From 87fb4d9ea774bc7fd69076947925fac01e68f60b Mon Sep 17 00:00:00 2001 From: Abdellah El Morabit Date: Wed, 12 Feb 2025 11:54:25 +0100 Subject: removed a couple of files from the directory --- APU.pdf | 833199 -------------------- cmake-build-debug/CMakeFiles/clion-Debug-log.txt | 1 - 2 files changed, 833200 deletions(-) delete mode 100644 APU.pdf delete mode 100644 cmake-build-debug/CMakeFiles/clion-Debug-log.txt diff --git a/APU.pdf b/APU.pdf deleted file mode 100644 index 7df32cc..0000000 --- a/APU.pdf +++ /dev/null @@ -1,833199 +0,0 @@ -%PDF-1.6 -%μῦ - -1 0 obj -</Filter/Standard/EncryptMetadata true/O<747FCA219060AF799A54AA06BF9DD25064479E8FEFDC466ED1E71A68D1B95ABC>>> -endobj - -2 0 obj -<> -endobj - -3 0 obj -</Universal#20PDF(The process that creates this PDF constitutes a trade secret of codeMantra, LLC and is protected by the copyright laws of the United States)/Subject<>/Creator(Quite Imposing 1.5d \(EN\))/codeMantra,#20LLC(http://www.codemantra.com)/Producer(PDFKit.NET 4.0.12.0)>> -endobj - -4 0 obj -<> -endobj - -5 0 obj -<> -endobj - -6 0 obj -<> -endobj - -7 0 obj -<> -endobj - -8 0 obj -<> -endobj - -9 0 obj -<> -endobj - -10 0 obj -<> -endobj - -11 0 obj -<> -endobj - -12 0 obj -<> -endobj - -13 0 obj -<> -endobj - -14 0 obj -<> -endobj - -15 0 obj -[358 0 R/XYZ 50 757 1] -endobj - -16 0 obj -[361 0 R/XYZ 50 757 1] -endobj - -17 0 obj -[366 0 R/XYZ 50 757 1] -endobj - -18 0 obj -[371 0 R/XYZ 50 757 1] -endobj - -19 0 obj -[378 0 R/XYZ 50 757 1] -endobj - -20 0 obj -[378 0 R/XYZ 50 725 1] -endobj - -21 0 obj -[378 0 R/XYZ 50 528 1] -endobj - -22 0 obj -[380 0 R/XYZ 50 528 1] -endobj - -23 0 obj -[383 0 R/XYZ 50 757 1] -endobj - -24 0 obj -[388 0 R/XYZ 50 757 1] -endobj - -25 0 obj -[391 0 R/XYZ 50 528 1] -endobj - -26 0 obj -[396 0 R/XYZ 50 757 1] -endobj - -27 0 obj -[399 0 R/XYZ 50 528 1] -endobj - -28 0 obj -[402 0 R/XYZ 50 757 1] -endobj - -29 0 obj -[405 0 R/XYZ 50 757 1] -endobj - -30 0 obj -[407 0 R/XYZ 50 757 1] -endobj - -31 0 obj -[410 0 R/XYZ 50 528 1] -endobj - -32 0 obj -[416 0 R/XYZ 50 757 1] -endobj - -33 0 obj -[416 0 R/XYZ 50 725 1] -endobj - -34 0 obj -<> -endobj - -35 0 obj -[416 0 R/XYZ 50 560 1] -endobj - -36 0 obj -[416 0 R/XYZ 50 528 1] -endobj - -37 0 obj -[418 0 R/XYZ 50 528 1] -endobj - -38 0 obj -[423 0 R/XYZ 50 528 1] -endobj - -39 0 obj -[426 0 R/XYZ 50 528 1] -endobj - -40 0 obj -[429 0 R/XYZ 50 757 1] -endobj - -41 0 obj -[429 0 R/XYZ 50 528 1] -endobj - -42 0 obj -[432 0 R/XYZ 50 757 1] -endobj - -43 0 obj -[432 0 R/XYZ 50 528 1] -endobj - -44 0 obj -[437 0 R/XYZ 50 757 1] -endobj - -45 0 obj -[437 0 R/XYZ 50 725 1] -endobj - -46 0 obj -[437 0 R/XYZ 50 560 1] -endobj - -47 0 obj -[437 0 R/XYZ 50 528 1] -endobj - -48 0 obj -[440 0 R/XYZ 50 757 1] -endobj - -49 0 obj -[440 0 R/XYZ 50 528 1] -endobj - -50 0 obj -[442 0 R/XYZ 50 528 1] -endobj - -51 0 obj -[444 0 R/XYZ 50 528 1] -endobj - -52 0 obj -[448 0 R/XYZ 50 528 1] -endobj - -53 0 obj -[450 0 R/XYZ 50 757 1] -endobj - -54 0 obj -[458 0 R/XYZ 50 528 1] -endobj - -55 0 obj -[463 0 R/XYZ 50 528 1] -endobj - -56 0 obj -[468 0 R/XYZ 50 528 1] -endobj - -57 0 obj -[471 0 R/XYZ 50 757 1] -endobj - -58 0 obj -[471 0 R/XYZ 50 528 1] -endobj - -59 0 obj -[474 0 R/XYZ 50 757 1] -endobj - -60 0 obj -[478 0 R/XYZ 50 757 1] -endobj - -61 0 obj -[478 0 R/XYZ 50 725 1] -endobj - -62 0 obj -[478 0 R/XYZ 50 528 1] -endobj - -63 0 obj -[480 0 R/XYZ 50 757 1] -endobj - -64 0 obj -[487 0 R/XYZ 50 757 1] -endobj - -65 0 obj -[487 0 R/XYZ 50 560 1] -endobj - -66 0 obj -[487 0 R/XYZ 50 528 1] -endobj - -67 0 obj -[493 0 R/XYZ 50 757 1] -endobj - -68 0 obj -[496 0 R/XYZ 50 757 1] -endobj - -69 0 obj -[496 0 R/XYZ 50 528 1] -endobj - -70 0 obj -[499 0 R/XYZ 50 757 1] -endobj - -71 0 obj -[503 0 R/XYZ 50 528 1] -endobj - -72 0 obj -[506 0 R/XYZ 50 528 1] -endobj - -73 0 obj -[509 0 R/XYZ 50 757 1] -endobj - -74 0 obj -[511 0 R/XYZ 50 757 1] -endobj - -75 0 obj -<> -endobj - -76 0 obj -[517 0 R/XYZ 50 528 1] -endobj - -77 0 obj -[519 0 R/XYZ 50 528 1] -endobj - -78 0 obj -[522 0 R/XYZ 50 757 1] -endobj - -79 0 obj -[528 0 R/XYZ 50 757 1] -endobj - -80 0 obj -[528 0 R/XYZ 50 725 1] -endobj - -81 0 obj -[528 0 R/XYZ 50 528 1] -endobj - -82 0 obj -[531 0 R/XYZ 50 757 1] -endobj - -83 0 obj -[535 0 R/XYZ 50 757 1] -endobj - -84 0 obj -[537 0 R/XYZ 50 528 1] -endobj - -85 0 obj -[540 0 R/XYZ 50 528 1] -endobj - -86 0 obj -[542 0 R/XYZ 50 757 1] -endobj - -87 0 obj -[545 0 R/XYZ 50 757 1] -endobj - -88 0 obj -[548 0 R/XYZ 50 757 1] -endobj - -89 0 obj -[551 0 R/XYZ 50 528 1] -endobj - -90 0 obj -[553 0 R/XYZ 50 528 1] -endobj - -91 0 obj -[556 0 R/XYZ 50 757 1] -endobj - -92 0 obj -[558 0 R/XYZ 50 528 1] -endobj - -93 0 obj -[560 0 R/XYZ 50 757 1] -endobj - -94 0 obj -[564 0 R/XYZ 50 757 1] -endobj - -95 0 obj -[568 0 R/XYZ 50 757 1] -endobj - -96 0 obj -[570 0 R/XYZ 50 528 1] -endobj - -97 0 obj -[574 0 R/XYZ 50 757 1] -endobj - -98 0 obj -[576 0 R/XYZ 50 757 1] -endobj - -99 0 obj -[579 0 R/XYZ 50 757 1] -endobj - -100 0 obj -[583 0 R/XYZ 50 757 1] -endobj - -101 0 obj -[585 0 R/XYZ 50 757 1] -endobj - -102 0 obj -[591 0 R/XYZ 50 757 1] -endobj - -103 0 obj -[594 0 R/XYZ 50 528 1] -endobj - -104 0 obj -[599 0 R/XYZ 50 757 1] -endobj - -105 0 obj -[599 0 R/XYZ 50 528 1] -endobj - -106 0 obj -[605 0 R/XYZ 50 757 1] -endobj - -107 0 obj -[605 0 R/XYZ 50 725 1] -endobj - -108 0 obj -[605 0 R/XYZ 50 528 1] -endobj - -109 0 obj -[609 0 R/XYZ 50 757 1] -endobj - -110 0 obj -[609 0 R/XYZ 50 725 1] -endobj - -111 0 obj -[613 0 R/XYZ 50 757 1] -endobj - -112 0 obj -<> -endobj - -113 0 obj -[616 0 R/XYZ 50 757 1] -endobj - -114 0 obj -[619 0 R/XYZ 50 528 1] -endobj - -115 0 obj -[621 0 R/XYZ 50 528 1] -endobj - -116 0 obj -[625 0 R/XYZ 50 757 1] -endobj - -117 0 obj -[627 0 R/XYZ 50 528 1] -endobj - -118 0 obj -[630 0 R/XYZ 50 757 1] -endobj - -119 0 obj -[636 0 R/XYZ 50 757 1] -endobj - -120 0 obj -[640 0 R/XYZ 50 528 1] -endobj - -121 0 obj -[645 0 R/XYZ 50 757 1] -endobj - -122 0 obj -[649 0 R/XYZ 50 528 1] -endobj - -123 0 obj -[651 0 R/XYZ 50 757 1] -endobj - -124 0 obj -[656 0 R/XYZ 50 757 1] -endobj - -125 0 obj -[656 0 R/XYZ 50 725 1] -endobj - -126 0 obj -[656 0 R/XYZ 50 528 1] -endobj - -127 0 obj -[661 0 R/XYZ 50 757 1] -endobj - -128 0 obj -[663 0 R/XYZ 50 528 1] -endobj - -129 0 obj -[665 0 R/XYZ 50 528 1] -endobj - -130 0 obj -[667 0 R/XYZ 50 528 1] -endobj - -131 0 obj -[669 0 R/XYZ 50 528 1] -endobj - -132 0 obj -[671 0 R/XYZ 50 528 1] -endobj - -133 0 obj -[673 0 R/XYZ 50 528 1] -endobj - -134 0 obj -[676 0 R/XYZ 50 757 1] -endobj - -135 0 obj -[684 0 R/XYZ 50 757 1] -endobj - -136 0 obj -[688 0 R/XYZ 50 757 1] -endobj - -137 0 obj -[688 0 R/XYZ 50 725 1] -endobj - -138 0 obj -[688 0 R/XYZ 50 528 1] -endobj - -139 0 obj -[690 0 R/XYZ 50 757 1] -endobj - -140 0 obj -[697 0 R/XYZ 50 757 1] -endobj - -141 0 obj -[697 0 R/XYZ 50 528 1] -endobj - -142 0 obj -[699 0 R/XYZ 50 528 1] -endobj - -143 0 obj -[702 0 R/XYZ 50 528 1] -endobj - -144 0 obj -[704 0 R/XYZ 50 757 1] -endobj - -145 0 obj -[708 0 R/XYZ 50 528 1] -endobj - -146 0 obj -[712 0 R/XYZ 50 528 1] -endobj - -147 0 obj -[720 0 R/XYZ 50 528 1] -endobj - -148 0 obj -[726 0 R/XYZ 50 528 1] -endobj - -149 0 obj -[731 0 R/XYZ 50 757 1] -endobj - -150 0 obj -[731 0 R/XYZ 50 725 1] -endobj - -151 0 obj -<> -endobj - -152 0 obj -[731 0 R/XYZ 50 528 1] -endobj - -153 0 obj -[734 0 R/XYZ 50 757 1] -endobj - -154 0 obj -[740 0 R/XYZ 50 757 1] -endobj - -155 0 obj -[743 0 R/XYZ 50 757 1] -endobj - -156 0 obj -[746 0 R/XYZ 50 757 1] -endobj - -157 0 obj -[753 0 R/XYZ 50 757 1] -endobj - -158 0 obj -[756 0 R/XYZ 50 757 1] -endobj - -159 0 obj -[756 0 R/XYZ 50 528 1] -endobj - -160 0 obj -[761 0 R/XYZ 50 757 1] -endobj - -161 0 obj -[768 0 R/XYZ 50 528 1] -endobj - -162 0 obj -[774 0 R/XYZ 50 528 1] -endobj - -163 0 obj -[779 0 R/XYZ 50 528 1] -endobj - -164 0 obj -[785 0 R/XYZ 50 757 1] -endobj - -165 0 obj -[792 0 R/XYZ 50 528 1] -endobj - -166 0 obj -[794 0 R/XYZ 50 757 1] -endobj - -167 0 obj -[799 0 R/XYZ 50 757 1] -endobj - -168 0 obj -[802 0 R/XYZ 50 528 1] -endobj - -169 0 obj -[808 0 R/XYZ 50 757 1] -endobj - -170 0 obj -[808 0 R/XYZ 50 725 1] -endobj - -171 0 obj -[808 0 R/XYZ 50 528 1] -endobj - -172 0 obj -[814 0 R/XYZ 50 528 1] -endobj - -173 0 obj -[818 0 R/XYZ 50 528 1] -endobj - -174 0 obj -[821 0 R/XYZ 50 757 1] -endobj - -175 0 obj -[823 0 R/XYZ 50 528 1] -endobj - -176 0 obj -[826 0 R/XYZ 50 528 1] -endobj - -177 0 obj -[828 0 R/XYZ 50 757 1] -endobj - -178 0 obj -[833 0 R/XYZ 50 757 1] -endobj - -179 0 obj -[838 0 R/XYZ 50 757 1] -endobj - -180 0 obj -[842 0 R/XYZ 50 757 1] -endobj - -181 0 obj -[845 0 R/XYZ 50 757 1] -endobj - -182 0 obj -[849 0 R/XYZ 50 757 1] -endobj - -183 0 obj -[849 0 R/XYZ 50 725 1] -endobj - -184 0 obj -[849 0 R/XYZ 50 528 1] -endobj - -185 0 obj -[860 0 R/XYZ 50 757 1] -endobj - -186 0 obj -[864 0 R/XYZ 50 757 1] -endobj - -187 0 obj -[866 0 R/XYZ 50 528 1] -endobj - -188 0 obj -[870 0 R/XYZ 50 757 1] -endobj - -189 0 obj -[873 0 R/XYZ 50 528 1] -endobj - -190 0 obj -<> -endobj - -191 0 obj -[877 0 R/XYZ 50 528 1] -endobj - -192 0 obj -[879 0 R/XYZ 50 528 1] -endobj - -193 0 obj -[882 0 R/XYZ 50 757 1] -endobj - -194 0 obj -[889 0 R/XYZ 50 757 1] -endobj - -195 0 obj -[892 0 R/XYZ 50 757 1] -endobj - -196 0 obj -[894 0 R/XYZ 50 528 1] -endobj - -197 0 obj -[897 0 R/XYZ 50 528 1] -endobj - -198 0 obj -[904 0 R/XYZ 50 528 1] -endobj - -199 0 obj -[909 0 R/XYZ 50 757 1] -endobj - -200 0 obj -[916 0 R/XYZ 50 757 1] -endobj - -201 0 obj -[919 0 R/XYZ 50 757 1] -endobj - -202 0 obj -[926 0 R/XYZ 50 757 1] -endobj - -203 0 obj -[930 0 R/XYZ 50 757 1] -endobj - -204 0 obj -[932 0 R/XYZ 50 757 1] -endobj - -205 0 obj -[935 0 R/XYZ 50 757 1] -endobj - -206 0 obj -[938 0 R/XYZ 50 757 1] -endobj - -207 0 obj -[943 0 R/XYZ 50 757 1] -endobj - -208 0 obj -[943 0 R/XYZ 50 725 1] -endobj - -209 0 obj -[943 0 R/XYZ 50 528 1] -endobj - -210 0 obj -[945 0 R/XYZ 50 528 1] -endobj - -211 0 obj -[947 0 R/XYZ 50 528 1] -endobj - -212 0 obj -[951 0 R/XYZ 50 528 1] -endobj - -213 0 obj -[961 0 R/XYZ 50 757 1] -endobj - -214 0 obj -[964 0 R/XYZ 50 528 1] -endobj - -215 0 obj -[968 0 R/XYZ 50 757 1] -endobj - -216 0 obj -[974 0 R/XYZ 50 528 1] -endobj - -217 0 obj -[977 0 R/XYZ 50 757 1] -endobj - -218 0 obj -[983 0 R/XYZ 50 757 1] -endobj - -219 0 obj -[983 0 R/XYZ 50 528 1] -endobj - -220 0 obj -[988 0 R/XYZ 50 757 1] -endobj - -221 0 obj -[990 0 R/XYZ 50 528 1] -endobj - -222 0 obj -[995 0 R/XYZ 50 757 1] -endobj - -223 0 obj -[1001 0 R/XYZ 50 757 1] -endobj - -224 0 obj -[1001 0 R/XYZ 50 725 1] -endobj - -225 0 obj -[1001 0 R/XYZ 50 528 1] -endobj - -226 0 obj -[1003 0 R/XYZ 50 528 1] -endobj - -227 0 obj -[1009 0 R/XYZ 50 560 1] -endobj - -228 0 obj -[1009 0 R/XYZ 50 528 1] -endobj - -229 0 obj -<> -endobj - -230 0 obj -[1019 0 R/XYZ 50 528 1] -endobj - -231 0 obj -[1021 0 R/XYZ 50 757 1] -endobj - -232 0 obj -[1023 0 R/XYZ 50 757 1] -endobj - -233 0 obj -[1025 0 R/XYZ 50 757 1] -endobj - -234 0 obj -[1030 0 R/XYZ 50 528 1] -endobj - -235 0 obj -[1036 0 R/XYZ 50 757 1] -endobj - -236 0 obj -[1039 0 R/XYZ 50 528 1] -endobj - -237 0 obj -[1044 0 R/XYZ 50 757 1] -endobj - -238 0 obj -[1049 0 R/XYZ 50 528 1] -endobj - -239 0 obj -[1051 0 R/XYZ 50 757 1] -endobj - -240 0 obj -[1055 0 R/XYZ 50 757 1] -endobj - -241 0 obj -[1055 0 R/XYZ 50 725 1] -endobj - -242 0 obj -[1055 0 R/XYZ 50 528 1] -endobj - -243 0 obj -[1059 0 R/XYZ 50 757 1] -endobj - -244 0 obj -[1063 0 R/XYZ 50 757 1] -endobj - -245 0 obj -[1068 0 R/XYZ 50 757 1] -endobj - -246 0 obj -[1070 0 R/XYZ 50 528 1] -endobj - -247 0 obj -[1076 0 R/XYZ 50 757 1] -endobj - -248 0 obj -[1078 0 R/XYZ 50 757 1] -endobj - -249 0 obj -[1082 0 R/XYZ 50 757 1] -endobj - -250 0 obj -[1082 0 R/XYZ 50 725 1] -endobj - -251 0 obj -[1082 0 R/XYZ 50 528 1] -endobj - -252 0 obj -[1087 0 R/XYZ 50 757 1] -endobj - -253 0 obj -[1103 0 R/XYZ 50 757 1] -endobj - -254 0 obj -[1106 0 R/XYZ 50 757 1] -endobj - -255 0 obj -[1111 0 R/XYZ 50 528 1] -endobj - -256 0 obj -[1115 0 R/XYZ 50 757 1] -endobj - -257 0 obj -[1118 0 R/XYZ 50 757 1] -endobj - -258 0 obj -[1118 0 R/XYZ 50 528 1] -endobj - -259 0 obj -[1120 0 R/XYZ 50 757 1] -endobj - -260 0 obj -[1131 0 R/XYZ 50 757 1] -endobj - -261 0 obj -[1134 0 R/XYZ 50 757 1] -endobj - -262 0 obj -[1137 0 R/XYZ 50 757 1] -endobj - -263 0 obj -[1144 0 R/XYZ 50 528 1] -endobj - -264 0 obj -[1148 0 R/XYZ 50 757 1] -endobj - -265 0 obj -[1148 0 R/XYZ 50 725 1] -endobj - -266 0 obj -[1150 0 R/XYZ 50 528 1] -endobj - -267 0 obj -[1158 0 R/XYZ 50 757 1] -endobj - -268 0 obj -<> -endobj - -269 0 obj -[1166 0 R/XYZ 50 528 1] -endobj - -270 0 obj -[1171 0 R/XYZ 50 528 1] -endobj - -271 0 obj -[1177 0 R/XYZ 50 560 1] -endobj - -272 0 obj -[1177 0 R/XYZ 50 528 1] -endobj - -273 0 obj -[1180 0 R/XYZ 50 528 1] -endobj - -274 0 obj -[1183 0 R/XYZ 50 757 1] -endobj - -275 0 obj -[1183 0 R/XYZ 50 528 1] -endobj - -276 0 obj -[1186 0 R/XYZ 50 757 1] -endobj - -277 0 obj -[1191 0 R/XYZ 50 528 1] -endobj - -278 0 obj -[1198 0 R/XYZ 50 528 1] -endobj - -279 0 obj -[1207 0 R/XYZ 50 757 1] -endobj - -280 0 obj -[1214 0 R/XYZ 50 757 1] -endobj - -281 0 obj -[1217 0 R/XYZ 50 757 1] -endobj - -282 0 obj -[1221 0 R/XYZ 50 757 1] -endobj - -283 0 obj -[1221 0 R/XYZ 50 725 1] -endobj - -284 0 obj -[1223 0 R/XYZ 50 757 1] -endobj - -285 0 obj -[1228 0 R/XYZ 50 757 1] -endobj - -286 0 obj -[1228 0 R/XYZ 50 528 1] -endobj - -287 0 obj -[1231 0 R/XYZ 50 757 1] -endobj - -288 0 obj -[1234 0 R/XYZ 50 757 1] -endobj - -289 0 obj -[1242 0 R/XYZ 50 528 1] -endobj - -290 0 obj -[1244 0 R/XYZ 50 528 1] -endobj - -291 0 obj -[1250 0 R/XYZ 50 757 1] -endobj - -292 0 obj -[1264 0 R/XYZ 50 528 1] -endobj - -293 0 obj -[1268 0 R/XYZ 50 757 1] -endobj - -294 0 obj -[1270 0 R/XYZ 50 757 1] -endobj - -295 0 obj -[1272 0 R/XYZ 50 757 1] -endobj - -296 0 obj -[1276 0 R/XYZ 50 757 1] -endobj - -297 0 obj -[1276 0 R/XYZ 50 725 1] -endobj - -298 0 obj -[1276 0 R/XYZ 50 528 1] -endobj - -299 0 obj -[1282 0 R/XYZ 50 757 1] -endobj - -300 0 obj -[1284 0 R/XYZ 50 528 1] -endobj - -301 0 obj -[1292 0 R/XYZ 50 757 1] -endobj - -302 0 obj -[1304 0 R/XYZ 50 757 1] -endobj - -303 0 obj -[1311 0 R/XYZ 50 757 1] -endobj - -304 0 obj -[1322 0 R/XYZ 50 528 1] -endobj - -305 0 obj -[1327 0 R/XYZ 50 757 1] -endobj - -306 0 obj -[1327 0 R/XYZ 50 725 1] -endobj - -307 0 obj -<> -endobj - -308 0 obj -[1327 0 R/XYZ 50 528 1] -endobj - -309 0 obj -[1335 0 R/XYZ 50 757 1] -endobj - -310 0 obj -[1342 0 R/XYZ 50 757 1] -endobj - -311 0 obj -[1342 0 R/XYZ 50 528 1] -endobj - -312 0 obj -[1351 0 R/XYZ 50 528 1] -endobj - -313 0 obj -[1353 0 R/XYZ 50 757 1] -endobj - -314 0 obj -[1355 0 R/XYZ 50 757 1] -endobj - -315 0 obj -[1357 0 R/XYZ 50 757 1] -endobj - -316 0 obj -[1364 0 R/XYZ 50 757 1] -endobj - -317 0 obj -[1368 0 R/XYZ 50 757 1] -endobj - -318 0 obj -[1376 0 R/XYZ 50 528 1] -endobj - -319 0 obj -[1379 0 R/XYZ 50 757 1] -endobj - -320 0 obj -[1381 0 R/XYZ 50 757 1] -endobj - -321 0 obj -[1386 0 R/XYZ 50 757 1] -endobj - -322 0 obj -[1386 0 R/XYZ 50 725 1] -endobj - -323 0 obj -[1386 0 R/XYZ 50 528 1] -endobj - -324 0 obj -[1394 0 R/XYZ 50 528 1] -endobj - -325 0 obj -[1399 0 R/XYZ 50 528 1] -endobj - -326 0 obj -[1403 0 R/XYZ 50 757 1] -endobj - -327 0 obj -[1408 0 R/XYZ 50 528 1] -endobj - -328 0 obj -[1416 0 R/XYZ 50 528 1] -endobj - -329 0 obj -[1418 0 R/XYZ 50 528 1] -endobj - -330 0 obj -[1423 0 R/XYZ 50 757 1] -endobj - -331 0 obj -[1423 0 R/XYZ 50 725 1] -endobj - -332 0 obj -[1423 0 R/XYZ 50 528 1] -endobj - -333 0 obj -[1425 0 R/XYZ 50 528 1] -endobj - -334 0 obj -[1428 0 R/XYZ 50 528 1] -endobj - -335 0 obj -[1433 0 R/XYZ 50 757 1] -endobj - -336 0 obj -[1436 0 R/XYZ 50 757 1] -endobj - -337 0 obj -[1439 0 R/XYZ 50 757 1] -endobj - -338 0 obj -[1439 0 R/XYZ 50 528 1] -endobj - -339 0 obj -[1468 0 R/XYZ 50 528 1] -endobj - -340 0 obj -[1474 0 R/XYZ 50 528 1] -endobj - -341 0 obj -[1480 0 R/XYZ 50 757 1] -endobj - -342 0 obj -[1480 0 R/XYZ 50 725 1] -endobj - -343 0 obj -[1480 0 R/XYZ 50 528 1] -endobj - -344 0 obj -[1484 0 R/XYZ 50 528 1] -endobj - -345 0 obj -[1486 0 R/XYZ 50 528 1] -endobj - -346 0 obj -<> -endobj - -347 0 obj -[1489 0 R/XYZ 50 528 1] -endobj - -348 0 obj -[1538 0 R/XYZ 50 757 1] -endobj - -349 0 obj -[1541 0 R/XYZ 50 757 1] -endobj - -350 0 obj -[1593 0 R/XYZ 50 757 1] -endobj - -351 0 obj -[1593 0 R/XYZ 50 725 1] -endobj - -352 0 obj -[1597 0 R/XYZ 50 528 1] -endobj - -353 0 obj -[1605 0 R/XYZ 50 757 1] -endobj - -354 0 obj -[1648 0 R/XYZ 50 757 1] -endobj - -355 0 obj -[1812 0 R/XYZ 50 757 1] -endobj - -356 0 obj -<> -endobj - -357 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -358 0 obj -<> -endobj - -359 0 obj -<> -endobj - -360 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -361 0 obj -<> -endobj - -362 0 obj -<> -endobj - -363 0 obj -<> -endobj - -364 0 obj -<> -endobj - -365 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -366 0 obj -<> -endobj - -367 0 obj -<> -endobj - -368 0 obj -<> -endobj - -369 0 obj -<> -endobj - -370 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -371 0 obj -<> -endobj - -372 0 obj -<> -endobj - -373 0 obj -<> -endobj - -374 0 obj -<> -endobj - -375 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -376 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -377 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -378 0 obj -<> -endobj - -379 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -380 0 obj -<> -endobj - -381 0 obj -<> -endobj - -382 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -383 0 obj -<> -endobj - -384 0 obj -<> -endobj - -385 0 obj -<> -endobj - -386 0 obj -<> -endobj - -387 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -388 0 obj -<> -endobj - -389 0 obj -<> -endobj - -390 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -391 0 obj -<> -endobj - -392 0 obj -<> -endobj - -393 0 obj -<> -endobj - -394 0 obj -<> -endobj - -395 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -396 0 obj -<> -endobj - -397 0 obj -<> -endobj - -398 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -399 0 obj -<> -endobj - -400 0 obj -<> -endobj - -401 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -402 0 obj -<> -endobj - -403 0 obj -<> -endobj - -404 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -405 0 obj -<> -endobj - -406 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -407 0 obj -<> -endobj - -408 0 obj -<> -endobj - -409 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -410 0 obj -<> -endobj - -411 0 obj -<> -endobj - -412 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -413 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -414 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -415 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -416 0 obj -<> -endobj - -417 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -418 0 obj -<> -endobj - -419 0 obj -<> -endobj - -420 0 obj -<> -endobj - -421 0 obj -<> -endobj - -422 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -423 0 obj -<> -endobj - -424 0 obj -<> -endobj - -425 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -426 0 obj -<> -endobj - -427 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -428 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -429 0 obj -<> -endobj - -430 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -431 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -432 0 obj -<> -endobj - -433 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -434 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -435 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -436 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -437 0 obj -<> -endobj - -438 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -439 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -440 0 obj -<> -endobj - -441 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -442 0 obj -<> -endobj - -443 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -444 0 obj -<> -endobj - -445 0 obj -<> -endobj - -446 0 obj -<> -endobj - -447 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -448 0 obj -<> -endobj - -449 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -450 0 obj -<> -endobj - -451 0 obj -<> -endobj - -452 0 obj -<> -endobj - -453 0 obj -<> -endobj - -454 0 obj -<> -endobj - -455 0 obj -<> -endobj - -456 0 obj -<> -endobj - -457 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -458 0 obj -<> -endobj - -459 0 obj -<> -endobj - -460 0 obj -<> -endobj - -461 0 obj -<> -endobj - -462 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -463 0 obj -<> -endobj - -464 0 obj -<> -endobj - -465 0 obj -<> -endobj - -466 0 obj -<> -endobj - -467 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -468 0 obj -<> -endobj - -469 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -470 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -471 0 obj -<> -endobj - -472 0 obj -<> -endobj - -473 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -474 0 obj -<> -endobj - -475 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -476 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -477 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -478 0 obj -<> -endobj - -479 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -480 0 obj -<> -endobj - -481 0 obj -<> -endobj - -482 0 obj -<> -endobj - -483 0 obj -<> -endobj - -484 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -485 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -486 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -487 0 obj -<> -endobj - -488 0 obj -<> -endobj - -489 0 obj -<> -endobj - -490 0 obj -<> -endobj - -491 0 obj -<> -endobj - -492 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -493 0 obj -<> -endobj - -494 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -495 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -496 0 obj -<> -endobj - -497 0 obj -<> -endobj - -498 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -499 0 obj -<> -endobj - -500 0 obj -<> -endobj - -501 0 obj -<> -endobj - -502 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -503 0 obj -<> -endobj - -504 0 obj -<> -endobj - -505 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -506 0 obj -<> -endobj - -507 0 obj -<> -endobj - -508 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -509 0 obj -<> -endobj - -510 0 obj -[75 0 R/XYZ 50 757 1] -endobj - -511 0 obj -<> -endobj - -512 0 obj -<> -endobj - -513 0 obj -<> -endobj - -514 0 obj -<> -endobj - -515 0 obj -<> -endobj - -516 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -517 0 obj -<> -endobj - -518 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -519 0 obj -<> -endobj - -520 0 obj -<> -endobj - -521 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -522 0 obj -<> -endobj - -523 0 obj -<> -endobj - -524 0 obj -<> -endobj - -525 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -526 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -527 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -528 0 obj -<> -endobj - -529 0 obj -<> -endobj - -530 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -531 0 obj -<> -endobj - -532 0 obj -<> -endobj - -533 0 obj -<> -endobj - -534 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -535 0 obj -<> -endobj - -536 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -537 0 obj -<> -endobj - -538 0 obj -<> -endobj - -539 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -540 0 obj -<> -endobj - -541 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -542 0 obj -<> -endobj - -543 0 obj -<> -endobj - -544 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -545 0 obj -<> -endobj - -546 0 obj -<> -endobj - -547 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -548 0 obj -<> -endobj - -549 0 obj -<> -endobj - -550 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -551 0 obj -<> -endobj - -552 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -553 0 obj -<> -endobj - -554 0 obj -<> -endobj - -555 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -556 0 obj -<> -endobj - -557 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -558 0 obj -<> -endobj - -559 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -560 0 obj -<> -endobj - -561 0 obj -<> -endobj - -562 0 obj -<> -endobj - -563 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -564 0 obj -<> -endobj - -565 0 obj -<> -endobj - -566 0 obj -<> -endobj - -567 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -568 0 obj -<> -endobj - -569 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -570 0 obj -<> -endobj - -571 0 obj -<> -endobj - -572 0 obj -<> -endobj - -573 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -574 0 obj -<> -endobj - -575 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -576 0 obj -<> -endobj - -577 0 obj -<> -endobj - -578 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -579 0 obj -<> -endobj - -580 0 obj -<> -endobj - -581 0 obj -<> -endobj - -582 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -583 0 obj -<> -endobj - -584 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -585 0 obj -<> -endobj - -586 0 obj -<> -endobj - -587 0 obj -<> -endobj - -588 0 obj -<> -endobj - -589 0 obj -<> -endobj - -590 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -591 0 obj -<> -endobj - -592 0 obj -<> -endobj - -593 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -594 0 obj -<> -endobj - -595 0 obj -<> -endobj - -596 0 obj -<> -endobj - -597 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -598 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -599 0 obj -<> -endobj - -600 0 obj -<> -endobj - -601 0 obj -<> -endobj - -602 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -603 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -604 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -605 0 obj -<> -endobj - -606 0 obj -<> -endobj - -607 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -608 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -609 0 obj -<> -endobj - -610 0 obj -<> -endobj - -611 0 obj -<> -endobj - -612 0 obj -[112 0 R/XYZ 50 757 1] -endobj - -613 0 obj -<> -endobj - -614 0 obj -<> -endobj - -615 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -616 0 obj -<> -endobj - -617 0 obj -<> -endobj - -618 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -619 0 obj -<> -endobj - -620 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -621 0 obj -<> -endobj - -622 0 obj -<> -endobj - -623 0 obj -<> -endobj - -624 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -625 0 obj -<> -endobj - -626 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -627 0 obj -<> -endobj - -628 0 obj -<> -endobj - -629 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -630 0 obj -<> -endobj - -631 0 obj -<> -endobj - -632 0 obj -<> -endobj - -633 0 obj -<> -endobj - -634 0 obj -<> -endobj - -635 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -636 0 obj -<> -endobj - -637 0 obj -<> -endobj - -638 0 obj -<> -endobj - -639 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -640 0 obj -<> -endobj - -641 0 obj -<> -endobj - -642 0 obj -<> -endobj - -643 0 obj -<> -endobj - -644 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -645 0 obj -<> -endobj - -646 0 obj -<> -endobj - -647 0 obj -<> -endobj - -648 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -649 0 obj -<> -endobj - -650 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -651 0 obj -<> -endobj - -652 0 obj -<> -endobj - -653 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -654 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -655 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -656 0 obj -<> -endobj - -657 0 obj -<> -endobj - -658 0 obj -<> -endobj - -659 0 obj -<> -endobj - -660 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -661 0 obj -<> -endobj - -662 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -663 0 obj -<> -endobj - -664 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -665 0 obj -<> -endobj - -666 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -667 0 obj -<> -endobj - -668 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -669 0 obj -<> -endobj - -670 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -671 0 obj -<> -endobj - -672 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -673 0 obj -<> -endobj - -674 0 obj -<> -endobj - -675 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -676 0 obj -<> -endobj - -677 0 obj -<> -endobj - -678 0 obj -<> -endobj - -679 0 obj -<> -endobj - -680 0 obj -<> -endobj - -681 0 obj -<> -endobj - -682 0 obj -<> -endobj - -683 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -684 0 obj -<> -endobj - -685 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -686 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -687 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -688 0 obj -<> -endobj - -689 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -690 0 obj -<> -endobj - -691 0 obj -<> -endobj - -692 0 obj -<> -endobj - -693 0 obj -<> -endobj - -694 0 obj -<> -endobj - -695 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -696 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -697 0 obj -<> -endobj - -698 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -699 0 obj -<> -endobj - -700 0 obj -<> -endobj - -701 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -702 0 obj -<> -endobj - -703 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -704 0 obj -<> -endobj - -705 0 obj -<> -endobj - -706 0 obj -<> -endobj - -707 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -708 0 obj -<> -endobj - -709 0 obj -<> -endobj - -710 0 obj -<> -endobj - -711 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -712 0 obj -<> -endobj - -713 0 obj -<> -endobj - -714 0 obj -<> -endobj - -715 0 obj -<> -endobj - -716 0 obj -<> -endobj - -717 0 obj -<> -endobj - -718 0 obj -<> -endobj - -719 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -720 0 obj -<> -endobj - -721 0 obj -<> -endobj - -722 0 obj -<> -endobj - -723 0 obj -<> -endobj - -724 0 obj -<> -endobj - -725 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -726 0 obj -<> -endobj - -727 0 obj -<> -endobj - -728 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -729 0 obj -[151 0 R/XYZ 50 757 1] -endobj - -730 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -731 0 obj -<> -endobj - -732 0 obj -<> -endobj - -733 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -734 0 obj -<> -endobj - -735 0 obj -<> -endobj - -736 0 obj -<> -endobj - -737 0 obj -<> -endobj - -738 0 obj -<> -endobj - -739 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -740 0 obj -<> -endobj - -741 0 obj -<> -endobj - -742 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -743 0 obj -<> -endobj - -744 0 obj -<> -endobj - -745 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -746 0 obj -<> -endobj - -747 0 obj -<> -endobj - -748 0 obj -<> -endobj - -749 0 obj -<> -endobj - -750 0 obj -<> -endobj - -751 0 obj -<> -endobj - -752 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -753 0 obj -<> -endobj - -754 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -755 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -756 0 obj -<> -endobj - -757 0 obj -<> -endobj - -758 0 obj -<> -endobj - -759 0 obj -<> -endobj - -760 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -761 0 obj -<> -endobj - -762 0 obj -<> -endobj - -763 0 obj -<> -endobj - -764 0 obj -<> -endobj - -765 0 obj -<> -endobj - -766 0 obj -<> -endobj - -767 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -768 0 obj -<> -endobj - -769 0 obj -<> -endobj - -770 0 obj -<> -endobj - -771 0 obj -<> -endobj - -772 0 obj -<> -endobj - -773 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -774 0 obj -<> -endobj - -775 0 obj -<> -endobj - -776 0 obj -<> -endobj - -777 0 obj -<> -endobj - -778 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -779 0 obj -<> -endobj - -780 0 obj -<> -endobj - -781 0 obj -<> -endobj - -782 0 obj -<> -endobj - -783 0 obj -<> -endobj - -784 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -785 0 obj -<> -endobj - -786 0 obj -<> -endobj - -787 0 obj -<> -endobj - -788 0 obj -<> -endobj - -789 0 obj -<> -endobj - -790 0 obj -<> -endobj - -791 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -792 0 obj -<> -endobj - -793 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -794 0 obj -<> -endobj - -795 0 obj -<> -endobj - -796 0 obj -<> -endobj - -797 0 obj -<> -endobj - -798 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -799 0 obj -<> -endobj - -800 0 obj -<> -endobj - -801 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -802 0 obj -<> -endobj - -803 0 obj -<> -endobj - -804 0 obj -<> -endobj - -805 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -806 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -807 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -808 0 obj -<> -endobj - -809 0 obj -<> -endobj - -810 0 obj -<> -endobj - -811 0 obj -<> -endobj - -812 0 obj -<> -endobj - -813 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -814 0 obj -<> -endobj - -815 0 obj -<> -endobj - -816 0 obj -<> -endobj - -817 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -818 0 obj -<> -endobj - -819 0 obj -<> -endobj - -820 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -821 0 obj -<> -endobj - -822 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -823 0 obj -<> -endobj - -824 0 obj -<> -endobj - -825 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -826 0 obj -<> -endobj - -827 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -828 0 obj -<> -endobj - -829 0 obj -<> -endobj - -830 0 obj -<> -endobj - -831 0 obj -<> -endobj - -832 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -833 0 obj -<> -endobj - -834 0 obj -<> -endobj - -835 0 obj -<> -endobj - -836 0 obj -<> -endobj - -837 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -838 0 obj -<> -endobj - -839 0 obj -<> -endobj - -840 0 obj -<> -endobj - -841 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -842 0 obj -<> -endobj - -843 0 obj -<> -endobj - -844 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -845 0 obj -<> -endobj - -846 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -847 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -848 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -849 0 obj -<> -endobj - -850 0 obj -<> -endobj - -851 0 obj -<> -endobj - -852 0 obj -<> -endobj - -853 0 obj -<> -endobj - -854 0 obj -<> -endobj - -855 0 obj -<> -endobj - -856 0 obj -<> -endobj - -857 0 obj -<> -endobj - -858 0 obj -<> -endobj - -859 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -860 0 obj -<> -endobj - -861 0 obj -<> -endobj - -862 0 obj -<> -endobj - -863 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -864 0 obj -<> -endobj - -865 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -866 0 obj -<> -endobj - -867 0 obj -<> -endobj - -868 0 obj -<> -endobj - -869 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -870 0 obj -<> -endobj - -871 0 obj -<> -endobj - -872 0 obj -[190 0 R/XYZ 50 757 1] -endobj - -873 0 obj -<> -endobj - -874 0 obj -<> -endobj - -875 0 obj -<> -endobj - -876 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -877 0 obj -<> -endobj - -878 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -879 0 obj -<> -endobj - -880 0 obj -<> -endobj - -881 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -882 0 obj -<> -endobj - -883 0 obj -<> -endobj - -884 0 obj -<> -endobj - -885 0 obj -<> -endobj - -886 0 obj -<> -endobj - -887 0 obj -<> -endobj - -888 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -889 0 obj -<> -endobj - -890 0 obj -<> -endobj - -891 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -892 0 obj -<> -endobj - -893 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -894 0 obj -<> -endobj - -895 0 obj -<> -endobj - -896 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -897 0 obj -<> -endobj - -898 0 obj -<> -endobj - -899 0 obj -<> -endobj - -900 0 obj -<> -endobj - -901 0 obj -<> -endobj - -902 0 obj -<> -endobj - -903 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -904 0 obj -<> -endobj - -905 0 obj -<> -endobj - -906 0 obj -<> -endobj - -907 0 obj -<> -endobj - -908 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -909 0 obj -<> -endobj - -910 0 obj -<> -endobj - -911 0 obj -<> -endobj - -912 0 obj -<> -endobj - -913 0 obj -<> -endobj - -914 0 obj -<> -endobj - -915 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -916 0 obj -<> -endobj - -917 0 obj -<> -endobj - -918 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -919 0 obj -<> -endobj - -920 0 obj -<> -endobj - -921 0 obj -<> -endobj - -922 0 obj -<> -endobj - -923 0 obj -<> -endobj - -924 0 obj -<> -endobj - -925 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -926 0 obj -<> -endobj - -927 0 obj -<> -endobj - -928 0 obj -<> -endobj - -929 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -930 0 obj -<> -endobj - -931 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -932 0 obj -<> -endobj - -933 0 obj -<> -endobj - -934 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -935 0 obj -<> -endobj - -936 0 obj -<> -endobj - -937 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -938 0 obj -<> -endobj - -939 0 obj -<> -endobj - -940 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -941 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -942 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -943 0 obj -<> -endobj - -944 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -945 0 obj -<> -endobj - -946 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -947 0 obj -<> -endobj - -948 0 obj -<> -endobj - -949 0 obj -<> -endobj - -950 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -951 0 obj -<> -endobj - -952 0 obj -<> -endobj - -953 0 obj -<> -endobj - -954 0 obj -<> -endobj - -955 0 obj -<> -endobj - -956 0 obj -<> -endobj - -957 0 obj -<> -endobj - -958 0 obj -<> -endobj - -959 0 obj -<> -endobj - -960 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -961 0 obj -<> -endobj - -962 0 obj -<> -endobj - -963 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -964 0 obj -<> -endobj - -965 0 obj -<> -endobj - -966 0 obj -<> -endobj - -967 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -968 0 obj -<> -endobj - -969 0 obj -<> -endobj - -970 0 obj -<> -endobj - -971 0 obj -<> -endobj - -972 0 obj -<> -endobj - -973 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -974 0 obj -<> -endobj - -975 0 obj -<> -endobj - -976 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -977 0 obj -<> -endobj - -978 0 obj -<> -endobj - -979 0 obj -<> -endobj - -980 0 obj -<> -endobj - -981 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -982 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -983 0 obj -<> -endobj - -984 0 obj -<> -endobj - -985 0 obj -<> -endobj - -986 0 obj -<> -endobj - -987 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -988 0 obj -<> -endobj - -989 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -990 0 obj -<> -endobj - -991 0 obj -<> -endobj - -992 0 obj -<> -endobj - -993 0 obj -<> -endobj - -994 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -995 0 obj -<> -endobj - -996 0 obj -<> -endobj - -997 0 obj -<> -endobj - -998 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -999 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -1000 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -1001 0 obj -<> -endobj - -1002 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -1003 0 obj -<> -endobj - -1004 0 obj -<> -endobj - -1005 0 obj -<> -endobj - -1006 0 obj -<> -endobj - -1007 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -1008 0 obj -[229 0 R/XYZ 50 757 1] -endobj - -1009 0 obj -<> -endobj - -1010 0 obj -<> -endobj - -1011 0 obj -<> -endobj - -1012 0 obj -<> -endobj - -1013 0 obj -<> -endobj - -1014 0 obj -<> -endobj - -1015 0 obj -<> -endobj - -1016 0 obj -<> -endobj - -1017 0 obj -<> -endobj - -1018 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1019 0 obj -<> -endobj - -1020 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1021 0 obj -<> -endobj - -1022 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1023 0 obj -<> -endobj - -1024 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1025 0 obj -<> -endobj - -1026 0 obj -<> -endobj - -1027 0 obj -<> -endobj - -1028 0 obj -<> -endobj - -1029 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1030 0 obj -<> -endobj - -1031 0 obj -<> -endobj - -1032 0 obj -<> -endobj - -1033 0 obj -<> -endobj - -1034 0 obj -<> -endobj - -1035 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1036 0 obj -<> -endobj - -1037 0 obj -<> -endobj - -1038 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1039 0 obj -<> -endobj - -1040 0 obj -<> -endobj - -1041 0 obj -<> -endobj - -1042 0 obj -<> -endobj - -1043 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1044 0 obj -<> -endobj - -1045 0 obj -<> -endobj - -1046 0 obj -<> -endobj - -1047 0 obj -<> -endobj - -1048 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1049 0 obj -<> -endobj - -1050 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1051 0 obj -<> -endobj - -1052 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1053 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1054 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1055 0 obj -<> -endobj - -1056 0 obj -<> -endobj - -1057 0 obj -<> -endobj - -1058 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1059 0 obj -<> -endobj - -1060 0 obj -<> -endobj - -1061 0 obj -<> -endobj - -1062 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1063 0 obj -<> -endobj - -1064 0 obj -<> -endobj - -1065 0 obj -<> -endobj - -1066 0 obj -<> -endobj - -1067 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1068 0 obj -<> -endobj - -1069 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1070 0 obj -<> -endobj - -1071 0 obj -<> -endobj - -1072 0 obj -<> -endobj - -1073 0 obj -<> -endobj - -1074 0 obj -<> -endobj - -1075 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1076 0 obj -<> -endobj - -1077 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1078 0 obj -<> -endobj - -1079 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1080 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1081 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1082 0 obj -<> -endobj - -1083 0 obj -<> -endobj - -1084 0 obj -<> -endobj - -1085 0 obj -<> -endobj - -1086 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1087 0 obj -<> -endobj - -1088 0 obj -<> -endobj - -1089 0 obj -<> -endobj - -1090 0 obj -<> -endobj - -1091 0 obj -<> -endobj - -1092 0 obj -<> -endobj - -1093 0 obj -<> -endobj - -1094 0 obj -<> -endobj - -1095 0 obj -<> -endobj - -1096 0 obj -<> -endobj - -1097 0 obj -<> -endobj - -1098 0 obj -<> -endobj - -1099 0 obj -<> -endobj - -1100 0 obj -<> -endobj - -1101 0 obj -<> -endobj - -1102 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1103 0 obj -<> -endobj - -1104 0 obj -<> -endobj - -1105 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1106 0 obj -<> -endobj - -1107 0 obj -<> -endobj - -1108 0 obj -<> -endobj - -1109 0 obj -<> -endobj - -1110 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1111 0 obj -<> -endobj - -1112 0 obj -<> -endobj - -1113 0 obj -<> -endobj - -1114 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1115 0 obj -<> -endobj - -1116 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1117 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1118 0 obj -<> -endobj - -1119 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1120 0 obj -<> -endobj - -1121 0 obj -<> -endobj - -1122 0 obj -<> -endobj - -1123 0 obj -<> -endobj - -1124 0 obj -<> -endobj - -1125 0 obj -<> -endobj - -1126 0 obj -<> -endobj - -1127 0 obj -<> -endobj - -1128 0 obj -<> -endobj - -1129 0 obj -<> -endobj - -1130 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1131 0 obj -<> -endobj - -1132 0 obj -<> -endobj - -1133 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1134 0 obj -<> -endobj - -1135 0 obj -<> -endobj - -1136 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1137 0 obj -<> -endobj - -1138 0 obj -<> -endobj - -1139 0 obj -<> -endobj - -1140 0 obj -<> -endobj - -1141 0 obj -<> -endobj - -1142 0 obj -<> -endobj - -1143 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1144 0 obj -<> -endobj - -1145 0 obj -<> -endobj - -1146 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1147 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1148 0 obj -<> -endobj - -1149 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1150 0 obj -<> -endobj - -1151 0 obj -<> -endobj - -1152 0 obj -<> -endobj - -1153 0 obj -<> -endobj - -1154 0 obj -<> -endobj - -1155 0 obj -<> -endobj - -1156 0 obj -<> -endobj - -1157 0 obj -[268 0 R/XYZ 50 757 1] -endobj - -1158 0 obj -<> -endobj - -1159 0 obj -<> -endobj - -1160 0 obj -<> -endobj - -1161 0 obj -<> -endobj - -1162 0 obj -<> -endobj - -1163 0 obj -<> -endobj - -1164 0 obj -<> -endobj - -1165 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1166 0 obj -<> -endobj - -1167 0 obj -<> -endobj - -1168 0 obj -<> -endobj - -1169 0 obj -<> -endobj - -1170 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1171 0 obj -<> -endobj - -1172 0 obj -<> -endobj - -1173 0 obj -<> -endobj - -1174 0 obj -<> -endobj - -1175 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1176 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1177 0 obj -<> -endobj - -1178 0 obj -<> -endobj - -1179 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1180 0 obj -<> -endobj - -1181 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1182 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1183 0 obj -<> -endobj - -1184 0 obj -<> -endobj - -1185 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1186 0 obj -<> -endobj - -1187 0 obj -<> -endobj - -1188 0 obj -<> -endobj - -1189 0 obj -<> -endobj - -1190 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1191 0 obj -<> -endobj - -1192 0 obj -<> -endobj - -1193 0 obj -<> -endobj - -1194 0 obj -<> -endobj - -1195 0 obj -<> -endobj - -1196 0 obj -<> -endobj - -1197 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1198 0 obj -<> -endobj - -1199 0 obj -<> -endobj - -1200 0 obj -<> -endobj - -1201 0 obj -<> -endobj - -1202 0 obj -<> -endobj - -1203 0 obj -<> -endobj - -1204 0 obj -<> -endobj - -1205 0 obj -<> -endobj - -1206 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1207 0 obj -<> -endobj - -1208 0 obj -<> -endobj - -1209 0 obj -<> -endobj - -1210 0 obj -<> -endobj - -1211 0 obj -<> -endobj - -1212 0 obj -<> -endobj - -1213 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1214 0 obj -<> -endobj - -1215 0 obj -<> -endobj - -1216 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1217 0 obj -<> -endobj - -1218 0 obj -<> -endobj - -1219 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1220 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1221 0 obj -<> -endobj - -1222 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1223 0 obj -<> -endobj - -1224 0 obj -<> -endobj - -1225 0 obj -<> -endobj - -1226 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1227 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1228 0 obj -<> -endobj - -1229 0 obj -<> -endobj - -1230 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1231 0 obj -<> -endobj - -1232 0 obj -<> -endobj - -1233 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1234 0 obj -<> -endobj - -1235 0 obj -<> -endobj - -1236 0 obj -<> -endobj - -1237 0 obj -<> -endobj - -1238 0 obj -<> -endobj - -1239 0 obj -<> -endobj - -1240 0 obj -<> -endobj - -1241 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1242 0 obj -<> -endobj - -1243 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1244 0 obj -<> -endobj - -1245 0 obj -<> -endobj - -1246 0 obj -<> -endobj - -1247 0 obj -<> -endobj - -1248 0 obj -<> -endobj - -1249 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1250 0 obj -<> -endobj - -1251 0 obj -<> -endobj - -1252 0 obj -<> -endobj - -1253 0 obj -<> -endobj - -1254 0 obj -<> -endobj - -1255 0 obj -<> -endobj - -1256 0 obj -<> -endobj - -1257 0 obj -<> -endobj - -1258 0 obj -<> -endobj - -1259 0 obj -<> -endobj - -1260 0 obj -<> -endobj - -1261 0 obj -<> -endobj - -1262 0 obj -<> -endobj - -1263 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1264 0 obj -<> -endobj - -1265 0 obj -<> -endobj - -1266 0 obj -<> -endobj - -1267 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1268 0 obj -<> -endobj - -1269 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1270 0 obj -<> -endobj - -1271 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1272 0 obj -<> -endobj - -1273 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1274 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1275 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1276 0 obj -<> -endobj - -1277 0 obj -<> -endobj - -1278 0 obj -<> -endobj - -1279 0 obj -<> -endobj - -1280 0 obj -<> -endobj - -1281 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1282 0 obj -<> -endobj - -1283 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1284 0 obj -<> -endobj - -1285 0 obj -<> -endobj - -1286 0 obj -<> -endobj - -1287 0 obj -<> -endobj - -1288 0 obj -<> -endobj - -1289 0 obj -<> -endobj - -1290 0 obj -<> -endobj - -1291 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1292 0 obj -<> -endobj - -1293 0 obj -<> -endobj - -1294 0 obj -<> -endobj - -1295 0 obj -<> -endobj - -1296 0 obj -<> -endobj - -1297 0 obj -<> -endobj - -1298 0 obj -<> -endobj - -1299 0 obj -<> -endobj - -1300 0 obj -<> -endobj - -1301 0 obj -<> -endobj - -1302 0 obj -<> -endobj - -1303 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1304 0 obj -<> -endobj - -1305 0 obj -<> -endobj - -1306 0 obj -<> -endobj - -1307 0 obj -<> -endobj - -1308 0 obj -<> -endobj - -1309 0 obj -<> -endobj - -1310 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1311 0 obj -<> -endobj - -1312 0 obj -<> -endobj - -1313 0 obj -<> -endobj - -1314 0 obj -<> -endobj - -1315 0 obj -<> -endobj - -1316 0 obj -<> -endobj - -1317 0 obj -<> -endobj - -1318 0 obj -<> -endobj - -1319 0 obj -<> -endobj - -1320 0 obj -<> -endobj - -1321 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1322 0 obj -<> -endobj - -1323 0 obj -<> -endobj - -1324 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1325 0 obj -[307 0 R/XYZ 50 757 1] -endobj - -1326 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1327 0 obj -<> -endobj - -1328 0 obj -<> -endobj - -1329 0 obj -<> -endobj - -1330 0 obj -<> -endobj - -1331 0 obj -<> -endobj - -1332 0 obj -<> -endobj - -1333 0 obj -<> -endobj - -1334 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1335 0 obj -<> -endobj - -1336 0 obj -<> -endobj - -1337 0 obj -<> -endobj - -1338 0 obj -<> -endobj - -1339 0 obj -<> -endobj - -1340 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1341 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1342 0 obj -<> -endobj - -1343 0 obj -<> -endobj - -1344 0 obj -<> -endobj - -1345 0 obj -<> -endobj - -1346 0 obj -<> -endobj - -1347 0 obj -<> -endobj - -1348 0 obj -<> -endobj - -1349 0 obj -<> -endobj - -1350 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1351 0 obj -<> -endobj - -1352 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1353 0 obj -<> -endobj - -1354 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1355 0 obj -<> -endobj - -1356 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1357 0 obj -<> -endobj - -1358 0 obj -<> -endobj - -1359 0 obj -<> -endobj - -1360 0 obj -<> -endobj - -1361 0 obj -<> -endobj - -1362 0 obj -<> -endobj - -1363 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1364 0 obj -<> -endobj - -1365 0 obj -<> -endobj - -1366 0 obj -<> -endobj - -1367 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1368 0 obj -<> -endobj - -1369 0 obj -<> -endobj - -1370 0 obj -<> -endobj - -1371 0 obj -<> -endobj - -1372 0 obj -<> -endobj - -1373 0 obj -<> -endobj - -1374 0 obj -<> -endobj - -1375 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1376 0 obj -<> -endobj - -1377 0 obj -<> -endobj - -1378 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1379 0 obj -<> -endobj - -1380 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1381 0 obj -<> -endobj - -1382 0 obj -<> -endobj - -1383 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1384 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1385 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1386 0 obj -<> -endobj - -1387 0 obj -<> -endobj - -1388 0 obj -<> -endobj - -1389 0 obj -<> -endobj - -1390 0 obj -<> -endobj - -1391 0 obj -<> -endobj - -1392 0 obj -<> -endobj - -1393 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1394 0 obj -<> -endobj - -1395 0 obj -<> -endobj - -1396 0 obj -<> -endobj - -1397 0 obj -<> -endobj - -1398 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1399 0 obj -<> -endobj - -1400 0 obj -<> -endobj - -1401 0 obj -<> -endobj - -1402 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1403 0 obj -<> -endobj - -1404 0 obj -<> -endobj - -1405 0 obj -<> -endobj - -1406 0 obj -<> -endobj - -1407 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1408 0 obj -<> -endobj - -1409 0 obj -<> -endobj - -1410 0 obj -<> -endobj - -1411 0 obj -<> -endobj - -1412 0 obj -<> -endobj - -1413 0 obj -<> -endobj - -1414 0 obj -<> -endobj - -1415 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1416 0 obj -<> -endobj - -1417 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1418 0 obj -<> -endobj - -1419 0 obj -<> -endobj - -1420 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1421 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1422 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1423 0 obj -<> -endobj - -1424 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1425 0 obj -<> -endobj - -1426 0 obj -<> -endobj - -1427 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1428 0 obj -<> -endobj - -1429 0 obj -<> -endobj - -1430 0 obj -<> -endobj - -1431 0 obj -<> -endobj - -1432 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1433 0 obj -<> -endobj - -1434 0 obj -<> -endobj - -1435 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1436 0 obj -<> -endobj - -1437 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1438 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1439 0 obj -<> -endobj - -1440 0 obj -<> -endobj - -1441 0 obj -<> -endobj - -1442 0 obj -<> -endobj - -1443 0 obj -<> -endobj - -1444 0 obj -<> -endobj - -1445 0 obj -<> -endobj - -1446 0 obj -<> -endobj - -1447 0 obj -<> -endobj - -1448 0 obj -<> -endobj - -1449 0 obj -<> -endobj - -1450 0 obj -<> -endobj - -1451 0 obj -<> -endobj - -1452 0 obj -<> -endobj - -1453 0 obj -<> -endobj - -1454 0 obj -<> -endobj - -1455 0 obj -<> -endobj - -1456 0 obj -<> -endobj - -1457 0 obj -<> -endobj - -1458 0 obj -<> -endobj - -1459 0 obj -<> -endobj - -1460 0 obj -<> -endobj - -1461 0 obj -<> -endobj - -1462 0 obj -<> -endobj - -1463 0 obj -<> -endobj - -1464 0 obj -<> -endobj - -1465 0 obj -<> -endobj - -1466 0 obj -<> -endobj - -1467 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1468 0 obj -<> -endobj - -1469 0 obj -<> -endobj - -1470 0 obj -<> -endobj - -1471 0 obj -<> -endobj - -1472 0 obj -<> -endobj - -1473 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1474 0 obj -<> -endobj - -1475 0 obj -<> -endobj - -1476 0 obj -<> -endobj - -1477 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1478 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1479 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1480 0 obj -<> -endobj - -1481 0 obj -<> -endobj - -1482 0 obj -<> -endobj - -1483 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1484 0 obj -<> -endobj - -1485 0 obj -[346 0 R/XYZ 50 757 1] -endobj - -1486 0 obj -<> -endobj - -1487 0 obj -<> -endobj - -1488 0 obj -[356 0 R/XYZ 50 757 1] -endobj - -1489 0 obj -<> -endobj - -1490 0 obj -<> -endobj - -1491 0 obj -<> -endobj - -1492 0 obj -<> -endobj - -1493 0 obj -<> -endobj - -1494 0 obj -<> -endobj - -1495 0 obj -<> -endobj - -1496 0 obj -<> -endobj - -1497 0 obj -<> -endobj - -1498 0 obj -<> -endobj - -1499 0 obj -<> -endobj - -1500 0 obj -<> -endobj - -1501 0 obj -<> -endobj - -1502 0 obj -<> -endobj - -1503 0 obj -<> -endobj - -1504 0 obj -<> -endobj - -1505 0 obj -<> -endobj - -1506 0 obj -<> -endobj - -1507 0 obj -<> -endobj - -1508 0 obj -<> -endobj - -1509 0 obj -<> -endobj - -1510 0 obj -<> -endobj - -1511 0 obj -<> -endobj - -1512 0 obj -<> -endobj - -1513 0 obj -<> -endobj - -1514 0 obj -<> -endobj - -1515 0 obj -<> -endobj - -1516 0 obj -<> -endobj - -1517 0 obj -<> -endobj - -1518 0 obj -<> -endobj - -1519 0 obj -<> -endobj - -1520 0 obj -<> -endobj - -1521 0 obj -<> -endobj - -1522 0 obj -<> -endobj - -1523 0 obj -<> -endobj - -1524 0 obj -<> -endobj - -1525 0 obj -<> -endobj - -1526 0 obj -<> -endobj - -1527 0 obj -<> -endobj - -1528 0 obj -<> -endobj - -1529 0 obj -<> -endobj - -1530 0 obj -<> -endobj - -1531 0 obj -<> -endobj - -1532 0 obj -<> -endobj - -1533 0 obj -<> -endobj - -1534 0 obj -<> -endobj - -1535 0 obj -<> -endobj - -1536 0 obj -<> -endobj - -1537 0 obj -[356 0 R/XYZ 50 757 1] -endobj - -1538 0 obj -<> -endobj - -1539 0 obj -<> -endobj - -1540 0 obj -[356 0 R/XYZ 50 757 1] -endobj - -1541 0 obj -<> -endobj - -1542 0 obj -<> -endobj - -1543 0 obj -<> -endobj - -1544 0 obj -<> -endobj - -1545 0 obj -<> -endobj - -1546 0 obj -<> -endobj - -1547 0 obj -<> -endobj - -1548 0 obj -<> -endobj - -1549 0 obj -<> -endobj - -1550 0 obj -<> -endobj - -1551 0 obj -<> -endobj - -1552 0 obj -<> -endobj - -1553 0 obj -<> -endobj - -1554 0 obj -<> -endobj - -1555 0 obj -<> -endobj - -1556 0 obj -<> -endobj - -1557 0 obj -<> -endobj - -1558 0 obj -<> -endobj - -1559 0 obj -<> -endobj - -1560 0 obj -<> -endobj - -1561 0 obj -<> -endobj - -1562 0 obj -<> -endobj - -1563 0 obj -<> -endobj - -1564 0 obj -<> -endobj - -1565 0 obj -<> -endobj - -1566 0 obj -<> -endobj - -1567 0 obj -<> -endobj - -1568 0 obj -<> -endobj - -1569 0 obj -<> -endobj - -1570 0 obj -<> -endobj - -1571 0 obj -<> -endobj - -1572 0 obj -<> -endobj - -1573 0 obj -<> -endobj - -1574 0 obj -<> -endobj - -1575 0 obj -<> -endobj - -1576 0 obj -<> -endobj - -1577 0 obj -<> -endobj - -1578 0 obj -<> -endobj - -1579 0 obj -<> -endobj - -1580 0 obj -<> -endobj - -1581 0 obj -<> -endobj - -1582 0 obj -<> -endobj - -1583 0 obj -<> -endobj - -1584 0 obj -<> -endobj - -1585 0 obj -<> -endobj - -1586 0 obj -<> -endobj - -1587 0 obj -<> -endobj - -1588 0 obj -<> -endobj - -1589 0 obj -<> -endobj - -1590 0 obj -<> -endobj - -1591 0 obj -[356 0 R/XYZ 50 757 1] -endobj - -1592 0 obj -[356 0 R/XYZ 50 757 1] -endobj - -1593 0 obj -<> -endobj - -1594 0 obj -<> -endobj - -1595 0 obj -<> -endobj - -1596 0 obj -[356 0 R/XYZ 50 757 1] -endobj - -1597 0 obj -<> -endobj - -1598 0 obj -<> -endobj - -1599 0 obj -<> -endobj - -1600 0 obj -<> -endobj - -1601 0 obj -<> -endobj - -1602 0 obj -<> -endobj - -1603 0 obj -<> -endobj - -1604 0 obj -[356 0 R/XYZ 50 757 1] -endobj - -1605 0 obj -<> -endobj - -1606 0 obj -<> -endobj - -1607 0 obj -<> -endobj - -1608 0 obj -<> -endobj - -1609 0 obj -<> -endobj - -1610 0 obj -<> -endobj - -1611 0 obj -<> -endobj - -1612 0 obj -<> -endobj - -1613 0 obj -<> -endobj - -1614 0 obj -<> -endobj - -1615 0 obj -<> -endobj - -1616 0 obj -<> -endobj - -1617 0 obj -<> -endobj - -1618 0 obj -<> -endobj - -1619 0 obj -<> -endobj - -1620 0 obj -<> -endobj - -1621 0 obj -<> -endobj - -1622 0 obj -<> -endobj - -1623 0 obj -<> -endobj - -1624 0 obj -<> -endobj - -1625 0 obj -<> -endobj - -1626 0 obj -<> -endobj - -1627 0 obj -<> -endobj - -1628 0 obj -<> -endobj - -1629 0 obj -<> -endobj - -1630 0 obj -<> -endobj - -1631 0 obj -<> -endobj - -1632 0 obj -<> -endobj - -1633 0 obj -<> -endobj - -1634 0 obj -<> -endobj - -1635 0 obj -<> -endobj - -1636 0 obj -<> -endobj - -1637 0 obj -<> -endobj - -1638 0 obj -<> -endobj - -1639 0 obj -<> -endobj - -1640 0 obj -<> -endobj - -1641 0 obj -<> -endobj - -1642 0 obj -<> -endobj - -1643 0 obj -<> -endobj - -1644 0 obj -<> -endobj - -1645 0 obj -<> -endobj - -1646 0 obj -<> -endobj - -1647 0 obj -[356 0 R/XYZ 50 757 1] -endobj - -1648 0 obj -<> -endobj - -1649 0 obj -<> -endobj - -1650 0 obj -<> -endobj - -1651 0 obj -<> -endobj - -1652 0 obj -<> -endobj - -1653 0 obj -<> -endobj - -1654 0 obj -<> -endobj - -1655 0 obj -<> -endobj - -1656 0 obj -[356 0 R/XYZ 50 757 1] -endobj - -1657 0 obj -[381 0 R/XYZ 0 15259 1] -endobj - -1658 0 obj -[740 0 R/XYZ 0 15259 1] -endobj - -1659 0 obj -[948 0 R/XYZ 0 15259 1] -endobj - -1660 0 obj -[432 0 R/XYZ 0 15259 1] -endobj - -1661 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -1662 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -1663 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -1664 0 obj -[402 0 R/XYZ 0 15259 1] -endobj - -1665 0 obj -[432 0 R/XYZ 0 15259 1] -endobj - -1666 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -1667 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -1668 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -1669 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -1670 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -1671 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -1672 0 obj -[864 0 R/XYZ 0 15259 1] -endobj - -1673 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -1674 0 obj -[1063 0 R/XYZ 0 15259 1] -endobj - -1675 0 obj -[1106 0 R/XYZ 0 15259 1] -endobj - -1676 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -1677 0 obj -[1131 0 R/XYZ 0 15259 1] -endobj - -1678 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -1679 0 obj -[1221 0 R/XYZ 0 15259 1] -endobj - -1680 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -1681 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -1682 0 obj -[432 0 R/XYZ 0 15259 1] -endobj - -1683 0 obj -[440 0 R/XYZ 0 15259 1] -endobj - -1684 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -1685 0 obj -[693 0 R/XYZ 0 15259 1] -endobj - -1686 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -1687 0 obj -[782 0 R/XYZ 0 15259 1] -endobj - -1688 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -1689 0 obj -[849 0 R/XYZ 0 15259 1] -endobj - -1690 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -1691 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -1692 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -1693 0 obj -[1083 0 R/XYZ 0 15259 1] -endobj - -1694 0 obj -[1151 0 R/XYZ 0 15259 1] -endobj - -1695 0 obj -[1410 0 R/XYZ 0 15259 1] -endobj - -1696 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -1697 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -1698 0 obj -[432 0 R/XYZ 0 15259 1] -endobj - -1699 0 obj -[501 0 R/XYZ 0 15259 1] -endobj - -1700 0 obj -[432 0 R/XYZ 0 15259 1] -endobj - -1701 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -1702 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -1703 0 obj -[407 0 R/XYZ 0 15259 1] -endobj - -1704 0 obj -[432 0 R/XYZ 0 15259 1] -endobj - -1705 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -1706 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -1707 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -1708 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -1709 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -1710 0 obj -[740 0 R/XYZ 0 15259 1] -endobj - -1711 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -1712 0 obj -[1151 0 R/XYZ 0 15259 1] -endobj - -1713 0 obj -[1221 0 R/XYZ 0 15259 1] -endobj - -1714 0 obj -[1410 0 R/XYZ 0 15259 1] -endobj - -1715 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -1716 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -1717 0 obj -[1536 0 R/XYZ 0 15259 1] -endobj - -1718 0 obj -[690 0 R/XYZ 0 15259 1] -endobj - -1719 0 obj -[743 0 R/XYZ 0 15259 1] -endobj - -1720 0 obj -[749 0 R/XYZ 0 15259 1] -endobj - -1721 0 obj -[788 0 R/XYZ 0 15259 1] -endobj - -1722 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -1723 0 obj -[849 0 R/XYZ 0 15259 1] -endobj - -1724 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -1725 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -1726 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -1727 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -1728 0 obj -[919 0 R/XYZ 0 15259 1] -endobj - -1729 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -1730 0 obj -[1031 0 R/XYZ 0 15259 1] -endobj - -1731 0 obj -[1599 0 R/XYZ 0 15259 1] -endobj - -1732 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -1733 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -1734 0 obj -[384 0 R/XYZ 0 15259 1] -endobj - -1735 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -1736 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -1737 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -1738 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -1739 0 obj -[592 0 R/XYZ 0 15259 1] -endobj - -1740 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -1741 0 obj -[601 0 R/XYZ 0 15259 1] -endobj - -1742 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -1743 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -1744 0 obj -[1611 0 R/XYZ 0 15259 1] -endobj - -1745 0 obj -[613 0 R/XYZ 0 15259 1] -endobj - -1746 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -1747 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -1748 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -1749 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -1750 0 obj -[1255 0 R/XYZ 0 15259 1] -endobj - -1751 0 obj -[1257 0 R/XYZ 0 15259 1] -endobj - -1752 0 obj -[1284 0 R/XYZ 0 15259 1] -endobj - -1753 0 obj -[1288 0 R/XYZ 0 15259 1] -endobj - -1754 0 obj -[1289 0 R/XYZ 0 15259 1] -endobj - -1755 0 obj -[1298 0 R/XYZ 0 15259 1] -endobj - -1756 0 obj -[1511 0 R/XYZ 0 15259 1] -endobj - -1757 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -1758 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -1759 0 obj -[545 0 R/XYZ 0 15259 1] -endobj - -1760 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -1761 0 obj -[576 0 R/XYZ 0 15259 1] -endobj - -1762 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -1763 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -1764 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -1765 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -1766 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -1767 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -1768 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -1769 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -1770 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -1771 0 obj -[786 0 R/XYZ 0 15259 1] -endobj - -1772 0 obj -[789 0 R/XYZ 0 15259 1] -endobj - -1773 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -1774 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -1775 0 obj -[790 0 R/XYZ 0 15259 1] -endobj - -1776 0 obj -[787 0 R/XYZ 0 15259 1] -endobj - -1777 0 obj -[789 0 R/XYZ 0 15259 1] -endobj - -1778 0 obj -[790 0 R/XYZ 0 15259 1] -endobj - -1779 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -1780 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -1781 0 obj -[1514 0 R/XYZ 0 15259 1] -endobj - -1782 0 obj -[1517 0 R/XYZ 0 15259 1] -endobj - -1783 0 obj -[1521 0 R/XYZ 0 15259 1] -endobj - -1784 0 obj -[1514 0 R/XYZ 0 15259 1] -endobj - -1785 0 obj -[1525 0 R/XYZ 0 15259 1] -endobj - -1786 0 obj -[1528 0 R/XYZ 0 15259 1] -endobj - -1787 0 obj -[1525 0 R/XYZ 0 15259 1] -endobj - -1788 0 obj -[1228 0 R/XYZ 0 15259 1] -endobj - -1789 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -1790 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -1791 0 obj -[1240 0 R/XYZ 0 15259 1] -endobj - -1792 0 obj -[1254 0 R/XYZ 0 15259 1] -endobj - -1793 0 obj -[1256 0 R/XYZ 0 15259 1] -endobj - -1794 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -1795 0 obj -[1260 0 R/XYZ 0 15259 1] -endobj - -1796 0 obj -[1262 0 R/XYZ 0 15259 1] -endobj - -1797 0 obj -[1494 0 R/XYZ 0 15259 1] -endobj - -1798 0 obj -[1496 0 R/XYZ 0 15259 1] -endobj - -1799 0 obj -[1498 0 R/XYZ 0 15259 1] -endobj - -1800 0 obj -[1501 0 R/XYZ 0 15259 1] -endobj - -1801 0 obj -[1507 0 R/XYZ 0 15259 1] -endobj - -1802 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -1803 0 obj -[1510 0 R/XYZ 0 15259 1] -endobj - -1804 0 obj -[1513 0 R/XYZ 0 15259 1] -endobj - -1805 0 obj -[1527 0 R/XYZ 0 15259 1] -endobj - -1806 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -1807 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -1808 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -1809 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -1810 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -1811 0 obj -[367 0 R/XYZ 0 15259 1] -endobj - -1812 0 obj -<> -endobj - -1813 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -1814 0 obj -[1518 0 R/XYZ 0 15259 1] -endobj - -1815 0 obj -[1522 0 R/XYZ 0 15259 1] -endobj - -1816 0 obj -[1522 0 R/XYZ 0 15259 1] -endobj - -1817 0 obj -[1196 0 R/XYZ 0 15259 1] -endobj - -1818 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -1819 0 obj -[1519 0 R/XYZ 0 15259 1] -endobj - -1820 0 obj -[1648 0 R/XYZ 0 15259 1] -endobj - -1821 0 obj -[1097 0 R/XYZ 0 15259 1] -endobj - -1822 0 obj -[426 0 R/XYZ 0 15259 1] -endobj - -1823 0 obj -[787 0 R/XYZ 0 15259 1] -endobj - -1824 0 obj -[1223 0 R/XYZ 0 15259 1] -endobj - -1825 0 obj -[1224 0 R/XYZ 0 15259 1] -endobj - -1826 0 obj -[1231 0 R/XYZ 0 15259 1] -endobj - -1827 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -1828 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -1829 0 obj -[1238 0 R/XYZ 0 15259 1] -endobj - -1830 0 obj -[1240 0 R/XYZ 0 15259 1] -endobj - -1831 0 obj -[1242 0 R/XYZ 0 15259 1] -endobj - -1832 0 obj -[1496 0 R/XYZ 0 15259 1] -endobj - -1833 0 obj -[1502 0 R/XYZ 0 15259 1] -endobj - -1834 0 obj -[1223 0 R/XYZ 0 15259 1] -endobj - -1835 0 obj -[1231 0 R/XYZ 0 15259 1] -endobj - -1836 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -1837 0 obj -[1238 0 R/XYZ 0 15259 1] -endobj - -1838 0 obj -[1223 0 R/XYZ 0 15259 1] -endobj - -1839 0 obj -[1223 0 R/XYZ 0 15259 1] -endobj - -1840 0 obj -[786 0 R/XYZ 0 15259 1] -endobj - -1841 0 obj -[787 0 R/XYZ 0 15259 1] -endobj - -1842 0 obj -[789 0 R/XYZ 0 15259 1] -endobj - -1843 0 obj -[1223 0 R/XYZ 0 15259 1] -endobj - -1844 0 obj -[1238 0 R/XYZ 0 15259 1] -endobj - -1845 0 obj -[1277 0 R/XYZ 0 15259 1] -endobj - -1846 0 obj -[1279 0 R/XYZ 0 15259 1] -endobj - -1847 0 obj -[1284 0 R/XYZ 0 15259 1] -endobj - -1848 0 obj -[1286 0 R/XYZ 0 15259 1] -endobj - -1849 0 obj -[1289 0 R/XYZ 0 15259 1] -endobj - -1850 0 obj -[1290 0 R/XYZ 0 15259 1] -endobj - -1851 0 obj -[1641 0 R/XYZ 0 15259 1] -endobj - -1852 0 obj -[1223 0 R/XYZ 0 15259 1] -endobj - -1853 0 obj -[1238 0 R/XYZ 0 15259 1] -endobj - -1854 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -1855 0 obj -[776 0 R/XYZ 0 15259 1] -endobj - -1856 0 obj -[1648 0 R/XYZ 0 15259 1] -endobj - -1857 0 obj -[1240 0 R/XYZ 0 15259 1] -endobj - -1858 0 obj -[1240 0 R/XYZ 0 15259 1] -endobj - -1859 0 obj -[1256 0 R/XYZ 0 15259 1] -endobj - -1860 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -1861 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -1862 0 obj -[1496 0 R/XYZ 0 15259 1] -endobj - -1863 0 obj -[1240 0 R/XYZ 0 15259 1] -endobj - -1864 0 obj -[1240 0 R/XYZ 0 15259 1] -endobj - -1865 0 obj -[1123 0 R/XYZ 0 15259 1] -endobj - -1866 0 obj -[1124 0 R/XYZ 0 15259 1] -endobj - -1867 0 obj -[1123 0 R/XYZ 0 15259 1] -endobj - -1868 0 obj -[1120 0 R/XYZ 0 15259 1] -endobj - -1869 0 obj -[1126 0 R/XYZ 0 15259 1] -endobj - -1870 0 obj -[1127 0 R/XYZ 0 15259 1] -endobj - -1871 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -1872 0 obj -[1122 0 R/XYZ 0 15259 1] -endobj - -1873 0 obj -[1124 0 R/XYZ 0 15259 1] -endobj - -1874 0 obj -[1128 0 R/XYZ 0 15259 1] -endobj - -1875 0 obj -[1129 0 R/XYZ 0 15259 1] -endobj - -1876 0 obj -[1122 0 R/XYZ 0 15259 1] -endobj - -1877 0 obj -[1121 0 R/XYZ 0 15259 1] -endobj - -1878 0 obj -[1122 0 R/XYZ 0 15259 1] -endobj - -1879 0 obj -[1129 0 R/XYZ 0 15259 1] -endobj - -1880 0 obj -[1122 0 R/XYZ 0 15259 1] -endobj - -1881 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -1882 0 obj -[1124 0 R/XYZ 0 15259 1] -endobj - -1883 0 obj -[1125 0 R/XYZ 0 15259 1] -endobj - -1884 0 obj -[1124 0 R/XYZ 0 15259 1] -endobj - -1885 0 obj -[1125 0 R/XYZ 0 15259 1] -endobj - -1886 0 obj -[1124 0 R/XYZ 0 15259 1] -endobj - -1887 0 obj -[1125 0 R/XYZ 0 15259 1] -endobj - -1888 0 obj -[1121 0 R/XYZ 0 15259 1] -endobj - -1889 0 obj -[1122 0 R/XYZ 0 15259 1] -endobj - -1890 0 obj -[1124 0 R/XYZ 0 15259 1] -endobj - -1891 0 obj -[1127 0 R/XYZ 0 15259 1] -endobj - -1892 0 obj -[1121 0 R/XYZ 0 15259 1] -endobj - -1893 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -1894 0 obj -[1122 0 R/XYZ 0 15259 1] -endobj - -1895 0 obj -[1128 0 R/XYZ 0 15259 1] -endobj - -1896 0 obj -[1129 0 R/XYZ 0 15259 1] -endobj - -1897 0 obj -[1122 0 R/XYZ 0 15259 1] -endobj - -1898 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -1899 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -1900 0 obj -[1123 0 R/XYZ 0 15259 1] -endobj - -1901 0 obj -[1129 0 R/XYZ 0 15259 1] -endobj - -1902 0 obj -[1123 0 R/XYZ 0 15259 1] -endobj - -1903 0 obj -[1121 0 R/XYZ 0 15259 1] -endobj - -1904 0 obj -[1122 0 R/XYZ 0 15259 1] -endobj - -1905 0 obj -[1124 0 R/XYZ 0 15259 1] -endobj - -1906 0 obj -[1128 0 R/XYZ 0 15259 1] -endobj - -1907 0 obj -[1121 0 R/XYZ 0 15259 1] -endobj - -1908 0 obj -[1240 0 R/XYZ 0 15259 1] -endobj - -1909 0 obj -[1237 0 R/XYZ 0 15259 1] -endobj - -1910 0 obj -[1240 0 R/XYZ 0 15259 1] -endobj - -1911 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -1912 0 obj -[875 0 R/XYZ 0 15259 1] -endobj - -1913 0 obj -[849 0 R/XYZ 0 15259 1] -endobj - -1914 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -1915 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -1916 0 obj -[873 0 R/XYZ 0 15259 1] -endobj - -1917 0 obj -[877 0 R/XYZ 0 15259 1] -endobj - -1918 0 obj -[882 0 R/XYZ 0 15259 1] -endobj - -1919 0 obj -[887 0 R/XYZ 0 15259 1] -endobj - -1920 0 obj -[906 0 R/XYZ 0 15259 1] -endobj - -1921 0 obj -[926 0 R/XYZ 0 15259 1] -endobj - -1922 0 obj -[927 0 R/XYZ 0 15259 1] -endobj - -1923 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -1924 0 obj -[939 0 R/XYZ 0 15259 1] -endobj - -1925 0 obj -[1260 0 R/XYZ 0 15259 1] -endobj - -1926 0 obj -[1261 0 R/XYZ 0 15259 1] -endobj - -1927 0 obj -[1624 0 R/XYZ 0 15259 1] -endobj - -1928 0 obj -[882 0 R/XYZ 0 15259 1] -endobj - -1929 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -1930 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -1931 0 obj -[1071 0 R/XYZ 0 15259 1] -endobj - -1932 0 obj -[1074 0 R/XYZ 0 15259 1] -endobj - -1933 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -1934 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -1935 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -1936 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -1937 0 obj -[1184 0 R/XYZ 0 15259 1] -endobj - -1938 0 obj -[1648 0 R/XYZ 0 15259 1] -endobj - -1939 0 obj -[416 0 R/XYZ 0 15259 1] -endobj - -1940 0 obj -[1426 0 R/XYZ 0 15259 1] -endobj - -1941 0 obj -[1439 0 R/XYZ 0 15259 1] -endobj - -1942 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -1943 0 obj -[1447 0 R/XYZ 0 15259 1] -endobj - -1944 0 obj -[386 0 R/XYZ 0 15259 1] -endobj - -1945 0 obj -[389 0 R/XYZ 0 15259 1] -endobj - -1946 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -1947 0 obj -[758 0 R/XYZ 0 15259 1] -endobj - -1948 0 obj -[861 0 R/XYZ 0 15259 1] -endobj - -1949 0 obj -[1091 0 R/XYZ 0 15259 1] -endobj - -1950 0 obj -[1092 0 R/XYZ 0 15259 1] -endobj - -1951 0 obj -[1284 0 R/XYZ 0 15259 1] -endobj - -1952 0 obj -[1441 0 R/XYZ 0 15259 1] -endobj - -1953 0 obj -[1593 0 R/XYZ 0 15259 1] -endobj - -1954 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -1955 0 obj -[378 0 R/XYZ 0 15259 1] -endobj - -1956 0 obj -[380 0 R/XYZ 0 15259 1] -endobj - -1957 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -1958 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -1959 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -1960 0 obj -[455 0 R/XYZ 0 15259 1] -endobj - -1961 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -1962 0 obj -[763 0 R/XYZ 0 15259 1] -endobj - -1963 0 obj -[697 0 R/XYZ 0 15259 1] -endobj - -1964 0 obj -[1315 0 R/XYZ 0 15259 1] -endobj - -1965 0 obj -[702 0 R/XYZ 0 15259 1] -endobj - -1966 0 obj -[1648 0 R/XYZ 0 15259 1] -endobj - -1967 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -1968 0 obj -[1229 0 R/XYZ 0 15259 1] -endobj - -1969 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -1970 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -1971 0 obj -[633 0 R/XYZ 0 15259 1] -endobj - -1972 0 obj -[787 0 R/XYZ 0 15259 1] -endobj - -1973 0 obj -[789 0 R/XYZ 0 15259 1] -endobj - -1974 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -1975 0 obj -[1115 0 R/XYZ 0 15259 1] -endobj - -1976 0 obj -[1129 0 R/XYZ 0 15259 1] -endobj - -1977 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -1978 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -1979 0 obj -[1030 0 R/XYZ 0 15259 1] -endobj - -1980 0 obj -[1034 0 R/XYZ 0 15259 1] -endobj - -1981 0 obj -[1044 0 R/XYZ 0 15259 1] -endobj - -1982 0 obj -[1049 0 R/XYZ 0 15259 1] -endobj - -1983 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -1984 0 obj -[1627 0 R/XYZ 0 15259 1] -endobj - -1985 0 obj -[772 0 R/XYZ 0 15259 1] -endobj - -1986 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -1987 0 obj -[772 0 R/XYZ 0 15259 1] -endobj - -1988 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -1989 0 obj -[543 0 R/XYZ 0 15259 1] -endobj - -1990 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -1991 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -1992 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -1993 0 obj -[692 0 R/XYZ 0 15259 1] -endobj - -1994 0 obj -[694 0 R/XYZ 0 15259 1] -endobj - -1995 0 obj -[727 0 R/XYZ 0 15259 1] -endobj - -1996 0 obj -[743 0 R/XYZ 0 15259 1] -endobj - -1997 0 obj -[957 0 R/XYZ 0 15259 1] -endobj - -1998 0 obj -[1405 0 R/XYZ 0 15259 1] -endobj - -1999 0 obj -[1620 0 R/XYZ 0 15259 1] -endobj - -2000 0 obj -[692 0 R/XYZ 0 15259 1] -endobj - -2001 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -2002 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -2003 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -2004 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -2005 0 obj -[461 0 R/XYZ 0 15259 1] -endobj - -2006 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -2007 0 obj -[529 0 R/XYZ 0 15259 1] -endobj - -2008 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -2009 0 obj -[548 0 R/XYZ 0 15259 1] -endobj - -2010 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -2011 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -2012 0 obj -[565 0 R/XYZ 0 15259 1] -endobj - -2013 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -2014 0 obj -[574 0 R/XYZ 0 15259 1] -endobj - -2015 0 obj -[576 0 R/XYZ 0 15259 1] -endobj - -2016 0 obj -[580 0 R/XYZ 0 15259 1] -endobj - -2017 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -2018 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -2019 0 obj -[1452 0 R/XYZ 0 15259 1] -endobj - -2020 0 obj -[1533 0 R/XYZ 0 15259 1] -endobj - -2021 0 obj -[1534 0 R/XYZ 0 15259 1] -endobj - -2022 0 obj -[1451 0 R/XYZ 0 15259 1] -endobj - -2023 0 obj -[1453 0 R/XYZ 0 15259 1] -endobj - -2024 0 obj -[1512 0 R/XYZ 0 15259 1] -endobj - -2025 0 obj -[1517 0 R/XYZ 0 15259 1] -endobj - -2026 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -2027 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -2028 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -2029 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -2030 0 obj -[503 0 R/XYZ 0 15259 1] -endobj - -2031 0 obj -[506 0 R/XYZ 0 15259 1] -endobj - -2032 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -2033 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -2034 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -2035 0 obj -[909 0 R/XYZ 0 15259 1] -endobj - -2036 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -2037 0 obj -[1090 0 R/XYZ 0 15259 1] -endobj - -2038 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -2039 0 obj -[1192 0 R/XYZ 0 15259 1] -endobj - -2040 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -2041 0 obj -[1196 0 R/XYZ 0 15259 1] -endobj - -2042 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -2043 0 obj -[565 0 R/XYZ 0 15259 1] -endobj - -2044 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -2045 0 obj -[529 0 R/XYZ 0 15259 1] -endobj - -2046 0 obj -[548 0 R/XYZ 0 15259 1] -endobj - -2047 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -2048 0 obj -[580 0 R/XYZ 0 15259 1] -endobj - -2049 0 obj -[385 0 R/XYZ 0 15259 1] -endobj - -2050 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -2051 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -2052 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -2053 0 obj -[1112 0 R/XYZ 0 15259 1] -endobj - -2054 0 obj -[1649 0 R/XYZ 0 15259 1] -endobj - -2055 0 obj -[700 0 R/XYZ 0 15259 1] -endobj - -2056 0 obj -[714 0 R/XYZ 0 15259 1] -endobj - -2057 0 obj -[716 0 R/XYZ 0 15259 1] -endobj - -2058 0 obj -[718 0 R/XYZ 0 15259 1] -endobj - -2059 0 obj -[727 0 R/XYZ 0 15259 1] -endobj - -2060 0 obj -[968 0 R/XYZ 0 15259 1] -endobj - -2061 0 obj -[974 0 R/XYZ 0 15259 1] -endobj - -2062 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -2063 0 obj -[454 0 R/XYZ 0 15259 1] -endobj - -2064 0 obj -[776 0 R/XYZ 0 15259 1] -endobj - -2065 0 obj -[779 0 R/XYZ 0 15259 1] -endobj - -2066 0 obj -[1171 0 R/XYZ 0 15259 1] -endobj - -2067 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -2068 0 obj -[787 0 R/XYZ 0 15259 1] -endobj - -2069 0 obj -[789 0 R/XYZ 0 15259 1] -endobj - -2070 0 obj -[790 0 R/XYZ 0 15259 1] -endobj - -2071 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2072 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2073 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2074 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2075 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2076 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2077 0 obj -[372 0 R/XYZ 0 15259 1] -endobj - -2078 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -2079 0 obj -[361 0 R/XYZ 0 15259 1] -endobj - -2080 0 obj -[367 0 R/XYZ 0 15259 1] -endobj - -2081 0 obj -<> -endobj - -2082 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2083 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2084 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2085 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2086 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2087 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2088 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2089 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2090 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2091 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2092 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2093 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2094 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -2095 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -2096 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -2097 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -2098 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -2099 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -2100 0 obj -[1649 0 R/XYZ 0 15259 1] -endobj - -2101 0 obj -[823 0 R/XYZ 0 15259 1] -endobj - -2102 0 obj -[829 0 R/XYZ 0 15259 1] -endobj - -2103 0 obj -[831 0 R/XYZ 0 15259 1] -endobj - -2104 0 obj -[834 0 R/XYZ 0 15259 1] -endobj - -2105 0 obj -[836 0 R/XYZ 0 15259 1] -endobj - -2106 0 obj -[838 0 R/XYZ 0 15259 1] -endobj - -2107 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -2108 0 obj -[857 0 R/XYZ 0 15259 1] -endobj - -2109 0 obj -[921 0 R/XYZ 0 15259 1] -endobj - -2110 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -2111 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -2112 0 obj -[1245 0 R/XYZ 0 15259 1] -endobj - -2113 0 obj -[1649 0 R/XYZ 0 15259 1] -endobj - -2114 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -2115 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -2116 0 obj -[990 0 R/XYZ 0 15259 1] -endobj - -2117 0 obj -[995 0 R/XYZ 0 15259 1] -endobj - -2118 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -2119 0 obj -[514 0 R/XYZ 0 15259 1] -endobj - -2120 0 obj -[924 0 R/XYZ 0 15259 1] -endobj - -2121 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -2122 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -2123 0 obj -[1087 0 R/XYZ 0 15259 1] -endobj - -2124 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2125 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -2126 0 obj -[1648 0 R/XYZ 0 15259 1] -endobj - -2127 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -2128 0 obj -[1228 0 R/XYZ 0 15259 1] -endobj - -2129 0 obj -[1482 0 R/XYZ 0 15259 1] -endobj - -2130 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -2131 0 obj -[1242 0 R/XYZ 0 15259 1] -endobj - -2132 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -2133 0 obj -[1265 0 R/XYZ 0 15259 1] -endobj - -2134 0 obj -[1266 0 R/XYZ 0 15259 1] -endobj - -2135 0 obj -[1282 0 R/XYZ 0 15259 1] -endobj - -2136 0 obj -[1284 0 R/XYZ 0 15259 1] -endobj - -2137 0 obj -[1286 0 R/XYZ 0 15259 1] -endobj - -2138 0 obj -[1287 0 R/XYZ 0 15259 1] -endobj - -2139 0 obj -[1290 0 R/XYZ 0 15259 1] -endobj - -2140 0 obj -[1242 0 R/XYZ 0 15259 1] -endobj - -2141 0 obj -[658 0 R/XYZ 0 15259 1] -endobj - -2142 0 obj -[658 0 R/XYZ 0 15259 1] -endobj - -2143 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -2144 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -2145 0 obj -[595 0 R/XYZ 0 15259 1] -endobj - -2146 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -2147 0 obj -[1166 0 R/XYZ 0 15259 1] -endobj - -2148 0 obj -[1649 0 R/XYZ 0 15259 1] -endobj - -2149 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -2150 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -2151 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -2152 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -2153 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -2154 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -2155 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -2156 0 obj -[743 0 R/XYZ 0 15259 1] -endobj - -2157 0 obj -[381 0 R/XYZ 0 15259 1] -endobj - -2158 0 obj -[381 0 R/XYZ 0 15259 1] -endobj - -2159 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -2160 0 obj -[522 0 R/XYZ 0 15259 1] -endobj - -2161 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -2162 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -2163 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -2164 0 obj -[828 0 R/XYZ 0 15259 1] -endobj - -2165 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -2166 0 obj -[924 0 R/XYZ 0 15259 1] -endobj - -2167 0 obj -[1099 0 R/XYZ 0 15259 1] -endobj - -2168 0 obj -[1159 0 R/XYZ 0 15259 1] -endobj - -2169 0 obj -[1166 0 R/XYZ 0 15259 1] -endobj - -2170 0 obj -[1366 0 R/XYZ 0 15259 1] -endobj - -2171 0 obj -[1635 0 R/XYZ 0 15259 1] -endobj - -2172 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -2173 0 obj -[381 0 R/XYZ 0 15259 1] -endobj - -2174 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -2175 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -2176 0 obj -[514 0 R/XYZ 0 15259 1] -endobj - -2177 0 obj -[522 0 R/XYZ 0 15259 1] -endobj - -2178 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -2179 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -2180 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -2181 0 obj -[829 0 R/XYZ 0 15259 1] -endobj - -2182 0 obj -[1166 0 R/XYZ 0 15259 1] -endobj - -2183 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -2184 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -2185 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -2186 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2187 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -2188 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -2189 0 obj -[1357 0 R/XYZ 0 15259 1] -endobj - -2190 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -2191 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -2192 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2193 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -2194 0 obj -[1371 0 R/XYZ 0 15259 1] -endobj - -2195 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -2196 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2197 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2198 0 obj -[432 0 R/XYZ 0 15259 1] -endobj - -2199 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -2200 0 obj -[556 0 R/XYZ 0 15259 1] -endobj - -2201 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -2202 0 obj -[809 0 R/XYZ 0 15259 1] -endobj - -2203 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -2204 0 obj -[815 0 R/XYZ 0 15259 1] -endobj - -2205 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -2206 0 obj -[823 0 R/XYZ 0 15259 1] -endobj - -2207 0 obj -[824 0 R/XYZ 0 15259 1] -endobj - -2208 0 obj -[828 0 R/XYZ 0 15259 1] -endobj - -2209 0 obj -[1083 0 R/XYZ 0 15259 1] -endobj - -2210 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -2211 0 obj -[1115 0 R/XYZ 0 15259 1] -endobj - -2212 0 obj -[1120 0 R/XYZ 0 15259 1] -endobj - -2213 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -2214 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -2215 0 obj -[1234 0 R/XYZ 0 15259 1] -endobj - -2216 0 obj -[1277 0 R/XYZ 0 15259 1] -endobj - -2217 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -2218 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -2219 0 obj -[1409 0 R/XYZ 0 15259 1] -endobj - -2220 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -2221 0 obj -[378 0 R/XYZ 0 15259 1] -endobj - -2222 0 obj -[432 0 R/XYZ 0 15259 1] -endobj - -2223 0 obj -[380 0 R/XYZ 0 15259 1] -endobj - -2224 0 obj -[432 0 R/XYZ 0 15259 1] -endobj - -2225 0 obj -[948 0 R/XYZ 0 15259 1] -endobj - -2226 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -2227 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -2228 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2229 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -2230 0 obj -[1068 0 R/XYZ 0 15259 1] -endobj - -2231 0 obj -[700 0 R/XYZ 0 15259 1] -endobj - -2232 0 obj -[1307 0 R/XYZ 0 15259 1] -endobj - -2233 0 obj -[1309 0 R/XYZ 0 15259 1] -endobj - -2234 0 obj -[1320 0 R/XYZ 0 15259 1] -endobj - -2235 0 obj -[1323 0 R/XYZ 0 15259 1] -endobj - -2236 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -2237 0 obj -[1308 0 R/XYZ 0 15259 1] -endobj - -2238 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -2239 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -2240 0 obj -[611 0 R/XYZ 0 15259 1] -endobj - -2241 0 obj -[736 0 R/XYZ 0 15259 1] -endobj - -2242 0 obj -[741 0 R/XYZ 0 15259 1] -endobj - -2243 0 obj -[780 0 R/XYZ 0 15259 1] -endobj - -2244 0 obj -[919 0 R/XYZ 0 15259 1] -endobj - -2245 0 obj -[1171 0 R/XYZ 0 15259 1] -endobj - -2246 0 obj -[1392 0 R/XYZ 0 15259 1] -endobj - -2247 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -2248 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -2249 0 obj -[611 0 R/XYZ 0 15259 1] -endobj - -2250 0 obj -[638 0 R/XYZ 0 15259 1] -endobj - -2251 0 obj -[720 0 R/XYZ 0 15259 1] -endobj - -2252 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -2253 0 obj -[1511 0 R/XYZ 0 15259 1] -endobj - -2254 0 obj -[1516 0 R/XYZ 0 15259 1] -endobj - -2255 0 obj -[1516 0 R/XYZ 0 15259 1] -endobj - -2256 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -2257 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -2258 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -2259 0 obj -[1228 0 R/XYZ 0 15259 1] -endobj - -2260 0 obj -[1229 0 R/XYZ 0 15259 1] -endobj - -2261 0 obj -[1484 0 R/XYZ 0 15259 1] -endobj - -2262 0 obj -[1504 0 R/XYZ 0 15259 1] -endobj - -2263 0 obj -[1519 0 R/XYZ 0 15259 1] -endobj - -2264 0 obj -[1525 0 R/XYZ 0 15259 1] -endobj - -2265 0 obj -[1528 0 R/XYZ 0 15259 1] -endobj - -2266 0 obj -[1536 0 R/XYZ 0 15259 1] -endobj - -2267 0 obj -[1557 0 R/XYZ 0 15259 1] -endobj - -2268 0 obj -[1561 0 R/XYZ 0 15259 1] -endobj - -2269 0 obj -[1228 0 R/XYZ 0 15259 1] -endobj - -2270 0 obj -[1482 0 R/XYZ 0 15259 1] -endobj - -2271 0 obj -[1228 0 R/XYZ 0 15259 1] -endobj - -2272 0 obj -[416 0 R/XYZ 0 15259 1] -endobj - -2273 0 obj -[418 0 R/XYZ 0 15259 1] -endobj - -2274 0 obj -[621 0 R/XYZ 0 15259 1] -endobj - -2275 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -2276 0 obj -[381 0 R/XYZ 0 15259 1] -endobj - -2277 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -2278 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -2279 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -2280 0 obj -[828 0 R/XYZ 0 15259 1] -endobj - -2281 0 obj -[1166 0 R/XYZ 0 15259 1] -endobj - -2282 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -2283 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -2284 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -2285 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -2286 0 obj -[426 0 R/XYZ 0 15259 1] -endobj - -2287 0 obj -[405 0 R/XYZ 0 15259 1] -endobj - -2288 0 obj -[411 0 R/XYZ 0 15259 1] -endobj - -2289 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -2290 0 obj -[579 0 R/XYZ 0 15259 1] -endobj - -2291 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -2292 0 obj -[678 0 R/XYZ 0 15259 1] -endobj - -2293 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -2294 0 obj -[779 0 R/XYZ 0 15259 1] -endobj - -2295 0 obj -[786 0 R/XYZ 0 15259 1] -endobj - -2296 0 obj -[704 0 R/XYZ 0 15259 1] -endobj - -2297 0 obj -[705 0 R/XYZ 0 15259 1] -endobj - -2298 0 obj -[727 0 R/XYZ 0 15259 1] -endobj - -2299 0 obj -[1161 0 R/XYZ 0 15259 1] -endobj - -2300 0 obj -[1446 0 R/XYZ 0 15259 1] -endobj - -2301 0 obj -[1620 0 R/XYZ 0 15259 1] -endobj - -2302 0 obj -[704 0 R/XYZ 0 15259 1] -endobj - -2303 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -2304 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -2305 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -2306 0 obj -[1184 0 R/XYZ 0 15259 1] -endobj - -2307 0 obj -[1648 0 R/XYZ 0 15259 1] -endobj - -2308 0 obj -[830 0 R/XYZ 0 15259 1] -endobj - -2309 0 obj -[520 0 R/XYZ 0 15259 1] -endobj - -2310 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -2311 0 obj -[574 0 R/XYZ 0 15259 1] -endobj - -2312 0 obj -[830 0 R/XYZ 0 15259 1] -endobj - -2313 0 obj -[834 0 R/XYZ 0 15259 1] -endobj - -2314 0 obj -[1409 0 R/XYZ 0 15259 1] -endobj - -2315 0 obj -[1410 0 R/XYZ 0 15259 1] -endobj - -2316 0 obj -[1430 0 R/XYZ 0 15259 1] -endobj - -2317 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -2318 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -2319 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -2320 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -2321 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -2322 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -2323 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2324 0 obj -[1328 0 R/XYZ 0 15259 1] -endobj - -2325 0 obj -[1369 0 R/XYZ 0 15259 1] -endobj - -2326 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -2327 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -2328 0 obj -[385 0 R/XYZ 0 15259 1] -endobj - -2329 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -2330 0 obj -[702 0 R/XYZ 0 15259 1] -endobj - -2331 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -2332 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2333 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -2334 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -2335 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -2336 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2337 0 obj -[592 0 R/XYZ 0 15259 1] -endobj - -2338 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -2339 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2340 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -2341 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2342 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -2343 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -2344 0 obj -[358 0 R/XYZ 0 15259 1] -endobj - -2345 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -2346 0 obj -[362 0 R/XYZ 0 15259 1] -endobj - -2347 0 obj -[372 0 R/XYZ 0 15259 1] -endobj - -2348 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -2349 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -2350 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -2351 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -2352 0 obj -<> -endobj - -2353 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -2354 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -2355 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2356 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2357 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -2358 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -2359 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2360 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2361 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -2362 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -2363 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2364 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2365 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -2366 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -2367 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2368 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -2369 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -2370 0 obj -[595 0 R/XYZ 0 15259 1] -endobj - -2371 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -2372 0 obj -[1362 0 R/XYZ 0 15259 1] -endobj - -2373 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -2374 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -2375 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -2376 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -2377 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -2378 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -2379 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -2380 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -2381 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -2382 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -2383 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -2384 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -2385 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -2386 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -2387 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -2388 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -2389 0 obj -[1061 0 R/XYZ 0 15259 1] -endobj - -2390 0 obj -[1612 0 R/XYZ 0 15259 1] -endobj - -2391 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -2392 0 obj -[1649 0 R/XYZ 0 15259 1] -endobj - -2393 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -2394 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -2395 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -2396 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -2397 0 obj -[548 0 R/XYZ 0 15259 1] -endobj - -2398 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -2399 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -2400 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -2401 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -2402 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -2403 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -2404 0 obj -[1290 0 R/XYZ 0 15259 1] -endobj - -2405 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -2406 0 obj -[548 0 R/XYZ 0 15259 1] -endobj - -2407 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -2408 0 obj -[538 0 R/XYZ 0 15259 1] -endobj - -2409 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -2410 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -2411 0 obj -[553 0 R/XYZ 0 15259 1] -endobj - -2412 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -2413 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -2414 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -2415 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -2416 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -2417 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -2418 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -2419 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -2420 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -2421 0 obj -[553 0 R/XYZ 0 15259 1] -endobj - -2422 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -2423 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -2424 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -2425 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -2426 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -2427 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2428 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -2429 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2430 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -2431 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -2432 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -2433 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -2434 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -2435 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -2436 0 obj -[710 0 R/XYZ 0 15259 1] -endobj - -2437 0 obj -[617 0 R/XYZ 0 15259 1] -endobj - -2438 0 obj -[617 0 R/XYZ 0 15259 1] -endobj - -2439 0 obj -[1307 0 R/XYZ 0 15259 1] -endobj - -2440 0 obj -[1309 0 R/XYZ 0 15259 1] -endobj - -2441 0 obj -[1320 0 R/XYZ 0 15259 1] -endobj - -2442 0 obj -[1322 0 R/XYZ 0 15259 1] -endobj - -2443 0 obj -[1309 0 R/XYZ 0 15259 1] -endobj - -2444 0 obj -[1285 0 R/XYZ 0 15259 1] -endobj - -2445 0 obj -[1286 0 R/XYZ 0 15259 1] -endobj - -2446 0 obj -[1289 0 R/XYZ 0 15259 1] -endobj - -2447 0 obj -[1311 0 R/XYZ 0 15259 1] -endobj - -2448 0 obj -[1317 0 R/XYZ 0 15259 1] -endobj - -2449 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -2450 0 obj -[1285 0 R/XYZ 0 15259 1] -endobj - -2451 0 obj -[1289 0 R/XYZ 0 15259 1] -endobj - -2452 0 obj -[1314 0 R/XYZ 0 15259 1] -endobj - -2453 0 obj -[1317 0 R/XYZ 0 15259 1] -endobj - -2454 0 obj -[1319 0 R/XYZ 0 15259 1] -endobj - -2455 0 obj -[1313 0 R/XYZ 0 15259 1] -endobj - -2456 0 obj -[1313 0 R/XYZ 0 15259 1] -endobj - -2457 0 obj -[1314 0 R/XYZ 0 15259 1] -endobj - -2458 0 obj -[1320 0 R/XYZ 0 15259 1] -endobj - -2459 0 obj -[1312 0 R/XYZ 0 15259 1] -endobj - -2460 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -2461 0 obj -[1518 0 R/XYZ 0 15259 1] -endobj - -2462 0 obj -[1523 0 R/XYZ 0 15259 1] -endobj - -2463 0 obj -[1523 0 R/XYZ 0 15259 1] -endobj - -2464 0 obj -[1317 0 R/XYZ 0 15259 1] -endobj - -2465 0 obj -[1319 0 R/XYZ 0 15259 1] -endobj - -2466 0 obj -[1313 0 R/XYZ 0 15259 1] -endobj - -2467 0 obj -[1076 0 R/XYZ 0 15259 1] -endobj - -2468 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -2469 0 obj -[1214 0 R/XYZ 0 15259 1] -endobj - -2470 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -2471 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -2472 0 obj -[1511 0 R/XYZ 0 15259 1] -endobj - -2473 0 obj -[1518 0 R/XYZ 0 15259 1] -endobj - -2474 0 obj -[1518 0 R/XYZ 0 15259 1] -endobj - -2475 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -2476 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -2477 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2478 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -2479 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -2480 0 obj -[405 0 R/XYZ 0 15259 1] -endobj - -2481 0 obj -[450 0 R/XYZ 0 15259 1] -endobj - -2482 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -2483 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -2484 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -2485 0 obj -[786 0 R/XYZ 0 15259 1] -endobj - -2486 0 obj -[799 0 R/XYZ 0 15259 1] -endobj - -2487 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -2488 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -2489 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -2490 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -2491 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -2492 0 obj -[975 0 R/XYZ 0 15259 1] -endobj - -2493 0 obj -[984 0 R/XYZ 0 15259 1] -endobj - -2494 0 obj -[1016 0 R/XYZ 0 15259 1] -endobj - -2495 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -2496 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -2497 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -2498 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -2499 0 obj -[926 0 R/XYZ 0 15259 1] -endobj - -2500 0 obj -[928 0 R/XYZ 0 15259 1] -endobj - -2501 0 obj -[1016 0 R/XYZ 0 15259 1] -endobj - -2502 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -2503 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -2504 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -2505 0 obj -[928 0 R/XYZ 0 15259 1] -endobj - -2506 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -2507 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -2508 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -2509 0 obj -[975 0 R/XYZ 0 15259 1] -endobj - -2510 0 obj -[1016 0 R/XYZ 0 15259 1] -endobj - -2511 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -2512 0 obj -[1209 0 R/XYZ 0 15259 1] -endobj - -2513 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -2514 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -2515 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -2516 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -2517 0 obj -[405 0 R/XYZ 0 15259 1] -endobj - -2518 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -2519 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -2520 0 obj -[799 0 R/XYZ 0 15259 1] -endobj - -2521 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -2522 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -2523 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -2524 0 obj -[461 0 R/XYZ 0 15259 1] -endobj - -2525 0 obj -[478 0 R/XYZ 0 15259 1] -endobj - -2526 0 obj -[487 0 R/XYZ 0 15259 1] -endobj - -2527 0 obj -[507 0 R/XYZ 0 15259 1] -endobj - -2528 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -2529 0 obj -[576 0 R/XYZ 0 15259 1] -endobj - -2530 0 obj -[581 0 R/XYZ 0 15259 1] -endobj - -2531 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -2532 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -2533 0 obj -[1061 0 R/XYZ 0 15259 1] -endobj - -2534 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -2535 0 obj -[1094 0 R/XYZ 0 15259 1] -endobj - -2536 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -2537 0 obj -[1153 0 R/XYZ 0 15259 1] -endobj - -2538 0 obj -[1155 0 R/XYZ 0 15259 1] -endobj - -2539 0 obj -[1161 0 R/XYZ 0 15259 1] -endobj - -2540 0 obj -[1168 0 R/XYZ 0 15259 1] -endobj - -2541 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -2542 0 obj -[1184 0 R/XYZ 0 15259 1] -endobj - -2543 0 obj -[1204 0 R/XYZ 0 15259 1] -endobj - -2544 0 obj -[1205 0 R/XYZ 0 15259 1] -endobj - -2545 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -2546 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -2547 0 obj -[1228 0 R/XYZ 0 15259 1] -endobj - -2548 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -2549 0 obj -[1256 0 R/XYZ 0 15259 1] -endobj - -2550 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -2551 0 obj -[1266 0 R/XYZ 0 15259 1] -endobj - -2552 0 obj -[1287 0 R/XYZ 0 15259 1] -endobj - -2553 0 obj -[1288 0 R/XYZ 0 15259 1] -endobj - -2554 0 obj -[1290 0 R/XYZ 0 15259 1] -endobj - -2555 0 obj -[1305 0 R/XYZ 0 15259 1] -endobj - -2556 0 obj -[1306 0 R/XYZ 0 15259 1] -endobj - -2557 0 obj -[1308 0 R/XYZ 0 15259 1] -endobj - -2558 0 obj -[1317 0 R/XYZ 0 15259 1] -endobj - -2559 0 obj -[1319 0 R/XYZ 0 15259 1] -endobj - -2560 0 obj -[1322 0 R/XYZ 0 15259 1] -endobj - -2561 0 obj -[1397 0 R/XYZ 0 15259 1] -endobj - -2562 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -2563 0 obj -[1401 0 R/XYZ 0 15259 1] -endobj - -2564 0 obj -[1403 0 R/XYZ 0 15259 1] -endobj - -2565 0 obj -[1414 0 R/XYZ 0 15259 1] -endobj - -2566 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -2567 0 obj -[1447 0 R/XYZ 0 15259 1] -endobj - -2568 0 obj -[1517 0 R/XYZ 0 15259 1] -endobj - -2569 0 obj -[1520 0 R/XYZ 0 15259 1] -endobj - -2570 0 obj -[1521 0 R/XYZ 0 15259 1] -endobj - -2571 0 obj -[1523 0 R/XYZ 0 15259 1] -endobj - -2572 0 obj -[1527 0 R/XYZ 0 15259 1] -endobj - -2573 0 obj -[1531 0 R/XYZ 0 15259 1] -endobj - -2574 0 obj -[487 0 R/XYZ 0 15259 1] -endobj - -2575 0 obj -[384 0 R/XYZ 0 15259 1] -endobj - -2576 0 obj -[386 0 R/XYZ 0 15259 1] -endobj - -2577 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -2578 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -2579 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -2580 0 obj -[1361 0 R/XYZ 0 15259 1] -endobj - -2581 0 obj -[1517 0 R/XYZ 0 15259 1] -endobj - -2582 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -2583 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -2584 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -2585 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -2586 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -2587 0 obj -[507 0 R/XYZ 0 15259 1] -endobj - -2588 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -2589 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -2590 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -2591 0 obj -[1076 0 R/XYZ 0 15259 1] -endobj - -2592 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -2593 0 obj -[1094 0 R/XYZ 0 15259 1] -endobj - -2594 0 obj -[1640 0 R/XYZ 0 15259 1] -endobj - -2595 0 obj -[514 0 R/XYZ 0 15259 1] -endobj - -2596 0 obj -[1083 0 R/XYZ 0 15259 1] -endobj - -2597 0 obj -[1084 0 R/XYZ 0 15259 1] -endobj - -2598 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -2599 0 obj -[1637 0 R/XYZ 0 15259 1] -endobj - -2600 0 obj -[572 0 R/XYZ 0 15259 1] -endobj - -2601 0 obj -[1298 0 R/XYZ 0 15259 1] -endobj - -2602 0 obj -[1301 0 R/XYZ 0 15259 1] -endobj - -2603 0 obj -[1295 0 R/XYZ 0 15259 1] -endobj - -2604 0 obj -[1296 0 R/XYZ 0 15259 1] -endobj - -2605 0 obj -[1298 0 R/XYZ 0 15259 1] -endobj - -2606 0 obj -[1300 0 R/XYZ 0 15259 1] -endobj - -2607 0 obj -[1302 0 R/XYZ 0 15259 1] -endobj - -2608 0 obj -[1295 0 R/XYZ 0 15259 1] -endobj - -2609 0 obj -[1295 0 R/XYZ 0 15259 1] -endobj - -2610 0 obj -[1302 0 R/XYZ 0 15259 1] -endobj - -2611 0 obj -[1295 0 R/XYZ 0 15259 1] -endobj - -2612 0 obj -[1295 0 R/XYZ 0 15259 1] -endobj - -2613 0 obj -[1297 0 R/XYZ 0 15259 1] -endobj - -2614 0 obj -[1299 0 R/XYZ 0 15259 1] -endobj - -2615 0 obj -[1301 0 R/XYZ 0 15259 1] -endobj - -2616 0 obj -[1295 0 R/XYZ 0 15259 1] -endobj - -2617 0 obj -[1297 0 R/XYZ 0 15259 1] -endobj - -2618 0 obj -[1299 0 R/XYZ 0 15259 1] -endobj - -2619 0 obj -[1301 0 R/XYZ 0 15259 1] -endobj - -2620 0 obj -[1295 0 R/XYZ 0 15259 1] -endobj - -2621 0 obj -[1295 0 R/XYZ 0 15259 1] -endobj - -2622 0 obj -[1300 0 R/XYZ 0 15259 1] -endobj - -2623 0 obj -[1302 0 R/XYZ 0 15259 1] -endobj - -2624 0 obj -[1295 0 R/XYZ 0 15259 1] -endobj - -2625 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -2626 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2627 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -2628 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -2629 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -2630 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -2631 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -2632 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -2633 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -2634 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -2635 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -2636 0 obj -<> -endobj - -2637 0 obj -[697 0 R/XYZ 0 15259 1] -endobj - -2638 0 obj -[1480 0 R/XYZ 0 15259 1] -endobj - -2639 0 obj -[1538 0 R/XYZ 0 15259 1] -endobj - -2640 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -2641 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -2642 0 obj -[1021 0 R/XYZ 0 15259 1] -endobj - -2643 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -2644 0 obj -[983 0 R/XYZ 0 15259 1] -endobj - -2645 0 obj -[986 0 R/XYZ 0 15259 1] -endobj - -2646 0 obj -[986 0 R/XYZ 0 15259 1] -endobj - -2647 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -2648 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -2649 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -2650 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -2651 0 obj -[1250 0 R/XYZ 0 15259 1] -endobj - -2652 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -2653 0 obj -[1261 0 R/XYZ 0 15259 1] -endobj - -2654 0 obj -[1284 0 R/XYZ 0 15259 1] -endobj - -2655 0 obj -[1290 0 R/XYZ 0 15259 1] -endobj - -2656 0 obj -[1292 0 R/XYZ 0 15259 1] -endobj - -2657 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -2658 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -2659 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -2660 0 obj -[1246 0 R/XYZ 0 15259 1] -endobj - -2661 0 obj -[1254 0 R/XYZ 0 15259 1] -endobj - -2662 0 obj -[1494 0 R/XYZ 0 15259 1] -endobj - -2663 0 obj -[1502 0 R/XYZ 0 15259 1] -endobj - -2664 0 obj -[1528 0 R/XYZ 0 15259 1] -endobj - -2665 0 obj -[1245 0 R/XYZ 0 15259 1] -endobj - -2666 0 obj -[1246 0 R/XYZ 0 15259 1] -endobj - -2667 0 obj -[823 0 R/XYZ 0 15259 1] -endobj - -2668 0 obj -[824 0 R/XYZ 0 15259 1] -endobj - -2669 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -2670 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -2671 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -2672 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -2673 0 obj -[786 0 R/XYZ 0 15259 1] -endobj - -2674 0 obj -[816 0 R/XYZ 0 15259 1] -endobj - -2675 0 obj -[821 0 R/XYZ 0 15259 1] -endobj - -2676 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -2677 0 obj -[830 0 R/XYZ 0 15259 1] -endobj - -2678 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -2679 0 obj -[834 0 R/XYZ 0 15259 1] -endobj - -2680 0 obj -[836 0 R/XYZ 0 15259 1] -endobj - -2681 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -2682 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -2683 0 obj -[845 0 R/XYZ 0 15259 1] -endobj - -2684 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -2685 0 obj -[857 0 R/XYZ 0 15259 1] -endobj - -2686 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -2687 0 obj -[1055 0 R/XYZ 0 15259 1] -endobj - -2688 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -2689 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -2690 0 obj -[1063 0 R/XYZ 0 15259 1] -endobj - -2691 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -2692 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -2693 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2694 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -2695 0 obj -[1357 0 R/XYZ 0 15259 1] -endobj - -2696 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -2697 0 obj -[1366 0 R/XYZ 0 15259 1] -endobj - -2698 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -2699 0 obj -[1396 0 R/XYZ 0 15259 1] -endobj - -2700 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -2701 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -2702 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -2703 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -2704 0 obj -[1328 0 R/XYZ 0 15259 1] -endobj - -2705 0 obj -[1097 0 R/XYZ 0 15259 1] -endobj - -2706 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -2707 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -2708 0 obj -[1166 0 R/XYZ 0 15259 1] -endobj - -2709 0 obj -[1171 0 R/XYZ 0 15259 1] -endobj - -2710 0 obj -[1392 0 R/XYZ 0 15259 1] -endobj - -2711 0 obj -[1412 0 R/XYZ 0 15259 1] -endobj - -2712 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -2713 0 obj -[1045 0 R/XYZ 0 15259 1] -endobj - -2714 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -2715 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -2716 0 obj -[556 0 R/XYZ 0 15259 1] -endobj - -2717 0 obj -[576 0 R/XYZ 0 15259 1] -endobj - -2718 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -2719 0 obj -[851 0 R/XYZ 0 15259 1] -endobj - -2720 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -2721 0 obj -[856 0 R/XYZ 0 15259 1] -endobj - -2722 0 obj -[873 0 R/XYZ 0 15259 1] -endobj - -2723 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -2724 0 obj -[1338 0 R/XYZ 0 15259 1] -endobj - -2725 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -2726 0 obj -[1609 0 R/XYZ 0 15259 1] -endobj - -2727 0 obj -[1620 0 R/XYZ 0 15259 1] -endobj - -2728 0 obj -[1622 0 R/XYZ 0 15259 1] -endobj - -2729 0 obj -[426 0 R/XYZ 0 15259 1] -endobj - -2730 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -2731 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -2732 0 obj -[561 0 R/XYZ 0 15259 1] -endobj - -2733 0 obj -[565 0 R/XYZ 0 15259 1] -endobj - -2734 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -2735 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -2736 0 obj -[1140 0 R/XYZ 0 15259 1] -endobj - -2737 0 obj -[580 0 R/XYZ 0 15259 1] -endobj - -2738 0 obj -[601 0 R/XYZ 0 15259 1] -endobj - -2739 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -2740 0 obj -[1611 0 R/XYZ 0 15259 1] -endobj - -2741 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -2742 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -2743 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -2744 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -2745 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2746 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2747 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2748 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2749 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -2750 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -2751 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -2752 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -2753 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -2754 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -2755 0 obj -[478 0 R/XYZ 0 15259 1] -endobj - -2756 0 obj -[487 0 R/XYZ 0 15259 1] -endobj - -2757 0 obj -[489 0 R/XYZ 0 15259 1] -endobj - -2758 0 obj -[506 0 R/XYZ 0 15259 1] -endobj - -2759 0 obj -[520 0 R/XYZ 0 15259 1] -endobj - -2760 0 obj -[540 0 R/XYZ 0 15259 1] -endobj - -2761 0 obj -[545 0 R/XYZ 0 15259 1] -endobj - -2762 0 obj -[566 0 R/XYZ 0 15259 1] -endobj - -2763 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -2764 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -2765 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -2766 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -2767 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -2768 0 obj -[1093 0 R/XYZ 0 15259 1] -endobj - -2769 0 obj -[1519 0 R/XYZ 0 15259 1] -endobj - -2770 0 obj -[1520 0 R/XYZ 0 15259 1] -endobj - -2771 0 obj -[1609 0 R/XYZ 0 15259 1] -endobj - -2772 0 obj -[1612 0 R/XYZ 0 15259 1] -endobj - -2773 0 obj -[487 0 R/XYZ 0 15259 1] -endobj - -2774 0 obj -[545 0 R/XYZ 0 15259 1] -endobj - -2775 0 obj -[546 0 R/XYZ 0 15259 1] -endobj - -2776 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -2777 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -2778 0 obj -[642 0 R/XYZ 0 15259 1] -endobj - -2779 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -2780 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -2781 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -2782 0 obj -[772 0 R/XYZ 0 15259 1] -endobj - -2783 0 obj -[939 0 R/XYZ 0 15259 1] -endobj - -2784 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -2785 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -2786 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -2787 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -2788 0 obj -[1625 0 R/XYZ 0 15259 1] -endobj - -2789 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -2790 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -2791 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -2792 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -2793 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -2794 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -2795 0 obj -[810 0 R/XYZ 0 15259 1] -endobj - -2796 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -2797 0 obj -[834 0 R/XYZ 0 15259 1] -endobj - -2798 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -2799 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -2800 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -2801 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -2802 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -2803 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -2804 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -2805 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -2806 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -2807 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -2808 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -2809 0 obj -[1371 0 R/XYZ 0 15259 1] -endobj - -2810 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -2811 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -2812 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -2813 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -2814 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -2815 0 obj -[1371 0 R/XYZ 0 15259 1] -endobj - -2816 0 obj -[1372 0 R/XYZ 0 15259 1] -endobj - -2817 0 obj -[1304 0 R/XYZ 0 15259 1] -endobj - -2818 0 obj -[1305 0 R/XYZ 0 15259 1] -endobj - -2819 0 obj -[1305 0 R/XYZ 0 15259 1] -endobj - -2820 0 obj -[1311 0 R/XYZ 0 15259 1] -endobj - -2821 0 obj -[432 0 R/XYZ 0 15259 1] -endobj - -2822 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -2823 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -2824 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -2825 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -2826 0 obj -[1357 0 R/XYZ 0 15259 1] -endobj - -2827 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -2828 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -2829 0 obj -[1357 0 R/XYZ 0 15259 1] -endobj - -2830 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -2831 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -2832 0 obj -[1103 0 R/XYZ 0 15259 1] -endobj - -2833 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -2834 0 obj -[1486 0 R/XYZ 0 15259 1] -endobj - -2835 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -2836 0 obj -[384 0 R/XYZ 0 15259 1] -endobj - -2837 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -2838 0 obj -[394 0 R/XYZ 0 15259 1] -endobj - -2839 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -2840 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -2841 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -2842 0 obj -[529 0 R/XYZ 0 15259 1] -endobj - -2843 0 obj -[538 0 R/XYZ 0 15259 1] -endobj - -2844 0 obj -[562 0 R/XYZ 0 15259 1] -endobj - -2845 0 obj -[565 0 R/XYZ 0 15259 1] -endobj - -2846 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -2847 0 obj -[580 0 R/XYZ 0 15259 1] -endobj - -2848 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -2849 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -2850 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -2851 0 obj -[657 0 R/XYZ 0 15259 1] -endobj - -2852 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -2853 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -2854 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -2855 0 obj -[851 0 R/XYZ 0 15259 1] -endobj - -2856 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -2857 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -2858 0 obj -[426 0 R/XYZ 0 15259 1] -endobj - -2859 0 obj -[1379 0 R/XYZ 0 15259 1] -endobj - -2860 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -2861 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -2862 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -2863 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -2864 0 obj -[1055 0 R/XYZ 0 15259 1] -endobj - -2865 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -2866 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -2867 0 obj -[1063 0 R/XYZ 0 15259 1] -endobj - -2868 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -2869 0 obj -[1076 0 R/XYZ 0 15259 1] -endobj - -2870 0 obj -[1063 0 R/XYZ 0 15259 1] -endobj - -2871 0 obj -[1068 0 R/XYZ 0 15259 1] -endobj - -2872 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -2873 0 obj -[1061 0 R/XYZ 0 15259 1] -endobj - -2874 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -2875 0 obj -[1256 0 R/XYZ 0 15259 1] -endobj - -2876 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -2877 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -2878 0 obj -[1316 0 R/XYZ 0 15259 1] -endobj - -2879 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -2880 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -2881 0 obj -[1629 0 R/XYZ 0 15259 1] -endobj - -2882 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -2883 0 obj -[1060 0 R/XYZ 0 15259 1] -endobj - -2884 0 obj -[702 0 R/XYZ 0 15259 1] -endobj - -2885 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -2886 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -2887 0 obj -[924 0 R/XYZ 0 15259 1] -endobj - -2888 0 obj -[1268 0 R/XYZ 0 15259 1] -endobj - -2889 0 obj -[700 0 R/XYZ 0 15259 1] -endobj - -2890 0 obj -[700 0 R/XYZ 0 15259 1] -endobj - -2891 0 obj -[1250 0 R/XYZ 0 15259 1] -endobj - -2892 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -2893 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -2894 0 obj -[1423 0 R/XYZ 0 15259 1] -endobj - -2895 0 obj -[1475 0 R/XYZ 0 15259 1] -endobj - -2896 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -2897 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -2898 0 obj -[1439 0 R/XYZ 0 15259 1] -endobj - -2899 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -2900 0 obj -[1428 0 R/XYZ 0 15259 1] -endobj - -2901 0 obj -[1433 0 R/XYZ 0 15259 1] -endobj - -2902 0 obj -[1468 0 R/XYZ 0 15259 1] -endobj - -2903 0 obj -[1474 0 R/XYZ 0 15259 1] -endobj - -2904 0 obj -[1439 0 R/XYZ 0 15259 1] -endobj - -2905 0 obj -[1468 0 R/XYZ 0 15259 1] -endobj - -2906 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -2907 0 obj -[1439 0 R/XYZ 0 15259 1] -endobj - -2908 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -2909 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -2910 0 obj -[684 0 R/XYZ 0 15259 1] -endobj - -2911 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -2912 0 obj -[684 0 R/XYZ 0 15259 1] -endobj - -2913 0 obj -[923 0 R/XYZ 0 15259 1] -endobj - -2914 0 obj -[1619 0 R/XYZ 0 15259 1] -endobj - -2915 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -2916 0 obj -[359 0 R/XYZ 0 15259 1] -endobj - -2917 0 obj -[367 0 R/XYZ 0 15259 1] -endobj - -2918 0 obj -[362 0 R/XYZ 0 15259 1] -endobj - -2919 0 obj -[368 0 R/XYZ 0 15259 1] -endobj - -2920 0 obj -<> -endobj - -2921 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -2922 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -2923 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -2924 0 obj -[1442 0 R/XYZ 0 15259 1] -endobj - -2925 0 obj -[1444 0 R/XYZ 0 15259 1] -endobj - -2926 0 obj -[1446 0 R/XYZ 0 15259 1] -endobj - -2927 0 obj -[1448 0 R/XYZ 0 15259 1] -endobj - -2928 0 obj -[1451 0 R/XYZ 0 15259 1] -endobj - -2929 0 obj -[1454 0 R/XYZ 0 15259 1] -endobj - -2930 0 obj -[1459 0 R/XYZ 0 15259 1] -endobj - -2931 0 obj -[1462 0 R/XYZ 0 15259 1] -endobj - -2932 0 obj -[1469 0 R/XYZ 0 15259 1] -endobj - -2933 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -2934 0 obj -[1446 0 R/XYZ 0 15259 1] -endobj - -2935 0 obj -[1447 0 R/XYZ 0 15259 1] -endobj - -2936 0 obj -[1446 0 R/XYZ 0 15259 1] -endobj - -2937 0 obj -[1426 0 R/XYZ 0 15259 1] -endobj - -2938 0 obj -[1431 0 R/XYZ 0 15259 1] -endobj - -2939 0 obj -[1440 0 R/XYZ 0 15259 1] -endobj - -2940 0 obj -[1447 0 R/XYZ 0 15259 1] -endobj - -2941 0 obj -[1426 0 R/XYZ 0 15259 1] -endobj - -2942 0 obj -[1447 0 R/XYZ 0 15259 1] -endobj - -2943 0 obj -[1428 0 R/XYZ 0 15259 1] -endobj - -2944 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -2945 0 obj -[1440 0 R/XYZ 0 15259 1] -endobj - -2946 0 obj -[1454 0 R/XYZ 0 15259 1] -endobj - -2947 0 obj -[1455 0 R/XYZ 0 15259 1] -endobj - -2948 0 obj -[1457 0 R/XYZ 0 15259 1] -endobj - -2949 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -2950 0 obj -[1428 0 R/XYZ 0 15259 1] -endobj - -2951 0 obj -[1454 0 R/XYZ 0 15259 1] -endobj - -2952 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -2953 0 obj -[1454 0 R/XYZ 0 15259 1] -endobj - -2954 0 obj -[1455 0 R/XYZ 0 15259 1] -endobj - -2955 0 obj -[1458 0 R/XYZ 0 15259 1] -endobj - -2956 0 obj -[1462 0 R/XYZ 0 15259 1] -endobj - -2957 0 obj -[1466 0 R/XYZ 0 15259 1] -endobj - -2958 0 obj -[1468 0 R/XYZ 0 15259 1] -endobj - -2959 0 obj -[1475 0 R/XYZ 0 15259 1] -endobj - -2960 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -2961 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -2962 0 obj -[1455 0 R/XYZ 0 15259 1] -endobj - -2963 0 obj -[1426 0 R/XYZ 0 15259 1] -endobj - -2964 0 obj -[1430 0 R/XYZ 0 15259 1] -endobj - -2965 0 obj -[1431 0 R/XYZ 0 15259 1] -endobj - -2966 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -2967 0 obj -[1440 0 R/XYZ 0 15259 1] -endobj - -2968 0 obj -[1448 0 R/XYZ 0 15259 1] -endobj - -2969 0 obj -[1453 0 R/XYZ 0 15259 1] -endobj - -2970 0 obj -[1426 0 R/XYZ 0 15259 1] -endobj - -2971 0 obj -[1448 0 R/XYZ 0 15259 1] -endobj - -2972 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -2973 0 obj -[1448 0 R/XYZ 0 15259 1] -endobj - -2974 0 obj -[1449 0 R/XYZ 0 15259 1] -endobj - -2975 0 obj -[1453 0 R/XYZ 0 15259 1] -endobj - -2976 0 obj -[1454 0 R/XYZ 0 15259 1] -endobj - -2977 0 obj -[1460 0 R/XYZ 0 15259 1] -endobj - -2978 0 obj -[1461 0 R/XYZ 0 15259 1] -endobj - -2979 0 obj -[1463 0 R/XYZ 0 15259 1] -endobj - -2980 0 obj -[1474 0 R/XYZ 0 15259 1] -endobj - -2981 0 obj -[1449 0 R/XYZ 0 15259 1] -endobj - -2982 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -2983 0 obj -[1461 0 R/XYZ 0 15259 1] -endobj - -2984 0 obj -[1463 0 R/XYZ 0 15259 1] -endobj - -2985 0 obj -[1464 0 R/XYZ 0 15259 1] -endobj - -2986 0 obj -[1468 0 R/XYZ 0 15259 1] -endobj - -2987 0 obj -[1463 0 R/XYZ 0 15259 1] -endobj - -2988 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -2989 0 obj -[1444 0 R/XYZ 0 15259 1] -endobj - -2990 0 obj -[1447 0 R/XYZ 0 15259 1] -endobj - -2991 0 obj -[1447 0 R/XYZ 0 15259 1] -endobj - -2992 0 obj -[1431 0 R/XYZ 0 15259 1] -endobj - -2993 0 obj -[1440 0 R/XYZ 0 15259 1] -endobj - -2994 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -2995 0 obj -[1447 0 R/XYZ 0 15259 1] -endobj - -2996 0 obj -[1448 0 R/XYZ 0 15259 1] -endobj - -2997 0 obj -[1454 0 R/XYZ 0 15259 1] -endobj - -2998 0 obj -[1460 0 R/XYZ 0 15259 1] -endobj - -2999 0 obj -[1465 0 R/XYZ 0 15259 1] -endobj - -3000 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -3001 0 obj -[1450 0 R/XYZ 0 15259 1] -endobj - -3002 0 obj -[1475 0 R/XYZ 0 15259 1] -endobj - -3003 0 obj -[1450 0 R/XYZ 0 15259 1] -endobj - -3004 0 obj -[1426 0 R/XYZ 0 15259 1] -endobj - -3005 0 obj -[1431 0 R/XYZ 0 15259 1] -endobj - -3006 0 obj -[1440 0 R/XYZ 0 15259 1] -endobj - -3007 0 obj -[1460 0 R/XYZ 0 15259 1] -endobj - -3008 0 obj -[1462 0 R/XYZ 0 15259 1] -endobj - -3009 0 obj -[1423 0 R/XYZ 0 15259 1] -endobj - -3010 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -3011 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -3012 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -3013 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -3014 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -3015 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -3016 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -3017 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -3018 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -3019 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -3020 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -3021 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -3022 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -3023 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -3024 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -3025 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -3026 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -3027 0 obj -[1428 0 R/XYZ 0 15259 1] -endobj - -3028 0 obj -[1433 0 R/XYZ 0 15259 1] -endobj - -3029 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -3030 0 obj -[1440 0 R/XYZ 0 15259 1] -endobj - -3031 0 obj -[1455 0 R/XYZ 0 15259 1] -endobj - -3032 0 obj -[1465 0 R/XYZ 0 15259 1] -endobj - -3033 0 obj -[1468 0 R/XYZ 0 15259 1] -endobj - -3034 0 obj -[1475 0 R/XYZ 0 15259 1] -endobj - -3035 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -3036 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -3037 0 obj -[1428 0 R/XYZ 0 15259 1] -endobj - -3038 0 obj -[1465 0 R/XYZ 0 15259 1] -endobj - -3039 0 obj -[1426 0 R/XYZ 0 15259 1] -endobj - -3040 0 obj -[1428 0 R/XYZ 0 15259 1] -endobj - -3041 0 obj -[1431 0 R/XYZ 0 15259 1] -endobj - -3042 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -3043 0 obj -[1440 0 R/XYZ 0 15259 1] -endobj - -3044 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -3045 0 obj -[1445 0 R/XYZ 0 15259 1] -endobj - -3046 0 obj -[1447 0 R/XYZ 0 15259 1] -endobj - -3047 0 obj -[1468 0 R/XYZ 0 15259 1] -endobj - -3048 0 obj -[1426 0 R/XYZ 0 15259 1] -endobj - -3049 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -3050 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -3051 0 obj -[1448 0 R/XYZ 0 15259 1] -endobj - -3052 0 obj -[1454 0 R/XYZ 0 15259 1] -endobj - -3053 0 obj -[1466 0 R/XYZ 0 15259 1] -endobj - -3054 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -3055 0 obj -[1454 0 R/XYZ 0 15259 1] -endobj - -3056 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -3057 0 obj -[1450 0 R/XYZ 0 15259 1] -endobj - -3058 0 obj -[1451 0 R/XYZ 0 15259 1] -endobj - -3059 0 obj -[1464 0 R/XYZ 0 15259 1] -endobj - -3060 0 obj -[1466 0 R/XYZ 0 15259 1] -endobj - -3061 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -3062 0 obj -[1451 0 R/XYZ 0 15259 1] -endobj - -3063 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -3064 0 obj -[1449 0 R/XYZ 0 15259 1] -endobj - -3065 0 obj -[1451 0 R/XYZ 0 15259 1] -endobj - -3066 0 obj -[1456 0 R/XYZ 0 15259 1] -endobj - -3067 0 obj -[1461 0 R/XYZ 0 15259 1] -endobj - -3068 0 obj -[1463 0 R/XYZ 0 15259 1] -endobj - -3069 0 obj -[1475 0 R/XYZ 0 15259 1] -endobj - -3070 0 obj -[1451 0 R/XYZ 0 15259 1] -endobj - -3071 0 obj -[1426 0 R/XYZ 0 15259 1] -endobj - -3072 0 obj -[1440 0 R/XYZ 0 15259 1] -endobj - -3073 0 obj -[1460 0 R/XYZ 0 15259 1] -endobj - -3074 0 obj -[1428 0 R/XYZ 0 15259 1] -endobj - -3075 0 obj -[1440 0 R/XYZ 0 15259 1] -endobj - -3076 0 obj -[1446 0 R/XYZ 0 15259 1] -endobj - -3077 0 obj -[1465 0 R/XYZ 0 15259 1] -endobj - -3078 0 obj -[1468 0 R/XYZ 0 15259 1] -endobj - -3079 0 obj -[1428 0 R/XYZ 0 15259 1] -endobj - -3080 0 obj -[1465 0 R/XYZ 0 15259 1] -endobj - -3081 0 obj -[1426 0 R/XYZ 0 15259 1] -endobj - -3082 0 obj -[1440 0 R/XYZ 0 15259 1] -endobj - -3083 0 obj -[1460 0 R/XYZ 0 15259 1] -endobj - -3084 0 obj -[1426 0 R/XYZ 0 15259 1] -endobj - -3085 0 obj -[1429 0 R/XYZ 0 15259 1] -endobj - -3086 0 obj -[1431 0 R/XYZ 0 15259 1] -endobj - -3087 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -3088 0 obj -[1440 0 R/XYZ 0 15259 1] -endobj - -3089 0 obj -[1455 0 R/XYZ 0 15259 1] -endobj - -3090 0 obj -[1457 0 R/XYZ 0 15259 1] -endobj - -3091 0 obj -[1460 0 R/XYZ 0 15259 1] -endobj - -3092 0 obj -[1468 0 R/XYZ 0 15259 1] -endobj - -3093 0 obj -[1475 0 R/XYZ 0 15259 1] -endobj - -3094 0 obj -[1426 0 R/XYZ 0 15259 1] -endobj - -3095 0 obj -[1460 0 R/XYZ 0 15259 1] -endobj - -3096 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -3097 0 obj -[1455 0 R/XYZ 0 15259 1] -endobj - -3098 0 obj -[1457 0 R/XYZ 0 15259 1] -endobj - -3099 0 obj -[1458 0 R/XYZ 0 15259 1] -endobj - -3100 0 obj -[1461 0 R/XYZ 0 15259 1] -endobj - -3101 0 obj -[1463 0 R/XYZ 0 15259 1] -endobj - -3102 0 obj -[1468 0 R/XYZ 0 15259 1] -endobj - -3103 0 obj -[1475 0 R/XYZ 0 15259 1] -endobj - -3104 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -3105 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -3106 0 obj -[1457 0 R/XYZ 0 15259 1] -endobj - -3107 0 obj -[1132 0 R/XYZ 0 15259 1] -endobj - -3108 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -3109 0 obj -[1445 0 R/XYZ 0 15259 1] -endobj - -3110 0 obj -[1456 0 R/XYZ 0 15259 1] -endobj - -3111 0 obj -[1458 0 R/XYZ 0 15259 1] -endobj - -3112 0 obj -[1461 0 R/XYZ 0 15259 1] -endobj - -3113 0 obj -[1462 0 R/XYZ 0 15259 1] -endobj - -3114 0 obj -[1468 0 R/XYZ 0 15259 1] -endobj - -3115 0 obj -[1475 0 R/XYZ 0 15259 1] -endobj - -3116 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -3117 0 obj -[1458 0 R/XYZ 0 15259 1] -endobj - -3118 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -3119 0 obj -[1445 0 R/XYZ 0 15259 1] -endobj - -3120 0 obj -[1456 0 R/XYZ 0 15259 1] -endobj - -3121 0 obj -[1459 0 R/XYZ 0 15259 1] -endobj - -3122 0 obj -[1461 0 R/XYZ 0 15259 1] -endobj - -3123 0 obj -[1462 0 R/XYZ 0 15259 1] -endobj - -3124 0 obj -[1464 0 R/XYZ 0 15259 1] -endobj - -3125 0 obj -[1459 0 R/XYZ 0 15259 1] -endobj - -3126 0 obj -[572 0 R/XYZ 0 15259 1] -endobj - -3127 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -3128 0 obj -[740 0 R/XYZ 0 15259 1] -endobj - -3129 0 obj -[968 0 R/XYZ 0 15259 1] -endobj - -3130 0 obj -[1092 0 R/XYZ 0 15259 1] -endobj - -3131 0 obj -[1171 0 R/XYZ 0 15259 1] -endobj - -3132 0 obj -[1392 0 R/XYZ 0 15259 1] -endobj - -3133 0 obj -[968 0 R/XYZ 0 15259 1] -endobj - -3134 0 obj -[974 0 R/XYZ 0 15259 1] -endobj - -3135 0 obj -[1092 0 R/XYZ 0 15259 1] -endobj - -3136 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -3137 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -3138 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -3139 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -3140 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -3141 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -3142 0 obj -[1107 0 R/XYZ 0 15259 1] -endobj - -3143 0 obj -[1109 0 R/XYZ 0 15259 1] -endobj - -3144 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -3145 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -3146 0 obj -[1004 0 R/XYZ 0 15259 1] -endobj - -3147 0 obj -[1005 0 R/XYZ 0 15259 1] -endobj - -3148 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -3149 0 obj -[520 0 R/XYZ 0 15259 1] -endobj - -3150 0 obj -[601 0 R/XYZ 0 15259 1] -endobj - -3151 0 obj -[1359 0 R/XYZ 0 15259 1] -endobj - -3152 0 obj -[520 0 R/XYZ 0 15259 1] -endobj - -3153 0 obj -[520 0 R/XYZ 0 15259 1] -endobj - -3154 0 obj -[601 0 R/XYZ 0 15259 1] -endobj - -3155 0 obj -[520 0 R/XYZ 0 15259 1] -endobj - -3156 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -3157 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -3158 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -3159 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -3160 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -3161 0 obj -[1362 0 R/XYZ 0 15259 1] -endobj - -3162 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -3163 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -3164 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -3165 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -3166 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -3167 0 obj -[1362 0 R/XYZ 0 15259 1] -endobj - -3168 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -3169 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -3170 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -3171 0 obj -[489 0 R/XYZ 0 15259 1] -endobj - -3172 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -3173 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -3174 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -3175 0 obj -[497 0 R/XYZ 0 15259 1] -endobj - -3176 0 obj -[515 0 R/XYZ 0 15259 1] -endobj - -3177 0 obj -[834 0 R/XYZ 0 15259 1] -endobj - -3178 0 obj -[520 0 R/XYZ 0 15259 1] -endobj - -3179 0 obj -[1360 0 R/XYZ 0 15259 1] -endobj - -3180 0 obj -[520 0 R/XYZ 0 15259 1] -endobj - -3181 0 obj -[1360 0 R/XYZ 0 15259 1] -endobj - -3182 0 obj -[520 0 R/XYZ 0 15259 1] -endobj - -3183 0 obj -[1360 0 R/XYZ 0 15259 1] -endobj - -3184 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -3185 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -3186 0 obj -[595 0 R/XYZ 0 15259 1] -endobj - -3187 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -3188 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -3189 0 obj -[834 0 R/XYZ 0 15259 1] -endobj - -3190 0 obj -[845 0 R/XYZ 0 15259 1] -endobj - -3191 0 obj -[1357 0 R/XYZ 0 15259 1] -endobj - -3192 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -3193 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -3194 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -3195 0 obj -[1203 0 R/XYZ 0 15259 1] -endobj - -3196 0 obj -[1205 0 R/XYZ 0 15259 1] -endobj - -3197 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -3198 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -3199 0 obj -[386 0 R/XYZ 0 15259 1] -endobj - -3200 0 obj -[586 0 R/XYZ 0 15259 1] -endobj - -3201 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -3202 0 obj -[1360 0 R/XYZ 0 15259 1] -endobj - -3203 0 obj -[1516 0 R/XYZ 0 15259 1] -endobj - -3204 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -3205 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -3206 0 obj -[565 0 R/XYZ 0 15259 1] -endobj - -3207 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -3208 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -3209 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -3210 0 obj -<> -endobj - -3211 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -3212 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -3213 0 obj -[384 0 R/XYZ 0 15259 1] -endobj - -3214 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -3215 0 obj -[394 0 R/XYZ 0 15259 1] -endobj - -3216 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -3217 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -3218 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -3219 0 obj -[529 0 R/XYZ 0 15259 1] -endobj - -3220 0 obj -[538 0 R/XYZ 0 15259 1] -endobj - -3221 0 obj -[562 0 R/XYZ 0 15259 1] -endobj - -3222 0 obj -[565 0 R/XYZ 0 15259 1] -endobj - -3223 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -3224 0 obj -[580 0 R/XYZ 0 15259 1] -endobj - -3225 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -3226 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -3227 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -3228 0 obj -[657 0 R/XYZ 0 15259 1] -endobj - -3229 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3230 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -3231 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -3232 0 obj -[851 0 R/XYZ 0 15259 1] -endobj - -3233 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -3234 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -3235 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -3236 0 obj -[380 0 R/XYZ 0 15259 1] -endobj - -3237 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -3238 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -3239 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3240 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -3241 0 obj -[816 0 R/XYZ 0 15259 1] -endobj - -3242 0 obj -[540 0 R/XYZ 0 15259 1] -endobj - -3243 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -3244 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -3245 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -3246 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -3247 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -3248 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -3249 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -3250 0 obj -[411 0 R/XYZ 0 15259 1] -endobj - -3251 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -3252 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -3253 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -3254 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -3255 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -3256 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -3257 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -3258 0 obj -[384 0 R/XYZ 0 15259 1] -endobj - -3259 0 obj -[386 0 R/XYZ 0 15259 1] -endobj - -3260 0 obj -[586 0 R/XYZ 0 15259 1] -endobj - -3261 0 obj -[588 0 R/XYZ 0 15259 1] -endobj - -3262 0 obj -[1360 0 R/XYZ 0 15259 1] -endobj - -3263 0 obj -[1516 0 R/XYZ 0 15259 1] -endobj - -3264 0 obj -[386 0 R/XYZ 0 15259 1] -endobj - -3265 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -3266 0 obj -[586 0 R/XYZ 0 15259 1] -endobj - -3267 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -3268 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -3269 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -3270 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -3271 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -3272 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -3273 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -3274 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -3275 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -3276 0 obj -[1414 0 R/XYZ 0 15259 1] -endobj - -3277 0 obj -[1414 0 R/XYZ 0 15259 1] -endobj - -3278 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -3279 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -3280 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -3281 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -3282 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -3283 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -3284 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -3285 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -3286 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -3287 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -3288 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -3289 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -3290 0 obj -[1099 0 R/XYZ 0 15259 1] -endobj - -3291 0 obj -[556 0 R/XYZ 0 15259 1] -endobj - -3292 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -3293 0 obj -[1609 0 R/XYZ 0 15259 1] -endobj - -3294 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -3295 0 obj -[461 0 R/XYZ 0 15259 1] -endobj - -3296 0 obj -[478 0 R/XYZ 0 15259 1] -endobj - -3297 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -3298 0 obj -[503 0 R/XYZ 0 15259 1] -endobj - -3299 0 obj -[506 0 R/XYZ 0 15259 1] -endobj - -3300 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -3301 0 obj -[613 0 R/XYZ 0 15259 1] -endobj - -3302 0 obj -[636 0 R/XYZ 0 15259 1] -endobj - -3303 0 obj -[736 0 R/XYZ 0 15259 1] -endobj - -3304 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -3305 0 obj -[1061 0 R/XYZ 0 15259 1] -endobj - -3306 0 obj -[1094 0 R/XYZ 0 15259 1] -endobj - -3307 0 obj -[1095 0 R/XYZ 0 15259 1] -endobj - -3308 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -3309 0 obj -[1228 0 R/XYZ 0 15259 1] -endobj - -3310 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -3311 0 obj -[1608 0 R/XYZ 0 15259 1] -endobj - -3312 0 obj -[1621 0 R/XYZ 0 15259 1] -endobj - -3313 0 obj -[506 0 R/XYZ 0 15259 1] -endobj - -3314 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -3315 0 obj -[506 0 R/XYZ 0 15259 1] -endobj - -3316 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -3317 0 obj -[522 0 R/XYZ 0 15259 1] -endobj - -3318 0 obj -[613 0 R/XYZ 0 15259 1] -endobj - -3319 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -3320 0 obj -[1155 0 R/XYZ 0 15259 1] -endobj - -3321 0 obj -[1161 0 R/XYZ 0 15259 1] -endobj - -3322 0 obj -[1168 0 R/XYZ 0 15259 1] -endobj - -3323 0 obj -[1169 0 R/XYZ 0 15259 1] -endobj - -3324 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -3325 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -3326 0 obj -[1259 0 R/XYZ 0 15259 1] -endobj - -3327 0 obj -[1306 0 R/XYZ 0 15259 1] -endobj - -3328 0 obj -[1401 0 R/XYZ 0 15259 1] -endobj - -3329 0 obj -[1403 0 R/XYZ 0 15259 1] -endobj - -3330 0 obj -[1414 0 R/XYZ 0 15259 1] -endobj - -3331 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -3332 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -3333 0 obj -[1608 0 R/XYZ 0 15259 1] -endobj - -3334 0 obj -[506 0 R/XYZ 0 15259 1] -endobj - -3335 0 obj -[1189 0 R/XYZ 0 15259 1] -endobj - -3336 0 obj -[396 0 R/XYZ 0 15259 1] -endobj - -3337 0 obj -[397 0 R/XYZ 0 15259 1] -endobj - -3338 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -3339 0 obj -[1089 0 R/XYZ 0 15259 1] -endobj - -3340 0 obj -[1101 0 R/XYZ 0 15259 1] -endobj - -3341 0 obj -[1618 0 R/XYZ 0 15259 1] -endobj - -3342 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -3343 0 obj -[930 0 R/XYZ 0 15259 1] -endobj - -3344 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -3345 0 obj -[1083 0 R/XYZ 0 15259 1] -endobj - -3346 0 obj -[1085 0 R/XYZ 0 15259 1] -endobj - -3347 0 obj -[1089 0 R/XYZ 0 15259 1] -endobj - -3348 0 obj -[1098 0 R/XYZ 0 15259 1] -endobj - -3349 0 obj -[1099 0 R/XYZ 0 15259 1] -endobj - -3350 0 obj -[1101 0 R/XYZ 0 15259 1] -endobj - -3351 0 obj -[1123 0 R/XYZ 0 15259 1] -endobj - -3352 0 obj -[1188 0 R/XYZ 0 15259 1] -endobj - -3353 0 obj -[1195 0 R/XYZ 0 15259 1] -endobj - -3354 0 obj -[1196 0 R/XYZ 0 15259 1] -endobj - -3355 0 obj -[1209 0 R/XYZ 0 15259 1] -endobj - -3356 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -3357 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -3358 0 obj -[461 0 R/XYZ 0 15259 1] -endobj - -3359 0 obj -[1616 0 R/XYZ 0 15259 1] -endobj - -3360 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -3361 0 obj -[965 0 R/XYZ 0 15259 1] -endobj - -3362 0 obj -[978 0 R/XYZ 0 15259 1] -endobj - -3363 0 obj -[990 0 R/XYZ 0 15259 1] -endobj - -3364 0 obj -[1124 0 R/XYZ 0 15259 1] -endobj - -3365 0 obj -[874 0 R/XYZ 0 15259 1] -endobj - -3366 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -3367 0 obj -[923 0 R/XYZ 0 15259 1] -endobj - -3368 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -3369 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -3370 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -3371 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -3372 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -3373 0 obj -[1370 0 R/XYZ 0 15259 1] -endobj - -3374 0 obj -[1372 0 R/XYZ 0 15259 1] -endobj - -3375 0 obj -[1405 0 R/XYZ 0 15259 1] -endobj - -3376 0 obj -[697 0 R/XYZ 0 15259 1] -endobj - -3377 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -3378 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -3379 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -3380 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -3381 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -3382 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -3383 0 obj -[1405 0 R/XYZ 0 15259 1] -endobj - -3384 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -3385 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -3386 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -3387 0 obj -[1405 0 R/XYZ 0 15259 1] -endobj - -3388 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -3389 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -3390 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -3391 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -3392 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -3393 0 obj -[1405 0 R/XYZ 0 15259 1] -endobj - -3394 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -3395 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -3396 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -3397 0 obj -[919 0 R/XYZ 0 15259 1] -endobj - -3398 0 obj -[921 0 R/XYZ 0 15259 1] -endobj - -3399 0 obj -[922 0 R/XYZ 0 15259 1] -endobj - -3400 0 obj -[1098 0 R/XYZ 0 15259 1] -endobj - -3401 0 obj -[1099 0 R/XYZ 0 15259 1] -endobj - -3402 0 obj -[990 0 R/XYZ 0 15259 1] -endobj - -3403 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -3404 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -3405 0 obj -[1212 0 R/XYZ 0 15259 1] -endobj - -3406 0 obj -[1625 0 R/XYZ 0 15259 1] -endobj - -3407 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -3408 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -3409 0 obj -[540 0 R/XYZ 0 15259 1] -endobj - -3410 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -3411 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -3412 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -3413 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -3414 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -3415 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -3416 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -3417 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -3418 0 obj -[771 0 R/XYZ 0 15259 1] -endobj - -3419 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -3420 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -3421 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -3422 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -3423 0 obj -[540 0 R/XYZ 0 15259 1] -endobj - -3424 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -3425 0 obj -[548 0 R/XYZ 0 15259 1] -endobj - -3426 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -3427 0 obj -[579 0 R/XYZ 0 15259 1] -endobj - -3428 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -3429 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -3430 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -3431 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -3432 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -3433 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -3434 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -3435 0 obj -[809 0 R/XYZ 0 15259 1] -endobj - -3436 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -3437 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -3438 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -3439 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -3440 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -3441 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -3442 0 obj -[1200 0 R/XYZ 0 15259 1] -endobj - -3443 0 obj -[1215 0 R/XYZ 0 15259 1] -endobj - -3444 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -3445 0 obj -[1286 0 R/XYZ 0 15259 1] -endobj - -3446 0 obj -[1289 0 R/XYZ 0 15259 1] -endobj - -3447 0 obj -[1503 0 R/XYZ 0 15259 1] -endobj - -3448 0 obj -[1618 0 R/XYZ 0 15259 1] -endobj - -3449 0 obj -[496 0 R/XYZ 0 15259 1] -endobj - -3450 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -3451 0 obj -[621 0 R/XYZ 0 15259 1] -endobj - -3452 0 obj -[625 0 R/XYZ 0 15259 1] -endobj - -3453 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -3454 0 obj -[1189 0 R/XYZ 0 15259 1] -endobj - -3455 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -3456 0 obj -[1196 0 R/XYZ 0 15259 1] -endobj - -3457 0 obj -[1207 0 R/XYZ 0 15259 1] -endobj - -3458 0 obj -[1128 0 R/XYZ 0 15259 1] -endobj - -3459 0 obj -[1129 0 R/XYZ 0 15259 1] -endobj - -3460 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -3461 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -3462 0 obj -[780 0 R/XYZ 0 15259 1] -endobj - -3463 0 obj -[781 0 R/XYZ 0 15259 1] -endobj - -3464 0 obj -[830 0 R/XYZ 0 15259 1] -endobj - -3465 0 obj -[866 0 R/XYZ 0 15259 1] -endobj - -3466 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -3467 0 obj -[883 0 R/XYZ 0 15259 1] -endobj - -3468 0 obj -[909 0 R/XYZ 0 15259 1] -endobj - -3469 0 obj -[922 0 R/XYZ 0 15259 1] -endobj - -3470 0 obj -[1106 0 R/XYZ 0 15259 1] -endobj - -3471 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -3472 0 obj -[1123 0 R/XYZ 0 15259 1] -endobj - -3473 0 obj -[1162 0 R/XYZ 0 15259 1] -endobj - -3474 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -3475 0 obj -[1188 0 R/XYZ 0 15259 1] -endobj - -3476 0 obj -[1189 0 R/XYZ 0 15259 1] -endobj - -3477 0 obj -[1195 0 R/XYZ 0 15259 1] -endobj - -3478 0 obj -[1196 0 R/XYZ 0 15259 1] -endobj - -3479 0 obj -[1260 0 R/XYZ 0 15259 1] -endobj - -3480 0 obj -[450 0 R/XYZ 0 15259 1] -endobj - -3481 0 obj -[455 0 R/XYZ 0 15259 1] -endobj - -3482 0 obj -[456 0 R/XYZ 0 15259 1] -endobj - -3483 0 obj -[890 0 R/XYZ 0 15259 1] -endobj - -3484 0 obj -[952 0 R/XYZ 0 15259 1] -endobj - -3485 0 obj -[1160 0 R/XYZ 0 15259 1] -endobj - -3486 0 obj -[1162 0 R/XYZ 0 15259 1] -endobj - -3487 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -3488 0 obj -[1370 0 R/XYZ 0 15259 1] -endobj - -3489 0 obj -[1372 0 R/XYZ 0 15259 1] -endobj - -3490 0 obj -[1460 0 R/XYZ 0 15259 1] -endobj - -3491 0 obj -[1614 0 R/XYZ 0 15259 1] -endobj - -3492 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -3493 0 obj -[857 0 R/XYZ 0 15259 1] -endobj - -3494 0 obj -[1517 0 R/XYZ 0 15259 1] -endobj - -3495 0 obj -[1518 0 R/XYZ 0 15259 1] -endobj - -3496 0 obj -[1520 0 R/XYZ 0 15259 1] -endobj - -3497 0 obj -[1521 0 R/XYZ 0 15259 1] -endobj - -3498 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -3499 0 obj -[572 0 R/XYZ 0 15259 1] -endobj - -3500 0 obj -[1161 0 R/XYZ 0 15259 1] -endobj - -3501 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -3502 0 obj -[1250 0 R/XYZ 0 15259 1] -endobj - -3503 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -3504 0 obj -[1286 0 R/XYZ 0 15259 1] -endobj - -3505 0 obj -[1289 0 R/XYZ 0 15259 1] -endobj - -3506 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -3507 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -3508 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -3509 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -3510 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -3511 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -3512 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -3513 0 obj -[1234 0 R/XYZ 0 15259 1] -endobj - -3514 0 obj -[1234 0 R/XYZ 0 15259 1] -endobj - -3515 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -3516 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -3517 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -3518 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -3519 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -3520 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -3521 0 obj -[659 0 R/XYZ 0 15259 1] -endobj - -3522 0 obj -[661 0 R/XYZ 0 15259 1] -endobj - -3523 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -3524 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -3525 0 obj -[659 0 R/XYZ 0 15259 1] -endobj - -3526 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -3527 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -3528 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -3529 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -3530 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -3531 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -3532 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -3533 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -3534 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -3535 0 obj -[397 0 R/XYZ 0 15259 1] -endobj - -3536 0 obj -[643 0 R/XYZ 0 15259 1] -endobj - -3537 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -3538 0 obj -[1426 0 R/XYZ 0 15259 1] -endobj - -3539 0 obj -[1460 0 R/XYZ 0 15259 1] -endobj - -3540 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -3541 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -3542 0 obj -[1614 0 R/XYZ 0 15259 1] -endobj - -3543 0 obj -[1189 0 R/XYZ 0 15259 1] -endobj - -3544 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -3545 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -3546 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -3547 0 obj -<> -endobj - -3548 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -3549 0 obj -[1012 0 R/XYZ 0 15259 1] -endobj - -3550 0 obj -[1342 0 R/XYZ 0 15259 1] -endobj - -3551 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -3552 0 obj -[697 0 R/XYZ 0 15259 1] -endobj - -3553 0 obj -[699 0 R/XYZ 0 15259 1] -endobj - -3554 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3555 0 obj -[712 0 R/XYZ 0 15259 1] -endobj - -3556 0 obj -[763 0 R/XYZ 0 15259 1] -endobj - -3557 0 obj -[768 0 R/XYZ 0 15259 1] -endobj - -3558 0 obj -[1027 0 R/XYZ 0 15259 1] -endobj - -3559 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -3560 0 obj -[1034 0 R/XYZ 0 15259 1] -endobj - -3561 0 obj -[1620 0 R/XYZ 0 15259 1] -endobj - -3562 0 obj -[697 0 R/XYZ 0 15259 1] -endobj - -3563 0 obj -[699 0 R/XYZ 0 15259 1] -endobj - -3564 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -3565 0 obj -[763 0 R/XYZ 0 15259 1] -endobj - -3566 0 obj -[809 0 R/XYZ 0 15259 1] -endobj - -3567 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -3568 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -3569 0 obj -[712 0 R/XYZ 0 15259 1] -endobj - -3570 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3571 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3572 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -3573 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3574 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -3575 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -3576 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -3577 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3578 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3579 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -3580 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3581 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3582 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3583 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3584 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3585 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3586 0 obj -[1439 0 R/XYZ 0 15259 1] -endobj - -3587 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3588 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3589 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -3590 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -3591 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -3592 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -3593 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3594 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3595 0 obj -[1155 0 R/XYZ 0 15259 1] -endobj - -3596 0 obj -[1159 0 R/XYZ 0 15259 1] -endobj - -3597 0 obj -[1160 0 R/XYZ 0 15259 1] -endobj - -3598 0 obj -[538 0 R/XYZ 0 15259 1] -endobj - -3599 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3600 0 obj -[762 0 R/XYZ 0 15259 1] -endobj - -3601 0 obj -[763 0 R/XYZ 0 15259 1] -endobj - -3602 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -3603 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -3604 0 obj -[777 0 R/XYZ 0 15259 1] -endobj - -3605 0 obj -[780 0 R/XYZ 0 15259 1] -endobj - -3606 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -3607 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -3608 0 obj -[556 0 R/XYZ 0 15259 1] -endobj - -3609 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3610 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3611 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -3612 0 obj -[1412 0 R/XYZ 0 15259 1] -endobj - -3613 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3614 0 obj -[810 0 R/XYZ 0 15259 1] -endobj - -3615 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -3616 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3617 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -3618 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -3619 0 obj -[682 0 R/XYZ 0 15259 1] -endobj - -3620 0 obj -[684 0 R/XYZ 0 15259 1] -endobj - -3621 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -3622 0 obj -[1619 0 R/XYZ 0 15259 1] -endobj - -3623 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -3624 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -3625 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -3626 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -3627 0 obj -[617 0 R/XYZ 0 15259 1] -endobj - -3628 0 obj -[619 0 R/XYZ 0 15259 1] -endobj - -3629 0 obj -[622 0 R/XYZ 0 15259 1] -endobj - -3630 0 obj -[636 0 R/XYZ 0 15259 1] -endobj - -3631 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -3632 0 obj -[1162 0 R/XYZ 0 15259 1] -endobj - -3633 0 obj -[1164 0 R/XYZ 0 15259 1] -endobj - -3634 0 obj -[1166 0 R/XYZ 0 15259 1] -endobj - -3635 0 obj -[1168 0 R/XYZ 0 15259 1] -endobj - -3636 0 obj -[1169 0 R/XYZ 0 15259 1] -endobj - -3637 0 obj -[1316 0 R/XYZ 0 15259 1] -endobj - -3638 0 obj -[1404 0 R/XYZ 0 15259 1] -endobj - -3639 0 obj -[1613 0 R/XYZ 0 15259 1] -endobj - -3640 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -3641 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -3642 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -3643 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -3644 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -3645 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -3646 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -3647 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -3648 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -3649 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -3650 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -3651 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -3652 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -3653 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -3654 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -3655 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -3656 0 obj -[1011 0 R/XYZ 0 15259 1] -endobj - -3657 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -3658 0 obj -[1153 0 R/XYZ 0 15259 1] -endobj - -3659 0 obj -[1637 0 R/XYZ 0 15259 1] -endobj - -3660 0 obj -[405 0 R/XYZ 0 15259 1] -endobj - -3661 0 obj -[408 0 R/XYZ 0 15259 1] -endobj - -3662 0 obj -[579 0 R/XYZ 0 15259 1] -endobj - -3663 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -3664 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -3665 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -3666 0 obj -[1289 0 R/XYZ 0 15259 1] -endobj - -3667 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -3668 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -3669 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -3670 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -3671 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -3672 0 obj -[1366 0 R/XYZ 0 15259 1] -endobj - -3673 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -3674 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -3675 0 obj -[1338 0 R/XYZ 0 15259 1] -endobj - -3676 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -3677 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -3678 0 obj -[1599 0 R/XYZ 0 15259 1] -endobj - -3679 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -3680 0 obj -[1453 0 R/XYZ 0 15259 1] -endobj - -3681 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -3682 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -3683 0 obj -[1599 0 R/XYZ 0 15259 1] -endobj - -3684 0 obj -[1503 0 R/XYZ 0 15259 1] -endobj - -3685 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -3686 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -3687 0 obj -[1599 0 R/XYZ 0 15259 1] -endobj - -3688 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -3689 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -3690 0 obj -[1600 0 R/XYZ 0 15259 1] -endobj - -3691 0 obj -[396 0 R/XYZ 0 15259 1] -endobj - -3692 0 obj -[397 0 R/XYZ 0 15259 1] -endobj - -3693 0 obj -[450 0 R/XYZ 0 15259 1] -endobj - -3694 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -3695 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -3696 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -3697 0 obj -[488 0 R/XYZ 0 15259 1] -endobj - -3698 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -3699 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -3700 0 obj -[606 0 R/XYZ 0 15259 1] -endobj - -3701 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -3702 0 obj -[780 0 R/XYZ 0 15259 1] -endobj - -3703 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -3704 0 obj -[830 0 R/XYZ 0 15259 1] -endobj - -3705 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -3706 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -3707 0 obj -[857 0 R/XYZ 0 15259 1] -endobj - -3708 0 obj -[866 0 R/XYZ 0 15259 1] -endobj - -3709 0 obj -[867 0 R/XYZ 0 15259 1] -endobj - -3710 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -3711 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -3712 0 obj -[874 0 R/XYZ 0 15259 1] -endobj - -3713 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -3714 0 obj -[883 0 R/XYZ 0 15259 1] -endobj - -3715 0 obj -[890 0 R/XYZ 0 15259 1] -endobj - -3716 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -3717 0 obj -[909 0 R/XYZ 0 15259 1] -endobj - -3718 0 obj -[923 0 R/XYZ 0 15259 1] -endobj - -3719 0 obj -[930 0 R/XYZ 0 15259 1] -endobj - -3720 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -3721 0 obj -[945 0 R/XYZ 0 15259 1] -endobj - -3722 0 obj -[948 0 R/XYZ 0 15259 1] -endobj - -3723 0 obj -[1030 0 R/XYZ 0 15259 1] -endobj - -3724 0 obj -[1031 0 R/XYZ 0 15259 1] -endobj - -3725 0 obj -[1040 0 R/XYZ 0 15259 1] -endobj - -3726 0 obj -[1065 0 R/XYZ 0 15259 1] -endobj - -3727 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -3728 0 obj -[1083 0 R/XYZ 0 15259 1] -endobj - -3729 0 obj -[1085 0 R/XYZ 0 15259 1] -endobj - -3730 0 obj -[1089 0 R/XYZ 0 15259 1] -endobj - -3731 0 obj -[1101 0 R/XYZ 0 15259 1] -endobj - -3732 0 obj -[1106 0 R/XYZ 0 15259 1] -endobj - -3733 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -3734 0 obj -[1122 0 R/XYZ 0 15259 1] -endobj - -3735 0 obj -[1123 0 R/XYZ 0 15259 1] -endobj - -3736 0 obj -[1153 0 R/XYZ 0 15259 1] -endobj - -3737 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -3738 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -3739 0 obj -[1189 0 R/XYZ 0 15259 1] -endobj - -3740 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -3741 0 obj -[1207 0 R/XYZ 0 15259 1] -endobj - -3742 0 obj -[1209 0 R/XYZ 0 15259 1] -endobj - -3743 0 obj -[1212 0 R/XYZ 0 15259 1] -endobj - -3744 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -3745 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -3746 0 obj -[1250 0 R/XYZ 0 15259 1] -endobj - -3747 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -3748 0 obj -[1286 0 R/XYZ 0 15259 1] -endobj - -3749 0 obj -[1287 0 R/XYZ 0 15259 1] -endobj - -3750 0 obj -[1289 0 R/XYZ 0 15259 1] -endobj - -3751 0 obj -[1342 0 R/XYZ 0 15259 1] -endobj - -3752 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -3753 0 obj -[1426 0 R/XYZ 0 15259 1] -endobj - -3754 0 obj -[1499 0 R/XYZ 0 15259 1] -endobj - -3755 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -3756 0 obj -[1625 0 R/XYZ 0 15259 1] -endobj - -3757 0 obj -[1637 0 R/XYZ 0 15259 1] -endobj - -3758 0 obj -[396 0 R/XYZ 0 15259 1] -endobj - -3759 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -3760 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -3761 0 obj -[396 0 R/XYZ 0 15259 1] -endobj - -3762 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -3763 0 obj -[1063 0 R/XYZ 0 15259 1] -endobj - -3764 0 obj -[1068 0 R/XYZ 0 15259 1] -endobj - -3765 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -3766 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -3767 0 obj -[1603 0 R/XYZ 0 15259 1] -endobj - -3768 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -3769 0 obj -[762 0 R/XYZ 0 15259 1] -endobj - -3770 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -3771 0 obj -[386 0 R/XYZ 0 15259 1] -endobj - -3772 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -3773 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -3774 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -3775 0 obj -[1612 0 R/XYZ 0 15259 1] -endobj - -3776 0 obj -[1600 0 R/XYZ 0 15259 1] -endobj - -3777 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -3778 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -3779 0 obj -[1612 0 R/XYZ 0 15259 1] -endobj - -3780 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -3781 0 obj -[386 0 R/XYZ 0 15259 1] -endobj - -3782 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -3783 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -3784 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -3785 0 obj -[488 0 R/XYZ 0 15259 1] -endobj - -3786 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -3787 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -3788 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -3789 0 obj -[400 0 R/XYZ 0 15259 1] -endobj - -3790 0 obj -[402 0 R/XYZ 0 15259 1] -endobj - -3791 0 obj -[656 0 R/XYZ 0 15259 1] -endobj - -3792 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -3793 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -3794 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -3795 0 obj -[1489 0 R/XYZ 0 15259 1] -endobj - -3796 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -3797 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -3798 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -3799 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -3800 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -3801 0 obj -[380 0 R/XYZ 0 15259 1] -endobj - -3802 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -3803 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -3804 0 obj -[656 0 R/XYZ 0 15259 1] -endobj - -3805 0 obj -[657 0 R/XYZ 0 15259 1] -endobj - -3806 0 obj -[659 0 R/XYZ 0 15259 1] -endobj - -3807 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -3808 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -3809 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -3810 0 obj -[1487 0 R/XYZ 0 15259 1] -endobj - -3811 0 obj -[1489 0 R/XYZ 0 15259 1] -endobj - -3812 0 obj -[1493 0 R/XYZ 0 15259 1] -endobj - -3813 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -3814 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -3815 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -3816 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -3817 0 obj -[815 0 R/XYZ 0 15259 1] -endobj - -3818 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -3819 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -3820 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -3821 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -3822 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -3823 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -3824 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -3825 0 obj -[1379 0 R/XYZ 0 15259 1] -endobj - -3826 0 obj -[809 0 R/XYZ 0 15259 1] -endobj - -3827 0 obj -[1494 0 R/XYZ 0 15259 1] -endobj - -3828 0 obj -[1499 0 R/XYZ 0 15259 1] -endobj - -3829 0 obj -[974 0 R/XYZ 0 15259 1] -endobj - -3830 0 obj -[983 0 R/XYZ 0 15259 1] -endobj - -3831 0 obj -[985 0 R/XYZ 0 15259 1] -endobj - -3832 0 obj -[1209 0 R/XYZ 0 15259 1] -endobj - -3833 0 obj -[1494 0 R/XYZ 0 15259 1] -endobj - -3834 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -3835 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -3836 0 obj -[1083 0 R/XYZ 0 15259 1] -endobj - -3837 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -3838 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -3839 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -3840 0 obj -[392 0 R/XYZ 0 15259 1] -endobj - -3841 0 obj -[394 0 R/XYZ 0 15259 1] -endobj - -3842 0 obj -[410 0 R/XYZ 0 15259 1] -endobj - -3843 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -3844 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -3845 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -3846 0 obj -[506 0 R/XYZ 0 15259 1] -endobj - -3847 0 obj -[511 0 R/XYZ 0 15259 1] -endobj - -3848 0 obj -[538 0 R/XYZ 0 15259 1] -endobj - -3849 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -3850 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -3851 0 obj -[688 0 R/XYZ 0 15259 1] -endobj - -3852 0 obj -[693 0 R/XYZ 0 15259 1] -endobj - -3853 0 obj -[697 0 R/XYZ 0 15259 1] -endobj - -3854 0 obj -[726 0 R/XYZ 0 15259 1] -endobj - -3855 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -3856 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -3857 0 obj -[740 0 R/XYZ 0 15259 1] -endobj - -3858 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -3859 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -3860 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -3861 0 obj -[775 0 R/XYZ 0 15259 1] -endobj - -3862 0 obj -[779 0 R/XYZ 0 15259 1] -endobj - -3863 0 obj -[781 0 R/XYZ 0 15259 1] -endobj - -3864 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -3865 0 obj -[787 0 R/XYZ 0 15259 1] -endobj - -3866 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -3867 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -3868 0 obj -[802 0 R/XYZ 0 15259 1] -endobj - -3869 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -3870 0 obj -[809 0 R/XYZ 0 15259 1] -endobj - -3871 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -3872 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -3873 0 obj -[816 0 R/XYZ 0 15259 1] -endobj - -3874 0 obj -[819 0 R/XYZ 0 15259 1] -endobj - -3875 0 obj -[835 0 R/XYZ 0 15259 1] -endobj - -3876 0 obj -<> -endobj - -3877 0 obj -[862 0 R/XYZ 0 15259 1] -endobj - -3878 0 obj -[924 0 R/XYZ 0 15259 1] -endobj - -3879 0 obj -[1044 0 R/XYZ 0 15259 1] -endobj - -3880 0 obj -[1076 0 R/XYZ 0 15259 1] -endobj - -3881 0 obj -[1094 0 R/XYZ 0 15259 1] -endobj - -3882 0 obj -[1139 0 R/XYZ 0 15259 1] -endobj - -3883 0 obj -[1148 0 R/XYZ 0 15259 1] -endobj - -3884 0 obj -[1154 0 R/XYZ 0 15259 1] -endobj - -3885 0 obj -[1158 0 R/XYZ 0 15259 1] -endobj - -3886 0 obj -[1178 0 R/XYZ 0 15259 1] -endobj - -3887 0 obj -[1214 0 R/XYZ 0 15259 1] -endobj - -3888 0 obj -[1304 0 R/XYZ 0 15259 1] -endobj - -3889 0 obj -[1305 0 R/XYZ 0 15259 1] -endobj - -3890 0 obj -[1309 0 R/XYZ 0 15259 1] -endobj - -3891 0 obj -[1311 0 R/XYZ 0 15259 1] -endobj - -3892 0 obj -[1322 0 R/XYZ 0 15259 1] -endobj - -3893 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -3894 0 obj -[1388 0 R/XYZ 0 15259 1] -endobj - -3895 0 obj -[1392 0 R/XYZ 0 15259 1] -endobj - -3896 0 obj -[1395 0 R/XYZ 0 15259 1] -endobj - -3897 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -3898 0 obj -[1414 0 R/XYZ 0 15259 1] -endobj - -3899 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -3900 0 obj -[1620 0 R/XYZ 0 15259 1] -endobj - -3901 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -3902 0 obj -[1649 0 R/XYZ 0 15259 1] -endobj - -3903 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -3904 0 obj -[763 0 R/XYZ 0 15259 1] -endobj - -3905 0 obj -[775 0 R/XYZ 0 15259 1] -endobj - -3906 0 obj -[780 0 R/XYZ 0 15259 1] -endobj - -3907 0 obj -[781 0 R/XYZ 0 15259 1] -endobj - -3908 0 obj -[788 0 R/XYZ 0 15259 1] -endobj - -3909 0 obj -[790 0 R/XYZ 0 15259 1] -endobj - -3910 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -3911 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -3912 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -3913 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -3914 0 obj -[922 0 R/XYZ 0 15259 1] -endobj - -3915 0 obj -[923 0 R/XYZ 0 15259 1] -endobj - -3916 0 obj -[1155 0 R/XYZ 0 15259 1] -endobj - -3917 0 obj -[1161 0 R/XYZ 0 15259 1] -endobj - -3918 0 obj -[1168 0 R/XYZ 0 15259 1] -endobj - -3919 0 obj -[1169 0 R/XYZ 0 15259 1] -endobj - -3920 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -3921 0 obj -[1306 0 R/XYZ 0 15259 1] -endobj - -3922 0 obj -[1412 0 R/XYZ 0 15259 1] -endobj - -3923 0 obj -[1622 0 R/XYZ 0 15259 1] -endobj - -3924 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -3925 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -3926 0 obj -[763 0 R/XYZ 0 15259 1] -endobj - -3927 0 obj -[766 0 R/XYZ 0 15259 1] -endobj - -3928 0 obj -[810 0 R/XYZ 0 15259 1] -endobj - -3929 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -3930 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -3931 0 obj -[393 0 R/XYZ 0 15259 1] -endobj - -3932 0 obj -[394 0 R/XYZ 0 15259 1] -endobj - -3933 0 obj -[403 0 R/XYZ 0 15259 1] -endobj - -3934 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -3935 0 obj -[763 0 R/XYZ 0 15259 1] -endobj - -3936 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -3937 0 obj -[766 0 R/XYZ 0 15259 1] -endobj - -3938 0 obj -[779 0 R/XYZ 0 15259 1] -endobj - -3939 0 obj -[780 0 R/XYZ 0 15259 1] -endobj - -3940 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -3941 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -3942 0 obj -[1622 0 R/XYZ 0 15259 1] -endobj - -3943 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -3944 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -3945 0 obj -[763 0 R/XYZ 0 15259 1] -endobj - -3946 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -3947 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -3948 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -3949 0 obj -[763 0 R/XYZ 0 15259 1] -endobj - -3950 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -3951 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -3952 0 obj -[1622 0 R/XYZ 0 15259 1] -endobj - -3953 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -3954 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -3955 0 obj -[763 0 R/XYZ 0 15259 1] -endobj - -3956 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -3957 0 obj -[1405 0 R/XYZ 0 15259 1] -endobj - -3958 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -3959 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -3960 0 obj -[1605 0 R/XYZ 0 15259 1] -endobj - -3961 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -3962 0 obj -[690 0 R/XYZ 0 15259 1] -endobj - -3963 0 obj -[693 0 R/XYZ 0 15259 1] -endobj - -3964 0 obj -[743 0 R/XYZ 0 15259 1] -endobj - -3965 0 obj -[744 0 R/XYZ 0 15259 1] -endobj - -3966 0 obj -[747 0 R/XYZ 0 15259 1] -endobj - -3967 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -3968 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -3969 0 obj -[919 0 R/XYZ 0 15259 1] -endobj - -3970 0 obj -[951 0 R/XYZ 0 15259 1] -endobj - -3971 0 obj -[1031 0 R/XYZ 0 15259 1] -endobj - -3972 0 obj -[690 0 R/XYZ 0 15259 1] -endobj - -3973 0 obj -[690 0 R/XYZ 0 15259 1] -endobj - -3974 0 obj -[693 0 R/XYZ 0 15259 1] -endobj - -3975 0 obj -[741 0 R/XYZ 0 15259 1] -endobj - -3976 0 obj -[747 0 R/XYZ 0 15259 1] -endobj - -3977 0 obj -[780 0 R/XYZ 0 15259 1] -endobj - -3978 0 obj -[781 0 R/XYZ 0 15259 1] -endobj - -3979 0 obj -[802 0 R/XYZ 0 15259 1] -endobj - -3980 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -3981 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -3982 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -3983 0 obj -[919 0 R/XYZ 0 15259 1] -endobj - -3984 0 obj -[922 0 R/XYZ 0 15259 1] -endobj - -3985 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -3986 0 obj -[951 0 R/XYZ 0 15259 1] -endobj - -3987 0 obj -[1031 0 R/XYZ 0 15259 1] -endobj - -3988 0 obj -[1621 0 R/XYZ 0 15259 1] -endobj - -3989 0 obj -[1624 0 R/XYZ 0 15259 1] -endobj - -3990 0 obj -[690 0 R/XYZ 0 15259 1] -endobj - -3991 0 obj -[386 0 R/XYZ 0 15259 1] -endobj - -3992 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -3993 0 obj -[622 0 R/XYZ 0 15259 1] -endobj - -3994 0 obj -[690 0 R/XYZ 0 15259 1] -endobj - -3995 0 obj -[694 0 R/XYZ 0 15259 1] -endobj - -3996 0 obj -[727 0 R/XYZ 0 15259 1] -endobj - -3997 0 obj -[736 0 R/XYZ 0 15259 1] -endobj - -3998 0 obj -[740 0 R/XYZ 0 15259 1] -endobj - -3999 0 obj -[747 0 R/XYZ 0 15259 1] -endobj - -4000 0 obj -[757 0 R/XYZ 0 15259 1] -endobj - -4001 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -4002 0 obj -[780 0 R/XYZ 0 15259 1] -endobj - -4003 0 obj -[787 0 R/XYZ 0 15259 1] -endobj - -4004 0 obj -[788 0 R/XYZ 0 15259 1] -endobj - -4005 0 obj -[790 0 R/XYZ 0 15259 1] -endobj - -4006 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -4007 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -4008 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -4009 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -4010 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -4011 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -4012 0 obj -[951 0 R/XYZ 0 15259 1] -endobj - -4013 0 obj -[1031 0 R/XYZ 0 15259 1] -endobj - -4014 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -4015 0 obj -[1159 0 R/XYZ 0 15259 1] -endobj - -4016 0 obj -[1370 0 R/XYZ 0 15259 1] -endobj - -4017 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -4018 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -4019 0 obj -[1511 0 R/XYZ 0 15259 1] -endobj - -4020 0 obj -[1524 0 R/XYZ 0 15259 1] -endobj - -4021 0 obj -[1593 0 R/XYZ 0 15259 1] -endobj - -4022 0 obj -[1620 0 R/XYZ 0 15259 1] -endobj - -4023 0 obj -[1621 0 R/XYZ 0 15259 1] -endobj - -4024 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -4025 0 obj -[690 0 R/XYZ 0 15259 1] -endobj - -4026 0 obj -[692 0 R/XYZ 0 15259 1] -endobj - -4027 0 obj -[1391 0 R/XYZ 0 15259 1] -endobj - -4028 0 obj -[1414 0 R/XYZ 0 15259 1] -endobj - -4029 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -4030 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -4031 0 obj -[1245 0 R/XYZ 0 15259 1] -endobj - -4032 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -4033 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -4034 0 obj -[497 0 R/XYZ 0 15259 1] -endobj - -4035 0 obj -[515 0 R/XYZ 0 15259 1] -endobj - -4036 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -4037 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -4038 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -4039 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -4040 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -4041 0 obj -[545 0 R/XYZ 0 15259 1] -endobj - -4042 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -4043 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4044 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -4045 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -4046 0 obj -[1433 0 R/XYZ 0 15259 1] -endobj - -4047 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -4048 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -4049 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -4050 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -4051 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -4052 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -4053 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -4054 0 obj -[548 0 R/XYZ 0 15259 1] -endobj - -4055 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -4056 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -4057 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -4058 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -4059 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4060 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -4061 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -4062 0 obj -[548 0 R/XYZ 0 15259 1] -endobj - -4063 0 obj -[548 0 R/XYZ 0 15259 1] -endobj - -4064 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -4065 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -4066 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4067 0 obj -[548 0 R/XYZ 0 15259 1] -endobj - -4068 0 obj -[553 0 R/XYZ 0 15259 1] -endobj - -4069 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -4070 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -4071 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -4072 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4073 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -4074 0 obj -[553 0 R/XYZ 0 15259 1] -endobj - -4075 0 obj -[553 0 R/XYZ 0 15259 1] -endobj - -4076 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -4077 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -4078 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4079 0 obj -[553 0 R/XYZ 0 15259 1] -endobj - -4080 0 obj -[613 0 R/XYZ 0 15259 1] -endobj - -4081 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -4082 0 obj -[646 0 R/XYZ 0 15259 1] -endobj - -4083 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -4084 0 obj -[691 0 R/XYZ 0 15259 1] -endobj - -4085 0 obj -[693 0 R/XYZ 0 15259 1] -endobj - -4086 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -4087 0 obj -[919 0 R/XYZ 0 15259 1] -endobj - -4088 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4089 0 obj -[1162 0 R/XYZ 0 15259 1] -endobj - -4090 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -4091 0 obj -[1497 0 R/XYZ 0 15259 1] -endobj - -4092 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -4093 0 obj -[478 0 R/XYZ 0 15259 1] -endobj - -4094 0 obj -[503 0 R/XYZ 0 15259 1] -endobj - -4095 0 obj -[507 0 R/XYZ 0 15259 1] -endobj - -4096 0 obj -[517 0 R/XYZ 0 15259 1] -endobj - -4097 0 obj -[522 0 R/XYZ 0 15259 1] -endobj - -4098 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -4099 0 obj -[613 0 R/XYZ 0 15259 1] -endobj - -4100 0 obj -[636 0 R/XYZ 0 15259 1] -endobj - -4101 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -4102 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -4103 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -4104 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -4105 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4106 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -4107 0 obj -[1083 0 R/XYZ 0 15259 1] -endobj - -4108 0 obj -[1087 0 R/XYZ 0 15259 1] -endobj - -4109 0 obj -[1092 0 R/XYZ 0 15259 1] -endobj - -4110 0 obj -[1094 0 R/XYZ 0 15259 1] -endobj - -4111 0 obj -[1096 0 R/XYZ 0 15259 1] -endobj - -4112 0 obj -[1097 0 R/XYZ 0 15259 1] -endobj - -4113 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -4114 0 obj -[1120 0 R/XYZ 0 15259 1] -endobj - -4115 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -4116 0 obj -[1268 0 R/XYZ 0 15259 1] -endobj - -4117 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -4118 0 obj -[1470 0 R/XYZ 0 15259 1] -endobj - -4119 0 obj -[1472 0 R/XYZ 0 15259 1] -endobj - -4120 0 obj -[1639 0 R/XYZ 0 15259 1] -endobj - -4121 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -4122 0 obj -[511 0 R/XYZ 0 15259 1] -endobj - -4123 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -4124 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -4125 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -4126 0 obj -[515 0 R/XYZ 0 15259 1] -endobj - -4127 0 obj -[517 0 R/XYZ 0 15259 1] -endobj - -4128 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -4129 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -4130 0 obj -[1122 0 R/XYZ 0 15259 1] -endobj - -4131 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -4132 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -4133 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -4134 0 obj -[506 0 R/XYZ 0 15259 1] -endobj - -4135 0 obj -[511 0 R/XYZ 0 15259 1] -endobj - -4136 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -4137 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -4138 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -4139 0 obj -[1107 0 R/XYZ 0 15259 1] -endobj - -4140 0 obj -[1108 0 R/XYZ 0 15259 1] -endobj - -4141 0 obj -[1317 0 R/XYZ 0 15259 1] -endobj - -4142 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -4143 0 obj -[1107 0 R/XYZ 0 15259 1] -endobj - -4144 0 obj -[1107 0 R/XYZ 0 15259 1] -endobj - -4145 0 obj -[1108 0 R/XYZ 0 15259 1] -endobj - -4146 0 obj -[1317 0 R/XYZ 0 15259 1] -endobj - -4147 0 obj -[1511 0 R/XYZ 0 15259 1] -endobj - -4148 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -4149 0 obj -[1107 0 R/XYZ 0 15259 1] -endobj - -4150 0 obj -[613 0 R/XYZ 0 15259 1] -endobj - -4151 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -4152 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -4153 0 obj -[1161 0 R/XYZ 0 15259 1] -endobj - -4154 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -4155 0 obj -[613 0 R/XYZ 0 15259 1] -endobj - -4156 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -4157 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -4158 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -4159 0 obj -[1304 0 R/XYZ 0 15259 1] -endobj - -4160 0 obj -[1305 0 R/XYZ 0 15259 1] -endobj - -4161 0 obj -[1307 0 R/XYZ 0 15259 1] -endobj - -4162 0 obj -[1309 0 R/XYZ 0 15259 1] -endobj - -4163 0 obj -[1277 0 R/XYZ 0 15259 1] -endobj - -4164 0 obj -[1306 0 R/XYZ 0 15259 1] -endobj - -4165 0 obj -[1414 0 R/XYZ 0 15259 1] -endobj - -4166 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -4167 0 obj -[1277 0 R/XYZ 0 15259 1] -endobj - -4168 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -4169 0 obj -[1107 0 R/XYZ 0 15259 1] -endobj - -4170 0 obj -[1108 0 R/XYZ 0 15259 1] -endobj - -4171 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -4172 0 obj -[1316 0 R/XYZ 0 15259 1] -endobj - -4173 0 obj -[1499 0 R/XYZ 0 15259 1] -endobj - -4174 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -4175 0 obj -[1510 0 R/XYZ 0 15259 1] -endobj - -4176 0 obj -[1511 0 R/XYZ 0 15259 1] -endobj - -4177 0 obj -[1632 0 R/XYZ 0 15259 1] -endobj - -4178 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -4179 0 obj -[1639 0 R/XYZ 0 15259 1] -endobj - -4180 0 obj -[1107 0 R/XYZ 0 15259 1] -endobj - -4181 0 obj -[1108 0 R/XYZ 0 15259 1] -endobj - -4182 0 obj -[1316 0 R/XYZ 0 15259 1] -endobj - -4183 0 obj -[1317 0 R/XYZ 0 15259 1] -endobj - -4184 0 obj -[1499 0 R/XYZ 0 15259 1] -endobj - -4185 0 obj -[1510 0 R/XYZ 0 15259 1] -endobj - -4186 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -4187 0 obj -[1107 0 R/XYZ 0 15259 1] -endobj - -4188 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -4189 0 obj -[1108 0 R/XYZ 0 15259 1] -endobj - -4190 0 obj -[1632 0 R/XYZ 0 15259 1] -endobj - -4191 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -4192 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -4193 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -4194 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -4195 0 obj -[511 0 R/XYZ 0 15259 1] -endobj - -4196 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -4197 0 obj -[1107 0 R/XYZ 0 15259 1] -endobj - -4198 0 obj -[1108 0 R/XYZ 0 15259 1] -endobj - -4199 0 obj -[1316 0 R/XYZ 0 15259 1] -endobj - -4200 0 obj -[1499 0 R/XYZ 0 15259 1] -endobj - -4201 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -4202 0 obj -[1107 0 R/XYZ 0 15259 1] -endobj - -4203 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -4204 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -4205 0 obj -[513 0 R/XYZ 0 15259 1] -endobj - -4206 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -4207 0 obj -[815 0 R/XYZ 0 15259 1] -endobj - -4208 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -4209 0 obj -[1221 0 R/XYZ 0 15259 1] -endobj - -4210 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -4211 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -4212 0 obj -[617 0 R/XYZ 0 15259 1] -endobj - -4213 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -4214 0 obj -[617 0 R/XYZ 0 15259 1] -endobj - -4215 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -4216 0 obj -[617 0 R/XYZ 0 15259 1] -endobj - -4217 0 obj -[622 0 R/XYZ 0 15259 1] -endobj - -4218 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -4219 0 obj -[789 0 R/XYZ 0 15259 1] -endobj - -4220 0 obj -[1154 0 R/XYZ 0 15259 1] -endobj - -4221 0 obj -[1160 0 R/XYZ 0 15259 1] -endobj - -4222 0 obj -[1168 0 R/XYZ 0 15259 1] -endobj - -4223 0 obj -[617 0 R/XYZ 0 15259 1] -endobj - -4224 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -4225 0 obj -[762 0 R/XYZ 0 15259 1] -endobj - -4226 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -4227 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -4228 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -4229 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -4230 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -4231 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -4232 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -4233 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -4234 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -4235 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -4236 0 obj -[611 0 R/XYZ 0 15259 1] -endobj - -4237 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -4238 0 obj -[646 0 R/XYZ 0 15259 1] -endobj - -4239 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -4240 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -4241 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -4242 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4243 0 obj -[1164 0 R/XYZ 0 15259 1] -endobj - -4244 0 obj -[1166 0 R/XYZ 0 15259 1] -endobj - -4245 0 obj -[1171 0 R/XYZ 0 15259 1] -endobj - -4246 0 obj -[1366 0 R/XYZ 0 15259 1] -endobj - -4247 0 obj -[1392 0 R/XYZ 0 15259 1] -endobj - -4248 0 obj -[1600 0 R/XYZ 0 15259 1] -endobj - -4249 0 obj -[1603 0 R/XYZ 0 15259 1] -endobj - -4250 0 obj -[1613 0 R/XYZ 0 15259 1] -endobj - -4251 0 obj -[611 0 R/XYZ 0 15259 1] -endobj - -4252 0 obj -<> -endobj - -4253 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -4254 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -4255 0 obj -[617 0 R/XYZ 0 15259 1] -endobj - -4256 0 obj -[622 0 R/XYZ 0 15259 1] -endobj - -4257 0 obj -[623 0 R/XYZ 0 15259 1] -endobj - -4258 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4259 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -4260 0 obj -[511 0 R/XYZ 0 15259 1] -endobj - -4261 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -4262 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -4263 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -4264 0 obj -[511 0 R/XYZ 0 15259 1] -endobj - -4265 0 obj -[514 0 R/XYZ 0 15259 1] -endobj - -4266 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -4267 0 obj -[511 0 R/XYZ 0 15259 1] -endobj - -4268 0 obj -[1088 0 R/XYZ 0 15259 1] -endobj - -4269 0 obj -[1092 0 R/XYZ 0 15259 1] -endobj - -4270 0 obj -[511 0 R/XYZ 0 15259 1] -endobj - -4271 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -4272 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -4273 0 obj -[1268 0 R/XYZ 0 15259 1] -endobj - -4274 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -4275 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -4276 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4277 0 obj -[628 0 R/XYZ 0 15259 1] -endobj - -4278 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -4279 0 obj -[393 0 R/XYZ 0 15259 1] -endobj - -4280 0 obj -[403 0 R/XYZ 0 15259 1] -endobj - -4281 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -4282 0 obj -[619 0 R/XYZ 0 15259 1] -endobj - -4283 0 obj -[625 0 R/XYZ 0 15259 1] -endobj - -4284 0 obj -[641 0 R/XYZ 0 15259 1] -endobj - -4285 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -4286 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -4287 0 obj -[713 0 R/XYZ 0 15259 1] -endobj - -4288 0 obj -[715 0 R/XYZ 0 15259 1] -endobj - -4289 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4290 0 obj -[1154 0 R/XYZ 0 15259 1] -endobj - -4291 0 obj -[1160 0 R/XYZ 0 15259 1] -endobj - -4292 0 obj -[1166 0 R/XYZ 0 15259 1] -endobj - -4293 0 obj -[1168 0 R/XYZ 0 15259 1] -endobj - -4294 0 obj -[1171 0 R/XYZ 0 15259 1] -endobj - -4295 0 obj -[1256 0 R/XYZ 0 15259 1] -endobj - -4296 0 obj -[1262 0 R/XYZ 0 15259 1] -endobj - -4297 0 obj -[1305 0 R/XYZ 0 15259 1] -endobj - -4298 0 obj -[1413 0 R/XYZ 0 15259 1] -endobj - -4299 0 obj -[1439 0 R/XYZ 0 15259 1] -endobj - -4300 0 obj -[1497 0 R/XYZ 0 15259 1] -endobj - -4301 0 obj -[1541 0 R/XYZ 0 15259 1] -endobj - -4302 0 obj -[1611 0 R/XYZ 0 15259 1] -endobj - -4303 0 obj -[1613 0 R/XYZ 0 15259 1] -endobj - -4304 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -4305 0 obj -[619 0 R/XYZ 0 15259 1] -endobj - -4306 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4307 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4308 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -4309 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -4310 0 obj -[1171 0 R/XYZ 0 15259 1] -endobj - -4311 0 obj -[1177 0 R/XYZ 0 15259 1] -endobj - -4312 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -4313 0 obj -[540 0 R/XYZ 0 15259 1] -endobj - -4314 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -4315 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -4316 0 obj -[595 0 R/XYZ 0 15259 1] -endobj - -4317 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -4318 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -4319 0 obj -[595 0 R/XYZ 0 15259 1] -endobj - -4320 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -4321 0 obj -[1362 0 R/XYZ 0 15259 1] -endobj - -4322 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -4323 0 obj -[1292 0 R/XYZ 0 15259 1] -endobj - -4324 0 obj -[1302 0 R/XYZ 0 15259 1] -endobj - -4325 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -4326 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -4327 0 obj -[478 0 R/XYZ 0 15259 1] -endobj - -4328 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -4329 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -4330 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -4331 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -4332 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -4333 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -4334 0 obj -[489 0 R/XYZ 0 15259 1] -endobj - -4335 0 obj -[490 0 R/XYZ 0 15259 1] -endobj - -4336 0 obj -[556 0 R/XYZ 0 15259 1] -endobj - -4337 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -4338 0 obj -[545 0 R/XYZ 0 15259 1] -endobj - -4339 0 obj -[546 0 R/XYZ 0 15259 1] -endobj - -4340 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -4341 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -4342 0 obj -[642 0 R/XYZ 0 15259 1] -endobj - -4343 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -4344 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -4345 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -4346 0 obj -[487 0 R/XYZ 0 15259 1] -endobj - -4347 0 obj -[489 0 R/XYZ 0 15259 1] -endobj - -4348 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -4349 0 obj -[503 0 R/XYZ 0 15259 1] -endobj - -4350 0 obj -[504 0 R/XYZ 0 15259 1] -endobj - -4351 0 obj -[507 0 R/XYZ 0 15259 1] -endobj - -4352 0 obj -[736 0 R/XYZ 0 15259 1] -endobj - -4353 0 obj -[737 0 R/XYZ 0 15259 1] -endobj - -4354 0 obj -[1096 0 R/XYZ 0 15259 1] -endobj - -4355 0 obj -[1132 0 R/XYZ 0 15259 1] -endobj - -4356 0 obj -[1429 0 R/XYZ 0 15259 1] -endobj - -4357 0 obj -[1430 0 R/XYZ 0 15259 1] -endobj - -4358 0 obj -[1608 0 R/XYZ 0 15259 1] -endobj - -4359 0 obj -[540 0 R/XYZ 0 15259 1] -endobj - -4360 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -4361 0 obj -[606 0 R/XYZ 0 15259 1] -endobj - -4362 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -4363 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -4364 0 obj -[503 0 R/XYZ 0 15259 1] -endobj - -4365 0 obj -[736 0 R/XYZ 0 15259 1] -endobj - -4366 0 obj -[556 0 R/XYZ 0 15259 1] -endobj - -4367 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -4368 0 obj -[576 0 R/XYZ 0 15259 1] -endobj - -4369 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -4370 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -4371 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -4372 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -4373 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -4374 0 obj -[586 0 R/XYZ 0 15259 1] -endobj - -4375 0 obj -[605 0 R/XYZ 0 15259 1] -endobj - -4376 0 obj -[606 0 R/XYZ 0 15259 1] -endobj - -4377 0 obj -[617 0 R/XYZ 0 15259 1] -endobj - -4378 0 obj -[636 0 R/XYZ 0 15259 1] -endobj - -4379 0 obj -[641 0 R/XYZ 0 15259 1] -endobj - -4380 0 obj -[645 0 R/XYZ 0 15259 1] -endobj - -4381 0 obj -[646 0 R/XYZ 0 15259 1] -endobj - -4382 0 obj -[720 0 R/XYZ 0 15259 1] -endobj - -4383 0 obj -[741 0 R/XYZ 0 15259 1] -endobj - -4384 0 obj -[789 0 R/XYZ 0 15259 1] -endobj - -4385 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -4386 0 obj -[1027 0 R/XYZ 0 15259 1] -endobj - -4387 0 obj -[1154 0 R/XYZ 0 15259 1] -endobj - -4388 0 obj -[1159 0 R/XYZ 0 15259 1] -endobj - -4389 0 obj -[1160 0 R/XYZ 0 15259 1] -endobj - -4390 0 obj -[1162 0 R/XYZ 0 15259 1] -endobj - -4391 0 obj -[1164 0 R/XYZ 0 15259 1] -endobj - -4392 0 obj -[1262 0 R/XYZ 0 15259 1] -endobj - -4393 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -4394 0 obj -[1440 0 R/XYZ 0 15259 1] -endobj - -4395 0 obj -[1497 0 R/XYZ 0 15259 1] -endobj - -4396 0 obj -[1614 0 R/XYZ 0 15259 1] -endobj - -4397 0 obj -[1629 0 R/XYZ 0 15259 1] -endobj - -4398 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -4399 0 obj -[560 0 R/XYZ 0 15259 1] -endobj - -4400 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -4401 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -4402 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -4403 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -4404 0 obj -[497 0 R/XYZ 0 15259 1] -endobj - -4405 0 obj -[515 0 R/XYZ 0 15259 1] -endobj - -4406 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -4407 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -4408 0 obj -[517 0 R/XYZ 0 15259 1] -endobj - -4409 0 obj -[560 0 R/XYZ 0 15259 1] -endobj - -4410 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -4411 0 obj -[560 0 R/XYZ 0 15259 1] -endobj - -4412 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -4413 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -4414 0 obj -[560 0 R/XYZ 0 15259 1] -endobj - -4415 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -4416 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -4417 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -4418 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -4419 0 obj -[560 0 R/XYZ 0 15259 1] -endobj - -4420 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -4421 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -4422 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -4423 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -4424 0 obj -[487 0 R/XYZ 0 15259 1] -endobj - -4425 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -4426 0 obj -[636 0 R/XYZ 0 15259 1] -endobj - -4427 0 obj -[1162 0 R/XYZ 0 15259 1] -endobj - -4428 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -4429 0 obj -[1613 0 R/XYZ 0 15259 1] -endobj - -4430 0 obj -[636 0 R/XYZ 0 15259 1] -endobj - -4431 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -4432 0 obj -[1494 0 R/XYZ 0 15259 1] -endobj - -4433 0 obj -[1519 0 R/XYZ 0 15259 1] -endobj - -4434 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -4435 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -4436 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -4437 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -4438 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -4439 0 obj -[576 0 R/XYZ 0 15259 1] -endobj - -4440 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -4441 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -4442 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -4443 0 obj -[658 0 R/XYZ 0 15259 1] -endobj - -4444 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -4445 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -4446 0 obj -[1639 0 R/XYZ 0 15259 1] -endobj - -4447 0 obj -[1640 0 R/XYZ 0 15259 1] -endobj - -4448 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -4449 0 obj -[426 0 R/XYZ 0 15259 1] -endobj - -4450 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -4451 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -4452 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -4453 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -4454 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -4455 0 obj -[1087 0 R/XYZ 0 15259 1] -endobj - -4456 0 obj -[1088 0 R/XYZ 0 15259 1] -endobj - -4457 0 obj -[1091 0 R/XYZ 0 15259 1] -endobj - -4458 0 obj -[1092 0 R/XYZ 0 15259 1] -endobj - -4459 0 obj -[1096 0 R/XYZ 0 15259 1] -endobj - -4460 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -4461 0 obj -[1027 0 R/XYZ 0 15259 1] -endobj - -4462 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -4463 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -4464 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -4465 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -4466 0 obj -[645 0 R/XYZ 0 15259 1] -endobj - -4467 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -4468 0 obj -[1613 0 R/XYZ 0 15259 1] -endobj - -4469 0 obj -[645 0 R/XYZ 0 15259 1] -endobj - -4470 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -4471 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4472 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -4473 0 obj -[1083 0 R/XYZ 0 15259 1] -endobj - -4474 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -4475 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -4476 0 obj -[456 0 R/XYZ 0 15259 1] -endobj - -4477 0 obj -[385 0 R/XYZ 0 15259 1] -endobj - -4478 0 obj -[606 0 R/XYZ 0 15259 1] -endobj - -4479 0 obj -[613 0 R/XYZ 0 15259 1] -endobj - -4480 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -4481 0 obj -[637 0 R/XYZ 0 15259 1] -endobj - -4482 0 obj -[720 0 R/XYZ 0 15259 1] -endobj - -4483 0 obj -[789 0 R/XYZ 0 15259 1] -endobj - -4484 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4485 0 obj -[1154 0 R/XYZ 0 15259 1] -endobj - -4486 0 obj -[1155 0 R/XYZ 0 15259 1] -endobj - -4487 0 obj -[1159 0 R/XYZ 0 15259 1] -endobj - -4488 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -4489 0 obj -[1497 0 R/XYZ 0 15259 1] -endobj - -4490 0 obj -[1629 0 R/XYZ 0 15259 1] -endobj - -4491 0 obj -[613 0 R/XYZ 0 15259 1] -endobj - -4492 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -4493 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -4494 0 obj -[823 0 R/XYZ 0 15259 1] -endobj - -4495 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -4496 0 obj -[829 0 R/XYZ 0 15259 1] -endobj - -4497 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -4498 0 obj -[836 0 R/XYZ 0 15259 1] -endobj - -4499 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -4500 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -4501 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -4502 0 obj -[921 0 R/XYZ 0 15259 1] -endobj - -4503 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -4504 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -4505 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -4506 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -4507 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -4508 0 obj -[1376 0 R/XYZ 0 15259 1] -endobj - -4509 0 obj -[1390 0 R/XYZ 0 15259 1] -endobj - -4510 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -4511 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -4512 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -4513 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -4514 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -4515 0 obj -[392 0 R/XYZ 0 15259 1] -endobj - -4516 0 obj -[394 0 R/XYZ 0 15259 1] -endobj - -4517 0 obj -[403 0 R/XYZ 0 15259 1] -endobj - -4518 0 obj -[410 0 R/XYZ 0 15259 1] -endobj - -4519 0 obj -[503 0 R/XYZ 0 15259 1] -endobj - -4520 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -4521 0 obj -[744 0 R/XYZ 0 15259 1] -endobj - -4522 0 obj -[749 0 R/XYZ 0 15259 1] -endobj - -4523 0 obj -[751 0 R/XYZ 0 15259 1] -endobj - -4524 0 obj -[756 0 R/XYZ 0 15259 1] -endobj - -4525 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -4526 0 obj -[766 0 R/XYZ 0 15259 1] -endobj - -4527 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -4528 0 obj -[775 0 R/XYZ 0 15259 1] -endobj - -4529 0 obj -[779 0 R/XYZ 0 15259 1] -endobj - -4530 0 obj -[781 0 R/XYZ 0 15259 1] -endobj - -4531 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -4532 0 obj -[788 0 R/XYZ 0 15259 1] -endobj - -4533 0 obj -[790 0 R/XYZ 0 15259 1] -endobj - -4534 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -4535 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -4536 0 obj -[802 0 R/XYZ 0 15259 1] -endobj - -4537 0 obj -[809 0 R/XYZ 0 15259 1] -endobj - -4538 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -4539 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -4540 0 obj -[816 0 R/XYZ 0 15259 1] -endobj - -4541 0 obj -[819 0 R/XYZ 0 15259 1] -endobj - -4542 0 obj -[823 0 R/XYZ 0 15259 1] -endobj - -4543 0 obj -[834 0 R/XYZ 0 15259 1] -endobj - -4544 0 obj -[838 0 R/XYZ 0 15259 1] -endobj - -4545 0 obj -[839 0 R/XYZ 0 15259 1] -endobj - -4546 0 obj -[845 0 R/XYZ 0 15259 1] -endobj - -4547 0 obj -[864 0 R/XYZ 0 15259 1] -endobj - -4548 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -4549 0 obj -[875 0 R/XYZ 0 15259 1] -endobj - -4550 0 obj -[922 0 R/XYZ 0 15259 1] -endobj - -4551 0 obj -[924 0 R/XYZ 0 15259 1] -endobj - -4552 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -4553 0 obj -[1044 0 R/XYZ 0 15259 1] -endobj - -4554 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -4555 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -4556 0 obj -[1063 0 R/XYZ 0 15259 1] -endobj - -4557 0 obj -[1065 0 R/XYZ 0 15259 1] -endobj - -4558 0 obj -[1076 0 R/XYZ 0 15259 1] -endobj - -4559 0 obj -[1093 0 R/XYZ 0 15259 1] -endobj - -4560 0 obj -[1095 0 R/XYZ 0 15259 1] -endobj - -4561 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -4562 0 obj -[1103 0 R/XYZ 0 15259 1] -endobj - -4563 0 obj -[1139 0 R/XYZ 0 15259 1] -endobj - -4564 0 obj -[1148 0 R/XYZ 0 15259 1] -endobj - -4565 0 obj -[1155 0 R/XYZ 0 15259 1] -endobj - -4566 0 obj -[1158 0 R/XYZ 0 15259 1] -endobj - -4567 0 obj -[1161 0 R/XYZ 0 15259 1] -endobj - -4568 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -4569 0 obj -[1168 0 R/XYZ 0 15259 1] -endobj - -4570 0 obj -[1178 0 R/XYZ 0 15259 1] -endobj - -4571 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -4572 0 obj -[1204 0 R/XYZ 0 15259 1] -endobj - -4573 0 obj -[1214 0 R/XYZ 0 15259 1] -endobj - -4574 0 obj -[1218 0 R/XYZ 0 15259 1] -endobj - -4575 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -4576 0 obj -[1259 0 R/XYZ 0 15259 1] -endobj - -4577 0 obj -[1292 0 R/XYZ 0 15259 1] -endobj - -4578 0 obj -[1304 0 R/XYZ 0 15259 1] -endobj - -4579 0 obj -[1306 0 R/XYZ 0 15259 1] -endobj - -4580 0 obj -[1309 0 R/XYZ 0 15259 1] -endobj - -4581 0 obj -[1311 0 R/XYZ 0 15259 1] -endobj - -4582 0 obj -[1322 0 R/XYZ 0 15259 1] -endobj - -4583 0 obj -[1323 0 R/XYZ 0 15259 1] -endobj - -4584 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -4585 0 obj -[1392 0 R/XYZ 0 15259 1] -endobj - -4586 0 obj -[1395 0 R/XYZ 0 15259 1] -endobj - -4587 0 obj -[1396 0 R/XYZ 0 15259 1] -endobj - -4588 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -4589 0 obj -[1401 0 R/XYZ 0 15259 1] -endobj - -4590 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -4591 0 obj -[1414 0 R/XYZ 0 15259 1] -endobj - -4592 0 obj -[1468 0 R/XYZ 0 15259 1] -endobj - -4593 0 obj -[1622 0 R/XYZ 0 15259 1] -endobj - -4594 0 obj -[1623 0 R/XYZ 0 15259 1] -endobj - -4595 0 obj -[1627 0 R/XYZ 0 15259 1] -endobj - -4596 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -4597 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -4598 0 obj -[1631 0 R/XYZ 0 15259 1] -endobj - -4599 0 obj -[1634 0 R/XYZ 0 15259 1] -endobj - -4600 0 obj -[1637 0 R/XYZ 0 15259 1] -endobj - -4601 0 obj -[1639 0 R/XYZ 0 15259 1] -endobj - -4602 0 obj -[1649 0 R/XYZ 0 15259 1] -endobj - -4603 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -4604 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -4605 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -4606 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -4607 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -4608 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -4609 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -4610 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -4611 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -4612 0 obj -[456 0 R/XYZ 0 15259 1] -endobj - -4613 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -4614 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -4615 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -4616 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -4617 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4618 0 obj -[1153 0 R/XYZ 0 15259 1] -endobj - -4619 0 obj -[1336 0 R/XYZ 0 15259 1] -endobj - -4620 0 obj -[450 0 R/XYZ 0 15259 1] -endobj - -4621 0 obj -<> -endobj - -4622 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -4623 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -4624 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -4625 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -4626 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -4627 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -4628 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -4629 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -4630 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -4631 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -4632 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -4633 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4634 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -4635 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -4636 0 obj -[619 0 R/XYZ 0 15259 1] -endobj - -4637 0 obj -[622 0 R/XYZ 0 15259 1] -endobj - -4638 0 obj -[623 0 R/XYZ 0 15259 1] -endobj - -4639 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4640 0 obj -[619 0 R/XYZ 0 15259 1] -endobj - -4641 0 obj -[610 0 R/XYZ 0 15259 1] -endobj - -4642 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -4643 0 obj -[619 0 R/XYZ 0 15259 1] -endobj - -4644 0 obj -[625 0 R/XYZ 0 15259 1] -endobj - -4645 0 obj -[636 0 R/XYZ 0 15259 1] -endobj - -4646 0 obj -[641 0 R/XYZ 0 15259 1] -endobj - -4647 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -4648 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -4649 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4650 0 obj -[1160 0 R/XYZ 0 15259 1] -endobj - -4651 0 obj -[1166 0 R/XYZ 0 15259 1] -endobj - -4652 0 obj -[1168 0 R/XYZ 0 15259 1] -endobj - -4653 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -4654 0 obj -[1600 0 R/XYZ 0 15259 1] -endobj - -4655 0 obj -[1603 0 R/XYZ 0 15259 1] -endobj - -4656 0 obj -[1611 0 R/XYZ 0 15259 1] -endobj - -4657 0 obj -[1619 0 R/XYZ 0 15259 1] -endobj - -4658 0 obj -[1626 0 R/XYZ 0 15259 1] -endobj - -4659 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -4660 0 obj -[621 0 R/XYZ 0 15259 1] -endobj - -4661 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4662 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4663 0 obj -[1088 0 R/XYZ 0 15259 1] -endobj - -4664 0 obj -[1089 0 R/XYZ 0 15259 1] -endobj - -4665 0 obj -[1091 0 R/XYZ 0 15259 1] -endobj - -4666 0 obj -[1092 0 R/XYZ 0 15259 1] -endobj - -4667 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -4668 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -4669 0 obj -[1631 0 R/XYZ 0 15259 1] -endobj - -4670 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -4671 0 obj -[625 0 R/XYZ 0 15259 1] -endobj - -4672 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -4673 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -4674 0 obj -[789 0 R/XYZ 0 15259 1] -endobj - -4675 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4676 0 obj -[625 0 R/XYZ 0 15259 1] -endobj - -4677 0 obj -[634 0 R/XYZ 0 15259 1] -endobj - -4678 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -4679 0 obj -[704 0 R/XYZ 0 15259 1] -endobj - -4680 0 obj -[706 0 R/XYZ 0 15259 1] -endobj - -4681 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -4682 0 obj -[873 0 R/XYZ 0 15259 1] -endobj - -4683 0 obj -[966 0 R/XYZ 0 15259 1] -endobj - -4684 0 obj -[969 0 R/XYZ 0 15259 1] -endobj - -4685 0 obj -[971 0 R/XYZ 0 15259 1] -endobj - -4686 0 obj -[974 0 R/XYZ 0 15259 1] -endobj - -4687 0 obj -[1016 0 R/XYZ 0 15259 1] -endobj - -4688 0 obj -[1017 0 R/XYZ 0 15259 1] -endobj - -4689 0 obj -[1034 0 R/XYZ 0 15259 1] -endobj - -4690 0 obj -[1360 0 R/XYZ 0 15259 1] -endobj - -4691 0 obj -[1448 0 R/XYZ 0 15259 1] -endobj - -4692 0 obj -[1523 0 R/XYZ 0 15259 1] -endobj - -4693 0 obj -[1527 0 R/XYZ 0 15259 1] -endobj - -4694 0 obj -[1531 0 R/XYZ 0 15259 1] -endobj - -4695 0 obj -[1536 0 R/XYZ 0 15259 1] -endobj - -4696 0 obj -[1617 0 R/XYZ 0 15259 1] -endobj - -4697 0 obj -[704 0 R/XYZ 0 15259 1] -endobj - -4698 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -4699 0 obj -[1527 0 R/XYZ 0 15259 1] -endobj - -4700 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -4701 0 obj -[381 0 R/XYZ 0 15259 1] -endobj - -4702 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -4703 0 obj -[407 0 R/XYZ 0 15259 1] -endobj - -4704 0 obj -[418 0 R/XYZ 0 15259 1] -endobj - -4705 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -4706 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -4707 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -4708 0 obj -[432 0 R/XYZ 0 15259 1] -endobj - -4709 0 obj -[440 0 R/XYZ 0 15259 1] -endobj - -4710 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -4711 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -4712 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -4713 0 obj -[474 0 R/XYZ 0 15259 1] -endobj - -4714 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -4715 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -4716 0 obj -[489 0 R/XYZ 0 15259 1] -endobj - -4717 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -4718 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -4719 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -4720 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -4721 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -4722 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -4723 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -4724 0 obj -[556 0 R/XYZ 0 15259 1] -endobj - -4725 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -4726 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -4727 0 obj -[587 0 R/XYZ 0 15259 1] -endobj - -4728 0 obj -[595 0 R/XYZ 0 15259 1] -endobj - -4729 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -4730 0 obj -[657 0 R/XYZ 0 15259 1] -endobj - -4731 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -4732 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -4733 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -4734 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -4735 0 obj -[674 0 R/XYZ 0 15259 1] -endobj - -4736 0 obj -[706 0 R/XYZ 0 15259 1] -endobj - -4737 0 obj -[710 0 R/XYZ 0 15259 1] -endobj - -4738 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -4739 0 obj -[726 0 R/XYZ 0 15259 1] -endobj - -4740 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -4741 0 obj -[748 0 R/XYZ 0 15259 1] -endobj - -4742 0 obj -[756 0 R/XYZ 0 15259 1] -endobj - -4743 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -4744 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -4745 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -4746 0 obj -[776 0 R/XYZ 0 15259 1] -endobj - -4747 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -4748 0 obj -[787 0 R/XYZ 0 15259 1] -endobj - -4749 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -4750 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -4751 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -4752 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -4753 0 obj -[816 0 R/XYZ 0 15259 1] -endobj - -4754 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -4755 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -4756 0 obj -[842 0 R/XYZ 0 15259 1] -endobj - -4757 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -4758 0 obj -[852 0 R/XYZ 0 15259 1] -endobj - -4759 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -4760 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -4761 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -4762 0 obj -[875 0 R/XYZ 0 15259 1] -endobj - -4763 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -4764 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -4765 0 obj -[907 0 R/XYZ 0 15259 1] -endobj - -4766 0 obj -[923 0 R/XYZ 0 15259 1] -endobj - -4767 0 obj -[926 0 R/XYZ 0 15259 1] -endobj - -4768 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -4769 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -4770 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -4771 0 obj -[947 0 R/XYZ 0 15259 1] -endobj - -4772 0 obj -[951 0 R/XYZ 0 15259 1] -endobj - -4773 0 obj -[956 0 R/XYZ 0 15259 1] -endobj - -4774 0 obj -[959 0 R/XYZ 0 15259 1] -endobj - -4775 0 obj -[977 0 R/XYZ 0 15259 1] -endobj - -4776 0 obj -[1003 0 R/XYZ 0 15259 1] -endobj - -4777 0 obj -[1004 0 R/XYZ 0 15259 1] -endobj - -4778 0 obj -[1012 0 R/XYZ 0 15259 1] -endobj - -4779 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -4780 0 obj -[1068 0 R/XYZ 0 15259 1] -endobj - -4781 0 obj -[1087 0 R/XYZ 0 15259 1] -endobj - -4782 0 obj -[1094 0 R/XYZ 0 15259 1] -endobj - -4783 0 obj -[1095 0 R/XYZ 0 15259 1] -endobj - -4784 0 obj -[1099 0 R/XYZ 0 15259 1] -endobj - -4785 0 obj -[1101 0 R/XYZ 0 15259 1] -endobj - -4786 0 obj -[1107 0 R/XYZ 0 15259 1] -endobj - -4787 0 obj -[1139 0 R/XYZ 0 15259 1] -endobj - -4788 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -4789 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -4790 0 obj -[1186 0 R/XYZ 0 15259 1] -endobj - -4791 0 obj -[1193 0 R/XYZ 0 15259 1] -endobj - -4792 0 obj -[1199 0 R/XYZ 0 15259 1] -endobj - -4793 0 obj -[1203 0 R/XYZ 0 15259 1] -endobj - -4794 0 obj -[1229 0 R/XYZ 0 15259 1] -endobj - -4795 0 obj -[1231 0 R/XYZ 0 15259 1] -endobj - -4796 0 obj -[1246 0 R/XYZ 0 15259 1] -endobj - -4797 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -4798 0 obj -[1253 0 R/XYZ 0 15259 1] -endobj - -4799 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -4800 0 obj -[1282 0 R/XYZ 0 15259 1] -endobj - -4801 0 obj -[1298 0 R/XYZ 0 15259 1] -endobj - -4802 0 obj -[1299 0 R/XYZ 0 15259 1] -endobj - -4803 0 obj -[1302 0 R/XYZ 0 15259 1] -endobj - -4804 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -4805 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -4806 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -4807 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -4808 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -4809 0 obj -[1396 0 R/XYZ 0 15259 1] -endobj - -4810 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -4811 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -4812 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -4813 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -4814 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -4815 0 obj -[1493 0 R/XYZ 0 15259 1] -endobj - -4816 0 obj -[1611 0 R/XYZ 0 15259 1] -endobj - -4817 0 obj -[1618 0 R/XYZ 0 15259 1] -endobj - -4818 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -4819 0 obj -[1632 0 R/XYZ 0 15259 1] -endobj - -4820 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -4821 0 obj -[1635 0 R/XYZ 0 15259 1] -endobj - -4822 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -4823 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -4824 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -4825 0 obj -[606 0 R/XYZ 0 15259 1] -endobj - -4826 0 obj -[613 0 R/XYZ 0 15259 1] -endobj - -4827 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -4828 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4829 0 obj -[613 0 R/XYZ 0 15259 1] -endobj - -4830 0 obj -[1472 0 R/XYZ 0 15259 1] -endobj - -4831 0 obj -[633 0 R/XYZ 0 15259 1] -endobj - -4832 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4833 0 obj -[633 0 R/XYZ 0 15259 1] -endobj - -4834 0 obj -[572 0 R/XYZ 0 15259 1] -endobj - -4835 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -4836 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -4837 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -4838 0 obj -[646 0 R/XYZ 0 15259 1] -endobj - -4839 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4840 0 obj -[628 0 R/XYZ 0 15259 1] -endobj - -4841 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -4842 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -4843 0 obj -[646 0 R/XYZ 0 15259 1] -endobj - -4844 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4845 0 obj -[628 0 R/XYZ 0 15259 1] -endobj - -4846 0 obj -[511 0 R/XYZ 0 15259 1] -endobj - -4847 0 obj -[514 0 R/XYZ 0 15259 1] -endobj - -4848 0 obj -[522 0 R/XYZ 0 15259 1] -endobj - -4849 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -4850 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -4851 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -4852 0 obj -[511 0 R/XYZ 0 15259 1] -endobj - -4853 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -4854 0 obj -[514 0 R/XYZ 0 15259 1] -endobj - -4855 0 obj -[522 0 R/XYZ 0 15259 1] -endobj - -4856 0 obj -[1120 0 R/XYZ 0 15259 1] -endobj - -4857 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -4858 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -4859 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -4860 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -4861 0 obj -[511 0 R/XYZ 0 15259 1] -endobj - -4862 0 obj -[1088 0 R/XYZ 0 15259 1] -endobj - -4863 0 obj -[1090 0 R/XYZ 0 15259 1] -endobj - -4864 0 obj -[1092 0 R/XYZ 0 15259 1] -endobj - -4865 0 obj -[1096 0 R/XYZ 0 15259 1] -endobj - -4866 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -4867 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -4868 0 obj -[1631 0 R/XYZ 0 15259 1] -endobj - -4869 0 obj -[511 0 R/XYZ 0 15259 1] -endobj - -4870 0 obj -[1088 0 R/XYZ 0 15259 1] -endobj - -4871 0 obj -[1090 0 R/XYZ 0 15259 1] -endobj - -4872 0 obj -[1092 0 R/XYZ 0 15259 1] -endobj - -4873 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -4874 0 obj -[1631 0 R/XYZ 0 15259 1] -endobj - -4875 0 obj -[511 0 R/XYZ 0 15259 1] -endobj - -4876 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -4877 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -4878 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -4879 0 obj -[1268 0 R/XYZ 0 15259 1] -endobj - -4880 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -4881 0 obj -[1639 0 R/XYZ 0 15259 1] -endobj - -4882 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -4883 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -4884 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -4885 0 obj -[646 0 R/XYZ 0 15259 1] -endobj - -4886 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4887 0 obj -[628 0 R/XYZ 0 15259 1] -endobj - -4888 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -4889 0 obj -[528 0 R/XYZ 0 15259 1] -endobj - -4890 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -4891 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -4892 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -4893 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4894 0 obj -[1096 0 R/XYZ 0 15259 1] -endobj - -4895 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -4896 0 obj -[1127 0 R/XYZ 0 15259 1] -endobj - -4897 0 obj -[1141 0 R/XYZ 0 15259 1] -endobj - -4898 0 obj -[1142 0 R/XYZ 0 15259 1] -endobj - -4899 0 obj -[1151 0 R/XYZ 0 15259 1] -endobj - -4900 0 obj -[1215 0 R/XYZ 0 15259 1] -endobj - -4901 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -4902 0 obj -[1361 0 R/XYZ 0 15259 1] -endobj - -4903 0 obj -[1445 0 R/XYZ 0 15259 1] -endobj - -4904 0 obj -[1502 0 R/XYZ 0 15259 1] -endobj - -4905 0 obj -[1527 0 R/XYZ 0 15259 1] -endobj - -4906 0 obj -[528 0 R/XYZ 0 15259 1] -endobj - -4907 0 obj -[528 0 R/XYZ 0 15259 1] -endobj - -4908 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -4909 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -4910 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4911 0 obj -[528 0 R/XYZ 0 15259 1] -endobj - -4912 0 obj -[478 0 R/XYZ 0 15259 1] -endobj - -4913 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -4914 0 obj -[515 0 R/XYZ 0 15259 1] -endobj - -4915 0 obj -[517 0 R/XYZ 0 15259 1] -endobj - -4916 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -4917 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -4918 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -4919 0 obj -[1122 0 R/XYZ 0 15259 1] -endobj - -4920 0 obj -[1126 0 R/XYZ 0 15259 1] -endobj - -4921 0 obj -[1140 0 R/XYZ 0 15259 1] -endobj - -4922 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -4923 0 obj -[1475 0 R/XYZ 0 15259 1] -endobj - -4924 0 obj -[1613 0 R/XYZ 0 15259 1] -endobj - -4925 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -4926 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -4927 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -4928 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4929 0 obj -[628 0 R/XYZ 0 15259 1] -endobj - -4930 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -4931 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -4932 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4933 0 obj -[628 0 R/XYZ 0 15259 1] -endobj - -4934 0 obj -[1178 0 R/XYZ 0 15259 1] -endobj - -4935 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -4936 0 obj -[1178 0 R/XYZ 0 15259 1] -endobj - -4937 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -4938 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -4939 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -4940 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -4941 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -4942 0 obj -[1141 0 R/XYZ 0 15259 1] -endobj - -4943 0 obj -[1142 0 R/XYZ 0 15259 1] -endobj - -4944 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -4945 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -4946 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -4947 0 obj -[1027 0 R/XYZ 0 15259 1] -endobj - -4948 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -4949 0 obj -[587 0 R/XYZ 0 15259 1] -endobj - -4950 0 obj -[572 0 R/XYZ 0 15259 1] -endobj - -4951 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -4952 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -4953 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -4954 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -4955 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -4956 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -4957 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -4958 0 obj -[1541 0 R/XYZ 0 15259 1] -endobj - -4959 0 obj -[1589 0 R/XYZ 0 15259 1] -endobj - -4960 0 obj -[407 0 R/XYZ 0 15259 1] -endobj - -4961 0 obj -[410 0 R/XYZ 0 15259 1] -endobj - -4962 0 obj -[1088 0 R/XYZ 0 15259 1] -endobj - -4963 0 obj -[1089 0 R/XYZ 0 15259 1] -endobj - -4964 0 obj -[1091 0 R/XYZ 0 15259 1] -endobj - -4965 0 obj -[1092 0 R/XYZ 0 15259 1] -endobj - -4966 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -4967 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -4968 0 obj -[1027 0 R/XYZ 0 15259 1] -endobj - -4969 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -4970 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -4971 0 obj -[1615 0 R/XYZ 0 15259 1] -endobj - -4972 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -4973 0 obj -[581 0 R/XYZ 0 15259 1] -endobj - -4974 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -4975 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4976 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -4977 0 obj -[579 0 R/XYZ 0 15259 1] -endobj - -4978 0 obj -[606 0 R/XYZ 0 15259 1] -endobj - -4979 0 obj -[606 0 R/XYZ 0 15259 1] -endobj - -4980 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4981 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -4982 0 obj -[625 0 R/XYZ 0 15259 1] -endobj - -4983 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -4984 0 obj -[939 0 R/XYZ 0 15259 1] -endobj - -4985 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4986 0 obj -[1625 0 R/XYZ 0 15259 1] -endobj - -4987 0 obj -[625 0 R/XYZ 0 15259 1] -endobj - -4988 0 obj -[1088 0 R/XYZ 0 15259 1] -endobj - -4989 0 obj -[1089 0 R/XYZ 0 15259 1] -endobj - -4990 0 obj -[1091 0 R/XYZ 0 15259 1] -endobj - -4991 0 obj -[1092 0 R/XYZ 0 15259 1] -endobj - -4992 0 obj -[1096 0 R/XYZ 0 15259 1] -endobj - -4993 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -4994 0 obj -[1631 0 R/XYZ 0 15259 1] -endobj - -4995 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -4996 0 obj -[361 0 R/XYZ 0 15259 1] -endobj - -4997 0 obj -[362 0 R/XYZ 0 15259 1] -endobj - -4998 0 obj -[367 0 R/XYZ 0 15259 1] -endobj - -4999 0 obj -[368 0 R/XYZ 0 15259 1] -endobj - -5000 0 obj -<> -endobj - -5001 0 obj -[1237 0 R/XYZ 0 15259 1] -endobj - -5002 0 obj -[1256 0 R/XYZ 0 15259 1] -endobj - -5003 0 obj -[1259 0 R/XYZ 0 15259 1] -endobj - -5004 0 obj -[1261 0 R/XYZ 0 15259 1] -endobj - -5005 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -5006 0 obj -[1237 0 R/XYZ 0 15259 1] -endobj - -5007 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -5008 0 obj -[661 0 R/XYZ 0 15259 1] -endobj - -5009 0 obj -[762 0 R/XYZ 0 15259 1] -endobj - -5010 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -5011 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -5012 0 obj -[1131 0 R/XYZ 0 15259 1] -endobj - -5013 0 obj -[1294 0 R/XYZ 0 15259 1] -endobj - -5014 0 obj -[776 0 R/XYZ 0 15259 1] -endobj - -5015 0 obj -[385 0 R/XYZ 0 15259 1] -endobj - -5016 0 obj -[418 0 R/XYZ 0 15259 1] -endobj - -5017 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -5018 0 obj -[1619 0 R/XYZ 0 15259 1] -endobj - -5019 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -5020 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -5021 0 obj -[493 0 R/XYZ 0 15259 1] -endobj - -5022 0 obj -[705 0 R/XYZ 0 15259 1] -endobj - -5023 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5024 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -5025 0 obj -[1238 0 R/XYZ 0 15259 1] -endobj - -5026 0 obj -[1240 0 R/XYZ 0 15259 1] -endobj - -5027 0 obj -[1242 0 R/XYZ 0 15259 1] -endobj - -5028 0 obj -[1254 0 R/XYZ 0 15259 1] -endobj - -5029 0 obj -[1256 0 R/XYZ 0 15259 1] -endobj - -5030 0 obj -[1259 0 R/XYZ 0 15259 1] -endobj - -5031 0 obj -[1261 0 R/XYZ 0 15259 1] -endobj - -5032 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -5033 0 obj -[1496 0 R/XYZ 0 15259 1] -endobj - -5034 0 obj -[1502 0 R/XYZ 0 15259 1] -endobj - -5035 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -5036 0 obj -[1494 0 R/XYZ 0 15259 1] -endobj - -5037 0 obj -[1496 0 R/XYZ 0 15259 1] -endobj - -5038 0 obj -[1498 0 R/XYZ 0 15259 1] -endobj - -5039 0 obj -[1502 0 R/XYZ 0 15259 1] -endobj - -5040 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -5041 0 obj -[1496 0 R/XYZ 0 15259 1] -endobj - -5042 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -5043 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -5044 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -5045 0 obj -[625 0 R/XYZ 0 15259 1] -endobj - -5046 0 obj -[636 0 R/XYZ 0 15259 1] -endobj - -5047 0 obj -[637 0 R/XYZ 0 15259 1] -endobj - -5048 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5049 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -5050 0 obj -[1366 0 R/XYZ 0 15259 1] -endobj - -5051 0 obj -[1613 0 R/XYZ 0 15259 1] -endobj - -5052 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -5053 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -5054 0 obj -[617 0 R/XYZ 0 15259 1] -endobj - -5055 0 obj -[636 0 R/XYZ 0 15259 1] -endobj - -5056 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -5057 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5058 0 obj -[1164 0 R/XYZ 0 15259 1] -endobj - -5059 0 obj -[1613 0 R/XYZ 0 15259 1] -endobj - -5060 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -5061 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5062 0 obj -[1027 0 R/XYZ 0 15259 1] -endobj - -5063 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5064 0 obj -[1027 0 R/XYZ 0 15259 1] -endobj - -5065 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -5066 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5067 0 obj -[1027 0 R/XYZ 0 15259 1] -endobj - -5068 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5069 0 obj -[1027 0 R/XYZ 0 15259 1] -endobj - -5070 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -5071 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -5072 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -5073 0 obj -[601 0 R/XYZ 0 15259 1] -endobj - -5074 0 obj -[705 0 R/XYZ 0 15259 1] -endobj - -5075 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5076 0 obj -[1611 0 R/XYZ 0 15259 1] -endobj - -5077 0 obj -[1612 0 R/XYZ 0 15259 1] -endobj - -5078 0 obj -[592 0 R/XYZ 0 15259 1] -endobj - -5079 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -5080 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5081 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5082 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5083 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -5084 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -5085 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -5086 0 obj -[699 0 R/XYZ 0 15259 1] -endobj - -5087 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -5088 0 obj -[710 0 R/XYZ 0 15259 1] -endobj - -5089 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5090 0 obj -[1027 0 R/XYZ 0 15259 1] -endobj - -5091 0 obj -[1030 0 R/XYZ 0 15259 1] -endobj - -5092 0 obj -[1033 0 R/XYZ 0 15259 1] -endobj - -5093 0 obj -[1034 0 R/XYZ 0 15259 1] -endobj - -5094 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -5095 0 obj -[1155 0 R/XYZ 0 15259 1] -endobj - -5096 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -5097 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -5098 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -5099 0 obj -[1030 0 R/XYZ 0 15259 1] -endobj - -5100 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -5101 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -5102 0 obj -[783 0 R/XYZ 0 15259 1] -endobj - -5103 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -5104 0 obj -[1300 0 R/XYZ 0 15259 1] -endobj - -5105 0 obj -[1503 0 R/XYZ 0 15259 1] -endobj - -5106 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -5107 0 obj -[400 0 R/XYZ 0 15259 1] -endobj - -5108 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -5109 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -5110 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -5111 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -5112 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -5113 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5114 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5115 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -5116 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -5117 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5118 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5119 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -5120 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -5121 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5122 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -5123 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5124 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5125 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -5126 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -5127 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5128 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -5129 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -5130 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -5131 0 obj -[1234 0 R/XYZ 0 15259 1] -endobj - -5132 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -5133 0 obj -[1234 0 R/XYZ 0 15259 1] -endobj - -5134 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -5135 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5136 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5137 0 obj -[1234 0 R/XYZ 0 15259 1] -endobj - -5138 0 obj -[1234 0 R/XYZ 0 15259 1] -endobj - -5139 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5140 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -5141 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -5142 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -5143 0 obj -[674 0 R/XYZ 0 15259 1] -endobj - -5144 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5145 0 obj -[1256 0 R/XYZ 0 15259 1] -endobj - -5146 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -5147 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -5148 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -5149 0 obj -[674 0 R/XYZ 0 15259 1] -endobj - -5150 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5151 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -5152 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -5153 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5154 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5155 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -5156 0 obj -[1629 0 R/XYZ 0 15259 1] -endobj - -5157 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -5158 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -5159 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -5160 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5161 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -5162 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5163 0 obj -[1237 0 R/XYZ 0 15259 1] -endobj - -5164 0 obj -[1237 0 R/XYZ 0 15259 1] -endobj - -5165 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -5166 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5167 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5168 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -5169 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -5170 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5171 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5172 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -5173 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -5174 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5175 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5176 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -5177 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -5178 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -5179 0 obj -[1514 0 R/XYZ 0 15259 1] -endobj - -5180 0 obj -[1519 0 R/XYZ 0 15259 1] -endobj - -5181 0 obj -[1538 0 R/XYZ 0 15259 1] -endobj - -5182 0 obj -[1514 0 R/XYZ 0 15259 1] -endobj - -5183 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5184 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5185 0 obj -[1314 0 R/XYZ 0 15259 1] -endobj - -5186 0 obj -[1316 0 R/XYZ 0 15259 1] -endobj - -5187 0 obj -[1322 0 R/XYZ 0 15259 1] -endobj - -5188 0 obj -[1404 0 R/XYZ 0 15259 1] -endobj - -5189 0 obj -[1405 0 R/XYZ 0 15259 1] -endobj - -5190 0 obj -[1501 0 R/XYZ 0 15259 1] -endobj - -5191 0 obj -[1502 0 R/XYZ 0 15259 1] -endobj - -5192 0 obj -[1314 0 R/XYZ 0 15259 1] -endobj - -5193 0 obj -[810 0 R/XYZ 0 15259 1] -endobj - -5194 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -5195 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -5196 0 obj -[1366 0 R/XYZ 0 15259 1] -endobj - -5197 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -5198 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -5199 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -5200 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -5201 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -5202 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -5203 0 obj -[819 0 R/XYZ 0 15259 1] -endobj - -5204 0 obj -[819 0 R/XYZ 0 15259 1] -endobj - -5205 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -5206 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -5207 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -5208 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -5209 0 obj -[392 0 R/XYZ 0 15259 1] -endobj - -5210 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -5211 0 obj -[735 0 R/XYZ 0 15259 1] -endobj - -5212 0 obj -[741 0 R/XYZ 0 15259 1] -endobj - -5213 0 obj -[788 0 R/XYZ 0 15259 1] -endobj - -5214 0 obj -[839 0 R/XYZ 0 15259 1] -endobj - -5215 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -5216 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -5217 0 obj -[933 0 R/XYZ 0 15259 1] -endobj - -5218 0 obj -[949 0 R/XYZ 0 15259 1] -endobj - -5219 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -5220 0 obj -[1300 0 R/XYZ 0 15259 1] -endobj - -5221 0 obj -[1639 0 R/XYZ 0 15259 1] -endobj - -5222 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -5223 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -5224 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -5225 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -5226 0 obj -[1093 0 R/XYZ 0 15259 1] -endobj - -5227 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -5228 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -5229 0 obj -[1494 0 R/XYZ 0 15259 1] -endobj - -5230 0 obj -[1498 0 R/XYZ 0 15259 1] -endobj - -5231 0 obj -[1513 0 R/XYZ 0 15259 1] -endobj - -5232 0 obj -[1498 0 R/XYZ 0 15259 1] -endobj - -5233 0 obj -[1494 0 R/XYZ 0 15259 1] -endobj - -5234 0 obj -[1498 0 R/XYZ 0 15259 1] -endobj - -5235 0 obj -[1502 0 R/XYZ 0 15259 1] -endobj - -5236 0 obj -[1498 0 R/XYZ 0 15259 1] -endobj - -5237 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -5238 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -5239 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5240 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5241 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -5242 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -5243 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5244 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5245 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -5246 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -5247 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5248 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5249 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -5250 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -5251 0 obj -[659 0 R/XYZ 0 15259 1] -endobj - -5252 0 obj -[661 0 R/XYZ 0 15259 1] -endobj - -5253 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5254 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5255 0 obj -<> -endobj - -5256 0 obj -[659 0 R/XYZ 0 15259 1] -endobj - -5257 0 obj -[656 0 R/XYZ 0 15259 1] -endobj - -5258 0 obj -[661 0 R/XYZ 0 15259 1] -endobj - -5259 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -5260 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -5261 0 obj -[810 0 R/XYZ 0 15259 1] -endobj - -5262 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -5263 0 obj -[873 0 R/XYZ 0 15259 1] -endobj - -5264 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5265 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5266 0 obj -[1510 0 R/XYZ 0 15259 1] -endobj - -5267 0 obj -[1618 0 R/XYZ 0 15259 1] -endobj - -5268 0 obj -[658 0 R/XYZ 0 15259 1] -endobj - -5269 0 obj -[659 0 R/XYZ 0 15259 1] -endobj - -5270 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -5271 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5272 0 obj -[656 0 R/XYZ 0 15259 1] -endobj - -5273 0 obj -[661 0 R/XYZ 0 15259 1] -endobj - -5274 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -5275 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -5276 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -5277 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5278 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5279 0 obj -[1503 0 R/XYZ 0 15259 1] -endobj - -5280 0 obj -[1618 0 R/XYZ 0 15259 1] -endobj - -5281 0 obj -[658 0 R/XYZ 0 15259 1] -endobj - -5282 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -5283 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5284 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -5285 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -5286 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -5287 0 obj -[720 0 R/XYZ 0 15259 1] -endobj - -5288 0 obj -[724 0 R/XYZ 0 15259 1] -endobj - -5289 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -5290 0 obj -[1060 0 R/XYZ 0 15259 1] -endobj - -5291 0 obj -[1606 0 R/XYZ 0 15259 1] -endobj - -5292 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -5293 0 obj -[720 0 R/XYZ 0 15259 1] -endobj - -5294 0 obj -[756 0 R/XYZ 0 15259 1] -endobj - -5295 0 obj -[799 0 R/XYZ 0 15259 1] -endobj - -5296 0 obj -[619 0 R/XYZ 0 15259 1] -endobj - -5297 0 obj -[621 0 R/XYZ 0 15259 1] -endobj - -5298 0 obj -[1611 0 R/XYZ 0 15259 1] -endobj - -5299 0 obj -[619 0 R/XYZ 0 15259 1] -endobj - -5300 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5301 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5302 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -5303 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -5304 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5305 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5306 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -5307 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -5308 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5309 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5310 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -5311 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -5312 0 obj -[823 0 R/XYZ 0 15259 1] -endobj - -5313 0 obj -[823 0 R/XYZ 0 15259 1] -endobj - -5314 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -5315 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -5316 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -5317 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -5318 0 obj -[1265 0 R/XYZ 0 15259 1] -endobj - -5319 0 obj -[1266 0 R/XYZ 0 15259 1] -endobj - -5320 0 obj -[1265 0 R/XYZ 0 15259 1] -endobj - -5321 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -5322 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -5323 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -5324 0 obj -[1618 0 R/XYZ 0 15259 1] -endobj - -5325 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -5326 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -5327 0 obj -[984 0 R/XYZ 0 15259 1] -endobj - -5328 0 obj -[993 0 R/XYZ 0 15259 1] -endobj - -5329 0 obj -[1016 0 R/XYZ 0 15259 1] -endobj - -5330 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -5331 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -5332 0 obj -[746 0 R/XYZ 0 15259 1] -endobj - -5333 0 obj -[809 0 R/XYZ 0 15259 1] -endobj - -5334 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -5335 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -5336 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -5337 0 obj -[810 0 R/XYZ 0 15259 1] -endobj - -5338 0 obj -[400 0 R/XYZ 0 15259 1] -endobj - -5339 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -5340 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -5341 0 obj -[783 0 R/XYZ 0 15259 1] -endobj - -5342 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -5343 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -5344 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -5345 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -5346 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5347 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5348 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5349 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5350 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5351 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5352 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -5353 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5354 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5355 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -5356 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -5357 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -5358 0 obj -[702 0 R/XYZ 0 15259 1] -endobj - -5359 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -5360 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -5361 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5362 0 obj -[718 0 R/XYZ 0 15259 1] -endobj - -5363 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -5364 0 obj -[678 0 R/XYZ 0 15259 1] -endobj - -5365 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -5366 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5367 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -5368 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -5369 0 obj -[380 0 R/XYZ 0 15259 1] -endobj - -5370 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -5371 0 obj -[1439 0 R/XYZ 0 15259 1] -endobj - -5372 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -5373 0 obj -[1379 0 R/XYZ 0 15259 1] -endobj - -5374 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -5375 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -5376 0 obj -[712 0 R/XYZ 0 15259 1] -endobj - -5377 0 obj -[720 0 R/XYZ 0 15259 1] -endobj - -5378 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -5379 0 obj -[907 0 R/XYZ 0 15259 1] -endobj - -5380 0 obj -[1395 0 R/XYZ 0 15259 1] -endobj - -5381 0 obj -[1397 0 R/XYZ 0 15259 1] -endobj - -5382 0 obj -[1395 0 R/XYZ 0 15259 1] -endobj - -5383 0 obj -[405 0 R/XYZ 0 15259 1] -endobj - -5384 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -5385 0 obj -[692 0 R/XYZ 0 15259 1] -endobj - -5386 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -5387 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -5388 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -5389 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -5390 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -5391 0 obj -[400 0 R/XYZ 0 15259 1] -endobj - -5392 0 obj -[768 0 R/XYZ 0 15259 1] -endobj - -5393 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -5394 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -5395 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -5396 0 obj -[540 0 R/XYZ 0 15259 1] -endobj - -5397 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -5398 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -5399 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -5400 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -5401 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -5402 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -5403 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -5404 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -5405 0 obj -[771 0 R/XYZ 0 15259 1] -endobj - -5406 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -5407 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -5408 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -5409 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -5410 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -5411 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -5412 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -5413 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -5414 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -5415 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -5416 0 obj -[786 0 R/XYZ 0 15259 1] -endobj - -5417 0 obj -[1214 0 R/XYZ 0 15259 1] -endobj - -5418 0 obj -[402 0 R/XYZ 0 15259 1] -endobj - -5419 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -5420 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -5421 0 obj -[540 0 R/XYZ 0 15259 1] -endobj - -5422 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -5423 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -5424 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -5425 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -5426 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -5427 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -5428 0 obj -[771 0 R/XYZ 0 15259 1] -endobj - -5429 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -5430 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -5431 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -5432 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -5433 0 obj -[1004 0 R/XYZ 0 15259 1] -endobj - -5434 0 obj -[1009 0 R/XYZ 0 15259 1] -endobj - -5435 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -5436 0 obj -[1536 0 R/XYZ 0 15259 1] -endobj - -5437 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -5438 0 obj -[1307 0 R/XYZ 0 15259 1] -endobj - -5439 0 obj -[1317 0 R/XYZ 0 15259 1] -endobj - -5440 0 obj -[1318 0 R/XYZ 0 15259 1] -endobj - -5441 0 obj -[1320 0 R/XYZ 0 15259 1] -endobj - -5442 0 obj -[1308 0 R/XYZ 0 15259 1] -endobj - -5443 0 obj -[1320 0 R/XYZ 0 15259 1] -endobj - -5444 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -5445 0 obj -[561 0 R/XYZ 0 15259 1] -endobj - -5446 0 obj -[565 0 R/XYZ 0 15259 1] -endobj - -5447 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -5448 0 obj -[572 0 R/XYZ 0 15259 1] -endobj - -5449 0 obj -[565 0 R/XYZ 0 15259 1] -endobj - -5450 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -5451 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5452 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5453 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -5454 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -5455 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -5456 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -5457 0 obj -[700 0 R/XYZ 0 15259 1] -endobj - -5458 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -5459 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -5460 0 obj -[1529 0 R/XYZ 0 15259 1] -endobj - -5461 0 obj -[517 0 R/XYZ 0 15259 1] -endobj - -5462 0 obj -[560 0 R/XYZ 0 15259 1] -endobj - -5463 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -5464 0 obj -[489 0 R/XYZ 0 15259 1] -endobj - -5465 0 obj -[490 0 R/XYZ 0 15259 1] -endobj - -5466 0 obj -[556 0 R/XYZ 0 15259 1] -endobj - -5467 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -5468 0 obj -[380 0 R/XYZ 0 15259 1] -endobj - -5469 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -5470 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -5471 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -5472 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -5473 0 obj -[816 0 R/XYZ 0 15259 1] -endobj - -5474 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -5475 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -5476 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -5477 0 obj -[1234 0 R/XYZ 0 15259 1] -endobj - -5478 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -5479 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -5480 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -5481 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -5482 0 obj -[674 0 R/XYZ 0 15259 1] -endobj - -5483 0 obj -[1255 0 R/XYZ 0 15259 1] -endobj - -5484 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -5485 0 obj -[1262 0 R/XYZ 0 15259 1] -endobj - -5486 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -5487 0 obj -[1494 0 R/XYZ 0 15259 1] -endobj - -5488 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -5489 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -5490 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -5491 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -5492 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -5493 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -5494 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -5495 0 obj -<> -endobj - -5496 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -5497 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5498 0 obj -[560 0 R/XYZ 0 15259 1] -endobj - -5499 0 obj -[1229 0 R/XYZ 0 15259 1] -endobj - -5500 0 obj -[1504 0 R/XYZ 0 15259 1] -endobj - -5501 0 obj -[1518 0 R/XYZ 0 15259 1] -endobj - -5502 0 obj -[1521 0 R/XYZ 0 15259 1] -endobj - -5503 0 obj -[1528 0 R/XYZ 0 15259 1] -endobj - -5504 0 obj -[1229 0 R/XYZ 0 15259 1] -endobj - -5505 0 obj -[1229 0 R/XYZ 0 15259 1] -endobj - -5506 0 obj -[1525 0 R/XYZ 0 15259 1] -endobj - -5507 0 obj -[1528 0 R/XYZ 0 15259 1] -endobj - -5508 0 obj -[1229 0 R/XYZ 0 15259 1] -endobj - -5509 0 obj -[1484 0 R/XYZ 0 15259 1] -endobj - -5510 0 obj -[1486 0 R/XYZ 0 15259 1] -endobj - -5511 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -5512 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -5513 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -5514 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -5515 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -5516 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -5517 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -5518 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -5519 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -5520 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -5521 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -5522 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -5523 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -5524 0 obj -[1370 0 R/XYZ 0 15259 1] -endobj - -5525 0 obj -[1372 0 R/XYZ 0 15259 1] -endobj - -5526 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5527 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -5528 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5529 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -5530 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -5531 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -5532 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -5533 0 obj -[1371 0 R/XYZ 0 15259 1] -endobj - -5534 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -5535 0 obj -[1177 0 R/XYZ 0 15259 1] -endobj - -5536 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -5537 0 obj -[731 0 R/XYZ 0 15259 1] -endobj - -5538 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -5539 0 obj -[1465 0 R/XYZ 0 15259 1] -endobj - -5540 0 obj -[416 0 R/XYZ 0 15259 1] -endobj - -5541 0 obj -[418 0 R/XYZ 0 15259 1] -endobj - -5542 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -5543 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -5544 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -5545 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -5546 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -5547 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -5548 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -5549 0 obj -[1371 0 R/XYZ 0 15259 1] -endobj - -5550 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -5551 0 obj -[1397 0 R/XYZ 0 15259 1] -endobj - -5552 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -5553 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -5554 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -5555 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -5556 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -5557 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -5558 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -5559 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -5560 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -5561 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -5562 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -5563 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -5564 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -5565 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -5566 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -5567 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -5568 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -5569 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -5570 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -5571 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -5572 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -5573 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -5574 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -5575 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -5576 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -5577 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -5578 0 obj -[1231 0 R/XYZ 0 15259 1] -endobj - -5579 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -5580 0 obj -[619 0 R/XYZ 0 15259 1] -endobj - -5581 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -5582 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -5583 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -5584 0 obj -[1240 0 R/XYZ 0 15259 1] -endobj - -5585 0 obj -[1242 0 R/XYZ 0 15259 1] -endobj - -5586 0 obj -[815 0 R/XYZ 0 15259 1] -endobj - -5587 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -5588 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -5589 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -5590 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -5591 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -5592 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -5593 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -5594 0 obj -[1242 0 R/XYZ 0 15259 1] -endobj - -5595 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -5596 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -5597 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -5598 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -5599 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -5600 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -5601 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -5602 0 obj -[744 0 R/XYZ 0 15259 1] -endobj - -5603 0 obj -[746 0 R/XYZ 0 15259 1] -endobj - -5604 0 obj -[757 0 R/XYZ 0 15259 1] -endobj - -5605 0 obj -[786 0 R/XYZ 0 15259 1] -endobj - -5606 0 obj -[809 0 R/XYZ 0 15259 1] -endobj - -5607 0 obj -[815 0 R/XYZ 0 15259 1] -endobj - -5608 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -5609 0 obj -[838 0 R/XYZ 0 15259 1] -endobj - -5610 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -5611 0 obj -[845 0 R/XYZ 0 15259 1] -endobj - -5612 0 obj -[856 0 R/XYZ 0 15259 1] -endobj - -5613 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -5614 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -5615 0 obj -[1056 0 R/XYZ 0 15259 1] -endobj - -5616 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -5617 0 obj -[1071 0 R/XYZ 0 15259 1] -endobj - -5618 0 obj -[1623 0 R/XYZ 0 15259 1] -endobj - -5619 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -5620 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -5621 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -5622 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -5623 0 obj -[700 0 R/XYZ 0 15259 1] -endobj - -5624 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -5625 0 obj -[1510 0 R/XYZ 0 15259 1] -endobj - -5626 0 obj -[1513 0 R/XYZ 0 15259 1] -endobj - -5627 0 obj -[1527 0 R/XYZ 0 15259 1] -endobj - -5628 0 obj -[1513 0 R/XYZ 0 15259 1] -endobj - -5629 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -5630 0 obj -[1510 0 R/XYZ 0 15259 1] -endobj - -5631 0 obj -[1512 0 R/XYZ 0 15259 1] -endobj - -5632 0 obj -[1512 0 R/XYZ 0 15259 1] -endobj - -5633 0 obj -[1255 0 R/XYZ 0 15259 1] -endobj - -5634 0 obj -[1257 0 R/XYZ 0 15259 1] -endobj - -5635 0 obj -[1259 0 R/XYZ 0 15259 1] -endobj - -5636 0 obj -[1262 0 R/XYZ 0 15259 1] -endobj - -5637 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -5638 0 obj -[1494 0 R/XYZ 0 15259 1] -endobj - -5639 0 obj -[1510 0 R/XYZ 0 15259 1] -endobj - -5640 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -5641 0 obj -[1266 0 R/XYZ 0 15259 1] -endobj - -5642 0 obj -[856 0 R/XYZ 0 15259 1] -endobj - -5643 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -5644 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -5645 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -5646 0 obj -[500 0 R/XYZ 0 15259 1] -endobj - -5647 0 obj -[503 0 R/XYZ 0 15259 1] -endobj - -5648 0 obj -[529 0 R/XYZ 0 15259 1] -endobj - -5649 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -5650 0 obj -[560 0 R/XYZ 0 15259 1] -endobj - -5651 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -5652 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -5653 0 obj -[576 0 R/XYZ 0 15259 1] -endobj - -5654 0 obj -[580 0 R/XYZ 0 15259 1] -endobj - -5655 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -5656 0 obj -[586 0 R/XYZ 0 15259 1] -endobj - -5657 0 obj -[595 0 R/XYZ 0 15259 1] -endobj - -5658 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -5659 0 obj -[658 0 R/XYZ 0 15259 1] -endobj - -5660 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -5661 0 obj -[1095 0 R/XYZ 0 15259 1] -endobj - -5662 0 obj -[1361 0 R/XYZ 0 15259 1] -endobj - -5663 0 obj -[1605 0 R/XYZ 0 15259 1] -endobj - -5664 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -5665 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -5666 0 obj -[561 0 R/XYZ 0 15259 1] -endobj - -5667 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -5668 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -5669 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -5670 0 obj -[1371 0 R/XYZ 0 15259 1] -endobj - -5671 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -5672 0 obj -[1231 0 R/XYZ 0 15259 1] -endobj - -5673 0 obj -[1525 0 R/XYZ 0 15259 1] -endobj - -5674 0 obj -[621 0 R/XYZ 0 15259 1] -endobj - -5675 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -5676 0 obj -[779 0 R/XYZ 0 15259 1] -endobj - -5677 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -5678 0 obj -[866 0 R/XYZ 0 15259 1] -endobj - -5679 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -5680 0 obj -[887 0 R/XYZ 0 15259 1] -endobj - -5681 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -5682 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -5683 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -5684 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -5685 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -5686 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -5687 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -5688 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -5689 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -5690 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -5691 0 obj -[1338 0 R/XYZ 0 15259 1] -endobj - -5692 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -5693 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -5694 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -5695 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -5696 0 obj -[1115 0 R/XYZ 0 15259 1] -endobj - -5697 0 obj -[1129 0 R/XYZ 0 15259 1] -endobj - -5698 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -5699 0 obj -[496 0 R/XYZ 0 15259 1] -endobj - -5700 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -5701 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -5702 0 obj -[605 0 R/XYZ 0 15259 1] -endobj - -5703 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -5704 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -5705 0 obj -[1144 0 R/XYZ 0 15259 1] -endobj - -5706 0 obj -[1103 0 R/XYZ 0 15259 1] -endobj - -5707 0 obj -[1115 0 R/XYZ 0 15259 1] -endobj - -5708 0 obj -[1082 0 R/XYZ 0 15259 1] -endobj - -5709 0 obj -[1085 0 R/XYZ 0 15259 1] -endobj - -5710 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -5711 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -5712 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -5713 0 obj -[359 0 R/XYZ 0 15259 1] -endobj - -5714 0 obj -[362 0 R/XYZ 0 15259 1] -endobj - -5715 0 obj -[361 0 R/XYZ 0 15259 1] -endobj - -5716 0 obj -<> -endobj - -5717 0 obj -[1327 0 R/XYZ 0 15259 1] -endobj - -5718 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -5719 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -5720 0 obj -[478 0 R/XYZ 0 15259 1] -endobj - -5721 0 obj -[523 0 R/XYZ 0 15259 1] -endobj - -5722 0 obj -[1530 0 R/XYZ 0 15259 1] -endobj - -5723 0 obj -[478 0 R/XYZ 0 15259 1] -endobj - -5724 0 obj -[517 0 R/XYZ 0 15259 1] -endobj - -5725 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -5726 0 obj -[522 0 R/XYZ 0 15259 1] -endobj - -5727 0 obj -[824 0 R/XYZ 0 15259 1] -endobj - -5728 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -5729 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -5730 0 obj -[867 0 R/XYZ 0 15259 1] -endobj - -5731 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -5732 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -5733 0 obj -[1083 0 R/XYZ 0 15259 1] -endobj - -5734 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -5735 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -5736 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -5737 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -5738 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -5739 0 obj -[1376 0 R/XYZ 0 15259 1] -endobj - -5740 0 obj -[1377 0 R/XYZ 0 15259 1] -endobj - -5741 0 obj -[1389 0 R/XYZ 0 15259 1] -endobj - -5742 0 obj -[1390 0 R/XYZ 0 15259 1] -endobj - -5743 0 obj -[1397 0 R/XYZ 0 15259 1] -endobj - -5744 0 obj -[1401 0 R/XYZ 0 15259 1] -endobj - -5745 0 obj -[1404 0 R/XYZ 0 15259 1] -endobj - -5746 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -5747 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -5748 0 obj -[1639 0 R/XYZ 0 15259 1] -endobj - -5749 0 obj -[1640 0 R/XYZ 0 15259 1] -endobj - -5750 0 obj -[517 0 R/XYZ 0 15259 1] -endobj - -5751 0 obj -[611 0 R/XYZ 0 15259 1] -endobj - -5752 0 obj -[611 0 R/XYZ 0 15259 1] -endobj - -5753 0 obj -[638 0 R/XYZ 0 15259 1] -endobj - -5754 0 obj -[720 0 R/XYZ 0 15259 1] -endobj - -5755 0 obj -[637 0 R/XYZ 0 15259 1] -endobj - -5756 0 obj -[611 0 R/XYZ 0 15259 1] -endobj - -5757 0 obj -[638 0 R/XYZ 0 15259 1] -endobj - -5758 0 obj -[637 0 R/XYZ 0 15259 1] -endobj - -5759 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -5760 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -5761 0 obj -[1131 0 R/XYZ 0 15259 1] -endobj - -5762 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -5763 0 obj -[1296 0 R/XYZ 0 15259 1] -endobj - -5764 0 obj -[1297 0 R/XYZ 0 15259 1] -endobj - -5765 0 obj -[1299 0 R/XYZ 0 15259 1] -endobj - -5766 0 obj -[1301 0 R/XYZ 0 15259 1] -endobj - -5767 0 obj -[1306 0 R/XYZ 0 15259 1] -endobj - -5768 0 obj -[1311 0 R/XYZ 0 15259 1] -endobj - -5769 0 obj -[1451 0 R/XYZ 0 15259 1] -endobj - -5770 0 obj -[1457 0 R/XYZ 0 15259 1] -endobj - -5771 0 obj -[1458 0 R/XYZ 0 15259 1] -endobj - -5772 0 obj -[1526 0 R/XYZ 0 15259 1] -endobj - -5773 0 obj -[1530 0 R/XYZ 0 15259 1] -endobj - -5774 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -5775 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -5776 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -5777 0 obj -[1131 0 R/XYZ 0 15259 1] -endobj - -5778 0 obj -[1148 0 R/XYZ 0 15259 1] -endobj - -5779 0 obj -[1218 0 R/XYZ 0 15259 1] -endobj - -5780 0 obj -[1276 0 R/XYZ 0 15259 1] -endobj - -5781 0 obj -[1323 0 R/XYZ 0 15259 1] -endobj - -5782 0 obj -[1177 0 R/XYZ 0 15259 1] -endobj - -5783 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -5784 0 obj -[1177 0 R/XYZ 0 15259 1] -endobj - -5785 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -5786 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -5787 0 obj -[1193 0 R/XYZ 0 15259 1] -endobj - -5788 0 obj -[1199 0 R/XYZ 0 15259 1] -endobj - -5789 0 obj -[1177 0 R/XYZ 0 15259 1] -endobj - -5790 0 obj -[1184 0 R/XYZ 0 15259 1] -endobj - -5791 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -5792 0 obj -[1279 0 R/XYZ 0 15259 1] -endobj - -5793 0 obj -[1641 0 R/XYZ 0 15259 1] -endobj - -5794 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -5795 0 obj -[1188 0 R/XYZ 0 15259 1] -endobj - -5796 0 obj -[1189 0 R/XYZ 0 15259 1] -endobj - -5797 0 obj -[1195 0 R/XYZ 0 15259 1] -endobj - -5798 0 obj -[1196 0 R/XYZ 0 15259 1] -endobj - -5799 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -5800 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -5801 0 obj -[1193 0 R/XYZ 0 15259 1] -endobj - -5802 0 obj -[1199 0 R/XYZ 0 15259 1] -endobj - -5803 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -5804 0 obj -[1178 0 R/XYZ 0 15259 1] -endobj - -5805 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -5806 0 obj -[1202 0 R/XYZ 0 15259 1] -endobj - -5807 0 obj -[1215 0 R/XYZ 0 15259 1] -endobj - -5808 0 obj -[1218 0 R/XYZ 0 15259 1] -endobj - -5809 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -5810 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -5811 0 obj -[1188 0 R/XYZ 0 15259 1] -endobj - -5812 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -5813 0 obj -[1200 0 R/XYZ 0 15259 1] -endobj - -5814 0 obj -[1202 0 R/XYZ 0 15259 1] -endobj - -5815 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -5816 0 obj -[1218 0 R/XYZ 0 15259 1] -endobj - -5817 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -5818 0 obj -[1188 0 R/XYZ 0 15259 1] -endobj - -5819 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -5820 0 obj -[1200 0 R/XYZ 0 15259 1] -endobj - -5821 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -5822 0 obj -[1188 0 R/XYZ 0 15259 1] -endobj - -5823 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -5824 0 obj -[1200 0 R/XYZ 0 15259 1] -endobj - -5825 0 obj -[1480 0 R/XYZ 0 15259 1] -endobj - -5826 0 obj -[1484 0 R/XYZ 0 15259 1] -endobj - -5827 0 obj -[1538 0 R/XYZ 0 15259 1] -endobj - -5828 0 obj -[1492 0 R/XYZ 0 15259 1] -endobj - -5829 0 obj -[1526 0 R/XYZ 0 15259 1] -endobj - -5830 0 obj -[1528 0 R/XYZ 0 15259 1] -endobj - -5831 0 obj -[1532 0 R/XYZ 0 15259 1] -endobj - -5832 0 obj -[1536 0 R/XYZ 0 15259 1] -endobj - -5833 0 obj -[1224 0 R/XYZ 0 15259 1] -endobj - -5834 0 obj -[1224 0 R/XYZ 0 15259 1] -endobj - -5835 0 obj -[1265 0 R/XYZ 0 15259 1] -endobj - -5836 0 obj -[1224 0 R/XYZ 0 15259 1] -endobj - -5837 0 obj -[1224 0 R/XYZ 0 15259 1] -endobj - -5838 0 obj -[1239 0 R/XYZ 0 15259 1] -endobj - -5839 0 obj -[1224 0 R/XYZ 0 15259 1] -endobj - -5840 0 obj -[1239 0 R/XYZ 0 15259 1] -endobj - -5841 0 obj -[1265 0 R/XYZ 0 15259 1] -endobj - -5842 0 obj -[1224 0 R/XYZ 0 15259 1] -endobj - -5843 0 obj -[1239 0 R/XYZ 0 15259 1] -endobj - -5844 0 obj -[1397 0 R/XYZ 0 15259 1] -endobj - -5845 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -5846 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -5847 0 obj -[1125 0 R/XYZ 0 15259 1] -endobj - -5848 0 obj -[1336 0 R/XYZ 0 15259 1] -endobj - -5849 0 obj -[1358 0 R/XYZ 0 15259 1] -endobj - -5850 0 obj -[1361 0 R/XYZ 0 15259 1] -endobj - -5851 0 obj -[1362 0 R/XYZ 0 15259 1] -endobj - -5852 0 obj -[1377 0 R/XYZ 0 15259 1] -endobj - -5853 0 obj -[1404 0 R/XYZ 0 15259 1] -endobj - -5854 0 obj -[1413 0 R/XYZ 0 15259 1] -endobj - -5855 0 obj -[1358 0 R/XYZ 0 15259 1] -endobj - -5856 0 obj -[1533 0 R/XYZ 0 15259 1] -endobj - -5857 0 obj -[1534 0 R/XYZ 0 15259 1] -endobj - -5858 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -5859 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -5860 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -5861 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -5862 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -5863 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -5864 0 obj -[1371 0 R/XYZ 0 15259 1] -endobj - -5865 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -5866 0 obj -[416 0 R/XYZ 0 15259 1] -endobj - -5867 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -5868 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -5869 0 obj -[416 0 R/XYZ 0 15259 1] -endobj - -5870 0 obj -[418 0 R/XYZ 0 15259 1] -endobj - -5871 0 obj -[621 0 R/XYZ 0 15259 1] -endobj - -5872 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -5873 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -5874 0 obj -[1092 0 R/XYZ 0 15259 1] -endobj - -5875 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -5876 0 obj -[1533 0 R/XYZ 0 15259 1] -endobj - -5877 0 obj -[1534 0 R/XYZ 0 15259 1] -endobj - -5878 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -5879 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -5880 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -5881 0 obj -[1371 0 R/XYZ 0 15259 1] -endobj - -5882 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -5883 0 obj -[1092 0 R/XYZ 0 15259 1] -endobj - -5884 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -5885 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -5886 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -5887 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -5888 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -5889 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -5890 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -5891 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -5892 0 obj -[1338 0 R/XYZ 0 15259 1] -endobj - -5893 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -5894 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -5895 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -5896 0 obj -[1338 0 R/XYZ 0 15259 1] -endobj - -5897 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -5898 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -5899 0 obj -[1371 0 R/XYZ 0 15259 1] -endobj - -5900 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -5901 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -5902 0 obj -[715 0 R/XYZ 0 15259 1] -endobj - -5903 0 obj -[717 0 R/XYZ 0 15259 1] -endobj - -5904 0 obj -[884 0 R/XYZ 0 15259 1] -endobj - -5905 0 obj -[887 0 R/XYZ 0 15259 1] -endobj - -5906 0 obj -[828 0 R/XYZ 0 15259 1] -endobj - -5907 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -5908 0 obj -[819 0 R/XYZ 0 15259 1] -endobj - -5909 0 obj -[828 0 R/XYZ 0 15259 1] -endobj - -5910 0 obj -[836 0 R/XYZ 0 15259 1] -endobj - -5911 0 obj -[838 0 R/XYZ 0 15259 1] -endobj - -5912 0 obj -[862 0 R/XYZ 0 15259 1] -endobj - -5913 0 obj -[907 0 R/XYZ 0 15259 1] -endobj - -5914 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -5915 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -5916 0 obj -[1409 0 R/XYZ 0 15259 1] -endobj - -5917 0 obj -[1410 0 R/XYZ 0 15259 1] -endobj - -5918 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -5919 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -5920 0 obj -[1506 0 R/XYZ 0 15259 1] -endobj - -5921 0 obj -[1507 0 R/XYZ 0 15259 1] -endobj - -5922 0 obj -[1514 0 R/XYZ 0 15259 1] -endobj - -5923 0 obj -[1515 0 R/XYZ 0 15259 1] -endobj - -5924 0 obj -[1526 0 R/XYZ 0 15259 1] -endobj - -5925 0 obj -[979 0 R/XYZ 0 15259 1] -endobj - -5926 0 obj -[1627 0 R/XYZ 0 15259 1] -endobj - -5927 0 obj -[980 0 R/XYZ 0 15259 1] -endobj - -5928 0 obj -[979 0 R/XYZ 0 15259 1] -endobj - -5929 0 obj -[1627 0 R/XYZ 0 15259 1] -endobj - -5930 0 obj -[980 0 R/XYZ 0 15259 1] -endobj - -5931 0 obj -[432 0 R/XYZ 0 15259 1] -endobj - -5932 0 obj -[501 0 R/XYZ 0 15259 1] -endobj - -5933 0 obj -[828 0 R/XYZ 0 15259 1] -endobj - -5934 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -5935 0 obj -[432 0 R/XYZ 0 15259 1] -endobj - -5936 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -5937 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -5938 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -5939 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -5940 0 obj -[743 0 R/XYZ 0 15259 1] -endobj - -5941 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -5942 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -5943 0 obj -[378 0 R/XYZ 0 15259 1] -endobj - -5944 0 obj -[418 0 R/XYZ 0 15259 1] -endobj - -5945 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -5946 0 obj -[623 0 R/XYZ 0 15259 1] -endobj - -5947 0 obj -[633 0 R/XYZ 0 15259 1] -endobj - -5948 0 obj -[636 0 R/XYZ 0 15259 1] -endobj - -5949 0 obj -[705 0 R/XYZ 0 15259 1] -endobj - -5950 0 obj -[776 0 R/XYZ 0 15259 1] -endobj - -5951 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -5952 0 obj -[1606 0 R/XYZ 0 15259 1] -endobj - -5953 0 obj -[1648 0 R/XYZ 0 15259 1] -endobj - -5954 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -5955 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -5956 0 obj -[1177 0 R/XYZ 0 15259 1] -endobj - -5957 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -5958 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -5959 0 obj -[1193 0 R/XYZ 0 15259 1] -endobj - -5960 0 obj -[1199 0 R/XYZ 0 15259 1] -endobj - -5961 0 obj -[1178 0 R/XYZ 0 15259 1] -endobj - -5962 0 obj -[1280 0 R/XYZ 0 15259 1] -endobj - -5963 0 obj -[402 0 R/XYZ 0 15259 1] -endobj - -5964 0 obj -[788 0 R/XYZ 0 15259 1] -endobj - -5965 0 obj -[839 0 R/XYZ 0 15259 1] -endobj - -5966 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -5967 0 obj -[862 0 R/XYZ 0 15259 1] -endobj - -5968 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -5969 0 obj -[877 0 R/XYZ 0 15259 1] -endobj - -5970 0 obj -[882 0 R/XYZ 0 15259 1] -endobj - -5971 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -5972 0 obj -[913 0 R/XYZ 0 15259 1] -endobj - -5973 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -5974 0 obj -[919 0 R/XYZ 0 15259 1] -endobj - -5975 0 obj -[930 0 R/XYZ 0 15259 1] -endobj - -5976 0 obj -[933 0 R/XYZ 0 15259 1] -endobj - -5977 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -5978 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -5979 0 obj -[1041 0 R/XYZ 0 15259 1] -endobj - -5980 0 obj -[1336 0 R/XYZ 0 15259 1] -endobj - -5981 0 obj -[1338 0 R/XYZ 0 15259 1] -endobj - -5982 0 obj -[1366 0 R/XYZ 0 15259 1] -endobj - -5983 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -5984 0 obj -[1408 0 R/XYZ 0 15259 1] -endobj - -5985 0 obj -[1624 0 R/XYZ 0 15259 1] -endobj - -5986 0 obj -[1632 0 R/XYZ 0 15259 1] -endobj - -5987 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -5988 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -5989 0 obj -[851 0 R/XYZ 0 15259 1] -endobj - -5990 0 obj -[857 0 R/XYZ 0 15259 1] -endobj - -5991 0 obj -[862 0 R/XYZ 0 15259 1] -endobj - -5992 0 obj -[1169 0 R/XYZ 0 15259 1] -endobj - -5993 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -5994 0 obj -[1338 0 R/XYZ 0 15259 1] -endobj - -5995 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -5996 0 obj -[1366 0 R/XYZ 0 15259 1] -endobj - -5997 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -5998 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -5999 0 obj -[1522 0 R/XYZ 0 15259 1] -endobj - -6000 0 obj -[1524 0 R/XYZ 0 15259 1] -endobj - -6001 0 obj -[1522 0 R/XYZ 0 15259 1] -endobj - -6002 0 obj -[501 0 R/XYZ 0 15259 1] -endobj - -6003 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -6004 0 obj -[995 0 R/XYZ 0 15259 1] -endobj - -6005 0 obj -[1450 0 R/XYZ 0 15259 1] -endobj - -6006 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -6007 0 obj -[381 0 R/XYZ 0 15259 1] -endobj - -6008 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -6009 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -6010 0 obj -[1166 0 R/XYZ 0 15259 1] -endobj - -6011 0 obj -[1649 0 R/XYZ 0 15259 1] -endobj - -6012 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -6013 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -6014 0 obj -[381 0 R/XYZ 0 15259 1] -endobj - -6015 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -6016 0 obj -[522 0 R/XYZ 0 15259 1] -endobj - -6017 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -6018 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -6019 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -6020 0 obj -[828 0 R/XYZ 0 15259 1] -endobj - -6021 0 obj -[1099 0 R/XYZ 0 15259 1] -endobj - -6022 0 obj -[1166 0 R/XYZ 0 15259 1] -endobj - -6023 0 obj -[1366 0 R/XYZ 0 15259 1] -endobj - -6024 0 obj -[1408 0 R/XYZ 0 15259 1] -endobj - -6025 0 obj -[1409 0 R/XYZ 0 15259 1] -endobj - -6026 0 obj -[1412 0 R/XYZ 0 15259 1] -endobj - -6027 0 obj -[1635 0 R/XYZ 0 15259 1] -endobj - -6028 0 obj -[1649 0 R/XYZ 0 15259 1] -endobj - -6029 0 obj -[1184 0 R/XYZ 0 15259 1] -endobj - -6030 0 obj -[1648 0 R/XYZ 0 15259 1] -endobj - -6031 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -6032 0 obj -[1144 0 R/XYZ 0 15259 1] -endobj - -6033 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -6034 0 obj -[359 0 R/XYZ 0 15259 1] -endobj - -6035 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -6036 0 obj -[359 0 R/XYZ 0 15259 1] -endobj - -6037 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -6038 0 obj -<> -endobj - -6039 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -6040 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -6041 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -6042 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -6043 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -6044 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -6045 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -6046 0 obj -[772 0 R/XYZ 0 15259 1] -endobj - -6047 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -6048 0 obj -[816 0 R/XYZ 0 15259 1] -endobj - -6049 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -6050 0 obj -[828 0 R/XYZ 0 15259 1] -endobj - -6051 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -6052 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -6053 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -6054 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -6055 0 obj -[553 0 R/XYZ 0 15259 1] -endobj - -6056 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -6057 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -6058 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -6059 0 obj -[553 0 R/XYZ 0 15259 1] -endobj - -6060 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -6061 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -6062 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -6063 0 obj -[1357 0 R/XYZ 0 15259 1] -endobj - -6064 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -6065 0 obj -[702 0 R/XYZ 0 15259 1] -endobj - -6066 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -6067 0 obj -[1439 0 R/XYZ 0 15259 1] -endobj - -6068 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -6069 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -6070 0 obj -[706 0 R/XYZ 0 15259 1] -endobj - -6071 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -6072 0 obj -[1489 0 R/XYZ 0 15259 1] -endobj - -6073 0 obj -[1510 0 R/XYZ 0 15259 1] -endobj - -6074 0 obj -[702 0 R/XYZ 0 15259 1] -endobj - -6075 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -6076 0 obj -[1649 0 R/XYZ 0 15259 1] -endobj - -6077 0 obj -[432 0 R/XYZ 0 15259 1] -endobj - -6078 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -6079 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -6080 0 obj -[605 0 R/XYZ 0 15259 1] -endobj - -6081 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -6082 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -6083 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -6084 0 obj -[1391 0 R/XYZ 0 15259 1] -endobj - -6085 0 obj -[1624 0 R/XYZ 0 15259 1] -endobj - -6086 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -6087 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -6088 0 obj -[702 0 R/XYZ 0 15259 1] -endobj - -6089 0 obj -[704 0 R/XYZ 0 15259 1] -endobj - -6090 0 obj -[727 0 R/XYZ 0 15259 1] -endobj - -6091 0 obj -[1439 0 R/XYZ 0 15259 1] -endobj - -6092 0 obj -[1620 0 R/XYZ 0 15259 1] -endobj - -6093 0 obj -[1648 0 R/XYZ 0 15259 1] -endobj - -6094 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -6095 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -6096 0 obj -[440 0 R/XYZ 0 15259 1] -endobj - -6097 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -6098 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -6099 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -6100 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -6101 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -6102 0 obj -[720 0 R/XYZ 0 15259 1] -endobj - -6103 0 obj -[726 0 R/XYZ 0 15259 1] -endobj - -6104 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -6105 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -6106 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -6107 0 obj -[939 0 R/XYZ 0 15259 1] -endobj - -6108 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -6109 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -6110 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -6111 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -6112 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -6113 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -6114 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -6115 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -6116 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -6117 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -6118 0 obj -[1357 0 R/XYZ 0 15259 1] -endobj - -6119 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -6120 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -6121 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -6122 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -6123 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -6124 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -6125 0 obj -[561 0 R/XYZ 0 15259 1] -endobj - -6126 0 obj -[565 0 R/XYZ 0 15259 1] -endobj - -6127 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -6128 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -6129 0 obj -[561 0 R/XYZ 0 15259 1] -endobj - -6130 0 obj -[565 0 R/XYZ 0 15259 1] -endobj - -6131 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -6132 0 obj -[572 0 R/XYZ 0 15259 1] -endobj - -6133 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -6134 0 obj -[529 0 R/XYZ 0 15259 1] -endobj - -6135 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -6136 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -6137 0 obj -[556 0 R/XYZ 0 15259 1] -endobj - -6138 0 obj -[561 0 R/XYZ 0 15259 1] -endobj - -6139 0 obj -[566 0 R/XYZ 0 15259 1] -endobj - -6140 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -6141 0 obj -[574 0 R/XYZ 0 15259 1] -endobj - -6142 0 obj -[586 0 R/XYZ 0 15259 1] -endobj - -6143 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -6144 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -6145 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -6146 0 obj -[1608 0 R/XYZ 0 15259 1] -endobj - -6147 0 obj -[1609 0 R/XYZ 0 15259 1] -endobj - -6148 0 obj -[506 0 R/XYZ 0 15259 1] -endobj - -6149 0 obj -[562 0 R/XYZ 0 15259 1] -endobj - -6150 0 obj -[568 0 R/XYZ 0 15259 1] -endobj - -6151 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -6152 0 obj -[572 0 R/XYZ 0 15259 1] -endobj - -6153 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -6154 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -6155 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6156 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -6157 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -6158 0 obj -[568 0 R/XYZ 0 15259 1] -endobj - -6159 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -6160 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6161 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -6162 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -6163 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -6164 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -6165 0 obj -[561 0 R/XYZ 0 15259 1] -endobj - -6166 0 obj -[692 0 R/XYZ 0 15259 1] -endobj - -6167 0 obj -[380 0 R/XYZ 0 15259 1] -endobj - -6168 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -6169 0 obj -[386 0 R/XYZ 0 15259 1] -endobj - -6170 0 obj -[396 0 R/XYZ 0 15259 1] -endobj - -6171 0 obj -[407 0 R/XYZ 0 15259 1] -endobj - -6172 0 obj -[418 0 R/XYZ 0 15259 1] -endobj - -6173 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -6174 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -6175 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -6176 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -6177 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -6178 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -6179 0 obj -[461 0 R/XYZ 0 15259 1] -endobj - -6180 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -6181 0 obj -[474 0 R/XYZ 0 15259 1] -endobj - -6182 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -6183 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -6184 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -6185 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -6186 0 obj -[497 0 R/XYZ 0 15259 1] -endobj - -6187 0 obj -[500 0 R/XYZ 0 15259 1] -endobj - -6188 0 obj -[501 0 R/XYZ 0 15259 1] -endobj - -6189 0 obj -[515 0 R/XYZ 0 15259 1] -endobj - -6190 0 obj -[520 0 R/XYZ 0 15259 1] -endobj - -6191 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -6192 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -6193 0 obj -[556 0 R/XYZ 0 15259 1] -endobj - -6194 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -6195 0 obj -[572 0 R/XYZ 0 15259 1] -endobj - -6196 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -6197 0 obj -[587 0 R/XYZ 0 15259 1] -endobj - -6198 0 obj -[595 0 R/XYZ 0 15259 1] -endobj - -6199 0 obj -[647 0 R/XYZ 0 15259 1] -endobj - -6200 0 obj -[657 0 R/XYZ 0 15259 1] -endobj - -6201 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -6202 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -6203 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -6204 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -6205 0 obj -[674 0 R/XYZ 0 15259 1] -endobj - -6206 0 obj -[700 0 R/XYZ 0 15259 1] -endobj - -6207 0 obj -[706 0 R/XYZ 0 15259 1] -endobj - -6208 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -6209 0 obj -[710 0 R/XYZ 0 15259 1] -endobj - -6210 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -6211 0 obj -[727 0 R/XYZ 0 15259 1] -endobj - -6212 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -6213 0 obj -[748 0 R/XYZ 0 15259 1] -endobj - -6214 0 obj -[753 0 R/XYZ 0 15259 1] -endobj - -6215 0 obj -[756 0 R/XYZ 0 15259 1] -endobj - -6216 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -6217 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -6218 0 obj -[772 0 R/XYZ 0 15259 1] -endobj - -6219 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -6220 0 obj -[776 0 R/XYZ 0 15259 1] -endobj - -6221 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -6222 0 obj -[787 0 R/XYZ 0 15259 1] -endobj - -6223 0 obj -[790 0 R/XYZ 0 15259 1] -endobj - -6224 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -6225 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -6226 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -6227 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -6228 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -6229 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -6230 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -6231 0 obj -[836 0 R/XYZ 0 15259 1] -endobj - -6232 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -6233 0 obj -[852 0 R/XYZ 0 15259 1] -endobj - -6234 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -6235 0 obj -[856 0 R/XYZ 0 15259 1] -endobj - -6236 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -6237 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -6238 0 obj -[875 0 R/XYZ 0 15259 1] -endobj - -6239 0 obj -[877 0 R/XYZ 0 15259 1] -endobj - -6240 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -6241 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -6242 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -6243 0 obj -[907 0 R/XYZ 0 15259 1] -endobj - -6244 0 obj -[923 0 R/XYZ 0 15259 1] -endobj - -6245 0 obj -[926 0 R/XYZ 0 15259 1] -endobj - -6246 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -6247 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -6248 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -6249 0 obj -[947 0 R/XYZ 0 15259 1] -endobj - -6250 0 obj -[951 0 R/XYZ 0 15259 1] -endobj - -6251 0 obj -[955 0 R/XYZ 0 15259 1] -endobj - -6252 0 obj -[959 0 R/XYZ 0 15259 1] -endobj - -6253 0 obj -[977 0 R/XYZ 0 15259 1] -endobj - -6254 0 obj -[1003 0 R/XYZ 0 15259 1] -endobj - -6255 0 obj -[1004 0 R/XYZ 0 15259 1] -endobj - -6256 0 obj -[1011 0 R/XYZ 0 15259 1] -endobj - -6257 0 obj -[1012 0 R/XYZ 0 15259 1] -endobj - -6258 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -6259 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -6260 0 obj -[1056 0 R/XYZ 0 15259 1] -endobj - -6261 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -6262 0 obj -[1068 0 R/XYZ 0 15259 1] -endobj - -6263 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -6264 0 obj -[1087 0 R/XYZ 0 15259 1] -endobj - -6265 0 obj -[1098 0 R/XYZ 0 15259 1] -endobj - -6266 0 obj -[1099 0 R/XYZ 0 15259 1] -endobj - -6267 0 obj -[1107 0 R/XYZ 0 15259 1] -endobj - -6268 0 obj -[1132 0 R/XYZ 0 15259 1] -endobj - -6269 0 obj -[1142 0 R/XYZ 0 15259 1] -endobj - -6270 0 obj -[1144 0 R/XYZ 0 15259 1] -endobj - -6271 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -6272 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -6273 0 obj -[1186 0 R/XYZ 0 15259 1] -endobj - -6274 0 obj -[1193 0 R/XYZ 0 15259 1] -endobj - -6275 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -6276 0 obj -[1200 0 R/XYZ 0 15259 1] -endobj - -6277 0 obj -[1202 0 R/XYZ 0 15259 1] -endobj - -6278 0 obj -[1203 0 R/XYZ 0 15259 1] -endobj - -6279 0 obj -[1205 0 R/XYZ 0 15259 1] -endobj - -6280 0 obj -[1211 0 R/XYZ 0 15259 1] -endobj - -6281 0 obj -[1229 0 R/XYZ 0 15259 1] -endobj - -6282 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -6283 0 obj -[1246 0 R/XYZ 0 15259 1] -endobj - -6284 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -6285 0 obj -[1253 0 R/XYZ 0 15259 1] -endobj - -6286 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -6287 0 obj -[1282 0 R/XYZ 0 15259 1] -endobj - -6288 0 obj -[1298 0 R/XYZ 0 15259 1] -endobj - -6289 0 obj -[1300 0 R/XYZ 0 15259 1] -endobj - -6290 0 obj -[1302 0 R/XYZ 0 15259 1] -endobj - -6291 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -6292 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -6293 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -6294 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -6295 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -6296 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -6297 0 obj -[1396 0 R/XYZ 0 15259 1] -endobj - -6298 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -6299 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -6300 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -6301 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -6302 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -6303 0 obj -[1439 0 R/XYZ 0 15259 1] -endobj - -6304 0 obj -[1470 0 R/XYZ 0 15259 1] -endobj - -6305 0 obj -[1486 0 R/XYZ 0 15259 1] -endobj - -6306 0 obj -[1493 0 R/XYZ 0 15259 1] -endobj - -6307 0 obj -[1611 0 R/XYZ 0 15259 1] -endobj - -6308 0 obj -[1618 0 R/XYZ 0 15259 1] -endobj - -6309 0 obj -[1625 0 R/XYZ 0 15259 1] -endobj - -6310 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -6311 0 obj -[1632 0 R/XYZ 0 15259 1] -endobj - -6312 0 obj -[1635 0 R/XYZ 0 15259 1] -endobj - -6313 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -6314 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -6315 0 obj -[951 0 R/XYZ 0 15259 1] -endobj - -6316 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6317 0 obj -[1124 0 R/XYZ 0 15259 1] -endobj - -6318 0 obj -[1124 0 R/XYZ 0 15259 1] -endobj - -6319 0 obj -[1124 0 R/XYZ 0 15259 1] -endobj - -6320 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -6321 0 obj -[1124 0 R/XYZ 0 15259 1] -endobj - -6322 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -6323 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -6324 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -6325 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -6326 0 obj -[1266 0 R/XYZ 0 15259 1] -endobj - -6327 0 obj -[1284 0 R/XYZ 0 15259 1] -endobj - -6328 0 obj -[1287 0 R/XYZ 0 15259 1] -endobj - -6329 0 obj -[1494 0 R/XYZ 0 15259 1] -endobj - -6330 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -6331 0 obj -[1228 0 R/XYZ 0 15259 1] -endobj - -6332 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -6333 0 obj -[1433 0 R/XYZ 0 15259 1] -endobj - -6334 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -6335 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -6336 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -6337 0 obj -[562 0 R/XYZ 0 15259 1] -endobj - -6338 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -6339 0 obj -[1338 0 R/XYZ 0 15259 1] -endobj - -6340 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -6341 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -6342 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -6343 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -6344 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -6345 0 obj -[681 0 R/XYZ 0 15259 1] -endobj - -6346 0 obj -[682 0 R/XYZ 0 15259 1] -endobj - -6347 0 obj -[779 0 R/XYZ 0 15259 1] -endobj - -6348 0 obj -[975 0 R/XYZ 0 15259 1] -endobj - -6349 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -6350 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6351 0 obj -[1619 0 R/XYZ 0 15259 1] -endobj - -6352 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -6353 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -6354 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6355 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -6356 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6357 0 obj -[1087 0 R/XYZ 0 15259 1] -endobj - -6358 0 obj -[1095 0 R/XYZ 0 15259 1] -endobj - -6359 0 obj -[1068 0 R/XYZ 0 15259 1] -endobj - -6360 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -6361 0 obj -[1096 0 R/XYZ 0 15259 1] -endobj - -6362 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -6363 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -6364 0 obj -[1087 0 R/XYZ 0 15259 1] -endobj - -6365 0 obj -[361 0 R/XYZ 0 15259 1] -endobj - -6366 0 obj -[362 0 R/XYZ 0 15259 1] -endobj - -6367 0 obj -[366 0 R/XYZ 0 15259 1] -endobj - -6368 0 obj -[368 0 R/XYZ 0 15259 1] -endobj - -6369 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -6370 0 obj -<> -endobj - -6371 0 obj -[1091 0 R/XYZ 0 15259 1] -endobj - -6372 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -6373 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -6374 0 obj -[1631 0 R/XYZ 0 15259 1] -endobj - -6375 0 obj -[1091 0 R/XYZ 0 15259 1] -endobj - -6376 0 obj -[977 0 R/XYZ 0 15259 1] -endobj - -6377 0 obj -[983 0 R/XYZ 0 15259 1] -endobj - -6378 0 obj -[988 0 R/XYZ 0 15259 1] -endobj - -6379 0 obj -[990 0 R/XYZ 0 15259 1] -endobj - -6380 0 obj -[1091 0 R/XYZ 0 15259 1] -endobj - -6381 0 obj -[1092 0 R/XYZ 0 15259 1] -endobj - -6382 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -6383 0 obj -[1091 0 R/XYZ 0 15259 1] -endobj - -6384 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -6385 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6386 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6387 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6388 0 obj -[1061 0 R/XYZ 0 15259 1] -endobj - -6389 0 obj -[1065 0 R/XYZ 0 15259 1] -endobj - -6390 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6391 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6392 0 obj -[1061 0 R/XYZ 0 15259 1] -endobj - -6393 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6394 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6395 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6396 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6397 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -6398 0 obj -[1072 0 R/XYZ 0 15259 1] -endobj - -6399 0 obj -[1074 0 R/XYZ 0 15259 1] -endobj - -6400 0 obj -[1076 0 R/XYZ 0 15259 1] -endobj - -6401 0 obj -[1255 0 R/XYZ 0 15259 1] -endobj - -6402 0 obj -[1259 0 R/XYZ 0 15259 1] -endobj - -6403 0 obj -[1262 0 R/XYZ 0 15259 1] -endobj - -6404 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -6405 0 obj -[1601 0 R/XYZ 0 15259 1] -endobj - -6406 0 obj -[1602 0 R/XYZ 0 15259 1] -endobj - -6407 0 obj -[1511 0 R/XYZ 0 15259 1] -endobj - -6408 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -6409 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -6410 0 obj -[1602 0 R/XYZ 0 15259 1] -endobj - -6411 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6412 0 obj -[1065 0 R/XYZ 0 15259 1] -endobj - -6413 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -6414 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -6415 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -6416 0 obj -[380 0 R/XYZ 0 15259 1] -endobj - -6417 0 obj -[400 0 R/XYZ 0 15259 1] -endobj - -6418 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -6419 0 obj -[658 0 R/XYZ 0 15259 1] -endobj - -6420 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -6421 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -6422 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -6423 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -6424 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -6425 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -6426 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -6427 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -6428 0 obj -[658 0 R/XYZ 0 15259 1] -endobj - -6429 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -6430 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -6431 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -6432 0 obj -[763 0 R/XYZ 0 15259 1] -endobj - -6433 0 obj -[766 0 R/XYZ 0 15259 1] -endobj - -6434 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -6435 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -6436 0 obj -[810 0 R/XYZ 0 15259 1] -endobj - -6437 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -6438 0 obj -[816 0 R/XYZ 0 15259 1] -endobj - -6439 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6440 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -6441 0 obj -[1388 0 R/XYZ 0 15259 1] -endobj - -6442 0 obj -[1413 0 R/XYZ 0 15259 1] -endobj - -6443 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6444 0 obj -[1072 0 R/XYZ 0 15259 1] -endobj - -6445 0 obj -[1074 0 R/XYZ 0 15259 1] -endobj - -6446 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -6447 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -6448 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -6449 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -6450 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -6451 0 obj -[808 0 R/XYZ 0 15259 1] -endobj - -6452 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -6453 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6454 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6455 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6456 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6457 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6458 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6459 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6460 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6461 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6462 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6463 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6464 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -6465 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -6466 0 obj -[1602 0 R/XYZ 0 15259 1] -endobj - -6467 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -6468 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -6469 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -6470 0 obj -[1065 0 R/XYZ 0 15259 1] -endobj - -6471 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -6472 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6473 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6474 0 obj -[1316 0 R/XYZ 0 15259 1] -endobj - -6475 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -6476 0 obj -[1601 0 R/XYZ 0 15259 1] -endobj - -6477 0 obj -[1065 0 R/XYZ 0 15259 1] -endobj - -6478 0 obj -[1065 0 R/XYZ 0 15259 1] -endobj - -6479 0 obj -[1316 0 R/XYZ 0 15259 1] -endobj - -6480 0 obj -[1524 0 R/XYZ 0 15259 1] -endobj - -6481 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -6482 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -6483 0 obj -[1602 0 R/XYZ 0 15259 1] -endobj - -6484 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -6485 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -6486 0 obj -[1601 0 R/XYZ 0 15259 1] -endobj - -6487 0 obj -[1498 0 R/XYZ 0 15259 1] -endobj - -6488 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -6489 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -6490 0 obj -[1601 0 R/XYZ 0 15259 1] -endobj - -6491 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6492 0 obj -[1316 0 R/XYZ 0 15259 1] -endobj - -6493 0 obj -[1501 0 R/XYZ 0 15259 1] -endobj - -6494 0 obj -[1507 0 R/XYZ 0 15259 1] -endobj - -6495 0 obj -[1601 0 R/XYZ 0 15259 1] -endobj - -6496 0 obj -[1603 0 R/XYZ 0 15259 1] -endobj - -6497 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6498 0 obj -[1316 0 R/XYZ 0 15259 1] -endobj - -6499 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6500 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -6501 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -6502 0 obj -[907 0 R/XYZ 0 15259 1] -endobj - -6503 0 obj -[688 0 R/XYZ 0 15259 1] -endobj - -6504 0 obj -[712 0 R/XYZ 0 15259 1] -endobj - -6505 0 obj -[714 0 R/XYZ 0 15259 1] -endobj - -6506 0 obj -[718 0 R/XYZ 0 15259 1] -endobj - -6507 0 obj -[726 0 R/XYZ 0 15259 1] -endobj - -6508 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -6509 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -6510 0 obj -[884 0 R/XYZ 0 15259 1] -endobj - -6511 0 obj -[885 0 R/XYZ 0 15259 1] -endobj - -6512 0 obj -[887 0 R/XYZ 0 15259 1] -endobj - -6513 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -6514 0 obj -[907 0 R/XYZ 0 15259 1] -endobj - -6515 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -6516 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -6517 0 obj -[1624 0 R/XYZ 0 15259 1] -endobj - -6518 0 obj -[714 0 R/XYZ 0 15259 1] -endobj - -6519 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -6520 0 obj -[461 0 R/XYZ 0 15259 1] -endobj - -6521 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -6522 0 obj -[474 0 R/XYZ 0 15259 1] -endobj - -6523 0 obj -[992 0 R/XYZ 0 15259 1] -endobj - -6524 0 obj -[1606 0 R/XYZ 0 15259 1] -endobj - -6525 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -6526 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -6527 0 obj -[1315 0 R/XYZ 0 15259 1] -endobj - -6528 0 obj -[1316 0 R/XYZ 0 15259 1] -endobj - -6529 0 obj -[1318 0 R/XYZ 0 15259 1] -endobj - -6530 0 obj -[1323 0 R/XYZ 0 15259 1] -endobj - -6531 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -6532 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -6533 0 obj -[1318 0 R/XYZ 0 15259 1] -endobj - -6534 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -6535 0 obj -[1214 0 R/XYZ 0 15259 1] -endobj - -6536 0 obj -[1486 0 R/XYZ 0 15259 1] -endobj - -6537 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6538 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -6539 0 obj -[1486 0 R/XYZ 0 15259 1] -endobj - -6540 0 obj -[1214 0 R/XYZ 0 15259 1] -endobj - -6541 0 obj -[1486 0 R/XYZ 0 15259 1] -endobj - -6542 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -6543 0 obj -[384 0 R/XYZ 0 15259 1] -endobj - -6544 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -6545 0 obj -[394 0 R/XYZ 0 15259 1] -endobj - -6546 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -6547 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -6548 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -6549 0 obj -[574 0 R/XYZ 0 15259 1] -endobj - -6550 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -6551 0 obj -[586 0 R/XYZ 0 15259 1] -endobj - -6552 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -6553 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -6554 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -6555 0 obj -[656 0 R/XYZ 0 15259 1] -endobj - -6556 0 obj -[658 0 R/XYZ 0 15259 1] -endobj - -6557 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -6558 0 obj -[1605 0 R/XYZ 0 15259 1] -endobj - -6559 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -6560 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -6561 0 obj -[478 0 R/XYZ 0 15259 1] -endobj - -6562 0 obj -[487 0 R/XYZ 0 15259 1] -endobj - -6563 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -6564 0 obj -[503 0 R/XYZ 0 15259 1] -endobj - -6565 0 obj -[506 0 R/XYZ 0 15259 1] -endobj - -6566 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -6567 0 obj -[523 0 R/XYZ 0 15259 1] -endobj - -6568 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -6569 0 obj -[628 0 R/XYZ 0 15259 1] -endobj - -6570 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -6571 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6572 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -6573 0 obj -[1088 0 R/XYZ 0 15259 1] -endobj - -6574 0 obj -[1091 0 R/XYZ 0 15259 1] -endobj - -6575 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -6576 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -6577 0 obj -[1323 0 R/XYZ 0 15259 1] -endobj - -6578 0 obj -[1451 0 R/XYZ 0 15259 1] -endobj - -6579 0 obj -[1452 0 R/XYZ 0 15259 1] -endobj - -6580 0 obj -[1454 0 R/XYZ 0 15259 1] -endobj - -6581 0 obj -[1457 0 R/XYZ 0 15259 1] -endobj - -6582 0 obj -[1459 0 R/XYZ 0 15259 1] -endobj - -6583 0 obj -[1465 0 R/XYZ 0 15259 1] -endobj - -6584 0 obj -[1513 0 R/XYZ 0 15259 1] -endobj - -6585 0 obj -[1608 0 R/XYZ 0 15259 1] -endobj - -6586 0 obj -[488 0 R/XYZ 0 15259 1] -endobj - -6587 0 obj -[528 0 R/XYZ 0 15259 1] -endobj - -6588 0 obj -[533 0 R/XYZ 0 15259 1] -endobj - -6589 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -6590 0 obj -[572 0 R/XYZ 0 15259 1] -endobj - -6591 0 obj -[588 0 R/XYZ 0 15259 1] -endobj - -6592 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -6593 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -6594 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6595 0 obj -[1642 0 R/XYZ 0 15259 1] -endobj - -6596 0 obj -[528 0 R/XYZ 0 15259 1] -endobj - -6597 0 obj -[641 0 R/XYZ 0 15259 1] -endobj - -6598 0 obj -[381 0 R/XYZ 0 15259 1] -endobj - -6599 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -6600 0 obj -[400 0 R/XYZ 0 15259 1] -endobj - -6601 0 obj -[418 0 R/XYZ 0 15259 1] -endobj - -6602 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -6603 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -6604 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -6605 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -6606 0 obj -[440 0 R/XYZ 0 15259 1] -endobj - -6607 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -6608 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -6609 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -6610 0 obj -[474 0 R/XYZ 0 15259 1] -endobj - -6611 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -6612 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -6613 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -6614 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -6615 0 obj -[517 0 R/XYZ 0 15259 1] -endobj - -6616 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -6617 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -6618 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -6619 0 obj -[556 0 R/XYZ 0 15259 1] -endobj - -6620 0 obj -[560 0 R/XYZ 0 15259 1] -endobj - -6621 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -6622 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -6623 0 obj -[587 0 R/XYZ 0 15259 1] -endobj - -6624 0 obj -[595 0 R/XYZ 0 15259 1] -endobj - -6625 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -6626 0 obj -[657 0 R/XYZ 0 15259 1] -endobj - -6627 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -6628 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -6629 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -6630 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -6631 0 obj -[674 0 R/XYZ 0 15259 1] -endobj - -6632 0 obj -[680 0 R/XYZ 0 15259 1] -endobj - -6633 0 obj -[706 0 R/XYZ 0 15259 1] -endobj - -6634 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -6635 0 obj -[710 0 R/XYZ 0 15259 1] -endobj - -6636 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -6637 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -6638 0 obj -[748 0 R/XYZ 0 15259 1] -endobj - -6639 0 obj -[753 0 R/XYZ 0 15259 1] -endobj - -6640 0 obj -[756 0 R/XYZ 0 15259 1] -endobj - -6641 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -6642 0 obj -[776 0 R/XYZ 0 15259 1] -endobj - -6643 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -6644 0 obj -[787 0 R/XYZ 0 15259 1] -endobj - -6645 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -6646 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -6647 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -6648 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -6649 0 obj -[816 0 R/XYZ 0 15259 1] -endobj - -6650 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -6651 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -6652 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -6653 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -6654 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -6655 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -6656 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -6657 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -6658 0 obj -[875 0 R/XYZ 0 15259 1] -endobj - -6659 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -6660 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -6661 0 obj -[923 0 R/XYZ 0 15259 1] -endobj - -6662 0 obj -[926 0 R/XYZ 0 15259 1] -endobj - -6663 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -6664 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -6665 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -6666 0 obj -[947 0 R/XYZ 0 15259 1] -endobj - -6667 0 obj -[951 0 R/XYZ 0 15259 1] -endobj - -6668 0 obj -[956 0 R/XYZ 0 15259 1] -endobj - -6669 0 obj -[959 0 R/XYZ 0 15259 1] -endobj - -6670 0 obj -[977 0 R/XYZ 0 15259 1] -endobj - -6671 0 obj -[1003 0 R/XYZ 0 15259 1] -endobj - -6672 0 obj -[1004 0 R/XYZ 0 15259 1] -endobj - -6673 0 obj -[1056 0 R/XYZ 0 15259 1] -endobj - -6674 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -6675 0 obj -[1087 0 R/XYZ 0 15259 1] -endobj - -6676 0 obj -[1099 0 R/XYZ 0 15259 1] -endobj - -6677 0 obj -[1107 0 R/XYZ 0 15259 1] -endobj - -6678 0 obj -[1132 0 R/XYZ 0 15259 1] -endobj - -6679 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -6680 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -6681 0 obj -[1186 0 R/XYZ 0 15259 1] -endobj - -6682 0 obj -[1193 0 R/XYZ 0 15259 1] -endobj - -6683 0 obj -[1199 0 R/XYZ 0 15259 1] -endobj - -6684 0 obj -[1203 0 R/XYZ 0 15259 1] -endobj - -6685 0 obj -[1229 0 R/XYZ 0 15259 1] -endobj - -6686 0 obj -[1246 0 R/XYZ 0 15259 1] -endobj - -6687 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -6688 0 obj -[1253 0 R/XYZ 0 15259 1] -endobj - -6689 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -6690 0 obj -[1282 0 R/XYZ 0 15259 1] -endobj - -6691 0 obj -[1298 0 R/XYZ 0 15259 1] -endobj - -6692 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -6693 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -6694 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -6695 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -6696 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -6697 0 obj -[1396 0 R/XYZ 0 15259 1] -endobj - -6698 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -6699 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -6700 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -6701 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -6702 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -6703 0 obj -[1486 0 R/XYZ 0 15259 1] -endobj - -6704 0 obj -[1493 0 R/XYZ 0 15259 1] -endobj - -6705 0 obj -[1611 0 R/XYZ 0 15259 1] -endobj - -6706 0 obj -[1618 0 R/XYZ 0 15259 1] -endobj - -6707 0 obj -[1625 0 R/XYZ 0 15259 1] -endobj - -6708 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -6709 0 obj -[1632 0 R/XYZ 0 15259 1] -endobj - -6710 0 obj -[1635 0 R/XYZ 0 15259 1] -endobj - -6711 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -6712 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -6713 0 obj -[361 0 R/XYZ 0 15259 1] -endobj - -6714 0 obj -[362 0 R/XYZ 0 15259 1] -endobj - -6715 0 obj -[367 0 R/XYZ 0 15259 1] -endobj - -6716 0 obj -[368 0 R/XYZ 0 15259 1] -endobj - -6717 0 obj -<> -endobj - -6718 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -6719 0 obj -[1648 0 R/XYZ 0 15259 1] -endobj - -6720 0 obj -[1606 0 R/XYZ 0 15259 1] -endobj - -6721 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -6722 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -6723 0 obj -[513 0 R/XYZ 0 15259 1] -endobj - -6724 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -6725 0 obj -[386 0 R/XYZ 0 15259 1] -endobj - -6726 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -6727 0 obj -[623 0 R/XYZ 0 15259 1] -endobj - -6728 0 obj -[688 0 R/XYZ 0 15259 1] -endobj - -6729 0 obj -[692 0 R/XYZ 0 15259 1] -endobj - -6730 0 obj -[694 0 R/XYZ 0 15259 1] -endobj - -6731 0 obj -[699 0 R/XYZ 0 15259 1] -endobj - -6732 0 obj -[714 0 R/XYZ 0 15259 1] -endobj - -6733 0 obj -[716 0 R/XYZ 0 15259 1] -endobj - -6734 0 obj -[727 0 R/XYZ 0 15259 1] -endobj - -6735 0 obj -[743 0 R/XYZ 0 15259 1] -endobj - -6736 0 obj -[744 0 R/XYZ 0 15259 1] -endobj - -6737 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -6738 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -6739 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -6740 0 obj -[873 0 R/XYZ 0 15259 1] -endobj - -6741 0 obj -[906 0 R/XYZ 0 15259 1] -endobj - -6742 0 obj -[907 0 R/XYZ 0 15259 1] -endobj - -6743 0 obj -[1061 0 R/XYZ 0 15259 1] -endobj - -6744 0 obj -[1305 0 R/XYZ 0 15259 1] -endobj - -6745 0 obj -[1307 0 R/XYZ 0 15259 1] -endobj - -6746 0 obj -[1315 0 R/XYZ 0 15259 1] -endobj - -6747 0 obj -[1403 0 R/XYZ 0 15259 1] -endobj - -6748 0 obj -[1414 0 R/XYZ 0 15259 1] -endobj - -6749 0 obj -[1505 0 R/XYZ 0 15259 1] -endobj - -6750 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -6751 0 obj -[1511 0 R/XYZ 0 15259 1] -endobj - -6752 0 obj -[1518 0 R/XYZ 0 15259 1] -endobj - -6753 0 obj -[1524 0 R/XYZ 0 15259 1] -endobj - -6754 0 obj -[1527 0 R/XYZ 0 15259 1] -endobj - -6755 0 obj -[1619 0 R/XYZ 0 15259 1] -endobj - -6756 0 obj -[1621 0 R/XYZ 0 15259 1] -endobj - -6757 0 obj -[1639 0 R/XYZ 0 15259 1] -endobj - -6758 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -6759 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -6760 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -6761 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -6762 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -6763 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -6764 0 obj -[1362 0 R/XYZ 0 15259 1] -endobj - -6765 0 obj -[595 0 R/XYZ 0 15259 1] -endobj - -6766 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -6767 0 obj -[829 0 R/XYZ 0 15259 1] -endobj - -6768 0 obj -[1015 0 R/XYZ 0 15259 1] -endobj - -6769 0 obj -[1017 0 R/XYZ 0 15259 1] -endobj - -6770 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -6771 0 obj -[706 0 R/XYZ 0 15259 1] -endobj - -6772 0 obj -[407 0 R/XYZ 0 15259 1] -endobj - -6773 0 obj -[410 0 R/XYZ 0 15259 1] -endobj - -6774 0 obj -[460 0 R/XYZ 0 15259 1] -endobj - -6775 0 obj -[592 0 R/XYZ 0 15259 1] -endobj - -6776 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -6777 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -6778 0 obj -[704 0 R/XYZ 0 15259 1] -endobj - -6779 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -6780 0 obj -[712 0 R/XYZ 0 15259 1] -endobj - -6781 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -6782 0 obj -[873 0 R/XYZ 0 15259 1] -endobj - -6783 0 obj -[955 0 R/XYZ 0 15259 1] -endobj - -6784 0 obj -[965 0 R/XYZ 0 15259 1] -endobj - -6785 0 obj -[966 0 R/XYZ 0 15259 1] -endobj - -6786 0 obj -[969 0 R/XYZ 0 15259 1] -endobj - -6787 0 obj -[971 0 R/XYZ 0 15259 1] -endobj - -6788 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -6789 0 obj -[1016 0 R/XYZ 0 15259 1] -endobj - -6790 0 obj -[1031 0 R/XYZ 0 15259 1] -endobj - -6791 0 obj -[1034 0 R/XYZ 0 15259 1] -endobj - -6792 0 obj -[1202 0 R/XYZ 0 15259 1] -endobj - -6793 0 obj -[1256 0 R/XYZ 0 15259 1] -endobj - -6794 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -6795 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -6796 0 obj -[1296 0 R/XYZ 0 15259 1] -endobj - -6797 0 obj -[1297 0 R/XYZ 0 15259 1] -endobj - -6798 0 obj -[1300 0 R/XYZ 0 15259 1] -endobj - -6799 0 obj -[1301 0 R/XYZ 0 15259 1] -endobj - -6800 0 obj -[1313 0 R/XYZ 0 15259 1] -endobj - -6801 0 obj -[1314 0 R/XYZ 0 15259 1] -endobj - -6802 0 obj -[1318 0 R/XYZ 0 15259 1] -endobj - -6803 0 obj -[1359 0 R/XYZ 0 15259 1] -endobj - -6804 0 obj -[1446 0 R/XYZ 0 15259 1] -endobj - -6805 0 obj -[1447 0 R/XYZ 0 15259 1] -endobj - -6806 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -6807 0 obj -[1514 0 R/XYZ 0 15259 1] -endobj - -6808 0 obj -[1522 0 R/XYZ 0 15259 1] -endobj - -6809 0 obj -[1533 0 R/XYZ 0 15259 1] -endobj - -6810 0 obj -[1626 0 R/XYZ 0 15259 1] -endobj - -6811 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -6812 0 obj -[704 0 R/XYZ 0 15259 1] -endobj - -6813 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -6814 0 obj -[706 0 R/XYZ 0 15259 1] -endobj - -6815 0 obj -[1097 0 R/XYZ 0 15259 1] -endobj - -6816 0 obj -[1205 0 R/XYZ 0 15259 1] -endobj - -6817 0 obj -[1205 0 R/XYZ 0 15259 1] -endobj - -6818 0 obj -[1141 0 R/XYZ 0 15259 1] -endobj - -6819 0 obj -[1204 0 R/XYZ 0 15259 1] -endobj - -6820 0 obj -[1138 0 R/XYZ 0 15259 1] -endobj - -6821 0 obj -[1139 0 R/XYZ 0 15259 1] -endobj - -6822 0 obj -[1138 0 R/XYZ 0 15259 1] -endobj - -6823 0 obj -[1140 0 R/XYZ 0 15259 1] -endobj - -6824 0 obj -[1205 0 R/XYZ 0 15259 1] -endobj - -6825 0 obj -[1138 0 R/XYZ 0 15259 1] -endobj - -6826 0 obj -[1141 0 R/XYZ 0 15259 1] -endobj - -6827 0 obj -[1203 0 R/XYZ 0 15259 1] -endobj - -6828 0 obj -[1205 0 R/XYZ 0 15259 1] -endobj - -6829 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -6830 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -6831 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -6832 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -6833 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -6834 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -6835 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -6836 0 obj -[455 0 R/XYZ 0 15259 1] -endobj - -6837 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -6838 0 obj -[1329 0 R/XYZ 0 15259 1] -endobj - -6839 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -6840 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -6841 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -6842 0 obj -[1328 0 R/XYZ 0 15259 1] -endobj - -6843 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -6844 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -6845 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -6846 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -6847 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -6848 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -6849 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -6850 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -6851 0 obj -[432 0 R/XYZ 0 15259 1] -endobj - -6852 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -6853 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -6854 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -6855 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -6856 0 obj -[743 0 R/XYZ 0 15259 1] -endobj - -6857 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -6858 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -6859 0 obj -[661 0 R/XYZ 0 15259 1] -endobj - -6860 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -6861 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -6862 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -6863 0 obj -[623 0 R/XYZ 0 15259 1] -endobj - -6864 0 obj -[1142 0 R/XYZ 0 15259 1] -endobj - -6865 0 obj -[1144 0 R/XYZ 0 15259 1] -endobj - -6866 0 obj -[1616 0 R/XYZ 0 15259 1] -endobj - -6867 0 obj -[704 0 R/XYZ 0 15259 1] -endobj - -6868 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -6869 0 obj -[699 0 R/XYZ 0 15259 1] -endobj - -6870 0 obj -[702 0 R/XYZ 0 15259 1] -endobj - -6871 0 obj -[706 0 R/XYZ 0 15259 1] -endobj - -6872 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -6873 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -6874 0 obj -[1205 0 R/XYZ 0 15259 1] -endobj - -6875 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -6876 0 obj -[1144 0 R/XYZ 0 15259 1] -endobj - -6877 0 obj -[646 0 R/XYZ 0 15259 1] -endobj - -6878 0 obj -[647 0 R/XYZ 0 15259 1] -endobj - -6879 0 obj -[1254 0 R/XYZ 0 15259 1] -endobj - -6880 0 obj -[1256 0 R/XYZ 0 15259 1] -endobj - -6881 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -6882 0 obj -[1261 0 R/XYZ 0 15259 1] -endobj - -6883 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -6884 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -6885 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -6886 0 obj -[1186 0 R/XYZ 0 15259 1] -endobj - -6887 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -6888 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -6889 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -6890 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -6891 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -6892 0 obj -[1369 0 R/XYZ 0 15259 1] -endobj - -6893 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -6894 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -6895 0 obj -[1643 0 R/XYZ 0 15259 1] -endobj - -6896 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -6897 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -6898 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -6899 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -6900 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -6901 0 obj -[1362 0 R/XYZ 0 15259 1] -endobj - -6902 0 obj -[595 0 R/XYZ 0 15259 1] -endobj - -6903 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -6904 0 obj -[540 0 R/XYZ 0 15259 1] -endobj - -6905 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -6906 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -6907 0 obj -[572 0 R/XYZ 0 15259 1] -endobj - -6908 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -6909 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -6910 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -6911 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -6912 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6913 0 obj -[1612 0 R/XYZ 0 15259 1] -endobj - -6914 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -6915 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -6916 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -6917 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -6918 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -6919 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6920 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -6921 0 obj -[640 0 R/XYZ 0 15259 1] -endobj - -6922 0 obj -[645 0 R/XYZ 0 15259 1] -endobj - -6923 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6924 0 obj -[642 0 R/XYZ 0 15259 1] -endobj - -6925 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -6926 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -6927 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -6928 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -6929 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6930 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -6931 0 obj -[1637 0 R/XYZ 0 15259 1] -endobj - -6932 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -6933 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -6934 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -6935 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6936 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -6937 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -6938 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -6939 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -6940 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -6941 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -6942 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6943 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -6944 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -6945 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6946 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -6947 0 obj -[640 0 R/XYZ 0 15259 1] -endobj - -6948 0 obj -[645 0 R/XYZ 0 15259 1] -endobj - -6949 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6950 0 obj -[642 0 R/XYZ 0 15259 1] -endobj - -6951 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -6952 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -6953 0 obj -[682 0 R/XYZ 0 15259 1] -endobj - -6954 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -6955 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -6956 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -6957 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -6958 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -6959 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -6960 0 obj -[1082 0 R/XYZ 0 15259 1] -endobj - -6961 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -6962 0 obj -[1139 0 R/XYZ 0 15259 1] -endobj - -6963 0 obj -[1141 0 R/XYZ 0 15259 1] -endobj - -6964 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -6965 0 obj -[1203 0 R/XYZ 0 15259 1] -endobj - -6966 0 obj -[1205 0 R/XYZ 0 15259 1] -endobj - -6967 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -6968 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -6969 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -6970 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -6971 0 obj -[808 0 R/XYZ 0 15259 1] -endobj - -6972 0 obj -[810 0 R/XYZ 0 15259 1] -endobj - -6973 0 obj -[824 0 R/XYZ 0 15259 1] -endobj - -6974 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -6975 0 obj -[867 0 R/XYZ 0 15259 1] -endobj - -6976 0 obj -[1082 0 R/XYZ 0 15259 1] -endobj - -6977 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -6978 0 obj -[1327 0 R/XYZ 0 15259 1] -endobj - -6979 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -6980 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -6981 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -6982 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -6983 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -6984 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -6985 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -6986 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -6987 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -6988 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -6989 0 obj -[1160 0 R/XYZ 0 15259 1] -endobj - -6990 0 obj -[1430 0 R/XYZ 0 15259 1] -endobj - -6991 0 obj -[661 0 R/XYZ 0 15259 1] -endobj - -6992 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -6993 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -6994 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -6995 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -6996 0 obj -[1098 0 R/XYZ 0 15259 1] -endobj - -6997 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -6998 0 obj -[1139 0 R/XYZ 0 15259 1] -endobj - -6999 0 obj -[1139 0 R/XYZ 0 15259 1] -endobj - -7000 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -7001 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -7002 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -7003 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -7004 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -7005 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -7006 0 obj -[1140 0 R/XYZ 0 15259 1] -endobj - -7007 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -7008 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -7009 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -7010 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -7011 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -7012 0 obj -[1253 0 R/XYZ 0 15259 1] -endobj - -7013 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -7014 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -7015 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -7016 0 obj -[362 0 R/XYZ 0 15259 1] -endobj - -7017 0 obj -[367 0 R/XYZ 0 15259 1] -endobj - -7018 0 obj -[368 0 R/XYZ 0 15259 1] -endobj - -7019 0 obj -[368 0 R/XYZ 0 15259 1] -endobj - -7020 0 obj -[359 0 R/XYZ 0 15259 1] -endobj - -7021 0 obj -[368 0 R/XYZ 0 15259 1] -endobj - -7022 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -7023 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -7024 0 obj -<> -endobj - -7025 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -7026 0 obj -[1253 0 R/XYZ 0 15259 1] -endobj - -7027 0 obj -[1178 0 R/XYZ 0 15259 1] -endobj - -7028 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -7029 0 obj -[1279 0 R/XYZ 0 15259 1] -endobj - -7030 0 obj -[1280 0 R/XYZ 0 15259 1] -endobj - -7031 0 obj -[1641 0 R/XYZ 0 15259 1] -endobj - -7032 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -7033 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -7034 0 obj -[1253 0 R/XYZ 0 15259 1] -endobj - -7035 0 obj -[1294 0 R/XYZ 0 15259 1] -endobj - -7036 0 obj -[1296 0 R/XYZ 0 15259 1] -endobj - -7037 0 obj -[1297 0 R/XYZ 0 15259 1] -endobj - -7038 0 obj -[1299 0 R/XYZ 0 15259 1] -endobj - -7039 0 obj -[1301 0 R/XYZ 0 15259 1] -endobj - -7040 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -7041 0 obj -[1189 0 R/XYZ 0 15259 1] -endobj - -7042 0 obj -[1278 0 R/XYZ 0 15259 1] -endobj - -7043 0 obj -[1641 0 R/XYZ 0 15259 1] -endobj - -7044 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -7045 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -7046 0 obj -[1253 0 R/XYZ 0 15259 1] -endobj - -7047 0 obj -[1268 0 R/XYZ 0 15259 1] -endobj - -7048 0 obj -[1252 0 R/XYZ 0 15259 1] -endobj - -7049 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -7050 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -7051 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -7052 0 obj -[1186 0 R/XYZ 0 15259 1] -endobj - -7053 0 obj -[1189 0 R/XYZ 0 15259 1] -endobj - -7054 0 obj -[1214 0 R/XYZ 0 15259 1] -endobj - -7055 0 obj -[1278 0 R/XYZ 0 15259 1] -endobj - -7056 0 obj -[1641 0 R/XYZ 0 15259 1] -endobj - -7057 0 obj -[1189 0 R/XYZ 0 15259 1] -endobj - -7058 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -7059 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -7060 0 obj -[1184 0 R/XYZ 0 15259 1] -endobj - -7061 0 obj -[1186 0 R/XYZ 0 15259 1] -endobj - -7062 0 obj -[1188 0 R/XYZ 0 15259 1] -endobj - -7063 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -7064 0 obj -[1280 0 R/XYZ 0 15259 1] -endobj - -7065 0 obj -[1188 0 R/XYZ 0 15259 1] -endobj - -7066 0 obj -[1252 0 R/XYZ 0 15259 1] -endobj - -7067 0 obj -[1253 0 R/XYZ 0 15259 1] -endobj - -7068 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -7069 0 obj -[1252 0 R/XYZ 0 15259 1] -endobj - -7070 0 obj -[1140 0 R/XYZ 0 15259 1] -endobj - -7071 0 obj -[1186 0 R/XYZ 0 15259 1] -endobj - -7072 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -7073 0 obj -[1189 0 R/XYZ 0 15259 1] -endobj - -7074 0 obj -[1140 0 R/XYZ 0 15259 1] -endobj - -7075 0 obj -[1142 0 R/XYZ 0 15259 1] -endobj - -7076 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -7077 0 obj -[1140 0 R/XYZ 0 15259 1] -endobj - -7078 0 obj -[1142 0 R/XYZ 0 15259 1] -endobj - -7079 0 obj -[1140 0 R/XYZ 0 15259 1] -endobj - -7080 0 obj -[1379 0 R/XYZ 0 15259 1] -endobj - -7081 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -7082 0 obj -[1103 0 R/XYZ 0 15259 1] -endobj - -7083 0 obj -[1115 0 R/XYZ 0 15259 1] -endobj - -7084 0 obj -[1140 0 R/XYZ 0 15259 1] -endobj - -7085 0 obj -[1141 0 R/XYZ 0 15259 1] -endobj - -7086 0 obj -[1140 0 R/XYZ 0 15259 1] -endobj - -7087 0 obj -[1009 0 R/XYZ 0 15259 1] -endobj - -7088 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -7089 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -7090 0 obj -[964 0 R/XYZ 0 15259 1] -endobj - -7091 0 obj -[977 0 R/XYZ 0 15259 1] -endobj - -7092 0 obj -[562 0 R/XYZ 0 15259 1] -endobj - -7093 0 obj -[588 0 R/XYZ 0 15259 1] -endobj - -7094 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -7095 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -7096 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -7097 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7098 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -7099 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -7100 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -7101 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -7102 0 obj -[586 0 R/XYZ 0 15259 1] -endobj - -7103 0 obj -[926 0 R/XYZ 0 15259 1] -endobj - -7104 0 obj -[928 0 R/XYZ 0 15259 1] -endobj - -7105 0 obj -[1016 0 R/XYZ 0 15259 1] -endobj - -7106 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -7107 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -7108 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -7109 0 obj -[1531 0 R/XYZ 0 15259 1] -endobj - -7110 0 obj -[1634 0 R/XYZ 0 15259 1] -endobj - -7111 0 obj -[927 0 R/XYZ 0 15259 1] -endobj - -7112 0 obj -[776 0 R/XYZ 0 15259 1] -endobj - -7113 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -7114 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -7115 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -7116 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -7117 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -7118 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -7119 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -7120 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -7121 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -7122 0 obj -[1231 0 R/XYZ 0 15259 1] -endobj - -7123 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -7124 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -7125 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -7126 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -7127 0 obj -[1480 0 R/XYZ 0 15259 1] -endobj - -7128 0 obj -[1538 0 R/XYZ 0 15259 1] -endobj - -7129 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -7130 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -7131 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -7132 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -7133 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -7134 0 obj -[1112 0 R/XYZ 0 15259 1] -endobj - -7135 0 obj -[460 0 R/XYZ 0 15259 1] -endobj - -7136 0 obj -[501 0 R/XYZ 0 15259 1] -endobj - -7137 0 obj -[1475 0 R/XYZ 0 15259 1] -endobj - -7138 0 obj -[572 0 R/XYZ 0 15259 1] -endobj - -7139 0 obj -[586 0 R/XYZ 0 15259 1] -endobj - -7140 0 obj -[587 0 R/XYZ 0 15259 1] -endobj - -7141 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -7142 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -7143 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -7144 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -7145 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7146 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -7147 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -7148 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -7149 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -7150 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -7151 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -7152 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -7153 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -7154 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -7155 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -7156 0 obj -[797 0 R/XYZ 0 15259 1] -endobj - -7157 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -7158 0 obj -[1433 0 R/XYZ 0 15259 1] -endobj - -7159 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -7160 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -7161 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -7162 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -7163 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -7164 0 obj -[1338 0 R/XYZ 0 15259 1] -endobj - -7165 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -7166 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -7167 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -7168 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -7169 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -7170 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7171 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -7172 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -7173 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -7174 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -7175 0 obj -[561 0 R/XYZ 0 15259 1] -endobj - -7176 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -7177 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -7178 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7179 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7180 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -7181 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7182 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -7183 0 obj -[657 0 R/XYZ 0 15259 1] -endobj - -7184 0 obj -[658 0 R/XYZ 0 15259 1] -endobj - -7185 0 obj -[460 0 R/XYZ 0 15259 1] -endobj - -7186 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -7187 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -7188 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -7189 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -7190 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -7191 0 obj -[658 0 R/XYZ 0 15259 1] -endobj - -7192 0 obj -[1082 0 R/XYZ 0 15259 1] -endobj - -7193 0 obj -[1085 0 R/XYZ 0 15259 1] -endobj - -7194 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -7195 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -7196 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -7197 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -7198 0 obj -[1376 0 R/XYZ 0 15259 1] -endobj - -7199 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -7200 0 obj -[712 0 R/XYZ 0 15259 1] -endobj - -7201 0 obj -[720 0 R/XYZ 0 15259 1] -endobj - -7202 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -7203 0 obj -[907 0 R/XYZ 0 15259 1] -endobj - -7204 0 obj -[951 0 R/XYZ 0 15259 1] -endobj - -7205 0 obj -[1229 0 R/XYZ 0 15259 1] -endobj - -7206 0 obj -[1505 0 R/XYZ 0 15259 1] -endobj - -7207 0 obj -[1519 0 R/XYZ 0 15259 1] -endobj - -7208 0 obj -[1536 0 R/XYZ 0 15259 1] -endobj - -7209 0 obj -[1229 0 R/XYZ 0 15259 1] -endobj - -7210 0 obj -[1229 0 R/XYZ 0 15259 1] -endobj - -7211 0 obj -[1242 0 R/XYZ 0 15259 1] -endobj - -7212 0 obj -[1536 0 R/XYZ 0 15259 1] -endobj - -7213 0 obj -[1229 0 R/XYZ 0 15259 1] -endobj - -7214 0 obj -[1517 0 R/XYZ 0 15259 1] -endobj - -7215 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -7216 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -7217 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -7218 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -7219 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -7220 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -7221 0 obj -[513 0 R/XYZ 0 15259 1] -endobj - -7222 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -7223 0 obj -[487 0 R/XYZ 0 15259 1] -endobj - -7224 0 obj -[496 0 R/XYZ 0 15259 1] -endobj - -7225 0 obj -[503 0 R/XYZ 0 15259 1] -endobj - -7226 0 obj -[504 0 R/XYZ 0 15259 1] -endobj - -7227 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -7228 0 obj -[513 0 R/XYZ 0 15259 1] -endobj - -7229 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -7230 0 obj -[1099 0 R/XYZ 0 15259 1] -endobj - -7231 0 obj -[1120 0 R/XYZ 0 15259 1] -endobj - -7232 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -7233 0 obj -[363 0 R/XYZ 0 15259 1] -endobj - -7234 0 obj -<> -endobj - -7235 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -7236 0 obj -[1120 0 R/XYZ 0 15259 1] -endobj - -7237 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -7238 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -7239 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -7240 0 obj -[487 0 R/XYZ 0 15259 1] -endobj - -7241 0 obj -[506 0 R/XYZ 0 15259 1] -endobj - -7242 0 obj -[520 0 R/XYZ 0 15259 1] -endobj - -7243 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -7244 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -7245 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -7246 0 obj -[1098 0 R/XYZ 0 15259 1] -endobj - -7247 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -7248 0 obj -[1126 0 R/XYZ 0 15259 1] -endobj - -7249 0 obj -[1127 0 R/XYZ 0 15259 1] -endobj - -7250 0 obj -[1141 0 R/XYZ 0 15259 1] -endobj - -7251 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -7252 0 obj -[1207 0 R/XYZ 0 15259 1] -endobj - -7253 0 obj -[1208 0 R/XYZ 0 15259 1] -endobj - -7254 0 obj -[1212 0 R/XYZ 0 15259 1] -endobj - -7255 0 obj -[1431 0 R/XYZ 0 15259 1] -endobj - -7256 0 obj -[1444 0 R/XYZ 0 15259 1] -endobj - -7257 0 obj -[1512 0 R/XYZ 0 15259 1] -endobj - -7258 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -7259 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -7260 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -7261 0 obj -[490 0 R/XYZ 0 15259 1] -endobj - -7262 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -7263 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -7264 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -7265 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -7266 0 obj -[1122 0 R/XYZ 0 15259 1] -endobj - -7267 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -7268 0 obj -[506 0 R/XYZ 0 15259 1] -endobj - -7269 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -7270 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -7271 0 obj -[1208 0 R/XYZ 0 15259 1] -endobj - -7272 0 obj -[1212 0 R/XYZ 0 15259 1] -endobj - -7273 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -7274 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -7275 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -7276 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -7277 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -7278 0 obj -[488 0 R/XYZ 0 15259 1] -endobj - -7279 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -7280 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -7281 0 obj -[628 0 R/XYZ 0 15259 1] -endobj - -7282 0 obj -[1458 0 R/XYZ 0 15259 1] -endobj - -7283 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -7284 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -7285 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -7286 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -7287 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -7288 0 obj -[513 0 R/XYZ 0 15259 1] -endobj - -7289 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -7290 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -7291 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -7292 0 obj -[440 0 R/XYZ 0 15259 1] -endobj - -7293 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -7294 0 obj -[1083 0 R/XYZ 0 15259 1] -endobj - -7295 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -7296 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -7297 0 obj -[1405 0 R/XYZ 0 15259 1] -endobj - -7298 0 obj -[1413 0 R/XYZ 0 15259 1] -endobj - -7299 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -7300 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -7301 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -7302 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -7303 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -7304 0 obj -[824 0 R/XYZ 0 15259 1] -endobj - -7305 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -7306 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -7307 0 obj -[1395 0 R/XYZ 0 15259 1] -endobj - -7308 0 obj -[1396 0 R/XYZ 0 15259 1] -endobj - -7309 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -7310 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -7311 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -7312 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -7313 0 obj -[440 0 R/XYZ 0 15259 1] -endobj - -7314 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -7315 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -7316 0 obj -[513 0 R/XYZ 0 15259 1] -endobj - -7317 0 obj -[1083 0 R/XYZ 0 15259 1] -endobj - -7318 0 obj -[1084 0 R/XYZ 0 15259 1] -endobj - -7319 0 obj -[1098 0 R/XYZ 0 15259 1] -endobj - -7320 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -7321 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -7322 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -7323 0 obj -[1252 0 R/XYZ 0 15259 1] -endobj - -7324 0 obj -[1634 0 R/XYZ 0 15259 1] -endobj - -7325 0 obj -[1637 0 R/XYZ 0 15259 1] -endobj - -7326 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -7327 0 obj -[396 0 R/XYZ 0 15259 1] -endobj - -7328 0 obj -[478 0 R/XYZ 0 15259 1] -endobj - -7329 0 obj -[487 0 R/XYZ 0 15259 1] -endobj - -7330 0 obj -[503 0 R/XYZ 0 15259 1] -endobj - -7331 0 obj -[506 0 R/XYZ 0 15259 1] -endobj - -7332 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -7333 0 obj -[520 0 R/XYZ 0 15259 1] -endobj - -7334 0 obj -[523 0 R/XYZ 0 15259 1] -endobj - -7335 0 obj -[538 0 R/XYZ 0 15259 1] -endobj - -7336 0 obj -[540 0 R/XYZ 0 15259 1] -endobj - -7337 0 obj -[543 0 R/XYZ 0 15259 1] -endobj - -7338 0 obj -[545 0 R/XYZ 0 15259 1] -endobj - -7339 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -7340 0 obj -[566 0 R/XYZ 0 15259 1] -endobj - -7341 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -7342 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -7343 0 obj -[580 0 R/XYZ 0 15259 1] -endobj - -7344 0 obj -[581 0 R/XYZ 0 15259 1] -endobj - -7345 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -7346 0 obj -[613 0 R/XYZ 0 15259 1] -endobj - -7347 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -7348 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -7349 0 obj -[810 0 R/XYZ 0 15259 1] -endobj - -7350 0 obj -[824 0 R/XYZ 0 15259 1] -endobj - -7351 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -7352 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -7353 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -7354 0 obj -[1061 0 R/XYZ 0 15259 1] -endobj - -7355 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -7356 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -7357 0 obj -[1083 0 R/XYZ 0 15259 1] -endobj - -7358 0 obj -[1094 0 R/XYZ 0 15259 1] -endobj - -7359 0 obj -[1095 0 R/XYZ 0 15259 1] -endobj - -7360 0 obj -[1097 0 R/XYZ 0 15259 1] -endobj - -7361 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -7362 0 obj -[1126 0 R/XYZ 0 15259 1] -endobj - -7363 0 obj -[1127 0 R/XYZ 0 15259 1] -endobj - -7364 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -7365 0 obj -[1141 0 R/XYZ 0 15259 1] -endobj - -7366 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -7367 0 obj -[1177 0 R/XYZ 0 15259 1] -endobj - -7368 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -7369 0 obj -[1184 0 R/XYZ 0 15259 1] -endobj - -7370 0 obj -[1204 0 R/XYZ 0 15259 1] -endobj - -7371 0 obj -[1205 0 R/XYZ 0 15259 1] -endobj - -7372 0 obj -[1214 0 R/XYZ 0 15259 1] -endobj - -7373 0 obj -[1218 0 R/XYZ 0 15259 1] -endobj - -7374 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -7375 0 obj -[1304 0 R/XYZ 0 15259 1] -endobj - -7376 0 obj -[1307 0 R/XYZ 0 15259 1] -endobj - -7377 0 obj -[1308 0 R/XYZ 0 15259 1] -endobj - -7378 0 obj -[1322 0 R/XYZ 0 15259 1] -endobj - -7379 0 obj -[1323 0 R/XYZ 0 15259 1] -endobj - -7380 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -7381 0 obj -[1395 0 R/XYZ 0 15259 1] -endobj - -7382 0 obj -[1397 0 R/XYZ 0 15259 1] -endobj - -7383 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -7384 0 obj -[1426 0 R/XYZ 0 15259 1] -endobj - -7385 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -7386 0 obj -[1444 0 R/XYZ 0 15259 1] -endobj - -7387 0 obj -[1502 0 R/XYZ 0 15259 1] -endobj - -7388 0 obj -[1512 0 R/XYZ 0 15259 1] -endobj - -7389 0 obj -[1517 0 R/XYZ 0 15259 1] -endobj - -7390 0 obj -[1527 0 R/XYZ 0 15259 1] -endobj - -7391 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -7392 0 obj -[1609 0 R/XYZ 0 15259 1] -endobj - -7393 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -7394 0 obj -[1637 0 R/XYZ 0 15259 1] -endobj - -7395 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -7396 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -7397 0 obj -[684 0 R/XYZ 0 15259 1] -endobj - -7398 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -7399 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -7400 0 obj -[487 0 R/XYZ 0 15259 1] -endobj - -7401 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -7402 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -7403 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -7404 0 obj -[1307 0 R/XYZ 0 15259 1] -endobj - -7405 0 obj -[1312 0 R/XYZ 0 15259 1] -endobj - -7406 0 obj -[1642 0 R/XYZ 0 15259 1] -endobj - -7407 0 obj -[384 0 R/XYZ 0 15259 1] -endobj - -7408 0 obj -[386 0 R/XYZ 0 15259 1] -endobj - -7409 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -7410 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -7411 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -7412 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -7413 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -7414 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -7415 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -7416 0 obj -[1360 0 R/XYZ 0 15259 1] -endobj - -7417 0 obj -[1516 0 R/XYZ 0 15259 1] -endobj - -7418 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -7419 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -7420 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -7421 0 obj -[1061 0 R/XYZ 0 15259 1] -endobj - -7422 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -7423 0 obj -[1065 0 R/XYZ 0 15259 1] -endobj - -7424 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -7425 0 obj -[1601 0 R/XYZ 0 15259 1] -endobj - -7426 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -7427 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -7428 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -7429 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -7430 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -7431 0 obj -[460 0 R/XYZ 0 15259 1] -endobj - -7432 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -7433 0 obj -[474 0 R/XYZ 0 15259 1] -endobj - -7434 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -7435 0 obj -[1606 0 R/XYZ 0 15259 1] -endobj - -7436 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -7437 0 obj -[1161 0 R/XYZ 0 15259 1] -endobj - -7438 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -7439 0 obj -[1318 0 R/XYZ 0 15259 1] -endobj - -7440 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -7441 0 obj -[461 0 R/XYZ 0 15259 1] -endobj - -7442 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -7443 0 obj -[645 0 R/XYZ 0 15259 1] -endobj - -7444 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -7445 0 obj -[647 0 R/XYZ 0 15259 1] -endobj - -7446 0 obj -[1087 0 R/XYZ 0 15259 1] -endobj - -7447 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -7448 0 obj -[645 0 R/XYZ 0 15259 1] -endobj - -7449 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -7450 0 obj -[647 0 R/XYZ 0 15259 1] -endobj - -7451 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -7452 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -7453 0 obj -[1371 0 R/XYZ 0 15259 1] -endobj - -7454 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -7455 0 obj -[1376 0 R/XYZ 0 15259 1] -endobj - -7456 0 obj -[1315 0 R/XYZ 0 15259 1] -endobj - -7457 0 obj -[1315 0 R/XYZ 0 15259 1] -endobj - -7458 0 obj -[1502 0 R/XYZ 0 15259 1] -endobj - -7459 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -7460 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -7461 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -7462 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -7463 0 obj -[1266 0 R/XYZ 0 15259 1] -endobj - -7464 0 obj -[1315 0 R/XYZ 0 15259 1] -endobj - -7465 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -7466 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -7467 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -7468 0 obj -[513 0 R/XYZ 0 15259 1] -endobj - -7469 0 obj -[538 0 R/XYZ 0 15259 1] -endobj - -7470 0 obj -[543 0 R/XYZ 0 15259 1] -endobj - -7471 0 obj -[1126 0 R/XYZ 0 15259 1] -endobj - -7472 0 obj -[1127 0 R/XYZ 0 15259 1] -endobj - -7473 0 obj -[1141 0 R/XYZ 0 15259 1] -endobj - -7474 0 obj -[1305 0 R/XYZ 0 15259 1] -endobj - -7475 0 obj -[1502 0 R/XYZ 0 15259 1] -endobj - -7476 0 obj -[1527 0 R/XYZ 0 15259 1] -endobj - -7477 0 obj -[1637 0 R/XYZ 0 15259 1] -endobj - -7478 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -7479 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -7480 0 obj -[513 0 R/XYZ 0 15259 1] -endobj - -7481 0 obj -[538 0 R/XYZ 0 15259 1] -endobj - -7482 0 obj -[581 0 R/XYZ 0 15259 1] -endobj - -7483 0 obj -[1061 0 R/XYZ 0 15259 1] -endobj - -7484 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -7485 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -7486 0 obj -[1126 0 R/XYZ 0 15259 1] -endobj - -7487 0 obj -[1127 0 R/XYZ 0 15259 1] -endobj - -7488 0 obj -[1141 0 R/XYZ 0 15259 1] -endobj - -7489 0 obj -[1204 0 R/XYZ 0 15259 1] -endobj - -7490 0 obj -[1395 0 R/XYZ 0 15259 1] -endobj - -7491 0 obj -[1397 0 R/XYZ 0 15259 1] -endobj - -7492 0 obj -[1431 0 R/XYZ 0 15259 1] -endobj - -7493 0 obj -[1512 0 R/XYZ 0 15259 1] -endobj - -7494 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -7495 0 obj -[1379 0 R/XYZ 0 15259 1] -endobj - -7496 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -7497 0 obj -[606 0 R/XYZ 0 15259 1] -endobj - -7498 0 obj -[838 0 R/XYZ 0 15259 1] -endobj - -7499 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -7500 0 obj -[1063 0 R/XYZ 0 15259 1] -endobj - -7501 0 obj -[1410 0 R/XYZ 0 15259 1] -endobj - -7502 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -7503 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -7504 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -7505 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -7506 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -7507 0 obj -[426 0 R/XYZ 0 15259 1] -endobj - -7508 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -7509 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -7510 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -7511 0 obj -[513 0 R/XYZ 0 15259 1] -endobj - -7512 0 obj -[515 0 R/XYZ 0 15259 1] -endobj - -7513 0 obj -[517 0 R/XYZ 0 15259 1] -endobj - -7514 0 obj -[1122 0 R/XYZ 0 15259 1] -endobj - -7515 0 obj -[1129 0 R/XYZ 0 15259 1] -endobj - -7516 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -7517 0 obj -[487 0 R/XYZ 0 15259 1] -endobj - -7518 0 obj -[538 0 R/XYZ 0 15259 1] -endobj - -7519 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -7520 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -7521 0 obj -[580 0 R/XYZ 0 15259 1] -endobj - -7522 0 obj -[581 0 R/XYZ 0 15259 1] -endobj - -7523 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -7524 0 obj -[1098 0 R/XYZ 0 15259 1] -endobj - -7525 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -7526 0 obj -[1126 0 R/XYZ 0 15259 1] -endobj - -7527 0 obj -[1127 0 R/XYZ 0 15259 1] -endobj - -7528 0 obj -[1141 0 R/XYZ 0 15259 1] -endobj - -7529 0 obj -[1431 0 R/XYZ 0 15259 1] -endobj - -7530 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -7531 0 obj -[1342 0 R/XYZ 0 15259 1] -endobj - -7532 0 obj -[1394 0 R/XYZ 0 15259 1] -endobj - -7533 0 obj -[1268 0 R/XYZ 0 15259 1] -endobj - -7534 0 obj -[540 0 R/XYZ 0 15259 1] -endobj - -7535 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -7536 0 obj -[540 0 R/XYZ 0 15259 1] -endobj - -7537 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -7538 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -7539 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -7540 0 obj -[513 0 R/XYZ 0 15259 1] -endobj - -7541 0 obj -[538 0 R/XYZ 0 15259 1] -endobj - -7542 0 obj -[1637 0 R/XYZ 0 15259 1] -endobj - -7543 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -7544 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -7545 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -7546 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -7547 0 obj -[1200 0 R/XYZ 0 15259 1] -endobj - -7548 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -7549 0 obj -[1155 0 R/XYZ 0 15259 1] -endobj - -7550 0 obj -[1159 0 R/XYZ 0 15259 1] -endobj - -7551 0 obj -[1160 0 R/XYZ 0 15259 1] -endobj - -7552 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -7553 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -7554 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -7555 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -7556 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -7557 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -7558 0 obj -[753 0 R/XYZ 0 15259 1] -endobj - -7559 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -7560 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -7561 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -7562 0 obj -[1371 0 R/XYZ 0 15259 1] -endobj - -7563 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -7564 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -7565 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -7566 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -7567 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -7568 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -7569 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -7570 0 obj -[744 0 R/XYZ 0 15259 1] -endobj - -7571 0 obj -[751 0 R/XYZ 0 15259 1] -endobj - -7572 0 obj -[757 0 R/XYZ 0 15259 1] -endobj - -7573 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -7574 0 obj -[810 0 R/XYZ 0 15259 1] -endobj - -7575 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -7576 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -7577 0 obj -[1056 0 R/XYZ 0 15259 1] -endobj - -7578 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -7579 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -7580 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -7581 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -7582 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -7583 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -7584 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -7585 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -7586 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -7587 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -7588 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -7589 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -7590 0 obj -[361 0 R/XYZ 0 15259 1] -endobj - -7591 0 obj -[361 0 R/XYZ 0 15259 1] -endobj - -7592 0 obj -[362 0 R/XYZ 0 15259 1] -endobj - -7593 0 obj -[361 0 R/XYZ 0 15259 1] -endobj - -7594 0 obj -[367 0 R/XYZ 0 15259 1] -endobj - -7595 0 obj -<> -endobj - -7596 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -7597 0 obj -[1292 0 R/XYZ 0 15259 1] -endobj - -7598 0 obj -[1302 0 R/XYZ 0 15259 1] -endobj - -7599 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -7600 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -7601 0 obj -[1391 0 R/XYZ 0 15259 1] -endobj - -7602 0 obj -[656 0 R/XYZ 0 15259 1] -endobj - -7603 0 obj -[659 0 R/XYZ 0 15259 1] -endobj - -7604 0 obj -[873 0 R/XYZ 0 15259 1] -endobj - -7605 0 obj -[1503 0 R/XYZ 0 15259 1] -endobj - -7606 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -7607 0 obj -[1618 0 R/XYZ 0 15259 1] -endobj - -7608 0 obj -[656 0 R/XYZ 0 15259 1] -endobj - -7609 0 obj -[661 0 R/XYZ 0 15259 1] -endobj - -7610 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -7611 0 obj -[669 0 R/XYZ 0 15259 1] -endobj - -7612 0 obj -[661 0 R/XYZ 0 15259 1] -endobj - -7613 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -7614 0 obj -[684 0 R/XYZ 0 15259 1] -endobj - -7615 0 obj -[1618 0 R/XYZ 0 15259 1] -endobj - -7616 0 obj -[538 0 R/XYZ 0 15259 1] -endobj - -7617 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -7618 0 obj -[762 0 R/XYZ 0 15259 1] -endobj - -7619 0 obj -[763 0 R/XYZ 0 15259 1] -endobj - -7620 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -7621 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -7622 0 obj -[777 0 R/XYZ 0 15259 1] -endobj - -7623 0 obj -[780 0 R/XYZ 0 15259 1] -endobj - -7624 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -7625 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -7626 0 obj -[588 0 R/XYZ 0 15259 1] -endobj - -7627 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -7628 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -7629 0 obj -[1612 0 R/XYZ 0 15259 1] -endobj - -7630 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -7631 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -7632 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7633 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -7634 0 obj -[456 0 R/XYZ 0 15259 1] -endobj - -7635 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -7636 0 obj -[460 0 R/XYZ 0 15259 1] -endobj - -7637 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -7638 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -7639 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -7640 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -7641 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -7642 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -7643 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -7644 0 obj -[1153 0 R/XYZ 0 15259 1] -endobj - -7645 0 obj -[450 0 R/XYZ 0 15259 1] -endobj - -7646 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -7647 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7648 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -7649 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -7650 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -7651 0 obj -[601 0 R/XYZ 0 15259 1] -endobj - -7652 0 obj -[1611 0 R/XYZ 0 15259 1] -endobj - -7653 0 obj -[384 0 R/XYZ 0 15259 1] -endobj - -7654 0 obj -[384 0 R/XYZ 0 15259 1] -endobj - -7655 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -7656 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -7657 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -7658 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -7659 0 obj -[592 0 R/XYZ 0 15259 1] -endobj - -7660 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -7661 0 obj -[601 0 R/XYZ 0 15259 1] -endobj - -7662 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -7663 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -7664 0 obj -[1611 0 R/XYZ 0 15259 1] -endobj - -7665 0 obj -[384 0 R/XYZ 0 15259 1] -endobj - -7666 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -7667 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -7668 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -7669 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -7670 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -7671 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -7672 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -7673 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -7674 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -7675 0 obj -[487 0 R/XYZ 0 15259 1] -endobj - -7676 0 obj -[861 0 R/XYZ 0 15259 1] -endobj - -7677 0 obj -[866 0 R/XYZ 0 15259 1] -endobj - -7678 0 obj -[867 0 R/XYZ 0 15259 1] -endobj - -7679 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -7680 0 obj -[875 0 R/XYZ 0 15259 1] -endobj - -7681 0 obj -[882 0 R/XYZ 0 15259 1] -endobj - -7682 0 obj -[887 0 R/XYZ 0 15259 1] -endobj - -7683 0 obj -[905 0 R/XYZ 0 15259 1] -endobj - -7684 0 obj -[909 0 R/XYZ 0 15259 1] -endobj - -7685 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -7686 0 obj -[927 0 R/XYZ 0 15259 1] -endobj - -7687 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -7688 0 obj -[1047 0 R/XYZ 0 15259 1] -endobj - -7689 0 obj -[1377 0 R/XYZ 0 15259 1] -endobj - -7690 0 obj -[1624 0 R/XYZ 0 15259 1] -endobj - -7691 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -7692 0 obj -[1631 0 R/XYZ 0 15259 1] -endobj - -7693 0 obj -[882 0 R/XYZ 0 15259 1] -endobj - -7694 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -7695 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -7696 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -7697 0 obj -[450 0 R/XYZ 0 15259 1] -endobj - -7698 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -7699 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -7700 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -7701 0 obj -[560 0 R/XYZ 0 15259 1] -endobj - -7702 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -7703 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -7704 0 obj -[450 0 R/XYZ 0 15259 1] -endobj - -7705 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -7706 0 obj -[782 0 R/XYZ 0 15259 1] -endobj - -7707 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -7708 0 obj -[1158 0 R/XYZ 0 15259 1] -endobj - -7709 0 obj -[1166 0 R/XYZ 0 15259 1] -endobj - -7710 0 obj -[1256 0 R/XYZ 0 15259 1] -endobj - -7711 0 obj -[1262 0 R/XYZ 0 15259 1] -endobj - -7712 0 obj -[1635 0 R/XYZ 0 15259 1] -endobj - -7713 0 obj -[1637 0 R/XYZ 0 15259 1] -endobj - -7714 0 obj -[1158 0 R/XYZ 0 15259 1] -endobj - -7715 0 obj -[1162 0 R/XYZ 0 15259 1] -endobj - -7716 0 obj -[450 0 R/XYZ 0 15259 1] -endobj - -7717 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -7718 0 obj -[455 0 R/XYZ 0 15259 1] -endobj - -7719 0 obj -[450 0 R/XYZ 0 15259 1] -endobj - -7720 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -7721 0 obj -[450 0 R/XYZ 0 15259 1] -endobj - -7722 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -7723 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -7724 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -7725 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -7726 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -7727 0 obj -[460 0 R/XYZ 0 15259 1] -endobj - -7728 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -7729 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -7730 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -7731 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -7732 0 obj -[450 0 R/XYZ 0 15259 1] -endobj - -7733 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -7734 0 obj -[464 0 R/XYZ 0 15259 1] -endobj - -7735 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -7736 0 obj -[1336 0 R/XYZ 0 15259 1] -endobj - -7737 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -7738 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -7739 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -7740 0 obj -[540 0 R/XYZ 0 15259 1] -endobj - -7741 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -7742 0 obj -[397 0 R/XYZ 0 15259 1] -endobj - -7743 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -7744 0 obj -[411 0 R/XYZ 0 15259 1] -endobj - -7745 0 obj -[875 0 R/XYZ 0 15259 1] -endobj - -7746 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -7747 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -7748 0 obj -[1237 0 R/XYZ 0 15259 1] -endobj - -7749 0 obj -[1605 0 R/XYZ 0 15259 1] -endobj - -7750 0 obj -[397 0 R/XYZ 0 15259 1] -endobj - -7751 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -7752 0 obj -[845 0 R/XYZ 0 15259 1] -endobj - -7753 0 obj -[392 0 R/XYZ 0 15259 1] -endobj - -7754 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -7755 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -7756 0 obj -[945 0 R/XYZ 0 15259 1] -endobj - -7757 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -7758 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -7759 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -7760 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -7761 0 obj -[613 0 R/XYZ 0 15259 1] -endobj - -7762 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -7763 0 obj -[1151 0 R/XYZ 0 15259 1] -endobj - -7764 0 obj -[1153 0 R/XYZ 0 15259 1] -endobj - -7765 0 obj -[1154 0 R/XYZ 0 15259 1] -endobj - -7766 0 obj -[1156 0 R/XYZ 0 15259 1] -endobj - -7767 0 obj -[1161 0 R/XYZ 0 15259 1] -endobj - -7768 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -7769 0 obj -[1168 0 R/XYZ 0 15259 1] -endobj - -7770 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -7771 0 obj -[1277 0 R/XYZ 0 15259 1] -endobj - -7772 0 obj -[1634 0 R/XYZ 0 15259 1] -endobj - -7773 0 obj -[1151 0 R/XYZ 0 15259 1] -endobj - -7774 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7775 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -7776 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -7777 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -7778 0 obj -[1153 0 R/XYZ 0 15259 1] -endobj - -7779 0 obj -[1173 0 R/XYZ 0 15259 1] -endobj - -7780 0 obj -[1174 0 R/XYZ 0 15259 1] -endobj - -7781 0 obj -[1635 0 R/XYZ 0 15259 1] -endobj - -7782 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -7783 0 obj -[1158 0 R/XYZ 0 15259 1] -endobj - -7784 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -7785 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -7786 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -7787 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -7788 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -7789 0 obj -[1433 0 R/XYZ 0 15259 1] -endobj - -7790 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -7791 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -7792 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -7793 0 obj -[418 0 R/XYZ 0 15259 1] -endobj - -7794 0 obj -[636 0 R/XYZ 0 15259 1] -endobj - -7795 0 obj -[860 0 R/XYZ 0 15259 1] -endobj - -7796 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -7797 0 obj -[493 0 R/XYZ 0 15259 1] -endobj - -7798 0 obj -[705 0 R/XYZ 0 15259 1] -endobj - -7799 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -7800 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -7801 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -7802 0 obj -[887 0 R/XYZ 0 15259 1] -endobj - -7803 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -7804 0 obj -[1082 0 R/XYZ 0 15259 1] -endobj - -7805 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -7806 0 obj -[1106 0 R/XYZ 0 15259 1] -endobj - -7807 0 obj -[1111 0 R/XYZ 0 15259 1] -endobj - -7808 0 obj -[1115 0 R/XYZ 0 15259 1] -endobj - -7809 0 obj -[1144 0 R/XYZ 0 15259 1] -endobj - -7810 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -7811 0 obj -[1184 0 R/XYZ 0 15259 1] -endobj - -7812 0 obj -[1215 0 R/XYZ 0 15259 1] -endobj - -7813 0 obj -[1218 0 R/XYZ 0 15259 1] -endobj - -7814 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -7815 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -7816 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -7817 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -7818 0 obj -[1278 0 R/XYZ 0 15259 1] -endobj - -7819 0 obj -[1279 0 R/XYZ 0 15259 1] -endobj - -7820 0 obj -[1311 0 R/XYZ 0 15259 1] -endobj - -7821 0 obj -[1316 0 R/XYZ 0 15259 1] -endobj - -7822 0 obj -[1318 0 R/XYZ 0 15259 1] -endobj - -7823 0 obj -[1320 0 R/XYZ 0 15259 1] -endobj - -7824 0 obj -[1389 0 R/XYZ 0 15259 1] -endobj - -7825 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -7826 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -7827 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -7828 0 obj -[1634 0 R/XYZ 0 15259 1] -endobj - -7829 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -7830 0 obj -[1637 0 R/XYZ 0 15259 1] -endobj - -7831 0 obj -[1642 0 R/XYZ 0 15259 1] -endobj - -7832 0 obj -[1111 0 R/XYZ 0 15259 1] -endobj - -7833 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -7834 0 obj -[1112 0 R/XYZ 0 15259 1] -endobj - -7835 0 obj -[1279 0 R/XYZ 0 15259 1] -endobj - -7836 0 obj -[1318 0 R/XYZ 0 15259 1] -endobj - -7837 0 obj -[1320 0 R/XYZ 0 15259 1] -endobj - -7838 0 obj -[1634 0 R/XYZ 0 15259 1] -endobj - -7839 0 obj -[1641 0 R/XYZ 0 15259 1] -endobj - -7840 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -7841 0 obj -[1112 0 R/XYZ 0 15259 1] -endobj - -7842 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -7843 0 obj -[1319 0 R/XYZ 0 15259 1] -endobj - -7844 0 obj -[1320 0 R/XYZ 0 15259 1] -endobj - -7845 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -7846 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -7847 0 obj -[1279 0 R/XYZ 0 15259 1] -endobj - -7848 0 obj -[1318 0 R/XYZ 0 15259 1] -endobj - -7849 0 obj -[1320 0 R/XYZ 0 15259 1] -endobj - -7850 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -7851 0 obj -[1641 0 R/XYZ 0 15259 1] -endobj - -7852 0 obj -[1642 0 R/XYZ 0 15259 1] -endobj - -7853 0 obj -[757 0 R/XYZ 0 15259 1] -endobj - -7854 0 obj -[1085 0 R/XYZ 0 15259 1] -endobj - -7855 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -7856 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -7857 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -7858 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -7859 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -7860 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -7861 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -7862 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -7863 0 obj -[410 0 R/XYZ 0 15259 1] -endobj - -7864 0 obj -[750 0 R/XYZ 0 15259 1] -endobj - -7865 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -7866 0 obj -[782 0 R/XYZ 0 15259 1] -endobj - -7867 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -7868 0 obj -[1158 0 R/XYZ 0 15259 1] -endobj - -7869 0 obj -[1166 0 R/XYZ 0 15259 1] -endobj - -7870 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -7871 0 obj -[1218 0 R/XYZ 0 15259 1] -endobj - -7872 0 obj -[1255 0 R/XYZ 0 15259 1] -endobj - -7873 0 obj -[1259 0 R/XYZ 0 15259 1] -endobj - -7874 0 obj -[1262 0 R/XYZ 0 15259 1] -endobj - -7875 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -7876 0 obj -[1635 0 R/XYZ 0 15259 1] -endobj - -7877 0 obj -[1637 0 R/XYZ 0 15259 1] -endobj - -7878 0 obj -[1158 0 R/XYZ 0 15259 1] -endobj - -7879 0 obj -[1160 0 R/XYZ 0 15259 1] -endobj - -7880 0 obj -[1228 0 R/XYZ 0 15259 1] -endobj - -7881 0 obj -[1231 0 R/XYZ 0 15259 1] -endobj - -7882 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -7883 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -7884 0 obj -[1238 0 R/XYZ 0 15259 1] -endobj - -7885 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -7886 0 obj -[418 0 R/XYZ 0 15259 1] -endobj - -7887 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -7888 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -7889 0 obj -[780 0 R/XYZ 0 15259 1] -endobj - -7890 0 obj -[1186 0 R/XYZ 0 15259 1] -endobj - -7891 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -7892 0 obj -[1207 0 R/XYZ 0 15259 1] -endobj - -7893 0 obj -[1212 0 R/XYZ 0 15259 1] -endobj - -7894 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -7895 0 obj -[389 0 R/XYZ 0 15259 1] -endobj - -7896 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -7897 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -7898 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -7899 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -7900 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -7901 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -7902 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -7903 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -7904 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -7905 0 obj -[776 0 R/XYZ 0 15259 1] -endobj - -7906 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -7907 0 obj -[919 0 R/XYZ 0 15259 1] -endobj - -7908 0 obj -[920 0 R/XYZ 0 15259 1] -endobj - -7909 0 obj -[945 0 R/XYZ 0 15259 1] -endobj - -7910 0 obj -[1148 0 R/XYZ 0 15259 1] -endobj - -7911 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -7912 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -7913 0 obj -[1221 0 R/XYZ 0 15259 1] -endobj - -7914 0 obj -[1257 0 R/XYZ 0 15259 1] -endobj - -7915 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -7916 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -7917 0 obj -[776 0 R/XYZ 0 15259 1] -endobj - -7918 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -7919 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -7920 0 obj -[1124 0 R/XYZ 0 15259 1] -endobj - -7921 0 obj -[1124 0 R/XYZ 0 15259 1] -endobj - -7922 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7923 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -7924 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -7925 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -7926 0 obj -[358 0 R/XYZ 0 15259 1] -endobj - -7927 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -7928 0 obj -[367 0 R/XYZ 0 15259 1] -endobj - -7929 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -7930 0 obj -[362 0 R/XYZ 0 15259 1] -endobj - -7931 0 obj -[368 0 R/XYZ 0 15259 1] -endobj - -7932 0 obj -<> -endobj - -7933 0 obj -[464 0 R/XYZ 0 15259 1] -endobj - -7934 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -7935 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -7936 0 obj -[464 0 R/XYZ 0 15259 1] -endobj - -7937 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -7938 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7939 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -7940 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -7941 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -7942 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -7943 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -7944 0 obj -[464 0 R/XYZ 0 15259 1] -endobj - -7945 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -7946 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -7947 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -7948 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -7949 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -7950 0 obj -[513 0 R/XYZ 0 15259 1] -endobj - -7951 0 obj -[748 0 R/XYZ 0 15259 1] -endobj - -7952 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7953 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -7954 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -7955 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -7956 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -7957 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7958 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -7959 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -7960 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -7961 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7962 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7963 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -7964 0 obj -[556 0 R/XYZ 0 15259 1] -endobj - -7965 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -7966 0 obj -[464 0 R/XYZ 0 15259 1] -endobj - -7967 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -7968 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7969 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7970 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -7971 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -7972 0 obj -[464 0 R/XYZ 0 15259 1] -endobj - -7973 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -7974 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -7975 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -7976 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -7977 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7978 0 obj -[1208 0 R/XYZ 0 15259 1] -endobj - -7979 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7980 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -7981 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -7982 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -7983 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7984 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -7985 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -7986 0 obj -[1394 0 R/XYZ 0 15259 1] -endobj - -7987 0 obj -[1397 0 R/XYZ 0 15259 1] -endobj - -7988 0 obj -[1394 0 R/XYZ 0 15259 1] -endobj - -7989 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7990 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -7991 0 obj -[1359 0 R/XYZ 0 15259 1] -endobj - -7992 0 obj -[1360 0 R/XYZ 0 15259 1] -endobj - -7993 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -7994 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -7995 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -7996 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -7997 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -7998 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -7999 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -8000 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -8001 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -8002 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -8003 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -8004 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -8005 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -8006 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -8007 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -8008 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -8009 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -8010 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -8011 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -8012 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -8013 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -8014 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -8015 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -8016 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -8017 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -8018 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -8019 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -8020 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -8021 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8022 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8023 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -8024 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -8025 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -8026 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -8027 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -8028 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -8029 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -8030 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -8031 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -8032 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -8033 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -8034 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -8035 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -8036 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -8037 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -8038 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -8039 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -8040 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -8041 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -8042 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -8043 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -8044 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -8045 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -8046 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -8047 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -8048 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -8049 0 obj -[945 0 R/XYZ 0 15259 1] -endobj - -8050 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -8051 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -8052 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -8053 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -8054 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -8055 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -8056 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -8057 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -8058 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -8059 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -8060 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -8061 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -8062 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -8063 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8064 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -8065 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -8066 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -8067 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -8068 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -8069 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -8070 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -8071 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -8072 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -8073 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -8074 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -8075 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -8076 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -8077 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -8078 0 obj -[1336 0 R/XYZ 0 15259 1] -endobj - -8079 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -8080 0 obj -[674 0 R/XYZ 0 15259 1] -endobj - -8081 0 obj -[753 0 R/XYZ 0 15259 1] -endobj - -8082 0 obj -<> -endobj - -8083 0 obj -[753 0 R/XYZ 0 15259 1] -endobj - -8084 0 obj -[1439 0 R/XYZ 0 15259 1] -endobj - -8085 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -8086 0 obj -[504 0 R/XYZ 0 15259 1] -endobj - -8087 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -8088 0 obj -[1049 0 R/XYZ 0 15259 1] -endobj - -8089 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -8090 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -8091 0 obj -[504 0 R/XYZ 0 15259 1] -endobj - -8092 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -8093 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -8094 0 obj -[747 0 R/XYZ 0 15259 1] -endobj - -8095 0 obj -[749 0 R/XYZ 0 15259 1] -endobj - -8096 0 obj -[781 0 R/XYZ 0 15259 1] -endobj - -8097 0 obj -[783 0 R/XYZ 0 15259 1] -endobj - -8098 0 obj -[800 0 R/XYZ 0 15259 1] -endobj - -8099 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -8100 0 obj -[924 0 R/XYZ 0 15259 1] -endobj - -8101 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -8102 0 obj -[748 0 R/XYZ 0 15259 1] -endobj - -8103 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -8104 0 obj -[1487 0 R/XYZ 0 15259 1] -endobj - -8105 0 obj -[1495 0 R/XYZ 0 15259 1] -endobj - -8106 0 obj -[1514 0 R/XYZ 0 15259 1] -endobj - -8107 0 obj -[1518 0 R/XYZ 0 15259 1] -endobj - -8108 0 obj -[1519 0 R/XYZ 0 15259 1] -endobj - -8109 0 obj -[1528 0 R/XYZ 0 15259 1] -endobj - -8110 0 obj -[1538 0 R/XYZ 0 15259 1] -endobj - -8111 0 obj -[1487 0 R/XYZ 0 15259 1] -endobj - -8112 0 obj -[1538 0 R/XYZ 0 15259 1] -endobj - -8113 0 obj -[1480 0 R/XYZ 0 15259 1] -endobj - -8114 0 obj -[1538 0 R/XYZ 0 15259 1] -endobj - -8115 0 obj -[1486 0 R/XYZ 0 15259 1] -endobj - -8116 0 obj -[1489 0 R/XYZ 0 15259 1] -endobj - -8117 0 obj -[1489 0 R/XYZ 0 15259 1] -endobj - -8118 0 obj -[1536 0 R/XYZ 0 15259 1] -endobj - -8119 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -8120 0 obj -[1531 0 R/XYZ 0 15259 1] -endobj - -8121 0 obj -[1532 0 R/XYZ 0 15259 1] -endobj - -8122 0 obj -[1538 0 R/XYZ 0 15259 1] -endobj - -8123 0 obj -[1532 0 R/XYZ 0 15259 1] -endobj - -8124 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -8125 0 obj -[1526 0 R/XYZ 0 15259 1] -endobj - -8126 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -8127 0 obj -[1526 0 R/XYZ 0 15259 1] -endobj - -8128 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -8129 0 obj -[392 0 R/XYZ 0 15259 1] -endobj - -8130 0 obj -[407 0 R/XYZ 0 15259 1] -endobj - -8131 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -8132 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -8133 0 obj -[632 0 R/XYZ 0 15259 1] -endobj - -8134 0 obj -[634 0 R/XYZ 0 15259 1] -endobj - -8135 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -8136 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -8137 0 obj -[681 0 R/XYZ 0 15259 1] -endobj - -8138 0 obj -[718 0 R/XYZ 0 15259 1] -endobj - -8139 0 obj -[727 0 R/XYZ 0 15259 1] -endobj - -8140 0 obj -[736 0 R/XYZ 0 15259 1] -endobj - -8141 0 obj -[741 0 R/XYZ 0 15259 1] -endobj - -8142 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -8143 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -8144 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -8145 0 obj -[897 0 R/XYZ 0 15259 1] -endobj - -8146 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8147 0 obj -[1171 0 R/XYZ 0 15259 1] -endobj - -8148 0 obj -[1619 0 R/XYZ 0 15259 1] -endobj - -8149 0 obj -[1620 0 R/XYZ 0 15259 1] -endobj - -8150 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -8151 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -8152 0 obj -[1514 0 R/XYZ 0 15259 1] -endobj - -8153 0 obj -[1519 0 R/XYZ 0 15259 1] -endobj - -8154 0 obj -[1495 0 R/XYZ 0 15259 1] -endobj - -8155 0 obj -[1503 0 R/XYZ 0 15259 1] -endobj - -8156 0 obj -[1504 0 R/XYZ 0 15259 1] -endobj - -8157 0 obj -[1506 0 R/XYZ 0 15259 1] -endobj - -8158 0 obj -[1514 0 R/XYZ 0 15259 1] -endobj - -8159 0 obj -[1516 0 R/XYZ 0 15259 1] -endobj - -8160 0 obj -[1518 0 R/XYZ 0 15259 1] -endobj - -8161 0 obj -[1521 0 R/XYZ 0 15259 1] -endobj - -8162 0 obj -[1495 0 R/XYZ 0 15259 1] -endobj - -8163 0 obj -[1503 0 R/XYZ 0 15259 1] -endobj - -8164 0 obj -[1505 0 R/XYZ 0 15259 1] -endobj - -8165 0 obj -[1518 0 R/XYZ 0 15259 1] -endobj - -8166 0 obj -[1521 0 R/XYZ 0 15259 1] -endobj - -8167 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -8168 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -8169 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -8170 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -8171 0 obj -[1489 0 R/XYZ 0 15259 1] -endobj - -8172 0 obj -[1510 0 R/XYZ 0 15259 1] -endobj - -8173 0 obj -[905 0 R/XYZ 0 15259 1] -endobj - -8174 0 obj -[906 0 R/XYZ 0 15259 1] -endobj - -8175 0 obj -[910 0 R/XYZ 0 15259 1] -endobj - -8176 0 obj -[911 0 R/XYZ 0 15259 1] -endobj - -8177 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -8178 0 obj -[894 0 R/XYZ 0 15259 1] -endobj - -8179 0 obj -[592 0 R/XYZ 0 15259 1] -endobj - -8180 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -8181 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -8182 0 obj -[845 0 R/XYZ 0 15259 1] -endobj - -8183 0 obj -[392 0 R/XYZ 0 15259 1] -endobj - -8184 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -8185 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -8186 0 obj -[392 0 R/XYZ 0 15259 1] -endobj - -8187 0 obj -[731 0 R/XYZ 0 15259 1] -endobj - -8188 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -8189 0 obj -[392 0 R/XYZ 0 15259 1] -endobj - -8190 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -8191 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -8192 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -8193 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -8194 0 obj -[744 0 R/XYZ 0 15259 1] -endobj - -8195 0 obj -[751 0 R/XYZ 0 15259 1] -endobj - -8196 0 obj -[757 0 R/XYZ 0 15259 1] -endobj - -8197 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -8198 0 obj -[810 0 R/XYZ 0 15259 1] -endobj - -8199 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -8200 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -8201 0 obj -[1056 0 R/XYZ 0 15259 1] -endobj - -8202 0 obj -[731 0 R/XYZ 0 15259 1] -endobj - -8203 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -8204 0 obj -[808 0 R/XYZ 0 15259 1] -endobj - -8205 0 obj -[845 0 R/XYZ 0 15259 1] -endobj - -8206 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -8207 0 obj -[799 0 R/XYZ 0 15259 1] -endobj - -8208 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -8209 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -8210 0 obj -[690 0 R/XYZ 0 15259 1] -endobj - -8211 0 obj -[694 0 R/XYZ 0 15259 1] -endobj - -8212 0 obj -[405 0 R/XYZ 0 15259 1] -endobj - -8213 0 obj -[411 0 R/XYZ 0 15259 1] -endobj - -8214 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -8215 0 obj -[799 0 R/XYZ 0 15259 1] -endobj - -8216 0 obj -[802 0 R/XYZ 0 15259 1] -endobj - -8217 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -8218 0 obj -[819 0 R/XYZ 0 15259 1] -endobj - -8219 0 obj -[823 0 R/XYZ 0 15259 1] -endobj - -8220 0 obj -[829 0 R/XYZ 0 15259 1] -endobj - -8221 0 obj -[831 0 R/XYZ 0 15259 1] -endobj - -8222 0 obj -[834 0 R/XYZ 0 15259 1] -endobj - -8223 0 obj -[836 0 R/XYZ 0 15259 1] -endobj - -8224 0 obj -[838 0 R/XYZ 0 15259 1] -endobj - -8225 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -8226 0 obj -[857 0 R/XYZ 0 15259 1] -endobj - -8227 0 obj -[921 0 R/XYZ 0 15259 1] -endobj - -8228 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -8229 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -8230 0 obj -[823 0 R/XYZ 0 15259 1] -endobj - -8231 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -8232 0 obj -[829 0 R/XYZ 0 15259 1] -endobj - -8233 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -8234 0 obj -[836 0 R/XYZ 0 15259 1] -endobj - -8235 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -8236 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -8237 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -8238 0 obj -[921 0 R/XYZ 0 15259 1] -endobj - -8239 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -8240 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -8241 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -8242 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -8243 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -8244 0 obj -[1376 0 R/XYZ 0 15259 1] -endobj - -8245 0 obj -[1390 0 R/XYZ 0 15259 1] -endobj - -8246 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -8247 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -8248 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -8249 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -8250 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -8251 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -8252 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -8253 0 obj -[834 0 R/XYZ 0 15259 1] -endobj - -8254 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -8255 0 obj -[1055 0 R/XYZ 0 15259 1] -endobj - -8256 0 obj -[819 0 R/XYZ 0 15259 1] -endobj - -8257 0 obj -[823 0 R/XYZ 0 15259 1] -endobj - -8258 0 obj -[836 0 R/XYZ 0 15259 1] -endobj - -8259 0 obj -[845 0 R/XYZ 0 15259 1] -endobj - -8260 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -8261 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -8262 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -8263 0 obj -[819 0 R/XYZ 0 15259 1] -endobj - -8264 0 obj -[838 0 R/XYZ 0 15259 1] -endobj - -8265 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -8266 0 obj -[1063 0 R/XYZ 0 15259 1] -endobj - -8267 0 obj -[1410 0 R/XYZ 0 15259 1] -endobj - -8268 0 obj -[1097 0 R/XYZ 0 15259 1] -endobj - -8269 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -8270 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -8271 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -8272 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -8273 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -8274 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -8275 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -8276 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -8277 0 obj -[1541 0 R/XYZ 0 15259 1] -endobj - -8278 0 obj -[1589 0 R/XYZ 0 15259 1] -endobj - -8279 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -8280 0 obj -[1141 0 R/XYZ 0 15259 1] -endobj - -8281 0 obj -[1204 0 R/XYZ 0 15259 1] -endobj - -8282 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -8283 0 obj -[1141 0 R/XYZ 0 15259 1] -endobj - -8284 0 obj -[1204 0 R/XYZ 0 15259 1] -endobj - -8285 0 obj -[1495 0 R/XYZ 0 15259 1] -endobj - -8286 0 obj -[1504 0 R/XYZ 0 15259 1] -endobj - -8287 0 obj -[1519 0 R/XYZ 0 15259 1] -endobj - -8288 0 obj -[1529 0 R/XYZ 0 15259 1] -endobj - -8289 0 obj -[1530 0 R/XYZ 0 15259 1] -endobj - -8290 0 obj -[744 0 R/XYZ 0 15259 1] -endobj - -8291 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -8292 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -8293 0 obj -[836 0 R/XYZ 0 15259 1] -endobj - -8294 0 obj -[838 0 R/XYZ 0 15259 1] -endobj - -8295 0 obj -[1055 0 R/XYZ 0 15259 1] -endobj - -8296 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -8297 0 obj -[1061 0 R/XYZ 0 15259 1] -endobj - -8298 0 obj -[1063 0 R/XYZ 0 15259 1] -endobj - -8299 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -8300 0 obj -[1411 0 R/XYZ 0 15259 1] -endobj - -8301 0 obj -[1623 0 R/XYZ 0 15259 1] -endobj - -8302 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -8303 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -8304 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -8305 0 obj -[1111 0 R/XYZ 0 15259 1] -endobj - -8306 0 obj -[1111 0 R/XYZ 0 15259 1] -endobj - -8307 0 obj -[1386 0 R/XYZ 0 15259 1] -endobj - -8308 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -8309 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -8310 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -8311 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -8312 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -8313 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -8314 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -8315 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8316 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -8317 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -8318 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -8319 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8320 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -8321 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -8322 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -8323 0 obj -[947 0 R/XYZ 0 15259 1] -endobj - -8324 0 obj -[1044 0 R/XYZ 0 15259 1] -endobj - -8325 0 obj -[1049 0 R/XYZ 0 15259 1] -endobj - -8326 0 obj -[1045 0 R/XYZ 0 15259 1] -endobj - -8327 0 obj -[1004 0 R/XYZ 0 15259 1] -endobj - -8328 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -8329 0 obj -[1004 0 R/XYZ 0 15259 1] -endobj - -8330 0 obj -[1005 0 R/XYZ 0 15259 1] -endobj - -8331 0 obj -[1005 0 R/XYZ 0 15259 1] -endobj - -8332 0 obj -[1009 0 R/XYZ 0 15259 1] -endobj - -8333 0 obj -[1009 0 R/XYZ 0 15259 1] -endobj - -8334 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -8335 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -8336 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -8337 0 obj -[1009 0 R/XYZ 0 15259 1] -endobj - -8338 0 obj -[1009 0 R/XYZ 0 15259 1] -endobj - -8339 0 obj -[1004 0 R/XYZ 0 15259 1] -endobj - -8340 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -8341 0 obj -[1004 0 R/XYZ 0 15259 1] -endobj - -8342 0 obj -[1005 0 R/XYZ 0 15259 1] -endobj - -8343 0 obj -[1005 0 R/XYZ 0 15259 1] -endobj - -8344 0 obj -[1009 0 R/XYZ 0 15259 1] -endobj - -8345 0 obj -[1009 0 R/XYZ 0 15259 1] -endobj - -8346 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -8347 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -8348 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -8349 0 obj -<> -endobj - -8350 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -8351 0 obj -[1009 0 R/XYZ 0 15259 1] -endobj - -8352 0 obj -[1009 0 R/XYZ 0 15259 1] -endobj - -8353 0 obj -[1004 0 R/XYZ 0 15259 1] -endobj - -8354 0 obj -[1005 0 R/XYZ 0 15259 1] -endobj - -8355 0 obj -[1009 0 R/XYZ 0 15259 1] -endobj - -8356 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -8357 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -8358 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -8359 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -8360 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -8361 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -8362 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -8363 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -8364 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -8365 0 obj -[990 0 R/XYZ 0 15259 1] -endobj - -8366 0 obj -[991 0 R/XYZ 0 15259 1] -endobj - -8367 0 obj -[990 0 R/XYZ 0 15259 1] -endobj - -8368 0 obj -[990 0 R/XYZ 0 15259 1] -endobj - -8369 0 obj -[991 0 R/XYZ 0 15259 1] -endobj - -8370 0 obj -[993 0 R/XYZ 0 15259 1] -endobj - -8371 0 obj -[990 0 R/XYZ 0 15259 1] -endobj - -8372 0 obj -[991 0 R/XYZ 0 15259 1] -endobj - -8373 0 obj -[995 0 R/XYZ 0 15259 1] -endobj - -8374 0 obj -[991 0 R/XYZ 0 15259 1] -endobj - -8375 0 obj -[991 0 R/XYZ 0 15259 1] -endobj - -8376 0 obj -[996 0 R/XYZ 0 15259 1] -endobj - -8377 0 obj -[991 0 R/XYZ 0 15259 1] -endobj - -8378 0 obj -[956 0 R/XYZ 0 15259 1] -endobj - -8379 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -8380 0 obj -[1039 0 R/XYZ 0 15259 1] -endobj - -8381 0 obj -[1522 0 R/XYZ 0 15259 1] -endobj - -8382 0 obj -[956 0 R/XYZ 0 15259 1] -endobj - -8383 0 obj -[1039 0 R/XYZ 0 15259 1] -endobj - -8384 0 obj -[1039 0 R/XYZ 0 15259 1] -endobj - -8385 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -8386 0 obj -[952 0 R/XYZ 0 15259 1] -endobj - -8387 0 obj -[956 0 R/XYZ 0 15259 1] -endobj - -8388 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -8389 0 obj -[957 0 R/XYZ 0 15259 1] -endobj - -8390 0 obj -[959 0 R/XYZ 0 15259 1] -endobj - -8391 0 obj -[1521 0 R/XYZ 0 15259 1] -endobj - -8392 0 obj -[1523 0 R/XYZ 0 15259 1] -endobj - -8393 0 obj -[957 0 R/XYZ 0 15259 1] -endobj - -8394 0 obj -[957 0 R/XYZ 0 15259 1] -endobj - -8395 0 obj -[959 0 R/XYZ 0 15259 1] -endobj - -8396 0 obj -[1518 0 R/XYZ 0 15259 1] -endobj - -8397 0 obj -[957 0 R/XYZ 0 15259 1] -endobj - -8398 0 obj -[1021 0 R/XYZ 0 15259 1] -endobj - -8399 0 obj -[1021 0 R/XYZ 0 15259 1] -endobj - -8400 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -8401 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -8402 0 obj -[1021 0 R/XYZ 0 15259 1] -endobj - -8403 0 obj -[1021 0 R/XYZ 0 15259 1] -endobj - -8404 0 obj -[1021 0 R/XYZ 0 15259 1] -endobj - -8405 0 obj -[1021 0 R/XYZ 0 15259 1] -endobj - -8406 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -8407 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -8408 0 obj -[1021 0 R/XYZ 0 15259 1] -endobj - -8409 0 obj -[1021 0 R/XYZ 0 15259 1] -endobj - -8410 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -8411 0 obj -[985 0 R/XYZ 0 15259 1] -endobj - -8412 0 obj -[995 0 R/XYZ 0 15259 1] -endobj - -8413 0 obj -[996 0 R/XYZ 0 15259 1] -endobj - -8414 0 obj -[1627 0 R/XYZ 0 15259 1] -endobj - -8415 0 obj -[985 0 R/XYZ 0 15259 1] -endobj - -8416 0 obj -[984 0 R/XYZ 0 15259 1] -endobj - -8417 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -8418 0 obj -[984 0 R/XYZ 0 15259 1] -endobj - -8419 0 obj -[984 0 R/XYZ 0 15259 1] -endobj - -8420 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -8421 0 obj -[1641 0 R/XYZ 0 15259 1] -endobj - -8422 0 obj -[984 0 R/XYZ 0 15259 1] -endobj - -8423 0 obj -[983 0 R/XYZ 0 15259 1] -endobj - -8424 0 obj -[986 0 R/XYZ 0 15259 1] -endobj - -8425 0 obj -[1041 0 R/XYZ 0 15259 1] -endobj - -8426 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -8427 0 obj -[985 0 R/XYZ 0 15259 1] -endobj - -8428 0 obj -[986 0 R/XYZ 0 15259 1] -endobj - -8429 0 obj -[1042 0 R/XYZ 0 15259 1] -endobj - -8430 0 obj -[1515 0 R/XYZ 0 15259 1] -endobj - -8431 0 obj -[1642 0 R/XYZ 0 15259 1] -endobj - -8432 0 obj -[985 0 R/XYZ 0 15259 1] -endobj - -8433 0 obj -[983 0 R/XYZ 0 15259 1] -endobj - -8434 0 obj -[986 0 R/XYZ 0 15259 1] -endobj - -8435 0 obj -[1041 0 R/XYZ 0 15259 1] -endobj - -8436 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -8437 0 obj -[1640 0 R/XYZ 0 15259 1] -endobj - -8438 0 obj -[984 0 R/XYZ 0 15259 1] -endobj - -8439 0 obj -[985 0 R/XYZ 0 15259 1] -endobj - -8440 0 obj -[1013 0 R/XYZ 0 15259 1] -endobj - -8441 0 obj -[1021 0 R/XYZ 0 15259 1] -endobj - -8442 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -8443 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -8444 0 obj -[984 0 R/XYZ 0 15259 1] -endobj - -8445 0 obj -[984 0 R/XYZ 0 15259 1] -endobj - -8446 0 obj -[986 0 R/XYZ 0 15259 1] -endobj - -8447 0 obj -[1013 0 R/XYZ 0 15259 1] -endobj - -8448 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -8449 0 obj -[1042 0 R/XYZ 0 15259 1] -endobj - -8450 0 obj -[1526 0 R/XYZ 0 15259 1] -endobj - -8451 0 obj -[1627 0 R/XYZ 0 15259 1] -endobj - -8452 0 obj -[1641 0 R/XYZ 0 15259 1] -endobj - -8453 0 obj -[984 0 R/XYZ 0 15259 1] -endobj - -8454 0 obj -[947 0 R/XYZ 0 15259 1] -endobj - -8455 0 obj -[951 0 R/XYZ 0 15259 1] -endobj - -8456 0 obj -[953 0 R/XYZ 0 15259 1] -endobj - -8457 0 obj -[955 0 R/XYZ 0 15259 1] -endobj - -8458 0 obj -[958 0 R/XYZ 0 15259 1] -endobj - -8459 0 obj -[961 0 R/XYZ 0 15259 1] -endobj - -8460 0 obj -[993 0 R/XYZ 0 15259 1] -endobj - -8461 0 obj -[1004 0 R/XYZ 0 15259 1] -endobj - -8462 0 obj -[1005 0 R/XYZ 0 15259 1] -endobj - -8463 0 obj -[1042 0 R/XYZ 0 15259 1] -endobj - -8464 0 obj -[1047 0 R/XYZ 0 15259 1] -endobj - -8465 0 obj -[1073 0 R/XYZ 0 15259 1] -endobj - -8466 0 obj -[1279 0 R/XYZ 0 15259 1] -endobj - -8467 0 obj -[1511 0 R/XYZ 0 15259 1] -endobj - -8468 0 obj -[1626 0 R/XYZ 0 15259 1] -endobj - -8469 0 obj -[1641 0 R/XYZ 0 15259 1] -endobj - -8470 0 obj -[947 0 R/XYZ 0 15259 1] -endobj - -8471 0 obj -[1005 0 R/XYZ 0 15259 1] -endobj - -8472 0 obj -[1005 0 R/XYZ 0 15259 1] -endobj - -8473 0 obj -[1003 0 R/XYZ 0 15259 1] -endobj - -8474 0 obj -[1031 0 R/XYZ 0 15259 1] -endobj - -8475 0 obj -[959 0 R/XYZ 0 15259 1] -endobj - -8476 0 obj -[961 0 R/XYZ 0 15259 1] -endobj - -8477 0 obj -[1004 0 R/XYZ 0 15259 1] -endobj - -8478 0 obj -[961 0 R/XYZ 0 15259 1] -endobj - -8479 0 obj -[947 0 R/XYZ 0 15259 1] -endobj - -8480 0 obj -[980 0 R/XYZ 0 15259 1] -endobj - -8481 0 obj -[947 0 R/XYZ 0 15259 1] -endobj - -8482 0 obj -[690 0 R/XYZ 0 15259 1] -endobj - -8483 0 obj -[743 0 R/XYZ 0 15259 1] -endobj - -8484 0 obj -[952 0 R/XYZ 0 15259 1] -endobj - -8485 0 obj -[954 0 R/XYZ 0 15259 1] -endobj - -8486 0 obj -[956 0 R/XYZ 0 15259 1] -endobj - -8487 0 obj -[959 0 R/XYZ 0 15259 1] -endobj - -8488 0 obj -[1031 0 R/XYZ 0 15259 1] -endobj - -8489 0 obj -[1518 0 R/XYZ 0 15259 1] -endobj - -8490 0 obj -[1523 0 R/XYZ 0 15259 1] -endobj - -8491 0 obj -[952 0 R/XYZ 0 15259 1] -endobj - -8492 0 obj -[1033 0 R/XYZ 0 15259 1] -endobj - -8493 0 obj -[1034 0 R/XYZ 0 15259 1] -endobj - -8494 0 obj -[1033 0 R/XYZ 0 15259 1] -endobj - -8495 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -8496 0 obj -[952 0 R/XYZ 0 15259 1] -endobj - -8497 0 obj -[954 0 R/XYZ 0 15259 1] -endobj - -8498 0 obj -[958 0 R/XYZ 0 15259 1] -endobj - -8499 0 obj -[959 0 R/XYZ 0 15259 1] -endobj - -8500 0 obj -[990 0 R/XYZ 0 15259 1] -endobj - -8501 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -8502 0 obj -[1626 0 R/XYZ 0 15259 1] -endobj - -8503 0 obj -[952 0 R/XYZ 0 15259 1] -endobj - -8504 0 obj -[1031 0 R/XYZ 0 15259 1] -endobj - -8505 0 obj -[1032 0 R/XYZ 0 15259 1] -endobj - -8506 0 obj -[1034 0 R/XYZ 0 15259 1] -endobj - -8507 0 obj -[1031 0 R/XYZ 0 15259 1] -endobj - -8508 0 obj -[1031 0 R/XYZ 0 15259 1] -endobj - -8509 0 obj -[1032 0 R/XYZ 0 15259 1] -endobj - -8510 0 obj -[1032 0 R/XYZ 0 15259 1] -endobj - -8511 0 obj -[1003 0 R/XYZ 0 15259 1] -endobj - -8512 0 obj -[1031 0 R/XYZ 0 15259 1] -endobj - -8513 0 obj -[1033 0 R/XYZ 0 15259 1] -endobj - -8514 0 obj -[1041 0 R/XYZ 0 15259 1] -endobj - -8515 0 obj -[1041 0 R/XYZ 0 15259 1] -endobj - -8516 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -8517 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -8518 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -8519 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -8520 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -8521 0 obj -[1011 0 R/XYZ 0 15259 1] -endobj - -8522 0 obj -[1011 0 R/XYZ 0 15259 1] -endobj - -8523 0 obj -[1013 0 R/XYZ 0 15259 1] -endobj - -8524 0 obj -<> -endobj - -8525 0 obj -[1013 0 R/XYZ 0 15259 1] -endobj - -8526 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -8527 0 obj -[1017 0 R/XYZ 0 15259 1] -endobj - -8528 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -8529 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -8530 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -8531 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -8532 0 obj -[1011 0 R/XYZ 0 15259 1] -endobj - -8533 0 obj -[1011 0 R/XYZ 0 15259 1] -endobj - -8534 0 obj -[1013 0 R/XYZ 0 15259 1] -endobj - -8535 0 obj -[1017 0 R/XYZ 0 15259 1] -endobj - -8536 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -8537 0 obj -[1013 0 R/XYZ 0 15259 1] -endobj - -8538 0 obj -[1009 0 R/XYZ 0 15259 1] -endobj - -8539 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -8540 0 obj -[1017 0 R/XYZ 0 15259 1] -endobj - -8541 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -8542 0 obj -[1011 0 R/XYZ 0 15259 1] -endobj - -8543 0 obj -[1012 0 R/XYZ 0 15259 1] -endobj - -8544 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -8545 0 obj -[1012 0 R/XYZ 0 15259 1] -endobj - -8546 0 obj -[1012 0 R/XYZ 0 15259 1] -endobj - -8547 0 obj -[1013 0 R/XYZ 0 15259 1] -endobj - -8548 0 obj -[965 0 R/XYZ 0 15259 1] -endobj - -8549 0 obj -[966 0 R/XYZ 0 15259 1] -endobj - -8550 0 obj -[970 0 R/XYZ 0 15259 1] -endobj - -8551 0 obj -[974 0 R/XYZ 0 15259 1] -endobj - -8552 0 obj -[965 0 R/XYZ 0 15259 1] -endobj - -8553 0 obj -[1012 0 R/XYZ 0 15259 1] -endobj - -8554 0 obj -[1013 0 R/XYZ 0 15259 1] -endobj - -8555 0 obj -[965 0 R/XYZ 0 15259 1] -endobj - -8556 0 obj -[966 0 R/XYZ 0 15259 1] -endobj - -8557 0 obj -[969 0 R/XYZ 0 15259 1] -endobj - -8558 0 obj -[971 0 R/XYZ 0 15259 1] -endobj - -8559 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -8560 0 obj -[1017 0 R/XYZ 0 15259 1] -endobj - -8561 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -8562 0 obj -[1641 0 R/XYZ 0 15259 1] -endobj - -8563 0 obj -[965 0 R/XYZ 0 15259 1] -endobj - -8564 0 obj -[965 0 R/XYZ 0 15259 1] -endobj - -8565 0 obj -[969 0 R/XYZ 0 15259 1] -endobj - -8566 0 obj -[971 0 R/XYZ 0 15259 1] -endobj - -8567 0 obj -[975 0 R/XYZ 0 15259 1] -endobj - -8568 0 obj -[986 0 R/XYZ 0 15259 1] -endobj - -8569 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -8570 0 obj -[1033 0 R/XYZ 0 15259 1] -endobj - -8571 0 obj -[1041 0 R/XYZ 0 15259 1] -endobj - -8572 0 obj -[1046 0 R/XYZ 0 15259 1] -endobj - -8573 0 obj -[1507 0 R/XYZ 0 15259 1] -endobj - -8574 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -8575 0 obj -[965 0 R/XYZ 0 15259 1] -endobj - -8576 0 obj -[966 0 R/XYZ 0 15259 1] -endobj - -8577 0 obj -[969 0 R/XYZ 0 15259 1] -endobj - -8578 0 obj -[970 0 R/XYZ 0 15259 1] -endobj - -8579 0 obj -[972 0 R/XYZ 0 15259 1] -endobj - -8580 0 obj -[975 0 R/XYZ 0 15259 1] -endobj - -8581 0 obj -[986 0 R/XYZ 0 15259 1] -endobj - -8582 0 obj -[995 0 R/XYZ 0 15259 1] -endobj - -8583 0 obj -[996 0 R/XYZ 0 15259 1] -endobj - -8584 0 obj -[1011 0 R/XYZ 0 15259 1] -endobj - -8585 0 obj -[1017 0 R/XYZ 0 15259 1] -endobj - -8586 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -8587 0 obj -[1034 0 R/XYZ 0 15259 1] -endobj - -8588 0 obj -[1042 0 R/XYZ 0 15259 1] -endobj - -8589 0 obj -[1046 0 R/XYZ 0 15259 1] -endobj - -8590 0 obj -[1047 0 R/XYZ 0 15259 1] -endobj - -8591 0 obj -[1514 0 R/XYZ 0 15259 1] -endobj - -8592 0 obj -[1515 0 R/XYZ 0 15259 1] -endobj - -8593 0 obj -[1522 0 R/XYZ 0 15259 1] -endobj - -8594 0 obj -[1524 0 R/XYZ 0 15259 1] -endobj - -8595 0 obj -[1526 0 R/XYZ 0 15259 1] -endobj - -8596 0 obj -[1527 0 R/XYZ 0 15259 1] -endobj - -8597 0 obj -[1641 0 R/XYZ 0 15259 1] -endobj - -8598 0 obj -[1642 0 R/XYZ 0 15259 1] -endobj - -8599 0 obj -[965 0 R/XYZ 0 15259 1] -endobj - -8600 0 obj -[1012 0 R/XYZ 0 15259 1] -endobj - -8601 0 obj -[1013 0 R/XYZ 0 15259 1] -endobj - -8602 0 obj -[1012 0 R/XYZ 0 15259 1] -endobj - -8603 0 obj -[1013 0 R/XYZ 0 15259 1] -endobj - -8604 0 obj -[1017 0 R/XYZ 0 15259 1] -endobj - -8605 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -8606 0 obj -[1011 0 R/XYZ 0 15259 1] -endobj - -8607 0 obj -[1011 0 R/XYZ 0 15259 1] -endobj - -8608 0 obj -[965 0 R/XYZ 0 15259 1] -endobj - -8609 0 obj -[966 0 R/XYZ 0 15259 1] -endobj - -8610 0 obj -[969 0 R/XYZ 0 15259 1] -endobj - -8611 0 obj -[971 0 R/XYZ 0 15259 1] -endobj - -8612 0 obj -[975 0 R/XYZ 0 15259 1] -endobj - -8613 0 obj -[986 0 R/XYZ 0 15259 1] -endobj - -8614 0 obj -[1017 0 R/XYZ 0 15259 1] -endobj - -8615 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -8616 0 obj -[1033 0 R/XYZ 0 15259 1] -endobj - -8617 0 obj -[1041 0 R/XYZ 0 15259 1] -endobj - -8618 0 obj -[1046 0 R/XYZ 0 15259 1] -endobj - -8619 0 obj -[1507 0 R/XYZ 0 15259 1] -endobj - -8620 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -8621 0 obj -[1640 0 R/XYZ 0 15259 1] -endobj - -8622 0 obj -[974 0 R/XYZ 0 15259 1] -endobj - -8623 0 obj -[977 0 R/XYZ 0 15259 1] -endobj - -8624 0 obj -[983 0 R/XYZ 0 15259 1] -endobj - -8625 0 obj -[974 0 R/XYZ 0 15259 1] -endobj - -8626 0 obj -[965 0 R/XYZ 0 15259 1] -endobj - -8627 0 obj -[968 0 R/XYZ 0 15259 1] -endobj - -8628 0 obj -[965 0 R/XYZ 0 15259 1] -endobj - -8629 0 obj -[965 0 R/XYZ 0 15259 1] -endobj - -8630 0 obj -[966 0 R/XYZ 0 15259 1] -endobj - -8631 0 obj -[969 0 R/XYZ 0 15259 1] -endobj - -8632 0 obj -[970 0 R/XYZ 0 15259 1] -endobj - -8633 0 obj -[972 0 R/XYZ 0 15259 1] -endobj - -8634 0 obj -[974 0 R/XYZ 0 15259 1] -endobj - -8635 0 obj -[986 0 R/XYZ 0 15259 1] -endobj - -8636 0 obj -[995 0 R/XYZ 0 15259 1] -endobj - -8637 0 obj -[996 0 R/XYZ 0 15259 1] -endobj - -8638 0 obj -[1017 0 R/XYZ 0 15259 1] -endobj - -8639 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -8640 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -8641 0 obj -[1034 0 R/XYZ 0 15259 1] -endobj - -8642 0 obj -[1042 0 R/XYZ 0 15259 1] -endobj - -8643 0 obj -[1047 0 R/XYZ 0 15259 1] -endobj - -8644 0 obj -[1514 0 R/XYZ 0 15259 1] -endobj - -8645 0 obj -[1515 0 R/XYZ 0 15259 1] -endobj - -8646 0 obj -[1522 0 R/XYZ 0 15259 1] -endobj - -8647 0 obj -[1524 0 R/XYZ 0 15259 1] -endobj - -8648 0 obj -[1526 0 R/XYZ 0 15259 1] -endobj - -8649 0 obj -[1527 0 R/XYZ 0 15259 1] -endobj - -8650 0 obj -[1641 0 R/XYZ 0 15259 1] -endobj - -8651 0 obj -[1642 0 R/XYZ 0 15259 1] -endobj - -8652 0 obj -[965 0 R/XYZ 0 15259 1] -endobj - -8653 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -8654 0 obj -[1032 0 R/XYZ 0 15259 1] -endobj - -8655 0 obj -[1034 0 R/XYZ 0 15259 1] -endobj - -8656 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -8657 0 obj -[1032 0 R/XYZ 0 15259 1] -endobj - -8658 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -8659 0 obj -[1032 0 R/XYZ 0 15259 1] -endobj - -8660 0 obj -[1033 0 R/XYZ 0 15259 1] -endobj - -8661 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -8662 0 obj -[1033 0 R/XYZ 0 15259 1] -endobj - -8663 0 obj -[988 0 R/XYZ 0 15259 1] -endobj - -8664 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -8665 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -8666 0 obj -[988 0 R/XYZ 0 15259 1] -endobj - -8667 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -8668 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -8669 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -8670 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -8671 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -8672 0 obj -[1021 0 R/XYZ 0 15259 1] -endobj - -8673 0 obj -[1021 0 R/XYZ 0 15259 1] -endobj - -8674 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -8675 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -8676 0 obj -[1021 0 R/XYZ 0 15259 1] -endobj - -8677 0 obj -[1021 0 R/XYZ 0 15259 1] -endobj - -8678 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -8679 0 obj -[977 0 R/XYZ 0 15259 1] -endobj - -8680 0 obj -[978 0 R/XYZ 0 15259 1] -endobj - -8681 0 obj -[977 0 R/XYZ 0 15259 1] -endobj - -8682 0 obj -[977 0 R/XYZ 0 15259 1] -endobj - -8683 0 obj -[979 0 R/XYZ 0 15259 1] -endobj - -8684 0 obj -[977 0 R/XYZ 0 15259 1] -endobj - -8685 0 obj -[977 0 R/XYZ 0 15259 1] -endobj - -8686 0 obj -[978 0 R/XYZ 0 15259 1] -endobj - -8687 0 obj -[980 0 R/XYZ 0 15259 1] -endobj - -8688 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8689 0 obj -[978 0 R/XYZ 0 15259 1] -endobj - -8690 0 obj -[979 0 R/XYZ 0 15259 1] -endobj - -8691 0 obj -[983 0 R/XYZ 0 15259 1] -endobj - -8692 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8693 0 obj -[983 0 R/XYZ 0 15259 1] -endobj - -8694 0 obj -[983 0 R/XYZ 0 15259 1] -endobj - -8695 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8696 0 obj -[983 0 R/XYZ 0 15259 1] -endobj - -8697 0 obj -[978 0 R/XYZ 0 15259 1] -endobj - -8698 0 obj -[978 0 R/XYZ 0 15259 1] -endobj - -8699 0 obj -[978 0 R/XYZ 0 15259 1] -endobj - -8700 0 obj -[978 0 R/XYZ 0 15259 1] -endobj - -8701 0 obj -[978 0 R/XYZ 0 15259 1] -endobj - -8702 0 obj -[980 0 R/XYZ 0 15259 1] -endobj - -8703 0 obj -[978 0 R/XYZ 0 15259 1] -endobj - -8704 0 obj -[978 0 R/XYZ 0 15259 1] -endobj - -8705 0 obj -[980 0 R/XYZ 0 15259 1] -endobj - -8706 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8707 0 obj -[978 0 R/XYZ 0 15259 1] -endobj - -8708 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -8709 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -8710 0 obj -[945 0 R/XYZ 0 15259 1] -endobj - -8711 0 obj -[1003 0 R/XYZ 0 15259 1] -endobj - -8712 0 obj -[947 0 R/XYZ 0 15259 1] -endobj - -8713 0 obj -[949 0 R/XYZ 0 15259 1] -endobj - -8714 0 obj -[954 0 R/XYZ 0 15259 1] -endobj - -8715 0 obj -[1518 0 R/XYZ 0 15259 1] -endobj - -8716 0 obj -[947 0 R/XYZ 0 15259 1] -endobj - -8717 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -8718 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -8719 0 obj -[1039 0 R/XYZ 0 15259 1] -endobj - -8720 0 obj -[1039 0 R/XYZ 0 15259 1] -endobj - -8721 0 obj -[1033 0 R/XYZ 0 15259 1] -endobj - -8722 0 obj -[1034 0 R/XYZ 0 15259 1] -endobj - -8723 0 obj -[1033 0 R/XYZ 0 15259 1] -endobj - -8724 0 obj -[1039 0 R/XYZ 0 15259 1] -endobj - -8725 0 obj -[1040 0 R/XYZ 0 15259 1] -endobj - -8726 0 obj -[1073 0 R/XYZ 0 15259 1] -endobj - -8727 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -8728 0 obj -[1040 0 R/XYZ 0 15259 1] -endobj - -8729 0 obj -[988 0 R/XYZ 0 15259 1] -endobj - -8730 0 obj -[988 0 R/XYZ 0 15259 1] -endobj - -8731 0 obj -<> -endobj - -8732 0 obj -[988 0 R/XYZ 0 15259 1] -endobj - -8733 0 obj -[988 0 R/XYZ 0 15259 1] -endobj - -8734 0 obj -[990 0 R/XYZ 0 15259 1] -endobj - -8735 0 obj -[990 0 R/XYZ 0 15259 1] -endobj - -8736 0 obj -[990 0 R/XYZ 0 15259 1] -endobj - -8737 0 obj -[990 0 R/XYZ 0 15259 1] -endobj - -8738 0 obj -[990 0 R/XYZ 0 15259 1] -endobj - -8739 0 obj -[990 0 R/XYZ 0 15259 1] -endobj - -8740 0 obj -[1003 0 R/XYZ 0 15259 1] -endobj - -8741 0 obj -[1009 0 R/XYZ 0 15259 1] -endobj - -8742 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -8743 0 obj -[945 0 R/XYZ 0 15259 1] -endobj - -8744 0 obj -[947 0 R/XYZ 0 15259 1] -endobj - -8745 0 obj -[949 0 R/XYZ 0 15259 1] -endobj - -8746 0 obj -[953 0 R/XYZ 0 15259 1] -endobj - -8747 0 obj -[954 0 R/XYZ 0 15259 1] -endobj - -8748 0 obj -[958 0 R/XYZ 0 15259 1] -endobj - -8749 0 obj -[979 0 R/XYZ 0 15259 1] -endobj - -8750 0 obj -[993 0 R/XYZ 0 15259 1] -endobj - -8751 0 obj -[1005 0 R/XYZ 0 15259 1] -endobj - -8752 0 obj -[1042 0 R/XYZ 0 15259 1] -endobj - -8753 0 obj -[1047 0 R/XYZ 0 15259 1] -endobj - -8754 0 obj -[1072 0 R/XYZ 0 15259 1] -endobj - -8755 0 obj -[1279 0 R/XYZ 0 15259 1] -endobj - -8756 0 obj -[1506 0 R/XYZ 0 15259 1] -endobj - -8757 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -8758 0 obj -[1518 0 R/XYZ 0 15259 1] -endobj - -8759 0 obj -[1523 0 R/XYZ 0 15259 1] -endobj - -8760 0 obj -[1626 0 R/XYZ 0 15259 1] -endobj - -8761 0 obj -[1641 0 R/XYZ 0 15259 1] -endobj - -8762 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -8763 0 obj -[1039 0 R/XYZ 0 15259 1] -endobj - -8764 0 obj -[1039 0 R/XYZ 0 15259 1] -endobj - -8765 0 obj -[1003 0 R/XYZ 0 15259 1] -endobj - -8766 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -8767 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -8768 0 obj -[1395 0 R/XYZ 0 15259 1] -endobj - -8769 0 obj -[1397 0 R/XYZ 0 15259 1] -endobj - -8770 0 obj -[1395 0 R/XYZ 0 15259 1] -endobj - -8771 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -8772 0 obj -[1386 0 R/XYZ 0 15259 1] -endobj - -8773 0 obj -[1391 0 R/XYZ 0 15259 1] -endobj - -8774 0 obj -[1392 0 R/XYZ 0 15259 1] -endobj - -8775 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -8776 0 obj -[1403 0 R/XYZ 0 15259 1] -endobj - -8777 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -8778 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -8779 0 obj -[1392 0 R/XYZ 0 15259 1] -endobj - -8780 0 obj -[1396 0 R/XYZ 0 15259 1] -endobj - -8781 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -8782 0 obj -[1404 0 R/XYZ 0 15259 1] -endobj - -8783 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -8784 0 obj -[1414 0 R/XYZ 0 15259 1] -endobj - -8785 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -8786 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -8787 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -8788 0 obj -[1396 0 R/XYZ 0 15259 1] -endobj - -8789 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -8790 0 obj -[1401 0 R/XYZ 0 15259 1] -endobj - -8791 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -8792 0 obj -[1396 0 R/XYZ 0 15259 1] -endobj - -8793 0 obj -[1397 0 R/XYZ 0 15259 1] -endobj - -8794 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -8795 0 obj -[1396 0 R/XYZ 0 15259 1] -endobj - -8796 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -8797 0 obj -[1401 0 R/XYZ 0 15259 1] -endobj - -8798 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -8799 0 obj -[1396 0 R/XYZ 0 15259 1] -endobj - -8800 0 obj -[1397 0 R/XYZ 0 15259 1] -endobj - -8801 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -8802 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -8803 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -8804 0 obj -[619 0 R/XYZ 0 15259 1] -endobj - -8805 0 obj -[625 0 R/XYZ 0 15259 1] -endobj - -8806 0 obj -[758 0 R/XYZ 0 15259 1] -endobj - -8807 0 obj -[759 0 R/XYZ 0 15259 1] -endobj - -8808 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8809 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -8810 0 obj -[619 0 R/XYZ 0 15259 1] -endobj - -8811 0 obj -[619 0 R/XYZ 0 15259 1] -endobj - -8812 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -8813 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8814 0 obj -[1164 0 R/XYZ 0 15259 1] -endobj - -8815 0 obj -[1166 0 R/XYZ 0 15259 1] -endobj - -8816 0 obj -[619 0 R/XYZ 0 15259 1] -endobj - -8817 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -8818 0 obj -[1027 0 R/XYZ 0 15259 1] -endobj - -8819 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8820 0 obj -[1027 0 R/XYZ 0 15259 1] -endobj - -8821 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -8822 0 obj -[1027 0 R/XYZ 0 15259 1] -endobj - -8823 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8824 0 obj -[1027 0 R/XYZ 0 15259 1] -endobj - -8825 0 obj -[699 0 R/XYZ 0 15259 1] -endobj - -8826 0 obj -[710 0 R/XYZ 0 15259 1] -endobj - -8827 0 obj -[763 0 R/XYZ 0 15259 1] -endobj - -8828 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -8829 0 obj -[1030 0 R/XYZ 0 15259 1] -endobj - -8830 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -8831 0 obj -[710 0 R/XYZ 0 15259 1] -endobj - -8832 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -8833 0 obj -[619 0 R/XYZ 0 15259 1] -endobj - -8834 0 obj -[621 0 R/XYZ 0 15259 1] -endobj - -8835 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8836 0 obj -[1611 0 R/XYZ 0 15259 1] -endobj - -8837 0 obj -[621 0 R/XYZ 0 15259 1] -endobj - -8838 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -8839 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8840 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8841 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8842 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -8843 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -8844 0 obj -[656 0 R/XYZ 0 15259 1] -endobj - -8845 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -8846 0 obj -[504 0 R/XYZ 0 15259 1] -endobj - -8847 0 obj -[506 0 R/XYZ 0 15259 1] -endobj - -8848 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -8849 0 obj -[1049 0 R/XYZ 0 15259 1] -endobj - -8850 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -8851 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -8852 0 obj -[504 0 R/XYZ 0 15259 1] -endobj - -8853 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -8854 0 obj -[432 0 R/XYZ 0 15259 1] -endobj - -8855 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -8856 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -8857 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -8858 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -8859 0 obj -[743 0 R/XYZ 0 15259 1] -endobj - -8860 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -8861 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -8862 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -8863 0 obj -[1338 0 R/XYZ 0 15259 1] -endobj - -8864 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -8865 0 obj -[1366 0 R/XYZ 0 15259 1] -endobj - -8866 0 obj -[756 0 R/XYZ 0 15259 1] -endobj - -8867 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -8868 0 obj -[883 0 R/XYZ 0 15259 1] -endobj - -8869 0 obj -[1471 0 R/XYZ 0 15259 1] -endobj - -8870 0 obj -[1622 0 R/XYZ 0 15259 1] -endobj - -8871 0 obj -[1624 0 R/XYZ 0 15259 1] -endobj - -8872 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -8873 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -8874 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -8875 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -8876 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -8877 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -8878 0 obj -[882 0 R/XYZ 0 15259 1] -endobj - -8879 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -8880 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -8881 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -8882 0 obj -[1328 0 R/XYZ 0 15259 1] -endobj - -8883 0 obj -[1369 0 R/XYZ 0 15259 1] -endobj - -8884 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -8885 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -8886 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -8887 0 obj -[1409 0 R/XYZ 0 15259 1] -endobj - -8888 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -8889 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -8890 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -8891 0 obj -[405 0 R/XYZ 0 15259 1] -endobj - -8892 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -8893 0 obj -[478 0 R/XYZ 0 15259 1] -endobj - -8894 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -8895 0 obj -[493 0 R/XYZ 0 15259 1] -endobj - -8896 0 obj -[496 0 R/XYZ 0 15259 1] -endobj - -8897 0 obj -[504 0 R/XYZ 0 15259 1] -endobj - -8898 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -8899 0 obj -[522 0 R/XYZ 0 15259 1] -endobj - -8900 0 obj -[523 0 R/XYZ 0 15259 1] -endobj - -8901 0 obj -[556 0 R/XYZ 0 15259 1] -endobj - -8902 0 obj -[576 0 R/XYZ 0 15259 1] -endobj - -8903 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -8904 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -8905 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -8906 0 obj -[622 0 R/XYZ 0 15259 1] -endobj - -8907 0 obj -[625 0 R/XYZ 0 15259 1] -endobj - -8908 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -8909 0 obj -[830 0 R/XYZ 0 15259 1] -endobj - -8910 0 obj -[839 0 R/XYZ 0 15259 1] -endobj - -8911 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -8912 0 obj -[867 0 R/XYZ 0 15259 1] -endobj - -8913 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -8914 0 obj -[886 0 R/XYZ 0 15259 1] -endobj - -8915 0 obj -[887 0 R/XYZ 0 15259 1] -endobj - -8916 0 obj -[914 0 R/XYZ 0 15259 1] -endobj - -8917 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -8918 0 obj -[933 0 R/XYZ 0 15259 1] -endobj - -8919 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -8920 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -8921 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -8922 0 obj -[1083 0 R/XYZ 0 15259 1] -endobj - -8923 0 obj -[1084 0 R/XYZ 0 15259 1] -endobj - -8924 0 obj -[1097 0 R/XYZ 0 15259 1] -endobj - -8925 0 obj -[1098 0 R/XYZ 0 15259 1] -endobj - -8926 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -8927 0 obj -[1106 0 R/XYZ 0 15259 1] -endobj - -8928 0 obj -[1109 0 R/XYZ 0 15259 1] -endobj - -8929 0 obj -[1111 0 R/XYZ 0 15259 1] -endobj - -8930 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -8931 0 obj -[1115 0 R/XYZ 0 15259 1] -endobj - -8932 0 obj -[1122 0 R/XYZ 0 15259 1] -endobj - -8933 0 obj -[1126 0 R/XYZ 0 15259 1] -endobj - -8934 0 obj -[1134 0 R/XYZ 0 15259 1] -endobj - -8935 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -8936 0 obj -[1142 0 R/XYZ 0 15259 1] -endobj - -8937 0 obj -[1144 0 R/XYZ 0 15259 1] -endobj - -8938 0 obj -[1152 0 R/XYZ 0 15259 1] -endobj - -8939 0 obj -[1153 0 R/XYZ 0 15259 1] -endobj - -8940 0 obj -[1156 0 R/XYZ 0 15259 1] -endobj - -8941 0 obj -[1158 0 R/XYZ 0 15259 1] -endobj - -8942 0 obj -[1167 0 R/XYZ 0 15259 1] -endobj - -8943 0 obj -[1169 0 R/XYZ 0 15259 1] -endobj - -8944 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -8945 0 obj -[1177 0 R/XYZ 0 15259 1] -endobj - -8946 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -8947 0 obj -[1223 0 R/XYZ 0 15259 1] -endobj - -8948 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -8949 0 obj -[1250 0 R/XYZ 0 15259 1] -endobj - -8950 0 obj -[1252 0 R/XYZ 0 15259 1] -endobj - -8951 0 obj -[1305 0 R/XYZ 0 15259 1] -endobj - -8952 0 obj -[1307 0 R/XYZ 0 15259 1] -endobj - -8953 0 obj -[1317 0 R/XYZ 0 15259 1] -endobj - -8954 0 obj -[1319 0 R/XYZ 0 15259 1] -endobj - -8955 0 obj -[1328 0 R/XYZ 0 15259 1] -endobj - -8956 0 obj -[1366 0 R/XYZ 0 15259 1] -endobj - -8957 0 obj -[1369 0 R/XYZ 0 15259 1] -endobj - -8958 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -8959 0 obj -[1374 0 R/XYZ 0 15259 1] -endobj - -8960 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -8961 0 obj -[1408 0 R/XYZ 0 15259 1] -endobj - -8962 0 obj -[1413 0 R/XYZ 0 15259 1] -endobj - -8963 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -8964 0 obj -[1430 0 R/XYZ 0 15259 1] -endobj - -8965 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -8966 0 obj -[1451 0 R/XYZ 0 15259 1] -endobj - -8967 0 obj -[1453 0 R/XYZ 0 15259 1] -endobj - -8968 0 obj -[1454 0 R/XYZ 0 15259 1] -endobj - -8969 0 obj -[1499 0 R/XYZ 0 15259 1] -endobj - -8970 0 obj -[1500 0 R/XYZ 0 15259 1] -endobj - -8971 0 obj -[1505 0 R/XYZ 0 15259 1] -endobj - -8972 0 obj -[1512 0 R/XYZ 0 15259 1] -endobj - -8973 0 obj -[1517 0 R/XYZ 0 15259 1] -endobj - -8974 0 obj -[1530 0 R/XYZ 0 15259 1] -endobj - -8975 0 obj -[1532 0 R/XYZ 0 15259 1] -endobj - -8976 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -8977 0 obj -[1608 0 R/XYZ 0 15259 1] -endobj - -8978 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -8979 0 obj -[1643 0 R/XYZ 0 15259 1] -endobj - -8980 0 obj -[493 0 R/XYZ 0 15259 1] -endobj - -8981 0 obj -[1131 0 R/XYZ 0 15259 1] -endobj - -8982 0 obj -[1294 0 R/XYZ 0 15259 1] -endobj - -8983 0 obj -[384 0 R/XYZ 0 15259 1] -endobj - -8984 0 obj -[386 0 R/XYZ 0 15259 1] -endobj - -8985 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -8986 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -8987 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -8988 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8989 0 obj -[1360 0 R/XYZ 0 15259 1] -endobj - -8990 0 obj -[1517 0 R/XYZ 0 15259 1] -endobj - -8991 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -8992 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -8993 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -8994 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -8995 0 obj -[1021 0 R/XYZ 0 15259 1] -endobj - -8996 0 obj -[977 0 R/XYZ 0 15259 1] -endobj - -8997 0 obj -[983 0 R/XYZ 0 15259 1] -endobj - -8998 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -8999 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -9000 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -9001 0 obj -[574 0 R/XYZ 0 15259 1] -endobj - -9002 0 obj -[576 0 R/XYZ 0 15259 1] -endobj - -9003 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9004 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9005 0 obj -[574 0 R/XYZ 0 15259 1] -endobj - -9006 0 obj -[574 0 R/XYZ 0 15259 1] -endobj - -9007 0 obj -[576 0 R/XYZ 0 15259 1] -endobj - -9008 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9009 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9010 0 obj -[574 0 R/XYZ 0 15259 1] -endobj - -9011 0 obj -[1091 0 R/XYZ 0 15259 1] -endobj - -9012 0 obj -[1095 0 R/XYZ 0 15259 1] -endobj - -9013 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -9014 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -9015 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -9016 0 obj -[1531 0 R/XYZ 0 15259 1] -endobj - -9017 0 obj -[1534 0 R/XYZ 0 15259 1] -endobj - -9018 0 obj -[1535 0 R/XYZ 0 15259 1] -endobj - -9019 0 obj -[1531 0 R/XYZ 0 15259 1] -endobj - -9020 0 obj -[1134 0 R/XYZ 0 15259 1] -endobj - -9021 0 obj -[1135 0 R/XYZ 0 15259 1] -endobj - -9022 0 obj -[1413 0 R/XYZ 0 15259 1] -endobj - -9023 0 obj -[1500 0 R/XYZ 0 15259 1] -endobj - -9024 0 obj -[1505 0 R/XYZ 0 15259 1] -endobj - -9025 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -9026 0 obj -[1134 0 R/XYZ 0 15259 1] -endobj - -9027 0 obj -[1135 0 R/XYZ 0 15259 1] -endobj - -9028 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -9029 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9030 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -9031 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -9032 0 obj -[1082 0 R/XYZ 0 15259 1] -endobj - -9033 0 obj -[1131 0 R/XYZ 0 15259 1] -endobj - -9034 0 obj -[1134 0 R/XYZ 0 15259 1] -endobj - -9035 0 obj -[1144 0 R/XYZ 0 15259 1] -endobj - -9036 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -9037 0 obj -[1253 0 R/XYZ 0 15259 1] -endobj - -9038 0 obj -[1294 0 R/XYZ 0 15259 1] -endobj - -9039 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -9040 0 obj -[1452 0 R/XYZ 0 15259 1] -endobj - -9041 0 obj -[1131 0 R/XYZ 0 15259 1] -endobj - -9042 0 obj -[1091 0 R/XYZ 0 15259 1] -endobj - -9043 0 obj -[1445 0 R/XYZ 0 15259 1] -endobj - -9044 0 obj -[1449 0 R/XYZ 0 15259 1] -endobj - -9045 0 obj -[1466 0 R/XYZ 0 15259 1] -endobj - -9046 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -9047 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -9048 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -9049 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -9050 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -9051 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -9052 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -9053 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -9054 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -9055 0 obj -[786 0 R/XYZ 0 15259 1] -endobj - -9056 0 obj -[1214 0 R/XYZ 0 15259 1] -endobj - -9057 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -9058 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -9059 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9060 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -9061 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -9062 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -9063 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -9064 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -9065 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -9066 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -9067 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -9068 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -9069 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -9070 0 obj -[786 0 R/XYZ 0 15259 1] -endobj - -9071 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -9072 0 obj -[809 0 R/XYZ 0 15259 1] -endobj - -9073 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -9074 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -9075 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -9076 0 obj -[1214 0 R/XYZ 0 15259 1] -endobj - -9077 0 obj -[1624 0 R/XYZ 0 15259 1] -endobj - -9078 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -9079 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -9080 0 obj -[704 0 R/XYZ 0 15259 1] -endobj - -9081 0 obj -[705 0 R/XYZ 0 15259 1] -endobj - -9082 0 obj -[712 0 R/XYZ 0 15259 1] -endobj - -9083 0 obj -[1313 0 R/XYZ 0 15259 1] -endobj - -9084 0 obj -[1314 0 R/XYZ 0 15259 1] -endobj - -9085 0 obj -[1318 0 R/XYZ 0 15259 1] -endobj - -9086 0 obj -[1447 0 R/XYZ 0 15259 1] -endobj - -9087 0 obj -[1532 0 R/XYZ 0 15259 1] -endobj - -9088 0 obj -[1534 0 R/XYZ 0 15259 1] -endobj - -9089 0 obj -[1611 0 R/XYZ 0 15259 1] -endobj - -9090 0 obj -[1612 0 R/XYZ 0 15259 1] -endobj - -9091 0 obj -[704 0 R/XYZ 0 15259 1] -endobj - -9092 0 obj -[1087 0 R/XYZ 0 15259 1] -endobj - -9093 0 obj -[1101 0 R/XYZ 0 15259 1] -endobj - -9094 0 obj -[1097 0 R/XYZ 0 15259 1] -endobj - -9095 0 obj -[1092 0 R/XYZ 0 15259 1] -endobj - -9096 0 obj -[1097 0 R/XYZ 0 15259 1] -endobj - -9097 0 obj -[368 0 R/XYZ 0 15259 1] -endobj - -9098 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -9099 0 obj -<> -endobj - -9100 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -9101 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9102 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -9103 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -9104 0 obj -[1252 0 R/XYZ 0 15259 1] -endobj - -9105 0 obj -[1255 0 R/XYZ 0 15259 1] -endobj - -9106 0 obj -[1268 0 R/XYZ 0 15259 1] -endobj - -9107 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -9108 0 obj -[1252 0 R/XYZ 0 15259 1] -endobj - -9109 0 obj -[1292 0 R/XYZ 0 15259 1] -endobj - -9110 0 obj -[1294 0 R/XYZ 0 15259 1] -endobj - -9111 0 obj -[1300 0 R/XYZ 0 15259 1] -endobj - -9112 0 obj -[1306 0 R/XYZ 0 15259 1] -endobj - -9113 0 obj -[1312 0 R/XYZ 0 15259 1] -endobj - -9114 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -9115 0 obj -[1292 0 R/XYZ 0 15259 1] -endobj - -9116 0 obj -[1297 0 R/XYZ 0 15259 1] -endobj - -9117 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9118 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -9119 0 obj -[1253 0 R/XYZ 0 15259 1] -endobj - -9120 0 obj -[1260 0 R/XYZ 0 15259 1] -endobj - -9121 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -9122 0 obj -[1253 0 R/XYZ 0 15259 1] -endobj - -9123 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9124 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -9125 0 obj -[1253 0 R/XYZ 0 15259 1] -endobj - -9126 0 obj -[1294 0 R/XYZ 0 15259 1] -endobj - -9127 0 obj -[1297 0 R/XYZ 0 15259 1] -endobj - -9128 0 obj -[1298 0 R/XYZ 0 15259 1] -endobj - -9129 0 obj -[1301 0 R/XYZ 0 15259 1] -endobj - -9130 0 obj -[1253 0 R/XYZ 0 15259 1] -endobj - -9131 0 obj -[1300 0 R/XYZ 0 15259 1] -endobj - -9132 0 obj -[1301 0 R/XYZ 0 15259 1] -endobj - -9133 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -9134 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9135 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -9136 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -9137 0 obj -[873 0 R/XYZ 0 15259 1] -endobj - -9138 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -9139 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9140 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -9141 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9142 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -9143 0 obj -[716 0 R/XYZ 0 15259 1] -endobj - -9144 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -9145 0 obj -[384 0 R/XYZ 0 15259 1] -endobj - -9146 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -9147 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9148 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -9149 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -9150 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -9151 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -9152 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -9153 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -9154 0 obj -[877 0 R/XYZ 0 15259 1] -endobj - -9155 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -9156 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -9157 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -9158 0 obj -[568 0 R/XYZ 0 15259 1] -endobj - -9159 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -9160 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -9161 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9162 0 obj -[568 0 R/XYZ 0 15259 1] -endobj - -9163 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -9164 0 obj -[1516 0 R/XYZ 0 15259 1] -endobj - -9165 0 obj -[1526 0 R/XYZ 0 15259 1] -endobj - -9166 0 obj -[1516 0 R/XYZ 0 15259 1] -endobj - -9167 0 obj -[568 0 R/XYZ 0 15259 1] -endobj - -9168 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -9169 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -9170 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9171 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9172 0 obj -[568 0 R/XYZ 0 15259 1] -endobj - -9173 0 obj -[568 0 R/XYZ 0 15259 1] -endobj - -9174 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -9175 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9176 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9177 0 obj -[568 0 R/XYZ 0 15259 1] -endobj - -9178 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -9179 0 obj -[1515 0 R/XYZ 0 15259 1] -endobj - -9180 0 obj -[1531 0 R/XYZ 0 15259 1] -endobj - -9181 0 obj -[1515 0 R/XYZ 0 15259 1] -endobj - -9182 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -9183 0 obj -[1338 0 R/XYZ 0 15259 1] -endobj - -9184 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -9185 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -9186 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -9187 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -9188 0 obj -[1643 0 R/XYZ 0 15259 1] -endobj - -9189 0 obj -[720 0 R/XYZ 0 15259 1] -endobj - -9190 0 obj -[726 0 R/XYZ 0 15259 1] -endobj - -9191 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -9192 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -9193 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -9194 0 obj -[939 0 R/XYZ 0 15259 1] -endobj - -9195 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -9196 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -9197 0 obj -[886 0 R/XYZ 0 15259 1] -endobj - -9198 0 obj -[887 0 R/XYZ 0 15259 1] -endobj - -9199 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -9200 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -9201 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -9202 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -9203 0 obj -[418 0 R/XYZ 0 15259 1] -endobj - -9204 0 obj -[528 0 R/XYZ 0 15259 1] -endobj - -9205 0 obj -[574 0 R/XYZ 0 15259 1] -endobj - -9206 0 obj -[610 0 R/XYZ 0 15259 1] -endobj - -9207 0 obj -[613 0 R/XYZ 0 15259 1] -endobj - -9208 0 obj -[619 0 R/XYZ 0 15259 1] -endobj - -9209 0 obj -[621 0 R/XYZ 0 15259 1] -endobj - -9210 0 obj -[625 0 R/XYZ 0 15259 1] -endobj - -9211 0 obj -[628 0 R/XYZ 0 15259 1] -endobj - -9212 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -9213 0 obj -[632 0 R/XYZ 0 15259 1] -endobj - -9214 0 obj -[634 0 R/XYZ 0 15259 1] -endobj - -9215 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -9216 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -9217 0 obj -[682 0 R/XYZ 0 15259 1] -endobj - -9218 0 obj -[892 0 R/XYZ 0 15259 1] -endobj - -9219 0 obj -[898 0 R/XYZ 0 15259 1] -endobj - -9220 0 obj -[947 0 R/XYZ 0 15259 1] -endobj - -9221 0 obj -[965 0 R/XYZ 0 15259 1] -endobj - -9222 0 obj -[977 0 R/XYZ 0 15259 1] -endobj - -9223 0 obj -[984 0 R/XYZ 0 15259 1] -endobj - -9224 0 obj -[1005 0 R/XYZ 0 15259 1] -endobj - -9225 0 obj -[1011 0 R/XYZ 0 15259 1] -endobj - -9226 0 obj -[1013 0 R/XYZ 0 15259 1] -endobj - -9227 0 obj -[1021 0 R/XYZ 0 15259 1] -endobj - -9228 0 obj -[1023 0 R/XYZ 0 15259 1] -endobj - -9229 0 obj -[1040 0 R/XYZ 0 15259 1] -endobj - -9230 0 obj -[1106 0 R/XYZ 0 15259 1] -endobj - -9231 0 obj -[1111 0 R/XYZ 0 15259 1] -endobj - -9232 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -9233 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -9234 0 obj -[1237 0 R/XYZ 0 15259 1] -endobj - -9235 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -9236 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -9237 0 obj -[1253 0 R/XYZ 0 15259 1] -endobj - -9238 0 obj -[1265 0 R/XYZ 0 15259 1] -endobj - -9239 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -9240 0 obj -[628 0 R/XYZ 0 15259 1] -endobj - -9241 0 obj -[641 0 R/XYZ 0 15259 1] -endobj - -9242 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9243 0 obj -[628 0 R/XYZ 0 15259 1] -endobj - -9244 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -9245 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -9246 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9247 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -9248 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -9249 0 obj -[418 0 R/XYZ 0 15259 1] -endobj - -9250 0 obj -[605 0 R/XYZ 0 15259 1] -endobj - -9251 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -9252 0 obj -[623 0 R/XYZ 0 15259 1] -endobj - -9253 0 obj -[633 0 R/XYZ 0 15259 1] -endobj - -9254 0 obj -[636 0 R/XYZ 0 15259 1] -endobj - -9255 0 obj -[705 0 R/XYZ 0 15259 1] -endobj - -9256 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -9257 0 obj -[1606 0 R/XYZ 0 15259 1] -endobj - -9258 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -9259 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -9260 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -9261 0 obj -[1061 0 R/XYZ 0 15259 1] -endobj - -9262 0 obj -[720 0 R/XYZ 0 15259 1] -endobj - -9263 0 obj -[724 0 R/XYZ 0 15259 1] -endobj - -9264 0 obj -[1060 0 R/XYZ 0 15259 1] -endobj - -9265 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -9266 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -9267 0 obj -[723 0 R/XYZ 0 15259 1] -endobj - -9268 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -9269 0 obj -[723 0 R/XYZ 0 15259 1] -endobj - -9270 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -9271 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -9272 0 obj -[723 0 R/XYZ 0 15259 1] -endobj - -9273 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -9274 0 obj -[723 0 R/XYZ 0 15259 1] -endobj - -9275 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -9276 0 obj -[723 0 R/XYZ 0 15259 1] -endobj - -9277 0 obj -[939 0 R/XYZ 0 15259 1] -endobj - -9278 0 obj -[724 0 R/XYZ 0 15259 1] -endobj - -9279 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -9280 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -9281 0 obj -[723 0 R/XYZ 0 15259 1] -endobj - -9282 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -9283 0 obj -[723 0 R/XYZ 0 15259 1] -endobj - -9284 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -9285 0 obj -[723 0 R/XYZ 0 15259 1] -endobj - -9286 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -9287 0 obj -[723 0 R/XYZ 0 15259 1] -endobj - -9288 0 obj -[1060 0 R/XYZ 0 15259 1] -endobj - -9289 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -9290 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -9291 0 obj -[723 0 R/XYZ 0 15259 1] -endobj - -9292 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -9293 0 obj -[723 0 R/XYZ 0 15259 1] -endobj - -9294 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -9295 0 obj -[723 0 R/XYZ 0 15259 1] -endobj - -9296 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -9297 0 obj -[723 0 R/XYZ 0 15259 1] -endobj - -9298 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -9299 0 obj -[724 0 R/XYZ 0 15259 1] -endobj - -9300 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -9301 0 obj -[724 0 R/XYZ 0 15259 1] -endobj - -9302 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -9303 0 obj -[724 0 R/XYZ 0 15259 1] -endobj - -9304 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -9305 0 obj -[724 0 R/XYZ 0 15259 1] -endobj - -9306 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -9307 0 obj -[723 0 R/XYZ 0 15259 1] -endobj - -9308 0 obj -[1388 0 R/XYZ 0 15259 1] -endobj - -9309 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -9310 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -9311 0 obj -[1388 0 R/XYZ 0 15259 1] -endobj - -9312 0 obj -[1409 0 R/XYZ 0 15259 1] -endobj - -9313 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -9314 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -9315 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -9316 0 obj -[1315 0 R/XYZ 0 15259 1] -endobj - -9317 0 obj -[565 0 R/XYZ 0 15259 1] -endobj - -9318 0 obj -[568 0 R/XYZ 0 15259 1] -endobj - -9319 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -9320 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -9321 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -9322 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -9323 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9324 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -9325 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -9326 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -9327 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -9328 0 obj -[543 0 R/XYZ 0 15259 1] -endobj - -9329 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -9330 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -9331 0 obj -[411 0 R/XYZ 0 15259 1] -endobj - -9332 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -9333 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -9334 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -9335 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -9336 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -9337 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -9338 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -9339 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -9340 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -9341 0 obj -[737 0 R/XYZ 0 15259 1] -endobj - -9342 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -9343 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -9344 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -9345 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -9346 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -9347 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -9348 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9349 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -9350 0 obj -[815 0 R/XYZ 0 15259 1] -endobj - -9351 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -9352 0 obj -[1221 0 R/XYZ 0 15259 1] -endobj - -9353 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -9354 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -9355 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -9356 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -9357 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -9358 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -9359 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -9360 0 obj -[1030 0 R/XYZ 0 15259 1] -endobj - -9361 0 obj -[1034 0 R/XYZ 0 15259 1] -endobj - -9362 0 obj -[1044 0 R/XYZ 0 15259 1] -endobj - -9363 0 obj -[1049 0 R/XYZ 0 15259 1] -endobj - -9364 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -9365 0 obj -[1627 0 R/XYZ 0 15259 1] -endobj - -9366 0 obj -[930 0 R/XYZ 0 15259 1] -endobj - -9367 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -9368 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -9369 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -9370 0 obj -[1212 0 R/XYZ 0 15259 1] -endobj - -9371 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -9372 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -9373 0 obj -[874 0 R/XYZ 0 15259 1] -endobj - -9374 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -9375 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -9376 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -9377 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -9378 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -9379 0 obj -[359 0 R/XYZ 0 15259 1] -endobj - -9380 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -9381 0 obj -<> -endobj - -9382 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -9383 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -9384 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -9385 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -9386 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -9387 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -9388 0 obj -[1115 0 R/XYZ 0 15259 1] -endobj - -9389 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -9390 0 obj -[898 0 R/XYZ 0 15259 1] -endobj - -9391 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -9392 0 obj -[930 0 R/XYZ 0 15259 1] -endobj - -9393 0 obj -[1121 0 R/XYZ 0 15259 1] -endobj - -9394 0 obj -[466 0 R/XYZ 0 15259 1] -endobj - -9395 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -9396 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -9397 0 obj -[466 0 R/XYZ 0 15259 1] -endobj - -9398 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -9399 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -9400 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -9401 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -9402 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -9403 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -9404 0 obj -[407 0 R/XYZ 0 15259 1] -endobj - -9405 0 obj -[410 0 R/XYZ 0 15259 1] -endobj - -9406 0 obj -[705 0 R/XYZ 0 15259 1] -endobj - -9407 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -9408 0 obj -[1125 0 R/XYZ 0 15259 1] -endobj - -9409 0 obj -[1125 0 R/XYZ 0 15259 1] -endobj - -9410 0 obj -[1472 0 R/XYZ 0 15259 1] -endobj - -9411 0 obj -[1497 0 R/XYZ 0 15259 1] -endobj - -9412 0 obj -[1498 0 R/XYZ 0 15259 1] -endobj - -9413 0 obj -[1497 0 R/XYZ 0 15259 1] -endobj - -9414 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9415 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -9416 0 obj -[633 0 R/XYZ 0 15259 1] -endobj - -9417 0 obj -[634 0 R/XYZ 0 15259 1] -endobj - -9418 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9419 0 obj -[633 0 R/XYZ 0 15259 1] -endobj - -9420 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9421 0 obj -[455 0 R/XYZ 0 15259 1] -endobj - -9422 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9423 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9424 0 obj -[1131 0 R/XYZ 0 15259 1] -endobj - -9425 0 obj -[1294 0 R/XYZ 0 15259 1] -endobj - -9426 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9427 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9428 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -9429 0 obj -[450 0 R/XYZ 0 15259 1] -endobj - -9430 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9431 0 obj -[799 0 R/XYZ 0 15259 1] -endobj - -9432 0 obj -[800 0 R/XYZ 0 15259 1] -endobj - -9433 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9434 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9435 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9436 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -9437 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -9438 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -9439 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -9440 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -9441 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -9442 0 obj -[799 0 R/XYZ 0 15259 1] -endobj - -9443 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9444 0 obj -[1256 0 R/XYZ 0 15259 1] -endobj - -9445 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -9446 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -9447 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -9448 0 obj -[661 0 R/XYZ 0 15259 1] -endobj - -9449 0 obj -[762 0 R/XYZ 0 15259 1] -endobj - -9450 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -9451 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -9452 0 obj -[1125 0 R/XYZ 0 15259 1] -endobj - -9453 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9454 0 obj -[464 0 R/XYZ 0 15259 1] -endobj - -9455 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9456 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9457 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9458 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9459 0 obj -[1299 0 R/XYZ 0 15259 1] -endobj - -9460 0 obj -[1302 0 R/XYZ 0 15259 1] -endobj - -9461 0 obj -[1299 0 R/XYZ 0 15259 1] -endobj - -9462 0 obj -[1300 0 R/XYZ 0 15259 1] -endobj - -9463 0 obj -[1302 0 R/XYZ 0 15259 1] -endobj - -9464 0 obj -[1300 0 R/XYZ 0 15259 1] -endobj - -9465 0 obj -[1302 0 R/XYZ 0 15259 1] -endobj - -9466 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9467 0 obj -[1295 0 R/XYZ 0 15259 1] -endobj - -9468 0 obj -[1296 0 R/XYZ 0 15259 1] -endobj - -9469 0 obj -[1300 0 R/XYZ 0 15259 1] -endobj - -9470 0 obj -[1302 0 R/XYZ 0 15259 1] -endobj - -9471 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9472 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -9473 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -9474 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9475 0 obj -[461 0 R/XYZ 0 15259 1] -endobj - -9476 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -9477 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -9478 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9479 0 obj -[1139 0 R/XYZ 0 15259 1] -endobj - -9480 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9481 0 obj -[1139 0 R/XYZ 0 15259 1] -endobj - -9482 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9483 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9484 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9485 0 obj -[1386 0 R/XYZ 0 15259 1] -endobj - -9486 0 obj -[1390 0 R/XYZ 0 15259 1] -endobj - -9487 0 obj -[1391 0 R/XYZ 0 15259 1] -endobj - -9488 0 obj -[1409 0 R/XYZ 0 15259 1] -endobj - -9489 0 obj -[1411 0 R/XYZ 0 15259 1] -endobj - -9490 0 obj -[1412 0 R/XYZ 0 15259 1] -endobj - -9491 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -9492 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -9493 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9494 0 obj -[464 0 R/XYZ 0 15259 1] -endobj - -9495 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9496 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -9497 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -9498 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9499 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9500 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9501 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9502 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9503 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9504 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9505 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9506 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -9507 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -9508 0 obj -[1003 0 R/XYZ 0 15259 1] -endobj - -9509 0 obj -[1003 0 R/XYZ 0 15259 1] -endobj - -9510 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -9511 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9512 0 obj -[945 0 R/XYZ 0 15259 1] -endobj - -9513 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9514 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -9515 0 obj -[1003 0 R/XYZ 0 15259 1] -endobj - -9516 0 obj -[1003 0 R/XYZ 0 15259 1] -endobj - -9517 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9518 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9519 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9520 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9521 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -9522 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -9523 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -9524 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -9525 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -9526 0 obj -[464 0 R/XYZ 0 15259 1] -endobj - -9527 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9528 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9529 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9530 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9531 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9532 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -9533 0 obj -[464 0 R/XYZ 0 15259 1] -endobj - -9534 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9535 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -9536 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -9537 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -9538 0 obj -[488 0 R/XYZ 0 15259 1] -endobj - -9539 0 obj -[488 0 R/XYZ 0 15259 1] -endobj - -9540 0 obj -[628 0 R/XYZ 0 15259 1] -endobj - -9541 0 obj -[1088 0 R/XYZ 0 15259 1] -endobj - -9542 0 obj -[1096 0 R/XYZ 0 15259 1] -endobj - -9543 0 obj -[1097 0 R/XYZ 0 15259 1] -endobj - -9544 0 obj -[1452 0 R/XYZ 0 15259 1] -endobj - -9545 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -9546 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -9547 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9548 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -9549 0 obj -[488 0 R/XYZ 0 15259 1] -endobj - -9550 0 obj -[628 0 R/XYZ 0 15259 1] -endobj - -9551 0 obj -[1088 0 R/XYZ 0 15259 1] -endobj - -9552 0 obj -[1096 0 R/XYZ 0 15259 1] -endobj - -9553 0 obj -[1097 0 R/XYZ 0 15259 1] -endobj - -9554 0 obj -[1457 0 R/XYZ 0 15259 1] -endobj - -9555 0 obj -[1459 0 R/XYZ 0 15259 1] -endobj - -9556 0 obj -[1468 0 R/XYZ 0 15259 1] -endobj - -9557 0 obj -[488 0 R/XYZ 0 15259 1] -endobj - -9558 0 obj -[628 0 R/XYZ 0 15259 1] -endobj - -9559 0 obj -[646 0 R/XYZ 0 15259 1] -endobj - -9560 0 obj -[1088 0 R/XYZ 0 15259 1] -endobj - -9561 0 obj -[1096 0 R/XYZ 0 15259 1] -endobj - -9562 0 obj -[1097 0 R/XYZ 0 15259 1] -endobj - -9563 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -9564 0 obj -[1445 0 R/XYZ 0 15259 1] -endobj - -9565 0 obj -[1448 0 R/XYZ 0 15259 1] -endobj - -9566 0 obj -[1449 0 R/XYZ 0 15259 1] -endobj - -9567 0 obj -[1451 0 R/XYZ 0 15259 1] -endobj - -9568 0 obj -[1452 0 R/XYZ 0 15259 1] -endobj - -9569 0 obj -[1454 0 R/XYZ 0 15259 1] -endobj - -9570 0 obj -[1459 0 R/XYZ 0 15259 1] -endobj - -9571 0 obj -[1461 0 R/XYZ 0 15259 1] -endobj - -9572 0 obj -[1466 0 R/XYZ 0 15259 1] -endobj - -9573 0 obj -[1512 0 R/XYZ 0 15259 1] -endobj - -9574 0 obj -[1513 0 R/XYZ 0 15259 1] -endobj - -9575 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -9576 0 obj -[1631 0 R/XYZ 0 15259 1] -endobj - -9577 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -9578 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -9579 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -9580 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9581 0 obj -[887 0 R/XYZ 0 15259 1] -endobj - -9582 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -9583 0 obj -[1082 0 R/XYZ 0 15259 1] -endobj - -9584 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -9585 0 obj -[1115 0 R/XYZ 0 15259 1] -endobj - -9586 0 obj -[1144 0 R/XYZ 0 15259 1] -endobj - -9587 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -9588 0 obj -[1184 0 R/XYZ 0 15259 1] -endobj - -9589 0 obj -[1215 0 R/XYZ 0 15259 1] -endobj - -9590 0 obj -[1218 0 R/XYZ 0 15259 1] -endobj - -9591 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -9592 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -9593 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -9594 0 obj -[1268 0 R/XYZ 0 15259 1] -endobj - -9595 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -9596 0 obj -[1278 0 R/XYZ 0 15259 1] -endobj - -9597 0 obj -[1279 0 R/XYZ 0 15259 1] -endobj - -9598 0 obj -[1311 0 R/XYZ 0 15259 1] -endobj - -9599 0 obj -[1316 0 R/XYZ 0 15259 1] -endobj - -9600 0 obj -[1318 0 R/XYZ 0 15259 1] -endobj - -9601 0 obj -[1320 0 R/XYZ 0 15259 1] -endobj - -9602 0 obj -[1389 0 R/XYZ 0 15259 1] -endobj - -9603 0 obj -<> -endobj - -9604 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -9605 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -9606 0 obj -[1499 0 R/XYZ 0 15259 1] -endobj - -9607 0 obj -[1500 0 R/XYZ 0 15259 1] -endobj - -9608 0 obj -[1510 0 R/XYZ 0 15259 1] -endobj - -9609 0 obj -[1511 0 R/XYZ 0 15259 1] -endobj - -9610 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -9611 0 obj -[1629 0 R/XYZ 0 15259 1] -endobj - -9612 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -9613 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -9614 0 obj -[1639 0 R/XYZ 0 15259 1] -endobj - -9615 0 obj -[1642 0 R/XYZ 0 15259 1] -endobj - -9616 0 obj -[1106 0 R/XYZ 0 15259 1] -endobj - -9617 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -9618 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -9619 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -9620 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -9621 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -9622 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -9623 0 obj -[1196 0 R/XYZ 0 15259 1] -endobj - -9624 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -9625 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -9626 0 obj -[1211 0 R/XYZ 0 15259 1] -endobj - -9627 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -9628 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -9629 0 obj -[1195 0 R/XYZ 0 15259 1] -endobj - -9630 0 obj -[1208 0 R/XYZ 0 15259 1] -endobj - -9631 0 obj -[1212 0 R/XYZ 0 15259 1] -endobj - -9632 0 obj -[1208 0 R/XYZ 0 15259 1] -endobj - -9633 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -9634 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -9635 0 obj -[1192 0 R/XYZ 0 15259 1] -endobj - -9636 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -9637 0 obj -[1196 0 R/XYZ 0 15259 1] -endobj - -9638 0 obj -[1193 0 R/XYZ 0 15259 1] -endobj - -9639 0 obj -[1210 0 R/XYZ 0 15259 1] -endobj - -9640 0 obj -[1210 0 R/XYZ 0 15259 1] -endobj - -9641 0 obj -[1212 0 R/XYZ 0 15259 1] -endobj - -9642 0 obj -[1178 0 R/XYZ 0 15259 1] -endobj - -9643 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -9644 0 obj -[1192 0 R/XYZ 0 15259 1] -endobj - -9645 0 obj -[1193 0 R/XYZ 0 15259 1] -endobj - -9646 0 obj -[1193 0 R/XYZ 0 15259 1] -endobj - -9647 0 obj -[1210 0 R/XYZ 0 15259 1] -endobj - -9648 0 obj -[1210 0 R/XYZ 0 15259 1] -endobj - -9649 0 obj -[1192 0 R/XYZ 0 15259 1] -endobj - -9650 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -9651 0 obj -[1210 0 R/XYZ 0 15259 1] -endobj - -9652 0 obj -[1210 0 R/XYZ 0 15259 1] -endobj - -9653 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -9654 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9655 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9656 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -9657 0 obj -[1193 0 R/XYZ 0 15259 1] -endobj - -9658 0 obj -[1196 0 R/XYZ 0 15259 1] -endobj - -9659 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -9660 0 obj -[1207 0 R/XYZ 0 15259 1] -endobj - -9661 0 obj -[1208 0 R/XYZ 0 15259 1] -endobj - -9662 0 obj -[1210 0 R/XYZ 0 15259 1] -endobj - -9663 0 obj -[1212 0 R/XYZ 0 15259 1] -endobj - -9664 0 obj -[1207 0 R/XYZ 0 15259 1] -endobj - -9665 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9666 0 obj -[1209 0 R/XYZ 0 15259 1] -endobj - -9667 0 obj -[1210 0 R/XYZ 0 15259 1] -endobj - -9668 0 obj -[1212 0 R/XYZ 0 15259 1] -endobj - -9669 0 obj -[1210 0 R/XYZ 0 15259 1] -endobj - -9670 0 obj -[1210 0 R/XYZ 0 15259 1] -endobj - -9671 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -9672 0 obj -[1209 0 R/XYZ 0 15259 1] -endobj - -9673 0 obj -[1210 0 R/XYZ 0 15259 1] -endobj - -9674 0 obj -[1209 0 R/XYZ 0 15259 1] -endobj - -9675 0 obj -[1209 0 R/XYZ 0 15259 1] -endobj - -9676 0 obj -[1212 0 R/XYZ 0 15259 1] -endobj - -9677 0 obj -[1193 0 R/XYZ 0 15259 1] -endobj - -9678 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -9679 0 obj -[1195 0 R/XYZ 0 15259 1] -endobj - -9680 0 obj -[1196 0 R/XYZ 0 15259 1] -endobj - -9681 0 obj -[1208 0 R/XYZ 0 15259 1] -endobj - -9682 0 obj -[1211 0 R/XYZ 0 15259 1] -endobj - -9683 0 obj -[1208 0 R/XYZ 0 15259 1] -endobj - -9684 0 obj -[1209 0 R/XYZ 0 15259 1] -endobj - -9685 0 obj -[1212 0 R/XYZ 0 15259 1] -endobj - -9686 0 obj -[1208 0 R/XYZ 0 15259 1] -endobj - -9687 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -9688 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -9689 0 obj -[1208 0 R/XYZ 0 15259 1] -endobj - -9690 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -9691 0 obj -[1209 0 R/XYZ 0 15259 1] -endobj - -9692 0 obj -[1210 0 R/XYZ 0 15259 1] -endobj - -9693 0 obj -[1212 0 R/XYZ 0 15259 1] -endobj - -9694 0 obj -[1209 0 R/XYZ 0 15259 1] -endobj - -9695 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9696 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -9697 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -9698 0 obj -[1250 0 R/XYZ 0 15259 1] -endobj - -9699 0 obj -[1256 0 R/XYZ 0 15259 1] -endobj - -9700 0 obj -[1268 0 R/XYZ 0 15259 1] -endobj - -9701 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -9702 0 obj -[1250 0 R/XYZ 0 15259 1] -endobj - -9703 0 obj -[1292 0 R/XYZ 0 15259 1] -endobj - -9704 0 obj -[1294 0 R/XYZ 0 15259 1] -endobj - -9705 0 obj -[1304 0 R/XYZ 0 15259 1] -endobj - -9706 0 obj -[1307 0 R/XYZ 0 15259 1] -endobj - -9707 0 obj -[1308 0 R/XYZ 0 15259 1] -endobj - -9708 0 obj -[1320 0 R/XYZ 0 15259 1] -endobj - -9709 0 obj -[1322 0 R/XYZ 0 15259 1] -endobj - -9710 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -9711 0 obj -[1292 0 R/XYZ 0 15259 1] -endobj - -9712 0 obj -[1294 0 R/XYZ 0 15259 1] -endobj - -9713 0 obj -[1292 0 R/XYZ 0 15259 1] -endobj - -9714 0 obj -[1295 0 R/XYZ 0 15259 1] -endobj - -9715 0 obj -[1299 0 R/XYZ 0 15259 1] -endobj - -9716 0 obj -[1304 0 R/XYZ 0 15259 1] -endobj - -9717 0 obj -[1307 0 R/XYZ 0 15259 1] -endobj - -9718 0 obj -[1308 0 R/XYZ 0 15259 1] -endobj - -9719 0 obj -[1322 0 R/XYZ 0 15259 1] -endobj - -9720 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -9721 0 obj -[1292 0 R/XYZ 0 15259 1] -endobj - -9722 0 obj -[1296 0 R/XYZ 0 15259 1] -endobj - -9723 0 obj -[1299 0 R/XYZ 0 15259 1] -endobj - -9724 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9725 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -9726 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -9727 0 obj -[1253 0 R/XYZ 0 15259 1] -endobj - -9728 0 obj -[1294 0 R/XYZ 0 15259 1] -endobj - -9729 0 obj -[1296 0 R/XYZ 0 15259 1] -endobj - -9730 0 obj -[1300 0 R/XYZ 0 15259 1] -endobj - -9731 0 obj -[1323 0 R/XYZ 0 15259 1] -endobj - -9732 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -9733 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9734 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -9735 0 obj -[1250 0 R/XYZ 0 15259 1] -endobj - -9736 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -9737 0 obj -[1260 0 R/XYZ 0 15259 1] -endobj - -9738 0 obj -[1262 0 R/XYZ 0 15259 1] -endobj - -9739 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -9740 0 obj -[1250 0 R/XYZ 0 15259 1] -endobj - -9741 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -9742 0 obj -[1285 0 R/XYZ 0 15259 1] -endobj - -9743 0 obj -[1287 0 R/XYZ 0 15259 1] -endobj - -9744 0 obj -[1290 0 R/XYZ 0 15259 1] -endobj - -9745 0 obj -[1298 0 R/XYZ 0 15259 1] -endobj - -9746 0 obj -[1311 0 R/XYZ 0 15259 1] -endobj - -9747 0 obj -[1317 0 R/XYZ 0 15259 1] -endobj - -9748 0 obj -[1319 0 R/XYZ 0 15259 1] -endobj - -9749 0 obj -[1320 0 R/XYZ 0 15259 1] -endobj - -9750 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -9751 0 obj -[1285 0 R/XYZ 0 15259 1] -endobj - -9752 0 obj -[1287 0 R/XYZ 0 15259 1] -endobj - -9753 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -9754 0 obj -[1285 0 R/XYZ 0 15259 1] -endobj - -9755 0 obj -[1286 0 R/XYZ 0 15259 1] -endobj - -9756 0 obj -[1311 0 R/XYZ 0 15259 1] -endobj - -9757 0 obj -[1316 0 R/XYZ 0 15259 1] -endobj - -9758 0 obj -[1317 0 R/XYZ 0 15259 1] -endobj - -9759 0 obj -[1319 0 R/XYZ 0 15259 1] -endobj - -9760 0 obj -[1323 0 R/XYZ 0 15259 1] -endobj - -9761 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -9762 0 obj -[1285 0 R/XYZ 0 15259 1] -endobj - -9763 0 obj -[1286 0 R/XYZ 0 15259 1] -endobj - -9764 0 obj -[821 0 R/XYZ 0 15259 1] -endobj - -9765 0 obj -[823 0 R/XYZ 0 15259 1] -endobj - -9766 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -9767 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -9768 0 obj -[823 0 R/XYZ 0 15259 1] -endobj - -9769 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -9770 0 obj -[1055 0 R/XYZ 0 15259 1] -endobj - -9771 0 obj -[1056 0 R/XYZ 0 15259 1] -endobj - -9772 0 obj -[821 0 R/XYZ 0 15259 1] -endobj - -9773 0 obj -[824 0 R/XYZ 0 15259 1] -endobj - -9774 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -9775 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -9776 0 obj -[1056 0 R/XYZ 0 15259 1] -endobj - -9777 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -9778 0 obj -[1063 0 R/XYZ 0 15259 1] -endobj - -9779 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -9780 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -9781 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -9782 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -9783 0 obj -[834 0 R/XYZ 0 15259 1] -endobj - -9784 0 obj -[842 0 R/XYZ 0 15259 1] -endobj - -9785 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -9786 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -9787 0 obj -[1056 0 R/XYZ 0 15259 1] -endobj - -9788 0 obj -[1107 0 R/XYZ 0 15259 1] -endobj - -9789 0 obj -[1109 0 R/XYZ 0 15259 1] -endobj - -9790 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -9791 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -9792 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -9793 0 obj -[889 0 R/XYZ 0 15259 1] -endobj - -9794 0 obj -[890 0 R/XYZ 0 15259 1] -endobj - -9795 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -9796 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -9797 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -9798 0 obj -[1196 0 R/XYZ 0 15259 1] -endobj - -9799 0 obj -[1639 0 R/XYZ 0 15259 1] -endobj - -9800 0 obj -[610 0 R/XYZ 0 15259 1] -endobj - -9801 0 obj -[611 0 R/XYZ 0 15259 1] -endobj - -9802 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -9803 0 obj -[645 0 R/XYZ 0 15259 1] -endobj - -9804 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -9805 0 obj -[758 0 R/XYZ 0 15259 1] -endobj - -9806 0 obj -[759 0 R/XYZ 0 15259 1] -endobj - -9807 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -9808 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -9809 0 obj -[610 0 R/XYZ 0 15259 1] -endobj - -9810 0 obj -[1255 0 R/XYZ 0 15259 1] -endobj - -9811 0 obj -[1257 0 R/XYZ 0 15259 1] -endobj - -9812 0 obj -[1262 0 R/XYZ 0 15259 1] -endobj - -9813 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -9814 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -9815 0 obj -[771 0 R/XYZ 0 15259 1] -endobj - -9816 0 obj -[771 0 R/XYZ 0 15259 1] -endobj - -9817 0 obj -[710 0 R/XYZ 0 15259 1] -endobj - -9818 0 obj -[763 0 R/XYZ 0 15259 1] -endobj - -9819 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -9820 0 obj -[710 0 R/XYZ 0 15259 1] -endobj - -9821 0 obj -[771 0 R/XYZ 0 15259 1] -endobj - -9822 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -9823 0 obj -[771 0 R/XYZ 0 15259 1] -endobj - -9824 0 obj -[515 0 R/XYZ 0 15259 1] -endobj - -9825 0 obj -[1083 0 R/XYZ 0 15259 1] -endobj - -9826 0 obj -[1084 0 R/XYZ 0 15259 1] -endobj - -9827 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -9828 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -9829 0 obj -[1634 0 R/XYZ 0 15259 1] -endobj - -9830 0 obj -[514 0 R/XYZ 0 15259 1] -endobj - -9831 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -9832 0 obj -[771 0 R/XYZ 0 15259 1] -endobj - -9833 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -9834 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9835 0 obj -[1510 0 R/XYZ 0 15259 1] -endobj - -9836 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -9837 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -9838 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -9839 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -9840 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9841 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -9842 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -9843 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -9844 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -9845 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -9846 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -9847 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -9848 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -9849 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -9850 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -9851 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -9852 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -9853 0 obj -[1098 0 R/XYZ 0 15259 1] -endobj - -9854 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -9855 0 obj -[1395 0 R/XYZ 0 15259 1] -endobj - -9856 0 obj -[466 0 R/XYZ 0 15259 1] -endobj - -9857 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -9858 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -9859 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -9860 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -9861 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9862 0 obj -[1234 0 R/XYZ 0 15259 1] -endobj - -9863 0 obj -[1234 0 R/XYZ 0 15259 1] -endobj - -9864 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -9865 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -9866 0 obj -[856 0 R/XYZ 0 15259 1] -endobj - -9867 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -9868 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -9869 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -9870 0 obj -[907 0 R/XYZ 0 15259 1] -endobj - -9871 0 obj -[688 0 R/XYZ 0 15259 1] -endobj - -9872 0 obj -[712 0 R/XYZ 0 15259 1] -endobj - -9873 0 obj -[714 0 R/XYZ 0 15259 1] -endobj - -9874 0 obj -[718 0 R/XYZ 0 15259 1] -endobj - -9875 0 obj -[726 0 R/XYZ 0 15259 1] -endobj - -9876 0 obj -[884 0 R/XYZ 0 15259 1] -endobj - -9877 0 obj -[887 0 R/XYZ 0 15259 1] -endobj - -9878 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -9879 0 obj -[905 0 R/XYZ 0 15259 1] -endobj - -9880 0 obj -[907 0 R/XYZ 0 15259 1] -endobj - -9881 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -9882 0 obj -[1624 0 R/XYZ 0 15259 1] -endobj - -9883 0 obj -[714 0 R/XYZ 0 15259 1] -endobj - -9884 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -9885 0 obj -<> -endobj - -9886 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -9887 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -9888 0 obj -[1065 0 R/XYZ 0 15259 1] -endobj - -9889 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -9890 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9891 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -9892 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -9893 0 obj -[819 0 R/XYZ 0 15259 1] -endobj - -9894 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9895 0 obj -[819 0 R/XYZ 0 15259 1] -endobj - -9896 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -9897 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -9898 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9899 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -9900 0 obj -[1235 0 R/XYZ 0 15259 1] -endobj - -9901 0 obj -[659 0 R/XYZ 0 15259 1] -endobj - -9902 0 obj -[661 0 R/XYZ 0 15259 1] -endobj - -9903 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -9904 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9905 0 obj -[659 0 R/XYZ 0 15259 1] -endobj - -9906 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -9907 0 obj -[771 0 R/XYZ 0 15259 1] -endobj - -9908 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -9909 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -9910 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -9911 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -9912 0 obj -[720 0 R/XYZ 0 15259 1] -endobj - -9913 0 obj -[939 0 R/XYZ 0 15259 1] -endobj - -9914 0 obj -[720 0 R/XYZ 0 15259 1] -endobj - -9915 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9916 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -9917 0 obj -[1236 0 R/XYZ 0 15259 1] -endobj - -9918 0 obj -[819 0 R/XYZ 0 15259 1] -endobj - -9919 0 obj -[821 0 R/XYZ 0 15259 1] -endobj - -9920 0 obj -[824 0 R/XYZ 0 15259 1] -endobj - -9921 0 obj -[842 0 R/XYZ 0 15259 1] -endobj - -9922 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -9923 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9924 0 obj -[1056 0 R/XYZ 0 15259 1] -endobj - -9925 0 obj -[1060 0 R/XYZ 0 15259 1] -endobj - -9926 0 obj -[1396 0 R/XYZ 0 15259 1] -endobj - -9927 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -9928 0 obj -[1401 0 R/XYZ 0 15259 1] -endobj - -9929 0 obj -[821 0 R/XYZ 0 15259 1] -endobj - -9930 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9931 0 obj -[1265 0 R/XYZ 0 15259 1] -endobj - -9932 0 obj -[1266 0 R/XYZ 0 15259 1] -endobj - -9933 0 obj -[1301 0 R/XYZ 0 15259 1] -endobj - -9934 0 obj -[1265 0 R/XYZ 0 15259 1] -endobj - -9935 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -9936 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -9937 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -9938 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -9939 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -9940 0 obj -[771 0 R/XYZ 0 15259 1] -endobj - -9941 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -9942 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -9943 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -9944 0 obj -[1510 0 R/XYZ 0 15259 1] -endobj - -9945 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -9946 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -9947 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -9948 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -9949 0 obj -[545 0 R/XYZ 0 15259 1] -endobj - -9950 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -9951 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -9952 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -9953 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -9954 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -9955 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -9956 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -9957 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -9958 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -9959 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -9960 0 obj -[772 0 R/XYZ 0 15259 1] -endobj - -9961 0 obj -[782 0 R/XYZ 0 15259 1] -endobj - -9962 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -9963 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -9964 0 obj -[1214 0 R/XYZ 0 15259 1] -endobj - -9965 0 obj -[1215 0 R/XYZ 0 15259 1] -endobj - -9966 0 obj -[1304 0 R/XYZ 0 15259 1] -endobj - -9967 0 obj -[1624 0 R/XYZ 0 15259 1] -endobj - -9968 0 obj -[466 0 R/XYZ 0 15259 1] -endobj - -9969 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -9970 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -9971 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -9972 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -9973 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -9974 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -9975 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -9976 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -9977 0 obj -[1196 0 R/XYZ 0 15259 1] -endobj - -9978 0 obj -[610 0 R/XYZ 0 15259 1] -endobj - -9979 0 obj -[611 0 R/XYZ 0 15259 1] -endobj - -9980 0 obj -[616 0 R/XYZ 0 15259 1] -endobj - -9981 0 obj -[645 0 R/XYZ 0 15259 1] -endobj - -9982 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -9983 0 obj -[720 0 R/XYZ 0 15259 1] -endobj - -9984 0 obj -[1171 0 R/XYZ 0 15259 1] -endobj - -9985 0 obj -[1392 0 R/XYZ 0 15259 1] -endobj - -9986 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -9987 0 obj -[610 0 R/XYZ 0 15259 1] -endobj - -9988 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -9989 0 obj -[661 0 R/XYZ 0 15259 1] -endobj - -9990 0 obj -[661 0 R/XYZ 0 15259 1] -endobj - -9991 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -9992 0 obj -[684 0 R/XYZ 0 15259 1] -endobj - -9993 0 obj -[1618 0 R/XYZ 0 15259 1] -endobj - -9994 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -9995 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -9996 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -9997 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -9998 0 obj -[702 0 R/XYZ 0 15259 1] -endobj - -9999 0 obj -[704 0 R/XYZ 0 15259 1] -endobj - -10000 0 obj -[727 0 R/XYZ 0 15259 1] -endobj - -10001 0 obj -[1439 0 R/XYZ 0 15259 1] -endobj - -10002 0 obj -[1620 0 R/XYZ 0 15259 1] -endobj - -10003 0 obj -[1648 0 R/XYZ 0 15259 1] -endobj - -10004 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -10005 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -10006 0 obj -[1205 0 R/XYZ 0 15259 1] -endobj - -10007 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -10008 0 obj -[503 0 R/XYZ 0 15259 1] -endobj - -10009 0 obj -[736 0 R/XYZ 0 15259 1] -endobj - -10010 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -10011 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -10012 0 obj -[1412 0 R/XYZ 0 15259 1] -endobj - -10013 0 obj -[819 0 R/XYZ 0 15259 1] -endobj - -10014 0 obj -[828 0 R/XYZ 0 15259 1] -endobj - -10015 0 obj -[836 0 R/XYZ 0 15259 1] -endobj - -10016 0 obj -[838 0 R/XYZ 0 15259 1] -endobj - -10017 0 obj -[862 0 R/XYZ 0 15259 1] -endobj - -10018 0 obj -[907 0 R/XYZ 0 15259 1] -endobj - -10019 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -10020 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -10021 0 obj -[1409 0 R/XYZ 0 15259 1] -endobj - -10022 0 obj -[1410 0 R/XYZ 0 15259 1] -endobj - -10023 0 obj -[828 0 R/XYZ 0 15259 1] -endobj - -10024 0 obj -[381 0 R/XYZ 0 15259 1] -endobj - -10025 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -10026 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -10027 0 obj -[1200 0 R/XYZ 0 15259 1] -endobj - -10028 0 obj -[1203 0 R/XYZ 0 15259 1] -endobj - -10029 0 obj -[1201 0 R/XYZ 0 15259 1] -endobj - -10030 0 obj -[1199 0 R/XYZ 0 15259 1] -endobj - -10031 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -10032 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -10033 0 obj -[1200 0 R/XYZ 0 15259 1] -endobj - -10034 0 obj -[1202 0 R/XYZ 0 15259 1] -endobj - -10035 0 obj -[1200 0 R/XYZ 0 15259 1] -endobj - -10036 0 obj -[1201 0 R/XYZ 0 15259 1] -endobj - -10037 0 obj -[1201 0 R/XYZ 0 15259 1] -endobj - -10038 0 obj -[1178 0 R/XYZ 0 15259 1] -endobj - -10039 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -10040 0 obj -[1199 0 R/XYZ 0 15259 1] -endobj - -10041 0 obj -[1202 0 R/XYZ 0 15259 1] -endobj - -10042 0 obj -[1199 0 R/XYZ 0 15259 1] -endobj - -10043 0 obj -[1199 0 R/XYZ 0 15259 1] -endobj - -10044 0 obj -[1201 0 R/XYZ 0 15259 1] -endobj - -10045 0 obj -[1201 0 R/XYZ 0 15259 1] -endobj - -10046 0 obj -[1200 0 R/XYZ 0 15259 1] -endobj - -10047 0 obj -[1201 0 R/XYZ 0 15259 1] -endobj - -10048 0 obj -[1201 0 R/XYZ 0 15259 1] -endobj - -10049 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -10050 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -10051 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10052 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -10053 0 obj -[1228 0 R/XYZ 0 15259 1] -endobj - -10054 0 obj -[1252 0 R/XYZ 0 15259 1] -endobj - -10055 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -10056 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -10057 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -10058 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -10059 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -10060 0 obj -[589 0 R/XYZ 0 15259 1] -endobj - -10061 0 obj -[589 0 R/XYZ 0 15259 1] -endobj - -10062 0 obj -[589 0 R/XYZ 0 15259 1] -endobj - -10063 0 obj -[589 0 R/XYZ 0 15259 1] -endobj - -10064 0 obj -[561 0 R/XYZ 0 15259 1] -endobj - -10065 0 obj -[589 0 R/XYZ 0 15259 1] -endobj - -10066 0 obj -[533 0 R/XYZ 0 15259 1] -endobj - -10067 0 obj -[589 0 R/XYZ 0 15259 1] -endobj - -10068 0 obj -[589 0 R/XYZ 0 15259 1] -endobj - -10069 0 obj -[1282 0 R/XYZ 0 15259 1] -endobj - -10070 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -10071 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -10072 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -10073 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -10074 0 obj -[743 0 R/XYZ 0 15259 1] -endobj - -10075 0 obj -[748 0 R/XYZ 0 15259 1] -endobj - -10076 0 obj -[749 0 R/XYZ 0 15259 1] -endobj - -10077 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -10078 0 obj -[849 0 R/XYZ 0 15259 1] -endobj - -10079 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10080 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -10081 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -10082 0 obj -[919 0 R/XYZ 0 15259 1] -endobj - -10083 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -10084 0 obj -[1624 0 R/XYZ 0 15259 1] -endobj - -10085 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -10086 0 obj -[860 0 R/XYZ 0 15259 1] -endobj - -10087 0 obj -[864 0 R/XYZ 0 15259 1] -endobj - -10088 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -10089 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10090 0 obj -[874 0 R/XYZ 0 15259 1] -endobj - -10091 0 obj -[877 0 R/XYZ 0 15259 1] -endobj - -10092 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -10093 0 obj -[897 0 R/XYZ 0 15259 1] -endobj - -10094 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -10095 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -10096 0 obj -[922 0 R/XYZ 0 15259 1] -endobj - -10097 0 obj -[927 0 R/XYZ 0 15259 1] -endobj - -10098 0 obj -[930 0 R/XYZ 0 15259 1] -endobj - -10099 0 obj -[1041 0 R/XYZ 0 15259 1] -endobj - -10100 0 obj -[1061 0 R/XYZ 0 15259 1] -endobj - -10101 0 obj -[1072 0 R/XYZ 0 15259 1] -endobj - -10102 0 obj -[1074 0 R/XYZ 0 15259 1] -endobj - -10103 0 obj -[1076 0 R/XYZ 0 15259 1] -endobj - -10104 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -10105 0 obj -[1261 0 R/XYZ 0 15259 1] -endobj - -10106 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -10107 0 obj -[1639 0 R/XYZ 0 15259 1] -endobj - -10108 0 obj -[898 0 R/XYZ 0 15259 1] -endobj - -10109 0 obj -[898 0 R/XYZ 0 15259 1] -endobj - -10110 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -10111 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -10112 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -10113 0 obj -[921 0 R/XYZ 0 15259 1] -endobj - -10114 0 obj -[927 0 R/XYZ 0 15259 1] -endobj - -10115 0 obj -[930 0 R/XYZ 0 15259 1] -endobj - -10116 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -10117 0 obj -[1060 0 R/XYZ 0 15259 1] -endobj - -10118 0 obj -[1072 0 R/XYZ 0 15259 1] -endobj - -10119 0 obj -[1074 0 R/XYZ 0 15259 1] -endobj - -10120 0 obj -[1261 0 R/XYZ 0 15259 1] -endobj - -10121 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -10122 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10123 0 obj -[889 0 R/XYZ 0 15259 1] -endobj - -10124 0 obj -[890 0 R/XYZ 0 15259 1] -endobj - -10125 0 obj -[895 0 R/XYZ 0 15259 1] -endobj - -10126 0 obj -[910 0 R/XYZ 0 15259 1] -endobj - -10127 0 obj -[912 0 R/XYZ 0 15259 1] -endobj - -10128 0 obj -[913 0 R/XYZ 0 15259 1] -endobj - -10129 0 obj -[922 0 R/XYZ 0 15259 1] -endobj - -10130 0 obj -[927 0 R/XYZ 0 15259 1] -endobj - -10131 0 obj -[933 0 R/XYZ 0 15259 1] -endobj - -10132 0 obj -[1042 0 R/XYZ 0 15259 1] -endobj - -10133 0 obj -[1074 0 R/XYZ 0 15259 1] -endobj - -10134 0 obj -[1076 0 R/XYZ 0 15259 1] -endobj - -10135 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -10136 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -10137 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -10138 0 obj -[889 0 R/XYZ 0 15259 1] -endobj - -10139 0 obj -[890 0 R/XYZ 0 15259 1] -endobj - -10140 0 obj -[849 0 R/XYZ 0 15259 1] -endobj - -10141 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -10142 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10143 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -10144 0 obj -[873 0 R/XYZ 0 15259 1] -endobj - -10145 0 obj -[882 0 R/XYZ 0 15259 1] -endobj - -10146 0 obj -[884 0 R/XYZ 0 15259 1] -endobj - -10147 0 obj -[886 0 R/XYZ 0 15259 1] -endobj - -10148 0 obj -[887 0 R/XYZ 0 15259 1] -endobj - -10149 0 obj -[894 0 R/XYZ 0 15259 1] -endobj - -10150 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -10151 0 obj -[905 0 R/XYZ 0 15259 1] -endobj - -10152 0 obj -[906 0 R/XYZ 0 15259 1] -endobj - -10153 0 obj -[914 0 R/XYZ 0 15259 1] -endobj - -10154 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -10155 0 obj -[926 0 R/XYZ 0 15259 1] -endobj - -10156 0 obj -[927 0 R/XYZ 0 15259 1] -endobj - -10157 0 obj -[1261 0 R/XYZ 0 15259 1] -endobj - -10158 0 obj -<> -endobj - -10159 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -10160 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -10161 0 obj -[905 0 R/XYZ 0 15259 1] -endobj - -10162 0 obj -[906 0 R/XYZ 0 15259 1] -endobj - -10163 0 obj -[911 0 R/XYZ 0 15259 1] -endobj - -10164 0 obj -[913 0 R/XYZ 0 15259 1] -endobj - -10165 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -10166 0 obj -[892 0 R/XYZ 0 15259 1] -endobj - -10167 0 obj -[895 0 R/XYZ 0 15259 1] -endobj - -10168 0 obj -[910 0 R/XYZ 0 15259 1] -endobj - -10169 0 obj -[912 0 R/XYZ 0 15259 1] -endobj - -10170 0 obj -[913 0 R/XYZ 0 15259 1] -endobj - -10171 0 obj -[922 0 R/XYZ 0 15259 1] -endobj - -10172 0 obj -[927 0 R/XYZ 0 15259 1] -endobj - -10173 0 obj -[1040 0 R/XYZ 0 15259 1] -endobj - -10174 0 obj -[1042 0 R/XYZ 0 15259 1] -endobj - -10175 0 obj -[1073 0 R/XYZ 0 15259 1] -endobj - -10176 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -10177 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -10178 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10179 0 obj -[900 0 R/XYZ 0 15259 1] -endobj - -10180 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -10181 0 obj -[1139 0 R/XYZ 0 15259 1] -endobj - -10182 0 obj -[1142 0 R/XYZ 0 15259 1] -endobj - -10183 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10184 0 obj -[746 0 R/XYZ 0 15259 1] -endobj - -10185 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -10186 0 obj -[851 0 R/XYZ 0 15259 1] -endobj - -10187 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10188 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10189 0 obj -[877 0 R/XYZ 0 15259 1] -endobj - -10190 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -10191 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -10192 0 obj -[919 0 R/XYZ 0 15259 1] -endobj - -10193 0 obj -[920 0 R/XYZ 0 15259 1] -endobj - -10194 0 obj -[922 0 R/XYZ 0 15259 1] -endobj - -10195 0 obj -[923 0 R/XYZ 0 15259 1] -endobj - -10196 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -10197 0 obj -[1065 0 R/XYZ 0 15259 1] -endobj - -10198 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -10199 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -10200 0 obj -[1395 0 R/XYZ 0 15259 1] -endobj - -10201 0 obj -[1623 0 R/XYZ 0 15259 1] -endobj - -10202 0 obj -[1639 0 R/XYZ 0 15259 1] -endobj - -10203 0 obj -[873 0 R/XYZ 0 15259 1] -endobj - -10204 0 obj -[877 0 R/XYZ 0 15259 1] -endobj - -10205 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10206 0 obj -[873 0 R/XYZ 0 15259 1] -endobj - -10207 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -10208 0 obj -[830 0 R/XYZ 0 15259 1] -endobj - -10209 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -10210 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10211 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -10212 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -10213 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -10214 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10215 0 obj -[889 0 R/XYZ 0 15259 1] -endobj - -10216 0 obj -[890 0 R/XYZ 0 15259 1] -endobj - -10217 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -10218 0 obj -[927 0 R/XYZ 0 15259 1] -endobj - -10219 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -10220 0 obj -[889 0 R/XYZ 0 15259 1] -endobj - -10221 0 obj -[890 0 R/XYZ 0 15259 1] -endobj - -10222 0 obj -[860 0 R/XYZ 0 15259 1] -endobj - -10223 0 obj -[874 0 R/XYZ 0 15259 1] -endobj - -10224 0 obj -[898 0 R/XYZ 0 15259 1] -endobj - -10225 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -10226 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -10227 0 obj -[933 0 R/XYZ 0 15259 1] -endobj - -10228 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -10229 0 obj -[1072 0 R/XYZ 0 15259 1] -endobj - -10230 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10231 0 obj -[889 0 R/XYZ 0 15259 1] -endobj - -10232 0 obj -[895 0 R/XYZ 0 15259 1] -endobj - -10233 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -10234 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -10235 0 obj -[910 0 R/XYZ 0 15259 1] -endobj - -10236 0 obj -[912 0 R/XYZ 0 15259 1] -endobj - -10237 0 obj -[913 0 R/XYZ 0 15259 1] -endobj - -10238 0 obj -[921 0 R/XYZ 0 15259 1] -endobj - -10239 0 obj -[922 0 R/XYZ 0 15259 1] -endobj - -10240 0 obj -[927 0 R/XYZ 0 15259 1] -endobj - -10241 0 obj -[933 0 R/XYZ 0 15259 1] -endobj - -10242 0 obj -[1042 0 R/XYZ 0 15259 1] -endobj - -10243 0 obj -[1060 0 R/XYZ 0 15259 1] -endobj - -10244 0 obj -[1072 0 R/XYZ 0 15259 1] -endobj - -10245 0 obj -[1074 0 R/XYZ 0 15259 1] -endobj - -10246 0 obj -[1261 0 R/XYZ 0 15259 1] -endobj - -10247 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -10248 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -10249 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -10250 0 obj -[889 0 R/XYZ 0 15259 1] -endobj - -10251 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10252 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -10253 0 obj -[403 0 R/XYZ 0 15259 1] -endobj - -10254 0 obj -[861 0 R/XYZ 0 15259 1] -endobj - -10255 0 obj -[875 0 R/XYZ 0 15259 1] -endobj - -10256 0 obj -[884 0 R/XYZ 0 15259 1] -endobj - -10257 0 obj -[887 0 R/XYZ 0 15259 1] -endobj - -10258 0 obj -[895 0 R/XYZ 0 15259 1] -endobj - -10259 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -10260 0 obj -[905 0 R/XYZ 0 15259 1] -endobj - -10261 0 obj -[910 0 R/XYZ 0 15259 1] -endobj - -10262 0 obj -[911 0 R/XYZ 0 15259 1] -endobj - -10263 0 obj -[913 0 R/XYZ 0 15259 1] -endobj - -10264 0 obj -[920 0 R/XYZ 0 15259 1] -endobj - -10265 0 obj -[1168 0 R/XYZ 0 15259 1] -endobj - -10266 0 obj -[1374 0 R/XYZ 0 15259 1] -endobj - -10267 0 obj -[1377 0 R/XYZ 0 15259 1] -endobj - -10268 0 obj -[1408 0 R/XYZ 0 15259 1] -endobj - -10269 0 obj -[1121 0 R/XYZ 0 15259 1] -endobj - -10270 0 obj -[1127 0 R/XYZ 0 15259 1] -endobj - -10271 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10272 0 obj -[889 0 R/XYZ 0 15259 1] -endobj - -10273 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -10274 0 obj -[1073 0 R/XYZ 0 15259 1] -endobj - -10275 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -10276 0 obj -[889 0 R/XYZ 0 15259 1] -endobj - -10277 0 obj -[402 0 R/XYZ 0 15259 1] -endobj - -10278 0 obj -[748 0 R/XYZ 0 15259 1] -endobj - -10279 0 obj -[749 0 R/XYZ 0 15259 1] -endobj - -10280 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10281 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -10282 0 obj -[900 0 R/XYZ 0 15259 1] -endobj - -10283 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -10284 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10285 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -10286 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -10287 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -10288 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -10289 0 obj -[839 0 R/XYZ 0 15259 1] -endobj - -10290 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -10291 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10292 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -10293 0 obj -[1061 0 R/XYZ 0 15259 1] -endobj - -10294 0 obj -[1071 0 R/XYZ 0 15259 1] -endobj - -10295 0 obj -[1076 0 R/XYZ 0 15259 1] -endobj - -10296 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -10297 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -10298 0 obj -[1524 0 R/XYZ 0 15259 1] -endobj - -10299 0 obj -[1538 0 R/XYZ 0 15259 1] -endobj - -10300 0 obj -[860 0 R/XYZ 0 15259 1] -endobj - -10301 0 obj -[874 0 R/XYZ 0 15259 1] -endobj - -10302 0 obj -[898 0 R/XYZ 0 15259 1] -endobj - -10303 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -10304 0 obj -[921 0 R/XYZ 0 15259 1] -endobj - -10305 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -10306 0 obj -[1060 0 R/XYZ 0 15259 1] -endobj - -10307 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -10308 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10309 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -10310 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -10311 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -10312 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -10313 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10314 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -10315 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -10316 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -10317 0 obj -[753 0 R/XYZ 0 15259 1] -endobj - -10318 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -10319 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -10320 0 obj -[900 0 R/XYZ 0 15259 1] -endobj - -10321 0 obj -[930 0 R/XYZ 0 15259 1] -endobj - -10322 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -10323 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -10324 0 obj -[1121 0 R/XYZ 0 15259 1] -endobj - -10325 0 obj -[402 0 R/XYZ 0 15259 1] -endobj - -10326 0 obj -[403 0 R/XYZ 0 15259 1] -endobj - -10327 0 obj -[829 0 R/XYZ 0 15259 1] -endobj - -10328 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -10329 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10330 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -10331 0 obj -[856 0 R/XYZ 0 15259 1] -endobj - -10332 0 obj -[884 0 R/XYZ 0 15259 1] -endobj - -10333 0 obj -[885 0 R/XYZ 0 15259 1] -endobj - -10334 0 obj -[894 0 R/XYZ 0 15259 1] -endobj - -10335 0 obj -[909 0 R/XYZ 0 15259 1] -endobj - -10336 0 obj -[911 0 R/XYZ 0 15259 1] -endobj - -10337 0 obj -[914 0 R/XYZ 0 15259 1] -endobj - -10338 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -10339 0 obj -[919 0 R/XYZ 0 15259 1] -endobj - -10340 0 obj -[922 0 R/XYZ 0 15259 1] -endobj - -10341 0 obj -[924 0 R/XYZ 0 15259 1] -endobj - -10342 0 obj -[1041 0 R/XYZ 0 15259 1] -endobj - -10343 0 obj -[1044 0 R/XYZ 0 15259 1] -endobj - -10344 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -10345 0 obj -[1336 0 R/XYZ 0 15259 1] -endobj - -10346 0 obj -[1338 0 R/XYZ 0 15259 1] -endobj - -10347 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -10348 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -10349 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -10350 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -10351 0 obj -[1366 0 R/XYZ 0 15259 1] -endobj - -10352 0 obj -[1374 0 R/XYZ 0 15259 1] -endobj - -10353 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -10354 0 obj -[1632 0 R/XYZ 0 15259 1] -endobj - -10355 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -10356 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10357 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -10358 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -10359 0 obj -[1115 0 R/XYZ 0 15259 1] -endobj - -10360 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -10361 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -10362 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10363 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -10364 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -10365 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10366 0 obj -[889 0 R/XYZ 0 15259 1] -endobj - -10367 0 obj -[890 0 R/XYZ 0 15259 1] -endobj - -10368 0 obj -[894 0 R/XYZ 0 15259 1] -endobj - -10369 0 obj -[895 0 R/XYZ 0 15259 1] -endobj - -10370 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -10371 0 obj -[889 0 R/XYZ 0 15259 1] -endobj - -10372 0 obj -[890 0 R/XYZ 0 15259 1] -endobj - -10373 0 obj -[905 0 R/XYZ 0 15259 1] -endobj - -10374 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10375 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10376 0 obj -[788 0 R/XYZ 0 15259 1] -endobj - -10377 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -10378 0 obj -[851 0 R/XYZ 0 15259 1] -endobj - -10379 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10380 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -10381 0 obj -[857 0 R/XYZ 0 15259 1] -endobj - -10382 0 obj -[860 0 R/XYZ 0 15259 1] -endobj - -10383 0 obj -[892 0 R/XYZ 0 15259 1] -endobj - -10384 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -10385 0 obj -[1410 0 R/XYZ 0 15259 1] -endobj - -10386 0 obj -[718 0 R/XYZ 0 15259 1] -endobj - -10387 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10388 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -10389 0 obj -[907 0 R/XYZ 0 15259 1] -endobj - -10390 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -10391 0 obj -[905 0 R/XYZ 0 15259 1] -endobj - -10392 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10393 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10394 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -10395 0 obj -[857 0 R/XYZ 0 15259 1] -endobj - -10396 0 obj -[402 0 R/XYZ 0 15259 1] -endobj - -10397 0 obj -[403 0 R/XYZ 0 15259 1] -endobj - -10398 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -10399 0 obj -[839 0 R/XYZ 0 15259 1] -endobj - -10400 0 obj -[860 0 R/XYZ 0 15259 1] -endobj - -10401 0 obj -[864 0 R/XYZ 0 15259 1] -endobj - -10402 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -10403 0 obj -[877 0 R/XYZ 0 15259 1] -endobj - -10404 0 obj -[883 0 R/XYZ 0 15259 1] -endobj - -10405 0 obj -[887 0 R/XYZ 0 15259 1] -endobj - -10406 0 obj -[895 0 R/XYZ 0 15259 1] -endobj - -10407 0 obj -[897 0 R/XYZ 0 15259 1] -endobj - -10408 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -10409 0 obj -[905 0 R/XYZ 0 15259 1] -endobj - -10410 0 obj -[910 0 R/XYZ 0 15259 1] -endobj - -10411 0 obj -[911 0 R/XYZ 0 15259 1] -endobj - -10412 0 obj -[913 0 R/XYZ 0 15259 1] -endobj - -10413 0 obj -[920 0 R/XYZ 0 15259 1] -endobj - -10414 0 obj -[933 0 R/XYZ 0 15259 1] -endobj - -10415 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -10416 0 obj -[1168 0 R/XYZ 0 15259 1] -endobj - -10417 0 obj -[1374 0 R/XYZ 0 15259 1] -endobj - -10418 0 obj -[1377 0 R/XYZ 0 15259 1] -endobj - -10419 0 obj -[1639 0 R/XYZ 0 15259 1] -endobj - -10420 0 obj -[860 0 R/XYZ 0 15259 1] -endobj - -10421 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -10422 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -10423 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -10424 0 obj -[889 0 R/XYZ 0 15259 1] -endobj - -10425 0 obj -[890 0 R/XYZ 0 15259 1] -endobj - -10426 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -10427 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -10428 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -10429 0 obj -[748 0 R/XYZ 0 15259 1] -endobj - -10430 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -10431 0 obj -[861 0 R/XYZ 0 15259 1] -endobj - -10432 0 obj -[889 0 R/XYZ 0 15259 1] -endobj - -10433 0 obj -[890 0 R/XYZ 0 15259 1] -endobj - -10434 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -10435 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -10436 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -10437 0 obj -[914 0 R/XYZ 0 15259 1] -endobj - -10438 0 obj -[939 0 R/XYZ 0 15259 1] -endobj - -10439 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -10440 0 obj -[1408 0 R/XYZ 0 15259 1] -endobj - -10441 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -10442 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -10443 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -10444 0 obj -[402 0 R/XYZ 0 15259 1] -endobj - -10445 0 obj -[403 0 R/XYZ 0 15259 1] -endobj - -10446 0 obj -[849 0 R/XYZ 0 15259 1] -endobj - -10447 0 obj -[939 0 R/XYZ 0 15259 1] -endobj - -10448 0 obj -[877 0 R/XYZ 0 15259 1] -endobj - -10449 0 obj -[877 0 R/XYZ 0 15259 1] -endobj - -10450 0 obj -[877 0 R/XYZ 0 15259 1] -endobj - -10451 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -10452 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -10453 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -10454 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -10455 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -10456 0 obj -[877 0 R/XYZ 0 15259 1] -endobj - -10457 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -10458 0 obj -[897 0 R/XYZ 0 15259 1] -endobj - -10459 0 obj -[930 0 R/XYZ 0 15259 1] -endobj - -10460 0 obj -[877 0 R/XYZ 0 15259 1] -endobj - -10461 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -10462 0 obj -[864 0 R/XYZ 0 15259 1] -endobj - -10463 0 obj -[866 0 R/XYZ 0 15259 1] -endobj - -10464 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -10465 0 obj -[1524 0 R/XYZ 0 15259 1] -endobj - -10466 0 obj -[1524 0 R/XYZ 0 15259 1] -endobj - -10467 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10468 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10469 0 obj -[877 0 R/XYZ 0 15259 1] -endobj - -10470 0 obj -[894 0 R/XYZ 0 15259 1] -endobj - -10471 0 obj -[897 0 R/XYZ 0 15259 1] -endobj - -10472 0 obj -[894 0 R/XYZ 0 15259 1] -endobj - -10473 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -10474 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10475 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -10476 0 obj -[1153 0 R/XYZ 0 15259 1] -endobj - -10477 0 obj -[1168 0 R/XYZ 0 15259 1] -endobj - -10478 0 obj -[1169 0 R/XYZ 0 15259 1] -endobj - -10479 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -10480 0 obj -[1177 0 R/XYZ 0 15259 1] -endobj - -10481 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -10482 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -10483 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -10484 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -10485 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10486 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -10487 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -10488 0 obj -[1115 0 R/XYZ 0 15259 1] -endobj - -10489 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -10490 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10491 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -10492 0 obj -[884 0 R/XYZ 0 15259 1] -endobj - -10493 0 obj -[889 0 R/XYZ 0 15259 1] -endobj - -10494 0 obj -[892 0 R/XYZ 0 15259 1] -endobj - -10495 0 obj -[897 0 R/XYZ 0 15259 1] -endobj - -10496 0 obj -[910 0 R/XYZ 0 15259 1] -endobj - -10497 0 obj -[912 0 R/XYZ 0 15259 1] -endobj - -10498 0 obj -[914 0 R/XYZ 0 15259 1] -endobj - -10499 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -10500 0 obj -[922 0 R/XYZ 0 15259 1] -endobj - -10501 0 obj -[927 0 R/XYZ 0 15259 1] -endobj - -10502 0 obj -[933 0 R/XYZ 0 15259 1] -endobj - -10503 0 obj -[1039 0 R/XYZ 0 15259 1] -endobj - -10504 0 obj -[1040 0 R/XYZ 0 15259 1] -endobj - -10505 0 obj -[1042 0 R/XYZ 0 15259 1] -endobj - -10506 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -10507 0 obj -[892 0 R/XYZ 0 15259 1] -endobj - -10508 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10509 0 obj -[856 0 R/XYZ 0 15259 1] -endobj - -10510 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10511 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -10512 0 obj -[856 0 R/XYZ 0 15259 1] -endobj - -10513 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -10514 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10515 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -10516 0 obj -[930 0 R/XYZ 0 15259 1] -endobj - -10517 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -10518 0 obj -[930 0 R/XYZ 0 15259 1] -endobj - -10519 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -10520 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -10521 0 obj -[930 0 R/XYZ 0 15259 1] -endobj - -10522 0 obj -[829 0 R/XYZ 0 15259 1] -endobj - -10523 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10524 0 obj -[856 0 R/XYZ 0 15259 1] -endobj - -10525 0 obj -[894 0 R/XYZ 0 15259 1] -endobj - -10526 0 obj -[897 0 R/XYZ 0 15259 1] -endobj - -10527 0 obj -[911 0 R/XYZ 0 15259 1] -endobj - -10528 0 obj -[912 0 R/XYZ 0 15259 1] -endobj - -10529 0 obj -[919 0 R/XYZ 0 15259 1] -endobj - -10530 0 obj -[922 0 R/XYZ 0 15259 1] -endobj - -10531 0 obj -[924 0 R/XYZ 0 15259 1] -endobj - -10532 0 obj -[1042 0 R/XYZ 0 15259 1] -endobj - -10533 0 obj -[1044 0 R/XYZ 0 15259 1] -endobj - -10534 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -10535 0 obj -[1338 0 R/XYZ 0 15259 1] -endobj - -10536 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -10537 0 obj -[1366 0 R/XYZ 0 15259 1] -endobj - -10538 0 obj -[1374 0 R/XYZ 0 15259 1] -endobj - -10539 0 obj -[930 0 R/XYZ 0 15259 1] -endobj - -10540 0 obj -[930 0 R/XYZ 0 15259 1] -endobj - -10541 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -10542 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10543 0 obj -[856 0 R/XYZ 0 15259 1] -endobj - -10544 0 obj -[873 0 R/XYZ 0 15259 1] -endobj - -10545 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -10546 0 obj -[900 0 R/XYZ 0 15259 1] -endobj - -10547 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -10548 0 obj -[956 0 R/XYZ 0 15259 1] -endobj - -10549 0 obj -[1139 0 R/XYZ 0 15259 1] -endobj - -10550 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10551 0 obj -[874 0 R/XYZ 0 15259 1] -endobj - -10552 0 obj -[718 0 R/XYZ 0 15259 1] -endobj - -10553 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10554 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -10555 0 obj -[907 0 R/XYZ 0 15259 1] -endobj - -10556 0 obj -[905 0 R/XYZ 0 15259 1] -endobj - -10557 0 obj -[892 0 R/XYZ 0 15259 1] -endobj - -10558 0 obj -[895 0 R/XYZ 0 15259 1] -endobj - -10559 0 obj -[897 0 R/XYZ 0 15259 1] -endobj - -10560 0 obj -[910 0 R/XYZ 0 15259 1] -endobj - -10561 0 obj -[912 0 R/XYZ 0 15259 1] -endobj - -10562 0 obj -[914 0 R/XYZ 0 15259 1] -endobj - -10563 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -10564 0 obj -[922 0 R/XYZ 0 15259 1] -endobj - -10565 0 obj -[927 0 R/XYZ 0 15259 1] -endobj - -10566 0 obj -[1040 0 R/XYZ 0 15259 1] -endobj - -10567 0 obj -[1042 0 R/XYZ 0 15259 1] -endobj - -10568 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -10569 0 obj -<> -endobj - -10570 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -10571 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -10572 0 obj -[889 0 R/XYZ 0 15259 1] -endobj - -10573 0 obj -[894 0 R/XYZ 0 15259 1] -endobj - -10574 0 obj -[895 0 R/XYZ 0 15259 1] -endobj - -10575 0 obj -[910 0 R/XYZ 0 15259 1] -endobj - -10576 0 obj -[911 0 R/XYZ 0 15259 1] -endobj - -10577 0 obj -[913 0 R/XYZ 0 15259 1] -endobj - -10578 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -10579 0 obj -[921 0 R/XYZ 0 15259 1] -endobj - -10580 0 obj -[927 0 R/XYZ 0 15259 1] -endobj - -10581 0 obj -[933 0 R/XYZ 0 15259 1] -endobj - -10582 0 obj -[1040 0 R/XYZ 0 15259 1] -endobj - -10583 0 obj -[1042 0 R/XYZ 0 15259 1] -endobj - -10584 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -10585 0 obj -[1507 0 R/XYZ 0 15259 1] -endobj - -10586 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10587 0 obj -[856 0 R/XYZ 0 15259 1] -endobj - -10588 0 obj -[851 0 R/XYZ 0 15259 1] -endobj - -10589 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10590 0 obj -[856 0 R/XYZ 0 15259 1] -endobj - -10591 0 obj -[860 0 R/XYZ 0 15259 1] -endobj - -10592 0 obj -[892 0 R/XYZ 0 15259 1] -endobj - -10593 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -10594 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -10595 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10596 0 obj -[884 0 R/XYZ 0 15259 1] -endobj - -10597 0 obj -[909 0 R/XYZ 0 15259 1] -endobj - -10598 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -10599 0 obj -[927 0 R/XYZ 0 15259 1] -endobj - -10600 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -10601 0 obj -[909 0 R/XYZ 0 15259 1] -endobj - -10602 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10603 0 obj -[856 0 R/XYZ 0 15259 1] -endobj - -10604 0 obj -[851 0 R/XYZ 0 15259 1] -endobj - -10605 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10606 0 obj -[857 0 R/XYZ 0 15259 1] -endobj - -10607 0 obj -[862 0 R/XYZ 0 15259 1] -endobj - -10608 0 obj -[1072 0 R/XYZ 0 15259 1] -endobj - -10609 0 obj -[1076 0 R/XYZ 0 15259 1] -endobj - -10610 0 obj -[1374 0 R/XYZ 0 15259 1] -endobj - -10611 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -10612 0 obj -[1408 0 R/XYZ 0 15259 1] -endobj - -10613 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -10614 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -10615 0 obj -[1524 0 R/XYZ 0 15259 1] -endobj - -10616 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -10617 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10618 0 obj -[857 0 R/XYZ 0 15259 1] -endobj - -10619 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -10620 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -10621 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10622 0 obj -[857 0 R/XYZ 0 15259 1] -endobj - -10623 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -10624 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -10625 0 obj -[829 0 R/XYZ 0 15259 1] -endobj - -10626 0 obj -[839 0 R/XYZ 0 15259 1] -endobj - -10627 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10628 0 obj -[856 0 R/XYZ 0 15259 1] -endobj - -10629 0 obj -[857 0 R/XYZ 0 15259 1] -endobj - -10630 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -10631 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -10632 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -10633 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -10634 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -10635 0 obj -[1410 0 R/XYZ 0 15259 1] -endobj - -10636 0 obj -[829 0 R/XYZ 0 15259 1] -endobj - -10637 0 obj -[830 0 R/XYZ 0 15259 1] -endobj - -10638 0 obj -[834 0 R/XYZ 0 15259 1] -endobj - -10639 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -10640 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10641 0 obj -[857 0 R/XYZ 0 15259 1] -endobj - -10642 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -10643 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -10644 0 obj -[830 0 R/XYZ 0 15259 1] -endobj - -10645 0 obj -[831 0 R/XYZ 0 15259 1] -endobj - -10646 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10647 0 obj -[857 0 R/XYZ 0 15259 1] -endobj - -10648 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -10649 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -10650 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -10651 0 obj -[892 0 R/XYZ 0 15259 1] -endobj - -10652 0 obj -[897 0 R/XYZ 0 15259 1] -endobj - -10653 0 obj -[933 0 R/XYZ 0 15259 1] -endobj - -10654 0 obj -[1040 0 R/XYZ 0 15259 1] -endobj - -10655 0 obj -[512 0 R/XYZ 0 15259 1] -endobj - -10656 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -10657 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10658 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -10659 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -10660 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -10661 0 obj -[1120 0 R/XYZ 0 15259 1] -endobj - -10662 0 obj -[1268 0 R/XYZ 0 15259 1] -endobj - -10663 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10664 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -10665 0 obj -[861 0 R/XYZ 0 15259 1] -endobj - -10666 0 obj -[894 0 R/XYZ 0 15259 1] -endobj - -10667 0 obj -[905 0 R/XYZ 0 15259 1] -endobj - -10668 0 obj -[907 0 R/XYZ 0 15259 1] -endobj - -10669 0 obj -[910 0 R/XYZ 0 15259 1] -endobj - -10670 0 obj -[911 0 R/XYZ 0 15259 1] -endobj - -10671 0 obj -[913 0 R/XYZ 0 15259 1] -endobj - -10672 0 obj -[914 0 R/XYZ 0 15259 1] -endobj - -10673 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -10674 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10675 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -10676 0 obj -[861 0 R/XYZ 0 15259 1] -endobj - -10677 0 obj -[913 0 R/XYZ 0 15259 1] -endobj - -10678 0 obj -[914 0 R/XYZ 0 15259 1] -endobj - -10679 0 obj -[900 0 R/XYZ 0 15259 1] -endobj - -10680 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10681 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -10682 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -10683 0 obj -[1040 0 R/XYZ 0 15259 1] -endobj - -10684 0 obj -[1041 0 R/XYZ 0 15259 1] -endobj - -10685 0 obj -[1044 0 R/XYZ 0 15259 1] -endobj - -10686 0 obj -[1071 0 R/XYZ 0 15259 1] -endobj - -10687 0 obj -[1073 0 R/XYZ 0 15259 1] -endobj - -10688 0 obj -[1524 0 R/XYZ 0 15259 1] -endobj - -10689 0 obj -[1040 0 R/XYZ 0 15259 1] -endobj - -10690 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -10691 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10692 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -10693 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -10694 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10695 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -10696 0 obj -[1376 0 R/XYZ 0 15259 1] -endobj - -10697 0 obj -[1379 0 R/XYZ 0 15259 1] -endobj - -10698 0 obj -[1389 0 R/XYZ 0 15259 1] -endobj - -10699 0 obj -[1390 0 R/XYZ 0 15259 1] -endobj - -10700 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -10701 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -10702 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -10703 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10704 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -10705 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -10706 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10707 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -10708 0 obj -[939 0 R/XYZ 0 15259 1] -endobj - -10709 0 obj -[1625 0 R/XYZ 0 15259 1] -endobj - -10710 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -10711 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -10712 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -10713 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -10714 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -10715 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -10716 0 obj -[1068 0 R/XYZ 0 15259 1] -endobj - -10717 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -10718 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -10719 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -10720 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -10721 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -10722 0 obj -[545 0 R/XYZ 0 15259 1] -endobj - -10723 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -10724 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -10725 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -10726 0 obj -[1068 0 R/XYZ 0 15259 1] -endobj - -10727 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -10728 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -10729 0 obj -[545 0 R/XYZ 0 15259 1] -endobj - -10730 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -10731 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -10732 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -10733 0 obj -[1068 0 R/XYZ 0 15259 1] -endobj - -10734 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -10735 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -10736 0 obj -[545 0 R/XYZ 0 15259 1] -endobj - -10737 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -10738 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -10739 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -10740 0 obj -[642 0 R/XYZ 0 15259 1] -endobj - -10741 0 obj -[1068 0 R/XYZ 0 15259 1] -endobj - -10742 0 obj -[1512 0 R/XYZ 0 15259 1] -endobj - -10743 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -10744 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -10745 0 obj -[1288 0 R/XYZ 0 15259 1] -endobj - -10746 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -10747 0 obj -[1288 0 R/XYZ 0 15259 1] -endobj - -10748 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -10749 0 obj -[1212 0 R/XYZ 0 15259 1] -endobj - -10750 0 obj -[1288 0 R/XYZ 0 15259 1] -endobj - -10751 0 obj -[532 0 R/XYZ 0 15259 1] -endobj - -10752 0 obj -[533 0 R/XYZ 0 15259 1] -endobj - -10753 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -10754 0 obj -[532 0 R/XYZ 0 15259 1] -endobj - -10755 0 obj -[533 0 R/XYZ 0 15259 1] -endobj - -10756 0 obj -[596 0 R/XYZ 0 15259 1] -endobj - -10757 0 obj -[1361 0 R/XYZ 0 15259 1] -endobj - -10758 0 obj -[532 0 R/XYZ 0 15259 1] -endobj - -10759 0 obj -[533 0 R/XYZ 0 15259 1] -endobj - -10760 0 obj -[588 0 R/XYZ 0 15259 1] -endobj - -10761 0 obj -[1361 0 R/XYZ 0 15259 1] -endobj - -10762 0 obj -[532 0 R/XYZ 0 15259 1] -endobj - -10763 0 obj -[533 0 R/XYZ 0 15259 1] -endobj - -10764 0 obj -[1151 0 R/XYZ 0 15259 1] -endobj - -10765 0 obj -[1171 0 R/XYZ 0 15259 1] -endobj - -10766 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -10767 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -10768 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -10769 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -10770 0 obj -[532 0 R/XYZ 0 15259 1] -endobj - -10771 0 obj -[533 0 R/XYZ 0 15259 1] -endobj - -10772 0 obj -[532 0 R/XYZ 0 15259 1] -endobj - -10773 0 obj -[1502 0 R/XYZ 0 15259 1] -endobj - -10774 0 obj -[532 0 R/XYZ 0 15259 1] -endobj - -10775 0 obj -[533 0 R/XYZ 0 15259 1] -endobj - -10776 0 obj -[1288 0 R/XYZ 0 15259 1] -endobj - -10777 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -10778 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -10779 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -10780 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -10781 0 obj -[553 0 R/XYZ 0 15259 1] -endobj - -10782 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -10783 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -10784 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -10785 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -10786 0 obj -[545 0 R/XYZ 0 15259 1] -endobj - -10787 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -10788 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -10789 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -10790 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -10791 0 obj -[545 0 R/XYZ 0 15259 1] -endobj - -10792 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -10793 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -10794 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -10795 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -10796 0 obj -[545 0 R/XYZ 0 15259 1] -endobj - -10797 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -10798 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -10799 0 obj -[614 0 R/XYZ 0 15259 1] -endobj - -10800 0 obj -[642 0 R/XYZ 0 15259 1] -endobj - -10801 0 obj -[1068 0 R/XYZ 0 15259 1] -endobj - -10802 0 obj -[1512 0 R/XYZ 0 15259 1] -endobj - -10803 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -10804 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -10805 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -10806 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -10807 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -10808 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -10809 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -10810 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -10811 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -10812 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -10813 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -10814 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -10815 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -10816 0 obj -[642 0 R/XYZ 0 15259 1] -endobj - -10817 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -10818 0 obj -[556 0 R/XYZ 0 15259 1] -endobj - -10819 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -10820 0 obj -[702 0 R/XYZ 0 15259 1] -endobj - -10821 0 obj -[704 0 R/XYZ 0 15259 1] -endobj - -10822 0 obj -[727 0 R/XYZ 0 15259 1] -endobj - -10823 0 obj -[736 0 R/XYZ 0 15259 1] -endobj - -10824 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -10825 0 obj -[474 0 R/XYZ 0 15259 1] -endobj - -10826 0 obj -[493 0 R/XYZ 0 15259 1] -endobj - -10827 0 obj -[1112 0 R/XYZ 0 15259 1] -endobj - -10828 0 obj -[1458 0 R/XYZ 0 15259 1] -endobj - -10829 0 obj -[1606 0 R/XYZ 0 15259 1] -endobj - -10830 0 obj -[638 0 R/XYZ 0 15259 1] -endobj - -10831 0 obj -[735 0 R/XYZ 0 15259 1] -endobj - -10832 0 obj -[740 0 R/XYZ 0 15259 1] -endobj - -10833 0 obj -[751 0 R/XYZ 0 15259 1] -endobj - -10834 0 obj -[757 0 R/XYZ 0 15259 1] -endobj - -10835 0 obj -[788 0 R/XYZ 0 15259 1] -endobj - -10836 0 obj -[790 0 R/XYZ 0 15259 1] -endobj - -10837 0 obj -[839 0 R/XYZ 0 15259 1] -endobj - -10838 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10839 0 obj -[875 0 R/XYZ 0 15259 1] -endobj - -10840 0 obj -[883 0 R/XYZ 0 15259 1] -endobj - -10841 0 obj -[886 0 R/XYZ 0 15259 1] -endobj - -10842 0 obj -[895 0 R/XYZ 0 15259 1] -endobj - -10843 0 obj -[924 0 R/XYZ 0 15259 1] -endobj - -10844 0 obj -[928 0 R/XYZ 0 15259 1] -endobj - -10845 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -10846 0 obj -[939 0 R/XYZ 0 15259 1] -endobj - -10847 0 obj -[949 0 R/XYZ 0 15259 1] -endobj - -10848 0 obj -[954 0 R/XYZ 0 15259 1] -endobj - -10849 0 obj -[955 0 R/XYZ 0 15259 1] -endobj - -10850 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -10851 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -10852 0 obj -[1047 0 R/XYZ 0 15259 1] -endobj - -10853 0 obj -[1108 0 R/XYZ 0 15259 1] -endobj - -10854 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -10855 0 obj -[1245 0 R/XYZ 0 15259 1] -endobj - -10856 0 obj -[1246 0 R/XYZ 0 15259 1] -endobj - -10857 0 obj -[1623 0 R/XYZ 0 15259 1] -endobj - -10858 0 obj -[1625 0 R/XYZ 0 15259 1] -endobj - -10859 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -10860 0 obj -[1631 0 R/XYZ 0 15259 1] -endobj - -10861 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -10862 0 obj -[926 0 R/XYZ 0 15259 1] -endobj - -10863 0 obj -[927 0 R/XYZ 0 15259 1] -endobj - -10864 0 obj -[1629 0 R/XYZ 0 15259 1] -endobj - -10865 0 obj -[924 0 R/XYZ 0 15259 1] -endobj - -10866 0 obj -[1624 0 R/XYZ 0 15259 1] -endobj - -10867 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -10868 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -10869 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -10870 0 obj -[1634 0 R/XYZ 0 15259 1] -endobj - -10871 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -10872 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -10873 0 obj -[637 0 R/XYZ 0 15259 1] -endobj - -10874 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -10875 0 obj -[1600 0 R/XYZ 0 15259 1] -endobj - -10876 0 obj -[1603 0 R/XYZ 0 15259 1] -endobj - -10877 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -10878 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -10879 0 obj -[1231 0 R/XYZ 0 15259 1] -endobj - -10880 0 obj -[1234 0 R/XYZ 0 15259 1] -endobj - -10881 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -10882 0 obj -[1246 0 R/XYZ 0 15259 1] -endobj - -10883 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -10884 0 obj -[1262 0 R/XYZ 0 15259 1] -endobj - -10885 0 obj -[1266 0 R/XYZ 0 15259 1] -endobj - -10886 0 obj -[1284 0 R/XYZ 0 15259 1] -endobj - -10887 0 obj -[1286 0 R/XYZ 0 15259 1] -endobj - -10888 0 obj -[1288 0 R/XYZ 0 15259 1] -endobj - -10889 0 obj -[1290 0 R/XYZ 0 15259 1] -endobj - -10890 0 obj -[1494 0 R/XYZ 0 15259 1] -endobj - -10891 0 obj -[1231 0 R/XYZ 0 15259 1] -endobj - -10892 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -10893 0 obj -[1240 0 R/XYZ 0 15259 1] -endobj - -10894 0 obj -[1231 0 R/XYZ 0 15259 1] -endobj - -10895 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -10896 0 obj -[1282 0 R/XYZ 0 15259 1] -endobj - -10897 0 obj -[1287 0 R/XYZ 0 15259 1] -endobj - -10898 0 obj -[1289 0 R/XYZ 0 15259 1] -endobj - -10899 0 obj -[1292 0 R/XYZ 0 15259 1] -endobj - -10900 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10901 0 obj -[1268 0 R/XYZ 0 15259 1] -endobj - -10902 0 obj -[1268 0 R/XYZ 0 15259 1] -endobj - -10903 0 obj -[1223 0 R/XYZ 0 15259 1] -endobj - -10904 0 obj -[1224 0 R/XYZ 0 15259 1] -endobj - -10905 0 obj -[1239 0 R/XYZ 0 15259 1] -endobj - -10906 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -10907 0 obj -[1252 0 R/XYZ 0 15259 1] -endobj - -10908 0 obj -[1261 0 R/XYZ 0 15259 1] -endobj - -10909 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -10910 0 obj -[1279 0 R/XYZ 0 15259 1] -endobj - -10911 0 obj -[1641 0 R/XYZ 0 15259 1] -endobj - -10912 0 obj -[1228 0 R/XYZ 0 15259 1] -endobj - -10913 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -10914 0 obj -[1223 0 R/XYZ 0 15259 1] -endobj - -10915 0 obj -[1228 0 R/XYZ 0 15259 1] -endobj - -10916 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -10917 0 obj -[361 0 R/XYZ 0 15259 1] -endobj - -10918 0 obj -<> -endobj - -10919 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -10920 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -10921 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -10922 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -10923 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -10924 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -10925 0 obj -[1221 0 R/XYZ 0 15259 1] -endobj - -10926 0 obj -[1272 0 R/XYZ 0 15259 1] -endobj - -10927 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -10928 0 obj -[1266 0 R/XYZ 0 15259 1] -endobj - -10929 0 obj -[613 0 R/XYZ 0 15259 1] -endobj - -10930 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10931 0 obj -[1223 0 R/XYZ 0 15259 1] -endobj - -10932 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -10933 0 obj -[1246 0 R/XYZ 0 15259 1] -endobj - -10934 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -10935 0 obj -[1261 0 R/XYZ 0 15259 1] -endobj - -10936 0 obj -[1266 0 R/XYZ 0 15259 1] -endobj - -10937 0 obj -[1286 0 R/XYZ 0 15259 1] -endobj - -10938 0 obj -[1287 0 R/XYZ 0 15259 1] -endobj - -10939 0 obj -[1289 0 R/XYZ 0 15259 1] -endobj - -10940 0 obj -[1290 0 R/XYZ 0 15259 1] -endobj - -10941 0 obj -[1502 0 R/XYZ 0 15259 1] -endobj - -10942 0 obj -[1223 0 R/XYZ 0 15259 1] -endobj - -10943 0 obj -[613 0 R/XYZ 0 15259 1] -endobj - -10944 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -10945 0 obj -[1276 0 R/XYZ 0 15259 1] -endobj - -10946 0 obj -[1277 0 R/XYZ 0 15259 1] -endobj - -10947 0 obj -[1279 0 R/XYZ 0 15259 1] -endobj - -10948 0 obj -[1282 0 R/XYZ 0 15259 1] -endobj - -10949 0 obj -[1641 0 R/XYZ 0 15259 1] -endobj - -10950 0 obj -[1277 0 R/XYZ 0 15259 1] -endobj - -10951 0 obj -[1276 0 R/XYZ 0 15259 1] -endobj - -10952 0 obj -[1292 0 R/XYZ 0 15259 1] -endobj - -10953 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -10954 0 obj -[1245 0 R/XYZ 0 15259 1] -endobj - -10955 0 obj -[1246 0 R/XYZ 0 15259 1] -endobj - -10956 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -10957 0 obj -[1262 0 R/XYZ 0 15259 1] -endobj - -10958 0 obj -[1266 0 R/XYZ 0 15259 1] -endobj - -10959 0 obj -[1494 0 R/XYZ 0 15259 1] -endobj - -10960 0 obj -[1223 0 R/XYZ 0 15259 1] -endobj - -10961 0 obj -[1224 0 R/XYZ 0 15259 1] -endobj - -10962 0 obj -[1239 0 R/XYZ 0 15259 1] -endobj - -10963 0 obj -[1223 0 R/XYZ 0 15259 1] -endobj - -10964 0 obj -[1224 0 R/XYZ 0 15259 1] -endobj - -10965 0 obj -[1239 0 R/XYZ 0 15259 1] -endobj - -10966 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -10967 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -10968 0 obj -[1252 0 R/XYZ 0 15259 1] -endobj - -10969 0 obj -[1266 0 R/XYZ 0 15259 1] -endobj - -10970 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -10971 0 obj -[1223 0 R/XYZ 0 15259 1] -endobj - -10972 0 obj -[1224 0 R/XYZ 0 15259 1] -endobj - -10973 0 obj -[1239 0 R/XYZ 0 15259 1] -endobj - -10974 0 obj -[1244 0 R/XYZ 0 15259 1] -endobj - -10975 0 obj -[1248 0 R/XYZ 0 15259 1] -endobj - -10976 0 obj -[1252 0 R/XYZ 0 15259 1] -endobj - -10977 0 obj -[1254 0 R/XYZ 0 15259 1] -endobj - -10978 0 obj -[1256 0 R/XYZ 0 15259 1] -endobj - -10979 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -10980 0 obj -[1259 0 R/XYZ 0 15259 1] -endobj - -10981 0 obj -[1266 0 R/XYZ 0 15259 1] -endobj - -10982 0 obj -[1277 0 R/XYZ 0 15259 1] -endobj - -10983 0 obj -[1284 0 R/XYZ 0 15259 1] -endobj - -10984 0 obj -[1286 0 R/XYZ 0 15259 1] -endobj - -10985 0 obj -[1289 0 R/XYZ 0 15259 1] -endobj - -10986 0 obj -[1496 0 R/XYZ 0 15259 1] -endobj - -10987 0 obj -[1502 0 R/XYZ 0 15259 1] -endobj - -10988 0 obj -[1510 0 R/XYZ 0 15259 1] -endobj - -10989 0 obj -[381 0 R/XYZ 0 15259 1] -endobj - -10990 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -10991 0 obj -[418 0 R/XYZ 0 15259 1] -endobj - -10992 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -10993 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -10994 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -10995 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -10996 0 obj -[440 0 R/XYZ 0 15259 1] -endobj - -10997 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -10998 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -10999 0 obj -[456 0 R/XYZ 0 15259 1] -endobj - -11000 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -11001 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -11002 0 obj -[474 0 R/XYZ 0 15259 1] -endobj - -11003 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -11004 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -11005 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -11006 0 obj -[491 0 R/XYZ 0 15259 1] -endobj - -11007 0 obj -[501 0 R/XYZ 0 15259 1] -endobj - -11008 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -11009 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -11010 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -11011 0 obj -[560 0 R/XYZ 0 15259 1] -endobj - -11012 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -11013 0 obj -[572 0 R/XYZ 0 15259 1] -endobj - -11014 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -11015 0 obj -[586 0 R/XYZ 0 15259 1] -endobj - -11016 0 obj -[587 0 R/XYZ 0 15259 1] -endobj - -11017 0 obj -[595 0 R/XYZ 0 15259 1] -endobj - -11018 0 obj -[657 0 R/XYZ 0 15259 1] -endobj - -11019 0 obj -[663 0 R/XYZ 0 15259 1] -endobj - -11020 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -11021 0 obj -[674 0 R/XYZ 0 15259 1] -endobj - -11022 0 obj -[705 0 R/XYZ 0 15259 1] -endobj - -11023 0 obj -[706 0 R/XYZ 0 15259 1] -endobj - -11024 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -11025 0 obj -[710 0 R/XYZ 0 15259 1] -endobj - -11026 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -11027 0 obj -[726 0 R/XYZ 0 15259 1] -endobj - -11028 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -11029 0 obj -[748 0 R/XYZ 0 15259 1] -endobj - -11030 0 obj -[750 0 R/XYZ 0 15259 1] -endobj - -11031 0 obj -[753 0 R/XYZ 0 15259 1] -endobj - -11032 0 obj -[756 0 R/XYZ 0 15259 1] -endobj - -11033 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -11034 0 obj -[795 0 R/XYZ 0 15259 1] -endobj - -11035 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -11036 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -11037 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -11038 0 obj -[823 0 R/XYZ 0 15259 1] -endobj - -11039 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -11040 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -11041 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -11042 0 obj -[852 0 R/XYZ 0 15259 1] -endobj - -11043 0 obj -[860 0 R/XYZ 0 15259 1] -endobj - -11044 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -11045 0 obj -[875 0 R/XYZ 0 15259 1] -endobj - -11046 0 obj -[877 0 R/XYZ 0 15259 1] -endobj - -11047 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -11048 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -11049 0 obj -[923 0 R/XYZ 0 15259 1] -endobj - -11050 0 obj -[926 0 R/XYZ 0 15259 1] -endobj - -11051 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -11052 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -11053 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -11054 0 obj -[947 0 R/XYZ 0 15259 1] -endobj - -11055 0 obj -[951 0 R/XYZ 0 15259 1] -endobj - -11056 0 obj -[955 0 R/XYZ 0 15259 1] -endobj - -11057 0 obj -[959 0 R/XYZ 0 15259 1] -endobj - -11058 0 obj -[977 0 R/XYZ 0 15259 1] -endobj - -11059 0 obj -[1003 0 R/XYZ 0 15259 1] -endobj - -11060 0 obj -[1004 0 R/XYZ 0 15259 1] -endobj - -11061 0 obj -[1011 0 R/XYZ 0 15259 1] -endobj - -11062 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -11063 0 obj -[1065 0 R/XYZ 0 15259 1] -endobj - -11064 0 obj -[1087 0 R/XYZ 0 15259 1] -endobj - -11065 0 obj -[1098 0 R/XYZ 0 15259 1] -endobj - -11066 0 obj -[1099 0 R/XYZ 0 15259 1] -endobj - -11067 0 obj -[1101 0 R/XYZ 0 15259 1] -endobj - -11068 0 obj -[1107 0 R/XYZ 0 15259 1] -endobj - -11069 0 obj -[1142 0 R/XYZ 0 15259 1] -endobj - -11070 0 obj -[1144 0 R/XYZ 0 15259 1] -endobj - -11071 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -11072 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -11073 0 obj -[1186 0 R/XYZ 0 15259 1] -endobj - -11074 0 obj -[1188 0 R/XYZ 0 15259 1] -endobj - -11075 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -11076 0 obj -[1193 0 R/XYZ 0 15259 1] -endobj - -11077 0 obj -[1199 0 R/XYZ 0 15259 1] -endobj - -11078 0 obj -[1200 0 R/XYZ 0 15259 1] -endobj - -11079 0 obj -[1203 0 R/XYZ 0 15259 1] -endobj - -11080 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -11081 0 obj -[1229 0 R/XYZ 0 15259 1] -endobj - -11082 0 obj -[1246 0 R/XYZ 0 15259 1] -endobj - -11083 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -11084 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -11085 0 obj -[1253 0 R/XYZ 0 15259 1] -endobj - -11086 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -11087 0 obj -[1282 0 R/XYZ 0 15259 1] -endobj - -11088 0 obj -[1298 0 R/XYZ 0 15259 1] -endobj - -11089 0 obj -[1331 0 R/XYZ 0 15259 1] -endobj - -11090 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -11091 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -11092 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -11093 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -11094 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -11095 0 obj -[1369 0 R/XYZ 0 15259 1] -endobj - -11096 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -11097 0 obj -[1388 0 R/XYZ 0 15259 1] -endobj - -11098 0 obj -[1395 0 R/XYZ 0 15259 1] -endobj - -11099 0 obj -[1396 0 R/XYZ 0 15259 1] -endobj - -11100 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -11101 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -11102 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -11103 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -11104 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -11105 0 obj -[1493 0 R/XYZ 0 15259 1] -endobj - -11106 0 obj -[1611 0 R/XYZ 0 15259 1] -endobj - -11107 0 obj -[1618 0 R/XYZ 0 15259 1] -endobj - -11108 0 obj -[1625 0 R/XYZ 0 15259 1] -endobj - -11109 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -11110 0 obj -[1632 0 R/XYZ 0 15259 1] -endobj - -11111 0 obj -[1635 0 R/XYZ 0 15259 1] -endobj - -11112 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -11113 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -11114 0 obj -[1265 0 R/XYZ 0 15259 1] -endobj - -11115 0 obj -[1266 0 R/XYZ 0 15259 1] -endobj - -11116 0 obj -[1295 0 R/XYZ 0 15259 1] -endobj - -11117 0 obj -[1296 0 R/XYZ 0 15259 1] -endobj - -11118 0 obj -[1300 0 R/XYZ 0 15259 1] -endobj - -11119 0 obj -[1302 0 R/XYZ 0 15259 1] -endobj - -11120 0 obj -[1605 0 R/XYZ 0 15259 1] -endobj - -11121 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -11122 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -11123 0 obj -[1268 0 R/XYZ 0 15259 1] -endobj - -11124 0 obj -[1301 0 R/XYZ 0 15259 1] -endobj - -11125 0 obj -[1266 0 R/XYZ 0 15259 1] -endobj - -11126 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -11127 0 obj -[661 0 R/XYZ 0 15259 1] -endobj - -11128 0 obj -[762 0 R/XYZ 0 15259 1] -endobj - -11129 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -11130 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -11131 0 obj -[740 0 R/XYZ 0 15259 1] -endobj - -11132 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -11133 0 obj -[988 0 R/XYZ 0 15259 1] -endobj - -11134 0 obj -[990 0 R/XYZ 0 15259 1] -endobj - -11135 0 obj -[1486 0 R/XYZ 0 15259 1] -endobj - -11136 0 obj -[1489 0 R/XYZ 0 15259 1] -endobj - -11137 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -11138 0 obj -[1167 0 R/XYZ 0 15259 1] -endobj - -11139 0 obj -[1256 0 R/XYZ 0 15259 1] -endobj - -11140 0 obj -[1262 0 R/XYZ 0 15259 1] -endobj - -11141 0 obj -[1289 0 R/XYZ 0 15259 1] -endobj - -11142 0 obj -[1306 0 R/XYZ 0 15259 1] -endobj - -11143 0 obj -[1308 0 R/XYZ 0 15259 1] -endobj - -11144 0 obj -[1311 0 R/XYZ 0 15259 1] -endobj - -11145 0 obj -[1320 0 R/XYZ 0 15259 1] -endobj - -11146 0 obj -[1322 0 R/XYZ 0 15259 1] -endobj - -11147 0 obj -[1445 0 R/XYZ 0 15259 1] -endobj - -11148 0 obj -[1458 0 R/XYZ 0 15259 1] -endobj - -11149 0 obj -[1459 0 R/XYZ 0 15259 1] -endobj - -11150 0 obj -[1497 0 R/XYZ 0 15259 1] -endobj - -11151 0 obj -[1512 0 R/XYZ 0 15259 1] -endobj - -11152 0 obj -[1513 0 R/XYZ 0 15259 1] -endobj - -11153 0 obj -[1516 0 R/XYZ 0 15259 1] -endobj - -11154 0 obj -[1517 0 R/XYZ 0 15259 1] -endobj - -11155 0 obj -[1519 0 R/XYZ 0 15259 1] -endobj - -11156 0 obj -[1521 0 R/XYZ 0 15259 1] -endobj - -11157 0 obj -[1527 0 R/XYZ 0 15259 1] -endobj - -11158 0 obj -[1529 0 R/XYZ 0 15259 1] -endobj - -11159 0 obj -[1531 0 R/XYZ 0 15259 1] -endobj - -11160 0 obj -[1541 0 R/XYZ 0 15259 1] -endobj - -11161 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -11162 0 obj -[630 0 R/XYZ 0 15259 1] -endobj - -11163 0 obj -[1618 0 R/XYZ 0 15259 1] -endobj - -11164 0 obj -[657 0 R/XYZ 0 15259 1] -endobj - -11165 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -11166 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -11167 0 obj -[633 0 R/XYZ 0 15259 1] -endobj - -11168 0 obj -[1167 0 R/XYZ 0 15259 1] -endobj - -11169 0 obj -[1169 0 R/XYZ 0 15259 1] -endobj - -11170 0 obj -[1496 0 R/XYZ 0 15259 1] -endobj - -11171 0 obj -[1497 0 R/XYZ 0 15259 1] -endobj - -11172 0 obj -[633 0 R/XYZ 0 15259 1] -endobj - -11173 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -11174 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -11175 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -11176 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -11177 0 obj -[493 0 R/XYZ 0 15259 1] -endobj - -11178 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -11179 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -11180 0 obj -[493 0 R/XYZ 0 15259 1] -endobj - -11181 0 obj -[700 0 R/XYZ 0 15259 1] -endobj - -11182 0 obj -[714 0 R/XYZ 0 15259 1] -endobj - -11183 0 obj -[1004 0 R/XYZ 0 15259 1] -endobj - -11184 0 obj -[1004 0 R/XYZ 0 15259 1] -endobj - -11185 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -11186 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -11187 0 obj -[1257 0 R/XYZ 0 15259 1] -endobj - -11188 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -11189 0 obj -[1603 0 R/XYZ 0 15259 1] -endobj - -11190 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -11191 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -11192 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -11193 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -11194 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -11195 0 obj -[611 0 R/XYZ 0 15259 1] -endobj - -11196 0 obj -[736 0 R/XYZ 0 15259 1] -endobj - -11197 0 obj -[741 0 R/XYZ 0 15259 1] -endobj - -11198 0 obj -[780 0 R/XYZ 0 15259 1] -endobj - -11199 0 obj -[919 0 R/XYZ 0 15259 1] -endobj - -11200 0 obj -[1171 0 R/XYZ 0 15259 1] -endobj - -11201 0 obj -[1392 0 R/XYZ 0 15259 1] -endobj - -11202 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -11203 0 obj -[621 0 R/XYZ 0 15259 1] -endobj - -11204 0 obj -[625 0 R/XYZ 0 15259 1] -endobj - -11205 0 obj -[636 0 R/XYZ 0 15259 1] -endobj - -11206 0 obj -[640 0 R/XYZ 0 15259 1] -endobj - -11207 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -11208 0 obj -[605 0 R/XYZ 0 15259 1] -endobj - -11209 0 obj -[651 0 R/XYZ 0 15259 1] -endobj - -11210 0 obj -[605 0 R/XYZ 0 15259 1] -endobj - -11211 0 obj -[606 0 R/XYZ 0 15259 1] -endobj - -11212 0 obj -[623 0 R/XYZ 0 15259 1] -endobj - -11213 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -11214 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -11215 0 obj -[1257 0 R/XYZ 0 15259 1] -endobj - -11216 0 obj -[416 0 R/XYZ 0 15259 1] -endobj - -11217 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -11218 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -11219 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -11220 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -11221 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -11222 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -11223 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -11224 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -11225 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -11226 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -11227 0 obj -[386 0 R/XYZ 0 15259 1] -endobj - -11228 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -11229 0 obj -[528 0 R/XYZ 0 15259 1] -endobj - -11230 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -11231 0 obj -[533 0 R/XYZ 0 15259 1] -endobj - -11232 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -11233 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -11234 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -11235 0 obj -[572 0 R/XYZ 0 15259 1] -endobj - -11236 0 obj -[576 0 R/XYZ 0 15259 1] -endobj - -11237 0 obj -[579 0 R/XYZ 0 15259 1] -endobj - -11238 0 obj -[581 0 R/XYZ 0 15259 1] -endobj - -11239 0 obj -[586 0 R/XYZ 0 15259 1] -endobj - -11240 0 obj -[595 0 R/XYZ 0 15259 1] -endobj - -11241 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -11242 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -11243 0 obj -[643 0 R/XYZ 0 15259 1] -endobj - -11244 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -11245 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -11246 0 obj -[1215 0 R/XYZ 0 15259 1] -endobj - -11247 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -11248 0 obj -[1272 0 R/XYZ 0 15259 1] -endobj - -11249 0 obj -[1288 0 R/XYZ 0 15259 1] -endobj - -11250 0 obj -[1289 0 R/XYZ 0 15259 1] -endobj - -11251 0 obj -[1323 0 R/XYZ 0 15259 1] -endobj - -11252 0 obj -[1361 0 R/XYZ 0 15259 1] -endobj - -11253 0 obj -[1608 0 R/XYZ 0 15259 1] -endobj - -11254 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -11255 0 obj -[1642 0 R/XYZ 0 15259 1] -endobj - -11256 0 obj -[528 0 R/XYZ 0 15259 1] -endobj - -11257 0 obj -[528 0 R/XYZ 0 15259 1] -endobj - -11258 0 obj -[532 0 R/XYZ 0 15259 1] -endobj - -11259 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -11260 0 obj -[556 0 R/XYZ 0 15259 1] -endobj - -11261 0 obj -[561 0 R/XYZ 0 15259 1] -endobj - -11262 0 obj -[576 0 R/XYZ 0 15259 1] -endobj - -11263 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -11264 0 obj -[611 0 R/XYZ 0 15259 1] -endobj - -11265 0 obj -[640 0 R/XYZ 0 15259 1] -endobj - -11266 0 obj -[643 0 R/XYZ 0 15259 1] -endobj - -11267 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -11268 0 obj -[1127 0 R/XYZ 0 15259 1] -endobj - -11269 0 obj -[1141 0 R/XYZ 0 15259 1] -endobj - -11270 0 obj -[1151 0 R/XYZ 0 15259 1] -endobj - -11271 0 obj -[1171 0 R/XYZ 0 15259 1] -endobj - -11272 0 obj -[1178 0 R/XYZ 0 15259 1] -endobj - -11273 0 obj -[1215 0 R/XYZ 0 15259 1] -endobj - -11274 0 obj -[1287 0 R/XYZ 0 15259 1] -endobj - -11275 0 obj -[1360 0 R/XYZ 0 15259 1] -endobj - -11276 0 obj -[1361 0 R/XYZ 0 15259 1] -endobj - -11277 0 obj -[1443 0 R/XYZ 0 15259 1] -endobj - -11278 0 obj -[1501 0 R/XYZ 0 15259 1] -endobj - -11279 0 obj -[1526 0 R/XYZ 0 15259 1] -endobj - -11280 0 obj -[718 0 R/XYZ 0 15259 1] -endobj - -11281 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -11282 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -11283 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -11284 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -11285 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -11286 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -11287 0 obj -[633 0 R/XYZ 0 15259 1] -endobj - -11288 0 obj -[634 0 R/XYZ 0 15259 1] -endobj - -11289 0 obj -[1441 0 R/XYZ 0 15259 1] -endobj - -11290 0 obj -[1444 0 R/XYZ 0 15259 1] -endobj - -11291 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -11292 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -11293 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -11294 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -11295 0 obj -[1284 0 R/XYZ 0 15259 1] -endobj - -11296 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -11297 0 obj -[1084 0 R/XYZ 0 15259 1] -endobj - -11298 0 obj -[1405 0 R/XYZ 0 15259 1] -endobj - -11299 0 obj -[1600 0 R/XYZ 0 15259 1] -endobj - -11300 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -11301 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -11302 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -11303 0 obj -[1259 0 R/XYZ 0 15259 1] -endobj - -11304 0 obj -[1293 0 R/XYZ 0 15259 1] -endobj - -11305 0 obj -[1298 0 R/XYZ 0 15259 1] -endobj - -11306 0 obj -[1302 0 R/XYZ 0 15259 1] -endobj - -11307 0 obj -[1403 0 R/XYZ 0 15259 1] -endobj - -11308 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -11309 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -11310 0 obj -[622 0 R/XYZ 0 15259 1] -endobj - -11311 0 obj -[713 0 R/XYZ 0 15259 1] -endobj - -11312 0 obj -[715 0 R/XYZ 0 15259 1] -endobj - -11313 0 obj -[1168 0 R/XYZ 0 15259 1] -endobj - -11314 0 obj -[1169 0 R/XYZ 0 15259 1] -endobj - -11315 0 obj -[1305 0 R/XYZ 0 15259 1] -endobj - -11316 0 obj -[389 0 R/XYZ 0 15259 1] -endobj - -11317 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -11318 0 obj -[488 0 R/XYZ 0 15259 1] -endobj - -11319 0 obj -[496 0 R/XYZ 0 15259 1] -endobj - -11320 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -11321 0 obj -[839 0 R/XYZ 0 15259 1] -endobj - -11322 0 obj -[933 0 R/XYZ 0 15259 1] -endobj - -11323 0 obj -[1084 0 R/XYZ 0 15259 1] -endobj - -11324 0 obj -[1155 0 R/XYZ 0 15259 1] -endobj - -11325 0 obj -[1161 0 R/XYZ 0 15259 1] -endobj - -11326 0 obj -[1167 0 R/XYZ 0 15259 1] -endobj - -11327 0 obj -[1168 0 R/XYZ 0 15259 1] -endobj - -11328 0 obj -[1259 0 R/XYZ 0 15259 1] -endobj - -11329 0 obj -[1306 0 R/XYZ 0 15259 1] -endobj - -11330 0 obj -[1307 0 R/XYZ 0 15259 1] -endobj - -11331 0 obj -[1336 0 R/XYZ 0 15259 1] -endobj - -11332 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -11333 0 obj -[1374 0 R/XYZ 0 15259 1] -endobj - -11334 0 obj -[1377 0 R/XYZ 0 15259 1] -endobj - -11335 0 obj -[1401 0 R/XYZ 0 15259 1] -endobj - -11336 0 obj -[1404 0 R/XYZ 0 15259 1] -endobj - -11337 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -11338 0 obj -[1414 0 R/XYZ 0 15259 1] -endobj - -11339 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -11340 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -11341 0 obj -[1231 0 R/XYZ 0 15259 1] -endobj - -11342 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -11343 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -11344 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -11345 0 obj -[460 0 R/XYZ 0 15259 1] -endobj - -11346 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -11347 0 obj -[611 0 R/XYZ 0 15259 1] -endobj - -11348 0 obj -[617 0 R/XYZ 0 15259 1] -endobj - -11349 0 obj -[636 0 R/XYZ 0 15259 1] -endobj - -11350 0 obj -[641 0 R/XYZ 0 15259 1] -endobj - -11351 0 obj -[1357 0 R/XYZ 0 15259 1] -endobj - -11352 0 obj -[1441 0 R/XYZ 0 15259 1] -endobj - -11353 0 obj -[1593 0 R/XYZ 0 15259 1] -endobj - -11354 0 obj -[361 0 R/XYZ 0 15259 1] -endobj - -11355 0 obj -[362 0 R/XYZ 0 15259 1] -endobj - -11356 0 obj -[366 0 R/XYZ 0 15259 1] -endobj - -11357 0 obj -[368 0 R/XYZ 0 15259 1] -endobj - -11358 0 obj -[372 0 R/XYZ 0 15259 1] -endobj - -11359 0 obj -<> -endobj - -11360 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -11361 0 obj -[705 0 R/XYZ 0 15259 1] -endobj - -11362 0 obj -[1593 0 R/XYZ 0 15259 1] -endobj - -11363 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -11364 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -11365 0 obj -[622 0 R/XYZ 0 15259 1] -endobj - -11366 0 obj -[758 0 R/XYZ 0 15259 1] -endobj - -11367 0 obj -[759 0 R/XYZ 0 15259 1] -endobj - -11368 0 obj -[792 0 R/XYZ 0 15259 1] -endobj - -11369 0 obj -[1600 0 R/XYZ 0 15259 1] -endobj - -11370 0 obj -[1621 0 R/XYZ 0 15259 1] -endobj - -11371 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -11372 0 obj -[389 0 R/XYZ 0 15259 1] -endobj - -11373 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -11374 0 obj -[496 0 R/XYZ 0 15259 1] -endobj - -11375 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -11376 0 obj -[735 0 R/XYZ 0 15259 1] -endobj - -11377 0 obj -[741 0 R/XYZ 0 15259 1] -endobj - -11378 0 obj -[933 0 R/XYZ 0 15259 1] -endobj - -11379 0 obj -[1084 0 R/XYZ 0 15259 1] -endobj - -11380 0 obj -[1153 0 R/XYZ 0 15259 1] -endobj - -11381 0 obj -[1161 0 R/XYZ 0 15259 1] -endobj - -11382 0 obj -[1167 0 R/XYZ 0 15259 1] -endobj - -11383 0 obj -[1168 0 R/XYZ 0 15259 1] -endobj - -11384 0 obj -[1254 0 R/XYZ 0 15259 1] -endobj - -11385 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -11386 0 obj -[1260 0 R/XYZ 0 15259 1] -endobj - -11387 0 obj -[1305 0 R/XYZ 0 15259 1] -endobj - -11388 0 obj -[1307 0 R/XYZ 0 15259 1] -endobj - -11389 0 obj -[1403 0 R/XYZ 0 15259 1] -endobj - -11390 0 obj -[1408 0 R/XYZ 0 15259 1] -endobj - -11391 0 obj -[1414 0 R/XYZ 0 15259 1] -endobj - -11392 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -11393 0 obj -[1621 0 R/XYZ 0 15259 1] -endobj - -11394 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -11395 0 obj -[815 0 R/XYZ 0 15259 1] -endobj - -11396 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -11397 0 obj -[1109 0 R/XYZ 0 15259 1] -endobj - -11398 0 obj -[1221 0 R/XYZ 0 15259 1] -endobj - -11399 0 obj -[1388 0 R/XYZ 0 15259 1] -endobj - -11400 0 obj -[1486 0 R/XYZ 0 15259 1] -endobj - -11401 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -11402 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -11403 0 obj -[553 0 R/XYZ 0 15259 1] -endobj - -11404 0 obj -[565 0 R/XYZ 0 15259 1] -endobj - -11405 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -11406 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -11407 0 obj -[1423 0 R/XYZ 0 15259 1] -endobj - -11408 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -11409 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -11410 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -11411 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -11412 0 obj -[1345 0 R/XYZ 0 15259 1] -endobj - -11413 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -11414 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -11415 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -11416 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -11417 0 obj -[1099 0 R/XYZ 0 15259 1] -endobj - -11418 0 obj -[1379 0 R/XYZ 0 15259 1] -endobj - -11419 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -11420 0 obj -[1453 0 R/XYZ 0 15259 1] -endobj - -11421 0 obj -[606 0 R/XYZ 0 15259 1] -endobj - -11422 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -11423 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -11424 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -11425 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -11426 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -11427 0 obj -[605 0 R/XYZ 0 15259 1] -endobj - -11428 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -11429 0 obj -[1106 0 R/XYZ 0 15259 1] -endobj - -11430 0 obj -[1111 0 R/XYZ 0 15259 1] -endobj - -11431 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -11432 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -11433 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -11434 0 obj -[1184 0 R/XYZ 0 15259 1] -endobj - -11435 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -11436 0 obj -[1298 0 R/XYZ 0 15259 1] -endobj - -11437 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -11438 0 obj -[1388 0 R/XYZ 0 15259 1] -endobj - -11439 0 obj -[1394 0 R/XYZ 0 15259 1] -endobj - -11440 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -11441 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -11442 0 obj -[645 0 R/XYZ 0 15259 1] -endobj - -11443 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -11444 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -11445 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -11446 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -11447 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -11448 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -11449 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -11450 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -11451 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -11452 0 obj -[605 0 R/XYZ 0 15259 1] -endobj - -11453 0 obj -[606 0 R/XYZ 0 15259 1] -endobj - -11454 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -11455 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -11456 0 obj -[397 0 R/XYZ 0 15259 1] -endobj - -11457 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -11458 0 obj -[411 0 R/XYZ 0 15259 1] -endobj - -11459 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -11460 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -11461 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -11462 0 obj -[1065 0 R/XYZ 0 15259 1] -endobj - -11463 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -11464 0 obj -[1074 0 R/XYZ 0 15259 1] -endobj - -11465 0 obj -[1076 0 R/XYZ 0 15259 1] -endobj - -11466 0 obj -[1237 0 R/XYZ 0 15259 1] -endobj - -11467 0 obj -[1255 0 R/XYZ 0 15259 1] -endobj - -11468 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -11469 0 obj -[1261 0 R/XYZ 0 15259 1] -endobj - -11470 0 obj -[1262 0 R/XYZ 0 15259 1] -endobj - -11471 0 obj -[1308 0 R/XYZ 0 15259 1] -endobj - -11472 0 obj -[1322 0 R/XYZ 0 15259 1] -endobj - -11473 0 obj -[1517 0 R/XYZ 0 15259 1] -endobj - -11474 0 obj -[1521 0 R/XYZ 0 15259 1] -endobj - -11475 0 obj -[1524 0 R/XYZ 0 15259 1] -endobj - -11476 0 obj -[1527 0 R/XYZ 0 15259 1] -endobj - -11477 0 obj -[1528 0 R/XYZ 0 15259 1] -endobj - -11478 0 obj -[1536 0 R/XYZ 0 15259 1] -endobj - -11479 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -11480 0 obj -[1600 0 R/XYZ 0 15259 1] -endobj - -11481 0 obj -[1603 0 R/XYZ 0 15259 1] -endobj - -11482 0 obj -[1606 0 R/XYZ 0 15259 1] -endobj - -11483 0 obj -[1631 0 R/XYZ 0 15259 1] -endobj - -11484 0 obj -[397 0 R/XYZ 0 15259 1] -endobj - -11485 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -11486 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -11487 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -11488 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -11489 0 obj -[684 0 R/XYZ 0 15259 1] -endobj - -11490 0 obj -[779 0 R/XYZ 0 15259 1] -endobj - -11491 0 obj -[975 0 R/XYZ 0 15259 1] -endobj - -11492 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -11493 0 obj -[1619 0 R/XYZ 0 15259 1] -endobj - -11494 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -11495 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -11496 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -11497 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -11498 0 obj -[1593 0 R/XYZ 0 15259 1] -endobj - -11499 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -11500 0 obj -[1620 0 R/XYZ 0 15259 1] -endobj - -11501 0 obj -[393 0 R/XYZ 0 15259 1] -endobj - -11502 0 obj -[736 0 R/XYZ 0 15259 1] -endobj - -11503 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -11504 0 obj -[1534 0 R/XYZ 0 15259 1] -endobj - -11505 0 obj -[1503 0 R/XYZ 0 15259 1] -endobj - -11506 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -11507 0 obj -[1433 0 R/XYZ 0 15259 1] -endobj - -11508 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -11509 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -11510 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -11511 0 obj -[682 0 R/XYZ 0 15259 1] -endobj - -11512 0 obj -[682 0 R/XYZ 0 15259 1] -endobj - -11513 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -11514 0 obj -[1524 0 R/XYZ 0 15259 1] -endobj - -11515 0 obj -[936 0 R/XYZ 0 15259 1] -endobj - -11516 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -11517 0 obj -[1308 0 R/XYZ 0 15259 1] -endobj - -11518 0 obj -[1309 0 R/XYZ 0 15259 1] -endobj - -11519 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -11520 0 obj -[1280 0 R/XYZ 0 15259 1] -endobj - -11521 0 obj -[830 0 R/XYZ 0 15259 1] -endobj - -11522 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -11523 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -11524 0 obj -[1366 0 R/XYZ 0 15259 1] -endobj - -11525 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -11526 0 obj -[1643 0 R/XYZ 0 15259 1] -endobj - -11527 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -11528 0 obj -[1144 0 R/XYZ 0 15259 1] -endobj - -11529 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -11530 0 obj -[532 0 R/XYZ 0 15259 1] -endobj - -11531 0 obj -[532 0 R/XYZ 0 15259 1] -endobj - -11532 0 obj -[532 0 R/XYZ 0 15259 1] -endobj - -11533 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -11534 0 obj -[1501 0 R/XYZ 0 15259 1] -endobj - -11535 0 obj -[1503 0 R/XYZ 0 15259 1] -endobj - -11536 0 obj -[1505 0 R/XYZ 0 15259 1] -endobj - -11537 0 obj -[1503 0 R/XYZ 0 15259 1] -endobj - -11538 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -11539 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -11540 0 obj -[501 0 R/XYZ 0 15259 1] -endobj - -11541 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -11542 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -11543 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -11544 0 obj -[702 0 R/XYZ 0 15259 1] -endobj - -11545 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -11546 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -11547 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -11548 0 obj -[402 0 R/XYZ 0 15259 1] -endobj - -11549 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -11550 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -11551 0 obj -[540 0 R/XYZ 0 15259 1] -endobj - -11552 0 obj -[551 0 R/XYZ 0 15259 1] -endobj - -11553 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -11554 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -11555 0 obj -[667 0 R/XYZ 0 15259 1] -endobj - -11556 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -11557 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -11558 0 obj -[771 0 R/XYZ 0 15259 1] -endobj - -11559 0 obj -[420 0 R/XYZ 0 15259 1] -endobj - -11560 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -11561 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -11562 0 obj -[440 0 R/XYZ 0 15259 1] -endobj - -11563 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -11564 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -11565 0 obj -[464 0 R/XYZ 0 15259 1] -endobj - -11566 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -11567 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -11568 0 obj -[474 0 R/XYZ 0 15259 1] -endobj - -11569 0 obj -[478 0 R/XYZ 0 15259 1] -endobj - -11570 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -11571 0 obj -[490 0 R/XYZ 0 15259 1] -endobj - -11572 0 obj -[504 0 R/XYZ 0 15259 1] -endobj - -11573 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -11574 0 obj -[529 0 R/XYZ 0 15259 1] -endobj - -11575 0 obj -[546 0 R/XYZ 0 15259 1] -endobj - -11576 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -11577 0 obj -[553 0 R/XYZ 0 15259 1] -endobj - -11578 0 obj -[586 0 R/XYZ 0 15259 1] -endobj - -11579 0 obj -[592 0 R/XYZ 0 15259 1] -endobj - -11580 0 obj -[605 0 R/XYZ 0 15259 1] -endobj - -11581 0 obj -[627 0 R/XYZ 0 15259 1] -endobj - -11582 0 obj -[634 0 R/XYZ 0 15259 1] -endobj - -11583 0 obj -[641 0 R/XYZ 0 15259 1] -endobj - -11584 0 obj -[642 0 R/XYZ 0 15259 1] -endobj - -11585 0 obj -[659 0 R/XYZ 0 15259 1] -endobj - -11586 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -11587 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -11588 0 obj -[678 0 R/XYZ 0 15259 1] -endobj - -11589 0 obj -[684 0 R/XYZ 0 15259 1] -endobj - -11590 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -11591 0 obj -[710 0 R/XYZ 0 15259 1] -endobj - -11592 0 obj -[720 0 R/XYZ 0 15259 1] -endobj - -11593 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -11594 0 obj -[740 0 R/XYZ 0 15259 1] -endobj - -11595 0 obj -[747 0 R/XYZ 0 15259 1] -endobj - -11596 0 obj -[753 0 R/XYZ 0 15259 1] -endobj - -11597 0 obj -[756 0 R/XYZ 0 15259 1] -endobj - -11598 0 obj -[776 0 R/XYZ 0 15259 1] -endobj - -11599 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -11600 0 obj -[823 0 R/XYZ 0 15259 1] -endobj - -11601 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -11602 0 obj -[851 0 R/XYZ 0 15259 1] -endobj - -11603 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -11604 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -11605 0 obj -[874 0 R/XYZ 0 15259 1] -endobj - -11606 0 obj -[900 0 R/XYZ 0 15259 1] -endobj - -11607 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -11608 0 obj -[978 0 R/XYZ 0 15259 1] -endobj - -11609 0 obj -[1001 0 R/XYZ 0 15259 1] -endobj - -11610 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -11611 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -11612 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -11613 0 obj -[1063 0 R/XYZ 0 15259 1] -endobj - -11614 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -11615 0 obj -[1087 0 R/XYZ 0 15259 1] -endobj - -11616 0 obj -[1098 0 R/XYZ 0 15259 1] -endobj - -11617 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -11618 0 obj -[1112 0 R/XYZ 0 15259 1] -endobj - -11619 0 obj -[1115 0 R/XYZ 0 15259 1] -endobj - -11620 0 obj -[1131 0 R/XYZ 0 15259 1] -endobj - -11621 0 obj -[1139 0 R/XYZ 0 15259 1] -endobj - -11622 0 obj -[1140 0 R/XYZ 0 15259 1] -endobj - -11623 0 obj -[1148 0 R/XYZ 0 15259 1] -endobj - -11624 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -11625 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -11626 0 obj -[1186 0 R/XYZ 0 15259 1] -endobj - -11627 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -11628 0 obj -[1192 0 R/XYZ 0 15259 1] -endobj - -11629 0 obj -[1199 0 R/XYZ 0 15259 1] -endobj - -11630 0 obj -[1200 0 R/XYZ 0 15259 1] -endobj - -11631 0 obj -[1211 0 R/XYZ 0 15259 1] -endobj - -11632 0 obj -[1232 0 R/XYZ 0 15259 1] -endobj - -11633 0 obj -[1246 0 R/XYZ 0 15259 1] -endobj - -11634 0 obj -[1250 0 R/XYZ 0 15259 1] -endobj - -11635 0 obj -[1252 0 R/XYZ 0 15259 1] -endobj - -11636 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -11637 0 obj -[1270 0 R/XYZ 0 15259 1] -endobj - -11638 0 obj -[1295 0 R/XYZ 0 15259 1] -endobj - -11639 0 obj -[1314 0 R/XYZ 0 15259 1] -endobj - -11640 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -11641 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -11642 0 obj -[1342 0 R/XYZ 0 15259 1] -endobj - -11643 0 obj -[1394 0 R/XYZ 0 15259 1] -endobj - -11644 0 obj -[1396 0 R/XYZ 0 15259 1] -endobj - -11645 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -11646 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -11647 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -11648 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -11649 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -11650 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -11651 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -11652 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -11653 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -11654 0 obj -[381 0 R/XYZ 0 15259 1] -endobj - -11655 0 obj -[426 0 R/XYZ 0 15259 1] -endobj - -11656 0 obj -[383 0 R/XYZ 0 15259 1] -endobj - -11657 0 obj -[426 0 R/XYZ 0 15259 1] -endobj - -11658 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -11659 0 obj -[587 0 R/XYZ 0 15259 1] -endobj - -11660 0 obj -[605 0 R/XYZ 0 15259 1] -endobj - -11661 0 obj -[621 0 R/XYZ 0 15259 1] -endobj - -11662 0 obj -[641 0 R/XYZ 0 15259 1] -endobj - -11663 0 obj -[642 0 R/XYZ 0 15259 1] -endobj - -11664 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -11665 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -11666 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -11667 0 obj -[856 0 R/XYZ 0 15259 1] -endobj - -11668 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -11669 0 obj -[928 0 R/XYZ 0 15259 1] -endobj - -11670 0 obj -[930 0 R/XYZ 0 15259 1] -endobj - -11671 0 obj -[945 0 R/XYZ 0 15259 1] -endobj - -11672 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -11673 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -11674 0 obj -[1115 0 R/XYZ 0 15259 1] -endobj - -11675 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -11676 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -11677 0 obj -[1148 0 R/XYZ 0 15259 1] -endobj - -11678 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -11679 0 obj -[1207 0 R/XYZ 0 15259 1] -endobj - -11680 0 obj -[426 0 R/XYZ 0 15259 1] -endobj - -11681 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -11682 0 obj -[1649 0 R/XYZ 0 15259 1] -endobj - -11683 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -11684 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -11685 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -11686 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -11687 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -11688 0 obj -[884 0 R/XYZ 0 15259 1] -endobj - -11689 0 obj -[885 0 R/XYZ 0 15259 1] -endobj - -11690 0 obj -[1379 0 R/XYZ 0 15259 1] -endobj - -11691 0 obj -[1649 0 R/XYZ 0 15259 1] -endobj - -11692 0 obj -[501 0 R/XYZ 0 15259 1] -endobj - -11693 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -11694 0 obj -[693 0 R/XYZ 0 15259 1] -endobj - -11695 0 obj -[828 0 R/XYZ 0 15259 1] -endobj - -11696 0 obj -[849 0 R/XYZ 0 15259 1] -endobj - -11697 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -11698 0 obj -[855 0 R/XYZ 0 15259 1] -endobj - -11699 0 obj -[864 0 R/XYZ 0 15259 1] -endobj - -11700 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -11701 0 obj -[874 0 R/XYZ 0 15259 1] -endobj - -11702 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -11703 0 obj -[1098 0 R/XYZ 0 15259 1] -endobj - -11704 0 obj -[1106 0 R/XYZ 0 15259 1] -endobj - -11705 0 obj -[1112 0 R/XYZ 0 15259 1] -endobj - -11706 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -11707 0 obj -[1649 0 R/XYZ 0 15259 1] -endobj - -11708 0 obj -[440 0 R/XYZ 0 15259 1] -endobj - -11709 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -11710 0 obj -[782 0 R/XYZ 0 15259 1] -endobj - -11711 0 obj -[381 0 R/XYZ 0 15259 1] -endobj - -11712 0 obj -[407 0 R/XYZ 0 15259 1] -endobj - -11713 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -11714 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -11715 0 obj -[440 0 R/XYZ 0 15259 1] -endobj - -11716 0 obj -[456 0 R/XYZ 0 15259 1] -endobj - -11717 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -11718 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -11719 0 obj -[501 0 R/XYZ 0 15259 1] -endobj - -11720 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -11721 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -11722 0 obj -[706 0 R/XYZ 0 15259 1] -endobj - -11723 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -11724 0 obj -[823 0 R/XYZ 0 15259 1] -endobj - -11725 0 obj -[828 0 R/XYZ 0 15259 1] -endobj - -11726 0 obj -[842 0 R/XYZ 0 15259 1] -endobj - -11727 0 obj -[849 0 R/XYZ 0 15259 1] -endobj - -11728 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -11729 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -11730 0 obj -[874 0 R/XYZ 0 15259 1] -endobj - -11731 0 obj -[879 0 R/XYZ 0 15259 1] -endobj - -11732 0 obj -[1063 0 R/XYZ 0 15259 1] -endobj - -11733 0 obj -[1106 0 R/XYZ 0 15259 1] -endobj - -11734 0 obj -[1112 0 R/XYZ 0 15259 1] -endobj - -11735 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -11736 0 obj -[1131 0 R/XYZ 0 15259 1] -endobj - -11737 0 obj -[1379 0 R/XYZ 0 15259 1] -endobj - -11738 0 obj -[1394 0 R/XYZ 0 15259 1] -endobj - -11739 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -11740 0 obj -[1649 0 R/XYZ 0 15259 1] -endobj - -11741 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -11742 0 obj -[731 0 R/XYZ 0 15259 1] -endobj - -11743 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -11744 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -11745 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -11746 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -11747 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -11748 0 obj -[359 0 R/XYZ 0 15259 1] -endobj - -11749 0 obj -[366 0 R/XYZ 0 15259 1] -endobj - -11750 0 obj -[367 0 R/XYZ 0 15259 1] -endobj - -11751 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -11752 0 obj -[361 0 R/XYZ 0 15259 1] -endobj - -11753 0 obj -[362 0 R/XYZ 0 15259 1] -endobj - -11754 0 obj -[368 0 R/XYZ 0 15259 1] -endobj - -11755 0 obj -[361 0 R/XYZ 0 15259 1] -endobj - -11756 0 obj -[367 0 R/XYZ 0 15259 1] -endobj - -11757 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -11758 0 obj -[362 0 R/XYZ 0 15259 1] -endobj - -11759 0 obj -[358 0 R/XYZ 0 15259 1] -endobj - -11760 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -11761 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -11762 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -11763 0 obj -[362 0 R/XYZ 0 15259 1] -endobj - -11764 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -11765 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -11766 0 obj -<> -endobj - -11767 0 obj -[465 0 R/XYZ 0 15259 1] -endobj - -11768 0 obj -[529 0 R/XYZ 0 15259 1] -endobj - -11769 0 obj -[531 0 R/XYZ 0 15259 1] -endobj - -11770 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -11771 0 obj -[556 0 R/XYZ 0 15259 1] -endobj - -11772 0 obj -[561 0 R/XYZ 0 15259 1] -endobj - -11773 0 obj -[566 0 R/XYZ 0 15259 1] -endobj - -11774 0 obj -[570 0 R/XYZ 0 15259 1] -endobj - -11775 0 obj -[574 0 R/XYZ 0 15259 1] -endobj - -11776 0 obj -[586 0 R/XYZ 0 15259 1] -endobj - -11777 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -11778 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -11779 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -11780 0 obj -[1608 0 R/XYZ 0 15259 1] -endobj - -11781 0 obj -[1609 0 R/XYZ 0 15259 1] -endobj - -11782 0 obj -[574 0 R/XYZ 0 15259 1] -endobj - -11783 0 obj -[576 0 R/XYZ 0 15259 1] -endobj - -11784 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -11785 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -11786 0 obj -[574 0 R/XYZ 0 15259 1] -endobj - -11787 0 obj -[574 0 R/XYZ 0 15259 1] -endobj - -11788 0 obj -[576 0 R/XYZ 0 15259 1] -endobj - -11789 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -11790 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -11791 0 obj -[574 0 R/XYZ 0 15259 1] -endobj - -11792 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -11793 0 obj -[452 0 R/XYZ 0 15259 1] -endobj - -11794 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -11795 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -11796 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -11797 0 obj -[456 0 R/XYZ 0 15259 1] -endobj - -11798 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -11799 0 obj -[478 0 R/XYZ 0 15259 1] -endobj - -11800 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -11801 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -11802 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -11803 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -11804 0 obj -[515 0 R/XYZ 0 15259 1] -endobj - -11805 0 obj -[517 0 R/XYZ 0 15259 1] -endobj - -11806 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -11807 0 obj -[515 0 R/XYZ 0 15259 1] -endobj - -11808 0 obj -[517 0 R/XYZ 0 15259 1] -endobj - -11809 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -11810 0 obj -[405 0 R/XYZ 0 15259 1] -endobj - -11811 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -11812 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -11813 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -11814 0 obj -[456 0 R/XYZ 0 15259 1] -endobj - -11815 0 obj -[459 0 R/XYZ 0 15259 1] -endobj - -11816 0 obj -[464 0 R/XYZ 0 15259 1] -endobj - -11817 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -11818 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -11819 0 obj -[474 0 R/XYZ 0 15259 1] -endobj - -11820 0 obj -[490 0 R/XYZ 0 15259 1] -endobj - -11821 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -11822 0 obj -[693 0 R/XYZ 0 15259 1] -endobj - -11823 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -11824 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -11825 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -11826 0 obj -[799 0 R/XYZ 0 15259 1] -endobj - -11827 0 obj -[800 0 R/XYZ 0 15259 1] -endobj - -11828 0 obj -[945 0 R/XYZ 0 15259 1] -endobj - -11829 0 obj -[1001 0 R/XYZ 0 15259 1] -endobj - -11830 0 obj -[1003 0 R/XYZ 0 15259 1] -endobj - -11831 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -11832 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -11833 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -11834 0 obj -[1125 0 R/XYZ 0 15259 1] -endobj - -11835 0 obj -[1139 0 R/XYZ 0 15259 1] -endobj - -11836 0 obj -[1256 0 R/XYZ 0 15259 1] -endobj - -11837 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -11838 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -11839 0 obj -[1494 0 R/XYZ 0 15259 1] -endobj - -11840 0 obj -[1509 0 R/XYZ 0 15259 1] -endobj - -11841 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -11842 0 obj -[450 0 R/XYZ 0 15259 1] -endobj - -11843 0 obj -[851 0 R/XYZ 0 15259 1] -endobj - -11844 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -11845 0 obj -[1183 0 R/XYZ 0 15259 1] -endobj - -11846 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -11847 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -11848 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -11849 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -11850 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -11851 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -11852 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -11853 0 obj -[1061 0 R/XYZ 0 15259 1] -endobj - -11854 0 obj -[1072 0 R/XYZ 0 15259 1] -endobj - -11855 0 obj -[1074 0 R/XYZ 0 15259 1] -endobj - -11856 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -11857 0 obj -[1255 0 R/XYZ 0 15259 1] -endobj - -11858 0 obj -[1259 0 R/XYZ 0 15259 1] -endobj - -11859 0 obj -[1262 0 R/XYZ 0 15259 1] -endobj - -11860 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -11861 0 obj -[1600 0 R/XYZ 0 15259 1] -endobj - -11862 0 obj -[1603 0 R/XYZ 0 15259 1] -endobj - -11863 0 obj -[1628 0 R/XYZ 0 15259 1] -endobj - -11864 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -11865 0 obj -[1064 0 R/XYZ 0 15259 1] -endobj - -11866 0 obj -[1065 0 R/XYZ 0 15259 1] -endobj - -11867 0 obj -[1068 0 R/XYZ 0 15259 1] -endobj - -11868 0 obj -[1071 0 R/XYZ 0 15259 1] -endobj - -11869 0 obj -[1076 0 R/XYZ 0 15259 1] -endobj - -11870 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -11871 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -11872 0 obj -[595 0 R/XYZ 0 15259 1] -endobj - -11873 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -11874 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -11875 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -11876 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -11877 0 obj -[460 0 R/XYZ 0 15259 1] -endobj - -11878 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -11879 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -11880 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -11881 0 obj -[1108 0 R/XYZ 0 15259 1] -endobj - -11882 0 obj -[1632 0 R/XYZ 0 15259 1] -endobj - -11883 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -11884 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -11885 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -11886 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -11887 0 obj -[935 0 R/XYZ 0 15259 1] -endobj - -11888 0 obj -[850 0 R/XYZ 0 15259 1] -endobj - -11889 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -11890 0 obj -[1247 0 R/XYZ 0 15259 1] -endobj - -11891 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -11892 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -11893 0 obj -[533 0 R/XYZ 0 15259 1] -endobj - -11894 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -11895 0 obj -[595 0 R/XYZ 0 15259 1] -endobj - -11896 0 obj -[378 0 R/XYZ 0 15259 1] -endobj - -11897 0 obj -[407 0 R/XYZ 0 15259 1] -endobj - -11898 0 obj -[866 0 R/XYZ 0 15259 1] -endobj - -11899 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -11900 0 obj -[887 0 R/XYZ 0 15259 1] -endobj - -11901 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -11902 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -11903 0 obj -[904 0 R/XYZ 0 15259 1] -endobj - -11904 0 obj -[916 0 R/XYZ 0 15259 1] -endobj - -11905 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -11906 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -11907 0 obj -[870 0 R/XYZ 0 15259 1] -endobj - -11908 0 obj -[886 0 R/XYZ 0 15259 1] -endobj - -11909 0 obj -[887 0 R/XYZ 0 15259 1] -endobj - -11910 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -11911 0 obj -[902 0 R/XYZ 0 15259 1] -endobj - -11912 0 obj -[1113 0 R/XYZ 0 15259 1] -endobj - -11913 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -11914 0 obj -[1099 0 R/XYZ 0 15259 1] -endobj - -11915 0 obj -[407 0 R/XYZ 0 15259 1] -endobj - -11916 0 obj -[410 0 R/XYZ 0 15259 1] -endobj - -11917 0 obj -[410 0 R/XYZ 0 15259 1] -endobj - -11918 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -11919 0 obj -[731 0 R/XYZ 0 15259 1] -endobj - -11920 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -11921 0 obj -[779 0 R/XYZ 0 15259 1] -endobj - -11922 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -11923 0 obj -[800 0 R/XYZ 0 15259 1] -endobj - -11924 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -11925 0 obj -[897 0 R/XYZ 0 15259 1] -endobj - -11926 0 obj -[919 0 R/XYZ 0 15259 1] -endobj - -11927 0 obj -[924 0 R/XYZ 0 15259 1] -endobj - -11928 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -11929 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -11930 0 obj -[1154 0 R/XYZ 0 15259 1] -endobj - -11931 0 obj -[1159 0 R/XYZ 0 15259 1] -endobj - -11932 0 obj -[1623 0 R/XYZ 0 15259 1] -endobj - -11933 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -11934 0 obj -[780 0 R/XYZ 0 15259 1] -endobj - -11935 0 obj -[781 0 R/XYZ 0 15259 1] -endobj - -11936 0 obj -[921 0 R/XYZ 0 15259 1] -endobj - -11937 0 obj -[923 0 R/XYZ 0 15259 1] -endobj - -11938 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -11939 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -11940 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -11941 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -11942 0 obj -[517 0 R/XYZ 0 15259 1] -endobj - -11943 0 obj -[1056 0 R/XYZ 0 15259 1] -endobj - -11944 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -11945 0 obj -[1063 0 R/XYZ 0 15259 1] -endobj - -11946 0 obj -[1071 0 R/XYZ 0 15259 1] -endobj - -11947 0 obj -[1083 0 R/XYZ 0 15259 1] -endobj - -11948 0 obj -[1087 0 R/XYZ 0 15259 1] -endobj - -11949 0 obj -[1103 0 R/XYZ 0 15259 1] -endobj - -11950 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -11951 0 obj -[1111 0 R/XYZ 0 15259 1] -endobj - -11952 0 obj -[1115 0 R/XYZ 0 15259 1] -endobj - -11953 0 obj -[1118 0 R/XYZ 0 15259 1] -endobj - -11954 0 obj -[1394 0 R/XYZ 0 15259 1] -endobj - -11955 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -11956 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -11957 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -11958 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -11959 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -11960 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -11961 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -11962 0 obj -[595 0 R/XYZ 0 15259 1] -endobj - -11963 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -11964 0 obj -[1178 0 R/XYZ 0 15259 1] -endobj - -11965 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -11966 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -11967 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -11968 0 obj -[1282 0 R/XYZ 0 15259 1] -endobj - -11969 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -11970 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -11971 0 obj -[747 0 R/XYZ 0 15259 1] -endobj - -11972 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -11973 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -11974 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -11975 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -11976 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -11977 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -11978 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -11979 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -11980 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -11981 0 obj -[580 0 R/XYZ 0 15259 1] -endobj - -11982 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -11983 0 obj -[601 0 R/XYZ 0 15259 1] -endobj - -11984 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -11985 0 obj -[1611 0 R/XYZ 0 15259 1] -endobj - -11986 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -11987 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -11988 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -11989 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -11990 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -11991 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -11992 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -11993 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -11994 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -11995 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -11996 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -11997 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -11998 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -11999 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -12000 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -12001 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12002 0 obj -[1329 0 R/XYZ 0 15259 1] -endobj - -12003 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -12004 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -12005 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -12006 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12007 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -12008 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -12009 0 obj -[1336 0 R/XYZ 0 15259 1] -endobj - -12010 0 obj -[1342 0 R/XYZ 0 15259 1] -endobj - -12011 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -12012 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -12013 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -12014 0 obj -[1358 0 R/XYZ 0 15259 1] -endobj - -12015 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -12016 0 obj -[1370 0 R/XYZ 0 15259 1] -endobj - -12017 0 obj -[1372 0 R/XYZ 0 15259 1] -endobj - -12018 0 obj -[1394 0 R/XYZ 0 15259 1] -endobj - -12019 0 obj -[1404 0 R/XYZ 0 15259 1] -endobj - -12020 0 obj -[1405 0 R/XYZ 0 15259 1] -endobj - -12021 0 obj -[1342 0 R/XYZ 0 15259 1] -endobj - -12022 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -12023 0 obj -[828 0 R/XYZ 0 15259 1] -endobj - -12024 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12025 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -12026 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -12027 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -12028 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -12029 0 obj -[828 0 R/XYZ 0 15259 1] -endobj - -12030 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -12031 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -12032 0 obj -[828 0 R/XYZ 0 15259 1] -endobj - -12033 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -12034 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -12035 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -12036 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -12037 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -12038 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -12039 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -12040 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -12041 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -12042 0 obj -[1342 0 R/XYZ 0 15259 1] -endobj - -12043 0 obj -[1336 0 R/XYZ 0 15259 1] -endobj - -12044 0 obj -[1342 0 R/XYZ 0 15259 1] -endobj - -12045 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -12046 0 obj -[1370 0 R/XYZ 0 15259 1] -endobj - -12047 0 obj -[1372 0 R/XYZ 0 15259 1] -endobj - -12048 0 obj -[1342 0 R/XYZ 0 15259 1] -endobj - -12049 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -12050 0 obj -[1401 0 R/XYZ 0 15259 1] -endobj - -12051 0 obj -[1405 0 R/XYZ 0 15259 1] -endobj - -12052 0 obj -[366 0 R/XYZ 0 15259 1] -endobj - -12053 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -12054 0 obj -<> -endobj - -12055 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -12056 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12057 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -12058 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -12059 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -12060 0 obj -[1357 0 R/XYZ 0 15259 1] -endobj - -12061 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -12062 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -12063 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12064 0 obj -[1329 0 R/XYZ 0 15259 1] -endobj - -12065 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -12066 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -12067 0 obj -[1336 0 R/XYZ 0 15259 1] -endobj - -12068 0 obj -[1342 0 R/XYZ 0 15259 1] -endobj - -12069 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -12070 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -12071 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -12072 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -12073 0 obj -[1370 0 R/XYZ 0 15259 1] -endobj - -12074 0 obj -[1372 0 R/XYZ 0 15259 1] -endobj - -12075 0 obj -[1394 0 R/XYZ 0 15259 1] -endobj - -12076 0 obj -[1401 0 R/XYZ 0 15259 1] -endobj - -12077 0 obj -[1405 0 R/XYZ 0 15259 1] -endobj - -12078 0 obj -[1413 0 R/XYZ 0 15259 1] -endobj - -12079 0 obj -[1342 0 R/XYZ 0 15259 1] -endobj - -12080 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -12081 0 obj -[828 0 R/XYZ 0 15259 1] -endobj - -12082 0 obj -[830 0 R/XYZ 0 15259 1] -endobj - -12083 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -12084 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -12085 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12086 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -12087 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -12088 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -12089 0 obj -[1173 0 R/XYZ 0 15259 1] -endobj - -12090 0 obj -[1174 0 R/XYZ 0 15259 1] -endobj - -12091 0 obj -[488 0 R/XYZ 0 15259 1] -endobj - -12092 0 obj -[758 0 R/XYZ 0 15259 1] -endobj - -12093 0 obj -[759 0 R/XYZ 0 15259 1] -endobj - -12094 0 obj -[912 0 R/XYZ 0 15259 1] -endobj - -12095 0 obj -[1093 0 R/XYZ 0 15259 1] -endobj - -12096 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -12097 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -12098 0 obj -[1155 0 R/XYZ 0 15259 1] -endobj - -12099 0 obj -[1158 0 R/XYZ 0 15259 1] -endobj - -12100 0 obj -[1204 0 R/XYZ 0 15259 1] -endobj - -12101 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -12102 0 obj -[913 0 R/XYZ 0 15259 1] -endobj - -12103 0 obj -[1156 0 R/XYZ 0 15259 1] -endobj - -12104 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -12105 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -12106 0 obj -[585 0 R/XYZ 0 15259 1] -endobj - -12107 0 obj -[758 0 R/XYZ 0 15259 1] -endobj - -12108 0 obj -[912 0 R/XYZ 0 15259 1] -endobj - -12109 0 obj -[1093 0 R/XYZ 0 15259 1] -endobj - -12110 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -12111 0 obj -[1155 0 R/XYZ 0 15259 1] -endobj - -12112 0 obj -[1158 0 R/XYZ 0 15259 1] -endobj - -12113 0 obj -[1204 0 R/XYZ 0 15259 1] -endobj - -12114 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -12115 0 obj -[1634 0 R/XYZ 0 15259 1] -endobj - -12116 0 obj -[913 0 R/XYZ 0 15259 1] -endobj - -12117 0 obj -[1156 0 R/XYZ 0 15259 1] -endobj - -12118 0 obj -[758 0 R/XYZ 0 15259 1] -endobj - -12119 0 obj -[759 0 R/XYZ 0 15259 1] -endobj - -12120 0 obj -[912 0 R/XYZ 0 15259 1] -endobj - -12121 0 obj -[1093 0 R/XYZ 0 15259 1] -endobj - -12122 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -12123 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -12124 0 obj -[1155 0 R/XYZ 0 15259 1] -endobj - -12125 0 obj -[1204 0 R/XYZ 0 15259 1] -endobj - -12126 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -12127 0 obj -[1634 0 R/XYZ 0 15259 1] -endobj - -12128 0 obj -[913 0 R/XYZ 0 15259 1] -endobj - -12129 0 obj -[1156 0 R/XYZ 0 15259 1] -endobj - -12130 0 obj -[816 0 R/XYZ 0 15259 1] -endobj - -12131 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -12132 0 obj -[1103 0 R/XYZ 0 15259 1] -endobj - -12133 0 obj -[1413 0 R/XYZ 0 15259 1] -endobj - -12134 0 obj -[1414 0 R/XYZ 0 15259 1] -endobj - -12135 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -12136 0 obj -[815 0 R/XYZ 0 15259 1] -endobj - -12137 0 obj -[816 0 R/XYZ 0 15259 1] -endobj - -12138 0 obj -[1103 0 R/XYZ 0 15259 1] -endobj - -12139 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -12140 0 obj -[1388 0 R/XYZ 0 15259 1] -endobj - -12141 0 obj -[1409 0 R/XYZ 0 15259 1] -endobj - -12142 0 obj -[1623 0 R/XYZ 0 15259 1] -endobj - -12143 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -12144 0 obj -[642 0 R/XYZ 0 15259 1] -endobj - -12145 0 obj -[381 0 R/XYZ 0 15259 1] -endobj - -12146 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -12147 0 obj -[810 0 R/XYZ 0 15259 1] -endobj - -12148 0 obj -[812 0 R/XYZ 0 15259 1] -endobj - -12149 0 obj -[1379 0 R/XYZ 0 15259 1] -endobj - -12150 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -12151 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -12152 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -12153 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -12154 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -12155 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -12156 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -12157 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -12158 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -12159 0 obj -[786 0 R/XYZ 0 15259 1] -endobj - -12160 0 obj -[816 0 R/XYZ 0 15259 1] -endobj - -12161 0 obj -[821 0 R/XYZ 0 15259 1] -endobj - -12162 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -12163 0 obj -[830 0 R/XYZ 0 15259 1] -endobj - -12164 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -12165 0 obj -[834 0 R/XYZ 0 15259 1] -endobj - -12166 0 obj -[836 0 R/XYZ 0 15259 1] -endobj - -12167 0 obj -[840 0 R/XYZ 0 15259 1] -endobj - -12168 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -12169 0 obj -[845 0 R/XYZ 0 15259 1] -endobj - -12170 0 obj -[854 0 R/XYZ 0 15259 1] -endobj - -12171 0 obj -[857 0 R/XYZ 0 15259 1] -endobj - -12172 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -12173 0 obj -[1055 0 R/XYZ 0 15259 1] -endobj - -12174 0 obj -[1057 0 R/XYZ 0 15259 1] -endobj - -12175 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -12176 0 obj -[1063 0 R/XYZ 0 15259 1] -endobj - -12177 0 obj -[1078 0 R/XYZ 0 15259 1] -endobj - -12178 0 obj -[1337 0 R/XYZ 0 15259 1] -endobj - -12179 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -12180 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -12181 0 obj -[1357 0 R/XYZ 0 15259 1] -endobj - -12182 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -12183 0 obj -[1366 0 R/XYZ 0 15259 1] -endobj - -12184 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -12185 0 obj -[1396 0 R/XYZ 0 15259 1] -endobj - -12186 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -12187 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -12188 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -12189 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -12190 0 obj -[1357 0 R/XYZ 0 15259 1] -endobj - -12191 0 obj -[1364 0 R/XYZ 0 15259 1] -endobj - -12192 0 obj -[1327 0 R/XYZ 0 15259 1] -endobj - -12193 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -12194 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -12195 0 obj -[1357 0 R/XYZ 0 15259 1] -endobj - -12196 0 obj -[808 0 R/XYZ 0 15259 1] -endobj - -12197 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -12198 0 obj -[1328 0 R/XYZ 0 15259 1] -endobj - -12199 0 obj -[1369 0 R/XYZ 0 15259 1] -endobj - -12200 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -12201 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -12202 0 obj -[1328 0 R/XYZ 0 15259 1] -endobj - -12203 0 obj -[1328 0 R/XYZ 0 15259 1] -endobj - -12204 0 obj -[1369 0 R/XYZ 0 15259 1] -endobj - -12205 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -12206 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -12207 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -12208 0 obj -[1409 0 R/XYZ 0 15259 1] -endobj - -12209 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -12210 0 obj -[1376 0 R/XYZ 0 15259 1] -endobj - -12211 0 obj -[1342 0 R/XYZ 0 15259 1] -endobj - -12212 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -12213 0 obj -[1347 0 R/XYZ 0 15259 1] -endobj - -12214 0 obj -[833 0 R/XYZ 0 15259 1] -endobj - -12215 0 obj -[1055 0 R/XYZ 0 15259 1] -endobj - -12216 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12217 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -12218 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -12219 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -12220 0 obj -[1376 0 R/XYZ 0 15259 1] -endobj - -12221 0 obj -[1379 0 R/XYZ 0 15259 1] -endobj - -12222 0 obj -[1389 0 R/XYZ 0 15259 1] -endobj - -12223 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -12224 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -12225 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -12226 0 obj -[690 0 R/XYZ 0 15259 1] -endobj - -12227 0 obj -[694 0 R/XYZ 0 15259 1] -endobj - -12228 0 obj -[1379 0 R/XYZ 0 15259 1] -endobj - -12229 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -12230 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -12231 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -12232 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -12233 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -12234 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -12235 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -12236 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -12237 0 obj -[1333 0 R/XYZ 0 15259 1] -endobj - -12238 0 obj -[1336 0 R/XYZ 0 15259 1] -endobj - -12239 0 obj -[1342 0 R/XYZ 0 15259 1] -endobj - -12240 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -12241 0 obj -[1353 0 R/XYZ 0 15259 1] -endobj - -12242 0 obj -[1355 0 R/XYZ 0 15259 1] -endobj - -12243 0 obj -[1358 0 R/XYZ 0 15259 1] -endobj - -12244 0 obj -[1365 0 R/XYZ 0 15259 1] -endobj - -12245 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -12246 0 obj -[1371 0 R/XYZ 0 15259 1] -endobj - -12247 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -12248 0 obj -[1394 0 R/XYZ 0 15259 1] -endobj - -12249 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -12250 0 obj -[1404 0 R/XYZ 0 15259 1] -endobj - -12251 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -12252 0 obj -[1413 0 R/XYZ 0 15259 1] -endobj - -12253 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -12254 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -12255 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -12256 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -12257 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -12258 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -12259 0 obj -[1330 0 R/XYZ 0 15259 1] -endobj - -12260 0 obj -[699 0 R/XYZ 0 15259 1] -endobj - -12261 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -12262 0 obj -[500 0 R/XYZ 0 15259 1] -endobj - -12263 0 obj -[661 0 R/XYZ 0 15259 1] -endobj - -12264 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -12265 0 obj -[1423 0 R/XYZ 0 15259 1] -endobj - -12266 0 obj -[1652 0 R/XYZ 0 15259 1] -endobj - -12267 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -12268 0 obj -[1044 0 R/XYZ 0 15259 1] -endobj - -12269 0 obj -[1049 0 R/XYZ 0 15259 1] -endobj - -12270 0 obj -[1028 0 R/XYZ 0 15259 1] -endobj - -12271 0 obj -[396 0 R/XYZ 0 15259 1] -endobj - -12272 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -12273 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -12274 0 obj -[943 0 R/XYZ 0 15259 1] -endobj - -12275 0 obj -[996 0 R/XYZ 0 15259 1] -endobj - -12276 0 obj -[1205 0 R/XYZ 0 15259 1] -endobj - -12277 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -12278 0 obj -[1039 0 R/XYZ 0 15259 1] -endobj - -12279 0 obj -[943 0 R/XYZ 0 15259 1] -endobj - -12280 0 obj -[947 0 R/XYZ 0 15259 1] -endobj - -12281 0 obj -[1001 0 R/XYZ 0 15259 1] -endobj - -12282 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -12283 0 obj -[947 0 R/XYZ 0 15259 1] -endobj - -12284 0 obj -[951 0 R/XYZ 0 15259 1] -endobj - -12285 0 obj -[1049 0 R/XYZ 0 15259 1] -endobj - -12286 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -12287 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -12288 0 obj -[1030 0 R/XYZ 0 15259 1] -endobj - -12289 0 obj -[961 0 R/XYZ 0 15259 1] -endobj - -12290 0 obj -[995 0 R/XYZ 0 15259 1] -endobj - -12291 0 obj -[951 0 R/XYZ 0 15259 1] -endobj - -12292 0 obj -[961 0 R/XYZ 0 15259 1] -endobj - -12293 0 obj -[1039 0 R/XYZ 0 15259 1] -endobj - -12294 0 obj -[1044 0 R/XYZ 0 15259 1] -endobj - -12295 0 obj -[1030 0 R/XYZ 0 15259 1] -endobj - -12296 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -12297 0 obj -[1627 0 R/XYZ 0 15259 1] -endobj - -12298 0 obj -[405 0 R/XYZ 0 15259 1] -endobj - -12299 0 obj -[450 0 R/XYZ 0 15259 1] -endobj - -12300 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -12301 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -12302 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -12303 0 obj -[786 0 R/XYZ 0 15259 1] -endobj - -12304 0 obj -[799 0 R/XYZ 0 15259 1] -endobj - -12305 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -12306 0 obj -[684 0 R/XYZ 0 15259 1] -endobj - -12307 0 obj -[405 0 R/XYZ 0 15259 1] -endobj - -12308 0 obj -[411 0 R/XYZ 0 15259 1] -endobj - -12309 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -12310 0 obj -[579 0 R/XYZ 0 15259 1] -endobj - -12311 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -12312 0 obj -[678 0 R/XYZ 0 15259 1] -endobj - -12313 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -12314 0 obj -[779 0 R/XYZ 0 15259 1] -endobj - -12315 0 obj -[786 0 R/XYZ 0 15259 1] -endobj - -12316 0 obj -[405 0 R/XYZ 0 15259 1] -endobj - -12317 0 obj -[411 0 R/XYZ 0 15259 1] -endobj - -12318 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -12319 0 obj -[799 0 R/XYZ 0 15259 1] -endobj - -12320 0 obj -[802 0 R/XYZ 0 15259 1] -endobj - -12321 0 obj -[405 0 R/XYZ 0 15259 1] -endobj - -12322 0 obj -[405 0 R/XYZ 0 15259 1] -endobj - -12323 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -12324 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -12325 0 obj -[1369 0 R/XYZ 0 15259 1] -endobj - -12326 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -12327 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -12328 0 obj -[1643 0 R/XYZ 0 15259 1] -endobj - -12329 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -12330 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -12331 0 obj -[681 0 R/XYZ 0 15259 1] -endobj - -12332 0 obj -[779 0 R/XYZ 0 15259 1] -endobj - -12333 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12334 0 obj -[906 0 R/XYZ 0 15259 1] -endobj - -12335 0 obj -[1288 0 R/XYZ 0 15259 1] -endobj - -12336 0 obj -[1289 0 R/XYZ 0 15259 1] -endobj - -12337 0 obj -[1619 0 R/XYZ 0 15259 1] -endobj - -12338 0 obj -[1629 0 R/XYZ 0 15259 1] -endobj - -12339 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -12340 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -12341 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -12342 0 obj -[1019 0 R/XYZ 0 15259 1] -endobj - -12343 0 obj -[1051 0 R/XYZ 0 15259 1] -endobj - -12344 0 obj -[928 0 R/XYZ 0 15259 1] -endobj - -12345 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12346 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12347 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -12348 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -12349 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12350 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -12351 0 obj -[576 0 R/XYZ 0 15259 1] -endobj - -12352 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -12353 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -12354 0 obj -[450 0 R/XYZ 0 15259 1] -endobj - -12355 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -12356 0 obj -[799 0 R/XYZ 0 15259 1] -endobj - -12357 0 obj -[800 0 R/XYZ 0 15259 1] -endobj - -12358 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12359 0 obj -[1132 0 R/XYZ 0 15259 1] -endobj - -12360 0 obj -[799 0 R/XYZ 0 15259 1] -endobj - -12361 0 obj -[529 0 R/XYZ 0 15259 1] -endobj - -12362 0 obj -[579 0 R/XYZ 0 15259 1] -endobj - -12363 0 obj -[581 0 R/XYZ 0 15259 1] -endobj - -12364 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -12365 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -12366 0 obj -[928 0 R/XYZ 0 15259 1] -endobj - -12367 0 obj -[974 0 R/XYZ 0 15259 1] -endobj - -12368 0 obj -[975 0 R/XYZ 0 15259 1] -endobj - -12369 0 obj -[983 0 R/XYZ 0 15259 1] -endobj - -12370 0 obj -[984 0 R/XYZ 0 15259 1] -endobj - -12371 0 obj -[1016 0 R/XYZ 0 15259 1] -endobj - -12372 0 obj -[1017 0 R/XYZ 0 15259 1] -endobj - -12373 0 obj -[1111 0 R/XYZ 0 15259 1] -endobj - -12374 0 obj -[1526 0 R/XYZ 0 15259 1] -endobj - -12375 0 obj -[405 0 R/XYZ 0 15259 1] -endobj - -12376 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -12377 0 obj -[529 0 R/XYZ 0 15259 1] -endobj - -12378 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -12379 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -12380 0 obj -[684 0 R/XYZ 0 15259 1] -endobj - -12381 0 obj -[1606 0 R/XYZ 0 15259 1] -endobj - -12382 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -12383 0 obj -[984 0 R/XYZ 0 15259 1] -endobj - -12384 0 obj -[993 0 R/XYZ 0 15259 1] -endobj - -12385 0 obj -[1016 0 R/XYZ 0 15259 1] -endobj - -12386 0 obj -[1107 0 R/XYZ 0 15259 1] -endobj - -12387 0 obj -[1111 0 R/XYZ 0 15259 1] -endobj - -12388 0 obj -[1499 0 R/XYZ 0 15259 1] -endobj - -12389 0 obj -[1500 0 R/XYZ 0 15259 1] -endobj - -12390 0 obj -[1629 0 R/XYZ 0 15259 1] -endobj - -12391 0 obj -[1633 0 R/XYZ 0 15259 1] -endobj - -12392 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -12393 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -12394 0 obj -[497 0 R/XYZ 0 15259 1] -endobj - -12395 0 obj -<> -endobj - -12396 0 obj -[1142 0 R/XYZ 0 15259 1] -endobj - -12397 0 obj -[623 0 R/XYZ 0 15259 1] -endobj - -12398 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -12399 0 obj -[515 0 R/XYZ 0 15259 1] -endobj - -12400 0 obj -[517 0 R/XYZ 0 15259 1] -endobj - -12401 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -12402 0 obj -[1132 0 R/XYZ 0 15259 1] -endobj - -12403 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -12404 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -12405 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -12406 0 obj -[1211 0 R/XYZ 0 15259 1] -endobj - -12407 0 obj -[1376 0 R/XYZ 0 15259 1] -endobj - -12408 0 obj -[1377 0 R/XYZ 0 15259 1] -endobj - -12409 0 obj -[1390 0 R/XYZ 0 15259 1] -endobj - -12410 0 obj -[1404 0 R/XYZ 0 15259 1] -endobj - -12411 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -12412 0 obj -[1416 0 R/XYZ 0 15259 1] -endobj - -12413 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -12414 0 obj -[824 0 R/XYZ 0 15259 1] -endobj - -12415 0 obj -[826 0 R/XYZ 0 15259 1] -endobj - -12416 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -12417 0 obj -[1401 0 R/XYZ 0 15259 1] -endobj - -12418 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -12419 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -12420 0 obj -[1376 0 R/XYZ 0 15259 1] -endobj - -12421 0 obj -[1389 0 R/XYZ 0 15259 1] -endobj - -12422 0 obj -[1401 0 R/XYZ 0 15259 1] -endobj - -12423 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -12424 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -12425 0 obj -[678 0 R/XYZ 0 15259 1] -endobj - -12426 0 obj -[681 0 R/XYZ 0 15259 1] -endobj - -12427 0 obj -[975 0 R/XYZ 0 15259 1] -endobj - -12428 0 obj -[1619 0 R/XYZ 0 15259 1] -endobj - -12429 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -12430 0 obj -[640 0 R/XYZ 0 15259 1] -endobj - -12431 0 obj -[645 0 R/XYZ 0 15259 1] -endobj - -12432 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -12433 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -12434 0 obj -[640 0 R/XYZ 0 15259 1] -endobj - -12435 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -12436 0 obj -[641 0 R/XYZ 0 15259 1] -endobj - -12437 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -12438 0 obj -[640 0 R/XYZ 0 15259 1] -endobj - -12439 0 obj -[645 0 R/XYZ 0 15259 1] -endobj - -12440 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -12441 0 obj -[640 0 R/XYZ 0 15259 1] -endobj - -12442 0 obj -[799 0 R/XYZ 0 15259 1] -endobj - -12443 0 obj -[800 0 R/XYZ 0 15259 1] -endobj - -12444 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -12445 0 obj -[762 0 R/XYZ 0 15259 1] -endobj - -12446 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -12447 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -12448 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -12449 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -12450 0 obj -[580 0 R/XYZ 0 15259 1] -endobj - -12451 0 obj -[1099 0 R/XYZ 0 15259 1] -endobj - -12452 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -12453 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -12454 0 obj -[901 0 R/XYZ 0 15259 1] -endobj - -12455 0 obj -[1494 0 R/XYZ 0 15259 1] -endobj - -12456 0 obj -[1499 0 R/XYZ 0 15259 1] -endobj - -12457 0 obj -[1500 0 R/XYZ 0 15259 1] -endobj - -12458 0 obj -[1519 0 R/XYZ 0 15259 1] -endobj - -12459 0 obj -[1532 0 R/XYZ 0 15259 1] -endobj - -12460 0 obj -[1533 0 R/XYZ 0 15259 1] -endobj - -12461 0 obj -[1499 0 R/XYZ 0 15259 1] -endobj - -12462 0 obj -[1494 0 R/XYZ 0 15259 1] -endobj - -12463 0 obj -[1500 0 R/XYZ 0 15259 1] -endobj - -12464 0 obj -[1518 0 R/XYZ 0 15259 1] -endobj - -12465 0 obj -[1500 0 R/XYZ 0 15259 1] -endobj - -12466 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -12467 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -12468 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -12469 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -12470 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -12471 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -12472 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -12473 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -12474 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -12475 0 obj -[487 0 R/XYZ 0 15259 1] -endobj - -12476 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -12477 0 obj -[487 0 R/XYZ 0 15259 1] -endobj - -12478 0 obj -[1099 0 R/XYZ 0 15259 1] -endobj - -12479 0 obj -[1387 0 R/XYZ 0 15259 1] -endobj - -12480 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -12481 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -12482 0 obj -[1370 0 R/XYZ 0 15259 1] -endobj - -12483 0 obj -[1405 0 R/XYZ 0 15259 1] -endobj - -12484 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -12485 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -12486 0 obj -[1369 0 R/XYZ 0 15259 1] -endobj - -12487 0 obj -[1374 0 R/XYZ 0 15259 1] -endobj - -12488 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -12489 0 obj -[1370 0 R/XYZ 0 15259 1] -endobj - -12490 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -12491 0 obj -[594 0 R/XYZ 0 15259 1] -endobj - -12492 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -12493 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -12494 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -12495 0 obj -[1358 0 R/XYZ 0 15259 1] -endobj - -12496 0 obj -[1359 0 R/XYZ 0 15259 1] -endobj - -12497 0 obj -[1362 0 R/XYZ 0 15259 1] -endobj - -12498 0 obj -[1358 0 R/XYZ 0 15259 1] -endobj - -12499 0 obj -[1361 0 R/XYZ 0 15259 1] -endobj - -12500 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -12501 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -12502 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -12503 0 obj -[1026 0 R/XYZ 0 15259 1] -endobj - -12504 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -12505 0 obj -[1369 0 R/XYZ 0 15259 1] -endobj - -12506 0 obj -[1374 0 R/XYZ 0 15259 1] -endobj - -12507 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -12508 0 obj -[1405 0 R/XYZ 0 15259 1] -endobj - -12509 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -12510 0 obj -[1371 0 R/XYZ 0 15259 1] -endobj - -12511 0 obj -[1369 0 R/XYZ 0 15259 1] -endobj - -12512 0 obj -[1374 0 R/XYZ 0 15259 1] -endobj - -12513 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -12514 0 obj -[1372 0 R/XYZ 0 15259 1] -endobj - -12515 0 obj -[1370 0 R/XYZ 0 15259 1] -endobj - -12516 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -12517 0 obj -[1373 0 R/XYZ 0 15259 1] -endobj - -12518 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -12519 0 obj -[1390 0 R/XYZ 0 15259 1] -endobj - -12520 0 obj -[1412 0 R/XYZ 0 15259 1] -endobj - -12521 0 obj -[677 0 R/XYZ 0 15259 1] -endobj - -12522 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -12523 0 obj -[682 0 R/XYZ 0 15259 1] -endobj - -12524 0 obj -[684 0 R/XYZ 0 15259 1] -endobj - -12525 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -12526 0 obj -[1619 0 R/XYZ 0 15259 1] -endobj - -12527 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -12528 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -12529 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -12530 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -12531 0 obj -[386 0 R/XYZ 0 15259 1] -endobj - -12532 0 obj -[418 0 R/XYZ 0 15259 1] -endobj - -12533 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -12534 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -12535 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -12536 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -12537 0 obj -[900 0 R/XYZ 0 15259 1] -endobj - -12538 0 obj -[1299 0 R/XYZ 0 15259 1] -endobj - -12539 0 obj -[1301 0 R/XYZ 0 15259 1] -endobj - -12540 0 obj -[458 0 R/XYZ 0 15259 1] -endobj - -12541 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -12542 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -12543 0 obj -[560 0 R/XYZ 0 15259 1] -endobj - -12544 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -12545 0 obj -[583 0 R/XYZ 0 15259 1] -endobj - -12546 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -12547 0 obj -[1231 0 R/XYZ 0 15259 1] -endobj - -12548 0 obj -[1231 0 R/XYZ 0 15259 1] -endobj - -12549 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -12550 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -12551 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -12552 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -12553 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -12554 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -12555 0 obj -[545 0 R/XYZ 0 15259 1] -endobj - -12556 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -12557 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -12558 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12559 0 obj -[1059 0 R/XYZ 0 15259 1] -endobj - -12560 0 obj -[1060 0 R/XYZ 0 15259 1] -endobj - -12561 0 obj -[545 0 R/XYZ 0 15259 1] -endobj - -12562 0 obj -[546 0 R/XYZ 0 15259 1] -endobj - -12563 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -12564 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -12565 0 obj -[684 0 R/XYZ 0 15259 1] -endobj - -12566 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12567 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -12568 0 obj -[674 0 R/XYZ 0 15259 1] -endobj - -12569 0 obj -[684 0 R/XYZ 0 15259 1] -endobj - -12570 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -12571 0 obj -[478 0 R/XYZ 0 15259 1] -endobj - -12572 0 obj -[523 0 R/XYZ 0 15259 1] -endobj - -12573 0 obj -[623 0 R/XYZ 0 15259 1] -endobj - -12574 0 obj -[617 0 R/XYZ 0 15259 1] -endobj - -12575 0 obj -[619 0 R/XYZ 0 15259 1] -endobj - -12576 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -12577 0 obj -[617 0 R/XYZ 0 15259 1] -endobj - -12578 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -12579 0 obj -[700 0 R/XYZ 0 15259 1] -endobj - -12580 0 obj -[389 0 R/XYZ 0 15259 1] -endobj - -12581 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -12582 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -12583 0 obj -[480 0 R/XYZ 0 15259 1] -endobj - -12584 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -12585 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -12586 0 obj -[1104 0 R/XYZ 0 15259 1] -endobj - -12587 0 obj -[1441 0 R/XYZ 0 15259 1] -endobj - -12588 0 obj -[1593 0 R/XYZ 0 15259 1] -endobj - -12589 0 obj -[378 0 R/XYZ 0 15259 1] -endobj - -12590 0 obj -[380 0 R/XYZ 0 15259 1] -endobj - -12591 0 obj -[1276 0 R/XYZ 0 15259 1] -endobj - -12592 0 obj -[1292 0 R/XYZ 0 15259 1] -endobj - -12593 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -12594 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -12595 0 obj -[437 0 R/XYZ 0 15259 1] -endobj - -12596 0 obj -[362 0 R/XYZ 0 15259 1] -endobj - -12597 0 obj -[368 0 R/XYZ 0 15259 1] -endobj - -12598 0 obj -<> -endobj - -12599 0 obj -[561 0 R/XYZ 0 15259 1] -endobj - -12600 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -12601 0 obj -[568 0 R/XYZ 0 15259 1] -endobj - -12602 0 obj -[571 0 R/XYZ 0 15259 1] -endobj - -12603 0 obj -[572 0 R/XYZ 0 15259 1] -endobj - -12604 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -12605 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -12606 0 obj -[642 0 R/XYZ 0 15259 1] -endobj - -12607 0 obj -[643 0 R/XYZ 0 15259 1] -endobj - -12608 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12609 0 obj -[917 0 R/XYZ 0 15259 1] -endobj - -12610 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -12611 0 obj -[1099 0 R/XYZ 0 15259 1] -endobj - -12612 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -12613 0 obj -[1286 0 R/XYZ 0 15259 1] -endobj - -12614 0 obj -[1288 0 R/XYZ 0 15259 1] -endobj - -12615 0 obj -[1290 0 R/XYZ 0 15259 1] -endobj - -12616 0 obj -[1517 0 R/XYZ 0 15259 1] -endobj - -12617 0 obj -[1520 0 R/XYZ 0 15259 1] -endobj - -12618 0 obj -[1521 0 R/XYZ 0 15259 1] -endobj - -12619 0 obj -[1531 0 R/XYZ 0 15259 1] -endobj - -12620 0 obj -[1609 0 R/XYZ 0 15259 1] -endobj - -12621 0 obj -[1611 0 R/XYZ 0 15259 1] -endobj - -12622 0 obj -[1637 0 R/XYZ 0 15259 1] -endobj - -12623 0 obj -[1642 0 R/XYZ 0 15259 1] -endobj - -12624 0 obj -[565 0 R/XYZ 0 15259 1] -endobj - -12625 0 obj -[564 0 R/XYZ 0 15259 1] -endobj - -12626 0 obj -[568 0 R/XYZ 0 15259 1] -endobj - -12627 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12628 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -12629 0 obj -[565 0 R/XYZ 0 15259 1] -endobj - -12630 0 obj -[1091 0 R/XYZ 0 15259 1] -endobj - -12631 0 obj -[1445 0 R/XYZ 0 15259 1] -endobj - -12632 0 obj -[1446 0 R/XYZ 0 15259 1] -endobj - -12633 0 obj -[1448 0 R/XYZ 0 15259 1] -endobj - -12634 0 obj -[1454 0 R/XYZ 0 15259 1] -endobj - -12635 0 obj -[1456 0 R/XYZ 0 15259 1] -endobj - -12636 0 obj -[1457 0 R/XYZ 0 15259 1] -endobj - -12637 0 obj -[1459 0 R/XYZ 0 15259 1] -endobj - -12638 0 obj -[1463 0 R/XYZ 0 15259 1] -endobj - -12639 0 obj -[1464 0 R/XYZ 0 15259 1] -endobj - -12640 0 obj -[1466 0 R/XYZ 0 15259 1] -endobj - -12641 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -12642 0 obj -[1395 0 R/XYZ 0 15259 1] -endobj - -12643 0 obj -[1397 0 R/XYZ 0 15259 1] -endobj - -12644 0 obj -[1395 0 R/XYZ 0 15259 1] -endobj - -12645 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -12646 0 obj -[1144 0 R/XYZ 0 15259 1] -endobj - -12647 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -12648 0 obj -[864 0 R/XYZ 0 15259 1] -endobj - -12649 0 obj -[866 0 R/XYZ 0 15259 1] -endobj - -12650 0 obj -[710 0 R/XYZ 0 15259 1] -endobj - -12651 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -12652 0 obj -[710 0 R/XYZ 0 15259 1] -endobj - -12653 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -12654 0 obj -[1508 0 R/XYZ 0 15259 1] -endobj - -12655 0 obj -[1513 0 R/XYZ 0 15259 1] -endobj - -12656 0 obj -[1526 0 R/XYZ 0 15259 1] -endobj - -12657 0 obj -[1538 0 R/XYZ 0 15259 1] -endobj - -12658 0 obj -[1513 0 R/XYZ 0 15259 1] -endobj - -12659 0 obj -[814 0 R/XYZ 0 15259 1] -endobj - -12660 0 obj -[1254 0 R/XYZ 0 15259 1] -endobj - -12661 0 obj -[1255 0 R/XYZ 0 15259 1] -endobj - -12662 0 obj -[1257 0 R/XYZ 0 15259 1] -endobj - -12663 0 obj -[1259 0 R/XYZ 0 15259 1] -endobj - -12664 0 obj -[1260 0 R/XYZ 0 15259 1] -endobj - -12665 0 obj -[1262 0 R/XYZ 0 15259 1] -endobj - -12666 0 obj -[1264 0 R/XYZ 0 15259 1] -endobj - -12667 0 obj -[1272 0 R/XYZ 0 15259 1] -endobj - -12668 0 obj -[1068 0 R/XYZ 0 15259 1] -endobj - -12669 0 obj -[708 0 R/XYZ 0 15259 1] -endobj - -12670 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -12671 0 obj -[399 0 R/XYZ 0 15259 1] -endobj - -12672 0 obj -[768 0 R/XYZ 0 15259 1] -endobj - -12673 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -12674 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -12675 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -12676 0 obj -[540 0 R/XYZ 0 15259 1] -endobj - -12677 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -12678 0 obj -[548 0 R/XYZ 0 15259 1] -endobj - -12679 0 obj -[554 0 R/XYZ 0 15259 1] -endobj - -12680 0 obj -[579 0 R/XYZ 0 15259 1] -endobj - -12681 0 obj -[599 0 R/XYZ 0 15259 1] -endobj - -12682 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -12683 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -12684 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -12685 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -12686 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -12687 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -12688 0 obj -[809 0 R/XYZ 0 15259 1] -endobj - -12689 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -12690 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -12691 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -12692 0 obj -[1180 0 R/XYZ 0 15259 1] -endobj - -12693 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -12694 0 obj -[1194 0 R/XYZ 0 15259 1] -endobj - -12695 0 obj -[1200 0 R/XYZ 0 15259 1] -endobj - -12696 0 obj -[1215 0 R/XYZ 0 15259 1] -endobj - -12697 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -12698 0 obj -[1286 0 R/XYZ 0 15259 1] -endobj - -12699 0 obj -[1289 0 R/XYZ 0 15259 1] -endobj - -12700 0 obj -[1503 0 R/XYZ 0 15259 1] -endobj - -12701 0 obj -[1618 0 R/XYZ 0 15259 1] -endobj - -12702 0 obj -[445 0 R/XYZ 0 15259 1] -endobj - -12703 0 obj -[446 0 R/XYZ 0 15259 1] -endobj - -12704 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -12705 0 obj -[535 0 R/XYZ 0 15259 1] -endobj - -12706 0 obj -[537 0 R/XYZ 0 15259 1] -endobj - -12707 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -12708 0 obj -[721 0 R/XYZ 0 15259 1] -endobj - -12709 0 obj -[732 0 R/XYZ 0 15259 1] -endobj - -12710 0 obj -[738 0 R/XYZ 0 15259 1] -endobj - -12711 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -12712 0 obj -[765 0 R/XYZ 0 15259 1] -endobj - -12713 0 obj -[769 0 R/XYZ 0 15259 1] -endobj - -12714 0 obj -[774 0 R/XYZ 0 15259 1] -endobj - -12715 0 obj -[786 0 R/XYZ 0 15259 1] -endobj - -12716 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -12717 0 obj -[809 0 R/XYZ 0 15259 1] -endobj - -12718 0 obj -[811 0 R/XYZ 0 15259 1] -endobj - -12719 0 obj -[880 0 R/XYZ 0 15259 1] -endobj - -12720 0 obj -[938 0 R/XYZ 0 15259 1] -endobj - -12721 0 obj -[1214 0 R/XYZ 0 15259 1] -endobj - -12722 0 obj -[1624 0 R/XYZ 0 15259 1] -endobj - -12723 0 obj -[442 0 R/XYZ 0 15259 1] -endobj - -12724 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -12725 0 obj -[1634 0 R/XYZ 0 15259 1] -endobj - -12726 0 obj -[405 0 R/XYZ 0 15259 1] -endobj - -12727 0 obj -[676 0 R/XYZ 0 15259 1] -endobj - -12728 0 obj -[679 0 R/XYZ 0 15259 1] -endobj - -12729 0 obj -[684 0 R/XYZ 0 15259 1] -endobj - -12730 0 obj -[580 0 R/XYZ 0 15259 1] -endobj - -12731 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12732 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -12733 0 obj -[579 0 R/XYZ 0 15259 1] -endobj - -12734 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -12735 0 obj -[581 0 R/XYZ 0 15259 1] -endobj - -12736 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12737 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -12738 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -12739 0 obj -[579 0 R/XYZ 0 15259 1] -endobj - -12740 0 obj -[579 0 R/XYZ 0 15259 1] -endobj - -12741 0 obj -[580 0 R/XYZ 0 15259 1] -endobj - -12742 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -12743 0 obj -[581 0 R/XYZ 0 15259 1] -endobj - -12744 0 obj -[600 0 R/XYZ 0 15259 1] -endobj - -12745 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12746 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -12747 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -12748 0 obj -[580 0 R/XYZ 0 15259 1] -endobj - -12749 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -12750 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -12751 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -12752 0 obj -[845 0 R/XYZ 0 15259 1] -endobj - -12753 0 obj -[1409 0 R/XYZ 0 15259 1] -endobj - -12754 0 obj -[1623 0 R/XYZ 0 15259 1] -endobj - -12755 0 obj -[1630 0 R/XYZ 0 15259 1] -endobj - -12756 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -12757 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -12758 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -12759 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -12760 0 obj -[674 0 R/XYZ 0 15259 1] -endobj - -12761 0 obj -[684 0 R/XYZ 0 15259 1] -endobj - -12762 0 obj -[674 0 R/XYZ 0 15259 1] -endobj - -12763 0 obj -[1103 0 R/XYZ 0 15259 1] -endobj - -12764 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -12765 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -12766 0 obj -[1444 0 R/XYZ 0 15259 1] -endobj - -12767 0 obj -[1444 0 R/XYZ 0 15259 1] -endobj - -12768 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -12769 0 obj -[1602 0 R/XYZ 0 15259 1] -endobj - -12770 0 obj -[1444 0 R/XYZ 0 15259 1] -endobj - -12771 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -12772 0 obj -[1602 0 R/XYZ 0 15259 1] -endobj - -12773 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -12774 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -12775 0 obj -[633 0 R/XYZ 0 15259 1] -endobj - -12776 0 obj -[700 0 R/XYZ 0 15259 1] -endobj - -12777 0 obj -[714 0 R/XYZ 0 15259 1] -endobj - -12778 0 obj -[716 0 R/XYZ 0 15259 1] -endobj - -12779 0 obj -[718 0 R/XYZ 0 15259 1] -endobj - -12780 0 obj -[727 0 R/XYZ 0 15259 1] -endobj - -12781 0 obj -[718 0 R/XYZ 0 15259 1] -endobj - -12782 0 obj -[716 0 R/XYZ 0 15259 1] -endobj - -12783 0 obj -[718 0 R/XYZ 0 15259 1] -endobj - -12784 0 obj -[716 0 R/XYZ 0 15259 1] -endobj - -12785 0 obj -[718 0 R/XYZ 0 15259 1] -endobj - -12786 0 obj -[884 0 R/XYZ 0 15259 1] -endobj - -12787 0 obj -[906 0 R/XYZ 0 15259 1] -endobj - -12788 0 obj -[785 0 R/XYZ 0 15259 1] -endobj - -12789 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -12790 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -12791 0 obj -[1444 0 R/XYZ 0 15259 1] -endobj - -12792 0 obj -[1598 0 R/XYZ 0 15259 1] -endobj - -12793 0 obj -[1602 0 R/XYZ 0 15259 1] -endobj - -12794 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12795 0 obj -[632 0 R/XYZ 0 15259 1] -endobj - -12796 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -12797 0 obj -[632 0 R/XYZ 0 15259 1] -endobj - -12798 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12799 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12800 0 obj -[1336 0 R/XYZ 0 15259 1] -endobj - -12801 0 obj -[1369 0 R/XYZ 0 15259 1] -endobj - -12802 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12803 0 obj -[1369 0 R/XYZ 0 15259 1] -endobj - -12804 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12805 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12806 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12807 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -12808 0 obj -[740 0 R/XYZ 0 15259 1] -endobj - -12809 0 obj -[743 0 R/XYZ 0 15259 1] -endobj - -12810 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -12811 0 obj -[1621 0 R/XYZ 0 15259 1] -endobj - -12812 0 obj -[1622 0 R/XYZ 0 15259 1] -endobj - -12813 0 obj -[632 0 R/XYZ 0 15259 1] -endobj - -12814 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -12815 0 obj -[632 0 R/XYZ 0 15259 1] -endobj - -12816 0 obj -[634 0 R/XYZ 0 15259 1] -endobj - -12817 0 obj -[634 0 R/XYZ 0 15259 1] -endobj - -12818 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -12819 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -12820 0 obj -[1099 0 R/XYZ 0 15259 1] -endobj - -12821 0 obj -[1101 0 R/XYZ 0 15259 1] -endobj - -12822 0 obj -[1328 0 R/XYZ 0 15259 1] -endobj - -12823 0 obj -[1377 0 R/XYZ 0 15259 1] -endobj - -12824 0 obj -[1381 0 R/XYZ 0 15259 1] -endobj - -12825 0 obj -[1643 0 R/XYZ 0 15259 1] -endobj - -12826 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12827 0 obj -[1336 0 R/XYZ 0 15259 1] -endobj - -12828 0 obj -[658 0 R/XYZ 0 15259 1] -endobj - -12829 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12830 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12831 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -12832 0 obj -[1370 0 R/XYZ 0 15259 1] -endobj - -12833 0 obj -[1372 0 R/XYZ 0 15259 1] -endobj - -12834 0 obj -[499 0 R/XYZ 0 15259 1] -endobj - -12835 0 obj -[501 0 R/XYZ 0 15259 1] -endobj - -12836 0 obj -[504 0 R/XYZ 0 15259 1] -endobj - -12837 0 obj -[592 0 R/XYZ 0 15259 1] -endobj - -12838 0 obj -[845 0 R/XYZ 0 15259 1] -endobj - -12839 0 obj -[1292 0 R/XYZ 0 15259 1] -endobj - -12840 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -12841 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -12842 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -12843 0 obj -[845 0 R/XYZ 0 15259 1] -endobj - -12844 0 obj -[591 0 R/XYZ 0 15259 1] -endobj - -12845 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -12846 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -12847 0 obj -[1651 0 R/XYZ 0 15259 1] -endobj - -12848 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -12849 0 obj -[716 0 R/XYZ 0 15259 1] -endobj - -12850 0 obj -[718 0 R/XYZ 0 15259 1] -endobj - -12851 0 obj -[884 0 R/XYZ 0 15259 1] -endobj - -12852 0 obj -[906 0 R/XYZ 0 15259 1] -endobj - -12853 0 obj -[632 0 R/XYZ 0 15259 1] -endobj - -12854 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -12855 0 obj -[632 0 R/XYZ 0 15259 1] -endobj - -12856 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12857 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -12858 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12859 0 obj -[634 0 R/XYZ 0 15259 1] -endobj - -12860 0 obj -[634 0 R/XYZ 0 15259 1] -endobj - -12861 0 obj -[632 0 R/XYZ 0 15259 1] -endobj - -12862 0 obj -[1600 0 R/XYZ 0 15259 1] -endobj - -12863 0 obj -[632 0 R/XYZ 0 15259 1] -endobj - -12864 0 obj -[632 0 R/XYZ 0 15259 1] -endobj - -12865 0 obj -[1065 0 R/XYZ 0 15259 1] -endobj - -12866 0 obj -[632 0 R/XYZ 0 15259 1] -endobj - -12867 0 obj -[634 0 R/XYZ 0 15259 1] -endobj - -12868 0 obj -[634 0 R/XYZ 0 15259 1] -endobj - -12869 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12870 0 obj -<> -endobj - -12871 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12872 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12873 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12874 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -12875 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -12876 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -12877 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -12878 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -12879 0 obj -[1343 0 R/XYZ 0 15259 1] -endobj - -12880 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -12881 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -12882 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -12883 0 obj -[1370 0 R/XYZ 0 15259 1] -endobj - -12884 0 obj -[1372 0 R/XYZ 0 15259 1] -endobj - -12885 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -12886 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -12887 0 obj -[1137 0 R/XYZ 0 15259 1] -endobj - -12888 0 obj -[736 0 R/XYZ 0 15259 1] -endobj - -12889 0 obj -[737 0 R/XYZ 0 15259 1] -endobj - -12890 0 obj -[744 0 R/XYZ 0 15259 1] -endobj - -12891 0 obj -[757 0 R/XYZ 0 15259 1] -endobj - -12892 0 obj -[761 0 R/XYZ 0 15259 1] -endobj - -12893 0 obj -[768 0 R/XYZ 0 15259 1] -endobj - -12894 0 obj -[779 0 R/XYZ 0 15259 1] -endobj - -12895 0 obj -[782 0 R/XYZ 0 15259 1] -endobj - -12896 0 obj -[799 0 R/XYZ 0 15259 1] -endobj - -12897 0 obj -[802 0 R/XYZ 0 15259 1] -endobj - -12898 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -12899 0 obj -[830 0 R/XYZ 0 15259 1] -endobj - -12900 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -12901 0 obj -[867 0 R/XYZ 0 15259 1] -endobj - -12902 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -12903 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12904 0 obj -[874 0 R/XYZ 0 15259 1] -endobj - -12905 0 obj -[877 0 R/XYZ 0 15259 1] -endobj - -12906 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -12907 0 obj -[920 0 R/XYZ 0 15259 1] -endobj - -12908 0 obj -[923 0 R/XYZ 0 15259 1] -endobj - -12909 0 obj -[924 0 R/XYZ 0 15259 1] -endobj - -12910 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -12911 0 obj -[1065 0 R/XYZ 0 15259 1] -endobj - -12912 0 obj -[1101 0 R/XYZ 0 15259 1] -endobj - -12913 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -12914 0 obj -[1218 0 R/XYZ 0 15259 1] -endobj - -12915 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -12916 0 obj -[746 0 R/XYZ 0 15259 1] -endobj - -12917 0 obj -[756 0 R/XYZ 0 15259 1] -endobj - -12918 0 obj -[756 0 R/XYZ 0 15259 1] -endobj - -12919 0 obj -[756 0 R/XYZ 0 15259 1] -endobj - -12920 0 obj -[756 0 R/XYZ 0 15259 1] -endobj - -12921 0 obj -[758 0 R/XYZ 0 15259 1] -endobj - -12922 0 obj -[912 0 R/XYZ 0 15259 1] -endobj - -12923 0 obj -[1093 0 R/XYZ 0 15259 1] -endobj - -12924 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -12925 0 obj -[1155 0 R/XYZ 0 15259 1] -endobj - -12926 0 obj -[1204 0 R/XYZ 0 15259 1] -endobj - -12927 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -12928 0 obj -[1634 0 R/XYZ 0 15259 1] -endobj - -12929 0 obj -[913 0 R/XYZ 0 15259 1] -endobj - -12930 0 obj -[1156 0 R/XYZ 0 15259 1] -endobj - -12931 0 obj -[753 0 R/XYZ 0 15259 1] -endobj - -12932 0 obj -[756 0 R/XYZ 0 15259 1] -endobj - -12933 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -12934 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -12935 0 obj -[753 0 R/XYZ 0 15259 1] -endobj - -12936 0 obj -[758 0 R/XYZ 0 15259 1] -endobj - -12937 0 obj -[759 0 R/XYZ 0 15259 1] -endobj - -12938 0 obj -[912 0 R/XYZ 0 15259 1] -endobj - -12939 0 obj -[1093 0 R/XYZ 0 15259 1] -endobj - -12940 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -12941 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -12942 0 obj -[1155 0 R/XYZ 0 15259 1] -endobj - -12943 0 obj -[1204 0 R/XYZ 0 15259 1] -endobj - -12944 0 obj -[1597 0 R/XYZ 0 15259 1] -endobj - -12945 0 obj -[913 0 R/XYZ 0 15259 1] -endobj - -12946 0 obj -[1156 0 R/XYZ 0 15259 1] -endobj - -12947 0 obj -[392 0 R/XYZ 0 15259 1] -endobj - -12948 0 obj -[394 0 R/XYZ 0 15259 1] -endobj - -12949 0 obj -[403 0 R/XYZ 0 15259 1] -endobj - -12950 0 obj -[410 0 R/XYZ 0 15259 1] -endobj - -12951 0 obj -[744 0 R/XYZ 0 15259 1] -endobj - -12952 0 obj -[756 0 R/XYZ 0 15259 1] -endobj - -12953 0 obj -[766 0 R/XYZ 0 15259 1] -endobj - -12954 0 obj -[775 0 R/XYZ 0 15259 1] -endobj - -12955 0 obj -[780 0 R/XYZ 0 15259 1] -endobj - -12956 0 obj -[782 0 R/XYZ 0 15259 1] -endobj - -12957 0 obj -[802 0 R/XYZ 0 15259 1] -endobj - -12958 0 obj -[808 0 R/XYZ 0 15259 1] -endobj - -12959 0 obj -[819 0 R/XYZ 0 15259 1] -endobj - -12960 0 obj -[830 0 R/XYZ 0 15259 1] -endobj - -12961 0 obj -[851 0 R/XYZ 0 15259 1] -endobj - -12962 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -12963 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -12964 0 obj -[922 0 R/XYZ 0 15259 1] -endobj - -12965 0 obj -[923 0 R/XYZ 0 15259 1] -endobj - -12966 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -12967 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -12968 0 obj -[1154 0 R/XYZ 0 15259 1] -endobj - -12969 0 obj -[1162 0 R/XYZ 0 15259 1] -endobj - -12970 0 obj -[1163 0 R/XYZ 0 15259 1] -endobj - -12971 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -12972 0 obj -[1218 0 R/XYZ 0 15259 1] -endobj - -12973 0 obj -[1258 0 R/XYZ 0 15259 1] -endobj - -12974 0 obj -[1635 0 R/XYZ 0 15259 1] -endobj - -12975 0 obj -[1637 0 R/XYZ 0 15259 1] -endobj - -12976 0 obj -[1639 0 R/XYZ 0 15259 1] -endobj - -12977 0 obj -[746 0 R/XYZ 0 15259 1] -endobj - -12978 0 obj -[1395 0 R/XYZ 0 15259 1] -endobj - -12979 0 obj -[558 0 R/XYZ 0 15259 1] -endobj - -12980 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -12981 0 obj -[606 0 R/XYZ 0 15259 1] -endobj - -12982 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -12983 0 obj -[750 0 R/XYZ 0 15259 1] -endobj - -12984 0 obj -[753 0 R/XYZ 0 15259 1] -endobj - -12985 0 obj -[747 0 R/XYZ 0 15259 1] -endobj - -12986 0 obj -[748 0 R/XYZ 0 15259 1] -endobj - -12987 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -12988 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -12989 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -12990 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -12991 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -12992 0 obj -[419 0 R/XYZ 0 15259 1] -endobj - -12993 0 obj -[702 0 R/XYZ 0 15259 1] -endobj - -12994 0 obj -[1650 0 R/XYZ 0 15259 1] -endobj - -12995 0 obj -[483 0 R/XYZ 0 15259 1] -endobj - -12996 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -12997 0 obj -[501 0 R/XYZ 0 15259 1] -endobj - -12998 0 obj -[776 0 R/XYZ 0 15259 1] -endobj - -12999 0 obj -[1423 0 R/XYZ 0 15259 1] -endobj - -13000 0 obj -[1648 0 R/XYZ 0 15259 1] -endobj - -13001 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -13002 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -13003 0 obj -[1335 0 R/XYZ 0 15259 1] -endobj - -13004 0 obj -[1339 0 R/XYZ 0 15259 1] -endobj - -13005 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -13006 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -13007 0 obj -[1368 0 R/XYZ 0 15259 1] -endobj - -13008 0 obj -[753 0 R/XYZ 0 15259 1] -endobj - -13009 0 obj -[747 0 R/XYZ 0 15259 1] -endobj - -13010 0 obj -[748 0 R/XYZ 0 15259 1] -endobj - -13011 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -13012 0 obj -[1409 0 R/XYZ 0 15259 1] -endobj - -13013 0 obj -[747 0 R/XYZ 0 15259 1] -endobj - -13014 0 obj -[747 0 R/XYZ 0 15259 1] -endobj - -13015 0 obj -[748 0 R/XYZ 0 15259 1] -endobj - -13016 0 obj -[747 0 R/XYZ 0 15259 1] -endobj - -13017 0 obj -[748 0 R/XYZ 0 15259 1] -endobj - -13018 0 obj -[747 0 R/XYZ 0 15259 1] -endobj - -13019 0 obj -[748 0 R/XYZ 0 15259 1] -endobj - -13020 0 obj -[750 0 R/XYZ 0 15259 1] -endobj - -13021 0 obj -[842 0 R/XYZ 0 15259 1] -endobj - -13022 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -13023 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -13024 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -13025 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -13026 0 obj -[1376 0 R/XYZ 0 15259 1] -endobj - -13027 0 obj -[1379 0 R/XYZ 0 15259 1] -endobj - -13028 0 obj -[1389 0 R/XYZ 0 15259 1] -endobj - -13029 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -13030 0 obj -[1418 0 R/XYZ 0 15259 1] -endobj - -13031 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -13032 0 obj -[843 0 R/XYZ 0 15259 1] -endobj - -13033 0 obj -[1376 0 R/XYZ 0 15259 1] -endobj - -13034 0 obj -[1377 0 R/XYZ 0 15259 1] -endobj - -13035 0 obj -[1400 0 R/XYZ 0 15259 1] -endobj - -13036 0 obj -[1404 0 R/XYZ 0 15259 1] -endobj - -13037 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -13038 0 obj -[1419 0 R/XYZ 0 15259 1] -endobj - -13039 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -13040 0 obj -[1644 0 R/XYZ 0 15259 1] -endobj - -13041 0 obj -[734 0 R/XYZ 0 15259 1] -endobj - -13042 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -13043 0 obj -[750 0 R/XYZ 0 15259 1] -endobj - -13044 0 obj -[753 0 R/XYZ 0 15259 1] -endobj - -13045 0 obj -[750 0 R/XYZ 0 15259 1] -endobj - -13046 0 obj -[753 0 R/XYZ 0 15259 1] -endobj - -13047 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -13048 0 obj -[444 0 R/XYZ 0 15259 1] -endobj - -13049 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -13050 0 obj -[421 0 R/XYZ 0 15259 1] -endobj - -13051 0 obj -[1506 0 R/XYZ 0 15259 1] -endobj - -13052 0 obj -[1507 0 R/XYZ 0 15259 1] -endobj - -13053 0 obj -[1522 0 R/XYZ 0 15259 1] -endobj - -13054 0 obj -[1523 0 R/XYZ 0 15259 1] -endobj - -13055 0 obj -[621 0 R/XYZ 0 15259 1] -endobj - -13056 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -13057 0 obj -[509 0 R/XYZ 0 15259 1] -endobj - -13058 0 obj -[1131 0 R/XYZ 0 15259 1] -endobj - -13059 0 obj -[1294 0 R/XYZ 0 15259 1] -endobj - -13060 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -13061 0 obj -[515 0 R/XYZ 0 15259 1] -endobj - -13062 0 obj -[517 0 R/XYZ 0 15259 1] -endobj - -13063 0 obj -[1395 0 R/XYZ 0 15259 1] -endobj - -13064 0 obj -[388 0 R/XYZ 0 15259 1] -endobj - -13065 0 obj -[391 0 R/XYZ 0 15259 1] -endobj - -13066 0 obj -[405 0 R/XYZ 0 15259 1] -endobj - -13067 0 obj -[407 0 R/XYZ 0 15259 1] -endobj - -13068 0 obj -[472 0 R/XYZ 0 15259 1] -endobj - -13069 0 obj -[478 0 R/XYZ 0 15259 1] -endobj - -13070 0 obj -[481 0 R/XYZ 0 15259 1] -endobj - -13071 0 obj -[482 0 R/XYZ 0 15259 1] -endobj - -13072 0 obj -[489 0 R/XYZ 0 15259 1] -endobj - -13073 0 obj -[490 0 R/XYZ 0 15259 1] -endobj - -13074 0 obj -[496 0 R/XYZ 0 15259 1] -endobj - -13075 0 obj -[503 0 R/XYZ 0 15259 1] -endobj - -13076 0 obj -[506 0 R/XYZ 0 15259 1] -endobj - -13077 0 obj -[515 0 R/XYZ 0 15259 1] -endobj - -13078 0 obj -[519 0 R/XYZ 0 15259 1] -endobj - -13079 0 obj -[522 0 R/XYZ 0 15259 1] -endobj - -13080 0 obj -[577 0 R/XYZ 0 15259 1] -endobj - -13081 0 obj -[609 0 R/XYZ 0 15259 1] -endobj - -13082 0 obj -[610 0 R/XYZ 0 15259 1] -endobj - -13083 0 obj -[625 0 R/XYZ 0 15259 1] -endobj - -13084 0 obj -[640 0 R/XYZ 0 15259 1] -endobj - -13085 0 obj -[649 0 R/XYZ 0 15259 1] -endobj - -13086 0 obj -[735 0 R/XYZ 0 15259 1] -endobj - -13087 0 obj -[736 0 R/XYZ 0 15259 1] -endobj - -13088 0 obj -[740 0 R/XYZ 0 15259 1] -endobj - -13089 0 obj -[758 0 R/XYZ 0 15259 1] -endobj - -13090 0 obj -[867 0 R/XYZ 0 15259 1] -endobj - -13091 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -13092 0 obj -[871 0 R/XYZ 0 15259 1] -endobj - -13093 0 obj -[886 0 R/XYZ 0 15259 1] -endobj - -13094 0 obj -[887 0 R/XYZ 0 15259 1] -endobj - -13095 0 obj -[933 0 R/XYZ 0 15259 1] -endobj - -13096 0 obj -[939 0 R/XYZ 0 15259 1] -endobj - -13097 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -13098 0 obj -[1070 0 R/XYZ 0 15259 1] -endobj - -13099 0 obj -[1083 0 R/XYZ 0 15259 1] -endobj - -13100 0 obj -[1085 0 R/XYZ 0 15259 1] -endobj - -13101 0 obj -[1093 0 R/XYZ 0 15259 1] -endobj - -13102 0 obj -[1097 0 R/XYZ 0 15259 1] -endobj - -13103 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -13104 0 obj -[1106 0 R/XYZ 0 15259 1] -endobj - -13105 0 obj -[1109 0 R/XYZ 0 15259 1] -endobj - -13106 0 obj -[1115 0 R/XYZ 0 15259 1] -endobj - -13107 0 obj -[1122 0 R/XYZ 0 15259 1] -endobj - -13108 0 obj -[1126 0 R/XYZ 0 15259 1] -endobj - -13109 0 obj -[1132 0 R/XYZ 0 15259 1] -endobj - -13110 0 obj -[1138 0 R/XYZ 0 15259 1] -endobj - -13111 0 obj -[1142 0 R/XYZ 0 15259 1] -endobj - -13112 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -13113 0 obj -[1153 0 R/XYZ 0 15259 1] -endobj - -13114 0 obj -[1154 0 R/XYZ 0 15259 1] -endobj - -13115 0 obj -[1156 0 R/XYZ 0 15259 1] -endobj - -13116 0 obj -[1167 0 R/XYZ 0 15259 1] -endobj - -13117 0 obj -[1169 0 R/XYZ 0 15259 1] -endobj - -13118 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -13119 0 obj -[1174 0 R/XYZ 0 15259 1] -endobj - -13120 0 obj -[1184 0 R/XYZ 0 15259 1] -endobj - -13121 0 obj -[1191 0 R/XYZ 0 15259 1] -endobj - -13122 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -13123 0 obj -[1223 0 R/XYZ 0 15259 1] -endobj - -13124 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -13125 0 obj -[1250 0 R/XYZ 0 15259 1] -endobj - -13126 0 obj -[1254 0 R/XYZ 0 15259 1] -endobj - -13127 0 obj -[1260 0 R/XYZ 0 15259 1] -endobj - -13128 0 obj -[1293 0 R/XYZ 0 15259 1] -endobj - -13129 0 obj -[1305 0 R/XYZ 0 15259 1] -endobj - -13130 0 obj -[1306 0 R/XYZ 0 15259 1] -endobj - -13131 0 obj -[1328 0 R/XYZ 0 15259 1] -endobj - -13132 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -13133 0 obj -[1446 0 R/XYZ 0 15259 1] -endobj - -13134 0 obj -[1459 0 R/XYZ 0 15259 1] -endobj - -13135 0 obj -[1504 0 R/XYZ 0 15259 1] -endobj - -13136 0 obj -[1513 0 R/XYZ 0 15259 1] -endobj - -13137 0 obj -[1520 0 R/XYZ 0 15259 1] -endobj - -13138 0 obj -[1530 0 R/XYZ 0 15259 1] -endobj - -13139 0 obj -[1607 0 R/XYZ 0 15259 1] -endobj - -13140 0 obj -[1608 0 R/XYZ 0 15259 1] -endobj - -13141 0 obj -[1621 0 R/XYZ 0 15259 1] -endobj - -13142 0 obj -[1625 0 R/XYZ 0 15259 1] -endobj - -13143 0 obj -[1634 0 R/XYZ 0 15259 1] -endobj - -13144 0 obj -[1636 0 R/XYZ 0 15259 1] -endobj - -13145 0 obj -[1637 0 R/XYZ 0 15259 1] -endobj - -13146 0 obj -[1645 0 R/XYZ 0 15259 1] -endobj - -13147 0 obj -[496 0 R/XYZ 0 15259 1] -endobj - -13148 0 obj -[1091 0 R/XYZ 0 15259 1] -endobj - -13149 0 obj -[1095 0 R/XYZ 0 15259 1] -endobj - -13150 0 obj -[1100 0 R/XYZ 0 15259 1] -endobj - -13151 0 obj -[1512 0 R/XYZ 0 15259 1] -endobj - -13152 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -13153 0 obj -[1134 0 R/XYZ 0 15259 1] -endobj - -13154 0 obj -[1135 0 R/XYZ 0 15259 1] -endobj - -13155 0 obj -[1294 0 R/XYZ 0 15259 1] -endobj - -13156 0 obj -[1406 0 R/XYZ 0 15259 1] -endobj - -13157 0 obj -[1408 0 R/XYZ 0 15259 1] -endobj - -13158 0 obj -[1413 0 R/XYZ 0 15259 1] -endobj - -13159 0 obj -[1504 0 R/XYZ 0 15259 1] -endobj - -13160 0 obj -[1505 0 R/XYZ 0 15259 1] -endobj - -13161 0 obj -[1518 0 R/XYZ 0 15259 1] -endobj - -13162 0 obj -[1521 0 R/XYZ 0 15259 1] -endobj - -13163 0 obj -[1530 0 R/XYZ 0 15259 1] -endobj - -13164 0 obj -[1594 0 R/XYZ 0 15259 1] -endobj - -13165 0 obj -[1134 0 R/XYZ 0 15259 1] -endobj - -13166 0 obj -[1135 0 R/XYZ 0 15259 1] -endobj - -13167 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -13168 0 obj -[451 0 R/XYZ 0 15259 1] -endobj - -13169 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -13170 0 obj -[1036 0 R/XYZ 0 15259 1] -endobj - -13171 0 obj -[1082 0 R/XYZ 0 15259 1] -endobj - -13172 0 obj -[1131 0 R/XYZ 0 15259 1] -endobj - -13173 0 obj -[1134 0 R/XYZ 0 15259 1] -endobj - -13174 0 obj -[1144 0 R/XYZ 0 15259 1] -endobj - -13175 0 obj -[1145 0 R/XYZ 0 15259 1] -endobj - -13176 0 obj -[1225 0 R/XYZ 0 15259 1] -endobj - -13177 0 obj -[1251 0 R/XYZ 0 15259 1] -endobj - -13178 0 obj -[1294 0 R/XYZ 0 15259 1] -endobj - -13179 0 obj -[1306 0 R/XYZ 0 15259 1] -endobj - -13180 0 obj -[1312 0 R/XYZ 0 15259 1] -endobj - -13181 0 obj -[1436 0 R/XYZ 0 15259 1] -endobj - -13182 0 obj -[1457 0 R/XYZ 0 15259 1] -endobj - -13183 0 obj -[1459 0 R/XYZ 0 15259 1] -endobj - -13184 0 obj -[1526 0 R/XYZ 0 15259 1] -endobj - -13185 0 obj -[1530 0 R/XYZ 0 15259 1] -endobj - -13186 0 obj -[1131 0 R/XYZ 0 15259 1] -endobj - -13187 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -13188 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -13189 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -13190 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -13191 0 obj -[374 0 R/XYZ 0 15259 1] -endobj - -13192 0 obj -<> -endobj - -13193 0 obj -[1091 0 R/XYZ 0 15259 1] -endobj - -13194 0 obj -[1093 0 R/XYZ 0 15259 1] -endobj - -13195 0 obj -[1445 0 R/XYZ 0 15259 1] -endobj - -13196 0 obj -[1449 0 R/XYZ 0 15259 1] -endobj - -13197 0 obj -[1455 0 R/XYZ 0 15259 1] -endobj - -13198 0 obj -[1457 0 R/XYZ 0 15259 1] -endobj - -13199 0 obj -[1458 0 R/XYZ 0 15259 1] -endobj - -13200 0 obj -[1463 0 R/XYZ 0 15259 1] -endobj - -13201 0 obj -[1475 0 R/XYZ 0 15259 1] -endobj - -13202 0 obj -[1595 0 R/XYZ 0 15259 1] -endobj - -13203 0 obj -[1037 0 R/XYZ 0 15259 1] -endobj - -13204 0 obj -[753 0 R/XYZ 0 15259 1] -endobj - -13205 0 obj -[747 0 R/XYZ 0 15259 1] -endobj - -13206 0 obj -[748 0 R/XYZ 0 15259 1] -endobj - -13207 0 obj -[747 0 R/XYZ 0 15259 1] -endobj - -13208 0 obj -[748 0 R/XYZ 0 15259 1] -endobj - -13209 0 obj -[671 0 R/XYZ 0 15259 1] -endobj - -13210 0 obj -[673 0 R/XYZ 0 15259 1] -endobj - -13211 0 obj -[845 0 R/XYZ 0 15259 1] -endobj - -13212 0 obj -[1623 0 R/XYZ 0 15259 1] -endobj - -13213 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -13214 0 obj -[750 0 R/XYZ 0 15259 1] -endobj - -13215 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -13216 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -13217 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -13218 0 obj -[1087 0 R/XYZ 0 15259 1] -endobj - -13219 0 obj -[1399 0 R/XYZ 0 15259 1] -endobj - -13220 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -13221 0 obj -[542 0 R/XYZ 0 15259 1] -endobj - -13222 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -13223 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -13224 0 obj -[426 0 R/XYZ 0 15259 1] -endobj - -13225 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -13226 0 obj -[426 0 R/XYZ 0 15259 1] -endobj - -13227 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -13228 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -13229 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -13230 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -13231 0 obj -[448 0 R/XYZ 0 15259 1] -endobj - -13232 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -13233 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -13234 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -13235 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -13236 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -13237 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -13238 0 obj -[471 0 R/XYZ 0 15259 1] -endobj - -13239 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -13240 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -13241 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -13242 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -13243 0 obj -[429 0 R/XYZ 0 15259 1] -endobj - -13244 0 obj -[1654 0 R/XYZ 0 15259 1] -endobj - -13245 0 obj -[426 0 R/XYZ 0 15259 1] -endobj - -13246 0 obj -[464 0 R/XYZ 0 15259 1] -endobj - -13247 0 obj -[423 0 R/XYZ 0 15259 1] -endobj - -13248 0 obj -[424 0 R/XYZ 0 15259 1] -endobj - -13249 0 obj -[463 0 R/XYZ 0 15259 1] -endobj - -13250 0 obj -[464 0 R/XYZ 0 15259 1] -endobj - -13251 0 obj -[468 0 R/XYZ 0 15259 1] -endobj - -13252 0 obj -[529 0 R/XYZ 0 15259 1] -endobj - -13253 0 obj -[549 0 R/XYZ 0 15259 1] -endobj - -13254 0 obj -[553 0 R/XYZ 0 15259 1] -endobj - -13255 0 obj -[586 0 R/XYZ 0 15259 1] -endobj - -13256 0 obj -[587 0 R/XYZ 0 15259 1] -endobj - -13257 0 obj -[605 0 R/XYZ 0 15259 1] -endobj - -13258 0 obj -[632 0 R/XYZ 0 15259 1] -endobj - -13259 0 obj -[634 0 R/XYZ 0 15259 1] -endobj - -13260 0 obj -[641 0 R/XYZ 0 15259 1] -endobj - -13261 0 obj -[642 0 R/XYZ 0 15259 1] -endobj - -13262 0 obj -[659 0 R/XYZ 0 15259 1] -endobj - -13263 0 obj -[665 0 R/XYZ 0 15259 1] -endobj - -13264 0 obj -[709 0 R/XYZ 0 15259 1] -endobj - -13265 0 obj -[710 0 R/XYZ 0 15259 1] -endobj - -13266 0 obj -[720 0 R/XYZ 0 15259 1] -endobj - -13267 0 obj -[722 0 R/XYZ 0 15259 1] -endobj - -13268 0 obj -[747 0 R/XYZ 0 15259 1] -endobj - -13269 0 obj -[750 0 R/XYZ 0 15259 1] -endobj - -13270 0 obj -[753 0 R/XYZ 0 15259 1] -endobj - -13271 0 obj -[756 0 R/XYZ 0 15259 1] -endobj - -13272 0 obj -[764 0 R/XYZ 0 15259 1] -endobj - -13273 0 obj -[770 0 R/XYZ 0 15259 1] -endobj - -13274 0 obj -[794 0 R/XYZ 0 15259 1] -endobj - -13275 0 obj -[818 0 R/XYZ 0 15259 1] -endobj - -13276 0 obj -[851 0 R/XYZ 0 15259 1] -endobj - -13277 0 obj -[853 0 R/XYZ 0 15259 1] -endobj - -13278 0 obj -[858 0 R/XYZ 0 15259 1] -endobj - -13279 0 obj -[868 0 R/XYZ 0 15259 1] -endobj - -13280 0 obj -[874 0 R/XYZ 0 15259 1] -endobj - -13281 0 obj -[898 0 R/XYZ 0 15259 1] -endobj - -13282 0 obj -[900 0 R/XYZ 0 15259 1] -endobj - -13283 0 obj -[932 0 R/XYZ 0 15259 1] -endobj - -13284 0 obj -[1006 0 R/XYZ 0 15259 1] -endobj - -13285 0 obj -[1010 0 R/XYZ 0 15259 1] -endobj - -13286 0 obj -[1025 0 R/XYZ 0 15259 1] -endobj - -13287 0 obj -[1063 0 R/XYZ 0 15259 1] -endobj - -13288 0 obj -[1066 0 R/XYZ 0 15259 1] -endobj - -13289 0 obj -[1087 0 R/XYZ 0 15259 1] -endobj - -13290 0 obj -[1131 0 R/XYZ 0 15259 1] -endobj - -13291 0 obj -[1138 0 R/XYZ 0 15259 1] -endobj - -13292 0 obj -[1140 0 R/XYZ 0 15259 1] -endobj - -13293 0 obj -[1150 0 R/XYZ 0 15259 1] -endobj - -13294 0 obj -[1172 0 R/XYZ 0 15259 1] -endobj - -13295 0 obj -[1187 0 R/XYZ 0 15259 1] -endobj - -13296 0 obj -[1188 0 R/XYZ 0 15259 1] -endobj - -13297 0 obj -[1192 0 R/XYZ 0 15259 1] -endobj - -13298 0 obj -[1198 0 R/XYZ 0 15259 1] -endobj - -13299 0 obj -[1203 0 R/XYZ 0 15259 1] -endobj - -13300 0 obj -[1205 0 R/XYZ 0 15259 1] -endobj - -13301 0 obj -[1217 0 R/XYZ 0 15259 1] -endobj - -13302 0 obj -[1218 0 R/XYZ 0 15259 1] -endobj - -13303 0 obj -[1318 0 R/XYZ 0 15259 1] -endobj - -13304 0 obj -[1332 0 R/XYZ 0 15259 1] -endobj - -13305 0 obj -[1344 0 R/XYZ 0 15259 1] -endobj - -13306 0 obj -[1346 0 R/XYZ 0 15259 1] -endobj - -13307 0 obj -[1348 0 R/XYZ 0 15259 1] -endobj - -13308 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -13309 0 obj -[1394 0 R/XYZ 0 15259 1] -endobj - -13310 0 obj -[1396 0 R/XYZ 0 15259 1] -endobj - -13311 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -13312 0 obj -[1610 0 R/XYZ 0 15259 1] -endobj - -13313 0 obj -[1177 0 R/XYZ 0 15259 1] -endobj - -13314 0 obj -[1184 0 R/XYZ 0 15259 1] -endobj - -13315 0 obj -[1349 0 R/XYZ 0 15259 1] -endobj - -13316 0 obj -[1351 0 R/XYZ 0 15259 1] -endobj - -13317 0 obj -[1425 0 R/XYZ 0 15259 1] -endobj - -13318 0 obj -[1653 0 R/XYZ 0 15259 1] -endobj - -13319 0 obj -[744 0 R/XYZ 0 15259 1] -endobj - -13320 0 obj -[746 0 R/XYZ 0 15259 1] -endobj - -13321 0 obj -[750 0 R/XYZ 0 15259 1] -endobj - -13322 0 obj -[803 0 R/XYZ 0 15259 1] -endobj - -13323 0 obj -[874 0 R/XYZ 0 15259 1] -endobj - -13324 0 obj -[899 0 R/XYZ 0 15259 1] -endobj - -13325 0 obj -[1623 0 R/XYZ 0 15259 1] -endobj - -13326 0 obj -[361 0 R/XYZ 0 15259 1] -endobj - -13327 0 obj -[373 0 R/XYZ 0 15259 1] -endobj - -13328 0 obj -[367 0 R/XYZ 0 15259 1] -endobj - -13329 0 obj -<> -endobj - -13330 0 obj -<> -endobj - -13331 0 obj -<> -endobj - -13332 0 obj -<> -endobj - -13333 0 obj -<> -endobj - -13334 0 obj -<> -endobj - -13335 0 obj -<> -endobj - -13336 0 obj -[34 0 R/XYZ 50 757 1] -endobj - -13337 0 obj -[358 0 R/XYZ 50 757 1] -endobj - -13338 0 obj -[361 0 R/XYZ 50 757 1] -endobj - -13339 0 obj -[366 0 R/XYZ 50 757 1] -endobj - -13340 0 obj -[371 0 R/XYZ 50 757 1] -endobj - -13341 0 obj -[378 0 R/XYZ 50 757 1] -endobj - -13342 0 obj -[378 0 R/XYZ 50 725 1] -endobj - -13343 0 obj -[378 0 R/XYZ 50 528 1] -endobj - -13344 0 obj -[380 0 R/XYZ 50 528 1] -endobj - -13345 0 obj -[383 0 R/XYZ 50 757 1] -endobj - -13346 0 obj -[388 0 R/XYZ 50 757 1] -endobj - -13347 0 obj -[391 0 R/XYZ 50 528 1] -endobj - -13348 0 obj -[396 0 R/XYZ 50 757 1] -endobj - -13349 0 obj -[399 0 R/XYZ 50 528 1] -endobj - -13350 0 obj -[402 0 R/XYZ 50 757 1] -endobj - -13351 0 obj -[405 0 R/XYZ 50 757 1] -endobj - -13352 0 obj -[407 0 R/XYZ 50 757 1] -endobj - -13353 0 obj -[410 0 R/XYZ 50 528 1] -endobj - -13354 0 obj -[416 0 R/XYZ 50 757 1] -endobj - -13355 0 obj -[416 0 R/XYZ 50 725 1] -endobj - -13356 0 obj -[416 0 R/XYZ 50 560 1] -endobj - -13357 0 obj -[416 0 R/XYZ 50 528 1] -endobj - -13358 0 obj -[418 0 R/XYZ 50 528 1] -endobj - -13359 0 obj -[423 0 R/XYZ 50 528 1] -endobj - -13360 0 obj -[426 0 R/XYZ 50 528 1] -endobj - -13361 0 obj -[429 0 R/XYZ 50 757 1] -endobj - -13362 0 obj -[429 0 R/XYZ 50 528 1] -endobj - -13363 0 obj -[432 0 R/XYZ 50 757 1] -endobj - -13364 0 obj -[432 0 R/XYZ 50 528 1] -endobj - -13365 0 obj -[437 0 R/XYZ 50 757 1] -endobj - -13366 0 obj -[437 0 R/XYZ 50 725 1] -endobj - -13367 0 obj -[437 0 R/XYZ 50 560 1] -endobj - -13368 0 obj -[437 0 R/XYZ 50 528 1] -endobj - -13369 0 obj -[440 0 R/XYZ 50 757 1] -endobj - -13370 0 obj -[440 0 R/XYZ 50 528 1] -endobj - -13371 0 obj -[442 0 R/XYZ 50 528 1] -endobj - -13372 0 obj -[444 0 R/XYZ 50 528 1] -endobj - -13373 0 obj -[448 0 R/XYZ 50 528 1] -endobj - -13374 0 obj -[450 0 R/XYZ 50 757 1] -endobj - -13375 0 obj -[458 0 R/XYZ 50 528 1] -endobj - -13376 0 obj -[463 0 R/XYZ 50 528 1] -endobj - -13377 0 obj -[468 0 R/XYZ 50 528 1] -endobj - -13378 0 obj -[471 0 R/XYZ 50 757 1] -endobj - -13379 0 obj -[471 0 R/XYZ 50 528 1] -endobj - -13380 0 obj -[474 0 R/XYZ 50 757 1] -endobj - -13381 0 obj -[478 0 R/XYZ 50 757 1] -endobj - -13382 0 obj -[478 0 R/XYZ 50 725 1] -endobj - -13383 0 obj -[478 0 R/XYZ 50 528 1] -endobj - -13384 0 obj -[480 0 R/XYZ 50 757 1] -endobj - -13385 0 obj -[487 0 R/XYZ 50 757 1] -endobj - -13386 0 obj -[487 0 R/XYZ 50 560 1] -endobj - -13387 0 obj -[487 0 R/XYZ 50 528 1] -endobj - -13388 0 obj -[493 0 R/XYZ 50 757 1] -endobj - -13389 0 obj -[496 0 R/XYZ 50 757 1] -endobj - -13390 0 obj -[496 0 R/XYZ 50 528 1] -endobj - -13391 0 obj -[499 0 R/XYZ 50 757 1] -endobj - -13392 0 obj -[503 0 R/XYZ 50 528 1] -endobj - -13393 0 obj -[506 0 R/XYZ 50 528 1] -endobj - -13394 0 obj -[509 0 R/XYZ 50 757 1] -endobj - -13395 0 obj -[511 0 R/XYZ 50 757 1] -endobj - -13396 0 obj -[517 0 R/XYZ 50 528 1] -endobj - -13397 0 obj -[519 0 R/XYZ 50 528 1] -endobj - -13398 0 obj -[522 0 R/XYZ 50 757 1] -endobj - -13399 0 obj -[528 0 R/XYZ 50 757 1] -endobj - -13400 0 obj -[528 0 R/XYZ 50 725 1] -endobj - -13401 0 obj -[528 0 R/XYZ 50 528 1] -endobj - -13402 0 obj -[531 0 R/XYZ 50 757 1] -endobj - -13403 0 obj -[535 0 R/XYZ 50 757 1] -endobj - -13404 0 obj -[537 0 R/XYZ 50 528 1] -endobj - -13405 0 obj -[540 0 R/XYZ 50 528 1] -endobj - -13406 0 obj -[542 0 R/XYZ 50 757 1] -endobj - -13407 0 obj -[545 0 R/XYZ 50 757 1] -endobj - -13408 0 obj -[548 0 R/XYZ 50 757 1] -endobj - -13409 0 obj -[551 0 R/XYZ 50 528 1] -endobj - -13410 0 obj -[553 0 R/XYZ 50 528 1] -endobj - -13411 0 obj -[556 0 R/XYZ 50 757 1] -endobj - -13412 0 obj -[558 0 R/XYZ 50 528 1] -endobj - -13413 0 obj -[560 0 R/XYZ 50 757 1] -endobj - -13414 0 obj -[564 0 R/XYZ 50 757 1] -endobj - -13415 0 obj -[568 0 R/XYZ 50 757 1] -endobj - -13416 0 obj -[570 0 R/XYZ 50 528 1] -endobj - -13417 0 obj -[574 0 R/XYZ 50 757 1] -endobj - -13418 0 obj -[576 0 R/XYZ 50 757 1] -endobj - -13419 0 obj -[579 0 R/XYZ 50 757 1] -endobj - -13420 0 obj -[583 0 R/XYZ 50 757 1] -endobj - -13421 0 obj -[585 0 R/XYZ 50 757 1] -endobj - -13422 0 obj -[591 0 R/XYZ 50 757 1] -endobj - -13423 0 obj -[594 0 R/XYZ 50 528 1] -endobj - -13424 0 obj -[599 0 R/XYZ 50 757 1] -endobj - -13425 0 obj -[599 0 R/XYZ 50 528 1] -endobj - -13426 0 obj -[605 0 R/XYZ 50 757 1] -endobj - -13427 0 obj -[605 0 R/XYZ 50 725 1] -endobj - -13428 0 obj -[605 0 R/XYZ 50 528 1] -endobj - -13429 0 obj -[609 0 R/XYZ 50 757 1] -endobj - -13430 0 obj -[609 0 R/XYZ 50 725 1] -endobj - -13431 0 obj -[613 0 R/XYZ 50 757 1] -endobj - -13432 0 obj -[616 0 R/XYZ 50 757 1] -endobj - -13433 0 obj -[619 0 R/XYZ 50 528 1] -endobj - -13434 0 obj -[621 0 R/XYZ 50 528 1] -endobj - -13435 0 obj -[625 0 R/XYZ 50 757 1] -endobj - -13436 0 obj -[627 0 R/XYZ 50 528 1] -endobj - -13437 0 obj -[630 0 R/XYZ 50 757 1] -endobj - -13438 0 obj -[636 0 R/XYZ 50 757 1] -endobj - -13439 0 obj -[640 0 R/XYZ 50 528 1] -endobj - -13440 0 obj -[645 0 R/XYZ 50 757 1] -endobj - -13441 0 obj -[649 0 R/XYZ 50 528 1] -endobj - -13442 0 obj -[651 0 R/XYZ 50 757 1] -endobj - -13443 0 obj -[656 0 R/XYZ 50 757 1] -endobj - -13444 0 obj -[656 0 R/XYZ 50 725 1] -endobj - -13445 0 obj -[656 0 R/XYZ 50 528 1] -endobj - -13446 0 obj -[661 0 R/XYZ 50 757 1] -endobj - -13447 0 obj -[663 0 R/XYZ 50 528 1] -endobj - -13448 0 obj -[665 0 R/XYZ 50 528 1] -endobj - -13449 0 obj -[667 0 R/XYZ 50 528 1] -endobj - -13450 0 obj -[669 0 R/XYZ 50 528 1] -endobj - -13451 0 obj -[671 0 R/XYZ 50 528 1] -endobj - -13452 0 obj -[673 0 R/XYZ 50 528 1] -endobj - -13453 0 obj -[676 0 R/XYZ 50 757 1] -endobj - -13454 0 obj -[684 0 R/XYZ 50 757 1] -endobj - -13455 0 obj -[688 0 R/XYZ 50 757 1] -endobj - -13456 0 obj -[688 0 R/XYZ 50 725 1] -endobj - -13457 0 obj -[688 0 R/XYZ 50 528 1] -endobj - -13458 0 obj -[690 0 R/XYZ 50 757 1] -endobj - -13459 0 obj -[697 0 R/XYZ 50 757 1] -endobj - -13460 0 obj -[697 0 R/XYZ 50 528 1] -endobj - -13461 0 obj -[699 0 R/XYZ 50 528 1] -endobj - -13462 0 obj -[702 0 R/XYZ 50 528 1] -endobj - -13463 0 obj -[704 0 R/XYZ 50 757 1] -endobj - -13464 0 obj -[708 0 R/XYZ 50 528 1] -endobj - -13465 0 obj -[712 0 R/XYZ 50 528 1] -endobj - -13466 0 obj -[720 0 R/XYZ 50 528 1] -endobj - -13467 0 obj -[726 0 R/XYZ 50 528 1] -endobj - -13468 0 obj -[731 0 R/XYZ 50 757 1] -endobj - -13469 0 obj -[731 0 R/XYZ 50 725 1] -endobj - -13470 0 obj -[731 0 R/XYZ 50 528 1] -endobj - -13471 0 obj -[734 0 R/XYZ 50 757 1] -endobj - -13472 0 obj -[740 0 R/XYZ 50 757 1] -endobj - -13473 0 obj -[743 0 R/XYZ 50 757 1] -endobj - -13474 0 obj -[746 0 R/XYZ 50 757 1] -endobj - -13475 0 obj -[753 0 R/XYZ 50 757 1] -endobj - -13476 0 obj -[756 0 R/XYZ 50 757 1] -endobj - -13477 0 obj -[756 0 R/XYZ 50 528 1] -endobj - -13478 0 obj -[761 0 R/XYZ 50 757 1] -endobj - -13479 0 obj -[768 0 R/XYZ 50 528 1] -endobj - -13480 0 obj -[774 0 R/XYZ 50 528 1] -endobj - -13481 0 obj -[779 0 R/XYZ 50 528 1] -endobj - -13482 0 obj -[785 0 R/XYZ 50 757 1] -endobj - -13483 0 obj -[792 0 R/XYZ 50 528 1] -endobj - -13484 0 obj -[794 0 R/XYZ 50 757 1] -endobj - -13485 0 obj -[799 0 R/XYZ 50 757 1] -endobj - -13486 0 obj -[802 0 R/XYZ 50 528 1] -endobj - -13487 0 obj -[808 0 R/XYZ 50 757 1] -endobj - -13488 0 obj -[808 0 R/XYZ 50 725 1] -endobj - -13489 0 obj -[808 0 R/XYZ 50 528 1] -endobj - -13490 0 obj -[814 0 R/XYZ 50 528 1] -endobj - -13491 0 obj -[818 0 R/XYZ 50 528 1] -endobj - -13492 0 obj -[821 0 R/XYZ 50 757 1] -endobj - -13493 0 obj -[823 0 R/XYZ 50 528 1] -endobj - -13494 0 obj -[826 0 R/XYZ 50 528 1] -endobj - -13495 0 obj -[828 0 R/XYZ 50 757 1] -endobj - -13496 0 obj -[833 0 R/XYZ 50 757 1] -endobj - -13497 0 obj -[838 0 R/XYZ 50 757 1] -endobj - -13498 0 obj -[842 0 R/XYZ 50 757 1] -endobj - -13499 0 obj -[845 0 R/XYZ 50 757 1] -endobj - -13500 0 obj -[849 0 R/XYZ 50 757 1] -endobj - -13501 0 obj -[849 0 R/XYZ 50 725 1] -endobj - -13502 0 obj -[849 0 R/XYZ 50 528 1] -endobj - -13503 0 obj -[860 0 R/XYZ 50 757 1] -endobj - -13504 0 obj -[864 0 R/XYZ 50 757 1] -endobj - -13505 0 obj -[866 0 R/XYZ 50 528 1] -endobj - -13506 0 obj -[870 0 R/XYZ 50 757 1] -endobj - -13507 0 obj -[873 0 R/XYZ 50 528 1] -endobj - -13508 0 obj -[877 0 R/XYZ 50 528 1] -endobj - -13509 0 obj -[879 0 R/XYZ 50 528 1] -endobj - -13510 0 obj -[882 0 R/XYZ 50 757 1] -endobj - -13511 0 obj -[889 0 R/XYZ 50 757 1] -endobj - -13512 0 obj -[892 0 R/XYZ 50 757 1] -endobj - -13513 0 obj -[894 0 R/XYZ 50 528 1] -endobj - -13514 0 obj -[897 0 R/XYZ 50 528 1] -endobj - -13515 0 obj -[904 0 R/XYZ 50 528 1] -endobj - -13516 0 obj -[909 0 R/XYZ 50 757 1] -endobj - -13517 0 obj -[916 0 R/XYZ 50 757 1] -endobj - -13518 0 obj -[919 0 R/XYZ 50 757 1] -endobj - -13519 0 obj -[926 0 R/XYZ 50 757 1] -endobj - -13520 0 obj -[930 0 R/XYZ 50 757 1] -endobj - -13521 0 obj -[932 0 R/XYZ 50 757 1] -endobj - -13522 0 obj -[935 0 R/XYZ 50 757 1] -endobj - -13523 0 obj -[938 0 R/XYZ 50 757 1] -endobj - -13524 0 obj -[943 0 R/XYZ 50 757 1] -endobj - -13525 0 obj -[943 0 R/XYZ 50 725 1] -endobj - -13526 0 obj -[943 0 R/XYZ 50 528 1] -endobj - -13527 0 obj -[945 0 R/XYZ 50 528 1] -endobj - -13528 0 obj -[947 0 R/XYZ 50 528 1] -endobj - -13529 0 obj -[951 0 R/XYZ 50 528 1] -endobj - -13530 0 obj -[961 0 R/XYZ 50 757 1] -endobj - -13531 0 obj -[964 0 R/XYZ 50 528 1] -endobj - -13532 0 obj -[968 0 R/XYZ 50 757 1] -endobj - -13533 0 obj -[974 0 R/XYZ 50 528 1] -endobj - -13534 0 obj -[977 0 R/XYZ 50 757 1] -endobj - -13535 0 obj -[983 0 R/XYZ 50 757 1] -endobj - -13536 0 obj -[983 0 R/XYZ 50 528 1] -endobj - -13537 0 obj -[988 0 R/XYZ 50 757 1] -endobj - -13538 0 obj -[990 0 R/XYZ 50 528 1] -endobj - -13539 0 obj -[995 0 R/XYZ 50 757 1] -endobj - -13540 0 obj -[1001 0 R/XYZ 50 757 1] -endobj - -13541 0 obj -[1001 0 R/XYZ 50 725 1] -endobj - -13542 0 obj -[1001 0 R/XYZ 50 528 1] -endobj - -13543 0 obj -[1003 0 R/XYZ 50 528 1] -endobj - -13544 0 obj -[1009 0 R/XYZ 50 560 1] -endobj - -13545 0 obj -[1009 0 R/XYZ 50 528 1] -endobj - -13546 0 obj -[1019 0 R/XYZ 50 528 1] -endobj - -13547 0 obj -[1021 0 R/XYZ 50 757 1] -endobj - -13548 0 obj -[1023 0 R/XYZ 50 757 1] -endobj - -13549 0 obj -[1025 0 R/XYZ 50 757 1] -endobj - -13550 0 obj -[1030 0 R/XYZ 50 528 1] -endobj - -13551 0 obj -[1036 0 R/XYZ 50 757 1] -endobj - -13552 0 obj -[1039 0 R/XYZ 50 528 1] -endobj - -13553 0 obj -[1044 0 R/XYZ 50 757 1] -endobj - -13554 0 obj -[1049 0 R/XYZ 50 528 1] -endobj - -13555 0 obj -[1051 0 R/XYZ 50 757 1] -endobj - -13556 0 obj -[1055 0 R/XYZ 50 757 1] -endobj - -13557 0 obj -[1055 0 R/XYZ 50 725 1] -endobj - -13558 0 obj -[1055 0 R/XYZ 50 528 1] -endobj - -13559 0 obj -[1059 0 R/XYZ 50 757 1] -endobj - -13560 0 obj -[1063 0 R/XYZ 50 757 1] -endobj - -13561 0 obj -[1068 0 R/XYZ 50 757 1] -endobj - -13562 0 obj -[1070 0 R/XYZ 50 528 1] -endobj - -13563 0 obj -[1076 0 R/XYZ 50 757 1] -endobj - -13564 0 obj -[1078 0 R/XYZ 50 757 1] -endobj - -13565 0 obj -[1082 0 R/XYZ 50 757 1] -endobj - -13566 0 obj -[1082 0 R/XYZ 50 725 1] -endobj - -13567 0 obj -[1082 0 R/XYZ 50 528 1] -endobj - -13568 0 obj -[1087 0 R/XYZ 50 757 1] -endobj - -13569 0 obj -[1103 0 R/XYZ 50 757 1] -endobj - -13570 0 obj -[1106 0 R/XYZ 50 757 1] -endobj - -13571 0 obj -[1111 0 R/XYZ 50 528 1] -endobj - -13572 0 obj -[1115 0 R/XYZ 50 757 1] -endobj - -13573 0 obj -[1118 0 R/XYZ 50 757 1] -endobj - -13574 0 obj -[1118 0 R/XYZ 50 528 1] -endobj - -13575 0 obj -[1120 0 R/XYZ 50 757 1] -endobj - -13576 0 obj -[1131 0 R/XYZ 50 757 1] -endobj - -13577 0 obj -[1134 0 R/XYZ 50 757 1] -endobj - -13578 0 obj -[1137 0 R/XYZ 50 757 1] -endobj - -13579 0 obj -[1144 0 R/XYZ 50 528 1] -endobj - -13580 0 obj -[1148 0 R/XYZ 50 757 1] -endobj - -13581 0 obj -[1148 0 R/XYZ 50 725 1] -endobj - -13582 0 obj -[1150 0 R/XYZ 50 528 1] -endobj - -13583 0 obj -[1158 0 R/XYZ 50 757 1] -endobj - -13584 0 obj -[1166 0 R/XYZ 50 528 1] -endobj - -13585 0 obj -[1171 0 R/XYZ 50 528 1] -endobj - -13586 0 obj -[1177 0 R/XYZ 50 560 1] -endobj - -13587 0 obj -[1177 0 R/XYZ 50 528 1] -endobj - -13588 0 obj -[1180 0 R/XYZ 50 528 1] -endobj - -13589 0 obj -[1183 0 R/XYZ 50 757 1] -endobj - -13590 0 obj -[1183 0 R/XYZ 50 528 1] -endobj - -13591 0 obj -[1186 0 R/XYZ 50 757 1] -endobj - -13592 0 obj -[1191 0 R/XYZ 50 528 1] -endobj - -13593 0 obj -[1198 0 R/XYZ 50 528 1] -endobj - -13594 0 obj -[1207 0 R/XYZ 50 757 1] -endobj - -13595 0 obj -[1214 0 R/XYZ 50 757 1] -endobj - -13596 0 obj -[1217 0 R/XYZ 50 757 1] -endobj - -13597 0 obj -[1221 0 R/XYZ 50 757 1] -endobj - -13598 0 obj -[1221 0 R/XYZ 50 725 1] -endobj - -13599 0 obj -[1223 0 R/XYZ 50 757 1] -endobj - -13600 0 obj -[1228 0 R/XYZ 50 757 1] -endobj - -13601 0 obj -[1228 0 R/XYZ 50 528 1] -endobj - -13602 0 obj -[1231 0 R/XYZ 50 757 1] -endobj - -13603 0 obj -[1234 0 R/XYZ 50 757 1] -endobj - -13604 0 obj -[1242 0 R/XYZ 50 528 1] -endobj - -13605 0 obj -[1244 0 R/XYZ 50 528 1] -endobj - -13606 0 obj -[1250 0 R/XYZ 50 757 1] -endobj - -13607 0 obj -[1264 0 R/XYZ 50 528 1] -endobj - -13608 0 obj -[1268 0 R/XYZ 50 757 1] -endobj - -13609 0 obj -[1270 0 R/XYZ 50 757 1] -endobj - -13610 0 obj -[1272 0 R/XYZ 50 757 1] -endobj - -13611 0 obj -[1276 0 R/XYZ 50 757 1] -endobj - -13612 0 obj -[1276 0 R/XYZ 50 725 1] -endobj - -13613 0 obj -[1276 0 R/XYZ 50 528 1] -endobj - -13614 0 obj -[1282 0 R/XYZ 50 757 1] -endobj - -13615 0 obj -[1284 0 R/XYZ 50 528 1] -endobj - -13616 0 obj -[1292 0 R/XYZ 50 757 1] -endobj - -13617 0 obj -[1304 0 R/XYZ 50 757 1] -endobj - -13618 0 obj -[1311 0 R/XYZ 50 757 1] -endobj - -13619 0 obj -[1322 0 R/XYZ 50 528 1] -endobj - -13620 0 obj -[1327 0 R/XYZ 50 757 1] -endobj - -13621 0 obj -[1327 0 R/XYZ 50 725 1] -endobj - -13622 0 obj -[1327 0 R/XYZ 50 528 1] -endobj - -13623 0 obj -[1335 0 R/XYZ 50 757 1] -endobj - -13624 0 obj -[1342 0 R/XYZ 50 757 1] -endobj - -13625 0 obj -[1342 0 R/XYZ 50 528 1] -endobj - -13626 0 obj -[1351 0 R/XYZ 50 528 1] -endobj - -13627 0 obj -[1353 0 R/XYZ 50 757 1] -endobj - -13628 0 obj -[1355 0 R/XYZ 50 757 1] -endobj - -13629 0 obj -[1357 0 R/XYZ 50 757 1] -endobj - -13630 0 obj -[1364 0 R/XYZ 50 757 1] -endobj - -13631 0 obj -[1368 0 R/XYZ 50 757 1] -endobj - -13632 0 obj -[1376 0 R/XYZ 50 528 1] -endobj - -13633 0 obj -[1379 0 R/XYZ 50 757 1] -endobj - -13634 0 obj -[1381 0 R/XYZ 50 757 1] -endobj - -13635 0 obj -[1386 0 R/XYZ 50 757 1] -endobj - -13636 0 obj -[1386 0 R/XYZ 50 725 1] -endobj - -13637 0 obj -[1386 0 R/XYZ 50 528 1] -endobj - -13638 0 obj -[1394 0 R/XYZ 50 528 1] -endobj - -13639 0 obj -[1399 0 R/XYZ 50 528 1] -endobj - -13640 0 obj -[1403 0 R/XYZ 50 757 1] -endobj - -13641 0 obj -[1408 0 R/XYZ 50 528 1] -endobj - -13642 0 obj -[1416 0 R/XYZ 50 528 1] -endobj - -13643 0 obj -[1418 0 R/XYZ 50 528 1] -endobj - -13644 0 obj -[1423 0 R/XYZ 50 757 1] -endobj - -13645 0 obj -[1423 0 R/XYZ 50 725 1] -endobj - -13646 0 obj -[1423 0 R/XYZ 50 528 1] -endobj - -13647 0 obj -[1425 0 R/XYZ 50 528 1] -endobj - -13648 0 obj -[1428 0 R/XYZ 50 528 1] -endobj - -13649 0 obj -[1433 0 R/XYZ 50 757 1] -endobj - -13650 0 obj -[1436 0 R/XYZ 50 757 1] -endobj - -13651 0 obj -[1439 0 R/XYZ 50 757 1] -endobj - -13652 0 obj -[1439 0 R/XYZ 50 528 1] -endobj - -13653 0 obj -[1468 0 R/XYZ 50 528 1] -endobj - -13654 0 obj -[1474 0 R/XYZ 50 528 1] -endobj - -13655 0 obj -[1480 0 R/XYZ 50 757 1] -endobj - -13656 0 obj -[1480 0 R/XYZ 50 725 1] -endobj - -13657 0 obj -[1480 0 R/XYZ 50 528 1] -endobj - -13658 0 obj -[1484 0 R/XYZ 50 528 1] -endobj - -13659 0 obj -[1486 0 R/XYZ 50 528 1] -endobj - -13660 0 obj -[1489 0 R/XYZ 50 528 1] -endobj - -13661 0 obj -[1538 0 R/XYZ 50 757 1] -endobj - -13662 0 obj -[1541 0 R/XYZ 50 757 1] -endobj - -13663 0 obj -[1593 0 R/XYZ 50 757 1] -endobj - -13664 0 obj -[1593 0 R/XYZ 50 725 1] -endobj - -13665 0 obj -[1597 0 R/XYZ 50 528 1] -endobj - -13666 0 obj -[1605 0 R/XYZ 50 757 1] -endobj - -13667 0 obj -[1648 0 R/XYZ 50 757 1] -endobj - -13668 0 obj -[1812 0 R/XYZ 50 757 1] -endobj - -13669 0 obj -[1812 0 R/XYZ 50 528 1] -endobj - -13670 0 obj -[2081 0 R/XYZ 50 528 1] -endobj - -13671 0 obj -[2352 0 R/XYZ 50 757 1] -endobj - -13672 0 obj -[2920 0 R/XYZ 50 757 1] -endobj - -13673 0 obj -[3547 0 R/XYZ 50 528 1] -endobj - -13674 0 obj -[4252 0 R/XYZ 50 528 1] -endobj - -13675 0 obj -[5255 0 R/XYZ 50 757 1] -endobj - -13676 0 obj -[5495 0 R/XYZ 50 528 1] -endobj - -13677 0 obj -[5716 0 R/XYZ 50 757 1] -endobj - -13678 0 obj -[6038 0 R/XYZ 50 757 1] -endobj - -13679 0 obj -[6038 0 R/XYZ 50 528 1] -endobj - -13680 0 obj -[6370 0 R/XYZ 50 757 1] -endobj - -13681 0 obj -[6717 0 R/XYZ 50 528 1] -endobj - -13682 0 obj -[7234 0 R/XYZ 50 560 1] -endobj - -13683 0 obj -[7234 0 R/XYZ 50 528 1] -endobj - -13684 0 obj -[7595 0 R/XYZ 50 528 1] -endobj - -13685 0 obj -[9099 0 R/XYZ 50 528 1] -endobj - -13686 0 obj -[9099 0 R/XYZ 50 757 1] -endobj - -13687 0 obj -[9381 0 R/XYZ 50 528 1] -endobj - -13688 0 obj -[12054 0 R/XYZ 50 757 1] -endobj - -13689 0 obj -[12598 0 R/XYZ 50 757 1] -endobj - -13690 0 obj -[12870 0 R/XYZ 50 528 1] -endobj - -13691 0 obj -[13192 0 R/XYZ 50 757 1] -endobj - -13692 0 obj -[13329 0 R/XYZ 50 757 1] -endobj - -13693 0 obj -[13329 0 R/XYZ 50 560 1] -endobj - -13694 0 obj -[13329 0 R/XYZ 50 528 1] -endobj - -13695 0 obj -[5 0 R/Fit] -endobj - -13696 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -13697 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -13698 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -13699 0 obj -<> -stream -HWm6ί##x tQdr7QE;ە6Q4I7_U`mW߬N]!'`x}O >%ا{M{M{M`y3} >'{h]1j]| Pj]| Q>{(B Q{OPkCS TEֵ!`Vum"{j]պ6D= -B Q{OPkZ׆(ZAֵ!`Vum@umٻ6@umٻ6D]պ6D=JB Q{OPkZ׆(ZIֵ!`Vum"TET+ պ6D=JB Pj]j%Z׆(ZIֵEֵ!gEֵ!gwm"TETպ6D=*B Pj]jZ׆(ZEֵPkCS"TETպ6@um"{Uj]jZv B Q>{(B Q>{׆(}F}W͝YT7Ἥn~| -NzGCWC1 z:)K .g ЋSW^ᕈ]Q7N~}X0|5pWNt:)D&z}qFq Wa@A)d[gPr - ~zN9ddeG2>m(3Xb2U}OxEG9cuSL=U]1mWH~_`gjD!a*R^oyXf(Y%yeh7P*eZwqIyb̶ٱVLswójlm3ulܹ\\'U[#zn+W>.7!(8iq8|Tm˾j <ܵ1PL-;ָOֽ5TKy^,La7Df=s?oj\ݶ˜7,܆a݄t>wűgWB4MX"*uO(0Ftzvwuګĕ 2ewwIy%vGwZi^jZ]T~~wl%$?e7?i@3[׺¾6 Twyl }C}=P پ_/BE8E -/NS~$i7+\^f$Ѩ;hwnF_zJ*_8|/@K3[,n Ccs&lc ؂fapjaP[ ?O]}]b 䮸Rpr^2Ya(YrLlUA%.>/՘s|tZjV WDK3N;uj R) =Q*@G̛oSg -nNEьm$ܣ9nB OA+"TB8Y:*jk:F:ݕl=p[<׮bI&,_yv$.] jF,Rk}8G|'X55A#^ܢw )8_3~; ?vxBR:6Qƶ0u -{JԨN$_MwefNj}_P㜳\2_q"h|=shʒiiizechӣlmdTzaF&4[fƏJ/:`c\ #> qUʴHWpna$HX,c 9Uͨ#l͇邃n#r釺9`IԜ#[^ tz,Lfz8ns4zvE;͓4A8;qcc.{%EJ>;5[ F A24bL^IR[/^yTPn -+#ӯ|D"S#_hPP/rIC%RD㷐R8Hbd+Z2"2 0h`AԮ| o5x~kq s)v4U؈)'87 ѩYi߮"5p -<2)J+O,+UUanęS0|_0<߹T6;ɁRP:t]Cۄ1 (jウ@ ͷ@bB&"˴78 xc}.FZ@'#êǧal3"{9e7iƀnGXէh Iɡ$e~&yΥ4HJODMdHzxxl axS@' آRF6鶞4hm8 -Aӻ#?5w(1ߘ+ |m~`? -e*0|ń6cl9[{Rn/J8rԵs qY1{\aGH1:UfD[3ë0#+`{@8&!%2*f8.T1f-9KpFps@p~OÖugI8ÕQa3 qV <.tad5_YbK]Y]Z F0w ->ye%T%Yh'Gbc?nrFlHpB(@b$$0y:]fΥUm4󃒹@KAEF(D[)g-_`M+ZtnMYyJBrېf?q\E$o'i?ɣ=( inc> -stream - q /X1 Do - Q q endstream -endobj - -13701 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -13702 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -13703 0 obj -<> -stream -HtWmo6 _Щde8m v܇0hMv[v))!)B^@=u$j+P_g@ä;MgK_Т\N5:L*nv;Ŷq}[]S?=mA f.$4t6HaM O|2q}1J07FH-/rsڰ7e ZE[P'N8"NNw?RN O$ 4P^FO6pc5IMo"耧Nڌ07zeO#&xE.CʩBrf\nx0۬ͱpwccrHO4O"37Ar e^70`i=r#63#b~4c -ʬ1NŐx=#]hݩݍ hs4ƒtKsj*dC""H \[8*}-ն8PEze Dڛ8"d1 R0&"Htw0|p, jQV|4i28ZΒEm'?\Me2Jd<~ܬ~aY/(Oendstream -endobj - -13704 0 obj -<>/P 1386 0 R/Type/Annot/A 15616 0 R/Subtype/Link/Rect[130.078995 539.020996 337.890015 673.916016]/Border[0 0 0]/H/N>> -endobj - -13705 0 obj -<>/P 1386 0 R/Type/Annot/A 15508 0 R/Subtype/Link/Rect[93.5999985 404.627991 199.356003 424.308014]/Border[0 0 0]/H/N>> -endobj - -13706 0 obj -<>/P 1386 0 R/Type/Annot/A 15440 0 R/Subtype/Link/Rect[93.6000977 188.628006 182.904007 208.307999]/Border[0 0 0]/H/N>> -endobj - -13707 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -13708 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -13709 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -13710 0 obj -<> -stream -H|W]o6}ׯбHJP!nZ4@f]  #iX_+qbV(Fzx?(߮&i1'8<br!YcV+%Xwα,AȽ ^%r/ {'O rS>%ܧ}JOp!>C-r%o-~;~G!9>Gs=,'Bbm$Ԇ,"!,>Ā݇f 1`QjV 1"Rb"ܣ -"!,=J RbE6ĀEGDjC X{ZA64HmpR+Ԇ(Hm$RbCLԆvbE6ĀEGDjC X{ZI64HmpR+Ԇ(HmiV 1`Qj%,"!,=J$Rb"ܣJ"!F vbE6Ā݇,"!,=JmB6ĀEGMԆf 1`Qj"!,=JmB64HmpR 1`Qj"!YDjC X{ڄHmpR 6JԆ,"!,>ĀE<߳l[_`<_Oma=qAweimx:yUSY[&ϥ\;.XU:SO~$lɹ`V7mʴ :*jx˯O}zrh{,EQeҠUJe)qzS9:<} WlJò^᛺{nڭF'a0vk?0CUeG-1DۿXbK4I\TEIDhIսݱ%dVFc[ncJJ4@&IPӕ-5S붡Ff:;,9{ˤLQ62ޠ{UBRy dTlB'J4p8h_zwRAҁӲSR.sJΒ\@%~SV]= -\fyP ]Yd[X!)i]G= OiOxkgܭQw .ۛZrm\`{AᇱV㯺xRve\8T6s36iwX+uZXzg(4ja^[hKCU7HZgIꉽ\,֮R -)j.1:d9%o:D wT?*b2 G;MOnX{ʻiq,5؆.zznԥ}*ЛUoCYҽL'p=y ] "I"7BKS`}-&_]70S$7"l#=&%rYɲc9,,nͲ -]|,">+y_uÞl_<,a<ٚ>_ƒq)L$Ƞ$\$9]ͩl# +Huz#>ǿ7|Y M!endstream -endobj - -13711 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -13712 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -13713 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -13714 0 obj -<> -stream -HWێ|Wt, dgYg6Yy C3rtq$l`=爢.,,f}t3__ˏ4?⟅eChRlM]tͪ(C]/֛mf3/śm-[gY"&ƴb]3ni|yôlMN֌_Tޮ݉8\uF_-Վ9Tytem]I5_m[~IS7Wt_w|6[HlwYX9IN֜,8 $1fIX49%0f%ޝ%F,{^}Pp>Q}Tp'>IJJZZZoFoF}V3p:@i%,`OǯBEc뻧YI/ڽ_*00j@MV?瓳ޤl>W3W5q1!X]oGsc8iyYtgczns9US3#v$f|o܍9%sM|A1i:H7zc]۔LF}'Lߛ~.AmcbU&mCw4^Lgr5MF$Mf뾹hh+d{y&u2]=tiOϸO˕{ܙntcWmWh@8 <>{nlTO6g DKh>6qxw>j~)_|DZy \$ˏ 6ut36kg޿^1<&坯}#˒뼣<~ͱ4_4W4OˑϳLqu9Y70Ok@l%5suJسwqF\l9 ۖۓ_ZvށV_>a@x&1feRZhEVTZ h%VRZЪV*UZi@VZ jVVVZheK%1fi--rJ-KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KYZKbV9/ObM[\m -L;+=L)WI5<*QAŰkF~gֳ mU/.xؙ> -stream - q /X1 Do - Q q endstream -endobj - -13716 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -13717 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -13718 0 obj -<> -stream -HWoF^( _$ 4[4*S}8lr"ߛw(RɣrF;~7Zo~yruzY5.A|e¨7j$~D%Q8uL$x GV8F,"Kkb<`qZK,F-po{ [Nw=p{{^/B/B/R/R/RJJ}p/:Ai96K h-Lj%s,@k9F,cĒ9Y#p/Zk@k9F,^րr,@k9F,^րrXhXdrXh{ZZ˱{ZZ1bcĂrX=" cĒ9F,cZ1bcEk-h-" cEk-h-Lj܋ZZEh-Lj܋ZZ ,Z #p/ZkAk96Kh-Lj%s,@k9F,cĒ9Y#p/Z@k9F,^ցr,@k9F,^ցrXhXdrXh{ZZ˱{ZZ1bcărX=" cĒ9F,^ݫ8n?(oں"`Zh9倖Zhy偖Z*V -URh@ZЪV*VZher1bI-Ѱ@K -2@Kހs0YB cZ"c1Z #7 ; X}Ƚat곸hZ"c4-{ r1dȽ 2@KނsF%roA9F# - h[{D-=hZ"c4VH-Kjq%r@9Fw Qh;{(D=!h;{C>w w%r@9F@KށśȽ=K-KjqȽYL{&FC>n8A~iuWW|nVOG;\Oӛv]TW &d\QwiJ+ulisUy;Ǯåf}N:WG ?}z^j]i\;m(pgy0F)4>4qx*/0y>|YLђVt,;k lOwەXӫev"ಭ-LnlGMz~ܷ]zuɌztڌ4Ag^YUL O]~?jpHx6-4^qpH+iv\e4~ݴfei11 -}hwI+>4Ywt*XWk]e]nLbѪU]ՙ$ >n"v/G y FM7 I<` !D6!~$$ܛD>S\\Jfb7-Wb(78LnU\"ޮ}2 U\%Hu"hBTѦ϶6-S;Rگ%1Šv/w8,a}l-I_DpcƋP5i1<~:ؑ5%с:f N Q-ӄ"tI,1"OFd|rXV qݨ moDp^ >$z|%! Εc7=d"OCeu<;Mk̆pu -k ,:f|HiM`6"-a)P4H^'D?*T3I5] Bnl8\s d fs;3_O<^]<[f @ZzR1sw4زkMN}n5; -q#<;eƆk&փ˝vC?:A#Գ#5 A\N)戓r`N:}5o ࢘m Geϓ k{Ӥ^~ò1 P;7dܞ+#QΣMANF>q,0v/PQ7 {T_^,jQvJ.:h;pby!F`,d,0GP"z0Ckf>ͼ[1o(F}?C K`)re^;s{åW o[RzOs?iZendstream -endobj - -13719 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -13720 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -13721 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -13722 0 obj -<> -stream -HWnH}Wb_C/l6gg&p6Y F-f%R#Rx~xY]r.LH>SU}&/P,3)r1xm:]roz/>]<m5{],'-X$H`LN,2l񥡙)M(iߴrU8{p~YőT t#Z:itWgӀHFA$C.f!hBJ\na=tĝ> B\ Jm8v`3{7K"I|NB82bYCVİv)}b+Ob+OfkOfkOfkOaOaO}Ĩ<>GSoSoS3cO}̨=1>;F;F'S0=JƴZ!WO1`1|Cbb\K1d1=*ƵCsb\K1`1kZ!QV1R Yzϵq-ŐŨ\R Xk),FZŸbb{Uk)iƵCbb\K1d),_=ŀŸbb{Ռk),FZ͸bb\K1d1=jƵCsf\K1`1k5Z!QV3R Yzϵq-ŐŨ\Rl;3k),_=ŀŸbS Yzq-ŐŨ\kR Yzϵq-ŀŸbb{5k),FZøbb\K1d1=ƵCsa\K1`1k Z!Q0v1|Z!WO1d I#BoΞ.fR,nHt`Xlgsg/ȋ(OdDK:_u\oL!pۡXyYSa?~=_3qHtOeAkLq̋ʪWڡj#'ݴo:%l#9F((yu[U"tuHnK0D.6Iz\fU* -q1a-]2{PYbelR䕨mI.=& Hi3Λ/sXQSVw\CK%ݼfTǰM^ߟI)Y=B^=Nx\W(=X?A̺1E-50W.T_M DLW3|OamVb=eN -~yPV*HBI+O 6/nO)A_(= -@c8XZcLr>8 "I.`_! Z Շ}QFy7WL !gOvb*cUpʾ6w@mmb Mc<C6։;Y9Qɶ -U*Dc(vdYcu+9#ܮf_Ne?j|%\>4J5_Bht| 6\ͦ -t2OgHtHSBzs[u\U4 -u7%-(Hӊ}UTu`DEY,WP:Lm_wHSj鬷mV Yn?E*u7m;t[# c{`Fp]yRߕK}Zg/CdSdCIDP9Rab <\)$dC7VؔP!:1I8Ęu$d*\mVg"ݧA9;|"H -"Rg}N%搉򆔍?-t[I<a\G (,uW41Рvr&Ҧd, k)ߘUj)ݦ0\4=} LnEBm$}:@beѮ!%7QN~0BN@*3xYuUqz&mЦ@}iQYl7.toMFvە[}Omɍ31ƙV99wjCw9F}3{Et;z!`l15)mMT \+}9Nx}`UtZ8GE.t#M>L,a8H>3Ғ=B%3.%lfɉS.XM5vuVAb1aP XvEj<0I aʴsU߸I4!;!# l -guzzNbFf.0gԦvL缾˫ml.lwxuvպ+gMJ"4mM4w tLCĦnUFzWx$XƤ͋U[B{c3QcL۬MKB>ƮqU7݃n6+V ͗2nbmzy:IKy,~_~zǯQ%e¶O@w_^ZӪyy6poŪ *&8dsħ%UݭK0C Qv^-=n@_ ER n] Z7BcIN;CR2I=X4C> WaWG!o?<\zp)z'jY0 `: p4wonͧ(P[ݩZjWBǀ*C=ŷzZz|*@渻ؗSYYxY&`1܋`\gYO:L4Ovn><,Ɠ9Ϻ]TpcJqhxA(dfˬ= żU˲6{#{>`iX҄P -掚v73\guGh9UǡlQmr;1Ӂ#y$ -,H@L!> Lq;X Qh_\ZN!y?Ad0~"uG&\iTP*gqCHHϭ"Pd!D7t-%+֕ޒ~ d;kͣ)c'9IL4f.؇#k99Qc4TC1JM4p7GU]Ax01DxL&M I S#DZ 7Y&h]jɉ`LcjH{:1`% ->N߳GS> ]X"[wEkysc4",TWH1C `,0"(Mקt6xmZS U!jyS/g+;ӳr[wSYɃTNzPȮY#aF*Iٽ< hcW O=/f ~*pfrwq#m>[,pDKeSt tߝgXݫBH)D e˻=D"mAHǃlZgep|ЗMKo#-}ӈ0B'Y<ɬ"-y귁n{8H7DM0;r Hɾ`3b t2N3`:ԃ jv aB0Vmg_ -48qLo޴MYĔ'an%}-(<ڧUcٕ %9FǛwQ8l"Aw -8EBxL1/LL&ǛVo`ρendstream -endobj - -13723 0 obj -<>/P 753 0 R/Type/Annot/A 40741 0 R/Subtype/Link/Rect[93.6001968 663.229004 230.136002 682.908997]/Border[0 0 0]/H/N>> -endobj - -13724 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -13725 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -13726 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -13727 0 obj -<> -stream -HWmoGb?:(8FR";')Ҏ3Y p<$z[ū?U~ -Uk'#jkdE^T?T^dnzZlz.~M|Z]LLԼ<\j_+iuml0_lg+Mo=ꍦ)jtWJ6ZsV3wz^W^FUmO𩺭u|#dP+.V$C-Mh9O2zzzzzWzWzzzz7z7zzzzwzwzz m,[U`m,C},- R R 2"'kcj - 2"'kcj - 2"'kcj - 2"'kcj -lUI R 2J2J2"XP@VeEOX+ 2"XP@VeEOX+ 2"XP@VeEOX+ 2"XP@VeEOX+ ƲU2J2"XP+EP+E@`m,C-}ZE6>a"X@`m,C-}ZE6>a"X@`m,C-}ZE6>a"X@`m,C-}ZE6>a"XV&XP+E@`m,C},CofU|Z]LLԼ\+v5WQ \Uߥ4~|;ؙӟGDžoLmL{zq7lmL=I,kwg<[y{m8YÝ>%9Zh4o} -zt;8+j_^Wdbyn7Rli_D,}O|Y?&C# "(z9 -`kWyEZ+/$CCչ lڹse3!Ta7wۻe}6Y 5ko] -vp1 !+,"Ef.~*~g#ԤF6| v(qlEc YWUC<Zdtbtً?.^O]T6^;wgP̲w'!=(4&,lB[S /6B W>GELk,P82 uӆBuMvc`ᘀp. nQ[iی)y WSaJ䱩PћkBAZ: ,)->?L[A=˼-Vp?GF s!SC7GSqJєt$ԅBO`E-(Eԡ.D#52Ff::a;{fbm(D)OLɀ8=hJ -dtvr;eP8~;xbwUhk&9m&7f]xwq!{zpX3%0UgD=ҳB> p&Ҏ_2"al.Ӛ(?۠.] dDż4;naNGMZ2S@$,<O9)G^rrݮ+p\aΣnR=z:XG_J ;t%-+o<.`w2nL6 oNf|ncS!{n'vؐ)BsdJRADS!ZuLX p{pwj3|)L䫴eFv+گbAĹ{kBԡrv&϶eH| -+[7ۗgqhKʕ]2pj4g/$v/rBX2ylUJn( 4l(!õ7-r9m -4'm?"n~c3Qh*IvT6}nؕwX<\ -2`?E@=8Sll׏rN@ӳ|Ti'xrfˢ~|[/9oHMSw+8ڤʵYg`Lpo_k99,'?OlN"ݮwZ֡0]ZĔrIq*BvA'.:,j\2%=%?gIZq6Wh뛫`|y=m4)vQ, >/P 8731 0 R/Type/Annot/A 23406 0 R/Subtype/Link/Rect[190 670 202 678]/Border[0 0 0]/H/N>> -endobj - -13729 0 obj -<>/P 8731 0 R/Type/Annot/A 23357 0 R/Subtype/Link/Rect[274 660 288 668]/Border[0 0 0]/H/N>> -endobj - -13730 0 obj -<>/P 8731 0 R/Type/Annot/A 22653 0 R/Subtype/Link/Rect[290 660 304 668]/Border[0 0 0]/H/N>> -endobj - -13731 0 obj -<>/P 8731 0 R/Type/Annot/A 22597 0 R/Subtype/Link/Rect[151 650 163 658]/Border[0 0 0]/H/N>> -endobj - -13732 0 obj -<>/P 8731 0 R/Type/Annot/A 22041 0 R/Subtype/Link/Rect[190 640 202 648]/Border[0 0 0]/H/N>> -endobj - -13733 0 obj -<>/P 8731 0 R/Type/Annot/A 21973 0 R/Subtype/Link/Rect[151 620 163 628]/Border[0 0 0]/H/N>> -endobj - -13734 0 obj -<>/P 8731 0 R/Type/Annot/A 16048 0 R/Subtype/Link/Rect[190 610 202 618]/Border[0 0 0]/H/N>> -endobj - -13735 0 obj -<>/P 8731 0 R/Type/Annot/A 16044 0 R/Subtype/Link/Rect[298 600 310 608]/Border[0 0 0]/H/N>> -endobj - -13736 0 obj -<>/P 8731 0 R/Type/Annot/A 15685 0 R/Subtype/Link/Rect[190 590 202 598]/Border[0 0 0]/H/N>> -endobj - -13737 0 obj -<>/P 8731 0 R/Type/Annot/A 15617 0 R/Subtype/Link/Rect[289 580 303 588]/Border[0 0 0]/H/N>> -endobj - -13738 0 obj -<>/P 8731 0 R/Type/Annot/A 15509 0 R/Subtype/Link/Rect[151 570 165 578]/Border[0 0 0]/H/N>> -endobj - -13739 0 obj -<>/P 8731 0 R/Type/Annot/A 15441 0 R/Subtype/Link/Rect[167 570 179 578]/Border[0 0 0]/H/N>> -endobj - -13740 0 obj -<>/P 8731 0 R/Type/Annot/A 15028 0 R/Subtype/Link/Rect[190 560 202 568]/Border[0 0 0]/H/N>> -endobj - -13741 0 obj -<>/P 8731 0 R/Type/Annot/A 14974 0 R/Subtype/Link/Rect[263 550 280 559]/Border[0 0 0]/H/N>> -endobj - -13742 0 obj -<>/P 8731 0 R/Type/Annot/A 14771 0 R/Subtype/Link/Rect[281 550 295 558]/Border[0 0 0]/H/N>> -endobj - -13743 0 obj -<>/P 8731 0 R/Type/Annot/A 14568 0 R/Subtype/Link/Rect[297 550 311 558]/Border[0 0 0]/H/N>> -endobj - -13744 0 obj -<>/P 8731 0 R/Type/Annot/A 14508 0 R/Subtype/Link/Rect[151 540 163 548]/Border[0 0 0]/H/N>> -endobj - -13745 0 obj -<>/P 8731 0 R/Type/Annot/A 14448 0 R/Subtype/Link/Rect[151 520 168 529]/Border[0 0 0]/H/N>> -endobj - -13746 0 obj -<>/P 8731 0 R/Type/Annot/A 14406 0 R/Subtype/Link/Rect[169 520 183 528]/Border[0 0 0]/H/N>> -endobj - -13747 0 obj -<>/P 8731 0 R/Type/Annot/A 14174 0 R/Subtype/Link/Rect[185 520 197 528]/Border[0 0 0]/H/N>> -endobj - -13748 0 obj -<>/P 8731 0 R/Type/Annot/A 18895 0 R/Subtype/Link/Rect[190 510 202 518]/Border[0 0 0]/H/N>> -endobj - -13749 0 obj -<>/P 8731 0 R/Type/Annot/A 18857 0 R/Subtype/Link/Rect[270 500 286 509]/Border[0 0 0]/H/N>> -endobj - -13750 0 obj -<>/P 8731 0 R/Type/Annot/A 18831 0 R/Subtype/Link/Rect[287 500 299 508]/Border[0 0 0]/H/N>> -endobj - -13751 0 obj -<>/P 8731 0 R/Type/Annot/A 18797 0 R/Subtype/Link/Rect[269 490 286 499]/Border[0 0 0]/H/N>> -endobj - -13752 0 obj -<>/P 8731 0 R/Type/Annot/A 18764 0 R/Subtype/Link/Rect[287 490 301 498]/Border[0 0 0]/H/N>> -endobj - -13753 0 obj -<>/P 8731 0 R/Type/Annot/A 18725 0 R/Subtype/Link/Rect[151 480 165 488]/Border[0 0 0]/H/N>> -endobj - -13754 0 obj -<>/P 8731 0 R/Type/Annot/A 18693 0 R/Subtype/Link/Rect[167 480 179 488]/Border[0 0 0]/H/N>> -endobj - -13755 0 obj -<>/P 8731 0 R/Type/Annot/A 18656 0 R/Subtype/Link/Rect[190 470 202 478]/Border[0 0 0]/H/N>> -endobj - -13756 0 obj -<>/P 8731 0 R/Type/Annot/A 18642 0 R/Subtype/Link/Rect[151 450 168 459]/Border[0 0 0]/H/N>> -endobj - -13757 0 obj -<>/P 8731 0 R/Type/Annot/A 18614 0 R/Subtype/Link/Rect[169 450 181 458]/Border[0 0 0]/H/N>> -endobj - -13758 0 obj -<>/P 8731 0 R/Type/Annot/A 18586 0 R/Subtype/Link/Rect[255 440 272 449]/Border[0 0 0]/H/N>> -endobj - -13759 0 obj -<>/P 8731 0 R/Type/Annot/A 18562 0 R/Subtype/Link/Rect[272 440 286 448]/Border[0 0 0]/H/N>> -endobj - -13760 0 obj -<>/P 8731 0 R/Type/Annot/A 18494 0 R/Subtype/Link/Rect[288 440 302 448]/Border[0 0 0]/H/N>> -endobj - -13761 0 obj -<>/P 8731 0 R/Type/Annot/A 18482 0 R/Subtype/Link/Rect[151 430 165 438]/Border[0 0 0]/H/N>> -endobj - -13762 0 obj -<>/P 8731 0 R/Type/Annot/A 18445 0 R/Subtype/Link/Rect[167 430 181 438]/Border[0 0 0]/H/N>> -endobj - -13763 0 obj -<>/P 8731 0 R/Type/Annot/A 18422 0 R/Subtype/Link/Rect[183 430 197 438]/Border[0 0 0]/H/N>> -endobj - -13764 0 obj -<>/P 8731 0 R/Type/Annot/A 18385 0 R/Subtype/Link/Rect[199 430 213 438]/Border[0 0 0]/H/N>> -endobj - -13765 0 obj -<>/P 8731 0 R/Type/Annot/A 18323 0 R/Subtype/Link/Rect[215 430 227 438]/Border[0 0 0]/H/N>> -endobj - -13766 0 obj -<>/P 8731 0 R/Type/Annot/A 18285 0 R/Subtype/Link/Rect[190 420 202 428]/Border[0 0 0]/H/N>> -endobj - -13767 0 obj -<>/P 8731 0 R/Type/Annot/A 18229 0 R/Subtype/Link/Rect[289 410 303 418]/Border[0 0 0]/H/N>> -endobj - -13768 0 obj -<>/P 8731 0 R/Type/Annot/A 18183 0 R/Subtype/Link/Rect[151 400 165 408]/Border[0 0 0]/H/N>> -endobj - -13769 0 obj -<>/P 8731 0 R/Type/Annot/A 18066 0 R/Subtype/Link/Rect[167 400 181 408]/Border[0 0 0]/H/N>> -endobj - -13770 0 obj -<>/P 8731 0 R/Type/Annot/A 18045 0 R/Subtype/Link/Rect[183 400 197 408]/Border[0 0 0]/H/N>> -endobj - -13771 0 obj -<>/P 8731 0 R/Type/Annot/A 18021 0 R/Subtype/Link/Rect[199 400 213 408]/Border[0 0 0]/H/N>> -endobj - -13772 0 obj -<>/P 8731 0 R/Type/Annot/A 17996 0 R/Subtype/Link/Rect[215 400 229 408]/Border[0 0 0]/H/N>> -endobj - -13773 0 obj -<>/P 8731 0 R/Type/Annot/A 17971 0 R/Subtype/Link/Rect[231 400 245 408]/Border[0 0 0]/H/N>> -endobj - -13774 0 obj -<>/P 8731 0 R/Type/Annot/A 17950 0 R/Subtype/Link/Rect[247 400 261 408]/Border[0 0 0]/H/N>> -endobj - -13775 0 obj -<>/P 8731 0 R/Type/Annot/A 17922 0 R/Subtype/Link/Rect[263 400 277 408]/Border[0 0 0]/H/N>> -endobj - -13776 0 obj -<>/P 8731 0 R/Type/Annot/A 17903 0 R/Subtype/Link/Rect[279 400 296 409]/Border[0 0 0]/H/N>> -endobj - -13777 0 obj -<>/P 8731 0 R/Type/Annot/A 17824 0 R/Subtype/Link/Rect[297 400 309 408]/Border[0 0 0]/H/N>> -endobj - -13778 0 obj -<>/P 8731 0 R/Type/Annot/A 17804 0 R/Subtype/Link/Rect[255 390 272 399]/Border[0 0 0]/H/N>> -endobj - -13779 0 obj -<>/P 8731 0 R/Type/Annot/A 17768 0 R/Subtype/Link/Rect[272 390 286 398]/Border[0 0 0]/H/N>> -endobj - -13780 0 obj -<>/P 8731 0 R/Type/Annot/A 17737 0 R/Subtype/Link/Rect[151 380 168 389]/Border[0 0 0]/H/N>> -endobj - -13781 0 obj -<>/P 8731 0 R/Type/Annot/A 17600 0 R/Subtype/Link/Rect[169 380 183 388]/Border[0 0 0]/H/N>> -endobj - -13782 0 obj -<>/P 8731 0 R/Type/Annot/A 17567 0 R/Subtype/Link/Rect[185 380 201 389]/Border[0 0 0]/H/N>> -endobj - -13783 0 obj -<>/P 8731 0 R/Type/Annot/A 17551 0 R/Subtype/Link/Rect[202 380 216 388]/Border[0 0 0]/H/N>> -endobj - -13784 0 obj -<>/P 8731 0 R/Type/Annot/A 37485 0 R/Subtype/Link/Rect[218 380 232 388]/Border[0 0 0]/H/N>> -endobj - -13785 0 obj -<>/P 8731 0 R/Type/Annot/A 17509 0 R/Subtype/Link/Rect[234 380 251 389]/Border[0 0 0]/H/N>> -endobj - -13786 0 obj -<>/P 8731 0 R/Type/Annot/A 17481 0 R/Subtype/Link/Rect[251 380 265 388]/Border[0 0 0]/H/N>> -endobj - -13787 0 obj -<>/P 8731 0 R/Type/Annot/A 17457 0 R/Subtype/Link/Rect[267 380 281 388]/Border[0 0 0]/H/N>> -endobj - -13788 0 obj -<>/P 8731 0 R/Type/Annot/A 17416 0 R/Subtype/Link/Rect[283 380 297 388]/Border[0 0 0]/H/N>> -endobj - -13789 0 obj -<>/P 8731 0 R/Type/Annot/A 17387 0 R/Subtype/Link/Rect[151 370 165 378]/Border[0 0 0]/H/N>> -endobj - -13790 0 obj -<>/P 8731 0 R/Type/Annot/A 17356 0 R/Subtype/Link/Rect[167 370 181 378]/Border[0 0 0]/H/N>> -endobj - -13791 0 obj -<>/P 8731 0 R/Type/Annot/A 17324 0 R/Subtype/Link/Rect[183 370 197 378]/Border[0 0 0]/H/N>> -endobj - -13792 0 obj -<>/P 8731 0 R/Type/Annot/A 13996 0 R/Subtype/Link/Rect[199 370 216 379]/Border[0 0 0]/H/N>> -endobj - -13793 0 obj -<>/P 8731 0 R/Type/Annot/A 16973 0 R/Subtype/Link/Rect[217 370 231 378]/Border[0 0 0]/H/N>> -endobj - -13794 0 obj -<>/P 8731 0 R/Type/Annot/A 16953 0 R/Subtype/Link/Rect[233 370 249 379]/Border[0 0 0]/H/N>> -endobj - -13795 0 obj -<>/P 8731 0 R/Type/Annot/A 16924 0 R/Subtype/Link/Rect[250 370 264 378]/Border[0 0 0]/H/N>> -endobj - -13796 0 obj -<>/P 8731 0 R/Type/Annot/A 16895 0 R/Subtype/Link/Rect[266 370 283 379]/Border[0 0 0]/H/N>> -endobj - -13797 0 obj -<>/P 8731 0 R/Type/Annot/A 16859 0 R/Subtype/Link/Rect[283 370 297 378]/Border[0 0 0]/H/N>> -endobj - -13798 0 obj -<>/P 8731 0 R/Type/Annot/A 16834 0 R/Subtype/Link/Rect[151 360 168 369]/Border[0 0 0]/H/N>> -endobj - -13799 0 obj -<>/P 8731 0 R/Type/Annot/A 16801 0 R/Subtype/Link/Rect[169 360 183 368]/Border[0 0 0]/H/N>> -endobj - -13800 0 obj -<>/P 8731 0 R/Type/Annot/A 16767 0 R/Subtype/Link/Rect[185 360 201 369]/Border[0 0 0]/H/N>> -endobj - -13801 0 obj -<>/P 8731 0 R/Type/Annot/A 16735 0 R/Subtype/Link/Rect[202 360 214 368]/Border[0 0 0]/H/N>> -endobj - -13802 0 obj -<>/P 8731 0 R/Type/Annot/A 16697 0 R/Subtype/Link/Rect[190 350 202 358]/Border[0 0 0]/H/N>> -endobj - -13803 0 obj -<>/P 8731 0 R/Type/Annot/A 14500 0 R/Subtype/Link/Rect[265 340 281 349]/Border[0 0 0]/H/N>> -endobj - -13804 0 obj -<>/P 8731 0 R/Type/Annot/A 16646 0 R/Subtype/Link/Rect[282 340 294 348]/Border[0 0 0]/H/N>> -endobj - -13805 0 obj -<>/P 8731 0 R/Type/Annot/A 16622 0 R/Subtype/Link/Rect[279 330 296 339]/Border[0 0 0]/H/N>> -endobj - -13806 0 obj -<>/P 8731 0 R/Type/Annot/A 14173 0 R/Subtype/Link/Rect[296 330 310 339]/Border[0 0 0]/H/N>> -endobj - -13807 0 obj -<>/P 8731 0 R/Type/Annot/A 16559 0 R/Subtype/Link/Rect[151 320 165 329]/Border[0 0 0]/H/N>> -endobj - -13808 0 obj -<>/P 8731 0 R/Type/Annot/A 16527 0 R/Subtype/Link/Rect[167 320 179 329]/Border[0 0 0]/H/N>> -endobj - -13809 0 obj -<>/P 8731 0 R/Type/Annot/A 16496 0 R/Subtype/Link/Rect[265 310 277 319]/Border[0 0 0]/H/N>> -endobj - -13810 0 obj -<>/P 8731 0 R/Type/Annot/A 16466 0 R/Subtype/Link/Rect[270 300 282 309]/Border[0 0 0]/H/N>> -endobj - -13811 0 obj -<>/P 8731 0 R/Type/Annot/A 44834 0 R/Subtype/Link/Rect[244 290 261 299]/Border[0 0 0]/H/N>> -endobj - -13812 0 obj -<>/P 8731 0 R/Type/Annot/A 44795 0 R/Subtype/Link/Rect[261 290 275 299]/Border[0 0 0]/H/N>> -endobj - -13813 0 obj -<>/P 8731 0 R/Type/Annot/A 13934 0 R/Subtype/Link/Rect[277 290 291 299]/Border[0 0 0]/H/N>> -endobj - -13814 0 obj -<>/P 8731 0 R/Type/Annot/A 44710 0 R/Subtype/Link/Rect[293 290 307 299]/Border[0 0 0]/H/N>> -endobj - -13815 0 obj -<>/P 8731 0 R/Type/Annot/A 44692 0 R/Subtype/Link/Rect[151 280 165 289]/Border[0 0 0]/H/N>> -endobj - -13816 0 obj -<>/P 8731 0 R/Type/Annot/A 44667 0 R/Subtype/Link/Rect[167 280 181 289]/Border[0 0 0]/H/N>> -endobj - -13817 0 obj -<>/P 8731 0 R/Type/Annot/A 13936 0 R/Subtype/Link/Rect[183 280 197 289]/Border[0 0 0]/H/N>> -endobj - -13818 0 obj -<>/P 8731 0 R/Type/Annot/A 44584 0 R/Subtype/Link/Rect[199 280 213 289]/Border[0 0 0]/H/N>> -endobj - -13819 0 obj -<>/P 8731 0 R/Type/Annot/A 43257 0 R/Subtype/Link/Rect[215 280 229 289]/Border[0 0 0]/H/N>> -endobj - -13820 0 obj -<>/P 8731 0 R/Type/Annot/A 44509 0 R/Subtype/Link/Rect[231 280 245 289]/Border[0 0 0]/H/N>> -endobj - -13821 0 obj -<>/P 8731 0 R/Type/Annot/A 44486 0 R/Subtype/Link/Rect[247 280 261 289]/Border[0 0 0]/H/N>> -endobj - -13822 0 obj -<>/P 8731 0 R/Type/Annot/A 44434 0 R/Subtype/Link/Rect[263 280 280 289]/Border[0 0 0]/H/N>> -endobj - -13823 0 obj -<>/P 8731 0 R/Type/Annot/A 44402 0 R/Subtype/Link/Rect[281 280 295 289]/Border[0 0 0]/H/N>> -endobj - -13824 0 obj -<>/P 8731 0 R/Type/Annot/A 44361 0 R/Subtype/Link/Rect[297 280 309 289]/Border[0 0 0]/H/N>> -endobj - -13825 0 obj -<>/P 8731 0 R/Type/Annot/A 41607 0 R/Subtype/Link/Rect[279 270 296 279]/Border[0 0 0]/H/N>> -endobj - -13826 0 obj -<>/P 8731 0 R/Type/Annot/A 44297 0 R/Subtype/Link/Rect[296 270 310 279]/Border[0 0 0]/H/N>> -endobj - -13827 0 obj -<>/P 8731 0 R/Type/Annot/A 44255 0 R/Subtype/Link/Rect[151 260 163 269]/Border[0 0 0]/H/N>> -endobj - -13828 0 obj -<>/P 8731 0 R/Type/Annot/A 44231 0 R/Subtype/Link/Rect[190 250 202 259]/Border[0 0 0]/H/N>> -endobj - -13829 0 obj -<>/P 8731 0 R/Type/Annot/A 44182 0 R/Subtype/Link/Rect[269 240 283 249]/Border[0 0 0]/H/N>> -endobj - -13830 0 obj -<>/P 8731 0 R/Type/Annot/A 44160 0 R/Subtype/Link/Rect[285 240 297 249]/Border[0 0 0]/H/N>> -endobj - -13831 0 obj -<>/P 8731 0 R/Type/Annot/A 42782 0 R/Subtype/Link/Rect[190 230 202 239]/Border[0 0 0]/H/N>> -endobj - -13832 0 obj -<>/P 8731 0 R/Type/Annot/A 44089 0 R/Subtype/Link/Rect[265 220 281 229]/Border[0 0 0]/H/N>> -endobj - -13833 0 obj -<>/P 8731 0 R/Type/Annot/A 44047 0 R/Subtype/Link/Rect[282 220 296 229]/Border[0 0 0]/H/N>> -endobj - -13834 0 obj -<>/P 8731 0 R/Type/Annot/A 44015 0 R/Subtype/Link/Rect[151 210 168 219]/Border[0 0 0]/H/N>> -endobj - -13835 0 obj -<>/P 8731 0 R/Type/Annot/A 43974 0 R/Subtype/Link/Rect[169 210 183 219]/Border[0 0 0]/H/N>> -endobj - -13836 0 obj -<>/P 8731 0 R/Type/Annot/A 43949 0 R/Subtype/Link/Rect[185 210 201 219]/Border[0 0 0]/H/N>> -endobj - -13837 0 obj -<>/P 8731 0 R/Type/Annot/A 43908 0 R/Subtype/Link/Rect[202 210 216 219]/Border[0 0 0]/H/N>> -endobj - -13838 0 obj -<>/P 8731 0 R/Type/Annot/A 43863 0 R/Subtype/Link/Rect[218 210 232 219]/Border[0 0 0]/H/N>> -endobj - -13839 0 obj -<>/P 8731 0 R/Type/Annot/A 43835 0 R/Subtype/Link/Rect[234 210 251 219]/Border[0 0 0]/H/N>> -endobj - -13840 0 obj -<>/P 8731 0 R/Type/Annot/A 43799 0 R/Subtype/Link/Rect[251 210 265 219]/Border[0 0 0]/H/N>> -endobj - -13841 0 obj -<>/P 8731 0 R/Type/Annot/A 43763 0 R/Subtype/Link/Rect[267 210 284 219]/Border[0 0 0]/H/N>> -endobj - -13842 0 obj -<>/P 8731 0 R/Type/Annot/A 43719 0 R/Subtype/Link/Rect[285 210 299 219]/Border[0 0 0]/H/N>> -endobj - -13843 0 obj -<>/P 8731 0 R/Type/Annot/A 43695 0 R/Subtype/Link/Rect[151 200 165 209]/Border[0 0 0]/H/N>> -endobj - -13844 0 obj -<>/P 8731 0 R/Type/Annot/A 30124 0 R/Subtype/Link/Rect[167 200 181 209]/Border[0 0 0]/H/N>> -endobj - -13845 0 obj -<>/P 8731 0 R/Type/Annot/A 43607 0 R/Subtype/Link/Rect[183 200 197 209]/Border[0 0 0]/H/N>> -endobj - -13846 0 obj -<>/P 8731 0 R/Type/Annot/A 39485 0 R/Subtype/Link/Rect[199 200 213 209]/Border[0 0 0]/H/N>> -endobj - -13847 0 obj -<>/P 8731 0 R/Type/Annot/A 43529 0 R/Subtype/Link/Rect[215 200 232 209]/Border[0 0 0]/H/N>> -endobj - -13848 0 obj -<>/P 8731 0 R/Type/Annot/A 42108 0 R/Subtype/Link/Rect[233 200 247 209]/Border[0 0 0]/H/N>> -endobj - -13849 0 obj -<>/P 8731 0 R/Type/Annot/A 43459 0 R/Subtype/Link/Rect[249 200 265 209]/Border[0 0 0]/H/N>> -endobj - -13850 0 obj -<>/P 8731 0 R/Type/Annot/A 43431 0 R/Subtype/Link/Rect[266 200 280 209]/Border[0 0 0]/H/N>> -endobj - -13851 0 obj -<>/P 8731 0 R/Type/Annot/A 20085 0 R/Subtype/Link/Rect[151 190 168 199]/Border[0 0 0]/H/N>> -endobj - -13852 0 obj -<>/P 8731 0 R/Type/Annot/A 43347 0 R/Subtype/Link/Rect[169 190 183 199]/Border[0 0 0]/H/N>> -endobj - -13853 0 obj -<>/P 8731 0 R/Type/Annot/A 19115 0 R/Subtype/Link/Rect[185 190 201 199]/Border[0 0 0]/H/N>> -endobj - -13854 0 obj -<>/P 8731 0 R/Type/Annot/A 41863 0 R/Subtype/Link/Rect[202 190 214 199]/Border[0 0 0]/H/N>> -endobj - -13855 0 obj -<>/P 8731 0 R/Type/Annot/A 41796 0 R/Subtype/Link/Rect[190 180 202 189]/Border[0 0 0]/H/N>> -endobj - -13856 0 obj -<>/P 8731 0 R/Type/Annot/A 16136 0 R/Subtype/Link/Rect[226 170 240 179]/Border[0 0 0]/H/N>> -endobj - -13857 0 obj -<>/P 8731 0 R/Type/Annot/A 16065 0 R/Subtype/Link/Rect[242 170 256 179]/Border[0 0 0]/H/N>> -endobj - -13858 0 obj -<>/P 8731 0 R/Type/Annot/A 15749 0 R/Subtype/Link/Rect[258 170 272 179]/Border[0 0 0]/H/N>> -endobj - -13859 0 obj -<>/P 8731 0 R/Type/Annot/A 15669 0 R/Subtype/Link/Rect[274 170 286 179]/Border[0 0 0]/H/N>> -endobj - -13860 0 obj -<>/P 8731 0 R/Type/Annot/A 15599 0 R/Subtype/Link/Rect[190 160 202 169]/Border[0 0 0]/H/N>> -endobj - -13861 0 obj -<>/P 8731 0 R/Type/Annot/A 42985 0 R/Subtype/Link/Rect[250 150 264 159]/Border[0 0 0]/H/N>> -endobj - -13862 0 obj -<>/P 8731 0 R/Type/Annot/A 42946 0 R/Subtype/Link/Rect[266 150 283 159]/Border[0 0 0]/H/N>> -endobj - -13863 0 obj -<>/P 8731 0 R/Type/Annot/A 42920 0 R/Subtype/Link/Rect[284 150 296 159]/Border[0 0 0]/H/N>> -endobj - -13864 0 obj -<>/P 8731 0 R/Type/Annot/A 42873 0 R/Subtype/Link/Rect[447 670 461 678]/Border[0 0 0]/H/N>> -endobj - -13865 0 obj -<>/P 8731 0 R/Type/Annot/A 14753 0 R/Subtype/Link/Rect[463 670 475 678]/Border[0 0 0]/H/N>> -endobj - -13866 0 obj -<>/P 8731 0 R/Type/Annot/A 14547 0 R/Subtype/Link/Rect[487 660 501 668]/Border[0 0 0]/H/N>> -endobj - -13867 0 obj -<>/P 8731 0 R/Type/Annot/A 14493 0 R/Subtype/Link/Rect[503 660 517 668]/Border[0 0 0]/H/N>> -endobj - -13868 0 obj -<>/P 8731 0 R/Type/Annot/A 14433 0 R/Subtype/Link/Rect[359 650 371 658]/Border[0 0 0]/H/N>> -endobj - -13869 0 obj -<>/P 8731 0 R/Type/Annot/A 14385 0 R/Subtype/Link/Rect[482 640 496 648]/Border[0 0 0]/H/N>> -endobj - -13870 0 obj -<>/P 8731 0 R/Type/Annot/A 42662 0 R/Subtype/Link/Rect[498 640 512 648]/Border[0 0 0]/H/N>> -endobj - -13871 0 obj -<>/P 8731 0 R/Type/Annot/A 42612 0 R/Subtype/Link/Rect[359 630 373 638]/Border[0 0 0]/H/N>> -endobj - -13872 0 obj -<>/P 8731 0 R/Type/Annot/A 42584 0 R/Subtype/Link/Rect[375 630 387 638]/Border[0 0 0]/H/N>> -endobj - -13873 0 obj -<>/P 8731 0 R/Type/Annot/A 13935 0 R/Subtype/Link/Rect[501 620 513 628]/Border[0 0 0]/H/N>> -endobj - -13874 0 obj -<>/P 8731 0 R/Type/Annot/A 42514 0 R/Subtype/Link/Rect[398 610 410 618]/Border[0 0 0]/H/N>> -endobj - -13875 0 obj -<>/P 8731 0 R/Type/Annot/A 42469 0 R/Subtype/Link/Rect[359 590 371 598]/Border[0 0 0]/H/N>> -endobj - -13876 0 obj -<>/P 8731 0 R/Type/Annot/A 42425 0 R/Subtype/Link/Rect[398 580 410 588]/Border[0 0 0]/H/N>> -endobj - -13877 0 obj -<>/P 8731 0 R/Type/Annot/A 42383 0 R/Subtype/Link/Rect[487 570 499 578]/Border[0 0 0]/H/N>> -endobj - -13878 0 obj -<>/P 8731 0 R/Type/Annot/A 42362 0 R/Subtype/Link/Rect[398 560 410 568]/Border[0 0 0]/H/N>> -endobj - -13879 0 obj -<>/P 8731 0 R/Type/Annot/A 42326 0 R/Subtype/Link/Rect[359 540 371 548]/Border[0 0 0]/H/N>> -endobj - -13880 0 obj -<>/P 8731 0 R/Type/Annot/A 39521 0 R/Subtype/Link/Rect[398 530 410 538]/Border[0 0 0]/H/N>> -endobj - -13881 0 obj -<>/P 8731 0 R/Type/Annot/A 42238 0 R/Subtype/Link/Rect[476 520 488 528]/Border[0 0 0]/H/N>> -endobj - -13882 0 obj -<>/P 8731 0 R/Type/Annot/A 42200 0 R/Subtype/Link/Rect[482 510 499 519]/Border[0 0 0]/H/N>> -endobj - -13883 0 obj -<>/P 8731 0 R/Type/Annot/A 42151 0 R/Subtype/Link/Rect[499 510 511 518]/Border[0 0 0]/H/N>> -endobj - -13884 0 obj -<>/P 8731 0 R/Type/Annot/A 42100 0 R/Subtype/Link/Rect[398 500 410 508]/Border[0 0 0]/H/N>> -endobj - -13885 0 obj -<>/P 8731 0 R/Type/Annot/A 42066 0 R/Subtype/Link/Rect[468 490 482 498]/Border[0 0 0]/H/N>> -endobj - -13886 0 obj -<>/P 8731 0 R/Type/Annot/A 42024 0 R/Subtype/Link/Rect[484 490 495 498]/Border[0 0 0]/H/N>> -endobj - -13887 0 obj -<>/P 8731 0 R/Type/Annot/A 41978 0 R/Subtype/Link/Rect[398 480 410 488]/Border[0 0 0]/H/N>> -endobj - -13888 0 obj -<>/P 8731 0 R/Type/Annot/A 41950 0 R/Subtype/Link/Rect[502 470 514 478]/Border[0 0 0]/H/N>> -endobj - -13889 0 obj -<>/P 8731 0 R/Type/Annot/A 41907 0 R/Subtype/Link/Rect[477 460 491 468]/Border[0 0 0]/H/N>> -endobj - -13890 0 obj -<>/P 8731 0 R/Type/Annot/A 41866 0 R/Subtype/Link/Rect[493 460 507 468]/Border[0 0 0]/H/N>> -endobj - -13891 0 obj -<>/P 8731 0 R/Type/Annot/A 41810 0 R/Subtype/Link/Rect[359 450 371 458]/Border[0 0 0]/H/N>> -endobj - -13892 0 obj -<>/P 8731 0 R/Type/Annot/A 37773 0 R/Subtype/Link/Rect[398 440 410 448]/Border[0 0 0]/H/N>> -endobj - -13893 0 obj -<>/P 8731 0 R/Type/Annot/A 41709 0 R/Subtype/Link/Rect[457 430 468 438]/Border[0 0 0]/H/N>> -endobj - -13894 0 obj -<>/P 8731 0 R/Type/Annot/A 41664 0 R/Subtype/Link/Rect[501 420 515 428]/Border[0 0 0]/H/N>> -endobj - -13895 0 obj -<>/P 8731 0 R/Type/Annot/A 41621 0 R/Subtype/Link/Rect[359 410 371 418]/Border[0 0 0]/H/N>> -endobj - -13896 0 obj -<>/P 8731 0 R/Type/Annot/A 41576 0 R/Subtype/Link/Rect[398 400 410 408]/Border[0 0 0]/H/N>> -endobj - -13897 0 obj -<>/P 8731 0 R/Type/Annot/A 41546 0 R/Subtype/Link/Rect[501 390 515 398]/Border[0 0 0]/H/N>> -endobj - -13898 0 obj -<>/P 8731 0 R/Type/Annot/A 41502 0 R/Subtype/Link/Rect[359 380 371 388]/Border[0 0 0]/H/N>> -endobj - -13899 0 obj -<>/P 8731 0 R/Type/Annot/A 41462 0 R/Subtype/Link/Rect[398 370 410 378]/Border[0 0 0]/H/N>> -endobj - -13900 0 obj -<>/P 8731 0 R/Type/Annot/A 13937 0 R/Subtype/Link/Rect[492 360 504 368]/Border[0 0 0]/H/N>> -endobj - -13901 0 obj -<>/P 8731 0 R/Type/Annot/A 41408 0 R/Subtype/Link/Rect[398 350 410 358]/Border[0 0 0]/H/N>> -endobj - -13902 0 obj -<>/P 8731 0 R/Type/Annot/A 41340 0 R/Subtype/Link/Rect[492 340 504 348]/Border[0 0 0]/H/N>> -endobj - -13903 0 obj -<>/P 8731 0 R/Type/Annot/A 41302 0 R/Subtype/Link/Rect[398 330 410 339]/Border[0 0 0]/H/N>> -endobj - -13904 0 obj -<>/P 8731 0 R/Type/Annot/A 41277 0 R/Subtype/Link/Rect[477 320 494 329]/Border[0 0 0]/H/N>> -endobj - -13905 0 obj -<>/P 8731 0 R/Type/Annot/A 41240 0 R/Subtype/Link/Rect[495 320 507 329]/Border[0 0 0]/H/N>> -endobj - -13906 0 obj -<>/P 8731 0 R/Type/Annot/A 41197 0 R/Subtype/Link/Rect[398 310 410 319]/Border[0 0 0]/H/N>> -endobj - -13907 0 obj -<>/P 8731 0 R/Type/Annot/A 41178 0 R/Subtype/Link/Rect[477 300 494 309]/Border[0 0 0]/H/N>> -endobj - -13908 0 obj -<>/P 8731 0 R/Type/Annot/A 23375 0 R/Subtype/Link/Rect[495 300 509 309]/Border[0 0 0]/H/N>> -endobj - -13909 0 obj -<>/P 8731 0 R/Type/Annot/A 41120 0 R/Subtype/Link/Rect[359 290 371 299]/Border[0 0 0]/H/N>> -endobj - -13910 0 obj -<>/P 8731 0 R/Type/Annot/A 37932 0 R/Subtype/Link/Rect[398 280 410 289]/Border[0 0 0]/H/N>> -endobj - -13911 0 obj -<>/P 8731 0 R/Type/Annot/A 40757 0 R/Subtype/Link/Rect[375 270 385 279]/Border[0 0 0]/H/N>> -endobj - -13912 0 obj -<>/P 8731 0 R/Type/Annot/A 40735 0 R/Subtype/Link/Rect[387 270 401 279]/Border[0 0 0]/H/N>> -endobj - -13913 0 obj -<>/P 8731 0 R/Type/Annot/A 16046 0 R/Subtype/Link/Rect[403 270 417 279]/Border[0 0 0]/H/N>> -endobj - -13914 0 obj -<>/P 8731 0 R/Type/Annot/A 40131 0 R/Subtype/Link/Rect[419 270 431 279]/Border[0 0 0]/H/N>> -endobj - -13915 0 obj -<>/P 8731 0 R/Type/Annot/A 40098 0 R/Subtype/Link/Rect[434 260 448 269]/Border[0 0 0]/H/N>> -endobj - -13916 0 obj -<>/P 8731 0 R/Type/Annot/A 39572 0 R/Subtype/Link/Rect[450 260 464 269]/Border[0 0 0]/H/N>> -endobj - -13917 0 obj -<>/P 8731 0 R/Type/Annot/A 39519 0 R/Subtype/Link/Rect[466 260 480 269]/Border[0 0 0]/H/N>> -endobj - -13918 0 obj -<>/P 8731 0 R/Type/Annot/A 15029 0 R/Subtype/Link/Rect[482 260 494 269]/Border[0 0 0]/H/N>> -endobj - -13919 0 obj -<>/P 8731 0 R/Type/Annot/A 38948 0 R/Subtype/Link/Rect[398 250 410 259]/Border[0 0 0]/H/N>> -endobj - -13920 0 obj -<>/P 8731 0 R/Type/Annot/A 14770 0 R/Subtype/Link/Rect[482 240 494 249]/Border[0 0 0]/H/N>> -endobj - -13921 0 obj -<>/P 8731 0 R/Type/Annot/A 38372 0 R/Subtype/Link/Rect[398 230 410 239]/Border[0 0 0]/H/N>> -endobj - -13922 0 obj -<>/P 8731 0 R/Type/Annot/A 19069 0 R/Subtype/Link/Rect[477 220 489 229]/Border[0 0 0]/H/N>> -endobj - -13923 0 obj -<>/P 8731 0 R/Type/Annot/A 38299 0 R/Subtype/Link/Rect[398 210 410 219]/Border[0 0 0]/H/N>> -endobj - -13924 0 obj -<>/P 8731 0 R/Type/Annot/A 14398 0 R/Subtype/Link/Rect[468 200 484 209]/Border[0 0 0]/H/N>> -endobj - -13925 0 obj -<>/P 8731 0 R/Type/Annot/A 36824 0 R/Subtype/Link/Rect[485 200 497 209]/Border[0 0 0]/H/N>> -endobj - -13926 0 obj -<>/P 8731 0 R/Type/Annot/A 36783 0 R/Subtype/Link/Rect[398 190 410 199]/Border[0 0 0]/H/N>> -endobj - -13927 0 obj -<>/P 8731 0 R/Type/Annot/A 36748 0 R/Subtype/Link/Rect[449 180 465 189]/Border[0 0 0]/H/N>> -endobj - -13928 0 obj -<>/P 8731 0 R/Type/Annot/A 36697 0 R/Subtype/Link/Rect[466 180 480 189]/Border[0 0 0]/H/N>> -endobj - -13929 0 obj -<>/P 8731 0 R/Type/Annot/A 35926 0 R/Subtype/Link/Rect[482 180 496 189]/Border[0 0 0]/H/N>> -endobj - -13930 0 obj -<>/P 8731 0 R/Type/Annot/A 35876 0 R/Subtype/Link/Rect[498 180 510 189]/Border[0 0 0]/H/N>> -endobj - -13931 0 obj -<>/P 8731 0 R/Type/Annot/A 35100 0 R/Subtype/Link/Rect[398 170 410 179]/Border[0 0 0]/H/N>> -endobj - -13932 0 obj -<>/P 8731 0 R/Type/Annot/A 35067 0 R/Subtype/Link/Rect[473 160 485 169]/Border[0 0 0]/H/N>> -endobj - -13933 0 obj -<>/P 8731 0 R/Type/Annot/A 35036 0 R/Subtype/Link/Rect[398 150 410 159]/Border[0 0 0]/H/N>> -endobj - -13934 0 obj -<> -endobj - -13935 0 obj -<> -endobj - -13936 0 obj -<> -endobj - -13937 0 obj -<> -endobj - -13938 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -13939 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -13940 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -13941 0 obj -<> -stream -HWko۸_ -(K}.M1P\EJ֖lḽ(QLJrΐPm_.߿z:_}Uw$t*l M\ER#m}(#7qtW~խmmMt۵"\/*.,1"+&J,_G> iR1nn id|^ˡ^7۳ϋ?Hdae(PYnW?G}PYTBoQ1=" ϱWG|9WqdUJd%>7-utYC96X -HCV9KE0dE $^%^^^^5^5^   sF}y`Q_ F}/edԗz˨z˨<+RlIƵCVbb\K1d)P=ŀŸbbk),F}Zɸbb\K1d1JƵC>pd\K1`1k%Z!QV2R Yq-ŐŨ\+Rl)ƵCVbb\K1d)P=ŀŸbbUk),F}ZŸbb\K1d1*ƵC>pb\K1`1kZ!QV1R Yq-ŐŨ\RliƵCVbb\K1d)P=ŀŸbbՌk),F}Z͸bb\K1d1jƵC>pf\K1`1k5Z!QV3R Yq-ŐŨ\RlƵCVbb\K1d)PM:߬D/B|ѱwF"ϰoxn 'ϵ{ƣPֽTw~r]G]Vkm?T7?{}[>/`DHGO]woܿ`2afcշ=yS}k{Lx]O붇'̇uѲL +fbzۧKFs >)ٜɩSt SGN/,,~ۗ/sWϺgOUPͻ?O`fJEi @I”4LҶ {zB*qBRzw#HUjizwWw[ww:` 1)#呚j!t)ʩKӺDʗHlf"*5z{ :mhiqh}jl4zTC}ǖ`ݦܒ#;]n#Tgs]ۖ (UUaSck^GKҤy!f`__é,nLHZ{$VEj: ->)vUUPX= |v jVS&ѣA޿x՗WEZwW<7JK&O-(2?NGyͲۭ.p[1*k۽m4H8'u~6k6e08Ď*_Hlp1/MQݻ.]5K(oIuTÕk |-PȒ$`ƾ6kѹZMӛ.aL 8"M?ruT鼜G5ىKӟ:әlU~,C= u?ʍPzr^=]@ Whm5n1T몫}Oえ?{~?l⮖:Rt(q(8$(&Km>8kcNz$wdP:(TkOf\qℑ"Ԭ_+~xdCcקC68q>2}hg/])8ԒEKqH-UBQ>JTFtjaP5pqOZuOER4jһ BBeԓ$OKoŒ&Ftjer CO~`R&9kgdxK{GDL,N Q#c1t,*sJ4$.F2R$L[4Oݨ),P#OerKԳsSJ6S٧"Ez[ <?6}p^By858ԵAcS?q1(fIz-K;;y )b,PvmUK]7h^,ly-*ƸYHsӽG}$_u MZ -d0 -.7Yкrb;KbC3DQ(n&UۮXx NTAk{)VTWh%1(ɗ6)]vz|Z iwL`tC{sNE E/8_4Myr4sOF+kIrb#k@CE6IW-;ٕ(&NsP q9׭mD+kT\vA~?F(6}ܞaKf+(g7cq9Z<8=*0SFC{Q^@|./_ptT7Rn`>`ͦp*ᗀЫ5S@ j|Vd* -Dٮ<]n$S%+Rdez8c!r}y36$uqsQYf%SEe^:FRpDQ -GJ -ƩtR(qݾ`[!*-RgBjGL4XXk -:SO|teŋڰ[}+ހ0\P/$lYwnʮY\c0h`xso-'!ձQlq rQz0;TVb~4 EHRfYl[24 $N'Uf:%⢹04é>޾ۇw/Oendstream -endobj - -13942 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -13943 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -13944 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -13945 0 obj -<> -stream -HWr8}W`k_)&ndSyH2;DS`RYJD+Rx~y4=TBsqA7SO>g1{w"3W(3%`GXpqW[.`wuv\/8[l&Yr8c2y.._[a\Sݘ]\ Mݏú}8lc 1JHݶo̱wKZ cJX{d!'`zS}O >#g`ys} f9!ZVPkC޵PkC޵!gEֵ!`Vum"{j]պ6D= -B Q{OPkZ׆(ZAֵ!`Vum"TET+պ6D= -B $Z׆(kZ׆(kC޵PkCS$TET+ պ6@um"{j]j%Z(B Q{OPkCS$TEֵ!`Vum"{j][(B Q>{(B Q>{׆(kZ׆(ZEֵ!`Vum"TETպ6D=*B Pj]jZ׆(ZEֵPkCS"TETպ2Єj]| Pj]| Q><\L2x 8[l0xE KtI(jZٕ&ھX|uG/?8DS9v۩_q[ %aYE|hIR9k;g&>gWĸ],nbkUnn(gnL&"<ê4ͣ14B]SpLhH'^8ͦ^am'|)Sl|U$EnIͶhQ[Ա sljk2uqt7O$kNx4ytmoh7NamwƠީXӡy>B7:#n.m^ -#Q2`[)i5SJRN;0 E7E;l2lno{w7޻$!;#ަ$CSfi1d~Y ^-PŎ -Eagá=,= 8ɬ!cLYߥv e{N74qx itQ~V<(1v k5_pO8U -<∇"eFiE_ݝp *L9_c Ij;̗q)lf4ⸯ?~Fmؿy+Cq2[E - {rHC3zd tM"w|^PهrR]۹XOQOQS/msZH(0Z iy;7弫-/+q#hv3_xro«馱'Tn0jZGPLJ&nU4f斁Ik']>1,- ڐ\mXݩ4|b/{ T7Uʹ^X)zj}Z!+/\T:ڷ \z ˢnS8\f*c2[f5)G &(%ˁxpIoN;ɾ_fBGw _ fZvhM3|fCFq4(,47Y4F!=1ۦ~{]bQ?Fi˹ST4c ޙ\vA]yx[5[bS -T V՘8mS %cP_:wOڅ?XVD_4z^uf.V `eKn1\˕|brm-8t_{c0fN:Pt4DWJ6zq,S--˧ AIϮ7h!iޕ^ ^uНSslC^ y>3\Cg8sxban>)O[praa4_Ɖи_J,GhL#%SK] -jmiFAUH3wMĠd(4o>g֩K@FDYAV˺ڛz%[UWT -ԾtL 2ͮoGln=D0eo6'/gdWMo8W#uZ`llFjesX I0 -ɿW.4̞0Peի -ȥcY.D xUowi%(uL LVLr_INmb" -A?f'Eׇz^-k<"C,x!Ԍ;8N-pN#|ۡ?}>-$6"C >.:cef?N0ФRJ}($DuT(|F.fjæN*pDr}sV<Ag:SM!_8y`&BK23L.6OZ pzq' -[~~Yc?5;,`ceMR} 'OHd.dd0-,aFo×@daŏ_I0ΛiS ؼEj8'7ەV띓WN^r *{^㼶@0waye/pHvHz -@Y陔lr1Hz"D..'mӥi貊\/4 -J)hGjrvgu"# ?,PkKh TB~c,>p%2i9ab&^ ir.PRћJ w b74Al5}mc7>8D޲i~q7+|竿`Yéendstream -endobj - -13946 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -13947 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -13948 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -13949 0 obj -<> -stream -HW]۶}ׯH(EhCWY+%ג3$%&HdEgs8~?㋟^BsZJ2[)n$;%/XqvLݗݾ݆גݏŋuqH&c Hsٲf}N߬?y iqoW/w߳Ҕnai9:voޯ[j9(N£^%)sR(.%~Kv -*. 8.k| g uLq9%Q Km"G%6Dr"'% 2c/ 2c*c*c*c :c :co&co&co&c_쫌}E2`o3`o3`o35:c.cf!Զ/$Ԇ}jԆ}jCT>PmjC>S$TET+ զ6@Mm"gjSj%(B QLPmjC>S$TE6!`VMm"gjS۾PjSr PjSr Q9(B QLPmjC>S"TE6!`VMm"gUjSզ6D3*B QLPmjԆ(}ZE6!`VMmBMm٧6@Mm٧6DSզ6D3jB QLPmjԆ(}ZM6!`VMm"TET զ6D3jB PjSj5Ԇ(}ZM6 C6!*gE6!*gw9Y .}b]ܮ X!*b6=ެ?%Nx.Bb?<4AٚJvu:FUף.HX)>qcb`ڶcav]?=N~{hc,>f%|zJ\fO}iOC7mè r8W]rN*%+X7!pLZ@۞ȿRKW)]2 y~iwE -gz8쾴T~XMd㍨WÇ>i7uRl682pװ"Z8`ӲwхOٻ=/ydRdb`B7X )9H[y‘Bsl-n6m)U數6wcRul}CyFL< 7)SP(!OiC1!UZo=ssƟ+D6c };S7œa޵v-kX,aۛ.14{BrЂڏ kopJ$-0N70aE`RRp%jPΖrvlbZVCl'qހ%3).{* rf5n sK*_E]9t:8{%|]߮Aizhαv<hVdo6 ȾE0*1Ծ9|G^#CKvݸֵ;NpXwR'`ɕ]y1r]Av/8ۇ8Y j{Ť'9!{f׵4.midLDfDru{T\\yZ.RCc=yOE@qku{hKl@BVS®l9ưc 1m9f t ؇M*r%hbxy"pVmY"kᬜZ']߯M -z(|O]R{6R䮼gtTF~0/!񿚺}i'5k g"a[(if7ڡ_?ŋ>|;\3k [I nv%׸FXcO@1ի@50Qɺf?ojod eɔ>0|P& %.FU pi54AYj8L =n W:HVKR9MnE&Tj4+Ja]yPAnǗcfjPpG#$(D ?:5t\4-od>;tpt: .-;tZ˗ ޯYˏo_]qղ|8Rq|2Y>C -bWXPB -, -f1}X `k`)7S(`ӻpnRQŃ#GtI6D:GB=2{*Rch')X*n~4ym;:2~qy3 _Ks)$Ba\d i1^Zt6+5LU1.jn,TOf.tI'PSͽhV-H \NV - N%ܙDz w9|z'N N$̖И|fqeȬ4_EOYO B騹E/"CIb$H~آ#2}Y 2VKY;#߆-%K8_*XH.)S^m@tϯPHnEѡC!Z˵X -,F}ߑG|{PQ0^6@ @T2A@*oH0jRhf0I7\gi+,o wZN7E O8p.~B 69׮4]ht{󊤛T"c&݄]sZH|Y*l`7@\p87˹۾s[1 22ܐ7{YpVNgXIeX<.,Z=ӒMl#~  77'e$TU%".^ #"h)|) 9Y`F љ2vxOaUJJRVx'.K.6Ȳ(z30 -1Gvڞ?xe_( :> -stream - q /X1 Do - Q q endstream -endobj - -13951 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -13952 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -13953 0 obj -<> -stream -HێFg z6lĻYKA.`c:4[EЪ*3_]_7﮾u??t]~yw/Ӯ1e7~727yv^/v7m}7|d7oUp^.O|)PD1wټTUhvs7ËŗN^B8ʿ5MWL ?W-laV{ ySym(T?,gu6Ϣ5hLDch TZs *ʮ51P0z#Foz@o-wcNw {3z/{F@})ЗKF_ -%W}@}g`Zk3#Pi Tki UPi Tki U=s\KckZZC@\kzZ#@%P%34*1P 1T ̵Fp-Jg5kiͬZC1P 1TqzC1P 1T ̵Vp-Jgki Tki U=s\KckZZC@\kzZ+@%P%3Z4* -6ski U@%Pi U@%P%3:4* 1P 1T ̵Np-Jguki Tki U=s\KckZZC@\zZ' 1TqzZC1TqX]U\d7628UB/ _h6_U}8s.C{ZJ)}96XuUt$/=fAbC(]Qik2zh g7cL Qqq@zWHʞ$HILI5^YkXz> 2=IF+.Eҫz[qwšREL'YITl?ybDz}u^NXGUׁ1kэ?.8˓Κ854VL7Ϯ\Z][I]WsӦ+0mAavyyh6쐍aJP1fooI췏pfwG /mʷcFQjY&Ef&Kf&{"Uu{͢ՠ,.Xjh3.+rZmv 4m*Dž~a6'lMȱQOHv@g}ʼ`%[ -v+%DQHTV{NkbH -ً -ঢ-2͂/}g4rFz=\~?*pM#D0[ԝ9 '@IVqYXK4A&H>0~xm<Wq]I?\k>+p @ig?,e%.=^}#Cdzxo?GS(M *Oh v!-׎Kk|T顯K_ `vfO6uJR AS&[( t*uB.0 2&3$!+^͆Ngv66Nj8;yGa,LIj` mi\ԮʠQ>~Z掕= , ܾwi W k8PڳL8>/P 190 0 R/Type/Annot/A 37541 0 R/Subtype/Link/Rect[154.800003 665.190979 324.910004 677.221008]/Border[0 0 0]/H/N>> -endobj - -13955 0 obj -<>/P 190 0 R/Type/Annot/A 13993 0 R/Subtype/Link/Rect[154.800003 652.190979 307.790009 664.221008]/Border[0 0 0]/H/N>> -endobj - -13956 0 obj -<>/P 190 0 R/Type/Annot/A 37539 0 R/Subtype/Link/Rect[154.800003 639.190979 313.790009 651.221008]/Border[0 0 0]/H/N>> -endobj - -13957 0 obj -<>/P 190 0 R/Type/Annot/A 34195 0 R/Subtype/Link/Rect[154.800003 626.190979 312.790009 638.221008]/Border[0 0 0]/H/N>> -endobj - -13958 0 obj -<>/P 190 0 R/Type/Annot/A 14022 0 R/Subtype/Link/Rect[154.800003 613.190979 382.591003 625.221008]/Border[0 0 0]/H/N>> -endobj - -13959 0 obj -<>/P 190 0 R/Type/Annot/A 37517 0 R/Subtype/Link/Rect[154.800003 600.190979 319.790985 612.221008]/Border[0 0 0]/H/N>> -endobj - -13960 0 obj -<>/P 190 0 R/Type/Annot/A 37515 0 R/Subtype/Link/Rect[154.800003 587.190979 376.591003 599.221008]/Border[0 0 0]/H/N>> -endobj - -13961 0 obj -<>/P 190 0 R/Type/Annot/A 43100 0 R/Subtype/Link/Rect[154.800995 574.190979 316.019989 586.221008]/Border[0 0 0]/H/N>> -endobj - -13962 0 obj -<>/P 190 0 R/Type/Annot/A 37502 0 R/Subtype/Link/Rect[154.800995 561.190979 312.790985 573.221008]/Border[0 0 0]/H/N>> -endobj - -13963 0 obj -<>/P 190 0 R/Type/Annot/A 37501 0 R/Subtype/Link/Rect[154.800995 548.190979 406.061005 560.221008]/Border[0 0 0]/H/N>> -endobj - -13964 0 obj -<>/P 190 0 R/Type/Annot/A 37497 0 R/Subtype/Link/Rect[154.800995 535.190979 312.980988 547.221008]/Border[0 0 0]/H/N>> -endobj - -13965 0 obj -<>/P 190 0 R/Type/Annot/A 37495 0 R/Subtype/Link/Rect[154.800995 522.190979 319.790985 534.221008]/Border[0 0 0]/H/N>> -endobj - -13966 0 obj -<>/P 190 0 R/Type/Annot/A 31063 0 R/Subtype/Link/Rect[154.800995 509.19101 331.031006 521.221008]/Border[0 0 0]/H/N>> -endobj - -13967 0 obj -<>/P 190 0 R/Type/Annot/A 37492 0 R/Subtype/Link/Rect[154.800995 496.19101 322.69101 508.221008]/Border[0 0 0]/H/N>> -endobj - -13968 0 obj -<>/P 190 0 R/Type/Annot/A 17953 0 R/Subtype/Link/Rect[154.800995 483.19101 331.031006 495.221008]/Border[0 0 0]/H/N>> -endobj - -13969 0 obj -<>/P 190 0 R/Type/Annot/A 37477 0 R/Subtype/Link/Rect[154.800995 470.19101 308.781006 482.221008]/Border[0 0 0]/H/N>> -endobj - -13970 0 obj -<>/P 190 0 R/Type/Annot/A 30217 0 R/Subtype/Link/Rect[154.800995 457.19101 282.960999 469.221008]/Border[0 0 0]/H/N>> -endobj - -13971 0 obj -<>/P 190 0 R/Type/Annot/A 37476 0 R/Subtype/Link/Rect[129.600998 432.490997 487.462006 444.890991]/Border[0 0 0]/H/N>> -endobj - -13972 0 obj -<>/P 190 0 R/Type/Annot/A 37474 0 R/Subtype/Link/Rect[154.800995 414.290985 292.131989 426.321014]/Border[0 0 0]/H/N>> -endobj - -13973 0 obj -<>/P 190 0 R/Type/Annot/A 37473 0 R/Subtype/Link/Rect[154.800995 401.290985 312.841003 413.321014]/Border[0 0 0]/H/N>> -endobj - -13974 0 obj -<>/P 190 0 R/Type/Annot/A 37472 0 R/Subtype/Link/Rect[154.800995 388.290985 311.621002 400.321014]/Border[0 0 0]/H/N>> -endobj - -13975 0 obj -<>/P 190 0 R/Type/Annot/A 17592 0 R/Subtype/Link/Rect[154.800995 375.290985 314.35199 387.321014]/Border[0 0 0]/H/N>> -endobj - -13976 0 obj -<>/P 190 0 R/Type/Annot/A 37466 0 R/Subtype/Link/Rect[154.800995 362.290985 280.451996 374.321014]/Border[0 0 0]/H/N>> -endobj - -13977 0 obj -<>/P 190 0 R/Type/Annot/A 16974 0 R/Subtype/Link/Rect[154.800995 349.290985 331.17099 361.320007]/Border[0 0 0]/H/N>> -endobj - -13978 0 obj -<>/P 190 0 R/Type/Annot/A 37457 0 R/Subtype/Link/Rect[154.800995 323.290985 396.520996 348.320007]/Border[0 0 0]/H/N>> -endobj - -13979 0 obj -<>/P 190 0 R/Type/Annot/A 13994 0 R/Subtype/Link/Rect[154.800995 310.290985 293.790985 322.320007]/Border[0 0 0]/H/N>> -endobj - -13980 0 obj -<>/P 190 0 R/Type/Annot/A 37455 0 R/Subtype/Link/Rect[154.800995 297.290985 373.881012 309.320007]/Border[0 0 0]/H/N>> -endobj - -13981 0 obj -<>/P 190 0 R/Type/Annot/A 37454 0 R/Subtype/Link/Rect[154.800995 284.290985 364.681 296.320007]/Border[0 0 0]/H/N>> -endobj - -13982 0 obj -<>/P 190 0 R/Type/Annot/A 28509 0 R/Subtype/Link/Rect[154.800995 271.290985 354.471985 283.320007]/Border[0 0 0]/H/N>> -endobj - -13983 0 obj -<>/P 190 0 R/Type/Annot/A 37452 0 R/Subtype/Link/Rect[154.800995 258.290009 282.962006 270.320007]/Border[0 0 0]/H/N>> -endobj - -13984 0 obj -<>/P 190 0 R/Type/Annot/A 28423 0 R/Subtype/Link/Rect[129.602005 233.589996 487.462006 245.990005]/Border[0 0 0]/H/N>> -endobj - -13985 0 obj -<>/P 190 0 R/Type/Annot/A 37451 0 R/Subtype/Link/Rect[154.802002 215.389999 292.131989 227.419998]/Border[0 0 0]/H/N>> -endobj - -13986 0 obj -<>/P 190 0 R/Type/Annot/A 28346 0 R/Subtype/Link/Rect[154.802002 202.389999 315.471985 214.419998]/Border[0 0 0]/H/N>> -endobj - -13987 0 obj -<>/P 190 0 R/Type/Annot/A 13995 0 R/Subtype/Link/Rect[154.802002 189.389999 319.791992 201.419998]/Border[0 0 0]/H/N>> -endobj - -13988 0 obj -<>/P 190 0 R/Type/Annot/A 37449 0 R/Subtype/Link/Rect[154.802002 176.389999 323.041992 188.419998]/Border[0 0 0]/H/N>> -endobj - -13989 0 obj -<>/P 190 0 R/Type/Annot/A 37447 0 R/Subtype/Link/Rect[154.802002 163.389999 355.071991 175.419998]/Border[0 0 0]/H/N>> -endobj - -13990 0 obj -<>/P 190 0 R/Type/Annot/A 13992 0 R/Subtype/Link/Rect[154.802002 150.389999 332.60199 162.419998]/Border[0 0 0]/H/N>> -endobj - -13991 0 obj -<>/P 190 0 R/Type/Annot/A 16129 0 R/Subtype/Link/Rect[154.802002 137.389999 328.122009 149.419998]/Border[0 0 0]/H/N>> -endobj - -13992 0 obj -<> -endobj - -13993 0 obj -<> -endobj - -13994 0 obj -<> -endobj - -13995 0 obj -<> -endobj - -13996 0 obj -<> -endobj - -13997 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -13998 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -13999 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14000 0 obj -<> -stream -HWkoI޿v>9̤ EXbƏLC@{= ['O:RuۤiÇ'd'Ϟ&$62KO3M5$3k&9wb̗u̧''8:y2NNkIEd2i"+x|2G.f#=9Go7SHv˲ӛwRO׳z#Bfy$K톴.i:sklf^'¼{I*.RV2H$UJs*W$1K'1bYYcV,Zm^brSp{{^Wp>Q}T#pϕϕ///// - -W[&Vb%F,Z1K{ VbUkhĘܫ:Z VbUkhĘܫ:Z VbUkhĘܫ:Z VbUkhĘܫ:Z-Z+1fi#hĘKYڽĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hĖI{ Vb%,^b{Z+1fVb{Z+1fVb{Z+1fVb{Z+1fVb$JYڽĈZ+1ficpon ]H*Rd{ U -@+(Ҋ@+*ʁVr+hJZ*VJU* -hUJZr֒Ҳ@*-r@KށK YJ ^bZ*^b5lRZ cRw .XCʽXwuT=ȽT=Ƚ"T=Ƚ"T=ȽT=ȽT=ȽT=ȽT=ȽZT=ȽZ$,%10-r/10-r/1 --r/1 --r/1>-r/1>-r/1>-r/1>-r/1>-r/1>k-1KkI@K>WiUUduLkI%:c|xPclt$2-:rEdYpj|5M=6i{3YjV!tnfѱu$-]o__H阣7uCf9Y,zfn/zUo]&NƟخH}7ݏ}ҵ+nziGѿyygهٗO+d}QΎΎ? `<O^BI^9,F?>$ρAoˡhR1rpv=V1uPӧ9&xl_}S.z_n2EF|Ѭ|U3§e7d}sیуiW=x$ͅ&ICڃfC -7>ifuX{s7\Zb(RۑcE4v\S7p8ͳ_/O_%б;߱FbK=Uj{@M4 iJD{Rw^>sUi~ӽYl یw:n}5ܹf} | *RZhVPZhEVTZ9ʕVrUBi@PZ%*V JUJiU@Z.Zc֒,вJ-rJ-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1fi- ^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ#ȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘT#ȽĘ$F,{1KkU| ۣ}O؞;c"F?r{Cil^μ˶|oYUΌQ(5_qc5.)e_;l^w>Oâ>ޥjV% u×, tK].ELiIxm{~EkeD6@shѢŀ!K²XiH|h4y~3Oëڳ2hgNK2V eooڌ %e{ƤnQ("܅Wk]8J^:N4-wc&"f6: YN6gNR( F@C5G$k-U^\ NGɜ}=qEKٛ؛ۅplnFhojM >N]X_4UG:G=~ AD@~ڻO@,&V|n⨯XijxǼN}6' -"5?G,#X3 xS) -M Pt!_\m4 9j5aHDKB*C`~1m.,9g/ l%I,b!j$PjdFے -闥&d_f:Eѿ߆pJbo "VƓis6Ks@6]~C__MfQGXrAw,m% -2?[Cd+n?=UY5'OFԶuG²t)09'V|CmO;w%X#?YaT8=5sJ@KL1ffXl ?37IwCKlc,J:2@&lS2q)^GoMg$[͊ -l4T8$Azsqa -W0bSf_)Kt;\^+cQג]I !EI1 OSy`zTLN̓)e m*nCӛo*)`ѩ#6:Xk=RNybԪաa cot0G?< /snijܳa܂B(ԭc̖ޒ GO(aÝLKU/=S=>9jn~7$Z5'Ыi& O6פ\'‚p0~|؛9\%Y`}uxrnuV?:?ϡijEg@>N-Kj%DzKqqܒVeJN ] h'j񀳟UZ"<yynelϖa=̾5@-+cJ\I•u -#8K X$Џ"> -endobj - -14002 0 obj -<> -endobj - -14003 0 obj -<> -endobj - -14004 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14005 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14006 0 obj -/DeviceGray -endobj - -14007 0 obj -<> -endobj - -14008 0 obj -<> -endobj - -14009 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14010 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14011 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14012 0 obj -<> -stream -HWoοb4+/ M(SKQҥ{7>\ĢIkW߫\={vxmJWr,VmruթlwϷw۾[[?v]ټ6VU.bTe^zLQ\ԟ;9Ͳ鉛:BU˫u)*9q>oSoWKҶП8:Y1X9mer&-sJ}ʢ+ I7u g1pN8&w1bq,,+n4ϱIJ-po{;Nw=p{{>A}p///// - -G>ĉrX= cĒ9F,cZ1bcEk-h- cEk-h-Lj܋ZZ%h-Lj܋ZZ K,Z #p/ZkAk9h-Lj%s,@k9F,cĒ9X#p/Z@k9F,^ցr,@k9F,^ցrXhXbrXh{ZZ˱{ZZ1bc̃rX= cĒ9F,cZ1bcEk=h- cEk=h-Lj܋zZ%h-Lj܋zZ K,Z #p/ZAk9h-Lj%s,@k9F,cĒ1z.e(UG26Be٬/t]ioU۷ˏW_'`W:c F[Ux8ٷC8[?}vknwO˗/dm0_p2ڙ>+]Lq!׻?o%TXN(Kmg+YQ%XNH[ƳlﺕZi㯯Hf\Q5Nu4_+<:jp,?O`(eC8cOf,J{NCf٭o) oץpJO"” wBIuvrJB$XKWtu=LWYW0 '.Aԯ :?ڈq.:StqP{kleuWWLjD}>QvSO2Mb0ͰiWo:rƚ2N@}aFn]n7fm7ycu>46|[8зLjKhy兖Z^hVZAh@Z*V JURhU@ZЪVZQhEͥLj%8XheZhYeȽȽȽȽȽȽȽȽ cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cĒZK,{ h{{ h{{ h{{ h{{ h{{ h{{ h{{ h{{ h{Kjq,@9F,uIa]p~_ټ6VUj+eMz,2Yӌ?^vU•3s~5:6[>=.@xaYz(6jF~in{إflA4'BMr{8[^cH~ƋV+&.6p3<2%~LXsôÕxɳ>jݟo2><\sEtM;2<;oCswu|hv7K3#!o;]o)&#>Ξ{M:۴J7燎Rf0;4к]ߌKIH!զvC i?n318Ѕ(x*mMuc.QXJcnfq9ĺ쇻z] v^ً7ϳ \R2endstream -endobj - -14013 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14014 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14015 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14016 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14017 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14018 0 obj -<> -stream -HWkۺ_O jԣ@^bܤȺlhmzW[KNnZwFli8A"zr <`_0싀}/%þ ؗ @-m"Ũ6@16D Q!{jZjC>PbTKmbUj Pj Q @Q-!aV16@16D1*FԆ(}ZŨŨŰTRjZjDQ-!*dOmbTKm -SB(FԆ(}ZͨŰTRRj5ZjC>PfTKmbTKmbՌj Q @Q-Q-!aV36D1jFԶ ZjCTȞŨ6D Pj Q @Q-!a06@16D1FԆ(}ZèŨŰTkRj ZjZjC>PaTKmb5jmYFԆ=Q-!*dOm -ٗiY&g4\lj.XU$Eg<,β2oO5.]&ۯkEy\xS-7%u!\Ew߮Ymxx5yͿB`sI2N]-4pfT)uF2e {05yZ,RUx)tZIvw 2O sVou Pq^}Bͩg:(hOqLZ4+awbY>ĺؚ`\{G{qg72im܀'n@>ŧ`TtU>^[Ÿ;[` I)C\j!!%K-wd"-2nsZp}F9m}m>f'k1nAw Q!_# 7O#US$ȸ>vnjgl!'ԧ L l+dCWr$ob&u"Jdg[|G&SogbbO. [X"~KCE^7WvS&Hu 2aEYdՠ ns6u 67n.P.#KIN!Ͱ"M!>KWlcNqT .6ǻ q!槩&f:=+L)|2Wqջܾ!g :-%\' xDZXr$j = G<}g|u ɭ3lG!&Vǟbl`\AZtvU'aw)Sh٧SLiGe2>씖FfUhV8ۣtnݵhIUw}5֐>:-g(,4ASz_qZ zv.k|7K {6NQ뙌4#.Ϸx+Eo[oe_THK+_ -PSzK#|K0S}3̘\>}*AnQ7nX7>>W.n#Ywewt|4y1ެ{ =3No*UZ`?8|5NN3_(|A"~Hhh nK'd{Uw \uUOess=KmI;мfzJ#W@K<W -AIҵбKl&NvwSl'PCy8ͷj׮R`=|v j4>)Gև>=:8㚧Eν@%/ֻ?$]h_35d91q^ U:l>EuVWg0QKj}90E} -"˦?mU Nzt1m#yAQE" -R4vUVλ/7h |>pֵ$)S)mhmIAǍP'>ѻh@(S%dSFP׋új16;0cw$UC:ӓ۬-Y̫z^ -JLf*+$ch,>V.Fso P|cz~EP&E!v@H4i`LJM&{>M^c}N Tz0) @Z.JK_ښ%dqNp.`60Er9>0aȻu2͢HFLXhy.,:vgrRpfz>Bs}T\)ann !5h6T{qs*/D/Z-踖ŶiTl1 sk7ݮ^*ϰ?P4lWۊJDƊޖN,E}Kݞki'_"K]HA d1;1"7͆.42qSnFl>dyIm>ƞ|QQ4vڟH̙o?]Т-D^N&YAQ!US' iyT0B pR|@n,6TsRC=1PbiR81P)RXӂfgTcnVj##!or$#!uL¸KYHL_IUKTCc~EY˺jNxpY̯ķ -HNV%{yHQeT7L0ؠ{xo<>ﻉ(#P1 I碃8z{hAfEV=P^?poJCo!ORP#/+|>"]E_zW۹mB_+B4ZW8s1 ܏Ig(?C Rᨁ>%1hZOўNa,ާk;]>]`endstream -endobj - -14019 0 obj -<> -endobj - -14020 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14021 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14022 0 obj -<> -endobj - -14023 0 obj -<> -stream - q /X8 Do - Q q endstream -endobj - -14024 0 obj -<>/Font<>/XObject<>/ProcSet[/PDF/Text/ImageC]/ExtGState<>>> -endobj - -14025 0 obj -<> -stream - Q q 1 0 0 1 25.080000 9.419980 cm -/X7 Do - Q endstream -endobj - -14026 0 obj -<> -stream -HWn}߯Ǚ ;w?ƊA "ΒTHʂ>Tŭr@rtwuթ\{?Ë'W1/ǝ5Gͻx0_per6\igcJ6އ)O帷hq1OD ~ti0F7܌U7nF/>ϣ 8׶q~+>;,ӝ_rFewgwFxڊKЩ+jtR]?7"o6xSw#-./[і`+ [ U ^ͲK ȭx< >8LWޟqG=8|bbv^K_Z }j'ţ|s NԁAl(xR$W._w]rV-\=o:,ƴzXƧ=w9ad !5ZF2|#]a 'W3%.DZ km.}55-?/-ͧ NJ֢gʰٳx]2|cP`Y+[V6YڟZ5*IWdUY6o=)_] -w)-O~]lk%m3e'6R)NzkR1rmF׽l>9aLAѭ=1 vd}c*lJҜur=f8Wc޿;~6 O?xa狛r)x>/RM~:29_i:aۖm S_Ôm:H-E*ۜj/c3cJkBƠ\]_k{F$wpʑ|,-/sz\8%]KfS+Q\Iq( PȒ_~ܯS=\؏=Sj2i*äWQrty nUo$xE#XN+ګ#ɅRc^'8љ ovNjBTDkتiA@1.NG UԔ)R+o!O J^Y%2)$(OÈ+7_Dmt)Su21*`(w^fMfւU>nwdXT¹zu΁78ux ӣjqiܖ'u*b;U=o.nK$$0Eiq+ә[S=*z^mv'@IH6XWy5?#5֨)jXP23K4LR#"xXQ6_pE"O (Alm"V2@( @5V:@ep)R -L*^WU}YPTČ%v$9-AJ!yf7(ЬTOc=H@㵽يӭJ^ ℈B0 GTY]ykCȿ,7tBa"+Kq\5Ѩ4#>e1i ;en% -`ЈVPDٓk$GY E[=VDK<U5kv4M DeS:;׷gyVa" + :%k"c14YlbVѧ.!BRڿe gd%^4Йm0](j^dPKW DJvFbIRmN*4'&Ldbjg9SգIuaGOU'B1 pBZM] d2&Z:#~bq^lǧo·L|[ C9iEhI"6f5s֭UcF1A9WqٕyEM^w&M[LUS7RJg2DZ gx?(fRhV)]z2X Y߂0YgYrMp$@)Zq lYuxY7xtsYSfU+- rM8/^^^ -"a@-4)@}nE簶.Q1/ )V}Ft+X10|tc(ƕKHFSntfx~@ІMJ -]4kӽ6iΉaJr:_ɚK ! Ņ6 &`fůz5UN#mF/}np#.Y.]{kIJ Xgv]4(ifMa`I@*܎_6sF01"phV Ɏ;J,gBeyp -@oo~nޛ f6B -r%3u[SPy*__jU_l¿P4ٙΊۿ~NOf]߲6ByVl ҋzۦL2/ntdn -:g}Z?bg]M`?%JۙQ |)Y[C3esz5, 7LFVq%b̊䒪$;lwf [(yw]!+oBj:+,: -OFQ+0eKsK9DRa ʄa\$=. 72Q`՝J{P4Hr; >䎱.!1l2\YJIe`fj<JE /`CpT/*$L三Z%Nk(&Ӆ*;:(LjBc57{l{"&fQJd$f2S X0iЌ$NdE=Y@HXu[0_%n0\zbBsp!6?ߓʹM[NflނIFٟQ dkFxp$o2Gu:(˟X*[ڰ V ڃ<(Ouǜ<,y*l{tF95t2 uT+D/KP+BvĴsA$_ІuKŏ @[>QIƫ쩼0c}s"o/wr":Ʌc/8N6+Vɭs{ǼyB1 -񖳘H#!9S@Z`g֤[5#TRl~,zۧ˲fq_R6D€Y IM"Xf\6ʃ:a N rMj ?jy+3ǜ&tqrK-on,XB"`qKk0M:_oz MkƲx/~/"<ߔ}+Fװ[& _LAG~6%Q[%hZbNme i"cĘo{yx¤T:67nqKBXc/ezsXy @QԠ<B>n:*b@-Qddxe?\lEy8%9CbFj^ð}F\hB<0^u'/c=/*Re!fQ s*JZ6GDS) - UaV6"okmXi~_-;0 ->{k x2Ә*nLg0F\ʀ8wKfa1dCcrt=؅%,u!}:T srIؓwU?5 -4W;Ue9dU5;"d Mnl ^X3m&m`j ;) cg ,vD00#Vͩ4xTvFq#\ZQ[aS|}24naZyLEt#thaeTVspEZg+h ZIN=잻-* Mu⢴T4%>t@nGS,nA2 h貶gZX \K`]7X>4mă ~GqvRwE4uU%>s3muPtK:E•~V'P!xc~b 8m "98vW;W~  -؝E:xgÊ#.Mc@gV>ƛSHMϨ@մ[We5k!u -r*nP -U aLW络KP@?%HҰk}ڕZ, MY=>;z2b+(y !LXý|#Z MRl k{b/9>O׼At^B}L5ӴA j[m\D k]'4,T -pH㝡^@bP0Vw=m%ӑDgoi,RB62ALCRDThLU߉}Z!!=i NQS)_n]gjT/kPr@DžSfJTxo`k)|),(I 1ޓu _|Wnk-M6p+ UMTNEj̑ƹjكw0^ .TOu!g :¼G9%i%fйa&{F*D=MMR)6GҨb]h8(ԑWRb/\鵔Fk Qqk݅T!<ﻹd.K܂kք媅8 CpJF}>%Яř-bbgb]>6Yzsz8_XkYr>y`"bk:ݻꁈT "דHCy$}QqE*OoH5tAh55Rs&/kL9Xeor͌^zMa}FagYp =E{E2f{ZM{w.eX-tyX`OԱUKE yƫxt^U^TJvR!7{!8.VtmU7Ψe Sv}cW7J!ŒU^ubQi' 'F嵅^ZmSy| -|H,j/b;?'Ev JWܙHtRnF+{g 3JWJcީ`;TXt^w. O@#|RWzf< hG-֩{񬎹j -Z?yjn߁=@) -8\+V' f҃}Oh%CUfpBGCWhK/+\ȶ҃7㡥]5 vXY *$LwT\.(/)]S4sXj4o,7Ol%yb}=_쩡Lu/u4UxZ֖*(S9hcp<*>fyyzS4@]"]ܨd&+F JBp_w%vOJG4Z~`_>* t~' -mf#BG T<&9["3iо̵gcJf}IѸJٮ]i˶oHf?m -A8J׺a|H[+ -7jYoɫٺ*X~~{xkΖkzg57&K^^F5ޱ˱|ݨu =w|~ƕs{Z:ɢr^wZgu8wyݳnH@xxYȾ~??X//<'`?}y2,% TP8fd<+ӶPp GhQlI簑PjnjEڗ~`_7Bў FlXuM??qo#VCswłAHA MʭBފn~9|θf:?_E}[8'*4I\8ވQ07& r%%GOZ1juy"U];贜; ,u} -,qem5,^9_ҀM9Zn s5:7@94#[ #\{81%s7א"W92Ѓi)7,~v.A 7>7 zhh=43B7"4G[oGhFFhh3B=BG#}(B"~GqQmLYz3h .m{"[Eɫuq2-u-qPg<:ۣ̒ksxU#^?=!m(:tG/ip:42E+*vF/KJjT'Gd$| ,+.`ƓB.Sv})̤9v&nO2{["Mi <9,_@,9Lyxfr{_- UàCeg6`q5V'\JD͸1([tJFe \ETVt}ݺsfRevfY3%|Q/T]YN3}!σF,}֥Jk>eQJp5lW%( Ҝ?*ڍ\Uw?by}2jnf;;+6 l-LODCqۮm/-) hp>Sߔ¡pξ돺w'u7[4 jF:  iQ|3PIG}GUF|x[:EJZmJ*C@RT)T%0_CCZ/QkR4:KgշYY f̜Q[Y{~fL-掏ӂhuo3U+&m[us׫Y>,,$[a1b /l4'ŕ-D8dԸl$;t++*+VSib&%-"v~}q#r,BD&?:eƖc9h*br s -8gj֟?{]j84hG Ql*(1 5a&' Vywܧ4|TPۂ|9268٪8b@&vd~A=!Q*EG&wJK~y437C ^$&4Ʋ54u;20HV>Y!ds~bE8]!*'LӴa+4Sch!=34Ekn,/2ZCqs`MF1(^NHF [bm 4/)Aep-41z M{f:ʲ$H]r,%fԎͲ8jp_ex"Ly~7-({z}+EPl|Jybp9V} -zMlŸ_j u\6!(+psX׼BSp8bցa n%@θ>%ƜE2D/j`[Zx7Ƹ[?HqOqOt?naVtnȶqK\+#ƙk\k+71`/)sj}ǂ|7)'X{WHkl}',y(aEd2cp.J2Xz&iL>A+^t0, 7+(W3Qŏ;Әiԋ^}Rp7Df\H= ACV)B^Sp}a1'Yxy@q%oחxj-U4b2QgpoAE{"QHߦf0Ćzϕנaa*W$,arTj2$w S\SuQ uCLZnKr5zVG. d,8;cUBJEިުe!HƥH -e#x=Y0^ y) -zN-0#& -eu 4hG=^w݋6 `I>O="LJ~dӗ.IӺL,/|i HFD\T6L%pk'U[q8W;lAAFMX;ΈȪ~3`aʭ2#^zUv]0G'Q9KGˢ1A>s ~l:OIhƚJ3bʅ"KcЍnD`i:2.^jzdG] "gb40&osw$yerX /#fYwp׆QNJxL5i'6SfAPR'.}i^NZ~ӑjԪ#,>:spGLYŷFjSݹ+i^!F4Ո:!: I~Rp̢3ÒWšdg -`0%:`OYhz˔eU0V)G,1xG.:ˡdblL B>[+jżZ2gH}"R0T:{nQ/d s4 0_u6%t~HI7^nasV#{,5s=x] rXsd@҂MF+y~=fr)ã̵>v){Z k 3*&TN=uL%> v{Pct|0. 𕔸Rzd$1v.! !˙kS&P!s+ȃiI~j3!֓|e%9)R]Aʈt&&\@{YrYC߈Y V8 mUcLu b7EU7GiIJu{D0,kiq tY+(qdAש^N=rO5f_{S&(gŧuod_Ƹ9JL(1}Y9Y&@w0VYjImEVqLW!~KÓu8oEA fAiVuC TBg`xͥ\8䗘d)1Jx#N5%g' ;YC  -ײjna{߀zyKNH8PB]GMJ>] -?V -)9mh]awiil#%;3$ێ8۞h}(=εHP|G]G^`./9b E=vme~Vi=5[Bi==o]GRHuG P ͝fm7zTF<ptWū̖jpkIgida?л+M(3MP,e -2X P&P5фjkzE x~Z2Ɠ6dcp\Mr8ꜬBרZfbl~YOIs"V⨱ug -5)I3:q5 WZ_#,3Oծ4 aNVܽRb1Ieo4Hp8*}sFHZRP=Mo$,npZuFؼ뮆0G\ ==|Aon" Q%)\A}iQ|b *=AփrP -FAYEGzc2|]PEAKT" k -TO5MF{qL(Q;DiZ&_CuBdYL65"Q+iMV5W&EX{&b-^D]{>fZN^ Ze28& >n v\lâ֘j ]ݜ7{߽d{]h4^|OOq뛏)7^>;XXc>_f?:ثfolm/o^)`֠#luIh9QTŭJ~Քݎ܎FAQ@*@ ?T%Tf= #fwQΊW7лC߼ʱ6P\HK[]&_n)>=~O/ ӏ|_n?jk[+>?8L ?R>}Ll9?PaF9mc;gkRr۳DmMϜNOޏs;=hmP!Lxǒ9?{g00L-oɤQxֲ !|G=ˮqEjD>GHU -`2]3uy%vOVɱaeG|x~};N_|G{971:tmmFP̧ҏV&3{}[l._P)\Ҳ-'/(7weg:!ۄ=cL`th8xҁ}" 'CJvpg2^v2귀 (>xcyf$jFS}RmkblTSDc4RV@|-;D؄ﰧMHE>bb: ;` -Y19Ƭ -A,OTt|`ݴñu܃{owzP -@ XtU$$5\p<׻IB?^ʇ45G4^'3 a -;hq+MY#fW15i/$ɮ :`}Y"^Q?<b̗FV6Z-R0%y㟂⠬~H!y{Y*L)Tzd|ʣp:(gqY4`.DPzF0jD̩ʍjȦȏ!?Er+! ~R"i)c2l%EFdc=O'́_L~w[H#ĸykTݞGޟ%tܟZrS$ӏB !~0L}B~.4Af-7hfS1:[׫lu&ww)mkL'L)ePe&JAӖLSp skEMb ά[wNeM 庭v|MU֠P8-CC%`Az"o ~*U.e#v>J>%Ҧ7?>嬕VH5T}G542و䉛Fg m JHƷrpB aHUw F$[Zc+DQؗմJ0WK^mZ+ -{Fܴ5ke'.HOah*:?zYt\{1V՟J^X$) ^jZ˽8&bV?}؆ݻك%SL A%w|A@lrbY'Al~j4Z -$:vSI|bv Α_QI &TO4`[~G#(3ǁ /x>AqU:^~E$ghH] $bmnJݩXhc'! ?(k=8Qu+M[)!83:lDu5JT'$w -'qqF$KJ9C3T"VЏ9x|HO%~{X,-!.Maq7鏸7m߶~$$ S&xqkܑZ=[^L^}7;,NȎRqⴺse/7W\ޞttG(UIm0uVF3 "wRR%8Y$D7LqP$|#koe8kl&=OU}NR;zN1LZ p@U*l7vppI&֍UvU[d#h)VΕ;0Iƭ; -]Q ŰX.ͬ9䶉@^N9?K F`Ո$̻yb- >Y/F'$`y \4aDdEݯN_Df]֧ieX:8 zX(oa_lʫr7J1%ۼ c=}%mL^pw$0﯏>%6}^s= :|+{~^K{GϢ^\_|pCz4.U<0PS* -r#(٭&q$Km2OȂ{7Қ0x$%+ h c+d-& -nTM*aN<)ZbITpV$]^ ݘrվ(|LLsz>Hv/kibˉe')UK;YsױeqnLy>,"s,2TKٞ\cIdyW'mwj9^(n5enei? Cendstream -endobj - -14027 0 obj -<> -endobj - -14028 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14029 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14030 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14031 0 obj -<> -stream -H|WێF|W>,@=:ElI X ȃ08EG ʼnm{$J9A Q.6Z]onߘԼ|ȆVJO2g&l|iM4OnMwtm43ѫE4_؏Xx*$5Hii(.0[|>&Y,.KfB sy9Pu_̮]jﺺ6x{v - y; qÂÐrCsę/Ʀ}kHͽ*'.#俛*&:zUTS M"IYz:Z2ޭ%F,;NW=p{{>A}P3>S3>S3>Ss>Ws>W P P PKTKT+R+^uւJl9Z1K@k%,^b%F,Z1 WucpZ@k%F,Z1 WucpZ@k%F,Z1 WucpZ@k%F,Z1 WucpZ@k%K/ @K>K@K>K@K>K@K>K@K>K@K>K@K>K@K>KZKbZ#7R@`RgD|pƚCT NInJ}b]څ4u3x{4Kܘƻ}ӛݘvf->KP&Eޓ|(I~|폃sD],y'xl| H']S߷_o9^WLҋ0jol)xw#p{zxn~kL_&hdw ˜2 _fS˕n_fȇa}G |"(5}aLj6~6?kZY{lBT]տȂw&qVۤ 霯Ymry*^9ΐt!.jί>iQg>%՘9ԋEMuV] ,^f^F@q궷3]`ښp@`GAuoyO,rx}K[fKEIaz{ƪ1z2맆Qty:I6bëoUE߼w?iTɖG -EniG+*7Uݙf&+Ď&D/?ry:ē/ĈxEP@o#e;(y;K$ȻHv#=ng~4>#6|I!=ݔ\_tit_2^B-7?1Kse-}~(˶=o7޴zܛv{|50ᾢb#َ܋zs?PI=m2,%n2?,ȃ= ɞN$ʞN+1,VPZhLie@+SZ9ʕVrUBi@PZ%*V JUJiU@Z.Zc֒,вJ-rJ-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1fi- ^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ#ȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘT3{1KkIX c֪hyE4_؏Xx(oIeO. ֻ͋*0Y?o_5|prFgmRC/v<Դn:z{|~Ksz;[fwOV'Vv|{fO_(߱hsIRtDr7bf.B*z5)NtlIy8yryvzſ5au tKȰj(}x=cʒuyz>~]f#jzā=F^q0ZVi(=BCL~Vن =srU\9NԿW*y(1Tc;1}`¾Gq>|> hwԠybKEY>e7KwbT,c5P esFf1$D)WMe}^tso%( -+urMn~Y'1eBX)IFǻɰ鄕z V6*yU&zцicΓՄ:vRd^]yRø\_tazK% bߝ#2s{wԻqPZ$f9V_=h&BcAͳʟVF]iAꭏBt_FKͫpjoQ(sSit; Z)Un. <}VYs1g8ܾ\[$<<^4Hau_&(Wvfԏ`b<Azk=p0 xYNiLñiLmgNۡVXAh Leng)I%e[I#fGC^4~I5?Ti4&I T%/Pyu Γ< 9 ̀Hh Wyi(#B9& }9P{hٚ51Z}s:WZ-r_X|#)PY -4Yxk- ř4;fcDYgySf3 ͤy&Tt=Yǥ3׭ā[Ӑ/|endstream -endobj - -14032 0 obj -<> -endobj - -14033 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14034 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14035 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14036 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14037 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14038 0 obj -<> -stream -H[oF+ZH+m.v\'A>XAдT\RNŶfIDR=;gDz[Go^ %^uh'ui𹕩Yj7,QbhшdtROE>O]֋D$OFLdHF>7B2 0A)2M.ˇŗ%f1mtL Wx{fFZ*eUyGydݨa(82徭E%VJ/8=SB$x(&!ɧ$xhe H֔BZcg}Ƹψq9>'s}N} dV3Z&Xu5b-R="Ec (&X㞤0Z$I-րbRH1Ij ZEqORkb (&X㞤0Z$I-րbRH1Ij ZEqORkbM,ZEPLj)kZEqORkb-R{Zˤk@1Z$I-"Ÿ'LjZEqORkb-R{Zˤk@1Z$I-"Ÿ'Lj&I-"Ec (&XuHQXI-"Ÿ'uLj)=IcR5b-R{ZǤkbܓ:&XI-"Ÿ'uLj)=IcR5b-R{ZǤkbܓ:&XkϤkZEZ CN(g&E2* --(.6A"͔h ~ZAndQwx1dm҈(Jd)SņL:nh' -:]T➃ -2p;KnZNEռE).ʺ˚]1c7LOl4{?R?\ -nE?{MWlz 5d~\U^hzf8n,}|O*?H4|]07V9iSr 6.qG¿,dil{MndH쯞Vx]s;ـ-]LUYNy2LДMyXKٗW [ѰͰfR׋۾f*Җ|4|>Y^\quG~Ro*y_l>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14040 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14041 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14042 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14043 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14044 0 obj -<> -stream -HW]۶}ׯ $%Qn>Z4hы@AR[r-ywH^i8N.!p33o}?,g䟄W i#B`MrvpְCh_uphV$O^.%,gMRU9Y%v54]/Sbi-|*3q>n֋WBα>RS9؛eg["3NO+e?l͒J0QnsT̰M'Ƙ*Ts͡bw(c9&P;1yl ؋ ؋$ˈ$ˈ$ˈ"ث"ث&눽&눽&}A/"ؗ2b_ˈ}I/#`o"`o"WH-A*fm"Tm6cbC# -BPHP-P-9>R TmET+bbC# -BPHP-P-9>R TmET+b.j͡b(BP1{ls=P-9>R$TmET+ bbC#JBPHP-P-9>R$TmET+ bbC#JBPHP-E*fm"Tm6cbC#*BPHP-P-9>R"TmETbbC#*BPHP-P-9>R"TmETb.фj͡b(BP1{ls}UUX&]r.g8[n{;<(*%-,t-[b.yY4τ̹Ynoۻ۵}ݬonخ[ۻſ<Qx 7t[2ܷai63h55[DpȠ\\AEWXz𹷫N®Of0t3VP51D0d%\{p Lʌz [zC& -c=PU^dei.y&CUm:4 K>>ag@1\_%A DiЙZLt~+LWFwY[_ίS>~x:_4-U^d9-IVV-2w2*TE=`>~w50p.w93~?1ČQP.j:!><T go/W6SisdZo)̘jea'nR{' 6gSP{ĀDj!ӥ?-6NU;~?o6蠝0]lt "|^%KG >!w~D^3[E;t}M4ۦۧ;ߴ,خat\ -z>Ncx񵐎r 2Z£o6^pό˧5ЎC*'^Jb2*+ױc)|ƈ(&W}߭z HO` 2) (21xm4k\(&u |>沔sZ~w֞˥-N*](Jև -N㽃sMYLfZWX &73EЍȳcΆYt!:Z(CAUh/ܨ~ҕRy  {و+amAh=;=oѥ_NvŶ~oW*KjWgyd*3n>[LnS]6NkFl]ْ Y8ܷ;3ݸpWvrdVsN?mJhKB_O3}3 -wI;@ EFy.ǵLMTddLJFB_S(a&/m l0`txn׹ꚟ1 d&;XCQ/[v!l^S'2 -R<^_`,4s)`'PLZ:G>@ru7òAGnv7~c>~>ZdJ#o!npN vQ tGp(r=!&ΡQ(*3k.@LcZzD}~i U"Cis!cAff4“ ԋj>\:GJ)XO0ҙ9{0Uȯd,_(ҿL .@LL2M"^.ȼ2׊J DoY{ilC8[֦@ 7:nxK0Cr{h #t2R$ TT`ELY(n{wp Ǟ.OF b_'1e1N\dМI)JK*} K$Õyܜ`*r(Q* 02:]TݟyU\::fRsx}nMe <-_T ĊC{ZFb\Xܗ*Z0*p) 퀤nYj'_;[dh,)U UWHJ l/uI՘%; nA -6GG lgK\{8i@ong~mx -VgJ䩸 ZеǍ+s*dJ_"3֢]a*[@Vh&cHB%Ict7BsT0q jϜ擹J<N1I0+0*}($PȞҟ/*T uҮnYRD{QQIp.iwոj\EM6VMa~rj[ZFI\?(\fT4MЫra:nH= A0Hs*( WMXNB#Y$.^~et@A.鄜ԷLj*ELUN)dh cD?"f -̷Vا¬T4>+Bv6 @qb`o*o?:ͯncYw_rаFk1ޕ޺  *)TyIoIJ^8` wҏ;WZ!]vof@.8 $W:DWVuo~B72vtyx:%7T4x1]Svo v Ĺo0[oy>!HzAcJyZ/*ȻC 83v</ߝ BOzs Q B;9GNs)6d13 -KI gՄLIybynbDAн.LJV_CgVOz᭳l]nnvƺHrʼn;8w7Kt[̹s(γgG!1HoOPvkmε.7B,n4㱠Նm`H5ǦE"D b=NUV70Uw/90A=$ekۡ7ej˥ } H~endstream -endobj - -14045 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14046 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14047 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14048 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14049 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14050 0 obj -<> -stream -HWkoܶ_2|j' &N`/PI(\[ZW+'wF GEh8{HsfȋEݰ~x{uqϗ/#3_jg*J$KŒ&Ug`% .nͮh/;4ufu\\$`m$,1Y3aegZ`!*&P.w!|P`/=`/=`<`<`<`=`=1>cc}BO< >اcS}JO=>gcs}N4+Ѻ} պ>D]պ>D]|Pj]j%Zׇ(ZIPCS$TET+ պ>@u}"{j]j%Z(BQ{OPCS$T"Tw}"Tw}ٻ>@u}"{Uj]jZ(BQ{OPCS"TE!`Vu}"{Uj]պ>D=*BQ{OPPCPC!gE!`Vu}"{Մj]պ>D=jBQ{OPZׇ(ZM!`Vu}"TET պ>D=jBoĄj]|Pj]|Q><\3&z\J0V@ !(aI>noޜ2< t|fFS3<t@bN.8 U`7oظHRt` Y)w˂FKK :rK+Ғt8%%1/II%JSRu^RJO0@ -A@`u{۴AV 0m(LR%o鬯o;>ۺؗC0/8^ 5-6Ǣ fg]vb2nly Ɛ'wjN׸ߧo>DuAWybx y{;Q) ,Nbj\f#0I'>"{4yۅvK0\:X|~6Ok۝NZ)ysΊ revyNY:;Uc7y=9mlŁQ^Mo_z Gz/t,jwk!G w___`u]0o.4Y/HM5צW'a2Ѭ Sp## ah-]8iM=R-8qK7GwK[}W!r'oW CocLD -.6R1զ361k*niC+'sd*5.Sq%#MMӄ]w4J):T9̦jYî8ye|)q#RJȯ\O+W<*\=9;0՟mT: -?ͱ5/4r%< Jeg$ w#2-KE=$xtN'i"WpO5Isu"|)׽YC[s=d2NAuYSoLgjcƶkuxn}PnEbHﰤr{h c $4j}Lw;2SpɄ /j#ijm -?ch. . -Q^%K92gm?PR=V_pM閐ˏ)|w{8i'Tȁ9b&F8نx"m0\ ,[޶cV/2<\Nt%֕˾QgR3C-ya,ܑ0|i[O嚁<3|,V@BBkW,#3g$r2yٙp{)s31;HUj>#cN[S[y"uT"SGad۰bv4๒4s:aIdY|p1)|5 !n3Wz1b"l]k9*"FM=* :ǦaC{<x}Pmߟejk5^R|8?8/Y$, 03<3ȵera' +F'V1#TC&&XLV8"7a%Tc :viLkyՐ8΋пU:c \S_DZ)rW_G1W@f߇'TF!C3Eʖ - j*asQZ -%Tqru7 AqÝS uyԤUu1d !wwt[Ҡeތ r~KGS@W;m|iM]8\ uq'.="6`IbSSg$E K UǤ 0S1d[Zn1P!MPoz]+fYrMfʢGMjg&tTE;_s_:7o.U(6\Y(U)>4}CY(*q h۠!ݟCwXH/*endstream -endobj - -14051 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14052 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14053 0 obj -<> -endobj - -14054 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14055 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14056 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14057 0 obj -<> -stream -HV]o6}ׯ#P$vu f[(9uw)[H?9K^E___,oEo޼Y$%LfsT&(Ղ(\MEr[\]:B&>Hiyr1I`= -/x0nFJ*R]uՖU\$?!8"Duڕ>%|Fъƌ _k>ҒdԤAԯح+Iq{{}B Ohtzij81"=Z۵mm]d e1`|(JΈ߻K*!Abp]"3@a41=Q)4.^px P@B|"DtgSiPlR9L:cԖ}Č -?KӖӗϥpvc(\Ќd,NVGkFQzHEqHj]ޯfJSEExk,rƭm[ڽFcYƁ.rGE'zwfcML)9IXnYD74 =ѝݖML35lUTn2E2*ٲy}H@:iNuQg}kƕj٬ Xݻ?[YT9 3FcWL?Iv)s2@*f%!K -ل -8Oֹi'}S_ڂ-__',`ˆLn"-p߄ЫoT_$* 5=Tvbs"f(C}8}D[4Pi?N/gn3|2I(Sܢn|g{&hJhfx/02/q8$}s~&%p23>튣>N܍R_\S50TۭK!|Lm S+=m;6LA1W):3e':dt).~x!͓G#u'endstream -endobj - -14058 0 obj -<>/P 34 0 R/Type/Annot/A 16621 0 R/Subtype/Link/Rect[129.600006 442.589996 485.920013 454.98999]/Border[0 0 0]/H/N>> -endobj - -14059 0 obj -<>/P 34 0 R/Type/Annot/A 16589 0 R/Subtype/Link/Rect[129.600006 417.890015 485.920013 430.290009]/Border[0 0 0]/H/N>> -endobj - -14060 0 obj -<>/P 34 0 R/Type/Annot/A 16558 0 R/Subtype/Link/Rect[129.600006 393.190002 487.26001 405.589996]/Border[0 0 0]/H/N>> -endobj - -14061 0 obj -<>/P 34 0 R/Type/Annot/A 16520 0 R/Subtype/Link/Rect[129.600006 368.48999 490.040009 380.890015]/Border[0 0 0]/H/N>> -endobj - -14062 0 obj -<>/P 34 0 R/Type/Annot/A 16495 0 R/Subtype/Link/Rect[129.600006 343.790009 487.459991 356.190002]/Border[0 0 0]/H/N>> -endobj - -14063 0 obj -<>/P 34 0 R/Type/Annot/A 16465 0 R/Subtype/Link/Rect[154.800003 325.589996 281.01001 337.619995]/Border[0 0 0]/H/N>> -endobj - -14064 0 obj -<>/P 34 0 R/Type/Annot/A 44831 0 R/Subtype/Link/Rect[154.800003 312.589996 311.55899 324.619995]/Border[0 0 0]/H/N>> -endobj - -14065 0 obj -<>/P 34 0 R/Type/Annot/A 44792 0 R/Subtype/Link/Rect[154.800003 299.589996 278.23999 311.619995]/Border[0 0 0]/H/N>> -endobj - -14066 0 obj -<>/P 34 0 R/Type/Annot/A 44749 0 R/Subtype/Link/Rect[154.800003 286.589996 325.598999 298.619995]/Border[0 0 0]/H/N>> -endobj - -14067 0 obj -<>/P 34 0 R/Type/Annot/A 44708 0 R/Subtype/Link/Rect[154.798996 273.589996 308.820007 285.619995]/Border[0 0 0]/H/N>> -endobj - -14068 0 obj -<>/P 34 0 R/Type/Annot/A 44689 0 R/Subtype/Link/Rect[154.800003 260.589996 351.938995 272.619995]/Border[0 0 0]/H/N>> -endobj - -14069 0 obj -<>/P 34 0 R/Type/Annot/A 44659 0 R/Subtype/Link/Rect[154.798996 247.589996 301.55899 259.619995]/Border[0 0 0]/H/N>> -endobj - -14070 0 obj -<>/P 34 0 R/Type/Annot/A 16089 0 R/Subtype/Link/Rect[154.798996 234.589996 317.128998 246.619995]/Border[0 0 0]/H/N>> -endobj - -14071 0 obj -<>/P 34 0 R/Type/Annot/A 44580 0 R/Subtype/Link/Rect[154.798996 221.589996 267.109009 233.619995]/Border[0 0 0]/H/N>> -endobj - -14072 0 obj -<>/P 34 0 R/Type/Annot/A 44541 0 R/Subtype/Link/Rect[154.798996 208.589996 291.968994 220.619995]/Border[0 0 0]/H/N>> -endobj - -14073 0 obj -<>/P 34 0 R/Type/Annot/A 14077 0 R/Subtype/Link/Rect[154.798996 195.589996 402.908997 207.619995]/Border[0 0 0]/H/N>> -endobj - -14074 0 obj -<>/P 34 0 R/Type/Annot/A 44483 0 R/Subtype/Link/Rect[154.798996 182.589996 277.398987 194.619995]/Border[0 0 0]/H/N>> -endobj - -14075 0 obj -<>/P 34 0 R/Type/Annot/A 44424 0 R/Subtype/Link/Rect[129.600006 157.889999 487.459015 170.289993]/Border[0 0 0]/H/N>> -endobj - -14076 0 obj -<>/P 34 0 R/Type/Annot/A 44400 0 R/Subtype/Link/Rect[154.798996 139.690002 286.570007 151.720001]/Border[0 0 0]/H/N>> -endobj - -14077 0 obj -<> -endobj - -14078 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14079 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14080 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14081 0 obj -<> -stream -H]SF+wv헴JCSRPIqmJL$я߳%gbdwu|iZ5|rv"ۓI=*)b0,eV 8+XpxO|_V"obƪ"8|w%m͂Ì_KYv0IR˜, (3ξ0qCrG??XlJhp"$5Ͳ!-obGy9/ݩ\:Mѱusml.`0s0 gFl΂Tơ0NdE&;}p3ˤt Yʝk@qRH&(s<ր{{ḗ{鸗{鸗{W{W{ׄ{ׄ{ׄ{ >&ǎp8}O>%ܧpd"Djf)=ր"R5Kf)=ր"R5K -"XI R5bR{'H-,EwR+b ("XI R5K -"XH-,EwR+bR{'H-$R5KZYu5KZYpVŚNj%ZEk";Djf)½ZIk@ŚNj%ZYpVPDjf)½ZIk";DjZYu5bR{Yu5bR{'H-,EwRb ("XI"R5K*"XH-,EwRbR{'H-ր"R5K*"XI"REbR{EkrcR4LTl:[o0$, J54YFEٌoSK-lvu}7M7h\.(כFt*B/#G` DrX꠶|Hmg |~Q< -~L"Cw,=u:]}~TWZݛvv*5!&-]7J4a+U8'cWg>\L~<=/gNV+r]?]^LN'~c\xvU LzUY~)^_cU֯]zYPGJtu?x&4V-yǯFr3as3ZV+FڤMw>=U(4dGVD)LFUN%lKEg[dz[) -cx?>`:<ϲV^͎Xf{*w1BcggP'=/ /h{.Hd^o.JcӏF_{^hЕp<~'*3ϿVg_yP%+ϻ\WBj ռ܅0B+D|}^p/=4fY%&۫?-Kv3-`Ж0{r}f==:3mFƝfX/#AV0fw4ʄtdX>klGFOi3My~Vg$o:S/hTW[pXG{|XGL堀$z fw/qz{F<42ҍ9^DzsVcze 8t;|6x^T૆ǿN.PvX]л˛żlvˈ9rM0xc>v>.vl߮6{ց1賧6?^˺-Rsi`}7خw96-qvYgi٢Wl3_hxwSW| /| *{)M,n po@,|Lٴ銩);ߗ(۬ ס?ۅ.K/lbڳ٭x֧˫엓'Ҿ;!Dl.|D9 `\n\0m/5vRwS}DI&-x2gf$ 0endstream -endobj - -14082 0 obj -<> -endobj - -14083 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14084 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14085 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14086 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14087 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14088 0 obj -<> -stream -HW]o}_Gi~/ } PF@Pur%9+ȑܠhv5>^/\q7&د_e;ZUl5S#YϚwž]oVm~ɶ}sbvys5k& `Z|̬ufNaRY.7þ>l{XCGfvRY1ެ׏C~ai5o[u\v}xyj\'&~߲eMЎ+ aռk-1Ƅ#@ Qv PR֨†(KJRK^U^U5^W5^W5^W T T-V-V-VUU[}[o mž%ط{O{O@@4+ іuՖ6DKՖ6DKj PjKj҆(}ZEPmiCR"T[ETՖ6@-m"WUjKj(B QJPmiCR"T[֍&T[U/m"T[U/mٗ6@-m"WՄjKj5(B QJPmiCR&T[E!`_V-m"WՄjKՖ6D+jB QJPmi[7PmiCT;PmiCT;!f_E!`_-m"W5jKՖ6D+B QJPmi҆(}ZC!`_-m"T[ETkՖ6D+BmXB Q5(B Q5҆(jƔ3Z1=v`<`&ur\߆I6k|4{xfް-W}7/#^'mK&E\-=vs^-#l|.t=rޝLгm[GcG6HnOjue< (-wNhf jecNqÜjj9"CсHޏx1q516olAZ$?SQZjbδܥn*jj1S ce OgX4TL`t4;5gy "ugRsf-4]׶W8J2.Zu ch6r+D,oёHA -Ϟ$OL\$(8?WH)[[w5w*U]ɀWN*jD'A-nZ5 3/ -OrS$(Ӱa۟ +HCsgm gzb+p0=tyE?xa'IO7eo!,em܏Z .3[ysM}Gxޛ*Z,T[L7VJʹsD ZN pNLr4^l՘vw4ا>?뇓s4 >[twp) <$▃19\1fə|EG=iuOێᄪ@|Ú8h%x͖q藋}>1"wT S!s qz$ ]}Tnd>q׸>o-a낦&va׽HUZ{dJoO>m&jXaʦo.n. bk"%TDf3爂 [ي|D|[lSEisg>:I P/ƍ*fGC7F~|{V/=p!f9iR _nf;(ܧ'!*ݩP -WcW@ދ&Fpa Eklz=T^5pxp!̨9rwQPoD~ kl#}VWVޭi<q4g]yYihέO' YRgqu'XAɓ:iB(Է^|*{}4]hCyzk9ŶLe-ve6#|E9EtNVk.3'MXCjK)gz> WgёJk&2֛?^aҽռor"؝ MO* R9miC3~4=nCT.ΣX9Mm -///]MfI`*R (p*Qx4K H e_&,.{ro'H\Qft7(KfU4N~)xVR7 HJ@wi( Q-'Pv{HnhΥQ ^^Qt{˾N@DvEOKv[-T̚ـtQM#T߉u[5aFk" ے-Euҋ -^sȃ{h(hv7k* -і!B}ATvz@-ފ5#j̈_da2⌙-uB s6=UH Jj=MÉ.-GMйѮHVآAAxKiPTПa!6M <0v;ӻ7`A_endstream -endobj - -14089 0 obj -<>/P 1177 0 R/Type/Annot/A 14417 0 R/Subtype/Link/Rect[93.6018982 323.234985 175.623001 342.915009]/Border[0 0 0]/H/N>> -endobj - -14090 0 obj -<>/P 1177 0 R/Type/Annot/A 14364 0 R/Subtype/Link/Rect[129.602997 193.231995 293.141998 212.912003]/Border[0 0 0]/H/N>> -endobj - -14091 0 obj -<> -endobj - -14092 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14093 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14094 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14095 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14096 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14097 0 obj -<> -stream -HWm6_}6ZM|HZIQh lhmmĖ|ߌ^lq8NC3V:/^ ^Ee._et*R[%eNQ">ERT"]|lC+C*2[ʏZH|rX$aNL,wff&38wz_4m3eūf; -5͇図q:vN]^m=L>:Jۣ\F ,.wX~oX(i,LdE m[CLN02.Gm2D,ܥ S^^5^5^5^  ---S}Oi1]1]1]>cgas}f%#ZjEQ-!*dOmbTKm -SB(FԆ(}ZŨŰTRRjZjC>PbTKmbTKmbUj Q @Q-Q-!aV16D1*FԶ4ZjCTȞŨ6D Pj Q @Q-!aV36@16D1jFԆ(}ZͨŨŰTRj5ZjZjC>PfTKmbՌjmFԆ=Q-!*dOm -SRj ZjC>PaTKmbTKmb5j Q @Q-Q-!a06D1F(FԆ(}ZèŰTkR.j Q!{jZjCTȞ<ύHlE/r(~q*RZ,wUץxޖbieyqL=eީ;8?n)?ZAh5;8 `JNy&:76>^gyR xe$MT쎇'@GϷbw6wەLb~!o),z7o.>Y -p٢9Q?}4D$"ӆϖ%sP*\qvƝC'] )!3!3БuܚUٶG5 K5yUlkE.wYN'ΗTTIΔ;z=C4]fVJb˕N0 =L]xܔS|N,@WLSFl>\}1\e.%zD*Ɂ-4(NŗOYO=~ ITk/Pec)I6G(Ӓ4<GI!0O@wYʺ<<]=(C1T@X/؊ukjmb~[ -}$-]8fn.obd]rA :o121|_90lYujaUi;z 8};૑F5N_mUj\R 4籮] _PrngbZSۧqզ?_ qt*&i2Wta/eq\leBV~ f^n0~AB0x/_X|/8H|JtlP2eFI֣QQL4b*%DcUKZ:Ƕsz<֫joz%H¯ӿe^RJk4w5 A ɋ[N||.g Բ,6:jDvS &Exi^f$u xi<#ɶbu b{,s5cg͹2aXb9O}?i}5|Gw>&ORI: vi(jp9꯷aGg)Ib 粙[%C6:/Tg]hm `P -`;~eaK`{fv0)e,JXq| ۮo[8}j4Pv`auj E'Ρ{ʴ -)~mٍjA1~B)4L4:F9#Xc],7s 7f:_fV؎ZAxd\9Uuuڧ[=b*iyΞhZo옺7yv]]YZ-8f* -=h+チk8U=pD_gҐK%͙,-wNdZ{ 9f_׻4,;eiW]󮯞 ƥں$7v6SGYpi5CB~xn{3elWz}s=Oh/2ݡ{4(vU8(20gbmɿSxݧ0TSQ BQdyf ByKpb۟OF}wh،&I  -k5'Qs/}x`/|Wjz~)6X79SE=2v2܋ {lkz\Cm|?cͣ*F].s5ܜi߇4MZ<*%mpsBboIV.*RR?ΝNAȣ, -~NvpSv#K8 .ir1c}j$9,86oM`*8)@#&SL#8mEhHuh>G/iNy3>(v;q6RȽ,"z@G"u'E] aNUulܻv9w:K0svVU*Р_awZdъRpHL=c'vfƄbH-KӈS|.Ь_*aRpu7<1ĐdI>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14099 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14100 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14101 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14102 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14103 0 obj -<> -stream -HWkoHίdc#mI6FŝM$;6z'{7kM>U88{-駳__9g>/8\y`3- ׎ggo-k2D|Ns6'FK1ò_1`qnfX9c XP/,P/,P/-P/-P/-P,P,>RK}H-!>GR#K}D,P-P-1>DŽz˳0- -GŘa1,µ3,[= V1`Řa- -µ3,BZAc"\1"[k1fXz˵p-ƀEcE\+b̰kZp- PoVŘa- -µ+Iceb̰l3,[=ƀEcE\+ b̰k%Zp- PoVŘa-JµZr$\1"[k1,µ3,BZIcE\+ bpZc"\1òc̰lZr"\1"[Uk1,µ3,BZEcE\b Xk1fXz˵p- PoVb̰kZr"\ b̰lZce81-[l X;>b, c-KWi6QHGI19v Lz1 eii5FnVyU9/&KVgkVAE=u[GLZOQRHpTyv!}8qM|ㅜ ~m#AlCi (:!9A(Ϛ^9'<kc.,bKsJ$kj1tвdn/"GFTOG_ XD?l7Iߧ"1 -vLdI7#ho&DW'&!et{G)شVzGs:/y#4g^8ql$BWOq4hЋ˰|Pk3AɎM4zdvԱD,,1Y`þl.0 Dk..N ;}IHptcdz⩎j>u:ZhGGH 7iM/uF+&'Mb2t$,iM ?6{ rЀAGkֈGapfȒC֬YYj.K,Y2 H( U~{3*z\Vb9P \DY, Ο n>TmS©^Ҵ \LRdTk6ԺtR{׷A֜noqU4ZzNO?p@gcs$pI^^5L2==ŲsԐTSN9p(Uy " ?Q7W5-o:/'}KF~uD *bzj`8ʮʴP>yP \ʮ`q4Ve6:$:=\JAHLkA KHz.\ˆzCj$G Y0ڻk>/P 599 0 R/Type/Annot/A 20115 0 R/Subtype/Link/Rect[93.6001968 663.229004 378.791992 682.908997]/Border[0 0 0]/H/N>> -endobj - -14105 0 obj -<>/P 599 0 R/Type/Annot/A 20087 0 R/Subtype/Link/Rect[93.6014023 177.690002 184.406006 197.369995]/Border[0 0 0]/H/N>> -endobj - -14106 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14107 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14108 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14109 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14110 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14111 0 obj -<> -stream -HWm6_^`$Whk --֒7#Q/Fp8Źw.+:.UI&ے̒LMm3762OfXaBkI$uxBD ;T"X/0gJ}9%L)r>FP 1`D!*\%D"6DE 6@I K + -+ -+ -kk   g ,`1쳀}ΰ9> <`o6`o6`.`f#Zj;EQ-!*dOmbTKm -SB(FԆ(}ZɨŰT+RRj%ZjC>PdTKmbTKmbj Q @Q-Q-!aV26D1JFvZjCTȞŨ6D Pj Q @Q-!aV16@16D1*FԆ(}ZŨŨŰTRjZjZjC>PbTKmbUjiFԆ=Q-!*dOm -SRj5ZjC>PfTKmbTKmbՌj Q @Q-Q-!aV36D1jF(FԆ(}ZͨŰTR)2j Q!{jZjCTȞwsN)[ w6ۊ?e,!`.,sovti]Wm߼Rm7VJ':;})T5F\a7>T6:a.O,Oa78yKwlg2LKf/ T&ZlalnJP$.SB#~OWr,Nv`Lv.6t&}*@4"IM9yAwe}};>,=*wmn?K?WUҗ Sfr$Ilk܍Ϧtj& yKq.,wf -7!l>Ey=̿ }Y/~<=Dlї{i⾨L>>y> Tv3&"`GJ ^ݑFq(iߴMYxr2󱜌^`ݥ۹M?`T8MM{~Y&"w+86?KW]uso1J^Q"8bXn 45Q_пl½&T9O}"ݻ52U?o1e"-h&Mg[&I]ֿn)qU&le]t5_{.aPAW#|3T5lo.u= ^$&L]Px9S2MAן!ɼEeIWͮw+s -?adOMm$$]}ُqn\y 50Bܾz -vZjctlkGѰO7$3oxs T*R-x]g33## F:V#WbLܾv>.z]-8#T}E7 e֞68X+®lv En VV~qK^yѫLy._CH<&ly*'gH٠x.\[2 zwX҂$rlSkV*pB'B*Д3V:al U[.SUT-n^Kz!P%q dY԰}\REVyL.C!n2D ?.o\Jk;ֹTO[Q b`FՐF%,s~2K(.7 a;:-ktuu0ZT.٫I'xT"hC1H[AXi|{w,1y|` ȡ*c򺧝<*WV*<}pXF~Zd -cEƫ t9hn` -ϳs?oZ-5]]pbL%/:’# \"s(D$:e&R@UpDd*&zBA@_dp(bUނ^7|305x^7@H_/ǟ-HdB僲NMq#|_G/KSv1 ! VؒcEI*bg~$8HmgO.3]* -.JHRx﬽I7y^mx:gMc:\ϥ>vV - -LyN~ yt~Qڠd#Wc$3#7QAR*XTY0\50~Dq5%Z%Aoo^^0Peɧ Te 8̂)(M?E$BKRZ?Gh=ZРCYG`:;=d l'TxvZNX9'W(+;ت [Llo7SQfZ0R;Xw9z$&'@::Hbڟ92U[\__l<]3~D)W,w*^Ԟc8)\k. rZuZԇ!b+E j3&]\֦x1+$͸n:UV9\T|<`8/揊ߏv*GvXQ:4.pױ nGbxOU qQ`]:W3ȥpI-"ĉ$'s'ka_ME__p@RmITNU E?_:cz6QuP}SEI[##BfeE*hN-Er K%&̊z[3.gQ^@1۾32Ѷ -mӰe;mYchqK:AFYz#Meq6M2ȾI:Б]@]ܩPu$u q8EC'%1Eck[vֱ ggo߼n?h#Kkֻrl[4o)_n>#AQmJ /*ΕnhdCE(Sc -u4VئVPNaL#En'v7"J_ e2Ut<\Uua~f'a"FtZ@ftn)lRhxYH$Z ` KQ.ΖU&TƻH2C*+?!BDnOY)G!ޱ:Vwf,+* e8R9j[q*[HDګAJզ@e=J[8F˵! ݲFj08ms7bu9AH5FRc 1(P_!>mAԚ D|Ќ2Kz㢲%ELF֫-MŹaBAp fb.jWR<i@OZOwaW* B d#w|sO:r=7c`߆~i;Ӻw -<rRqj&ǭ+dJ4y%Sb"U uRŶhL<@9rjڛvNqeSs>/ &B֗o7ẕ=hh$OCtVY ;^k)b+>tdguJ&`Cgt'>|޻T_oֻPruck^~6b -<0q+YFf9.(AvNsGqz} -n@!?Nl+P ^wB2!ZE#_S@:Bw2)`ƁRBT({xfDRg @;+vߤ]\ngKL\W">_W·Guw{u%i |yV2bB,ϋ} A`6zrbԋЛҖ1hX9 -i $QfL<\ALC(.y.J97\9Nz@i&"sf1U>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14113 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14114 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14115 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14116 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14117 0 obj -<> -stream -HWi_p<Y, XБY =<ʆaؤJbֻ~{O׿=B矟xHZYDY*qtKrMhErk{~v#mr[%:^ZHKjH.jQ{MQXw[C'VW̊GUj[Lڼ^c?MbMw;.UڪƝNa3ʳ\bVYuRK^<e>n~~Mtg!sWV$.2eP^>%oRN95\3/G1ϒXw)yys{k^3̽5so{0̽-so{}}ܗ}ܗ}ܗ}W}W}}=>Q ,bZK)X=< bܳ*ZpZ@k)Y ,VR,{ZZK1X` -bܳ*Zyh- gU ,VRlhZwO1X`q ,bZKYk5h- gՠ,ZpZAk)X=kgR,{Z ZKYk5h-< bܳjZpZAk)O h-gR,{wO1X`bܳZyh- g5 ,րR̳@k)X=kX`bZKYk h- g5'bS̳@k)X=>yNk-X%XȯY!}.}s\<=lNn"^X_Z$HU!Sg(N}qsvS۝۸n84ÿǕGi8lݎ-]\"ss|Sӹ߰AoQDY?eFK<4X-C7pSg .gasNa'™g+OnL?z.vf;.Z\H 2L!#a\i}w܌a~<7I/wLSNLgkq<_k:};la{nM;wٖ?`8cc]e-7VfྙϚx?γwv3}jo]׷7>ӎl@. -s -媨yf+Yf2H5yVyqx5q|m}?9.MM,vፕ%l9fs m2m'~iqܘ*/IeJQKIom\%1kۈ"އ5E16^ ZieZiYeV -Ui@dZ%*V*Ui@fZ5ЪʹkQ̳$ВLK-ɴRLK-{rOZ, -bX= h+{bW  ,r@)X@^S,˽X`q-y= hk{b  ,rA)X@^S,˽X`-{ rOZ,bX5= h{עgS,˽X`-{rOZ,bX = h{b7  ,ro@)X@ހS,˽X`q-y=kY]f~q?[ŌG=CX?u=Lj|ē'a t?pU' ?;FFo&thooV"lf̔0aTIܻ >[qw<8ew{s=y*nݡެ7_ -yoҜGL_FX+e5@3r9]jbZheaZhYeeZ*V -Ui@dZЪV*Ui@Ztɢ2,%dZhIbZ -h+{-cQbZ [ƢŴ@)E1iSlb2,rOe,YL bX2,rOe,YL bX=Ŗ(f1-{-cQbZ [ƢŴ@)E1iSlb2,rOe,YTˀSlb2,rOe,YL bX=Ŗ(f1-{-cQbZ [ƢŴ@)E1iSlb2,eA)E1iSl.Yi.FgVi2+Op/2ό,U7af3JV<ޯ_'r? #Fe\N|vbs?;EӬ=6{ ː_&;{r+PK[Ᾰ͹wo'7ҔyVԕ$<-!*3]_oG:]ɰ2:S?j0"A&c7c@NleƄ~:tHpv8ܝ~@Bpڞ3)0(A @Aی-ĖK~ҞHǷ- Qf,{ɔ()k6NV7.t„l|JV)nj0P(DXJY$;uőGLd,_ޅ;`/dEOFPBŻ8PbF #EȯԭuGSRu}P"e'ER{{ (zС,_d(aeSoO;nY/Gb/'2)-<h1Q<,vhz2N[}9lyE֝I6,̖ Jwn_i?>:t$h.Ɋ"fI~HSRґj'Y{u_ٝu&{h$~OM QBk}nR͓*;ZJqϪ쎱߭1ήn5֟SqFRF hQܨ.,GٜU:i -&7I -ި;KS]&l&mV$@O5ZeOݱGgA: WG̞nlȰe=a |j9+Ą]?Q(29gxl2Y@N5NnSսcK{Ipswg0n{ 9R+hh?R -!8 08u;gaRnH-n @P@󤠙1yFI@yk&Ft:˛]xLֺesLqcn,W)$v&P -CJ!?1Aræy8+,UGǸK@h%c;95y~֨)YxWYM`= ddk$N6 R5(g{gG@a-O0#[KUWyj+mY󬦩'uK=Aϖ5Wuz;7~X»M6+e0S}XBdendstream -endobj - -14118 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14119 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14120 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14121 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14122 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14123 0 obj -<> -stream -HWko_) ^s_( -4:nJAAA˴DU>Drwn"pD=;;ggy[V5짟ί.._W_\ x,Y+n$"e.k_rWV"oUR:x -WO[)L0&K"VE-MiB.N}W -'ޝtx1b`>PzD0= 6P\G&"vz?;v)bw,HU̥#E&3`,ԸGD#\ XB,C!Xv!|.,IzIzEWzEWzEWzMמzMמzC7zC7zC7P{cB}O>!'Px-z-zSB}O gaZ+IŐw1`u1d] YzZCs$\b"{k] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%Z+EŐw1`u1d] YzZCs"\b"{Uk] Xk] Yzϵp!PVu1`u1d=*µ.,BZEŀEŐE\׺kZ+MŐw1`u1d] YzZCs&\b"{Մk] Xk] Yzϵp!PVu1`u1d=jµ.,BZMŀEŐE\ ׺k5Z+CŐw1`u1d] YԻUI4Ѫ)iY&"x -WO[-S2VI |S-V'Œi,<|gR8v{iȑ%"eն@G43>3V>9S=Ecn1ơntG5O|q@@l^6j\cҵq#ca41iwf]7;lyex$fC1Fjs"51f]fIՆY\'j =fPIjN3L]I"{o.߼APe,gNyfCpGVVor8M5w -á}Yu_ڣ>q[wlnAHL>( \zG9H&~z<ݱ6ap.lDbkB?C7*pw~ˤrpp$sn^8C:]ݗMVq9M6pe8A="b=pr^-W6|N*9 -@C "r0B2l2[mX};TFe]-j֔챬ma_jjv< ޕ -h1cL}\!!jU㷦(>Auj8 kپC N*%nt"~l2tŒbH j2x}wק~nڮjPz͛G(77lAsnA( zO*_Í:h8>=mʺvWܫ}c=KTt:#'<{/\nh1)*5IVy1̽5DT--pC2\Z7I7`iLtdPfjIpu>W@v3K@Ǘ#m AxwiN"W }]@9& o9Kҁ}̑44/n[ %zO{ ?Be -rdԣg7fi IVva3-z!.KH5uL֫N#PQ6j^$Da5[V& 4pP -i0H_4OQBFWHtcgP*XLuqez +xy6<AǏ]`t~j%z$~Șz~L]#bʁu#w:Ĭ1i? .Ii.?EXtmz`mqnEN:`bŏ$J9XO- C -׺j3{Bڠ |f%˨$M -襕K$$.XQ8vPS>lcńƃ7Yb/̂%hvL8tW/m`ۮm:dQ.ξ-갻;&L]}'t"5ѐNz\0!u>2lm1Rq,(TҊ wDeUC?3I3x^:{尤]bQ.&J9.K0h&Rc6ŖϡEn!qz2qcRzLXЍO"ayM&n/P"=pDZ.#YʞIRl5}14f,u=jcx~vbo ח%:,%wv;$c2A\IF?)8Y#$DMDsǒwwzA^~5F>Fo4k>D8z= -ТRG:Ǯq>+͟W`98]endstream -endobj - -14124 0 obj -<>/P 1150 0 R/Type/Annot/A 18296 0 R/Subtype/Link/Rect[93.6014023 285.631012 161.617996 305.311005]/Border[0 0 0]/H/N>> -endobj - -14125 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14126 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14127 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14128 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14129 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14130 0 obj -<> -stream -HWko8_(C cw[/fN1Pd:VkK^IN~%)Y&A<>"{.?Ww4׷ELX\Y!\$q6J㧈M[﫱y}7=MMt? utfmT$i\%i]M7wD㗘G;}~KMB%U>Q_KTf> 9aH>p:c!Ð,_;cx'@='@ ԋ@ ԋ@ ԋ@$@$@}F> g,P*P*P@}N9>"P_@}I/%>,#Lc1d} Xk} YzCVǀEǐE\ k9ZZC>p-'\c"k} Xk} Yp!P1`1drµ>,B}ZN \c -B>Pp!PV1d -µ>,µ>,B}ZAǐE\+kZC>p \c"\c"k} Yp"Iǐ1`1d} YzZC>p$\c"k} Xk} Yp!PV1`1dJµ>,B}ZIǀEǐE\+ k%Z;DZCVǀEǐ1dˤ,KoѬutfmRÃ2QRe>D_W띎oj8uSN C3 M?4^ Oճv?o0ۚ `tq9ܬD&|f{.J$iY}WP!VUoD/"u|~ nS&q7XL&bp=VM7vaŪ}muZNWm#M]KGfLRf3W#Y-+v T& .b8˓lZ?&`rpU2/K~\ĬU }`pnjt!)6}7θk&ʠSߌ?7ջ}j'']R,kuش[L!\,cD&Y p;A -x1uؘ-`͇a6D*+ot{~knuX;O 0Mda eKH{B; Dl* ITY_U 9캗f~hAWXYH۾'rb9yN8ǾiGx/T"s\Seh@pS1.`_xU w 5?m3ya/Ь=kd'*ϊ*njՌ9اK3lk81q n2 Hi^Γ D&_Iͩn[dtqEd0uy܈- .t KՎ3eKU9s[CNi]wo\x/Rpe~ʝ'ydYfwĒ .yw6f@({WQ$dyG"4M2~Fo\|:kc[ -{<4Ǫqkо,9JVwy"S9 v/{NH0-+!aOJ$Ԑ'3ekA1(1àRR^Ƀ.f|fՊ8Rew --S[c[M/fa%&d{~U,]G 6ӿ=sgk=~e'˱iq$UKnO-ƴȧbZߚd WvA1+7 }7bFd<)lsCy -wCcis g@x~Rn+|Δ -hMa~pf,O2-y?\Y1/x,q?] =F*,$vJ)ayfYɧH3Ia7!znKo].oNɋY)ڠ J^xVqηr5kRu_ՐsH ͥ)( oɜ~AAS\,pD 34?h:6:|d\y -O'x1!ktMm:ᕪ3/甩]iM4j۩c\R `Vsmm= &΃)WqʧV7ǥ+ex4$ 곫%g23|*875I;E -W5}X_uMzGB&*tF;zպFwtY;`Ʀ;,By - E[1ùZwݷ`/}3, + -bj*ruYN`^x>08|▘gUs4%$aV%;=`Af!w-Q}!`d\ %LA0N,#cI!^u=:}ňB߉mcR$|^Bl*sP`̑[h:iKL{iVXBhϗ& 71EH&"uzKmQs96-Vu=D-TWghgo3G'aGaIVńh:,n*A*DR*dRT̿ץrcURa7CK@+ -ȁ 9hrcd5Y>(-c,n2bJMZˀh/s5s6;[t=ܯr aGljr:>hӐ3p"`;yayg3_$%EY;\׵c3&P$QenWq)7| }kWc2KgsuH0h_ʨoN и%4aߝOýOL+ <6Y6}ڸHT6J]^eg D.jN|eclze0Y: 9Zw+/phKmk=vԧft91"y4]y-A|&bFפM6E`Ħ3\gvR&3q Lt#GAgz[L=`#0aA34nz\ xDV֏+hfB®SF66edȢ?77ݠJ5wF_52t/Fל(,%8(yW' 3\&Ч1;fLMj_~R^\n 4A2Pu;V|`@h*8 WށYVJet`)K)e '1eZ1<1tݍBTx?d>3.W'cG[砅i"h-MF$:3hA[eEZ )wJxJ};T?|b fw+H!Lu - A-&kO25{ -}}7W*JFF%ӌ歕PU)p -mǮ{^rHS  ͳ㝟?Aendstream -endobj - -14131 0 obj -<>/P 785 0 R/Type/Annot/A 15635 0 R/Subtype/Link/Rect[93.6009979 451.229004 248.723999 470.908997]/Border[0 0 0]/H/N>> -endobj - -14132 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14133 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14134 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14135 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14136 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14137 0 obj -<> -stream -HWko8_&">Etv] - -Q~dmKLזssG.*o_CR޼QPC_&Cg Q5^5^  >,ELc!1 -e}̲B>,ĵ>fY qY>p-C\cB\c\e!2ĵ>,ĵ>fY qY>p-C\cB\c\e!2ĵ>8ZP qYV,+TcB\c\e!rĵ>,ĵ>fYqY>p-G\cB\c\e!rĵ>,ĵ>fYqY>p-G\cH 1 -e}̲B>,ĵ>fYqY>p@\cB\c\+e! -ĵ>,ĵ>fYqY>p@\cB\c\+e! -ĵ>$ZP qYV,+Toc )qn"\PhZpϿD Y%dv8?6U.f9l$G\՞l̫*UA;r[fTŲ׸zh\,/HPHFt[r-~bIv6˪nlD kDe9s#\gRCy:2Mx$ M)g׸ȭԣe2pҹ{kYoRٮZsi -M3 V4Ԋ:i<٦f|saV`-nt DxAmM/$5^K(3 TBd"R,PX|tҋ*";(:ױy͏͏1U@KÆգknožƫo~u7nl{_,ZT빷$wQ|maoSr+_ZBPEg108yÃ[+nv z뾹nJh*N$t^?,0J1gxJ%F 7'l$ .\! Kx€d4() -?>q1u<^U{kn7Ewww3*.SJ.9똛GoVC|h宼~ju%}Ԧ궨ݺؓg:LVME.^ ǵTF893p]ÚpjXrSk[žij^X2"eʗopYfSGE4~Sіζ~ډ}4Nj~n{'ͨzϑ2/c2Y2`ɉƵ Gu+|›֞n;3pɇfqxID,oH1u?5n-uY\ ǿ$E㿽; gډA4ӉJ5x_d@;8/(c2= th>0Z81St0HkcvbuiM)si\v]{H˽n/dr/zL8um;":a䮻AAZ~93Ȁdepu2m@ܐf8a*e?"p?{@YÞ\(ԃqe晲&Rxd9ҝ+1&XE 0KnPX!]{ܡ6W‡̨tn5 -deŒ #&rz?΋u+9\v"̈Q\'YKRZ-bk+ӟ>uhjՎژ0 #c,duZ={Z=BIkZkXG2e8!1Uԛj 8qAi~N1?;ņW߇|z7nCATgþO/;azG<\ia-Zoϡ:zxz9.˔9+y6BEMB-T|qVuQ8W"S,x9df`ꑼ$ֶ`XHej KRmcS?ye| LiV|I^nS FOdz3bs돍Pq^ۢP ې[An~h6}NS¾KYmyaէRl؝aQ,tu:ߜK W_J3)>uh!D!2Iv=mAk>bcSde*Ka-|r J.,&:e~p= E NГ!RW+ `.҉}OVBĬ sH.#p -TÌq<-mAk;;EB8hTNz4?kKr>5\Z3!Ql@`PsԳ,7B)4n}lŧx<$,i-v>Ч.>5]F龇 ,Vngܸ=E_^{871 *쏖z= SKثFK13YT$V V;GQ;or+dF*Q%AҨ4!ɥR=Yrɒc4}sȟS$Be0ş]Z@s<f=4ǵ[ -c6 Go8f g^(D{oA-}P%CWso\>h)ptb z͗hendstream -endobj - -14138 0 obj -<>/P 442 0 R/Type/Annot/A 44398 0 R/Subtype/Link/Rect[129.602005 263.631989 244.324005 283.312012]/Border[0 0 0]/H/N>> -endobj - -14139 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14140 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14141 0 obj -<> -stream - q /X3 Do - Q q endstream -endobj - -14142 0 obj -<>/ExtGState<>/Shading<>/Properties<>/MC0<>>>/ColorSpace<>/XObject<>>> -endobj - -14143 0 obj -<> -stream - Q q /X2 Do - Q endstream -endobj - -14144 0 obj -<> -stream -Hoo6S\"E i:vhi[$:"~GR5RӼss̃CBSy@xt>C<8[ -kt+s 7zWI8?w?_..߁ aQJgPF(!% &<<3wkgnEٱ&ÈӖy:}wSŭ^"Ջ}H i'jzvROLvfsZxZ(ku^4'w4e$ODCQb:l3 -*ϥXK^U,XvR*ABװTY̼gc^HxsxU}vg'`/tfj}(K\ y@X8-|+ȲFTM6Bw[&=/ c,W*)YyAMё(ďk,*V1jayhثZE,=6V=FT@:̐*Z]֙*!>iGs}je`/:Im:u롎\grWCK/E0MDPy؆{KT޽RAa]sAdc3*R4g 46fyϓ]3,woZ zZVR2sn#˕K~}s5su nO_,/f'Tcof77F3]:8ݭ(׻7dӦ_,tf#)oӟI:~5t^$l3sc;h ;źbȟ)H3ŧ Γ=~Ȅ.TnS(l޵*E ?A *>oپu~o@N'+Vߨ0RC]Xsc}'gx'ÙhG3WY7c <'{Q_ endstream -endobj - -14145 0 obj -<> -stream -HVn7W;g!|'Rq]Dqn&@?ٲ6@xṇqf:=]^8W6 սi^y1:zu~Q7xbQWud!h2s@ٓ,IeRu&u/lfEg5-~>IXQ]D v"N~zsZ?ճn?;͕:<*O9~(xMѻOQguB.)rFuz93<訤d&vzYo6ƄZx|`m֎] ?!(9{6&9p &kBwWqkGڈ}Ծm6ƴ<]{r6%iÒrYQ3C?`aO.o9|/o_>}sxb 7m/wkG$v-yY'ٌ:DszM"Ou+jO+"q3Ԇ8Ew)λ@Mu.*j:.ٺOu3}q#_Rcoع2\#ZZhP4u;*tC=XZ2}6IkYXׁendstream -endobj - -14146 0 obj -<> -stream -HVɎ7 WZ&Ej $@|'RuUw%JE>nn Wag|.<^ŋmݟ>14wׅAJE$pp^(|\-Rp_l~9P-8u+)2 `I,l@R6I-;-@s4UCZr,+.>-9[8J3#)gp VPbWpᗶkZ=qb%d2Ac|.Ql3a3NΠ5&6X؍nsͦ -uEP}̲ɚ\UY(fBaظf)U`gDu 7GK&(EaC# nѺrcmq6Ϣ;gaa. 䖌QshDd]I@Z@2 >q;`F6@ißv [+y5ȌD(q.eIendstream -endobj - -14147 0 obj -<> -stream -HVn6 SEmE -/]f@`CR9 6 l"şCeG+\c[YTE%K7^gBAU{=Ci9dY X7 -1'|\b'*9sڑ[ؖB⺊#6: amqmzfX۲C =F=,bI&TDK1 _la@ -+_@ -0Cz{9us}_>XqK!V#V>qG -W8D^ Ԙax,e)ښ+;#"Вj;c*"Uwj%ۀ 5Ic6WZ'QD`F%1݀S}PwejX'B d?KY: U&NҐxIH6pvfE$%4yFu148JCR0hj8TvTj%8fmb@!g+*JƲM9̽lUUY, ۳ڷ㷦) o+?7S#}o;֪*"EBd l8m(hCk$x>+$@/yDiܴbCԞ'TG;^!V|= )]tc>5I,4blz@)*aQ]I`x5j=.iu6.&7f"?ElY=h/ø#s׾K[ HN :#zqfܑ\&2J5]O5جCR7%IiN19!dE(Mdp&Y]̒, R~CtI*B݊X_FN&I10ھV#cHK͝^mҧC#2RFЄgגCפ:nb;FeOd'dNʒn<.1v{Ce{sΖIhC2J j 5E]:fb&OV?ݯo߾׏dX߽{Q%=~^wߤ.9uњl]nb_oeyԒboH0SBJ/X: +JҮV݂:fxKYendstream -endobj - -14148 0 obj -<> -stream -HVQ%7 SXl` 2R*_&L!7nYRџK)ğ_vsushn_9E^z*?'9z]:hW^ގ\=@=kaK];@%#+=^s|s6@)ZQ۹dUK`wONC|xDx<>s504U<3uޢȼ57+#mlBYb'N_ל][4]$`a5XZSJzޏT5C> -stream -HlVK6 )|iHJeoBV{m׈bu.5:_kzڐ{x - 5Wi -p0>m귁5_c ~h+snkg:vPW@ymj}IcUȇ|& k55ND֡k+D`5Ҳ;Xd|9Fͪ{umar-q@[n__^7/"ryHQQ:-&dtP7>#6 *(H0c`>VY5Fyד8.΃ǖBj2KڦJO0J"-F1P/~RMQ2gvSY|@LXэQr"!'eڶR%J-Br^a'^PzAk02dzp D , -d3n_}D1W-Uf0! == @׊gS6sםr;xrrD|E *I;:o3rRN 12)G{rM'(UEWYg]T@TR>9HQ39d9M~." -"g0vq@iΝ,w^=u_w1{$kMgt&x6_g솳B29ŮS=F;<]ԂEO΃[a -\sDG)Nj@SJ`lAMjcVqVuJJLĭhx֤2n([c -0Ƥ6'rc*39Nȅ, wv<aK)f#0j6IQo> -stream -HtVKn}DRc p&*u{[5(~.{XZZu_5F`mW>dn\^L/f`Nq}ƫ5il w2n8|onӵX7܁ݭ ,G8߸-qT6 rPYxb|؜oa蠆<?3>֤i3`ttbN:Rdk't#ˍ2Xy\?{>uv[ p0oC!o?>JY~^E1G t?8¡PuTH|7?_)BT![l ͪgRx\ZCJQ5ox>[Ex*dum{Uζ% uw簳IH/ G ަLYv$ mɌ'bFɀpT6_ ܫfP'8Z#:Ԛe3gе&&}u+*j^5S_5X0WI6IHqmYNl:PCǚmrlfݰ"S"_ gISX%)AjNPY$rb8[z 0RZJY3=*s1/ň Tix:kADg]ryf%Ry7Ջ/i(D蕆PwxMv $NjP ,)WlH`fX&?MP.endstream -endobj - -14151 0 obj -<> -stream -HlV9$7  qk7(B֬;Bfz&6,$Hu]vW=ׇ߶{@^h_ -/wU 'm|@: {,Òv{.J[=j_zKve:m2 h@Qkk7o-]T4ndb3;~Ng16eJ &xPtƗSwd|x@;ɠwj 97I"zϠӜO$&/3ejKd$y.tmY)늸{%QKiU'H[K9peJ5P`ly't8 I 0'k>b5i/0ONVrgPXF!ՙSt7d2pm9ۗB[K6wE&roIvn #$=&4$aIiV՘?f/GTEŗlJ{ n)yFn\ .{:;tk%X*( --iՇv-RVy[)=y3DE(VwV ڃT:(BrӣXTeR:G2CAa!WGjBjEjKb g-s ?ݕ5XW],g*mre'+0,&"m;_AJ("&B?XCpa# ( -ѥEI6vvfϮף%7 ^EGY UظVohiVç/8 <]MoSFQtUT/?DCcJ%LA.-y?6; sjdU)dð7ͤ>pR髭 + Zp, MF{"h(;n'VTMfgV\~m%h(JuC1d UP Y -^H3Yjl]V5V8 5δM6T|sWEC8+6RVy}`%;!2]; -h?Kj&}n<-8%@9kCk)l C.iT9B.Y{Qs+GϚ{*k ¡?ǰL\_]/ ӕC(!pR?u/<= endstream -endobj - -14152 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14153 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14154 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14155 0 obj -<> -stream -HWkoܶ_2`3K($mܦ M'(dU+해q;#RZ-GPPtCw/޽z:U+*ԙdD2-® ->M0xj_ UoP ]]]V}r?eC q9qnA$qk5 !mMJ,~ڲF8z6Cwyg Ȓg<^PhYs(1hB,D8| ކwpLO -A]Nsrc\ Yp.,}!K,W;x O O$KO$KO$KO"+O"+O&kO&kO&kO}BO< >ԧSSO}JO=>gSsO}N< Ӻ!k] YzZCŐw1`u1d= -µ.,BZAŀEŐE\+׺kZZCs \b"{k] Xk] Yzϵp!PVuC ׺|.,µ.,_!Wb"\b"{k] Yzϵpp!PVu1d=Jµ.,µ.,BZIŐE\+ ׺׺k%ZCs$\b@u1d] Xk] YzCŀEŐE\׺kZZCs"\b"{Uk] Xk] Yzϵp!PVu1`u1d=*µ.,BZE&\bջ׺|.,_}y y՚~} M+}Cظni[ٷ᩵їEdbxk0*%Z.D+0ř^p_4b0{P?)uqi&A %Xy"LeIk_p)}~?.|B$ő /9~vG:~^ xJx̀Vp &*F],AulLS)خ?vNnzՏ9~6<<жw+8z؍W2)l:Zpi1:MEuJ6 e\JjxK22'Y& 3 >@3't"}!)ʲm<. >ǥ:$1T zI, M2YƾnlZpt%:_M_.0"S-E۲lBJQ>Hv8SaxLݶU3`Ğ[J} ;t1zPp*zO2.cg3 -אtI>(p\ w 73GNa\ dP롮,ў[vryHiGWU[ʏuoo6^3T뢭^gЏ~Û ?kxf0/19~ӲxX+Yx~6v&)s_&pB,pN3;z[I -d C. xz0lO^^훣4Ӭ!}qmIaid6&un>E-n쳋&YqUͲo-iۻ~ t#cXzqv a19Yh8 ܡcueW (yҤ{]*:m0hhd]<~d3ֽ\o7Z{[}svO^uo'N= lV`mۉ.R/LCW) ,XN`93X21V&2VXXc`R`U -3\TCgQ \Z`iK3Xb7B.roS ]˽rO5t ,{#jX,F=%X{K`[!TCgQ \B.roS ] -˽rO5t ,{+jX,V=%X{K`[!TCbB.rS ]E5p ˽rO5t ,{'jX,N=%X{K`;!TCbwB.rS ] ˽rO5tq%j2))\‰3Aɔ5E綡aXEm(',vS 'EZk5zYm!tZpfm -!d4K~;y72yhF -tgZ@]MFF~~^7X)|bm -- 0^ngՋCNm.sd~lZ~&0:oU -_CyqJXN`9r1X 21V.rVX*XcdR`5jP.K3X2e˽rOPbc Z(TS-XB -Ub,!T *v1{BK=B]eS-XB -Ub,!T *v1{BK=B]%jP.rOPbc Z(TS-XB -U,'jP.rOPbc Z(TS-XB -Ub,!T *v1{BK=B]%jP.rOPbey!T *v1{B5v=_߶oTE'CP(RЩ\ojU$FG92H"s&vջϨIPAut1]_o[UmU -֛^J͖ͬ:e}X#tAjojo~fMn8Lk Zd<+Zb]%w,ecϧG>Ӈ;'iKxR߷5Ѯnj% xb~oμL}yzިYcFw7ڱߠiyݍMN>& 0ZlXendstream -endobj - -14156 0 obj -<>/P 776 0 R/Type/Annot/A 24294 0 R/Subtype/Link/Rect[233.688004 409.028992 468.752014 421.013]/Border[0 0 0]/H/N>> -endobj - -14157 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14158 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14159 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14160 0 obj -<> -stream -H[o7WQ25K2 4iӤ}Cd{SKrWɯP2$F88<$PQY/ߝ9ezu|z -_q*$Jd4ή -~ގdq(ٴ*1+'ɮqR1$yaLfc, /+Lw1!M*6*s6|. |( lUjs շ2.Sbptw7O:uFx[ <0w@6?3XDglTsxnO71# *k@ SH !(]<ր{{W{W{W{ׄ{ׄ{7{7{7{Y>#g{K{K{K{Gw{Gw{O{O2+bmH"X Tk@ZbX Tk@ZQj%ZpVPDj(}ZIk"GDjZpVZQj%ZEk"GDj(}ZIkDZbXH-ZbXH-ERb-P(H-ր"R@*"X >J"R5b-P(H-ERb ("X >J"R@*"X%H-PDj=PDj(}ZMk"GDjZpVZQj5ZEk"GDj(}ZMk@ZQj5ZpV,1Dj=ր"R@ؽOqxaK&X~ꘐ>XfA%b2̿N!w, TŠWkP\D*"ØǬL |%Ɓ&Rfe7؀Ij%54Tʭp?YM 9`F76s:݊w^|_-`6|.ÃmcYu Œ͇VX.jyWݔrT]-?{kvŪŠ\-V -7ލ?W %NC L4\Ou1|ƶL 60TdtKi ]} ?)n'=[]:ݠ0*}8ڔ@jQm8|\\??crgLK}x5*n=ʇ3SO6dӓUy9.rg^tØ!m*sudPIzc~'ӔU'9Yd;j2Fe5={"،p1I jYRh'JȔsz}Vsu"^ j(gp%nm=q}?*'{NI.G>(eP^%*5HᬼͰF2L+> mbהlY? -mV ٧[%aG z&Mĝ=AKurPZ=\qOtx~IUG|KSGoVkM&}y|ծ~5kY%3Yt&ۯg%Q~z!ɞr۵wB@ z݂W I7E -D]}M#W扮@iWA1/62>WHSHs WOB |~Ҕ5"'9!;+#~@έM#H25Jpai-xߊ }}Y:ME7~oMI%,7dqEΉŇlx7Ldz7?<=ˏN~:;E߽2<> -stream - q /X1 Do - Q q endstream -endobj - -14162 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14163 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14164 0 obj -<> -stream -HWێ8}Wan6o<$ `2jYn+%%'?U$KdiʇUGdxز~LW^}/˔_eXh)G3J}*vY[(ԻXXXw{n׫n%L&H!`)K!&EVaq_mYWlyBHy0b\~o=aE[u ̜A(".4ZH -hx{w抽0) -fA#B$|49v}.&1B{ ׇ(?>!*$P.w)}P`<`<`=`=`=`o<`o؇cC}D<>cc}L= >'cS}J4+ Ѻ}պ>D]պ>D]|Pj]jZׇ(ZEPCS"TETպ>@u}"{Uj]jZ(BQ{OPCS"T&Tw}"Tw}ٻ>@u}"{Մj]j5Z(BQ{OPCS&TE!`Vu}"{Մj]պ>D=jBQ{OPPCPC!gE!`u}"{5j]պ>D=BQ{OPZׇ(ZC!`u}"TETkպ>D=Boj]|Pj]|Q>ij3WjdMZX j,\}Cv`ayf* -Xh{!ODzzf'VOe֬lS2Yݣ>UՇD"9Yh8Є@~ |*|XNu -Ɨaْve!@OYSA?v,^߿aX+{@߇vXN\SӲe;0_62CO!=%{͎mӿ%t&>$0K-~y CJh.eu&[OY| S[/\oT,/0MƸDz lz6Z@$#0:&DP&1dDx2.: Op`#JԁUkgnzLۗU{\ q[>? -eu9PwPC~P h4]Z54<}JMBgc"avD inX!1L-߿[Ts) NPMc{n}@/oKyd0E [E3)/!PxNmCiaOX#ߖ5G'$e(#NGk&?5MYW,\>'/YyE"%O&xܼ#V%lW=#'Cq c7*o*+ F$"Қ{6yꟽD:坱zSQQ>="n.\:T6Ek%XH$¡SGo'ՄQ54M])q6M0i(iAU/S',lY@ڝqp߻X/؃ ܪ&$6c$1(S)/ԘHL :^dKۧIxQY 'f^J(dʼn8iI ,]tfQX6 N2;S4(I78Ynnksʷ}kk$!|z%S%Ub&ge笕rF' .ZѰdxqt%ku!~灖wT4pϯI2f42g[xUHO**˳7ͷg{3ޕ/d]t5 %0+7O?WMoFW *\rIE=4AS=8=PJ""IYv~}_[ 0pv,'HչU(|͊D -}) -3zaڝKeS`ZW Go⨅dfYMEhamU1LeAIZ w=ѳh8p42."?01z !w/" aA bV(9ڋsפØ}ye/>^$.9dCTk&#60EN.H]"iQ5"8Fp'.1JaC{tUL ;YL$]綠8HŅ;õalP(D|<(KgKOfq;V@&V-(oǫ_edۛ&&h/+6T'ᤦ8 2uhttwӇyQ~:($yk=JH-]r?4pJjymմ 9VhbUK86oi}5!o*ءhյpOMzwicGiU' ӣQŋaN$ד22(K}!|3QaSnf?nl r%b4-F L6Tr)D4a -{x+_j mΘr3wF GC7kEe/~w:+jjb@g bIƎSb$Jva}L E -xީFIؑ C]HEr%zI6f؍^D+DRSAbIKPŢ -K=c>X\$8I]iaU.6\r<4Z/,ƹH+S۳D`~_h|uV%c%:Yx(CuZSIQgM7ZIrPZ}x\ qMlbQ4\fB> -stream - q /X1 Do - Q q endstream -endobj - -14166 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14167 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14168 0 obj -<> -stream -HWmoH_aLPp~o]խht2f!˝__friOu=]Ouٯ}>{vͫ0?<#HT*FFTFZ{3,8 njVb}"8{}!:x Ζɵ pyX60g&\Ҟ*ÓBNj$ɧX (o{OW]SvuF0"Ud%q`E`!L=L /?: L#a.İ .)K0I,=!GmJEl rO<J0^0^2^2^2^1^1^3^3^3>eاaz3}>cg{ð7{ð7{˰{˰40] R|(FԆ(=!gOmbTKmb{j Q {OQ-Q-!aV06D1= -F(FԆ(ZŰT+RRjZjCS`TKm@26D Pj Q>{jCϞŨŰT+Rj%ZjZjCSdTKmb{j Pj Q {OQ-!aV26@16D1=JFԆ(ZɨvbTKmSR|Ԇ(=Q-!aV16D1=*F(FԆ(ZŨŰTRRjZjCSbTKmbTKmb{Uj Q {OQ-ͨ峧6@16D Q>{YkUß0/2a.oqpIށQ)wbpđNSIpi%hZ(AeYabvl)|vm?|(M?l6ݭ(oj'octf(]uyl'YTCܢUSTeDձN1vge%pRa#m-`ubwuv>Hrq%ekH.WT`H@Yc-r`Yg HD8ӛEƎiC.;W׫[mjW'gЍR:̎DSLc4w:2Gd6 ǭPn֕xw t^e,w>#[jOwm'VcAEBI- <8rQW`E d%vCxpDu^= ׫f.p_6=ޯQ6NOx́QđW0D -վ-JļWMC -gjd6j;b!M<֨HoUn k -0T")}pija@Nd[_;W4E%)EݮV4:NE -9ߺc|_5&5r:)0bߚzez-\3WH͢ :)~8LYIuESNQ]{BH!|BUV7thla%#=^*~!8lU@qN'a3ɒñ &qBzE ]3,zC`J\$\&[fMqbZ(lt N]~.mgwkBBk&7pn=wۇ7wuNw+MHeW?ͨ|vE Knדi\~I5f/T.!* nHA`SZx}yIR>c܆o26Y?dj x*3;!Ie$1 h8, bAw`su_BΊ}0]ˁXU<aJam( (*p&{ꕚ(*>1ƒ [,¯= X.DqFOh-F!7ugLAT-ⶄ5/'w=%Wedsw~Kx -^,~Ļ !4X3xl#&|'B@N|jXnIPߎ5NX*2VPţ%af -m芑ąyPֈ;әro%ߔ:7aYMhOKYXtڹ -L$d=Lxs< l)%T1Z -xpDa%U?EJP4c'X“H`R)/GMPb@Gx  -"MTi45&DMdu~mHlO>;. -Pf/$ T jI &ݘ"PPMzM RbFJX.1Bԑ$d`$̬<07$tk iX'n$^=N=x:zvdmTmB~4SuFzửAm Nc ~Xq+2a2مfAA = 8!GY#q:k;#ZYӉ3$KͰ]!A*}ѣV]NdOCBT?AL3D^11 ,%:! -QУ돨y -u0@Hl;;o3b(#c/W/E DqXH_' pSͅ f41 -&Ɩin^6 Y 7uU$kI);>C N.awPzwy!P=͛ŦꅑۡQO=W?rψEA7w$G%}U/T$qERP_s#CkjFmyz)O h/sab}B*aaS-S؆An-\W 3&&5훊0(WRnsQ}aHp2wif, ,o9ZZhۢ{hN|4\5C]pv}'8k<3`}^|9?endstream -endobj - -14169 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14170 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14171 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14172 0 obj -<> -stream -HWkoN`4Euh΋fě.4Q`,f"*Iu+{/ll6Μ93#7RǗ?] u_Om6F5EU *Upbw^M.VMި6x9 g(f I" 4Uj&.>mYv&:.'{W5}f|4y"o:,}z*Em?nfo.ICmf7lɯfAnF+`F]~BCA7JudXSN92Őŧ,! ,]knb2{a2Vpo{+̽; s{{gc}ǂO s>'}*OTp2>c3=JKu`R Y=ŀ%b),bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%g5Bk),=kZK1` Fh-Ő%g5Bk)Z!R Y=ŐS XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` Vh-Ő%gBk),C -Vh-ցZK1dqZ!{Kh-Ő%guBk),=kZK1` Nh-Ő%guBk),C Nh-ŀ%bܳ:C :Bk),bZK1dqCwY9',8ʹj W]hTDUu04e-'yՓt:DG,وX(4|D=}ZOoԗ|5~?*hᾹQIB?N4BmwRQQMsɻ뺂w׷y.ڛ3_gg -|:3Rԅ r/K5}GVvfoe'BtOlE}=7Bj\ET. o_O*Ǘj!X{CD4mPs#>hJ'UݩnXI4|4Ic\`jzi5oߍL$}VNdԪ\Iڰ19?κ-V?)"W, [ؿ™Խ -=lF xQ YbZNrL ZiyA3-/hy Z1ӊi%V´A+aZ2TJV&heL+2e"E1dq-K ZiiAK3-#he-{#bX{!Kb7B),A-{#bX{!Kb7B),A -ŀ%bX{!KbB),A --{+bX{!KbB),A --{+bX{!kQ XB),A -{'bX{!KbwB),A -{'bX{!KbwB),A ŀ%bZYe/Yp>WFenT, #+jdok -eBmQƙ0ֱ9v9yyWBmN'MUW/V_ -~Hέa+N?zKCvIGⓃmћ ?NB'n?8!|?! -eM9;imcm|/ -~[jYAۡۼ\z>].daB:pۇeěn,+>\珫3tyY(ʶkwrw!4*_aXXMq+~|+p,ӱ!G XV8M72)*h: -$f- FuYj=ӓ_/E_nVyYWX@{;Ѿ|ZоX IǾ m%>:>t^w^bvcׄQ>M+N펷`$V`|?I\#Vabhۼy4m4r(35i: d)׍*7 3fz2/БUmU@U((>U/[Cs 4Yd64xm{/~gN~c;%1` -ժ/8EqKd^`$f7FvVVB{Xzrvc4~?>8}U[~WD0<:n.EyDd}J2 vhkt/B=5ɛ/@p̰Nmsy" f{d+1`%z<u?tG.'Xǒ%“'.Cn*,Yx .C'<(osA5` C9bXB:S`|m -%T6JbpV !\P/QWb5י+P WSendstream -endobj - -14173 0 obj -<> -endobj - -14174 0 obj -<> -endobj - -14175 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14176 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14177 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14178 0 obj -<> -stream -HWmo7]/I ] Y.-U^JlٕKsfVڕr3(3y_g {sVoOϊ -J -ŴYjVuO,*lq}?,S=?fբ8ZOtROT0&M*VMW޺ד La\wM7"G;bB}cb=GnX)_ -o{: d -m mb f9!PB Q1(B Q1І}hІ(}ZA6!`V m"TET+Ն6D# -B PjCjІ(}ZA6PmhC>R TET+ՆB mه6@ mه6DCՆ6D#JB QHPmhІ(}ZI6!`V m"TET+ Ն6D#JB PjCj%І(}ZI6=PmhCT>PmhCT>!*fE6!`V m"GUjCՆ6D#*B QHPmhІ(}ZE6!`V m"TETՆ6D#*BЄjCb PjCb Q1{_zϳIqY9Py\*t^ "hID<ɀidK88*Lk-\Ll ⅶ$S@ Amɻ|zz2_tkMw2\MDʛ\/"n[f>pnwP:hN͆*AkJT%(\1X Y"<w|;YxGѥlPƻV1' e6("G*lazr˳w˫߮w\|v{zx{Nn>h<%%4Q-/ON?R;K J6vNG[Ju@2pEn+L#qtd:FlHd-lA׳קS(RJ[*%P"KpUGIzڳDvu'V6L x;Nl]{HnB#YyiE4:xA˛C8˻<[E3rn8W ?οd߭spސ/y44KÛ w.~ b0kas]u&,n~aj%>8:ȫp8CJÏmqt.~$/"xH 1={(2B8'x韫|NפT_ H3>3nƕyM/,4 X`.SZ*7*|\UjgE2Hbn()M8`@m&5D( HV r%x[όyYD`<^\^L{86xˉ=`}p W# k$rz))eZaC)- .# k,g0Qb?oWG1 AԄ`z/5y>V )R AZN3\ms!'>OJkHO_-DQ|R^g`9[[Aֶ*[txb\~ 栞T:A<)V}׷*1'p0Oc<0Oa.0\d#˅(7=.Ig)X:eu[D_}ccendstream -endobj - -14179 0 obj -<>/P 8524 0 R/Type/Annot/A 28399 0 R/Subtype/Link/Rect[151 659 167 668]/Border[0 0 0]/H/N>> -endobj - -14180 0 obj -<>/P 8524 0 R/Type/Annot/A 28354 0 R/Subtype/Link/Rect[168 659 180 667]/Border[0 0 0]/H/N>> -endobj - -14181 0 obj -<>/P 8524 0 R/Type/Annot/A 27614 0 R/Subtype/Link/Rect[189 649 201 657]/Border[0 0 0]/H/N>> -endobj - -14182 0 obj -<>/P 8524 0 R/Type/Annot/A 27584 0 R/Subtype/Link/Rect[239 639 255 648]/Border[0 0 0]/H/N>> -endobj - -14183 0 obj -<>/P 8524 0 R/Type/Annot/A 27555 0 R/Subtype/Link/Rect[256 639 270 647]/Border[0 0 0]/H/N>> -endobj - -14184 0 obj -<>/P 8524 0 R/Type/Annot/A 26963 0 R/Subtype/Link/Rect[272 639 286 647]/Border[0 0 0]/H/N>> -endobj - -14185 0 obj -<>/P 8524 0 R/Type/Annot/A 26927 0 R/Subtype/Link/Rect[288 639 300 647]/Border[0 0 0]/H/N>> -endobj - -14186 0 obj -<>/P 8524 0 R/Type/Annot/A 26493 0 R/Subtype/Link/Rect[298 629 310 637]/Border[0 0 0]/H/N>> -endobj - -14187 0 obj -<>/P 8524 0 R/Type/Annot/A 19640 0 R/Subtype/Link/Rect[189 619 201 627]/Border[0 0 0]/H/N>> -endobj - -14188 0 obj -<>/P 8524 0 R/Type/Annot/A 25927 0 R/Subtype/Link/Rect[151 599 163 607]/Border[0 0 0]/H/N>> -endobj - -14189 0 obj -<>/P 8524 0 R/Type/Annot/A 25890 0 R/Subtype/Link/Rect[189 589 201 597]/Border[0 0 0]/H/N>> -endobj - -14190 0 obj -<>/P 8524 0 R/Type/Annot/A 19026 0 R/Subtype/Link/Rect[283 579 295 587]/Border[0 0 0]/H/N>> -endobj - -14191 0 obj -<>/P 8524 0 R/Type/Annot/A 18966 0 R/Subtype/Link/Rect[189 569 201 577]/Border[0 0 0]/H/N>> -endobj - -14192 0 obj -<>/P 8524 0 R/Type/Annot/A 25002 0 R/Subtype/Link/Rect[151 549 163 557]/Border[0 0 0]/H/N>> -endobj - -14193 0 obj -<>/P 8524 0 R/Type/Annot/A 24953 0 R/Subtype/Link/Rect[189 539 201 547]/Border[0 0 0]/H/N>> -endobj - -14194 0 obj -<>/P 8524 0 R/Type/Annot/A 18858 0 R/Subtype/Link/Rect[278 529 295 538]/Border[0 0 0]/H/N>> -endobj - -14195 0 obj -<>/P 8524 0 R/Type/Annot/A 24271 0 R/Subtype/Link/Rect[296 529 308 537]/Border[0 0 0]/H/N>> -endobj - -14196 0 obj -<>/P 8524 0 R/Type/Annot/A 24231 0 R/Subtype/Link/Rect[189 519 201 527]/Border[0 0 0]/H/N>> -endobj - -14197 0 obj -<>/P 8524 0 R/Type/Annot/A 23414 0 R/Subtype/Link/Rect[264 509 281 518]/Border[0 0 0]/H/N>> -endobj - -14198 0 obj -<>/P 8524 0 R/Type/Annot/A 18724 0 R/Subtype/Link/Rect[281 509 295 517]/Border[0 0 0]/H/N>> -endobj - -14199 0 obj -<>/P 8524 0 R/Type/Annot/A 22655 0 R/Subtype/Link/Rect[297 509 309 517]/Border[0 0 0]/H/N>> -endobj - -14200 0 obj -<>/P 8524 0 R/Type/Annot/A 22606 0 R/Subtype/Link/Rect[189 499 201 507]/Border[0 0 0]/H/N>> -endobj - -14201 0 obj -<>/P 8524 0 R/Type/Annot/A 22043 0 R/Subtype/Link/Rect[151 479 165 487]/Border[0 0 0]/H/N>> -endobj - -14202 0 obj -<>/P 8524 0 R/Type/Annot/A 21988 0 R/Subtype/Link/Rect[167 479 179 487]/Border[0 0 0]/H/N>> -endobj - -14203 0 obj -<>/P 8524 0 R/Type/Annot/A 21434 0 R/Subtype/Link/Rect[253 469 265 477]/Border[0 0 0]/H/N>> -endobj - -14204 0 obj -<>/P 8524 0 R/Type/Annot/A 21401 0 R/Subtype/Link/Rect[264 459 281 468]/Border[0 0 0]/H/N>> -endobj - -14205 0 obj -<>/P 8524 0 R/Type/Annot/A 21339 0 R/Subtype/Link/Rect[281 459 293 467]/Border[0 0 0]/H/N>> -endobj - -14206 0 obj -<>/P 8524 0 R/Type/Annot/A 20995 0 R/Subtype/Link/Rect[189 449 201 457]/Border[0 0 0]/H/N>> -endobj - -14207 0 obj -<>/P 8524 0 R/Type/Annot/A 20537 0 R/Subtype/Link/Rect[235 439 249 447]/Border[0 0 0]/H/N>> -endobj - -14208 0 obj -<>/P 8524 0 R/Type/Annot/A 20114 0 R/Subtype/Link/Rect[251 439 265 447]/Border[0 0 0]/H/N>> -endobj - -14209 0 obj -<>/P 8524 0 R/Type/Annot/A 20086 0 R/Subtype/Link/Rect[267 439 281 447]/Border[0 0 0]/H/N>> -endobj - -14210 0 obj -<>/P 8524 0 R/Type/Annot/A 19667 0 R/Subtype/Link/Rect[283 439 295 447]/Border[0 0 0]/H/N>> -endobj - -14211 0 obj -<>/P 8524 0 R/Type/Annot/A 18277 0 R/Subtype/Link/Rect[189 429 201 437]/Border[0 0 0]/H/N>> -endobj - -14212 0 obj -<>/P 8524 0 R/Type/Annot/A 19086 0 R/Subtype/Link/Rect[298 419 310 427]/Border[0 0 0]/H/N>> -endobj - -14213 0 obj -<>/P 8524 0 R/Type/Annot/A 16088 0 R/Subtype/Link/Rect[279 409 291 417]/Border[0 0 0]/H/N>> -endobj - -14214 0 obj -<>/P 8524 0 R/Type/Annot/A 16042 0 R/Subtype/Link/Rect[274 399 286 407]/Border[0 0 0]/H/N>> -endobj - -14215 0 obj -<>/P 8524 0 R/Type/Annot/A 15677 0 R/Subtype/Link/Rect[245 389 259 397]/Border[0 0 0]/H/N>> -endobj - -14216 0 obj -<>/P 8524 0 R/Type/Annot/A 15614 0 R/Subtype/Link/Rect[261 389 273 397]/Border[0 0 0]/H/N>> -endobj - -14217 0 obj -<>/P 8524 0 R/Type/Annot/A 15507 0 R/Subtype/Link/Rect[269 379 281 387]/Border[0 0 0]/H/N>> -endobj - -14218 0 obj -<>/P 8524 0 R/Type/Annot/A 15439 0 R/Subtype/Link/Rect[259 369 276 378]/Border[0 0 0]/H/N>> -endobj - -14219 0 obj -<>/P 8524 0 R/Type/Annot/A 18839 0 R/Subtype/Link/Rect[277 369 291 377]/Border[0 0 0]/H/N>> -endobj - -14220 0 obj -<>/P 8524 0 R/Type/Annot/A 14964 0 R/Subtype/Link/Rect[293 369 307 377]/Border[0 0 0]/H/N>> -endobj - -14221 0 obj -<>/P 8524 0 R/Type/Annot/A 14768 0 R/Subtype/Link/Rect[151 359 163 367]/Border[0 0 0]/H/N>> -endobj - -14222 0 obj -<>/P 8524 0 R/Type/Annot/A 14554 0 R/Subtype/Link/Rect[189 349 201 357]/Border[0 0 0]/H/N>> -endobj - -14223 0 obj -<>/P 8524 0 R/Type/Annot/A 18694 0 R/Subtype/Link/Rect[264 339 281 348]/Border[0 0 0]/H/N>> -endobj - -14224 0 obj -<>/P 8524 0 R/Type/Annot/A 14447 0 R/Subtype/Link/Rect[281 339 295 347]/Border[0 0 0]/H/N>> -endobj - -14225 0 obj -<>/P 8524 0 R/Type/Annot/A 14405 0 R/Subtype/Link/Rect[297 339 309 347]/Border[0 0 0]/H/N>> -endobj - -14226 0 obj -<>/P 8524 0 R/Type/Annot/A 14356 0 R/Subtype/Link/Rect[189 329 201 338]/Border[0 0 0]/H/N>> -endobj - -14227 0 obj -<>/P 8524 0 R/Type/Annot/A 16080 0 R/Subtype/Link/Rect[283 319 295 328]/Border[0 0 0]/H/N>> -endobj - -14228 0 obj -<>/P 8524 0 R/Type/Annot/A 18563 0 R/Subtype/Link/Rect[189 309 201 318]/Border[0 0 0]/H/N>> -endobj - -14229 0 obj -<>/P 8524 0 R/Type/Annot/A 18501 0 R/Subtype/Link/Rect[288 299 300 308]/Border[0 0 0]/H/N>> -endobj - -14230 0 obj -<>/P 8524 0 R/Type/Annot/A 18484 0 R/Subtype/Link/Rect[189 289 201 298]/Border[0 0 0]/H/N>> -endobj - -14231 0 obj -<>/P 8524 0 R/Type/Annot/A 18452 0 R/Subtype/Link/Rect[298 279 310 288]/Border[0 0 0]/H/N>> -endobj - -14232 0 obj -<>/P 8524 0 R/Type/Annot/A 18423 0 R/Subtype/Link/Rect[189 269 201 278]/Border[0 0 0]/H/N>> -endobj - -14233 0 obj -<>/P 8524 0 R/Type/Annot/A 18398 0 R/Subtype/Link/Rect[269 259 281 268]/Border[0 0 0]/H/N>> -endobj - -14234 0 obj -<>/P 8524 0 R/Type/Annot/A 18330 0 R/Subtype/Link/Rect[189 249 201 258]/Border[0 0 0]/H/N>> -endobj - -14235 0 obj -<>/P 8524 0 R/Type/Annot/A 18293 0 R/Subtype/Link/Rect[288 239 300 248]/Border[0 0 0]/H/N>> -endobj - -14236 0 obj -<>/P 8524 0 R/Type/Annot/A 18230 0 R/Subtype/Link/Rect[189 229 201 238]/Border[0 0 0]/H/N>> -endobj - -14237 0 obj -<>/P 8524 0 R/Type/Annot/A 18190 0 R/Subtype/Link/Rect[298 219 310 228]/Border[0 0 0]/H/N>> -endobj - -14238 0 obj -<>/P 8524 0 R/Type/Annot/A 18149 0 R/Subtype/Link/Rect[189 209 201 218]/Border[0 0 0]/H/N>> -endobj - -14239 0 obj -<>/P 8524 0 R/Type/Annot/A 18046 0 R/Subtype/Link/Rect[258 199 270 208]/Border[0 0 0]/H/N>> -endobj - -14240 0 obj -<>/P 8524 0 R/Type/Annot/A 16893 0 R/Subtype/Link/Rect[274 189 288 198]/Border[0 0 0]/H/N>> -endobj - -14241 0 obj -<>/P 8524 0 R/Type/Annot/A 17997 0 R/Subtype/Link/Rect[151 179 167 188]/Border[0 0 0]/H/N>> -endobj - -14242 0 obj -<>/P 8524 0 R/Type/Annot/A 17978 0 R/Subtype/Link/Rect[168 179 182 188]/Border[0 0 0]/H/N>> -endobj - -14243 0 obj -<>/P 8524 0 R/Type/Annot/A 17952 0 R/Subtype/Link/Rect[184 179 196 188]/Border[0 0 0]/H/N>> -endobj - -14244 0 obj -<>/P 8524 0 R/Type/Annot/A 17932 0 R/Subtype/Link/Rect[189 169 201 178]/Border[0 0 0]/H/N>> -endobj - -14245 0 obj -<>/P 8524 0 R/Type/Annot/A 17905 0 R/Subtype/Link/Rect[264 159 278 168]/Border[0 0 0]/H/N>> -endobj - -14246 0 obj -<>/P 8524 0 R/Type/Annot/A 17833 0 R/Subtype/Link/Rect[280 159 292 168]/Border[0 0 0]/H/N>> -endobj - -14247 0 obj -<>/P 8524 0 R/Type/Annot/A 17811 0 R/Subtype/Link/Rect[189 149 201 158]/Border[0 0 0]/H/N>> -endobj - -14248 0 obj -<>/P 8524 0 R/Type/Annot/A 17783 0 R/Subtype/Link/Rect[458 669 472 677]/Border[0 0 0]/H/N>> -endobj - -14249 0 obj -<>/P 8524 0 R/Type/Annot/A 17739 0 R/Subtype/Link/Rect[474 669 488 677]/Border[0 0 0]/H/N>> -endobj - -14250 0 obj -<>/P 8524 0 R/Type/Annot/A 17601 0 R/Subtype/Link/Rect[490 669 502 677]/Border[0 0 0]/H/N>> -endobj - -14251 0 obj -<>/P 8524 0 R/Type/Annot/A 17580 0 R/Subtype/Link/Rect[397 659 409 667]/Border[0 0 0]/H/N>> -endobj - -14252 0 obj -<>/P 8524 0 R/Type/Annot/A 17552 0 R/Subtype/Link/Rect[491 649 505 657]/Border[0 0 0]/H/N>> -endobj - -14253 0 obj -<>/P 8524 0 R/Type/Annot/A 17535 0 R/Subtype/Link/Rect[359 639 373 647]/Border[0 0 0]/H/N>> -endobj - -14254 0 obj -<>/P 8524 0 R/Type/Annot/A 17510 0 R/Subtype/Link/Rect[375 639 389 647]/Border[0 0 0]/H/N>> -endobj - -14255 0 obj -<>/P 8524 0 R/Type/Annot/A 17486 0 R/Subtype/Link/Rect[391 639 403 647]/Border[0 0 0]/H/N>> -endobj - -14256 0 obj -<>/P 8524 0 R/Type/Annot/A 17458 0 R/Subtype/Link/Rect[467 629 484 638]/Border[0 0 0]/H/N>> -endobj - -14257 0 obj -<>/P 8524 0 R/Type/Annot/A 17423 0 R/Subtype/Link/Rect[484 629 498 637]/Border[0 0 0]/H/N>> -endobj - -14258 0 obj -<>/P 8524 0 R/Type/Annot/A 17388 0 R/Subtype/Link/Rect[500 629 514 637]/Border[0 0 0]/H/N>> -endobj - -14259 0 obj -<>/P 8524 0 R/Type/Annot/A 17362 0 R/Subtype/Link/Rect[359 619 373 627]/Border[0 0 0]/H/N>> -endobj - -14260 0 obj -<>/P 8524 0 R/Type/Annot/A 17333 0 R/Subtype/Link/Rect[375 619 387 627]/Border[0 0 0]/H/N>> -endobj - -14261 0 obj -<>/P 8524 0 R/Type/Annot/A 17308 0 R/Subtype/Link/Rect[397 609 409 617]/Border[0 0 0]/H/N>> -endobj - -14262 0 obj -<>/P 8524 0 R/Type/Annot/A 37458 0 R/Subtype/Link/Rect[447 599 461 607]/Border[0 0 0]/H/N>> -endobj - -14263 0 obj -<>/P 8524 0 R/Type/Annot/A 16958 0 R/Subtype/Link/Rect[463 599 477 607]/Border[0 0 0]/H/N>> -endobj - -14264 0 obj -<>/P 8524 0 R/Type/Annot/A 16931 0 R/Subtype/Link/Rect[479 599 493 607]/Border[0 0 0]/H/N>> -endobj - -14265 0 obj -<>/P 8524 0 R/Type/Annot/A 16896 0 R/Subtype/Link/Rect[495 599 509 607]/Border[0 0 0]/H/N>> -endobj - -14266 0 obj -<>/P 8524 0 R/Type/Annot/A 16866 0 R/Subtype/Link/Rect[359 589 371 597]/Border[0 0 0]/H/N>> -endobj - -14267 0 obj -<>/P 8524 0 R/Type/Annot/A 16835 0 R/Subtype/Link/Rect[482 579 498 588]/Border[0 0 0]/H/N>> -endobj - -14268 0 obj -<>/P 8524 0 R/Type/Annot/A 16803 0 R/Subtype/Link/Rect[499 579 513 587]/Border[0 0 0]/H/N>> -endobj - -14269 0 obj -<>/P 8524 0 R/Type/Annot/A 16768 0 R/Subtype/Link/Rect[359 569 373 577]/Border[0 0 0]/H/N>> -endobj - -14270 0 obj -<>/P 8524 0 R/Type/Annot/A 16744 0 R/Subtype/Link/Rect[375 569 391 578]/Border[0 0 0]/H/N>> -endobj - -14271 0 obj -<>/P 8524 0 R/Type/Annot/A 16699 0 R/Subtype/Link/Rect[392 569 406 577]/Border[0 0 0]/H/N>> -endobj - -14272 0 obj -<>/P 8524 0 R/Type/Annot/A 16671 0 R/Subtype/Link/Rect[408 569 420 577]/Border[0 0 0]/H/N>> -endobj - -14273 0 obj -<>/P 8524 0 R/Type/Annot/A 16648 0 R/Subtype/Link/Rect[397 559 409 567]/Border[0 0 0]/H/N>> -endobj - -14274 0 obj -<>/P 8524 0 R/Type/Annot/A 16629 0 R/Subtype/Link/Rect[458 549 474 558]/Border[0 0 0]/H/N>> -endobj - -14275 0 obj -<>/P 8524 0 R/Type/Annot/A 16591 0 R/Subtype/Link/Rect[475 549 489 557]/Border[0 0 0]/H/N>> -endobj - -14276 0 obj -<>/P 8524 0 R/Type/Annot/A 16566 0 R/Subtype/Link/Rect[491 549 505 557]/Border[0 0 0]/H/N>> -endobj - -14277 0 obj -<>/P 8524 0 R/Type/Annot/A 16529 0 R/Subtype/Link/Rect[359 539 373 547]/Border[0 0 0]/H/N>> -endobj - -14278 0 obj -<>/P 8524 0 R/Type/Annot/A 16504 0 R/Subtype/Link/Rect[375 539 389 547]/Border[0 0 0]/H/N>> -endobj - -14279 0 obj -<>/P 8524 0 R/Type/Annot/A 16468 0 R/Subtype/Link/Rect[391 539 405 547]/Border[0 0 0]/H/N>> -endobj - -14280 0 obj -<>/P 8524 0 R/Type/Annot/A 44843 0 R/Subtype/Link/Rect[407 539 421 547]/Border[0 0 0]/H/N>> -endobj - -14281 0 obj -<>/P 8524 0 R/Type/Annot/A 44804 0 R/Subtype/Link/Rect[423 539 435 547]/Border[0 0 0]/H/N>> -endobj - -14282 0 obj -<>/P 8524 0 R/Type/Annot/A 44766 0 R/Subtype/Link/Rect[397 529 409 537]/Border[0 0 0]/H/N>> -endobj - -14283 0 obj -<>/P 8524 0 R/Type/Annot/A 44715 0 R/Subtype/Link/Rect[443 519 460 528]/Border[0 0 0]/H/N>> -endobj - -14284 0 obj -<>/P 8524 0 R/Type/Annot/A 44695 0 R/Subtype/Link/Rect[460 519 474 527]/Border[0 0 0]/H/N>> -endobj - -14285 0 obj -<>/P 8524 0 R/Type/Annot/A 15050 0 R/Subtype/Link/Rect[476 519 493 528]/Border[0 0 0]/H/N>> -endobj - -14286 0 obj -<>/P 8524 0 R/Type/Annot/A 44646 0 R/Subtype/Link/Rect[494 519 508 527]/Border[0 0 0]/H/N>> -endobj - -14287 0 obj -<>/P 8524 0 R/Type/Annot/A 44587 0 R/Subtype/Link/Rect[359 509 373 517]/Border[0 0 0]/H/N>> -endobj - -14288 0 obj -<>/P 8524 0 R/Type/Annot/A 44565 0 R/Subtype/Link/Rect[375 509 389 517]/Border[0 0 0]/H/N>> -endobj - -14289 0 obj -<>/P 8524 0 R/Type/Annot/A 14526 0 R/Subtype/Link/Rect[391 509 405 517]/Border[0 0 0]/H/N>> -endobj - -14290 0 obj -<>/P 8524 0 R/Type/Annot/A 43509 0 R/Subtype/Link/Rect[407 509 423 518]/Border[0 0 0]/H/N>> -endobj - -14291 0 obj -<>/P 8524 0 R/Type/Annot/A 14416 0 R/Subtype/Link/Rect[424 509 438 517]/Border[0 0 0]/H/N>> -endobj - -14292 0 obj -<>/P 8524 0 R/Type/Annot/A 44411 0 R/Subtype/Link/Rect[440 509 454 517]/Border[0 0 0]/H/N>> -endobj - -14293 0 obj -<>/P 8524 0 R/Type/Annot/A 44369 0 R/Subtype/Link/Rect[456 509 470 517]/Border[0 0 0]/H/N>> -endobj - -14294 0 obj -<>/P 8524 0 R/Type/Annot/A 44344 0 R/Subtype/Link/Rect[472 509 486 517]/Border[0 0 0]/H/N>> -endobj - -14295 0 obj -<>/P 8524 0 R/Type/Annot/A 44302 0 R/Subtype/Link/Rect[488 509 502 517]/Border[0 0 0]/H/N>> -endobj - -14296 0 obj -<>/P 8524 0 R/Type/Annot/A 44257 0 R/Subtype/Link/Rect[504 509 518 517]/Border[0 0 0]/H/N>> -endobj - -14297 0 obj -<>/P 8524 0 R/Type/Annot/A 43197 0 R/Subtype/Link/Rect[359 499 373 507]/Border[0 0 0]/H/N>> -endobj - -14298 0 obj -<>/P 8524 0 R/Type/Annot/A 44185 0 R/Subtype/Link/Rect[375 499 387 507]/Border[0 0 0]/H/N>> -endobj - -14299 0 obj -<>/P 8524 0 R/Type/Annot/A 44164 0 R/Subtype/Link/Rect[397 489 409 497]/Border[0 0 0]/H/N>> -endobj - -14300 0 obj -<>/P 8524 0 R/Type/Annot/A 44120 0 R/Subtype/Link/Rect[487 479 499 487]/Border[0 0 0]/H/N>> -endobj - -14301 0 obj -<>/P 8524 0 R/Type/Annot/A 44094 0 R/Subtype/Link/Rect[487 469 499 477]/Border[0 0 0]/H/N>> -endobj - -14302 0 obj -<>/P 8524 0 R/Type/Annot/A 44055 0 R/Subtype/Link/Rect[359 449 373 457]/Border[0 0 0]/H/N>> -endobj - -14303 0 obj -<>/P 8524 0 R/Type/Annot/A 44017 0 R/Subtype/Link/Rect[375 449 387 457]/Border[0 0 0]/H/N>> -endobj - -14304 0 obj -<>/P 8524 0 R/Type/Annot/A 43979 0 R/Subtype/Link/Rect[443 439 460 448]/Border[0 0 0]/H/N>> -endobj - -14305 0 obj -<>/P 8524 0 R/Type/Annot/A 43958 0 R/Subtype/Link/Rect[460 439 474 447]/Border[0 0 0]/H/N>> -endobj - -14306 0 obj -<>/P 8524 0 R/Type/Annot/A 43913 0 R/Subtype/Link/Rect[476 439 488 447]/Border[0 0 0]/H/N>> -endobj - -14307 0 obj -<>/P 8524 0 R/Type/Annot/A 43873 0 R/Subtype/Link/Rect[397 429 409 437]/Border[0 0 0]/H/N>> -endobj - -14308 0 obj -<>/P 8524 0 R/Type/Annot/A 43839 0 R/Subtype/Link/Rect[438 419 452 427]/Border[0 0 0]/H/N>> -endobj - -14309 0 obj -<>/P 8524 0 R/Type/Annot/A 43805 0 R/Subtype/Link/Rect[454 419 466 427]/Border[0 0 0]/H/N>> -endobj - -14310 0 obj -<>/P 8524 0 R/Type/Annot/A 43765 0 R/Subtype/Link/Rect[397 409 409 417]/Border[0 0 0]/H/N>> -endobj - -14311 0 obj -<>/P 8524 0 R/Type/Annot/A 43721 0 R/Subtype/Link/Rect[434 399 448 407]/Border[0 0 0]/H/N>> -endobj - -14312 0 obj -<>/P 8524 0 R/Type/Annot/A 43696 0 R/Subtype/Link/Rect[450 399 464 407]/Border[0 0 0]/H/N>> -endobj - -14313 0 obj -<>/P 8524 0 R/Type/Annot/A 42592 0 R/Subtype/Link/Rect[466 399 482 408]/Border[0 0 0]/H/N>> -endobj - -14314 0 obj -<>/P 8524 0 R/Type/Annot/A 43611 0 R/Subtype/Link/Rect[483 399 497 407]/Border[0 0 0]/H/N>> -endobj - -14315 0 obj -<>/P 8524 0 R/Type/Annot/A 42530 0 R/Subtype/Link/Rect[359 389 375 398]/Border[0 0 0]/H/N>> -endobj - -14316 0 obj -<>/P 8524 0 R/Type/Annot/A 43532 0 R/Subtype/Link/Rect[376 389 390 397]/Border[0 0 0]/H/N>> -endobj - -14317 0 obj -<>/P 8524 0 R/Type/Annot/A 43512 0 R/Subtype/Link/Rect[392 389 406 397]/Border[0 0 0]/H/N>> -endobj - -14318 0 obj -<>/P 8524 0 R/Type/Annot/A 43463 0 R/Subtype/Link/Rect[408 389 425 398]/Border[0 0 0]/H/N>> -endobj - -14319 0 obj -<>/P 8524 0 R/Type/Annot/A 43437 0 R/Subtype/Link/Rect[425 389 437 397]/Border[0 0 0]/H/N>> -endobj - -14320 0 obj -<>/P 8524 0 R/Type/Annot/A 43388 0 R/Subtype/Link/Rect[397 379 409 387]/Border[0 0 0]/H/N>> -endobj - -14321 0 obj -<>/P 8524 0 R/Type/Annot/A 43350 0 R/Subtype/Link/Rect[467 369 484 378]/Border[0 0 0]/H/N>> -endobj - -14322 0 obj -<>/P 8524 0 R/Type/Annot/A 43302 0 R/Subtype/Link/Rect[484 369 496 377]/Border[0 0 0]/H/N>> -endobj - -14323 0 obj -<>/P 8524 0 R/Type/Annot/A 43263 0 R/Subtype/Link/Rect[397 359 409 367]/Border[0 0 0]/H/N>> -endobj - -14324 0 obj -<>/P 8524 0 R/Type/Annot/A 43221 0 R/Subtype/Link/Rect[423 349 431 357]/Border[0 0 0]/H/N>> -endobj - -14325 0 obj -<>/P 8524 0 R/Type/Annot/A 43175 0 R/Subtype/Link/Rect[434 339 450 348]/Border[0 0 0]/H/N>> -endobj - -14326 0 obj -<>/P 8524 0 R/Type/Annot/A 43146 0 R/Subtype/Link/Rect[451 339 465 347]/Border[0 0 0]/H/N>> -endobj - -14327 0 obj -<>/P 8524 0 R/Type/Annot/A 43111 0 R/Subtype/Link/Rect[467 339 484 348]/Border[0 0 0]/H/N>> -endobj - -14328 0 obj -<>/P 8524 0 R/Type/Annot/A 43086 0 R/Subtype/Link/Rect[484 339 498 347]/Border[0 0 0]/H/N>> -endobj - -14329 0 obj -<>/P 8524 0 R/Type/Annot/A 43012 0 R/Subtype/Link/Rect[500 339 514 347]/Border[0 0 0]/H/N>> -endobj - -14330 0 obj -<>/P 8524 0 R/Type/Annot/A 42988 0 R/Subtype/Link/Rect[359 329 373 338]/Border[0 0 0]/H/N>> -endobj - -14331 0 obj -<>/P 8524 0 R/Type/Annot/A 42952 0 R/Subtype/Link/Rect[375 329 387 338]/Border[0 0 0]/H/N>> -endobj - -14332 0 obj -<>/P 8524 0 R/Type/Annot/A 42923 0 R/Subtype/Link/Rect[397 319 409 328]/Border[0 0 0]/H/N>> -endobj - -14333 0 obj -<>/P 8524 0 R/Type/Annot/A 42878 0 R/Subtype/Link/Rect[462 309 479 318]/Border[0 0 0]/H/N>> -endobj - -14334 0 obj -<>/P 8524 0 R/Type/Annot/A 42853 0 R/Subtype/Link/Rect[480 309 494 318]/Border[0 0 0]/H/N>> -endobj - -14335 0 obj -<>/P 8524 0 R/Type/Annot/A 42809 0 R/Subtype/Link/Rect[496 309 508 318]/Border[0 0 0]/H/N>> -endobj - -14336 0 obj -<>/P 8524 0 R/Type/Annot/A 16057 0 R/Subtype/Link/Rect[397 299 409 308]/Border[0 0 0]/H/N>> -endobj - -14337 0 obj -<>/P 8524 0 R/Type/Annot/A 42741 0 R/Subtype/Link/Rect[462 289 479 298]/Border[0 0 0]/H/N>> -endobj - -14338 0 obj -<>/P 8524 0 R/Type/Annot/A 42694 0 R/Subtype/Link/Rect[480 289 492 298]/Border[0 0 0]/H/N>> -endobj - -14339 0 obj -<>/P 8524 0 R/Type/Annot/A 15591 0 R/Subtype/Link/Rect[397 279 409 288]/Border[0 0 0]/H/N>> -endobj - -14340 0 obj -<>/P 8524 0 R/Type/Annot/A 15485 0 R/Subtype/Link/Rect[453 269 467 278]/Border[0 0 0]/H/N>> -endobj - -14341 0 obj -<>/P 8524 0 R/Type/Annot/A 15423 0 R/Subtype/Link/Rect[469 269 481 278]/Border[0 0 0]/H/N>> -endobj - -14342 0 obj -<>/P 8524 0 R/Type/Annot/A 16110 0 R/Subtype/Link/Rect[442 259 454 268]/Border[0 0 0]/H/N>> -endobj - -14343 0 obj -<>/P 8524 0 R/Type/Annot/A 14962 0 R/Subtype/Link/Rect[434 249 446 258]/Border[0 0 0]/H/N>> -endobj - -14344 0 obj -<>/P 8524 0 R/Type/Annot/A 14752 0 R/Subtype/Link/Rect[397 239 409 248]/Border[0 0 0]/H/N>> -endobj - -14345 0 obj -<>/P 8524 0 R/Type/Annot/A 14539 0 R/Subtype/Link/Rect[496 229 510 238]/Border[0 0 0]/H/N>> -endobj - -14346 0 obj -<>/P 8524 0 R/Type/Annot/A 14492 0 R/Subtype/Link/Rect[359 219 371 228]/Border[0 0 0]/H/N>> -endobj - -14347 0 obj -<>/P 8524 0 R/Type/Annot/A 14426 0 R/Subtype/Link/Rect[397 209 409 218]/Border[0 0 0]/H/N>> -endobj - -14348 0 obj -<>/P 8524 0 R/Type/Annot/A 14384 0 R/Subtype/Link/Rect[359 189 371 198]/Border[0 0 0]/H/N>> -endobj - -14349 0 obj -<>/P 8524 0 R/Type/Annot/A 14355 0 R/Subtype/Link/Rect[397 179 409 188]/Border[0 0 0]/H/N>> -endobj - -14350 0 obj -<>/P 8524 0 R/Type/Annot/A 42243 0 R/Subtype/Link/Rect[506 169 518 178]/Border[0 0 0]/H/N>> -endobj - -14351 0 obj -<>/P 8524 0 R/Type/Annot/A 42214 0 R/Subtype/Link/Rect[397 159 409 168]/Border[0 0 0]/H/N>> -endobj - -14352 0 obj -<>/P 8524 0 R/Type/Annot/A 42160 0 R/Subtype/Link/Rect[496 149 508 158]/Border[0 0 0]/H/N>> -endobj - -14353 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14354 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14355 0 obj -<> -endobj - -14356 0 obj -<> -endobj - -14357 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14358 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14359 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14360 0 obj -<> -stream -HWko8_~٢@vNx1$EJ-e-y_%˗mCCسgo/^=eHh.,KRx&Y)J+Y%K$XŢMUͦU۲U+_%F/R|RL]daYfaL'-Qdc)#&~Wv+[4>\kٵ7S_+xʝ"z%02~W[X/=2O|LؚEVe\0pbwDבM1dž8"Q cN1` X)څc XP/P/PPPPP)> ԧ4P@}F> p$\1`ŘcJµs,B}ZIc"\1"k1Xp-ƶ"\1 -c Xk1Xz9Vc"\1"Uk1Xp-ƀEcE\ḇkZp-PVŘc*µZ9>p"\1"Uk14Z9Vc"\1 -c̱BZ9>p&\1"Մk1,µs,B}ZMcE\ b Xk1Xp-PVḇk5Z9>p&\mŘc1,µsP=+ToV5W2X.ly/U:ói++^Yg[igb]YSg|c8?ƇWpZ-VPmuEMCtŮmW6PTIUO'!ds5o] ax\qtjjRaEXCA2g> \PPV`ǚk9:e .wFXψSYW+EL3#sȁM_3$ -,sXثa-s+9 q 4<X:`\2X@Άzz"o)Giv]j\` -Rh{d j`x_ޗC~Cpi){L=,^ !qHx1kBf{ g)~ OگJxpqjlzxg]Z77[0L>=~szIDU.F(}k=<m8#q }4ۦʭr]@IK:^ __t56^*ӊMۜ -y߬ZĪ -*|YȤV&;aP( F<̗Dՠ\iUwĐ ~3ca砄,S4.rzq܏ <>]0/:hhkHpS4&Wݬ5aM=PEd<^U7qm\@ԓZ){Jm(f&/TvݷMx(Yl?~,P,u<M g8s[dmM*i -5vB\5G9N*}^ęE.y,b ]c$"hjMѢ2RRKَjIf?KR8Fŏezy7ۭ8Vm{$C:%[,s*GO(j{H:2F,sUTSPJ~8M0yĨh-WIR᲌ک~x3f;e|/ܕs-8 {-,G~PELUt171'8EK샬JS:7@ ܰ+ʍ~W:ؕlRy?W|x{erR* $&ك2+  9w<6r>=yv;C(6DovJXkNУ 8QljvKѧly k>͠wn.>_߿a };%En-mn)y $ 9VPy{zygF=UeeV&v>$)9FhXEvEUMխ8%<9~7m&QzQC`뇌ět"q\3U! * L ?zf$;tC2b)(n_`nQF)ԮjRDi&HطZ0\׹~ EV8cfJ#tz# >} S ]ZKqݷ î -endstream -endobj - -14361 0 obj -<>/P 1223 0 R/Type/Annot/A 16698 0 R/Subtype/Link/Rect[93.6001968 663.229004 241.884003 682.908997]/Border[0 0 0]/H/N>> -endobj - -14362 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14363 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14364 0 obj -<> -endobj - -14365 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14366 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14367 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14368 0 obj -<> -stream -HWk6_~3G7I") /$(+%ג;{(2y'-Ec!\^޾={痯_=Dh.JJLx&Y)n$;?IRvVݵzocb:d]b.o $%IYJinޮmՍ4B.>.Ldeܤ/]-?ˁMq112~"0%{`"e?07c,)UƥI_}RSƜ2TECV.Ā%D -0dj"bzzWzWzWzׄzׄz7z7z7zY>#gPGsB} y P_DKB}/ ga'pm!+Vb"\bȊՇb!,µ!,B}ZI6ĐE\+ ׆׆k%C>r$\b"\b"GkC Yȵpmpm!PV 1d#Jµ!OCV>ĀE6Đ1dC XkC Yȵpm!PV 1` 1d#*µ!,B}ZE6ĀE6ĐE\׆kC>r"\b"GUkClhµ!X}pm!+VbȊՇ׆k5C>r&\b"\b"GՄkC Yȵpmpm!PV 1d#jµ!,µ!,B}ZM6ĐE\ ׆>1kC YCV>Đ/yY߬'/R`M"xeYɖnv&S~ku_utVtٯ8۹fu|\{-WOSc|ą4 e01Qg]}EƾzZ}שkڴ d6]YrS&w# <_~3?q{;6ۓ~S@]5n.n|?Xú h\qW:wPihWXتvʳ:Vtv8JV[?kjԾt9OuNSYPSUjS8 K[R XJ\kB]'V3ڳSW7b|! -0 <DxQƳ0";vޮ5Vn!A0REzN$3sԬ0pŏ_Ts,٩~ͷϱoC".u[^$Ef}'?¤2[slU\fعr bӱ龃1NSŬߞ3sLtn!nIm~6N`D!y;(#& ?l2&swx$J;$7͜bg}Ί#YֺIyZz0,Eh3EV3rAlM̻󓔋Vз EYgJ" -[pA1oޞ,1Z9 Y?mn !ioo*\Ңt~|2$0[b2۸CPȂ!Ŷj z܊f0ZՊ -#WĹàvuՍIt|c0%^ '*`sK=5$H R++e? ;_ /(09-c}_7p`E2W/W^_+BN*,`  -N>G\%<( -#Pchw nܵ/\G6y:&Z4ѨѠ5E}KamQr6nC_RڟGnӮv_‡&lBǮQi7sN"t8uen;#s 3M[B,8 >ػ_ -wՍ6 8C.@'½`u۝؏]`ίhrh}z?0ps:KOdx?f%b(LtSszuצQChJHuIS [?t0eN\*N'iꡐna] NS3.G(Yơ^-E2lؖ T\;q̽y0E~9<!\I!C3F}t4 5.E4AD*ui k rLXwM?06 4(hsNcn64> 9/b֙^>QIl]*qIolJ9~HVU D>:+_xlC[6@2[6,yCJ4'p3|3Va:و<DHnJvtk i-@kcRrBQh.*/~ -//$  5(S,L39n ҅qs,O6ӊHM%!XVք1)֢afqUZ-CN]"c]>.9TSc@Cp4FU4E/JJ ڀ @%}i\Dh\vMGAKآOֆ)iYzS9@{l1|~K`~Xu8{Ƃuz+Op#x";?9Q"20Du-`wrƾ=˿=ծrTqv9__- $xofjrwOqLQL΀#k٤ ?l&1 ϯ]i:tR0ꄒ/DЮL*21hmOAy&'ZaUњ* 0RO -B!(r8Ry^}r|O+L7}?"{0oŭWʍH],83Iio}8lŐv6TJQ&K*G[rWg)F,vB%ŬLGHLFi§aUJ"Tԓۇ -Eᚊ+g4֏x"Ybl1Q_I_J,4Qiӭ^m//vIALWyLaeT"ocOd!+ _Oz4fRQaT*5:Dh:g}Gbڰ؃mݿ=|F X6ӧun_e*ė媿3qtYϛѯ8jkr'j #QjMxx-)ik". -cgc3uӻߦn19ʍUD~9+iu9y>?Yo*l`ܬ σ u%49D` M #3Zt(TWkcwo\O҄endstream -endobj - -14369 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14370 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14371 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14372 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14373 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14374 0 obj -<> -stream -HtWs_Gv _o:W7x%f]\`}Ed{~O7_PaLQIt~w'pN薮sIVy_>wRmY˾- -{n;b휯ÿG'E7sE$8$Hu|Uz1/0FЏ4y߿eZsv?hӳA}澸a\kn\'P@v{'LNfs2"L Xah Y2-ĀRR R R R/R/R#K}D,>DŽRcK}BO, >'RSK}JO->gz˳!aZFĐe71`51dM YzZCr-#\kb"[ekM XkM Yz˵p!Po51`51d-2µ&,BZFĀEĐE\ךkZNĐe71`51dM YzZCr-'\kb"[kM XkM Yz˵p!Po51`51d-rµ&,BZNĀEĐE\ ךk9ZAĐe71`51dM YzZCr \kb"[kM XkM Yz˵p!PoV51`51d- -µ&,BZAĀEĐE\+ךkZp!Vob"\kbȲ՛lepڹX;/ G2?v8s׵jmSY6>{2wWoǦ|\}]XH?ޣ4Lc?x)d7 )!w:zQY]M-5>[C ܇I\'A{zY7Q Ųesnn -eL%z* `g^l0j V tZΦn0 rS'[eST:Hb#<48ɞL,Z(S=Ξcȗy^9TEe~ T]wM߁jԡg:FG*݈>m[B}0PNo=4Jjdݨ7)(Sd/I -7ʴie;KR05_ѵ80'|8j,7g^ȧ}T߇Fx^3R8J -V,ZR `7dג)$7y' ce1~7|Se5TYlM1z8lоOY=h cBcGVu~ ލYxƁ’i'==."}-s'kX!,EqhU{]60K=]H{" bwy}6nJ"z*;UvފfSE -O8t.Q [3wޠH.N;)58Ƚy̿uD40 сwhֵ2Л|, -qVOQ ܄ :YY*;08Z-浔+Qz`s5LwvOeq(,^j8kPê[mD~W:0+|yQ8>V ̃]gl7Y1~_:{9^%eM/Eϕ>å=-lZPS[oM[>/vw6‰,'zR*Yr -}p+ͷq:Twj2J)ڦ-U˒ǒ灋69 Q}| _$$a"n]vpk-xo$F7S/rŐ"/_q0sdFmVțrFf5gi+vbC.L3d*rIZ9|v1l~VZju-:Iu3FKZwb \p>^Tuxϐ;|A}*b{1f/6&)w-?ذI#CU)x*+y1HzSz|+egP9D<`yn}zf[faͻ-2? -B腹Za=8Ǿ?8}W=6}C>HUi+]/X" -KK.OF7U842@9hbCwy2{麄vIy g/`Zc(AOefסK( ޲U9gQiT.)O/VtHAab`a6ߖr]d[ MTNmjG-.SO< -nh;Ev5([9 ,*ЉTڿxtNEƸߑ_GN tpjzM] -Ƶ7~sw4%3,۔ #r#!ہrZD2njjEsgğ4VGP +5 %K,\9@g ,ԏ> nhofkӍF0cRU6Nlʭk.JS 2*P^3j:eJVWb[Ӏfv}E82?H:|vű|q7|f4*M<$XY8D:N1E"ɡj`DP5snQ_rm6pm K $֦ 'nݏ A<8yip`"b:b_ZcUc$Tب>֛xSHo~uo,{endstream -endobj - -14375 0 obj -<>/P 363 0 R/Type/Annot/A 43029 0 R/Subtype/Link/Rect[411.214996 271.309998 509.716003 286.290009]/Border[0 0 0]/H/N>> -endobj - -14376 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14377 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14378 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14379 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14380 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14381 0 obj -<> -stream -H[X+hBrRJ\!vRT9;vb{"ɪu>/k|fWv=zJ/^^FE%ګq*+mU6ɌjR)ҪQ?ro֗mVmm/o^TѬҪ|8H򁩊T*Km.ڴ}/7ݺY?'&KfۿMt6}^|ޜIQv ~*Jiu -KdNկ!Fky'& തU䋉F>/=ytjk䒇Zpi-]L#W\<2<ׂˀF7 -HoEz [ނVw HD D D DEE/D/D/D/E/Ez{ރbf5Z"k\`jF.k\`jF.^LS5rbj ZZ Skr\ Zkk0\#H/րZp@z1L-ҋ5`j,ZKZpdzKZp@z1L-ҋ`j\`jF.^LS5rbj-ZZ Skr\ Z kkZ0\#H/ւ*r`jF.kkF.kk:0\#H/ցZp@z1L-ҋu`j\`jF.^LS5rbjZZ Sr\ Zk(S5r\ .0\#L5r^ imd> 'UE9J'L,a'0LcKLa¡ǦYծn֭׫:9Ƕe,`EX36N){O\GfX]|{W'Q*dg#ˑf/iF7&?YN릭g;mtI֯)`Gv{Iٯg#߶>ٍOr6݂wNm4_|zsZa6>3s?VlW/ӝ>NO+:]hc̖e϶?-miahv?-5-;eރ#xxe@e03[j썫zWy[MWU]m7v:ȇ+P ZD.NǞy\.u}Ӭ'y@>~hy>N6-F?NSϪ[,|>O!Y&齧Vt)~yP}B"`$᛬C#o-z}T7;D0I L/Ş]<!L`")(MMOE.<=L1UVfWgE_s1&{=!;dȏp߬8&wbE\S(Ά-88J%`cDbkm.\xt&V-6ojs4,]'?;})j Ɏnfu 6}hɠuylnmlԅ'ӑhMl;R`Mo)k@7[J-pQp0aQR -CSlr!雤ts b (9cI1dnrs1Zpg.HIWU&vwaa+hlx춛ͲY>]fݽo֋u>폫__]uonæHyom{w+Zz܄=#.}fpM`.slwEOcly©B$SIYڕmpz8ӂ8Gi|3wm5|Ͼ0`FS@nJmoū}b0kb')(8Ǎ„&&ZtòuYe -0q&Qir+,+jGJݕI%2gi@9QgCxeE5Gټf2ia?'Af0<@;|7 ıWoީl1fЉGAn FVɇ5?؈G)k4\= h7>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14383 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14384 0 obj -<> -endobj - -14385 0 obj -<> -endobj - -14386 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14387 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14388 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14389 0 obj -<> -stream -HWms6_ܘ NgjIڱk)MLi$*4o!I7Y>봪O?_"ɫS%"cᇜD%'U} +Gx7"oi(bU8yx'sxℑ@J$1/`ty ]g v2+WbCGGa<9}Ju^M?߶.QhFgs9 -̖p79N%3yKn?RrOD>pϥD›y1I, 6r6@1,BIesg%oaa/a/a/a }a/a/a/!>t؇a!#}>ra#c}O ,CDkۖGTkeoֶ)޶)޶ -QmS(Zֶ)Q-GTkֶ)Q-GTk -a猪#mBTk -a猪#m -wT6@!m -wT6B;jmjmBm6r6r6@!m -wT+6B;jm6B;jmB! -D PjmB! -DMjZ(DMjZۦP{GQm[zZۦP.{(DM\M\ PjmB!jmB!jm6B; 6B; 6@!m -wT m -wT mBTk -a6@Tk -a6@TkۖDTkeoֶ)޶)~0iق$IB?;{s xk -NBқ"i׷="L^囬*uQG!|vEN<Ϻw -!}^$ͶG}7?!w ?umBnrr3WKbuFZ7uw<ʏam-Ubne0q=U$AJ81jI rNPyX^ *x N!,IP)iiRzqMZ(wRp֍Dө4:pXtG*\F l&xy5emnO@e{O6᧢Ȁ!HU^sVНDĩYwh86՛Gi_ޝ]u}H7dQ|)V tM{1X]@.)h'}_/^ IΞcɦN )HT,{[Q>HQu -{z)(k@*9 =vRff*Hh IQA3$WD j3(F9;-B/wOmKDaC1+[E<6<Ծ،31rȁgئ`hXe^L,_7[ĺA3Ny30w8+kR?iiS}Y9CGq-&jǍ"j(mrtZA[*0A= = 8dhP-RoEXmj{@mY"cf(" ב#%Aƕ8Oݞ{}_(-v_Ͷ||*քw KQƾo.)Ivnqڢ4/vQ5'c^k8glBwBu4@!ØXe\PW>נ탅:Bswp # Ѣ!DҞ:n 1b\cd/O k~KɷAPU}vA/>5 y n o`~dp]$V`u2핵ha3̖ $nvЎUJQb`(ۏdQnދ{/[!.> }->k,OUZ* Ywnr}slC_]cz~91EmR(7;{G.ZX}K=Y.ѤIи+ӣfOl({22{੷:Nr߁|)+2ɾy꠽->иUʡ,Z؆t9^1cܠZ3#CMA{`cSK>Z9;6$~o-t FV4xs~vsٟ?Ϋ9m:C<}aM[0 pOw)M~}WvVN0z]=0\s`j[3&iz;7s_a-Βt '0T RXv(&&V4C_XqxeV=~/yY.x#;F\-6Nb ib X\GL_.-Ak3[06"X@'IPy%sm#!TN$t,uٮRfNn}q>cm ^fn8Q%Z,P7]LO <LQ Dhf)ԕi!<^-SHYtygIE6UWLoʄ -խ>Wm y]Uh.:h̖ԻӫV*J-8_ y{B)B*F0Ib=njP'@3T@)K,Ȧ(7_mp1׼* P&^<' -.J_75Hj̦FJF?V#D]6]t] G_j᎟p|T -"܂)ZYזANCE;)ŦqiD]w ɺ7@ɓ0cQ%Ot}z':I×>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14391 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14392 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14393 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14394 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14395 0 obj -<> -stream -HWM8W:lK9$ `9Ŗc+[%R\,':ʏb=ҟ~zio$R_ԖZ*-r-J:,ȴIC547c=t&UO^S2]dKLLd%nukTV z>{lN{twAe&Hg\WOC}=T+N2S9IPs*W>t&NBYW\b#Dm6@I QAQR Pa"a"a#a#a#ao"ao"ao#ao#ao#9> RbTKmbTKmbGUj Q HQ-Q-!aV16D1#*F(FԆ(}ZŨŰTR1ьj Q1{jZjCT̞6@16D1#jFԆ(}ZͨŨŰTRj5ZjZjC>RfTKmbGՌj Pj Q HQ-!aV3cbRb(FԆ=!*fOmbTKmbG5j Q HQ-Q-!a06D1#F(FԆ(}ZèŰTkRRj ZjC>RaTKm26D Pj Q1{jCT I3nuT]"TNit}LV_jQN^GrNs#r] XWm}}ZH2aJDnهҙݟp*ar|/t42p%>2p?CzWw~Ccih˄rZH8 96҈rq=?]zF"23OT106X9mo Q,~o,^ -hBy^:s-7o> s3Ss+5*vz?ۛܕ)Evo)K\Y#a}G'Lyngt=7Pi9λyy,H0\\jIIl11w2/V(Ys [mzy۬Ԛ$s~W%M\Ġe짠l[oU״,qs[mS x%ijհ@8#<]fH`1zۖ1gA 5*/9.Lӟ!oB-~<0RYp_ܵ=lK9k>ר۴ .‚KeIrh]3qpN|\iZλ~_]:ߚ>t}5>v"CuwNCUB[L4suNTB:Lߍ[rQ7?Gq`'cÞBPl\ -#bù|FmZ](:~N=ѣPjH=f5[s I L*8ma"g( -y D&l&T(:잽0/Mik{yXA]=R,[P#*^0@6>vN/pm0.*7dH:>-zmd<^7uXzӓ׶Sfjۧ'ts=oKun >Z+x!'xlyj_ Pdz>ंgkھjOSQkŐs%)k̿h@g*۴=EcBX\*793![3rM奁 = -N 喤}ñZ6d>> \PhoBPB67Kb]" \N EnbB5U)`JLeWkҨ0K؇*cZ.ZwPվi 5BΘE}Wk@c?՛Cq֍z#UCş=~[W-l4ͺVc\XMW׫ ~Xe)8W[Q5WKR[mup@ --`씐F.ȳyk `{Z+\Ԑ|sh`X&sv1",P9K+ v~ $ž-ZݴiH(PG,;}!EORphn^*YZ96hmOM/#xn&7x}˾-V{i Ca.~lZ"Xu4 K9bd6{b,Amޟf8R -Ys r^CObM#Jѓ= uE66)O*62GrQn.0cZuOfF<"~9H7k'WCD(s7M1v$:Adɀlq -ɮug˨lJW6+Vu{K sE誙$2]:YӭFp;r(E -w|)Z՞mȲt#^49'l<4zg'E ،ƤFhk^ݛ8W) UWЇ̣B}KkCW^7ɧ~k5l'Xc -nH;,o9yJ)-H Wjrx9BGOIllӒq:sd tAlD2Pᚖ[+7ו5&: :Z0'!K|DӇgվ PaIޏ:-JDv_^攸"Rd*mn/P_Y<7)iJ(T&Weǃ3)"ta "a^jp% -<}{ 3B#0x@ r0A(S7hf JèIGQ&y0iDA񘓈.(f#E0DQRO7ֹd޹yC:Lz݂ć=DtPN;d,4q[8ܠ@rn꯯_ǻaoj,!Ӫ{<  sV %"#2&-h]Fp]hX~VcS u}0cbg33/LH2ñ m(lxFIXqifα_8yFFXssj9w#&Ͽq̴~^'g[g,Dlft%>N$$`wPm8t=bI:LDs !*, -5J?z\L Lۧ0g3(9(4kOk64n =ԁy}/DzP#M¾v϶7'tܪ}>O}G?{oendstream -endobj - -14396 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14397 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14398 0 obj -<> -endobj - -14399 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14400 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14401 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14402 0 obj -<> -stream -HWkܶ_AXkŇ^mvF.5 gGSI"!:iQ\=$%y.ɛ~dW?^ xB$Q*X(;18XpFX}/F}f}V!x -nVdAĬ`ɲ8g& !V&qD|vav`WOEcgQo˯z#$gՠ^d&~MMe$`f/PU"d̿fx~>mXP4 Ev۠H\Ns -c\ Yp.,}!+!Xv}.,AzAzIzIzIzEWzEWPxB}O>%ԧPz3B}>#gP{sB}/ {i] ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d= -µ.,BZAŀEŐE\+׺kZZCs \b"{k] $ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%ZZCs$\b"{k] ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d=*µ.,BZEŀEŐE\׺kZZCs"\b"{Uk] µ.,_p!WbQQYnf?*jxlQ*Xl]>s=bFE ˶?6oQD)O>, zU`W<x[>^u7Hl,dXER%'[h˜Ehb%c%3Znlv4mNƅr**}mb3r4ѥv`;p4;+CtVTA ֻDN -6+t=|S,S(}Y/lphpmM]vP;jFײ 6tAДã!Ya? h'Z$i%Bݡ{èq hFe$܌ -6z$PWӖEjP9ڇg  o,i']vMY~UQK&Ii^TE|z[ !Dsm򏴛L&#.8V{cLm%F1b0vdm}2>/"2k2B" 8)N:o^c٠ko)EkVۏ[hj<)&3'K -cug>r~*ad=N"֔lSmق)2rǧN5B3,0Iiz|s2$r5edvʹ_01Xq -{ZȪ"䦬Zd+8d;Qjfg@9#owLǾ,T,/pY9g 8*DΒ4u#AUy8R$`d9^`GU`kKّaS^31,}J'IxF&0&>TUCa8nOOk'e002ݤs}zNK Eʼ+Ť15}S؄oHDp2k왼8>y)aWǓ\l Z& b\vKk;q";̃e_{Dl!>ؒJ,Kz7jq7H{ nԬ0LkLg\ ]Mwy_^9YJ >+;F0u=cOmц6{zsfZTyeePNU;uj۬eKϪMB[D -&$AmPpNf'΃݊[}3af*;@i>=''Ѐy#EkSeFYg8/q<7;-:/4;>/lV@UͨxeY9?o7yhǪ^:=Wxe== -Za)Tso6huw4 ƣ7G_ bq']GͅXWnCVP#es׃fՖ݆j~ŷW_ҮH"޼mu^&PÛ'ڹT<9<[^]pA1VXc -zWOF߆-m;m;Bs?HR0'lBg5 pފ }ͫH%ώo#?WMo0 WbIҹaCo^%ҤHt{ے%dHQ||l\ j.;y:^ΐ.,S[^I n1"`qкq7OMC ˸XҺMOn\i푾VZn62Ep(%ٴGny"_@ "c?B"pҡ,ۏ!yݓpSj ϙ|[|_. 0{K\endstream -endobj - -14403 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14404 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14405 0 obj -<> -endobj - -14406 0 obj -<> -endobj - -14407 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14408 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14409 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14410 0 obj -<> -stream -HWko_1@H g @ERH;0hJb*R1rH7Z,69rܫ˿|ywLW޼{;ˌ0j+Ě[e"#*]m|[o}-}U}]I&z.WF3VwQ dHj]->E[;|XHÑ %Ӯx/W_ #,5,alQK"Rqc$*\vYl!D+Ȥ`avE52sea%se D,dG -| Yv>,)C!,_x"ԫ@"ԫ@&@&@&@!ԛ@!ԛ@%@%@%@}L1>'$P@}BO)> ԧ4P@}F<+ 6Rk} YzZCVǐ1`1d*µ>,B}ZEǀEǐE\kZZC>p"\c"Uk} Xk} Yp!PVm B>,µ>P!+Tc"\c"Մk} Ypp!PV1djµ>,µ>,B}ZMǐE\ k5ZC>p&\c1d} Xk} YzCVǀEǐE\kk ZZC>p!\c"5k} Xk} Yp!P1`1dµ>,B}ZCǶ%\c -B>P}Ƴ,3Laެ˕L]$EC,3FWbSbr]=7UӖnX~e!lUqA i:,(k$4elnJZp!cu[/MQyo˶KLfVew]Vgxh6q2br;aˡȑY^::÷w֍ƍn{:c#OǕN'$\Q,17m-׏y>q٬X]ǯ&l(p -'}n#yӏ7կ0ߪa\tI-#q&Lr,ۯerNڅ *5[zQ/}0[DaB ;ap\95<{tT'*岛jWl뒽pr0f:KYծe']zg!-iVn KV㌋`.Op"<#1 .jdTzjMe|DdA7̟9%[#4`9cSYJ9&4MNgY8ddQeJ,_-Rpc+ - ~^Aj"L*a@be1WLY>6էp){<{̊,=lUh&8l:%e\ 9%^-:ŧjw跲/A]keDƮ<㱛\RTڙgZ A4[C& ݓw~[u~&3æX14Isa]I}ȡy6 ;Y԰E86Oś|-M')B×dy;qKL[6Ǽl ;7 S.nt p@[׼[*\tg -{&t-)zRlS -ל3>p\o]L-L"tx+TdG@?{%zi4uGgdt*{5~:~ [r62 aҶdk# ̉S.ށӂk23%ug*\)TM&(?,g45# d8V/ Py^NY>6aXYy\+R-ǷY)Y㌡>gKN oeӼhrtU0vQE/*r?,ܹSP&E.,ڽ12EDKڰ''u~;ֽmO2SߪtnyH-q[<@M1b PxidEDoywL4A4ZCa_VPǧ<BƗWӳKcI"!`1lw"R 2XkWqlaTtMxemʵwB,ΤDv;1!LQTJ@i&r-L=FG%uCB;)Fְ8em7G\endstream -endobj - -14411 0 obj -<>/P 1023 0 R/Type/Annot/A 37438 0 R/Subtype/Link/Rect[129.600006 447.450012 275.411987 467.128998]/Border[0 0 0]/H/N>> -endobj - -14412 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14413 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14414 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14415 0 obj -<> -stream -HWmo6_kQ7QMzW8@@pB^Y+ɷ~P=gH>31~9?ЙRWԔ*+dj ]%{JEH*X$Ot&;SW/aBL,nt3bYe 7 ;iǾm2M[Y+i#8)B$*K*W~4TImR )TbSU6DQQĆ(à(w!b(ɰ{ɰ{ŰW{ŰW{ŰW{Ͱ{Ͱ{ð7{ð7{ð7a_D } { { {/eľdؗa_E+}YD26D Pj Q1{jCT̞ŨŰT+Rj%ZjZjC>RdTKmbGj Pj Q HQ-!aV26@16D1#JFԆ(}ZɨD16D Pj Q1{jCT̞ŨŰTRjZjZjC>RbTKmbGUj Pj Q HQ-!aV16@16D1#*FԆ(}ZŨD36D Pj Q1{jCT̞ŨŰTRj5ZjZjC>RfTKmbGՌj Pj Q HQ-!aV36@16D1#jFԆ(}Zͨ06D Pj Q1{jCT̾ʪim6O:!G*+Ң}]^y|%]p,<;/x$c`8_}ڬDMW߹:_o!Jgeiʕa^q<#%t軑sظO+eO̯f -/A!L*UYivW0b-(&vF}\eVٍǛ ZwaNᝧ]X6Ǥ/j!3Pº fbdV+nƦ6x77h\LyMW撄:yRJ-O׹ ,$9/m+&V"0욉 6Ǔ?HePC03p[].v0^W)D ˆ F7 0)e;zs+i昞y9w)<{w IB2yU͐Iӭy9Qx \q4ax7n}fO\ME2T&pd\ﮃ3 @=9/T3UK^fgnh,ӝ;wʦ̩JM5兟ܒ\ 9 1m.TІ?>W LzA -2=DGeиn&ԡ$*Gc4ZJf]׿ERp768,d5%.YBnhc#bAZyqtQd*js"aޕ9Fi)&DQC~"E9eг(r/͊ +?jF& 5Fu66> P$s}8/vIkt ] h-Ժ3!uٳlSv9@'6]QӞc?ߟ}rC0I󣦻ouȸ -S7T$!?^bFN 1o6 ^Q!n<ͩ;[$:4|WqGc6SW*uuV|Ge.|1c -R@]${/XC례՘X[@6Hvcͺs݃'b)yUGҢC4wO#>ĘsD vr%77v?QQZ ٌx=l*8&TJ-<|BگG1]߽ܷ:HM^ rX׸a <Xj8& --WoߔәSCK8B*KCf<5NiPHIux)&]4%ܱ)\Kp,Cz{8)4B(Ax!^,1n ޕ7;ǡ4%\ 2r$xqqnUd '_tiW(;>%պWBAe2Q¿]D|-@<[[oMgVkںG.^MvQ~3RPsSběקqP@Nm(eBė|هGUX.{.U7tŷO]4bOEy7+2y^i!XиƜ?z:Xdl{.1 VI*4,bW| JN5l bomo1Xț~G`C_' -vu5[#|#lgA$]FqKS\[Am -29(_gWTq:V|u8)C m0vr}lvmvB;mI'RTf(> -endobj - -14417 0 obj -<> -endobj - -14418 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14419 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14420 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14421 0 obj -<> -stream -HWێܸ}WHz 8wq06 =-CYI=ק(Qj8)򰊧XWˏL(y槟L,%?D%"8#*NZAꀒew]S6mQ-r察8邟}>HaJRœ$ VWtٗ+6C?i,mY6yf\\h{i| (X b+ү9'07\}dGTD!W0MoPTǤQ\A˹6@1A)rg'cc/c/c/c/c/cccc!#}<1>c#c}O< >اc"=2D -8ZfP>{(D͠|͠| Pj]A!=rD͠j9Z(D͠j9ZfP{OQkZfP{OQk3(Zֵ -Qk3(ZֵS-GTڪ@ umwmBT g gֵS@T -aV umBT -aV umT+պ6@!umT+պ6B{j]պ6B{j]A!= -D -$ZfP>{(D͠|͠| Pj]A!=JD͠j%Z(D͠j%ZfP{OQkZfP{OQk3(Zֵ -Qk3(ZֵSDTڪ@!umwmBT g giJBbWOr˾ -v0:4Hd[W&gUOdN]?i^goKJC䴲sݝ{웲lfc]> zX4lsrZH8x^ uqLfyu]k\n^ e kPk4sʣAWxpuDdz}inڬ"g;GY”Ghv=3lt/CsIwF뎔u^9LǣD$td,i(R%X#o\t}9BNQkoA9 +N=1S"Μ lb8/Ō,;rQ,YGggIhE{0,ٰ!s\,N|ҷC_D'e˶<#?HqQ)2&Ϧu׭qNz߰Z7uVvϏJ0g8ZdyD'k"Fk c<6c U,V;10I{J*Jyߛ:ʣhs oۢC!zBPٺj7vp-1fON kfY=m,tvOn wl4%{,$5֪s*„@/í w n5R9W!KFpfbw>X -{~HS^V^WNcwjU\ȗQ/r(*r&q jiZ [B$շK U48UTNC̓t~ee6x(&NR1FZJ{` BG]5m@mgWRyx{ FB-p~bvK;0uW5XfŽ웖Tu^Um:aְp}f`ij - \ S;i(jVXQc*dpO8W0FN=MzNIs\4rrw6rlŴ3N;v\CY9>o{]_ -+oˮ(`1}_1aZ$^vXŏcY_:kДq7u롘ٲ޲6n'ΐɆ[(mTyľ4 ұ|ˉ wM#{CB|6p ,7͗|wb!(_r5+mtλYY30Cb$(I=<'!CERo>ǧp۷O)+v8qJpO ID$|P]lw퉔3b I+c["uS_Gx}{?*X|#\$45Xj>xt}sYÕz^g /[8l@Ny^5q@OVj-C0[U8%N 4g`QN h~a浞W 6̭j;=\pN 9rg+jϹsޅBx?|O8XԎώf;L04=d Y@O[H.itx4WftUR͋H;Ϣq)Huڶ2f@3oҝy;5P ӄ(uHb3+ 1I}2H ̓>/P 704 0 R/Type/Annot/A 14425 0 R/Subtype/Link/Rect[93.5999985 443.628998 240.406998 463.30899]/Border[0 0 0]/H/N>> -endobj - -14423 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14424 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14425 0 obj -<> -endobj - -14426 0 obj -<> -endobj - -14427 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14428 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14429 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14430 0 obj -<> -stream -HmoFW _ 8/|4 ФI ) MLŢ}%EٺlE#fUכ/_˗~|;!п.iLY4wkmĚ$_ok^ֻ4}^M>9sO^ɢ_N"$3D4eVz\>5}ۚ˳YZ7\?9 -RNmtwݼztl8ؽm~4G2{ve7uB4^n%>u|${s93W&H]NNYů$':\2Q3Q06 -SvR#ZM P2:Ԉr SHTz{ރ^ WHT>s>s>s KKK++>Q Y VjāS:ԈS+5tz1K(0Rc -WSJ)^MS+5J)^MS+5@z5LԈS+5@z5LԘ:0R# -LԘ:0Rc -WSJmx0RcJQ`jƔN/5tzVjLjj=Z1ҫ`jFZ1ҫ`jHփQ`jHփS ZVjDS ZVjLjj=ZmVjLR# -LԘƔN/5J)^MmS+5@z5LԈS+5@z5LԘ0R# -LԘ0Rc -WSJ(0Rc -WSJ)^MmS+MS:ԈS+5tz14LF=$dQXS_'6dz>-LQDSoٛWu3k(غtș}hwmgrOE3Zžv5ݶY\VmU7~la{ރ zX;˾Czf#b=^ڴۛjxոMw 9oI*T7mɭwwk?|1[qc9;atqvC7v{w둛mM:?M=#Vi=K0y M"ΚD`uH.gN#3dW?Sbĥ]_['57tvTK)zK)%5@Ɣi1 _ӟ\7WcHؕ~ 'UcVwMz{ƇS3y?|~1kѺ,7 •U5ƻ6ْQu|97/LFޯcmV,gg]w7)<Ž<6S*4P1C!`EFxf.oy8}!kyjOϝkm~-~mpj<{+إ -i\ΞlǪ|__9\.oWygFlc$;Jz|xiv@yRܺᙹu=7?Ç1XǻUlN{p˼>Kqmez\!;@+M=y -t1ßIfBc*JyW^Ay+W^9ʕW -UByT^%*W*UJyEW^QzL{I)%5,/r/{z/5SKށK)z@RwRc -x;{1TԘ^^jLi/z/5SKރK)zARRc -x{{1T=Ԙ^^jL/{z/5}SKjDK)z@RRc -x{1TԘ^^jL/z/5}SK>K)zK)%5@Ɣi1_/:YK0I5ȕqt&vc>X ߶7]ceݟWq x\]p'UYSϝGtMژvՏjd y:e.f2K}?Y2>f ]źdUy븲m n=ۛv/ }A]w|nCR(B Ucx/ܶ iƅ[δ%cXF$=L} aA"oOoUX\ZkK#(fHH0n^\hnss(Y*~*Y*4r1R ;"c p͕Ssm4AC_cUUO}(?4CW?8J >~ny\oe"{͍"yeD{ #&k`8*H3_L ?xdyb>m~wY'A:?Wa0ÄbJpJ F#(YH e犵i{>*OznR1y:HI!JBklbTsuN< Ӕ`171qz%`* -iOD=KN#Rilr.C̽YaF%VMnX C$nI\ cDA D({}͗wNoWYsӘUт&|CHmV/ -i'#ֲ8޲m'_m3x?ZhMp_沸ɖ&&RVM_uF+$癊PNe(dg~91cÖcÌ HJ> oc;VI?EEN$>hK#!ƶnj-7 ֧CZ?LZD*TԹe095ڙUgur͊H -zwiGοd~Q>?iWe!/5K?هS Dmgɒ*yu)nUZ^"z8ObwZ!6pXiH) --jD}c5yPE+x(.-w-R*M{feYH_Ru\e~BQgV@S@.u -D+nsIج,I@cnMe.8L Xhq%s%|EI zIADzZ 4 - _hE4$i[CPYaMuv FEӾ=fl6W>_{N]m -ذȩ|p%W=&>W_}CVht)=􅆸94Ϡ˜|YUi ?:=gNQ8LHm"ElXpt.^$Uiz=orrIO~qQӹsd)/ -(O`hՅu gczSa=Bd.HUOp7!;qbS#l g+{ra}9=m(Eo%P~ssAendstream -endobj - -14431 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14432 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14433 0 obj -<> -endobj - -14434 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14435 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14436 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14437 0 obj -<> -stream -Hm6Sjp|\yh\Rb7X8UΖTIdk=CEn1nW_0ׯ"(O W( I,΢I1rqSY}ܔu:_:~M&z9VN(/a$%)If|]_XUYʿ˧B/?bXObeq?S\Kjbi:lʚ׽5UYLY&=oĢo|u[?G -pFN_߷3#+2*eFi2 lߢTL3p&=ȍY:7>,ι/ލ%S/S/S/S/SSSSSS#cO}= >'S OAOAO}O=),GLƶ@\,wc@!ucջ1KPkݘkZ7f)DZ֍֍Y -QV ucB{kPkݘkZ7f)DZ֍֍Y -QV ucB{k6kݘ|n (ĵnRz7f)_ -qsD\,\+׺1׺1K!=JĵnRzϵq -qsD\,\+׺1׺1K!=JĵnRzϵqF -qލ֍YW,wc@!ucB{UkݘkZ7Z7f)DZ֍Y -QV!uc@!ucB{UkݘkZ7Z7f)DZ֍Y -QV!ucH#ucջ1׺1Kݘ|)MTw^Σ\N죆pҘ E^S$#Zn&;ΆTO{C~xdv`zt]6T4ÞdKMKT,FtEVM%?e.gm^,ڼ,H.]C5W*E鷨*+?%jvմu^܅3E泃rf#!4Mz_>]@KI C^ח\ÓKC -X2_lVY]cbYMK.pņ&U.K{~~=쬛,OrBVypJ)^I$a:*ǣ9gխ&4S2ɇ|!RRҭ B2AMw _&P\_h{*7SW|@o.-k+ [^-zTPUsJ&4nΠΗ_ Mүg&T`2O1۬ܵ1ͦ?D4sdx,Ʒ1{l^FC-Vd5:ڲnf̺\s{W41H/H)OA^e^k0=.ObnU( -|ʞUN$H4͖~rN՘9FƊ!Teb(zsFפt[},J#ӜJdDi2f'3ۓAv&5]=HkD=~ϻwUz 7J3?&JQ**PTvY$(NJb6>6SvC:%B~~cvx,qUEr/&2_垤nѳH%r?ȇ_?8 04zmx}o~o_Ï?vx ꕨ*ߑ\@S4̈>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14439 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14440 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14441 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14442 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14443 0 obj -<> -stream -H|WnH|W4f_AL/!3>3>3>s>s KK+Eg5(-v{yh-Lj%sX=< cEk h-Lj܋Zyh-Lj܋Z 5,Z 5#p/Zk@k9Y#p/Zk@k9F,^րrlYZKgrX=Lj%s̳@k9F,^ւrXhgrXh{Z Z1{Z Z1bcZ1bcEk-h-v{yh-Lj%sX=< cEkh-Lj܋:Zyh-Lj܋:Z u,Z u#p/Z@k9Y#p/Z@k9F,^ցrle#t1{ Wy^U[ ,倖Zh9Lhe@+Z9ʅVrUBh@Z%*V JUJhU@Z&Z# k@K - 2@-D =a-d -{ h{cXZ #7 %@9F,%ro@96N!kY{Kjq%roA9F Ah[{ D-=hDZ"c4-{ r1>Ƚ @Kނs -%roA9Fch`Z"c40-{r1Ƚ@Kށs^Ƚ-{r1z}Z"cD=h;{ыhg URUSwrEoriV˛ʿ'ʳ*(Ӧ]m֍h˯ʤW7M^M<-M{ N9~^mf}פUbk|Ĩ*lYzri4,7:&I7v߬_w~|wB׋zE`$roT:4LJC{K`tf2I'ş/g6TM[6oLל39kV,jt/f$٨_2JsO4e(@Nބ -ZNh9V2Lh@+Z9ʅV -UBh@Z%*V*UkM)cZZhiZFh%ro@96!KhslB<,rϱy YB c=/d -{_Zc=/d -{_Z ǿ%@96!KhslB<,rϱy YB c=/dq-rϱy YB c=/d -{_Z ǿ%@96!KhslB<,rϱy YB cVrϱy YB cw<eOOuRaz}84JۤWȆOIiR\9ڢ46?Tτ^evҸӊ"?>voF k'fS=~e_ ]UuM#㒩ʪJjDXhC]evlx n8mݱ?_ޟtOݱu̇%~nz$8 v1ދ.]OHJlI4maQ;?x\O[_SݾC:]=o29k}Kn'r M&usun2u`FV!3gij}[=_qhwmD=e^ٷ6-V͗f=|ܴ⮾?6CEǻxj/.O[j?6q/tRlz8<+M} '/Zvx/OVcNj|7S9vFҬۧ2l]1.\y( .5q=]SDg>5ۮo_wV?gS7$êζnf?}׷MbmUEɃv~:+kkߚ}{5<^7;yb 6\fC;qLNGn~l~LC'wϫOV:Wˎ6 ïUqQ̮.f6G M vz$ےcL%DRn-'\1xӐhJf?^1Wo/=OZ =PZ*1V]Y#ȬH3['g;j{nG4dh<\ŋ,N@wWq^I"FH!R"S(P+eV܅zp|`07c,8<A(ԥ%.Ci sY*;mHĸGЎ7DŽPܡ*hbv1Em߮=d"t`@rۥG\\wߥKIj7YպrvԿ\98y?8<:Jرv%K],n֢Y. T!샼g< 4%A98gs"7P{s(14<@rJm1 W!+/¼6n9nX/ex\:,FpTH]purke qQ#BTڨnǥNL!zrf/\5Yi~܁O@{(Qeu@n@ÔǟWӾL4-b!#Ɩ -}l˩|!eDD]Dn*y%Dx#59䘭d*9FwKI3C80,>UDHZƩD.}ߥhva"RN;h0mh]nv/M5H|sбɫr%H&I?.ԛJ3z |6Zlxy}zק?7O 0^endstream -endobj - -14444 0 obj -<>/P 1078 0 R/Type/Annot/A 44709 0 R/Subtype/Link/Rect[93.600502 447.967987 184.404999 467.647003]/Border[0 0 0]/H/N>> -endobj - -14445 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14446 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14447 0 obj -<> -endobj - -14448 0 obj -<> -endobj - -14449 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14450 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14451 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14452 0 obj -<> -stream -HWn8}WQ IJċ.`rفbݻmeԒGRo/j5Y`Q<$j%?ݼ_߾"D,+,. JO*3,~򸋣Ygnǩ;exnY0Go> Pdo{/q0ӗ,>Q͋I){ۨ>93| Yt><Y,I|y1`1B= 3B= sB=sB=sB= B BKB KB KB "P_@}I/% ԗ2P_@}E5ׄ9aZ;Fp!+Tc"\c -B>,µ>,B}ZFǐE\kZC>p-#\c"\c"ek} Ypp!P1d2µ>v8ZCVǀEǐ1d} Xk} Yp!P1`1drµ>,B}ZNǀEǐE\ k9ZZC>p-'\c"k} µ>Pp!+Tc -kZC>p \c"\c"k} Ypp!PV1d -µ>,µ>,B}ZAǐE\+1k} YzZCVǐӺE=Fo>Cx}3/dɓ)J,3QO -vMPo0δb?_= c@͸1ȸ9 -]gf:榯,T9@,[H^]6CkM5l9yx2`w;uZpahbclgiP&QZ6gPVuicpN齰v|rpS3{xp]j=o vMӉXSa/xa0/R.uK9nyʆfc!T/[sùUZ L?PLQAh߃ƝzZ\*)Z7!jمx__/0gYl'Oi^/ B'sO=NNg4D"z3vPəڔ̆gsr F-61tNJ29T qsnpuF`{M(7y̸E::3Vnz;cq3'=x܁&LR$a0r}Ervlgh`ώ2`MopӸk=>ن6!(2nہsşhO35]{㓾 -W_"؎=q8x] x=Dk")/FRr x^RYe V==B0;ͣ5,S׺Eſku? "]b -(6/"| 0疉1O~_¼IpLxi|ϝz]ڏ zw,Kb+yBl)OU)2!]Qҷaq^x9fmv吓Cg!Ks02yKmD#9HTe`ko 5ӼLld^6hwLb0*E>'4E%/ӋKfhJ+KCO΢F{7Mk)ybxeTo4QQ~?H/Vޚ0z{[zkѺU-lx1 'O?L,{{5E{K<njx5G3[Sߴxh,4G#%ҹ$3|xYQsDPS ?a7ӘӸd֡VP R0kѰ1snj ǠTP!d&ax [Wļ^m rsSX]Dp;1ᬦgh,̷mlnWvSx2z6gui)v -H?mW DRĆ=Kb-%`Pb ۅ-u {%ʦ=ÏvaUet7dzvՎ>/_蓟yzlZE'f"i'Ƨ>bÃo =gcs,bR|k8L7C?PFMi:3c&B&ōsZ^~OwDN iM6؟9[o|Vmj2q%U/UkLⲬ'7|N8M$Zo16/A9nCF}t&.Pkx}7EGjZ:[^R: <ي.+/yӎ=kQF1ZFSMCD9.e[ckŒ늞bρDA0јF,Kw4HSb8d 4Z7F0=ό&[= _ -¡نUimmJ蜞Eګ&C'?Ys::>Ch8cnѱ%+(&"28b];':-<!-=7f&1,t3?c私/h٨97 wh*,2ΐnq0fyRZh9倖SZ9ʕVrUBi@PZ%*V JUJiU@RZhy偖Z&Zc֒2) heJ- R7cR7cR7cR[g,{|/1bKY@KKY@KKY@KKYZKbĈ|/1f-{|/1f-{|/1f-{|/1f-{|/1f-{|/1f-{|/1f-{|/1f-{|/1f-^bZ#Ę|wcLLS@%Wޏ5v fðm:G*DB z>j3_qw14}=}=2 -,y{4v;d>M*0º}_Qpq)lU9Y7O-ivŗzS|nׯHnD>^|_ۛWr 9Y -׾SիOmܯ'-X.`*endstream -endobj - -14453 0 obj -<>/P 1068 0 R/Type/Annot/A 17480 0 R/Subtype/Link/Rect[93.5999985 563.629028 278.976013 583.309021]/Border[0 0 0]/H/N>> -endobj - -14454 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14455 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14456 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14457 0 obj -<> -stream -HooF[;LF+ػmվ9N(B9 73TAϳ>[}}xpp١'*APAj7PP߰r<8w|(3_N*?U]y[3 gy:t$xH&D^ i霌Y[T+sG ->kS$:tU,$αԓpOBwͺE}S ]JW^ k^3z-kFz@o }>`@2P}$G>#F }>a@2 Z(!T.NO5t uqzYRͺzZ%j%г*!TCZY@RRͺzZ%jRK5YjZY@RR ]Bjf]=KRK5YjZRK5TCZYuqzKH-լKgBjf]=KRK5t u ,ZH-լKgBj.!T.V u ,ZH-%j%гj!T.V Z!T.NO5t uqzYRͺzZ#j%г!TCZY@RkRͺzZ#jRK5YjZY@RkR ]Bjf]=KRK5YjZN j驆.!T.NO5$|tnCpu0\ i/b.sFd qMo>&vv5~>pY8F<nu޼W2?//Xy.t;޷uܠ3}|W,s>eao|jfj6MFH1gxX,v~ :/t}74UemosYγ{b<4F7$x \G%gȗM.v6UسUݵa Hj:wռX bm30vYoڿ5kq~?l^¦q]pyZ2ٙ-+|F&rQOŴ}w@ q2'0&gn8NF:_[(C 52L:(q-;y囉?gt+qCt}MIqo -7T)ڍ݃Ct-|z<#+%b4{lARq@=YE˦ b>xn ~XMk̛ǀ_= 9Tp߳2jO6b < =o|5]~q9M_ -+mixa)f$}=aQNfNjo;wl{Ey=Q] O|k'߇oXXun?}1XtU\^\Tumɛuۛ ,DpK ݥu7a&[ĪO~liQ,s?ؤQ>t_endstream -endobj - -14458 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14459 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14460 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14461 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14462 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14463 0 obj -<> -stream -H|WY6~УpCH6IESHh,::5$"pHpfd/_}xDWoޯ 4&8$aApQOA݊:X*Guo*]^vf[ӯ"zQ`BYN #"aRvg`T[VX51d`^=cI(IA\C%ˢ]s bBŹLh*4c -vXr!h 33L((H$|OTd$$BSEM]MD:T%^C :S nM7'kdS7ޝndi1}774ou9}\9# ?7 ..$W? Z'=ܗ#m/u'.lzW۫F ޽LV -_=t.[KliT[W]0:!ԾHPyod,q&M!LI }6yޑҭ.QLNr 3XB֎ё67#p[-aƆs'ɜbT+Ha hmmQ˦`,0z.sN.$lёªbl(aRՇu0]A #K5q>:ˢ ͳ44$MC!g0M&[b^-<(,G i*3 }bc/0šUܷNn$\ᶯ @G5?f$&$,n_GU/'- c{*孇 #M5l[Sh(.OR Dvlu1[ɖpw 0Vu.{}q".,dbWIF$b3>Bm$IF,϶Ai]}#wFhWgAoEj@6^{9X -UwNרFc ڍ>+uF7Gendstream -endobj - -14464 0 obj -<>/P 1001 0 R/Type/Annot/A 43454 0 R/Subtype/Link/Rect[130.078995 539.020996 309.765015 673.916016]/Border[0 0 0]/H/N>> -endobj - -14465 0 obj -<>/P 1001 0 R/Type/Annot/A 43421 0 R/Subtype/Link/Rect[93.6000977 404.627991 199.356003 424.308014]/Border[0 0 0]/H/N>> -endobj - -14466 0 obj -<>/P 1001 0 R/Type/Annot/A 43372 0 R/Subtype/Link/Rect[93.5998993 260.627991 211.619995 280.308014]/Border[0 0 0]/H/N>> -endobj - -14467 0 obj -<> -endobj - -14468 0 obj -<> -endobj - -14469 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14470 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14471 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14472 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14473 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14474 0 obj -<> -stream -HWێ8}Wa@Ul`ӓ H  [n+kK=)Y" #yXS,_<7o~cxHD /53JRɲT%Fc}aM]$X͢OվMoϒuUtH&j g+`MQq~1= /$[ I䱪Ё/JP7]=o?^}[vיJL7򾯎.jqX]D&8{tg*MyCTd >!0n%Dl2.DH޷Je^e^U^U^U^u^uMMM>%ا`3}Y>#g`s}/E h}!j}B Pj}B Q!{(B Q@PoC>P$TEַ!`Vm"j}6DJB Q@PoZ߆(}ZIַ!`VmHm -6@m -6D}6D*B Q@PoZ߆(}ZEַ!`Vm"TET6D*B Pj}jZ߆(}ZEַ"Mַ!*dEַ!*dm"TET 6DjB Pj}j5Z߆(}ZMַPoC>P&TET 6@m"Մj}j5Zv Z߆oZ߆oCTȾHЌ\E+b>BIҴ`Ct:5Mܱ~WX֎u}w:^}[8ZZЊ%+qq 'LSvW:vzr, {?Q3_=D&eҞz]o} ;oNU 0l' C?v AB0G5mJ~Pe}j B*rbaS\DP@鋨•qI(mRHV(rX@RpvTJߔMr?$G<{MeoRC1zeZvE|;;zf'3H*7Ojn}6GHܵ?îj릲''΂ξ+;ת0 -38366 sTО5@^| 7u_CֳuyꪡB'g}GI\ys>;ܳI>*Y5By VK`gc~ʹ5 -`nc_EvO;ԭ7~sû)Z8ZQ>]O nZ}բ}3Mg7t:198R`Ďz+o n>vZ8mESBuvnKXb)1]y? |x&*W,NxJuOSJ --; -м) JXbhE!|+'\f~[CoץzD{D\,|ycs0n{H87 v]u+īཕͳP>]iѩ_UwjĶG*4:\R7[1aħ삿ˮ3Q^ -' gLe<tH:̜Tw~&;0~&Aol~Hg{j:<O}}q`'\iHb˱bk C 1}J\5~ń6F_N=ګJjٕ( )GC~gˮMd@څ+x&Džm-W#/Lh"s&!o/nK)S-\{u~4}T, F(([KkFbH’rH2 Y-R_=6{MDBV vzpdt~Cb 0@wBp`& hHWq}h8zx -h"oc ~?Q"fJ#g|ࢊzpAg#!Mug¶E8`&+b•ٮ2;TMߡzo|!AAEn{.\E$/ɀ[}:e4˞D. T11 l˒8Hx\%kg,3ntN( U*0udip3.'kXPGPkKw6pi/fgbgV7*Uūx),Ek(W 4hј4~EFo 0Y|g<9ɕmo^~= 0]>endstream -endobj - -14475 0 obj -<>/P 1364 0 R/Type/Annot/A 16647 0 R/Subtype/Link/Rect[93.6003036 572.429993 224.951996 592.109985]/Border[0 0 0]/H/N>> -endobj - -14476 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14477 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14478 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14479 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14480 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14481 0 obj -<> -stream -Hn6_G0M@'YxN) -Emmd)e=It :λ￿~)J~~ -3qAQJ,ߣfDhu:n(*ZD{Ym,fII( b渊qzADkTXT8Yj!Q]tC2wJ@9)IؖCPFZSEj]f#s15rtvy eY3* d$쫶~L rl]nPz!D$tЫ5ҁ)iH'U{R< no>Pi$$ IEn:VRݺ_Q*U-iDTXx-`(P#cιPtڱM^ъAc] [HP#3!QQ!THNx1bʺP*zڭrvm-M1J}{%W΅\~@uU<*DysNRҦQۋ_M)ݍOMS5{w6!U=Xdi]P?B ⤃ oF0WLdbd-bdp,&(MDCJH -T0"&PxDӀ5;&2킭-׍7ST8#L!#SgM8 g·-VZ2U\řؤ л‘]x\7 H4դݞJ1m!b9x V4ku 9Q%#Β1mgW4\1I;۹9 14p~3a BLtyY66МRa!-MFPx -$Y2~=m<లlx7s7`p |)0ay$a3$ Y60Rx͓o:k 쀭싪ߎ\Rꫳߞm [C z/{X)cL-/UhSnOD*7CI ;l]EfD 0#H endstream -endobj - -14482 0 obj -<>/P 1221 0 R/Type/Annot/A 26928 0 R/Subtype/Link/Rect[130.078995 539.020996 388.931 673.916016]/Border[0 0 0]/H/N>> -endobj - -14483 0 obj -<>/P 1221 0 R/Type/Annot/A 26500 0 R/Subtype/Link/Rect[93.5998001 404.627991 199.354996 424.308014]/Border[0 0 0]/H/N>> -endobj - -14484 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14485 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14486 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14487 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14488 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14489 0 obj -<> -stream -HWր ^qqrv@" @,Ð%'$%5-=Q{+tYjfo3ϟ|+}2-!]0YLY,:6fcb$7?6n{rmWkWsӮKn'ľwƚ2iԦ&MS教]3Vۍzb:ūw7grEm?WOc k7oR/ B̋,x?V+_0Ig@=״9767ߓ'Ƽ}Ij"]RGɩ5{Et#%0fEޭ%F,;NW=p{{>A}P#pG>Q/B/B/R/R/RJJZ{Y J+u@k%,^b{1K@k%,^ցJYj@k%,^ցJYj@k%,^ցJYj@k%,^ցJYj:cv/1bJYڽĘKXcpZAk%,^փJXcpZAk%,^փJXcpZAk%,^փJXcpZAk%,^փJlZ1K@k%,^b%F,Z1 W cpZ@k%F,Z1 W cpZ@k%F,Z1 W cpZ@k%F,Z1 W cpZ@k%N"hĘKXcv/1ffoBPuS#DŪKiVZAiEVZQi@PZ*V JURiU@RZЪV jUZj\kIYZKb|YZViYeZNi9r@%vYJ ^bZ*^bkؘ@%,r@%v`YJ ^bZ*^bӘ%<ȽĘ$rA%rA%rA%rA%WrA%WrA%ƗrA%ƗrA% -rA% -%1fi-h{h{Uh{Uh{!h{!h{h{h{h{\kIYZKb|Z*&:$75LI h=fNަ6/3<ջIUV^}Nd!3vovfa,WMv5$}|l2gO$>6Sb7j<8#2ڮ6i'KU9i!îъ^ -yՑ]<ڛO7O|k`3A -אuH~!1ASmu -њt֧:AuYWՑGS<l cHMnvЎjŁ{tˠgՀOEʐ;/3Y6տЮ%ʘ~"̲ݮ-\0sؓp9$Ytydb0AyZ|6y,:^f<:}N7Oyuzx ;Wo~>RU^\6Ee~@K_2OvCktj&?>Mxެd.ug7Si#NtJǣ6]wc‡1,VPZhVTZhEUBi@PZ%*V JUJiU@RZ5ЪV jr%1fi--,вJ-Rw cRw cRw cRw cRw cRw cRw cR c֒@%,rA%,rA%,rA%,rA%,rA%,rA%,rA%,rA%,r@%,%1bKY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KYZKbVu-o'ľwƚ2?F6;-ʔyatWH[[Nү]ӊ1n6!fXm>Ұ¥}ӿ;lp1kuM/ȇKXY^;3HfK̦?7|bl:S m\Ъ*E̷錍ǣx}0v3Xѹ2iۻ_xJ-ӱ)˫bW.FVk6_t|O_Y,f b]>"1;@\ڊǃF8$tʲV<şb6s؎~۞vg˳͙ -q|_d;2zl0Ezwk6%Eʖd)>?Ґ|7S^6|/4^yf%`Ko6A: Y4@z\InzRG.se>Ue34z՞x`M9X𰰖N^sˌn6'KD`gsqQ4R&KJNd䷨np%WTFlmx Ngy>t@Rd0`URӘ$2wjp{۲A2c4e#D,d&BAT/Ff*VJ;t;;=T,9P)i8YZLPE㵵W'hL$h_ƕ[6&+'==T -ýLșAԨ -}uQ*U>gt4YӉ4Y}3- ZL)"x #ȕ0)BFuGT)CI̡n*| Kd77UKۦwS\j2kt[<&N]A ݛA,BŰGLE^HErZpp=SD_a14`J"OF_~[]LM~/?*3^2XԱl3yyHq1\"n&:%_̠ L=lj蝲pbԹH?[Dy\C'kVhgeڢkZ2u?Hq2En}&vh]tuTw4 <8J4FvtTD޴:K!Ր}`22f)^aP(Hw۟j}e|CjXQI} >>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14491 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14492 0 obj -<> -endobj - -14493 0 obj -<> -endobj - -14494 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14495 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14496 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14497 0 obj -<> -stream -HmoW /nBs^H ]$6El#`$:fDwmX:p\+lfKfMg󿵋ᄉz-~̦̗mzO'gdNRdyf.'kW9{brqv=}]np<")ؑ|\/v}^mϦ_ 4HYT#e4+Heb;[5ܙ{c +|ߛM|YOE1Kdf`l$5FS%dvkux@z;ީ*JAz>*} җ*} җ*} җ*}W*}W*} *} *} *}JA'> W3kJm90RcJQ`jƔN/5tzVjLjjZ1ҫu`jFZ1ҫu`jHցQ`jHցS ZVjDS ZVjLjjZ-3VjLR# -LԘƔN/5J)^MS+5@z5LԈS+5@z5LԘz0R# -LԘz0Rc -WSJ(0Rc -WSJ)^MS+eJ)^jDS:ԘFZ1ҫ `jH6Q`jH6S VjDS VjLjjZVjLjjZ1ҫ `jJ0RcJQ`jƔN/5t)蟣2{=Χ3Lo2[ :Wr.ۚ4n>M?m߬z>+rzqf:3.qߝMf)"?{#aXo]5v5vȌ헹3>N>=_Uޅyl|t}?l͓[?ϗ0-fe=~Jwp fM~J!dkD?c]u'_sf7\ |]O6HTΏ_o}rwM=_O"M-28.Vpf=4"?{QxDѬٶϟ઼fz.ˢzK|Hcov*Dž.3jM1G!R8JA] -j57ܛaWi Uzfc$zr;n˫' tsZ/kZ2z"OqvJvƿ̽yL۪8QW)1jU+x+"+JKjLi/eU^xY倗S^x9偗W^xyWP^xURyKށK)z@RwRc -x;{1T=Ԙ^R# -^jL/{z/5SKރK)zARRc -x{{1T=Ԙ^^jL/z/5ԈSK>K)z@RRc -x{1TԘ^^jL/z/5}SKSKjDK)6A萞y_O^8<2.hxpC-v^jLi p8u"/0FM}jwդW#1Eb"^ }\kDQIQu䮛 늂?n6o&φ[ife~8kף_RC,-:DP'S}mp96ށH;ywsi>O{ ͮ_/M|^[ T|oR6xi:mv}sYiLpy=Fz 檘4+r;P_>o*NEvLM (UZyV^xEWT^ x%啀W^^RcJ{I( */r)/+ -+(xʫ^^jL/{z/5SKށK)zAƔQRc -x{{1T=Ԙ^^jL/{z/5SKރK)zARRc -x{1FԘ^^jL/z/5}S뿄WKo8W.˧D]$=@!+T,4v,=/|G{}xf"3Õ'p<3\  WBUUq7o$_O/'e0i%03KD.yTfx6B0 {o}3'"slT6vr:@XY3=,{H,"_T$V ;).X op陀fF__}rƽΨXXak~.q!дj}i ~,K +v Y {^Hsq -ƫTai$NM ad$0n%EUʉ8gP)Ռ -T-ן.ïnBwC1;PDT0njx>M&ҽ>u#H7Mjfm㤏@P籟A;L|%|{`ZF/IS#BItJ%PK q;qmׅ)󝦑N…%ui^HT -|tz-锃h)wy|xS㯱Ll͵q)~ys-Ak ̸kA>ْ$Lմ9{nr{YC vì7t$BQlYZw Q,zBL9Ggt&?m ʠv#㔈-MUi/1^.څp00ԚsC9B`s g s@ b뻣J\JXboךCphr B=w%BDwϠ2Jϊ. ?h'iw!v0>SCS,Dùswv)總}ϪWl>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14499 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14500 0 obj -<> -endobj - -14501 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14502 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14503 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14504 0 obj -<> -stream -HWk۶_6K/($ Тh| $A]lzx8Eh|8<$û?Ӑ߾IEϯ޼NNdʤyBe\'|HHir7Cݾݩ=nS^}jmts0H봆i)tsH>vt}r2Yy7aum2 ۀe}>Cwp\s9n.<כoɿ6Ȥ3-љJS)!7{~,]ԺTD! >y91&)t>DQQćAQRPa"a"a#a#a#ao"ao"9> @1>D1#*Fԇ(}ZŨŨŰTRjZZC>RbTK}bGUjPjQ HQ-!aV1CRb(Fԇ=!*fO}bTK}bGՌjQ HQ-Q-!aV3>D1#jF(Fԇ(}ZͨŰTRRj5ZC>RfTK}0>DPjQ1{CT̞ŨŰTkRj ZZC>RaTK}bG5jPjQ HQ-!a0>@1>D1#Fԇ(}ZèIΨ>@1>DQ1:ڤ-!yI6NeOp~hiQ|\}xt}[g[nCh|tZ޼[DQj=Һ1B@Bzjʄ“z\]j(ZUͣ-Y܀.͌ٵC-1qvq+-ufzbrHOqw/)QL@\.v-Z"=uC훫+t Ł?NPSx>[@/Y€YJBpA{"1UѤM; ʒF8yB!:B]ŹuG:he8MJao usqNwnP4c2cӺZ࿛o.bmCתWujӒiUμd+1|Ǫ,>4Ђj0Jͱw{QB<}qL|܅? Qy~1x1n~X -$ߋ v>~ BǮa걲2ތuۗXp~t}/1r|~pC S(4^n.+AnE~"*j9BJ{k -)3U!\ɡ*kBP eOCZLTʪ,ВyƐv/?$i$Ѧ{݃QZۿ-m3p磹!e.UMg[W|j;!T8},x+բbX45 0z^E#.ggA -]fqASbcx- S R-֨W( y.B창?1̙hw&MK,9euN3,X?J%lB]pE)$r!e1^FfB(Pͼf1aW\!&iju| фQEE!+ю(Bڒ yQcfϰT}wPhӛ1 | _pj sh펮@,8:>+7XҊ]CNWqWPIЮ]oϰO+5vpΈ;ŵm'gYE8=ލhN]*Jq:|og7^^y&SpL=g/#v6軿B -HEH>Mm6#QaI DَgB.W,O]ٙٙ9c--[;h*9s&:x}3@p+qqŗc-h c33wǃCy_pT 9^q?H.#o3lH$0!=K#cV A "IۊρK8ՏvIuA}s+4=W+K6%QƼOj(k1*sӘ &TƸ+fn_1FK݊r]Cժ"OwS<[W%r&)g m8k~k"X1bu2T߃)8s}NvS(Xw -K甏_ mk!NNRX'Ez@'WT/]~i˿^RAޯ^-ú:`]^$nyw?Ù1/VVCWdU]ʉԈ$9dn -O,!>; Ҽ͈y;̿os }h8RJhnt)TEɚy)xUmT J5v݄ki+oHaD) ķ4YfR|}y<jL`m l4endstream -endobj - -14505 0 obj -<>/P 537 0 R/Type/Annot/A 44304 0 R/Subtype/Link/Rect[93.6000977 416.028992 276.64801 435.709015]/Border[0 0 0]/H/N>> -endobj - -14506 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14507 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14508 0 obj -<> -endobj - -14509 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14510 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14511 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14512 0 obj -<> -stream -HWko8_2(K`i:[d w@[Mjm)+I~/EJ/o(RRLJ%yy}Wu7Y~?W //ӅL2L&ZD&JcY͢wf_ imWk{*^/qF% 'ӂQ{]/V_Gq%T|~/bfyG*J>ҧr}}o"xB_s6,*e }-Q_>*5!Dʀ1 -8Y,MvC ԋ@ ԋ@$@$@$@"ԫ@"ԫ@&@&@&@}F> p \1`Ře -µ,B}ZAcHŘe1,µP=,+T1`ŘeJµ,B}ZIc"\1"k1fYp-ƀEcE\+ b̲k%Zp-,PVŘeJµ;Dp-,+T1`Ře1fYzp-,PVŘe*µZY>p"\1"Uk1,µ,B}ZEcE\b Xk1fYp-,PV!҄k1fYzp-,+T1 -՗IYךּ>DV6Jlf< P;0XluOB+0Eaj"KnHELZI)ߋ"1_ag\P5[|^ˁ.ۅA~߾#Cd -Qa:"dRlr טW E.}kVj[_,*Q>6ܛ~ގP{ݴt0dRT1] 3:eCIz-DG@"cFh@V+Bo?=ʛj_J4uu'\q%$+ؓ[ҵ[*'AttiOn1Oʂ谞IjgXğ)f8:rM] 0bn?o?Ӏ ql:^Jp otr*MXʝqw$A,ԥ8!ertSo̭M$J{J4+-Lr}6LSB$e&ʘoߞ&D8ly׽|Xt1/&$ԡ -mr9N|/iOQܘ>TmB.PpRng/a} -x:>NFpvSLY2崏CXe %H]xC](n1뺼/m>fgʼn[|š98o&$ـz;ܘvæ⼷ӍYU3{m:qH/#ZY::mWzH x~~]s?Nj-ȹt;cI9#+]bviOզΙR?T3R99N*TۡU[); 9$仮nRd-ߝAJ82}ɩcp ?lq4J2uoM7Um`k3&<7Ot^$f_xhª= M%%%¨ׂ /~r0F}u -Uap“m1.^IQ^Q]PzSk}r d([Sb`i=k6^ĵgX+>rIlZ}YF=5ҧǬIÎ>rK䰋. ,lc?-s~hlI-sy}]>7| ``X*HӚW yE'4\;`|qϡMxdV})r!c?+7/qwBϝwa0HM`ܚ02X8⻺6V= -I[ KB7Z7 &4B`{D*6> -Vh}כK8K`֛eZdj4JX%P3 -s5H%ۓvx%=ЊZOS:x/*@4\!! ҏEs U;{vU[0WýRa1z$"e%u[z~KAJtK3=@ȸƞ14e0x*A8{)>@{P컢lzɁWr) wӢsʑʜRӝN05}He_s=̋ړ#^45r#j/oib_/EiJ{߁ 1=DZ.J?gADm&F>`C~p\rMKVps0Ӻ$(xB*(zV:so JW54qsJcjC@Vف~Uwc;Ccd10.21 G ^_?щ7W {;QPy $Onr@`Hey&HAHͬ2a:), -m<(E嚅a Q0j[fi匬Hqnih׻7endstream -endobj - -14513 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14514 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14515 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14516 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14517 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14518 0 obj -<> -stream -HWn8}WyaӼ L2p0 6 ! ZV-y%{SK"pDUu?n ^o~y/ "!*4$K%UtU4##Nj:CTmmWKGo6) '] #hXd,'cs%6?FXr BQ>> E-:eTMIfR4ލ LS-~$W7B+o$˩ -v_<UnT8ezGk$ g>/ْH˔ -<. S!F{dmmA'a^^^S}Oi>Cg a3}y>G{{4c$6 -6@!mmmBT -aV mT+6@!mT+6Bj}6Bj}A! -D Pj}A! -D͠jZv$ZfP!{(D͠B͠B Pj}A!JD͠j%Z(D͠j%ZfP@QoZfP@Qo3(}Zַ -Qo3(}Zַ>PDTێQַT޷ -Qo3o3oZfP@ ZfP@ Z(D͠jD͠jD Pj}A!&j}A!&j}6BM6BMc6 -6@!mmTkVDgB8"F;<$M5/f_]QUއ}1y<n۪wæ싧iNsf/0xN6%YmHh! ]u1"sS&&ԗRXZ&"<.̨LxJS)׮ -6!gqSb:sǰiʎƠӅF&jUhIyw`Ti]NIJ}XRgG9t\àjv顺/\=Ur٥cŀ 3BO|9x/C=Q~Y]93 -ѱSZK"I!x˺1 Dh܆FM`G.x[v}8uSBm"6.npR f;y0jnrOJ}(7%4OL>Yv6]Ԇ$ 2?^ĝӁ0Η o7WTUNne1mwh_)4K6Oj(H@咫-{J0ݴdn$N#ubۆڎeaWaD"E -nO. ٽ?̳m4x,QڕKP&QZ޾}CL}xZhN|P+Mn1|;g~࿜i}Îs_dnj`w\^WSS]d9Mdh WX"&\OnnLﰤ:̸Hɵ~b6VO8y~*s_6q+.di&?ݘ0p)Ƨ3+Ǘˆ0 gO wZxօ#)o&&XMo -v>>"nGP-Qmش-vBJ~˶6_Vi:VZذt^Ol!3tem \Zd?V{ڵ) puTǏ)$Y?֋k >w_o2¹l0i@[M9Yx,j׋[灋3f}m;O\aqhjzOf(+߇pgl&=&3d۬Lv~Vr5oR) N[(M!'P(]dIl|\!' T9$޴lx]7S]u7G W e8\ -œOJT+xjˑ&׊U3ٯڟwʘcʴ+]8gms@И={_ʔ"O㰃L/&f?~4}?E(ENUzO<S {T9,4cGt'p4/jyR˦y<"+rA!D=x -+xnFԃ,s@/"|X4KPӠ$C9:$ ')T$JY§}YBTҳgAq -2|ENCy$Ev 9Bn\0!" i=_~DYJX!N!yadI8 -* ّxk Vvujk?QX  Ro/ݯNbTv&.n(Yψ6OuV\ BC/[jIDo|A zW Y2,ij3ׇ7X4&ѥTf#YIJ55d,DŽH}Y(3)kJ4=1rt1ⶢ.(tQ5ђM oȨJ|I0YZ,2Z/s <5`^>F|7]wSj=mC^"^-,Lq .Lۗ(Bfl&F#ՉkĭB2Aetc*4xY7?UF51:׺q-r@t AF\S5*p_>Bŵdjl !%j~ip"-TJͽ&Sm|Ywݞk|_? sttendstream -endobj - -14519 0 obj -<>/P 619 0 R/Type/Annot/A 16976 0 R/Subtype/Link/Rect[93.6006012 274.049011 234.289001 293.729004]/Border[0 0 0]/H/N>> -endobj - -14520 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14521 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14522 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14523 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14524 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14525 0 obj -<> -stream -Hoo)%n0ßYVr7q-CE0Ik/tO؀a攸ժ :y3M$yv=_Pf1o3pmpl''j&y,",YG%f,_m2_$_igM oxO\pmp~;JᘌlM.2_;"6|φ1aLNN- DusW1(?0ERj[k^iX!'P7iUSFX0%=(f|$rj$- aLfw}llh*d>d&!_$ZMdWvMӄA=pڍBNoɚN'EA (?q0U.Sh\b3g)9jwa?7=| :!k?~D !ln3Hd}tHZ4㍰y F3MTg6!{"fb69 ?իLB?5 ;i?Èyl6ʸ|$2T":S/Q'GN{'{P|$ aȾZ=ӭֹL  YuY혳E( zwb+3ѤD&X ^(+j0BG׷{TsxZ-4El574ғïB=mzbo5!׺4'5z{VwLGiʮ/eƈ89SN%Wڀߪw6:x$8iANӰQ;(إg ܩWwܵh> -endobj - -14527 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14528 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14529 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14530 0 obj -<> -stream -HW]6}ׯУh)@3)Mv@[Zr,wE0u|HK^?IIϯ'MȩJ&RY`iY\?.!SB6Mzl~ߟڃOm> Mr񔦛]`TiItsH>ft3}޼bd淙,+O]kql3XO%I=Tl$nSK69K/)%{ ~Lm(^LH2CO>$JsTG3x1+ K"P;CԳH=CԳH=GH=GH=GH@ԋH@ԋHDHDHDH}/"ԗ2R_"H}/#W*R*Rg)b;$ qmV>Ā6 +Vb1`! 1BGekC̰k3,D}Z6 Q! 1`! 1BGekC̰k3,D}Z6 Q! C׆aC XkC̰b!fX3,D}Z6 Q# 1`! 1BGkC̰k93,D}Z6 Q# 1`! 1BGkC̰k9;$qmV>Ā6 +Vb1`! 1BGkC̰k3,D}Z6 QV 1`! 1BGkC̰k3,D}Z6 QV C"׆aC XkC̰b!fXz+DJߢכnC)M7ɉbI) x`^E!ӛWPYsy[BrrV0u+zg_ػ?Γd'ɅgKvOk_WP>uoi$/*X>_~ʔXYٕ{d -fЎmMxI|9w4[Gs8/u8)j9]= }֣ަv|Nk?snXT8pFsشݱQ"12hS{*lҢ&MaS8?ҟNka\9xXViGLs̑01j*XfC$) ;K W|g@={Onr˙Oѽ=zn;uV I\H ~͡l>y|FˎV[jH~fcW? >TyPe?R!d|zՐO'P I~%`E.˵߭3 į~Is{dF+?]Y|wcؗq Vrٷo0/ ;A+Xvjwnvv[ yA)(l[HyEL,,41hz_( -T/uܺhè\Bs}!r -9mm; ˑ`R\T#y;(+7uUaSTQۘl_ևeح9բ[֣6&Cu.LcY6-FS?wqd^m.|a g/\ZLlZûgV=tS4ֿ_)uZ6l\3S/u7NeRg5{L -6߼*ahS&+X!1"sൄS8jNR fLTJW[ۍ+FTr9}65 -)rY;,(w}8uXh d:61ZO>+î9Р]GiZ2q=}y/C/.9X,KϧνOC}t-k%):Ts*:Շ[SmW`a xƍ酛s -50\I~XZe,/;aAk@L_eI; ˸TIM~UíOj?߽y˯dO6\(܅4`/IQ}gu`=O+$}cXؘ⣏~ź}ޟU3 #P=,Dj 82^FS~YXPSgyE/}a&s]]Bjo-:*KEI1R5i'L/%[g5}Jv.ш}0oX'$dq<H0EAv$pݶ27L{d`^޾-;ڋN)ӕ3ngjn̫еp,W`UZEMJg0^GTlmtd[NEyY>Ot-TZPLcg7PA@}ɵ\[4?.+|q٘N ~Bl>ꪙN?y.rusy -b7?ś9Uendstream -endobj - -14531 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14532 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14533 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14534 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14535 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14536 0 obj -<> -stream -HWkO_~1i?ZZ w(ɍ_Ja0ar8o1cSaYEaS}ONW*Szr*_b6Aů֫r,έjL291j|;5VU;[4];vѪNjseQm& -*DMUfIZ--ӹgkH?>%v6"hzE:&דu^Ij~:$وRevin]\N+t[c ;Dٲy/"a"}oKSeYm59Tvz7~q*GcNߜ#qp26\/7n^0-ۛ}L~4S7MZP͖ݡZ_WJe7kȹHEO.ۚW2=ݹg*w6~bwp.Rzǝ^ĭnnzpt8=^=)=',t/)gրs.;z݇Vm7; Mwzgk׫T?907ͼ0Zm}y\oNGQm w*d9IβkvN6L dXdvaƳr'vժ}.4Ym;d{i[u"hj"=Cόsђx*1Բ)ZT4(Wg>s?g6i'F5lw 6{3VD89V9b&vG -˲*v':ۓ9yhݤj>[̺5H~t:MG͞q9{w]M?Xy8T>~&m{?oCuyħ:-gX-LfUÞ׳ȣ};^qz\z(ͤ뇮9R:U3+JٹŠӬ7fZ!Ќ9VA)R<&wdh9E2ķ*;FSvB懤< y׭s?9<<<Ǫ,6m֞W{Sw[˕Ŕ6:?TUvh}7U&k6oIDg$$'b%_f/8w&s _[z[fcm %SM)ĤD -ԿyjM]ݺU0.xO5 58V[Yē|Z ɍjv|ݜ".nfyʪqiY=kۘ+Q\zN3n3=A}[I$ٖוqhrѷ$(c@lzn>Gt*fDڼ gLp犀_s& ~sKU'NM9"Q?I(fa;0@r(>|*5lEenظjk~Ȉգ2G$׮[0}F4MsGfWA=ޕ:qtܢ q7V).4d3b -L3RI}t $&S0^9G5a%d9:[;QW i="nզWƆСh:y5^$r}(p<]Q[thjE@Y)+2JY|uoܢk0ᶁ3_6L, ,xxχǯ\&QoɌi?4K'oDH:6(sFI|bl&|x/ Aelb q3:h{7Bz'0 -=.s=>M"Еm1)ɲ-WЭ-q ,',M\_(T,[gm_T{wwhMUf -`¤q|E J2j>$Už8q1 j_`tZBFi b1}%J[wfbu9COeQh-FF=5M BӷDsh*YYP34FfÀj0.-˛q.IT|dR>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14538 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14539 0 obj -<> -endobj - -14540 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14541 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14542 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14543 0 obj -<> -stream -HWn8}Wa@".q1`lMHܖūn'|VIL&ASaH^go__olk+\mJEM_PHq[(щ9wۗݱ6ﴸ=/Z" ROQZJK4̒+G1eu~~:nI\wG~J|B?zm2Ʃt -.$`w|.Lx ވ_jP-]rB HCV>ŀXCcXTRxK3u^3u0M0M0M2m2m1]1]1]3}3}bWQ_e+F}ufי<Rl_hƵCVbb\K1d)\=ŀŸbbgՌk),F}Z͸bb\K1d13jƵC>sf\K1`1k5Z!QV3R Y̵q-ŐŨ\Rl_ƵCVbb\K1d)\=ŀŸbbg5k),F}Zøbb\K1d13ƵC>sa\K1`1k Z!Q0R Y̵q-ŐŨ\kRl_XƵCVbb\K1d)\=ŀŸbbgk),F}Z˸bb\K1d13ZƵC>se\K1`1k-Z!Q2R Y̵q-ŐŨ\kRl_8ƵCVbb\K1d),kSZx㤨ZyѷK(CVH/r~3BMQp-bRHRZӹbiE!5m;dZTutvX'2ĎCw]{{-sTAS3tpm Gߩ*k [qpN7Txnj9KZS8_ҏ;n!Eƛ56Je4a[笺ZԆK@YXZy‚EYA\W3\ cs/"iS֘+>a/X1 +~sȚr'+>eU.c'%+(Š_bVbS2v4hV2ҎRҏY)e BFJo8)E`Oc:vfIz#p}sC=0< @OA1~\d&nw^Bf M ƆᯇhTghlgǗJXf,A6H. ;kF-/5 #wd6k553d?0~c^@%Hr0./)IOWЊP~Χ71Fs7$>7}\1?D8<3Z{`0ڡ!x"N뚮`r8-+b)KYhJSu] z8}7gqY=13\Mj .Xpr.hȺ\NXzAmo,Cfo1$>ټkjqV*N[ kY( hnEs}=jO+S;~p4MFs ITrsw{߷*=4˺OzHU: 4;o -tn[,G( J$ued.T`ou0Ka]g^]5@_#Q0̱qUBi$ʿ71=xO$Sƻ}{S-w%%c2I -DuB?x4tH~w?\"1]JSyx=ku fHۓ-QD@jtXܱK@̳C_5̒FխhAZA;> a$"C5yU5UWxA;|M¢w,D ŽHUkku)?)PL--I[inߥ V޳&[ڣSR)ovAhW:N;4"HKU _QBxQr'X%Ur(F/+bw7 Ì_CRm$PIY<.%C_P:;3Sn}Ra+5{ ^Y4Jw?_s5DQ3dKRM=+}AUXȍP=(oeЯ>J'u`7hmRsչ:j 3!1Dd1s4^&Qg ctI:q{.?Q[ƖPe/^nh_*vzlgwPk+@5C rø_j3=h.T_\9[y0a hMq&^NUzLX0knBy9_́[]K6W 0M$ -ҿ,H%C@f# bp8x;Lxa[f2 -Dͦws(^  1Bc7g +VLSS7\ u4ݰ/81cYK _|)qM΍䍽֐M -UP 3_?^|x/ -endstream -endobj - -14544 0 obj -<>/P 702 0 R/Type/Annot/A 14988 0 R/Subtype/Link/Rect[93.6014023 280.432007 227.643005 300.112]/Border[0 0 0]/H/N>> -endobj - -14545 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14546 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14547 0 obj -<> -endobj - -14548 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14549 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14550 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14551 0 obj -<> -stream -HWn7}`" 0ֳlCZrsδe$_Ut7Yu8>}X<,iެ=__ /_jHede ;ż*vl}#]#Yǚu=ñ۵۰c\VSr\fnY̋Vvw=|_dWO7өߍm;=m}8R,gqC]8/WVwEh&|waMԎ+ D]6ohKN9H+R!Ā%e*0dYUj_bRzUWzUׄz]ׄz]ׄz]7zS7zSz[z[z[wzWwzWz_z_z_PPXʳ0mEĐU/1`-1dK YCr"\[b"WUkK XkK Yʵpm!P_V-1`-1d+*µ%,B}ZEĀEĐE\זk5pm!V_b"\[bȪ՗j%,µ%,B}ZMĐE\ זזk5Cr&\[b"\[b"WՄkK Yʵpmpm!P_V-1d+jµ%k CVĀEĐU/1dK XkK Yʵpm!P_-1`-1d+µ%,B}ZCĀEĐE\kזk Cr!\[b"W5kKlXµ%Z}pm!V_b"{#5WYIi;.a5/WJ^k& 6pC°ծywqiO'֯۶/?~i~X548n -%$ -rR*՜_6F N#Tjӷ09a [/8痫O@O<92;X !&>3I>FufkzB% -`k`:y f-Ϣ1]ȥbil\^NFO?(|hլ V=㜕1 _DS4U`3]cjE,k ,dB,F, V: dX*[WwTLlW{[Vt>~ʹcGds?gOs?gX!Vs?gO+s笜+s'Vs/lY#ʹr'V}ʹrg+Vʹr'VJ9sVk9+~zMg8pȤ6d[8/@QEh XrK} 8lg!)GkHnֈT zzOFჄ5sL7(&]HC3DZ'npj&%`4^'bF,|xLp[f"e!q@0=q$`RG¯wLB2ýOt޹&L"ËHATF;|ot-i˜Rbl-]0=P;{ _$zȘiNs*f_Mݴ|^ -peTCG1C0st;B:l)RעwX"Ж -nxi4=pV3].4:`r:¦}XЩKkxS:4xR whGx@%y?}k_C7isñ$L!3Iy- z![Z AQ]NQf FÊ7׷7qG;r8.32Vob8"| -h"6W7ER楘/Ni/wnaةiun]n^<LM?<_CxQg02VG%@3$rXbaE`G!tlnhv2ƚ -H(uA $f!GmHG觏VƷ!jNL^lO?Ek1?V_R굄"M@*{j`lӯ qpy9or~f024[Wkt\jb|7e9l]ӄw}DmBZ<;Ek4t›9ubŰTޜMLd=(xʬʰ-X5ãK}q4mo]Um[ <í#z[zUYyi"#޺Yd~QAs(J6_hv.JCMGIϸ긜ɖafCpNhs}P(Aǰzkʣq>{ӨʠKzܳ_:0]=8vت'J.{vK/̙ ^U5d$szb:{u)@@3e@~So~e>7亍zO~X392R }g2[ȶh>b[2a (H;ktLPrPܘů@J lJ Ȭ GuOgi嫔N.IǢk^ج%C DBƛK% uđ345Nԕk'1|_vM> Kfendstream -endobj - -14552 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14553 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14554 0 obj -<> -endobj - -14555 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14556 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14557 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14558 0 obj -<> -stream -HWko:_)RF$- -8Ӫu,Cf:JnPK"GvX\ZsfvO޽}b=_( [u8qAmNqKVIĸ>mLtAqaq1 HdI|CLFs f5a۔jO+rfg=y~_o{`f7lƩNWĆ kKHX¾?r0ٿ'r$C qLO. m*1a@MTQMlrgL'\c\c/Bc/Bc/Bco!-46{[co#mw4ػ{Wc"]w5{{Oc#}4Ѫժ6٫6@!UmWmWmBT$ -a#UmTժ6@!UmTժ6BkjUժ6BkjUD!5rD PjUD!5rDMj9Zն4Z&Q:{(DMtMt PjUD!5 -DMjZ(DMjZ&Q{MQjZ&Q{MQj(ZV -Qj(ZVI^S@TږVI^ -Qj(j(jZ&Q{MZ&Q{MZ(DMj-DMj-D PjUD!5ZjUD!5ZjUժ6Bkժ6Bkժa#UmWmBT$Jg$JgS-bҸ82GCKg_f)0׭֛d5/J@n:: lf+Ha֐Ox&/HvÅw/$l`lF:f|K޴pzu|(EHz=sp6t?Q+Ax0ˈaѠұD^Fni헎Ǚ(6] g+r7C|7 FA|lnI0,j<+=.'ȑyy.Y0il)RoB@>TF-·:DI4/WsZRNPv冊Wsn3DLJVh|d]. yNc[l~% LJheAJAw[nP[T -ݞ16Prrvl)uPeMVٵ6Pt -}Yu%I&}FGr3_pBOf[Փ4ΛGm1?@:]oUct x0p Cܬa6Wrɪ;o,yϴ[vMKY=-_t8.>M7PǽbuWšN&?O'"t׃Ȋpy^殃NWVfdoYuNPòZ`bu~0^ -tq --yUHv1]}'?/RR˫uhC. 'qXAM(GoP](8ua-Y/[[*ˮEdMCv5mk%Vӕh*T=<*|hVJz&> Ꙟ}p`t{<]Iղ[[L9 Ŭm&x~RPa($vW\\ -\,Gendstream -endobj - -14559 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14560 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14561 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14562 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14563 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14564 0 obj -<> -stream -HWk_1B -ֳ v6 oj2R2 F!ioݢV K̙#9C嫪ǗORO~zM*NgV&&}MbTq[u=4.vMRM\>{cզM,˅QIRU4UjKUWjȆtf/Ndey[:͗،G~:cH3m3j"x]=KNT]Gz>Uk.6RZu&o2PN9%1Őŧ,!+,nb{[e1Np{'w̽{ =s}`3}g9s s>}!/Bp_0dK=JK]bR Y=ŀ%b),bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` Vh-Ő%gBk)KZ!R Y=ŐS XBk),=kZK1d YkZKh-Ő%guBk),=kZK1` Nh-Ő%guBk),C Nh-vZK1dqZ!{Kh-Ő%gBk),=kZK1` ^h-Ő%gBk),C ^h-ŀ%bܳzC . Bk),bZK1dqCw_,Jῳ.yH. Z$@PpVeyZY[ormaW_7ϟ-^_//>ѡ0q6J%/tsa Bꗷ/_.J&2Յ|aʯY^هׯ/wjt6tjUu[5EB],gpsuЫ$a͊_,tfHH!=/ ._ 74a5UkuWwm7^O乶y.YýaV"/]yI㱘6Gb LO:^!^ݩA.m ѕ`*gZ^L+ZiA+0LʘV&heL+r Z9*iVJAdZUR-r-!kQ XF2LZiYA2-+h[!CroS Y˽rO1d Z,V=Ő%h[!CroS Y˽rO1d Z,N=Őŵ(,!CrS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1d Z,N=Ő%h;!CrS Y\bxX{WbB)GWA ]-{/bx(X{TbB)MA 7-{/bxX{AkQ Y\bxDXo$?$.)*X|n2NxQn:Q+ͼ=n㶋;/QջO۸s"tCj榀c\ZZ9ҹ aŋxF4=TG>mobapɕ6x 'WxpYqxrEAX\&:nг` ׿NL.<0#2W(aUYeg~5٧mݰ٬!i޸\ -s1~h2 6W]LuZ츖a|v-ת ˫$w %R<7x[ApvlcC0W XNOrm`a-` E05bgu67űvxhV?+2<=ְo,M15pRin/ؼ]q;nqif?Rt:s|7;p s!^bsO,eZPUlaD=^v"fa+wD5 g0{_Ǹ 'Y|6Gѓ% QF#>Jg5}+%}l:5UH3]r"3>oYitOУRkwwUݍPo[tљI'ӍA&~j_g ~ujtSwS!|m7= Hggo'ܥCWQ/ \ϫniӭ+ɦrmHu^ꟛbw1|-_|q=m -+?g:wWapt&a]56\S* =ɲɒxŦ뼰jiԆ}COJNS=搪nYa_ɒcsB6%YOqY\DİOP9 -8]qnk"6 K僅yJ$s i E6{D,|'Q imڵMN,(e$X2u~l(quUQ'Ac/&iIuU0X g^5Դ[\=M_4[O]8o[o/DD -,">͸eom2'*K 4 3ǝI$JIB-s=6} lu,8a|_+3e&epM$J@K:QϓC8\\E Ҟvs>reWI/ZC/6'L7^HhJLU&u yڭ_Z;zhUїr -RFo`ol93p+ C3!:vrLr_:Ix:ڦPBpO \މ=6칼Dx86t A)Dm\5_Lr Yq"}T=>-Ƕc 6J\[giDm_S%aSk8AHz&pZTՕ\r S0{S:b- jma]JC;0>4aAL>چѰo8tɖ2؃Ku\58x]Z LKZs6BUfRP2PܸX!l:5MB—qz ^zG%YZз lŮv0;cZǷ{=\Ň pP`N%;[L/wu}[$/<'RB#HiR&R,3ӏ} S/++՝ARz -Ӏ/o?&Lendstream -endobj - -14565 0 obj -<>/P 1076 0 R/Type/Annot/A 14785 0 R/Subtype/Link/Rect[93.6004028 434.539001 248.425003 454.218994]/Border[0 0 0]/H/N>> -endobj - -14566 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14567 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14568 0 obj -<> -endobj - -14569 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14570 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14571 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -14572 0 obj -<> -stream -H4;0=+ %B0EBi:$@@YFgqy DG&Ŭa=Bk]vz_4uS$!1e6/3n'OA,endstream -endobj - -14573 0 obj -<> -endobj - -14574 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14575 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14576 0 obj -[/ICCBased 29283 0 R] -endobj - -14577 0 obj -<> -endobj - -14578 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14579 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14580 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14581 0 obj -<> -stream -HWo8B Uğ"&jm' !MsoƎQNEb._~9Iƿz6GEL&/2"<δHn6J?#iyswxf|wpy|nUijY Ic3RWf.qo?iGLz# -şHqdNR?7 E*c}u0,ȍ!ʧscbG91D)jg S S/S/S/S/ S/ SSSS S S3O}F<>BB[B[BYF֍m"N֍!WE֍!Wwc"\E\ ׺1D=rµn Pkk9Z7(BZN֍pCs-'\E\ ׺1@uc"{kk9Z7Z7(_Z7(_CލpCs \E\+׺1@uc"{kkZ7(µn QzϵpCs \E֍!PVuc"{k&k|n Pk|n Qz7(µn QzϵpCs$\E֍!PVuc"{k׺1D=Jµn QzϵpZ7(BZI֍!PVucHucջ1@ucջ1Dmbq -^zUiU՗&f&:7Q,Vohu_ŢX8B&E7 (!OGWǓ W鑒'TNDMKҔ(e-+ (\7i"bTƳQYr5Ȩœ,%ʎE>ol Λ<_"Q2LH2x~ n>zA. Kn% \|AQpS٤~[gXTe1'f&!nUNI=Yq/oĮ>mBa`x4x#S5i]%4Me}8f~>?nswo~&Q-1^'uesH!MOT 쎽r9oٴwH;5d_# -h?m Ⱦxz(o[b9VfG[\*r.G!kg $2(/eYTRhm a52 c"SGj5:j/CnOzixOXtXUzXKJtk|T^ M.S ؖ:f?ΫemBvDmmEy ﻴM:z,I3$j]MzaI-xWrQ8lzԳ~ vLAS(gy]c[5\j"Vct[oBaQp2G-K:^ -c/ LGO婩 -HLBę-b)w Qf]6EB9%å]!t~@<8>nj[XK}E<SQݖ[t”]5" RCrLGc E8}Y:BG6]Ow {> 6Ur:Ge@f!5W1u8{mڏYj -# `:jt&‹ѨCYI3 HL3,#pѬs\^?SԼ(w S{Pq{ |_A^rowhj0AN"0lNps]c7tdS,*Fr>gE-WT YꛀyxQIq%w듚ڛ`ڮ9gWpιSW/f _,'}+N?,0؀%۵}QO t<&)nЩe+,~R!by/gʒ8Ʉ]G*,BTMijF6=Y@boV̂Ez+.+Ϗ# z(! Y`Ga&ݏ!pendstream -endobj - -14582 0 obj -<>/P 8082 0 R/Type/Annot/A 44287 0 R/Subtype/Link/Rect[275 670 285 678]/Border[0 0 0]/H/N>> -endobj - -14583 0 obj -<>/P 8082 0 R/Type/Annot/A 43775 0 R/Subtype/Link/Rect[287 670 295 678]/Border[0 0 0]/H/N>> -endobj - -14584 0 obj -<>/P 8082 0 R/Type/Annot/A 44103 0 R/Subtype/Link/Rect[241 660 249 668]/Border[0 0 0]/H/N>> -endobj - -14585 0 obj -<>/P 8082 0 R/Type/Annot/A 44178 0 R/Subtype/Link/Rect[241 650 251 658]/Border[0 0 0]/H/N>> -endobj - -14586 0 obj -<>/P 8082 0 R/Type/Annot/A 44150 0 R/Subtype/Link/Rect[253 650 261 658]/Border[0 0 0]/H/N>> -endobj - -14587 0 obj -<>/P 8082 0 R/Type/Annot/A 44113 0 R/Subtype/Link/Rect[246 640 259 649]/Border[0 0 0]/H/N>> -endobj - -14588 0 obj -<>/P 8082 0 R/Type/Annot/A 44084 0 R/Subtype/Link/Rect[259 640 267 648]/Border[0 0 0]/H/N>> -endobj - -14589 0 obj -<>/P 8082 0 R/Type/Annot/A 44040 0 R/Subtype/Link/Rect[280 630 290 638]/Border[0 0 0]/H/N>> -endobj - -14590 0 obj -<>/P 8082 0 R/Type/Annot/A 15486 0 R/Subtype/Link/Rect[292 630 302 638]/Border[0 0 0]/H/N>> -endobj - -14591 0 obj -<>/P 8082 0 R/Type/Annot/A 15422 0 R/Subtype/Link/Rect[152 620 163 628]/Border[0 0 0]/H/N>> -endobj - -14592 0 obj -<>/P 8082 0 R/Type/Annot/A 43946 0 R/Subtype/Link/Rect[260 610 268 618]/Border[0 0 0]/H/N>> -endobj - -14593 0 obj -<>/P 8082 0 R/Type/Annot/A 43888 0 R/Subtype/Link/Rect[275 600 285 608]/Border[0 0 0]/H/N>> -endobj - -14594 0 obj -<>/P 8082 0 R/Type/Annot/A 43858 0 R/Subtype/Link/Rect[287 600 295 608]/Border[0 0 0]/H/N>> -endobj - -14595 0 obj -<>/P 8082 0 R/Type/Annot/A 43830 0 R/Subtype/Link/Rect[236 590 246 598]/Border[0 0 0]/H/N>> -endobj - -14596 0 obj -<>/P 8082 0 R/Type/Annot/A 43636 0 R/Subtype/Link/Rect[248 590 260 598]/Border[0 0 0]/H/N>> -endobj - -14597 0 obj -<>/P 8082 0 R/Type/Annot/A 43753 0 R/Subtype/Link/Rect[241 580 254 589]/Border[0 0 0]/H/N>> -endobj - -14598 0 obj -<>/P 8082 0 R/Type/Annot/A 43715 0 R/Subtype/Link/Rect[254 580 264 588]/Border[0 0 0]/H/N>> -endobj - -14599 0 obj -<>/P 8082 0 R/Type/Annot/A 43683 0 R/Subtype/Link/Rect[266 580 276 588]/Border[0 0 0]/H/N>> -endobj - -14600 0 obj -<>/P 8082 0 R/Type/Annot/A 43633 0 R/Subtype/Link/Rect[278 580 290 588]/Border[0 0 0]/H/N>> -endobj - -14601 0 obj -<>/P 8082 0 R/Type/Annot/A 43602 0 R/Subtype/Link/Rect[270 570 283 579]/Border[0 0 0]/H/N>> -endobj - -14602 0 obj -<>/P 8082 0 R/Type/Annot/A 43552 0 R/Subtype/Link/Rect[283 570 291 578]/Border[0 0 0]/H/N>> -endobj - -14603 0 obj -<>/P 8082 0 R/Type/Annot/A 43525 0 R/Subtype/Link/Rect[231 560 243 568]/Border[0 0 0]/H/N>> -endobj - -14604 0 obj -<>/P 8082 0 R/Type/Annot/A 43487 0 R/Subtype/Link/Rect[241 550 253 558]/Border[0 0 0]/H/N>> -endobj - -14605 0 obj -<>/P 8082 0 R/Type/Annot/A 43282 0 R/Subtype/Link/Rect[227 540 235 548]/Border[0 0 0]/H/N>> -endobj - -14606 0 obj -<>/P 8082 0 R/Type/Annot/A 43097 0 R/Subtype/Link/Rect[265 530 278 539]/Border[0 0 0]/H/N>> -endobj - -14607 0 obj -<>/P 8082 0 R/Type/Annot/A 43373 0 R/Subtype/Link/Rect[278 530 286 538]/Border[0 0 0]/H/N>> -endobj - -14608 0 obj -<>/P 8082 0 R/Type/Annot/A 43342 0 R/Subtype/Link/Rect[222 520 230 528]/Border[0 0 0]/H/N>> -endobj - -14609 0 obj -<>/P 8082 0 R/Type/Annot/A 43283 0 R/Subtype/Link/Rect[256 510 264 518]/Border[0 0 0]/H/N>> -endobj - -14610 0 obj -<>/P 8082 0 R/Type/Annot/A 43247 0 R/Subtype/Link/Rect[241 500 249 508]/Border[0 0 0]/H/N>> -endobj - -14611 0 obj -<>/P 8082 0 R/Type/Annot/A 43187 0 R/Subtype/Link/Rect[270 490 283 499]/Border[0 0 0]/H/N>> -endobj - -14612 0 obj -<>/P 8082 0 R/Type/Annot/A 43167 0 R/Subtype/Link/Rect[283 490 291 498]/Border[0 0 0]/H/N>> -endobj - -14613 0 obj -<>/P 8082 0 R/Type/Annot/A 43132 0 R/Subtype/Link/Rect[287 480 299 488]/Border[0 0 0]/H/N>> -endobj - -14614 0 obj -<>/P 8082 0 R/Type/Annot/A 42928 0 R/Subtype/Link/Rect[231 470 243 478]/Border[0 0 0]/H/N>> -endobj - -14615 0 obj -<>/P 8082 0 R/Type/Annot/A 42738 0 R/Subtype/Link/Rect[260 460 270 468]/Border[0 0 0]/H/N>> -endobj - -14616 0 obj -<>/P 8082 0 R/Type/Annot/A 43002 0 R/Subtype/Link/Rect[272 460 280 468]/Border[0 0 0]/H/N>> -endobj - -14617 0 obj -<>/P 8082 0 R/Type/Annot/A 42981 0 R/Subtype/Link/Rect[246 450 254 458]/Border[0 0 0]/H/N>> -endobj - -14618 0 obj -<>/P 8082 0 R/Type/Annot/A 42932 0 R/Subtype/Link/Rect[246 440 254 448]/Border[0 0 0]/H/N>> -endobj - -14619 0 obj -<>/P 8082 0 R/Type/Annot/A 42914 0 R/Subtype/Link/Rect[236 430 244 438]/Border[0 0 0]/H/N>> -endobj - -14620 0 obj -<>/P 8082 0 R/Type/Annot/A 42867 0 R/Subtype/Link/Rect[265 420 273 428]/Border[0 0 0]/H/N>> -endobj - -14621 0 obj -<>/P 8082 0 R/Type/Annot/A 15589 0 R/Subtype/Link/Rect[284 410 294 418]/Border[0 0 0]/H/N>> -endobj - -14622 0 obj -<>/P 8082 0 R/Type/Annot/A 42797 0 R/Subtype/Link/Rect[296 410 304 418]/Border[0 0 0]/H/N>> -endobj - -14623 0 obj -<>/P 8082 0 R/Type/Annot/A 42587 0 R/Subtype/Link/Rect[275 400 283 408]/Border[0 0 0]/H/N>> -endobj - -14624 0 obj -<>/P 8082 0 R/Type/Annot/A 42727 0 R/Subtype/Link/Rect[275 390 285 398]/Border[0 0 0]/H/N>> -endobj - -14625 0 obj -<>/P 8082 0 R/Type/Annot/A 42686 0 R/Subtype/Link/Rect[287 390 299 398]/Border[0 0 0]/H/N>> -endobj - -14626 0 obj -<>/P 8082 0 R/Type/Annot/A 42651 0 R/Subtype/Link/Rect[241 380 251 388]/Border[0 0 0]/H/N>> -endobj - -14627 0 obj -<>/P 8082 0 R/Type/Annot/A 14736 0 R/Subtype/Link/Rect[253 380 265 388]/Border[0 0 0]/H/N>> -endobj - -14628 0 obj -<>/P 8082 0 R/Type/Annot/A 42573 0 R/Subtype/Link/Rect[256 370 264 378]/Border[0 0 0]/H/N>> -endobj - -14629 0 obj -<>/P 8082 0 R/Type/Annot/A 42547 0 R/Subtype/Link/Rect[241 360 251 368]/Border[0 0 0]/H/N>> -endobj - -14630 0 obj -<>/P 8082 0 R/Type/Annot/A 42498 0 R/Subtype/Link/Rect[253 360 263 368]/Border[0 0 0]/H/N>> -endobj - -14631 0 obj -<>/P 8082 0 R/Type/Annot/A 42465 0 R/Subtype/Link/Rect[265 360 273 368]/Border[0 0 0]/H/N>> -endobj - -14632 0 obj -<>/P 8082 0 R/Type/Annot/A 42415 0 R/Subtype/Link/Rect[241 350 254 359]/Border[0 0 0]/H/N>> -endobj - -14633 0 obj -<>/P 8082 0 R/Type/Annot/A 42379 0 R/Subtype/Link/Rect[254 350 262 358]/Border[0 0 0]/H/N>> -endobj - -14634 0 obj -<>/P 8082 0 R/Type/Annot/A 42358 0 R/Subtype/Link/Rect[227 340 241 348]/Border[0 0 0]/H/N>> -endobj - -14635 0 obj -<>/P 8082 0 R/Type/Annot/A 42321 0 R/Subtype/Link/Rect[243 340 259 349]/Border[0 0 0]/H/N>> -endobj - -14636 0 obj -<>/P 8082 0 R/Type/Annot/A 42061 0 R/Subtype/Link/Rect[260 340 272 348]/Border[0 0 0]/H/N>> -endobj - -14637 0 obj -<>/P 8082 0 R/Type/Annot/A 42234 0 R/Subtype/Link/Rect[190 330 202 338]/Border[0 0 0]/H/N>> -endobj - -14638 0 obj -<>/P 8082 0 R/Type/Annot/A 42189 0 R/Subtype/Link/Rect[241 320 254 329]/Border[0 0 0]/H/N>> -endobj - -14639 0 obj -<>/P 8082 0 R/Type/Annot/A 41689 0 R/Subtype/Link/Rect[254 320 264 328]/Border[0 0 0]/H/N>> -endobj - -14640 0 obj -<>/P 8082 0 R/Type/Annot/A 42094 0 R/Subtype/Link/Rect[266 320 283 329]/Border[0 0 0]/H/N>> -endobj - -14641 0 obj -<>/P 8082 0 R/Type/Annot/A 42062 0 R/Subtype/Link/Rect[284 320 296 328]/Border[0 0 0]/H/N>> -endobj - -14642 0 obj -<>/P 8082 0 R/Type/Annot/A 42015 0 R/Subtype/Link/Rect[241 310 249 318]/Border[0 0 0]/H/N>> -endobj - -14643 0 obj -<>/P 8082 0 R/Type/Annot/A 41973 0 R/Subtype/Link/Rect[236 300 244 308]/Border[0 0 0]/H/N>> -endobj - -14644 0 obj -<>/P 8082 0 R/Type/Annot/A 41945 0 R/Subtype/Link/Rect[270 290 278 298]/Border[0 0 0]/H/N>> -endobj - -14645 0 obj -<>/P 8082 0 R/Type/Annot/A 41901 0 R/Subtype/Link/Rect[294 280 302 288]/Border[0 0 0]/H/N>> -endobj - -14646 0 obj -<>/P 8082 0 R/Type/Annot/A 41860 0 R/Subtype/Link/Rect[256 270 264 278]/Border[0 0 0]/H/N>> -endobj - -14647 0 obj -<>/P 8082 0 R/Type/Annot/A 41793 0 R/Subtype/Link/Rect[294 260 304 268]/Border[0 0 0]/H/N>> -endobj - -14648 0 obj -<>/P 8082 0 R/Type/Annot/A 41742 0 R/Subtype/Link/Rect[152 250 160 258]/Border[0 0 0]/H/N>> -endobj - -14649 0 obj -<>/P 8082 0 R/Type/Annot/A 41699 0 R/Subtype/Link/Rect[280 240 290 248]/Border[0 0 0]/H/N>> -endobj - -14650 0 obj -<>/P 8082 0 R/Type/Annot/A 41657 0 R/Subtype/Link/Rect[292 240 300 248]/Border[0 0 0]/H/N>> -endobj - -14651 0 obj -<>/P 8082 0 R/Type/Annot/A 41616 0 R/Subtype/Link/Rect[251 230 259 238]/Border[0 0 0]/H/N>> -endobj - -14652 0 obj -<>/P 8082 0 R/Type/Annot/A 41566 0 R/Subtype/Link/Rect[246 220 259 229]/Border[0 0 0]/H/N>> -endobj - -14653 0 obj -<>/P 8082 0 R/Type/Annot/A 15705 0 R/Subtype/Link/Rect[259 220 267 228]/Border[0 0 0]/H/N>> -endobj - -14654 0 obj -<>/P 8082 0 R/Type/Annot/A 41493 0 R/Subtype/Link/Rect[246 210 256 218]/Border[0 0 0]/H/N>> -endobj - -14655 0 obj -<>/P 8082 0 R/Type/Annot/A 15581 0 R/Subtype/Link/Rect[258 210 268 218]/Border[0 0 0]/H/N>> -endobj - -14656 0 obj -<>/P 8082 0 R/Type/Annot/A 41199 0 R/Subtype/Link/Rect[270 210 284 218]/Border[0 0 0]/H/N>> -endobj - -14657 0 obj -<>/P 8082 0 R/Type/Annot/A 41180 0 R/Subtype/Link/Rect[286 210 298 218]/Border[0 0 0]/H/N>> -endobj - -14658 0 obj -<>/P 8082 0 R/Type/Annot/A 41334 0 R/Subtype/Link/Rect[251 200 261 208]/Border[0 0 0]/H/N>> -endobj - -14659 0 obj -<>/P 8082 0 R/Type/Annot/A 41121 0 R/Subtype/Link/Rect[263 200 271 208]/Border[0 0 0]/H/N>> -endobj - -14660 0 obj -<>/P 8082 0 R/Type/Annot/A 41076 0 R/Subtype/Link/Rect[265 190 278 199]/Border[0 0 0]/H/N>> -endobj - -14661 0 obj -<>/P 8082 0 R/Type/Annot/A 14737 0 R/Subtype/Link/Rect[278 190 286 198]/Border[0 0 0]/H/N>> -endobj - -14662 0 obj -<>/P 8082 0 R/Type/Annot/A 14735 0 R/Subtype/Link/Rect[265 180 278 189]/Border[0 0 0]/H/N>> -endobj - -14663 0 obj -<>/P 8082 0 R/Type/Annot/A 14734 0 R/Subtype/Link/Rect[278 180 286 188]/Border[0 0 0]/H/N>> -endobj - -14664 0 obj -<>/P 8082 0 R/Type/Annot/A 14733 0 R/Subtype/Link/Rect[304 170 312 178]/Border[0 0 0]/H/N>> -endobj - -14665 0 obj -<>/P 8082 0 R/Type/Annot/A 14731 0 R/Subtype/Link/Rect[227 160 235 168]/Border[0 0 0]/H/N>> -endobj - -14666 0 obj -<>/P 8082 0 R/Type/Annot/A 41072 0 R/Subtype/Link/Rect[260 150 273 159]/Border[0 0 0]/H/N>> -endobj - -14667 0 obj -<>/P 8082 0 R/Type/Annot/A 40754 0 R/Subtype/Link/Rect[274 150 282 158]/Border[0 0 0]/H/N>> -endobj - -14668 0 obj -<>/P 8082 0 R/Type/Annot/A 40722 0 R/Subtype/Link/Rect[440 670 448 678]/Border[0 0 0]/H/N>> -endobj - -14669 0 obj -<>/P 8082 0 R/Type/Annot/A 40684 0 R/Subtype/Link/Rect[435 660 443 668]/Border[0 0 0]/H/N>> -endobj - -14670 0 obj -<>/P 8082 0 R/Type/Annot/A 38406 0 R/Subtype/Link/Rect[430 650 442 658]/Border[0 0 0]/H/N>> -endobj - -14671 0 obj -<>/P 8082 0 R/Type/Annot/A 40094 0 R/Subtype/Link/Rect[435 640 447 648]/Border[0 0 0]/H/N>> -endobj - -14672 0 obj -<>/P 8082 0 R/Type/Annot/A 39548 0 R/Subtype/Link/Rect[459 630 469 638]/Border[0 0 0]/H/N>> -endobj - -14673 0 obj -<>/P 8082 0 R/Type/Annot/A 39507 0 R/Subtype/Link/Rect[471 630 479 638]/Border[0 0 0]/H/N>> -endobj - -14674 0 obj -<>/P 8082 0 R/Type/Annot/A 38982 0 R/Subtype/Link/Rect[483 620 491 628]/Border[0 0 0]/H/N>> -endobj - -14675 0 obj -<>/P 8082 0 R/Type/Annot/A 38148 0 R/Subtype/Link/Rect[454 610 462 618]/Border[0 0 0]/H/N>> -endobj - -14676 0 obj -<>/P 8082 0 R/Type/Annot/A 38409 0 R/Subtype/Link/Rect[459 600 471 609]/Border[0 0 0]/H/N>> -endobj - -14677 0 obj -<>/P 8082 0 R/Type/Annot/A 38350 0 R/Subtype/Link/Rect[472 600 480 608]/Border[0 0 0]/H/N>> -endobj - -14678 0 obj -<>/P 8082 0 R/Type/Annot/A 38320 0 R/Subtype/Link/Rect[464 590 472 598]/Border[0 0 0]/H/N>> -endobj - -14679 0 obj -<>/P 8082 0 R/Type/Annot/A 38283 0 R/Subtype/Link/Rect[464 580 476 589]/Border[0 0 0]/H/N>> -endobj - -14680 0 obj -<>/P 8082 0 R/Type/Annot/A 38255 0 R/Subtype/Link/Rect[477 580 485 588]/Border[0 0 0]/H/N>> -endobj - -14681 0 obj -<>/P 8082 0 R/Type/Annot/A 36808 0 R/Subtype/Link/Rect[483 570 491 578]/Border[0 0 0]/H/N>> -endobj - -14682 0 obj -<>/P 8082 0 R/Type/Annot/A 36775 0 R/Subtype/Link/Rect[444 560 452 568]/Border[0 0 0]/H/N>> -endobj - -14683 0 obj -<>/P 8082 0 R/Type/Annot/A 36731 0 R/Subtype/Link/Rect[360 540 370 548]/Border[0 0 0]/H/N>> -endobj - -14684 0 obj -<>/P 8082 0 R/Type/Annot/A 36693 0 R/Subtype/Link/Rect[372 540 384 548]/Border[0 0 0]/H/N>> -endobj - -14685 0 obj -<>/P 8082 0 R/Type/Annot/A 33665 0 R/Subtype/Link/Rect[360 520 370 528]/Border[0 0 0]/H/N>> -endobj - -14686 0 obj -<>/P 8082 0 R/Type/Annot/A 35870 0 R/Subtype/Link/Rect[372 520 384 528]/Border[0 0 0]/H/N>> -endobj - -14687 0 obj -<>/P 8082 0 R/Type/Annot/A 35097 0 R/Subtype/Link/Rect[478 510 488 518]/Border[0 0 0]/H/N>> -endobj - -14688 0 obj -<>/P 8082 0 R/Type/Annot/A 35057 0 R/Subtype/Link/Rect[490 510 502 518]/Border[0 0 0]/H/N>> -endobj - -14689 0 obj -<>/P 8082 0 R/Type/Annot/A 34278 0 R/Subtype/Link/Rect[502 500 510 508]/Border[0 0 0]/H/N>> -endobj - -14690 0 obj -<>/P 8082 0 R/Type/Annot/A 34238 0 R/Subtype/Link/Rect[502 490 510 498]/Border[0 0 0]/H/N>> -endobj - -14691 0 obj -<>/P 8082 0 R/Type/Annot/A 34202 0 R/Subtype/Link/Rect[395 470 403 478]/Border[0 0 0]/H/N>> -endobj - -14692 0 obj -<>/P 8082 0 R/Type/Annot/A 33648 0 R/Subtype/Link/Rect[360 450 370 458]/Border[0 0 0]/H/N>> -endobj - -14693 0 obj -<>/P 8082 0 R/Type/Annot/A 33605 0 R/Subtype/Link/Rect[372 450 384 458]/Border[0 0 0]/H/N>> -endobj - -14694 0 obj -<>/P 8082 0 R/Type/Annot/A 30091 0 R/Subtype/Link/Rect[395 430 403 438]/Border[0 0 0]/H/N>> -endobj - -14695 0 obj -<>/P 8082 0 R/Type/Annot/A 33044 0 R/Subtype/Link/Rect[395 410 403 418]/Border[0 0 0]/H/N>> -endobj - -14696 0 obj -<>/P 8082 0 R/Type/Annot/A 32573 0 R/Subtype/Link/Rect[444 400 454 408]/Border[0 0 0]/H/N>> -endobj - -14697 0 obj -<>/P 8082 0 R/Type/Annot/A 32530 0 R/Subtype/Link/Rect[456 400 466 408]/Border[0 0 0]/H/N>> -endobj - -14698 0 obj -<>/P 8082 0 R/Type/Annot/A 31850 0 R/Subtype/Link/Rect[468 400 480 408]/Border[0 0 0]/H/N>> -endobj - -14699 0 obj -<>/P 8082 0 R/Type/Annot/A 31797 0 R/Subtype/Link/Rect[360 380 370 388]/Border[0 0 0]/H/N>> -endobj - -14700 0 obj -<>/P 8082 0 R/Type/Annot/A 31108 0 R/Subtype/Link/Rect[372 380 382 388]/Border[0 0 0]/H/N>> -endobj - -14701 0 obj -<>/P 8082 0 R/Type/Annot/A 31059 0 R/Subtype/Link/Rect[384 380 396 388]/Border[0 0 0]/H/N>> -endobj - -14702 0 obj -<>/P 8082 0 R/Type/Annot/A 31000 0 R/Subtype/Link/Rect[360 360 368 368]/Border[0 0 0]/H/N>> -endobj - -14703 0 obj -<>/P 8082 0 R/Type/Annot/A 15704 0 R/Subtype/Link/Rect[449 350 457 358]/Border[0 0 0]/H/N>> -endobj - -14704 0 obj -<>/P 8082 0 R/Type/Annot/A 30252 0 R/Subtype/Link/Rect[454 340 467 349]/Border[0 0 0]/H/N>> -endobj - -14705 0 obj -<>/P 8082 0 R/Type/Annot/A 30223 0 R/Subtype/Link/Rect[467 340 475 348]/Border[0 0 0]/H/N>> -endobj - -14706 0 obj -<>/P 8082 0 R/Type/Annot/A 30166 0 R/Subtype/Link/Rect[440 330 450 338]/Border[0 0 0]/H/N>> -endobj - -14707 0 obj -<>/P 8082 0 R/Type/Annot/A 15030 0 R/Subtype/Link/Rect[452 330 460 338]/Border[0 0 0]/H/N>> -endobj - -14708 0 obj -<>/P 8082 0 R/Type/Annot/A 30080 0 R/Subtype/Link/Rect[507 320 515 328]/Border[0 0 0]/H/N>> -endobj - -14709 0 obj -<>/P 8082 0 R/Type/Annot/A 14769 0 R/Subtype/Link/Rect[459 310 471 318]/Border[0 0 0]/H/N>> -endobj - -14710 0 obj -<>/P 8082 0 R/Type/Annot/A 29285 0 R/Subtype/Link/Rect[468 300 481 309]/Border[0 0 0]/H/N>> -endobj - -14711 0 obj -<>/P 8082 0 R/Type/Annot/A 29258 0 R/Subtype/Link/Rect[482 300 490 308]/Border[0 0 0]/H/N>> -endobj - -14712 0 obj -<>/P 8082 0 R/Type/Annot/A 29208 0 R/Subtype/Link/Rect[473 290 485 298]/Border[0 0 0]/H/N>> -endobj - -14713 0 obj -<>/P 8082 0 R/Type/Annot/A 29163 0 R/Subtype/Link/Rect[507 280 515 288]/Border[0 0 0]/H/N>> -endobj - -14714 0 obj -<>/P 8082 0 R/Type/Annot/A 14732 0 R/Subtype/Link/Rect[459 270 471 279]/Border[0 0 0]/H/N>> -endobj - -14715 0 obj -<>/P 8082 0 R/Type/Annot/A 27623 0 R/Subtype/Link/Rect[472 270 480 278]/Border[0 0 0]/H/N>> -endobj - -14716 0 obj -<>/P 8082 0 R/Type/Annot/A 29059 0 R/Subtype/Link/Rect[478 260 486 268]/Border[0 0 0]/H/N>> -endobj - -14717 0 obj -<>/P 8082 0 R/Type/Annot/A 28522 0 R/Subtype/Link/Rect[483 250 491 258]/Border[0 0 0]/H/N>> -endobj - -14718 0 obj -<>/P 8082 0 R/Type/Annot/A 28506 0 R/Subtype/Link/Rect[473 240 481 248]/Border[0 0 0]/H/N>> -endobj - -14719 0 obj -<>/P 8082 0 R/Type/Annot/A 28463 0 R/Subtype/Link/Rect[478 230 486 238]/Border[0 0 0]/H/N>> -endobj - -14720 0 obj -<>/P 8082 0 R/Type/Annot/A 28422 0 R/Subtype/Link/Rect[478 220 486 228]/Border[0 0 0]/H/N>> -endobj - -14721 0 obj -<>/P 8082 0 R/Type/Annot/A 21969 0 R/Subtype/Link/Rect[483 210 491 218]/Border[0 0 0]/H/N>> -endobj - -14722 0 obj -<>/P 8082 0 R/Type/Annot/A 28348 0 R/Subtype/Link/Rect[473 200 481 208]/Border[0 0 0]/H/N>> -endobj - -14723 0 obj -<>/P 8082 0 R/Type/Annot/A 27608 0 R/Subtype/Link/Rect[478 190 486 198]/Border[0 0 0]/H/N>> -endobj - -14724 0 obj -<>/P 8082 0 R/Type/Annot/A 27565 0 R/Subtype/Link/Rect[449 180 459 188]/Border[0 0 0]/H/N>> -endobj - -14725 0 obj -<>/P 8082 0 R/Type/Annot/A 26990 0 R/Subtype/Link/Rect[461 180 471 188]/Border[0 0 0]/H/N>> -endobj - -14726 0 obj -<>/P 8082 0 R/Type/Annot/A 26943 0 R/Subtype/Link/Rect[473 180 490 189]/Border[0 0 0]/H/N>> -endobj - -14727 0 obj -<>/P 8082 0 R/Type/Annot/A 24925 0 R/Subtype/Link/Rect[490 180 502 188]/Border[0 0 0]/H/N>> -endobj - -14728 0 obj -<>/P 8082 0 R/Type/Annot/A 26484 0 R/Subtype/Link/Rect[444 170 454 178]/Border[0 0 0]/H/N>> -endobj - -14729 0 obj -<>/P 8082 0 R/Type/Annot/A 26460 0 R/Subtype/Link/Rect[456 170 468 178]/Border[0 0 0]/H/N>> -endobj - -14730 0 obj -<>/P 8082 0 R/Type/Annot/A 25916 0 R/Subtype/Link/Rect[406 150 418 158]/Border[0 0 0]/H/N>> -endobj - -14731 0 obj -<> -endobj - -14732 0 obj -<> -endobj - -14733 0 obj -<> -endobj - -14734 0 obj -<> -endobj - -14735 0 obj -<> -endobj - -14736 0 obj -<> -endobj - -14737 0 obj -<> -endobj - -14738 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14739 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14740 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14741 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14742 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14743 0 obj -<> -stream -HWko۸_6*C/`@{I{"Pl%VWlߡDpE#pxfCήӺervy -#W|n۬6SEGH݌,! -̸.Aw;sb‡^pnǜĈ=i0Yr6 a,s[<ƀ%R/R/ R/ R/ RRR}KO->޷RK}H-!>ԇR#K}D,1>DŽz˳0-JGŘf1,µ,[=4V1`Řf- -µ,BZAc"\1"[k1Yz˵p-ƀEcE\+bLkZp-4PoVŘf- -µ+IcebLl,[=ƀEcE\+ bLk%Zp-4PoVŘf-JµZir$\1"[k1,µ,BZIcE\+ btZic"\1ͲcLlZir"\1"[Uk1,µ,BZEcE\b Xk1Yz˵p-4PoVbLkZir"\ bLlZicEzR V͊8h,s{8K#ƃbtngWi#+2oo9هY7[{ȟR2t/*3OSk*6M9fO2n\' -dR'_Z,uJ*Td{.nxHn-t?>J:w7bʼ]ɪ]պy۰*Vي]÷%K:c] N">pngۮY%~҆ɟ*X#  kY-%L2t$e}ܧ]NʠXZlE&N^X͖BVyjnS#(W|UoBMW63`3곸o՟lN3-ȏ X+(=zZ4:/mְMڬ3yfPvSj/pCTd|z,./nw\|%YW!r8?25i6N~뽮nhZO1Q c6/MmsjT`R^C}#H%|ӽ -8|qO%TNY2ftf}tqm@^0x -1.Gz0O=05x"nE':<Wi趆yq'v c •c^?Ѝ=ux$4W`wHR&9M[tċ+FǬG@)&"j 43o!u$ <ࣅ& -Hp<'|M^|Ӎ>.>~Gpn봰CXQI}LӧkBYw.z2 ֔q8NoP}xco[gs[,u~8k7fL]W/ teo끀#8/2QycE^q)ġc}PC^d424Kgwymm*\Q4uq_I}`+BOU- -yw 4փ]&avֺ=5t~L8kF(/tɽ&ǽ᧵M{K9Oc-,~#3%Yv|/aCǃ77sr{2E&Q"}q[K]MƔNr֬7U?ͳkJ{Tuo|:&uq %Hɺ/ˋUӏq?֏}~ϠY?.bnoq R նNx9V8b zpKsz`x6{uEg@~~7PP+&XV,ERV,ERV,[|"o -X+ bi_ᆍAأV]PVF$l;ρ@߽Fo*pUU&\5q+j+Х7ХDYeˁtHz{GכP;ҽބ".ޑ&qAt7 w{ E\н#M(=^oBKo"M(=^oBtIz{OכP{ҽބ".ޓ&qAt7 { E\н'M(^oBKo"M(^oBtHz@כPҽބ".>&qAt7 { E\} M(KҽބBEכP&gُgB.ty36WT{"?;[:+xҦs¹_^VYڻʬӇgSlej[8x0ǯnyyK!~K4ٶnvWkӷYš*ȉ|rҽ~w+!v}?v|?I󯟎gGA˧gendstream -endobj - -14744 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14745 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14746 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14747 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14748 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14749 0 obj -<> -stream -HWk۶_A jŇ^A&}% - -]+%גͿ3"%xS!ϐ쫯n~~[oy /Kre:5Ajܼכvuup2Y%l$f+`L9[n0@S4.OM=r'B""#6l+ulq-8|n@_,ZLFY&Nެ n;d` b]j S!`Gc3ޱۿbbA!H$0p6(3`|>p8<Ős1`q Y rsw1` B BKBKBKB+B+B'SO}BO<)>ԧS3O}F<>SsO}A/<,'Lb@u1d] Xk] YzCŀEŐE\+׺kZZCs \b"{k] Xk] Yzϵp!PVu1`u1d= -µ.,BZAŶ$\bջ׺|.,_p!PVu1d=Jµ.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] YzϵpmEŐw1`u1d] YzZCs"\b"{Uk] Xk] Yzϵp!PVu1`u1d=*µ.,BZEŀEŐE\׺kZ ZCŀEŐw1dꋨ( -bo֬epK!( qQD)K-Aȓ(],?D,y"Fm\ke_Mڽm뇷F~=Orlح}~ykn gtٵM-Wy<6r\9)D1\˺ի )P9d[ph*8ҝ44)~]lv=<smǪ"ٺlVCCٴG j(僚݅wÎ}vN7wዛ⊽ؿ[-__~駻řlH'((:#<޾xf*hc姣%*%p)Qa:N`nNؓ*q =!EXNw2+`aRa74%F\d4UgȐZg|ևJ;z\׻~6C})_v2?zL֧Ϊ+HR(i+Exq׽62,ˊMy'r6Z-1ʡ&ê̩-*4֍vMw$t^h|x| tlMۖtכ)v/ ԎKuZ 0<b˄bm8#GԩSnz rf_}~ -y@U ;l=JkCcǙ3L$;mah2e7i(/,K-3U\3UH\b"ߚ>{o'3suF1wp^a$[uӿ׋fNڛ oڦ iVPrcUٗWBvaG؆~ 0ks>v‹0f"ܞ@)z0#s6S9mڻrb{Mr| _bޘ;iH!BjLզOt8Eil˾nZM_b8uS)k4(|?U۸ D>z ){)E -P4=([Ϊq,#/ԇؓE>̼#هşZHX\QBUJ@zuLjPra.g37coß'֣퓰 -`ȇ+ 0 Á?gc 678vg0~2Gqs t53]Y )dfy{Onw^N)""r5p&;V3kg6iC)ۣC}1'W˗ zl߱SgʹEU^ʈ{݌-)*,%vT9Uu ˾*J^ A"J L٘qofe u4S3nr1lJu$|Ǡt,u~mmؕbnxjvosM?ZژFwcG~T53i2^/K~L8h -"5rB}֞pm֪r6 8-\uyLƉU:XN:H|P-<:N-(&ڍA:$Z=h=Az[t -KU>aH6^l\)pd*n}Jyy[NsPV+ Q Rjf'4G2dܦʘ,t2\*Uɵ-Zy=c!ul=k` d ` --V1\`O8}ĸ[xzc( e\ay: '3p X_)K.Ʈ,Jyӿ3ްjyB`+oekc\EEIYəݸ࣬*Y]?pG7; M5cI) Q& Wfqz0cAtb^Bt.HX4T Xp -/DLD1>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14751 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14752 0 obj -<> -endobj - -14753 0 obj -<> -endobj - -14754 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14755 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14756 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14757 0 obj -<> -stream -H]۶+x-?E( -4i$@" -Nmykk6 e"g&=AZ~!Co: o{!O?=YWlk+\kF ߘiqbS)~5=;ݡN8؜vB] ASxيzxݭݱ7O %k޼[K4*Wf8:fa>(mJɦ!+o_s}LţPR3}ěwR|U0M$y/} -321Ja-R4րRRHc(])jk@iƽ&5^qo{ø7Ľa2-qow{G;ƽ# !}C{ƽ'=qq-%>qOjV1ECZ{T-"Ec-R=րbkbܓLb-R{RZT-"Ÿ'UZj5SXZEqOV3UH1IjjSXTfkbܓLbPj)k@1UHQXu5Zj SXTak@1UH1Ij)=ZT-րbkbܓ5Lb-R{RZT-"Ÿ'UkZj SX;TZEPLb-R="Ec (j)=ZT-"Ÿ'UkPLb-R{RZEqO2U5Zj-SXTek@1UH1IZj)=ZT-ckSXuHQ!X!q}.ۥC %wJMPYޭWybtp[cnjv5O~3atn* it[KivuZaHz8wg~vumU<Q>/Y'CzQN% |]O#Y5\USE9,?怲5T4lR6$@ -@>x<\X<ԚZeT&t c@Os`uioCLN̕}v(wv$vg1rñ]jcE\թJhG -*iZH]K;&eN~ѵMġ.Oھc=GGXm FU3wq) ~V ?TF?qq%i̺%SįÐgj{M͸13)0FOiO8FMK_I洏K޴^r9ż}ofgJ6%~zZafJ 1hcLr^M%h! p0?a2B/V5L/ZP+ncpx c^P. k -'A|aWxN\.B0hZvv-nkf1޳=)kaѝWC^xpoZ`}7)ܪN[6a2>~i+-ٙ::{ M!ܫ޶m =BA)U|[Æe+Pe%fK$'+wGR;'.9e [@+RxTBPE7W_"ᾆM]5XD>1Mr+;7ٹQŜB+ wTv:"F"Iv;es -y(=ߗ;FyUT}X+YO I`KE_?<ѼkPgE0\IJ[1/A+ Z1FJ܊F(=h| -E4å f4Jp% WBR+%\)ÕWpe+gr•3\9*p Wsɘr>DQ.(p %.A$% d%{߇(^2}b%{߇(^2}b%{߇(^2}b%{߇(^1}\P}.{!"W}.{!"W}.{!"W}.{!"W}.{!r>@1}b5{߇(^3}b5{߇(^3}b5{߇(^3}b5{߇(^3}bFQ拢Fh),`dMVaZmy<ßy=m XغXEIM~0GGnfGFf**TnѦCܹN>vjYjS77ͦ6}Su`&*x 'Q2,DD2ZD.M:2s sŜюP"Bօtہ"HWq?VHLU8@try{r'50endstream -endobj - -14758 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14759 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14760 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14761 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14762 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14763 0 obj -<> -stream -HtWmo6_ -UDRˡ(pmvh#1o-+QnE!=?3(zݯ47_7$KHEdIN"g Q/7vF/hsyZWuԫ/4z6﷛-+HoX|yn4[w-k U#cj -kյvKr;Q2kƟ`GB@RQ䨤M2+J/'n7F3?wTFR/A̪uY:b'WrqN劖4;8ݠ,bqvԡr]œJjX[YUz%zg+j2MR[ ƻ*^Jsk@D[,zKpaE_;h_jx#0nñ?_=EܫuàtX$[G>1a%j0m|elHhJA\>Zr*ieaĴW0@P&rXFr79[ -hRѶ.R%ğ%."I<1ʏG'# |toI-C&)2ˠva[%Z#v%LVI,TC7SuQU%)II. SdXi%I"^gSg d76us$P#ЪodM ;@\5eʊTp@}c^GW+NE'In_ڜ 병 r?ݸA0vo&&'c|09fikyU{pP@!@{;^e-S˴ix=~/ɪKtZ<R~S^ƙVEŠ"P.YFHU4d 3~IVҕ,pe0Tjlǿ@\_G2/j@NG.ˍ %XF-"C rj>ZQSC=BE.,ѐ'3-$7(DG9~Jd>msS# a 0\Zϕ"=`|ZfiB`B cct΃_ҟ{8u}Fǭn7onNaaKe`3 Q-j4)f\Ps HqƲy'j<Aҹdp˅O`(賅 sN_h20fAzVWZ @=sμHp=6gvoGp܀ ѹcFȕy!|Dbq\.37F'<<0H'ld)WOR B1Z)\Ž)vN3;P!K+%B:NfJ_a8l%SɓZxNɢ;f$8p9uNY:9Iᾓ A^WjY4TyZ@ʈAN~lk8*+[[wpc4 j9pj[HSHrʲaZ.<˵D+ -6Fhg/=^N&MW-^k ]EZjQ~XL>ܺI$\z VǴʂ קA*/Šgg|~ʕ> -EzտqigB{Vs]"^:7 =C9zrIbGTpSym+ GH\ =LHxGXePS"֯0h$+AZv-4Mb1v0bmB*4)#f[P[!{#0(j} [u6zvvi.F"N-wdaޢ\f콘U2qtVs$Ot\Y¡PP 4?ꡔJ}ݾm8U*Mlz^btRI8#)٬GH W",xЬ- *;7PՂ3j (endstream -endobj - -14764 0 obj -<>/P 1148 0 R/Type/Annot/A 18560 0 R/Subtype/Link/Rect[130.078995 539.020996 473.825989 673.916016]/Border[0 0 0]/H/N>> -endobj - -14765 0 obj -<>/P 1148 0 R/Type/Annot/A 18492 0 R/Subtype/Link/Rect[93.5999985 428.627991 199.356003 448.308014]/Border[0 0 0]/H/N>> -endobj - -14766 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14767 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14768 0 obj -<> -endobj - -14769 0 obj -<> -endobj - -14770 0 obj -<> -endobj - -14771 0 obj -<> -endobj - -14772 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14773 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14774 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14775 0 obj -<> -stream -HW]o8}ׯ -0$yh-0}Hk+ZZvWțE::<8W.Go|{2/n^&I2_jfJsɊ\q#١J>}D%czlCzurdmb\/ߒ K, 1,dEV.ImyұԜ%d6njŕ4Yܯ}>\|Z;9U#(s=U"}Y>y/# "^- 0|v07⒝ c2fU9d%[̀m>&ؘcTD -1dÅY,CBBC XP/#P/#P"P"P"P#P#Po"Po"Po"9>r$\b"\b"GkC Yȵpmpm!PV 1d#Jµ!,µ!,B}ZI6ĐE\+ ׆.QkC YCV>Đ1` 1d#*µ!,B}ZE6ĀE6ĐE\׆kC>r"\b"GUkC XkC Yȵpm!PV ] ׆b!,µ!X}!+Vb"\b"GՄkC Yȵpmpm!PV 1d#jµ!,µ!,B}ZM6ĐE\ ׆׆k5C>r&\b 1dC XkC YCQ)b;ϋ&RMdYn,jX$ b-K&smrcbmŎBesŕVVOw#|,j\w_-vČ 'XU3QŊ #Qc6C'8S -^zܟT Kpp艷)2Sd֪(VL1 [ޮ}.ojul0,奰n@1YŎ]DQ"bsdQ(ε+N]%c ,.3]`U]i6mfٲΚ5nn 1iz;$ RR.21VcfacŦj+|jX8`ܔp)F<䄷i{VYwT.q{U^Zx=?eyFNKtO_천!x++rNp;)?Y<Qn1;C ۶nlV_[ziOj9 - ;US&\5e~y.[QbUQa*awnJFJE JijmT.ܻٷ?c•cbXaD_%SDԕh/lq去g',Jr>_PRЅO&6 "jGtSݧdnIudDT='LD1 ] G@-&\r#Gl͕9^p[H/ɋITQmmJl2…o7Hy)yhƿV{mUzM•*gfݗ -4k"4r!;ׂoqfk\B4/$-G[?yӋ?{drxBrja[ۯg(M/%[Sam^@>~[nOPvA)mni_Nz&٭6۪P.{iNoQe8?UB1Ypj[< Tg? r2c?]X+@@rd=6̯LqwΛuծ - UYŅ1,_Q&k-LEa}ۛgkZ~OX׬5#V#X5{{߿;= pAņ Wߏٺ -jי ~2 307iqn8=VOP"x?^<{:d)|tȬՌo+'?;-t 5UEY -51 m[Nc=57hm]"YdT90lCa@|t~EYVl' (>RcgXzu' }(F(pBvnlLӵx tpT!C=h2"3P"t3@v<$əIEgsư yw,9NͯcAwPm@ @*ɲ<ܱ~(۴hݚ|\8^ Jq @ ժ -?kʺ))I84WXDq1).ກlvE~(q^!=P=1.v#X0&g ὍS0`?^k2 N/!g\A3ꍊNK.3* ٜ-:,65ƺ,.-bnZ=suL~<5Pcʢ9R;pӮkXCL>9*#v VǐVbWZ>:8[D^+x=:R`h13pZeu]KG`,[64 r[,~0WqEn -æ׎)D~HFӑ}[M oRLq-{P+ªWW%J2w}$uFt:=d/u X{0fzh=4` >mm6Rxϭ3HK FFPJb܍kA% F]dak:/bendstream -endobj - -14776 0 obj -<>/P 535 0 R/Type/Annot/A 44494 0 R/Subtype/Link/Rect[93.6006012 521.231018 303.804993 540.909973]/Border[0 0 0]/H/N>> -endobj - -14777 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14778 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14779 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14780 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14781 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14782 0 obj -<> -stream -HW@_$#FL ,ÐuIΉ)^T}Ā8fgwzɓWQg?>O>'e:㔯lVU6FuMj\%ZTrks?W67nnn5W*QwY\QZՋ$MrT+U8%M#m|^?yܰS+tꗇm?^woɻIו6+K3R^>EaEq{Zr̨ҹz~^ru`(WNBy'o9'HN`[Av,%aŽk-s, po{V-po{;N=p{{ KKK++>A:1#tϱ{KXdrXh{ZZ˱{ZZ1bcZ1bcEk h-" cEk h-Lj܋Z Z1bI,ZK{Eh-Lj܋ZZ ,Z #p/ZkAk9Y#p/ZkAk9F,^ւr,@k9F,^ւrXh:q#tϱ{KXdrXh{ZZ˱{ZZ1bcZ1bcEkh-" cEkh-Lj܋:ZZ1bI,ZK{Sq (Bj.+r@ -@ -*V! -UhBZЪV%*U -@+p-K-Kjq5ZZheZ"ca%@9F,%ro@9v.YB cZ"c%@9F,%ro@9v.Y\˂sXRc4-{ r1wȽ 2@Kނs%roA9F# - h[{D-=hZ"c4V-{ r1+Lj%8Fw h;{(D=hZ"cD=%h;{;w w%r@9F/@Kށs^̥Lj%8F@Kރ܇,Tɳ:kIqY<UiʸʲL=Ȫf]ׯPx)?whw]d=&,L–̝ܷ]cʓ D,̛céh YuRCl.G37!l&{3|6ݟM'y괉[|Cܙi|V7;du~Fxg+z(mS]^}Vm@?3w+gmV|<ʏ٘ڝ׶cgl;5;>Q9{eHWz|t4}4Sk|/7^R 9A}g?o[HUx]nK675^{8M6^fjÌU<1=@šnY~Qa3|rw7+r@ -@ -*V! -UhBZЪV%*U -@+p-K-Kjq,4BK-- 2B-{r1b-{r1b-{r1b-{r1b-{r1b-{r1b-{r1b-{ r1bI-E=LjD-=LjD-=LjD-=LjD-=LjD-=LjD-=LjD-=LjD-=LjD=Lj%8Y #w #w #w #w #w #w #w #w # #XdsXR+d!?Ɨgur]ViU/=ʫqxw9 UtQqG<˃wP -ߚa~pvX_.SVe5^ƒ\˫Rq=[n~Pę1^]q<;eX!jty2Bn.˦UFnvnn/I\׵qyʫq+rT,a-R 6@ ti[,T}i948!E"/<+ J ^c]Zm$ 1Ȇ q25Pf%6|SS/g({ICsPZ9ڈܫQ_#|pep&jcFjhO,o2qHbc&iR2l LdCY9Gojݵ*=[mEy>]ԧaxDUt/TɯFIu>῾k`2ZLІFi=L0xܶ42UI&$f;5 -ױ^qkQɐ7g7\DVv#=TbLb3K1RQokxġ%'07P1pCrBקAsq5QR҄EY _ûzpsno:f0 ,\"VBkûBHAEK'G}8AP7r: #\֯Im,0< }uL%n5`Pjg2qgf;Q#'jZZ7.yal;kp2*JDcI}ElF'}I!Îړ@5 ~ u&h C+7ſ8k0AP -S˓w2FI f/Wѧ$BD{Ba.K5& -(?Q6lm -=P)${>D.no^WQe - y ͸øRAbοgu ,a`Ŭ}ܛC<1tC - -[9&_ौǷ20BMV-y螴|hĄ0.Th@Q呎U?,zoMc};@2DA6|l{rSƾ$ L/r8PvɡM%*\2/`6qI[${M {5wDG[ $/)]JB?-9 >>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14784 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14785 0 obj -<> -endobj - -14786 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14787 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14788 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14789 0 obj -<> -stream -HWn6}WQ2I݋.nڸmXk!.vCYR ,03\]ZÇO7fwYB ܐ(܀Z"Ռ#-~eq#KY;EFbzs3^+'63G,'nH?p($ѹ|GlXङ{3dT[’@<ٲj+NwY[ - `ji%qo>yYꉍ$C97)?=:: FdQy c wh"ƪVBG94L>>OZXK,?RJ0D{A-zܦ{Q9ymZC$'~3ţM"sLNT7#zoLԭN-Ԯ3JL Yņ{{µ}:(dzn^"kRsnnAˡ ܕ@fzKD)݁;f*(ˠp#Bt'JޗaoSS2~χF>ui+ )(Iu'羒G~rNz* -MduLum9BtMaϟ3,;؉H4}q5vBsΠQhp҃iӉȉK["1_qfKtcܹeZka'M 6IX$9GY#jd+a u(xdCln{)W#*`hF( 7\ Cifp.Մx._N3 z/k{O*%wvސ+\%;cUXs}a 9a)|{ -ИԎ]iElezǟ44H7^}#ץjCìq`в,;^$?DZMEl*G]6& ;km9}=|):_*^!t%. 7@(']Q0q^ROFbpj3#DCc,mi8na8`߃?\D&$=PeFEjf+baendstream -endobj - -14790 0 obj -<>/P 361 0 R/Type/Annot/A 43434 0 R/Subtype/Link/Rect[129.600006 539.504028 218.903 564.392029]/Border[0 0 0]/H/N>> -endobj - -14791 0 obj -<>/P 361 0 R/Type/Annot/A 14792 0 R/Subtype/Link/Rect[341.080994 136.309998 475.580994 151.289993]/Border[0 0 0]/H/N>> -endobj - -14792 0 obj -<> -endobj - -14793 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14794 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14795 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14796 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14797 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14798 0 obj -<> -stream -HtWn8}WQbYlL`2{1A wn%J$%5YF<}Hr<۫/7X޽{:_U  Œ\F`Y*Dcź fOg5 S5X?W}ӭ`OC~\mw8< 'm \]l~L4uN"݅SW6"Kz_xmynx5珛 ~`)`}fwbcA!H$Q h۠H\Ns -c\ Yp.,}!+!Xv}.,AzAzIzIzIzEWzEWPxB}O>%ԧPz3B}>#gP{sB}/ {i] ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d= -µ.,BZAŀEŐE\+׺kZZCs \b"{k] $ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%ZZCs$\b"{k] ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d=*µ.,BZEŀEŐE\׺kZZCs"\b"{Uk] µ.,_p!WbQQoUܶMplxE,M i;..9/B(6Mq8q$n -kEB%:^l~ T2|~+፩CeG"ˋUr0۾)\UvU(Q=QC&j&tgyē|բ~'z lvddg8[ -, p:ES_(oCy?F_\)OγL%2J9 \D.y9az_Zxd}V Ema^q2a8ezY[ʷ"켇wNLº C$`foj+ګs9\8YN-5)xMJMMJe[IM+xLe0'HcrrZz͢}?98*+&sP17t#~zaڕa*'WK8C -\m -SX_8U$5.tfoR-T{|n(J*X3=?yvyt-Ö1З^g{.fx(" -lV -[KqlN[&ǿ'x_GՂ_$S4sSF߅esʜZ[ µSXvc9V8i+r;7g4PɆY*I.;jZݞKXčRzl}[DzqLg2xC$Tn3RRpĺ{.J>qT`8S;?uߍRqD"W¾q_9^L=Q."Nk`uDžKN"un -i6+unD#9$4=yx:ZAP_)Q.C7nؼj" ٹuP8{6=m6AvmŪj})ʶK UfHx4m{~[#HO6LI=d/MږG׻ Rû=x ú:XєGsg[&{E <{] Yi=il)=sѸٗ 4'܅˭i$ Q(Q_ hE٫B^ˆRb\-,,\yϮ)`bHz6% jQQLPze蝭wI@s%ʳ_գ.) nMPLb1ܯoRl/Ȋv7XL/'N%1 Kznl`yJ{.%%SUYVL|^(jHlT6p6$قenZ9r+Y"z-О8tN -RuԓIM46b"eG~'R&[x>@ 9HfXfIS9zdi)~֛ -~Abǯ>IiRM8>W~y$xFÀIYGLH(9t9$P_['tjml4 \ -j%ޔ|pK@)k=(!U%DŽ;$y % /gCwDQvQCQˠa~Ѳ!£_l Y(r1*T -u>{π#ձJS[W]'죦@bh'?l -ON2jH+\"&R|\4+sJ_xEl3Svr4Wۭrdx -C^ Ƚ#{cJI 7_;v\` -#Z~7p %nM2l`ғPM)P`"vvFaElƊ8YWTH -7.l\> S:Mλ I]nGФr4brv \) 98u6[8x -G' p7#k.`yRqZ5΄ rqtLŒEw"޾4X]zKn`r>MUc>u$NܔC-S?CCUO6&҉zp[_V p#RxQU1K`6Ef@(UѽdP&bH`CJfyp.`}x5$Yz c|ޣp4:3O U[-xĶJ+MS=ن - `twG;g9 { E'{~[E)ořkSYl#t'g0,ls<.PHOWƒ7GoOz -LV -$x Ҡ6Pw"UT V,da*ᓸ@x&v$xg>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14800 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14801 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14802 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14803 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14804 0 obj -<> -stream -HWo6e%(84Ez ='dk++]7#R9 |$Pן~X~ Q咥2LD)g|a] a ?'}ӷTo9{z|,am`)`L삻VWcw⊧q㨸D"rf~xS[*mk= ZBgQi<8?6A%i~V;X@D=$fH?o[j(E<@+ nsIb\ Yt.$Y`ړbzzzzzᩗz驗zO >%ԧPz3B}>'P{sB}/ zEWzE<u] ׺|.,µ.,_!Wb"\b"{k] Yzϵpp!P﹖u1d=rµ.,µ.,BZNŐE\ ׺׺k9ZCs-'\b@u1d] Xk] YzCŀEŐE\+׺kZZCs \b"{k] Xk] Yzϵp!PVu1`u1d= -µ.,BZAv$\bջ׺|.,_p!PVu1d=Jµ.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] Yzϵp킔p!Wb"\bջ|*RJIÿEo7fY6 ' WQƲL.z.6?|8E --z^[; 4Ywa`W" _nK6yHPCgr,-M6oM7b{ c7#-M&sª)[ԩpxF[ugۏ哶Ͳ,Kd2a37rQZwQYشu==9H -7Z2"8ӅKū.ዓ/{BfifͿFg37V=48H{<'Vx6iߘ#G>GWZ+AJ/3GqGkq\sjX锹ª=+V4q㛒f~5*54e*ޔ -͘"M>TEMWZ/e۲Q#9y` ŔJ0q,f-TtSsqˡusֳ"s3>M(gzp)UȢ+GsӶvf9_&牋6B/*0ZQ!4f`+) l]eNy\Ω)R&o6p"4Uv~03ԫ .~dy|K[-p(%5lϲ^N{JE]x Y4aaY93q]Lp}?ny9,5Q$j\ث/5j/(aW=s_Wg*G\NpBGvb_xTWDD/ -v}3*49Hp rE@K|RN7eGXZ 4nժf@Vrivr#1x[F,7 e%ɀ_"N8BНNPSq*$1 g-UfCM@g4Ll wnfܱ4 2<%(#>،{&̓7q&/̠ٽX~Ў-XwQeϣ2s1(H^[n,oj=Tb*@4S)z } =06f388jmU&\ bZW=!kq\Phy$! b{L4)~wtjUx<ٗx;Wcd?j$(aͥުq`srCy3_>pǛn 0LIendstream -endobj - -14805 0 obj -<>/P 1439 0 R/Type/Annot/A 18165 0 R/Subtype/Link/Rect[93.6001968 582.828979 249.744003 602.508972]/Border[0 0 0]/H/N>> -endobj - -14806 0 obj -<>/P 1439 0 R/Type/Annot/A 29215 0 R/Subtype/Link/Rect[93.5998993 305.449005 206.712006 325.127991]/Border[0 0 0]/H/N>> -endobj - -14807 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14808 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14809 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14810 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14811 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14812 0 obj -<> -stream -HWmoF_e@( -8w~9i\ -udC9KIr_3IC2W]gg33{|y޲~:>>0~IL\x[ɜUl=>US&؂eWeXη[/kɞ6";.ĝbY 'sܳbBG0!M.leiq#N%gg+ /, Ҁ/2 exή`bLH1!PlCT.JeT]|l$˄$˄"ث"ث"ث&넽&넽!؛!؛!؛%ۄ%ۄ#ػ#ػ#ػ''} ؇} 'hc2jcR PjcR Q)(B QDPmlC>Q$TE6!`Vm"'jc6DJB QDPml؆(}ZI6!`VmLmJ6@mJ6Dc6D*B QDPml؆(}ZE6!`Vm"TEOT6D*B Pjcj؆(}ZE6-3M6!*eE6!*em"TEOT 6DjB Pjcj5؆(}ZM6PmlC>Q&TEOT 6@m"'Մjcj5ض ؆}l؆}lCT>!8wχeȎB0̗Vτ eցq症_.t&wJzu]4|}^l{D3g,V Zˆ\2kw`DGro-;xʔ* uCB`v_ב S%cpz/``d0zuqqy9ȉ\teޯu u uzv:Hu|^+wt:kxH{/+G˹`VTf\(j-Uy^s޶ -/=\[x7pB;sÊU_[-sk0Ϗca9D(;A'7#s;F\iBEyqu2鑉%@DS܄0jdmӦmJVۺ]t?ߎ^ˆq)IߛtRtjlՎjVÕjxa]=5ZR+n2Xͷ_ mhq -Cn -2a*wRoM3(xҡŷj\DI:NF -z$[M^כf|p8.&ec."ZrOՄ!udq\\s!0?69S:&V3ݻo΁D=\*"42@>Y -u_gUM~,|dM#:'+\ 9&\U׻BswQ.l>/P 13329 0 R/Type/Annot/A 44343 0 R/Subtype/Link/Rect[222 670 236 678]/Border[0 0 0]/H/N>> -endobj - -14814 0 obj -<>/P 13329 0 R/Type/Annot/A 44301 0 R/Subtype/Link/Rect[238 670 252 678]/Border[0 0 0]/H/N>> -endobj - -14815 0 obj -<>/P 13329 0 R/Type/Annot/A 44256 0 R/Subtype/Link/Rect[254 670 268 678]/Border[0 0 0]/H/N>> -endobj - -14816 0 obj -<>/P 13329 0 R/Type/Annot/A 44234 0 R/Subtype/Link/Rect[270 670 284 678]/Border[0 0 0]/H/N>> -endobj - -14817 0 obj -<>/P 13329 0 R/Type/Annot/A 44184 0 R/Subtype/Link/Rect[286 670 300 678]/Border[0 0 0]/H/N>> -endobj - -14818 0 obj -<>/P 13329 0 R/Type/Annot/A 16087 0 R/Subtype/Link/Rect[152 660 168 669]/Border[0 0 0]/H/N>> -endobj - -14819 0 obj -<>/P 13329 0 R/Type/Annot/A 44119 0 R/Subtype/Link/Rect[169 660 183 668]/Border[0 0 0]/H/N>> -endobj - -14820 0 obj -<>/P 13329 0 R/Type/Annot/A 44093 0 R/Subtype/Link/Rect[185 660 199 668]/Border[0 0 0]/H/N>> -endobj - -14821 0 obj -<>/P 13329 0 R/Type/Annot/A 15613 0 R/Subtype/Link/Rect[201 660 215 668]/Border[0 0 0]/H/N>> -endobj - -14822 0 obj -<>/P 13329 0 R/Type/Annot/A 15506 0 R/Subtype/Link/Rect[217 660 229 668]/Border[0 0 0]/H/N>> -endobj - -14823 0 obj -<>/P 13329 0 R/Type/Annot/A 15438 0 R/Subtype/Link/Rect[198 650 210 658]/Border[0 0 0]/H/N>> -endobj - -14824 0 obj -<>/P 13329 0 R/Type/Annot/A 43957 0 R/Subtype/Link/Rect[208 640 220 648]/Border[0 0 0]/H/N>> -endobj - -14825 0 obj -<>/P 13329 0 R/Type/Annot/A 14963 0 R/Subtype/Link/Rect[207 630 224 639]/Border[0 0 0]/H/N>> -endobj - -14826 0 obj -<>/P 13329 0 R/Type/Annot/A 14959 0 R/Subtype/Link/Rect[225 630 237 638]/Border[0 0 0]/H/N>> -endobj - -14827 0 obj -<>/P 13329 0 R/Type/Annot/A 14957 0 R/Subtype/Link/Rect[207 620 224 629]/Border[0 0 0]/H/N>> -endobj - -14828 0 obj -<>/P 13329 0 R/Type/Annot/A 14954 0 R/Subtype/Link/Rect[225 620 237 628]/Border[0 0 0]/H/N>> -endobj - -14829 0 obj -<>/P 13329 0 R/Type/Annot/A 14952 0 R/Subtype/Link/Rect[170 610 186 619]/Border[0 0 0]/H/N>> -endobj - -14830 0 obj -<>/P 13329 0 R/Type/Annot/A 14951 0 R/Subtype/Link/Rect[187 610 201 618]/Border[0 0 0]/H/N>> -endobj - -14831 0 obj -<>/P 13329 0 R/Type/Annot/A 14949 0 R/Subtype/Link/Rect[203 610 217 618]/Border[0 0 0]/H/N>> -endobj - -14832 0 obj -<>/P 13329 0 R/Type/Annot/A 43643 0 R/Subtype/Link/Rect[219 610 231 618]/Border[0 0 0]/H/N>> -endobj - -14833 0 obj -<>/P 13329 0 R/Type/Annot/A 43610 0 R/Subtype/Link/Rect[177 600 189 608]/Border[0 0 0]/H/N>> -endobj - -14834 0 obj -<>/P 13329 0 R/Type/Annot/A 43580 0 R/Subtype/Link/Rect[212 590 224 598]/Border[0 0 0]/H/N>> -endobj - -14835 0 obj -<>/P 13329 0 R/Type/Annot/A 43531 0 R/Subtype/Link/Rect[194 542 206 550]/Border[0 0 0]/H/N>> -endobj - -14836 0 obj -<>/P 13329 0 R/Type/Annot/A 43511 0 R/Subtype/Link/Rect[193 532 205 540]/Border[0 0 0]/H/N>> -endobj - -14837 0 obj -<>/P 13329 0 R/Type/Annot/A 43462 0 R/Subtype/Link/Rect[156 522 166 530]/Border[0 0 0]/H/N>> -endobj - -14838 0 obj -<>/P 13329 0 R/Type/Annot/A 43436 0 R/Subtype/Link/Rect[168 522 182 530]/Border[0 0 0]/H/N>> -endobj - -14839 0 obj -<>/P 13329 0 R/Type/Annot/A 43387 0 R/Subtype/Link/Rect[184 522 196 530]/Border[0 0 0]/H/N>> -endobj - -14840 0 obj -<>/P 13329 0 R/Type/Annot/A 43349 0 R/Subtype/Link/Rect[199 512 211 520]/Border[0 0 0]/H/N>> -endobj - -14841 0 obj -<>/P 13329 0 R/Type/Annot/A 43140 0 R/Subtype/Link/Rect[188 502 200 510]/Border[0 0 0]/H/N>> -endobj - -14842 0 obj -<>/P 13329 0 R/Type/Annot/A 43262 0 R/Subtype/Link/Rect[185 492 195 500]/Border[0 0 0]/H/N>> -endobj - -14843 0 obj -<>/P 13329 0 R/Type/Annot/A 43220 0 R/Subtype/Link/Rect[197 492 209 500]/Border[0 0 0]/H/N>> -endobj - -14844 0 obj -<>/P 13329 0 R/Type/Annot/A 43174 0 R/Subtype/Link/Rect[192 482 200 490]/Border[0 0 0]/H/N>> -endobj - -14845 0 obj -<>/P 13329 0 R/Type/Annot/A 43145 0 R/Subtype/Link/Rect[229 472 242 481]/Border[0 0 0]/H/N>> -endobj - -14846 0 obj -<>/P 13329 0 R/Type/Annot/A 43110 0 R/Subtype/Link/Rect[243 472 251 480]/Border[0 0 0]/H/N>> -endobj - -14847 0 obj -<>/P 13329 0 R/Type/Annot/A 43085 0 R/Subtype/Link/Rect[227 442 237 450]/Border[0 0 0]/H/N>> -endobj - -14848 0 obj -<>/P 13329 0 R/Type/Annot/A 43011 0 R/Subtype/Link/Rect[239 442 247 450]/Border[0 0 0]/H/N>> -endobj - -14849 0 obj -<>/P 13329 0 R/Type/Annot/A 42987 0 R/Subtype/Link/Rect[236 432 244 440]/Border[0 0 0]/H/N>> -endobj - -14850 0 obj -<>/P 13329 0 R/Type/Annot/A 42951 0 R/Subtype/Link/Rect[241 422 249 430]/Border[0 0 0]/H/N>> -endobj - -14851 0 obj -<>/P 13329 0 R/Type/Annot/A 42922 0 R/Subtype/Link/Rect[241 412 249 420]/Border[0 0 0]/H/N>> -endobj - -14852 0 obj -<>/P 13329 0 R/Type/Annot/A 42722 0 R/Subtype/Link/Rect[241 402 251 410]/Border[0 0 0]/H/N>> -endobj - -14853 0 obj -<>/P 13329 0 R/Type/Annot/A 42852 0 R/Subtype/Link/Rect[253 402 261 410]/Border[0 0 0]/H/N>> -endobj - -14854 0 obj -<>/P 13329 0 R/Type/Annot/A 42808 0 R/Subtype/Link/Rect[280 392 290 400]/Border[0 0 0]/H/N>> -endobj - -14855 0 obj -<>/P 13329 0 R/Type/Annot/A 42767 0 R/Subtype/Link/Rect[292 392 300 400]/Border[0 0 0]/H/N>> -endobj - -14856 0 obj -<>/P 13329 0 R/Type/Annot/A 42740 0 R/Subtype/Link/Rect[217 382 225 390]/Border[0 0 0]/H/N>> -endobj - -14857 0 obj -<>/P 13329 0 R/Type/Annot/A 42693 0 R/Subtype/Link/Rect[232 372 244 381]/Border[0 0 0]/H/N>> -endobj - -14858 0 obj -<>/P 13329 0 R/Type/Annot/A 42671 0 R/Subtype/Link/Rect[245 372 253 380]/Border[0 0 0]/H/N>> -endobj - -14859 0 obj -<>/P 13329 0 R/Type/Annot/A 42621 0 R/Subtype/Link/Rect[222 362 235 371]/Border[0 0 0]/H/N>> -endobj - -14860 0 obj -<>/P 13329 0 R/Type/Annot/A 42396 0 R/Subtype/Link/Rect[235 362 245 370]/Border[0 0 0]/H/N>> -endobj - -14861 0 obj -<>/P 13329 0 R/Type/Annot/A 42560 0 R/Subtype/Link/Rect[247 362 255 370]/Border[0 0 0]/H/N>> -endobj - -14862 0 obj -<>/P 13329 0 R/Type/Annot/A 14956 0 R/Subtype/Link/Rect[236 352 244 360]/Border[0 0 0]/H/N>> -endobj - -14863 0 obj -<>/P 13329 0 R/Type/Annot/A 42483 0 R/Subtype/Link/Rect[152 332 162 340]/Border[0 0 0]/H/N>> -endobj - -14864 0 obj -<>/P 13329 0 R/Type/Annot/A 42434 0 R/Subtype/Link/Rect[164 332 176 340]/Border[0 0 0]/H/N>> -endobj - -14865 0 obj -<>/P 13329 0 R/Type/Annot/A 42390 0 R/Subtype/Link/Rect[285 322 295 330]/Border[0 0 0]/H/N>> -endobj - -14866 0 obj -<>/P 13329 0 R/Type/Annot/A 42364 0 R/Subtype/Link/Rect[297 322 305 330]/Border[0 0 0]/H/N>> -endobj - -14867 0 obj -<>/P 13329 0 R/Type/Annot/A 42336 0 R/Subtype/Link/Rect[148 312 161 321]/Border[0 0 0]/H/N>> -endobj - -14868 0 obj -<>/P 13329 0 R/Type/Annot/A 41867 0 R/Subtype/Link/Rect[162 312 172 320]/Border[0 0 0]/H/N>> -endobj - -14869 0 obj -<>/P 13329 0 R/Type/Annot/A 42242 0 R/Subtype/Link/Rect[174 312 186 321]/Border[0 0 0]/H/N>> -endobj - -14870 0 obj -<>/P 13329 0 R/Type/Annot/A 42213 0 R/Subtype/Link/Rect[187 312 197 320]/Border[0 0 0]/H/N>> -endobj - -14871 0 obj -<>/P 13329 0 R/Type/Annot/A 42159 0 R/Subtype/Link/Rect[199 312 209 320]/Border[0 0 0]/H/N>> -endobj - -14872 0 obj -<>/P 13329 0 R/Type/Annot/A 42110 0 R/Subtype/Link/Rect[211 312 221 320]/Border[0 0 0]/H/N>> -endobj - -14873 0 obj -<>/P 13329 0 R/Type/Annot/A 42069 0 R/Subtype/Link/Rect[223 312 237 320]/Border[0 0 0]/H/N>> -endobj - -14874 0 obj -<>/P 13329 0 R/Type/Annot/A 42031 0 R/Subtype/Link/Rect[239 312 253 320]/Border[0 0 0]/H/N>> -endobj - -14875 0 obj -<>/P 13329 0 R/Type/Annot/A 41987 0 R/Subtype/Link/Rect[255 312 272 321]/Border[0 0 0]/H/N>> -endobj - -14876 0 obj -<>/P 13329 0 R/Type/Annot/A 41953 0 R/Subtype/Link/Rect[272 312 286 320]/Border[0 0 0]/H/N>> -endobj - -14877 0 obj -<>/P 13329 0 R/Type/Annot/A 41920 0 R/Subtype/Link/Rect[288 312 302 320]/Border[0 0 0]/H/N>> -endobj - -14878 0 obj -<>/P 13329 0 R/Type/Annot/A 41879 0 R/Subtype/Link/Rect[152 302 166 310]/Border[0 0 0]/H/N>> -endobj - -14879 0 obj -<>/P 13329 0 R/Type/Annot/A 41833 0 R/Subtype/Link/Rect[168 302 182 310]/Border[0 0 0]/H/N>> -endobj - -14880 0 obj -<>/P 13329 0 R/Type/Annot/A 41775 0 R/Subtype/Link/Rect[184 302 200 311]/Border[0 0 0]/H/N>> -endobj - -14881 0 obj -<>/P 13329 0 R/Type/Annot/A 41282 0 R/Subtype/Link/Rect[201 302 215 310]/Border[0 0 0]/H/N>> -endobj - -14882 0 obj -<>/P 13329 0 R/Type/Annot/A 41673 0 R/Subtype/Link/Rect[217 302 231 310]/Border[0 0 0]/H/N>> -endobj - -14883 0 obj -<>/P 13329 0 R/Type/Annot/A 41636 0 R/Subtype/Link/Rect[233 302 247 310]/Border[0 0 0]/H/N>> -endobj - -14884 0 obj -<>/P 13329 0 R/Type/Annot/A 41586 0 R/Subtype/Link/Rect[249 302 265 311]/Border[0 0 0]/H/N>> -endobj - -14885 0 obj -<>/P 13329 0 R/Type/Annot/A 41553 0 R/Subtype/Link/Rect[266 302 280 310]/Border[0 0 0]/H/N>> -endobj - -14886 0 obj -<>/P 13329 0 R/Type/Annot/A 41504 0 R/Subtype/Link/Rect[282 302 296 310]/Border[0 0 0]/H/N>> -endobj - -14887 0 obj -<>/P 13329 0 R/Type/Annot/A 41465 0 R/Subtype/Link/Rect[298 302 312 310]/Border[0 0 0]/H/N>> -endobj - -14888 0 obj -<>/P 13329 0 R/Type/Annot/A 41431 0 R/Subtype/Link/Rect[152 292 166 300]/Border[0 0 0]/H/N>> -endobj - -14889 0 obj -<>/P 13329 0 R/Type/Annot/A 41187 0 R/Subtype/Link/Rect[168 292 182 300]/Border[0 0 0]/H/N>> -endobj - -14890 0 obj -<>/P 13329 0 R/Type/Annot/A 41342 0 R/Subtype/Link/Rect[184 292 200 301]/Border[0 0 0]/H/N>> -endobj - -14891 0 obj -<>/P 13329 0 R/Type/Annot/A 41310 0 R/Subtype/Link/Rect[201 292 215 300]/Border[0 0 0]/H/N>> -endobj - -14892 0 obj -<>/P 13329 0 R/Type/Annot/A 41280 0 R/Subtype/Link/Rect[217 292 231 300]/Border[0 0 0]/H/N>> -endobj - -14893 0 obj -<>/P 13329 0 R/Type/Annot/A 41251 0 R/Subtype/Link/Rect[233 292 247 300]/Border[0 0 0]/H/N>> -endobj - -14894 0 obj -<>/P 13329 0 R/Type/Annot/A 41200 0 R/Subtype/Link/Rect[249 292 263 300]/Border[0 0 0]/H/N>> -endobj - -14895 0 obj -<>/P 13329 0 R/Type/Annot/A 41181 0 R/Subtype/Link/Rect[265 292 279 300]/Border[0 0 0]/H/N>> -endobj - -14896 0 obj -<>/P 13329 0 R/Type/Annot/A 16058 0 R/Subtype/Link/Rect[281 292 295 300]/Border[0 0 0]/H/N>> -endobj - -14897 0 obj -<>/P 13329 0 R/Type/Annot/A 41123 0 R/Subtype/Link/Rect[297 292 311 300]/Border[0 0 0]/H/N>> -endobj - -14898 0 obj -<>/P 13329 0 R/Type/Annot/A 41083 0 R/Subtype/Link/Rect[152 282 166 290]/Border[0 0 0]/H/N>> -endobj - -14899 0 obj -<>/P 13329 0 R/Type/Annot/A 41048 0 R/Subtype/Link/Rect[168 282 182 290]/Border[0 0 0]/H/N>> -endobj - -14900 0 obj -<>/P 13329 0 R/Type/Annot/A 15476 0 R/Subtype/Link/Rect[184 282 198 290]/Border[0 0 0]/H/N>> -endobj - -14901 0 obj -<>/P 13329 0 R/Type/Annot/A 38949 0 R/Subtype/Link/Rect[200 282 216 291]/Border[0 0 0]/H/N>> -endobj - -14902 0 obj -<>/P 13329 0 R/Type/Annot/A 14995 0 R/Subtype/Link/Rect[217 282 231 290]/Border[0 0 0]/H/N>> -endobj - -14903 0 obj -<>/P 13329 0 R/Type/Annot/A 14960 0 R/Subtype/Link/Rect[233 282 247 290]/Border[0 0 0]/H/N>> -endobj - -14904 0 obj -<>/P 13329 0 R/Type/Annot/A 14958 0 R/Subtype/Link/Rect[249 282 263 290]/Border[0 0 0]/H/N>> -endobj - -14905 0 obj -<>/P 13329 0 R/Type/Annot/A 14955 0 R/Subtype/Link/Rect[265 282 279 290]/Border[0 0 0]/H/N>> -endobj - -14906 0 obj -<>/P 13329 0 R/Type/Annot/A 14953 0 R/Subtype/Link/Rect[281 282 295 290]/Border[0 0 0]/H/N>> -endobj - -14907 0 obj -<>/P 13329 0 R/Type/Annot/A 38951 0 R/Subtype/Link/Rect[152 272 168 281]/Border[0 0 0]/H/N>> -endobj - -14908 0 obj -<>/P 13329 0 R/Type/Annot/A 14950 0 R/Subtype/Link/Rect[169 272 183 280]/Border[0 0 0]/H/N>> -endobj - -14909 0 obj -<>/P 13329 0 R/Type/Annot/A 15590 0 R/Subtype/Link/Rect[185 272 199 280]/Border[0 0 0]/H/N>> -endobj - -14910 0 obj -<>/P 13329 0 R/Type/Annot/A 38338 0 R/Subtype/Link/Rect[201 272 215 280]/Border[0 0 0]/H/N>> -endobj - -14911 0 obj -<>/P 13329 0 R/Type/Annot/A 38307 0 R/Subtype/Link/Rect[217 272 231 280]/Border[0 0 0]/H/N>> -endobj - -14912 0 obj -<>/P 13329 0 R/Type/Annot/A 38270 0 R/Subtype/Link/Rect[233 272 247 280]/Border[0 0 0]/H/N>> -endobj - -14913 0 obj -<>/P 13329 0 R/Type/Annot/A 36839 0 R/Subtype/Link/Rect[249 272 263 280]/Border[0 0 0]/H/N>> -endobj - -14914 0 obj -<>/P 13329 0 R/Type/Annot/A 36786 0 R/Subtype/Link/Rect[265 272 279 280]/Border[0 0 0]/H/N>> -endobj - -14915 0 obj -<>/P 13329 0 R/Type/Annot/A 36757 0 R/Subtype/Link/Rect[152 262 168 271]/Border[0 0 0]/H/N>> -endobj - -14916 0 obj -<>/P 13329 0 R/Type/Annot/A 36699 0 R/Subtype/Link/Rect[169 262 183 270]/Border[0 0 0]/H/N>> -endobj - -14917 0 obj -<>/P 13329 0 R/Type/Annot/A 36682 0 R/Subtype/Link/Rect[185 262 199 270]/Border[0 0 0]/H/N>> -endobj - -14918 0 obj -<>/P 13329 0 R/Type/Annot/A 35881 0 R/Subtype/Link/Rect[201 262 215 270]/Border[0 0 0]/H/N>> -endobj - -14919 0 obj -<>/P 13329 0 R/Type/Annot/A 35844 0 R/Subtype/Link/Rect[217 262 231 270]/Border[0 0 0]/H/N>> -endobj - -14920 0 obj -<>/P 13329 0 R/Type/Annot/A 35069 0 R/Subtype/Link/Rect[233 262 247 270]/Border[0 0 0]/H/N>> -endobj - -14921 0 obj -<>/P 13329 0 R/Type/Annot/A 35038 0 R/Subtype/Link/Rect[249 262 266 271]/Border[0 0 0]/H/N>> -endobj - -14922 0 obj -<>/P 13329 0 R/Type/Annot/A 34249 0 R/Subtype/Link/Rect[266 262 280 270]/Border[0 0 0]/H/N>> -endobj - -14923 0 obj -<>/P 13329 0 R/Type/Annot/A 34217 0 R/Subtype/Link/Rect[282 262 296 270]/Border[0 0 0]/H/N>> -endobj - -14924 0 obj -<>/P 13329 0 R/Type/Annot/A 33663 0 R/Subtype/Link/Rect[152 252 166 260]/Border[0 0 0]/H/N>> -endobj - -14925 0 obj -<>/P 13329 0 R/Type/Annot/A 33621 0 R/Subtype/Link/Rect[168 252 182 260]/Border[0 0 0]/H/N>> -endobj - -14926 0 obj -<>/P 13329 0 R/Type/Annot/A 33101 0 R/Subtype/Link/Rect[184 252 198 260]/Border[0 0 0]/H/N>> -endobj - -14927 0 obj -<>/P 13329 0 R/Type/Annot/A 33058 0 R/Subtype/Link/Rect[200 252 216 261]/Border[0 0 0]/H/N>> -endobj - -14928 0 obj -<>/P 13329 0 R/Type/Annot/A 32588 0 R/Subtype/Link/Rect[217 252 231 260]/Border[0 0 0]/H/N>> -endobj - -14929 0 obj -<>/P 13329 0 R/Type/Annot/A 32535 0 R/Subtype/Link/Rect[233 252 247 260]/Border[0 0 0]/H/N>> -endobj - -14930 0 obj -<>/P 13329 0 R/Type/Annot/A 32508 0 R/Subtype/Link/Rect[249 252 263 260]/Border[0 0 0]/H/N>> -endobj - -14931 0 obj -<>/P 13329 0 R/Type/Annot/A 15031 0 R/Subtype/Link/Rect[265 252 279 260]/Border[0 0 0]/H/N>> -endobj - -14932 0 obj -<>/P 13329 0 R/Type/Annot/A 31774 0 R/Subtype/Link/Rect[281 252 293 260]/Border[0 0 0]/H/N>> -endobj - -14933 0 obj -<>/P 13329 0 R/Type/Annot/A 31076 0 R/Subtype/Link/Rect[164 242 180 251]/Border[0 0 0]/H/N>> -endobj - -14934 0 obj -<>/P 13329 0 R/Type/Annot/A 31028 0 R/Subtype/Link/Rect[181 242 193 250]/Border[0 0 0]/H/N>> -endobj - -14935 0 obj -<>/P 13329 0 R/Type/Annot/A 30291 0 R/Subtype/Link/Rect[193 232 210 241]/Border[0 0 0]/H/N>> -endobj - -14936 0 obj -<>/P 13329 0 R/Type/Annot/A 30264 0 R/Subtype/Link/Rect[211 232 223 240]/Border[0 0 0]/H/N>> -endobj - -14937 0 obj -<>/P 13329 0 R/Type/Annot/A 30229 0 R/Subtype/Link/Rect[165 194 179 202]/Border[0 0 0]/H/N>> -endobj - -14938 0 obj -<>/P 13329 0 R/Type/Annot/A 30185 0 R/Subtype/Link/Rect[181 194 193 202]/Border[0 0 0]/H/N>> -endobj - -14939 0 obj -<>/P 13329 0 R/Type/Annot/A 28367 0 R/Subtype/Link/Rect[162 156 179 165]/Border[0 0 0]/H/N>> -endobj - -14940 0 obj -<>/P 13329 0 R/Type/Annot/A 30098 0 R/Subtype/Link/Rect[179 156 193 164]/Border[0 0 0]/H/N>> -endobj - -14941 0 obj -<>/P 13329 0 R/Type/Annot/A 16056 0 R/Subtype/Link/Rect[195 156 209 164]/Border[0 0 0]/H/N>> -endobj - -14942 0 obj -<>/P 13329 0 R/Type/Annot/A 27561 0 R/Subtype/Link/Rect[211 156 225 164]/Border[0 0 0]/H/N>> -endobj - -14943 0 obj -<>/P 13329 0 R/Type/Annot/A 29270 0 R/Subtype/Link/Rect[227 156 241 164]/Border[0 0 0]/H/N>> -endobj - -14944 0 obj -<>/P 13329 0 R/Type/Annot/A 29236 0 R/Subtype/Link/Rect[243 156 257 164]/Border[0 0 0]/H/N>> -endobj - -14945 0 obj -<>/P 13329 0 R/Type/Annot/A 15484 0 R/Subtype/Link/Rect[259 156 271 164]/Border[0 0 0]/H/N>> -endobj - -14946 0 obj -<>/P 13329 0 R/Type/Annot/A 29149 0 R/Subtype/Link/Rect[148 550 158 559]/Border[0 0 0]/H/N>> -endobj - -14947 0 obj -<>/P 13329 0 R/Type/Annot/A 29117 0 R/Subtype/Link/Rect[285 340 301 349]/Border[0 0 0]/H/N>> -endobj - -14948 0 obj -<>/P 13329 0 R/Type/Annot/A 14961 0 R/Subtype/Link/Rect[165 490 182 499]/Border[0 0 0]/H/N>> -endobj - -14949 0 obj -<> -endobj - -14950 0 obj -<> -endobj - -14951 0 obj -<> -endobj - -14952 0 obj -<> -endobj - -14953 0 obj -<> -endobj - -14954 0 obj -<> -endobj - -14955 0 obj -<> -endobj - -14956 0 obj -<> -endobj - -14957 0 obj -<> -endobj - -14958 0 obj -<> -endobj - -14959 0 obj -<> -endobj - -14960 0 obj -<> -endobj - -14961 0 obj -<> -endobj - -14962 0 obj -<> -endobj - -14963 0 obj -<> -endobj - -14964 0 obj -<> -endobj - -14965 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14966 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14967 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14968 0 obj -<> -stream -Htn6_GHDIEQ`MtHAi[.('%ف8n>MK޾t@yŏW'"a,$Ғ4fT Fv Nri?ۺ4mg7 ͚'B2?8H&:dTux\ۡQ(Dp8P4tG6HF7swptJLMhBp^K5MǪVdK8 ^"wz4YZG@ hK~ɨO)6KEexƒ"ǖ$"o?\oLx\cK _#yλzE|QWcJ6VSH9ikhgӕ؞`†^\7Ŧ+XLGAHG3lǽ^W()Yzwt=.1pZ^+ ɸ8sE|LRy1iE1(aZ^'"PcIl Irdw)uFҍBt6q(tt;%įob1ѕ}y(ϼ}yg12}OX<ڞԇ~C7TByɏ=Ń&BA/L8=RM U -< )`s+PFTȩ]#}1괰/rz -r/..Xj{yw!w~}{2gsQ Sn< >,и$i10Ógx>90-@gLo^X(X nӪ,׽jL*}\Ya 2%a}&c -ɀ? -r:7QZCWLch]j"d2РɠZCJ{lsnC=YÀn<߶vYRD*{-L"bpJB~bB; !5Z X L&Ͱ (i1[ߕq =bB+s/j L!ca6#ʾAwiL:p!w$:qvY/endstream -endobj - -14969 0 obj -<>/P 1327 0 R/Type/Annot/A 18201 0 R/Subtype/Link/Rect[129.600006 539.504028 277.583008 673.919983]/Border[0 0 0]/H/N>> -endobj - -14970 0 obj -<>/P 1327 0 R/Type/Annot/A 18156 0 R/Subtype/Link/Rect[93.5999985 404.627991 199.356003 424.308014]/Border[0 0 0]/H/N>> -endobj - -14971 0 obj -<>/P 1327 0 R/Type/Annot/A 18051 0 R/Subtype/Link/Rect[93.6000977 212.628006 182.904007 232.307999]/Border[0 0 0]/H/N>> -endobj - -14972 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14973 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14974 0 obj -<> -endobj - -14975 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14976 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14977 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14978 0 obj -<> -stream -HW]Ը}ϯcFOi -բ%LۮWhHul)o?4)ۿ_{￿z:pxBiYHEz2ɧO>i&}3uNLMO]rGޏɫMrd]RC<L˼J7$+0u B3>>gl5y뛯 ZXwq2'EIr?&W"HS>5OiR˂ >I]^9Ǥ!1uṌ@Qq(cTC&P!wcP`/"`/"`/#`/#`/#`"`"`#`#`#"b_ˈ}I/#%W*b_쫈}M#5>,'D T}"T}ه>@ }"GjCj(BQHPmC>R TE6!`V }"GjCՆ>D# -BQHPm;$PmCT>PmCT>!*fE6!`V }"GjCՆ>D#JBQHPmЇ(}ZI6!`V }"TET+ Ն>D#JB(BQ1(BQ1Ї}Ї(}ZE6!`V }"TETՆ>D#*BPjCjЇ(}ZE6PmC>R"TETՆC Ն>DCՆ>DCb5Z90Cjn7tsY^tӦ<xEiQ|>.D6|ݼO\r\YVٮy0ޜo|K7#~vdn6ґ[ȼfe(8?l~\J|6N*;مZ -Vš3]7fw'M`ѸY0.hfq\Lp [9=%Y!^xh+(z\Z0]O9{R=`nRLô[Xr]/\ڡM;=}Pߙ*0w羝a^@Qht}7uDAZ(uq } e3pC8RLA,.dQ|7(o38 `QԌs .Вe8h=՞qv!޿WКq4suxhNw{L_gàRۙ44Kw:l݅`H:Q1;س,nZ~=6O7l3v[+|o|E%w7kLV<, oYɅ]ՀMU Z̿dR1[xmۗj l -K9ɛv Jř,uŕb\m'%% a?s#%LMwsP7Sӏ{?T#Y9<~oOă$\ZR^M{ۮfHӓBt~g{8FoYUrڽWୱ;m*77y!k 'Y^T+aslE,XjMB|Aqhs ,=`0p0Tk?Atg0ݢ\~V">[е&mtrlîiV'fG׼VLWX/cv ʺs`,W -<߿_o!f8ٓ<܅@ A"rcA'ĴX Gv |>K=':("ˁh%㞾V-rv̸ _c`NMr]x`|텶g *y%,o,mE^:g,Qk33/e%,@ʴNmwH! p/:S TX ڝ34[?aYsY^:VBs5V9;0*IqLd ݂~]5A-j 5(Xe' bX5&oeم(,CU9=pγڒb?Ծ.}r<)f38 Umrc)q~jqǙ ,\iT>*ԺX?hlhc=we .'r"Lkכ,f*ԫ*d4nJ+8_@*Kk y=++ L_AUY]bA",:#N sr)NXW&=Cw۰#:{s*ŝ7*"nrfa,ŧ'{V@=wk_2U6ǡ'`Nj9+E5CgMd*-᭼qX] -7mZDo3@j S%h -4nzuGF>]_xp8T|_%g:T?0eY -ye9rzA -y@Hmq-/RC+ڍSRd݃=-Y5de5WK6W8(R @(L'Bmi!ɻM}-m4jφ%gϷIZ[K@ ,EMWE~`sMU+:G|mJvHk+/| NuyTվ?t93<!Hon#;Aj}ua;c6R'YE/Gݎdȴ"@Y.g%]54,SŶ뇳IYg @1/%a](T&a )Wz4l4MWm98&a`W[iXZ|GS]E-h<րnBW3_msMŬkZ(hama X:\Ee0N)eփʎ`Wt Zi~zwa`Hۮk}'[kA>ZH{5PhZĩU.mwc+? -P7> 5'wJ{\8%} T*`9g(<tO+)E` $r昔Eֿ_d:&M7z!+PfXn轰puO8[!p/]3'A -D .αVA mA AnHlyq_4dJ*R_~MӪ O(vYRW9<(h򕻦8`6.|VJr;W*x%G.0Mt ް"Xe" -;8 e]ISȜ`n9ڵ.kazønKcq~<L~IF)a Vʗ(y6ߩF%SH[9/ @;S>2:wN~';O",~Mgsp89ڠ紱 yv_,e>/P 1292 0 R/Type/Annot/A 38390 0 R/Subtype/Link/Rect[93.6001968 603.229004 275.785004 622.908997]/Border[0 0 0]/H/N>> -endobj - -14980 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14981 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14982 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14983 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14984 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14985 0 obj -<> -stream -HWn8}WQY邙8s 6`Ӌ}HfJZR-Z"gCXX}GwGROoGHhI_&,x1g<:i~ݱF}]~Ew;'#Q $%I &Xw-ydIve~rQ&twڝG7P{%EZ+c׉)2ieY.`Jy @j .F@Q<`#}/¾ؗ2`_"RDZgP!{(DϠBϠBPj}A!2DϠjZ(DϠjZgP@ QZgP@ Q3(}Z -Q3(}Z>P-CT#}}BT *d *d>P-GT -a#}BT -a#}T>@!}T>Bj}>Bj}A!rDZgP!{(DϠBϠBPj}A! -DϠjZ(DϠjZgP@QZgP@Q3(}Z -Q3(}Z>P@TH"}}BT *d *d_&eY -+jnGd!JdWN$#YV]şFdRd)ku 4^ʙ~lt;޺y8Ս*ICݜOUunoGk,EYLkpԃivgۓ2'9gt^'΋f']՟9ϪKYhgz %2g^5 ,_:/D@ -oT!uuT5MҦEf,&!D40"nu;׳cɃk KhwYO^@Y:vM2`9OX.Xmfl!k°;uE0pg΄۹L2w= |=P6t9DILE9ږ{s^cYV@jnܝ4觛Ҥ; I(%:EUߖT?yy!|3Ѿ="~^aY~5A"{t! `rtIղFKʭgCpF}!e5_hy޼^{|yԷ:g#CĹ_Q1Iy!xŦ!/=Z&p#8_y&vy㩠)]atK3hfIV 'vtxS!O>n \|GQU:SWp([mz᫽H8c:5Kwx}d:'x46[0_\.c*vVbH{!Y)Zs|]liEdURMJ!n3 !t%m؄hWQ1 {QU9b8޷fڼ],rM[!m`N3JvsǶ0{)TsM_wS@HIftcieJfoXmyyB KŔ6kٔQצovnhl"J.<)RQl>/Y*7o4tfgE)48lyɲL2&f6; -uH3M)+C}s*VCye'侺n ZZ8Mhh!if:CeS/<\~Je.זc,Za`xJ SfOMд{>w3$<1gA7̖ -J`QwXdS=,RB{2xLũ9X"=r![)y0A*6:PH)_J"6t9<0^6ˡHBζODWREr0ɱEmߛ0riU~(/k/k+$dUXj)T8f.IO//}~}Dendstream -endobj - -14986 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14987 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14988 0 obj -<> -endobj - -14989 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14990 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14991 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14992 0 obj -<> -stream -HWێF}Wt`Hž_|&" Xƀ(K.H[ER#flN>]ٜR֍zt+_zM*dN'V~U(V#V*e\ܭwjS5jU4ʪEM -smQ"aX*Mƙ*6(ɳq񩥹v8cc6= -;'QYm˵_.'??onGijOnb.1rڪ/-ߨb5WQm~n<*䜓#Q Y|8"ލ),+̽[ sw{{g3Ap }>'}"OTp2>eS}gs s>ܳ!DVH-ŐS XBj),b),!C -,VH-ŀ%bܳZ!C -R Y{Z+bܳZ!Z!KpRkR Y{Z+b {KH-ŐS Y=ŀ%bܳ:!C R Y{Z'bܳ:!Z!KpRR Y{Z'bRK1d YjZ!KpRRly!CwO1` {!R Y{Z/bܳz!Z!KpRR Y{Z/bRK1d YjZ!KpRR XBj),=KRK1d YjZm b),!CwO1dqܫ5gEM(Ewo):QIkM47ls3ݔr[nd^}<ճg'*r "@#ګg:o5fm'RjumIhes>CTo[Fzun:t )'ڴdo:~¹!~Buڒ~Lvk#ps>shR)_ǣ#sUM̖dxCgl_n_W5ؼÛ9ۻ׮3}1 % locl3 N죳租(b -|[=:G^z$P`z6;6 -]m.0kŰ>n[2AG/ε_$ Z.,ի} Ӟpqnev;6$ ΎNnC+cAfcrΏga\w -*gj_lu{>8$ϐgILucShT]ŮƳg~#/rDawx>VkfgTYh\ךD3tU0w.֧: gEUn|y  -k~~P.H:~۫/*.Z q~bgZ^L+ZiA+0DJV"h%L+R -Z)ieVƴrA+gZS-s-!kQ XF2LZiYA2-+hBS Y{+=Ő%hBS Y{+=Ő%hBS Y{+=Ő%hBS Y{'=Őŵ(,),AսbX;),AսbX;),AսbX;),AսbX;),AսbZPC uO1d ZPC uO1d ZPC uO1d ZPC uO1d ZPC>uO1dq-K{!k: ӟpcQD\[eT&t)㠡k?VuLM7H$%vrs6^V-/?_]WN0C $%PivY35E7^dLfbY+jܮ8v}(ޜ)L;"Y;.ig}3\]&3詇3N}: ^8&UfWm*fꬫu%`k*&̐`e}jV׾e,O[{es)S}^ͰW0a[Uwr;n> \ʧ3#;apUK5+nEʻMj˫9]YMתٲkMKֽ}SrOL^ғñ0sZ"h.[f;7Usa -ΨZϻ1W^eswAlj5ÁM=FYs9[_=|;|{T y۽5f V9sV X (6gnZ.9iqWݝ -$ٞvBǹӁG-znRP -Wӱ)@]~ h[r3R:.`y]:bjش;eChcǧ/]]@˲:_ -ײܔl;ټ.o_FV rbendstream -endobj - -14993 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -14994 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -14995 0 obj -<> -endobj - -14996 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -14997 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -14998 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -14999 0 obj -<> -stream -HWko_e ]>q:jŴM@`hZf"*v܋,ɥݡ \='aQ~8:[3/ʹt'/1ݡunSR$ L.ބU囼HҸ*vrd]j$0W$x|xA|CL R~*3rtLmcFussϵW7>LҤ*M`k6]8mhn6…tJ^i+6#|Ԇ@?SwGF[j-s|K` -I8K}4Uqd1`QD=USD=U3D=S3D=S3D=S[zKQo!-E6Vۈz[Q Ew.UԻzWQ"]ESz_Q#Ϛie,(Z,U qq^8KU/cB\+cW\Kg!Rĵ2,ĵ2Yzŵqq^q-E\+cB\+cW\Kg!Rĵ2,ĵ2Yzŵqq^q-E\+cge XkeT2YzZ,DZV8 Q!1`!1B+ekekZZ,DZV8 Q!1`!1B+ekekZK5 qq^ƀV8KU/c1`!1B+g!Zke Xkek-ĵ2YzŵZZ,DZ qq^qVƀV8 QB\+cW\k!Tge XkeT2Yi0q #|}kj$0W$xҼi[:,> R~v1ɟ&I42*m&=d1'2s|iL7ŻőugUy'W -tȨN6SX)02YDz[w?1aV˳Uԭ]4uJ6qߑ$#_ު|k?,GITqW<_7g8(;Q,Y쉄H8Dή%riq:<^V$ -;96tHIن*1"Xʖ'(uRVqS&BUג1OwmړEŴa蔝}X\rzFWWM6 -Vt$GqY%V ܐMtED *$v ö`Jn.M/9.$*r즿i]y__|#?he -8KR&cUX $%{ó=9"ί!v:beVܸRg$M>{ svQpS5>|xD!gCbHtӋr|T".Q7o0$Nodcǻ!d9^1гgIhw[e %P;+m.h vw/aDo]o[p8w4Us!]8{3̵uoHŝ@vjJƐ>LIn*+j'ZBlgjRx -MlB&2]OǘyGksdapӻm!Bx,?yi$ )6yEsʢ$ ?J?hqn~[qKu/O-шu]zdz{0.kEt4y%Lź!\ фڌ -Mv@ e'$O.k?v<wnX/+"ڈJg3aϼbIAQ8yŊm|J]mrހ SND}SӆlStM];H\jpq|n1a>6wEO_&xڌqm:y<_Ι(=:_[**q2e CP!GV>uO=  O;|_~/zQendstream -endobj - -15000 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15001 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15002 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15003 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15004 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15005 0 obj -<> -stream -HmSHS̾GiX*UĐ,Y),A؂8ej?ʹdsW)bz=ë LJ;$"o޼=?*B  #dd7$"P2&a/{_Yg8'Y1|faMÔ9$4\$"hXQBIpw2ehohdkaHTɊ~4_W:.y(i1-gb?Q*u%2Rau% zQHKh9}x߄F#~>ۯ@s24J$q-\Z04 _΍EO91CIrSwc@1D=3D=sD=sD=sD= D DKDKDKD+D+DLjS#cO}= >'SSg)bZ76 Z7f(_ -q3ލWƀB\ \׺1C!=2ĵn (ĵnPzϵ q3s-C\ƀB\ \׺1C!=2ĵn (ĵnPzϵ q3s-C\&G\ wc@!ucջ1CPkݘk9Z7f(DZ֍֍ -Q﹖#ucB{kPkݘk9Z7f(DZ֍֍ -Q﹖#ucB{k$kݘ|n (ĵnPz7f(_ -q3s@\ \+׺1׺1C!= -ĵnPzϵq -q3s@\ \+׺1׺1C!= -ĵnPzϵqq3ލ֍W סZY_m)'ARFBQ1'b1O/:Y<̇V(T(68_-I!yddLd ݤDt<"$Iv:ؕS2 F6{.EX%}PxfC-Ce,k " -0&6X;^\BF!UU_*)((K]x8r Y_]g-eDcͮ/ FHJ -]#uCm3We<= ^kJev/+O= Mx'b1xtdo:/>l -ڨ,l"t:eطt0l\65Ȕԓ0T` ]l٘l)mt&Iib$!S̈́jjN8 f -Q"vn)vRTx{SQDҶ[Y͍Ŧ68Ez?Z;I(#!̦#&Zkp8Qbɔ[߀)`إodu黽V2U\F[ UbU8Xj*vQSSuvY ysM+Q!؊Xu2ȷ:2NeIS/gח9UYYGjS/3/:8?=I_Mݿ &^_aen+]}o:tsb'Od0rW6( ZUj`ˆ^mI sb WH?y\Bg,Khv Pp:"l$hSF0›-Y"]~Uc/KujaV霔e|E6*3HX6;"#R-CN1P 6 -}*ícKu FܼH{m$`|(F[΁`^/0&恐_ǧ o cB;nR[zݦb3uY:dV*4y4V[~TY턼~lmι2%x(s.5К4;+W`>ae4sBkW-EV/˥`[jIju !Id]-vm\!'>CsilbQRek ;M[[BTn-/gmָڴ[ղZZw9:lt:ku'ͮy&;m6(O1[)cO`DAaY R)<BdfҫQaH_t57,J',gþ:$hz0x.a^>ur^ۿ>;uhŝ\]]u;riwv6\#rO{g+^,u.\n'MEfEgC~R֗[O/ye+i,=oM&9F1 :?w9~"6mIOE>]㫍;raA_gъ޼bY6n>vћE>]y߻q`~ -njp>B:{ -,8z,5g ȔN͞qPdq4(xۍnqEz -I-Ὴրf -y -n>cS0)*$(&&++D( = ]C\} /endstream -endobj - -15006 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15007 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15008 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15009 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15010 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15011 0 obj -<> -stream -H|Wn8}WQb7& d8d5m+iI]x~DJ&A:}Dyūe?vϛ! 7!/T2NE2NDc,|xXMwc_Wa_W߈a^"Baag<5cyu^\E<{RUHN?QUz8< ai̊"[><} ,3iyV L@"| -9 ߻gài,PEvH\Ns -ÙH.,8>,W;x O O$KO$KO$KO"+O"+O}BO< >'SSO}JO=>gS3O}N=9>S_=r´.p!Wb"\bջ|.,µ.,BZAŐE\+׺׺kZCs \b"\b"{k] Yzϵpp!PVu1d= -µ.p!Wb"\bջ|.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] Yzϵpp!PVu1d=Jµ.p!Wb"\bջ|.,µ.,BZEŐE\׺׺kZCs"\b"\b"{Uk] Yzϵpp!PVu1d=*µ. ZCŀEŐw1dꋸ( -2iVMz\pw\"U!g3p0Mp]^\BMw,.{7׶u+/x<־qmYngpDScbu;J8gE?y4Uԛ2UUH8bT^a誺ɛ"N`4Ɍ8\-FCsүˠؙ-`K~F}ЮoL`%dSzgN2sB0Qwoгm.hp?E&:Yx \~v -mD\ObةSMm%r3f;d:u\:xNW='y,u^~!z ܟYw~lmXr R^;-7n:禷J WKO>v-EQs іhX"HWs/fܤďJ!YBB*!4ALCp6Pʈ7NFQ2:GbQmX0}`՟4 hÍTRmJ{ Ӎ i'2RV˂E7SӔ6߀LGѳsX_,0%a$"LK2<\4L^}ĽTރ{-e'p cV6Wdٟ;5cTSIZKԖs/[yxZ1g_Ia;nDDpt+te[kebч7 $Xf{ JFJWs.9-MBĩL7Eb'SgÆxV^͔q!tumώ}Ը {ۍaNm^7_lμ -C%t;* 5玺Q[aӠHc`g*ICս[u(5!RT C7)/gMp6b+~h3p!- 5͐ǚ -=E%,4cߋ!Wk"}S6uLaje߉%YrJfuh鼟ڹz*:PRČ1-5՗%cX`! -"x-0&ߛ5YH$K*އ/!U8w-z .l&?M)#Xw[a r -B C -)e_R0Lt8\'3?-a!-fx!IC51d= `ly'9s'jzܶ=GpUCKbES@ Phm효Wvm9})KG3|Șշ^LSbg[V"edre W(R7dhJR^ԡb<44p >CAϫΨh$ʤMH}h**vh(;\)TV@}\Ţ@e`lQ\FS\W\Ԍ;m.p!t [hNtMMo*F8Sd^tD5S"u;BHj;B.efz/|=O"A P*hn8%C y"UΔ5V9o -AQQgT2+* >;A-Dhz ǭԵ/= -ǾB^s֨ - -HPDž Hl/ug\u5o8S IrCٖծif3]zxJ2-5nD[Pp,*4xe D?]:\zVl*AqiMV;ntjWR2<]F(F8Jxd$kY.j@MqC+|>|osjl+#k.P\fOiG}<,K -cO7\h~GL]FsVGG]p^jMm31ֳ:6S*{9jT&$R0o4=I=,҈ך%d*u\U>Omh)x+VA͜qbCG.%? 17hBtSB+cm,M|qBoƿf_vuF<_Άt}p3!*\ku<k&X40 Yn?净k'}96 ,kۉ3&Lq2G\;aշn~Tl'|;AJ خaed|h^DxЂ`5YH -:lc0TI|x*( -yi7qR?9=z8YĒ^S6y==־X PdE |#q|6e]7鎗~M;ɍz?\pNe0HdHlW Wl-uw i5!7B#˱:VLQ4+d`rZX1^)RM5'rev0 -,sN͊)ߘ.db?y85ddEfKhHד0ώn:4›y97& NUUu7`~w\_^endstream -endobj - -15012 0 obj -<>/P 1217 0 R/Type/Annot/A 15015 0 R/Subtype/Link/Rect[93.6000977 521.629028 184.404007 541.309021]/Border[0 0 0]/H/N>> -endobj - -15013 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15014 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15015 0 obj -<> -endobj - -15016 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15017 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15018 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15019 0 obj -<> -stream -HWmo_H@澑\4wAwHT@LL$'QE{I|A,j4;;-zgoT~՛DZBtaUY8ٿU:3Qzjmumjd>Zu^ͳӹQ,IrUL+5_g3WT'Ҍ ڌOuX gˢYv`&',O:D_봆wV)__\],Bې^Y,'*9Qr" Lj%Xb#Y #V,ice{+[ -w½p{'{ }p >p_p_%p_ -%p_ -%p_ -p_ p_ }Eg (-֙{%h-Lj%sX= cEk-h-Lj܋ZZ%h-Lj܋ZZ K,Z #p/ZkAk9X#p/ZkAk9F,^ւrl9ZKXbrX=Lj%s,@k9F,^ցrXhXbrXh{ZZ˱{ZZ1bcZ1bcEkh-֙{%h-Lj%sX= cEk=h-Lj܋zZ%h-Lj܋zZ K,Z #p/ZAk9X#p/ZAk9F,^փrlZKXbrX=Ljܫ;Ej ! V,偖ZhyVZhUBh@Z%*V JUJhU@ZhEVZ6Z#րZheZh[{kSȽ6e -{ h[{XSȽ4eq-r1bI-qh;{qh;{Ah;{Ah;{h;{h;{h;{h;{ѱh;{ѱBjqXRct`Z"ct`Z"ctZ"ctZ"cD==!h{{; w%rA9F@Kރs̥Lj%8F@K>Gc*O\.٫yv:[e*=A'x]"D֣l]z+MQ]蚥i.V3/M۝޴0Ĕwy0ڪ"/u>~~MZWgSޝs~~>;?Ԧqzza3–7'V8,x9XKsNq0Z:UyF*Xr]Ovi|ߠj‰'Zۗ>J+\Qn~ҦLJh;ӛp?fwsO.&W|ǮIiO4NT94`K퀁A቙M49 1,0gFHkJ1ύ鿑8"!ÈKhy兖Z^hVZAh@Z*V JURhU@ZЪVZQhEͥLj%8XheZhYeȽȽȽȽȽȽȽȽ cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cĒZK,{ h{{ h{{ h{{ h{{ h{{ h{{ h{{ h{{ h{Kjq,@9F,uj_euVhOkZ\ۂig*cq5u?`n|NyO Ftմ7jԏTy[?V_>6I li9w> "W{S׮C֧YvE(f~u__jVMpZ;NccuiFǤmۯN'/bnes\Q4mM#,M[kv^nALw9\nOL5]=?OWUdJ;Ǯޮ6ML6`<ޤ$dY1:ժo6W'#z(JҁAE0Mz6ho) o褭= MvtO#tQꪰ;ytw6M->+t6}O-Kcɱsqpq]wGհO}G un{̸ء4qvneT% ŏO_Y ioJQd'RGك"d^G?×f\t==Oۿû5g)7oPmk.XWTP0 %yڿ$8 -Б?7|N[LȚz6 CUG.)7"S ZCD]=|W}0h|endstream -endobj - -15020 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15021 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15022 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15023 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15024 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15025 0 obj -<> -stream -HW]o۸}ׯ^Ih[$j%+qP%'(RQLJѐg8=nIH~GE@33A1#ĨVz_ ɃGIIϲI^5UӖ۲ m]񅑇{.VJV^$#I0%#V?_(jxkro !goX7;0Eƒ$a31T w+/AU,j?<0r 4$dC`0U˒Py_,9, C1r1`Q,L"ekocbzgzzzzzzᨏ>BGQ9cD}쨏>A'Q8D}O>Eԧ Q93DYj!1rژbmL\6,ĵ6Xzǵ q)q-C\kcB\kcw\ژb!2ĵ6,ĵ6Xzǵ q)q-C\kcB\kcw\ژb!2ĵ6V{q)ƀUoc媷1`!1B;kmLk9ZZS,DZ Q︖#1`!1B;kmLk9ZZS,DZ Q︖#kmL\6,ĵ6XzS,W q)q@\kcw\+ژb! -ĵ6Xzǵq q)q@\kcw\+ژb! -ĵ6Xzǵq^UocB\kc媷1rgAeYەwZ1Bn ʲ &qUwh~Qv;3C~"U|*z1& 0dUK4k Nnp~Kr.]~>>{csמoڼ6?>Dz]fߎex'1ãZl*FxHkS WNVMSn]P@W讇DzR0on8@S [~a_،o7cc)} NI/ZCXw8@AJC6,(1Oqa{Xnh| YF. X4Oods9pY$HZ>o=4@U]E/( !Д1CC<MV988k"<9~ƀwHt8c ≬Wd\2dl>O'~[(wu̐Of" g+4A>-7,Ƽ4"|L8k_V"IBbΫr|!4gҬeYdžGR(a37PA?q V*#ېu̇dl ڿ1$ZfXC1HӴ]%vYSL8< q -6s@.>LcU ^9ɲlj+2I gKJqs`IMW!(-%/}#d*:֦!õ_>͕>iyp8\I]+Gꘝ'^.N]Άfy*}o(8LB9-EfKh:rAL>ƒoշar Gu(Q[kqOteP/МH*._V]M"(*2yH w_^ 0c(wyQMb}]if!mwm ,W$x,cy(cM3K"(h"aڏ2pMxbƲL.nd>Wd?OA*kr y.גF>!ꫩYVj65/tVÅ7XiD'YY1pqF?B__NWP ݶa zWSEAQ- -+ӑIL)oɴ1=\f{ kK㳓QdFѻ2QM#~fL$LfPT5:˝87 "8'-4ny1HruN4  ϻ3<Ҭ\1VjDk\pw`?+'n0óȭ $ Qg obΥgQms -%S{}V1"萤9wNYL^=Wމ]ڡAR $M#z5A[{. XR}km͆(ȧ׍@O 2}фG:LÔ.D1eG(syQXH *4QU/YC0!m2xp.k 11>/U fm]MYKVf'oJr|bW8Ej7iYl8g^? \M:k9S|r`;hb:ӉDS[p7ܢ[$~)#f,Gd  0d)^$,m|IXۥT]ҀaӁChG=?mFevx&i^%6ZA{p>\KA `-%VE/l@%tf={gt_[èendstream -endobj - -15026 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15027 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15028 0 obj -<> -endobj - -15029 0 obj -<> -endobj - -15030 0 obj -<> -endobj - -15031 0 obj -<> -endobj - -15032 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15033 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15034 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15035 0 obj -<> -stream -HmoFW ,@y#9MM f CXD-\Qd }r!yŹշ^;/_}:5.A|e¨7k6DJ.~n~yZTuK>WurQ[UP!2UW^&We3V=7>OMhvg zzOÿ޴٣^fE8ϋL>b<MޚeQ:W#SL%WLB9e< ̣s+L\#\kѥt1\xvexEHo@z#[ފ"H@z';މ"HAz/ }! }!җ })җ })җ })W }%W }%>3rm0\#LϵS5r\#LϵS5rbj Z Skr-r\ Zk0\.0\#H/ր@z1L-ע L-ҋ5`jF.^LS˵ebr\2=ע L-%s\2=ע L-ҋ`jF.^LS˵S5rbj-Z Skr-r\ Z kZ0\.0\#H/ւ@z1L-זS5r\.0\#L5r\.0\#H/ց@z1L-ע L-ҋu`jF.^LS˵S5rbjZ Sr-r\ Zk:0\[&L-%s-r\2=ҫ?EwVmHm"p,XN`9 -*J* -*XA`2dq\5ڬ, XZ `2%zo@6l.Kހsm؆]z5rڰ k,{zϵa4vq$k,{ z5mdKނs62%zoAF[\- -`[{D-=hXk,{ z5VH%Y\ `;{цD=h+Xk,{z5z,{z5z,{z5z},{z5z},{z5z1,{z5z1,KF܀%zACBp*?'eN.Z+$ *g*|z\ުy߳jrSk,֍q#E\YEn9o:67;=3]Gt?_y;9W뻧l߮7og*ˏ͗ytsL9{kEGk65޳pVku4h|Lc7o餽jjɴWY?;W5 >u\:ĥJJ7ދo̚tw4Y5M;SE_+?4j{eMffj3peŰ9.v9ly5!`4cǎNhR:gäSܷe)Wo}>iL ׊>@j+݅\gz,rz'U9WsOi:'nnw>\_K2=,K+^2nӼSuLInDJ_γ%뜬(;&]~Sz{3/KuU{B[\#W.r,X^<`y* -*J -* -+V,K%Y\. XZ4`i2eKހs\%zo@F.7\#`{ D =Xk,{ z5rIע k,{ z5rKނs\%zoAF.\#`[{ D-=Xk,{z5rIע k,{z5rKށs\%z@F.w\#`;{ D=Xk,{z5rIע k䒬~8/ַFiU'z*8q|L^!ۋW~Ƈt&~S偶&-UO i39nbNdxa~?ڶ\nMmZ-I\ -b{ uŽmW~[Kw@{X`Z`Zt*ԑ\Q7(Z"#c{8f83d#nx8ka·p?T{Kn#U*1YwY9k6m$f$%e?.~sJXf9uGuӷgW=>S<,-9rO[/g(9/KK~ȎUsFi|ϐ[sl 4Xɋ 2jp /uuP56aqa~Ff[~mc]NrǥV .qhZc4S,uU޳ ,@5YSp( RPxt)ea=Y#ȴ̸DH4Gc?hgS+MrZSXrSW,d7uI MEKdG>mI^2Gʾͩds+I<礔BٛIRb# -tbsC"Ț`T}(ɵ5& ,Rq0!)ݲ -c؟`Ʀor'qޡVi@|Mn Pp*դ0΄ ZDCy|ϕyn4Gʜ{a\".kC3]| lE5=9?8O/](>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15037 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15038 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15039 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15040 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15041 0 obj -<> -stream -HW]sH}WtvPA|w6L&W5[eR! -`;~"d{oTt|9y۫~ݏ*T/__/A_[g&HJZz"U)ogY}uWnꦭ6eVj+oVםjG"X{& S4Ufj.ff/t60\9Tu92S^j0 ?n4oQx4i?-0XlJLսB+|PL ϥ.<SG8QhbQ XQYCV,(),-̽k so7{[e2>fc}ǂO s>ܧ}*OTp2>c3};cu6JKR Y=ŀ%b),bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` Zh-Ő%gBk)Z!R Y=ŐS XBk),=kZK1d YkZKh-Ő%g5Bk),=kZK1` Fh-Ő%g5Bk),CFh-6ZK1dqZ!{Kh-Ő%gBk),=kZK1` Vh-Ő%gBk),C -Vh-ŀ%bܳZC -ƋR Y=ŀ%b),9Bx|*R9Xa`bUTVU[}>sWǓqalIEaиAp9ڶbtr՗5a;IwqAoGoǢv&\~416@h?u@\ǡ$7%v<ݍ{noӪ?] ۇԤ6Ig=dD -Wz2W#m2U(Jd3t'c|hq1ހ.z:=nVV8HS=v[Sv}a#73~9,}ǓgӋfVۥq?ݻjUj[m -C(Ъ.4 B@hmXًJݹ̜3gˇ .L'cS7?ȟ2[>heEiLTゲ&A,@*_ڴ/<~u2@4wTo`C"qz˝6Mcҭ ^GLDm"s{^ేYK,7&fdjY'S[2H%q(rw?64KtТ̷oy}},P,u9= -HSO2$8D-0ȕl TjG'˻@+|K껑}@,Vov^l"]7XFY2+ B.|n󃘟NTM'h3G|9'#9La!S8l$c"@H]VmLsPjד?JdhDH8 eLb@RVYAMvQ%Q!sò~<&DPY-ߌ{u͇KAWd9 KQUr7BՈJ_zGo;qYM$x]hJm[~Ov#8D2&9:&ș.}{\0י͐3)n?:StOڲ>.5MҳnMvkB!LP0%c̖1HY,tªX׿UwJRdL㰤"R~ 3-)MyXgY Cy#M.}(q%cGe 38O>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15043 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15044 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15045 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15046 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15047 0 obj -<> -stream -HW]sۺ}#=c$}&aӇ%&PI(}(ɋM;`gA_C,ez6O$%W")8+ 䜍:7룔m5,~Э2};tڌM&vn:C -U銭(~}XY=+%0^dXuDe -:17Wyf{zY%"}QCMcޭ4XwH8{aYA7̾|MنE(Sҕ*mU9T!B, c>cʲ0 ֞exyy^E^E^E^e^e>'PsB}/E P_KB}/ e~E_WU"WPx6#L.k1fYzp-,+T1 -c Xk1fYp-,Pb̲k9ZY>p-'\1`Řerµ,B}ZNc"\1"k1fYp-ƺHŘe1,µP=,+T1`Ře -µ,B}ZAc"\1"k1fYp-ƀEcE\+b̲kZp-,PVŘe -µ"Icb̲BP=ƀEcE\+ b̲k%Zp-,PVŘeJµZY>p$\1"k1,µ,B}ZIcE\+ brµP=ƀEcǘeꫤ*Rw6f]?$9J l],0dJ -V[wQ(E)A_X_bݛQ -ĊNjN_<;i=y촟MoGڡyZ~u 6& *k7?)KReƺSwԾ)Ǩ0el'0UM}`W:{ĭoFclw˲[^ɳNOOE)hlEhOn֣[~.oi|_IdMT_T.D1N-1\%-ҞeM_s$Ns&0?͈N;Wz{m^{o/. y6(<=^y>spLR~ -UB$W -j&TٽIC%o?[5MMXE;3wߙTZqTo췦m/ Nm qK)O>辇?45?X|B՜ i9[Gw?Y_:;0endstream -endobj - -15048 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15049 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15050 0 obj -<> -endobj - -15051 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15052 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15053 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15054 0 obj -<> -stream -HWkob>ʀ( -؎Ӫ7~ Vnn!*גr%9\iV* yCrOoǫ ӫ[ُ?([]Wjf*dΪHE٧B+N?LƛiͧlV;>aq:#>pT0=΋`0}9~5ܖFgw9,8X́O*%gW3 VeK1Ep SqWbB FpRp PBĆ(CRBS$^f%^f^e^e^e5^g5^g d d d-f-feee=g=g>d>Ӭ D$TOm"TOm٧6@Mm"gjSj%(B QLPmjC>S$TE6!`VMm"gjSզ6D3JB QLPmjPmjCT>PmjCT>!*gE6!`VMm"gUjSզ6D3*B QLPmjԆ(}ZE6!`VMm"TETզ6D3*Bm^hB Q9(B Q9Ԇ}jԆ(}ZM6!`VMm"TET զ6D3jB PjSj5Ԇ(}ZM6PmjC>S&TET զyaզ6DSզ6DSr !hῃ?'|XH1̞ Jˬ㼸ݎWӴ.ye6;kKzVz_lT>Mt=Y;l炗 ',M%·WpSgx A5bq64Of\#|D]sdz݄eky餖)1S9>_3~X~#&+q} RyHRmŧi nO^Lut 3gß -RvXYU4:^CulPRpu܀W0'7وR2SKß/?QR҃HGT%KБ?f\i9iK`b|^L:U*8RA&췷*s0E.fh;]B뛘LǶpT{PYe^cAAsҢtl{tM]iH>3j5IJ٪Ae1#(籝P[i@ - HQ {~r -]}&{Pxg+@G$4Dk٤Cf@# hX%ji%A -Gb<ǘrxÏ^/7{|?X$²u )kQ*Ris{KV@#L|70ơXYzV|&iWJj} A<5+4ڶ:uV[4&-uҡ+ -IktK z -Ӝưo9 Z8d #e@r@QxaQ;..%AzixUpp-n07?Lj_+ %X$_#O ﷃu"҃GPE3B'q=uഔAFtN:ccC߆īǖy;]lfe6Kyei ٌvߗj>[aHl'z!4YGwƱ2 stg%~nWj\u:Gk jmH ->RFJ%M6$ET }N5gùhSS=WmvLbF+@KX7]}7_>K'g~ymg\#"UafӴ$]S?TAV>-'4M#E22ELuhz_or/ 2~ME6ftyTWDe/b59Y/de6-3!r4 -qmrocXxRd0ԹFvԤvŦ -e]ˇ bX -I dz^;4ͬ[CsL&Fy<@ @ LZVHi̷K<8*/+hQŃKCMɃJM߫3LIThU֛*B\%TƪRYV핎'K~ IӪ@ueiW1)\94TwJcqc{-_ ^x՘Ͳx D(/>Tz_?w@t_W~mͮitby|Q-vŶ ߔS -U֓|1eLeqR}7:E8ӡL|= -'(}U-O8IC?wei5UǓ3L;u^teCB -p֔9<-ЈYUN HS@5s0 -'\Sr߮e/xlOF&FUBjR @)^@QJ+ Tt7rz+\s;Bmv5nJ <0Oڦv V̐+6b3=픠K mB>pGF= PR@HbF*P^PT(k)&=٭-/H'B;-Io쒆,˸$SL{^ٖf-2Ȣ%5l<_2[1L🡿!=O kѰ!n說~z2k)[ -N|5/I\IM{;ȅd3(H9W=P‘2Ik̀?5_ -bm#-5=z1c3׮,@#՘ZMG}]\lτ?Wz?Ԑuބ?>6bzѮX7ߞsϸ|Ůb -NhEϬw\.G)˟ qCI+ PZ!%z0 'g>/P 7932 0 R/Type/Annot/A 44530 0 R/Subtype/Link/Rect[215 659 229 668]/Border[0 0 0]/H/N>> -endobj - -15056 0 obj -<>/P 7932 0 R/Type/Annot/A 44501 0 R/Subtype/Link/Rect[231 659 248 669]/Border[0 0 0]/H/N>> -endobj - -15057 0 obj -<>/P 7932 0 R/Type/Annot/A 44462 0 R/Subtype/Link/Rect[249 659 261 668]/Border[0 0 0]/H/N>> -endobj - -15058 0 obj -<>/P 7932 0 R/Type/Annot/A 44420 0 R/Subtype/Link/Rect[199 649 209 658]/Border[0 0 0]/H/N>> -endobj - -15059 0 obj -<>/P 7932 0 R/Type/Annot/A 44387 0 R/Subtype/Link/Rect[211 649 225 658]/Border[0 0 0]/H/N>> -endobj - -15060 0 obj -<>/P 7932 0 R/Type/Annot/A 44348 0 R/Subtype/Link/Rect[227 649 239 658]/Border[0 0 0]/H/N>> -endobj - -15061 0 obj -<>/P 7932 0 R/Type/Annot/A 44327 0 R/Subtype/Link/Rect[200 639 214 648]/Border[0 0 0]/H/N>> -endobj - -15062 0 obj -<>/P 7932 0 R/Type/Annot/A 44284 0 R/Subtype/Link/Rect[216 639 230 648]/Border[0 0 0]/H/N>> -endobj - -15063 0 obj -<>/P 7932 0 R/Type/Annot/A 44248 0 R/Subtype/Link/Rect[232 639 246 648]/Border[0 0 0]/H/N>> -endobj - -15064 0 obj -<>/P 7932 0 R/Type/Annot/A 44213 0 R/Subtype/Link/Rect[248 639 262 648]/Border[0 0 0]/H/N>> -endobj - -15065 0 obj -<>/P 7932 0 R/Type/Annot/A 44639 0 R/Subtype/Link/Rect[264 639 278 648]/Border[0 0 0]/H/N>> -endobj - -15066 0 obj -<>/P 7932 0 R/Type/Annot/A 44139 0 R/Subtype/Link/Rect[280 639 292 648]/Border[0 0 0]/H/N>> -endobj - -15067 0 obj -<>/P 7932 0 R/Type/Annot/A 44108 0 R/Subtype/Link/Rect[158 619 174 629]/Border[0 0 0]/H/N>> -endobj - -15068 0 obj -<>/P 7932 0 R/Type/Annot/A 44068 0 R/Subtype/Link/Rect[175 619 187 628]/Border[0 0 0]/H/N>> -endobj - -15069 0 obj -<>/P 7932 0 R/Type/Annot/A 44037 0 R/Subtype/Link/Rect[244 609 260 619]/Border[0 0 0]/H/N>> -endobj - -15070 0 obj -<>/P 7932 0 R/Type/Annot/A 44002 0 R/Subtype/Link/Rect[261 609 273 618]/Border[0 0 0]/H/N>> -endobj - -15071 0 obj -<>/P 7932 0 R/Type/Annot/A 43965 0 R/Subtype/Link/Rect[174 599 190 609]/Border[0 0 0]/H/N>> -endobj - -15072 0 obj -<>/P 7932 0 R/Type/Annot/A 43937 0 R/Subtype/Link/Rect[191 599 205 608]/Border[0 0 0]/H/N>> -endobj - -15073 0 obj -<>/P 7932 0 R/Type/Annot/A 43882 0 R/Subtype/Link/Rect[207 599 221 608]/Border[0 0 0]/H/N>> -endobj - -15074 0 obj -<>/P 7932 0 R/Type/Annot/A 43853 0 R/Subtype/Link/Rect[223 599 235 608]/Border[0 0 0]/H/N>> -endobj - -15075 0 obj -<>/P 7932 0 R/Type/Annot/A 43811 0 R/Subtype/Link/Rect[234 589 248 598]/Border[0 0 0]/H/N>> -endobj - -15076 0 obj -<>/P 7932 0 R/Type/Annot/A 43781 0 R/Subtype/Link/Rect[250 589 264 598]/Border[0 0 0]/H/N>> -endobj - -15077 0 obj -<>/P 7932 0 R/Type/Annot/A 43749 0 R/Subtype/Link/Rect[266 589 283 599]/Border[0 0 0]/H/N>> -endobj - -15078 0 obj -<>/P 7932 0 R/Type/Annot/A 43705 0 R/Subtype/Link/Rect[283 589 297 598]/Border[0 0 0]/H/N>> -endobj - -15079 0 obj -<>/P 7932 0 R/Type/Annot/A 43678 0 R/Subtype/Link/Rect[151 579 165 588]/Border[0 0 0]/H/N>> -endobj - -15080 0 obj -<>/P 7932 0 R/Type/Annot/A 43628 0 R/Subtype/Link/Rect[167 579 181 588]/Border[0 0 0]/H/N>> -endobj - -15081 0 obj -<>/P 7932 0 R/Type/Annot/A 43591 0 R/Subtype/Link/Rect[183 579 197 588]/Border[0 0 0]/H/N>> -endobj - -15082 0 obj -<>/P 7932 0 R/Type/Annot/A 43547 0 R/Subtype/Link/Rect[199 579 213 588]/Border[0 0 0]/H/N>> -endobj - -15083 0 obj -<>/P 7932 0 R/Type/Annot/A 43521 0 R/Subtype/Link/Rect[215 579 232 589]/Border[0 0 0]/H/N>> -endobj - -15084 0 obj -<>/P 7932 0 R/Type/Annot/A 43478 0 R/Subtype/Link/Rect[233 579 245 588]/Border[0 0 0]/H/N>> -endobj - -15085 0 obj -<>/P 7932 0 R/Type/Annot/A 43451 0 R/Subtype/Link/Rect[217 569 231 578]/Border[0 0 0]/H/N>> -endobj - -15086 0 obj -<>/P 7932 0 R/Type/Annot/A 43416 0 R/Subtype/Link/Rect[233 569 247 578]/Border[0 0 0]/H/N>> -endobj - -15087 0 obj -<>/P 7932 0 R/Type/Annot/A 43368 0 R/Subtype/Link/Rect[249 569 263 578]/Border[0 0 0]/H/N>> -endobj - -15088 0 obj -<>/P 7932 0 R/Type/Annot/A 43323 0 R/Subtype/Link/Rect[265 569 277 578]/Border[0 0 0]/H/N>> -endobj - -15089 0 obj -<>/P 7932 0 R/Type/Annot/A 43277 0 R/Subtype/Link/Rect[190 559 198 568]/Border[0 0 0]/H/N>> -endobj - -15090 0 obj -<>/P 7932 0 R/Type/Annot/A 43236 0 R/Subtype/Link/Rect[207 549 217 558]/Border[0 0 0]/H/N>> -endobj - -15091 0 obj -<>/P 7932 0 R/Type/Annot/A 43182 0 R/Subtype/Link/Rect[219 549 229 558]/Border[0 0 0]/H/N>> -endobj - -15092 0 obj -<>/P 7932 0 R/Type/Annot/A 43162 0 R/Subtype/Link/Rect[231 549 244 559]/Border[0 0 0]/H/N>> -endobj - -15093 0 obj -<>/P 7932 0 R/Type/Annot/A 15393 0 R/Subtype/Link/Rect[245 549 255 558]/Border[0 0 0]/H/N>> -endobj - -15094 0 obj -<>/P 7932 0 R/Type/Annot/A 43096 0 R/Subtype/Link/Rect[257 549 269 559]/Border[0 0 0]/H/N>> -endobj - -15095 0 obj -<>/P 7932 0 R/Type/Annot/A 43032 0 R/Subtype/Link/Rect[270 549 280 558]/Border[0 0 0]/H/N>> -endobj - -15096 0 obj -<>/P 7932 0 R/Type/Annot/A 42998 0 R/Subtype/Link/Rect[282 549 295 559]/Border[0 0 0]/H/N>> -endobj - -15097 0 obj -<>/P 7932 0 R/Type/Annot/A 42972 0 R/Subtype/Link/Rect[295 549 305 558]/Border[0 0 0]/H/N>> -endobj - -15098 0 obj -<>/P 7932 0 R/Type/Annot/A 42930 0 R/Subtype/Link/Rect[151 539 161 548]/Border[0 0 0]/H/N>> -endobj - -15099 0 obj -<>/P 7932 0 R/Type/Annot/A 42898 0 R/Subtype/Link/Rect[163 539 173 548]/Border[0 0 0]/H/N>> -endobj - -15100 0 obj -<>/P 7932 0 R/Type/Annot/A 37440 0 R/Subtype/Link/Rect[175 539 189 548]/Border[0 0 0]/H/N>> -endobj - -15101 0 obj -<>/P 7932 0 R/Type/Annot/A 42835 0 R/Subtype/Link/Rect[191 539 205 548]/Border[0 0 0]/H/N>> -endobj - -15102 0 obj -<>/P 7932 0 R/Type/Annot/A 42781 0 R/Subtype/Link/Rect[207 539 221 548]/Border[0 0 0]/H/N>> -endobj - -15103 0 obj -<>/P 7932 0 R/Type/Annot/A 15418 0 R/Subtype/Link/Rect[223 539 235 548]/Border[0 0 0]/H/N>> -endobj - -15104 0 obj -<>/P 7932 0 R/Type/Annot/A 42721 0 R/Subtype/Link/Rect[190 529 198 538]/Border[0 0 0]/H/N>> -endobj - -15105 0 obj -<>/P 7932 0 R/Type/Annot/A 42681 0 R/Subtype/Link/Rect[207 519 220 529]/Border[0 0 0]/H/N>> -endobj - -15106 0 obj -<>/P 7932 0 R/Type/Annot/A 42648 0 R/Subtype/Link/Rect[221 519 231 528]/Border[0 0 0]/H/N>> -endobj - -15107 0 obj -<>/P 7932 0 R/Type/Annot/A 15404 0 R/Subtype/Link/Rect[233 519 243 528]/Border[0 0 0]/H/N>> -endobj - -15108 0 obj -<>/P 7932 0 R/Type/Annot/A 42570 0 R/Subtype/Link/Rect[245 519 257 529]/Border[0 0 0]/H/N>> -endobj - -15109 0 obj -<>/P 7932 0 R/Type/Annot/A 42541 0 R/Subtype/Link/Rect[258 519 268 528]/Border[0 0 0]/H/N>> -endobj - -15110 0 obj -<>/P 7932 0 R/Type/Annot/A 42495 0 R/Subtype/Link/Rect[270 519 284 528]/Border[0 0 0]/H/N>> -endobj - -15111 0 obj -<>/P 7932 0 R/Type/Annot/A 42456 0 R/Subtype/Link/Rect[286 519 298 528]/Border[0 0 0]/H/N>> -endobj - -15112 0 obj -<>/P 7932 0 R/Type/Annot/A 42405 0 R/Subtype/Link/Rect[171 509 175 518]/Border[0 0 0]/H/N>> -endobj - -15113 0 obj -<>/P 7932 0 R/Type/Annot/A 42377 0 R/Subtype/Link/Rect[176 499 182 508]/Border[0 0 0]/H/N>> -endobj - -15114 0 obj -<>/P 7932 0 R/Type/Annot/A 42350 0 R/Subtype/Link/Rect[184 499 190 508]/Border[0 0 0]/H/N>> -endobj - -15115 0 obj -<>/P 7932 0 R/Type/Annot/A 16043 0 R/Subtype/Link/Rect[192 499 202 508]/Border[0 0 0]/H/N>> -endobj - -15116 0 obj -<>/P 7932 0 R/Type/Annot/A 42252 0 R/Subtype/Link/Rect[204 499 214 508]/Border[0 0 0]/H/N>> -endobj - -15117 0 obj -<>/P 7932 0 R/Type/Annot/A 42226 0 R/Subtype/Link/Rect[216 499 226 508]/Border[0 0 0]/H/N>> -endobj - -15118 0 obj -<>/P 7932 0 R/Type/Annot/A 42172 0 R/Subtype/Link/Rect[228 499 242 508]/Border[0 0 0]/H/N>> -endobj - -15119 0 obj -<>/P 7932 0 R/Type/Annot/A 42132 0 R/Subtype/Link/Rect[244 499 261 509]/Border[0 0 0]/H/N>> -endobj - -15120 0 obj -<>/P 7932 0 R/Type/Annot/A 42091 0 R/Subtype/Link/Rect[262 499 276 508]/Border[0 0 0]/H/N>> -endobj - -15121 0 obj -<>/P 7932 0 R/Type/Annot/A 42051 0 R/Subtype/Link/Rect[278 499 292 508]/Border[0 0 0]/H/N>> -endobj - -15122 0 obj -<>/P 7932 0 R/Type/Annot/A 42002 0 R/Subtype/Link/Rect[294 499 308 508]/Border[0 0 0]/H/N>> -endobj - -15123 0 obj -<>/P 7932 0 R/Type/Annot/A 42394 0 R/Subtype/Link/Rect[151 489 163 498]/Border[0 0 0]/H/N>> -endobj - -15124 0 obj -<>/P 7932 0 R/Type/Annot/A 41934 0 R/Subtype/Link/Rect[173 479 179 488]/Border[0 0 0]/H/N>> -endobj - -15125 0 obj -<>/P 7932 0 R/Type/Annot/A 41899 0 R/Subtype/Link/Rect[181 479 187 488]/Border[0 0 0]/H/N>> -endobj - -15126 0 obj -<>/P 7932 0 R/Type/Annot/A 41855 0 R/Subtype/Link/Rect[189 479 202 489]/Border[0 0 0]/H/N>> -endobj - -15127 0 obj -<>/P 7932 0 R/Type/Annot/A 41789 0 R/Subtype/Link/Rect[202 479 212 488]/Border[0 0 0]/H/N>> -endobj - -15128 0 obj -<>/P 7932 0 R/Type/Annot/A 44183 0 R/Subtype/Link/Rect[214 479 224 488]/Border[0 0 0]/H/N>> -endobj - -15129 0 obj -<>/P 7932 0 R/Type/Annot/A 41690 0 R/Subtype/Link/Rect[226 479 239 489]/Border[0 0 0]/H/N>> -endobj - -15130 0 obj -<>/P 7932 0 R/Type/Annot/A 41651 0 R/Subtype/Link/Rect[240 479 250 488]/Border[0 0 0]/H/N>> -endobj - -15131 0 obj -<>/P 7932 0 R/Type/Annot/A 41606 0 R/Subtype/Link/Rect[252 479 266 488]/Border[0 0 0]/H/N>> -endobj - -15132 0 obj -<>/P 7932 0 R/Type/Annot/A 41563 0 R/Subtype/Link/Rect[268 479 280 488]/Border[0 0 0]/H/N>> -endobj - -15133 0 obj -<>/P 7932 0 R/Type/Annot/A 15750 0 R/Subtype/Link/Rect[183 469 196 479]/Border[0 0 0]/H/N>> -endobj - -15134 0 obj -<>/P 7932 0 R/Type/Annot/A 41489 0 R/Subtype/Link/Rect[197 469 205 478]/Border[0 0 0]/H/N>> -endobj - -15135 0 obj -<>/P 7932 0 R/Type/Annot/A 15598 0 R/Subtype/Link/Rect[193 459 207 468]/Border[0 0 0]/H/N>> -endobj - -15136 0 obj -<>/P 7932 0 R/Type/Annot/A 41418 0 R/Subtype/Link/Rect[209 459 225 469]/Border[0 0 0]/H/N>> -endobj - -15137 0 obj -<>/P 7932 0 R/Type/Annot/A 42241 0 R/Subtype/Link/Rect[226 459 240 468]/Border[0 0 0]/H/N>> -endobj - -15138 0 obj -<>/P 7932 0 R/Type/Annot/A 15416 0 R/Subtype/Link/Rect[242 459 256 468]/Border[0 0 0]/H/N>> -endobj - -15139 0 obj -<>/P 7932 0 R/Type/Annot/A 41289 0 R/Subtype/Link/Rect[258 459 272 468]/Border[0 0 0]/H/N>> -endobj - -15140 0 obj -<>/P 7932 0 R/Type/Annot/A 41264 0 R/Subtype/Link/Rect[274 459 291 469]/Border[0 0 0]/H/N>> -endobj - -15141 0 obj -<>/P 7932 0 R/Type/Annot/A 41213 0 R/Subtype/Link/Rect[291 459 305 468]/Border[0 0 0]/H/N>> -endobj - -15142 0 obj -<>/P 7932 0 R/Type/Annot/A 41190 0 R/Subtype/Link/Rect[151 449 165 458]/Border[0 0 0]/H/N>> -endobj - -15143 0 obj -<>/P 7932 0 R/Type/Annot/A 41162 0 R/Subtype/Link/Rect[167 449 181 458]/Border[0 0 0]/H/N>> -endobj - -15144 0 obj -<>/P 7932 0 R/Type/Annot/A 15396 0 R/Subtype/Link/Rect[183 449 197 458]/Border[0 0 0]/H/N>> -endobj - -15145 0 obj -<>/P 7932 0 R/Type/Annot/A 41102 0 R/Subtype/Link/Rect[199 449 213 458]/Border[0 0 0]/H/N>> -endobj - -15146 0 obj -<>/P 7932 0 R/Type/Annot/A 41053 0 R/Subtype/Link/Rect[215 449 229 458]/Border[0 0 0]/H/N>> -endobj - -15147 0 obj -<>/P 7932 0 R/Type/Annot/A 44445 0 R/Subtype/Link/Rect[231 449 245 458]/Border[0 0 0]/H/N>> -endobj - -15148 0 obj -<>/P 7932 0 R/Type/Annot/A 40713 0 R/Subtype/Link/Rect[247 449 261 458]/Border[0 0 0]/H/N>> -endobj - -15149 0 obj -<>/P 7932 0 R/Type/Annot/A 40681 0 R/Subtype/Link/Rect[263 449 277 458]/Border[0 0 0]/H/N>> -endobj - -15150 0 obj -<>/P 7932 0 R/Type/Annot/A 43600 0 R/Subtype/Link/Rect[279 449 296 459]/Border[0 0 0]/H/N>> -endobj - -15151 0 obj -<>/P 7932 0 R/Type/Annot/A 40092 0 R/Subtype/Link/Rect[296 449 308 458]/Border[0 0 0]/H/N>> -endobj - -15152 0 obj -<>/P 7932 0 R/Type/Annot/A 39542 0 R/Subtype/Link/Rect[190 439 202 448]/Border[0 0 0]/H/N>> -endobj - -15153 0 obj -<>/P 7932 0 R/Type/Annot/A 43832 0 R/Subtype/Link/Rect[236 429 244 438]/Border[0 0 0]/H/N>> -endobj - -15154 0 obj -<>/P 7932 0 R/Type/Annot/A 38971 0 R/Subtype/Link/Rect[227 419 235 428]/Border[0 0 0]/H/N>> -endobj - -15155 0 obj -<>/P 7932 0 R/Type/Annot/A 38928 0 R/Subtype/Link/Rect[265 409 273 418]/Border[0 0 0]/H/N>> -endobj - -15156 0 obj -<>/P 7932 0 R/Type/Annot/A 15424 0 R/Subtype/Link/Rect[246 399 256 408]/Border[0 0 0]/H/N>> -endobj - -15157 0 obj -<>/P 7932 0 R/Type/Annot/A 15417 0 R/Subtype/Link/Rect[258 399 266 408]/Border[0 0 0]/H/N>> -endobj - -15158 0 obj -<>/P 7932 0 R/Type/Annot/A 15413 0 R/Subtype/Link/Rect[196 389 206 398]/Border[0 0 0]/H/N>> -endobj - -15159 0 obj -<>/P 7932 0 R/Type/Annot/A 15411 0 R/Subtype/Link/Rect[208 389 218 398]/Border[0 0 0]/H/N>> -endobj - -15160 0 obj -<>/P 7932 0 R/Type/Annot/A 15409 0 R/Subtype/Link/Rect[220 389 232 398]/Border[0 0 0]/H/N>> -endobj - -15161 0 obj -<>/P 7932 0 R/Type/Annot/A 15406 0 R/Subtype/Link/Rect[225 379 239 388]/Border[0 0 0]/H/N>> -endobj - -15162 0 obj -<>/P 7932 0 R/Type/Annot/A 15402 0 R/Subtype/Link/Rect[241 379 253 388]/Border[0 0 0]/H/N>> -endobj - -15163 0 obj -<>/P 7932 0 R/Type/Annot/A 15398 0 R/Subtype/Link/Rect[227 369 237 378]/Border[0 0 0]/H/N>> -endobj - -15164 0 obj -<>/P 7932 0 R/Type/Annot/A 15392 0 R/Subtype/Link/Rect[239 369 247 378]/Border[0 0 0]/H/N>> -endobj - -15165 0 obj -<>/P 7932 0 R/Type/Annot/A 35898 0 R/Subtype/Link/Rect[198 359 212 368]/Border[0 0 0]/H/N>> -endobj - -15166 0 obj -<>/P 7932 0 R/Type/Annot/A 35865 0 R/Subtype/Link/Rect[214 359 228 368]/Border[0 0 0]/H/N>> -endobj - -15167 0 obj -<>/P 7932 0 R/Type/Annot/A 35088 0 R/Subtype/Link/Rect[230 359 246 369]/Border[0 0 0]/H/N>> -endobj - -15168 0 obj -<>/P 7932 0 R/Type/Annot/A 35050 0 R/Subtype/Link/Rect[247 359 261 368]/Border[0 0 0]/H/N>> -endobj - -15169 0 obj -<>/P 7932 0 R/Type/Annot/A 34267 0 R/Subtype/Link/Rect[263 359 277 368]/Border[0 0 0]/H/N>> -endobj - -15170 0 obj -<>/P 7932 0 R/Type/Annot/A 34230 0 R/Subtype/Link/Rect[279 359 293 368]/Border[0 0 0]/H/N>> -endobj - -15171 0 obj -<>/P 7932 0 R/Type/Annot/A 34197 0 R/Subtype/Link/Rect[151 349 168 359]/Border[0 0 0]/H/N>> -endobj - -15172 0 obj -<>/P 7932 0 R/Type/Annot/A 33636 0 R/Subtype/Link/Rect[169 349 181 358]/Border[0 0 0]/H/N>> -endobj - -15173 0 obj -<>/P 7932 0 R/Type/Annot/A 33602 0 R/Subtype/Link/Rect[190 339 204 348]/Border[0 0 0]/H/N>> -endobj - -15174 0 obj -<>/P 7932 0 R/Type/Annot/A 33073 0 R/Subtype/Link/Rect[206 339 218 348]/Border[0 0 0]/H/N>> -endobj - -15175 0 obj -<>/P 7932 0 R/Type/Annot/A 33042 0 R/Subtype/Link/Rect[231 329 241 338]/Border[0 0 0]/H/N>> -endobj - -15176 0 obj -<>/P 7932 0 R/Type/Annot/A 32558 0 R/Subtype/Link/Rect[243 329 253 338]/Border[0 0 0]/H/N>> -endobj - -15177 0 obj -<>/P 7932 0 R/Type/Annot/A 32525 0 R/Subtype/Link/Rect[255 329 263 338]/Border[0 0 0]/H/N>> -endobj - -15178 0 obj -<>/P 7932 0 R/Type/Annot/A 31833 0 R/Subtype/Link/Rect[231 319 241 328]/Border[0 0 0]/H/N>> -endobj - -15179 0 obj -<>/P 7932 0 R/Type/Annot/A 31793 0 R/Subtype/Link/Rect[243 319 251 328]/Border[0 0 0]/H/N>> -endobj - -15180 0 obj -<>/P 7932 0 R/Type/Annot/A 31098 0 R/Subtype/Link/Rect[227 309 237 318]/Border[0 0 0]/H/N>> -endobj - -15181 0 obj -<>/P 7932 0 R/Type/Annot/A 31048 0 R/Subtype/Link/Rect[239 309 247 318]/Border[0 0 0]/H/N>> -endobj - -15182 0 obj -<>/P 7932 0 R/Type/Annot/A 30997 0 R/Subtype/Link/Rect[227 299 237 308]/Border[0 0 0]/H/N>> -endobj - -15183 0 obj -<>/P 7932 0 R/Type/Annot/A 30275 0 R/Subtype/Link/Rect[239 299 247 308]/Border[0 0 0]/H/N>> -endobj - -15184 0 obj -<>/P 7932 0 R/Type/Annot/A 30243 0 R/Subtype/Link/Rect[227 289 239 299]/Border[0 0 0]/H/N>> -endobj - -15185 0 obj -<>/P 7932 0 R/Type/Annot/A 30215 0 R/Subtype/Link/Rect[240 289 250 298]/Border[0 0 0]/H/N>> -endobj - -15186 0 obj -<>/P 7932 0 R/Type/Annot/A 30152 0 R/Subtype/Link/Rect[252 289 260 298]/Border[0 0 0]/H/N>> -endobj - -15187 0 obj -<>/P 7932 0 R/Type/Annot/A 30122 0 R/Subtype/Link/Rect[227 279 235 288]/Border[0 0 0]/H/N>> -endobj - -15188 0 obj -<>/P 7932 0 R/Type/Annot/A 30075 0 R/Subtype/Link/Rect[222 269 230 278]/Border[0 0 0]/H/N>> -endobj - -15189 0 obj -<>/P 7932 0 R/Type/Annot/A 29322 0 R/Subtype/Link/Rect[241 259 249 268]/Border[0 0 0]/H/N>> -endobj - -15190 0 obj -<>/P 7932 0 R/Type/Annot/A 31029 0 R/Subtype/Link/Rect[222 249 230 258]/Border[0 0 0]/H/N>> -endobj - -15191 0 obj -<>/P 7932 0 R/Type/Annot/A 29242 0 R/Subtype/Link/Rect[284 239 294 248]/Border[0 0 0]/H/N>> -endobj - -15192 0 obj -<>/P 7932 0 R/Type/Annot/A 29203 0 R/Subtype/Link/Rect[296 239 304 248]/Border[0 0 0]/H/N>> -endobj - -15193 0 obj -<>/P 7932 0 R/Type/Annot/A 29160 0 R/Subtype/Link/Rect[227 229 239 239]/Border[0 0 0]/H/N>> -endobj - -15194 0 obj -<>/P 7932 0 R/Type/Annot/A 29135 0 R/Subtype/Link/Rect[240 229 250 238]/Border[0 0 0]/H/N>> -endobj - -15195 0 obj -<>/P 7932 0 R/Type/Annot/A 29081 0 R/Subtype/Link/Rect[252 229 264 238]/Border[0 0 0]/H/N>> -endobj - -15196 0 obj -<>/P 7932 0 R/Type/Annot/A 28562 0 R/Subtype/Link/Rect[198 219 212 228]/Border[0 0 0]/H/N>> -endobj - -15197 0 obj -<>/P 7932 0 R/Type/Annot/A 28518 0 R/Subtype/Link/Rect[214 219 226 228]/Border[0 0 0]/H/N>> -endobj - -15198 0 obj -<>/P 7932 0 R/Type/Annot/A 28501 0 R/Subtype/Link/Rect[217 199 230 209]/Border[0 0 0]/H/N>> -endobj - -15199 0 obj -<>/P 7932 0 R/Type/Annot/A 28454 0 R/Subtype/Link/Rect[231 199 245 208]/Border[0 0 0]/H/N>> -endobj - -15200 0 obj -<>/P 7932 0 R/Type/Annot/A 28419 0 R/Subtype/Link/Rect[247 199 259 208]/Border[0 0 0]/H/N>> -endobj - -15201 0 obj -<>/P 7932 0 R/Type/Annot/A 28366 0 R/Subtype/Link/Rect[198 189 210 199]/Border[0 0 0]/H/N>> -endobj - -15202 0 obj -<>/P 7932 0 R/Type/Annot/A 28344 0 R/Subtype/Link/Rect[211 189 221 198]/Border[0 0 0]/H/N>> -endobj - -15203 0 obj -<>/P 7932 0 R/Type/Annot/A 27598 0 R/Subtype/Link/Rect[223 189 233 198]/Border[0 0 0]/H/N>> -endobj - -15204 0 obj -<>/P 7932 0 R/Type/Annot/A 27564 0 R/Subtype/Link/Rect[235 189 249 198]/Border[0 0 0]/H/N>> -endobj - -15205 0 obj -<>/P 7932 0 R/Type/Annot/A 26982 0 R/Subtype/Link/Rect[251 189 265 198]/Border[0 0 0]/H/N>> -endobj - -15206 0 obj -<>/P 7932 0 R/Type/Annot/A 26933 0 R/Subtype/Link/Rect[267 189 281 198]/Border[0 0 0]/H/N>> -endobj - -15207 0 obj -<>/P 7932 0 R/Type/Annot/A 26509 0 R/Subtype/Link/Rect[283 189 297 198]/Border[0 0 0]/H/N>> -endobj - -15208 0 obj -<>/P 7932 0 R/Type/Annot/A 26472 0 R/Subtype/Link/Rect[299 189 311 198]/Border[0 0 0]/H/N>> -endobj - -15209 0 obj -<>/P 7932 0 R/Type/Annot/A 25947 0 R/Subtype/Link/Rect[190 179 198 188]/Border[0 0 0]/H/N>> -endobj - -15210 0 obj -<>/P 7932 0 R/Type/Annot/A 25904 0 R/Subtype/Link/Rect[190 169 206 179]/Border[0 0 0]/H/N>> -endobj - -15211 0 obj -<>/P 7932 0 R/Type/Annot/A 25870 0 R/Subtype/Link/Rect[207 169 219 178]/Border[0 0 0]/H/N>> -endobj - -15212 0 obj -<>/P 7932 0 R/Type/Annot/A 25846 0 R/Subtype/Link/Rect[196 149 206 158]/Border[0 0 0]/H/N>> -endobj - -15213 0 obj -<>/P 7932 0 R/Type/Annot/A 25786 0 R/Subtype/Link/Rect[208 149 218 158]/Border[0 0 0]/H/N>> -endobj - -15214 0 obj -<>/P 7932 0 R/Type/Annot/A 24987 0 R/Subtype/Link/Rect[220 149 234 158]/Border[0 0 0]/H/N>> -endobj - -15215 0 obj -<>/P 7932 0 R/Type/Annot/A 24919 0 R/Subtype/Link/Rect[236 149 248 158]/Border[0 0 0]/H/N>> -endobj - -15216 0 obj -<>/P 7932 0 R/Type/Annot/A 24295 0 R/Subtype/Link/Rect[371 669 385 678]/Border[0 0 0]/H/N>> -endobj - -15217 0 obj -<>/P 7932 0 R/Type/Annot/A 25941 0 R/Subtype/Link/Rect[387 669 401 678]/Border[0 0 0]/H/N>> -endobj - -15218 0 obj -<>/P 7932 0 R/Type/Annot/A 23442 0 R/Subtype/Link/Rect[403 669 415 678]/Border[0 0 0]/H/N>> -endobj - -15219 0 obj -<>/P 7932 0 R/Type/Annot/A 23389 0 R/Subtype/Link/Rect[396 659 410 668]/Border[0 0 0]/H/N>> -endobj - -15220 0 obj -<>/P 7932 0 R/Type/Annot/A 22661 0 R/Subtype/Link/Rect[412 659 426 668]/Border[0 0 0]/H/N>> -endobj - -15221 0 obj -<>/P 7932 0 R/Type/Annot/A 15397 0 R/Subtype/Link/Rect[428 659 442 668]/Border[0 0 0]/H/N>> -endobj - -15222 0 obj -<>/P 7932 0 R/Type/Annot/A 15391 0 R/Subtype/Link/Rect[444 659 458 668]/Border[0 0 0]/H/N>> -endobj - -15223 0 obj -<>/P 7932 0 R/Type/Annot/A 22013 0 R/Subtype/Link/Rect[460 659 477 669]/Border[0 0 0]/H/N>> -endobj - -15224 0 obj -<>/P 7932 0 R/Type/Annot/A 21968 0 R/Subtype/Link/Rect[477 659 491 668]/Border[0 0 0]/H/N>> -endobj - -15225 0 obj -<>/P 7932 0 R/Type/Annot/A 21419 0 R/Subtype/Link/Rect[493 659 507 668]/Border[0 0 0]/H/N>> -endobj - -15226 0 obj -<>/P 7932 0 R/Type/Annot/A 21352 0 R/Subtype/Link/Rect[359 649 373 658]/Border[0 0 0]/H/N>> -endobj - -15227 0 obj -<>/P 7932 0 R/Type/Annot/A 23365 0 R/Subtype/Link/Rect[375 649 389 658]/Border[0 0 0]/H/N>> -endobj - -15228 0 obj -<>/P 7932 0 R/Type/Annot/A 20552 0 R/Subtype/Link/Rect[391 649 405 658]/Border[0 0 0]/H/N>> -endobj - -15229 0 obj -<>/P 7932 0 R/Type/Annot/A 16125 0 R/Subtype/Link/Rect[407 649 421 658]/Border[0 0 0]/H/N>> -endobj - -15230 0 obj -<>/P 7932 0 R/Type/Annot/A 16049 0 R/Subtype/Link/Rect[423 649 437 658]/Border[0 0 0]/H/N>> -endobj - -15231 0 obj -<>/P 7932 0 R/Type/Annot/A 19681 0 R/Subtype/Link/Rect[439 649 451 658]/Border[0 0 0]/H/N>> -endobj - -15232 0 obj -<>/P 7932 0 R/Type/Annot/A 15630 0 R/Subtype/Link/Rect[398 639 410 648]/Border[0 0 0]/H/N>> -endobj - -15233 0 obj -<>/P 7932 0 R/Type/Annot/A 19113 0 R/Subtype/Link/Rect[415 629 425 638]/Border[0 0 0]/H/N>> -endobj - -15234 0 obj -<>/P 7932 0 R/Type/Annot/A 15454 0 R/Subtype/Link/Rect[427 629 437 638]/Border[0 0 0]/H/N>> -endobj - -15235 0 obj -<>/P 7932 0 R/Type/Annot/A 19046 0 R/Subtype/Link/Rect[439 629 449 638]/Border[0 0 0]/H/N>> -endobj - -15236 0 obj -<>/P 7932 0 R/Type/Annot/A 18984 0 R/Subtype/Link/Rect[451 629 465 638]/Border[0 0 0]/H/N>> -endobj - -15237 0 obj -<>/P 7932 0 R/Type/Annot/A 18956 0 R/Subtype/Link/Rect[467 629 481 638]/Border[0 0 0]/H/N>> -endobj - -15238 0 obj -<>/P 7932 0 R/Type/Annot/A 18907 0 R/Subtype/Link/Rect[483 629 500 639]/Border[0 0 0]/H/N>> -endobj - -15239 0 obj -<>/P 7932 0 R/Type/Annot/A 18882 0 R/Subtype/Link/Rect[501 629 515 638]/Border[0 0 0]/H/N>> -endobj - -15240 0 obj -<>/P 7932 0 R/Type/Annot/A 19114 0 R/Subtype/Link/Rect[359 619 371 628]/Border[0 0 0]/H/N>> -endobj - -15241 0 obj -<>/P 7932 0 R/Type/Annot/A 19070 0 R/Subtype/Link/Rect[363 609 380 619]/Border[0 0 0]/H/N>> -endobj - -15242 0 obj -<>/P 7932 0 R/Type/Annot/A 18784 0 R/Subtype/Link/Rect[380 609 392 618]/Border[0 0 0]/H/N>> -endobj - -15243 0 obj -<>/P 7932 0 R/Type/Annot/A 18983 0 R/Subtype/Link/Rect[394 599 406 608]/Border[0 0 0]/H/N>> -endobj - -15244 0 obj -<>/P 7932 0 R/Type/Annot/A 18955 0 R/Subtype/Link/Rect[396 589 408 598]/Border[0 0 0]/H/N>> -endobj - -15245 0 obj -<>/P 7932 0 R/Type/Annot/A 18680 0 R/Subtype/Link/Rect[449 579 461 588]/Border[0 0 0]/H/N>> -endobj - -15246 0 obj -<>/P 7932 0 R/Type/Annot/A 18655 0 R/Subtype/Link/Rect[421 569 433 578]/Border[0 0 0]/H/N>> -endobj - -15247 0 obj -<>/P 7932 0 R/Type/Annot/A 18635 0 R/Subtype/Link/Rect[420 559 432 568]/Border[0 0 0]/H/N>> -endobj - -15248 0 obj -<>/P 7932 0 R/Type/Annot/A 18605 0 R/Subtype/Link/Rect[409 549 423 558]/Border[0 0 0]/H/N>> -endobj - -15249 0 obj -<>/P 7932 0 R/Type/Annot/A 18573 0 R/Subtype/Link/Rect[425 549 437 558]/Border[0 0 0]/H/N>> -endobj - -15250 0 obj -<>/P 7932 0 R/Type/Annot/A 18741 0 R/Subtype/Link/Rect[429 539 443 548]/Border[0 0 0]/H/N>> -endobj - -15251 0 obj -<>/P 7932 0 R/Type/Annot/A 18491 0 R/Subtype/Link/Rect[445 539 457 548]/Border[0 0 0]/H/N>> -endobj - -15252 0 obj -<>/P 7932 0 R/Type/Annot/A 18896 0 R/Subtype/Link/Rect[387 529 397 538]/Border[0 0 0]/H/N>> -endobj - -15253 0 obj -<>/P 7932 0 R/Type/Annot/A 18439 0 R/Subtype/Link/Rect[399 529 413 538]/Border[0 0 0]/H/N>> -endobj - -15254 0 obj -<>/P 7932 0 R/Type/Annot/A 18420 0 R/Subtype/Link/Rect[415 529 429 538]/Border[0 0 0]/H/N>> -endobj - -15255 0 obj -<>/P 7932 0 R/Type/Annot/A 18335 0 R/Subtype/Link/Rect[431 529 443 538]/Border[0 0 0]/H/N>> -endobj - -15256 0 obj -<>/P 7932 0 R/Type/Annot/A 18316 0 R/Subtype/Link/Rect[399 519 409 528]/Border[0 0 0]/H/N>> -endobj - -15257 0 obj -<>/P 7932 0 R/Type/Annot/A 18278 0 R/Subtype/Link/Rect[411 519 423 528]/Border[0 0 0]/H/N>> -endobj - -15258 0 obj -<>/P 7932 0 R/Type/Annot/A 18485 0 R/Subtype/Link/Rect[396 509 410 518]/Border[0 0 0]/H/N>> -endobj - -15259 0 obj -<>/P 7932 0 R/Type/Annot/A 18859 0 R/Subtype/Link/Rect[412 509 429 519]/Border[0 0 0]/H/N>> -endobj - -15260 0 obj -<>/P 7932 0 R/Type/Annot/A 18052 0 R/Subtype/Link/Rect[429 509 443 518]/Border[0 0 0]/H/N>> -endobj - -15261 0 obj -<>/P 7932 0 R/Type/Annot/A 18037 0 R/Subtype/Link/Rect[445 509 459 518]/Border[0 0 0]/H/N>> -endobj - -15262 0 obj -<>/P 7932 0 R/Type/Annot/A 15401 0 R/Subtype/Link/Rect[461 509 475 518]/Border[0 0 0]/H/N>> -endobj - -15263 0 obj -<>/P 7932 0 R/Type/Annot/A 18286 0 R/Subtype/Link/Rect[477 509 491 518]/Border[0 0 0]/H/N>> -endobj - -15264 0 obj -<>/P 7932 0 R/Type/Annot/A 18487 0 R/Subtype/Link/Rect[359 499 376 509]/Border[0 0 0]/H/N>> -endobj - -15265 0 obj -<>/P 7932 0 R/Type/Annot/A 17948 0 R/Subtype/Link/Rect[377 499 391 508]/Border[0 0 0]/H/N>> -endobj - -15266 0 obj -<>/P 7932 0 R/Type/Annot/A 17921 0 R/Subtype/Link/Rect[393 499 409 509]/Border[0 0 0]/H/N>> -endobj - -15267 0 obj -<>/P 7932 0 R/Type/Annot/A 17887 0 R/Subtype/Link/Rect[410 499 424 508]/Border[0 0 0]/H/N>> -endobj - -15268 0 obj -<>/P 7932 0 R/Type/Annot/A 17821 0 R/Subtype/Link/Rect[426 499 443 509]/Border[0 0 0]/H/N>> -endobj - -15269 0 obj -<>/P 7932 0 R/Type/Annot/A 17796 0 R/Subtype/Link/Rect[443 499 457 508]/Border[0 0 0]/H/N>> -endobj - -15270 0 obj -<>/P 7932 0 R/Type/Annot/A 17758 0 R/Subtype/Link/Rect[459 499 473 508]/Border[0 0 0]/H/N>> -endobj - -15271 0 obj -<>/P 7932 0 R/Type/Annot/A 17729 0 R/Subtype/Link/Rect[475 499 489 508]/Border[0 0 0]/H/N>> -endobj - -15272 0 obj -<>/P 7932 0 R/Type/Annot/A 17593 0 R/Subtype/Link/Rect[491 499 505 508]/Border[0 0 0]/H/N>> -endobj - -15273 0 obj -<>/P 7932 0 R/Type/Annot/A 16111 0 R/Subtype/Link/Rect[359 489 373 498]/Border[0 0 0]/H/N>> -endobj - -15274 0 obj -<>/P 7932 0 R/Type/Annot/A 16047 0 R/Subtype/Link/Rect[375 489 392 499]/Border[0 0 0]/H/N>> -endobj - -15275 0 obj -<>/P 7932 0 R/Type/Annot/A 17521 0 R/Subtype/Link/Rect[393 489 407 498]/Border[0 0 0]/H/N>> -endobj - -15276 0 obj -<>/P 7932 0 R/Type/Annot/A 17501 0 R/Subtype/Link/Rect[409 489 423 498]/Border[0 0 0]/H/N>> -endobj - -15277 0 obj -<>/P 7932 0 R/Type/Annot/A 15530 0 R/Subtype/Link/Rect[425 489 441 499]/Border[0 0 0]/H/N>> -endobj - -15278 0 obj -<>/P 7932 0 R/Type/Annot/A 15462 0 R/Subtype/Link/Rect[442 489 456 498]/Border[0 0 0]/H/N>> -endobj - -15279 0 obj -<>/P 7932 0 R/Type/Annot/A 15421 0 R/Subtype/Link/Rect[458 489 472 498]/Border[0 0 0]/H/N>> -endobj - -15280 0 obj -<>/P 7932 0 R/Type/Annot/A 15414 0 R/Subtype/Link/Rect[474 489 488 498]/Border[0 0 0]/H/N>> -endobj - -15281 0 obj -<>/P 7932 0 R/Type/Annot/A 15412 0 R/Subtype/Link/Rect[359 479 376 489]/Border[0 0 0]/H/N>> -endobj - -15282 0 obj -<>/P 7932 0 R/Type/Annot/A 15410 0 R/Subtype/Link/Rect[377 479 391 488]/Border[0 0 0]/H/N>> -endobj - -15283 0 obj -<>/P 7932 0 R/Type/Annot/A 15407 0 R/Subtype/Link/Rect[393 479 407 488]/Border[0 0 0]/H/N>> -endobj - -15284 0 obj -<>/P 7932 0 R/Type/Annot/A 15403 0 R/Subtype/Link/Rect[409 479 423 488]/Border[0 0 0]/H/N>> -endobj - -15285 0 obj -<>/P 7932 0 R/Type/Annot/A 15400 0 R/Subtype/Link/Rect[425 479 439 488]/Border[0 0 0]/H/N>> -endobj - -15286 0 obj -<>/P 7932 0 R/Type/Annot/A 15395 0 R/Subtype/Link/Rect[441 479 457 489]/Border[0 0 0]/H/N>> -endobj - -15287 0 obj -<>/P 7932 0 R/Type/Annot/A 16894 0 R/Subtype/Link/Rect[458 479 472 488]/Border[0 0 0]/H/N>> -endobj - -15288 0 obj -<>/P 7932 0 R/Type/Annot/A 16850 0 R/Subtype/Link/Rect[474 479 491 489]/Border[0 0 0]/H/N>> -endobj - -15289 0 obj -<>/P 7932 0 R/Type/Annot/A 15399 0 R/Subtype/Link/Rect[491 479 505 488]/Border[0 0 0]/H/N>> -endobj - -15290 0 obj -<>/P 7932 0 R/Type/Annot/A 16791 0 R/Subtype/Link/Rect[507 479 519 488]/Border[0 0 0]/H/N>> -endobj - -15291 0 obj -<>/P 7932 0 R/Type/Annot/A 16766 0 R/Subtype/Link/Rect[398 469 410 478]/Border[0 0 0]/H/N>> -endobj - -15292 0 obj -<>/P 7932 0 R/Type/Annot/A 16727 0 R/Subtype/Link/Rect[411 459 423 468]/Border[0 0 0]/H/N>> -endobj - -15293 0 obj -<>/P 7932 0 R/Type/Annot/A 16695 0 R/Subtype/Link/Rect[408 449 422 458]/Border[0 0 0]/H/N>> -endobj - -15294 0 obj -<>/P 7932 0 R/Type/Annot/A 16670 0 R/Subtype/Link/Rect[424 449 438 458]/Border[0 0 0]/H/N>> -endobj - -15295 0 obj -<>/P 7932 0 R/Type/Annot/A 16638 0 R/Subtype/Link/Rect[440 449 454 458]/Border[0 0 0]/H/N>> -endobj - -15296 0 obj -<>/P 7932 0 R/Type/Annot/A 16620 0 R/Subtype/Link/Rect[456 449 470 458]/Border[0 0 0]/H/N>> -endobj - -15297 0 obj -<>/P 7932 0 R/Type/Annot/A 16582 0 R/Subtype/Link/Rect[472 449 486 458]/Border[0 0 0]/H/N>> -endobj - -15298 0 obj -<>/P 7932 0 R/Type/Annot/A 16696 0 R/Subtype/Link/Rect[488 449 500 458]/Border[0 0 0]/H/N>> -endobj - -15299 0 obj -<>/P 7932 0 R/Type/Annot/A 16519 0 R/Subtype/Link/Rect[409 439 419 448]/Border[0 0 0]/H/N>> -endobj - -15300 0 obj -<>/P 7932 0 R/Type/Annot/A 16489 0 R/Subtype/Link/Rect[421 439 433 448]/Border[0 0 0]/H/N>> -endobj - -15301 0 obj -<>/P 7932 0 R/Type/Annot/A 16464 0 R/Subtype/Link/Rect[411 429 425 438]/Border[0 0 0]/H/N>> -endobj - -15302 0 obj -<>/P 7932 0 R/Type/Annot/A 44825 0 R/Subtype/Link/Rect[427 429 443 439]/Border[0 0 0]/H/N>> -endobj - -15303 0 obj -<>/P 7932 0 R/Type/Annot/A 44788 0 R/Subtype/Link/Rect[444 429 458 438]/Border[0 0 0]/H/N>> -endobj - -15304 0 obj -<>/P 7932 0 R/Type/Annot/A 44747 0 R/Subtype/Link/Rect[460 429 472 438]/Border[0 0 0]/H/N>> -endobj - -15305 0 obj -<>/P 7932 0 R/Type/Annot/A 44705 0 R/Subtype/Link/Rect[406 419 420 428]/Border[0 0 0]/H/N>> -endobj - -15306 0 obj -<>/P 7932 0 R/Type/Annot/A 44681 0 R/Subtype/Link/Rect[422 419 436 428]/Border[0 0 0]/H/N>> -endobj - -15307 0 obj -<>/P 7932 0 R/Type/Annot/A 44655 0 R/Subtype/Link/Rect[438 419 454 429]/Border[0 0 0]/H/N>> -endobj - -15308 0 obj -<>/P 7932 0 R/Type/Annot/A 44620 0 R/Subtype/Link/Rect[455 419 469 428]/Border[0 0 0]/H/N>> -endobj - -15309 0 obj -<>/P 7932 0 R/Type/Annot/A 44573 0 R/Subtype/Link/Rect[471 419 485 428]/Border[0 0 0]/H/N>> -endobj - -15310 0 obj -<>/P 7932 0 R/Type/Annot/A 44532 0 R/Subtype/Link/Rect[487 419 504 429]/Border[0 0 0]/H/N>> -endobj - -15311 0 obj -<>/P 7932 0 R/Type/Annot/A 44502 0 R/Subtype/Link/Rect[504 419 516 428]/Border[0 0 0]/H/N>> -endobj - -15312 0 obj -<>/P 7932 0 R/Type/Annot/A 44470 0 R/Subtype/Link/Rect[369 409 383 418]/Border[0 0 0]/H/N>> -endobj - -15313 0 obj -<>/P 7932 0 R/Type/Annot/A 44422 0 R/Subtype/Link/Rect[385 409 399 418]/Border[0 0 0]/H/N>> -endobj - -15314 0 obj -<>/P 7932 0 R/Type/Annot/A 44388 0 R/Subtype/Link/Rect[401 409 413 418]/Border[0 0 0]/H/N>> -endobj - -15315 0 obj -<>/P 7932 0 R/Type/Annot/A 44356 0 R/Subtype/Link/Rect[415 399 427 408]/Border[0 0 0]/H/N>> -endobj - -15316 0 obj -<>/P 7932 0 R/Type/Annot/A 44330 0 R/Subtype/Link/Rect[411 389 423 398]/Border[0 0 0]/H/N>> -endobj - -15317 0 obj -<>/P 7932 0 R/Type/Annot/A 44286 0 R/Subtype/Link/Rect[411 379 423 388]/Border[0 0 0]/H/N>> -endobj - -15318 0 obj -<>/P 7932 0 R/Type/Annot/A 44250 0 R/Subtype/Link/Rect[425 369 437 378]/Border[0 0 0]/H/N>> -endobj - -15319 0 obj -<>/P 7932 0 R/Type/Annot/A 44220 0 R/Subtype/Link/Rect[425 359 437 368]/Border[0 0 0]/H/N>> -endobj - -15320 0 obj -<>/P 7932 0 R/Type/Annot/A 44176 0 R/Subtype/Link/Rect[425 349 437 358]/Border[0 0 0]/H/N>> -endobj - -15321 0 obj -<>/P 7932 0 R/Type/Annot/A 44148 0 R/Subtype/Link/Rect[425 339 437 348]/Border[0 0 0]/H/N>> -endobj - -15322 0 obj -<>/P 7932 0 R/Type/Annot/A 44112 0 R/Subtype/Link/Rect[401 329 411 338]/Border[0 0 0]/H/N>> -endobj - -15323 0 obj -<>/P 7932 0 R/Type/Annot/A 44076 0 R/Subtype/Link/Rect[413 329 427 338]/Border[0 0 0]/H/N>> -endobj - -15324 0 obj -<>/P 7932 0 R/Type/Annot/A 44039 0 R/Subtype/Link/Rect[429 329 443 338]/Border[0 0 0]/H/N>> -endobj - -15325 0 obj -<>/P 7932 0 R/Type/Annot/A 44012 0 R/Subtype/Link/Rect[445 329 459 338]/Border[0 0 0]/H/N>> -endobj - -15326 0 obj -<>/P 7932 0 R/Type/Annot/A 43969 0 R/Subtype/Link/Rect[461 329 475 338]/Border[0 0 0]/H/N>> -endobj - -15327 0 obj -<>/P 7932 0 R/Type/Annot/A 43945 0 R/Subtype/Link/Rect[477 329 493 339]/Border[0 0 0]/H/N>> -endobj - -15328 0 obj -<>/P 7932 0 R/Type/Annot/A 43885 0 R/Subtype/Link/Rect[494 329 508 338]/Border[0 0 0]/H/N>> -endobj - -15329 0 obj -<>/P 7932 0 R/Type/Annot/A 43855 0 R/Subtype/Link/Rect[359 319 376 329]/Border[0 0 0]/H/N>> -endobj - -15330 0 obj -<>/P 7932 0 R/Type/Annot/A 43821 0 R/Subtype/Link/Rect[377 319 391 328]/Border[0 0 0]/H/N>> -endobj - -15331 0 obj -<>/P 7932 0 R/Type/Annot/A 43788 0 R/Subtype/Link/Rect[393 319 407 328]/Border[0 0 0]/H/N>> -endobj - -15332 0 obj -<>/P 7932 0 R/Type/Annot/A 43751 0 R/Subtype/Link/Rect[409 319 423 328]/Border[0 0 0]/H/N>> -endobj - -15333 0 obj -<>/P 7932 0 R/Type/Annot/A 43714 0 R/Subtype/Link/Rect[425 319 441 329]/Border[0 0 0]/H/N>> -endobj - -15334 0 obj -<>/P 7932 0 R/Type/Annot/A 43682 0 R/Subtype/Link/Rect[442 319 456 328]/Border[0 0 0]/H/N>> -endobj - -15335 0 obj -<>/P 7932 0 R/Type/Annot/A 43631 0 R/Subtype/Link/Rect[458 319 475 329]/Border[0 0 0]/H/N>> -endobj - -15336 0 obj -<>/P 7932 0 R/Type/Annot/A 43599 0 R/Subtype/Link/Rect[475 319 487 328]/Border[0 0 0]/H/N>> -endobj - -15337 0 obj -<>/P 7932 0 R/Type/Annot/A 43550 0 R/Subtype/Link/Rect[398 309 412 318]/Border[0 0 0]/H/N>> -endobj - -15338 0 obj -<>/P 7932 0 R/Type/Annot/A 43522 0 R/Subtype/Link/Rect[414 309 426 318]/Border[0 0 0]/H/N>> -endobj - -15339 0 obj -<>/P 7932 0 R/Type/Annot/A 43630 0 R/Subtype/Link/Rect[388 299 402 308]/Border[0 0 0]/H/N>> -endobj - -15340 0 obj -<>/P 7932 0 R/Type/Annot/A 43453 0 R/Subtype/Link/Rect[404 299 421 309]/Border[0 0 0]/H/N>> -endobj - -15341 0 obj -<>/P 7932 0 R/Type/Annot/A 43420 0 R/Subtype/Link/Rect[421 299 435 308]/Border[0 0 0]/H/N>> -endobj - -15342 0 obj -<>/P 7932 0 R/Type/Annot/A 43371 0 R/Subtype/Link/Rect[437 299 454 309]/Border[0 0 0]/H/N>> -endobj - -15343 0 obj -<>/P 7932 0 R/Type/Annot/A 43325 0 R/Subtype/Link/Rect[455 299 469 308]/Border[0 0 0]/H/N>> -endobj - -15344 0 obj -<>/P 7932 0 R/Type/Annot/A 43281 0 R/Subtype/Link/Rect[471 299 483 308]/Border[0 0 0]/H/N>> -endobj - -15345 0 obj -<>/P 7932 0 R/Type/Annot/A 43238 0 R/Subtype/Link/Rect[378 249 391 259]/Border[0 0 0]/H/N>> -endobj - -15346 0 obj -<>/P 7932 0 R/Type/Annot/A 43185 0 R/Subtype/Link/Rect[391 249 401 258]/Border[0 0 0]/H/N>> -endobj - -15347 0 obj -<>/P 7932 0 R/Type/Annot/A 43165 0 R/Subtype/Link/Rect[403 249 413 258]/Border[0 0 0]/H/N>> -endobj - -15348 0 obj -<>/P 7932 0 R/Type/Annot/A 43130 0 R/Subtype/Link/Rect[415 249 429 258]/Border[0 0 0]/H/N>> -endobj - -15349 0 obj -<>/P 7932 0 R/Type/Annot/A 43099 0 R/Subtype/Link/Rect[431 249 445 258]/Border[0 0 0]/H/N>> -endobj - -15350 0 obj -<>/P 7932 0 R/Type/Annot/A 43047 0 R/Subtype/Link/Rect[447 249 459 258]/Border[0 0 0]/H/N>> -endobj - -15351 0 obj -<>/P 7932 0 R/Type/Annot/A 43000 0 R/Subtype/Link/Rect[411 239 428 249]/Border[0 0 0]/H/N>> -endobj - -15352 0 obj -<>/P 7932 0 R/Type/Annot/A 42980 0 R/Subtype/Link/Rect[429 239 441 248]/Border[0 0 0]/H/N>> -endobj - -15353 0 obj -<>/P 7932 0 R/Type/Annot/A 42931 0 R/Subtype/Link/Rect[411 229 417 238]/Border[0 0 0]/H/N>> -endobj - -15354 0 obj -<>/P 7932 0 R/Type/Annot/A 42913 0 R/Subtype/Link/Rect[419 229 425 238]/Border[0 0 0]/H/N>> -endobj - -15355 0 obj -<>/P 7932 0 R/Type/Annot/A 42865 0 R/Subtype/Link/Rect[427 229 437 238]/Border[0 0 0]/H/N>> -endobj - -15356 0 obj -<>/P 7932 0 R/Type/Annot/A 42843 0 R/Subtype/Link/Rect[439 229 449 238]/Border[0 0 0]/H/N>> -endobj - -15357 0 obj -<>/P 7932 0 R/Type/Annot/A 15394 0 R/Subtype/Link/Rect[451 229 461 238]/Border[0 0 0]/H/N>> -endobj - -15358 0 obj -<>/P 7932 0 R/Type/Annot/A 42758 0 R/Subtype/Link/Rect[463 229 473 238]/Border[0 0 0]/H/N>> -endobj - -15359 0 obj -<>/P 7932 0 R/Type/Annot/A 42725 0 R/Subtype/Link/Rect[475 229 485 238]/Border[0 0 0]/H/N>> -endobj - -15360 0 obj -<>/P 7932 0 R/Type/Annot/A 42684 0 R/Subtype/Link/Rect[487 229 500 239]/Border[0 0 0]/H/N>> -endobj - -15361 0 obj -<>/P 7932 0 R/Type/Annot/A 42650 0 R/Subtype/Link/Rect[500 229 510 238]/Border[0 0 0]/H/N>> -endobj - -15362 0 obj -<>/P 7932 0 R/Type/Annot/A 42602 0 R/Subtype/Link/Rect[359 219 369 228]/Border[0 0 0]/H/N>> -endobj - -15363 0 obj -<>/P 7932 0 R/Type/Annot/A 42572 0 R/Subtype/Link/Rect[371 219 385 228]/Border[0 0 0]/H/N>> -endobj - -15364 0 obj -<>/P 7932 0 R/Type/Annot/A 42544 0 R/Subtype/Link/Rect[387 219 401 228]/Border[0 0 0]/H/N>> -endobj - -15365 0 obj -<>/P 7932 0 R/Type/Annot/A 42497 0 R/Subtype/Link/Rect[403 219 417 228]/Border[0 0 0]/H/N>> -endobj - -15366 0 obj -<>/P 7932 0 R/Type/Annot/A 42463 0 R/Subtype/Link/Rect[419 219 436 229]/Border[0 0 0]/H/N>> -endobj - -15367 0 obj -<>/P 7932 0 R/Type/Annot/A 42408 0 R/Subtype/Link/Rect[437 219 451 228]/Border[0 0 0]/H/N>> -endobj - -15368 0 obj -<>/P 7932 0 R/Type/Annot/A 42378 0 R/Subtype/Link/Rect[453 219 467 228]/Border[0 0 0]/H/N>> -endobj - -15369 0 obj -<>/P 7932 0 R/Type/Annot/A 16137 0 R/Subtype/Link/Rect[469 219 483 228]/Border[0 0 0]/H/N>> -endobj - -15370 0 obj -<>/P 7932 0 R/Type/Annot/A 42319 0 R/Subtype/Link/Rect[485 219 499 228]/Border[0 0 0]/H/N>> -endobj - -15371 0 obj -<>/P 7932 0 R/Type/Annot/A 42254 0 R/Subtype/Link/Rect[501 219 515 228]/Border[0 0 0]/H/N>> -endobj - -15372 0 obj -<>/P 7932 0 R/Type/Annot/A 42233 0 R/Subtype/Link/Rect[359 209 373 218]/Border[0 0 0]/H/N>> -endobj - -15373 0 obj -<>/P 7932 0 R/Type/Annot/A 42188 0 R/Subtype/Link/Rect[375 209 389 218]/Border[0 0 0]/H/N>> -endobj - -15374 0 obj -<>/P 7932 0 R/Type/Annot/A 42139 0 R/Subtype/Link/Rect[391 209 405 218]/Border[0 0 0]/H/N>> -endobj - -15375 0 obj -<>/P 7932 0 R/Type/Annot/A 42864 0 R/Subtype/Link/Rect[407 209 419 218]/Border[0 0 0]/H/N>> -endobj - -15376 0 obj -<>/P 7932 0 R/Type/Annot/A 15415 0 R/Subtype/Link/Rect[373 199 385 208]/Border[0 0 0]/H/N>> -endobj - -15377 0 obj -<>/P 7932 0 R/Type/Annot/A 42363 0 R/Subtype/Link/Rect[454 189 462 198]/Border[0 0 0]/H/N>> -endobj - -15378 0 obj -<>/P 7932 0 R/Type/Annot/A 41970 0 R/Subtype/Link/Rect[473 179 481 188]/Border[0 0 0]/H/N>> -endobj - -15379 0 obj -<>/P 7932 0 R/Type/Annot/A 15408 0 R/Subtype/Link/Rect[478 169 490 178]/Border[0 0 0]/H/N>> -endobj - -15380 0 obj -<>/P 7932 0 R/Type/Annot/A 15405 0 R/Subtype/Link/Rect[444 159 456 168]/Border[0 0 0]/H/N>> -endobj - -15381 0 obj -<>/P 7932 0 R/Type/Annot/A 41857 0 R/Subtype/Link/Rect[444 149 457 159]/Border[0 0 0]/H/N>> -endobj - -15382 0 obj -<>/P 7932 0 R/Type/Annot/A 41791 0 R/Subtype/Link/Rect[457 149 465 158]/Border[0 0 0]/H/N>> -endobj - -15383 0 obj -<>/P 7932 0 R/Type/Annot/A 41740 0 R/Subtype/Link/Rect[181 668 198 677]/Border[0 0 0]/H/N>> -endobj - -15384 0 obj -<>/P 7932 0 R/Type/Annot/A 41691 0 R/Subtype/Link/Rect[392 548 406 557]/Border[0 0 0]/H/N>> -endobj - -15385 0 obj -<>/P 7932 0 R/Type/Annot/A 41655 0 R/Subtype/Link/Rect[490 258 502 267]/Border[0 0 0]/H/N>> -endobj - -15386 0 obj -<>/P 7932 0 R/Type/Annot/A 41614 0 R/Subtype/Link/Rect[359 248 376 257]/Border[0 0 0]/H/N>> -endobj - -15387 0 obj -<>/P 7932 0 R/Type/Annot/A 41564 0 R/Subtype/Link/Rect[373 228 390 237]/Border[0 0 0]/H/N>> -endobj - -15388 0 obj -<>/P 7932 0 R/Type/Annot/A 41526 0 R/Subtype/Link/Rect[392 228 409 237]/Border[0 0 0]/H/N>> -endobj - -15389 0 obj -<>/P 7932 0 R/Type/Annot/A 41491 0 R/Subtype/Link/Rect[166 208 181 217]/Border[0 0 0]/H/N>> -endobj - -15390 0 obj -<>/P 7932 0 R/Type/Annot/A 41450 0 R/Subtype/Link/Rect[183 208 200 217]/Border[0 0 0]/H/N>> -endobj - -15391 0 obj -<> -endobj - -15392 0 obj -<> -endobj - -15393 0 obj -<> -endobj - -15394 0 obj -<> -endobj - -15395 0 obj -<> -endobj - -15396 0 obj -<> -endobj - -15397 0 obj -<> -endobj - -15398 0 obj -<> -endobj - -15399 0 obj -<> -endobj - -15400 0 obj -<> -endobj - -15401 0 obj -<> -endobj - -15402 0 obj -<> -endobj - -15403 0 obj -<> -endobj - -15404 0 obj -<> -endobj - -15405 0 obj -<> -endobj - -15406 0 obj -<> -endobj - -15407 0 obj -<> -endobj - -15408 0 obj -<> -endobj - -15409 0 obj -<> -endobj - -15410 0 obj -<> -endobj - -15411 0 obj -<> -endobj - -15412 0 obj -<> -endobj - -15413 0 obj -<> -endobj - -15414 0 obj -<> -endobj - -15415 0 obj -<> -endobj - -15416 0 obj -<> -endobj - -15417 0 obj -<> -endobj - -15418 0 obj -<> -endobj - -15419 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15420 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15421 0 obj -<> -endobj - -15422 0 obj -<> -endobj - -15423 0 obj -<> -endobj - -15424 0 obj -<> -endobj - -15425 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15426 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15427 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15428 0 obj -<> -stream -HWk۶_2KEfs$hh\@6dV-m$wEh|8<3!Gw1駻߿IoG#*R*c8+yyWѧHѸ?Ա}wƾ㾉}dFw[4>F&!%Č RSl0f'4eYJg/o5\ 9jW *ܲ$5_7_fiQezU0bjLsx◘w >ğxG) 0)q>F212HC @O|( QO2s4$,`,`<`<`<`/"`/"`!쳀}> <`#}/¾"`_"ˀ}/a/ah"}!}}BT4*d4*di>P-CT4 -a!}BT4 -a!}T>@!}T>Bej}>Bej}F!2DqDOBPj}F}F}>Bj}F!rDPj}F!rDOj9Z(DOj9ZߧQ@QZߧQ@Q(}Z"iT -QӨӨZߧQ@Q(}Z -Q(}Zi>P@Ti>P@T4 -aV }BT4 -aV }T+S!}}BT4*d4*d/S) [)zi}(1~xP&Z&]A 7љuu{tƮt9x{sV$JI }>|7QN )F+eEli{>){A^!"uSʐD@w3&b;8vi ]_5-uDw26) ӱF{mڅcdf]i0j<3鬭rwol[q@6 zObt!Owa?3Y Q@HuKKL\H}Ũۍ9'`V,W+v -\eEb! 40Z]<#:U1 욁CȒV 74Yϛ< 6ySIj` r<9n/ZC[B”L_EѸLk,L~TZZ7Egmn:0uJBrUwF7,~G a/-4ۣDA-Qw®+ajolBt^EǰaI^xۦ$3]h S!6eH7rYRX)w 8e.V% -:1G;oL!3i OWd>'"9l[d0V -3״+ -IQ-rb}0tmU`|(e`j,$.]o@DQLJ,i֪aT'k_tٺAAG66`_Ne^پΧ9`uR3QɆgSa5jT9?;/jD^P*Pzf}NA6Oi$+(`(ni9sz0˗+ `>>x@뛂C<nk0uV{O,d9n|5m)Y߽t `UHLNToUdlplk@y s^FuB!7 -Ҁ֡X5Y L.Nt=@L J6TDer^~t1.*|e`>!'m4C^+ fXl띓BRJ -?9띑l|5@f}\VZøJ{$M%n\u8'pFq>=̗k/y|c:܊r&*vctM]|l^Uz?l!..PQdI9ut.ɰW*i-(@S3.@[ rfƫqW|,b>P\N$N~i[EOb(G7/SgRfjU'Ѓ꾾xݥT%jн.Uu6P)niJh&.%QpҌvĜ.ye"e{BmصsҏqlH޲z{d)եʑ;wCK/ H4̾%PAy4eb39Hpu&P\TG^BaksJ I+]Lv_.^7D|cFS7Ni.)0pD-|eKr㒞<&v5tfzw_~|$͌d.*>Ճy#$K:fFK4z2)\Kgz"'T~f%x+D|t*(_ 9^xifȔPPZTf+f:l>  X}8G`zxkY\Ht#AMW-.!)G./j^\a@0 ÀpUƦhFecw_J]~Uo2 ;αWH|K8z_Q(4xǿvT #x2eƻC򆑈IBd^p"VZF%"A Y -pPJr`S9݃Qua,6$bxg;zwGOm}{BMjO Uߴo-Q D f -kA?"ﺆ%3`r 7CYۘAlBsfӢ -K+ 8NH:C?},}dDN'Xp,: σn*S!5E";+-Yw_PX=nѢX(o,z$ G+Y43~8:IgH*3( FkJ^#^=whvo?^W= ~" Z 8z{yc1§eIe`8,f silLrPm=YqdO#cg{/}{$0C">#kyR*"dnēƷh#t2%Eq'֛3./EIsgs/TO MPendstream -endobj - -15429 0 obj -<>/P 1436 0 R/Type/Annot/A 15517 0 R/Subtype/Link/Rect[93.5999985 606.828979 203.496002 626.508972]/Border[0 0 0]/H/N>> -endobj - -15430 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15431 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15432 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15433 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15434 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15435 0 obj -<> -stream -HmoﯸP,ޗ/E,A ju++R6 TI*rR=3q$r&̜djc<9}{ SgϞ8+[PĿ`֗g/kgVfQTSa^7gj6nVK߿wӺx>,NkWE?2"4Ukt1}5WWk\f77ʶ v_^nfź?  u5(^*/32o#K9X):?(]IU+?Eduj)<&.8ERj٭Z.G;HHz=I!'=$>$} k5I_CI?~ I@o }Kҷ%[HߑHzYKVk‘՚0֢\ą&.L"W5qp\E:rZ.rZIWjM\$=\#W"W5qp\E:rZ.rZIWjM\$=\#WyjM\^kEVkZZt՚HzZOVk"j=ZEZj&.֓Zt՚HzZOVk"j=ZEZj&.֓ڼj&.L"W5qaz k-jM\$=\m W5qp\֢\ErZIWj-jM\$=\m W5qp\֢\ErZIWjm^j&.L"W5qaz weuT_^΋t8ƚU 6M4Up^nVj;wG#sY<;Oͻ޼1~Iȶ-r ^yQ'UUh[^_G#F7e;:یz#u967/EUڭe3~-ܙ:>Z;2p&V`%Xau,W!KkBd%, ,GXXdaƻW|<ϮǫGpIVAGb| O\.uf߼aW١+Kii.`5!X-aj VGX:4k?]ZK,w%, ,GXX-Fɨϼ{2C?m77$ׅ̑qZkC[oVOlfΟj|<. l1IlܟY_Ososhq(h?tOf?퟽ݬ֛v;Oū>l3Uڹ+4ewǓ|O~z -RZ X a5jVKX-ZjV:Cd]ee #,,OXX<a` - VMX{Gz4YsHﵖ&kd]"ZKݮlYA\m |_CZ`Ð(Qz({ۤ]6m IW6q}^fO35EX}i`EnBBmV* jCUFgZ8q|+`:',KȪO:2sIFFɇz[<݂rNJsբcsKy8}*[ԵnGPNM|j7]_tS$ aA̩=%)uncDߒ\Ǭ6h49, [jES¤NtAPDkd[3KncW#H(?21o+`a{Kt|C-gFJ lVX҃}_`gQal@|UyP<7}i -CHb:vKt_#t}< ik6q)F^0r!K@(JHR4mfJaFQpiF?5.)^B8 Eug8`G˩ 蟆5xRVai_6h<8v8/З #Zˍ>Hkʲ>K1`@sP=0-rCy&:-B0c,D5?ᄜ.4 Ȁ3̈́aiTPjnN=&YOB̔ZM f)^.Njoʡ㟗1>kMco<d^uVJ/T;qAP@[SfJQX&34 fߵ?766W?u iԞ:N?j]'e?g^HecNSGfۆ_/5-[rQJ}t(={FҪZ$S5@8,Po6g?-fpAޙ p-PJ\\*i9`p\.N-"wH?]-Zakq]V7O74>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15437 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15438 0 obj -<> -endobj - -15439 0 obj -<> -endobj - -15440 0 obj -<> -endobj - -15441 0 obj -<> -endobj - -15442 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15443 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15444 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15445 0 obj -<> -stream -HWێF}Wa =/X_k<YёH/I{߷fĪR uZ͋7W?xɋ*U??ڔ -^̪ivM[cVkVwVver4VIJ$U*ASir.#҅>,_ޓ]Yw(g iaSl"ž'N[uL^'JJi@)-s %2PN9%1Őŧ,!+,nb{[e1Np{'w̽{ =s}`3}g9s s>}!/Bp_0dK=ˬBK}bR Y=ŀ%b),bRK1d YjZ!KpRkR XBj),=KRK1d YjZKH-Ő%gBj),=KRK1` ,VH-Ő%gBj)OZ!R Y=ŐS XBj),=KRK1d YjZKH-Ő%guBj),=KRK1` ,NH-Ő%guBj),!C ,NH-RK1dqZ!{KH-Ő%gBj),=KRK1` ,^H-Ő%gBj),!C ,^H-ŀ%bܳz!C > Bj),bRK1dqCw_,Jΰ>yL.KZ$HPVT;'v.WWWg?-?Q~(u6uZĶU?5 C^<~Oys^]]ҫtnu2_rG{17w3ܤvP )Z]^@fSx?x3hKZqovUovQ_߿Q>.}Ɔ R /P:;\SÆf,9ϱBB 6*ysm} ]L˗/MxsGYǸQwUɣjc׫fxެ⾩rOm3]*Yʩ*CEX- A?m՝J`ؐa S YbZ^L ZiA+0 h ZiVδrA+gZU0B*V)hLJeSE1dq-ZiA0-+hYe-V{!Kb}o-V{!Kb}o-V{!Kb}o-V{!Kb}ŀ%=Ő%hwBS Y{'=Ő%hwBS Y{'=Ő%hwBS Y{'=Ő%hwBS Y{'=Ő%hBS Y\bbX{),AbX{),AbX{),AbX{),AbX),E1` }O1dqRe#/vʨMR p : ›Ku8 dT/H]./=3m 6U} t TW} c˗#x'w2+~;)z,}-Ge00%cB.ucn\rZ:S3/`#Y0鼜 i}Dm*ʹfރK;.o`^8˹h_*.Mu -30MߌU]j px|߶9n^bwۃ7] =R)^y(gys i*fy(x0?Y[xqx2.Xm|Ke⑑%mW8MSn>vjzH_JJ;Pe/;ayvR4pZ}~[u0sS0H" "μ{oNN\.'jۺ{s~PǸ×./>7]5{ABF$MY}cܮVMjn.+$90{SgYtݪO/+9_}Su[8z(s<h,=s(9&1f;*r<LJqB?%WQg&uz3l,iaկ|4j?q=}}wnN?Lntv4 -Z-V_sb 6 pg3eؓ_1oszXu~zpßxt̔m -llrR2i̭rC./Q-ǮJc׭n,eur5;zy ' ^Ox8ND{~E\ -vn8,{ e3X$(ɐ]yng߫L3ivฏiB#8~W=\xG.K^qќ@&~qo+m+zӞMaӂ(78y_FB(,aYYK3Jf Tcѫ*!-'HVwфX=|YwĻKOb=̣餜f|JARJ%W^i˙si%DSJֵ͗9Sp\wJS*#{OWRt.Wkiʡ-4+`qݺSR\󜶇˼4w|K't}H]'-F u57ۛxmu/M2|h\ L^Jk%|8j>T_Te1+r@)-@+-ҪVjU+h5JZjVZ* -@+H-:NJ%1fi-ZҪV 2J-{|/1f-{|/1f-{|/1f-{|/1f-{|/1f-{|/1f-{|/1f-{ |/1fi- ^bZ^bZ^bZ^bZ^bZ^bZ^bZ^bZ^bZ^bZ#ĘĘĘĘĘĘĘĘĘ=Ę$6|4Ea2]YU;vf-߭_b AV<}=۟x_"fj־rwW;?~~*٢OwGjsy|W'TZuYqXw\ORUA†/X4~yr\endstream -endobj - -15446 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15447 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15448 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15449 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15450 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15451 0 obj -<> -stream -HWkF_1ɷ;yu8;N`#XFXƂ(/mtHu+uaiT[SSī_nP_|{{xm2֫(u:*7zUײ·sۮ:CW_Ylʨ>`Pe*M7We1Tm֗6 -W&nvC]c9ӟM3Y;_- -cm؛Cl"cy/pa?N[uL^By -2kR!Ȓ3^YD9dcBHC_b2H`Qp[ --sw{;c3^pHp1>b#}ǂ1s>'}"OTp2>e3}g{Y#b -{Kh-ŐS Y=ŀ%bܳZC -R Y{Z+bܳZZ!KpZkR Y{Z+bZK1d YkZ!KpZkR8CwO1` {!R Y{Z'bܳ:Z!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZ/b),CwO1dqZ!KpZR Y{Z/bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%gBk),=kZKC {Kh-ŐS Y},*'<WQFmA6]w}l.Tl?vscoכtiWyj>Yj}mn^ 8L`U5RUw_Tgzt%wSjzW5jPգLzBxhbubgtv~+B|*=&8(t|v!͡ݝz_k4uQZz:9`':kwk2ġ~HϨ#c*^M'wJu[ 7/eu6(R"p>vMgBcpb#ȣ[CU}ׯ~4/Lt|7oO_wkC)2.)G)XmӔ%}ExəcӅr#Bz ^*;{45xt 2M:_k#wZbu\6`e^ۅZm_JkOh'tI5! ] -kVkɻDWPm7P' {ÄW6IoVj}B*o7/́( 9/:L ߷r r?dž>Us_C IVE7;X;/g 7lQ?#eG~럟>w!d_.}G}`_i_=Sӳ)5u=sRߝm=#, O|np6?]uNt!j}c:aVÍt< R?`ERbFN p,u|N`&Sn`0g?$IWeO"?.r޶zGb>)\m;7julw<ﻪo&mfƴxY,&z޴`>lW~ʻO域ꪨ]5M[ox/NWS3/c5e=É!i"{p)'ƕY|Y=v*M^evӠiRwr?޿2yPL{nS3Φex=T*Ӌ&x*Z1<84>j@%1iWwʋ)veZĀ J?v]Fp 7>AwA[&pD9,CX,ұ%knwϵ`):]rjq nZ'ۏsaf^F.&s@YͮqZyFnVirFosԎ;.] l@i>#/MYdfĺ.:!*yTu5 @ⱛO,( Z!y荪ճ՚ -F yP kM7 |fک4%ƹSAsDSI1G "Zd}\^Mܤm«%6\OU_zV)ق ڊi#Z,c&vXSqAs&qީzh5[T=?3r3 LCWH>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15453 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15454 0 obj -<> -endobj - -15455 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15456 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15457 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15458 0 obj -<> -stream -HWko6_2`K(t)=JGW{Hj4g/璼\Sϗ&/!wd̊2TSf:vA>,lޗS\д44U84寷<|ryCP@'IX $7mI6?f81b6yˏ}.]yaW>Mpm)HDpSb,N -f #_mCV-@<| Yߧ[nài1P A\Ns -\ Y~w.,|!K,W;cx'sO='sO O O O$KO$KO"+O"+O"+O}JO=)>gS3O}F<9>S_ O}A<ӺXpµ.,_p!Wbջ׺k9ZCs-'\b"\b"{k] Yzϵpp!P﹖u1d=rµ.,µ.,BZNŐE\ ׺Xµ.,_p!Wbջ׺kZCs \b"\b"{k] Yzϵpp!PVu1d= -µ.,µ.,BZAŐE\+׺XHµ.,_p!Wbջ׺k%ZCs$\b"\b"{k] Yzϵpp!PVu1d=Jµ.,µ.,BZIŐE\+ ׺X(µ.,_p!WbqQ2LߪXMpa"d!HMd>0Mpwf׌مRQ}׺2O;FSԟ04+Mw@it(7]=}| -X$Jj)s[Q=m~ `1YN^q"*=,#\M/pzTC=C?)u)֦4_E -`mo)堗3Es G!uoƩL,V -z釿pyf7Ū簾;,s$лTƗfڅ=0e55cX>L`U !rp֣==*PtovKLk/8a,u+bЍIB NH3P0~8׵jnMs@[mׅFVQWriaGC iUYIǨLV=]9FMnE` cZ~~5]Yg,%;] '1gIĊ"?H1A4D-Ad$&Sll׳s@:;w g,ɎpV2j`Usv=ϏlMɬ$n% ,Yg`$G~}\B"9Biޒ74lF>oysw77W7W7uѿ\'Jiq"ˮm"^W^9-V6P8nSdG^KMIgIǗݫ)1F?t&Li˜3Yp>ͪѧJOXX#]'Fgr9.WIt8,>( ,d&#/-k C$r)niβX8xVM1CC*+z(2|E̝c [EX9,3͓_s*YM\u7 Mۧr4}cagy OO+vE{;aq;<-i<_R`&7ۗ)͗wᅀ$Wc/ -zke5ފ OK811[+a#Abv5TvWx"v~XO4_T۞<Ւ@:w!X\yŗx5-xz66ߪ dIþ ~[@dz؊UHe%bz-T^:_I,`ֲ,nm[_ <<&뛗\%t`ڕO8Le98/ 6n:pKԪIM=Ä NC5o&\4f]=O=@{KfH1#<,U44m35˨|wD}_6)*#dؤWqնo`Q婐uHTR8rĊuh5N`J&qØZԀ;%b̟&0c)ל;{d0}*/-Ųuk[ -GhG_t92x#2_骷Xpu?1 *D\<%^Ey U"'xkw[ߺfla{m - ,:n]{(ڢ5`(H)}dAF4μyd9lHkмI2-Z"E%kѵjm)wU}_3M`{Q֏˹ H$SWgܟʏ&']*M=0\ْ17n'#ԍP$F;dNzb5+-Ǭ { ||qēdi ǽޯ/dwusF:+x$ M" &˚K̹*&33 ZMd\vqK1.в (˓Ȳf87M73S5U.#\%TT.0`BVgsdio -OҔ 2D"$^D%y$Q)и, _*>wX,X%,Rh=_6ku?6lnhP:V,gb>@q'ՋgseBBG}V7iFowOek?4D^}ntLEܟ;f(_H=Zf"*Q`ͤΠ\D)K'jMwUޫ (H]\]ޯ_)ܵ,X[/DYHe;(;BkBu^E(ԛ_Xvl"&ƙoZ[KfXl_;YiijJܔ%HhUIv9Zw ?屟#Y*DdS3̍9v;K,͆ rjmW2NABl}.lb[g127>̶aZq"!ҵxs{_tn`[endstream -endobj - -15459 0 obj -<>/P 995 0 R/Type/Annot/A 43874 0 R/Subtype/Link/Rect[93.6003036 442.429993 184.404999 462.109009]/Border[0 0 0]/H/N>> -endobj - -15460 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15461 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15462 0 obj -<> -endobj - -15463 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15464 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15465 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15466 0 obj -<> -stream -HWko_ 'm -$o"iZ-`-36ewfI ytfr?x럅?WeSV¤yfRŮJ+DDZ$gTr_?VT]:9B6yLΖo#X~L %[HM\~F$0~# $>?E GI(x: 'b YaQJ),ͨבzͨבzè7zè7zè7z˨z˨zǨwzǨwzǨwQE3F}y>gQG F}/E3}3#*ƴ$q-ŐR Yz!+VO1`1k5Z!QV3R Yȵq-ŐŨ\R Xk),F}Z͸bbGՌk),ƵC>rf\K1d1#jƵ$q-ŐR Yz!+VO1`1k Z!Q0R Yȵq-ŐŨ\kR Xk),F}ZøbbG5k),ƵC>ra\K1d1#Ƶ$q-ŐR Yz!+VO1`1k-Z!Q2R Yȵq-ŐŨ\kR Xk),F}Z˸bbGk),ƵC>re\K1d1#ZƵ$q-ŐR Yz!)HWLRX*U{oUmVd: 7jxw=io4|Ba>>cvC Vѥ9_x,F,\( [W29[.)"k,3V,7?߼9Y~ *saGB<ֻm IK84Nҁ 2}m?`l~t?dt?*2$1&뻷-wWW0[YLlߔ,le6e+l!d#ߝ- -}bgguMy9b[RƔa1e?2F< ߛrޥ|71ӳ벽n.n.tss,] w»t89S)Oy:My:;sg|w(ͻ_~֝R=[a6͠efˮbm6U?mL8;;P]`X-f9Tluc5[n5TrzJrAvUjEXlʺyq;s݄r/`W77a m?#|w#6fY Q( -H"ӜF^Y`5cKɴqGpӕgqĨ:h`?:0؀6=3;:ɿVtHe*pBսx??jUcC ML,"ՅN=]FI<卥Mx=j?Amwۙm NpN] Qiq%6AhR/5 D;Ta;lGn];LT@Ԭ :mp]5G ޮy,wuy~=@COC+|MƜecRiw/gѤXb=^priį -pPBpYyXS(8-;u -.m[ò^_ִ2-vLSJy +9q#]ŋ -ze*rN,̴`lw%.nD`si -:!ŸRk1xUe~wB:Q<סT=v:?C1[(&|# 3?"21Y1kVnP:ᖝˇ'WR8.BzqiMè>9浨w\=5 \Q6ͧ[>95^PknOx {GȂZe!m:=mqEɲ=)G:Yj'1QmxG:+eLiHEED!B5AI0,=rfXXKCǷ‰ڠwJB ]ʱG6.HN~$h7n2&Rjډᬛ rψI+(T5Z:RNf5(HGGEo%Pa@#{S_SUпTA.3yO-2{"X=滽 ]yS4"F.- -űjEW^[_n_T[M%T0ў쵻NhRe:R_-!!!х͸g~jJǯ\!jPk -s۲yo+v,oi| ½i̩ KUKkqdIw>/P 699 0 R/Type/Annot/A 18606 0 R/Subtype/Link/Rect[93.5998993 218.251007 323.653992 237.931]/Border[0 0 0]/H/N>> -endobj - -15468 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15469 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15470 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15471 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15472 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15473 0 obj -<> -stream -H|oHƿSңEHPWD8!5KܜkN~3vihggg,V=z4;;9}z(:^Ī4q:XՔ_ŪRm^f}Tmjhܪѳ"U*&1*W9TT.&岭nj5=LLūh[U,0^g#'E9->́wh4^wOWeVsA>7 &~$OqEd@E/#bΠGJ]7j%d2Dy:yɹ''8ftTWsecO5pY2z+[Fz@g^>>0 F Oѧ}S>e@2L}&g>sF ,Zm"+jTZS ]jRK5t ,VH-%гZ!TZKgBj. -R ]=KRK5t ,VH-%jYjZKgBjZS \Bj.NO5tqzKH-%г:!TC@RR \Bj. zZ'jRK5t ,NH-%г:!TZKguBj. &Bj.NO5p 8=.!TC@RR ]=KRK5p zZ/jYjZKH-%гz!TC@RR \Bj. zZ/j(8=%jTCu^suѬ(b*{UIjS&TWj>OVeؔ걺mէ-U|:Ǐo~ ߾N?Vg* NzWMYv_tcK`emb?[IL0[l&N1ba2a=!Ku>8{7TcoJRǮm)B&S;`C)G-ntp^cwOoE[-j%LС-ƞC|ʽ>:_9ϼ0ei٪UwzgL`Qݭ}Oݏ7.8͵_uvW?Q{Qu?A -0b!bb1"[cx -:uVwOڸqVqn]?YP[^/u$8Y.5|һwC,Vzw ң V;a>?}ǩzVUÙsWu;pH1}6F v3YnOkAk2 ͈mv-n ĻwNB1fiZCE{H`@fVн/?Cc89jDm{ k;G[zO:.ᤌ:o~??}wiwxWE<d#KvḴb@ǮZmyw3q8~lǻ Kݶ~7Q߾aE$CE 0endstream -endobj - -15474 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15475 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15476 0 obj -<> -endobj - -15477 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15478 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15479 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15480 0 obj -<> -stream -HWێ8}W[-^t l.3LC Բ+^YNOV-dDWbu ^;ׯ߼{7&+#\GYD>6@Fֻrh~o]7zJMp'%7v%B&( H, -Q"sL 3KTI$OOCٮqU%N$8CwyT(y| oՍJcЗշՇSh v[>u?$~TuH'!c, |ZN#q}Pd . > kDmQQĆAQR Pa' c0}ʰO=)>g c13}ư<9> c_0 }4+R>Pj Q>{jZjCϞ峧6@16D1=*FԆ(ZŨŨŰTRjZjZjCSbTKmb{Uj Pj Q {OQ-!aV1}R|(FԆ(=!gOmbTKmb{Ռj Q {OQ-Q-!aV36D1=jF(FԆ(ZͨŰTRRj5ZjCSfTKm06D Pj Q>{jCϞŨŰTkRj ZjZjCSaTKmb{5j Pj Q {OQ-!a06@16D1=FԆ(ZèA¨峧6@16D Q>"*ˆ }fܮ_FH2vHUDHBlM"n8|rhv9~0n.γaFge&3>7W27uߴߝ,'x*aꦹa{2]ԅ'R V?.NGzd&(󥉕2Q2snm|ǣQlAj vKLfw+Z炾^4QCϢ*w;׋;42r/Xϋ+Fr -EGѴūðnhZB:4p܎׻?'F2"<򤔁ƲX^,v\E | ]g= GcA{b˥_/2),#㿠UCv $u[!B5c:S͠se팚fsYP6Sc2[+48c)a}w{\ظ*/ȞŐr&͕E4iKzxv߱yl^X0nhHH հt4{ǣY:E~1.jjK R -AM{ƬHT]nTsC$~3Ϋ$ɣ8 *Q~<, 8$9w:ۧ9S \˙2ឯc:e[/K[bTels;:dsw|géP)ݎ 5ew\|$N,$+"(uzy(aw%əZ+3zv9Y`[E2pN69QYqV=rQFojWrAa뀵vql7X,we':& HlfmٗTU,wS7+Hx\qi-lNʥM<(IN -=,E׶;RqPMKw? kw:ǹ,uT@ -#O%,ԃՖ%Q[sU׵G(klɋ5> jߛ)i>6m}*5qL .7\^8l7:v!#nXNﳙCn"M}ᰁ4 CEGI;z0*r)m8We.^0m맙k(-PQӘMQdD7UJ8'6Sms+V>vwkyXaC|&3E|^(FQaQ28 I_.Y -BhN'QY=~qy݊P=.O' Ki Vǧ{P,*BXڠLiik՗Y #);h:0SMeu8*2.=2l"Ѓِ(0='zvp5&X&"fFsp|mZBo}0!Lx3V -p/45O#5$iq}jd}׋kˎpdCviUʫvU,alޣ9j `ܼra,#ɨ v*"Sכe[EߝI^7N88:2iykf~^F_ӡ:![nG-u2ogQL8{v e} Q`|D} P>/P 616 0 R/Type/Annot/A 17520 0 R/Subtype/Link/Rect[93.5994034 484.570007 313.643005 504.25]/Border[0 0 0]/H/N>> -endobj - -15482 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15483 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15484 0 obj -<> -endobj - -15485 0 obj -<> -endobj - -15486 0 obj -<> -endobj - -15487 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15488 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15489 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15490 0 obj -<> -stream -H|Wێ8}GVKb0@ :3ޝt(2V#-$^ʇCNX駻ޑw N¸ ?MYR, "tAD$C4T?釺PWd_i ]AD $Y]lxnw]bx=tNN"ciWbhs߷+wϻs$caѥ@űr|=}PaO=aO= a< a< a< >'cccc"S}O=>gc!3}=9>c_ =ƈh]_PDO|Pj]D]D]պ>B{j]D!=RDPj]D!=RDOj)Z(DOj)Z'Q{OQZ'Q{OQ(ZCT$gII -Q(ZIS-CTIS-CT$ -a節!u}BT$ -a節!u}Tպ>@!u}Tպ>B{ej]_$j]D]պ>ٻ>ٻ>@!u}T u}T u}BT$ -a6AT$ -a6ATISmISm -Q(Q(QkI -Q((}E̪ ]A)?4 - FҴ 6ӑlotSxF~}( Bi1Q6|?ovﷻo끣)#zwkҰB(4Q b0ֱQO/6~YhvPgzz/~d,UqA=(XUSC1t˙%NMlQtzNҒ 8YLsT^Ӑ|O?&OD Ѳ`^ӱuM ZUMe.Ʊ||x0wxeL2)A"-[6s)[5zXV>lSߍZhx7 $y=NyPr -RD!j5cŀ&.0آ>]$xtZC)%FLqFQDgձĞQ`VI,ŋ"L4;ɰa -FQ4M)STǮqadLQV޼$*mJj*װluM@ ]VyN͋,^CH6῱ȣ0)}ytl |S`('1\[#L]t}wOZUzc"Lב:j4 -˲_[csɲ*wG=.W31q+5sD9!-w)>c:@WNn"^&y(OCb5 -\4POGըdsv&m}x!]ea6{N47׋ψ"u2X'vnzJzŠꦞ^p k@ ҫ%c,-})їz!k1/"'Iꗬos?TA[fﯞA؛!X_tʮTl__͈*TM42E]=KhTzK -`IIM51` -2OK\U'HyY,[,*:Qrң, }T^t0_sPCY( y{<1+55\zҕꀍB1  icpp-8|Yϊl\ qxxl\\=p;c,E+ZĥKL+RFU?}X++H[Z]c&nj.Ly߹UF2f'(A8"pREZIDtkNf"·Dc -v0пtTt"މ*p$`-SdeVDE e^(RI vͩܧa6b>B ~[OJv}?Mxc6Vck7i_ 5l!U^ Q ]L{زK>MzHʧ^ݸeBs:_4jiM>{oV;J+x -{\hW1b%=rMY\"~^O  X5'yv:AL7A פ*J-~vKhk[W Gp1s ~kp_̽XasTLZbi e#.ƄEUsI uW$dbWrй9*PI\&m2-_`V)Jƽ }~ǁ>X -owvdL!/pxg\=~zڞRm Sx`/`&6ް7㣸w/J Q"q?=b~/ ȳWjH0wP.\x'רRz {v ͬa⁅6cٹ]q$M/=r +,h2"CsI?E""q}&||!o> ԫ!\ -n EfSƭ4ƳK$2Nd _=Q>R"[9y.Q`L2 g3` Z+dAQ]dAU2Feyc~f7^#rm{/iSu -%ݚ|tnkAԡ,Kі6v׵?6v`/T4Qa3u׮QԎ՟v(S`h*x`&ƶ)2. [nצFjFlhЉlbojG$jQū7$wZHZTUHEH#:bX<\έJW12 (5@QAT!]}n`^U6 ~^~PY@VQ*" ' 1KUhR8Z>)9Xä́r`KOw{ӆG/+sF:ٿ .//^DUYQfFY*"%>зx6,[-XQ$KWްqߍ;j Za[nR]Ƀ>d5wMz~,#Ňyܟ?@zUVER ԮJ׎Ҋ}]zOIUTΛӪDTxVK1Nݞ]c=zJVڷap\=;]8t_w`lb endstream -endobj - -15491 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15492 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15493 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15494 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15495 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15496 0 obj -<> -stream -HWkoܸ__f -SA@RlhH;T^JF"8EHLj8P @}O > ԧ4P"@Aԛ@Ai}ZP qYV,+TcB\c\+e! -ĵ>,ĵ>fYqY>p@\cB\c\+e! -ĵ>,ĵ>fYqY>p@\cU$e} Xk}̲B>fYzZ,D}Z, QV"1`!1Bk}̲k%ZZ,D}Z, QV"1`!1Bk}̲k%Z",+TcB\c1 -e!*ĵ>fY -q qY>pB\c\e!*ĵ>fY -q qY>pB\c\Xiĵ>fYzZPYVPc" -^Undw/$ UFPMvRu@a6=w>:~0UKեi¤Y(d3UT.{^e[$cԤj&ՇKJʕxG\ʢ41<{|}؃q]^1ʌ3v_:,%M2n6Ro9پmʢk|ڢ9uUuQO?Y^ڽcWygvn"vǦ\4Dʤ5 ky答q}ߛa$xܯeQ}79YSc+G,//Yeù/?bP;T 1n6MeeH[st/5λcUqл}ˊ2+7c1}Q?L3 o9z/:uko;ze^-\dU!)OvlYqfllȻgPl96e^̆Œ$(8K[5%$.Mlc2:SW GLyU:`ϻ[Rk싛_vslV`#mqo~ެy^8A ?^W`H`AwYK - 1C9n< -J"i*ܵZ &cSG]MLs(+E96G Nجph44%z*!n:XB 鳽~J[i>(:XON9>v,;їp%/y<&**M.cXL̢8G xO$Yiػڵy2|jۜ]~Ķ߁򉐹甴&x ">G6V $֪|2NwnpSe´)(n~.O}˄S%!,:1SM+"5x%v28X-7pCeYyGKʘ8]NrNGH$XS-6BK$je䳜.E$4|L._}"d -RzP68'm%V9 wMKb zumض% -H[ OeXt\,*bօXVTº(KȦ-]2a}squA P"gRpdb}dbʯW 4q-Cf3qLR{< /{@ "rM,9hH-H)bmaAӐb~oġ! ]!ū Lj3=_:(4_f* /nfYɂc]!CENӔjeCGp/Z64tdS:z@cpJ8~1(İ͗^H8 -2|"U9{(ٚ/d&^4dK7}G^HDfIB'酘1ĝZ)?bBr0U۸ E+>)@ H\$1 \$֞(-cˁ+j!%d= 5UӍ -,H"v~ iK0 -R4`m}2XͱufƒWǔ؎^5Fd8 Y.թt X.*JTU2P?άޘsѝO92AvX:65;u&QڮNN"VbRdҹDǣ*sH<2)$VPlpQC!vkh(@lD"—iRḻ.ݖ Zw%us?n~4͏F䭽v.v򂺬\A,b ב~ȎԑxH>/P 450 0 R/Type/Annot/A 43616 0 R/Subtype/Link/Rect[129.600006 663.229004 451.127991 682.908997]/Border[0 0 0]/H/N>> -endobj - -15498 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15499 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15500 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15501 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15502 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15503 0 obj -<> -stream -Hmo8S9">聹@]6Ixm%uٮmoƲEJHE8: % /^{=|_(&ҏ#釂3#[x83d=LaYOz~HJYziX$`iA$:Jn1ĸ}b\_E .G7$1X?V$|pZeƸ ?q5npjڈNsxמ_v9`3i"y枎ӡh@v )w9;.eŐ - ι+ގ%Q/Q/ Q/ Q/ QQQCG}H!>tGQ#G}L1>vDŽQG}BOPPxc'1\v (µv )WCUoǀ"\kǐ";kRzǵppCPVcH -µv (µv )BZA֎!Ew\+11kZ;q \krOcHPkRz;ގE֎!Ew\+ 1k%Z;Z;q$\kǐ";kPkRzǵpCPVc@cHJµv )BZI֎"\kǐr11\v )WpCPVcH*µv (µv )BZE֎!Ew\11kZ;q"\kǀ"\kǐ";UkRzǵp˽pCUoǀ"\kǐr1\Z+{z'i*g靗l Bb`efG -_>opı2ȿ͊,__١EޔR6`q҇IL _`Xn%z٦=<߯lD _GN&q؜r(5+l6_dM[L7z(8t۷m,,[o[[PAnaݲeAH8bS<ݐդҜ:)D7jsăc_Ր,-ZVQcsWd -H,bO?6'bRtgTc $UʶVfʇ˜T#N3{s:2H)>n<>cvJ~O?7TTK8)'jw/b)1-w?ާwu! ݮ/ iN|GjܿZ@]C(l[LK?=E? WYIvxLM@7Y X⏧ `P9\$9Xԏ qkTLg?+kdJ>z1}В?zՈezmwW/3Yr`f8PzmwW/3])Z -蟨^a5zW"+_SIԫ|2n_yuOkӷXWŪ#A%aH=dlm -Ǯ1O:OG߫86xÇbW Cuf)֏ӂyG+Wźe;"D <~kAOO'bٍk8z4st=wہ3E'w0Rr|>j瓖u6MB3:{ zjƽ -C:3uKOa8nPRgZ{8Jj`UaaB#ޭۆ:ӮHO$c:Y^_5nd+8M45).ϽJ=Thꊤζ 5#dq11cM$P28ո%7ՙv<<~j`U9x{nxMd7ф1[-Rg.o_> -.ogtr0FPVW|q϶E -?lA5\e3V2:DsWg×moe}kмWg|^ٴjq-Ttx兰xc_`U :^]UT;վpk_`98k^)o|s?-:Zߘۮ糃-T55tDPCڗ[8fqj߿Δ=ngVŀc }\7!a; 9P۩Aj鈼KUigmW dțG{?Y8^ -5sQ#n8GTX>!߷l?G?Cf=^B ϡ%dJ7=jrcF/;sJҚ 2%x(e{7rzËsHendstream -endobj - -15504 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15505 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15506 0 obj -<> -endobj - -15507 0 obj -<> -endobj - -15508 0 obj -<> -endobj - -15509 0 obj -<> -endobj - -15510 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15511 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15512 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15513 0 obj -<> -stream -HW]o6}ׯiKEMRtlb=>8A!k8%#i*ix^~h4C^E!yHC^^ S!|}WB*L$gis"Y:䏴K1i&jj~MӡInc㘼['k'Ki& -R*3-2]NSw -UW_֟Nd!JcV_v-,'P^'4?&K KSBO_KnD03pVg'w!Gph#RV<\Ҙ`%VX|!Y!Y#y#y#y^ E^ E^"e^"e^"e>GQG D}/E@Q_FKD}WzWȳ1m C\b1`! 1ÊՇaC XkC̰k3,D}Z6Ā6 Q! 1BGekC XkC̰k3,D}Z6Ā6 Q! 1BGekCM83X} qmV> +VbB\b\׆a!#rĵ!,ĵ!fXȵqm>r-G\bB\b\׆a!#rĵ!,ĵ!fXȵqm>r-G\bm"׆aC XkC̰b!fX3,D}Z6 QV 1`! 1BGkC̰k3,D}Z6 QV 1`! 1BGkC̰kk6 +VbB\b1Ê+iºMޭ54]oY)yuܯƗqmzuSU]. i˦^}Y: -.FW\~i]p}Ʌ읮6ק a$e9zw[Nss=amI鴫p`* -Ӊߌ0WnwrHvjtm5\z_Fq/Sj5j=tzqKfJcwo:)gݫqZtu8Y럡+}e7>T9w`6F1hk:}FfAᢝ8Bo(y!ʗqV$zAdSؐ,XfUC3׻HaW^OzpH;Y C -TQb3uU2oo$ˋXN3A$uBҳnKwFr%aaeI/[VYREgT,Ս ")%KZKƷ f[6BpLW%)bs۷QILm`\glΏoAi8%>l]' *R.&/  -YL f~,deА|)Gw gYdYjN4״T&zͩMOnrg( t`p1vam?N~ wOXu.z޽?7Agl|ik3(8ɥIql}3R)7E=q]&8Povo҂+I 6 (,n(0K*аdlM0oLpe+j=t3-a8:VAsG~x$g^wޖ26u嫓}mB?˼UDbKX5pպ ܚgj3Fon!8Wg"A|e&9F{bЍҭ$w O{޹ДfvB(+Gl|gϾN5>B? %d[gT+ӁJJ7]_7؝Q5PEc?m Em75CX=U;z0+s#4]T cخwpwI77LuULpS!, qX;{먻u?1t ~k%\'~8]2ceN6{ -4kO]̉hݩ]鴿h$CRG0>]ϺMD&*# [@O"U"KZFTDXg!~ƫ+! >tAtW,V3K{9k]7&ՃW&Du5ݗ4yAi%|YJۚ&# PqNg8<y[&X7/d),GQ̟j,:èLEV ld];ku@f 7Q GnEX~+('xO>%g}\W(b -6aLe.ݷrw:\3z6S5A33[VlKD0yvU%,|uu {~_+csq=:7r|FMWω=^nTYҋ2uγqf;w3il7}a?[%-wqںE*m܈| -h5#i$V,E==ȶ +[%qȑdYJ\LM8Cΐ||E@sf4aJH\s - Uq(ɖ?7D/Dh`ɶP K2٫q)hA*h kƺ+bp->?GI뾭,]6|K(:ْ:8Tql&f5$npIB`Az2%7,YIw W-fsyxC,M UPyYLݦsEn~h\9VRʻlWT xₙ֋מ'8ᔟG4U)GXf2}'TF*)dx2(*9XF-5-nmlMC7m'-bߤA/OPHy)G-H/6{5j0|[12*m/hcpbd;=~Ǡ%f_J}*RoP`,6p\ߗp&P#۹~c)$XD"x,0I2xp2PC -pv@c 9:sg^Ӽ6FS{4m1n˸afƩL1Aqjo.חmg6z+ oPEչ pc;о5U8wjt8: Z1vsbLbDy7\.l1T9, @:3X HM>bq?ꁥ,E:+2*(0Z͆I_o :DǂmQO4>KPɦ^c6#ͰZOFLYt:phC -X8,%=} endstream -endobj - -15514 0 obj -<>/P 1144 0 R/Type/Annot/A 18799 0 R/Subtype/Link/Rect[93.5997009 316.428986 184.404007 336.109009]/Border[0 0 0]/H/N>> -endobj - -15515 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15516 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15517 0 obj -<> -endobj - -15518 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15519 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15520 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15521 0 obj -<> -stream -HWkoV_qU846$ =~KgϞ|hBFQYjĨ~Wm@Fjh/ˮYCTǯΌep\K*A7U -8W"8G=iDz;_, k5yb8 7}=|]vYkڡ&园lefOGi~{Zy-UX~?oETP42sz]EvgApN!9 -Lj%gi-Y #VXܻ<<F7-po{ [VwpOOOOO τ τ τυυ/ՠ[cĒ9Y#t1bI,Z 5#p/Zk@k9Y#p/Zk@k9F,^րr̳@k9F,^րrXhgrXh{ZZ˱E`Ak9F,cZ1bI#t1{Z Z1bcZ1bcEk-h-< cEk-h-Lj܋ZZyh-Lj܋ZZ [cĒ9Y#t1bI,Z u#p/Z@k9Y#p/Z@k9F,^ցr̳@k9F,^ցrXhgrXh{ZZ˱ErX=< cĒ9F,^}U@C񊪭;@VH'X` -r@ h%B+ZJV*R - heB+ZʁV.r hBZ2@K -2@KހslwX;d -{ h{a,r1b-{rϱ%@9F,%ro@9;:D-=D-= D-= D-=D-=D-=D-=D-=XD-=X!8F,1:0-{r1:0-{r1: --{r1: --{r1zZ"cD=h;{;w s%r@9FRcĒZGn%rQQNE R+yP?GJ"r֩q'7/4N˻iԣUu3Dd:F.F(q~#s}3L}u]|KûiudPnEx:g(>4؎+uwu; H_W^_~x4zb8"6)q gU;&Fڷ'ts;&@SOfz{fۭFْ"fg?0WӐ&rq@Ev  -ǣ- ԧZUonߚ3M#ڄ z+rDَlzO1WZ,꣖gUͼkU#*[_w_.n];nk.;r=ܣz-PON} oQ3{6lB]󦭯7OMTvt:NJ_Uwj#23cՌ8taQDf ֆk#M;_*x*u\C7Bi.mbTewx) -}Usj_}zѫ'ϼ_ _{f#=7WCx#W`lz6\v}H}x˳T|NMn/L|O-;ݏ5Qݏ7|u]hrpMxRf|@J,9#u]oiۼ ~Tv.ӫ~, 1b%rB-'h%B+ZJV*2 heB+ZʁV. -Uh\RcĒZ, @K -2@KހsX@KހsX@KހsX@KހsX@KހsX@KހsX@KހsX@KނsXRcr1b-{ r1b-{ r1b-{ r1b-{ r1b-{ r1b-{ r1b-{ r1b-{ r1b-{r1bI-y=LjD=LjD=LjD=LjD=LjD=LjD=LjD=LjD=LjD{Kjq̳@9F,UDEQX^ǥJrQ^qH:5iNW{R.np\b!_`?l.?Dqrqw[uOgĄwDrV}^^E^?e?6m]}*xVֿT]S}yTڼz`<0kþ&:ay3G\r.<6vٮƯnHձ9SX,\/vƫ|QᏰ ݦEMo\rƱVcjт_]4=ڰsJ[$@zǶ;ta;10cڱ v <'pty{gMIJ#-zt=WZ ׀e=$#|ITAT5Z˜y8w8n]?kt(νi,ܓkBdRe;M}p cʃq -3d)RܠDu[5F$.~L;1Nzx524:6DD2 #_c aPw3$Bט\b'ڭZ_#+J9S`N%zܼMM"%ǒubʾqmhjFgf.<\? lM$ƙÕ2*Yq[4_(.DhBkg64(ܻʐM8ѥ{[Y&(WI0L|e.=-[5;:ڵ[oMqj"Yʆ|). -KVXd""ש0[/y K"f>uU(SY!M=ucT(1oRϰyuٗД U#+ -/Hi  w Ԍst30CraeSTőV 4ΦYA'6eQm>-'W"Kn׏c+z/mK>-(Aӿ(ʬE̷)%ϡ %;wt>pB*!QNwIlEq8Y{9pev~0- 5P\-+\+uȲ]bCTEv=;@H"F=4I\AOo[emb^E`0BpsS,# |c݌×rXendstream -endobj - -15522 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15523 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15524 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15525 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15526 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15527 0 obj -<> -stream -HW]sH}ׯ}q@QI*BLxkg+PpD`Yˁ{ogˇӷO:~W7ٳ󓳗*Qϟxyi_m6F?j%&ҪRrYloIlU]nBQ7mb'_G&ITPj,ռf!=XvM]^U˲UGOOfjxzY> Xn7\l@Y?2g'ݦ嵏VCA( \԰בtA+C$: -.)'pN XFt֜E0dyEkS XFPoz#7L[ --Sowz;Ac꽠3^Pz/L}*OTP2>c3A}g9S s>S,Z-zKH-ŐS Y\=ŀ%bԳ!CR YzZ#bԳ!Z!KPRkR YzZ#bRK1d YjZ!KPRkRZ!R Y\=ŐS XBj),A=KRK1d YjZKH-Ő%gBj),A=KRK1` ,VH-Ő%gBj),!C -,VH- zKH-ŐS Y\=ŀ%bԳ:!C R YzZ'bԳ:!Z!KPRR YzZ'bRK1d YjZ!KPRRZ!R Y\=Ő%ui.4͒dr~ +!3y\ыyt<ןj~+hb*Ahv^,G/1jP[b4alKOcm͖T͵`m,}:XwsQ=]؀-[Ʋ.n}gNŧ?>v=MD{k{C% cz˹_n<'!v{AѾݐU>\lq_;ys|Ðm.rڻrQWw3׃f|^6qd7۫WonsW -dvA?ͲZei4oOgޕlDPրL":R>;\{nmS-Uus.erÑn0dY a5U(Ag's?vSldN MF98y߽8~ƇY\6KU-˺\AժY֝]uk87nR}Vuc} *([brѾc󰯻Ym/)-_UN'jsnw>EEgo'>FPh YHQ/p2O@ɬ_E;<԰y_ޗq`YwMnmkRӵk)ߎSM|6Lr|_ t6lR"؄𽍝M t[kKA6,6b0ctvժ'8Yh-ҩxփ8|v>g=\v 8[v߇CXIZ݌_Y.ܴ -T7W+3`w˛N\g:v{<9T;k~9vKؙ)/%WNz2ӰO[xRi6).SU*]_ -lد`nZqs~fj.<?p:gp#m o+I< e㉹ksKZy89;̣MXC?b\^ HwoY:$oK(CN.XdL rtC&siz<ԪY6ݛnW -|I~k- -tE&#eijfWhs]Ó B`_3\v_j _Ik ϷIIeky_d;ofp/ #.%OOfrImKKvq߶ժ<-6 _`'N~7[9\46 \"6$x.x0|[\]os6cOߊut~M1d?ЪwaiS=KQ̂ ᥭ߯Ԯu47Kz+цȐ4[[n'_n֪,w>y"}5V{J[[iحwu! S5!+,V ZB-jygRVjBʄZ 2V+jV.Y -VjZ$ŐkQ XZY--ҬjV{!K|oS YB-{#bj1CPZF=Ő%b7),|O1dZS|oS X),|O1d {!K|oS YB-{+bj1[CP -ZV=Ő%bw),^b|O1d {!K|S YB-{'bj1;CP ZN=Ő%bw),|O1d {!עS YV6}9%'G$a=݋?byUjMwbeUԲC ICO-8P8 -H$TN -ήג'=WXmýHroP,alH.{,jX«cG~(ƯD!JRWYI,}V 6JA.ߓ<S2JO$cij*j0H\.%`B=)mĆd:E(rBg_8-fH9$e|~>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15529 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15530 0 obj -<> -endobj - -15531 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15532 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15533 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15534 0 obj -<> -stream -Hoo6S 2"PH\)EZZuv]9ߌh"HL!!G].߽IEO\&%ҧ2-u^:*o6m"&M.>֛k՗nߴuoI.~R!yJ.VJe30H}aԉ2]Iv\&FnDW?-\R`}ޤE, 'J&*j|D#D4x:Pee21P)^EWfuDzk^G7aMDoz}}c]Dz;E%C_F%C_Fg#Jƴ4&q-*1P11T4@ŸPGUki U }ZŸ@ŸPGUki U }ZŸ@ŸPGUki U }ZŸ@ŸPGUki U }ZŸD31T4*Ƶ4Pȵq-\ȵq-\ȵq-\ȵq-\XƵ4@ŸPbzZCC01T1k ZZCC01T1k ZZCC01T1k ZZCC01T1k Zk˸PbzCULsI -n׫bҩLW&Ra!˴(t&2)_g"Xo@ϝAʦ>jn\hM>=SVgmmv$Ak2%TۛWu[mf} 9F\XgdΣ^K(Z%dnC]Q !(au8jeqOٿmP Y -X2wӨaRZb1JMo`BMSKÉy뛆eWXr+xd/Dt 0 snØ9`[B Շ~[nqNcE͐3-}bV`#~jR#UiPEŐA9H#yjRTϰ̄1y r3Lu?$DŽSn(unڠ9SXˮr -3.8I}88}0RM&`#{iRW׻}w>fP3XWC`(V3ȡmMW4, -S\pEhxt٭>/R!O.>"N)zC2Tcz6k8!91,wMnwfK,q_8z4zZؖM گu~r(gOLжվUa5?pw5sXbT6jU@m~\ε_9-)嬾/rVd|:x/v;Z93q0j 5l0 NẾڧr]E /*HzwSC;j枒pJWSN9%]n>CS62ScH0琝{D/\KĤ}~D)iCfKјdU%ave6nqm> l% &&:*݌ )1w}9u=tU ږ'3Q̌BiW$[,bz3aO ]u='Wނzɿ;PRݰԫ&z; ܙl7&[1'~6npL!F9`逛0pgI Q,r =$gfeuJnP a&r^cki="|ݦˌ4R -M ?h~&Pq>%P-|@iv *pk}҅<d1M^?5唝}\˘f9Qd8U GWvp'M/ϋendstream -endobj - -15535 0 obj -<>/P 229 0 R/Type/Annot/A 44090 0 R/Subtype/Link/Rect[154.800003 665.190979 441.019989 677.221008]/Border[0 0 0]/H/N>> -endobj - -15536 0 obj -<>/P 229 0 R/Type/Annot/A 44048 0 R/Subtype/Link/Rect[154.800003 652.190979 370.589996 664.221008]/Border[0 0 0]/H/N>> -endobj - -15537 0 obj -<>/P 229 0 R/Type/Annot/A 44016 0 R/Subtype/Link/Rect[154.800003 639.190979 376.591003 651.221008]/Border[0 0 0]/H/N>> -endobj - -15538 0 obj -<>/P 229 0 R/Type/Annot/A 43975 0 R/Subtype/Link/Rect[154.800003 626.190979 293.240997 638.221008]/Border[0 0 0]/H/N>> -endobj - -15539 0 obj -<>/P 229 0 R/Type/Annot/A 43950 0 R/Subtype/Link/Rect[154.800003 613.190979 349.790985 625.221008]/Border[0 0 0]/H/N>> -endobj - -15540 0 obj -<>/P 229 0 R/Type/Annot/A 16090 0 R/Subtype/Link/Rect[154.800995 600.190979 343.790985 612.221008]/Border[0 0 0]/H/N>> -endobj - -15541 0 obj -<>/P 229 0 R/Type/Annot/A 43864 0 R/Subtype/Link/Rect[154.800995 587.190979 337.790985 599.221008]/Border[0 0 0]/H/N>> -endobj - -15542 0 obj -<>/P 229 0 R/Type/Annot/A 15684 0 R/Subtype/Link/Rect[154.800995 574.190979 430.591003 586.221008]/Border[0 0 0]/H/N>> -endobj - -15543 0 obj -<>/P 229 0 R/Type/Annot/A 15615 0 R/Subtype/Link/Rect[154.800995 561.190979 343.790985 573.221008]/Border[0 0 0]/H/N>> -endobj - -15544 0 obj -<>/P 229 0 R/Type/Annot/A 15580 0 R/Subtype/Link/Rect[154.800995 548.190979 313.791992 560.221008]/Border[0 0 0]/H/N>> -endobj - -15545 0 obj -<>/P 229 0 R/Type/Annot/A 38232 0 R/Subtype/Link/Rect[154.800995 535.190979 319.791992 547.221008]/Border[0 0 0]/H/N>> -endobj - -15546 0 obj -<>/P 229 0 R/Type/Annot/A 15579 0 R/Subtype/Link/Rect[154.800995 509.19101 414.519989 534.221008]/Border[0 0 0]/H/N>> -endobj - -15547 0 obj -<>/P 229 0 R/Type/Annot/A 15578 0 R/Subtype/Link/Rect[154.800995 496.19101 331.791992 508.221008]/Border[0 0 0]/H/N>> -endobj - -15548 0 obj -<>/P 229 0 R/Type/Annot/A 15577 0 R/Subtype/Link/Rect[154.802002 483.19101 329.911011 495.221008]/Border[0 0 0]/H/N>> -endobj - -15549 0 obj -<>/P 229 0 R/Type/Annot/A 43578 0 R/Subtype/Link/Rect[154.802002 470.19101 373.261993 482.221008]/Border[0 0 0]/H/N>> -endobj - -15550 0 obj -<>/P 229 0 R/Type/Annot/A 15576 0 R/Subtype/Link/Rect[154.802002 457.19101 282.962006 469.221008]/Border[0 0 0]/H/N>> -endobj - -15551 0 obj -<>/P 229 0 R/Type/Annot/A 15575 0 R/Subtype/Link/Rect[129.602005 432.490997 487.462006 444.890991]/Border[0 0 0]/H/N>> -endobj - -15552 0 obj -<>/P 229 0 R/Type/Annot/A 15574 0 R/Subtype/Link/Rect[154.802002 414.290985 292.131989 426.321014]/Border[0 0 0]/H/N>> -endobj - -15553 0 obj -<>/P 229 0 R/Type/Annot/A 15573 0 R/Subtype/Link/Rect[154.802002 401.290985 319.362 413.321014]/Border[0 0 0]/H/N>> -endobj - -15554 0 obj -<>/P 229 0 R/Type/Annot/A 43384 0 R/Subtype/Link/Rect[154.802002 388.290985 333.261993 400.321014]/Border[0 0 0]/H/N>> -endobj - -15555 0 obj -<>/P 229 0 R/Type/Annot/A 43348 0 R/Subtype/Link/Rect[154.802002 375.290985 314.911011 387.321014]/Border[0 0 0]/H/N>> -endobj - -15556 0 obj -<>/P 229 0 R/Type/Annot/A 43293 0 R/Subtype/Link/Rect[154.802002 362.290985 328.962006 374.321014]/Border[0 0 0]/H/N>> -endobj - -15557 0 obj -<>/P 229 0 R/Type/Annot/A 43258 0 R/Subtype/Link/Rect[154.802002 349.290985 348.260986 361.320007]/Border[0 0 0]/H/N>> -endobj - -15558 0 obj -<>/P 229 0 R/Type/Annot/A 43205 0 R/Subtype/Link/Rect[154.802002 336.290985 295.071991 348.320007]/Border[0 0 0]/H/N>> -endobj - -15559 0 obj -<>/P 229 0 R/Type/Annot/A 43171 0 R/Subtype/Link/Rect[154.802002 323.290985 350.963013 335.320007]/Border[0 0 0]/H/N>> -endobj - -15560 0 obj -<>/P 229 0 R/Type/Annot/A 43142 0 R/Subtype/Link/Rect[154.802994 310.290985 439.792999 322.320007]/Border[0 0 0]/H/N>> -endobj - -15561 0 obj -<>/P 229 0 R/Type/Annot/A 43108 0 R/Subtype/Link/Rect[154.802994 297.290985 354.52301 309.320007]/Border[0 0 0]/H/N>> -endobj - -15562 0 obj -<>/P 229 0 R/Type/Annot/A 43076 0 R/Subtype/Link/Rect[154.802002 284.290985 432.882996 296.320007]/Border[0 0 0]/H/N>> -endobj - -15563 0 obj -<>/P 229 0 R/Type/Annot/A 43009 0 R/Subtype/Link/Rect[154.802002 271.290985 346.613007 283.320007]/Border[0 0 0]/H/N>> -endobj - -15564 0 obj -<>/P 229 0 R/Type/Annot/A 31062 0 R/Subtype/Link/Rect[154.802002 258.290009 309.372009 270.320007]/Border[0 0 0]/H/N>> -endobj - -15565 0 obj -<>/P 229 0 R/Type/Annot/A 42947 0 R/Subtype/Link/Rect[154.802002 245.289993 293.032013 257.320007]/Border[0 0 0]/H/N>> -endobj - -15566 0 obj -<>/P 229 0 R/Type/Annot/A 42921 0 R/Subtype/Link/Rect[154.802002 232.289993 282.963013 244.320007]/Border[0 0 0]/H/N>> -endobj - -15567 0 obj -<>/P 229 0 R/Type/Annot/A 42874 0 R/Subtype/Link/Rect[129.602005 207.589996 487.463013 219.990005]/Border[0 0 0]/H/N>> -endobj - -15568 0 obj -<>/P 229 0 R/Type/Annot/A 42850 0 R/Subtype/Link/Rect[154.802994 189.389999 292.132996 201.419998]/Border[0 0 0]/H/N>> -endobj - -15569 0 obj -<>/P 229 0 R/Type/Annot/A 42807 0 R/Subtype/Link/Rect[154.802994 176.389999 303.231995 188.419998]/Border[0 0 0]/H/N>> -endobj - -15570 0 obj -<>/P 229 0 R/Type/Annot/A 42764 0 R/Subtype/Link/Rect[154.802994 163.389999 319.312012 175.419998]/Border[0 0 0]/H/N>> -endobj - -15571 0 obj -<>/P 229 0 R/Type/Annot/A 42737 0 R/Subtype/Link/Rect[154.802002 150.389999 358.772003 162.419998]/Border[0 0 0]/H/N>> -endobj - -15572 0 obj -<>/P 229 0 R/Type/Annot/A 42691 0 R/Subtype/Link/Rect[154.802002 137.389999 332.562012 149.419998]/Border[0 0 0]/H/N>> -endobj - -15573 0 obj -<> -endobj - -15574 0 obj -<> -endobj - -15575 0 obj -<> -endobj - -15576 0 obj -<> -endobj - -15577 0 obj -<> -endobj - -15578 0 obj -<> -endobj - -15579 0 obj -<> -endobj - -15580 0 obj -<> -endobj - -15581 0 obj -<> -endobj - -15582 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15583 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15584 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15585 0 obj -<> -stream -H|Wmo6_O8DEڻu{l#6Y%N g(K}>/~ qm%ATz_$^ZA& -eeI ]uD+BZl 7JaZ@}e YGU/۠:٫V5 ntBW~ȭlUO@vjM EZ6La6;=mEr73PU6o5ֲ6u\}[4ۿ]%"B盜I@ <"JN_}>jAeS! MwT-otGֽ#F ~f~^uB6ħו>^]SN\NNZF~EpPZlb@Ǖxx׉{z_N;ZI'j_dl(isĄ$.81|&Jqq4!.eR .DE2e !D:廓 szY8kQ޻yOQ]eDi8TiYu&47{nI1oO'Ǎ} 5d;D&F&fP+Pp/֕?}ot ^UJC}`*&6mۛkGR&\G U+I7{ci.`h a٨hg#EFO ضUHe)kmeH]LP#:X4g/*cȃw{HR8lVG +sDdRT~>T72#c会iYQdc,PmUi%}u3vG~#6{ݠfD]uϽ9}̦gk1mQd+'W@\[͋ +iv't!)4?x*{ un"n@.*tr'ѥ/ WqWU9AYQf禈߹* N 6u; XϏY͘(8˳D:OKy)@ T%=K* z2yG:鏿E"thhL-t5Sx )5+* hI[ǖ!~Yo%>Rؔuq ɼ2"H0?Q}v3+ 6|,!vT00Bh鹵0 ˧KֆP( (ڶt Z}Z5Yx%D fdCe{nEpjzZcI>/P 358 0 R/Type/Annot/A 43730 0 R/Subtype/Link/Rect[129.600006 539.504028 515.038025 564.392029]/Border[0 0 0]/H/N>> -endobj - -15587 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15588 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15589 0 obj -<> -endobj - -15590 0 obj -<> -endobj - -15591 0 obj -<> -endobj - -15592 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15593 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15594 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15595 0 obj -<> -stream -HtWi6_`] 99 /`L+VKI=ɯ*Tw0]zz,>HLKWw?}]_wo"SQq^qY4dec$.cf۱hk㩋~}vxIq 921ܛv!y#,Yi#BUVoͰLMc8;Ӟ_{MݫHϗ}2@#H2~E ig>jU2LYǨ.>rST@(,!B3,]P<ŀ%2P/2P*P*P*P:P:P3@}Ψ9>"P_0@}ɨ/% ԗ2P_1@}Ũ5׌1-Ŏd\K1d),ƵCVb -S Xk),F}Zɸbbk),ƵC>pd\K1d1JƵZ!QV2k%Zq-ŐŨ\+R Yq-Ŏb\K1d),ƵCVb -S Xk),F}ZŸbbUk),ƵC>pb\K1d1*ƵZ!QV1kZq-ŐŨ\R Yq-Ŏf\K1d),ƵCVb -S Xk),F}Z͸bbՌk),ƵC>pf\K1d1jƵZ!QV3k5Zq-ŐŨ\R Yq-ŎQθb -S Xk)P=ŐӺu=FC"=Do4ekc wC7oﻟKB ?O8i2.wu i\I{<=3 fL랚q^\0NGѐqyi;|j 4b?D\x:/'35—dZu}=pLpyI1I']2Ό yZU.X4qz% -"޼ -'iN}ںnn Zܶ7ҍ yZڰy%ícCo&x:ɜ)Bo';nfag.525}i<=M7(i~g]尟-{bq],,iFszcH q~`*2'JE!g}HɧWk'7MA @378&ёd[ۛNf^"sIOjHz&hgwD쌥iRoNeVx쟛aJ]Եwu%D{3wCJZYZ~m-Ȱ4zl+@pGjfO86ܓ5Uq詫a13WA/gt5~`cۏJr*Ko8`K4Dr;C4/юߜWUf" g'8So`_U8ԛ[B4&_{w.(CyUUL{S7Nҙy/кtF *Pt -pFWf\*zb#f»d'l1Ӛ:Akjڢ*ZAZw7v!J`nx仝i gU֓f"Xnu$CE$k.. -=Y,n=ݛn9eu~h|zprO Xus [^ JU >\`Jx‡P{m50؏v e>gwL&ֈR}&6Zr{/)\׫3>5B,.5kjS\ثG%!nB+1:oi~@رlrG2F~ve,_^G[{PߖTuYқkRo -<ͫq4r浧x >6Mc;0K_Z'Y\G/\㫒W<[~ 4R0(]諙ׄBdWz1y]l׀/Y&yPbK:HJ/䛾Nny_Tv~5ٿO}Ӛw[ %mZu]r0/r,yt]1Fql0co0-QM _r{u_ ͳvS58~0~/Aǥsv%V !O ,wwS3Mc^<{0ΉvclWp$Ŧ -ӂvZ OP7LcnCuCֿ% K{ ^V'dC蹺K1ΩLuU3{;a|<VKE&Le#]Y -\diRsB-r'maos6=n!w/qa}=4O w0j1E3[RdIoGsT.ޗkC%QF6(Y~}^Wu{R|I>LzUDJ|77͌ RZ ,xܯ"Ž-uWX`b0K'>8]ok,:@pUv1W͟sj侃eOtd9uV$AA(A ^>.K5uu<Ӿh)K'IaN ֈȚ/Zhq٧UIQDQ(q^tE3`L -J6lQlsv8XR{G!(ApQ})a xVhXEͅ c\%r EE$]EEa"h|YTt&{] *!SA-tFp -RXAƍVш{F7 D S4[@;0r#Z9W IC0U/+[{rU=9zPIJs~\>U| ý=Jʃ^\&P ] #I?~8V'Dx8]?}:bÇ'6 endstream -endobj - -15596 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15597 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15598 0 obj -<> -endobj - -15599 0 obj -<> -endobj - -15600 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15601 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15602 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15603 0 obj -<> -stream -HWmo8_!}Q)CE6m-Z.j+ -[YrbŖg&CzpgH^wW߾uWԩ4q/LgVyϸt5J:Uˮ^]o}}utEtH?8wQAt1\b%!-.z=ƫt&7M_<3^'vlTjUjiXOu[QlnunW5YZe`&ר"Ҡs=r:SO:^Q2(g:9pRmbQ XiYCXT{r Soz[AeꝠ1NPz/L{ =S 3>gL}.ϙ\P3>g A}A=l*bzKp-ŐS Y\=ŀ%b3CR YzZ#b3Z!KP\kR YzZ#b\K1d kZ!KP\kRlYCWO1` z!R YzZ+b3ZZ!KP\kR YzZ+b\K1d kZ!KP\kR Xk),A=s\K1d kZm"'b),CWO1dqZ!KP\R YzZ'b\K1d kZ!KP\R Xk),A=s\K1d kZKp-Ő%guk),A=s\KMR Y\=ŀ%b),>55"Z,LƋ(= `UgY6/w]/HOw+̺&`?gÞIҋŷk{DM bueWov|c\.}>/m^V`-/ih0Gk3Ԫ ;S6c}~Lغٮ}=i-=>ug**T -MWuwnء?=_~D?E_~l]68R75d4/cTc >ۧ+Z?I8=U 'YpzY۸Z6q涏wOlpfþu"iϙp-uCxM3}6g YA`X+gr!VbB*XX -B@cub(TX+e˰XFeX,+IJ,bY XB,by!{#=Ő%byoX,CbbBS Y<ŀ%=Ő%byoX,ﭐCbbBS YB,V{!K -yO1d X[!),!{+=Ő%byx,K{!K yO1d X;!),!{'=Ő%byX,CbbwBS YB,N{!K yO1dXC.\Н5r1;f0 [IlG,ׇURє/WuBᴲ(.p(xq)ɦmxwN~o S?axwna߫=^}_Bg<k?nXvq{Xſ.޶ -W,T^xkIZ!X-ԡR4E˝Iُc繰qwBMݪ]TKx e HprDt}`E8Evfmw70ffq`g/N0# %@Th:&7hQEZ./pMBAmU4vvS6ɇ?Mʼ]k]b\`匕 -U0V! -*VX*)kps| ]f,-4ce,XV`YƲ2Xr -RroS׺XBk]b,!T.t1{Z( -uS׺XBk]b,!T.t1{ZK=| ]%jօ.rO5_Bc uS׺EYN=| ]%jօ.rO5_Bc uS׺XBk]b,!T.t1{ZK=| ]%jօ.JS׺XBkNߘ\(c2. -~L,ի8ŗg\dɢ Z]n`X Tܶwzv;n[D$8խcMH2\>Z15U}ySfKu~c,H eSʇ΢RQ]zTz} =jP6D-k -,8?jIWǛS2'aG;66niib:fI5D!סN<9;Su?m)tg,C3\7;ueumg)(qg4㡞xCmIϯlKϘ>7>ɟ_f̗]jn_C^Fvq<|$,\;!#7Y£t&$ fpm85oW#uY6!~ՆIq4'۱~qʰ•afp6jWCr -CMg/N%prE4tr3V.r*VX*X%c,pYTXҌea,# cYe -,XN`9r1V*RJ˽rO5t ,{#jX,F=%X{K`[!TCgQ \B.roS ] -˽rO5t ,{+jX,V=%X{K`[!TCbB.rS ]E5p ˽rO5t ,{'jX,N=%X{K`;!TCbwB.rS ] }*j,K=Ye\qgjVk0\+:w6a]jwS1_wuBC4^Bh6M}nj?u&-b޶usMИ>u@==nY@g:֧}{ݫ=DOwy0ִ4XsSUTE`UK-UjPq 3mo,( --RR9o޽zzSendstream -endobj - -15604 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15605 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15606 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15607 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15608 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15609 0 obj -<> -stream -HWm6_2/z!P$z(r&6wԶ|7#J2M7 Cc"XÒ?'ݶfgcb&d]v.W[>$ɘadeV.I.aB\̸?SY维]ٮc72RGw-,?tYqY -oܻM}qi/$qԮv_%{f"co5K*aެv°M>&&1&Ƙ#2BBQ Q9 - m{{W{W{W{{{ y>'`G }/Eľ$ؗ`_FK}Uľ"W{C7{C4+ц]" Ն6DCՆ6DCb PjCj%І(}ZI6PmhC>R$TET+ Ն6@ m"GjCj%(B QHPmhC>R$Tv"Tm"Tmه6@ m"GUjCj(B QHPmhC>R"TE6!`V m"GUjCՆ6D#*B QHPmh%PmhCT>PmhCT>!*fE6!`V m"GՄjCՆ6D#jB QHPmhІ(}ZM6!`V m"TET Ն6D#jBmjCb PjCb Q1{Í1ever_llC?^0lK.(xL5cvԴFqҮ?.Oŗ$C;``c1}_7-753豚uqkUڮlC_K: u6UiVѴiy: -dĸc* 0v!)yx=1ۦ;\@A;K*]!ܢԊLxaJ@/aL.ȸБ>2"JH~G8=5-A gRGpNVwٲH -]3[=.J^q|Jlp>$ʒܔg]zMl] %/MYC't5D$FOvmxU]{Màm9sXƢBY(]g=3mQPTvۮޮGw=o>i00^U<!%WGAo.ɥ)dc?~!{Wvԉ`!M N*}#D83{P{5E\@_f;v^ُkc{Yyd1oF=nX?Y.gr5?iit%@U9 ;į,ҏݮC7AX71uξn)QUjSj6d_nuloWJU} pe6av~͵p};qV%Ԛ2(J -S\uM1R|/# -RvGPPI/M?mTDӡo>(Q`<}GԮy /nJ㻥#ܢEK8NC{teqz~>FY`/]owȹ ~*@U-MM]22%$pW-X>K>74=FJxOa/4o~4:S||vBz(2V -NFp1YFX>;D ?zFƤ-s/`F%e y,\OauQw韘\/4t|aGӴ)< -|24,48)CM5ޜ^w~7Smendstream -endobj - -15610 0 obj -<>/P 845 0 R/Type/Annot/A 38382 0 R/Subtype/Link/Rect[93.5995026 484.428986 184.404007 504.109009]/Border[0 0 0]/H/N>> -endobj - -15611 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15612 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15613 0 obj -<> -endobj - -15614 0 obj -<> -endobj - -15615 0 obj -<> -endobj - -15616 0 obj -<> -endobj - -15617 0 obj -<> -endobj - -15618 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15619 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15620 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15621 0 obj -<> -stream -H[sH+ba<7!P jTJLeI-tJv}srZweǓ×@?}v}*̈DCkh]," HA ˾e[7o -:xaEOhRs -(I$cMHeEl+bJB Yu,GY'jad|^V\R'ëwb%E"vHo娈$Njp/"#4|%~Wpz&$BXHftGGfǁq}Oi>eܧq3}Y>gqdV1Zi&TTjH1BTTjH1Aj5ZyqV3RLj)}ZͤjbLjZyqV3Aj5Z!ŤjbLj)}ZͤjMdRS{!Ťj -SS{!Ťjb5Lj)}ZäjH1Aj Zyq0RLj)}Zäjb5LjZyq0Aj Z5eRK5OZy*tO5OZyq2Aj-Z!ŤjbLj)}ZˤjH1Aj-Zyq2RLj)}ZˤjbLjD1Zy*tO5RS{y*t<-HjE4) - -(_R-2HR) M4w\|c-zZLG]=[,c Ja@Uv޿|LJwv - "͗/<N֕brqYnڲ t|Rȡd'e.@ৃp1q]Jqtr̬%Τwd쇱=_@"]t$)6+ wY{Ε"3w}vU.i9>lNOM 5wo ҀR_=ۚ7YE6τKi縙5є5Nڇla9=q&zpRaH9rm{0>+^QڤBn+1($G}}҉01+8U,,]T?Ȳ?w%7䩰fKt2muNGg05:['dW7dHj"lrݼsL$V:x0*ٜdO'`ہ{v)W-%\Y.ܫ:1'$`]ǭ`kYY/q߱䠻i,^KfPw,ح4v;)ZX/U9o[DVȔi\G''ط66AG]FԺ*~Izw -[j7KK#ҁ;0nSM?rqϗ'\|Ӡ; Tn~qT]y~HϞf6DJ$a5.Ҕ'v+1"ߝr^:Nrx,Evh)soZ <5erom?w{U=a'D 08endstream -endobj - -15622 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15623 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15624 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15625 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15626 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15627 0 obj -<> -stream -HWr|WL\)RG negu6q6k T pD!{/%ӊ+HP9螁~wy~gR/{7qѺWMV{SftMoNRs8Ӛv޷WM׮kkysM^Y.qN*$5HiiUr>y,v6g>K'nzQ90]Hmg;J"aR1%>}n˽_ IRlэf6g/;ܺ4 ;Ժ4~_hOqyKJs~I[RZURGm.2ɩ4Et#s%0fe%;KXʽr>(}rg}g}g}}}}}}ܗ}ܗ}W}W*cv/1bJYڽĘKXcpZAk%,^փJXcpZAk%,^փJXcpZAk%,^փJXcpZAk%,^փJlZ1K@k%,^b%F,Z1 W cpZ@k%F,Z1 W cpZ@k%F,Z1 W cpZ@k%F,Z1 W cpZ@k%J"hĘKXcv/1fi#hĘܫFZ1 W#hĘܫFZ1 W#hĘܫFZ1 W#hĘܫFZ1 W[%hĘKXcv/1fi*>\urV8S_'Վ`M^6zLV]bfhɳ폣ciGor7ܮV-MrA ?nދ`/l6}@<==ffsZXl;OsdLwu}d6̎ߵE~>[oۛu4+tB Q"? ݢ7}j>oiq~OM^Bxsػm1gY$vi]a-.)x֦ ? 6]3_^ӨĒzʧօewjh1Pv~kMo6לޫۚ~cǏ{-_x_n -nnG˂ӓpж?|tt~8N~zG7DN=ǟOv6OkqPt¦#ᰟS|kOK?n׊tQq,]!=AkwVlpl{8MljKy=KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>Ĉr/1fiVUwNjw3uR0H1=*Ư瓿7w]c4g]> m1ss5ﺶA~*I`_KG&endstream -endobj - -15628 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15629 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15630 0 obj -<> -endobj - -15631 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15632 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15633 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15634 0 obj -<> -stream -HWoF¸`S/~Hk" P$fN]\JęI%=yv9ܝ[wV_}h\S>QbTUj&ЪT}^}ZWu)ں\ ?_ugt?Z:aX*MƙmXeU G|.Iܑ/Ł~yW,r]4]5ƣ8t/jOfgA (2&s`#o SWbRAnxP3y:e{9''[Fp֜E0dyEkS XFpo{#7̽[ --sow{;c3^p{/}"ODp0>eS}ܧs 3>}.gBh) Z!R Y=ŐS XBj),=KRK1d YjZKH-Ő%g5Bj),=KRK1` ,FH-Ő%g5Bj),!C,FH-6RK1dqZ!{KH-Ő%gBj),=KRK1` ,VH-Ő%gBj),!C -,VH-ŀ%bܳZ!C -&pBj),bRK1dqCwO1` ,NH-Ő%guBj),!C ,NH-ŀ%bܳ:!C R Y{Z'bܳ:!^H-ŐS XBj),b(sbr(fA'((SIGV6AX^yx7z??V|K׿\k>Es9hJu2i; f3*5xI$҂Pwg>J|ŗ1U1>Q;gA H?;(z]hFHw:$rŴ嘖gZ^L+Z JiVʴ2A+cZ1\ʙV.hT\bZ4҂fZF2LZC}O1d ZC}O1d ZC}O1d ZC -}O1dq-K{!Kb}o-V{mŴ-V{϶cbX[)vAbxX;)':AbxX;)g5AbxVZCע-^jֲ48S޹(mOͮ.I<`%UpIfFee_ {>ԛ1Ep,zdk}ibzD9O %QBK]`; ->sQQīn-7-uWOtV7bhԮJzjڗw'a.rW8L"Gtjզ6ZMam*LJxTP^ljGŁƑh"'ܖ[*)mU,k<[A"MABјG,93⡵bmy/EÓ&ӅmV *S~+T񥵰yQUݼn.|Ym6e*OUi !Ү'kuu.֣d˕uO(SpᏚ\Pww/2FU"?;?n<2RZ`ctE^Zi-vsZ-9օpsytNNf:Ǻ0~j:w&$c0WgeW|rޯvu ͆Zx [xCIn/|n5>/(OT#,Z&DNѺր!ob{Ml3?句PS0kDpsCF$q/I}3Cj~m^aafa_jr,vMSV[qtz-nP>𥹭mOXtÏ꺿=w[+":D6l[^R=شpy,uڧQb7*yNhe[=6qJ`) ?l)/eCȸea!hyZfh -vخxu>P)/|&W% Cmac -92sZĆB&_ciMIh{ܟpY`ZhIm=74h̹H]Uέ;ܜvtQL"c# ѡ8s9s"5tBA`|x)S"Qن2}!* H;>hqRow&h^EDX1vSOGi,Ֆ7lO/[Z։?oKCd0P8`yW>C8I3bÜR/eF'O$_ -@&6+?NtѢ}A@vofj] fjZSꊦS յ+To%Z)|} 9V͹HխIg|ٓ,Ep)9 $2ʥ5#ñ=页q -s<˾Aҵ]\]ԢE>/-z~>M ld7DKj|pXsZE/^jvT;hxMRlIH)_cOt1;}D#,_de-tGZlI+VZ`endstream -endobj - -15635 0 obj -<> -endobj - -15636 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15637 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15638 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15639 0 obj -<> -stream -H{'0H@rwGɉ@8qk 2]&M{^+{6 KoΜ!jթ'OFo^Fٳ߼H~I&*^̪AHXLH>cs!}Bυ9K_ ,}G> -YgPZZK5xz%jHTCPBk -RBzZ+j@ RBzZ+jH YkZ%jH YkZ!%gBkZ!%gBk -Z8TCPBkOO5xz%jH YkZ!%guBkZ!%guBk PBk RBzZ'j@ RBzZ'jH YkZZK5xz%jHTCPBk RBzZ/j@ RBzZ/jH YkZ%jH YkZ!%gBkZ!%gBk ZTCPBkOO5xc^Mɨ4NU^%&elԙʲ68Va1]nVjwmoW$ŭˉ1!=ϸ4@36^-]V -]Fe;AܞQnc  -U? \"䯦*Juos.qϙ8 l8FNt w'ROFu7Tl4?'b.N ܵ8pss}Y͒7Ww - swW7;_XŸ}ko -a4SVGWSϰN %.rsƃá.zT ?C嗪26`ZϮ>⟞<]-[bƧ{jsZL}_QaT f>^ LO[ l^^=!|:Y&/߼H 0 ̞endstream -endobj - -15640 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15641 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15642 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15643 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15644 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15645 0 obj -<> -stream -HWkoܶeŇ^@QI"h A jjvΐԋ"p4=$sfOe7~݇,f?7BsQ0_j䊧ed]5=nT]{j\ ]c]V~vي/ =l -X$f+`N9۞7wmaWodG O>oZ xyt=on=,\i؆Ujal8q1/ ] &€ {edL7o}ٞm -rLqVvS$>1 -@QrPB(χ@܅>@I K + -+ -+ -kk'$`쓀}BO)> ا4`쳀}F> <`}A/>Ь DI!*dE!*d}"TET+ >DJBPj}j%Z߇(}ZIPC>P$TET+ >@}"j}j%Zw(BQ!{(BQ!{߇Z߇(}ZE!`V}"TET>D*BPj}jZ߇(}ZEPC>P"TETF} ->@} ->D}>DjBQ@PZ߇(}ZM!`V}"TET >DjBPj}j5Z߇(}ZM7 Z߇Z߇CTȾEQhÿ;on77[E1Bo]pq=Uw{ C]}TPøC5p'/֋wz@P *eوb:(S<1θy:бq&?RsC&tR ΐ -GgSxN/^V5$Hy=%Xid_ [҂UmIh#K`Ϸ_o'* -Y?z}XѴyU=5;+d@I /чynL -K4!h1Ty^1' {"Ӕ 4TT- `wC6n-T?ؚ8k*p ".LΫS`х mIeǟ{u"3NiV!Kwm4zLfњ6k@ 5|lp17m9Й٪Ί9]\D΋MF0aIll ~q/GOٌ]^q82m-',~(2 2? c "KID\l' -QsY8v-P^(sW׬RӖ]%`P9],**5J;yŬQUY"ǘ]ͷ[vZ3e:;p$eӧO?Ұ9Ӵ^XtEQ|'޽׍3n+sto+.3Tt9~X!U(%@ׅ}W<*yLP[M tURwQ [K9p3c{BmsM}^άjTX)hpIz`yų4gK1cl'JHзH[$䊹s#Z۶ݿGuċ {L&msh3L-E%~ $@=h [eK^*ꉚ;\g1fOF|xhh$QC8GNis *Es -9p?Eq)XQ67Třܳ"Ì>\KaF[^~탖>8qƷxx"5 -^L$rzt>*DT|q>q٬մϣ*O?:þ0mp_YG\d'K5ih={S2cN3IPwb_]yDkG-tbŨ&d=/큰*v-Ҕ'K ,tv];][ܨ{(KII+)a:Kr hQȤ<2Ds%$>s,)d1TXվ@G-byp$\UJr_SoUW}~y;zOD2L1_jޕ6:{P; ,3M+U]ΞZReKam=Q1ñ&Üm{)r[?:'~~OnԢc'r]|ݔsiT~r9!a.33U-)@Q~ qB& 5n f4  |3+ifH5]) R#>$oHyoK*E(ű>\/[@P sk !Ιez'V*"mz{c];wSX_m˳<1 gmY&]Ma-')9(1{Juj z}0Χ?nZW<>)GE幊stߘrC@Sjj!$5Wɴ#.{;m;!t{1'n&GP6yl`WF -02endstream -endobj - -15646 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15647 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15648 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15649 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15650 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15651 0 obj -<> -stream -HWko_q"ʱ(vԎH$ VDc.e;-{[ҳs%g>yWo~4ᇗ?J~OlHm4L^p,|;ofd65ߛuݵWnnn߮̾M.~~!yL.7,oHd&H*$wͪkw[svlQهGnE#}zݟ-?M_6vMF_C˱0wgEju]Y2esԙ/fWDޚ6IEAV& X'KNԜ(86$1f$F,k5K`KzVp{;^W=p>Aρ\ρ\ρ\/B/B/R/R/RJJ}T#p:kAi%IhĘKXcv/1fi#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu$Vb%F,Z1K{ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZmZ+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkh6IZ+1fi#hĘKY}Lcdj\&˥7,ohba>-LQD$2 zvM>|{BTT(42gO$KmHו{ܑ}4K8/ ٲmy?bw7#Ƌkzg߻fhxyk&A3HwSx},4J?eUGlYLcL+ie*ʲП>joereMɻ˻lBtӾ;ԛiqnDp|N{VÞs)E~o=xSXKYZKb}}}}}}}}}r/1fi- ^bZ1%g%da~LcJ駉?1O&{Å;鲪 Ѡ326ub gfuWS|a]I=#g)n=;w!~`Ҧf7ddMk^ȹlqtڌCy?`^̷(]ZPЈ:lAZK|u&7m,y>gSx S,V2TTL9P[㖩ٔZp3)MKnsl){pG ID۱SĨ1,cƒ[LKVд`3{}Mo֪T_~pnQ~W𠈽H rb%40mWкȒ\H\BC鏔 -J'="^,}Jh^m;:}`g-VN=&lLU-vOt7,J‹ި@|&q!~_>=??#ǏWѫ5D9Aaݸ./X9t+Ql*uq$LwlZ-S%b)qWa!?UpX([&$3o>o!fxbˡ/®u{kcR("hNEimgK^a6 -l 6cȇ^Q}Õ3%fMY4} \18r0Xq68pA;( pl+!/ z3A{wXްso ߱y(LW];6mʈ*zc39F3xGNh m-sa}Q9L"fyզkD۵ëM]8]AXIt?28p-#\ x)Y&,O -uZ\ xd`Dq\** X|qeww 0}iendstream -endobj - -15652 0 obj -<>/P 697 0 R/Type/Annot/A 15655 0 R/Subtype/Link/Rect[93.6001968 663.229004 286.764008 683.989014]/Border[0 0 0]/H/N>> -endobj - -15653 0 obj -<>/P 697 0 R/Type/Annot/A 15654 0 R/Subtype/Link/Rect[93.6006012 243.748001 230.233002 263.428009]/Border[0 0 0]/H/N>> -endobj - -15654 0 obj -<> -endobj - -15655 0 obj -<> -endobj - -15656 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15657 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15658 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15659 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15660 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15661 0 obj -<> -stream -HW]o6}ׯ 8%Qq) 'V2#eGz+k;N"<幼w]Kُ?:OU i#L<lo:JCYŢmUO6jg}f*F6zVd&IY -a]tuW55x%t˄닏oN)\YwۋgjD7cd{k&(ord҄d"ؑ񔽃>ÿc6,*d Omt!8<ǐNc,B}ZAǀEǐE\+kZZC>p \c"k} Xk} Yp!PV]$ B>,µ>P!+Tc"\c"k} Ypp!PV1dJµ>,µ>,B}ZIǐE\+ k%ZC>p$\cH1d} Xk} YzCVǀEǐE\kZZC>p"\c"Uk} Xk} Yp!PV1`1d*µ>,B}ZEv&\c -B>P}EX --]z]'8[G$冭֌=>\IƲ`](($F|dNjWRh!3*~ndIiJBHA{./+ vhwuZ)p&}߿_ċP$Ze?HTU[B*˧~enޮˀ-ۮ6d)C˨i'& -։X wmi˝e7,;7NjBĉ}g}?Դ9OTq`F%p++csl]vnߡ a oeksmG[  h\|ʵkq߿܇IKXrqn-y҈c뛛GuBymgwū~tvf)cMwe~a?.LSG_U!mkh* CW]@q醄C dBkġ!YܻwE)6[m|%`yذ1u[=Y7loZ-?.zp44]*fAgHISԪ{tTv?)अLQ26ٵUڛޛThHgJLBܟN)2WqJ ?%WIutѡܶ0vh!vu|`dF/GkcӍRM}3%] {9Y'5EalJ%)x`pOx(i:@b$^ھckv9f00KoxeeG5uWS0/ݏMٕ5R_\lvC\ IIUlDPHLxN>Kp97n܁% -&mnP;@]>Qɲ:e`e[{1Xe -f J^eC_3DFlzڅ{vǟpu7Y< 19 !n7퇋T:4:f|ByC*usKSǦIoڀM,Q֎GkTu=lp;Wj%kNă+Uf&^mU}n ,*mRB -^P@eE;BwZm3eD~i VK2xJKâ&d"(GuF[pL>̰ -\A:{ U1_![:\X,N bP=\V2qv2{>z-T=`9iN{ \wkNBEQΦ./G/%ͽrg:ȷ F6sj;8mL*Ͻ4:"F)k@,؞F䄥Xd*3T߸sg,X7aol"4IV˻r߰ΙI'WH<ǂz^,\]'{*X=n]vv oݵ~ArWnv_K7/xb<ۆ^x_I 'ND*44d}'Hv+N;_iM xݸZ+]+>H[@z׎[oaj!kj_/]kAY|6"I!4 -W c_ 8`hG>+`b,f,ݐ3ta+Rlxgw*{,mेO3]8a~u,`ƫ7na/Xmu-PlCX4/Oe˲/CpBR$ͯsUDTkng"EOݖUS#3;B S""LܗM %̽-DÛ)E(un8i9@7&uYZչS]yZ(4,+Qh[qSIX&5q[A$boՖk9>Su|S,izT)|.:+mFT}h.V`NId #>/ %L$哆MxƹYlĬʵx]`^]9ߌ9}axAքI$f/Eȥ>t!aBWvZݓ6pam>.`ЪZo& kqnPۑ-p |&R4ḫE0ړ4ydF RE V8!S/V0WIdPQQ][0DhTX~V-dV0p۵T>WjU%_NdbZwkx cc Oe(*mثciԎ*XxNo$|Y"g.cњҟfO&aѥbdPE\A)AUTY0 GSH!cӅ^&$OkO%3yCE5 !8Իq 5MTיE -@]gt8}M7V-^Pi#әcX֊nC7@(:v>"|c\ -0pCɢ<^aLZW޴H%7cN@gx(c63PuQ֫wNLT[޿ -I c6KD*ah߅O?BFQ~@wZT妧&^Ӻ7~%@[ /+$NL6}#i89jOpD"vF6"-)pI-0Y;@ulzX23=\(!Yr-#2AcS}Gd@PRrWK_q~0\ _5KX+a rN` '_$211ve;Xͯ(<-W1|L}&XF *aK."3\\'%endstream -endobj - -15662 0 obj -<>/P 517 0 R/Type/Annot/A 17958 0 R/Subtype/Link/Rect[93.600502 263.630005 222.936996 283.309998]/Border[0 0 0]/H/N>> -endobj - -15663 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15664 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15665 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15666 0 obj -<> -stream -HWn8}WE L臤(6ۖo~$RE#mxD!KwU>??|￿!w$t":6J2J67QD"o~h7~_/}U/]~-ģExJ$˸qb2? iywתYU<&}ֹJ\ծ{GRCr /Gc%ƫ8*UHQ_kT)CNI8"Ub -YCaXTxK2e^2e^1U^1U^1U^3u^3u0M0M0M>cgQsF}y>gQ_ F}/edi)$Z!+TO1`1BCVbb\K1d1JƵC>pd\K1`1k%Z!QV2R Yq-ŐŨ\+R Xk),F}Zɸbbk)Z!+TO1`1BCVbb\K1d1*ƵC>pb\K1`1kZ!QV1R Yq-ŐŨ\R Xk),F}ZŸbbUk)4Z!+TO1`1BCVbb\K1d1jƵC>pf\K1`1k5Z!QV3R Yq-ŐŨ\R Xk),F}Z͸bbՌk) Z!+TO1`1BCVLʲq -Κm~-ģExD:IgY/ljYgv:Ovsq~"/ƃ Lt.YIV~Y\]?_8&:K2> TJ_ 9⠔LeTu_7/Ns_7mI٫\}IZq6 y# R_|xmm]pza$DfW6MRQ\.|%u]'þn`eDZs@gNJ-O,tjs>Pߧ}լn{tz@z:.{EƽŐBnJ+*ٻ -Rm ކeJZ)d*A7=$)'1]կjE^ש~iƷFVn_ՁK?y5eJeHS -U=΅}t|2(zPt碘KyLJk)`z-1!CL3>]5*L49NLKq93$`WZ/=H -io/`: ˸J1'* p_FuIPӮB{M?k{2\)2j<\?uyϋa [F5IvA66ᄇrx 3weXxa)x{z<p]Μ݄݊,M!N:ʶZpIsFH`y -5p_b6p[7;xٸ:%|P>azMnW-}{]i2-);4jB% t#g[}Sr>Ư3MJu&LJ Y\{sҵw 3e6\/Ҝ ɺx^[ N Y̥/l\[nЁRqѺ/¹*OBVTR3iu"ҩ^Hg쎷6Tb;v\>6܄ߣ6#o6qlml:$VPKi-9UnVuooLf6DCoեNn^.Mj6}%h5Z7wp@vY Ǻ_ =X>9Ĺ( Yӎ:.-pʛR7pvA0ۺ/*LH/8̠JIE>7u7 8R()&uχ\C=~ܵ[pL8l`\n%Fw\xWu}S}ڵu0' 8Nem4#˵?#?ne ZZgPCd>]&&4=l0ff -^L*o\mfs1#F8zX(h͐|&F%znӯ]9p|aI}龁y(=JlG,7AcSa43}{zPxgf56pCՓ[?-|l)[2>tlutvbw \A~Bqn(q~tQAY/U1ezH4'wߟhmӜ-|XAbGYǂ±ViR(/=WY21'?[ -^<0Gqih-"Y*'l-^&89XH8ΧM^6Pޜ#k!dXA,A,A,2A,2A2&VʙXy+gbAU -&V*Xedb4|,!+E1` &b &bI& bI&V{!dbbby/XAK&),&V{!dbbby/XAmm |]YI -ޅ6]r -ֵ-=}-cN$f0ތ2cb7cb,%ý#eq//{poHxYK{3F*^2ܛ1R1^ތ񲸗 fTŽd7cb,ý#ePpoHxY+{3F*^1ܛ1R1^ތW fTŽb7cb,ý#eq/{poHxY fTCý#(T~^'A -ӣÌ&W&0H\778ÎbMbILE&59Mg% V"q|uknj\w8&ǃv`3,PȣEax^q"Ce|x'UƗRd/P~E NPۿr̴xxaئi;Mix;r -S]ޟI!Hu^}$OT.P{եQeTGUnʼu -qq8ՐN5MBulQx:!jXm.dR]o{<^BhS$tEؓ:wid{̫͘lX6KҴ\6ʛ`m&C}po[d;uB*?!~sNg 1Öû[u},IGx6Pq?Ο~frT.lW^<;EiezUw#}zz iKA<4ŋyg{#/!%޽_/˗ݔo7酁xG/pE^:Z"KW`kJ ߳zES. N*'uΎi}`2|*q/4|G]Z/>D Vo]xU,V5[\/~!bendstream -endobj - -15667 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15668 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15669 0 obj -<> -endobj - -15670 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15671 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15672 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15673 0 obj -<> -stream -HWmo8_2*^Em]\\qiQ($'Ϳlr"h|D33>&w7`2fEs\)TĊC;$| X؄c55M[OC &c nK,,A$af%yX}tWojc4Y6m3^X\.XIeLq+/!Kϰ#0(Ds %9mPdcp>p0,!1˝1's='s $K$K"+"+"+}JO=)>gc3}F<9>c_ }A4Ѻ6j]|Pj]|Q>{(BQ{OPCS-'TE!`節u}"{j]պ>D=rBQ{OPZׇ(ZN!`節u}m պ>D]պ>D]|Pj]jZׇ(ZAPCS TET+պ>@u}"{j]jZ(BQ{OPCS T@u}ٻ>@u}ٻ>D]պ>D=JBQ{OPZׇ(ZI!`Vu}"TET+ պ>D=JBPj]j%Zׇ(ZI"Tw}"Tw}qQ2Lߙmep[gq̸PB g2ݓЍlGɲ,Vx72S5Lt,h-u^aN x2>qoiΥ`ތԦf/ \ b˹~[RѮ~"ft]jn ʶ*jM^L_GHXu3VKI}Ќ4Kl3|9̳l-nǙ:_ȥ -Z3n:-j&ru֚0ANv0Ss\ր\kkj/5 -\DeOU% -RvT`rPt B|t:kaݗ>mcd'BBT#hw׊sJjjE@Lht%g:.-TU'Y 7Ϯ2biln5 lV'\[Z0 - -Q,H,*`{"Uso*"hWY-nwLcc)U6iⲑؗOKNyČ:,~2Sih{y:y -͕ \:NS-IE7,fc!$9+y9Β1!oZMGLb=ƾNKdg-YNpe|]?wTAsh9Wkj5U̙فԏcp|] "F U)JBY^ lXM5&r,A3! 8E}OQ >: B$qv)rʲ٥fvƬ)`x # ^ITmӕ*Ƥ<΁mjtW:wg-<`@P[Hs?c[u6,F> s!Pt53|fk. ¶z0gCm ^a,I7w`Xu׫u}=l7ҝ΄;#o65y`(?H .+_ v+cʘgd0j u0_LI@uK#,GX"G?T*'B`/yI!LKiy+Sl`}siy{m}"ř#j֋.t \5 e9/c#^@{'jkLL zFk|P,nN,R`]4Eվz}hڽ_] -sLS&tN^3N7ƾtZ\f2|D1xa,@z fL&e,2Je&y!ca2Lz1M>)q~FS ?up'Uf#Ϙ>b&ӄHc8uP d} &}-{KB QH!q^c#![x -1j? `!3jo;`cz]mfLJE,mf&9zv;[^=bow~SBHkۀ V4QUZEX2YK$p8ڱUzY+/zG@"Rx^4tVwy[z'q_(Urbd`3l vpuuyy~CJt - -$O:~Ζsl)ӗmmIcȠ]neZ=V[ `;mPO\(x2|*6zz_j97slh2TaЂU},WW9Xc -Ԣ³98Y行 )t, w}Y<Љ$4S%J- RX$F*[9["KS924˞ErK=pP=<{s~כxś!"ZH29h)T"j|h% -r_|+}BDy>$؟SDr"p/#ng> -v8D1ee˺Tm?jshFf}endstream -endobj - -15674 0 obj -<>/P 448 0 R/Type/Annot/A 43807 0 R/Subtype/Link/Rect[129.600006 411.229004 227.651993 430.908997]/Border[0 0 0]/H/N>> -endobj - -15675 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15676 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15677 0 obj -<> -endobj - -15678 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15679 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15680 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15681 0 obj -<> -stream -HW]o}آ/`IA:-]D $ѥ$,ٱ[ ٳsfWX4G/onog__߼I _*%+rɚ2 gD%W,cXuScS-YS%W?lsH\|VL:q g9 -n|ܥ屪lv) Om&f)2 ˄*2엦l،0J obo^oob~nf¦iC! 34R$TmET+ bbG#JBQHP-P-y>R$TmET+ b.Qjͣb(BQ1{l=P-y>R"TmETbbG#*BQHP-P-y>R"TmETbbG#*BQHP-M<*fm"Tm6cbG#jBQHP-P-y>R&TmET bbG#jBQHP-P-y>R&TmET b.1jͣb(BQ1{l󨘽˜sq3z]yr5lNoe9s$}[mNl5|F@2muf²i[4;ޗӁ=-C 63aӲdCٰۛ[.Kɖ\eOwOs`&'M>ٌ-\jtfZ"ѯNo ̀8@st;R`8{,W&v_ RYnZYe8]1JeRV:$x,Hs= -Dδ#hOcrs!ri].P@&tGđE?a͏Q;(ʞw TJ.y''׭]^gu]\x!4T-' Kf\14@~mwxFRi]yKCTLf-d_jP;B])/WS0Z=EqsP)[r2B9G2ޱoZgFGCJ;ƌfY\PP#QQfEnUKSwM;O1hJ|]XBR:=/ɩ}U~SwS[FQR0XeGJh7-}.+nZeϞ[I>UszF~:2ϠWi8t#|$7b!C JSHcKΕPsv8LPR1ߗ)wQyyv9Ez.Ac8Et_9.l v➌ eq$?LG7fӖcUrv:9]CB}Y_WxU=V2ʣz3<ЗaFvf>ʢstpE7/A..1}xLTmK[}V4m|~vM~`Ao3U`欛y}BWvcy^atL1 iVPZ8hE/l CQ(5r{:"Wk6^QLaôVPzrf~I9zǐCBA. ZvqfZb" eDhK?sk83(m|6nf@mr1YtAx Fu' -+!߅uC 4iſ{]B=[zWbF"+ -g&n?<nP T.` 156Zi&u(H玂zb vWn,b"@6꽏Qc.o/̡F2e2"0xI;C }+h'zx_G?͏Vp!z4x^^)]&%4:&a9̷u1 gh*I ٜv0CuxVc{lƾukRq`n~3Ż=xOU'uu @(yK/Q{vOѧmyx8n{ -MKrsC6 E2,w{J%ȜTbXFoyoZj9q6,[0I}i\,; ˼"Q+8 }yF4ĆRu8HK%1jKf.O_/1Xdn0{(TPr"/hѩWAT7d8[eM75 ҔGՖ9&9'4=KC -:W.QQh#c-28JrxݻC)C޶+ןO)[,dRNNpyfԅ IOoݲO @ac=ӊ xW & b؆KhK -[MTTVCT &n+Ue\fWȉP-9 kiU&P\NeD%β|Hl -"ӣIGGakfaD<<0GW}\Y7Eͥ*^Z8fZϮK0 qk팰•M4:\ȀM٠ImEy'fw2hwCGMH,j?[jGL~※Xu${qd}UILlg|x;h9F7\5&lЪ&/3Mqox`AzAp 6r[%eebS}3nhqFJʱ|V2Zv(T؉oz;kTNmdc@v<#v#S [ޓI]=FƊ@/㤎zxN~nf 0yf\@ -旟Ke10i7E+񥂑Y.9V6 ge`#8=rpaR3g9!4p[Xn.x 44dԻj玺&dZȂ K<tGc=Y)ڀEl ͪg-˔ر n;b~zceWel|J Ř/1&Yp=L!9Z(R1YZon=4ѧ~ ,endstream -endobj - -15682 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15683 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15684 0 obj -<> -endobj - -15685 0 obj -<> -endobj - -15686 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15687 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15688 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15689 0 obj -<> -stream -Hko:Wp9 ûnQl7=mnA(Z[Ngq~mF-(ڤgW$|I?? aŋWo^'IW(3I T 2ϓLM8)HrxOcVb/ń̋ 89KI8$^ˆ%$)x^u_w 4ܻkP4F?ɲ yǵY͏e>_썿 e֦ ='T& -pF>H;rv5I4T8,s?gM{irX36dp&ȏ9*|bk<ǀzzzzzWzWz׈z׈z׈z7z7zOi>EԧQ3D}Y"m"rĴ~lĵ~Qz?Z?PsTޏ֏9 -QV cBkPkkZ?(D}Z֏֏9 -QV cBkPkkZ?(D}Z֏֏9*TǀB\c -11G!Jĵ~Qq -qs>pD\\+11G!Jĵ~Qq -qs>pD\\+Y1GPkB~Qz?Z?(D}Z֏9 -QV!c@!cBUkkZ?Z?(D}Z֏9 -QV!c@!cBUkkZ?6K4Z?P -qsTޏ9*ToV:Nfɫqr8K&Vьpa!&,roaҴMrZ,EA_jTϪ<216m}5O%~X&KrUToy/\dHaϫA_F42kгz@~7 .Zv΅MǤ5]f='6iMWaB9-{d Ṵai݋pF{J`Ǧ\=OVn+&pLF.s㧯/=~oqJ=ɗr 7u-ͬjlf\.Z\Hj|dzQ5_axEX}l(Hg8gZiE5qs=27/u~+}+e]ǴX"iš|,pa>1ݶwm nS|=rFal[=ltkMM&We1/Ѵ˟Vq)P/cĊ~~9Ωan_%|S(w -|H /eEG^\W?GG mԦqcS;#T&V/xTӪ>1L?#`/=N -M%܀&+A./AV:4V~`"JlS}%|ʚ Yb}lbAn %)јRwrKzUuss9tt?b [hX{Y#MWB+hͻL]i,Lv áh7te3 ]]^N"RJhVܢu{PBkp= wԥ{>j ɩd yv4͚]#Nol~;f{\m$RiNg !(JQf)25kpV߭&CB*v [rX^EnSl}NWrf_-"Up -_֝)<5{t‡Ubq4`M#JD ڦX*_hU7 ܭA-rj --֫I uyZ-.袳M29-䬩"5/|N毷*K%)vײJM~\.*5ۯ*55r:+&7DJ? Oʚ۪RG;3w`kIn`ÈXVY* 6ͺi2I9PWY(ˠC|y{ WpE\E =~>(aUr {;d=?h3?prXfїӓޞ|{Cr0&o`h^ [|Q+w-Ѯd}MT u8(𸐢' v^etS:vK]fk2.zeZv3R6IիIk{t5U&n햲oZx+ _(YM@5[-ޫXG_$dendstream -endobj - -15690 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15691 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15692 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15693 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15694 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15695 0 obj -<> -stream -HWko_q~}񱛤@-`"ѶR=/9(6" s3?Ƽ~}d2'&62ꂉOsgܧљm۬<$,Lrz9mfXv13Er'gvɻIr=wX3O*$3HYi&f5ڌ_M|L Wuѧ~;|nYz(~3[)b6I -V0IԶ} 93fRJ?ϙy")e%SREɩ4yEv#%0fEޭ%F,;NW=p{{>A}P#pG>Qρ\ρ\/B/B/B/R/RJ{Y J+U@k%,^b{1K@k%,^ցJYj@k%,^ցJYj@k%,^ցJYj@k%,^ցJYj*cv/1bJYڽĘKXcpZAk%,^փJXcpZAk%,^փJXcpZAk%,^փJXcpZAk%,^փJlZ1K@k%,^b%F,Z1 W cpZ@k%F,Z1 W cpZ@k%F,Z1 W cpZ@k%F,Z1 W cpZ@k%J"hĘKXcv/1fiUZUU0;8[%&9c>YӛuU+7yZ>jx{tg&Iږѽl|Xd> v"*RZhVPZhEVTZ9ʕVrUBi@PZ%*V JUJiU@Z.Zc֒Ϭ@*- r@)-TȽuRZ cRw !KiKY@KށK3,r/1f-{r/~xZ*^b<-{r/1瀖ʽs@KރK'5rA%ƓR  h{{ T=ȽxZ*^b<]i-1KkI&r@%sR h{DTȽxZ*^b<-r/1b}O1@K>Kr@%֒xZ*ӄf23Ձg'PtQ탿'l@݀r %Cc[q+-S8t&n0lb`~EdA;вŲngdiv4/I7#yW;CeCޚflLfYnPZmc;0~qiȯ*6үCͫs{}骾tYH.15 XyJ 9e-ڼ>%ҧzF9˲tqMyAɾelNqMuAr}zEOTW/Clf۴ɖe9wׇ,7=fhOΦƝFlƞ #\Gdyݚ7e~b>ԧ jq=nKӾKq5W/n12@ŋw`ӽ=;ثb}ָ,ҙMGs104)m~G<}ܒ>@9ct>Biѫ뷨-vv?P]3mkoe# -[e|R2裫ͮA"-{M}g F7tŎ>Ye.?I.oQۂ $R\v;zWYujL#8G G(*Ag qx -钼8A;!nN깧&ta]н=.o#cĘU -@+(Ҋ@+*ʁVr+hJZ*VJU* -hUJZr֒ĈeUZhY倖SZh;{1 h;{1 h;{1 h;{1 h;{1 h;{1 h;{1 h{{1KkIX cR cR cR cR cR cR cR cR cR c֒@%,r@%,r@%,r@%,r@%,r@%,r@%,r@%,r@%,rA%,%1bKYZ'*n\O3L>z;>{«mW(>u,z(" -ڢm2iHTw_ñ(K-0~"_ax`J2?\,3тa!9-p%m\[F7:kg>!nuDQE\NWgX>F\ÛbJ^*O9 .-?t.>N:kFLH~P÷4^BܟH`6D!⴬I/;~tg3k{l -IG"|_=$ 8UV,FR.JqŲIGuJp3}d -{T rʴfrg%@RD -I#2;s~H"&+ }gFU7[ _gF/ 6?l9&] -=EIu)e% -:sJy}g2I,d:l0Kj -kk/l#&ؙG )34??Gvaբ{[BnTAԘF)Y-EMtLkO}G"kM2q5*{@h 7eR -2e/o4 "SPyyEX))z*[w. "<SJ_Z\Z*fbRٲ=5!T@T Fg^R; Wonѵpʗed%GΝމ} ^/€T(!O. x~+u飍>CWlTjN$@{Tk}HvtCw PـЫNct \{6 ֹ\Pf "`7QE/MI;ȧ<j\HVۗmC|Ma͡Ggob\z_z-bڏћ^> >)eendstream -endobj - -15696 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15697 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15698 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15699 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15700 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15701 0 obj -<> -stream -H|WkoFN2d gD{H0]D{IHu{ ^ȩ\zwWU޾|]3QIlȨP{ORy/wͦi˪rһtm}].fV$T* S<@s6QwM^[ĩ!~H#iv -gկ0w2&0˒,s2ѡe$!OG1`iYCV$wy so{[e2Np{'w}$Hp1>bc}ǂO s>'}*OTp2>c3=JK3Bk),bZK1dqCwO1` Fh-Ő%g5Bk),CFh-ŀ%bܳCR Y{Z#bܳ<+b),CwO1dqZ!KpZkR Y{Z+bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%gBk),=kZKsBk),bZK1dqCwO1` Nh-Ő%guBk),C Nh-ŀ%bܳ:C R Y{Z'bܳ:Hh-ŐS XBk),b 2BrYy bYb*8+w~^ѿ/b5?g_Afa*&vAEz'__}嗳wiN!0mW&ylfbݴLa`3RkfJ+$Q(vo~ew~jvm˦wf='Vq<^MWl1Y|aEWjUvMWN~` 5;A\o?ZA#۷~_UYÊOS=ÉE$n_6mqb&g]&x&kMq{ (L'IlQ|5>PGǠ\Z `Gt7ˢzT7[ -֮i1/i%V-~p'ԭ\v=(,efKj LXsnqSTp9f㡳o֧ IiSY:bM?r=a v- tD: UC<]S~MT K tР|G$F'WWQF9›2s.6]? {dž#XuW>J1|i8v6q$jJSaUrS/4s${>>s> 0l7,i*찳4#OJa_Yx+w [LwŲg爭e8L"/8:x%Q`sTcXQ$HcPTȧ3#M~.-ߛ;:lӓ|Ku`m -dʽz|,ULEi2ڻ.%.kWM՟KpY3}I,~_=ͩwfΦ{:Bgm qi 7pU*<65|G=ǟe2%Ʒ⻺ީ缭qHn{v}Z5Ojm:-o5 07|d#;W<_/qZm;ZP#ndgBKqāzϑtd:x'u*<.Y/AZz%$oM߽߾\_1~XAe zV6 2z:hf -(L`1-'h9-Ǵ"A+bZ1XЊV,hL+Z JiVʴ2A+cZQ-r-!kQ XZLK ZiA0-#h!CroS Y˽rO1d Z,F=Ő%h!CroS Y˽rO1d Z,V=Őŵ(,!CroS Y˽rO1d Z,V=Ő%h[!CroS Y˽rO1d Z,V=Ő%h[!CrS Y\brO1d Z,N=Ő%h;!CrS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1d Z,{!kQ XB),p\qK~8:Ed#a8*&p*'l7Ut}ox - B":_wYgߔw8j6`[0FAftԔ+ak܌ہz{GY1/^ 8't6NFeSIR.y-!w7>ҁQΤAO+o=XcTݏ\M`aTn`q0xCn34I+.lV-֚WM[O?]8WZuj FOy6na_ ER_Џl4m(Pӱ[";#K^{"{qGCL4r{tA CG 󦯿u3goA۲'9^.7m؞ړ4q77Xn Kokx'I30~{xĹ4S4uK.ԦH\@ӯ]Ħ_z e+·UjkzV0hgR69\˶ٞsWEx3輰ဎhMwbиYkSvfa7=h6dR?'dtD]hK{x' >>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15703 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15704 0 obj -<> -endobj - -15705 0 obj -<> -endobj - -15706 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15707 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15708 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15709 0 obj -<> -stream -HWko8_ -(KtwbgPLM1Pd&Vk[KNHE=W7cͯw,n"&ScX"y\"U<>s9bqG7m7/ݶfgcS&]~ݬ؟"f)0IXØqj}IM7>*KJLj -x$O37aWo go<,c7 &ۃ9p\<_eTH*R6gD"k̲W}|uisHY]3`GZraH>p:c!ÐPyy^E^E^E^e^e^U^U^U>'P B}/E P_KB}ׄzׄ0"Nǐ1`1d} YzZC>p-'\c"k} Xk} Yp!P1`1drµ>,B}ZNǀEǐE\ k9ZEp!+Tc"\c -B>,µ>,B}ZAǐE\+kZC>p \c"\c"k} Ypp!PV1d -µ>$ZCVǀEǐ1d} Xk} Yp!PV1`1dJµ>,B}ZIǀEǐE\+ k%ZZC>p$\c"k}l)µ>Pp!+Tc -Tk- -.znV+x_ -=!5Y:L+7uo7o/ձiOvпKeϻOqꆱhWc&إިi..?;=7/yT_\glw0uSE By6ۮ}~ִj|KNk&ܥ` fЬaͽ|45.aoWZopBf*;}ԓ -/Y)0Π(;K1o_C˅ ﳿDt@|(H$ơv'wyX{,2`Umj2O31?.";gWcŠԹd+RZnCbN5±д/wҹC'~!<2SE|˴,b{m,U. /'5%KUyC(!IؔA8uA;7C[P.Tc<^L08O9wòxr>;t;:\ ^$g=[u[>A|k ܀a-3izSO:s&)0*1Mg /GSrqڧ~# p4~-+| n7k6xJ ?\Kb]EUORL.^7(%0ywݘ`C6>s /,s9ZzDR=C!AѼcU"ٷ twf*{VT҂:XTbVYuijLzס1Bycś3ût]-O{˷Cp%+9AƲtdvHZ22-kS!P-=Tfs)`:t7$rbVw-Ʊ - [G 95*qpIuc؀2966]3]繻:פ K<R1x{%Ki;gM.;qPs*R%s/.ͱ^e&͵5-T/ \~rz5V[k3R\c2gSnm -z*ePW` 9cW(^PsH1wUX߁^0784v}/1XX$SGg-oflǝ -ݬd&m$z_G(懾ICvFr P5Bdɰ̿+VbhH{՗80x-B7TYGlq(Sk{Qx>,O[U.o4Ru7ndٵK6/2p `%lkTDD(A]@xaQk]d c<$n0L,1,RϙF=JLRUZF<=r^ i2Wk.]d.mwX4$^Z)ktȾ攆 Q|D -q;ꁘ9|9[^Q6in[贰g$?]q[*m~P^&tcWۨLDр10Ue6vڷ[ؔXnUU4jk[2#WSf(5CTUUVMgZ7A=/V9m 6+sSVO"R88I }b3K~w~2-?'O`*U\DF-i"Q%,Is3|$ % ?p 4n"0 :˥ߚG*ϗh,+/[`S?Cp-}}rB6UBJ]Td䓸]+q\n#xe>2`pߜ I;%,ps|nmVaO>ݹw9!c}wO).+:כS'밀?}ԑ?F'V[l +.lx^*Y*%%_\k,xi/l:g2XTO6oۇP@|S(o5)o_;oݺ6;(k}_&,d"~OMFčSE#0`ȀP ,>4[:9TgPPoo;&;Id8aL/Nowsa^4F/&͆0Eeǫy^aXYjebso*50;>#'endstream -endobj - -15710 0 obj -<>/P 1214 0 R/Type/Annot/A 37874 0 R/Subtype/Link/Rect[93.6001968 663.229004 273.108002 682.908997]/Border[0 0 0]/H/N>> -endobj - -15711 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15712 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15713 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15714 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15715 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15716 0 obj -<> -stream -H]o6+x\DEM5v稙 -dKql>ACW'gF~=~|~T\4hN9&y=vWRV+{&_lbe{5pZ]jҺ߼v -,buԍͺ]GA%#<VnY#*k܎<ΗA_Y} }OwZP`:uJs,ԍ*230 )̀rS$C* uw (/{f{`}}`Q> -'>1$'fkf`_3Fo}#7̾f`} /=JKBkiPBkiRܞf@ R=kZK3{Z/f@ R=kZK3{Z/f@ R=kZK3{Z/f@ R=kZK3{Z/fK )nO3 )nO3=̀ZK3{ fH Ah-̀ZK3{ fH Ah-̀ZK3{ fH Ah-̀ZK3{ fH Ah-͖* -Rܞf@ RܞfHq{%fH Qh-͐YkZ%fH Qh-͐YkZ%fH Qh-͐YkZ%fH Qh-͐YkZ-UZK3=̀ZK3=͐ŔRu|.[5i[n)gw1MuuTw&W>㼻~:}&r2d:u0쫦$O8}\u;קSgC|~WP3G*BPZD5CѨ[asoWM?ބTL6[㭨Tٽ8*XkpyPna޿rm5zFliUMy)e7rM7~7 T`T0u46gisl1!VqS7윕br"g{?OY#C^j3[ƻ8+2l7[HtGMp>nll!|%xHՍhtjLS=lƕ -ޔ6q*s~lqsӳ''ْ WelT-!q9Wk4:fx퐏+( xyG&g /+riwZuu=UhŃIendstream -endobj - -15717 0 obj -<>/P 356 0 R/Type/Annot/A 44346 0 R/Subtype/Link/Rect[154.800003 666.190979 301.019989 677.221008]/Border[0 0 0]/H/N>> -endobj - -15718 0 obj -<>/P 356 0 R/Type/Annot/A 15729 0 R/Subtype/Link/Rect[154.800003 653.190979 282.960999 664.221008]/Border[0 0 0]/H/N>> -endobj - -15719 0 obj -<>/P 356 0 R/Type/Annot/A 44262 0 R/Subtype/Link/Rect[129.600006 628.491028 487.460999 639.890991]/Border[0 0 0]/H/N>> -endobj - -15720 0 obj -<>/P 356 0 R/Type/Annot/A 15728 0 R/Subtype/Link/Rect[129.600006 598.591003 487.460999 609.991028]/Border[0 0 0]/H/N>> -endobj - -15721 0 obj -<>/P 356 0 R/Type/Annot/A 15727 0 R/Subtype/Link/Rect[154.800995 580.390991 316.571014 591.421021]/Border[0 0 0]/H/N>> -endobj - -15722 0 obj -<>/P 356 0 R/Type/Annot/A 44173 0 R/Subtype/Link/Rect[154.800995 567.390991 353.260986 578.421021]/Border[0 0 0]/H/N>> -endobj - -15723 0 obj -<>/P 356 0 R/Type/Annot/A 44129 0 R/Subtype/Link/Rect[129.600998 542.690979 487.460999 554.091003]/Border[0 0 0]/H/N>> -endobj - -15724 0 obj -<>/P 356 0 R/Type/Annot/A 44104 0 R/Subtype/Link/Rect[129.600998 512.791016 487.460999 524.190979]/Border[0 0 0]/H/N>> -endobj - -15725 0 obj -<>/P 356 0 R/Type/Annot/A 15726 0 R/Subtype/Link/Rect[129.600998 488.091003 487.462006 499.490997]/Border[0 0 0]/H/N>> -endobj - -15726 0 obj -<> -endobj - -15727 0 obj -<> -endobj - -15728 0 obj -<> -endobj - -15729 0 obj -<> -endobj - -15730 0 obj -<> -endobj - -15731 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15732 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15733 0 obj -<> -endobj - -15734 0 obj -[278 0 0 0 0 0 0 0 0 0 0 0 278 333 278 278 556 556 556 556 556 556 556 556 556 556 0 0 0 0 0 556 0 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778 667 778 722 667 611 722 667 944 667 0 0 0 0 0 0 0 0 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722 500 500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 556 0 0 0 0 0 0 0 0 0 0 0 0 0 500] -endobj - -15735 0 obj -<> -stream -xռyxTE?\Uw}tzIB'$&$$$h -qA\Xń!8 : -3#2̒qf~(7!Bfyc}VݵԩS|ܞ7wA AN=ɟ M5avl:0~?Q1wO=mV,>3E[PṺ)&'ͯ2΅mrݬy ec+|:[5&,|>{&̚8:&Ͼy`S:P^@3÷!҃X8Jgrպt%!(}3?LQ=!;7Χ[>EJAHxꉮ#uTimhP)PPZZ_;j;@ۀ4?zaH +ƎEȉTvgW|aYgbWѢAJ ?&#~ bTx󁔻}n4Swx}(b&,>CV6[|'"m,l~RL;yK4@{}=wyߓ6 <}R6&goh#{[|Ep|tL/ <}6C93ؗk_2\ᦡC^OEQoAxKKhdnhfX~UtCJU$2J@~apW҄K0FQ/jEEQh/x/*= "׆_QO޹ȊDDK*܆i2y9Ƿ}|,ͱ=yH E D6-֗K} ES2^>r#M;4o4y9f:<57NphJYZڠϞ1bJb|b -G 3ff&<~:0yvpJy`|]S`~4ScS[c 5&ͭY5:>@ҨKifu)N=LH%8zmAMG E&tπ}'jEc/ˢ64;:ΣE8:֣H B8:C9hY(*E;hڃo Ϛ:^鸈D4 ф*C`2:1:Cv+n8H.+]ѱOp"R:ܿ AVx^דy9>JVV^ 8Ny̩Thd -o#|Bb0?H*E\b2w2n WIu8!EKu'9t] ˍCqm[a&q|_o5542#{ .3Y<n; >&Jw;;T3eh( MFЊ}m^;NkFFx|T<?u. b#n2L$H40.&Ȍe{\c9ZJvZb7wma㊸>Pn40R~- `^a Y_,aq2>݃&r<m؎' ]Jle2'H~h Z܉w|A l@;26B{2zÓSY0y [80euM&ppd5 OոSjjz}2}8}u aF`+ʌI={dʄUnn(w5k@|n>[SgeujdPT8 . pի=GVWv-QnèX6DO,o Z.T4DD9Uoj/sᢟ^?]5%Pbws K;c]Jd8pgqp?ԹrUpxzC%Am??÷u:F9<#nۻ ]W,t:Pᘫݬ]?Wwr8#*#E8=d&ZfC1, ԙۭh~X ~"4 ~ga|~|V8>+oOVȏp -lS@pbU=ݰ q7@~Dϯ*㴭6(7@^1-q n` ۟]]*ut%eR0$)if c9O E0f6d9!/Kc)7NYq/d"$2&_I0J]OCy#$?#\J -"{;A_9C(fʄpt Jp-Kr {T x!ϋse`c.e# AA/Q[yMh˯n7LuJ߹V=*{ ?D#s6-|/||漅e>e#r< $*46b3Ӡ;cI -50_7@x "Wq2jeڰUA#l8]VwWJ U)1\B`Ozby8 -@^5M|㚙zFz /@g4{4Ve\#E1i&Hi&QM2ٔweqgb}>tǼq٨c?JH^HYuO_>t[V&A7<42ϩPK]EF!AUsJh{!P ,ޫ /k zMF"bAqb O`Ă4 ylf7c=/x2L?͓{oA?ݶ,S،o*G1d/LlV;enq#{h d[ڰm>{bێI?~/gQ=7S#{c.Zj[XT@$TyzskR"x`sTLA) 57 -w%"[/pL1H8IoQ8@UP jaL`'F ":-8 ab(yjLRF ֋3 *<.?2.ZPv/ݿlx"'x]C0y .m+_Gݲ5/Q^m1bQ{mUFUj| 7]HM¢NT -ŨQ~jWr%بdQ -g/$}$W?D6;گP*K,c/+zBn9{_e]}C8DEC0 ,FŖ`nn?}Zjѩ17,߸3̵;ǞWM35>9%A˽}ذ*\0nRV)ڔ|_1 -HH̰~R2>3Dž`&*(,a`8{ + ]1F9,~VPk֌1}H<-vTjC{H\fKq2Yk qW3{18dMZ繍ZPXM`3&k_\X?;q2N̤pT%{/,'GC±dfa1Yh #t<^Qy#"嚮 -:SPHImwOY0Ba2ڝaΦa)$Ze 摀,SXV.ɥ_ whhcH ݖ2dNᤚoavKE3ݵ/~3mc#52H؎ DсboXFn)2+<aԽ, -/zL)g~EoH0s\\-P/䶅LamVYHcgcAP1a]tFHD' ($6I"xOۂQ`S_ ^k88߿'O:+߼|WFo GޓNI5O\~ؖ_qŹ6 (nȉi1_ad* MLN&u8WBn@[ !K8ԋZ+$ -* f/eJ-4"`0 ܔ;u]z 3w"7Dydd%6k8'':&mߙm6Phh,Y𲬊˫J&j5AtRpj1mV Y\G{z\%l'tXpy}v#k';*푴Mh>< - -TZ(:kNd 'Jk!㙧5'S?3~gq+rx[Wc-VF?˺JtV]7xMFEXDM/"HAklÃbzb!3:Cmxځى -&+qJ,#yWQmj%+K Gl6& ǪH!*ϳN%w?^i1R.YsЇߒ3/ޕKWC=vox΅sD bDVS!r՚mz+Znd4(B'@%Ϟgc䮫HS| (OdxG@lHx -s̞Ypٳp%2;>cf&T^৩ -k$'Y!eHp-mx[:b4 ز  ,iarYS߿3<=ځoO_hV#T΀ :\UB[lb j%S?) 8bD&dAvq,MШ Wa, VJgydw _ i؊!ixt:e;KD4wN-S l`zMg<)|z)o|u6ʊA#^I@=bF´SNP#҄$X[OׇC7 1oXM9V0V`> ʥ̇J peTS,T1%a0,B[bQq5&q&0S|jxq~t2O`VNBX~ i%4rC2%'xZ;w[;D9 -"@"܈=x~;R)i,:wZp3)܂k)'ɽ YaT Ec\\A㠍89?*" -{cjjm)ȡRw[*ZTĂָmtbm3twqTz,j?kw@7#2^x'n:֣?N7'ZzW/A&nʘ8,e^wbSC|Qآ徹tN:t})S?Ez\"޻"A?97!7]=ݸHVufV^::*EլlbV&]Lq]b[@Ix&\YoV>4,,O׬͙;ý|3q*S:> "fi봋quO̷,trqE\8]NaFr[kA,@44L^ShJNF9`ɲ&HAOF}ZIZ '@Iؕ/Ua]H%_arAe ^.F"w&fH#6 R`˿! zXb#~9Gsb, ˏ>[*;};XU8]/= *! "k>ip,}&tқ04r-q=3 -tny!'ZB;V s͌3-Lk5acrȋ -U%C_d馻)b8Q?49 -A:UqӨ )+Ȧ>l}mYyc*׼0Ty5YGFe̸Tjarb43E^Xٞ5.lWNpnéS=劯]ebRt`8 T'k$+fv-Dj`)mOJJNR2۾œef^iD IhϞ{6@ Eپa -e:ftZutg #໔nrT8fsjȚgH4C" pzg.7ɗ\{vq:UpHF7B"k%^6pdQ$]G(n ˬMjY-#R9.+N:ΖA?5;˺B]?|̟n!’Ol[Jw7}W_zSL*vk+s{tW~sbދŠ -A5„8SO)N~sMA+/=+ޒ ܱഠ 89'tI,h"\QWXլv2;lmj7&0ְ数kbL˼wd5`FZ|>oیm=Ǭ~ZX$1EVX7>b= A0zدB(/1#axtl EF* RTC2*QyJ]&ԩV -aiY/lV&;=*JQ1Y%r!XE`ORQ«9@D-\1a(J -jf8 .U\ ޘ\iU@0,|lB cv#q^,'l& -/:a+B!&GYwesv񤽑f'Τ9AD[O`l -=/KF{)%tZ ˅ -Rf ;֓J UDU@ -Ba,Z( -D <dCFJ &CF ! <  J)U©a0mmX} @YO!!a#[RB(RߴI}h6m>mbİDnpz stJ d;29Đڢ #IXJUdReՄDa NJ@*eȡ@_ۚs<'g?hWC7;Im|t -\MzEvWmvv'ŅD3yHxxl*.ÔO1>U$|e77?~[iw+c -9H)]b(.Hҹt.zyY.|%w,^ٳK_t.r7νE -rjq?1C :M#԰:hsDǙ-Zbcf1ʼn2iקg}/.U N $6[=E XXU!a{6dʌC [pHrq8‘;h, y"`GFaz׋0>zެgyu(ɕF~ cGaHeцaY6 .r)hjk̲IMK}48-n @2rd/0i0ߨ-Goi/ܖ5bQgsTс [9s>©'2aI:3 VظaUwH,MJu"7*0k5Q0>-^7;iK"-:IFb;f^dN߼WdۡoimY+˽ 듙kwA[*f.XC!EXXّvإĚ=L)S<ѣeɰfpΞjmD'q;2{4@Q _5 Ђ pWӫ2$7FQ'$6tZ&I -+Ή:rrG -c$MS/PB :<0.'oGl쾿hi"~/f7-yE#_?γe}gSaKU'Gfİ-wm~XӤe$]'SNBLA5M6b/E ZIQnIAV ҉̂٢xy2ExXΘ827qVP_ Pl|8yz3T Dd"\ v̏oX0xFI]SMNKNv,c,;6194 6Py$  cOI,a8ڐN0dzʞY^I> [[eK5~\6x'{Z^ n -M!M F0sю ! E`Y:~zJN t+"Hð%00&,%I%'Ke$ꠀ++iDa1IJ= q>%i*Ijٸto|"q۷ -Iמ$)ir7u 5 W&-G|XbA&ڴ6]DڮrVMS!t( k <61&eÐřBqD۰f[vF )tJ톕)7IuK,fN%OthљCf<}ș2{V6smɽKry氵;O=vY֙vm4z{\,',o#z~l׃xJS(naOq L[dbKh0hWOÒ⻖B%+xﲽ]㐧XtW+ 719dZ7gz=,t176Sˑr6O[_bw;m^" jQ .EbV9'.ݛP^V0[H 6q)0WHD+dy> E2F1򞃏a u響cyXcø\&i\z]?Fzikaq^nqDE۠=Ak=nUDd%Xׁ$#okrVa6\0 - vhÈmEmljQ'D9t%'xKU݆ ysg!HۼhDEp7?0fh ť7ܕ ib%яr -Uj.棢ƨ<~3ʪشXN@MslkfgS;[50qA>Hsȫ6i44ѩs dhy26mN{_Mn^x鸝6>R> -^(71xC_'t[,ašeh:"fPN4rMmHԡkG2WғqhOb]!jřݣwW> *p¼ΐMKdw0pFB&ni&˦T>*+#D&O /R/,% ab ~ln%ݜթR"$M3t{L؜Z=Pf [[hXDYZ_DE2=Zlc$FEzeBډRϛ* (u0N'a @/a!E .r#s%P I#J@U-x ERx"2U^N׫d,f(LUW,51W+wM;rc?f#{pN]plgac{sGE2xIڱu+:LO=vmGl7W5Z/XkJ%HNAE\B ͝i79NFv}lPkB8λdif_ұO<>Z(4Z4rj:A _3Ef>c& -hv( -i(9vnw7CV98VC3&,܌ d& !\k=$;m7#iIhD]c!kz#VO^p֋eSNCu7+h*H;[Ng8q@(])EvIdl -NmbYF`iᘗk -Ć;Q^0eL-epHij}egDO/4X$zqؤ$ BN Bqs{j<}we`8tqi>Dlbꮝax q!Jvr[$pV|SyV*(EbrjZJfZ1c(xl1.fÏ00,7 섁 -|Po .D.~RsqH3K ~$f0= ~$J ͖/M%'neXf|k̙V(ȫwϿ٣>8* ,me_?T^;0S -QO<20@<<Xtٻ;s4ŅmR`\ڈ]x)5E\ZstW4@u|oYmYiigPh2V &dhhۅvYUhv–sorہvy%G9fɢV<aV:Cޤ~ -؇QC[:/1a#ޛ2†;YFaL@ft#8s]9<ķY˯[E 8~xbֆof>;SJށEI6sWŧ١ Q^ -L++T-4~ΧБN$<&-jf h2DeZET9X^^.r-e4.oeW{k}]F;vXhknQG(f7-' Pa\yL廾q2>2}}u"]ǀtz,jSM4A>C> B(P!PP5PB@v2 "( -TTT Th%&]@m@g> 0LE - Ч@~@E - Ч@~yFE -;:?A]y=)uʠo9޳[^xvrN2[VV.Vr=~K[orY2dzt̟ʕN-e|?xn!CoV֭L> -stream - q /X1 Do - Q q endstream -endobj - -15737 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15738 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15739 0 obj -<> -stream -HWێ6}W'.r!v6XINv_=VZ];H}pXuC7Zw7?K!EFVE.ky:-N}oqhx(/n5l?/iv-N_xlnV %wM$RD!d}zkǃN.|՛Z9\q A#S |ߗæ\ #qKN) -l$=1gHM4"ɀ} `DG9DQT$!NG1`)U,ǰvjfJfJaԛJaԛJaԛJeJeJcԻJcԻJcԻJgJgJ}Ǩ*wRRRRgcZ͸bȪS Xk)Z=ŐUR Yʵq-ŐŨ\R Xk),F}Z͸bbWՌk),ƵCrf\K1d1+jƵZ!Q_V3k5ZøbȪS Xk)Z=ŐUR Yʵq-ŐŨ\kR Xk),F}ZøbbW5k),ƵCra\K1d1+ƵZ!Q_0k Z˸bȪS Xk)Z=ŐUR Yʵq-ŐŨ\kR Xk),F}Z˸bbWk),ƵCre\K1d1+ZƵZ!Q_2k-ZǸbȪS Xk)Z=ŐUm - f}òY[-X5!AeZiaul}xߟjqV%\D? B+/Ng/+[-mY0+RǮ J+H; m^fu8î(qV(kFU}Яp]In}0׃OMT&1a~?]8כ8aonmdqjRL :K%h[\%V [3i|\2ڶMԆt-`;ݱ'1|aa|S)t$,k9plv ݸw`eMsʀj[ ͮ'ׂe|TH͑d;FRm$H6Q^mT )_( yQzw\}2SZV:?U*gtIC$HVǼz%eZſX=vW_>mVpx -b7c<ݮDH4| x0}̓6w4|٧ﹷ0J7sA:ͺ\E>m+dyϤXvE2SɬH$ YUO$UO̢E̢}J -)Y?ݬ!@xӡ ywN}:wg4Nٝ)g!(> ɲHD,P]3 -IߡpR9xNU/Q0wF%W*s#(m]f=ee_ -eY٪3վbY)+ UZT}ـ/YUmt:tTՆ#j7_pNܪK'.c-<]:fÒagf(-_r|/xRNl)G켔2[ rDK9aRNl)G켔2[;/Zy)GdgQݟZi<??]C -8q˄4=lgKb8qg9Xz bvյ)V:r?[xU-wo^#kQ\6vPa/ƒp/Ws tklpUd{&CV -+孏i(4Vs_aO7],J iҬv~#Vӕ -p9~:X==yŰzL =w1[+0P {߫k)7ߤ". ܤS( -Ȁy -^& hAx=<k)Yo03LFNCI J<9B[2* X{zvÏ0*~sQ5Um0m^M[Q/7\RPhV:_dS«Jf+tZ7RspiZ5{IUR\khk{[@ ;U5VШ;Y;=="em/gP]0P ? : -.YnUkN3e.G[]  'Ehvop(=@[tSޟ`gZJI5-$՛[4cQFPShJWAlq>H%L=0um0kkт#~:8"_ptҜJ是ly2OJkwx]Ž'G@#k̪jwq&tOWS1; < Hͼ+TOм֌tR.FNeU%,I /D YCd叶g6|ĕMLh zklNz|~WV1NԵ BSK?32bZ0gשB@㌛W /endstream -endobj - -15740 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15741 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15742 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15743 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15744 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15745 0 obj -<> -stream -HWmo8_ -2^p6ݽCqhBe[]KYr쯿z19nQ Gw*N}Ow޾5ßm+*ԙdD2-S| w0wy(|SUZ*{ ]ܯ"BAa0gYHfuK)e\4r޼: RTؗ' j@ -b6.L/!+~0e„  O/!ȵ}L`x,=C>!J(;>y(A{A{I{I{I{EW{EW{M{M{M`x}O >%ا`z3}>'`iu}u պ>D]պ>D]|Pj]jZׇ(ZAPCS TET+պ>@u}"{j]jZ(BQ{OPCS T@u}ٻ>@u}ٻ>D]պ>D=JBQ{OPZׇ(ZI!`Vu}"TET+ պ>D=JBPj]j%Zׇ(ZIՁ"Tw}"Tw}ٻ>@u}"{Uj]jZ(BQ{OPCS"TE!`Vu}"{Uj]պ>D=*BQ{OPM!gE!gY*\*[/2jYpy< >Y&IS o@=J|^>N#N]CcYegfc~?"0rZ Cr^ - &u6.moV_[ZUT̬o-iict_jΫ9%6PcROB3$FN ,1i V,#i|i='jKA9-uq/)r%fRc$45$xеZzwwnxVJSF$jϽaE1˴4&j!R#>¼"GY™z;s.zsY51cڦ nx뼢"F{|M8 ]FRՐL7E*ZWcm0vH6O& `̧!:I^|p+T@>lڲn4tX6y&7̭9V2^P/ fc솂ޔ+=. v!ڹ`hs7 qa5)[L~ZO}9zM)fq9} fVi}).ǛRs _tWXQ.jm7Ydǧo֟)OE"f5zuÇ帹 k1h]^Ra\M0luSCEmcw2@%&B/Uoź/RdM_=cƔs+Zl g(#u3m%L[^.x  uصk_w ;oDm]^ 3_ (q2V847Tf|-OԿZ)OvtZ;/>B,\%^ Y4/ xk0eӝR%>\S<*NSA -aXGkhtŶ4;FjS\g> ٪Jk㖹 zIȟٕ5Ԭx{esƗpiZ§24]@?g[uɜ\tGُ:Z8c"QN/_L8| ,ϋ+; ]nNQϕaXz6t4ιi;b0`+tM?nWw~+ g*g!q8OG41|:\\=UnC$6LlK -X1-T25 Ca,}h U򇧋ew>>ZTp..l㿆J]w^ڰ9ןm[[OPlӽZp04x|9i)+g45pT".J!hz|Zf9SebԵO6MЬ&7-MaT)\(xJ`ϭe]-RU6/ fOl OMcG9e905SIfJ)0e?!ApD|Z?$ş(<8k瀌LqmTbব0ȇM PęV>uFI\at)l'|y[ZQCO(DG~g O**KDZ0&A涨J4ڷQP &I4EO -1+8V&tKG1OG!9zUVK ycFiL)RpV -*Ͻ?KYNNb.UWW8`>#p3Nb(\$1{˟+i:')-l`BL#߬O4RM%\#C-3OɱQz]# Va7dUUu~zSj/=5n)BPPnZNZG:P"L:KG8]oR7e-۷,'ocH ƮyC5҈?=v;O"az28ވizELo;(EOEJ #X٤^djG瑝@Ta\q>q9=+j̤>gχ Уm˝_?8g*hpA`M.X? pPYtZt+m*Ϙ!y!Elt IeʺI!2 ._νAU ڬ>7}ȁO tUk^6D8J k^@д$&uC3-oFK1ɊaBAxAc}-#ۥa?>, {}g}\gP˪secEr`Фo9Ǎ?Ф0_@0(kKF;wEh"P&{O[.6CaH-vOd?Q&Bf@E8pO?QJhѹo -Y,[!&!"aRue֘1yjh 3ٶ5ņ>h7&QyH]"" ?R*RWt8h%a@|<;gх]D -+CR:>ECe˿Ty0gQ]LDC66B_ -2@y˗w=!8alH#T-!eounssYIW #E}KfhVw]q~sTG׽<wKo[Ь}[GQ'F}Z<Đ(yD"f Hbt:h5 7ZE5,yVDg lވ{ )J62x>V1U&aǔdʎ)]dQu$^ -5Cat>ms?b-zj].OG V`bLsiO#:܄ecgK걎4.KD9+jgC9_kwx\E!Xq-W=5UH-.'گM΀:X2hv=2;AB4%jѢ`T vޝuGŀ*`-G5X65pg$bWC$A>Z!v\[ѿOz޾ۢ  BbЧr.׭ nu> -endobj - -15747 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -15748 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -15749 0 obj -<> -endobj - -15750 0 obj -<> -endobj - -15751 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -15752 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -15753 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -15754 0 obj -<> -stream -Hko8W -@fR,:T3dl'MJdGRwQ-^f=yݻΓ&Sf rIT&R͉"Ul7N(yL)Hrz/g%?,7bŜlㄓ]~Nٽ L Pb*FC32]%"=UjVQFipiB! ->&";a\C7_ɗ?)Y -r7&ܿĚ2$VklaTD0Tpa TŪ T -Qa T=GyD/z ^DDeD/z+^E -WBUDzk^G7AMDozg}g}[F<ӆU׆1׆1ØSa TkØS!k90T}Z6 -qms*>r-G\Ɯ -\׆1P! cNGkØS!k90*ĵa̩ȵqms*>r-G\V@\Ɯ*cB\Ɯ*cNӇ1P! cNGkØS!k0*ĵa̩ȵqms*>r@\@69BV cNGk׆1B# -ĵa̩ȵqm[%qms> -qms>9UL@69BV" cNGk׆1B#Jĵa̩ȵqm0T}Z69BV" cB\Ɯ -\+׆1B#Jĵal(ĵa̩b0*ĵa̩b0T1MPs*y?MNSF>$Y6D/{hN7~ޏH?6 8#6&])W| RSk|_lD)sLhJ4Ej T ѪdjMP(́X#PW2yەbLd"&i -GT=Ez]䍢adomޔWۓlj8\ Z{zn/qRlOX6ڬWzO^fbuDLAarzvYtkJ糫gΣ*WoO<PZob_P,Thxpʼ=-NmJa7U}5{WF{9İdp bA Y3>?.xDgj.Tfdӿc%5NP=b6כ%5`hKy/k~[?AVa}?l3?tcr_Wz5{?PW#/ =EHb¬l(sqX}Jf - LaSxH֋ 罡M1vc2z4X2fv٫ 3"a{ ƤVJtcQɁyQ+AY i{|3TJ_FlLx/? x2xbC5>׌Guzy|xvv&OS ˞F7gg4z,B4n*\"hB5.ܕ …gh9Xz=[ov<,'I#TNæ٦_0NY/h(sz+$R` -0w2v7w'x}}-mYw2Vv;rU|ζ?Ncqؽ:9"V6vyޱ<\Am7WKϵ_wUW6,r9(\w{~>g^B͠WSuu58N]krIk nǦTi@#wL2nx7QÄ4y,"LN E&&_ocrqdwmxx7z~~ou z&cL0@QaZ*Xګ{Mr> a^4nmNe:7}q -82̓e-gQY9*Vݬ\T+4Cf[)6Y>Ӄh;)Ӎ7ۿ/2'}v&ż>L1ʲLMk gu^]6լQw`DZ˿R_0<ܒ71mnMhPyO1w^еbu _ҫmW1 ߤa@]6b8Pl7h}/%^*E2^I^{.K9Yhf(T ÓUW~ME/p -Lδ 8gCК+>'x(Щ1O~NT[qI~n#xAUȕζG2.DPxGVbx'uG\Q^G̭Pj$ZדYD2ח\z$ciTi*|k%h'&gx]a`&5K>~mK+bg#R-ziaDl7CeW||_Ք+abU&0*zJ@UVk?k!&Q>`su O -*&7~n4d3`>:}\^$('nwұi$\9פ >4!ã#Ҫ6=*֑Xih2 ihqv>SFMѡ sS4i2I+#$+>:[/uo< :"~Qazzo8OXFl_l[c\$; s]c?>ET B <ͦgSiy.kyZmEvfI=-ghBhF -iG{?LSw\W˻~\g,D7y&ff{hfW@iC39ѺrV&0I֋7I|4XfA<:Z)T(D'ǗwlsrH}eX5V}Dz̥+/uQTn77rpXupa/x5gHn -Y!!I !b!H `\")CX)z}0*Wp2K@wA,3k^ʼnRljHS=u v͞a 8=B7^tlTofV4a@ ˢ5JY@}p[ m8ӹO"]44=m@Dt>T*Nfcu+٨-w/^w|VAl -dl:J Bc$ qL Qq1dI8ud"WȄDɎd>ّ$>DQч9U&t0UTh'HkVzW`8?^|`endstream -endobj - -15755 0 obj -<>/P 7234 0 R/Type/Annot/A 37906 0 R/Subtype/Link/Rect[202 670 216 678]/Border[0 0 0]/H/N>> -endobj - -15756 0 obj -<>/P 7234 0 R/Type/Annot/A 30138 0 R/Subtype/Link/Rect[218 670 230 678]/Border[0 0 0]/H/N>> -endobj - -15757 0 obj -<>/P 7234 0 R/Type/Annot/A 37894 0 R/Subtype/Link/Rect[197 660 214 669]/Border[0 0 0]/H/N>> -endobj - -15758 0 obj -<>/P 7234 0 R/Type/Annot/A 30054 0 R/Subtype/Link/Rect[215 660 229 668]/Border[0 0 0]/H/N>> -endobj - -15759 0 obj -<>/P 7234 0 R/Type/Annot/A 16097 0 R/Subtype/Link/Rect[231 660 247 669]/Border[0 0 0]/H/N>> -endobj - -15760 0 obj -<>/P 7234 0 R/Type/Annot/A 16045 0 R/Subtype/Link/Rect[248 660 262 668]/Border[0 0 0]/H/N>> -endobj - -15761 0 obj -<>/P 7234 0 R/Type/Annot/A 16022 0 R/Subtype/Link/Rect[264 660 276 668]/Border[0 0 0]/H/N>> -endobj - -15762 0 obj -<>/P 7234 0 R/Type/Annot/A 16018 0 R/Subtype/Link/Rect[190 650 202 658]/Border[0 0 0]/H/N>> -endobj - -15763 0 obj -<>/P 7234 0 R/Type/Annot/A 16014 0 R/Subtype/Link/Rect[199 640 213 648]/Border[0 0 0]/H/N>> -endobj - -15764 0 obj -<>/P 7234 0 R/Type/Annot/A 16009 0 R/Subtype/Link/Rect[215 640 229 648]/Border[0 0 0]/H/N>> -endobj - -15765 0 obj -<>/P 7234 0 R/Type/Annot/A 16006 0 R/Subtype/Link/Rect[231 640 245 648]/Border[0 0 0]/H/N>> -endobj - -15766 0 obj -<>/P 7234 0 R/Type/Annot/A 16001 0 R/Subtype/Link/Rect[247 640 264 649]/Border[0 0 0]/H/N>> -endobj - -15767 0 obj -<>/P 7234 0 R/Type/Annot/A 15996 0 R/Subtype/Link/Rect[264 640 278 648]/Border[0 0 0]/H/N>> -endobj - -15768 0 obj -<>/P 7234 0 R/Type/Annot/A 15991 0 R/Subtype/Link/Rect[280 640 294 648]/Border[0 0 0]/H/N>> -endobj - -15769 0 obj -<>/P 7234 0 R/Type/Annot/A 15985 0 R/Subtype/Link/Rect[296 640 308 648]/Border[0 0 0]/H/N>> -endobj - -15770 0 obj -<>/P 7234 0 R/Type/Annot/A 15979 0 R/Subtype/Link/Rect[207 630 219 638]/Border[0 0 0]/H/N>> -endobj - -15771 0 obj -<>/P 7234 0 R/Type/Annot/A 15973 0 R/Subtype/Link/Rect[222 620 236 628]/Border[0 0 0]/H/N>> -endobj - -15772 0 obj -<>/P 7234 0 R/Type/Annot/A 15970 0 R/Subtype/Link/Rect[238 620 252 628]/Border[0 0 0]/H/N>> -endobj - -15773 0 obj -<>/P 7234 0 R/Type/Annot/A 16017 0 R/Subtype/Link/Rect[254 620 266 628]/Border[0 0 0]/H/N>> -endobj - -15774 0 obj -<>/P 7234 0 R/Type/Annot/A 27557 0 R/Subtype/Link/Rect[226 610 238 618]/Border[0 0 0]/H/N>> -endobj - -15775 0 obj -<>/P 7234 0 R/Type/Annot/A 16008 0 R/Subtype/Link/Rect[202 600 219 609]/Border[0 0 0]/H/N>> -endobj - -15776 0 obj -<>/P 7234 0 R/Type/Annot/A 16004 0 R/Subtype/Link/Rect[219 600 233 608]/Border[0 0 0]/H/N>> -endobj - -15777 0 obj -<>/P 7234 0 R/Type/Annot/A 16000 0 R/Subtype/Link/Rect[235 600 247 608]/Border[0 0 0]/H/N>> -endobj - -15778 0 obj -<>/P 7234 0 R/Type/Annot/A 15994 0 R/Subtype/Link/Rect[207 590 219 598]/Border[0 0 0]/H/N>> -endobj - -15779 0 obj -<>/P 7234 0 R/Type/Annot/A 25936 0 R/Subtype/Link/Rect[197 580 211 588]/Border[0 0 0]/H/N>> -endobj - -15780 0 obj -<>/P 7234 0 R/Type/Annot/A 15982 0 R/Subtype/Link/Rect[213 580 230 589]/Border[0 0 0]/H/N>> -endobj - -15781 0 obj -<>/P 7234 0 R/Type/Annot/A 15977 0 R/Subtype/Link/Rect[231 580 245 588]/Border[0 0 0]/H/N>> -endobj - -15782 0 obj -<>/P 7234 0 R/Type/Annot/A 25821 0 R/Subtype/Link/Rect[247 580 261 588]/Border[0 0 0]/H/N>> -endobj - -15783 0 obj -<>/P 7234 0 R/Type/Annot/A 15965 0 R/Subtype/Link/Rect[263 580 277 588]/Border[0 0 0]/H/N>> -endobj - -15784 0 obj -<>/P 7234 0 R/Type/Annot/A 24966 0 R/Subtype/Link/Rect[279 580 293 588]/Border[0 0 0]/H/N>> -endobj - -15785 0 obj -<>/P 7234 0 R/Type/Annot/A 24903 0 R/Subtype/Link/Rect[295 580 309 588]/Border[0 0 0]/H/N>> -endobj - -15786 0 obj -<>/P 7234 0 R/Type/Annot/A 16005 0 R/Subtype/Link/Rect[151 570 163 578]/Border[0 0 0]/H/N>> -endobj - -15787 0 obj -<>/P 7234 0 R/Type/Annot/A 24232 0 R/Subtype/Link/Rect[190 560 202 568]/Border[0 0 0]/H/N>> -endobj - -15788 0 obj -<>/P 7234 0 R/Type/Annot/A 23436 0 R/Subtype/Link/Rect[197 550 211 558]/Border[0 0 0]/H/N>> -endobj - -15789 0 obj -<>/P 7234 0 R/Type/Annot/A 15989 0 R/Subtype/Link/Rect[213 550 227 558]/Border[0 0 0]/H/N>> -endobj - -15790 0 obj -<>/P 7234 0 R/Type/Annot/A 22656 0 R/Subtype/Link/Rect[229 550 246 559]/Border[0 0 0]/H/N>> -endobj - -15791 0 obj -<>/P 7234 0 R/Type/Annot/A 15976 0 R/Subtype/Link/Rect[247 550 261 558]/Border[0 0 0]/H/N>> -endobj - -15792 0 obj -<>/P 7234 0 R/Type/Annot/A 22048 0 R/Subtype/Link/Rect[263 550 279 559]/Border[0 0 0]/H/N>> -endobj - -15793 0 obj -<>/P 7234 0 R/Type/Annot/A 15964 0 R/Subtype/Link/Rect[280 550 294 558]/Border[0 0 0]/H/N>> -endobj - -15794 0 obj -<>/P 7234 0 R/Type/Annot/A 16012 0 R/Subtype/Link/Rect[296 550 308 558]/Border[0 0 0]/H/N>> -endobj - -15795 0 obj -<>/P 7234 0 R/Type/Annot/A 21402 0 R/Subtype/Link/Rect[190 540 202 548]/Border[0 0 0]/H/N>> -endobj - -15796 0 obj -<>/P 7234 0 R/Type/Annot/A 21344 0 R/Subtype/Link/Rect[212 530 229 539]/Border[0 0 0]/H/N>> -endobj - -15797 0 obj -<>/P 7234 0 R/Type/Annot/A 15997 0 R/Subtype/Link/Rect[229 530 241 538]/Border[0 0 0]/H/N>> -endobj - -15798 0 obj -<>/P 7234 0 R/Type/Annot/A 20538 0 R/Subtype/Link/Rect[249 520 260 528]/Border[0 0 0]/H/N>> -endobj - -15799 0 obj -<>/P 7234 0 R/Type/Annot/A 20116 0 R/Subtype/Link/Rect[222 510 234 518]/Border[0 0 0]/H/N>> -endobj - -15800 0 obj -<>/P 7234 0 R/Type/Annot/A 20088 0 R/Subtype/Link/Rect[231 500 243 508]/Border[0 0 0]/H/N>> -endobj - -15801 0 obj -<>/P 7234 0 R/Type/Annot/A 19668 0 R/Subtype/Link/Rect[209 490 226 499]/Border[0 0 0]/H/N>> -endobj - -15802 0 obj -<>/P 7234 0 R/Type/Annot/A 15967 0 R/Subtype/Link/Rect[226 490 240 498]/Border[0 0 0]/H/N>> -endobj - -15803 0 obj -<>/P 7234 0 R/Type/Annot/A 16011 0 R/Subtype/Link/Rect[242 490 254 498]/Border[0 0 0]/H/N>> -endobj - -15804 0 obj -<>/P 7234 0 R/Type/Annot/A 19053 0 R/Subtype/Link/Rect[202 480 216 488]/Border[0 0 0]/H/N>> -endobj - -15805 0 obj -<>/P 7234 0 R/Type/Annot/A 19028 0 R/Subtype/Link/Rect[218 480 230 488]/Border[0 0 0]/H/N>> -endobj - -15806 0 obj -<>/P 7234 0 R/Type/Annot/A 18967 0 R/Subtype/Link/Rect[193 470 207 478]/Border[0 0 0]/H/N>> -endobj - -15807 0 obj -<>/P 7234 0 R/Type/Annot/A 18950 0 R/Subtype/Link/Rect[209 470 223 478]/Border[0 0 0]/H/N>> -endobj - -15808 0 obj -<>/P 7234 0 R/Type/Annot/A 18898 0 R/Subtype/Link/Rect[225 470 237 478]/Border[0 0 0]/H/N>> -endobj - -15809 0 obj -<>/P 7234 0 R/Type/Annot/A 18860 0 R/Subtype/Link/Rect[190 460 202 468]/Border[0 0 0]/H/N>> -endobj - -15810 0 obj -<>/P 7234 0 R/Type/Annot/A 18840 0 R/Subtype/Link/Rect[161 450 175 458]/Border[0 0 0]/H/N>> -endobj - -15811 0 obj -<>/P 7234 0 R/Type/Annot/A 18809 0 R/Subtype/Link/Rect[177 450 189 458]/Border[0 0 0]/H/N>> -endobj - -15812 0 obj -<>/P 7234 0 R/Type/Annot/A 18770 0 R/Subtype/Link/Rect[199 440 216 449]/Border[0 0 0]/H/N>> -endobj - -15813 0 obj -<>/P 7234 0 R/Type/Annot/A 18727 0 R/Subtype/Link/Rect[216 440 228 448]/Border[0 0 0]/H/N>> -endobj - -15814 0 obj -<>/P 7234 0 R/Type/Annot/A 18701 0 R/Subtype/Link/Rect[197 430 214 439]/Border[0 0 0]/H/N>> -endobj - -15815 0 obj -<>/P 7234 0 R/Type/Annot/A 18658 0 R/Subtype/Link/Rect[215 430 227 438]/Border[0 0 0]/H/N>> -endobj - -15816 0 obj -<>/P 7234 0 R/Type/Annot/A 18645 0 R/Subtype/Link/Rect[190 420 202 428]/Border[0 0 0]/H/N>> -endobj - -15817 0 obj -<>/P 7234 0 R/Type/Annot/A 18627 0 R/Subtype/Link/Rect[194 410 210 419]/Border[0 0 0]/H/N>> -endobj - -15818 0 obj -<>/P 7234 0 R/Type/Annot/A 18594 0 R/Subtype/Link/Rect[211 410 223 418]/Border[0 0 0]/H/N>> -endobj - -15819 0 obj -<>/P 7234 0 R/Type/Annot/A 15969 0 R/Subtype/Link/Rect[227 400 239 408]/Border[0 0 0]/H/N>> -endobj - -15820 0 obj -<>/P 7234 0 R/Type/Annot/A 18536 0 R/Subtype/Link/Rect[165 390 182 399]/Border[0 0 0]/H/N>> -endobj - -15821 0 obj -<>/P 7234 0 R/Type/Annot/A 18486 0 R/Subtype/Link/Rect[183 390 195 398]/Border[0 0 0]/H/N>> -endobj - -15822 0 obj -<>/P 7234 0 R/Type/Annot/A 18459 0 R/Subtype/Link/Rect[179 380 191 388]/Border[0 0 0]/H/N>> -endobj - -15823 0 obj -<>/P 7234 0 R/Type/Annot/A 18424 0 R/Subtype/Link/Rect[193 370 207 378]/Border[0 0 0]/H/N>> -endobj - -15824 0 obj -<>/P 7234 0 R/Type/Annot/A 24296 0 R/Subtype/Link/Rect[209 370 221 378]/Border[0 0 0]/H/N>> -endobj - -15825 0 obj -<>/P 7234 0 R/Type/Annot/A 18331 0 R/Subtype/Link/Rect[223 335 235 343]/Border[0 0 0]/H/N>> -endobj - -15826 0 obj -<>/P 7234 0 R/Type/Annot/A 18294 0 R/Subtype/Link/Rect[207 325 220 334]/Border[0 0 0]/H/N>> -endobj - -15827 0 obj -<>/P 7234 0 R/Type/Annot/A 18231 0 R/Subtype/Link/Rect[220 325 230 334]/Border[0 0 0]/H/N>> -endobj - -15828 0 obj -<>/P 7234 0 R/Type/Annot/A 18191 0 R/Subtype/Link/Rect[232 325 242 334]/Border[0 0 0]/H/N>> -endobj - -15829 0 obj -<>/P 7234 0 R/Type/Annot/A 18150 0 R/Subtype/Link/Rect[244 325 254 334]/Border[0 0 0]/H/N>> -endobj - -15830 0 obj -<>/P 7234 0 R/Type/Annot/A 18047 0 R/Subtype/Link/Rect[256 325 266 334]/Border[0 0 0]/H/N>> -endobj - -15831 0 obj -<>/P 7234 0 R/Type/Annot/A 18028 0 R/Subtype/Link/Rect[268 325 278 334]/Border[0 0 0]/H/N>> -endobj - -15832 0 obj -<>/P 7234 0 R/Type/Annot/A 17999 0 R/Subtype/Link/Rect[280 325 292 334]/Border[0 0 0]/H/N>> -endobj - -15833 0 obj -<>/P 7234 0 R/Type/Annot/A 17979 0 R/Subtype/Link/Rect[212 315 228 324]/Border[0 0 0]/H/N>> -endobj - -15834 0 obj -<>/P 7234 0 R/Type/Annot/A 17954 0 R/Subtype/Link/Rect[229 315 243 324]/Border[0 0 0]/H/N>> -endobj - -15835 0 obj -<>/P 7234 0 R/Type/Annot/A 21004 0 R/Subtype/Link/Rect[245 315 259 324]/Border[0 0 0]/H/N>> -endobj - -15836 0 obj -<>/P 7234 0 R/Type/Annot/A 20540 0 R/Subtype/Link/Rect[261 315 275 324]/Border[0 0 0]/H/N>> -endobj - -15837 0 obj -<>/P 7234 0 R/Type/Annot/A 17834 0 R/Subtype/Link/Rect[277 315 291 324]/Border[0 0 0]/H/N>> -endobj - -15838 0 obj -<>/P 7234 0 R/Type/Annot/A 17812 0 R/Subtype/Link/Rect[293 315 307 324]/Border[0 0 0]/H/N>> -endobj - -15839 0 obj -<>/P 7234 0 R/Type/Annot/A 17784 0 R/Subtype/Link/Rect[151 305 165 314]/Border[0 0 0]/H/N>> -endobj - -15840 0 obj -<>/P 7234 0 R/Type/Annot/A 17740 0 R/Subtype/Link/Rect[167 305 179 314]/Border[0 0 0]/H/N>> -endobj - -15841 0 obj -<>/P 7234 0 R/Type/Annot/A 19087 0 R/Subtype/Link/Rect[190 295 202 304]/Border[0 0 0]/H/N>> -endobj - -15842 0 obj -<>/P 7234 0 R/Type/Annot/A 17581 0 R/Subtype/Link/Rect[189 265 201 274]/Border[0 0 0]/H/N>> -endobj - -15843 0 obj -<>/P 7234 0 R/Type/Annot/A 17559 0 R/Subtype/Link/Rect[188 255 200 264]/Border[0 0 0]/H/N>> -endobj - -15844 0 obj -<>/P 7234 0 R/Type/Annot/A 17536 0 R/Subtype/Link/Rect[181 245 193 254]/Border[0 0 0]/H/N>> -endobj - -15845 0 obj -<>/P 7234 0 R/Type/Annot/A 17517 0 R/Subtype/Link/Rect[201 235 209 244]/Border[0 0 0]/H/N>> -endobj - -15846 0 obj -<>/P 7234 0 R/Type/Annot/A 15984 0 R/Subtype/Link/Rect[196 225 208 234]/Border[0 0 0]/H/N>> -endobj - -15847 0 obj -<>/P 7234 0 R/Type/Annot/A 17465 0 R/Subtype/Link/Rect[206 215 216 224]/Border[0 0 0]/H/N>> -endobj - -15848 0 obj -<>/P 7234 0 R/Type/Annot/A 17424 0 R/Subtype/Link/Rect[218 215 230 224]/Border[0 0 0]/H/N>> -endobj - -15849 0 obj -<>/P 7234 0 R/Type/Annot/A 17396 0 R/Subtype/Link/Rect[199 205 211 214]/Border[0 0 0]/H/N>> -endobj - -15850 0 obj -<>/P 7234 0 R/Type/Annot/A 17370 0 R/Subtype/Link/Rect[211 195 219 204]/Border[0 0 0]/H/N>> -endobj - -15851 0 obj -<>/P 7234 0 R/Type/Annot/A 17334 0 R/Subtype/Link/Rect[230 185 240 194]/Border[0 0 0]/H/N>> -endobj - -15852 0 obj -<>/P 7234 0 R/Type/Annot/A 17309 0 R/Subtype/Link/Rect[242 185 256 194]/Border[0 0 0]/H/N>> -endobj - -15853 0 obj -<>/P 7234 0 R/Type/Annot/A 16975 0 R/Subtype/Link/Rect[258 185 270 194]/Border[0 0 0]/H/N>> -endobj - -15854 0 obj -<>/P 7234 0 R/Type/Annot/A 16959 0 R/Subtype/Link/Rect[235 175 243 184]/Border[0 0 0]/H/N>> -endobj - -15855 0 obj -<>/P 7234 0 R/Type/Annot/A 16932 0 R/Subtype/Link/Rect[189 145 206 154]/Border[0 0 0]/H/N>> -endobj - -15856 0 obj -<>/P 7234 0 R/Type/Annot/A 16897 0 R/Subtype/Link/Rect[206 145 218 154]/Border[0 0 0]/H/N>> -endobj - -15857 0 obj -<>/P 7234 0 R/Type/Annot/A 16867 0 R/Subtype/Link/Rect[457 670 474 679]/Border[0 0 0]/H/N>> -endobj - -15858 0 obj -<>/P 7234 0 R/Type/Annot/A 16836 0 R/Subtype/Link/Rect[475 670 487 678]/Border[0 0 0]/H/N>> -endobj - -15859 0 obj -<>/P 7234 0 R/Type/Annot/A 16813 0 R/Subtype/Link/Rect[408 660 418 668]/Border[0 0 0]/H/N>> -endobj - -15860 0 obj -<>/P 7234 0 R/Type/Annot/A 16775 0 R/Subtype/Link/Rect[420 660 434 668]/Border[0 0 0]/H/N>> -endobj - -15861 0 obj -<>/P 7234 0 R/Type/Annot/A 16745 0 R/Subtype/Link/Rect[436 660 449 668]/Border[0 0 0]/H/N>> -endobj - -15862 0 obj -<>/P 7234 0 R/Type/Annot/A 16706 0 R/Subtype/Link/Rect[451 660 463 668]/Border[0 0 0]/H/N>> -endobj - -15863 0 obj -<>/P 7234 0 R/Type/Annot/A 16672 0 R/Subtype/Link/Rect[407 650 419 658]/Border[0 0 0]/H/N>> -endobj - -15864 0 obj -<>/P 7234 0 R/Type/Annot/A 16649 0 R/Subtype/Link/Rect[409 640 421 648]/Border[0 0 0]/H/N>> -endobj - -15865 0 obj -<>/P 7234 0 R/Type/Annot/A 16630 0 R/Subtype/Link/Rect[406 630 414 638]/Border[0 0 0]/H/N>> -endobj - -15866 0 obj -<>/P 7234 0 R/Type/Annot/A 16599 0 R/Subtype/Link/Rect[509 620 519 628]/Border[0 0 0]/H/N>> -endobj - -15867 0 obj -<>/P 7234 0 R/Type/Annot/A 16567 0 R/Subtype/Link/Rect[359 610 371 618]/Border[0 0 0]/H/N>> -endobj - -15868 0 obj -<>/P 7234 0 R/Type/Annot/A 16537 0 R/Subtype/Link/Rect[396 600 410 608]/Border[0 0 0]/H/N>> -endobj - -15869 0 obj -<>/P 7234 0 R/Type/Annot/A 16505 0 R/Subtype/Link/Rect[412 600 428 609]/Border[0 0 0]/H/N>> -endobj - -15870 0 obj -<>/P 7234 0 R/Type/Annot/A 16469 0 R/Subtype/Link/Rect[429 600 443 608]/Border[0 0 0]/H/N>> -endobj - -15871 0 obj -<>/P 7234 0 R/Type/Annot/A 44853 0 R/Subtype/Link/Rect[445 600 459 608]/Border[0 0 0]/H/N>> -endobj - -15872 0 obj -<>/P 7234 0 R/Type/Annot/A 16528 0 R/Subtype/Link/Rect[461 600 475 608]/Border[0 0 0]/H/N>> -endobj - -15873 0 obj -<>/P 7234 0 R/Type/Annot/A 44769 0 R/Subtype/Link/Rect[477 600 491 608]/Border[0 0 0]/H/N>> -endobj - -15874 0 obj -<>/P 7234 0 R/Type/Annot/A 44724 0 R/Subtype/Link/Rect[493 600 505 608]/Border[0 0 0]/H/N>> -endobj - -15875 0 obj -<>/P 7234 0 R/Type/Annot/A 44698 0 R/Subtype/Link/Rect[430 590 440 598]/Border[0 0 0]/H/N>> -endobj - -15876 0 obj -<>/P 7234 0 R/Type/Annot/A 17782 0 R/Subtype/Link/Rect[442 590 452 598]/Border[0 0 0]/H/N>> -endobj - -15877 0 obj -<>/P 7234 0 R/Type/Annot/A 17738 0 R/Subtype/Link/Rect[454 590 464 598]/Border[0 0 0]/H/N>> -endobj - -15878 0 obj -<>/P 7234 0 R/Type/Annot/A 44590 0 R/Subtype/Link/Rect[466 590 482 599]/Border[0 0 0]/H/N>> -endobj - -15879 0 obj -<>/P 7234 0 R/Type/Annot/A 44566 0 R/Subtype/Link/Rect[483 590 495 598]/Border[0 0 0]/H/N>> -endobj - -15880 0 obj -<>/P 7234 0 R/Type/Annot/A 44514 0 R/Subtype/Link/Rect[396 580 412 589]/Border[0 0 0]/H/N>> -endobj - -15881 0 obj -<>/P 7234 0 R/Type/Annot/A 44495 0 R/Subtype/Link/Rect[413 580 425 588]/Border[0 0 0]/H/N>> -endobj - -15882 0 obj -<>/P 7234 0 R/Type/Annot/A 44444 0 R/Subtype/Link/Rect[398 570 410 578]/Border[0 0 0]/H/N>> -endobj - -15883 0 obj -<>/P 7234 0 R/Type/Annot/A 44414 0 R/Subtype/Link/Rect[379 560 393 568]/Border[0 0 0]/H/N>> -endobj - -15884 0 obj -<>/P 7234 0 R/Type/Annot/A 16019 0 R/Subtype/Link/Rect[395 560 412 569]/Border[0 0 0]/H/N>> -endobj - -15885 0 obj -<>/P 7234 0 R/Type/Annot/A 16015 0 R/Subtype/Link/Rect[413 560 427 568]/Border[0 0 0]/H/N>> -endobj - -15886 0 obj -<>/P 7234 0 R/Type/Annot/A 16013 0 R/Subtype/Link/Rect[429 560 441 568]/Border[0 0 0]/H/N>> -endobj - -15887 0 obj -<>/P 7234 0 R/Type/Annot/A 16007 0 R/Subtype/Link/Rect[390 550 404 558]/Border[0 0 0]/H/N>> -endobj - -15888 0 obj -<>/P 7234 0 R/Type/Annot/A 16003 0 R/Subtype/Link/Rect[406 550 420 558]/Border[0 0 0]/H/N>> -endobj - -15889 0 obj -<>/P 7234 0 R/Type/Annot/A 44187 0 R/Subtype/Link/Rect[422 550 434 558]/Border[0 0 0]/H/N>> -endobj - -15890 0 obj -<>/P 7234 0 R/Type/Annot/A 15995 0 R/Subtype/Link/Rect[468 540 480 548]/Border[0 0 0]/H/N>> -endobj - -15891 0 obj -<>/P 7234 0 R/Type/Annot/A 15990 0 R/Subtype/Link/Rect[362 530 374 538]/Border[0 0 0]/H/N>> -endobj - -15892 0 obj -<>/P 7234 0 R/Type/Annot/A 15983 0 R/Subtype/Link/Rect[421 520 435 528]/Border[0 0 0]/H/N>> -endobj - -15893 0 obj -<>/P 7234 0 R/Type/Annot/A 15978 0 R/Subtype/Link/Rect[437 520 454 529]/Border[0 0 0]/H/N>> -endobj - -15894 0 obj -<>/P 7234 0 R/Type/Annot/A 15971 0 R/Subtype/Link/Rect[454 520 468 528]/Border[0 0 0]/H/N>> -endobj - -15895 0 obj -<>/P 7234 0 R/Type/Annot/A 15966 0 R/Subtype/Link/Rect[470 520 484 528]/Border[0 0 0]/H/N>> -endobj - -15896 0 obj -<>/P 7234 0 R/Type/Annot/A 15999 0 R/Subtype/Link/Rect[486 520 500 528]/Border[0 0 0]/H/N>> -endobj - -15897 0 obj -<>/P 7234 0 R/Type/Annot/A 15993 0 R/Subtype/Link/Rect[502 520 514 528]/Border[0 0 0]/H/N>> -endobj - -15898 0 obj -<>/P 7234 0 R/Type/Annot/A 15988 0 R/Subtype/Link/Rect[391 510 403 518]/Border[0 0 0]/H/N>> -endobj - -15899 0 obj -<>/P 7234 0 R/Type/Annot/A 15981 0 R/Subtype/Link/Rect[391 500 403 508]/Border[0 0 0]/H/N>> -endobj - -15900 0 obj -<>/P 7234 0 R/Type/Annot/A 16010 0 R/Subtype/Link/Rect[420 490 428 498]/Border[0 0 0]/H/N>> -endobj - -15901 0 obj -<>/P 7234 0 R/Type/Annot/A 43773 0 R/Subtype/Link/Rect[401 480 415 488]/Border[0 0 0]/H/N>> -endobj - -15902 0 obj -<>/P 7234 0 R/Type/Annot/A 43723 0 R/Subtype/Link/Rect[417 480 431 488]/Border[0 0 0]/H/N>> -endobj - -15903 0 obj -<>/P 7234 0 R/Type/Annot/A 15998 0 R/Subtype/Link/Rect[433 480 445 488]/Border[0 0 0]/H/N>> -endobj - -15904 0 obj -<>/P 7234 0 R/Type/Annot/A 43653 0 R/Subtype/Link/Rect[414 470 424 478]/Border[0 0 0]/H/N>> -endobj - -15905 0 obj -<>/P 7234 0 R/Type/Annot/A 43614 0 R/Subtype/Link/Rect[426 470 437 478]/Border[0 0 0]/H/N>> -endobj - -15906 0 obj -<>/P 7234 0 R/Type/Annot/A 43583 0 R/Subtype/Link/Rect[429 460 441 468]/Border[0 0 0]/H/N>> -endobj - -15907 0 obj -<>/P 7234 0 R/Type/Annot/A 15972 0 R/Subtype/Link/Rect[425 450 433 458]/Border[0 0 0]/H/N>> -endobj - -15908 0 obj -<>/P 7234 0 R/Type/Annot/A 15968 0 R/Subtype/Link/Rect[420 440 428 448]/Border[0 0 0]/H/N>> -endobj - -15909 0 obj -<>/P 7234 0 R/Type/Annot/A 43466 0 R/Subtype/Link/Rect[420 430 428 438]/Border[0 0 0]/H/N>> -endobj - -15910 0 obj -<>/P 7234 0 R/Type/Annot/A 15992 0 R/Subtype/Link/Rect[457 420 468 428]/Border[0 0 0]/H/N>> -endobj - -15911 0 obj -<>/P 7234 0 R/Type/Annot/A 15987 0 R/Subtype/Link/Rect[425 410 433 418]/Border[0 0 0]/H/N>> -endobj - -15912 0 obj -<>/P 7234 0 R/Type/Annot/A 15980 0 R/Subtype/Link/Rect[428 400 436 408]/Border[0 0 0]/H/N>> -endobj - -15913 0 obj -<>/P 7234 0 R/Type/Annot/A 15974 0 R/Subtype/Link/Rect[415 390 432 399]/Border[0 0 0]/H/N>> -endobj - -15914 0 obj -<>/P 7234 0 R/Type/Annot/A 43265 0 R/Subtype/Link/Rect[433 390 445 398]/Border[0 0 0]/H/N>> -endobj - -15915 0 obj -<>/P 7234 0 R/Type/Annot/A 43228 0 R/Subtype/Link/Rect[406 380 414 388]/Border[0 0 0]/H/N>> -endobj - -15916 0 obj -<>/P 7234 0 R/Type/Annot/A 43177 0 R/Subtype/Link/Rect[406 370 420 378]/Border[0 0 0]/H/N>> -endobj - -15917 0 obj -<>/P 7234 0 R/Type/Annot/A 15986 0 R/Subtype/Link/Rect[422 370 434 378]/Border[0 0 0]/H/N>> -endobj - -15918 0 obj -<>/P 7234 0 R/Type/Annot/A 43113 0 R/Subtype/Link/Rect[425 360 439 368]/Border[0 0 0]/H/N>> -endobj - -15919 0 obj -<>/P 7234 0 R/Type/Annot/A 43089 0 R/Subtype/Link/Rect[441 360 455 368]/Border[0 0 0]/H/N>> -endobj - -15920 0 obj -<>/P 7234 0 R/Type/Annot/A 43019 0 R/Subtype/Link/Rect[457 360 469 368]/Border[0 0 0]/H/N>> -endobj - -15921 0 obj -<>/P 7234 0 R/Type/Annot/A 42991 0 R/Subtype/Link/Rect[411 350 423 358]/Border[0 0 0]/H/N>> -endobj - -15922 0 obj -<>/P 7234 0 R/Type/Annot/A 16016 0 R/Subtype/Link/Rect[368 330 385 339]/Border[0 0 0]/H/N>> -endobj - -15923 0 obj -<>/P 7234 0 R/Type/Annot/A 42925 0 R/Subtype/Link/Rect[386 330 398 338]/Border[0 0 0]/H/N>> -endobj - -15924 0 obj -<>/P 7234 0 R/Type/Annot/A 15975 0 R/Subtype/Link/Rect[392 320 409 329]/Border[0 0 0]/H/N>> -endobj - -15925 0 obj -<>/P 7234 0 R/Type/Annot/A 16002 0 R/Subtype/Link/Rect[410 320 424 329]/Border[0 0 0]/H/N>> -endobj - -15926 0 obj -<>/P 7234 0 R/Type/Annot/A 42819 0 R/Subtype/Link/Rect[426 320 438 329]/Border[0 0 0]/H/N>> -endobj - -15927 0 obj -<>/P 7234 0 R/Type/Annot/A 42771 0 R/Subtype/Link/Rect[463 310 479 319]/Border[0 0 0]/H/N>> -endobj - -15928 0 obj -<>/P 7234 0 R/Type/Annot/A 42744 0 R/Subtype/Link/Rect[480 310 492 319]/Border[0 0 0]/H/N>> -endobj - -15929 0 obj -<>/P 7234 0 R/Type/Annot/A 42702 0 R/Subtype/Link/Rect[392 300 400 309]/Border[0 0 0]/H/N>> -endobj - -15930 0 obj -<>/P 7234 0 R/Type/Annot/A 42674 0 R/Subtype/Link/Rect[392 290 408 299]/Border[0 0 0]/H/N>> -endobj - -15931 0 obj -<>/P 7234 0 R/Type/Annot/A 42632 0 R/Subtype/Link/Rect[409 290 423 299]/Border[0 0 0]/H/N>> -endobj - -15932 0 obj -<>/P 7234 0 R/Type/Annot/A 42590 0 R/Subtype/Link/Rect[425 290 442 299]/Border[0 0 0]/H/N>> -endobj - -15933 0 obj -<>/P 7234 0 R/Type/Annot/A 42562 0 R/Subtype/Link/Rect[442 290 454 299]/Border[0 0 0]/H/N>> -endobj - -15934 0 obj -<>/P 7234 0 R/Type/Annot/A 42529 0 R/Subtype/Link/Rect[500 280 512 289]/Border[0 0 0]/H/N>> -endobj - -15935 0 obj -<>/P 7234 0 R/Type/Annot/A 42487 0 R/Subtype/Link/Rect[401 270 415 279]/Border[0 0 0]/H/N>> -endobj - -15936 0 obj -<>/P 7234 0 R/Type/Annot/A 42437 0 R/Subtype/Link/Rect[417 270 430 279]/Border[0 0 0]/H/N>> -endobj - -15937 0 obj -<>/P 7234 0 R/Type/Annot/A 42393 0 R/Subtype/Link/Rect[432 270 446 279]/Border[0 0 0]/H/N>> -endobj - -15938 0 obj -<>/P 7234 0 R/Type/Annot/A 42371 0 R/Subtype/Link/Rect[448 270 460 279]/Border[0 0 0]/H/N>> -endobj - -15939 0 obj -<>/P 7234 0 R/Type/Annot/A 42338 0 R/Subtype/Link/Rect[398 260 410 269]/Border[0 0 0]/H/N>> -endobj - -15940 0 obj -<>/P 7234 0 R/Type/Annot/A 16467 0 R/Subtype/Link/Rect[401 250 415 259]/Border[0 0 0]/H/N>> -endobj - -15941 0 obj -<>/P 7234 0 R/Type/Annot/A 42246 0 R/Subtype/Link/Rect[417 250 431 259]/Border[0 0 0]/H/N>> -endobj - -15942 0 obj -<>/P 7234 0 R/Type/Annot/A 42216 0 R/Subtype/Link/Rect[433 250 445 259]/Border[0 0 0]/H/N>> -endobj - -15943 0 obj -<>/P 7234 0 R/Type/Annot/A 42162 0 R/Subtype/Link/Rect[398 240 410 249]/Border[0 0 0]/H/N>> -endobj - -15944 0 obj -<>/P 7234 0 R/Type/Annot/A 42125 0 R/Subtype/Link/Rect[396 230 408 239]/Border[0 0 0]/H/N>> -endobj - -15945 0 obj -<>/P 7234 0 R/Type/Annot/A 42071 0 R/Subtype/Link/Rect[381 220 395 229]/Border[0 0 0]/H/N>> -endobj - -15946 0 obj -<>/P 7234 0 R/Type/Annot/A 42039 0 R/Subtype/Link/Rect[397 220 409 229]/Border[0 0 0]/H/N>> -endobj - -15947 0 obj -<>/P 7234 0 R/Type/Annot/A 37493 0 R/Subtype/Link/Rect[401 210 411 219]/Border[0 0 0]/H/N>> -endobj - -15948 0 obj -<>/P 7234 0 R/Type/Annot/A 41955 0 R/Subtype/Link/Rect[413 210 429 219]/Border[0 0 0]/H/N>> -endobj - -15949 0 obj -<>/P 7234 0 R/Type/Annot/A 43255 0 R/Subtype/Link/Rect[430 210 442 219]/Border[0 0 0]/H/N>> -endobj - -15950 0 obj -<>/P 7234 0 R/Type/Annot/A 41882 0 R/Subtype/Link/Rect[420 172 433 181]/Border[0 0 0]/H/N>> -endobj - -15951 0 obj -<>/P 7234 0 R/Type/Annot/A 41836 0 R/Subtype/Link/Rect[433 172 441 181]/Border[0 0 0]/H/N>> -endobj - -15952 0 obj -<>/P 7234 0 R/Type/Annot/A 41783 0 R/Subtype/Link/Rect[415 162 425 171]/Border[0 0 0]/H/N>> -endobj - -15953 0 obj -<>/P 7234 0 R/Type/Annot/A 43101 0 R/Subtype/Link/Rect[427 162 437 171]/Border[0 0 0]/H/N>> -endobj - -15954 0 obj -<>/P 7234 0 R/Type/Annot/A 41682 0 R/Subtype/Link/Rect[439 162 449 171]/Border[0 0 0]/H/N>> -endobj - -15955 0 obj -<>/P 7234 0 R/Type/Annot/A 41638 0 R/Subtype/Link/Rect[451 162 464 171]/Border[0 0 0]/H/N>> -endobj - -15956 0 obj -<>/P 7234 0 R/Type/Annot/A 41598 0 R/Subtype/Link/Rect[464 162 474 171]/Border[0 0 0]/H/N>> -endobj - -15957 0 obj -<>/P 7234 0 R/Type/Annot/A 41556 0 R/Subtype/Link/Rect[476 162 489 171]/Border[0 0 0]/H/N>> -endobj - -15958 0 obj -<>/P 7234 0 R/Type/Annot/A 41506 0 R/Subtype/Link/Rect[490 162 500 171]/Border[0 0 0]/H/N>> -endobj - -15959 0 obj -<>/P 7234 0 R/Type/Annot/A 41467 0 R/Subtype/Link/Rect[502 162 516 171]/Border[0 0 0]/H/N>> -endobj - -15960 0 obj -<>/P 7234 0 R/Type/Annot/A 41433 0 R/Subtype/Link/Rect[359 152 373 161]/Border[0 0 0]/H/N>> -endobj - -15961 0 obj -<>/P 7234 0 R/Type/Annot/A 41412 0 R/Subtype/Link/Rect[375 152 387 161]/Border[0 0 0]/H/N>> -endobj - -15962 0 obj -<>/P 7234 0 R/Type/Annot/A 41344 0 R/Subtype/Link/Rect[174 283 191 292]/Border[0 0 0]/H/N>> -endobj - -15963 0 obj -<>/P 7234 0 R/Type/Annot/A 41313 0 R/Subtype/Link/Rect[481 278 498 287]/Border[0 0 0]/H/N>> -endobj - -15964 0 obj -<> -endobj - -15965 0 obj -<> -endobj - -15966 0 obj -<> -endobj - -15967 0 obj -<> -endobj - -15968 0 obj -<> -endobj - -15969 0 obj -<> -endobj - -15970 0 obj -<> -endobj - -15971 0 obj -<> -endobj - -15972 0 obj -<> -endobj - -15973 0 obj -<> -endobj - -15974 0 obj -<> -endobj - -15975 0 obj -<> -endobj - -15976 0 obj -<> -endobj - -15977 0 obj -<> -endobj - -15978 0 obj -<> -endobj - -15979 0 obj -<> -endobj - -15980 0 obj -<> -endobj - -15981 0 obj -<> -endobj - -15982 0 obj -<> -endobj - -15983 0 obj -<> -endobj - -15984 0 obj -<> -endobj - -15985 0 obj -<> -endobj - -15986 0 obj -<> -endobj - -15987 0 obj -<> -endobj - -15988 0 obj -<> -endobj - -15989 0 obj -<> -endobj - -15990 0 obj -<> -endobj - -15991 0 obj -<> -endobj - -15992 0 obj -<> -endobj - -15993 0 obj -<> -endobj - -15994 0 obj -<> -endobj - -15995 0 obj -<> -endobj - -15996 0 obj -<> -endobj - -15997 0 obj -<> -endobj - -15998 0 obj -<> -endobj - -15999 0 obj -<> -endobj - -16000 0 obj -<> -endobj - -16001 0 obj -<> -endobj - -16002 0 obj -<> -endobj - -16003 0 obj -<> -endobj - -16004 0 obj -<> -endobj - -16005 0 obj -<> -endobj - -16006 0 obj -<> -endobj - -16007 0 obj -<> -endobj - -16008 0 obj -<> -endobj - -16009 0 obj -<> -endobj - -16010 0 obj -<> -endobj - -16011 0 obj -<> -endobj - -16012 0 obj -<> -endobj - -16013 0 obj -<> -endobj - -16014 0 obj -<> -endobj - -16015 0 obj -<> -endobj - -16016 0 obj -<> -endobj - -16017 0 obj -<> -endobj - -16018 0 obj -<> -endobj - -16019 0 obj -<> -endobj - -16020 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16021 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16022 0 obj -<> -endobj - -16023 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16024 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16025 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16026 0 obj -<> -stream -HWkoF_1%fyĶR[٘ݢ UD)y)9#W"ct0lg̜3$^]K3gNNf.ZWIU7elo,̙Ɏ^7t~3]cO/yNqW8L.Ԥiʼ2Mtj|so+>}w}l)U݆}p1[Na~e$Iyaڕ5YN(36u7d7槟sdu(OWeudY$֜Zp\Ibҗ,1+6/1by+}r>(}r'>) O}}} ܗ} ܗ} ܗ}W}W} } ܫ:PZu{ Vb%,^b{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb]@k%,^b{1K@k%,^6JYjm@k%,^6JYjm@k%,^6JYjm@k%,^6JYjmXEZ1K@k%,^b%F,Z1 WcpZAk%F,Z1 WcpZAk%F,Z1 WcpZAk%F,Z1 WcpZAk%e Vb%F,Z1KuMN_;ɎgIV ƕeni`:1ɳ];_g^?۱ue+j[~fc -/0~09z=z~>x]Տw|N%@S_I=0ѣaFkkOW.}n#)Ҧ_&拽u86emV#D v'2z5l'UU6&ƕ?eXDhK{V%zFKOYADlan|D>|3;o\Mwt;wO!|w-&N|.S~HE9 G=&˜'=Eso27<ߥw~r.+jU*VJU* -hUJZҪVjUK-k-1KkIXh9倖SZhy偖WZhVPZhEVTZ h%ʽʽʽʽ}Ĉr/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1fi- ^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ* ^bZ#ȽĘx+=4Q㮂qd -Vo!9ϸm/o֜O<ȋAt@ިM۵3~uk=qcDU{C'f2mg\5[!ޜ\o% &Kendstream -endobj - -16027 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16028 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16029 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16030 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16031 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16032 0 obj -<> -stream -HW]o۸}ׯ%b]h@k3嵔>l;)T p3]:t짟{?>; )/$F>]LeM}iwzuvdmn]/ŝd-3Ar昃9Kf_7~͎]&_8..?eŖ+6 eqRN [6(Cr9V|)8n>$>nBf=\/JS(qbXYE-p5S\L7}b_l2 -. ̗f &s&Ƹ"UmJ6@ " m{{W{W{W{{{7{7{7{/E¾  {K {K {K `_&K}w{wDmlfPmlCT>PmlCT>!*eE6!`Vm"'jc6DJB QDPml؆(}ZI6!`Vm"TEOT+ 6DJBm)B Q)(B Q)؆}l؆(}ZE6!`Vm"TEOT6D*B Pjcj؆(}ZE6PmlC>Q"TEOTƶm 6Dc6DcR Pjcj5؆(}ZM6PmlC>Q&TEOT 6@m"'Մjcj5(B QDPmlC>Q&T۶!Tm"TmJ;,p-른L}&+ -ǖlq+Z~R$Br]n6Z@-.[V}S:`]úG.tMYD]hUxZuOO!(^ΰ4]` >9`(~0 -Ȍތj>3Zܷ( 2FHᬋ??6vڐQu -| A=%|pc Ӛ&sл iۇ}ncOn|Utzd Ѱ%w8W_í\lg?{lZhcS^\;g NIs`\,s+uSU例6iu<.+ul؁pb7# wV`bu_@(pطi\򎏅*Kn]0X.>et7\6@҄PpB526U LRa*Fa?!D1]SZjpl -v:ww/u7RX(QKgc@7/Ux!" UAOUx5~iP尥6hq1q}qx:z]K894$ڣBԗ`t,oKxޫo#~xTΘ\+TbF:QYr3[=Aj%O ҼbMڎ)Kip)s -l{ [%c܍h7q?CK·fx~X j>pZ!%O{p: cLnUu8ilCzhxagѼvXR8nooD@)"&np8\Ir&|P_\]z6P,OR@"HroA`pdeO>}WEɅOQRϹu?ݼ7+%WZ{`eLb<| ZU΁R߬2PbzasN‚~U4szʹ3)Į"7vfPK˅-܉AnB09t74?̈D*CeOWH,}?Vo~U ckWг:T+  G}߽?=FP n}{Ū3UG - wGy ?|$ܥ0Z -xҎdޟLQc?ʫ7n+|܃+"E$hsh"rhC^^!dj릿R:9qV;盙}98-Bj Nߝ@*U' 5ߥj|Ufg9? -ԩ9x@Q}x TqE|;2KNb;dwlOnft f\B 3'P@zxZQR7}a2232,6k -!o6/SJÐm#^4=/UUE9Qv駍ђHǻW,v"`mJBEpkPfUo*(u(3Z5$Urj8Yr?wdOUE>>5{7ŪӔn_rRq}KBZ϶m>(PSj󞨷<$0xm/O+JYw5>I+}Jbzb2 {'^Δdh %]P6t&W:c$hZZװ˕7V .,@&Ր_{ P7 o -onV3[@B*ayk=c}7>lş0qbK^ aTbk2۴TOKu/I3~Kme2y*XaFcSa~s o g2MI̼Ti|wT}#WC +-%3!L6j-jɪ Q p(լ*WsRjI3'R;Қ -d$J4gV\̅ne@o:jɒCU,x-gCZc,ܚx*Mw}~g -;!AM }CD(@&@,e&O;OBmOt>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16034 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16035 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16036 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16037 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16038 0 obj -<> -stream -HWk۶_2Պ/=.y h| $A!]%+ I9 pxHΙn1߾_y/b2eU U)ҜE.R^Gŧ(#7qtn_wm7G=><Wv1wQdqW3.2on+U+] -fy'htf/+] $BؿQ2#H<~Y(_,>Q%+ -1a@QtP(χ(E|}89^^^%^%^^^^s} y `_ }/ e$ؗ`_+}YF#N!*dE!*d}"TET >DrBPj}j9Z߇(}ZNPC>P-'TET >@}"j}j9ZwZ߇Z߇CTPC>P TET+>@}"j}jZ(BQ@PC>P TE!`V}"j}1j}BPj}BQ!{(BQ@PC>P$TE!`V}"j}>DJBQ@PZ߇(}ZI!`V}H} ->@} ->D쫴*goaѫmteۻeK8ϫx{>&u77Ehc7L>t?ؗn; %(-E9O7/4'fM\7Sd)2(%l1*5pׇEr1AeL&K+'!r}k=gm96cm4h"/6WieT6q|^$Y[S2hg~NMjB -+fa30OҸ޺xeW -Wmk~/֡뽳lXۤ7kL+V#f LS)ž͍`O-4LAQq ʀ [zfw:muaؑBX><]s&2<(XD" "+daS5yGw'!*f8QܴnAFrQxOn>[]'kmKd?*l>tdy.L` ‘6+a(Hi@棘/Mg&XF+Y,&ۧH"K`KYQQrϫIF8CS=8պj vWơ6KR-"&wړϱ"43X2<18fY:\Sr= 2gZHP/J*UR=t%2pd$zrFip*Xe.$<-,4(vxT'7nB_8$ZʖY5D$ll;dQ$5!᪗ s}84(% 1 %b|Ts+O77*L?v1 "6ô”iWF`r* VI5 lj9]Tej&]6 ИiFƺ1\_1<,# 2ů+v"na>r)WCalNܖycv$"0[7xӭt GsnkNuT ~`S˪򄍑,iNmcV?ؚ]Zx^PQZ'?M5 l8Ym -}Ⱂ2Vz^Cs1,qpiƖ&A% -T=SVdW|e-{0p,b^_R'^L⵵E8g+RY覫}__L3@txrqy9;g- -UJU//i#t,J;AVafFa>ÞYtkV8Lp {]-A,UflW3 -gŀ>%mxs -(b5TxP5ç&]3r 7MY21Gr5`5@P/*˪X sz*~W}:w;3&暼/c%O'7hk.Z*ƢxLCz+ԕ - chpg7};`b"wd$eVZkk*w$պҽh!/Eń ^p|4P/vDr j%wNmlIE>,sd1oPQV S{0cy|Ȗw2UXZ0/3ygD]bv\䥇}6 8>Fk?P)&W1 ;؆:^-~K)`|b*`nPAr5`8}SU0?5@y\ˑ,_p*;)ϮaS l%_F ?%hsD,y{y{Wi=4m -zIq7{h"BX%`_d9=Ip͛çzsP[oYGqpY%97 - p?{|ul҇JQ"6>nWwVqpy}ϣkhwGHcf%!6;_Lq(HD,a!Gs4륄=!=1KVsUx /Kv-y5c3d}&KoT\^Dؼ=iO^4žQ4yk:`_%9f'Z2&T[ku~:&1ʨ#:V#Qg~4N$dBfdJ<^;AZ\#8*x$ -[r9$H(Dˢ0i@H -Rm( =k&W*3phrcQ`2j[=6Эk: }04 ~y|1uwQX -'WմzN]Cqo!u>D Q9:S%^D?kzlBRl|#u66+\`lЦF۟_l}mJ?ͮGjIQdb-<+`r4fW{*ݧu彊|W+|ƤUΨozyt pm24@B]j#5$S,jPVЎ~Y -hI;{g>4ϗ [42zW+\U{a&F$p$.[H`, ϗVwdo޻kK=TElQ`><* U>y)g[C.(.P9aёݷ?N`Ƈendstream -endobj - -16039 0 obj -<>/P 531 0 R/Type/Annot/A 16490 0 R/Subtype/Link/Rect[93.5995026 581.629028 190.906998 601.309021]/Border[0 0 0]/H/N>> -endobj - -16040 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16041 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16042 0 obj -<> -endobj - -16043 0 obj -<> -endobj - -16044 0 obj -<> -endobj - -16045 0 obj -<> -endobj - -16046 0 obj -<> -endobj - -16047 0 obj -<> -endobj - -16048 0 obj -<> -endobj - -16049 0 obj -<> -endobj - -16050 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16051 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16052 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16053 0 obj -<> -stream -HW]oܶ}ׯУ 84?%"Chp +++}gDꋜͽQ4__)O߼y]g"4e -KX."WT'6DM\~]Нc=}zj_eO*Si3-Mw$^쾏0 ip7CݧY}sLV/R+z;ˈRFB?6}z_d -|߇ OiRI~1)!NJbSU -m m"F6Dr"&% 2b/ 2b*b*b*b :b :bo&bo&bo&b}N#"b_싈%ۈ%ۈ}I/#%>Ҭ Dڎ$Tm"Tmه6@ m"GjCj%(B QHPmhC>R$TE6!`V m"GjCՆ6D#JB QHPmh;&PmhCT>PmhCT>!*fE6!`V m"GUjCՆ6D#*B QHPmhІ(}ZE6!`V m"TETՆ6D#*BhB Q1(B Q1І}hІ(}ZM6!`V m"TET Ն6D#jB PjCj5І(}ZM6PmhC>R&TET ՆcbՆ6DCՆ6DCb%+Rcv\WtwpfJwTdye;&gͧw@",gl*f&MV+ɳzxxq/~_i'ۡ{htOӅYte!Yљ7\2 ?‘?ԟn?8v>P M \IL)&nxVhjFCHp\hC̎1hcrn4cv9`O߇mt&` +hV=YH&X3fDOa =#{2?-3{N11k:ܺ'Vvq'M6tcB5mZTY:O˙Xû~`8 J.#=a/Pm 4 ->Ҵ~PMd)V ՚ŠaupmP9Ӧi&&-<3|c(`U{ MANR׻Z*9( ={90pa0U8:~(zJ[P1ӊ3.hJ 1Y/VE1LYaLcs><5/:W[fCujz"{B6yKA:)ԣsEC/u]Qg>q˝WRB*CU*T4"` -\|Ee@VX1$Rgayp -FT^7§_|Eܗx1hh 39Y  -ÇlK(mk^83I1~mo*-u1N|_\m}ᴋVr17٣g{3'`|rLe Kdewf:w2 Ε))ae~n3Or,FR%S[Bwy,Vnڧ'L2~yFY= ᗛ;W Æ̐VO`2Fɷ`EtV3n9֬|q:ldQlZJا'f]|J0Qbq޺fBt:](7Rd 8rFxɩiWq` RgZX>#KQFa8i"듼;CCs7׿^ - -y0sR@ 7SP u^{xyM?]eO~CWοןZ?y&kiƃ=|}tT,|(Y.`W^wc>XOq!YUBCAAzτ꺔[3[̇snظc^n?J,rևA8K? YO=>>Gk54]ۓ -w:(>||j|I'odix|j~CߺvG-d[ {;AﺧvY`G5p% -[OqL-sh-={ctQVPC x[A6vz05'?{jxq+&h^ ݸk_|>"l7;,zm.Į 0.}Nmvԇx %-+buqJ* 7)ٌW878oCȩAhhU݁.4(,zO@s hwe0^mA} -Z4a^7$E+ؼexsY3Te%<]>ut؃[6^`e;MP*&/]E .ϋjs9ݓTS -5(2cdqDZma W .'h(LG8Iƨejap@&=n9Wiu>NEYaqWP^jq͟E }jg?FѬm 0pPp6{#k˱6Tln CP |Am[MĒ˓fnDdw-[ΗOtN=wB -pϛǺ|n^^\Y ~j_tƨҐOA 42-s7s-ac7V> -/gQq5$eo -CWOUN~g ?u'*2e`9KaTbop}x`>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16055 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16056 0 obj -<> -endobj - -16057 0 obj -<> -endobj - -16058 0 obj -<> -endobj - -16059 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16060 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16061 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16062 0 obj -<> -stream -HWo@r&>傤]+Q`daN"sߵw{iK3? Ba˞1^%/էn6Yۮjm-:m//7ydХxbb/۴rSUHGV`⻻[u4G.AjݠI$lًom}Wf1]}0qf^˴I-׍>TjwKܴkSw[jU7WgnEӜf:>5r:^21i"xu^|}Gf/L "7=e$~|tfZڬfFWF)Nmy7yysRzZQa{īk9Cw\@[Cno7>9xq~s134n*H1zrvq`?IUb^VÖqTc[\Z2,Y:`Fl1zY iHE Te".PoH̓aF~}|6^ oiOs8;-oMhv_2o5/uMMG*ؗ|0L)٪d8J̱936weyܩ!DZjZKA/6եִ{V"qpY&FnÉ6l\r{45ܻ\m< -I?}Hz81,°P=h({>!bn{.߳!ΒlD65Ol6RID9Cl¤P6 iY ?JY%`) -@+(hJ+ZʀV2)hJ+Z*V -U(hJZr֒ĈDi%@+QZh9倖ʽʽʽʽʽʽʽʽĈr/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-r/1fi- ^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*)ȽĘ$F,{1Kk,0m&-w͢&kendstream -endobj - -16063 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16064 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16065 0 obj -<> -endobj - -16066 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16067 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16068 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16069 0 obj -<> -stream -HWێF|WzAF$AB`Q}p܋PZ Z1bI,ZK{eh-Lj܋ZZ ,Z #p/ZkAk9Y#p/ZkAk9F,^ւr,@k9F,^ւrXhغp#tϱ{KXfrXh{ZZ˱{ZZ1bcZ1bcEkh-2 cEkh-Lj܋:Z Z1bI,ZK{eh-Lj܋zZ ,Z #p/ZAk9Y#p/ZAk9F,^փr,@k9F,^փrXhغ#tϱ{KO:Ux\/i2-L9%9]JY돋C;oey+&b@׳U_UQ?vwOM(QTzbi+jmN,Ԫ]o7_ N OVmok+My!~n͗ykۧrMK3rzAP9W8?AƱaJ%қ,0T>'oyr3_V2:/`ǘ "|OݠHZ/6G`:ؗto-OI|qT?ծ]n7VۺnRs|umSW98qTe` -@ -@+ -hUBZЪV-jU Њ@+ -J@+q-[J-Kjq, 2B-#,вB-{ r1b-{ r1b-{ r1b-{ r1b-{ r1b-{ r1b-{ r1b-{r1bI-e=LjD=LjD=LjD=LjD=LjD=LjD=LjD=LjD=LjD==Lj%8Y # # # # # # # # # #XfsXR+Dm~XWykQmG83c])MdcwԷ*FOt+ULJVmo'3Ǝ4882eF>Z:mOCS}]X|x;Jq6uYK; \i'M+u S&hS8gRqg5N9bjĩ&Ì0q>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16071 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16072 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16073 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16074 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16075 0 obj -<> -stream -HW]:}ϯ/=W'Jb!-\jXZz -4N&f[W'Bwqu\)o-{=ח\XJLx$Y)n$࿬ B)`Ϳc_ձSE"d6ي?l, edq)\m?w0 ipڴܥÆܰm&1"G`{c}챏 >!'`x-z-Ӭ Dm@6cbC͡|(BP{OP-9S$Tm"TmET+ bC=JB(BP{OP-9S$Tm"TmET+ bC=JBv -Zls(=P-9gm"TmETbC=*B(BP{OP-9S"Tm"TmETbC=*B(BP{OP-9S"Tm@6cbC͡|(BP{OP-9S&Tm"TmET bC=jB(BP{OP-9S&Tm"TmET bC=jBv - Zls(=P-9goV̆)x n[ڙcXY=w z",OWéeی]DZs.Q2V^Pm'ي?@&rYMUV'ڻ{q9 -wjpxyǛChӄrK\"-4\ %eySdy,zPnEt[.wzdǪv;9[a ]ޛVY@"\g;ͬmǴj2 &K3 @qmTp8i00,i0=eZ)n_9QndP"/ -.^`H%Nv#Ok e 5-611rev"KJ}Untf*W -,j;d%|ٹԅO+ Gͼx,N5m.cTT oȚ%Tqt 9r]Į֌ԁvc,~ID˙6m%oq:M;y)fc7Y]j<1ꂷ~ mV'8+"; Yu c%}a.<.X-tU*2S%߸0#<.(A\[R%pKbDzhcpY`}VJR>!^ct.`4!G/yPi5W>9-j'ZQ3\SQ]Kh C,뿴$Bq Q-Ҷ+Aa.oÅ.˕P-u'hcuv -5Shðf+{Ĝ@u@8̚08AkP+%\CAo84n8 /}C)*0"pD6yM ܽe'JMatyA]jg^\hhբᔹ]hpۇȪ龄lltH2?6VW6nYEoV]7A-Q9򋖸kP~1.l}7c tb][_U$x޼]1dJ qQ6ƣr=sX!:H'\C"'E?:lE?0[G:|/SDXKR V@Vz;NU7W[o6~УЧI[9. -Q3c~>REReI4}x.߹3oqbhvzpFtE LTDjW{t`* :OۏRMC6O$ OK5=#Lv/д%,|`RX@J!h$:sI:G -q5!G-B;Ӫ>~\F"9N"Bcdbpr2|Zލҫi^VGܭp&NER -(&lv{SãW Y8`H -,"%S."ChG] - D2ښak]Ccg@A >GH4Lޅ4h|^ΞwI;,Mb)GऌԺƣ#~*$lCear߇5˸mv"f,g{ UߖvnY>VFoշJM>D7׍m$rsk80Hg׬yQyvww7xzӏpkie$UJ*=Dݯƛtx 6IS Ln`>c -O"꣜ U3Й^{1BL}O'Z3cMb.ۏvәJ:G`=aM 3M}A>~_/έ+$ -^rZ8sr)ٰs7s<[ -cTf!U}S'^$xZ=4C>/P 613 0 R/Type/Annot/A 16077 0 R/Subtype/Link/Rect[93.6001968 663.229004 238.968002 682.908997]/Border[0 0 0]/H/N>> -endobj - -16077 0 obj -<> -endobj - -16078 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16079 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16080 0 obj -<> -endobj - -16081 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16082 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16083 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16084 0 obj -<> -stream -HnF)(HN o '7HE XXT]JN}ΈjLZٳ9K0vٷ_/|YGR"O!+=y0N~Mb&q@rSYjf]&9ymJN*wAL"Nb!BĚPu2IVXcg#p1DW/&|qE^Nnw^VocklAu 9ccv(U~U%#dx^Z_'x9|or㩐-}b$q&J&2 %RIiDe -Ž;'s )½W{>(pA ܧTOp)3>Sg}τ\q > }!B/p_*KTܗ}TG>*EfZkDI\CJI-׈Ft5r(ŽHWR5"^I-אRR5"^I-׈R܋z%\CJI-׈R܋z%\#Jq/Rr )%\#Jq/Rr(ŽHWR˵ur(kH)Q=׈Z JjF^6(RJjF^6(Q{ڠkH)Q{ڠkD)EjZ!kD)EjZ JjNR%\#JRJjFt5{!kD)EjS%\#Jq/R*RJjF^6UR5"Z!kD)EjS%\#Jq/R*RJjF^6UR5"ZLI-׈Z%s(>c -}^'/䤪8bO!/ PIlr4&fmg^NPHU2z*_ԛETԛn`iȿ~\ utFLSnհª.-^,7׻ඞmn7<{DYíFYׁFghƍġا.d~+/_V\0x60&ͭ7`;L3M YwZU\za(s]i|b?.-kj937p+h>Ӭ4}Qm; ص@ s7vj;_7QfüJox~ߗ -s*jMM00PVԦ&>TozJk'eowhl"vjKZhN|_ΟnR|OEa]ͻfx̭f_ i4Msܮm70#|\|<,\úœ#vcBia(ޫ/L><U$Y:N/#=ut$ajC77L7?̩vAANY%1%9>?2S>\ɹx[}a>3Nl{G ֦ +C^?I0/nlŞB9OOjPZDs#8Oᑜ"ktO8/4xOEF. |W_vyF_!*&EklXs*ͦG\ *)!~Kә`ݯU:?K~HMendstream -endobj - -16085 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16086 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16087 0 obj -<> -endobj - -16088 0 obj -<> -endobj - -16089 0 obj -<> -endobj - -16090 0 obj -<> -endobj - -16091 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16092 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16093 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16094 0 obj -<> -stream -HWmHίt_io@E6homnOJ،Mb, - E.+>|WwaxUW t,lMTYb#ö 0xG/{7mu(Zm< ]r<[*>HœaDҤWL/aBXpZ~S*2f]v]xu#Mj꾽zs2Z3J"^튇\0ĉQ˿^ pB\ *c(-l+~0*yf >xXC1X@ԇ(9>e.O%c/ccccccocococ2S}ʰO=>g c13}ΰ=9>[[YdTK}SR|ԇ(=Q-!aV2>D1=JF(Fԇ(ZɨŰT+RRj%ZCSdTK}bTK}b{jQ {OQ-Ũ峧>@1>DQ>{ZCSbTK}b{UjPjQ {OQ-!aV1>@1>D1=*Fԇ(ZŨŨŰTRjZ;Q-!gO}bTK}S|(Fԇ(ZͨŰTRRj5ZCSfTK}bTK}b{ՌjQ {OQ-Q-!aV3>D1=jFw ZCϞŨ峧>Dmlaf\VED2q WCtWW7&e]z|{,gpF3>ˮz3a2baih_]V߫}-V_yn -blDMwved)j|ͱa_j.(.ml zݴHg1&vB|6UK0s@ڽ$zhD5۶8Ln2qk(ƻX\]W 1R5mFv0ڨƶ>D̾ IřճVv?``TݷUՕc[nCݹAH%CezHܐC:V\pCiP5νC[gBV:4'o A{ϖ>24ᱛ+lc.C 5[֛r>? !7IX!00qC!Xh]@ME,3xrnwn+@hfO?vdR'^2|x4Y1?Y#Az>G4"։sǫR.(s[ $Q̱,Xe:S 宊lx;pd,4vA"+ᘘD$7<\9@g68`[b{CBkX̘4[zB9'"QFIn삼S+ߜ6mϟ7> I, OQ)$iZH -8n$S%Vx5f+uq9aWkQYw%B΁ z0j4Ts'hbH|O,{g+'qk -_dާ6zXt,/k/۶n.gD±wsYsk@'P|\0Nw6RJyps8mCHclt1/|j Ж̬~4#_c84֙U3R&yRJ2A"΅w# .ͤ\,uv>*/f4&rX_'`n^=d#.,4]%*+W' |,x\EC"~\2GpދBt#%cZz=G0 !v{EЉdXrR~×HYrzX<9ou\=-A󰲈@ U6_ӕQ4G3rFgn% lA`(.,;{(/SCT9CwZCy.:<@wm9X@S:qB-P]_iy˶_3C޳)y[%w7vN4) ΍/3>2t3q끑E='~JGR4Pham DX2ht}i7h>v&@OOy$=:%&Z26W -UPGeaϡnnL9bu5ZU[ `;ԍ;+'d -ey=¾3eY>&=%gOa>@DfKQ̽ ͻ&\i>pޫ`L.Ęny-նRX .np -;Sg>!3n\ {'gcX :]qA4}r72c$2YzNgXEm0E* h) -d^>8 -Xt3cZ̲{hNeR,eg38bw9}f`*R0pBIHoXĩ19c&gu{DutCI-D˜/H=+Ǚ^zat7ϓy-$ =_$//Tb.yAہ)[#(8l&a0B4d$xn&{<rC`p1*uV]2Td3 MwN3rDrwcH5+MTRSLa~w.s/Y1ʝo<0,JLNer7p5 \&D77}iپSfXqdb -8#vp&Iʚ P#vNzi7_ :^c4=-o~?B"Eendstream -endobj - -16095 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16096 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16097 0 obj -<> -endobj - -16098 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16099 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16100 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16101 0 obj -<> -stream -HkoFW~YЁCqn$kȵhj'Z݅\HJRיC sf^r{p[\TbqW'Ϟxӡ£ 2^HpO2R$$s|Pg{s2EM"]"u?_3P:/bI8dy('(X~D[ǍvxLzn7lUyFΞ2黿go;8^*RQ|Kuu') -@QZCD}h>BGQY^Y,ELkƶC\k4e7c@!5c՛1MPk͘kZ3)DZ֌֌i -Qo!5cB[ekPk͘kZ3)DZ֌֌i -Qo!5cB[ekk͘lf (ĵfLSz3)[ -qr-G\k4\ך1ך1M!-rĵfLSz˵q -qr-G\k4\ך1ך1M!-rĵfLSz˵q:qӔތ֌iVo4e7c@!5cB[k͘kZ3Z3)DZ֌i -QoV 5c@!5cB[k͘kZ3Z3)DZ֌i -QoV 5c[G"5c՛1ך1M͘lSJ ?]mKg\rBމшP!ʳ:[~4?߸Ǹ gO}ه[0V .M˪|Wg:N=ro4öipҰ?"ON><)*՘zyz]@NC2&WY{nOT8z-p?DyiϠO$}@x~/ӿ'o1xP(\~]=>k6JK4IdEYPWIAFnRD)DΛNRyfeݿ./$zuEe^,_ko~X-Uy6iao:aX5p0֬⮍UYbQeN+ mj,Ok_ &lMђHUW -*A^G$H[ݴ_zL}^l㊤%I&]y$^xtRY ޸n!&oq(d= #tXZ=~W9AWX5@jeRd6T7}8uf9dI=VCq<1CP1iK~oCjFp/ {{f:ԓtwP4#ʢGbeOț"I^\myM3o/8x3y0DžmXsyO>g %:|F@ `d6#oاCv86_O_z|yj"Е1O}h(zu3r^7P[OjZ.\J!|9vr={Y(g<lܴ^փ&KqU%>i.l.V6oPGQcgkrt)A+PB}k*{Sh0^G`*=DemR=0ٔɱpH.66}o 2ocޅOzCnǛ] +繁(. -_DdNɭ s^۳47d|NWgn~a)e25?6}s(SiT^rnnϡwmv%ϣI/je#A d#s,GC\͌!ɀJ<͛a@Y4y״b5ݑcec )~.Oށ>]CAS*/)&p1dqJ|0x~r(07=V>z(S􇪾;Q 7o8U>gJoM}oaW>YW8O׾22WO yn%_l-]uxC;˯θ9ߙ. 3S뼓Exfa.BaM"OY89.):&ǦѪ2\ȼ>3>x(͝<,|UʞRM}_~]j< iK%aO}]?f蓷0#op0j}wYͰVp |lIfTp69?=8gwݯw޿yyOJP?З6o/vy)Aczt^_tI 0 Qendstream -endobj - -16102 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16103 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16104 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16105 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16106 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16107 0 obj -<> -stream -HWN -ɸq'N`#1XA -;u!ywu}t{Q g˙%EөW~w*Q_HXS>qjTՔѯuiUr_tCqlC5F5UtGn*Z߬j h,]/>:jyi|yV$NQ:fsgNg.VrL(.S9Tum˺֦An'iä8oWQ(2NF!QJ'' ߫Oڪ(46(d3`}9ptbbQ XZs57O1`a0Vpo{+̽[ s{{g3>eS}gs 3>}.ϙ }ܳj;DFh-ŐS XBk),b),CFh-ŀ%bܳCR Y{Z#bܳZ!KpZkR Y{Z#b -{Kh-ŐS Y=ŀ%bܳZC -R Y{Z+bܳZZ!KpZkR Y{Z+bZK1d YkZ!KpZkR9CwO1` {!R Y{Z'bܳ:Z!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZ"/b),CwO1dq!!8!zV7Z"8`*MZŇcWO#)5~D@ߌ@qSTu;~9>Mz? -΍Cf몾9 we/e8Z;)g%M\V5<\܋{*aM-p[<ĉ6!NNY/_cEuG-9TuUm2Ƒ߮?9:7m!Cspֈg,k2$N|^DŽKa:iq')8|,mXc\1bȡ4qyCM,€&Mco**2B|v&ZI9 'ӫ!ē$BdK-n ^؜s)k)]|dM=Zbn4c5CկaXCYwb oa }usz+1n|y K-Fs1>}X)ްd6e+e/۰= -'"}n8ale{Wn*|lv7:>l[ Y}3vx=o8\52ͦ,-,#{}*]}\C/,n<8/u3_ rcZ^L ZiVʴRA+eZ1LʘV.hL+rIŐŵ(,-hi-ʹeX{!Kb7B),A-{#bX{!Kb7B),A-{+bZ{!KbB),A --{+bX{!KbB),A --{+bX{!KbwB),E1` -{'bX{!KbwB),A -{'bX{!KbwB),A -{/bZ{!k8k#YM6a 37Uoqӡ$Y16}‚&pE`&52n^ - mOwc7mo`2Xw˹DkaEnm67ebPp翩K^TW/ -ZQMslxoU*OW%F/.N't n (/6( -W *agwvv7yCi -5A0 bR[(]i&)O!G,XX`j%VB"XX`u#V/X=z5@Adͪtɷ++ V"V-X5jb>13}-bcf[ɷ%voK3'"=fOF3'"=fOE,{L|Xb>13}-bcf[ɷ%voK3'"=fO,voK3'"=fOE,{L|Xb>13}-bcf[ɷ%voK3'BV+voK3ӧ)ϓ?(xR,dAo6Q7!Mݹww#6n/?&%0Ǯ1|Mla{}㙗ը^Y]tR)wTUлdZ)]9?\?_pC;#_M3yF6o"LJن4=kw Ml:x+UKe}ylwsrn|A++ V&V+X-ZjUV!V'X: VO^zb 5kYݝ03-b%JJU VMZh=ff|E,{|Xb13-bcf[̌Ϸ%vo!̌Ϸ%voK33>"=ff|E,{|Xb13-bcf[̌Ϸ%vo!+cf[̌Ϸ%voK33>"=ff|E,{|Xb13-bcf[̌ϷՊcf[̌yEe -aAtft:.7%ݓlQX͍vsf~ަ8Hc~0~jWj.L^ZV}X_WaU8kuitAב&֊\3:rWv&O/piTɹ"VL,XX`j%VB"XX`u#V/X=z5@Adͺvη++ V"V-X5jb13-bcf -[η%v)oK3S8"=fpF3S8"=fpE,{L|Xb13-bcf -[η%v)oK3S8"=fp,v)oK3S8"=fpE,{L|Xb13-bcf -[η%v)oK3S8BV+v)oK3S.ϓek s:JfE$|=*VC. hU.s륚{]O1󁦉]U5$>P'J-9lb~ 0r/M7endstream -endobj - -16108 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16109 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16110 0 obj -<> -endobj - -16111 0 obj -<> -endobj - -16112 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16113 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16114 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16115 0 obj -<> -stream -Hmo6SHdQRQpq\- l+g~.53 (ҥ??.k_޾Wϙ4_a+;%Jsġ.n^7CmC.|}j].%Xe5LRZLQXnEi+r++1R\t1 sՄ\/mV\TX廓S,qhUK"[~\'! HމX.W\Tw,~j25bd cPRR -򢬾2ʲF;#J㪼,=dۡ66{l9>04fBvb|ihxf }ſ=fhn>^_xTE>.d9m;vÎ55x$$tu<)iwstAdGn L'Of(GXNt}lE7bo/ͦc0!evǫX~xێlزxz 0:?ga}>e ??6kH9&ݩc"ƿL_ǡ۵F봬b(R|c=ǫ18VW=xq8b̖Ѯc?)/n >W,~gSl|-M/ZHTE Χ%uح|N!$ ^we qʕ0+aK'tj W=\[8WEA95dϩg`t_>ҕCY/sĸ++DYie" -N*r'U7J% UZ)|DUJ!jZzTM GKKMCҪ b@YXBUJ#ښR5 M(d%T-JITeT-)UN)U]HDPU(9HIKRJUR Ɣ֔ҮFgp.JJYY 3J"ɒPTyBjT`RѺr)UkTqF*>7\P%{#%{KBB1bI)UajV$:ڜR%bwQ"k:rBŮ=DTfT)RJ|MNBŝiNIiQq7L)IuE?bTjLMu9b&T902R**(gI&&'T 3*YPByU`J;JPjWbN(9`>1~RajڛSZmJJDU T*s@u?3* ֤3FJ)JJBK*z:p3?S{صoM(UC,(} wu*ߴ00ߞ^2J_7C3\WWxɫumun\^q1*QI EtF -y~mhc璜d{wp -^itĹ"/9>"uWl2)zj0O -C2p3IdIm<`&$ûRHP`r2 )PcF ap<\ٍc)7L,-!*,p\X.'ac'wEY'AUi֣.*o/`6 - \8 `i Zݱ|}.@)4xD)q*J]\uf*upEȅT]2}dv6? -jE޳U[ wVa(խ"(ߪ7t8ݦ}4Ƭn2\=o0lǗ+'qi 1"\\"DsYHTYsK kb50S^^ɔ P*$Br3L -1T^U7.=)7njZ%lpⳲF'nETm@+4eר 5H]6L<&e11aX ,?ɁqMY@ĪI UPV߷Nꛥw=16AIڅG3YAXH )?%g9;ů>kfi8&)g ެL bI!osB;m>OU֕cYY/e۽u mBEYtJ fBDs^?a{?YBC܌{=ΪXNVZ{չh{+fyܢS`7S Tk\_̽qx>v"rq;' eendstream -endobj - -16116 0 obj -<>/P 1433 0 R/Type/Annot/A 44403 0 R/Subtype/Link/Rect[93.6006012 599.629028 305.221008 619.309021]/Border[0 0 0]/H/N>> -endobj - -16117 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16118 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16119 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16120 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16121 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16122 0 obj -<> -stream -HWko_(Buh&@㸅)b1+6TEnnoÖfFE.ٳgv,œ_M~ gϞ8  uqʧ6Jbz6eNAn*-EWY6fSnS-Ԧ -N~0 IFiLLe(U*{ݧiC;r M%v5miZmjCaKl$q]q=,"L -J9QJG5_"uơ x]Y, qNF8:D1d(,9`zך0Fpo{+̽[ --sw{{g3^pXp3>f}'O s -S>ܧ}&ϘLp2Rl!CwO1` {!R Y{Z#bܳ!Z!KpRkR Y{Z#bRK1d YjZ!KpRkR XBj),=KRK1d YjZ+b),!CwO1dqZ!KpRkR Y{Z+bRK1d YjZ!KpRkR XBj),=KRK1d YjZKH-Ő%gBj),=KRKUR Y=ŀ%b),bRK1d YjZ!KpRR XBj),=KRK1d YjZKH-Ő%guBj),=KRK1` ,NH-Ő%guBj) -Z!R Y=ŐgaeNEov -IkU~dAi(*_v^,jvut4ޗ^F. AljAW@w$]PUݩEITcB{nuج]j5lޤWGO=}~+RIbTZnݔvS_d d^7o.(B[7P -Y?yVX=8cɷoeS^ݖݺƅ?ޛ">B;L#Nxs - -.f]ֻOߞձ}w۱ңpP }fljre9d橺8{=Wg/`/7./r9aKࠦ?T?ٔ%0ʦ,N]E6rS{oeUAevjiv!S}?Z)bJwn ->ԺX6m?rƍ?ìچ˴Y2-1N>lUZ8ǵJbGP}Qu%XtJC5&xm>d\j(y5U+@=ÙꂌO-*2pLļu~E=pLd;t1{tS*sX'n'1Ő ,-Ǵ嘖 }W&4eU3 מi2oe}Б d}.+Q6u^ARƛ>pmEavSTb4Lb7lZ{fqJ,e78! -V9(tWYmgqDȲjw\w3`|neU'ph[0AmLJNa,d}7ISa+UuMH"2<5HhկKݨyl[*d03D3s r29,(,3R@V#[  n/-H*s,m),LpB`DFendstream -endobj - -16123 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16124 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16125 0 obj -<> -endobj - -16126 0 obj -<> -endobj - -16127 0 obj -[280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 460 0 0 0 0 0 0 0 0 0 0 280 0 0 0 0 0 0 740 580 780 700 520 480 0 0 280 0 0 440 900 740 840 560 0 580 520 420 640 0 0 680 0 0 0 0 0 0 0 0 660 660 640 660 640 280 660 600 240 0 580 240 940 600 640 660 0 320 440 300 600 560 800 560 580 460] -endobj - -16128 0 obj -<> -stream -xeWiTSp)*1HbZTAT (eA$q8UAZQ ZT&:[[A*RSj]}aMZdߓaSeYo/ m$kG'-JKI#\{A$衝S5ҁ:ʁ5}5c²vdmljZG~0Dbʡtֲ1r -;{GJ3 g|4f!3Yļ23.,aXƞŸSSz~*=b"1љܖ TJS3N z8kD܈N~keVo0?-v[|reem% -b6AGP=;\gRϐTN*%l[ 4VV{_SRݩ<]XgV'qW*r4 Q+w$bӊ%JYmn+GF"l\2f!H`Cp")#8Bi$<4ncB5ܶ0,~P/_wM9sHaR^vx;ܪ;]bu1+kG;WO7lKoQdc^:4FRxVppr@<,(^ fBPFUZ"߶kuwtDO{9ز@- Qr!y4C`^rI3nM[Nf&0ԝ:qb: )$l:Ѹ\չ?7 S0 -DcƆV6#me1NöUXF%ԩdw:> (󰟋&})+?ϥG$ [ف}%-e)-63(y -a"}uEMͻG GK=y)"ph78֜X^s-%#)B![C)nm'T -GU0}W) j I>%sn1kp\mkR}"4bRAK'ڡk7a֒Fֺ`3̗ݲW3,FK0P529;#gG^]eyɊ[`ǹ.b:ɧr8ԂL'E+ekpڱZ l߉+pXq9@qğEZbEyNJXY74,WR 95&(oZNvD) -QV\\ƍEyٺm!цSƦ~;"pEő~q{ڼBPhdDB%K G&RE{!C.:#y O9'D1DчDR%{С(")d]kC*\N'3I0qx6=WʺdyP>W(aQK[WicU! 0 &ϞRI>f ?@x8KūPx.O;yT)\~m䓢{E -YCz 7/}Sُyw db[vdl_V'_h ELߞ\~'ρщyC Nqp%$$G 0K~iݢUEĞ3ArFSI-4kSBx=<1EHeJslsA%J#$"I?T)Cۇt"#>ҲXA>"3h*YQ? -)Fmj X.~:#m( )zп -=\́nO 4JH,-) -Hix4HT`ߓa"t L( DtNpuQ0ݸ[ߍqç_̣ -)ƲTN,z>SNl04c%5W 3Hx-uW?:b+Yli5UYh3VUWw߹A* 0KTzP H8/F2};va"#6hp#/&6#jjc]/mmԦU'ct,FH4Ԉ+,xOSс'0{jpa p/q$꟦cO[*f6=%.,4s:Eq'҂ &C m;tTQV}mU {wUiiqMꄛ9poI`ئHez׺ -#x'exRS=|l 9<%u]E͸zWQf>?'ĭ1trӠ锊ߜwE\ hcWjp@ V.,^UHuBu]a؃\V:U`ɮlA^v?=?]S]]SYpN((>zU;bË/^s{6 ZB֖9YR=~6P*#57E^CDqpD{3}Bdqm,c"g-^ 'X<|\٦<X[r4d{hfrV>a՘m(._mq" 0Z#޴ eܱ,jRcזJ}6'3{ N[(zfnRqJsoN*!Ҭ Y],J> -endobj - -16130 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16131 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16132 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16133 0 obj -<> -stream -HWS}V;19*a)(E\HaǾ{+-NȭUhv0_O'G&3Ϟ8:L~OlHm4W>-) ̛余&Iv6O|<4qΙENrƚzD$3D4eVz\5x65;.z4m~}OLm?Olutpw\oFA<ߞ,ϊv{;N2BNh]:̜'ym.>d$cY'I,]sɉf^$,=Ĉef Y9`Ij#r{{+ʽr>(9p+9p+9p+p_(p_(%p_*%p_*%p_*p_)p_)}Ug-(&{ Vb%,^b{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb{ZZ+1fVbăJYڽĈZ+1ficv/1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+I@k%,^b{1K@k%,^6JYjm@k%,^6JYjm@k%,^6JYjm@k%,^6JYjm$Ak%,^b{1 7_ ]HoETDŊ -J+r+hJZ*VJU*hJZҪV"ЊJ+(\$,%1-,вJ-Rw {mȽĘTȽa,r/1f-{r/ 6KiKY@KށK͒Z^bZR R  R  R + -R + -R R R kR k֒TȽTȽ*TȽ*TȽTȽTȽTȽTȽ`TȽ`$,%1>r->1`2p~][cM=J`cJ1$4oW׍y2[5';'IUZJpM?>|_/.`,eUOh۽^@#x=sj4~s5B*F$?ŷvl=4+%?Gz g[>mڴUÈBşӁ-e6ϯ~_'*0MFy/60%Xm+lU_{ͯ]\&CCSߩCV}fs3o4M~_^6kmm ?7U}7{[˓_Nώ2hٌ+rҾGKsY$m䵍8`3{h?e4׆`f#3ѣZm8kYXy 67GQɬ$Je7g0/ұ.icꔦ63Z]ڀi8}]2i:rgNzT9m:u*C9=WeiiUcmX}z\ִz'1Z3|hfuEVխky{P ᄊ f͇xz,cp]ʍtoKj? yv~=0ݷꬭu˒΋w[&gm9(S%t\mI_:pͭ|}^RyUb̊ -J+r+hJZ*VJU*hJZҪV"ЊJ+(\$,%1bYeZVi9唖Z*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ#ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘTȽĘ$F,{1 h{1 h{1 h{1 h{1 h{1 h{1 h{1 h{1 h c֒@%,8/_+oGI|!im=߬ A+ÜVFq|aK >鍡{lu.;w͵9mnǧ+.믶bendstream -endobj - -16134 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16135 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16136 0 obj -<> -endobj - -16137 0 obj -<> -endobj - -16138 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16139 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16140 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16141 0 obj -<> -stream -H]oH+ެүgc{ԏ, *fvgLӜs"vhӷ? H<3љV*gw$)|J4ԐVӛZϧU][+0 I )x8,y ,kvS:7 ;2.ujZv[}zc,JZl&Eb Ni ^Hy$EЈ3/,.WC -x+pNZ[4J;ttjYfG3li[$ -'(f2aF7 -[2z+[F ;1z';Fzs>g@3B/}! F_ -%/{3z/3g -fYhqzaKfiZfYh Z#XK虵FfYh Z#XK虵FfYh Z#XK虵FfYh Z#XK虵Ff -,8=Ͱ%XK4 -NO3l ,zfYh Z+XK3l ,zfYh Z+XK3l ,zfYh Z+XK3l ,zfYh Z+XKY ,8=Ͱ%XK4 -NO3l ,zfm&XK虵`-Ͱ%XK虵`-BKgf4Ö`-BKgf4 -Y [4 -Y ,zfm&XKYkiZfYhqz{A|ϒa5hN*. -e E, gI&ӛO޳M9cy/?fFeeEwcO&םԵZ;몹ƟoZx?9EWujF{UUX%FcH m2yjQXW}_F -$>1gۘTeЪk>ϤɹV:ppdl -֫"8yw*ǭ Z+o\7T+E9/_-?l8NڹۙO*ռ -Դrt!Yjd,_b2lPm3 N/~n̦*{GnޚM, Yقnc?} ґ XX(K*S;&|vsX|4qN⥺|z{pC G9\wxx-Qe,KY|>jMSf7oД^8Vca)axJ&|..8ꡋo ^_޽}9-wiT8b|Pf31.U˒ֹG4D-/kWG3$]*<颒fNy>suCsY/hSų2(M\w˻y1 ቙W[ y;$ -0'endstream -endobj - -16142 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16143 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16144 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16145 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16146 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16147 0 obj -<> -stream -HWmoI>?:aĮ"LClgU3ftZzzÞ??>uv8{BR_񪴒9J#ٺ*͖g`sV~/z>cyqnx"$lrSY`|2=,Qph򵆩.LHSw~ `GL;[ UJ_&8;G_?9fEP|qEp}&ń*6DRQ Q@܅ɧ6@IK+++kk[[;;;{{}}YA6- -I6!*gE6!*gOm"TET+ զ6D3JB PjSj%Ԇ(}ZI6PmjC>S$TET+ զ6@Mm"gjSj%Զ(Ԇ}jԆ}jCT>PmjC>S"TETզ6@Mm"gUjSj(B QLPmjC>S"TE6!`VMm"gUjSۢЄjSr PjSr Q9(B QLPmjC>S&TE6!`VMm"gՄjSզ6D3jB QLPmjԆ(}ZM6!`VMmMm٧6@Mm٧6DCBЌ{-x"lrS왐:0.ϣn̎IG?~㣿'N0_Jr;3e,hw4 -&di6?E*#ʻjz]K&3"*-pjPbn04\՘TӺDpFk׍MVx]wi6cCZOU -] -۠Ə׃ MOtHu}a}OWgW5q/cm̛l3_-c\r)u. ~"N4/5r ڔ??zܹ#p*Y Ѫ[?֗FpFZ(=c{R)|E.a=G TW gW[Xٰ; ;q ->^3$9 'yAނ֙х ~]u}>i8\ݲKH0{| @T7S~=/h1~ͻ-wKkڹ\+ճQaTc' |mC`Xemŷ9abݠ#EZGx0u0cLZ?VB= ضg9KR2 - nM8 -)tJK)L&cq|݇s,.:8 "C^MxEx.'WUlqq>r jmm{0=lb<6k#&/N];Tu,q3]2ǾxP.o,y}:]1-k9 K OlPqvH]Z%˵ly2Q|l*.!I)t H_bFv>9yX&ˉ %zPmץ[ }]Y 04pe4{殼{1(Y((%@ v2eӝ[ZnO*>f kY2;:F6WU -[=R'8a8֓ uj(iL&}LsDSkI4\dtt SƘ;⭯F0?HcK7i| 4c; dXğOٷ1;/ٟqKJ|Ud-G@C-Ǘ^x Atdb Ih^֟Sw.S?[|zoH.^:$ W `=|8 aZf?GX2VtҔԻP꭛#œsҸbz?lWXpj̝?_el]vUZ5ϪKiG1:r -ӟ.FD&)xD ZMMoާK\ St}R["huK`'=z+&sІ^,`Ò>4+lYQ f` 9ÏN$\{cGJ#ZI78AeP=^i֫ ˱#[ -h?WZB7;BjZ} <8n2z.*zB;,ʔ2n#躀xMIͪr^lvdݷ@Gr Ù ʹ)pA8iS.[oy/&D;$t[/FD#xn9P@0_R2ueE+`R"4v9JX|8rHbv-Xض;8 -dhaK6^RkU -?# c&>QL:Eh@.!GBJ\ -K`yj hPntύR'lˉYh/ #-ya"Rhn0օ(CJåBWjؒ@ lŘ5-H*NJ|ڤV -s.X_B^0K)\, /T?#Z߽ k;0 &[ p=o2:8\֛EjH7"ctY-;ѴRt;LV)s$>cMOc#XdEw#E૎6Pn&Ze|I~Y.7CT$d0D _78!\4ICbp91h:gz%qw7, }jGuɘnx>/P 7024 0 R/Type/Annot/A 22050 0 R/Subtype/Link/Rect[212 670 222 678]/Border[0 0 0]/H/N>> -endobj - -16149 0 obj -<>/P 7024 0 R/Type/Annot/A 22002 0 R/Subtype/Link/Rect[224 670 236 678]/Border[0 0 0]/H/N>> -endobj - -16150 0 obj -<>/P 7024 0 R/Type/Annot/A 34276 0 R/Subtype/Link/Rect[248 660 260 668]/Border[0 0 0]/H/N>> -endobj - -16151 0 obj -<>/P 7024 0 R/Type/Annot/A 21408 0 R/Subtype/Link/Rect[200 650 213 659]/Border[0 0 0]/H/N>> -endobj - -16152 0 obj -<>/P 7024 0 R/Type/Annot/A 21346 0 R/Subtype/Link/Rect[214 650 224 658]/Border[0 0 0]/H/N>> -endobj - -16153 0 obj -<>/P 7024 0 R/Type/Annot/A 33637 0 R/Subtype/Link/Rect[226 650 234 658]/Border[0 0 0]/H/N>> -endobj - -16154 0 obj -<>/P 7024 0 R/Type/Annot/A 20541 0 R/Subtype/Link/Rect[253 640 265 648]/Border[0 0 0]/H/N>> -endobj - -16155 0 obj -<>/P 7024 0 R/Type/Annot/A 20125 0 R/Subtype/Link/Rect[187 630 193 638]/Border[0 0 0]/H/N>> -endobj - -16156 0 obj -<>/P 7024 0 R/Type/Annot/A 20091 0 R/Subtype/Link/Rect[195 630 209 638]/Border[0 0 0]/H/N>> -endobj - -16157 0 obj -<>/P 7024 0 R/Type/Annot/A 19677 0 R/Subtype/Link/Rect[211 630 225 638]/Border[0 0 0]/H/N>> -endobj - -16158 0 obj -<>/P 7024 0 R/Type/Annot/A 19642 0 R/Subtype/Link/Rect[227 630 244 639]/Border[0 0 0]/H/N>> -endobj - -16159 0 obj -<>/P 7024 0 R/Type/Annot/A 19095 0 R/Subtype/Link/Rect[245 630 259 638]/Border[0 0 0]/H/N>> -endobj - -16160 0 obj -<>/P 7024 0 R/Type/Annot/A 19061 0 R/Subtype/Link/Rect[261 630 275 638]/Border[0 0 0]/H/N>> -endobj - -16161 0 obj -<>/P 7024 0 R/Type/Annot/A 19037 0 R/Subtype/Link/Rect[277 630 291 638]/Border[0 0 0]/H/N>> -endobj - -16162 0 obj -<>/P 7024 0 R/Type/Annot/A 18969 0 R/Subtype/Link/Rect[151 620 167 629]/Border[0 0 0]/H/N>> -endobj - -16163 0 obj -<>/P 7024 0 R/Type/Annot/A 18953 0 R/Subtype/Link/Rect[168 620 182 628]/Border[0 0 0]/H/N>> -endobj - -16164 0 obj -<>/P 7024 0 R/Type/Annot/A 18900 0 R/Subtype/Link/Rect[184 620 198 628]/Border[0 0 0]/H/N>> -endobj - -16165 0 obj -<>/P 7024 0 R/Type/Annot/A 18874 0 R/Subtype/Link/Rect[200 620 217 629]/Border[0 0 0]/H/N>> -endobj - -16166 0 obj -<>/P 7024 0 R/Type/Annot/A 18841 0 R/Subtype/Link/Rect[217 620 231 628]/Border[0 0 0]/H/N>> -endobj - -16167 0 obj -<>/P 7024 0 R/Type/Annot/A 18817 0 R/Subtype/Link/Rect[233 620 247 628]/Border[0 0 0]/H/N>> -endobj - -16168 0 obj -<>/P 7024 0 R/Type/Annot/A 18772 0 R/Subtype/Link/Rect[249 620 263 628]/Border[0 0 0]/H/N>> -endobj - -16169 0 obj -<>/P 7024 0 R/Type/Annot/A 18740 0 R/Subtype/Link/Rect[265 620 282 629]/Border[0 0 0]/H/N>> -endobj - -16170 0 obj -<>/P 7024 0 R/Type/Annot/A 18702 0 R/Subtype/Link/Rect[283 620 297 628]/Border[0 0 0]/H/N>> -endobj - -16171 0 obj -<>/P 7024 0 R/Type/Annot/A 18678 0 R/Subtype/Link/Rect[151 610 167 619]/Border[0 0 0]/H/N>> -endobj - -16172 0 obj -<>/P 7024 0 R/Type/Annot/A 18647 0 R/Subtype/Link/Rect[168 610 182 618]/Border[0 0 0]/H/N>> -endobj - -16173 0 obj -<>/P 7024 0 R/Type/Annot/A 18630 0 R/Subtype/Link/Rect[184 610 198 618]/Border[0 0 0]/H/N>> -endobj - -16174 0 obj -<>/P 7024 0 R/Type/Annot/A 18597 0 R/Subtype/Link/Rect[200 610 214 618]/Border[0 0 0]/H/N>> -endobj - -16175 0 obj -<>/P 7024 0 R/Type/Annot/A 18571 0 R/Subtype/Link/Rect[216 610 230 618]/Border[0 0 0]/H/N>> -endobj - -16176 0 obj -<>/P 7024 0 R/Type/Annot/A 29066 0 R/Subtype/Link/Rect[232 610 246 618]/Border[0 0 0]/H/N>> -endobj - -16177 0 obj -<>/P 7024 0 R/Type/Annot/A 18489 0 R/Subtype/Link/Rect[248 610 262 618]/Border[0 0 0]/H/N>> -endobj - -16178 0 obj -<>/P 7024 0 R/Type/Annot/A 18467 0 R/Subtype/Link/Rect[264 610 278 618]/Border[0 0 0]/H/N>> -endobj - -16179 0 obj -<>/P 7024 0 R/Type/Annot/A 18429 0 R/Subtype/Link/Rect[280 610 293 618]/Border[0 0 0]/H/N>> -endobj - -16180 0 obj -<>/P 7024 0 R/Type/Annot/A 18406 0 R/Subtype/Link/Rect[295 610 309 618]/Border[0 0 0]/H/N>> -endobj - -16181 0 obj -<>/P 7024 0 R/Type/Annot/A 18333 0 R/Subtype/Link/Rect[151 600 165 608]/Border[0 0 0]/H/N>> -endobj - -16182 0 obj -<>/P 7024 0 R/Type/Annot/A 18297 0 R/Subtype/Link/Rect[167 600 181 608]/Border[0 0 0]/H/N>> -endobj - -16183 0 obj -<>/P 7024 0 R/Type/Annot/A 18232 0 R/Subtype/Link/Rect[183 600 197 608]/Border[0 0 0]/H/N>> -endobj - -16184 0 obj -<>/P 7024 0 R/Type/Annot/A 18193 0 R/Subtype/Link/Rect[199 600 213 608]/Border[0 0 0]/H/N>> -endobj - -16185 0 obj -<>/P 7024 0 R/Type/Annot/A 18152 0 R/Subtype/Link/Rect[215 600 229 608]/Border[0 0 0]/H/N>> -endobj - -16186 0 obj -<>/P 7024 0 R/Type/Annot/A 18049 0 R/Subtype/Link/Rect[231 600 245 608]/Border[0 0 0]/H/N>> -endobj - -16187 0 obj -<>/P 7024 0 R/Type/Annot/A 26508 0 R/Subtype/Link/Rect[247 600 261 608]/Border[0 0 0]/H/N>> -endobj - -16188 0 obj -<>/P 7024 0 R/Type/Annot/A 18001 0 R/Subtype/Link/Rect[263 600 275 608]/Border[0 0 0]/H/N>> -endobj - -16189 0 obj -<>/P 7024 0 R/Type/Annot/A 25945 0 R/Subtype/Link/Rect[210 590 222 599]/Border[0 0 0]/H/N>> -endobj - -16190 0 obj -<>/P 7024 0 R/Type/Annot/A 17956 0 R/Subtype/Link/Rect[223 590 233 598]/Border[0 0 0]/H/N>> -endobj - -16191 0 obj -<>/P 7024 0 R/Type/Annot/A 17940 0 R/Subtype/Link/Rect[235 590 249 598]/Border[0 0 0]/H/N>> -endobj - -16192 0 obj -<>/P 7024 0 R/Type/Annot/A 17913 0 R/Subtype/Link/Rect[251 590 265 598]/Border[0 0 0]/H/N>> -endobj - -16193 0 obj -<>/P 7024 0 R/Type/Annot/A 17836 0 R/Subtype/Link/Rect[267 590 281 598]/Border[0 0 0]/H/N>> -endobj - -16194 0 obj -<>/P 7024 0 R/Type/Annot/A 17814 0 R/Subtype/Link/Rect[283 590 295 598]/Border[0 0 0]/H/N>> -endobj - -16195 0 obj -<>/P 7024 0 R/Type/Annot/A 17786 0 R/Subtype/Link/Rect[192 580 209 589]/Border[0 0 0]/H/N>> -endobj - -16196 0 obj -<>/P 7024 0 R/Type/Annot/A 17748 0 R/Subtype/Link/Rect[209 580 221 588]/Border[0 0 0]/H/N>> -endobj - -16197 0 obj -<>/P 7024 0 R/Type/Annot/A 17671 0 R/Subtype/Link/Rect[188 570 200 578]/Border[0 0 0]/H/N>> -endobj - -16198 0 obj -<>/P 7024 0 R/Type/Annot/A 17583 0 R/Subtype/Link/Rect[216 560 230 568]/Border[0 0 0]/H/N>> -endobj - -16199 0 obj -<>/P 7024 0 R/Type/Annot/A 17560 0 R/Subtype/Link/Rect[232 560 249 569]/Border[0 0 0]/H/N>> -endobj - -16200 0 obj -<>/P 7024 0 R/Type/Annot/A 17537 0 R/Subtype/Link/Rect[249 560 261 568]/Border[0 0 0]/H/N>> -endobj - -16201 0 obj -<>/P 7024 0 R/Type/Annot/A 17519 0 R/Subtype/Link/Rect[206 550 218 558]/Border[0 0 0]/H/N>> -endobj - -16202 0 obj -<>/P 7024 0 R/Type/Annot/A 17494 0 R/Subtype/Link/Rect[197 540 209 549]/Border[0 0 0]/H/N>> -endobj - -16203 0 obj -<>/P 7024 0 R/Type/Annot/A 17466 0 R/Subtype/Link/Rect[210 540 220 548]/Border[0 0 0]/H/N>> -endobj - -16204 0 obj -<>/P 7024 0 R/Type/Annot/A 17433 0 R/Subtype/Link/Rect[222 540 232 548]/Border[0 0 0]/H/N>> -endobj - -16205 0 obj -<>/P 7024 0 R/Type/Annot/A 21394 0 R/Subtype/Link/Rect[234 540 248 548]/Border[0 0 0]/H/N>> -endobj - -16206 0 obj -<>/P 7024 0 R/Type/Annot/A 17378 0 R/Subtype/Link/Rect[250 540 264 548]/Border[0 0 0]/H/N>> -endobj - -16207 0 obj -<>/P 7024 0 R/Type/Annot/A 17336 0 R/Subtype/Link/Rect[266 540 280 548]/Border[0 0 0]/H/N>> -endobj - -16208 0 obj -<>/P 7024 0 R/Type/Annot/A 17323 0 R/Subtype/Link/Rect[151 530 167 539]/Border[0 0 0]/H/N>> -endobj - -16209 0 obj -<>/P 7024 0 R/Type/Annot/A 16977 0 R/Subtype/Link/Rect[168 530 182 538]/Border[0 0 0]/H/N>> -endobj - -16210 0 obj -<>/P 7024 0 R/Type/Annot/A 16966 0 R/Subtype/Link/Rect[184 530 198 538]/Border[0 0 0]/H/N>> -endobj - -16211 0 obj -<>/P 7024 0 R/Type/Annot/A 16933 0 R/Subtype/Link/Rect[200 530 214 538]/Border[0 0 0]/H/N>> -endobj - -16212 0 obj -<>/P 7024 0 R/Type/Annot/A 16911 0 R/Subtype/Link/Rect[216 530 230 538]/Border[0 0 0]/H/N>> -endobj - -16213 0 obj -<>/P 7024 0 R/Type/Annot/A 16874 0 R/Subtype/Link/Rect[232 530 246 538]/Border[0 0 0]/H/N>> -endobj - -16214 0 obj -<>/P 7024 0 R/Type/Annot/A 16843 0 R/Subtype/Link/Rect[248 530 265 539]/Border[0 0 0]/H/N>> -endobj - -16215 0 obj -<>/P 7024 0 R/Type/Annot/A 16820 0 R/Subtype/Link/Rect[265 530 279 538]/Border[0 0 0]/H/N>> -endobj - -16216 0 obj -<>/P 7024 0 R/Type/Annot/A 16776 0 R/Subtype/Link/Rect[281 530 295 538]/Border[0 0 0]/H/N>> -endobj - -16217 0 obj -<>/P 7024 0 R/Type/Annot/A 16752 0 R/Subtype/Link/Rect[151 520 165 528]/Border[0 0 0]/H/N>> -endobj - -16218 0 obj -<>/P 7024 0 R/Type/Annot/A 16707 0 R/Subtype/Link/Rect[167 520 181 528]/Border[0 0 0]/H/N>> -endobj - -16219 0 obj -<>/P 7024 0 R/Type/Annot/A 18843 0 R/Subtype/Link/Rect[183 520 197 528]/Border[0 0 0]/H/N>> -endobj - -16220 0 obj -<>/P 7024 0 R/Type/Annot/A 16657 0 R/Subtype/Link/Rect[199 520 213 528]/Border[0 0 0]/H/N>> -endobj - -16221 0 obj -<>/P 7024 0 R/Type/Annot/A 16637 0 R/Subtype/Link/Rect[215 520 229 528]/Border[0 0 0]/H/N>> -endobj - -16222 0 obj -<>/P 7024 0 R/Type/Annot/A 16607 0 R/Subtype/Link/Rect[231 520 245 528]/Border[0 0 0]/H/N>> -endobj - -16223 0 obj -<>/P 7024 0 R/Type/Annot/A 16575 0 R/Subtype/Link/Rect[247 520 261 528]/Border[0 0 0]/H/N>> -endobj - -16224 0 obj -<>/P 7024 0 R/Type/Annot/A 16538 0 R/Subtype/Link/Rect[263 520 277 528]/Border[0 0 0]/H/N>> -endobj - -16225 0 obj -<>/P 7024 0 R/Type/Annot/A 16506 0 R/Subtype/Link/Rect[279 520 293 528]/Border[0 0 0]/H/N>> -endobj - -16226 0 obj -<>/P 7024 0 R/Type/Annot/A 18631 0 R/Subtype/Link/Rect[151 510 167 519]/Border[0 0 0]/H/N>> -endobj - -16227 0 obj -<>/P 7024 0 R/Type/Annot/A 18596 0 R/Subtype/Link/Rect[168 510 182 518]/Border[0 0 0]/H/N>> -endobj - -16228 0 obj -<>/P 7024 0 R/Type/Annot/A 18570 0 R/Subtype/Link/Rect[184 510 201 519]/Border[0 0 0]/H/N>> -endobj - -16229 0 obj -<>/P 7024 0 R/Type/Annot/A 44784 0 R/Subtype/Link/Rect[201 510 215 518]/Border[0 0 0]/H/N>> -endobj - -16230 0 obj -<>/P 7024 0 R/Type/Annot/A 28474 0 R/Subtype/Link/Rect[217 510 234 519]/Border[0 0 0]/H/N>> -endobj - -16231 0 obj -<>/P 7024 0 R/Type/Annot/A 44700 0 R/Subtype/Link/Rect[235 510 249 518]/Border[0 0 0]/H/N>> -endobj - -16232 0 obj -<>/P 7024 0 R/Type/Annot/A 44675 0 R/Subtype/Link/Rect[251 510 265 518]/Border[0 0 0]/H/N>> -endobj - -16233 0 obj -<>/P 7024 0 R/Type/Annot/A 44649 0 R/Subtype/Link/Rect[267 510 281 518]/Border[0 0 0]/H/N>> -endobj - -16234 0 obj -<>/P 7024 0 R/Type/Annot/A 27609 0 R/Subtype/Link/Rect[151 500 167 509]/Border[0 0 0]/H/N>> -endobj - -16235 0 obj -<>/P 7024 0 R/Type/Annot/A 44567 0 R/Subtype/Link/Rect[168 500 182 508]/Border[0 0 0]/H/N>> -endobj - -16236 0 obj -<>/P 7024 0 R/Type/Annot/A 44516 0 R/Subtype/Link/Rect[184 500 198 508]/Border[0 0 0]/H/N>> -endobj - -16237 0 obj -<>/P 7024 0 R/Type/Annot/A 44497 0 R/Subtype/Link/Rect[200 500 214 508]/Border[0 0 0]/H/N>> -endobj - -16238 0 obj -<>/P 7024 0 R/Type/Annot/A 44453 0 R/Subtype/Link/Rect[216 500 230 508]/Border[0 0 0]/H/N>> -endobj - -16239 0 obj -<>/P 7024 0 R/Type/Annot/A 44416 0 R/Subtype/Link/Rect[232 500 246 508]/Border[0 0 0]/H/N>> -endobj - -16240 0 obj -<>/P 7024 0 R/Type/Annot/A 44377 0 R/Subtype/Link/Rect[248 500 262 508]/Border[0 0 0]/H/N>> -endobj - -16241 0 obj -<>/P 7024 0 R/Type/Annot/A 25900 0 R/Subtype/Link/Rect[264 500 276 508]/Border[0 0 0]/H/N>> -endobj - -16242 0 obj -<>/P 7024 0 R/Type/Annot/A 37764 0 R/Subtype/Link/Rect[189 490 201 498]/Border[0 0 0]/H/N>> -endobj - -16243 0 obj -<>/P 7024 0 R/Type/Annot/A 17949 0 R/Subtype/Link/Rect[282 480 294 488]/Border[0 0 0]/H/N>> -endobj - -16244 0 obj -<>/P 7024 0 R/Type/Annot/A 44243 0 R/Subtype/Link/Rect[202 470 214 478]/Border[0 0 0]/H/N>> -endobj - -16245 0 obj -<>/P 7024 0 R/Type/Annot/A 44204 0 R/Subtype/Link/Rect[227 460 239 468]/Border[0 0 0]/H/N>> -endobj - -16246 0 obj -<>/P 7024 0 R/Type/Annot/A 24902 0 R/Subtype/Link/Rect[207 440 219 448]/Border[0 0 0]/H/N>> -endobj - -16247 0 obj -<>/P 7024 0 R/Type/Annot/A 17803 0 R/Subtype/Link/Rect[231 430 243 438]/Border[0 0 0]/H/N>> -endobj - -16248 0 obj -<>/P 7024 0 R/Type/Annot/A 17761 0 R/Subtype/Link/Rect[216 420 230 428]/Border[0 0 0]/H/N>> -endobj - -16249 0 obj -<>/P 7024 0 R/Type/Annot/A 17730 0 R/Subtype/Link/Rect[232 420 244 428]/Border[0 0 0]/H/N>> -endobj - -16250 0 obj -<>/P 7024 0 R/Type/Annot/A 44032 0 R/Subtype/Link/Rect[211 410 228 419]/Border[0 0 0]/H/N>> -endobj - -16251 0 obj -<>/P 7024 0 R/Type/Annot/A 37494 0 R/Subtype/Link/Rect[229 410 241 418]/Border[0 0 0]/H/N>> -endobj - -16252 0 obj -<>/P 7024 0 R/Type/Annot/A 43962 0 R/Subtype/Link/Rect[221 400 235 408]/Border[0 0 0]/H/N>> -endobj - -16253 0 obj -<>/P 7024 0 R/Type/Annot/A 43929 0 R/Subtype/Link/Rect[237 400 251 408]/Border[0 0 0]/H/N>> -endobj - -16254 0 obj -<>/P 7024 0 R/Type/Annot/A 43878 0 R/Subtype/Link/Rect[253 400 265 408]/Border[0 0 0]/H/N>> -endobj - -16255 0 obj -<>/P 7024 0 R/Type/Annot/A 43842 0 R/Subtype/Link/Rect[216 390 233 399]/Border[0 0 0]/H/N>> -endobj - -16256 0 obj -<>/P 7024 0 R/Type/Annot/A 43808 0 R/Subtype/Link/Rect[233 390 247 398]/Border[0 0 0]/H/N>> -endobj - -16257 0 obj -<>/P 7024 0 R/Type/Annot/A 43776 0 R/Subtype/Link/Rect[249 390 266 399]/Border[0 0 0]/H/N>> -endobj - -16258 0 obj -<>/P 7024 0 R/Type/Annot/A 17379 0 R/Subtype/Link/Rect[267 390 279 398]/Border[0 0 0]/H/N>> -endobj - -16259 0 obj -<>/P 7024 0 R/Type/Annot/A 43700 0 R/Subtype/Link/Rect[200 380 208 388]/Border[0 0 0]/H/N>> -endobj - -16260 0 obj -<>/P 7024 0 R/Type/Annot/A 43661 0 R/Subtype/Link/Rect[167 370 177 378]/Border[0 0 0]/H/N>> -endobj - -16261 0 obj -<>/P 7024 0 R/Type/Annot/A 43617 0 R/Subtype/Link/Rect[179 370 193 378]/Border[0 0 0]/H/N>> -endobj - -16262 0 obj -<>/P 7024 0 R/Type/Annot/A 43586 0 R/Subtype/Link/Rect[195 370 209 378]/Border[0 0 0]/H/N>> -endobj - -16263 0 obj -<>/P 7024 0 R/Type/Annot/A 43543 0 R/Subtype/Link/Rect[211 370 223 378]/Border[0 0 0]/H/N>> -endobj - -16264 0 obj -<>/P 7024 0 R/Type/Annot/A 43517 0 R/Subtype/Link/Rect[211 360 221 368]/Border[0 0 0]/H/N>> -endobj - -16265 0 obj -<>/P 7024 0 R/Type/Annot/A 43468 0 R/Subtype/Link/Rect[223 360 233 368]/Border[0 0 0]/H/N>> -endobj - -16266 0 obj -<>/P 7024 0 R/Type/Annot/A 43447 0 R/Subtype/Link/Rect[235 360 245 368]/Border[0 0 0]/H/N>> -endobj - -16267 0 obj -<>/P 7024 0 R/Type/Annot/A 43402 0 R/Subtype/Link/Rect[247 360 257 368]/Border[0 0 0]/H/N>> -endobj - -16268 0 obj -<>/P 7024 0 R/Type/Annot/A 43364 0 R/Subtype/Link/Rect[259 360 271 368]/Border[0 0 0]/H/N>> -endobj - -16269 0 obj -<>/P 7024 0 R/Type/Annot/A 43320 0 R/Subtype/Link/Rect[211 350 221 358]/Border[0 0 0]/H/N>> -endobj - -16270 0 obj -<>/P 7024 0 R/Type/Annot/A 43268 0 R/Subtype/Link/Rect[223 350 233 358]/Border[0 0 0]/H/N>> -endobj - -16271 0 obj -<>/P 7024 0 R/Type/Annot/A 43232 0 R/Subtype/Link/Rect[235 350 245 358]/Border[0 0 0]/H/N>> -endobj - -16272 0 obj -<>/P 7024 0 R/Type/Annot/A 43179 0 R/Subtype/Link/Rect[247 350 259 358]/Border[0 0 0]/H/N>> -endobj - -16273 0 obj -<>/P 7024 0 R/Type/Annot/A 43160 0 R/Subtype/Link/Rect[216 340 224 348]/Border[0 0 0]/H/N>> -endobj - -16274 0 obj -<>/P 7024 0 R/Type/Annot/A 16590 0 R/Subtype/Link/Rect[216 330 224 338]/Border[0 0 0]/H/N>> -endobj - -16275 0 obj -<>/P 7024 0 R/Type/Annot/A 43092 0 R/Subtype/Link/Rect[213 320 225 329]/Border[0 0 0]/H/N>> -endobj - -16276 0 obj -<>/P 7024 0 R/Type/Annot/A 43027 0 R/Subtype/Link/Rect[186 310 196 319]/Border[0 0 0]/H/N>> -endobj - -16277 0 obj -<>/P 7024 0 R/Type/Annot/A 42993 0 R/Subtype/Link/Rect[198 310 211 319]/Border[0 0 0]/H/N>> -endobj - -16278 0 obj -<>/P 7024 0 R/Type/Annot/A 42969 0 R/Subtype/Link/Rect[213 310 227 319]/Border[0 0 0]/H/N>> -endobj - -16279 0 obj -<>/P 7024 0 R/Type/Annot/A 42927 0 R/Subtype/Link/Rect[229 310 241 319]/Border[0 0 0]/H/N>> -endobj - -16280 0 obj -<>/P 7024 0 R/Type/Annot/A 42894 0 R/Subtype/Link/Rect[215 290 228 299]/Border[0 0 0]/H/N>> -endobj - -16281 0 obj -<>/P 7024 0 R/Type/Annot/A 42858 0 R/Subtype/Link/Rect[228 290 238 299]/Border[0 0 0]/H/N>> -endobj - -16282 0 obj -<>/P 7024 0 R/Type/Annot/A 42826 0 R/Subtype/Link/Rect[240 290 250 299]/Border[0 0 0]/H/N>> -endobj - -16283 0 obj -<>/P 7024 0 R/Type/Annot/A 42776 0 R/Subtype/Link/Rect[252 290 266 299]/Border[0 0 0]/H/N>> -endobj - -16284 0 obj -<>/P 7024 0 R/Type/Annot/A 42747 0 R/Subtype/Link/Rect[268 290 281 299]/Border[0 0 0]/H/N>> -endobj - -16285 0 obj -<>/P 7024 0 R/Type/Annot/A 42711 0 R/Subtype/Link/Rect[283 290 297 299]/Border[0 0 0]/H/N>> -endobj - -16286 0 obj -<>/P 7024 0 R/Type/Annot/A 42677 0 R/Subtype/Link/Rect[151 280 165 289]/Border[0 0 0]/H/N>> -endobj - -16287 0 obj -<>/P 7024 0 R/Type/Annot/A 18157 0 R/Subtype/Link/Rect[167 280 181 289]/Border[0 0 0]/H/N>> -endobj - -16288 0 obj -<>/P 7024 0 R/Type/Annot/A 42593 0 R/Subtype/Link/Rect[183 280 195 289]/Border[0 0 0]/H/N>> -endobj - -16289 0 obj -<>/P 7024 0 R/Type/Annot/A 42566 0 R/Subtype/Link/Rect[153 270 165 279]/Border[0 0 0]/H/N>> -endobj - -16290 0 obj -<>/P 7024 0 R/Type/Annot/A 42532 0 R/Subtype/Link/Rect[197 260 211 269]/Border[0 0 0]/H/N>> -endobj - -16291 0 obj -<>/P 7024 0 R/Type/Annot/A 42491 0 R/Subtype/Link/Rect[213 260 227 269]/Border[0 0 0]/H/N>> -endobj - -16292 0 obj -<>/P 7024 0 R/Type/Annot/A 42451 0 R/Subtype/Link/Rect[229 260 241 269]/Border[0 0 0]/H/N>> -endobj - -16293 0 obj -<>/P 7024 0 R/Type/Annot/A 42398 0 R/Subtype/Link/Rect[202 250 214 259]/Border[0 0 0]/H/N>> -endobj - -16294 0 obj -<>/P 7024 0 R/Type/Annot/A 42373 0 R/Subtype/Link/Rect[197 240 213 249]/Border[0 0 0]/H/N>> -endobj - -16295 0 obj -<>/P 7024 0 R/Type/Annot/A 42341 0 R/Subtype/Link/Rect[214 240 228 249]/Border[0 0 0]/H/N>> -endobj - -16296 0 obj -<>/P 7024 0 R/Type/Annot/A 42301 0 R/Subtype/Link/Rect[230 240 242 249]/Border[0 0 0]/H/N>> -endobj - -16297 0 obj -<>/P 7024 0 R/Type/Annot/A 42249 0 R/Subtype/Link/Rect[180 220 197 229]/Border[0 0 0]/H/N>> -endobj - -16298 0 obj -<>/P 7024 0 R/Type/Annot/A 42221 0 R/Subtype/Link/Rect[198 220 210 229]/Border[0 0 0]/H/N>> -endobj - -16299 0 obj -<>/P 7024 0 R/Type/Annot/A 42163 0 R/Subtype/Link/Rect[168 210 185 219]/Border[0 0 0]/H/N>> -endobj - -16300 0 obj -<>/P 7024 0 R/Type/Annot/A 42128 0 R/Subtype/Link/Rect[186 210 198 219]/Border[0 0 0]/H/N>> -endobj - -16301 0 obj -<>/P 7024 0 R/Type/Annot/A 42082 0 R/Subtype/Link/Rect[173 200 185 209]/Border[0 0 0]/H/N>> -endobj - -16302 0 obj -<>/P 7024 0 R/Type/Annot/A 42042 0 R/Subtype/Link/Rect[170 190 184 199]/Border[0 0 0]/H/N>> -endobj - -16303 0 obj -<>/P 7024 0 R/Type/Annot/A 41998 0 R/Subtype/Link/Rect[186 190 202 199]/Border[0 0 0]/H/N>> -endobj - -16304 0 obj -<>/P 7024 0 R/Type/Annot/A 41960 0 R/Subtype/Link/Rect[203 190 215 199]/Border[0 0 0]/H/N>> -endobj - -16305 0 obj -<>/P 7024 0 R/Type/Annot/A 41931 0 R/Subtype/Link/Rect[213 180 229 189]/Border[0 0 0]/H/N>> -endobj - -16306 0 obj -<>/P 7024 0 R/Type/Annot/A 41890 0 R/Subtype/Link/Rect[230 180 242 189]/Border[0 0 0]/H/N>> -endobj - -16307 0 obj -<>/P 7024 0 R/Type/Annot/A 41840 0 R/Subtype/Link/Rect[197 170 213 179]/Border[0 0 0]/H/N>> -endobj - -16308 0 obj -<>/P 7024 0 R/Type/Annot/A 17335 0 R/Subtype/Link/Rect[214 170 228 179]/Border[0 0 0]/H/N>> -endobj - -16309 0 obj -<>/P 7024 0 R/Type/Annot/A 41735 0 R/Subtype/Link/Rect[230 170 244 179]/Border[0 0 0]/H/N>> -endobj - -16310 0 obj -<>/P 7024 0 R/Type/Annot/A 41686 0 R/Subtype/Link/Rect[246 170 260 179]/Border[0 0 0]/H/N>> -endobj - -16311 0 obj -<>/P 7024 0 R/Type/Annot/A 41646 0 R/Subtype/Link/Rect[262 170 276 179]/Border[0 0 0]/H/N>> -endobj - -16312 0 obj -<>/P 7024 0 R/Type/Annot/A 41601 0 R/Subtype/Link/Rect[278 170 292 179]/Border[0 0 0]/H/N>> -endobj - -16313 0 obj -<>/P 7024 0 R/Type/Annot/A 41559 0 R/Subtype/Link/Rect[294 170 306 179]/Border[0 0 0]/H/N>> -endobj - -16314 0 obj -<>/P 7024 0 R/Type/Annot/A 16858 0 R/Subtype/Link/Rect[173 160 185 169]/Border[0 0 0]/H/N>> -endobj - -16315 0 obj -<>/P 7024 0 R/Type/Annot/A 41470 0 R/Subtype/Link/Rect[192 150 206 159]/Border[0 0 0]/H/N>> -endobj - -16316 0 obj -<>/P 7024 0 R/Type/Annot/A 41437 0 R/Subtype/Link/Rect[208 150 225 159]/Border[0 0 0]/H/N>> -endobj - -16317 0 obj -<>/P 7024 0 R/Type/Annot/A 41416 0 R/Subtype/Link/Rect[225 150 237 159]/Border[0 0 0]/H/N>> -endobj - -16318 0 obj -<>/P 7024 0 R/Type/Annot/A 41353 0 R/Subtype/Link/Rect[377 670 389 678]/Border[0 0 0]/H/N>> -endobj - -16319 0 obj -<>/P 7024 0 R/Type/Annot/A 41322 0 R/Subtype/Link/Rect[406 660 418 668]/Border[0 0 0]/H/N>> -endobj - -16320 0 obj -<>/P 7024 0 R/Type/Annot/A 41285 0 R/Subtype/Link/Rect[413 650 427 658]/Border[0 0 0]/H/N>> -endobj - -16321 0 obj -<>/P 7024 0 R/Type/Annot/A 41260 0 R/Subtype/Link/Rect[429 650 446 659]/Border[0 0 0]/H/N>> -endobj - -16322 0 obj -<>/P 7024 0 R/Type/Annot/A 41211 0 R/Subtype/Link/Rect[447 650 461 658]/Border[0 0 0]/H/N>> -endobj - -16323 0 obj -<>/P 7024 0 R/Type/Annot/A 41186 0 R/Subtype/Link/Rect[463 650 477 658]/Border[0 0 0]/H/N>> -endobj - -16324 0 obj -<>/P 7024 0 R/Type/Annot/A 41160 0 R/Subtype/Link/Rect[479 650 493 658]/Border[0 0 0]/H/N>> -endobj - -16325 0 obj -<>/P 7024 0 R/Type/Annot/A 41128 0 R/Subtype/Link/Rect[495 650 507 658]/Border[0 0 0]/H/N>> -endobj - -16326 0 obj -<>/P 7024 0 R/Type/Annot/A 41097 0 R/Subtype/Link/Rect[419 640 432 649]/Border[0 0 0]/H/N>> -endobj - -16327 0 obj -<>/P 7024 0 R/Type/Annot/A 44842 0 R/Subtype/Link/Rect[432 640 442 648]/Border[0 0 0]/H/N>> -endobj - -16328 0 obj -<>/P 7024 0 R/Type/Annot/A 40742 0 R/Subtype/Link/Rect[444 640 458 648]/Border[0 0 0]/H/N>> -endobj - -16329 0 obj -<>/P 7024 0 R/Type/Annot/A 40710 0 R/Subtype/Link/Rect[460 640 474 648]/Border[0 0 0]/H/N>> -endobj - -16330 0 obj -<>/P 7024 0 R/Type/Annot/A 40677 0 R/Subtype/Link/Rect[476 640 490 648]/Border[0 0 0]/H/N>> -endobj - -16331 0 obj -<>/P 7024 0 R/Type/Annot/A 40112 0 R/Subtype/Link/Rect[492 640 504 648]/Border[0 0 0]/H/N>> -endobj - -16332 0 obj -<>/P 7024 0 R/Type/Annot/A 40084 0 R/Subtype/Link/Rect[400 630 417 639]/Border[0 0 0]/H/N>> -endobj - -16333 0 obj -<>/P 7024 0 R/Type/Annot/A 39526 0 R/Subtype/Link/Rect[417 630 429 638]/Border[0 0 0]/H/N>> -endobj - -16334 0 obj -<>/P 7024 0 R/Type/Annot/A 39489 0 R/Subtype/Link/Rect[400 620 417 629]/Border[0 0 0]/H/N>> -endobj - -16335 0 obj -<>/P 7024 0 R/Type/Annot/A 38968 0 R/Subtype/Link/Rect[417 620 431 628]/Border[0 0 0]/H/N>> -endobj - -16336 0 obj -<>/P 7024 0 R/Type/Annot/A 38924 0 R/Subtype/Link/Rect[433 620 450 629]/Border[0 0 0]/H/N>> -endobj - -16337 0 obj -<>/P 7024 0 R/Type/Annot/A 38392 0 R/Subtype/Link/Rect[451 620 465 628]/Border[0 0 0]/H/N>> -endobj - -16338 0 obj -<>/P 7024 0 R/Type/Annot/A 38342 0 R/Subtype/Link/Rect[467 620 481 628]/Border[0 0 0]/H/N>> -endobj - -16339 0 obj -<>/P 7024 0 R/Type/Annot/A 38310 0 R/Subtype/Link/Rect[483 620 499 629]/Border[0 0 0]/H/N>> -endobj - -16340 0 obj -<>/P 7024 0 R/Type/Annot/A 38275 0 R/Subtype/Link/Rect[500 620 514 628]/Border[0 0 0]/H/N>> -endobj - -16341 0 obj -<>/P 7024 0 R/Type/Annot/A 42467 0 R/Subtype/Link/Rect[359 610 373 618]/Border[0 0 0]/H/N>> -endobj - -16342 0 obj -<>/P 7024 0 R/Type/Annot/A 36790 0 R/Subtype/Link/Rect[375 610 389 618]/Border[0 0 0]/H/N>> -endobj - -16343 0 obj -<>/P 7024 0 R/Type/Annot/A 36763 0 R/Subtype/Link/Rect[391 610 403 618]/Border[0 0 0]/H/N>> -endobj - -16344 0 obj -<>/P 7024 0 R/Type/Annot/A 36710 0 R/Subtype/Link/Rect[397 600 409 608]/Border[0 0 0]/H/N>> -endobj - -16345 0 obj -<>/P 7024 0 R/Type/Annot/A 36687 0 R/Subtype/Link/Rect[401 590 413 598]/Border[0 0 0]/H/N>> -endobj - -16346 0 obj -<>/P 7024 0 R/Type/Annot/A 35890 0 R/Subtype/Link/Rect[410 580 426 589]/Border[0 0 0]/H/N>> -endobj - -16347 0 obj -<>/P 7024 0 R/Type/Annot/A 35855 0 R/Subtype/Link/Rect[427 580 441 588]/Border[0 0 0]/H/N>> -endobj - -16348 0 obj -<>/P 7024 0 R/Type/Annot/A 38151 0 R/Subtype/Link/Rect[443 580 457 588]/Border[0 0 0]/H/N>> -endobj - -16349 0 obj -<>/P 7024 0 R/Type/Annot/A 35047 0 R/Subtype/Link/Rect[459 580 471 588]/Border[0 0 0]/H/N>> -endobj - -16350 0 obj -<>/P 7024 0 R/Type/Annot/A 34258 0 R/Subtype/Link/Rect[397 570 409 578]/Border[0 0 0]/H/N>> -endobj - -16351 0 obj -<>/P 7024 0 R/Type/Annot/A 34226 0 R/Subtype/Link/Rect[410 560 426 569]/Border[0 0 0]/H/N>> -endobj - -16352 0 obj -<>/P 7024 0 R/Type/Annot/A 34187 0 R/Subtype/Link/Rect[427 560 441 568]/Border[0 0 0]/H/N>> -endobj - -16353 0 obj -<>/P 7024 0 R/Type/Annot/A 33628 0 R/Subtype/Link/Rect[443 560 455 568]/Border[0 0 0]/H/N>> -endobj - -16354 0 obj -<>/P 7024 0 R/Type/Annot/A 33600 0 R/Subtype/Link/Rect[397 550 409 558]/Border[0 0 0]/H/N>> -endobj - -16355 0 obj -<>/P 7024 0 R/Type/Annot/A 33063 0 R/Subtype/Link/Rect[405 540 421 549]/Border[0 0 0]/H/N>> -endobj - -16356 0 obj -<>/P 7024 0 R/Type/Annot/A 33038 0 R/Subtype/Link/Rect[422 540 436 548]/Border[0 0 0]/H/N>> -endobj - -16357 0 obj -<>/P 7024 0 R/Type/Annot/A 32544 0 R/Subtype/Link/Rect[438 540 452 548]/Border[0 0 0]/H/N>> -endobj - -16358 0 obj -<>/P 7024 0 R/Type/Annot/A 32517 0 R/Subtype/Link/Rect[454 540 468 548]/Border[0 0 0]/H/N>> -endobj - -16359 0 obj -<>/P 7024 0 R/Type/Annot/A 31826 0 R/Subtype/Link/Rect[470 540 484 548]/Border[0 0 0]/H/N>> -endobj - -16360 0 obj -<>/P 7024 0 R/Type/Annot/A 31791 0 R/Subtype/Link/Rect[486 540 500 548]/Border[0 0 0]/H/N>> -endobj - -16361 0 obj -<>/P 7024 0 R/Type/Annot/A 31095 0 R/Subtype/Link/Rect[502 540 514 548]/Border[0 0 0]/H/N>> -endobj - -16362 0 obj -<>/P 7024 0 R/Type/Annot/A 31039 0 R/Subtype/Link/Rect[397 530 409 538]/Border[0 0 0]/H/N>> -endobj - -16363 0 obj -<>/P 7024 0 R/Type/Annot/A 30989 0 R/Subtype/Link/Rect[406 520 418 528]/Border[0 0 0]/H/N>> -endobj - -16364 0 obj -<>/P 7024 0 R/Type/Annot/A 30274 0 R/Subtype/Link/Rect[414 510 428 518]/Border[0 0 0]/H/N>> -endobj - -16365 0 obj -<>/P 7024 0 R/Type/Annot/A 30241 0 R/Subtype/Link/Rect[430 510 444 518]/Border[0 0 0]/H/N>> -endobj - -16366 0 obj -<>/P 7024 0 R/Type/Annot/A 30204 0 R/Subtype/Link/Rect[446 510 458 518]/Border[0 0 0]/H/N>> -endobj - -16367 0 obj -<>/P 7024 0 R/Type/Annot/A 30150 0 R/Subtype/Link/Rect[397 500 409 508]/Border[0 0 0]/H/N>> -endobj - -16368 0 obj -<>/P 7024 0 R/Type/Annot/A 30108 0 R/Subtype/Link/Rect[400 490 417 499]/Border[0 0 0]/H/N>> -endobj - -16369 0 obj -<>/P 7024 0 R/Type/Annot/A 30066 0 R/Subtype/Link/Rect[417 490 431 498]/Border[0 0 0]/H/N>> -endobj - -16370 0 obj -<>/P 7024 0 R/Type/Annot/A 29318 0 R/Subtype/Link/Rect[433 490 447 498]/Border[0 0 0]/H/N>> -endobj - -16371 0 obj -<>/P 7024 0 R/Type/Annot/A 29280 0 R/Subtype/Link/Rect[449 490 463 498]/Border[0 0 0]/H/N>> -endobj - -16372 0 obj -<>/P 7024 0 R/Type/Annot/A 29240 0 R/Subtype/Link/Rect[465 490 479 498]/Border[0 0 0]/H/N>> -endobj - -16373 0 obj -<>/P 7024 0 R/Type/Annot/A 29201 0 R/Subtype/Link/Rect[481 490 493 498]/Border[0 0 0]/H/N>> -endobj - -16374 0 obj -<>/P 7024 0 R/Type/Annot/A 29153 0 R/Subtype/Link/Rect[410 480 424 488]/Border[0 0 0]/H/N>> -endobj - -16375 0 obj -<>/P 7024 0 R/Type/Annot/A 29125 0 R/Subtype/Link/Rect[426 480 440 488]/Border[0 0 0]/H/N>> -endobj - -16376 0 obj -<>/P 7024 0 R/Type/Annot/A 29079 0 R/Subtype/Link/Rect[442 480 454 488]/Border[0 0 0]/H/N>> -endobj - -16377 0 obj -<>/P 7024 0 R/Type/Annot/A 28559 0 R/Subtype/Link/Rect[410 470 426 479]/Border[0 0 0]/H/N>> -endobj - -16378 0 obj -<>/P 7024 0 R/Type/Annot/A 28516 0 R/Subtype/Link/Rect[427 470 441 478]/Border[0 0 0]/H/N>> -endobj - -16379 0 obj -<>/P 7024 0 R/Type/Annot/A 28498 0 R/Subtype/Link/Rect[443 470 455 478]/Border[0 0 0]/H/N>> -endobj - -16380 0 obj -<>/P 7024 0 R/Type/Annot/A 28450 0 R/Subtype/Link/Rect[397 460 409 468]/Border[0 0 0]/H/N>> -endobj - -16381 0 obj -<>/P 7024 0 R/Type/Annot/A 28410 0 R/Subtype/Link/Rect[405 450 419 458]/Border[0 0 0]/H/N>> -endobj - -16382 0 obj -<>/P 7024 0 R/Type/Annot/A 28364 0 R/Subtype/Link/Rect[421 450 435 458]/Border[0 0 0]/H/N>> -endobj - -16383 0 obj -<>/P 7024 0 R/Type/Annot/A 27631 0 R/Subtype/Link/Rect[437 450 451 458]/Border[0 0 0]/H/N>> -endobj - -16384 0 obj -<>/P 7024 0 R/Type/Annot/A 27595 0 R/Subtype/Link/Rect[453 450 465 458]/Border[0 0 0]/H/N>> -endobj - -16385 0 obj -<>/P 7024 0 R/Type/Annot/A 38394 0 R/Subtype/Link/Rect[397 440 409 448]/Border[0 0 0]/H/N>> -endobj - -16386 0 obj -<>/P 7024 0 R/Type/Annot/A 26974 0 R/Subtype/Link/Rect[400 430 412 438]/Border[0 0 0]/H/N>> -endobj - -16387 0 obj -<>/P 7024 0 R/Type/Annot/A 26930 0 R/Subtype/Link/Rect[395 420 409 428]/Border[0 0 0]/H/N>> -endobj - -16388 0 obj -<>/P 7024 0 R/Type/Annot/A 26507 0 R/Subtype/Link/Rect[411 420 425 428]/Border[0 0 0]/H/N>> -endobj - -16389 0 obj -<>/P 7024 0 R/Type/Annot/A 37721 0 R/Subtype/Link/Rect[427 420 441 428]/Border[0 0 0]/H/N>> -endobj - -16390 0 obj -<>/P 7024 0 R/Type/Annot/A 25944 0 R/Subtype/Link/Rect[443 420 457 428]/Border[0 0 0]/H/N>> -endobj - -16391 0 obj -<>/P 7024 0 R/Type/Annot/A 25901 0 R/Subtype/Link/Rect[459 420 473 428]/Border[0 0 0]/H/N>> -endobj - -16392 0 obj -<>/P 7024 0 R/Type/Annot/A 25867 0 R/Subtype/Link/Rect[475 420 489 428]/Border[0 0 0]/H/N>> -endobj - -16393 0 obj -<>/P 7024 0 R/Type/Annot/A 25835 0 R/Subtype/Link/Rect[359 410 375 419]/Border[0 0 0]/H/N>> -endobj - -16394 0 obj -<>/P 7024 0 R/Type/Annot/A 35882 0 R/Subtype/Link/Rect[376 410 390 418]/Border[0 0 0]/H/N>> -endobj - -16395 0 obj -<>/P 7024 0 R/Type/Annot/A 24977 0 R/Subtype/Link/Rect[392 410 409 419]/Border[0 0 0]/H/N>> -endobj - -16396 0 obj -<>/P 7024 0 R/Type/Annot/A 35068 0 R/Subtype/Link/Rect[409 410 423 418]/Border[0 0 0]/H/N>> -endobj - -16397 0 obj -<>/P 7024 0 R/Type/Annot/A 24293 0 R/Subtype/Link/Rect[425 410 439 418]/Border[0 0 0]/H/N>> -endobj - -16398 0 obj -<>/P 7024 0 R/Type/Annot/A 24251 0 R/Subtype/Link/Rect[441 410 455 418]/Border[0 0 0]/H/N>> -endobj - -16399 0 obj -<>/P 7024 0 R/Type/Annot/A 23440 0 R/Subtype/Link/Rect[457 410 469 418]/Border[0 0 0]/H/N>> -endobj - -16400 0 obj -<>/P 7024 0 R/Type/Annot/A 33659 0 R/Subtype/Link/Rect[397 400 409 408]/Border[0 0 0]/H/N>> -endobj - -16401 0 obj -<>/P 7024 0 R/Type/Annot/A 22660 0 R/Subtype/Link/Rect[404 390 418 398]/Border[0 0 0]/H/N>> -endobj - -16402 0 obj -<>/P 7024 0 R/Type/Annot/A 22623 0 R/Subtype/Link/Rect[420 390 434 398]/Border[0 0 0]/H/N>> -endobj - -16403 0 obj -<>/P 7024 0 R/Type/Annot/A 22060 0 R/Subtype/Link/Rect[436 390 450 398]/Border[0 0 0]/H/N>> -endobj - -16404 0 obj -<>/P 7024 0 R/Type/Annot/A 22005 0 R/Subtype/Link/Rect[452 390 466 398]/Border[0 0 0]/H/N>> -endobj - -16405 0 obj -<>/P 7024 0 R/Type/Annot/A 16802 0 R/Subtype/Link/Rect[468 390 482 398]/Border[0 0 0]/H/N>> -endobj - -16406 0 obj -<>/P 7024 0 R/Type/Annot/A 21412 0 R/Subtype/Link/Rect[484 390 498 398]/Border[0 0 0]/H/N>> -endobj - -16407 0 obj -<>/P 7024 0 R/Type/Annot/A 21349 0 R/Subtype/Link/Rect[500 390 514 398]/Border[0 0 0]/H/N>> -endobj - -16408 0 obj -<>/P 7024 0 R/Type/Annot/A 21006 0 R/Subtype/Link/Rect[359 380 373 388]/Border[0 0 0]/H/N>> -endobj - -16409 0 obj -<>/P 7024 0 R/Type/Annot/A 20543 0 R/Subtype/Link/Rect[375 380 391 389]/Border[0 0 0]/H/N>> -endobj - -16410 0 obj -<>/P 7024 0 R/Type/Annot/A 20126 0 R/Subtype/Link/Rect[392 380 406 388]/Border[0 0 0]/H/N>> -endobj - -16411 0 obj -<>/P 7024 0 R/Type/Annot/A 30284 0 R/Subtype/Link/Rect[408 380 422 388]/Border[0 0 0]/H/N>> -endobj - -16412 0 obj -<>/P 7024 0 R/Type/Annot/A 19678 0 R/Subtype/Link/Rect[424 380 438 388]/Border[0 0 0]/H/N>> -endobj - -16413 0 obj -<>/P 7024 0 R/Type/Annot/A 19649 0 R/Subtype/Link/Rect[440 380 454 388]/Border[0 0 0]/H/N>> -endobj - -16414 0 obj -<>/P 7024 0 R/Type/Annot/A 37619 0 R/Subtype/Link/Rect[456 380 468 388]/Border[0 0 0]/H/N>> -endobj - -16415 0 obj -<>/P 7024 0 R/Type/Annot/A 19068 0 R/Subtype/Link/Rect[408 370 416 378]/Border[0 0 0]/H/N>> -endobj - -16416 0 obj -<>/P 7024 0 R/Type/Annot/A 19044 0 R/Subtype/Link/Rect[428 360 436 368]/Border[0 0 0]/H/N>> -endobj - -16417 0 obj -<>/P 7024 0 R/Type/Annot/A 18976 0 R/Subtype/Link/Rect[383 350 397 358]/Border[0 0 0]/H/N>> -endobj - -16418 0 obj -<>/P 7024 0 R/Type/Annot/A 18954 0 R/Subtype/Link/Rect[399 350 411 358]/Border[0 0 0]/H/N>> -endobj - -16419 0 obj -<>/P 7024 0 R/Type/Annot/A 37611 0 R/Subtype/Link/Rect[396 340 410 348]/Border[0 0 0]/H/N>> -endobj - -16420 0 obj -<>/P 7024 0 R/Type/Annot/A 18881 0 R/Subtype/Link/Rect[412 340 424 348]/Border[0 0 0]/H/N>> -endobj - -16421 0 obj -<>/P 7024 0 R/Type/Annot/A 18842 0 R/Subtype/Link/Rect[378 330 392 339]/Border[0 0 0]/H/N>> -endobj - -16422 0 obj -<>/P 7024 0 R/Type/Annot/A 18824 0 R/Subtype/Link/Rect[394 330 406 339]/Border[0 0 0]/H/N>> -endobj - -16423 0 obj -<>/P 7024 0 R/Type/Annot/A 18777 0 R/Subtype/Link/Rect[401 320 415 329]/Border[0 0 0]/H/N>> -endobj - -16424 0 obj -<>/P 7024 0 R/Type/Annot/A 18748 0 R/Subtype/Link/Rect[417 320 431 329]/Border[0 0 0]/H/N>> -endobj - -16425 0 obj -<>/P 7024 0 R/Type/Annot/A 18703 0 R/Subtype/Link/Rect[433 320 447 329]/Border[0 0 0]/H/N>> -endobj - -16426 0 obj -<>/P 7024 0 R/Type/Annot/A 18679 0 R/Subtype/Link/Rect[449 320 461 329]/Border[0 0 0]/H/N>> -endobj - -16427 0 obj -<>/P 7024 0 R/Type/Annot/A 18648 0 R/Subtype/Link/Rect[459 310 471 319]/Border[0 0 0]/H/N>> -endobj - -16428 0 obj -<>/P 7024 0 R/Type/Annot/A 18634 0 R/Subtype/Link/Rect[414 300 426 309]/Border[0 0 0]/H/N>> -endobj - -16429 0 obj -<>/P 7024 0 R/Type/Annot/A 18604 0 R/Subtype/Link/Rect[397 290 409 299]/Border[0 0 0]/H/N>> -endobj - -16430 0 obj -<>/P 7024 0 R/Type/Annot/A 18572 0 R/Subtype/Link/Rect[424 280 436 289]/Border[0 0 0]/H/N>> -endobj - -16431 0 obj -<>/P 7024 0 R/Type/Annot/A 18544 0 R/Subtype/Link/Rect[410 270 422 279]/Border[0 0 0]/H/N>> -endobj - -16432 0 obj -<>/P 7024 0 R/Type/Annot/A 18490 0 R/Subtype/Link/Rect[448 260 460 269]/Border[0 0 0]/H/N>> -endobj - -16433 0 obj -<>/P 7024 0 R/Type/Annot/A 18468 0 R/Subtype/Link/Rect[434 250 446 259]/Border[0 0 0]/H/N>> -endobj - -16434 0 obj -<>/P 7024 0 R/Type/Annot/A 18430 0 R/Subtype/Link/Rect[418 240 426 249]/Border[0 0 0]/H/N>> -endobj - -16435 0 obj -<>/P 7024 0 R/Type/Annot/A 18407 0 R/Subtype/Link/Rect[410 230 422 239]/Border[0 0 0]/H/N>> -endobj - -16436 0 obj -<>/P 7024 0 R/Type/Annot/A 18334 0 R/Subtype/Link/Rect[415 220 427 229]/Border[0 0 0]/H/N>> -endobj - -16437 0 obj -<>/P 7024 0 R/Type/Annot/A 37569 0 R/Subtype/Link/Rect[429 210 441 219]/Border[0 0 0]/H/N>> -endobj - -16438 0 obj -<>/P 7024 0 R/Type/Annot/A 36683 0 R/Subtype/Link/Rect[405 200 421 209]/Border[0 0 0]/H/N>> -endobj - -16439 0 obj -<>/P 7024 0 R/Type/Annot/A 18200 0 R/Subtype/Link/Rect[422 200 436 209]/Border[0 0 0]/H/N>> -endobj - -16440 0 obj -<>/P 7024 0 R/Type/Annot/A 18155 0 R/Subtype/Link/Rect[438 200 450 209]/Border[0 0 0]/H/N>> -endobj - -16441 0 obj -<>/P 7024 0 R/Type/Annot/A 18050 0 R/Subtype/Link/Rect[397 190 409 199]/Border[0 0 0]/H/N>> -endobj - -16442 0 obj -<>/P 7024 0 R/Type/Annot/A 18030 0 R/Subtype/Link/Rect[424 180 436 189]/Border[0 0 0]/H/N>> -endobj - -16443 0 obj -<>/P 7024 0 R/Type/Annot/A 18002 0 R/Subtype/Link/Rect[439 170 450 179]/Border[0 0 0]/H/N>> -endobj - -16444 0 obj -<>/P 7024 0 R/Type/Annot/A 17989 0 R/Subtype/Link/Rect[434 160 445 169]/Border[0 0 0]/H/N>> -endobj - -16445 0 obj -<>/P 7024 0 R/Type/Annot/A 17957 0 R/Subtype/Link/Rect[410 150 421 159]/Border[0 0 0]/H/N>> -endobj - -16446 0 obj -<>/P 7024 0 R/Type/Annot/A 17941 0 R/Subtype/Link/Rect[155 668 170 677]/Border[0 0 0]/H/N>> -endobj - -16447 0 obj -<>/P 7024 0 R/Type/Annot/A 17914 0 R/Subtype/Link/Rect[172 668 187 677]/Border[0 0 0]/H/N>> -endobj - -16448 0 obj -<>/P 7024 0 R/Type/Annot/A 22624 0 R/Subtype/Link/Rect[191 668 211 677]/Border[0 0 0]/H/N>> -endobj - -16449 0 obj -<>/P 7024 0 R/Type/Annot/A 22061 0 R/Subtype/Link/Rect[172 448 190 457]/Border[0 0 0]/H/N>> -endobj - -16450 0 obj -<>/P 7024 0 R/Type/Annot/A 17787 0 R/Subtype/Link/Rect[371 388 381 397]/Border[0 0 0]/H/N>> -endobj - -16451 0 obj -<>/P 7024 0 R/Type/Annot/A 17749 0 R/Subtype/Link/Rect[383 388 403 397]/Border[0 0 0]/H/N>> -endobj - -16452 0 obj -<>/P 7024 0 R/Type/Annot/A 21410 0 R/Subtype/Link/Rect[186 298 203 307]/Border[0 0 0]/H/N>> -endobj - -16453 0 obj -<>/P 7024 0 R/Type/Annot/A 17591 0 R/Subtype/Link/Rect[194 288 213 297]/Border[0 0 0]/H/N>> -endobj - -16454 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16455 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16456 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16457 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16458 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16459 0 obj -<> -stream -HWێ8}Wa@̦H l2; 0koC0mY{~/eb[n&,e)dHزV?_^Lɿ T ɓ`^ZS`='Fڼ*嗎 ET'js]~0_7,؆y !Hxf{4ĘŤ倰͢ PA࢐͢BK% a/ aaaa a aC}H!>tGa#}L1>va}BO)>uا{G!Zl+/;yHr9h:Lg`b%\L~ߊ#)X(`=5W#\90|fWve-e///dA/Ma/.ɫ kui6_ov tK!Lc'"x8;Jb.b -^jM=UHLm ._Tn&ʉ{O:߾_JE{󗒡 lY讅I"΀phSkrp(:s8.wE-Y:ץV23.\z:5aְ;v̺Zs9-)s^{ԐP/?zx[|(韰J=X)-擾9*6Hlq<&3_MBC -DB,vegt'Mg~3u3J㵏JvqOFԶxt;[=Y`χ11Ij' d+ yN3zCҔH.3άNul#3\h%`H$c]uw4^&ߔlY߲C{F7ts[-#{L< ekN:-7KCG7ziʘye׊kۓߏm&ou[կvW~\x@CtԂ:=r—b2ĝq -]ĄN?f͜):7q[8砛|KapAv'Z!ve:xzxa5vОK,:[yqA22+<2Ufyi6k=L8Û{#NHUD ڽ LUvZC}>e#P`ۂz6U_M]}?eM?lþ_ӶwV~Ўq30}q |ʏ<.R·i9ﺉC C'a]b$쒒Q4sY 33Ixp~/{fx cIP1G^h G*Np |IpXx-ἂqo`qKe Fzc 2Om;Zk'($ȚYXabݲmU ZhW=o0+4!PIIk :(!:[[NmA}ߑOx<;<-'c0n.!ɗL8 bas04:G1S|` p(v5N+"R+Qh(ԢȊ2cuF@TסB0nATBEbAf01$"8¶Yq@1,o1M&e,ޘr" -oU/`c據Y-<ڎX:w&3RlW۹Wswyx4L fJ. -BxQKؓ~s KJV9(" HSNY^Iٞ ~{)B&G &,Qxa^A1ޛv{j͟]{/endstream -endobj - -16460 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16461 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16462 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16463 0 obj -<> -stream -HW]ۺ}ׯ`H$AAR`زW%9wFdoq+z y83;k:߱~WU t*X$Ƀ?YDpVk~̺w>MQ]SlYS7n;MpqadIMt֛=L-a\OU7@$r|[ۼmm]Z|T"$ &7Aˣݖ {dʱ!J(;>y(A{A{I{I{I{EW{EW{M{M{M`{c}O>!'`xS}O =rB Z׆(kZ׆(kC޵PkCS TET+պ6@um"{j]jZ(B Q{OPkCS TEֵ!`Vum"{j][HB Q>{(B Q>{׆(kZ׆(ZIֵ!`Vum"TET+ պ6D=JB Pj]j%Z׆(ZIֵPkCS$TET+ պ2Pj]| Pj]| Q>{(B Q{OPkCS"TEֵ!`Vum"{Uj]պ6D=*B Q{OPkZ׆(ZEֵ!`Vume պ6D]պ6D]|&4( l W>Qo<˜űa2r~)_=ԏ\l`FX4P:Lcq2/q@a 2o0N뜟qюDjwwe -nj;B~Qml-ap[:A&_o~iHL} l0;+jUg=MV`(_l;.axʆ ndq:AH~.\ ->s;w}ʫa=)cޭ_8?m 8+mމs-BqOّpzvziH*:Ud]Yh2U3Ï?{҄LN'ǹ\]q<s[TalsuY6/CjUôX1PMGKQyڬ}a -nWsꚬ^؟~l.ٱծ-fGns8q;8x^uï`3KUVH>ya G^z.GB`G(#:z0oW?6ũ2 B=-ֵeAAƖ?n6Uoml lmSRpHohY&OF -2pn*<U{ޢ${a8 uS톙GWv6SlFDQ\m5ݭz @{&ycSCs g6_6p;Ɓ0Gp6DȮo' 3oa>ͺihID#/X%jιG 9$f㤸 -F -^wOY>Jc뒸| -OA -f%t+J:[%"P7H&|w!k7g -peT7}+س/z1x$Y+46mX=זKdRaqcox0~e -{dTk2,,Zcp@s.q9_q2!2o6tWJmO.juq -%̓nTPrR@@ayk&RsT +N2GgΓM0#i">s Z¾``7o};XG$?qqhq2#TD9E.M'cG~$q:M24bx~m*ͬ:Xw A1滻c8N~3髅y }za01̠ώ7$H˾ua2w\\Z%Z}pqq^emA=}c^<@<@@SE"~{K2 -jg-AQwGS9 OH0+m N|-Pu\@ pmSΥP>P^9[.4Ab52gvsuEgeUqKTQ*E=Ȑen6fU4&Ș| :7A1R1F$Z/Foњ˿e*CץHD{̪D&8^o[62 ^cgzr Y%cҿmX)ɘB%ݨSuֻSƷvoP w::,+C#A/: un}S5 -@$2giW^';] -P"u n7ojaE#}ID3 q #N+6bV '}S ˺+0JgZ!beR @-EUR!1s"؈D"a̝ r8yr'grSԁ0$w_?~vsʒ DjKϾ[&ا7릾;jm/Nyv%Zp3KoRAR>+ /{[7G#=/ ✸?h^D(di hdۭ&hD?f1tdyf5Ow)돟>>1[B1b%MN"*QvNW# %"ott.{*iL![۪yD>#$ 92;77ƩjpQ*c̰q1hb[jBkێsW}ha~ -sxۘ%#Wd$ӑH1L̥#B6 - Cw/Z}(2dfҒHO2" RyIfgr -D)ity:dFq߽Ҭ^3H Uz-!H1QO_c -mUЂ%Wu} [}rWJ[GŮc4LcAp@2<ȩ"%.JANԽxL&I^r@ׄB_׬`D|#S8ERw/^uPpt!A(q_c{:=K8@]HOD:O9P߀'G#_d a{¥m%.*>(ԞX 9aVNń,*TLL Vt1FaNTP_ܮ`]7;w_=[>$ ZJ$%2%3ϨȲw*i;l`̺D> -endobj - -16465 0 obj -<> -endobj - -16466 0 obj -<> -endobj - -16467 0 obj -<> -endobj - -16468 0 obj -<> -endobj - -16469 0 obj -<> -endobj - -16470 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16471 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16472 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16473 0 obj -<> -stream -HWmoL_a=|IW07{cs}}`>0` }G}du*Bk),bZK1dqCwO1` Vh-Ő%gBk),C -Vh-ŀ%bܳZC -R Y{Z+bܳZ[%Nh-ŐS XBk),b),C Nh-ŀ%bܳ:C R Y{Z'bܳ:Z!KpZR Y{Z'b {Kh-ŐS Y=ŀ%bܳzC R Y{Z/bܳzZ!KpZR Y{Z/bZK1d YkZ!KpZRldBk),bZK1dqCwUѧ;gerZo65iyalTy1-WY,U]nɣn9^AJ\/obۓ ,IiYݭo'Z;[QVu7MP톫EsIP`I.~ -.w=\;>v9{gBnߴ]s~b\WQD0!9ߩ4-t /_KAg {DF8wgVg8'*#%d-+fnpv9y5]?=x]WeOW]_x`SCpiDZ$wkwnk€ zia^qPi{Vqzn6v7|=m(C 5q nͨ;u(oC3 -lʁaoP^$њaGZ9˭FӰ?L;DU7M9}mY(rK7u38A.#Ҡ -xNu!*#IaO˧Uxofanaߞ}a{<8F1Rݷ)˔ؕ$}?ۇ1n!^wcrKw$+:S4 E6f'y6P߽=ʹVn}L`G#mp?BEMc[Pkr1҂~(/7F⤔ Dx~cMTBi>^H2A_nLno@rY۹xM9q豣ahL/W_g@.kendstream -endobj - -16474 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16475 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16476 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16477 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16478 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16479 0 obj -<> -stream -HWkoܶ_O2|sh"6 wRCԃMpx8W>ᇫ7cїIŠ2NsA3%HCۈۈu]V]]u|7<Wj>ūAh\Č3ǫ].V\O s޶es/^<~,}uy2: ͨUD!&O1[3}& -O!.*n"1E)< "> -}b,Dy>JϝG=G@؋@؋@؋DˀDˀ}O)> ا4`*`*`!쳀}> <`#}/>,CDvGT4*diTiT -Q(}Zi>P-GTi>P-GT4 -a#}BT4 -a#}T>@!}T>Bj}.j}F}> -> ->@!}T+>Bj}>Bj}F! -DPj}F! -DOjZ(DOjZߧQ@QEQӨZߧQ!{ߧQ!{(DOj%ZߧQ@QZߧQ@Q(}Z -Q(}Zi>PDTi>PDT4 -aV"}(ET4*diTiTȾ EQȘ¿EVՊ}1W~GTTv]cWѶkW:۶luVmu(W?G@jODD#/V# -N -O|uU2T+=8l$}oBϠ Ruu<ꈳ$B'9LS;$oR% zi1ۛʦ鞐XǾ9wgM_ÙmøjӟLՉ$R:.92EEs`e r Áxy`}ꆝ1DIƴC"$ϥ6]Qd$ͩvO,GQ L {DuKX0Z vNR^Lɻ,}jm:= 8 uﻃ^̩ ˓l^κzu7 -~aкi!ҋgsաcݾy6Y*Ҫ z5_Enin1+z_奱 %ԙ'vCvʦk}u="y}ˣ_8㸯!ԺԔJx%/~\Y,Y2K]u4V^c>K)%R(ABl0#AncM>ۭ4th^[c Ǽڳ6]A?%wlh͑#r򌤌hnO q~njpm|[ 4@ u:LRհ7T+ӰU/ -.`&l[XӯV+a -H^Bfj.ysk\h(TQ$*y* aކcTan6ultf!ZzOXN? a.;U -TH;GO /%H)9D^pH: ihV ->_+kW"ONCܥ]Zaw` -Qa5Cuovn]u֦~X "@t$a$48z8S>'ˈPө&/Ho{<K R21XknPߛ--5NCCHW0b6ƍ;qiL -9Ӷt: ; -oH|-Y2sYHai }j׶ɃT2B:f,Z- -g -=ɿ{)˖y0|:,N7L:@{aۛ[݃5jszVߝ$aGbߞ~\BJiL04OIIƩxlڸ>(C| +7q83W]dB0CLWbXs' n䮛pQ$`|H)䪀{C>勯}EXb -Ei6vҷk֭5^Ꜭ;L5ងyT } ן~;: -bZnYz{8T)_<8M CW,8CDNG]B S.tEch]}J7fO.h eW5ț7enJm|)Ÿ_V**)4r rO}ܲ Ǎž\o[Wҋd +n[:l4/PdUP&F$r*MO7$ߞ!ŒIixnMFe?uAybtl}-*VH2Ko% ň@f(p%> -l+,#⑇3wroZzz FN v_m_jJu#mv wSi=hDx氛)G*5{?AF 8aä|ލKf;Wt6l"hNlãiJDKijpsǗ 58*^ @xmh3OjxEi#:і`\d:q\{rHZQHPbۊV\S@cra06&aX}G%\R.3 Ô)2_/yŰ,cz×\':{,4ַ<ΥnȢ $O ,ѭTC}'黚aɩp Kt~:ia8[Wn}92+CpNݢg Dž/!a#k.$YhGNăDeͤVeRiCj4 S*T8[=Ҽ^yw%6DlD06# ?k^%ОAHq9Tcb}OޯSpt),6I*[I40FY00FG*rx -wa|"!sv[Lf\&An1NI(밨: Y&Pgk W *2NnDA/24ѥ*UQOajJo>py~DŽ}>ŧ"tj6u+{zK -| BQhķn0#lR֏tK//t=/xjuسy.s/[`nxn>V'IBm 61JT\ u{0_{{>5 JIP$Q74~VB|l+((Jنf/CĈ"9=<>y_A"RƶOb>s\~:lݳн4ƖvI!Ȳa]|kVNe8(HV"E>/P 879 0 R/Type/Annot/A 18483 0 R/Subtype/Link/Rect[93.6004028 235.229004 293.088013 254.908005]/Border[0 0 0]/H/N>> -endobj - -16481 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16482 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16483 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16484 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16485 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16486 0 obj -<> -stream -HWko6_2|z,@ - 6X,gd[H4~)tyA3!y/y:߼AHo4Q:0IEjq.>Rc56OMOM[f/NMtG-.ީ?PbwЉ("صQ|s[6Q io$.Oq}Wkq29x0C36}w]$ܷ0Ÿ#hE()ރ?/RDT,>ۨ71rʐS& Q YawR!`Ȳ jW*O1`iFkFF F F ԧ4P2@e@e@e@}ƨ> pf\K1`1k5Z!QV3R Yq-ŐŨ\R Xk),F}Z͸bbՌk)Fq-ŐR Yz!+TO1`1k Z!Q0R Yq-ŐŨ\kR Xk),F}Zøbb5k),ƵC>pa\K1d1Ƶkq-ŐR Yz!+TO1`1kSƵC>pmʸbb\K1d1צk),F}ڔq-ŀŸbbMR Y)Zq-ŐŨ\2kSƵk#˸b -S Xk)P=Ő/,S!*ܷ]ti.RrQ$YV]};])W]jlNwb|۾/ GJtI-~$=49tc/YH'pvzڶ}}q3(=dO߿@\ş㛇`>_}/=Ͱ?BMO\)xNM܋D*:Bb6dQH9IaaNq@=M~ݍbiu gq|قe [,SxwD,X'ťahuaHB-TvGw{^oE0]ceBE>Z >d|OcSmjhLv\`plCX ޏ >.%RND.q XgLt)vtV&yaW_հ -jϺics{N/H_FV?ygі搽PZ^n]7jxBL.yV?D6c.Yc<@WV& +vrJe %E!W{O=AږIaM]thK?ށ`T{ϓIB%x3o[H@iL.WcLa Fq4a #7^</u7H-tKVQd41]kMn~H(2ЗE}X='wqJrYt9pLf -S\.y -x]w$VG|mhƊ.RfrquxnWrxn`2i.mBW ^&ۥ}Jdp[NɯMn@m]wǿE״gˡ \a^yR(5"vM+1IpCw+[ Uxbaa?5uoKys?,u94+o|GEXGC}>̹4q=dbRKqILxs6Lƒ]:8襁96p_Wj,{HTC@g855}:'pqĒm &1e x2]/m)Ix` >ևLoӝ0#%c:vp {mh,nilщCe^%^%.bŅzvoia>AA3zIJ~#t1lp-~t4C WxtXx\i$č,o^XhAÅ0pYS>f%%4fɭTx\}2&5Tbu伋/t7~|e -U.K˶ջZjK4\.3w6]yKYP=>s?pJS $CZj[5ܾԦ@.j-K>.2hJ;/SfH),SЇSU&4qn?i -)ˍ.Wp/`U}WK6ϯ#zX qwrHsJBfGv٘(pUr=::]s]B t͈h)Z:w" P-6nD!^"N.ͅYMLzHKK&ŶI@VG/M=msEido- 7Nۘ(d!w"Tbb;$^nFDbdDE?LBbiնYɢ̡"=z&4/7fBY Hʐ4b&VDp9 LWdپw%{pcn1pq\Q9*wl ,u1̅ 30AjVsA Din: "ߓD& -*/-|DؑJݕs˶Z"%e?g͉NQE_^>ʦ=n__$T-JB#{^K1d7oSy$Aw#p Q] }_O 0r:endstream -endobj - -16487 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16488 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16489 0 obj -<> -endobj - -16490 0 obj -<> -endobj - -16491 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16492 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16493 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16494 0 obj -<> -stream -HW]oF}篘}Yȁ3|hRHvv`#QxEKyբEш>:sxf朱e۩ϯ~~G/_:wb6Q֫P8YgN*MT}IUrk)[4m^N~`՗Cj\'/IUT4UjMnfEW7;uԆtfv`L,y#gf_._Wh}-wˁIE:5ޜTP1ݮw逐f> z"c\laUJ^T 2_wc*.6RZ6$('rN$:F(,c8` -z72Vpo{'w̽; s{}`>0ApLp1>cs}9s_ }G> -YgPZm+b),CwO1dqZ!KpZkR Y{Z+bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%gBk),=kZKmR Y=ŀ%b),bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%guBk),=kZK1` Nh-Ő%guBk)MZ!R Y=ŐS XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` ^h-Ő%gBk),C ^h-ŶIZK1dqZ!c^ߣ6y5Os8UYjd+҃Ncb]ozy7ծ 3uDն~Z3VUݺ>R=^ࢶ ڪkw F:߅q!\,]!:bٛ|0t1/`|xj}Vˋwtk yv a? <Ku(FAl LB-â4HZ,2y;N^~ CB3?:oal/[gC0$)/N.枝\K-50Zu>Ns:bu[考LQ#p}>rof?luseW2gp;>-wjP'):DjV50E(tQgli} ɜNYՇ,ޔ8Fr|mP-UnjTw*Y=L; &&]8WSۼ0%5iwUNMA!¤Yl;1C -M0eՕ0Эnx]կ~?[cuȊBr!eKv3[i|G^@CwIΩ*z[C\zg3njgA1Շq6jy9.zu벏uuuj[m?oGʾYTqlVXכ {{ _(pt U[͑w irtd5#xCeϮɭQdľwة< -z9.Nn-v?t2Us\4?$<z|Ϥ -ȰJeۖg:8r}<6"gQOs_}(޶azϯ1϶C06ij [GvDGNѓiAG9g!yH|t,רF\f)(mi=UbU[:ekG)ɪ9@\v f0IH`>}d'JQ:ܜD)L@{[!f#dNXi+.wRQiXn;g[|EC_5ba2k\vM;Ig3ɼ]we0gGVDv%yX  5"WEשLmm$&ab<?b;gIwW$h]8i}>LV&+8mM< ﭻӐ#StXaß}MI1ЙD\ӊ,(Ģ#VAUW i_ץVB# [ bM؞ͱ& ς>qMb>P -Zŕ:wlϙQn%&0u'A]{A_wBڿ?_D(S$mGn{nۚq,Y G3KL=~{p(Dũ81N>6J Ba4=,}]/`^2:endstream -endobj - -16495 0 obj -<> -endobj - -16496 0 obj -<> -endobj - -16497 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16498 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16499 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16500 0 obj -<> -stream -HWs63f:i^,כadQO]InoEXIdILJ} }޲o5o_>_e;JUl]V#G^Ta=_|c7WD~TLQ"`MV -&QJ6v.MfKrϘԘ mzb;;WV~nJR/^7H}ΖPɤ`?ïݱQЎ+ Q(h< -6ń:1DQI Q@ܥɧ1@)+kkk[[[;;ؗ2c_ˌ}I/3`3`3`2`yVMcˑ"\Oc"\Oc٧1@Mc"gUkk4(µi Q̵pmC>s"\E6!`VMc"gUkצ1D3*µi Q̵pm[44}4}CT>pmC>s&\E\ צ1@Mc"gՄkk54(µi Q̵pmC>s&\E6!`VMc"gՄkrdצ1Dצ1Dri Pkk 4(}ZC6pmC>s!\E\kצ1@Mc"g5kk 4(µi Q̵pmC>s!\Ɩ#K6!*gE6!*g<`?rj2LlX0|s.rkvv^?ֳy8uc%T -N)׫ǧ-_u5$KKbs6 ȏzGGHclw_.nUoveSFpcf뗁w JaI*lTj}+aZM/jnQߴz/~?v_(0o/fZqQ/նV cNJV1Z6۫έͲretQKٕGOyZ./& ZW+Og=;N -s#pŮ &Z2x@ -MCwq6KzvݣV'O_1\pP.C[ýFgLEۣځy|8-t0_ׯƯ(WOT͆0J#v ئ Cix* i26O6qQwDiD=fy?S^]Qg{ԀDxWMldpcXU FpZY%,ԗ=C@'JR 1C\耂d p+ҝ]WGzgF)іp{0ZcY6WyNʧjc5C"D(}wSTs{{f,{ grl_+ls%Dy^)B%vqL' G} *!'‘K($FVc%]:H@/o3_UhvrADH -=tb8Ɍu|g^i8EQM2g'8/[T7NN9U8}{#n1{y8- tE O*V_=L\+qe~ͫGPxu,oѥnnؔ{JJj5nL=.E _t'( Btm9P'tۙ3PX7|=iogin}BN0vpD1Q(,rÔt&S`?‰wҨA 5 -Ҟ'̓<ծ}s?ZN.u~\QĪłWONJ )޶m =B DJ )R kAZ-yzio)۱HBU) _j&ːnP#=Tڼ -G,wF-"a nW^&J;Y[.ىSL A2%6Iwko" "bM>yŖCKJ -c2FmxYe41jjQ%,۶*m rZ;:U}]Th(T,-b6af.I7U-A+PjtZ| -M}o ڱsMzB+dW -7h2KyA&ܱ1J 2.呻 -0a]H K|7tO!qn;^G?^7Edźk?1%-M%=ՋúkVY_2(IMjƪN'z HmLۍ0ţ+J AgT*1 V`ngҵo3X}]FθM#X *ܝB#̕%i.,3,@[7 Nsyۺe*õs-kUU;~ȧ(ѴǦ}ߪo<4(c݄"Xјm)zЫUՕ_\onxɩtN8uk%;ޏ'*B~E6Y6X QkVSB耲:/2 -YbNofFħa2 2;8Xo"f.qxAL_J_6┢q4n+5U^{ew¶bNKm[c>[1 [McExIo=6H +t D$0BZwc_EyyJL2PO7ܾ[\{endstream -endobj - -16501 0 obj -<>/P 1335 0 R/Type/Annot/A 37456 0 R/Subtype/Link/Rect[93.6001968 663.229004 276.803986 682.908997]/Border[0 0 0]/H/N>> -endobj - -16502 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16503 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16504 0 obj -<> -endobj - -16505 0 obj -<> -endobj - -16506 0 obj -<> -endobj - -16507 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16508 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16509 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16510 0 obj -<> -stream -HWێ7}9_A l "ah5J=v_UlOAkX}X<<)\:׿~_O# 04wyU6bFF-kmwn}}O}۝kv6?WܼZ6KI1ɖ& E!'"YDLaRY.܇gvRY]wMn=]}\Q"i=)Z,~nXe#"0ʤ`>؇ݰ&jǕ<"ノ~5hKL1H+PCT=\5!52(EW{EW{M{M{M{C7{C7{K{K{K{Gw{Gw{O{O{O@@HH<+ Ӗ}ז1Dז1Dje Pkk2(}ZEpmCr"\[E\ז1@-c"WUkk2(µe QʵpmCr"\[&\[U/c"\[U/cٗ1@-c"WՄkk52(µe QʵpmCr&\[E!`_V-c"WՄkז1D+jµe Qʵpm7pmCT;pmCT;!f_E!`_-c"W5kז1D+µe Qʵpm2(}ZC!`_-c"\[E\kז1D+µelXµe Q52(µe Q52(eh$WYk Zy0M\Wz)?i&rӄVrpssar|XܟdX̺տw-k鏫w͛e#L5>TDBN8Ŭw̫( >OLJ5wA1e s\pί@pCqR0͍B aD)enDzD`,rwiXgp!7@V)n2O縑N >~گn3TK5M(k ؓL2==>cM42.Bqع[ug67h+[03{.bq͹pՅ9_^7-{ -%7+dV(ռb| -Y#c!4n -]RädZb=$\x+=lzTaTհb_>ݬU - 0Ba[r JÂƧrM+@QD! O_pQJ*.G"L*b#j>E#PÈ5𚢊PST͋5HFzTJk]ʈX%* -e-Pʉ5{K^-Pd\>frCdT~OQ3T~PY *k?G}~OQf3T~Lլ=J92~D OQ#j~SԠGԠ KSԠj#j~QԣG,, -x*xzs$WOJf-UYaRo36wʝ|74L$H zqtxJGp20ZtAA\S@9S$N:\`n=J\9}s*T)/&4 -8҅O9_#P\#ݞToTY V0#gas%9}.Ň\(4R\?r3 iQ%HYh`n;*m""I7>}*χT*@E氧@dD0\@%D0\=UDdQKkh\})б_3D'7cQ84>)~:3kt|bna[35fH.ߞ9av=S6"!lo&=@gNdpfdzE?2yxSs|jɇaiqlJp+:AiʩS.B㤺ée*ޅk*>]ǎ- -c. :<vP}F=eZE?7<\mx_PA3zB_/)=zA rnǁ^p Q`,8Sk?NW2,\v̤;jʔ+89!լۋ Z0p,!i;2Db,gA_k ->=tLj3u<-MkWi8n5+$o{*ĸ$ܾ`_[vhzwV hÜoC@eZNi퉭=8m{k7=mo)C;1I,Ditqm - -pzP C }%:",I#^%;3ʦSt~[xG06 -:~qЌp|<'@?9lզT(`XO7~ -e˛e>.h -\ hC -%allY`B.ﶬ.`$BNi._I{w>@լ?XIg7E뜃8Medc+PŮNv>b(􂥋4,$ P  m]$97)9|RigH;ȰR0gtPU9MjxEp'(v5t:g,L龔9ۤ&@N4܎!&3씰PW#$/\πfa-\&Hxƭ5xr:)Q.s',dNTPŚOmm(`:X# xd"x@:PYQ\ehti/*~SRK잋LDPIU 5lܫcOUR$}i. e{5=ԻR̯U= Syq#/=웍\;^ -8kA"(bOմ"b $͚OݴȊ< -t&i=gs{bf`J#[qn6\@iK*}rDLPy)SxS& 9{ޕ% -N.Vv Ə]Opph"!r.#@" k˩p3>Hr#l}g0I cBLAxxQ}޲QUrdhDU8ZIz Z/&5"7wJk.~#D\0vCݾuGnd6'4;ߐK-Mq0. [fG#AtE,zi(ΎlvEW:+@`KnφW0t?v] য_ Fͬp,/.L%d|+ -FMnj] U) yVSJ+򾡐c'H$!6ׇl(,|1>͍{kG7w3mswnvݳ۵kkOnx8ˈ@(C$sUa o"+3<^q> }쏾]=@{bX#Yx.AۗM^|μD: Vʾ-z$4aCS>]gr4RoH46 KQ&R3+]"'4??7}I\xik9O>^0()[>sR f7ȵPݠ` ,ѯ bƋA30UǮ}uf]$eYf;#)KsF|u'7ͺwm@vFf9;]z5VmEŝl콎,\X+q_Wj*z_,WZd`*+Plӛ2 J&=b-&։|<{^r#b*B+ -qn(ΤΓJw+Dؐn02w_ 0O{@endstream -endobj - -16511 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16512 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16513 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16514 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16515 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16516 0 obj -<> -stream -HWmoF_"6}#m MzEZ׋Y+RI}7%)rv+3gZ;7߼{oDD\0W(se`G(aE7Msheece2V}n6dm#$0{,٦VvەMB'+lqV<0۶-vdO=IjyN81ƌ+MļmS$c0cv,22=d !b D ls8l! -J(̝<JE^E^e^e^e^U^U^u^u^u>%ا`3}Y>#g`s}7{7@-U Tm6@6 -cC Pj͡jZls(}ZAE`V6"j Pj͡jZls(}ZAE`V6"j$Zls=P-9T*dm"TmET+ bCJB(BP@P-9>P$Tm"TmET+ bCJB(BP@P-9>P$TmUbC Pj͡BP!{lZls(}ZE`V6@6"Uj͡jZlZls(}ZE`V6@6"Uj͡jZl"M*dm"Tm6 -ٛX͖*al'8L:;>|.wv#kmU[pmaж޲?Nd CY/_vjmB42r;]GβۗΉ^9dؽ;ݻHK/"<UztLvJ Bn;)w 9z_%$Y$ XoRtdᥳW٨\9yؔ/*E)cRfŞ"AXߡG'Qv>\ ^mn]P/[jȀE)Jm/[l}tSܴ`.Gz_w/Ω=j1W$0\* îk/*\lz&&cٙ -@\H!smW ״2e۝_\_W #ms<` #x g fW,|hA4PZzXó/~pf3YПy#Nase -l P'`r{ʂ>Mz9.4JV'7AuwU+ykA/GQ{y85D>{+(GZe}5S{BSa3mnw(XChn)bgP5! _];CR}pC9;[j94{nRKR}ys[.]3(:2͐KSoP2MIPKU8g>s1G5߅yՍV.\2qGܦS{??O"?q%|%u12ư%m׵K٪m #e]ar)c_d#/2P̠"mG9:@V+CScazv,I%e'~_H-m"EUW(Ժ5sj hCcZhݺВ<BG7)ym snmm{F# VxC}9   -+_RX; Ԝ&˭arͬ} W-ִ']hDN6Xgغi{!w%C<6˧CA4 -sLl[`lU<䵢8I#Hgޅz3Zz#Y^'?3M47]*66W2yENefdVzC  :8̦YJ8SyˁIɁK*D|U+j͂h]/wgS1Gm:^< P*]ˊťFvE?Y@ι8'Uu*QuUS!R?Dע8-{B/ʳZś KIߋ],ukv@[{K/<.lad+Á;kݿo?)ի+׌@ %8Q6[ ~Ag qq}cF F.Y)+rެoәA37|.>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16518 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16519 0 obj -<> -endobj - -16520 0 obj -<> -endobj - -16521 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16522 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16523 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16524 0 obj -<> -stream -HWko۸.}t_znv},^Er֖"Pdc19:$9sË]˷$ח.#/b+TsRgdZĻ*7QE g,`쳀}F9><`_싀}A4 m$6D}6D}B Pj}jZ߆(}ZAַPoC>P TET+6@m"j}jZ(B Q@PoC>P T۶$Tm"Tm -6@m"j}j%Z(B Q@PoC>P$TEַ!`Vm"j}6DJB Q@PoFPoCT޷PoCT޷!*dEַ!`Vm"Uj}6D*B Q@PoZ߆(}ZEַ!`Vm"TET6D*BmiB Q!{(B Q!{߆}Pqmr]y<_E<1v`iE\YutWw֛ryfSuگlwuRLe[|V>"ӌOfQ-|_L7nڭW:ROvS/lwS7ߙG@).go$ t6߯θ(x1\zqlX?WLgbrSk%:+3s;OaE1mGݯ'TRL'=wo?y㛏}|t]r!+eV9U3w벹<뢀J1`ծU߸j:7_mܷuCm|p ܮ2f]P1g4gIN3~N2fGiADg{V<]B+7$ SR2!&ơ`:`ۧii8Fr!t0ˣbuX~9 -q\U3`" -9M,JLcj.{u 3ڡU[pٝ|V˧qb,vQ6_жwkz⬭W$6cu=ZL /Jt#c8IaqammVtdB8촔dy;IY(˽M>T |>mǺr;*OO8rv_V?w]!0Qvmwac$qQs=8W V&PN!ٺlk^z,7!{+=W]C+(:z ?``&҃bi8" p_9qpe} ?S y`\)¼S7=4CYVb|*g)nqrwv5qjx#Ud!Yd>T:L\9$%7x~tғX8Sc'#LBi^;qiq:Hts&{Eaù ݔepgϤd%)jUQs•tGo&TqacAv t."cKKZCOB. &'snTP9:*loc9[;!Kt7PbleFi'Ia(:)%Fb$+?' ߁wɑ8 nS.r,GTx#2uum -JD7H9zOI6UDtí0p=gcdqg&-0G~;׋ry2bPHSMA/)5.䈺zur!2&A&? y!$)^nK[j=u}l[۬Uk65Hmq<|l40JT=43k|d"X!bý2פIeB~$Ā|m~ >n1+n?ʧc[Uy1-I-=:r4Z|JtΌ -dchY³,wEe?}i~!:c8cƇ5QbF`SQhcs"\ 7AAڀ# -AKkj,k7&^o< NƊQkι>>W)pԿ>^/s!,׹t=ֵH4-Yd $i\66;b!a5ɍ!|sn>z{9?/p,40jp) s=g@e !!ݔ;:W[4~Ri%ı@H-JTl%@EBl7bN{c;LO>qs|!lOfߍ~5=]ɛcp+>>=xL?.r#t)rQhJt෈r+5SF(s g.͌~Z\HM?^{uF]?iELyͭ'~kElI;IPVĥXs>w`)z"WU.(}&Lk6.|b·zҤgU XZtUnZΊ"}rpą"/[FJ޵mv>4A=]{lOy/L`Q2^j D/O}Szkae5coANMit4HQ0|ȭe ?M\FYh(T :ʼGu"ß>Rh2ROChDÒNS}&%wHr\fpZ7s]YxdQLNcp;;3>;>௵j9V:Jqκ0y?^#:J(Zdf}7PFW{79Kv?J;wtwfy0,OX}֌%#43* \ R G65Lz `Sx8 %WVM6@jgI@`e\e5|(r4dPn9-&ÔsM}arGg=UnV)Wb@khYtϛk^]Цb.?F*J>Q1Q yXZ_Jz -m ϿL[>"clp+jʿEֺNt&FFv'iJfpJ*;Kł_+t^c`~5E]ܨBNTC ]hc(%72^;opF ^kg-#&5ZƋzdzPB194CQ;a>m?6,z8+\+ |˭.h ZAm%&8JCn,oK^~<btXEjid8!~QB+ nHc!pÔ6& =]( ig֮eiT64W(I1Y?@h]8ZƸ'L )("B_&AHRiGwqh鄷BFFп Tθ~lqD."/U*zݵ -#RmDmX;Woz_6`-endstream -endobj - -16525 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16526 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16527 0 obj -<> -endobj - -16528 0 obj -<> -endobj - -16529 0 obj -<> -endobj - -16530 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16531 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16532 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16533 0 obj -<> -stream -HWmoܸ_2`")8pҦ1*Z .U$mwF9E^4;z|H^V~7__ÿçmYP4 -Fs|"[9.()|L`x,=C?>!J(;>y(A{A{I{I{I`x}W{W{W{O >%ا`y3}>'`{ }/f9!Z׷Zׇ(Zׇ(CPCS TET+պ>@u}"{j]jZ(BQ{OPCS TE!`Vu}"{j]>j]|Pj]|Q>{(BQ{OPCS$TE!`Vu}"{j]պ>D=JBQ{OPZׇ(ZI!`Vu} !Tw}"Tw}ٻ>@u}"{Mպ>D=&j]պ>D=&j]jBPj]jBQ{O Z(BQ{O Zׇ(ڄPPCPC!g_DEQ$,? s^u!\i}!,w]\A'>tM=]֨sfF.[kti ;u;ZT]I4ʲg6ϣ X~_c7;ER:;4(\xZD2s?unwUo벴YힷF ,(}Wp`A<e(?QBErz4xW>y6'QUCSoZpnXFcPYȧ8g^'2L-9;\Ģ$V*CtP7G)S=f<:_u;==վ;;Vc c - T`P=òhG'P4DΌ][U4VHf| {W0Ҕ /qc(bq3M]T*59 -TZD%Her?{Z C -Mxr:{JLtV[j8t򸿟Rpjr C7-02( +ҌpbdfQZ v |^2"n7c5o?7n T}_ェ_nђ#c͌SYmyُ͔kxkn;=XFvݓ5kTlTfpj3Ep?D1^Jд1jqngeaWjXRn:S@zň, -!чa+8sB~l ǖE8դt0VS@:0Ϲ#+B3pbgO?6PZly@omXض4aIuvdK7Sn8nidQHKc8-ş^ YXHk~iFgל.!Jٔ0*1w OX%NϡKU̴h;v'܎dy![,M`:ZN=Eyi{zX-Q0#ہ|7U/"@p6Uà7vm]p3 - RoZ(~9^ؾ~܍X (y9 ΅YTpz{S!og:P_H}ܰڠaza8WQ>Cᆕ~D޿,1*7_]2qwϷ#z9n|n/M{^_o;I$ d̓cb$x20IUͮ8y36îzCy֓1թO "ĊtBTjZ}g4Ɲ!s2 1!A~ -}36}Ә%i!֭E]_=}Voy-L}9D.&i$9 yTXӁyxl[/+1[֠HQBZ в -0-/S(ɖQf Grxq6Q޶azQ -ChN]ۡ@C1'1[/[RL%EJEŪ;/ vمe1Яng@+W"lmkHvpԶsKx:lyN!ITW@xEJ2^Y,hqފ Ѵ7H O(6Olb^;˦sy6Yj`6tv ǹ Ek`~0qR]&Xݳ~Wd3Nl~ھ.Qܬkl0+2&S/ir\Սtc+Pa4b 0s׈sMSԭg[N=ԅ9m&D%g^e4sXvaP@rn>ȁT;uy|9LS GU(^i03# ,7`(w]=쨂RT*F-̄BV9}ksK'1Efq=_Ѣin"e層ѤSzI^]? (B3ZMÜ -L! -~n1Ц]l9q<틖IٽY+ -7L -S?ceVpZ&ɲ:# 0 -퓁t3* 4?]88u6Y&\&DE^M־RqqquC+M'a =aO+홌p+f,TNXG R!Kmvv}?Wendstream -endobj - -16534 0 obj -<>/P 1486 0 R/Type/Annot/A 37659 0 R/Subtype/Link/Rect[93.5999985 234.507996 226.283997 254.188004]/Border[0 0 0]/H/N>> -endobj - -16535 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16536 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16537 0 obj -<> -endobj - -16538 0 obj -<> -endobj - -16539 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16540 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16541 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16542 0 obj -<> -stream -HWmo8_ -0")X,ФiݦҢP:QkYn7([Ty(Xo\]`g?+c3Dq-:] XɂwfQ˯lXʬW匭D&8'SI2 $Y1YelZh1LHwoJ\fyuaGRGy\}g ue*óam>Z 64f -*P\oLD&`#vϥ8QfU#"Ƙ#"偰͢t((B6 -s'm{鱗{W{W{W{屏 >&{M{M{M`x}O >%ا`z3}>'`iVŶ*j͢|(BfQ>{l(=P-YS$TmET+ bbE=JBfQ{OP-P-YS$TmET+ bbE=JBfQ{OP-U"Tm6@6cE Pj͢jZl(ZEE,`V6"{Uj Pj͢jZl(ZEE,`V6"{Uj -bBfQ>{lZl(=YE,`6&TmET6@6"{ bE=Ƅj Pj͢jcBfQ{O1ZlZl(ژP-YSmL۪@6cbE͢|9b|#͕M%\Vk7vu34d}_>3Ʀ\1Xfgm89j??u8mg.Im=f ŵvqx9ٗ'[f -!087>H;nX1+7ކ]g˺TA~dwWSuYޕGĨp߼xu}d$ųoia_JASŢqonvu>?N^>V :jvZqEqC<"@=D.H<eUTXu4tп{7KmU-{I\wM=[˚XtobZe詞dg>[Fh4=Eaͺ}QG3eyY >8=*NLJdqqu(<5Mv[v=zj[u2yx)Hxx6ߊ7z(fΫMo&0tRQ`wBJ 6 7__0md5~=)U,4N|9@cv>S b'=D"c/pL^-O]֜10ue}n+H+CcN'/cz]!""9\3vgd(Vne#NO#H?*.yRd\dzdIo#S((:k'lcO.ZOr\qgߡR.}3mY6 n0?l$ {[C'Sͣ,2F cQcv:LC&VWΫ~)L/%/2G̰5~}J&{\N(տޟJ2ρgo.Ξ :~ ; W7WޞLOf(o>^}h;4bc9`* ,yԡA7} - ƻu:t;@ENJ7P'gΣ/5-VQw^ڡz$%uPeS 9ZV;; -R.bByWu8<<,Wk{e4ˍ -o"Nbpl^ppI2n.'$aYce5]v)gbQw%^u;{n["R8`ԡ) `}oVt n]ބҰg>/4:!ü5Ge7&Uri8LQE# ^w% ("Q#?W:)̩_B>s/;̫7G(kʧӊ ->>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16544 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16545 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16546 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16547 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16548 0 obj -<> -stream -HWێ}W4 3q`+bT$j' &!jOWݼkug7_TyϣD%T8 dFMQ:YQ"X﫾XSsSV&'UtjJ$U*!BCSU7wƧ6IvnRνWӍ.,yV'&5ISfˌ3+lcn_T}¢l,ijs%r>@lbԳҩ"URQQixby|죟SN9%2ŐŇ,! ,]k.b2zAaꭠ2VPoz+L; Sz{Ag3A}g9S s>L}!/BP_0dKA=LKCdR Y\=ŀ%b),b\K1d kZ!KP\kR Xk),A=s\K1d kZKp-Ő%g5k),A=s\K1` ̵Fp-Ő%g5k)vZ!R Y\=ŐS Xk),A=s\K1d kZKp-Ő%gk),A=s\K1` ̵Vp-Ő%gk),C -̵Vp-\K1dqZ!zKp-Ő%guk),A=s\K1` ̵Np-Ő%guk),C ̵Np-ŀ%b3:C !k),b\K1dqCW_&eY:¿Ys}ޮ(Vۨ -LeyX:DǮܬ~} };}6c ?tW$ek27҂>q 51-Uܟ.;=A-Ąز _B1h^0+$MYRLyXn=ֵk&k[5O#&${,կJ) i89_v ..v4zqd`蕕)! R&OR -\CV_g~IwYb&)l EgXS{/,jUw"6E_wH 1lU cs _Ir&rP׭juX-r`qռIr)H[v++n_ {%)”ص^ ,``֤`x* |&S`=S;rPTתm/Cr ! n*!\R\ -õ劔`B͜Ek`g_(Ia8lil}{bβE'Bqw#4;Bkf{- 925AxF0/]9g1ލ48t.^uxp'*+ r`tᱩa] ihP[տv{;AZV%}NEer:<V~Zyg^RMdeUtY߸R DE!ַ{lws?ӱeXjpڇtW,.rÍRkg}x 4>93p0߄֮:ɔ/ [)5~r66|vuv!+gf."NL|;d|B*Bc(h khe%8! ZWvh>cfRj<4=*N@Xr8!t߀{'tЁ-S{46?hКᲥaE2yN)s Ʈo sjڧ~kw߉ܴ'nl QY=6#l8vf{Z@m`*XrB,by!g˳X+c2!VbBʅX9U -b,V)*YRUXPXE1dXbiK 4eX2B,VF{!KuO1d X),!{#=Ő%buoXPCսbbBS Y<ŀ%=Ő%buoXPCսbbeԒ@Ew@S댮-V:ҐkԿo{z9yF-=ϨX{Kxo<` g,ZųZ%{Q x3jyF-[=ϨX{ Kxo<` -g,Z%yF-YhyF-Jt$yM?o\ܹ[w^ 4:6IPr㷾k}!]m3t^Ë(}ƿAvQk_j2Z,͗],6:f_kR?ʟVsvpU2 }؅ǸRO~n8ͳi;~tвCLgNƝg`U$endstream -endobj - -16549 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16550 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16551 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16552 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16553 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16554 0 obj -<> -stream -H|io6>@ˆH -( -t2E;, -Ƣudɫ#ǿ˖h=|}UuC7_n?'Y㏟>߮ "%Dprtz[ҬdIn~ѵ}mWUۤV7 ɾ_}ڬn6d[ Ix'[[TcPDj5Y:xW:]Y UX7 vOE0- -x7C2m9n'<78Ll$BOm݃]ONn5iP5{[5vNa@OSy}f(&mr a&撦a:bN|3ت|삳 TB)pPͻڝ:؍AR/U=nDtU-AnF沥mdP!yzTn /RL2ЬȸLTd`b,r`v mtA@MBOg5$Zc@KLLxr=0)Xzhm&=N >"N\flhg:g0BgӲa:!} -K8q2@ǎBu}"0\Č_/ ބ -5s+؀ݛ:kQprS.<)d4. 9-WpU߻\鯻^!󘚏**FbQʒ؀ &ɹa`$bXM˻@d DĴיi" -UNI78fYl:I' -eEBKB{[G PVqHJa|s "LOy@[ٌc؀ R \,Q 0ptmݵXrf|X34{AmSloh|02 :diN(SVFqOu9FAjgX D*n0Y< ^-I1'm_aagi[_{gV~T{<=S ~U`x҆_ #\ jJ\A7?nPOU] ~B<}PpOTw jXdft9=4OE<0GTٌ6i'h bZӽs~%\2b\ru+=5yA;xUTͳ8֪ (wƩ0ۏ;=',`"2b.Lzi22j=b1("֪2(>+ ˂yاf΁cre+OrkU_/+xǦuj#̽ϏGW>;v7؆`ߝp]>/P 371 0 R/Type/Annot/A 41997 0 R/Subtype/Link/Rect[129.600006 539.504028 452.179993 564.392029]/Border[0 0 0]/H/N>> -endobj - -16556 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16557 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16558 0 obj -<> -endobj - -16559 0 obj -<> -endobj - -16560 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16561 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16562 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16563 0 obj -<> -stream -HWێ7}=; ֗""XF Z32jyߪRdH,XgS,bVM~7߲of\3W(̍`\ Tٿ>+]YͲ߫UoCS襁K;f!gMayaNf ǖCUan^ ],/Y)kFoUo_ܺ09/ ->H}̊wA$?g2 -3}a?l2/M.4T8eޞCu)G^ȄcJ1`q" Y`9O^$^$%^&%^&%^&^%^%5^'5^'5^' $ $-&-&-&%%='=>,'LcL1dc Xkc YCV>ƀE6ƐEO\+kC>q \c"'kc Xkc Yĵpm!PV1`1d -µ1,B}ZA6v$\cJR1T}pm!PV1dJµ1,µ1,B}ZI6ƐEO\+ k%C>q$\c"\c"'kc Yĵpm2E6Ɛ1`1dc YC>q"\c"'Ukc Xkc Yĵpm!PV1`1d*µ1,B}ZE6ƀE6ƐEO\kepm!+Uc"\cJb:9E { -/x,wevrvLEcF{e?e[kձln>/-"ⴎ YZ&,yeK~ AJcU67˯dZ>og8rj#G I.rW]}8>T.T憻E'CrxML_RsaRwX&!]8#d_.rٯUaY8,2XpG"糮>"ߟuuUݲ͡av =/kqxiݞ n9^2 4)[|5`k؟fpj/T/M׿?YyjV%T+Ήy9~K6DIrtNCXV# -?kdA+q/ZԒaGsVut+gmx\qA@?>7B5"atŸ˺I+oSS1rV;ڈiȇnj]j6Cwм>?\72W}p.s]u〯vHINlixx֥vf] -Z&UkQq^D:D9i{u0z۱.D:6f"eqlG,HX.fIdoLR"f)M|"ei|U2&eaIJ`6ɄeS?R)F,Y% \3;WLxqx#qX+LXٍvRk=\=y /(7Oc,K:5`k24r\BABV^ݡw66/jU(' ->U-B.X5M8^Tl]{u. c+ϕRxHC wcabzې-{d8YIL+YDz}aba.1pSr~͢V .}ت% <<  ޟ ]:8.LD25 }s}~op ~n- XSC]qdBƂ[fqOd2> /ɸK3~8 4fCbŒùeC 23|"㾯A6ICzFn|a|y&f7N12X), -2ECC"wZ@ -{uնSE9œP}g"v -]͢n0ˆ]>-$qݦ-#;XJ)p^_"/ -;"/ȯ)ݯ41^0SN!—bk6A0DKf kYw)vQAI'_MuAl0EAGO yI0 |I#U1W)LHa 6HG%Bf{xPnNde&\t[y؃ǹ[lsڗm}_wsSЎ))c -E])3uz?O(g{{h?mW8(R fc4ORGR"UJRgKӁN&+Ʈ0q:J(2 o55h`h,Dyi=x&gW4%v3M ZՃ`M͘o,!*/ۉ hY&N >+{sK+w3y-+[ŁFrmUd pޝA.jC{qd~[yc!G7$‡Xs%𰸃NP>49Bk_>:vCծ ‚)5~ , 6RE)p0Heŕw;;oZꤻk%꺺n|^޷dŻԊOv6eE}4QG>dG1R`y6rگ fDpۜ 9cwk"?]'DSL3L(ͼu7[7}-yx"Ͼ~IR=5*R;f5 |sK<9Y%Kʷ4pDz* z_0J>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16565 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16566 0 obj -<> -endobj - -16567 0 obj -<> -endobj - -16568 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16569 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16570 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16571 0 obj -<> -stream -HWn} E"}b2]d7BVݚiINK^SIIMV 0lˇaNt[u?>ODEB%LIH$c䨢.J.!?աW?ǦU㱩ɱ>>0MtsB9IJ$&)Ғl1~PyDz4iR|FahӨp;(JCӨ A) >@1= 3= s=s=s=  g,`!쳀}9><`_ 싀}/¾ؗ2`_"ˀDˀDh}_1DOBPj}F}F}>Bej}F!2DPj}F!2DOjZ(DOjZߧQ@ QZߧQ@ Q(}ZGT4*diTiT -Q(}Zi>P-GTi>P-GT4 -a#}BT4 -a#}T>@!}T>Bj}_ DOBPj}F}F}>Bj}F! -DPj}F! -DOjZ(DOjZߧQ@QZߧQ@Q(}ZQiT -QӨӨL26Dw;'l#N~x_ CwӊiMMV`Yt^;uRŊļ7u;lWjDf& -PTgo[kwJmk5G|j -蘮яr?g{;jf6&G4jPv0fGuAy3 W7˄q&gNQ&P -޻]߫Qot~/hû<|3[S:Vz\u{0rstSmxjNEz`Udcç`E*grq%`.t9w󢕦0i0BbK4ZR]/8R͋yr*/Qq%:v}Pkd8^Kst[UUSW{aBeํ>|1 -o^^$\ -`EBeɗͭȥld5n s_Zkx[f~9kﻗHẙ%xHJ,+Dr^r="I3M$o{W:tZOuS ye^ YtRoFVtfevpRǶ;끼O߂a`$4וyztf; }mWR>HtiV93GP-20UN=6윩thWn wX=XZ={\YI^.Ħ0áepǀmfsΠ̜'3-pRs Z.VFs,et39`IW?{ojؼX"WX`.3R@RBp`iPqs]iFie?KFHsJLs*Y E?UXO -ژ& -[5ɴW0~N w= H]]qgV&-Z1>vI{DW(&uIUQ%j]5(妅-]mҕHr;~hlb\+LIq:F;r OG7s\ é5L.[R^RRr&S(M|uacg|EQKTswEU\\(vc|jW1m$ՀeUmϪg -X'+W{(mSNBO9HB7O29K*$_-nLX?zUJǕ;gݨa.].%P܌?,O×]-CGTs]t!bSW~@4=6L"hSn!BQ]V@kՎ2R+_I"o"r?i!-un)"_-x卬m3-[3T 6`3̦}9VuB%7 -pt@%Բk0;(hФ( 0Ϡ\Ooè t]]Aۼ^PP΁4ӑHr4X~|R$lt[մi?ye"ͽ !:"q%!b1T?ȓA1Xhl_r>4Zmf0&1]F!ۗ`gTaM{BG5X،WX]CCmܚix8/Gx8n@֐cn-C$Ǟ̿HɲcOOdI$e?Б)_tw@-'>c1V_ )v(1FΜ ާHFM6߮T"gX*$6Qݷ] dxa7Y_ Šb3P&'owUU>S-4B.wޠ7+ -hxpp~<[`/+JM -LzeLr1__QM'HL.(I%~]Q_mE?"Ar -5*8/=,s."mΫܛA|_D,*e~B:%I -Ӭ¿)Ljf'ENNhך>T>05!WƠk17+r̲>Iʼntoq ߆hԀaksl -B4{#d^6 Eg [/\TmW#iЖ5Sl꡽3^Gx duTBn}?7W9{_0yʪ wTy&LU,:0sGMc9IX(v=M \\> w(01Sɡ;Z?^_0ZJ!C˸ܨtZND`:2.Tr^Դ4u -_351P^ aF9WXuŧXp4];bm'_٥mW=h K!l>cKod?)P!1ΔBp m-/mFWwA#xbn.,XΛXQ)D U*a?/9jkUV -<~@y 0Ve5TScvX'(;f8.}FuoYwsO(= Fc U4"SDꊩtAMNx X8fQ#R'}Xv47#([^;R*TDeM|Rϟ@R.'kIܶ+d4i(K$>F Sb_w/v9Z 2kcޮ(b>91I9׎'WU.Cu wѥȄF[iԶ>vH\vr-KT6S4OUZŸ&B0>S=,G?s?ni endstream -endobj - -16572 0 obj -<>/P 877 0 R/Type/Annot/A 18643 0 R/Subtype/Link/Rect[93.6006012 355.428986 388.175995 375.109009]/Border[0 0 0]/H/N>> -endobj - -16573 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16574 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16575 0 obj -<> -endobj - -16576 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16577 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16578 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16579 0 obj -<> -stream -H|WmoF_H$k 4@&)jV (2e1D﷏D=!hR3oS/_^|Uի7^FFkS*ɝNR*ZEUt{tcu,^V][OU[GoDo4c*gQU8W2^]] _$\T[|'srf4nVamkğITEm%9]=IX} -2XݩpIPsz.";MT$SHN8&v1b8XHÈn4ϱ-po{;Nw=p{{>>>>S>S>3>3>3>s>s Eg (-ǖ{h-Lj%sX= cEk-h-Lj܋ZZh-Lj܋ZZ  ,Z #p/ZkAk9X#p/ZkAk9F,^ւrl9ZKX`rX=Lj%s,@k9F,^ցrXhX`rXh{ZZ˱{ZZ1bcZ1bcEkh-ǖ{h-Lj%sX= cEk=h-Lj܋zZh-Lj܋zZ  ,Z #p/ZAk9X#p/ZAk9F,^փrl%#tϱ{ WOp K"QM!װS,,Lhe@+Z9ʅVrUBh@Z6Z#]wZheZhY倖Zh9偖ZhyDh%@KނsX@KނsxE9g -{ h[{/,@9F,10-{r10-{r1 --{r1 --{r1:-{r1:-{r1:-{r1:-{r1:-{r1:K-Kjq@Kރs@Kރs@Kރs@Kރs@Kރs@Kރs@Kރs@Kރs@KރsRcĒZC+O@ ]Wqs2.7etQVU΢bGP SҤaC\FtpWgCφ78^F_.ױhMN1d:KOwլ^Uooǟ^soon/MWHL{ۥf]౩FCx!˴ 4tQEAgDNNM>L;n_fx kvB=Sh_Txf5 7 GC2י` hN_w.\a8q_u;>]>}.v_A)MϦ٤SAWEFßpəvθY_]*}<ֹx,op,氁ŦB2)~b}ٞDj m=C옟2 -3d[~qL!_S,,Lhe@+Z9ʅVrUBh@Z6Z#X`eZFhYeZVh9儖ZNhy兖Z^h%@+Z  # # # #w #X`sX@KށsX@KށsX@KށsX@KށsX@KށsX@KށsX@KށsX@KށsX@KރsXRcr1b-{r1b-{r1b-{r1b-{r1b-{r1b-{r1b-{r1b-{r1b-cĒZ ,{Kj( -;.J3ʨr[8|M'p؞m.3Mr瓬 TuX\d8e@((ܢ"㲁ͬ NW=_D'&NR_翔Wn6+tK$h@HBD -,9nY&EJ}5'zk;.%P BWjH0(`&"dlew;*0(}/p`HyTTRPo!.>h?a +HL04wf|SB.h Q#vX狫p{,8W.%&-"e,R0lИ4pQ]+7,V#V Qտa$b~#U֡op&YZ޷fҠv&-!c٬*]?ses"(-.u\L< f <?O-0@OQ -q2|bPޡ)\[dɮ70i=3pL3u {ߺ:ychX>߇'% -!hP6DOI&ADu;%RDڥx)PڔvU[D1 j@릛.cY0"iO_wƲmf}fs4VH!Xa[嫧\W`.g/Sd~okf_w4~[7۴Jpی0I$ʋ ۀg}3%*@r{|rJrT(LGLEfFy3X,FևGWo;)!K߭aόg"nP E\qKߙ!l9@"^hâ{V\?ՄiׄEQt~8}v ӌBߦ.WfzT3i b2mʤ@@EXeP˦cçGy/> ktewazzrZDȺb,!Z -.o:xXj #TUnrI12tgK>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16581 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16582 0 obj -<> -endobj - -16583 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16584 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16585 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16586 0 obj -<> -stream -HWn8}Wp1/2`Mw<$8 & v`(jڭLKr$uޯߢ.R@8O<y۳7o{w"n/әDFZ:cYɂ?>}oڲ}[-_> 6K!0$fq6UD\l0q#~ԽmZ=L*gmŕqC]/>o>T*4' ?o;YT0_ x~_#- L"a8s*0ʰ>Fc1ax,=9ŹB6 -s'm{{᱗{鱗{鱗{W{W{{{{O>!'`zS}O >#g`y x ,'DmU bC Pj͡|P>{lZls(ZA`V6@6"{j͡jZlZls(ZA`V6@6"{j͡jZlIgm"Tm6cbC=JBP{OP-P-9S$TmET+ bbC=JBP{OP-P-9S$TmET+ b[(BP>{lZls(=9E`V6"{Uj Pj͡jZls(ZEE`V6"{Uj Pj͡jZls(ZE۪@6cbC͡|&2(ÿkQ6+!`\%a* 7;.V᝔Iá.Ϻi|> x.>o>B,ÅUhWSDo w>';߲qvyfM;\@HCX1N^,yoYjM̌yr88~*bZ{a"dij^eݳ1'w7Hz1g~1`G/+^sWđ,LFkBGF`0åQgIDqmUG;ShK4JSǙ*Q*56WBaSO;싣O$ri5m76|OzfAI(E9 N`¶j}#.P?^Z@V Yip3S쩚b@.g;lmW嗩ͿYxn|hh=~D{ܶ'*VZ<) (ի\)N>ϥں/]-Qp 3irj[vš놹f&|٩G>>\^Ze7>Oj}(&* Vقdhlҳ8R"㫩غFShdTz)=:9]掲kK-V# =ƍ/~}Y^RƞIXk/t piI2^>iS$jlud¬Zպj-N8|PG")V`K;HN6]Musv*P|n? ex5#ñu f@ʉ8Ln,|&p~ޗޞv( 5meU88:4Z8 CQl{3=lch{ĖjouҹTFY)8\L'ӭꦾcޗgκxdԬތGs^.9 J=u>pw汬珖TиtgrN+ -OR8 -KS d -/p g:j;.Xu-}6na@}KqU'De/v -|ippWYts[MV@E]37 M?ڸ}`J%Kj.k=8%b`GF#6 Ur}.w \+R4=uѱ+K.#\$sk^Kמվ{!!?n]XF6*c~]y}B]Dknfdʓp]2cʺz Švo)޶q zޔE*%RS"(Ȯ+r-9iL+ݓ gH{30AOF8 -]IK}o1`f^?:!,i])t84#;'Bi$ ~1\C?<5N#`GΒP4տ_K.6o%x -.CrK>\|Ĥ,8_^ ToY${6zYe2u@e4w$uVrw6X)j-5hErPP]>" ezc{ӼaפA{g1stVT%$hHb) uUYIjo-:z㹲onC_h9bF-BR[:[z9Tߖ3܃y]92FǝXiR:mc2/ˤi2@9âĖ0$sƚ EE3iJM[w[cךswV'O"c1Ӝ; 5)CL z!zc5ڱ;njl ,(ܔϘ*\'KHz_oU"e5^6&e"8]S<”S&dAy0#iØj#5iR+ vfˤ^9l3Vx"_c$3YYN!}M%WM)jq9 Ϻ}@LL𭮦*? ķ@uQOei!I`W$HN-Q> \"4(3gF wF47\5 r}YF?UBaA_ D.|lcn:GWCˋ];5шV70| #sYӃIY$ j#~$ԃa@̓c9Ҝ@,\[BL@)*Lh!(!~҇T#{倕OCX^W/۲5j$aC)z۫N8 f>807U2wl\HֈE :O-jTrԎq"N)INR -g?RB1~Xw0Ц fjHC !QAқ3"u߄jXLҋ-grRA +o27]\ ,7w_/ 06gendstream -endobj - -16587 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16588 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16589 0 obj -<> -endobj - -16590 0 obj -<> -endobj - -16591 0 obj -<> -endobj - -16592 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16593 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16594 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16595 0 obj -<> -stream -HWێF}WQ{v< llŎv`leIf2Un. cbt˩*~y(~OVW\1^DPQK(K%KDQ/+?P~nU׫EeXݬ6x٭ -$QѦY=u5]ݼIo>m>X.3B8lBЍ)҂)qվ{n 6 |Kd<[vE2aI*7fIyX/H8 ²%vKsP\+9LK?OthO8^Z\ X@Y5W9q D -OqVLH RYم㰺_)BLax,CT8!!*!P>wCP`/`/`/`/`/`` > '$`쓀}JO)> g,`쳀}F9><`_싀}A4 f%>D}>D}BPj}jZ߇(}ZAPC>P TET+>@}"j}jZ(BQ@PC>P T$T}"T} ->@}"j}j%Z(BQ@PC>P$TE!`V}"j}>DJBQ@PkVPCTPCT!*dE!`V}"Uj}>D*BQ@PZ߇(}ZE!`V}"TET>D*BY%j}BPj}BQ!E-̪Yݬ6x٭xwvi}ʭc9vq% _`5Ӏ%PM-+fYᆮw_D *SqTWnh9yk{.k?uu־?< :8ۮoʃ}Y}^Q7̿"fTNžౚf>/06O}y8LbO3%b1 &|u5`XJ3V?S}PfcSxf:^u0S{cO{¤NGU8l`>jj2uOt$MA65|Q]OeR]Hw$$<^g;m~13t;~< -osg/]-FJ/~`xkl|j%9E{Vz®]7\ev5n "ݍ12Ͽ̅SK{zS6$2d.͹JzeVtNq?ƭ[B?=ŦfbOιfvSb,d,ZW#ن$sqhF8p޶X6/R@ջ(%QnYr[񪙕@ҺlҜe --l~K8 wpW`tO&+Ǯ~=P.j6Z}=^*RM7G7U)Ƙ14ZCԵ:}!dY<4VĴ(Fms6 '4ܼWH -)a5粢KX= }&Y '8|:߫')A̔ -B<MpZhE9Cx B ";\. Sٿ>tŚ>^ނ 傩/&0 ,ߠ mn0& # f/NKफ़z3#h#8#r.4 W,%PݏA@^0_)$.%svپXkBɜh6ʫq?%)BDQl.m=!@Ȳc [Bv}$$Jz3rork{; nV2³bKxZGŵB%pn/ -VRV LKAdU}M Ă]n[( UL;ͭ,1yUoG!幩ZNtWhm<{e>&7/wÜO]5Nl E "=&lcn1y!wV̕jf9KEi ZtR)JIBaK:뛡I׌JySyyvȧjpjXN* 3طIť0&`Փ*5Dh35L\pTͣ~OUn,~/lj6f[7'RiY mVcIϱYpת(z0>`#, -Yq '((4~"" -J!p&5$T = KmUtnLjRpAci~$-*z-HO5^@?|wǾꞔHęfPʜo?@Fi,N<{Ut*BF:S!9ǕfSIPq:0(R). ƧގmW˳{NNlfR8Re e, -g&e}C8YGS!9 vTI eUw6iqydZrtٔF:ZTv1h2dAl3$ "c3ה"8r"{SD* D`A@~Q1w0ΗQPz9fb*JBG2ھES6A, -p<#F hI0"XD]KN~Isجydd0"4u\Vu?p`bl*E`D &7` l\~S#j$K,. n>/P 553 0 R/Type/Annot/A 42703 0 R/Subtype/Link/Rect[93.6004028 291.82901 431.640015 311.507996]/Border[0 0 0]/H/N>> -endobj - -16597 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16598 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16599 0 obj -<> -endobj - -16600 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16601 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16602 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16603 0 obj -<> -stream -HW]6}ׯ E&vSŠ>LB9Kr$_J,E01}|H^sIf?pۻY~w7/~1K9KbG57̻Cs]Ǻ)Jb˚»#g{ែle0I2, R.EKOG~8b V{\(X<`]駺j7EUuW&O>dg'|ΞX@=|؎y}A%e\Nfq@8$C;+ ]!+"X0t8;9;^8^8^8%^:%^:#B}䨏>"GP;cB}O>!'P8SB}O >#gPx6$Lkc \6,µ6,W!Uoc"\kc";km Yzǵpp!P︖1drµ6,µ6,BZNƐEw\ k9ZCq-'\kc'\6,µ6,W!Uoc"\kc";km Yzǵpp!PV1d -µ6,µ6,BZAƐEw\+kZCq \kc' \6,µ6,W!Uoc"\kc";km Yzǵpp!PV1dJµ6,µ6,BZIƐEw\+ k%ZCq$\kc1dm Xkm YzC2q#K&sYed5vݭ?% K{8ea,2.OZ7Ŧӊ-Wq*G]~^:uzYóv#3aq -D~k7pj -j5Vȡgf]$xԲV_i![>TOBi3ojuQW+jXâ *d>Gݦ,4˾icݰEm߰ "X -UojiIⴢ(0ݫVaV{ͺfPWQIQBb{+Q2h+NՔb~4!`f.:iu`9;}QlYq'6%QU&vOљH&(%]V K ϧzg2 (-EXLIص"BZYlд -öuwy+S}z2C:fZf?f]yݓ W$ϊGޜxh%/^A@q@16ZAܥE#L1C͝E4W_UgV_ Y!T!:*QDfk:i,|y*X**u'?sn_>}ZCg6[XByD|[s>@j -ݰ wu~>bVhTY^M73aUN/F0W -yl%ΣP$$$0en!ydjHb|,qRS+$<q7Cw2vB0{Wzc[Ly}?*&{94]CvYPL/  -v, 4D_W#Ҟ_E{;0O`Y2}7D̕홈'o8==~l4~&%.M',=p-E+t RW3ppA -Cb -I2vQm7Cr(%sb"M孫qgw !'u})i:,̲"Jv:qq ]Y!kCJ6] $)<]pd2Gy빚_nn=z| -wXne#7C*m1z'$Zr".Dv$S0nЬ&jc^q<0LX Nf[/o=DXr\.|Hno؟Ƶ2(CɥFzaUbꘫ=݂@^\H` 1eF1 2UIˬS.aʻ@<.J\rUԮ!vu?;,08ȩu5aS翬0'[[N'Zw.`endstream -endobj - -16604 0 obj -<>/P 1484 0 R/Type/Annot/A 25000 0 R/Subtype/Link/Rect[93.6001968 317.630005 321.721008 337.309998]/Border[0 0 0]/H/N>> -endobj - -16605 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16606 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16607 0 obj -<> -endobj - -16608 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16609 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16610 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16611 0 obj -<> -stream -HWێ8}Gś.˦줃@q˶Xrg_Un&<.Sէ:EM~hٯ^||=y| "e$GőFCA6`% .->U;+6M( .2Q1u$!KY -1Y&,bՖ-H.b.#VT3iL%%Oxm̮=*x8w7gB'BZ넧sg}fpЧ&É2fAE~Wl@qɾ13*@0*H. -RbR:*O%rl2.O޵J^^^^^^>"G`yc}챏 >&`x}O >%{h][HB Q>{(B Q>{׆(kZ׆(ZIֵ!`Vum"TET+ պ6D=JB Pj]j%Z׆(ZIֵPkCS$TET+ պ*Pj]| Pj]| Q>{(B Q{OPkCS"TEֵ!`Vum"{Uj]պ6D=*B Q{OPkZ׆(ZEֵ!`VumU պ6D]պ6D]| Pj]j5Z׆(ZMֵPkCS&TET պ6@um"{Մj]j5Z(B Q{OPkCS&Tڪumٻ6@umٻ6DSf!7Q\dbe@~LyĢ(eY_dR$`e8mg`mߔ ݷ6 -+mCb>qmHCk.E('m^MV(zX[#@d (VXtYيM$f6f>J%U(FN,5DwT_᱐rbOc%Üje7b@paG[qǸR;d%2 J12^Onvvxc #oG^]Jl6=Ni`w"S#[F]KȶexHxbpn֬qp^M4Jc&{3{$t;T6<-4]ְ}}`g48j3U+ZE ei:>sv˦5MΪN싑cۖ-zDƶK<4q:DY7D ˍibW;T +埃}(Uޖ6'Hq?jCj{v ]bsĤëʑZMWdX_M|vupupmvG]m#ЖVUTửD,P3*)A~bDŪ ^D2)΢trv{Ug]@`U1\,YeϬ+{ck Cz$4q' B'eۧ4ڼ"Kl*lq-Vt)&0Į4ՙadb&FH;44|`b-p-8/mWѶo>t|O/==jkgw-< AfD>m6:˿רn3O8~ ǡUc+xc;:b .lǰ+*zZ >ao& GIPqVñت's&s?uEm;Y'Y'.On,1tӿB+*!lN 𾥵 t^}7(~cL#WKs^bZ#J!ҁ@ J\ް?H" Cqī~ݽ?Cb -ϧ{ -W盂}={-oɫ?l;j;]{!*UѼA0-+8W_sB^ȁ?LwjUe(u=&tz%~״zkCs&|=Q);(r@4⻇y9NypӨNZ-8z|j~m_Ubv2Np.t)90zؗ7|zZ|<~y/q -]"%gmAUKon;o4CQ}APK&eJ4i1s -Ŕ(uy{R]|z`Y,/1i1 Ɵ}qYWtТw:8Amiut[N:edl=TbB2 -^{C5a;Vtoˇ i. %ƎA9)FY~#ס~R@y==$$ - e؍dm_te2L7)CחsjaC{j}EַU -Pa-g|Û`ǻ|vendstream -endobj - -16612 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16613 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16614 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16615 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16616 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -16617 0 obj -<> -stream -H4;0=+ %B0EBi:$@@YFgqy DG&Ŭa=Bk]vz_4uS$!1e6/3n'OA,endstream -endobj - -16618 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16619 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16620 0 obj -<> -endobj - -16621 0 obj -<> -endobj - -16622 0 obj -<> -endobj - -16623 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16624 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16625 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16626 0 obj -<> -stream -HWko۸_2pXq -6iQkmic[(RGg33<$uulv߮>78;Lz,"?D9 |)N6Y:9dĹzH.'MHwlF6s~ֹ}ᄑՉ`J"$!~/DASF3R0W^Mz2^=w馤0g!uH9[q/a|yL q"{\4ԟ ' -Zܙ:29͉ "fәYY -aś8[9[^X^X^X%^Z%^Z^Y^Y^Y}Do>@QXD}`>DԇQY#DYG\kbe71`!51Ͳ՛fM XkMLk9Z,DZĀ4 Qo#51B[kM XkMLk9Z,DZĀ4 Qo#51B[kMlĵ&YzZ,[iĀ4 QoV 51B[kM XkMLkZ,DZĀ4 QoV 51B[kM XkMLkZ,DZD\kbe71`!51Ͳ՛fM XkMLk%Z,DZĀ4 QoV"51B[kM XkMLk%Z,DZĀ4 QoV"51B[kMl(ĵ&YzZ,[ir,}?.yhVEQ$ _g :vbEFW'ᐈy0HpܻM/~,"_񳛦sEQ,Lf:R o'S+Jjlm;P_У04 y -{=zj1,Eg>A,w}ݛt;d]Z -{?’Oo:|_0w yp.=łFlQq;/+_ُba"@0~h^xHN|OsH:)2];!%]Sz\ٶt |xS(u8ސ^+ꎲgc2kJJXɔ½LO;噪 Rm(|m,fXfY -HBDt[gP#Ek4BE͞\ sWoP}[tNf)yI/H?엕b^D:((gvJu.H-q )\l;+.wbzbzFq=og<*B&Ԓ[I 7HEGB0ɚ -٭Z7<ܞN!w( G?- !|R>W\<8$KVd~7|%K/ /_;/ LZ7Ya(Wu=篓uFh<zR` e"pV~n>oaӞgympVUKYAÉu,' 4;-A~H5{xDKmhErcmձ3rRz%X \ߘ"yn"<("s㔵Q/s⣀22'>|_[v"B\%G?s` 9"T;foP`Qa:% V/nV8{ f ~nendstream -endobj - -16627 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16628 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16629 0 obj -<> -endobj - -16630 0 obj -<> -endobj - -16631 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16632 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16633 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16634 0 obj -<> -stream -HWko_HB y|p7AX-`,spI9\sDR6Xhvvv5#qZ4{_ޚļ~}MȆؖ`Ǚ3yԙmQbn"kjM?UžZ٭wMM4MMߟ9sFh:X3J$1)IIafh}8}9f]ہw>9oukN{gjqϳ!MHۄ͢t0.7flb>_s91W&*}_7Qut䔚S -M"IYz:ZRޭ%F,;NW=p{{>A}PS>US>US>U3>S3>Ss>Ws>Ws>W P PKTK^uւJl9Z1K@k%,^b%F,Z1 WucpZ@k%F,Z1 WucpZ@k%F,Z1 WucpZ@k%F,Z1 WucpZ@k%K߁}?-r/1~0Z*^b`$,%1~Z*)}eLB\.7,fX3ʎ` >L16/vs[$WON>>qƽloz^7E'~뮾2m}s\_'v??yq2"GZZl^dDҌ$큱Yd~hE!On뫋=/xQ݈K/6 fX'gg՝W >}r&um4f>yҩ9͚Wz@S4 겸P lit?o8Xu[˃W>=>5U2O&iuU'NnɁI}yQ}I7E~FJ1}1D~tdy'јyEZ<#. ~ w$TA6 0-)Gwr٥> )w׭>N4qqV揶ʗh/`ݝKY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>Ĉr/1fiNse/atMgkfQq RzCbOo$ٟGy1*+bo37vWfC|gvmd[lÌCoWr0+(!@d\H,1ʀ8Apqs}꭮w9` l\}d` gy0ѣ؟CbYAmêUӭR]RFX Rj.y{YOY֢}8TJ~Im*៴IU8eAu0̂ewah^&#q^VxQ1Q1+/6\OA5żFxKpV;Ћ%3\lV +%a|ن\V`џ4.W=j\,2hUJ=[4*ׁgx@J&L!0ɿ/AjG,u}uZb 7I؋` vAؘHmǷO3V1 -endstream -endobj - -16635 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16636 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16637 0 obj -<> -endobj - -16638 0 obj -<> -endobj - -16639 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16640 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16641 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16642 0 obj -<> -stream -HWko6_A`EMK$(Y͂TbU/}M5u:F!x 6'b 4DL3 },٦ nÛe"8#X9(aƿ,Cu)Ԛ)Ri0I͗&x'SSO}JO=>gS3O}N=9>kBkB٘0kA֍!WE֍!Wwc"\E\+׺1D= -µn PkkZ7(BZA֍pCs \E\+׺1@uc"{kkZ7pCލpCލ!WE֍!PVuc"{k׺1D=Jµn QzϵpZ7(BZI֍!PVuc"\E\+ ׺1D=Jµn Z7(_Z7(_CލpCs"\E\׺1@uc"{UkkZ7(µn QzϵpCs"\E֍!PVuc"{UkX$k|n Pk|n Qz͵֊Eo,&lnSZ򔥩f& g2M5 $)S+HInR<C5\l4"$ɔD(OiOy49 'm'M* "iփy汯ۿF̳1ؔail'b |J9SwiX5qW_UV{.ZU;Lá՟Dk`Xg'bJ>N 4MC DBeh?H,料h4gt}9LZfJI=~u. gi-de&| q5o]d]<+ !bOŹ}`f,NnoU9.Z|P $hm?l/#Xvźi^|QI(yW=k˞@ҁƻnC*c_Ǫ`:.ؙDE@ii= JM?']{%4_< qypep+BfFᙩI._Z% Xoq4z0 CB{cdN=+Z m!躹-1x<9;Er7,~`,') -+$($^n֬}}êL[< 8zI?5"y&V`fvlP 寈Ix&l9oU݈;txjPۊonZEp_{챺&I>&q8GZg۵mu?W. ~CnD+C/b;}J]jJc5s1zAݳZ62++N]wPnJ6(rM3|=ld"rn_Je+4풉e CWӹoOR<%Lt͕*6sP%fpxs2C7KH";[ڄ|\EQx4sTpXTtڎ2-OӝTcٚ ؿfaNϗ̰|&3ԋln 7;<>r?C4Bgx @dy>.§ROi-hQّ*7.R /.>gX\}``].Ya>i<e-`]Y]! F GtN4Bqí 8?ØUGfTggݭ -2ml*ZQr%PP2بW)^ *sT봕d\YXzs lYm1,Ah%DZos\\4O'4s}Ygu.~0-Q:3uמ'Z$lL&`vк=w?9>K79OpT_]79rUݖvSoN7t:;"8nde7s^-=n@n AG-ERԱy Z/Ŗl_o' 3 5Dr@r,|U. 2J FfàQM&ie2f|L3;5.#T[o 5-مsЁU-JSw3S `HXHf9Oy%G+~p ff_4> 6DR(1Ĝ)/.uj "~ttNv-,x)07jB 7Qܼ'jX0?]k[@|;ȉ IKsQʙ=/2G m۫0s:),~;]̘p"UP0'>6X|j|n6OvLď{=Y#1endstream -endobj - -16643 0 obj -<>/P 1186 0 R/Type/Annot/A 42692 0 R/Subtype/Link/Rect[93.6001968 663.229004 230.975998 682.908997]/Border[0 0 0]/H/N>> -endobj - -16644 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16645 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16646 0 obj -<> -endobj - -16647 0 obj -<> -endobj - -16648 0 obj -<> -endobj - -16649 0 obj -<> -endobj - -16650 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16651 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16652 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16653 0 obj -<> -stream -HWa6_Z`W(REK).ָVjeger6w(R>!iͧw,ǷE2fU "*O EJtkG,~7]=NAOOm{?MfYEL*`̸d*$cf󇡉kZeͼC1%uutu˥biĥn&f{V"ϒw8^2[M&bK9S???/WoʋK)=DUyt}TISd,H>p:V,C$X, 89sB} y>'zAzAzIzIzIP_ B}/ e$ԗP_^^+B}g3´>v8ZCVǀEǐ1d} Xk} Yp!P1`1drµ>,B}ZNǀEǐE\ k9ZZC>p-'\c"k}k} YzZCVǐ1`1dk} Y9ZZC>pmNǐE\1`1dk} Y9ZZC>pmNǐE\C$B>,µ>P!+Tc"\c"k} Ypp!PV1d -µ>,µ>,B}ZAǐE\+kZC>p \cH1d} Xk} YzCVJ1Vasn7wgf)>S".JCod]}j[ۚyBVejp&S~:C^ mr֌xfz[vKeŐ|yc#`7mن*AA.I+#֓fj>D8n ~2Q:=x8@u׽#c\8,LVjˡXJ̫fSZRj.rNm=Ǘyňe*KG]dh]NrYn'#cn^n€ܝ3%w]7FG>ө>8IڧNA1y[b'т8$MAQyQ&_=9Du!ωiZ]Zٖ[Vh-գBAU˔ai aݹ7^,|tBjv1D0g #|.~ ]=:͈- nn]z}HѳR(u"B*׽&tĖHH9=L\g3;\HvvWɴtGd_ -̾ ηqǠO>3=_x#9Wpf͖wb_#+5cekx|\W"jh6a6T -8 r{~Pbf?,v4p';567"1zthv>[} u3ؐeM+rְ;%DM/\"!"#y !y`fV%ٻ># X892aQ7mݹA׽{@C6_ogk>]S39EGs (?իZuw2< ;{GY4Bl%u#|47^<$_n *?*JuUpfB'vlv OoFFƟ,r\yUVֶΥޫ݊.]]۴yϨEUl2UIeξ \Q\g_ 4\Qym9-ÍHEW5깲P/_,8V"Kׅl(? -ƲX,Mpx#{.#W]+c.rA ]*AdRBW -\eM=5nI`h 6S*u=G![m+SErԅ8W>Tn\ߌE\c0KCoK Sө-bj̆ 2s5݆{\|M O$y!'<+ $6Q}`}q&A08O +iVt{~]PwZLx/s }Q#Ȇ-O+o'=\n/=n$+YYOaƳ^ڷhK ێ -MJ~I/tZ&? A@Ʃ9ܬ_Nm&_[<1R%YSJ:e$႓3njnG;t[῾j(/9pRBA%-#^q+8+hC:2a#)dͼEjC -"Na*nSsyB{Ș%I?m I,뱐WtrdФUш>/P 551 0 R/Type/Annot/A 42885 0 R/Subtype/Link/Rect[93.5990982 195.429001 187.378998 215.108994]/Border[0 0 0]/H/N>> -endobj - -16655 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16656 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16657 0 obj -<> -endobj - -16658 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16659 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16660 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16661 0 obj -<> -stream -Hoo6S.+@Qi{E\8(䵼V+r|#%R"g&W?|8eb}w~b}۟~,,.e4$+U.] -N`=+n=SW<^s7]#/%;] ~WLca$Yfݘ ;Oqǁo;)J|xª2tSS?֏8-68> -u+Z[ṟwQOKJɾ0ٯn?gXaUUJF [gca d,f,`W1O`QB` -twחqvw↗\4pdqei*eY%(y];S.)qK2NJf6W% " !+ߚ-,q:_Uq_1)J 52iqqz?o;JFg;,wy_S2y݇k(̺uiܡ`_Do cN< ~Sw ai LqeUWT:Y|yOa5%4хKJ5{1t|/K?=--UʦuחqvR2>Õ~5Nӥ]&}_߄fw9C;E_~솇znB_g ǛlN]ԞJ7k0| vjOs}^c@7R0ڕΑeG>*d͕x{*%}b%ϋUn>ڍ׵w*#KNQ@7t>s..3UKUyw꺬4+AZP4o,&{xeS\o;;ǯ݉| j_8D?[&W=pߟn1ZZ#r~:+,ɾUeRĠw-ٽ=a~O-,'ޘ:-Q*ORdk5?o[nzBo ~5DK*+Һv#KNe];#Ն/]Eyv6ˍ ,u 2wAR~aֻPec=9}n=>}c:Rބu1)Ɏ7}[s9 ffD(-Vkb'O֬" >+% q\,ޟ)nUXnA l#w&+jl TM&}ypB3a-5O0LB .rj^2=OZw|Tv/8lRׁuK~N > -[[,ڦ;nXsv#p6tPj3-f4gK<\Xl{]t\䣣ҕ"oe4eL/P@=k;^>!`J{$$貸PxbƇjbzJO׫O.|av:y==v)!LC `m(IT8PJ|JkQ=eZJ#k)`h)3^o(KzɖrcX?(TWJ}ET^DKem5TҙP91T-r Sr!JQZ*8^@T/ -STkh(NLh)f{*LQSeR([*GLQS5-edO庍(MLh' DOބܿ([Jڞ*4mq=U|TY\Km0U4DJaĶR%yRK*9( sP5L}(SeVJPqD -(z!D*5Rʴ=Uj-?"ʌ(RqĔқ*U>7Ss/$T'PHL_+UC(REL uTGJc[Lwg?ð>O%xxylg@_y~џmzWdw)j/~:m5v唿AwŰziUŸ²Xrd\=Q?ނ&cܰFm<iԆmumАK o};Xf22ə4mp)9S6d>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16663 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16664 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16665 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16666 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16667 0 obj -<> -stream -HWێ8}W{V]! fYL ;Yn+cK^Kl~HJ`AZyXS$]^oywoD\\3+K g噌S.uQž"YˡyvҜTD?쩏l-,g}aiO'۞Շe;&+.liDVsnŪ.wKH@b\D {u~Qpf>U(eVߕCiEj);M'?_)cQsC s$c1ߡW)a;i"@,%ԧP3B} y>'P B}/E^u^r´>vZCVǀEǐ1d} Xk} Yp!PV1`1d -µ>,B}ZAǀEǐE\+kZZC>p \c"k}Iµ>Pp!+Tc -k%ZC>p$\c"\c"k} Ypp!PV1dJµ>,µ>,B}ZIǐE\+ )Rk} YzZCVǐ1`1d*µ>,B}ZEǀEǐE\kZZC>p"\c"Uk} Xk} Yp!PVS1d} Xk} YzCV^Zk7kV6ϒqGwIm+À:Xi=EK~" Xסi~g:1h=kZ ]U}H7]L!&&9o#Xq$C\j{M$󇂜S&dM,.H -}SԟjoJ5v!Gƒ[Qdo*ɍ`lu6iC}7#z\2Kgv覷O2gw;&iXQg>ϰ(ێPȧ\p0bx)rE6& kAs{hFtj u 5XvP'Xs]5X*]qXOJ$Uk/nnu:uX`tDl69 Zk[aOٙmȝkʶ|zQ3p) "& m9 n \^ƙ{y. ʡj9no_m6ƒ#rXe5> UstpܘLz$7'"[m%x*z mtI_ X75l&K8<$Y"'6Yo!H: -̄Vr>!~g>t)IBL6 -=>X}W5Ӏߚ0N7(f:BLrA1]qD -}_j׸&4a26tAn-:X(Zx) *t&#vfjݲz<:>X9ʞHϠ}8|./OUC\Ձ WsC6h@jIhx^S(-YE6T~.HA/ox%#Y&`2ȉ]$ v͎=^҄ɂovu?\`+DJqos8հ ^lAߙ/TeL,AP?-9ܰ[jÅyҗ .eKᡇzeW%Sم99`ނcu;4v1mƮkeu:s ȼ{Ӂ̊ Mg_ۮ[b'fccZLJmvOJƭSNI̖lO[|Y%簬j+HEs,3msƲcq0}G^ P)5 ,l9aоVBE}.ך:ٮ Ǯ~1FK3ZK6cپ9|YE4Ms='{½ z1)Q8+/& -َMy\d;q+f.;%#uH͓npo:E⠳>pm6uKKFh-C_q 2:~)<& -<ڮ3iiLnnlʀ L$cbYA4%UOEa1͇@q'4]Q"Xf z?«mm+x%=n]iڍ +BlXI{IC3g]mZC1ABSS/;24Zay$ 51 1C> mAGhI[PY+XO1Q"Se="I |cpŜ :@ϨOɤȃK@HC*cmtq]ذ4^BŰ S vV`CAK>bZN`jhg*beZ&N9Z#CHOyjԭv~e:fKҡtVt=Ѿ:= #ˡXf=xwBkBגae65ԖӺAxlE3[w̫e²"ԯ2a&gxﲝHyj@p—9l`,bi_/̲юϸ-P^7"8{so UB0VU,}n t³ qfy ;ݍ15 #z_%%]ܐW;F4<#vTk6Cg魦Ga`1F[Av2A:9rmJ4 4iL?k:+~Z BH ]>*8nW=d ӣݔ˘@%:2ϮP1] CלnyIBƱ'$XGI{Mb*j9+9l:`6`PmGΈZLq*ܙߠ -3aM TqDu%GBvͲ:.JׇݻV||z<2f9"]̉X#c۹7{ yWP+O,}N--BFg褹]@"bq:P tq) 4HU"KwLhc+"̊l?im{?L2uPhf_Od@+m:7Ac[pO{4] -e -yt1ҿ| UvP3L8gi: N3CLF \2ƪ5LZaD 9hBh".'yAji_dw6:; -b2gBVpTd8 -୞L pdꫵ3_:BR_hѷ"q_A@jț>}WzDL -X|U ]0WD_n !Fjv{i x_N×хzٰ~a¸ጐS )A6L#Q0$T4$D>nYĦ8"#F,VHb4֤ XGRXpPw| b]?jf?o'lendstream -endobj - -16668 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16669 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16670 0 obj -<> -endobj - -16671 0 obj -<> -endobj - -16672 0 obj -<> -endobj - -16673 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16674 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16675 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16676 0 obj -<> -stream -HWko6_ŗEQqźkēm(VǬ{Hgk`A3=$u~],a?EHh. -f&W<,K7 U뢄=D,:T5T?U}u[MCaCaޯ[1Q/IXI0jujpabK\ݗIS tSmnl_WWi"߿?5up1Ӗ禅~왉]X_o_ ۲P)Jr|QMt!8"Qǐǀ%D0dk"czzWzWzWzׄzׄz7z7z7zO i>%ԧP3B}Y>'P B}/gaZk#Iǐ1`1d} YzZC>p$\c"k} Xk} Yp!PV1`1dJµ>,B}ZIǀEǐE\+ k%Zk#Eǐ1`1d} YzZC>p"\c"Uk} Xk} Yp!PV1`1d*µ>,B}ZEǀEǐE\kZk#Mǐ1`1d} YzZC>p&\c"Մk} Xk} Yp!PV1`1djµ>,B}ZMǀEǐE\ k5Zk#Cǐ1`1d} YEYM_Gkb#8<,xҴ`6?%[Kec5ec~]9MS9t_3^dkn6CsPwS55ŽfX-J8\8rްWe:IybiqU_㈜&_'TXmljzog;Os`F1e졃L[%SeDz{qo__F۪lF>ӣNm7`߶ޔSwn8'g*UojfX YvAgRvk;Y wN!hm._`ra%j)7AܛNs.ce7e~)l~n[)EܖRtrEX3?S5x/QZlv͸s22Uv|*림k*>FDw} +oǪquZc=-M521]:-BnyZ$+ŏӴ}99&U\6|7b= +|\oWa?@^q/`_kVNKͳ ޛl76!0rslB(޳O )ހ4Fa{Pܝq WG;7+ƭ09 œt~ETԒܞgP0?UUdžU;4]SNh?2vdQ*5XL*^Ut: \F[ؓ`@ a~%ؒR86e~֦v7 nؼyI'>8ا\(.f-4N<2;ۜpxZ!|`g/=geSòt}}5|,wmDXK|6Pex+w]=8{{^PQ@n-95VTVL.U/y&)_s)q7c3Wez`[wm=NC}vuf>lyT/d]i!|wZ -iy, Bs^%kd4YVn+NˏX_bpf21r^AfG-p7P]-Gs6]%k9:#?oUhd7/WXҐԙ[LT\g\X|)w>7P\Oj(ۻ~M`w.9͈\tUn P;~N0 y7362[vɮR:\_7lS*ϛLo]&~nNqtY8 -HS=" ZV|+Ŷ;h U*BlU}5`w?/_rBoejSn˱ʕ^iq7E 7R*冲yʃ7/9S*mn[NseDd<@~Z+۰f/y_u&'B :$SȑND+"i#R&K7UĻF1` N]-KsްKygSFqoi\ v!- )9 zzkݜ\w/{o|y3MPWwwoCLZ5b辿]O2ӓIu4GwU=0`{ -(Id(E|H:V^!jnIZx*ab?7f(ʢ͂g:i?t,k^Khvgʟzgc$x]+B&-:N% -{.fAgXFa^ݍIOir*R^kiQ)RG)>ՕU79+ -]CH(Wo5 ŗMhkMDO|KѕoB M+x8 -ga|0V)ѧIz WOZ,3ϻ3=*!]?ʃ9^mT ?Jsez9b%hFNHٚgQVZ|ܠ9?ǘ y= &vWwy1?6ox]x.ڻf|DZ$aS3ȂMʹ:"0 sGQWUb/d\MnIѶ-S녟"5Bx^Cцl*cQh߉r%ɊW]E3@;MZ b[%*nP$LkZXݡ5cπGԙHֳɸp76_FhzU\p1$湡z6 9C62wڥoZE?T[9/;EX ߞgW4}%^=7-q l ˖PvMm\C؂0]%x -Bj)7H\Yqϔhy]6 Íxn۹,Un=bV;vOrjZ߆1wy3" /Vݍ`, &vy>Tǟ:%?*đ ݹg/ g=L^=.%۫@gWu,pQk9H%nO,:I@3FeٌC)ii"`_BD%~ %I83ԠM{\jAƌdfty4pPB}ٲrYdm!^!WY4jv/ -Ȏ7~kd=v~A4_IOqX cyI'r" /ծWve~6BL[_`5endstream -endobj - -16677 0 obj -<>/P 368 0 R/Type/Annot/A 42433 0 R/Subtype/Link/Rect[228.334 604.911011 495.665009 619.890991]/Border[0 0 0]/H/N>> -endobj - -16678 0 obj -<>/P 368 0 R/Type/Annot/A 37740 0 R/Subtype/Link/Rect[154.404007 593.932007 431.431 606.093994]/Border[0 0 0]/H/N>> -endobj - -16679 0 obj -<>/P 368 0 R/Type/Annot/A 26931 0 R/Subtype/Link/Rect[129.600006 568.911011 228.100006 583.890991]/Border[0 0 0]/H/N>> -endobj - -16680 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16681 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16682 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16683 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16684 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16685 0 obj -<> -stream -HWnH|Wf_^Afg`)[]>d)/A,T],6hߚW_Go/~|+.^ƩYiTUڬ0kuDJ.~}YnŪLuOFmir>_j:O|8IASUy$5&Li.iSd[Gͼt3k[5ye<}&F~3zծ{{[}зBӿ&ylfF}W:WPWsu"5}_E2sxѹ$Kc6GFwypo{#[ -½p{'; p_p_p_%p_ -%p_ -p_ p_ p_ 5p_ 5p_ ½Eg5(-V{h-Lj%sX= cEk h-Lj܋Zh-Lj܋Z 5 ,Z 5#p/Zk@k9X#p/Zk@k9F,^րrlXZKX`rX=Lj%s,@k9F,^ւrXhX`rXh{Z Z˱{Z Z1bcZ1bcEk-h-V{h-Lj%sX= cEkh-Lj܋:Zh-Lj܋:Z u ,Z u#p/Z@k9X#p/Z@k9F,^ցrl#tϱ{ WUH/U[!r@ -*V! -UhBZЪV%*U hBZ@ -<2hXZZhiZFh%ro@96k1KhsX@KހslbȽ8`,r1b-{rϱqtY\˂sXRc4-{ r1wȽ 2@Kނs%roA9F# - h[{D-=hZ"c4V-{ r1+Lj%8Fw h;{(D=hZ"cD=%h;{;w w%r@9F/@Kށs^̥Lj%8F@Kީ<;9ir>:t|VY5]%W_rw۪+]yz.6ЅںO߫WN -?#iЮ6}s~,n'>}_̨2L!pփ՗b2`vtdf7O/6^7jjh_ЏV7I/m^KE\WuYuz5-N_bپ8S/דzF&U&UQ[Gw]?N~ pp\35Gp7*Q"}Nx Kg9Y][La\ViO<{348@􈜎,XB-'rBZ*V!JU -hBZЪV%jU hB-/<\8861KhiZZheZ"c=q5f -{jZ ՘%@961KhslWc8,eA961KhslWc8,rϱq\YB c=q5f -{jZ ՘%@961KhslWcr ՘%@961KhslWc8,rϱq\YB c=q5f -{jZ ՘%@961k ՘%@96=/vW=\+cuʟ:̝]ת*ӎic2 y1ˮlu]Wmsת\5kͪ3Ͳ'z?O;ܨpGi`i]݄ᠿov>NSd:/S4*~i]>y IէY ,7]= -Kb\roO7.waæ;M%4`jWq85,QUYmY b,qy&+*w2{wh'ֱfs8^Î_BҰk&f|pJߡ+느x^ɓDCf+vJ)9BMsqȁWXnSFu ߠ4|A.GEd>/P 720 0 R/Type/Annot/A 44581 0 R/Subtype/Link/Rect[93.600502 390.106995 357.888 409.786987]/Border[0 0 0]/H/N>> -endobj - -16687 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16688 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16689 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16690 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16691 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16692 0 obj -<> -stream -HW]o6}ׯо)@OI\}v."ӱ ~([&S 2#?W!?~?|7 RT,i+fdzpoi9i&qjhݮ;4{7:=42}J!S6IxjS c/>y]=4]޼go.i!z}ç՟Z/n_CS3?qkR -߬HVsL_Sa?wĪI#.O 96؀#H!x1+eV]X|Ke^e^U^U^U^u^uMMM>'PG B}/E P_FKB}zȳ0mI6Đ1` 1dC YC>r$\b"GkC XkC Yȵpm!PV 1` 1d#Jµ!,B}ZI6ĀE6ĐE\+ ׆k%'pm!+Vb"\bȊՇb!,µ!,B}ZE6ĐE\׆׆kC>r"\b"\b"GUkC Yȵpmpm!PV 1d#*µ!O4CV>ĀE6Đ1dC XkC Yȵpm!PV 1` 1d#jµ!,B}ZM6ĀE6ĐE\ ׆k5C>r&\b"GՄkClµ!X}pm!+VbȊ[f)fO>+LE$8<4m'jқw&ݾjǷn3>O7W*OAG>O7?ϙZ%s[Ɖ83*]颟֬i< þݎ7GGab bjk'-37(T"TTn^a8Փf":vPhj|O3xmڹ[|>ې1Tñ٭涺.LQo٭q%tVkzu:7cb ];G!#mFRFdU3\\3P9tm -ZI)ؤW(`[֭'4_00*?TAin`\R-Xݫ|FcJX1o9.WW;u`׻q_G[VL.ǼFТ`,8պG*kNlX0qyHO 7@wl-?@sK~娒LZ͝_їJ%DHa]ȀZg~qƙ[AfkοfG׏;:-XnR SkqAĉ{i56z7̿[Y"Ǿi}5WL Ȱz6L[VVaCWbhuh,C?b8Ǻz̋Daa|Ʀmn^1ܶt{gB -P* (N-2{9܈`пyT*}.E fn\.=CF~r D})X#c2ӠmM9+3,9?] -A͇1!N~wF5[#Nt\PG . 4cwd ` C:J/Zo%ŞݵP#].e؅= )e*SV{<߶m ޿EcfXb3[$9Y;I:$x;)Δ-dT"jӧMY.uy (!C%Lj -TTJSLJ_?޾ts.4#;AnTh-n=ÂPaZ X]paLI‚bA5*rnμ -B"\% VS]UWr;#9D5DxtV*la-F˙]ϺofF":K[$et|cjGe^ִoV2滵& UJRL|åp L]wpHUgM3[epD9[~Bj aUd>rw Vю"f "%J4?zG`)ͣ 9ĖCu,utߌMŽ)%KnvZ-.`F4r#U:Cv,ݍŎuv%5{``!XOw: ^_&icݴɁ?ideSad6IcX"8n-O 1hzƆ+hgvꬰkf'sO2Gצ݀Pw.fn fԑKPUi\^?i܌|F?ԇ-cÖG{ crwX%bWJ'["ŒP -5X>u.5?~ Y%cIK! R4+C]0TU;CFeDVѡc_Mnk?ٻ7Z \E^It1uq0t4Km/u׎M{0hEqC&w kݼ=TuFąM ILW/EX}sdLYQ{Ytr<RU$"2 >>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16694 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16695 0 obj -<> -endobj - -16696 0 obj -<> -endobj - -16697 0 obj -<> -endobj - -16698 0 obj -<> -endobj - -16699 0 obj -<> -endobj - -16700 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16701 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16702 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16703 0 obj -<> -stream -HWko۸_2(|JX:UlpӢPlQ׶~$;͢H%RgsMڐ~;>J~lx1\Er"P2O(y;&΋yfO*N?9;M7NI{10'&»dK28L|5ؒԁRlg/G9؝[0`FP/$5"(~Gr)b\LT‹`XٜQl̰sYfX -as8;9;^8^8^8%^:%^:^9^9^9CD}>BGQ9#D}׈z׈z>F;eimlqĵ6fXzZ3,Wƀ Q︖#1B;km Xkm̰k9Z3,DZƀ Q︖#1B;km Xkm̰k9Z3,DZ@\kc媷1`!1rۘam Xkm̰kZ3,DZƀ QV 1B;km Xkm̰kZ3,DZƀ QV 1B;kmlIĵ6fXzZ3,Wƀ QV"1B;km Xkm̰k%Z3,DZƀ QV"1B;km Xkm̰k%Z3,DZB\kc媷1`!1rۘa cI(NY&'$=FK.AH0&/v5H~ JRPplM'L<Lv~TЎ {S%Y51]NrV=y"_i=y}y>I7ٴ~5ҡhp[,b6I&fUBC *y&/)}Ny0E3y)- :yLl97nV,X[J4m&ON;<)P_3D+TqVq %V.JP]&laѪ*W7;4[rCB!JO|ɜRνnpUu}g2팏PT=Lz@2Yl`BqjH#Zú5ZkeT1,Ugg!B/?tR،C\ҍDQ X|hQjt@w':A-,Cg!*@ly:(V0[OVyY΃03_bJ(hK8,qz%lw* -fl] u^#ICQRjWJtG_sܗt -z<I{7?t>:墑~:Jh&͗ǨoPkW87V)múAǬ6k}ct{qPNMgˢ:j>Ӌs(ĩJ.xzIggoH>c4:`Pkf@B ß7f&Rfk3D!w4}ݰ~"p؜k)}'! -dt$P)؋tViB7MRSf^Reڤ9k,.e"ˎiBzc{bۮju͑{XqKoB~LKM_f*VBMuͭWhD ]e-Q'(?(|JƽLaKЀh'2jMPS311'v:Zs7_L--9XR)Eb(XKC+W+**֑ĪiZW=pud]",_vn1jorHXٌޠ:y))CY#|b .n'8*}o G~L3}`<]od^ =*.LP7&cEF5k.d@%-/6{tdWw -\q;vuj/ٷ8ݐG6.4h:{ۛrh3nN{w6d r.scMalo\(K; uzVk$&&YST>2ƞOvY {JY }ӵ3A8c(q?KHV(2mWa:x -JiFLM+e&ntG"_{mx2S`Gl1EMAn\ghZ)_n餬:UdZnhL'R\UƅPˬ뀚Dȇ;`!0F -(<T D+Yzʟ6yDh|uƩ2HU +rX`ybM -C]} (D( m SPC8@Q߷fS"2웙xx2)Rm%]!Hh?Bxkt6(-8éS={KE+H<s9&HNnV/WE\aG!r PgSG%'8g8j@fC Ts=+T%p|H`)|ʹƒ#!xj)<äyh͏ \? n,Ne9+ -#]˜Ů(:+q/[9 N{K`nE#,s$I$\}hqG ޯN"GJ/좧o8^,P{M߻i€d9=́88F˗ԚKEE?+rjkwMV^<†/U< -ArH4MdгQl Zo2#7 u]&WbEkdO3um,nNX;f5@0t=e{TNIeFtԩȶUZwLE{>sZ#8ӞF,մnFx |檚b/@Z['ՇztsH0joXn"xoקp**F a@kȄt*(>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16705 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16706 0 obj -<> -endobj - -16707 0 obj -<> -endobj - -16708 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16709 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16710 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16711 0 obj -<> -stream -HWko6.`>jGzE-Eb3=JH;{HJ3uw8syyG5?v0 wɘ!e"xg"Ny8?a$S& njncөylpl_>i -=,?% eXBa 4Kv/ M\Oc>O#rWB2)j5MOnsԠowd.<[cuMC.&;/y$ ~_ObBIe2u9)KGr1dùY`Ż8{9{^x^x^x%^z%^zSB}O >%ԧPy3B} >'P{ B}/$ԗPyu.k] YzZCŐw1`u1d=rµ.,BZNŀEŐE\ ׺k9ZZCs-'\b"{k] Xk] Yzϵp!P﹖u.k] YzZCŐw1`u1d= -µ.,BZAŀEŐE\+׺kZZCs \b"{k] Xk] Yzϵp!PVu.k] YzZCŐw1`u1d=Jµ.,BZIŀEŐE\+ ׺k%ZZCs$\b"{k] Xk] Yzϵp!PVu.H ׺|.,µ.,_!W_eY0պ =S,?,Yp(ga >EV]G50vRwKy{y8Y5csqY[ͩUAvKɼDi%?zn% -G vg\<m4Vn^x%lWA gyqOC:='1&/ڥu 6KZ.cVm|ubg S {ƬOW}U̺W3tUZ_9:U`^Z0^7&AaEAsVt3%byxN \@p)gxh,&]j_gT5]S6j ,u<̒oF7mP&,Kc/`׹ :hju; r($\KrRI޺"m&jFDq昱lPV*gඓ&Pi ϯ ѣdl`pFG]9bnpnDUy`KofԦpL ]+|IH!WVV&N"n8͕f߼/$!IY26z9 ,W&$XqvܡN* -!0Y+ F)N8w`N=VDgAxghXDj sP z_F;0n4څB;f*,"h&E- [Xs 3$1zζٽg+LEK|?KmzeʯB< |3nHb)5U27Csю<%,ƲM]'ps9Fj Sn. -Ҟ^ߪautƹm5m &DS(aSt:dBk$]{3ͺ -Jf&և -5VAXFJͺ2).zPլ\fkZ>֌~ ;܀YPs~+ -ԸLM =רNW!OkmDqŤd/umw\O_H"2畘(S8#J඲j6NPS8#5q 'e[GV<EfJQ?SyU*3oJ:L࿡}8 \tF>SoJHN}ybڅ|}ErT $Cl.%L-C亂'͗B׃H 2$XTsH~ILNTڃNN*iCu>q/XQևu#pqXa+&Y-f:C״LɯL˩8:%ohG^whU~un(E!(- c9Ij:~%GK/eSD_##Wbz%nq` d'/ydɣܻ&S{7;C4;]Mn@^Vk"UқBSV*hUe]!@Û" -Y3T@ -ٍNtavv|?fsr䔗_@9rLUvo}p b/ jA65QK0W$w̆1Pe*"e:J!H!j.И\ -T>mIG4Ec=Ƒ>.1np Sܻ!q<_͌NRE6o?ڽ*?>!u}wxF&gvtr>ݟV9US5!z LRkll#ZCӺiaD>Y5&{csW@G rޘ-W!(pmS@ggd -P1|S"O 6P -L=!7~hhr-E6yi!:IS@`abT"JOJ(Yn$]קdxl^,/O]:\p30+xBuW&ٜqCK^TyY%>7%/a -M^QlZ#k.,J[%"?<ۆ(٣%wy T7Wa1osF=MP N}(ٺyg[T=THJ'Er]0Rf|xQؗz2<^Ekjh0vz,zVZXtt -1m7 -Ve^*ȗw[6=۽?LQݮ{BTr>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16713 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16714 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16715 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16716 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16717 0 obj -<> -stream -HWko8_At y0Kg)04@RrF.rN;{HϪӧ=|2/^3oUwbVޗ:4ڭ!my/0%3%LUUd7^$\J sO('rN$9Fp1E0dES XVpo{+̽; s{{g>0Ap }.ϙ\p3` }/%s_ -K> -#s,F-ŖRK1dqZ!{KH-Ő%gBj),=KRK1` ,VH-Ő%gBj),!C -,VH-ŀ%bܳZ!C -2qBj),bRK1dqCwO1` ,NH-Ő%guBj),!C ,NH-ŀ%bܳ:!C R Y{Z'bܳ:![&^H-ŐS XBj),b),!C ,^H-ŀ%bܳz!C R Y{Z/bܳz!Z!KpRR Y{Z/b${KH-ŐS Y}1F29[&Ϧ|ʨmbcUG5]&﫮Vtņ@]W_yW$b÷ffF*&5}$\[0Ph'Lzi -z~pCp߼{:BN>",FC_T8p&D(\80*aa?Nn9p3H.{BLaÙ@bl*;F'c/KXsolXM?ԶnqV[WUm6678^n_Ƽ}r(fltuxuU}m2,l6ⷿ_WWl#* Z2&,M]|1jz.> -MZCQ8纞톇iDA(r/Uˇt;K7ǝne 5ՈB%PcLoWOfп1g,pbٟsVpꏟf8jAm kuVwm英ị-섷Q ؐp0Õpf ' :O,&,O?'xin7M_?.b4 -m=s#9r(c:WP>jObsƎyx>,KMt^:mxuώ*qz6t Ofۙpe.{??}0nBz;Y{cQ` 6HI΋wC6V-W~' -2hf6o/`OxRS1!w'!+ -,-ϴV -V`Z3\ʙV!hL -U -Z%*iEA+2(hE'cQ Y\b2aZF2L -ZiYAսbX[),AսbX[),AսbX[),AսbX;),E1` uO1d ZPC uO1d ZPC uO1d ZPC uO1d ZPC uO1d ZPCע-V^{!Kbu-V^{!Kbu-V^{!Kbu-V^{!Kbu-VA{!kQ XBS Y\ ^#Dʾ oϦ .%e"-.OM??9 E 1բINߣVygu1 :nr2aGu>N'mFvy8|f>p{V6]~dηӾU77=9SLSV -v]u~\g no?ƫm#~ ^Zûm -qlFvkx%է_Y#&YX>ЫRt:C⦭7PRWoEވMdY7EeB ^]|FP0mӑt@ %瓩ʧ -?ßϗ'qpJϧ?% el\$ty&I>v]uU9ʿG-q TszumW6Asݺ S]S6Ş8*ث,b7W Kc„@}jƄ%#.:#<&.ʃcؔmPM/3b;@v2 x!B|)QQc'ӫ78]-gim"gE~ xHo[tNj|շ:+Cdg^r!X bj(uC-Eحv; 8ln7bes_-lQ II1}A{4`}d8KjW0WCb,iͮRlvOc^98)2p$!Oc}Ⱥ?c*v?]m7 Mյ -)l8Gr?f!x r`oL2lRٱlstaYja!:]՛Kp.fhJ)N]rG-QZ~>YVO8I쬖j1*4%!`Þ )>%7ll5 3Q_ѽӘXtEݷsKE)^ggXI7?e~!n?zdc瞪p/] læZUfL`l!z;%]TCԻ['s;;>)AA3O%[&#CV2H'G>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16719 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16720 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16721 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16722 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16723 0 obj -<> -stream -HW[o6~d śHE5m-6 fmJr^$SdhQQw9 -36 77'!M5^Ob@˘AKyԘƟpЫT-ߚ}Lh}$458M "%0rzeTr}^1&Ln_/TVmq1٣(RK1P)mZ]+܀:ҏCpl%FʽZw_9!$QGڷ)%r's_ 8R4bV@ xӠͺD ݮ8K  WW7ܹC7 `@ \idiasxiw64޹\L'"۩rsd/Dp"C4͂vv -cM z\B t*>a:҇T+ hJ1ϦX )5%KϭXִg(l>[e0MX;N*)14R|N3'RѡSd@STžG̓493$yƒ1Dg0yN 3|YEGdvf?3M /n+"U1cgm8?*r1A@|nu$f]w {{q%)OǫٯhC7}endstream -endobj - -16724 0 obj -<>/P 1605 0 R/Type/Annot/A 18850 0 R/Subtype/Link/Rect[130.078995 498.917999 385.806 673.916016]/Border[0 0 0]/H/N>> -endobj - -16725 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16726 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16727 0 obj -<> -endobj - -16728 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16729 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16730 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16731 0 obj -<> -stream -HWێ6}W ś.@Lbc @mmel#ݙ|V$3!yx9~~}g$t":6J2J:-n4~DS56͹fMG?a+>XCT i\%ioFnDS4!M"f#oQ??nj߽&ݼڱ}B.ҤyFnn`DlF)HB/wgX#-i+%~=qT,:J ,Q_cT)CNI8"Ub -YCaXTxK2e^2e^1U^1U^1U^3u^3u0M0M0M>cgQsF}y>gQ_ F}/edi)v$Z!+TO1`1BCVbb\K1d1JƵC>pd\K1`1k%Z!QV2R Yq-ŐŨ\+R Xk),F}Zɸbbk)vZ!+TO1`1BCVbb\K1d1*ƵC>pb\K1`1kZ!QV1R Yq-ŐŨ\R Xk),F}ZŸbbUk)v4Z!+TO1`1BCVbb\K1d1jƵC>pf\K1`1k5Z!QV3R Yq-ŐŨ\R Xk),F}Z͸bbՌk)v Z!+TO1`1BCVLʲq -V9a=l'x{ޥIZxE:1`YVsv;/QJȹHx\m!Ҏ")fs=޲z us1iT*۱KojW޻P͔j ػt{q :Wi_UϏcFnqˁt.Esz M9Yɖ[<xq2jw߉UNep+[*X:IQTQTe(5-@^Iynl73Ii -qJJ~H+w7?vo+LcrEO#Y٪' Gujݮ>5N4i7S'M`a![TPkR=s_.;sOz3uHi|#giRb.fUaJrhd됃O <ȋ QFppԾ k)ۢ 8-/A&֫뼲E۵vp5 ͫqj^ŭ4ˤ>ui<$`M _h݇7 {lơ>\]bb*C(/߂ \= -ЩR0mvG=rU M2͓"穇 LWz>焹|n%Ħj3/?l;z\ Oogr:٦k񸹇M> YZ -zJpšdzƱ>kgz+ܹ*{.}[T[;Um!s{ ~| ʕ4BB# !ڍENK|WMnU\fҊVǫwWˎWx L "^IfEt2fO גIsERØ"GN? 8m.kNmI(gm5rFXk[VI -.a"-6[$,O3QXa>?^׸,޳דv}ۭ;M I-M2x n@kQĽ_A+ɞ㦈hy4р[169fCC5w}i{0JLL - sڧyxʩ]-É }[ԋf.X%vkG ufT DhWB^M#5鐖"؏,a;PlS"SV#QPm68/*qj/4-NT* -La4Q1.y?)rq8xy/, 7egvvr jסPoRşV5cCؖ~`y݀NkR;$K8F1 ˪{UԜn5؉-f:ό@vYBy~/@]  -5Z[hR}S{7ݑ@y:_H`|4VÎ* -U2Qi߂1DT8׻k[9ȭ -pHPG(}& ‚bەk{#v&<ʌ3!g*IIP{_[6}\yw? \mZg/ʹY_]}222oD5'=>pqDާ+VQd}G0-2-\#Y2g?a!tLjW"dՁmFx$A*m[ $|)A.ym#5Dԛ`<%ub֞MB2uJn**Q:'(?=PuV QPæq -p=~pA!4C("vv>-.:˗7u-ذe5Vy)ŖGXSFYzZkm*wߢtH34DI\R/!T䛭wVE,=q2pfEH:76/4ѿ=T\VGQ_(\`]P]ӔF".Q%KH`gvUiFPHO;ʓ*p{GJ?(dwٹ6}>?dDzaH'gש -`z͔ӶKM07!VÄgqOŶ~w4(` YD/qz<_ Gw]wҥ9jWI%"|/"j\`d%QBo}o6<x5y|u_V:ARjދbjwQ,PJb2ܓܤ%$0Eˣjhk΅$ I.4폿?% jendstream -endobj - -16732 0 obj -<>/P 1030 0 R/Type/Annot/A 34229 0 R/Subtype/Link/Rect[93.6003036 365.628998 252.300003 386.389008]/Border[0 0 0]/H/N>> -endobj - -16733 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16734 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16735 0 obj -<> -endobj - -16736 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16737 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16738 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16739 0 obj -<> -stream -HW]oܶ}ׯe~Jboч8N)dq`+{V[Ik_;JIE*!p8Yݲ_puqo\BG2̤*%Kb< -\~Y['SSO}JO=Po=PyVXHµs,_=ƀEcǘc1,µs,BZIcE\+ b Xk1Xzϵp-PVḇk%Z9s$\1`Řc=Jµs,BZIceḇ|Z9cḇkZ9s"\1`Řc=*µs,BZEc"\1"{Uk1Xzϵp-ƀEcE\ḇkZ&\1c Xk1Xz9c"\1"{Մk1Xzϵp-ƀEcE\ ḇk5Zp-PVŘc=jµZ9s&\1"{Մk1Vp-W1`Řc1XzYk5߬)r-TLC xQزu܅7lufh4|S+O._= m9p~:uU8o\NIzSV/Y/k֪(R]|~~}~Dܯ_9׆SXݺ^<"EԔGgj]9*G, ]UKٶڡݴa+fy2eR\fXN>6ձ )424]>n돕^ߊ〼DUx56ENvźФ4,b*Ϣ.o;1uJ?vWxd .'@њ*Df6p7h,К􇹁}=Rq'<,~a@Xtmxa-qnTعV'H4]]- ٷ~ehVPu^D'T"#!QDy@z&|^h|طmY uO9;SagZ}aYŗS~ŷf( N7Tw44#I;8 ؘ$3 䥟›!6Q6\wFd=¢wى>RzrZG*f&6cNEDɛUپapevC޲n{ummT<~::dP\npȟzM{YIz*_]H풮L0jﻂk{S[)D gӘ3uGV7T]L<+3.b\~lҟrFb|G\|XyO.zeyXgXwE4 -~fU%Z]f$\&8?g҆=Ӯ5r *+ae9􂥖x1*W?avjyl8 n qKO\3V%ѱu1'$屘 - 6Z)`zpIY']3$"Ca]bf$(U1js:}=t/8Ήr n42J|ybECl:p5̆6nнdayVuo[b_/r o(brbE&KMSvc_dTxCNat:7f+~.B$#)?U C:3*~d'9tN6Vk;>LRr۝A $@{J͏K m -\>Ӗ#@\|}2fTx:hK:応ӪĭG٧zaj㳍hz :؏ѧ`ű6&Ӿfמ37pXƍRWYDz4 Ӊ cㅃ۫^#lSْb1/ݞ%e_|N˨L%o#] K8(EW_\F^N<Ky:s85/_St1C7z P@k&R aUrt )ʪZOﰄ{z: )/~v8UJ`n1<=)M]RHOm? Ee}BϲοeCE=ZZ(xl<~a!~A6yt}2}>rrKܦj`h¢J E5zɈG"B3*-eۙvG[wS 8k\p &p :ڰ)7AE -6VIE^[Uo o4 W -Fi2̶m;(\.j]f̥ z̴Q W"Q2 AY@!+*ESdRH_kѴKrkbV(%Z9кqNsq v f+8a%G7*2hq6fDRBh*'d[[h$%\wRo p_\HޜQ8o-5P"8#=Oa>0d33q 8L8~4Y-h;Qf?9NDwvD1fH0-Ƿ#g|\x6:R7+@Wf:; D e nbAcM=t5m\ù[_Xkکe:OlApY9-&{)5EsV&>/P 1481 0 R/Type/Annot/A 27559 0 R/Subtype/Link/Rect[192.242004 654.067017 362.511993 664.202026]/Border[0 0 0]/H/N>> -endobj - -16741 0 obj -<>/P 1481 0 R/Type/Annot/A 41202 0 R/Subtype/Link/Rect[229.328995 628.911011 363.82901 643.890991]/Border[0 0 0]/H/N>> -endobj - -16742 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16743 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16744 0 obj -<> -endobj - -16745 0 obj -<> -endobj - -16746 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16747 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16748 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16749 0 obj -<> -stream -HWn8}WQZ 8 { $@fңV,"pD>"<ͧ_~]mOE &dTDA><泮˱zҷ]UǾچ}|7 yLEXa ?.y\,Xzd?ˌ)/ޗ[^I8,нvv缾ګoM3>< ,C C1-waPȔs|6A]up)|Npx,=!˟ŀŹr0d%ι/ŀ%S/S/ S/ S/ SSSO}BO< >ԧSSO}F<>gSsO}N=zϳ05 \bջ׺|.,_p!PVu1d= -µ.,µ.,BZAŐE\+׺׺kZCs \b"\b"{k] Yzϵp5$\bջ׺|.,_p!PVu1d=Jµ.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] Yzϵp5"\bջ׺|.,_p!PVu1d=*µ.,µ.,BZEŐE\׺׺kZCs"\b"\b"{Uk] Yzϵp5ABŐw1`u1d] YE5Mvl*f,eن< @iZ& -v+Hb!~ë7Iz{nn>xZ]xkXs~[vk~]/n34(%(UCMGzHp(YPRfX00e+1? ,k)Pdf诶zP/q[վ۪@9[.o퍝m@[ЭǪ*1ZwIݱ-'Tn$b,[yףK^Q7׶0- 0n_ֶ>+ w$2?I=I|40U3̼5lF8U]MY#顮KX>U]>:k6U;lӆS=s@#=N[z!wi; -ʼ-WN?mgǮ4np_?bP.ܭ -W#8vPa84Vپt?Was;ӊ*v6O͉[:U{G5I!|{ec*Ʀ1Ngn2lni`8 [~h;~gɅݳɗ'竓Z"Ϣ!+a23'24tf Θyl0g PDF׏_HÜAlaΏeM,ٻLxbeLZ_7 ث!{CXp^*e<{d,g"j.NrW'SDiL+ML Z0d6G%Mc4f[Zxڶ{lhJ0J/^* d qRwS8cYNE8kԺM2l~}2Ec_6R:JHSx,Y\OEr%qvNU05c72Zz .YjISټ]^D!F\@f<7giucD,//۩F4شm'IY*: He%Y|sha! a8&&']\bv|La3ZMk[w^>v`LAni k*X:^ ,IR~>S5Weo'4YKKbu؃E:H)(/>s[HHx)r⵰i)K,F m+ ͷ݁B5k^$|` -3ɋO~ 8pOO5qpWn!0cJH1AG,PS 1Cy{p"uZ?.0ήƺ0i>t?&jr3A3bynqmg | 6E1t׶9"̋ʚ\Hyxx4:sxԦ:V\.!^婇VY0ݢMgx?@:Mr#7y"HϾ]R{(v;a,z.L -WDmzH_«Gn+[ɏcM9H.Z['G,kdJDJ$?~, srqWIYꁳe9U :ri @p')'/ fe=E[pW8siE*s+MW'c8+to x,Hew7n={/!xND;v9ڗ^ R:2K_ s![!||z~2IXw\_5$ќx/LX\f<]%ea/SdH6[(e,֡W -4j$(|{'-Hމv(14r}>iޣyHD8N%>&Ds@ -7IMWUk|u'm.|x! biɽ wY haa.\[$WxB*67U9 6+%a>ϼuRf 5qn=ۤe\}5Qj-5% JWs~3 U2ff$-C#U)a3}rGQXoaVCU;Oǩ>55//nz|F_076STkÆ˨%m2áϿoI Kl'EjO ӄJrU+IB;^Z94$<8&C]c OR{z^tZ@F$?0$"`8m8WiF; pfжR܌%Xhu7zxʡ/!=ݱ:D*ϑhJ2j<嚑iWcK(V{~J@NR@֚ ,x.1w|![51BMsb -`[Y;l:NxRzOEx2nTtD5B3 <$Ћ%z3E-=-bP}?g mwP -].nc^A| -[gJ]pXY<-V"tCSBG lˆ9H[ud3#- Ds9%鲄{ wòR714ı\uMm+,zCƨNuotGjLUΚk{A`|PɜP3e}@0v*0PBE,Xj8-̬ O0{VFr EX^EԿ<ItHυnD2sOq="J7v) -`W#MiɌfa$f]Aam׫>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16751 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16752 0 obj -<> -endobj - -16753 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16754 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16755 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16756 0 obj -<> -stream -HW]o6}ׯ>ȀC_ؤۢ[lf'XHh캿~/EJCwCQsu|H~˛ߪ@wH2o|7a2M\U -sR*NutIFv # In]﫡yдph$7?dwLޮ"#mahORd%Ym^Mߑ7\eiAYvyڭfBjbj}Zcc2Ge,9lfnw_)K}Oneٜi*5wºalHEN.>hrte""aÅYfX -aŇ8G9G^D^D^D%^F%^F^E^E^EsD}y@Q_D D}/eDԗzבz<ӆXpĵ!fX3X}V>Ā6 Q# 1BGkC XkC̰k93,D}Z6Ā6 Q# 1BGkC XkC̰k93,D}Z6D 1ÊՇ׆aC̰b!,ĵ!fXȵqm>r@\bB\b\+׆a!# -ĵ!,ĵ!fXȵqm>r@\bB\b\+׆a!# -ĵ!&qmV>Ā6 +Vb1`! 1BGkC̰k%3,D}Z6 QV" 1`! 1BGkC̰k%3,D}Z6 QV" 6QkC̰b!,ĵ!fX3XZkI2 mvܬAYm80iN\UܦlQvoUu q»+VPi:NϫIFs(jM24Sr>R^0fIp3E" ؟T(X+v? MQ M8xGRME_0 %=ٚ޷Yvi)1SLURdkb6}kۊ}Qf"Sͦ꞉>nJ*3TVϬ۲O駫Lha`}oDkR}PU\~_jp_Bi!PȾvθU@aZ3Ӝ7z9ٞ(p|ԙkO!^s<8w>rķ\LvLnLH0Ȋ'DAnZR g[\2shӗ&23m4~V=\LRIϩP-Chd^o&YF%H6yiᣚ~;9CF?iZBX*"l|pi>>,7rYr2]bۮ'!K{7`[8*W$-Y JGۼ1\NpC,%ey&=xG.RgLrJ!ݯɊ6 Owuw9`ErUp}%Ok]&ݼQklE7\Fyѱe%)3r6_|8f%ԍsS.jo)׌A<&L]QY0AȃT)o|B'xڴa2Fn7*uoJSKr1KS„U0|Ͱ+/Mܟ\Ԟx:3ȢE=EK|= vEBuQwuj8USU炻9p 'Jշl_̏ #ǟC1]&t @:O|kO8@^v(vLqv9Xct).*.GD0PNz(,=oMJxɌF#^_M|ݷ[{؞-zg9l^5m@_qYzk=Mұv&$Bb~8"iH.}oۗR -L0J382هN_ܥ<(:5JFIwr+ywT{Z䣷o@gx%`wNN_g&/R'# ѫz?{|VKNj,Yt·c"Zr (˂®k#FxgoQLUX/V՚+/H壔XRz4qMB_3s#ٺ^bKׁJ˦yVi3c5: <EMܴ-"yiFƥ1~s` ^fqYygsv,/ dH|jB<`&ҟy<ߏ:dkeЗ !ԗ>,Ɓ>zfy(=]$ZJn7w.B`uD8cp0{Cg͘$Ė]OY4Da>v˞ h(6 cc_V K\WoWB .Si5=ZF#vhz]Lߞ|{0mF%kv;cB㎡^b)01;Cg/1wAL9f*F*ᐁe:>4/\E ]x:do=b@}֡Ԛ7R'MD"~6#Dܣ)Yea׾ x%T/ДU2FY-+{m~ -0"endstream -endobj - -16757 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16758 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16759 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16760 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16761 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16762 0 obj -<> -stream -HoFſfpƜhҬ Y,ju! -FmhEΕh==nPvs9W\zoQz/&kS_U(έ*rU]$SwQ3\~y/٢Tuڪuj\g&U\$S"SYƋ$uΎ_w6wn36h^zVyW}Ӎ>. &;AoI9dx9]{JjL>ąߩ2uچJHL'IyL愉kq-.+n ϵ -HoEz;ށNw =HEz{>A }HDEE/D/D/D/E/E -D -3krmX0\#LϵS5r\#LϵS5rbj-Z Skr-r\ Z kZ0\.0\#H/ւ@z1L-ע L-ҋ`jF.^LS˵Er\2=ע L-%s\2=ע L-ҋu`jF.^LS˵S5rbjZ Sr-r\ Zk:0\.0\#H/ց@z1L-S5r\.0\#L5r\.0\#H/փ@z1L-ע L-ҋ`jF.^LS˵S5rbj=Z Sr-r\ Zkz0\[$L-%s-r\2=ҫy^e{qL"pU%X`y+V X9`傕V.X`UV!X%`UV)X`UUVY6,KF52e,+XD-=׎s`s\%zoAv< k,{ zϵ%X\#`[{N.r\#dq;%z@Fw\ `;{AD=XktD,{z5:|>Kށs%z@F -$kt`,{z5:0Kރs%zAF/%zAF/%zAF%zAF%zAF/%zAF/5rID}*:]$xQۤT|׹C"I6kMԫM_ݗ퍾 gSm9Fku6?[LY۫]NFc.h,qn3ժ^7̲rٯ8^.W]q;I]zftId2z&pVMI:,^_m:#a2R/^=kB`M}^_KDBh='Opo؆ng &wvm^<_ye8~&۫Bi5}L{g;rg RX]*]=XkF'^g .VO_ͅR^ 0Ns7]Mˮ۬ 5p}MrqJ%x>uW6A;]]}3N2mv ]7v?(,U`y V X`倕 VX`UVX`U -V X`UU VXgLF.Zt2e,+XD-=Xk,{ z5rKނs\%zoAF.\#`;{K]\#`;{ D=Xk,{z5rKށs\%z@F.w\#`{{K]\#`{{ D==Xk,{z5rKރs\%zAF.\#`{K]\#dUže8V5Mʝ\*kL<Ymy[Pҋ]":zA@ *BCXMu<{—/t9}8":8Eo\"{nЖd_k?~i(ȩ)N(@X#W{䏩 f?6[Uץ1*{pClq3p)F;;Sfa諸MTJ3_^#i2gW*ŗ]稡JL:pF%8V6 pt#s?]nF":TiԳu#˦,{sH%d9DsLRBGeĜJ]hU1O}ܦaB.>:39<0:kW.hBGӢ~s -њ2.v8iwntYm+miU$DMys A`'w(s^BEf{]V $#*LroMA/eQ&8NJ!|+ɄmX}B*$P+Eb RgQNc4:'8_6i7.<~Df4;;tp>/P 873 0 R/Type/Annot/A 19045 0 R/Subtype/Link/Rect[93.6004028 169.927002 239.496994 189.606995]/Border[0 0 0]/H/N>> -endobj - -16764 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16765 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16766 0 obj -<> -endobj - -16767 0 obj -<> -endobj - -16768 0 obj -<> -endobj - -16769 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16770 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16771 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16772 0 obj -<> -stream -HWmo8_bۢ5{hq[4ҢPdVז|\p~C8]㇜%ا`y3}>'`{ }/f9!ZP-E g}>@>"{jϠjZZ3(ZA `V>@>"{jϠjZZ3(ZA `Vž} bAPjϠ|gP>{Z3(ZI `V>@>"{jϠj%ZZ3(ZI `V>@>"{jϠj%Z Z3(=P- g}"T}ET>"{MbbA=&jϠjB(BgP{O Z3(ڄP-P-SmB `6!T}@>cbAϠ|ETEb73}fܬg8[=<_4-j܇յ,d8lt_VmˮQC]`ͧlSx_6X>͈*D9OP_! -3Mf(![yX7(aoV+WBp\nimoK'RiVCwj8bȢl0ʓ<\m6fdZ`4.:~רCeS(eJՔrKg_A4Qҽkm_M*6\eLx,2ue^^a]EAwmQVms_&O5{f?883 yRӴGQWue>@꿂 wERЊRa{YGeoЪ7M;&$TQ$SuQB'N- *KF֋Xc4ñ3r$-F۹yj\ngF"5:ئ<{.TP'{u:TS$46w>l@Dzr=/cY7Κ5-]m[kuc4Si -pi4Zr7hh쵵ҁO4\ y!A}ΡQ;6+ꏍNeUL'Q´W|Зo0}:/_A99 -Z6Cn 訴ضyMG1Oof( <2 XmN9>z+'WjF+j-jbw'|o2l۬K';3 3fjIuJP\)j9r=)t7ԸI*|5޵heb -k$2ӛ= pfX!ϻ<p@C -vqWRP:l'$Vt6ϐh[Ow4f`lXo`Krrbv68Nw[Kۘ4f. UN4/װ../gxk1 %564lGkn]tS(b"x<(cbHArz& {xȢ4&Ok 2 -e:O ! lr~0ʜH, GVX;9!C^8XgY 'ATY$f<Em zlѺ xO{^ S'v0`\Tâ;ZL+זbBJ_b/PT?vfO+Ix]7* :N04Dr*&\qM 5N-\U2|bͳaTmb_2dND'Cz?AzP rZ*v?HR4 [М/3 b1j1F-CX=>vh¦|ZI`)} a1j – ~ -zz\FDx8ʴfSHK ǰ0ΊR:KEQwO g9]͵}LtPB:;uk|l -zynf@{V$Zl{Xf1c;ϛ! G]? -87*Ç5Lm -驆a?T~{v}[\tmL -T11pͭ ,t&%SѨX뽟K 8pI3J><'[_wܒH fx=~6 -t'!cycJmG'9`"j3$RV-R~pn J}㳙 F^7D*6?3b*i;ޟV!q -)2.Eb -ooQ,,mo3%{ݱ}ak1c5"r1烥B^;uG ZbkNwer։4 |W#eb\\1t#nrac9&sD*^ iZ">{S^-~7lkx ,r4&ɉU`Ԓց2]2x!Z|ov;E:;U52,UcWլEC,oxpZǢʘ"G}n/.JݝhB$,CWU$F ĐT,ÿ&ք2ݧ?Vϐendstream -endobj - -16773 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16774 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16775 0 obj -<> -endobj - -16776 0 obj -<> -endobj - -16777 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16778 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16779 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16780 0 obj -<> -stream -HWkoܶ_2|')4Mp K]]]_"%ur!y83>۞׌~<3:fTY.YHlpvְ_v]ͽ=ݶimml$g\JvK^-C2IpV -d/٢M>v7݆JSaDFgUYO{|%iXjLuY$<i]_Igao;+g+T*Ϥx~ۤ*urTsS!*"a̱0,!b,]X<ƀ% 2R/ 2R*R*R*R :R :Ro&Ro&Ro&RH}N#"R_H}I/#%W*R_# -´kIcḇbsX=ƀEcE\+ ḇk%Zp-PVŘc#JµZ9>r$\1"Gk1,µs,B}ZIcE\+ bMZ9Vc"\1NJc̱bZ9>r"\1"GUk1,µs,B}ZEcE\b Xk1Xȵp-PVḇkZ9>r"\6фk1Xzp-+V1NJc Xk1Xȵp-PVḇk5Z9>r&\1`Řc#jµs,B}ZMc"\1"GՄk1Xȵp-Řc1,µsX=HP1dEC6eZhFM{uzpe(oe^uf韖M}ék2 Ӛ\d@aMtlѼh-!+?IyA,-l(yi DĂS$7#˕6s3꡾W]=2X]6eer9$7 ?Ԁ~9n - - ϔ۰nfKSB=̃_wzlIː5$`umw!CG|t[ߏcͺ?m6q=>~ ,zİCA{GuJN=q`p}WM;v=P#t!"ү7!#t[ontnP/F|ص/S -UASPnʡ|YC1O|[nIѦn'S桩9B2ݬsz*lZTa*z-.<[׽:>W}(腨{؄DCrhMLV*u}CvzE۾Y6C֎7ΊL oF30o_]A*m6]Te2D.C)*pR `!݁ KZdkS/ݲ_?vdԼʲkY?7mm>xny"_rQP[ mew|zs C -x?¹7$}.ƒo.|걫2ϝs*oJIFj۩ͅ&Bi5Kr?4(s'"wۧMN-;,iFUك4T ?v{zW?ߓ -Y^ȃ-tJ-Wa24BfmoGs{*Q͋5wK^Ez93|ӨƧP5|*5ڼuDEy\UVwHڸ*B6ss~z,.ze 잚S}B7>X 8q6o*—1rxe'W~%9oqH U"(ewoQFZ[*@{nOʱtIEU'!a Nش3oSL,7y4=jk<,}=_K(\˲('|P1Eהbv2SD11wż:eQ] qUR)  - ^NPrzs&{To!o/+Yg__@~?[hYP֚ޑ饆T1 1_,L1Om6n8 Xu] C|uXL_7o\:ڢ}Kw^gwФ2;_ay_GWޭ\WArxgso,f^u-=^O˝pc@0MSA/wb OrƭP" _J3vSh1\Ku؀:_rY#4 ݕy^(NvBQPHzq.^"B6KZۄ;ЧnnH 䙯% ks Ә`$X2V\+R>Q箩U`[{.Դ!MWuR|RsBpKdfim1SK yab( kĢ*r5g`%5}w !Ka[wJGmnJV15gôkXL}0eړ|m+]&nkmɆ-c^z6W­K7F9lv:?GU2\^/O4ޖ9G$Os\)XXC֍Z)$AɍD@f1lP:% 6ݪ(Pbq)`m=a-nK<=/Zip=$qš$ء vAZE+Oγ>/P 1183 0 R/Type/Annot/A 37556 0 R/Subtype/Link/Rect[129.600998 503.231995 293.641998 522.911987]/Border[0 0 0]/H/N>> -endobj - -16782 0 obj -<>/P 1183 0 R/Type/Annot/A 18148 0 R/Subtype/Link/Rect[129.600998 342.230988 359.522003 361.911011]/Border[0 0 0]/H/N>> -endobj - -16783 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16784 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16785 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16786 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16787 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16788 0 obj -<> -stream -HlnFS, Z^x&;n.چ@ X0DA޽{hˊ١<(gm_\Ss2>1AǯtInu$]VN]k5sY7mYm=m&>X}שJM*skJxHSiԏO1cU͗llvY:ڱ)Gp,!r{Ri3>3>s>s>   KKHDҋ0ZmQ2="V5dz%s-R`\# -`\# -`\X-׈j-X-׈j-X-"V5@zZ V5@zZ V˵Hr(^ւr(^ւrmX-׈)Z%s(kQ XQ XZjFH/VjFH/Vj)Zҋ:Zҋ:ZE -kDbkDbkjFLϵHr(kD\X-׈j=X-׈j=X-"V5@zZV5@zZV˵Hr(^փr(^փr-R`\# -`\# -`\ۨ kD\X-׈FLiFUjRUF]Tx!u^F~sԋqc}%l.mmmVݩ~i޷uS=o]gqO܋^L0]בO #G? "ף S߿䗥!q&}}1_MSt s)<: e=ꕞ_vMJEщ?u}^n#ҜN_ŗ(+>{ć1NI%Yt'_eIytԋEQҋkQ+$!4~b?Ԥ2V]T9ȥK> _]gtccSgW].vlQn;fUn1[nMuI:WhG=endstream -endobj - -16789 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16790 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16791 0 obj -<> -endobj - -16792 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16793 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16794 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16795 0 obj -<> -stream -HWmo_EA.z_\!R4 Z,8!)q9;ALr3^6\ -)^xy*3R6V -8"MLؖ'DtrY4fVV3_?jq[G/T}5Ba'aS}Oi>eاa3}y>gUhmiFԆ=Q-!*dOm -SRj5ZjC>PfTKmbTKmbՌj Q @Q-Q-!aV36D1jF(FԆ(}ZͨŰTR*2j Q!{jZjCTȞ6@16D1FԆ(}ZèŨŰTkRj ZjZjC>PaTKmb5j Pj Q @Q-!a0UdRB(FԆ=!*dOmbTKmbj Q @Q-Q-!a26D1ZF(FԆ(}Z˨ŰTkRRj-ZjC>PeTKm16D Pj Q!{jCT>Z<,~X]oL7U?Xw3q~*vO uNOߣ&E-[G'<Gܻ$ҭD~,289,6 rp`Q#Щpz> i+3 - 2KGQ4'aaqo,H!lchKR3p$H`2ee}sEX(tĥ -XbM`GePx66WneqNlWj^.IRtf]\||C!4CMrdN $UvvI, 5ۛm ea Wu.`- _0m(jP}T8:}9c$q|/X%][a8o4vShzg+w-x/ʾ_Ҍae<28yk@户pW-/YtC͢hEѣ4:Qq eq˲f]716\Tq+B0heS$>?/-E}eDф}fACyp½;C*DϕtPެϯ؎7 -u>ݪ\7uYN}>ܤқprR6Vc4em̭Xw_x^,w&ƃΫח>](2NmjIF'T4`l2NRg R }ԦTFB_,{cRnֳxђQk+33՗9MӁ|tWJ.%sST 8դ F'+9I{dכ+f}ma -O)&$5ƹQgݑ^? 4NhQa' rRK+HʨՈUp$ʶ('-l_Lɲ#ɰxO )Xbݿ]ˮnm>[آX]r;8 f~\ -[]s=" -؟1㍇Ppg?=jSH3z+jsOi2y}}t∁tO@٭s9ٔ޷Y.7~X]oL,un Gl.p:8l ?jکUU]?USwoy,#EWa{s۽4LJK -G PnfeSYꦧWaG*+b8~ | -:@yOڹirukBT nrG@Y*\FF/U6D>zK[rB$"f@I`fT{i=^W*BYqq MGxx%G"WJz(rk;9 ,m{M fsq}[.1:1ٷXX* "h*i9wB!(ś>/S_gHe[r 730C?'<8=VO -~i`H!Kd#5\+NZu؉3ԧ.}a9]tw;HZqrXw-|L{x5:ʕT&yeP``>+4̅ 5ttg)]R'9Hy]JHKE @:t?tٍ:Tm:,-BTà 2u8C,Z*4dQWU Q$hF(ƺk8ykl^,8"ك/m_W鯌ׇd޼JJJ%( DQ%A=k' -|-8^RϬwUDݩR~[ L\Mr1yWejR=ꈐqh!rQ؝J@\& ?襽7.FK; &>b?wAendstream -endobj - -16796 0 obj -<>/P 548 0 R/Type/Annot/A 43181 0 R/Subtype/Link/Rect[93.6001968 566.729004 378.432007 586.408997]/Border[0 0 0]/H/N>> -endobj - -16797 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16798 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16799 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16800 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16801 0 obj -<> -endobj - -16802 0 obj -<> -endobj - -16803 0 obj -<> -endobj - -16804 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16805 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16806 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16807 0 obj -<> -stream -HWmo6_42$E5 ؐ!YflIrlV6x_o>%iOc"Oy" -3Â&Z|ME$)YFwA ]]%] Mvzq&$K gI&R̓a(Y±i -c\`gVC3"ں*%vsH,y}|GqDH#^|M /S_HDlHwΑoR -,,;KQ75q!"H8bd) 3tN"Cx3I'2HoOP6A,Kq -*!HP$L#_]c$һ.(k9X(cjɱ)֑>8r-x<6&S ׽ҝjUW6ͫ۞z-=qg.};ͅ]dK -(ftلΌ

Q,Y,Y}E -vQ+{p 29d䴧C֮l>kBiś# YŮaH"$$M vF0^">Y.nUQ #֍꼢Rtx8n{G7v9l:E Cj.rj?m7kC{G&̮}U\\PL)RRhMd- m FhP)+' U;A1"Dj)[b\‡iwc)ҜHT5Zu3^rLy]]2P:FF-XS5ܨ*|E;j0ɓ_KTe̲aרc -z}S[`8nnsh0XxMsI{9<@:uMzbMBx [r{W߈uqL\-3ׄ>.=iiGp!Pds`uMz0Gw;o^jY {'y礝(1!Yv.̜ wZ[jƫ, -aʸ9[5赸 L.b4Gp:F7/<Ysb>ubg?p=l rMgѫفGh_ogteVF7R3z/*.$Yb9I[]Ǹ'#P\%cq1a}@T44sy$b݅RvsAp|?dVj}S9,O W&O=$jv>Wn/<=F5'f \0)"l%a508>'Sۑ)NB98'ˌG^]*ca/<"ْ^>n*i 9E.C>0omOIooUGEm^RBc?| A 8gSZ e i?],`: endstream -endobj - -16808 0 obj -<>/P 1480 0 R/Type/Annot/A 37826 0 R/Subtype/Link/Rect[130.078995 498.917999 409.764008 673.916016]/Border[0 0 0]/H/N>> -endobj - -16809 0 obj -<>/P 1480 0 R/Type/Annot/A 28514 0 R/Subtype/Link/Rect[93.5998001 416.627991 199.354996 436.308014]/Border[0 0 0]/H/N>> -endobj - -16810 0 obj -<>/P 1480 0 R/Type/Annot/A 28494 0 R/Subtype/Link/Rect[93.5998993 212.628006 308.722992 232.307999]/Border[0 0 0]/H/N>> -endobj - -16811 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16812 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16813 0 obj -<> -endobj - -16814 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16815 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16816 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16817 0 obj -<> -stream -HWoS"/>Pjj#q\ |$wD4II|Ik)qڪ/ʤRH^RI2m)E.2?YR)%d:AXd8F,c$a{7F,po{ [Nwp{{^}p>3>3>s>s>s KEg (-ǖXdI#h-"KXdI#h-" ,^ւrX,^ւr,{Z Z1br,{Z Z˱Ek-h-LjZ˱Ek-h-" [&c%sX,c%sX,^ցr,{ZZ1br,{ZZ˱Ekh-LjZ˱Ekh-" u#h-" u,^ցrlxZEt1br,{Et1br,{ZZ˱Ek=h-LjZ˱Ek=h-" #h-" ,^փrX,^փr,{ZZ˱e@k9Y=LjZ˱Ȓ9Y}˲*n49K^'SVMʤ=."3e.ɻJ=O_%)#ƚvXNf=2Ť5݈}uj[]'ө|&pi &7UW5ױF; ՛Y^ܵ"Ss:a;Oelt:vjcuܠO '=ޭgmW/+DK[=*H,vs^8ql˕8P<-؊8_Sez'[^>/:Uv<6E8jkzU-=03%NWӏ\ ʫ/*!+-3n3 KcU@ - -@+ʀV&2 hB+Z*V! -UhBZ%ײXdI--# 2B-+, ,%roA9Y@Kނs,ȽXd-{ rϱZ"cD-=" h;{E@9Y@Kށs,ȽXd-{rϱZ"cD=" h;{Ew ,%r@9Y@Kރs,LjrϱZ"cD==" h{{E ,%rA9Y@Kރs,ȽXd-{rϱZ"c%8F,{E*5g-b6{(B*@o,տ n拻J=^wmۧ-p@(]|`mV_X]GV`jQMEޏ~襁QY~2v<\Pw]W~٩rߣ6Յ+קu7uSwWROo9ۋ__??|INj/yU_IO7q8$/߃σVl>̺#0.x˼g`A8B=-~F.vz7߾9{S,hx7Zڸ^UT{8l- +!?oYƝ -pSuv{1u7-1ESt;,j3cEBjE9 c+@ڏ)hѨ D+1pƋgGOqUMq^Wy^GNj#ua*KT.m3_~I:Oh.T'jߐݗ?]Шfmrj#S]q5}ݡf|oO_O;4II+0gC?_.fA/EV XB-/ye\}2ʸd qIt(7P%g=o[P{@tM2.>ye\}6ʸl qIt(7P%g=oKϦ{@t_LRoAye\}1ʸb qIt(7P%=oK/{@t_L2.龘ye\t(u7PZk9?m?۷ij~=NsTq!Ӎrz?l7Mxtj4_,..Wtv}w 4nYM㮹:8Az?Oߝk7_.pC^<7oYendstream -endobj - -16818 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16819 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16820 0 obj -<> -endobj - -16821 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16822 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16823 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16824 0 obj -<> -stream -HWmo6_ -(D( -5"6vm6Yrb ɡL‡pf8oM_珿<,^܃XIIkի]OzϢ<]#^#zm\/ɟ#ry!Bۆvra$bhdbڭvpm2ums/=Nu穿4  4eYfM\{v I Nh) 8bk K8kPݮ,ab*/2+^{_ M# ?+It =rܫQ7;aUwrmm7w,$1wW4ջF5@|ݪ|lvoC[mds!)O%oʳ9F0 1Qpr<[Mf)XWVzo층w/ZUauVB۩WWxj@{9_DA}ړ0> :59sbW1$[2XXf] @!J 㗗Goi}QE&*t>_T*ASH`z74Ei486J,FDTj<3ҩG dk+ ҍemEՕbϫ~4Ke$#^Mӻ d*z'ޯ҄Ag,slΩrn;:;)QF<n7d@p -LU)t(gmwOqkrS `U-X!l$ } -.ރͬBPV8 5>`ڇW40rh\'C# Vh.Ѡm ]_I"@ 8JquaH¡0A9tpmˡ)Hi@`BDRb" {j[~$2 H9 -YB'dxީe)N܅/tB,fWدΡ863|W_g -MKJMb*lYfyY~~l.9aDžY -GOφ,ku?{Ȁʧf D7Ӣ;@ E{%Cf$ ˜: jc0 rdɷ(S\ -عA?|YG`& c[VVk;&&mT5ٮ:R$;m I H$!u莲uJuK -P9:ѵVuC[Mi20cuWOx= -"|~sSU8tt[afx=.SXkn%܄FL䞊oO_#$hNf ߳(Tkq;>M-rep/i'^alCq3;e5Xz4q0 g`_̵Hn -}YTJ[Bk^8 ^cN0",`nQ5AX|Fp8\(rxQb-换tVʑ`.Ss͛{ -U?.`endstream -endobj - -16825 0 obj -<>/P 366 0 R/Type/Annot/A 29068 0 R/Subtype/Link/Rect[129.600006 539.504028 497.779999 564.392029]/Border[0 0 0]/H/N>> -endobj - -16826 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16827 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16828 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16829 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16830 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16831 0 obj -<> -stream -Hَ6h!/$h U%n琢Tyj&0%xȟ~ w_޾I΢Yʢ AVapIXw]U#Ǿ*þ -?~i=y! @@8oY&x}XumxMU$b9?Iَ}юůS?0f*ۦK4Z#wo}CT)߲} XDאo{5a X D @$FhH<S*?!ʉ)U\vB|x7*S"ԣg=B>>S>S>3>3>3>s>s>B/Z7TZ֍)B﹖"ucB\Ɣ -\K׺1B=Rĵn TkݘR!k)Z7TZ֍ -qS*s-E\Ɣ -\K׺&`kݘRn TkݘRnL|z7*ĵnLzϵ qS*s-C\@֍)B﹖!ucJ{ek׺1B=2ĵnLzϵ qZ7TZ֍)B﹖!ucM׺1׺1ݘRn TkݘR!k9Z7TZ֍ -qS*s-G\Ɣ -\׺1P!ucJ{kݘR!k9Z7*ĵnLzϵqS*s-G\ƚ A\ƔʧwcB\ƔʧwcJ Wir;T"B0co~OCAyHX0MDo]cxSywǢ,0k eڢB5h2Z[=xzQ|㥨7/ !(MwJ04n@aC~vfemvKzDo~jfRhTt^u нXzup z9N)VE7A;S 1vcyj 3rpv*\v/m4Jxr8ݫD,u7ԇ1/m-cuo`F{O}]~43}esK/N&ň,L -*.g߶;\gڨ]|3_ڡGjsl~Š.j6>@$+Cq$K\M<׫$nc1 aթ(ǪC8qcX5FNI W!XȲk<1 }7]g35ۢsjY'l:2Zm`X@5%S|hNk>ReuERVjհj#i'W|O!s qDԅ ;eSdm /(5 FN7ri of3̪Z/V-PP)fJbSpc@VUuǪZTXej3,sXx:FA)zd"jbylYE⾙y)ҷ!/^js>#/\ s\"KEU-RN%bnUKdU.+~D<2+xe,ieH∫jtۂ8bMv$}{F5fVSdXu GcG8}'<6# -CBE1$Ikj@y3׫ް[` -fZvmGY -i-j;:E&;Kw -oL?ay0'ʾ͛-F((5kQl{mNr@oZTgPݖ6L>&6{_3ey@z߆j \Usƺ(@^˩49$U!/hq˽+CΘ5t,+^Og¿v`rުZ 6 A. -s~1h m)TK!&Q!d;,E#j@7~CpJhRoZɬozIiۺg:8 |_?_T&K!?{xr}sOnvendstream -endobj - -16832 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16833 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16834 0 obj -<> -endobj - -16835 0 obj -<> -endobj - -16836 0 obj -<> -endobj - -16837 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16838 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16839 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16840 0 obj -<> -stream -HWn8}WQZ H2 bӋ ܦmetHjw_U"VX,GCXH]&OWo_ K?uw$4%fix&Y)J6뢄G,i~2LCgC]^1zvb&IXJIvm1~oSwLX\^|ڽYZ*SSD$CV8KaJ ]PKe^e^U^U^U^u^u>%ԧPSB}Y>#gPsB} y P_KB}/ gaZk#Iǐ1`1d} YzZC>p$\c"k} Xk} Yp!PV1`1dJµ>,B}ZIǀEǐE\+ k%Zk#Eǐ1`1d} YzZC>p"\c"Uk} Xk} Yp!PV1`1d*µ>,B}ZEǀEǐE\kZk#Mǐ1`1d} YzZC>p&\c"Մk} Xk} Yp!PV1`1djµ>,B}ZMǀEǐE\ k5Zkp!+Tc"\c -B%/Rm6zvbb=L|eYvm_K.v_ce#b%>i ~Lz͆+ZS`DvBC0fSt9]fTۗ~~Pٺ*Η>|9 Wݍԇʉ;k%SѶ0D֩ M8!=@xd[4OV6nCsUѽh5+Nk~Kpyd|SvZ_f.TPᲾTCZQ?yc1CnJ Om'm)Z?st3Cpt"^bC̷yf]EQ39 9j/CUb?w np7CyI"-kѾ˴sj6m8771;z;;4k鈴ڞstsߘI2 P?"~ȼ9(秱c̦ U6ŖLzT|+؞r6XkۃV"|rϛeHlVNac @f/ؘ~#7꽽:ꖡOmr]g 2[Nۡ -ʮ?zyC+AQ57'^F3uyHg*2 *SJ^p8"i6AaR̄Va0zV0Β4)Ėv8q 8a|qѲ2u^Hd߇l(+oYW*S/JeVUadRѩTBO`-C!w4|q,owԚ;2%v7HmĎ6dť뗡0)ٞ^|=D`|Ú5N bv$7МэSl^ PV8 /E_M/?Inv:r^6=n0ϯq --]ho{(0@ c4f N/eS6E=RII"秎@f!"?|-?#^7o3)E nit(|y -aǻ}|g51- }fd2 [FLh<š|S: ~ɖJzWflCQ>B#eř *HkniIHq0d3~FC_Z9^bsyyfr j^<ɜ]TwsSmPgZP *J*@k5VPTT4Q18I%N%+u,>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16842 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16843 0 obj -<> -endobj - -16844 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16845 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16846 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16847 0 obj -<> -stream -HnF _I_ 6 " V]Rtw6ekf-O94=Pxj7Bׯߜ$&I|7NԈ,Vob(qhQdvV-ˮRn碭s#7q -}iU`%T.&89]^ Xݖy -~']Z(E1t&vz.N{jFm_pyܺ:[vr9yJBخK{h9o@mb {X3|?)IOYgl'X&I g ()HyZSye{C coe-%1;{{b{O=c}ا>eSb1g}Fs>'9cb{Y͔gMb,Rg@1Y="EqZE'5Lkq)ƞ0PLkq)ƞ0Y{Zôg@1Y{ZôgbIk ZŴgbIk ZE'5Lkq$i-"EqZE,Rg@1Y{Z˴gbIk-ZŴgbIk-ZE'LkqZE'Lkq)ƞ2PLkq)ƞ2Y{Z˴gM,Rg@1Y="EqZE'uLkq)ƞ1PLkq)ƞ1Y{ZǴg@1Y{ZǴgbIkZŴgbIkZE'uLkq$i-"EqZE,R> ->:o"ZWIW'H3%(d򥼬VIys1}9->c`.&S&O].COJfZ0*9[z%@S;̝cj*r)]vV˲[Rlmrc[ vc[>zMٔו(W Vm; t^g2 u`,f@fs}1WN([qxtGBJy1e^{`Yú)rx_b3an6]vqrxM*ÃbgH 闷ggk7XgPVy =EZoM?Fb_R/7;3]6 -6&3yߙA3謕}4C R!tHg568i3w}mfdr]ӾO+cjO5NѴ>wVCnc=}VU+nv+70zui[6 Jvkۮ4dAf7ĤAvGR\a%,b`a>,F2KQYp*O*>0:}y;Zp}'ovѿ5,ルRNv{LM5j#Wভm}; cԦ;c|Z$O_EKqendstream -endobj - -16848 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16849 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16850 0 obj -<> -endobj - -16851 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16852 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16853 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16854 0 obj -<> -stream -HWn8}WQlYb0@`A`,n%-ioD] ˇbbS~CM#`2fy2TSTĊ{'l$|XXg+꧹iwMp_.x 7Yy -rpyÚNpSR0Ufmӛ3@8bEmi.*nں>4U y"֚/n ,n'25?n[ְ?5dI $c" u#.;ȕ}L`X"kkkgc3}N=9,#Dumٻ6@umٻ6D]պ6D=rB Q{OPkZ׆(ZNֵ!`節um"TET պ6D=rB Pj]j9Z׆(ZNֵՁ Twm"Twmٻ6@um"{j]jZ(B Q{OPkCS TEֵ!`Vum"{j]պ6D= -B Q{OPkIֵ!gEֵ!gwm"TET+ պ6D=JB Pj]j%Z׆(ZIֵPkCS$TET+ պ6@um"{j]j%ZVPkC޵PkC޵!gy0Vòo *Cn v0iyߚb ! (ž3pA?/dJ%p/wSFby%^yQ]<{arJL36όQW$j~w oX+,~(wJIemsqϛo9,zĉ[IgV{Cf %4f -}c0<0q^y$q`*(n+Qpy&ٴ"90Bʼn\Ah~|wgd]& oxְ_" j5moGpes'ڲgjht5v[#e|l9TB3B<ڧ{epn}_(1e1䥀E^z^x8mNТ\lJ(ɳb*ζz8<:~lk)O /.τz":PЋdpY\C[? 4G ?^n"OGZz`\u 12<ӪjjYWR`2:c١i a :73zsZ;|>V/UK(Mtgn\ljZo&[z5uޘ0RA{J@TJhSL)<3)PW~uZ^7vI;k(C+3IpXJX~,..䲤5^w*ý) CZt7ms$i cvu8rk.` N5Xڡ(hy4#W2ٌ@c[X}oW;/~:%z=V^8CxJ``HLe⨄;}wȔJ3}|uJxjhv'|qeCd~T˟'fx-pхo/{5U9]jdޮXthʾjkm.14(bҭ3hu,r~F#qu>-E>Z 2X 5zKӥY46V0EF`(m$z G'")R;A`Ev1sCfȖײ]W$ES6dRf>XUXM0~> ȹCF&j[GRY܀Z c DS;&+$,A=J3~eɔd,ƙukLg?haӿ6_umמDTs]ԌbtˑB1͕ͫmŇڗ(J$tSQP9.$mBs%1ʓ 䋏3,z_ҵɶäd2Env \ĺCs3bR+3N*bb\0'aN&";A"'"}R1~~{"rj/)'oNd`js_l_KyyYT<4"ۭf•fc}YAN&Ou|]^!&=buK"sj鿪P`1kd"3Evqbd޺Cii *=w7 -wmLf֐`M$&QJ4<8ˈxOc8i2|~KV] -v:9.42x\\"v9Uf*+j')W<_{cYj1~fLU<"/hz$hsK%Cg#Mͽou^÷zG2̡onL6f͸Px. - p G_I:?/v>mړ/w%,vs9۰'١ [X9`qz9-J` PsSpN:h5O`Nd@:k -%(r4ft':<;oyfM3"!%;?W#ht+ [mvد@װ{w\endstream -endobj - -16855 0 obj -<>/P 1180 0 R/Type/Annot/A 37578 0 R/Subtype/Link/Rect[129.602005 405.229004 297.312988 424.908997]/Border[0 0 0]/H/N>> -endobj - -16856 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16857 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16858 0 obj -<> -endobj - -16859 0 obj -<> -endobj - -16860 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16861 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16862 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -16863 0 obj -<> -stream -H4;0=+ %B0EBi:$@@YFgqy DG&Ŭa=Bk]vz_4uS$!1e6/3n'OA,endstream -endobj - -16864 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16865 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16866 0 obj -<> -endobj - -16867 0 obj -<> -endobj - -16868 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16869 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16870 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -16871 0 obj -<> -stream -H4;0=+ %B0EBi:$@@YFgqy DG&Ŭa=Bk]vz_4uS$!1e6/3n'OA,endstream -endobj - -16872 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16873 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16874 0 obj -<> -endobj - -16875 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16876 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16877 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16878 0 obj -<> -stream -HW]| /r~>A, (>H6>R[NplmM8S5$oQ{oo?_Fu)85*KmѿT%[U۲o~omovuo*o_?YFK*먀$Ph,r-s7]Ҵ>=N˧?-rn^,vmx&I\8-v,nǾu8MXhg5QOJ'7 -ƃP]Td6r -)G'(,~9Kk"޵),#7̽ --so{;c1^p{/̽{>ܧ}*OLp1>c3}9s_ ܳjEFh-ŐS XBk),b),CFh-ŀ%bܳCR Y{Z#bܳZ!KpZkR Y{Z#b -{Kh-ŐS Y=ŀ%bܳZC -R Y{Z+bܳZZ!KpZkR Y{Z+bZK1d YkZ!KpZkRl9CwO1` {!R Y{Z'bܳ:Z!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZ"/b),CwO1dqE\S 7V2].j@P*ylr-ԴիCjxf!i{Mzl]{__^LzԟqR>Mc 1Mut]k$-tFot7j?zwYV}WZ}ۋ/ˏ[^l&x 6>MK ]v6֪۫z?xW:,ph ?zms{t_][bX3|lj09I&JIjâ'YmZI.׳g<. *ʧF޸h1O9bg֤>g+Y??9OˠR#j޹ -M}Kź;ᱭkMwܮ_ڮGԪnЖ0̈́yaÄ]"?'_pa7@1̀]>ݓN2 guIfS>/Ӕ{Ezd>3~r u8[.drM),}ڙvu͐M{ld(| '`‰3#j ؑ!>DY5U_>lOr3Z}8ne IŪ=]U q!q3 ]Xv]a<:pwc{xnM?C&/*tsUe=<>OGX>OkpMLe"AS[m],8­*Wkbla6]mIf~{]/+VhW^O~'Nh2㡆Ivm%]z2ChĮBur~Ҽ[ۺ<47)4n&IcM?u -x-Qry <> aԌ~RPQOs=5¡y gIsr?8LO x?Uy% >TLO| ibul}2x'ķ%N:$gA00~8z?q~]T q(<0/'3_ö]Y[; ->V]E':#F)6Zn2| YbZNrL ZiyA3-/hy -Z)JieVƴ2A+cZ3\ʙV!hL -eE1dq-K ZiiAK3-#he-{#bX{!Kb7B),A-{#bX{!Kb7B),A -ŀ%bX{!KbB),A --{+bX{!KbB),A --{+bX{!kQ XB),A -{'bX{!KbwB),A -{'bX{!KbwB),A ŀ%bZSnxM rPa*_i(x"v1K)*6U!cґu&k=K[N4ȓ,{usӬϹ̞OVePԖʐCm"r'QD6rҮ6rh}׮ &d>}v{?w,Bg|&7Go.t ;K ]%p)VXbe)VXb倕+VXbU(VXbE+*V XbUJK5Kj,U, XV`9rr@.Rw Rc`;{ TȽX*^j,{r/5vʽKރK]%5rK]rA.R Rc`{{ T=ȽX*^j,{r/5vʽKރK]r@.͒@.R Rc`{ TȽX*^j,r/5v}K>K]r@.R@.͒@.*v%ݬOot,&oH}WSHS;g0Z+%czrkH7]>Rv{elu.fٚb\u7Mʂ7V>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16880 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16881 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16882 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16883 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16884 0 obj -<> -stream -HW]ܶ}ׯCf(4'h03]93VxRԌDuӤs<7޼8o$MNEfPi&YH߬I8KYr/}ۮ>ء7?Jv'Z|QL.)aJVœ,[Ov3mî+W׿\RRMVCyJ-L ݱqKLld,3_pԟ O#M6sRNLpf ->}l˒Re40/yH|쓏IiBNsʀ#H!x1+eV]X|Ke^e^U^U^U^u^uMMM>#gPEsB} y>'P_D B}/ e$GiCHµ!X}pm!+VbȊՇ׆k%C>r$\b"\b"GkC Yȵpmpm!PV 1d#Jµ!,µ!,B}ZI6ĐE\+ ׆!QkC YCV>Đ1` 1d#*µ!,B}ZE6ĀE6ĐE\׆kC>r"\b"GUkC XkC Yȵpm!PV C ׆b!,µ!X}!+Vb"\b"GՄkC Yȵpmpm!PV 1d#jµ!,µ!,B}ZM6ĐE\ ׆׆k5C>r&\b 1dC XkC YCVL˲Ԍf搼^'7kE1ֻDpC2Xl}H>ɲX6={Dj -[,{ݡmm=f٭ҫ_`-Ge >:qUcR#ĥWZE -Hy4s4/yA~A5éǚM)R]q|s2 Z\?ls_5wvl֛Y? -GPp4;1(QZ`i2Ek|UK?ɺqPYC EZ(:}|ab4|އz! ^E*du1LHv׋(UMaAU6bʴ吺?Xl8ShΣfc_)s}ofBo}:FP0Tp}|?DŽ&3اuW_`i6OnAN]={hn`F Tb9#=hܔS?NT52CqI\hް&lʺ+Dx&"/FyT #qvQgpܬ\0դZc#CV0jhS_ m{? '\T @Bܤ>9zC:>Lm;P,W\ߏ r#yUr3/͛M>.> CtyU~n?Ddھ$Tsw/EP3ܣ:*SD @WSX^A4;!j!'^?7XyLum÷_tłNZujk (OT*vl1nvsw{ -R3~>ixaѳKل/̠RtIK c/J|긟^V?>u|3ٻ -l Ƞ.ŘiP\_1}oOl7C5pJQ"UR+I&5ŞzHWZt۽,TD.äťab) .ZZ ٽ.De|Qg^YM}\@OT@B*8]v%ѢR,Gz[냭m>N{/ _t0{~.M -kJ 셅/mӧ,wcPH ?Q,Z3s,t_NTP޽GQ^>MV*jmwz\C -MVƨU~w\J%GIKjY.LUZ~%z(HE0 WAOC$E^H&iM$iW c"2b2, vR1R[N;nUJsXZ1X(IgSdk7F1G;u.ݺzknzlYՅec8 7E\!! ͖mȖ4Wd4rlMr#ܷg|&2CΥHSG߳}PIY>cPW%O8~ jZઇ=~ G!bXO*H\&<%͐jOI +Q`q{-EYڃ#Sƈ?UYB-=VNn -vao죑E ;uO]UnrFL"'_TOPb1}7bg1iendstream -endobj - -16885 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16886 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16887 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16888 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16889 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16890 0 obj -<> -stream -HW]۶}ׯh/Q7nq! ]+ԒCx[3!gpxг~Ϳf?̸ʹed^ -fJk.g`Og pۺoݛv͊w=uevlYX`Yb]~έݳWB --T6ƌw_o5dU \Ϫ2/rϫT9>Fya3Zpq,1~W;82 vb`4[c,̅w5m.cl ͣ P(d(M0wS(A {A {I {I {I {EW {EW {M {M {M `_&K}7{7{7{U¾"W {K {KO4 b.jͣR(BQ){l=P-y>Q TmEOT+bbG -BQDP-P-y>Q TmEOT+bbG -BQDP-2I<*em"Tm6JcbGJBQDP-P-y>Q$TmEOT+ bbGJBQDP-P-y>Q$TmEOT+ b.SjͣR(BQ){l=P-y>Q"TmEOTbbG*BQDP-P-y>Q"TmEOTbbG*BQDP-2M<*em"Tm6JZX͆]z-'8[>fvpa󒕥e]߸3@)Rۜki'n"nƘ~tU)/:n};<Ừۛ˷ھ~JTڝ?ᄁՋ\r!rΞ`=y̯Ymbj"/Dݪ=9gS䪪fӭOw0jaWM~[wh])m-L -<ä} hQU0OG*7c5N|8>>՘B!D=ct7`ze(s4Pq 5U9Գ6y*|>"8{)2vajsvhI_ll^+径.]o˖\{U.^}۶a%=Fb88rZi U<-x.@ɂSzDHBMߔyM2ŌRR% ynMu~n:C_LV fbXL -sci;\G݆ڝ${^={o -۠72߰=ۣcp r!${-\u>eKI<&,tV_:@x/KHCPz{YHbdF-PsK8'?9(/>)RNx>a%lĖb}353sFRfz@GQ2G' T St RC<}|iܼB&Ԑ.MwR@cc۞0l_@-q^T[Ã'Cļwp|qgkDx8 S#,z8rdpp T#[7>'wq4c_ti:O& -h5R35)Thǀ@LUn]`2™SZjϦ؃Qxi-ʆVuMHqVy 2BrupOM76Vf(BRWh-:Qb)[(TL,6)_@}3wT(phCC{岒 IY+Õ%%)hϡ߻zuADMwB*MAa{z] izl]J Q'[Ca1W˷݅~O1ɥOS?JP 5+|2]xDׯdU^D%d."jB\7.pB\B:\L&$bRwqFw0u̢["> }_M/n=8᥯Ek(/~o󟠥(|VW!h^~%%|4 -+tK=<``|!/-(/V731\X=vۿq&wmUzQiT64A|( KڸיE&(Gy6{Ed!=R=V0ݓ0̼yC϶/`)9!M5mlFLzQo~17o -;fh#IbV\u<7x`I:1F4w?p4"l;夤INeT)TKHQB?xeKqX*4H;G<~y=MPe|,w6~9-K`4ges-=b3{-si$zZƩ(SJN=~ Dh -x8QS$rv%T)IxxjcO5h#L~4?k&z LhzK/ Τ4f|~/C>CrT{kNv`NS. ĵvq4Rꑂ23oɖkT(ge>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16892 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16893 0 obj -<> -endobj - -16894 0 obj -<> -endobj - -16895 0 obj -<> -endobj - -16896 0 obj -<> -endobj - -16897 0 obj -<> -endobj - -16898 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16899 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16900 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16901 0 obj -<> -stream -H|Wn8}WQlY`M$`Icgq0մ[+*4YGaXTcO.LŸ~mɘ2L g<3걯_>y,= -&IB*IAfm KDpWӘ-#v$W!W?mل7w_&> bB1P >*u1(\\QQ)r3w}{{{{{᱗{鱗{O >%ا`z3}>'`{s}/Ǿ {EW{E4Ѻc պ>D]պ>D]|Pj]j9Zׇ(ZNPCS-'TET պ>@u}"{j]j9Z(BQ{OPCS-'T Tw}"Tw}ٻ>@u}"{j]jZ(BQ{OPCS TE!`Vu}"{j]պ>D= -BQ{OP;PCPC!gE!`Vu}"{j]պ>D=JBQ{OPZׇ(ZI!`Vu}"TET+ պ>D=JBj]|Pj]|Q>{+dY7~! wOK&?<Wqf -wK)"hw8gپ}6oIWuܚlƼ U9<7c|uqH2Rw.Fۉ''pM3K -9z}$D1u "Mbοt5<Ʋݗ4}oc'UdQlb 8nut cgznDLoW@ȘL@8uln" Q773-(JO7FR6X,l9e7 -5Mz Ġ9cyXN XS͹5IKUc[H>WOӹˌE>X[Pid7nZ J?ɖO 0猡=lk*ac3$pµ3BW$v%LnHi)Ngmg'd J\Xm~q*)؆=1GkLDb+M ,ejyb8˲\}{:h%Ν3;xSnpI>J '*#jψ܌pCNV24bsMRp-]qԏDjٹO$uBy߀Cty9SCv>uQS؝/$?-uPLɁybAmq(,xAfv"EmbuC7enj{;v,]H}Hq6wpmx}U˦y1sGŅXX@wçIsum.TiuD}"- }{ΉD@%%pz AS* %@^&NĖ:7-`ȋP\4`/GcAT$T Wq:V?DIǶ!@ ^&H} IM'ԛ!8U]c9+-6u -NXiw?ڲ^myROpJSO}vCv|0/-w4:pJk]6ӦTm췗6{!Vk#䎊WK9 rF`>P+SʐPiٞ;{hUd Q͚ OMaglG6"$%ʴpIyp+\uebzktat=s:ws5<@&Lv7ܠ@h^jji5ݽ/ܝRF6 -PH2;3c[>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16903 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16904 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16905 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16906 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16907 0 obj -<> -stream -HWm۸_Z`hrMC+.R M=Y^g}gDRqCه<ݿ~ÛY믯{1*sR9\ǽ>mŏ8<7ݾ뛃fMtǏ*["fjUIWqkEVƫCݬ0y c\>'c[+LA7_VOSKq A] ",ǟd&*\BY*.>BLaX&CTc!!J(;c!y(N{N{A{A{A{I{I{EW{EW{EW`s}/E `_K}/ e"W`h}} ->@} ->D}>DrBQ@PZ߇(}ZN!`}"TET >DrBPj}j9Z߇(}ZN"A!*dE!*d}"TET+>D -BPj}jZ߇(}ZAPC>P TET+>@}"j}jZw$Z߇Z߇CTPC>P$TET+ >@}"j}j%Z(BQ@PC>P$TE!`V}"j}!Rj}BPj}BQ!*J0ׇ*[2fjlUy^ūC9yWJs|Ye*^Ŕ?zo!ut -%oTpDO{}g[ʥi±yCӵf)ĂЩ݌?[[`P;oRqY+7LNO&#u^֧p}!)}=lfqDmš.2Q -ǼgReU1 uUCd% W a7RyQC/׭-VI[Okهzi1X^$5ڶj̱BnGk.@@/O~zV-xuk}Lux 8NPM;^ק>܀la4x8u|^)lL6kB)ӼAph z দCmEbLTphVSZ*&3X&55SL>CT0dV&S_EY Ld$ѱ4|s8OCuhy:rٲLaaTɜ]μ&d"sڍ%vvg*N@W fjva[| -o~jTҫ*jq3(TRδl,L-]f8lA69;,L4Ewt -Xq{Sײ>l_[ڢ \Dɸāt}J8LP(Êq:  g`3\KogX3`>O2J=Z~ d@{*-°@ B"K6AY궼58ޕƴ%iCl!'Byu׆40WMrLPNqsH$**bR\|shHq+b7tA O=, -&_vBZaWzь Ľ/\aТƴ,-ydj$D&5:l]8&qu~k:V4h<ǤX `Jt"+G'/aPVZĹ} MG -h) T`CL:a\w 1qhJj7YهD7o;wAuНq뾳vUʛߒD2~Yd^1ɉG`L>{"KQ|e'jJ ^qJ+wXT\q)क़l{A :Cs`B3HN&uEIR9#Qo{IQWH?ߌW\6viT6џ.iʹrnBpe~=?̤mDx o!l 6H1 -/b)*hlH7o̶@x)ӡO ?] Zk)~l%V4SrT9!9Wc?> ?bQN% 7S~8 >Ų<?jDo\y^&W)ނ%P!?%#r

:ΏgpIv0.vvO*ԭkꍛ` -Cg:[)k~a~{' ݯzJBWo1iYLBZvoU*z/=m1:rB\&ِB?}yIwa"p-5h>^-M.albLX,xK. s10h1jO֓D5ė:xSV[0i&Rdzjv0} 3V]"L0N -Ӈ֓pqݓWTz2u&2rcƸ=_U~O -0&2endstream -endobj - -16908 0 obj -<>/P 870 0 R/Type/Annot/A 21016 0 R/Subtype/Link/Rect[93.6006012 531.229004 249.612 550.908997]/Border[0 0 0]/H/N>> -endobj - -16909 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16910 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16911 0 obj -<> -endobj - -16912 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16913 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16914 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16915 0 obj -<> -stream -HWnH|W4f_,iN&Ɠ lvfWm(g.s$6)egKT]jwXyśMl^xES`̙<6u6MDU54Ef]}0}&z9ɕ3_G% Ҕi0utRn6)-qMFǓwfQVU[wۍ=si|8Y[ֳO"!+mUvwWj4bXkuIb}oOYu) _Ge>VчL%ԜRp+ĘDƬ$%F,;NW=p{{>A}PS>US>US>U3>S3>Ss>Ws>Ws>W P PKTK^u6:rcv/1bJYڽĘKXcpZ@k%,^ցJXcpZ@k%,^ցJXcpZ@k%,^ցJXcpZ@k%,^ցJlyZ1K@k%,^b%F,Z1 WcpZAk%F,Z1 WcpZAk%F,Z1 WcpZAk%F,Z1 WcpZAk%hĘKXcv/1fi#hĘܫZ1 W #hĘܫZ1 W #hĘܫZ1 W #hĘܫZ1 W [G)hĘKXcv/1f拡 A0AȠX%`) -@+(hJ+ZʀV2)hJ+Z*V -U(hJZr֒Di9唖Z*^b)KiKY@KށK6e)-{1 h;{=^,r/1f-{r/ǫӔ%<ȽĘ$rA%rA%rA%rA%WrA%WrA%ƗrA%ƗrA% -rA% -%1fi-h{h{Uh{Uh{!h{!h{h{h{h{\kIYZKb|Z*)}i˲ &O~\|>OLbQ':dii}|柣<<  -Hv %MMm7~뻛Zop[ fQ߶ژ,zݵe'瓧{ d\;_v.kMu7?/f|4 ;iZ]ǐOB6- Ͱn}sa =ޮv.r[{ev ӌ& ,}, ]3\4pf,vCq[]} ii7t_JbӋ#YժzKCff]M=PV_M۵}gccc6|jCs_!2T4Aimv |<&喧w,qdtwܵբY5/33[MgѶ8>w.; „$9vܣ1:bT]?EfԖ}?<V^WCMwzU mCvRF[?)E̺l|i[j}һts1v_m h>x[4MFo44gkZDk- -wΆq($6c=r*wu'+MӱEQuG Z2<IYur3^_z~p -E9y2p.yXWvwa^ygӑu#陰:acYDV9AVitI4҆nC4&m#W돧1 <Ύ1h=>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16917 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16918 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16919 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16920 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16921 0 obj -<> -stream -HWmo8_2*|D(p-Z`bkb3ZJ%9쯿er|XF<3ҷo񗔥޽C3*&By!Ҳig?C҇M\aw<횽fvMr>urd}b#,59ӒUzd_fhCz#4˸΋MeN~? u ͊3˴.Wɯ|M["sL+Kibd 3 -Ĕg]%1:Ęc g2>Dş }Dir<&%"b/"b/ 2b/ 2b/ 2b*b*b :b :b :b_싈}A/"%ؗ2b_ˈ}E"}YN6A6!*fE6!*f}"TET+Ն>D# -BPjCjЇ(}ZA6PmC>R TET+Ն>@ }"GjCjзO$Ї}Ї}CT>PmC>R$TET+ Ն>@ }"GjCj%(BQHPmC>R$TE6!`V }"GjC>QjCbPjCbQ1(BQHPmC>R"TE6!`V }"GUjCՆ>D#*BQHPmЇ(}ZE6!`V }D }ه>@ }ه>DMnQ) sOޯ5&SF?<0yI&{h!]>~~V_ן Ϲ*42;ncZ_`W9$8nWo@LYӻf &] UdBwf!u!n=0Y㼤pR\CYPܷv{ufkCs+ea }n'_qXa ژ2-t龅a|r-dyF^\-FevCDUnp -=Reaӭxٺ~Q梀־ƿ>׻d߷8(=9 0W!諚Zq`}>EG)CJteݳ>w{;{?҅`tzn7CzC>ٮzp>9ۻIc\)f>î"ጻS]:{?5ܾvbiJ\O=M*O^\J -{P1]$/buGu. `TxZo"ÎWB_U_W'}v)O0|\/g9\(C2mZЪKSL@9-Smq=#!˹^E[UX}`[tyrHbBeN˲x^* W-hȸbFux=!r5$,>d+HEV!O1 -'qjMJU2C=qt/|ޱN5_ ҩ>v1\Z3|M"U0ȕP7cnh;5ԃ^O?w8kf7|[]ւ49glf^cŔѼ<V {1[~X*,<6JJطXκfwDes*:Yإsg3uĭ$& @yJA c xYs]Uu2][FͮNNwl\j|qm-i8D0ӲIHN*nsԾ\\Z|\{ ד[9kT:g'p Apϰ˒FksuuAWh/IKW5|k275a[nú"LBHZf4.s5>LZaK%Bx]!B|p8{hyBPo3یps-X|?U?2O+O` f6L)pnp< [3[BT'Y ȥañj靻3dZo-_hkSZD]pрOvVIz4IV!!hgmgXU k?Zvxh~=`vՃAr7G!yy':KϨFϿCr͖Ml]4~|;W?]Ԯ&a{@$ڗI'.톮KF:$d*UyR~~gJDU 27_ƍ?_³=OQ&aYJ6nʫpEZ-\>6OTEHA1S!80pgf#$,H[L -%kt,ߋ"㍯Z -.},f6EPCf܊/e,kbdܼ(F_)`diNAQqzD+lVVA3;B}/2o f*s껝~jOoM8~ѝ0EK8"^Ūqmz_Lumɲ(m,< v&;e_iOf$QHϗFig5TKZףg]&hTRiqS?[Iz9_=0<){gK-N9kK}fQ )Ɯ[FN%2;FĒ ]?lwj.YQOlo3^*=y2fJ9f,=Fn׋K*ll{ă^Lxh6sZ#\xDRgoﶏՙs?!k1tY~ɛ{n+~v Pj{=z>JT߉os#["ϴvn )—9|(glv#&*ɐ)= j`mr5@Z~SpHnwoFo_ӆR Qqr-QmYKLļѩGb1.BfuqN]~-.wnaEьɤsR:HWSC8'F<ևTQ&bmSt9k,(pb7 GG5Y Dh2%@_}36q0ܾ5W}M#MM6}a OP:x~'դRX\MT#0h7+0\@$'(er@ӇZxbGG $9d/">#D Q{ԭyߧuZ1 p+Hˑ M&#lJnQvʐ𴿶RF<{Fni;\5KF I3j> +ƹ JN&]9jy!|}o3]OF,EBh%tw=]u  "~tR wr"(A$ V@l$Z:AФpb$ԙli<@.]J(-聋Sy)+x(rEM)iX&ɧv=ˣPXu C@En\ܠh/)Ah2Ĭ2ח3w5ݖ<bn qUKq6vK#݋حa2yQ<2mI6 zHسA)6?Q Z5Rނu!RJ~3 J훿ӟ*)8endstream -endobj - -16922 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16923 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16924 0 obj -<> -endobj - -16925 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16926 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16927 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16928 0 obj -<> -stream -HWn8}We5Mw3d3 v<8A wi%ݒWcJEVۃ U}:,)*ڞ՟/~{/ 䊧eF>:JؗHEW-E_}/_7ǦNeV;V%EV|LmdI,&˒mOuPe6/Ibl>mߝZ g,`쳀}N9>[ [}YAַ"Iַ!*dEַ!*dm"TET+ 6DJB Pj}j%Z߆(}ZIַPoC>P$TET+ 6@m"j}j%ZvZ߆oZ߆oCT޷PoC>P"TET6@m"Uj}jZ(B Q@PoC>P"TEַ!`Vm"Uj})҄j}B Pj}B Q!{(B Q@PoC>P&TEַ!`Vm"Մj}6DjB Q@PoZ߆(}ZMַ!`Vmm -6@m -6D-j?g;EV|Lm$!-OYZ=Eױ?KEf<`wlv&[uGGTUE?N`+An4]dnZ˄ ,u%fc u伎T\QxI\Ļ+1Osyf/r sPqJ!k|@dHyycٗ\C3]U7S0+E_}/%$wN?X^~c06ΌUS"ӄݱ34#PunP&j};,DJDjt̤m՗p9 -xFq9cnx_qZc]m_CmD J3O>i{L"\N)dj:l3nRheINsߔ[CYHGȾͅ6 U(x3™uB ƌl&mYsp&Zms E>/\꡸+U e߰Puڒ$syO^~jʹv|QmTH %D9s}5dn6(2_q@Mw(}u@p -vEa%z9B.Es(.q8v4J"8fv0q7,ʮ )G0fox -ҚqC5d_gϻ#[ctdz*jͱ*wɪYA1(xI!4X_$Q? I2!O|cs B^p"\BDZ7O.WO8 ө!pY5.a5'>X[lotXSv+g35ԊUs%<ʸQq1WιV-(H󡂦vКnhjmQI3 !!#[О~N = Gs0#4pp -ymXgv Ze(7뱺i TdfvMR7qrReiq!~zБ:1/0aAVp%S0\:J$Kj7aZbjK+BR[K$ƂV[UژShKO ܫbxC?@[*)E8LHv|bo"cziߪuÓk%9}-ML^A).셇6:[|4:j %G*4Peq?y) J*W<ݴZ̃C䃣 OUí&q.?A & li;/u{('̔|ha4\@ړ- ᕋ w/,vپ:9\NjtF%5=)/{'\&Gb|3l -̥ X@%t(bSu(å jmfK - vQB+,4^g3Ծi4WEگD:~ -Å.Tb4;on2MvqKl -$P{NN<u}7 ,@OM[̍\y,uGC\ ޶azQß}ۡ\Gn:v9i_'r%)G jÐj^;^{_ -š'+Љ[ 5)e^KoZ2Z"cd*PV_^2= MC"wMdW㭙Js؎mNTZ R"ttWAWt- -.BQy˯zi])~^Dy$L$C#ahgUfܼiXovSn+Ww>Ftp]U,f4Iu% uGAkxbkBd}6i T`6pEv[\UBјᱱgx:*) *ӎ9if5-296سa"rhizC}L\yB`Kd5i -(Dgў%IQMb34W,Nћzl9}~4̅(_gQUصCu@sSO7>Jefmˁvj,I Z,N(4U8 G@pcAz,ĺO-jEw -hX/QPgAgi%LP@;"䛱_A5^5 -A'Ƶ$dK(Ũd_A#4]+)u/4\'g̫r/Zt\m2};ݠ껣zwFݧw9ӾC?֑<"ztxB6endstream -endobj - -16929 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16930 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16931 0 obj -<> -endobj - -16932 0 obj -<> -endobj - -16933 0 obj -<> -endobj - -16934 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16935 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16936 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16937 0 obj -<> -stream -HWm6_Z $4-R\Т1;l@e[-o%9{o(R<>U7?pͻR$'B3aS_Ԕ2-rŌL: OwH4>TC~s:X]N&Lw}zܭgtM,,SZLW>PԦ7LHfn>~Z+ƹu]ծnV_Gڻ9֖ oW gbMKLS+&Mʙ4yLlqe8$k00m/m"F!C 6@IK+++kk!Jr8Z\&- `TV-JYR>-p|d^z]A<[θ(}0+5.BL\N(Hƹkݱ6TCpl6L :{ -/_[Va7Fܶ!c,֠)TiԌe+*0)31RrU(EpC##)ysi}QIPbҦn[ {L(6RfMVϙZ v]u> 5fc% ]1Pe[Ш/-/_S*GknԔixWnl>wpN@~hg4 EiA6MG˗'H<NL4ˉap;'WKy*v Q'XGĨɲ"I:^Hh57ՠ%&8I\̺y㽚bUN2e %u|Jctirxm0K&~ӏ }?8?>[_=ͨjr̃hC{̿ח-1ݙVZ -b{5msO%HPaxXåM:,Km$ꑼ 4F|I`_C^ō)W2D)K WuvgS7>n^@ټ8,7W~?B 'Fy9c<@# ܰ -Eb 9~}|,Ӆ"aѮ P\mw #ndXuܥA֞,\r -:Ӳp]]~s\v΅l*{isc] t %YD`cX v{J$94GOl3Z5Yu<2|@,gq_)Mӯ}Zx|AU*<|DeipcM?ս4DPq8dO.(бPaE^.kUX>7큒.o"^Xn/8-:|jW[8fBń_LhU^WH‡ pgxLBPD,P*Ȝj"dA5k-.-4mCl$,gC 1֡TQC*.d/Vb>TKdӺ)ChkY/IQ.:]j#!\Yl"Օ -nuqgsþ&+񼸑?/nT|rY)pzdUXqߌ 5ꀗV#\]-]m„ f}CO!m -Qew8/ }8Lލm|#lx5h6;m>d{!MP$<񫰾Y';W#Ǩ#–.2o1.c&βZׯOm̲TŃSX~(6<* 䆫1-:7BԵ;M7.v O"L68$*kPc4mN=N:=D]hbÌl3ʷn!F3bNxm287 ClĔC]mR+βOsN-޸fGx`B}M\M&ǃ81<ӗm77)Ykf-RkmqBՇE2F7^w<3 ێб<.ߏbE~MՐ`Dei9˹~bfFiƸ=*thrQ1^D'P]o,@ג܈9$K۱Fa"s\ZO:Q8M!/m/ܡH -,|h1 O~U8QFwIҺnoz@ўx9P]j&۪LES8-Agg2D:gnن*l&DSU,(Qw/6] &Z\0 DǴ8P4c5E0:_@Fqq^9kլ [[kZe5+8kE_z,\ڪ/E'}!q|Ƣ2,2eC>Gy]f:TzCʨ-ght2VZKoy.7؊[ EرdY􂠢PNVB?{1hTUϻ ^@ca(p;^ -L _.ʼnwȄ=|?Tg5|ڧR2+ 5j;Y#YE܇G7tւiB)FWѽy:{Okn]5@t*YO, \oN$oɁaLc -ƴI!BiM^2PRKf/5m5SoXOj;ԅ{]-/AQ׻uրXi\lP{Q9ϮK-BM?`^(nendstream -endobj - -16938 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16939 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16940 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16941 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16942 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16943 0 obj -<> -stream -HWێ8}WQ tؼJ"0d.HCO(Vƒzlu{_Un&KYQCXt{q~b۟EGB3ac_䊥2RŌOe1n"?D"?]{lOU]vj?dpnboMxlc kM%R7=L_Ä4LLO~SYݖs|FLtooUjw+?Dl_#d|C|'g: g,`쳀}F9><`o 6`o f!ZVGPoCT޷PoCT޷!*dEַ!`Vm"j}6DJB Q@PoZ߆(}ZIַ!`Vm"TET+ 6DJBZ߆oZ߆oCT޷PoC>P"TET6@m"Uj}jZ(B Q@PoC>P"TEַ!`Vm"Uj}[iB Q!{(B Q!{߆oZ߆(}ZMַ!`Vm"TET 6DjB Pj}j5Z߆(}ZMַPoC>P&TET :2j}B Pj}B Q!{ˬ:o1Mtu,>z2lc{jp1!PL_RTyZ' Nܥ]xBL)t(sz>9ۈp,V$Xʹ+'̎Aq`kߺax90,Ti3iAb!9_9ҺAP堽aRY̝n*SC!/yʟJs E=,B@JX&^4ϲy26a;vf8{ R[o@4T\Xk@ 3/kzmA /Ze6dai08 Xyw? i IY&BB PPWg3Ֆ -ǧ>t{ahΣyݥCޟC4]W' tP]g瓁`gT\Ϥ{0-ő[c੫3ח_Qt`2$rv|/ݠn G_V.Hj ^u* -'q=ܧ,uusR#ʹڥjZe3/+ HO&Z#-( s֕[MzlB/|p=/#g=dž@ ,/>Pr=NvF}6ܺM;LIoOj˻}(]W|G-Wu-7/RA:M{%CX,=z_ݼPO7}LtL|ڱ.cIc@V[[ .(.)90 2=\BƷbbG'eJP4W}[ݏ{ëNZexXN+ع4è+]Ãnj? 闢_@p+efBʑP/޹dEf{NG+F97jZ}TQPoXNhOk)jSW·6_\2hKc3j2WykoG+^FN*%+UuRURPYCkD{^l8 ;,2;EfD׮Kk]5]˺'!A0lToӦy…oǏvz6[̼ENz~ӥVDt0kg<e6U_54_:=u>y[ǵ-}Jϼөpݧta.=.;^z@G#O|LxS]h ׬_A4_̀xY t&UƭZ+*VX9`劕VX`UVX%`UVX`UUVX b%J3͒4KfrS,X^<`)=^f,ˌ[{q x/3ne-R{̸X{Ky2fɌZ{q x/3n>e-R̸XKy2`)^f,}ˌ[{q x/3nįKy2`)#^f,}ˌ[{q x/3n>e-RG̸XKye-͒2f%R1O:-3ZW3XڜLk8@ gsY zBUSًY=!Ɍ~ͻw4,X&`*~~n^lK"6 n<7Y;jm?w֛P:[v8iKS ?~pk+^܌|d胪LqnKs>f{2>W_ۚv@7zf=3I?>uogt3zu3YlOM}fbfևZ lڇVСd˾2]ͮ'.)f}}ņDL~OF -ln7d^DCx+ݡPv_FvƓCA4id0lW|*m]f}sq:¦nw{fZvrgjnvW70}95\u~i;EƭZ+*VX9`劕VX`UVX%`UVX`UUVX b%J3͒4KfrS,X^<`)=^f,ˌ[{q x/3ne-R{̸X{Ky2fɌZ{q x/3n>e-R̸XKy2`)^f,}ˌ[{q x/3nįKy2`)#^f,}ˌ[{q x/3n>e-RG̸XKye-͒2f%RiO: G:gFA [vt⏹~[ҺP]3(V͜/ ->>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16945 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16946 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16947 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16948 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16949 0 obj -<> -stream -HWk۸.@@_zlk-&.!L(kI$w}/EE^O"]FǞQxD}O>EԧQz3D}g)bZ4WbB\bw1ջ׺f!=2ĵ.Yzϵ q qis-C\b\׺׺f!=2ĵ.Yzϵ q qis-C\b\׺Xpĵ.YzZ,_iŀ4 Q﹖#u1B{k] Xk]Lk9Z,DZŀ4 Q﹖#u1B{k] Xk]Lk9Z,DZŪ@ u1ջ׺f]L|.,ĵ.Yzϵqis@\bB\b\+׺f!= -ĵ.,ĵ.Yzϵqis@\bB\b\+׺f!= -ĵ.Vqiŀ4Wb,",.P;4pxP1cM/y6CPWz1lԩSӢKPйϗvKMsE|pzVeaqh}ՃM(R7mOv';c=;jƇnv;fG"dc'\Σ0s]eSKy<\JC.B:d\,zqhZb6Gv3ej}XǍpJhJdhdWD#QF,s U}Yݑ%&(moS?l xI_Eq&G5JuRŃԘUɑٝOq p;OfUU]<4 ̜i >5gd' -e*dK&nT+^1Dj`H /GiO]*bҮ}c08QyyY}S*'ms 0erij=P$+ ?e3 )b7AG`y^M8zw4$3d$* ?CDKյc=Wye{ӄLWkCar9('[thv{mC'Km|ZGw6̻)JlB ll36k`b/]4+NtMdoL3`wwl"J[UL*Yٓlx!79SD9v.dWKr0 -!M41M=A5t.ZXgoMzoo4j,K.Փ. 2D$禃pggf[YRʕh{K;xOfB`vXWgŒz_Gӹ/pћ"7_~M)$djQ{%(Y1^a16ߦ -%a -v& ~3PYy@U¿זhh&ƀWy~ DtE~I-ezpJ v1߽r\gcGONG,pu0Za [`z%OӲ ۉ(ϼ:wmz\DL+ ,9瀊EՅ #̎0ۦHildR wԣ[Ԅ38$h=q)(/޶0+b"hChȡ ŖdVϾjߙ)x"[8q1r~iәnt.&X?M"] ߎt_y?$ڬ__4|8k4./aΨLZi',@XXjVZ`+VV$:`ui]"KgBR!,,KXX{Kי {I{Kי {I{Kי {I{Kי w{I Y:K-ΤEX#LZ;ΤEX#LZ;ΤEX#LZ;ΤEX#LZ;ΤEX'LZYju&-=^g",u&-=^g",u&-=^g",u&-=^g",u&-^gBRx3i!K3c٧qэyZSǴ5e\|oNj?mw 4r?~l uz&]]j1}|=}\czq}IMW/bw~[mtq\Zi6rY[_,ח?MfNoi/at֗jNu u<H>௿F{~ӵ>V?;e&yݼݘj?͗ߍ'JGrهg\|Մ֍?MNzH X<>/P 545 0 R/Type/Annot/A 29271 0 R/Subtype/Link/Rect[93.6000977 579.22998 222.936005 598.909973]/Border[0 0 0]/H/N>> -endobj - -16951 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16952 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16953 0 obj -<> -endobj - -16954 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16955 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16956 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16957 0 obj -<> -stream -HWێ8}WyѭER C2`c`@mmx,;_U$u1YNpX:$ußy ߽{ᅣI_>LĬ *BY8K,?E}\j<׻\Ca@cS='s='s='s $K$K$K}F<>cs}N=c_K}I4Ѻ6H պ>D]պ>D]|Pj]jSBQ{O)Z(BQ{O)Zׇ(ڔPZׇ(ڔPCSmJPCSmJ!`6%Tڀu}ٻ>@u}ٻ>D]պ>D=rBQ{OPZׇ(ZN!`節u}"TET պ>D=rBPj]j9Zׇ(ZN Tw}"Tw}ٻ>@u}"{j]jZ(BQ{OPCS TE!`Vu}"{j]պ>D= -BQ{OPkI!gE!g/,EܵmeC|Yeem/. -7Bh<.yuynq1ul [N$ZRЪiA|NI1L~}hoۋ`$dÇڲS_w:VǙ(2>ODTՉd$[dig "enW6'ynM^D*Dzh!pyOcUw6;u:e'WNjxܙ>vGc罹cfE9/K ɦIa!Z2Dm3L֙ף&sTP?OzybS87C~ۃr#$$TUsaͽs^KcRFK\lKW2AۗHAnXb-Ժ%`ЛYy,/{6*cRfz㱿lSK?Y -X:'^CF&`focT:v6LRIbJ~5k%;1NTQEd iCpb0&͚8aI1 j\Y?6ĝ@j!]SaC*&ga'AM. O8\,m2ļ79MoSpN:rL2_f҇`&YSYz|zt่K/N&^bW>Oa+}W dV\K9RP\O_6Q؊>A|Lo;MʾX⋗nƎת?anoO5/}j2\lZ/ϡ;x_ŒUS n#e#^X;62S o8sMس ǻe]WohMGγOX25UzkNu-P_l^H'p>'Ttsq879@pF썖J [hqRbW<ɯ)R\wDLY.uHsfx2Y~I2.DY,V ]O?/_XI DIz;+WъzFs˙?ۛа?lzL36~p cɧQ^ l͹LC }3SMkkU}jlۖg0Q7^S jLUFZ Z nSHvB0ES΢,&5| ]V}t53S7\5YgqyI&ċTfu,χ%NwFl'CLsP!-Q؃z ~2넀;X:i?MiSX-O -]zk^gR}/9"ݭe@ -Y7sʝmvpsVNYwm[l3֐)U?V?(}ws!UyNCջFdؚGԜ]ez[uoֲKlީѴIýnѧʃag δ~e +]b!yH}>tx춎 --e@&Idu*H׃[adD}NllVuwPl60WFRItK$DwnV0vk`~ܾ;M'".N~ڢԶKO{_3 I|T׺@U5W)"9խ; zF8۶'&$8<gTTnGZSGo ȯbtw,}' a hJUkl#U/<\xL$Ő(7ig7ⶃ?mXVgἨ),Qn<$fuVNPo*QV1V*N|Y`I͟# o@AMtḄ&w7qh)$88jj(ZTk׉?F\)F5~'n%r>'goa Lgl2aE(Zܐ&7tSٕI |!# K;&Rݠf,ns})9B -&P02P}q @A51 -ԻSRʔݗb,ɱ[Hlʖkn#gQ!bdI+P66h<'qNg8rJD,mӛȳ.z< y >, L [kѓݮlv/zvA 5F$Fr@k; tDQ,,`v@cBvMXz1X4BVN.S W)^Dg9:OFwd`/aA0pP>z3z[$x{n@ ߢL$ .s93 PՇ(1CR ;`bbsD@tnon{zp;E# -mq#T"*'4'u =M/Aq$c 1[%laRI#0ѽVkj2>Qe$ct,ޢf/AcbipBA+$`TzlBM;*]F5Hy}oVWϗObSA)OJ/g?<4װ9bN|Y&G)jW6AX["597Mj]Mw3[qfEB 559rԜ -6ODof\K}}03 m{&-hBg@ڮi6IƓf^ Fb.Ds FoEu-$l6`w~[ aN[MCҫ>( qZ1 8t&ͦx/D_6jU5WQvƾVB~jD#Z8wQb˾FD4z!jy#ܮsvK`vv&gؕr&P4 p'z[^]w;jOݻ񈧊H!<ʇÆq⑨y0EI# -,' d^F ƒ@ZU{`?L 17Sy4 #rp}ۦmfqrrᦑP%R-kB)[;tvwIh&Xûݸߣ>!ʤ'5Tę(0&kFڲ Yr  -4iDM Ml}\w[ >2>j ) --_|ҽUM#džfõNfa| -]}z}WJ&'mn p hKBM{NoQeuHOu$~]0e;Ho0_G.FTwiyoM -PPu_]wegZ냒{;=(grfR\}[WGcT>AAY@aw<糪YMP*drA&S~kurFơg]6߱ė"p1qʁ i -{(=Ɍg3~j2m -uot@ZDFY&/, x}X#C]ǎCq?㉷2i(JVU -8PVx8F亣^RƆ$h3D JC_HkC|$ؿ˯ݷ 0~endstream -endobj - -16958 0 obj -<> -endobj - -16959 0 obj -<> -endobj - -16960 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16961 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16962 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16963 0 obj -<> -stream -H|Wko8_ -* l-:2EL–SI~/_z׃"%u|xyHM?rw)Iͻɏy!ST,/iZ,4UߴKHi&ձ| Ie*!fZ:ݝlc{қWT 0Y B$}7}y+9|~Furoq0,% r1*u? &4I?B!BCHVT@$Rjm"Eȑ1Gbwb*`%V(b!,zzgzgzgzzzzzQ_FKD}UBW -Q_EkD}u^"e^"#iCPĵ!YӬX}iV>Ā64 Q" 1BGkC XkCLk),D}Z6Ā64 Q" 1BGkC XkCLk),D}Z6N C\b1`! 1͊ՇfC XkCLk,D}Z6Ā64 Q! 1BGekC XkCLk,D}Z6Ā64 Q! 1BGekCpĵ!YӬX}iV>Ā64 Q# 1BGkC XkCLk9,D}Z6Ā64 Q# 1BGkC XkCLk9,D}Z6N@\b1`! 1͊Շfe.)%+Mtw"94ӂ˴,e;%w޼dO7_vLZu.9m^'$ UUE/!6-ʬyz:fl}>6/m>vrm7Q8Fqظ7wfP T%!EZʌz49+ |xޛl|Tl Ƴ7_f(j~ݛbi;S׳j%tֲs–8a\؆cWz&.å.·T9OHi{Ỷ,@Mܛv+l.`Xzbx)g:}s-0\!WzX!VQ"/XAWa_Ǖz`8u.};9 WáKRuYG$Z9ڥi IEN2.u eU+ q*c6\ndźihDTi8gpAdS"u/܅읰Yvѵ+a\|M̦؃xwIÕ jzO%nk=2/`i=O+Kw-hF lhwtJsg6]m]Fy`tC`":cyNIҭߕ+?Թ|`1\k碦b9#J>]6Gw<8L%(dx4?Xk "M!&DxҜ7\dGZc)97c~JǶ1.Г|;s8\O[ -Y[ZU١=ttj=kgh6;>(\ĢɪX?սcP38ϗ):njRڡK4߫f|ggQN!&l)+jg~V[3T65lL-S9niϼ&דijR3Oԏ֤Ā'@Y|lٞ u`kÚަ{V5L 1kBS}oϻS YtUF0`3"a+{={u -Tl2Cenv.%|,xq-.hj -b˭ڻ)Zen0p{|^yN&mLW2 -tȺUX~x6K~<+sASGMx︉#qL4wxߞ$lRdspsY#R'Dga6"͚Vh::c;<ƕ?[A`8lU%FKۉUhR+/Med -&%da瑱j52V[d1(}3)6suêlkU9pgNh(]t^Taqxjz;\.]iB(/usՕoQLs70=ubHZ0/os'LwQkJ9rtLlRYeYK"g%S4Ww=VF=Qʧ-e^;KVKd-<~a$jmiDCRLxDru-n+lnBJ.1D/L/t+\¹byE6) Dso."> tδWTK$Z:Q{)dz- ? +ttGS @m _[b[ߐa{7^,!=k!G{ ݇|r_eeE}秏#!r_ -݀m<”)-Ɋ+0D26XZ PF9/%ΌԝjN<'8sF]f S؇ܡSLR[C. -8C#*0d'4=ycZ {"ySG3Hia48cZ0 &@c,lAbj5&0QDO]yNKR1xs·JZC8 DwyZx4=Nv,F'[]o58bAJf@ɲ=eIWB]M}l6n(Z,\߷2~vwSWtNc^uv=5!+C؂G*JI{\3 -"}1,c-τzAP.M$c`YX3G4ǡ,!>q1#S[,!巫5k&ٳol\)9IIz{&HG{ҭuKnHet*}u\<*.$LH{GīFT+>E,#͒;aɢUߚusd3jr+X+e0(Qб~e3%I}Ƕ.L(P>VMw;/v8p_|+ջ$xG54(BPD^aHf"7plu5//F&d>CgzSm jwVsv0=!&@+?TqwyaY+wsCO7PdQ>X\1S -luց0Ur2'FvL(u`aYқc 'Cʀ{GȒw7'7 0no|endstream -endobj - -16964 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16965 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16966 0 obj -<> -endobj - -16967 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16968 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16969 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16970 0 obj -<> -stream -HWkF_1XYr^$u1g`X0V kM=V]#XSSé9WTݠW?T}/OD^̪1j_M5?/MۭЭ['W?O4wVU**O Unٻz1F͟ېή(_@8gYVݼ=IuPBoNˑ58nTzu\|uS9\)Nc'~YO3-)qڪ/ʤ-(^Z$LKN &1]DΉcRHCb2 wcy --sow{;c1^p{/}>ss 3>}.ϙ\p3` }G}du6Bk),bZK1dqCwO1` Vh-Ő%gBk),C -Vh-ŀ%bܳZC -R Y{Z+bܳZ&Nh-ŐS XBk),b),C Nh-ŀ%bܳ:C R Y{Z'bܳ:Z!KpZR Y{Z'b {Kh-ŐS Y=ŀ%bܳzC R Y{Z/bܳzZ!KpZR Y{Z/bZK1d YkZ!KpZRlCwO1` {!:U -].u\QF$ՙ**y -*STMf~'gn RۺZURuC'!\({5g|xs^ -,l_wݶ-ڦcթgpַsaukrsx޼}6kP?>Mg÷kЙIV`D?Tp Kn)Bx*]AڞU7KrE,p߽z6*r9~|b8PmԮM5K5PoբlSsLGq u]70)KOF-Au]v]k|ᵱON{JhP޼:#o9]=:mN'0b0ڻa[`ga9ŀ%bZQد4wNUbgD*ӹgkdɠ ֜캹)fmVf1ۦQ5C '8;UxrIqPGQ8iWٲF g&3'uxRQc tQreޡȴy3{/4(gLc鄛ɟ VnjU=\ -WݺmnЙ/&n ]?,[ $e U8j}h5}.rOtswcnɠӺY}П<tbkus#3/l˪޶1yW eEx9NzexU^8oa }}tz\f2߬-np1}w ^ngj?|,Qz$P y@]+0''+ӁB n{L@фh5N %&gdT*hHI& ũ)z \C\} 8endstream -endobj - -16971 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16972 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16973 0 obj -<> -endobj - -16974 0 obj -<> -endobj - -16975 0 obj -<> -endobj - -16976 0 obj -<> -endobj - -16977 0 obj -<> -endobj - -16978 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16979 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16980 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16981 0 obj -<> -stream -HWioF_# `D1M83- m$DzouM6K°||Ux}\},!駫߮o߇q_ H_C(aHаaS@2 dU wyVmWr}ؕ/4|wjKXHcC8ri:pN/_5i̼S#A_f>^\Rof.l?,,r ts},N\G" "oA k_9$q+~0YQLA*rrr;3bs1`Lrw1`QD=SD=3D=3D=3D=sD=sD= D D D'S O}O=)>ԧS!3O}<9>zϳ1E\bw1`!u1ջb] Xk]Lk)ZS,DZŀ Q﹖"u1B{k] Xk]Lk)ZS,DZŀ Q﹖"u1B{k]ZS,_ q)WbB\b\׺b!=2ĵ.,ĵ.Xzϵ q)s-C\bB\b\׺b!=2ĵ.,ĵ.Xzϵ q)s-C\bu׺b] Xk]L|.XzZS,DZ Q﹖#u1`!u1B{k]Lk9ZZS,DZ Q﹖#u1`!u1B{k]Lk9ZWbB\bw1Q&@ 2nV(_n޾xon_l54E: -)=R5DZšDZ>WCy m9d%kǻimnH -^ CYTAvEו|lN4T)mU6 AIzTbe=jAb9AVR45u``u㾓0áZtUYM:Vl <d?t틑:KVUSL#sa7$X'-~&_o{f,0C3Pa%d#LuU\bb*vz~lU=,#4zz*0_{R,)]%퇶r{S>#1tz`)dV3vh_%tWY+h2S-xw%|77$e_%qXqڴ LVcCƬs1oLjVr -Vv5NzcEJ5%v)݈U3ZQlLy[z̛j|u6ZMP K(뚪$VղNqsSۡf7'ƙs"1:;,Fs&fQ'kAl?)ߟ[h }bF ?ʧ3,hpqʝ{! s; N2K^ ,2Cq.uHK`uuG3"ɘHt.HnrM1Za'_z1JOI}9A,JtoR7M*XތC/AOgΘnz-G[d%DQ'Ѫia" ,4-r I VrdA~f,iv--/ʼ럷$_[ٯ][iUS=iu`c/4r31&KԀ8Kgf)Oz6XI8zg$ӌI eGQYR)a`l'l:"4[Sq+x!E؆`R5;CJQ !6%b__{ιMSh ׼M\Ȳ,SxVSR\DYN)c6cs+nupYyv[9":P2b0?b"!zV~>XK{yD͈6DR^d2rJZMe|(Nc\dEQ;'#xzqj 'e8Y2'8&nѩDsp.P_^f<ک VAE)&c=v,Sa%T,}5ch,<Ѹf=7 㕡C*Eqs>8CM;JR-;z?:Y* |?wOn~QyBO^+d -.o\87#B/}IQpؕ6ਖ4ZzRwL~"+AdT:?򴝾;luㅪxNx8{=T6@rjErAKRo<}""IN* 0|,gF ?ZyH۶86Z TW""%wn}dA+$e߼k h2רּҰ˜ڗm}-.&29-rGk }#S@^9>bʦT "xˇLY%n{U4ZM=ZR۔B&P¥7yFskz^hӬVБ٪hJ5.r )HYF{X -??ΙF>/P 1025 0 R/Type/Annot/A 38921 0 R/Subtype/Link/Rect[93.6006012 603.229004 194.832993 622.908997]/Border[0 0 0]/H/N>> -endobj - -16983 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16984 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16985 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16986 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16987 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16988 0 obj -<> -stream -H{o秘( ɘ"9m`8ۤݦHmL=zxHKyE9͙3ԹxfU/_^[W^}MT_U.* U6ZfdFTv7jZv=,UMήjsQ8i\E*JՋfmg!x]iYV9)A3ͰpesxГ5]omO8{_xn_.yOqu'hn쏙V}S&W?%/usEWhS^"0>g1p&J&2&e׈q-QHiD@\KHoAz+;މw"HAz/{ދ"}H@  }! }!җ })җ })җ })W }%W }%G>3krmY0\#JZr(kD\KZҋ`jFH/ւZr(^LS5@z1L-kDbj-Zҋ`j(0\# -Skr(^LS˵Er(kS5dz%s-Q`jFH/ցQ ZkS5@z1L-׈:0\KZҋu`jFH/ցZr(^LS5@z1L-S5dz% -L-׈FLϵDQ ZkDbj=Z% -L-׈z0\# -Sr-Q`jFH/փQ ZkS5@z1L-׈z0\[dL-׈鹖(0\#JQ2}1Fr^Um2g&t"z i;tddu9·ΕK**7kbπXGÛdh[5|a+35տn>/6m5lw5RZ6!|:׸ͦٲ庬SH-bV:(X -OA~I^*VG&Pvo\.knbME5mM}_74]Mҍ͵3e<|נ];_UyJ+zqM[1[nmp@\uq(ɤw*9C<KkM{xO!Gy7}ҧ5!ӦփAHJmo`<3>U8c~/˓'py\-5-AL^WT}*g)5"^^xyW^AxW -UBx^%*W*UJxEW^{\zq(ŵDe^FxYe^kD/{ z5QKނs(%zoAF\# -x[{D=׈^\K=׈^kD/{z5QKށs(%z@Fw\# -x;{D=׈^kDI/% -kD/{z5QKރs(%zAF\# -x{{D==׈^kD/z5z5W1F}M?L_g  :r4ߥGgg /ǣvK]Ul1[n -Ģ-oSz2zFf~bna/~*q͟evMOZ-o_vnL?Fv[N͢}vGg6{v`_os_nQ -_'B.* <{8I+FM *:qj6j_Jz|_wqc<;Oo?ԏY:ijC'5TIh :l9թLwjF.~~]g6txMci[\tj=rP*%<// -+ -Ux«^*W)*U -xU+("ҋkDI/%/# 2/+,\# -x[{D-=׈^kD/{ z5QKނs(%z@FZ@Fw\# -x;{D=׈^kD/{z5QKށs(%z@F\#Jzq-Q\# -x{{D==׈^kD/{z5QKރs(%zAF\# -x{%({%sD:L__Um2gU'WCʕ%=Gu&uң$}E-'Dc/W]oV-r&ZwF{bWlxmg%1J/sK'4z?kFܟS7v†|0MזA"k#oR$mYa z Pg@"^Ĵm\ g|6 -/o8O(ex_/ofHSbu`=Ӓ=O~6]D9Oe贡z]qjzݐ`c;qH6L԰M[w171`2 LjڤFǤz,0z_/8Vendstream -endobj - -16989 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -16990 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -16991 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -16992 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -16993 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -16994 0 obj -<> -stream -HWko_e@^s߻@ /mm 8EشDWKC*E&Μsvxaݳ/.~}soBsS$TET+ զ1@Mc"gjj%4*4}4}CT>PmC>S"TETզ1@Mc"gUjj4(Bi QLPmC>S"TE6!`VMc"gUjتЄjri Pjri Q94(Bi QLPmC>S&TE6!`VMc"gՄjզ1D3jBi QLPm4(}ZM6!`VMcMc٧1@Mc٧1D!hVGYgl&`Qτ 2 *&j~6HI'P+SGi}_lSvv.M9Z=ym,7P)_PC\YoH( vwSd%ZR@}ـע[2N9A8 v#E=:&/D%/ƈ8Y`L'H|VCU;pC3ca<5,auVqoMpEa=\8 wRת;O -UU.ԁ_fΛ:v~suxFYs"V+q}:ghGhG :xbTO]23rc|o --bUmnR(qSgCF?+e_ 7|[z,’ۭƭ]PgxOܽqa@*n ^q\yUq”RC 'r,3G,E :8:>~ 0qEmoD~E.)*6.$~yC8oI=b`)o6ݑ?W aF:q:)՘+lhMsOO~1^h3T5{McWf Dc٬wz:q(T7B>~N =N؉- s8Ix MJ`@|Pҏ[J펌x}\- ~;|Xr}?5iҸ$y;6I Ujd3X3'G0\$˭S)8Y T_78m3dҢ5 -b>K׮,XY(ec+/ NoqG%hr?%\XSql7Ou:ްxr )Gmy1_W?O>Ͷ3{ۻ:>Z&m0`K.Z_e5ڔI~^n -F 9<̼L`:خvo;ؗs0}XJGdlt_Z`g$zUr8 + ʹAt -Tᇮ¯!!=46{\bN5ho ZMw Ȗv :~15ٽ~:*N;{+%X͇LH_;ӃGƩޖMH4xotYzKim[I4v74 -pr0񒺝ljkɓ|[flz Tӓ -avJg7H6vWx1kW[((pEIŒf&zLs7 qΡ8h7$7eT&X=b'L? -.g1hAJXb1]敀ȵE%R^p)>@ƍ%ox8>U<}{>ߵ7&ǔ89)b -$:oZSPX U=6Xg$U/ GzlQ5zg.Qn/%2Z}{ȶաDBv'տ)P -2M&f&ZL_M [SӉ=l1B99=ȟWՃu&H 2+k* B=n\0 *9+=oTPm+ (ҌgzAH5=Sћ;ybR<+ -)Vcka.6 |@ -@l/OߞO'/^ ,OtB% GB+!TB Qb2{If&Aʍ;"7iHf@] OA<AYo*"8BT -ԥ!.ZPonLfQ`Z4*4u LiL/ -W9+ K{ qR}WqTPij9b"˰>D^6 |:h.5w\N4`XǖxֶY;P;Cu(E@ap H: -ן7 w…űPz.("Sb<=dCZ'm x'2 nCm*(名w? xݲendstream -endobj - -16995 0 obj -<>/P 10158 0 R/Type/Annot/A 17288 0 R/Subtype/Link/Rect[197 670 209 678]/Border[0 0 0]/H/N>> -endobj - -16996 0 obj -<>/P 10158 0 R/Type/Annot/A 17285 0 R/Subtype/Link/Rect[217 660 233 669]/Border[0 0 0]/H/N>> -endobj - -16997 0 obj -<>/P 10158 0 R/Type/Annot/A 17283 0 R/Subtype/Link/Rect[234 660 246 668]/Border[0 0 0]/H/N>> -endobj - -16998 0 obj -<>/P 10158 0 R/Type/Annot/A 17281 0 R/Subtype/Link/Rect[190 650 202 658]/Border[0 0 0]/H/N>> -endobj - -16999 0 obj -<>/P 10158 0 R/Type/Annot/A 17279 0 R/Subtype/Link/Rect[212 640 226 648]/Border[0 0 0]/H/N>> -endobj - -17000 0 obj -<>/P 10158 0 R/Type/Annot/A 17277 0 R/Subtype/Link/Rect[228 640 240 648]/Border[0 0 0]/H/N>> -endobj - -17001 0 obj -<>/P 10158 0 R/Type/Annot/A 17274 0 R/Subtype/Link/Rect[190 630 202 638]/Border[0 0 0]/H/N>> -endobj - -17002 0 obj -<>/P 10158 0 R/Type/Annot/A 17271 0 R/Subtype/Link/Rect[202 620 216 628]/Border[0 0 0]/H/N>> -endobj - -17003 0 obj -<>/P 10158 0 R/Type/Annot/A 17269 0 R/Subtype/Link/Rect[218 620 230 628]/Border[0 0 0]/H/N>> -endobj - -17004 0 obj -<>/P 10158 0 R/Type/Annot/A 44844 0 R/Subtype/Link/Rect[190 610 202 618]/Border[0 0 0]/H/N>> -endobj - -17005 0 obj -<>/P 10158 0 R/Type/Annot/A 44805 0 R/Subtype/Link/Rect[221 600 233 608]/Border[0 0 0]/H/N>> -endobj - -17006 0 obj -<>/P 10158 0 R/Type/Annot/A 44767 0 R/Subtype/Link/Rect[190 590 202 598]/Border[0 0 0]/H/N>> -endobj - -17007 0 obj -<>/P 10158 0 R/Type/Annot/A 29325 0 R/Subtype/Link/Rect[221 580 235 588]/Border[0 0 0]/H/N>> -endobj - -17008 0 obj -<>/P 10158 0 R/Type/Annot/A 44696 0 R/Subtype/Link/Rect[237 580 249 588]/Border[0 0 0]/H/N>> -endobj - -17009 0 obj -<>/P 10158 0 R/Type/Annot/A 44670 0 R/Subtype/Link/Rect[190 570 202 578]/Border[0 0 0]/H/N>> -endobj - -17010 0 obj -<>/P 10158 0 R/Type/Annot/A 44647 0 R/Subtype/Link/Rect[207 560 224 569]/Border[0 0 0]/H/N>> -endobj - -17011 0 obj -<>/P 10158 0 R/Type/Annot/A 44588 0 R/Subtype/Link/Rect[224 560 238 568]/Border[0 0 0]/H/N>> -endobj - -17012 0 obj -<>/P 10158 0 R/Type/Annot/A 18481 0 R/Subtype/Link/Rect[240 560 254 568]/Border[0 0 0]/H/N>> -endobj - -17013 0 obj -<>/P 10158 0 R/Type/Annot/A 44512 0 R/Subtype/Link/Rect[256 560 268 568]/Border[0 0 0]/H/N>> -endobj - -17014 0 obj -<>/P 10158 0 R/Type/Annot/A 38922 0 R/Subtype/Link/Rect[190 550 202 558]/Border[0 0 0]/H/N>> -endobj - -17015 0 obj -<>/P 10158 0 R/Type/Annot/A 44443 0 R/Subtype/Link/Rect[207 540 224 549]/Border[0 0 0]/H/N>> -endobj - -17016 0 obj -<>/P 10158 0 R/Type/Annot/A 44412 0 R/Subtype/Link/Rect[224 540 236 548]/Border[0 0 0]/H/N>> -endobj - -17017 0 obj -<>/P 10158 0 R/Type/Annot/A 37560 0 R/Subtype/Link/Rect[190 530 202 538]/Border[0 0 0]/H/N>> -endobj - -17018 0 obj -<>/P 10158 0 R/Type/Annot/A 44345 0 R/Subtype/Link/Rect[207 520 219 528]/Border[0 0 0]/H/N>> -endobj - -17019 0 obj -<>/P 10158 0 R/Type/Annot/A 44303 0 R/Subtype/Link/Rect[190 510 202 518]/Border[0 0 0]/H/N>> -endobj - -17020 0 obj -<>/P 10158 0 R/Type/Annot/A 44258 0 R/Subtype/Link/Rect[212 500 222 508]/Border[0 0 0]/H/N>> -endobj - -17021 0 obj -<>/P 10158 0 R/Type/Annot/A 44235 0 R/Subtype/Link/Rect[224 500 238 508]/Border[0 0 0]/H/N>> -endobj - -17022 0 obj -<>/P 10158 0 R/Type/Annot/A 44186 0 R/Subtype/Link/Rect[240 500 252 508]/Border[0 0 0]/H/N>> -endobj - -17023 0 obj -<>/P 10158 0 R/Type/Annot/A 44165 0 R/Subtype/Link/Rect[190 490 202 498]/Border[0 0 0]/H/N>> -endobj - -17024 0 obj -<>/P 10158 0 R/Type/Annot/A 44121 0 R/Subtype/Link/Rect[217 480 231 488]/Border[0 0 0]/H/N>> -endobj - -17025 0 obj -<>/P 10158 0 R/Type/Annot/A 44095 0 R/Subtype/Link/Rect[233 480 245 488]/Border[0 0 0]/H/N>> -endobj - -17026 0 obj -<>/P 10158 0 R/Type/Annot/A 44056 0 R/Subtype/Link/Rect[190 470 202 478]/Border[0 0 0]/H/N>> -endobj - -17027 0 obj -<>/P 10158 0 R/Type/Annot/A 44018 0 R/Subtype/Link/Rect[197 460 214 469]/Border[0 0 0]/H/N>> -endobj - -17028 0 obj -<>/P 10158 0 R/Type/Annot/A 34241 0 R/Subtype/Link/Rect[215 460 229 468]/Border[0 0 0]/H/N>> -endobj - -17029 0 obj -<>/P 10158 0 R/Type/Annot/A 43959 0 R/Subtype/Link/Rect[231 460 245 468]/Border[0 0 0]/H/N>> -endobj - -17030 0 obj -<>/P 10158 0 R/Type/Annot/A 33658 0 R/Subtype/Link/Rect[247 460 263 469]/Border[0 0 0]/H/N>> -endobj - -17031 0 obj -<>/P 10158 0 R/Type/Annot/A 33607 0 R/Subtype/Link/Rect[264 460 278 468]/Border[0 0 0]/H/N>> -endobj - -17032 0 obj -<>/P 10158 0 R/Type/Annot/A 43840 0 R/Subtype/Link/Rect[280 460 294 468]/Border[0 0 0]/H/N>> -endobj - -17033 0 obj -<>/P 10158 0 R/Type/Annot/A 43806 0 R/Subtype/Link/Rect[151 450 168 459]/Border[0 0 0]/H/N>> -endobj - -17034 0 obj -<>/P 10158 0 R/Type/Annot/A 43766 0 R/Subtype/Link/Rect[169 450 183 458]/Border[0 0 0]/H/N>> -endobj - -17035 0 obj -<>/P 10158 0 R/Type/Annot/A 43722 0 R/Subtype/Link/Rect[185 450 199 458]/Border[0 0 0]/H/N>> -endobj - -17036 0 obj -<>/P 10158 0 R/Type/Annot/A 43697 0 R/Subtype/Link/Rect[201 450 217 459]/Border[0 0 0]/H/N>> -endobj - -17037 0 obj -<>/P 10158 0 R/Type/Annot/A 43652 0 R/Subtype/Link/Rect[218 450 230 458]/Border[0 0 0]/H/N>> -endobj - -17038 0 obj -<>/P 10158 0 R/Type/Annot/A 43612 0 R/Subtype/Link/Rect[190 440 202 448]/Border[0 0 0]/H/N>> -endobj - -17039 0 obj -<>/P 10158 0 R/Type/Annot/A 43581 0 R/Subtype/Link/Rect[217 430 231 438]/Border[0 0 0]/H/N>> -endobj - -17040 0 obj -<>/P 10158 0 R/Type/Annot/A 43533 0 R/Subtype/Link/Rect[233 430 249 439]/Border[0 0 0]/H/N>> -endobj - -17041 0 obj -<>/P 10158 0 R/Type/Annot/A 43513 0 R/Subtype/Link/Rect[250 430 264 438]/Border[0 0 0]/H/N>> -endobj - -17042 0 obj -<>/P 10158 0 R/Type/Annot/A 43464 0 R/Subtype/Link/Rect[266 430 278 438]/Border[0 0 0]/H/N>> -endobj - -17043 0 obj -<>/P 10158 0 R/Type/Annot/A 43438 0 R/Subtype/Link/Rect[190 420 202 428]/Border[0 0 0]/H/N>> -endobj - -17044 0 obj -<>/P 10158 0 R/Type/Annot/A 43389 0 R/Subtype/Link/Rect[207 410 219 418]/Border[0 0 0]/H/N>> -endobj - -17045 0 obj -<>/P 10158 0 R/Type/Annot/A 43351 0 R/Subtype/Link/Rect[190 400 202 408]/Border[0 0 0]/H/N>> -endobj - -17046 0 obj -<>/P 10158 0 R/Type/Annot/A 43303 0 R/Subtype/Link/Rect[226 390 238 398]/Border[0 0 0]/H/N>> -endobj - -17047 0 obj -<>/P 10158 0 R/Type/Annot/A 43264 0 R/Subtype/Link/Rect[197 380 207 388]/Border[0 0 0]/H/N>> -endobj - -17048 0 obj -<>/P 10158 0 R/Type/Annot/A 17294 0 R/Subtype/Link/Rect[209 380 223 388]/Border[0 0 0]/H/N>> -endobj - -17049 0 obj -<>/P 10158 0 R/Type/Annot/A 43176 0 R/Subtype/Link/Rect[225 380 239 388]/Border[0 0 0]/H/N>> -endobj - -17050 0 obj -<>/P 10158 0 R/Type/Annot/A 17290 0 R/Subtype/Link/Rect[241 380 255 388]/Border[0 0 0]/H/N>> -endobj - -17051 0 obj -<>/P 10158 0 R/Type/Annot/A 43112 0 R/Subtype/Link/Rect[257 380 271 388]/Border[0 0 0]/H/N>> -endobj - -17052 0 obj -<>/P 10158 0 R/Type/Annot/A 43087 0 R/Subtype/Link/Rect[273 380 287 388]/Border[0 0 0]/H/N>> -endobj - -17053 0 obj -<>/P 10158 0 R/Type/Annot/A 30183 0 R/Subtype/Link/Rect[289 380 301 388]/Border[0 0 0]/H/N>> -endobj - -17054 0 obj -<>/P 10158 0 R/Type/Annot/A 42989 0 R/Subtype/Link/Rect[190 370 202 378]/Border[0 0 0]/H/N>> -endobj - -17055 0 obj -<>/P 10158 0 R/Type/Annot/A 28511 0 R/Subtype/Link/Rect[175 360 187 369]/Border[0 0 0]/H/N>> -endobj - -17056 0 obj -<>/P 10158 0 R/Type/Annot/A 42924 0 R/Subtype/Link/Rect[188 360 198 368]/Border[0 0 0]/H/N>> -endobj - -17057 0 obj -<>/P 10158 0 R/Type/Annot/A 28432 0 R/Subtype/Link/Rect[200 360 214 368]/Border[0 0 0]/H/N>> -endobj - -17058 0 obj -<>/P 10158 0 R/Type/Annot/A 42854 0 R/Subtype/Link/Rect[216 360 230 368]/Border[0 0 0]/H/N>> -endobj - -17059 0 obj -<>/P 10158 0 R/Type/Annot/A 28352 0 R/Subtype/Link/Rect[232 360 249 369]/Border[0 0 0]/H/N>> -endobj - -17060 0 obj -<>/P 10158 0 R/Type/Annot/A 42769 0 R/Subtype/Link/Rect[249 360 263 368]/Border[0 0 0]/H/N>> -endobj - -17061 0 obj -<>/P 10158 0 R/Type/Annot/A 42742 0 R/Subtype/Link/Rect[265 360 279 368]/Border[0 0 0]/H/N>> -endobj - -17062 0 obj -<>/P 10158 0 R/Type/Annot/A 27545 0 R/Subtype/Link/Rect[281 360 295 368]/Border[0 0 0]/H/N>> -endobj - -17063 0 obj -<>/P 10158 0 R/Type/Annot/A 42672 0 R/Subtype/Link/Rect[297 360 311 368]/Border[0 0 0]/H/N>> -endobj - -17064 0 obj -<>/P 10158 0 R/Type/Annot/A 42630 0 R/Subtype/Link/Rect[151 350 165 358]/Border[0 0 0]/H/N>> -endobj - -17065 0 obj -<>/P 10158 0 R/Type/Annot/A 42589 0 R/Subtype/Link/Rect[167 350 181 358]/Border[0 0 0]/H/N>> -endobj - -17066 0 obj -<>/P 10158 0 R/Type/Annot/A 42561 0 R/Subtype/Link/Rect[183 350 197 358]/Border[0 0 0]/H/N>> -endobj - -17067 0 obj -<>/P 10158 0 R/Type/Annot/A 42527 0 R/Subtype/Link/Rect[199 350 216 359]/Border[0 0 0]/H/N>> -endobj - -17068 0 obj -<>/P 10158 0 R/Type/Annot/A 42485 0 R/Subtype/Link/Rect[217 350 231 358]/Border[0 0 0]/H/N>> -endobj - -17069 0 obj -<>/P 10158 0 R/Type/Annot/A 42436 0 R/Subtype/Link/Rect[233 350 247 358]/Border[0 0 0]/H/N>> -endobj - -17070 0 obj -<>/P 10158 0 R/Type/Annot/A 42391 0 R/Subtype/Link/Rect[249 350 263 358]/Border[0 0 0]/H/N>> -endobj - -17071 0 obj -<>/P 10158 0 R/Type/Annot/A 18044 0 R/Subtype/Link/Rect[265 350 279 358]/Border[0 0 0]/H/N>> -endobj - -17072 0 obj -<>/P 10158 0 R/Type/Annot/A 38227 0 R/Subtype/Link/Rect[281 350 295 358]/Border[0 0 0]/H/N>> -endobj - -17073 0 obj -<>/P 10158 0 R/Type/Annot/A 42288 0 R/Subtype/Link/Rect[151 340 168 349]/Border[0 0 0]/H/N>> -endobj - -17074 0 obj -<>/P 10158 0 R/Type/Annot/A 42244 0 R/Subtype/Link/Rect[169 340 183 348]/Border[0 0 0]/H/N>> -endobj - -17075 0 obj -<>/P 10158 0 R/Type/Annot/A 23441 0 R/Subtype/Link/Rect[185 340 199 348]/Border[0 0 0]/H/N>> -endobj - -17076 0 obj -<>/P 10158 0 R/Type/Annot/A 42161 0 R/Subtype/Link/Rect[201 340 213 348]/Border[0 0 0]/H/N>> -endobj - -17077 0 obj -<>/P 10158 0 R/Type/Annot/A 42123 0 R/Subtype/Link/Rect[167 330 177 338]/Border[0 0 0]/H/N>> -endobj - -17078 0 obj -<>/P 10158 0 R/Type/Annot/A 42070 0 R/Subtype/Link/Rect[179 330 189 339]/Border[0 0 0]/H/N>> -endobj - -17079 0 obj -<>/P 10158 0 R/Type/Annot/A 22051 0 R/Subtype/Link/Rect[191 330 208 339]/Border[0 0 0]/H/N>> -endobj - -17080 0 obj -<>/P 10158 0 R/Type/Annot/A 41994 0 R/Subtype/Link/Rect[208 330 222 339]/Border[0 0 0]/H/N>> -endobj - -17081 0 obj -<>/P 10158 0 R/Type/Annot/A 21438 0 R/Subtype/Link/Rect[224 330 238 339]/Border[0 0 0]/H/N>> -endobj - -17082 0 obj -<>/P 10158 0 R/Type/Annot/A 41921 0 R/Subtype/Link/Rect[240 330 252 338]/Border[0 0 0]/H/N>> -endobj - -17083 0 obj -<>/P 10158 0 R/Type/Annot/A 41881 0 R/Subtype/Link/Rect[212 320 226 329]/Border[0 0 0]/H/N>> -endobj - -17084 0 obj -<>/P 10158 0 R/Type/Annot/A 41834 0 R/Subtype/Link/Rect[228 320 240 329]/Border[0 0 0]/H/N>> -endobj - -17085 0 obj -<>/P 10158 0 R/Type/Annot/A 41776 0 R/Subtype/Link/Rect[198 310 212 319]/Border[0 0 0]/H/N>> -endobj - -17086 0 obj -<>/P 10158 0 R/Type/Annot/A 41717 0 R/Subtype/Link/Rect[214 310 226 319]/Border[0 0 0]/H/N>> -endobj - -17087 0 obj -<>/P 10158 0 R/Type/Annot/A 37629 0 R/Subtype/Link/Rect[202 300 219 309]/Border[0 0 0]/H/N>> -endobj - -17088 0 obj -<>/P 10158 0 R/Type/Annot/A 41637 0 R/Subtype/Link/Rect[220 300 234 309]/Border[0 0 0]/H/N>> -endobj - -17089 0 obj -<>/P 10158 0 R/Type/Annot/A 41587 0 R/Subtype/Link/Rect[236 300 250 309]/Border[0 0 0]/H/N>> -endobj - -17090 0 obj -<>/P 10158 0 R/Type/Annot/A 41554 0 R/Subtype/Link/Rect[252 300 266 309]/Border[0 0 0]/H/N>> -endobj - -17091 0 obj -<>/P 10158 0 R/Type/Annot/A 41505 0 R/Subtype/Link/Rect[268 300 282 309]/Border[0 0 0]/H/N>> -endobj - -17092 0 obj -<>/P 10158 0 R/Type/Annot/A 37935 0 R/Subtype/Link/Rect[284 300 298 309]/Border[0 0 0]/H/N>> -endobj - -17093 0 obj -<>/P 10158 0 R/Type/Annot/A 41432 0 R/Subtype/Link/Rect[151 290 165 299]/Border[0 0 0]/H/N>> -endobj - -17094 0 obj -<>/P 10158 0 R/Type/Annot/A 41411 0 R/Subtype/Link/Rect[167 290 181 299]/Border[0 0 0]/H/N>> -endobj - -17095 0 obj -<>/P 10158 0 R/Type/Annot/A 41343 0 R/Subtype/Link/Rect[183 290 195 299]/Border[0 0 0]/H/N>> -endobj - -17096 0 obj -<>/P 10158 0 R/Type/Annot/A 41311 0 R/Subtype/Link/Rect[190 280 202 289]/Border[0 0 0]/H/N>> -endobj - -17097 0 obj -<>/P 10158 0 R/Type/Annot/A 41281 0 R/Subtype/Link/Rect[231 270 239 279]/Border[0 0 0]/H/N>> -endobj - -17098 0 obj -<>/P 10158 0 R/Type/Annot/A 41253 0 R/Subtype/Link/Rect[159 250 171 259]/Border[0 0 0]/H/N>> -endobj - -17099 0 obj -<>/P 10158 0 R/Type/Annot/A 41201 0 R/Subtype/Link/Rect[203 240 220 249]/Border[0 0 0]/H/N>> -endobj - -17100 0 obj -<>/P 10158 0 R/Type/Annot/A 41182 0 R/Subtype/Link/Rect[221 240 235 249]/Border[0 0 0]/H/N>> -endobj - -17101 0 obj -<>/P 10158 0 R/Type/Annot/A 41157 0 R/Subtype/Link/Rect[237 240 251 249]/Border[0 0 0]/H/N>> -endobj - -17102 0 obj -<>/P 10158 0 R/Type/Annot/A 41124 0 R/Subtype/Link/Rect[253 240 265 249]/Border[0 0 0]/H/N>> -endobj - -17103 0 obj -<>/P 10158 0 R/Type/Annot/A 41094 0 R/Subtype/Link/Rect[211 230 223 239]/Border[0 0 0]/H/N>> -endobj - -17104 0 obj -<>/P 10158 0 R/Type/Annot/A 37584 0 R/Subtype/Link/Rect[207 220 219 229]/Border[0 0 0]/H/N>> -endobj - -17105 0 obj -<>/P 10158 0 R/Type/Annot/A 40740 0 R/Subtype/Link/Rect[190 210 204 219]/Border[0 0 0]/H/N>> -endobj - -17106 0 obj -<>/P 10158 0 R/Type/Annot/A 18545 0 R/Subtype/Link/Rect[206 210 218 219]/Border[0 0 0]/H/N>> -endobj - -17107 0 obj -<>/P 10158 0 R/Type/Annot/A 37581 0 R/Subtype/Link/Rect[175 190 192 199]/Border[0 0 0]/H/N>> -endobj - -17108 0 obj -<>/P 10158 0 R/Type/Annot/A 40108 0 R/Subtype/Link/Rect[193 190 207 199]/Border[0 0 0]/H/N>> -endobj - -17109 0 obj -<>/P 10158 0 R/Type/Annot/A 40075 0 R/Subtype/Link/Rect[209 190 223 199]/Border[0 0 0]/H/N>> -endobj - -17110 0 obj -<>/P 10158 0 R/Type/Annot/A 39522 0 R/Subtype/Link/Rect[225 190 239 199]/Border[0 0 0]/H/N>> -endobj - -17111 0 obj -<>/P 10158 0 R/Type/Annot/A 37571 0 R/Subtype/Link/Rect[241 190 255 199]/Border[0 0 0]/H/N>> -endobj - -17112 0 obj -<>/P 10158 0 R/Type/Annot/A 37568 0 R/Subtype/Link/Rect[257 190 269 199]/Border[0 0 0]/H/N>> -endobj - -17113 0 obj -<>/P 10158 0 R/Type/Annot/A 37559 0 R/Subtype/Link/Rect[175 180 189 189]/Border[0 0 0]/H/N>> -endobj - -17114 0 obj -<>/P 10158 0 R/Type/Annot/A 38383 0 R/Subtype/Link/Rect[191 180 208 189]/Border[0 0 0]/H/N>> -endobj - -17115 0 obj -<>/P 10158 0 R/Type/Annot/A 38339 0 R/Subtype/Link/Rect[209 180 221 189]/Border[0 0 0]/H/N>> -endobj - -17116 0 obj -<>/P 10158 0 R/Type/Annot/A 18048 0 R/Subtype/Link/Rect[177 170 190 179]/Border[0 0 0]/H/N>> -endobj - -17117 0 obj -<>/P 10158 0 R/Type/Annot/A 38271 0 R/Subtype/Link/Rect[191 170 201 179]/Border[0 0 0]/H/N>> -endobj - -17118 0 obj -<>/P 10158 0 R/Type/Annot/A 17998 0 R/Subtype/Link/Rect[203 170 215 179]/Border[0 0 0]/H/N>> -endobj - -17119 0 obj -<>/P 10158 0 R/Type/Annot/A 36787 0 R/Subtype/Link/Rect[447 670 461 678]/Border[0 0 0]/H/N>> -endobj - -17120 0 obj -<>/P 10158 0 R/Type/Annot/A 36759 0 R/Subtype/Link/Rect[463 670 477 678]/Border[0 0 0]/H/N>> -endobj - -17121 0 obj -<>/P 10158 0 R/Type/Annot/A 17931 0 R/Subtype/Link/Rect[479 670 491 678]/Border[0 0 0]/H/N>> -endobj - -17122 0 obj -<>/P 10158 0 R/Type/Annot/A 17904 0 R/Subtype/Link/Rect[402 660 416 668]/Border[0 0 0]/H/N>> -endobj - -17123 0 obj -<>/P 10158 0 R/Type/Annot/A 35883 0 R/Subtype/Link/Rect[418 660 432 668]/Border[0 0 0]/H/N>> -endobj - -17124 0 obj -<>/P 10158 0 R/Type/Annot/A 35845 0 R/Subtype/Link/Rect[434 660 451 669]/Border[0 0 0]/H/N>> -endobj - -17125 0 obj -<>/P 10158 0 R/Type/Annot/A 17769 0 R/Subtype/Link/Rect[452 660 466 668]/Border[0 0 0]/H/N>> -endobj - -17126 0 obj -<>/P 10158 0 R/Type/Annot/A 35039 0 R/Subtype/Link/Rect[468 660 482 668]/Border[0 0 0]/H/N>> -endobj - -17127 0 obj -<>/P 10158 0 R/Type/Annot/A 34250 0 R/Subtype/Link/Rect[484 660 498 668]/Border[0 0 0]/H/N>> -endobj - -17128 0 obj -<>/P 10158 0 R/Type/Annot/A 34219 0 R/Subtype/Link/Rect[500 660 514 668]/Border[0 0 0]/H/N>> -endobj - -17129 0 obj -<>/P 10158 0 R/Type/Annot/A 17550 0 R/Subtype/Link/Rect[359 650 373 658]/Border[0 0 0]/H/N>> -endobj - -17130 0 obj -<>/P 10158 0 R/Type/Annot/A 33623 0 R/Subtype/Link/Rect[375 650 392 659]/Border[0 0 0]/H/N>> -endobj - -17131 0 obj -<>/P 10158 0 R/Type/Annot/A 33108 0 R/Subtype/Link/Rect[393 650 405 658]/Border[0 0 0]/H/N>> -endobj - -17132 0 obj -<>/P 10158 0 R/Type/Annot/A 33059 0 R/Subtype/Link/Rect[383 640 395 648]/Border[0 0 0]/H/N>> -endobj - -17133 0 obj -<>/P 10158 0 R/Type/Annot/A 33035 0 R/Subtype/Link/Rect[364 630 368 638]/Border[0 0 0]/H/N>> -endobj - -17134 0 obj -<>/P 10158 0 R/Type/Annot/A 32536 0 R/Subtype/Link/Rect[410 620 422 628]/Border[0 0 0]/H/N>> -endobj - -17135 0 obj -<>/P 10158 0 R/Type/Annot/A 32509 0 R/Subtype/Link/Rect[401 610 415 618]/Border[0 0 0]/H/N>> -endobj - -17136 0 obj -<>/P 10158 0 R/Type/Annot/A 17343 0 R/Subtype/Link/Rect[417 610 433 619]/Border[0 0 0]/H/N>> -endobj - -17137 0 obj -<>/P 10158 0 R/Type/Annot/A 31775 0 R/Subtype/Link/Rect[434 610 446 618]/Border[0 0 0]/H/N>> -endobj - -17138 0 obj -<>/P 10158 0 R/Type/Annot/A 31077 0 R/Subtype/Link/Rect[398 600 410 608]/Border[0 0 0]/H/N>> -endobj - -17139 0 obj -<>/P 10158 0 R/Type/Annot/A 17304 0 R/Subtype/Link/Rect[418 590 430 598]/Border[0 0 0]/H/N>> -endobj - -17140 0 obj -<>/P 10158 0 R/Type/Annot/A 17302 0 R/Subtype/Link/Rect[405 580 419 588]/Border[0 0 0]/H/N>> -endobj - -17141 0 obj -<>/P 10158 0 R/Type/Annot/A 30265 0 R/Subtype/Link/Rect[421 580 435 588]/Border[0 0 0]/H/N>> -endobj - -17142 0 obj -<>/P 10158 0 R/Type/Annot/A 17299 0 R/Subtype/Link/Rect[437 580 454 589]/Border[0 0 0]/H/N>> -endobj - -17143 0 obj -<>/P 10158 0 R/Type/Annot/A 17297 0 R/Subtype/Link/Rect[455 580 467 588]/Border[0 0 0]/H/N>> -endobj - -17144 0 obj -<>/P 10158 0 R/Type/Annot/A 30139 0 R/Subtype/Link/Rect[398 570 410 578]/Border[0 0 0]/H/N>> -endobj - -17145 0 obj -<>/P 10158 0 R/Type/Annot/A 30100 0 R/Subtype/Link/Rect[401 560 413 568]/Border[0 0 0]/H/N>> -endobj - -17146 0 obj -<>/P 10158 0 R/Type/Annot/A 17292 0 R/Subtype/Link/Rect[398 550 410 558]/Border[0 0 0]/H/N>> -endobj - -17147 0 obj -<>/P 10158 0 R/Type/Annot/A 17289 0 R/Subtype/Link/Rect[405 540 422 549]/Border[0 0 0]/H/N>> -endobj - -17148 0 obj -<>/P 10158 0 R/Type/Annot/A 17286 0 R/Subtype/Link/Rect[423 540 437 548]/Border[0 0 0]/H/N>> -endobj - -17149 0 obj -<>/P 10158 0 R/Type/Annot/A 29238 0 R/Subtype/Link/Rect[439 540 453 548]/Border[0 0 0]/H/N>> -endobj - -17150 0 obj -<>/P 10158 0 R/Type/Annot/A 29186 0 R/Subtype/Link/Rect[455 540 467 548]/Border[0 0 0]/H/N>> -endobj - -17151 0 obj -<>/P 10158 0 R/Type/Annot/A 29150 0 R/Subtype/Link/Rect[398 530 410 538]/Border[0 0 0]/H/N>> -endobj - -17152 0 obj -<>/P 10158 0 R/Type/Annot/A 17276 0 R/Subtype/Link/Rect[417 520 434 529]/Border[0 0 0]/H/N>> -endobj - -17153 0 obj -<>/P 10158 0 R/Type/Annot/A 17273 0 R/Subtype/Link/Rect[434 520 446 528]/Border[0 0 0]/H/N>> -endobj - -17154 0 obj -<>/P 10158 0 R/Type/Annot/A 28557 0 R/Subtype/Link/Rect[406 510 418 518]/Border[0 0 0]/H/N>> -endobj - -17155 0 obj -<>/P 10158 0 R/Type/Annot/A 17268 0 R/Subtype/Link/Rect[415 500 427 508]/Border[0 0 0]/H/N>> -endobj - -17156 0 obj -<>/P 10158 0 R/Type/Annot/A 28493 0 R/Subtype/Link/Rect[425 490 437 498]/Border[0 0 0]/H/N>> -endobj - -17157 0 obj -<>/P 10158 0 R/Type/Annot/A 28447 0 R/Subtype/Link/Rect[410 480 422 488]/Border[0 0 0]/H/N>> -endobj - -17158 0 obj -<>/P 10158 0 R/Type/Annot/A 28407 0 R/Subtype/Link/Rect[415 470 423 478]/Border[0 0 0]/H/N>> -endobj - -17159 0 obj -<>/P 10158 0 R/Type/Annot/A 28362 0 R/Subtype/Link/Rect[415 460 423 468]/Border[0 0 0]/H/N>> -endobj - -17160 0 obj -<>/P 10158 0 R/Type/Annot/A 27622 0 R/Subtype/Link/Rect[415 450 429 458]/Border[0 0 0]/H/N>> -endobj - -17161 0 obj -<>/P 10158 0 R/Type/Annot/A 37767 0 R/Subtype/Link/Rect[431 450 448 459]/Border[0 0 0]/H/N>> -endobj - -17162 0 obj -<>/P 10158 0 R/Type/Annot/A 27558 0 R/Subtype/Link/Rect[448 450 462 458]/Border[0 0 0]/H/N>> -endobj - -17163 0 obj -<>/P 10158 0 R/Type/Annot/A 37738 0 R/Subtype/Link/Rect[464 450 476 458]/Border[0 0 0]/H/N>> -endobj - -17164 0 obj -<>/P 10158 0 R/Type/Annot/A 37733 0 R/Subtype/Link/Rect[398 440 410 448]/Border[0 0 0]/H/N>> -endobj - -17165 0 obj -<>/P 10158 0 R/Type/Annot/A 37726 0 R/Subtype/Link/Rect[410 430 422 438]/Border[0 0 0]/H/N>> -endobj - -17166 0 obj -<>/P 10158 0 R/Type/Annot/A 37720 0 R/Subtype/Link/Rect[420 420 432 428]/Border[0 0 0]/H/N>> -endobj - -17167 0 obj -<>/P 10158 0 R/Type/Annot/A 25937 0 R/Subtype/Link/Rect[410 410 422 418]/Border[0 0 0]/H/N>> -endobj - -17168 0 obj -<>/P 10158 0 R/Type/Annot/A 25897 0 R/Subtype/Link/Rect[425 400 437 408]/Border[0 0 0]/H/N>> -endobj - -17169 0 obj -<>/P 10158 0 R/Type/Annot/A 25864 0 R/Subtype/Link/Rect[410 390 422 398]/Border[0 0 0]/H/N>> -endobj - -17170 0 obj -<>/P 10158 0 R/Type/Annot/A 25823 0 R/Subtype/Link/Rect[410 380 422 388]/Border[0 0 0]/H/N>> -endobj - -17171 0 obj -<>/P 10158 0 R/Type/Annot/A 25004 0 R/Subtype/Link/Rect[410 370 422 378]/Border[0 0 0]/H/N>> -endobj - -17172 0 obj -<>/P 10158 0 R/Type/Annot/A 24967 0 R/Subtype/Link/Rect[410 360 422 368]/Border[0 0 0]/H/N>> -endobj - -17173 0 obj -<>/P 10158 0 R/Type/Annot/A 24904 0 R/Subtype/Link/Rect[410 350 424 358]/Border[0 0 0]/H/N>> -endobj - -17174 0 obj -<>/P 10158 0 R/Type/Annot/A 37665 0 R/Subtype/Link/Rect[426 350 438 358]/Border[0 0 0]/H/N>> -endobj - -17175 0 obj -<>/P 10158 0 R/Type/Annot/A 24233 0 R/Subtype/Link/Rect[406 340 414 348]/Border[0 0 0]/H/N>> -endobj - -17176 0 obj -<>/P 10158 0 R/Type/Annot/A 17522 0 R/Subtype/Link/Rect[410 330 422 339]/Border[0 0 0]/H/N>> -endobj - -17177 0 obj -<>/P 10158 0 R/Type/Annot/A 37657 0 R/Subtype/Link/Rect[415 320 429 329]/Border[0 0 0]/H/N>> -endobj - -17178 0 obj -<>/P 10158 0 R/Type/Annot/A 22657 0 R/Subtype/Link/Rect[431 320 443 329]/Border[0 0 0]/H/N>> -endobj - -17179 0 obj -<>/P 10158 0 R/Type/Annot/A 33061 0 R/Subtype/Link/Rect[410 310 427 319]/Border[0 0 0]/H/N>> -endobj - -17180 0 obj -<>/P 10158 0 R/Type/Annot/A 22049 0 R/Subtype/Link/Rect[427 310 439 319]/Border[0 0 0]/H/N>> -endobj - -17181 0 obj -<>/P 10158 0 R/Type/Annot/A 22000 0 R/Subtype/Link/Rect[398 300 410 309]/Border[0 0 0]/H/N>> -endobj - -17182 0 obj -<>/P 10158 0 R/Type/Annot/A 21437 0 R/Subtype/Link/Rect[430 290 442 299]/Border[0 0 0]/H/N>> -endobj - -17183 0 obj -<>/P 10158 0 R/Type/Annot/A 21403 0 R/Subtype/Link/Rect[402 280 416 289]/Border[0 0 0]/H/N>> -endobj - -17184 0 obj -<>/P 10158 0 R/Type/Annot/A 21345 0 R/Subtype/Link/Rect[418 280 434 289]/Border[0 0 0]/H/N>> -endobj - -17185 0 obj -<>/P 10158 0 R/Type/Annot/A 21003 0 R/Subtype/Link/Rect[435 280 449 289]/Border[0 0 0]/H/N>> -endobj - -17186 0 obj -<>/P 10158 0 R/Type/Annot/A 20539 0 R/Subtype/Link/Rect[451 280 465 289]/Border[0 0 0]/H/N>> -endobj - -17187 0 obj -<>/P 10158 0 R/Type/Annot/A 20117 0 R/Subtype/Link/Rect[467 280 481 289]/Border[0 0 0]/H/N>> -endobj - -17188 0 obj -<>/P 10158 0 R/Type/Annot/A 20089 0 R/Subtype/Link/Rect[483 280 500 289]/Border[0 0 0]/H/N>> -endobj - -17189 0 obj -<>/P 10158 0 R/Type/Annot/A 19675 0 R/Subtype/Link/Rect[500 280 514 289]/Border[0 0 0]/H/N>> -endobj - -17190 0 obj -<>/P 10158 0 R/Type/Annot/A 19641 0 R/Subtype/Link/Rect[359 270 376 279]/Border[0 0 0]/H/N>> -endobj - -17191 0 obj -<>/P 10158 0 R/Type/Annot/A 19094 0 R/Subtype/Link/Rect[377 270 391 279]/Border[0 0 0]/H/N>> -endobj - -17192 0 obj -<>/P 10158 0 R/Type/Annot/A 19054 0 R/Subtype/Link/Rect[393 270 407 279]/Border[0 0 0]/H/N>> -endobj - -17193 0 obj -<>/P 10158 0 R/Type/Annot/A 37614 0 R/Subtype/Link/Rect[409 270 421 279]/Border[0 0 0]/H/N>> -endobj - -17194 0 obj -<>/P 10158 0 R/Type/Annot/A 18968 0 R/Subtype/Link/Rect[420 260 430 269]/Border[0 0 0]/H/N>> -endobj - -17195 0 obj -<>/P 10158 0 R/Type/Annot/A 18951 0 R/Subtype/Link/Rect[432 260 446 269]/Border[0 0 0]/H/N>> -endobj - -17196 0 obj -<>/P 10158 0 R/Type/Annot/A 18899 0 R/Subtype/Link/Rect[448 260 462 269]/Border[0 0 0]/H/N>> -endobj - -17197 0 obj -<>/P 10158 0 R/Type/Annot/A 37609 0 R/Subtype/Link/Rect[464 260 480 269]/Border[0 0 0]/H/N>> -endobj - -17198 0 obj -<>/P 10158 0 R/Type/Annot/A 37606 0 R/Subtype/Link/Rect[481 260 495 269]/Border[0 0 0]/H/N>> -endobj - -17199 0 obj -<>/P 10158 0 R/Type/Annot/A 18810 0 R/Subtype/Link/Rect[497 260 511 269]/Border[0 0 0]/H/N>> -endobj - -17200 0 obj -<>/P 10158 0 R/Type/Annot/A 18771 0 R/Subtype/Link/Rect[359 250 376 259]/Border[0 0 0]/H/N>> -endobj - -17201 0 obj -<>/P 10158 0 R/Type/Annot/A 37604 0 R/Subtype/Link/Rect[377 250 391 259]/Border[0 0 0]/H/N>> -endobj - -17202 0 obj -<>/P 10158 0 R/Type/Annot/A 37603 0 R/Subtype/Link/Rect[393 250 409 259]/Border[0 0 0]/H/N>> -endobj - -17203 0 obj -<>/P 10158 0 R/Type/Annot/A 18158 0 R/Subtype/Link/Rect[410 250 424 259]/Border[0 0 0]/H/N>> -endobj - -17204 0 obj -<>/P 10158 0 R/Type/Annot/A 18646 0 R/Subtype/Link/Rect[426 250 440 259]/Border[0 0 0]/H/N>> -endobj - -17205 0 obj -<>/P 10158 0 R/Type/Annot/A 18628 0 R/Subtype/Link/Rect[442 250 456 259]/Border[0 0 0]/H/N>> -endobj - -17206 0 obj -<>/P 10158 0 R/Type/Annot/A 18595 0 R/Subtype/Link/Rect[458 250 472 259]/Border[0 0 0]/H/N>> -endobj - -17207 0 obj -<>/P 10158 0 R/Type/Annot/A 37582 0 R/Subtype/Link/Rect[474 250 488 259]/Border[0 0 0]/H/N>> -endobj - -17208 0 obj -<>/P 10158 0 R/Type/Annot/A 18537 0 R/Subtype/Link/Rect[490 250 504 259]/Border[0 0 0]/H/N>> -endobj - -17209 0 obj -<>/P 10158 0 R/Type/Annot/A 18488 0 R/Subtype/Link/Rect[359 240 373 249]/Border[0 0 0]/H/N>> -endobj - -17210 0 obj -<>/P 10158 0 R/Type/Annot/A 18460 0 R/Subtype/Link/Rect[375 240 389 249]/Border[0 0 0]/H/N>> -endobj - -17211 0 obj -<>/P 10158 0 R/Type/Annot/A 42745 0 R/Subtype/Link/Rect[391 240 408 249]/Border[0 0 0]/H/N>> -endobj - -17212 0 obj -<>/P 10158 0 R/Type/Annot/A 18405 0 R/Subtype/Link/Rect[409 240 423 249]/Border[0 0 0]/H/N>> -endobj - -17213 0 obj -<>/P 10158 0 R/Type/Annot/A 18332 0 R/Subtype/Link/Rect[425 240 439 249]/Border[0 0 0]/H/N>> -endobj - -17214 0 obj -<>/P 10158 0 R/Type/Annot/A 18295 0 R/Subtype/Link/Rect[441 240 455 249]/Border[0 0 0]/H/N>> -endobj - -17215 0 obj -<>/P 10158 0 R/Type/Annot/A 25820 0 R/Subtype/Link/Rect[457 240 471 249]/Border[0 0 0]/H/N>> -endobj - -17216 0 obj -<>/P 10158 0 R/Type/Annot/A 18192 0 R/Subtype/Link/Rect[473 240 485 249]/Border[0 0 0]/H/N>> -endobj - -17217 0 obj -<>/P 10158 0 R/Type/Annot/A 18151 0 R/Subtype/Link/Rect[398 230 410 239]/Border[0 0 0]/H/N>> -endobj - -17218 0 obj -<>/P 10158 0 R/Type/Annot/A 37542 0 R/Subtype/Link/Rect[422 220 436 229]/Border[0 0 0]/H/N>> -endobj - -17219 0 obj -<>/P 10158 0 R/Type/Annot/A 18029 0 R/Subtype/Link/Rect[438 220 455 229]/Border[0 0 0]/H/N>> -endobj - -17220 0 obj -<>/P 10158 0 R/Type/Annot/A 18000 0 R/Subtype/Link/Rect[455 220 469 229]/Border[0 0 0]/H/N>> -endobj - -17221 0 obj -<>/P 10158 0 R/Type/Annot/A 17980 0 R/Subtype/Link/Rect[471 220 485 229]/Border[0 0 0]/H/N>> -endobj - -17222 0 obj -<>/P 10158 0 R/Type/Annot/A 17955 0 R/Subtype/Link/Rect[487 220 501 229]/Border[0 0 0]/H/N>> -endobj - -17223 0 obj -<>/P 10158 0 R/Type/Annot/A 37522 0 R/Subtype/Link/Rect[503 220 517 229]/Border[0 0 0]/H/N>> -endobj - -17224 0 obj -<>/P 10158 0 R/Type/Annot/A 17906 0 R/Subtype/Link/Rect[359 210 373 219]/Border[0 0 0]/H/N>> -endobj - -17225 0 obj -<>/P 10158 0 R/Type/Annot/A 17835 0 R/Subtype/Link/Rect[375 210 389 219]/Border[0 0 0]/H/N>> -endobj - -17226 0 obj -<>/P 10158 0 R/Type/Annot/A 17813 0 R/Subtype/Link/Rect[391 210 405 219]/Border[0 0 0]/H/N>> -endobj - -17227 0 obj -<>/P 10158 0 R/Type/Annot/A 17785 0 R/Subtype/Link/Rect[407 210 421 219]/Border[0 0 0]/H/N>> -endobj - -17228 0 obj -<>/P 10158 0 R/Type/Annot/A 37498 0 R/Subtype/Link/Rect[423 210 437 219]/Border[0 0 0]/H/N>> -endobj - -17229 0 obj -<>/P 10158 0 R/Type/Annot/A 37496 0 R/Subtype/Link/Rect[439 210 453 219]/Border[0 0 0]/H/N>> -endobj - -17230 0 obj -<>/P 10158 0 R/Type/Annot/A 17582 0 R/Subtype/Link/Rect[455 210 467 219]/Border[0 0 0]/H/N>> -endobj - -17231 0 obj -<>/P 10158 0 R/Type/Annot/A 30168 0 R/Subtype/Link/Rect[420 200 434 209]/Border[0 0 0]/H/N>> -endobj - -17232 0 obj -<>/P 10158 0 R/Type/Annot/A 41900 0 R/Subtype/Link/Rect[436 200 452 209]/Border[0 0 0]/H/N>> -endobj - -17233 0 obj -<>/P 10158 0 R/Type/Annot/A 17518 0 R/Subtype/Link/Rect[453 200 467 209]/Border[0 0 0]/H/N>> -endobj - -17234 0 obj -<>/P 10158 0 R/Type/Annot/A 17493 0 R/Subtype/Link/Rect[469 200 483 209]/Border[0 0 0]/H/N>> -endobj - -17235 0 obj -<>/P 10158 0 R/Type/Annot/A 19079 0 R/Subtype/Link/Rect[485 200 499 209]/Border[0 0 0]/H/N>> -endobj - -17236 0 obj -<>/P 10158 0 R/Type/Annot/A 17425 0 R/Subtype/Link/Rect[359 190 376 199]/Border[0 0 0]/H/N>> -endobj - -17237 0 obj -<>/P 10158 0 R/Type/Annot/A 17397 0 R/Subtype/Link/Rect[377 190 391 199]/Border[0 0 0]/H/N>> -endobj - -17238 0 obj -<>/P 10158 0 R/Type/Annot/A 17377 0 R/Subtype/Link/Rect[393 190 407 199]/Border[0 0 0]/H/N>> -endobj - -17239 0 obj -<>/P 10158 0 R/Type/Annot/A 37471 0 R/Subtype/Link/Rect[409 190 423 199]/Border[0 0 0]/H/N>> -endobj - -17240 0 obj -<>/P 10158 0 R/Type/Annot/A 17316 0 R/Subtype/Link/Rect[425 190 439 199]/Border[0 0 0]/H/N>> -endobj - -17241 0 obj -<>/P 10158 0 R/Type/Annot/A 17307 0 R/Subtype/Link/Rect[441 190 455 199]/Border[0 0 0]/H/N>> -endobj - -17242 0 obj -<>/P 10158 0 R/Type/Annot/A 17303 0 R/Subtype/Link/Rect[457 190 473 199]/Border[0 0 0]/H/N>> -endobj - -17243 0 obj -<>/P 10158 0 R/Type/Annot/A 17301 0 R/Subtype/Link/Rect[474 190 488 199]/Border[0 0 0]/H/N>> -endobj - -17244 0 obj -<>/P 10158 0 R/Type/Annot/A 17300 0 R/Subtype/Link/Rect[490 190 504 199]/Border[0 0 0]/H/N>> -endobj - -17245 0 obj -<>/P 10158 0 R/Type/Annot/A 17298 0 R/Subtype/Link/Rect[359 180 373 189]/Border[0 0 0]/H/N>> -endobj - -17246 0 obj -<>/P 10158 0 R/Type/Annot/A 17296 0 R/Subtype/Link/Rect[375 180 387 189]/Border[0 0 0]/H/N>> -endobj - -17247 0 obj -<>/P 10158 0 R/Type/Annot/A 17295 0 R/Subtype/Link/Rect[398 170 415 179]/Border[0 0 0]/H/N>> -endobj - -17248 0 obj -<>/P 10158 0 R/Type/Annot/A 17293 0 R/Subtype/Link/Rect[415 170 427 179]/Border[0 0 0]/H/N>> -endobj - -17249 0 obj -<>/P 10158 0 R/Type/Annot/A 17291 0 R/Subtype/Link/Rect[402 160 418 169]/Border[0 0 0]/H/N>> -endobj - -17250 0 obj -<>/P 10158 0 R/Type/Annot/A 37450 0 R/Subtype/Link/Rect[419 160 433 169]/Border[0 0 0]/H/N>> -endobj - -17251 0 obj -<>/P 10158 0 R/Type/Annot/A 17287 0 R/Subtype/Link/Rect[435 160 449 169]/Border[0 0 0]/H/N>> -endobj - -17252 0 obj -<>/P 10158 0 R/Type/Annot/A 17284 0 R/Subtype/Link/Rect[451 160 468 169]/Border[0 0 0]/H/N>> -endobj - -17253 0 obj -<>/P 10158 0 R/Type/Annot/A 17282 0 R/Subtype/Link/Rect[468 160 482 169]/Border[0 0 0]/H/N>> -endobj - -17254 0 obj -<>/P 10158 0 R/Type/Annot/A 17280 0 R/Subtype/Link/Rect[484 160 501 169]/Border[0 0 0]/H/N>> -endobj - -17255 0 obj -<>/P 10158 0 R/Type/Annot/A 17278 0 R/Subtype/Link/Rect[502 160 516 169]/Border[0 0 0]/H/N>> -endobj - -17256 0 obj -<>/P 10158 0 R/Type/Annot/A 17275 0 R/Subtype/Link/Rect[359 150 376 159]/Border[0 0 0]/H/N>> -endobj - -17257 0 obj -<>/P 10158 0 R/Type/Annot/A 17272 0 R/Subtype/Link/Rect[377 150 391 159]/Border[0 0 0]/H/N>> -endobj - -17258 0 obj -<>/P 10158 0 R/Type/Annot/A 17270 0 R/Subtype/Link/Rect[393 150 407 159]/Border[0 0 0]/H/N>> -endobj - -17259 0 obj -<>/P 10158 0 R/Type/Annot/A 17267 0 R/Subtype/Link/Rect[409 150 423 159]/Border[0 0 0]/H/N>> -endobj - -17260 0 obj -<>/P 10158 0 R/Type/Annot/A 44807 0 R/Subtype/Link/Rect[425 150 441 159]/Border[0 0 0]/H/N>> -endobj - -17261 0 obj -<>/P 10158 0 R/Type/Annot/A 37540 0 R/Subtype/Link/Rect[442 150 456 159]/Border[0 0 0]/H/N>> -endobj - -17262 0 obj -<>/P 10158 0 R/Type/Annot/A 44733 0 R/Subtype/Link/Rect[458 150 475 159]/Border[0 0 0]/H/N>> -endobj - -17263 0 obj -<>/P 10158 0 R/Type/Annot/A 37531 0 R/Subtype/Link/Rect[475 150 489 159]/Border[0 0 0]/H/N>> -endobj - -17264 0 obj -<>/P 10158 0 R/Type/Annot/A 17951 0 R/Subtype/Link/Rect[359 140 376 149]/Border[0 0 0]/H/N>> -endobj - -17265 0 obj -<>/P 10158 0 R/Type/Annot/A 44648 0 R/Subtype/Link/Rect[377 140 391 149]/Border[0 0 0]/H/N>> -endobj - -17266 0 obj -<>/P 10158 0 R/Type/Annot/A 44592 0 R/Subtype/Link/Rect[393 140 405 149]/Border[0 0 0]/H/N>> -endobj - -17267 0 obj -<> -endobj - -17268 0 obj -<> -endobj - -17269 0 obj -<> -endobj - -17270 0 obj -<> -endobj - -17271 0 obj -<> -endobj - -17272 0 obj -<> -endobj - -17273 0 obj -<> -endobj - -17274 0 obj -<> -endobj - -17275 0 obj -<> -endobj - -17276 0 obj -<> -endobj - -17277 0 obj -<> -endobj - -17278 0 obj -<> -endobj - -17279 0 obj -<> -endobj - -17280 0 obj -<> -endobj - -17281 0 obj -<> -endobj - -17282 0 obj -<> -endobj - -17283 0 obj -<> -endobj - -17284 0 obj -<> -endobj - -17285 0 obj -<> -endobj - -17286 0 obj -<> -endobj - -17287 0 obj -<> -endobj - -17288 0 obj -<> -endobj - -17289 0 obj -<> -endobj - -17290 0 obj -<> -endobj - -17291 0 obj -<> -endobj - -17292 0 obj -<> -endobj - -17293 0 obj -<> -endobj - -17294 0 obj -<> -endobj - -17295 0 obj -<> -endobj - -17296 0 obj -<> -endobj - -17297 0 obj -<> -endobj - -17298 0 obj -<> -endobj - -17299 0 obj -<> -endobj - -17300 0 obj -<> -endobj - -17301 0 obj -<> -endobj - -17302 0 obj -<> -endobj - -17303 0 obj -<> -endobj - -17304 0 obj -<> -endobj - -17305 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17306 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17307 0 obj -<> -endobj - -17308 0 obj -<> -endobj - -17309 0 obj -<> -endobj - -17310 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17311 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17312 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17313 0 obj -<> -stream -HWێF}W#s X;qk0 ZHEr"RV[E65du$Y:}Nu4ᄏ?)o#eU_[rZdI*h#)UˡZݩnToũ~zž^ohE(DsLbDj;]+n^i',Q;ۨERdy|0y p&$4IUWkkmKs;gvp0Z+7+"綁DPR|w7)v"*Lh3MTd+1zbS&Q PJ(bCcPR!yjf뀽f뀽a؛a؛a؛eۀeۀcػcػcػ}ʰO)> g ,`1쳀}ư9> <`_0싀}4R[iFԆ=Q-!*dOm -SRj5ZjC>PfTKmbTKmbՌj Q @Q-Q-!aV36D1jF(FԆ(}ZͨŰTR[FԆ=Q-!*dOm -SRj ZjC>PaTKmbTKmb5j Q @Q-Q-!a06D1F(FԆ(}ZèŰTkR[YFԆ=Q-!*dOm -SRj-ZjC>PeTKmbTKmbj Q @Q-Q-!a26D1ZF(FԆ(}Z˨ŰTkR[9FԆ=Q-!*dOmZs-2-Rq\$EQX!bmכn>!Gs.vInEe4Qx8Mu42q*+;!nQdVHܔu7L]܍e|y7$ ."ߌq-RﺏǺl?L1[6I~6n~0pK-ל5E͖ v&t.RSǟa=1 7 -'e|$`#UyH!r. s@NI*ƒo\a@tz0b0a2s[N?xWO{uBVҪHQcʸ]聫p5PH.l(|L|D(9ec2&nҼPF"9Mzu9TUؖc5X< Pg=N7T.Qk~4f[y -z߿tL<án)~~ DVUn܎'D݁FsKP*sŔSmeXqKE+{FC]R0$fKʬyςLub _퀞 \\PXB,!F >u@JX'bnBM2xߖLUA۝@sI>m]Rp|KEOyU>>.UEpo. -jFifqxP~CHf`1Kk_1T5|{p5NTrO>[p9[`z8`.+ 20:S,`8̿) my)'5NP=L/U~?NdczvV;2d\gͬ-(nK5/]kOIiO8充Dr5@o hvRe-cJ׳Il Bèxb4Xkʡ<HkRw vO -w|S~2<7[O\CA\;E_*?s*a$vzС(Lc!S4ꡭUZ1R[KKNϚzU^X&T]6N X3L)9aYr%hG\/ $:̔6#|v1)xg2Ш -5[^fYzvsE՘]*݅Iq+ow]Oeps#5}<߰p>ޯ??; jtv͝i5N%azS#;i?Ş3E=c:t–YYG.SfĺlO߯YƵZ8(P8ѝpVi=~Tn>t5#Qx<-W(9t 2e@.4=Oi\g9-Ôߎ BQ tO\5*dT~ӷ޶a|ϯK -CK;q,08ָhۯGQr-.P"EQ? -ԉїi !&V5`e)c4G>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17315 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17316 0 obj -<> -endobj - -17317 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17318 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17319 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17320 0 obj -<> -stream -HW]۶}ׯ $ZEQf[ Ph AܵHrwF$e#6j/y7_}}-IK2LF` -a]瀳wo9ihj64{wnSP"1+Y s<.R&a\SU6oȳ"WI ')WSg}0>d$ؙ sv,(e& |2rL]LcJc\\8QQ)rsw}{{᱗{鱗{鱗{O>!'`zS}O >#g`ys} >'`_x }/ Ǿ${h]!j]|Pj]|Q>{(BQ{OPCS TE!`Vu}"{j]պ>D= -BQ{OPZׇ(ZA!`Vu}@u}ٻ>@u}ٻ>D]պ>D=JBQ{OPZׇ(ZI!`Vu}"TET+ պ>D=JBPj]j%Zׇ(ZIPCPC!gE!`6!TETu}"TETu}"{Mպ>@u}"{Mպ>D=&j]պ>D=&j]jBj]|Pj]|Q>2*2a1[!x _8>o(.֌3C0Xl{m6o vYAx e8Q[ONn݌rҲ\Gyz>C3Y҆,f0lʾ4a:üFxImqfkutk [K H_^!HX3AYr#$lz>Gͩ:x]N3 ksmcX0}kfYp#R8<圇h \RNuA;6湂g3,gCkƌgvɽI:zY,3ܒ34@XPw-7 -Z H =VѠ }u$ʤX(NCC3^C mrm&"LV&8jhW3  ; rs϶5 }yN4_=8/ix9Nƣ{]fQ,jlI C'89uR8s_yw<_wg"e^')(l+EH,"p1f#$[tϪ\L~y1n>qœSS@I)9ql:4uâpa42{,ى,zix,/Z7f4-:[e_rV48 - J(0:KqJ70C}*a FKK| nr^]OsNNۼfQ0ԧE a)Z`CSI5E p.ѻfNYԡA3fߌp2Jj< >[05/R+KwhhS>/cm1d2[5WK%M^޿'Rp4V>ʖùEGTuq{9 l* 36J'-?]'} -՚@9¿섑jo0 0̺unf[ᴓ(6t펥!P\wQvntGN#_o?9c:-. 8 Q7 FI` -`U: K[B 11 0Y걮=a!5QF7SAUy˕6_sH;2&GX ,7ֈhwyT4c$]޻0oi#Cۿts?x;% Sܨ*H9 (&G2/$8KtgtilڒHƦ4PO*qy -]D*O!"u;`ҳ=09" cLY ^i:WFdnn0Le4O?ٌ ʼMrmv-9v.8hXP1mKDu w䏰eI"y |weʣN(տHX3A#t' /QS Ni=^{(&f#ۤa#} 0rkY&Gr m~A7[& -sPٸ맑M%E#r9pxME唨pZT(Kp\^UVbHeW7O/Q^Ql7]v)[QjDOe7Idw kb,\u>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17322 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17323 0 obj -<> -endobj - -17324 0 obj -<> -endobj - -17325 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17326 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17327 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17328 0 obj -<> -stream -HWkoܶ_2`C/hq.Тh6H'd-VJwF" g}8Krs{Ώ|?ɐ>ϥg"L&")x1T] ՓzmWUU/{ov}>w/ 9Q^H[q 6hJ/x7mfTiۇ4NY:y ]oy!}9$1 e{t{/mNrr"l Yn8c.,[;cx'sG='sG G G G$KG$KG}L1>vDŽQG}BO)>uԧQSG}F>sQ2´6v8ZCƀEƐ媷1dm Xkm Yzǵp!P︖1`1drµ6,BZNƀEƐEw\ k9ZZCq-'\kc";km µ6,Wp!UocrkZCq \kc"\kc";km Yzǵpp!PV1d -µ6,µ6,BZAƐEw\+ѓkm YzZCƐ媷1`1dJµ6,BZIƀEƐEw\+ k%ZZCq$\kc";km Xkm Yzǵp!PV1dm Xkm YzC><~Vy׻;u g؍*1NbnL_eN#ꤋǕϓI~*!#_MAY4򋧶e{z{JW߇ -LM9|Ȓ_No*esS ,ɱ7I~hںnQx\d3B7z}"u{?ih;=v/=M9Tmqڣ8iPݙIT`dA -QP՚ѿ4i _6?L(xʅ9T| ,fbbVԵYvb[/ij`oV9n "KҢq$tD0X|'՜Ŋ{"_Mx ({SiĬ+gL"ՌMi=XhX-`uh('Y$PLqZXL^5">6:7 )y:ԽRAx1S0HFU;E"%bFHMhIÜ|3<9؟87&Wm-I y6X*B8 -C%v<  ЫAU͸ECej֓Ėz{7V)Œ8VZU5Lrℚ -`&7irYM{W/g}NV7eh)>?wj83M޽lIf!V -/j_`{Kb8T|a*LNsr(M5 n]&*-eaƳU ,K3l1M9.խ9bIloFֲnԌ\![!'OjBc^#xt[[R?Տ |R|4~*q,BCbP&̝2cr -,Cn*e Em)\0=̑Q9Qb_l$Il|Us'"0H6*&[$*8F9^P;C%V [ձ}敛e{8>vN8sPթ(WK#9w잾p9CMœF`I9&K25dZ_0;A㱩L-lrt*WU\u{'ncnb%"o<Ꮫ־=^Vm6 Px+짣UF1vDC3s4 [#淰_«eA -Px$c-R}gyBȬef\MGxhr|NX]-!3yP׎O*䄘k -/z#I|: K4Q´.Å(HO} X-/9~p~Se"Au%|JVyG?!h(U5)a38lL#qkWܝ#8`pBSf_6[H ϳ5 U!Q$NzXhld95a2~*Tj"f^{>6ܸw ef^3 娩Pu6 l9.YrLj ^$Y ^_*Q=TDo@% ~ٕaendstream -endobj - -17329 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17330 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17331 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17332 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17333 0 obj -<> -endobj - -17334 0 obj -<> -endobj - -17335 0 obj -<> -endobj - -17336 0 obj -<> -endobj - -17337 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17338 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17339 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17340 0 obj -<> -stream -HW]oܶ}ׯi~J"Ph(lq جe[ΐԮDA= o7^=gϊ it bUUe]!u!Yˊ4~mn١-.~P<]kI1WEśOVջf;}Ε+i=~}n¯^zf8[ұ%ΝZXK={bL -x^d%W<U îxW8b\q F -RRQ Q@ܥɧ6@)+kkk[[[ؗ2c_ˌ}E2W*c_}M3`2`iVMmBMm٧6@Mm٧6DSզ6D3*B QLPmjԆ(}ZE6!`VMm"TETզ6D3*B PjSjԆ(}ZE6 M6!*gE6!*gOm"TET զ6D3jB PjSj5Ԇ(}ZM6PmjC>S&TET զ6@Mm"gՄjSj5Զ/ Ԇ}jԆ}jCT>PmjC>S!TETkզ6@Mm"g5jSj (B QLPmjC>S!TE6!`Mm"g5jS۾jSr PjSr Q9{ǝs o6b-?)&f㲮Y%ŪnƳr-d:>h]DXcZڿ K`F\z8Ivp -,l;}8<3B8G80SnvrDtovSе)aww>?Uq$0 ;0fk"XYibKc~d$b.O˰W/UrAʱb*L="!3X;tLtጩP+3LcϤ۔)r0-n ~Ilw-l0Y='uMsqaKnjQU9; 'TeЇmBUCnت-/SMN.A RXcs8lfzqOB( la&㛨EZ|"Օ >RzBFd@ -nՆ(_֗:wmY -͌<"g TP)mr=V -G.e;iùuNJ߆([˃M/*la]8:_"O2"S4`eNm'b9f F |?7ể6=rۓfIP,lWo_|z:(v RAkk5p}on?UɹkLt&7fWBx3t%YD6a (}kȪ[ϻf> Cdf +Om M4n ~l?g* -Q%Qpo,t?ӜSvƖͮG`:d8}߆ -};N[SB/iF5)5]!F`9A -(& N[g%20dۿf@M2Do=%)F7$'/Zv>28mA]^u&Ii*E˻؅V) nK Hnrtgg 4 FіпUkM@f؀L;2\hJmq^a'~&^ D>$4Jt[(1P@H=a9>s0>PV9"J ŨiPC˻(̏<d0j95?W6,Uk 7$*K>R%񥛁LMY9!ñE.㷎kn6ɍous2d\܄c:3LFնvκ:l'}eL +mr. -NoSr Ra3&bU!h ?*/xRɌ&ipz70_il}}Y}W 9endstream -endobj - -17341 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17342 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17343 0 obj -<> -endobj - -17344 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17345 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17346 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17347 0 obj -<> -stream -HnFF)R2\$P;n.҆@/ `%Q .E){giSfFV pl|:#۪_^I-_zb?RhX*c=o`SV-~\H]l"nDwx'bLLDю@8K]g@C)%*0v7 ([bo{Kccw#3>b@3>#cω}>gsb_0/G>ؓ8keZDQ{Ŵg8KPLkq(ƞ2Y{Z˴g@1Y{Z˴gbIk-ZŴgbIk-Z%'LkqZ%'Lkq(ƞ2Y#Z% (8KY=΀bZD1i-ؓ:8i-ؓ:8KcOZ (8KcOZ,Q=icZ3,Q=icZD1i-,Qg@1Y=EqZ%'Lkq(ƞ3PLkq(ƞ3Y{Zϴg@1Y{ZϴgbIk=ZŴgbIk=Z%'Lkqֈg8i-Eq(jUK 9oI)fei奈wou,ɲc^\Li!l/bb0e/TVvx}v9[YH:P;̝C]_V}u׵Yw[Y?nZԾ%uTnپ%RJvQj\jbzoCuuiͦe^Ȯo\g4>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17349 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17350 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17351 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17352 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17353 0 obj -<> -stream -HW]۶}ׯK-嗾Io{Shp<$Ak%u_gDR]G px>?1o"R^⬔i."i&⣎>]⧈mG}o}lzn}:ͮ.gXr<(3kO `/F29,f -~?}acU2OE3QU\8ч|Lb*Ù @QrP(χ@9>@  K K K + -+ -g,`쳀}F9><`_싀}A/ؗ2`_ˀ}E>,'D T}"T} ->@}"j}jZ(BQ@PC>P TE!`V}"j}>D -BQ@P;DPCTPCT!*dE!`V}"j}>DJBQ@PZ߇(}ZI!`V}"TET+ >DJB)BQ!{(BQ!{߇Z߇(}ZE!`V}"TET>D*BPj}jZ߇(}ZEPC>P"TETC} ->@} ->D쫴*3oe6&?e6lUy^śC)y:m;x)$vOkYʼw$6m5?\,l;m08 `05ힲS)W[v0 C}Vm՟ð /<N}񌫴dp_*3?nh_t9y=,#os;i?{$莥WӫL*M恋, ?18BM[caxDR׃ְ>LD\L}7\m07pKλYOYBv;kDZ>$g? -`a4?Kݟ6X -4@JOnxfdMjYʹbr /)XLmr85LصO;}V`RsNy~K8p ̗;PJ`t>'lNERC eZevn ZV=`VeV~~Ֆ,OU&ƽAE0)ϫ|!`bĀo |[*\*,_nvrNpzo,sV)w 'ar^`"V`'&O9p{hf9\n=-C?y.eX߮_Qwt(ala+@[kmÊ0įs~~e n3B.]H2d3}J-̹_xXg`l]&`HX -/Sb!L.k%Zfi%J0r R`gbYƔPXls;c:G[*2mPYlaIe|B^.U> yP X魬{t -]Bq7l|UPeν1.[3\-#t\7;YVZMťW'jR =RDMr0m"Lz>~J ͠q)H *bu!y 9؛Xy_Lz>[%58edێ|u& VWYltiomw0uճ>B99F/0 ¤r,=_ݔ3dM=^-xS@{$!:*Pz !JL#-rA3zNpm]_Crݓvܶt X%3{q¦}M]?6f?7$A@SbREg۩6usv֨fMh*WI>R=c|;-B`oB&/R~6*p9 -ݚPB}9:2`eҔ5͓ \s -֪kuGT- -RY QƞfͻwpvqӟKsȅ+:T&6+ ZLGDA$A-.x rRZX(YS"B\zSOd\i8r+|+1 vo9;@BmWk[%}>[<ٓX%d䲴:O)?k~ ޝ.G?mż 'Տܧ"%65X,i] 6," :9{4`N*%$GjMf]} )L%Xx RD7]h6 ?*CQMl4}2?Y'msqw.)ߓixja 3@&QO[[cJ3n'nuWfk2rVR.:2?ɞvjϡ&* upۓt'My@-?o>O`@hiw A1< ݔra;99.Xj~ȪixnelE./ xFrYwPhԊgS}P1U# '_Ql R `P>0E!7;pE͜DN nzvv]O\4^4p|H?5{ T%jnIە&RoZ5pH瞬w/6޺<^hO/7p%jn``߮1?6ӯ.סZ{ i"~qx3aϏ4 :<Ob =ُ-g; _2:Fsm-H*ŠmYJ%c>ҁývtkS0Owq/SELFvwGaWh^6 :.L=|0ѯkDR|'Dz'RXlxysѓe@,prӡ_kU8{n88NHĬzvΦ 7k@nǩARRό )ߥm2jALc6ڇ?n#q+7@|ǻXJxBi+F5=\SESm¢x Γ^&O/ NîS">ε&ȴZSέhS4+6ZϷ>hs\uwR0 -{}vBqA{`o^S4x+R}b*]ᑧg"dT\IY -bmSa\Ȝvg <ȡDn LcPF -JVдrRG|*8IdRբeYvOZT:<_ wR+m,"E`1F=/\7DS `O=xh,f{sivؽ!{\( fI%(l[g?<zTwO\T{\U5g ɕ[C@feV.ߟ\2?g?Q HwvwL=0PՏ=P5 -J{{SbQAT Brd>Z̽A"՗l\/[ -z􄏗p4h.`QB 8͉~@$X_6(ࢩM<㲧,8 ;y47 U1tg t "l}lhωvUedS\(}pMAP![ň5XLi8 a~q$ =t?6 6#sDk}7׋4u} 鱸>֬)w霁[@Do-OWp -nA@zdK;,z\ܰBk}1.qVtmz/Og40řA:>SM{Me -mKĺjFqզV5&n@Lbƿ2nn׍B;R>2ӿ7'Bendstream -endobj - -17354 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17355 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17356 0 obj -<> -endobj - -17357 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17358 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17359 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17360 0 obj -<> -stream -HWn8}WQW] Ŧ<8@e[Yw"Ym#caNt0~:_g?|DLT RedE2#١M>]M"Xǒw}kna.9d7}rI7O\',Y* -^6L?w4<g7&P<+3ZT@ts{X5Β/m}~x5!p؛#<ﺿkrjy5oLp &ᙰl!J'* ރ]~%3i/MbeK>$ 1U*6D˅6@  - m{{W{W{W{{{7{7{7{ y>'`_D }/Eľ$ؗ`_F+}f!жM$І}hІ}hCT>PmhC>R$TET+ Ն6@ m"GjCj%(B QHPmhC>R$TE6!`V m"GjC6QjCb PjCb Q1(B QHPmhC>R"TE6!`V m"GUjCՆ6D#*B QHPmhІ(}ZE6!`V mD mه6@ mه6DCՆ6D#jB QHPmhІ(}ZM6!`V m"TET Ն6D#jB PjCj5І(}ZM6mC6!*fE6!*fEuڎ\+ *8[ mrI7O\'5L?C6L73Qm}ޜ}޼K~$<vl$/Ye -əV__TeMrYdHۡ=|FlKwL̬im`78hyƧt gbsQ1ZEE¹j)61omp08#m=_cf*;wEEQXâK._517 ILTr m \r%V!cVq#ffONJ4<ݠbUrBn๜(^uAQZrYk>2Ub?sHLUuqW <]QlT^,!*<$ E(23EE/I^Q&IPQP(:$VDEG">_Q涢銢*[QSR6(g:?x(+hȯ\V:k]eI6Un -< `r*OB8  (G/% yCDO8J2=]+{`ú?_[xonFjk %v](؁m1:DUAι9Z&TBl[,[pH7dK`1rKFq׸+ln@ֳUv7V}mٷ_\]<dΡܸرׅHkۿ諾{t(=*}ow:W}G_v}R*oww}7:++(ǷR[w#fye}ˣ7ݶnpWpEBǔ!G(sii:iLٱ@) x -~UY^3X[az`.~xu@uU걘/^5; |c) |x?is m3IWռ xiO\G -jFqf7N||B+a~*3DPo"ezt)WS_Ce -U NB"-E%?{gAYihgvS:Fv]F ߱Qh3@+1KۇpX;{'lÀ綻piM{Qݕڅ^ X͸j.}MXߐQOƦNIľ۾d,iБk NۮKғlfjl-؅KBHgQJ@BnA 'Ն{(vOؒ 4UgPQij)(#>l/XʟG[|y6 F`_ۢ#b >G3UD6JP!sQT6it~[&yѺCj#+~lya~h ۲ei, :xs B;8H~~Er1I$z"F*[،#Oc'^RnH({~Ʃn4_vKjp<ʕ=3;; - ˑАx\E]epZֶb3&.~0K7>&}x50 Va.2R_]pY\*&&MSL Ciɕ:&m5ee㡦m!`lSf=ŎE5M Cҭ -7]Dx 'Eܛk`.t57J@`^- (.=,/Iw?= (NO׶,!ND˭5^TEc^Y)WvU*OR`܌{)7*)ɣC0MYNS(0hˏOH#Jlj12am@|r9ˉuG߭EtMQI~\@D?.v]sИ>#pM`auEXz:)H[zHXtCCxz>=~>/P 964 0 R/Type/Annot/A 37607 0 R/Subtype/Link/Rect[129.602005 215.231003 220.684006 234.912003]/Border[0 0 0]/H/N>> -endobj - -17362 0 obj -<> -endobj - -17363 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17364 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17365 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17366 0 obj -<> -stream -HtWn8}WQY ' 6ź; 6;%Jj﷊ndX}HŻW$LƬ .ôq<q^ ,?TНn_xmK,&I2,a0OpK-4f1X޼iUSY!nj?5ӳEyT^)[MI$.HO}K51!K;-|aP,)m28NCP.1a@QtP(LJ@ɻ>@q=s= KKاcS}JO=>gcs}N=9>c_ }I/=%,#Du}ٻ>@u}ٻ>D]պ>D=rBQ{OPZׇ(ZN!`節u}"TET պ>D=rBPj]j9Zׇ(ZN5 Tw}"Tw}ٻ>@u}"{j]jZ(BQ{OPCS TE!`Vu}"{j]պ>D= -BQ{OPkI!gE!gw}"TET+ պ>D=JBPj]j%Zׇ(ZIPCS$TET+ պ>@u}"{j]j%Z)Zׇ(Zׇ(CϾ˲aV K,B)qf98 /,N2ɦ#?܇7X."NU\5_Y\L=Nu}w~xTjZ_N[uLSrgI]FqoXumNs!!18Cymm -^Q5mUSwƫRXw4) ֡m2i~ݎJ dG]#x -RCpOv@UοFb -i64& -" .v:xE4jIu`"fzNU_f'ґG7u qdmaJXNtVLҚ`4y5z7MTK00cPG@Hj5 -NNl='|[rYie UA>Mq%+x6[uȦY@Slͺ;ZS`Nƙ3Wl^`c8ޙ؀5}/feE|-DD.<_L{X)'q)|߽T]S'J볍,`Y=PPeDF_r@^]5kD8Ht2*mT'4U՟`Kl -Y`T8\PegfZ=`mh0ւC:Ohj6 Yѹ Vrbzڼ#hbZ# M禚={3=]FcT+ېc?{6-0G[ӫ.@>3I_{`esȓz:M5lL,f,Lo%V8v.+#/s4X@e<zåmr2EdXUkÝb -Jv$W>}ʄSA`1+lR{qsB#X ƣAW{,lotʖ9@>o *ifj|k\2ebݲNe9RaR8EQLMKxotb5dt{ƽ5 [m[u2Y ]D=ZÄS~#YOtsNXi56E? 5j5ڟUt+T3薬UyXD/[ -8s5Ѽ,kՎE -G&8&S}G^ikS {ed6h MUm ,[s6`ejRKgU<'*ya_z /yHf`P:: :%[3T3 C[ aVt #V{4BplV1&Cɢ_^Tf2l}rcW3^emQ_/J(l/Aa5 "8YH IEO6w=xҐ öu{' \<=h$~HL:QQz6rj~Zg?]? Cp0FpeBj`k11gp*C¼ \3vi撌ITʰfwaRIɪ -fuAo$ƘS*Յ0)*Hg8C{j%QvyAyԺi_7MQWuT:T>K}lO׫i jU 6ƴ&. ~QeT =T~-\Eiܨm/>SdzUkDt -p0?Ecr f־lF~& L*%Ű}zoD)F~D% >#c!2~^ot4RFFLz6֨(b Mɡ.P, bH* ?/Td^ZoVLCHcywEz-tmw ~ט$,HD2Kg`vyP!2R~z7q6`y갾%T4tr%%>H95h8X0ie$ ֻe[ӹɔ\h<6䶋b. -+EljoYwrQvP;_cU͸a'@W -+ uNV{khKu0H,jzPQ _<ځJ|ђ*EKE -̻u_oή` Bendstream -endobj - -17367 0 obj -<>/P 542 0 R/Type/Annot/A 43836 0 R/Subtype/Link/Rect[93.5998993 481.628998 336.286987 501.30899]/Border[0 0 0]/H/N>> -endobj - -17368 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17369 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17370 0 obj -<> -endobj - -17371 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17372 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17373 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17374 0 obj -<> -stream -H|Wmo~b|!tvw$bY i\!IA{$>36 Spvnno/|^<{y†&?]0eLS2:EQš)F|9[~jZ3yWuk"T&5MSgð{cu_VB{26,zm.Vj{omimntD\+yޏ _:ʼ7.i.Tfb_uV~΋"EIIc+$ /ʛ, +n-Xf9ށ{G;p{=q'=}>G>HGp_57} q߀o}Kܷ> ':kIi56/iƄ5Yטн2Vc"Vc"VcEZ1aZGZ1aZGZ"՘{h#՘{h#XfjLX=֑jLX=֑jl^xZ k,Hk5&,t1a{eiƄECk=iƄECk=i2Vc"Vc"VcEZ1aZOZ1aZOZ"՘{h'՘{h'ؼXfjLX^cB,Z Z ZeiƄECkiƄECki2Vc"Vc"VcEZ1a@Z1a@ZyIk5&,t"՘нƄEܛO&/:U; X@+ZhЊD+V$ZjUVMjjVZ j@%Z-hDDh%PKcB-ɰF,hYeA-ZhAɽchkLXD rH58@^c"Z{GrZ$т;{=N,I5&,Ҙ;D rI5&т{{ C ^c2-Ƚ'ט(D rI5&# -т{{A ^c2|-Ƚ'טD rI5&cjiLX1>kL$QhAɽd Z@r19-} ט>kLD rH5&w$9т{4&,Ҙ>ܧ2L=ukLXD rI5&,XfkLX88k>?^t7E< -vHߦVɃe-:tc:Ʋ;Z.˪#^J#~:6`y}?7v;a{~N΃yx}^`-fWendstream -endobj - -17375 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17376 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17377 0 obj -<> -endobj - -17378 0 obj -<> -endobj - -17379 0 obj -<> -endobj - -17380 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17381 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17382 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17383 0 obj -<> -stream -HWk۸_`SfwMH`12Ax=˲XdM9=|˻TL~7~#$JLYI\U4$D8'<&4$gVs~3t<6;26Tm;,`Zq6:_ M!]6)''(F -ޓ(y I)+K|ɇT!9eaTDӬ8\`VX|#y#y^ E^ E^ E^"e^"e^!U^!U^!U>Cg QEsD}y>GQ_D D}/eDGeiCK8ӬX} qmiV>4+VbB\b\׆f!#rĵ!,ĵ!Yȵqmi>r-G\bB\b\׆f!#rĵ!,ĵ!Yȵqmi>r-G\b]"׆fC XkCLb!Y,D}Z64 QV 1`! 1BGkCLk,D}Z64 QV 1`! 1BGkCLk64+VbB\b1͊Շ׆f!#Jĵ!Yȵqm qmi>rD\b\+׆׆f!#Jĵ!Yȵqm qmi>rD\b\+׆X(ĵ!YӬX}iVL˲]&w[FQe,+ɶK>n =yɳl31v}BSQ\ Q)lnO7ۯ ](Xfwpc5汯Zc\OgbZOVJ4-auPî`B=,R%bqV1>ΰ?:A**#ѫGbn욧a07Ի}vX7Ljo5]}{Wǩk8joXXIQftxTr:=ћ\i a~gLo%; `[@j۬m|ynrjl;U旍D28͢bI0ұ@kpDZwvYv8/ gfI  ú:8)sRɲ{l(S]2,m1c߇ʗIDkBޙ Oq9lwۭJ[Mˆֻg3dyyeFܢ@K =Aŝ8TP]yV:08/.`,ͥ]z8iYQR -S)6û%~o^P[O3\t SjaLPxÿ9ePr)ӡ'ݯv3@5ZYJn7 ʶڜ\݋q -7q nɩjL&ӧmᵥQ*y-J]J[/M$=8[-]y2~Dx?8Jc&x}'E;ǀs]n%zkXMBax{nӛ|̮4]*1,3mVAח8_a@~wU[R,/n ? }u4"ugN+[/`\`~nZ۬}庚0GU]Q# 1B -?{ ~y__uY -{KR^ȵչ«t"WWG%>l9#)9G-4_cETc"[WaEZҬX\4+ OqШUsNշ]ַz+/)?*a@ʖ#+B3sH?>S#)k'gƶ1/JKVGS0h'ָ}]?x9KDm^5fх6XlŃĦ `?D(tpЕRL_s{Pi q]ѢE5)..nՒOP[?yFB;_s2//2"N2L»(%*u׏O/5\q -S/^p-@ r=##jzb}E0 J͡ڦR6AK -h} lO=C%lKT1fO+Bɹ&M>%wC bBI4}gY'Q6-ǰ%ӞDٟH9L( o$ t8I[vyƆP$Զ=LVdS{.TMnqB({d]$m7afY]{4jus(bz) ?bXeksy5vB~:9Ů?:-8JkNL~)ן%~E^t[%ײ[d$eendstream -endobj - -17384 0 obj -<>/P 866 0 R/Type/Annot/A 42404 0 R/Subtype/Link/Rect[93.6007996 224.367996 277.644989 244.048004]/Border[0 0 0]/H/N>> -endobj - -17385 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17386 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17387 0 obj -<> -endobj - -17388 0 obj -<> -endobj - -17389 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17390 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17391 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17392 0 obj -<> -stream -HWk_10`_ vF-viBR^E{C+{c0$9oQvzW?XË^EP86JR%Fu>M5A*ʡ_j?tVuUp[&Fi$V*@Seq6u.|C6IPgQv~Lv."YS]׫ͧQڮ8t3=M H席a"62AXOz>V;6 8XE۠H(ptlbⷣ,!+XԻ<ŀe7{[e2Vpo{'w̽;>'}"ODp0>eS}gs 3>}.ϙBp_0uV XCwO1` {!R Y{Z#bܳZ!KpZkR Y{Z#bZK1d YkZ!KpZkR XBk),=kZK1d YkZՁZK1dqZ!{Kh-Ő%gBk),=kZK1` Vh-Ő%gBk),C -Vh-ŀ%bܳZC -X8CwO1` {!R Y{Z'bܳ:Z!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZA"b),CwO1dqETS18MpfA[]dTőU:oSDz*S훡VT{w7WOT!)tT6xxvjRU RLQ1*}]w¸Z= -{aɏ#db,JFvS|/Lv#)&E8۰+onc97eU?[Nr"7Ǯj2kןql֚do͓jna#H^TCm77-:V(Iȝ-$.\G\/w-I’vEJDM ~UǡB#{d\}]v[w<+ɬƅ~B<:* -A;~|O'IxXT(&~(318xŸc:X8J.MGz,Gx90>p~iV>(B`1-'h9-ǴA+aZ0TJV*hL+2 ZiVδ -A`ZUP-s-!kQ XZLK ZiA0-#h!CroS Y˽rO1d Z,F=Ő%h!CroS Y˽rO1d Z,V=Őŵ(,!CroS Y˽rO1d Z,V=Ő%h[!CroS Y˽rO1d Z,V=Ő%h[!CrS Y\brO1d Z,N=Ő%h;!CrS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1d Z,{!kQ XB),UDEQ)b n6UZmA>¹2NG^} QUw'xcYd50CqTܬmDO|? ,*U\+xDw &Q:YF_UKpǃrY-kNt=<G63lգ%@"+K 3O ~WN&q -2]>nq/NMa/G{~S[/1dg\x{8q"C9ۮ{1.KПǶ N'ٮ1(m0+݆S~~q|@.!r1 164]ߵO mPRq,ovzS>kS9}1Lú|hicJTX1ti.Aytj80#Usϭ~M8J3EFnI*EDU5F^ͼ\Ϛ䥑ŌFTV]2nDqQ%,%"#as"8 <$< U\q1 iT'[wa`Y4/`aTX@D )>Z$=vEV յv7n9\QȻ'ʽw?0EM'endstream -endobj - -17393 0 obj -<>/P 1322 0 R/Type/Annot/A 18561 0 R/Subtype/Link/Rect[93.6007004 362.007996 184.404999 381.687988]/Border[0 0 0]/H/N>> -endobj - -17394 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17395 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17396 0 obj -<> -endobj - -17397 0 obj -<> -endobj - -17398 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17399 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17400 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17401 0 obj -<> -stream -H[oF+Q -{#m qҠ)>؁Hr$r١,07#Μųg.|%WHX:?6qD*Qѿb%6~\ߊ*gE]QJܮ|$bt9I"pȒ\frY̧1|l2x14zۢ&LX'uU:S7`Q/b5}81]'6IĹL"z%@ >HJ|2`/NcN"uc,e\8DՐ -oG5 )!ez24O5^^5^5^5^  ---S}Oi>cgq3}y>g{Ǹw{Ǹ2+Rm)&TC*tO5R =Ր -S (&TCqV1R I-ՀbRK5AjZ!ŸRR (&TCqV1R I-ՀbRK5AjZ!ŸRRmi&TC*tO5R =Ր -S (&TCqV3R I-ՀbRK5Aj5Z!ŸRR (&TCqV3R I-ՀbRK5Aj5Z!ŸRRm&TC*tO5R =Ր -S (&TCq0R I-ՀbRK5Aj Z!ŸRkR (&TCq0R I-ՀbRK5Aj Z!ŸRkRmY&TC*tO5R =Ր -ݻ9gD̢|4RBMo\HThP b`Y-뻪O'sO'USInXWZ\_¶=68;ZBp5mZbθ#,+] t-ڗekYnJz'#)VfGf!;}_}̤yW$f%qQnoeSܔn:HQ6;2 }嬘~(O3ynV÷ynnlBcc8 -/)챢 /E˩;̬񟑝#0'M/M' vhځ/Uoxm^ç&f{;~7e4 .-껢^z^VQݡ7Ãv~/i9~|m|{(gc/v3'a}ɦף/JYP=endstream -endobj - -17402 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17403 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17404 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17405 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17406 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17407 0 obj -<> -stream -HWێ8}G7ś.`mldNmv[YKJrd~HJdAu|:b}=L_دx2OU+bi.XT 6뒌'5,S`^~hZ3 ͆ Mr:^qK*U0&+dZ4yIB|&3.-Ҫ3fo8Bg}fM2- -qrW`pߑk~N2]禅TG3;߱/۲y*4 lɇ!9UᙌH!8\`+y,>Ā%"R/"R/ 2R/ 2R/ 2R*R*R :R :R :RH}N#"R_H}I/#%W*R_#r´!&pm!+Vb"\bȊՇb!,µ!,B}ZA6ĐE\+׆׆kC>r \b"\b"GkC Yȵpmpm!PV 1d# -µ!&pm!+Vb"\bȊՇb!,µ!,B}ZI6ĐE\+ ׆׆k%C>r$\b"\b"GkC Yȵpmpm!PV 1d#Jµ!&pm!+Vb"\bȊՇb!,µ!,B}ZE6ĐE\׆׆kC>r"\b"\b"GUkC Yȵpmpm!PV 1d#*µ!&pm!+Vb"\bȊՇbUZUb;kn:^qKxfqxpQ9ft~0۔]=2_}~wR?zl|uhf|θƦƩ&;z-B4e_}-[yiq0̦ zDo?غ]01TiWOlSwְǡ&ӱzfSԳy -Ii;zg=]Zo//S3PMY2YfjEn>a{vaeips\ʕ冫T.jj?9Uf\hWi`՗ق!wwfM߶u+lkqL@*;׷wz,?M}"L+QNpp+^NMwϬZmɰɴ~ hI ŏwGYewV"p.'vHy%S|;YY иߌM4ش;)h}%nC;cN'1gl *\aTZbvo#^vsGna}6\]/P|tfcSǓ,3`3XϸK@aͺ5سf) "Ё ,noO%uWsl6=M }K&DU]!i l^lj]Ф~y׉(K($̭6@ *~~+`;?v̍`mw콃o "] =pp `~]1WApSeĉ@<!8,PʟZ=(~SPB\xņkHT?l6/HsIHC$X\nxHff%4Gl2-JYP~$F!HC$,B !~: {kxPf)ЌKz1J !I+squz?gBöiTB+y, ^]jR Pw-uh(Rz|,ۥ/jqdY]-("|匛;[>j=Oe$t>nY@nξxfS$}pAqrNyLdSO86gA"<7@ABafPh>wڇבF9>e兄ltֺ6vD1]a]{mGT T\pN3}4I7 hr'b V|=\8LA"\ uKq w7Nmm=3[o^C0A -Z{(oɸ% $C;IrW=c"YzANl?!Y5`^{ )V'u`x~D sG3DsVZV5F[1KMNEڇCyXiiw|?OFVnPއԅjH\ \ϬO +lP,T!k3ꋎѼH$K{ݕ BL%8ߔ- `gR(9oK`krVa4\)E%w,XmtmAXM'Ncs= qN62^#)Y}=| 0uendstream -endobj - -17408 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17409 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17410 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17411 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17412 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17413 0 obj -<> -stream -HWnH|W4f_$i/!AL2LD $CQd{uksdyw$ -zl;7bOo?")kJrSĪ(VQ&WVoVU[/g_GWh25V5 -$V*@SeqzuQ6GWڎ?M.O@>ve3/KDMgj&xsY]{䴽q46GsvզjݛwrwJTEQ@SizsS?GN[MX -J_{u)Vs.+9~."cT$SpNA8&vD1d(,c8`Jn 7O1`Ye2Np{'w̽; =sO s>'}*OTp2>c3}g9s s}!g5Bi)Z!R Y=ŐS XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` Vh-Ő%gBk),C -Vh-ŖZK1dqZ!{Kh-Ő%guBk),=kZK1` Nh-Ő%guBk),C Nh-ŀ%bܳ:C 2Bk),bZK1dqCwO1` ^h-Ő%gBk),C ^h-ŀ%bܳzC R Y{Z/bܳz[FZ!R Y=Ő( -bwdjn2jz:UiZ27x%Qp:S13ڻUO$<`]UrY_Zuwc?fVUM+pWڞjݦuY~ Ci} G{8NtnJ=(l_Ό)uok?zKM8hݵuso g9L`Vۧs9pT: mUj+O7&Zz΋XDž gR5:%BjuSvՏH=.C[2V(0հ*-,||$q̴˜"ZX,koV2IGU݌n/Qۚq&tUYwOʏ#̓{[? F,%=#vqov8=r3pRCey=8pn١n y.r}jq$ 4'[Vݦm$Jӛ#X'vbKyz'Bi'<V,gs aiGi0K9TGс\\\$ ejTrS'S#=BW߿*?zD򡃳'Jjg,TDQ @2 ! i ܉bM0L}}l܉b9CGΓ.KD= --R 8GI0GI8񵹥<}21 45sKϳ_rvHxWrC Yِ֤GBu!θ{z{Α$V֮VJSj^{ۦUlew+KfpĜ_wG_pؚ~O|1 ̇*Ļ`"zH;~X}[Rwx٩զ{tp]<N| 'r< c~qGחc7[I3E0diyA3-/hyZ JiVʴRA+eZ1LʘV.hL+rUZ*j٘kQ Y\bx ZiA0-+hYe-{+bX{!KbB),A --{+bX{!KbB),A ŀ%bX{!KbwB),A -{'bX{!KbwB),A -{'bX{!kQ XB),A -{/bX{!KbB),A -{/bX{!KbB),A>rO1dq-K=ŐŵMUl -~n9>Mou3[l|T8Ku_Ҭ hr3[Zݩ.&͂T\uE~+oezm]~^Tl7˪'dLq/zVn竺Mwfpl%p%_8Buf򴗝\l)ޯ<(8ug]p;pkܕ]@{zm(jwRjfbOM&pj›Z{XfvуF$A|", -p -d)0(\%lf,N5x}1u{~=S>G{ -?[H KNo.C12x/U(mf!_:s->>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17415 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17416 0 obj -<> -endobj - -17417 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17418 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17419 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17420 0 obj -<> -stream -HWێ}W48E~ *${fw {>~lDzl! >>Yp+`}Ȃr"+M1` Y`aB1,IzIzEWzEWzEWzM׉zM׉zC7zC7zC7zKzKzGwzGwzGwzOzO@@O<+bIµT=ƀEcXd1,µ,B}ZIcEO\+ b Xk1Yĵp-"PVb,k%ZE>q$\1`XdJµ,B}ZIcLXd1,µT="+U1`Xd*µ,B}ZEc"\"'Uk1Yĵp-ƀEcEO\b,kZp-"PVXd*µ;dp-"+U1`Xd1Yzp-"PVXdjµZE>q&\"'Մk1,µ,B}ZMcEO\ b Xk1Yĵp-"PV!3k1Yzp-"+UJՇ"!{n7gg8<6cyՍySzFGe7B,}:H6]n1;DDfvp.C8?XqL70&{Ъi_-յֺe"xQW>wx|}^ޤl^lp/6r5C;Ń&O$H;לkT_9Quܰy]gI U'|QxÃK|LjP-=.c+=] @q:<-Z-!:!aHG݂RR5 #%D0ҳ爅!|:4X98I4Z|/WDT7gWYlLU\4 -$I{ g/F~_k\EpDCnΕgY 5/svAA#*9L^O5^/&e%NVeN%h[5b&D beb*X˿oG ‘lYR|\X.,YcN1"' 5"`A|XĺA+<}/(n &ǼC -x7j|<^qhÁGdp 0q dZ*aNZ~E#\o&giV/o+I ]M$G~j9OrSD=cǼEezBk/'8x]Ⱦ^`J. }߄ze>>1W x!AmAGO,p8~r=Gx8{ -r=ZK$Ln9ZVr;>_RbϞLScիGR%^5$+xG1\̴(#rk@0®a5 -ێQUlV(4s(BagЉB0RD4:~kw tVb)>bp@ i5h2cHH05*E3W瓶F ]Jo9cvy[jⅯ: -&"uW>tJh֘ -bqse<:Oij]0uK&2@o[>oO낯FO m-#!sY% ("59Rx4D->0;ĕUdc$jU(Uߗg3,gTA"pJjj*j" B*#:??5Dpb'\[3OTJH2jmnuo}S^:a{1.߄.[Eq||; ~J_S!ʏxpA3%l]7q6ǚ9s..}~t?o-7kss Kߊh jvWnOm%:\8IւCdm$K.9wxo=}8$|9:k؉SkAqs)ŧxfs9婍IGivc# - Ek+3Wc.l-vh5ooqH`^F#p$9qߐ;u]!9B~p1N̡o yK}/qD>&|\6-wݟOi%!н^X[z+hN(n?V꾝5/ʉQN0q.n*VCje׼djʵ.[zO|yzYBGOf{ORvփ K S $ 2TTڟ0E߶)߂c8v9jv -;4,~pp/k}x.iqZS>@` xxp>Ocwǣw&4oX8+b Ki]Z*Wxˇŝ;hZ4zg4-lmfU 5M/(֍/c{etqҢ -}x0jU-f(w׿ǿù\B Ӯn=bPW΃>zs --P8gxs8z`Hd^{&v:o߿>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17422 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17423 0 obj -<> -endobj - -17424 0 obj -<> -endobj - -17425 0 obj -<> -endobj - -17426 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17427 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17428 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17429 0 obj -<> -stream -HWnF}W$}m7ȃM`qA2LDgg[^K25]~?Y>LYJB9{7n,~Xq;6?I}& &ݰo"f$븆92)Ktm|u,iqui -VyU?/ꇧltk|Vk`mև_,2-t3'@rP&-פH'<BiNP#,f>w_xG(RLYST+1չCLaX&CT(;c!y(N{N{A{A{A{I{I`s} y `_K}/ e$ؗ`_+} u&eh})j}BPj}BQ!{(BQ@PC>P-'TE!`}"j}>DrBQ@PZ߇(}ZN!`}H} ->@} ->D}>D -BQ@PZ߇(}ZA!`V}"TET+>D -BPj}jZ߇(}ZA"I!*dE!*d}"TET+ >DJBPj}j%Z߇(}ZIPC>P$TET+ >@}"j}j%ZwrBQ!{(BQ!{߇}u- [Snn7xsX_ZEQǛStlT|uSeɽN G5|ڎβȿTߪϪ?tɂvdknѝU;\{z2^c -yiRث4KCg콂Z5 Ҫގ'f -S9Js|@T,-ʌOmk2ciŖ3?1}_]{ vcú>~̢Rv0`^p>7ՋEƁ"jG3y-g QT;ni:ZјbA0T>f`4E׏j^{ㆌNmh±Xś](PY;RҔo4c>iVUAUa$Ac^KxyRaA4/36DM3Dpf"ə`&h]>SbXѷlo~pg-'oX, HWg)[;WS9UHk^Otdfz3mfk}c OCVy6=o SơHu52L^*Y#Dџ"pu D300fQ fs?Cw+=Q9|[w}EPoB/!WZ=B2^e`=oĶS<`8 -,)Q(Z3E-qu 2䷖YFzLo,LX/ѮsB`"_ 'y{Q6tIzi5#^u.%n OLC-Ct4ΰ܇`95xf"_9 ܧ [99zj'.xЌl] ֟4>2Oi^M(-L1{qמc^. ruf/f'Өuß{ia ;K@|GīZF:jK|ɆyvciN8uTU9<4'n#n):I$g֖bFRf[r_Bq8gW#L1&[+JG he#n_}ZPEZnپÎs3ǵ0Y)0_|7 "?Cʜh|Vn u 9EHQ'ضgjzۆa轿0òð -;2KIQ#NzeǍԃ}{ 9EQO 7 ݳKw2_,y8X|ڎEv[:iwaJTh 17^* U먧53m9Ĥ x s5-÷zwr @mtJbZKlh*')bWp#,8V*FNCXF]"&88|l"D.Kz PF'Gy`;w;&,`٪JL؜:k46m:sw;y:%wAo>y|*r<M`B=wac8DTj8-TbB'ꎧ<21ޱo-}frsWŽvLӳ,#k[H]3.zj%A++.+iEu5/ӑC[9u>/P 540 0 R/Type/Annot/A 32531 0 R/Subtype/Link/Rect[93.5998993 296.028992 371.987 315.708008]/Border[0 0 0]/H/N>> -endobj - -17431 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17432 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17433 0 obj -<> -endobj - -17434 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17435 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17436 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17437 0 obj -<> -stream -HWnF}Wq)df`g$@z<(F@P2! )M_U}!0dkNwSռO}ᄏ?y01\YӲI~O$OirXOsa8kSOOmrGޏ]rcD"yS se^.|lS;;M 3]~flj@!"V?Xd8̋`_W*kO?/hKr"?Dd<=,OiSD" -f+|v._8Dc0,(!*^.Tȝ|'=' ؋ ؋ ؋$ˈ$ˈ"ث"ث"ث}A/"ؗ2b_ˈ}I/#W*b :b f!%PmCT>PmCT>!*fE6!` }"GjCՆ>D#rBQHPmЇ(}ZN6!` }"TET Ն>D#rBKЇ}Ї}CT>PmC>R TET+Ն>@ }"GjCj(BQHPmC>R TE6!`V }"GjC_HBQ1(BQ1Ї}Ї(}ZI6!`V }"TET+ Ն>D#JBPjCj%Ї(}ZI6PmC>R$TET+ Ն.QjCbPjCbQ1{ieÿz)Kww ˍHB.`7;g,E3xƅ~s}|j.2mV295kC3}H9*8"b}a䥇lW!s>e<`ʋ,_ ؝bLle36/ -Jo۩n{k[0 B&S6Wd֫@QDC6$3f !mTỐk*ܜaLs7ˏr xkϭj軦"w&rJPg^4CcH,\\\ST g{1_m=A3y)h#zߜ(EuC\xP?Kp_`fJSBP2C.uj ɴ,7:P- -T¶*Ma0I':`Q@މCoZ$SkZ\3GYZGĐ7HѠք(\; 9}ձ?B`[T .sdhgB;B)kWy;Rdd/m%dcF(;D֩pDޗd@kS6Z;ÑyooC?箧/SgGwA U9%D:\F7wr1fÈjieoL# &](0W -UW IyC!෥s==kX#_ŗCZ㦨ӹ0-I+CnLTc"JUTSCUۨ#\ a > Dz.f)ʺl'`Q@ֵ] Xg]^tYQ;.v$ '>Y饬%Q ? nR/ )55)"кtSMlF uS`@|If~%los0NDٱ?)pND稉`w%v34䵰U%b=J@ci&Cy >06_Z5ʊ[|54%o O.1~م7F.}91?~}kU l"lwuŊQFp㲋 2 P6PHKt۪()s&Y>ЁӼΉ='UBfOa(dYONf]~ -o?#mi#Ѥa$qfc(g1jN>/P 712 0 R/Type/Annot/A 17439 0 R/Subtype/Link/Rect[93.598999 297.229004 321.885986 316.90799]/Border[0 0 0]/H/N>> -endobj - -17439 0 obj -<> -endobj - -17440 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17441 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17442 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17443 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17444 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17445 0 obj -<> -stream -HWk۸.A@xç$nb]4bkJmkj˙f}I&@`"<=<痿\1~J̈́MSS(432=T?}Du\ږmj͡U^:LoɫerT*Mba˜i΋tKZ0! #n9 n|,+UN/IW;=\_gVvB7[+\\mʻw03ca!$N2@ 1st(&TX'{{uX1i` ^s|&okB16"PCT<]1*!10(I{I{EW{EW{EW{M{M{C7{C7{C7`E3} y>'`G }/Em# -BalHBa Q10(Ba Q10}0(}ZI6!`V c"TET+ Ն1D#JBa Pjj%0(}ZI6PmC>R$TET+ Ն]Ն1DՆ1Dba Pjj0(}ZE6PmC>R"TETՆ1@ c"GUjj0(Ba QHPmC>R"Tv&Tc"Tcه1@ c"GՄjj50(Ba QHPmC>R&TE6!`V c"GՄjՆ1D#jBa QHPm%PmCT>PmCT>!*foVy.yL.NEI?Yf.yXn|_fٶ^Oww͡зXT:\+u[ _Ǿ]vS]_騙9OUu<>;nJ7z ZDai!bO,4u Ms]zUn϶]As~)pf&xZnii1@Altl^yrqkЙ`ZЧF&X)ne+ClnijfC- ÌLguU;̻^ç+#r33KSPuE\Q27+<܇ -5P`"#(f'N ˥t=MדzڞU@l;G]-PyU۴8㔸;LS^`SIP>'cd7A3=LpU1 " WV1z OipB|YO g':0!+4`))/DlL̃?z?xjp` D2iP|TP>*G=M`R047vӜn7݅׷Zl_uV̄5ޘ~,ݶA.B(]yLf!eCAݷ+h5BBp15iHIZ5/O=^PN`f6a|>ֺ!xaM̵wwR:wkwRHUpű>Ԏ20FXXM8mܳc bFhDew(G?0V@M1*p~ؚzKw1zWjܴUw\purLC?o\cVs8Ɛ_s9V3fX%ږezq*G=I)HXCZ7ǭ& g#7?7/ h]*W⃆_Mb6o#nHcj3["g^O%K+<ume%S Cb~=cEp2Fs;ITRHh}%biw۪pO<`/XR8F0 yѠ |)]ER(asAڱZ9 ƣܞPWdtK ?c4Y䱚kLfBFo}(l8λP-|kAA#>RҺU5sA "7\)ut-g9o=}]}P -yv#Tg9.T5|@+Ps>.|W|X1?%_ؓq<@nbXr1KW2}2˄3^X1C,˚ߒ89L'q0I.A&BmmMG 5}w7a4$ >˄ [=F .<\g;.z#_˦AwŎ2a=wy(HAhevd@7[VrUnqj}p^"ݩlRi)Pf,#E]}SAXfMs< iHmtS`Lnܵ^s4pQsjdFPxr=}HHrtۀ2 N.W?uendstream -endobj - -17446 0 obj -<>/P 1021 0 R/Type/Annot/A 17447 0 R/Subtype/Link/Rect[129.600006 455.459991 344.580994 475.139008]/Border[0 0 0]/H/N>> -endobj - -17447 0 obj -<> -endobj - -17448 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17449 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17450 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17451 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17452 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17453 0 obj -<> -stream -HWko6_2C(8h7M$(G^I˗$E!yHC^ݼǙ|Ϸޒ|ѿ"*Z <)rd2@(%% n~m=7Ovh<6{26͏w g,P#@}"P_ @}/% W*P_!RĴ>E q)Vǀ+Tc1`!1Bek}LkZZS,D}Z Q!1`!1Bek}LkZZS,D}Z Q!.k}LB>,ĵ>XzSP q)>p-G\c\b!rĵ>Xq q)>p-G\c\b!rĵ>Xqu@\c1`!1 -b} Xk}LkZS,D}Zǀ QV 1Bk} Xk}LkZS,D}Zǀ QV 1Bk}2ĵ>XzZSP)VJ$pEov͎)%cDS>yEv]1ޝ$+V|lvrpytc~_$-nv_Yln'7t.6mff-0|QH$U '4bUu<{5k;-P=Q׶IIS%0fU0} M< g9vMpr|'DK, ]n *l{V!*:xULqpOʂ]i5wD"aoޚXof8Y漁^j;/dbp*|W(exOM3r8sFt-*CZj[#z¯*ڊP#[J~ʋVbahj!y"G$m`0m_ŗuga$R\iCb†ތh(7F)Yi3i!Vy','@j wQ`X+wtHu{<˻54+8X'T8<ᔲh -:rq˃M K#P=E_DP)L]cT4\l(<5Cr,J$i{^:^CҬ>F:ۗ1"C&ﶄ]nXL5t۾4涙pL%I5^@-:Wm=Y@w')P]P` -"gnuA=l^(V*PY~A$U.ˉLhBA1GLQiQ0KLX=qt`o{iLN1ޕ%Use^)*}-ī3nVw?n/~{Vendstream -endobj - -17454 0 obj -<>/P 864 0 R/Type/Annot/A 37703 0 R/Subtype/Link/Rect[93.6003036 519.229004 236.856003 538.908997]/Border[0 0 0]/H/N>> -endobj - -17455 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17456 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17457 0 obj -<> -endobj - -17458 0 obj -<> -endobj - -17459 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17460 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17461 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17462 0 obj -<> -stream -HWkoF_1¦9/>E&M `E?A@KͬD:dX{{g3ùX{W}Տ?m5.ҹS>QbTՖbuhU_Wf۴ծܷJUpFuepԟj r$VʡJL-wA$b9Mw~,UVKǷOGKm{_ԧL}*OLP1>csA}zY-bzKH-ŐS Y\=ŀ%bԳ!CR YzZ#bԳ!Z!KPRkR YzZ#bRK1d YjZ!KPRkRlX!CWO1` z!R YzZ+bԳZ!Z!KPRkR YzZ+bRK1d YjZ!KPRkR XBj),A=KRK1d YjZ'b),!CWO1dqZ!KPRR YzZ'bRK1d YjZ!KPRR XBj),A=KRK1d YjZKH-Ő%guBj),A=KRK]R Y\=ŀ%b),>2)ӭ;%"" Y 5~rOmuMBuku(sWա[#^@qOc ul&6,`L<>1>m =4*+9:ߗ0BC^K!ò t6[ KD!ť>|fe-Đhݖ,lzlnV.FibWIZnq 6bmvjl XQm<4M_䇳Jl7wfM8u,F9v[n67]QS`!a&lm] -Y6o,RFdl;v.P^=_il .w@Mz]γo/8}}$oR^M:yuSVkZt^-}5O} f ->Or,ui1vB(M ͼ(`B+[b2P>~.V-N3?o 7uD9-A92Q`q4и/9bz{D&x]m6\J)۹Z8 |5aC0g3ؘ|6F{iw>XwVs,f]V'vdz7r)iUu1cαqsx}~pv^ѯ.(sJ\y=*q#֐?JPL=$>v~!1xg;e%M^f@aH-8;ZJι0iWn{e=N?/w,q~0}-g$TN _j -t}_l}5}%Y{:,=:Bɸ@3xf?pds|KnmX5l6y{^&{n=9ݳ.P eG+O91] ablMCq` lୃ<. !rTc0Ǎ >_LXp_tl؄ ,d!Ak˶-O${l<ŖʧOwOڽXH~8%iwv'J -2\|d,\%0Km:FU/὿'X'8RkPA_,YŽ@i@f9e5WtU,Rv;hM }.<|k OW Jd=:;9 OO&s!ws ,OE֖]1zsW뮮x6ofJ4*[1!:L}Qڡր잎MWur'|fQ{u_}j3ۃnQ[;i7H0Tõ97^ᎄ^k{oW9[hLPOMS&Yn^T;]0%]GcGHVس//W9 a|4}o9wPp]>=˰2ޞ/q *fS6_)/KAފ'F-g QNMeihbplz^Շz_}Ԏ7e ZY>Lc`eVW^hXP;!8^"M\"TH4uu<<FDoYE,gՒokѹ5g$ }zaj3Y5u2N'kdeRb໲02NBF`lgE|nmܯk -<N2r -_!m?V-%J* ǏؔH]k*P;a7 !(Q \yhZʓ^Ko0)Y)<$s~(g_y%ڴ0ѫu!.>:UnS&z:y-ͽ8CT/h9{]!(NPQF^$׶6oEzп?nqKDn>˽wd7~`lH*endstream -endobj - -17463 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17464 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17465 0 obj -<> -endobj - -17466 0 obj -<> -endobj - -17467 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17468 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17469 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17470 0 obj -<> -stream -HWێF}Wb_`axvw/1 ZF%jBRo/"Y]VuoUx7woE(^z'M SWFDqD{ Ń'E!懬)oNSU*6*_?*P{Z~BKI(Rš">z)NXP6 l"wCZ.l 0 -4j@96~tē V>b+TGRp>zŤ#C퀨 Q;j.e.Kaaaaaoaoaoaoaoa1#}İ1>v a3c}°O >qا a2JFvZjC˞Ũ岧6D Pj Q {GQ-!aV16@16D1*FԆ(ZŨŨŰwTRjZjZjCQbTKmb;UjiFԆ(=Q-!eOmrSRj5ZjCQfTKmbTKmb;Ռj Q {GQ-Q-!aV36D1jF(FԆ(ZͨŰwTR3j Q.{jZjC˞岧6@16D1FԆ(ZèŨŰwTkRj ZjZjCQaTKmb;5j Pj Q {GQ-!a0gR\(FԆ(=!ei^{Rw^HD6 X=E9xYo&k:@&le#vtoNe݈>O8v-عK|Ǭw_NqA# 8 Ϳ4 d40cNп_Ȧ) (T$JYs£SpAgc2O8R -"iЙiy zrIQ3΄ d*0 -R8_V2\?؉Y}^Gdc!sTΖ -͝ eC8.s 2ђ̩Z Aa= O@LLWW.(C]LQ6AP z%NE`G6IAXsza|S܃7YSzfxIq]eU !Ǖ'yP 9VtBV!|?dF|̡Ltz6l";lT9{rtw&f?=LvrꆝMh:`¸;T?sv.GZBRvt~১2}1e ݽл &F/x67U5ߊCDM @ @p"(mb&5-'/M}|dlMw 8jͩ\LBιwdh/ Ko?6gudrl˜T^v! -!}(K4$Ka~']h[tL6ͩ U~H{g"Q>S5|/}DT`} w-4^ S8CT[ԥ -ux ZTeb4I |(z翋oT~ 5tZҐJ%H~"`~HF Bl~bAb_AW9$U6t+H^.r*+70EY#1‘ݎ&^GxL{*=Ï7M4Z$N` ?LO _KoktY=w3\vh1JiV<{qSd08poOhrF̂?LMV5E0~\Vڜ+K:q)m$:U\[ܙ. 7 /ltW.1t[<2:Iۆ~(70/Fl8* zrZ_Cakc=bx |v3AX`=1z0x7H`珌 O臭ܕ<"[AqC?<6⦴[x$Tя7Ipg*ϖ+ WTOU,zDg,/W\SQW+:|fᜱ %M>m^`jq -+M}hv7h"miE0A`<mոza6:U1w;,4ayTj)~}C^/N8-su. į*MsĜ =_\U!\0L<ˣUY'M@AC>od|VНꧺ-D]Ȩn[!>7\B \8 b -p0y11alF7"|SF>i~x@ u0bxlΏ()K=u_^BvS2+Ĥ`IvujbII}'P/ -iP82U}_*Ufxn1~:(2y:޲HZFGEwc>`O6^iT5LI 磀F౐"3d3|xQvA(5;(BG/ΣXx]ݗ7y0ב:+B} 'ORuˊ+׽Ի -NW;0?f&f1.V ExkTP[yϕrrw[y{(˪7oz0ܭ`k^'q8O f@Sw48,a\YP2,>.,)A>:ÚWߛԛeZ'Z`"Aoݧ}sr-n[)H|y)@?7b<G8@$2 D cM\l ?zj"EɄ`IRiN:E?~;%w=nhqZrI].+<jc4N^n@{۵v.Hg`ov쀡` mBFRdi۷!ADt[i!6;lQ P*aݳ uqWEt_85?L*D0q%6VN]EX0e1OgB|)Px@9@UԆRq#dbsq7^7V>VƬ|^htV4uy-8j./e"9Rݘ/U*@j::TASXaӧ|j}I44&ijKC7Ȓ @fT7+ÑBd9lƤRYkcucHm pn- (I[3t vTkY|q Mzxf2D_?E^o|^)'c!SV't1ǘ)Pڅ'CP:9Tt}|ԸX^@t{rc~5]D:b^'R6fql鲭>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17472 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17473 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17474 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17475 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17476 0 obj -<> -stream -HW]oH|^`3|n@v$A>ā KcD*'~I,T8IWVջ/U~M52^ROUZ8YgNVBD=DFU*nu6U ?Z̜2jz0$Q*ASI(.b2fl͑)~Waס9McsML/40<}sY}~Vy݆zY}4J`8^l6QDo_s**]m -I7Qu1*S)9$8F8"RES XVpo{+̽; s{{gS}ܧO)s 3>g}.ϙ\p3>g }/%s_ -YgPZm"+b),CwO1dqZ!KpZkR Y{Z+bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%gBk),=kZKMR Y=ŀ%b),bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%guBk),=kZK1` Nh-Ő%guBk)Z!R Y=ŐS XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` ^h-Ő%gBk),C ^h-6Q*b),CwO1dq.ҫ]\.64N2jz=A[LeynOZsS$Inf6ԷiM. jS~QUv?n'L9)|=Ts Osַ5vW0ƷqB{շـ/t)u|X „%~J{tZ7|?m\Z{Cgq9@9h79]Td;1p:bF -KϨY ?g]rFxL}rs_4uKvϤVSt+OkP;3\W^`a?:ogEa^Žpر˭Ah9B<hWV"qdly}l.u˽IrH'MRm\Y4]"ڪVNs 8|+a2% 1i"1h1~It^UO; -n U݄V'Y>6N-ѕ /6;NvV7۾bz燇6c Ÿݬ =nmjƛ$YVݮ ?#u.<&fR’N0.n ^;?.~iYtu`fvl^0VuefpMS[x>Ӻ{6 u߬vøIlop7[PFov5M߬WMo0 W]`KDozX3$rbv -iQ {kq;JD fĥ-HZ[B-F%^V-ꁼEeKwjVTy_-CMUK):DedRUqз'raN#j -kNQ?ǥ#x#iJqEdnaz@lP 2-H i ujfavAZj$2=wr;G~usE.QLb?+^w l$>fbA7Hҷ_t>/P 1597 0 R/Type/Annot/A 44230 0 R/Subtype/Link/Rect[93.6003036 414.268005 275.14801 433.947998]/Border[0 0 0]/H/N>> -endobj - -17478 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17479 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17480 0 obj -<> -endobj - -17481 0 obj -<> -endobj - -17482 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17483 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17484 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -17485 0 obj -<> -stream -H4;0=+ %B0EBi:$@@YFgqy DG&Ŭa=Bk]vz_4uS$!1e6/3n'OA,endstream -endobj - -17486 0 obj -<> -endobj - -17487 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17488 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17489 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17490 0 obj -<> -stream -HWn7}@x X+faDȃeQKLwz$~d_%lbG"O}q{:?pr㻟d -U𯶹(t^F8d|gW5y\w?6~/7:wj07Y ȼk7ٝ]/+-E0)؜q.;Y%AϛL -5k%3B/+!YwyVBhdǬ.!jG9uʩ GI(t:KE0d9E+4^'5^' $ $ $-&-&%%% F}/EdԗQ_&KF}UbWQ_'kF}YŘbL3RZ!+UO1d),ƵC>qf\K1d1jƵZ!QV3k5Zq-ŐŨO\R Yĵq-ŀŸbb'Ռk),F}Z͸b0RZ!+UO1d),ƵC>qa\K1d1ƵZ!Q0k Zq-ŐŨO\kR Yĵq-ŀŸbb'5k),F}Zøb2RZ!+UO1d),ƵC>qe\K1d1ZƵZ!Q2k-Zq-ŐŨO\kR Yĵq-ŀŸbb'k),F}Z˸b1RZ!+UO1dkQ׵%7kٻMvQ\LkQEQciuܶwswzחu:tۇ4m}xZj9}sӟ}iya= - Ý<6njpkLqy;2|XýFeU= kE`ݍ{^M;ɰ.Bq{h<]% DZT|eg_\³nC泀0{d>rcӞ#۞*fq.BwۿxwM; \ SI.p6} *&S|vk)TQ89M ΆZ{:_{> \m6>-kṢHxZk5܇o>OmY ⥧ K/=7,h+ުm@c88W?䴔nu/kxZS,ר|«0x9VG@T䗥-?)Jx_dtA5fV0E=?& -"ݹM,w/(vvQPpPr_ppVp3i86bS xA[Ëjǩ!E%TD]/gsjF [K"`RiƬpl'Ƙ2]NU6GaTq5."*qfJW-t:'VX'EN3钳 3t9c˂|G԰LeD]Ǝ+ +!Ռd$ÓܘI0$^hQ -6f{"2e'xuSgxY% VV'xcfo9 ǒŽn%eg,+k,gȌg",t + UM|xXߥY?sXT\ !ܸx1 D.qk? AWKo8 WRĞEsX`۽8?2~Im%I,z?ybV]$9Ј4w  -#lGB7]5K-G FUפvC$ě鸒4lI록^Ǐ GQܘ-o:JMOV9<+ۖ IƳ>1J×}qNE&A_zT=`V'?NZLW&^-c+[o)bojdzC4xi`!uoccoO;iŅ@e~︬B|4?4~M<"IDaF/5CuLcE -DP&q[8 -لCxPKL$&|쩔,wCH`8|TevB ]ݾeF&NЩdi) `zHܩZNuXF>gKrP+ n_E@ /,YgE!@W-ptm+o-dTתv'?^5bn""ʻyt-XnYeb,I@xнsCݏW^\)JV̡НJi2x$I9:/*EV,G9Z3F0qErXEhުA&ƿ h#h,ģ7׋ q~=xVޑ<3AMg0D鍄O!lu1 - y-($1M -Q8 "KX0iTO{ TυQ==E \gGZ'MvW;DOEy%41߬i@]TKan$bn{ ar7Lv!/.3wgf&Kгp#G8ٶeg|5I/FWDTv5]zE"W/~vtű`w`H ٕF )ʧ;ih@1rO>8z WQp.ʜHW}c9\F%GKl4m3Uܸ,pp>X<ڿTm_Ei#'\E%VϘ;ZiATqyIi(\i-\Z b{򘃙[YGza])s0# -Jw$N.bQ7q@Ϳ=w5bzendstream -endobj - -17491 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17492 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17493 0 obj -<> -endobj - -17494 0 obj -<> -endobj - -17495 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17496 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17497 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17498 0 obj -<> -stream -HW]s۸}@/tAIi8mZfhe:f*^vv{/D׊8qq..X7-{o`/_z:-KeugVHŪDωd%K\lmXuS)7)?]*yZ%W$[&&3c\8%l%M* mMkWi){vLYP=٧I.e6WjuwXX9?X%0}`=~J4W+o'nXseas|lېc8RbȊ 1`DC%Xv)c!,EWzEWzMבzMבzMבzC7zC7zKzKzKPE3B} y>'PGEE=G=>$LbD 1dC XkC YCV>ĀE6ĐE\׆kC>r"\b"GUkC XkC Yȵpm!PV 1` 1d#*µ!,B}ZE6v&\bȊՇ׆b!X}pm!PV 1d#jµ!,µ!,B}ZM6ĐE\ ׆׆k5C>r&\b"\b"GՄkC YȵpmC6Đ1` 1dC YC>r!\b"G5kC XkC Yȵpm!P 1` 1d#µ!,B}ZC6ĀE6ĐE\k׆k %pm!+Vb"\bȊՇYYi9,Ͻ 7{WJbducZjclK՗ïJrJvL*+ҿw٧)xw|> -^uSt Z | Sxm.lXlΖgAo s|6mYWk^\ge_^|䲋a.!c, "WFG,}bVj*M`\㱳_ szyN ?q 3n`ظ}].lp3YvYڮ]utshdcp;kv4ZD_guiV-T~z3*,᳚dm`tHt oOZwfZ*Oh}+~lް{[ 5PM ?l7U'nl=2¨_ͷBXC,Ϲ|㋭zY@[F7p|RԞpuvb*~A!F,&}Z:ɯgbp{F{> crvHɽ5h^hWalqNgcj fal̉p+ v>PkkXoabH_|}uo wԢ~֋ϸW\eqS*jMGސAVI|Bu>LtpڧO!.3G7T( g{@M?YJC -Y]4kkXU|}rB49@SliX#kxBOPլVVo6CRڋesCRÊ/G"OoXIb1)WM6 ϯ1W{k-M4G%O2=E"w`PDJJ@afxih|? 8@Gw̗0:v,XnKDQN2ԀMG?-8S+P씔B%C\/nklV6+rٽ*)(ip\J -3|8[lOkt ,ׅyE~ <䝎4I#?BxK3Mu^bfo"%5LkAJޕKr}4kM 6a@'3ԷcFE>_Nh6Mk̷f5r~g'˩ch8' fT[RK*ޭH ?*G>U}T KJi- -t%Wlv \.w>m4Mϳ{K| AnEMLFz6/nf)0/a瓖 _üs v76P?[df)#c$4xfohL'b\rho9J fJyV\bQ R?>]"r2Jog\i&r{9DMmUaw~8D+S|,7k&"ejP.yiN 2xR?H{$'uܙ#Y'NJ-y܏v-ɲ7Z3MpR>W_ O4gQ:b,`ϥT+9HXr/L /7oNH;o^0f" L"{ɖqtf7؏\ Mq2.j+xƛ3j̶ --̛]גt?˩W]NZ9ӎ$khce•D}K-5r4tSMt;bs@Qݎ.'xp˻Bu]jrә2N鸈k t_l#Ŷ;0B>omL򯗵'϶Al?ͳ6i鵲e^ӗO?=endstream -endobj - -17499 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17500 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17501 0 obj -<> -endobj - -17502 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17503 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17504 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17505 0 obj -<> -stream -HW]oH|篘sƜ~aH^ rHt;0hHO$MJvؐ*U4h鿊M~7*RYxmrZĪ4q:jS:m`TOYj6պ6BmVݶyp:7WN5 rX$RASQ"\.쥍Xg_df:f??ԋlQGɦ[uߕ R%D2<Hb #pڪ2J_wK*]m JQu`|rr D(,ŀe g Yލ),+̽[ sw{{g3>fc}ǂO s>ܧ}*OTp2>c3},F-ցRK1dqZ!{KH-Ő%gBj),=KRK1` ,VH-Ő%gBj),!C -,VH-ŀ%bܳZ!C -:pBj),bRK1dqCwO1` ,NH-Ő%guBj),!C ,NH-ŀ%bܳ:!C R Y{Z'bܳ:![^H-ŐS XBj),b),!C ,^H-ŀ%bܳz!C R Y{Z/bܳz!Z!KpRR Y{Z/b RK1dqZ!\yU.yp:[e&t z?D ׻"H8\$.BU[.L쥱Q -^fӬUl82Gl:i2?x.MT/.gemu[KjY`#g/DnS˫5tU_c[QԍHGa&찫TfQmU*"+S??*dD->8qY\a_aڪÜqk ɔ`gZ^L+b Z1Ji%V´RA+eZ2LʘV&heL+r Z9ղעŀe-ôe,Ӳ{+=Ő%hS Y{+=Ő%hS Y{+=Ő%hS Y{+=Ő%hwS Y\bb;a),Aͽb;a),Aͽb;a),Aͽb;a),AͽbùwʢZ^{!kQ ϯ{/=*hS O{/=d*hS Ϝ{/=)hS O{/=4)hS ω{/=ȵ(,E1< -Zlca?'+?Δgo5h{uoJ8 c]L~VK5aK8Of8J&{T)쇪NӚkC8U?(.1qi.LLlzͰk8bu~ @s'Ad.p΃#dmh~f1v(}݇]Aڷvbww ovwצ^=wmh꥜(0F}n_{  d8oWr $ 1KInݕزl%cD](}nl"ܴͺܑ]} ǻ6?zmnvCړ'[Ƕfu9Dp3lhVXuvxRlF -43IuL_ŷ֊?ɵ#5:˧.q ]Af״,ުw->15m6T?$Lv0ބCەvi4=vK璚>o/!3Y%<{ϫO~8ڐʋ@fH^-9R ,7} 6.Vww}X_7=WM60ЋKڢ@RE-rbkk!l_7$%So¥BăR+y ԺP0];T\ "9C]uvׂHq@$%!m&رkO#(ZZȓ Y[.mKZdicR迺^>˲eȅ*xhFM@8*9[4Vt$2b yP)թҰ CEpc TPWbDQJ3˞(4vf'mܮ;RL\5slmjx$9.@ -|}-] /+&cs+އ4Is{vӔjzCuΠxWB]tZթ[-~ձSϝOJqyfDy |nKS WCz{ť ) 2 -&ySwc'ȢUfɺYO-Ç:ҢVO+5Ct4 7_=۩.{Tz(ui1zo7n` &Rendstream -endobj - -17506 0 obj -<>/P 1019 0 R/Type/Annot/A 41254 0 R/Subtype/Link/Rect[129.600998 258.328003 352.524994 278.007996]/Border[0 0 0]/H/N>> -endobj - -17507 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17508 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17509 0 obj -<> -endobj - -17510 0 obj -<> -endobj - -17511 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17512 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17513 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17514 0 obj -<> -stream -HWko_1@׼>n/xyVeL9L%KIb{^43 -Öttf!}anŋ)_Γ*7PVe* 5$'m:oM[m[ϡ_/ mWdo h,ER1'i Ur5ۺYdH*_O^?mBgUjcX2̡v(>|t3`9JTfdbp -{x,U̝EH~1A: -KXe+bSۼ;dZU`\&>9ptjbQ YZs+XT\<Őe7z[Aeꭠ2VPoz'wL;>gL}&ϘLP1>gsA}/S_ ԗL})/z/L3j[%Fp-R,zWO1d X` kZR,̵Fp-KP\kR Yk)XzZ#b%g5k), ,A=s\K3[%Vp-R,zWO1d X` kZ -R,̵Vp-KP\kR Yk)XzZ+b%gk), ,A=s\K3Z[%Np-R,zWO1d X` kZ R,̵Np-KP\R Yk)XzZ'b%guk), ,A=s\K3:[%ZWO1d X`q ,+cWɫIr2h0Y$#W E,LVhѴ0p)޽|9l:'¨̫<7V[LpO+'Kn07o~{'EY<jÈDPYC2t2~4z zl+/k,mCR~:2t7uYb6U<_޼pn:ft:\}esw쥁mt,9XvSU*AT!9ݸo6y[pඟ*Y]aֶor, -ɇQ3XՄk7ݧaHZك&>v@JSKQ?\u1Ԗ.taDK@ljp9q"6376+T w}I-DӋK'k?M&B>]># 9i\Gy,CkCq|amgú@S{XUaZXͪ)LpgcnzpK> -Iaqi)~Bf6ͭYt9d=vvw3.Wa2u?^vl6mv5Oa|uheuGSVo}.&/O 璺endstream -endobj - -17515 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17516 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17517 0 obj -<> -endobj - -17518 0 obj -<> -endobj - -17519 0 obj -<> -endobj - -17520 0 obj -<> -endobj - -17521 0 obj -<> -endobj - -17522 0 obj -<> -endobj - -17523 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17524 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17525 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17526 0 obj -<> -stream -HioFW,/܃ǢP;G6i(rp)*N;VW'y.Y`CnK#޾D&a(-a\>=xtdj.heךS \F7[2z+[Foz@}c>f@0DO}*Ч>SF -)g}@YfZ#jTZS ]jRK5t ,FH-%г!TZKg5Bj.R ]=KRK5t ,FH-%jYjZKg5Bj6ZS \Bj.NO5tqzKH-%гZ!TC@RkR \Bj. -zZ+jRK5t ,VH-%гZ!TZKgBj. -LTFUp~aώo[׋#&Wf U)u>u7OVy2YfܜjxH94v*MGIǙo t]{ЏQMZwOQ^ՕԾۥ. Kx|Q}T{ރ6`]װCŲ*u>yw߉%;1߈81 rkaMx78o>@wukJuT<[F)y8t (uvp$a;t#$T eendstream -endobj - -17527 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17528 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17529 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17530 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17531 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17532 0 obj -<> -stream -HWko6_K臶 ] -y,Jf$w'9:$ϥx.ɫ߫~ϯa)ǟ~9;R3S(IgɎu'k'5,zW﫡Rcscc&zu-}M/%% 'ӂmueҤruq+ʹ0PojD lf4iY_Iԗ$b$J쉉>߯ǔݲTzJ |2_:)M)cNpD"R!+.Ā%D -0dj"bzzWzWzWzׄzׄz7z7z7zY>#gPGsB} y P_DKB}/ ga;$pm!+Vb"\bȊՇb!,µ!,B}ZI6ĐE\+ ׆׆k%C>r$\b"\b"GkC Yȵpmpm!PV 1d#Jµ!vHCV>ĀE6Đ1dC XkC Yȵpm!PV 1` 1d#*µ!,B}ZE6ĀE6ĐE\׆kC>r"\b"GUkChµ!X}pm!+VbȊՇ׆k5C>r&\b"\b"GՄkC Yȵpmpm!PV 1d#jµ!,µ!,B}ZM6ĐE\ ׆!1kC YCV>Đ/yYoOj+RL]rlc" Xl{HoťL5IrsHNK6 .x<^b6`Tujo-V"[DBLJ6bi0՞A"S.PS"|oY]w8Ly }Gao1YB&=}[{ ԛPmʜB/ Հ8FfSe ??p`*b~Հ}?^~4 *<4}]p<ϵX:<4܆oQZ6uV(` ċ/u/[>x\橙:lzfOm#s0PK{w>w(Lf*ʤ3;ZЧS?ycLC|]՚]g_@ՇIA9zwRD> p%75m5D]m_`O9[M'',Uo,X$ ?*ΏǒJqcSX2/X`| G㼰?N޺6ctH35p +&?[t+TeusRcoc -Nٸ,WI$KYpQ5v0)L#@ɇoU,U5g.f*5#+ -jwyXMm?v}!X{BP_l'Z~uSݜCN1.1p+ㅥW/Cqh_W_깱?dle+ -Br J?\NŖk& -^?q^Pȸ] MP}i]<'T{+?xD,tojw iaP88ȕ(>5\Cug)Hvϛj~>k[2k ȟ,0fOؿIs[ΧkCMOq`g'<+…ŭVq -zR ڮrؕVMOQ%JF}6RO L`>za=`Ԋ"8Oe|tRƇǴwg5Hr-tx<tu1v:TtDfu)*ɳ~^LrVUViaYCW- ܹ9&bAdH- %tj~tH!{)=`7j=K{*4/K-?K?N4f>L聂p -DUjc` v&g}O2J'5r[trj?)R#FC-VX]{\Oϛ$$Yd׺ptٷnj ӳ< *"RqU+iL_V-.x-"H#ބde{K{-:zDkMS5>M7:R^ȲmMPޫ)GY u|GJ - vz' ȻCp2CiLϛEyw|޿8pU/c̛0d6 yOKR̈% 2I*h:UOYgGDžX0W %%Wk!:jO|~c2KB+a3{x1{ fa>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17534 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17535 0 obj -<> -endobj - -17536 0 obj -<> -endobj - -17537 0 obj -<> -endobj - -17538 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17539 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17540 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17541 0 obj -<> -stream -HWko۸_6*Kܽ inEvHBXߡDQ69Ie!}H[_}ף§ 2~Hr_2RgޟrQcMGvRm:/Wνw F;ZPH$0', zVm^d`DгG^ϗ炆~q,ճ}ޛKȗܤulFͧh}2}Y2G3MzvwUҼ#[@Kx3%&o%^`-Dژ$1r1@QꢬBIes%oaaaaa/a/a/a/a/a"C}>rGa!#}1>v'a RĴvZ;P.{;(ĵvL\vL\v PkB!2ĵvLkZ;(ĵvLkZ;P{ǵ qZ;P{ǵ qS(Z֎ -qS(Z֎)q-C\k -#c -岷cB\keoeo֎)q-G\k -a︖#cB\k -a︖#c -w\1@!c -w\1B;k1B;kB!rĵvZ;P.{;(ĵvL\vL\v PkB! -ĵvLkZ;(ĵvLkZ;P{ǵqZ;P{ǵqS(Z֎ -qS(Z֎)q@\k -O"c -岷cB\keoeI,% %[]~(KaBw=ڌ_pnvhMߺ}(Wm^}xu}mV0I6|ߑ6 .U@c#>d8eJ?#V!A,X2L/g)3˶3DD:EUtFGulFZ(<ᡙ}aK-2entOu//u_~ZznΧ˳/~I!ZTyUwg_ufq 0ㄚq,;UrԷW/3WBib}Uexa4&=3%B^E -䎈!)iskhXkJM2HSL;Kݙ؟l[i9LU[JDdM]4 gyqnFG^K:qw񺻫\okۏ>菇jiO? tv_?Mjܧ.3j՟awDh\jhugD"_>+J%%{&qLu3fv5EC62jL'ѺmP+Bu֬f㦪EA']ir"'d]eM3ْTJ8t K@;/H+$~5D(.FcV2) 1\|ٛ[u.t"]uH`ƁW .X k r}83TpIixj戲"~8fbDX]Яx2u>qT0 Y~N2 o@nӘY3%/kA3}Lj&nECb$! z#\\XU -{K~B0 TאS#a=4 H\4si;;+9P9<1_#.6~?,ELC#-8E(>WݐfW -#vika>I_|zR]qLZ?ݙa }F m "ꊂ}n7ȋ ~WSO4&1aG6:~wK wSUq3j*0U$Q{CUV]As|"jMQd8@聛>Q| chIcc_jtx-<0)(qׇ#3r1a -CSIt6YmӦ٩_ sr#t8~w:چSTT& Ț&o4 lxuyY\M~ cz 5`R&"Q Gm^t"mAAup~v9ٚ22~s'aJC,۴/*Q9zwy<}8EIs&al;I5Ơ8X|͋/|(~YW#aϩymݳu0|iu0l≮_Gy| }((J_.+ۆj_*ᓗp]\/>/z8L}ؙ4ٿZzܶݿBGIm66Hhe:"K)𥇽|"5<8h -,I!nM4xy`{|uBK\u*r+١17) uRV&_ky)1X S'$$X*ۺWF:M/_I4 zqNl烒\1m/ e46 `RmX֏_z̝;uoP#+/f[ăN`I}tm=ܔjca^ZDkQ>(à!A2 qzZץE7?šc [ʱ o#t5nGl҈LٵuZM:ٓ,a%  9ȦHJI|q"NC#:ahT4< -CxuNݺJynn-d3P|iL1 Kĵ3~fAb)I!Rzw`h6vcN7BZ{fې~_7 -#L#0&* F! &04mgMb\Xz}U >wp<ҩe;5M*yYLQLB+2Z5nUV⶷ -q*TT۳X<EBiz{2oZ}VG [gE1'\)R08;sgA☟N%@*i=+ՕQl:Gh:kIHhPOWb՜' ssv"yY$zQ@&I;e{av۾)p+wX>g/7hvQJh7g^֓cvǦQx=+@';h76S RBN_3endstream -endobj - -17542 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17543 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17544 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17545 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17546 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17547 0 obj -<> -stream -HooFSE!l%$E1HKQ D$]JZ7CJr4;jazoJ=ș,;J -z֑OM&r{\q̣Fp8K4rYٕ -Ṇ.-^ :7 @oz#Л>Ӏ>Ӏ -6 @oLL\\\B/B/z'л AfZՑR5r\CZ+BzKH-%BjF.>HR5t  ZH-%Bj.!\#@V  ZH-%kj!\#@V Z!\#WH5t Bz+r\}Z#k!\CZKRkr\}Z#kR5r AjZKRkr ]BjF.>HR5r AjZQ*k -鹆.!\#WH5r\CZKR - ZKH-%Mr\}TH-%kԦBjF.>Hm*kR5r AjS!\#@6R˵:BjFkR5r\#WHb\ - |纎Ѭ,((o#7@ < u4髇g}?Suq&|›y Wд-?IgqYZnӽoz2riBfpQ}!AίnYv/w|lXL1RFUh| -bDj0vuЗu?lzyOQ0upElf'59 j]6gN.WYL~n|h/gwY-@On_Bۡ_TfӮvUm$@BGg C۸XLۉi\GӚ^5 m?l7`Kض~Ѳ٠v׬m)̄uLp/ZLq-MHs+ؚ=[@LxS$v#v&g퐊aN?{<*[s -a1z—j|3.yv5 @8iGLt]g1Xcd~ ۧ^U͸hzVٹŒE- ӫ\c\Ng)t0OmsS%a1%rwuTXy) :!Z5OoA=C]r -vk43Jt+t6 |[==IWvÎX~/~*|}=}糲ElYk]mKs:ºcqv_ \c r Ns]jRcJ*c)8{S߸3ģޯ? 574K+˃oϏ>7B0jnoe_$XۺZ }g/#f85<BW^y/'zendstream -endobj - -17548 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17549 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17550 0 obj -<> -endobj - -17551 0 obj -<> -endobj - -17552 0 obj -<> -endobj - -17553 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17554 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17555 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17556 0 obj -<> -stream -HWkF_1HP< &HrY-V%rCJ쿿nMpjkzjU3we{R/^\~g/_|hBSInԨ,QbTbuhU?P94muڨ -~}om^Wk(ֻAbUj,i_{iDz} _moIͻէۙ2ey_˻oGz/ ezn0_ut~_[S*(l -9>A]}P$SpNA8:D1d(,9`Jծ5O1`Aaꍠ0VPoz+L[ SO S>'L}*OTP2>c3A}g9S sL}!gBh)v Z!R Y\=ŐS XBj),A=KRK1d YjZKH-Ő%g5Bj),A=KRK1` ,FH-Ő%g5Bj),!C,FH-ŎRK1dqZ!zKH-Ő%gBj),A=KRK1` ,VH-Ő%gBj),!C -,VH-ŀ%bԳZ!C -1pBj),bRK1dqCWO1` ,NH-Ő%guBj),!C ,NH-ŀ%bԳ:!C R YzZ'bԳ:!;Z!R Y\=ŐQQNߢ9ZJ.qYQaUj} ²].(:cx{>VZէ[ִ1.Jlͥ;_Nz=g{ősQl]:S}S Yf7ɴnvck_}7ͼ=6Νr7+zCkKh1Dn-VZ0Y,,J*uz`Dֆju|Uݩoq6Xt5Ϫ'Z_hW:W}v˥]cPnaxTl<\龜t 7*r~G_֓ӾJ,s4ZPMVb|: <<X=l?Xt0-I`(t!֣qAX<>oB?p#w7 6hf7sFI6M~v6QJ~9n_-+(q1tp8̾O3 gc@c"챣&MCHk,oLt~e3DL6c[]7iWcoӏ/ccS؍M&pB e>weg/EHwxÎL,u!Gdzc<]ӊ`{M[ݝvL;.iJiXIkar[b(FuaQMxb.;1%y\,džߎy*$M4ˉWiim% fJpZzG[op$rI|9i'Xj(ݵl#dUZdS{|zVq`L>eUc8Ƚ:P=U0 [v9F x'yOYwEV5IY;7Iq/pQ]~ujV9<h?J{6o~YІj{s8ק}~6t_ifذ7~lC0,.clp˯O QYM2[L!b<#,`~PXmC|O1dZ{!*(\h2R *gg8\sz/XcFS_&ڿ%p9pƏ[jxo+D61y -ů~P n2sF9~7wfV_r@nS{ޜ:uj\NUWM0ĞU-YmRJɡM[h/a[AbmwlIRry3o'6) CU/z5Y! A-{?mL{szXhW'O_&V륳qᤳdܬhkz 9Hcu~<t}t4 :X5)b>!K͡Q>ơmdE02KyԇJILc -B"by]͍H~'y;xZH_u">KX`#%E/1M<8JɸEy$G"1y>/Htev5ib-{SADCq,33" E`u',bZ".E_WƂa <^3ub krsbm,D>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17558 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17559 0 obj -<> -endobj - -17560 0 obj -<> -endobj - -17561 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17562 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17563 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17564 0 obj -<> -stream -HWko_EPB>j:I- jRJJoYRɝQ8<3svvΒ|XV{뷗uItr?gyۙb=o 8kOqɾ1[߱[3/U!$xKCbNpD, s1` YfY!r Ż$^"P/zEWH"+^R ׄzԇ !RC>"GH}DP#1>FcB}'O RS>%# -´.$Z,ŀE, w1] Xk]̲ȵpYVu1`u1"#Jµ.fYzZIŀE,P\+ ׺ek%ZZ,B=r$\bEGk]l)µ.fYXpYVbջ׺ekZ,B=r"\b"\bEGUk]̲ȵppYVu1"#*µ.,µ.fYzZE,P\׺ӄk]̲zZ,, w1`u1"#jµ.fYzZMŀE,P\ ׺ek5ZZ,B=r&\bEGՄk] Xk]̲ȵpYVuu1] Xk]̲z,>ij_j뽝yL0f/m LȔG,l6lm6Yas|ľg7M5f_L}m36UG=>珯0: 0J}?~6K?MYUY|5Efa읛NhWn6ٗ:&UY$1Pdv>?L$H~pybm̀ul ՌuVվ2%: -xU"Zuʓ#%7wǎHtQO]O>u=t'h3P}-u_C?6b5b?#:(D▰}i]:7Uȥ)R W͊|;vG+6ecQyDg~3ㄋ4H<_k| XU/޴cU[OqW{_rXy [g5`N>ď b_CekïܙbP(:,h{b>Wjžx4 w*/͓馜* .]iqZlԋaǵĠ2U<"s۵= {s@~i;ԊeRsjW-SAwR!bvY{Ívbadc;Hwp雮p -#'Xgݥ&(z&{W|r\qٖ8\^Qpo}Q4x| xʍ-?vfMnƎWOZe5gvN]Ӎn-[Wf.W1l6~9#<3p~5Zķ*R8!CB!~vaY/v4qA0Bۛ>daJJGIIǢ͚lIbfq1:Q`!JЕ{lm{ξyW??N"endstream -endobj - -17565 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17566 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17567 0 obj -<> -endobj - -17568 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17569 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17570 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17571 0 obj -<> -stream -H|Wێ8}WdZI`v 6^d8<Ķ`UrM:$ݪn/7_}?v -|nԨ,7.%!ҪT?ݪ-ծ}ZetQMj,gZGITPb,b}/mYL?-> qb:sϪu4Eӑq;'i^3|%]D {ϛFN >~JFE)wlQ8'N,#Q Y|8Kk"ڵ),#7L --Soz;AcꝠ1^Pz/L{>ԧL}*OLP1>c3A}9SzY-bzKp-ŐS Y\=ŀ%b3CR YzZ#b3Z!KP\kR YzZ#b\K1d kZ!KP\kRlYCWO1` z!R YzZ+b3ZZ!KP\kR YzZ+b\K1d kZ!KP\kR Xk),A=s\K1d kZ#'b),CWO1dqZ!KP\R YzZ'b\K1d kZ!KP\R Xk),A=s\K1d kZKp-Ő%guk),A=s\K}R Y\=ŀ%b),>!w\Wf0J}z.6*͒ت>oB_[.gr qB/ yiWmVOU<3ˇX,gUtsN~_>؏5ĺ_~zݻ[^=>lW9O|/Ç#[Eĺ#:tgR[7AR` -rB,b9!c˳X^YTX+e2!VbeBʅX9 r+X2 E1dXbiK 4eX2B,F{!KyO1d X!),!{#=Ő%byo؝X,!),!{#=ΥEcY!),bX -X[!)bXh -X[!)bXB -X[!)%bX -X[!)šbX X[!)eE1dXÂN yO1,X,RM yO1,ՄX,"L yO1,„X,J yO1,X,I yO1,x,!ǢDB,^N+seǰ%wˇǺ!9V͐nޛIw\^U[M]>OUĦPDO_m6ʠmŎ֦?eq g+us8+^KǩݬU;ɸhD0BG(KyCpt ,6LWV\:c -g]NR_{N5? jk=/$q꬞*}V&3_M:Uȉmt7z{r'o7"7R FޅlLZJ+$X%aVEXjªUV `5+VV&lYa,i Y6',,OXXaxo3mx6axo3mx6axo3mx6axo3mx6l&-ʹEX}$L[GʹEX}$L[GʹEX}$L[GʹEX}$L[GʹEX}"L[Ȳ6axo3mx6axo3mx6axo3mx6axo3mx6a%fBͤEsN/a-o aRUlAY>.Z7ylM=V7aw4?=t N"^/eS.?tJө>0_BU4Z - IEyW:5B]v}Ͽ_p~o?nٺ]Yφnԭ7 }RW}e*Nz}3oɫū0vx:?wx9Ʌe%k'٬܏+ r!"8jilp9 VNKl+-= RG庥hfin[붾/x >O*$WQ*U6㩽ʠ/NZ>Q?t _r}2^&V&-`%JJUV J`UU" -X5a VCX j ++V0Eʹ,I',@XX@ {i@ {i@ {i@ {i Y6f",>m-#f",>m-#f",>m-#f",>m-#f",>m-dLZ{iD O{iD O{iD O{iD O{ixo3m!f"L[E9mO_aٵw׷GH+b-sO=vwVze,jdT[nڕ+de3ڡEոwvQ.r;O^HiHendstream -endobj - -17572 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17573 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17574 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17575 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17576 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17577 0 obj -<> -stream -HtWkoH_1 -lcAc!ah9҉æ[Ś!šUo^}pQݻ? Wq*m6J:bhU[)նlRQM~\:W4Uj BklS6IGmxS=ŦQKk4?}[f_^It<1*1 a.0ρzR:V_E~JަI@( |vl'9-#Q Y;Kk"EkS XFpo{#7̽[ --sow{;c}'O s -S>ܧ}&ϘLp1>cs}{{=ˬBKm`R Y=ŀ%b),bRK1d YjZ!KpRkR XBj),=KRK1d YjZKH-Ő%g5Bj),=KRK1` ,FH-Ő%g5Bj) Z!R Y=ŐS XBj),=KRK1d YjZKH-Ő%gBj),=KRK1` ,VH-Ő%gBj),!C -,VH-ŶRK1dqZ!{KH-Ő%guBj),=KRK1` ,NH-Ő%guBj),!C ,NH-ŀ%bܳ:!C 6HR Y=ŀ%b),G{b7i.yp5?j~ᢍR^ͷm8_jץf:w}ޗ\e3>2A(8BFb"*MpMS=fVu{^eިR1c PLHF.w.IK5t:^nrj«1q;Oġ{bvHDYL-gYjXe>+ۡ¿e~1E= ،coSծpjW7,ur:Gƌ=طa0@x|:§۪۽,l5uY@"DNI'۾ȢҧnË٥Ip%(1:>Rm6!w֦g\nCMxwYe3MVL! _$qo?Rq VjB!RYy.(qd?*aiD3,lG]9gqmmE7PU wb9סb$]rv?;ؾ<עAnvh)9DAa.‵0X(ԧ-뮯lH>4,5B[?\`~unSod>ʴMN xCFc;evӷLA QO$4u9]9N⠪&¿sQl\:/>pݤ+WIR]l D;2sű'ˑ2Ũo_تns!b UU?s%i*4ɫiũv_\[F֬wOQJy;hecB?g~S]]޿߫c+&s3rRKߊiʼnnC3fmhv1b}~6Y\r]B%|zugXz -SZW.7QO(Wgϳz]61)|TC`4^~:xI0WlaSraeO8;_U`yKuU6CuW s~b_|mr qށihi]-ת+gZo,^j>mQ>/\4]tN= tG@3 -u' -),/rcZ0DJV*hL+R ZiVδrA+gZ^L ZjkQ Y\b҂fZZLZiAսbX),AսbX),AսbX),AսbX[),E1` uO1d ZPC -uO1d ZPC -uO1d ZPC -uO1d ZPC -uO1d ZPCע-VN{!Kbu-VN{!Kbu-VN{!Kbu-VN{!Kbu-VPCע<3}҄/*8DYת^nRRet(˼NzmVKVxqlyop8zvuSvZg7WAt(ML`#5ۢ!XjƑNimݿB - -JZQriIK=4vO17VB @ =wF\wM?!g'ƕ0_WNӛ˫+TM.e!.n?z|1{" h\ 5#Bngo-G)bc<@]?U8qмΏ6_joᢻ߭Z~a]V_I Ҹ ` Qr~|pNH|gkǫoOkoۇop|qǧ6C+ZYVWtxe߇Cu[V5ORV9O r9E_]_7E?| I?LZ hVhXaUV XaUUVXaՀUV Xa%J+VXa5h3iYθ,oXXdXX{LZe'ΤX{LZe'ΤX{LZe'ΤX{LZe{I˲t-ΤXיx:`^g,}LZe{I x3i>u&-2ΤXי,KgLZe{I x3i>u&-2GΤXיx:`#^g,}LZe/:e[{I˲4M?&3ãD6>tE3Sp(rUPWXQˮjfԧ|s-Vf?l8|v804mK微Ej45M>g Jendstream -endobj - -17578 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17579 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17580 0 obj -<> -endobj - -17581 0 obj -<> -endobj - -17582 0 obj -<> -endobj - -17583 0 obj -<> -endobj - -17584 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17585 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17586 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17587 0 obj -<> -stream -HWmo8_f/R.p[t) -fbo(2E{AP?>3]Vu_a6W_.%)rI ~'M}IMC5طzK: }f]ogI8ea>IJ9fWvۆ_ VQy7,T'7ݵݱjv2zWK3&)EoQ>N{9T'<}OHfdNOt13p>dFbLL&Pr PPA9O6@ H HKLKLKL+J+JkNkNkNQ@T -aV mBT -aV mOT+6@!mOT+6B'jc6B'jcC! -DID͡R PjcCcCc6B'jcC!JD PjcC!JD͡j%(D͡j%PDQmlPDQmls(}Z6369T> -Qmls}ls}lPD -Qmls(}Z6 -Qmls(}Z69>QBT69>QBT -aV!mBT -aV!mOTƶc6J6@!mm7dYN6wg9sC6l[Ҵݱ:ޒn6"&$*K)/XrK2ẻy -^,\@K. {TEAKk )Lybi7`gV', EyM1tOjnZí)10jj\-r,/)1%ߙͶ:m鵚FWPH)-rRs\9\sZ8$Ѝsx -n. @_=62V(7D=PA.DpxPzcNU{WͽO+&}{hsXQӊmݸ Zy8GK/FCȍg'/.i/\:7%W/a]C<zQ@^\U.3P4m>pa>ΏE $dzMzt@4rںB6H - Ny2sƵD/HkOk{xvTTS~3TH@Ӆˋh6ߖAQ+V8bاqLm(нE|C(fhM|9NT\u[Uo}3};a|xk꾪MUp\ cꦹHxL9̜/"hAn|S`|!* @qjCjQPJfqSǝX\1+ 䦆C,•ν'D7:=K]TX&/QɬT2U.5MKꦷPU6jm|B߷kWGK|\arq+sY|߶_|xoN*Sf/]*MrTLd2{Kgh6qC6Iv 8cȕ{Z -o<B3\ۼ/WslROĜ0~駩O#)Z.[]Vɥ[,RyAy{h{֦r_'l@hb8tWPw[Nmn[r#]L.vá/|P@e\s~~Dm$<8=<; cʝSxs JšeKJ*4%tcρUDj'<a,-?+oI%dqCj3&*yYNWM6 1dvoCQh0ilv}EɖfwOl)=]\*Cй@fU)D h˗ԺqMq(AR$2DPs/|!ƹG"<?1JڑS~Sb-,2 -`@EYo i;zU!A `[1n*!Re\>hV{N+rY/bįrh׼?#uOv=47/sQS>8VJ<$lg>]A@aeÍ m:`N:s +mf76VTjVbQiOo7F/aL:cDHB<-@:z }biҹv+Bc]ѼbY_ڦ Ϯҽw8%Ng=Җv1{z%ccY&}E#edr-aKFMo* 0pj_q'qckeu}0UL;ah/Zߌچs-Nhm}g -M IW7o=4xeZ/[rɏc=ղ}n8('Z%7Ebp-hۈmY:ji2ocʡ>QKݫ 9a @M7-(~[iගӎAB$gyFV? h((~pslv<4&gө\YӊsrZv<xC:P?d%0oY^ÉTjf۬JReaHt\I6w:B1tc u^H}]нXe@݌Q?mKW(mҡ :'"sferɊD@pgS A˼6n8ԨO( $|YG"$M;;A~^]&l 1J=hͽ}IU>/P 1468 0 R/Type/Annot/A 35099 0 R/Subtype/Link/Rect[93.6025009 224.427994 202.358002 244.108002]/Border[0 0 0]/H/N>> -endobj - -17589 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17590 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17591 0 obj -<> -endobj - -17592 0 obj -<> -endobj - -17593 0 obj -<> -endobj - -17594 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17595 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17596 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17597 0 obj -<> -stream -H[oF ?lQ +/pq K̢V`20(W4M{gHJg&}howF}JgϞ8Mz2'VU2MՑV"*)Ӧz,WպZͺu&z^D'ʨb專VaNLft]ΚjU zdlo;KX[guӔ4ݛ~hM;5"!RIl~Zƻ׸("ִ=[\lGe>Vw*]3 /<:ܓю.e w ]ApQvc8F -)Oѧ}3>c@1\}.г!T[FVH-.!TC8=%jYjZKgBj.!TC@RkR ]=KRK5p zZ+jYjZKH-%гZ!TC@RkRm9!TCR ]jTZKguBj. R ]=KRK5t ,NH-%jYjZKguBj.!TC@RR ]=KRKeR ]jRK5tqzS \Bj. zZ/jRK5t ,^H-%гz!TZKgBj. R ]=KRK5t ,^H-ՖQRK5tqzKH-驆.Ny{gl=/0ʨbA_uUIcet3z\Uwj|hGv~w:~[ލp?G' -˲nɸ@gyt3oìQM,7LUs:>,3#8D]bSg,+U]umg7#`ƶ8]l zHΠÂfU5W_wdwO?ܾxuu1ϟ0Nb1o8[fܶ^8R_7sl<<xi<ľ/jqB.lVJI40(quW[;]e5[\a -oëϻ~W6xU' -n}uw>l6RqyTk7tSYצYMFXqڎg-:%4&<ýZжnЇA|yx aWu(X }.ۣxhnߗr=@m/iðynz{aSc?03}mG5!dU$4t%v#L%T%s#5d~4}}.닸.u=ikv۶o1"1tlWy2ToHMn bx/lKBKMjp(MXdCַכ׌SiSXG #|QM<}Lphoy#{Z&ۙaᩧ𭫬}B.`>1OboqEs6e}p`mP;ͺ/`es'S8 4i_xφ;ܨ52>AjBRP-K3SɅm/[ӾY(+pf5+endstream -endobj - -17598 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17599 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17600 0 obj -<> -endobj - -17601 0 obj -<> -endobj - -17602 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17603 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17604 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17605 0 obj -<> -stream -HW]}ׯУhfS^$Nh]_!([I^[6#c̡vnC \ߔ.׫WSóL/uj -r\1#C6 O?$"jWvjCCIurVɳurTԥpTZ^}ڦx%p s]{u™AȽL}*x"}??o6Mʙ4>q°Kng00m%DB62 -s"&m{{W{W{W{{{7{7{7{ y>'{K{K{K`_D }w{wH-I<*fm"Tm6cbG#JBQHP-P-y>R$TmET+ bbG#JBQHP-P-y>R$TmET+ b>Qjͣb(BQ1{l=P-y>R"TmETbbG#*BQHP-P-y>R"TmETbbG#*BQHP-M<*fm"Tm6cbG#jBQHP-P-y>R&TmET bbG#jBQHP-P-y>R&TmET b>1jͣb(BQ1{l󨘽c9r/uOZ"]OC͊4ϋtOfWO6y Ezd"Oכ4Q!ϯ֟ 3Ya3+< -q`DS4oM]0W7ϫy'[d;)9MWE!?$Nˉn>P6ہ>m`c|OQپnc+-X!]>v*apn. uȅ"l}IM61qsf2"!殫fʏӗ9SK8* _}4V䂙|/8 < 0Ό٪wzΞt >WS옽gi 4oeW 958)A~v"LJ'㗺037PêmC{J?4~aD=XPb~E9_mT).JX٪lڦğ4u@^ j?kl[fUy^m^KKyVŷ~m7yn -_yNͨ"Fs0@#D8$3ˈ,BH36 3~S-6 -.-Fq -Cn޷B".<+DŊl(yDݜtFU92­{ gK]Vc`cry;WN/ag^^!5IL9< gpѹϪЇrkgN=Yu3(Ȫ:|5Ɠ>djˡP&CQ[;Jl_z)]L]S@5ISb=ʅ02tKQ! ɭA<|d+8! Ü }rw~g\r O /#@j> k9$T5Xnul -[q`9<2/-"xt#:Îw\eX+f%4 k7nKӗȺmੂ lylN^șu?#Vs6`0U K ) ZGd iľp^7nvGpշ h}:yz;M/_endstream -endobj - -17606 0 obj -<>/P 346 0 R/Type/Annot/A 32527 0 R/Subtype/Link/Rect[154.800003 666.190979 281.401001 678.221008]/Border[0 0 0]/H/N>> -endobj - -17607 0 obj -<>/P 346 0 R/Type/Annot/A 17888 0 R/Subtype/Link/Rect[154.800003 653.190979 354.829987 665.221008]/Border[0 0 0]/H/N>> -endobj - -17608 0 obj -<>/P 346 0 R/Type/Annot/A 37570 0 R/Subtype/Link/Rect[154.800003 640.190979 422.299988 652.221008]/Border[0 0 0]/H/N>> -endobj - -17609 0 obj -<>/P 346 0 R/Type/Annot/A 31096 0 R/Subtype/Link/Rect[154.800003 627.190979 342.850006 639.221008]/Border[0 0 0]/H/N>> -endobj - -17610 0 obj -<>/P 346 0 R/Type/Annot/A 37557 0 R/Subtype/Link/Rect[154.800003 614.190979 315.559998 626.221008]/Border[0 0 0]/H/N>> -endobj - -17611 0 obj -<>/P 346 0 R/Type/Annot/A 43120 0 R/Subtype/Link/Rect[154.800003 601.190979 338.820007 613.221008]/Border[0 0 0]/H/N>> -endobj - -17612 0 obj -<>/P 346 0 R/Type/Annot/A 37549 0 R/Subtype/Link/Rect[154.800003 588.190979 345.480011 600.221008]/Border[0 0 0]/H/N>> -endobj - -17613 0 obj -<>/P 346 0 R/Type/Annot/A 17666 0 R/Subtype/Link/Rect[154.800003 575.190979 339.519989 587.221008]/Border[0 0 0]/H/N>> -endobj - -17614 0 obj -<>/P 346 0 R/Type/Annot/A 17664 0 R/Subtype/Link/Rect[154.800003 562.190979 314.910004 574.221008]/Border[0 0 0]/H/N>> -endobj - -17615 0 obj -<>/P 346 0 R/Type/Annot/A 17662 0 R/Subtype/Link/Rect[154.800003 549.190979 331.029999 561.221008]/Border[0 0 0]/H/N>> -endobj - -17616 0 obj -<>/P 346 0 R/Type/Annot/A 17660 0 R/Subtype/Link/Rect[154.800003 536.190979 343.649994 548.221008]/Border[0 0 0]/H/N>> -endobj - -17617 0 obj -<>/P 346 0 R/Type/Annot/A 37523 0 R/Subtype/Link/Rect[154.800003 523.190979 404.799988 535.221008]/Border[0 0 0]/H/N>> -endobj - -17618 0 obj -<>/P 346 0 R/Type/Annot/A 37516 0 R/Subtype/Link/Rect[154.800003 510.19101 282.959991 522.221008]/Border[0 0 0]/H/N>> -endobj - -17619 0 obj -<>/P 346 0 R/Type/Annot/A 29259 0 R/Subtype/Link/Rect[129.600006 485.490997 487.459991 497.890991]/Border[0 0 0]/H/N>> -endobj - -17620 0 obj -<>/P 346 0 R/Type/Annot/A 37503 0 R/Subtype/Link/Rect[154.800003 467.290985 292.130005 479.321014]/Border[0 0 0]/H/N>> -endobj - -17621 0 obj -<>/P 346 0 R/Type/Annot/A 29161 0 R/Subtype/Link/Rect[154.800003 454.290985 281.399994 466.321014]/Border[0 0 0]/H/N>> -endobj - -17622 0 obj -<>/P 346 0 R/Type/Annot/A 17652 0 R/Subtype/Link/Rect[154.800003 441.290985 399.240997 453.321014]/Border[0 0 0]/H/N>> -endobj - -17623 0 obj -<>/P 346 0 R/Type/Annot/A 29082 0 R/Subtype/Link/Rect[154.800003 428.290985 331.790985 440.321014]/Border[0 0 0]/H/N>> -endobj - -17624 0 obj -<>/P 346 0 R/Type/Annot/A 17670 0 R/Subtype/Link/Rect[154.800995 415.290985 301.579987 427.321014]/Border[0 0 0]/H/N>> -endobj - -17625 0 obj -<>/P 346 0 R/Type/Annot/A 17667 0 R/Subtype/Link/Rect[154.800003 402.290985 352.160004 414.321014]/Border[0 0 0]/H/N>> -endobj - -17626 0 obj -<>/P 346 0 R/Type/Annot/A 17665 0 R/Subtype/Link/Rect[154.800003 389.290985 328.821014 401.321014]/Border[0 0 0]/H/N>> -endobj - -17627 0 obj -<>/P 346 0 R/Type/Annot/A 17663 0 R/Subtype/Link/Rect[154.800003 376.290985 282.960999 388.321014]/Border[0 0 0]/H/N>> -endobj - -17628 0 obj -<>/P 346 0 R/Type/Annot/A 17661 0 R/Subtype/Link/Rect[129.600998 351.591003 487.460999 363.990997]/Border[0 0 0]/H/N>> -endobj - -17629 0 obj -<>/P 346 0 R/Type/Annot/A 17659 0 R/Subtype/Link/Rect[154.800003 333.390991 292.131012 345.42099]/Border[0 0 0]/H/N>> -endobj - -17630 0 obj -<>/P 346 0 R/Type/Annot/A 17658 0 R/Subtype/Link/Rect[154.800003 320.390991 271.290985 332.420013]/Border[0 0 0]/H/N>> -endobj - -17631 0 obj -<>/P 346 0 R/Type/Annot/A 17657 0 R/Subtype/Link/Rect[154.800995 307.390991 293.431 319.420013]/Border[0 0 0]/H/N>> -endobj - -17632 0 obj -<>/P 346 0 R/Type/Annot/A 17656 0 R/Subtype/Link/Rect[154.800003 294.390991 355.321014 306.420013]/Border[0 0 0]/H/N>> -endobj - -17633 0 obj -<>/P 346 0 R/Type/Annot/A 17655 0 R/Subtype/Link/Rect[154.800003 281.390991 376.651001 293.420013]/Border[0 0 0]/H/N>> -endobj - -17634 0 obj -<>/P 346 0 R/Type/Annot/A 17654 0 R/Subtype/Link/Rect[154.800003 268.390991 296.559998 280.420013]/Border[0 0 0]/H/N>> -endobj - -17635 0 obj -<>/P 346 0 R/Type/Annot/A 17653 0 R/Subtype/Link/Rect[154.800003 255.391006 331.230011 267.420013]/Border[0 0 0]/H/N>> -endobj - -17636 0 obj -<>/P 346 0 R/Type/Annot/A 17651 0 R/Subtype/Link/Rect[154.800003 242.389999 301.019989 254.419998]/Border[0 0 0]/H/N>> -endobj - -17637 0 obj -<>/P 346 0 R/Type/Annot/A 17650 0 R/Subtype/Link/Rect[154.800003 229.389999 296.570007 241.419998]/Border[0 0 0]/H/N>> -endobj - -17638 0 obj -<>/P 346 0 R/Type/Annot/A 17649 0 R/Subtype/Link/Rect[154.800003 216.389999 282.960999 228.419998]/Border[0 0 0]/H/N>> -endobj - -17639 0 obj -<>/P 346 0 R/Type/Annot/A 17648 0 R/Subtype/Link/Rect[129.600006 191.690002 487.460999 204.089996]/Border[0 0 0]/H/N>> -endobj - -17640 0 obj -<>/P 346 0 R/Type/Annot/A 17647 0 R/Subtype/Link/Rect[154.800995 173.490005 292.131012 185.520004]/Border[0 0 0]/H/N>> -endobj - -17641 0 obj -<>/P 346 0 R/Type/Annot/A 17646 0 R/Subtype/Link/Rect[154.800995 160.490005 378.679993 172.520004]/Border[0 0 0]/H/N>> -endobj - -17642 0 obj -<>/P 346 0 R/Type/Annot/A 17645 0 R/Subtype/Link/Rect[154.800003 147.490005 388.990997 159.520004]/Border[0 0 0]/H/N>> -endobj - -17643 0 obj -<>/P 346 0 R/Type/Annot/A 17644 0 R/Subtype/Link/Rect[154.800003 134.490005 313.950012 146.520004]/Border[0 0 0]/H/N>> -endobj - -17644 0 obj -<> -endobj - -17645 0 obj -<> -endobj - -17646 0 obj -<> -endobj - -17647 0 obj -<> -endobj - -17648 0 obj -<> -endobj - -17649 0 obj -<> -endobj - -17650 0 obj -<> -endobj - -17651 0 obj -<> -endobj - -17652 0 obj -<> -endobj - -17653 0 obj -<> -endobj - -17654 0 obj -<> -endobj - -17655 0 obj -<> -endobj - -17656 0 obj -<> -endobj - -17657 0 obj -<> -endobj - -17658 0 obj -<> -endobj - -17659 0 obj -<> -endobj - -17660 0 obj -<> -endobj - -17661 0 obj -<> -endobj - -17662 0 obj -<> -endobj - -17663 0 obj -<> -endobj - -17664 0 obj -<> -endobj - -17665 0 obj -<> -endobj - -17666 0 obj -<> -endobj - -17667 0 obj -<> -endobj - -17668 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17669 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17670 0 obj -<> -endobj - -17671 0 obj -<> -endobj - -17672 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17673 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17674 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17675 0 obj -<> -stream -HWێ6}WkDR /1}F͞KGRd[ERj5Y1n,)I~[5 uup 6۲?E>(`8, 8m,~ӴƸ}@Ly1? CT7_9KWU݄Bݡ%ԧPy3B}>'P{ B}/gaZkNŐw1`u1d] YzZCs-'\b"{k] Xk] Yzϵp!P﹖u1`u1d=rµ.,BZNŀEŐE\ ׺k9ZkAŐw1`u1d] YzZCs \b"{k] Xk] Yzϵp!PVu1`u1d= -µ.,BZAŀEŐE\+׺kZkp!Wb"\bջ|.,µ.,Bڄp!P6!\b"\b"{M׺kµ.,µ.,Bڄp!P6!\b"\b"{M׺kµ.p!Wb"\bջ|ETEoլ6nE>`Qin`Meٟf@d=(Ĥx աyG,/77u{lT o$|SF-bqE"лy_ur9cS? `Ph2ڗf/wO8(Dj{=&ϋVYN`ug7,({Q9s4NV,mkS;۝zQ3[5Xa-}Dj" iiJUʣL}Vay8 L XnQ'JCy |!LP>Y\J*g<8xSO]ہ{}:M} B֯G[Yzޡ&+ [lt1O$\VQ/W Ί8JęVUwpܡw6 : 0RhoƮ/Cf!6ͧ.T+{s\E?<X' GByvɚ~tYS1:f~aBuXX*9*xꃽۭ˧% -f말>%MA=S񠔅jvο1»[.B/5 H0̛W{/I]$ rX%vz<3.󍾦z)j>ӎ9jLni`r»BWq G>~ErNp\A/]iwVj - R&fVj^Ƚ$ABtl{<`=>>D8 in -$p/ Ձ -g{}5AI **DLjmO2׳BA`"> àpYz,|M7P-N9YIӟ戎_;}O!ͷ7kHF$<^nuB2RRnu9`hM0)c<+ZIS'EMEA=~\eDLeV EUS9mΉS%e\XGʸ;nsZ ލDPbg"iJĨ.ueo7w[O).[9D>UG`;JJ N(HbSDс4 J񠅮/LǤzL`AwK{,_J[ֈ;{+H WnE=B-P:!{n`X=6.6K٤{J@wf j~T+9S%2^}"*KK=j xy^Gȷ g(zI$Y*%}c͛50iNYT2 ~'yzp8;\k2GZ-'_M_endstream -endobj - -17676 0 obj -<>/P 708 0 R/Type/Annot/A 17677 0 R/Subtype/Link/Rect[93.6000977 327.628998 261.420013 347.30899]/Border[0 0 0]/H/N>> -endobj - -17677 0 obj -<> -endobj - -17678 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17679 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17680 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17681 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17682 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17683 0 obj -<> -stream -HWmoF_2Ț7̡(I^@[k%V]Z9ڕfí !!g:^Co//*LR:7NmJ#~7YD~jλoзood~-ӅExy8}!fn+/YdaC@rw [ĿZdU)F{fg\T~~o̫U3o M  FT*Q PB(bCaP)yjd˄d˄bثbثbثf넽f넽a؛a؛a؛}Ͱ5þN[M[M[M;K;K{O{}Y֙dTKmJSRRԆ=Q-!aV26D1JF(FԆ(}ZɨŰOT+RRj%ZjC>QdTKmbTKmb'j Q DQ-3Ũ6@16D Q){jZjC>QbTKmb'Uj Pj Q DQ-!aV16@16D1*FԆ(}ZŨŨŰOTRjZj[gQ-!*eOmbTKmJSR(FԆ(}ZͨŰOTRRj5ZjC>QfTKmbTKmb'Ռj Q DQ-Q-!aV36D1jFԶ ZjCTʞŨ6D}y?Wl.2]& ѥu[!LR8nlt4f*v'iPLA$J*1yH6sz -% 'U)p9 kǖ>.m6CRu'kW<[$e]*+ #oֽS?=6)8zJStM^>u})/ nٰ%hi -w˾MjKuYw+($+0V B;WUq}usk`.s 푛dBL߷l~WiA i!SS3vhȤH쯙ڻ@F+W mrT_( DBNi<]~ië'{ҊiYD|S|(,1-Lq!^z >f|%J7>AakMJd -~ltt 챺夘s/׭g$ V^΂g 7JD>BVަt`gpݴ 9lW> ]2U7BC3e񆵊TS/ooAv>)!2vXphQU= iG媿m<+\ {@A5f8ߥ"uQaxn2GX -o}k&6JB2V @uYYʋ¤nU +$@wlᎴF@ -dgAH2:/Ա4ୋrͦalTVǎūA[`!}[, ^MDjLX˩LwJIzϋ_lHƔc/*AQC*zr}C;\w'3 R =D>С*a?-9HxlVmX m+ ma&1b|ozE;44S -R?WJ ]8: }ceԆ l<+fWp%#\ퟙ\r$f(ATb!==`?"hLtЫEyS_!o\endstream -endobj - -17684 0 obj -<>/P 307 0 R/Type/Annot/A 29206 0 R/Subtype/Link/Rect[154.800003 665.190979 298.230011 677.221008]/Border[0 0 0]/H/N>> -endobj - -17685 0 obj -<>/P 307 0 R/Type/Annot/A 17728 0 R/Subtype/Link/Rect[154.800003 652.190979 267.660004 664.221008]/Border[0 0 0]/H/N>> -endobj - -17686 0 obj -<>/P 307 0 R/Type/Annot/A 29137 0 R/Subtype/Link/Rect[154.800003 639.190979 278.230011 651.221008]/Border[0 0 0]/H/N>> -endobj - -17687 0 obj -<>/P 307 0 R/Type/Annot/A 29084 0 R/Subtype/Link/Rect[154.800003 626.190979 350.661011 638.221008]/Border[0 0 0]/H/N>> -endobj - -17688 0 obj -<>/P 307 0 R/Type/Annot/A 29058 0 R/Subtype/Link/Rect[154.800003 613.190979 353.359985 625.221008]/Border[0 0 0]/H/N>> -endobj - -17689 0 obj -<>/P 307 0 R/Type/Annot/A 17727 0 R/Subtype/Link/Rect[154.798996 600.190979 348.920013 612.221008]/Border[0 0 0]/H/N>> -endobj - -17690 0 obj -<>/P 307 0 R/Type/Annot/A 28504 0 R/Subtype/Link/Rect[154.798996 587.190979 404.130005 599.221008]/Border[0 0 0]/H/N>> -endobj - -17691 0 obj -<>/P 307 0 R/Type/Annot/A 28462 0 R/Subtype/Link/Rect[154.798996 574.190979 321.029999 586.221008]/Border[0 0 0]/H/N>> -endobj - -17692 0 obj -<>/P 307 0 R/Type/Annot/A 28421 0 R/Subtype/Link/Rect[154.798996 561.190979 296.570007 573.221008]/Border[0 0 0]/H/N>> -endobj - -17693 0 obj -<>/P 307 0 R/Type/Annot/A 28380 0 R/Subtype/Link/Rect[154.798996 548.190979 314.089996 560.221008]/Border[0 0 0]/H/N>> -endobj - -17694 0 obj -<>/P 307 0 R/Type/Annot/A 28347 0 R/Subtype/Link/Rect[154.800003 535.190979 332.700012 547.221008]/Border[0 0 0]/H/N>> -endobj - -17695 0 obj -<>/P 307 0 R/Type/Annot/A 27606 0 R/Subtype/Link/Rect[154.800003 522.190979 352.029999 534.221008]/Border[0 0 0]/H/N>> -endobj - -17696 0 obj -<>/P 307 0 R/Type/Annot/A 17726 0 R/Subtype/Link/Rect[154.800003 509.19101 282.960999 521.221008]/Border[0 0 0]/H/N>> -endobj - -17697 0 obj -<>/P 307 0 R/Type/Annot/A 17725 0 R/Subtype/Link/Rect[129.600006 484.490997 487.459991 496.890991]/Border[0 0 0]/H/N>> -endobj - -17698 0 obj -<>/P 307 0 R/Type/Annot/A 26936 0 R/Subtype/Link/Rect[154.800003 466.290985 292.130005 478.321014]/Border[0 0 0]/H/N>> -endobj - -17699 0 obj -<>/P 307 0 R/Type/Annot/A 17724 0 R/Subtype/Link/Rect[154.800003 453.290985 326.321014 465.321014]/Border[0 0 0]/H/N>> -endobj - -17700 0 obj -<>/P 307 0 R/Type/Annot/A 26482 0 R/Subtype/Link/Rect[154.800003 440.290985 289.901001 452.321014]/Border[0 0 0]/H/N>> -endobj - -17701 0 obj -<>/P 307 0 R/Type/Annot/A 26459 0 R/Subtype/Link/Rect[154.800003 427.290985 322.5 439.321014]/Border[0 0 0]/H/N>> -endobj - -17702 0 obj -<>/P 307 0 R/Type/Annot/A 25915 0 R/Subtype/Link/Rect[154.800003 414.290985 336.740997 426.321014]/Border[0 0 0]/H/N>> -endobj - -17703 0 obj -<>/P 307 0 R/Type/Annot/A 25873 0 R/Subtype/Link/Rect[154.800003 401.290985 332.92099 413.321014]/Border[0 0 0]/H/N>> -endobj - -17704 0 obj -<>/P 307 0 R/Type/Annot/A 17723 0 R/Subtype/Link/Rect[154.800003 388.290985 425.881012 400.321014]/Border[0 0 0]/H/N>> -endobj - -17705 0 obj -<>/P 307 0 R/Type/Annot/A 17722 0 R/Subtype/Link/Rect[154.800003 375.290985 358.619995 387.321014]/Border[0 0 0]/H/N>> -endobj - -17706 0 obj -<>/P 307 0 R/Type/Annot/A 24991 0 R/Subtype/Link/Rect[154.800003 362.290985 302.190002 374.321014]/Border[0 0 0]/H/N>> -endobj - -17707 0 obj -<>/P 307 0 R/Type/Annot/A 24922 0 R/Subtype/Link/Rect[154.800003 349.290985 310.070007 361.320007]/Border[0 0 0]/H/N>> -endobj - -17708 0 obj -<>/P 307 0 R/Type/Annot/A 37667 0 R/Subtype/Link/Rect[154.800003 336.290985 321.029999 348.320007]/Border[0 0 0]/H/N>> -endobj - -17709 0 obj -<>/P 307 0 R/Type/Annot/A 24261 0 R/Subtype/Link/Rect[154.800003 323.290985 404.561005 335.320007]/Border[0 0 0]/H/N>> -endobj - -17710 0 obj -<>/P 307 0 R/Type/Annot/A 24224 0 R/Subtype/Link/Rect[154.800003 310.290985 282.960999 322.320007]/Border[0 0 0]/H/N>> -endobj - -17711 0 obj -<>/P 307 0 R/Type/Annot/A 23392 0 R/Subtype/Link/Rect[129.600998 285.591003 487.460999 297.98999]/Border[0 0 0]/H/N>> -endobj - -17712 0 obj -<>/P 307 0 R/Type/Annot/A 37655 0 R/Subtype/Link/Rect[154.800995 267.390991 292.131012 279.420013]/Border[0 0 0]/H/N>> -endobj - -17713 0 obj -<>/P 307 0 R/Type/Annot/A 22636 0 R/Subtype/Link/Rect[154.800995 254.391006 344.510986 266.420013]/Border[0 0 0]/H/N>> -endobj - -17714 0 obj -<>/P 307 0 R/Type/Annot/A 22589 0 R/Subtype/Link/Rect[154.800995 241.389999 402.520996 253.419998]/Border[0 0 0]/H/N>> -endobj - -17715 0 obj -<>/P 307 0 R/Type/Annot/A 22028 0 R/Subtype/Link/Rect[154.800995 228.389999 332.700012 240.419998]/Border[0 0 0]/H/N>> -endobj - -17716 0 obj -<>/P 307 0 R/Type/Annot/A 21970 0 R/Subtype/Link/Rect[154.800995 215.389999 352.98999 227.419998]/Border[0 0 0]/H/N>> -endobj - -17717 0 obj -<>/P 307 0 R/Type/Annot/A 21426 0 R/Subtype/Link/Rect[154.800003 202.389999 369.251007 214.419998]/Border[0 0 0]/H/N>> -endobj - -17718 0 obj -<>/P 307 0 R/Type/Annot/A 37641 0 R/Subtype/Link/Rect[154.800003 189.389999 369.25 201.419998]/Border[0 0 0]/H/N>> -endobj - -17719 0 obj -<>/P 307 0 R/Type/Annot/A 37639 0 R/Subtype/Link/Rect[154.800003 176.389999 282.960999 188.419998]/Border[0 0 0]/H/N>> -endobj - -17720 0 obj -<>/P 307 0 R/Type/Annot/A 20554 0 R/Subtype/Link/Rect[129.600006 151.690002 487.460999 164.089996]/Border[0 0 0]/H/N>> -endobj - -17721 0 obj -<>/P 307 0 R/Type/Annot/A 20535 0 R/Subtype/Link/Rect[154.800003 133.490005 292.131012 145.520004]/Border[0 0 0]/H/N>> -endobj - -17722 0 obj -<> -endobj - -17723 0 obj -<> -endobj - -17724 0 obj -<> -endobj - -17725 0 obj -<> -endobj - -17726 0 obj -<> -endobj - -17727 0 obj -<> -endobj - -17728 0 obj -<> -endobj - -17729 0 obj -<> -endobj - -17730 0 obj -<> -endobj - -17731 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17732 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17733 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17734 0 obj -<> -stream -HWkoF_144q"A]`*lRtҢ{I.D3gfΡ9XzëU^xU[]SiązYF1Jry$Q^yTyRr]ϮªZMtgHz?2)_B9$NURhLl}1k^ - 8.\Vh -;]Edqβߔ`Bs)ll~DUm6,2)s|lȧ9N,#Q Y|:Kk"REkS XFpo{#7̽[ --sow{;cS}ܧO)s 3>g}.ϙ\p3>g }{{=JK]dR Y=ŀ%b),bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%g5Bk),=kZK1` Fh-Ő%g5Bk)Z!R Y=ŐS XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` Vh-Ő%gBk),C -Vh-vZK1dqZ!{Kh-Ő%guBk),=kZK1` Nh-Ő%guBk),C Nh-ŀ%bܳ:C .JR Y=ŀ%b),{su^EYjU@Pp$EMӪL=?s^z&.T8C݇N]v _ϵIŷoCWf]mVaS] j6Z}{1Xڮ}oڀŬ}؆U햿ogLO]s,Ne667?ٓAYm'3a Y_=՛r1V.ԛN?x2lr -:U/jBݩ6vn m٩!mkxU]!0kN; Yaag}h'> Vw˽L5=a {x9sch}b'Ƞ ]6B&ݟ;ݕM51ypsp8359,p\N[kpe -7&Mnd1Yߔ׺'R5db bG1dyŴ嘖JiVʴ2A+cZ1\ʙV.hL -UZgZ^T$\bZ4҂fZF2LZ,F=Ő%h!CroS Y˽rO1d Z,F=Ő%h!CroS Y˽rO1dq-K=Ő%h[!CroS Y˽rO1d Z,V=Ő%h[!CroS Y˽rO1d Z,V=Ő%h;!CעS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1d Z,N=Ő%h;!CrS Y}*bZ{!k{wWxcYFJr= .[pKnx0CyX3Wޅ^)&i Msi>=nMgW]~_շLÚMa'aVJp1Muw^ϵlj/vp:UmB x3>'Y ]'c,\|2,臋 ӹ8.2;[thXvay7~uv~štP?5UݍW$?UC@ʑu1 eUC;@f|:9H_>0#yo-@RuwÀ8 +>=ɂ$&'KXu^BN׳/ZWFղVյbvrӅQJTP|])ԏn jR@N} l|\a3kG5Ɲm;BBw4iJS -@꿟C\)Tǵ.m[,BE^6 V=Lendstream -endobj - -17735 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17736 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17737 0 obj -<> -endobj - -17738 0 obj -<> -endobj - -17739 0 obj -<> -endobj - -17740 0 obj -<> -endobj - -17741 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17742 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17743 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17744 0 obj -<> -stream -HWko8_A`؋T_8[>.:]4MQ(6cKKJ~/EIțtP4"#{<~k/^~QSE/D g,P!@}9>+D -+D}YC\c1`!1 -a} Xk}̰kZ3,D}Zǀ Q!1Bek} Xk}̰kZ3,D}Zǀ Q!1Bek}qĵ>fXzZ3PVǀ Q#1Bk} Xk}̰k9Z3,D}Zǀ Q#1Bk} Xk}̰k9Z3,D}Z@\c1`!1 -a} Xk}̰kZ3,D}Zǀ QV 1Bk} Xk}̰kZ3,D}Zǀ QV 1Bk}Iĵ>fXzZ3PV^J)A4ׇ*\d/qJT!Z$wC>20rWL -H1ojݖueo|8`|Y4Y>SMwʪէm?}LL#onuv%z;׫;w3R_Wk",s [<nav"n*X±?j6vN(.άqv貞NN6= XJY*j̑8KٙeIɐ FpVzc?mχr}7 uSp&ak9t|f{G{,8KLVML2q2`g{$IG4#~~&ݱ_RA>ԧC9U8E6žC3}Xlj8Cm=(uzXlΣOjch/vݠNWu$yg -[%ǭ*jOhA DuWxtFQ)l7&hM ڿGNMa@Vi7bwunvê#X=cY/7D i<4I~3Ⱦ,nTo>U[?$*4f/H1$T 5eP1\jĂprf}*oG q/qиc1=jf1SMҿu Q2e? -{P̙MmWI96p+YK!f+ׇ#8ܗa)-*}chys'_?d, DuysqjK@O&9N0,~ALXfiwsWw`6p0jʣ"/_R(䴦x^a9TMh;OtęȔBܼbVŴʩ1*qkoC5J4n`\w}x{Cr@yeI-Gc~Y^ S`?O4XJp&ܤmL–iو\ ԙX(-Nu&nLebR8ۼ|1tgL'dEC64D -ёtғ!)D< yHY1/vNBk[lVc{e5\HjmFN)é'nQY画`Sޖn1c"7ɥ9Dښ0ي?f}c%y0|?g`Hbs蟛# -J-R.9䁀akh/ -vW*/iW3|m3@jq -/@ %*L:BfIYT-lǒϹ|dIUl+sPVR(wXP<__vCt^h Ku8x^s-JG$LkT;R`ZFqD8dWnDCj(|ޙ\xXKфV[d|Zj񣓝?!Q*2hlUYkf9"T)dEO\":O.`CqjhYH9{V`3>uk#-1fZvMF1!v_sCEX~tso/IoCwxO0L%-6ZCfWtCR4~?@h$FL41B$kj%QЁt3v!޸T!ButFϊZh$YEEϺ滫42oh>\fZii4Z"z9?l8?&#;WB\N2p<[]X[͞ywrùktT7Yi],O[^%h*dBZcXM*diT Q* zgѽgJU#gUɊ|fr8Jʯ3a"lcvj%jZ 8+=l7(b(5S2jsH»Coun?XHAH(gc%SlKNjmw ԥx7i 5SΧ&-_ppv%qו|%Z1[calq c|YƃzLwqfLX |~?. ->džfl(33nvw 2Xiӯݥs?5R>z!;ƛC9u>p9p^W/p%rTMg+Ľ@FIۯ҇70}P`lRF(=Q ͛uGD}g'Rfm4Ml8jiĴ 4h_Ux[P*-'YgM de".Xz6C&՚m 87f_4(A@h?wG"kMS ߇ e,rƷz<󡧀qcC/qB+Ch.,Ҵ]Ltůf@R\_(ܺ^ MAQTWm{()7/Js9 궬#wS@i14mGP41o".vS>ztM u|DYqԯ^ ~2RX-ΤuW8Ɛp:ުns -զ.hJaT2>"DYU(0/JK%\fWܦ ZoҚO `MVD V_c7M>?~G)endstream -endobj - -17745 0 obj -<>/P 860 0 R/Type/Annot/A 20127 0 R/Subtype/Link/Rect[93.6001968 663.229004 230.136002 682.908997]/Border[0 0 0]/H/N>> -endobj - -17746 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17747 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17748 0 obj -<> -endobj - -17749 0 obj -<> -endobj - -17750 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17751 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17752 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17753 0 obj -<> -stream -H|Wn8}WHit"Фii Pkѱ -YJ-ywhɶL"||pftHyUCNOWo #ggo/_Wk ETX$4deI0p`&\TEʗY3ʃ up>c~'y …1#F/oGSfo2x-$<|܄Fm(bC҆F*Qy=3E1-MBQ^ pfUf:ѱh5hECDVr<a{2$|0̬6ɧỼ0nt-]j"Հa.,Lwc~7ۯf:3M"B U|z8}\eTg1nQ~y<,]5YH^Bs,bAA0jG MN{HfSӉ6DwYUʹlj2 lAu/sH.ݧϗ^EtX:LEhdOTɼZ6.gMUP-z łT8n\vPiL6Uw7^lUQTOy}nY}ܜZS^:idyEgNz{<*D,P?^Zaoh'm0-R%>64Z?溿u<ःevB‰YJnd=-};Qvs }r*}ZL#Pv7xЭ -%^ض1T|p3o{ʛ1HAl{W'Ψ{q/HĔE>ɴ+q3(R͉u;\HVjo}ɵgx(ds~G;#*S TH<̲4<-h)O+B"O+B"O+FbO+FbO+AO+AO+ERO+EROK#Z҈vceZ.,hqO#Z^ w1B< .fY{, |/߻e!Z{,D@|bhy]̲-YbB|bhy]̲-Y^"w1BcGY֫݌Dv09`V=NHStCZ0ߚ͐ҍnFv~¦KM!"Ii]|^ffN~㔲yi^`&ۛ뗋K"KD&7H -$|zj4 ^1xdTLw0tAv8sxLNmm&1cH ])js|Y;aԠ^9B_7|ۆ y~45] ^˸mC]-Mg>/P 1593 0 R/Type/Annot/A 18440 0 R/Subtype/Link/Rect[129.600006 539.504028 468.30899 673.919983]/Border[0 0 0]/H/N>> -endobj - -17755 0 obj -<>/P 1593 0 R/Type/Annot/A 18421 0 R/Subtype/Link/Rect[93.5999985 409.428009 225.634995 429.108002]/Border[0 0 0]/H/N>> -endobj - -17756 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17757 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17758 0 obj -<> -endobj - -17759 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17760 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17761 0 obj -<> -endobj - -17762 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17763 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17764 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17765 0 obj -<> -stream -HWێ6}We^u&@`>8heR{*TŲ'IgN/ñ.N\x;n[F %E HъrZ6b{,6Tw?fIiJR-另}MM݋iFnd٪ e޼wS8%K׶KFim!ArswrPR'IM{Q*Dh8QNsZQd$!+bR*g YaQJ),ͨיzͨיzè7zè7zè7z˨z˨zǨwzǨwzǨwQ_e+F}ufיQ_gF}oMeԷQyV1رЌk)\=ŀŸbS Yzq-ŐŨ\R Y̵q-ŀŸbbgՌk),F}Z͸bb\K1d13jƵC>sf\K1`1k5Z!QV3ر0k)\=ŀŸbS Yzq-ŐŨ\kR Y̵q-ŀŸbbg5k),F}Zøbb\K1d13ƵC>sa\K1`1k Z!Q0رk)\=ŀŸbS Yzq-ŐŨ\kR Y̵q-ŀŸbbgk),F}Z˸bb\K1d13ZƵC>se\K1`1k-Z!Q2رpk)\=ŀŸbS YJ+*ZaZqn˶Lݱv[nPbP43t Y-+bsm!K5r(-UTVk"ZLSV@R呔,ey$a!>_ K -duوJR=\O;w(SVV@IJM 5˵-)PDRV54D}DR(E$a5Ue,I$aUUe$,RIYHʢ֊H²ZIYZIYZIXZ+")RIYH5Ue$,RIYԵIYԵIX2sd\+3JƵ2s]k[ڈ,ڈ,ڈFja[#Fmgake(p/k>=qjj%X+ay*$!~"h$WԀ9o/%_8Zam LRR"0sjs6g̼oELFŒ&P709b95^zuwz*\݉沥l^dj^opz+:qSͦ]/ϗzwmUt^-Ѣ׌s_wCO$JkQzqq~{Ne.,AƁ`ZX<-]-i7Z%VM;t~ Hw:Oavp>QqOa!ކF[]%C/!s+G?MB5 S<~ˇyemI=T)͔E5mp)lF ?S^ݻڅLtURL5 |m8FfJFe4n-KX=T6)=OcƗ^ݾM (8mD%}>x;!KSÜW!v -| X.6G0tɍV$y_*fG;i* U-|˻z?bwρ@^.؟&TC/MsUI+.zz[]w -/SCſ( 4w^{ՐUhݒѿ^Opߨ1˪fwO(p?^@&%ԣ>k?N=܏YӶulc@0& O8zx!8?0'O,z]$R| ?tZFуz) #ص.WQOZ5v{uV}?qaq|c7^k1FǘlR< O8?,޲nP5Hg qR/uҦޜO*`jz*zᣝZnk+"_~iZjE>rKneZ?WÁW4|C׫ )Sv^b$ı;7?vGo˺R?ʜ .G*paL/pyg.v! CP xZL.L.rL.rL.?eӒ@F὿RgEѢh"pQ#Jcuiggq@pU䪄"W-\5jWCFrՒ]>gnF DU\^q3J (7{܌.>q3J (7{܌bnfpQQtQEG=nF uE%\}fpQQtQEG=nF uE%\}fpQ7؅[D.ڸc~9' -7 =!/j%t.S޶]6?t?~NWF6G>K!x_vo*m>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17767 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17768 0 obj -<> -endobj - -17769 0 obj -<> -endobj - -17770 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17771 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17772 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17773 0 obj -<> -stream -HWnH|WÀ4$0qf3$Z - Y%xhz`HES1X 2v**iӚgN~;K_ۮr]rfet;g>D/^:cxU4Ij*S)ҌQ\hyG{Zdf<3ۺ,_^2;ˎrO6cU3m>_?8O}^us?ĥ;ݐlMsę;cSYL^y2NKbwQIN9+Ę,1+,Zm^brSp{{^Wp>3>3>3>s>s KK+Ug-(֑{ Vb%,^b{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb{ZZ+1fVbȃJYڽĈZ+1ficv/1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+u@k%,^b{1K@k%,^6JYjm@k%,^6JYjm@k%,^6JYjm@k%,^6JYjm:@k%,^b{1 7w.*Sd U -@+(ʀV2)hJ+Z*V -U(hJZҪV*UI-j-1KkI/k@*- r@)-TȽ!KiKY@KށKp ȽĘTȽ!KiKY@KށKpuT=ȽT=Ƚ"T=Ƚ"T=ȽT=ȽT=ȽT=ȽT=ȽZT=ȽZ$,%10-r/10-r/1 --r/1 --r/1>-r/1>-r/1>-r/1>-r/1>-r/1>k-1KkI@K>IޯubX3^D՞`&Ϫc".2kF.i|$2)dGdYp˪όצsξSmM]57[|x;hYN$=LSa@_f0\G3Wu[`? N&M,?nǗ jepz 4ۛ[8mP/Ĩw]!Zn)B-h*rU?^.g[qS)eM6Lۢgi/ˎ==x%E?>9>TS f7fZtLz}~Od2H$M[<`tcAO Y<(k= UgbW.P&̜'? HĘi l/zj9z'xv|:4RLy17_*+Mc6QZi-"6OGv],o;+[lo8;HˢsX@;+6}]ۍ?n2b7H-sOA^Rio>:G<}|oƪ[~& vqYk>݈'է\ 1;jAb̪KiVZAie@+SZʔVr\i@PZ*V JURiU@RZЪKĘ$F, Ҳ@*-r@KށKY@KށKY@KށKY@KށKY@KށKY@KށKY@KށKY@KރKYZKbʽʽʽʽʽʽʽʽ}Ĉr/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f- ^bZ#ȽĘ?~qt2X3^Dvw7cw%]R醲;_5#Ļt[vW4I+˞F4|)I|i/# +J#pC4Z:@OT [P/W}*2 |Pl|%`mK<-:9-;$C%vV"gKW[mhV'<6vL3]+j̾ol sud`R#N\upfҊaΥ [BPfOj-9')EoKyNݒDG̊#>6D"5"jgM =:o - -hLxW -V:p^$cf - Nb e4;6߁6R eA ӡK -ЕR&<@we˺A}A7G{?X@  RXOafnZQ!TWR׉X>R=edIRt y&F ,+\xxh-=T骪sB}X௏RwOc -Z~(PX)+8-j{+rjulʚ*~8B 'nYQ-9-׃<8mv ?[e.EQdEbŲ[.j90_eLߵ+S(SAc2ZGn#i Ӹ]2GpQc5:p6wB:Eu~ʹ@/wfvR!ުNH[ -*魙V" -d -㠠p~VzK8 7}^](EG -<ᤇ -ثH9 Ŕ+ -,"/Lx] GW1D5{+A7:/UwCg;_/ԙΞ ZRAhu-2D%,C { ,z$.DˑY"{'{r2v*?0rEinͿi0Fynl0@?|!y*CN96M -@"dhZct;b_i'#kc[P3^1w^+psH<^O!9;N{Nb>G$Oд r8@R2uuw_ßOrendstream -endobj - -17774 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17775 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17776 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17777 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17778 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17779 0 obj -<> -stream -H[oH+z$N}#H`xM, Vf$CɓYo)RU9G?V0v?;|RWDZBtfU9jW$IU2T-|\ڶLu2z٪MLFʨrD$UQEP*˯ی .m޶7c`=65|jC:8_VwM=u3*/ynBB:E=.VLWFR5WIt -~ sDcRLTCߎj2 (1jeV ;1z';Fz@}}`A>3F }s>g@_0B/}#=ˬBKUbR ]jRK5tqzS \Bj. -zZ+jRK5t ,VH-%гZ!TZKgBj. -R ]=KRK5t ,VH-VRK5tqzKH-驆.NO5p zZ'jYjZKH-%г:!TC@RR \Bj. zZ'jRK5t ,NH-%г:!T[%^H-.!TC8=%jYjZKgBj.!TC@RR ]=KRK5p zZ/jYjZKH-%гz!TC@RRm!TCR ]jQJ_ge(E{26Ley*W`5u= W ':2mU nj44ëͽ՚쭃܌թZ-|>:xm=ƺB]Q:ٗi˺/u@^`S4dˏ - ٙ'ҥB ZU^o N -u{2 -r8@vj/^`{9p"v9n?Wgjn _–.יaOK7/gm3W\rS]Ŏp4FO`Ŭ-כvAfc#}|R/+@\T[h !vQ}o,Ppm6A֚cӶ]VM#e^Yk ؓ&S>xm2r]v *~s1kolzO1guNAҎcѮW?"V$ x1=lF38߹Fb.ҭLD WE[ q7Pk] --j[Сd~8G]=$nk~}v!A#wJ~L M]gՂO0P2;uG4v2Ht7tt«h\QG8~z-N#qlcv}f3wfsOo/`7}w6X|8X=I'z-?P,p8ЫަC' Mak=Ƈ_TG3]J.VBǺc" 0xG0ͩftGܞz2kJ ?[WV(w*>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17781 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17782 0 obj -<> -endobj - -17783 0 obj -<> -endobj - -17784 0 obj -<> -endobj - -17785 0 obj -<> -endobj - -17786 0 obj -<> -endobj - -17787 0 obj -<> -endobj - -17788 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17789 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17790 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17791 0 obj -<> -stream -HWn}WQfdnbd1A@x mkFTԥj'xD>$Oyaӗ~ϟ{‡𓜇)󳔇 bȦgon4ԕ?;v&/`L?rz,,o~[h NjJ:uԧQ3G}F>sQsG}A/lLZ1dm Xkm YzCƀEƐEw\kZZCq-#\kc";ekm Xkm Yzǵp!P︖1`1d2µ6,BZFZ1dm Xkm YzCƀEƐEw\ k9ZZCq-'\kc";km Xkm Yzǵp!P︖1`1drµ6,BZNZO1dm Xkm YzCƀEƐEw\+kZZCq \kc";km Xkm Yzǵp!PV1`1d -µ6,BZAZ/!\kcr\6,W}E!mU}yő"L4-]=1oދ8 vOr7vm{yeXPii&ٔ<lL<8{\;ndYvX^Ԡ퇛w/l*CY[+hz#;iun&vw1?+GlЖT$zaXqorPèߧr-zh XNe堦" $L -6O#> -8E/AYBE5 -U}M_տ&ۥ<0;{wV9…\ ʦIQnǝM0cb)5rH!BVd~^ MZS_wZ/|3AaSG~?u`sulf۹k'qL.-{$e`͉1„ h_X; -.Q|9/rQpBs<]o,J¼iCOl8'!aJ% B(LX— ڷQqשt6}/GH83Ms\!6 }Ba5iNG2X2Ou Nh v=2|ĞT?K2'q;wŒGgw <'R_yjd}HUjM'Ll4zaGjf[3>. {*^eaf (Kyq6.2Rp8X'z0nyL롽YC g lVSVKWt% ߣaοh|<ɪƽ~8B/nj^-X x/S 75~(Q*h-ӔK9LI8^ryC'‚;b#$]vLk&AY8#fM󾩫fJ\M tafJ9]ڟUTׅ++#~7u@}tijW$3;\/* O)82 ʴޛƿ7?M{yjܓcݿ9]e &n0Iwxavfe8cvDw|9I0k\fSp]ٽmf.aOF:}x&"ތ>_/];D~fŖDZj\lG]Dvd |kd]?,ޕm撇0rp'3(6W+Hl٘oɿ>Qz3vR-HbUlx՛~Ynge{ݞ -U| #(7Y6vv]1XuVL_9vamK6d@ȀR=\^];(TH?r6|ÃrtXӚSJ zXJ؜Nٹ߼T81K@$czB}˭c8ehݦ c,`P -\oX6BeZԌ trL|M iIOȨ7#N^j){-N|f%ajSxrtV-(]K -Ƌ¦ăܽNjhDתTzyk>"Ubd[XZ1٥g -I;9lʠɖ|+16F%;ǎ#q'"9SNpiwP Pp}#U!хX1%->eK%juyNI I~Rʥ"lHN].5zU0Veʽm[g@ml׮ت Ny!"Py0D,}s_Ua55<|-h7%~^0`>SyAa8W,J׍W%=r g%f*)m\Ed-1Έ9y0{K}~^^de /ü-(i;HJDioE:K` [Rȧy!.G;F>cI*fJ-#cg -@䢄J2b1L+/ۂ@9؅7Hä q ˩Ga>]buXCfTތ'W1_d;` -O4ޘ0 lAV̷=5@_H?@eB`D>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17793 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17794 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17795 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17796 0 obj -<> -endobj - -17797 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17798 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17799 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17800 0 obj -<> -stream -Hmoﯘ(@je_&]Բlp# $C`ȕ._w+bQGϜ9;<Ҝ|ŋ޿1yĆFC`ʧ3eܙujIfnkZ'[sٮ۩YɻlurR+gHd&H*S/QQq!f]ځcm633>vy6zlHҧeݶYp[vyddK=лħ<)WI/RqVEa|Nb.(yI)ԈVSBc*n/5HTz;ރ^ W=HU>AA\A\A\/@B/@B/AR/AR/AR@J@J }T#Hfւ"q`jƔN/5J)^jLR# -LԘ:0Rc -WSJ(0Rc -WSJ)^MS+5J)^MS+5@z5LԈS+5@z5LԘ:0R[$LԘFZ1K)^jDS ZVjLjj=ZVjLjj=Z1ҫ`jFZ1ҫ`jHփQ`jHփS ZVj$S:ԈS+5tz1K(0Rc -WSJ)^MmS+5J)^MmS+5@z5LԈS+5@z5LԘ0R# -LԘ0Rc -WSJm`jƔN/5J)^jL11{/uԵ5Ic]L SYMH.FgYnȲѳiK!ɈfX޲Ivx=䗏O;6|:4a vyɜov6/cqsژ*_tcɧCy$kZ5房fӻO/~|TWY\]Wwf6/Mv:>m~VKyPfKrl]ޘl3^E-bZ=ܶє{nfGcrKs[zqxVK+1Cޒ;pRɆ??l~QOCL˴빗}=KcO_4 [7|Yx)@cv<_f:vmJM`Pn4ބP<-~6i+k.񠢁чݛVwܽa8N_?-oڬzwW%`=yM0̃IhI)g}8PsOjLE@) -+(x+^*W -U(xʫ^W*U)+J/i/1F^VyYe^Ny9z@RwRc -x;{1TԘ^^jL/{z/5SKރK)%5@RRc -x{{1T=Ԙ^^jL/{z/5SKރK)zARRcJ{I({1TԘ^^jL/z/5}SK>K)z@RRc -x{1Ts{1FԘ^11o:93I] -m{sn芒/ʋUtQUvm̦Y _UEtKCQكEI&ݮݫݹV׏nT{gMWƜ:f|?m1pʷ}Vf)}cX=Qcӭp3zm0j/tlo'|y!CݼnEԣ׫O߂ 9R&JҪ:rE ] q0s`ީH'hoj> v>2 N/A鮢Bc*JyW^Ay+W^9ʕW -UByT^%*W*UJyEW^QzL{I)%5,/r/{z/5SKށK)z@RwRc -x;{1TԘ^^jLi/z/5SKރK)zARRc -x{{1T=Ԙ^^jL/{z/5}SKjDK)z@RRc -x{1TԘ^^jL/z/5}SK>K)zK)%5@Ɣt }%޻%nn -'mUY6:Z5Yz{]NB{sW`5OU^V֬4R2_.;r 2O?A+.{0݂0311q=WC(!f2@Y/-Mӻ=p{Q W:LqJp5 ڤ,J>z˔YOצ=R8C]\?-YW#ْ:^f!^¶IB# -?OĊDif}I02Vބ/ӊ9¦>"&cwe$3Hb(Z;HrX%>( vx0endstream -endobj - -17801 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17802 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17803 0 obj -<> -endobj - -17804 0 obj -<> -endobj - -17805 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17806 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17807 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17808 0 obj -<> -stream -HWn8}W 2 8A&7vH@imnO_x~(Rl'E>U_fooWlf]IvsȞ/(`ufa,b.{jVvegEVs+|v<\+ihUs8Xy$ I#P;k5΍!4磇/υ窃\Lp;D _w8fUE. D>̖3&ʬ16#J@ Qt PBȆ(CbBc$^&%^&^%^%^%5^'5^' $ $ $ }/E¾$ؗ `_&K}U¾"W {K {KO4+ƶ.jcR PjcR Q)(B QDPmlC>Q$TE6!`Vm"'jc6DJB QDPml؆(}ZI6!`Vm]6Dc6DcR Pjcj؆(}ZE6PmlC>Q"TEOT6@m"'Ujcj(B QDPmlC>Q"TۺLmJ6@mJ6Dc6DjB QDPml؆(}ZM6!`Vm"TEOT 6DjB Pjcj5؆(}ZM6u!Tm"TmJZ˞/(`uV9s3%/XQ-͡ag\4c?כf+UgpɹcǶy3_We:LQ8U\i9>;#Dbڎ`[ٜñsyɥOn&* _'tgޮvw/iuA:LՋg캽fݑqw_]]C~WWo0!]_\Eשݟ-?%rk9H>yjn~@>~ CNS6Mlm4>dG*pYt>{lbc*x. U%$|loN/\r\-%f c _,b.I\҇v3 -VE7=wi4[7n==t82ISh[@Z&АV1brsDPB} v8AlZ®-r^]'~իY-ƸyiƸѮ G Ǿ#A8vO@oCŗ~SyFy,Zf jn٠bwv6(m9z5uw@y*b>V-oв$}a/3 .6F: h!vPp[3|׬} \oQq`3/7(]j';"~.}c G[H! @*W\M]]g|>~Sjk]η*hJbJYeir<9 -ZcNP~q?%Cd;yޏuhKϏhZ%@8 p—}**o~Bk-n HGNZ6|O -3S~,t(p] 7Qdp+Lx>ASBTBBl!5T=CzWWp7Q(ܮ NGa<<5RLW8%$y+,čn` ,V8qH ylPP=QgOZ#=[ց61q3h% +hk))s9_Jv;w vftrXp <D aQ?31 d -m2ԁTi0 #_- .!/ *qJv^2>%U[Wy3.i)}~;+s1F -ޞ( (Ba -c0KTP0țGa -@` u$E(G)[.a<- ¹/ 2f#pک1l6$K@cE'ߞJmHrHInLWIJj/P$~(BҏIP?s/iRM\V߬!9%5 OI\C(jN9="p!|0i b.ELNç{RVE(p9~CЖ;oҩڿU?߹{o ;Y ' - nDڏN/Ec!-r'OL ^<6H"Ȱ"6=£Txjm$9w}E)*q.0o3-QܕQ/vu&EiС(cJR1;F$#?#9Sevְp\ysCu 7 =As󴽐a APXbC kј/>E?mQ_>9=5=59N(̽PmUnNuZ;LAjUOHJ\}Z=/p*}yS:9M:w$;bpwqmkQ_I!0LKj0b.+Tk;ɚlz>Y VϣƲeU4ߥǦ;\ ©M3"$y_щT $p-"exlHXz5):b`Q`A`V`F tyX80|ExXdF]۪AۀrkoӤ\d()aEN8AFl-,[933s <'_,x ߙ<TeT}5rtO S2ӃaH[0yX\3r<`>ԫl:=5־"6LWx1!I\ڵ2 -ckbSB]]?e^5b2zmpaTQqu/6(]yv Ea~+Nڞy0T(*Ay8*PTP*jEP1W)*XIXX)XV'#C)IQ\@CPZ&ҖGvD'9*RTm΃b() χy -0T0 8*J*EqePN*h'S(%E%վTc@GTK=d(=AiJHQF%}jg#*qNSs.Qp>PArRmeg#e4geco!a{$aoa -ъ7z17q&QVsS6qP.p^RrV-&gh@EZl2nDJ^xxZE*^(Qj^VӪg쭡Uk ZkhZ˫':E3Z6>E+mN,P1b>9JQT* Tc^B Dv1)z^k~e@Yw%AykGjukT("5CIOQ0T5M=ռX$aߧɈSg@ɴ@ 64cu5(E@yK{ٻ@;D[[MٛGHkkE٫+C+KOKwG9\4a(w<Urj`Deyˀ2jgD'ySـRj o@I^8x%Vm?鎨$6I 7?oVIMǛXc"a-7W__V~r,wj.DwK.1zqf?q<^x>L+ twi[))YtvRvvju?i7zX7zwkfQWS>{PɵY_Z%Q G,x|n&>iww$ {~}y9et --=-ʶ|fS/fB'nsxOYچ);3/?wsmÆñ/}(Q T3;v_.gNTq̻ߝjp=|Z̷aW'fxj0 m o`+i8GR<@By>)/owC-X^}?hrFS> L/i?OOeŮeǘPlNh)C?o>ǛM7`vf endstream -endobj - -17809 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17810 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17811 0 obj -<> -endobj - -17812 0 obj -<> -endobj - -17813 0 obj -<> -endobj - -17814 0 obj -<> -endobj - -17815 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17816 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17817 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -17818 0 obj -<> -stream -H4;0=+ %B0EBi:$@@YFgqy DG&Ŭa=Bk]vz_4uS$!1e6/3n'OA,endstream -endobj - -17819 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17820 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17821 0 obj -<> -endobj - -17822 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17823 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17824 0 obj -<> -endobj - -17825 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17826 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17827 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17828 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17829 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17830 0 obj -<> -stream -H|WkoH_1Ot4e`{. Yb&zd)zpeɤk#R.֔*oӮ7?|?ޘܼzuuGbCfkC]0YLY,:5fsbMkrڷ67M׮kgk_/M.&^;cdԴHnjS)LVfmΞ.ϪOwcVO/7wHvjЛ5{כyb B̋}-˚UN<;uk3g{RBޙr37IER+~]%uy,ˤSkN-86$1f$F,k5K`̊%[KXwʽr{{+}rG>*}r_r_r_r_r_r_r_r_r_VbāJYڽĈZ+1ficv/1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+UAk%,^b{1K@k%,^փJYj@k%,^փJYj@k%,^փJYj@k%,^փJYj* cv/1bJYڽĘKXcpZ@k%,^6JXcpZ@k%,^6JXcpZ@k%,^6JXcpZ@k%,^6JlDZ1K@k%,^bͽEQT0DŪKiVZAiEVZQi@PZ*V JURiU@RZЪV jUZj\kIYZKb<-,вJ-Rw cʽ0ȽĘTȽĆ똥@%,r@%6N,A%,%1wʽ;@KރKrA%ƃ R h{{T=ȽxZ*^b<|-{r/1+ʽZKbZh{TȽxZ*^b< --r/1>-r/1>-r/1>-r/1>-r/1>-r/1>k-1KkI@K>Y]3z;[%|2ƚ"NYaXgyd|LKyz$*+erEd-iTs}1|7v٘Ŧ3uYv6"U˹ ~l\0[F+2JJ7}MFC>X|8V מGr<ܣ?7c37Ћ uq/~GWӁL[U _>nE\xe{DMoKs,^ApX\Zs`3cH2Čj&]͉7A;/RΏh*?yj};ޚ^'ɇxyjwXtMc-%[ ÷9,oفmxU͕wBNG߮?w߶[̚|˔0O>0~[jO=AVn}an{D]nf_A衞ᯗ1S 7rsl~ٮ3MC2rf٠"b|\@8v ~8L;r4_<۷|;:Ƚ|i[Pp?߭]?=>Cvd%%}t}scM]6Ūc+>cE듻Tp>vO=dڧnK?)5뾝.yCں̏V;)T}u~6wo^̴כ7oḾf/SFWZt݃`qfmZ0tfGVOcr_ûl߮P}E -7Xֲ8b?iZ8fcvj6ހ'ځa jC-ur3ˆ|j7sOlǞ6Q1~舝ΐm<܈>MrvBt1[jm#ĘU -@+(Ҋ@+**V -U(hJZҪV*U)hJZr֒ĈeUZhY倖SZh;{1 h;{1 h;{1 h;{1 h;{1 h;{1 h;{1 h{{1KkIX cR cR cR cR cR cR cR cR cR c֒@%,r@%,r@%,r@%,r@%,r@%,r@%,r@%,r@%,rA%,%1bKYZ-/&^;cdQÐ઒GchHE^ûWvR\Nn'+)i4u}?\ܹXfUtwYnֻHݖ؇f}̳2X6|OopwFjC<)kaQ6VV*+m - *ɦ6 ؾ_{m×ݥ>m[_.*vֳG7X{3"x;1qB1yfL6ӼQ/9 ?]O]'OCrR:ֻJsW18w+JLa]bB, ά,9a,XNV;7 3;b>ClpHODZ:qU OFG= -|t"c]n1B9 -w$΃{s|&k̖֌&qM7_5'%:VQ4XunlfjnܹY]yvǢnmVvt/RsնU%2᩸՚!U?W2[UG+ݠVQ9t0/e"]'y|OE`+t@Mendstream -endobj - -17831 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17832 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17833 0 obj -<> -endobj - -17834 0 obj -<> -endobj - -17835 0 obj -<> -endobj - -17836 0 obj -<> -endobj - -17837 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17838 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17839 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17840 0 obj -<> -stream -HW]6}ׯH4Pؤb X40 +kK-g{DɦA>9$/$o]z׏B7o.3Q6U0iEiqEH(шz_]N͡OFZj!)a)JQ˜"Xz7]+n^k'WJl"ZM/fwYV4SN]b ahdBINf:5iT 9@~NLœPR -#}RlER,F~I>yrʘS&"Q YtR1`r jW*O1`iFkFFFF[F[F;F;F;Fg,R1H}Ψ#9>rf\K1d1#jƵZ!QV3k5Zq-ŐŨ\R Yȵq-a\K1d),ƵCVbȊS Xk),F}ZøbbG5k),ƵC>ra\K1d1#ƵZ!Q0k Zq-ŐŨ\kR Yȵq-e\K1d),ƵCVbȊS Xk),F}Z˸bbGk),ƵC>re\K1d1#ZƵZ!Q2k-Zq-ŐŨ\kR Yȵq-c\K1d),ƵCVbV&-F e8iY&Ϣ9$oz L~H-\ -8VP5S:XPZ< |=iTYG}o3EFX YNRֈ,e)kD 2$@£\<\ڍc7/iTf4< JM%˕% τ,g)Eq*(K( Y6,/UTGB=$UeTGB=\I{$d9#!kBƚE5!!kBƚez,I{$`霪H2TG*z, YԵdZɸVFkeZ֖Եk'$dQN+R^˨^QxfӹNXtaW-x(rac^ "Dp㠲,E sCk YSQ$dMF5 - w1B~wå6dyfhpJN`s]H:EB1[+iucVhQ/g. Υ"!,Jͥ"!+YoM)|J]Z>D։Ǫv_A{JJ,=u#q aAvY3>7l6e7E36e7En- Yӭ"!kPdpBE -4%.FLgqĴ:*iTGL91vz2ٳ X`+K|W&Fw@:2ϦfƘ!Z;b-F/GH}Ubks- m6S-eCjLN՛|FiEw5{~)l p?Z;%-e6_v'? TU@6U[|n_Su?qu{txoM^nI|H@Vͮj1mWy&ȘY]6h(@ - fuZ5P<$]fIfO?+roWueiH 1y5]3;l.!a߂]IxǾׯ݁A:֐ۡviW8@_o0ܱqa]oEMͶND6'ҳ(BSSbn׊*ȮZX8tuuOg}hUĈq9=i"E`9|]&G`u .aKe߇j3V7 5XUV&s(Y[BlᆞM}{65C -miKe,p#?xy: f3Csm>܈TrnnC o07f)xbI<4b69U_?> k/&ppw2 Ig%6j ir"IaPbod21Ggr-*8 e<  XXU+֩:nKHs?v~;F9!4}֞1%ЊY,_Yx$E_p$')\'rYUx=9G`Z񱚐L|`8.@\}/3"h?pPg/1ZwfQ0Mt}W ;={dM+H֖ڲȦ!ĪAD.Iq,9M0*Im󀡫| -^G//F4Ӆ4dX_yMB$ ba^$;DN w7Mp[sA &~>݁o%Jm/@LC^#e(=Ctu}'4ˀ -JA #SA= -Y%.u0&)k/3l?1 -'Mh΅ 4i%kM^Wƕ57YB5rQAh U] 7u'ݼ:D"NEvQ -!8Z2-Av3&dCUya)s1N"NUIXVz;>~]k ~pNiqvhxWھg w\JVk3Ŵ, -ADT3L䊗t^bKlz;} -0endstream -endobj - -17841 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17842 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17843 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17844 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17845 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17846 0 obj -<> -stream -HWoFο7I(`;"E}B{@ZTqHJ$3CLJ fU{LT?x&o]5.͂I`3oҶJ~KwJirڬ4mmN:Τz\.L姤ETZ·4WE&fwvë嗎mlU07De?[PSb3jB/*O҆xH -M|lSrNI8ZYFr֜E0dyEkS XFPoz#7L[ --Sowz;Ac꽠3^Pz/L}>S s>L}.ϙBP_0`KA}ԗzY-bzKp-ŐS Y\=ŀ%b3CR YzZ#b3Z!KP\kR YzZ#b\K1d kZ!KP\kRlXCWO1` z!R YzZ+b3ZZ!KP\kR YzZ+b\K1d kZ!KP\kR Xk),A=s\K1d kZm'b),CWO1dqZ!KP\R YzZ'b\K1d kZ!KP\R Xk),A=s\K1d kZKp-Ő%guk),A=s\KmR Y\=ŀ%b),ʲt?ѯmrL.Kt)Ѫ.+tM>.\fWPwko??Gq&WYj!fݑUw=]1* m[|z(26sQR`$*S*|:tQjG۾fw_f]@|* F 2=aEVځBpY9?w3bW't/|,&5.drJ* ;zղ a BFja=C':Sw*7իez\׸qVg^+3v10}JcH֭ B 8%WwkqW=f]fE/(yK 6@F8#A.ϥR5cиoo/=Sl^Ez{wI}.xrR_sv -g?DՄ|n>sm`7Tfw3CXif] {a0kotBi3n%iC -SHOűwY ܜ0 -8jm`h9 ނ|38ۡ4A$p6:wr/uBu޴m ~14 h\hઌ Do$;LO6֖% /9(<H 4FohJDns7+ߪHljxZq@afb -j=JQq+|!H]qD,n7z|qGb>*Nb9F-y<զZnCw~xn+?B)=4!z%}=ts*^\Nqlfv%<5ͼEwǛ1gA9$i$( -Ir 30{IS:~}Ьy Nj6U,cwX;EEٻgӟҋEL'nnaeSQU[<]ܮg T+;/L -9*~ʗvrcv*D<uL8MbpV=m̕sw_7vˆrJ1 -yUD)ώt -3 n%oL?v}^!4Wy\^Hkf~<7JSxpc9Tzs^;57M4p~endstream -endobj - -17847 0 obj -<>/P 268 0 R/Type/Annot/A 41660 0 R/Subtype/Link/Rect[154.800003 666.190979 397.269989 677.221008]/Border[0 0 0]/H/N>> -endobj - -17848 0 obj -<>/P 268 0 R/Type/Annot/A 41618 0 R/Subtype/Link/Rect[154.800003 653.190979 389.360992 664.221008]/Border[0 0 0]/H/N>> -endobj - -17849 0 obj -<>/P 268 0 R/Type/Annot/A 24260 0 R/Subtype/Link/Rect[154.800003 640.190979 335.779999 651.221008]/Border[0 0 0]/H/N>> -endobj - -17850 0 obj -<>/P 268 0 R/Type/Annot/A 41530 0 R/Subtype/Link/Rect[154.800003 627.190979 290.911011 638.221008]/Border[0 0 0]/H/N>> -endobj - -17851 0 obj -<>/P 268 0 R/Type/Annot/A 23390 0 R/Subtype/Link/Rect[154.800003 614.190979 336.579987 626.120972]/Border[0 0 0]/H/N>> -endobj - -17852 0 obj -<>/P 268 0 R/Type/Annot/A 41459 0 R/Subtype/Link/Rect[154.800003 601.190979 311.019989 612.221008]/Border[0 0 0]/H/N>> -endobj - -17853 0 obj -<>/P 268 0 R/Type/Annot/A 37653 0 R/Subtype/Link/Rect[154.800003 588.190979 337.149994 599.221008]/Border[0 0 0]/H/N>> -endobj - -17854 0 obj -<>/P 268 0 R/Type/Annot/A 41405 0 R/Subtype/Link/Rect[154.800003 575.190979 328.359985 586.221008]/Border[0 0 0]/H/N>> -endobj - -17855 0 obj -<>/P 268 0 R/Type/Annot/A 41337 0 R/Subtype/Link/Rect[154.800003 562.190979 317.700012 573.221008]/Border[0 0 0]/H/N>> -endobj - -17856 0 obj -<>/P 268 0 R/Type/Annot/A 41300 0 R/Subtype/Link/Rect[154.800003 549.190979 282.959991 560.221008]/Border[0 0 0]/H/N>> -endobj - -17857 0 obj -<>/P 268 0 R/Type/Annot/A 41274 0 R/Subtype/Link/Rect[129.600006 524.491028 487.459991 535.890991]/Border[0 0 0]/H/N>> -endobj - -17858 0 obj -<>/P 268 0 R/Type/Annot/A 41237 0 R/Subtype/Link/Rect[154.800003 506.290985 292.130005 517.320984]/Border[0 0 0]/H/N>> -endobj - -17859 0 obj -<>/P 268 0 R/Type/Annot/A 41195 0 R/Subtype/Link/Rect[154.800003 493.290985 349.399994 504.321014]/Border[0 0 0]/H/N>> -endobj - -17860 0 obj -<>/P 268 0 R/Type/Annot/A 41168 0 R/Subtype/Link/Rect[154.800003 480.290985 302.678986 491.321014]/Border[0 0 0]/H/N>> -endobj - -17861 0 obj -<>/P 268 0 R/Type/Annot/A 41148 0 R/Subtype/Link/Rect[154.800003 467.290985 303.23999 478.321014]/Border[0 0 0]/H/N>> -endobj - -17862 0 obj -<>/P 268 0 R/Type/Annot/A 41118 0 R/Subtype/Link/Rect[154.800003 454.290985 357.149994 465.321014]/Border[0 0 0]/H/N>> -endobj - -17863 0 obj -<>/P 268 0 R/Type/Annot/A 19676 0 R/Subtype/Link/Rect[154.800003 441.290985 338.359985 452.321014]/Border[0 0 0]/H/N>> -endobj - -17864 0 obj -<>/P 268 0 R/Type/Annot/A 44249 0 R/Subtype/Link/Rect[154.800003 428.290985 333.290009 439.321014]/Border[0 0 0]/H/N>> -endobj - -17865 0 obj -<>/P 268 0 R/Type/Annot/A 40725 0 R/Subtype/Link/Rect[154.800003 415.290985 282.959991 426.321014]/Border[0 0 0]/H/N>> -endobj - -17866 0 obj -<>/P 268 0 R/Type/Annot/A 40686 0 R/Subtype/Link/Rect[129.600006 390.591003 487.460999 401.990997]/Border[0 0 0]/H/N>> -endobj - -17867 0 obj -<>/P 268 0 R/Type/Annot/A 19027 0 R/Subtype/Link/Rect[154.800003 372.390991 292.130005 383.42099]/Border[0 0 0]/H/N>> -endobj - -17868 0 obj -<>/P 268 0 R/Type/Annot/A 37612 0 R/Subtype/Link/Rect[154.800003 359.390991 313.399994 370.42099]/Border[0 0 0]/H/N>> -endobj - -17869 0 obj -<>/P 268 0 R/Type/Annot/A 39562 0 R/Subtype/Link/Rect[154.800003 346.390991 311.929993 357.42099]/Border[0 0 0]/H/N>> -endobj - -17870 0 obj -<>/P 268 0 R/Type/Annot/A 18897 0 R/Subtype/Link/Rect[154.800003 333.390991 311.269989 344.42099]/Border[0 0 0]/H/N>> -endobj - -17871 0 obj -<>/P 268 0 R/Type/Annot/A 37608 0 R/Subtype/Link/Rect[154.800003 320.390991 412.589996 331.420013]/Border[0 0 0]/H/N>> -endobj - -17872 0 obj -<>/P 268 0 R/Type/Annot/A 18832 0 R/Subtype/Link/Rect[154.800003 307.390991 325.790009 318.420013]/Border[0 0 0]/H/N>> -endobj - -17873 0 obj -<>/P 268 0 R/Type/Annot/A 18798 0 R/Subtype/Link/Rect[154.800003 294.390991 322.140015 305.420013]/Border[0 0 0]/H/N>> -endobj - -17874 0 obj -<>/P 268 0 R/Type/Annot/A 18765 0 R/Subtype/Link/Rect[154.800003 281.390991 391.269989 292.420013]/Border[0 0 0]/H/N>> -endobj - -17875 0 obj -<>/P 268 0 R/Type/Annot/A 18644 0 R/Subtype/Link/Rect[154.800003 268.390991 366.26001 279.420013]/Border[0 0 0]/H/N>> -endobj - -17876 0 obj -<>/P 268 0 R/Type/Annot/A 38297 0 R/Subtype/Link/Rect[154.800003 255.391006 376.269989 266.420013]/Border[0 0 0]/H/N>> -endobj - -17877 0 obj -<>/P 268 0 R/Type/Annot/A 38257 0 R/Subtype/Link/Rect[154.800003 242.389999 382.589996 253.419998]/Border[0 0 0]/H/N>> -endobj - -17878 0 obj -<>/P 268 0 R/Type/Annot/A 38233 0 R/Subtype/Link/Rect[154.800003 229.389999 382.589996 240.419998]/Border[0 0 0]/H/N>> -endobj - -17879 0 obj -<>/P 268 0 R/Type/Annot/A 38225 0 R/Subtype/Link/Rect[154.800003 216.389999 334.651001 227.419998]/Border[0 0 0]/H/N>> -endobj - -17880 0 obj -<>/P 268 0 R/Type/Annot/A 36746 0 R/Subtype/Link/Rect[154.800995 203.389999 282.960999 214.419998]/Border[0 0 0]/H/N>> -endobj - -17881 0 obj -<>/P 268 0 R/Type/Annot/A 36695 0 R/Subtype/Link/Rect[129.600998 178.690002 487.460999 190.089996]/Border[0 0 0]/H/N>> -endobj - -17882 0 obj -<>/P 268 0 R/Type/Annot/A 35925 0 R/Subtype/Link/Rect[154.800995 160.490005 292.131012 171.520004]/Border[0 0 0]/H/N>> -endobj - -17883 0 obj -<>/P 268 0 R/Type/Annot/A 35873 0 R/Subtype/Link/Rect[154.800995 147.490005 264.890991 158.520004]/Border[0 0 0]/H/N>> -endobj - -17884 0 obj -<>/P 268 0 R/Type/Annot/A 34218 0 R/Subtype/Link/Rect[154.800995 134.490005 382.591003 145.520004]/Border[0 0 0]/H/N>> -endobj - -17885 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17886 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17887 0 obj -<> -endobj - -17888 0 obj -<> -endobj - -17889 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17890 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17891 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17892 0 obj -<> -stream -HW]o7}ׯ 4sHCFq{IH"o$bGc?x_߲o&ͅgWjfV*n$5l3D%\٬Kf-l\^vz6[O<$gbrlLfMӄ4\ ?vH~S{|thږ]FYM|j>~qY~oO]K=}`}Y!,]W뻣#h$hP]ZryON*ұRU^K1#^a;.-Wll6 d؞ */ׅ ;[q(S S`IUm6 ̃IXc "ekyBA=dP-hTWT:DVi;Y6R06ap;o1-!R.Ɩk/V n)աоqbMnݠ4(OJ@ cX!C*gR/9F+\LKf  -e80f.J{N}*gRS2mR2{$2lς3H_+VNmZc9qr#~ _+\3rf>d;\(nZ;. jy}fp Q* #xF|Ntr - L.$WZ e%7F:yS")#Gb-L Kp /D2WIroTǣ5𲛐 e_}VK.C'jHQFQ,Q(Yx!pY.k{%f#M`Lm>.\LO - -rC,pcZzۆaBGHaٹӆaXpl5Eld4ɲ@H~vm $͗{Bs̱a֘Uפ1֑gA"m#2͆b^>F|>bI$ΐ{f>ic#T)xCOC 1ǷFuJg `iI"0BeX\om,YytkX6MXJ7QFEzFg]yr{h>AW^prjL;\s&]:ozi?`*@KᆎRy-YP "7a\>a-O_I 0endstream -endobj - -17893 0 obj -<>/P 842 0 R/Type/Annot/A 17894 0 R/Subtype/Link/Rect[93.6001968 663.229004 275.627991 682.908997]/Border[0 0 0]/H/N>> -endobj - -17894 0 obj -<> -endobj - -17895 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17896 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17897 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17898 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17899 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17900 0 obj -<> -stream -HWm6_'/H|Ļ% Pp1Ax]Jn3i[&"ϐ|WA|߼{+2߾ILrV_TZHQ*5Rt.UL'hDnSͣ{nڮٺkVkW?}O^/Ww%r\'&ɄeV6]|piwFliqqV%1' {t薥F,W"xk-Seྸ3,btZ:MDH*|&+Z{(%GP0OJxy&~>c&DbU1-2Ml93l5cc%RdTKmbTKmbGj Q HQ-Q-!aV26D1#JFԶMZjCT̞Ũ6D Pj Q HQ-!aV16@16D1#*FԆ(}ZŨŨŰTRjZjZjC>RbTKmbGUjmhFԆ=Q-!*fOmSRj5ZjC>RfTKmbTKmbGՌj Q HQ-Q-!aV36D1#jF(FԆ(}ZͨŰTR61j Q1{jZjCT̞V 5W2yW"ug>i!Š6Y,4diYHʫK}V<)%Ow8ҤyyغЋJY!JURΏlw.̸І}ZR5j)S'"ۺم F4f2;Zviw˚9? Z58Ӟ3W6; -E{FTF'lEj/ Uq%XYGhsU2'62hzߨfw;v7@Oa8hM0Znpw|6O"3?24Vv Hn ޭ'kifRn7i<> aM>N#?>~qJa!쪀!)({jzwMFJƔc.c'Bg\%6wuJUL2?ccǩ}4CBmY)jr}EKTlrn7Gsu;HX7݋81N"ON<͝2s.*5s? 8r{1pWn gdU2s:^ZDݻ8T)%G}B:^L*sPMueN ]ܭSp |vafȨoznL³xI5QrKVgQ Ԭ֌Ҕ5P$Vvż2Ru/ j7nvJ6#dXo;ߛ"O G |ل*'Ӧo}#NyY9dOX}>cqYT H6E_ʧsp9S*WӍ5jvqg%<3 !P[.IIa5y~!3Ȣ"~ޭzZ|Ԕz>ryVAP3Eg -L|cUn~<;h쇩G^q*Jxn#=XQ.p8^Y|XnCq*/oXfNo -NirחSBشOcRc ݅bll>6w[mgãTec..!x/TJBj{&dvcv&)]>H%5Ƕܗ*w=,05G秜>6ބԻTdͧ#ۛUbFCa;_?sJU8=#:\D&MCyLjJR(o%]dE8Uj򩌉Dѩ60XWbhe->,H|Wf(oh{%aV橚 -qw{_ngk_%MkB&D@<˼à0.n߇7!d}ӨF 8n7=NިX6ʩjrBчJP<-β*jv'=^y5@,K?t_GO?JqmU4 $2[*yEh5TjWW?vWYLcחtzBLhA]&=(洅oZBM~,8Xz?V7 -0 1-endstream -endobj - -17901 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17902 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17903 0 obj -<> -endobj - -17904 0 obj -<> -endobj - -17905 0 obj -<> -endobj - -17906 0 obj -<> -endobj - -17907 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17908 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17909 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17910 0 obj -<> -stream -HWێ8}W $l&`Ig&Ȧ Pl[ZrgS%Q7 CXH]+Nm/oo^__qŸbK8K%">C\EIx\{/Tl{*7񩌮_݊xD/1Iƌ$ׇnڲB'+0qiHV*~SW{l NS$e1f辒_D4<7XثH2yߟOI##S&4 ԧ4P@}F> Pp!+Tc -kZC>p \c"\c"k} Ypp!PV1d -µ>,µ>,B}ZAǐE\+!k} YzZCVǐ1`1dJµ>,B}ZIǀEǐE\+ k%ZZC>p$\c"k} Xk} Yp!PVCB>,µ>P!+Tc"\c"Uk} Ypp!PV1d*µ>,µ>,B}ZEǐE\kZC>p"\cH1d} Xk} YzCV0c7knыut^뇈' . K45n_Z gfPjX6sgh]ÞeUe]@SbڶjէJ+wqrRa8B9p?\y !0OԇCQmڇoY2/":{`x*)qo{t?vS8 sMY.S%5'+0`]d~[!vT=aMЕŦ.Y8f`}\=U[ r0>-*{=}Qb.Xk P%YؿvnUVT>twSWhڸm Q(9:oxۘ`eX7h7*Gb/71!%]6֧ Qlۻ+v1hcrUgȽg'5G@{Nʴ7n;vL>̪ =Omkm蓈Oei0o(ZlvSv+ŷb*|{C/{ڃ{w9:MG{*fcK*If[ jݲK9>6=m;[QgOO] +ԷUOXLe98JjGm7 -Rs>lRVM\73X]|z{͢ )S|vMA8}C[SQWHc%rn75Il6SPRP+0B-R ,q"H`<1f./HLj -SjBu<  Hpۀ=5ANñ8v^C3#[Qn1)hcj7{3[}o⫦q+|^A%bC](J"rHQ'ry&5hE޹@8a'+ Lwrί T6HD,óse L *kP|h/O)HH黣,S8|[Ǯ9eqw98`@iД:]2CS:L/Gs8@muCCaVHvnrj݄VuVe8UֱC=1x}Ѐ=x2.!D)nL+&T#S^6 o,9}ԣ/M>8_W?Mʨ&CJ`2H,^erf};k0|U0}܅{dŀ<@H@_74ݝEPAÉ\;4P k:\'lqUT#[ ^[)[,N@EwG7LԳ H6ʟ]eKܯlPYc6HrPP\9f #پݹb6 ҴAaº.3a3=<MPCCaQpBP+Fݏؽ<$BVnXM/LV(1󈯔l|=:Ƈn BpKx&h^ -*SVhYK`=}79Ih_55sa]jrTg{!(%|(nttmbm]gdV%z{h7ÿt$ǧDDVTٚ2\ xty1 -u-*{hm/4P<~zOVh}DNfSwƢaPŔ88-^rD:*y9ڭ>Y.DUT)yH-4h쎙f" d 'K.wBX im#$,Wpa +@,,G"=@5DGܧ',M$6I x;ɁX7rhrdF --AJD=?cւٛ*QzvuREE_ **0MH2&U_>h i !29}>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17912 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17913 0 obj -<> -endobj - -17914 0 obj -<> -endobj - -17915 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17916 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17917 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17918 0 obj -<> -stream -HnFF)wR䶆q0&zF,S) KtIʩQ$Q9(D#xSٯo''oxeLZ/CTfe9l+\-? #k)&難O}T5M[ϫ+?w8id91D(cu!˹~|w?r=z=./A, /ŴŚ~"sņ5}??Vݸ_}3c̷|ʬt[ᔕ_2]>WZI],^"{à bLLDю@xo2Rh*0v7-Q2;{;b{G=cg=} >0g}F3>#9cω}ľ` b_0}$'&ZͅePobPo@Q{%o@1ZT7{Re[jcOLx'ZZ%o@1ZT7{Re[jcOLx'ZZͅcPobPo@Q{%o@1ZT7{Rc[jcOuLx':Z%o@1ZT7{Rc[jcOuLx':ZͅgPobPo@Q{%o@1ZT7{Rg[jcOLx'zZ%o@1ZT7{Rg[jcOLx'zZE`PobPo@Qb^gӹ8-Ť,4bب2iQV7#4w/mWk]j~ՋM@ ;nz:WNvF[h -c|zLzwC1*EDG$1j%v|s_u3uSe?rx8 -qrQwdsotEO<*[>_~.b9ZJYa諅gߎB+j?sW>djdƯlG_A_U〷]aO*};{?:rg}?SYlygy`Vǿ崗uTMf]h_ +մ =ONGKO74~^k3m!=weݼ\ 5z!?EFv~W ^8<Hƫendstream -endobj - -17919 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17920 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17921 0 obj -<> -endobj - -17922 0 obj -<> -endobj - -17923 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17924 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17925 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17926 0 obj -<> -stream -HWr|WLUs-UeI+J, X%V\i/49g9uJl4f3<>_^ԼxȆVJO2g&,|hk3w/ͫ|M&E9qQmFMTi4"(}g}g}g}}}}}} ܗ} ܗ}W}ܫZPZ-"Z+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkh{ Vb%,^b{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb(JYڽĈZ+1ficv/1bJYjm{Z+1bJYjm{Z+1bJYjm{Z+1bJYjm{Z+EJYڽĈZ+1ficpo ]HUZ,VPZhLie@+SZ9ʕVrUBi@PZ%*V JUJiU@Z.Zc֒_րUZhY倖SZh;{/kCʽ6d)-{1 h;{/XCʽ4dI-r/1fi-uh{{uh{{Eh{{Eh{{h{{h{{h{{h{{h{{BkIYZKb|aZ*^b|aZ*^b|Z*^b|Z*^b|Z*^b|Z*^b||Z*^b||Z*^b|0Z*^b|0Zc֒}r_%UUҟ"zYGƚzU[|<zS/q^ i?ه,q}~|uә?]$CGCIk#%j=125kR(7m3~f+u e]U{Wm:$v,y/h)=Ņ|#wOWg+0Qdpd↞󳡑28GOt5cw;df;_~s=+=F 4:Zp{ 'cv_,'`"(G~y-Ħ9"topenlѬgn pazsV'1m0xmxg"|3ǍʌoV_s0uIuHӓȴqӗIA\ov2'[~Ws-٭вĞ {Dw1=/Monfgk,oZ-&Yovwj!|ٺ?o /vUo"z{6I=h}Ŵiv0©^"FEW~7؇#κsro:I ޤw6 MӄAOo"t)H#_uIcԜmDݬh?h̀ʹJq;ɀ;kw }kN0:~)x>oZݪmP}Ẽ {rKqc&;psxw þ,8=aOHv^>+gu{ -J>U>5r|æz_$'cR;?qsfCܼoޜw~wYKg|^f?iۇU|J4? #CWptRMq8P -Iٴ`˚Ib-Yߖ$Ƭ -VZAiV2Li@+WZ9ʕV -UBi@TZ%*V*UJjTkIYZKbIJ@*- r@)-TȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘT=ȽĘ$F,{1 h{{1 h{{1 h{{1 h{{1 h{{1 h{{1 h{{1 h{{1 h{1KkIX cR cR cR cR cR cR cR cR cR@%,%1bKYZJ -۳#_ѨXSO#9;yIWwS^@od!F]wQ][5M%ɏwljm}~Kp$Ja-5DBdҫ߯CH+4ř3C(* Lc:cN2Ej͚)ZTzZZ[>58C05x&efaPع*uHc[\tο`$A\޹βDyYޱ"* ?0DeE3cNY;CSX`D#G驡O ( L^d<,|gTr"NK KʾU՟M -IV1EDfŽ3܇vRX6 x}&di8]gq0Y6IIs6%Lo-5hGah,NuA E!# 2p@V7 c6;q–B'6&5[:N@RO, -lAٸP<)K=BR"O%8:HԦ&>rw!ܖ"Ռ@E|/'* O.KޏuJs(9%L[3 {RfBeK.ū%Bړ'joahYG/'qZv~Cg=y_'endstream -endobj - -17927 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17928 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17929 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17930 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17931 0 obj -<> -endobj - -17932 0 obj -<> -endobj - -17933 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17934 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17935 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17936 0 obj -<> -stream -HWkH_Q{Ը]/?40#X`W;HLt;c;V^?:v ԩs?S?t*Vϟ:+.ҹS>QbTՔ -buhU?]mnk+l_3 ^.hVM$U*3wsOss6>ҏUW6o<&We۪u -Ňśa.QӰ@{E8d\ ldԽұz~?7C*mq Og.-=䜓-#Q Y|:Kk"޵),#7̽ --so{;c1^p{/̽{>'}"OTp2>eS}gs s>ܳjFh-ŐS XBk),b),CFh-ŀ%bܳCR Y{Z#bܳZ!KpZkR Y{Z#b -{Kh-ŐS Y=ŀ%bܳZC -R Y{Z+bܳZZ!KpZkR Y{Z+bZK1d YkZ!KpZkRl8CwO1` {!R Y{Z'bܳ:Z!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZ/b),CwO1dqyS19\탗j0J&Ȩ$# n2\öRԡ>2|8v'IdyPϞ}X|>i&T(ʦ>0Q? \M݀#y-[Ձz8vzSsn];:0Τmvn~ ds[LmU^w/|KtՔZm:ljȩ$N"kav{fs}2Ӿ/d |梔@1ޜ>f_=Oar穖~/1|uW4KkrYdv0,&sEv c8uޥCߴu3F1di9A1-'h9-ϴV"h%L+ -Z)JieVƴ2A+cZ3\ʩŐŵ(,-hi-ʹeX{!Kb7B),A-{#bX{!Kb7B),A-{+bZ{!KbB),A --{+bX{!KbB),A --{+bX{!KbwB),E1` -{'bX{!KbwB),A -{'bX{!KbwB),A }w΢Z^=Őŵ(﭂˽r[Yg>iv$'~" 92̻(9w_Ju<Bgh˫]}&߱z_W~_TM4RVJ]%q ӥ4xj,1()5 ƅ``X]/pX6O*[JY14 0}Mo$O(Ysz.!UqlK&vŠ;;_dQrBB"Kp;xڶv"0$!Uan[qQ/VxTlUUw+*TUR~9h~j  Mɲg7c5ѨO9}p`4 )-|<^m[$q֤1k -~Dfw!ǑKa&|O0f2mW/}n?ǽmiDwWt%kLuFfdR݌ə:7L\85[^o -f>o5j=^aNWKP6M,✰1ݒDlXQp#%'X. AP2kfS|qF/+E)[3CSauLBr2~VCهP"Mu)=HϗfPf(I<\$䲳 h? -h۰ܚ;c9'Is>Ɖb?]Hl"Hd۲*{T`8t|1~lgl3ޞ̜ g[?QfpNz8ٱׂ#xaߒMÿM5\Mɂq;n: -L g+M$n`N' xxsyfek< eYy+m0T$g^,{ҡg50?7T:^pgE_twq}Of\x}"W„tDgaFm s5otN v3MOMδI1mz_܊`sjҋ'cO&}ԇ-iDIS覨zV4&67exOzݺ]/\w~jj3.=m VZ;.QR8\gmPGQC+%f0L.3 cxA%;\LVV28rAʼ*h?-v8A -HB//v:[?ncxNۀ ڗ{uY~`T,]ݽ39JCoe+t7[΃}Tfm1܂mո(FJf=|7p|mvZTմ8>(КmX6Qۢ~bUS&t#L"J\Z`5d7,}6Si_|,1 [!E"/K<=>PKNdy.ʦb14vZG`.ZmE+“SmLCΤUHA_pjנUdb^.q [0$ ^ܫ^f$CJ&=X .sC,? x *1S -3L*GZ,kyRC\VUӢ&uK cK Le]1:dÐxe uj93R!Ip>2ӟ8+zIUu`D,EAcMt.O:]W" Z^ӰR8)be\9(RoHsZG;R#d!4삪3!K 1acXKYyoN'f*Q:t0X/$K -DV]ԗUM(=b"i\ww{.Wcϸʳ.o;o]k;?@Hi_秖pGp|K@'-}IϦ`#+!Jme}* rm a|iN%=}8*{ǧ{endstream -endobj - -17937 0 obj -<>/P 1166 0 R/Type/Annot/A 25798 0 R/Subtype/Link/Rect[93.6004028 409.928986 204.720993 429.609009]/Border[0 0 0]/H/N>> -endobj - -17938 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17939 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17940 0 obj -<> -endobj - -17941 0 obj -<> -endobj - -17942 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17943 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17944 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17945 0 obj -<> -stream -HW]o6}ׯ /ra$6im.41(yckyB|}l*_7u^}ܽ]yB5n* &_l;(P!fNf% r)'+3%?&@"-R yt]!G{cNcb,dye)kg,czzzzzzzWzWzWzOi>Eԧ Q3D}Y>GQ5^5>,CLc#1 -e}̲B>,ĵ>fYqY>p-G\cB\c\e!rĵ>,ĵ>fYqY>p-G\cB\c\e!rĵ>vZP qYV,+TcB\c\+e! -ĵ>,ĵ>fYqY>p@\cB\c\+e! -ĵ>,ĵ>fYqY>p@\cH"1 -e}̲B>,ĵ>fYqY>pD\cB\c\+e!Jĵ>,ĵ>fYqY>pD\cB\c\+e!Jĵ>vZP qYV,+TZSj'IG7 M4'=a|Ҕ&S>ݐmx,R ;Z ]ow;>N;:gclMqt:kϏjy|Bd9*asfR7#-\kc?J82xM)k&2XAysPOIH-P: >uΨHRLq,a5"ykLKeuك ׬p5/d=XƨfEU NcN -xcWJ`@`cѻfCvٹԥqvj( FZ\Ƶ.ʕj+Qc]ˢO%d,s=}ReqWKy?~etr$R{|! dU1ckpvOauiJ]/U\&qmo56}{b'8O/Lܗ's'4s}:-;a Fe^ -4Д,#o[sЫw!y^.A͙zc%r+2,3\$TnFf -!]ljp=Ἠ! ~\15]lkʵs(ܛ;lT^D|}1M -3&z׼3q45}9gLPNY=f<Ÿj;`^UfnpcOvz r^?4q"w>ʤb9&9GCnCdl#j` sZF_ӝxC{"rLdN2oт\cƄ# \'cnS}6_22>4pY2b|m8桩G{qY" Iٶ{tUO -3xAZ\ᒏ3d}+J)5*%)t-6glC* mr<Mٵj3^w9^wCػZvx MFfq0Է@cK݂ 1tJM-գ(pS)[`}2usZ{ιש e(쌉u&[sIWVe*n$ܦuO@^u0 ]wFU+6,ö6!-RgWb*Ė95葃!vuFrOsrXS -qi 9"1Ƙ-6^T;1@Hsq48(:5/B{ &LyFu^.JՀDSaXu ɱAZq(m9j 52el~w^c oDiE;jF 0LU0J^.k[ǷhFb\VJΡ%-@lg6$b򢊟"3HD^#m-YjpXDFh ϼ O9{<{3MUc/\='#=oWUVzp͂Ν7𭽵uX.VbAo#q݃t*jPA̖[gӫ?ÏV,q@bGs2 @HY_,g& -@@e+9RmB؉*1<JS ~%j'{~ ubP,!f|[&{ |"$"lA6<Ԯy@nꡨWPN2m ,ϦA}wav˫Jiޚ^`1&c{b<*txڮBM6*"% o-Lx3O~:^ҽEh<>na[?J7W2k9fSqDbU;CF\t[AS - b,X?\ծ/{mk.]hFDcN4.ϓmœc_>["l2fo HChƯ k-|q`o+PS[jxtܯoN~O~YvT"hȅ  #+QIde,uל]bRQXRB^ԳX1 ipݷރ - GS-l>Erm+$r/̂2s@%+Yh7;Gף_Yuxgwnqĸ/[5)HOA'<>_-8pnۃ$'dx1:_ HbJ;0햧JH<,+A>UKXET*d,?r߱9P>NLTw땺OܜNݽn䐣tJ%g۟dDLp~ 5 48lD2#ʉ`]U"|X'1\PV\2:𺸶H`?ƍ"ZlkOo`_O:OV]]9x߿,endstream -endobj - -17946 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17947 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17948 0 obj -<> -endobj - -17949 0 obj -<> -endobj - -17950 0 obj -<> -endobj - -17951 0 obj -<> -endobj - -17952 0 obj -<> -endobj - -17953 0 obj -<> -endobj - -17954 0 obj -<> -endobj - -17955 0 obj -<> -endobj - -17956 0 obj -<> -endobj - -17957 0 obj -<> -endobj - -17958 0 obj -<> -endobj - -17959 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17960 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17961 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17962 0 obj -<> -stream -HOܸƿ6\Ưӭ*QYQtl*&Ob> RU3?O?\̪|y0 W+FT,T RY&%$9XϚGq_UhrN29x{)]&S~- '$0I2ftLL.[L1.4Oɛ)WKlrQ}sp&iUj~xJ>9\MOoCg QE3D}7z7zy>GGi"kPf)ĵa X}X*V,6\+׆5kڰf)ĵa (D}Z6\+׆5K! k@!# -ĵa (D}Z6Y -qmX -QV k@!# -ĵamHĵa X}XڰT>kB\րBGkPȵqmXڰ>rD\րBGkÚ׆5k%ڰ>rD\,6\+׆5k%ڰHڰT>Y -qmX*VրՇ5K! k@!#*ĵa (D}Z6Y -qmX -QV! k@!#*ĵaRkPȵ -qmX -QV! kB\րBGUkPȵ -qmX[$qmX*V,6k@s"~/`:mbڪ!\4%ifdR.wTely3n2uC*直?.¯u(tC=+0+a:'-2ʳԭ?ũ(ޮŬZiCsے2ήzheUy2}vA|F\UesԲ"e B+vK:3Pj̧at(CS:?wJ|fԳl3n(kIJDhmk[L6g5֪o+חPOޗˇa6'v'YUG(oG'Y9p5kB{sͬ_6P-73hwg'G&dtYռkrzLlwؽ0+=<*FyjARKfB5oB3kϢV aKґSFu$dva)ܚ.ܳO,_f 5>s3(Aھ%WT{vqp '1]]]˯Dž63dD NO֍fKi||!0R -)`̋ в;x\\_<|~$e09嚻A/Mj9:?yb]|:mff r3x3LR|r4dx2ϳƸa8,ƀ4csgӏGۜ5L&oXݪ;44YT)ܼ;ֱPG&V2*}|ZVS3 - đ>lfړ4P3M0oHPh*Q~cƹtz~S]uڶB7,E!EK) h<*C5/aL|#S2IدewF- H2)4iS0*)Omu{X.~Gp\mE!-sC.hseܠ\"(/E7ٶ\n]rcH~q*LG$9eendstream -endobj - -17963 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17964 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17965 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17966 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17967 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17968 0 obj -<> -stream -HWr8}WQr`FSNʩM6Vj)ʂ,&!);m hoROT4]O׿%N~˻诈 -BU 3˜Yʉdq*JLje]Ǣ+X7IwM7etŏmv]o,f)H*V3Β<ޜgzF$tݭnǪ8 gYsIYhj#k% >1M WĻ8R<%LB$7SFJb @ϠtP(gPA) >@1= 3= s=s=s=  K K K ا4`"Ӏ}> g,`#} -a -ah"}!}}BT *d *d>P-CT -a!}BT -a!}T>@!}T>Bej}>Bej}A!2DqDϠBPj}A}A}>Bj}A!rDPj}A!rDϠj9Z(DϠj9ZgP@QZgP@Q3(}Z"T -Q33ZgP@Q3(}Z -Q3(}Z>P@T>P@T -aV }BT -aV }T+S$> ->@!}}WD)%̇Sv]o64fĺA"i*ޜO?|0h% 5 [meߤtՖUqw*oz}U@Ur$\0̭͇' -dI!됤FM3]30Dy'4ɹG~P)/1&0iڲ6 [to]Q -:p "I"gAvɮ$)& n<uk8JHcU}yz,G3`'ŕU'ߕ'ĭK SK*?؆) )WlBtZiB$32w9>X{X]5 -:l4_؅{MX0Ƴ6?W>%i_}/mOg]@\/ɓE؛E8V `]Z ^0Ww(:]T -nʖG\h<VsWns dr>_ rFTj&H%^ UdN˧[#%ɦ H%̹I Gnz08 EI0M{_LyoM{>"'l }.z=nR5T7)J?`M0O/$R/m;4 Fs";@'jk~]] f+c ze TUoׯV6uՕE;LΡЫ`dmA 2Y,H[R It}r?RƧ |5 -N :ϽqMo|WMOWGjEn,U^Q$%f\V=6S -D92:wnzwzuttCr!YIX ]KcC7j:2־4sЊ9tpẖ K9Pvy9v|5`K, Me4tX%^=A$,@"Q`{/] -۰E:7SK18T]osݔ -ġdXDtkZ G u+Ŏ»Y PӛЄ(^u mi%g|6GKrA"pٰ꿑 `eUv_@ pq޽9/WbWHw)6KvG/: !мz@sdjl`h\+pOڙ滳we5b*g}((()#ܼ3R]kô؏!?67|n[ҜVcY0ϲFs܃^aar4. -(d!p|(ʤ2iNŠuP@El*YZ>^ƻ78j;㙘ƭ4ep,:Ϻ>2rHP Q]}jC_SR.kd%0iz3(?)fmTVEEyOpaad:5  p.l@H[ rs8l| 7 .zygVqw1#ꙏ\c 2$T.&k&;m}9^>JK p@ov%)693"\l(L3JO _؃ӶK&@^=o(SN,_n69Ӑ~`2zuX{߾8퀱Ɋü`s?϶"0ӝy`S7R0gAw6y{I% 6Eohaȥ]oY1^m;@"YϫhJD'{.uϓ u99恸hr΀"CCfŗ yeSNRG/qʪ*uIХ\;/GV'&Nsj^RZ9[<~jQ6m?qw 5 w$'A$Q]^`mKhn[^FRwG=ۖmK+miZ5iH*`Mlo#M 1pn\$vEu*h7[g;2vhg~ː0)4^@hHr`U/<*M'/pZT -sAcIvYpM\Y蹦"+3tM u6Za.6Bێǫ,ybﭶ?\dZg=VyQ7xCE&v@TA:xT]֦i%1F/CڢFK$xi7uzrO~_r_\_Ƥ_=( -Tn9[7MhD}n +R'b]{FjX8Bӷ(fg74bv})T$ڢtK{ZCfpaܛahB_yi嫪v W?ζ4lO,jLăLCzd -xt=-$uٌg$c5S0\fBZ=ڏrߑ_)'174񂘜yȗ4dH^/E{!퇜ۣKϏ"[ [SY,UYp[__iy8Hг$1B{x5DMQ_DeA* p |6vKRR}z|Z7ld-LkV`0DɻGMG[(D9rO4wzyya>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17970 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17971 0 obj -<> -endobj - -17972 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17973 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17974 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17975 0 obj -<> -stream -HW]oF}NErlشE>āHtԒ${%K$=5#̙Cٿ<{v6yWٿ3 - /*gљ~742k&;{L?WuXn13";™O$;+g\g&)M24M]6flXcܕEsaH>K~~N&_G4ެz;)bY,QkV=deawlI7S g[_I 5?fnER*\f7E$IcKHcNbIJVƬXһڼĈ{;)ʽr{>(}rG>*p_)p_)5p_+5p_+5p_+ p( p( O}Ug-(Ė{ Vb%,^b{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb̃JYڽĈZ+1ficv/1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+e@k%,^b{1K@k%,^6JYjm@k%,^6JYjm@k%,^6JYjm@k%,^6JYjm2cv/1bJYڽĘܛ?TU*T"b%RZhVPZhEVTZЪV*UZi@VZ jVVRZ h%J%1fi-a hYeUZh9倖ʽXXȽĘTȽcؘ@%,r@%,r/1f-{r/4fI-r/1fi-qh{{qh{{Ah{{Ah{{h{{h{{h{{h{{h{{BkIYZKb|`Z*^b|`Z*^b|Z*^b|Z*^bZ*^bZ*^b}Z*^b}Z*^b1Z*^b1Zc֒o}OEJ) .g$;Lfr=LSAc&}^hN׮,G'&o%94Eݓ+&7Dswr5Z3nfkf:Cl͋9o>Ny=9nmi|t4֗u {_\|uq>O+ÿsd\/V)hz`"z9e~^°32֩')/Or vny{@Ikt;~ʃOƮ`W{$|Q ևSJ/9pCksQdnՋ逛Of6\wmkv)zy;]}_> $`ۦ(.ACl?TIz[ 7^z֬W7lzsOqԾ{4P7v1HV|ڂmzc-|~9n'}'-:M_ kTlYa{e{n6(s7=$ݿM ]Vocد`*Z$z=m xn'4ݍ?|n\m{; ٖ`) -@+(Ҋ@+* -hUJZҪVjU+h5JZJ@+)r֒ĈeUZhY倖SZh;{1 h;{1 h;{1 h;{1 h;{1 h;{1 h;{1 h{{1KkIX cR cR cR cR cR cR cR cR cR c֒@%,r@%,r@%,r@%,r@%,r@%,r@%,r@%,r@%,rA%,%1bKYZG)NIv6WX3n+oAGߟWelhl蜺h\4p_^mhU?`I>taCȍ㨷ϳʲDE2$#FSLSh}s\[5kV -8{!+&<9J -\F۝c7Ɗe>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17977 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17978 0 obj -<> -endobj - -17979 0 obj -<> -endobj - -17980 0 obj -<> -endobj - -17981 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17982 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17983 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17984 0 obj -<> -stream -HW]|篘\^$vEr1pH îq)D)"=#>Cj-u^Q!y8/n}U^|쟙DWr,Vrթovvxu_[8dVQ,$**Jv}یݾW -?\ey8m\}pj{ĤXo6~CJKSz@ |7,fU%sڪ'er+|݇\U]m]+`b9pLbQ Xpn 7O1`Ye2Np{'w̽; =s}`>0` }ܗ/%s_ -KW}%(}ܳ!eVH-ŐS XBj),b),!C -,VH-ŀ%bܳZ!C -R Y{Z+bܳZ!Z!KpRkR Y{Z+b {KH-ŐS Y=ŀ%bܳ:!C R Y{Z'bܳ:!Z!KpRR Y{Z'bRK1d YjZ!KpRRly!CwO1` {!R Y{Z/bܳz!Z!KpRR Y{Z/bRK1d YjZ!KpRR XBj),=KRK1d YjZ b),!CwO1dIϘ&W-+B"W6y!Qe^ە)VYJY_iUQ:j4բ ,{!<ֻջ*˵IRoU!V=_V{@&hU<8']58a ]_L_@u{CT!EI+]kd6{\uQ.>jq(5Ϙk8xȃ٪`]MY7RyzRi<: E:6 : ?deh=lǹwqRldОف [#L4%*V+\Uz26`.XX:~AAIT!9}z+tһ(1LMH-C#W%~.<܀tc X;'v0T -Ptl gbV1iK L*HC~:דg\OJA'.us LO}v.*,)\s{;#"Xtpѥ?Lu2*=G]2p{lG]OV#ѺuժQhJa_"SǃQUӤ,$U(̵t% -> pz-VV-ob1g kz8Ɵwm;gtnLP=}laI! _=fSݰSvkw#NSi~Qp#m'dnW~cp0}źn<3G| pL7|ZkU{xa -sUq,AG%nZln^%\'EҬ4Of Z0Kxx4´?5s{EWaj3}Sf=z~IM[VՕnnzHYE੽w6TXBU^).F-7%N~n>q?O 7)a3 ;F䯋rݓ| p ΑT?L;*~.I̟}6uQ^nhNT׫vo64~ڴUc?fiڴ0ly'xyS/*; <_"xbZ^L ZiA+0 hUZ*iVɴJAdZU1JЪV"ӊVZ6ZCעe ӲeZVb}o-V{!Kb}o-V{!Kb}o-V{!Kb}o-N{!kQ XBS Y{'=Ő%hwBS Y{'=Ő%hwBS Y{'=Ő%hwBS Y{'=Ő%hwBS Y{/=Őŵ(,),AbX{),AbX{),AbX{),AbX{),A}bZC׊:c%.5c4 L~ ʼn!4s~@*QB`w8|_Uz5̞po4ɍfZ:+ߞ*w>~9eFK_{hU]k\M1Va]Te>-$ƭB -*, XVJ*R*JjZj[< jK[K ,-X`7`< jK[vϳ%X`< jK[vϳ%X`< jK[vϳ%X`< jK[,-m =ςҖ`,-m =ςҖ`,-m =ςҖ`,-m =ςҖ`,-m =ςg`< jK[vϳ%X`< jK[vϳ%X`< jK[vϳ%X`< jK[vϳ%X`< jK[vϳYgAmiKy6n}[mbvzh']y%N9҅O씯n;$!iSw8&]:mcxZ2Τh&|1^$.*Uf 7ya-fL($gǽ7׵M~rz=عqv_t\g=/ܝ>mL'ZY8׫Mn|nsz^@̪\g_^3_2EӿSǤ%ӂOϒ<1FivDYԍ&=o%`?]#xxqsB7j5%X`UV!X`YUV)X%`UV%X`UUV-X5`ՂV#X `5uqܨų{IK4`iҀ,Xbg`,^,{EKZvϳ{IKyy/i ="%-Y佤Y9="%-Y佤%X`< g`,^,{EKZvϳ{IKyy/i ="%-Y佤Y="%-Y佤%X`< g`,^,{EKZvϳ{IKyy/i ="%-Y佤Yg`,ިm]4 $&wݞj?ujsӺǗ?OHU*7f:4JwiVנj,{' 86m7koβtO?ï7̌sU]f9G |oɫendstream -endobj - -17985 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17986 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17987 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17988 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17989 0 obj -<> -endobj - -17990 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -17991 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -17992 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -17993 0 obj -<> -stream -HWo8}q-#~4m@ZMRV7#QDN=FOo4<}-{ū,dϟ DE1*KĊkjA>,86-jW޴ubu|#٧&8_Kq`M$!Xc$Lr.n̪-<:\ɣ#Y%)oj[,?(<ZdгZtCh.I1ax&R -\!i?K>kv1dkd*RHa}%3`v9Gr1dӹY,M\B] XP/=P/=PGS S S ScO}L= >'SO}JO=)>gS= -´.$ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%ZZCs$\b"{k]l(µ.,_p!Wbջ׺kZCs"\b"\b"{Uk] Yzϵpp!PVu1d=*µ.,µ.,BZEŐE\׺>׺|.,µ.,_!Wb"\b"{׺k#µ.,µ.,Bڈp!P6"\b"\b"{׺k#µ.,µ.,Bڈp!P6"\b@u1d] Xk] YzC>YE,pΗr)`Mg?X\>X(Wڰg6o,?|PeiHQ̒uʦhZS_ZOt)\H -HFf6ɿ՜p.dxґoצ=e 3u}"EU75Jɋݡr\tWX[BV}F$NԐ!;qr ˎ>c3NXj\4,ʮ֫ ;y*"ڭJU4K:Rq w|+O}T`,hZ<=pC '-3|4߻ݚ%rQA\͈ {GJJ\2Jy sBÖ -C9ӂkvbgovM5Xy(&R| -p t$gZZBK$BJfZcQSٰ1]y뤰 '3W54Hw9 C`'z`׆)TE"=JL%, `$]-//~>;sl'2ݬWT-N%D:{ E\&ض^k?`S@/%'ۅK%iW>`k#|՚Vj Ml-<{q߮ߞQn:k -8Rt$ 8ODQOX視aoZO5.l#tdO(4%A^~swt> ̓Ynӭ -Ÿ3 hͪ-?i%PJ|\^__]_ry vF.d$a2!e[վkY`+wͫ -aPOG{߲tBNQ4~$e!JIs5Uӻmx@ j®- oboZ;vx}>BTigBGpiTc+Mաn/][&ıo8C5>"}e;\mTXv/}pb{G"4&oWJX˶ٸK4XJW0C{ol3HIrT0$Z$4pcll:L6ۻI -f -Fq!ξ+c>]f0#Fh?+XHa4[k6OSb_0Q?,xЉ7K阮ೡvOc!&ıA:; /&c΅޺I'T6q_p:vOZ,-\e2ͳN=hOA"EVt2yE -z)gXH9f`wi:_>(2rR!x(C6^aHg+:h@xj<>hl.7dVO@)>0fWSP">n9yaѠ1lᅠA/ "l{Ckɹ飒csQ -cjZz"=(~vN+@(\86K+X[U˯ccoZCĝgu,t`_"޿/^~6!2)14bW*Le.m1my W@C"@`K>Q۠R]h>L HI޲}}r@hWֿ)lQlLώmX2=8A̩8#bi7VN\jf=YiX+nywGqǦ` -Iyҍo" ϰv.aͺ@ -qw//-d:ПX OT ~4}(&_n7o?g3r 0~_ -Ɋ2wvkUЎ&Nް9d:?LƟ2uO-*dpzn:  aāNTG:;mmni1{ _ڠKnUZfZL{-e;HTsƩ~@r!PuPPV. y] Dcy/ /alE\P4PY1\L$ǮP=`U8T\ -RJk1ܯ_jtuBF"uvrY `U)+)iqO1 -4endstream -endobj - -17994 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -17995 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -17996 0 obj -<> -endobj - -17997 0 obj -<> -endobj - -17998 0 obj -<> -endobj - -17999 0 obj -<> -endobj - -18000 0 obj -<> -endobj - -18001 0 obj -<> -endobj - -18002 0 obj -<> -endobj - -18003 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18004 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18005 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18006 0 obj -<> -stream -HWmo8_ -2Dbk{-kb˱ZrcgC!Ϳ}W^i/_qŸ_bKfDɴe%Ei|񸊣ʺhUS7j[jgf˘NjudIšqb%V]-~t(u"`ɛ. Ӥحux?M 㹚3#g`s} ymrBm B Q!{(B Q!{߆oZ߆(}ZAַ!`Vm"TET+6D -B Pj}jZ߆(}ZAַPoC>P TET+m$ 6D}6D}B Pj}j%Z߆(}ZIַPoC>P$TET+ 6@m"j}j%Z(B Q@PoC>P$T۶"Tm"Tm -6@m"Uj}jZ(B Q@PoC>P"TEַ!`Vm"Uj}6D*B Q@PoFPoCT޷PoCT޷!*doV)7.EtU:ig7-TPCIrZ?#yHGmU{E!t7Ĕ2s{CN]qP)DKIu(=mJ̆k.gwQG"t"Hّ( 3F%/eRWg$8gpu>/yH -0o_RB -p!75!nc*pb:y)3s x6LZ4yy89SO/7j7/Vp4fGC[-5!exec\rMjpe.z8(vn W| >m?!CS\|ҍ)w(wm_Q`a"{i-Mv@R#dq ߈塰.v GgWW#>!8+ӲٵA ..X0A ,u^ػ#੉C׍{9rDeӱ )FgX|~zÇO_ΆVjHavA -BW!8e{:c҆ TNn#W#w2et~LKX+W!E -L{(ulKb 1A2xxgs 헚fحRY k? -\f3ORr }aAO蛏'F -+UX'8{C%ad-B˱p We⯰z2?e8n0| :0-C6<45\m /hڮ5n,|Ř>`T])QQW?˸{>_BqgZ³2weM&ߕ^sψ*a +5q !2=[~ZpfԌ{HR@A8 S2ëb*q|NlI${lS`mZl - Yw%ײl{ߐLC<7o@\m<+PzB; Mg ,~3H42BĂsrOlBDU4/iMǐs3b^*9z2,<=5;?Ju S[BLE,YZ01NM3ba&EZg=+xYA4[ŰnXw^ǨN]uh%\O Q@iN;`1P9湈2ϐcyyOxӇkɒ)BsMm!{[tîGZͻ b@0[~߾ ?6H:C[uf<3|#8-?e[[j;(wap -cACvDG {Y)1OČS"BGB|); $ yjg,?;!τ7|C xC#p/@C>ۭ8.Hdy7ZTRU$ -8;IG\p]CVUu-G5yeq sm[+ - #EH  ҁNcT?V $E;[ -J| e867>Dnt $6t&dL1mo5ǨDALu" ^{2L(sD6/عoB9L.KٚTJ%0KeF+y8 hɚ%X7_Vɦ DSGN'ǚM,r5Fp@M4ٴ;EO-G|}:mmxo\1KkaN~Vkss f)5yG=Tޔ/qOe=X~~0Ğ͡e9zۮ/vVm_wAvx@q_h1?(1iϊ =~G v\":-ShxʍMLQfӃS.xB}Q8lm7;h4+?:mb$¸C"b󄻁.GUeV;`D^*͸pizv*yg@):Nע@ؽ^ W~U@㮹)K(u {/#%1d|)K<%ԍHqำ ,*y3׷*T8$\Vީ-$< -]**jC7wcHֹĠnἀ4b{vn^^6yJ'.s;KMWãMEꭳkv7iO=5~t7eeyTkK;o+3K4|z;/RNr{K4HpN.UT=gvYݭ8wnW UXd;C5DYx@߰ pcI,XE6d%zDUOydXČ_<򅫒H?zO^'ʆ:endstream -endobj - -18007 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18008 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18009 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18010 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18011 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18012 0 obj -<> -stream -HWn8}WQlZI$0 $ ,[햼--,Xd!yXS,^~,=/޼$/_$I%QZМ"Tqr?Id6a&j_CݷPzKur.yI.7/N$Ɉ!$E\Wնۆ]p,Qm)ElsCRbrc`l=yI2hn׉ ,#a-I)W0Sbe'WQ!`X&"Phx(bT`(BC8žG9žG^D^D^D%^F%^F^E^E^Es}yľ@a_D }{{7{7H mh;$Qmh}hfQ1fQ1(D͢j9fQHQmhfQHQmh(}Z6 -Qmh(}Z6Y>R-GT6Y>R-GT, -a# mD mmBT,*f,*f6Y>R@T, -aV mBT, -aV mT+Ն6@! mT+Ն6BGjCՆ6BGjCE!# -DHD͢b PjCECECՆ6BGjCE!#JD PjCE!#JD͢j%(D͢j%fQHQmhfQHQmh(}Z66YT> -Qmh}hI2hnMr0&a3ÇqCslIz7gel`Fu;rv!8K)CgVMu,j7=[PCw:wU36Gy(OU} ,rAg4[}Sr7`{/_{y5tx61 -A3v^^hg&PZLqrFaMЪs|T? 6ٷCqlR9v2E}f\r>m 4eY>MV2"c\/95aB -nr-%rBioɨ~l›9lOg+ce0TI+"8Q>E\:'ܓGoy* -Q>:cy8w5}Pfϙ{wܒ۞7(+ߟEP7ߤ1!}h0g$HЩ]ύ?KӞ\~ZSax2IiHq||Ӣ0rDmOݸvO(2jb&Zgiׄ*VE6.[kmNÀpҊM?jrs?:ݗߪz:U7iN!p9_,/R@ҭ8 YaX̤<+ Za˞*Y둪|IƑC2Z3i[r}ܚ -^"x\̸Ϋ?YS[ DR,1}4_2wE}:q!~v]_(:4;wмrv:k -0)L㹠 =ï}ZYZ @n>Czŏ޽{bM! Z,װ nk^m[O,@qv7t&aZHz.n"۽ǵۼwYGY -+G?W/ݵ1Rh?!(y - 4Ե`z'Ȝ\>zW7.N$7KW@ݗG& 7S'4XoV\b_z(YvOWW*Ԛ t qY0e`bj +GKʇWcY;l3ÿV9͸|hZ8u s7ߎKrwſ ŋ}7>\V ,*`rLR0@eTy?}>jm.͠(bЎܕ&(Eu8_e?V (ؤ^+[LB)mx -{um{ƗB/c~9-tfCuz -@0cIx[,x9]0\\a I}7աm'e3q[E@-[L@!9vӳSIOE RDQ7]WWjpr71򸯫@PJrCu` w*G+S'o &nj0NT— /7&.GͩxV3ނWs P?:> !D=:-JPcr{W7r8Q%! ?ebxHm |xVN[.ox) =1L`g}>@0I.9-u_Z|iDh@ij膈VW&^Ԫ >jJ_[kd3K fuɐb#(GOa( -mj= V2uTe]G:ib3򏙰e(ׁb=([QGG3^&rf ݭÞD ,+·x9*e7uC~ȷ(2q*WspPY(2Cz%iNYgoNVwd/*88ڨmVY/Qc{?oxޛ`wjo& Gam@ VSOrH#A@7, o?q.܂i>RE܁PxTNIdGvm~9)h=U>g@?d"Pd@r+Z?k}yYBX%5ͩK煺<, ϴaZ}\3#GnZM ^w./_+RNGH*4o4掼AY y,bX 8 EF9+{.RIτQGiA4G6q% -%&oQP"j4%;^~Bb#c8igW Nc s?y(mi#12(^Bn:XeKil)z|}٫>hDc5LڳGꪂqcq)4u)ƾ}"I*>P:@d+۴<{;ĻCs`w^2;RdHC;oT $nnkJWZ>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18014 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18015 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18016 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18017 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18018 0 obj -<> -stream -H[6+-Z&mI7EC6[U4"Zñ-AФ8:C _cϞݼy,aϟeWU-b:q*IekOVE 8+Yt{wxY?M,n~C6z1ndM$2 k2dlN{z*y7ZdջުT{U5ʺڹmv-,?TWӏ$jD'iXkzfN$HƂ}b [" ["},'2Xs0=EP5 -c͹XA-֜HP+j\DZAP5pb͹kEXA-֜HP+j\DZAP5pb͹kEX[Fkj\az9Wk"Śsj%A-֜HP+ j.Z9>Vb͹k"Śsj%A-֜HP+ j.Z9>Vb͹kHb͹XA-֜+L5 -c \Xs."}@"ŚsjA-EP5"*Z9>Vb \Xs."}@"ŚsjA-EP5"*Z9>VbmiZ9Wk"Śs\azKΖыit3 -te5c\8eqMʪ~t6l-)w%{|*}p61o23O=uvl7쫦hKɠtQ7˼;I}uIZCOlPBV|;ɛ+MM_M.֧-ݿibm-\vsY>~xO~eaSxʏ/_Wl -~/US߰jP4^l~|MUX`tͪ>u1xưl_:\dW\47X7G^mD`\/N3{~7yϷg;Q@ǘúi0xCrMC%vXJ1>ɴݽ0f`p`5`Yr! Q0h\0hO#a;׋vWGYໟrBf β&~'C%,aI,j;*XPY]auE?[Qj޹>m#ha#b߉} uЉ,xɘ*s$9p]#v0 q 9P/Iv d=M$I Gu} Սs`ucGQnW`n9;;{99.s{qIQx纭NN1>Ift\"~1)%Fth>۳Yᧇvϑm^29f1c;L_CM zNO+ -PƧ'\EWl% -鍬{;^=CvkzR9:wk˛&v5P[|[{LzuwID?ujV~F pûwׅ]1.Y_@}pq~a.6gNeѷಱ6뗧q[}nbn`%AcpdCvH yite`Яendstream -endobj - -18019 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18020 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18021 0 obj -<> -endobj - -18022 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18023 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18024 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18025 0 obj -<> -stream -H|Wko_:hbhz\$! Zl%zSCs&FQ[-g5?fazYכYYLMƿw~D㉽uƚ<*iHbJSɓLV(ϳ$Ndjl؞\3;ˊ#èjj[g.MF^5Uxi >sw^aK:̈́ntE|A?ӿȯOYRN -|,QJN9+ĘIXjn6/1b9)wʽr{{+}rrrrrrrrr_r_r_r_VbȁJYڽĈZ+1ficv/1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+UAk%,^b{1K@k%,^փJYj@k%,^փJYj@k%,^փJYj@k%,^փJYj* -cv/1bJYڽĘKXcpZ@k%,^6JXcpZ@k%,^6JXcpZ@k%,^6JXcpZ@k%,^6Jlcv/1bJYڽĘܛ dYևD*KiVZAi@+UZ)JV2Li@+WZ9ʕV -UBi@TZ%*KĘ$Ɨ5eZVi9唖Z*^bڐ@%,r@%v YJ ^bZ*^b ֐@%,r@%v: YR˃KYZKb|Z*^b|Z*^b|Z*^b|Z*^b|EZ*^b|EZ*^b|Z*^b|Z*^b|Z*^b|Zc֒_}_}_}_}}}߁}߁}́}̵Ę$GnrܗqY$OtDk& di1Ua\€|$UdBh}OjMsuܺj,fv[c~mih -~n >y4#[~ %)'i0?-HHvG<='vQaMԴ_t7ۖ?:w'fgڇڬeqOG_GSZn;¯ݷxf=3LCEP;iOG9̥_fU=}mvmbCd#>i4 E#d.d7fWK:N}\׍^ܪW˓[G(u[9 KwRO?PNyׯ5! -=Y^Ba|h)Ioz[;d,ښw4Hs3+\77޼;8+Լ7boܕ٧tqӅ9}=-=K~Swϊ1o6떟ة]<>|jc&;xÿ=yGg O~wt}HVn&~j-Ku\{X>JY%`) -@+(hJ+ZʀV2)hJ+Z*V -U(hJZr֒ĈeUZhY倖SZh;{1 h;{1 h;{1 h;{1 h;{1 h;{1 h;{1 h{{1KkIX cR cR cR cR cR cR cR cR cR c֒@%,r@%,r@%,r@%,r@%,r@%,r@%,r@%,r@%,rKYZKb2tX5{5yd_+? ?d6GK2o?uׅ\|ºdʹ,Nl jpXwçiZmVXG<,NLy/ȷ$74]u(a`Cf\"Vm:~R?/Pc^#۞jiw -q. !)!*p Lίϧ" w{/èCDrbC kj^F_q7 CܳѽҬ oǪnו蕧Try|ʂTPhi8כAJk~q>)=Hfs@^ft @F9rvM[WY*VY&ӵf!Bhb`?IyDL\$ꤺq2ZM^9SYOw9J*2w06H#kfA+ږr'i&H`WØkrzseqk]MoctM.՜0,T`3 -atv^[XS=m $793 f8X߀2g >> FY|j0hXJAsJ}WP>_NCDR1oqGսmeSWKh )Q㜰m"h ib i98}{:)M)d(s@-?.CT:Ip›mIԶ 3`#eŨz -"ܼ<7@=YXi0s3B6MFF[idmNKL!W/WՐܮt41>5H텠)Yhs d X!'ERd$ Flގ V*rwPv?pH77?-XDϐXrEN|{…1\[(Ikl6j/,ˢaQ~<ڊˇ#tX1 2OE!![G1%< ۶zJYI=Д閥W2ҧ$ve6F8wzi@BUcӃ626#zmɵ aV"z[,?ߩm#44c2`Zl B)lhv\(ҵ㮚(=a\n,uU}h`jƪ|?g1endstream -endobj - -18026 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18027 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18028 0 obj -<> -endobj - -18029 0 obj -<> -endobj - -18030 0 obj -<> -endobj - -18031 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18032 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18033 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18034 0 obj -<> -stream -HWmo8_YE| i-([ճ%,7Ϳz19JE#jgftGv᯿|{oz}01_.$Q,Qö >uۀUYQ6eVx=͒}! @8T5,!X$2Z~0y c<؀= T&zYSx Oms8j0Mf"2>NGXNdFY1)su Dǐ : H#qC >( rmݹ6@1rg' c c/c/c/c/ c/ c}BO< >اcS}F<>gcs}N=`<`iumumٻ6@umٻ6D]պ6D=rB Q{OPkZ׆(ZNֵ!`節um"TET պ6D=rB Pj]j9Z׆(ZNֵAֵ!gEֵ!gwm"TET+պ6D= -B Pj]jZ׆(ZAֵPkCS TET+պ6@um"{j]jZv$Z׆(kZ׆(kC޵PkCS$TET+ պ6@um"{j]j%Z(B Q{OPkCS$TEֵ!`Vum"{j]!Hպ6D]պ6D]|*RJ0Z7KM,\nk;6]^svEg͹|+,g>+5ͱWK$QusW]ݦb9߫GrTqp^rt;LEia2jewn{Casy:'NԔ&'K^xCg[C^s҃/BǕUG? eW.:æi~z:u!~XӐY4'6,#,cC@ebpx71Mg]c瓅q`njiVNwM??*곂hP#OnH}Y4Vu.˕=0f7.C `L#26`_ \q9̸XnX11uX"gbqWϫ95d8"Yf]E1O`R8AG-7W"sOہ;QY˜Evvpu@jF:Se]c C_q7Qx0d8vH;@kQm5ʤ]33Fyw/$Q@])% -#$V}-$_&gc-P&Lb\;~E05S_^ۑc ,i׌8Ym^^Pe:= =a呜:8x+&/ZEOWR~®|;Bi[Gau}?z'CL&_MUw›?;k253ey,W]?R3y&,q8u8#ûґ{coorh>J9*,\wfr-DM"14?I MWmme9\"vx0*Վ,L{4 -֪NbrkhD@LPB&H!He]òhHKS -***݋ X_ǿ>'bX,2/2Ű=۵#`0պ#<~`z:12la N^qPr f R D. Z>0,n4`Tսcmk3ܸǛI$b5, _d~aMBEмj:~~KwCTd\n gb~@bB·}C}U14L0ۦ yEOն6ߒ{ml4_Yl2| DI~y,cSN?CX()ό(aⱨ=ncqx~tNr1}BYh M؁-F2w&FTUիJT1a[xy/in]B_Y|]`ЀG"C١n۫|q>v=l‘N>X(>6@_7 _5n -5nZNi 3LT- Cr:lWfp)BړǡN -ѴMm-+YA"H˻<( 7:#Uzʐ)sh|LJbR޶q zϯ*(aOn-(ڢ"L,-o(YN Ù!gqH 8)R͗aVh\y ҡF^c΀ UIB\&s[Z(TJ Kp22Q Et8S kF?X)D>^z -Y1rE'5m<Ty4T\ cI`v -EPf(ƃ/'%/Gl>WXX)Vڛk(%JKQЇC^/\$?NiEQb/yHHʋQf12VNrp0S>&ۓ=|zSayKܹڀ[;7&%p@Hd0~b\΅S`*U˙ z'}谺sSR=QMϯv먄3^Rid 2qGD`INN RN2Yw۰?f1?'4Q,Lj\Taښ(>NB+aJF65(j&Jmך/-}|!aBts֭>]뎣+8W,ElN| @K4x L_U.d[lJg!%^⅋%ՐiQ+Ňo\gWcP73I\D &JXsD0ٗ2BW6i3O{2{YM6;n$_͗oV1UlB+{,qefBDD+9cahyX9dnJ8j!ηg1$LЯ||ڇ_cK,TKP!2O1c -aw ?:uG=[J$iYyE*[H?U[gȁւͳa eݼ6٭](ЌH͸]݂T 9Ѫ_%I}ׇͯSʂߞ׫ 5D7 6Dweeylw9,8gp;GuT_.K8KfG4kfx"in5 -\T5ϓwSΐ?`?/ -Ʈ¤Sv9<',遄sme>& ir O.0ڶN  - %^]ɉ<8A gيL,Y½lZ5׽>ShM  x[}5SNgw*vI9D1vT8 %}Mk+X_!Za o]ZA -{`c~[h|+R,+EcN XXy*c} sPca|i*(dBŮN͊a\sdfٽEezq3egQ0dÚAwteࠁ ɩo \UvGxrGKETc)rQ  -W0}D)Bkv]+Z7 @>̱bR 3~|endstream -endobj - -18035 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18036 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18037 0 obj -<> -endobj - -18038 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18039 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18040 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18041 0 obj -<> -stream -HWk6_!`hOI 4tm"Q&@c˱R[C/ Cϟ߼uL/^~/"*eӌySc}ۈ_#7qtU}X:f_f族,E/覤wGq(4+ǀEi0͒Ni(ǀ,P,PYzZӬPiVǀ4 Q#1Bk} Xk}Lk9Z,D}Zǀ4 Q#1Bk} Xk}Lk9Z,D}Z@\c1`!1 -f} Xk}LkZ,D}Zǀ4 QV 1Bk} Xk}LkZ,D}Zǀ4 QV 1Bk}lIĵ>YzZӬPiV^J)7k2)靈i\ng$%ULae*,Sqc}U~GEJ3mfWhN~[pRH -iD-aRtƦbTpO3P]8vno (YUe=mvPz}Fl)G$-r5iBE'[I6z&2jh~X]WwI䮓FD5*/kVRSZ8O]?N͌ -ld8(fIé}o:8z+b|U}vdbV0ϴ[: mOۺu - u 6,ۋ4,B~>_L*Oh"~;"]Yfby/%]Z|+JibcK&Ųp>d2l^^H5+-Ѐe7eI 1L ~{ݙ3׺?.H^IԮ]skQq`"jwrMcJz9Byˑs9KepY~ØKM:PE3t؞1xȌ&6z6Jh mć t,U3s2Nwt퀧AʜG2Y#<2zLv=̼PZ7p(SeVjxr]N:~s؅4н.s:Fs&Œ7pU^Cc'#tEzk\W1ӁUcDdƥX տ}Evv Q-&8sr 6q 䰨Qwa`Cb 19.lߙ&zlBnpOm6o룽Xq{m Ʀjv'69M _jf>p<$ SBT-DJbǦr5>g3Y?X~gly "BKR0Ԍ_Wޖr3>cB&Tx7J`I_jY'k̓T57UlGѻJ_b1ՙ*Z/X[0[.b榶p [[] d^Û_߽|߻Ͽ浧5 ذA}d۬¹):vunUSܷj|qW~՟ǐ:||fWM4Tc}$߶n[@kUuUM$-P& WQ]M{n\qo* NXr_o`Kf[Ϫi¶CZe/&ly5J]砧m7Mjzװs#5NX&AgR_D-d,$ٛ HQ@- -N䣮<  SgZ=U9ݮ^Cڴ+!aUTQoYbSdϸHS3KIA&ˤᷗ|,Ü,| b+T,W`\Ԙw=Vu4+(4S ~)Rx0)i]rCyp> B0F^>,p fLdqۈ -GoE@ ڤ{ڬ]ɵ8H3's![_0:G/Bmҁf\ }iбu|} aQp|V G1dĽx4 s3IGå(+W 1aҘ\D.:b) ->5I~N?,m߫p\lQ&Mr"veL4)3L?'0~K37C&Dnߔz$~ pZ*DrԬ.Xk`#j-Sn$׃mwW",s@[,v_|qͼDsٖH38zX! (UTbdT=nZ{W S k\$D+Љ~CENIs aW'r1JD!˾'9lѽ"b9ݴFK}ze~I ->]X I>9?tхBH㰱ZsZ\"QyZEy -r:WC6'Ys/LNR^6hO?4)V\K.&˒@GToH疮\?QS}+~4'YjC߆4QV%5WHlaUY -E@| a a"3o_ʁ9Fdž|^As ?82ъھ]vSZ]%#ؘHUjb@ǀO"CI@u cMcBayuTec5z?Fs:rKngA0j8"U6*n;t 4cgY(|)~94zLnaK0J"-(g'_^2Ra`+9OVwүѿ,mTln؟F9+B%Տ47IYTEhlv_"O9eM?'ke*B?i'>D0'Lb]VC>~;8|Kܽu:Ѷqӕu6+Y'mN $e>XvT.OyāXwcaQ?Z[6:z۴SYRTiyQ!8BS r#lpEkXyێ?ĝJk/@ Fo9AՃgl8'gdl[tWf -B46., /D<PC2ɀ |߯F -`QYhMzPָglw喟0Hr9zok=6ȝa:MPoܝ'| ֏~ 7Nѭa˹LZ(˅)ǛdSRYoL'4~;nq,^6S=Ư yMd3%, R`G) w'mkOI.'i ;Dwo~߼OR(endstream -endobj - -18042 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18043 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18044 0 obj -<> -endobj - -18045 0 obj -<> -endobj - -18046 0 obj -<> -endobj - -18047 0 obj -<> -endobj - -18048 0 obj -<> -endobj - -18049 0 obj -<> -endobj - -18050 0 obj -<> -endobj - -18051 0 obj -<> -endobj - -18052 0 obj -<> -endobj - -18053 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18054 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18055 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18056 0 obj -<> -stream -H|Wn8}WQE6 З4vƃ}H7%%')Y..yHT1?1L_~yC=:eK3晊SM %a6m56CfocS&A/C~o_*9(a$, 71z0]xs'$7_6PI\h)/l3W6['Y&+߇sWSzܴQ5WfuҭuI$Q ZH&Hb1gU5P BCO_ߧKnàTY,S)) -hL)9%Dy$!bg Y)âڅS XQ/=Q/=QԧS2SO}ƨ<>S3sO}Ψ=S_2KO}ɨ<+RlHƵCbb\K1d),_=ŀŸbb{k),FZɸbb\K1d1=JƵCsd\K1`1k%Z!QV2R Yzϵq-ŐŨ\+Rl(ƵCbb\K1d),_=ŀŸbb{Uk),FZŸbb\K1d1=*ƵCsb\K1`1kZ!QV1R Yzϵq-ŐŨ\RlhƵCbb\K1d),_=ŀŸbb{Ռk),FZ͸bb\K1d1=jƵCsf\K1`1k5Z!QV3R Yzϵq-ŐŨ\Rlk),_=ŀŸbS Y2.R Y>x 7p 7 eYV} gq6MweiEIgZD߆y);F,KMḷ̌wkNcY{@ uھfqah~ܺQ㮚æFSm]vt/FQ_a삡5$.cpti̡3wUƪHąxJnLvn4ުft Nش..º_9謌Em v$qwQY\IR]RP֟ڭ6N1A TM x+?uRכ j8+eȴ̦J7VB:7Qtv<,S~vqt~;ٛEYb@BispwLpæOKc<f[3;=0i;~z;ƃ5N:pY8YzAd"Gdzf($-zmjGkͫimpl`W~ Ofhtm0c3yZyF" K"hZ:f`8CJ۸i\uջf4x"DɐR6XgYP\<_XCRY[4,0}Kmz7i)/ӹNyyTO>Ǵ#"z׎'p&&Nz".Iˬn(le[5 i/{"Npz ؊b- ΃85sEi6jdY7XvPJe,x쌥D`>e\.l;ad~ofkմS;܉k| ls۳'oV;;eP$It|B a*;8 I3.T(|ɀΎ,)0d"/׃ Ժ^N-qYx)a6.: }N[5{[K9 %ccc~In+wUKNpۛa9{Z]S t}5lP{qTџ^+X굥|.WL~ QunUG~.rҕ4 @b'C {gd@&A46:̙- Lv :pgÉpXL_G:obdWYwOm'WOӌHV)̧ -$|LyDh=1U> %eXܻwN|ġ כ&c@WicSU -{ _䛦E~X;q9ERd@9u uC})* dGLuVU I\ :C</$h[YY$lf4w~7lk0yE Aۗ+VW(% 谭Ƭ;+Yl԰%0Rc"OnN|f&@2Oʼy&vm2IV?w$>˥0%GK.c7]@=#yH^ƏJafsW[f_l4 .SQ9(2FÑlĝG\@zRF~#d}d `a;hz{^5po<ݒaE0/xc|eO@tzdamimmݽZ5jXHBdE@jtyn@<67e#| gw6?@ׄ8xM0p! -b[T yP9|my@ܝwOVU=6'nټw79ynPpR*𻽹nx5^h@ SsqN."v9_#.ko0mڕfD- fb+'"7[i덑wOΡ4i;$CDIş·سU׸HZnyw!LʆIګ"纱_ZO&a脌A_w]0sfnNq{$+Y˛ޑLjߘeIzZx(78Du ].5וT&(0}k3asC=DYF YHӕ1& W5=7,HJʹX}ve1Fi9]6sU+x}⌒nU"O+nC$w$:,4kUFq1&"{iflSEIAfGwЮFwסpcE t>4'L- ܞIBUj't$!}`Uӡi-8JJϸX 8W!V:ü޽ՙsmgm{QRpdf>k]0|4bm2뭂-o7`]endstream -endobj - -18057 0 obj -<>/P 988 0 R/Type/Annot/A 44586 0 R/Subtype/Link/Rect[129.600006 663.229004 240.084 682.908997]/Border[0 0 0]/H/N>> -endobj - -18058 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18059 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18060 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18061 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18062 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18063 0 obj -<> -stream -HWko8_ -(z`LN7v'h`Pl:Vǒ<ܴ^zlV!ytsyu}77oY~//A1KRĜ%g`g/b?}M]SYSx9{n7+z},b"!Xs$L٪|=M"h=s[vq%x.?tmp1uV^ a|Kx8{aQ>_os6Dp)>K/KNwed.'8Q(!]ƀE.=\6,NzNzAzAzAzIzIzEWzEWzEWP;cB}O>!'P8SB}O >#gPx6"Lkc \6,µ6,W!Uoc"\kc";km Yzǵpp!P︖1drµ6,µ6,BZNƐEw\ k9ZCq-'\kc'\6,µ6,W!Uoc"\kc";km Yzǵpp!PV1d -µ6,µ6,BZAƐEw\+kZCq \kc' \6,µ6,W!Uoc"\kc";km Yzǵpp!PV1dJµ6,µ6,BZIƐEw\+ k%ZCq$\kc\6,µ6,W!UYIEs]zoVj^0<"1㌭JϿ}b3@ZF-+M;ݲbEyRW]uuяBĕް]\Dyo^Wk6O/9`|[Z,҉]Ĵ$P2$SH ˱ ojZC{;< @Tui4ۻ1T(#$/y Tk8+D u(Bu2 M4I<y' Fn)N50&(2 0F[q-Uimˡ iY~Y<`̓]~8芽࿜k4iW7FǺkwK`C 1k|HPs y3 X! 4KhhBO@gY?<PlY!yu*+⹁95X3rOO(OXp'rP5fL߯_82v -nRB-dM KX\dw"y6VdpQ:N"f0Ru GuB i nf{4X4`fm'#%VF RV~TDXv mS/,dZB2M |>6@ զC&>7_;>|NgV(צ {X -^xەyǪ!S?^s;RUہx˷#@ӥL}{3ׂ&4Q5BS؛2F?"ͦ-StsET $jy01{Z\k<$:[_MFR}&!#o16X.x'<.|meT7עn֪ypPfp,9֣֗$i(Γb `"!}YZ(dz`Q.HO3ƪT=뜝I]GN s<<;I~Vo="rs> C/8< Ny.Ns+@&|s&TI0HqSH靁 xґA1 oB %\ucs"jJQM B`‹{i.}6+EHgeU1dJ.V> *](yَ`JkN3y|;V -%(ͳ2Kzg+||Hʓ_br؊ HygY~jL(nn42cBK۔,$ \pSݪoA x7m3XC8^K JI$3tbj2z`}{ۻ~ -0֚endstream -endobj - -18064 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18065 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18066 0 obj -<> -endobj - -18067 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18068 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18069 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18070 0 obj -<> -stream -HW]oF}ׯУ`yG; \$h6>tŭ-; -~IYs9vMR<$uiO?}QbTKmb'Uj Pj Q DQ-!aV16@16D1*FԆ(}ZŨL36D Pj Q){jCTʞŨŰOTRj5ZjZjC>QfTKmb'Ռj Pj Q DQ-!aV36@16D1jFԆ(}Zͨ06D Pj Q){jCTʞŨŰOTkRj ZjZjC>QaTKmb'5j Pj Q DQ-!a06@16D1FԆ(}Zè26D Pj Q){jCT>! zfo7fron3)F3<5e;W6ON\ooɟ_#24+~U{r*m 3jmKҮ*O*')1kgb~&קt{iښ~< dU)BtQ|m$z_z"1w]7ƪe)TpPi> BLɼm~uQR 3{Ox (]1y66wl qO4) V<@3_>F`.gt'CSJ1~P3ύm 5slwu[-& MzQfۼ_nm$rWZ|Bu{TN4[̎ -Z -6wꈬ?J֙~xk]ktUX~`*ZP37iJa٣ëFrhtcZ‡n)2 5E`o4,LmLZcGX6itoGISBLH~9 Wʹ^y>Pcb"Rj>뎕y*J!i3(c9L* 0ɔBE|.U%^Mw\Nշm p*XP6ޗڊ*&߬-ZD -֭9}xO=3Cz Y@X.K:9q%B(s jpU,*/Xe#0nnSoqޒ vhT4|f%jY \>(LB[͏uB.@Ų0+e}5IZ` t -U<-cU:e9|nɞ -E|.o}5:wFn?諨. vtemzs9y]‘] -`q~a$Pӊ š!L$.'IYʏN@|ᅢ35PƇQXzBg*$a?}T{q0"L_9풒r-pGI' ->PA8ʭ/S? |Y1]lKҵV7}&8"FP̡Ja,\쫩W,|c?}=bm] -Xb@ xiÖ47< Iy+e I#a[|H!lLWŴvˁ`yɞjn.Xoi U~lV T*\u%]NPNwuuŔݿhW^<~:]4QOc,TP -Hy-5;vp^űHj^ YT0>] V%ۿJ ѻuSRۗa%\^1GgNFxzGNku̎_GLfÆZD5m3β8espk7h3F7n>E 6uq.I}eC4p6W\rd>>5;؝IZCԱnL^[U;VF,jxnx+/q>endstream -endobj - -18071 0 obj -<>/P 151 0 R/Type/Annot/A 18133 0 R/Subtype/Link/Rect[154.800003 665.190979 385.091003 677.221008]/Border[0 0 0]/H/N>> -endobj - -18072 0 obj -<>/P 151 0 R/Type/Annot/A 18132 0 R/Subtype/Link/Rect[154.800003 652.190979 323.790009 664.221008]/Border[0 0 0]/H/N>> -endobj - -18073 0 obj -<>/P 151 0 R/Type/Annot/A 18131 0 R/Subtype/Link/Rect[154.800003 639.190979 347.709991 651.221008]/Border[0 0 0]/H/N>> -endobj - -18074 0 obj -<>/P 151 0 R/Type/Annot/A 18130 0 R/Subtype/Link/Rect[154.800003 626.190979 287.420013 638.221008]/Border[0 0 0]/H/N>> -endobj - -18075 0 obj -<>/P 151 0 R/Type/Annot/A 18129 0 R/Subtype/Link/Rect[154.800003 613.190979 337.200012 625.221008]/Border[0 0 0]/H/N>> -endobj - -18076 0 obj -<>/P 151 0 R/Type/Annot/A 18128 0 R/Subtype/Link/Rect[154.800003 600.190979 304.299988 612.221008]/Border[0 0 0]/H/N>> -endobj - -18077 0 obj -<>/P 151 0 R/Type/Annot/A 18127 0 R/Subtype/Link/Rect[154.800003 587.190979 344.359009 599.221008]/Border[0 0 0]/H/N>> -endobj - -18078 0 obj -<>/P 151 0 R/Type/Annot/A 18126 0 R/Subtype/Link/Rect[154.800003 574.190979 313.889008 586.221008]/Border[0 0 0]/H/N>> -endobj - -18079 0 obj -<>/P 151 0 R/Type/Annot/A 18125 0 R/Subtype/Link/Rect[154.800003 561.190979 319.079987 573.221008]/Border[0 0 0]/H/N>> -endobj - -18080 0 obj -<>/P 151 0 R/Type/Annot/A 18124 0 R/Subtype/Link/Rect[154.800003 548.190979 371.059998 560.221008]/Border[0 0 0]/H/N>> -endobj - -18081 0 obj -<>/P 151 0 R/Type/Annot/A 18123 0 R/Subtype/Link/Rect[154.800003 535.190979 282.959991 547.221008]/Border[0 0 0]/H/N>> -endobj - -18082 0 obj -<>/P 151 0 R/Type/Annot/A 18122 0 R/Subtype/Link/Rect[129.600006 510.490997 487.459991 522.890991]/Border[0 0 0]/H/N>> -endobj - -18083 0 obj -<>/P 151 0 R/Type/Annot/A 18120 0 R/Subtype/Link/Rect[154.800003 492.290985 292.130005 504.321014]/Border[0 0 0]/H/N>> -endobj - -18084 0 obj -<>/P 151 0 R/Type/Annot/A 18119 0 R/Subtype/Link/Rect[154.800003 479.290985 304.651001 491.321014]/Border[0 0 0]/H/N>> -endobj - -18085 0 obj -<>/P 151 0 R/Type/Annot/A 18118 0 R/Subtype/Link/Rect[154.800995 466.290985 329.520996 478.321014]/Border[0 0 0]/H/N>> -endobj - -18086 0 obj -<>/P 151 0 R/Type/Annot/A 18117 0 R/Subtype/Link/Rect[154.800995 453.290985 289.341003 465.321014]/Border[0 0 0]/H/N>> -endobj - -18087 0 obj -<>/P 151 0 R/Type/Annot/A 18116 0 R/Subtype/Link/Rect[154.800995 440.290985 361.341003 452.321014]/Border[0 0 0]/H/N>> -endobj - -18088 0 obj -<>/P 151 0 R/Type/Annot/A 18115 0 R/Subtype/Link/Rect[154.800995 427.290985 364.071014 439.321014]/Border[0 0 0]/H/N>> -endobj - -18089 0 obj -<>/P 151 0 R/Type/Annot/A 18114 0 R/Subtype/Link/Rect[154.800995 414.290985 318.240997 426.321014]/Border[0 0 0]/H/N>> -endobj - -18090 0 obj -<>/P 151 0 R/Type/Annot/A 18113 0 R/Subtype/Link/Rect[154.800003 401.290985 319.369995 413.321014]/Border[0 0 0]/H/N>> -endobj - -18091 0 obj -<>/P 151 0 R/Type/Annot/A 18112 0 R/Subtype/Link/Rect[154.800003 388.290985 334.920013 400.321014]/Border[0 0 0]/H/N>> -endobj - -18092 0 obj -<>/P 151 0 R/Type/Annot/A 18111 0 R/Subtype/Link/Rect[154.800003 375.290985 356.040985 387.321014]/Border[0 0 0]/H/N>> -endobj - -18093 0 obj -<>/P 151 0 R/Type/Annot/A 18110 0 R/Subtype/Link/Rect[154.800995 362.290985 282.960999 374.321014]/Border[0 0 0]/H/N>> -endobj - -18094 0 obj -<>/P 151 0 R/Type/Annot/A 18109 0 R/Subtype/Link/Rect[129.600998 337.591003 487.460999 349.98999]/Border[0 0 0]/H/N>> -endobj - -18095 0 obj -<>/P 151 0 R/Type/Annot/A 37651 0 R/Subtype/Link/Rect[154.800995 319.390991 292.131012 331.420013]/Border[0 0 0]/H/N>> -endobj - -18096 0 obj -<>/P 151 0 R/Type/Annot/A 37647 0 R/Subtype/Link/Rect[154.800995 306.390991 307.790985 318.420013]/Border[0 0 0]/H/N>> -endobj - -18097 0 obj -<>/P 151 0 R/Type/Annot/A 18121 0 R/Subtype/Link/Rect[154.800995 293.390991 333.401001 305.420013]/Border[0 0 0]/H/N>> -endobj - -18098 0 obj -<>/P 151 0 R/Type/Annot/A 37642 0 R/Subtype/Link/Rect[154.800995 280.390991 362.141998 293.320007]/Border[0 0 0]/H/N>> -endobj - -18099 0 obj -<>/P 151 0 R/Type/Annot/A 37640 0 R/Subtype/Link/Rect[154.800995 267.390991 316.932007 279.420013]/Border[0 0 0]/H/N>> -endobj - -18100 0 obj -<>/P 151 0 R/Type/Annot/A 37636 0 R/Subtype/Link/Rect[154.800995 254.391006 392.871002 266.420013]/Border[0 0 0]/H/N>> -endobj - -18101 0 obj -<>/P 151 0 R/Type/Annot/A 24988 0 R/Subtype/Link/Rect[154.800995 241.389999 316.071014 253.419998]/Border[0 0 0]/H/N>> -endobj - -18102 0 obj -<>/P 151 0 R/Type/Annot/A 37631 0 R/Subtype/Link/Rect[154.800995 228.389999 325.200989 240.419998]/Border[0 0 0]/H/N>> -endobj - -18103 0 obj -<>/P 151 0 R/Type/Annot/A 37630 0 R/Subtype/Link/Rect[154.800995 215.389999 342.300995 227.419998]/Border[0 0 0]/H/N>> -endobj - -18104 0 obj -<>/P 151 0 R/Type/Annot/A 24248 0 R/Subtype/Link/Rect[154.800995 202.389999 394.591003 214.419998]/Border[0 0 0]/H/N>> -endobj - -18105 0 obj -<>/P 151 0 R/Type/Annot/A 37626 0 R/Subtype/Link/Rect[154.800995 189.389999 424.59201 201.419998]/Border[0 0 0]/H/N>> -endobj - -18106 0 obj -<>/P 151 0 R/Type/Annot/A 37617 0 R/Subtype/Link/Rect[154.800995 176.389999 282.962006 188.419998]/Border[0 0 0]/H/N>> -endobj - -18107 0 obj -<>/P 151 0 R/Type/Annot/A 37616 0 R/Subtype/Link/Rect[129.602005 151.690002 487.462006 164.089996]/Border[0 0 0]/H/N>> -endobj - -18108 0 obj -<>/P 151 0 R/Type/Annot/A 22599 0 R/Subtype/Link/Rect[154.802002 133.490005 292.131989 145.520004]/Border[0 0 0]/H/N>> -endobj - -18109 0 obj -<> -endobj - -18110 0 obj -<> -endobj - -18111 0 obj -<> -endobj - -18112 0 obj -<> -endobj - -18113 0 obj -<> -endobj - -18114 0 obj -<> -endobj - -18115 0 obj -<> -endobj - -18116 0 obj -<> -endobj - -18117 0 obj -<> -endobj - -18118 0 obj -<> -endobj - -18119 0 obj -<> -endobj - -18120 0 obj -<> -endobj - -18121 0 obj -<> -endobj - -18122 0 obj -<> -endobj - -18123 0 obj -<> -endobj - -18124 0 obj -<> -endobj - -18125 0 obj -<> -endobj - -18126 0 obj -<> -endobj - -18127 0 obj -<> -endobj - -18128 0 obj -<> -endobj - -18129 0 obj -<> -endobj - -18130 0 obj -<> -endobj - -18131 0 obj -<> -endobj - -18132 0 obj -<> -endobj - -18133 0 obj -<> -endobj - -18134 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18135 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18136 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18137 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18138 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18139 0 obj -<> -stream -HWmo6}w %in ]ɕ1oRZArR‡ ϒV1b'wO]ONvk:J7@+9}U4L Pz%2%hUM}JޔC+>VP#D|w)R -6N HØ_FpꋚJ K'}UdπPs%eYrU'PΎBdrffoAN``$#soa>_:gȜ"BĞm]uaG½8] kXnx> !kaBʕ/HOWi'N}_Q c[_ }aHd!d_ -z$BnE݆`˵1l'Eg.9T 27p3JdeJ'ɆRU 2n#T@1fB+ hFR<0nDg&E f$f?wׂ.OUFޠH[~* HhC1xm"i43 of0 JW8MWcr-i VHLnif2 Uh/beDӫ~Ps*0+Jc'7e P4`:/*Y|0мQ 3}BOW$}n)2Gd? @Db{сSay\@É+bؔFKdc'Uxp%DZ13m3m}|̼x0԰ϾF `yX\g|Tlb M7L ӽufOkc -z) !witeOGGURPQ́LK3* -UԘUuGx] -:$i-WӿC#,EUԂGc$ud2%9MQAr5 v=~~@~ǨD0(R:1 43qi]h&a\K'jgC -bhI+f" PfZendstream -endobj - -18140 0 obj -<>/P 528 0 R/Type/Annot/A 18145 0 R/Subtype/Link/Rect[129.080002 539.039978 378.079987 674.039978]/Border[0 0 0]/H/N>> -endobj - -18141 0 obj -<>/P 528 0 R/Type/Annot/A 18144 0 R/Subtype/Link/Rect[93.5999985 440.627991 199.356003 460.308014]/Border[0 0 0]/H/N>> -endobj - -18142 0 obj -<>/P 528 0 R/Type/Annot/A 18143 0 R/Subtype/Link/Rect[93.5998001 289.428009 402.838989 309.108002]/Border[0 0 0]/H/N>> -endobj - -18143 0 obj -<> -endobj - -18144 0 obj -<> -endobj - -18145 0 obj -<> -endobj - -18146 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18147 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18148 0 obj -<> -endobj - -18149 0 obj -<> -endobj - -18150 0 obj -<> -endobj - -18151 0 obj -<> -endobj - -18152 0 obj -<> -endobj - -18153 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18154 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18155 0 obj -<> -endobj - -18156 0 obj -<> -endobj - -18157 0 obj -<> -endobj - -18158 0 obj -<> -endobj - -18159 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18160 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18161 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18162 0 obj -<> -stream -HWko8_!`8_z4Iw; b϶m(RkKKn&{/EyAQ'{u~oŋׯ(|+Ƴ -TXI,އU_ap~[V\֫z[v[m2&x5 gN<=LYal|Ly[Ux\hSggod,OO|=}3TY5? YW|0E wmјQKQxQW bܐ| K Coa&9 -aɘ #E)>AU0 2r29Ibs1`q Y`9Ż^x^x%^z%^z%^z^y^y5^{5^{5^{cB}쩏 >!'PxB}O >%ԧPy3BYNց \bջ׺|.,_p!PVu1d= -µ.,µ.,BZAŐE\+׺׺kZCs \b"\b"{k] YzϵpIŐw1`u1d] YzZCs$\b"{k] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%Z[p!Wb"\bջ|.,µ.,BZEŐE\׺׺kZCs"\b"\b"{Uk] Yzϵpp!PVu1d=*µ.4ZCŀEŐw1d3e -#4,8xC#ÃaglLnf^]{o׳^l;b8UU=RpRom6jUV_[,>ސ mw][yWVe{T]N:IjޖuSJ!&e>jebkBN3NօYeϼozzHm-0[Wߴ۳t;3s\J.eG,p\ɢ^]86ZnZ`/yֳ 5Ǐ80||H8B" l.R͍$x3%M~R*Ƶjs42S'k2lEe)Sˑ򭑛I!a{`_It!Emشi:잽CD.̋y,jXG!s>d/˅4dP*XmM\GLEc9e/PʼZ;)ۨ7a㾰 M=ɜ36[łpݭPJmabm>B 5Ϊ=)%i}B%jSX24{1czE>=,.1\ԡ xaٲک }_RE{cjxՉ³YCUnԍXgql6sT͗U?+G}nY.{b9:Xx$V4e%[Y{33H -U=ٸ}c#ro0/#0uҡ,G &<^GѢ*]%A<(Iro6lc_>q=~d]̮g%q 99*p` %|bLQsذ'w5@m2fݳ?KS3aw-M A?އ8T2mU9{#6IBcoymwBobh^m>7e_D3px[2=FEa4)J9ٛhpRmq^t{£=Dҥ>}¶+;42)Rx \йu7\38)`l9>6SӜ!߂ FO (ꭃ`Z@΂ww#Vy|r]k1B;%r^F*=qB *?|l |JS;z5ոBKJ[EHFz8d m(ѥ$`2lMnn1RX8JȀE?$-((]xz\ВAɳo*zjС"2Sg2^f Y=ͪ+2O Oݥ֑9KKS}mGGIO@F{@r^9>ygT6pKi~T%`()'geFCFw~P XgM$^^a}$p- 9AxXrxBgB 5t8"MX!TFoƻӂaޞ`Fk_j᚜nG$=܌~d#z+LNT --h_JxK9tP -#:~nN&8[*Ft7pS4Sm9%Q~FnJ򘛪;;-F轪]9ʐ7%yvڭSų% !ޡwFGD*pX))3JJ,ѢƲuۘG3`JIx"x恝]}7';4!R0ZI"<+pؓ w/0 wKft8ӾEp,4nͮo6첮zYM\].6QK] :y|iN'#Y}` endstream -endobj - -18163 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18164 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18165 0 obj -<> -endobj - -18166 0 obj -<> -endobj - -18167 0 obj -<> -endobj - -18168 0 obj -<> -endobj - -18169 0 obj -<> -endobj - -18170 0 obj -<> -endobj - -18171 0 obj -<> -endobj - -18172 0 obj -<> -endobj - -18173 0 obj -<> -stream - - - - - Adobe PDF library 6.66 - - - 2005-10-31T16:41:56-05:00 - 2005-11-01T16:28:31Z - Illustrator - 2005-10-31T16:41:56-05:00 - - - - JPEG - 256 - 224 - /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA4AEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYqpXNzb2tvLc3EixW8KmSWVzRVVRUkk9gMBIAss8eOU5CMRcjyeA+evzx1jUZ5bPy47afpwqv1 sClxL/lA/wC6x4U+L37Zp8+tlLaOwfS+yPZHFiAnqBx5O7+Efr+773mN1eXd3KZrueS4lPWSV2dj 9LEnMIm3r8eKEBUQIjy2RujeZvMGiyrLpWoT2jKa8Y3PA71+JDVGHsRkoZJRNg04+q0GDUCssIy9 43+fN7r+WP5wReYZU0jWglvq5FIJl+GO4I7U/Zk9uh7U6ZtdNrOL0y5vnPb/ALMnSg5cNyxdR1j+ sfd9r0/M95B2KuxViH5h/mNpnk+xXkoudUuATaWQNNunqSH9lAfv6DuRjanUjGP6TvOxOw8munt6 ccecv0Dz+589eYvzB83eYJme/wBRlELGq2kLGKBR4BFO9PFqn3zTZM858y+oaHsXS6YVCAvvO5+f 6mPxySROJI3KOu6upII+RGVO0lEEUdwzjyh+cHmzQZo47m4fVNNBAe1uWLOF/wCK5TVlPhWo9sys OrnDzDzvafsxptSCYjw8nfH9I5fpfRPlzzFpfmHSYdU0yX1LeXYg7Ojj7SOOzL/ntm5xZRONh8s1 2hyaXKceQVIfb5jyTPLHEdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVeP/wDOQfmi W2sbLy7buVN7W5vaGlYkaka/JnBJ/wBUZre0MvKL3XsV2eJzlnl/B6Y+88z8vveEZqn0d2KuxVfD NLDMk0LmOWJg8cimjKymoII7g4WMoiQIO4L638j+Yf8AEXlXTtWagmnjpcAdBLGSkm3YFlJHtnQa fJxwBfEe1tF+V1M8XSJ29x3H2J7lzrlOeaKCGSeVuMUSl5GPZVFSfuwE0LLKETIgDmXyH5r8xXfm LX7zVrknlcOTEh/YiG0aD/VX+uc7kyGciS+49naGOlwRxR/hG/mepSjK3OdirsVelfkV5nl03zWN Jkc/UtWUpxPRZ0BaNvpAK/SPDM3RZeGddC8l7X9njLpvFH14/wDcnn+t9G5unyt2KuxV2KuxV2Ku xV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV86f85A+p/jmHlXj9Rh4V6U9STp9Nc0uv/vPg+p+xdfkz /wAMP3ReZ5hPXOxV2KuxV9IfkIso8hAv9k3cxi/1aKP+JVzc9n/3fxfKPbEj87t/Mj+l6Pmc8qk3 nMSHyfrojr6h0+64U68vQelMqz/RL3Fz+y6/NYr5eJD/AHQfIOc6+5OxV2KuxVPvIfqf430D0/tf pC2r/q+svL8MtwfXH3h1vbFfk8t/6nL7i+uc6J8QdirsVdirsVdirsVdirsVdirsVdirsVdirsVd irsVdirsVeRf85A+VpbvTbPzDbJyawrBeAbn0ZDVH+SPUf7LNb2hisCQe49i+0BDJLBL+PePvHMf Efc8FzVPpLsVdirPvym/LweatVe5vlI0WxINxSo9aQ7rCGFKbbsR0HzrmXpdP4kt/pDzXtJ23+Tx CMP72fLyH879X7H0pa2ttaW0dtaxJBbwqEiijAVVUdgBm7jEAUHybJklORlI3I9Sq4WDsVeHfnV+ WlraQt5n0aERRcgNStYxRQXO06gdNzRgPn45qdbphH1R5dX0T2U7elM/l8xs/wABP+5/V8u54zmu e9dirsVemfkT5Wm1LzT+mJEP1HSQWDno07qVRR/qglvag8czdDi4p30DyPtf2gMWm8IH15P9yOf6 vm+i83T5Y7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqp3EENxBJBOiywyqUljYVVl YUIIPYjAQCKLKEzEiUTRDwbz3+Rep2c8l75YU3tixLGxJHrxd6IT/eL4ftfPrmoz6GUd47h9J7H9 r8eSIhqfRP8Anfwn39x+z3cnl97pep2EjR31pNayKaMk0bRkH3DAZgkEbF7DFqMeQXCUZDyIKYaN 5N806zKI9N0y4nqaGTgVjH+tI3FB9JycMUpchbjartTTYBeScR8d/kN30x+XflZ/LHlS00ubgbwF pbx49w0sjV67V4rxWvtm802LggAeb5H232iNXqZZBfDyjfcPxfxZLl7qXYq7FUNqen2+o6ddWFyv KC7ieGUf5LqVP68jOIkCD1bcGaWLJGcfqiQfk+WPMf5cecdAlcXmnSSW6na8twZYSPHko+Gv+UAc 0GTBOHMPsuh7d0mpA4JgS/mnY/t+FsdjtriWT0ooneUGhRVJavToN8qdpLJECyQAznyj+TXmzXJ0 kvYH0nTqgyT3KlZCPCOI0Yn3agzKxaSc/IPOdp+1Om08SIHxMndHl8Ty+Vl9D+XvL2l+X9Jh0vTI vTtoR1O7ux+07ttVm/z2zcY8YgKD5frdbk1OU5MhuR+zyHkmWWOI7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FVkssUUbSyuscaAs7sQqgDqST0wE1zTGJkaG5Yzd/mj+X9rKYpdbty 42PpcpV2/wAqNXX8coOrxjq7fH7P66YsYpfHb76TDR/OPlbWWCaZqlvcykVEKuBLT/jG1H/DJwzw lyLjarsvU4N8mOUR31t8+Sc5a4DsVdirsVdiqWaz5l0DRUD6rqEFnyFVWVwHYf5Kfab6Blc8sYcy 5el0GfUGsUJS9w/SkMf5v/lzJL6a6ygbxaKdV/4Jowv45T+cxd/3uyl7M68C/DPzj+tk+narpmp2 4udOuory3O3qwOsi18CVJofbMiMxIWDbqM+nyYpcOSJjLzFIrJNLsVdirsVdirsVdirsVdirsVdi rsVdirsVdirsVdirsVdirsVSzzJ5h07y9o1xquoPxt7cfZH2nc7KiDuzH/OmV5cghGy5eh0WTU5R ix/VL7PMvmHzp+YGv+a7xpLyUxWKsTb6ehPpIO1Rtzb/ACj+GaLNnlkO76/2V2Lg0UKgLn1l1P6h 5MZyl265WZGDoSrKQVYGhBHQg4oIBFF7L+Vf5xTrPFonme45wvRbTU5SAUPZJnPVT2c9O+3TZaXW EemfLveC9ovZiPCc2nG/8UB184j9Hy8+39dxm1fPG8Vdiry/81fzZj0FX0bQ5Fk1phSecUZbYHt3 Bk9j075r9Vq+H0x5vYezvs2dSRlzCsXQfzv+O/e+fry8u725kuruZ7i5lPKWaVi7sfEsd81JJO5f TcWKOOIjACMR0CjgbEx0LzDrOhXy3ulXT2twtKlT8LAfsup+Fh7EZOEzE2C4us0WLUw4MsRKP45d z6Z/Lnz9aecNHM3EQala0S+tgdgSNpE78HoaV6dPc7vTagZB5vkfbnY0tDlrnjl9J/QfMMtzJdI7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq8H/5yH16WTVtP0NHIgt4frUyjoZZSVWv +qqbf62antDJchHufSPYnRgYp5j9Ujwj3Df7SfseQZrnuXYq7FXYqzryj+cHmvy7CloXXUdPSgS3 ualkUdo5AeQHsageGZWLVzhtzDznafsxptUTL6J98evvH9jOY/8AnI6xMNZNDlE23wrOpX3+IoD+ GZX8o/0ft/Y86fYad7ZRX9X9rFvM357eatVhe206NNIt32LRMZJ6Ht6pC0+aqD75Rl105bDYO40H shpsJEshOWQ79o/L9ZLzZmZmLMSzMakncknMJ6wCmsUuxV2Ksz/KLXZtI896dxYiG/cWU6fzCYhU +6TicydLPhyDz2dB7S6MZ9FPvgOIfDn9lvqTN8+OuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Ku xV2KuxV2Kvm/8+7eWLz4ZHFFntIXjPiAWQ/ipzSa4VkL6t7HTB0VDpM/oLzjMN6t2KuxV2KuxVUW 3uHTmsTsn8wUkbe+LA5Ig0SFPFm7FXYq7FXYqnnki2kufOWhwx15NfW5JXqFWVWY/QoJyzCLmB5u u7WyCGkyk/zJfc+u86N8PdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVeY/nl5Ln1n RItXsY/UvdKDGWNR8T27bvTx9MjlTwrmBrsPEOIdHrvZHtWODMcUzUMn2S6fPl8nztmnfU3Yq7FU z8u+XdU8w6tDpemxepcTHcnZEQfadz2Vf898njxmZoOJrtdj0uI5MhqI+3yHm+jPJ/5R+VPL0KSS 26alqVAXu7lQ4Df8VxmqpTsfte+bnDo4Q57l8q7T9pdTqiQD4eP+bH9J5n7vJm4AUAAUA2AHQDMt 54lj3mXyD5U8xxOuo2Keu/S8iAjnU+PqAb/Jqj2yjLpoT5h2mg7Z1OlI8OZ4f5p3j8v1UXzr+YH5 fan5P1JYpW+sadcVNnegUDU6o4/ZceGabPgOM0eT6n2L21j12Ox6ckfqj+keTFMod07FXYq9g/IT yXPNqDeabuMrbWweLT67c5WHF3H+Sikr8z7ZsdBhs8Z5B4X2x7VjGH5aJ9Ut5eQ6D4nf3e97vm2f OHYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq8r88/kZp2rTy6hoEqadeyEtJauD 9Wdj3HGpj+gEewzX59CJbx2ey7I9rsmADHnHHAdf4h+v7D5vMrz8mvzEtpeA0v117SQzQspp83DD 6RmCdJkHR67F7U6CYvjr3iX6ky0T8h/Ot9Kv6QEOl2+xd5HWWSn+SkRYV/1mGThoch57OLq/bDSY x+7vJLyFD5n9Re2eTPImh+UrIwaehe4lA+s3klDLIR8uijsozaYNPHGNub592r2xm1s+LIfSOURy H472R5e6p2KuxVL9c0LStc02XTtUgW4tZeqnYqw6MrDdWHiMhkxiYouTpNZk0+QZMZ4ZB4n5k/5x 91u3meTQLqO9tiapBOfSnUeHKnpt86r8s1eTQSH07voOh9tMMhWeJhLvG4/WPt97HE/Jb8yWYA6S EB6s1zbUH3SE5T+Ty933O2PtV2eB/ef7GX/Es18o/wDOPxjnS68z3SyIpDDT7Umjd6SSkLt4hR/s sycXZ55zee7S9tLBjp41/Sl+gfr+T2W2tre1t47a2jWG3hUJFEgCqqqKAADoBmzAAFB4PJklORlI 3I8yq4WDsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVSrzB5p0Dy9bC41e9jtUav pq1Wd6fyItWb6BleTNGH1FzdF2fn1UuHFEy+4e88mAXf/OQ/lSOQrbWF7OoI+MiOMHfeg5sfvzDP aMegL0uP2J1JHqnAfM/oTHRPzz8jalKsM8k2myMaBrpAIyf9eNnA+bUycNfA89nF1fsjrMQuIjkH 9E7/ACNfZb0CKWKaJJYXWSKQBo5EIZWU7ggjYg5mA3yeZlExNEUQvwsXYq7FXYq8o86/85N/lN5V upLKTUJNXvoWKy22los/BhsQ0rNHDUHqA5IxViEH/Oa/5dNKqz6Nq8UZ+1IqWzkf7H1lxV6t5D/N v8v/AD1Gf8O6tHcXSrzl0+UGG6QdyYnozAd2Wq++KswxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2 KuxV2KuxV2KuxV2Ksa/MDznbeU/L0mouolupD6NlAT9uVgSK/wCSoFW+7vlGozeHG+rtuxuy5a3O MY2iN5HuH6z0fLWsazqes6hLqGpXDXN3MavI56DsqjoqjsBmhlIyNnm+x6XS48EBjxjhiEFkXIdi r6L/ACJ80Q6j5V/Q8jj67pLFeJO7QSMWRh/qklfbbxzcaDLceHqHyv2v7POLU+KPoyf7oc/1/N6Z me8k7FXYq89/Pb8wbbyR+W+qah6gXUryNrHSYwfia5nUqHH/ABiWsh+VO+KvztxV2KonTtS1DTL6 C/065ktL62cSW9zA5jkRx0ZWUgg4q+7v+cdfzob8xvLk1tqnFPM2kBEv+ACrPG9QlwqjoTxIcDYN 4AgYq9dxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV89/wDOQeqy3Hmq006p9Cxt gwXt6kzEsf8AgVXNNr53Ou59P9itMI6aWTrOX2D9tvLMwXsnYq7FUz8u+YdU8v6tDqmmy+ncwncH dXQ/aRx3Vv8APfJwmYmw4mu0WPU4jjyC4n7PMeb6m8keaovNHly21hIfq7SlklgLBuLo3FqEdu4q M32DN4kbfG+1uzjo88sRPFXI+RT7LnWpT5r8w23lvyxquv3KNLBpVpNdvEmzOIUL8FPYtSmKvz2/ NX81vMf5j+Yf0rqxENtAGj07TYiTFbxE1oCacnb9tyPi9gAAqwrFXYq7FXqX/OM3mOfQ/wA5NC4O Vt9TZ9OukBoHS4QhAflMqN9GKv0CxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV8 6fn/AGE0HnWK6Yfuru0jKN25RsyMv0UB+nNLro1kvvfU/YzMJaQx6xmftovM8wnrnYq7FXYq+n/y X0+Sz/L3TjIOL3LS3FD/ACvIQp+lQDm80MaxjzfH/anMMmunX8ND5Df7WcZlvPMZ/M3SLjWfy68z aXbKXubzTLuK3RerSmFuC/S1Bir80cVdirsVdir0b/nHjRp9W/OXyxDECRbXX12Vh+ylqjTVPsSg H04q/Q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FWE/mt5GbzV5e42oH6VsSZrK u3Oo+OKvbmAKe4GYurweJHbmHoPZztf8nn9X93PaXl3H4fdb5ingmgmeCeNopo2KSRuCrKwNCCDu CM0b6/CYkAQbBU8DJ2Ksn8g+R9Q82a1HawqyWETK1/dfsxx16A/ztSij+AOXYMJySoOo7Z7WhosJ kfrP0jvP6h1fVdtbwW1vFbW6COCBFjijXoqIOKqPkBnQAACg+MZJmcjKRsk2VXCwdir4R/5yT/Ju 98k+a7jWtOtyfKuszNNbSRr8FtO55PbPTZd6mPxXbqpxV4zirsVbAJNBuTir7R/5xS/Jq88q6TN5 u16BoNb1eIRWdrIKPb2ZIerqRVXlZQSOygdyRir6CxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Ku xV2KuxV2KuxV2KsR85flj5Y81Ez3cTW2oUoL63oshoKASAgq4+e/gcxs2ljk35F3fZfb+o0fpieK H808vh3PN7v/AJxy1ZZD9T1mCWOuxmieNqfJTJmFLs6XQh6zF7cYyPXjkD5EH9SZaL/zjrZxyrJr OqtcIDU29snpg08ZGLHf2UfPJw7O/nH5OJq/beZFYcfD5yN/Z+16to2iaTotilhpdslrax9I0HU/ zMTuzHxJrmwhjjAUA8XqtXlzzM8kjKR/HwR2Tcd2KuxVC6ppem6rp8+nanbR3lhdIY7i2mUPG6ns ynbFXzx50/5wt8s39xJdeVNXl0cuSwsLlPrUA/yUfkkqD/W54qw61/5wi83NccbvzHp8VvX+8ijm lelevBhEP+GxV7D+Wf8AzjB+X/kq7h1O49TXtaho0V1eKohicGoeG3FVVh2LMxHYjFXsOKuxV2Ku xV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kux V2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV 2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2 KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KvnbyTqH5r+cJbuLTPMRhazVGlNzIygiQkDjwjk/lzSYTl yGhL7X1LtXD2ZoRE5MN8V/SO73yDKv8AA/55/wDU023/ACPm/wCyfMn8vn/nfaXS/wArdjf6hL/S x/4tI/Nq/nL5PsodUvvMC3Fu0oiBhkMlHILDkksSAg8T45TlGbGLMvtdj2aeyddM44YeGVXuK+0S L17yNrtzr3lPTdWuVVbi5irME2XmjFGIHapWubLT5DOAJeH7X0kdNqZ4o/TE7fewT89/M+v6H+g/ 0RfS2X1j616/pEDlw9HjWo7cjmLr8ko8NGuf6Ho/ZDs/BqPF8WInw8FX58SGh8l/nlLEkq+abcK6 hgDNNWhFf98ZAYM5F8X2lul2r2MCR4Ev9LH/AItd/gf89P8Aqabf/kfN/wBk+P5fP/O+0o/lbsb/ AFCX+lj/AMWhfyy87edB57m8q6/dfXQDPE5fiWjlgBYlXUAsp40ocjpc8/E4JG23t/snSfkhqcEe D6T7xLye05tXgXgN7rv5iax+ZOpeXdG1t7Wl1cLbrK5WJEi5NxqqO3Rdts0xnkllMRLqX0vFo9Bg 7PhqMuLi9MbrnZ+IT/8AwP8Ann/1NNt/yPm/7J8v/L5/532l1n8rdjf6hL/Sx/4t3+B/zz/6mm2/ 5Hzf9k+P5fP/ADvtK/yt2N/qEv8ASx/4t6V5Xs9astBtLXWrlbzVIlYXNyhLK5LkggsqH7JA6ZnY YyjECRsvJ9oZcOTPKWGPDjPId23xedfnd5t8x6BqOi/oe9ktfVWV5EUAq5Rk48lYEHrmDrssoyFG nqvZPs3T6mGXxYiVV8ObJPy6/M3TfNtr9XlC2utwrW4s6mjgdZIieq+I6r+Jv02qGTY/U6ntzsDJ opcQ9WE8pfoPn9/2M2zLefeRfnp5q8xaHd6Qmk38tms8cxmERA5FWSlajtXNbrskokUae49kOzsG ojkOWAlRjV/F6b5gt9TuNDvoNKlEGpSQutpMTxCyEfCa0NN/bM7KCYkR5vIaKeOOaMsgvGJDiHk8 p/wf+fP/AFf4/wDpIP8A1SzXeBqO/wC17T+U+xf9RP8Apf8AjzGNS1T82tP802/lmfXX/SVy0Sxl ZKx1m2WrcAfntlEpZRLhJN+92+DT9mZdMdRHEPDjfTfb4sn/AMH/AJ8/9X+P/pIP/VLL/A1Hf9rq P5T7F/1E/wCl/wCPPRvI9h5msdBWDzJdC81MSOzTK3McCfhFSF6fLM7TxnGNT5vK9rZtPkzcWnjw 46G3Ld555b82+ZLn857zRp9Qlk0tLi8RLQkcAsauUFKdqZhYssjnq9rP6XqNd2bp4dkxyxgBkMYb 9dyLex5tHhHjf5medfN7eeLbyl5euxYl/RjMgoGeaehHJyrFVAI+z71r21eqzz8Tgiae77A7K0o0 ctVnjx8/gI+Xf71v+D/z5/6v8f8A0kH/AKpYPA1Hf9rL+U+xf9RP+l/487/B/wCfP/V/j/6SD/1S x8DUd/2r/KfYv+on/S/8eTL8kvPmu+YP0hp+sz/WpbRY5be4Kqr8WJVlYqBXelD1y3RZ5SJEt3E9 rOx8Ol4J4hwiVgh6H5juJrfy9qlxA5jmhtJ5IpB1VliYqR8iMzMxqBI7i8voYCWeETuDOI+14Z5J n/NvzhFdyaZ5j9FbNkWX6zI6kmQMRx4RSfy5qcHi5LqXLzfRe1Ydl6ExGTDfFf0ju98gyX/A/wCe f/U023/I+b/snzI/L5/532l1H8rdjf6hL/Sx/wCLd/gf88/+pptv+R83/ZPj+Xz/AM77Sv8AK3Y3 +oS/0sf+LYZ+TvnjQvKt1qkmrNIq3aRLD6SF90LE1p/rZi6TPHGSS7/2n7JzayMBir0k3ZrnT07/ AJXv5A/37c/8iD/XM78/j83kP9B+u7o/6ZhX5s/mh5Z8y+W4dM0r13n+spM7SR8FVUVh3NSSWzG1 WqjkjQ73oPZv2f1Gk1ByZeEDhI2N86em/lTBND+XuipKhRzCzhW2PF5GdT9KsDmdoxWIPI+0UxLX ZSP533ABgH/OSX/TO/8AR5/zIzF7S/h+P6HpvYX/AC3+Z/v2RWv55+Qo7WGNpbnkiKrfuT1AA8cs jr4AAbuqyeyOtMiajz/nKv8AyvfyB/v25/5EH+uH8/j82H+g/Xd0f9MwD8uL5NZ/Oi41Wzjf6rNJ eXI5CjLHIrBS9K03YDMTTHiz2PN6btzCcHZIxTI4gIR+Irk+g83L5i+a5fMM/l784NV1WCxbUZIb u7UWiMUZufJa1CydK1+zmi8TgzGVXuX1mOijqeyseOUuAGEN/dXmPvZr/wAr31n/AKk65/5Hv/2T Zl/ygf5v2/see/0IYf8AlJj/AKUf8W9H8pa9Nr3l601aazbT5bn1OVo7FmT05WjFSVjO4Sv2e+Zu HJxxEqp5XtLRjTZ5YhLjEa9XfYB7z396cZa4Lw7/AJyLdk1HQXU0ZY5yp9w0ZzU9o/UH0T2HF48o PfH9Ke/mP+VU010fM3lIm01uBvWltoTw9Vwa+pEajjJ4jo3z626nSfxQ5ut7D9ohGP5fVerCdgT0 8j3j7vdyHflr+a0OvFdG1ulp5hiqlGHBZytQeKmnGQU+JPu8BPTavi9Mvqcft72dOm/e4fVgPx4f 1juPz84n/wA5H/73aF/xiuP+JR5j9o/UHdew30ZffH9L3LNs+duxV4Z50/8AJ86P/wAZbH9eajN/ jA94fReyv+MXJ7pvc827507FXgvlP/yf99/zFX//ABB80+H/ABj4n9L6T2j/AMYkP6uP7w96zcPm zwXzZ/5P+x/5irD/AIgmafN/jHxH6H0ns7/jEn/VyfeXvWbh82dirGPKH5d+XPKbzS6UspnuFCSz TSF2Kg1AoAq9fbMfDpo4zYdv2n23qNaAMtVHkAPwUy81/wDKL6x/zA3P/Jlsnn+iXuLidnf4zj/r x+8Pn38r/P8Ae+VYNQjttFl1YXbRMzRyMnp8AwAPGKWteXtmo02o8O9rt9O9oOxoayUDLKMfDfMX d1/SDOP+V76z/wBSdc/8j3/7Jsyv5QP837f2PO/6EMP/ACkx/wBKP+Lev5snh3z7+Q/l/RNYvNYX VbGG9WGOAxCdA4Usz1pXxpmm0OOMibFvp3thrc2COPwpShZldGu57B/yrvyL/wBWGy/5Ep/TNl+V x9zwv8t63/VZ/wCmK+HyD5JhkWWPQrEOu6kwRmh8RUHCNNjH8IYz7Z1khRyzr+sU+AAAAFAOgy51 rxX/AJyS/wCmd/6PP+ZGaztL+H4/ofQPYX/Lf5n+/eh2f5e+R3s4GbQ7Is0alj6K1JKj2zKhpsZA 2eXy9tawTP72fPvLyPz9+XE/kvU01/SrWPUdB51ltbpPWWHkaenIDuYz0V+o6E1oTr9RpjiPEN4v b9jduDX4zgyyOPNWxiavzHn3jl+jqH5Z+YfJesaaz+X7K30y7AH16wjRI5FI2DEqF9RfBv1HM7S5 Mch6RReP7e0WrwZKzylkj/DIkkfsPkzTMt0D5/8AL15aWf58ahPdzx28C3V8GllZUQVVwKsxA65p scgNQSe8/pfTNbilPsWEYgyPDDYb9z2v/Fflf/q8WP8A0kw/81ZtPHh/OHzfP/5O1P8Aqc/9Kf1O /wAV+V/+rxY/9JMP/NWPjw/nD5r/ACdqf9Tn/pT+pMLW7tbuBbi1mS4gevCaJg6GhoaMpINCKZZG QIsONkxyhLhkDGXcdniX/OR/+92hf8Yrj/iUeartH6g+g+w30ZffH9L3LNs+dvOfzL/KmDzADq+j UtPMEVGBU8EnKmo5EfZkH7L/AH+IwdTpOP1R+r73quwfaKWm/dZfVgPx4f2d4+Xnxjzr5r1rWbfT tO1yF01fRjNb3E0mzurFOPNT+2vA1PfbNZlyylQlzD33ZXZ2HBKeTCf3WXhIHdz5eW+3c+rc6F8X dirwzzp/5PnR/wDjLY/rzUZv8YHvD6L2V/xi5PdN7nm3fOnYq8F8p/8Ak/77/mKv/wDiD5p8P+Mf E/pfSe0f+MSH9XH94e9ZuHzZ4H5zkjt/z4sp7h1hgW4sXaWQhVChEqxY7ACmafOa1FnvH6H0rsqJ l2LKMdzwz+8vZ/8AFflf/q8WP/STD/zVmz8eH84fN4H+TtT/AKnP/Sn9Tv8AFflf/q8WP/STD/zV j48P5w+a/wAnan/U5/6U/qeYfkP5m8x6tqGp2+p3899bwQRtH67GQqzOR9tqtuB45gaHJKUiCSdn sPbDQafBCEscIwlKR5bdO56f5r/5RfWP+YG5/wCTLZn5/ol7i8f2d/jOP+vH7w8k/wCcftX0qwtN aF9ewWhkktzGJ5Uj5UWStORFaVzXaCcY8VmuX6Xt/bTTZcksXBGUqEuQJ7u563/ivyv/ANXix/6S Yf8AmrNj48P5w+bxH8nan/U5/wClP6nf4r8r/wDV4sf+kmH/AJqx8eH84fNf5O1P+pz/ANKf1JT5 J/LfQ/J8t3Lpk91M14qLKLl42AEZJHHhHH/NkMOmjjNi3O7V7dza4RGQRHDf03195LK8yHSuxV2K sX87/l5ovnH6l+k57mH6j6vo/VmjWvrcOXLmkn++xSmUZ9PHJV9Hcdk9t5tDxeGInjq+K+l9xHey WGNYokiWpVFCgnrQCmXAUKdTKVkl00MM8LwzRrLDIpSSNwGVlYUIYHYg4kXsVjIxIINEMDtPyX8s 2Gs/pfS77UNNuVkMkSW0sQjSprwAeJyU/wAlicxBooA2CQ9Jk9qtRkw+FkjjyRqvUDZ89pDfzFM+ AoAK198zHmXnms/kb5T1bVrvU7m7v0uLyV5pVjkhCBnNSFDQsafTmFPQwkSbO71Ol9rtVgxRxxjj 4YitxLp/nIL/AKF48l/8tupf8jYP+qGD+T4d5/Hwb/8ARtq/5uP5S/4p3/QvHkv/AJbdS/5Gwf8A VDH+T4d5/HwX/Rtq/wCbj+Uv+KZ75Y8u2Xl3Q7bRrJ5JLW15+m8xVpD6kjSHkVVB1c9sysWMQjwh 5vX62eqzSyzAEpVy5bADz7ko87flvofnCW0l1Oe6hazV1iFs8agiQgnlzjk/lyvNpo5DZtzuyu3c 2hEhjETxV9V9PcQyvMh0rsVYn5y/LPyx5sliuNQWWC7iHH61asqSMn8j8ldWA7bVzHzaWGQ2ebuu y+3tRogY46MT0luPeKIZZmQ6V2KsU1P8t9D1HzbbeaZ57pdQtWiaOJHjEJMJqtVMZb5/FmNLSxlP j3t3Wn7dzYtLLTAR4JXvve/xr7GV5kuldirEdP8Ayz0Gw84S+aoZ7ptRmkmlaJ3jMNZwQ1FEYanx bfFmNHSxE+Pe3d5+3s2TSjTER4AALo36fjX2MuzJdIxPzj+WflnzZPFc6is0N3Enpi5tnCOUBJCt yV1NCT2zHzaWGQ2ebuuy+3tRogY46MTvUhtf2FjX/QvHkv8A5bdS/wCRsH/VDKf5Ph3n8fB23+jb V/zcfyl/xTv+hePJf/LbqX/I2D/qhj/J8O8/j4L/AKNtX/Nx/KX/ABTMfJ/kbQPKdrNBpUb8rgqb i4mbnI/CvEEgKKCp2AzIw4I4xs6LtPtfPrZCWUj08gOQTjULKK+sLmxmLLFdRPDIyUDBZFKkrUEV ofDLJR4gR3uDhynHOMxziQfk82/6F48l/wDLbqX/ACNg/wCqGYf8nw7z+Pg9X/o21f8ANx/KX/FO /wChePJf/LbqX/I2D/qhj/J8O8/j4L/o21f83H8pf8U7/oXjyX/y26l/yNg/6oY/yfDvP4+C/wCj bV/zcfyl/wAU9RzOePdirsVdirsVdirsVSHzv510PyX5dn8wa40iadbNGkrQoZHrK4RaKP8AKbFX eSPOuh+dPLsHmDQ2kfTrlpEiaZDG9YnKNVT/AJS4qn2KpD53866H5L8uz+YNcaRNOtmjSVoUMj1l cItFH+U2Ku8keddD86eXYPMGhtI+nXLSJE0yGN6xOUaqn/KXFU+xVDalqVjpmnXWo38y29lZxPPc zuaKkcalnY/IDFXn/kT/AJyC/LXzvr6aDol3P+kpI3lhiuIWiEgjHJlQkmrBatTwBxV6TirsVYH5 q/OryP5X84WPlHVZbhdY1D0PqyRwl4z9ZkMUdXB2+Ib4qzzFXYq7FWB+avzq8j+V/OFj5R1WW4XW NQ9D6skcJeM/WZDFHVwdviG+Ks8xV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV4//AM5Y f+SS1f8A4z2f/USmKqH/ADirqFhD+SukRzXMUcgnvKo7qp3uX7E4q9c/S2lf8tsH/I1P64q8j/5y q1Cwm/JXV44bmKSQz2dER1Y7XKdgcVV/+cT/APySWkf8Z7z/AKiXxV7Bir5z/wCcr/Pd/crpn5W+ XOU+s6/LE1/FEfi9JnAgg9vVk+JvBV32bFWF/nN+Tkv5VaP5P86+UmKX2gmC31i4UEq92GMiXTA7 8ZJC0bAmnHguKvp/yB5003zp5Q03zJp5Ahvog0kNeRimX4ZYm90cEe/XFWQ4q+QP+chv/WmvKn/b o/6jXxV9f4q7FXYq+QP+chv/AFpryp/26P8AqNfFX1/irsVdirsVdirsVdirsVdirsVdirsVdirs VdirsVdirx//AJyw/wDJJav/AMZ7P/qJTFXin5Of84waD598hWXma71u6sp7qSdGt4o42QCGVoxQ tvvxxVm3/QkPlb/qZb7/AJEw4qwn84/+cYNB8heQr3zNaa3dXs9rJAi28scaoRNKsZqV325Yq9r/ AOcT/wDySWkf8Z7z/qJfFXpXmzzNpnlfy3qPmDU34WOmwNPLuAWI2VFr+07EKo8Tir4p/LD82/Kd v+a2rfmP5/8ArVxqcxd9Lt7WJZljeUFKku8dBDCBHGN9j7Yq9k8y/wDOVH5JeY/L+oaFqdrqsljq UD286/VoqgOKclrNsyn4lPY4q89/5xJ/M6HQfN1z5Jurln0bXJS2lyyDhxvE2X4KkL9YjUAip+IK MVfZWKvkD/nIb/1pryp/26P+o18VfX+KuxV2KvkD/nIb/wBaa8qf9uj/AKjXxV9f4q7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq8r/wCcmtG1fWPyg1Sw0ixuNRvpJrQx2lpE88rBbhGYiOMM xoBU7Yq7/nGXRtX0f8oNLsNXsbjTr6Oa7MlpdxPBKoa4dlJjkCsKg1G2KvVMVeV/85NaNq+sflBq lhpFjcajfSTWhjtLSJ55WC3CMxEcYZjQCp2xV3/OMujavo/5QaXYavY3GnX0c12ZLS7ieCVQ1w7K THIFYVBqNsVYP/zlDH+YPm7VNF8g+WdF1CbS5pYptU1VLac2RlkbhCj3AT0wkIJkkNabjuuKvWvL n5Rfl7omg2GkLoVhefUoUha7ubSCSaVlHxSSMyElnapOKpl/yrzyB/1LOlf9INt/zRirwj/nJ38l Jnt9I81+QdGaPVNPlEF3ZaPbUkZC3qQ3CRW615RSVDMBWhHZcVe2/lh5l1rzF5J03Udd0260nW/T 9HU7O8t5LZ/Xi+F5FjkVPgk+2tNt6dQcVfOf/OSvlnz5L+dWl+YvL3lzUdXh061sZo5bazuLiAy2 88knps8KkeFRWuKpt/0MD/zkl/5bCf8A7hmqf1xV3/QwP/OSX/lsJ/8AuGap/XFXuf5W+ZPNPmTy Zaat5o0ltE1mZ5ln054poCipIyofTn/eDkoB3xV87f8AOSvlnz5L+dWl+YvL3lzUdXh061sZo5ba zuLiAy288knps8KkeFRWuKpt/wBDA/8AOSX/AJbCf/uGap/XFXf9DA/85Jf+Wwn/AO4Zqn9cVe5/ lb5k80+ZPJlpq3mjSW0TWZnmWfTnimgKKkjKh9Of94OSgHfFWW4q7FXYq7FXYq7FXYq//9k= - - - - - - uuid:b4394bb7-4a5a-11da-89f8-000a95d54d10 - uuid:b43951a4-4a5a-11da-89f8-000a95d54d10 - - - application/postscript - - - -endstream -endobj - -18174 0 obj -<> -stream - - - - - application/postscript - - - Adobe Illustrator CS3 - 2010-02-22T16:05:52-05:00 - 2010-02-22T16:05:53-05:00 - 2010-02-22T16:05:53-05:00 - - - - 256 - 64 - JPEG - /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAQAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq8F/5yn/6Zj/o+/7F8w9X0e+9hv8ALf5n +/eCZhvfvTvIf/koPP3/AEZf8nDkh9Mv8373l+1f+NHTf533PMci9Q7FXYq7FX3rm4fAnYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXgv/ADlP/wBMx/0ff9i+Yer6 Pfew3+W/zP8AfvBMw3v3s/5J+XJPMvkXzhocc4tnvXtEE7KXC8Sz/ZBFfs+OXYYcQkP6v3l4r2l1 g02rwZSOLh4tlS//AOcZtQs7G5uzr0Ti3ieUoLdgSEUtT+89sM9PKIJ22Y4vbSE5iPhnc19X7Him UPbo7QdLbV9c07SlkELahdQ2qykcghmkEfIjatOVcMRZpo1WfwcUslXwRMvkLeyf9Cuaj/1MEP8A 0jN/1UzI/Ky8njP9G8P9SP8Apv2PoPM988dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdi rsVdirsVdirsVdirsVeC/wDOU/8A0zH/AEff9i+Yer6Pfew3+W/zP9+8EzDe/fQf/OLn/HO8wf8A Ga2/4jJmVpOcvh+l889t/rxe6X6HsfmH/jgan/zCT/8AJtsys30S9xeN0n99D+sPvfDOat91T78v /wDlPPLf/bUsv+ohMnj+oe91/a3+KZf+Fz/3Jfa+bV8SdirsVdirsVdirsVdirsVdirsVdirsVdi rsVdirsVdirsVdirsVdirsVdirsVdirwX/nKf/pmP+j7/sXzD1fR772G/wAt/mf794JmG9++g/8A nFz/AI53mD/jNbf8RkzK0nOXw/S+ee2/14vdL9D2PzD/AMcDU/8AmEn/AOTbZlZvol7i8bpP76H9 Yfe+Gc1b7qn35f8A/KeeW/8AtqWX/UQmTx/UPe6/tb/FMv8Awuf+5L7XzaviTsVdirsVdirsVdir sVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVeC/8AOU//AEzH/R9/2L5h6vo997Df 5b/M/wB+8EzDe/fQf/OLn/HO8wf8Zrb/AIjJmVpOcvh+l889t/rxe6X6HsfmH/jgan/zCT/8m2zK zfRL3F43Sf30P6w+98M5q33VPvy//wCU88t/9tSy/wCohMnj+oe91/a3+KZf+Fz/ANyX2vm1fEnY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq8F/5yn/AOmY/wCj 7/sXzD1fR772G/y3+Z/v3gmYb376D/5xc/453mD/AIzW3/EZMytJzl8P0vnntv8AXi90v0PY/MP/ ABwNT/5hJ/8Ak22ZWb6Je4vG6T++h/WH3vhnNW+6p9+X/wDynnlv/tqWX/UQmTx/UPe6/tb/ABTL /wALn/uS+182r4k7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FXgv/OU//TMf9H3/AGL5h6vo997Df5b/ADP9+8EzDe/fQf8Azi5/xzvMH/Ga2/4jJmVpOcvh+l88 9t/rxe6X6HsfmH/jgan/AMwk/wDybbMrN9EvcXjdJ/fQ/rD73wzmrfdU+/L/AP5Tzy3/ANtSy/6i EyeP6h73X9rf4pl/4XP/AHJfa+bV8SdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVd irsVdirsVdirsVdirBvzO/K2389/o31tQew/R3r8eEYk5+v6da1ZaU9LKM2Ezrene9i9uS0HHUeL jrrXK/1sG/6Fc07/AKmCb/pGX/qplH5Q/wA77P2u9/0bz/1If6b9jPfyz/LODyLBfww373wvnjcl 4xHx9MMOzNWvLLsOHgve7dB2120dcYkx4eG+t82XahaC8sLm0LcBcRPEXpWnNStae1cunHiiR3uo xZOCYl3EF4p/0K5p3/UwTf8ASMv/AFUzD/KH+d9n7Xtv9G8/9SH+m/YjtB/5xwsdI1zTtVXXJZm0 +6huliNuqhzDIJOJPM0rxpko6Ugg39n7WjVe2E82KWPwwOOJj9XeK7nsmZjxj//Z - - - - - - uuid:57AF147B5E21DF1199F7CCA4C6BF7A02 - uuid:58AF147B5E21DF1199F7CCA4C6BF7A02 - - uuid:C2AA2E501DE011DDB083D7A1EF0195FC - uuid:C2AA2E4F1DE011DDB083D7A1EF0195FC - - - - 1 - False - False - - 8.500000 - 11.000000 - Inches - - - - Magenta - Yellow - - - - - - Default Swatch Group - 0 - - - - White - CMYK - PROCESS - 0.000000 - 0.000000 - 0.000000 - 0.000000 - - - Black - CMYK - PROCESS - 0.000000 - 0.000000 - 0.000000 - 100.000000 - - - Charcoal - CMYK - PROCESS - 0.000000 - 0.000000 - 0.000000 - 75.000000 - - - Graphite - CMYK - PROCESS - 0.000000 - 0.000000 - 0.000000 - 60.000004 - - - Ash - CMYK - PROCESS - 0.000000 - 0.000000 - 0.000000 - 45.000000 - - - Smoke - CMYK - PROCESS - 0.000000 - 0.000000 - 0.000000 - 30.000002 - - - Latte - CMYK - PROCESS - 10.000002 - 23.000002 - 33.000000 - 0.000000 - - - Capuccino - CMYK - PROCESS - 15.999996 - 37.000000 - 58.000000 - 0.000000 - - - Mochaccino - CMYK - PROCESS - 32.000000 - 48.000000 - 76.000000 - 19.999998 - - - Mocha - CMYK - PROCESS - 42.999996 - 52.000000 - 80.000000 - 38.000000 - - - Mars Red - CMYK - PROCESS - 25.000000 - 100.000000 - 100.000000 - 25.000000 - - - Ruby - CMYK - PROCESS - 25.000000 - 100.000000 - 100.000000 - 0.000000 - - - Red - CMYK - PROCESS - 0.000000 - 100.000000 - 100.000000 - 0.000000 - - - Pumpkin - CMYK - PROCESS - 0.000000 - 75.000000 - 100.000000 - 0.000000 - - - Squash - CMYK - PROCESS - 0.000000 - 50.000000 - 100.000000 - 0.000000 - - - Sunshine - CMYK - PROCESS - 0.000000 - 25.000000 - 100.000000 - 0.000000 - - - Pure Yellow - CMYK - PROCESS - 0.000000 - 0.000000 - 100.000000 - 0.000000 - - - Peridot - CMYK - PROCESS - 25.000000 - 0.000000 - 100.000000 - 0.000000 - - - Little Sprout Green - CMYK - PROCESS - 50.000000 - 0.000000 - 100.000000 - 0.000000 - - - Jade - CMYK - PROCESS - 50.000000 - 0.000000 - 100.000000 - 25.000000 - - - Mint Julep - CMYK - PROCESS - 75.000000 - 0.000000 - 100.000000 - 25.000000 - - - Emerald - CMYK - PROCESS - 100.000000 - 25.000000 - 100.000000 - 25.000000 - - - Sea Green - CMYK - PROCESS - 100.000000 - 25.000000 - 50.000000 - 25.000000 - - - Caribbean Blue - CMYK - PROCESS - 100.000000 - 25.000000 - 25.000000 - 0.000000 - - - Pure Cyan - CMYK - PROCESS - 100.000000 - 0.000000 - 0.000000 - 0.000000 - - - Hawaiian Blue - CMYK - PROCESS - 100.000000 - 25.000000 - 0.000000 - 0.000000 - - - Twillight Blue - CMYK - PROCESS - 100.000000 - 50.000000 - 0.000000 - 0.000000 - - - Starry Night Blue - CMYK - PROCESS - 100.000000 - 75.000000 - 0.000000 - 0.000000 - - - Deep Sea Blue - CMYK - PROCESS - 100.000000 - 100.000000 - 0.000000 - 0.000000 - - - Fresh Lavender - CMYK - PROCESS - 75.000000 - 75.000000 - 0.000000 - 0.000000 - - - Purple - CMYK - PROCESS - 75.000000 - 100.000000 - 0.000000 - 0.000000 - - - Amethyst - CMYK - PROCESS - 50.000000 - 100.000000 - 0.000000 - 0.000000 - - - Rasberry - CMYK - PROCESS - 25.000000 - 100.000000 - 0.000000 - 0.000000 - - - Pure Magenta - CMYK - PROCESS - 0.000000 - 100.000000 - 0.000000 - 0.000000 - - - Global Red - PROCESS - 100.000000 - CMYK - 0.000000 - 100.000000 - 100.000000 - 0.000000 - - - Global Squash - PROCESS - 100.000000 - CMYK - 0.000000 - 50.000000 - 100.000000 - 0.000000 - - - Global Pure Yellow - PROCESS - 100.000000 - CMYK - 0.000000 - 0.000000 - 100.000000 - 0.000000 - - - Global Green - PROCESS - 100.000000 - CMYK - 80.000000 - 0.000000 - 100.000000 - 0.000000 - - - Global Pure Cyan - PROCESS - 100.000000 - CMYK - 100.000000 - 0.000000 - 0.000000 - 0.000000 - - - Global Deep Sea Blue - PROCESS - 100.000000 - CMYK - 100.000000 - 100.000000 - 0.000000 - 0.000000 - - - - - - - - - -endstream -endobj - -18175 0 obj -[/ICCBased 30226 0 R] -endobj - -18176 0 obj -[/DeviceN[/Black]/DeviceCMYK 30219 0 R 30220 0 R] -endobj - -18177 0 obj -<> -stream -Adobed  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   -  - o!1AQ"aq2 #BR3$bC4% -rS&cD5Ts6'E7F򃓣dU()8GHVe*9:IJWXYZftugvwhijxyzi!1AQa"q2#BR 3br$’Csc%4S5&DTdEU' -()*6789:FGHIJVWXYZefghijtuvwxyz ?N (^z^z^&׫zWzWzz O7[=ZsU{^ܩ딪W^7Uf55#Vכ5׹{W{׫qV;rk\u]jk/nz^z^ -su\ZnnY9C^CW=^s=^s=V +D"ysj =^cNz^ ysz^=^s=^HVɷ4+Ƹ_׹4kպ֍xIaW3sժ Mr9`j¹ 9S[¸znӛW_o6+іz1μXW\Z( W`G-VXVto4k@*DjMusDw0s'I4S3uppF[ESFX)NBƥ -G,k [&(@1њ FVx)g̽+`H4(lk%XW 2g={?l٭۽xO] YU.a1RM4v4hz>3MDCMXƠhU{m/N\:Z});h;6i@ i:kƳX=4bGU$ ׅLp<}Vᕹ61#1\1< 6ԬMV'MמAMY+pj,UHeJD7RǨMG%N}V1SaX)zA%xߧia RiA+1gzsFb"OߧS1[DӯY;FQ֠S((m}G^8Q]bלXo 8śUN"f>a zi2yeƻ%)3u2)%.gj{b c^Z*"h2JMP19:V%@/9J5%@=Q)6RoD ُ~*>Ev!Tm"SU#w{ٜ)3ъ0+xF\p-eӸc -?f,IWrիUH\iXn-@Zn~8?"|A)+WF>]ۊntxM6؄\[*"<Z>E.O],Vg]ͨ8*4enQs 4T1UThB7'a nzbĬ @ӉUѾR~4nqwxˀDE5'3moc)zḚVo>;EEBi|t )cGm"q* -%bA`=ݛ#q4f:5pףo*|MUnw_ugbt,'n)N5U4'-xi X^ P1'~^U@I]LT:Ⱦ{_FL)_;Z*sibRfae~}%AU&wJ̐0{a]4Sn!NJ^YUequ#0 -ElQOKY%m!Bǝ(pjlPi[^G/^LPݻQƌ$/D{yS|^@M-,N9NN*eDRS^hR_"/Y6ok§RRf`d@|S^yZX -s -~&YDoJ(~ -fXFěxZ5.XAbZhx(hTQx0z8O#3vO]4rb)#_RiyBK"3C%$AB׸p20p5a1Vh>wҌnZgx6ۉ -MZ&W?N6j5#L$da\,ؠ7ؕ/Ld7~ , -GM{m_ s#ǁcSF\">U?TCC xDץq)%Xf0 TƓ4*E9 R&?u&):ރg,dmd-/DaABMs AŖnEv—`]APv?paE›ˈarڍTA7\^2K"hGDžyhѕ?h(C:4d+p,t-nh^H/?xdPr-o_x5E&yG<J`wÖ^ OZˈl -W='U&M]YOZC}1cjiCfv -9!'eN_W3[! 爜@Q Ծijxm;괏JYf5bΘ *G`4+~t93FŲpH}+l`k\ҿWK?U&!K^ƍׯ3auJ~նцDoBz[\!Vf {yfV0*0,wYӴs ÃV# - -\+Z|KYaQPĴ n>*u'AOwEȞ[02B -8R炖S _M b-}&$ҰOV},F`e ڠ.u/s.2pwf(p*4H!Gdž)C4-}eNN.!ԁ"S۹5# -Vչiu zma~T"Ut&(_sx.a*ӎ-^qinM<+%>՚((ّA۔QGRmrAW㞪׹{W`ۛm|Vدrzsm -4+fkܬUfs=^s=^նl0nlDWsUj5^sunn*W2O5Z6'WEmWܴMnjܰW<ٮJ{WurQsV5^s=^sq^sU=^suk z\٭Wr[ۗ_W8rz^E,+ sq^׿4DZ q -Ҷ _o—R! ^ZB+ÿ J(`8hDOik)Cm0bıIx>HMx -wg]Sj&iЗKY*$O#JV[IL4$a$ѕ&KuƀnpcUF?_sB$~\ۙU~(.7\*pxT҄(<1S*e|?AL(RSJOPuhcq]UE?Jb6!DžRҿ|TpO=*ٯ(M_IxJMНTM~<"cg*j/*..x*A&:| ^x+Zk'VQhroM%ɫ*Wˌ _˄n(Ѽ)_xsvj&AJX{W-.Vu>M>\;Y|p6kn瀫 MH -c\if*fZt*WH4|zG +RS#>ʅV&7?~h*c`R.d9e.kK=˴TSI'-H k~x._F^U< BxX}]M 4(E^&~!=u_*pEF?JbJI{[)>χX,~=;/@ H)%ī 7s‡Vh)MdcxuUtky1Gx*Ɩ05 )ˢ/Fk1B@ik0>kA "iĬ[ Ec( -U9!e<}2S Uhg -tP1m]~<Pgg,$FokCOs"e5BY4ԪPTXۅ7KТ){& ˊglEA: 6rijRX}6*n&niq&ՕP- %v {x{l@i{Q4ǠH,˂i'Kf(@8iE52r*)Z4sxC4~R_eΥRgI.ײɣ¹t Ӈ,i)1xwJW~(Km4A{ )c`,ۚqShIc8EhmmH&6S`MNWzm&ُN H!JQ^z9q*s,A3ߵ@8QBdz>3V'Y,9 -G>Ɩ!sGwЗ^w*j:ZM+!fQ XӄG:87Ukeo8 }mߎFڰ4g칈ej,[ӽŶm!f4S3/a}(\T׎>&H afUj+ƲRKK^vJƄ c?kopOktR'h(M1uʸYb@_u#n5"ڠ$6)RL$nZM1SNDwLA<1MG -.,i> Vhk~W -h@G;<>p$ѯ 4@(Ps??R.`8bJjWFR@_H B4FaR,nSIVKu7x[<8b:&hc)=Nd Y>{'R ңsN=LP!V)#]$E!(} `99j$E6ЎG$&(bLR+1KP̓}Ai\b3t UN-]W#TaEy#ũV1,@F`[1\k)faXEs8mZAB( OQYOotۆk؊B4,OWK~VGDŽb$sI+#7{q{LjJUOf¨`Lh7CN v&s'UbFc7'ƒ n6U֎IcR$ѥ`PkMssQ$$}`-EIܴXDC1HIӄ *2&}q0k5O%' -p -vPn8S[FCgნ**,B%cQƍl -A~&EA-?.86SXGF4,CV#(tՂ^zk$^hTU{  ?s Q$]"Zdvf#q:US9:<76RNpyЖȫݘ̸kKk&`Ȣ -I;q\XJvb+=Tnz\ߞW.z\շs+NlVdvW{׹{׹U5n^"4rL\+Z9{Wxy{W{WsNٯW۞WK{պsU랯W{{5+^sU=^[WsNzz^墵5+[s=^qklW%EzWߛ׫NzY9{WwW1nVݴ9^\z5^s=^s6+Z׹JsVW|zWz\z{sՙXWdnuŀ -뛭׹ZrjnP ܽZko=[ yM=[1UNʚb}QNVkh5^T֫aWM9cVyMr.5Vxuōc5 n+^jG+aQi -,߈~d#S|8s#R'u8\w D~TZ,.(f$@aFVH]=#>=B+4iL(I.Ë4qO\2; WpBjXחYjh -vnG˴F8C4Hr6R#fVӷHHLŕ mo5(NzIc>9<ۇTbV 韠U}=ȴP__,H.xy8QQ ϙ J K~0)W* -Q7>A#ջQ9k,n2q܍h:x+h 2ͥ]x 8SAH&nl͟drJӢCiPƓ)8S?6_eu5'}pMkfL\\TX4JIyM)_ESuNߤC4#jvSTL?<'tE/@ -:B FbSkeJa4~$}4&VTAi#@]|;G(SI=f|#!DkRБNhuTkZb&׋V{(RwJ^{׀qg΄)! 1:]08թgbp8CTR 8tIR_>^Lj) گIM#M-ŖkL:(y7>':gıD4&TM,;؀'EIC8LUی))ԤQPZP"[nUTajXWRqJ|3hj=.(`MY/OZj(̧%|cď߯"M(,O$oR O.5E}I81\BjϪ F?.\'FJصtoԻĄOpJ;(zO4h˜Yk# "E~g9>fQ6|8odu iʂSCugψHf^]SH,'Hƕ&6MN0uS*x e-@M8M7ƒ1bzz]C%R>T -!>t -g}Shd& 40XԐ[[݆ϊNj )t+PEAhiw2#-srK&/NfGQ)CQ3ܪV%t&xȾQ˚ h`XND{߳*4zrYF,77 -½1A6DDÞHĨԨ"mq[4ҍ/rkbM ~Q8(XkND9GmQpAN9dRzeڑ۞iJ&tHO/_3Q Hlj!fL 'ޣ>ɆW7W61[9^~+:\#ar tOh›A.>MUESԇ>gx4+zv)܏O0Mη6["?t'N8a,psq8NZ:=}'q,93SSζ=4  NUU{^8Rj4/OauKTG:OpMo4Up ً0‹42Hn6=:vݵḒiP^_<0,``э4>a>1,_(:Z"G&{i}h}J5*mt_j<< -'/ɤV}odLoT${~GqnE,| - V]4]]nO< +mVT -xxr/J)L CEp2~PdEYXiikgu9QD׉P6oILj<DM5Iz&)獩ڰM`3$HO+&SӞvu uϧׁۼU4 z_4Ua"XkgF.h)-9$ibhBhNUF -iڤm? $E7(kƊrZت\vo=^|zNzհbUrC˃U5˛W{W{W{RMRk =ZJ\4iZ*eP,m7BtUDҗo,0㔜|[4VU$_io$KW~@|j`8(.x- iU$j5:\ &N4"6lE7{.AkʼkPpkE%*8{il8E>fA2~y~˻lprx?2-vf)(U DB˄%#Fht+ -l]BR J2)aXuϩ]U=Nʭ}Brh831i")c#[_ҁH4W)NE$fC\N&on0BS|]H^G[_@Gom8fbyZ̈́PR!SG/S?i䅚\o̎[Q 9dXp-G4=HbYꈳM#}gDk֨3"Î䪼iף9ZL6#:\ׄώ0ofUça TN)eFB@.㨝 =>ϗ{NUmD}" ii) (],3H@ =8" -ex&\̝PpK=`m= ^-d?û4uYkgH.Fe)4(d14TKR̍uPGO< -H+iA뤟F=X;}}^<)f"ǫ8Z2bTI1y..`T_id 1 ZѮxI' -TW^)J -vky<^HU4(=Hu 8+4%HSɉսSu2(BR$݇K>y)E_I߆l0!~y ͸!sEw UP~ -Us%KiNŵmԮ*Ґ`ؖC#1& u -' ߕJj@a@Fv8[ƝZ 1+ñ)hQ٪Tz}>$b(iSӼ b*т>QۀkPƧ2e!4ϳ{ ӆjOC2hBtS3{ن2kktpT4LAgUdF!euy$HHPÍ^ +ߘk&LĨXhX |tf.XŲ18L"X~#Zt /^M֮ǀ4+v!xNEZMdT|=DGe>xX쥆uRKY?8$(Oe^d֤p51Q/bv;i")¼) uْ#:l8 -iۧX`g{liŠXk!8T7J)ӶumO; .RHꥬ@F1~fmLDкC1,_/:UNDu*Ƃ)/⅌iias`n"a#G25ATD>6pg,q%+[b+}ei|V\FEmv4(ZrfZ#OzK~V 4d?)Nx쾟EUpBi}b| <UH5\m - )$mm8ղ"\+IL{0G+ӔI" SGy9P:N%Qe(AaRk(7W-^\Mz"r\Vn\կUz+ت*=^s=^s鍹busS^C4qW4wh|jMt"+dW|j s[J{W{Wxs 7\y{+6kՏW$fR]\VUt!57 -(v;(YoRij2oD [+dsPʀL)F猸+MGZe<_;Baa²YKҁUEqaRHA~*nV"nFh?8^`}pcH $SbQҚIPUD.@'^-K"ur*DF̖q# -—ۂi? -Ѡx6ݬ ۝Xh$qT}Ns -:MBEēx64]&ɡ+,I ED'5uL+aS L^RV \*Fн_^:(KDiM; ->EK\ <Һbd9_?b8|L|_OCBΦEIZ^?1Qx@x𢵍(?z],O)5UEjX)-=~$U,ep7{k}lcNN#څiʻnN6)C΋BY:h<*QT[~Gac /՟&9LV*Jm0"5]ZcZ9n; *Iƛ Qꧦpu()ɱ(#[⋇ ֐"_3.UoL -U#c>M93O|ӜJ^"OrG<&p/Ĵc̩ 38$֣4O~ …}umqƻE> ]Up~ZSZN/mVnπtiܱ$q{pW$$m5Ҳ(N0F[ťԒi<\4:4eW %C -SX|=8ݺ(E]Ԑ&p* -T:ݤ-dl鿥ً=|-N`kx<إ)14gdJF,f8+MiBa;o0X} ɴG X &I Q\:_R&A&[qna۷M8U1>q!r_b -J+m[Y~ajt3ZͮCIQCϹ* F[̕&ϥ+:dzV[_>媈n)nQ7 -`o=jVs LC!O4\[^6ё-s. -)pGf"h -AzeX;ejFsp滐SUXZt \?b@ЧU(tc13)Bgt׊&&tw ac~;i1+20sz40X -Eo9cݍ 86vuyMQ` d" G,4nVhMVn;QV|%C; &m{qٗ< EJkߗwl}gg7 >lX'E\k8cA/O =1M o9!P%JHư>hxTvq(U0X3]iq$X[i—b(ѣ3]+6ucx~I}? C)>3JN^hm.pxPiqƫ(qhlx.iz]LhLQrAtV;8|@Hd M!A3̀AIXPs#1 Vڎh>U)+G{q)jV+3;X~\ڨŠa ׺﹍tȡ{^ YoBlɴSX1(' {X5[^*+/7YljHzs\e5,JZHcJ%5Bi{CЮ7CԚ- >hRnxRl=, UBbQ&5$4vhVȽF]co}B<|4H1b#( 3/H(*5dQq={)ҔSUO9g 8ղL urlAZzMx$jIv$]IqlIýX8)=ƓXNPRbKGg!n-}OQ[)ьG&svEf"(G^Q-dV@oWNn5f\U֫ۚNz+n+vT.n^z^h뭃RSur =^{WE5Zs5^su5^_W{W$ǚW`+olWmצM9VrUZ~z]֫5^Հ^zkay8Е# -=E6[İ:unJPMm8ktIJy2BibgxUVF%m:pX6#CiM'|=ꮣuYFHg;/߿%RhtE -]-"ys;T>bNh$rצ,:$r-v&O@˹/bc{47)8-(My…JS԰V4)hzIt2m ͭq z'R* ˺M1#OhAQ&m[ME%i6-vᰘUH4mB M1E.\F ۼM*>Py,Qɧ$j vu{9+z':oMNQNu3*ҦR .Ql4/ *f2H|`/p;|8MLmrj1; ц&Jȁ("7hBm7^!c!7pE=8MQIc%[{o~3G {`3߃AO(]nI=P>8QPһjM HUfyfkAMOGy|:ȳ9]u6 PIa*V6iN`#H,O8K\U(aؤ_<[1B~y}]T,L3Fı E.d~l4/ev^Pan@袙z:qzȜ<KLMC> A.IMxT¼CΌ0Þ\ 2 ?7FH4豮A8 pt֖%Tt- V)alo)ZZUDWtރť3X|Xv =RuE:*BusnG7_!hٵ+Q(UU@FԢ&(z3c=;vo6o߱+=C\'ET9vXX4X4 -WLџv{"ރH|딩j!2O6EOB=)zGO! nFh8ԀҰcne.h#mQK6'6|#8_J2Luj^L4> P\X",h[F:;p>cJN_Ch0֛͎z{8ZY3]$GIYJ$KX{+l#ʁKw|L=Ie<ݵD$Ӛ))Iь:rd#I=u~ҍXk}%JJ&h5cf) TUX[PI+j28WbNDžμ GDqBF:kp -8 5=S~J.'QMR[>NNTݭs\UBfc`bnrt.WAs7PcʌIq -C*} z$窌G$)xƒOYOOU;I;NJ -VYCy3$a{}fQ~!XV \6&hCnp V<Bo|"԰MNN_-N4Brم ֣5┘U6(e췔:Y$a*xnQ PQĀi [WcLKai>m:p9N릯Y M?ehAWuL/uDi%gUp͔r+pO~GvG'qıf%:ך(1(sCaJ$n9sNz\rVz]u`ߚW|Zkksbk/Ts=^sD+5j廛!85]=^XW<׉5Zm W-WzMxz^j^n]sպ뚭WWOۗkbrƶkO+ZzwUձ\ZzuS\[5 j\S7^|zWܸWxsu杹EWV^su䀎^k=ZH-W=^sZ5伽nUzY)6z\s{+=^sU5^_WiWj뒰=^\zWzWz=^i͊ѯsJלVyNV6^׹nkUxu^R֫5V\ʚ`ۛZuUŅcsX+9[[jXK; D45ʫT#QZi$gy<@mTEC֕OZlk.?*T`A„OS\xf_[sy6ZGɬ]%cºMyOx߿v"H<ΒuSX(f{|l9]P+sHXM!h6 -~Ez\U;-zʙ*`Gi]H -ۧZIjMU> ,28 c8qE!d|F]b&ڭ{(_ihNڲBc}gՆθ(n)s%$u>d( xeA%}du1倪Hpm}O# E[^lɓ0Y +Ӹ>a/{ĺ^jVs}'0@!SK JC{^jw)bqK -UO߆%b8tp -#bn43Rg2`x H|j wҒkDMvj~bms'@*4INC%?*HMb3-l]圐58i}>G,&) NHm4^R\U6Ƹd@E 8֐b赝}>u9(j^D0MEZhƪ)pV ~J~w&EW:Ԫ#&)<V#M!졻J3񹪈\}|N3O)")9kfc$ko jPuO}}ێ40..₲np[' k45dZzcRK\PNA*rvA*JXPQ,Y> ݢ @U!(rTqkۻg -8қ{;(~yB#6UUFv0| 0nZ QwjQ4Xy*@}ڰ"߯4ŪTMmwEoΒRc 2{8Zwrk_z*:K:ȩ)R0;ޤs}\G*^#? -̿Y`0Wt ?4ݳajRnmuQJ[^K v)ڣ+&f)ƫ%$n;];L @{)i[$o M$`x 1_n 6ixtaBt+=rZQOH8 Rf+,'!6t?hŗ1Bڏ@/Bou =RZcԝ$qmmmR[L`M~r!9[HFN)gс1fZ`č٧1{ҚA;EjUUQv(ɣhNgOpfm3)hn/@"X{=VAG-}@rkBXJP8PRQx|Mف$ -E$VJP,pi4LR1)G:$q.TM X$F4a?,gxcV߷L8Q)JG52pAvI2Aƍ/冊LuRzPBէOmellA[ZDtR<Zux0?HF)59 A8 W)rvxzʰI*6<H([%M 9G*M^} a7.4xEU[~".Ddž+% LJ:E84t?u- -tP)*1't&SBN6l5REI6e_{vF45 AGˋ51Sm T'()F}8$հ[}Aɽ>ӻlNh`@>V~ue Hv{?&Oċ=_/Hf-(׻($Ez!4>+W,o@n/LSJNt#tJ:"0׍:5}aްrk f}d -E3RN7=&NJcx4mRE0􅞺K صKF'պƀh,&hwɞ2gOϨHEIb{=;S"H#+pWJc2._ -3H}8Ov{UQhqe,Z9f_pEr_9|^Z4ֿ2UG([6j*)`BGËvQeP (z/~j\r½\ZrCW=^Hyr{bpvj\KX^)W ۞W!1]#W\nVny[|jf#mµ]nsU=^sU=^su5^sb\_][5^o=q^sFkz\{VNz]1=^?lձ\Z{Wq^su,n+U -]Z5^kێVz\˞WvunV妵\zWT׫+^ ykՓ/^r^z^z+Z+aWW|zWzTw=V+U۞s0\/nz5z5zkձXWLypkuz^WU;zЮl9m'+Z7W㚊b9dP9B*L½\XsU%Xͻ?zg\b'|w{9V}/LeA-_<~(L -LzvtbzRj͌h<跫*t[mmÁ6VI(8] _Q3M.2u^sKMSq<)p.[&D iRKX4p.EJH4bnle5iU)4_BjsK*[chlVI^)`T<_SnGW-M)eZ1^ZZX^I(\Z4&/[{/b1G$u"4Hb;xq83W4fb93fBTbD@Ǘm2EP? kHalN -M4Pq9BB= e&] r5UXqg`aN\#CO_#x)i~U,4'1BZV]6:|NʲT(9?EDT6m:{O*Qn b Ak;'F`6ՃgR<֞jƀMI}ġ.i#):n,m &4/Jq8 >Pe*?·#6Ҽ$(?E]iOQLz'i S<@הhz4:㲲D{4:S0B3@N5e詛y荴Iᘼi̥{[JE[ *4[C5TXO)*HyC|_`/sBi})N}3("q,M/Uq6oy4 vy,|'RmYG?>,}I-k8zz/ -?Vk%\W?^wnHM2ɰP-rGo;B(~%9̝S3c D/-xE4v~ -h; Zㄝgy(ce@pAI4 `}w9 }g"6S-8F4" -v 5xpHxT8 2Is6"mCLG@,} -]e*,Cq>nM3eV0L,~1#΍ERSᘭ=9{`aZjvilQ':`?vZ}H эo~i QGt1PFBhͿ425TDUT 4bUaYnu6J ?!2+4?I!KlDWD qmkm중ՀJ(H;v6ȩ5x[ߛZ %zj: UnZh: fj>* $QVq],.4P;[RO8!BM3 XT] -J F`)ŐjIB8LJIFoTY^#V~[4_pJg Zpb"E^ˉ!$8KAb0c%f@/uBKt z遚Ii(exG죋aFO~3JiiHCUoE14[QZR?N H@ ZBqU#S)17d3FTJ0*N루7Vo̗BDP%Hfmp6L3 ??]Э$E+LnSs_ʡ4Z:Y֞Ib UH#1̚mǽ\Ŋk1 Y?y"k`U퓲O$4$yl1D7YrшS2FokGM&zsaENdmT1:pahڡXS&phꩻ$['*4eLcߗ(ly$M{9 -Y䮎<ġd' yJi* pdBC64c1$, qهFp‰'=^ysCqWzU{WsU{57妵+V ժw=[sժCbM{W{W%{su6Ennz]mkq] 9v wW^sU-5^sU玦+75@榵]~j+ksb+'+UsժO=[;_W۞W.j^oez׫/n s5=^X>z\W.z^́^͚ͭwMz^nScs^ 9V@oMz^r=^s=[-[mV=^_W=^ٷs=4{Wz׹ѯsթWl -'N^X[nj\K^ܭz'xVV֍brycաQw7WmbO r~߂2Bh( U =s Q8-n uoG -TcpL -O._*)Oyo:ME -}>DpʸbNGڑ5_wK`3M%`ualVqx)fzO9 -"#!'Z ~9"gD,tq @=H9 zwʕ S󏔫*m6=譫 -,ZUw <&P9*uwHNGªꠏ/uΰχHR8.;XwX"|ElW@Xw'EUFҭ8" Y -aG_##e|;rMiB( ЅC]tkŀZ."ZCu$c[ J!GW)HTB^Cb{ Qn")ms453y&':eh1PGt -E:HUVT*(bKrT:TM,_uŶbScp!`vEz ˋHαM+=dHExkOy$d ,&rKV -#DHx+ > @_q00!_onfiۥ)&iocOR(u9,loPƛJӞѽ 'PE绪^4Yޒat\ym}NYOx|Z.)m0DRUR&Ml+ҕ2 apQRJvռ$X !ʏ7=ih -^KfH'm06pvH &2L yـ߷-ҔɊHx rdҪgFEA{~|[+H4Er5@C&G:JW@N&䜧~3WܮM/q–J) YvDPsCC[DŽ$m -Q=:9s~zQ;-]`ONʳLߛ,oy3FŕF$P0X[݂Ky{p1hdoE (i媽*|x 1”lHGp^b3)lOn0֣nHU{u]E#WNO=ce.<@tr6lFۯ򢑪" ;Paa== $PyM&vR@dkJ 'L&qA,~-dHhHBd&b|~{f<8%Jq:>Ā?ǁbF*PuL. R~7)ߛ@/}b\X"8_ttbe 6SяH>dܵ1VG\GԍREs/6Ӏɸw֍MS7lUnc W-vZTH ޜ_plo:^J(%|U Pv=߆:@4\ *澫b1ᓕؾ=.#Mh'ɽbĆ;J4`/(ZkvIsJBU´=4Ol_aLV(P/# 38c)k4kOVE Y$(*jj  'ʗ)D:G˅UtGғ4q'eũ[Fm=i - S뾨p6!d) j6tM$h(8PiHssxǻMwDRpƵx=F+RA?bL>6P4pP\)f̞DdůOE -P{x_Hj#x'׺mBVE=GXn=^D_:V`U w?N"lޮE[K vn!F2=-NT[@}Des.}]ҨUH+XŎu6̫HӖm{_-4 e?QV3^C8} 3Fvvѕ0<[JXT1< @"O_ L4<^S\|u&AeJ.qΣf:::]R>'WiEǏdY*pM>kjQ)q[(DG{ES8R<"$4)tK( bފaYMYQFW }Y?EФS`_Q2^SH?CC5]T]sZTrQr䝵EnuW el;i~T={nqU-v,Jk.xDž ŒuCiph*C#T: wI0jES-59nnRt'6(FzLDIT4D/~:SLcFIRYS1 {Nn&RH/]{ʹ+ņAUK<' 6-OIƭD/z _ĒӬ2Fy@j\G&f?A(;Kȕ1I TZ&*\R%"aGj1q[8OEC2|SmxAA(~ͺɞ墧+}_AxzI-ӭT7L }qe \/HЧj#)X$o -]`{ 顀Uy;K5[Q+-6Ӽ"nbϳv)u~: 3;,P!XA$-pU"1 cabyUp.c2cA66sX=|@^3aX"hʌ?yj«'u5u -yNe`4ׇvi# uqi^@$Lx1N1} [Qqҋa4.3T٧(lyNO+*@?ܓLdY)%b<9`Ц ۔ F.kb QÍ}JHƭz.d:32cBF~Nl ,͉ERxhHE%T(Ճ\⋋Fv&^: m%=..ɈjͼmԆtT -!@H}DmNxuDJLZD MNC -X iV.E3O os*Vp!(O0UOyֿoyRi5`(a@VC -RK>T&hQt&gJqH!V ek2iEk1 wʱ"53NM`XfDwJ}F4;¢9Jrԋ4$V6 )QRAw&pL2G -﯇ -DM -QBk` -H이#|Tv -f)k6OQSwUv5C(,1U T8Gcm:pgŲGQR n*\4ކ2M?HqOQ:sK5O : =t|q<]<ۘ33,XVT0JQ!S\lVҠERR5jg?8N/;(UDa4?rOm \}Ν3FaE[n߿0IYLPu1L&vsoʁBקQk+n8BK"*߰'nc 4_Sq|Z)jebJͧx.Bpiԣ-`X[Á+V~ -rOcuPꃪ-Q-"=6a߂NEW4_jO}y,F(i)3-OП'xJnLPg:x1dT3 N_4uL9a[ԁ7r|N!HѦtb;#oܦ -Qnk^ ^ 5qx7[5*Xd'e.o*Db\HDE?< H-ܤi{K"S&`xLZ~wS"%0xXp#)RJiĨG30"Ƿ afH11vJffۅ у @Œ9S&O(HO L(yю)GpH\or!Bne`m|&kΧ-,¨Y_i/axhT=Ou_ߡájt}. $ 5JJzYIbY3c.@$w-U#m;eQ;b-GǕXM@ElY&{k{5^`(]j1R^9)ZbI8;h&iCb~aYeuI6#A;*4I:9GO2*-@ -Y/Ոg%o2z#6(QG& , M afig ڶIzmeu6i`R(s+Q4(ˏS# v=U9riΔ$X)DЍь|bxDT$ -6 ЅҌrEYA#4mF{9\YV'/*h;v&HpjՑ;rkb/n{z)ƹ窵znz]=^\lWxi֢Wq"j+nn׹w·]sU7^ۚWDߚW%ksuur9x61Mrqk9Z5˕W6ukVzxUoʚ<+B&XWWyCZ5s{kk`O5{W{Wiߛ>z^\WzSnn\"+U1[{z+oV yW0oVz -خs^n#ZW$<^\zScDW7MzWÞW{W{4k׹{U&MnVW׹x^׫kj^sUj~\VWV򵹬gSVkejkցX2zT7=[-ey5ӵcsO5^׫ XWr9a͊byBj4CεKs{wm)2p4 1]KY7hwQEO6fYՆ؇8\ն4b""|N$a{pR͹m4LZu>fĶ}ͽ)qqhՕ4QѨfG "xk"b)P8/)zfΝ0S- `~#[bI"'Ph[7B͋Qr-'7 LU=^IQAS%LLRZn(C#KhkGn\ӓUCҮq5=WFT}oSdk?}9 i7'5f4ёO7֦S.9%{mWS(NUzzLJiҥ7*ѝ^nrV G+|/ [LAzvYjjcțG}Go.he8Q_|3BޒCa{wdQ?yB_{[ȪGn(H4 uON $ypٚLNjcZ :#z'!1iSvZ¥r(BFqvʒjtU^㖹jݨP[rbcA&tȣT'Nrr.T]Q?Myݍ7u+Zjl=w1r[P4x˧ jiԪzW8t죑HE #.A6`@ ZĈl'[lTE= ؇uc^j}1Ib9)iC{^)uV?,F|K"*/.D~]|/u#PEnQD1/GـFl.yQՐ.ˡ":hhl9K`x&=إD(bu"ܑ J:9rʆ4"ణHE14AOXiʩ+wǢowQb}N_)NlweHo"ED -[ZV~lo#>ͱ[}d;S[iqLj#f7[ߋP 1I=gT>ʗ\Jx$w<nO-BOnDIAޟRz-z4 '@'᥵TrSI4o`\ Չpn~NRGnF- hs,8{H 6AwS?# -Mpgo*6oI}F‘X',=DŽRĚ;NbD{[{"4;ۢ*TD5hAoqu3DpTIV݀o^5`+CC+.m\N"jh%-xaƘ40`̕A(XE-a]E 'A}A1Ϩk,fC"tЂ>ILx8X#fdӲVhRZⲂÀ㮄6`߃F/dJ*crx)-ȹغx_p Ku?ze#D/xpj4qOM̪j|:!G;'_(ڴz18R6KGQѪZI,7&hhM#uCՎRReSaJ ϖUYYtyf;,1EOJshyԜ[**EX{puRbҗP^=64Lf.wE.ӡFGLt\|&24bKO+ AMq;o"VJ]OG2Y(֢u+Pc{Oٶ%BU%,=:D], -:QPq -udıj("<*En93x,|\Ķ׶䓕3$'^r:*n-=e;Scph# MJS`Tp4 -^aKÁDjnniH`]U*w10ÃJB?Ξ//Dq~[рX:7n'h|Qv!=Z!8qnkHQƍGϟjⱻ%nSLߊ~b8?Ri6S&\᝽ΔB~@4Nϣ4H!/$yP JIjE4R=ɍspG -cY^(u,0LƄ֮/8S ѧ-!d@UUWz̳Rfg{YA-F4i -z>3; XHJu -N*52G) >|TpAT?̻> Pu -,Yh3N{0z,xb -QH6>VR8 GI))0؝}bx]j/wKã3n(^H PQx <@)eԤpśS8L*DtiI׹ZJM"rK4*h/swdht/3@sU#X #s<){Í(DR?2c8m 's&Nm.f"MEȹ(K*s, iSnkn6RX{MQM.f*xSHK<%dž @OUW„_n֨kw`Ra|ĒZ|gaeɎIpVs`~Rt׷Q0۞XVNTW{$窦sթ۞W0oWmz~z^z+n窳^tVʑw֫zW[kWQsEzTzk]uJwr׫)Z,HR\x.j^z^mW75^s`׫ܽz׫⭶ xѪׯnoeoedj{sa]VQF7 -И Lۂl*]PVl)|q9dJJJuHm+Jlꧧ(W%~ (4SlgJ;wyAN?\͜};Zʶi/rnwE4ŠH<'6Ub4Hvbi1zzZ+&Ei֜KM$ fQfJ :W՟KYzjFJzXŕto8բ>S w^,SSz=u$G9",ߊP܏{b ID\:*Pg%R|c'^v4i4(:jMBo޻8QAL9 =u3%=wэƖSQT(&(h0Ȥ{O?GӞ ק1a[/7yV.'h zUǺg1z$J?Ƞa|Eݦjx%u@oTe]6Y)*,޷ W&(ɁQz[ѬyK>!]q{QʕkFOTOTzbQħ< 1pi[/Q}*S5%Rjye=xͶoZԝ -a%f$,{sL>T qhIrOdž:T=Xڠ /bk@Qk-$\=w&4ZpS>d2 T>:cOVVb`@S,M`^BD wuG v}!]ĊTQLӷ -/}lۍ'KM?ZNEE2u]5`ET,Ln/$xiڤcVsg*,J-~Qbϐr%yrS:ӵi"6'-M:tJ_?yLrăr7:Q/᥅ňTe,k{:jNvme(MoH=c=󫡒7}B[.Pg$M9ْUl[˓8vI‹Xl(!9W' n -43f?0AMJٮgOx"{\y)rPڹ*$XP*Å%ZبU5h+6* LT*0(d^4ɵ#n1A`ehvPhpGE, Rtre35IB8z Hb)vꢰb5ѧR`iɏ&ռ1Հ:GsxO2QG9xk"-0D*PhtVU -=C۷ ̃IE9"YcwN4SF9aКcqKX֪yxmָ;} X$yP*>tS6(*4MvaX}\F^)U+ M}c "AGMH4mUJzJsܷ"GEyBgK:2tUN/081 K݈K(:1ɷ/n6 -JPBWN:!ᐩ<ZڈQ++`#Ceۇm駚8# 6RHIil VdQ((pץZscK[Aj :>0,[&;6𓶖Ul\ofxWXN zZu2O[b;qK -LNDvb&SZ-u2C**8*g&0(PZ%41Q}I<ӛ(ZB[4><ƨ S 6=Hn{8m.ʅ6'΍Gꬣ& طm6# -?H*.#,L]@YbvSD)tR̈ 皵EyK˜]e*𱼰,5G$x*5g4eZBj -ƞe{ S4}=B#^( -z)ϔ<ӥ^'ibF2G_#Y t{.-u׆Z]P & rf55ԋ{OezONM-:`Js=$Pӟ_yo=?^ n`Yg|LJ,PN$,Eok7`B^zDTsQ^?fAnxbs$x}d *4tʲژOO$tT΀t߽N%#$+;vy3MoKjVnk#MXh~jy7D[KQ QM[_ EƌnI4m\swDYUZCo,xxGd<.\xFPQBʌ!%$ei\ 5 -J_Mq 5-K0'߅V]5'm(C'Ah'[їv{h<*2t?6-I{!'k}GCZNGE率8>B"p\(*R j>QGSMr!54\0[47 -QU=C.nb&^-$}fi5M{wQ) [ Fi"hwkqkk|xLF -Qrf+%o4M*1VTfZm1-Ȏ%>wFh~0}-e .aVM&!V{@,r|3ڄ*ƇE>sM(>nSvA{}vࡤzhX j}K"G3KAC$U}nOsIj4gz:рE..1)TVG WfQ €&c9z6 oO$m8tϦ'\iBbz`G,{wcǁ+iòttQ0ĶTKGr|OYQK* -Ֆ$ߕTz\ªi/~9^!_yp+TT?΍7804Uwn", jƂpjoE>6k -t(hBy(B鏺a7)#M3ߠI adv>Bh%P*rC|>w]|FFG'6T٦2$ arQouNQ\SK#qN4Q[qzP?G#+yLVY/*K .NeL҂_O}QArb8ijȤE QNGoH k!uiӢOX밪βFOARzוYs"IcЦtrB`GΞ'Ai)yS}˅6o'T`̸tj.Q sh`v?4K.UTڮ`S1Vq+z#u)FRӶSQI}R QEg9>iۆ4_I`9YfHw<-W -0O°uW\Ynu.M= gY-}/rmJOЅ8 -%9j-fhoƿp -MhVaQUdQʀq}ɬmVeC4jƹnhUk7-5 -s<^z~z^{s=^szqVϻj+$FU5˔W{W{W{Wv xUнEr 55]9pkMjj\_^XV)Zqaqʸnuh*Wmm^keVWzWw˞W{/^r+-bMr5Z6 V7/^5˞W$7˞Wxn\Ň-^{WzyZwVϞ55^s=^s=^s=^r^sB]3[&+Zqfז׫VWWZkÕ\5Zlm -q,O,k+uո4墭XKZ\$~xWcjHuMZr!Մx -p.{VIkuMXTJ}syUϨnԞJo*૩7Nj;)+7UsSJsDIt<8!4i"ޘA h$ -R4Tfu.&e] -QO,M99E$AXiqJ-S $Қ+aq7Ԣg#BIaE$R$z gv>xdn\K/Aޓ2\SƻheエwN+BtRM5s#d-,٢B@b[\2IVNJmס@җӷXOA))ie"`^-{Al飔հ hCu5qx PM^ESD A(*A lI ⱷbh袧nD,+o[#qMY/R!C[8 GzZ0ˮ0=tV7>aj-1RkGFlxqowh.QDw](hɕA` ~!crp[p5K;VU}π\^*eVS>t=&QPEnN I M.(1=mi#+/Qk2T1)`h^6Qٗ#T#A(yamI:)po -\nFQB^WS!1ϷCDQpR6*h$#rnjm41 ڌRR˸>)@E7!z>Y=BE -@6r4.oeW-1zxj O˵HE!IiD ->JYwH3EaTU D J"'P;S*iUЌ vԔU7e^oS[Mz_E˗0y!p?m~+>tfa -2 ˴p@n4$ -FiaQU׷S_[*!޷'܏5B -QI ORas#m ~_]`(ѢM91R`wwA'MйX3rJV]>>]*’t]RE\D 8<))¬c M -jVuf_5{[U˕Wmas{j5^QWz\׹׹{WZikqʭs򊪚ƪq[sժ5^s=^s=^խ׫ÞK~h -rz?;6 LjҊ<2Bi8/E pVuҞ!&E![ pDA4#ax5\ #INڅ*1V =G1'4AMi)5uITE1, -Bxߙ-b"\%g<~3(ֶ(_ođ`bEU9\ZI5}O  -Bo؝ _qB(]8rVәzPdV\j1V`y -X'`J´b*PAǪo<N"T]t=9Mv7ٶ,(ê¦t)_O3IW𺴑7!]n ÌLՁ\/Uawܤa[&iFhZ'ZJifc`p*^АBj'Ζ`yڲk㷀w´PύtfYנYzZHf'x]׀Й"G_Q0 R{-_Dw5IQ*5nU hc!ah7h?2@GsUqȔޜg#{ֻhHҵ ? xY}@ լ|3*)P"8!:x8UTXUIz38ǥzuiJ5I/.< t7D0#aDOZƓ6̓O {DkU5-~J9&;ٹ#afPi3-8eW#KK7Ƒ}U=Ӟ+5NH$#m|n൜v(csh衽6V$ $A}J7Ã|1ҭqNʮLW3;j>\p&R<ǽyJ!1!wE!JҕliR<_ni:1vzُ4jhc7;X{|8YpxL -^S}el%u[oI$XD7zpV1FjtAx -UJe"jT:PA: -6!W R`a M㏱Ӓ%y8Gl)OL? sf1([嫹  ?p֣OٓDUSQ>\ E\+4= /O L6MH&\,QDQ9z5/V)pha/R;B׮a1jx ЫmE냭4^;\rnGe=pvwx{/4Wy&> ZF T6zP@QeEkCg`0\S1x%Dy:4Ð=[u_8bCE.xϷûd 2i:hgIzٛg+je`H੕!)}j:KUYz)}1 -_f&S2Rȕ8:qW[75%[V%I"`!k3X+ 4c+􇧕RҬi-UpV+IBʖ@ +h~ J*썉^ԥ$O#Ьl~'v\x<NNt5QIEU0'^G?O$BqHPjߥ>tR24Q(㕭q> 8"1EpΗvű)lBJfw&BmӚ57zÒ~SeB~ a-'Q0h:RI#SB֟O=iYnFma:7JBV I CBI`XZe.f`W4A yqNTd=3%4qihw##h} GKT*V˘*ϘQ!M*:I$@NXic61D$ݱvh7ṗY "w/j˅BKo n*CmxŸQ-FExO%EgTPf ;)BA)N=Qd*A׸T "jH=]niLBS_ҏGR ZeԻ-+"]*3N銯ސfߙGYKdrUqeS --cp%TƣA‘\+s~b${h)VKB%48-~:tF-5NN -f.u'O[\hʹkƄ_DCb"W0&vMiN`Ln2JOscŲ ]fj @6wkָ:IPI3*RCOpٟ䪱[@]ѩPE[iߛWjmUc=VC -vժ:bVA͚vZsH-۹{=Z5ql -z&TW!!VVǖd7d w֫z׫z͚{WrR- ժzk5^ujyu׫N\W=9\՛nW!yalWg -։V+Z 9sSq׫j^zMz ~95iӔUx.7Usӛ9z{W%SW=^s=^r·\j{W W7^josMyrP׫zWz׫ܽzWT׫5WL=^zW۞W{`+6U6{sz{kUĞ^+&MpvמTz9a[ ۗ6k!Ջw=^lny^n5GQݵX7Xep4j⣼PÿG-lMVOKy~4F#CHVDiMMO"_7S+H4/IE59mQpHM4¨]~:xpJ-[B➪*Z7\ nY}&SA\(8g^ZS2娽mF𵣦K N,KJA8R)QUVHIЀq 8\pN2☸ڤq ]7$ -jtNÈnP8R ոV6dј"'`Xm8j'e! or~~|HZQJ.}J& %TPPH«T"V4POI wLiO/klV*N4C׿U3qEHV&,Ƿı⋛Pvz  A-&@8lhc-:;փJR8 ,K <,)M]ލԎJEXX K` -):,ZM .`%6#QYPCmT6#~&yyqd< -HƝt@&-]&X3۞NڽʢoW1i /f$6byJU46F1)h&PAphwU%63(USjDʦFU0L=&x*nUJ8qEfzxZ'կ)!O\Q2,M >SōIU5XYn >f'x vֿ* hLE.3-m1HH -d=0 w$q=xZ,Ws~K)q?NPU&ejf͐jUПoU=?6_~tlb?"// 'F -]BGg*M+2N婷m8˶EWBsyQK[JA,R0u%Җ=kE!G<>o* +4b$E'yg)澇:p3z1Gl'B!։sU(lF"1yҀ^W8ԇV]sNFI:4[i.x#z~K771(@7:xsՍX66pfKyVw˴ ( YU+lW47^sU4O=^갮jn9sTq+u˞WrCnz\׻sբf1u=U%+U=[^zVkk yR&̈́0WEz+q⸫fY3XsU7^X <w*j^z]1偭Ǫwh`-MRh<׫9n=W񬶿T 9sV=W7^zWܴ׫]7a74R)4mF4Pl4ןs5uĤ [NjpnMՃ].NRMy=\+BTis.([㙻rR6O L$RI@ϧ <]"q 2e6 -B!-YMhU~*K4LW|B9㿰┬*)"pELjᙺZX~bUe"Ak)=ƃrA4y!D b3'J2EG)qw1 =qg(eyt\F?8\֎hiޥ&MJ4U"Etr`8kh=TjQ*S$dܻV[֡+Ԇf+p4: K K)za70f@-E7m&(1? Ⱥz0jvE: u!UdCf~~ѱE8 )źz(gceD:pT׫z׫ۛ[WzkjkŞzsF\I+^qg=^B+Vt ErWQ$JDKh2T{$B.xQa -;ʻ>n Oth;t{ӅW􅛩ӪTygSU)ef)r^1U"hXX]ۇx;$ҟ 3)Ucd -OzJ5֍2xv4Q̾l(xbvdkU]u#3Q"d1ɸ9}*XoE"8ƪ˪Nfj;Dx~\R *6m}pxIS0ڼŎE<"  3Wӫ -|x㧄jt/50ʭ.u^ww+)8lI`pS l{pR*Tk5m?]L֒Ab]YXԺ "Um+0 -]tEiRFۆ:#.a*:L)XɋHRFj׷۞$z7^;[KX,nLtv=0⋷u -3nMYVƼS[_tBr-&K||k[mYg3,yjRURfWdYcJ0 #J&XeŰj(BHnaoʿGi+ãYv}=Te(Jvu#~g<2iՅփ/Χ ::6ݎr#B -j(lQg8fW[ mV5SHp~u*Px K<~gJz)e^!94P"0otHKn::C -qt7z$8׹!8&XB y2X -%'87h#S;`8i)IE4T} 談#>eMZ+IA$Xٿ +^~h'ZɐU8pn I'$EZ,izϙږCUP9QFzɤ7vi!YL]cLCܳ_]#ÀMZm)`up5pڈG ЅatԬ.ئc>*,ƟWտKq_9?F $\UAJzjL^IiW̃_ǞS!5G034a2a-4TZzbTyXP,?oW OM:7jjH’.)Q , CpR9t +yt.H$VM\ܒvT>0RG0'Sϲ*)D3 򼙝l/l&pN4A!dz5,h̊,5Äw6JE[(V̰2ML?ܣUVCPXn SPG3ʐ${ Z~'Ώ75T@ql[H ؕmEYrg d9;Xؠ4 "w*`%[av!UbOry0`+yյ~y&lO]($d_˿ 41*;2(&{.eDtT Y吏bbMFdЏNto o#r>eGo))*ۖWf۞`A\a{ndp].?÷Рߛ(=f=@ 4pcXܪlS x$i#O=Ŵח i4 OV 2|sۚ)=\XiU$`H(\bjGQCIM>$̒R{ \] o5<Uht['F}Fmc5`ثIm?>Ԋ"KrZnZzWWՊXh~$~ Ӫ))nҪ5ʯ\R8ڮ>z\xu`Y4|n>Hs( -ޠ]GϋeLT]qt+mey_xHMAA.d2Y)@8!Tmn -4`yǀ`{hOrT0R*ts=gOvmp)jMёiWV@x\˝Ȏ4Iן2P3SE<" -i<}k)r@ }_04ghn+ Q2=}XDR9xS?Q>;Di(Yq@Wk< k{pA'T$Q(`T AH_@UI@BR(RU%l닱hhhR5zCtIʸ"bo%(Q6ZJ#&2G4_6&ݶ;߼2Fl: -Qg^t9,O=C˵܎*ӴR;)q ֝6P^B#HC7 -eSAwU_RBa ʩt=)(2AruAK(pUf) "OB0pM?ćiGCS5˞W갬ߞWiW"ysڛr"=^ߞW{W{WR/^ɿ5Z]sցsuj=^s֦KGz^z], zyj{WrCʚrzWW!EzW7Wzkj]?nXW7^=^%ʚu׫ӞWW榽\9]sezVkhVqV7nz\U*I -x~Z\dӞV 5SX9[nӚV&RO7^vzJ\V =[mZKu 3TKQob\H0kUO?2H6(K2۹60:И&2UzG qDdx]gx>=ڶ@H:qDoQ=8~ E+V4Zyg0Ty+%9ӷ -$BD -<͗zL -I B0J]Y3PO9+5'2~ pAxIUhM (ܿEŏ"pUˠ0~hxBv{Гie1Kݣ`ua[)!ANI/Tpsoim4=̟e;[VdQ˗8AY5TdgdJ>x-HFƜ*G -2>GdT^cަG,ÿǑSv:2L817^k//qO) g[ {O3xuavPH1ގAIO2 `~*~8fb4} -ƸɤӎxWCŠY`{X)Ę4 u2>f+f},pBvS[faa<ѣ#Q8ђ x>( -SbmPJ콙LDk+n9`,)kX-cǒUG+ḌDeV!P-W|=;`&Vu֙qV:#"_v0X_߁+ ~l.xCwFz%oѱeɣ(V]ޘHeD5<2r_σKŠFUu8E$tݺ wᆒL -G91'dD4jvjn}7E*I-RH5m@ -M:XJoEnEGzeOPIu`ij^t#a"Qsڴz)Q3Fx 8E'Vpom R(]$R=UmC$ydsք&Iv .Ӟbu~::eL·-9݈O˷.R|8O}tOA˧K`uUkG?ȴo#̀-nr&ƧU -?ϞrdU -ҬNlbuTE\̶%{ܪy7zG&GLi J*$29R=f>;Ӊ0e(҄/nal86SPIe6!0ݩjr} -8ޒ:OG_BxңIWRA+|b\O.,Ǎ6PG-Z_CWLՉ*En4=9Wϝr:aoĩSsgvH~־M6.ҿٯoE̕IᶋVCbj#eHTm6宬G1>]B =.hh -(uMs8yRUz޿ہB.9ELĐӒÅM*0*qƷ%[e#@ƒ.c8$Lp=xȣѿMYPu#öVV  -w}0/VRiW[n7/<WXzZ<>ɯẻ%siF#'Epj 4\YFߣ7c\[ɒaaRhHzG7ujJ =n7M/< Y&Vsk\D֒(])_+sӯ -IO)wL' O&:9 q.z,)M2w᝛_p ??K7JFci%TH 6a,WWĤ N4D‚K` -'쩰ňBT&)<'mC;#0ЕfƜE-ib Y 6 5&"pp58 a,c~) *_)xJ惗JGA)чͰj}Fnd;𺯚2vƭT).A$Gm;ejfQqĄA>tLB:5OY=^srCWs dWpk{k 7jW6uϞW{W{R5W;VߞWu=^ƼzѭמEr/Ez+W\nWz#ە"k}EhW(\nUBk+U - ErV +UgN2x$MP|˝*[h%I"ܢ$zXOjGݚjB/kNߞA4zE G2P▖ @讀sYKTG-DDw3^ +>0SSR7%#VxQUI=:0`֭A06\hU - u 8Q= -N4ul"Bo-PUJD׿ |ئjeb2Mn~uIcNG'j.φT 2ӿ}rٚ3mЪ< -tO[ U>%Uu?S(t4~bGԬ2$$h>>v>DeWۅz{إ6Y߉[8|wa'mHV&4nM:M4M -z GWP)0ףa%HVPO׈ 8*fT͐Ѭ*kLRig8?aӡe -pT`F`N4!< m*DR ţģq)UTǭòZFXi([x~>%<{Z; i -֜:E"z/<^Kz@0:k<fe#a\Յ`å-K -o]/ǃu G̢zGe _ǒZmuQ,<=B([>WlDs(1h>^a"Td).<ʊ  ju,ĀfbA$l VG)9zܧw)+F -޻+^孤eG0(p&I&O+z^z^z^/W,i~jR:`D4ȇr:1VR;E?G&V3?a""l4?v*y/nh X8LlVtan`/vb+r5(;sڣnIpj榵4ߚ2rçg'WGR.̍<=7o-]EVvslmܶaz?p>tNQ7OhPMi$Rf8K &AH"t9C4`=C%wf^cg*ғD]$_#2y.HQ3dYD^D6 @43BgOzRq V3I 9Dyg -Ĥz])u S cn'a:WJ^WOT{YovߔЈ馬IGo\fCvcQTNyɜkR*`k8p44ԎfυObǿ):LMs<ςfdHNC yv@xbOn-K$ʅ,,Vᕊ!:㍲A(ES%E#+I! x.j@&xVK( -4%)!rV3CLOίa\f?5K[[YjB&HR -CJ6Is~#n(4v^ό"1eǎ;vT UZ 83Vcu˃ltz\R[O`aI -ҝI­_&WҞ mD+^zVNz^bGU=^z'nzk7[;rUk+^sm wWzfW3Rv z!=^3mҹ<sV~Z߇=[]aMzkַ=57^AmVkU#^{9د^n۞T;"k <*¹O(vMw1ӞX-6UWvAjuz]Ȳ-U"nhRIkWqK"YyJ{W5+^ss/^s9s^Րz^M7^\zWzuO,+u˖W{W5w͌+x׫z~lWzy{=^ߕ5땯Wtuzz\]ZǕ2o׫z'mk+)}GHK>uJޝS - 8ZfvQ8y ef Q~LjNz:XX VQc@OэV:6 |>a+.-2+)x_ &"R}'b}9j('bB@#x%QM2[[86 -X&UI3^7ҺJ7ؐ\JJQGFzWD:Zg4UΧc7c[>yMK6&?@Qpe #k& ۃ%w( 44徭Q [v\b{5ʹک֘fdr\ -q aUC߽ǦbC 5pDgh?Ugu$7Hnnȡ V(nv)QΖ-D@V$ďn־p9x+ -T[(5UNPtl8ą -< -=w:ܲzOnxPg10ӴRK28  .f~9[̓Hp -74*/a7k0RpV4Z$(‹3c4yIeU+H&_}} 8.%E+EJ'}7|U±ərDi{G,+U.eE3=>xcNj_.x`~NJ?;NN8%U<)Ef xW+&gݤy`/ģJW5B(z]A͜4A-mP=!UǿK-9aAIZδ+WՁ"G^GqcM幷VFͬ,Pqz.EbGpAH~;c|e) -"=Bo3\&ꆻdd>A'`H5-A&N @<A«#Ԋ(ɡcӚ?,xsL p)5纪HiO]<+FfjfJxR!:i,<*&|fǟQid:݌|KJ?qbH–6Su:QLO‡HJB4jJO4=< )F( OeNRw$+Sq[<W({bHvp̲hzzL;f@@Ck_!m2i*F: wEFzH("Q  K x DkI*4 j素m>B eg!HM9rO{S1wp[#BQl;-W8]s_?ҏUX_:g/3OӉEUݽw:mٕm1ϾiSÅ>_8C-j'Ej5grH-%SAj1x_M2)6S+K#-eiƚj7T,׌.^7N -!#֌Ӊ4Mjk`G)ZC%zHɕ5LJatiՈUDP ; f 5h՗j3⟚ڞ&43aWHyar)ڗ%ե1N1D׭W=^s=^s=^H9Hy8Q(HT5[ VR ؂;}z?"|4>85`0 -aWٜ;$EʻӧgR#SSTעo Edb".9`z 0RSF:×WRyR+TOGpNڌtm7eАlT[*Ai+JHPTҖ5±4 EX#2}l>[X8PwLɌAfP%5$+(:S fVDmn<}]_NAS5M[GE(qGы"R(;@r/~tIck۔#"+/^$MK~oU2Kܣzc5K{ѧZ^i%Q\JG{`TqE=%UC(xIqgm)`y7jvG)#~Be~YMonHM))]S[jN4i4ȿ-qXjɰ'"jF8&C2*;Z ZQb( D(6INT=F`GLϷKۆ,(kiq4!b ߚZ&##[ֳVwZ*y⒡ -+7KiyOs",pQQf5};J((4M8SlK R?JLjO -򭊪ִ-*#VU^vԑCZ+<- =Zvi⹃nj+ 7[+6<>nv jF+zV=^|z{sw=^!]yt[W -v5`ߚ׼9Vӕ5S]skkW-cV۹jxYӛׂjYqUMc~ -rۍknk±;W4kƹ~VX:Wj] -(SY8Vhy^V+Uz\XUkz^+uXWܵz[=^AHW|z!ӗErz^zn=^s7^_ z{WvnT׫+^s鍇6+q76śWCW{W7\HW- wDv?w 'm88h&^.mn(n)˜,}X(3r$5rVJ[oHAU<[1ոE6"[s'^z2kL#[ڱꈣC,")x'mATRi:zvy=ĴA)81M)9c9Rfx\6xxutUp쑻"3J\ pݏÊj|*P3gVaۺFn٭Fh Ѻ)T*{/լЅ(M4)_Di"14_tE96;Ni_^ϑ1XFA7,SajiTn<ژ:O]]C$ZRYUR.u!f9LWkfZz=n\9)17@0jZp0ڪ"GF=vO䍸e3UoVi:fD߉RG"}}Ǽnm-E_B"evVvy"` -LRk%\x0gpURb fc~#P)p b ߉N+%uTndE 9c6Ŋ ۊT 3 ->+WIjm`$#{K.^IdQ}ñ:ZVEhwxyуFi:ї1&"efcِ2p~2vK -IHmâ /S> pȏQG)&{:.<Ȭ1NdOs£SjqAɕқg_i@ʍ8<;"O&t0i>*N3Қuh q5żI'NGKKX[[V&(I`^X)H}Z&\G[^SFyJ1U#]FNÅ.$RPƧ,I°6]I]!E j(*Wlp^( 60uWX)P KԚ_ԐĚ_~.鎪Lɣ×붰Ko&x^;iOr\KLw\)\iSR-JXTĔ[410„IX7p5h>F455N@LxH;lxE &RҠէC+'NժSRk܉TSPN%CN?j=/p?8=akΩl>r*X+X M$uR7Hsu+~B -R+3bm!FnzՐ8* -,8OVnh֍ttVxzmbxDTt<#(UTike=ɇ3O0Jd2!e5-ልZTvJM:Q -=^s=^W(ؐz^ 7^N[a7I1&giޒvhXU7G#B"\K(qƐ M4Y3F)[SKI.=gHח@P߯9L^O)搐Z$8sQ -}Q+qh#1+7:N$[|ԡ$ D'N(pm]NW/ܑlmʨ%srp6#NWݭxR|8V;6mJ)\&a8gOwȈbR HY[E.j RN%.<7JRS;n?iT@+Ank͵fBY; xN'm/Ka8U@3ר=f%*:MI wI޵HvHT7qێ0[(,~K a^%#n==UtyѼR燁J<(Piq~cj - -->8i=͇ތO БJ`4p:'\߅Rp]5K)I)_h1="(fIQt<$uԓt PqI"Iu#xLidգ[4L6{𾔌EoKy>U*̷ m(3A+iU E\دsz5ѯW.n+ מsb5Ej׹wz^ԃ/Z^mmM+Zۗ׹sYV ~n^$V*]+nfwwGzК-AGtA$yJ*NEە[ 恭R -Pb+pG,^8%VezVܤ^o\G~-ENj"bЯ]cOYLLߒ7'7qo@+N <鲝40䎡fE2up|A'F Y P-o-1JBebKLқF=$4 yF&ny+Pϒ"1!l:懬0RWj׵>#N]%E>%lQchh=Ǵx4=n]mL4bPn < liVhRmu> ?~*͗b"nRH#mQ==>~MG)e$}!y)Յ(ֺi$? 76ljWR# eƮSv4^kqLN9e׿[vNF𐕦gImo?HM yWb%~>hAÁJ :2_ +RDZLj ҌlrFS_@Qxlc)5eV#"G#rhGSp7UKI -w<$ҡƗ0`T(}IRDzFX#*,x4!H6K':/G/2ȂJ gF;o[Tu43B+Urk,JY -:>4EKɡU5 qQf6!"lag6I>U RRN -$2]\_։9~:H {kGo'΅(VС}@V 4h]##[ƛ.l)ΚKt4==y+$,JT*E 8;wMi لjk=|b-T-uq:Cqk8/H{`7~g,\զN )(6 =>e\MJ(*ԱM͸z҅.tژ$+[N(ЦĊh1`d32f*TjZ-iʌy*ҬFDۥ -+JpQ)/YsGQ4Kzsj4昴%ptEXC}l#AG9YI7l.^<ے=B{/n(Z(`K E x!'> -l)"/T%%Gߌ8ۭQ3J7R=\88=a6ӖPVLUt*`$3 hHT/keNWpTWn:$?@Š_l< 5呿t_]xR)4DՌOp8p2@PE$:īZ(zLmDv)x'QMdz rVuiW'=[U7^Jl.h֫zWzWzUI<צS=^z][D[׹{Wwnz\ӚW_W|֦5s^zksu랭d[MuU+\UzkʼnVz\vrV=Zd4檳^"Z@tU5ύUkznx׫5^ۖsuxWܽzW۞W%kQ^\zW6Z^3׫5^s=^_izWÛ|j4z^ksS[WLz=^nz\IW\z7~;^xs5μhV 疭ksMXNnXΟO=U@l 5U׫6ˊcvƶ FyJG-~hցOۚjm+v6 -~5&jV\J؟"]"|x8hTM$};~U< 48r)JYTV"S~7)5PZףu.ȃ|#C~8pu47 b- u{2L9r.a=ʑ=p-Mw -cR(?aM,w; ,CW8K}ZFDm`F>\)4Qap;9MbcΫ.uke#Äח -N4emn` -QB)a$~>'r3GIe4xNᾗrw -${"x4yvv(u[3W[~fB|E)Jߝi  t&rM&>r;.U4Uo3]TRD&E="4zC3P;{p0Gtu&[+M9t<9k_-$7?tŒe'%xЋzDbT v>V0bheKK֜/6Z@e`{mnVF@PЎDžHؓc ǖhcH. A۞Mw^5.Tl8ie 4i:5kwj ѧCiޟĄS:{6jAPү.:Z.x[ -^`}Q6"ު:X !¢E6箄X|XTdrH->'~-Mɍ*S%@P0|4 WSw=eI V(4lA<+ZbS(s!x^҄S9AՅ=BfEgF\VȚw4c~.Cʅ;g?]pЯdE>L㺓ĤX⥥/%E~axDKVMՔ K mтTC^YƲӯpMi_g5r6Qf goi#UI?DŽҔ/Q4cW{+ʣg<~SSAh}UᔱBb []/K2*hu0C&im}çq1\.{_ljMPgJ*xcwEö&H4!R7 f6c~é"&xUJ -O@G4~<#ʏ'ffJzM8W͆8O\S&oL?8%?(Ғo[kc:)ْOx@`J(@OTs(F25 IBjxsQoP}pރ:M抄Y40S3Toy>557=5\~jbpNOP\i8T֑E?a#V ĥqB"2z0i҄6,jG=NP)rkʪUKn GO#ѯshIѧfΏãZ"kb<2<4sAa+$$e*aru㍮!I>0j=rt§?kK41 @׍ЫݭqA+t9Ur='Qh$YO xKZɣt$R!+h|ooHʃ-fܛ͗RG&I(0(}`;}|aœmc5_K -y7 aR}`RmkqbJ -` zE3m@<3w -{_jIugN9a$'lwx|rɩ 7-cVR/|,F#8#a0ho5gG 51YqWh^ʶL9e*WogȸJ0w*UW?YvէMȳ0[$kC pThkxlKɒ(aM)-bA9pt(ms^oY=4k&Pq f\Q*h ۍp"ƼM%'SkezWܰWj{W~nY8zWNlWkWj|zWz׫iW.n^z^C^{Wt^z~z]WWLxWoW۞Wnj\Y!G7Xb-~n^&z_N[en1qXd6T ZhV;=[5xV sV UZ3mt.ZɸI$lo5ql;9>&U;k)Cmt}=eȺQU#FK|o!(Qv(BC/iꊭXsݯÅ/܆𥭴TfVZE./DQ#GeD4\$l̻0@uŸ{msQ[Iƛ]qJ߁[J- Յ[x(U7s<ݻʊkzWKOWIϓlm|un?GʯY&s'Zݤ{-:輸(] nYĤJqXp;p.fNg,t˭9a~`{sJ"XsEDx^#HI 5u:RqxIܵ\=[a+ Qjؤ{:N*PDm`/PBҿwYLj'Vt `m4[>4*v<&fLqU(UDbV06O,\+A[bEdeb^ 2IPa=DRb I*@.W&"!LAS /-qC`47ijAr^!WJ6!$؂߉HPzge:j9b[hIc}x+A(k½Uzkj< ev(ۿÅwV葶;R//XP”txljjjc$WLg(jqͯ UrW*0ރ%侱: 77MQWhNU}4qE`ϝ=l_6h5*E8Tֆ(cNiI5*"]E( xܠk~#qºh.Zi)p\a *OB.IR(zePAogSE4$| -4wF#-r`cThtyb4]{p#vRvЅ'D0MXvu{_NKU4GLn;+l/ANE)@;i"S9:rb3߷9 OXb喚R<9PI4MU˚6SJʎtM04e2`V0gڀDpM2h8ҋZ&{ T`=UCOSak"y~#GwE28} ws9yěk`=޹T?yq“OԼÁ5+SS<Ӌݔ$j~z4a)z:laUT vƱF>k7dMVw&Q1b/KUR0#I#Uf'+^q?P>rR(uA6?+K1nʼnE:*k*mӀV6z+JŭaT5vY&@Ӕٶ$Maz{WasEFyxkZxWupyI#K̡ -xӧ=ec<2%e4M \UJiôח&M1D\X9iAnDmjsKPP۞8yLTj7r fV Uz^z^z^zV |GfwPd19Uu$A^lseZMȱOW~U z}ĨhbQ5A27FHpo%(03~I|=<2?)~T:[GUhNl ~e;ij*e,W]>жP4zI)OMr8US`mV֦4H  k&Ԕշt{V`#WO6W>T6RHtՁVbM%(m6=NMF%*LPjjJiL wϋl~vK5J,cݪīOM+Je#~ -ƒC5+.uA# @ѳwd>h05N- -jKs9B!VPαhN -Jv1_$hMƧ Qi]vzɬ'q!_vcJ6PMx71Xu _8c^8SXY `>pي ߌfJ~/3Yy{׹긮HoV"j\ƶk7^6+k6+l׹aZ.]XuAG=^K榽\K_W{x?=^z]~h֍{=^m{WW׿=^s=^qFkk^\,x - x׍x+m8⻸hܪ`EK+1z7RЃ?w;i -ke5t&L(Ң@MxvM`l8ڷӓY)]!۔I³ -5]nKDHۅǏoP.hM6kfՈ*Fqki E@?̙ȞQUceǴ{AfXm񭃧eF=&-41BF52*?erF[ڜ~4.4+G6<&Rb -\侧IB4^2sPUIq7ݑ ̧DZGey4.Wԟ\ 3Taۥ^̷SN`/'$P 0Ƞ5t9gZj)IT$axb4ſǛ񆖾*E@ j,@ -2!5e䬇5tҁQ+0(rB> QR#lbh@}7`u kVha&KF|#ֲ{ΗzX?ZY>va-O/QQ^*hѤ1M* zvn e"K-UBT>yB1(]ě|“Ң^y20bY6j#pPSi8Xt2IUxOp(ѻ*>B$@/I6=8/f W`TLؔ>d{;T%hJ|>Pp֏ESGb*/Р;I3yqS^Kg]n'H0$STp Rī*s3ˡ:XVz]يIuO=8DžbeT 5?VQ"jbEg)MFtS5MުIrsr&>`ǂth bX߉M4lTA~: Umjs%d3LBIԅp娲blVj ,Yf0Ծ&ꮟP᮳+[ ƋN{cY-$$vnM{r;p%e(4-h*9쿞奤4n@;GC1@O[ p) l.8Li1CՌ*Y*"yTH -pިO*:_)Rz+'=^ =Z5=^ڋ׎5sƼ+ܭjWwWNz^Cnz]z~jb5ׂߛMs+5v禽5禽55n^ӞWxs=^^z_T'/V)+\V[5harS^:sժ5s\nX -t5\yZsV+U5Zj7[ߍ{W$u˚W75ߖ׹S^s`Wܵz 7kUr^zYWzNz=^s=^ kU$s+lwsyzj^۞Wz^&j3_뛫W7ǚWW5Z\ ['kxc^mVu#[su$T{rIxV9$6+uGHү6c`xK|) M>!I'OXf%J*sV(Lͽ)Ph$R){n "vwP#ꇥYÒ)§ 8 gƄv(:$mF!)x8#zƣt Y+2iVݔ36;gE5$ -_ - TQuP7ShRcUⓅ+\sժdWʘW 6\ +[mOC*E\MFΊQru < -``Rү8*"}O*4noZ+ +(.I¼o [~0HׁF)p**Sݰ, K[nԟo-ZzФưV7&?m -RTb>%\-}4z𬮝ѫzWĺuXfW>s6~.4ȁ{ ,HPD(41d|`"`ǂFC,)#B⎞28K^ h*v?0gut6 Щ)€X_֦j X{6kV\7W~S]B6F<78@eF*=vMؾ*]p_!Cn&@ۈiբ=LtˌDI Qk\@ SDS34YezdUp#7BxB"h<̽)"I`?x&]L!k_ѻGw yׇi h)I~̡i3f%n؀xeHM\OS"j.VHE£>& -%{(=&,ʀLJ0qD2UlOT I"*$^sN$w|Ci!jGZcFpl>\"Cxۄ!]=tbALZ|^G VtRH*;H)ݢEbji $hWpuA2V(+*9SZ^j^»VU7ՐsU;uMj -zUM=Zz]~z{R [Wds랯WaEjoV2s^>Vjnz+uxWqkZj\WExiVzWѯyuVj×0ECT5W^Zks\MiI+~8PvTޒs%K')T7ۍ_^SƊb:FFρz)PwJc8&7is^E0Cp+_]acn֖m,(:;@"g\AZu7ΕiZV -(OYD/  -M\t ODzoq=IXq]By G+*i -(<~H\ûQ4u$UzlTsSQ)gcl㦣N84&h55yeyR -`]c} hW+g,aؽd^kX8 epVC{4/[_TSȬpv6'qpՂEZKqNe.1O59uK~|lӚ3+8 -bXAzUNuQF4*5KD=lStn".zybp4?{H;{fco.BR˥vEΚpho->33nC~3seL=g eqDۺ^릊Ű|kooVr0Wɇd[9mpD.czz*fV"FI[A rK$4HRQA2NX -JhTd|QmѤgP0,6!h o Y|HkT3tR a[MN+sDU=mt`F6K z`O2U-q?4+R3'襺7.>p -U7FD}i)hT\=eR?}.e qҭF>7Bg6iV9VG%=$̴bmm&(╴pd ->PqVɤST>w byVpPͷ5ǚ5uXVnzr -Z:ut‡!C*} -8dMi0U\9(cDDXV,B<-)1hZX>DRWbbP]M7:M0Wܨ@aedq<xHEBV_@ vTVW -6HTSF&a̧U$C?L LB;GhƅL!QKRRE!,ɥDzvPmpG6ZSqAdU]951&<>#PE-U}63d0>15zS -0M[e@÷i* eƚ̘*5Q,0!VA FxHE 3P\aE[Ruޕ=4RAAR}< -56 @?(SN -"LfѤWTDPK31rI扊PV`UFD1ñ?Wڢz&܅o*w )S*6tQSoM!+}7gGET1I!wS?Q<;CtpWm];N+<1D&#NIqSL -DFN?{c+UPDTMio^ƊꜦY=?g AG\V4CYZIh2sCP*6Kym O, م6%0T={! e_GftqƇ28L~Jk嵐\Ӏ8Ϊ -~e\1-B۱?_!F/1< ҕ>6FM1sՎbM=d>#qSfir(xna%T97Xع_Uoi< .tR4?bے*\)# -}$zzy%"5h ء*/ܪ6Qg3)Bs =å٭ʋt":54ǰvhz!]dNJLa=˹_8NN{j{i(4:`UU>jxs^Vߏ ҚJxekarFLQ2(bJLCK -[S(F蘣E?Ru&Uõ /K}*mE)\lB<$2,Lɵ qY+ Q)IԜ?+uIpSJC#vofv4/ -8 0^AcRW5;r=^sq\ӷ=WYyQUra\ѯVn^^7Zs*j½թ~^=[su=^s=^s潹ST5yךW7+j+Q] l -خO}2e̫651T\l -0[ pE==N<RyKZ(Eu^E0zijb8Vm36mNJTjW\w"nMneOyw1Qԗ5#S4sHmH/'Sn=MRwr4犀N? sGē`8niӉIVnѪ24OP5W߸O @Jh>ךSA>W܎Wq.Kf[sJ<,Iid#Z.WEF2u I_֚JxN$Dv#-KY 4*/{nBt3m,Vй誾ơ"?Ezf1ԗ 2Ua U`AڃAFI{&~Δc!A-,ňAԅ=((>Z~a*;+Šd.lב5N+1?#{*(Բ5|nLע&Zgg6V]ʠ߿Qzj}'WHA4و֍ 9It1,TaOxb -3CNNJmQ_` -"^P - OLe>fp|.հ:e -pv) ƍXPlp5%iOąXca[QSwJ+^?l6B9Bm,uSa@n8Ւ$~*~֬^-?S`6*Vg`:Dnz—2UjBom5i4U*2:`ke,1B GlȊ.xN4zbdbġȮ'vАtKjTc`tzGs\p8„ -RvEh&qn2Ry >n)LNK~O(tah)Mɡ4,d$Ĥ (#]yJ!aA$S}OǕ[51t N̓Pj5H =):ZM<y֑e2AINaPnG.+DVY0mǷ7T6tQB+mqIJi t$Û4瞚UBmOCbHU.(nӪ-H$@(:xRqnWxDElꦻt.d76W]hC%$dU{߁d0IQz.?,%]vJT5On5lNH8 --±nNxJBuJ8Ōl~6ĘCZF7߆MO"2U|;zwJ)aP>ZJ)4*KfЩJFD]|C0EvSX՞ i אh0܏]hqWFhRȽ[媗zv*/UY駒o:+sˁuE~{w&3a~%B[q:gz}qjuq:B(„-нzÖi'ܨG_ⅥiN4U'XTaћJC9$9wY @J w -q=x}N~#`m<4&9)2=iۥ,8N%ZUPt@j -}/v..SOQIb(VCL4nj\{ -槚W%ksQ[\{ - {rZ=5*MXWR-W'7Wsu=^s=^ yr7VzsuW/Wە)lVt wߚl^u7[{Q\ߖW1MT?oV*Wˊv/Vz]sU7C{kb}pWDE m^)QыKY.=[顏2gܓG Za$vDmuM(([Ԇc3= AᦿZ0ҫWaXҋǪG',#/B S bh$P/\_%4/U,цbZůoiU욬|;j+$ oz |FS;f >8b?0q4R柽&C9*vg!F(mp x\_F/z5TY^*wMJYH#wQE.6tE#ic{x l+(ڔt@paBt-tYut*Qv a--PxraY?*6 G~5eYYsgBW[{E3HID~{_*lPүN~[V>ޔ(e[wգ58hj}\wPGRe 1wg'n+}Цy?9p_?њ(@(R8(y?9]of"j#o7zR} -9bN)?Qhb/c4x{a_qBs4 -L+,#a>t~sG?*5B~U.xYcL|9M)c6>M qG%=UWWoJhUn}$}\@ü)CՍB;5Qv}te8t? bTĥ;˯h) Mū֞9)pF*b@2n#"$Q1vҫчaVގHiep@;Xx\U&ďMOE -l`U=Wש/w<G>zP]2Ah{ߣLfș5KRg:i~ΗtT)dkVf x1h - ܨ6/N+2pznJ6POv)Oef'-IƏY@=4M\Qʔ+¿yZz]3[^I_iSG7ũZQį5tgZWDxYv?)M[,_i[(c؁ohӧL#!>D?18R)#iU:gLZ*Yce,uƠ[ -FWݨ2.ׁu44l8 FT [մPuԜ\.LUTB(:irHe*nZAA5=̴ٚ$G4#sP"ၙ]yH>3e+UKsLM()BH%sMsƊ_:)lk BOØHS~$GH?L}JW xIlm:ө4VjDjH-)*-f{r˜"x^MVcKYsoomP G~~6>FiH hYJ+UmNl%aC],(~>?k4؊4dIPM#>sр;rUd)hJ8#X`8@ - --1KJ<< &Oxbfqԙ)"x}j.vi5Zp֪Aux/]0WK0e}maR)3+qˁTW@#^K MaIZWʴL6GlEAdH|;9d:Ǒ+z}TcUaiY\w?p9rxSBd0UVx^1J, qꯤ$cLi&:epPŭTR $vsJ*/'^ *M -5WtӦ_6hQ1#qDŽ(%&iӞ80 %O^):D"̉mN=*HKjzM͓86lR:9Z{Ws^n=^\zCnz\{Wٯsժ=NR/MW09י+5hצ5u-[Z+U~n]2ۛ5ǖWv;suzsU^c^WѪ^#iߖVC(j5Z[Wˊsu4kF UvuVZ5Ukznz]U75 j{Wj{W{W rWۖV@o׫zWs㞯W|jV۞Wu뚯WxsM55su㻛W\zWzɯ=Z vzXUfX~l׫V냀cn9Uج,x'nnXIמM\WZkSX%6nxɭ9\$͊`f-]I{dЉTKa*9V.anP6aVkI,6Z RkdP}r)NW'P$xȽO85E緻x}c>hXGlּ8KSU${[\+Y$т@EǠ꬧O&Ig.@'mWM,CKmӶ)S/)樖9NRo@V3^N`}AtS -U NF@ kK6Ҥk1t RUb|Zm 3$ El+tŊ+Q] -O2_1VG7qyIDLd=0hr EF~ ui2@;1'&, jZP=QDp>z~FF5.eK}`[/r<#OH溕d±a|J}\q(=0}PS*~*D>?&#dR+3UcX婪2UQ_cUy_i 23I5z&-zZ{XurUe#P1^gi}"65HpYU}GTtTxZ=*BOR2}V~#EA%vcʏP퟈5तČv`Кo}Ofc5Lqx()s [}RҰPGMGS8dqL8TW[v1x~u*Zf ѫ#IǣM#<.b?b)=ZU|c&J$k-; kXOGR -0V=tGqcC$vsF:;{FNԕڪ ь%х\+<8|KB/a(Io%~#N%_*YC_-ɯ⊸Vi j -/)m'v.7+_th,jM/CqeY\nVaC,R-`A>:0$2A IhHXp3ŠWA -,EE4UV }EN.0G,U+S4Y8VP÷|xfe)K %V70c_8uol@ƋݹFYbW,HӷvF \\xGx,TxdDo"R:M*F/r5U i_i۸6j28|~URSā`_#`2'E6u?攤1$MUu|xY)'ۡEYG@ uGª@aĽ+t9Hd2]#dqZ3sz>=it1 -YƄO -OG*#Zw -KQ~wIaf-O0};/5bTDE͘0Gl^(@yp -E/-vֵlur)hFat.w!y>:KYFO~IppNW8iA_9S"ًr -f-1AeI}*@0M묦j8 {ϖ'ͤř/,TtٌVJ8xLR"~Jh8ͼ[4e0-hń[MM`YU6Q3AtM>ejCm`ksS5ۡӚpvvXmkFK$թ\E1?E,H]\z> A>7'E )>=3OAVm{Ϻ(4~F ^-ajoGxVG$񾼩X'c -Tў Qa`q7{Hf h'>qXK, lc%u%^"S.|Wz$m&T=iˬ~5bΛ\`xiX/Oo {sJDL'>dc=)?:Ь"쵄S7vܟ| U#^*Ry-ϙ -_M"c!COM[w:Oʦh;UK!_g cU:+1Q<:|1zp#=h{&y`%n" "٠ЇZX`~Ufm>&&~'n:v2<>'Vܺ=@U4.goo˘V4)#/FJ pBԕO(騱pE+aʁ 8 ǁ% &(z̕PJ&خB/v́RftV[rXv -%c))A'} -YK<$GiE:&^ 厱ibhhNTHrJQSQ,;c -lb^ӻe\{+Y$5U4>iBxX()P,^\hO"ɯ5Ʈ>a4 ;v"l -%VmE0C49 LOyXwVgWBG -N^GyTn^hD8&̧1kI)mV y&))(v̓MX`'-M@Y0 -~aUx|b>6W8l%3!2#I^ B :Bpµ'?\\JȠ0q mI֋&=~uiL$̠aqeKmTԑ=㿆L5p~χ}Š>K"YvZ07(׊k[M=~X[.J2]!(U /e,Iba%u\NDQ*F ipMeJFEJSچɨ$G0b /k5pFRisqErFj|S -vJd]( 4[(#.eg&%ikQ4Zs7QQ*c0{{p偤Aqim>/NA9^$̃Nl׫Zrz^\VA=[ 9dՐB^z]3[^7ԃ+r5Y=^vV⹉~V=ĜV+Z++5Rk}mEn"u5k榵5-kDL6 lW/իA^z#\n nhW-㕊W:j~ -M2n-M ˺dvv׀NԝéT{%ylt[t//*^ǖyG"XEGM3k^uI})SPm}XWFk^~P3V"k#d,6cvM}W<mMhɦߠ.W8U@.[7$&֬"+RaBЅӛ&kՀ<={[N{Uzدĸ]{^$h˃}t=U}Gj&;?,uUIQPci=`KK,Ԑ9 MW"IInelCUPVX,T>;8?oVJJg?A3ݤ|ruI*׃aW*@5plßJh#2;@u?'sj0-!im&W7֒Xt|%0=405K rG=M05ph?l-[6XGk&#۳ɋPd{ThyeE"K*pj ']¿|VB?dy>}x>itkЎѥ^./K򹒅Wsj-P!~W 4{u2mxYI0~'x6j Xmj-Rj5fcxufP/*%USq6F 2x"W)iQhAףp ^])kOBG߅zdAS罬{{wB{ 5)MET &1f#e&+ n /yT\ʩƒ#O?%F*)O|؂ݴJhVNjڰCz26c0T+VTA"ЏnIh͸j~j~xLSu1*~ZŒ*IǔT n.=Qx$Pukj|nA4$wR`4oS@fh>!'#e e[R=1Z-5&>zbl"AחJG(:ft8UhMxw'XMx թzY=>r!oU ߾/(*Dєʊ@mF{ehԷvQQjBskQE?Z.sӼ`S5|GE*L(AD%ObWe(qDe'hɇc)_u ?J˃[J)uE >H j1C&D&mWi9ʏ,|OV&!faHsdMY4q -֣"9W<4U6 ] C.izRr|\ߕ&+M)2AM4E$޽(~%^&`4KxjNʕPnwKgҀռ~zG_=^EM{@䂔(zh>>x yۭVn&ikO n|D`& ) - :(H2wᠽP'T#\[%R#֜h7\k!jJP}>IKԧ$ut5LQq - E$k2Hꦴ}eu]T&9;!M-& *bj+Z^z׫zW<ѯW|z׫ÞVA׫zW[WW6WmzWWMۗ\9{W{W5Dz0,֢%-jo=^nnHמV"זCXZ\/ج2zX$kJlR75U2Յ`fkukՊY,mՅGr Ղw+G7[zTAz_9WlO.s8{6TNb>\N#GQc\p~#4%@Pu?9`jm jHz[T"ߠY?'}-{GT `dWU&~XtTJP -;x}YxQuӝpՋM2`=~]( ^#0Q6Ca;_xÊR14擏͸tӍwf*Zx׈ -(iMQUQmBz`z҄',x"dD/+XZxq -`8D̢B -Pwu:P*G~~bI>[Yd%Iw͹iGm2'\D$rJXxrƷ*J_Ӭgdc;C~&Mr¿xV2f04[?@p,v7vłA-׫mY?r(-(Q575YK-5[S^Ǟvnz]FS]]WUQV[sպZkUnz[ǚxߞuߛxjkŚss^l7e9ؒIYUݹp'1^`3 Y -'g hDi| D?#jdPYxd0nR˷ys,aURe'铳P+ ڢ'b6>+%1I+0 m;tΕEcI'SjH0h+8eb\3ëSG$2W -ڍF#Q-?N2,mGv^O%Tr! 49f 8 mqm/[2*:2º"Hb$Ir`NtGh.{F ix6W,Tpmw+Jf{<#Z6UKNĕ_yo R?f|/#B:XהsF(aSF}ꆳժ;m#Õ5qHa -hjW.EXmWޛIP†@Q;_PuSD_Qe#THݢSk[%vm06V|@+ۧ8i<7 -)0*TÌEagiqHk#}KGˡO M~p>z(eVZ.Y1}9hQaĖ9jb#Pˆq`bIW&Xh~}`Q1}8#0Tɹ`My@p)51hTaU"xmֶR;3ÚV4 _2P!swW[ΣVv@֝z7j:Bd |}He,e'RM sꬃp=ÍO*57N V>;sXv -90H "?AxijG (G,Z0Pg4LM0lS*SL1FY+f*)P"؃c\]neAChۆ)LVM(m˯4 A -LSR> -.O5p{i65]VʭRi'hEh*D0U?kpzA$ՑW47z'~V\{jlysbnU=V~z]=Z%皊!YUZUn ە x?7讘ߞ uo5Z=+>W^}zk\ƸH^oaz+nj+Q\K^PFIګ{n#GqK-tS*TOPeF{jGI^GEկD6E9H>=dx富IU*XKVBV<6]tV݄,tѬP‹q -UP4`='Ck[+CEnZÛ[sƷ]ךrO7Z䰞z5VV(9{mMjWyyj/xn^=5=j7^}ѯW׫Nz^ߞWZպ~n5Ks֫E5_mU}5Q5?傫ƙ1>U_lh7}ItޜnIeV5i#ؙLnjIN QCe|kĿ)..tOHȎi*c-)EӾ`hĦBS,X$zhk(ꢙ)`N}F#J0>|ɠ˨+Itݘ0 ^Z:1*^z:誱x(C Hf<Å(_xԋ&*tGܭ2cqR+ğIemӂI{u >A40* T)Re0y6+P(ƋڱI>$zOT0N'!Cu#EtPf p^ Y Aա"H18̉b)(SWMT3SN빭ŶAvՃ }rňLfde*T \hBGEҼ_U] S1)t#8_0+aڭ% !ܝUl})B -ш;GvS9x;*{t-adʉEja P8Tf:u'N4Ut=Mi8i:Ppty|.F8 4uKKlx];{bOTr٧mV5\E#6M\ -bQJ -oI -iר$"X0`>ԑ+ҹ?k<2F)pEU'K۬_np*)vmO8h`)*6/~mj[|ȰdQt8U$@b4o=8f&7C`/& -ԑGؐ|tB4'rb*46PNNW3T[a~yp&~fY:{i 4m?.ơHVV;țpG߈'{.tR(T6ح)4+ڤE&s$Zܩu3#SiPCoU>i3Uc["Dmݱԯ<>Ӎ/ -I)r85P+΅MEڲ鷽dy%a('Z@WE7jq6B؁{^۱݌iM/> $b"7}ms*𘨞}cs \=ME7VU c(Ol2_t}0=an[(mBR %Lӧ1ɱes08Ĥb>VUV ͖)Ju aB@+i2dpJu.%'ҍ3wYFĪo,-9E9UR8Ce90e5WË`(E#3UoK:Y U"#Oc"i"LEX3ӄi{7{\ Ci`(b;bV -:=F6稺)z+[^Jn9S^oWj^²~j^W'=^s7z^Ԅh/5Y[׶s^6Wsպp"zWzyWWuʜtӯׅ~%9)_g.6U{ -\p;6m5WbL6 E|$G&T -UV 3z:p Bkx @O3_RTG ;)fĴ^bnqi0IRSeYf -NV6ZSH?>#L8= pKk<, aF[(a[I>:il떒$.x["E8oU0fD~n'ID{6dS"2)?whi)4fHaZYSxN'IF,/PGϥ*yQKF4-\YDZ_eiCTQcƖVS5Y {kqIV!3rkFoT^`O20{ qiiK[ Ν"؝mtk~־p\ųy W -\O>}dp5 !Bp40$ -K{4 G.j<)kх[m/2d7^P',f0ysI -iUMVCC~z0hE5pk>!E,>ܨ q/IHSFsIӁNjDEo͊ndsUM JWROv۹,L>$uQKzurMؖ_%v{ K4UbX]DD`x]5BpE,$Ki0Rۍ,[k13l1mDE]$Z)]N U,M"<8 !']6mw/*;z($͹W m̤䷱eO>(}!ҼoUZ’;3}F6]z;ڵܛ .D(Q`┾HM>^ xX7E'OEN 3 cMmV8'tMb.jm}g.;~tc[/oJ^5V=SxV&@qraۆl+ZHZ{jzJlg6H j=2 -n~&"4dTt~z\ߗ懚55^\zUvnydSWW{W9!]Ź`1Eq@9+q\Z^:j\{jOWE9Mwzk^+~zkS]m9tl9wsSZ7V7^sպ=^ԑVw!Nz^S]ms^5^O4MhlWq ^S~zkS\-׫$maʚѮۿ6+byrn۞.z1nnY! TN5Usb\կW$<دW.Z^z^z^z+ڵ=5"r+UZkR^Ľz=^s=^^z9VomW [ͷV'$}|cNn"\<+Uśw-Umku¼k-ZNzzHjyWCnjQ}9֪4;G*kuVՂF6+ՅF* __M)OE^FvҪf4pg˘.>b( p3JUE5O;#P{#PP+RXGT*%QW{% F+hSGK5m"*.κ#iik0H'K6Xx{_m*aBv!ձ$kONXlt ΝҚ1 !qLΨcTqJ_J2RvP-O_*d7 $?ųƋȡ|vIU|k -81JYM0 yw44D|n{h`-vCx, 4I&E( Snu );Mj8"}(ELs*ͩF %^m{TWq^y~]=;6;;MGuo5[a?[qZ|ytVn[WG7^ 9{=^/=^\z=^=^Mxz]ߛ{w=5z^o75Mz+ƽ^V=WGNV+W`ߚWzz`ZksX&suSNj/bc Ϟ* J;.c@{u9tOKMNamĦ[FUA ->܊KE$s<(+Ξ垕Ȫ^eVrf RI2y͚l+Ɣޭө]ϧWqJgi0P<":I#qӓA6f8,ÉaqH6_4Jk41T:a@:0۩ <)hq.VޑQhu+Ѕu+5wNf2p"zՎE=mZ#zcEW_e>x. -~ĒC?,W[-:%3{[uv׊GW3:4\)W%L{xd}Ma4SH*~.U'֛}'JEVDgul*&#c=oԗI۶e])^ѥMrX:xTP3Pm̌؍3Ah%!:\;[(ک&ARk6_:wԨߵФf)X4DztESTSʋ߷ pEa`,]ZhD $:6 {cp4`FeS~xo>Ђoxτ0BD(H,qWP+.+h+@ 8*ePQj>V/#t>nmÖV)QS0X-pÈce SCNp;h4f`l/YkI:l8Ut4l Q%x-#n 9xF6i{2っ#>R_Ul/(tОM| cWQkhnVVDWsc -d]-^lyJsz^znz^ScW6ksUs␤_E35P;Dצ&ZH.9ZyO,j^QcVWW{ ne梵jz^מ54*oLVl9x7$ߛ׭nz^ՐJw=[y[w<+½ydǚ5\V)=^0XWEz+26ƈZӿ-5Mz k8]U=5=^s=^s6n\z]]墷^/M{W{WD۞W=UsjZp[--^XߚV7}9d׫=3T5χ-ZlmV6T[͹avu؎n\sZ+[w:Uz#{9FzG}O-[R7TYߖVnZX$cEXW_a%G%E4LT:Jކ2q{[+jU ZO.2aYˆ_]x - - Fzd} e4Jp1]p4M>j&y -]Ӷh+Cr@RLBqU^P'`OG)5ΰ@mp,44vS6G&cv>'6.++o@CO4w䂔4RTi̕PLR-x{9gWO]z#4| F%d[/t( -c%Tu$UV -.TuĨ+l4_sʊ|UZ .RJ%')Ыr T\[m:H:̌:~T:QzM\4uqpL^5RXr)*^"en$)?bGUIX $ tu)~}*fHًqYLE:]K6`n. Rܡ+N iE4o2ϹkJDsM>:qѡߡxxopn]WBk{zL.=W7lA$i%a G(j’yYl0HB=v)V5;=|Yռ×[\;F{X| IƓ/@!*pX ؍>dņO=+sߊSJ55ZqٍQ"2QZ^5^&1 X4:zZ==;oТc4;VJ;4|(ܛ1FPギu<4ȤNI>eܑ~V*\.mUSW⢋loK\uSm{wk^04xBAw *xO4Ұ,NfDu'sSgN'䐡~04 UKU "BXqR6=EN(;I)HEoҾx-}HtĎ'I— A%g&r+dPgHd:|y)zhc6-xxruuPf5opv=,sA-wE5J8TjKG;p@&F ,i1F)`2&oUQasR"&qLo*=FNQUzOr#{ǽ4i69v?TP$Y%O-VǷm;h9r“:.c,Gxߗm7?3n -%_L+"Y,(YW@<<i ½M )- %I\*T@ 6[h5tYFpO+P5Uռdb#bU@:}8v* V&{ӾW# X!)L5*hR殦t`1&094ȣ7п[6Jk _'Ck5.xF0h>mTtDcX6,\.4*MUB-&hL-o&MLnYNZh(,*-`dbAΏ/.=Pp -oXp86 nć!Yo >Z}?VޚQ0Es1`=ߚX^{Z7>(:M+eU sI|]X>Rٌ)!J=P 1#,'`2.#~+[N4^QC&> g9F XGlEh*JiIj5Jx^IG;p #c=μ,&XQb K<9d4}~94I Fӿ5TZlivU<*EYEb-t#nh43f#ҼSz1_B>X,RlZ2(tcbGi|߱7~<.-0yj8m=(h~5OBʤj|}SKP׀cQ x&)a՝<1["iƿac`wlS S. -XkܩLѓOSӜ&#ST/WJTxwHF)R&C"r"-pEɭ$Ѓ)eY_=QNBQ4tԝXҾ:马uO=pDryZDG4)=6ej-X)MY6%LeZi7dx\) Cq[A*OGJNZvxuIPPOٸDVdQ̾n7aRGRXUav;oG -"#IӿTY7Ԗ_̔I$^m-2i{AxLvUi;O_P<{yXvFQ7oV[Tei"XfJ=ԫ apWn'mSxW3P|,{ݭKJ/e2qGVUuzp{G-bAJ -]zK$op4DjBN)] -VIJ f"hAJsf@l<;9ރB+E0\ӏDžI HFV8@UܮFL߉V3ZqH*2S:t Tћ2xm!":Rv>TJRUHrM,ztP,<6 -ΚJOb~$34Aw΢j0U#Q8QlԡߔV@m֍d\ȆVD 744J6 48±M"B]h^T Ry4hןN0 JGUdۿm[MtS:`]I3 DңH ՙ[sg+`E25vd~RΩ,PdU{O\wLd , p܈KyWQ|]k|z7q5wWV-)_Y,R֠)?z~YRչQo -n__AkƿoNX  R~ݏ)ݓ[*Jbl΁:@`ҍkP' -cdCc {7S?P^ -x)F70IcÚny›[AhĘP?qh5i=«4a%&`iR+}U9קʘqV+1J`AWAOXxtFLQ3qti?}qi͆ZQ3Aꮪ\"q.bev3 œV)ƒ: n]KourGeP)Rtf )!:qA\N|(R6akrhNJL -rbWK7~2Z5mT%ǧ^l#4xOKCoL>kUnA-)3Sa.!Oz5?%u#u$c8ux:rVY+^n]U05[ݯWz榽^zz^["+M5^!U`Þl:|<7V<`o -2Yk{~j42{%N먰Pl>b -9a׈V`ˈW[buPK K T:9)%j\b˫EՕ+%pH9IH:ƬvLҦ)h瞊 ruK+f4KU5XY$Kz=u=9.n -OV=(շuF;6+]#Buvy w6dZj{k_w^CxFֶ>u$ap''& B`_JI8P1YɕWOn؏kk -o"쩏UdkHTiʮaR5Stg+E!{V$]MڝY|9XQ~3 h.zt t0tk_c><ҌU G=dMIH7uy19/5AS~h}' -'=&v>yk4+eh8R[ i^`QmA婕Sv Z=(`F:LE/U8Xjx/?^NsXPA[9˖q߉x}i)CCT`oGX+mU -]8Pz?x>SC&87@4*$ qMқP^^:yXkG }xF>&ޙ}UF!vua^F4zE2zYP,3qzxQ -k#$Y_m?5Ӆ/-*WQ^\We%LXBVkxnh*S= qVeYiv!i m .]T3auM :Ҭ;ũ)Tщ #E)P)&.|{#> -Ot`}ڍC֔U'pcH,Ջ 3:9{$kE%b ne.fsEf*t[sH5wЭa#7{B 9T zK!$*$JnvQρ -pcBJ? y+nxWjq]pq@*b9*,nM2 !j1n2DCF?_Qޙ2>[qŧh%4OEC)Ef,F`w>'Sx}DѻJ%"*UjA=Iω,J5~8]zf`(ibG --=2!muF%]qYcTvDZ_tw2 m퐮 -F= -|YjƱN#2UB&`6cYzd q:&n2ՂO -tܑYk7RDJ 40AP&^9܅ÄnpvE 1zo|o߀RG(2(NGA - 3wd -$6glJ^]8LTI>B;_SS=%9ĊLleT+ǷǍVfY"[j*0Lw-HC\g= 1)TXnxcZPcTJqV>jpޓ0^< SH53n)JvY=ӊrlO#?cft2[>A#Nƚ3VJ,K*T/ZHoWPXkߖJDF=z>Zs[IA]2SjW>m;Ft8g 3 nR{\) Vo <@AqM8O%TL2F6~<@)Bq_.~hTݾ‡ O ܸ(QG0ܽNX 8BPP# R.( *lsXvUjt.ukI M}qh6cF,EێUnhv&b('.Gj+ۍՕE2+#Xr -bs(KI};q+q5?Y|8'C(~UʣR8y#^B!|I5jk44l͹Ov4ʓCUj_IxjfcMy+"_OejSN)ԅ'GL" @OqE;i|U~ҨY*ƬPقСEǢaYy*>$JTJfKfcT IlJˌ $U{ --USmw18~lWN*\,m~YE[A*s#fL>Ij{I"VPdSo7S&'s7eQXZÒ]mQ*V/8_z}M1xMFQvG~'O8t}EA2GrO7 ] -=U<`{1ivO[#(WQ%UE>'@0dBkiX"i)VSǏM5n+Uˌ+ϔ55^iۛWcW{W{W{W{Wtݹ^z5p碷XV닽<+UuGUw6+F9媕7^,@^+굉5^5չNzX6zJOIzfg5Qb46d)鍴.f_KWBvΡmc9A[%A4$pMWiӍM} ܩaÆire1Y#1[j#oχzM!I@|Q@#+c‚h - z|enTG zQs[&ޣz!OY\D.U+j(r GLߥ6-ŶHV+uc㧽?4pL'$WaB)E˥]p;$xS/b6NԓK2M}.iNS6i~vw+_> qm8iGPo*"wcRɥaTf>cui ~'*1N+X\ `H'F&frqfO7GO~hoE[/޻)=O=QTS gQO tSjFJ.56U+0z\=Zs=^Mzm}asU\=[5O=[-8s~VNLۜ{)h3.-rʌu -(ao/4)[S)Woq~&@'4ͭuC - u 췪?)5nMA#i;ǡ^Nռ hu_͹ -AçroFk'h(QiDYnn+Z7YՑMz9YsS~RYWj^½U۞{!`Ezk*kS^X=57V5558^z {mvdsQ^⺞z"\yb]j* W[W[ǿ)VyZ%=^sƴkׅukj;U\ڥp:qƹJn\ CC~xmNV]nZ^u6zsuZǞW%;r+nzkSY!Te/Mnk eV *=5D׫5^X^]=^szz^z^Śz3m^psb\Mzw^T\ƽ3mm۞V>zX1_e~NX1v#p}\ޑFH^4׏Tg2V-;\_Iib4>WZs#G3%IFX:g-5tʢ -i`:nV6fN}-&1[$Uۜqapݔ6dJ|N7`4 Os5SIA>>hA )Pͭ™ "#T->9L;c#W970ED4.vDNe3^谸`6Ri)uwLảG?El :)Pe{o -3I\LCZ>HՂQ*o#_NN/MpzaM?WOJdZSBә[J$sƵkpX#t7ٟG˅cޜ ;߂ۖKXMU6_R : <CĊlTV( ϴOSb[Y,`` -DB ।GӅ-*>lnTwd[,SIuDѭ<Ӟi7^1G9DjG9^ҷ,pTyO5QQ7j}y$:>`PE 1mXEtv;c98RATb FFq0ibQOg nD{q%aBiiTخFnQκO ǎt FV_&6>?2¼C\8qʚH\N"UXs_M=`TLj -wzf"EB -p탦9&~&Y/HJg7⇝Q.}d?*&󸷓Qe>Z FC*D)U $RM@#;+g -?̍tfS{Ty"[h Pux Qf2LPe$hAwN1z_^e$<3Z".P'ӌ^+#hk؀F4E'paBu"oۂ 1`]Lbt -XQ”"b)ߖ-xF4NUH 3گÍܦMKi4V?dwIS়zNc([jv:{M ATӍX5͚P%qUk§04{mgi "x馼O((94A0cLHS -3Sl4GN߰S;})cHQ[+ -4 ㏤!s -l -7r􌫅 9 tI,)a{Gx>1&4x}…z*'l"- 4&?q+zqџ"8hrX,t #r)IY4'^#)z( W ժ SV"i5-1^iVtWw=['AW=^SqՁS&Z߯tQ= { Am7i`I +vhaZ"b\5b[ \*lH^m5aHEߏo:gz/IΠ&vI$kQߔ^0'΄`o!I^8bn!"ҍYt6'xcNןp*|rT%ܧљxLN=Iz.uƲBW*)Ck#nm qX7.87?#a,"PlHxxR6?G(IhI IE<]O1mWGNz1OkZË;f.>e*)ꩯ :{Q<]jLO:>9Rd-II7o8IW/}_8IKY^BoG:_R)wױEV8iҊ<}q -$F]ŒW̱ЂH`NAM9˔jb ?ORASzG }C"1ԎG,G~h/Ĩ!R-nPE]"~fđ^9#Ì[H4ou{pi@efhBb=TFšt [NTht:Ⱥ]X7GK_Ǝ8SK{PLk:{eT.z]ՑM(+rY=[^ܽ[me1)ZJ٭.j^s^½W׹Rpo, RzPK,vH4ʕ QI3$lv F幫VgšAΪ FU+{%*"J[׬~ze,NYA5`O;k騳wR˯zr)^6^nk(nz\V z5Ƿ=V=^#vW4W:rQ4^z:J)D,Xt -:[ov5["Q,E#>+")ȠĘCPhkmrFhZ(XXpWO:z14tK\rW/ d!4j8Hk[}bTIxlxF> -yu¦ҞhEƋNS6+|,{8P0 ׅoO0ZĞoqj&۩Pu^U+{\v>2 -p0)0X`7ËfUԉk 2nmN>ݻD70c׌bs+}8" -Ò)Mwq4.:hEr bvGUaBt`(Aqj6|JUJvfPfoK$Q:jcߏEPk.`M]%~<4ށA|IP<9b&Eϫ}j)|{q*3A8ږRPiY^ T/]4"G@xɥ7= 沝 rt_. y"|j*ňu"AZw@lmkՒ(z-# xxk4rJ5RM)I439A㚩iCioki3BM% 0snj(P­GsۍՍLJMv)uSKSH_dO)X,N7 1p^)=0*y$g wPU<Co^of*!'fY{(dYd% }?G/]SD6 C1>bI4ՒEkq)YJ`q? -tAnPs'n#͞M/}W&h&*g^:S-VTGGxds(!&Ov7CK>XQ>ʘ N9=vұJ:@:@Ocb -۽x^irC!/aQƒ6xpD FhM"z(NVڪ3骧:ydWE"ۂȜ+λ4{i!Zu - 7Hj\-Hߔߞ5^jd\suu˖ܵx0vQUJb~z^uz^sz4墷ڀy^":sժj^z^=]U]wǚWq^r^כ&ڶn<5\onXcVnyMsFq*ۖ\z {W{W rH*¹ru60Er ~Z&^4Ezk WNtlWZ]#W%kWjysڝyѬV Er+UܰW5k^z5yؒz9tdz&׫n\YWzbv$պ[o=^/=ܱ3ZltUf+[j1=^.l9!7ZuÞvժ#۞V5`+:sƽX&mV,V'}oVaת$n^XsU3XsUjQ/H+sfXdkiMjj,[j5yvuj4VW \R'*:=Rlv7<1[l+NVtZZ6]c~<ڡF ()MVmV6"4!P1`lA=PI)4 eJY|.Z+1L@R%2Xs5;2eUHeMrĊŋpQO,/u$[[\UnYOĪ@#ǂM:!U:$^Bws-05 -JsHOoOSƹe|JE9YIEK7PƛqW…$V5xh*)7 Z%BbHR4A, ڟ,lRQHǗ(̈́a42@ÉҮF5ՏsբX{v(HsƨU>L`TGᅳN+^&[\E,m6^!)SƠ9U*i'pn=6LBbpU'T$m\ݹl (p.s^RZ Dq8֪m=kE8QtrI"&icLI6aٸ[Iҗ32`xmdcjX$)]r*m6kKP/dV Ie#% K[KcHݬ׍첖X| -(z##5n),6lJ%lG5NYbc\51I ¢4"Okǩ)1*=ӯqC.7{$PaԃBVv\X/p~s`$%,MuʥCpE(F\$=MAכMғq @&vSif¦v > -Ob|ĝI怪œ(Mx396x5"RSS ٯ<>RjZ4zvmcHDE~:zVٱhpxdQ%UV)/qW'MeX䙣.Gf_rhPsay -Tɸe= w5e}hᙧ#AF$kHI ~' -P~&sMPд<m[ht kʌMXtC~yjz -/Gѓ}t4[QY֢IZxR6LK .D$P] enO,lLbee֞6c yZi?¬,Ju /Sj!Y5Uao0]vXuP*Rd^ipU.]3$u&TMB0$tuyfX8^-PBO&/ G2 >#=q[nQKA&+`rƖQޖTUsqe5*h7{l*z\^+mFuuK)kc' -M!raW!xUH_Y̗HxͿ~$mꃰј=S4 TZ\)%Eч<0X},C V#-N0eXSt(C.4q0hbD4r29O -#KqPP4NEBxE=jv%FPⴎl mJWgX ˕;Z Đ6r@ե9a/SSRIjB߻6'iXJ\L0(vlMI?EajǦ>±S/ (>7<9.QFGugٗ -\>TT,8B*hNs:+\ SVXfg<7e=ؤ+:#2JQa_1UVڍG4[+Tt @-੍)%N1lzEgJ0S3 -(fCFġQt N5Ȝz#[Tƪ)7^5omxWjlys8W 7 r -7Z5W76WV@oVzWպAi{`s[ѯoMzk+Z=Zs{׹{WCWcNj]NXUxsuj%骓]\ˊxr]Vj瞯W%W|nJͯ/5[JtMT[<+]5}YJq<^u/W\z]պ61«\h[{k"]!wqsdjWmz~z^z^:sdǚW susg -ccs͌+u rMb\X[WycTaׅpfkbyjpv=^Nz[}jHy`a~nQ}_/V7מV)[5PmMn5V k9E͚`ߚTiMVmƪfUcպ1ӞTiO4pTyQ[Uۗ5U^ui3ӼsA&5@:]AMohm/̵<ԷuY3@|j94Yj 6k*v9N% Ǚau" @s]*(zC*b#.ֽ< r V'8_JU -Zw޼rM&Z0Ҙe]umv)TY 33LUBTo}u6Lcq ݎ(A >ρ⥦3h jLjdmcѦ\W mqfooWWW`X\H_hi SNyUJj>,<8IED);ӌ~Z,HPA4t$BcC'YpLfX1,oێz1Lsa8_P> -23@\ZG htE>k -&q)8Ѫ&Ls6YTǏw7uCNw GhMK=kGχt -Lk$T`U&Ņy3x7[O5ZCI(@4K4ףPH[K\vPքҒ"сn2iH3O=[ J/29OtX{yaW^~x|ÛmyV(M -\|cvOl@6 g;u&|iZjQF x("~g+2iˠ1 Q618v;Ck_gyf64Sbu.*2$#x#E8­iS -iT6BddRӰ'A|E5w.O ,9 TqNI |J’%ﵭ~3nKTۙKMU0&|`6 -D9|{T.M*SF&NWB1JDvs+'}rb2XGbyfQ~nYPߞVDmygSU8`G+UNnsj䇞5淿4+uZ+%̓^+ۖ5d7^\5V'+^s=^{su忞WAV5Z^nVt6֫Uu6MTW5ZsvWr+ŵnמ]ߗׁ5Uչr*j,^=WӚ5]sSZ9mȯqnV+mtqYkƹlfnZ^7Z dj[W wr*̛R+@WH

7%XU>n4esmFYZ.eXnmW>m4[s?P:Io7ÌMX0c#d^28b0u8IEp$121O9hE(>|B X`$ox[ƮV)!M?f)fS exP ->Ӝ(D鮲=^7P_7VȻwɪWѠ(ZJi)_NO1CLOcߊ[0z+TѥJ&i2M'%Rb%SLH6UI 7P~j)Me(*Tw7N*VH㕩S3sXׁڼ 6$Wn;nqzpSF+0QT" Iӊ!r^iفT*0婺Rg0z}9*WSo0PںLcCYX.!VMA]J(#BB H+IM+J**|Z,71)dJz_9V7q"V%IAAMLIMV+U@kW7^[W-EzՓC+Šb%kĒ{;|扊UߤYvqt M=%!j6 ,¥U4)͔a*RX/OPK?NsB,Q F<kâ , zhzq [kn2уB7b$ pQUljlvJm/XO<)-y)ŢIqqH[R`*|bO>͗!#e7m"\P~iF߅'N ROƖY6d V8YEtUW(ăU+_(h*6WzzDls:p^+txVUU)b~Y*T)_̆^pɧbp-&vGחm6W9E"\t1J0|(u${|xEqjp.pV=t!dΪpO[ -!n읆u]-nN>b5YO˄$Ses9-WYƒ~qVTjZv=[QMxV)pNsVNӁ4E:w iaƺsbE8`R5HEuɣ˕) -V` PYdžh%T(.oUbI~zzqd ->wʄ3ޡup=c2 cH`R+1eZx%b?XЅ=ā3[D掣-J6e:sfqc-d:P -ck0SAÇ Wf(뿨*z zD{(U[>'\3K{3t+$4l4-@wsa0BfñZQt<`:^%@S A't|Z"[{n[4Z*2V\*aRXŴӍ!QOUk2nYUMsC[R!kTPmVe-Z5Ϛ׫`f\׫=^qʸƲ+_hlyZv׫W7@~j]WmWuqW=^C^n^&z+W{yr禫5=D`ߞWb9[yu~nYXsST -#C -eraz]5\+Tqot+G4kƺhVs#W-5ɧ=8W5^5ܰ -U65M5>X bMO MNJ,A `eOD쫋y·7R-MDeVr %XjKX%ӱG5Z"+s`uW{W[5ꅎ6[Գj@?iӚ&+`MR7)t_ bi]]aY\ng[0V jSAtO0ՙһff$\*ŕG -<ޚlwv!hM!"<*R-X|0ƜwPVRiq͇*ӝ@ۧqoej4gNT -$vFM)m:U-2nhCj+4Y -8V ];FuAl6?PxzH?@BkJh>K -WY85CuXD YL8%V<٥6/0|MyEdj*XqqjFZ+|21V$} }p/O:QL)saM - < m)B]xn1rV =ߕuMNPU;rS5>,dnWexRvbjՖ -ZꩴˆߕVNcnTֳ]:u>z$:u{±S;E;Rh<z X ;յ+,* nv5%f|ִyib5" :xpIEN,7S8Fi@b*.5wqWw6ЫҮ`NaZz#$զuU9:Sm;qk-N&`(<Ξ0MKTb7bֶÆ!H.Qw]@$/96J R/t*/!!ϳ-[)e[(u̐Yl_neZhNTUH'EPIO!! sQl[̸;++ C{G/=Ce8TcӌbFyeVVDG=^|z.z!՞3qʪk*jYA"Qs"E2>bO>9ޔPaCfܳ=I`$BLKwKmy$H|#.ӂZ'u6կoe)3+,{j|B>,xSEhCH7]|x) 0i$ҿXA)@*Bh',X] ۷j@U2N\PaqmtSblȤn 4qxSM (eEUUșci>ѱ&,Ԝ24RYZTֿᤂ)[b5aw7q+ji-g|' QP"̶*mu,}<)y87IˈUѺRbk{>6SWZdTWtJAsxкҐEAĪ(B̛ ;qMG:b;rCK1qQB^KY8Y^fjՂUU@ǞID7JOLin]*(pMkR͡⤙\y&I%(^&"\Qߔ")kҠ͵z}y@մ=^(Nn)潅=5\C,f_Wڜ |@X4W-ۛƵ+&[M]8WM3A91RBioF?IHnEB䚽*Aʷ$ȧuj"ٚeG6k3'JZ*_^3@g7{ -͕Ȑ&ӗ,g/=\uT2]'rH5m vP[O:i+My:7TCW`(pxiMEω>'@v TNiK/O:VZ[OЎ÷_Z(TyҜ- -) SO -\2?*Myːi4+n"EqβW6͂ǚS>,_6Qw:yTlC)ψ7$ k>+aQer,CUxtJ; h hj4em<$ErVPYbTP _Y&!3OǞSR絸U tbMB|PT?NN:HSMEMp^i/Mz)6b`<.W -}O -ޢIٌmI";yia{uhyҷ]+/ߛ#Qȝp@#[wSƗS1iM;iB\ -iWK3)@Q4c7=bRR戯MI$ߕs5<֙M`sS:s@V-s b,>x׊- dV7-4A;\zA'WqO[R*xdL7 ]G)ufSp;T1؟["=4- `˩e8 - 5rA_:7`tѳ3>}~<\\M'Z -/ ^PFiGC\Ji7:|؜3XGIHgVh(UXLL[BEK42|8ʑb3}&jo2_9I:3|Aqâ0ƏD>Adoa*sQ…@Qnz+bDj՝ 5Z9aV5d9dgN59JsC͊s7^*kZ׫n\W9Vj4窵ڵ+㚊usQ^%Vs]nz]=^ɷ=ZsUHnz]1z=^m5zkʷ禽5hWubyjzWz]j^×p#5iHoߚ"*s~j]~j]y[I<usB+:5Z7[<ƽ\#65zC~T{+[+,9yI#5\A*ymjȇvZ5yJxwbǞ[]o53]Z+ -R"\z0zX/=^^z+q]Zy+ך5`ؚpݿ^戚D۔Mqf/5FVqL֍xV209.)"J|58$Sim5ǷzpܛSkHܖff7$$OsMZjth\aF(щYQM/B)~%՘#"\V=b$:E;ȎR>Y \x\rfHlFASP.Oaf5)FgrQr~Bumk$5l:%8Ŷ|jGh@{4~, y^ӟÊzkA onl$ߏ)_ˍ$쑡NJ`qSKsM -K0P!n}|2RiMI0G[btm /2I| y TdQ.h/nSղ߄Ւ|2~N"5֭E9w4,X7迏4*Ve:xM= Hkކx㾭w hRҮ4cE)wSFڮ"y;A%3= |mIOFcGFSXbrxO7 -p㲓9ڱtn^\j 2׬M/6uZ -g*R#oVY6ՑIen>͆'7G5qD(#]~XK p/Ii!nRYӞVxxRNnY6 \T4kՔ+ՑNzY9Uȇ5VT<ڭsS7\vǛW o׫jsV9wWͯ+uUW H+UjSnj^fV:Kvk~PTbMvAk)4ӈ_aC~VG A)ٶ㙦TQS^q 9œ1/PL1 -eYY¥#MwHJc9rJfoA HJq)bY|*P2 >804'i -AL6H|_Rf RϭK2?8M+K4/eC{nCmOKK,;FqPMr}M,!jS o+U)ʖ/nnb"AcjZ2VR5j]vUN8-W梮JZXVQ5)pNV%UQ<9\@yѮW穳P*瞦5VsCMf7=&' -i֠fPk-Ub1* 7犢+=4 SsZɪA\ -2v}ZT8mBlI$ W▙5bc̸^)Sk *fإɰ WTh'`r<`r"̣Ą\RDR UBQa nh҄`R]cc̈́jVǓds-O-1v41a4+ӀTa RB%Tʥ* ? -׉(4 m\{ -31X`XRMη?džPZI% 7lyNzZɸ!O6P5*HY=btWjIU򝤏gǛ)} N6{1fԾTw{oF$jwmqBMPy22GVEg pRf:F{ܼF RC_}PL]JͷIDq5i?t?9RsuxEA> ҔЩn5x,r K5J-٧5aTMY[/E6osqeg\Vl[ҕmpXNmLUԜ//BI va!#yB]U5~@ה8Uw@(q%6`DFʰR%TU@}\Q3N <ЪTȀKMHLܩjVDny^0sURbYc<ٯTM5՞#nlVgV9zfV5^!H:sƷ\DcEz+*4+B6V V'-[sB]nn\Sz!n[W>z]r+dzR7Z=Znz^kՅy}zkS^UsuM]U㞭WZkߚvT׎zomuksuZk]15^Uw5Z^ƽ]~1^5k^" sEj+j^tPokn\۞Wwj[WV5nT]rF|RA:`$ -uJ B5DR*;m 7bxSq۞ª<`/=WC\%PO=TWSdT sZUV{m3Ѫk[VA{rkbpxke>)CG)3Om/aNh—x#Nj)M@_M k+ک:GEՏ?onX&׫P2*NұB{O=el'%,Lpt怊ҫWs6Gä{mۏyP)I gxV+=Z4 HKL w4Do*1ħ -P}=f̽I463W4 zu9Ƈgf[!F;Xx/EAJeS}ƶ}4v! ?}9+ɚ˟1YN?PҐ|q߷+r1:)juƕ׿"RExYq4K#rN^aHG>n&>hyMfsu©EuH+Y6Ty궨:iUuMd[5PZk@㖪$W檵st6PG5ZAL.xsqNG+n Di\aJ/4é:rɬ8`J$[eZh^ǞԸw彌#q"UMJ3-PfBnKju\~\%ڢ SWK\F%7;YF)1],-JY/cgq?@: -{j;H2l➧qH_υNp`iU`迪xI@Av6 AS}MXf f#XvMXKp)o50VCی'e͊Yjg! -LJxU5^sꟁ=,5`b2B18w;jdTԺ#6御7 -x\&{40$ҍݖ2E>.iT8IBG)!ɥ^)j-k}|l) -jbx5z.m~ZOX&o1ÛQvSګ -E{Ւ JQX ٯU.BgҐ&HM禛Rk ز]Q].+7V)~皭6 ׉Vk5y Q6{m)+S4IHܨL.t 9Q}2`Kmr&)/1X/oc76REhjYlM@N4 ohH1XQ}(M:ٯ`Uq︶,Qb*{ovG)bKW+$QV8S>q3;IK<+b:юªYKau`-1f>[)'u.ؕ!ew{_NڥwQZI,hۏw*n+>f[/Y|xAM5 cگ霉)},)xSc5Tlrk?O EIr}DF"NVO,+*תTMՍIQSה5=U5&͜kqR6U=V5&UQr=^pV66VgAcƫu5U5zũ՝uR][-WfR~ح}jy -ZܬW7nkejcV׷6 V@k]N\t_Njj^VWcN8 VMBfXߚ\X6VWLI禽5ER6nkj \WxV냵m+B3\sc -p:+Bnl -c橺~nXݹavn+Z.lyavlTyn>Z\i^29]FqI8ӻ%|iMj;XYJ)?_(Z S^nj4{]t滩O5A9ӂ0PoR6_?g7ܑWJf5sa6?(/qVe7*SOMxMʸL}Jƹ8S}ǔ(Qj:nٮMzke:{WUPYc[U< {Yy fÚz*@[IVxP=5E;'PGR-:#4&h1S1R-Ӵ,Q {I3a8-}u>wo.:J(ݳ?6.& aͪR2ȨlH6(Mq5NV} Pt(tfH)KztA]4}W ŏS2:+g$\}_QHnT!#OgñUVh60t6HqӨi$xZ 7mTưO)dR4qVUK)7~=ᣅN6j9dNwZ:1?3Jfp З*I.Xk*1ÎhWingeM ġ8Ur+Th6XLXmCd즔K|c MNybE@J|86WpT 7+y-L`͙s`uroWtk$ʼn :x #*EFˑScBDZqRQM(СMdQAr)͆kZ[G!`X$ӚVՅ8d '1dڵLjkI(P"ʱC|>y U.}uo\`O7PWJGCHMsu/^q^R`¦ӱ:rjT\עlyJߞYbY͏4k*3WDgVh,+Ƥ媓YcnܦrU=^jmW4l9dśV[o7[+5I qsW0tkoEZ jd^sUWqW=^~z^VuzUn=[AW}MyIz*rS`H5&/E C) x&M(+6flQltV$}ʊI4ӎ|+, Z/RX\V%Hʱ{tqjU# +YbQK-9BjO:&_ ^<*TV>mRSI(3)RoAU5ԝUم#R״N9@'Aӊ5Ȃ)0fkmlh P{q$pspttN7oeGUni)cC -vfQs[\ v$1'Iy sL|jWKQc6f%{7^t)qJ5RbiWmnFe-qۗ U=Lo }㍩xSt7]zfnZ~\JpvRܨm^׊&ό=oMJ{JL8mBn 6BґQJӳL<5e -X5|0>iHP"*k9wRpFEoHqa1ӮG7JZfP\ګ4~їwqS50שew,iN!^Ug yRfp./zevG$w6if|oվ=֥4 @)NWsn >8l݈۶`:s%VL5: ,4DŽE FK,YnO)}5oNU yՋP}-TGލ q˖Jjj7OcM⦙4v LВn[8øQ3A):ZdS7Tas{pJeDp/Ӷ5\gV@x|G -SIxtRrrb© Iu/*ѢFT]M%G78l 9N.6;xJWBދJ\DjO,J*m-oo,M0fYJ"<8qnqn9\z+7$9d`pp5qgXX!=͕A48+x,U-j+armkH5M.]q,ȧʧh%akvLA4iGq(p|ebuv~6B[JX|=$EiC -r̵!|sQ7&QZуɖ3Dа۲vacoˎ jH΢EXQ :]C]iG4@[2{!*mgPǍ&u C}~ BlT8nyJ5wwU,RW$[5C2= -nfmjOH'AIM*'CSTe4*8c/JGsv\1pA1B4NRj*#nomzˊHMʚT5^s0[+ƥ'nxV$FܱTZ㔯T5^k -HSc eNjFt*/zY5^qnYwiMsP9r^nmhʍ戚̧֫=^Jtjs+un]nz\*DW灯m[jRXn^nj^׫ʼnwNz5֜bz79W~z^us㛚WZ׫5q匊rG+^`QU#n+m -ٯ~j]ubqlp5Yr]Za9hW%ds1yh]D񾃈˔v1i>6aP4VƲb9S,6RzJ'k}=eiM!2lja(J>achzߚ(yc ,1;}fUKeM3[R~\M8M%zEڿi&); tTQJ ÊRIǍ&{MdHBl "P9ؤa4vzȓJѲ^aO|^yMBikn%%牫@z -ZZ#w2d;BہN?8r)5I}ůƦM^a=h H+հ3Z 52[O˛=L{X[L#8쩓K*j6dxhN]DUFhS%UI4ѕ;N ~U)i^byJ=V]k=k{Eʹn,jhgΟ2YӉLZM(Ɩ1?k?zh'zzO.o 3oˎI| eT91J}?BƛԾ`Q_K2x&}i߹@`5̆If:7<6W0TY%FN&8MQt "{8cL'5вJMf.5t-oz8{)"W -ޓ58Llp Zݿฑ*m*wiMALY|[9Ye>ѶjrsKj4g=UÏeyGZe_Ƒ5zkr&c&QMp~_} +f.x1ƃnXR#B,/p~Lj&Ffaۺ{qUĚGzȩbT#h{#VR:GyԾ -A."+@QmeHf銋kVJF1W}c*A0JOx*F6S8dE ({x@h2Qp 2J3=NJ8 }8pd)t&)֫[CL -pVjwa4X\5"'ғ{~|^MA25dAX:w -cSg*m1FoFYip[A>ŕF IU0+jt!h76kt죇[*rn64[OU m1!wL j AO"Q~XۊxVE "۵<*K_æ"ؐ_q T˄5D]a]=8ZTTN49 -d,~x*z0k_.Z @D.#J!TzRbサRc^nS nVS  EI^xUDhԤUk"v"CZqRY,E'U"soo E+n[a\hXЏTP*jbkos IʔWN5a8u,ŏɀh1xlKZtс*q(F#9=V\An 51Ge o1e_pHh^k1E @nE:ꚛ1CIF[Iں ^ -py*o/x&F? j5 9ŲS@tƪ X  b"5OBQTWfGQrm"1Q_x>qAWj7&,4$Q/ ~p٫`|:iuU8!7*) cHRpJhM>FglȊF^0X6:E!;k-, %>}XO*n0W[4j2NʿQYQLqIQ]JNe_pmSfY{ -J*{_A-'y3 utVAăAYHeP{qAv0Ʉcmй \~)I_;>?w$$l=6qȑI;òRG"|Sts G -ƶSX\فA۴8N%ڗ,**\WL-nZRSV6qΝjI۞Ԙ=ZժE9MRFyS^zY©Xۖ&+sȆدVe~?g=[6%%>A'@9>O-Z,i⤀kTTA~/F(cQ+5/kV5qMqcn>"PƞZ61n(A&Xnrm R+G]c"?ÉmV4(Fpl¥t}wkhFG;coƶAyt٘kU ]#7"Hue`Q -NYp~#5"gª{9džc#x xhUPf & QVf-K] Lw";Sgʬi7~K Qп־Wm(8Q7qIז7^PjSiyCV(,9lnRՙ;ձYЎh׍J·Vh\VgNV+qYSf9^yZsKZY5H^{mssVȮkV(kzYQrWksU 7Z5vuoez^=^[=C7NW`_WMxsպ]~j^=59qZ^Cn^kƻ9Z^nמx?=^zq^V^:k^=3^߷<nkoi[m;sWN4?}Ҟz&{ӥ?O ?6VSt_0a߽Y+T(Z`1 #q1Y1Q0'"d ;UOƛ\ -ۈ _Ï)\DkŖI{ܪ +ce(~"+) zE&JBߋ&6*#S8X|9eAfG?-‹'L*)n(Z Z!k2(aG^ qsaEn5X_Pq~(TjF0&ۋ.gX_\'>\cwqƓN -lSW *TXe?Rp5sAo~G76Ze&4 3{(c3.~Z\&+ V&sj2ߥiI> -*o0 Cpt:艚?nܝGòoS6^N^Hm -q^n^sO7UW|Z8 R&[Wd[[]5kn^\n8ZHZtjnA˩a҆[+3Ey$10|/ժ0"V97g$dh&bl l -NcG1•74Չ'h=.#@$" -1MֆV>Li\r5"b9PA _˕MYE9ҠԃW梽ҳL[sUc@\}7 MK\$ Ƒgh -~<*COsMjT8&&= -~n+D4fTNILphLz_U F%CS_Ժ5E_=mpbqSjOЏpNQS:F*1vo8˝KD/z7Vk-k8˶!CΨ,xhE"5 4EnKU%zSsJ¶) \5B*NKVxR""r#ĝ=F XcM8 E^#ͼH]9ppKV8ÌM9)3ΜVflCʏjX%+@)s*&gbaTƐyF\o[>?Ï /\7񍪑5~|PT4}p -E8sE|(+ -Osc!iѕ yj xR5t҆+檥 -geLM&8bXFná!]5w#)F`CŻF7o -ZҾn[_<αulǷm9둈4]-.I?Di@~|`ЬhkԥEaLŚB -4,٘p(l(@P})mIȹ*$*Βm4{EbǦ4mgSo`ݥ4E_M]ȧOe+{“=ad+{<A)9҆!$imPq f $4d}z\j+5[r7^5W75=^rUq^+r9C^kqk爪-59nn\]9S[n sE5XT[LsQ^puߙnn*\:v偊خz*)1[L׫:k^ߎuMXRy5\[4EjV^ys/ T|&lJ`ԲC*M2#{q7u)`lK-e3Q |NM<t^+x$R Qz[O U;-U*+-:vNVJ+qZVyUܣ61(J|v7V4ms:_oqc@U&?^tQ̒-}Gv$қy~)2lSf 0J"2BmqxZ`ѢIֿ K0LhrQ,41z~E_Ll5^g%@Vy -4sSBNM0 8PZ~"hf#M@7RGaUQmNYR"1[eFl\5;:pUm(W՜@ƶW]&"[*Nt;0bf8wSr_ةr)6~Ӌ='P. 5K,f2xZy=А@ӈlE,iPh`Lb -; %Ј 7]x$A ˚~veJ SbQKTHP.qN4ګ>oM\E%xɑ.4qTMXLsL)#jx/ ÅJ|/e[xiDV*&{8go I'MLh*MGs&_E@;[)p%TɋfIH~b#IFVE/QYc  4Gb1GIUʏT`] 0dlAcM~M&:=5-LN7̭_u;>i;Rhp) ,qP>Ɓ Nqr⛩PrRSN^R`ׅNԈVh6+FBygz!jDonP:9TjdV=9VjpUM=\W$z[nV\^}V)<+³+DEz!U<+p-+R^ԂW'+Ǟƫ\m^ٯ)7^W55Xik]_wʪ~nkMz/nxtq畅n+:q8»۞W}yt½])r*)ZH+hr*]ۍ[5o. ֫Z^=^(N75áZsdEhW#~j]nz\^ĥ1lW+kMzkqnn+vW^~j+kMz[] 9szc~T׫ܾu~{MjnxU^ -qsWy56V<7^:sI~DZvTjXj -H6Xq̲eidҕlN5}m/hHbXo6fr.87m5S90թoxi]Uv@ +\~\0lȡ - dES+M}l>'p U&G[-M(*+~3TwD&5Y/?H04ʑCIPW*|c?WvkIv3\:[kA2)%z o.I Ϳn3n J*@ VLR+!38*qdzLV_g2PFMlO}>'*4M8؃(${- -*G ԮA; ^JOm#Q΢bH)sB/*Sa}6u#4efthnÿŠG'/O[V`@F2of²4"W>OXi -ҬⴸASN#U ҎaưzfnrR DQ覦SZkU&&9CRVd՞6ゴeMlVu6Z!jǧj>3l -M`bq#L͜"uهj|Țu~DR4c.Sy,;Au/HR`LQɹlAFX8k/ۖV5T -Ju#Z96K"f`G<׈Лծe[ -6X}ZUbQhk%R^xE&",,,/&N4ˀEMr6i @hRdS-5.a4 @0x{rwe]xE3j Vg)ǽQN#lan^6dAegS:j!>>ߣ -KK_P4e1O_ @|cQv$ljµ5٣2f2 #Blƍl1yy{Y,`\alE;&8&h&۲k}٧HL)eEEUd#OSGqQ__UO<5U6^$Z7'm*oNi ԨLu@ƙ*Io7r?E,s -XH Jqoao)[)h@D'R<yH#΢Ԍue$m_K{y1MJ.u/E;#H 7*k7D2gx$,]M5Mqf/K$sV}Ik^\3Z")-ejӱP.B(N&&- A'se<=^@M0ƒXZ&"9x. i@҃j,AHE )6zıj2Foxݛ6Mti1}eˇpcvuإƕoC:'dh*-_I4[O-MƠʉ.>EZA42ڥ ]LZq=4"B6 Hp:Bl c8^+hzaNmve0b_\nl6eO6_2Sh')*$/LBJi&&vb,~NP0:Umk$iUb~rwSg}+0MֶNP"iw:QY&b؜χHGn̢Ē~*KT9YR#Z4=b +c5Ra7VN/ʓ^2.j"WVx7[5*U+87z',k"PתT|zuMeNj!Ӛ̍ǔVE,Vӛ8UMp/息Wnz+¸71^I~nk\[SʚV6Ś^ jX~xՅtb+7^Rl -~ZX7uÞV7ks^۞WmWaq"4.@p.(DT3Ÿ-?4*t/cn;)͝=?庨H3cy넄+lbh)A9PGf?pb /(m诧Lc2et*T& Bffti*u#[s^g9\ٗzYЂ 9Pt7~]i aU4VWy`ŬW<:k5i8vpţ)⧤ٛ`.xrE'AМdnlz]2iN1Qdi_NA -uX RCxo-Z$V7II݇a5`~td`/F QޜrZU@7$sM>rVY -1@{_~X e̹,e4/m|xPW{o;a6%IEhԍOiĘXEW$XdP8K $?"AfE;HiM/LRӑsNopEuoN,{}x4a#CO*)2Yܮy8>3KT"KI4:OIc;M+)ۢޟpg9 (b/a8Ւ&tO2darMǍM( HI2 O kw'skۧWCI}[_kͤEYjt{`UBnsZfP3ifI  xMSH7t* -<}hs3&%%v2f8jv%4bIrH5-e V2Y@eם1J,SD")4_h}tjh2 ( @ӓAYr{Ն{}'lF -͔,TۙY 򨔷Qxe*3 uHc>t6IƔ=uz~+1sA2uR}f/M:WMY9+m=PRijwRgC r ]x4>];yQh }N@Lc jHI+ ?t|9r⪏^ )LWi:Ol[;]4,Q-2m.~QvԊjPh Rc9cmʶK4rh3fL -Kpȧi(}&)yצ)28mcG6 -1Fk/"GZ 鵵/P\ ģ35t̀vA\saSB-#%b^J'6)B}c3djOq{ȣε|H9_8*'e\BULTO]vh _\Air&!apnҜ[i"mp*_3EK.IK3_Q'HڏMY}{-3O-=k0|+ -$?^`\!雦%4@54XA€)QP?QU` :)蛧I(1;A61ƚP&e|5%r_^eՂIEO3 fc5L٧v)мO6x ˕DQ=M~e:Di!ǂF4h9/Tb5%2Wj!U4u/aw  E:(Gx:⃯L~rDFYͪ4ŏߧ-3B -zIR8;A _R>;XvVSOMޓ)fZןw]> -WL "L'N$u*ܸԄuVu?(j+[Z5U ۛȇTT)^nYߗ{rZjTμa[S="Ln$A$i*XRߧ~è: ЋgsE5)ً[qIm$ǎS%Tf)RWŸ1>"G-A)),/XSRvcRS#7.D/狻I167gfML_ʼnYa^nPc>?Kb: L~:ؘT|NiRSeiTа>S x+IR0ުF{-;MPlauZ:VTE -Y Ml/e_!"Gd2uqTBiyn8ld)7Qoo:1TCSUQ#[134ΚTb1G EN_*1x+S5'á. Qy)a'/_0\clV6vG~u5J)M´BJ=<9VH),ZGg1$eo0`ɓDΓ"ZFLsMHὪ8(&LKNe,u8N"'Z=J4X}U7khVMy73|~ۉ4 -.++p\݅P ȣ"Sp;CBEυNZRisFRȝf´k2yjƲF|y;dNjnn\Ѽ9sSc -spVVW57YQW6b:eN+R'#Պ% -BopD}ЉƘR -97B2HH^D~eکHEYvKWx`SƔ_pJ5 -b@O  Iuk; -|g'GEV^,c05ؠK82\PTUQ>QQPK2U k k{q-(( y8scq};[Ö&k_`iAnoJ"POW=߹Oe7<8je:k0S iThjtǛy`ոXK3k])+"*Ӎ P`QA@}\‰I&Zb8mU}UΚtlj)1J"jv ~Y8i2eՁܐnyG[j?qnxT, -%"KƯJ1a '18̕ڷ -[p(^d1Bn!c9;xr4Q"GOP9jfhF2o>DžMusPUbco%;Dž3Co^2U0$bOkۋJ4X# >c4*ȗS\{to Ҁ -Hò4Irn˛1^AepεJmܶO¤'h -i]nyf%ZRkeՔY1)\3>< 8!Th -<g.E;/$GHjtn,_d6- <+]P 1 Zf[bw CHw{eizڥV*WۭĥՒ*Aw{P?o7P3W<(t(T&"Y)ͱlgZUU4˵QI'cp8& (|(S{jL(oqdM<]9jg)jʀ5A40wτK-wsŢ6 -x(57=cL _]m+߆2(gu[ћ#pb\ -NN*))9#˥P)<2H*g#ŲRj4⻖?g٧3UK(~0SbPVܤ 8XH;):h%YcQ:h0xAaBZ Q@P~GD51rulx 1&hf]Ӆ6B: R3`Ü%`Ԡ7mÄ7F;#TBxQG}\j:R RG9⍔svU:o܋0"pG&\ZxWDzfR)NԈnk4}갩0yHCqU+|zSyS^(o׫(6g St.窛IAHꚟtiWS3FUrW6RǰX1cuE:ZMOS0(N} -w-ܞx(`9e孌2iזK&vSEb nD '8ѯKGYLR";NYtiMy-MUie+`Tw -4UW̒x -5W`>orq\uM{ TAaEżx&qM0f->E:ډfkTp vRHKN\YIUT&xU ,`Qr~ʩ0jƟ=(Z FV#ȪA_ -5D;/yEU +AKH)a{}xE_4P[*ƌhf{}k]dpEb*r>56K1H\@Ǚ޲E")p&Q_}ߗaӫSpɶ rh(S'h+A5qU}bARqy. /8BQ kC!M.T8pM( -ZjZ9ȈH=ubhA -jz|"Ջ +Ad[GΟ/uңBVᵊXa_DZ}4?Ρ;mxR -H0/^|!}[ppTH𥪒\S3opfxR iX1SˆbZoa5,Y 4[RꠋҲ)(vӊM4I,-)p -hi&($̘y IoVp[ЅQgYVlT!pː+¬ϧVԞ4jk[R9iR1+Uo߇l-t0Ik/~]<+͚ρ48m͸SU,cmrz^T+P<[_׊Gf)uDm1.`U`1mͩĎ5gV1y4lb1y%%nxT61S3 e=R):3Iw2|̷ k!z*i~gƙ)qңK ^V]6o)Kbz~ϚAm -tŎI0 ɧ^n؍Go[*mhkjk)vaJV kO斏QH8:oXχuO+l Rmh`~6o>)rDasA?GE`%W}F2iT"kso:kiatw}AejZk{f@4O:sBDedžo%N) JJ ^*{88q:Pe - ('*.=MmFX CRMWlŒ[VAǬoT%1Vuah*"\]%eHo xmq2鴸M#U2P۵q2 Y/(RoPwl*tz?kjjM`8ݒqeNq%dʺH.b}>ڴIr'm6)T26i20NY+ 7ӎSI YZ(I$R-52 XZ{QXa4To< MY(0]hwX~';*z/ʘ4ݼmuR1YyS9JGy(,|m~<.;M%-V1[ [pmi pkپ0őmq<&[@'GMВNY/n:8ӪHvbˬRs(/z bIpkTaI[@L(' !J4/R]Qo/vkͩcGA>E#}j4+v6_i8Xi?Py%_,fh*y{xqe;)+M 3ᅞ3fÞyEn3aB&`RsYӛTM4ElTMJHC{s½5>jk<\j=ZEzFS^yH̺ձYTպrj -̺z\Ӟ8lVT:s =Zn4׫W"}Y)^_sS=^K{mrdVjO78יVn{WCrZWzNz7^9uۛW`s^ȿ5^nz\=Z5q}9Ju5=Zȿ=^9׉bijO+5㚭Wrk媵׫5\nn\Mjj{+]ժ6ܬV^_U"k碫s[+u~XMZ~nз=^z\IZ^WB+rj}Wߚ8m蝼֫z֫<{mqcaml.1 ǖ -myc&zWy+ՆCV n+VW<ⰹFetgoq@'y'aaËuH -u@ψP^ጶc:ɷ!^ P12ԄDl>~V4_rAP 3"go`j„JP q8~ S{Yߛ#:aLs)]4b7xpU" -&&dLHT 'j]],ɨ#mSJpE9PrB/m6H Bibk[yN6=O S1O@?ҞTuVo*vXʆ/)~̦q?+QNȬI2G ?XM.HKͷ`=q -o\8=4Z%:q*Ez ׺e-Js$:ݙ 0AfѥZ2+XXdžl>DI\d -z{܋[6go0 8RE(2G [QiOվ\؛8@ecj:sSV޹Rˇb8[5 ( ҃eEu^+Q;t#0SYy)d؉P'^yH R5N$b:IH-Irjuף(cTЕ7Se 𸝘J QQWIv*+eJ$ؙ2E5T -aO/TE -x8(6CQb-m9r:i$QZ]njYS=^hzsU㛊vǎ8V4m~P9KVV^a֢.n媵r72 -Vrv7?_j1#u =x›1ΝD K=*iO1<Q yMl*Cu0_ pU;g::{PyEWKm. 4qMr<| -WҤR*/ZBbgG(eU?O5`vx*bxTrETl}\j4 @YuF Y"j.2XcG ="P8M4c.ҷ7<Mp_Z!6禪E#rt_)hT4 :fO7HJO CHğ M#l?OK~ -\OxQȷÄ -,4 7-CńI"GKO 7(;?L -44$\= o8P6Im!Ђ>ƕ¼iߥ]sVT.ڌ< ~O?hEwN@h9,a 3F`SvkH=ha@$:i/YGv$fWyjb_f)4FdI(XnA!.O`$4WzQ+ kU9}1ѣӜV"" nmT4O -Um"DžwIEۙcdEY lx'F{k,hҬE+2 LSh,*q2f#٩Mloh@*+XTԱBYZ4c=w+}j`᱅# V"$⭂bm6-B(M^cSWm,Bp[j -'DiUk%2+Џ۷ Rh#TSWM3o$l[}bLM?vp1B& p>zIUB?ˊƝKD*\_UkæP|#0U@q}'cRF5f:U2m 7K -6ppWOS R!VBOx6᳅'URj3>X17bIvF]c\Լ=@ɿDŽ]DRmGU~ByFin"Ǥ>URY#6d#apxictJi4#5T- h -a|¬ۈ.6OE`bsB$k_icI (;s -$ƽR [jkU2nVRcz=^sժt*()NnO.4=Ŵ -Ղ:LWzͮ/CL,d@@{& 93O>zz*?nV+ؓyR&1V5ʲ*V\{xJJHʋDEiiG Y -Ɣ8R:nJU°U`*=h" m*2$#MQ`(Qe50dvoljlt Qcf*ia~\pր*];ˋnډ] SNYǦ؜3 ">4o1, 3v :EqNE0ڲ5qi(c×`F?x;6:-M`|OhiUyF#Aohۧb1[cܩT(N*wRTvENۘ(OmU^qXۯ5"Tъb`RK8 H;{SH% |8HM¹adZi""SrqwQkuXnikA ѕH̍$;t>?Å*w|KHv[[E:ZU)/o:.Ř(:ppvQS Ϯ+I0i!G5qXw >ep A1F$j%r&c($k_GSF6NXڄl&(|-MG0̓MLEr =:qwUi/M-Q1v۶My5 -[tg?6H»D ܐ, -@}'Qۊ=sme =f5zRoʚAXtr;xpBLN٪vzpC/^g[%'E[M iU( -lH khMu?U`dW!WCew0jUyʘPP|&"ha8ʐN{ i\17(:^)T@~#MtotЇAH(:H<^ZT<9R3/o5QDԽ0f']<Egu>e3mrEKl '#N_8PISb}%tO+z]Q g?盧"G?eW`<zYcu"-9HNz~^YS5Ӕ;k&3)^j5՚#nXVeZY -5HYT_D:UȚz\vn\r5*n*Yv~nk`vכW{9M!XyZWO5^=Zիvz~z^=Z]nnz5כVW瞭!/=Z^ ~z5VttU6upywqz窕Ǟ׵UO7[[V⸓n{mh|VSsUjnWnzVQUMtn]ܞxxshWaVע~zkW~g/^9B]3_&kux׆3͢2_I")=OD )p/Ng5WE"UxNG W`*H"DG+N~ȸqWl57TBZ3ma`셀]}hUi+'tT .5(V+@Q_gJPIOXwS%r@͡LR !PI xRwS"VNs5feaKw"S A^P#*Y4a~<*bh~%>z}t742':.m3KF"M=ۆTPˌe$𙅂4sp<Ln9`~~ fh:0ө 81p%q禴ESd$$|ufp G$EL)H' -V9|k?C-qZyS\iŠ6T,{dE4q53ت¯-QW >CG= AqQǓ|4 -C x?/oJ'WԨj\GGL$@";iI;(2\5T'cƂa9>X;XPIjh^cTB=\^LĶw"`A#lɊY(fʞp|Wu sӘ%c jkv牊eNRYՐn\=^C^z\^J-z+uksչGߖVNVj nz^sH[iWÞMz׫sպ^z5U[W@ߞW|V\[+U\UzպT׫b\u盯Wj^ǞWe]ysuA9ZѮzar"nحW @Y)Ɠ@QO8I$hx85was褶%Y<8aQp6]>PPq2J`:iʁ44CrEG4EX2,Z!%f;SǞ· 0RW]2M´RW׭EwG -r>Am e(Nu>U޶(+*DB"k$b5CI)b(`Xޝ=st(I%QN щ&:dہ]A{5qHЍFxnI)A]~QQ}ѧNqUU8gޞ/Y\.pעn}+a3@nU%+h^YŽZ@Jh?L Ddyd${;~2i@?S -"^V7ˠV(7xu>aExn7ǜs) -XgqjQKUe`s_^1U }jR-QoǞ+5"%j`f]' AP3H_1B,ZGͺ[4)ɽ,gy@ie?N?_,T:kA`i{>D_şN7 -4[7%%~'_K *|^"CFv)@$S*Lb̞s'|Va{n?N (F"s9fuЫÅQ -07/ћ8'ǔHIU'fR \a{}yRUF+ -k[04ZMkU:@WF5OUV%/MG~lMAƅκ<ñlӽ[8۷yPC˗*<2G -C- q~8$kLᒺC2A3A uA4Su%0 L?Ǵ|uE)1Avu(ee]{{O—F-E>nrG|e ;LwS3<:T ħfr#+ߨS$>zư Yun|+*AWo)V4|f*M?i9._~$GYynDHVɧl=5 gВHw srJbmf_H*։kAK@IOSeL3H)'RuopzY՞.jR<+4M¦ޝ}QhQu:kM)HNt3 b9?$s[h{{9pmFykӟNipUAck[Il"'D:]]^݇5TM[G3VBF)r@y.{pA?ǛcXZyp `-?6j" A^ " -q}{Xp14Ys…V'TDo&:EUzʑڀZ_ಾة{x6VsK -5!E -Qܚņű -;I=q$sX EU6O\ytq훠˜Y7qxD^hG{:2RPĀm@cTEXa `.R߹8I4SX.v|o͓h2/96GU]'vPl~7kq-'YO;o&hA[qQNO+yў=1)寓tLo{~g`5+%tűHVHSmnmmŋf@\)OdrfGI}lf>e"0+/Y&"*Jx|)&^}VƑ'_E޶# IQ р]V2WOX&k.+G~bZ׸6i -9& TjWb -7>5M:N?>PopBTEV}ɸ@ħ:pD (ڠ]U ƜܳWS !*dXzlG¾](*l>#>7N3$U3Ӥ{ > i4H?.%-\aWj|upōJ)t (m˞0y#V8%DqM^.veéT355L%d\r/H0Z!b׉|#JlO@ gi%u>c^!fieA?Ut˙>xS\4&̺맭rf}6*f2e=4k1F~hLݔ(-:pٳ4y:TE8Vhŏ+R^TImm̃NlUk4BٯVxyH^W$ȜIZl׫<|znyfV$sbY/U5Þk W^7[joW"z\ѭW5^[W%ku/+ՐR\_q\Amm{[]禽4MnkERk sժ[e{=^׶׌s^\潹vtUqnz1]_{vѯMw{z^RG5Z\_=Zj^cnnkmUkVXn5W^z}Uk#z~z7Uk7=^sUvzkۏ7^{y\9qf=U]]55랯Wqݧ-W5fqNYl74)w(E: E鷱,pP$Թp1#hL}V 7;F3M*b=vܸ5SaƩJ,| hpBY3-{/mIj4:.FL(:qn5\61T ZxMG{YNmӦWL]Xmpx$m\8l͞2tԐso]#IP-<9fBUl߆i3ODus9j{nR&MՇž*݆Sʐ4[:33{ q"oOTe%NjIoOѳH2Ɗ"^۝gyR@I=aFPK SάosT)LjWIDXϦtLk-. BxI(ziTڨTbأ -jMp-;<>)4OsB%҂ rƷr?6 t]o9♭$/KIϕI$!Xx' -,:+ir 4վ44UX]xsE!R0Q{ys)L7}`&/L?$g hVV,~߫+mQc:vwRsӒEĎV\&҆hcďA GAPn2zvZT~?iE*V4 -N*, QPKR)/ԿAG -u j*E]/<]4g,dHO ߸6tUӟL]Fa/&Թ uS$S-O;gOF*;q]3^H#ЅuMpJ )$i26č'(z7 $MNdd$=؂*ˏ!L(P78i‹ M+_˹*IO@6>y-UhϞ0Lhpֿd<.,kƍBÈ/T=OfBMZ_n+BR%T.5KHHлA7 -$ug[VNčTh"S"5DR0v76PvBiAQ}H_ԘJI^zYsbY5)^NxW}/ZЁתBVYcV}eµYV+'=^q9\;ȼz'~j\xkWsu䃛dߛ5@m禽5vlW(͇aMK{C'HXvґm,מ|OU kSP+d`-K0O/(*QE?ULT[iOkN4!Jƺ77?wR nG%3OM/Ts #/s,q9>v;m$\ōɤdeT+Qkw'q"jڨzhǙjctA\{uzge*o.TtG/PJiL> 4WpduB27b##YDr8!*}ƟxUjk=֓xԞجXlY|Dy [rHUdBE y+!Q}@ {}Sn M2ƹf/B8҃%rm=ON[ЎM$kQ[)$mE?} p3H%?+jGt?opFg :}VYqEm̺u͉?O܇]RiҢY؞Ofkb);z~Ș.fX`wkˁ"M>\AHSD~zAzj -'$8nvK y_"+4,BێaFKYK`P,^ , +,)zI8amn1xHkٙ<<ͣIӰ)i%*a~3eE#V\*aHslQjw;ᮢIQ}$@4VLji+1[>& Q~N,餕7a`I}#"G4~%tseXdfsK ?n6;?oU.Fv%NSy2l-;+TR S2?&7!e`  c~˂ ]59 us|O* -6N!GP `@r UFxQᥤEH,¶L)0y"v_<")bNi0tOH-[b|)4MtE -_nF'Lԥ@>wh)E4}hP2=#Uɴ17Fh& uQTX[_qfo+#eߌO0[F͹aINx/M}AStE {yzgY(*j']f) D8hѽEڶpƊOH ]t\B.qV-4ʅy?S2oko6OL4AuSQ=;-Vc [qTRl4CK,,V7cÄ($(YMM>}R rO>H#PcncSaN>{+C5"/s.`BQFVe߇OQHxnk84z(VH`TO+)qr~ǒ1EK~(HnkokFL (`@=4فG -xVrBa恧jf -6扚vҟRL^Ǎa4oBk3ߏMP4I{%MP*-`u~zff;?60=^éJgr PF4cqn0dӢtǪ$`u콇Nh4"z9m7IFseuю˨(̟^W`V)m AȃM24҃.'YX dž6n4' -ɲPPv4Qw8%7A)Vi"d.px# -q-T2yQ$÷~U3B*zS!F]Gb)"ϩM+XʬAߖƚ"g!4p鮃S擅Pk51I-I @}Ѱi,cVϣÈ_dRU ?Z,߆ 3 ^T(`8Dcö\sJbP{\x#r xI=Lgp6OtJZX(=!\fG#t3B >L. +]* -:lI&UCTIB8effZߍ魥SBⱗe}:H]f'ې>= -ANC\-"vlG/QY jML -Ԭ= -\$Tp5g~f=,>^HU`!$kJE}Tu 5ϻ,M9*m -׮|,XѲ-R;k<~ڲzOo+SFPEFxi^g8Ttwyd6$|G6B 4MN.:4x+8-OADWXxM=qWtChI{Wlp)1KC%b!dZ؆6=<3  "'jUHHyRV4ˊ RJM!~4\.~=9wH ʁa{e -<ópeYޑ%IʇQoX('B} 01XR.k1?0t7ІC©$y)C:[)H<!`dI!7;3pA [ܕ#<{Vݽ@Ǎ4A}#ъڷ`U -j~ -2}R"v Q=k\bw!ڱh('sGl;gZJg=@9pq]]#zZb{/} RtȚBcxmXyAQbK9<+B j]Tuz_׀XU=^susU=^snUz^=^sVzߛun+kejZ*i=,n G ^h&f>M@hd84 8 Q]0լh&é$8 [^zˑfu,O -k{.BM |Mt1SC*Z̓6~)uXQVƋoWh#ybʇ -l %<^q0ˆtz}q=83b&94 7.ۤmE:eHN<3a(Tia(4Z׋#UHxg͓ZQ3SpO{M2LmҜUf]5{FXQ=ڡ4L-Tj${ 7⻶̊Mh KsT\EXeK xw4REl(V`@UаUo -zՂ"[:@sEB+? -iSeV}OrS7f\ou+DZ2oN>%},0o1Jt<7,CS>'Өd1#{,mīpqUW4rŰa~;l[TBF -5a)_+ʑ_@E滞Qt89:jPGQˆ`'m`\Y%mfAŌ0z)::i+i`e>_dOM?@t|@Qjw/~m,({g"5äQXk[)@CrL@KH|tSŎރg1,-JHB%@Pϩ2f>4/,}uh!! uRQC_M(醩UPI |"Qkuoˎ~nA[6l4XFFU'ѧ{Y^gPw͒\„n hU8KFN &vQ\aE1AZiT2V @UwOJMf .P< _6M7Vaml-0mFM[[X|yHU88NDQO9v -a׃;v!pQ4L -h#^!!;) -IGr3;h&öLOx -(]{Wc)C{hZ\>n/gLJe -Jݿ (lTU)BYAn14Qi(zA eI1TΈ\k~TעDzՒ1VD=Zj\_ȦǞ5 HAeM5^H5u1=Zvk47XVA{omXVPr[wx|R+vuUǛ oVlVvW$nz@ɵ^S8{OϖKhIX-z0*5cm~8"k9XEkIF{F3 zwR]A}G_ y4qϫr^*eRyap eGl)p-duRWLQh{R6p  <^ ’޺:Y<,A:cX{NzHi1g Xn!>Hn1(U;hVw,d5<ضюUHѮ~7<4mrN4_ypjZs+A>׸>'A)R#QF,qsEmxZTFF;~ΝQ -Iݦ {9ah`褣gjS!؛Xiv)åT(b`]j -W>Q$IR^ԿJ8n9՜͊+I}H 5c[vCY zTHVė#ǹS^)=9«x8Z4&6QɱH<Ż{p`cAuRBǨWa{|8қ-x qc*|؅<ˣH5TL[S~jkE/L,sER}rWE1ZwfH.JGs`>?r`(FպYƓ՘KS(? Qe" IM_e;d$ Og"I\`!X:\\d_A|xA| -Ea~Qk2vU՞!njR׫]h5ƷYbnTתBh9CZ=^=[͊A.qYmׅdZ o~R3\Ɩ6xW1aWU s[{WjO7[YHnlEwۛkuר?=^wz^z]Uӛyk{^ s^kZ^UڽHnuzMXM6%c#$AEXR_0d:6N[U2 0G alܟ sMh(Tˇc> y4ʟW_4S^8V#3Z.?Ǟ ?XWJ$}MMAƭBp@t?uuTR \kjiʝVŶZ=?2Eh? -5xPH‘YϨ8~N+t}ncH'e& ;vm?3[TswX:eǷnzkDS~9)XCZ"I S qY8{VΗqɔTR"fR x{kۆ.ߗoM2{(a'Z)D(jA@`.4?Cڰb'*lHshJfQR IdKoqIWM߽yp'] ) -=4m,RwqI 8fkn ҅t +INmMج.>? (8h,RfD],(R*&d؛m7>ee̾kHɕ^3knBRN=0vԨDߐQu2Fu aa$¢64*MykòltS㈴Օrh~;mdX-,?W&$R/TX"`N Oms11Z7DһE"am -{_ Y#%X.t"_|HňyM«i) }\` -ak&'8/lD8~ds'{vM%[i{)$Sh#n]-w|44٪&n/Լ%SDPu,+ASO+evVLL2 -2ĒZ^iǒkMPYY[p Rڍ\oԭ^wˑIҖO-AU JR 9Ĩ^efFX'ݸ4aY4wȲ*9'IB;F;Dx:"ce)Lq|e^J˵k\Eq[N!jRUSQy#m=?WL/B䂖T1 -YnNk3_A>)tL0D!̒{ۇ6.%8]`@Us8eҹmS~2uFV۶"S#{VܫfCOWJ!x8*iG΋nK2IQTC>n>[SCddg>}2l6ƦehDD(r]vN)qI!eL >!ph" bZPhY &ZԑUz}F%{-B | W,(>" -N dJW`~:Se"$P[!<%a/e>QdQEƙ̬4Z;>{ -m$8oOY+0v -ڳ }bb#tn*_qi ZJUyt# -qm{xjI9lčK"F>/ui]Ud&2"JAE,(Y8Ҥ-)*s^HS#uf7R/z ԘPw-xpY'`ʅmfqٛ@=p:˸2vtQP)MP|Ŗ1 54i뭏kC -hL7h9*ƕX+IA>n"8Rg`An݇*⌗ sWY;TD'q]$3#o *L|zFj~nYTVD7PUkDUdVwsO(l8@S꿘;t>}Wl8/R2ĠipI߯Ve -Jٞ9Me}3V&‚ױ7_5^Ve]t<ƴLRC -4Xe3MyߣuXDJ[n?1f"qG%Lab-k\x>UxO]pU$AcF4M(ts^ *JVh c -c - A\(SBoo8yD欧ռ!QR4~\SkGHdD*úwjbHb_6&qoӤcV3K h1houG.D2A]jfd[$L}*o\A"ی&3eBcYQu}1m(Kټ'¤^!UjV6Ӆ_Q!`Aԃ~Rېh7*GmFo݈nxGCs *΢6i_q Ne -E)M k moU -|[aPOss¢_&yvZHa c/׮)=U,լB+K|OP}n -}7(R (^AQ_.WE.H>/8 iԼ[K4Ct(T"ɦI𪽤!5nE:Eۖ&1XWq؏ۭ%"d(kyɨkE;*v,*ԈaĒ)i*) QF 6RhztYH*`RuجH$x0.)d}fL[5ϋVIϵhGq2)"+H1*橅H;qiJ#eZ'e_j!cpA7/[|F#IRTvѺo[aR9d-N%>4Wv/\r{X⻿mHP7%o/T4v*˽f?1dZңȈB SĥXӴU\hߟ‘R0p  XW]Ρ@/?):қЗI5*PNnmk V)$VI/'"9VUcy mv2ۏ]$RU -}!8I2vpIkv‰-JA1b >h"UMuO`M׷)NsYr}j|㴿q4tGHZvה)6;SOV+9"pvh׆4SXcv~Rbj:PV9"Mϣ|9qU2u_ᮼ٭i.e%M,;P||O,@5;A2tT(ad]<.ܨIj\*(//vЏ ||9VV, R*4wGFʁDb,Tܐl@'[VSejƏF>:GDҳ˱MNǛ٧xw{7`~\gF:[O^ɔx!5n"KZe$o_gm"BEى*<;vsJZz>V?ۍVRr'h@E[}cez*.c8,IU{onX<ƪP *sYKI$I\Di8z:X~ÿSMbxS[ <-VaƵУjSՁ?3ZNʓm۾ qfH^ޮ&rǑ6ٵPSVycc9xiPܾ E:lNuFLLJQy?0!"7]GΟm(>]qpZ:S )Ѡd̯Zb6m~w^3N(<Ͼr{?X\4Eثi}zP{@[U@oW24}nߩMfېPמTȱΞdFE:_FbM)IftJj#]UK{k߆nŽᰮRz Yz!WR~'yE -8jY0k,QQ"G-4ʡ[rL~>W\ǮEf~SbY,#زoP&(k7C긫h S{8T^(gxu}A2LǏ6Btk@]rUu%@`ϽE0ͿwsgJrF׽?Y4)_WyۥkV:%+%_J;-K[Mx7x;׷QzzPcdBdH_,8X ^Tgo,_[l\YZ"#AXߋ -N h{^iVapGjB4Qp)—X,v{gEM1`:-nN.i8QqɄ/+R*cΫq*Eb+ٽ˄ -v'e3:sryxA;:u3x{/n$ziԠ&`YpcUmd3;q0I;keT /OXk)jKfUa(S$Ә5PHqհrHT&hӴ󔰉362Nb aVHrU;gZf3R#M{knnAe%i8j qd"j/Uk*zY#zD9ZHՓ=U5 U@+~jY=\:sdW* zpn9jdÞ8sQ&\jvǍEn~RY5Z7[_W0yrzzy{W禷\z\V;&9Y*k<5, nW׫Cnz5n+ZWj]W&zf-׫>~lVtBboV=TPA8Pi'cJVým75~@VlMNl5}m~zLU4Ғ5-jςfK*T,ِ#1^c ՟[%\{vkTҟSttkj}U6$fO6IVw-I fO ZE "nSr729p2MXMW⇅՗-OnGqǎl8RCfE#[UeHXSoEUc* hR1~QYp 1A$>!ņ LA ƟO\I'h)>z&4:" KeX1X@+4,2;Zu˸ -N=K\2|Pw3v-5J:NWKPȥ$Xo-+4 ;@[RMzo^jktgv4Ab1אĀ*M\:Cpז2RZp|}Hj4CITaj.4 f -5\n ǻ~I " 8k,B7YXsuحxyHNÕW>\WgN^Yck i5Ȣ皭NxV 9e]6+F媠MrQ< lo40Mv˃5f[(Zr=Za5^=^n\W-ƽ\{WwnzkA-z vW.z^g'qWuqz5^'Nn\ =^=^Wt@ʚq&5~l -5tnۖj9z>ӈɆS,5O$Wɶ6E:QQe5*3Fb`┘Ml)I.j;jb5?AOUQIv^k26i5x@mb}w=ĊjŲL(U |9BeŲ=kӌhuSv3IM@ -sa5̹KT>^;ul3flr! N= -nR,n0_Ǖ"6RL -{Z\z0:O=^̡%n2/âu__٧.\9;QHU}m5+"cKE[~I -ũY .~6ÔW*dT[@Esf+Ղ<"e/LW7 -`nߟ9DptfpVR}ݴߧ5IHDqkxh{,}y灊JSTĖCZ~v-Z 7n~4@ -zL@չ#O<yO h}Z~}9pǺY)u[sB@}^A.4vԛO`8ªi?:Dgf n9-mP~yr8ש-:&( -R :{u|nz+Ƙ",A@_(Sצ1atճ-nT U7RVHUI$@ϣjk?NU\Ex?MP}n[HɚOc6JW*K7$g>ޓZnUF _a級8>CT xqЌ+Sykӡ x:E 1,z@r4W7)I"&cN߭p -'%b{;ii[2#ݻ,S5"zLc@l$_c - bR0.[I7W36*Tܧ̕KS]zzf;n>0ʸM>u_XL ݀)NHW4'9(猼9u&Ո* f09hH<^(;p4huW9i]o9*]rQ4&sm)8e$JHz oPR|,Mj4@5bEe,г :- Vj|Mwo׷ʐk`x&@[qSXrw"aA>*G~9/NVߞ5k KSAX@յ>߬:{;5iT@( o戚@8u)ʣjǾ'NܩDVY~IiQIo(ocsDW]'L䒶iO`ʚ@Ũ.,m-G4 Y*$E}vQrMΚ\kTLe*(Xuf Rf;e-e:pu mݏÎU)oCpvf[>;AZB 6<eV[1p [XiO-W, -ܛ//+rEk -ˌSdSsU?i~i"k u* P2H [eV>eފ3(oa7W뷱oV -Fb**:/*GEzZz:Ctmao%5jBL+Pyk` {m0V∾,Oc碵 /sxl9X[MnbYTыZ㞊ƛXٮz+sYp妰|-LSz+TM UFw6׍.BEQ\_+GeP./pSi ,!PYjrj]̄ }6<ZRb1>e^ְ{kjYmz#k5ȼk^j׃{yMr&ܬMxW|n\{9v57jzۖ;r9n WaEwV<+M9{W6t'梷4ٙ/)'E6W۴6~zEzb0ߘ-:_X8mM #~C3k;{Zݼ>G;fynh5̳nrmh~>Aօ()g8;nvw|h>4pTY0 -m;\7Me?oZn*{{|;lMx&!ʽ-{nG* cո&Da]5Zd>lË(JZNVo)MMGa+[U+Iٽmyp&L7 EX T^iI,Ljlڝ;w.7l` 掠s@fy^H0$u-L[ ԞGa7V*jqEnU54HT^d̗;ms@ -ڗd1܏ 5R쯹j[wVfW -`*M+)pX\F7XfJ]Si$(xpJ<7Uf66>XV8GVJPYK0Ͻ>[x7фg ?[kʌkszsOTɊЦlkS #RZО54ݡ.a&0 -NVO'7_vױ4z3ש/\T +dtEu=>29c+*S;kWtx3z囆,E<{m(iz,Nv^`̪ 7 ->S5gDHY.IIa{9H0Ua+UV٥|N[¹ɘpK;b4UV,nw(__Ooo< 2O]C] ӕl1u]b?g9jPNƨ܆}˞j>ӣ_Q{x^Suj0]|~nxETsthSnxۯEj\JdS:ipxsF)j*8D8Kox}'Iʼc!`n>|>{ejp_q3"$j.~t&7[z04gZY׷{#r -ѥ. @tI[sZ3P5؞-pII'(U8e9ݛ}9XP"}4V!4Vʣ{y+SN6}%^ƙ1jv67$ܱZU[[^ $Mpb.?`8-EJ]GBy vR$eTbBiDlYpHnjb1g:ύ5q9c/!*ɻ[gǕUȤ_tYTnՉk^ꫣ`:r@}ڡL+b -Fwmu麟h͔3`+q{JƬ0=2VI$>(H$U -f|]T mm+ګf1Z V[)Kh7m݇1MH -JrGy3Z1M`X7ٷ[Ɣ"e;lrܒ.~RjT*l Gg%p B/'P X.Xzяsr+@M,k;+)H)MX3)Ym 6S -ƕ=:>V@yu -oe6j¹sպ;v4=rUrznz5pU5^su~ZD^j+U~z]h9yMwj]6z+ӵ{=׫zcaߚWAߙW2z:sz׫ѯWcWnzkz$sU\ߞW yvyrݦz=^9{WaO=^ՊUHWW{WvӞW\zMzl瀊9jq'Nj\@=1[n\I'W7^ ߞWd[Wz{V2-֫=[!JsD׫}HEtXl㕫Eukbp%lrY9qbyqcqWn+Պim^%kkמ\ -+&z\\sU~n\'cNh֫וV7ՉΜn+^=Zڏ'=ZRvՎNjkz5M=W٬zj,Vⰸ=ZX$מTwnQ;iyW -P\Q?A>+5s -pUhɑi5SE JƦMTOkOg(VM1Vqnj\!ݮTJjFu6 \ӕk[EQ&io+MMGam/A&§ᆚ k}C{_eR>cM FϸkAxtk07bmcga͚P2q"_03K}>gxH|3]˘Qf2Ua$otsUK)NlzH6Xv?֦KFB7ԝ{<<|yZ6zur-k}XCcHT7VOAaZ3zXv쁡Awͤ_>ÚbP`ccP [;~905g<i{p,txxxUj6Wj$'ʍ~D/91M$z52FM8ZjQIV{[~_+^4 -&eMXOnF4Z]DU&&B_9y"){򯜋&nRKӑUkmo~߀n(Y.ok;Tfīk*!eEvr4˔!T&ݯNV,m6h[ÛT\S2!nuߎ&jeFm@$^ÛVaDw,{9YPVv~lMgH^~<0f3^o$a&vXofsʪwCS0GkskکQlm$?")ʣ2J7c!mӷEZ`` η'샧hT&*l 1Uܐ,=r0+EB1OV֔^ߟ~WIB)?KU!dFUGm*Ձ7]=6^$RZ}TŬȪ;~\ 53d:SKBfA&hi'5F[ lSCQ( ݡ 𮩲 T[M IXP`:,!`~6&"q|GO,w]xSBb?Ƀ8P[O-8n^i·y^\tSZNԱGB,-Î -l 0ԣ 4j6%Y?~hU/wW_SUۗn+uȝZ"9Z57ZպN\ׅd^ЯV"Օtz(u=Zj.yt׫sk\A墫ZѮv- -\[5 JvnUz\QݹwVuV:/NW5zy{p_zCWW7^V⸫U6禽]7^EH榽^s랯W~n+jMn a!mø5zj0Tl:͑T5PDM/H*إ R{$\V -U& _4GW-lM x碷I|W2+U2m rU 8\hlēn ~:G5ԩRu>ːj&OMlOuR֦1P~`fzot9#ɯ`i ; 1iEx -\>b֩ggJ -6Poq^VLǩ;*kNa(Ub8%)v __?yHɤ%J"ݼ5ϯ\qpkMkS cev;O`=q5駜9- Jl K^߯iη;USѯݼm{4|<9+M/)5[ߧSV)M|99)pkNN<5䚺 `W>xezjăO[?_.MP`iEYh(~nh٤vkP'5ZpAMGa>?Н6*}@;o>lWLW1F";`'Ap||O,j_W$'sf$}ǵƧ㹪hu[Z{ja9hPIہ:kn?ѩ՘8] - yK}oMj*=&esa{k)m t*T"RW`|/O7kdQkw}_g`Mxjw9Ho+U*۽Md7Hs[y0iUP*ۅu=>sU觺:Ph`llt`焚X52-Hߎ5R"ϒkO1vܐ[AsZ)4PUHb~<88Ez8@0.-jq$JѐHOϖ+U-DKx[]><[Y,׸'P;i~j+™T^ˊ•4j\R2ZYG쭊+ǸuOonVj)KOi"sEZ$TO@ mǚ5)IK;&\ZvUnKv sYPۛDYzfYAxq^&<Փ)Pic|5Y-d%B7}ܭzi9Y#֧P@B - nUBMXSmXȹ*[i[jLJdi&e"Xig>Ϗ=3ZX+Hكwr´kb.FHqVI|۔,r~<دUeF̮Ou'͚kԈ.ZmmnnxVӦ-piH YjAƬjup)HRĕ$ ssUP-QhrVE 5Uc#ǀƕbˎQRiх%hr{c=o<թA0ZZN{_NХɉ?_g6lc.DExiӗI^Yb#vTx4 -zSei[{{_j^ E%.w,57h/}>?ɭ" z -wgʄɮiDcb .j~f\3],hv{Z˦LSe5hl]_˚^&:[G=1a*+7x~6 9NqeH͉ ~|59kE@r,S$f E5SMfEZBd7$Ek9[N8cʬGh}<¬iҋdiv`>6}EI'n7 k/a]?/o-UAb (sÜ+qIZk)Vox>q5C^t6 kOtۛ* -Y[n mIy{m4cxmUg5@\a?I &%`B76]Hו^˔T?zڶ?_=k -r&{XOߖZNN)R@_ךTu*U6U5)a)]mU$UaVʬZ{oXׅN4d݀$rkIIg2c"1CfKIb>h*kMXV kf+qJl#E_Ǎq&b:| fkqI\K5C,լ,~\ +XRr jZ"^"4Auh>';kT^MGS'aR7SoiKZK~xVW8D˯x(оIȮjlyjfCqV4Cerdu>xUMHYyCYPV"vi6+qY#n\TY|xVW r^ptw׶W{6Ml.y[hmȊsW7^b D!<۵jI6i+5Auw-K~xW:F`;ODVp(7 Oa}O8ޚ4tr)~Uv]'JR7uJQ=+pU$~Uynz$(nh&kՙZzT>ZkƟ2.FEcpCt$]{F $~vT䚜,6REl -mh)\*H[ LfZX"ÚkSI Ǘ5ZA<=+sḐo k(UY* nVjzFmr-oVRh.?G7ZhsEzkLZr[&)ӚJL- m>j-+Tu4&]Xnf:؂ yT[1l"<?.fB\ho>͍}Xu4ᝈX׿9S^0͵ΦmۖZNc=1k۾Z4s5M>mausEzB..{_ؤ~1M/}@?*GQVZM$xkۚ;+`SV3x+1F E6!.We(LvK_ǖV@Qi}9ŀFd -u,H?TaJ_!"EPCm{<}b5L~L%AEB\Ǜ1Nbq39bn{}5 ֪BYA'Ou爯Navh5 ohlr4y -l\j{~۷krjgbAA܃_ C^"0OBdb5qm,v>' ^ǓEmHG68T,I,,6[-Y2JU)am~x׶Ӎn\`h@O(ku8Y kㆵ5S5yMb_Kk\ -5B-$5Z)Nʄdi䊖 -7 _Q4ck:\6ǞqMq_$eXmH~w<h VCkvLjH}?[rkpk)"6A Tj m=~ϧ)iʛ/AQlEɵQ4Nbx[Lw'?Ӆji >(5O -I~Qc5jO] sU5 -YVafmuϴ9R*]LnTaoͥ5+,8Ԙ>'|O<+G˖瑢d<X*EwWKV7#R,?SjkQR`RZI.=-o~h*kq46%AV+N"C`x[[xx>=91N:Dj:7{4ok°f`Y# -Aوt O*1)!}joxvхPB"|)YMk9iT"))׸"eR \osViSu69^'+`M:*R.{{{ǿ*MxW -z/ IPHۿV1}jJU-6jj}6>f 4;_EZk.=ڍ~"kB1k~Ǘ1\ -ԓN?1+Ca~7&)VXÎmvR{=-n& 5(~r_H;j@ԒVT?G妵oq#9iTC)R~i`{aƔff`6U߷i#~5W4+ ݺ'OTc"`;|5*.))dCs7btf]evrAak|E_MkM3IK9F-{}6|9k4ML62M[IZ|nMwx0ͨ twV{؋|uM8)3FDޭܓnu)٥ PЧwn了*DUm@b;w~6啍xaPqޡQVT0$_Q{[^a5*$Yj~ `G̫R/,ŀ梷Ixpvx@w^<ڪIlWqjaVNڶk ӿKXpbX~ѭ\V$ 3>mOOxWpdaۈ -ۖ]UR$e#h7j -D 2k{[KqÍRpIn$n_G°Uaq1.~n|O51[WrTaЍșTp  -)x)$6o}O5~ur׶禷%P@$h-}NX~ ˹kZbn&A{`HIš]san{s[M[ed3=.{yZ]eIF @I\c15w-iǦIW;͜k§QDaXIwM{mrsa5Z5cmkO=M]{\vʐk`cNu0-}BMnSZpHokr5)gb"mM\!:mMj)r=#NQ'+ -ХF bF%ZP z[墵3eq[KrV'5iIn8*^&frSGP,Ez]W<5R+rգ]=^˚O/5adC~7[GNx*]-.[/u+ˍWj7^5ȵ4Vn>9(0 sEj~jky{ez_^ܵn+Nz^Q扭E;yYWAy^aEnkG=Z=^w5ĽrըJyxժᷞWVu۞Wi'5U57=ZPՅta^57U[W~evXs-WWӛWrmWכ׃U)Vb7ZsxsusUsy{AW۞W5^elxWqw[W ipcs֫z^ѭu<+ -y%כ"]1͊כWNl 5^j]\mVj+Uǖ/͊cfxu+7vTV6;y·5J^ScƪՈ¨kvz8k{+ V nߚ'ՂM9c'Nn+LA"Pkonթ&7U BO~l+)9IϿ2* -ĺmpOsFMhTэhn$o o猚nΏVGȷ_sh - -p뮼$Hɴ1iX{Ǖ[E:o~z/Ȍ6@{F*: M{xUFfL.V 64漫ThK]'lŬ<]ӛ+w;@ BMb/{<5b*! XMB>yXMp҄b܀j*ܑ_eUB-ߛ :|9F\<W1ĪBEhc1^TӴl64t牭ԌUTΦmqEl -<P j~5hzr=xyiMs˲ݧGr©w <5z{\lUHb9H>5J86,,}ڐ=m)Y1nR&Ćj6%5j&P+1$NÛS`ZhO5i) sƼ<6[|y]$J'.PjSY%ɶV)-*ӣCJU|O.E'aqT3"iAMI IO(~汢K8뚋^Yc6ՕMZhW>n\ -!5UMnk06עeS&uѭm.oskԓƤ {k]9qT=TLpӀVxفb4_o)ƭ¢[1{\p^J?{(P+Aр&|ק -f}$w爚5o5FM;H-倚F\PԝmqaEzk2u_)[%[CܹkBbi\JGӷ)U45ooKk;p9}@ F 2gmΫBṰS EHfsulրk6`ťr=9^58KwMEfh4WUV+Ϗ*DU5{)[ |9F~3jM,m -ؠ0Yn O4EWm-sFh4(Ixx}دT|=]^lmSTMH|͓^SvgǰN(͵nz 𤗛E [H*WmoASUZUko|yX -bPa.nk]~78=Ԧ?H@Bڞ^UV_k^װ[銕 %h p,omowI*^ \,B4->?ڵwcjI9}5Ilr`4怭m%{)b ~ڈZS+W{ xW8 bkc -c4`/[Jq -ˋYX㲨?h O.Ly:[<ƫ1U)܀s֦BOuќZU9/mOl4*FGǛ7vdÞ~iF&A?߅#a~-gm4qӷ׫"/7^W<|T>n+Eg%;*,#q™X18#WB >9X>LuP j F#|9hƫX! ؏KǔX6$^ŀƴ))5iP>^0l+aEz+S|9Q" *7 Gn[ -oJ?yTX}iS+$;/܁&_ -H)\s|kTarY67Q e }ѻPď{nʰ9Rf-:[s1[iq7S^8XXQse^5nxMYR}Q{ptʫA1Kz9kjjԞ @g+u$.mkQZ鵀^T )%V&Ơ>6q1W|8$BU`{whPGcuqElj:,z+SH#qLm`dk("h զZkU*K 傫tQcU7Bj뼲;>{ -0م -&3Pqkp\ֽ*E=IeYv? {eZGɰe6A6Ih< -?kMzh-}en $֕H4'-^|Xc+K+|-HV}$)cǺ2Gv*ݍ͹n=UO͂5o`jJ* @Ԏ_ -Q[eCcs{|oMlS4HR2uӗPve|yj4d/؞a^S-Ym&kj9CWk8uC7q/_*]*i+rT}VkUl -,j>h(bhR}׸5<>GTYO o9&k>-$hT>oMkU9TR_@><Ufil4_yo{̈́xk$USb -EOr+i}WPDӞE%\vfThInh*Tz(W, v|8=t֧ύ-C*-ۿ̈́^&VT9,9zo mە[W!"qݴ»e;UPjZQki"MG?7,fceoV5P)CE sMoQcpHsA~h+`lͬGsk 4擶1Ip؉>TgjU[؎lM -aOGÌT#"h;xƯUz 2<4haA*46(IZYSVEa -sC~nMe^Vk湫nnkRBuV+(Ӕdz=^Cׁ6+U5jv" rVʊɷ/;¼+)W$7"]W-ȚxW׍vyz5̣^j>VǞW~z]ӞWMrbO=U^z5јnz=sժXhks·\yvZjWWWu$DMzz#ۚ5Z׫@Ur9W9QV5jn^omz3cʓVZ^׶WZyqT5ujMxykUz-cWskѷ5^V닰zO=^ ÛW7o- -9^۞Y.Vka渃V۞xWD_ǞV&7<׫UجNoʊѬ$ߛ5nPcqʚc~z+ u2iW3 LclKkm4WmIiidSo.G~xeڤ-+iGGEknhos܄ ~QBĕO [_=5=e4PXinSS6 l/s؛x_Һz} ;qS>ʅY%WYC @W/UdzwUHEu(Hg~_h' -rèX"ʈ]bؙ%)\=<"5/Pc8yT4>'1Zx`4`'M<4uPS8vFȿor*X:w=n`שĨ߹*M4eܩE{O~\k@RJ+U+M}yTX`y iexvG5yΌ"y*'&i 1:ļD@H~jjv O}Eoo(@Y83R|!ů4ҕ)Qs 7$}Q Jƒ @؅dQGyM,p.e*[l+~ aA4R!חVU=^qnY#窦nj]V櫷^ǔ0wsթnRY5^Hyr{W`MϿ*Mn+Ú$#.j]yry5{k64۹Ejr z^7^'56ul(3ss^F[U5!墽梫j^gÛy/ۚmU<9UmמW{+mVmWsգq2yv -.yy=[nhWmi׫bW!)nxVܽzh ws]{sպj{mtz5nj+U+S\K9 -NTb=Z$#VHEzsb~Z^7lW[c^.O/T]z^]V2ozEZkhW'5Xu7ZמW7<q\vߕMvXsգ];mj=[pV=^ks{kа榽5U=Z7uEp:u^z\yѮU]_ǛW9tÔP -'+k mNnwzX=ZRkVhybm9b'=[NzXd<1[/V4ЯTszȣ1Ӟ㚯X$ jHZ@ly!so墽4R}{kjƚ3 =qڭ,dtR:J@[ƺRG7#EkNM˞ֹO,LE:ŋ.mreZd5a5m0f D;e6+D6OώӬr~]IO,Y_M^$[sKՓ1L=$u'p/O(7I Ǿw(En0^7YCp/ؒ;|8٭W'm~:?ʊ@yh"=8U5M$[K`.n&8yd0D+7SߟsZk{iGʟT b4>ר4ʕyhAd5CS|?SVZ﮿G9ahT^k49J8g*Y+VM ؁)\srvX->텉_4*O; D;.#k~ݼ5c=GQ#܋Zq0R&"=+`5TcxUX1-NqS}<ؑ[ n2fvQq۾Gsdoɼ_|.=5EN:jT1G []>h -٬<с;{n$9Mjk>-T]@7 I`(,+{oˏT Ķo`H -wT>Qmە:+E 2]]NO^Ttr4fܑ=M7n%ZǕ­(߳#nO5[wu5p;&ǛUIm<9VlNB^^ɿ-&<h֢j0{*4 -ƾr&*d8:v'sA1)"mmCʓ[LjRELm{?W,5E`+>crxE7X Qm⒞1u9R"M&=9eŃΗ F4j0Z5icE(5 - \s׫eVT7)[۞W+˃U\P9vFz sMW$ƻ+~z5l!Nz]W~R+s]5V(hKsՠkjUߞW*j¼Ѯه6+U ƽ\½\@7^[[]~j5٭W!yV"s]ժslWW71VdkG55p֫'O4خt9P*oU.Mb[nM4UK[FGm@?ydJb<׶L5;\1Iey.+iDǒ,Mӹ«QR+j1=\*jEKd41,VicpF+f O(U[+=f M)ӶmFI,f1Bٗ7ER41\4ccζ<bh!P.\؁ƀrbM&?GˑA5Ŏ$ ەƷYMV >6GM8QH6Mn)(f@ -4O+87̣N;sx֌S%P吳| 9`MhÅ׵;.Mn$:}\բsP7n`Sʓ[S\7kXUTmӚziFkw"ֵ5u Ekߕ5[k =鬘`)WP]#iw<81M+(nVfDT00klOAMMnu怫Z8go.i1J -8&[)㚫Nn_6ioLH6'O5XR)UT :$\_,vVt\AXrEXue{{yLS Pgsn91Zy |HhmK3D ƌM\ld9P)cN4{yN=G&vS{h>1rPdvy:Zu>oE"06^#,9rjk 9dMG=[sUCYPu 5m~lW.j\׷7Tk*ysMw^z+z]Z45`+/WO=_Wnn^W~Zb\_kUnZ\XߚW)j^YH]ӞEq7[ U$'Wl»V5V<x׹jxWW% -qbG7[Õ5j9W偭߷4j{UJ}W(+4EnyWs·X{rպsb\zqߔs2yW5b9Ѯۛsը=V+s/=Z]yY9Zׁ=sC -W75'M-5MjnD;;jT2cNڨ{պVP J5ض@"ڎ߯~jkQPr8QJ=ߏ< xLtg˄,U755$܁U%^\ U@U_+))7x#x -h~>"3NX}=M6a58»e6Ǐw4qX1 -Y6llnxW n#%EsSDnF4\G$49H½\*מ*&[ViK=R+tɋ#s{v+{i\5 }sDVX%t[pkЫij E{ZXsjE:aK0V?9U& 4ʙ ? +S\f%U[v/+{k_yR^g,fÿnxڑSkPNlWJ7]Tי eb4TՖc5O ~&O *n#HUk7Zܻ d>S{nWWPAbN=U搴֙Z:ey~nzjNX\Z2mڪ.@& kf)#vm/yZ0q%bL6yM,ii -ۿ9Q^ܽLd[_@{ ~PkmrqB -s`׈e{UO{ڞlj`js[Ne)AvL U#[aTMoz+K33 ްrTXT`y_KSߞwMKpP$,'iV۞TS!8͵׏ESm`fH$ >LW5Z(^kS^_%mI_["jU4R:-MlvM-߿, z$n|yTjMJ[M9mSNTx7muVM"n - &1L^K-U;M(-&$ՍO:Yٙ>Zx[P}u.+E5k[TIM$R5vʓ[+ SY ߚ*iL$yj@הV5<.ٞ?og. -A6=4xcO\rEz,^tdSa'BݹqVҙ#Z8P)ַls/QNQ(a}]sUL=(4Vtk˖怎ZY=[onz5wUϞ]~zYgef[[[͓^t"SE :7#ǿq4rLxӖkT64R>nmnⷷ}>;r<+DS^ S JRA$# ihdkH7 sQVcXum5>')^MnPIn0" Oب"i zo%.K؛w7{ʙ -B;倪X$Ӑ魑J<6a]~7knߩZ㙩pw QI:} O5Xvx\=ܤ^T[e`X _Kx*kzk&'m=ˆ' 7*-^ Xo<Z*女n&y$LVUn=>􍕲 0MTZO5Px׉\/,wܬUf0L)IܼUI2S\'qN4xF[ xw -8D%H]w mc~^&p`H#hsBz-^j7?,4?k)Qa(E~Pj}&L} 6rUͅ0xՀKǗ\ -}h[SUĪ 6Жlk?"cyahRo&;GDZPHՋ!*Q?O75vi:;׶2))ሠ8@/O MWSzv̉Wݷ}eq]cn};)#n!3$kmOȡo|l) -&t5G,$WT]^Vk2^&|O=xɎd,&#E>͸6˦EKiNk{+G{l iO%1hVIʼSΪqGMw'*MDEDo } / -Hc=^4U4,5ni%pv܋6DUEG>k+-Ut%%ǿ4Mm"b= 炫zkU^=Ws*llMlaQ1ff+C -8q}hةbvj+=>?-3DZs^&Qn^)J@! O/VN/Og5VsK=aDUF4S[=mU@6[&)C`Un,?Ú+c'::`Nu8dS\)mrHrZi֛Ƞ mSV -dFРp"IO1֫,cW%79s^nVNz\Ԃ9qzVsu=Zrk(6UM*cٍ'y5hX$"b hַ7WW f7M<{mMsI(,E؁sdMzi排*65(Uq p/UTR;vhv> i^61 &d/{7y@^)„S&7<Mo(Xf;|8[kۿ/5XLe`$2acrM9` Vv)0pr4?.65pb1iĊum߿.WUI{`Ѵq/Ǟ)vr3|F6UI6gȨjk6 z;M+)$@e4))q}?_2En(e9Zj-MTE!<ՅdN"cq{yԌR$, V8T -l -eF[`SSB#hm3 Xn63N K:.H\A~<ƬE&>A)B䮶ːjaQHnܡ¶+ԡS7o5e U7>?͊T,)ak{ӷ=ש޳,>IUV6` {IJZ6Z鯰O6k™& k+Ӗ8Ub\%ۍM kF*2lu1DZ핸xRȡvӞI;+ - Bu6A;jAR><4Hm6Qx9SqQ*I~ÿI¨I5*y1Or&PǙ_R|~VYhc|ByjJTg -Rfp)GO gj鬏-4ch$֫=. ea媴-OڞzN4j*``@7 -~tvuS#v<p"4=LǕW4jϷ=^mW*UJʃNz\מ+<حWg^n+ rYb:f+/%{sq^\zV^z\=^s=^suU-V)5^kչ7^&~j+Q^"㞯l^nMj>^sժuWzWz~z]<׫yWkVۏ75O5Z5nz7Uu+ݹv[½\͚w۔ׁ=^o#W%;w"mVk{z^-nz]E{W{W W˩kU˷=[)z Q\S~zSZ陗Ǟku8W=[5΂hWHIsvڱ窦Mqv6lV+yV)ŜߞExsb575aʓUw7{5k5^56U)#5pzkӛtuyyW禪q -zC*~=^[5׫6m5\KXsmxW o͜+ku7UiVjXՉbK Pi]8: )#(Q=m4"ZJ1]CwTƺ_RwdUdĚ+fYdInC{lm4 d[ԃߎTU9aak\)0n*DB-qT]7M~xU8];Hk[{G=kU(mL6(А=-ƴub:+ScEcMxt -FMp6_=̈́4BF;RQi\V,%tEJ.='+dLXcÿNgHU&[ȘRlt_NXMP--5J4;ܝooߗjW$0[1sߗƛS[~xV#G@[^ZkQNT8kž,E6 fAԼ>zB_ybS6%,.J#g455r*0_9wz:ӈYXm~6抚goʥU))*CZJm|wQk7FQ%5.-o={ -V`ٱu%BmsQlN)|`n{iqgmHqP9b&f\IssA^T_s~7k@P{h+˜rdmf#I42@|OId%|Þ5ꏄam%~G4M\VJB-"Onhr/ws½4G>XURJ -fýRkbC= [@I R,oo++؏<֪V*ܢq-wSܟ傺NT2b(F椚V*8hw=7&7 -_pk_[&1As۞׫[iUVX7p><$րE6R4oUU h wO+V-1gMo˿+Ƽz5a:?m*#m BP1(FZ~M5(RT{vEX̗,ǚQ*ˁֆ4ՑympKÖTX牭EH(0gFx|.'^@QKE` L%25R "75ʭ~j+uMrW -d^z5Meu@_@-WܰWwkyJsDUe4*Wh|9[|zWksu~j^jkn^#{WwyVnkoUkV4zkHu]Vk-Uz~z5S]suW^`VZq 5"z G*5YaN,Hĩ:Xx{>SM^j$X*h{߷8R 9I,0HX/EX1֌E㶶6SF)<[Z?yNZ\"(ͭƼעq~uceRӔq8i#v"nCK¨`?m$!*̃Fqחc\.{}<I[qo]j+/<eR`TjYLv*,K?.*ٮ7С_׍:.hV&lm~;AS$bY"Zw7|·]͟p.أŻ/}U4Wp:$ -o|{sD -³[,GsXV&}%DRG&mBq?籡N }Pa19AcP޸UOX =_oPMdzTw7ojTuMzk5i5Xkz hN^\3-VL;hƛ1B%g[tӗ&){ĒGƷHlb(ߚ4W:׻@n\ -ƣ0o5 I sƼ)›1H7[CۚSżA:r[&ԨB ykmBhi}kms%זʝC+)'Ed[kStwm@FEpef([CkqU%*ZeS~jYW$X̓фtdN5Q-QVn [&5Ւ/vS<YƚCY>[4ͅ䊊l#oǚ$V1~TR>;^ݹE&qΚIժoˤ6\!Ssc(Of~m`xJ\HncMnDTl D+3ǖ)ZgL& rH!l9 -ҍ6e,t4XUM{jlijVk"bNgon[Hjj5 jMZ&%ʯ;*jTxXoIAx{5ӛ+SI[+OR[wxEJYNnmy^|x.Nmrk5ӣHטL#/)Pe)gj>"Urt' -Ƣ ) yx}K`Lߗ 1<z6p>fEU5XHAN$"}ma9 -^0a w C o*N"K)66qQR `]<~=aLcm6?ѯoDSC+@E7 isr2Soon^MuUP -(嬞50^,1),Nxv$viq9j|yX;kQEZkNcI7AIQcnf qziSE0AB+VjL..3{;Xתe>\T$b~njT9Z2õwkQ\mc=n+U?*%o7^Q 5h!FKVDưU~o.+ƣJҵE58 -M"$q^(TT">%e{~.oeF$mÏLR#}kuF׫$fj)ydr ~nY#u *kFny5뗯^x =ZUc\ƜPH4kՓW{VמW`ߞW{Wv7[|yH戭W{uwVպ U)+nzO=Vp8Ok66*5!EM#Țœ -L`1у0jomp0F/c~{T -\IRnێّ^̴4x| w;rHƵw=\skLUpGMaP}iƲN Ob7jhV17c^CZ!}ԟe`ޞi:ˇ4L/5~DuU;٠՘zWFAMOӉR )KxRI,=J*e5T cb<|y k˖PU~yk`V:%+>_0ߤK_8FthbH<5+S8uzUd+##n_l&4I\>:&Q8 |9y)U)8cKCE9#4ݯo8X^x݇**ƛlЪ#+}<Յ6er;)B-t|/˃]/P͉$Q?StE})!˧ -CwK[oB$P=Q[ լ@Mt^8 { IJak:j=DF_LtO -E7ջ6z+XSf1`hS}$[8֪UXTZ&) oPI妽0 9a]]l#R.Os:rW>T`ҁ{x[>ޠV$Ԝ3(SUJUv&_/E{M;e!Kx^Rkq1VEKLE,u}MN+mv^O5L2!T˂**$TܒnT2 9uNjjQ!v]װ&q*Sp^:=)q[t7碵LهuRn:}5avӿjՑf?U@ vw̓^j#X4kbbi'!T1ߧNVqLU%@XsU[*?MSsDׅ5ޒ"[M;jqT|2,5CF& á{jn1F,fR9ST-T#)QEÕ4v1ySyw kȍpfɗBrբU;TU2½Q$ tӚ5}STOE=>o?TV%Tmn +f""0G,׹Uʂj9"$s·X'_fWbB,yT8d*[G媕/ SHvQa~zN8R,AO -S;WSӷ̀+UPAml~A,"R 5J9bwh.ZUI#Zx'm_>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 540 720]>> -stream -xOK1 lL'.@ $݂lEJAe^޼ @AyԶ|_s%4"|ō:>^bp"0X4>a N=>eEro՘m1{EZHjUV%,ڀ*9ɚݞ'lq1 k|^͏8-݂ɋe5}Ô6ɭ[gz}:V*zxendstream -endobj - -18179 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 540 720]>> -stream -xe] -@ s5 }-@*XCk]D @-SZ'eudlڳEJYMBv?/] ?-?{j#㜉aMP#7&ߕh8c,endstream -endobj - -18180 0 obj -<> -stream -Adobed  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - B  -  - o!1AQ"aq2 #BR3$bC4% -rS&cD5Ts6'E7F򃓣dU()8GHVe*9:IJWXYZftugvwhijxyzi!1AQa"q2#BR 3br$’Csc%4S5&DTdEU' -()*6789:FGHIJVWXYZefghijtuvwxyz ?N (^z^z^&׫zWzWzz O7[=ZsU{^ܩ딪W^7Uf55#Vכ5׹{W{׫qV;rk\u]jk/nz^z^ -su\ZnnY9C^CW=^s=^s=V +D"ysj =^cNz^ ysz^=^s=^HVɷ4+Ƹ_׹4kպ֍xIaW3sժ Mr9`j¹ 9S[¸znӛW_o6+іz1μXW\Z( W`G-VXVto4k@*DjMusDw0s'I4S3uppF[ESFX)NBƥ -G,k [&(@1њ FVx)g̽+`H4(lk%XW 2g={?l٭۽xO] YU.a1RM4v4hz>3MDCMXƠhU{m/N\:Z});h;6i@ i:kƳX=4bGU$ ׅLp<}Vᕹ61#1\1< 6ԬMV'MמAMY+pj,UHeJD7RǨMG%N}V1SaX)zA%xߧia RiA+1gzsFb"OߧS1[DӯY;FQ֠S((m}G^8Q]bלXo 8śUN"f>a zi2yeƻ%)3u2)%.gj{b c^Z*"h2JMP19:V%@/9J5%@=Q)6RoD ُ~*>Ev!Tm"SU#w{ٜ)3ъ0+xF\p-eӸc -?f,IWrիUH\iXn-@Zn~8?"|A)+WF>]ۊntxM6؄\[*"<Z>E.O],Vg]ͨ8*4enQs 4T1UThB7'a nzbĬ @ӉUѾR~4nqwxˀDE5'3moc)zḚVo>;EEBi|t )cGm"q* -%bA`=ݛ#q4f:5pףo*|MUnw_ugbt,'n)N5U4'-xi X^ P1'~^U@I]LT:Ⱦ{_FL)_;Z*sibRf7^5Ǜ\j%Vɮ\jWܰ?G ѥaUTZN\USF30릝ljHUKx#Jj ]'~P!YMG D5+U*)^& (C;z4ʴYqAI4.;sEsV>Wά5VbTO$$. :6 -"P5>=i Q<7k AW:É?*u1+*A%n^h٫%atZ/X2t%}GÖJM=t2 C a |»XiCp3 <m{G !`*(fʲKoC;J:P(xevqĖ@PYm udy N3JT` -rNaޭQ7k{XPͅ(.RTRSR44qJZLRaqӡ(>TٲC~yb}Lؠҷ漎^*vIj:_<򧉴/ZYMWWI'zr1OnTʉU6>4'nHǮEi4_m ߢ?@ׅNh7̀NgpFEnZGL&oZ4Q"bL"6禴j]LxЦQ &NvUGVԬ-M 1~FUAT鱎fJl)@ Ts.gr4g2mr L*$G# nnyd `liȢ %l(0pA 駇~mSZhptyȐw&pҟě,ˌ):Zŗ]?gSD鐿j|ф%OQdR)`p,=Y"Ff.iZi RFĿ -y#eGlQƖܹaEYGip*vKF)vm4s 50Tf%o4+QUigO~mGqZ3\v&UApіh(_Q0ƊzT !PV%P}y{v''z?6EfJIT(q~~k(! G5:/1IM$¹YAo ñ*_8oy YOvA˜xz#j9^dSqwLF@?C~˄RWS}D@HKG -E|=.L+ -,#y["=+-d%tL<w'˸RkZhz=0w< m,t搡5˙\K(Z)6#-6]E[#/b3 悡@t‹ -'79Il-bnoVڼe'&DЏ -ѣ+~P*uh+1VX[$м&_TɺQZ Hz"jM$y2;)߇, -)L00h0c{{ۄNM+M#t*b/ʆ6:(rBN)!I\fBE9A|4.w i(k%͝1U2iV rfeN3>&3/JWt٦ֹKGMB/<  +_S=Rg,/ -]$ __m .dބCO@"`Ul`X*mi?VBFVcN ڢi=|T4 -N' -8,j^z^^z^8+`$Gfz1_b0(1(i9-}cM<m8ѢP͗rFD)rX(LP}oi+bl@߻.4BJ=W~$QBpЉERI\`ʼnctM5@|*  76>$pղLӇ.ÜTHFĭe ܶhHÊI+/L7:ݴ'嵜(#'"~8.H3%xǨ~SC ٴr,N]4~n̄ƴ&[[F& ZZk7;tEW߮~Bo[(Nu -'u &~=< -pSD+StT9\ kF6b>`u+TvFA꾳؁toՔwe#Nu*C_R]#KsY6m~#p -p[qM/]bQzHw).9g R6J0QMzOWJdcM?m48 ~Et+N4TB =gsf+O4uS'ޛ:uKmBOm<-u-Ct(LI Y#^0)& *TgRT>?ÍjKNQr ɠ@CoO%bIZ .*s}P\<)nUJ$񂩥 DPybT3P~x_zfh2֋:eO~ K14: ^2;-?N| #SP=1⻣2/ mC -)Pl{cU^P* ǡ:xI+|xET_nU\\U"M3Tu,$pV:NGF3 5;ޚKu VT - QţxRV8M 3ߔ"Z _U \v|| Z*w0m6WL4!uo͌TW%AyҏŌ. U\PG#t!f{}%2`Q5)IQQ|~8Šx{)Tz<~Ta?)-)p$,Xзӟ.7T]f"MJ攊D6Mm&ǡLMut=2jX8S+2_|j.i L`]42F6ZO{$pD7 -=tB]&oXDڴXcSƖ}^&x[#a^m0vvXb>8FU`}w"i Qmt*-c~7MtB -z#@:T6܋7 zYX=:Ş -Δ0R}y $Ȋ+s1)䡍  ۔)3Z '.jbMkxE;ӷiD1 (%Bpָupf)(t{מH1 OQnڈ Lү2M|:v{4aB[c_&M{Sj+𚑴Hr*v\1iC˞AV(_%g Q[]쉥Vk_ǠܧZZxC1kuFM ~e%EE%|n8,m6DUH 7đ-> om&fYۦپ&j4? )$P%LGajTH"aZn0H)*X(q(U\2U m!HR4XtÏjbj)cı#N+=h N^_wf<4hsM -R(XDcshu -[Ez<ԟg.n̮97P3OThqbFVF"p,dQ*?P8OA&PTJjQ]u,PPE"%ǁi w.h&e0u -Òm@S^wO'k2% G6#V4<~yVHH8P*4~*?[e*lG(Ŭ۩R) W:L ^q{q.:)GlOn~0yPGTY%MB?3e )Bh~)&ZħOh! -%=z^z]b׫z]yٮJMzkUtzz^z^_mlWa7z\W=^s=^_Wk'=^`ߞLyp&xW nsuj~hѮ!ly[euժ>nr]ss+XsBQQWsu*kSXS]M. -ۛ5kl\j c~z5Pl4EZ,jjA',00v"\I.'NB*|X{pv_,SKVn,xњRUǐtcZU,`jSD>_`c7᝚M%I?IJ`}B"ADYTP3ye)rCT6x8dAExe3)HLJH\/wƙXxpVN4pyeFde*;@ rp ~K~%b PHG~qUCb? -;GVWDoӏGTp-?UEWxcMGfΎHxXl+mQI+3QI1иC@)rvYz9LPY7,/LV>ITSE'z;5LR(t {?.+ -6a)>ONk!Ta$8ֆ}(Q.M!$btx P =HOXI$Oֆ(SNEj 4iU%R4d9kY>q -nDRMSނuX=.mլ7Xl;T4LM6) *[V-mJE/7 iA#-~(YhNPdpҋBje.!wvUR#ԵTi vim˝Jf"Β ?;~\e Fׅs96!+5XYK2Rb4Ph>RKY5-OГ48yީLdƪk"&Rl*V {Lg^RhTy5M"=vrEԟZ8_gP1᳛?Dpc"襦W1rEWImAv~BGvM 9?ݧmDqI& \ ifj·+# -5HH4\:ap葯xn\ИF4j u/[pF oXm p,QaE?%?QAZJvĂ!QNEG#odbq3,HMh/ni-xՈ[3WU8XE‹{{[-GMxi1.5Ҥv`,n^Y-} z"•*~pٙ8i;ZWHq6U)~4Gv(~y icU c{knnZ'MJi'&+Rb MP[MRG(n -eT,8pX1XMx4P OاM@x}U5cTV2xTVOėNG(`36"c*pT@‹M 5lSQ,}~ r:A+JHFuUv'M;SC1ܯ.Mn!%4CvȣWRs3bT9*Y`%7fgk۰ 9pFE|fOUQ$Ys?&}%,B/R;U4uVC Z:upnRIFq@c ۿS`hsQ -X<{{mPۚBVhf^qQIM -o}kaMGO7d 璪,/) We{XX֕ {@$5t-ETOtPb/᧕qWQwG\jE'@I mdžSlĘIܵ"cR#3xb\X=4Ә}g|):ǎBX9+;wRy|IG^f!*hK,P4,~~s\qf*'ڐA…h?×_MWBYc ݏKҒ'#o)mxpŰtM38RzY7K-J00} xNcJAGӼl*zB.-{R,GŬMHBPs sRImHM?)8P5ĘWQ}c2'=>f.[nGe+JR F?RcYY~$ŒqFcGS,찊p<ڴFP)1?Οܞ .שhY먟))(,(y /&( o)3VI缓VFn1 5Po*M+%0(N"vnOWm05K\5ݾIKg׊*HH Z40 -C߯h|:Pc`q㬐*U~dLI8`krJN^J7LE7Bv⹢\W>z^nTrT"~V^:s7^s U=^s=^s杹^1=^uU=^su756kV^z^=^s杹wWzEjk^V^z^׫دVK{Wc6+ϗWzs=^sKss^cQ͊{WiWsF\JsSq׫j^z^lWܵl rz=^{W%mz yzoW25갮V9^7[rC]ܠU;z׼z\ժz^csVÕ5TG<+Ƣyjw<5k6WÞWsƭ^\j5VkzV,\ -Wo.*£>׎YFMFW%p.FM%yQNpd,=訴X\PIߌxIN!48zzG|;p!z{"VhҙMPoD]hM"s]|dvP)3 -5셌!2//h.%iixphVl=medF̭n, "+*A^ߚ0kdQ]Ν:8L}sx  -)?@{hX\:p<2>?^`6STto|>G'ëw -#qIs7CHYvݻ8.dI *=t2WOheKpMLٛ>J䕧EEn:ҡ'RpO}8ljN`6O*Ԩ<)m]($"h-{j8R -:)YHhG짒™/'3z s-:zcoxN^ug)@"+)t/߁ʕGh.HiL(GCw놏Q=hz(FCc)Qۀm"+6њA%ʩׂ<M-{n &Qf*F1%̕)$%կϝRBFctaq#RN~q`:qB'G.p<ƥ.}ֽ -R_F[Nj,uPn|NuωbhL*XwrO&&R(p -6gSSIU:vDo«e:@ >f1z\QB_SO1瞟bQK/NJjǵ]_DQ]'Y5t/Hޤ]Wܞ] kLpb GU:u:~\0)) -6Ojͩw 25RJvQi^Q=.iXh&p4Qr8}GLU8s=pڣe7n&sOpȥ4P/#"Y=hҔM^D_!6gf$C]z̙ O_G}A o*bmcÁms4WJuFSCT5l<Ӆ64\};+xҞqmVݹTMmJRO@jᲃ[J(5;"q(U$ !UOooIM>[G 3" \ !XPNNe՞Fq6UHOx'ԯJryëibCAAO5l8|Ŧ@}0LhVCS:yO$KË>LX] $1K<*R;)芙~qi`nt -v [JT}9 Qz`omSD=:~}ROZjq0!w"YKqRtzO3u3&XsWfpsmp{i:A5U$8!pJh_~:Òb -Pu A"hIahd*w,l{| tkZҡL=?Լ;bx`,;G[Ynh|}FbY*7Q -tE'tMNщjU sSD`xx-N_IȘ 0IEYl - iԺ*xV*xб*f.aWE:+xSȤc,e*LSJQ? o@PzJMe{h+\M:W7Ӿ~ɘ- ,qDtr?y{ $UXүR=Ex-,up!@w$@:oZn!eknGSZiOU*uVcjF߲xP\x=~YЅ/PsuuTI;* -A(t"4m+J"(:^Rvh8H;i8Y͙ q8E™ -O%6v7G!ym}!Grj6MAKf؅MLTL*jkmrMW2:ImF>TtZL擶HcaM$y!g"4IZބM]Zfj* X:㒪 ^i0lW(@s^>;]S9UJ6ᥦؤ/tgذQ#Sc6<$)Qs2uAA, 0&vxLPәe*E"X}ZljҔhI˲Ӯ!Q-K25@@G<) A~#9c7hexkQ$i为OQ2.+2kFk$*Q]zC•((ٯ \{ SiT!.8S EO&&'VxZQOhWOA^h5Klv,y -Y}'~9\bXI".&6ZU"SG%4r@U@?})UlD.^BKu;| 4RJ@3bYt*(-*G /~T+ut"I)-'Df½(>z^?~RѢ&PHzi!(_0c Ѱ%5@-53=4Fɡr;KN%&t*JdÅi.6tų  &[㌲5l)xRf| ,p3;QbM=6q""H^YHDR-67m2iLUzO8V%@65 ]` <)"tҚÉ-ɒ XE$"GLzi E#z$5RWԁ<Π$vQ{$-M8Pbdr6}&U%:< \ '8oU(iqygsRG#)}}wuOL"rf7u{9jW /:g܎Yu2Hbb]:q> lIKGⱚ?[&5/oRLmV P1|<]$kuUnŪi*d(7v5MTa9 ^:V3BVpJNAG#fJES`WME8 R8 ON,7b,$n?F_Gn -Cɖ<>')4'Ne? ɢ IL#f -*}~Rn82:V!3Qj -^4d-H3{6 ZH؄g1:qj<"6!#yR;L3 `:]ZI-dp={wZfsI†nrUD}D -& ׯfJ>며V*T -nPCa˻S w -+Ua8S[q+poNڅl <`\$I#BV]=c 2_#B v4`~LU;UԪcp@coˊ1Im 偸ᄍ8׽uR/uT۷qJ 4aUr22+:R3OE+'<Ė@,^@TmE-B9ZYqڢӼ(k/%əkި}=-o X$ -\z[O8Q~|NU n}[$xF?W)"(r)צ(@Vʆ4p&1NP!'K4clIMN,@gB8Ep6QIߞ^+ܵ{mrS-5֩#ui^Zj\ߚ5]U6Ҷl]U5,En+Uz^z^mW7qlWٯV>Z\sʭyJur=[+_W%U{uLyZ51y"r=^r׫z͊W5 j恊1]mӖ֫nz]=^ɹ׫Û+76MS^Zv^|5^s=^snkz^WzWzݯ=^=^yv~j^ҋƭ5{=^L/Ww窻+mU tz\=V»#{+㚯TboJ UŚl35鮙r֫XV6Z*XMA}9 -UbXKn^f3r[UuaSn ,IRhInX|RW?fyrS+wNru*K)z=ˆAьc2@@T4+kZ=' -e QQ{7.6uUiaiL{R~y-m_2nȯI6Fx{۞Z^JB14_M]%o {8[r8'֓^:7cW}Eo~b8l6~UDj:H!hd ^AYP 2 ?~]|D*ӷݻ*Q8pmVLZD(PPVnF' -=@1h8mJh VV͔{Ve')BBʓ4oAkm]ɮTjI;@~ [{S>Ӹ!wrĒ{iǭM\\baJȠ{'@E8ʅo䪚4AIo2T >[xQm|o" HIF)xDKJX51 <{qox\FF_? ̻GO@+,lֵǔ}8\a+]bw합?ÚANΚV5ai1puw'#BTnby̧e -=^+ShYJJbe6%p@ƐEÉb)_o晏v4$Lh{>f 5E$1,EѹXOII5Z8cEY \'K@Y8P{Tk3f\4u){~\Qavp6Tco:I)8RE 6QuJ8fghiy'Jt +^^i𗬂T.v ǚL\2N9&xjv1m&<\Ɂ42hF9Ԏ+$S)#Oqn@KKҾRΑmr/fvׄV>/S`ƚ6JT07HÀ @*>u#ѣ'Q2\}NJTJʋ`qub bl~ -^FFwt,qMsI&<0T&m Q):?czI%-B< -๥L -!u23Fm5Zte!14SbB6a&zjaChĂ/[j:qT˔[IXarj -+0&^7҃k"x5e -L9&MbXĠ%bDmzī0WDvg&+ }IsWS0 Բ1)k kō( -qBRh0HSKSU,T DԒ<i٢1["juv qN -LA ňG`,?`#PLՓuGk8JQL U^zkay8Е# -=E6[İ:unJPMm8ktIJy2BibgxUVF%m:pX6#CiM'|=ꮣuYFHg;/߿%RhtE -]-"ys;T>bNh$rצ,:$r-v&O@˹/bc{47)8-(My…JS԰V4)hzIt2m ͭq z'R* ˺M1#OhAQ&m[ME%i6-vᰘUH4mB M1E.\F ۼM*>Py,Qɧ$j vu{9+z':oMNQNu3*ҦR .Ql4/ *f2H|`/p;|8MLmrj1; ц&Jȁ("7hBm7^!c!7pE=8MQIc%[{o~3G {`3߃AO(]nI=P>8QPһjM HUfyfkAMOGy|:ȳ9]u6 PIa*V6iN`#H,O8K\U(aؤ_<[1B~y}]T,L3Fı E.d~l4/ev^Pan@袙z:qzȜ<KLMC> A.IMxT¼CΌ0Þ\ 2 ?7FH4豮A8 pt֖%Tt- V)alo)ZZUDWtރť3X|Xv =RuE:*BusnG7_!hٵ+Q(UU@FԢ&(z3c=;vo6o߱+=C\'ET9vXX4X4 -WLџv{"ރH|딩j!2O6EOB=)zGO! nFh8ԀҰcne.h#mQK6'6|#8_J2Luj^L4> P\X",h[F:;p>cJN_Ch0֛͎z{8ZY3]$GIYJ$KX{+l#ʁKw|L=Ie<ݵD$Ӛ))Iь:rd#I=u~ҍXk}%JJ&h5cf) TUX[PI+j28WbNDžμ GDqBF:kp -8 5=S~J.'QMR[>NNTݭs\UBfc`bnrt.WAs7PcʌIq -C*} z$窌G$)xƒOYOOU;I;NJ -VYCy3$a{}fQ~!XV \6&hCnp V<Bo|"԰MNN_-N4Brم ֣5┘U6(e췔:Y$a*xnQ PQĀi [WcLKai>m:p9N릯Y M?ehAWuL/uDi%gUp͔r+pO~GvG'qıf%:ך(1(sCaJ$n9sNz\{O[azSxsUzzWۛWz^z^߇=[{tq+,kf)$W~j]-[ϕW7U5E[0u;uWzˊ{W7^i۔Uzk7^Hfsժzs=^խ̓^Kz^Ր^nxW7]5^sU{{&+ܭn+ sWzWzWsvح=^~j yΜhהjnz5zM{汻z\ _W[*\^jU`k MUG^n\X[V9w=^勞n*^JVCWu Xrjⅇ=[Ly^r,ej-&jsus3\ {h$ifʬe͗on:HDzKXm)'UvˑciPZH0O3P.u <[%$Q}̌d}\u5",Fȉ_8qčjN&ޑz5q(* >8%)zUCT[۩B~hIu'NλAН;q>Fi6 Nm6( - mb {LtSE8Q~GwvwQ/,DБ -K1%V{NҽPmuʇ:g" S"/{\\Ϗ!iVnHsNlC`?lrh=͵%68FM^ȩoHmLI,<('9֖6RsO.[hYbbUD`C.WŇZ]"jh6r}Z -)ȋSL<ӄk4,gt 6fhWE $yr`lG4,k͞sԬ(f'(￀4CI3X<%B5VYay2FwpKn/4HTT=iQŦ&⫵Ji(D5=Edža!7coN|^<+7JX_Db(\'U1,o(e6kتÕ4Qňؤ3`'X5QS׫<vԀqu$Iv[3b)#Rv?4RNgjz)m粏)ux$(X ->Y$UL3 Ua";׽K櫟%g<|s -u4KT>afqQ %Ta~"Xv!SGGp6-!mOvyN5/qFs& -wFxκm)&LQ8glf+K-Ov? -2tD0bQL4V,m2Y Sޑr*rb m>$E%P;lkJ4\1]i(NYiPj+3" kuA$Ufj enзGzixdQ5sLJ9bbo14JN?>"ijnV;jRF6Ʈ'Qڻ8*17ޑCZn(+ ynղpFCVEzX5$ΟO $2:?G'h#hAJA|ƌYs-'\P;iؠ.e=IGV-&h^%˶ -T>mL7(JyDmA♚,}aeLH={>?P)dQPFPU`8 R̚6~4Wfڑ1?@v M6 %g3ejdr<&%5.UiWݘ@h4REde_m73DME+{#}\œN} ӫxGALłDcF&|>Ea omxTaS-ґD,dsY'?~7l -H$hXh1ZwU-_N ?n*Zx+D_=fEJWAe!jJAWh"P~ - -@zoқ=sEm*גAFgr3'.glLJ,bo{Ccd5^гytrYv{,O -QU/Lxb*Qox~ QcA7IsRЪnxJpGNo=0+z<4-#fγU$T1CaQ'miI_@q3Xh9;;*n6ЕK2K!;"TjZӌM[E^H;4[1IJV -h`[5gQIP$a*ǿ/hHcbb{_^RI_BS@r)od4Hr7Kq 3or/ xӪWV].vh,>&@MT_S:.sa,o>'I$PHY԰͋Th. ~[h f|&t< X, )KӼ;B$2{q5tVL%veuzPsm&;WYE,u$؟a& 4QI>U@ BX|8 --\ˍSQfd@Gn'K53W j5["A |6.p*"*cU]!7V:Ϳ.-M'&,J~ԧ'}ЫÆɢP婪cң/S}b>Kp@V셜k)+'|{qmOt -erTDm%]9k 3FuO?L*ֳQpq,rxR4bʵ-sczF>`8Tu뛰jQZa۔HX0hJ7zMI&*smk0xZt:N4|lcHq콈ƩԈ# \ ͘q -S6:]Bb37!6;*6sAx 5O7v5Vaƭ9pE?#e| १ET~g TG jFYtڬ+I;*P8"YIPXZRH AQ5~!χ[ -=98lU@7pVGIƟf10y {IfQ8`&Fb֎bH\p0E*48(Z>jq_S\*M d kǁw55hR 4\zp¡b,S,LmRz]M.۩woTnإBߨe? G,r ؄E1F~/'l5+K. BE˹F& f#6OqZRdR4 h"TO3e6^KGźU3v| 0AnAqQ'efnƒaTݬC^J6)=4*J4n -!}ZL3d**e؃AE tQ]Ph,9&| u1Ɯ)ulƬ6͔jX28xBD:6?»%IObNUiAYUDi F5Ɨm905EҪ|Bb}? 8m6XҦ -pV8QUPx;p6LҪUQg(0Ȭ[#'Q.e_ƉQvŷ[GV*#ۆ"o~oUkH4m2w,-9UbiT<&*z3Bt\C$0GYtUB5nI>T㌅ -#41byR7;Yw(cE+`_A%?@3 -2 *m%Qez<;8nq[Xxyn})h{0h k@  z.$Hkhu.,]G 9-%ꓦji%{,ob_,U>~M*#%LSG6k&lzA4(p%U?-۱ݒ`|3cDSTE3D"džVhQ'G[^PUP| ν*#OMuWɽoEk\>JKDTHwfjy85#}(,~XqjY TNpޗ}ϋURKru(ShH{=;XD]ZfP K2^ m2~}Bd U"TSE2hh$PtGB1M*hgZz%H"`5U#C>ƛ2ios*U3)f'U䉭VOӶN?XҡF!Nr4%9P^57jaLê#gIn(r2]~\Q?IU7 hЀ)g8:t%5*ݤ'QM -lяDĐ ÷ - -fu -&z) =^$7^&zWzWyNz"^=Zٶ5VVWѯW{{WqsSVփ׈ sSZ5VyCU59[׹rV'ם׫mW5^s7^^omz{Wqrk=UWW=^sWfz禽\~Z]j~TWW 7妽^扯WZ{W{{vMZvuǞWW۞Wl۹u͊{nWz{spkh׹[Չ6XW/^}H׉5^%q/nV]s[+{+ wF9~"8e\a1zV#H;FvvЙ{&T:6+<^='R ISuӿΐƌ-[ߑ3L"g:8 sEOP;J)U6ۉtVՅzDH*Q;VO@UBߨ:$R'VRQԋ#TaUJuPGˏ:Xgä`)OQ{F־^} UQM"6+, ŻW" UVr ~ H0 IUL岀>& thBŮ5i-qYnyiE!Pk1? -|Jk%#hGY GQ*!/!U\IF鶹ۼxq24~If\Uu$q*[*S>74xr2N x06sE +"WmԑS!h‹t.Qyo1t̹|YRx&`Uq_k۸  -0Y"MeŤgX妕2ST΢<5i'<2cZ[mM9O]P%D" $DX}<Kt\s/8ȘSiVr/7׌734Ҏۊ471'ÇhNL:[~67q_wcMPi Ȩ"x,I0LjyI.<6w,>t-dE\O6QYM"mo )f\ѓ&UiJB8he();hjV,Gh] …¯%3]|j8\tRBRakt} oŖJd$uJ-"Pb#˄|xK+Rd'PNSr}韛nW&Kt%cxdr,OG ՀV̨PO9 --mV6Ѕ(Ms_= 0q§eYo TqT?J=h~%`˸anh@t P`(:ai& -BG)?͠LՈR1B.,Z^/_ -E1zk@z POH)FTIZWJu#ZdjF)"iCd;F&67V1xxm;mI- $PoNx_/Ӹ6iu/%HqG[U;\}g .i - s_U_p -4ޱbCeI0; v)_VI*pIYn7mfpe6s?m*=xDISme wFνR2֏XD.;uAsee , Z EFM_VuJf\eicfc`*eGՠM™'{ױv--Sj@Σ' ‚ adrokW.*#4R]|GW]5ƻ$@9!*ZFuC6XAo/0RE+i(M1Fǀ @"qhLUKSe5QH^K"#eªчTiI`ŏUbԭ64Rh)TpNUIK~\4(|KYPE䂇P lp99覻)8cZNW# -)@1&Q(mY8R([.NnᔳO"2_SbM'Hp(P=ռR5DG6!R+n,7|"/+0* DKC6^WzT䥆{B Mzp'JZfa }|>`@2M >䮊QIiT uAZEެz:^fUi6=Q}/Ɩ}}L!_˾;a;h?\Zy*OѠC'tyjF/).E>: ^Gq,&%m;xdɦT'>a?|A´4dΝbȱ)p(Z|HqN=~lIdY4KTюCn;E²sz榽]zIbWsu뚯W{^剭\sF5(=YW9WWۛdWR^z^=^*jeJ.qΣf:::]R>'WiEǏdY*pM>kjQ)q[(DG{ES8R<"$4)tK( bފaYMYQFW }Y?EФS`_Q2^SH?CC5]T]sZTrQr䝵EnuW el;i~T={nqU-v,Jk.xDž ŒuCiph*C#T: wI0jES-59nnRt'6(FzLDIT4D/~:SLcFIRYS1 {Nn&RH/]{ʹ+ņAUK<' 6-OIƭD/z _ĒӬ2Fy@j\G&f?A(;Kȕ1I TZ&*\R%"aGj1q[8OEC2|SmxAA(~ͺɞ墧+}_AxzI-ӭT7L }qe \/HЧj#)X$o -]`{ 顀Uy;K5[Q+-6Ӽ"nbϳv)u~: 3;,P!XA$-pU"1 cabyUp.c2cA66sX=|@^3aX"hʌ?yj«'u5u -yNe`4ׇvi# uqi^@$Lx1N1} [Qqҋa4.3T٧(lyNO+*@?ܓLdY)%b<9`Ц ۔ F.kb QÍ}JHƭz.d:32cBF~Nl ,͉ERxhHE%T(Ճ\⋋Fv&^: m%=..ɈjͼmԆtT -!@H}DmNxuDJLZD MNC -X iV.E3O os*Vp!(O0UOyֿoyRi5`(a@VC -RK>T&hQt&gJqH!V ek2iEk1 wʱ"53NM`XfDwJ}F4;¢9Jrԋ4$V6 )QRAw&pL2G -﯇ -DM -QBk` -H이#|Tv -f)k6OQSwUv5C(,1U T8Gcm:pgŲGQR n*\4ކ2M?HqOQ:sK5O : =t|q<]<ۘ33,XVT0JQ!S\lVҠERR5jg?8N/;(UDa4?rOm \}Ν3FaE[n߿0IYLPu1L&vsoʁBקQk+n8BK"*߰'nc 4_Sq|Z)jebJͧx.Bpiԣ-`X[Á+V~ -rOcuPꃪ-Q-"=6a߂NEW4_jO}y,F(i)3-OП'xJnLPg:x1dT3 N_4uL9a[ԁ7r|N!HѦtb;#oܦ -Qnk^ ^ 5qx7[5*Xd'e.o*Db\HDE?< H-ܤi{K"S&`xLZ~wS"%0xXp#)RJiĨG30"Ƿ afH11vJffۅ у @Œ9S&O(HO L(yю)GpH\or!Bne`m|&kΧ-,¨Y_i/axhT=Ou_ߡájt}. $ 5JJzYIbY3c.@$w-U#m;eQ;b-GǕXM@ElY&{k{5^`(]j1R^9)ZbI8;h&iCb~aYeuI6#A;*4I:9GO2*-@ -Y/Ոg%o2z#6(QG& , M afig ڶIzmeu6i`R(s+Q4(ˏS# v=U9riΔ$X)DЍь|bxDT$ -6 ЅҌrEYA#4mF{9\YV'/*h;v&HpjՑ;rkb/n{ztWǖ뚯Wvz&j+[WLoWWyZko^AѮ\j-[C^j^¯^c~TMt Z6ºѮۛ^\yEwVjVzNnժ5^r^ڛsu Zw灊s]~z]V⹃~z^XVv{q׍rזW|j!戚rkڛZ"\*kj^zWz^+ܵh׹^Enkʩ5zkujUfVǖW 瞚tO=]XUÚV;ⷲ7~z5Ǖc:j\_V7$s[+S]_ tHƱՂجn9hc-cVWn7yp-nn]o(j¸;U ĎlWsUiu\0>ިshH_j]RωG ÿn -$R(Z|2V6<6i歵i+|pui# m{ۂmigHݓ6%mKF6*C4B8X^TW&kwN1L?yyM+5tO*mHKI-a?BΩlZmA<)Otff pZO& -*d -b̀pUН1Gt _&0Dl;\;wJ朚Zsfyb5`}|6" ^跩Ηf9O>p!=47 }ɾ2Uv/+jGp*;קdPE+M,׍T{&ތvs&b9[}Z`H=7sӲSS}D;;|9uD)Jk9\F ؕ"ΚPER8w6 EjAc~pl#ˆďdn[<\M53asZv]ǷiCC`9\MQ5*'E= 䎦@MPՅq4`p.VT1@)J -xNUN^&=#{rOfvvsc*F<~w* PNʴ^c`=6tky}m $ހ*2KcQK4ZINp= mtʤ\TSƎg%ӹuR}jPWxr"M8 - =vzh{ѤHI:1? -R(&hDZ -H{-R@NM4u4Nuʕ2<@uwLp26 oF_ha@ŏM!: @Rl 38e QzMĠ6>aV<&X–$te%wB#olj1 ߆ԙR!EEB 8TP7#M군v`x7w`͙Z\wm,|DgpE9SUA.o~4tu >d E8v -/Pk -.!9:/ - }G]5dc2׸à. -Jcg5&Ȣuc@T7.^/t!H1|k"UIS+InEPӄ,OU(H\C^P 4)%QƋ3W)4Km%%eSS9|Q8FեSэP•>_<RIfp=nx 7NG-#Bi7fr* Pm|˦6@<e *zUTGΤ|.ΑTR,tz_ ۇ&㪓M w鱢fK7}߿s(1v -4%f::eä.@4xZ\}X< 9P k|]V*z99FX< xDʹ()`(""UQ` QdҊW߷S&%T1A,MV"(uɞ3fcB%?$ 8zSqh))GJ@X`:h4TV&BQR ^ -#Ueİ ssMGcjST -_}GQtQG7&裋K.lBǹѻq;DNK a GËu #ZB4j?|S1( w5fSOQ 7 tOM0yİv}Cx)#ʀnRM=KUwb,xA@"VLmk8T[Eӭf чg-lp-2`4&tQx -N8m "e3=, : Qj1MS ֦ݕ bBSRuUo08Hc⣄F eܷNiDX@xbQbΓ@!sߨ9ֻd TXRD"f^eƅ^: -I~-qZEi>*/?ὁ4ŃI+k5}4sqNg^&c>e]=4@5h~&Bŝ>8ױ%O]i=QH07#E@nj2)>d)ďFv$=uX}bh}/}}'UIFE+ޕqy%E.ҏr(:w~bEi#]d GWMVgg -J({Ɋ2`ic0޴Vk+GgiR*Wnn!T{nZQU(Uؔo)e=L\.FVaE _J?TIT`ZkYdOofA3mjֵ'lb:(傘r8p4 `9مI+ ?niAEZ'\Ꭲh@.:OV6ؚTipj?gɦ +)ϙ U βzXtU,+)xxP t$ ) 4PO~ -L/I]V {ˇB"kHBh9 ʝ15ng<k.8QLƋCuc6b+QP_*thê)iSL=>4 4|j(L.#"M]}Lhwv'8b$Sg4xP4{]QovG&oWq"%m>EyB[6>SOxFgLþb?.4]WMX$QDq|F ,5r՜zJ 04ҋ_*i*f1^Q#o:(f_4Mz]Yގ- -(glXIjA4orӌQV }1t0A4ٚ? l.F!#_g}I%*"%,Luv?Rq{7@ǛsAM~խQW2D,V0o %tuj>,VGkx -\A抉(" -;;IVv*-UiQc(K31xT]nhL54a"tЎA+,ش{zb534iԘ4Z}2cɀuo u`΁qy'CL(~.Q=/aȋi ?o5ʔ#/)Ukxnks evN|jkpӍ(фXm&BR)zx^,"u"N@ TpJ?&(͡# -]lXj6?WUJ:@_q3GwPhkxérǿi jRҪ-ȥmn5{^dPο̵G=S Ō( k>hsRb5rm ۍR,Еӎad*|oGVJhc{vvE+zi榎 6~Eu|h=J-:5VpFXRZh$6ɸNq0|$[9;2A)ٻ'U8Sޖa̓kXR)¬8ӯl>%؇G&E ]b̐G?5$ʙI|L -0,f@ck{=Mtz Gxz*ťRO4 첢IJ\7!S)8J ᓥn /pK-Pb|'~yNw$ -QzzX0W–rRPQE -MQnȆ㞯VEW"z5^pU+7 jWzWzWǖ zn5)mF4~*T -\)FX q²RMmg[5k1ZUcya(5(Xk'IUkhʵus|0<^?$@hzGP/Sן(yKOӄ -dVFAKT$;\[ mFLMIϟv'ͤj"k25A}˄cŢZu?v8{H3>z.7\>Z*]4;%uXIX_׈n(;h.P/Lp5~R4 --ywRH.#/{< Th齕e1eNHg{ۿJǾ7 *Ziz5K=I=n4򵊇k{߸Yx]B_/+eBJHҸj(Ks NAjjZ-O#l`Oc njNPN5cK*= IeBN-/;OxUeuӎd~ml'[r dBNS6QɃ-q7P8 KB (p|MBEo-$PUOO (|8)9Q5 !Bkih`yB]{0_{cn41a+na3un0u0sf$"XӥjeulqU$VD*Ԋ.tMvXIƪTNM=:$<'Oyjt(t浓\nwi6₰)8FEu5⹎ƛTgEY>tιZ,>@t`>Z&d~:jd%C,ykShMP1'EKSK5 8X"HM -,hUb^a7>V17N -x+ՙb -7vB_osPhGOp#G b~W?K-+r젓'{XWEt̋KJqSZ*TWO1JJaD8MlRf"}/I*HJE))GI5 A!DAgUrGME -Q%TklRiz/P0ŅC3|}0i!3HnzM\U%8L[I%5 kf9?PS!ENg,>׸Ҍ0W K%-\i U5sIc̵'88b[}J}r?_Y-"фp`=mTZ8\UdĚLBZH#&(X.g IU>}qVP|- CI$z|E fH"+ݎH甓^hz"u\]!jbR&/'@MPr} lAߊIH4 -#pMpNӸ6X0OWcB645GKe -(XalԲ&T,I+^T&#^rIBq:V~!oQTpa_TPt#JnRG x4gA}G ԅvJ#U3>,|gU.AմO -mĩMdIB䣎W4"b7{Fj5h>@7~+iFWOj?6ʬ3c= 4^TX\8.5^e-],npI >Q`V(QXBE aU%d8*tElM}*;U\ID!> -~yVQ2"uW>Pu?;;DwOËR3I(MΌvI#L~FjRjmQ5ӞRJt0M)2vۨsŒ+5d)Đig f`v)"-rb$=GbiO([nY V4  -<0hᲭ<*efE8Q -W^g^4-/4Ԉ>2+Lru56Ӹ\ňIV/ &9Y$75#' i{o8Qm"el9wpqfa -g6% n5Kc0[R^VgdO4^X.jo̽E7K(t3 *VjAkc;(aW7Fdqb`~FVz'cI1V~>j -/CS}=J*&y):4$O VTQE"E)rG -0wm{[SHN3)58LkF^Ap4'E,^tQPG16O2 \rm.T$ -f(:i+ռ>e-\unaz )};uY/R& ub׿.TΚ9NM[@Ͱf> -7YW@G):tX:T@/b@ A:Z2+Djh}9b" -UipĒpm`H+v 얋ފ*|MoI 7$Ւ*(*d; ]dw | -Na^pa펶Zڣ]M(ֱXp)fFv4GzҌњ T&gA?' |ջ(>Qj8;ijeYL \e3mCe DQf4]Ԑ;H#˅x롫[Y7 EUB(cx^"@ƔYf MᝰRuuVU@z"ر'U -5 -ԮI~ņaDp'$~8Ր.=$ѓ}K+3d\UXN M R¶5pr Kߟ-•%PME8)iUt^ /QI@8TnH{kk'K{vԮvY'!,4uO(iIN4ͻ -.wU0*<;mPu؞_IiQh#|30S3ܑO4ThgB J6&S~S5B_nuoqck_Vw9 -jXy yρ xP?3/e![5IQK">:φ98S -Ѥ釣`ѲHByI3V8 ²-0aECQ⑏.(I h -EcEȹ7v!oPkURIr@8olȡR @\ᦃ:ԍ4d ^/PSR9Xk1rōts@JTѝ\]3 +$cb(?p֨a+I]~,?Ǒ۪4 HК+0̷m)8so_t&;>!:5^ -S~bXpF86x% ]#Q4˟wϕ5\1<?:_Sa3 Ĵ>j͂N0Of MSm؏yX "w].M eujp+TV~8nZhJuU W7/S=CCĩhbU09 -;l -A:o1at[uZl'IH*C 떅ip@e}8%K204RLi,\ԓ@;ptl%U9?p4E+hnO7)Ffp G  oB@fE]{qE1L^qHbΝ|}JJT t]DU&N20݀5Vm)㚳& pJy^0OdxDѽ e U5Uk^Uj^z^z][We=[CW9p~x֫vuz^z7~9NVHmUS\ZZyEn9jrRO.A4hFj@GOoIT Ucq{爭z)bOq i›S4kh꒩/>bYS7=3[E ڸJ4xBg'Qm P߉"F@s$Wﴒk~MBS: ؾ2PpW))2o5э,o.9D64c3[ -OnW!fhUIU\yY?.;PD -L:zr-^n=lY@QSUMSkN)fui"nB?Sd^s'JoI56ķM:ҌеO]yOdiU)ּ1!VOU,3Adcoëin(@~'PNrT+2E'sgQҾ`AZ= ?n"0k7 (Tk_ ݘrV p1LB7SF*Wp6>S*BR&(8j*4ϩt(73Sb>ͲM`?d*q -u>6㶯*-Ink7p J:KD gHCSfWFi]ßӾWO*XZ.ṘV„+o-UV8%3/~/Kj=F25(TO⽨cJIG)3XOÀ칾*8yP*}O~l>k:C;n9_`N ~H$(ՓJ}BM`di"Q+Z"}@=qDb*U/ bS<؅4L-svۧ4"k4o}!u8+$ k1Հi=ZN`tK06VF,>{Ҳ܍6&Ou}xn„2ƒ/%l)UqT]ywHbWԏ8U&)y}HlFo=*; -Z^fAI3ޜoįLVUg S"*9FSUB zkMjW`48 ]<8#7."Z 񖊙ê 4gS LC$j?IGڳ-6"lBtXӭlȩV2O~(6M~Et -3w3m{D%~UʼxoAF6EWB)4\ 2xVd1P&*eph{mg3&LŒmEQ:[,F#[Q4cRCSˎZNbl/Om2Fo ۋp[F:N\:@LnH7r.MkI('B1lIOY' MyfVҜe<.7G -!u=z0kI`cräh/XH[+|8Ti^ٔ_J{<fK)0hGG)rA6"Uw#1RU 1'BTtIebF>IE$40tlbI7ce8Bn O%Sa2rE^&) -)E== b UN=1mS۲>X0I[;=k~vx2'e*KX-w}SSG{$3Tp8FE?OeԑѝJ{n;ҙ5&>V@-ˁv[~WDTf_!93,{oB[s M+pK F"VʼnIXOSƬ6K3hq![N*u,[d$j4Ν #Ag!T\N+ћh׍ teŞE`Mov5w2+/Ν̘,d,;n.Njen#=f$>l$m qߕuV07QNgUMl5-as>3EUb ƻS.ӿ7T۞\~zY/zߎօrEj+kjn+yjfCqMP|jWzWٯW{W%"nb=Zn禽]sU 7^6W\ztzߎӕOnzYzby\?6plnkmhAEjrӞW57zlWܴ׫V9EWruZ=^ 9[WrU#H,*s -hLR/Ut()ꢥu9`kQ\0ڎ8Ri4ƒu3 ZO n|Ph h Z:jLYDP '*ɗ) *ZJ+dɢߴRX*W4kܜ0Η >]%qF:g4t ޤ. VV$R."Ϙӈzr?׀Z:-k0Uq >5 |)==BV?qtdW -O"tw> +s-Wɳ$ -_ 'PA^PgJqjmu6[(c=@/ &ې0i/Dy8aisi4ˍ餧u,Ua 66 -|C[B> EnaAC uZu"ful-^-YVAO^QPL6 -;߈ug̽%zJji]% +[p>6CTz [qJ ' XHBM'"wRsn;ӎeJIeϴN-qnGiߣBX1ҲNVH"Go΂׾%QA Rv߳vR@YV?˗NW++7ą. -Bī"`сUNu**eB(aSIO -i(]'tO/btAoT={S7Z$5blB{|K( M7jYgٻy@0Z2h|t;@&?ӣh9yq05#A${‘Oщߩ]H\[ t6J›Y* -J:^NP[.fSb5<1ٱuC`;8PѣŐ=64rJIHGoWEjhziӌk_Mi:߹?OW:_GWKG }~ IP“,ӌ2)WA7 iE# -"}ĥTGgphQgK\iWA4bߊLUzRa參;x{MTܪ(Es֚jh`BbAnf ^ -=O\qdiIfmeG ->[WqY}bSc=BQX!<fin:M/LhkkS4ިro%TW[=ϽOWbr;{}%oo-?\i%*UO3:eF;Z ZbM4 L'S [#%Nk][ۧcH4X}OFPnr/“ah=a`7.t3M74M$ dN ē. ݴߋ47ifJ\İa()[il+` -:w?U:A =4RS*u&6= pj4)|B8vo?,_JkIfid_NR=O*R) <2gT=[p(Ѱ&鏧fvV*6 9\oILƚ~\ʅzAGUKt R+tME$JI~TAsY$Y S~N6R6ĪfFe[(5 :xR6$QJMlFfX/r ؏.hѕ坲vPjb3QJǂfMuCbHnnT^|m]3 . ]u%[amm&se zG1;UuM8O~.zRC/;p!AdTzқ wp'q3z2 WOcJ}h@&["d/4J5R*ZdWG(f AㆶIV*⭕2FN˸lUj"HfbC~pI -0S|jTb_iv"i)"̋GY|#dSWR[D6g_,3JO[v6TAxf({Bb;*m}^$?G~$i_kxz*jqG.b_;[ۄ0(ٳ3œs xpX()$76t JbRaPzdmF]X6\, N4#&3Fh(o<|DUfz>{o9brhF/zð0zǕ{ pGO -%ӌ2~ :5; t^ú{pg4a;xPJBEpSL:]Ne% #:ono'Upç4X)bZBOIz!W.)dH]^8 -c@ⅉ\ ,B {r"0*>E%F&"KQv\ط 5e< V\JoS5z+rԕ9m]yj{W1-XqfyjuWzEyvT/557[~Q><֦djkUmya[ݸ¯YQv5qx=^2 ];kb~;Wvb9vd梽uzY*W.7U\չ|jW n^^^w~n\WMj+$su׫zӞW|zWzܽnG=^Vz zrMzsMzWzM^%q禽^榽\YW=^4kě뚯W{sW:sD׫ks@Mz\cmWu(*5^ -3Xպ'=^Nz׫jXٯW_^~hՅDQmy^FslIƃG8P]HY:HMu:uXRZ-i%R*fX|ׁ Q#"M)>%P;<@TLdPxs]h/X:`xSEˢ. 'm,FPe,'R3=%.6AhP*+1ZLb_#Œ (N -0|HnyB8Q#ivnn){}RG7|%.õL]2ʍNWn꘣(wR;fD՝lk΅55'I4!IK,"Bj˙˶lնЅs2'1%]&axfE9AЂ;IZ"huY|[*d-$H&v:;<Mo-`OF[ҌTm_>7s̷(֑X]h:N2<{nG"4,!B~ÉeuH::hU7t7RZxqQfq^=U~#K|# -JVO}t.0{Nis~I^JbJ3m{*Rk ѐOW/5AbR|<~F:0㿉&SL\oe@G`r1C_RBEirβ~ E 5ZӇ -nĒxYxDQʦxgd5XLmǬLSwjƒE=t15E<84զ ϑLbXOڸW | _G:Jk:¢ihz-[S`Kˡ;jT~ =F|=,/y2ZJ;ts3F#+>{~|R@E,EGpu%h"Aʆx(L8,^/vV)"R5I 쟤:g)c@ˑOrNpEon4'eC~$qu=,)nM#0+ə[rk $L"{3RƊ Ȣ[|8GzdQk,,5_kȱjQ41@65q1 BGůz |sUK -OPմ͉VU7+(FpA ->@) (qrf UfA}Q)2ˀFSF1xvQ%C -mME+G3x/hfk4HML_ϕ~n+Uhi\܈Ko4y!e 54S @'6"$ -1ZS#Fy6N#^E#8X}G;M> c~ UFbŘ=GxHoJ?^6GbuHK +>uJ0T}d -%"u(_^fȏ̼[憁V*XWV^[w=^{W,zWÿ=^mnx -v9ZrY9z{WjmW=^s=^[\ƼzWz!Mzsf^+ZW碽^+=55^,+ÛWD۞WMzkWksS^pc~9]sU+54+bV=^*qW\8Tp;)V-0DhёZ~hDžSԩ1b׌Uv^̦"5 -tPX`7UzfŊŵATb*QHᣕFlw -"Lҫ{+C`۰A˫H:LW8`+P,/jo}տQF6z -=al`2d+Lt~2QbHz/ݥpaE#IPю"̒:]P݅IQUWbx[IQJLP5xOOq -}? JU$Pv -y^G,myݥo`G7"=2§B_h$c -4TM/:ui0S(Z=ۂv#T''ӥ:#Z7`[KMK9lAyS|k 92*VeX61:Hc"FGf[UM<z qv G]4SX ڳiiĈ -TiBX^j55WڞzDK t zX7V0Gm$ +4v蒰3Дh;n>8͚1<]%n!Q-]LͺIvG'řb~ˁz׫zWzTG xث)e$~k55~T^(0<_% *k -?uRe?O5݁ -Vk3SpZԵ{߹YoI~}GEZ^iQvaav^ Ad@c ]P(}#WVW[_"UzVιI0ٷT3LʻHX?k_vCeei_׷颋JƤE!5QX2qapZtPl*6қV#. 4HQ4h~H9Ɗ =O_[hPuuf"HHia}m¦RU^c[UECDz\①aAMc&8U؞TMS)4ٷo +ͬ -O=DDdݲ[D҃9` l.Lo鱮-YJV~4$i #:Ɉ5F%VKyUxF+9^T"kIHf /QDa빁ׅ$CaA'J}I_O|}P; -/B럥L#h1˂4$REVS0 +qbR'NxaAN%԰]TT~V!*TyQWhJ_cN",`نiE DEϸX8z?0uAf %sA٥#`  Jn5F쾣BN2Nenx]WRuoVӗ 6ɝ5S3(B :&tɡ'ߞWrW(ǎWUoWnמWc^j]h֍xkV碽n+n^z\ʑZ5۾j"+.*^5ϕǎբ+qo'mxV;WsÕWRۛ\T[|zƬ4kFxsWz!7^\W{WzxiW7nkuύ֫zW|zs=^{W$,+u5x7^{W W5^s^ۛWuW^ۗWoVsպ[w*Mzkz\WGW-qc6zr=^_5)^.oת=FaXěG-Qg{Z\6u#Uw+UDb4M8b@nG'Ul5ݦXAs&e3TfRn5hcJfwH}ddmP o :|-4 fF)S宗WBc^m-k [G; .a.UJCQRe:~`(S7A^'uQ!.ŁutV|CDxM3AcnO -y)@EW ŞqF<0ǁ4p P~'4V6$RmɚsUzۉc &R=43M#5ai bOdmeܕ^`-}nQNfi 5~#Re!ƧRow OyKCQ㢏X (S KKjw9%#ݍlWIQ;bvCS)bIϛ\+zuTi;kh+w}w&N&z^T= ЊF#{(YCPQg0H('ތn 3*fqhHaq5)@4`uLE^_i28 *0 `#^0pvO6V)bQ┪SD-]T,4`LiԼ?=_t-sMhܴkN"=ur/H%] U 53 2ɑ.jDzְMRa%S7:r#Q=Mqk#/C-|\6(a^Z!{t-+"f9``| J4/T0 ~8H`8l1ƒˆ8UKbbrE~N)K*.K[g6ʥ&}k/M_ %>RpvM”U(tSs7rUbHʮA44^Ik1:Y*pDGڪ%$lЂWx<6죫hX1T 5L{kobeIi(RRon*kjI*z{Uy2bfBeEUK5:b@U1 -6׫]_#ќ\nŚwtXj]O v2#TE8UBd$ru'ӕ=^s=^s=^sՖ45ZPE~{en0j"thC)"^ -U0fhfUq6DXo4LM6{+Ez rO^70q;A1fܹQ -d8GN^]sSZof9aWDTVBfF^T~U񷖉d|.+;X6n[0IuLm: ]w'Rv|(|k4N~(Cq&)wOT_~` $X\xyP0ň G;߳/M~3UIS.elg/THw$wRx̨fu,m"qtp3FϽY)KA8Άdž+_4꟣uzl@dx~\0(tdF: Gc=#ߏ2Ӊ Ү]O̊iQuw+I4ܗ6@lQ FwT!ܺ I]hgKQC0͏< M|#,}`V]ZdVR56M=ENsPNdʀGJ=SNe:qbl# -L.fouQTo ?Em) :죏ҏW[)+Qvu'"i/N3vn}򛂗 nm ;6M~"FM۷JPA*hi}Z:oä =kiaaǵSqX0 4UYOl{{ GUMsMK[k!"ψ ~MLHo4c -]BPR,ZJIݭ}~rVP)CjTt:q+ Ey7{tu͹dPϫc3K)QUahT7dpH>]+)M=r8rR)ur)oqhT_&xn`hvHQ gXh^ʫ W9dh-Z%!VT{6B3rPZsI)'J:MhV D7 Ԏǀsn&XX.[F]Z:1ȏ vVSo4Dzg+!Mg w 7(}|3EN8QkfZ6Mu>=x5/AV GQB5N~X疙W{V6SfkuTπ yQFV$̕CtÉQJ.YJxTL%-!sߏ>6Tu|.%:-l>u#F Οoυ$h~$T63ib{yFRio -Q~`ʝ7mb4HpVI(byJ:RPĐ+d%)yE[xvVֿ̀d-H)U"֒Ti 3viA@})}mQN3UZC;g~-'ґ 5crr -5wNbx=t:FKNvZq<{|H~W5a2UuG 8.^gh&g{b1pvt۳*c}!ҧU - }?p:Z1O88j*$.[JJb*?Ire$RmzVF[X>#5Do@Y\n.O*!=BGիhLR) ;ԆJ+sVk+'2|n>ˡ ٗ. UӴV,k.#YbhH2A2uGu7d7tR}GE_l8pD̡,KxjH ]"WGPt5LFݮx-՜};zjLeTwxS{qZ m3ņQQ ma. [i(z1(n YQ#rNOSG4hB@=4SMGlG5G/5f - U]%C^71Wbo)۲)&$.EBYr0Bj ]&%IN:wJQQhq?Rَ@~ [U;i5$&[U{G䪼"6+WCuapy "*Zz]X9j5އWEEqn -뛭hyZ {Ûa]9SU5=z+1|!XBd?  XPivq^3Lk%#=UdM{NV:ǭV®靔_S1˼TEG~(\1~cYɤA43Mbo, kI BGgV o/r˞4o#S+LJWʩ,U  S=tqP(l<}Iacp)KbvsSl: J2)ʎՌ7"N(ߡW.lQcų[1AtQmm%8тq燐/Ja[8 N49nKHR)XZB~ǂvE*3lǓKIz0ґH3&o:7kojXzEWN")[,c4x 8j¡6yAnݻifMYuA" }ZP"B5y$Iƒ#EOτSc`D% totx_Cru1FFͩS50?OkNAUH.ύE[e/2R`|z6e[vÑ^"t R$xlsp|Wi>$jnHۍ6S5_}f8vdM$r/Qgءی{&Gbۉ]4PhU)2&WlEgg(XOq&^}0&qU&/o P}&j}&0,)tƪ9&B?{Z:Uz)E;UdVX̌ -GpAׁ'-4fM s}@`r`x,NVknF=)7,d: "3[0p ,rijY-"̊HG<*964])u8$ 9y#sò-dj@oCS=)_1χ\[JtRttŋ0P<kk)iԖŎ4ժeDzZe__;4n |C%Y_/N5hd8QrP"E*e -QjԚ,+ -h٤܁ZyR;ijRzf "kc_u• j II .|I=g8 t̚=]Q L9~kM4gyS)]͝Eı_t`O ~-U•Ƙ %;/dLIEN @(IECwQ~ &cH^3STDŽQDŽPl.a}* ZxO8arz_ZO5*(șIzE8uXd4Fi#.GF*|ꝿc7"UayH>p[htGU!pQw 7Rza.,b6&RtfY ӏÄj6hGAUi<'MF'EIGIQ<8KUA,O`9`&V[Nsܘ~<3 FNS"S[2կG`,JtӠE^^=^s=^sz2j]u=^tsV:QUnBnzWz2fvzsÉaUsSxj)xe`~[ -6JL%uMb/O=)G{wlvb=i7;*S!OŨe+$_d}Ѹ°P;)~zAL?L6YhKS3C!v̷a ;Z*S:ij}!fzҕMRhz_vt|%*xN%фR檚X> -o.Kt[R3ct%1#FD -{4Ɇ^Fd%#PׄvX_=zSbR$ԛXmziJQ_Qdi %Cws ᑔvX6ܽEWIGQy) - .xx‹._8V/L~]n D  \ti 6 -II,J"x;nU]ߥ* -5\N^!BUr"KFh>ğ -HPMCG]I1GMn,)R>@&MZ?E(ܣMT`pI HQ[3X{@R4FPU˞=Wzv=^n{mkmrmyZpܽ^W梵ku rT[q碷\WͧnlWuի۞W+k͊د#mqeG4T "Q=KvKiiHUHQ4eTpHڪǿo4iJ&fbT|nE6 -M]E>tGYR(&gI3l;w_,n4ىI?OT}"0F(qBzrq9!owa><=d.( PJ^גi+jGXAכ6N<(}>Gm%:X;@'NǞꦔE=t¤eԙ` ᙵp4cNkJϧ -4gC/܇6=*UDMKDX -XyK5殔X)t-YaJ -QпPī!=x#LtQ:>eբO9WE۩~^¥'qF˦8Cb)=6BO)pێ&P "Zy$1+z;hݦ -{˃Fk\iX!oPcOIaE`Ik?-M8_af >d7mc8b /Vl$[ujAhz!j?IK)&Wa/?g 0=[d|_Yx"mqARE2hcʸt-ovB. -PaѕpHD~XJ=d} e3r6Ƴg41I.L9B:UW.;y䠒_fHS)%Pv4XGOX%32H?}!Tfy -A^=1z>~`EN>fDTHL821}Bxp:ɧɚZ{5SXbR@P.IkqT' -Z+Wd*˘-.$QӁkdZHTyi=^sWH5^o=kƱISA5YՋsSYSeHYYR /6MTw*G7vwPSƪϞW{W{PSAR\>v'GtS}DG_\wR^QI -5(._^]̮o+q&w&7o΋#8Ԕv|)Jj#~Ȋ(_FMZ1gXk1 `<.zHAΧP\w6V6!fz"~LqStO7lj@[k\r;|A>t)B 0z+G" -ߎ4seYNt[=k!Y%؝mePJP(e4YX uۼJh=HL'V^&p7KjQn믨{\ixE iPs?T1e4waOF(LI*JjQAPnmǿծ(@b)XQO4š+;2*ƺg'Q%r -9ȶOmewЕ4䎯ܗaȒ{q@t֑@oBXJ(cġ ?nx𠭘Se1Nnq~R)*> am0=UeIw-טuT'rpQ\*bkPmOn!LEN:B\./rgp$R3`Vq$,I&g}. À -)$@׎%\jFkІ7O`3n#OSllF<8k'=^sչ rղk=5鮔WGWV5uz^z]۞W tU55 y׹^zuS]rJv×`kÞbyUWUnVY;9׈7V9EUMsUZ7^i۞5iW妵\{/^s6ZW)^sM,+ϖWruWzWy^aru=Z 9{WtZ=^(:AJhVy*cdbU_JMT8&un{˭2 ߸>=*&]M=ōG؋mCu8̬\ OA2Ao1`4>KiE|==?±XԠ 9E6 >+~)~pHW.aI0i͸tAҞ`Ř-WeTȠ>pAG噚3jN"Clz 3R)j'N)C*W~3mƝX8Bsw\*@Zi*5< \~٣cCaqY[H_RO;4n8Xg6O:}@Z08axe,P0VKqR̊;v0042֫MjkMnyW+?G.T8y(U5}O~Ղ)\P, /k%nZ n54*krd+PJU{܏IZ SAֲh+ J&3w{[Ç,[@r7FY&3eI?R}J >&zC_v0fh(E>o xWt¤BM~TXjZX%³?Hpc3/R]YӲXI Ƃ>t[in"Თ[t9$M8$ E>#m%:ٗ(3&j;%@J~6nm1In=֓g| 7E)Բ"V _pE)(eZۆ:I-4M,xOT3x5D֠ZE~ʅaBq\_SI dQxX:^ݔ t:b=IW/ЂmbЭi9ƭ#9fL.:-;ъ_4a%szI2㗫Ez[5XnxVzlWׯVn5Z/MjrWDߛcCVוWg^Z]su^^ T׹ttVyn^+EX>ܪjY H^8Ro -ZEFheTRL;vT@-ao#E"M. F|˾  w\[>Ԝi90%=ݰMX_UGrS~?ۼ>1ƺXt9_x8q+,;>f݇Q&~\`W9=2u}J" "LJD5w)AFhFLӐ!&Gw7:{xQ4);84TG4A,_S!kh=Y,|նJ_OM'"F\Lpu++7utλxaB&PKU>M0OxGasfj1zg]ήOYjp4Izf(ca8%;I^":D$QyYLV* .9Z5 -6E&!@$ rb)2 E;O9PX|m6 -XCK9t!Utb M!momwx]V]c(7׊M1O1r+ܥ^ǦV[ΠWbI8Wuoމh .+"Jn[(L )GG Zs8ܾ-fɭIۄ98 :_:Zۍ#Q:[3pc;r&5K]/_:GA*E׹?W7o'mZM{dJ Շi'[* 7D)K^-U^yHHt ~>qVh؋t T^]D^c&*:s1S.#1Z~]Nn1?|.Yi -λOÕN^a==̹e=-D,lK$3FS zKv amv}G D+NOl =(n?G8(bS*747)Z=3(aHI]Hc!+HDuQpI&њ ač8BjR><>&ٓJP…edښ\8j׈<8vM0Ԗ+Zdp[:@ViIM[wG8:i9)t;-3nN|UwOImU-DH]X1 l$^JpSc=kRhV$gpMFNm$^D=ڨ>XJҴvR?n@i)d3RBQ=b 7v@S kmNTpЦh<Ӛ:T*mNۅ){v8=0jcUFjx_ -;Ef\`,~Uf4eޠzˣ]E5>~ l%Pu}? jĠ7#5׹$#St׫ku=^Woѯw¼M{=^szz^>h֍r]yZccsvuC]倯]!7V]yZtWwV2-ʚryT -nș*]M7^|zWkf]U-5-^sO=^|Wxs`µ\z{W(r=^s=^s=^׉7ZWǕuWzWWz^&z-ʚq-q-~Z]sWkաX\U#_[n梷\[5\Nn^zX]7;5Z3y^i^eUbG*ku(jՊC=Tv€+0F@mp扊qHs\ɃIʳSJgP ~2f3Pb5]w{qGm;܁M~玱ZJ ?jpJ$Ұ_£OiXؐ(5'PLQwa+1MxQ5|Uí=@̯Ca!{%Szmlp>\5n[fZ)PI0~њ *h}W.x4#lTl3FRi4s4Ъq*^4ΰ)3WbٝENw7u WE?~Za «(T@Lp <1L BK# e O~`e2*~ ê#j.l,H|}4HՍΚfaq.fCOa>@wXƜ[hd.d>:fV᭮k)O11fD* -;- >/ -GS Ӽ4*TnٌFTO&a@e:^e"&վb6֙_t4Tq.UTGc[ -!٬_"otfO6SVJtw0d*CTPn b]n;pM,/3ZI(@,nyO;I~6R٢Rxd 쥹hW7NW-5A\j"3V&(3N#]=LJ(K&3G"մp#ywg죦фɝVTSin۩Vrk2?6E8X+¤5ry8VuVfK h pU\M £mlзA-m7tuG:Rշ* -ch,s;5tHǤŦ3R(fV%GyH܃\+v[SƔ%Ɛ^eh&DŽLRK(XַǍxz]d>?2N}pǼyk<8Skꊶ[yw+Lx%FCnjgmSE.Fjy_hq"f 'JNfVP5oa͓J֚2"榜"UPזNJeWE:Vg=1 `<TT7)Wz]zWz98en-EUK#<.G$lUYXA\ۛ) ׁ:rׇS J$MQLT>ȷ޶U_)Β\ -c^).PunDSp# _<+{)& q"pOZ{AT.diI:~c\LPֺCA,QzНU|5pv vX8zI™}t,k:夃s$NnGw&%TG:ܴH`8xF4X(aNE!vͅ@Iޣ&(zS%DO*epi[GB|*W#e ->hP4B=QYmdcbICqb -4Zeޘz5Mm}-E$Kax; ]0JjO{p7I; ~`1Yژ?-5uRw1moaWqR8|0pt`x,BHtr7l7JÁQ͵^i}ۃ'vymL[^5GiR>>?(R2v+}E#Pb 9q:3EI&W]( ntW7ԠR x}v _b<~+0~j\$7i)sSm<צzk9YM{=5鮈=575suzWÞWzZʥq=zyMXG4*ZܱEs [ӞWkrUk牭իZUyehkz'7[\j Ednʚ{^nY+Z[55^s4r^wϞW{WxXcZ)#^c85^sU=^.z6Uֶ\Z7^5[l9GNlWC0cg[+ -} -VYIF޿ChTGcCpLwS!8-E =kp\K紐M)ei M9=zz1,bQSFfmJ@}ֿ  Kv$plԓ 0h$SB:jXܴ;e>*QoTKChe !?8LPTQФ}D'zQ_%l`p`!;h0jF_T|(Ϳm>TœJ<'o_%6%P-3ƥRFEk.0fY)Տy4}#t"Iřӄ*'4Bʮ[=v:Ýj|#JWhc@nVnP(wj'j/_0vo8D!34@C}\ǣ4>uC5.R<5f}3X>QgGWV;A${ĮiHQ\96aiÉ4 m`mP پ^ *_m9Cb AAqTP{uht"zӊi?8*T=/ƲN>]HM=4#^@ #mb6 KƗ50eͩ_J졙ܥ:($X W͓7ZըTe"ځn2Dw"(Z㞭W' -GNTjL.9ը\p`Zj~ -Ww*wh%6tW axWtdS}UW!V'xPqt}:5emXO~QYAtjNx`+gцE7 =hv1KTU "-(xg\ǕUfͲ;ȫiGu)Hkaߌ[;#uC4 ;*† ׿0-W傢C>L>"@$[Nӧ_uR)]UCj -4*G7p*ŏni֒ݽ5dgV;fވS v^;xn^čx@b:GΖc=B qrm£J(oO]<\T)2n|4a$IT+ث5q8JP?֟O! Zte{koRݜK ` -ńo"HK+Cw8)͕dInC_CsZU$.6*_)6RCɱ@Z=A4X$&=ZG7avBfR +pUKSFHP"mkI7ĄS;֖{Ʊ\(Q FI? ´dQΫb=4¤'F4P$D\/bG7u2uOɒ_1dbnh "*f\=ϕqFE!btR}<ڮZOc6CZ;]_ -l(cЍUn[ +#PLFO^2mG&jnض:JhIT(SuSW B.ů+>Tp0V),vEXх+!h>tl{8ldTq2G|8 -GIf#ǩ}qMzrNqz8z0VpHkY~ SՉϕk],N$R%;`2`ӓcF6 0`nudF6Tw]9MX\oRLqRƨ /~1$R/d#?q4i -;9]TZi#:}Q)e SqijL 4䊝W,5ss5V坣Mykm2Zܰehb{ۿL -/q[iPB)Xblyr[*\UM\*@~R)f |9rO=^+&Z+ԬVH=b򽯵siApf>Qi𰢞 ^djZvx~ jfօ& 5@)7n/VP{?*k0ѣׅetX Ҿ%ӪƗ6XϺ_+p9 =5~DpYbB$D#C{<7ƊaIgjtǽ%\mNF6V'mO÷8hۯ+x^ƅIN6ε3W H_yXѺ4j11L*S*1QnVR -q2^FN.NfC-F\b"H]J_HŸ"᧕:͈+%Z:ACe8IKpE6Z` X -'~غ=l#?SH^E!JM+We I%1+p=C*Gjv|2PpzB. 70Ul!+@yg5igT<8//lQJ&)b|r<m8fIVQ"q%l[jFؤNa T=J0gÃ`}%5v#% -: 2d5fRr<AQN"@(1N,z(VHi#BsȊ ަ ѐDYWAʚdW -)z]s5W-㚊WFNz+]ӞW`ߚWEn --sMZkRy׈7^ 9{WvZ5=^s^ܭRrz(jpyq Mnkǖ -W7<۞e_Grh\3P^YҼ6+JE k (!oRˎa4]iRX8)8`SN#뱈Xo6`AA%eCm>E/I+>xwj3CFOM?jj9Z_E,lz-tp&V~6bP|̯*AL o=8 -l0;kk:lqt/f+kyA#.HSn)`).Icݸύ8s@5U|gGarauq]IO ,yJxuц̝"Å}L%w^#rۃ܅mh.Z)dR6jua!S -Zi66NF]N~ wf7+=Eʯ+[su*/߀W,ERI*Q-TQAɰ5 $ -, -Oli(/W0!S -Vdҁti5rz ,CWsGf7>(#)cqRl2Z6eF / -UdRSEQRGn¼ }:*"$~e,^) ޓ3Gf`ֱ {;o tҺLR?2Rj :&F)u5=hyQeY4lNz){u#8~LmX^YtH9NcXmo&ntL釬lN?!uhw^t\m? -nF -0g-i"bH `T^4>(UZ*ipL}Cȝ%oOY@lH"`}?A:I}ĝ -J0?7Y? ICMJl-9BZ4J&d- A"{jnu*Q 6Yk`Q2)Vnh=vxv6_R{i~\ցU]9>lӉ_"@ -6Gz[?&tX}RFYE'_TJH(Y@6m22M -#wV:@^4̡:A>:U–&_Vc?*d{G Q cVwmRnlءG -5vy4}j#D O=tYfF]n+CدV.\PKSGUXP(`OG I;ʫ= w*ŘhGe&-BgJLS* 3`Ru -(8Ll?tb.ZZIb*z2.E8{<#F_[4J_-63#U'$ΊF,[rEQ˅$a@oYxO1_栘m%XF:{fe?NaGCxt5tQbnSgU1D+~wLi})Iƒ'w2KGi@~mOpX%rGTl ->j۸Z/.{kᲄzSI_T=82#l;^Y)#PES?A Y)iapXku<*|(hgRndʴ7ZxvoM>@] GE6qn4!a67)5n.*zHdaܝmוƙ|Ga2#h,jJƵ\9Z$/VzWzWznT x^{momv5梵al -$WEs{++s¶+-V1W׷+5Z떫Wv4j-Vh֍aznzYm׫,*¸u=^^zjsVdӚ8֫'WrF׫5^I[FCcԡ)^z׫۞W zr5^ 9W5mܰW|z rC׫5^s=^s=^s=^/W=^nz\VuEn-nx -qf7^{Ws~kmj9[l{W {+ՊI-7^FzHBMz3^^\ 8ׅcv=[,7{ez -`N80MG~h5nk_TI^lVaMyiyZLO%bK^WeY8)Sp.beVԪo1C-Cq$ɓ)wd36]̨"L+se7~&OLs*e U.)){OOyS=>3Eo攰Rֹ -/m{n]F6WQdq,1rLwkt*&ZUW'jxHۓA[qxS]Tu%@78R'[R05%ۏS@E9܍9+qSvO3-fcQ$'[q4RUtj|s:LM @UG7(BP1uTO:O.j-AMQo3?I0D~Ո9V1E7I|VÖ@=آV,S`;,Ӊujo11]ژƙ7_\ԸBFlr kmoBXRS@>uXbwL4C -Yqa黽?GڤiIʳ~Z5C~  GPpcA$pW-e/Vx{KJ)(_c -* vc[z&2?~#[`un; zSGǰvuм)UT &U2V=*zɔt;"qo"`ć/~YB9Z{au7Z2&zk@_]jQTxۇ~Z/TRnR<2e-pt|UXz:P]!m߀>ѡ4}?f:MƱwtMSVEOٿĩO(Ax8&p>;P@]ɶKRBvM -ې$p a|0U.z*HOCG^-Y`u%C UxBoBdXE#P@ #p4FQ_ 6HPy K1b=u!O{{xEh3~?Vl55"`Jn9J𢽙? -uMSOʊ5,'M_5?IdGr7Tr^:E}7"G%e +3b=5C'Nzir K"Xh|a4ŒœӒ5:=m<[T{4SO0:o:_) l¬ 5M}sJz0V<\/ yzZS!V?(VfRש[7MybKTeXFĹP>'5d5@Ou:iw Y}=X"̕oMuM6UJ/ZcKm6Ѓ2"^2(d2+$>R/w(8H~&QZ \[bOpcA3n:;iߣ9S"otF40yJei2hD "1),^xҠ#eXFPI_uvVA]'@A`T(u?Fj Fo,?hNgVO=>uYb?%czp#vAҐ4hR>v1c8"(=߯q&P֑᱓SȨUGGޤkҶX~$2OҭM-pٴ*b⑴Q<C]5gCB'e 7#aZ7G1D/Vpjޝ l`zi[82]Q_4uɌ_phPV$hΙޟj|Zq<:Fo<J0 i)F4/d宪I*/8iZS!ihD7 V0tfҐu ?9bh]#~%P'R7C{kb}pWDE m^)QыKY.=[顏2gܓG Za$vDmuM(([Ԇc3= AᦿZ0ҫWaXҋǪG',#/B S bh$P/\_%4/U,цbZůoiU욬|;j+$ oz |FS;f >8b?0q4R柽&C9*vg!F(mp x\_F/z5TY^*wMJYH#wQE.6tE#ic{x l+(ڔt@paBt-tYut*Qv a--PxraY?*6 G~5eYYsgBW[{E3HID~{_*lPүN~[V>ޔ(e[wգ58hj}\wPGRe 1wg'n+}Цy?9p_?њ(@(R8(y?9]of"j#o7zR} -9bN)?Qhb/c4x{a_qBs4 -L+,#a>t~sG?*5B~U.xYcL|9M)c6>M qG%=UWWoJhUn}$}\@ü)CՍB;5Qv}te8t? bTĥ;˯h) Mū֞9)pF*b@2n#"$Q1vҫчaVގHiep@;Xx\U&ďMOE -l`U=Wש/w<G>zP]2Ah{ߣLfș5KRg:i~ΗtT)dkVf x1h - ܨ6/N+2pznJ6POv)Oef'-IƏY@=4M\Qʔ+¿yZz]3[^I_iSG7ũZQį5tgZWDxYv?)M[,_i[(c؁ohӧL#!>D?18R)#iU:gLZ*Yce,uƠ[ -FWݨ2.ׁu44l8 FT [մPuԜ\.LUTB(:irHe*nZAA5=̴ٚ$G4#sP"ၙ]yH>3e+UKsLM()BH%sMsƊ_:)lk BOØHS~$GH?L}JW xIlm:ө4VjDjH-)*-f{r˜"x^MVcKYsoomP G~~6>FiH hYJ+UmNl%aC],(~>?k4؊4dIPM#>sр;rUd)hJ8#X`8@ - --1KJ<< &Oxbfqԙ)"x}j.vi5Zp֪Aux/]0WK0e}maR)3+qˁTW@#^K MaIZWʴL6GlEAdH|;9d:Ǒ+z}TcUaiY\w?p9rxSBd0UVx^1J, qꯤ$cLi&:epPŭTR $vsJ*/'^ *M -5WtӦ_6hQ1#qDŽ(%&iӞ80 %O^):D"̉mN=*HKjzM͓86lR:j9sMyRnks\Mzknk^a -Zպy]rZu-ks\yjwnj\7^W5Z5;xi59Ɲjd:rkUz7[sFknj\nn]jߚ5Y8VWv5^ss^ߖWZ{W{WrmW.z jdzWz G=^Jn9wVnMp,O7^{W=^dSZ7[;uWzWժhu۞QXO6jՌzn8 mV6X\~XWbv굄ydqi 妵5Snx njcnJحk^/ʚGמQJ>h0Msjt񾣍)4VzYũU,PmtG l T(WWKa$?5Fu4l//zâ1HB9!oËmƑ:ISwI!R8.eEd(A+.bĂx"KC -"Z4i+l6C}ÄJFѫL.8okxk۰=MnJԱ/Qb mE+of[RI\`'*B[\Q;I$ - -Crjj2*,Џ* >E$G쟝'lGQAkaR\D -jp7#=dO?>kVJ,+8>&Z@Għ? qJ H11,2bLM*PNjR6Ae"8eV:/E;^Z%^E?/?=P?O_WOƐك!c4_`=؝EQ ?UVXɂ?h5&z6+3cTWyx%NwI?Jq!Dž!Jb$'.'l4XLdWf<1a?-@y˕>^ -JLHf l&1ST /W1OE! + }H8q${,`3fAؓKE~`m[R`=? -z8x;9Qa3̈́A1Qn\0xW_\p8IUK"6GF"W$t78V԰ 8Uu5D׷p?eT$)؜xGS}t#m?ikŔ: S-%! -z6u'IMy*`'h!Š,T8?NYtq)t}ԦL"PMl|>*_NGNjdHM$zL`tSJn(1 2BR޼Ю>PЮ*f8 Ė bW4\EaX+.=u)ܚ(f0ڼ2x0i!r_~5NaƤR17fU5fY42"؆=C)䖄 -#> (zkɴZ~,DSEU`?Ti=rhpR>e3Ekje;ydžiQ))}"0ʲUasf=V hۑ4`K*5rċ[M;pWon4mLjїwGLK-v %)N^l21w#UP:=f1#SƾQsSYMc< - }F*mr'7h&CHuoHq1&i -%ǎ'3I`+:|^~LSsXSC gHTӖP 4B[U kہiTЦztP7/ZM)a,* ҂OzqI^ 6Ɯ:M#uԾu5,!)yMhՀ6B #paBP(8d -;6[Bޖg>S0;ܷO?G كG HRi]+)Ț<,)&*9ybqL^tt=>w}Tx4)/z/:;,n 3NqS^Ua+.0yXO7I4elq`irMUiB~_7H@SNZ4I=멶7Z&G1O(ߠۺ1I? ۼZVÈ{E*z*5;,HJE6 -"q4]gPiiJLcJW^ǀ,ŒpM$QƱGԣcʻlIp6(htVrmcUGJbm$6XE*=ݮG)q1VGtG$]֨iUtF v+5dQR_THlW1iXV&cʘa:bMfgn!o <}T갤8ΐ|u EP@i"W -k74JۡWFN%JPw_ˆa*b6RW-glrEƌ[T4-1qsT>ZIuyusA^b+sի׫9vj^/Ez+quz\=^F,VcaU۹CT56xWZ*z\CkE\ -VÚ5^&ܬf-V8j+}^hsW"˔Wj׫5^s䜹W.R^zWzWsQa^^HyvͷW|zW6z5=^\jWF\ytpz]z^=Zu禽\Yc,+{*;sunyZb' SX\Zo+XֶV =^N·57Xd{Tcg)VzQ$=6<٭9MErRfe/NCVJO%~c}rm8cKO]V%+kX{}\'Ѩў>}0MGQB!啗m׸$VT){Tx -mIt͕"~xҳnP4k;Grdq-A&8JLrB:IͽYb)_anīe_<0M O: /T:Wl9C'U'MuTT߽qE>AwU:5KZZ0,hĨ1߄6Fnƍ9X%601+ e${CR(Fץn,`ek* -s:i-ܨ7xI46`?YHfj0ܑ}k.Uf?D< m,gks,+#s?8ik|)-Ew9߁&ܴxV>lX<26Ջ!SS'6bTfLGz+ܶ)۷ZȤ\?aVиmp-f< =E&:+8\|LUO؋f,I*c5TXB}'ypë4?î/>Z6f|Qcf2Y+1J(61lї\ m56‰=daT8uD{6Dy #N+GPonNkTasQۏAAcUbXn%),VUrj-_pǸ}cZa>9%z) ғyX}F`OWO)SFz4GOE_q(c"b=k5@b9/2xj#JiԕzLcKi_䑷s=P.c:msYUPc=-)0OU<d?BOOTR_ru<%TznjKO?~u_>g+,^}4g&B$W˸(>>]5n?Q5?G*>gU,~> PI܁W_,xdGSiꚜ@>{}pk3Q?^!Fbdl/fBicnsaLvi:u·T5&vFJa;{(S w#U*Nщ``x f ]+KY%9]4;8KL\{7NR;~4MӉU -Y YUk)nh7=n[H @Fg}]yPtՈ40ėɭD+ RYe7f[76XEұUe46u]D+΢&T=(uRp)wbC86Kq:QO}o_TC7)N6=Z26q33ERRU )Ml-:}vQ%/h:U!a=Z"z{J -{NM! -H MZ( BAЁ$kzU+.,jek?|zyRdIgRm,>8өTk)J<x bi‰%Th}It<G$59o܌{y i[{ ٭f-Uk!M\Pq|ؘ\ŸXkP[r7IV$Cp_.aX0k  *5:Qo&DkK(ҋ4ʧ>hdx([mbh4A2=a[m^*a -);`UyQ{=F52ŬNtM'PX LS\d) Cʷ6 4S]b 4REd)Udw Am惩); -O - #wa"jzزn=4N2hW_|Chw~΃('R!Ic@-7GKkA߬՟^jZuU -X[ҽ4@^=:aƦ$ %I,Tݸ\i"T8\%z@l -'{Q -ԞD"pZ vq(w3w"mƦX-'Z.D =0@2)-Ŗm-RRF4c3O8#> -+¶WVg,gc1ڕhDð{}l^)Iom4`ql*Sw`rcǛxVZIJ!&FbXOIs ;)D.sR 6*EӦ *Oj&I94J|R(u3[^mː"YIeL))v#\|x04|lԌFt;>\:~C¥ !S ,M->&VFԩЏomUNaz(L =NIut~PX-~A ^um 4oPh2fѶZÛcވ\ѓ4n> )*wʓxeb%T 5, [|ָBͤi>߀'] l ܥS@f)qۤ`QׅK t*4t?҅Xh HG<4ZTJpMޚipgK.kk׈T)(rF{tb7G$!#{x' -z]ej,_ @P]<=a!N.yz -67t,&-薳 "RX!JF 58tzielIhg)jyGi 1£2 ?Ɖls[Y}0X#>inm*Ӳ=$OL SCډO8emmTT p=3)OF%=#R5$}im~yjƒR~[`5 8rO!{ǛUҒLi1#]RJ4?ED|ʐ \;0Қ+=̽N-]Oڇ hZs|Iw#駩87a?OM 1RC9|nSA \, V͖08ɈaebAƔ%}gMO@2Mp2\30bR%6UYGiR=®TTq>4̾0c0VJ; A=tM3({oWn6?-^}/ aBnP]m8iqX+j\VjK,}8kU%*?~i#h?a)GQrE -yIp6m<^kn#O:j8<'Zi)=#iWK-'dU\T(_?!^Lr#R}{ &wǩ BoZTjZO>W>hq 8aM$QxϽ1}4YT iAT\qMDsLb."oˤO:Pާ媌 6U -Hht#+nen%$ڟڟ LJ5n~.o05 -xt(fs (O~2Tb !Zڟ,ED` ,Ԙ< ?ψIƄHBYcyLV`Mj"ޘ#HPuҨ4 -Y&3Zek8*{)^5j^zOH}H7 > -4e2[icQZ5-TZ29PQ~O֋8\%> AAJ -vQ=xu&s;0q(l4*I=2aW|x3OҲEk҇.JAsqfBoO5R~CPɑ#ItUN|47tƩgt٦v&Vi;|ȎU>Fzơx${˧aB) 㔜1ISF-oySMI7wo,) -#Wɫ13 T0ǃ.uoWpe*=9 -Ϥ&<*^D/nlZ'5/`)JE {<j ƌh/T2>53=U).AW6mT  W-fZr@mOni*j"(R)a:I]&*S~\BIz̺:3@_A:9z]WU) em|A*oX*k1^ ,˓P5<(z][E%; *qNW1eIbB$A.ӻ2$Rܕi[wc& /.8Ӎ;=)u(˟3J$wGm}m{8svZq4^2`KI!J_ᅑՉ~WS.{PHAQy4bբxH'K&hiӼKL%y\x'V}^6c%VF'›{ђj5};žhLu>xL`U%İW7ڣqu(*шCsyR\B\H^'Nj^[9^5ȧ+5Y-XWW7[[W ^W7+7[ʔ<ڬvH碽#״z7VڋsdצG[\j\Xr¬+ExkVUj{Wesjj]v4j<צ/9U^Ivy&YA5Z5^[mzUM,1W>j+Z^z׫zW<ѯW|z׫ÞVA׫zW[WW6WmzWWMۗ\9{W{W5Dz0,֢%-jo=^nnHמV"זCXZ\/ج2zX$kJlR75U2Յ`fkukՊY,mՅGr Ղw+G7[zTAz_9WlO.s8{6TNb>\N#GQc\p~#4%@Pu?9`jm jHz[T"ߠY?'}-{GT `dWU&~XtTJP -;x}YxQuӝpՋM2`=~]( ^#0Q6Ca;_xÊR14擏͸tӍwf*Zx׈ -(iMQUQmBz`z҄',x"dD/+XZxq -`8D̢B -Pwu:P*G~~bI>[Yd%Iw͹iGm2'\D$rJXxrƷ*J_Ӭgdc;C~&Mr¿xV2f04[?@p,v7vłA-׫mY?r(-(Q575YK-5[S^Ǟvnz]FS]]WUQV[sպZkUnz[ǚxߞuߛxjkŚss^l7e9ؒIYUݹp'1^`3 Y -'g hDi| D?#jdPYxd0nR˷ys,aURe'铳P+ ڢ'b6>+%1I+0 m;tΕEcI'SjH0h+8eb\3ëSG$2W -ڍF#Q-?N2,mGv^O%Tr! 49f 8 mqm/[2*:2º"Hb$Ir`NtGh.{F ix6W,Tpmw+Jf{<#Z6UKNĕ_yo R?f|/#B:XהsF(aSF}ꆳժ;m#Õ5qHa -hjW.EXmWޛIP†@Q;_PuSD_Qe#THݢSk[%vm06V|@+ۧ8i<7 -)0*TÌEagiqHk#}KGˡO M~p>z(eVZ.Y1}9hQaĖ9jb#Pˆq`bIW&Xh~}`Q1}8#0Tɹ`My@p)51hTaU"xmֶR;3ÚV4 _2P!swW[ΣVv@֝z7j:Bd |}He,e'RM sꬃp=ÍO*57N V>;sXv -90H "?AxijG (G,Z0Pg4LM0lS*SL1FY+f*)P"؃c\]neAChۆ)LVM(m˯4 A -LSR> -.O5p{i65]VʭRi'hEh*D0U?kpzA$NZ4g^kkVsuT/nT5Wc~z+/뽼jWWG=^KEz+MrPG4kG#Ez+ѽ7aEq/5j/nR*6¼+ws*rj7[sܬUbVÞȲ\Zb+fܩuj+nkziʚr+U6+ՓLT(pW.zCO)fIA:t):A%qFxvS!n´LUh9TJ+ [n me6yw+Єuq^̸o߽ƕk'sKFvQ ]4y\N젦`캕rmh2v -d֪YP8CҋS1ԏIAh&Ix$%duVx (,2'8ROG\c5PM;F[淲_ V3UC#A2a - R`-q; eJW~=Ut-LltPЎTGj$^ĂC,H RGrvU l(kF QIƲ-dˊ%$I -Eb/4dڝOt=PBNyеۯo*'mBOLs iQԟo8U@h5U?An|e|Bl[4.2.|g+5"~SUt?QfI=Zrە5p)?ӭE*;s*Y&+[RM^yc(j݀RDJoMiTx/n})ٷHu>ۈT=+S-n!"qf)EҘbW\uѼᘚ3 >40{RE>bBhӍ -38ПɈӿ/TA]:R1:f vKb_H RjlW›oP Eda6Ѵ"mZMZb"mA_~"J -44:HTFqjKRH bҨl_rjxldkrPi̍OeAj=eTUnb3o?vRHpBƃ VZx[G oqaC `>mˆ4.a$)42aKāAj~jgΚS匵+<э6*2]4lnOˑLhhykoišP7,\ {)&8UhNn"+7CFC(7qyu -)up 'tgmBWQ/؁QF Ҭ"RԊƋ%i^yR1*ŌY2+MbN(!r/J}zqXD 2ܴDDM۞W0ў^j^=5l禽5mW۹WVuWER+ח׹{Wwըn'EuVՕ9SU5yjy[iU2@UEb%ʚs¼+vjw=^^zXժnz\5Zy𮁷7[-MQZȭfVW`&\Z{䇞8׫<+n^z^z\55B"]y{ܽzf*MnkU\W=jq&zW׫zy ա\K[khV.Չnu瞯W;yU57ZZ -`sk9`ߞXPիتFq͕핀պ3rkRo15[IV*VU`3#ЯpAď (>-%IL~~E*%uNݸVBtm4uwTREQo1_iĤArݺNG 4RC/wU7j4@ٯ-F@e7[-q•@ͦD3$gPa2)7scBvGWKkcۇt,MMY7^s%?S(~I>»l(۲ =+6,Ma?ݍ>}as&h:aX=+GUg=cyXv~߯wo -J֞6mě7f7Oao_g-L\:6l/IQ(YgSM$q@m^%0ÆuH3IPea.XtKڠ\)EPHl3ӖSh/4X+jkk&WZ $$pRUoǞLWq^7w5[j@檵cEz כ*l-}w>=~[Uz)9o&HR6 jpuk(1 ,A*aûG5)mnez?#q5pwFaNcz'@аA -n~]X)cqPQzFKԉo+UPJ^ґ 3Nݍ+iq HVΩfqװvǞVӆ"JQG;UX<ԑSI"SKQ @2au.xУ_J-bxW+wϻO-t_:/&gdʵBg(kVjciH J-&? )]k#ձ_i]_Fق8qZJ2m"/}H*Fd>#vגht ՎRA c>SoПrO^2nvC)ܱ{Guu'QQ`ir~tU4m5KOUN[C&>/ yv+ b>9N-֏QkѬa1O.]f]o?-+6й*W*\y l`W`OSΗe$mt[ph9j}_ yI -07JsR 2\l7-Z wmNjMY$:lxdH״Mz"_G:.g)uIQJ*ZAU*1 -.f{;IH3P6vS ́hP4ga0 Tʳc28l~|GpGV+pzuxX -@ŒP·}tQN-%~H](Dq$ޫ:a:ݶ&NK -5&lurDe6R~- -Rh%널´=+&?N"X^K3bU'>:򢖌h[ʸ<҆4ǡ,Tj#\oDXBfv֍ި3a|d`@5VB8k-җB#;EoI::9}๋f409}'t1CR7!V:eE*j@C$ha٠HNiZ)4)eAB\/ xSO -^e\ɹ Y;IaLQYc[Fg:c|ڈHR0XE%}_~yk%Bq CNl7x ^U--vQ!}TI)r,O#I1oc 8ʟ' -|"6PCx\v$v&gmں,wmõk6\*)Ǻ"P-)|*)"}}' JoNʊgz,ۈxp<)8[S~_5G|/M7%tUqNK,THDK>r֚/>zt۩3I%={-ﬓ4}zqOF;ʛ`\)"4>]3^)wI3>#Y;&M7ƶ 1^_ 8 -kNb( p3JUE5O;#P{#PP+RXGT*%QW{% F+hSGK5m"*.κ#iik0H'K6Xx{_m*aBv!ձ$kONXlt ΝҚ1 !qLΨcTqJ_J2RvP-O_*d7 $?ųƋȡ|vIU|k -81JYM0 yw44D|n{h`-vCx, 4I&E( Snu );Mj8"}(ELs*ͩF %^m{TWq^y~]=;6;;MGuo5[a?[qZ|ytVn[WG7^ 9{=^/=^\z=^=^Mxz]ߛ{w=5z^o75Mz+ƽ^V=WGNV+W`ߚWzz`ZksX&suSNj/bc Ϟ* J;.c@{u9tOKMNamĦ[FUA ->܊KE$s<(+Ξ垕Ȫ^eVrf RI2y͚l+Ɣޭө]ϧWqJgi0P<":I#qӓA6f8,ÉaqH6_4Jk41T:a@:0۩ <)hq.VޑQhu+Ѕu+5wNf2p"zՎE=mZ#zcEW_e>x. -~ĒC?,W[-:%3{[uv׊GW3:4\)W%L{xd}Ma4SH*~.U'֛}'JEVDgul*&#c=oԗI۶e])^ѥMrX:xTP3Pm̌؍3Ah%!:\;[(ک&ARk6_:wԨߵФf)X4DztESTSʋ߷ pEa`,]ZhD $:6 {cp4`FeS~xo>Ђoxτ0BD(H,qWP+.+h+@ 8*ePQj>V/#t>nmÖV)QS0X-pÈce SCNp;h4f`l/YkI:l8Ut4l Q%x-#n 9xF6i{2っ#>R_Ul/(tОM| cWQkhnVW|zD_EnkȠw扯MvM&\\rXբǚWeE{uExy9t7[˃Ej+WzWzfkZX۞mƶ+suVz1窵V5[uFsժ3ZXn7^-^ܵjHǕREA5Z+ ,KJi[t5 e~%CaY9" ODŽW -Ԫ 1z5Gl -\/>eV³+ c(ɘ]i^Nc$x؁qCNMKM~NAAmIƂ^YUGZ}1;&#s"}10i~}MCu5#-sum9dmoLѡEV._˒䪼I?N/NR*k`IYiiFl5f*L"6& -({|O m\V4Wpށ"iA8@(0hә+䠘Z xBl,Ik7SoQ)\2N' $^ F#h 7e={ڦf H c%TD@UTX(xr7$c׫ڎz]7^<ѯW~z^O=^w=5 yWyx/7^@_W7^ 9wn{mzwߞW7^|yZz]۞Wn^z\~z^[kj]^z-nj+5+^s=^W÷7[E÷?_ -,m .X=Ǟ6-X {܆ o so~_TW!W1o{]#mAdc)^u>ZuWf^$pPhi,lW]@Dc15I*4eNAv(eYZŖA"z"mS,Eb-Ø|=|)[osFή4TG6h2VJȶ_JQbaJ e:S H\=;T?0륉PWہ'i9ѮM#6 \7KOK8SV%@" jtJu(t >t]#hj[SvT2E'cH&R~t諯\.HTRT>9100u -l\;0 ɹBVaҊher0#FJV羚|tuCBKH5 oܺ0.3X\zM"oPHKPՅ$%Y$3FEYb`1{6R/kZvzSëy.v%QOoލ%a8&^&C,TᴱA|- z2V즕kjی8E\ -e˘NсjLc1]?A隰%&htzzvߡE \hwdiv:iQ7bc]2xiI&}Dӹ"UҸ4\:du{60/EޖRx&4Fbsǰih њ6}$@B$-Z4`h„BUUD!h aY͠,O+D4+dO!C^`i*2v@E)J -#<=Ol{ 6=QQ/rww.RQҊߥ|UZ m uÉN/n@FK.,L8Vȡ ,"pt`SǑm[偤#jj-m:j⳦zyO J;_IHXMei)[m} ʓB'1HG})Y "=m~Y˨+G㨴yx\Y!+2UO/}ʝ\ *e;`~sgxK\M*+ 42}lFO~4̹M2:VA-t|+{}VyMk9xŪGĪtp퍞TArMX|U0!N7xIrfyAT\z%5h[=Z^[n+\[5׆zk+5RkrպuMjkyMt9[^y{m5ZѪvWVWMnk9xUsB]碷m۞WULh;suuڭ=U5)=`+`W%sղksѭ7]S^@ߕ8WW%nZ\{W{W{W{W{W{Wxs~zk=^\\X1/)/]+ycsW7-^RXq suZnzXMlcX,+kzH|9"noѬr7=^sձX]Z7<+Ƣm*ՄaW,W V VQ%jɻS(Ùp+_rNtQcýO49Rlaer?.NNĪRw2%bktsM[]-opՄ&{]wu:Q%ik_Ĩa5'Շ -\@D5`nʯ{+x)3hԩKVfGXǚЛhÄt"B lۖ*q6O|b eָuŸ ;5SMbPسrHܪq5U -z8< -ZRL8M0fȵDM6tK7Q1g{Hg};hejq'x[.; :i`Pز³Or9{5ZۚW{Mnߺz2W^2 -WK%Er^-^0禵lr757=5\^_WMz7^pW o׫sUכWwuEua~hn^碽^梽^梽^{GՎJ}n?sQdAt{{?_j4 ziɐVR7VZ!B[O0 ^b͹ -Hy5).E ǸQ:=5E#&rHSYL>еD$t:<өTs@P}=f:+k|84]GRBHGWj+[2Qh8>w.ClLyZ2J̀\JWXnm )#Ǝ##֌ҽDN -x3xY==\Vbf±5R AǺ yn˯6)?bzB\3TҒSed)$lU}8/z*/ǔ u ~gJ:#rLWg'B o @Bi)9a¢0nx5e.X[mj[zkD³L!ƞ~jc@{ oxmhG4T4Y'v`TqKf0M+p@.ď8"ȸN 0nq:R9zmE $O4,'S` ~qq)>fS&Zfh +G{& <6${X:^4=`E`6m.bDE$3V\ENP+k鱧TxLMޥeЎ^b͘JMKDQ}9bIhȣeюM#~Oj(媶㱶P= *rM.UC^GPi㔘Vvl -f#U/MߪL1LSܸ)ap{r3FM?AONsMP]]+Sk> q!pKLP(IȊ_`¥k&BHdRE:M 9FҐ RucJۗiGrܹ=L.GOU[P -VWH2)u-׿ˋeBৼ?Iњ&0؆q8S}Jt V`P{톁 8)2)8TOUQ_CO,ߕhյPIyh8=.! %2ULzpN<`=<=+|Ԑ>RFʑ[fz ywWNl -랯Wv=^ s뚚xsS75Su?S 5dB3E=&e>0灭Qy.ϦrD&m=6jxA)? T!Dž!Q*H׎Mc՜$yXEw7jufۯbE;d42ӲS -ҜY%?hJ3T'M~6"& XߍhLK$l)+U5息Э1In81y%EUO1hȡ8M2PTzJ,㯍am򪏴{;5aB nXo.[~$Ii QIjybT)t3%C/}OE dhB) 06SJl=B yzNfm' -ՖӤn:m,n*e NBKw @Ë54TR(1귥,{Ԇh("`-E>3 P± -]+O/PB攮])uAƗ\Bh(̪}=Zxfvui%i™Dϡ\#hHǡ]|ϙ-Uc8=bPH@߷ F"r1Uu5O[=L!n'DmZIaN0-fU(Q[BP(2U$t+֙2Apn(flZĚCf>mS[V6 xxm o~ho75dYVLn \M-{[`V=^)L.oq{3 nv@tIs=5E$sO(%/ 3b܄0ue*qv7E]nDE>xC2%s8J󥵖E;QM6le`ř^+iR)4:(M"/ש9QUD~1?.H/s)xFjYeeJkZBi - {V5ǯ^BNb{](+J{Jͧ{@_LA&mO}?E!{'H#0ɧQ)ĪHLj(N4z=+XU­*B];8P)[ -;]>U@ VWt* -=r -P~eMaҫ.ѿNWy%uI$iN-P6q" r:ňqjMzEE_{quEdk\LP[e i/n6En&0ϗ3{C8yTw"w*@$uKD O7RuPՐ؀PMx:1S:u#^X%dQKLPji:D|hBPA)4`ȧb 8*bÿU7C7K3E[7U5Y՜@0Z;_ݸ(S4 /4…GĝPʓLq1ltrj)-Sqb5Eʪm'݀͝ :sUq /ۛ"hz%_Ndlɇµ0)-Q{6$^V m -d^ra|&< ^rKj:YeZjOt/ Y.HI44g?Os(&\"qI aCbOy<`VF-.I߂pDqqe -4&Ux+RM%*ŠwX馧MMvp#GCO KHRQ<0tk6A1H13FOwZB TQoݯ'GxF -(OY5Q:rJܞ[M4h}::LC\*e^tG=FQɚ36%%#t|8KŒʨxj ͫabnJ9rSȻڶОMV5W6oWau{qC^TWw8+_xU+Mz6灊񮈿-+SEx+y5Zǖ+uq랫Wz[rƴ++WJtF"RQ5j -ЮrƬk`~hUEy qXj\7[nzYVNzY5C]0כaY"*jqZ~\a^|WsNzzWzWzWzWzW͊p=^V=~Z\]9Z'NnX=^?5Z۹Z5-TNnyqb*X/UNy,'p:sZ!V±Hy`,0TY[V3ۚ5;xW4~nX$nzQ 3q^EzJo^RAAԌΪ<`̭kj9B)נ RVET,ۈ֜FcVg,<%UA㢖wA=Id1KVd$>-lŒg>Od] b,o$PJ zK%4<*k 'OLms6=g]?Qt^2n@o7RE.i?133^Í5d|ZziYKcƬ & mmn$&6S§bMmvn2MXSܽ-tFzZFLPfCfb5X5MXMK_ -T| -jXWj)66{9fn1j'wB>ߏn8U֌xӞ5'ЙuRMe/ ^痯EvOn^"擩4+b*AHn ?^맣 y ڔ8K<,Ok')*i?aU(z -u(W9< v{DSz*}(Hyڠ=bHC8zxn+P0Uaq)]պ {WunZkn{mnW ٮyV9iÛ>zQho>սي`V0{{ogpEŋaYѓY׹&^Ņ[h-5XOR9hQ$ZH# -%|,]|q*N-*1=NIHvT :>$>qKvs4g 2gӂ)%v -,bk\Hʸ@^#ȎZ(|͛V%;-ϵESn pᠤFI؃ }\ROE=5tuΎDWuTi -Eq5U\"yԮ~/N۫Zcp~5O]3u8fH4ˊtucaqN* -{ƻy֎0y XRh߾pM\I((PAm  PQXKkܮ[izpsda-*]3=G_TfE w]=U(jzIO[CumF<=SxH@ܐmht#ݯmn4)+Ft٬XYJǞQ~m٦@ulEW^?LRgyus)[o戚PڴN_OvYIDAdl3(7"iBh \9IޜhDkcs|m㚩 K3FNTG]AdV͸i+,5O#.GnhsB>8q7魕 -!/iTi -tfߍ)KGphTd`FoU6D y9JڟeO{s6=t`>mkPKU98eV9II#rj N= -vcF mV' - 5F8J0_=`o3E\]UfC|ۂ kWZa=!n_&Ȋ'~:OȬwԒ|)yӄ9iMnXT1#͍O~Y2a]4[rG4}2~WQQL*Sؕ% MV̗ӧȡV^ ˁ5hor i׫-VnF<ѯW.n]Xw5^EmMjk$<ѪyA7[ER禽\r6q帤+ds},4N[";9̘]Oxf -i"h<0!e>jyS=4dPrE)c,w|JG7^&?STѸEՑNߠӈ2iݴLp1l߾ӚBM6E.N,9?H "譑AB6?8bvJlcᝳFi+h`[ljSko l-4JӅwS :p(JIS:?jʆ6*?f$"d;/eFiӅN_)&'T)Pщ -8V6JNEI+qK(PcpvyɭDǨbUt^8Rwkq*Q#^^J`'9f8n_3{ ~[QOga":~B5I6pdk6a3H6SەK*1dמT"k$O-4nzi)5zuj@|C{~Y8&Zf4]&)V<\ONӖ^ϸXIh+ pAnxDSVU_L1<9U.*ߴuJ| !5pXhCtZRb_Ĉ4U. 6]7c0tJl N3^50W_tdk‰EP8ij^]jp(Vs<øuiW6Dx֭c566"n3ptӛpehw4r#zj:{s;ym#ZOk m -'oIѕ0H"EU@GhLP2Hu]u - -Y6A{B{6S$mI^Ta1VY.>O@E› OX;u_d -j 6۰?Ms5OO]eyd};w4}ƝpMqhp;$4~P˄Unj*#*t7\q sxXcL)T~ªih',*5j ŸR+.+ѽT%flVڨt;@> g/b@P Zh]kIL$ktuh^{>_i.GpE/ph!t1 Z8Xd@)4bm?"$HRV?كifƆf*f&'e -.0EY |To" Q|K|JIiZ*އ I&$ƴh>txtQ:sJSYժ^[yxWBnnj+Q^ז^^y5]֫b؞V+d+Xf5kj֫Xs`֫gtՀmW-ߚV7חJsU~z\ezmՓ9ErpGu]vuֶ݂gN8D֫ƍl׈#=^9uѭ<Ӟi7^1G9DjG9^ҷ,pTyO5QQ7j}y$:>`PE 1mXEtv;c98RATb FFq0ibQOg nD{q%aBiiTخFnQκO ǎt FV_&6>?2¼C\8qʚH\N"UXs_M=`TLj -wzf"EB -p탦9&~&Y/HJg7⇝Q.}d?*&󸷓Qe>Z FC*D)U $RM@#;+g -?̍tfS{Ty"[h Pux Qf2LPe$hAwN1z_^e$<3Z".P'ӌ^+#hk؀F4E'paBu"oۂ 1`]Lbt -XQ”"b)ߖ-xF4NUH 3گÍܦMKi4V?dwIS়zNc([jv:{M ATӍX5͚P%qUk§04{mgi "x馼O((94A0cLHS -3Sl4GN߰S;})cHQ[+ -4 ㏤!s -l -7r􌫅 9 tI,)a{Gx>1&4x}…z*'l"- 4&?q+zqџ"8hrX,t #r)IY4'^#)z( W ժ SV"i5-1^iVtWw=['AW=^SqՁS&Z߯tQ= { Am7i`I +vhaZ"b\5b[ \*lH^m5aHEߏo:gz/IΠ&vI$kQߔ^0'΄`o!I^8bn!"ҍYt6'xcNןp*|rT%ܧљxLN=Iz.uƲBW*)Ck#nm qX7.87?#a,"PlHxxR6?G(IhI IE<]O1mWGNz1OkZË;f.>e*)ꩯ :{Q<]jLO:>9Rd-II7o8IW/}_8IKY^BoG:_R)wױEV8iҊ<}q -$F]ŒW̱ЂH`NAM9˔jb ?ORASzG }C"1ԎG,G~h/Ĩ!R-nPE]"~fđ^9#Ì[H4ou{pi@efhBb=TFšt [NTht:Ⱥ]X7GK_Ǝ8SK{PLk:{eT.z^Ԟ7[Vnĭv͊ĎjkrW|׃ߞƽ\g -֪sUj=`WNx׍xzXu랯Wj/WoWz&W- s`U yXG -2yQ[*G-kV#\q"]y[×Wuz\[W|zW"䍷Y9x)5ua{)T|XM;Z8bFZ4Tя釭ܳMh n4)ePq, T'a4{u㎀Eyh(HaF]U:(R" ,r>yIJBTRLI]E7 9njDUhb|e?? -dq2I}"-Jȧ^rcKPdX,DNj,ԲE^WW"ժ瞫MqUW9]8wnƑ4 .{(- -x-ȢmBi)o?ƜhM<ˡ*pغQXP -z?koZMe?_R9ݙdzd1y~QT)˘2WDE_M7PE:>n.5XQsFڊGedLN0vw5VdjU ƗF ǧy2ixƍCsB\˥sHH1b/kx*hPkZ5d#^)HM8\ER u~p -@k= }xdPZFELЧIB -&$@/eQucS3R`Ssݭr -hTR8 -t (Ӎ<)Lz>+=iOcGL -I%5UaE}CݸrMPR⏖vsOhSO]fRj`o0(NP#؄¦a}G\PKXTp?Gm,He)R+lyJq?*kFܼz-͌+\_W^jLZTK*J٭sSZ+E]ZM-FFCWJΩOT, V(՝8 X䶄6pQn -r}aղ![U[h;:8lpTT,zc:k#A­Xƣ:p*]&&>:?/QIT - ˕K%F*t8+Ӻ<؂LSFӟ^]%aQJSr~PVfhR=h(F>Ymaj\V].tt6PV5䘧?C] }Gjj*)zmQ~8 -E&bxȍ3T X$OnTkJMYoҖt 1ƾJbG,8SPԮfN̢{궼UR"#GYS\"bm/;j, dy Ei[S*>SDΈUr?o *r B SⱮyfAY_qrE:N}c|pRai1o*ǕI~>6Z -;MFv)Eqؒ.x=8Pq9/6sa[Ti5R/p3aM )i *d4Q*Mj*5c5hbݹ01%Ok84{tӣ -%vŸ׉K|׈cJTxE+)1'EUJIf%=ä́\w= eW7nx.5J;o A׷ִQ*=}*5d4a
gN0bT~8>*G1REpr)RMvn4hi=zL̰b%>YڳIAWFܬ -j Zx+ -?C;Ղeb} CR7k5f,>$""9DOVYsR+K~znxRz+~z\[5ytnlV )o7VPX!/ @|@=QqGD k> Dp["tj:CAY!C`d_*B(xoWIINUc/~;U,W"fCL n5>+D,L r90`"(T/n[<+w tML 8+n43=͉$R׍$3ILݭ(OjŠ'.Hbp -|K <In-$MS@Ej ~ RBpd1ithLet.EPF "*Ŭ)^: 6Xu ЕW-KF,\4htv*T;+lmNa&{i6Qx5/̴MÏ!SL)jN`X[F&):x]N44M}Dt'N"X_[q"1.uiGq)g1JU`5`ъK|, FkXE8ko,ΡPG8Vx5]gUtO&Xm8I4`&7SsFrgE:Q>iSDEpa/b5Sq4xP9Ii9COBS1'{{y* -:^ nͭ4MxԲ6ƳnkOĥ7ÖM]1 }z}X&>@ߦΞ>{kk{6lF;e=)IUUbEvyzIO4:o0NbوQ#R֔"i;ӧ CZtl"F: -pi@ d뮺 #̞ҐJ,M`٧hΜftГӈ-M.x_ʘh a#P }2u>JuI(xV]ʀq|)L8J -_1YG <2hjāBgH}uǗbh؏pd«Q.]qli#D4p·Ekb]t2\r5^Ň4jgNx - z+]WV碽x׍w7=^[=^v5iWaX׈حV'W{j+ůEps'NV\9jx9{Wr=5J榭57[]YW%^nf ssSW!+VJfMtحsƼkyZ텹Vu&ʤ1h{_DBPe&-SE侟dB"tʾ67롯@ J8e:9R"JUsha]sպ=^ -HV+ZszIaV,(ؓMϼ;?vMzF2-.A?VSj{T`Dln]X<5^_6|X2;ުV.o ,FMfwmӅUCkb mβzc%3 tqqZ.T*7B+=>Y očZ~]Pv3GtpʐP`й+KE$Ⱥ0W+Od -tryi`{n8wEƞ! HƎF^)8AVin* -YSդu!ҪV͖SYDr~'0|e1 JA"J6Χ6nuJ8+ ZSecofs'e?]A@$= N$͉]5@S&st3PmqkC -|8)d7nSLVƄl -|Č :؝9p**3c̥e5aOv&V8ʰƞ>))4);M゚W/4Śi)݉PۖHl( #v|=†AƧKApxfnH}<:0`2,; ejjV)0H[y$+iQX!ɘ=͘}I' -@8GV3zXe%(H2UKʑewrtWeM wiŽgEz+S|b8 `4dž짻gQf_0ρ⥦3h jLjdmcѦ\W mqfooWWW`X\H_hi SNyUJj>,<8IED);ӌ~Z,HPA4t$BcC'YpLfX1,oێz1Lsa8_P> -23@\ZG htE>k -&q)8Ѫ&Ls6YTǏw7uCNw GhMK=kGχt -Lk$T`U&Ņy3x7[O5ZCI(@4K4ףPH[K\vPքҒ"сn2iH3O=[ J/29OtX{yaW^~x|ÛmyV(M -\|cvOl@6 g;u&|iZjQF x("~g+2iˠ1 Q618v;Ck_gyf64Sbu.*2$#x#E8­iS -iT6BddRӰ'A|E5w.O ,9 TqNI |J’%ﵭ~3nKTۙKMU0&|`6 -D9|{T.M*SF&NWB1JDvs+'}rb2XGbyfQ~nYPߞVDmygSU8`G+URp=zrVu˚W~z^Uksq[:sskU~Z*]urkۚWtYlyb+\]·\CV.MRk ۚjZ_5C][ -W`ߞ`Ѯ 9Mx{dW+6enTsUw\Vj\H-V_EvZ_o5U^-֫;]jM)+k8x`oĩ<5`kFǞ8֎5Wvnn\z^W$z\BFz^,n]Ӛnx׫j8-T oVsժߚLl9^lvnX٭WÛV&7sU瞯Vk͚bU+͊GjbZ5i,yG9[["EFCWLoV4z;sU9zHtjj4UnzQ`O=^5Czy+b1n*~RMX1O$"`}sk(ueNH3Ko6%#KpڸLǕPa5-@[o x8)y&c <ȘfTF4 uq>4p8 >UB ~|xƙO'f Z -hUC[kwEc,Q|eeF2/ap4xRKoX]pkh{u$hUvT,CnT26#,V2Lj,aB7naxV-ET$7&f1Z{/euJ[:BŞ$,F\k( Knf8h)kӮXQr2O i|j>j™Ӎ':95vӶYz$䢸gwfE'\JH4"`Vek>FM,S hqW7+(m]&1ǬѬzë&p `GxS$qS[_vZi>_-c%=c /a{Zv[VE  ߍn&$`榫 5˛WW"]sUɡꍊ`yaI=>sDl W@oEk嬻 8:J܂ amaRyX0{)[,'Ua^'SZYG9!Rn(ETpR_b=4|8偆PF-5BhiḴe߸[骶5RBl;K%?,AÉSTꔖÍa${8-)0i>T1' -fJؑ.G` -(?M4#o“'O'K,i2ZplXI:ERޫObAN/[}4J]Y=ttBo6yGU8W/Py:xωcy+*1wW,A/CK}/{|8dӱHO8ymտZCU ͻ#k˶+jΑ h~:\ -d%IN_TU:=<" -8Qe8+gUd]t'- -vNK ߌV.֖xط@MuP)fߖ+cI?}8LSSR`_֪T5-;[JA(&+Q'B9WKȧ^RiqÝ;մ]9U"0) ^ޚR:dяʔӅ+0\߄(,N4SJV}_e7TP[=m=8ÞB렰7@VԄ+ )qMG~[|BP8VSP± ܀HRR0 -]㘲-<CEs,{hB@HsGQ֖d|9Գ}}WO(piڵ) Ðt+ u=\="rͽ O.=؊ 6; -G3HY\aحGY0UIx?)QƓq>L-V-ܽЏ-x-rh+.A0b,biɧ檵 7[ UȦz*Dk(6+F\֦_WDssuywsWכ׉=^:{+jks\tnj+57؎lVn+q]_d+s¬+·YAܼnXyz{Wjh!+j\[< -#\ǽMziN@J7ԟ)a|);ȚeXF`|27HsLDPV NJn?u}Zڪ.5ZjHHepupripA̒Pc%]4G<)n!HK~;O)"iJS! DPyEnJ'FH=(AYhk+B+ -Xѳ执龬OpչN|b{sժo^V 8M1DXߞ<`ߎ -aTL{X?ȤdAx8py*˜tR|S-ƈP z,sT>\-Z*=N[ -;_Mux ssU"r~,Mj 1V؎zkdLyT7^^f+2$Se[E4Vh-qvV)&x_i6cQꚬ-{<-2)BqJH(s ^m)A'2pZvR=jk -EeM>USMO:XSScR {CX1*Y}d;*sԋSG UtuܧBAj V0 km> t}V -4dz^Ezc9r͖5,ڐOt扊T=yM]8ZWWXAjzGYL,UZ]:ESL2ufq~btYI' -qen76fÈcHHGO#JcDž!V521){5Ui?saʴP6[xE!ZӭU9bI>QJ[NKL$"Pڂ,$@VGŽA0i+q?`{pѝFxP[3 6(/>PҚ•F,~~4Mzp{HukLUH)ƟmD)Kΰc -y|=#(dB>q2@~|hPAG\h7iSS碮*uyNܡO)ە^ԴݼyXen:m62ᆷ`UӬە"ΝOI5k{ƴ0TQNԟ67"V*mNmCÊ5ʆ/qB[oA~Y5&%^ZX0H0evQS'm -QGaztPʋn@<\U)*XӬ$`aޡ*" =uiyNg*l{y[NZS -3;8SR7CصHlR" ]sP1I* NMvq<)uR5HsVm -YV}+3$"V[(;ۦwy)֡81:Ӥy/R TwHh}ih?.V*.'hD<PE/Ut&QjYU핺W=^=^n9gr~VIǎUrW/WG7^$ߚWV妽\a j9^5XuksE5] +n\~lcU5v4ʮ4UnFtmmi%UX[5hyyFzf5Ej%t׫t@UۛkwWyq,׫6c½\o~6k<h7xzPi@Fޞr% 2.=./ pN hVM͔hJ:k e\MJqRf- v.⤤,SJ7Acm8U ڈI3c3mtOnjV4qTʵ8msBQŵӅO4A}"4EO7$_VW"f7)(CFK0:'dVRpLIeiPZۆglS%ntSQJfQx~ӈA77%ECD2ة԰KTTS&s.#IWFK%IM]iL=S^9)(qjFcq>#BJA 2l&4Dž6iںB0օ,#ot}F L:ez/f2Fr)dEyV -=WWz Wp!'OZM*U=3饹tS45K6fEs9攚q&*$$<T -ny-_N2]CG:1zʑO٩!`OY[ P~ FR4WeRJu9q, h 6c#8{EwjgPTU5*'c-/  k:RlJL![_Ae2G9Pk@%}d#I?zNEJ*T&W5ӋJA5 APM:;Tz )M56: jEy-5 و]\)?t+ z'?f1}'8T%hiqxxש-Jw~oLjDR"uºyT0An1NP_`=NƦ{7Z6 p+a].$ȥDӄUUIJ"5&~V*ΖhZf5 NZ73$4㽈^+@fX4!ZB4OKD+eUsUYRI]}=n)KCΐ⺑25uՙN>* Rrhb}l?tдt1 -8X{.+S4/1亼4Ӑ I!۲x$|Z˔!Fl8? smq4k(̾1z Au ri)Tbrc1'![i0W!a0U1m]~ ,XN+p 3*FrEJt|K$l\\>V|OUKmXĪV/qG -EJkʩ:B-_1KxKWci `wk|ABJ)`y+Mnbbʵ[Clqc{_PUeɝ0.f {]f1jh=1,7K[_+tuq"fLNhkh$[ -$JU!byI`>J4R!ÀYYeE>)`cA6![tM+& -}6WmapkAJ…JC Jx:: E:9@$ XLӡdɘFsQe:O?˃6FO!a"T@ -j/qƚe6s -Ę">LJr Qc78^pgx3Nq"zX#y[<4YQ褊A5]qLQ@H| -QQfKaF1!QSE)&/q".g2h?l9b yHiSvE(E8Y~-ۿLR7UO'>hTJZ!GaDWiEԘrFOc}9`7TAF?FsUj[5L/~')K4˾q(?x[8ne&sKc cK([W{ eY+*_Bm굞"sDUfFn>͆'7G5qD(#]~XK p/Ii!nRYӞVxxRNnY6 \T4kՔ+ՑNzY9Uȇ5˸rbbG7VnUқsU1jsSnz-5yWEj ~z+q^&{exkWַ75翕WsVԃVE#^jkvp -gQwnXcZ~n]_^2[Z{W~n\շsպWuyr&jGh׶ u«U/^۷++ÍW^z+ sb+r9W%pO6kƹ7+1T7^W~zYn9XWBzqEz`9t\Z&\]s -uksZ/nl W9\[4Mh\Weqg7^ux\^lYIDS'/8bwH͵'56Xꢏߏ_g,ize S*̬׷X)hüBPSȓeS3}> 8@4ުVgHPw8[HP%>7 zf]@$5b&}jYjn)Z^{(u"rm>6x\Ya5 -0#҄kS5-VRia Uy\©NTxTVV[ss U2ѕ"̓Vӵڮqj5pR²0E.IKr*5OVw-"=MU<4iV&㞪h1W1<ح1O]3n_Ű:v1kُ+5E.o Ǫ,#x4j5G0#SKn?jS?.8d"4Q4ݝ5b"_‚`*VmN#AMoF3ʔզK* mANtcL8:\bp& ߐ2'-;YmahׇN1Y̩;o/8VwL.1_ĨoƔkqJ~d\oiAe{y5b"y?/crUQn8LS ->j){+-S:bޔk4jwujb~1xMp  rH­GKA-l)|~/B'm>6U`t8tj* -" wRD\XE|!*-ExQjI -=q&תyj 6([E\8vmr|"`uo8I^XjTv.x$I4_@u렷(pp4,z9ױ)iI“xS|U׸ˉf61,ʨ Ƕq #({a8":`o,U: 798ցY9yn4sf]{{ۍ-yi;&uB,Di+l6"ay*"`iX\STN9&)*VSR~qIjv^߷-1[84MnyZܰ1ULwqɚTѹ1Y,Sj{R8 Pǻ)iڃ[؞2E,q;'_mZ|n0=OTx^zY窆Jz -ߞȨӆ窵 - 93W7gT4& dv<|R7RfB^ .4F8 RE8,[]HWR'̶Crsv<1UJ_UY!9mR)CcTy{hnjd(qJDl0c ?)!PbM- OIqzVoNi“SuxCٿ9z $y-qshfϣ#njV "\.`m{,uM4U $1wa 4'5t&b~ZRUyZ6 -P{yB&BO\J6&u*b\_=Va{)uc q}24KՌ1A7oRՄK `J/ >c8兀2:9͗j4JSC/cpCq)袗H"*,P>EqDS97UzR sX -/ZN@H -+Fŧ-Z"yJVhnoez9C^(yf^媻k:09U,gVxՕ =^=^۞W0zU)uzQ^Uбj^$Ns]SY$zk9=V8媆IA7M>V8s~jS ˪S:ayrQ&i[e sqWR-b )qN5k1 &4Vר.yoc')\pUSzAҺT*Yڝ|r! aFߦyFviQ~kii~ jWz>?-= 'RKhOk ^*<̯;R:WGӸFX:/<73Ry|7ݦM)hSxV+E-<S~A~aJ$]ѐ8֒i_;*HVҟ?G6mfE-.+Ep R&(UNmH*u< -'p\˃ҍuF8 V]$~5l 0j&`0#mH>JJdTO~T1e&YYDSV+ -[ MXH|&>DR,= O <?G &. PAnvxiۛI(R/-tŨ4 |`)Tm9]¹^|9mdRVpkƕKjiY)4 *pyԚ+|56,Ifi!a4C؛}|lёVc oQ0pk^@/SiVu`:_I(/^iwWT_[0&HI4i#њ %2KcLk,SQOM g'KMN\v:^hèdJl-=Rdl7*, k[6Rk?E:Nk#U\{-s aTXƭݑ(e4cD]| LYnI6n(+˸%FHYd]:WӶ]f|V`,6xʨc[ -ϙŖfex.Ar0*AzaO0I0ō}˜^")՜w} 1Knu_1gSJ4}d1U,HJL6g"E -@w ^G/ӯW:kp[`|x]\+pF/}xʱh4܅],mpO6S5 ?.,y+DW,UI@!HI*H9)'U-T5W]'Ԩ+4PSH,>#lSkmI -V -"81Ki"TeY}tG PUNIS1jl.Sۂ;3ߣʈRo}>^͠[Q*i%p4E7Ra]U-(U,%~]-)߰+ʺ :j\,Җ2yE_~|T7ϖ4]=MǺԦ).mxӧ vv07lNdiA5X(-/-iʡ:p -@媈/ѡ:{.9rMT F,qi}T&.{ةUr +gw -3Fs426Q^U, -sj.ys 5/{XLE0vƫ:ZCr6xjb)/SNTTU94_4]֊&6^-O)ԂEӧ}wPPcYUH@ I EQk@Vͽŭ嚉 )Q\ه-4٧WKhx4{j] {q-E8J ;I&σ+ ~h^x^LBa{Sr* ßV Mj9yRߥ$[۷ D,~]z7 򩀨0EgEh6 _)).k{tUse5vʴk=Rvp8ZLFүs=Ɩ054Tut{0{ - 2C}?H7X/ei#H5`O 2\mBkVTԨzHULtMzܬVEߛԨO=Z^zYPy[p*DfzyZ5V#H k:9ʦժߞ^oen+!7lW-z7V\z+7$9d`pp5qgXX!=͕A48+x,U-j+armkH5M.]q,ȧʧh%akvLA4iGq(p|ebuv~6B[JX|=$EiC -r̵!|sQ7&QZуɖ3Dа۲vacoˎ jH΢EXQ :]C]iG4@[2{!*mgPǍ&u C}~ BlT8nyJ5wwU,RW$[5C2= -nfmjOH'AIM*'CSTe4*8c/JGsv\1pA1B4NRj*#nomzˊHMʚT5^s0[+ƥ'nxV$FܱTZ㔯T5^k -HSc eNjFt*/zY5^qnYwiMwnjksLsUjsU6^,O7^֫s鮴Mnȟ5^=^EzkJD[]bמ&\41+,dVr9ZsWsu]nhVxUJM=^7[/7[k{enkO.q -.Ô_ƻ aEz)F'r9XExz^]-~52j m@JE'\ޭ扚M`~\m8Tye -TZdyljoeLYW^;U) KGp&xB6F/x抮Me饗wKLLPTkY{[,~UticWF>t:ޜJ` -:nM@4Y;A;ypx]~\u6FNf/H-1SeŢ4ؼX>ddF"]T,7M.͒$sad2L#1Ա᲼ *2q5j8icf9Vo$4iu9l[{ēLhVjcev+nOĉV;iTSL>Zj -g0=o4)Ƞ +/i>SP3%lu#XT 9{+D:Dc*p@4 %<[37ڊk:[(M [0vw4u -‘EAa{,zjɔq&ӸS,/*8Tkn3~2O4Y,*6Mͩ[Si ܔE 9m^Ke?JP枞S#tqd_x=Dh3i_pI >;,Rg^0hP8dPw G:yVƚ.XHݭRXn4ܩ \u~Ăx?/Ҧ\$Q 2[ -6ԤRqmΰU$IcpTPFцk\Wr(n? -!qThtq 5Rחjurj(Mj*J­R F'njY/5KuRGsgE*ՙjW$g^zYssչ@yZwߞW7^!͑^Z_vku6v׫pkS\Ajkku}wW7Z]lѯ7.Я/~4j/Mxjy^EZzÞWz+ۯVn^'D׎1[9ZVs^4ѭcNz]yjrGW'a\bH S&E]8䜲&Yv>Ys7;hh K5ǴiM?R!Bby[Q˶oU9VD)>QF4Еnwnj%dOEHGNPE{LT'@cO-q{kkt :P}j_=^}=ҙm =^cu2*OVM IOPI@P1;OV~ (|x )*_рJMK\aSp@[T1MmۊI)3\A;" -Xȷ{O[l8o\5A(k]/{o~]6Q9!Te/.SM:|<|R0C{yVsw_YCwQB? .kmCmBmQqq{&.'RR9hx:" -mX2fF%cBN\ I \6ʹ򶈲 O[Oxq:MGB<@Ijc(E:h+>%Y28ܨUǖ[ 5kjiH¼ht5കfߧ;uDVIg}h57"ԋo66yS -M -L!c$,MRbyih+7[oW4LO|xtE:GmwdWU^$ oND.}(+Hs}^-1Fi4JDTu]isb?EYT^ /otXo⤉E1Ɩ^j&RB4lqI ߉_ø&1~i04f<e"Wu" r:G8Yr!Td¥$Sck(.G{\ HcnG,fHmEB U  RCkȹMߧRw?gump+n".)>V)q]oM7buʪ44Gv:}gxI_eʰH\dZͨnYj½ǤۛMˆxME5Q$s0|>#O+ ;݆uW!K0o1!4#C4z?Ʃ{QSf*HKdhCx[B\h/Bڠʂ&c:rVT-RƼ*D^n:k<\zygSn\W4dVR)^onzYbY7U>҅XaYZ9FU.zͧT)μ0-V򵺉Q7ZHV63DSUh:slH,R45T qZ&i0"cEO^*(s Nf,&G?oǕ8UI8AfÅFaB-☪M1t6|ʙSyhh!44wO{8u,T,qTB믷_BKFcOb c:~8+ -Lɝ[Bɼ[k/kplH%&(%쥘t wn vҵN?%&%Mկ7(=_bR=X2ڣƌLv0H_P4kdS'9-L!K۽9d mBiq[w2%!bA:w5Ey"'/O ϵjRm@6:LMi!:;s[vR12K,̔Ԫ]S3>!d@}V45 - cb -K; h*Ƴ~5YN٭5#׷6| - =?ǫebnXKnLEgEqW!Vt}Dϕ&ki+=6mL+:{-P2(nX_ƞ"VE:|T/)\M6 0 ![߱࿼$m 1M7 q %3Kmem׫۹{W[p+św75P+:s^w7Mt¼MEZsU5Đ6*ǿ4jV5^ l9O XV5Uw:->>P4&O+ScИ)ĵ#ip ߴ񳲬0a \!75q -/}# K356_hHfN(tu<8i)e|&i BMP()̓FAQƙqa -غ3 -ul4ʶH؟*Nc%"(?]vOM;:3in!&)&bYPm jmӺ& -A#a& ;8VA3iwenw66bS!;$W"?2aS.Oz>S/cg?[k8SaOQcŪ0) Qc2}^$AJUY;Ӝz_mU"QYaS t -M gEN$V[!2٧ uW,rF=Qrތh"l+&-rML77]5T=elp)매yfEa1Om,i (^~`x>ԬV0v?O{)*7A1g1 x⦗4΃Q3nd'޹ѴN0fQȲD4wV!H@ԛ6Bzz ﬈;NVPWLi҉;lrT  , Ш+f9iݭ9r ۹R r$V\.Th5} ] žJZ/9P`= `oo > FQIzu WJei+vSM/nnƽdBY#xp+N&ID![^^h˴Y4 R&I*LjgT#*E9'=Cm^\ٮDQ% p3²AnXGN UȤ7$66͸0jϦ (=t_[Oφ)1H,#u~91ZSUAy5?-ӡ4^s7|b ;@߀*>t"Jp#@z6CR%0-{(U?KG:"HLTN5ԌіѠ_TL4?O3nY)o -ʠҔ\+]>uc+J#7M8T7/J9ݛ>iH4qiGw kO⹪OX,l<@h%'ZBΩ$2uD8$P0~u.jYudCi:DSu :t~pSu"ܸԨlTWTtj>3l -M`bq#L͜"uهj|Țu~DR4c.Sy,;Au/HR`LQɹlAFX8k/ۖV5T -Ju#Z96K"f`G<׈Лծe[ -6X}ZUbQhk%R^xE&",,,/&N4ˀEMr6i @hRdS-5.a4 @0x{rwe]xE3j Vg)ǽQN#lan^6dAegS:j!>>ߣ -KK_P4e1O_ @|cQv$ljµ5٣2f2 #Blƍl1yy{Y,`\alE;&8&h&۲k}٧HL)eEEUd#OSGqQ__UO<5U6^$Z7'm*oNi ԨLu@ƙ*Io7r?E,s -XH Jqoao)[)h@D'R<yH#΢Ԍue$m_K{y1MJ.u/E;#H 7*k7D2gx$,]M5Mqf/K$sV}Ik^\3Z")-ejӱP.B(N&&- A'se<=^@M0ƒXZ&"9x. i@҃j,AHE )6zıj2Foxݛ6Mti1}eˇpcvuإƕoC:'dh*-_I4[O-MƠʉ.>EZA42ڥ ]LZq=4"B6 Hp:Bl c8^+hzaNmve0b_\nl6eO6_2Sh')*$/LBJi&&vb,~NP0:Umk$iUb~rwSg}+0MֶNP"iw:QY&b؜χHGn̢Ē~*KT9YR#Z4=b +c5Ra7VN/ʓ^2.j"WVx7[5*U+87z',k"PתT|zuMeNj!Ӛ̍ǔVEu)QH o=K+*Ls"2FKiŏ+J")ۻg(5 *H -$inP74m\5aw  у*³e:z/6VmB=%-T^+Ɔ?@YJLhi!;}8q&]^e)LA$+T`绪pNSVDJ$Og2ԚhԮ=Rg9fO\x -SFEWG8u %TKL++[K]"TsԘXl7R:M6Lٓ)$B2)j8&I^zbG ;wXq͂LQ#C㧖84:mmtTWC(]E, 6]P}4TйzXb*Ҡ䍷Fof -@Пg,X@E=ad4S୯^E0(ty0A -IDS>jzw7=]uWZ\Xu)[t!Hhp - R9: jALǔI馒)VA|6^  OZL3J†6I,n}7p%"=4}le4q}zfeh  M3Fv<~<$p0=:wjlGxTf$#T=x*XNz&J Nv q)9Gək-MIc{׷xA5`Dzf`Y|{G6iݴJ}6/'`8M7p~2iQOzF:NZHn-Q "3NK$X@qpnLڈUa@F<QpN7N.h1j/qc}zLЁ*žRz'AGNCWԏ?]vAT*SwY9O"o Ӊ)J.+u!jC5OƥE,|VUjBvz!&*3W$bÛVt7hk*^ܴV5Zm=^ߞW-ǛSn5NW5kr^s0VnߞW+ sz;r5b9Sj{ -d͑^Z&XqnxkM&565[kwV0h^:k$֍y,q -vfX\0W-fk^Mn^zח5Yj"\ok+hMd 9rUz^ly[[j z+zV߷=Zz5mMzZ\@9W~hҕ3h(0=GMOC8RC$N3Gc6:}y¶4:z:EhdHHӚUOzQu7kTS[0%ivbb}|Dݦ'4ZSHSX_T:2 *4%c4NGn]_ٵwb*mnxȼtAe#X,i5Y’hwPFOFdqu;5յ@nm{>t5Bf>i&ZTÓ}η|}/kjdNL`T${HI~>TʮeCٚs݇Jcy3 e#Nn7׌PQ^^qzh1+!~rLY@ J{mZɢ&)Pk -k{,] -ce`sN^ݖS ʨEji!߁ef{on%p`R4I :wn$@<*,-_Z _U]ZE3 JC GE~:45(e(#,8*)e%pن)S3Bn(ubF/~(bfi4,c!-+&U`cVjNB\R oQN_`uoi(f)Ҭm -4yr#M/$jRhPzyzs 3w -̄k P yҕO#?xvT`SĊ ވ8PsE52SYӖԈ;xתlqj.6u>ZRbR/nj+|jz)+Ց;he:Qdu`+*wUjȝeNz=5e ~z~z}yxsW{WozmL׫suf^1[ÏsGnV]7zkĐ9jvEz梽\~*EXnh&]tꂼksXѹzخz]o^/BsWnkÕ99XMb[5h'3->3 <]OouG< KYQF"NkURPݸˌdtobz]͉8(Ҡ 8₆t7SMW -{vԽjNSp8TG#o{ê)ZV\z eMX\<6ULcH躙uOX)2HˠN-AFhPzeuMI a]ۍiNRoՙ/5U3Jv\碴 S3򇨼O| 1^T^zAyh)Q~mۋkxsjBUJ!B">xDL)@Pg!scgl$IV?[2Ta"ݬ;x񥫼0)cJ ?%1H?:Ե>]3}y}CIL/rL1؂r]lP%zs(JE**M~wZ (ypB*5ɽSռfj1ѸT5/ba477}xRU}'+O -'G5j2M5^4DD5:͊TðjR%ݙ͵.MiƆ(rB> aD`-UֱlM 6U5MRo%yJ5;qi,XU^4ə2nH7<]R_qӸr*qRR&.1?ipim?-e˪ P}@Y}/eF~GU>KeGeSP S;B(IƛRyk%55Av`8m(uG :5i4t4WIT =/}xLD$`"kO~0(&3N +!b-pjc\p|B6 A&0Lx4ۏM2[PeRF)=&R7׏]2H.5Q@o{Ge@Ӡ]\r f\f;9oGr&V̊_j -h3 -M:_j8P.߈'Llgv؍@?UXQCI$f_qM)xVNdhq]ӊnꪥoJ)(d+nR,S$\4btTsJZ?XTtZR)μT7kՔxW4D)n5M5ZlVdPGa:{xL<ѕm隆`͔ XAA<`F#_zBw' -)Yykc nɝXBۑI4k`@lS*0nqӁb~e8f=|^lElE2SUbjYA'X*U#y!=]w$ s}oy=6\W-GE`8^U.i;PeD qo-eIpL9 }/϶NiÅ+(Rz@U|>'Ǖ piA 4$E\LJ8#V2*PWBi QjbhR -u^G4W.Ĺ@wqJ: MbR&zHyGu+ Wonh6Tfjn~2m4\)Z)#cpo?*M~gU_XèT^KKТlƚPSb}K7<<,~-SJ'aBVe2")*nX,)',f?Â;Hbh -/c0|m}8QtPaUb8mbAqO -^]Űoru}Ǜd|&]θtT:&:%65nQ֟눙aK"nZ+ m>|>`X;$|4ᕋ]Q}ÚӍ -ZnPtuT[@F-#oo4%JBFڗ"" :E#+ LFNT|EIP唓C̽;7 ~(E*Poս.^}Q78~^x-h0o,HxP7ѼKLH}5&i;(,JZ88%J)#a…m_Uz s-;%ES1 mOp)XsL9rtH[u&HO&b)-iOsʂuMa9*: mMcnG?3JILTƧrXUZƀ\_MkjG6M*F4"ej1ۭ܍Efi-e˾'yY&gM -vLmO]~zkԖyjkpP}bl#.8Hf1߬ -l0.<;q(Q{ʌ b#Qʶquq%HicN$P_ #hc _8T&ire;Hُ߳ZhAF%g..ᅑqW$Sp@-\*){98ƽl*S&/& LX5O$ -xfF*{fxlQp#e'S&i?Oma/\〥M5=C}.:Ti`@"*֫8SlTWH?M9B╁5N2I"F4PK׼M;;h reT mMe8],5siBW0\n6B-+wx)b2[X3SR,eh G)hܞ R>T0g*njzGءtU:u9<)Xmq"́!Vm @ӳe/Tzt8au7.v'㨹ldxfV*]um[Mm,.Sϵv,TZKR5}/rLtƉBU=NhH :!iIAҥT'P D@wUrZ$EG T6PT(~jYIW~w -8Qw -h8҃6 -,-]WP럣UˤR̩UՍM4A~6ɳjXv&U%EWM|4cN͖YN@GMmTMIl۲N1LԎ40dWIOÂ{V.]ޡWE*Bx&FԂ)%bPb&qyJi=R2E;I<2Eb\A Xj5`+b& -0M}[!EMQn \B'eXVSYF[yF4v«/*g)S?Dž§iJ޷9+b$߳nTm!-~97F55;?u]4$(I\:I+5PuINUu*B^.pE[tS):j)+h)൘~e܏$"i^W%]B˪54-{8y8h8C>vȸboZEn+# m7"dB1\/{,p2'e%y#WR|Ü0ls:2({(Uߌ -Nk:su 戭 )VonxWGߛMgTU9hVhW*k!)SY^z+*zYn_mPYQWzs569MjʇNz\udryjkoV׿=^yt;۞!UzWWuÚW]v75U6գ]WӞtnz\\ժ鮀#xz+&4ej0(`y_̘_"1`/Dž# -738{tcjzR -5P' -QdNHZ\CܑNxv`i){\"ӬaIѷTn.EvBM6@8PmԜ0dbx[JqIӸ#zUOm5'E4 -enU 9=+r&}DIG~Lvw>߫BGX1 ()(+aElE/WF}w -`B~Wbv8Q0TǞY V,h2R&D8I]4 $ӉHzJcA) 5Nay0 /~ ->\S-HH$FiE,TX|u2*VqvqoV(N  ߧ8Ӏ]5<ǵ}}3T`?./0bI&#w R bfAnn*4%@y&HM584S-D"Vdik,O&4nL}@3t -) eL@UoGm_lkn>7sx.$3$z퐓T i餏.;?lp>sOpSW.{\ 2ԡ`w8`J*ٚhʘ m^-[e"xfH@9gȵsoJMm|.&뛎_.R,*pհ4[-ӊ$ -vV6355`(-,v!@*u^߈"- (=6TWUùAr=0Q1 bM r|5Ċ.:_:cTOy(ʏ4:?&]z<65Mm Su6PH@ ُ -1HMU5-utiҶTPM $XX8UIAx*JPMPX{}NӂNd<UNP"VӚ#qEX%V:JdtP@ ?2G%p "&c#HS ?+WXl۠f؟w #_vM>qƴrxam7 yx(o h0hH.q02Zۯ#O3L$R`h| E3Or)$kB.Ot].pxinDF u&' \[(N32]t"f nFelAQLT U^QXL8 t -B\QIh"*$WINJ9,/oT) |hrPh&bmuO sXU5Sg _KtmC wY} lyr$X TRL9$=rM/ F{hcjwP/O&rD҆1ARZԿg뭜xL"S}RӺݑ\8`H_8I*2D p (`&`-6 \e^!AWUrOON%Ham{k6{uwhcW=TtYX&)6p,CF)< -)TQZ8e#b)tO%-[{2$GAi|+/#ɒBn<8iW^ -qaˊ$"'Tc^QLuGDM_zcM/ ?p++UwaZP -H%0`x=4]-,>XX5ԒCЏ*HM8lO<JlXF=G(aVqkG{:5D4E'Ud.qҰ4՛ғ2$Jd8ejUSOqW)3ԽU:U߷~` -j壡p?SVNw@R[6`VOÉIg 9A&XHnC2yЋ-jLi[i)Uhi~: m'c/¶~K)98pEbh|8i8$VHi>U}uu}'8IAF&=ċǰ-{F“~ 4: :G8Ұ8W;yjʅQ M( ?;>%T5U !h -n p=@I;}(wQdU%(=ĞxL9O-L@p2F̃q; % $%fŠ^"s|Aj>ϴ3Z4czsWDA&)C;JU`M$_0H[s Pa,~lh!m`m~~U#u3"VHfR?rcIwmN8Q{55IAP(8%WE}Kp* S2+QgٛuL|60yjUpULVm84Re LzJjW_ m\!QDh*Md&Ev{vV [$jjq$koZN(Dó!u6Uw 5ʣU|Gߘ"qXөrH^5K_~Xt`o$fJzn8Y„jHƬ^"MFaP~`bSPR$#jԴI[6p괓aMFg13&w Qw3NڃˬkzC7#˼V-~"*VhX_^/(: :mQԊ\$f̒Dl<. ,n] 3Ffꅴ1p! L9OUql SnxVaĝmk&t*?,N*:*/vӀgVu tO UHz&Cׇ,i"anxaD"1~xתD sMjB-LcVT՞.zRc'VHz'+ƽRb9JgrgۗSYW-Z| -ʝʵeCV7Z-jo=56nʩ[t9jvn\9qnz EvG=5+ƸuMZp֦$sպ9zVj+מ׃[WasuHu˿5U ^n^w=^禽5nz^]7V`պ=r Q@ˣS/Z9a't%$Mk-ŭ-yREQhWb~whB;( -wgU4ƬH;gP 5 1ATH ӊE}G_#) -~N,qBE6>~ fyfR9w؏8;*4I&O~f;WmPOӦtڅ-3 -M]nHN - ӎma@3s)m@eMA`9< !G΍EZWLXl;=8GR!KX3o"-DSsF Qfsh5&ĺ}|2+Q !j;EyD5jeLBH_xd(|ek~(>L40ueH'=S4PY U.JHqAүZA ت ?l_pP7OhCKۇqF x LxjM-BUf_ -M|fkP(zj^P3ƍ@:[dɃNV2e"%6'}/ќ_x\h >~iGQ`. h كsӑD}rTe&>:˨iPM4,!\'[niD.Dir ΄7JAZlCAU91uh /Y& E9uZ8m#{X 3͢2_I")=OD )p/Ng5WE"UxNG W`*H"DG+N~ȸqWl57TBZ3ma`셀]}hUi+'tT .5(V+@Q_gJPIOXwS%r@͡LR !PI xRwS"VNs5feaKw"S A^P#*Y4a~<*bh~%>z}t742':.m3KF"M=ۆTPˌe$𙅂4sp<Ln9`~~ fh:0ө 81p%q禴ESd$$|ufp G$EL)H' -V9|k?C-qZyS\iŠ6T,{dE4q53ت¯-QW >CG= AqQǓ|4 -C x?/oJ'WԨj\GGL$@";iI;(2\5T'cƂa9>X;XPIjh^cTB=\^LĶw"`A#lɊY(fʞp|Wu sӘ%c jkv牊eNRY,9' G=^z5s^Vy׷ߛWV-nz]~z][qnn\FWmr#o=VVyS^͊r׫n\yx z]#uעkFyWa7[ȋU{sb\ըc]=^yv kmxExHO-kB~n\5VZjsU]oV+@9qf5U{ewVa^x皪׷z]s׫6ěUߛǖMj&I/-Z dߛc\\MQ^8WoVkmzMNzXMn+ZMYcf7ZlybX6jHo8nzDV6jXΜzH9`[5zJyam(kS+^r[/۞5'+V'=[s"+sպ*ߔ"QjW4nzQe^j*]9D^9NTY XTiO6+QQזTi;[kt`\TN@NigHNE?$tTχ+WؖOIfd -PG#t{9BUAp)#P{[*U `xTȲhQOkzg -T,I_w0 ˦7_4G -I\zg^Rqn"(Yնs02!::vgWTgz7d[$uI@"݈)DR(tC g߃BFlGS" &V"EHpYJVM+ѭnlYj 4W 7yTE]ֹ?3KAUZã!66:ŲNl"JSnBR& ._<) `4Ɲi3CJP`m qR$PMLh50B'~ׂdP Wk5u? -^HJ͹ʱE'74 -/y2fLTSK$P.;&BvW7RZp+~GN\$Z;e6#)]X[ (E45+d:1 -|}r ZxR ԃs' -qFEWo|[:I[4E"gn}i -N⤂0j1R98WBۮG&8P"JS?{>)zmĒݾ"YiZ~'gTh=B{q{P&*\.K 3[9gKߔtT׆"m@V`xEdղJvK*N';)0Ap -3%!;$bn/{8IP~dl_V5 #yZS&LԂ5BI 7˅)-@Yi}#̫Z&xo--'WE?t@NI3 IIbج57G:ol?g=k_|Z( ;owh(群cY4Gk({8 .,P&*ʲUE:Y'/r?x/ohLUcb#o.iTUnYs<~N Ȇ;)x*a4PޑgHbƁlvס PiI -2hQ^T "jRh֫"wu;̇NlW/Tz*kb%5V|z^g-z7[Ú5 Zub7Z]=[+^j5[+ߞwW۞W"j7^>z\Yz yr9qcf Z-^3[WAV^ZWz5Xn]WǞW_We׫pÚMknz]~z]=ZZzuzsf5Vyjs]5V;{s]מBWz_Wj^&j]כp_XVb.O-W_Z\yW nyj55Zkez1jrG 8 -RdE=O cIV?tDSlaJVR z^_ -VEe,LI)r1(:ւ.PQN4Q+iT -웖w(miVEnǑOpcB!nTej*wNq -i/S x .\&QZӪZyPXZƒb1HWWd7a GU$VQUQe8"sJ\KxEPOƫ\ hnÖ́gC:pH\_^=LM\UIU*w Ej^hle'!8օ&1?W,*i^&Í)#R®MHw{}>»E/&alBFuvu463I,LjhEͿFė)a]4u;f0dM}8"玦b4q -awP<.<88B/dcBi w}NM8zT<(˝-lr;di$ KEG͑WI]}hg~|ěɚ@0oTSƊxgeLJzyk2&" J~1lR2U[[OhQ -+ҭ0fb4`N=fTI#/$`uYan.>qIƔ3Ny+1و ]jRi%icW+(KFH#IEJT(Nu \M"SsJi9/K99aR<j2ڐ| -zcW/=UM Q Zh ->]c1Fec1,L_4&$(~9?.,͊SNɴ7vݫZEN' -rQGE3UmMJfw_gkpγ#. - -?z3HU@^*X6ayBV8Q1g\2l [L\.߷6HUmDhKYW -CO ehQKk#RuY@_Xm[h6߉Bj(e\^Y*'kȧk} H#T^æxg6J nS4b5c-pڼA%l| :-#g%M+ǫ_9 -ę!H*N, t[€ÇZvVpb,$ #PMԼ+\P+ysZFYyBV*ߪbR)&?,;;9VVAzaqbِ -b'-4_[qYH4g`IH;1䊒>IWUcI3QrTC4`1mŨծLSIEi%1?y#J q¯ƻxIex ŏwxNb(Ӽuz+:>=ЕG՟Fn1)N -6fBq&"t,qyw}G8V*Q0J -@+ӿL L$rOl(&.+KKWghڶ~>cRn -r bHլ4> tt1\Sf+׼˝pgU *o {rSkIYW.uL$s,HiX5FR*Ʋu kZI]OX׈nYYnh]9rOc %.{;p**d`(\lM:<"y -io @lOM#uZQߚ7e -:m 6lNBz(՚1cT5Rc[s[kf ӛZ6k՞jR<+z'5ƽRa55^qzYدVAMeh9U ׍V5ke\nT2@U=z] mmmo碽]n{sVnb=5su=^Zj5=Z"~z]o?+Zx@ۚ׃[x,qٛ=4dcM %opߚF5[y4r̅8ٿ g1]bsՁܤˊ -M1"1/Ey|U5 ̧!Ui6uZfgtA'Í@N EO9žK92>'լG1V!Kf!Pe ÍS4E:ϛL)?{w2'QYM͓SHDՎ&$S'銱LGJ[]@AdOQ\ϵQűGg,$?E9ZZ9Iwx}&Rh"K{n8lHJy&.ď^l^c)Q墧Tih\՗[;EK m@"N?;dF=ꃊPU2JAk_ÊMB~HЬsXWV0>t_睬)$#mӷʹ{pMKߥ blj 1:Z4d1-8~r"Ti#ZՀTYt?N6Ɩ@R_~ayp $q+XA *7RQ Հܓkp V:<Y"1SB{璳NFR:O7g.bY8(wm8yd*Qr -R/F9Lj%֧qo `-˕Y#4H5K2a+-Z+4L -}/ {xƲLPUՕ=_N8$"NfiQ#b2R9W+1^gSu44RԠֱwM:D@ti2MZV񲕾 -MOYN\.LoV3saq])8h ^z|KKDz:j{ NV4s&vf<,xʹOPE8(21~,1 -)HMI6ۻG攐 {m')Ӽw-e<\=OR@$vMZhDGALVST͵E`65zhz~KĥKWL%}[3RʱRΆ;Qgvh4QtxR+}98Alnx DvbqzBȕ4 ʶE:%#]HY*c)'ᩗ0ifeR>qpE/E8DfjlQ[M -yzPOU]P/Ρ<=;)XJ|5BT;_xiYNXȑ; pmtƫ>S^MrA3w㍨H[Ҟv9ʞTwxy=ܺfGG -tRRHe}m&) -OPo,H"If{ pU CvPVoM=qq~@V1rT"6m}\['`3=f`0+N~ɯx\Y׍H^zڅM/YWp3H-Jר]Gkᥖ6vo!ю$I3Y$%cߋE!Dj`.oŌl҃N,=[1 rj z'6k"+RYW8^YTzۚ8j yzVNz\:sge^׍׫5^)ͶܬUk4sn+uБG1厞K}q#ieEN2ixWKxO -*{9Jzk(zkN8_(LӀEN%m}mS+ev)91{ -=Wwx]NVx$%0czcA_SrM8[_Tɘ#;$~ q(^h93aQLh?R؏Qq/TbYl5ݹ["\(( M )}TYHaM*0?X 6)- !bJGS^z 1I?=W1M@X,?4EVRU3SGimK<8Ѕ*߬tR4 HP5Ì>4@RϘdv6ܽμQư_WyH p?g7&9ՕPfJ5F ܟĊjet~\RCq׷œ -՞r Xt75RPB)0P\_dW6*]Kh: -݈mfznh}UkѬZMI?sRzbbaeY'mʉ cK)U -cU䬅E1qM%4嘽J ɴ3rUuIJgb{)?A"`cݬ;.4hr^x|I QM1u (({҅,7wjBdӔdJb n:Zi^e.e,ީB첓x,D&O_$mն]A S֋fd C6&Nx+Ԫ͕Yp;!ͱEx'E["R4?lF0,LIGaXO:$,zT݇0'hJ ͖ia,w=@(T`ؖ/5;M鰷hQKL/NR8,j$%@IG .RR&Ut.VQaPk{w<'*;hdO_v)@j7W06a˲@5U~1}G"G3 H0@ -3C/sg ^\>\>8 }| 9$>^ "om<5ұ+~!F6a3R'C ݢm$?=CʼAW &ǁAԚ~dlQGSMbGm~B-礬~3<\o9o6%:e5OI5 Ud:> -0LL}D [u2G)n_.QJL /XEXDJXw=(fI57K,-Ϲ>[x @b\ybjKMRE:4ح ԋ`># DMZ+#~>2Fdj9"hb*}Ṭ$P[!F2QRCѥKbEุf= fT,g<;)>/cCS+WiM̩@ѵB6ny 8b-M*H;8TE0UOWs̵ho].<~4rp%Q7cQW2ac[Eu&*!~VR"6Օ;q^hתJ-Ɯzr½\iW4Kr9NꐽЬ"w=[ћ9ƽh`jye @U5Zʽwըuuڛ֫>h^ rUYXlמPt*,pe:Rujnx֍xOj+Q]sUÞWߗ%q -t5n{s霝=@z]:Ve yZtIud5Z͛W`z]Ukj}7dC;n)c*s,O~[hw韧,Kno ONjNCAkV$$%FHX -?>LЈ⦺PAʓOE׎]( 4߳JjۤXx7vXg f1_B V[=>àEMAF|~sEb)0rISE6V+TGU)icP;,qQ*7 ~u3Ը6wD(?gok?4L:&#e`*`mX?>YPUp0]g|Z69Sm&@<֕K>Vּ* U{B׎Cq8ԝN6pN(*wyeߍ$U K`=R'1ᕙk[O~6[ǦM?_3!vnC*U9pٳtGpFf\1({7כA0*c@_R:S8V6"\xp)pQL՜z, z!V`wݮ@ )zEQ< ,?>ztv4ܪ)'^LcwFȶ;H{jʡ>MO K-Aaq|yEz&,~'y(*QӕۘؑT44o:~$<ԯ\ ?yHWm]a6lǓq\Ss %]Br/ kb6HTT$SG7i/4>sI c[j8Њj];='ɱݯ{xD=Bu2Sg\E~r/}OЬ)f -#BxP'5LsNn.ī$g3P,%u$1&_e\xAԛIapbYk[_~ D.(F\bkaô-*rWbKxaUઅQߔ*X"P1LaBDRƍNyYl qvT|\39#ªƑY#Mboph&i#.K}C@ӀUCZƁl:MUA[0hAaR8׽r)P۹O.s -u=4:l¥8sm肛[X%`#N8[~2JTSZ 6HH‹qEFb3Namx8R5Tfp-~58e:#!e05qA?G*os@068Ll\Tbhbx-.uim??˶B)82Dk|FOI:&-*œJɤQ/QEđ{bbz:9EAqOanǒL$l@张I\a]'J\˄V -:!"q?TruDZ&禎Qp*==du˝<Z8؟]xUܑR4Qh1Tlj[ܒ7(PvV¦,bئKQyd -kjU|Ҝ)KCK"jUCQ(*`yt$0})ȱUVl.E[x'jݪODɒF@WЃ~+lȤ֊Լ?8K.ہqA^XZİ׉{_sE$V…af^Aa} PV7OX.b*X ;|OG4Q T"pguۨ 0U%؀ &@5>YB1) 㽂nH|iTtP0:i̘ES{n+TmTI;zB9Q5?;#yRp4לw5kHT:.+jUbGM+/H%g,˚K#-/(+܋-#Qr)=]C U3O YC|xSt!Xѻ@QzSyD0{e)iƙjEe:߅恆GoaogP0]Hhꤷ ,x`/4;[ -MZE5ZWsggNVRPj\@n9f{r+U=h׫*r9eQ5^-׫4zYVÚ"+**߇=5X`8Mn$碷]1x5hakUع;y[+Ƶ^/nz+pkuzG=^1WHzW|zh=+Xof:rj wsWӞx뛯WWwݹviUyro=^k ɘGTbԼ0mGJ{FM ?~c7UA$1Eտ.9Elc,.~[› L$A%Git <)@d-Yu'=JNI> -l?!aj -aƴZO*`.ɑEW"GH!b[Nd$iAjQR ɊAiUfq8jCW&a' r/kg -\ OOЕSN{Yq,TPt<`ՃS T/kFEgVy7B36Isg -Y4mzTxgL-K1;j8,GIp~5iPXg"\U>/q(KI5oBvRp4y ?HU6TZ^J`8-5nnaM"TZZ$;i$FY(uR^El kis1BvPٞ0i)p)*_vÄ#-PK\VpӍYgj" uݸFѤ!Bw -&sS:#qS^ʂÛVH=[jFjY zpDrC֊dKg@K{%4@*hAWxSC<8)qrڪ[4twk9>׃DdٮϺ*Ogеh\vRvqU+ZexIO5uDP0Rvk*t#QtUIi²HlUA 'R!{'.Q[=q&\)W#i -UJDЫfCPKR-Vh,Ք(=wOhA$y[ 5Ek} -;bUExb@ -%ALʢ,VKT I)AT5K$s1 %TZel: rxwknJq^] -.h;_NMH%n>g(Yƽ'%lc~:q%E*azLN }ř ljz!L YEŽ;꿳ʺ)Qq4F}&׃"TA/o /zHRZנcϋXUlW }p|O_(SvF@y9X </ox(FwN7c:ܒ5LAr[jIFy.0 Q(Cg69MKOSJP:?|ESbIy撥" ~ps9WyeV2jǾʇZ  L=;.Gr;_N:I¼R(zsWa"=?Mqn$ iLlcL2yvƂFWQ.iq3%K7 ("([㇚MdT -yG_T(5j ׀"_yCGPtz ةZf\q#Z'HX9fF=CHcJu*Gڨ~uMy)5e]6z8đQzYS鬃^\U&ە -;qʵvߔ"+uύ{U$^W{W{W|n4Flt׫׫x{׹vnR+u۝y^+^{8֫kuukn]S@a LLi,,'Z -=2ϻoh&M#CE(׫ ֆ@oO*#+(R@SmyPqPE);]]ysUj!~rbnmsVeOh̑FZ8mn6Tƭ0VsxJŶ2$[rR(:DI,l݆{OhDCqV|`~Gie$Ե~h";vዷL} 3JEQ!b;X )F ;7Y>:TAE+$f(iY.4Ri!@OUj,aP<ƛ(FKNPƪ`Re_{wXv؞$ЮXT+΂,ϒdtdnchC*I(e|BJlb| >:qs RhuN1bۃ4] -xӛScu+ OJ<)5, 0K -<*Ԋ2v&eMχ~E4/2et590׌ېirDӸp{g *5p7'o/r8ȓG㪘z)GEh  -k3Zð[$ﹻ~-5e\+gNlY>h { 8?& K-VgLV4kȘ[FhB8jhzx 151b?Ņ#S@pdDb -Fnw0ZɡO.`q)R $Q"4ߙ2I^Ss V^Ia36ۗK{x %y (6jɨ$8v8/IT;+@.eh;~ -`5u §$ךq'm)*g&@cg-BF+WRaPd:Ul}gBxҔGxz*nч n%MƘaM,>ChJIPNƑ Ǻ^ J{;(u_(WuZ agb{VӈZ2EDԱcT^`HbOyOw"6$hĺKй pB[o~!eϊG*S* *+@$y͋IN4Wr\N> -pGےGL=5,qTU%ϴ[4)Y襏L[ qZ,Q< -ܷn]B:dRh~YS#C O`\7m!X>4cI$UmG&"хIc~^{xPF4_ cCFUIWo/)*#+^ѯ=Z_Vd%+^W( z.5Tl׫^z9d?ǞEc˸f91*ߗMĚjź-BG+"AǨ/ܘ$ӖMi+ X)XR]Ut8emXF#ƅ,=N%P#6rHx]Tpk>͎ܓ~M^J[S0X0(2n -.۩E@s]Wcvx·o╢FXM. :[9cUJ̡I[33ɸl{w=&jPW&ۜ -̻뮖ǖ։HaYf`t#sZi;nKu#[-?_V4:ߟ2䩑Q`,EԜ*5/ *16QplxbHƒn|YVEIJ x!B۸La4Ah4˓sB:wH\7Gp(VՔc*"X˙Vmbx̀hXwN-LTK}n-vtz*za7M;p\ThH1K L,{{[uOSM$]q&b,T,k6S2.ӯ c[m4Sp[7|xT6vQJp$56o3v -Br ;UHԝ>6mhn35%\"\?ZQp +1lUH#im{JOl# - u.cTK.ҢK\ >yt6T p¥1@V3wox]jOmBϦU -A<FှA Z)3veL\[p -'8H; 4d,f )Xo/q]몖/;."<xtB(i8Ӧb;vm#\tӬA2)]ASh44ӫ( `^If{N -W4>W7ȧHr7P6[ubLt1`95mhwe]N4:}#@ZL2⸒E^Re$Ei 7T\0g{N5pM)BlSެKXMD1BЬn!Ԕ$`I4JU:7MYl*G1LüƊ?uE.SorR t6UX"W - ͺ~Q*$׉#4EDT*ʺ8 t;mN׵f][q뤊BO=ZZi&R~? -nÑ8Q5ũH1Cf'͇U>:"A -RO+PRXYFq !Tm55=G i_EflJ)T͙7I YQkxq:I⦀Js̈֕k0&IR/ -@GjZ\FbiPyk~뮤暶m3*}EC*8c@5Ơ`0ʦ,R3gyv -:T2^=Dfv8VɱB3F qfNUuKG7*~0-\ɭ#[|NNM?E@ >=Pzjka+[oC~:4M'VP fQVGE}n X_[‘[ ܓuVGSX+3X ?.2"w4&4΋V:wU9H_Ve#k㵺ʜl׫4"Þ'gz{p7!.[Co*LT|N@@;~|EX) oR"JհU)mi~iB*5_M5=b0(S5ym2w^VrE <ѯ iY9 S ۶_m6u,2DrE"5GcrΫ\d-C0 * mG]yZMt]jsJXwm̠Xk[*v?:ePȻ|=x]P#m{ʒԹU>P_)d^/sG04X,2U>i^$U] X ؀O"4Սɗ |u$Tf bQS{7O5y&'*An{s+ I1*".t.5"))E)hCk'z*.p%3Qth~65xŗ0 "A x[ÍkG'ի~>g5HE괝'a+@۷}A#̑½SS]lMGߏ#4mX)jMU2]G]N r -;ikm1z˹}@u:؝x/&[>~) a0BEoB>dP}൞u# o§H8RA(ə_)D?B mr -;[RfPy}Xΰi$=Vpx։BWS%Ua52U [}>^f^}~NPʾT$XGNX'PaN~D^PRWa'C۠eko<ޱkE:KNge7t_Nh?ݙUJ\jE3`/aJyYrL {7ssUEhJo 0MJOY'V&ܴT(U=k6 RkJ,,t =p4NIqw%A>$xҀ҅4XΆ\}|ƷܪL; diݿS:!#ׯTbh}{% 坘-w )+u{f',-"^Hpө@MHƫV;19(L -q;htP; x3L26ӍWHƟpVJ5(%¢SJ hqV\kǵւi֛6-cǺC9*+vU)+LqHC1Xv؛iH Vy/'.=1y K0I83UʶoTd,Ym{b8m1y>h>uUi˔c/" hWmDIJ6đ'_Gb"Z|~=^:3G TU~C1I$l$_Õ)MA7<i=* oA*]f=7ӯoo)njivnwש;lMn{~sZkICx$FX_; fDk<,>>njV[Zoթ`ӒךV)?ǞV2O=^8U3VLժu^ZH6sU5LxnX՞ Ie7t咢"DQ}Q!"ڃpT;[[^+&#ԬSo__yl -kbXܟ߉*ӕGǚR*|BAekǗB*M._ԅ}^! m@tSN]`: -Y(dVA}Ksaz+VBon6;Rk]6M{ezjseYkkժbhV|0YRgH$^̄X g&}elA*۵Z~S^P07ԍ 'Q'#2|`M*lbM] @2~ p-`m_4)vʜEXϯܛ5x޶ْhƊ -l¿<.jr;,)R $yRjЙUS4E+Q@rNR; PwiM @5`QD#v Џ,n=;ݥjLMYi 3Yb̂ÛW4nVBvz\:r+^N61VEkfڸ3R&=. mXl5tZ+" Zo9@q+ezEE,t\ܟw6bX#**qF]iTxS{`x|mÞTL7Fg5e, ]OyS[$dGxd5M'5b9cGmIQ *Mv`@k\|_83pb/+z٣b _ov碼i.XTr8Mzi_&M[:q;__@[Hx%%mDTM8LVSe[>ʄWe6崊?dp qP~q1RNpkW cU-s랯Wv; ($iqg5Z5~k @, j8V2ImSoi<5e:As5V^Tb Ae{IS48I@µ8ןZƽ:TQPcǤ7#Anx -rK뤐B"f1tߗ P}>V+8+ n&c,a*_r0=۱3^)Yt4Mv0LRV%#_Ex*mpmXnbn\S䁁c`"4>tifNZk(7BsuU΃4kU½]Ֆ-G+ZRk$g^V+%=[qnnh׫*\–dѮ“x -ysq[H7NjywW|yvnj^&WEzV WeW㚯WzlWjmW&j+sU7["R9nn]_W}uVw75۞W`kݹU򵹽_וWo׫zyx3G ”ttѳw"jTy^oOQ' 0 5ӚԺ\,˭ָהE;P` N=SVPj0Qcqbl8vSdOx>m1cmNו5jQ&4*\Y.,.[Roh[5*bUjIRp}4'5AJ֩ZUHP -5VabaX WXvZt&|A:ۻS(2K̶#s }w5UA -p/lx O7UʬbRӿ:ZS5 -Ye6_C_V?PHX"U,~D׉AATd<ʬ -|˽fPnoeZf>,Moc]y:UOTu_ Tsȴt OJjԅ̙VAO`{}XEkMk@^qo4r7瀚NIJ=7]rhX=ָ M}ñ|щ$kSP+t~*j 1lT>s}R H6N۟}TC7MZ\,n=BE&] -^yiԮ?.*M' -9MۛVNzeM=[5.zYW7[>[ejG׫4f㕭ȺjYTXsUȃNx׫|z!8rFךkՑyO׫Io<֦rx=^szWyy7^#lc~n]ߞW[=ZĄs[k]u9x8nz^z:R+7^z^w5^ szWWu~{ez G=5=,ySZsb^ڛs ˞WtXz]sZWz]=^oz=^{W4qWr9^Mxs[kuВW7=^{;yqcWGN{mz=^6zW5Uo:stՅsq^oV6~nEpsnz5j_]y^5ߞXV);sպ5Zc~zIʚaV 4uQV?nnX%g17ͽ $|~sB]z"}q`Ok[>h^zL O8 p>~WsumnV-5Mh9Х,muùj&Mkk@mQ/ox0χa͉dWD2YW}mUAy(+ _쟧́3Xq|%IG)wV -b)4ku*qI<7Ϳ.։FhRʜkm1>eɍMSnw55,h^3L+#B]Nש+tޕA ړ?Sjԝ%MQ4HMߞN4Qy[I3Pi*NULx֍`.Q*SkS-:p9Z@;ݹ&8Rs#k߳ -lhæG,evr@Jgmx|X|pňR.a952Î%3U*NT1t'>*RtSlǐpo XQ@7⩢*jrպʚz*D"hT }\lնVl>D -u5Ie:rN -ӒWeZ\|{`ۚR"tI'n$ ~8Vi0Bȡ -o+`j$I,B}?M{P9.J꒕K Z~lVHZ7 -+osg -':vta㽿S^Sl1/^K~Xօ(pl@ -׿ۖ^# ĖB_m >"P2_eÕYU&T{?g,5}Os5[X%pjj:4sbkxW935U"n`ga^lU&jjE iǁ0Ik}~:r5m<β@wGG͑Z,RDL2p -[icCkv7aUN̤Y{]>k>ZhWk6Ooa;NPjT|2Xw!/n;vtl -9_nKƀꆘ02#1{}^w=Z)7fFqpXsM ۽FT>zocXaZ4pcHP.@ nz+Uxފw[߅QI?ZI"}d - 5[}]/+qJ7dB2o6Z&ު0FۙT{/o6jiT~V+`8&-P^ۖ"kU*0uxksZk5÷sQZlU"[r~?_=[V7 O75\䌶Y_ 5>h.xg,0^8[Xmt\SiiZĸw-Nyjewن5픪 Y@k_s@EZcX|O;9h(3a87 ^GoחP)v]tr{ܵRy4\_WLRF='Of0,{3Y7ks򠊹WQN*ڱ tUtvLGBn@T")4l[T0H]-s­Y{\>n5~iXՆ\$=4% `5>7LϘ 81P D/-{Ux8qF+P7?+z5bP)uy5UINTbhT&kF)r+6~\8҃LmRҲ{ErMXz -P-a"1\0ļ`H[߹5[[a1t.PEh v#ee)V [Þ v+3C#] aaXҧXGYO.M짊E.!~9tSoXFfħMV6Pxi-MNnYS=^kW2w˛\rƵYFz/5ZNz]ǩՕ u9q\XZjmmmWQ^TQ]1vVzsusuq<Ֆl@'*&] EF6c刊L,VE_SߚM9O 5A @><ʤ -|ǰq:85sIc`nXu>Û5Hd@D`f b}fYTɿ0*d*H>Sal/o5VO%Jlcr_M+rP -ro:xxG-m4%Z{ 99o1-ܟµ\gt4"Cy蚭$:p-v/VM-k>7y5c2rGkv[_9" gI/XV VJ̬-Z4sZ%+ql5襖 $^5^+[X*ߵ<l>з7^eaQmB藺o׿Mhʌ D%UrH60EpzO;#xX su)5  {~5B_# po~xaV4͎fHu^õ +M7aXkmU?a1Ԏ׵Rr6|IG*EXSFdo}B5$oʊrsߝnOOrѪLTscު X{t`V6c \)>+ڄR~ ªCȌ -UI 5c}5+鑔(o{}l'H7H0YTv^Ljg -ɈtKqM91L,NkK4[O.AكO榆!P@ CA]SdrYp -uXC85l6MZE6ҎDX -*SY0,]5sf>$qʠ5Zq~ܽXӝM -򽴹Ʀb X[O٬.aFӎiXlK3b|Ъ/V_"ЮWA4U/4W5u;f*D:rk2 n]u -Ƚ^5!MVEW*9rQ"z\\W$עXEV+U]ߞR"(j9Zxu࿭w=^nn]ߚqV ֫mMz ~n\Mz=^^Wwۚxy핪X׫s׿5^Wn9zEz{uW{W(yOW=^ ƽ\~z]u=^nךWfLWmMz-nn^wWfkksWj+n"zMq/Wm׫Ďj]9Ē;sS׫+^V6z 5^7^i^hnk݅ /W9q½]!<ѯW kܹ -cql=Ѯ Uưɧ=TsumUƜnۚ5ڎzX -ZbcEbߞG}ysը.uQXǞV&uOwV5{j4zp=UT`+Z=^TynXˊV9UqD⣆qUh4a\)*|kBۇqaˌjՎ`](u"j 6_xKe;7ק4ZBOmlV_OWU ^TS`PiXi}I妼=WE"/bC }?41Ep>oa~Þk>`okt~<تLt+ȈF~j+Ûjq2'a6_hᲽ%)b;i׫!8ᮺF2vqJzr[_<|UK|z@H?۔"NXMiVZ%:) P@EndV eR۴q%E-6ى'ox>tkRr} 7M6.?9U`1.M4cUqUq9R*6>:r.G^Ӿvb4Ӗ -Ը|GfmcRΔrl2%M٘߷ÿJSvUZ?~>ÞP$&qJ S6IJiExk}_=V"P+ 5oשv{?_kO8>sZA :_;k`ӝnv_-ɻx ioaxs`W_dSkqNLRssTRH{?&6׀xk5uY%A;V{|=#eZ)*Չ {v~\Ҋ-Q~5HUO9pjaK[@Л܎|_o=[;8l4Tw6q|8ƯNbDwNgX -fH1N'Iۨkq)OsU 8궵Dz׿O(*ÒrѮF=tݍ[sգS08p[,5SA22DߚTzL~ˎC׸RUsl۷E^Q+Ȯm_[{~n+xɅآ$>4OKBsܑkX#8VUC{iO5ZZ5ho?g禷N`ҪUm {j}炫Out44&q 5$<"je[qБjEs$b# SXh2-yq0xJ=,Xjf7#H[y h% l<ֶ2VwrM5vRl וUc%I4\}[̈`;h95+䷨-$|#vMyh.%qT4ڌÖa2Kv6.9r`ILA{|TE^1 *A/m_没7[WyfCVn3\׷-Zn9ZyN59dz^ZYj\5YNzqW-5ٮ5=jz+jÚW\zzv -{w=^=^W s=q^n\S^l_77Z_W`U9yNWVvkuInZ]5^75>z^=^Zz.9s ~j^׫5^susmnj]s뛯WwǞWNkدW}q'WǞ5כW\zmW9xsQ^=^7-^?l[+nzXמWw7碽]1扊cS^o -#͊t ^nh׫sW;A=QxZ˱q Ri/cԃ)MHĥHÍiiQk|]5$V9kxnQ"o5lm$}>}|׶TLXTSϲD /k-(.Q58:̅b#Ǜ4欝HJK籪&1l%9*kOAƵ8҇ŞPn{rjlRE&'" I17^G6fUp%@,66@l)AUJHFV<;#I0/#- &ͲK9|y_Fۿ߷Ö\r6GKܦ!e;kMnԧr ~z'U1g_爭Z}Ixҫ,506er{=nlՓXE qwݲֻkkssµƝ1lۅLf*A[R<5cP%k7HLGP -$ [qj;@T84R/NomuRǼA<4-\rҖ(uomo+[i;xw&J Tnb*wZw?nxօ,LL o9+fu&0F/NLR/A>Ҡđ=Pқ/CJH'@/NnkTϚZ))w#aA{LN4g< @,O.Mh~`{EU;=~T&MwJ#gVtS|>'5JcGcCZ]5b( Ce$vn\ -ȩ4v79+_YQXCiȚv##(FlMk^"*;b$ 0b.\|}g. m2*2c!%@*, C_ -q0U`O;GFcNX#%#Hó~<ע*M>?qMY{{yjTN@ GonÞ[N,#XJ{v'㉪|1eZ|G~VT0ؖ@v[jM +ij?I" ?QxM8`1+Eμ<&\ؑշ>kXV6 -~֚tpMOz_n"`TөPEOxES Hܽor&zFUbƼ*uT4  ^8JOK= {e4e32\KsAS^jŲ5[]+1[SeHV#N{m8 pڛkbUmJbk6SFuh4${V1N!NGf撪T,G%dR[oXitPR牭O& ;u߿(jԤ鼵`Úi¢ς%$,\݅ϷAQ^q> -}= BͻXo_~zTjWrt k}zoPdf_-Ejg ")SpI P}HIW!bn~keWm5tU#w[ o4[IcB ERJ<ZǖgBx}<ւfY%M妼i΍_!hyبY7Z=y`5y1 -h T[[\ԏs`iHtȠ i=kAU.ԥR߱W{m8< } :_QXiӅ8kS],E3\}+D)qXEƽ/X0\"ڂI73UIRʥX!'^5zAbX[n5&ʱU@'͑5iI A%ɺ4<5jc,f$o/U"ؿȑBC[>oV!AbosE80$ke6!)R7y"]ONʄdi䊖 -7 _Q4ck:\6ǞqMq_$eXmH~w<h VCkvLjH}?[rkpk)"6A Tj m=~ϧ)iʛ/AQlEɵQ4Nbx[Lw'?Ӆji >(5O -I~Qc5jO] sU5 -YVafmuϴ9R*]LnTaoͥ5+,8Ԙ>'|O<+G˖瑢d<X*EwWKV7#R,?SjkQR`RZI.=-o~h*kq46%AV+N"C`x[[xx>=91N:Dj:7{4ok°f`Y# -Aوt O*1)!}joxvхPB"|)YMk9iT"))׸"eR \osViSu69^'+`M:*R.{{{ǿ*MxW -z/ IPHۿV1}jJU-6jj}6>f 4;_EZk.=ڍ~"kB1k~Ǘ1\ -ԓN?1+Ca~7&)VXÎmvR{=-n& 5(~r_H;j@ԒVT7^ӞWz7~n]sS[)('^zanܵZn4kUxW[I禽5Z.mU5Z6hW:ը|=h i@+<@]Q5yOv: -E -ȦĞ;5|KS`Is5Y =M,3;װ_8REވn@67?a[i4lH#W`Ћ~حbñc1vV`K,MdqJѤW]{ֹ >?Xӕ)qgrd$ X>;\H |^{ih8ԫF^?b^66' 0卛wYFb"4]"_$/a4ߋzz "lA)1%q,r 6O -ʙ%[2H:\\q1 -Ksi V4xR4FkJ̡0vD,o_~x;TNTtvt\g}?]9b"&U'Amm܍8LՅM6 vkR)/_e;wӔV2(HlBYPQ\TM c m+rcU#ÞSi꒾Nly4FXĄCb@[@T,TƄߺn;-eX4|O~T:QR,Q3[ou9iw8b报ݵ$:mFb9:v2Gojz4BPoaDV_;"BJlBOOꔌ161#uv q_5h 6+AL#yTcuo&q;O`n7sWT$X_osT8TZL-fR,6gOrA)Cu'i` ׯ&)b/C_yͻ^cyZ}}}nhURI,IMIwusp+EFfRJmw͔M(gRXh**ƤXx'+ nֿj4·kۖV1cψ9YkXfs6TEܛwVwˊJ=a~yZ5v$|9i;RLHrj)P(:[&Rj>45rh*5W)3^BnONJi!XZUiAfQq2Pǚ"P LWhX h٥≤nYcՖ>zY=Z5ϞMs^XWrW4kƳGMjksU۞W0u[^nYjV.qrb+5nH`J+z+S^^锎n5nkmV릓i墵]nWn]sƽ7+q\Zy[\mS]XUݹzzՌ9yW+^UsSZ7Z_Wznj+w5^ s=^=^[WWW%kywks^su=^+q^:rժ{sUמWs:s׫mWiWַ55盯WWۚW[uГw7UdߖWnhV=5讁XW$<+FjwW{9m+RytINxpj*jr7~z+H±ElӂshS2a[N"Uk"chǞ+VGR*NAdku}T&u>/%#Φn@מTz0mpul:yhfԒ|~gMj)_BeGr j)sPR} -Í)flnGp5ji,VAuN;E#"wek@T\S6RpnZ˸>"K yc^x+$b7xy]U5h߷*\h%Ck}j֚fr8 -[msdׂil)cf yAV5R]RHm;\j+t2!ٯm/SMn*= -J|HZ{G*Sy6E - tuZkf)vKkq{w:j}sִq0 -?Lq#o65+5fCGw36݈涚ɂfz9]{fƻ6ʓ0jcj [ӏMR&wm8ׅN±_xʚY_jk6 TKxȭJ| - -zXߕ Ɯa;Zw愚b+&Nk@SF+4ŞERڛ˛^)4 ѰCu6jS>Mo O~{[Y -F]lOVJ*1 AX+JEke6fYS哀+OjҒpUM{ L8&c -YBxƚPH0NB|xV5h;,SU ݛߋZKDm8(hVhfP@u=O=U8>lW$xW5krjV~j\Zdl7[|jW0y`jW{FsUBnhaJMsEj~jky{ez_^ܵn+Nz^Q扭E;yYWAy^aEnkG=Z=^w5ĽrըJyxժᷞWVu۞Wi'5U57=ZPՅta^57U[W~evXs-WWӛWrmWכ׃U)Vb7ZsxsusUsy{AW۞W5^elxWqw[W ipcs֫z^ѭu<+ -y%כ"]1͊כWNl 5^j]\mVj+Uǖ/͊cfxu+7vTV6;y·5J^ScƪՈ¨kvz8k{+ V nߚ'ՂM9c'Nn+LA"Pkonթ&7U BO~l+)9IϿ2* -ĺmpOsFMhTэhn$o o猚nΏVGȷ_sh - -p뮼$Hɴ1iX{Ǖ[E:o~z/Ȍ6@{F*: M{xUFfL.V 64漫ThK]'lŬ<]ӛ+w;@ BMb/{<5b*! XMB>yXMp҄b܀j*ܑ_eUB-ߛ :|9F\<W1ĪBEhc1^TӴl64t牭ԌUTΦmqEl -<P j~5hzr=xyiMs˲ݧGr©w <5z{\lUHb9H>5J86,,}ڐ=m)Y1nR&Ćj6%5j&P+1$NÛS`ZhO5i) sƼ<6[|y]$J'.PjSY%ɶV)-*ӣCJU|O.E'aqT3"iAMI IO(~汢K8뚋^Yc6ՕMZhW>n\ -!5UMnk06Vnȣ^zX\۞V':s8扯M`csW'7.Sm`sU 5fնXQA.7`<2JXhZ)c\iP*K"86?9U۽y^8{>+s^4 ߛ&0Ϗa#KP<k~I/6T۲SߖZ\FΫg": -7ġ]׾=}]ydҫXL\o5'}YM㈓T$T!X$h[|<Q͝j 73nԓrjY+*iZ4ۄKUVSenX9&V{߿񭂮q5:xm K-ߔz Q[)0OmZ\򕸮-^`x4'ldGnke_mp˒K4Mx -o 4p5V -zʈaKv{+̮HMJsĸcTV& nH^V. @b_>XՁƗvdu(x _fVTfh1H;<_pSO{D8Ui 'ɽ;$|<-3TbpG8 }$r5|,;n 0GrэVOC[AcbG9+4)|mHyhRSɢjҡ}|aMV 5+2zÞ>W r 8D -AɃUPTn(A$ܶ"X~`o$ӢW/Hv1_+dM6DSiw֩妲m;kn".v<ݕaRr3Z0u:b6Ӗ*o-ʦq<*<{rj* V.{ܛv?75SS貥E ծ&͕Vc&r2 0<թ=0WzI\֢ۛ)͐keq^RKzL1# A|mZbNpIثС -=EGJf㖊4ՊuYT%nbEEZRmkAȚTR$Xr+mڏo=ƶi.FGۭD>#LK¹V#!{=?qvc^ƔM[1nnXMbs:X[czITPY>yXVrac{ >lV4[l1R_BRV ?G*Xˇ,wbksQ^ A@K r0MpwIvQxJ_R]m&Nf]5HUxo4I>doעj<^sxֶT< 4QCi݉ z)i0)Oky"v R(P0)0uN& Po}xqfH.q|8Oz\4X<?teQFQH+"z'7Zպ̇AVdksb\^HuTxM(vMeC@ەNz^j9^5-TչVqUjBn'rt7u~z]sչWl{mx==[4Vo5^-^V[xj6UߙqVW-;yWsS^k9WLsu;5j^CNj]h1/553۞\KyzPh+sժ=5=Z;]G=]۞uVŰ$7Uk3W`_l#Mu -ɷ=Z[SMx׈W}ztǕ^]-׫[[m֫=^aW=s׫nyyO5^@~z^gnz\o;uNzX{4kFZÞcӛsZUժVpmO5ZoWzXkՍ5^+j+uμ·XߕV)دVWUn?=^R sձQ=V/ߚ51z6zI=Z&oV`~ZInjQך5SAߩq\Xˏ^ Paj5 kH@? >U;mkSԖZOcU~$|Smk˔VPa+ -moʚ N劉Mz+ X÷ǁRΙ$\j*2`QrjܲRBݯ 5W :*;x$¨XX;G(Xb5bfP{Ӛ)1KL'>u;y芴(` yJ [@cy5yvD|@PǛ&i吝hGk;q$Tj kf(ĦA{X;-щE@jeP>(>Io3Z2Y^o͚6>~Y ^ܽWe$dqpqR.tm7$U1N$BȩX~IÅ\l4#HU{7Uq)ȲHI v?>jI @]$w*kMCã -гNۧDi9_xTcc -b[; oMhzʘ{28};i5ya@@ܸS:ԵG}4M"7/551V)%@a[pˌHXj+r%EK%7^*C.B|-hq: ^F:(r+Թ±˱j"ԏoAR>}<{$ybۖ^4=L-A^8X0ԯR H/T677<ѳD#'Q}9p+uhP [ǖJB{ij}52Ֆl65pfiT3waUUr/0%GoV( A\悍n+&,F(e'{=_ -czY{Lşkv?kƱSFUAֵSN).!u!H̀VfsI1ELWƲEU6 Y{G-)p _w< u -M94RUfe@v抢Hrr oo<=~ #Mjz\2bݻ|HkeL XÞWaJ\v=Yex.HWM+ZSP NƨE*z,qff6QcU4X]> -@ogt 0fNT{6Ni;ks 8aIUKLU4Ц?d}8ɥI1R&~'jZgp>Qic .~F2Cb?Օ9dVЯW47DUUfnkX +k4'^xb9IV@oW9xsb\_WV搆eԢ+=Zz^wNz\ -z5ɉew"kj^ӺdYc9^^.*{k~T+q4їrd#?g[[>rII*< WPu6EP`iaZ']֓[i:2$@&w( vێ`qɩ69=n=< f4q߯q3PP߯9ƼE1`Pn O6L׀Mf\I+f\* HGRH~iU&nHEYL-?yוX:Et֪m&kP0Fa_Ϟ]ᘶ*8os )=[ak#8k ړqqrlV_;bsUoܱ5+SoJp*E,~n0!>^*'aWvdՅed|P+]afdJ؂{GMTMSaIPymRUeӿj{m<."G"F[oog<+t0bRXr;v+FeOU2p`A^yI TR+þUMμ3ZQQ).uk ~ۯ5bPT%~%mTԗZ6sP+{kA-X ۛ ~iXW5'Pv}\֦:4AٚPb)=GM<,2Hv:v#YPETmOD@Y}'S5 `Ii6§b¢_s`ѦO+"ݾ:r+SN]tQbM+OsRT؏q瀎5kP,$7k}sμ+)3;VO{W6$sC -Ɯ$%-'ʅU.=A@Ch ώ M¡5ROemʜxVi&`A媆Papmcȭ Wx}5hkNLxXY=/7 )1|}Ē;0>KsڀxK/~dWMmuxjJ, sJTE4f -8 G'* - 2bFuy4U\ QmUhd;Jȇ^^YVzydʝwMZ+[mz+R\VjEJdz!un]c6>57XV|fJY.Y@sj9pjxP%%@:ƶU"5}PZB{u:OnjaYO҄wƼ),Yuo׫-.*&ᨽǕQm0 &ܛ/Z&)|f|vc6N|y`Ԝjl"ÚX):a^$;~Y=U'zyAHH=B+tхbX~đoeg>?}o{kTVR;Aqbi%[p-4kt(5U qs%%4"!Ympt}t94d`{EzYwv֙6[J<_T^Zekg=A^T8B $N@㈚JS>] cBXע6pE}<[41..JO5VHMҡbH^*͍zh}u?_ +F/͇^<\)P\F)8 9U' -AZhnaJ㛐nAl,H9V}1Z'v[+i:\׫97 xo([)ªjv;Ċt7%C?$DlH~XMZq~h*v)RR9@V`~妌q'͐:kSYl키 -NxGMhMuAg[K~\|*(ʑi1,h|,to10W ѮKj,@PPh㞯W.^\կW(ں[i3eUWj쥞 ʱ`׍Dl@2ԝ|/˃5Xj|j0ob;< -xT/ -Pb,7 =ש7e*ڲ[ʐM\x}_W-3^X%XUdB4|;~oA54BAךihហM@Ɲ+p(nKjE8a~G-_7 c[0# ؝>8 cKTK9S[8q~ܱZ,UrUiaʁbf:%1L5Biֽ͸j) Zx xqfS,M615q%H[q@8PEE:LێM\$b7v)' -/x_rՒYIH h~+ƠWEE, 6|?[њrh3m9ƷOxDu؋)<}XVɰScf{s¼iq*+Hš&u4qnXM8?$FWH ,HuμMlaP2RHXʑ[L_-I-{۷5[MȪHwӚ" B+ܛ_P}XL/VJ-{7"ÞU)͵4Yʩ5pi>TPdXaZ7Q*~O71[^~Hoʕ8o1f;7sֶԌ'b^g{o53Z*seZT Eꦼ,e3,Ǖꦬ\( :xkq6xaSqEe] M>ظ[%AosvֶR6bW؂  -tE94+l sTrƲ*їnQr7^xc[5Lvang6~Ьnxهӏ+f!?S͟ ZicO6 MT?_ʊ>eS"[6k[kvKx_moDl3-]W#jn|,vd+P eV  -t.QNV8wO* n&`m]R[ nO*M8υ -kNVkX<.Ym @}OR£^$Sj^_ !f;Nڠ˜ mz*ks5P -A \wjb1IB^_ǚV*+jH'vR@ڐAnRkdS'NjnQn`kԝ#pSL֢V@jTimrld梶(i(pPXhH45ie2Yl@")޿iAi5y&j~͹ܪh؄7${뭹q^Բ,AZܾʤTJi"۶T\0jNU[M>Re9'[@#R/t!{{9pL`Tl? y&kEz7o"+Վ!f$R:ˌjw<NcEFxJu"E }OfN1GF! (+^\W4rժȝeC{sY=Z|x -;zȖUs#m~?j*ԗy~FԋMo}{}|fpu4ȭJBm=z|)n@.}I"2{&v1sb~?Gn^EfJ+[ .l8# -d8$*7/mya5Yh줐{;rkS^./{|9킵5*o=Jma۞[&Y^\nl7ٶ_^U5y1 qbo^EL -DZۮNIw Ӫs}Hӛ^Lc2ojP[TXpMp@E{R& V l -I^[ez؎^c(Пx5xCɱ6om'l kXEZӥtBr@pCcqxR2JjXlPup'SRj|xkVak]t4;VU6XhÇ?O5AdðbTudx -޿y&52\\q^= ɵmj <ЭӦA[\m9CVW-{qyS6!HV}\Zr~ӛ5)GA 1 =zY5[\˿7^JI˷=^1cʚѬ9s"z֫۷=Z8W oUzAȒruU۞W+9vj+ӞWk!nzٓhQ^^禽xs[nkupyWhMwUz9ה5=5Zպۛ^$j^>z\FsU=[H'5˸[Wny갯ZnGyriӚWM!noenZp{saV,=Uz+=UsU7Z+WkU'W\zG=^xsUxkWu1+ۚ+֫5\ڶמ׆j$j\XߛWpÞz׫=^zQXÞ\O=[z\lV&j9^[4Lp劫Q\]5mnmUXsS^5Grken9n16ՍzӞV'j=^Lպ۞qXCVnVQanzX\=k UXnn+ U+j9-EzEK<4q Gm"ijSr -~<`^1}0A4aR#`6ŸCn"1aSh̃̓ -I#*w6+Fh"W~Џ偯E?>^# :vojj¡5 -ήy[V)i#;پχkq̩Fa)*$*y%"=HMDiUi(}@EPR5n6oÍSǚsSV@r>:[?WN -ƙ̳A۽\8֢VM_t2.|8ƷLc??VO}t`*MT!u5xSM i -ꬴyɯlFƀk۵C[I]2]$MV+6SBR[9V&1.|{^Es|+l:1O imO5VVBZߏ5qdiXIkWBE#V/"G<ע o Gh'^xȧJˆ"_M}TuӾOx54 -)Ux˛^cmϸ v4I5FLep`*\XB"o|ykbE:Nlϸ-ExG#{_hEqyz+{suZ8z#Im".~\[G$ -ԛEǞ"= eT}ۯPԝO6+f%fHu-},;mT\Ƕ[ʑ[,-k/qr}n9&iUUVQ`Km9+jV+,ǚ)MD=]E:) 0'nN^jc(YAՂ>?+ƭ4Åd:_/uѻ5n -&TXݭ}O+3W8T4 5d<HME|8$iT\Ok5Q"`V pE8Uƛ>?R1J_A;Nc^z̳ y%UX޸=g405'+)j Tk<ٯ -g|%jNXUgp8{n7']46|ɱr6VvVJ -Jc"Ny$*> T5 -ȚCgQ}IZe X 扫)SCp6I»l<%-kjy8Pҿs) &4)c|ANe$R <_D2+V\SW #_W>z=^oU+* 9r^z`b]yWh-֍e͚n\zsU=ZyrW8㔢WoVu5^s=^svs^^i檱\m=[n<zybs#t4FrTjke*{ %5bb)=5\C}|tO6:kDN1 -fCJGէyrZvijD*T@M1bَgm;|=q#mTǏWl"ckIM]9`"M4G%BB@+\wru~_4qe\n6l~_omMlJ@bn5ykqXyImyiE9PG ?H'ǚ -zijTו,/ -RyRu -oa劫QLؗX#E+;KT״j4aߛ+"N#QdRc|x"j6+*j%K,Tj.|}*VȤb̩ i*ݶF*) FD ;5)Yfyĕ 'FM8!S;SM# J@刚Kgɛr$VyR}./ޙAnzFڠ/ĮO -aɑ+W^Q&jˀRScc5qY*1 -J氊omVbMK(*ItL*u ,l7io>VfY',$Hò\i2G h9銤N42b>?ZXrĶQOr -9RyRġjXtTᣍX#~ܚT/,*S}cq7z"DDc 0m~ -@rԡoi4E--0Cn)&ܠ qUMM`q[w>?ܸSLE.k -ٯT儭Ad+kY BBHԑL֎3~Fs{^j"B)yϴؑmxZ#Ik`~1oqۚk[*qgy'Xv媛)TKUl}DlLӎ$afNV3n.{_=UQS$fc'>h+Gcs?X*gk{99T4p$/a+13!ԟ)"KsכV,~gkǖW#&u6ܵ4 YȽ.!:_N"v sK%.3ְOx4ᡴH]xO43Xl H1msʪ+Fwv:qoVC*ʤ" :&2ۮ\xixsպQaml}oMnRcFA~sʤ׍'x91UYi3tƭo t?ajiP؈_.Dsc5W;KF -mSdlK _hPv?Ɲ4SOBnW?1,-` >x[ϸn\lQZ?>oq ^7>=XaY߭tIFs9+SMuF")#k|Z8erv~^>lMzhlvF ֱX\*Tꄞ7W`=Xd;Uf*yW: - 榽54p{c5Q@4']yjU&MArXM~!TD:i˓T =I?#c[¤61^~o^okݎ÷.TQFӷA䤎nlc^M`U)l MHQTU!<µW44M{ez -qRo~^bEWeNT"TTk5婺;ގrd qS# -"2-ԕܭn5^W ^\ȷ=^UȧTW%j ~n],+S]NzY#4jՑMrZW5mVz5^Ÿ?5@]+W3V;׹=^bƵFVyv=^XwS]m])VQV渏wWW瞯WW=^i׫j^zWz=^WUvWDVz]Wyv_WWzWswWzWWz^z^מWnHׁ[MvSMuksujsV |yWmla^'`窵WWǞWt@X̓фtdN5Q-QVn [&5Ւ/vS<YƚCY>[4ͅ䊊l#oǚ$V1~TR>;^ݹE&qΚIժoˤ6\!Ssc(Of~m`xJ\HncMnDTl D+3ǖ)ZgL& rH!l9 -ҍ6e,t4XUM{jlijVk"bNgon[Hjj5 jMZ&%ʯ;*jTxXoIAx{5ӛ+SI[+OR[wxEJYNnmy^|x.Nmrk5ӣHטL#/)Pe)gj>"Urt' -Ƣ ) yx}K`Lߗ 1<z6p>fEU5XHAN$"}ma9 -^0a w C o*N"K)66qQR `]<~=aLcm6?ѯoDSC+@E7 isr2Soon^MuUP -(嬞50^,1),Nxv$viq9j|yX;kQEZkNcI7AIQcnf qziSE0AB+VjL..3{;Xתe>\T$b~njT9Z2õwkQ\mc=n+U?*%o7^Q 5h!FKVDưU~o.+ƣJҵE58 -M"$q^(TT">%e{~.oeF$mÏLR#}kuF׫$fj)ydr ~nY#u *kFny5뗯^x =ZUc\ƜPH4kՓW{VמW[PtnZ"窱\a^AsWxv]l=[c'=^锯=[ѬyW j+ߞEw~zq+sպsVzWza֫V4+SWzEvܽVW7UVzWzyWjo͚w~VǖR+7ZJn9w{s5Ɯj# oWz^Uz]~j\Ukl -w=VVO=Z%sժG=['VzkK=^瞭wUkǞW9q^[NhW/WvSmzH/Ez_Weo4LVjۚUxWUvՌkBW(LիkՉbWkՌߖV'!Jer;ﮟ,+DW.}Fֶqyi*` c _"q9; -{mXEMnUlF3bUD{HªOf,>Ziͤ`Aǎ$U -JJ*:2Җb|=3[)ֆj~G(F80t^Jh,El+2e<-[A5q (^v﯍uII.Zbn">:}uhWucr`+ -t.XkbQOMRYЂ>l )ɠ3iy -L -4`:@T& /͙ICGϱsۧ,kXWx31PE6?W -}4tؖU oI k.TKT ~ZfX)6^\%xcs~6MXW>I3T _Hdںۏ -lпwpkƍ9Fj -EU֨eʨbE^*f6.9SVΦ"[梷M4ԳE9 UvԑD8R=tn*j̡鯎ZiEQ5tdE~<ע}ہ=+ MjEtNXʌP7"oo q[Ǘ2mH/l -Ée嘘­ϷM}[C/$h {MS@y*H,fX QA -opHndWqk.XXߞ(ȋsb=ߍLa nku.[7gB;Mz))-$l[g?vٯW)&:e$sxV=hK~բq>Z*x OЩE,rc[*POUY4[A>#\F[] -oaҬ* ,O60jϙ*u]J؍xEhԬz,|;*MxTٰ(7B#?+[LC1F*34szXRp̣QMV)UH}|4Uc -}yIV Y-0U׿r5:3SCa{<2,P_o.gSp rJriIS,,mM9SEFhw^Mx$@6Ul~S]lAߞ3fRJkכVJjqNVEʌ[sqU167#6 z+]E`V<ѭfEP{~9Ze1TbsuUl6UO^czHom4yƵQP FݙH?XMP`hR|FITƟLvA܁"6U&]O{-VMWQTVړ -MG‹T5NhעaMQ?}ſ_,z+TQXR+ G(0x{H{^O5V* :X -bPJi7U]lE -PJ5oiT5Ls#E8KL4R5}?+qNX\LQNN6TX>mC9 K,,+t -UݠZܺEiU'i$X~<P176: m~{Mnj3 kڪ#Kh{F 5+ t% XZʑZ5mUtF*5$qE< -Iik|<9Y^ ӵF3;v*aĥ]7>xqPӦ)hohrmlT*5V*'*_ް6妫R2~&Q?()^:QarSdqK+`j;56SI@灊#Å 5eu7sc\dՔ$1Z%BߵyBOQSɦH¬ HSU1F+m(b-YӚICȆz/W-Z@ߛDZz!ӞȚj]u^墫\+WW|jkUkj}٭̇uzXendstream -endobj - -18181 0 obj -<> -endobj - -18182 0 obj -<> -stream -H\j0 ~ -Cql(M 9e{V29'; ldoYn Z =B옃6*ܼQ:IܮsĄA9v'=ugk:{hdPU^{#OC)nz _ϨIB/Ldd+YM[z&et0Q2sb:|1yx79 U\WFendstream -endobj - -18183 0 obj -<> -endobj - -18184 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18185 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18186 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18187 0 obj -<> -stream -HW]oH|篘G֡9$`b5{CX$$&pEˤkR.V8U?g޼xq_ߘܼ|߉ ~`g3U™]l|LYv=Wݺۭ6m[n\r}I{524$7D4U^fKoy+Y}yD*h>/n]zQuhRlZ(2ynd`&3{ _$>sNJy>7 D_f M`$9QplIb$F,k5K`*KzVp{;^W=p>A/B/B/B/R/RJJJZZ}T#p:kAi%IhĘKXcv/1fi#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu$Vb%F,Z1K{ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZmZ+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkh6IZ+1fi#hĘKYy0t P1ևd8DŊ -J+ -U(hJZ*V*U) -hUJZҪV"ЊJ+(\$,%1>-,вJ-Rw k,r/1f-{r/vRZ cRw X,r/1f-{r/tʒZ^bZR R  R  R # -R # -R R R cR c֒TȽTȽ(TȽ(TȽxTȽxTȽxTȽxTȽxcTȽxc$,%1r->f1`r7y;$iY&q g)1&y2B.7o%9Y5k"ȧ\gSnzp\mw3Ywφ ߷~7jk|?7vh>qz<;}{zGi!ݔ}F!̍z,gH.Mht)JF߅zژ }宿?,5#~x=JU';|g&9g88ޢLJu3gls?(\;< Ǖ}$zk~Ɠkƞ;XckC؉_7+ }g0r;~yWb̊ -J+ -U(hJZ*V*U) -hUJZҪV"ЊJ+(\$,%1bYeZVi9唖Z*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ#ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘTȽĘ$F,{1 h{1 h{1 h{1 h{1 h{1 h{1 h{1 h{1 h c֒@%,c[ڬj9cMLa+oqoK: ]+sa*|wen++u˾^pUX9v?8U9nF?n:yF -o|Z+s$ޝ?oEn}?׾g▄:S_}`Fn˧Cw9vN(gT$m3]y]Qg1QS l?]1j?xkcf2(>]*Xz2V֬'v@.dcl>]Y|x zݝM=ia -?^{nvh 6ItY'bM)JjDvt>=, GJsAg.nMY ll -^+A -Vc-5\#qtROw ^?)D ||RFGv۠A ՟yCJ -B%9^KTؐ< t?5.v ךV]7=NK8ln $!v]tv> pԞ,Vbi!z77ӡ304(  8ﰒh-nOQx TIyύtƪ^+܈(Q(seҐ7+x NZ^֝<}xyJ cO-[R"dYg5g5 i++Uӌ@+Zqs9847BvZWr'r?=D8ޞG zjs .]hHH%0?^#$>@.28J1[![+QLؔd_ 5H~9&(üU ϹWUdeY{:6maA>KǖSk@Y=)w״0I$nM:&HvlxF^v9TwYNѾ6լH%Cn !a6&v0YNuY $o~}+{_endstream -endobj - -18188 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18189 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18190 0 obj -<> -endobj - -18191 0 obj -<> -endobj - -18192 0 obj -<> -endobj - -18193 0 obj -<> -endobj - -18194 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18195 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18196 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18197 0 obj -<> -stream -HWnH}W4aAyl}mw q2ddsZԒTo/]Y6ǧO_Nu/~|g<0+ b酂EUn -~e_Y]M]S)Wݴ9M`K'N|rȏYv.gW6;>ovTĞ{Ut3y|VʼnݽmWU;K?J䡒;v$^(2gAr'->;4 sz"L~ϵD@\8I`rKdbȲ31`qn Y2sn71` B BKBKBKB+B+BRK}@,!>ԇR#K}D,>DŽRcK}BO, ,'LkbkG51dM XkM YzCĀEĐE\+ךkZZCr \kb"[kM XkM Yz˵p!PoV51`51d- -µ&,BZA֎$\kbȲ՛ךl&,[p!PoV51d-Jµ&,µ&,BZIĐE\+ ךךk%ZCr$\kb"\kb"[kM Yz˵pEĐe71`51dM YzZCr"\kb"[UkM XkM Yz˵p!PoV51`51d-*µ&,BZEĀEĐE\ךkZ[;ZCĀEĐe71d/I|kkyꜦ`K'G}`dq%s7_o=ayVu>w1;;xu廹+O]/nQuÞvKX$^اMs~kOCf@4c?jR0Wy]uM]0HIxPA QD}#jYQ]şEuàբ<R`i>C/i?8x?_TlbogW^- CcEȎ^gqТh3/r܁G}/˅i),xcT0ȥNxf>oB@|Avl؀M:2uyE73z1"ߍy]ןItGհixR픺+@djϬY7YuzԚ()6콓 ]/2wSv}t>RJ/I0?Yut.eشk>&Ǭkݭ -{]u(` ś*4; F{ݞMQxWV0xa~ɺUeg=>u..Fx %P_[*ӈoΪmѭV6<ʢ,I -ΫG^#9F-  RհlXQ8crF ,?5΄?+!|C58^ -36;6׍nݭS^LJt)_Yl=B -N  EnηyRSv#$;3AYgx9Ut)l00=ܖ'TƒDC ^Bl/LEsc>Eshd*/9 - ur1^ה(4^C[q2ۻ0jB^E47[j/F>|ԪBb!_ -FI|$D„+1C*]fx)_(<< BivfG/gxȥ_oPzO(FgTPTXƇTBޱh!EYW<00n -&Y;…a|04'Rd˽ծ3__о'|y80y7p}\T-}ҁh5|.8Ţ;޷ @h5EKVfzz 7E dijԔfpw ru -T0\_Vendstream -endobj - -18198 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18199 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18200 0 obj -<> -endobj - -18201 0 obj -<> -endobj - -18202 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18203 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18204 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18205 0 obj -<> -stream -HWm6_!x x( -4iH6ŭ9`*)K&ҳy?VCWzs|⯢Rr%_RגQZ#ʮ*oWѿ~la׬]S\z-岸ZVEY$tu7k>4}W^/*Ň#YZ'O#ar.J &]=_\y SbFz 1UUhnwc0/KQ w)-$SY7{S|,4am ׅ)p*.3R!+.ŀUU9+ Vr),AzAzIzIzIzEWzEWzMיzMיzMיzC7zC7zKzKzKP_gkB}wzw̳apm!+Wb"\bէr),µ),B}ZA6ŐE\+צצkC>s \b"\b"gkS Y̵pmpm!PVM1d3 -µ)-$CV>ŀE6ŐO1dS XkS Y̵pm!PVM1`M1d3Jµ),B}ZI6ŀE6ŐE\+ צk%C>s$\b"gkSl[(µ)\}pm!+WbէצkC>s"\b"\b"gUkS Y̵pmpm!PVM1d3*µ),µ),B}ZE6ŐE\צضЄkS YCV>Őw9J岸Z.EY[b`qW.͢vZ|3cVZ0aw@^\]1nxK\U&?bBRٚWGV7#hI߾G}bPw>88N05nq>.ncjfD1L}ޞbm7u'&vGԫCQ:%k)eS(qq⎑`؉6G\)Ig#W#&hO2mt#v?ŧa ~R׻?.zoj u״QU?1=E5~Rpb(dȀ ɺJ՜ n>5PYs_â!fQ| ;1ȘFaǯpsKJZV~q o;pP$7= '6H<:ҫM-Vm;سaq' -p #H)̻aW@X>,Ff6dqH X?|϶g= cb] *u}bNm"ZxXPPɺu>Z(6%xaq>3e87 4RlppėC{hɧܸx=]>zf,4ciRcno۳e%o&vh4TdMj3~RqW=4IJ'#tef왫.p]#̳)4(' -}{Z8>Quyo]1JqMz^,|blг>d-9]>gR8OL^3"^'zg\+DD}49pYBjmʧC18嶨:A:ÐVKTKTKtKtLLll&bYUge˥eCV+ŀU,VEĪX%X >ŐE^yb"bey/O1dDާx aXQUx %QnmӪ*"7G[EQ߽30;z3a3ýb1T1^Px9+{Cpi UPx9k{Cpi Uýf1T1^Px9k{Cpi Uýf1T1^Px9{CEcb1T1^Px9{Cpoi Uýa1T1^Px9{Cpoi Uýa1T1^!=1P1\D&IbGxce$`X1Z䰇Uo-p _m~!#yZIREԞ˝|x3KUkرcv>DY R*iC°Dƌ: kZ͸ꌚ0jRl˪O-a^(<v*ngNNO|BjWEޕ -7?/YC6t)ڼ)]#]+eq u("_V8t?d838EK&Lf?ϾX'RX#UQϹj-Q߷\E$ﷷ&LƤ)P˕2 o5#\ueW\i,ۍ˅^HPN 12:Ms]𬉀Ю9FcS!m@U@C.J20Bxsxl`~*>/P 1311 0 R/Type/Annot/A 24905 0 R/Subtype/Link/Rect[93.6001968 663.229004 292.957001 682.908997]/Border[0 0 0]/H/N>> -endobj - -18207 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18208 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18209 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18210 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18211 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18212 0 obj -<> -stream -HWko۸_!~qTSk,j/nlPmQW;)&'[Cp3VtCwcy诈1D,ORg)O$;/n""qtEWP>wmve]fn 4&!q0foh,B_},+_bnom>Lel{($t1=5,嗈',~)?)F]fXt>,JCDXvJC>,gzgzzzzzzzzQSD}Y>Cg Q^^sD}g)bZ# +TcB\c1 -a!2ĵ>fX q q>p-C\c\a!2ĵ>fX q q>p-C\c\Xqĵ>fXzZ3PVǀ Q#1Bk} Xk}̰k9Z3,D}Zǀ Q#1Bk} Xk}̰k9Z3,D}ZH 1 -a}̰B>,ĵ>fXq>p@\cB\c\+a! -ĵ>,ĵ>fXq>p@\cB\c\+a! -ĵ>VGqVǀ +Tcϓ/994عK[}~J[8r?-41}(+ݬ~RZ?KY+]=z/<$|_ Pj"?sfyj*ݞ&vK{ԝwJIHBy:KY>x7&PU 'V̿:gK<N I6B\X=(+nut먋aНwIdhu}\ډz:6)"\gx*qޗN̅xλ$.aܢڦA;@&Vƕ*n~EMZݮl}X2FqAYm{<㖙鞐#v&W̟]f-J@կmWUBf/KW=@z$+3M!)35#V A{YL-Ā40lSHKD(266v"pIE,IF+Hnl sFEyX(_wS\TK|GB8lhEsǂ*U*cމU (1H5$T S8];Ͱ/^BMC,U1m X0}7-S]ݵk~϶i/ԏEO?ᬌŲ"_t̯5PxioNx] 3y~NMLL}=Ʊ퓇7/ -*I:ݯ~zX.Q}(I~|1'xZنfb]}(&lrargJbTN :wJj); -~+b/Ǘ.1͗DZ45)+D_=;m*ݕ$& = .SWLIr_)K$˖Uj\2a8iI1L@"%Yb&4e.qOJۚb-}hJzGF8?8dj'!BNL'!1kG[3>bTB-p: _"Egy -fXN/4Ơg=5J/.!Q&b}tMm1BI1>HEΑ*ZGy9m|_$TٶIgFiLسRd{'ih IHWcx ~&3#+]A4?,YvB{1ۦ^- -  i5^3Υp1[ ˜/\!_[WN>8yʏ(Yݸ@VS)f!rT -`ܥy qjĪ<,ޣe|=b:>zlCZf7VIɜit`x.Ir{89ݥou:fGpE[E?1Tj SA.9U0Fz҂̈́։A.=6^g4t'dRM/ΚI/ ?jNbigK󘾃mĐVf0~n:LYhTLAl~2)veضY!~2#C6R:}8OvUDMh.|+ w잂PSѵ>Z#AV#͡r1]$`? i[%, @L1[+c,T9LiؐJ\Q%eq*ړaP%0lm8O”dGfLNoزuBQTO&;Mmz 1*I+kʶڼze|01\,vH>U|I=a]=.0K3Iwi Ŕ|gEu(RW*ʉ8XVJnZc&!Hm`n|wKYߦvv>>7¾i;8o)1HIO1|JUMR@QjDio:NGn鰐FInM:NJ،&`l$rɾDkFZr'ܠf2(^WFs}0I2@m'!2{1*ڥCEh|v46IHU?i!b>5z#uJtV8h`܏O8Kp^+L}sun[_7(o(KXxD|S!d=%rE 0怽T?;ZśA? -\u+W׋(8]R$<+T4>H#A}} 99Sendstream -endobj - -18213 0 obj -<>/P 519 0 R/Type/Annot/A 18214 0 R/Subtype/Link/Rect[93.6011963 214.828995 180.001007 234.509003]/Border[0 0 0]/H/N>> -endobj - -18214 0 obj -<> -endobj - -18215 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18216 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18217 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18218 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18219 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18220 0 obj -<> -stream -HWkoܶ_2CE 4moqȻ򮒕H=8f᜙г_~p}__pqX(,Kev(YlpVS/GyCUZC\lWՊCaiaMsx[mťHǑz?Qj{ nuwJnik[v@s]2 ޳_bai$*gİnc@ Qv P(dž@9ɻ6@ KKK++'c}BO<)>اc3}F<>cs&k&{h][B Q>{(B Q>{׆(kZ׆(ZAֵ!`Vum"TET+պ6D= -B Pj]jZ׆(ZAֵPkCS TET+պ:j]| Pj]| Q>{(B Q{OPkCS$TEֵ!`Vum"{j]պ6D=JB Q{OPkZ׆(ZIֵ!`Vumuպ6D]պ6D]| Pj]jZ׆(ZEֵPkCS"TETպ6@um"{Uj]jZ(B Q{OPkCS"T !Twm"TwmHkX u^W+U0V;4e5[ENb-VQ >?U5momٔ/7z0ϻ0~$xyخˮvЕ+/oclǃ99(b>\:JIfN;5}~~t@o)/vjpt|5%BqG[8 Kv|t x,z|F‚I< Fi[Iy=`k;q3;_%`&iKήaa塮j;%\h'tzj -_q0\~ޢt ,/ꪷ̚.m7^a-w(`<]D /" =MLOq a(zA<"m  wݱ60;LbD-`5wR$#CJ}A=Qp3;;c 8A=-p)t"eP--s!TFq1db+=nwCf޲펵 B$cs&ϛ!v -WmcWJ˓(ƌk'%'뻎q_ MMS찰M٭`1ASJBK"hW N<OҹJS=RJ U=ƖbY#Y^S+Wn wck*2L|f3yU?K Y3tS"I]+'j\¸p8*B ~q LzPh1 -]EC MEiD"Cu7E=O쳄H|>RS(N`l1gጩVxJ~|ѝCeBȤKu# WYPcyc P%̱Cךd? C4IcY_cF]_n"Uwf 1;chYXU){,;MuiWw~,.MØP֭FP aSiߦGVaC9X1d&MwJY9u=S($l' ՗A~P'~ѵ8"0o?V^ዂk>Oo>ђ d]~`dtB9[joXܷ|cl|O>ɰMXtC3xݎnӑt>rɖF&+Pc#MW9t3eOS&C/u}|ڙ$>:a*^8?aElyfvxz'A3k(p 竆 (=Sd,"t%9hzJ:Vu%O"Ѱ6]%0i Gf4])9}!:v@rK[⽞IRIH`'kj~1<|@.N.q 8?2XhDȐ_(ۗ7O|]R5j=^4[+o GPC,Jm#QWZ.8OUDjZ!9愾I~ /c\~ ˲tHþ`Xӹga]"6ob%0tӱrxD_*׿qca3gaY^&+|jmFJ^C8jqۆ|*$c63HFcc5hXr}ey뒾$/sqX葂!@}>\P#X2@P]矗2Ũ8 -ɛ,3٘*`2q)BU]Mݏ+.:#M߸4) -hO?x̊,6آW I|Ӛz:t38k'D%wr:ÝjC(bX$R@vU";j8"ry⍩mRE΍p/9z*/9KfmaB[& ʻ#@</!DIUz`N`޸ ;먽xck[VL.Ke}mʱIC_BZ -;莧}hF,m0`snXzaioM݇F3}N**:ص^9&9~Dl-~O]kon-sZEkLwUh5}{;𺬯-js4^ Z%ytw}^^"+2M_^\#T %K,"?qdxGds۵w'm93B*Q^`sW -9/>F0J3$q蕯+dc24xC"D;ק7" 140^e燍o7D@N΍\{ȣX?mNӱG{hv-''4!.3l.8TD>Ƃ;lZIkJTDCkΞy=ż KPR1ӂf !FdvRy7o-tCv.-"%a,;wð9]oe* V ٶ> ԍT4Yd C'" I| -k[]^N/a,9/{sRU,И -Lq3c9|%=|;ơkJ84%d"͕@ɛb)nuskD!-90ޚӤ*f.(TW$(c -~u +nn_~z Mendstream -endobj - -18221 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18222 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18223 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18224 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18225 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18226 0 obj -<> -stream -HWoFYsH.z \2H80TH"QqCG\z!57rg,OM><}sǏ>}͌&*TNVM}P,WיQskny.|t̳z=ڜ[eT}t\E*JlMqRiflW6Ļ8i[urٲ&fulN>կCPg1:VR~QgyQ2동V(7+S.U]- Y,EsDɉcr'H#b`qHK, [Vwp{;^p>A/B/B/R/R/RJJ}#p/:k@i9,h-Lj%s,@k9F,cĒ9X#p/ZkAk9F,^ւr,@k9F,^ւrXhXbrXh{Z Z˱{Z Z1bćrX= cĒ9F,cZ1bcEkh- cEkh-Lj܋:Z%h-Lj܋:Z uK,Z u#p/Z@k9Gc*O9XfO촮2rU_8Tzׅ*BT&.F=\wM3Գ'Mx]^Uȶ.:^QV.[߻`$=VvӨmR&vˣ$!Dsv+VW6~`H/y҇?#Sw/m>;Ɨpul70oc7~bѦj8뷉~?yPGC %&mX=wl:m_oZ/nA|*Lonx2/smU>\+sǣkMnfaMνM-vռ fn)jS37f^V) )k -}N~H#qX?0kϳ/0[ov]9CgOv~.ISf556|4]V!O7--ɖXWXsYO:2B7aޑ82ZT;NvanCBPD8-MpkƎRؘ<fJ ln۹y*q2Z2J3O6s6UEdصG*Eq\3G7y&7zmXju$H[)P%;Ez }|}mu\++ -,a2+t<&-> ˴,(P"Φ -VM8q5jg{yccض?p ּ4ͩm@k;,2+`;?є>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18228 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18229 0 obj -<> -endobj - -18230 0 obj -<> -endobj - -18231 0 obj -<> -endobj - -18232 0 obj -<> -endobj - -18233 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18234 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18235 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18236 0 obj -<> -stream -HWo8Ba"X`Emo}(בr eˢ#9(ZGrpxiٴ/\}M_oo$\1RWTZ#iS&J7I~MxZ_Ӳ~7ۧmSeTPz\-O4yR &Mm^:nܴŷ syȷ$gԽO$f|Ӈ4q0au('Nc1a@^11@qP̣49^D^D%^F%^F%^F^E^E5^G5^G5^G D D-F-F-F B}/E]#r´8V'p-yTE<*Vc1@1"Gkq̣kZZ(B}ZAr$\cE\+ G#Jµ8Qȵp-p-y>r$\cE\+ G#Jµ8Qȵp-Չ"\c1@1Gq Pkq̣kZ(B}ZEE _HY]vp I@ɜ#DA)cbNiQ>gJze?QNs&dx;W 9s>炟}E;M?1coé sp(9\ktڋskz~s!xTAwRΫz;CȈ0wtC55tG*\U˧/_( ,1|訄[^[Bˬv;v̀AjQ]YV"ClC|YS8u-N3+Ak6J3쾅bٹ, O;J>M+)bЖ70;&8%'Mx<0@皉"߸]\#Sdw>;OF!hѹ֮v\:ؤLOlޫeA0s7xPɺa!rXHT3uy޷os~ܷl[pmk_D -di_~&&ɝ_(4| $НTB4^rLYͷ&;[SV3<4Kasn퇛i+endstream -endobj - -18237 0 obj -<>/P 112 0 R/Type/Annot/A 41283 0 R/Subtype/Link/Rect[154.800003 666.190979 308.230011 677.221008]/Border[0 0 0]/H/N>> -endobj - -18238 0 obj -<>/P 112 0 R/Type/Annot/A 41257 0 R/Subtype/Link/Rect[154.800003 653.190979 276.320007 664.221008]/Border[0 0 0]/H/N>> -endobj - -18239 0 obj -<>/P 112 0 R/Type/Annot/A 18273 0 R/Subtype/Link/Rect[154.800003 640.190979 277.401001 651.221008]/Border[0 0 0]/H/N>> -endobj - -18240 0 obj -<>/P 112 0 R/Type/Annot/A 41184 0 R/Subtype/Link/Rect[129.600006 615.491028 487.460999 626.890991]/Border[0 0 0]/H/N>> -endobj - -18241 0 obj -<>/P 112 0 R/Type/Annot/A 41158 0 R/Subtype/Link/Rect[154.800995 597.291016 286.571014 608.320984]/Border[0 0 0]/H/N>> -endobj - -18242 0 obj -<>/P 112 0 R/Type/Annot/A 41125 0 R/Subtype/Link/Rect[154.800995 584.291016 456.490997 595.320984]/Border[0 0 0]/H/N>> -endobj - -18243 0 obj -<>/P 112 0 R/Type/Annot/A 37650 0 R/Subtype/Link/Rect[154.800995 571.291016 282.020996 582.320984]/Border[0 0 0]/H/N>> -endobj - -18244 0 obj -<>/P 112 0 R/Type/Annot/A 41050 0 R/Subtype/Link/Rect[154.800003 558.291016 374.360992 569.320984]/Border[0 0 0]/H/N>> -endobj - -18245 0 obj -<>/P 112 0 R/Type/Annot/A 37643 0 R/Subtype/Link/Rect[154.800003 545.291016 347.980988 556.320984]/Border[0 0 0]/H/N>> -endobj - -18246 0 obj -<>/P 112 0 R/Type/Annot/A 21353 0 R/Subtype/Link/Rect[154.800995 532.291016 429.330994 543.320984]/Border[0 0 0]/H/N>> -endobj - -18247 0 obj -<>/P 112 0 R/Type/Annot/A 40675 0 R/Subtype/Link/Rect[154.800995 519.291016 406.591003 530.320984]/Border[0 0 0]/H/N>> -endobj - -18248 0 obj -<>/P 112 0 R/Type/Annot/A 40109 0 R/Subtype/Link/Rect[154.800995 506.290985 313.790985 517.320984]/Border[0 0 0]/H/N>> -endobj - -18249 0 obj -<>/P 112 0 R/Type/Annot/A 20134 0 R/Subtype/Link/Rect[154.800995 493.290985 441.710999 504.321014]/Border[0 0 0]/H/N>> -endobj - -18250 0 obj -<>/P 112 0 R/Type/Annot/A 20098 0 R/Subtype/Link/Rect[154.800995 480.290985 283.580994 491.321014]/Border[0 0 0]/H/N>> -endobj - -18251 0 obj -<>/P 112 0 R/Type/Annot/A 39486 0 R/Subtype/Link/Rect[154.800995 454.290985 398.860992 478.321014]/Border[0 0 0]/H/N>> -endobj - -18252 0 obj -<>/P 112 0 R/Type/Annot/A 38959 0 R/Subtype/Link/Rect[154.800995 441.290985 280.851013 452.321014]/Border[0 0 0]/H/N>> -endobj - -18253 0 obj -<>/P 112 0 R/Type/Annot/A 19096 0 R/Subtype/Link/Rect[154.800003 428.290985 307.73999 439.321014]/Border[0 0 0]/H/N>> -endobj - -18254 0 obj -<>/P 112 0 R/Type/Annot/A 38391 0 R/Subtype/Link/Rect[154.800003 415.290985 299.890015 426.321014]/Border[0 0 0]/H/N>> -endobj - -18255 0 obj -<>/P 112 0 R/Type/Annot/A 38340 0 R/Subtype/Link/Rect[154.800003 389.290985 437.200012 413.321014]/Border[0 0 0]/H/N>> -endobj - -18256 0 obj -<>/P 112 0 R/Type/Annot/A 18274 0 R/Subtype/Link/Rect[154.800003 376.290985 400.589996 387.321014]/Border[0 0 0]/H/N>> -endobj - -18257 0 obj -<>/P 112 0 R/Type/Annot/A 18952 0 R/Subtype/Link/Rect[154.800003 363.290985 309.339996 374.321014]/Border[0 0 0]/H/N>> -endobj - -18258 0 obj -<>/P 112 0 R/Type/Annot/A 24230 0 R/Subtype/Link/Rect[154.800003 350.290985 417.730011 361.320007]/Border[0 0 0]/H/N>> -endobj - -18259 0 obj -<>/P 112 0 R/Type/Annot/A 36788 0 R/Subtype/Link/Rect[154.800003 337.290985 288.769989 348.320007]/Border[0 0 0]/H/N>> -endobj - -18260 0 obj -<>/P 112 0 R/Type/Annot/A 38212 0 R/Subtype/Link/Rect[154.800003 324.290985 465.709991 335.320007]/Border[0 0 0]/H/N>> -endobj - -18261 0 obj -<>/P 112 0 R/Type/Annot/A 36707 0 R/Subtype/Link/Rect[154.800003 311.290985 429.710999 322.320007]/Border[0 0 0]/H/N>> -endobj - -18262 0 obj -<>/P 112 0 R/Type/Annot/A 36684 0 R/Subtype/Link/Rect[154.800003 298.290985 330.610992 309.320007]/Border[0 0 0]/H/N>> -endobj - -18263 0 obj -<>/P 112 0 R/Type/Annot/A 18726 0 R/Subtype/Link/Rect[154.800995 285.290985 429.710999 296.320007]/Border[0 0 0]/H/N>> -endobj - -18264 0 obj -<>/P 112 0 R/Type/Annot/A 35852 0 R/Subtype/Link/Rect[154.800995 272.290985 335.161011 283.320007]/Border[0 0 0]/H/N>> -endobj - -18265 0 obj -<>/P 112 0 R/Type/Annot/A 18657 0 R/Subtype/Link/Rect[154.800995 259.290009 433.311005 270.320007]/Border[0 0 0]/H/N>> -endobj - -18266 0 obj -<>/P 112 0 R/Type/Annot/A 38135 0 R/Subtype/Link/Rect[154.800003 246.289993 282.960999 257.320007]/Border[0 0 0]/H/N>> -endobj - -18267 0 obj -<>/P 112 0 R/Type/Annot/A 34251 0 R/Subtype/Link/Rect[129.600998 221.589996 487.462006 232.990005]/Border[0 0 0]/H/N>> -endobj - -18268 0 obj -<>/P 112 0 R/Type/Annot/A 18587 0 R/Subtype/Link/Rect[154.800995 203.389999 292.131012 214.419998]/Border[0 0 0]/H/N>> -endobj - -18269 0 obj -<>/P 112 0 R/Type/Annot/A 33666 0 R/Subtype/Link/Rect[154.800995 190.389999 368.371002 201.419998]/Border[0 0 0]/H/N>> -endobj - -18270 0 obj -<>/P 112 0 R/Type/Annot/A 18493 0 R/Subtype/Link/Rect[154.800995 164.389999 425.640991 188.419998]/Border[0 0 0]/H/N>> -endobj - -18271 0 obj -<>/P 112 0 R/Type/Annot/A 33592 0 R/Subtype/Link/Rect[154.800995 151.389999 279.751007 162.419998]/Border[0 0 0]/H/N>> -endobj - -18272 0 obj -<>/P 112 0 R/Type/Annot/A 37618 0 R/Subtype/Link/Rect[154.800995 138.389999 326.591003 149.419998]/Border[0 0 0]/H/N>> -endobj - -18273 0 obj -<> -endobj - -18274 0 obj -<> -endobj - -18275 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18276 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18277 0 obj -<> -endobj - -18278 0 obj -<> -endobj - -18279 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18280 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18281 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18282 0 obj -<> -stream -H_sD)7I-t:&-Z3<4TmI)sז][aH8Ho%_"yewBEJ 2AdSňVL_dJt-uGV⒧yOjmlyD:J3c繱it ?+2y ;}_2 *ei۟aK2ch,^׀4H-CRkBeHj} ($f)}Z,Rː*Hj}R{_ -IY*tk -PHj}R IY -q#5Aj9Z_>H-GRk@!5K!r$f)}Z׀BRkBHj}R I,5Bfн,R+AjZ_ -IY -qV 5K! -$Z_>H@RkBHj} ($f)}Z,R+*Hj}R{_ -IY*tk -ݛ#H:_%Ϧt %$ߪ9̤( *lbô]ڶ`oOƲ4+(=R=vq_Kf;|v(}-izUV >s-qRų-9ݤ1wi]?7m)`˃% -E}n~_;36yj{uX]X ={d6ֻهK3jI擪bxn=Gݶ[N8v]e.N9V@@Y{C7ȾF;yD2zd1nX! >tnB9 rސu/GѴr㌦nhZ ؔJ)+{ĦaC}9QwGm"!{3釖U|`{wC.rG+ͷbkxĸܸr,tPb946lc_oq瓝U'㱾}ozD_0#Rm5ҋW -l} -aդ]mneн}3Z DWvQV'k+I ; jYM3LQʏ&6f^b _b}u"د)?5VgXHU5N1 jƑf@UͰXU>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18284 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18285 0 obj -<> -endobj - -18286 0 obj -<> -endobj - -18287 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18288 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18289 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18290 0 obj -<> -stream -H[s6+y68'mL$G(n6IiFј.? /^|uN8RbIlUd*ah -B(!VuwqrQU9 ?/`BgAh 6!)䋠9?56o Me]T{"vao5)6HNVͲ jٿ(sUIbe'56~[F44vKߓu` p /4L!lL ^Y'̃AQO=2ռwG5t!wͻ"EÐS ]F7[2z+[Foz@G}#>b@3X}"'>F Oѧ}3>c@2 -"0Bj]jRK5T.NO5t w ,FH-ռKg5Bj.!T.w ,FH-%j%г!T.RͻzZ#j%г!T[VH-ռS ]Bj]j驆.!T. -w ,VH-%j%гZ!T. -RͻzZ+j%гZ!TCZy@RkRͻzZ+j wqzKH-ռSͻ8=%j%г:!T. RͻzZ'j%г:!TCZy@RRͻzZ'jRK5YjZy@RRmDBj]jRK5T.N,h|,y0BgASD+ "zr>]S8>w߾Z0+M u(V7Wp0_o&FG}h<&㺀E*a\U/0[Ut7-TeMKbj],/Qo&X`ҠڦaS~-VQ?G}{)ITԴ\MZ>D;ic?vqm!lAΛaEiۢ!Qh[ vػ+5nO2-%}t/1Kx)JfSki2_m-qȪXw؝Q糷e:PE[ZIOۭiS-4/.*r%ݭ_Ү%>ا#Znjs4C:c=gnuvMu[YU& R:{7NkwJVv{t W?~W{O{3a &Jwӛi3Vjbe{7lF*v:n*JiUilHDOx:>Zo'=sh=8CN)ByxΓ F+갻=b3u6P.;duz%_?cS61YtWwKdGl“y4d1U:lZn3Jiۼ,>D<6Utg0.8qU,ku)6J)B2^H8GZrI} :fkOw?!<9w#О#<\4C 4NO_!O-]endstream -endobj - -18291 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18292 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18293 0 obj -<> -endobj - -18294 0 obj -<> -endobj - -18295 0 obj -<> -endobj - -18296 0 obj -<> -endobj - -18297 0 obj -<> -endobj - -18298 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18299 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18300 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18301 0 obj -<> -stream -HWmo.H @I"m"CϺjծΐZ"g\L>3|87\x;&ط߾:5˚ʰҼP,4g}$Xv]7^o]]ײ]]VCj]-f-&f5dr- -]\,?9äʹq^=6}kWRb7G)5/Kovt2m7B?d+Ĥ`?O`+պ*¢¿.gu6S:HPCT:])*!*'P1w)Sq P``````o`o9>Oq"\EO\1@c"'Ukk8(µq QĵpmC>q"\6&\c"\cJ1@c"'Մkk58(µq QĵpmC>q&\E6!`Vc"'Մk1Djµq QĵpmdpmCT>pmCT>!*eE6!`c"'5k1Dµq Qĵpm8(}ZC6!`c"\EO\k1DµqlkRq PkRq QTY)V\\kkԲr!i׼k72Z[$[e Cn2%W-7bضe&to(6pD/gK˓lv-hAU -DR- -Ɠw\_sJi%#D"$ܐ1ίPqHw}rGD!]ըB-^V rusZٽV~FghVK: JXw=.dضv..aߋEl~.eTdBF?:QceE !KKLc^2rw6>{a--[ ;ԂZE)mJ HS"t*MEU4Rr9K#hex-yw ܌R֋~4qa n8QBը3w9?Y2Y8zFc5q~նaDyB9?WYv2eYD)6ϙakPre>]ж,%]TN -tQ9qL*`o9o-rIu:Y '/s wŏ/SN8)Г_2pK5mkv>F|`#g1wӽ41&2K;)ye^II]} -B]L_ΦVNQ ]/#xQ. gskVtXbp,b"|&tN9<*M:4$`d g:ij9w% K˱:v=1BNO׮{1Jv/ -,ZWSpb&akЭ,Fa4qSK} TGaⵚA-DkT" S)HP{92W+(T\߭*Hk[S[g 6QMw![ -AA7sδ~vQZVw豍>Foo dkU`q]I# a55LOgnAn!ߌ,_l,|~vdaFǭ -.垠3ߴ6 g*(T]t P´~װ YV~HX8W|~$Ł.Nyrrr<*&uʥaGoD˫[o 2q[+tI]7{G̮FvEB Pw0Mm-G5^KTu=V9V5P|rd\ba: >= avr7I:f|^Swq1 -6e8%p?GzM'_`ppIfmll{ݰao)}kg{gw}>,y8X~-Kn3-}Y7PÞ|>3vFURM4 x-+s;p}`CK~#ѺX[C(y 5GѲf >;cw^O54t>tS9Q3[ͥfw1RZG_7͹1[O8ЭJI=O8\xJpIhrs-Wo%U - 8yvelah%n&HWN_"V7+r :NJ# -hUv -],SBtdU6"ru -T0 e endstream -endobj - -18302 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18303 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18304 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18305 0 obj -<> -stream -HW]H}(i^ҫ],Bbg4DP˝8z_\cߺ:u}O}5{7XĞ?}2oU b:a,XP GV,+?f]-Y()6)?oupwqadIu_{ZҸ!xCcyKi@_:ʳ-z"tzYW]seLNĜȒ+-V/C/hژ ;u${ C{W{>}ؖFơQgdјc|AI18Y,Mv} O O$KO$KO$KO"+O"+O&kO&kO&kO}L=1>'SO}BO<)>ԧSoSog9aZ \1c Xk1fYzYc"\1"{k1fYzϵp-ƀEcE\+b̲kZp-,PVŘe= -µZYs \1"{k1Vp-,W1`Ře1fYzp-,PVŘe=JµZYs$\1"{k1,µ,BZIcE\+ b Xk1fYzϵp-,PVX(µ,_=ƀEcǘe1,µ,BZEcE\b Xk1fYzϵp-,PVb̲kZYs"\1`Ře=*µ,BZEce b̲|ZYc71FMܮZ0ֻ8_Xd2XVTigݡɳmxx~y-~ԄRbhȣDi &R֯ZmXsUޝ)p5˛VauvYq<9՗'HBY62*Zk}s/pM #{ڝMWWzUѺw{} LG]힛CV;ّxy"WCspixR0:D}wT^ecɺC>ֲl} 3m -/Fi6]Tc¯13'j(!E,C [d,>< -2 -luN?s~԰,aV S!J%4)1z݇޿I-{d-CC-՜?eǩ]X[قYH_MF ҧ8?6bd>p z^yY7]#໮^sn^m^J" ǔbuddp_zRpZv[ws }V 7LǾyjwY\(^orFǩZNmlIV߲iq1/ʇc^BR34Ib*Z=,]d˲/X^.../]G­HO"rp cn>ڦ"1+jg'&Y5w$.~kS"QaAPzA/zWǶhЧ8^O{rd+ywܑ[ݴj9M6)!/mm V솠l0m?ضslm.Q Ҵ*,0rMvym{*v"e>!6p^y}.*ۻ}kXB=VC4%- EYC<+9ewTr&LS1q.o3Wr)$] J3S$0k 68Oaikee_H~}m/;tr;;Xn|06Rxpω{"ۍeһ'ngͷ $F4k&EĿјn%#o?q(C}-O,, weN9psdJEJq2/]BͲo?\5ȥXn'wM<t^J"Tld8$8s4i(DZ>,J?$UO 54:Uga z Iss"cEvF`_y >xXh0vfYs>߮/)a{O]M,` Q|W.\CyŋVE" ZN./Y6YS[ Cތ7^9mb\O* B,EԧjPQ N& 픙.m`|dGCwWpȅrh`- =RAaJNË3Kk-Ŧa&r eXOTyßݔ#]m2 kB45u:+l1Ԙ2Pl%[7Sקt4S lǷ_n4JZI@IPLXg +d M袠ɋ21DݍoV 2Q %V*>E2ccsnqkpL.j!/^L_UU-M?TN:81U3 z6*lγ 'Y"#(1CX="I1RhRN_ƅ,|*I7 lӑ |}u@ExgP.а_IS OhJsOBcOupO<4T=IN6:XG+z] -J#G{OQFfSSWP'vt$=b9ɧ&z]mkO`ba`SInծޯG%i(MѦv$?KYg]ZNN11AGT#u)r> m=6 >X:i"X2Qp0_֍o)-Vm>cláu1Nj>/P 1009 0 R/Type/Annot/A 42582 0 R/Subtype/Link/Rect[93.6011963 252.509003 285.687012 272.188995]/Border[0 0 0]/H/N>> -endobj - -18307 0 obj -<>/P 1009 0 R/Type/Annot/A 37561 0 R/Subtype/Link/Rect[129.602005 164.908997 270.553986 184.589005]/Border[0 0 0]/H/N>> -endobj - -18308 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18309 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18310 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18311 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18312 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18313 0 obj -<> -stream -H[o+N/Ǧy.a&&L`R &,eL[LuPޤ(K{/1YgZ[ֹmn͏?^~zIo~lmi_LZ8s&|:f%!1bmb6z636O]JI˨OE)*Sɔ)c 1QjJhL٭FJ@z{ޫ*J@>)H)H)HHH9H9H9HH_H_%H_%Hfւ2r`jƔN/5J)^jLR# -LԘ:0Rc -WSJ(0Rc -WSJ)^MS+5J)^MS+5@z5LԈS+5@z5LԘ:0R[FLԘFZ1K)^jDS ZVjLjj=ZVjLjj=Z1ҫ`jFZ1ҫ`jHփQ`jHփS ZVj(S:ԈS+5tz1K(0Rc -WSJ)^MmS+5J)^MmS+5@z5LԈS+5@z5LԘ0R# -LԘ0Rc -WSJm`jƔN/5J)^jLe\e0 9-7UtYUXSGe:dy{S-l>mI2:{ܶw.g|t6m?ϟ~wuø"2zf%cȘV~81šH~6vdt?7}v26^_'OLW˒ܘfc]wtq~o|ͨv5]݀q2޼2+CKgXu,jɈ&-nopGtOıKOwA^27<._]{+PE\ɩn{$8Sؑ#K_yn 7mfԕq2pg:ojV/Ӎy\Smv_6ymvxn7/o߽1u߭ff23jfkfoCsS?իwO8;}icj=̇۟,Lkt@}?ӷ7 T6[(kMFg-.Bp%8}/8<:m Wђ32tݧDOM1UJyW^Ay+U^)JW2Ly+W^9ʕW -UByT^%*KԘ^R#/,/RwRc -x;{1TԘ^^jL/{z/5SKށK)zAƔQRc -x{{1T=Ԙ^^jL/{z/5SKރK)zARRc -x{1FԘ^^jL/z/5}SK>K)z@RRc -x{1TԘ^)Ԙ^R# -^jLi2.2/*gg(x\1n$q_][&vO̟. H̝uWV E'4>Ad\3xN$^l3V4f|AG'>="ˇ#`|_62.?7Շ{N]=8K7x*/dU9}GxohqlMBgqIVM?ۆ$ |p=Zs.?YS,|Yv8a2鹑{nG4yE~tWuA7[puqNtYoFfxze4+XNi6E9蝱J3ln/A`Bc -+(JWR* xe+^ʁWr+xʫ^*WJUJ/h/1F^VyYe^Ny9z@RwRc -x;{1TԘ^^jL/{z/5SKރK)%5@RRc -x{{1T=Ԙ^^jL/{z/5SKރK)zARRcJ{I({1TԘ^^jL/z/5}SK>K)z@RRc -x{1TS{1FԘ^|(+C 蒾qeZIZ6bwםV$}ǧx]w s>ϻSYLv<\:LjcwJ{[Ͷzezfcd4f6?^@{ 2Q|z/ۺ D}~{WN0Iz@{ ta$\YvwFlsfE`+}S۶7D~-|LHpLt`"a6Yon[.ӦlU_ԧzR.LՇG&z$) -;wɡ?卍 Wj[ڴpw nn)Cݢ֫{fcO1Qk9[2wOŇuDCW! ,XN`9JVXJ+X)c+eL`e r3V.r*VX*(DE5tq b3Xb7B.roS ]˽rO5t ,{#jX,F=%X{K`[!TCgQ \B.roS ] -˽rO5t ,{+jX,V=%X{K`[!TCbB.rS ]E5p ˽rO5t ,{'jX,N=%X{K`;!TCbwB.rS ] }"j,K=Y.KxYq|q;x~w2t=Iav1vSOŮipJR/}omf7C -=3UvUW8&tE`M:jV[uychV7/]]m}sWUS,S9Q33YiG. FSg~h6 ܆55>#@[b5688_[mn5;$9Cwq:XG$ l͟n6;5'1)`8d˶;6N5emA%# -5;.4ga - wR tvzؘzU,w9Pisӂ=7Nfhr&uFy0\)mĹj0,lZ5L{^Z{j[mow|C]'endstream -endobj - -18314 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18315 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18316 0 obj -<> -endobj - -18317 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18318 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18319 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18320 0 obj -<> -stream -H]kHW̥ |J(- VЋ4ȶRveiαs˯y4uލ&?J-߿8?D~[/CTne;Usad+fYd\mv*V?}rוW滕FV3"ZFӜХ:qMfrte衺=>%?M?2e6mvr` -1aY4ITB+g.'ᔕhy&zJ[yN"X/"DD3r8K1BP1Tg%1;{;b{O=c}`} >gsb39/}A ƾ %c_/}d#=aJNX8,QLkqPgbZ3{Z˴g@1i-Ŵg@1i-΀bIk-Z%i-΀bIk-ZؓZ8KZؓZ8'Lkq Ǵg@Q{%i-΀8,QLkqcOZ (ƞ1Y (ƞ1P=icZD1P=icZ3{ZǴgbZ3{ZǴg@1i-: (jD1Pg@Q{%i-΀bIk=Zؓz8KZؓz8'Lkq(8'LkqcOZ,QLkqcOZ (ƞ3Y'ZEq(8 (jUK~^]N;q]qe;id5q Q2/:9=gҦ<]Y42hHUoO7 -M-\!v"ӓ'7֬}tݢݪțJM?R'Zendstream -endobj - -18321 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18322 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18323 0 obj -<> -endobj - -18324 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18325 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18326 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18327 0 obj -<> -stream -HWn8}W 8xх&@vq[v+ѥW؏*Jꖊe{Xêb^> ~E$~WiBiUFę%D]! ~/|(ڪʺr'2Z>x O%D - >Eeb[7n(F\Pq}wĆ^EUM7?bl{35>t+&Bɦ~u\%ad=u#6B@wWC*~ tĽxwHE`ufa{}O>eاazS}>cg{˰{˰4+R[(FԆ(=Q-!gOmSRjZjCSbTKmbTKmb{Uj Q {OQ-Q-!aV16D1=*F(FԆ(ZŨŰTR[hFԆ(=Q-!gOmSRj5ZjCSfTKmbTKmb{Ռj Q {OQ-Q-!aV36D1=jF(FԆ(ZͨŰTR[FԆ(=Q-!gOmSRj ZjCSaTKmbTKmb{5j Q {OQ-Q-!a06D1=F(FԆ(ZèŰTkR[Čj Q>{jZjCϞ峷ֈ-:x O%2rvHeD$:io i7!VExmb?_lӷhPT,[ьͼ'cmwynؘ,d9/͞8uRs@gy^R{8~ڎ2PRMM -U݉Z0A Ḑhes;rz|[.uSƱ+1aƊFkB<'0J'!jȢjI@)aj"yL0NEvW}O&"o m|?n\ޘ>hPck_|/wS>ʺP͞Ɛ]5>i:|tBZz~$b3ФIX4NQpƾw]e,nyW-^Y"O7~`U)@jb>ʹYCjcUJLnqdoU3_(l.T  Ff8T=e#rܘnPuhR~/Ij5Z/>y .ny35 so8U3' \$cy,pOn7Up-Rn%z/-O.v+Ž'ʔ8N؋8ˣs zkZ8 r(,'Π81!\2uTɈۢ)||4nڪjqqڻx74:YhD E&P>} ym>,};Tg&k@5F#1tS k,8 -<[ ]KP@=h;{hN123A^6U$]S0ڡp>E0ZD3W/8{I*2sLLsu|*vמ4gjUn;Ş;6+;x7lٷE -{$c1@Mᕭw82t9.8uy{@i8b"v0{URBZM"^iōd9JĈc+f'VN&@iZ.@_ c I59D\)С~tl|H|L|+ol?Ձ&#\cʙJg IzLB& =wLt:crPpB) 2L`qn f$l3zS΍.ߝSq_3q(wvOwa% )&nH:Hi;ChڼmHE%{L$D Szuz~B/Y?s m|}$q/1}O l1P4;Y_TxK!]WO%@9p-8t9?LnƖí(JSһtv?ݡcӽ)!g6Քq --^9+WtTa@"l|C(T1ypE&L$fw9z, R4jpQ2xsҰZ{ݤPy*6(o!vR:rt@M/q S=2;|>mGLp\cix=œCЍ1 թ@a@My9AT5,@ \Z70ׅ&4PxQ(*C჈L*(쓔O#߬U;jk5š|f3WwuWMo%E x䰣n$$-}b#(!qwٓOG=L.|K6Cl9[ 9C*bS-2${'8F y)De -_"K<m24nxoN]"ܻh5y9Xg iͣJy.}9p\34D\2yep|*TbŃh ZqZz5\H@9 ._,Faȁ -6``wד~Q3+,za@@eV*afE."VȻ𯻚x}z+od -\`#*\vDq;B0_.VXqZѥ qȅXeB,p!8B㽕 ).8 \˄4r32O+DXF/n4U>ngΛ[J {b6c^RƋJƋ -m8E܂5ESZ{qW^DnRk/2} Y/;ZV..,,E5K5+yJ/hj K5KE,,˵ %ȚeemȊ1qfa4Sʵ6??ІMtZ"ilų Wk{(W7ۛ^G w]}K<ذq6CA'p-OA%ls_`9udT :7mytje{yZ+\)p0A&' w "N3X-z"`ďg" VhHh - Ej~/,O ,[1ךgQs `TF$ 2XHO `A,OE *_4X={IR+#X 'MYdDhgc{%4%4,@{5*kL'+ub$.<{+rnNr87pvcb؁:>urDrHqo0$R )fT3|5 #DbeU.EF z+AYYk"^ՐBbwd8[E]APz;OWop9tN1 !Z#`aPXZEjB(k Vb_Z&,V3ɺzLuXUL 2X vJmH> J,瑮 ` "`5i/ VR/vz VF7-_J˔4; ^[&5ZEҮ6]AU|FWo'<7+L;Nw{؞GP_J=}p2O7ï׾^s>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18329 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18330 0 obj -<> -endobj - -18331 0 obj -<> -endobj - -18332 0 obj -<> -endobj - -18333 0 obj -<> -endobj - -18334 0 obj -<> -endobj - -18335 0 obj -<> -endobj - -18336 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18337 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18338 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18339 0 obj -<> -stream -HWnF}W4fAe3ّ D9+QZ[-M(;xd>}9UC]?psw7:.M\6W7QD\jSn;۪=PG?1YD <b9$] gl"^lϫɞSX(?yZ܂#[, -??ſū8r*OtY?g&G`8"S1Ϣa X~Θ02 k$^Q/zŨWDb+^1Q׌zMF! QoQ9>'-Qoz˨D}/Q_QzǨ'i1$ZyU1`1ŘgQ,cb\1bJƵ,F=qd\1`1Řg1k%ZyV2b̳ĵq-RɴgՀ>rIvJw;<̻ JQAa|۔2JCH}|mr_!?o2x~z}3I/!S4^ ݛ=q=T_;ۭ{%]?vۛaR&*Zdzm޺W.BJj&E[#\ɳJ''TXT?= - -9y>F19(|*TZ'AiSiB -8c5.\@d.M`u_47JJfbjVZ.R2.3ֲ9a%ΊakCŜ5eˊ~9mݔm>=5m6S2$ڱ6/wÞXBHb "P$-\ӡJ,mZaGf(Gb,Hf+*zEɲ Z=OtȘrt -Yv5ʍpvEl0_<5p _A<݄B5*<:աjU!nە C5:dژ= -:U\;cÁ1毞AbMT\Nfβ3:~."^m#cY^2_x(8pI49w1I RpG/yZU+?^F\5t4q#zٴ(x) m8O endstream -endobj - -18340 0 obj -<>/P 75 0 R/Type/Annot/A 40132 0 R/Subtype/Link/Rect[154.800003 665.190979 333.25 677.221008]/Border[0 0 0]/H/N>> -endobj - -18341 0 obj -<>/P 75 0 R/Type/Annot/A 21351 0 R/Subtype/Link/Rect[154.800003 652.190979 282.329987 664.221008]/Border[0 0 0]/H/N>> -endobj - -18342 0 obj -<>/P 75 0 R/Type/Annot/A 43777 0 R/Subtype/Link/Rect[154.800003 639.190979 311.23999 651.221008]/Border[0 0 0]/H/N>> -endobj - -18343 0 obj -<>/P 75 0 R/Type/Annot/A 39512 0 R/Subtype/Link/Rect[154.800003 626.190979 394.600006 638.221008]/Border[0 0 0]/H/N>> -endobj - -18344 0 obj -<>/P 75 0 R/Type/Annot/A 38986 0 R/Subtype/Link/Rect[154.800003 613.190979 274.549988 625.221008]/Border[0 0 0]/H/N>> -endobj - -18345 0 obj -<>/P 75 0 R/Type/Annot/A 43662 0 R/Subtype/Link/Rect[154.800003 600.190979 376.029999 612.221008]/Border[0 0 0]/H/N>> -endobj - -18346 0 obj -<>/P 75 0 R/Type/Annot/A 43618 0 R/Subtype/Link/Rect[154.800003 587.190979 380.700012 599.221008]/Border[0 0 0]/H/N>> -endobj - -18347 0 obj -<>/P 75 0 R/Type/Annot/A 43587 0 R/Subtype/Link/Rect[154.800003 574.190979 286.779999 586.221008]/Border[0 0 0]/H/N>> -endobj - -18348 0 obj -<>/P 75 0 R/Type/Annot/A 43544 0 R/Subtype/Link/Rect[154.800003 561.190979 292.98999 573.221008]/Border[0 0 0]/H/N>> -endobj - -18349 0 obj -<>/P 75 0 R/Type/Annot/A 38282 0 R/Subtype/Link/Rect[154.800003 548.190979 276.119995 560.221008]/Border[0 0 0]/H/N>> -endobj - -18350 0 obj -<>/P 75 0 R/Type/Annot/A 38254 0 R/Subtype/Link/Rect[154.800003 535.190979 303.450012 547.221008]/Border[0 0 0]/H/N>> -endobj - -18351 0 obj -<>/P 75 0 R/Type/Annot/A 43448 0 R/Subtype/Link/Rect[154.800003 522.190979 283.029999 534.221008]/Border[0 0 0]/H/N>> -endobj - -18352 0 obj -<>/P 75 0 R/Type/Annot/A 36772 0 R/Subtype/Link/Rect[154.800003 509.19101 350.679993 521.221008]/Border[0 0 0]/H/N>> -endobj - -18353 0 obj -<>/P 75 0 R/Type/Annot/A 38208 0 R/Subtype/Link/Rect[154.800003 496.19101 455.540009 508.221008]/Border[0 0 0]/H/N>> -endobj - -18354 0 obj -<>/P 75 0 R/Type/Annot/A 43321 0 R/Subtype/Link/Rect[154.800003 483.19101 260.429993 495.221008]/Border[0 0 0]/H/N>> -endobj - -18355 0 obj -<>/P 75 0 R/Type/Annot/A 38179 0 R/Subtype/Link/Rect[154.800003 470.19101 313.998993 482.221008]/Border[0 0 0]/H/N>> -endobj - -18356 0 obj -<>/P 75 0 R/Type/Annot/A 38161 0 R/Subtype/Link/Rect[154.798996 457.19101 314.55899 469.221008]/Border[0 0 0]/H/N>> -endobj - -18357 0 obj -<>/P 75 0 R/Type/Annot/A 38153 0 R/Subtype/Link/Rect[154.798996 444.19101 300.109009 456.221008]/Border[0 0 0]/H/N>> -endobj - -18358 0 obj -<>/P 75 0 R/Type/Annot/A 38137 0 R/Subtype/Link/Rect[154.798996 418.19101 402.519012 443.221008]/Border[0 0 0]/H/N>> -endobj - -18359 0 obj -<>/P 75 0 R/Type/Annot/A 43118 0 R/Subtype/Link/Rect[154.798996 405.19101 388.170013 417.221008]/Border[0 0 0]/H/N>> -endobj - -18360 0 obj -<>/P 75 0 R/Type/Annot/A 43093 0 R/Subtype/Link/Rect[154.798996 392.19101 268.779999 404.221008]/Border[0 0 0]/H/N>> -endobj - -18361 0 obj -<>/P 75 0 R/Type/Annot/A 18629 0 R/Subtype/Link/Rect[154.798996 379.19101 330.630005 391.221008]/Border[0 0 0]/H/N>> -endobj - -18362 0 obj -<>/P 75 0 R/Type/Annot/A 42994 0 R/Subtype/Link/Rect[154.800003 366.19101 369.718994 378.221008]/Border[0 0 0]/H/N>> -endobj - -18363 0 obj -<>/P 75 0 R/Type/Annot/A 42970 0 R/Subtype/Link/Rect[154.798996 353.19101 380.098999 365.220001]/Border[0 0 0]/H/N>> -endobj - -18364 0 obj -<>/P 75 0 R/Type/Annot/A 33060 0 R/Subtype/Link/Rect[154.798996 340.19101 277.399994 352.220001]/Border[0 0 0]/H/N>> -endobj - -18365 0 obj -<>/P 75 0 R/Type/Annot/A 33036 0 R/Subtype/Link/Rect[129.598999 315.490997 487.459991 327.890015]/Border[0 0 0]/H/N>> -endobj - -18366 0 obj -<>/P 75 0 R/Type/Annot/A 42859 0 R/Subtype/Link/Rect[154.798996 297.290985 286.570007 309.320007]/Border[0 0 0]/H/N>> -endobj - -18367 0 obj -<>/P 75 0 R/Type/Annot/A 37980 0 R/Subtype/Link/Rect[154.798996 284.290985 306.700012 296.320007]/Border[0 0 0]/H/N>> -endobj - -18368 0 obj -<>/P 75 0 R/Type/Annot/A 37572 0 R/Subtype/Link/Rect[154.800003 271.290985 371.029999 283.320007]/Border[0 0 0]/H/N>> -endobj - -18369 0 obj -<>/P 75 0 R/Type/Annot/A 31773 0 R/Subtype/Link/Rect[154.800003 258.290009 308.230011 270.320007]/Border[0 0 0]/H/N>> -endobj - -18370 0 obj -<>/P 75 0 R/Type/Annot/A 42712 0 R/Subtype/Link/Rect[154.800003 245.289993 308.230011 257.320007]/Border[0 0 0]/H/N>> -endobj - -18371 0 obj -<>/P 75 0 R/Type/Annot/A 37948 0 R/Subtype/Link/Rect[154.800003 232.289993 308.230011 244.320007]/Border[0 0 0]/H/N>> -endobj - -18372 0 obj -<>/P 75 0 R/Type/Annot/A 30289 0 R/Subtype/Link/Rect[154.800003 219.289993 302.230011 231.320007]/Border[0 0 0]/H/N>> -endobj - -18373 0 obj -<>/P 75 0 R/Type/Annot/A 42594 0 R/Subtype/Link/Rect[154.800003 206.289993 308.230011 218.320007]/Border[0 0 0]/H/N>> -endobj - -18374 0 obj -<>/P 75 0 R/Type/Annot/A 30227 0 R/Subtype/Link/Rect[154.800003 193.289993 296.01001 205.320007]/Border[0 0 0]/H/N>> -endobj - -18375 0 obj -<>/P 75 0 R/Type/Annot/A 37905 0 R/Subtype/Link/Rect[154.800003 180.289993 290.600006 192.320007]/Border[0 0 0]/H/N>> -endobj - -18376 0 obj -<>/P 75 0 R/Type/Annot/A 18380 0 R/Subtype/Link/Rect[154.800003 167.289993 319.25 179.320007]/Border[0 0 0]/H/N>> -endobj - -18377 0 obj -<>/P 75 0 R/Type/Annot/A 37893 0 R/Subtype/Link/Rect[154.800003 154.289993 353.029999 166.320007]/Border[0 0 0]/H/N>> -endobj - -18378 0 obj -<>/P 75 0 R/Type/Annot/A 42399 0 R/Subtype/Link/Rect[154.800003 141.289993 430.149994 153.320007]/Border[0 0 0]/H/N>> -endobj - -18379 0 obj -<>/P 75 0 R/Type/Annot/A 37876 0 R/Subtype/Link/Rect[154.800003 128.289993 308.230011 140.320007]/Border[0 0 0]/H/N>> -endobj - -18380 0 obj -<> -endobj - -18381 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18382 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18383 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18384 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18385 0 obj -<> -endobj - -18386 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18387 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18388 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18389 0 obj -<> -stream -HksHW~[Y}-Jِb@Nɤ( șɿn]8}d+/~uԯw)yfwE޽v *L b{tqnڌV'5,lPfZǪ]YxAvqs?eyoFMDgP=">ĵ<myW eIKKuHdK~c﮾F+{^'i|Y9//2Φ̴}Pj+7AdXrn{MEw="Kb1-DZ<1|HXS÷!jq &)Ju -h -zT75I1=3=s=s=s= Ľ Ľۈ{[so#mͽ5;{Gs"]ͽw5.{{Os!=ͽ5>^,EB BMQ{I -I-tPZ) -q!ZjZI -I-RːBMQ{- I-$jBkeHj(ĽZjBR 5E!2$PS^K-CR BMQ{I -I-tPZ) -q#Zj9ZI -I-RˑBMQ{-I-$jBkHj(ĽZjBR 5E!r$PS^K-GR !BMQ{I -I-tPZ) -qV ZjZI -I-R+BMQ{-I-$jBkHj(ĽZjBR 5E! -$PS^K@R a#tPZ)Jw5E}}A,v1n#&8$z2LeǕhU]qp[?dT`Hy7o3ܮf0L[cՠWQd5NfN˷x.oih0X -m OaϢL&3ά= ۟L}>:I8 -~x}t( ->jd&ӆJVUvzA* >̢·:Zi0:Q?`0{4ƪcC/FQ{4acU>.F$4TzU? -Ax׭80 q6Q|dt? ypNLoW}0SO#^(Iv#nc2Q@&9=NYa|omM"YZu{(6][j@NbVy6N,1:*}ljz  CV4CpT8KDDmuM#ٴaq8m] fwl55OUbв,z<Q[M6(i\>gK3yGye. a8,̣KϿ(Rn,-@XҚv,z%.31_HDBWO'Sxh5)@X5-V+毫l3eZ+m`eQ=+3#':*uܰO[):_vqӟgXydCam#n2#)mIڦEYΘ&vdɮSK3z:~';,xC .H#]m%ρ,N6L^,.6,#n}wKcJs!j4Nd=Ij>|&ߗ5$r7'uٺ?-Fը f˻5$_D9>k*[-i[P+sPMf/}2a_z 2]</z0):ٝ.XxԴL]/TD˳MʪjZb+J%;.m4ɲTԼnɍک30&|~"fWAPz>JRuî/zؕ$ϼG`^iݵLV'z]:. l/=jXM8Iޡ T1a"pxߞZAdÎ;1'Gendstream -endobj - -18390 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18391 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18392 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18393 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18394 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18395 0 obj -<> -stream -HWkoV_q7@TмqMbna3G*)Ivs&jAbe<;w<~Mj^xUkdCb+C`'3E̙U7(5"kTƛKj9[yY5jﯜ^uƚ}T LEHK3GU=4˅ͽR=}L#u#v?=;3_Ť FsqaXV޺E(EZN??GӻۯfS7ڐ֊GG?hYU&YZ㤗_ӛ~ލvNAz)c", }z46Y@");J#_E؎7Q/2e"t$B - ~Qb-?]Ʋ,):Ftԛm|for3 u' Yv<]]}h|N.OJ{(oDK]xU可ڶ yg>-'er-'=޽=vt^s^L.g})}M&FgRҼ/o$=֟툼Y`cyUy Ý.Pm -VW~=Oόa, ճY/5d[ v,=9~ͬYndnV.Nj^O{4v|vrכ=Y6S`wDA"z~dzƏwvsw翌g0˩M0``U|~C ?9,^gQj?"྿}\eO~U޻\I&f}!|*RZhVPZʔV2\i@+WZ*V -URi@TZЪV*R%1fi--,вJ-Rw cRw cRw cRw cRw cRw cRw cR c֒@%,rA%,rA%,rA%,rA%,rA%,rA%,rA%,rA%,r@%,%1bKY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>Ĉr/1fi**G:FC{5n~M\g.6/wSUi|OF4|w|>ptSFw鞶P?͖a |_G&v9:b%4m3~4lj=fl֌텣{|x pNNiWU~IRXoHcmD(Lvkbat//xiUu)OZ폢cJP۷QI "EԗvMpAd<0E6aa=WOO -)vK+I(pF[툔hqmw{GfB:*A4VEE%e;aw]KU&*~JyQ6:pp[ߘhȸKx7M4xUϩ U\9 .1 %80\v~|jg3Xh8; w !x{Zendstream -endobj - -18396 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18397 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18398 0 obj -<> -endobj - -18399 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18400 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18401 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18402 0 obj -<> -stream -HmoFWfTc& $mШqhef Zk;,cA"3Թôճg_Ջ/|/3^ҿ֫P9]XUN:]-\]eF5*;O[]N|jd*&YL*>ֳij|bC>2A۴n⎗"eYVV^'_.ZmbKrSo΍7{ټ]z_xH,fBqg,O*"7V(kV} EWhS^"0>f1p&J&2N@\#JnǵD#)ų#s-Q"H@z';މw"HAz/>"}H_H_H_H_H_H_H_HA(G^̬C˵Efr(kS5dz%s-Q`jFH/ւQ Z kS5@z1L-׈Z0\KZҋ`jFH/ւZr(^LS5@z1L-S5dz% -L-׈FLϵDQ ZkDbjZ% -L-׈:0\# -Sr-Q`jFH/ցQ ZkS5@z1L-׈:0\[dL-׈鹖(0\#JQ2=kDbj=Zҋ`j(0\# -Sr(^LS˵DQ ZkDbj=Z% -L-׈z0\# -Srm0\#JZr(kDQӟErN&N5PT*\;5Ydf^UݯGfY?Uϻ~>{.W|\ۻwݟ׽Wiuu1x5d.WO˞?Wg>^{UJauu_ַiB[jVG]~hKr ~.E^HL*n6B.ټ]״Y!]fŏʠ"ݰ?|s -n$SRv#^ݨ,-Z(32#FT / -+*W! -Ux«^W%*U +r/K/%(2/ Kނs(%zoAF\# -x[{D-=׈^kD/{ z5QҋkQKށs(%z@Fw\# -x;{-OǔQKށsm==׈^k1Ž<=׈^\&\&\s$\s$\"\"\\\S\SQҋkt^^SrwR6vbHt(FMW6cWزe)WV;W!¦WuVT.f,<',WGUt9`J/%61,mq"Tڛ@:7h7Sc#_մ2dԾyk_jh7^j^Vo-难x`KI^O87Z_YXLャOFo~ɢVtS뻭Szm:ާ?>oӮw^?x O]p %ͥjzլEM]*:l'|jSYO]]#r!m>[+W $˵lx:GyB jݏ)uϞ.Tųo*=7&ѹG$3= ӯRspnڔ=ZAci|Exټ]ma]M,g}.KSn%8]^A"LuZN}uD5VJC_rh7QTr#ccy[mWB%QP//<+  -«^*W!JU -x«^W%"+Ƚl.FZ 2/#,/{ z5QKނs(%zoAF\# -x[{D-=׈^kDI/% -kD/{z5QKށs(%z@Fw\# -x;{D=׈^kD/{z5z5QKރs(%zAF\# -x{{D==׈^kD/{z5}QҋkaPRow焸%M_T6|sQ'զO?J?nw^e?|URʹHr{b9n{+vϹ\H݇=T,S}]7UMBM{m'}?Қ0Bԃ$fRZPI||5bKl^hfofٙY D!L͉&!'Qq8F3XG-Ѓp5jJhcj}mȪto`rXF00I4gN(cmͶ\L ukG<w( -Pn~wH X%4mxHd[Ҝ| Ԅᾯi?1PUdh.Cp¦Z --)i[ bU˔2,1duBik BʅwOPuKPyɌfh Nh4b?7|qnќN( fWkק~Sqendstream -endobj - -18403 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18404 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18405 0 obj -<> -endobj - -18406 0 obj -<> -endobj - -18407 0 obj -<> -endobj - -18408 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18409 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18410 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18411 0 obj -<> -stream -HWko6_A`ȅMny,lFHc^㸋"<$ﹼ<=ݵŋ___a|k' +ÂXP(WyuNT |>z7  nw6Y<<\.ZsoC!boW#Y \&FޱO_[3/!W$b-$:6ޕ6'q9őB;$C;KJea -]JWKꕣ^ꕣ^굣^굣^굣ꍣꍣ> P8B} >$ԇP9#B}䨏>&ǎP;B}Og%aZ+=EƐ媷1`1dm YzZCq"\kc";Ukm Xkm Yzǵp!PV1`1d*µ6,BZEƀEƐEw\kZ+=MƐ媷1`1dm YzZCq&\kc";Մkm Xkm Yzǵp!PV1`1djµ6,BZMƀEƐEw\ k5Z+=CƐ媷1`1dm YzZCq!\kc";5km Xkm Yzǵp!P1`1dµ6,BZCƀEƐEw\kk Z+p!Uoc"\kcr\ O0-YZy+yd[Lp!cʘ~Jx0aw', Yv}WЁ9_E8+l˛qy,u@E55H7şEu.FF/D}tu76oFZCVXub_ޟ۴t zhdoOVиKf5vٝϳ>!uxH= -trSOW^Mb~h'|LOq$A";0+eM켘VTPVq`^6Qn7+/ r^Z\Bu\w!yo/VW׿\y-HN}W'gT&AMiUNC#mܣ+"F-jh(*9},j&}XPϡ}̡3+w}iuӁ^d=G- Y}_lv(汿T]<Сz>R5iHA23MYe!)b/~cѡtA1ȱd*Z5)^_!>/1-X=*VXCl]Zp b{dr8;xB1 TF/;˙2GY[4~2>`0\\e5V~V|x^}p"0ôӴ%׼fyd';UT=v3&}i3toEm뜽w/>xeFngEUce?-2Aؕ^ c'} ˈn8yb~ /cL]QØş3 r9P@e' Ntm[zu .Ԗ\~cxpxˎtok;c,4Wu1b*1}UwYPu)nj_@ e4>=˂ Vo6Q!LGY jD decݛaG_g" -"o! -X - bm K ~fyӜxiYCѷr~]uHʶm {|Jq܆9zaױ((@Q^<H gGe9KBɔDQcH4VZ@)sE.t5[,ѭ/EԚ;Ӏ[]Ie#G[y/.U7l L4/+Zf8a&ă5hٕBE2NrގJTD->[ a..0ÞcvpZm2LذxHo<3k}rA\j036,J[ۛ@r<.*JY{>c^lt{wkooWihQ0?9L{+GCMG?BPvȣsh2M-@'=Tnv_/iФTY}xwP's4حgK7rru螎X;*G -Fn7ap:FQRjz8(xR-M.L@A3s|ROoa2[w~I> D xfoDGq0D(x͆:&-ᾴdip%ٓg=ehTG#5}4 rk$ "+ջ3KKu -Ҁ)$k(344Mk8A3&J+`CЊԌ%ˣo,㣶qhgx3ho-ES1c -}u*הEۆ3_, cn5Bm. [dή}Zظz]+ә9DM \Y@xz`΍l+֫.W{p#q3 yy91ٰHDg,VJ&"N -4HvBLAɴ}A X@@};4/Ƙ vZFK|Iy󘰯 iM#Y `RfkE)>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18413 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18414 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18415 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18416 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18417 0 obj -<> -stream -HWob -)i/\rK[4B[ - EltC~(2ߛ\<]Ȼ_zWzωv*oMsܦިJ$S7VJ.Qm}zz[mTm\ި.y5K.g(f$I2TJ5&Wղw^MtG-wd:}__v^͖89PO9} xJ.]^AVaǫYf!G$fMt|]n?$65ALJ[u!S+MB16$x GgV8F,9"Kkb<`qZK,F-po{ [Nw=p{{^ρ\ρ\/B/B/B/R/R}p/:Ai9M h-Lj%s,@k9F,cĒ9Y#p/Zk@k9F,^րr,@k9F,^րrXhXdrXh{ZZ˱{ZZ1bcĂrX=" cĒ9F,cZ1bcEk-h-" cEk-h-Lj܋ZZEh-Lj܋ZZ ,Z #p/ZkAk9Mh-Lj%s,@k9F,cĒ9Y#p/Z@k9F,^ցr,@k9F,^ցrXhXdrXh{ZZ˱{ZZ1bcărX=" cĒ9F,^=x!!Su#dtKh9儖ZNhy兖Z^h@+Z9ʅV -UBh@Z%*VZAhɤLj%8F5ZZheZ"cژ%@9F,%ro@9vYB cZ"c ֘%@9F,%ro@9v:Y\˂sXRctZ"ctZ"ctZ"ctZ"ctEZ"ctEZ"ctZ"ctZ"ctZ"ctZ#]Ƚ]Ƚ]Ƚ]ȽȽȽ߁Ƚ߁Ƚ́Ƚ̥Lj%8FGn%rACBp*]nWr6J: {'4Wi\mf_Ujz,fޞM?L |^6&}ZEYɗ]>qp.զnU'E}_UVz517(^FRjB: "az>^~DiRrPj>n#÷*Ox¤Nkljmws}~ }>Zڸ -4;=;ljv~Q}nfW?oϺ9;?n%O[>KįdD/joq#۪o`M#sMwWzhoݹZnSⰹgtL-ڮR^ztgEZ kue_Y+<|4'wYls[o˓EKSmRgE34.吒eS캾»vov 퓳3MΚߐ&gi4a{:>FQmVUl~ůSjcLsagrÏchNCy^tCfذ¥ڔf4nv[3:oľ]4MuV﫮<4#Ͳw͹R]|4 D4ލ(뎣]BIUӥp:7O3x~D}ؿ4E_ۺYjv}[77nWwD_p(S_葋6zR`eY7qdžN@ЩuH`~}ho:lSE>n9l $3 6γtD۩.'?oǧ@M;]<~s(>i[I:5L ,} xOkX@0%=aJ`1{ZÔb)żi Sy 8 %xOkX{'xOkX{'xOkX{'xOkX{'xOkX{'xOkX{'xOkX{'xOkX{'xOkXP0Y){Zg%:I׿wO'E2qDٵQcŷy+Wٱ'  ?W_>N6IzW0_ŜCɯߪ^0,VJƁjy/tzM;{c?~Ґt>j{kӴVKôW&+> "8Xޛ `WmWSje`k'͢;l~WllnћV<{<׭[ -H=PsO٥NSowMξ^+8}/.+~_ u]WJձoMBb3+җWm5|2QzPW;4/,Gۮ.՝QԱU n4x{iLd^,aNSEx>7;7 -fۼ{?V a ۢZZC+F p :v*^ tWDF!$13%t{jčGC -?AЭK~#PJ/?2endstream -endobj - -18418 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18419 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18420 0 obj -<> -endobj - -18421 0 obj -<> -endobj - -18422 0 obj -<> -endobj - -18423 0 obj -<> -endobj - -18424 0 obj -<> -endobj - -18425 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18426 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18427 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18428 0 obj -<> -stream -HWmo8_ -2bu) -fbl+kIoFoɉl"%9~y8gH]ܷ_.| دz:+ )Vq#'.M"XŒMVwuַjUr{n"\ϊ N8ɘcdyV6˶w4Y*3/>-ȸ8mo7~wm9;}7S&5\E+#bl[3?a)c+8e4RV`M\~b$gB1.LEІ]h1*!1(I{I{EW{EW{EW{M{M{C7{C7{C7{K{K`Gs} yľ `_DE>Ҭ Dڶ$Tm"Tmه6@ m"GjCj%(B QHPmhC>R$TE6!`V m"GjCՆ6D#JB QHPmh&PmhCT>PmhCT>!*fE6!`V m"GUjCՆ6D#*B QHPmhІ(}ZE6!`V m"TETՆ6D#*BmhB Q1(B Q1І}hІ(}ZM6!`V m"TET Ն6D#jB PjCj5І(}ZM6PmhC>R&TET ՆmbՆ6DCՆ6DCb;4߬&B|VLu21ld" Z$P],&Y1j׈\,D Kts{Od\iiOH}Qdi 3q6Si}ginjRӺ~Yﻕ)Npqk4|L}ۗuxUMߖM}W<`Jz_otU嗲FCmq|;G8ťe \\}.|6muFQluQLOA -Ý.V׵(Ze@\.}3L4x^9t[3D>\iF0$ԄZwч*#/]SWdb6 N*-v7j߆Rv_ /wC } B.fЍ+\N;@\MՒ,;eg}X"7Rﮔ4mF@}*PǘIqOZTDZp9gOLӊLf,{4 P B~?\zZ$o{Cfpm]CC/PVېP^UTVMІTW5~W/$[[q[]ިsnдCJ1{]U3X0P)n]E8{0Ό=޽^]I )􎾰l4e~yWC?_~1*bS/i&7r( z ;a@tf!CۡV.3YɆGϗ߾`ep~q҄(Vw -o|B-+7jaWu^}ygusVAbzIB\fvBBY;vw~}[-Cft78 ۷mxՏt_V(ߵ%>xk:>evQݤ'Iɴv\c, -O*:s ϸ8X -gf ABPuA.e%?!g2ED&<`cթϳ@q~3?tt+{燕YD> pjwƩSXD.r0pp$"W0KixEhVdy7r -;۟ diGG'LxZӟӒy!A2j r3j2Ԭ~j -M,PS_xܯͧ3{F~m]~{oѝ*r(r~p(8{7;xa-r]"4AgFGAq9Zi-c^؆W cI;;% SLfq噿}4onȕѳg -*8v/# 8S# Glȍyd^:bh΄KcHl/tO ]hqbފ2CASd8u.J 0ИɛGnTvφ7ڭh} lpDI ܏s^%mA#؃{:7Hr[r) ϫC$tTSr3(@EhG$LF$ҦĐ5Wcʞ@(da4\Ra3SAj,% B]<_xQyX:n$@A"=%z:i g8(ӤƸ旇aCLUPܱE;+"_0hԙ f> 5/A .z>_OUEct]KN`JD[^[{j1ai\Q\[P%HnؗKJG;zlQE:D#H\+QE}b(,ZRL -Q/f9by> a3> -endobj - -18430 0 obj -<> -endobj - -18431 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18432 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18433 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18434 0 obj -<> -stream -HWmܶBuY'H4E $) \6 畭._z#gEh!hf_E7?p?q/zsd2H2͞} w!'`xS}O ^^^>#g`ys} f!ZwqBQ>{(BQ>{ׇ(Zׇ(ZN!`節u}"TET պ>D=rBPj]j9Zׇ(ZNPCS-'TET պNu}ٻ>@u}ٻ>D]պ>D= -BQ{OPZׇ(ZA!`Vu}"TET+պ>D= -BPj]jZׇ(ZAvPCPC!gE!`Vu}"{j]պ>D=JBQ{OPZׇ(ZI!`Vu}"TET+ պ>D=JBKպ>D]պ>D]|y boef w:'QiO -^(oϧS]}ܿYR|Z>]쓴7*fak.<ӱݗ]uy8jk}UZֺ;7PʹҝIɔia>;^ǚoA"gOb"Y^LT6`q02XKg _.Ql}ݠ$,6ܞ0FyOIl}ؼ 4X@.s?8 %:2aŲR>l;&6j߫H.wb, ۏYmkVZӄkt]H᏾j>?Mt1&"ɢD c"2P99\ JF f6SY)h%-0rX"E'ƥM2$ -Ó/P.qO}(=j"Ԟg:ٿz#wTk\916ԖN;C$ DZk\^QmpۍfLqV(A`1=D. L+ԥatWԣX<1Pչ?Ai攆b(ָC V?-H9&55}]v^wwmw*R{]:ͭC{o &dbYxSoE*UB]"p .fp*\,eX{8F8 ӹZPRXCHt3-5 㴦/N 4@=TBl:в\\qG J[ iX{ Xpn鍅 sf 4[/u SlaQ7xέ$fn`5$& 7s"аi FݸP"eit -&,֤Q%V6xPq۞k&IM\a*6LahH6! xRO/lXܫq:!UU`m5".Sq+ bl;lӨ˗'_ª-˳, -.zT:d=[v8Z޾9-O<ʸԂV`BGLz֣ ԊGZx}'h'n"R4s/$F)71WJ u%bM-”:&_a ibc~]Z`f%!l]0S4$08U <CUbO3{߷ X0\o6垏kRuHCDa=CA0zP8j<Bǧ]_;8iZ<|c}c}]TMZr'x(,zy U:akrT>Xc㴓i9|1%6c)]8=`c0N(򱳙yc A3APA%մM\0,] j ƯGSBHq|+hڊj͋T-zCT(B?wR"8ˆS{l'c)]nݙhg@|b+p-p|g`5.V][ɀ)Ø/)fY>X}1.>ibG|Ya1T4U D+t -\`H$%=mvQR m`K[K#oHꃲhbQ gH>yE܊wkDJsq1;F츽8}'#4U,2BKphSy,1< Z\sT,Lw(7>:DxMZʋ:˫gȖ+!aj()!2y }žźoٽGU8i@'P기ܗmGLIC H'Ss ~Iw{ )rOIi[n -֎`gPv9]B㌷K9d.aڭ^` ̨͏&iqb6f4_Q vϙ]KH)QҫXDe3Yֶ:)g -AL&352_B2㧏thpɬƾ5Laⷲj9qNltʳ¾J7|L;):]rhDM9i$ `{ ] ɌluS?eE 0ƥAendstream -endobj - -18435 0 obj -<>/P 522 0 R/Type/Annot/A 18436 0 R/Subtype/Link/Rect[93.6001968 663.229004 184.404007 682.908997]/Border[0 0 0]/H/N>> -endobj - -18436 0 obj -<> -endobj - -18437 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18438 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18439 0 obj -<> -endobj - -18440 0 obj -<> -endobj - -18441 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18442 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18443 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18444 0 obj -<> -stream -HWmoܸ_A_–7A&w84kf+{uݕ|6;CQo(g3C>?g^]?~懷W/әDFZ >:}YłoCVDzo-kwMp%lsHrOPquƅ[M/eMX]\I&Yv_!'`xS}O >%ا`y3} >'{h]1j]| Pj]| Q>{(B Q{OPkCS TEֵ!`Vum"{j]պ6D= -B Q{OPkZ׆(ZAֵ!`Vum@umٻ6@umٻ6D]պ6D=JB Q{OPkZ׆(ZIֵ!`Vum"TET+ պ6D=JB Pj]j%Z׆(ZIֵEֵ!gEֵ!gwm"TETպ6D=*B Pj]jZ׆(ZEֵPkCS"TETպ6@um"{Uj]jZv 4Z׆(kZ׆(kC>Xmti.()TUyX[$Q-<ɜr&l]o6b:|߷e}꪿LBW1|Օ@:lf(mYR&-=Cй;6'gsXFt/\i&.x<`4)ך&{=K% |]g(^d. ()@ܶe93)7} ^'"A[}/̥璧L^:a)*.h~aӶ7EuJp(Q={Mr(3Pbl'Nj8iGC\\ی/QKԷx0)u!]s Cućg"hfP4e]MTB'ĊpCЍ&S .RxCVBNM:BSlm2cSݩ6 Rorxv\dr~z%?尽b&,ap1[6 -vZUؕʾ!KcUsA<-ǡK;~R_Y}iV^jΕyo9lY:0G Iפ͛f|/>u4P];ϒ9Qjfpͽ >'YP7D~`E,|( -O%HW^ڒG"W@!.H8=}Q7C4c&QxH -N&XAjfpk‹9jgj;;!uqnC?Y[qvI4J!:]^:Z0*vwk9ch#,Ed¢U5 D{LEe+sD -8 8P Šm#Cb]Xw3_P6?TĶuz{Ĝf uu"H&ΠwOjvKԹn?p:3q.H&ڸ>$*Oēo-Oa _BZcT~sXJĒg"W6~nk^O3 ^S;z%v#|qtLZ\L&@o0T|C4 -vDL*q wG!HU-.DbDQ6\dH7}d),"5րؼD;!c|[zu~{U9.]zrJU6-Ғ}nF^th>ٙ%œh_̶ _܅CdG%7Ձ*K:ĤzP_n{ 3՞t{o\MQ=<>jjHIܯ}@y>d{ *XnuT ,X4xS~xŧ?tvendstream -endobj - -18445 0 obj -<> -endobj - -18446 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18447 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18448 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18449 0 obj -<> -stream -HWo&_}THTA BeVeQHz9kvm3O%Ls3ouc<9I̳g/^DF6Ķ4LZ8s&|:SWof%cdDViRخr]5rfet;g>|lfJҔi0u4sw2ĩ́m]# f'B sYqMtW.MF,iɇ񫣃w6UٗcbiO761'y!1s>]JI2]TSjN)86$1fq#%0f%[KXwʽr{{+}rܧ}ܧ}ܧ}g}g}}}}}}ܗ}ܗ:rcv/1bJYڽĘKXcpZ@k%,^ցJXcpZ@k%,^ցJXcpZ@k%,^ցJXcpZ@k%,^ցJlyZ1K@k%,^b%F,Z1 WcpZAk%F,Z1 WcpZAk%F,Z1 WcpZAk%F,Z1 WcpZAk%hĘKXcv/1fi#hĘܫZ1 W #hĘܫZ1 W #hĘܫZ1 W #hĘܫZ1 W [G)hĘKXcv/1fЁEIK> ,VPZhTi@+UZʔV2\i@+WZ*V -URi@Z.Zc֒րUZhY倖SZh;{u!KiKY@KށK; YJ ^bZ*^bkRZ cRw NC c֒wʽwʽdʽdʽQʽQʽ>ʽ>ʽ+ʽ+Ę$r@%r@%Gr@%Gr@%ƛ|r@%ƛ|r@%wr@%wr@%sr@%s%1fi-hܧ e\e0 8[Gxl5ETC;83YZt?fޏę%$";grAd0V/L7fW_M]Ͷ<6j~}uτ1˝MWjnŶ _I"|E57$̚vcUin*Csٛjcj5ߑ[tw:踣fw殮rvc+v~ˤa.ghp 'kr6,v92]'Y$ہ@m7n9\u!Ni%M+Fzg wѺ3Mey<`qǶZ⺰_\~Cs6,_?޻ACRu!hTfקrIJ~vջ?#_.ߴ?[W ^ϭ? UD: =,)`8 -.[hB׏<=>5.o6 ӺM^񪮯[6у~rx@&.<ph -ybכr[j.ۣw ujO&͕1.߂ބio67g4{2Zm7E8=crڷc;L o;pt~.Wa<3݋'лe>mЀOv5FW!v4&rB:߰!m}x;]5oy\w(c} |JRZhVPZ)JV -RLie@+SZ9ʕVrUBi@PZ%*V J%1fi--,вJ-Rw cRw cRw cRw cRw cRw cRw cR c֒@%,rA%,rA%,rA%,rA%,rA%,rA%,rA%,rA%,r@%,%1bKY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>Ĉr/1fi2.2;GڬjuԆ+X2_`XNYtJ"͢F8 \H_l8iiǾ%GH ;k?2ʓ,W)V,P_Tg;-|X,SNuA\M߆~haPVCӵvdETt2(c}ikKd" .V@P,/χ'NT&3˫>5#Wp4йkZ^6iM.`у'WgPtzw)JdW%KOD"j=G Bm.O -ZP;ASPg)iG G}:8g3g;J ۂế$c\& W|E.@v×ըlcͿ&y8t.>f bdtGJ)+ -r*U"qH!5TH$DFY"ݳzBfh ")D~#;DtS*zQ5D(;4z;6C/r#Sd}2:8!c"C>e4vPJ7jWL-z՗FO ?SRL<\N. ?ŊF,lI[mv'T~'΃ʽ y,eLhJ7@P_=㿯/K '{XRR|ACЖkEEcOp=l&EmI"9*sso*4z267p6<%`Im,Xt[? Z &j{H=g$+H̗WdOnJ%Pb9s"Qt(r,x`\h[ȲK>t{mj2&:v{|G*̽8ԆiCo;nfVm6Ot6ǀܪ1;dE'e 1\qi䓆JF{.V`_[3OL'ْujnKt}˒쮡@Ś辻/]{zG㹴{涹0 -wɚXIf%<VQV>>;+ +'> tXGvZlZLqj}K*,l(]mNf06/)1hgz361cÀ[ɩlt{a*[&4?~z -zBvЂPzpb _ڍ0/37įmn-S2%dk@"˯??<' Iendstream -endobj - -18450 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18451 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18452 0 obj -<> -endobj - -18453 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18454 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18455 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18456 0 obj -<> -stream -H]o6+ػqHnM-6l3p@˶Tۺ~y43.PPWҪ!ϟ_}w$&/^Uk$eO.2&DPIE%(&w#9~ɶi*eYSR9j> 6XbaLcCEtvv7kշoTƊD?v&/w]5Ǖ&WeS6Xiȹ'4V1ڡQLY 7|NXLH_r1&7$")]DV}dؐb@~QPsB(_;cx?G@=G@@ԋ@@ԋ@@ԋ@D@D@Bԫ@Bԫ@Bԫ@}O > kDkDkDD D [D [D}Y֏G\c@!c -1GPkk9Z?(D}Z֏֏9 -Q#cBkPkk9Z?(D}Z֏֏9 -Q#cBkX ĵ~Qz?Z?PsTޏ֏9 -QV cBkPkkZ?(D}Z֏֏9 -QV cBkPkkZ?(D}Z֏D\c@!c -1GPkk%Z?(D}Z֏֏9 -QV"cBkPkk%Z?(D}Z֏֏9 -QV"cBkX)ĵ~Qz?Z?PsTRk$1)jmdڨ![DCVXq0'Xݤ=z}Xm]ݐ}ZgUV7U9dOj*bN吺O+bސKبvx[Cn͐Ղ&=wb_s];~3\P`fUV-W]Ӆ7#ax7Mʦkhqj.s”5\-S>pWo*Chz;d@ Tp}ީ;p܀ -.TmrM۲*@rVyMXU^qzR\)eUUVK\2vbaDR8iq*Q臻3π*a -SxE/ᳲ4%)N2ҽ3uß٧SbɋԔ'n9Ӽ`K7XP6$`;Sfa SHp&4LA^?[*S4>e&\稥Znc2$DFMqZTN8@S=` X0<7e*:n a9>dw:- (oIO7`>lXvCI*}tmeqv؝;Mbd $n-FLsUBVgp i`A gZ=!NNZgû\;Q *hS ]ڈSlA8iQ *h|dHaF$(p2S.LrnEr Lm/%UF ,`C: R`DX7 &w5 4?$6b8N]=hL> 0Vk>$\n¢k s ,eXQK%2x*Y<׋0cPT&J,nOȷFe>ئecU\.UgxӂdnHly'$v{Ӵ%n%z,\w [yыt^&p^XgfmC=_t@nzSݟD >6LB7-u#Ny;ZZ f}H?q7s?r8;eNZR=MO )Zhisq">9Yck\2m{c/Ck}W !Xzz`R1L_;kwq+!GڪU#y(}F4un Փ1<,A5ՔYlIf񷫶-)sz2$TLS6|cH/F_4h@+ =xĈgʮV7'Zp֏B_K~h]\"b8WѿIw=nendstream -endobj - -18457 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18458 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18459 0 obj -<> -endobj - -18460 0 obj -<> -endobj - -18461 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18462 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18463 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18464 0 obj -<> -stream -HWێF|W4aY{77A}NR%eN _cDΉcRHCŀe g YA`Qp[ --sw{;c3^p }>s 3>g}.ϙ\p3>g }G=JK:Bk),bZK1dqCwO1` Vh-Ő%gBk),C -Vh-ŀ%bܳZC -R Y{Z+bܳZ'b),CwO1dqZ!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%guBk),=kZK:Bk),bZK1dqCwO1` ^h-Ő%gBk),C ^h-ŀ%bܳzC R Y{Z/bܳz b),CwO1d '{ykU3eMUu{+QJN̓+櫤BY5gNɧ١<ޚbVݠp9-:Nim\,tc10[7m?fninaH0CVQ9ʴ!]nv7ҰZuԼ^pJRm:Vͨ'5,upi?:h8z40><?V[ dʑAx ڤWNy̯Um~%/_?avnt!AL )ǃ8<݌Q9MtOKQg)Ct}UhgﺪT}p.ە_k¨0Tbbuf]2B說.V[=>wMYԢ9k*թ).#ja:+R7>Z*|T -ٵ|s-7+{5mj7ќχđi.=F xs])yTOM;ڿld\?yh;PLyݻ:yj,vյаboB2OOnn; gfc(6\5m[}R I7,;[mY1?n@M;Xb_iXXBWȇWz+ -'Y?fa $< ypizo4C}ѬVyr[~F" ]R{|X3~,/pb<9 jq&@laa:U:7mBqFcz?ɬ{6nۦѵ n n:wp _X[D& ~X ׋r۷_FFZ<Ⱦ VV13xi3)beK.j|S}۴3c824tuO.  +:"ܣ8QXn qfwSg>ZݧYW bDϻ3!50(zH|ݝۜU.,6^Uo`vZ8P-60f.r>| pt/< W':Goz9\ϥ ]i1v3EλMܿ,eע-&S_23^շ>l6!?wn^)8=;2lKG~KxHʾ!7;zzq7K2=\]Άؼw;tZZu?6}DSYedˠg,zl؏,^K? 䜖qbCҙi{0s1>wp80q_d6f?hNzR < |N60dEŴ噖< -V`ZA -L+2 ZiVδ -A`ZU0(hEHlʵ(,E1`A0-#he-˴roS Y˽rO1d Z,V=Ő%h[!CroS Y˽rO1d Z,V=Ő%h;!CעS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1dq-K=Ő%h{!CrS Y˽rO1d Z,^=Ő%h{!CrS Y˽rO1d Z'zۄ{~$Q hKnbSڦNɣNs UUu cs|}|F}(~8'Q -Q߻IXk8(E$jQNކbx|0_8pfɮ砱d0 Eqx:YZcZm84K}zjk߳}.옊<#)Ϫ] yQ{Q'_c7!,x8`!1 23Wx cxs:soݵIkWz֖ÚW7W?׷A QGm43zjEP%fBSekՁ=3`wیOU{{{ƺBjǕ6@(O! rd6Yk %,m A3UUz< oIBx{=тz3TB},vO en||ɫ$endstream -endobj - -18465 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18466 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18467 0 obj -<> -endobj - -18468 0 obj -<> -endobj - -18469 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18470 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18471 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18472 0 obj -<> -stream -H|moFW /RМ7 lҴHЗ`K`?؁H(~()R*Q~}?Byw_v*iKިvYn36*O]7vood?a!{d6J& BZ5]6+}9o0b\ٿWݲ]KهO柛*Wy߭wǶu5tu9Q_.ԯ1şsV* ̍EM]Dfds&H&0FV@\#JǵHi-)ųk-s-R7"HoAz+[ފ"H@z'{ދ"H_H_H_H_H_H_H_H@ ^̬C˵.3`jFLϵHQ2=׈)0\# -Skr(^LS˵HQ ZkDbj ZE -L-׈0\# -Skr-R`jFH/րQ Zk]fr(kS5dz%s-R`jFH/ւQ Z kS5@z1L-׈Z0\Zҋ`jFH/ւZr(^LS5@z1L-׺́Q2="kD\#JZr(^LS5@z1L-"kDbjZҋu`j)0\# -Sr(^LS˵HQ ZkDbjZuS5dzE -L-׈FLSE6EҪt1%y2.gζx~8fwhcV2j$t,0o̊VOls_&EϚ.89M^hJh]^7ibp{|}zVǧ~kv5ӓdAu'(Fv6Yҧ7ܖ>Z u29uȣ}4 x~v^NcEdw_vɺ]a-v,À&\Uڗ>&Z+/U+W~2nP|]|n/ϯG3j4ȭnÔ&Nrj?#2וvi3q'z0|_Aln}烇$hZ0좈 -X-Q6)ԦAޙCJ&gF)|W<y G܏/jqzk@Vy7wc}NfgM1.fh]uB%0m-[JB/mDr#\0RyFHWOx>W9UhXtçUO_9{=~rVBE4trcT` -gL`e r3V.r*VX*($E5tqf,-4ce,{#jX,F=%X{K`!TCb7B.roS ]˽rO5tq%jX,V=%X{K`[!TCbB.roS ] -˽rO5t ,{+jX,N=YT{K`;!TCbwB.rS ] ˽rO5t ,{'jX,N=%X{K`ܧB.΢S ]U;>V~ .llņHIkUUBSD -ml6mZvPeTU]w_b^Гjݾ|+t -:]Xc96塒y!6P:`Re?p |3@8U8,oH/]=vNpNy{>]E8511>p^".u!cn0za9QfTYcU1M;f='>񯫿?~zOphZV(!Y8Yʜ~ dx j!:2.1*P}%N ^Z嗳{׏~x8W,Ӌ^m4V9\+}Fv_=M美Ù5Ep9\Ψ -暈.g&H((z,@D`:LJ1GOwg%tDCW! ,XN`9JVXJ ,X^`yVX+X9c+gB`ULYTCgQ \Z`iK3Xb7B.roS ]˽rO5t ,{#jX,F=%X{K`[!TCgQ \B.roS ] -˽rO5t ,{+jX,V=%X{K`[!TCbB.rS ]E5p ˽rO5t ,{'jX,N=%X{K`;!TCbwB.rS ] }*j,K=Y4ο +d"v7y^yh LMWcr*hO,ʽNrYnUX"ke^ʺ2 ~I*q/am&@0ZChҘB.箛ipa^p%pM4KVaw qV%ޓ-uim[Ӱp9`8L3rv°X(]@CTv/4&SYy՗xhai.sw*NOi0G}]5OXnnRB,W\vd.U_qMlenuE+}Eb=d&&͒lnp LFqpy!z3ZgUn_/\Lz n.gyx~OFi㽴^A|J\eYߋG.>ոƟzJk(ye+ěUI87)`﫻x]\i_5ۧuBb'+VCۍ6G @S?H A<(rCc{)ٲ e?:0@"|ȓ:5 >mendstream -endobj - -18473 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18474 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18475 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18476 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18477 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18478 0 obj -<> -stream -HW]sF|ǯJ^( al*[%].U~\*$$$u7:JńůŦU^]|Jo]FE:(8sFeQ2(QV.~+WE[})/UejSE?n6z;.*wQITM%3iXy _YY,KeSOrAgnV@y3|(xICi_ͣ,!g\a;~llԓ҉A]JRE Bvߣ)'pN XFt֜E0dyEkS XFpo{#7̽[ --sow{;c3^p{/}*OTp2>c3}g9s s>s,Z-֑RK1dqZ!{KH-Ő%g5Bj),=KRK1` ,FH-Ő%g5Bj),!C,FH-ŀ%bܳ!C:Bj),bRK1dqCwO1` ,VH-Ő%gBj),!C -,VH-ŀ%bܳZ!C -R Y{Z+bܳZ![GNH-ŐS XBj),b),!C ,NH-ŀ%bܳ:!C R Y{Z'bܳ:!Z!KpRR Y{Z'b {KH-ŐS Y}CN%qΣuJ]xSA:{i?}(M}cк,#6g&Y>uba@YWuVM۶hw×j];Z|,5|0][\z?;{ibQC5qnOXҦPdlCi/>?ͲZdr zZ='ab y}O&o'Ir`\`TwRn6qSB|>œyjIx|lY>--wb?1} /drNBJCeZqɻmwf|۲}Ώf`'Egwz1d$I_#7%TA縀k;.= b,XP:t:Rw;et?CYs7$pTuB٢Ҫjђ 4#3ОN |jܚ$wqv0J .-.On!l P,in;i ƘmKk`? 6v ;ŞcoR.8 6ro m5!C6Øݦ՝_t0Cn(]Qv=vIw3ТZظ'iӷޚ#!cKC;)贛-$M]N0fЀξq>3G=5ۢG:8mXso-#?%+ ?s1^C:ӮuklS;pMqQޗͧ{9խ6CӶx$]ְ{bK -tNr3ہ1] 9&CvyNA -KY܄,.={ܒxp\X?1~?]'x~.&vJ/hXIf<g&vjy|Rz5O^vR}W<;|!$-|K14݈nBfc?şeu3TKf⮾9yvx6nQt`6 =_x1L$,,%b!  &%&n^>X-3inZȦFp+TTI\u{_PvN껸wb'v -E*Ďx!NŒhֽn~{aq;e֞Ma"t]]"Fe_שCKq_njp\}Gȵ*o6 vU"oO4ntDִN}׾v*{},lPzDiÃ_Elx2)"JXN`9r1V*RJVX+Xc+g\`U -U0V)J*VIY&,.-4ci,XF`!TCb7B.roS ]˽rO5t ,{#jX,F=%X{.!TCbB.roS ] -˽rO5t ,{+jX,V=%X{K`[!TCbwB.΢S ] ˽rO5t ,{'jX,N=%X{K`;!TCbwB.rS ]>rO5tq%jRe ߯ޭt_^Bh:H - -C4t?rWzǷݵ.bh)DP]T7pUEv/|A}E?r(`lxkﵟ vsLba}j1Y`n?l#:r&P10'n@843%4Qy[B>WX\jmIun6h8 ?*$,KQ-=38k֤>Y7QѧU:m*8cu:-~jL]7x"O4yl|c51=>kkp쿛Nt)B s){nΦ%/ӝ߇S?6,8((*ʪvs~:Lqp4"v>J<4 q-~ۦ!mEЪC_xϖz-ZhlfȀ 2=xv:)U$np]YfqYbGw?Չebgoru6endstream -endobj - -18479 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18480 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18481 0 obj -<> -endobj - -18482 0 obj -<> -endobj - -18483 0 obj -<> -endobj - -18484 0 obj -<> -endobj - -18485 0 obj -<> -endobj - -18486 0 obj -<> -endobj - -18487 0 obj -<> -endobj - -18488 0 obj -<> -endobj - -18489 0 obj -<> -endobj - -18490 0 obj -<> -endobj - -18491 0 obj -<> -endobj - -18492 0 obj -<> -endobj - -18493 0 obj -<> -endobj - -18494 0 obj -<> -endobj - -18495 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18496 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18497 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18498 0 obj -<> -stream -HW]o}篘ÂNmEr8IEnP,щ6H%&nQ^ɒ{O"%939xݙ/})˗޼Pd &6+_Dgm,|ʬ|;Wzhlbֳ+g>mW|doft%4$4u٘"_nZ3ܕEsr3zw ڥ=?Z}[~;=ݦ9MG׫ib ~h!Uadڲ(+ %?' _2_8`li~%;4S%_.R"KgWY4' -"IYz8Z"`Ij#r{{+ʽr>(}rW}W}}}}7}7}'>) W[dVb%F,Z1K{ VbUkhĘܫ:Z VbUkhĘܫ:Z VbUkhĘܫ:Z VbUkhĘܫ:Z-2Z+1fi#hĘKYڽĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hY{ Vb%,^b{Z+1fVb{Z+1fVb{Z+1fVb{Z+1fVb,JYڽĈZ+1ficpo HwTև;DJ -J+"ЊJ+*U) -hUJZҪV(h5J+JR˕ZKbZвJ-rJ-{r/amRZ cRw ;Æ,r/1f-{r/kRZ cRw ;,A%,%1>-{r/1>-{r/1>-{r/1>-{r/1>-{r/1>-{r/1>|-{r/1>|-{r/1>V-{r/1>Vh-1KkI @K>K @K>K@K>K@K>K7@K>K7@K>K@K>K@K>K7@K>K7ZKbZ-7R H)Sҿ"{5G#kgiG0/*ST"ڙ32?vr3z'ɡ)#3!tTr?g]kf:fNVi8|Nݿvy2|ᛢ<O8rs8yu|>1nnorha<oo_r*s41{A_:`~gl35/˦{{[1Ģ챹ԡnҀ7wqM]NgOﭡW/殽ljM~}(|φƀf\Qˌb61j/<狪%m݌ټ5dF9h/-tO^JqO3W]]rhz:Qo%Oj X> +*{X ߣ As+~i{gufG[Tgݼ }|k{p̣yDF-vW`nM43) i1k] "YZ_q{7Ѧ \ۯ#v=r7&{s;ʧ'=2 m_~,;'-8fQ~'vG1ᣘĘKiVZAiEVZQiU@RZЪV jUZi5@QZ jVZIi%+Ę$F, Ҳ@*-r@KށKY@KށKY@KށKY@KށKY@KށKY@KށKY@KށKY@KރKYZKbʽʽʽʽʽʽʽʽ}Ĉr/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1fi- ^bZO)ǯY5GkFn }?>ڙ[w[Hf{8+2Q^@RF2"E\\Z#di#iϸ̐Ԯȕ|jG69yfԍ} REwxYO=K~yz9HF9 (l9<,Ԇѿos36& :p |b2, |*V<ó3s,XI@ VzÁ 6;D% eE̩OiYrm^/;xϛ?!-*fȘbk{iW>A "Z,pqB2мJJcKo/(;ڤmt)U18c%_`ŹcxqaBŧ -y\0C,9D]S^D"im7Du͜' *(Ʒw ->g I`_Ȓ⩽̏9Ba)o c2V|' -ݼ¬KD]*gn{u~߰eu՗N;rj*aٺݓ; v4%.!*d5qQIDC.8}@E &[odsvҍOX}?wVm1涫q7L9QJ{"`X{>!ʃOM(3ABNvhNX ;^q !+VGs8M8f֭X̊xo=<Π~M#%O7a"X%}Pd)ҰaOw2) t(a6~0 o%6gSG)qL1ꭗwZ'_w:8 ncXn^w;2ئ!)?x՛,U\xNrΏ8II8$Uq9Gcme,T&>`;P4o1 bjETJ&}f -3(vZhޏP -Upxe2Aba)Mȷ2Z QMyE"Dr8".' ̨B*uv|ys^ZVg-r}ba#[{s#`I ~û>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18500 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18501 0 obj -<> -endobj - -18502 0 obj -<> -stream - q /X3 Do - Q q endstream -endobj - -18503 0 obj -<>/ExtGState<>/Properties<>/ColorSpace<>/XObject<>>> -endobj - -18504 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X2 Do - Q endstream -endobj - -18505 0 obj -<> -stream -HW˒ WT ߏ=`'bf[rH{Ph`L>]OJÇӍߗ\QӖs: "~{m\o//ϯ^?=~n/SO %iC?/ްu-Gs+y}~s緔::ַۅࢥˎ |mﰙG)gB25=#vE&멹[`nɿ_шvЩk:ђ?i|>}<Є̠z7YVic߱xZ@)íHxb8B@`Gk5LC z.(aa@4Y|t?ߏkfqf3֨Ak\/ԻnG;D><}-hgZpi).ʧtT73%tlI]Sq348L7>z_O]M84TɤofQm"Se*V>ھ~hr?|};jhS%Oyqe|Gri*2r-ǐl?U7a& OwGAn & -uG#8e*J:z'g,ڃkGo$cEm,ea>EbG[ -6H$/B&C G&R&*ov9[?B Č8CKp9AKdSe  -rKb Gq穘=' Rs*5POSqbh 0k#F)4͡Sx"Ʀ<6[)tх'nujh* ۋ%*L ܐqs )?ͥ7|!Lar`^Bd5 -오UfҀ]fC |@> L1fÀ^ %ImkHjtP)/x'K9I:=fX&ΈIIQRn@Ȏwt~b2h>u{|ՋXbFNwhb6sYt#v~&XY *Wt' Z!~3V#.fvzIJ#Z2N HDo&dsZe<ѩuq@}.@%b(JBjOq4vPf`mq=!b,IܓYQɉFCq͉N;}%b~hN"L6CtRGLēwN*〬!^6Z'EBAkd W| )N1۴6 8GۚT|5GN!̑dE݂J1>e Ͷ TO*NG,s)us\c p[jfq8sEuwb񓙳-oJ1GSb s%qn5T^|lǣ 8CA+]0j-òntAEQkBTANcN]Un[#*6P&ǚ /=h; (+E'TbT\ԼZ aDXo`)4c36UP0g|5.Qh@"uyĀ=nF'(l<8ÕI7 +8ZV[_ _hZ8ƅ7h {ffS$WH'(X)bKXY݉&XO9.*0=啓|Vp'Op(o.Y);+3cjZNȏye>:䯓E+˜UJ[sYQp{4XkJzN`uiMfaj\WWElM)Op^6 > Q`h=B{)յv4He&5bcͷZwSpu|H?*y}ф$ҵIKE[ysjP.h8QV$'i*9 ]ןy-Wo\mVz[,e:6#Q,y\E$D0ESK =ٮˌn TSdl\:6P*L:2fGy^H^^(SAZ9[Jc tu?s hoL(IH#e" d/!2!0A%2IX^hJ|cwn֬TW}7՘߅!௷COB|IEbJߵj3.5@*rdL)c(b`at$RgLې܋0Z*Y!K_RV[o!FlI}K*]B%%~.Nh%8,<12ZM\|1ֳZI+t(c|Ֆ' Q+cU3KE B @a kG%"Tt?l9+qCO,X!)K"CR8Hp X8;3{1 R )?`15G]Y܉ ƦY!fWw-ai ]djŻvZYkP|'#QO$HHL>rSAK s4te/lj-X(%$G#c\hD':RqS ?Sr){.|%8_  -2fr2אWx"` YX P<2sFY5CD"!Uzu+ KMNE 𭏀3f7|Qd i20w -Hm[&gQf5 s 铱&OqB\R `.)e-;Xpg3=bNlb葆 7D:4a@ɨ@I E -`veӔ3-:i6!{AʕSQeejB(3CP5"\QnNE}(a)UEv|%<47 ^ɴ$BijO:naGXʡsE G̢1. |gage4Ѕ@]rft%;K,Ż=˜IIy]] u).Ki3Ԫ֙NjP 3,b6"%D VN(xQIfU^0@O ^vƜ!{4=gX׬ʥL[L`I - _M51W#i,&cqXկjc;5#RZ>T##GP-KTT##@/ꏡ#Tq x ոjeFR-o\^F+)vÉPvؿ 4&Mn,52ǒkvJЙјk =PDCP|5JԥXNx)\ ]Wť Due28f*H_%q_,i2rEg0L7\K;1|LK}X-1nY8=N((ɳ7"eV"jUt:%⼠PδZ -my@s -=j3QN&\εE|3, [P,$TPRG mZ -NtJFqkդlՁEUqlc4mhMi6h㚷cghQ7u -*fS2ۂIFjh"%U$0UfTeqN*9Rnf`ѠaFA *Y& `Y?{s(.Qq7&2=Ζ*]%ɊYl\8ŠX油DD$r`"A$5lq$ FY~>9˂%}],d:ZLM{WgkyLکf:&YkwG112TRsXO)VU:c` syxTmIHw?oQx~ -ފiEpFKWp -B'$ ʥ҄O>fۓOO: VNϮ̧WQ}~uNjnZ- oZqz58n)Mܞ-ҽŘ{sb"R3h(,g=;_lC^yܪv*{y ; -Uh:+l -v QdҾ4b-V>n 翃%gwNWn or蹧O/{0B$.>ŜR{%{o% Ҍ Ly7<;6`]!]o[.i|w>mz6 ;C_ 7yjj] IW7xȞ$,@+esgE7/fOTiyw}9lO -f@F#]e7DHKkf.z~x 8 /UB4۽/TT*+Nσz7^~a}VZ@o+i\hoqsnjPd$l[zNvl'lz vLHO|a w F_fq <:'ux7)V/C+]7?DY[;sr1=u |p?ikR'=Q'rQmUi]Oh2{ƟϮO9yl=ug*fF]Êu t[wv&m*ekEM,';4:$ڮ13P+̄`Q́ L\1MC5_ -(oWՉ=B؂kI7R7zmku 𜂢D́ob\_ _l Xn0OcoH?~];S#gE8;+FoNv*ٍ#9w~EICjd3`_Dn{{YMQc誌EKN$ey߮|6{7ϡ;`=mu[]Bp?<^RfQN}drxtFmVq)c :NqWNBiGKCKɊp$8saPSaƹ=G p $ӫ%1%(?eLdNJtDβYw[ز!˪c d]# -҅?bl+'Iw͙ -ѽ4Bax^#bn__J؝4+po,M*TH([ue3Jz=>7Z (SWdy6k{zv_QsguTrn,CpM= PV -i+>%[ޟXWg Bai(eKӵU-n3jv)MUrc.X,ؙB>lUm9#%=n.,VT+;*ؽA&./jQeg۶:&|Dו+E{Ex^):tXOzr 8b(T9ʚF/373C}MJ1N~,)۟lrv><'jRB h FN^)DH*DJNq -S Z$XñVAB/o"v=<'j|ibj53Х2U֮}r& YKR[ckYԭh+hgXWF&-^IYqPXS(0 G!b1v%QpVI\k'zJ:>5VRI:-KԉDhk9Q%g(.оJ*u˳"aHJ,ɢ+kI=3%E&{}(!! -:˘W*yZ^1)){.w1q bD|tG/|RW 褰h ;.z -h& @HGATO3,/t]zmYb Qp.0WB+Ui =c@w&.0qVؐPc7-"JJ' f܅S73xu>t!JϢ(6x OɗmѪιw({O#R~#Wԉ#imOíao5TMFfF̞}M' F Ģk09[rHVSJWGl]h".4CYxHE͜fșa}բlPXmqWs?Mm+ zTY3;W0N6Hzq$):J`D?W&*CA*~.Y!K&qnLlFVICP\)(sҮV p4@Ec)lsGTŪ37+h.[>^ꌖ9Vk;uɄ%Ph;:6D҅!#08na qLxPMggS0lU?] Dy-=[u}!!Hēb>yt DYHcQ/LVfsxmQ`aXp|J}NfZ"=%6>OQ 1rP*%drm2tGκ4&!jpys\2uM nVeq^g,-ADAmSvD>a[U+37ykLCH5C0I:L&%o2@%b([{v|w%U{5Xq\}5{$Sv @Wc\(Gẃ 9ؓ&ר 7E|̈́"mCw1IWHKrSЏg0,/ fDPJeu ؛J}(qW8p j4e]tti#(! ߅<VZGYHV)T1s}y_D].X+]M=Ȱ#'Mÿ yd/&d!(s,#.x rUԫJ* ܣ.ؑ_`PӚ*VCan!l USkQUv/Bpu؞Z" -PFlU/KMj ,]"oU˴a9iS}RP.AWrFV1Ki(Ż" iu)< -[ҥRx+? -/o'1GRxnƥVx/Gm^)+-J^^~ U.W~+K[[Rxf[RxG^^Aor08HxhGwu0 ;ՀȌdc -.+IJ)xX f;Pu`J ŐԄD%4o(+' 2ɢ^-dqmR߬fu&DTO/)''H *7aeg%@" RB~x$s1.WdjbMLPѤdžZi2s/ܤk, -AajsM5I^L=BFFxiۦ8zg[&݊_K1{IYYmsSHT5$9OAdL^a EY:L~czXsz1&| -4pi|]a̶ht}pjl9Fϧ~[.x̮j}Ih+ᶪ[rCHy{ _E'f}:shk9|(ZL'PP*mbR 0ӆr3b?f3Ԫ/:R .;Ex6lMz᠒)-$-+ ެ)isIW>N/O&4<8F"N8P/JIF!T[ ˇaҪCzg2G]ek751J=mw5 >Ǎm;ѵ\DIjRx/a>GE(B1L-ꢬi0WLrWL*P=dUioP"![Y!VE[C ')ʎ%IZU6KV$ k`m\A {X 8@6 lVRWh68.^N.Z]gxi7|y7#y0Ӫ Ăw1kO IH~Ga9<4tpF+1 ;YH*5]Ch\7; |`##|/9=q W -`~-K NФ}荚:P?rGOQ"ǐy@@YOKh>|5+_p־Ŏ#:i262Պ㓩;6 k%AՅac>"#8Qzc+P'`.V(Ұ4q+ᔽEЉMyHcQ4OfC̾avq$Zxn6$@;A{b4|fM:^tdPƁPW͓t3]=I)CJ0PSnvq4* '1cGU$Mh +&)Q|CY_=骇@Ufwb`V/j۩;qƢ@؉kAV5 S"/L8HdEb ulHwUϯoGjr(D{@ij{Y<,0B㣝x-y53kX?2IN4 rN:*2#G5G.j 1IqLZ(aQmS +'+ǪQn~cUH1*49dp>sփ͜^u0"h}̐zǃ]/;ƒ_}atw42QZ"_y(: &U8k<,S94 zAsC1&t&6'NEu( _bW_`悥Fhsm_jjj#m[37bh.#l/swACH)!z& g $] ܄oPjiB}s;3-DWBo#;%$ngaԘ(+Y_)LM&;; -+CN3*ۑg_ -M*Ӛ6?YTmӲd׆|4ٕ2- Q-oPv+IDߊuqƑb !RaPb:tK0|(X4Vf/1[[wbC rhwP-6.SZzs)bߕOۊTjX!F.s}]:k,f5ugw8 wT9j41TD1)U_2{K׽/Xr#)#!lC$SC=x`_@x -vz;vv-зe2-}-~_uChJ[6V|Jy0N7ՒdGns$?G腽V`Ֆƛ 9鉸o;#RMt« IW&J>Dd*3ʠ*FZ}ӗ*xlGv:5 VTS4 rIktdPMfkq .75+߸UxwcZ*<~0zGt<0ЫyTB!Q;i?Qb,ifr'@6CQAK; gʜ/:ϲer] -K2qc93Űbiyڡ)Sm"}y  {-(ġ A_4 -70ВwʂQ -bjZ k 9K ͠K=uTe -MqLQGj"*\ÂZ>y> $AR3IhYZy4Fdadad金|?52W?627F&db42ȴi/FFFr5F-}t=uW~r?3/y^y<<\SI2?Mu@P@$mR G5~EUIzb$ln|=Y4Ry -az<6Wg'1E2njhG!E-A4C+MH5;piqHl[ܣoࢾsзO4]Sւ䋹"hZ8}>O4dmP`RW[!lo~5ޠ^BŴvaި--ӻYPo[>jc{ c3 H#,.$9{xZoV9sчELG*C* ٪P=GAU$H'~\c-hKlvFrju-3vE Y<8® !Q&A4&Z$zԚЧ*Je˵r:0Z6?Z)6cvj"н]泴"f͵Ž1T@FQeCOXw7aǬ98j%Ba6alL' 3bAaTZ6nkt5Zŧ0N{solZ.8}mո8TN؏{\FVS* Z\b'*Tk9Tuɲx P,F)]H<,;6eeRz죩Ѳq"*bEg hSόtxMf|4~@?UbS.geiELzzZ- -%"i/Fm.s;6up|{vO23kGf׏2_3wf! z Ɨvr{RRL0צڤ಩ǧCqdm#Ļzf F -U`^"sW3]%Dp -u+] o TLTyCaTXI&TН7ׂ7n˿Ж -nuJñtrꨪ\;Vu9ƌ|>[܅VG84u:+r8>U]rpk0rn [Z2h\vX}]kIӞHC -ղk*x-q +6)XkوInV{@G=A)Q!yֽ+0F8 '>pU_֯6tTNd:嵌Q߳u3f J 21Ӛ)@;w [6V(G9m*3/:3V+[l>+  - -Ӌ~Pa -[g5O֗/Z`0gXgg$uwWhR]hBk|JI ?O~-MN}S\oq>œØtDy -߻S^/I.wim(9G_7J8޹j|4Hde?=n7co+;'mґ&JW_Fxvz |nFY뽁|n*"~pmyŵu]+eZ[ U U~^qcY'Z=N!7IcaHJ"{L/(uy[(zj³ʍOBIa5LmufC8X4_)[s[z>N5CcrJͧcz`אL ^yhy )5$mU -ţ?s}Lvl^ٝ7ϭ.Ey$!=B `s!GМNl7aE}F!Q+O +m[N:ٛ·Dx-j' - e|j&F)\Z~~^tuSΙ@1Z+Nlp 6+;ޕ"Uq -]ޡ^R,jjTיcn'Lj`Kjk(un*l\0Q2 Gغ<|em?]43>zk,},o{j9G=OLG3 Ȫ&ƽgs˿0}=~(> tTy[Dy~VAvtD]N^~R1z{:-mQ.)eΊj>lQ``︍hچ)6)*29 G?xO NyqHs՘J|gTH~*[)NK<Bܣ>0"&jSA;w -fen]Y~=MHp5Z5cAT& - }%\}~0Fk~ހؤFulT`^5}⚗q1݇FҕnBlj҇!=bW5I$c;;Cbxu[)U1~+" -3%.n;p?Z}W"97k{(Y߂z5PKOK&{t#-r| ]ŗ0B3*\^u1zB?D~rN29_;I-6,n21Pi&mi:!=цcKĐ1iD3;ӓc #Do] -o$^b B_w7k...䉭&ԉ.RF%^sroWo˜לּ$Zh5PbQb& ]&niES>Z1O -xfV;_kKmN @Άʱ2DߨD@p̨_]33'3OK߂YhVEaDd!,}g:t͍= -MSEY%GG<#1=ޣwi\Z,]_`|1ĚТ (D$#ޓea! T);bpR6 !5g/<~$&ӏqvM<=cwa1\?w; ].26^{vx)ZUq|ϰf^Sx"bM D\+TBdHT3f Ox:6j\HB(X=~wc+!雥̓e%*b#[vSE}U Vͫc^`*1/ZTelLpfʣ0& $RͺZEW,uH7JIyZM]6TmY 1}euʥ @R'^,5EZijme,2TLέ vqgKb΅*]g0նNvMl  VŸ*T6,aGK-;,e6Zjکj2=y8ܺG1l|lz[e)[#ձ?Qgܗ8 -(u= -e Eq׶:{ gJ,Vj_ZN:up^%[g EOFlhd]?S1')+$^3Dk(?vU\?XpukmҚT8e-L4lebqޥ1 5pG!qj-gYe\"K8ډX`ԗMϲځ8^b7e&7uGcXZs4mfegcńyNї#4 -=+/Ton9 5u$r&3 [f;))0nC@r#A f{X(VLV6Ҕ rl ;0L56 -Cݥ"XRkz8qR'QT8C}E=o-(Ȼ2C7}Ax5FqΝ-6_ e8g~@@FAJfPO~Kճ CBW!Qeb=b(~/~+v=TRg-[1{5{9Y;;jȤ!=<=k輞7u#hbMKGVT)׷3=9ܱ[䴐FaatPOPԮ0Jg6|*_L$ =+iK1nJ>vs|Z?a[AWG_%BDwOU@ HcP*77IOotN:HIg؍tҍtJ:u.qx'l(n)';w]A4zč[nk7La<RMd!u`~Mkh -i Pir_5?:>ipJfReca.!w%:hGjκ -wF!ms5 -_V)o.VD:`okv5lա 8ӁRo9 -وGwrua.+TPȦы\|31Lhg8SiYB)sLʹ;#Lo%4S 7!FHDTmn~Xo >"4(?=Kfs~Eyq[bVP9Bܠ<"W"g=>>z}KW`MP,3Ji2e8b$.eK|8hu"T"(S$\ 2{͔7gK䭆}.6{Mg-:K 7ն ZnAvYM$2tF&cG3GLf^f//c`8⺡4cQ'| EZh+6Vq҇3fDX eE\ :ips4&Vnƶ/5R֕R㷕-6e46Ok9-C5[Y3BkyOٻœ|nڌL?ҬqpA]yV8N&&E\Ϸ d u.s9]*S=[Gh)#j%n?ѫܼHzA}K|SN(Fאoj?j$1@\ ~>.S)\R8!nSe^#Y !"OӎoCu?L.wE:>$B;@kh]1h0Q\".Xт#v-0'x! -1e&jZo&+0`pu!r!N`.~-8˪t]2"LU(g79kLeB,ip9$n_O!y&li ~? O4~5'3e#S{YhƔ9;KrrH4HȠ✒6C[`jQqa阤iSh֖Klf$$]}<Ը}&hT^)#yuj+]O5+ pA_r6@d IT,"cJfEhB$vÞvd.`p;Z9:YIT/`Kh/ڦ>m@Qc|_%:;BHtrd5DNLV{keoah ! 5UB8rQdJ1kFU.)0nKm(3+)gZ@AWǙV"{N2mg svYJ#\Օ$^&tR(F]ؽ) I"ds1wMdRe`r.*eY+6azF}-JO'$AC}$Wrð"Kqeխ~TMRdc Oj@ ?osl=ۃ~;ys߲bWWCC{P|!זp0:U>{BcLdV̬FY zcݐm,!x+KMyBNrVsULXb H hXp}S/K+?d%h 1PՉߣhg>ډ_ Rj{i ;> ,v62XNN,pH@_m>NOz@PM+bv[kBVVr < }qn2W _qf4u.vf#L]N!V|G0?O0jP^H+HB*&_w mT\{Ύo6)IOvakYv#wwu P#ߋ_F<'8ʎJπuT~#z=i. %OT/)y3O NN팧NN;Z?épZg8-;iD_444N33K4#M=);긢)hz3?QiṗVF,' Hum w/j@*xVAF72zy,*N;ejC40u_;_;݅\cm2?RpkwabJ[7L]h.x!HTj|" #|Xs'/cb;t_V$=Fnfkx@}9_(LIU W\sʩBUՇ֘{b1meY^{LRN \=5[a 8COZeUyIp6RgiNlK8/P<ϝ7Uk|#H@t~4,'*5 NRf%reK8# P2qF4?4c! (LϽɶ.@EN FfV,6 -c6ϺP]L:HgEߐ\n^36WPsRڏL)?1`hFYDP'ɼƪKݞ#eDNT7]YA46@ P{K1ZFm4 gTr\2`RYk9:VyN?L!nmG"sUI'㛒(z]e]afN"rt] ZEUm P6 JSI JDYֿ@ިE%5;_#]βYKb>,RÊnΉp*< ,ެ-Ytx1LeٹkPRүNdlB,0Ԅ,ƇQi6 7D Uzi}e%bG{ ík&Q:䓬sZ~nݡ3#wpL -((1lN~KI_J -~?he.o>#enΈ67Ւ]n潊ހG}s2dvTvLlJ%Q 6.j{Rk <xpQ9T=FN_@z٘Bǧjin{)QsG\O9::/A&t]ڋn&]ց|wNؒjdVNe>ym(^v.Qb(\?Xf[ހ~^\afeYYY80k-Gra2nD*%8iSͤ@,cNT/W!<s{?dpA{^fv.*yYwi3sl`{cUmK9TqIruQDe}>?64t.l 'Ecq/®L%}Đt~p:(x,GYm֤6m,YXY5?C6- PdI$.=4`%)҇ v)_g[Ij¸t2VfF F]11j6- -Nb&?aF'3F;`U05nfb4"qkf4`2 o܈n4ߞQ -λf +TuF^a'qQ?z=όwA?SOz{rW/enB"DЗ+z QF3eeÏ ?:_Ć1zTtEyiVye-Bky!NvEG$HIw z.^s&g'KhK%2* .alʼAJ,{P""r}^u;?3 9h_ߦdu:ga=,|qq= nR`딇:,7=$ƐxH_YeL@}beSƌJ5VtcT鵤N.n­M1sg)MSw>Apx뉮J<L'A@(j&rN}kM/z <76RƔt>9AC#s념BLXbʚ߮:Ql$2Z?˳@ }q^F4˫i#~3}on\u$Mi -#<` ! -\r,#!~'̙Нt~ǹ(všTϧyrȇaܚ}~Jkǂo3+OLE0kqCN%JmIܐ6 _k5_z(_z k蝒&vQ̇> JyC]lTWF^:wzhl.0iXU1k;Qccޱ^e5hRek07MKUclCm =޻ #) -f{N~%|ܭMX+q{(֔U%_&SŝWf%3͜s?c'!W?:hbnH@pU]^&{JB:hl,tS"}ڸgawޔUiM}S}̺9тeB'' -J?gR 2|:q7W L$cOII\9L^G%oGvGΉ"@J3;_3>QU35(ΝtqĜCdk\Ƚo'u*&!kz+ޅ ]լ-lfeFݷrc.'Y0eWgzDs57| ('|5rS5hAa<Ӻ/ Ƀ#e1Tk hܝvdxV Ixy!5hšk֪)X|Gアm6-M^ u;+E톜;\!We'BGbwE+=Hƅ[~.yY*Wꅨʎ! Y 2+޳ SgH߳B@)6x/EV٪.IMW[ *ZBpv7LgކP`3ufznT#_FVi~1y{~:c5-B{ T_e]CeT&w>WZ-J&CtbDOd]+\zؘ6X7p+IyI`qBm,=ky whTϔ -R+;D~iѩ2}[-v)v;;Įj;_nbWSٟ:Ŏ+ڵ|]˧їlٷjWOߪjgGR܎ _5{‹dxx XVr5Rg-QN -EPw ]˒^vQ]R4I p;GQNBёݵdɳ6pv(-$PՏ 0~*qpvz֐ŲIޣDqȿˆU60- -YT2#2"mZy^l{P?JQQD9vU3!ɐ1890eX=0|Ħ6ɊEڛc@rϠR787UkIu@&8A:O&FLTY* y[eDhUvnlNDk }]3V}9|G}w"ejVS/rWM~ڧ|]a8~^~[AKg(5_M -u$<+۠✸t e) L =IP$ z.ҸwW,5<)tsG)s( SAD:%o]L d'./Ϥtӻ܊*.::CGZH򀍌Y,[>e2 GoylɋPŶ!EwR2~A(:3L1#8ٕsx Xsx>d͆e;,qoCoRJBHV-$q=Pl;.T&g1-3". e^mFa˱arPϫ: LL-XM;~5Gt,»UxBPqQ8EgHy/:*40  -}&}$~ 5n~b&Oz b|VRFo5X<?WOPZVWZ+֚ځ`{vHhB}Hl:-Z;#7vfYeSqf7#wd}zڲ;*M,@ޠ!& -Ln- wޑa=˒+]Hp(܀5zrϝFɴ?{Oq:~?TzV]lNtQ}{mYj=lwA[ oMog~ `c=81h0>ŦCb{maxg)+@h='#Zܡǐ8].Ye@>Ǹ8MPZobv'sB"V3T!8hvZ8*=&A#clA\3.#8&æ37lȑ/ ^"&gMY"bE͆h:\jFNӘ916\@, L=(Sۺ_U -[8H?%̦ʐP,y'#:)"t݇vK)'UQ6ᎯK,wQ8DvIcwiR!VK" -6v.nNфu!IS/إigCGPC⺐ 5T a` (E6(M'p,+g<ļ͚xQijZpHHTgَ.qO*Ƅ_Δ;%GF۱Jփſj2GJJTUG%5]I?.AIEUαj\6⚔W2EwEūxs.e_o'1p`L^d^wufEA ĨB4rE rN6@g0 _|8 v9dgݧSߨ}rO|--ZwD"\?BBN?P &rղRQlc(LAY&Z&:;jdM[aJRv%d!06s/\XG$L;蠨S*-7R^:Kcuy@Ĵ:0Crd]d*%RsM"W(,u ˅ת8㴚x,]Gƛ*V]׿z;e6qX5ȂI<#sE H!Y Of#uqaFAQW"5t9wrnSB/JK2m."="S$kQ&tfc]~DGtѸpWfsϱh1q6;ZLCaՒ\I>/P s/UG8bn?@e+{c'^*Hxjͯq U'hOٔ49BptHR"'eaL,SwXIg1D]N52.N+pn6la`k=!ȩx=/.6*w6Ⱥ&׀ĸb%B7I:ehVҕ&7]\ntz8`QثQ;&]BU;s.8%Ͼ44d:TYF/fF<$RU՗ҺXpis{_R^f[CvKIS2I裫1>~ a лSXAvdb-r|rj[(8άx%Tq4g+3gЃDK([#@9jFrg<;q]\*̐k/gq@LTi~ c!s@6dP:NjR{҇hͷR,,B|f" Djo"3eX5sp^|wN/ц!CI Zxpj"#Yzl}2AAxy -/G\Š8z;%"c? 8ޯ`">vR$GYtDNiY{!agb\US%R7ѻAc)K8';҄U}Y  *'7yN5dxf,|W7%]QFdZQ%Bg-KYD+M+'aϽXX/ -u^f4y JqG2_PzY|{PnƔP,kS`&%;V:=۰.AԆn.Gm63L?= ЍӯlTFBgf3VQ%~fcktyy@пId_Wۯ}F]N)rJ*/=CQ* !m3]|D G\/#j `Zؓ(Q`굱wSR0DG $eT|UP. iiZQpdYk0]ԧ`PB .wG4&Je! VlHGBHA)Is@×#[:% -*3 on$BYpw3o0 R1RP{3I)lZ{t4,]_5,*&Ӌ[8m)K  -N)s?A8ͭaػ8KHCo|o;ɯĽw" @ 1VVzhsQcH_lث7MZ9_1x[d37>*.jrg'): سp` سКcCwYŨo03e@J ۏ:D`UJMW1 -{E0(=qm: -IAmeågXu z_!p:Jc;s7V2_@[k礳 ʰ 1^]o^q]ieCHC3Gk!KW έl)=v.kB{/uzu9Ug!d xdNr!1MWvOѕb]ۺjsgB^㒝kWׅj GJc֢cKmp+[[*ˊ:\7quLjfs_: o_&x_zQǙOgr -Fj`d Ř39-򑒢O[? -9< -ź -ZMWZKݐ^n2pGfչ9':pf2)Z|r|@7TUvGsE -_eNy"P5Vi9`HT7ة wˌNUƺ]zf'Y0 -0˨mY,bofYYfQfQ9"&'p6KYj{3}guejnwrSz}Cُz[\]H9<#^ߒ#d -p~,6INyi̝v9Ijh4x|'ʺ[ E#SEZ B{U78`&cANJK"Sb{#rQ"!c_+O)I2Wq#Иn_'Dl$W "DP2ҷL|&CAq@~SK '4JQt4E4j#Vƫ)\U͓6T‰m:(mҞSjʸtPdWܪXvN>9mȉE&8Ɵ])FमZtRkN,c=p~ |%yvݨlQ\@v *?cW+إ{Dj59-p&Sk{ Mgܿ]s߿~kUl,|g43͟᧹vu80.<Ŋ$+'\р:\Eݒp`+c3ukwWy` :pGƙcY.c3V5A%6x^9WgaEeHcqf gW q-v}`^;JxAlOi 6h"6݅pyѱ4Iu.&Rg-bN(B^xX佲D"Lk.)F׻=DQR"P >|yaX)?ރ3D"GEiX=/W_R"l+ JȗWXGPwu9pJ@ a[b0D˴ tJ42kk4ſf -լP]xȇ ;rZF((FUy΍)i({]Ʋ 4JU!^cƗKAq)/Urn&M+O3.u)Fgr<9SomU nvNu]LW2F觖* W:laTI `Y٤^TT6eDHF,f1M|fr/܇-7;~Q;UkzGSvl͟'cA+/|ZxXTyC=/)~gs8sk3xEvYvT #k/kꭒl1YBHSc5(zj7#g2ϰ&4Z7Q.~n(cFשUNlbkS;%f8 W= YZn~F8.+*}E 9WtuMn@T{%F!Q^Z@ŻS:v__bR#/ZhC陋6I9{X=ݭ?2,v~[ئJI.pw\cQNtQsΏFr:%y-. IHlå  6WvnʺNkhbF*DLJ5(wtHHRH){ 5с~lXNwwY7 st1*LCl8h#Y(G0E;ej8Sk@.UU; ڀ>dMC_ _,o O,4O,LZLjοC8О7TYOT}A 1ʑ܆d@(׼+,{1k+PdRvNSu()PZTiCY(=,p×46oV~&S5ќߚ,0zl&I-*I7eSaҒjkTn?ɔ %٬8*5 J(ǦqT)rJ)-/ dDv"}R@hXDi)7/Z5wTR4R;7kZFqUZպѪhU7Z;ƓVAUZUy*UUɪ4rSsUGyբ .:)8_CcQ`er Px<$r&4 BiY>0U$B-(ǏPV&7mn%;_ƺa7.Ag{v<3k= +{\ha6ΜJcʃZ-3ȼFGnWmߕbקH"#]Z>sױ?Jמ]"o˕6#k?WB[.اclיM=VF/!QzМUs_0krO0ⷙn -٤l3(Nz4bj67`N! D,z}$V}$8 Du=v%YBp6 )*%<(;J_/K2|b46xKKˆT&)b @~3d堧8謋Yr^j✙P)!>H c:>zw]+%4yw.7MF*Pu=h*5\N?'^`ڞUh1k"k -P~D;b>UIhRQ~poM#!nH -=<f%%)~.ѕT. - 68ð(MMvYI3-o/Yǘx^夯l\{ 37}}F;jG*ё0Ô3JG+C3+ilrd{McͶ -2\5Ͼ@"7P+b1,SlШT85@K;+߀7mU5'Xٞ~A*)a!׏|B?l9ze ^DSC.HD9 -\L~yAHĔiE>`, - +sH:!}g5 lWKr\1sTIBsfㅽvn{UVEn4ZB_mf7L`޸ +1)+! -A: žN+Ww_?ߖ>pb-$p0DC6-2E3JeIv Њ.NTb2ҍ яÑ${#]1YeL匀@Ǚv 缰+6!Τ.{iw`}|`h+(pbb%^ -#D>{̔xrj;oyi%Y@qHQS T1Ÿu)uP[G N[jg5ԝPJKA\ 0Z<l4/U6$jK7 Tt',le~ i nZ{m0҂^5<}tuy^/CMU8{quUNB*&2I9u⒴)*ߺp4:`Yt00h=kms\lP~b}mUf2v:u@M -GsxaķEgyG޲_Z|"ځigk7P,SYgoyּ0eeBh 8c̫/_LEc&;e͈?d{ށ+ƟҮm/!劜q͌? Nendstream -endobj - -18506 0 obj -<> -endobj - -18507 0 obj -<> -endobj - -18508 0 obj -<> -endobj - -18509 0 obj -<> -endobj - -18510 0 obj -<> -endobj - -18511 0 obj -<> -endobj - -18512 0 obj -<> -endobj - -18513 0 obj -<> -endobj - -18514 0 obj -<<>> -endobj - -18515 0 obj -<> -endobj - -18516 0 obj -<> -stream -JFIFDAdobedC     $''''$25552;;;;;;;;;; D" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?.:qإشhko%g_Mlȥ/J?R%?)~meG_oģgE/}7Qm"쾛q(K_Mlȥ/J?R%?)~meG_oģgE/}7Qm"쾛q(K_Mlȥ/J?R%?)~meG_oģgE/}7Qm"쾛q(K_Mlȥ/J?W3@ mUBm^?hAi~׵t7"I$I$I$I$I$I$I/rH-{?Kq?+jI$I$I$I$I$I$Ρ?':zFWYc@h=ckK\ӡr -׳7"I$I$I$I$I$I$I/*͝b:x7F4AcI(unRZ)cZSCF@9? ]k__CUOt]184 -<m/UqK ?Յemv -eϧ2lζ:ֆ%ĭI$BnEFns>aiXSo#nE}.qxVI$I$I$sO9O4wAsCZ\!kM夷>UZ~&WPiQꖱU]Fۘӡ:42'[zSgewzԂ;;f.oΞ>n'|vgXFWMvb{s-i p{\"N/gm9o*_鵻}>ʕoSŮ슬~=h̿in;;4!vK#uv}Y6!\ɗLD-N_Pu's#`-Bb4IG7^N]:U>ѹ5'R9]C"+]M4'>tP~?@I$I$I/(Uu5R2K omV3tO 5sZ[ !7 syUK/wEgn'E VG~1Zӵ ++4zO>.nUuN/8G1~?Q{>#C!U 8o7p ƴq95a8=_)-mS[Ihq3:0guϏ/xBO[O-o>cuk|7 -o/q诡b>F'KR kf-kH1̹eKHiʸY?m{7't $I$I$Ρ?':!-#mn cqFkhc  *_-{?Kq?+jbљvM, -vQkUnЯjm %8ifv]$5nџ{j"_sKz)gUK)m;vNes,uϤ6,tj?Wn7-kv0{VZ=~'E mIZ7,OUfZ*3n/tJ/ۇP-_浥 <3<^}5Ӎ~@nͯvGn I -#$hf6sřm]ݠx"ލ?] p.3-4I$I$IxPgQV:IkzNsKoO.}|fKvaĂ6<ʣ׳7"K}C񨹆qMD4lr(YvC/],uO:sI$I$I$_ΩV.K[8L_I$I$IxPgQO]V[eNp}sʎc YX hP ¥׳7"K,4K9؝#oɼ98V2znUo+w͑/Gdf.̌v=[ kpִ秚ԋ.aRp->7*uӇV -_p׿o=zC0TU{u{{D5d(M74V}qUrװk'UZ2:_Hn-c#5nN4P1r[r0ې,y,md6I1VY֭CbR'ylz{Sw\gFUyY1}YUCF/R$PvDXoK YZ -jݣ'fbKaa}.eXF<苁ղ.=#22ۚ-sJG\~.vn |9\Nt{3mr+}ضPCKhZ $I/)e}5ia-waiy-;p_/wEf/kf!izhV1VLw F&3e1~xqԬ\>#{%偋[i=h)uzo*Xv~mU 節g5-vwb΃W!ll-TN31*+?#ԭA8>@]f Z˝_O҇s/\Ù7FWW.W~bքe\0uoVtOZٟILTð:/UͶMCWX/h sGutW`l7΢V*?S_'83:d: PDn7Ƈ۷ݯxC8=OWv8.̺cH&] -8=Oۺ+UL/[U cxkX]!kyzS˻^0>lnCSY=o*b!`{]c7;nl4OԮË՛SsMK1*-7O[WcDnڅplpǹֵCVL̷.}G"Okq$I%C~OuEϱi'[Pu3Pk>%hrקUz]?gKU_ElYX}|ʱ+6Waq Ѳ7I|A.6Yn=$]e k;o29h6 3ʯsj q{zgU -a9Y8 ]u~oKij4R۪])affW^=m+c3u" .3q6T79\wK i58r:?]oXnKO[{]` A):a456:b4A9=W#7Vq #oWׯYwE~+Yso6nCRN:Yηҥ\,7ggdc_[铬nlO9e-f]!s{Z[Xrl6kkkdw>jI$K:?7N7 -S9X\N||{o\@DA{xTZ$ȥ-oKQzwģmP:G[W{-u5s,=̜|ZE83nyrL裋VUeO8KO|ٿMG?&#tvʙ]wn7Qudxz~EuUt[V'KůVޡ~0@B?ѺO.[= %p$I$Ρ?':&.C7#;}bh ?9O/wEN"湌W?z`φ ۄVLs]ê9#PFjkoSTl }SsgSIS՗sZzDK*]BۭYlI+fδu1%C_'?ꚏL-W@F׬j}[mc{ROT93cj|w$F/[&߬=. l v}RCs@,[)$I$K:?l_c@ien뮫ʴhMRӯק}U l_ ȥ^OMǽz4m; ;6lky/p&$WmVn[[@/qIpU^:VgU4\۫cc]tT}}K6n=1jZ%^V^VCm~WXj`^8d?uڮ[ŴY<0<[tQ]RI$I$Ρ?':tzm€v>ƳK\{fShsͅ NAP ]kҾ>zECC#Q~?\Ź\ 3itcc;cwv%.*W{t7>Vm?Fwi9U2-G;GtdI$I$I$I$^9?YTTEu9-{\?Yy iil7nv#|K/wE@d_6\ <7{kˢf[qk7ZX}`53f )ĺޟkkV45k?َ\`ʠ9*f>{?ŭ.Uu.M.ɤZ͍ٚ6]- TۗNCmgٛ7 93uvղw<852{!~馷\25CI>Hn8Ż۰ja W2KXcar;: W3܊m=Ξ!-UC =rPFC8l/hi>6Pod{uUWuz:f,ze7{tx: -rq8 cEI$I%C~OuE]6,k]u{Hġe%l4eK%]M1R@E.r9blGos|WW+~-Z^2kG1M֙o#"?XֺY@C.ZG>>ax -SpzGRȳ:The;f#[}FUh_^1W?X:ݤ x _67:f3b~ \=O`ƒ>6u g*l" ݹ|Z913e:mcwՋS)5a0KE1Ή!gcߨ@/,Q:ۋG8uܚRI$I%C~OuEY=FHw9;|e/ 0f=A1TZzex#GT+J躰p=|IuLl>}Ns~x!OPaߦqs? kO^ӡ?sC-g]v wNAOtXoξ[uhb{4ﭸeuutWH%0G23RTzSO[U8Zp:Ҝc8Z9:*qw8<>!Lb?wEub̩{$ٝ鮶TG;VI$IxPgQSaftsa;uPwݦN6nvݾ|4S ]k?M [}1OE-9հ$kZSoƝG-tƥ:L.'7IgMɱ{_2@*5f=K1,{ԃ%2&WWu}f$zWL'qà52QE.sj#nlxmFG3}`wHGc wD a7lxgt`;&.7ٗ`Z'PgbޖzCqmc^lѐ2s[3\v0hEU( osvIk6Krw(vP 7Ÿål5eh0k1333fsHѾvWRI$^9?YTThe.kc@$\mo!kA/M=OS߉nc.>M>V_Y="Gl.ӵtmm't#Џ輏w :-d8]1-?gIPX8L~AsFc9|^Eve,iۼln>1橎m4T6ƏwLL\W ^"xģ W -۫"wꅙ0nʲ8PֹKV-3nټѦ_P´nO%fȡc  ocoe~7%%'']]S$vM$^9?YTT]ei XwZ4OesMf5Nô{}tzL'}Q+/횖ݎ9A)Y]!]J׸U"NKtV56֑m=nV~V*۱edUsC>˷0ftsu9Dap݀ꍬ{K+pez[[^CWp#Pug՛>iQiŞ"պS-xPsi|۩sH7_n}umLs וoOG#)qs˴fHƬC\m8u&Ga&}[kVXŰg=+ޛqf~\+`kZ+wm]cI/(*62Cf}ڪM{r,k8j <*_^O(Y[-XZ"^m,qWssJ٥1̆otޑD83X.On+ntkk'h?z>bMRXOq ]%K1Es.vH3㓠T^4c G oYִ'A=yٽG¬ken,[R8wB'X̱]^?h|7~ay2<;*6z6 uP:>NNZɽ6l..7#s8c^#S!qu1&~n$12A Ym宬cG9YEi6mpQmVч6c|~$]RjZ4 -5hmU.yu{\+,"7WM.Xk?VC΍`A0Z)!ecՙn%cڏ"NI cW+sL'qOV-BD4;%q{I\J*I$K:?XYs^Z \vtrr4\k-,ѧk74;S> -_^O$8qBc}+xiVIOXY:#2mu-ӴaO ?7U+3:\9j iC vqVI$I$I$IxPgQOyն׸ƻ|γQ /k A=׳7"I$z e~,dn]?LOgltONϕeUx?xbjʯ?1?Uofc\Cm1IppgQ -i$I$I$I/rcX+!kd}(9Xe ЏT ]k__CUL@">Sf?c;|&v@!a3kj>+6KÂ@%#+_XO{ 3ac ل-~4Kˬ-w]TO_ck8,.ְGj2XӨsLI$I$I/*XeZՎ bq8hPkf5FmvֲIBNXǵa;][U6h;GX7R -g׮NQ^8d,^uy%\,/q,pͼ ^к7]ueD2ڞF>KQ$u?9WU7X1o ;[-͝<~*_^O$I*ã܃zmpϓ]WF?neϑmomy:-/zs(\%?L@{OvGHi~^ƿȧwg1 5#&k?5N]> IyLpC#[kV k׺Z`ghDSk->CyiHDVݥ-y S}cw./Ikـ_W -[ڪ^K]M:*5WY%v{OsOƽM ,꬟\84cnȍ#}ʇ_^O$I(Xen`;K\Me/dt,'sOgv:~{K -եr}9blo</Vu?Mu,bn{04[ ْ_,yd| -sZ2<ahxp49y#87v3ާme7Qo7sYW:ۙ +n _qO=؇!X#w">^sE;= qɵQpecGxeY.zw7ʏ#KэUmMZC=^{rqh!ywE^9?YTS;O6l˃C3x{f ԁn$UZ~&WPi$I%ӥ8ou.p'ϲD-~<~iqzmz  D -WwPestʭvW3QCS贁a0?{+n>C C\< -{)Y8*N|.%mm:ƅZȰ?mm=F8*企SI[۬> -ǹa_ `p> vxvV.Cdx?,i77c5kຮ}X{0[ W[jV! -k:?H-{?Kq?+jiwNI.wgD -muC P\Cc>OcCeZXG`= Zo0XM-~Ŕ'x/N+;?TG5z`0!ay4}fLW{-qO2oVX-<9xy*6Yoe2 ih> M.꽧Veo&{c鼵'W?dwG(8nkg jc̖}3şPm0Aƫ>}b8a6rpw\5mtwUӯ( /MIwF$Is_X}Z$PZ;k+"@w Ѓ+NdD-wϏȫ|d7% -W}*#G }vz4(c6Q)u&K*)y0LI<0m!n-8 5P9ig8x4#$*KN=Ԩm=Q22:~ьhث,/lg|Guct\޵鵐ד؊I.Ֆ}^ r26 hl[:ƧUsO$׳7"I$I$K \TZϟg&ey-55-+}Ioskedp3r0xH')85iOi2qa7 i1y#S,Hfi`9gYYn!2 <I(4=׸bd0Zւ]>-w>N^#^i7ѹKRFaWzU=ӭ̼}?XxenuSZctޭSFA>@?9OފwO$׳7"I$I$I,qzۧʯ5øTmȮO-Asui\F&_O93^m]ѫ w+OfḴhGJM>׍;BWxcJt21eEr|V;2/3I` #],k5Yg~UG_DlgܭC5;vCF~~@P&$I$sO$׳7"I$I$I$I!]ݹ2cC)Ts=m?(]?~G4eY@$I$sO$ת?gض5VchV/R_dGK -/%?*_KtT/R_dGK -/%?*_KtT/R_dGK -/%?*_KtT/Wg}ޫ7D(K/H?zW>endstream -endobj - -18517 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18518 0 obj -<> -stream -JFIF,'AdobedC     $''''$25552;;;;;;;;;; '," -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?\F}'s -Yya *6V{;\#% rm?)LV5z+;I ?:S~?޶zwXAd :v+Qful o-ضErcZ,^ugPX`=CXڝ;֟m?2ݏ֟\{Ny#IT,ՙeaU[dGⷾ~ӏW]icY='bXO w.B̌}L`ܵȅVc>:%it.+d"~KQendstream -endobj - -18519 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18520 0 obj -<> -endobj - -18521 0 obj -<> -endobj - -18522 0 obj -<> -stream -h\Rn0 StK@0P(4i"өZdgߗ1H:#}tnl?CG޶ ,7v3h %oOӌv#(%gzf]~^A[=b=:Rhh^= $N!\xlqrڠҼJ@}2f;P94CB\.W!fI։*7QmjpQFIId 䒉X0Q`bTDT:LXc_8j'Y<=$98Ϟ/[K| 0 5+endstream -endobj - -18523 0 obj -<> -stream -htV XSW1s1V#W-QTPQъTB#@P m}P:CU('J>bkEm>jZƯvtw;w{gk)S? EQА,[:<.X8I|m0NU6 c]>pDJ%NT")V7WKNVMr|'~y|}TsZUx![fP-LOgeⲵj՜իUU֠u,34?*D>8>]xtDrTq쬸DmZ\*>eiuu6QKWeuZJgUYK.St )|c$h=Rd f?䗒H%$%QJ$#h%JR$p$6I$ZHB%FI$ܨH~uKziiS t2 b0yL9f:{9.Q.[]upMwq}__6)nQn%n-n0sQ" "'q-ԾxASUxkgbzdΈp:f2̑قO&1kJ1t.37aUYv&~[U)2tOzO^ք\s('4,Cj꾜 +Rs|JMR88ܤM(I)ZQSSYYSQ*6BYhU*qq Zt l+dٱ! ?DF)? =M{/#0y2bҚ(]6&%pϞ _Y:ȁb̿ğtw̸# m-@wg"Pt^ӕ')̆ X+NLH+8xlP@Ob̢,^ķǣ f#}WtpcOdEC&΃ɸ !x?\XuF^?3a% gn\I&LјȮ! {==_zf5[;WU5n+/6X$骊])3>6d -8A\aXEHmmy+1 '&(pHkKћ¯ldԌ%NCW0<}NNT "Lݵszw^rRX c tw%71 fH2>u2c#@!N¹$ fh0C* `wVhݱȰ,`$!?2ej%EO3^'GrC0b[gmA#`.v6@쇬}Z˞Hm r/3_<3b}?IL[r~G<#= 8 XKda)$:L &٦x=izn!^ILVX#Ppo,$Af%`KeDdPtbR#^y$WvZ{&ۧ˹AaW a$) //vp4Ɠn\?$0HA R+ 妗746ywRV쑶amejעKB .Lwk_HRRUt_-sr>~1R23u4RqmW=˕8oJ\kqBѬވ-Vs嚱U U4Cgk]^*a;6\G* j xlwx V!?[ET\*j0 Sqo'~L qB/. 42P4bhs,f6CK'U#-RqB1PRֲ{;8{g+;COQ-Km#'U;֝T*QY+lC:2)Tܭ Fa'=Fn)8cܺI&SLz}0%Ǖm !^S~0=S[#S"=jIigq{5)%4}{8篔:,YcLrV9aݗ?8uQ}Q{yu?eL!j5ѝޠ i&2u͝Ϯ~O7dGli;UkfۿSc/]sϿ^۱Fwh[%AfKݡߓ-oo,5լsj -Y -#y}̼ą6Ei^^~G2 [u_VVvĆF%AȈSݩ5!\JL؃gO>tғ7&Enh<{`6#_T^ZP#8k"#4:~ ##Ɨܯȟc0Cp0=`HO?h:x66pסԯJ\\H7U>󣂸ۆ?H}K!#3 ipccȧE8ߑoB" Hu#o!Β}û*뎯&-BkNWmun<ԛ쫰E'&Ң-UirV&7otd$AWQSa\렎uC#9McCFӏq#N,7O ]27LR A];[u'UJ9(=&t #yaPO^h>/3uHoe6ׯϬϷGt$1Kx ǹ?ٻ]ʣ5%qʉa+g 8RC$o?{*LǦ]=Q21 3Υܧ8xXu D4#u.p:N aoZ#_ٜԍX#;p$)EakC1,E'.,FƧks>, f]Mũ> -endobj - -18525 0 obj -<> -endobj - -18526 0 obj -<> -stream -hTMO0 >qwǤLځ{M;ccC'olO[ϐpwmi<pS ˡ|ſwiaV=NsbݧwCNgOvgq@7C -M-v*Yj#]'o,N:OUocgLPt(]#qECZ^/Ps[_tw.\ŊKqY_GWX!誌1uQגBLeA\5)K % /6^{&̣GϓO0#'endstream -endobj - -18527 0 obj -<> -stream -hlU Tav1C4GDQI4FųJT\]e,ˮԄ("_ZSP# "DR5v=ѱ9o{ڙEg̛;}! MA$rE8eg:DIdO Ëާ۟FP7>n>JDgV:rVKKx9s796\9;W;9e66\ӭ~T㋛Ȉ\(F9/v+?,yhlc4[ʚNIteT-yNkɚ:s_\T! ^&pGA -Gb=AvDO.&5A1A5CEPQ745nMSs^D;"ѷZFk( ?@*{,^((/;DaFEV}ê0%9(Qa41~=!sEP8I/CLt{,CBDAR4:iLhLt$F 6JTc<[C }{\x‡?]ݻniS5NV!'oS'OAOp?}>4JWҊ4 fj&S$Ý IP{} xi1> .e]q5F>i$4hF6 5U\ \UkpXg\B7V0/?W{k.oZ{pzޑk yLa%Vf4Qao?05T*St%<~ a5G~8.J*e[]R.8ЭIOzNjTl@,K4 }~ۥ&97 R~??^|T!XKsJ򠽥Ewiڕ-V/k𬅯cfM "z;#`b ž!.LPk ;剞&xhؖ"$i19 -*~4K]s[_{1b7$Nd^amNK{c}qL0ݵ)ቘx&\vb)§@'d@ -Gl1|1o]mtR [-d*wQOٿ[BsќnǓ'IE ػZxqySodl$ھ mSNB CfdO - >GޖaFg~*)u ^Rվ|PPg+ʯDڬG7'QJ8Zdh|d: Lz hCiAus[-!5yMN\4㵫wt-4c;oTm>(QDݔKY޸-|όQ=U5W{[~o!_u\ҨЭk=_2C*,S)XvA\p@T1QEF -VVto;#Q]SC< -.K-Ö2gJ;˴|UёÇ9e4I EO 0 -E endstream -endobj - -18528 0 obj -<> -endobj - -18529 0 obj -<> -endobj - -18530 0 obj -<> -stream -hTMo0 -;BMaZtH#Dgci'oc޷#дEK'<\ky73%È7=TUpOkt[1$p ;#PIل!(Nӎ׀Olw8c1F` $[Jʩ_&&jR [" 3 -?kkR|JYS . R$6@T\e[|C9YKU%q)1 +Vb \I<[%F4ީ}0T$endstream -endobj - -18531 0 obj -<> -stream -htT{Xa\뮃J"JIG Ep]dqa -Q jcXcjZ-H|ZlF{4~3gw﹗ee51+"##&S6gf٤_jӚ:WY` ۼd?o]?~c'/'珿b\Pص\q]M -??$  f̔"Tk2,ْmhm}a2I#Vb,9.#Λ ψi9l6Q89Ky+9.KdJZf Zzɜ|8a1KѰゥ=&iRpҌ:ÈӞnԥK\~CgشԚ)E`1ZFk2ksv>,3¼̼`B9̫|f&Y,e1+h&cf#̋tk(e`rv>q[kLE".n* 1vG.q8K ppS8': >&@F{epp(>ng{a:h?QitۑpTtJ WqDQNvؙʁC0^QK47h4 8 >vb02|+L%+\}|ʹ*Sv$H80ל]@25JrE;'P86\ n*P}\㜓8\h'xKw:aJl‘YB0m6gH»89XB 0" 8喢3C% kr7N;Vҹ8 '!vGTޮ@ p L3o6 E9VwMNcJ;)C58_q֕Skۯ-+'jJvufs!F;oWrK%eqۄ8u΍]6cgCͅ9gN喙 adsaaᚮ+n/*㋆߆VS%X"dO"ޛ ä|lMrCMGzSGDBf)nSfD x8;Ux-5h@n/wɉ<#g͋mԞ[/; -L۶T8&g71=W*X`]gL} -X+>qK~XxtY߃\w?cXN NtA/ɩB[URvрGasC5{S"soK<߄rP¯]/k~qՊt_jK0wi-ίk-&a8wlc97;^=> -endobj - -18533 0 obj -<> -endobj - -18534 0 obj -<> -stream -hT=o0wSu0pbhH PI9(R11C}6Ma^SXA?2V!8 QmV558T~)+}rvhG=~|P|Ae LܗiA>.Qh= ,)A%1+^}5$d@G>i` -ǒќc?$!bfZ/(> -stream -ht LSW_[*jJyl#}Ϗ&:jɨ+)TemaMAѨ@AQ.nNܖ #yan,s.s~ν*@JI$WLiit-Nkʷxbxp$ŪKJGJ\%n=&%D11gY]\ -+=tyK -r0%y^*W.ۋqn ݂w8y/ [mMD[V>)'fs -JdNqSBIg) -1/0@##Պ:ktz$6-~g跔XJPA"@G"gC!Eϧg]d~ ʛ3MũŮ='4}E lyvѨ - Z`i{*I+~LaDdpD|Zj0 0l -Ң! U `XP€ODVy T"PIؙ)6B[f1Na&7ϛ:3ZȻҝA,D^ :8ZeyY?ɠL4q|Z]]VȁM1<INYeKXű_c{9.Lg2ntvli=6>ڶ0[Lǹh&Nl7/i) 2&2KY q# 3Q6'DL8T|GM--]Va&N AD ث8׵j3P*6X >9.'(IR/r1`J0V'Lݞlooonno7gzFbI/X%BF:(@0F| )JzJ^A|h 鍡5ZGSպmk*HP@xdU4i`i2420#zQJXԁ4 -"AYxG62v1כc{N:zhȤW;ymܵPyŽɚ3"s8R_6E'24/)̜,s %u)59KjuO`!_9ƒ '5o{kVYV`i fHwbmO_5n b2PXv_cA4XyvM #endstream -endobj - -18536 0 obj -<> -endobj - -18537 0 obj -<> -endobj - -18538 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18539 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18540 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18541 0 obj -<> -stream -H]o8+w"Sfm)E\$Er-y%쯟C[y(b0sWyɋ/IYW.>]Pw&C/DFH2 $y@}HFtXeI2[2 .pr_oŜ}*aJbØDSC`fLt6c\~:+rr Wt<:Z:6㋺iey 6{ݦ2 O1Xy7V<0E.6rH%@JɒB`j쟛 փ: b2è 7f):7c>,Θ/ލSS/S/S/S/S/SSSS!#O}<Q=Q=Q=Qo<Qo<1>Ljzϳ 1qލ֍YW,wc@!ucB{kݘk9Z7Z7f)DZ֍Y -Q﹖#uc@!ucB{kݘk9Z7Z7f)DZ֍Y -Q﹖#uc@ ucջ1׺1Kݘ|n (ĵnRzϵqs@\ƀB\,\+׺1K!= -ĵn (ĵnRzϵqs@\ƀB\,\+׺1K!= -ĵnlHĵnRz7Z7f)_ލ֍Y -QV"ucB{kPkݘk%Z7f)DZ֍֍Y -QV"ucB{kPkݘk%Z7f)DZ֍m֍YWƀB\,wcaǒP&x;.sAxF$,?,&LVeծڦA9W=n(&6+䟇,M ^$ A:軳YU zU'qfd{6$ph"I:we^HsGq(YGÙڍ/Hkjxm0& -eadcREKe#-°?.F\5\uD-rꓰAIV|c!~EiU٢,*̗:sQނ>ִy H{H YRlY[` -)+\ID"d@K%Am[s"?(3ffEI{Z"'$[H9L˭tjxdNӑ ٻvrNL3Ptjv"1g#YU/'1v%-A4&=+NS-~S!|[P}Y7;}߭N鈵 ZLhېQ(p> W|d|м&*M\Ár9Cg;A)DMYOe1GtKWv]E<<$?S=MsRš,9va;IRɓm\t gS<&Y'!S}Rg0dKGFVǑW(Y~ߵ\O:;*%&)G.AkV?nv}5vOq$NJ8 ;bZO& *$>0Ö6B98?FyQ.&mνu (#_"?9, 4miU `hRtaUǎ6 ^$O0ٓqF؋\GOpWp=}ft~=v=l[], 5$e7<x^. b:u9pj(ٸrtˏnWo>?_˛ˏW/4J:\)kJ,jQf[ͭr̾ps 9n_89GY8QO/$01ɾym'x0w "r0 cG3n!mCg+Q̩&g燇Y#OZUi<Ĩq%ql؁*-|˿}tYL6<~IѬ#=G@T`jEiF{Wpj+ AI#(fώ:x{ngp@\lyLHj4pJ'Πȓ! 4'Ex4Iӽ^H}U>ALJY3B^3#jc|lh?+΁֣lmW} (U:}fKJKq|L,j"IUey<Yv8 u,>6&:*롷8U[)O!GOU\ -ܗ./ApIXO'0+yp2 0! -?endstream -endobj - -18542 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18543 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18544 0 obj -<> -endobj - -18545 0 obj -<> -endobj - -18546 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18547 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18548 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18549 0 obj -<> -stream -HWm۸_A_F+Ib]䮇|"kc%䓴\}gHɖqApjؓ'7<g/GD\%0+ӅL2L&Z޳.J爳E77jj5]?fښ mt;>ѳ2)G8+"0s<-XnwM=}Ǯ \'CJu&4|/҈DUqHRErOֻ~l.LT5}gُ7N֊#e`EY!?G2|o퇔mXdd 3~#vѻhcB0<ȷ!*\η ϝo ؋ ؋$ˀ$ˀ$ˀ"ث"ث&뀽&뀽&}F> <`}N"`o&`of9!Z߶Z߆oZ߆oCT޷PoC>P TET+6@m"j}jZ(B Q@PoC>P TEַ!`Vm"j}>j}B Pj}B Q!{(B Q@PoC>P$TEַ!`Vm"j}6DJB Q@PoZ߆(}ZIַ!`VmHm -6@m -6D}6D*B Q@PoZ߆(}ZEַ!`Vm"TET6D*B Pj}jZ߆(}ZEַ#Mַ!*dEַ!*d71F>zVF7%(g]8MR#XY3Z|C0XV}îBՇX⡹*DXA`t0ZKXL}:Q韌Nx!@ OFANgם 0u~χI8k緟~kyt OȲvN'×rU)I)f<ݦ>_3x` ߿_ +ھ٦g?XQxjs9("Bb!ĊFXcװc~]*Nl<^5ΰ|B["W r!e:Ϙ|TP0ݩ (c0}uX)AsTTi-&2O - salp?j -˨cJ7ٵ -龹2fG8CǃSvlNd/\5ӴX-`"]t -e'O—1NT:!.qP[kBi^V/!;{|1~oa`iL~sOm㓊jҤǼf>F$.er}񸄆2qr@_/So`E{a^ s\`tݏ.m<=zAXh4ߛnb㶁slzt{Z ]W}AIWI's@iod6mlb<4t76[A_}ƫm+T+@bE[hO%HM1l$*3oBS%!:7H,+~<_NT(Y0  % z%ލ`1 -Jҙ/fz]A^1P\c ͻަwY W=BD<mwD iþq[1VMOVL=whS`Q!+x[.&epzeZ03zS f,Cܹ<}偔ͪPiMbl m&KZH=>~{A~L#2]% -\2pq"},:*MRb*NX+,{oL:U*) ,@5>HD4y[`H025>WR-{Ө^/kxҺŘx˭ 8 ~9VS<5eZuw7- 惠CU[ -qӜ:]+ۅ.8BQp)fP)}T f&/eȢ$:'(‹05j%X8s4] O+b"Ñ4_p-bKxbƅ=O!e*נb5 ˭M(Ԯ(JB@˴vǩH*U?6ԲmGj;T'~1wB*FO9}dV4*_u6>/P 1158 0 R/Type/Annot/A 18551 0 R/Subtype/Link/Rect[93.6007004 444.432007 307.489014 464.112]/Border[0 0 0]/H/N>> -endobj - -18551 0 obj -<> -endobj - -18552 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18553 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18554 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18555 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18556 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18557 0 obj -<> -stream -HW]ۺ}@/b").Z4CZYZ֒n}gHI&- p8< ^%ŋW EO%Rōd:}kXtPͷuwNM[b&d_&ۈϊ ELeI6m!~_WC3iXHn>m` DR&|ٟn6_/?˜gtC[HD$"Iѱ:.,hjkdߙHo+c>%lˢB\ضQ }TSÈD ߆p:(!BgC!P>w!B P`/`/``````o`o`o)> ا4`쳀}F> <`}A/>Ь DHm -6@m -6D}6DJB Q@PoZ߆(}ZIַ!`Vm"TET+ 6DJB Pj}j%Z߆(}ZIַ"Tm"Tm -6@m"Uj}jZ(B Q@PoC>P"TEַ!`Vm"Uj}6D*B Q@Pok#Mַ!*dEַ!*dm"TET 6DjB Pj}j5Z߆(}ZMַPoC>P&TET 6@m"Մj}j5ZFPoCT޷PoCT޷!*d_(4Kߢ[ѫMtlDb,M iYTxin DLظ96CSC|lw=:5+ܟZҜضޕp8=| ih Ɵ*k21YÜݱfU8\ׂIh!_*D2{.?m[AX~=VLtLVe_^F^M ˘Zx:[`ŨtrqC~๣h43.}8Ulcwڌ܎ وŬð?sףHP1,N<^ˇ>č1]r1ϱ갥_ǼKѦ5cu8ok|=߿‘aǂ,mӴ}fMB3#),_hN5}v?O2D^|#Or#E`|Ho\rി< f[/|n{ fʛ dj#SE<6p*wm;[ -C>!ʷ]P%*q*0ޯ6˰=KxRȵܾJ -w~P$׉*|?O-u%+ʝ ʼ([:^sk4v뛡0b($*3áJ\p>nDvV( kz/1[M?Eloꄯ'r^5=@#6 F)M94saF4/tz(KuD Uu7=p2z { -Ir7AC`wF q('dBp>,i;Hִ0^ˡ+ho87%̖^Y.Ft& Ηdin8#Jey,zEN0d EX$.%Yg;̯rCA-RAm̗ -o@CrONH -Q,T]J8D7$~Cq8aD.-^}J`Y:2rG-R -GF 8 y -m,Ȫ, a[QI{Jq'd`lSй$Y/sy'Tk>Fб&a[?/)o!.!l"{BMkp5`qBYOĈKڪr:41 (Y ab٨݄=l:0a^Ͻw&݇=>g9"fhe-WZzyi^b{;n*בяT2qS@Y#z7`)IlIٴA8wѢ,A`(օ O>OIR+I(38T>ƽz.V^ӡ,buMLl,|QpaX^T w|50gc -fY&F!!pqlwCşLgEYII1^JҼB~iK⍨% y9ϼ1ZɠHi4,WΒϊ/2R-BɉM nS|S!@y -~#)]vTv恸`92$BQŪ+^ 8˗ -rh5@BC??xLendstream -endobj - -18558 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18559 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18560 0 obj -<> -endobj - -18561 0 obj -<> -endobj - -18562 0 obj -<> -endobj - -18563 0 obj -<> -endobj - -18564 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18565 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18566 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18567 0 obj -<> -stream -HWkoF_1`)i΋$)gMvm -EJJQN"}%EQ:E>>s!yۼn~FE꧟^yhLS>alTU&ԗ@R*V/^W.ESKWboj 2$R@S%QfjrYMYmhOofd?_Oۢ,nEW\3~?WX)Ż0vq:LQԻC,ŽW8,;jޣ-aʟMH -J_uu -2wRd qNF8:D1d(,9`zך0Fpo{+̽[ --sw{{g3^pXp3>f}'O s -S>ܧ}&ϘLp:RlCwO1` {!R Y{Z#bܳZ!KpZkR Y{Z#bZK1d YkZ!KpZkR XBk),=kZK1d YkZ+b),CwO1dqZ!KpZkR Y{Z+bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%gBk),=kZKuR Y=ŀ%b),bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%guBk),=kZK1` Nh-Ő%guBk)Z!R Y=ŐgaeNEe^͂L+f  -B$ -I~7pOFN4dHwQrL5Cꟸ?r5;Qכ{0e - -= - ݄JBoo?$ Cjϛb'~y@?ǰWpn ^x0|zrw& Ʃh)Fad!NAMIa3Q1WhXo 7\6>Pj捂AfҚ&"7"miTvC[]6 ?SIΔN%\}ĵ5NR~(p?n4NoMu1_ErTEgh -~j\<#LC+."~:)n(L{UUn~_.?Eh7/ݮz߷ӞCt:>a(_ᣅLϣ{`onLc'TCZI9S1IS.1晘,ӳbڀ+ضke*ݞw< 6Q&2nD62+#E[TDt/#@bs4EX^BmcN=9 _:)izc[4'Q"qQ@9񽗝疦eC7 --2Q>^NW(|Vh1+,Eg7. NX2bgXUʬ3N>_z>8L 4EjKP:&ZHC=B̊!\&P%s9FBP!ˀ?zi] JBШܤ5vٺ?BilRU'oHC?_:"oi HA] 2F}c۷qM3:gĝk7Sw isx<&o|endstream -endobj - -18568 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18569 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18570 0 obj -<> -endobj - -18571 0 obj -<> -endobj - -18572 0 obj -<> -endobj - -18573 0 obj -<> -endobj - -18574 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18575 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18576 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18577 0 obj -<> -stream -HWmo_O$p%{{Hw^Q(2m+K$'9DrHw<3-o>QW^QAh&r 9,hA݊e/cS5myP}[A[ya[=WkO`](,#qˈ`}X4Y˰ -5+}{<^*Rg9ٜljNby.% XoM D '0(eCebf| 354k^M $^F#<@|`:|ns8Jd d"u.ʼy9ufñi`SW+AoQN3d(sV;< -+|OQP;3dTdy+7 -<񞟑h*u0W꾳EOH0F"&#դtW l%gnݧHu`g_N/gVI'VbbWTk ,qD&H˅Es6S`@NNL(o- 8`kjSnu~<.N}kۧn:'S[[Z,Y4 h Kg~XRE\X:rwUt\f·,ڲ `P$B죝-`& -yg1!H?SlZD`5!7mN3Фcz #lD`9a%TqF()(w0Ph:)ɢmՒ 9b(:i(G!(,RϿԷxr9xX͞&_ϖxP7Wz?]t8ZLtlpD?j<|Wv;tS)EeQ0[*1~lF[/s{,$Jh ͋6"p,I.F10ټng,9bGFb7PY{zC^X5gA&2ið4P=ҥѬ.j1`6x'mGbz?Rkـ OOCdv)z(9UieRpQI=ou"pc>ңsa`r} `* 6w})'w=u0^zf %ՑТrd9x9Y,kc}:(#tCDxr"M/^S҈( -31.u_%?0It`Svũ3).϶k2‚[# 41 IlQ&]֮Gjrf|UefPHg/5 "6{0&T^VnX(wĩƾ< >/P 849 0 R/Type/Annot/A 18583 0 R/Subtype/Link/Rect[130.078995 539.020996 212.891006 673.916016]/Border[0 0 0]/H/N>> -endobj - -18579 0 obj -<>/P 849 0 R/Type/Annot/A 18582 0 R/Subtype/Link/Rect[93.5999985 438.227997 199.356003 457.90799]/Border[0 0 0]/H/N>> -endobj - -18580 0 obj -<>/P 849 0 R/Type/Annot/A 18581 0 R/Subtype/Link/Rect[93.5998001 200.628006 226.955002 220.307999]/Border[0 0 0]/H/N>> -endobj - -18581 0 obj -<> -endobj - -18582 0 obj -<> -endobj - -18583 0 obj -<> -endobj - -18584 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18585 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18586 0 obj -<> -endobj - -18587 0 obj -<> -endobj - -18588 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18589 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18590 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18591 0 obj -<> -stream -H{H4ߡ(Yf5^<6$NO0h}: {ؑVN~>ulNV˵zًsgNϢ?"bU86Ό3F-jDM#\׳j|Ųe3R&:yΨ*:-RҪD>,(|TyRr -/?v=IMﲙժĤIUC"69gݺ^peĺ;cå?fѻȧщ׈q-PZKiDٵ(ހF -HoEz [ށNw S>S>S>3>3>s>s>s>  =HEzҋ`h6 Z%s-P`jFL5dz -L-׈0\# -Skr-P`jFH/րQ ZkS5@z1L-׈0\ Zҋ5`jFH/ր<`jFLϵ@Q2=׈(0\# -Skr(^LS˵@Q Z kDbj-Z -L-׈Z0\# -Skr-P`jFH/ւQ Z kȁQ2=kD\#JZr(^LS5@z1L-kDbjZҋu`j(0\# -Sr(^LS˵@Q ZkDbjZͣL-׈(0\#JQ2N%ϽytZF'eiV$I'q̫r.w_~ Zkvy숿長?w뢷.Vhn(mxa ^miqNXwt^#椩-էz\mv7ZU;.`c4ӄlv=>N_hִ;תkͼn[e}[^Q36cH -8H`ZƦejl֋ -ݲi+U,ZU=GztȫJMy]~zqECɜef --H6L#Jx9儗^Nx+^)JW2Lx+^9ʅW -UBxy兗^{Dzq(ŵ@iॅ^Zxe^kD/{z5QKހs(%zo@F7\# -x{D-=׈^\ =׈^kD/{ z5QKނs(%zoAF\# -x[{D-=߶r\#JzqKށsKށs6Kށs6KށsKށsKށs6Kށs6KށsKށsҋkDI/цxާ-tg~3|شf\ݦo6INɨ]gOak"lvjaZNGZןo> <ݹ>z; * bMb\>W Ýݥ55Q/ʰs*6Nvt\4AfUMT/6kz3Ȩ8qPȼ? ?OC*'Qɴ]IP6~ƅ~.fY+jm{BKV%X(ߗClu}0\V{ dWdKMH3*0q2 0eF.l%\ǚf8*P(/YhRj[蕰%`F N@'AQ -x;P@̆8W[0$!\A-|[]{namN;F7[pb:FpR;h=q]Cyg 0!O$bH!2&^O+N3W}V? k^gbYM'#01,yG}S[3Dv}}yO endstream -endobj - -18592 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18593 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18594 0 obj -<> -endobj - -18595 0 obj -<> -endobj - -18596 0 obj -<> -endobj - -18597 0 obj -<> -endobj - -18598 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18599 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18600 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18601 0 obj -<> -stream -HWێ8}Wa@-t fg&\bH@i[,XrVbSd JS"O|8t~{|3O?1;_O$Kōd(fHEUѕcS5roCb2zd6zb-7Q,g9di>Z8[~azpqy@7x.|͢YٶewϤԟݻ >\ā{[wU/wSg1F8/(>=W{ǯ⒝o0{.fkA~. 3|<9uÈX ߇p8((N|2.DHJe^e^U^U^U^u^uMMM>!'`S}O i>%ا`3} y>'h}>j}BPj}BQ!{(BQ@PC>P$TE!`V}"j}>DJBQ@PZ߇(}ZI!`V}H} ->@} ->D}>D*BQ@PZ߇(}ZE!`V}"TET>D*BPj}jZ߇(}ZE#M!*dE!*d}"TET >DjBPj}j5Z߇(}ZMPC>P&TET >@}"Մj}j5Z߷ Z߇Z߇CT>yk?\a)k&rCȜ',IrGo7'vL/M8aC5nxE"蟏U*+{¾tn˦nlR,RvcYzkwR a HH⇻Gif2vbnag!R7P:@[% X劝ZԨ jEqlrb)٥jlI1kqsv*uYo펇u_,[Mqu CeM߬ -oP {vj՚&|3Үv J> x:@n~]UsgX9% O - عM։%?>ubJM l!o@zq6#:ెe[. ϶&q2ƭ 䦷_o4_eז8m8ۃ}pU*OD [b8U* oLU -v,R1C'߳SR<{jQ)p |#Πɥ,fpWe/#$nHT hPJmMN~y([ |NS?xvCe¥0h&wN<=Ϯ'?2{M̝Ϲ߈V'5uYR ^*]JEH nppc3JpIs<"{VRYnknf)1AA=srBTTo5]A8LoQN61e{%5(ĉEAd[iX}-\_֍kfw+44XRQD{p2<Gm:{nnCML8 (+/"xbR%"+mǠs4K}dĬ8r[m/~q/djĄnt!-Cmȱ9X6ՠ v"R.͡(>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18603 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18604 0 obj -<> -endobj - -18605 0 obj -<> -endobj - -18606 0 obj -<> -endobj - -18607 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18608 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18609 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18610 0 obj -<> -stream -HWko۸_2*K`@d{m/^EJֶ4, MQCpj/.E(~'M S+#lH8ҁUb{[/N?.r]M^+%+;-y) TЧD7oT4ihfJrW; u -gK1{l蟕z7<@N qz`k kiVCOX6MT8 ArӁOB .?b)TGQK RNrR‘vHC;ŀ%",âڥtS XQQQQQQoQoQoQoQo>rGQ3cG}̨1>v'Q0G}ʨO)dLKR Yzq-Ő媧\Z!QV1kZq-ŐŨw\R Yzǵq-ŀŸbb;Uk),FZŸbb\K1d1*ƵCqb\KR Yzq-Ő媧\Z!QV3k5Zq-ŐŨw\R Yzǵq-ŀŸbb;Ռk),FZ͸bb\K1d1jƵCqf\KgR Yzq-Ő媧\Z!Q0k Zq-ŐŨw\kR Yzǵq-ŀŸbb;5k),FZøbb\K1d1ƵCqa\KgR Yzq-Ő媧\i++p c!i¿b㽙{syc;/iD@2M|]M.;.6E={%%ܸZ슇(ߛ##MDCGͿpcm0hĿom p1@6ZGj0Js5 *޿xjgo._/?5[\|8G807ٷb߈~spubW"bfVwt۬:O|+Q{+HӰUɿ`ӬDǖĦdIͻ*@6]ۋze5`BY-GoNm.|)n!m\yu$ -q~& -7.car.Ŗ_ -=b_Ad7|V#0L0$ϰ+$f,9̫ˑ)& Cy<(=6!Ge#2SVY#㽔4f -0n"[qy$)aɵ??UMCvy,TI#~'icC^r; -: á_=Wr{GƑ͢ &Ads6$-Ĉh8} XHxIB>}Ss&~*FyIw4 N0y&jnMvhg <ƻVy3|2|QhU#6;оt ˲ vWf`':ګ0;^Kd}8{*UQ1.;= ;t`aa+5fVh&8f2 -On"+8le%K'thMҴwoKCa837Wp##b6ݺ)cl!>\K\gbzZ1d }T:PA88tX 6I,jlt)C_Mi;}`+5HƠUBMInQH#6jmQO4}&#uTP -Fr+.IYhpJ+wh`% -v-'lEgqdL6vq܀ـщNT TqD}riƒjGԪ8o`0WaVi#CLd̲1eȘ##"J)/Աv:4/ewU^p !5Ǹ@UKRgd(Z~{| m޳%_b'-Nj䃣jn]4% -l*Vn{"{bĸ[CNk M@Bɲ 'jߵAh{GoC5scM/[ -%j-2҈5c"c੓Ó[ۜ 89' -J1JI;.7>Yp=g`]T1hʌg&_AۖbFV%0J+)'͡#ws܁`GqN5YٚfgH -[%q2J9>R4iT|L3(4n<]Df -Tg )ԩ{qO8Mc3>;$ل>/P 1003 0 R/Type/Annot/A 43131 0 R/Subtype/Link/Rect[93.6010971 253.229996 232.705994 272.910004]/Border[0 0 0]/H/N>> -endobj - -18612 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18613 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18614 0 obj -<> -endobj - -18615 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18616 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18617 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18618 0 obj -<> -stream -H|YoX+_y7.t,Y,#HT@`0}(K EdzWgMf^xUgbCj+C?]0iL4:_Md[bMc?͢o~ԯv]lkk>;m%3kf뤢d21MfM&y ڬ='~,e2'.f_M/fnݡiQ;U_w,K-]oO163(wΜ_dfe穋J~&U@$*JO=+إO'5rY]BcW.Z^jr SHTz{ރ^ WHT>Q }T#HUUU/T/T/T/U/U -T -W3kJm80RcN/5rtzKJ] ZVj:0R#Z WSJ] ZVjS+5vjjZ WSJ\`j.^MS+5vjjZmVjF.0RcN/5vR#Z WSJ] ZVjS+5vjj=Z WSJ\`j.^MS+5vjj=Z Lҫ`j.^MS+mJ]:Vj.^jS+5vjjZ WSJ\`j.^MmS+5vjjZ Lҫ `j.^MmS+5r@z5Lҫ `jM"ZKJ]:إWiUUdr%3kffN/&+3&e=}'*c^:{.`FXp4Oov>'oob.Rtsf4w]Ң V[>U&LE桴wg)R[Χ9x_7x_. VsG+Zb[-'_GiO[dto\ƊߏM{u18!`jḿsxCd)cex{jgEq麧L)C_QK5ܻ~%c2UHwۋ_~oI3^a!GuүfxwU]si&|3J̍Ix@ၕ*RXA`Ŋ+VTr+W -*PJ*T -*Ū,iإYR#,Xb9rKށK]z@.RwRc`;{ TX^j,{z/5v4KjKރK]zA.RRc`{{ T=X^j,{z/5vK>K]%5rK]z@.RRc`{ TX^j,z/5v}K>K]zA.͒?}Rz -ß/{$pxJ0(K.7׫ṯ̲#~2H/ b-q{^&|fYr|eU6/}oO\ @i+ҧ>axzjڞoch9̢<1Eg,mZѦD9>pǸɃfL瞬WO/di %Oa). m_OZ 'MW/Vflv =b.Yw5OḀّqsI|VČ N{:ztJ*#Y|w -|by̽y;}>Rg&\jG]7uC;a (LS\u߽n׍w~0|Ջv5BwwU6G˸Xk6j'WǛ/o޿ik͍(CWuo죁u؍GS}1}<^pg6 Ü3YZϰ5cfGޥU1~j$;q%Yj@WTǎ*RXA`Ŋ+VTr+W -*PJ*T -*Ū,iإYR#,Xb9rKށK]z@.RwRc`;{ TX^j,{z/5v4KjKރK]zA.RRc`{{ T=X^j,{z/5vK>K]%5rK]z@.RRc`{ TX^j,z/5v}K>K]zA?˭Q#+Z΋=t!RENb1A (ToTp],K=YdEK8\?Zo('|6@o۱6<)K칛խvMS΋#ećL{jhIA[z e܎΍sqng `I^pʄ[:tN&@ɬuI,2:J\Gxf5C9|Ix -hhUmpkYYnݕ3|ee??<7zu9C36g1ߥP8Jd]$$ubUiYCӾ)vo'i s# =}@\⬌U. -+0VX21V&2VX+ -XQ`EJ+1VX -U0V! -r.΢ee,'c9rS ] ˽rO5t ,{'jX,N=%X{K`;!TCbB.΢S ] ˽rO5t ,{/jX,^=%X{K`{!TCbB.rS ]>8jrO5t , jX,A=%X{K`!TCbB.rS ]>}rO5t ,L=YT{ -]EO7pXil0%hԴdr~_}I{u?~^Mdt-]<A5?u_a!C9,S|\|6؇KtdV 7;ͮV_Cn-Т- mZt]PCw g_] ?sum[WCӵjjPNԇoC׫eMvMI˰٘=v9tgGuG^=<)R,\b97/zP>̓5ULKzpH?_/W endstream -endobj - -18619 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18620 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18621 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18622 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18623 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18624 0 obj -<> -stream -H[oGWt@@Ik63e%a/y (x EH6߷S%Ła]5ߔu9?M6[ᛣ/LmE)}4 mMlf/fY}TogWj/f|j6y]=ޝyLQrd ӴugE5Jv|rm dήkjYΧ%j9~׿,r. ]ڹ.KEqyS~(_w97UN>/>''+&.֊9t)M\tv0֊˓{C@HHI }$#$}O> '>Ao }C7%[Hߒ-oIw$};ϐ>0 'S5qazZ kM\^kEVk"aj=ZdjV\dj&.֓՚HzZOVkEVk"aj=ZdjV\dj&.֓՚HzZOVk*՚0֊Lą&.L"S5q0LE2Z+.2ZISjM\$=Lm S"S5q0LE2Z+.2ZISjM\$=Lm SEjM\^kEVkZZq՚HzHVk"aj#ZZdj&.6Zq՚HzHVk"aj#ZZdj&.6ڢJdj&.L"S5qaz7MYH/4MVeDFpeV$HXXa%`5!X-aj VGX:ꀕ ++V,_#KkBdY#,,GXX<kM‚{ZAX@z5Y+5q!Kk0>kM‚G{*@XHz5Y zI&Z|‚G{;aA#񝰠^k`NXHz5y0Gą,#7aA}9h/y_3ULyiR1c^ݜd}3l]'d;r;/݉)_7w+pBnj~NR 7Xׯ~esџrkדޤœttl;5uΤliٜ]~}::KMv98C6Ɇcej8 ew&?}߽,gے.cG뻣ooĕ`zc_IgkM\ZqkM\ZaAEX@z5q>kM\ZaAEX@z5q>kM\ZV\ZaA#EXHz5q>kM\ZaA#EXHz5q>kM\ZaAą,ą,@?Y֟afae;eWrE,7YCl+rUPW=m.;]lٵٮlk&f=ٌ]7-7s3_ߗ˝Zv_9c 0/ֿendstream -endobj - -18625 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18626 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18627 0 obj -<> -endobj - -18628 0 obj -<> -endobj - -18629 0 obj -<> -endobj - -18630 0 obj -<> -endobj - -18631 0 obj -<> -endobj - -18632 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18633 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18634 0 obj -<> -endobj - -18635 0 obj -<> -endobj - -18636 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18637 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18638 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -18639 0 obj -<> -stream -H40E)Y%]Mj)6^%1w8g9Wtm !H -$N.쟮4[̞W LPd!`__PzyB]Q5B]E۔-x_} >f K05`Q-Zendstream -endobj - -18640 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18641 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18642 0 obj -<> -endobj - -18643 0 obj -<> -endobj - -18644 0 obj -<> -endobj - -18645 0 obj -<> -endobj - -18646 0 obj -<> -endobj - -18647 0 obj -<> -endobj - -18648 0 obj -<> -endobj - -18649 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18650 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18651 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18652 0 obj -<> -stream -HWko6_2|K- -llix'V0qG{)Q!"pH9<~ᇫO>DǷ?ȸ_(KI T rt>c.&gѽ;Ǻqݱސc]|-]]eW+UNVIBLR&v>Y^Pyeq*j/V_R9a6ZGRFB);6s^:שyS߯2FyOMY9T'Gr-ɬ4ThJ6-΀]vYslʱ3b̳b X,b휧c XQ/Q/Q/Q/Q/ -Q -QQQQQoQoH"Q_ D}/%L[DM[D}Y6ƚL 1JƘgc̳R1,ĵ1Yĵqmy>q@\cB\cO\+Ƙg! -ĵ1,ĵ1Yĵqmy>q@\cB\cO\+Ƙg! -ĵ1dqmyV>ƀ6<+Uc1`!1B'kc̳k%,D}Z6< QV"1`!1B'kc̳k%,D}Z6< QV"&Skc̳R1,ĵ1YT} qmy>qB\cO\Ƙg!*ĵ1Yĵ -qm qmy>qB\cO\Ƙg!*ĵ1Yĵ -qm5F\c1`!1Jǘg-*ߢijſJ6ǡ?j1,nñT{ƨ!01 z9K0Krb;ϺZ B(jRMTg dDВSLo~Շ=x#TWmUy|xpñqnvn{xӁ/˴ K cB涫8$M2N\(-n@6ߎqTKcn7C^hih);ͺȨnCE@ =@CAmwroJ.qURKcG@A%-/8LnxM5Tֵ+vn]^pNV]EZoXw?[_XS/DAȿX 6L³3N?=Pwqpܝ;>ݩq2`O~6BXCB3u) >z;Q1\+@ 5Z03nC3E_?o]?k>,nDign1t`Y5>:f1J(+qmKє pΫEW;?օY1ѿb_xx{()dE)lxIŋ&ySdpfM=Qe$u7P¯/.;A_֡=,aX46kPBBdX &XKuWuӈ 9{;"0L އ߆λKeZ(5Ͽ`S7UFqr8Ϝ(3zP )a* {m! zP/]g_IѦf\1qMʢYP:~:K8} OY0-)0JÕΧ#2H5@& j;bx26-nԟҡ?~NhKu9'2ۥ姑ԆT$ :>6/Vejsi4_iGPpc>ӮJ8ئi9[_oLnd I'tED9k̍߸/3sY*ca{ZxعzbYgݱjH'Nӝ,>o -;dAEr*IX,Dm!1-NKt8 UD.ǧC4HHz3uHP+{nL'AXjNɸe Ya%K%K%4K'4K' $ $ -$V*XEDbIU&,&,ƱKcŘgb XœXœX%XԽ@>< Խ@>< Խ@>< Խ@>< Խ@>< Խ@>< Խ@>< ԽD>x8nCQ}>eɱ\J Ї>, aJHlR+O{iOQ~\5ZpȽZpȽZpȽZpȽZpȽZpȽZpȽZpȽZpȽZpI׼ kX"kX"kX"kX"kX"kX"kX"kX"kX"=ׂK] \ .ɪTUUvsq -_h:rU5ovw[|7E8 6ѷ;M{s|:siʰ`\/ %3*[vM;wkLcJڵ.K-'v>/[8e%/tQ;z_rޞorޢorq?ɗKwڇicVVzrI<6dævM;>d pߺ+;&?<}crc@>endstream -endobj - -18653 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18654 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18655 0 obj -<> -endobj - -18656 0 obj -<> -endobj - -18657 0 obj -<> -endobj - -18658 0 obj -<> -endobj - -18659 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18660 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18661 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18662 0 obj -<> -stream -HWkoH_1yסIrd a?XFh{zE ߯YngĢJ555êxq^7Ӌ_}/_$MOMTz -fVKUuV7QJ.>yS}-_ֻڔM]-T]%o>[usHObQ$$ZEASPMr9\.jUgmR{v5}w$,Kڗ韭  ."4р"cx]l` oZuV̟jPnu9r"D11Őŧ,!+,nb{[e1Np{'w̽{ =s}`3}g9s s>}!/Bp_0Qp(g5Bi)IZ!R Y=ŐS XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` Vh-Ő%gBk),C -Vh-6ZK1dqZ!{Kh-Ő%guBk),=kZK1` Nh-Ő%guBk),C Nh-ŀ%bܳ:C &Bk),bZK1dqCwO1` ^h-Ő%gBk),C ^h-ŀ%bܳzC R Y{Z/bܳz$Ah-ŐS XBk),bccJÿ&y>M.S^'#(۴PYSdR~DΞMLtBVe!" ʖ4dyO(C.~VU^/Ni/_izw(g她w챱Z0)ðnTI]ˮU;R?=S/~W9;D< #{ۏ?ީ5 Ew a6y -jԡYVG!FtOGAn;s64j[Kլ_7eZҞf@0 -M٨y}s)A]job=␡0owv6o3*_ao>' xL}=6b4^zDæW M]/Vuo\]O?p`zN_nɡ)j??4nVfW74P?ہյzrYmNwj 3}R^M9HlQOp Z5h`zqxtYeh'Jày8;-O>Ԍ^MH4-ixի;(>p6Ώ<)(uptK+bK}a4sx~rWvvՏuM1h3фu)~b<Ѽ)<0j_g3fU&U×Ojnƶ\,FX9d1yrb;M W5IP.͵v<̗$ `,d̷i bU{;#pqWWMOWSa4(n{wx.xmS#>=* Ym5Zχ9g;/O,pp?U߶Ex[n5? #I}HuV.nzxkkKGBau<̽^^ޯEpxxyXվ-vlpx9\//Y&  tj~թӎ>iBMs"iaD' fmN -p(xVqvyڷ>uOX͛nߕ! t'UZv&wmcArb DV]6 bSD(T>7!xLw ~#],'`*h`q\${r,ƺ={dګЃƎv"eu_. -'2}YϛjyP^m@=_G- En6@lw rVNrj}b8O&ΐsoS@l|pe4N:QF r܂˒ )ߠ`EYTO#){DǾU}a"Ɠ0.^G;vfc~Ɋ + , &f}4ѺdRtXہ4_붍f<g IBd„(utKz32?eNOgق4@%:jaXHc;a1jw?8nVhB2 ~jE<0a@e*0EB᭘ S'4MIB]=ӵ)1hX5|Lё·4h}r㊣)Uo,{(Υ2WyV$JFKQTL  Ex)SL擥H -kp<`e@5yIdƷ=G#"DE3HǪ Zϻ?~RԛHal~VK5'8@w<,W -O].c\oFE2Xiヘ<+Vv=sV^2H7D?Ű@K4L=/o<dt]7J[4"8iIϾ..D@z[G?%#xVYJrut# -tq>LGa>MFKoMwa21TҰg#$- u2YR~} *>Q#\<ͽffhO -KrhP҅!b)l3yfH.cH( ZӤr4ctc:GLݏ=c߼tUip>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18664 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18665 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18666 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18667 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18668 0 obj -<> -stream -HmsӸSKz2@[v˶pP%l&.,QXt S9ɪ$ϟ]F^xur/I%M-$9ɴU|$˄$%s]wr-?.|ѯ8]'8$%C˜$cy0dK4zbIrFWo< Yc<_E>_;h^VJ9U6F/q}N0_A9NRF.@W{C>}fdF+4 -a}.wɇĪ1c&e"˜Dž14B4ƀzzzzzzzWzWzWz׈z׈zY>Cg QE D D-F->l6-69*VƀB\cՇ1׆1G!#rĵaQȵqm -qms>r-G\\׆1׆1G!#rĵaQȵqm -qms>r-G\\׆E"׆1GPkØbaQ00(D}Z69 -QV c@! cBGkØk00(D}Z69 -QV c@! cBGkØk0H$0X} -qmsT>9*VƀB\\+׆1G!#Jĵa (ĵaQȵqms>rD\ƀB\\+׆1G!#Jĵa (ĵaQȵqms>rD\B\c@! cՇ1G-J_t'G )$f5$j3.|Y:LX5u^~M#BOy^^'|]jZI)7ecZoZS5lTJqs!ۦm0?_əvZ}8;iw!c>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18670 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18671 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18672 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18673 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18674 0 obj -<> -stream -HWn6}У زxх @2Y3@67ymtKIm~HFX!YHVcw|SFOvL/QV$Q$QwD.v,j;v}scQnӰqݳDĢN i"1"-i9tmtuó4fE]4EB_toIh-%O*W/05%I.rBJ YdiJ9v =`4= N$,B}ZNǀEǐE\ k9ZZC>p-'\c"k} Xk} Yp!PN1d} Xk} YzCVǀEǐE\+kZZC>p \c"k} Xk} Yp!PV1`1d -µ>,B}ZAN;Iǐ1`1d} YzZC>p$\c"k} Xk} Yp!PV1`1dJµ>,B}ZIǀEǐE\+ k%Z;2µ>Pp!+Tc -իD)%i~wEGb50ǬH(eGk٩v7qgze!2l.s?TW2KgS]v`xg]k7T)i`@~T@|yqؿ -84[ōߗfyUE^&\u|1 e(74+oG),THfl&ɵ{u&96]2\Sayfj5t|\yGM -LE<^"thx6jz8n9g;{&EERs &8DtgRr&Տj7P|ɡ+^of*5k2-0Š= q) -ݫ">tڒGQ&K_ݨ*w1fV^7¼\22!+Ȫ,t -jqWBL&8AAxlNlc{}`~E{DE,]yB5T~8J5e 6@Wz\E8ǟ.M6"ѸxZۯ/S zn~o*8 cuAs^}c|Tm਑խQNX^WwocK##ݏ\B߾KcMS;Z: TTʸ6҆+Crq<)!󸈻cz? -y%Ƶ4@.i ;|9IO/~帇= -ڡީ@zxMkAQv(Tn#<nCf{ʰ\{[6c8cAZ|Mk))(Zcp;Rzz۵SeM\V,}BvO [ŞSn:~z?7l2cnBvdn,>v>\3ϻea@X -=<4xBޚn6M!4AtG~- -\gv~:rpiSf3x2^ȓIvֶv{~"o.O_s ڌ˰X?7Cult&6R!0QA]vJ֮//ew!t}V) Pa@XؽdBm 5*7Tu4arNx>P"+ wd儥v_!SnPm?BMCk(3[vK *|Sf*{='qPbU#Xw=|U/\&YNF^o}gиeXåX;ræUl|zg"ėeR %9,+VbwyJlbk_|,lz8˖2i?w~wbK?fF -_Nqgga]RkX\xyx ѽo]k&7{jjh˼X;rUSpD \N*}yI#eyz+ X;#ͫg6y+pL -8q~aU&p:ɓNԽR\jZ0_vLk3ugjM F~s( Oz<~[?$OJ ; WPtCzJv9/A}GUEhhT uvq>Z:]|>Cr{5^?Wi|-W! ,e-˴ercZ2VjV'huL: Z=iyA3-/hyE1dq-K Zi)AK1--hi-{-b{!Kbׂ),A^ -{-b{!Kbׂ),Aŀ%b{!Kb7),A-{#b{!Kb7),A-{#b{!kQ X),A --{+b{!Kb),A --{+b{!Kb),A ŀ%bZۡL4b~|$ĘPսC%%| 抒vW> -P2<7ܾk[-6==!y g8To HivHG-V)@ݴnwt|~yƴ\ofDigiYA2-+hY-ǴV+hLZ ZiVϴzAgZ^L ZjfʢXN;%i)AK1-%h)-ʹ|S,ŴS,ŴS,ŴS,ŴS,ŴS,ŴS,E{S{S{S{S{S{S{S{S{S{S|OvJ|OvJ|OvJ|OvJ|OvJ|OvJ|OvJ|OvJ|OvJ|OvJr)NbZ)ΔiG}1Wp0km|Qja폽L Z5.ݯBS6Du9 -zuMmHz|)|קU7 07cendstream -endobj - -18675 0 obj -<>/P 1304 0 R/Type/Annot/A 37848 0 R/Subtype/Link/Rect[93.6001968 663.229004 292.957001 682.908997]/Border[0 0 0]/H/N>> -endobj - -18676 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18677 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18678 0 obj -<> -endobj - -18679 0 obj -<> -endobj - -18680 0 obj -<> -endobj - -18681 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18682 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18683 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18684 0 obj -<> -stream -H|Wi_p -R/#dHcHZ0.pErR~}xQU2{޾~|]d_Vz/U={E52^\W!s:*MVe^mXFFU*W)[4mU}[T[E?_YuEϗQ˛(*W9h4ԲW媯xbC0od0>a}ܧO)s -S>g}&Ϙ\p3eXY!CwO1` {!R Y{Z+bܳZ!Z!KpRkR Y{Z+bRK1d YjZ!KpRkR XBj),=KRK1d YjZՑRK1dqZ!{KH-Ő%guBj),=KRK1` ,NH-Ő%guBj),!C ,NH-ŀ%bܳ:!C Xy!CwO1` {!R Y{Z/bܳz!Z!KpRR Y{Z/bRK1d YjZ!KpRR XBj),=KRK1d YjZQRK1dqZ!\yU  Wu|].VL.M2$[4MU^eQcJfY;x vp:3GvCߩT{ܨ?޽^6uQmUB/e K+66%0ʾު'&_\j&D㏇rvEGv dӦi6F4 RàrNKU7+l>q!΍ Y[xbX[9`KښΓq3\ڠ4{jWn祓LC*aSpP4T -X/?a1H7㫱 "K:.)b-Tw).J#^[҇^>fu};,kjmN:N^WqcQg]m-AO>r{m@O!A%1w{ڢ^eqc Nʦ':6z{^ ?s Çe9;j f W8x"Xp &AACV.[{V씵?C]CޣKKuB;W9&N׋`,XᐸPS^ջzտ#"n7ƞusnVTm= EM)6 Y6LtVn0*ArT'J{B%4Eލ Ϭg׳^Vȳ]0Bo y>*1簬RbQG ='ڨ-m$gfQ2f=>LJaJX㺘Mݥ%ork\CkxlYFɓ (Ƒ_R:C10ءIC5cDeVpԃ|HW#e*Ҋ[wAȸ%%P (r-8|:< -<~{LFdZF< <f%MxoF`3S*me Hb>巯'17\Bݸ]f5x0{ iaRzjdr!rJ`z/bendstream -endobj - -18685 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18686 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18687 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18688 0 obj -<> -stream -HWm۸_CA$ih ln%,ҢCRñ7w-9Y <4w{ϯfp_fKsŊ\sءv`d5ˮZmMzjj!o4lq9XD0d(b]Wb󏋷0S7 ^E9;T3vv[G$jB#uS kL 쏝 -oEU~Yd=W[ꯙ=0);e[+ D&{91.8B' lt9l) -<(]ʔ<JU^U^u^u^uMMmmm>' `' }/E¾  `_&K}w{wD-m3E<*em"Tm6JcbG*BQDP-P-y>Q"TmEOTbbG*BQDP-P-y>Q"TmEOTb6ӄjͣR(BQ){l=P-y>Q&TmEOT bbGjBQDP-P-y>Q&TmEOT bbGjBQDP-m3C<*em"Tm6JcbGBQDP-P-y>Q!TmEOTkbbGBQDP-P-y>Q!TmEOTkb6jͣR(BQ){l󨔽97f/bad;b fx8s-L=0@y-4) avs=z[ +zánקݪc7uEΔŧ oYW>NrȷaIhg,p=vQ"6ۼ_3+lS5Sg:e9kkO -˶~۾nOoQ!{ZGn5i.(yY -9U]szwnml8PpfR]"|CX[p )cXm@g1V>LM ա`jcM>qlP&naX"8.P=~|/lɥӊuw@SBC[mN=?~;^=;'.^caAJ|Qu^&wHQjwrz:sKU԰cs8VV+ ;]ʉ?\KIiӮG@I\`\yI'ϕz|D [%lwrc]R+sWW춿,dp0$w:K.&l1 -T}JW.Oj.f$Ȏk ?m]ڿ< -ٗ=(܁a ;db6 :{r y9Ub=D+M01qrCْTZӍ͞X4"ˉ 塁-Cu<`PaO5u{ q Oͦڥ a99DL!\w e+$Z?3n֪9³T0- `i=bPp c& X^QV#Z/ժu^yO$Kxƪm //C̀p:}yA/EUol-J?؈^> #\] -0+5LM1M\T; )(SBJ@$BA0GP>]OV}W -e8\aOcu?,%24`i<|f+b-ySP~0cX~9]J -;uܑm_AAU U>¡+,{`.:h˰7ho&sG3]H>H.G,o~脱`Z -ˠOrp# \rʙ$Wߙ !/97%#:R4Xa8 -u-gBri`6^%;j& QBD6HQO߮a>/Lg:,nk^ -QJ,ʨA` t|I9/-.584؏J8˅FuJc9R<ƲBGqS砊.?a |~`7G1dK`TCֲ)6JK}+ ~1![BBB?)o=F)_qwIF{ -Hqqz -9]ψ?Ïp]d'/p] s_K,7cs -ŋOOQ1s[q\atH@OxL"y<%єL~GJ)dN̴WN*NuKy6n{~HQT{c  fbR~ÇERR^,|"!ģZ92)m"-Jܔ7T]`(]aҦI1"KɻF6e;>a[u褪 :Ce;>?ެG}xe1qc6fw0ӡçR'm?F=B,8HéNaAx$jɋR1,%AwЋLYn3ܶ!j!+G|m 9.S ^*".}. pʹV65K=ի@4BVM`"C9FzG^ );`ucK6տItQ7熈*t^exWMs2߶3爛1LAUY/lEYFF]^FR%{ ŌXS:HjܓWٽUcDZgs;Sß3H ar]_&Q rpEYy2ۮo!EfmނBb"*>::2F - 3ݟ"^ĦilJ`z!ϦAQ -iU3CUeH#>o]`m:C򂵿E2?JH?}OWo`)endstream -endobj - -18689 0 obj -<>/P 1131 0 R/Type/Annot/A 18690 0 R/Subtype/Link/Rect[93.6001968 663.229004 307.487 682.908997]/Border[0 0 0]/H/N>> -endobj - -18690 0 obj -<> -endobj - -18691 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18692 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18693 0 obj -<> -endobj - -18694 0 obj -<> -endobj - -18695 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18696 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18697 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18698 0 obj -<> -stream -HWmo8_*^[.b.) -Ց_3dKq芞3Qn;go_/Σ"ibi_:Δ3JlOqIQ_ժyjBl %n<:ˏJH1_FIyR:C)JW8ydɇo{ɋX=-jõGI,]a+F:V^DoC"EduM -#O ")c F&:Q PR(bCTʠ(w)C(ŰW{ŰW{Ͱ{Ͱ{Ͱ{ð7{ð7aS}Oi>cgas}y>ga_ } { @-#Ũ6@16D Q!{jZjC>PbTKmbUj Pj Q @Q-!aV16@16D1*FԆ(}ZŨŨŰTRjZj[GQ-!*dOmbTKm -SB(FԆ(}ZͨŰTRRj5ZjC>PfTKmbTKmbՌj Q @Q-Q-!aV36D1jFԶ ZjCTȞŨ6D Pj Q @Q-!a06@16D1FԆ(}ZèŨŰTkRj ZjZjC>PaTKmb5jmj Q!{jZjCTȞֈ <:ˏZH1_F2qv/DY1_GKq_ZtX՛dY?XD:׶>.WWw_wNj=:O1P*YpY׈gROMԛw wY̚m-ms0xU'EI t@GIlbBhVidf4+,BՕVj5m -& >la SX8Yx72F1JFduVٕyy%dBۺ宭Uu30tNyl>`>l0.r0.?]/{(LJ"J0Dv%IQasWmˮvҘ+UmzZ]5TZpBIN2l1vX۝;_)hRu 3х)uWdu -Ot9;@,I8Qmyui[?t_W̫h|u__S"N&{z˜`$WA҂6`c8 &.0$-?mE˲^||c&p q̼h euvW-p:Ir<:ȊwS'5 Lɚ>mAYZA6r-VEVfTޫ .MFfy\cikfLOG%PmN95Sf4HJj;O +Q.π:ힲaHPv.$ldbF7Lȯ{ 0VA[oo<8MK-i>.T/[U{s?:n妁mѢYߕC\L;\3zn`_m[ymڽHJj\݂Ŭ`E񱂠"RmRks"F۞/ nյްXhn?K  !,gշ񩸏점/2J=@j +%$8vR\xv߿zu/h)# "0#(d㧉 H!z5[5G61"ģ?0{*kw-(ec<$}2^oPh$LI:qLMqaw h$=Ц){ڑ4#g -;,|@("-&8?b٬V}u->=EcyUYYOKuHiH2L*2~4.0ycR+U}O?"8 A1z\)vSwU2q|B hq.'\go5XF81MPe,)dO\4P.!XV(TM\}“`#4Knr r6ׁo忖ۺٵ37okjuۆ}ɗǢaXbDi:v;MϿGQ%L%I|{Qsӷe 7$4'שyȒhl0#ڞXS: FE΄-Q5kx(G~\0Zo꠬=].ɣ[ fw%1iuޙ=*hĺ@Nj($5ӈ8er]-``l[ c-lf҄7mv Wv3PUzX-J{eg]Kky:s"Lڐs)Csn4G/1_]4e-a7(\E\Xwv^p 38rHh;yI*:+ND]=Nu,Ȯ?]p)L"0 Zj 99}B^"1DtnlL4\KRVGΗTHg5#r3v QKifaBpĬ"P&q)jߠOv4fq~yi*!'`vUKZ gn.eBZ2\!;8*,q6f_EaI[*e<=Q :EB|fO1 "_0G`PFe]8+ԇ#>Xg/W8ZZ#8hquhgo֫^;pmu.'iL.|7&+u:i8ш]o%/@$~۟efY3v.Y*=nA-2MqU)0 cÿhE|>rFkhixur=+łZMI^o^:{p'd /4>7mmS43bŌY&pV5Y.x 9#~[rá/E%s1~oZ|E<5&&b/gJvn+[{1pV_O:2f%h"d*q?BUTEMO k@{r?P2M"A}bYW3d@}#ЂL2%Fzd꨺8cT!j/׎N2x(X4=5Y^.1VEqX8Xm.l.ý́$͐e-k~g[XV+<OgZtqh͏k'Aۇ4*LZbNv=j-LN|:7͈ZdCVc6'Ws - $f^'4M9D+inrolD+Y`$Jd%n8g/pjnx|鞚frцQiC`ӾƪZףm`WL76\ 8Sh5:⅌NMۙNn9q۟~pDf4BڸN̂[Kuendstream -endobj - -18699 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18700 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18701 0 obj -<> -endobj - -18702 0 obj -<> -endobj - -18703 0 obj -<> -endobj - -18704 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18705 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18706 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -18707 0 obj -<> -stream -H -@Fw* EjR&UD 1ɀtY<#I HQV{:`4=ÀMwj1_hMkްDxڙNW3k+ BȞh0)pޗyJؠꭝR!3 0&,endstream -endobj - -18708 0 obj -<> -endobj - -18709 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18710 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18711 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18712 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18713 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18714 0 obj -<> -stream -HWkoV_q4y|&F4X4! Yb%=GD(Tdܡ8sgoo~0yś_ +ΔOsg&,|Nny[EiΓ_>8y^;cM=K"Mh"i2LHFeQ_4einٳS{|l@df|3^7O>oBӲtݐ7M>qٖ}Y,h_:FПLM}?I,]!D͉c3HcNbIJVƬwkyNwS=p{{^}Ppϕϕϕ///// - -G>VbāJYڽĈZ+1ficv/1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+EAk%,^b{1K@k%,^փJYj@k%,^փJYj@k%,^փJYj@k%,^փJYj" cv/1bJYڽĘKXcpZ@k%,^6JXcpZ@k%,^6JXcpZ@k%,^6JXcpZ@k%,^6Jl䠵cv/1bJYڽĘܛo.(ևDŊ -J+r+hJZ*VJU*hJZҪV"ЊJ+(\$,%1-,вJ-Rw .kCʽXw ȽĘTȽĺ ֐@%,r@%],A%,%1-{r/1-{r/1-{r/1-{r/1-{r/1-{r/1|-{r/1|-{r/1V-{r/1Vh-1KkI/ @K>K/ @K>K@K>K@K>K@K>K@K>K@K>K@K>K@K>KZKbZ#7RAcc &z_'uյ5Գ$Nia<<^$G,ɩuY6:{v~+ɡJˎ\1"tUsG76fжrcشdN|Ymq ut5[7׫YMǯpyՉ9?7,}ZuS4uwдaq5c4m5T14vpuLWvǞғfI߁Y;OlUu~~'|ǻ__Ξx9|7f -^ſh1_f|/'eTqzϻ9cn8iVR'^>iI~ÁyQs74{|s]Ҷ[lݻn^S;@X8fl#Ī>_vC\t K]Gwt5f֯|6U~`Mn,:rO?b,R~[n.wGd\on|GYS:ձ<Ы/{丏J{97H! IZuv}:w`Fzbx/7~t9UϣE^l#)v𞍷 amNŻilɧu=lj -6/csl^scw;aF)+;'v%}x^/3ޙ~8/sp, @d?=7~o!afrCk'8Ԏ7w˚d#t3k2XY_$ƬXJ+ -J+ZʁV -U(hJZ*V*U) -hUJ+"ЊReZKbZ#ZViYeZNi9r@%,r@%,r@%,r@%,r@%,r@%,r@%,rA%,%1bKY@KރKY@KރKY@KރKY@KރKY@KރKY@KރKY@KރKY@KރKY@K>KYZKb}}}}}}}}}r/1fi- ^bZqwߞtX]'gƚzQ?/xKV٢]y>m9oյUĘUkWKo6W)vCzhbщw(ұ6ؓF <u5E |\[bswSjc|E@CA8:q׿dHڷutt;!ZKtLn!4r>= FR^Q8io1BREi<&3y(EVj KR?CדuO`?\g'g;-}T]W -ӹw>RFsӶswi[CZ4]35UjcF1V<↡Nd*Yn -7Og]<(As'9 ap@G*g82V4{0͸d,`Y:dP!tn|XҪq"fM5t!gm8%֧- wOK*Ϙ^y_.TWk3@ҕx"s`c]3cpG)2ͥ,*nmPWAJ(zS"a*Z03OQ7s< ,mmoDŽ0uv -v<ƕji G6$#!0~CC3yDa$1[EF"sGzV[E 9l;1l>,[42TZgwcZy=wþ^BXQMwQ<_aXS6;X+`X~,uOI-&+)[|KR +ޭ8{֮a"9[kBECˮ R*C K@|!$@ɴϹ6SRd0aCSw Ȑ׭e pъdd+ƭ1iA3U y`18s>}ߋ#>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18716 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18717 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18718 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18719 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18720 0 obj -<> -stream -HWn8}WHd gOf0fL;5VҒdyثW^+o~ - fP,e -2JL7kU,z0W ]U -. ];I2v 1LC,sbesIioRFZz:lKHmPuwV~# M3 _TW~0ma  e =`O]ٞ$'Y:;@'.Gpx,=!bx,CVB\] XP/

'SO}JO=)>gS3O}F<9>S S g9aZAŐw1`u1d] YzZCs \b"{k] Xk] Yzϵp!PVu1`u1d= -µ.,BZAŀEŐE\+׺kZIŐw1`u1d] YzZCs$\b"{k] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%ZEŐw1`u1d] YzZCs"\b"{Uk] Xk] Yzϵp!PVu1`u1d=*µ.,BZEŀEŐE\׺kZp!Wb"\bջ|:Z+kYovn'g[0a4NW4z$ -Gyzf ̂-btUUsd (q27 eH|iHpvȕQ 'i Gf/[-~q*MgjY?&4Ta7S_$ , HvM=(Ur&1R6Qls3sKHܓaȌLiҟH67 m7}3ɢ6PXQi[G82*X_5`X|߷Mnc6bvۂESqN~Yh0QfWo>Ljq^JM}6thD"Eli$(O57 -_<G<Ÿcs#Er>Ǔx$;7U{m|k3 ǾQjyWQ-uA8:sБZ⢴ggšl(NM(ٔ_X?YdIcn2QA1T/%lfܮJfˌ#hLr*\^</=\Tq-NC|{Ysw* P~Ԕ6-)%䙮qώmc3=o*u1MXtw ?\\!x;Qs'XаƖ<-w=Kcr-.˺ϥ>a+'`:ޏ~yrJtob~Y:6c穙:[lM1E `*LeP)}mZ<DΖLL)'nK2"WЩ؎G~o:ֽ,M7_GS4vIF-uixj;{OImg\ѓrgpf-> 2_USO{^X}"IAt<5zh=vY"9&pZ#[WEF^g$qrV>-(\cUTV:(nںI͉?0 -uŽG,yX)o0%@'y >xX$gʚ{߲[j -{L e ocp.T nsqdse<}21 [ J|-]f~]K{ܞ{ؠOhMnj%`iܻpJ!(5! w577>;F ,d%ٵZL|!Vv03d^)o>  )"pQsbp -3?GQ =O|K 49*"f>;?|:^9/K!c6;fb N *]&`$UBh`YBg@0@b' P{>/P 690 0 R/Type/Annot/A 43319 0 R/Subtype/Link/Rect[93.6001968 663.229004 250.679993 682.908997]/Border[0 0 0]/H/N>> -endobj - -18722 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18723 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18724 0 obj -<> -endobj - -18725 0 obj -<> -endobj - -18726 0 obj -<> -endobj - -18727 0 obj -<> -endobj - -18728 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18729 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18730 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18731 0 obj -<> -stream -HtWkoF_1"Έk иN[Fl&R]~Pu-Ó3gΐײիWWRzOW -^%өUYtbUWES(VwQfuUn^f~nGbQUT"*T*s5oI@s4cmr"sͤ]TIaS}ܧs 3>g}.ϙ\p3` =JK&Bk),bZK1dqCwO1` Vh-Ő%gBk),C -Vh-ŀ%bܳZC -R Y{Z+bܳZk"'b),CwO1dqZ!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%guBk),=kZK&Bk),bZK1dqCwO1` ^h-Ő%gBk),C ^h-ŀ%bܳzC R Y{Z/bܳzkDh-ŐS XBk),b ]W1y6\4ћy4ϭ2jLOjx뺯e8%z)k9~.`OnMv[mW#cyB`괆͜*=ySʼn9Rr\x{L՛pRd+˲/G9ilۮszSnEc0n,`%X5tcΫ s䇛U,=JN6( 'McHgomu:ćvV~t>H?p~_hcq}&$Ϯ]$&E6Dy.!0Ep\yt7O5<0Ywr/ 4ƙq^Nĝk gE P> p  v(2{ayܝOO i7Mt_+90)1/Y*ᎄNIཔ%Ǖ&՟k:/ -{d1>]kgRKJݦf.=Kb"?6ҥV TGh|u `{3&'Uύ7{Ȝp10p^=7M?4)B`1-/hy-ϴA+aZ0TJV*hL+2 ZiVδ -A`ZUP-s-!kQ XF2LZiYA2-+h[!CroS Y˽rO1d Z,V=Ő%h[!CroS Y˽rO1d Z,N=Őŵ(,!CrS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1d Z,N=Ő%h;!CrS Y\brO1d Z,^=Ő%h{!CrS Y˽rO1d Z,^=Ő%h{!CrS Y˽rO1d Z,{!kQ XB),Uh,gCfs cppVk&gYJ]}/ЭsnXֽ-LY9j߉?]?=[bˤx2{1|f9k{ -,R׽ږwU]X{1|i0#Kuz`4eE*ťZܗz㇛'.:>HOyoq8׉^-ogqs:?/8X' 9rbgs{>g2\aj/*!7\ۈΎS߾hj&P un'x?,MչrŁ^uݗ?u;`Rnz-MT/n\<[tUMk@+B-!uKf {lZ$! PtwCp>޼}ofsW0iE-g70r9 GTni8%v -Tb'0Rg]|N`~ݛڸ禔j7V;{G92ez,C/@Q³+N\$@9Dϐf>4$y=WA_YQYy* :-Ax$yMvkڽ`h@>hj*$T_b@ɂhPʍ忈YY{"<NՓe3~PZ!mG,_&&(YDIY$7'B,|J~'qrI8KuJSN-%-ҕեGy5 zLjo^X\X t49F o55ÄD^&ח;LUCendstream -endobj - -18732 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18733 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18734 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18735 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18736 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18737 0 obj -<> -stream -HWkoH_1S_@";YgI nP$fV$X_7IVw8dRJ55ř!98jlxruxhiTSabȨ8~hT{VOByQ}>\-VU몘Fݬ7QZes/I4U$*[z(4kC4mB_oy7I9go wq}x`ql]W] 8!.g})3p~P5S^j#߄ $xXxc/ )'圔pt`bQ XZs -,]knb2{a2Vpo{+̽; s -C>܇}(Hp1>bc}ǂ1s>'}*OTp:RlCwO1` {!R Y{Z#bܳZ!KpZkR Y{Z#bZK1d YkZ!KpZkR XBk),=kZK1d YkZ-=+b),CwO1dqZ!KpZkR Y{Z+bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%gBk),=kZKR Y=ŀ%b),bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%guBk),=kZK1` Nh-Ő%guBk)BCwO1` {!O4M -ϓӥ6YVK[ҩ*[zRF~tXQ3 l򪷯;b?L?6~"i7J>!,ֹ*WVk\߂ M|OWeObUbgΫ0WA&%} Vf'Z Zޘ/As˛Uo\͋rPI=QߊVBPzRo~_ }qNy{ź,wFGz/^zu Yj5W_6y^tS0|ϯBQ -}n9yN'eU3cYV]$7/ɼaݼDzw5@W|,JcGB*4݃a*hX`:NYCg~דǪZNj͔"Эk6!Cw A a>/k.nJ5 -Vn7*rft5ɿA3^CwjX%<]uc({f:<\SVr38LmWViXgnN.쎽6&L8<~w2gz/zp98y@=9Q%pg.q׬"0 عj/Nߏ3Iwv'^sQnatD\fSV{gxxv=:y[6'a 26a"zDo߬ћM3-]v8ܽf*)\]+QǒvV 7]mQli&eoSQ??I^vL=n -+vQ=X33m/~)P8;:p\ē*+,T?GV?HC,ݦ˝39ƵnXU=DkZKÓٛƏzw -Υn C tېhyN'ǜ b&<7:qA@AbJrcZNrL+B -Z!ӊiEVĴbA+fZ3DJV"h%L+R -Z)2עŀ-ʹ 2˽rO1d Z,F=Ő%h!CroS Y˽rO1d Z,F=Ő%h!CroS Y\brO1d Z,V=Ő%h[!CroS Y˽rO1d Z,V=Ő%h[!CroS Y˽rO1d Z,N=Őŵ(,!CrS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1d Z,N=Ő%h;!Cr -ŀ%bZkdU6m}8dbd7M{#|a <wӼ/x뤗.&Zt~򇚭Tϼ^73yPѼ:xLս(i{oG/;[}YbQdn ?jcgј\8CRG&zY?utj{Eά+볶w2kᑗ7㳡/Oendstream -endobj - -18738 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18739 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18740 0 obj -<> -endobj - -18741 0 obj -<> -endobj - -18742 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18743 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18744 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18745 0 obj -<> -stream -HWr7}Q)y uJ7d["қ\*-5R-á6s$J9N7N}z뇼 o]^J޽;9;!."N8I+N,#J#F&$:ɦ%;]LddLIta*:EG#v/#"b 'I&Yt;8^.or+:8>6P%U1KT~b^>]X'BX?`T"JMbjLz>hJRs'S"SO}O=)>kDkDDDYfG\bw1`!u1ջe] Xk]̲k9Z,DZŀ, Q﹖#u1B{k] Xk]̲k9Z,DZŀ, Q﹖#u1B{k]l ĵ.fYzZ,_Yŀ, QV u1B{k] Xk]̲kZ,DZŀ, QV u1B{k] Xk]̲kZ,DZfD\bw1`!u1ջe] Xk]̲k%Z,DZŀ, QV"u1B{k] Xk]̲k%Z,DZŀ, QV"u1B{k]l)ĵ.fYzZ,_YI(xHFFO.QM7qBY4̋wK-M;UV:)9kwWIٽ0И2MFcȮJWn:SC$%ĺDi2eEʔ|OVcǻze'JZ2Ht2-|~5y"W+N94q.(IXM7\b|}l\ĩ-;,>.꾊VvzkU̻z˙V=Wqs/R"Z6keGCu({U;UP;)c~긝TlW;4٧jmd6)i]u4_\^OnM믇]Jqwv<:n/s/W/> Gǧx< ^-}eYv2<#:d?X]m.dE;UU~y~SzQ,BMlּ|!7T BHQ -J෺_o_ϿJMfb{7fJu;xw~й irb4X('!`y4TdLBU*i"u^!7WJ m+{KhBU%mI6qX%)cyyšn#tC11M$kҟu7JG,SهL=JZ|kk^;܃sƦ - - -|Ӕ ϡĎ$$RQ&7z.0xxŗ`³*0XUm' \,cnuV"Lߏ2dkaJqsT#+~ *Cv4iۏz=h:@.73oS{s-}GGY;xY4O9ѥc/ϊM\冯Z5Xm.n[nYtOK+$Xt|*ФZlgy}$guW>Ɣ9K:aǕMmڕLdG=Γ6] -ý+fc}!Y`c'vкiI`+(?:b*u% EBSn?c W\eg r4&W/`qp}a341:gQF(H S_:nW"U-}oSWZ/4V^@[LR8:Ni'ղ\OE>s>H:ewsyX3as;]5nn?4 -F=ġݖU6~U'Oy遊z4D`l endstream -endobj - -18746 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18747 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18748 0 obj -<> -endobj - -18749 0 obj -<> -stream - q /X5 Do - Q q endstream -endobj - -18750 0 obj -<>/Font<>/XObject<>/ProcSet[/PDF/Text/ImageB]/ExtGState<>>> -endobj - -18751 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X4 Do - Q endstream -endobj - -18752 0 obj -<> -stream -HWmoܸ"ˈҧRI(Be{K̐MaXˑg^D?%T ֢ۭ*7+%bs?p8nwqۉvYVk+0 *Z6"q2MUͰiY3X -auRqj+:כFcz@qj/C-f -3v QP_b*'6 ˦..+]V ϦB Mch!FUIXia]e]XBK_\AJ;{Ho{qP*Ul1XjSc4urvצ82$_.)F1-;y߈RE_uR{0YA|%+bp۞ǿ+US>D#b<<$XTˆҡ.eqCiȆ -6U7۩6MpXnV]x8~4Wx=mq<`'Ƚ8tfWw8|(&G [W hS2;(zyK$g2:ZsαnL6 w2-\\{Ws(za%t[Qn6&MUމ6N֍9bRFV!(ὑXv'8 zUI/"]]x VOQ*CijXC-mmt4* `NlxI@JYy]TC4}#)6.cm^(~ų).D>3i/N.o$*Z#ƾ4 y.C< Bծ<5nΫ)qS)ClQNt'Sہuj -ғmw]kmiRٽ"s U#-FYCʖ2 8]l,3s,)z;) &D={K%~P)[B;<[dy6a%Xk8kI -%ZlJ"}L=_S^.<㔰vwX l?F$'sx u8xD؜A0>!5D&(՞߁I'sRd1'b -|6U&lKzY^b}q -e@}x"b|t}wlڃZ ˺@ϓYM1l<C6Jn~4~LqoӱZ#eҼ4;U3AT45 ŕzRݦD)^b> 24E6ΝW3N'5ק!jFZηNhluB?|['/8ߊ,)y"InoFs߭nA -4oh/\]K -5){ ޱ< f;~$i=@.*^R p=#E'ƶi~IbzY;}EBNL\Zs(,[ r6ikҸ6*4h DUVѼE 8بDR>rRs|UTdR-<SD.5TWK%)o@&iТ€ndG {c4M>2e!9h[ 9˻!ڪtAx4q+EZlp뮺cNFwVGO.\(ri~(AY ḧTeoBJT:8MI.ۧ -B_`W7%]tQ+ {ƫ[hy"_&'ٚqRKE!N -/pW.# mHM$҅v h7P&϶eo;]f8:U Ub -gU}Z. c+J-`*?ݯX7>}`"kT8rCY~3?13P'$e]֓ aXUb4=!ht'?U1ALy}um56Ƿ '.YYoIe-pᭌgW2VdM&K]#mQ.Ca3Ut%RZPu #'hJ殔ADj`Y6jqGfc -tPFcxz c)mmHI&׳4}ךJd5f8h p0O=O=O=cO=kӝF5SSةmCmڦ<mڦ?{=MCmc~mm6?)B/)񨻜,xǣC{Y; 35mVqDB}q<C$ -1A 0fMx&mHF7YY־ṷg-&tNhAr^ 'LWMq2FcPaW -ges1COBbuF;p 8rm6*I+/%j3&S?z.x.g.ͿK蠏\+[KTE` 'Ske )7|čn_Zm+@f۾|ڠN-N_JMrS]Igy)^ b{-&0vPY8q$%[ZZ~ϻ`l `ҶJABX -;+k`T^5EU*ױFB BPտZ)ly\R.!0rKRcܣnM%~+q?Q#tIZLʮ@ -c?Wmt#"' PX!Md(6E %Ǯ -(R"v6 -A@QQo5TΈ ,l= C?JzL ʂ[4iApA1S2)K' @Mgc(Z@~M\y,ZJmJA Ki .kkClό̕> +^)R4W+ -8eTjke -/_#г;lr[%̌'_ph/ 6TSA^c+.I -Urk,):kY"NrM*z_Ij.~uDqnoFz<&'C_{qq\]q5z+B i(>}˽si~Y 9NfCK>K8aWeҏS7n2U R~giP/qm~'ڹ_xp۷ 6oH:&e%l޺3G$Q%8+OVjW4 z,'4>x%Zh4QSv tdN 1kU~Zx_%ɑHޯ(þ6fs(]")Q= g!@?536K 0t`uj}9A^C:i\дkq\YW5b*[D^v:6@3`tvяm#"Zة@aZ'Rc9FY~oF;'M~n n1qgdgn'Ž;yN1ؐu$EDmp:YE4f6?(VMS\A\f=$pQb d#^=0=0؎X{_'=0yǭ /tldF|FL~w %ĆɞĮ3?gN41vF[~9D-Y1غ#=]Ensslȳm 5;یl7Ȩy.p\L͕KAnH0Bԋh( e:5KE^$DЛ}7Xq.[FИY85hI͞mQ >XX7E`f#֡`DȀЊwd!⾡iWyMy HߘwYLQR8\,hU"-%Ģ |Ǣl-xIjiATarBaXE-#OL}~aOɞ\悰 -Ii`IS6Fk|/g#bƪ H*B f*yڑ04/Bh3l-qQ/m6?%Q El׃?m'am ;a_A:,< +S&l4(Ϻ #fV؊wS ÑhR6J7O1\`dh^үj'oҁZ| 39%9BzDеG $BMmO sfwזziZs'Q<J>152Z#gJ zdC1ME ^\6b~١ -Cm:/4wm98:ᘊ5i`@軜f7jlpJR5 -/%- s]^N&ubOd*C<9Ҕ*$Ϋhx6!ģzeV} -KJD)5"XfFB*)Z7kj]233=!t "\${444 -t8ERFosazwĐ -UJ4 A)JNi.Hz($it@REj4q|dY M)Q-Q/K~&J'JZ3Qҟ&JL?('%'%`~z}mT.noOK˶ro97[qM^W`(Zn$[SMu /2gBǻN'OVR0ߝpZ (I-]@p(1)Jb>&TO̢TsI4 {l'NWeXnb)f)AE"zSLq:-;F4f#|f%J8&XS,*PqFqBtP+I -u)jPD7M1).yLbV@+-xm@hc /N -_51Q.z^+J ɕ98DGЌ^pxA4ymF~ k7j\!SA_[P' ~OA+yAJPAկTbAͯk6]TMfWB(,Fk5 i+GAUd6vHdn*Dp(5* NZ|"G6"NIɇQ:#b'IS9 ZShj("_8Q=:Ƣ0Bͺ_B/uX:AkoaN:[k#in+{@vT,I!9Q[Bjw7K߾OrSAƬ֓8csU7\AK[F@:Rh/0SwGuFG*+;k8v!`bY:'B}]^tZ'D^tMH9{'"Is ?aIBZ˷V] ꧌;zYSfRw;-{+H"sn:9 K>ԏJe .\aL khB@]/|ruUh[~ NcC[{ic_3+6yIXY4$yll/bYlZU-)hܝm(slɸq|iҶR7I۬}|jj#H[ñz@yLItaIe(]uՖcmgzk^00݇UEsy8OH"Y<\/ =O.<" J &N4K{@őU^5E6~B4%ӈEηR)^3( -Y 녘*z$qlx 3gnhWnhd0#|`~K?CסĜ)O}kK+?뱎\qqx~hѭ -SOYͩUځjH0]B_DV!N\mewUxzy1~D.3(SK_Վ0bj#[lϹ'K٫6ȬK/ -B[b"JSW枩JS%J:&ڤz4[gsb e|!'m!'t-umL0Q7Ihd!kl4@bc߰)eVwwu)_01`[z(k)o:sۘ!=K?&Ffɕ@5DW#jM<5fȿ=ɪ -'Xr+'0 -j,jkW!Zff=L:DXu倩oA(\/bC۳VK[IY7NvΎ`qy~fG4,?FlY -ԥ۴ ]\{[RFA_ommme͇*%l\snb%X)޻$J'K7Lf-+(QsJnlo_?O~p)dZ"!V!"6LsPa'kI)ȋk5z*׸ZDV~Ujbm_ :{ VR -m~;wx*:aH>tDEkT@f2)kݢ{ - \sF`U6U:gGPmT-3TvAYrՌ+s"~UE Y4gxJ=l.\Xc?,Cݞʢ:J(6"1>p%c{@/rx> ɕǫh$~\ACWWcbBg$'2hG@j"w)'>]ΦTvzջ*h[tP`vT.2wq?a`76 Ǒ8(HԾE|(I4x71˲_.Q[ҰRcvaSY˪jpJKsy#Aro4uyV[STV]O nJ$f1'zQpEM? I&v?4q E6/\Z#P3@)}[%WfgbyQxPyyO#Z,5r0\ie'^{1thruNHyMG -МV}v?:oRܾ T7#C/st!nQN23iL߻/z5|mlr%d` F[׸lAd+K,:4T1 <]n -%id+^ts/dEL./3[ٟǽO#4O_s! fA̐->!IȶM̮:BèHUr4 - yktsU]~8.馝e-h˜sEsyRO=4gbyJFe|/ I]2 _wc 򄓆Ȗ= DC;D7U ΚV5aځV 3Σ/;{@ļ{oGd"rI#GgD{DoF= " );{:[c/Bw]94EnJ9orxY=C]4uPA.8U򾮪 eOQ}?Ȣ6MMp~Sc5,1ZP@+;~ ǜzwj챏@ѯpI @8j,9es>NbIasF75n Af`xO+l窚Uע 0{Wb;Ly+D$>.]V } -q-fFfK<#` TeN 6WDJUG"slI{}]-r6t_QUn[*Hfd x} vCMX("/'y 9D}NVwv:FVr`kl)(8е-\G㓕l[\S'2,lDsg_U-V n"j[Ʒ:fVj4]l -MSs5Qt q!B؅ͻC+fy)ulұ)u}'R~55s'9 Ukv;RmcALlEuHVTdydmdTbq -*;u -p0XV'"GAHaKv*+&l  5a!J(!?P?FLVen$2צX3K,Z){vxu3t^)&)AC he>9HiA~N6ohRǜuޓߩrDqcШ:wȇpIK)zd;gy ף;ksըzrg %#ρ 𝳼`km!QKăJ¹u -ˠܞWCfr)a`C Wt],0ڵWq^bn,/whCk\n@N⓰Fozl$tE.r?cz}ku}ef~}>yaynILD@ǹ]PR01fI+3/u}N^I%NwOWVߪtLG.)[T%G>ʋ)vdN897PyaM$/?<̓]nnm=ϫ||E]Z~zy'a}I6XUy"V4RŖx}ޯyOy{eqբÎ.yhx!AP34V'Y"+Įr+W>m!yWX }s"\f0yݎ[;f;'#'x VG Fw\ɗ.VC"*^_"p9$-MEʔvI,0myHbPءTO?~Z`TUVLޟBn"t߻}_i/fT*%Y1}F%$Lzݕle  7PdQ`;+,e#ydԎO'd|NEqQBrbr l'Q=CЉ`\e35@'vG`Qs]%SB HkFXW%9ply嘍ii3eZ%1hjZ)H)('oyi"EbipP#3Jt 7`_iBv-lneH 1Xуe>ɩ1UARH|=/Tl괅$Aleܭ iw{%c{TCb7UXoE-碾cTyצww3#μUǛzq ^X"[X=4h)|){bS"$<.d(FF=/9I%2hFLh -xM _Gn#([*u:{<%DQQGf6Z:R+8?15V~c'-W} ]&;ǸweWuac]6MO*4qȘ;F**&ۈx*:Ĺ1]8%`t86psI&6,;DMN&uM5#\TG!t#ФcC>#t_Z,a@N%BHqyP)T -rOQ4nUi& Lۭ9F7kRETS&b[%C%ҩ5 x'Z -"0%@π( - ;z\j$&دr#S8 xxao$o<g|rT{a醛x4NמM9L&@wI2WiCClh*Y&7GX!qӟf QL -9,I-2JbtًSuqkܜJǷ~&Dl1]^`(Au+J)^=..buɀ`%=M~= PA.AO~!̪3NR0^*0jO7TjVO7(p"+LʄwvW9 - 6[T9FV|Kv6dz/>24T>A 6c WA(skxhp9UUе!@t9=gt籲447*?h2XeR8#^MXu2B@c5wہY@Ta#]KzqƳ $Qbϵw^u]K!]4~yDv( k1 [WW7I^\8h)*m *n'.6$,!OގI|ԑzS jONY"AySĴ)-{g()Ĝ:E2WL[ -bk.PG,@C՜hMdF-)^Gg)Rl@F#0= qsiNn}`3ƇrSQ͔,ؤYGKX80SQlȢʎ!UZ|9+6XlD(j4=̏.VȆq;h2|1FkZ -;&27!co=!?k@-LK  .m}0{ dH|V«'yoN$<~HVL)} +wd;Ɉ7rV傯*'gŚ%eg;zwU%T -_Fחw19긿g572)Cej9FҖ!k}Pl_8YO5( jOr[u,hFvHFM7*GMUȀ~]Tm,.Sixl0"f$4Dca'*-@P-#KD4ViFY -%_Pl$́@,[r^te[OoxP.4drx#S%zgۂz~UpϞl\D*euM/'̤]cjMQLh}捠.zC9B@y[T;h Q0oFmUɎ@d)ޕ#p+8#\s.#.g P$b[[hК OOP5ue_!nmawS,:ɮ=l:0Kkz6Jt![Dų.L&}Mb7XawA1 bau_^"Cï @|x\bX)l G=9P\C "o`P->._[bWtޙsBh},AxVA561l+_8U=Zns=ɛ\ 4uR^0}zr$ fNQxjrL婮.1g-4K'Ŭ2 -6*:bK՝(%%Ho{L!l^t'/tqk^].<<|eNECNq?d-mT~$r3~?ER5fU)mQ/K6Oɰ2iJTgF(x,m΀PVsL U6QTDPvX&Guȟ9؅!ʁ Ʊ^^Cc @͖l\zB^l6?CPRՊ*fL l&/2Q -;^ԕ ]5α -G!.fYцFޡvE *8먢UsLR$ϟjB6~cjCgLgu"i)ՊMnOɉG_eA⨟*5K*Km- q-zގXn"a"m CEyIf,YBerW@kY)%/,q r:Xƒ[S.aLSS./MU+2ϛ&tM6C;@.lg|A趛7nτn |wnBS薻M=췅n~ЍuYa(neu;[BH[J2']@ĵ5A[8 -K$c=-i-I)kЋ]H/$L刚&Bdw3bWe{G&IV;ʜݜ4 B[beiad P 9 -G97e Xĩ=Zg`#4fܶ ]rPNj=J5%U=gTvDzm<1}0kV&ҺJ|~U=!lhLU<؁t4Q 1hq}g*WO.gJE"7`'r_,jAˏӸ6{ 8^6r)BnݯG#g#"3d3{9:p `6g!y2G$%6XA{ǂR$˕ٛq:JS3l/sT7:f0' -JZ`Mq?>Z"dsaZey@3[5Z,| :ָ`{/tD:y/Djz`u^ѧB>~ eZ-gѵ O> P +ѣ9P I6@o_ IѣU$aW$%X3χ`\PJqJ$m I=3|'VpI S'_SټYn,ߣ1 ϘNH R(Ι H >g*>pE⥑(e[ uO:N.ETRH[em+"3f9tnns'Mx&w/"ZC~-/Mi Me-JIy#0^{8R2o` -PZR9ro+- _(#ӿm  !j*\^PIr GmtG,.r% R eܼ*;(q_{/9~D,7uIᆠQg w@>amAU+@)teoC NqB!xH"%JϽ#s3*oq=QrdS$|ty*烵{()ȷ3qf0Ps&}QLQ@xO龆|k8EYRkLGuj -u4Έ՛Xh?rX3s|YzE :">3'S Ĵ { (R3Ͽ:ExF|Fư=v+_]P<Dž2e0@ -H ӅlO5]q֨u|/ц#6z[`I|Iu_@P1g;eEB.JP\k X74}s!oᝫCȓ)6bF!{}.gZ}yQs}~f?8AoϦo1<}0,DMx?9b6 Bv~֕Bc^ O UṖ!H ?l6؝V֜={Z Q:d}Oo?OKb:sz 邨7=)869{hjH R7`Ώۍǥ5@"Q?h[ũU֢͊/hh,dW\1Q$hjea d4=.C Tq~;Fpol?1uV r^ұ3(&o*y1lq w3v6l|e!]n7ϩ5/BSǯ,[(? -[b;O @9ҤD`;CTVc OJ爢uninVjIz߿4r997GId.oJk:=sxT"|U.{PMg=C;DMH!)sɗǣ%d׌/ѷ*$TjQ%d&` RYTSVJ 4u=YDKYǘ -V~GAL+6暱\`ԕQ:$%~r**{$Т._r<QLXPh?=]-G7Uirܻt}!$cztd>:"vVP'Ǖ{-2$)ZF&.cӢY:f1LueRVߓ\(+Ln, =q Uqs |subYb; -ݒ8=;I=y^L[ժ:v3_}I%G$I8 !K -)'hd㪭D,?{^DПfgcU~QRo-#RzR 2EtϵDqo֒D -B fkZߴͳw5בe&ct7(oLbd TlPǼ抸=/9uץZDzVQڂI.|TM!7whQq춆1~%W<=O//)3/}}^Zߝ`v˪98DP޾|""0- -6S%$R83 -GFPǸk*#۽~Y(Q ]K rJ/= _I!&èIVI콢\8~ q4yMt;4Z "1Ӣf!jݑE@9(R;}Q胲o4ө8TsXɘ888~힌Lr&ct28n8\G.3믹8׹X>Tlg*#=hEBl[\}("* VMM(iv1|?jc|v.RsG(d>rNĢ5]TRyLgL?2u-ŗY-:C|b|~K1UU+x7j^t}Bfq:]V/ߴS768/cpY1>طv3LM15M?5/Ŵ5]"ǿ)cV0At!cL6Z+UgHJI0vnj1@HICM%oH R泹'-,8.n!Dmē|ƒKyk|B j\Czs&-LH]݋CU(.vlcǾk-*ڲ}ꕣjF^Lt-q|a CnϪ =fDgJ]eKkV%, At10J-SiDhaXVهXUoThaxmqXFY޾|"Nf%w\:ҳt(V0S]q0)ryE4tgUIFRl;+$*׳V3APw>JR -H?Hqr.Y 1JUbវE){OIψ*%hڏ l)]*#o]&.e\^pxwqM -mbvjFH6•jndvb:-8%cJAϵʦ|T`#S: - Kz5v!DPz>Jic\RxtiُC'd1W^~0o\>{ȿ\2)OM1 SRi|̄  JVQuWŚvŝ#@|vנFmM:shSO|>^sD*ґ۷Njc]Ύ:[wj0=)E* k9_23A!)jh|v s*RI"ii_ -sK־=DDҮ~ |bd9ʵ%bSCZ4 KJOH! -> -endobj - -18754 0 obj -<> -endobj - -18755 0 obj -<> -endobj - -18756 0 obj -<> -stream -JFIF45AdobedC     $''''$25552;;;;;;;;;; 54" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?V@ N_}wm~ܗm~ }wuX nkW_϶%b_aO޶Zqlh[BoN,ϗrƻķ;6:nk+2x 8 lGh}v5&#s2c2xJU8Wh;+#U9uO$v?Vg1j5&U]3ԟv ?4~-lol7"h_cjvAsӑ:^KAgvdUWT-ia=Ȯ0VZk0VU\gV?OX%e/:`wg+cc7#Ϗu>.ۋC;O'* XZȧy_Ѩ9> -stream -JFIF76AdobedC     $''''$25552;;;;;;;;;; 67" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?߲uՠ:cD~2{һr_J~׿+o)Wղ Oh N],s;?j1$.̼6mF9Tko,N<[Os'Ue"V-m9$kiff@Wmȸqʮhξ='(ɚ_K@ h2,ǍƷDAVp.qFs2>DOb2/(@Z?84z {@ ʵ7{ ղ[R>?\}n2-uoдhߵ2|}]}͢豖KH/%C1{G:±?V/D wۭik=eռ8{\>-fu\|gӹBpLAvSa +!9\|ʽYߠvѮnM'nh.wepʏtTOOOLhTn3 3~qOZwFNj,$Dendstream -endobj - -18758 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18759 0 obj -<> -stream -JFIF77AdobedC     $''''$25552;;;;;;;;;; 77" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?^>HȳV֎^Ym1Ǿ*?311ܗLg%93?ȕ}a{ۚ~;[ s'ٙ[?IS\_T;esYmss5ژ> -stream -JFIF84AdobedC     $''''$25552;;;;;;;;;; 48" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?+[ ov*s|dȖʢdǎ&y/IyM3psMdK]7 Jٌ뵞L2_e"V1 ۵'w^֕}~D-i,wusNgӉi6-˛=kVnKF}?B'![3lczs+và;wΰɀ\ߑJ[G = {o"}69~fNkc"[XW -e۹{j7Sa{79p$.W|&a/wKRGT[?Eendstream -endobj - -18761 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18762 0 obj -<> -endobj - -18763 0 obj -<> -stream -HtTmTaٙgYS@U@(QLDv.SRxJXbDH`bDE -hR.M%Mi{{{iݍiWi e, -o*J Be<[1ǭ?Wn8?e☗~Mt&캡G̘:g136z'ךR&>ms~؜Wj2FIEE%:d/psqiy)$Ryf}!)`ٲRh,3,K 7JEQc(ʇ)*ҍNQTJWS$q:rTImRݴmnZ9nknC(^Qd**qR*>T2_3Y *ZU8Iy[&{떷;{ZGk64 - iHJ(MR۹OΪ|40g0O2ֱ7诮!$ߓ&)ђ~V37@=_n\71AۃQn0O*;O]_|q]kUp. -VQV_EJRF}I^!)Ww:ۍ/kty/^=*=/<_! [ۼt -bA*.茅2+:Yh#EeȪWFNFW.˭%BwUDe;rJPEFnHbl0|#-"i6,&  ˶VeXL FJ ـ/$1۝hOuj:6z$$iHdE)VD%=Z'o4WF"p s -A-}r墛)qOqgD B0Z#2͸ot.9BE*%AFBLt6]%')&Ad :yY3ECv,Fb;kfL;6Wv51Nc8G>\cpYKGd&2v X8 *܄ϔZW]6[e[_:#!_=eҦq`O40<\`@֢j)8˭~>= -o,x)SWz;ي_?P;x͌v}ݻ[TmeV -Yv.wvg@:TIԢrѷ0V@{|o] dqZrRaI3,uhg]<\ wyubd jp2wĂ]8̌m˧i7t{uQ/m0l.E']9ݠցf8 Z;CdZ85 ";::0fXJ_老}A[ -PmBG1@Qa~=!Ʒ)*So@n^o:j,ߩ9~qx)Bvp_skw-PB!~ PNfxQWW 5ʕ .4 vJiZKdEtW]"eU˥O%܊zؕѡVەܬ*K\;_+@DtغvLˠJ% `S {U@ \޷$$47Hė}_V5&9NoԄŸsX׵btK{ -=Ubk W/}lx5y?h2~:-#~.$"?Qbzb?51B!~ #s LI1Ғm%Ux8Kk$]]Iʼn[]AmgmoNKzAt2ÒWdw> -endobj - -18765 0 obj -<> -endobj - -18766 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18767 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18768 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18769 0 obj -<> -stream -HWmo8_A -_E]o"W/([NԵ-[P/5b+zprx>[_2~ѿ#+53JRl#Y]D}M$Xɢۼ-/mU4et$lL™cb23ESb)LHwwmYx, j|(Ū-W}`)#ʦ(xp(ω* 2#j%0goa 7#gki w9;1l3BCU6 -6@ ͣ ܅c$^%^^^^5^5^   S}O immm>#g`>Ь DmH6 -cbGͣB(BQ@P-y>P$Tm"TmET+ bGJB(BQ@P-y>P$Tm"TmET+ bGJBضZl=P-yT<*dm"TmETbG*B(BQ@P-y>P"Tm"TmETbG*B(BQ@P-y>P"TmH6 -cbGͣB(BQ@P-y>P&Tm"TmET bGjB(BQ@P-y>P&Tm"TmET bGjBض Zl=P-yT<*df;vetl)ir]b35 -\')Wn7P,& -qYVev0Zͪ.mU7ki:;I 4jP .PZdf<|(|S%PJQ+ᬘ2ҽzb-~R-/ P8c]J{g lcK]o*Cf'4n#uWO?> -F`lH>T\C!A)\#c@p:=I <$ 48rhݼ - &Np7WmY.Nro2(TeӉepIN -j't>˩Z -Q"Oo -ڷiGݦj-u'(NW+}5DA/i?>]/xCy'n U2:ED8NJItU;X qQ1t՛P+N:PIl&2ĿI>f6.paBU2Ff:pd&/;1Z}[n>f i"B0I|IlP&s}vBĽ.$|>]M{W1aMg:G#Wӹݑ<]W;JUґ.ʦhW-HR$Np. #r +ۚA~ 9>4F񭦘\Wp9kn,3,^u#zpK:C$޹bEV#Zڟ~<,u؏Y ڄ[#B!X1}:lu>Hp/pȩ) j%8 IK%:hf{'<?O%6NL -'[~-e\?۴TRpS|#.AJr|sgȃxy7g&:NTtjWIfE_No.C˝FAߵWf:6hwsYKIJ^Oo(ˬE..y=qdi*/~HFz6r' (z 'W8޶q |ϯQU|H"fMvL, n~?RDRݓ(r3o:~GLvʮ_QT싼-29IeC˧[\u7$/-OVhsW']J nj,b_{^k*^VϫYP W8F>)T碞2 cީRg@@^x6kpWz}եZ{`sir)6bsC/%&+D@nP -QBBb4ho?w3!H,DmF ^lir,69Zݹ?#9m\^ˈ|tg - HT @\]7],-`Z/u]<,Ym`D`xٕdybĹRƖ -IEN0x; Jy%?f{h@IiM MR 7%͓?X-;5y.fS6kZ,ɉQ,TH"xuKp*0 MK0џw5oEhT*^SKyٿݷw7x *RE9'1&+;k_[ hI%:Ij>{'"Nʮީ&Q L4[7c#z-L Ϧܷ,:!m۬,(0}9n?}ՑIhzj{2OID> Qh8 DQjBUϪ;.*59vtr OJ9DԌ2 Xj˒'W`~ ^՘y -кب 4zCCe?_ם YVs划\PɂDcޫTLfHBJpD7s|r3:x<ߓ}6 -XbzPT= BW{6. 2A&DMY141~^@Ɖ6IEn> -endobj - -18771 0 obj -<> -endobj - -18772 0 obj -<> -endobj - -18773 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18774 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18775 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -18776 0 obj -<> -stream -HWmogq8.p㤇4=+M(dYvT˒*I:3%%KH$w3gNO?=q2(j ٔ ~F7ϓl^OnV1[MG?z|88I "b/&Yr \>"3|$2UP߱Kv.>|-Ki 2e -nɂ/R8GjXq3!%.WKY%ΰ.+Uo~J [h>g>}, L1s-t1/mybڹjmt,31a5Z:ZGPiE%5%5@#3»sh@/-Oil7&@S|\0%=g̕Rk땞3P* ;-cb| Ӱie~-˲N E@[XPSFSϗ7N[71(WTIYĂggmz>OݼJzwdBCE`z\D:VUIO7U(x|s; '_o?'"Ti:tXO꩛6n=}h6fGn#IDDިs88X$ PD*0N|#5?x֣ݤ/Ky2J3,K )KBM4tvZJ{_y%;6ɃGz8E*wߵi٨ZQc -h(#9.ȲPZ(lv?CJ36[* S5~|"7kYDI s>vL # W>;Tz9uO/s%E^)?os=kDbR [U/G#RoQЊc׏xV.<ƤyʓJN8Ki=e]}ա-(uq{EySAc0x,I'#c=:>h[,}#ϘZMnL%(,7Ĵ*$H/t#A ™[ - *>˄u%XSZIWQ1jAן$*r=L7N?a7%i|3-q'4i̠5sŷv{(h^`~&!WRetZ;T<-B>NQGpp>[z)<{s? +} wπg؀= ğS"j:{ᛓv(vg'4~& )\h𽨡tPL1_SBcdsHľJRRE[OS+6t|C=>`JvFXBuD}O.%v'}-< !9Tu0ZOcFK)rob8GsʕZ$ q7d=d=geÛLDS;&g- bv q%!_0j`r7$Cn2|qh> ȆKRSps k{Ȫ| qA!g4I@Ja[d]SaJ*Қ -a AQ09{Ƃ;ŴKQll#O*!X -JIoafւ$`I-zGoѢpCZkݣ* HfOT -#;&ݪ@D3##swծ±vmke{*7b>hBA2u,<9onGWR@uodX7#ĝYɆP=$`qLOsNd~.B"*綥FUWlm<0X}kQbu0PI..i[CV}Hz -1qc]&&| ^I} 92>U^OJe0|DX-VV=w1k+Z'4hbZ&l@p'KԆ#<[;N\ʚh/ AtT3:[Tą<.dSCZf~,yZǡ8w,sYDFV2Ǩ]jJQ f'ؑzWWhL\[$tHOD/ n -f{9L< -aq= -cl=dylˡL=XI6w 9Aq]XvOP8\ۡ*l#zi~;ǘ/M~uċ`) %z;D f>-Z r{ -,Kh`-D=_`m6{^McATRʂh+(->(tU6ITT5ȗOM3HѩHM#Fv iY1%F=H u|*3d.]ՏMxjܖC dl:[QBQ RÚmxSuf;ZҴ¹p% :ծ4َpP7T~ȐaDQmyMWK]Q&]UOȖ,XJ/а)P-7M] tOQWխĩWafٕt@rCNgoc p}`U2.ܻ޵> -endobj - -18778 0 obj -<> -endobj - -18779 0 obj -<> -endobj - -18780 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18781 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18782 0 obj -/DeviceCMYK -endobj - -18783 0 obj -[/Separation/All/DeviceGray<>] -endobj - -18784 0 obj -<> -endobj - -18785 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18786 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18787 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18788 0 obj -<> -stream -HWnH|'8-/$!Wl0,&`#Q6({ݏsxs`Y.VWUl_EӪoNͻ$(qVFeި](Qfʷnm6R5U4٨}fɕQ**s5F岭Ꝛ2>X'nnO/s̎N]οK#8iDpucl"X#?|?btw6^%ÿOkV* -6ƃP6 - >GSN@8IlbQ XIYCX{p so{[e1Np{/̽{ =s -S>ܧ}&ϘLp1>cs}=l"b{Kh-ŐS Y=ŀ%bܳCR Y{Z#bܳZ!KpZkR Y{Z#bZK1d YkZ!KpZkRlYCwO1` {!R Y{Z+bܳZZ!KpZkR Y{Z+bZK1d YkZ!KpZkR XBk),=kZK1d YkZm#'b),CwO1dqZ!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%guBk),=kZKmR Y=ŀ%b),>S1wtFol\:J4 j.'mmUUIڛr8m_矎$][\7lߔX]5ձk¨3wp=4Go' SYs{oq47ٕmof1Dޟi8,>(fI1>RSxn#{䟭:"aeA['ܭݵtS-oTX=uؗ> *q:AC LG>g-\Vݬm~8ɵ/nb^7dh~1s Ֆ[ډ30ec?7vy͘:=EuiƦo1d) ]MD[OQaT.d`x7y$:w쩋ZөŸZX0,{y 㛢ح#Ox's9}>P6irl ~oheǩ{ Kq:A.<Vr=zNjӇ 2=xW,6\p92,!ܗ^U᤬ Yp2Rp??5+Ym1S};~xECVAgt@RHaӭОz8X-,_8ɤprWlptjb?iOxE_ap/[aWޟ /X#u4)ɗ+~p]ѥr)nHWJ{菫PWv^GxW?{=d`i㱬K &cXl ﱓv lq7p—$ck3_cфN&`".y?4E}W(H0g<" qKN\AahWiNfsI~rኬ&}Zx9+tKr Vr - WX^ -VBaU(BŠVRaU*榹tq 'u V2V&XVaY -K*O,%\I]k>Ks 'u {a.Rr5l%XJ퓺8)O,%\I]k>Ks 'u {a.Rr5l%XJ퓺K=װ}R`)O,%\I]+O,%\I]k>Ks 'u {a.Rr5l%XJ퓺K=װ}R`)O,%\I]s 'u {a\^oT? ^L -fqe4Wvd8>syKLίXJ|ޙkAݱNSrNlw3s-~j(>]u2tHɝs;*|+ⵃ57ɶ>W2. &A럎Kourn'r}^qg\bm̰![ -]Xı"v\{|1=+*<%sw=V9iyȷ!5𔿪eHM8$T{zNZ]f a$O;}m;}5YaZsgsxlK\tzߜ@/wÛoڴ!~$dqvLCC^|nTmW򋷛gx.$Uን o7>Hn 0Jendstream -endobj - -18789 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18790 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18791 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18792 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18793 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18794 0 obj -<> -stream -HWkoܸ_A_4#GhE4z  ECHSI})D^} y|xyxsI]Rv{77oY^zM'/_$L2JR):|dM}Y͂_M{hXWnmp >(`,s=[] u۰ 0̕Y~>w݆a{>~ s*N#>E y.7o oue d$#1|޳_bcA!H({ l۠P.9H.,:>s_Kꅧ^ꅧ^ꥧ^ꥧ^ꥧ>!'Px^y^y^ySB}O >#gPy3B} >'P_x BYNŎ \bջ׺|.,_p!PVu1d= -µ.,µ.,BZAŐE\+׺׺kZCs \b"\b"{k] YzϵpIŐw1`u1d] YzZCs$\b"{k] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%Z; ZCŀEŐw1d] Xk] Yzϵ ZCsmBŀEŐE\u1d=&k] Xk] Yzϵ ZCsmBŀEŐE\u1d=&k](µ.,_p!WbQQ E:.g#?\QҴ`c9PS͋" 8}v/A$l[KQ'Spw'e~ b'D$\;m+ZzlM˔P+"]fùkںtg -syRٸ~(EIMeW_=>{~cWnX0]\:" d8iLGGmf0Q?ts Dy_T4; p̜}$b=|G1f!#0l1S82Qz'# fivSsvk6UJ#=Ǻٳ<Ԛ][9^ͧ0>P?pecU{sx*gm0,q"Mq<3ֈ$Oyb|}cuC[uEXÇD!b%=vV uob@h_'Pl!tT#|?=[!0Cu.QÀ=ø٘B`BF/3e{%~*X.g*spH"ѼDzm:~,dS! =ށ[IwǺ6W0<#Sr-ZOsz%|f:&B^j47U D9*I8nMʇuvvR b}^K$'>i5.v#ȵ1.Q -.Ks;bkJ{c y~J7c)2NS{@ r[&AE[(bޒsv -,t0O)~ j GO0FQX!B8N<'0P]vHJ2Uڍmd9ڋ&!g;esI}Q9ja9%^S >/Sq wIcZb1K$ڲ>*30LP*1<'aA. a"#?ʺSE60wA_^N6cGQh1<4. zGwGiWT 2hx"Ի 6Yn0kr7 xH=7e8Qa"MeNS-S#z1UUCd DaPϤoP"~mm᧿dRrsny>Č] 9|L.b$3(MW5Ig 3 -R7NBbj)=d[zUVջ~ETcƑNtHc]\o_T A1!6!17룑ޒԡHxn#HX&b|D3X|Lo&e5,ss㙎xBb;$Ht.,\ ^{)yrw__}Y_)/pb׺ŦE(cn ${Yu:(. ځZ]&Y(d_E1x'u˃Y(%c4t_9^2pv v-(00N T(œqGj @w6ud _޹0DcCd5a!Yt8AuMHcHi3GEqߔڿ؃d e9r9$ӜU3^0(KQ R -wv߮0(s:ew18fYIxo^59MX7&CI!}BẶɳſA=j8&|̹y$#4 Oe -BfrԺgn5^]![>ukiO{_sS~UCWmZqOWm`*endstream -endobj - -18795 0 obj -<>/P 665 0 R/Type/Annot/A 18796 0 R/Subtype/Link/Rect[93.6004028 409.169006 284.184998 428.848999]/Border[0 0 0]/H/N>> -endobj - -18796 0 obj -<> -endobj - -18797 0 obj -<> -endobj - -18798 0 obj -<> -endobj - -18799 0 obj -<> -endobj - -18800 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18801 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18802 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18803 0 obj -<> -stream -HWko6_"a7: n ̇bLƖL}%ZAJὼ߫oO?}a3IÉbVHuv)kEY-kա~=t*`s\/dFӂÃLɂl[f_Jhv++Dj޹ţ؅}ە掙"¤&Zw7Tm#K c(P!eiA6Σ* Q%Ay>u gQU^;>اֻ L,[DrRBL!v'K]L%Sp\R7se^AC2_vXQjqA$[4ku}u2K0sY2٤(ŅHQ֮67L̍} -*o)DBLڅާxگvuOBTQ4TBRbRrP`5.c -7:^&9U(=.UN)N F=l8 M /v4FoWaP׵ˡj{Zԛz=y'\Նd)\eũ+_VUc? -(A*R:VpUWW[HOqPV"yA}7M|Qƕbis1`;4fDDqm/:! RSW_AI0>3ѥ_C 5tS<_Ti'xLm@oԂH@C8qc9D/庋r бݗ9/RV/!w)chXڨT'ǜϿpBL/ -#\S&ߣ(B@SUA2۷G_ͫ+eNP>Q ئOSDzǀ0z\1z&HqE7dz4~~)"V+ -c kg+:O~0%W')0#PC2BcL/T K<Ψ21rD%ܘ0Y nxTEzG0,-&g5oRG@lYORq#L?2틓fd&E~8*9f AcK]\|ZMefV!zM:JF HT?=HX5d0 -w  2ݜJSMMғb5q;&dQ5f ָ`GF5f\j̺Ȍo53= XA<u֏{ zy*eJRNo`L%{Ѯdƪz0.pJGluHdP횈B>3K>x9\›xFrl5v_ -+ >ff\D(]N!skUFr& zRdT;uz&Ш? Z6j3wٟgNL!n08xÙ'U\^ WsM8EMq{)!c0}¨/0,Lؤ@y .s{$d){}c-;RRkB8'xYj]⇤őϽsb fnKM<a>'.x`)zvAhips)$ICڧ3J eB$xA|8OnLQp'm0^hqq7aCuݼ/>Wpcr1ivRnf%F=L?e(.M'e h"5 Cb^u7 y0pӝuBKG8| TmW(Z|QaH>zwTNЗ%q'1e02"*I"ݩmN U{+HsRJQ -GQQ5FUA(ĨVtRNЉQf u4jt{<:^}k2[u5ENNxxۂCմ 0de endstream -endobj - -18804 0 obj -<>/P 688 0 R/Type/Annot/A 37668 0 R/Subtype/Link/Rect[130.078995 539.020996 376.951996 673.916016]/Border[0 0 0]/H/N>> -endobj - -18805 0 obj -<>/P 688 0 R/Type/Annot/A 43592 0 R/Subtype/Link/Rect[93.6001968 440.627991 199.356003 460.308014]/Border[0 0 0]/H/N>> -endobj - -18806 0 obj -<>/P 688 0 R/Type/Annot/A 28349 0 R/Subtype/Link/Rect[93.600502 296.627991 215.735992 316.308014]/Border[0 0 0]/H/N>> -endobj - -18807 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18808 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18809 0 obj -<> -endobj - -18810 0 obj -<> -endobj - -18811 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18812 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18813 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18814 0 obj -<> -stream -H|{o秘nR%NHdmԯZ e -E9JKR^l~KR޹Y3w73ܯZ{7^] -[˩oq-'S K(SWx6 cnWuNmQf.D142>$vR8"LbHDPSv(hӤΊ\ ҳM'ShVahIKMiK]USgV=۷C)Aݘņ *:,)~-nwY<>b-HΈ5FQO{"ql.}:qt1.qTdK-dK-b+-b+-b+-ˤw.{LzOK1=-Ǥ>Lz_K0-}>҇LPK2C-}Ĥ^caΐ TCjbTCjbjbkJZjbkJZIQ+j.ZIQ+j.&Fdj.&Fdj;C1R ]zzjS ]zzjbk*ZIQj.ZIQj.&Fbj.&Fbjbjbk*Z jS \ TCjS \ TC^e.C-PK5t15j]ZIQ2R \ TC^e.C-PK5t15j]ZIQ2Rmgx TCjbTC>(r ξ&;clL7F##~`[J;|N7Yr?|ƃm'e<şX/W1 q; H\6[Q+xf_X65:iv_}sud`yX|ntx1ag(ˢ/guV">//EY0Ulr*:/-M2*O*H.lRԅ`LWQ3om*iK rYէ`섰Pӛ%safafy,̒y~h,MfrU]~T ۴/c~|=9YU,]dW=[K]EvHJzjQgיKzVxxl"G@rZ]}oǺ]'fY/L.EqA$NGT.8 8aoY!|@wzܿ\ݬ0J#^l-#~4oty4\]g?$  gӡoR  CXί빾?ngO?S2+^d0v1 |tpDeq';+q]ܜYsl~!Φ3stoqG=w} buT0iEԡdFwʓmJy϶yvg]Y8[;@7OUV ]/wӿ1o ?! -,Si ~Z .ם0j_ sPc2}1O_JC;kno&n S\<+ۋ^dJau/sޝ ٦hW"4xCe~y}81 .nLpp+ٳؘL 氁endstream -endobj - -18815 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18816 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18817 0 obj -<> -endobj - -18818 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18819 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18820 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18821 0 obj -<> -stream -HWێ}W0 `N6X 6+Ìap4]&M~>UHTU˞Ӈ4_}vmϯ~\r?ʤo}J͋T>L珙ɛ<{zUͷv55|d~h}v=^|%xS@3/tch&zi#ǨN#yW󯝰;:*sdW <Ӏ"c|.02l~ȍ}~Yy\T6.RqY -8'ю(,:"ލ),+̽[ sw{{g3Ap }> -#s/s_ })/Rp_2Ip$g5Bh)άZ!R Y=ŐS XBj),=KRK1d YjZKH-Ő%gBj),=KRK1` ,VH-Ő%gBj),!C -,VH-֙RK1dqZ!{KH-Ő%guBj),=KRK1` ,NH-Ő%guBj),!C ,NH-ŀ%bܳ:!C :Bj),bRK1dqCwO1` ,^H-Ő%gBj),!C ,^H-ŀ%bܳz!C R Y{Z/bܳz![gAH-ŐS XBj),bJ)\b]ϳWs&?dFw8Ϊq0d*a7*мǍ -^ Sauڣ}эQƺbt Vs>42ާHs*d - p)[UI2Hd"S4jnm߼~dxCK 쎫[.5Tp<6٢/J#jel9Pmg5llĄ!/tZ=ؔ^AlI.u@=sg \p)Ϻn@DTj3y]mƳ@|q%(]xGƍNρ;ek#p1Q,NTofpIڃZ/}샀Z:FsY媧Wc+uW8gpqBiCe'?p|y2=lrtbg @<|P *0d%Ŵ噖< -V`ZA -L+ -ZiEA+2B*V!hLJU -Z%JVbZIJT .6E1dq-ZiA0-+hYe-VV{!Kbuo-VV{!Kbuo-VV{!Kbuo-VV{!Kbuŀ%=Ő%hwBS Y{'=Ő%hwBS Y{'=Ő%hwBS Y{'=Ő%hwBS Y{'=Ő%hBS Y\bbX{),AսbX{),AսbX{),AսbX{),AսbX),E1` uO1dq-uc 'zBw /p[_b wZ-;G;eMk6*Gƺj6oJR߃;~zguW¶Q~{Ss }{,m _A8\"DlX`qc^ɐACJZKٴOϜ!un^od'cݲmh0RTBrTQlq]M.Cmw]MA#k|`m<+4˹epc(>woaOprlH~\}zƎe`3]-:Ui^Lv -zuRtb?tu?5ܻáemwr 2꿗9c :+,lJ%uO)I+]<)k1͕X5^dg|ퟛ|u$ҐEz7̞}>6IP89[4]o&"_J צ_Vy%X&t -ieVieViViViViViBDZ2%le -dka̳b-KZ"$%#-IhE1YV{IcEhE1YV{IcEhE1YV{IcEhE1YV{Ecka X1YV{EcEhEW1YV{EcEhEW1YV{EcEhEW1YV{EcEhEW1YV{Mcka X1YV{McEhEׄ1YV{McEhEׄ1YV{McEhEׄ1YV{McEhEׄ1YV=<+c̳b-˭z?cF|PL 0iV*|^4 <>J(hWryM5ʾdJͥoǎ:Vc}t5`4Teߴc a]_ ۻ.Џenxwع͘Fs#S`nN!mհ2;ۇ E&ϱDfCZ`f\.pΜ@'Y`ٳ~7hẀvS/zeٟ4Bsyw<0QwF|õ\dL:WV泀n (1H`7֨{d --SPy78XJqXp_ƥDsD>;;ط݉Ci8+,Nj[=IT^a9$rȑ4CIXNŝ8Lg\;᷺?]ٻޏp smS{^vC|1ZNt7p|Vx߃0pKv`$Jf>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18823 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18824 0 obj -<> -endobj - -18825 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18826 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18827 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18828 0 obj -<> -stream -HmoWLICq8m`xMĵUZJJIw(\JL8.1,d&JtD+Lb\﹛o|Ɋ -.6246IZUv|K>uJσqP[ӌ\L| )`/G ?ͷݳ8D\:3g,bx$=k/58)9Jιok@ ½ ½K½K½K½+½+½k½k½k½DŽscϽ!Ͻ!Ͻ!}BO< >[½[½YNk@Ś|XH-ǚ|XH-ER+bQ{/H-ր"R5G -"XsK R5bQ{/H-ER+b ("XsK R5G -"X[H-PDj(=PDj(½ZIk"{DjZ9pVŚ^j%ZEk"{Dj(½ZIk@Ś^j%Z9pV2PDj(=ր"R5G(=ր"R5G*"XsK"R5bQ{/H-ERb ("XsK"R5G*"XH-ERbQ{/H-֖&R5GZ9w5GmhU,_4Lq6}JM6Yl@\,ߌfL[t(P4*ӈU*L!m{YӶ6֛fT,:* QNt-/Uo&!m2abcoF|VhTtmŅ -]czTA ZcšjBxAKښjrCYj~9mO~լЃVS]x.9%sϹ,f齀mU\Vc:5{f'l}+i=VI]{nED۶jNS7q7Gp5 HxsBt$:4]v,'RB{uF܌? fwmsX9h- D[ԫoyEɛvTh:YYn݂ip&ooe~xƾ5Xl-韈tҌ;=7(ܶHWU8<M>p<z3{-ViS$!숦{*yq0I[ӿ{`Oo $L&ػ?''=c8mF3:dd -颂0b޳tYVmcgK޶'UH)e׍pMP,Gey,dL-I"!¸0#h^XMѳtnEXjHpA ْ΋q9[hR®BC2ٓn)tݓkz'ГDt)ӓ]>gv: dEm^ <[lۨkU;lmQX؛좑{*|jtij@]49g܀lw>ޥoG}pa| -Hȸpv.s̀lΣʨ3P^XFm*זw=8cZ|!Ǹh-Ε{f#SC)?o6h᩵rG~8 u#g}h E_חDcחRN쒻M8v/U{?'e.<=8-Ysɇ.D_.w2Wz~q}}.>]]ֿ ?N݌;N3nazأEtKg;b@:;?<iU[?y"ᩛP]^N?ftý:]L/?XhTendstream -endobj - -18829 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18830 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18831 0 obj -<> -endobj - -18832 0 obj -<> -endobj - -18833 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18834 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18835 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18836 0 obj -<> -stream -H|]OHW䂉RՕJQVzA+d6(wIh|a ֛猟qVa7oVN }GMrS Yt0+t*eRoyOm?4m=F>[٩wZ҂Z& P5!Kr([u8z ,: AÐw6? .ٲ]_fW秊QuB(uYm&n ?(->0 f -)Og}3>c`1\ϙ}.̾ f_F(-Ze )nOH RܞfHq{EJh-͐YkZ!%سZ4Z!%سZ4CJgBki)4CJgBki`Zk,RBki`Zk ) -YZ!i)4C )nOH R=kZK3{Z'fZK3{Z'fH Nh-"%fH Nh-͐YkZEJh-͐YkZ!%س:4kZK3="%fHq{!i)4CJgBki`Z,RBki`Z ) Y ) R=kZKH R=kZK3{Z/f -BkiY )nO3}įuޕjUK kU<`BM ([e׻Yx~78?PA{??UYXmhnjs9]n"ϓLD跥\XX UwSx[ú6 K/^'^~ktW^kXNkF_۩N;ΛFisV;x~[?(ΧGkWu_Q|~o{O 5l:POdƸxc:?m5&a{A6&д >Ի}o7~!Em~`V?:MjmM}Xyk<$7ybK>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18838 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18839 0 obj -<> -endobj - -18840 0 obj -<> -endobj - -18841 0 obj -<> -endobj - -18842 0 obj -<> -endobj - -18843 0 obj -<> -endobj - -18844 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18845 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18846 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18847 0 obj -<> -stream -HWis_#x.KTʢQHRłyԑ8=3{3͍ұdo_yg&1O<}v#!]0i̙s?}qtC\bWŮ~Li";ļ$ s&1c>]JIӨ$TrJ)&^$,Ĉef Y)`Ij#r{{+ʽr>()p*)p*)p*p)p)9p+9p+9p+p_(p_(%p_*%p:kAi%6hĘKXcv/1fi#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 WuFVb%F,Z1K{ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZMZ+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĦQ -Z+1fi#hĘKYlhC"dM> &2(V XJ+ -J+ZJV2) heJ+ZʁV -U(hJZ*V)\$,%1ެ-,вJ-Rw oֆ,r/1f-{r/6lRZ cRw o,r/1f-{r/iȒZ^bZR R  R  R - -R - -R R R mR m֒xTȽxTȽx+TȽx+TȽ%h{K>R wr@%Ư@K>K_́}k-1KkI_} -r_eYПޏ7iT5TQ&z3eLcit967G.$ۣ7 IE}Bd-!|.̴qܶԳ際y76.e|tl^Ϛ/KEML왣z2Y.o;=MiS;2Sm7kf˝t䀃=sscv21d&]n6sހ8A+I9 [VSGWgI;B>?{ee82>kNj,Z8/hPТM]F\S>.(CбG`,CR҃I4{לJDi[sng[gO;u>C'+N}XpԺnZoflE,t>ľSG]3n.6؅>]㬷XyuqgdWMLo:1ti͆+O9}1(S]ώvVpMU;J=/KW X|i"4}Y~{NĶg'}j4My }Lи՜éy7 f3nG0l"k3D{43{h.E'*TƢl}AIJ=ѴՓ)->PB5+K]fFi5& pJle\wta9`_M|5H 7H> ь WmBdqa6㎩jz_whqa?uӐ ;Պ] 0eL8$Tr}gLC+A3|O`Z~y|d%4dvI͛ %Q܂w:X2Jvs4"591'H; !*й`<#rR 3ȝd 5] YȬW1i S<ңB<X8޾xRx^r'R(e,p(gP?+5߰!?7kK#Xk}|SBjXA?c{꼰x|2 WB}hCO^c4Ž&s+C`->twYdنM'X4 VMִ<KPר4 - iۂV|HĚB[m#5 -S2u ~I-sl2u[H ?~P>>=!}EWV0s]U60Z7| q3)Z&V:Y ij[}Ef2r]<`ς Wl d|uڿH, - Ƣ(п #5[ŧxg*ʄ+䍾y͗Ż;:dY:}A63>T|yM"N-}) -a:.̋0٧.z|5v) luRakX.2ĥOt,^D-` 쮴a Vo2~تU , ό`܂c},ƻw\)aLMhG___`+>>endstream -endobj - -18848 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18849 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18850 0 obj -<> -endobj - -18851 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18852 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18853 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18854 0 obj -<> -stream -HWmo8_".ضwkq 4Er¶\͈, hD×?|B_~yUW8*#BǙyTS}H([ʮZjvͩWݩ^S]U⡍^UYDI‚OBm W* 'riv뼈8ߝOˤX4midEj38X4Ov3sbdjiU$C D:VY$Rn')6":U -d}daF6b,$R jCT8*IB!*eP{ Paaaaaaoao)> ا 4`2Ӏ}ư> <`3}ΰþ "`o6`ofFԶZjCTȞŨ6D Pj Q @Q-!aV16@16D1*FԆ(}ZŨŨŰTRjZjZjC>PbTKmbUjmiFԆ=Q-!*dOm -SRj5ZjC>PfTKmbTKmbՌj Q @Q-Q-!aV36D1jF(FԆ(}ZͨŰTR>2j Q!{jZjCTȞ6@16D1FԆ(}ZèŨŰTkRj ZjZjC>PaTKmb5j Pj Q @Q-!a0}26D Pj Q!{jCTZ#$4*^%Hjɸ(XE"{|g"ˬXŝ2K$ *W)l1?.X^b=Vq,OˤXTPA5}AzHr"\g<*:0^1AKAw&S+a%'@&MuuR7g#r,iqٔnPyxt ƹꙑΫKakux}N *ޯ@ŭ{.VϢÃtNhcٍʷ½M8/1_8`{LJM%l}c8S[G4w?>/rPJz>dtp;( { n-dDcg6X3]^N0dA(8E;2 -ʑL޴'0iCb1w{aG r}qwJebo832T׳$C;߶O1Kqyӥј n&xęi~߉iODP`~Qg^d-:Q}aEQL! -2u$QRGU)>Z.  䱪/h"ͅ&X'q=3oK.bew-f/Ö?;JJ9[vj-G_qλKD,6+5Y9=ZjAK ZVubH B:%UO$ȒDܗE.#&JIL/HcB^VϚ'{~Վ7C'T073hjdMb|BcT@Du -"nlÿ"4Qt !O~aӻWPendstream -endobj - -18855 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18856 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18857 0 obj -<> -endobj - -18858 0 obj -<> -endobj - -18859 0 obj -<> -endobj - -18860 0 obj -<> -endobj - -18861 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18862 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18863 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18864 0 obj -<> -stream -HWko6_ Ň^@ MQO7:A zJ˗!$g{._a -뛷acR?aZ8a8 Oa$c@: ~M5Oon4Իp4|7jKҐۇI K3̓"ܶADlhFh˻n_I5Mm5UiW޴n~hA\ml?̃iNaqy-Sw ka9$I h»/Ie1Maܤ6(3 n2u9)IGr1s1`LRj'bzꩧzgzgzgzzzO>EԧQz3D}>GQ{sD}/@Q_zKDYڀ"u1ջ׺d]L|.,ĵ.&YzϵqIs-E\bB\b\K׺d!=Rĵ.,ĵ.&YzϵqIs-E\bB\b\K׺d!=Rĵ. qIŀ$Wbw1`!u1B{ek]LkZZ,DZ$ Q﹖!u1`!u1B{ek]LkZZ,DZ$ Q﹖!u6k]L|.,ĵ.&Yz,_ qIs-G\b\׺׺d!=rĵ.&Yzϵq qIs-G\b\׺׺d!=rĵ.&YzϵqA$WbB\bw1՗qYV&3 ccYh=)[cT;I'1k"|.RQKruȉfsi:LQn*7StI=W -,uܼ]J$<I:-}9Le"totܿFۏiczr$vbh{2_k7v}5UCCXd.WQM$0el_Ө )h,_謣HjeqZv(4NIn^frs<JPENC#dJ-H X`r(YupUe}8>d -8$)z@ܯeޮQHMO{ׅC6]Y5]~ C9{~\,S!j]=ѼK{Z-WYopqrB35e3.qO|*G=2?.Grs?w s/{,D^E+gqeB>eRbI)iԅ[˰RqDm -͸CiLdm8J8 Ȕ`mӲ`JGd!\Tl>o19[sǽOM&. -=V1 ]lS ]H=g{V$| r"7m ݯendstream -endobj - -18865 0 obj -<>/P 684 0 R/Type/Annot/A 25898 0 R/Subtype/Link/Rect[93.6001968 559.229004 184.404007 578.908997]/Border[0 0 0]/H/N>> -endobj - -18866 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18867 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18868 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18869 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18870 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18871 0 obj -<> -stream -HWk6_20ш=( -4&4Al &AزGYKr%y{Iʖ&:>$]ُO?ݾ{,LŸ~.#`2f* BL)*AapڗcPuju%wCtܮG9bs1`1 Y)r3w1`qB=sB= B B BKBKBԧSSO}JO=>gSsO}N=9>S_ O"+O"{ei] 8ZCŀEŐw1d] Xk] Yzϵp!P﹖u1`u1d=rµ.,BZNŀEŐE\ ׺k9ZZCs-'\b"{k] ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d= -µ.,BZAŀEŐE\+׺kZZCs \b"{k] $ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%ZZCs$\b"{k] Rµ.,_p!WbիX)%u<]+;Y,8E}5 I^D<usWMՎXw6XơˎhLξۮo_V*iQi,L˙ۭ͌/XUnw9n_50V}yZK2 ҭǩu9zmu[ѳ݃zXA.q{_.!0!C/[s4{DZ:q67Wx|!c%g .Fawm1PmQ]׎ b^IG/(Ҙ;dI"y@v?KL}<zO\ONCQvu4q252 qt;˔ף38I7bvIwĹo]0!yzG,&AΊŬs0WBi#3@]aD^C) 3nX0tDÔzt=㽉́@8x~1zOۤ4Cz{Zl*pV>ŬfsDmQw™qqӋUOόg1 Ȩ7]Yt$T|8]?OpV\8撖YLxB -Ld} L`ԴMf#\t[BtQ{]w~GfPX囗nQSF`n?!ؔc9AO-UP e"lWxk1lE=]%ty~Rp5 %c(L0=]JnKy {y?fc6!~޽ >W鷁l[LǽdҋoF*7p cgMG{wm=VmlbJ(Ӫ *K㒬X9T'\: `a"/ѭ~\ 9;>tdK5RA5ՃTh.,̳KP-?uNo 4 g>8Լs-lѩtJ9?6ܴ2PeQyiwƋ')į`SoqqU?`kqoB,\s#ܘ^,Π>u-_!}k,\IȝW?&PB~i6>|mc`d&l71zW cPm Z Y %ג7䐢IC 9y}fE>六; 1L'ߢ u{xӇ_72kB<GyW($5)uNL^%9ѝ LRssf㹖dzF_FI@fٍjQ7cG|3W3- X;H:ǩ~ q^TNu;H\KȞ'/XD<+.u7t͐[d3 $YɅfP79A;&$Sd-xnzkY^E8 -s'b C2z8P -ފbUv8g2՟D U]B G?;t}N /SXzKv^OݶǢNuIY -F~M&EK"x8PaB]W dP/scC8+,dlY&6:تjadMp'5-7rfbW1*IN1BmCv?uٓxLu: -2+;Wz -(Fe~)I1L$y8*xb+ -,;"#/MVz$wE+ڞxƱ﬿;Դ0x:4R.gӐ6(Ělg-xTArőrm<\GIp- GyBIlհQI!2g[8Bw94,;7E/qv{۝ʺf<:y 'Rv|:ec?opZt,M隍N5Zz?8r{ki#H,^ +/TB~ d`C`0 - $MǝV 0Ɋŀw_V͘Pm󧧿ݠNSϡ~B"=! (7Ըk.N.á%.8 -|Ʈ>CZ\32%!iP:6`9 xSucR6NI8qS/mwT:t5%:KuhWLiJq}٣O>|?6 0טendstream -endobj - -18872 0 obj -<>/P 1418 0 R/Type/Annot/A 18873 0 R/Subtype/Link/Rect[93.6004028 244.429001 184.404999 264.108002]/Border[0 0 0]/H/N>> -endobj - -18873 0 obj -<> -endobj - -18874 0 obj -<> -endobj - -18875 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18876 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18877 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18878 0 obj -<> -stream -HWێ7}9 ysYlal3lK"R7Yq4U}X<,aUOon~;&ط߾}F.[a6hNsX5}#C#ن5ovݩ,YinUcnI6oZXDy|̬v70,g܇{ĞVr7;,ݼUVvf Oӌ{u~xy bMW]aڴĴ5-0R -TU/W%e*l.eMJU^U^u^u^uMMmmm]]}}}>C>Cž%ط`_iV-mF-mٗ6@-mٗ6DKՖ6D+*B QJPmi҆(}ZE!`_V-m"T[ETՖ6D+*B PjKj҆(}ZEM!f_E!f_U/m"T[ET Ֆ6D+jB PjKj5҆(}ZMPmiCR&T[ET Ֆ6@-m"WՄjKj5Ҷk ҆}i҆}iCT;PmiCR!T[ETkՖ6@-m"W5jKj (B QJPmiCR!T[E!`_-m"W5jKۮjKj PjKj QTs` w`ny۶ 7.J<0g,_;e0w78ixdɞz8]q:^m¡1Hgc%|.d&Dk`І fvnS3D((%ϫ n4B\1t\o+dXop~u'>ݼVKK~/pQzJǬ k+f.Ϯw60k$+vKX./ hx1CSZqi*)'zO$O,i!¯6 \ -0*, B8*\ ^yG!dyYa bR ul_UI ϏK:D -"b vЗmA(@<؟9`KKGqm9yyAqu>oh#o"_ DyaA<+yDɞ28Oʀ9ա+\_͉bNg:U Fݩ2^Czs^/ P/Ş-JٴM{6maгx%s!s!g iφ/ن <=lݸgL{6˥g=YMbhHߧLz5(WU Uݘ+ ȅKnΓf`1=Q탂K%aŴDKJ4>sD|ip(2W 7)-m,oVqX!T+e2Y`joTUc -|Q/jQ@(wiF=;;"5#:=XfO[ _u#UٹpCI,NهBjeΎ=t^] Y: B1>e9<,1>ƹzq̣?n9W@ ¾ V)xo&3Ą@*nSȊ<r:~Y.b>voni=:ΟXPc:vMovyǾ$y,^OhQ/ܡ88(S`Q0lyCz8DhxÎ99iƸ(Vҩg)8OŽscEKaB/Ey}Q+[fm`rf~zz"RQߟ?cF;x>`A[CBizئwhTZa*9)??lX_AQ`vL^0$ی)1ݐ Io$9 ?zyduM]BD S9bϳ*U%֡(0.k5v4hY`p):O)@fGAaXg&exㅬ"R^媜KRHWO%L79~ہ ~j{6ޗ_޼woñkגf% Qvm24R|hU!EZ Cw;{FPO[EK]=&h>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18880 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18881 0 obj -<> -endobj - -18882 0 obj -<> -endobj - -18883 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18884 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18885 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18886 0 obj -<> -stream -HWn7|(/lāvaG-i ͌v.R_oH70..Yl_݁o?iHedWfN14=46Xs~qX=ojv%ۭ_Pv߼7sQ37MY̋fsbSTb]ޮ[vvهo#WzN_25tFsŞw.?v͚Wꊀu pD[rb͉G -]J YJ XR֬C%Xv)k%,EWzEWzMוzMוzMוzC7zC7zKzKzKzGwzGwzOzOzO@@HH2+ЖغQDjK YCVĐU/1`-1d*"%,B}ZEĀEĐERԖUjCJ"R[b"WUDjK XDjK Y*Hm!P_V-uԖj%,"%Z}!V_b"R[b"WDjK Y*HmHm!P_V-1dj"%,"%,B}ZMĐERԖԖUj5CJ&R[b-1dK XDjK YCVĀEĐERkԖUj CJ!R[b"W5DjK XDjK Y*Hm!P_-1`-1d"%,B}ZC֍%R[bȪ՗Ԗj%Z}1F~.ys1 l~Hp;\dus9ߵ6S^i;/wvnwCڧLY{86u5\_ۛ7n:n;0-h\^Id{ZyXE"zl0ta8h~6\+pA 9J.P#:܌`a*v9=Aʊ$^Η,k5v,8hajO3Ն](T]SAɫȑJ0Ť6+`h-o!J+8sadCaeC{Fir1߫8k6g-*86sȠxP&V0ϧZOS&~@fMrd& >3$ ^X_FekT7#xF: ` +zt ) 4Nv9{ -_!B4q0$B?,=%8cg!i8.nXk{;=Q/#A1{WZbv^෪40mZV䔏Ǐ׋âzL/ q0+]##fVFboID&-ӓG|s(%SjFG`vMS XfX꫟7TuXƜU`~ªߘj]TGscE_4̘.XFĊeL,YV,lI](;]wTeRJ(ޟ{8=rYk>g g5x?s?aR}XV?x?s?q^rȉk>g O5xzsYkK9k>cZYk>c=A2}-p. vjD"% 7䦏=~S95V6{q]834Qۊz΢ldI,xN%"@jsZQ1~ Vh14D.Wk( XAw5EJ-2i:cД C(aTLKd?Df-C%2ϙFzUBG=ٓunR Q>&|9{ -,];57|N0$SeN=@Կ\%yT⺹?Yendstream -endobj - -18887 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18888 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18889 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18890 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18891 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18892 0 obj -<> -stream -HWmSH_1 oa^T!)r!_UT - a _=l*@ZOgo%{͛wG4\z*ì#g`EEE=G=>Ҭ$DcDűX@q,b8(B8PHP->R"Tc"TcETX@#*B8(B8PHP->R"Tc"TcETX@#*B86I4Z =P-T*fc"TcET X@#jB8(B8PHP->R&Tc"TcET X@#jB8(B8PHP->R&TcűX@q,b8(B8PHP->R!Tc"TcETkX@#B8(B8PHP->R!Tc"TcETkX@#B86I,Z =P-T*f0'(94lt2T, 8I`#@ fYO8\8 -e oTJ4?77ƬJ0*g𢅱&f6],㬸ftCfM/-5ECkMXژA*jW?S\KX"&{51{&cR.Yq _/~.K͆v=g]zɺdO!J4>AiEsl/~j 2S2hiG`[vzVMVp\檲_LsE (vTk@!X>:SUnyt6踫ML#y?Hf5>&MR+/lx$"w|vw9/L`ɺ<~{2ɬOxNO**l/ dAO]}W;BxyzMڭ[Fmz6";9W;Ng'Pp}w9U.9{ ]k@\tIm,_>̧_ar솕W9d c p< So]=fY/&g>tr7gF{ `wm48mLmwɡ,BjbJXKԿ_ϻBj۹QxLgZMcv`ULeLMix'*b5A\a 9ǤJu| aL XC zBk@0jm,KfG9] Ǣb{M\{3ÙIHN#omNK[͵6xyO,|3G;80yo7T0H1ć/ s^,szM0!J(E]qMz8-hO*q_N_z7e(%Qr|z%` endstream -endobj - -18893 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18894 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18895 0 obj -<> -endobj - -18896 0 obj -<> -endobj - -18897 0 obj -<> -endobj - -18898 0 obj -<> -endobj - -18899 0 obj -<> -endobj - -18900 0 obj -<> -endobj - -18901 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18902 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18903 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18904 0 obj -<> -stream -HWmo_4o n9 l - D9(W݇$yhA:()$`[At,%aJ{Zg7½po{+[ -w½ppppppppppp_p_crX=< cĒ9F,cZ1bcEk h-< cEk h-Lj܋Zyh-Lj܋Z 5,Z 5#p/Zk@k9,h-Lj%s̳@k9F,cĒ9Y#p/ZkAk9F,^ւr̳@k9F,^ւrXhgrXh{Z Z1{Z Z1bcrX=< cĒ9F,cZ1bcEkh-< cEkh-Lj܋:Zyh-Lj܋:Z u,Z u#p/Z@k9ZKgrX=Lj%QQN߃E R+iPt",*MXE-*58y/w! /?]\<sͤҖPr^ꥊ|t~m[ltr,oU=Q/T< LdQrnV#Sh; -[UR!qoyG%<?UZ-պ5ZTzjROvI]K&> -yIelO{dq-7ZW7WeKz1mXMuZ!hޞ0_Whj1^7+Zmzdh>_ɇp7%'Oj6zQtJnTgZe4}'?:G\t!ѫ1M3V=3 -nPx/g%7mvfa -O^Fyޥw路cN_9e]o§pV7ppu(ʍ:(q] /j~^3ƴʗ?^ '~T;rGj7K^m{uruvZRnېcB~l+:pݬ6FʫO'%C-CӶOf2 wK;,__\;E"6}ZG6rW56 nA=>(}AAhL..q?Φ@5㏢#wʇ_DۻuE1l1$}u|~Ü*_o7v]LOb2dLu]o/Afuև|7?b Gj_Y=2ʩo*i:ϴu=qX` -r@ h%B+ZJV*R - heB+ZʁV.r hBZ2۬*v^heR`bpMxM/f:IU7|_ty,YUn_tbGhd+zR͗QU SI?Ubufr9ڋS~.fM -%-7fܿ0Wa=՛G4*\֯™*JrpuN7ݯn :t,vMGc[n'\_Fb9 M[5u\KSJ8pվN',8횲CZ9,9e= E:7~ӸPgl{w!B3WTn>j9m]vx򖛻/jԏVg=h5ZTG2F?+ӭJ=#ÈUr@ -JV"hB+ZʀV&2 hB+Z*V! -Up-K-Kjq̳4BK-- 2B-{r1b-{r1b-{r1b-{r1b-{r1b-{r1b-{r1b-]. Q+тc⌏@)Bj\ -"1PM1M|EZ3Z%7{Q x3jyF-=ϨX{Kxo<` g,Z%{QKxZ{Q x3jyF-[=ϨX{ Kxo<` -g,Z%{Q m=Ϩ%YĪc~YeY3ZVec!{mY~ҖSb nG[{`66IͲ6LWh8_y|-4۵[o^%Np:V-[֞y@GWy[ ?{iTo\n\1?L[L4VtPyV_endstream -endobj - -18905 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18906 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18907 0 obj -<> -endobj - -18908 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18909 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18910 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18911 0 obj -<> -stream -HWk_q ɰ>j#&5jEa U⮘PP\F{HQZ3AĒsCr{e۩gϮ|/^~צP_U;ZN'VUobuUU}omյJutUwE]*ۨ'U8W68?47hsov>.l^?xT6gyrm3`Uieѳ_QNMK6\i(ןOZpIЍsFE6CT$SHN8&v1bq,,+,ice{+[ -w½p{'{ }'}'}'} -ܧ} -ܧ}g}g}g}}}}܋PZm# Z1bI ,ZK{h-Lj܋ZZ  ,Z #p/ZkAk9X#p/ZkAk9F,^ւr,@k9F,^ւrXh6r#tϱ{KX`rXh{ZZ˱{ZZ1bcZ1bcEkh- cEkh-Lj܋:Zm#Z1bI ,ZK{h-Lj܋zZ  ,Z #p/ZAk9X#p/ZAk9F,^փr,@k9F,^փrXh6J@k9F,cZ1bI#p0Ҵq~ CZ^hyVDh@+Z)JV2Lh@+Z9ʅV -UkXjqXRc4-# 2B-+,  kSȽe =LjD-=.֔%@9F,%roA9v,@9F,1wȽ;@Kށs%r@9F w h;{шD=hZ"c4|-{r1+ȽRcĒZh{{D==hZ"c4 --{r1-{r1-{r1ھ-{r1ھ-{r1ژ-{r1ژK-Kjq@K>/tQ^_WE]QFQ1TTIr\VRW}7WgN8Yն<|tc׀i6gf}w?,fSn%j?.mr<1ڪ46:ڠu]}xozjU՟u{Y/'j1k‘l1_̿'O -Q8Ʋ_y&ڍC{Sjlr[+Oq ;]\$OWņ~=߻ˏL3sjGy`8O3X nu^|Oh|mEx}hH<&ɳx%ڏ-f /STË[ǧ0̟Nu1W:!-UOSqMXiq+$O{xX W_OMN:ǦB/S',=ɪa:ZAݱjn鴿{_p2;\p>|i!wF<~xÂiUlBw5ʧgM}ܨ6ݺ1MP g*?'go%PuVgUy,yT]Z8Zw]֧'nͥ[}j(BcRxz&'0:뭴ww,3 Yox^\V.^umz洁ˇ9mG.#VXB-/ cĒZa( -?l/_fE]*(\Yic–?~C}wBK{Zت܆%}l&UˎNC uW~:3DG?yı%M}.r{h0T?9|6nV _iN_ד@;}v'`{S/. /~ŝXg?\_d36Yى1R sg]hϚNLJ=3Z5q@_Hّ?cEmZuJ^@j{(Όg޼y`ҋ -[cX&Ȝ X УFbb,]6R jnIWX4c a] _xƂy`&f8A&B‡8@YFGX-pJ Fn@\xܥ~N]@cϕ$]k9ӥƮ"P+ v M~SeǃRHS\Ínڞ\]\t?r4:Ҙ8ekRR0Hr󬨿<*zTXE`(Gy~ -Sҷ4.CBTM1*[]({0:"Vuh@ w6[} S?'8oOOWk-4(?^V?zIF.|~ܰmzVv-8~>hEO]W JEj{i8Nzr#!nRB⟮i!I8?rk:de5'CXtZD{0IIQ%MxRvҎ{a?=0cMۉ78dK@sc}Re}w{^: R8q,"?Wu}i>1r.L$Fր/ oܙܹPTuOFX4ꨏ[l(be -H~ɾ0e/} -C}Q9m3wC>pibp MOAR |Okw a{[t_c/endstream -endobj - -18912 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18913 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18914 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18915 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18916 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18917 0 obj -<> -stream -HWko:_ -(Kh^vۦHH@ؽ_CE.T p8~Nӏ.HH~GE@3AAH@2{!y(YFjϋu]mt]edN2Xzg3tF8d$0&CEfοY*rrtd󀊣7cS7d_dy>}"l^:FSa $ Zcgɿx !}kHKx0 <7^O kKI\Lbahm3(7m.ʲDP6wJ] P a aaaaa/a/a/a/a/>rGa#c}1>v+r+r'a RDm1D͠\ PjmAmAm6B;ejmA!2D PjmA!2D͠jZ(D͠jZfP{G QmZfP{G Qm3(Zֶm<ֶ޶ -Qm3(m3(mZfP{GQm3(Zֶ -Qm3(ZֶQ-GTkֶQ-GTk -a猪#mBTk -a猪#mwTڶ'6r6@!m岷m岷mBTk -aV mwT+6@!mwT+6B;jm6B;jmA! -D PjmA! -D͠jZ۶$ZfP.{(D͠\͠\I$ !fl'͊@CD$3MNhK=:{ .BIh 'PdyVeZS ahqn] Cun__Vղtq9ֺvT8}솝=gP1iME-]Yǻ(ϊҼq<͘Ҧ¿x8p}Ihm@R,C3D*@GfL(/ueMIk,m_ Ȇo.J}R'Ύ 3׋t,%f$2MbLҰu㳨+#5uot0n|HHVEmW>H;g b|/Y0s5obbgժȃI 3e0-",_EU?o$m %7]RHE3lK)%.e.._:oZ |ptFR@/t78N@b*gK6r}&lpa4 o',"vH8B%ʸ[( 5&'W]YNdLQq lD hX+rc=\`4&-˱h bCЀ5Kpi) I1_2O&xƱͳJ:(8;w7(n&_?\\Ut Aes *_n^clWUo:x_naϻ&ʇȡF4ͩkɆ`on~0NtjA^6ef:m-GROϗ.NH`rs`Ot-R>]:p}zȿ/M1? atFKz)@Or#ҺTӪ j?:@E T.^E\Ld n^Šs˟yl|oKzU>3pհg5iFo]V/Jy)zwzJB~*RZ1`?݈\عVFpR4[ɯM4U9O /ZLJf -( N9 _͉BG/I((# -뫢(.#jM+ Ӻ~>,eybg3["J)Ǒ.EzD\4"#h,G ,'4ўcPn,m7;:2I`4a c&qRb-&tVp[5E(TFFE5+R~8HZE"{/SѴVUپV˴einW7WIc YNUQAsUpRm+m,trpbpIs!hrن4ޖUQ-#,Us2}}yN;]6qx 4mhs@zgN-S sI ncFJh}Ý5bRpJ7Tp-,]%#[efՁf]v"W/He(j>Ԛ& ),'|3K'뀈xlvzlՉd] [6b]{x3@֙iok@1R0l3y) pt"JaJuR:bؕ5}Qa\HܻQsA2 W4[B2=,6']w" cmZiQ Fw͠~[jm -MHQ$06,!(BɵM=)39:Y̬zsNKo6j)$C׷%~KƱV2"W?b)z$*VksK, -0Aϡlwbv>//!eڳF _)6/?Q`}2b* ٵA MPmF%*H#d}=0;L[-=2{n}wn7?c|{nx7Ld#gK,0>}>Wcd `^3EWxtn$m墻|2xP*'iB8a\ dQsB׼ȍJ -" IѾ^K -O({7%yά.,M o֛\ט pN7g&?Hģ۔EeK:CRpR)GbBsIlawtJ]We|{F}ꫜ MrCC($o:;ISN, (*44pZ` R66llZEsǯd1Gn1t/E -F ti2!#{9ǐOZ=Mɇ }E8qLDPJ5 -XXVa*9CQY<͞Hʆ 40ce5Ň"ʋlEᮈ Drؗƻ"% nl?gBWSOΝAc|>[7wp\vY&XLКxvݞք˧q(cnȭ_f$X}i1_0)KS]~ȫ]## 2C~nI3mp_1рR>3T&%$ݠ+# s3ȏCw/5Ӗ;ݢ_r0n|R'.Bbo=}*>iVPsC 텽S8&*&|"Ix$]KC|z=?) -: $y[R:9WIĒY Oy^b L#ly~z?&SBGpiشK! θ0=3sg1Q兯U%{G(P'غNBcٶXj^k뾹zT5xcӟ7ک$Y|P<,B2Lv4Q's4'q.ވ9\ 8 0_endstream -endobj - -18918 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18919 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18920 0 obj -<> -stream - q /X3 Do - Q q endstream -endobj - -18921 0 obj -<>/Font<>/XObject<>/ProcSet[/PDF/Text/ImageB]/ExtGState<>>> -endobj - -18922 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X2 Do - Q endstream -endobj - -18923 0 obj -<> -stream -HWr8+,x g8n=Ju:]SDPGv|{ARĞ,D p>pęlD)oj\ɲZyQʉX7g{1[ M[']:Ç:VU7hÇD5Yڟh{Кl>TA[8ËNţH_&3S  ͷQBAo1kB"S`?L$qu>C^2rr_)/ -qeri} \DCa4or])r<P;7a*JF&! @O&bbx;sTJ6jH"e]N ->e*R3H&أ<"x1Œy d_cZ55- ,)%YGU$6|;s''wX,<& If @{(we=FghFcn5X -"%t`L٠ ;J>ٺN(Km-@>2z"ČYkM,STw)3DzIlg&>rqVF -OH As ^SD.zղ\Ӳu*۪ m*Ao`MkWwgPyKvՔRKA@iB,WbF9%N81F&~p;ٯO6ː׉( ĚbvN'BNEcJ -(aTMCEEKx6UoT;^ ^}1^w+<4Vlo ]L1#oVb - -\>77qm[6]_˹,9[ʙ%7`q)ZiYH(2I8:y&ISyZ-KMIN _Z4sjKsC%Tw/xf0O\w!'Ky*/L%J~@Y\9mJyܪ VpfFk_:rV3_ $QTj:2:H3M^p`:?M%d1^Sj4PQ#C~T09t4(j@s2jGMs2kDouFeq2R짢Ki4˚C]T8+9XIS8%>r+[Tk6'XؘU8/hCIGZm -8jם Z8Za. -5K4'ϟAea-yٞ|n;&똦Ձ758ĝHl3D=ZҤIk#FfR&AY,` ws(q{Yh;;hm00Чŏڭ]$8P"B!yCk2nWؤz,)M4䚩0GA7xp!,Xa!UCP?TR\bbI:w+X"$fkbjsud]Hrւޣ_$I|͇1_6؝ȹxL5.']0G-Gh9-qW{y掫S{:Yn@aݟ4#9|cn,OM]4|OT k~SvD{U1,R_UŇS7W`B [h5+g08=HSچ+t؆ 6Wy_H5@ETbÏP,!QD w$Յg͎4g -d ~%&o*O&fvԜGysbԄR2PCM1\ɺGlY"b:%_ďwl]R6b΅#T_/8FڏYtvz#a{ ӺZ 0&UE=W^~ms~cC?s7 HFpS|Sk2(f)x$eDٸ\t7uў: -H -Weiǎ/f5v*BKjLͿw'Uݑ"nE~?3< HO%PpI&uK>PZvΛgV rќS\W6*,_>I#>bÝ3q0NqLῼN㊊`ɎHϤ>m}?py=/p> u] 32}];इw_l݉Oju졿]|R*1zd~jhM%f̥Ռm˕A"t׋+n\ݹ"S$ؔb"v#6*Ʊh{9' س%2bS -p@ a1 6}IqdPFPj8l!ᢝҚ-g{_f2 J7O"d10RŰ% -'n3SqBˉ.eʂ-S$2)+[+3Q#maf#Se U}+)`*g8孫H,Yvf ڙtLI2(Y[q\j^h?A^=S1weK,kLK5Ȗ;,\4S u)5FwCRW(_a"עY2%֕wlwIQ5|4)BPQb{` fXgaD3L=W,L7:˯0f%0rw'6 f-1;4~¹<!\2y\`onFX@ʂXW)J5¨rMPq) ދiexᯔ6E -TJtÅƆ5B"Lf;/  -޳Tn -`YtP^66L[9Gۄ7(%EqLxn'-*&R̫)D wWNbK(S48TxI&-eYd2]̶ /2"Ɛ-O;:- vI9Kk5ZM0mge lrLV5U/U-K)}'1yYˉWuaA/ 7I:%r{NIH,|lQ.Pa@̦:9v9FB/3OPD G!2n9OA&LaN*oj԰+IQ'>oFII u%%5qi03旐fVFV.gAH&}KD>!\m -ښ( ]qiqaq*I. TA| V:Z OɅQO1)?"'Xi/eRST vŹ wk[ o(Pݺ-ob({9/v0 -ĮItYsp)Ї?jSNX eWH -^Tx{4l\*9xpŴ> wS;yj.M#Z&tYY0[p,]ߘDr G5\}^)b;%funpo,Yic#y1<2Z': BAzCy=lLY]q^J>!ǂ'pk:ƣF,h…OF sAǫuY̺endstream -endobj - -18924 0 obj -[/Separation/All/DeviceGray 18943 0 R] -endobj - -18925 0 obj -<> -endobj - -18926 0 obj -<> -endobj - -18927 0 obj -<> -endobj - -18928 0 obj -<> -endobj - -18929 0 obj -<> -endobj - -18930 0 obj -<> -stream -JFIF AdobedC     $''''$25552;;;;;;;;;;  " -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?>zY[]O>zY]]K|"|"|"eowE7eowE?eowE7eowE?ewwE7eowE?ewwE/ߺoߺ_uO+)ϞVR=?,ȧ=?,ȥ>zY[]K|"eowE/_啿uO+~)ϞVR=?,Ȧ=?,ȥ>zY[]O>zY]]M>zY[]K|"eowE/ߺߺoߺ_啿uO+)ϞVSϞVR=?,Ȧ=?,ȥ>zY[]K|"eowE/ߺ_u啿u啿uO+~)O+~+%-lKb[ؖĶ%-lKb[ؖĶ%-lKb[ؖĶ%-lKb[ؖĶ%-lKb[ؖĶ%-lKb[ؖĶ%-Ķ%-lKb[ؖĶ%-lKb[ؗĶ%-lKb[ؖĶ%-lKb[ؖĶ%-lKb[ؖĶ%-lKb[ؖĶ-o׿/س [lYKnu,%7:V{+r? νş^ܿb/س nu,%7:V{+r? νş^ܿb_sn_gA/׿/س [lYO7:V{+r? λş]ܿbo׿/س [lYKnu,%7:Vνşsn_gA/׿/س nu,%7:V{+r? ^ܿb_sn_gA?[lYKnu,&{+r? νş^ܿb_sn_gA/׿/س [lYO7:Vνş^ܿb׿/س nu,%7:Vνşsn_gA/׿/س [lYKnu,/endstream -endobj - -18931 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18932 0 obj -<> -stream -JFIF}AdobedC     $''''$25552;;;;;;;;;; }" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?4I$$I$I'$$'K(O O $xO <$Q)BP% (J(M BPBxJОД'M BxM BP(JД$$(JT$$I$I:P$'<% pԡ(J(I$Д'4% BP(J钄(I$JJ$4$2I'I:P'O ӄ<'$(N'<% BPJ$I$t(O O <&D>R-KjhO BPД% BI(O BhJJ$% (J(J O -P'J'<% $:Pt'(N''ڞR$О(JM mO BhJhM (JОR"1 4'fI$%:pP p'NthO BPt% (N8 (O G "(J4JPJКД% BP% (O BP% BhJ(Jbdt8NptBxJP$'МԃS$[St 4 F(J0 О#T$4&(KjP% BP% (J(J(YE$$$xN (NtBI<$<% <% BP%:q I$ʘʐ)▚%-KÏuBe#DDcMCDyOG>Q=Jѥ1cޤΥY`VYmv cD% BhJ(I$2I$L$'O 8N8 -A:xI<% ҄'<''($O~R&6T\>"ޢroO -c1r~IRp(Ԫ~oڍ£Pƕ<iـ&`ǨMܷp~ut`i?#3[6SSj3~jVy6Q?}tܡfߨ_\V[D?ӶܽhM ~UC+SCIu=s5[W}j@;p0Bk欥 BI$(JM BPJBxJ<'RR'I:I'9)o`(4Ls*)}بS1/sQ}_rC')FO"wTV3}eZ3Zl?f}So;(YPߨ[h\?mM#3]}jqY}awҷ\k*?_V&,hO;?FAgRRzu6uGp?V*zP1f~Ck\_6/|>袎iYܗ3^S`3 Mc_swT;z^7]T΃Y;:fO?:٧XFk{5qkv)̸rg]Od)F4R>E<~Dj~!(4iJBP&-iks\ $}xK곬vl4py+nյ$% (J(JBP% BI4' 'II %]>? }'mVcK[*xfjjyGg |ksFT~?C`f}DMlfμfZa۩]vz*sa'R6qV+;yqm`+ ]X7zV7Ysjϫ_WX}7N(VFEs~XGVFh lv~E#e|\4$)ǸOHT*Q~!8}Fk'1 | |$%>I%D~Tq))'iJ?*h)$BhH8nA w裢*h }.<TSӧ^I(L% BI&$JE4 $:tIFm`E9v:^ajg|f,6Bj`s?(]'F8F6u]25]~$H) ' <'?pdiuJ5$RNS!0#(NJ8xH >E9#Q|F ~I̦>IFxSv`Gq#Z0% BIBd%2hN<'<)pMd+y cFz'Atl`l?R -`' -@)  Ӏ):@)Gd8SƟ 5Ra8)Fx$OE-O F0j>%4h?~Iwѧ`3lf$o~)0T RH Nx;O FԀH|H)1)3([>mH)Ȥy?Nɀ"r94؞5>I_OJGHptGO?\F Zi$IN$IdBhJ'JZOR5cG[MaL) R -@)0OIGd;J?)F#SeOxyx|ħHI>ߘR wCwN$ڟ{!3A>ǎjL]uuC֟ tNVG75=X~0; >_rWa3q>h?POL:Z4&cs#jNkƧm"42\ j{&|YwJʭ{{+پK&XnU }M!;lXg??rA,:cRm+ ]PZBQܗ8l'.F!Ax<4iJ?*K%a tnmdI$I$$S<'NRI,@^nKa3XLJ R -@)S -@xwSmo<4\xc?ܦ)hSxy8u:˙Elpn>'s>VÏ֝ vGļh?Unm<.Y"DxVOV?XVǷ"+Yh9CZOJ]En= ;ԺO76Do$ޏ[v64XN_[]f4ٻW?ƿ\ - 5{}[_MW~7Z> -ﮟ\>߬y?5c5c[KgW<[]T>? A߭]W7{r u>Qw?H.]MO.|ly!O>+~VkdA>t˾u2c[1dctS1#ͭ*~dygES~?Ϩ[zeD- ]=WWUwd5{K'@+o1.Ϡq\;O55w$4:dĝw Wܯ*5c]v_^@Ws^ljX7?D~kcO_ޚ??#y\"7DI$I$$K%1M tN*IzwOŤYEM#1%s}c룺_PF] 0 ѫ<\`'X|Va؞՚f|kG7\+.Sn?utU{' ߏeٹqk'û?73#\֬yN~R%Ov1?z_v K {KL;J/] ۺuepc}bٔXsuN-c~ UgZDRyOGÛ_u!gtv[U"m:X78׀K\ 9.\f<\+v=mWɡG-Od~sv; -,z^V3: 8bKijyKg5WQG5W7 -X̊뽭:񧄪Y_U~fdۙNĸHK'oKA5er/p[dRjc74OeLZZhsf8{ppkk`E֍)8rӢ_ ūK~N[DO-!7 T'N@)~oW_.?~U:'_WF M|)3qiŶY:8h'y79?Zi65} <pq1w ͺ/ҷ?I$I$I$$1 8 $$:j\^GODH :݇'e}|ϩW%.-y4f}UD.?Wucc=u.p-=8X'ٌm^Å0˙7I^NOө+gī5V/ 9k4u` amG,?z\:3t{6<8{GU jXeۓ{6}̙{OR5?U4 _YPc .7txi:On-ض7ո t-sEG׏[[U^"KKD};_Y͌QٯH~ ~ad9E,~`?@4<v׌nҺA/í. xZkg-]YL y;{Yܘ$56ˣ};~j$I$I$I$L$t%G_ìo~ -`熂l: |I)S>[sxkFRs'#HqDl]8ؔcE5ciBnM_X#{*G=y0}K5.Teegմ>5cy+s5G]C9?"gǙ܁MYY Ǩ:;XْIoޯs1)p,a-{4iJҰz>0:uB+O.qJ? J?QMm~G/-X8@} T?C?#Y3m X_Rժrݠt4Ai+~nԬ:]n :M&IMg4#=sMm=xit\P?U{8nvNehwN ѳ: +KcuQg׷ՏGh_<vʣbכd1ר`:sL%y1[,YyԺ1r9kr@Ao!|_?{&~=>0c=԰dIl:wOdšG0QYSh?dגy WwH#Jy׫mh*]WtεQc! w!x?wU^KĸoǸxC/ _EvcFC5l"A] 4>k ~+?Kʺ7T~U$I$$I$I$H)&q䴾W\`Wpgs]^ qS8Υ>ܮџR+\֏g.\ha-.ts]<}GN@m3$5{I3ǀ O0y{jUn֬`>Mq`:PK\Q[bxt[o8<\~IT >R~u {`+d>]f[| t UNѺ_YeuuLqIua{v@?AT/F.ߖ¹/:?I阯cYvAՂ kXtԞ)W[{?mh.ye\5/5UT5\UxU3!R-"|﬏_eb*6K@K^`?@'K}>cXS?s3n?CX|] -eUsEPA^KzGV1ڴS~YF,Qw")`_-=\};^c=Vt5V;/e3)9f=yuhV?YS#5ٸZ }bx{GX?_V]4Q2ikwX.#sil1+쎡qUr5|UsV WOξxs70u ǩvr|\y%.Um`%9$1B>x&纷ZW9 -fRl i1{/)+zet&˅3fcwj0:M21+6oB3>4eܵεDZ,uxƊ 9^SOMVOE.ZtG|ħ=ϔb}Q_Y:-2:i-sO\U՚3Yƺzoѡeza|gI+lrǹl[N?WwP?Ј1tn??OuZRp)-dy1EMG>_^S}6s? ^Mo1 c]eOԌon>K>ִI?]/SL iЃ.>UR_kH/%ŭ3pz~lY_L}»cuvٽ'Vؚ?Kư?Y+:g-$I$I$ed'H)|WqNKcZ.аzצ3hm39\\#tѱ݋{͇psZxx+L)9UcCcKÚ䲛+|ϣ[8I-6A>u4UX -쩡OhVзBx-)I2'Bȧ꧎GO'/KiK$J|ģ&$2b5\V+Wt3͟歄I$LI$K12I$pLB^W00˜S -aL)Q˜S -@vS -@wSRDx)LGHv)|Ӂ'h> Ro!R)/KӤ/NRJI2tß?dI$LdW!4T:$}VI$dI2I$)N'Ts нFlƆV5RL)0E0˜R -CRRcSQJ>㏁K2@p\I$E$H$E$I$I2G#4HTG޼wJY[I$I$dI$4I$N6*kui'$Je ˜R -amS)0Rǎc|)r~)ǏN;}r^II(I:dI$JNI$dI$ןKcboԴ4Kw lSv=udO-+mhsL!:II$,LS'O $J4Y~̰$5Jmm2{OQZ!L)0›Tڈ0 SoR -cHqdAʐ)?zx?qGO>iztI:I$I$dNI$LP50?'6`݋5R{!gt*Gm .jɿW:wQv+;%߻״=95 I$$I,R BJfײ݊쾦GMё?F u"SjTS -cTF -aH)Lq*cH)> -cTȧ|4㷞GTK|:I$$I$'I2tL$I$P{[Kpk[$ ˾rh}_~X oiݕ|WSU7 -+cY@{*`K!rv8QW0:u'yDzƇCAԒI2P:dq $8 8NX@Ўk]v-.̵0A]wK[WV?lJ?&cu}\ge! ߭W&}s -C_ձzȢV¯!X;">}Y -TX?1kԩR[GOx}Vң?ܤ>VNrS)U#SG!3N|)Oq(rJAGTcTN5?ܥ>>D3ן0?ʔi?G_T$(xO>k׿(r_nG/<ޥy?E/?-)K}O)M??);-*M h:A78Sο,&`6gL7goM?ԿooMOԿM#2~I79_RQտM1SMG祝864h}LͿM7:?Scc&&/-Ϳ}NOl%ggE/u>ܛ??*'k}P_i?CNAn}W?vmX㥞?o%67xuyYs5qwX?e-.=ĭ^Z X$`u 0S] V2ŕw)$$dY4%(IH'NCk⪻Qr/H>d}?qKERgAH>{)~Ʒ#~5RoF/ضoRoF?[7)~Ż#b]_.J/ؗoKҷORwV)~ÿ+aWo~¿+?M -?+ҳ`%/7g/7gҳK[`]qK~7Lϸ>G#Koq=fǴzsz7>0oǃ ӷ~流_zȟ]O?ޗvD~C?dHx?C2O7Ǐxm7?hgӟFA3H^h17?-= ?r]uݕ1I>!rW:ʠek:'I.Ȭ[QȩI$IgBhL<% -IRN 'Ntt'I:I'I:II$I' yyGOؐ& $}!\ #a["Y'=?T~O,?I`-`{A݈>*I$IgLBtt' tӧI:t'I$NtNI:I'I(I:A(I:PHp~ƱG BS@~I) L>ȟ@HiL4h;'L~ĥ<L?hx$x$^$I$rYcUΛݔEKiO ,_4CStܟe5]j$wJPI% "':p:t$'Nt:I҄$:I'I$PIrN~Jm@9r| 'P>yH RS@2.DґN>:q#4"SSħ$ -#KX?ʑ%2I%b~KTa[  ;czU\zVO1?Nk&N$Jrb8N:p NtNt:IӤt<'I$% ҄I8'~(~bvLמ_S7N{H#?"G~D9~0\CIt!'rO)G@M(II%I:tt$'Nt 'I:t'JI<$$$zP~D|O?ڐjQ.ďO$4p?OO?\->dG`ϼe7-qHY!9O??<?yNgF>@ƭSy>aD?P>IwI7dI$N;2iu/1:V&$9 -I&I$Y2b8NItI8NtI:tt'BtI:Po];JD{К;#]0I/ݒ$I$dLRI:tt:t$:IӤ:t:tI(N'JR?R"4#$t?Z#oN͇s܆Ro[hILd~H.><k~XI4(vԇ %r[?F|OI@$yzD}1@ ۮq3N؟O443q>-ӿLgG`$'P>&#(UՍ'n?8?!Lw?H&~h>'$7_.rd$RKdI$$I$,ɓI:t:tI8N$ӄ' IӧNt@'!~䎇?S;I# [x "?SΏwJ$ߏ[#{)F< GL81ir@{Hּ-NT0#d~\*FbG MH~<[e(?s.vd&䤛rr$I2I$dI$jdNtNN$Ӥ8N'N$N:p:x F?ǜ'-{Ā>z?s!NG*au4m"]{FۢMg)0A ?'w$?!$on-ծ&>G_{IQF{)G%;o6|OIe0?1R?n#]I2II$$$YI:tt'Nt8NttN:tӄӧ:C>I;?|Nt_rZ?rN?F6q}`IL7Ó>-y3j:&?M;Q:-=>2×ÿMw-.a~`tIG)<Ȣ?$81ǵ/*)~.Ɋ]I/L2I$$$endstream -endobj - -18933 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18934 0 obj -<> -endobj - -18935 0 obj -<> -stream -Hbd`ab`ddTttv -H)K-LNuKI+NMuIL)!C o}aO -10128_PYQ`hia"A!4KǔTbϼĒ=ǜ i -AũEe@Q2JSRs|2K* RurR2&gd&e'02203221l*g<]&5ߕ~հU4wl߁= άߩ8~Mݘ{@>Bx endstream -endobj - -18936 0 obj -<> -endobj - -18937 0 obj -<> -endobj - -18938 0 obj -<> -stream -H> -endobj - -18940 0 obj -<> -stream -HlU PWfgǔCVT DŠ0( <ʬ""bcQ$jtku{AKsTӥy^h'sMb[؇z;x 3s^n^yxgy~cܧW]nNN~@{DaU?@!Wl*DPB7ǚF8&L[85Y??)N'iK)LgqEU+-k.n -gMZZʿ%o/jkLcb,cwRCL|\<#ϣ&3sM|S|Gv}pWD!]^LߌAB3pN+~}8hg^$xu%D.Y]sGD%pI %r`` 3&SwdyEF͝fǂ(~> !g_ nxYrPmoº^+BT"}R(!'!u8{ 6<`"[0=F(HIrw".ْƷo׿|l+Sg{ ܲig;|x̵FjTȗ+ȜN]^+n} .]$"j$V,BVD YkfӆD,7bp0Hx洞SeBxzFt&s7@]?N+ZId'}G =XSŕ-)*zbu/H@xTS[a? κ='H4b\ї]-*!>f3z% E$ -+VVV*zWOqy/SJŗF՝Q$'J|ܬMP^*x0 VmvU%b$Y@D"yP,c9.FOLLOlpj@ĵq0bspl -f]-z- ~%s04QsHP${ p&p_K7;d?.$\zu·󐈞̝_kS&e\  n,]1˨"&'mq8p\<8,=LzwOTި޽,K - 4d -W0o{fkonb+޷p^/4{$4kze=jERwM<2 W( tc0:r| ?h#f<n5ܚۨ 4 44;. ! -s#IߕXIsv 9Bzs0Y)$`|1I)D$PYmS2u*0BqgRXH'C&/8ŏa!׏C&ȾhUj_%CR(-[$69|¨œS6l< N9 asCswn2=Sz-E@e3 );ďPiaGZ>j'woڸ|ˮ\re2#fn"p]WV:W|T^~TmM0tV3hUUف7:{@DJBQV'JMqLJGDfG H/% 0(̨Kg;rfyyrդ7xpnߘ/Zb% ":W$@p3 !,)r&,A?yy7EE7Q^kCMk'wt7*p't6>H|)kD孔'zD!3kIhp@"6ʌ䍺f:/nYyq4`sNU=d*TkAF38SP׊@S;OF$֬ERbu=$o@v$[>l#Gܝ,ח*o{/H -5nR^ -p/jZ*t}TlvG۰LzꔩnEl$O֡w^P.K.@aYT:@C\ @9l1ƪV .K0EgSGik k k_G^Rַ;ʴu'"k-׈pҤ0jggS$34r^r #.|w_߼{$qt]nC.{U;>c3Rr`ߤv>vŽdU e9Y>fj1xq`bԘYϬцdp1_n@MKN_*,tLJD`8#,z1I{uWR`UTs՝T[:iZ"h3R bt!E0`@0ݳF<)2(Ll#jB'o ܕ9F\gۘ jIT,U8hp,oOj_tFppR,Qb_mN Fx0|3=$ٳCA\^)!C{ x-JBЛ^zO~.>wuShFJXpW`[0cju!罆JtF7Fq=t=9SşNѺ,bU=i9`:Le0'pP1r) -yQ!ç> -endobj - -18942 0 obj -<> -stream -HW}lS?}99cc y$N bY 1_ IH1aP,ĉC$2JZ ` - PDW,$hYVk5VNlcj eDP;z{93H~nQ6zJW(&*x+-%j\?10 8 CMm_mb '0Phr@s+  li@ qq읨/toL9 #nnoѷpJvEB-ԝbu8y*,McGm* -5lgT%i`ʫo9kn;k;ʝ|yۉ쬂 }ކҸ 0i UsK ?4j`;(* hJߒ*iP9w97ꧺ4Eű=ZDoByy䮴s=z%[`v%Pۙ8"^](LZvhykb!9 -\.+ᶫ8dI"' lX#{՜TnWu#w=}H}&҉1}ȅ.{?ŔAk{8U -V^RmA8Jn`NyǮ`7$U<&!T0ʾ2J璢42Ydf!ť璒,K&gHCJjQai 9%mWr֞j:iV{J>5'H\W_F6TTl0ǿ+/ J+kw:Z|9ceB(eJ%$=Z׃^M9w苷n9 yttIOz-Ds~_jXLV}:úcU_++AgU<Ұ{da6dğ!4Ȇ.v xYb&FzZ+ڳ>CS#P|%|ϐ!6tBm姓-ooU ӟ*3537\񢖷m[]A䇝/Y(3XXPiYueHe5jP(>zP_fҾ5lF' -ƺ&hD5( Jϥ36K~;X̜O\-Mb5 - -\<gv14j:]רt!D19ի{c+X)L˕EΒ<${jFe2D %o]،5Lxk,LT8m$c0K&)B_4եHtFxc`3RD;A#j7Gf~4\%r",*3] 2VɓN?/h,mߑ%sHySu<_]uh貺c˵g}bD1JQ <*KhD3SI`rAVd26c[ܾmY?ɞ*YǏ*+99Ds- EJ2yxUf:OkvڃbuhuWxlɟjLnοsdg6 W_+PSY -Ģr4n&Z¥UZNGazPۗQί<dOJ3Fo^VjNԥⓈD@AZ1N:SzJkMOLo1?Yq#~TŕK[Vx_] p4|DAhBj|sŋ+yeFX?銇5Jb< 8#1T 0?s/*(AF'0D@Gx$;3ϋc -!TX -5`xS+,vb#ؕ/v_Gx7x[-X62[OLBG -n;`{C>oWOK;B⠿.,  -J[> 5.ð 'KiB^Ew(2HԣУ̼[Qsc -j!ɉ+"ʣel"aŏV9ډ n\.ԗTdtJ,rc,V|_";J\md\!L)6I Fc)mਪ3}އ azƤh±~j!su_&s`S?q)gPma|PJYǬV?3%Nkh;v ^9)s9"1Q({/e3K/\m2qDP^T] ->n:©y/M?޵5ݗvݴ9 ֹ?';au:e}ɧ(kΠt(AN+u:OЇ*ZLuc|3ߏ3Ecqvkπ'*_yb(bhQU,.+2_]T+G J*R^%GLq>14a5*Z}%!:|xA =m"7<g۶ v=J!۞Þ.%I$,=<*Aӧ4 Vx`DD|+6^B"w:x#oE{)spZ_ -g"G DPbvK !US6++O)PN*S W֨;սi9qGN!Eeu.W)S.zC}.%ͲޠtQFah= L=tC=2+ -NOk6}; -|ƧiË,D]xyemtgl: 1d#bFcG r:tSJx=_ouԋ ">b Eޠ=6Gר*>/W!GajTK=:.PBLS~[x|zrQEyso-SՒ[f*3=ڌӦ;e9\Yef8"z(1S-kjJXc"~D 1ͦs8}IN(' -()ւfе^"6{0+`n[@396# `DF_S"=h03oHpmD RA+NZ= U0o0b6n'ZRll^mf,ŘNbڥ9ԩ%{==.je-;"J%z\bnIqw#f)9Nu֎D@ *e#odw+F0]CحϬHh7F<H2]FS,*2 eZhViVR٬74.Erg10w$5#_iQ1ILj#1k>L-e&<&$k4D -F f"4!at-dČxY\76c#&XwО銵1jM:G&1VdygLN3:[=2YlӃ/2`lT'M_( -E0(M29嗺 `jѣa&) \B 1IA -orjx8=G$Ur[GE}XkM5YN_i{0({7tS"~ Oj J ]>_sxۓ n1@8wt?Do) U4] #WBTFD|* x=UM |IxR9\VzJ@)o|D7ec߰Aa Кk@W{wU2cLc;w;WJ(STc}+o._ƗK*t2@+)T!HU 7Y$,RY93~=UD瀈( RD/(z2A NnFM5mjm݊̚e]ץie׃#0e:%%KJ&Il=wΥPeM}+*.kTq[=7q/bAz[R^ ҦqT(9}k -d.o<`GXg^?iJO?~2oeؼ@D&Pq~ܡz?"a8 O9| yjr3r mj 5:+GO=w ڔPܣbwiV8g g@+.[WEGʼ[rc~ ͤ$~TݢvTtnUd׈A}ȕ/1oP٪d|kR.EWTZ^ۚ(l;nPE*Ϟ=Q/$M:)}=}ӹ~I ԙ! :Jz %L뛯RSDl/)(wbڐ"sK/n]L" ^T~T m<As?wP:W'Q'eHW"wޯ?f{hۻKy&O{#W| rDT_ΨS4&Y5n%?UKi[ww_5jzZrk{0[( jD-t>gJ\|!6f}#f'49vѳKotjcBz?qL -1$,_޵6F?[xQ -)䖇@!D`#%zJCNowo)3PֆsWZF-˔L%TY%GwoXf5|9t#O]&l^ )/e۬L[l5_|lhvY7qoo,RܤA ă=0㳔G&f[8]DbNZzԊHٺ6_@0h|{6{(4>*V1`&8R>I2=w-Ƭ]pVmVo6 H &: |)|by9:q `]blL#ds5; -PTlWPZ z;};=nD- q9u (+x"|+4RCi=w!Uɵ4Q@WxrP//j>H"Kԛ:~8֢l3 }Vl5̭6/ !^@`[Qjs|W"8+:>*?q -g Rfڜmϸdhqz+m24Xj, -0=M(0h"ŊЬ"ݖSv#ÜEqwqafɫD} F(B9?8ȅ0_dT:͙J#ˣ9d+Ȅi#+ > -stream -H~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!  -   endstream -endobj - -18944 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18945 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18946 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18947 0 obj -<> -stream -HWks_'ʕAMbiڌřt*i4 ZLP@(v|t<ÃgsMkvLf^~mKbCj.iLY4w*̧ĚIŸZ]/|Y|by2ڙO(3֌fIA2M$MSf-u=i땹xl಴}8p~n.F?wd:Iz[)O-Y,GٲYjdݒ%Mħ|663?$I)sX$I%'jNyEp#%0f%[KXwʽr{{+}r}}}}}ܗ}ܗ}ܗ}W}W}G>*W[&Vb%F,Z1K{ VbUkhĘܫ:Z VbUkhĘܫ:Z VbUkhĘܫ:Z VbUkhĘܫ:Z-Z+1fi#hĘKYڽĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hĖI{ Vb%,^b{Z+1fVb{Z+1fVb{Z+1fVb{Z+1fVb${ Vb%,|6t }Q1Q'+ -@+(ʁVr+hJZ*VJU* -hUJZҊ@+*r֒Ҳ@*-r@KށK;ȽĘTȽĺc)KiKY@KށK;`ȽĘTȽĺ)Kjy{1KkI;@KރK;@KރK2@KރK2@KރK(@KރK(@KރK@KރK@KރK@KރKZKbZR R R R M>R M>R ;R ;R 9R ㍹֒x Ts_2y3J5֌fI yLi>fLn*Kl0|qq7 ɡJˎ\1"tTsԌq<_1yY^ϏuS}iҀҬ35umMkU[7dqy4aQw.ͺ![`tW8zΎq)5dLaR0Ҋn{`FC>mq;^cZ/gVcN4 =D};xD߿nb@wno/@UHnp`yӪut'S'<o&9Yq}yZfa `|e6O\_]}}50^ބYo`._]7yt;w>qm%$vn ]Lm]Ѿ@!ѫsqildև;}ivfWΧEo̼'5z.}&.r5+FsXUc*}WeT7C =WbNXŨϋry1\zy6uܬnv=_6{2Gǎן]NBҢ#sv=wҚ5ݏSm=شfnz2LLEnrM~Md gmyx!33S5WSi1ԻOt1Yqn~k6ߘ}o>ȌҼ3S5qt3\+~C~I'H /ti[Vw@7OtdhqAnxvIJÑl?\{ޒ2-;M+d\{oK/4rd_[xl6ڽ {W ia6"OVק^^pH9^N ~޼\Ӳٵ7yd3y|k=9qwՈVI|?Ҋvg?>#HYVZAiVr\i@PZ*V JURiU@RZЪVZQiE˴Ę$F, Ҳ@*-r@KށKY@KށKY@KށKY@KށKY@KށKY@KށKY@KށKY@KރKYZKbʽʽʽʽʽʽʽʽ}Ĉr/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-^bZ#ȽĘbc -~+mߌ;chVܐt,vǀWֻl(0(HG>F~љH]BZ+3̋;5?WC8;;IbBTlCǴ Md3DJJʼM8AެS$[%pO2lCbXt=-sRD -Dt8m K:F +@(/ZOvw^vvsXߝ'\8$eF+/̇uؼz?=(+@nN҈%vH0z[)Y)4@(6W:K<87-pD+H6iUv9!Nw*Q)qw%(?YgO+Fhp%k-AC$ uU䂒"g|UEA]܆d*GckUET_&FXkXrQ ldnn!ۜ:wDKV Â*d[gh&vJN~u-lد2HdmF"/-{y04EL]Lu}q~[(sO׋λv"Ƒnh{m3qO]Qs=o`aSw:$Hbp0!U9jzXSUEpM65lT. ˋHKg1•!vY.d4V3nWcJo YiTwJ -7aRC&xMژ|QbEQ(0|G9-۸P3*K!+s\0%|Go6kqFl^P:C (@G ["H?eb*bDiL7R0>ypr~ dO:G_439)|͖hM5(n2x>Ɨ1SSՓ=5JTVh;_#A㼑_n(x*NFW n2JhǿEa8oׅ2U1 l~BTbq8 -Y9BŘһCADd5bb.W|^i$uQH`HiVN'z7ޫԢ<[j -`2\ |~ ͱRߒs\~bVr3o ^yL'Ck!X "K[m9rTx&s-BX#U B?q|<˂0e Vɡ<-( WsVgY\VXJ)D V 8+ԟU%m/>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18949 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18950 0 obj -<> -endobj - -18951 0 obj -<> -endobj - -18952 0 obj -<> -endobj - -18953 0 obj -<> -endobj - -18954 0 obj -<> -endobj - -18955 0 obj -<> -endobj - -18956 0 obj -<> -endobj - -18957 0 obj -<> -endobj - -18958 0 obj -<> -stream -HdN#G=Ob庹%TWE. -0v3A -2̂OJ4n~M.>]vz=,aZ^ve|2i{~߽<?|//׫o紐駴|_NχOO÷e9O7ݴ_72]}ߟ~||il^q_ۛt_wWa }yx] y3d;d7d?08!!!!!! ~37 ~37 ~37 ~37# (oeKʎ=+rP䨼%ogI9r!J^ܔ;,wStJ`6endstream -endobj - -18959 0 obj -<> -stream -HT{PSgO7Dr+`EPwnQ  $&`-HxVE",OyUU-b[e:v=.tWؙo~39s s3ɜ+KSR#Tc̑uz՘7Kod1lmWnReP ; Wx{71?AO*Tr085^HSI܄BaIA)*jB20NJKғDaѬL -q +B1UyhR KIn 㵱#9Èg\dRf{X,%yyyy#cX-6>~QqFpǂguYY٢#sr漲TqswنNlFݞo_@.{"ApBDž7.Vs/ٰ䉓 KC,SX|uhennWt}+^e {ݚ;==/8QTYNKwq+D.lw^ĉcQs:X|8!ѭ<\/.ΦZ9}-SeKjvqF 8GYS3ߩ#OsPDᡛx25 .Eu0Ty4h#oBML:~j?[#(PC4^[uCa;" i!" fSr,=mAq'4p}e jP|A=o+draRIrqRmwAW~ZW@%eHSmxzIMlݚ#GQSٴʼnB^`x/z;sd7XpA^Ķ1v}LQ߫É>;n#peX^%x dGuBtȭVDqy Pe+ !bw$piˋӶ9Iyuͱ"ÔDӧ;N-D8$ ahCP$/8#? -Q2 @<_PX1*FHD Ƙ~r[a4ܴPi͏v*-8mV .5姰9eH|Vg;\'9>gBc? DHP!u?6@6ZUÂXK&iS kn:t𗣭A#9ʂvH&t1TN :Ì*K:q4Wj*q.i"ڙMcP;Ƃ\ 5 (y! *2Ž[0jh}ʄ7YUuAΓ'%##O845Ãt{jR25>7OaR5FӶ d/j.pr&elaWce㢸8ì-dZw1$*B@A EB`E@a2׊aMv -s(zzΘz懟GVygj;O'0adʦ y?1.瑍Ǫ|}z%y+w.(wډ$&E+p D8"JmmBo͈ɺ"O/PC1TTOR0IUVGu%d-@Ur_f[3Bu?\ADKHk 6<^YYEj\w/a -/NlPpVBKhg["0rV'C=kHŵh p`эlu!A#87+!9ys1h LzΜ)E/{uۋYa{V -zo'ۙS7n6x, T66_cW_g`漗H8j/O_箟#)B*,$=Yo<'R 6:RePba(ۼM<+UEaO 2vtU,Xg/+BqP<- ߴn"r+z@\)xyČ/˱ g+ - TH_pW*PG$囉}ufe>qR6j[vpGy 1-5-\KcKm㶇pNzE7?/:׎l_p{30QNBzcY:M c.8AP-m3lc 1)ԇEYi_5vT4TY̴R}4;\`Bp" hA ^Siͦ0t^F:%8 WԿl[XI=EK&#o!A3&dI0[-$ˈ<,(W|S$rr#w2 یX/U6 3]Fߧ?N8?+_9Q أB5P _Wq@<%SE&[*J4%&paC'Y3/fV8 - V)5V jt!6u1^ؕN~fɡ,RqK6~A3V-Y/^S y I"4 -yi?rR!kV1=f%5|nV?O2Z&VIڱ=7sұBݶ+3s}~[9U+@A:CBPutMb=!9> -}Η2p畧_Dfy;AmF%*<\^*6(j[h55wW|fJ4߀K`= n֭w.jc[.KCN6Pvv6{y .˧e1D]\ VZ<5kh7# ByČ}G{.z0-ц^[SΩ wF?qZ\Zi)b9ݕEخt2J&Yhgbdty/}bijbPUdd%}mla|[gNáJ%`4SPf0XGa4B£?N%!ψ)jP@kb >J?cSƓEi<0~k3\dTL^K E/~sFt*&8"9S+H7n#Z7{-bOp~sz`,SSk |[_9/:l${Agu0T3xE`9*h1MgDqqZƿΩ]It7nhQ}aГtt"1+F"@`g?Ts{:.Iaq,ɹy ߄t_u0$9Zܦ)Ծ})Ϥ֮k>l @b(ܱ͑5Q0uYwN{tTff6~xFk%Ÿy2q&v[\IQ2ht7^nm}ll]CgfZ!Thƅ˙-9\1P:R;`l<~^S89^yaЂv.ڿ?NeK׶SmRɒm7d"t[B-218cUF55ת\(+].ޢ\$%^ C/DNB'X+%^EZ@F+0&AP'd\N);EWMsGk{K`Ô^e8WpUe=$u)!Ǒ~Gwat]4G%G$Nn7XHJ𢌜 x>s2d8_PF\h:/۱wJ!l|L UڢM5mڜ|ާ}:_dٌyzgZ]Xۧ;X^9CE{~hBfL2^h&n/Jᷘ[A)]]CjPGїG{8Z&EUeR;H5X?FbKYh3E -*:Ck2C8~O珌9jRP7̑8CÇػ8-E} ?h#- iwrf;h%p*A"Y@F^d䝔 J䷘nt7Ut3Q{='okKYCwQ/SW&ӗ""V`U4_z׃hVW[y#hcqF*p;eʡ+e),e+vÂ4w\b7G9`?p'rD $Y;й6%p굾[Wp&Tt_io  ޯZ <"9'>=U _5W jDIz-Y猧R*# =2Zy͗A&I?V]dpD+G,C#V{s>8kq,0ƾ\{lKd%rRYyE'1(Ǧ;c}n1q\5$ćkko &װk_Xп<[jbe;\4]]Ł wNګ -$5..% g^񁒊JSp{)Gϧh>;QXR)7y{OH!?!;܏JB%X.y2DA \PX^ ( -\* -M2JMٍ -m 3"nƿ;/E籶@֐LVM^ߔ#Կ a#qyaD8?)ҟqoT -kS r3z/ ED_$9^_L⻀~@E8fK\xazP)˸Զى0nW]*b1k}dx֮+æ'/?^cCޞf-푯f-2j'KSpGgh2_q<]֓l;4ƦflmqhE *0, B=^Qk.шFO(db%Xc7@+ٖ!=lE*v嫉|UZ"f?R -|`i O9)GcœzVJq4%+[%H:AB>_'0Sr]+wF={=c24/EOvZ< rϝoMRB-0lXկ~XmΥ,F}aЩeͺ@n ]D`WS2q<6rpz qitu5zMR8zTШOoCw7į{ e4@ւXooLŰ}2ZEr:5躌p ~j"ȸ_jK+k r15M3FEJ%8vk -DqT8,r,!}BqYOb'Mnf|N=>ۋWnMB"BrL'ٸ#j[{|NX\]qox)k7iqv~>dO0Sd#hbx,&38HQȾniHK\0[9`|Q+A\0ӝ [I_+P]ǾV2$7v~L9 -V8X;Ӿ{Ǯm"RhQG⪉ Οi뭼 ;ד.sm˯&r iLkη:IMfN$XІv<`VU=ktݴƪjo {}GvZj+Z_uUֺ>0!!@^,$0$!!@@y Ve}]iˢ؝vt׎Ll{;}~<%mw|,m+^N2 yxW(b7;0wZFE#6k @(\ptKO]VLgGSw\`)E Cv9X=eL)@~> 'VYv[{KS&c' "|{R87eTeIiaEoc2av] (PcŻQe-R[=]Y:[@&^ݘ8(MfsUVb?iY&"+)Kɑ F>IM+}41|@/4}d!ٛ/so Y3M%k\9:nE;RTx*0]ǐIWϣ֥u4BQb+CK|tb6P -Ku~l$x~ <]*tHC?hw&+ _]ݜN*DwR֍rKbW-^Npr,pOlU<]yoT",7b7i_**slqr,u*᧌?e007S`\C6qL,K"fe)J>ڥD٩w_}$[ 77J.7bS\8>BLHٱC,E\Y\8kxȮH ߿?K+nf=BRqjJ?f{:F&56ƹYq>X:Z}-& xm"$$#r>!8 -#Qlt#0}!iǟI8\˙ፘ؍cѭ9ztX\6MIáE\JOTN(&3Tz4aG`t;I[3\o|?ob5ٿPH Ք -N9MtuV+D! -PdGQ; ?/jLQLWg= DT#T;*9Zg`2wh6&1>= -23Q\%*|V/M^Y_~[|%Nj"XaCj LyZ h▅ y]PwD/ƫ>ӛzz]WUpVEZO7mQ9@C7@> . H|"hxT78vuz#oy{q$MRn2[Vj|]?7Bp'1dȟy{ʟN3d,]$rA9>sуg/ -}={^ IBdLȅJ|{BVdOv`p`1Y roA}Wמ~§_M\z0СMaYϛ|@ 5`ح^EN`$XW~8:ah'0zpbt('^ۺolkg['|-nlHPIn*]H<<2<=W:.y2= Ea,mI $Ƃ8JUz2{M;^nVʕ*A^)+Pv 5 ob?] ۝K)09'>r/|˕h CZEVTR!łc'uGmǎc֚rBbn\ZQe/vT=kL3:^h|73|k7i78$.,, w3yc|Ľ(IQQ#Rid`Cx{잳7 -~Ȩfb'j4\11qqmm.y6o-<9/^hQ>TPQfĪbӎ$dҙD!HRA`ch<2MC\ڂx'||ڰnO,K7[4Z8(L! <_e+o.azJoB nExaIYA)RC1ro9OeBoJVAWooa lBҽ=牿O&5ZKbWr1>0ČqdHﶋl-#MR_.oxd3 )kHN3/ޛW.u-Bt8&7e}P9]۽ZZYAOgZx9 -D@@$@M-T[75 Yw\M:S^uzOs~7$W][ͫ)]CJoJ%Jԃg8`URi_Eeh11\&AΑg)IvSh2X p{VVFX|AR6Ń5h >%os}y_o_2̤Y󦵞{$^?g\d.#ZWw#o KȹNTr+no/)`MP?ETg ,2R1`k>G6[H?WSAi [d`tj[t]OEQ2j9x@q|_j,NE{lNՋWTq4F\!;BMvKfnj2o%<_ј#NLٟ|xC9o@0RJBW ~th+ : -ΥCt G ޛ||RkBoD+snHV k=(|obH.2pB 1ѱd\bfr_kfGN'=Aƈ~5ÚF;`&=$Z(}~^՟RDoDCN1|nxE]H}> I[~{%z&R99z?}FqTh= ;Y֠b\P6Vۖ5LYV -ϊfvb)سKG媮Nf4$2$<*oUX0*lq"_T4lZvzĴXrSC2vF|fWCP [?Z0hьZz@7ĺ8\#Ęx6J()&Mؾ|t5k|A3atXТ5jks"̒Q :#'a~IXjVLՆKr0Bړs}yyLj;Tdy})of,`& gPLMu:ctǃ_"[ 'Nouټ,K_yzoNcP?%fЙJynf=$=dR t%b~)؊3U?ޭ)?<@ -0U"`w9I>M~rKۮh YP_Z&ίa9,7Z -"E٢ٴi΅jnVWkJߛ7r[6,0i(p;Q~ L|DK<^pmAݐ:an(r 91ϳXh$#wtʟ6_$UFE2utVZxk>\Ur.O҉Aa[=X1]H9 -V[0m=AZa-ȭH<8UDZݪa.(T [;# ̻ Z)8%s.x*WqSCXviz |[mhID/}5兇hb2Ttf2;.z麴=]9}{?/N,v81"Ռw'~.9-$&ۓd̦N]d99ga/leZ\qyNVt?/@ iI`DOCwIbEe5DI@~1n}|䴼4B80n54kDɢ &faOsP<`gDwB0 `Ph٦wŵ6v޸qvra6!z0wucfJ`lF`_>#rѦcKѼ x0N|4 SL9yp koh?/\mO,4@X8utC`y85Hr\}/!Ƙ,Y^޹ܜs=v[P]XWSȥ7 w^7;0~TlG~tm4284NTҶ'oD)E2}wK1OSP;q/Nes{^FaDSz9c(|OGvFȧ|CyVT!TQ*"ZETHd (D&V@uo1yvSήn75O6tP&:ܚ>-'z mw}Oi+ggc鳹ZcICMll 4^XyC\`[o#5u}:RM?SX1 +=yM@މq֛&dUq]fWgRY{ (੮#+Y됖3m1iy@o$[q}Md3s Cf>L)t腟*9[ (=ǎ3n%6!E{` WS ꟻ3_I9%CB-ڻ pBͧh,n}ʆ-~9oGjJ:f/*H Upj3x{UE'A@ќ QI'j`= k; 9P{&QWd3*P ӄ*H pϲi90+&]d֙JJ0~d%S]\Sn 6J{dxCD $ \Aܣ&ݒS-g]:dßadE,*D $:X+eܧ6#U%c.yX>Ǻ^||1}(endstream -endobj - -18960 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18961 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18962 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18963 0 obj -<> -stream -HWo8]C(Dz~{ER,[IZr֖7#[ENP_9oyC|Ӱ/.޼=g {诈[ -Ŵq*XX )?X%6db7zޔUl۔Fٜ)gBYfaN%ͫrX4f'B'4ɧ4|aXэ˓gR`j.d?yUyt)bDj(T' [G >9`' ߱O [4fJ ~V*Yslȱ'2 p>,C!K,_;x ԋ@ ԋ@$@$@$@"ԫ@"ԫ@&@&@&@}JO)> g,P@}FPoPoPoPx*k} YzZCVǐ1`1d -µ>,B}ZAǀEǐE\+kZZC>p \c"k} Xk} Yp!PV*k} YzZCVǐ1`1dJµ>,B}ZIǀEǐE\+ k%ZZC>p$\c"k} Xk} Yp!PV*Rk} YzZCVǐ1`1d*µ>,B}ZEǀEǐE\kZZC>p"\c"Uk} Xk} Yp!PV*҄k} YzZCVǐV8_Uzq6xϿ8eijټfds,VZ#wl: :MM7rvMigvZl뛓Ow)eSn\)7s 5|86~n<>Պ8U_iCJD,LY_Cf/5fl,e6N~aeݬYή7'_t~{d{v{+j,v+&$L!|6ln -ktqLxXyef|q\#1 .Oe1ff4Ӟ4w0@Itб[4 J8 I,pu GI+P6MD_4M}PiņA]|}asZ}z>L"3ްy(C}Bcza,ߴPCRrh>7Qc=e]7dlLgװ'&6Jt3pLg6rvabؔmMʺVvuдtƍ7'K[ 4y2(Fk!E6b(\Z=tTdb/xv5DS*W  =ω^zdܭww]NӲ(cU5ϛg_WzaRpj[0*p>u;2pz^cTY:?c6UTkz_ -w&.JRN je%B?Íi|S V=D@|6A sum][UB1'wP - -i;Sg[+-׷IZQO|iYYd:z69gW>G.\2 MZvvov{(/yװ[>Sfvx)80f7=z2NZ7%_OFξ7+ߟ{e[͓>ě=9e5^5[e.E n vpwMh# _fO+)! 24[wj?i)e/|\tqS8{rLrHiļ8;??qtTdT>@ -Uf02,n{d|0Qߓ᪵+j&i /W'XJ3pvrӌգPvLm`T4K"Li4i q1&y< 钝^ ]hQYqh/PqM-t\5^.n[bT"sL*PbpZ_P%J{rUֻ*ZXxEAT(ѵITL] g>_|9|'.~9#6sz -XEmY}[]L)qI%=tU;$@:ø-)$ -) >Zw"VӥxفN|#1fEbS鵋8cޟ6ьH_jQJW[ԭ+(Alaax;y<@h2Sj=55bL[c%+C%1I 2V|M{xD~$. T1ht -2 ̪Ҋ"NԲ -u&i`gQ[gՂDp!iN<"%뤰>ޛdwU9#Mf0><$9O@:/<q]ox6 !3{Te!lB,^,t* k 9 ;gP?n Cq_!S0ׂt)|iՇu<\WX*s?S-䏦_/JE}uS_~zU&CTՓv =P5\xj -%E>sS+ -UeV׎q)۳:D:l) qb>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18965 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18966 0 obj -<> -endobj - -18967 0 obj -<> -endobj - -18968 0 obj -<> -endobj - -18969 0 obj -<> -endobj - -18970 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18971 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18972 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18973 0 obj -<> -stream -HWkF_1| {yu wm -70jD"_7Ejs lȩWmz嵊7<~צP_U;ZN'V!QQ"*-ކ>f۴.mU/n뢧h42j -X$V*@Seq&}j&dZ~{"'}*OTp2>c3}g9s s}!g5Bi)Z!R Y=ŐS XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` Vh-Ő%gBk),C -Vh-vZK1dqZ!{Kh-Ő%guBk),=kZK1` Nh-Ő%guBk),C Nh-ŀ%bܳ:C .Bk),bZK1dqCwO1` ^h-Ő%gBk),C ^h-ŀ%bܳzC R Y{Z/bܳzEZ!R Y=Ő( -blXh42jLzˋ5qjY3˴=f/tf^d0;6yDV~U_58"#'G/}U} -²RjgS cfnFeUU~ʣĔ\:X&^ j!+iv;CW~L#OsrO1dq-K=Őŵ -]^φty S כ/˗G!/;s -5aRhcƏ/ZMUϮon'eӛkU}h72GS(&^QN B˷?\-O]wWa- x3*0Yg'փɠᜎOa+]س7˗x5\{UՇ//3FՍ.%8օ;lw'J6گ?(iZuPwioNV_:?ݲ٪MhU(]M 7]V-҉YJۗ/y l_7͋ n639l/u[Sa a^׷?O;S -ބa > b&ا PVEm4nHK!@ڮef%ܖ^pWw; DE\*8'C}s ZjLc6W\ne8Šg72>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18975 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18976 0 obj -<> -endobj - -18977 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18978 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18979 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -18980 0 obj -<> -stream -Hko8Wp9E*E6 ҝb] )ė=l]m%(oCKRg' {&۷?gdp N\"**y&}&YŲ/dSY/jVnVՔ엯ݯl,o4l|yx`y±,9'N?cRY.tS-䵲byum \/6Ӳ\Z-oJŭ/ѻb xv@?3/Ť`]}e^\YGs''pG }/E {Gw{Gw{O{O2+bm)"X Tk@ZbX Tk@ZQjZpVPDj(}ZEk"GUDjZpVZQjZEk"GUDj(}ZEkLZbXH-ZbXH-ERb-P(H-ր"R@j"X >J&R5b-P(H-ERb ("X >J&R@j"XeH-PDj=PDj(}ZCk"G5DjZpZQj ZEk"G5Dj(}ZCk@ZQj Zp,Dj=ր"R@ؽ{w:ޏX3w۪IyY6曓E[rOȹi7F4$pW{X*U#C3U*u@.t_j4*Ϲ3-'3;LH%F啷E/JF2uu?/oY>c{ Fx^-^=vsgja ]tO^K'վnl[X{{_zæc7b/m|2+9ɅeSArer%.ޛ)-'Wp^P: 7':oײp)c>?Yu5N-,:oWg,ue_XC1[Zg~ʨ&)2:S,,{v5&E]olAx -kŧ]z!Wp[+l/LbY`a/Y.{bC"vM Y_ a~e׬MEK:aș}Sw̐{pؙT[Sݮ馚MF4/OuL;!(T>'8^/q6c^nVN@VZM>ddcanakXuhЃ:T:tmnt?5 ~twߛT?(;v% 皺 gpfY䀵a5ċ^++VWǺR+\5uG| \rĵG%?Wi륓C ?t_(:C'Z>#Rڽ<--[qv<'/_endstream -endobj - -18981 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18982 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18983 0 obj -<> -endobj - -18984 0 obj -<> -endobj - -18985 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -18986 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -18987 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -18988 0 obj -<> -stream -HWn#y`86}0 `lAR6EȿȪO+2+3r)ܞr}yr揟>??޼<ߟӻ*9,_N>aoy%ǾrxO>_| g|vOWn q+utZ^nO\^TFST?B,9aj/r15]=LYx"tJSšrqz}wiyb%-ֲMϗ9_ˇGӗrŭSKT}w.Wgmy})%$/ʐ*uXؔOOnghkch)ϥrUZ`X;ks'z@.W^;u k]JcuLyhX|Y=Aa¼VNݖmj龭%jCo\d| r uv~dDſ2.:yM` c@;WFl`?93$|q?9vcY[{LaGq*N;b\S@O[ɻY~xvg`mXc6%J&LI (GJn -$& 4˙!hLzڐ/L6z9RG)S7`v:׀c RAJSدY4L.b^,Cd67 eO&ʫf%LeFŘLUO(UV2%Lm"m(.y6!AbPȈNdSs"u#kwf>3Ԗ1l9mڪZ[fq=,H!pF9{f>6+9UT"PO$ܬmv`5!->-uk )/ -']XN.a8D5j3W{8ph3ҍfRdI3J8tHál6*ї'U5nP]чA !Ÿ_^. Ǔ[nO~@~99+H_+z N$8nqTNȓɣj bf gy>2t>AVfK:63")w֛YG,ލ!e}ƊK<@8^tQS$q!l^yÍf/~h1qp4ݱy9:9l@!&Tk -xXTjFJj0}h":UB]8)"uݞOf!A[)  - n`tv$n=rY{ HuGk~IsF_wޜJgʌL>Dg*lL_sAσ -4D b!=[gzG78.bϯ!;5US쐷SU7aH *:& -],sm}Vv]q38Vqr }o1v&ǫᶷⲼZxȍ`'0VEo7 Ӝ69.YlqT`\0>ۯ;.UEF1ENw{)4<,Kqm 3i4McӰᵅCL+QsORm\16ZtԊ$]_OȄJ/OJ&NJ@9ϤCmЬIw)N62b(4m -UKnswnw&E: tW}4>-dr,fA%+ηwTͿȬ(I8CɁEF(Ė.t6<lAULqA-jsg˔_o˒0>oB8^V55XEhb{L54 -k -ºxv bb##y:"T;H- { ÓⰋ5VD\\(qNXr\@qŗ[lqMX:h& d9M%$΢|Ϣ8cLjs6\;P*Cx[AfY(@$\|X5S/fy@$msɲǹ -yT^b\bVV[ vaa}ۮf /gbՙcdW~bʕ&Rcm^!p@t?hErCزWcpZ*4IPre̞#R+1 /N૧-z3mVݶ_n=BvT>btTEJ:PT+ā ip %-VECI4() ^A*UC ?j}sԿEA/V ?OϢ$Vu nm^F(`PH0ӯHQk9yUGFBj,k)/2е*ĜOz*J, Pt-xej? A&qL/ MSH+WȴP~i:hћjW;5 -9Xi`2P`ME9E-P*%N 9HIA%;tW(CֹBfc6c~2_!3,Rf!V@J&6o -:Ys\*( -dgٰq9bÄpft:9-H6-^/+A K!c6Gٝ;jNG57j|!@CnHv.FM5tpdXeOUxx )`.E CU:ПU`a~þ'61.=}j)6GZ6x.Nf>8 -HLCf֐꺠y {xM?d>X -c-V?oa1[Z^ R@ ]pl1WX(]d@oj9z(\\h5E=`P9btxAtm{oS{ɢϤ}E& -8ˮ#D'6UuOR]IIEA?EA#Z3V-U'V]?gU -vւ(ѐquna#X?(x@0ݍuu?N.\-) /'ť߯&Α.)I&4e4sg1oЩ.ɲsyDK,jϱjؾ ^N8`}SpNZ ֤U7/ X ]W{b;w`y+|l^+,h?0dI4A4VCIEg 'nv94''?k]^՘4!ʑ !֖?J9;Mr^(*7DK7(Z4YV2kR(ՑGT{p}<{w cz0\4/2za M7%뙧qF}鶽_"`.;&/|!Vt'X .SST/"%y5b5Bb@2FtLOXdN$6ee&/ӛl[gưQz&:F`X3vKo͖bwٽ8z}Xmcrr}7kT.A?{.6XxOhvE:}vsy}n±4+9,htK*{uvY 4}묁|G.VA3Xnm.\/EE*v?"2 OdhַY0u.Nnk -~HF%*$aBzGo]w1;#xuqdb[ T4"cn{UP<#)>^_'Y7#&2u?lw?{i9Z f.D!R'Pm62&2fOL6F{BOZy%OS:=ci:k./P5~5t2(+Mvp;ݷ XHÐZPvkKQB XXۨ~(C*=j rF>޵ȭ<~-GD~#&v[QWzh;7Qv/C[AN}T7Zb hߵ4(P))Fr(6;j-$g%f~~)(ȣ$ xg^8ajy7d=v(1juA׼C8l7yv/xzi+:85rR0+7 T[5Y4=wì2ML94ejӯC\rL$~ʿ3mPK~7& tfyNݘ"Kλqs\ߗĢ^#ܪd끣k 9W$%ܹQ>zyeuMKsy#@O:8-Nر$ءDحa}~4ғp}׵(Xk*kgHf^y/Ϩ)~qxM5LviЩBeAi S>zgxtZNDQdQ:ĤGhČ`jmT޽DlKk^ m- մZ2$7!3zb;t> -)M<̻2GkL.3CL{OJ]kϛhֆJ-MoocLIaRQ΄I&$ͥP1д}9j({ۥa&yuHulި1(DDh',vBKRu`u 1:|4$`ζx׎VB5=E3 L%faׁ-3hug=4loVC_=Ew ]Ҙ%x~ 8(^ vҢEs^_e)OmCbLG)b9H /( y; )m<I@* OrhWh>Yi4Z?IҨ\iT^Ҩ4NuzM7h4?H"~j_"K2u%₶ʾͷh_JE5HCWAȊ -p=lK;^gj/VScu׭ qTG_g$V"LyU~ғΥtv dfeomCټ'=&1%[\8nRŕh/.:rW#>4n'ti9b;{)Q'G4X㢖" >AGnvF|k`gF,ơ8إ . +% `/7u`M/])YTGh/կs ..$u lmmo =I6ѓraR@UVP f(qTnj)"m^L#4.t'$~25aBЊ+jr`U|룜]{BgK MPk'P7Rs[<XUkxyXE)EXUW^ݬЗG Cm7jF 9&G5R3eapt篋x#_#J yۃꤌ_:5&_-9FpSz_sY؋IV%H6fӏUE&izԛ6=t#LW0B2A MŘ<$"{X6EE/KEYdl}>@t?OLt8=i`F9NY۪iDbDso/p{Q녮d - n (Xu4Wn`6̟͠pb9΍om#ӵ{= SNop4Wwc^ɍ!PyL mhI &wEQ;u[R15#0=9LrZZTD]]Y^ h8]ß ՟i8&"m:h}@J1avDtQ.hӍj]n' P4747f{a]ʉ/(n#~]nouJ}Sm/rg;x%(9eX餗^CA7r=I8~<KQsi׷E.ZtCR -|8O7HnX<"x,w|GC~9Y4$ݖs Ft>Lp>+J@X"ΉGlit^c 51 Fe dv棖R|@ݟ, -"% [욵M :\Յ0ꋃiW-;Ę䯊kREѫY %2J`JfN2SO\uٹRrl7ʙˁsg4M{#=!̀Ugomp$"2XYv["&Q5FErMs9i]^Xe0LvCy޺FDlczoPD*, })+F3w\oI7%nHrQdBZFHeQE&*t2g0";kUo" F;kEZ]ME)ZF%w=b"l!%o(}/ d9_{Ӟim#gx(*6q=a-sBiW3M:?SwNJ:1=)$%p1*=F?.#f w|ۇeG}x(ᆺӊݾUd7}m9 v>,/RxgV;ȶ<aü0 |<6qT]hhy?ːjpuҙA#o.Nm:w<7T;m&;t>o?cτ2npSMmjc'W R%iB ;p.> vNy9,'co;Hr`|л *p`ɎN?CսBa;׈7RdBDk. 9Mya@N*8ƵY,@01䦼$ڃͅK  s\ )}nǫ_eu/)sr XqxNMu6{nXG λ+_|^,N@ҤkSzr!=)(-'A6(O`_^KR`t8St)iS*VǤ< +ДvsQm4B᯺/K kQ R,Nㅎ/uP"o}e_ ;'!)pql`.\bdLXx:H7nAA^QQޥnް &@0FOM7^_FbЈI z~|.iw%p w[{Ak\5" C]~)n ҙth+*%I5)-TbM}?~ nA-qˡmur[%u-xw_Qť#d&;ncÐ~~\F3Mg4ӂ5:A؟$Ƽ!1'8~?Y>L!p2h&g֧';֓5 {tC}( -[O -[7 -+ -[L1dKrݹPe5 2 Yնޑ2.6vig 񡴦 -[lʀ& Y -48 -$kB䟙iAB˿mS nrt?ez8ɛ i܏9z%$A^:˿ 9#xhzh lhኤKZU=GTd}[.pt1osI˜tQf2#g􃃕22|M՛|2c=FClK|s=^\~cȮ9ʂPNHb%W^}~Xn#>_o?OB1> -q}u0ֿ};zKr}}ZUӆ/(˅; |C3y,Nstōٓ>T* -_ޜ^}}}ydZH9~_w\1SR,_=+nIK\8::G q[rBF?/Iz -E*r2_m}E+^ѯ?"Z+@>XHߡbd]ܥi<0q}Z">{+ kԛӐj 7qk9&"0zc#"ݛR^(7RY7\d4Fo;q3I@ d; lH/*B4; qJsىd廹I^3HWrP&`jŤ5zz&0BC!pwapO#Bp8;_4+&do#|Sp;%( ]0{}L&u`fɰrHaQ=>Hvi DS*DTV&D< -j:&v4*gόwLM ThX*uޕhy5nE!-Z{ɚ&L/BaC:\WL ;lVuBLf8yaRUp);44jBf]@O(l PZҵ_3Q+fd 斪 $]_ 6ujcbIpS1Ŧaxה\ -,ˋ1_jn76 -pzD2ND㬟Oz-ZfZ-)W nd_- j:/_&*; ? \_-<궹QHKFk+آ6s37Om"T:gՄ>w6"[8ZZ7z!Лae[2Za>@>H Fg=mT1],P0Gv`ޘ 1@{|fv+u!yp>h4 n0AWl'Nۑn'tvJ;^L*n5mkoӨb,Tm' [f~>yaT1K]_NW ’8K^l,qi)ryWjI -͊jmFj-j tNF$ٖq(D"r !4S? '2_9@!*eǢGQFUV"iv,kn8P%A -+. % yg-ݡQM(AK_+}Nb&7|L94Ȣ ճ\gGKQowRx@ټ繞䗆G-Y/rV"tMf*R5ogѠ$5C%j ƒT97ZʸH(n'_\ -?Πus@g=\d~|ڽj\OdV#ޱaHGNC&໼\JO9MDԪv@ͤBy- JE&q$(%QѳL8xodwطb4p"ةi,46;Cim.=OI1-@Oje䗋8MM |Wɒ"xϯV !q@8 NU#1~[""_Va*ދann>b"_Uz0ѦQ )ԊUh_244:HYc<x ʁ宋CfZub]p֭[,t%8$MdesQMSPP^U3B+rT|y\1h@jQң/o?H7JH9_Hp8{:8ͳcѣsF z*ثboT@-!hz 0UF>9G[1 -*G6D19yǭcpR6NAes6]KbD}ہ;ly]1с߹=p<F0y'Q$rPSM Uvep?&2/}MVY-C/4r_n'܃|avbuO>q!ahL9 Rj1)7W'պD* -vFgK΍ .^g_'fGTZ]@Q乗sDne5gjK n [; %5Hmd&V`,! n1BZ\;B0c?,9P ƨ08lC ,-)ap$f9}TT.0l+2<5>[vR*ךHz8 -^̐Pj};Y֞\5< lQL.`gֳ} ]qҍ''w?ʺXמYW~>)+ϴ+ϴ~*뮜{f/7gCc`8=y62A3'jwRͺhoy}rNUM~1g%DZ*Jl4g? Q^(E捑ѩ@{RU1*w^ Ŵy~:ifKv?{}(|R> %͔JL"XI-Vi0]#,M=C$cgB }qA.'K rԚyZ7S8xUJZ -`<̚/>Г-ZeoCT2ĸKy?_Wq('IL""j: X6]p9LYXcS+[ :kŹCYd9iY\f ^udqn8_oĨM|]KW엥`pQfx\XO['Y8BvW\ĨQ6@IoMx OcI{NUlβA ED*nZK(征nJ Yܿ^o99'u -UGO)e,%7D ~/Zg8*ߍ:d;/@>,1>Pۍ -tA0;꭮I-W14|yu1-e,47RLs?| gd4Q^!z>ވ$:}m6v/vPtw*X%)1F>tk9ԶLV*JWrPZ)w!`?Ienhxeu03SN.P~Bt,!iˣQR/LKW %-?੠/WךyTl hۭ\UtcK%*T7T>(2̞nT4b}ԗ:BR٬66MkM٢b|-17Tv04x.s"23.@*h䴣kFcn#\D}oľvڀ[=Fը"`/ذkq:pq/-0 읃xN)&*HD%da yxYٙ}juuN:ytzo٩v0+j7#&V]QАB -4}-O`[&]56ľ̵=TUĴ~o^ -KQQWb]H񲮿% MJPTϔRz^N-'> kbrhX-!oǢt['pjp9 ZPc"(!A35(|eWhx1q}ԭE^,11p;hř|J`'C>b"a - ȅH*,6\58"&endstream -endobj - -18989 0 obj -<> -endobj - -18990 0 obj -<> -endobj - -18991 0 obj -<> -endobj - -18992 0 obj -<> -endobj - -18993 0 obj -<> -endobj - -18994 0 obj -<> -endobj - -18995 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -18996 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -18997 0 obj -<> -endobj - -18998 0 obj -<> -endobj - -18999 0 obj -<> -endobj - -19000 0 obj -<> -endobj - -19001 0 obj -<> -stream -H\Ak0:đF-@hZa˦{5ld8+]g7Iyݥ~r<{ܱO]pͭT,+7s3ˤ]:E]M^|swn8}Q̝>ݟ+qgM[uzB?9+gî~=ۨ ^Ʀܤž_Yo+pl6+,^,l0ޒ lrf+r^W`O@`! 8#ސ7ƞ^^u> -stream -HTiTg.^DfEvQDeQ@4K# r "AG3F%2pT&AaӌJ("VD+LA3?9Wdhj0LJEj"[0(!2DhnlQz.$׋sO,See*?ݚ-Yh-{ΡXk#Xl1YKT@ -BNbSP߃wSD`x9Po1@U¢!xbcgA=dJ,%I̱5t$#ޙߓ"ʙ@'vP{GG@ G8Ja/[plBDNvP' O/ *t][diTFp1? 6M/9O> v@b?y&(. 1bC)kuSj^{;[۰+k"9ZGj"Lfw`<ߗް8R2CeD"JZT9Rt5q~skxաɊm$B5DͽoncEwmFFh^:)xF{HgmI22K_o-L hϾ έ}jC+Sю)E!c8Ϝ/xe}Bs>2YP~A_}(@ -#/l)<Wz `MA‚@ p'$xCnYh =.rcNW5B+ZշZV>FUnL0ղyPW=L8Âc@HC=J "Sav,`cB19{)fGP‚%PJhV<"f):?~_.s'fAD0Ǿv P75jhR(oxAXe;&'JQ 6$HAq(. KdYR  ,I^yU zr鉣 -L81]3jt}sx?SDˡLo#Ql?v_"K.}p>_x`;`d=x$f<1mN@j0[+Ȇ~N -77 -H92}bGg-ܼmBz,?iV|JkO}?*ϰeo@_8 AbUŴbhC#,,3b8wfn )1q=@9{1)wz`˩ Z03}/]hߏt^Z֋߀vs!d|ޏi59i51hcQI̊S7Ldpµ!XD53m6lRl'KVB(}U!!Q%j'ǁy56*z#REE ƪ(Eb7NG<<.(]RSS={;F,Fo]ϲ;&\>c wAj΃Y-sp.-LJ@U^}As7նupaepi:G:]>j<"nq #f5&~4y.[@j~[$}G4P??t;䎄w+~TҤd's[,dx[$tZ -*1J` -3sx\F9G jX%>a_lSEuS]hmf 撚iΐ!2S -oVv6ok0L+߄#q-W kvH+PX9ÊS"avw+ MGerGKhV2t~c 4%X0 c<Ə&*P(Hz,|S` _;Qa%$S.Hio~ \Wj6TbhK] Mܐ0#Ŗ`֥VHٵm dFXO1Q; |QzfCoH!(p9GhRy?"/r -#x[9rV -U4 >"z7r]tW6s|ܺ3+FGc+70th~ -}W92~plv;zmWWiLӞVR67aZ+`gаCZK`jثyIyVE[49GpH)%t h @3O3hq`>LɝS8 vW>'f͚hi/Uy{9v8&vѲ;h!`9 **D~BW" I4Uw B)?ȿ^/ӫPDtSFZ2ͻ;~ t̷<}Eyal06 ?cZjnM#b3?x's约8/_vsoXcuYi-2>ey <\yU"?9r0+E}||A2d5 Gj*9[!)/@f :\=L ߲r x>`|{ԨH:U%AC_ETB&Gk`316<ܑ5bBo}Cqh迊x 1̟uK2^TB?Mu'{'JNc -ểX~~Ya^b@1!AbcQP5[*k䆨=Em^/^o8J[`n04 0U`o`Ռ?I/7P%}M|i.*)6H6'[oPPQ-nGlȀkS_J|F&gcWi`E3ؘC :&LfHGnR xJFs P]uR2O`r$0#wT0z'vU($R{ H)`ӕH_*L&k|6ƺT%sǥp}  -]Fh6'pl3g'G:7^SCݰx=ǭ<ՓI>Mc߱0cfekE.xE7.XIZs;EӪU;)PbqL<8-TIJڦʛ{=r41>VjOb~͸wQCǕڄ}^k#%EjL<:HM_(VeQ])Lz89 zxDw-zy&{R?X{KbŒo{0oljE3U G/9<8򪘌"Ng-Q -\5 -?TiI#`+j5}0`0Y'ѨBm2<|m'LloQˍL\ CR수% gK WmFKE#IN O; v[aro6b/HEؼ1ބ6=IġƦG .i\'w40Kj9pS$:`'@C/锕b&>S 8awlqԂ$vpiOohSaj*ЌtnARC"B\#7LctP͑XzDMGb>K:c(ZԽI!5y-<,hҕS÷MeRr %/2j&6Slxcyy`v2Ue$i[xXF=J +ߴv 9%u!h;i`;M1^ok:+QfL`a%N f'C ȧvBePۨӭun7̆3c53ZS~>@$CE@棧&gm$wb}( -| h#/BcK`,dJyxCtN8 EZm>VcA|ɸo4o<}z2L?T15N)ߓU[35zy!^r^o]v>%{;K/I k`icbrVS19 -4Z'Cbf֒WjL+"̣f0c)+ "_b(vT&`7c`ԅKXd&/Cb?5ܹtmǜb.tCbFߑ$I$)5 -7?MiRN[I͑h|u]su9Ϸ~>o+lV+daBPOq:ǴueW.޿Bߡ@e) בfvS$8G`TiCe匄b`!="B/ $#^1q+aY:H!D~o)$105K7tQPwJj^PLֹsW6\+-WVmwpqqs-b:=VG!!'+mAC\j mBNj⥬ACEzk_n+Ԃ;ֶ3y@M^7z]^kh|*N;_ʪ>2ڀP{TV Ofr6ذ:K@f#CyX)˂Tf44x@N?ANǸ9-zI).7ч]qܞ$"1((aqCWI$&geScBp"ljtsj}$96Bnw@rh RO)8EzTftM)Sa"ߺI#Rva=/uvSJ0_˗wJKE 1]RYRTq3켼@_@ݓ{ 犦Djq\T0ĤFxxD(Np\ ̽˥kF> R1 v~D*<ETWq-#aw|x[n^Yiz|*;L(̋){o!fd(/U*p^UaVQ9wm+&^cRŞz"\cݤnc޶ dVJG{Ej_. hj2@w$F6y-z~PnIfB* 1}bK(OY.HZfS;Bn䰸aߩ@>fJHAY n4sA[_qMt5_3vL͞9|3աD #aR&:%;1 4di|jC3㤘:rp1whU-[P"( -"RRZ`E|@Ay(l4Q-ʊv=s~ vd̜JEҿlSf8qk6N\iE:N}zBۅYG-VCf-X_vs2gaHFAs%FңP9(j'"& MǝiN_%7p֖ V@E]RUl9)#9V)/+\<=yBz-/!>wߺFL]*לeJE0;g;Eimn׬2- j>;<9z;^X_rѧgΖFǬSDɆGeJIᤨOkޗD5[Ew(-Ay -"D V N4BB"A#$N׷e#'O[y0XF%.A.gA - p@DvEpǨ (p~M͇`lcqE+ LK ېEqKq -ȽI=B'g[r2F׵w6OD -* r4mkH3{,53vsZ&D 71lBVEyˣՖgP7 e$7;8MjF): ;a$z?*zzw *p#`> #ci<2HRp:$([,nͩ/mzAnC>m dIM%>҃kE$ -uZ^ʼnCNlr1 -Q2Bx]O1 b۰zϘMǔ6? -Zl!VwpF _ -U H''CҴ8_sPppÇ?WP1[Q;=/j[?q#f/fâ$J46om3v_;L|qAikx?7oBI8X^aʙkTLi WQaI c]gIqg!QN8<.0l̥Ti ⿉&+D=<$`T j""~:FLj9NpzTThsN#Tҩ]W;AfQַdT}y4)+Ͻ{=h'Le+c4z;^3\ٙom/]fj幛p&Aa]qIf99&_*1wj6&l7Ԥba5$butTp/W2iEf2칌w:r8{̕:tTASjrU"N.szh$33^]I^UOVa'vϟ-WB*]ݢ&fSt~ s# ;Hax N:VƐ0[O`q.i -fzYq囅%W` ԌR6P6E)' صlj;`xNjBi - aC^P -2T_a~hqف^6Q#.j8t,J(d!]aB -R$/9Ca&Z|/Ji {.kňWxwU*zWISHZ)W'մ_ͧ,!q 9r-y+Fˢc,Y}CWɉå+qt~M"/YR-`L5dZl0F#a7fǍ=? Z  ݱ76|{O{{k7*=z͕vt\= Σ=uȝ X96u"uEGY*0f3|iK&.۟E fe+:Sw)\p2 k/^ _ƛ?~1ʽ= -p> -C&hJ4{׷s\fuDP=Ԕ 0 mq:@(FaT fЂf.A-Ql!Mߏ^&<4 Q>WCg*2,BH iO֣[xfi]\()F3/}\xm1X߸t-s68π"&oIg~RfъWOp?L9e):(..`~fT&sք?6eHϺ -Z`\$$҂I]'5*uWaЍT7p$-ي}^jY%,RvwP#.cA1XV /vgQ%a0E/A"ъE`$p/!bovZEΰ[h:s`FRvMt4R)8iM\]FV&,R7ݦ.+,l1 -$[; k -K"!>^N=ЧkdsNN3S7* tr 2sejMޅi; |luۦ g?ݻ -OO mendstream -endobj - -19003 0 obj -<> -endobj - -19004 0 obj -<> -stream -H\N0y -gJQ%hAQx4ٖHԉзǓA a);]oڬ7]fkw vϡ1CyڮVӻ9C4q}RU.}1\]:I_Bkw^t{/;-}zh.n6mM;~ezN3Mi ?XRX1eb/7uH g8Ey^TɡS'N /"^{s0 )SL3eA.B5P_/9SG#HI.h -5eҼ%߂ '߃Y+ArJP+aRQSSSSSSSSSSSS-N.u՜Cm5Oob[ ȣendstream -endobj - -19005 0 obj -<> -stream -HWklWx]{wY3;n{kصcN0n$1ŴGEM4$)-*)T%M6)@ ?6UEBT8QӢY4(:ٙ;3w9JoN߽7q|hN!0F_j#!g x~a]>Hc$g*~X''frz}kI.NM<?,*:<>;w؞p! \zMk_z/;B>WKt? 8kxH+; vI=yqZL ϭE,YQ}5}պQ}>qg&1}E'OJs[\(1cBюƪ5ٯԘW:NУ7Wo[…_VfL rLbqKďx@DZp/ǁ@D~Le+HpS\iޕ/tvu~@o?Vj?of g}m2mz/:|8p|8pq5TM.Ufn%6Wa`?0Ng_Bl(*Qaʱp4&mzE Lp__ k!$7>@*I镵3+!K<\1Wtb$: Qv4'y `V11I{i'@8f7"*9^ÑSu UPu UPu UPu UPu UPuͭkXQr"$APĸF ƸWF$o  @vYp$j0JkBZҚք&5! iMHkBZҚ&5iC>١1tH3+ƯX4m-_ՐU0 -Y]m />X:=̃oh:=:==>:];*sHf \OI5I& $$\kpMI5I&& $ׄ1gG5AA8bX3hwN8K -b$ N\'Yp'Yp'Yp'Yp'Yp'YXNj~*ovi f pGS.s%JFIhg|gF:6vX]xCyYzڛz%;{.{>Rygdc;M1qtDUvu.s6%K7 -eh)CKZR2 -eh)ZRw5&mӪ@XhuDsӠwPq(ǡrq(ǡrq(ǡ/72T0'SkzMv}eM ;PzgGFg 'N}g=t392;2hzo CF'C狈p59%R*6>$ty3Bt1RJqT*#"ʛj]%e6E:"?d= 7yݦv#yse'^{oskiJx\-p&cU}Gu -o;*;*;*4[`\cP*1R, kVRX|>>zS;ᦡ}]ڵ|g^YvszנivkosW`0o(YH_X `n`nm0sm0sm0v9V|9 Xg2I2)Ht*Ht*Ht*Ht*HSA:f0_i*[0Si^01q!y|+!] ٕ] ٕ] ٕ] ٕ] ٕ] pg`FC(Rl ` Rl Rl Rl Rl)6bi k]wնM2~nr͕pǎT:>[ G Oֱ\e}h+ƪH2]lU~-h05z-ROb0O|2%K7Zn{̈́oͮpCVd/%?;xOq]da㯢lN΁;_x#^Xm=Ǟ/)q174%oHY?|?Goc7 -ѣO%AS dImT\(O)cdip8 -gMDK1tKaFq@{ՅK-Y3i<3+lڑ؊(*iP(,RRyj_ʾZ}BwcX6}YhC[dߖ}CC)|wflo~J;3||m|)-7$ -mTܣt4Gs : -KKKKK^B% cT}:4C~iiiiii_hN ĉd8xs_>EMyKQRԕ-_Jn+IOYEnVt^96Ύ]l~>eR*ZAՌL,Z:SG9-d k kMWzm,R}(vjg&g]vſkX7^zMيu;4:YxlQ[c4Acx4Aă1;c)/ujQ$I..T-&r`DUēW6V, 9Ҋ8_'mva4CMN 4;N 4;f'@hvhvNGJId39jql )XUʏ:巾ZzXzkۃKK/Y/ ^fTmsyM}!(_U:K}?[t ;䟨W+^QV2չဟ8jW5ZI*JګgBbuQ,p\?eֵ5v6 }˖M3aw-U͌N݄)RD#Z6'Ȍq/F1ҼpqdZ'g=RD4A4AsҠy נy נyMxYؒ!hx!C-\QYb>oO©zqZ/{"S(I&>@=MSR -T(FbT(FbT(FbT(FbT(FMB1h2NQū!A~ȴ}(STn &R85[Qt]K%EY~[I_=Ql?rg dw$DƢg2ys|Cz>~_I-3g-y?싨ER= R:&m'F6Io4L|E10 -^B1.&qqqqqqE&MĒG!VX tp67V>z=ɯ[EVɖX!ϙm'g_T?DL8˃׃As[π)5kT)JI'IZ"Gq$~ϑ8GHI# p4ci|́95_sk|I| P̹0t.fic6^8k_+𵀯|-k_ ZD -ݞt` ݞ3t{n=CgIg,T'}Խ Sٽ:l4W} 7 #lvOҦnaz忀Z̋ҿyюX' >miO|6 >mgJI3'۹@ډf͓3cCc -C @kZ5h @k$ֈC4M&G8mCn2 ?WytT2IfLfI^LyHX#$, (( -X[d}n%‘]mZu'O3I[B;~wO\~@4cH7W]W}!9u77AК0ko's#LL&idV$L$L$L$L$L$`RO+s>ӘaGvzaGvzaG:#GR*MOuMf;s˖EP18%(uOLuDA=HI $у$zDA=XG 4=Ę(uPAw6cu2[$7|pa=2 ɮ6I-I7GF+)9-)xZe&Þ8 -e'9ԌVA \sU -؉T5cz^ӗDZWN(&*NgSJ888'Qqw隱Ts)#?)/)Ӛ\b'ӱ -sM;~4r7Kn.UbPT1+7VO#7ոSLaYE##XiAwXXXX+7r @dy'2`i\s-NE!Vzb⼚iK/Zg\9"0ߡ\;c;@u7Պ7mcd^uն]LSO N/(k3{XSOI'L(Ǿc뱹#;یӛgޛ과?RRkm5)2pJ̨7UJT*}SoM7UZ$ Jkl3sm[oCܯ`:3|~2OfL?'3d1Of fnG[iCK88$2T5#C9:1k|I%[goo~z -I~ַ.{WlYq\Ϭ/ǴjHj - -J|| -\ -|^:H3w^ |ݬL3ws~7hjՒjjjWzf?~}+3Z0ZW -1M)R -c3c93+;80ߜddΈ"pΤ02͘O-m퐋< ]QBt@GxG6N<.".2GTO3 >_>'W"瘂_a~Qvy,R9rA.;䤼+䄜b,cX0ENcix,j 1A mr _0x1 KLųQ~ 0Wx{9(x0 ШD޷sײ(̖ٲJjTrAjͶVvَNOW -CPVm(=Wia-Ki#Jvp n>bQ.Ѿ ѹyъ+kֲ0ne7ו,nRBP{ ԆYxMݔZ)vNb7ncuӶztuUAsj7_ƌ뛯UUj`Uܪª=UkVFEGގ |?;jdSdNثW$}psu.s.q.B5ǿSj QXZKP(=T*%J2NL!w;ϔƞp+Nb."Qevl*f*]x dq+sy41>>`k X#HEhO?ѪUw.C탾s{s{_dG8?InڮXjpe=&A:xwC8-{aПqrB`z9UliGhhttz@KIיCY#cޒٛNasxW:?k447_l2B}ە&3-fzLf}Agp-I/Imʸ'9df194B1L2"P(L z2hڬ[c:܉&> &@wNfh eM'+G5~mƭ( . ZYm"fg0/}=ڂ4gMnޅ$|9όZ{H͞ɟH96~6ۊ=ڽNJ*odԛ\- )z!=`MQ6Qč 3"nj:x"'ț.[ȓ`Y!XB{(<{**O]ҷh~LkbkjQnUQ9#_|G%T35J {l;JK_Ftc(q0֦:|3^D >hZXVJ9#/g3{ -%ё%<)<{|{[TK;K­[8A@תo#xpחH`TISȻRKsI-2J,o)oU\ΛpG NvBZVQյ U*Lt`@W,u6Wz74WZjao.yz궖sq8◁*PgD>wwh)p;mCqSi{R(A2Wb2~y=t)[?zH+Xg9>܆tx ,c5* UŽk.C޿bu\ cB~70fq@ e -O`N^ls0E5mJ{-g,ͲO;aֲ1RTσIӸ{]}88iJV}@%Pqi[Q CUČ@)MZ??be:TXqCJ!^39;Fqg`ӠbDƇ2>^]e@qZƧ~+x!/θ߄iZC3UT{'i% gM'nE痩7*j j-Gga{q%`r5g ?CcvÏ:'|j #2~q:=vĸ#%1Y?'IkE wg W8tCqXӁ67q+߮vǬU.Y;]%%͇rrcG?1uk#Q XQTDhw7 m6S#ݧxW:k UpE~3k{u'.6:#J]< WkOaط=nsAȽ&W.ϊ7A 8\<_ 7TV7ENa@* *~Qj;q+xZ> -endobj - -19007 0 obj -<> -stream -H\n0 \/*(JiAb(1QE;DX~ݏm3t5[ ^{6 oƩ28TUQ@Ai <=+yWx:+s?8!zik3 DA yY߈v48E+"UBqU*_>IEvƫ"qLA&0L8cšy/g> 3qLkXK}Vx˜ -̢լr{u.3KMj~Q,4{gajH')=!gKx&97iDYTzFO -0Yendstream -endobj - -19008 0 obj -<> -stream -H\T Pv\ea -Dx0Rc@hq wȁQcH3J)4Db HN:gQN!h*$6 yctof}y{eAG޴`iueRfEVMe%kodj|fH-[mtVW))e+f"m_VUgv)+jZRg=(7+K)zQRR,JbW[UeeUe֮)|Sg][J[Yiw=ACI d.CR OH!ل,"d)!Y#u&ѓ[NpsFY_=@ZfRDxr8lXYsB&Ϩ[ ŕXC4H֫wV1xpڪL MK) 9UU42MVH匾\R^x:>; -AѫoC𘺛L ;YH XQ(""4FhaaE3c(T@s:^hg@Ps3W Y5E`5I֝ԗ{-Zе!:l:Yj*gk1ܹbcb0_v{_W 4}ǾSYU5?Nӹ<\0($KWgF**?3>.]l.irwt,DŽQC 9(= 3l]psGj;@ZCpGZ2Lp0*?Q/x^ -Bx?&nV &ѷ3=E2̈́:29x C؊RoMCGW:MgduFW 'QЛpV [>TKi8\k -VSZ 䗖$ A፥X=w -Gic70m+}ȕm{vK̶F ca >ͫ^o4r?p}[G -WܲU E}煁.zn-E(Aq` ǡD¤" ח.^%9`.xyGZ -8̝=p ] |KSSK)tCVW_b,O:u8u\&'\< I8Z#(mz*'B.x/фKif{[E$[`@$ >̧ys=^Wk&~s -d> ,f- *p?~¥wny{L{Gd9$UL>U 8c0]b:냽,$sƆ~y^BX4KƘB!, GZfHT Mendstream -endobj - -19009 0 obj -<> -endobj - -19010 0 obj -<> -stream -H\j0 ~ -C ne{VRb9' l!~}{ mFWN>cogdߖs(iB^!0AkJ?8cȠmȃM03ءsBS݌d,  -8Zo͝F{3${TFՊS!=e -Ov%boT>Ob nrendstream -endobj - -19011 0 obj -<> -stream -Hbd`ab`ddTuH)K-LNuKI+NML()!C_5\Xe$yW#bDĔĢl4ǜĒ<=p`)ߋ~n f{bZ)=wys~w;o9;v!oCwzW{{~(zS<ҿ;x֓l|~hTyʹ?n1s\endstream -endobj - -19012 0 obj -<> -stream -H\n0E|l !$b'RL^ r"_EEJ#ܙjf\Xn@ ;ftn'vha@tseoNST,pS;LGz7;͙=}3yG2 KXӰNNO7vbO{|\/.'>S4O]'ۙ3Eu⾆;5yV"xvևW.7JBӶ ?7#O%kw$fWTLЧ@1:T: _$ДpbA38SvǾYVįߍV7wf##mendstream -endobj - -19013 0 obj -[19014 0 R] -endobj - -19014 0 obj -<> -endobj - -19015 0 obj -<> -endobj - -19016 0 obj -<> -endobj - -19017 0 obj -<> -stream -HVkTgBHfј$ei zk]-"P wD@.J$3"FQAϊ={?~C?2v힝3?}}pt<o~έ!ۗ튌Lh=wk"5S++Y9("XWБ%Dp뇕E,.0SgžED@ 6hT;bTԸ"+RUBdZUnS(jKZqi5*助2F 80r -@ R< -ւB@88r@!@ 8 A=hC.C%c>MU^NXK^2t> -6dzWeЎmMSdw|s{3E]6WwY3f%Ӭ'fy#獊KbA3-{Hb "i6;:]ˠ+Ⱦ󾸜wA">yFF y";*Jˤqch#J3M{)ڠHI4n蝘uW 㒂SR~40B>:qY1Je|BKT^ʺJBQQ>JzU6Z]\'<.a<b Z`aIN98 Z:Sann]x/LUF5Z ~'w x3MF`#9zp69 rC3GXJL]yFsP&7lƿ $>e:sNvm23U<"o';O0G;bM̵MQc%#f†pbn>!w'.rXN`A|SeW( tweSSLZ`OjOp>'r>34"551LzsyEfз 쪟4w'zoMϔަJ0^&j5/r?q`~5A -%`U@Ť ,' iN~2E +8t<9.8+}ɞ=I4z-I3T~f6fLp kJ*J`1d<:fHbbXqubU^l|mbe3Fe(@Jp0y@:Bup+\3Y{ 9!g>O!awzkj&,-%密~kE2b6J+Mg!eP,%䮀@:p+'K?>?.idnP=*tx([ - @ű̪uL-]WWGNd0閬/j^ޅ<ٸ8֮;O -3:'\_⳻: e3mTj+GF -*a: -ط5-#kje㴘! +R7o97*i m >D2&d1[/qI+{0꒱_VCN2XD&1jjezrCR8uԘyTfRMFS=XX),ejJ1΄T8G9hgC@P¨ñL<@764 S%3,} -AgHQ$ 'LY925x&S'h.?? OS'Q:zEkyǩb\\#v8? -=%E7d9U6Ar뵼ye%MW*JbS{]KSkq :9ڵ;03LDб='37J1z%&DO//{YbkZ/./S7ӧ##Oxzx`JJϰ1$7SD7cQlq3lI š@n! $!!0PxՎcU2s/s9Ӟ{}y$'=?;Asݣ{>DU y|rvw`_/ZrBCJ]o3S&dс5Dq3ju&SeR,ˁ`֯^we0., XQjsړyAIzdžk@ DA -Xo6vן~>ƾ,> p/xvQIUi,gcYCrl69& b8H²١i#S+VW8`pqJj~D}_&+L$% 6kݧSROHj~5p`:8΅s? }y4LԀcviEr q`噳Ny J#~WhS)]^"Ymn]ӣnC)`R:Ȁo}ͼuژ/+Q!/IDI:N4-!A~od=qmuSw[>}i;NK=Aɇsr&|^ۏj\ K2lT+?b+lV9_Βe+%GaT˯9ߖ׀^R+?W.d" WuYX\ç8:!]Tƀ' WmEEAMy:5x{3ZF6mMy̆da8߸66̧v__8~3P~Z*oKs86#'qlpW3&GF# 9nWdY$M 5vG[r#p$>=/?~gA"u-\ZUblO - Iڣߺ1*o&3c )^O_MaR tV -BBvHdm%mVlt AAYsኧp!|?`)\ G|=Q@%Y0&ZNrwJSAE<1POkSHױ& dzp؏Kp!|1L|1ER=۝`377Sp˩/qmv}u#qXf(0(O'Zf -$PX]gC\աa G 2ѮzUi^!\-{ -/U-M꫙<5]s6JYRB+Udr./A$f*bIVZ;0n-Yp.7I!9uɜ)U"FEѷu6Jc7+_>y93?C]Ax*Z٘Yկ?FVV`]u#񡽁Lȁ~D,dXy5͵7ˊKF,&cUq.X,173n3U6ԛ5ї9 ;h&G#U["#d$'i[~g2R -Q!=r8=z o)aK|!?@N;& ,'TI[C:HG3gwcF?$y枬bNC&d[҈ĀhY<pl*[nsK} -$W.DVb)vt(VW:՘sX&aLId Kj+9fԤW !.ŋTL:Y]mҘ\vabuaSpM,B5̤i(Nv6N~t|ms@:rNw^m9P}r~s@᫾ӭ|Rmob[w#lwwc/MT$cmc6+6*S%~/ p!V00 - &wu]n  ֘endstream -endobj - -19018 0 obj -<> -stream -Hj0endstream -endobj - -19019 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19020 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19021 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19022 0 obj -<> -stream -HWmo8_OhJbmkn Vb䳔 ܏!bi8PgR ˫Ա|+&/x2O" _e5ORͭb2DD%*EW}-_6TTmةJ._PM^˵C1w$9 &DևztUSʊR\|Z:ygqWvpuٔm; O&͹f js¬HZd:z`^'+Ȥ` g]lS,D-}!qs\q#H8ƀ%eBgYK^E^E5^G5^G5^G D D-F-F-FSB}O i>#gPE3B} y>'zGwzG<+ b(µX=ƀEcǘg1,µ,B}ZEcE\b Xk1Yȵp-r"\1`Řg#*µ,B}ZEcDŘg1,µX=<+V1`Řg#jµ,B}ZMc"\1"GՄk1Yȵp-ƀEcE\ b̳k5Zp-r!\1"G5k1,µ,B}ZCcE\kb Xk1Yȵp-THPc_ jhal6l*CFΤ ?6y܄yLw(W!8~J IgW`seYs&K8*"[A/s:B5`u0?̝_q)nvS )ͅ4̳Ӣi;}Mit$ 2~o:oK`#؄ݖspGΫOku,N]y~z鰺CeaUE1!gϳ,]?wE]n<]|9quzߙ:‡  }Õ.#C)tlS>Yg470 F+54RX zbxFU9Rpq~iBUc<z(2T`SPe~Є4i]/:]yWsG`,z BU2~SaLm,2lap\}n:0τL9ʚ:`\p0[ |1L!nݗZy -b KK;Mq;IА}@\̼6Xjj˒`[xo.|Cmv;˶ -_ }V}+}Wf nXz_65\CZ _ӵk kN_ʡ -^On u݅k&GUz;).q8Q n<&j5s =vA\ۺ9p YU0G8~S)Gաx6|z,ZE37ú#<>7OGoC]DZŵED0 Q/>쿘^ߑ KQᠻWa\:Oð -F㗰~(}U`۔O4q-,w(S"~l0hm6F*(2;KٺQm8iD. K~ǂq͍D}FS ifJ_˭LR -7K>oSO' S)b:՟qO^%> ]ݯrVmбa巪Aokx 2$CmW 58oOe!q9gm6/sysh9V4ä 7p] V9SdbZOԛChUa2U}Y{jZSjߤ7)2 -|G2^%DTJ!&@!\hap=|̹9%#aBQB؞>9r5W$Pi<φ/f4״lP2-f.of\0H5/ 2j^*'63^.8QUeb9>Jy  XXCˇ" T(Y҄Q)\'Vfz,KfbAq`?dy>UrNM*1YӶ4%]5&*rR4hilYPۀ[{GRj/[uSMGE%To﫲fKNP֨.I*r5FrOEZɵ|Bۭ5TjB墚SIq - [K*u<.} /tՈ2xˤ^-8e}K(U)h}Tka0&fJfʴ,l6%o\c U(Gj(UcK(?j4е%%t-ШZ/B/a#ԱAi 6?Mj:c\`g'%_j4K9L pHAp꣖|T'/էܫVϡSo 9F9R)(uT\z{J'(TOe+(crG`$;n8N9{JP^ucũR - |OhG[(j%8 ܺXZǜRR=Fa Fa,[߫Z(쵔ҽG3 -R%9G(KN)Ia3 -kR^UFa1 -kPXǜ2YPR*!BaT{R:tZBa?攌<ϼUyr&6/[ԩ- j! ʷuhmr8S`5% mMZtU9q)yPVGIiRIʧݻQT-7jA2 -=ݨ Jը -#(%jUY-DF&ЇB?3 -A(0$1Z*Bs 3w=po\ǹvWgtzx>`E+4ץڿ^GP?ظskpېث_0 ~ g@-DXi;m尥;|`v,SdMLR+/`eNP lUݦ~t\)xFi nnJj>DϷpɭ~~=>F|T;r"z&@qzq;.R-D&]b:[x8#<6n7G󲫟&7p`5gW pֶoA"0+ovyN̆n_E6io)ٰ?A JM݃[}u0:uˏ_~%K~endstream -endobj - -19023 0 obj -<>/P 838 0 R/Type/Annot/A 37500 0 R/Subtype/Link/Rect[93.6007996 522.939026 288.505005 542.619019]/Border[0 0 0]/H/N>> -endobj - -19024 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19025 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19026 0 obj -<> -endobj - -19027 0 obj -<> -endobj - -19028 0 obj -<> -endobj - -19029 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19030 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19031 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19032 0 obj -<> -stream -HWmo8.^"QCӦh]4>䀤(T[Yr7ԋM GnQϐg =~W,f/^|u/ Y)JfREt6Q#J]~,Vy]~+\}]챊^΢˙`$1˜I& JQB'\lL&ٻ#RK#Oثe}W ,h<| Ky).1|wS,*2q=ב5*l16X -@Pt(!B9TB0w!B(I{I{EW{EW{EW{M{M`}OI>%ا`   3}Ym -Bض$Zls=P-9T*dm"TmET+ bCJB(BP@P-9>P$Tm"TmET+ bCJB(BP@P-9>P$TmH6 -cbC͡B(BP@P-9>P"Tm"TmETbC*B(BP@P-9>P"Tm"TmETbC*Bض4Zls=P-9T*dm"TmET bCjB(BP@P-9>P&Tm"TmET bCjB(BP@P-9>P&Tm(!Tm6@6 -cC-j?u^΢L3fpcm𰊧,M-BOg_0@!|oU Fr}}ri#n=~p4ٲNxlvzDq3pH*yn4CdxH6MS3r.e>+MG%3²$Km>alDXf1nT\!|`~c(v>Ez3A's_FfӐTP?DL$zg葥\d < vh꒫?O G[˒L趺T W7l;@m'T? -gQh)KRq >3rLRw+2Wy,Uє 61WRdN%iY {4d>yN|T?8j͇˟χ!m>ޏB>gnme3,}>OJsɫm6[H Nb_-˝KL{"KzÝ -Dª|\'pWэN&/n8@NX7?ԅ80'TfüQyOuAKa|{ KJvOR@RpBt^=B 0GdA4nvwki n °*mB%upѧs;/vnK\i;_є|K01wPeZ^fԽ>|v xs~%+ۇ_2 -(8RY&ϷTpiȨo"R)pbJYzT bj[*!}宩^_WᅗUބ<|پ.|˺KkK1 -md!@6d!QR8`=O2fp}: -yE6tl@|<9&T #B,b a^uQ;%E懪Fm-L ޺ƧZM#~UpXt.˟v9?/~:WӚ7wo GwqpC6bs7g* G|#>wK]$1t3bqjxm -?*xǺnQEPv]mgxHZ!=CG3glrt)YccW:6d멊 m4O-\pcZȒU"Jrm>j*.,n:B{[c+,9m~֝(auxTt)3@vf -%p]{ *Sk?zI-<‹[|8j+`^ã" IpJ -#7-s8B+4BǗB%~^ g`?]W[I;ܽt59HLbQWu> _WXFaܞA5D1OLȐ9~)0b6wNq3Bm+#@a虑d5|AG5s[pMs1 )xyB$ ^6^p_s6MΤ]ڄ藮Iճ-J(* -xtӏ/}i1#!bLĥ3rៈOӮk6]UG53]jtz}5"wmV켔ѐv&hz}r~6cJ9<7||Jr0##EKߺ' k`anʺAbpOH4mS2#e}Eh%4Inl!R@i3_SmzoKc"|| i^[){Q? o扻tQ† ?T_-`S -Vyσcj0aH "G2{UI.nĽ$D# zL5ϻo>5EulY<A7; -;/ EZKmZ8l - ߸U6C^|7r;0Lȿߓ_G;dňr۹%M0%v j"`H(5 o2Wz?.r=(Z_p ir}鮚->k&$8R=IyHtx~`(ca i!xendstream -endobj - -19033 0 obj -<>/P 511 0 R/Type/Annot/A 19034 0 R/Subtype/Link/Rect[93.6001968 663.229004 222.936005 682.908997]/Border[0 0 0]/H/N>> -endobj - -19034 0 obj -<> -endobj - -19035 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19036 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19037 0 obj -<> -endobj - -19038 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19039 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19040 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -19041 0 obj -<> -stream -H4;0=+ %B0EBi:$@@YFgqy DG&Ŭa=Bk]vz_4uS$!1e6/3n'OA,endstream -endobj - -19042 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19043 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19044 0 obj -<> -endobj - -19045 0 obj -<> -endobj - -19046 0 obj -<> -endobj - -19047 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19048 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19049 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19050 0 obj -<> -stream -HWkN a6؛<6w3`\ q%KG$7$=#>|h^#89)ߋnP/^ܼ[W^}'2^_U;ZN'VueODUvU]]U]}zݬoNGUP4Uj]G+H4cm÷~(kuMb(Oաq/;j06WN>˵웻~(yZ:\G1,3붆9rڪeb~ߩۏک(Ttu }BB9s1Őŗ,!+XԻ1<ŀe{;c1Np{/̽{>'}"ODp0>eS}gs 3>}.ϙ }ܳ#+b),CwO1dqZ!KpZkR Y{Z+bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%gBk),=kZK:rBk),bZK1dqCwO1` Nh-Ő%guBk),C Nh-ŀ%bܳ:C R Y{Z'bܳ:#/b),CwO1dqZ!KpZR Y{Z/bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%gBk),=kZK:JR Y=ŀ%b),>W1w6ut6yezxblЩJӠutڶPTM|VW?t5ܕ`\aW|U3]ͱf=vӨu]}\b|jz4։/rwńy<:.^Na|+ԃڲ 34׽+OU~\rs`VCgHQ -,rr6_ׇ42=vU_^Ox5y#cT'pwi`p(. 龻2Zy6 :˳ef LJ ?ZIF8qjYpG6>]e޷ &vknb %ȀFwAӯgsp\p - fvodB̃}a~Z_'*W.YOV퇪./} }(ُ=Q<)8S+̪F(6 ޗe !j}W~grlYV?>}oq Ԣ=s6rGO˺DIbrl5S9]ԴlB7}Za(`b~GIA6oc8o.gnӤ{5+b6õjڦ`3no\OtޮO_yt4mMP2C &]48I/&HY?YE&,;$OOM&S~> yiLӤCx<9 %<&G<ۇp4 0 0}Nl9@`PhlØ~|j&l{hr}hXx]CY؝p6Ȅq_tC= -h9b Nq0>+2qvxQo݌S+AE0ĐG9) ֤%r@6"9uffas%\ W/աvj6 -_+^g/V zѿ]o˗*\mpNfuKu:37g¾ԡl>wz5plge0K3t=*^rm܆޿.d ać$*)YE8r,4?&ѽ'Yt:~(3ͽ.lR_Zak(ͻsKGs_zlt/}}Z$y;^;mdfzutdj,X^<`y* -*J -* -+Vj,K%Y\.XF `eȽKނs\%roAF. \#`[{ D-=X"k,{r5rIע k,{r5rȽKށs\%r@F.w \#`;{ D=X"k,{r5rIע k,{r5rȽKރs\%rAF. \#`{{ D==X"k,k,E=%Yڏ/Q"$9#|С*\~OV,]埫ֳk8|Guܦ3jsdJ;91r]ͩ_%*њ]ӖZ^[ŕK!a=a/;NICbt~^c7ut..e. [|Y[/Iך| <_Մ\v,x5+*򠫐W%5 9@i=8+3ud8lOKNGm?Mxx52}>Lؾ'cw3a\vݧ 4O 2d$.iӍ,f2t|>ffY+qU8ig6/fθSb978ƩbC=nXjsYb0y -ܫo-zu*OMWOmxF8 갋{qdTn99ʘ[co]~tVۓ1W2`wKq{CiϔP骀zuyo.3}qZ'S=endstream -endobj - -19051 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19052 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19053 0 obj -<> -endobj - -19054 0 obj -<> -endobj - -19055 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19056 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19057 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19058 0 obj -<> -stream -Hko۸Wpz^%(ͥh7v/zp"0luK9PwC9X48󒣓bG^vLjQ#cG}O >qkDvkDY֎m֎UoǀB\k 媷cr11C!rĵvPzǵq -q3q-G\k w\11C!rĵvPzǵq -q3q-G\k w\ڱM 1CPk혡\vPz;Z;f(DZ֎ -QV c@!cB;k혡kZ;Z;f(DZ֎ -QV c@!cB;k혡kZ; $Z;f(W -q3ގUoǀB\k w\+1C!Jĵv (ĵvPzǵq3qD\kǀB\k w\+1C!Jĵv (ĵvPzǵq3qD\k6B\k 媷c@!cr1CuMzL02]IM:HCpnw fEJh崇l-Za9dX?K2ɓIcM{&[l$?֌N!ҢKAPK-eVp# '-':#9}MmɈ Yun]<'pIJGϛ -mq!*+Ȗf7Tb'Ko&Ccg[VEl'6e6:{{.J }.VuXpfEꭜ@`8#L OjXG6))I'oاIuD4@.ߤ>|ԹP{61nCP3z\:ON9sG۹7e7gxݣ>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19060 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19061 0 obj -<> -endobj - -19062 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19063 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19064 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19065 0 obj -<> -stream -HWkoF_14hih XH#[De7{I1gΜ9N_T|Eg]K|ą<7 ѿT:jOa]upѬv ]vl6z5Χ(˨IRU4Uj鷞f4m|]UBMΌO_LL?<]n<7GMuۅvOy~3R!.QJWp ~P_RPQixN De>SrNI8:D1d(,9`zך0Fpo{+̽[ --sw{{g3^pLp1>cs}9s_ })/Rp:RlCwO1` {!R Y{Z#bܳZ!KpZkR Y{Z#bZK1d YkZ!KpZkR XBk),=kZK1d YkZm"+b),CwO1dqZ!KpZkR Y{Z+bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%gBk),=kZKMR Y=ŀ%b),bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%guBk),=kZK1` Nh-Ő%guBk)Z!R Y=ŐݗIYNr^MT+˨J&)TUM/VۮU/˟/l;~; -.q*e% -~QxR7:S+)0Ǚ2F3 +DŽZ6MniflB'_ۮv[XzTOT۷'gHm];]]*Յzjj|ea GVqЕ<, }o 7u6uq.~8/H(_zk J:U7j`{;K~x ܃Y>M.~ӟg|;HTt>,z5rOXo>\ K`هov}VP9Ϥz!ޤC"ěiyz0K &{ rWgYyͧOWoy Lհux=e6tg`pԗx593nrUWkJT[U.,h\sp'Y S^A"lkg -CéN{s##oBt8|“ʩ{vںO;!XL Zi9A1-/hy-ϴ2A+cZ1\ʙV.hL -UZ*iVILʵ(,E1`iAK3--hie-ôroS Y˽rO1d Z,F=Ő%h!CroS Y˽rO1d Z,F=Ő%h[!CעS Y˽rO1d Z,V=Ő%h[!CroS Y˽rO1d Z,V=Ő%h[!CroS Y˽rO1dq-K=Ő%h;!CrS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1d Z,N=Ő%h{!CעS Y\Lʲt%b5Χ(xYFEʤ6SxZkoW׻6[N0Ky0q&Zѹyz8ӱ_ò1M<I F#B^f̌/j~gJϫz5n&ޏa~+|tY{ ggUS/WҘ{Xi6ڊR?O yY -퇧 2n`> +IաݮbPj<"T'I] Ϣd'F.nv;\:E_D50woƔEBYՁ̰Z[u߇5Kr=1ö2{\<'g6DZ&Bje#q]UyoɒS.w[5gj *mRfKx6>$"wdS }cz1ػ$\} >\up,i6p#uXF>ϟc?ܯ>¶R7)27ZB,!M;26:,!޸V5[w?dm}iNi6NI(m%AQ$eJ|IpÙ7d 5.Wd<\n8 -/B+]UZəJt%KkK\ oe/@`Fw5ZaGGr #0`ڜ_h{rC{-v"c}:\s^3AhƖ-Gr͛u2tjs"lXSEU˙(vgxb]|ezbز=1+ .RsCdm2Id~_*div4 -ջ Im9!׆%ždL2,BsZ;M叞bGOaDrx#|rtre7/ o+y!}'\?)+ Zo?n[zb_E ~c>S8z!s-/pL~K$%]&'^b#ijoզ7QҒ^L %50΃.?J-Dr68ofxņ Geb= .O!-HVi$#3RX{ qvӝ*2xOـ3~UOTHV$m~ȜԳϧ=;`[ /ȗ`P{abSw셓r',*MNy|hp fN1zlm5iVwh QcV. ( >$ŶŸmMu癯E*l)\/)٘677g` -PLhX:j%)q|$9li6j"+Nq_V[endstream -endobj - -19066 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19067 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19068 0 obj -<> -endobj - -19069 0 obj -<> -endobj - -19070 0 obj -<> -endobj - -19071 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19072 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19073 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19074 0 obj -<> -stream -Hko8Wp9lP M"v&ET]KHJ=yhAsW|O˪!nJ^zcg1sIT$0J£c$#tlܔUM%ʼw_8y |adb0& iDw;nb$g/˳*Yzc4YYOWlyg;%rDqv|^xg;Mrxw9A%a=JɊx|H^+m&6F1Mә1)#)Pvlf (zzzzzzzWzWzWQXD}`>DԇQZ#D}d>FǖQoy!5cך1MPk͘lfLSz3Z3)DZ֌i -Qo#5c@!5cB[k͘k9Z3Z3)DZ֌i -Qo#5c@!5cB[k͘k9Z3{qӔތ֌iVo4e7c@!5cB[k͘kZ3Z3)DZ֌i -QoV 5c@!5cB[k͘kZ3Z3)DZ֌i -QoV 5c'ך1MPk͘lfLSz3Z3)DZ֌i -QoV"5c@!5cB[k͘k%Z3Z3)DZ֌i -QoV"5c@!5cB[k͘k%Z3{ -qӔތ֌iVo4e8%$^/BFk/E#x$!{h5& , X<]1$g=yIqf^0"!QFqH}W I-+195|>^QBQ_0zB\وL8򃐋~fuoΩQ -O00f OcwG -lh2=UV^ʀng[3f,>x,ȟ*i&c~PlTLQɻ9(d K(o:ңwM:cѬv^`=ņh -ǖ48, kõ{%_oKh(\~`Z׺MK"|\*SբrbMZnJV)C`\ĴhT쐡+&詊 5*w1{7@ì \U^<)U;dU=_&mnrvMd4u[Nbxn,qd40{]Vy50Rr}JC=y[QH1ciE5ɊcC&kHWs"R~~?޺avS .%_b lRg -k+|ơ]Ү~О) l3ǚp5}hu#&S{wټͻ|c_0a!S#6~M8+%{[3KG1POI't&备~:jN| D"}6~ ȨN.Q"tcjG3A*GKnqP&Kف\]R@!/4AQ}ҟIme"C*e/) < 4Y>-7'a7OeM}cq7r>;#,pة;IX4tz&Nl۔U=|lZ*d7"aWΓNm.1=>"ش~ӓu'v|ve4#Bk`UC;"͗oeNIzSDmy'opmç6vKBfst hJ @k 9Rr8dբ! *y9SK݇( <2N"LJd/n! eC pЪ Ing{plN8'.sr9jk)ښA`BL.W̧Hmo7 0d>]Y\.Fu}Ǜ7sz ~GoP}+|;?0'_x6/?Yu/5ft _&>2ϗѽaT^LTS+I}i :U&u'J_KgG w>iDxM=sf04jx_=i]aQO:DwR-8=>Zw'']' kendstream -endobj - -19075 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19076 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19077 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19078 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19079 0 obj -<> -endobj - -19080 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19081 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19082 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19083 0 obj -<> -stream -HWmo8_OHM"q^Ŷ[\ CR,[ճ%4{f$і15zH>屏wo,Wo^GNԱ*e\*52>V縉!qGve_^XXc]$.zWOxu9$]`͸lG0!M*NG):i}+id6ݶ>t_V¦y塯L7]ElSz~TO+-ś8r*Ou3 .9C1.8 -@Ԇp;j!e.DH%2`/2`*`*`*`:`:`o&`o&`o&`3}ΰþ "`_0싀eۀeۀcػchmIFԆ=Q-!*dOm -SRj%ZjC>PdTKmbTKmbj Q @Q-Q-!aV26D1JF(FԆ(}ZɨŰT+R>Rj Q!{jZjCTȞ6@16D1*FԆ(}ZŨŨŰTRjZjZjC>PbTKmbUj Pj Q @Q-!aV1}RB(FԆ=!*dOmbTKmbՌj Q @Q-Q-!aV36D1jF(FԆ(}ZͨŰTRRj5ZjC>PfTKm06D Pj Q!{jCTޥ9go6\Wz%TW;Tꎼ^oft/muoʫŗoL1i[5q-x~duZIhGRmK$벗sf:Rn9Ii VuSU"zv -]!P '8t[%M7=V4 G]fî3yZM$Y(Dڝ`*8>^i4nJ4OqvB*X}80z*wu 0Tdv~M`cS]e<&)Fx_wg ׻w}?6nzo.bˇ7y?9cTvVpf= 1f,h̟{&n;Y3{FeyY3hGFR __,Goq~n( yc/u q؏1.=Nhoo8c\3: -b<4hiĒpeEhy>uۈhpB^CI"hkA+@)yV,W^Vss8MCQad*,Iv ' `k2svC=A`egw@T4TvP *P`\I ),U|]1P{r {%1N+o| ({ -5hAr~am*);ԟ4gaK'0: -n_+1TXSD:ޕQ -S 6G(E l7QޙD>A2/?0E9z(T~I™ 'KN],{2>Lhm&37y.) h(Qc'b2AHUad\Y[`zendstream -endobj - -19084 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19085 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19086 0 obj -<> -endobj - -19087 0 obj -<> -endobj - -19088 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19089 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19090 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19091 0 obj -<> -stream -HWko_qԡy_|I>8M"&@%*VV =G,>EFùIכ/.~y7&7^]y;!]0YLY,:ӵofsb$_Ѿ,7bbjErʙI.{5Q}T#p///// - -W[%Vb%F,Z1K{ VbUkhĘܫ:Z VbUkhĘܫ:Z VbUkhĘܫ:Z VbUkhĘܫ:ZZ+1fi#hĘKYڽĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hVI{ Vb%,^b{Z+1fVb{Z+1fVb{Z+1fVb{Z+1fVb$JYڽĈZ+1ficpo TAjRZhVPZhEVTZ*V -URi@TZЪV*UZi@Z.Zc֒k@*- r@)-TȽĎژ@%,r@%v,r/1f-{r/5f)-{1 h;{G1Kjy{1KkIrA%R Ah{{ T=ȽxDZ*^b<-{r/1>ʽ@KރK -rA%c֒x`Z*^b<0-r/1}@K>K_}-r/1~}Z*^bTȽh{֒hG:: NWe\454 g)bf|LsoI.YE*/A1oxhoLour+cǧffYo{><~nhY-vr-:fh8Xl@Bܒ.w3c{vfƶͺ X)fA9*>!Ɛ1/'}{L}k曎6~\ S?BOXP露uf=[??Fkѵ'Kʹ^ޗY,oO,?6|}gJroyQZ R"F #c*<.\G8OF*I!VvM>vn)$<<8}y|DӸ|2)WN<36nE_bxa&кʁ8K[Lۥ1k MYgd)!ISkwwiy풸l;`ޯwG,z>>Fl~Zã;~<.Y/w-JLeV '|GvknznOpwnPiegs>h?<>8ٷ tn޾Xql*JnfOבE_:!44hHht},^vmѶҐفb8C6mkNf]8 luWB6 bMݓc*SyD=T {k'EO\ f-`t6-_8(.fq"?y6dmo`tO~,cy̢p聳>1xZv'p9oss#1,VPZhVTZhEUBi@PZ%*V JUJiU@RZ5ЪV jr%1fi--,вJ-Rw cRw cRw cRw cRw cRw cRw cR c֒@%,rA%,rA%,rA%,rA%,rA%,rA%,rA%,rA%,r@%,%1bKY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KYZKbVuǯ~$qƚfݫ"q<&(k9_~#Kqdܵ<-\4UuҎjN \҃3+|c_ _ƫm+|TS΋z !-SRr_C%5~>>*kz\/=ĝv5~m85{gܸy!>xɤ=-Ԧrĸ5ܢe_wE4 R$+aP%%kޭdY3Hc?&J]gS|yB젎+D쀐Z&<<&, ƙ7 !p5]u77/hZH"%$]|ph]m\M; jfD(^z}ޤf\ע׉ܛg[/E*䒇p ;H8`DƵLgMOPIή%wq՝q\g#>+nyp -}*TVυgk7#SNʜH *B ρROM0 -F#ߜt8mTn1xo1?{v 0endstream -endobj - -19092 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19093 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19094 0 obj -<> -endobj - -19095 0 obj -<> -endobj - -19096 0 obj -<> -endobj - -19097 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19098 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19099 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19100 0 obj -<> -stream -HWm6_^`_%E4E8\|۠ܵ[Yڸo(R65 A!p8pt4;V_~ymߌ -t%s#Xid;e{8kYvOo}S{ݰSY!{/8[?d5lRհ&+يWfu% wÈ=*A0ZL7:/ -D9r'ܫ5n^& -벾N -|,AKuoַ<kP,Y.^¨Wyax-sY䪨xy%#ZJaM7.4\َ9]f'+Ȏ:k50C JěD\9Ca6Z -)BaFLbnK/ -.хX.ѭqr2s( o]^Z6MS05MVhf.L}lP5uP98g,3^pW#Kt/GKUD\!Wּwx4)PfvwfLҔ_EalWd~hӾɳ\nBeP 0Vj %MYS.HNEVs* ΦDHgzAzrKű;W}{:Ar^)lؤ9zN Q/y.c+. -W4/yP6)pURw3Ώ9&ylA֥.r) :u/#LĽ\eLw *nZw?[i0n}T +Mws8F㹿l; t}̎/^ƾ -Ң6қD pGQ! ^eUW0.v*_kW.7p/Y{W[etPDн'4 x^P]sx&霗t7IqV MSԸ8 ]*>: -YRYD'\UUi$QU煻+zSkQ/̞tNl/6׸a_.F.ʭJႛsM"L*`&ܚ}KiAUTrWU&Z~ͫrȮ?M!b5zyNI.i>%)],PvC%%tdRZ.\LO ` -"q -P8C/HƓ*eQpPs!"R/f :7>åG -GЗg`ayŠL7hIr&auېr*J2f -!b7E0tާ7_rE8^V9:ZK +nbڶyjTP;OvӒ[I(]-|bʜnC>gC5Mz>%ųK~Ӫr$#P.ަ 8b1_pN>-?#zydY@UUv[RR5m>1$hl4߆>{s|}?`+ѧP,8I{+(Re0sx\-hM\K}X HYVFb!$r=<&")k (&OGj:jM;TPDwN'Gd^Ǎ/3ힻI׬Hz?z VLGŎSg8%zTW*폾?x/ : ܬ{V?Ln|^o~gUVq7Q lSOrIf89d$1s&$t3Hk 8 x=xsgZܖu~b& -v<5`_*,cG`W2 ~k5x2R53+ -_"P_GʛwY׃}-2pmbz<nxF./JLoT@$۬zַd:I NS_J5w[ETǀZ1€{g|? q _۪ Ԫۄ`VcA*_܀N{COzۥ1/fE\ˮ#L,J}eWB-teWBY/iɡ ©|0E/-^b%ƨ`Y+kMڮ1-l(尢Y/;K%$gr0#rj=詇v|_fѮ'-GPՇ䨆7=˃CD8o9gG^F7%x3EmnWh/bXfH9Gx`du)CyKNQ ӌe(j.?f":)ҫ 9x 8ǟ8- UX_-=Tr?=X--̥Է.D,ni[(|$ \f -Mɢfw -K)qG|= hiT1Z7B8S;m8Z}۵4f֓W3eKUTQ"bd;(_xihWє~~Jb(*~ -u:ԲLA>~7mx {(`$PUC,B]'IͥBH -{' 6y^b@Hg?& ҄L44쿶uS+}s,;b&[8c1^4%!\(bTCmy* s" IQcܶ4 a]*Y0OK|+>:Gt)j!pvfvZ(9Ytl}rytY# Vw!Z-v@mgp Ԩ:Bn c,huN<MLơ4Lb=#Mo+Ka,`T F<׮O6hNp ՞7sЙiVmGZXtSZ-{0$jʦ!trO?y.)oyendstream -endobj - -19101 0 obj -<>/P 671 0 R/Type/Annot/A 19102 0 R/Subtype/Link/Rect[93.6010971 216.429993 234.936996 236.110001]/Border[0 0 0]/H/N>> -endobj - -19102 0 obj -<> -endobj - -19103 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19104 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19105 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19106 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19107 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19108 0 obj -<> -stream -HW]۶}ׯУp/I>$)6@o"k%Xr;/rl܋}swSo߆q믯߾ ~TBPf$,LN$ Oe1l8| -hXݟeM[POUp &/EԧQz3D}^!ꕧ^!=RĴ.vZ,_ qi4WbB\b\׺f!=2ĵ.,ĵ.Yzϵ qis-C\bB\b\׺f!=2ĵ.,ĵ.Yzϵ qis-C\b#u1ջ׺f]L|.,ĵ.Yzϵqis-G\bB\b\׺f!=rĵ.,ĵ.Yzϵqis-G\bB\b\׺f!=rĵ.vZ,_ qi4WbB\b\+׺f!= -ĵ.,ĵ.Yzϵqis@\bB\b\+׺f!= -ĵ.,ĵ.Yzϵqis@\b@"u1ջ׺f]L|(Dfq^o Cnv>#I$*7 nK8Q<u{>2CFU0&cTuͫ4~PSWmsk~?ŀ$Vb2#Y{sמU5?g9[K87ꄚg*S# nE}Y sM\ۮ֥U5kB{lEYowHn>]Hܷ˭i-粜# ZS!Ev啄f$K35!:$jx&ShW4}}1 K q -)s=WWQ< ONS³eXPOfZhBL)<9 Rbbb,IL6OdL}AH-4sPR"ID g3WP^:!w$ -S^q8l&X7a5ОVO}ՓWH1uiZ"f`"\?: 2\Pf!W)s\dj#AcY` T=U zB*OH2?M]6oO{{F뇷Q\ tDCd2Vbgg٠sz-Zq(ҔPV 4օ߶`E -je8|=SL.]ٜQ}enu;D2+#A?!2%_ʹA\"xzF9XV/6%ݗ}xvC;b_̵C 4[܅|ӝ=N菇 qLnDBWnc<6um|OSoG! Ź~^ 5EM{:u*ce1Ž iЮA -yȦSoU *RɲE?y`&lX {-a._T@*XT汨}u(.fdٛSC"˭-n)a\-LM)Sw>$ y\ O1seq5ykIƇ1=:V%%*K)v.##,NفTg1-S*RIo0F -ၹ-/>,7cNUT3l $um^ Ǟ6&_ƫ`m+T\A(jM@ma"t,Ķ J#HY$~C 3ol3jliU}Y<-wszG|)_|-C9): |jHmLdrt8)Ym4~uBKcWz;i4W]L/#]l2*^?G ΰ s&U(:4QA@ "FcL&`".bu11 M\Pj3ľ=1]RG70Qce)=;ԟ𳱽t&^Ǧ?Źpwƹ9}}y|3ѺoUW`Rƶ,U+s$~&iƸs~'ӾMEQB*4n3C^ɪb?"!ГvP2EJ:)(?. Ļ'$5V==L$47c0CQ=B1@UJQ%~\2JX?/[\9deh4h擯vigg=+]cZpIj x2Vժ5{"SpJ7fx#Ƅknɮ|fkIH[I'cdO\ -ELZlOPpiV=Z~ ]vtfr ~F_ #g%ñ[<@_fLS?0GK;XX$kn¹a7z٪p '+TJ_8 T"64\BjDS͔2Gz*2 Z4kv<<Lr9Ko=a4Ý9 C4"U -A$B)*2:}oH} :gZ p㻉IȌ8pza 2fW$QtL8u <@hTxvNȩ]pDjX{SV2{AdBIaA*2#JMn8h^fǡʊx?KJe20_N`9endstream -endobj - -19109 0 obj -<>/P 509 0 R/Type/Annot/A 19110 0 R/Subtype/Link/Rect[93.5999985 508.428986 371.230988 528.109009]/Border[0 0 0]/H/N>> -endobj - -19110 0 obj -<> -endobj - -19111 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19112 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19113 0 obj -<> -endobj - -19114 0 obj -<> -endobj - -19115 0 obj -<> -endobj - -19116 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19117 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19118 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19119 0 obj -<> -stream -HWmoF_20[uՓ_ 3pUa= ERPdXvF>3;ۻkWo/旹ȿELB>mЅSw*߭m&_3rxy~٭7)߭W*sޖA2/?e6y#̽y&ѩ -0l![|q"ge&8]ePr)kp;|Y,jW( Dߛ,9Ϣb"H!*ݎ%e"6DYEK6@)J+JkNkNkNII[M[M[M;K;K{O{O{O}H}HG}LG}YɈ6bTKmJSRRԆ=Q-!aV16D1*F(FԆ(}ZŨŰOTRRjZjC>QbTKmbTKmb'Uj Q DQ-m2ͨ6@16D Q){jZjC>QfTKmb'Ռj Pj Q DQ-!aV36@16D1jFԆ(}ZͨŨŰOTRj5ZjdQ-!*eOmbTKmJSR(FԆ(}ZèŰOTkRRj ZjC>QaTKmbTKmb'5j Q DQ-Q-!a06D1FԶ,ZjCTʞŨ6Dcc4G>mwe,e.S*kȥ˝&nnAs*4nw&ews]& -Oy O-:L$t?gwY_%L+n _d*..S@u?_ u;{\؛YYxLʬhZΧ.l t~Y^+4//ϫi~FY1cżMԅB'nq@X~ `>v"4a "1ǮEpt^47VLHmTsdж5^~Ɇp7T6 $xX6[m= -8=r|/{jMnl:jNЀmژ{=)D"Zvմj,oJJUUC=]c$f 8Lأ2q[jtzX )3Pr+b(8,Gmi0fa"ʊf8qg3dQ7b1TejW2r .CM .Dύ>)d#*ى82;es=? n4)ӄ$$nof>z ɱ"$ZB7gj1Sg›U-$Sbn pw^~{TujOo`М5u\okڹȊ'Yi#rcꔕ*BTfW.ƻHqxcn[Dڮ`CpX,n/nЭJ3eiLS" F fnW{7x %W7ٛi M``,JޖSs1w0'w'kۊhbjsjLe|qPQO)*\OM8t謹y|?̐5q~țGs#=48< ФpH(&i{9[^z x ʇD,C(.&x (.CmnȑG8lK=, Ć.\r?l"PO\W8칵;xGFwCO&]O㤩 -ܞ`8uQzdn~aZֱv3&/*Ƥ*z׺f_Bz-zn#i~f=l?>n_As/oL'신~}jH -s p-tvF\f\{fFUΨc/д킢++Z`-(Pn>>O=EDN3D"a uX}Dl0 -j9l'^pa?߄u'(AB%2n#g+LXln̖sz8{Sb@oc0=jm=~fw&N6QItf 0  l{D!ח0*!jϗ[e.KDaT0+%_HE頫 -}B0-XF ev޴b_:rڅU);5F -HC񇵜5vT9D+?킝o'^t| e8J<14&jLn }Uh0um*I)UBH5KW{Ik]f`1|s` '\O AHs6ɝc0p9IJkwP 9 -xnq2aql>AՄ> \Yaغj#ȡT30Ӑ3\<֏<[G kzֵ$ "+ <^5m@_ -L:idГ*1Jt R4phvxp>tOP Eϡ_Qg279=rK -^)'ǥ!%s . Y#/WJP2ioF/+s"-Ub}\NtSSC>36=˦ i|)ErkK)cP)rL3;[T&IkN#]T s:fbࢉkCcQA;&IA`:?xZL1Kf8嚟 w3.ר8Q´C˻Čc.{'d )G;-"\`vAwΌAcğ˔G+bHe82z;g&bSf|__ `pltF,"3 l>WpsԄZq.ۙ eƚ1cPzV^U@5677S.?/o|KШuJf]QXk.؟3C!jTi|A=s(R"=}=I)yi 3)9=M߿yԡ2>@SsՕ6 If6O{o?E E8=@r̦0h@vnۯcIje"_: aZ-D&*v=}60ND8U_SZ`dV\TsPviVN|X8nr,Xqsnb{d7^9S} g3d^GV"fm7I7< Gh"֦Wf(X %Jy.}5^ۄlN.˲2вۛbasP1sg6 6pI(rJ`:3l8pZ~mA~[=^q}Oo/͓ GJIs atFc/V|"|Ь*(a@l6 ѯ9DRE 6]Cc(b9`j/tSŁ3,l8}$M$32=.8}HB:EK$?!Αr'Lam! z0)@((}EQzZ%0*+G4Bt!/ Srؕ&W+ ȕ!TF% `d)#< -c0Cˬ"rpG>59A pu 0Xdendstream -endobj - -19120 0 obj -<>/P 3876 0 R/Type/Annot/A 19600 0 R/Subtype/Link/Rect[189 670 201 678]/Border[0 0 0]/H/N>> -endobj - -19121 0 obj -<>/P 3876 0 R/Type/Annot/A 19597 0 R/Subtype/Link/Rect[228 660 240 668]/Border[0 0 0]/H/N>> -endobj - -19122 0 obj -<>/P 3876 0 R/Type/Annot/A 28406 0 R/Subtype/Link/Rect[185 650 199 658]/Border[0 0 0]/H/N>> -endobj - -19123 0 obj -<>/P 3876 0 R/Type/Annot/A 28361 0 R/Subtype/Link/Rect[201 650 213 658]/Border[0 0 0]/H/N>> -endobj - -19124 0 obj -<>/P 3876 0 R/Type/Annot/A 19587 0 R/Subtype/Link/Rect[201 640 218 649]/Border[0 0 0]/H/N>> -endobj - -19125 0 obj -<>/P 3876 0 R/Type/Annot/A 19582 0 R/Subtype/Link/Rect[218 640 232 648]/Border[0 0 0]/H/N>> -endobj - -19126 0 obj -<>/P 3876 0 R/Type/Annot/A 27554 0 R/Subtype/Link/Rect[234 640 248 648]/Border[0 0 0]/H/N>> -endobj - -19127 0 obj -<>/P 3876 0 R/Type/Annot/A 26962 0 R/Subtype/Link/Rect[250 640 264 648]/Border[0 0 0]/H/N>> -endobj - -19128 0 obj -<>/P 3876 0 R/Type/Annot/A 26925 0 R/Subtype/Link/Rect[266 640 280 648]/Border[0 0 0]/H/N>> -endobj - -19129 0 obj -<>/P 3876 0 R/Type/Annot/A 19569 0 R/Subtype/Link/Rect[282 640 296 648]/Border[0 0 0]/H/N>> -endobj - -19130 0 obj -<>/P 3876 0 R/Type/Annot/A 26462 0 R/Subtype/Link/Rect[151 630 168 639]/Border[0 0 0]/H/N>> -endobj - -19131 0 obj -<>/P 3876 0 R/Type/Annot/A 19562 0 R/Subtype/Link/Rect[169 630 183 638]/Border[0 0 0]/H/N>> -endobj - -19132 0 obj -<>/P 3876 0 R/Type/Annot/A 19558 0 R/Subtype/Link/Rect[185 630 199 638]/Border[0 0 0]/H/N>> -endobj - -19133 0 obj -<>/P 3876 0 R/Type/Annot/A 19553 0 R/Subtype/Link/Rect[201 630 213 638]/Border[0 0 0]/H/N>> -endobj - -19134 0 obj -<>/P 3876 0 R/Type/Annot/A 25796 0 R/Subtype/Link/Rect[194 620 210 629]/Border[0 0 0]/H/N>> -endobj - -19135 0 obj -<>/P 3876 0 R/Type/Annot/A 19547 0 R/Subtype/Link/Rect[211 620 225 628]/Border[0 0 0]/H/N>> -endobj - -19136 0 obj -<>/P 3876 0 R/Type/Annot/A 19541 0 R/Subtype/Link/Rect[227 620 241 628]/Border[0 0 0]/H/N>> -endobj - -19137 0 obj -<>/P 3876 0 R/Type/Annot/A 19536 0 R/Subtype/Link/Rect[243 620 257 628]/Border[0 0 0]/H/N>> -endobj - -19138 0 obj -<>/P 3876 0 R/Type/Annot/A 24258 0 R/Subtype/Link/Rect[259 620 276 629]/Border[0 0 0]/H/N>> -endobj - -19139 0 obj -<>/P 3876 0 R/Type/Annot/A 23443 0 R/Subtype/Link/Rect[276 620 288 628]/Border[0 0 0]/H/N>> -endobj - -19140 0 obj -<>/P 3876 0 R/Type/Annot/A 19525 0 R/Subtype/Link/Rect[212 610 228 619]/Border[0 0 0]/H/N>> -endobj - -19141 0 obj -<>/P 3876 0 R/Type/Annot/A 19521 0 R/Subtype/Link/Rect[229 610 241 618]/Border[0 0 0]/H/N>> -endobj - -19142 0 obj -<>/P 3876 0 R/Type/Annot/A 19517 0 R/Subtype/Link/Rect[181 600 193 608]/Border[0 0 0]/H/N>> -endobj - -19143 0 obj -<>/P 3876 0 R/Type/Annot/A 19512 0 R/Subtype/Link/Rect[181 590 193 598]/Border[0 0 0]/H/N>> -endobj - -19144 0 obj -<>/P 3876 0 R/Type/Annot/A 22006 0 R/Subtype/Link/Rect[167 580 184 589]/Border[0 0 0]/H/N>> -endobj - -19145 0 obj -<>/P 3876 0 R/Type/Annot/A 19504 0 R/Subtype/Link/Rect[184 580 198 588]/Border[0 0 0]/H/N>> -endobj - -19146 0 obj -<>/P 3876 0 R/Type/Annot/A 21411 0 R/Subtype/Link/Rect[200 580 212 588]/Border[0 0 0]/H/N>> -endobj - -19147 0 obj -<>/P 3876 0 R/Type/Annot/A 21348 0 R/Subtype/Link/Rect[162 570 174 578]/Border[0 0 0]/H/N>> -endobj - -19148 0 obj -<>/P 3876 0 R/Type/Annot/A 19494 0 R/Subtype/Link/Rect[167 560 177 568]/Border[0 0 0]/H/N>> -endobj - -19149 0 obj -<>/P 3876 0 R/Type/Annot/A 19491 0 R/Subtype/Link/Rect[179 560 190 568]/Border[0 0 0]/H/N>> -endobj - -19150 0 obj -<>/P 3876 0 R/Type/Annot/A 20124 0 R/Subtype/Link/Rect[177 550 188 558]/Border[0 0 0]/H/N>> -endobj - -19151 0 obj -<>/P 3876 0 R/Type/Annot/A 20090 0 R/Subtype/Link/Rect[196 540 206 548]/Border[0 0 0]/H/N>> -endobj - -19152 0 obj -<>/P 3876 0 R/Type/Annot/A 19482 0 R/Subtype/Link/Rect[208 540 219 548]/Border[0 0 0]/H/N>> -endobj - -19153 0 obj -<>/P 3876 0 R/Type/Annot/A 19478 0 R/Subtype/Link/Rect[186 530 198 538]/Border[0 0 0]/H/N>> -endobj - -19154 0 obj -<>/P 3876 0 R/Type/Annot/A 19630 0 R/Subtype/Link/Rect[201 520 212 528]/Border[0 0 0]/H/N>> -endobj - -19155 0 obj -<>/P 3876 0 R/Type/Annot/A 19626 0 R/Subtype/Link/Rect[201 510 212 518]/Border[0 0 0]/H/N>> -endobj - -19156 0 obj -<>/P 3876 0 R/Type/Annot/A 19623 0 R/Subtype/Link/Rect[196 500 207 508]/Border[0 0 0]/H/N>> -endobj - -19157 0 obj -<>/P 3876 0 R/Type/Annot/A 19620 0 R/Subtype/Link/Rect[181 490 193 498]/Border[0 0 0]/H/N>> -endobj - -19158 0 obj -<>/P 3876 0 R/Type/Annot/A 19617 0 R/Subtype/Link/Rect[220 480 232 488]/Border[0 0 0]/H/N>> -endobj - -19159 0 obj -<>/P 3876 0 R/Type/Annot/A 19615 0 R/Subtype/Link/Rect[172 470 183 478]/Border[0 0 0]/H/N>> -endobj - -19160 0 obj -<>/P 3876 0 R/Type/Annot/A 19613 0 R/Subtype/Link/Rect[181 460 195 468]/Border[0 0 0]/H/N>> -endobj - -19161 0 obj -<>/P 3876 0 R/Type/Annot/A 19608 0 R/Subtype/Link/Rect[197 460 211 468]/Border[0 0 0]/H/N>> -endobj - -19162 0 obj -<>/P 3876 0 R/Type/Annot/A 19606 0 R/Subtype/Link/Rect[213 460 225 468]/Border[0 0 0]/H/N>> -endobj - -19163 0 obj -<>/P 3876 0 R/Type/Annot/A 19603 0 R/Subtype/Link/Rect[186 450 198 458]/Border[0 0 0]/H/N>> -endobj - -19164 0 obj -<>/P 3876 0 R/Type/Annot/A 19601 0 R/Subtype/Link/Rect[215 440 227 448]/Border[0 0 0]/H/N>> -endobj - -19165 0 obj -<>/P 3876 0 R/Type/Annot/A 19599 0 R/Subtype/Link/Rect[181 430 193 438]/Border[0 0 0]/H/N>> -endobj - -19166 0 obj -<>/P 3876 0 R/Type/Annot/A 19596 0 R/Subtype/Link/Rect[181 420 193 428]/Border[0 0 0]/H/N>> -endobj - -19167 0 obj -<>/P 3876 0 R/Type/Annot/A 19594 0 R/Subtype/Link/Rect[172 410 186 418]/Border[0 0 0]/H/N>> -endobj - -19168 0 obj -<>/P 3876 0 R/Type/Annot/A 19590 0 R/Subtype/Link/Rect[188 410 204 419]/Border[0 0 0]/H/N>> -endobj - -19169 0 obj -<>/P 3876 0 R/Type/Annot/A 19586 0 R/Subtype/Link/Rect[205 410 217 418]/Border[0 0 0]/H/N>> -endobj - -19170 0 obj -<>/P 3876 0 R/Type/Annot/A 19581 0 R/Subtype/Link/Rect[167 400 181 408]/Border[0 0 0]/H/N>> -endobj - -19171 0 obj -<>/P 3876 0 R/Type/Annot/A 19579 0 R/Subtype/Link/Rect[183 400 196 408]/Border[0 0 0]/H/N>> -endobj - -19172 0 obj -<>/P 3876 0 R/Type/Annot/A 19576 0 R/Subtype/Link/Rect[198 400 215 409]/Border[0 0 0]/H/N>> -endobj - -19173 0 obj -<>/P 3876 0 R/Type/Annot/A 19571 0 R/Subtype/Link/Rect[216 400 230 408]/Border[0 0 0]/H/N>> -endobj - -19174 0 obj -<>/P 3876 0 R/Type/Annot/A 19568 0 R/Subtype/Link/Rect[232 400 246 408]/Border[0 0 0]/H/N>> -endobj - -19175 0 obj -<>/P 3876 0 R/Type/Annot/A 19565 0 R/Subtype/Link/Rect[248 400 262 408]/Border[0 0 0]/H/N>> -endobj - -19176 0 obj -<>/P 3876 0 R/Type/Annot/A 19561 0 R/Subtype/Link/Rect[264 400 278 408]/Border[0 0 0]/H/N>> -endobj - -19177 0 obj -<>/P 3876 0 R/Type/Annot/A 37714 0 R/Subtype/Link/Rect[280 400 294 408]/Border[0 0 0]/H/N>> -endobj - -19178 0 obj -<>/P 3876 0 R/Type/Annot/A 19554 0 R/Subtype/Link/Rect[151 390 168 399]/Border[0 0 0]/H/N>> -endobj - -19179 0 obj -<>/P 3876 0 R/Type/Annot/A 19550 0 R/Subtype/Link/Rect[169 390 181 398]/Border[0 0 0]/H/N>> -endobj - -19180 0 obj -<>/P 3876 0 R/Type/Annot/A 19548 0 R/Subtype/Link/Rect[220 380 231 388]/Border[0 0 0]/H/N>> -endobj - -19181 0 obj -<>/P 3876 0 R/Type/Annot/A 19543 0 R/Subtype/Link/Rect[162 370 174 378]/Border[0 0 0]/H/N>> -endobj - -19182 0 obj -<>/P 3876 0 R/Type/Annot/A 19538 0 R/Subtype/Link/Rect[172 360 185 368]/Border[0 0 0]/H/N>> -endobj - -19183 0 obj -<>/P 3876 0 R/Type/Annot/A 19534 0 R/Subtype/Link/Rect[187 360 201 368]/Border[0 0 0]/H/N>> -endobj - -19184 0 obj -<>/P 3876 0 R/Type/Annot/A 19531 0 R/Subtype/Link/Rect[203 360 215 368]/Border[0 0 0]/H/N>> -endobj - -19185 0 obj -<>/P 3876 0 R/Type/Annot/A 19527 0 R/Subtype/Link/Rect[167 350 180 358]/Border[0 0 0]/H/N>> -endobj - -19186 0 obj -<>/P 3876 0 R/Type/Annot/A 19522 0 R/Subtype/Link/Rect[182 350 196 358]/Border[0 0 0]/H/N>> -endobj - -19187 0 obj -<>/P 3876 0 R/Type/Annot/A 19518 0 R/Subtype/Link/Rect[198 350 210 358]/Border[0 0 0]/H/N>> -endobj - -19188 0 obj -<>/P 3876 0 R/Type/Annot/A 19514 0 R/Subtype/Link/Rect[177 340 188 348]/Border[0 0 0]/H/N>> -endobj - -19189 0 obj -<>/P 3876 0 R/Type/Annot/A 19510 0 R/Subtype/Link/Rect[157 330 171 338]/Border[0 0 0]/H/N>> -endobj - -19190 0 obj -<>/P 3876 0 R/Type/Annot/A 19506 0 R/Subtype/Link/Rect[173 330 187 338]/Border[0 0 0]/H/N>> -endobj - -19191 0 obj -<>/P 3876 0 R/Type/Annot/A 19502 0 R/Subtype/Link/Rect[189 330 206 339]/Border[0 0 0]/H/N>> -endobj - -19192 0 obj -<>/P 3876 0 R/Type/Annot/A 19498 0 R/Subtype/Link/Rect[207 330 221 338]/Border[0 0 0]/H/N>> -endobj - -19193 0 obj -<>/P 3876 0 R/Type/Annot/A 19495 0 R/Subtype/Link/Rect[223 330 236 339]/Border[0 0 0]/H/N>> -endobj - -19194 0 obj -<>/P 3876 0 R/Type/Annot/A 19492 0 R/Subtype/Link/Rect[238 330 250 338]/Border[0 0 0]/H/N>> -endobj - -19195 0 obj -<>/P 3876 0 R/Type/Annot/A 19489 0 R/Subtype/Link/Rect[167 320 181 329]/Border[0 0 0]/H/N>> -endobj - -19196 0 obj -<>/P 3876 0 R/Type/Annot/A 19486 0 R/Subtype/Link/Rect[183 320 195 329]/Border[0 0 0]/H/N>> -endobj - -19197 0 obj -<>/P 3876 0 R/Type/Annot/A 19483 0 R/Subtype/Link/Rect[180 310 192 319]/Border[0 0 0]/H/N>> -endobj - -19198 0 obj -<>/P 3876 0 R/Type/Annot/A 19480 0 R/Subtype/Link/Rect[183 300 193 309]/Border[0 0 0]/H/N>> -endobj - -19199 0 obj -<>/P 3876 0 R/Type/Annot/A 19477 0 R/Subtype/Link/Rect[195 300 212 309]/Border[0 0 0]/H/N>> -endobj - -19200 0 obj -<>/P 3876 0 R/Type/Annot/A 19475 0 R/Subtype/Link/Rect[212 300 226 309]/Border[0 0 0]/H/N>> -endobj - -19201 0 obj -<>/P 3876 0 R/Type/Annot/A 19633 0 R/Subtype/Link/Rect[228 300 242 309]/Border[0 0 0]/H/N>> -endobj - -19202 0 obj -<>/P 3876 0 R/Type/Annot/A 19627 0 R/Subtype/Link/Rect[244 300 258 309]/Border[0 0 0]/H/N>> -endobj - -19203 0 obj -<>/P 3876 0 R/Type/Annot/A 19624 0 R/Subtype/Link/Rect[260 300 274 309]/Border[0 0 0]/H/N>> -endobj - -19204 0 obj -<>/P 3876 0 R/Type/Annot/A 19621 0 R/Subtype/Link/Rect[276 300 290 309]/Border[0 0 0]/H/N>> -endobj - -19205 0 obj -<>/P 3876 0 R/Type/Annot/A 19618 0 R/Subtype/Link/Rect[151 290 168 299]/Border[0 0 0]/H/N>> -endobj - -19206 0 obj -<>/P 3876 0 R/Type/Annot/A 19616 0 R/Subtype/Link/Rect[169 290 183 299]/Border[0 0 0]/H/N>> -endobj - -19207 0 obj -<>/P 3876 0 R/Type/Annot/A 19614 0 R/Subtype/Link/Rect[185 290 201 299]/Border[0 0 0]/H/N>> -endobj - -19208 0 obj -<>/P 3876 0 R/Type/Annot/A 19609 0 R/Subtype/Link/Rect[202 290 216 299]/Border[0 0 0]/H/N>> -endobj - -19209 0 obj -<>/P 3876 0 R/Type/Annot/A 19607 0 R/Subtype/Link/Rect[218 290 232 299]/Border[0 0 0]/H/N>> -endobj - -19210 0 obj -<>/P 3876 0 R/Type/Annot/A 19604 0 R/Subtype/Link/Rect[234 290 248 299]/Border[0 0 0]/H/N>> -endobj - -19211 0 obj -<>/P 3876 0 R/Type/Annot/A 19602 0 R/Subtype/Link/Rect[250 290 262 299]/Border[0 0 0]/H/N>> -endobj - -19212 0 obj -<>/P 3876 0 R/Type/Annot/A 19457 0 R/Subtype/Link/Rect[217 280 231 289]/Border[0 0 0]/H/N>> -endobj - -19213 0 obj -<>/P 3876 0 R/Type/Annot/A 19598 0 R/Subtype/Link/Rect[233 280 247 289]/Border[0 0 0]/H/N>> -endobj - -19214 0 obj -<>/P 3876 0 R/Type/Annot/A 19595 0 R/Subtype/Link/Rect[249 280 266 289]/Border[0 0 0]/H/N>> -endobj - -19215 0 obj -<>/P 3876 0 R/Type/Annot/A 19593 0 R/Subtype/Link/Rect[266 280 280 289]/Border[0 0 0]/H/N>> -endobj - -19216 0 obj -<>/P 3876 0 R/Type/Annot/A 19589 0 R/Subtype/Link/Rect[282 280 296 289]/Border[0 0 0]/H/N>> -endobj - -19217 0 obj -<>/P 3876 0 R/Type/Annot/A 19585 0 R/Subtype/Link/Rect[298 280 310 289]/Border[0 0 0]/H/N>> -endobj - -19218 0 obj -<>/P 3876 0 R/Type/Annot/A 19580 0 R/Subtype/Link/Rect[218 270 232 279]/Border[0 0 0]/H/N>> -endobj - -19219 0 obj -<>/P 3876 0 R/Type/Annot/A 19577 0 R/Subtype/Link/Rect[234 270 248 279]/Border[0 0 0]/H/N>> -endobj - -19220 0 obj -<>/P 3876 0 R/Type/Annot/A 19574 0 R/Subtype/Link/Rect[250 270 264 279]/Border[0 0 0]/H/N>> -endobj - -19221 0 obj -<>/P 3876 0 R/Type/Annot/A 19570 0 R/Subtype/Link/Rect[266 270 280 279]/Border[0 0 0]/H/N>> -endobj - -19222 0 obj -<>/P 3876 0 R/Type/Annot/A 19567 0 R/Subtype/Link/Rect[282 270 294 279]/Border[0 0 0]/H/N>> -endobj - -19223 0 obj -<>/P 3876 0 R/Type/Annot/A 19564 0 R/Subtype/Link/Rect[222 260 236 269]/Border[0 0 0]/H/N>> -endobj - -19224 0 obj -<>/P 3876 0 R/Type/Annot/A 19560 0 R/Subtype/Link/Rect[238 260 252 269]/Border[0 0 0]/H/N>> -endobj - -19225 0 obj -<>/P 3876 0 R/Type/Annot/A 19557 0 R/Subtype/Link/Rect[254 260 268 269]/Border[0 0 0]/H/N>> -endobj - -19226 0 obj -<>/P 3876 0 R/Type/Annot/A 19552 0 R/Subtype/Link/Rect[270 260 284 269]/Border[0 0 0]/H/N>> -endobj - -19227 0 obj -<>/P 3876 0 R/Type/Annot/A 19549 0 R/Subtype/Link/Rect[286 260 298 269]/Border[0 0 0]/H/N>> -endobj - -19228 0 obj -<>/P 3876 0 R/Type/Annot/A 19546 0 R/Subtype/Link/Rect[204 250 216 259]/Border[0 0 0]/H/N>> -endobj - -19229 0 obj -<>/P 3876 0 R/Type/Annot/A 19542 0 R/Subtype/Link/Rect[180 240 192 249]/Border[0 0 0]/H/N>> -endobj - -19230 0 obj -<>/P 3876 0 R/Type/Annot/A 19537 0 R/Subtype/Link/Rect[180 230 194 239]/Border[0 0 0]/H/N>> -endobj - -19231 0 obj -<>/P 3876 0 R/Type/Annot/A 19533 0 R/Subtype/Link/Rect[196 230 208 239]/Border[0 0 0]/H/N>> -endobj - -19232 0 obj -<>/P 3876 0 R/Type/Annot/A 37530 0 R/Subtype/Link/Rect[158 220 168 229]/Border[0 0 0]/H/N>> -endobj - -19233 0 obj -<>/P 3876 0 R/Type/Annot/A 19528 0 R/Subtype/Link/Rect[170 220 180 229]/Border[0 0 0]/H/N>> -endobj - -19234 0 obj -<>/P 3876 0 R/Type/Annot/A 19523 0 R/Subtype/Link/Rect[182 220 196 229]/Border[0 0 0]/H/N>> -endobj - -19235 0 obj -<>/P 3876 0 R/Type/Annot/A 19519 0 R/Subtype/Link/Rect[198 220 212 229]/Border[0 0 0]/H/N>> -endobj - -19236 0 obj -<>/P 3876 0 R/Type/Annot/A 19515 0 R/Subtype/Link/Rect[214 220 231 229]/Border[0 0 0]/H/N>> -endobj - -19237 0 obj -<>/P 3876 0 R/Type/Annot/A 19511 0 R/Subtype/Link/Rect[231 220 245 229]/Border[0 0 0]/H/N>> -endobj - -19238 0 obj -<>/P 3876 0 R/Type/Annot/A 19507 0 R/Subtype/Link/Rect[247 220 259 229]/Border[0 0 0]/H/N>> -endobj - -19239 0 obj -<>/P 3876 0 R/Type/Annot/A 19503 0 R/Subtype/Link/Rect[185 210 193 219]/Border[0 0 0]/H/N>> -endobj - -19240 0 obj -<>/P 3876 0 R/Type/Annot/A 19499 0 R/Subtype/Link/Rect[227 200 241 209]/Border[0 0 0]/H/N>> -endobj - -19241 0 obj -<>/P 3876 0 R/Type/Annot/A 19496 0 R/Subtype/Link/Rect[243 200 257 209]/Border[0 0 0]/H/N>> -endobj - -19242 0 obj -<>/P 3876 0 R/Type/Annot/A 19493 0 R/Subtype/Link/Rect[259 200 276 209]/Border[0 0 0]/H/N>> -endobj - -19243 0 obj -<>/P 3876 0 R/Type/Annot/A 19490 0 R/Subtype/Link/Rect[276 200 290 209]/Border[0 0 0]/H/N>> -endobj - -19244 0 obj -<>/P 3876 0 R/Type/Annot/A 19487 0 R/Subtype/Link/Rect[151 190 168 199]/Border[0 0 0]/H/N>> -endobj - -19245 0 obj -<>/P 3876 0 R/Type/Annot/A 19484 0 R/Subtype/Link/Rect[169 190 181 199]/Border[0 0 0]/H/N>> -endobj - -19246 0 obj -<>/P 3876 0 R/Type/Annot/A 37475 0 R/Subtype/Link/Rect[231 180 245 189]/Border[0 0 0]/H/N>> -endobj - -19247 0 obj -<>/P 3876 0 R/Type/Annot/A 19479 0 R/Subtype/Link/Rect[247 180 259 189]/Border[0 0 0]/H/N>> -endobj - -19248 0 obj -<>/P 3876 0 R/Type/Annot/A 19476 0 R/Subtype/Link/Rect[207 170 221 179]/Border[0 0 0]/H/N>> -endobj - -19249 0 obj -<>/P 3876 0 R/Type/Annot/A 19474 0 R/Subtype/Link/Rect[223 170 235 179]/Border[0 0 0]/H/N>> -endobj - -19250 0 obj -<>/P 3876 0 R/Type/Annot/A 19472 0 R/Subtype/Link/Rect[190 160 202 169]/Border[0 0 0]/H/N>> -endobj - -19251 0 obj -<>/P 3876 0 R/Type/Annot/A 19471 0 R/Subtype/Link/Rect[207 150 221 159]/Border[0 0 0]/H/N>> -endobj - -19252 0 obj -<>/P 3876 0 R/Type/Annot/A 19468 0 R/Subtype/Link/Rect[223 150 237 159]/Border[0 0 0]/H/N>> -endobj - -19253 0 obj -<>/P 3876 0 R/Type/Annot/A 19467 0 R/Subtype/Link/Rect[239 150 253 159]/Border[0 0 0]/H/N>> -endobj - -19254 0 obj -<>/P 3876 0 R/Type/Annot/A 19465 0 R/Subtype/Link/Rect[255 150 267 159]/Border[0 0 0]/H/N>> -endobj - -19255 0 obj -<>/P 3876 0 R/Type/Annot/A 19463 0 R/Subtype/Link/Rect[398 670 410 678]/Border[0 0 0]/H/N>> -endobj - -19256 0 obj -<>/P 3876 0 R/Type/Annot/A 19462 0 R/Subtype/Link/Rect[415 660 429 668]/Border[0 0 0]/H/N>> -endobj - -19257 0 obj -<>/P 3876 0 R/Type/Annot/A 19461 0 R/Subtype/Link/Rect[431 660 445 668]/Border[0 0 0]/H/N>> -endobj - -19258 0 obj -<>/P 3876 0 R/Type/Annot/A 19460 0 R/Subtype/Link/Rect[447 660 459 668]/Border[0 0 0]/H/N>> -endobj - -19259 0 obj -<>/P 3876 0 R/Type/Annot/A 19459 0 R/Subtype/Link/Rect[398 650 410 658]/Border[0 0 0]/H/N>> -endobj - -19260 0 obj -<>/P 3876 0 R/Type/Annot/A 19458 0 R/Subtype/Link/Rect[410 640 424 648]/Border[0 0 0]/H/N>> -endobj - -19261 0 obj -<>/P 3876 0 R/Type/Annot/A 19456 0 R/Subtype/Link/Rect[426 640 438 648]/Border[0 0 0]/H/N>> -endobj - -19262 0 obj -<>/P 3876 0 R/Type/Annot/A 19455 0 R/Subtype/Link/Rect[398 630 410 638]/Border[0 0 0]/H/N>> -endobj - -19263 0 obj -<>/P 3876 0 R/Type/Annot/A 19454 0 R/Subtype/Link/Rect[400 620 412 629]/Border[0 0 0]/H/N>> -endobj - -19264 0 obj -<>/P 3876 0 R/Type/Annot/A 19453 0 R/Subtype/Link/Rect[413 620 423 628]/Border[0 0 0]/H/N>> -endobj - -19265 0 obj -<>/P 3876 0 R/Type/Annot/A 19452 0 R/Subtype/Link/Rect[425 620 435 628]/Border[0 0 0]/H/N>> -endobj - -19266 0 obj -<>/P 3876 0 R/Type/Annot/A 19451 0 R/Subtype/Link/Rect[437 620 447 628]/Border[0 0 0]/H/N>> -endobj - -19267 0 obj -<>/P 3876 0 R/Type/Annot/A 19450 0 R/Subtype/Link/Rect[449 620 459 628]/Border[0 0 0]/H/N>> -endobj - -19268 0 obj -<>/P 3876 0 R/Type/Annot/A 19449 0 R/Subtype/Link/Rect[461 620 471 628]/Border[0 0 0]/H/N>> -endobj - -19269 0 obj -<>/P 3876 0 R/Type/Annot/A 19448 0 R/Subtype/Link/Rect[473 620 483 628]/Border[0 0 0]/H/N>> -endobj - -19270 0 obj -<>/P 3876 0 R/Type/Annot/A 28448 0 R/Subtype/Link/Rect[485 620 495 628]/Border[0 0 0]/H/N>> -endobj - -19271 0 obj -<>/P 3876 0 R/Type/Annot/A 19578 0 R/Subtype/Link/Rect[497 620 511 628]/Border[0 0 0]/H/N>> -endobj - -19272 0 obj -<>/P 3876 0 R/Type/Annot/A 19575 0 R/Subtype/Link/Rect[359 610 373 618]/Border[0 0 0]/H/N>> -endobj - -19273 0 obj -<>/P 3876 0 R/Type/Annot/A 39547 0 R/Subtype/Link/Rect[375 610 389 618]/Border[0 0 0]/H/N>> -endobj - -19274 0 obj -<>/P 3876 0 R/Type/Annot/A 44673 0 R/Subtype/Link/Rect[391 610 405 618]/Border[0 0 0]/H/N>> -endobj - -19275 0 obj -<>/P 3876 0 R/Type/Annot/A 42749 0 R/Subtype/Link/Rect[407 610 421 618]/Border[0 0 0]/H/N>> -endobj - -19276 0 obj -<>/P 3876 0 R/Type/Annot/A 19559 0 R/Subtype/Link/Rect[423 610 437 618]/Border[0 0 0]/H/N>> -endobj - -19277 0 obj -<>/P 3876 0 R/Type/Annot/A 38395 0 R/Subtype/Link/Rect[439 610 453 618]/Border[0 0 0]/H/N>> -endobj - -19278 0 obj -<>/P 3876 0 R/Type/Annot/A 44515 0 R/Subtype/Link/Rect[455 610 469 618]/Border[0 0 0]/H/N>> -endobj - -19279 0 obj -<>/P 3876 0 R/Type/Annot/A 44496 0 R/Subtype/Link/Rect[471 610 485 618]/Border[0 0 0]/H/N>> -endobj - -19280 0 obj -<>/P 3876 0 R/Type/Annot/A 44446 0 R/Subtype/Link/Rect[487 610 504 619]/Border[0 0 0]/H/N>> -endobj - -19281 0 obj -<>/P 3876 0 R/Type/Annot/A 44415 0 R/Subtype/Link/Rect[505 610 519 618]/Border[0 0 0]/H/N>> -endobj - -19282 0 obj -<>/P 3876 0 R/Type/Annot/A 19532 0 R/Subtype/Link/Rect[359 600 376 609]/Border[0 0 0]/H/N>> -endobj - -19283 0 obj -<>/P 3876 0 R/Type/Annot/A 19529 0 R/Subtype/Link/Rect[377 600 391 608]/Border[0 0 0]/H/N>> -endobj - -19284 0 obj -<>/P 3876 0 R/Type/Annot/A 19524 0 R/Subtype/Link/Rect[393 600 407 608]/Border[0 0 0]/H/N>> -endobj - -19285 0 obj -<>/P 3876 0 R/Type/Annot/A 44260 0 R/Subtype/Link/Rect[409 600 423 608]/Border[0 0 0]/H/N>> -endobj - -19286 0 obj -<>/P 3876 0 R/Type/Annot/A 35875 0 R/Subtype/Link/Rect[425 600 439 608]/Border[0 0 0]/H/N>> -endobj - -19287 0 obj -<>/P 3876 0 R/Type/Annot/A 44196 0 R/Subtype/Link/Rect[441 600 455 608]/Border[0 0 0]/H/N>> -endobj - -19288 0 obj -<>/P 3876 0 R/Type/Annot/A 42240 0 R/Subtype/Link/Rect[457 600 471 608]/Border[0 0 0]/H/N>> -endobj - -19289 0 obj -<>/P 3876 0 R/Type/Annot/A 44128 0 R/Subtype/Link/Rect[473 600 487 608]/Border[0 0 0]/H/N>> -endobj - -19290 0 obj -<>/P 3876 0 R/Type/Annot/A 42152 0 R/Subtype/Link/Rect[489 600 503 608]/Border[0 0 0]/H/N>> -endobj - -19291 0 obj -<>/P 3876 0 R/Type/Annot/A 42099 0 R/Subtype/Link/Rect[505 600 519 608]/Border[0 0 0]/H/N>> -endobj - -19292 0 obj -<>/P 3876 0 R/Type/Annot/A 38087 0 R/Subtype/Link/Rect[359 590 373 598]/Border[0 0 0]/H/N>> -endobj - -19293 0 obj -<>/P 3876 0 R/Type/Annot/A 38058 0 R/Subtype/Link/Rect[375 590 389 598]/Border[0 0 0]/H/N>> -endobj - -19294 0 obj -<>/P 3876 0 R/Type/Annot/A 43961 0 R/Subtype/Link/Rect[391 590 405 598]/Border[0 0 0]/H/N>> -endobj - -19295 0 obj -<>/P 3876 0 R/Type/Annot/A 41947 0 R/Subtype/Link/Rect[407 590 424 599]/Border[0 0 0]/H/N>> -endobj - -19296 0 obj -<>/P 3876 0 R/Type/Annot/A 43875 0 R/Subtype/Link/Rect[425 590 439 598]/Border[0 0 0]/H/N>> -endobj - -19297 0 obj -<>/P 3876 0 R/Type/Annot/A 20534 0 R/Subtype/Link/Rect[441 590 455 598]/Border[0 0 0]/H/N>> -endobj - -19298 0 obj -<>/P 3876 0 R/Type/Annot/A 41792 0 R/Subtype/Link/Rect[457 590 471 598]/Border[0 0 0]/H/N>> -endobj - -19299 0 obj -<>/P 3876 0 R/Type/Annot/A 41741 0 R/Subtype/Link/Rect[473 590 487 598]/Border[0 0 0]/H/N>> -endobj - -19300 0 obj -<>/P 3876 0 R/Type/Annot/A 31064 0 R/Subtype/Link/Rect[489 590 503 598]/Border[0 0 0]/H/N>> -endobj - -19301 0 obj -<>/P 3876 0 R/Type/Annot/A 41654 0 R/Subtype/Link/Rect[505 590 519 598]/Border[0 0 0]/H/N>> -endobj - -19302 0 obj -<>/P 3876 0 R/Type/Annot/A 43660 0 R/Subtype/Link/Rect[359 580 373 588]/Border[0 0 0]/H/N>> -endobj - -19303 0 obj -<>/P 3876 0 R/Type/Annot/A 43615 0 R/Subtype/Link/Rect[375 580 389 588]/Border[0 0 0]/H/N>> -endobj - -19304 0 obj -<>/P 3876 0 R/Type/Annot/A 43584 0 R/Subtype/Link/Rect[391 580 405 588]/Border[0 0 0]/H/N>> -endobj - -19305 0 obj -<>/P 3876 0 R/Type/Annot/A 43536 0 R/Subtype/Link/Rect[407 580 421 588]/Border[0 0 0]/H/N>> -endobj - -19306 0 obj -<>/P 3876 0 R/Type/Annot/A 43515 0 R/Subtype/Link/Rect[423 580 440 589]/Border[0 0 0]/H/N>> -endobj - -19307 0 obj -<>/P 3876 0 R/Type/Annot/A 19612 0 R/Subtype/Link/Rect[441 580 455 588]/Border[0 0 0]/H/N>> -endobj - -19308 0 obj -<>/P 3876 0 R/Type/Annot/A 37883 0 R/Subtype/Link/Rect[457 580 471 588]/Border[0 0 0]/H/N>> -endobj - -19309 0 obj -<>/P 3876 0 R/Type/Annot/A 43400 0 R/Subtype/Link/Rect[473 580 487 588]/Border[0 0 0]/H/N>> -endobj - -19310 0 obj -<>/P 3876 0 R/Type/Annot/A 43361 0 R/Subtype/Link/Rect[489 580 503 588]/Border[0 0 0]/H/N>> -endobj - -19311 0 obj -<>/P 3876 0 R/Type/Annot/A 41258 0 R/Subtype/Link/Rect[505 580 519 588]/Border[0 0 0]/H/N>> -endobj - -19312 0 obj -<>/P 3876 0 R/Type/Annot/A 29152 0 R/Subtype/Link/Rect[359 570 373 578]/Border[0 0 0]/H/N>> -endobj - -19313 0 obj -<>/P 3876 0 R/Type/Annot/A 43229 0 R/Subtype/Link/Rect[375 570 389 578]/Border[0 0 0]/H/N>> -endobj - -19314 0 obj -<>/P 3876 0 R/Type/Annot/A 19592 0 R/Subtype/Link/Rect[391 570 405 578]/Border[0 0 0]/H/N>> -endobj - -19315 0 obj -<>/P 3876 0 R/Type/Annot/A 43153 0 R/Subtype/Link/Rect[407 570 421 578]/Border[0 0 0]/H/N>> -endobj - -19316 0 obj -<>/P 3876 0 R/Type/Annot/A 43114 0 R/Subtype/Link/Rect[423 570 437 578]/Border[0 0 0]/H/N>> -endobj - -19317 0 obj -<>/P 3876 0 R/Type/Annot/A 43090 0 R/Subtype/Link/Rect[439 570 456 579]/Border[0 0 0]/H/N>> -endobj - -19318 0 obj -<>/P 3876 0 R/Type/Annot/A 43020 0 R/Subtype/Link/Rect[457 570 471 578]/Border[0 0 0]/H/N>> -endobj - -19319 0 obj -<>/P 3876 0 R/Type/Annot/A 42992 0 R/Subtype/Link/Rect[473 570 487 578]/Border[0 0 0]/H/N>> -endobj - -19320 0 obj -<>/P 3876 0 R/Type/Annot/A 42962 0 R/Subtype/Link/Rect[359 560 376 569]/Border[0 0 0]/H/N>> -endobj - -19321 0 obj -<>/P 3876 0 R/Type/Annot/A 42926 0 R/Subtype/Link/Rect[377 560 391 568]/Border[0 0 0]/H/N>> -endobj - -19322 0 obj -<>/P 3876 0 R/Type/Annot/A 42886 0 R/Subtype/Link/Rect[393 560 407 568]/Border[0 0 0]/H/N>> -endobj - -19323 0 obj -<>/P 3876 0 R/Type/Annot/A 42856 0 R/Subtype/Link/Rect[409 560 423 568]/Border[0 0 0]/H/N>> -endobj - -19324 0 obj -<>/P 3876 0 R/Type/Annot/A 26932 0 R/Subtype/Link/Rect[425 560 439 568]/Border[0 0 0]/H/N>> -endobj - -19325 0 obj -<>/P 3876 0 R/Type/Annot/A 42773 0 R/Subtype/Link/Rect[441 560 455 568]/Border[0 0 0]/H/N>> -endobj - -19326 0 obj -<>/P 3876 0 R/Type/Annot/A 19545 0 R/Subtype/Link/Rect[457 560 471 568]/Border[0 0 0]/H/N>> -endobj - -19327 0 obj -<>/P 3876 0 R/Type/Annot/A 19540 0 R/Subtype/Link/Rect[473 560 487 568]/Border[0 0 0]/H/N>> -endobj - -19328 0 obj -<>/P 3876 0 R/Type/Annot/A 42675 0 R/Subtype/Link/Rect[489 560 503 568]/Border[0 0 0]/H/N>> -endobj - -19329 0 obj -<>/P 3876 0 R/Type/Annot/A 25865 0 R/Subtype/Link/Rect[505 560 517 568]/Border[0 0 0]/H/N>> -endobj - -19330 0 obj -<>/P 3876 0 R/Type/Annot/A 42591 0 R/Subtype/Link/Rect[414 550 427 559]/Border[0 0 0]/H/N>> -endobj - -19331 0 obj -<>/P 3876 0 R/Type/Annot/A 42563 0 R/Subtype/Link/Rect[427 550 437 558]/Border[0 0 0]/H/N>> -endobj - -19332 0 obj -<>/P 3876 0 R/Type/Annot/A 42531 0 R/Subtype/Link/Rect[439 550 447 558]/Border[0 0 0]/H/N>> -endobj - -19333 0 obj -<>/P 3876 0 R/Type/Annot/A 42488 0 R/Subtype/Link/Rect[386 530 399 539]/Border[0 0 0]/H/N>> -endobj - -19334 0 obj -<>/P 3876 0 R/Type/Annot/A 36691 0 R/Subtype/Link/Rect[400 530 408 538]/Border[0 0 0]/H/N>> -endobj - -19335 0 obj -<>/P 3876 0 R/Type/Annot/A 42395 0 R/Subtype/Link/Rect[414 520 431 529]/Border[0 0 0]/H/N>> -endobj - -19336 0 obj -<>/P 3876 0 R/Type/Annot/A 42372 0 R/Subtype/Link/Rect[432 520 444 528]/Border[0 0 0]/H/N>> -endobj - -19337 0 obj -<>/P 3876 0 R/Type/Annot/A 38154 0 R/Subtype/Link/Rect[384 510 392 518]/Border[0 0 0]/H/N>> -endobj - -19338 0 obj -<>/P 3876 0 R/Type/Annot/A 35049 0 R/Subtype/Link/Rect[419 500 436 509]/Border[0 0 0]/H/N>> -endobj - -19339 0 obj -<>/P 3876 0 R/Type/Annot/A 38127 0 R/Subtype/Link/Rect[436 500 448 508]/Border[0 0 0]/H/N>> -endobj - -19340 0 obj -<>/P 3876 0 R/Type/Annot/A 42218 0 R/Subtype/Link/Rect[393 490 403 498]/Border[0 0 0]/H/N>> -endobj - -19341 0 obj -<>/P 3876 0 R/Type/Annot/A 21967 0 R/Subtype/Link/Rect[405 490 419 498]/Border[0 0 0]/H/N>> -endobj - -19342 0 obj -<>/P 3876 0 R/Type/Annot/A 33627 0 R/Subtype/Link/Rect[421 490 433 498]/Border[0 0 0]/H/N>> -endobj - -19343 0 obj -<>/P 3876 0 R/Type/Annot/A 42072 0 R/Subtype/Link/Rect[415 480 421 488]/Border[0 0 0]/H/N>> -endobj - -19344 0 obj -<>/P 3876 0 R/Type/Annot/A 42040 0 R/Subtype/Link/Rect[423 480 437 488]/Border[0 0 0]/H/N>> -endobj - -19345 0 obj -<>/P 3876 0 R/Type/Annot/A 41995 0 R/Subtype/Link/Rect[439 480 453 488]/Border[0 0 0]/H/N>> -endobj - -19346 0 obj -<>/P 3876 0 R/Type/Annot/A 41957 0 R/Subtype/Link/Rect[455 480 469 488]/Border[0 0 0]/H/N>> -endobj - -19347 0 obj -<>/P 3876 0 R/Type/Annot/A 19470 0 R/Subtype/Link/Rect[471 480 483 488]/Border[0 0 0]/H/N>> -endobj - -19348 0 obj -<>/P 3876 0 R/Type/Annot/A 41883 0 R/Subtype/Link/Rect[398 470 410 478]/Border[0 0 0]/H/N>> -endobj - -19349 0 obj -<>/P 3876 0 R/Type/Annot/A 41838 0 R/Subtype/Link/Rect[410 460 424 468]/Border[0 0 0]/H/N>> -endobj - -19350 0 obj -<>/P 3876 0 R/Type/Annot/A 19629 0 R/Subtype/Link/Rect[426 460 440 468]/Border[0 0 0]/H/N>> -endobj - -19351 0 obj -<>/P 3876 0 R/Type/Annot/A 41732 0 R/Subtype/Link/Rect[442 460 454 468]/Border[0 0 0]/H/N>> -endobj - -19352 0 obj -<>/P 3876 0 R/Type/Annot/A 30290 0 R/Subtype/Link/Rect[398 450 410 458]/Border[0 0 0]/H/N>> -endobj - -19353 0 obj -<>/P 3876 0 R/Type/Annot/A 30263 0 R/Subtype/Link/Rect[410 440 416 448]/Border[0 0 0]/H/N>> -endobj - -19354 0 obj -<>/P 3876 0 R/Type/Annot/A 41600 0 R/Subtype/Link/Rect[418 440 432 448]/Border[0 0 0]/H/N>> -endobj - -19355 0 obj -<>/P 3876 0 R/Type/Annot/A 41557 0 R/Subtype/Link/Rect[434 440 446 448]/Border[0 0 0]/H/N>> -endobj - -19356 0 obj -<>/P 3876 0 R/Type/Annot/A 19611 0 R/Subtype/Link/Rect[398 430 410 438]/Border[0 0 0]/H/N>> -endobj - -19357 0 obj -<>/P 3876 0 R/Type/Annot/A 41468 0 R/Subtype/Link/Rect[393 420 403 428]/Border[0 0 0]/H/N>> -endobj - -19358 0 obj -<>/P 3876 0 R/Type/Annot/A 41434 0 R/Subtype/Link/Rect[405 420 417 428]/Border[0 0 0]/H/N>> -endobj - -19359 0 obj -<>/P 3876 0 R/Type/Annot/A 41414 0 R/Subtype/Link/Rect[388 410 400 418]/Border[0 0 0]/H/N>> -endobj - -19360 0 obj -<>/P 3876 0 R/Type/Annot/A 41345 0 R/Subtype/Link/Rect[425 400 437 408]/Border[0 0 0]/H/N>> -endobj - -19361 0 obj -<>/P 3876 0 R/Type/Annot/A 41320 0 R/Subtype/Link/Rect[406 390 419 399]/Border[0 0 0]/H/N>> -endobj - -19362 0 obj -<>/P 3876 0 R/Type/Annot/A 29162 0 R/Subtype/Link/Rect[419 390 429 398]/Border[0 0 0]/H/N>> -endobj - -19363 0 obj -<>/P 3876 0 R/Type/Annot/A 19591 0 R/Subtype/Link/Rect[431 390 445 398]/Border[0 0 0]/H/N>> -endobj - -19364 0 obj -<>/P 3876 0 R/Type/Annot/A 29083 0 R/Subtype/Link/Rect[447 390 464 399]/Border[0 0 0]/H/N>> -endobj - -19365 0 obj -<>/P 3876 0 R/Type/Annot/A 19583 0 R/Subtype/Link/Rect[465 390 477 398]/Border[0 0 0]/H/N>> -endobj - -19366 0 obj -<>/P 3876 0 R/Type/Annot/A 28520 0 R/Subtype/Link/Rect[406 380 420 388]/Border[0 0 0]/H/N>> -endobj - -19367 0 obj -<>/P 3876 0 R/Type/Annot/A 28502 0 R/Subtype/Link/Rect[422 380 434 388]/Border[0 0 0]/H/N>> -endobj - -19368 0 obj -<>/P 3876 0 R/Type/Annot/A 19572 0 R/Subtype/Link/Rect[421 370 433 378]/Border[0 0 0]/H/N>> -endobj - -19369 0 obj -<>/P 3876 0 R/Type/Annot/A 28418 0 R/Subtype/Link/Rect[416 360 428 368]/Border[0 0 0]/H/N>> -endobj - -19370 0 obj -<>/P 3876 0 R/Type/Annot/A 28365 0 R/Subtype/Link/Rect[444 350 456 358]/Border[0 0 0]/H/N>> -endobj - -19371 0 obj -<>/P 3876 0 R/Type/Annot/A 19563 0 R/Subtype/Link/Rect[420 340 437 349]/Border[0 0 0]/H/N>> -endobj - -19372 0 obj -<>/P 3876 0 R/Type/Annot/A 27596 0 R/Subtype/Link/Rect[438 340 450 348]/Border[0 0 0]/H/N>> -endobj - -19373 0 obj -<>/P 3876 0 R/Type/Annot/A 19555 0 R/Subtype/Link/Rect[411 330 417 338]/Border[0 0 0]/H/N>> -endobj - -19374 0 obj -<>/P 3876 0 R/Type/Annot/A 19551 0 R/Subtype/Link/Rect[419 330 429 338]/Border[0 0 0]/H/N>> -endobj - -19375 0 obj -<>/P 3876 0 R/Type/Annot/A 26929 0 R/Subtype/Link/Rect[431 330 445 338]/Border[0 0 0]/H/N>> -endobj - -19376 0 obj -<>/P 3876 0 R/Type/Annot/A 19544 0 R/Subtype/Link/Rect[447 330 463 339]/Border[0 0 0]/H/N>> -endobj - -19377 0 obj -<>/P 3876 0 R/Type/Annot/A 22001 0 R/Subtype/Link/Rect[464 330 478 338]/Border[0 0 0]/H/N>> -endobj - -19378 0 obj -<>/P 3876 0 R/Type/Annot/A 25939 0 R/Subtype/Link/Rect[480 330 494 338]/Border[0 0 0]/H/N>> -endobj - -19379 0 obj -<>/P 3876 0 R/Type/Annot/A 19530 0 R/Subtype/Link/Rect[496 330 510 338]/Border[0 0 0]/H/N>> -endobj - -19380 0 obj -<>/P 3876 0 R/Type/Annot/A 19526 0 R/Subtype/Link/Rect[359 320 376 329]/Border[0 0 0]/H/N>> -endobj - -19381 0 obj -<>/P 3876 0 R/Type/Annot/A 25822 0 R/Subtype/Link/Rect[377 320 389 329]/Border[0 0 0]/H/N>> -endobj - -19382 0 obj -<>/P 3876 0 R/Type/Annot/A 25003 0 R/Subtype/Link/Rect[440 310 456 319]/Border[0 0 0]/H/N>> -endobj - -19383 0 obj -<>/P 3876 0 R/Type/Annot/A 19513 0 R/Subtype/Link/Rect[457 310 471 319]/Border[0 0 0]/H/N>> -endobj - -19384 0 obj -<>/P 3876 0 R/Type/Annot/A 19509 0 R/Subtype/Link/Rect[473 310 485 319]/Border[0 0 0]/H/N>> -endobj - -19385 0 obj -<>/P 3876 0 R/Type/Annot/A 19505 0 R/Subtype/Link/Rect[425 300 442 309]/Border[0 0 0]/H/N>> -endobj - -19386 0 obj -<>/P 3876 0 R/Type/Annot/A 19501 0 R/Subtype/Link/Rect[442 300 454 309]/Border[0 0 0]/H/N>> -endobj - -19387 0 obj -<>/P 3876 0 R/Type/Annot/A 23413 0 R/Subtype/Link/Rect[411 290 423 299]/Border[0 0 0]/H/N>> -endobj - -19388 0 obj -<>/P 3876 0 R/Type/Annot/A 23358 0 R/Subtype/Link/Rect[392 280 406 289]/Border[0 0 0]/H/N>> -endobj - -19389 0 obj -<>/P 3876 0 R/Type/Annot/A 22654 0 R/Subtype/Link/Rect[408 280 420 289]/Border[0 0 0]/H/N>> -endobj - -19390 0 obj -<>/P 3876 0 R/Type/Annot/A 19488 0 R/Subtype/Link/Rect[420 270 437 279]/Border[0 0 0]/H/N>> -endobj - -19391 0 obj -<>/P 3876 0 R/Type/Annot/A 19485 0 R/Subtype/Link/Rect[438 270 450 279]/Border[0 0 0]/H/N>> -endobj - -19392 0 obj -<>/P 3876 0 R/Type/Annot/A 21972 0 R/Subtype/Link/Rect[411 260 421 269]/Border[0 0 0]/H/N>> -endobj - -19393 0 obj -<>/P 3876 0 R/Type/Annot/A 21427 0 R/Subtype/Link/Rect[423 260 439 269]/Border[0 0 0]/H/N>> -endobj - -19394 0 obj -<>/P 3876 0 R/Type/Annot/A 21385 0 R/Subtype/Link/Rect[440 260 452 269]/Border[0 0 0]/H/N>> -endobj - -19395 0 obj -<>/P 3876 0 R/Type/Annot/A 19473 0 R/Subtype/Link/Rect[416 250 428 259]/Border[0 0 0]/H/N>> -endobj - -19396 0 obj -<>/P 3876 0 R/Type/Annot/A 20553 0 R/Subtype/Link/Rect[435 240 447 249]/Border[0 0 0]/H/N>> -endobj - -19397 0 obj -<>/P 3876 0 R/Type/Annot/A 19469 0 R/Subtype/Link/Rect[416 230 428 239]/Border[0 0 0]/H/N>> -endobj - -19398 0 obj -<>/P 3876 0 R/Type/Annot/A 20099 0 R/Subtype/Link/Rect[401 220 413 229]/Border[0 0 0]/H/N>> -endobj - -19399 0 obj -<>/P 3876 0 R/Type/Annot/A 19466 0 R/Subtype/Link/Rect[388 210 402 219]/Border[0 0 0]/H/N>> -endobj - -19400 0 obj -<>/P 3876 0 R/Type/Annot/A 19464 0 R/Subtype/Link/Rect[404 210 416 219]/Border[0 0 0]/H/N>> -endobj - -19401 0 obj -<>/P 3876 0 R/Type/Annot/A 31823 0 R/Subtype/Link/Rect[407 200 421 209]/Border[0 0 0]/H/N>> -endobj - -19402 0 obj -<>/P 3876 0 R/Type/Annot/A 19628 0 R/Subtype/Link/Rect[423 200 437 209]/Border[0 0 0]/H/N>> -endobj - -19403 0 obj -<>/P 3876 0 R/Type/Annot/A 19625 0 R/Subtype/Link/Rect[439 200 453 209]/Border[0 0 0]/H/N>> -endobj - -19404 0 obj -<>/P 3876 0 R/Type/Annot/A 19622 0 R/Subtype/Link/Rect[455 200 469 209]/Border[0 0 0]/H/N>> -endobj - -19405 0 obj -<>/P 3876 0 R/Type/Annot/A 19619 0 R/Subtype/Link/Rect[471 200 483 209]/Border[0 0 0]/H/N>> -endobj - -19406 0 obj -<>/P 3876 0 R/Type/Annot/A 30267 0 R/Subtype/Link/Rect[374 190 386 199]/Border[0 0 0]/H/N>> -endobj - -19407 0 obj -<>/P 3876 0 R/Type/Annot/A 30239 0 R/Subtype/Link/Rect[417 180 427 189]/Border[0 0 0]/H/N>> -endobj - -19408 0 obj -<>/P 3876 0 R/Type/Annot/A 19610 0 R/Subtype/Link/Rect[429 180 443 189]/Border[0 0 0]/H/N>> -endobj - -19409 0 obj -<>/P 3876 0 R/Type/Annot/A 30149 0 R/Subtype/Link/Rect[445 180 459 189]/Border[0 0 0]/H/N>> -endobj - -19410 0 obj -<>/P 3876 0 R/Type/Annot/A 19605 0 R/Subtype/Link/Rect[461 180 473 189]/Border[0 0 0]/H/N>> -endobj - -19411 0 obj -<>/P 3876 0 R/Type/Annot/A 30063 0 R/Subtype/Link/Rect[396 170 408 179]/Border[0 0 0]/H/N>> -endobj - -19412 0 obj -<>/P 3876 0 R/Type/Annot/A 29315 0 R/Subtype/Link/Rect[409 170 419 179]/Border[0 0 0]/H/N>> -endobj - -19413 0 obj -<>/P 3876 0 R/Type/Annot/A 29272 0 R/Subtype/Link/Rect[421 170 431 179]/Border[0 0 0]/H/N>> -endobj - -19414 0 obj -<>/P 3876 0 R/Type/Annot/A 29239 0 R/Subtype/Link/Rect[433 170 443 179]/Border[0 0 0]/H/N>> -endobj - -19415 0 obj -<>/P 3876 0 R/Type/Annot/A 29200 0 R/Subtype/Link/Rect[445 170 457 179]/Border[0 0 0]/H/N>> -endobj - -19416 0 obj -<>/P 3876 0 R/Type/Annot/A 19588 0 R/Subtype/Link/Rect[458 170 468 179]/Border[0 0 0]/H/N>> -endobj - -19417 0 obj -<>/P 3876 0 R/Type/Annot/A 19584 0 R/Subtype/Link/Rect[470 170 480 179]/Border[0 0 0]/H/N>> -endobj - -19418 0 obj -<>/P 3876 0 R/Type/Annot/A 29077 0 R/Subtype/Link/Rect[482 170 492 179]/Border[0 0 0]/H/N>> -endobj - -19419 0 obj -<>/P 3876 0 R/Type/Annot/A 28558 0 R/Subtype/Link/Rect[494 170 504 179]/Border[0 0 0]/H/N>> -endobj - -19420 0 obj -<>/P 3876 0 R/Type/Annot/A 19573 0 R/Subtype/Link/Rect[359 160 373 169]/Border[0 0 0]/H/N>> -endobj - -19421 0 obj -<>/P 3876 0 R/Type/Annot/A 28495 0 R/Subtype/Link/Rect[375 160 389 169]/Border[0 0 0]/H/N>> -endobj - -19422 0 obj -<>/P 3876 0 R/Type/Annot/A 19566 0 R/Subtype/Link/Rect[391 160 405 169]/Border[0 0 0]/H/N>> -endobj - -19423 0 obj -<>/P 3876 0 R/Type/Annot/A 28408 0 R/Subtype/Link/Rect[407 160 421 169]/Border[0 0 0]/H/N>> -endobj - -19424 0 obj -<>/P 3876 0 R/Type/Annot/A 28363 0 R/Subtype/Link/Rect[423 160 437 169]/Border[0 0 0]/H/N>> -endobj - -19425 0 obj -<>/P 3876 0 R/Type/Annot/A 19556 0 R/Subtype/Link/Rect[439 160 453 169]/Border[0 0 0]/H/N>> -endobj - -19426 0 obj -<>/P 3876 0 R/Type/Annot/A 27592 0 R/Subtype/Link/Rect[455 160 469 169]/Border[0 0 0]/H/N>> -endobj - -19427 0 obj -<>/P 3876 0 R/Type/Annot/A 27560 0 R/Subtype/Link/Rect[471 160 485 169]/Border[0 0 0]/H/N>> -endobj - -19428 0 obj -<>/P 3876 0 R/Type/Annot/A 26972 0 R/Subtype/Link/Rect[487 160 504 169]/Border[0 0 0]/H/N>> -endobj - -19429 0 obj -<>/P 3876 0 R/Type/Annot/A 19539 0 R/Subtype/Link/Rect[504 160 518 169]/Border[0 0 0]/H/N>> -endobj - -19430 0 obj -<>/P 3876 0 R/Type/Annot/A 19535 0 R/Subtype/Link/Rect[359 150 376 159]/Border[0 0 0]/H/N>> -endobj - -19431 0 obj -<>/P 3876 0 R/Type/Annot/A 26468 0 R/Subtype/Link/Rect[377 150 391 159]/Border[0 0 0]/H/N>> -endobj - -19432 0 obj -<>/P 3876 0 R/Type/Annot/A 25940 0 R/Subtype/Link/Rect[393 150 409 159]/Border[0 0 0]/H/N>> -endobj - -19433 0 obj -<>/P 3876 0 R/Type/Annot/A 25899 0 R/Subtype/Link/Rect[410 150 424 159]/Border[0 0 0]/H/N>> -endobj - -19434 0 obj -<>/P 3876 0 R/Type/Annot/A 19520 0 R/Subtype/Link/Rect[426 150 443 159]/Border[0 0 0]/H/N>> -endobj - -19435 0 obj -<>/P 3876 0 R/Type/Annot/A 19516 0 R/Subtype/Link/Rect[443 150 457 159]/Border[0 0 0]/H/N>> -endobj - -19436 0 obj -<>/P 3876 0 R/Type/Annot/A 25005 0 R/Subtype/Link/Rect[459 150 476 159]/Border[0 0 0]/H/N>> -endobj - -19437 0 obj -<>/P 3876 0 R/Type/Annot/A 19508 0 R/Subtype/Link/Rect[476 150 490 159]/Border[0 0 0]/H/N>> -endobj - -19438 0 obj -<>/P 3876 0 R/Type/Annot/A 24906 0 R/Subtype/Link/Rect[492 150 506 159]/Border[0 0 0]/H/N>> -endobj - -19439 0 obj -<>/P 3876 0 R/Type/Annot/A 19500 0 R/Subtype/Link/Rect[359 140 373 149]/Border[0 0 0]/H/N>> -endobj - -19440 0 obj -<>/P 3876 0 R/Type/Annot/A 19497 0 R/Subtype/Link/Rect[375 140 392 149]/Border[0 0 0]/H/N>> -endobj - -19441 0 obj -<>/P 3876 0 R/Type/Annot/A 23438 0 R/Subtype/Link/Rect[393 140 407 149]/Border[0 0 0]/H/N>> -endobj - -19442 0 obj -<>/P 3876 0 R/Type/Annot/A 23374 0 R/Subtype/Link/Rect[409 140 425 149]/Border[0 0 0]/H/N>> -endobj - -19443 0 obj -<>/P 3876 0 R/Type/Annot/A 22658 0 R/Subtype/Link/Rect[426 140 440 149]/Border[0 0 0]/H/N>> -endobj - -19444 0 obj -<>/P 3876 0 R/Type/Annot/A 22616 0 R/Subtype/Link/Rect[442 140 459 149]/Border[0 0 0]/H/N>> -endobj - -19445 0 obj -<>/P 3876 0 R/Type/Annot/A 19481 0 R/Subtype/Link/Rect[459 140 473 149]/Border[0 0 0]/H/N>> -endobj - -19446 0 obj -<>/P 3876 0 R/Type/Annot/A 22003 0 R/Subtype/Link/Rect[475 140 489 149]/Border[0 0 0]/H/N>> -endobj - -19447 0 obj -<>/P 3876 0 R/Type/Annot/A 21439 0 R/Subtype/Link/Rect[491 140 505 149]/Border[0 0 0]/H/N>> -endobj - -19448 0 obj -<> -endobj - -19449 0 obj -<> -endobj - -19450 0 obj -<> -endobj - -19451 0 obj -<> -endobj - -19452 0 obj -<> -endobj - -19453 0 obj -<> -endobj - -19454 0 obj -<> -endobj - -19455 0 obj -<> -endobj - -19456 0 obj -<> -endobj - -19457 0 obj -<> -endobj - -19458 0 obj -<> -endobj - -19459 0 obj -<> -endobj - -19460 0 obj -<> -endobj - -19461 0 obj -<> -endobj - -19462 0 obj -<> -endobj - -19463 0 obj -<> -endobj - -19464 0 obj -<> -endobj - -19465 0 obj -<> -endobj - -19466 0 obj -<> -endobj - -19467 0 obj -<> -endobj - -19468 0 obj -<> -endobj - -19469 0 obj -<> -endobj - -19470 0 obj -<> -endobj - -19471 0 obj -<> -endobj - -19472 0 obj -<> -endobj - -19473 0 obj -<> -endobj - -19474 0 obj -<> -endobj - -19475 0 obj -<> -endobj - -19476 0 obj -<> -endobj - -19477 0 obj -<> -endobj - -19478 0 obj -<> -endobj - -19479 0 obj -<> -endobj - -19480 0 obj -<> -endobj - -19481 0 obj -<> -endobj - -19482 0 obj -<> -endobj - -19483 0 obj -<> -endobj - -19484 0 obj -<> -endobj - -19485 0 obj -<> -endobj - -19486 0 obj -<> -endobj - -19487 0 obj -<> -endobj - -19488 0 obj -<> -endobj - -19489 0 obj -<> -endobj - -19490 0 obj -<> -endobj - -19491 0 obj -<> -endobj - -19492 0 obj -<> -endobj - -19493 0 obj -<> -endobj - -19494 0 obj -<> -endobj - -19495 0 obj -<> -endobj - -19496 0 obj -<> -endobj - -19497 0 obj -<> -endobj - -19498 0 obj -<> -endobj - -19499 0 obj -<> -endobj - -19500 0 obj -<> -endobj - -19501 0 obj -<> -endobj - -19502 0 obj -<> -endobj - -19503 0 obj -<> -endobj - -19504 0 obj -<> -endobj - -19505 0 obj -<> -endobj - -19506 0 obj -<> -endobj - -19507 0 obj -<> -endobj - -19508 0 obj -<> -endobj - -19509 0 obj -<> -endobj - -19510 0 obj -<> -endobj - -19511 0 obj -<> -endobj - -19512 0 obj -<> -endobj - -19513 0 obj -<> -endobj - -19514 0 obj -<> -endobj - -19515 0 obj -<> -endobj - -19516 0 obj -<> -endobj - -19517 0 obj -<> -endobj - -19518 0 obj -<> -endobj - -19519 0 obj -<> -endobj - -19520 0 obj -<> -endobj - -19521 0 obj -<> -endobj - -19522 0 obj -<> -endobj - -19523 0 obj -<> -endobj - -19524 0 obj -<> -endobj - -19525 0 obj -<> -endobj - -19526 0 obj -<> -endobj - -19527 0 obj -<> -endobj - -19528 0 obj -<> -endobj - -19529 0 obj -<> -endobj - -19530 0 obj -<> -endobj - -19531 0 obj -<> -endobj - -19532 0 obj -<> -endobj - -19533 0 obj -<> -endobj - -19534 0 obj -<> -endobj - -19535 0 obj -<> -endobj - -19536 0 obj -<> -endobj - -19537 0 obj -<> -endobj - -19538 0 obj -<> -endobj - -19539 0 obj -<> -endobj - -19540 0 obj -<> -endobj - -19541 0 obj -<> -endobj - -19542 0 obj -<> -endobj - -19543 0 obj -<> -endobj - -19544 0 obj -<> -endobj - -19545 0 obj -<> -endobj - -19546 0 obj -<> -endobj - -19547 0 obj -<> -endobj - -19548 0 obj -<> -endobj - -19549 0 obj -<> -endobj - -19550 0 obj -<> -endobj - -19551 0 obj -<> -endobj - -19552 0 obj -<> -endobj - -19553 0 obj -<> -endobj - -19554 0 obj -<> -endobj - -19555 0 obj -<> -endobj - -19556 0 obj -<> -endobj - -19557 0 obj -<> -endobj - -19558 0 obj -<> -endobj - -19559 0 obj -<> -endobj - -19560 0 obj -<> -endobj - -19561 0 obj -<> -endobj - -19562 0 obj -<> -endobj - -19563 0 obj -<> -endobj - -19564 0 obj -<> -endobj - -19565 0 obj -<> -endobj - -19566 0 obj -<> -endobj - -19567 0 obj -<> -endobj - -19568 0 obj -<> -endobj - -19569 0 obj -<> -endobj - -19570 0 obj -<> -endobj - -19571 0 obj -<> -endobj - -19572 0 obj -<> -endobj - -19573 0 obj -<> -endobj - -19574 0 obj -<> -endobj - -19575 0 obj -<> -endobj - -19576 0 obj -<> -endobj - -19577 0 obj -<> -endobj - -19578 0 obj -<> -endobj - -19579 0 obj -<> -endobj - -19580 0 obj -<> -endobj - -19581 0 obj -<> -endobj - -19582 0 obj -<> -endobj - -19583 0 obj -<> -endobj - -19584 0 obj -<> -endobj - -19585 0 obj -<> -endobj - -19586 0 obj -<> -endobj - -19587 0 obj -<> -endobj - -19588 0 obj -<> -endobj - -19589 0 obj -<> -endobj - -19590 0 obj -<> -endobj - -19591 0 obj -<> -endobj - -19592 0 obj -<> -endobj - -19593 0 obj -<> -endobj - -19594 0 obj -<> -endobj - -19595 0 obj -<> -endobj - -19596 0 obj -<> -endobj - -19597 0 obj -<> -endobj - -19598 0 obj -<> -endobj - -19599 0 obj -<> -endobj - -19600 0 obj -<> -endobj - -19601 0 obj -<> -endobj - -19602 0 obj -<> -endobj - -19603 0 obj -<> -endobj - -19604 0 obj -<> -endobj - -19605 0 obj -<> -endobj - -19606 0 obj -<> -endobj - -19607 0 obj -<> -endobj - -19608 0 obj -<> -endobj - -19609 0 obj -<> -endobj - -19610 0 obj -<> -endobj - -19611 0 obj -<> -endobj - -19612 0 obj -<> -endobj - -19613 0 obj -<> -endobj - -19614 0 obj -<> -endobj - -19615 0 obj -<> -endobj - -19616 0 obj -<> -endobj - -19617 0 obj -<> -endobj - -19618 0 obj -<> -endobj - -19619 0 obj -<> -endobj - -19620 0 obj -<> -endobj - -19621 0 obj -<> -endobj - -19622 0 obj -<> -endobj - -19623 0 obj -<> -endobj - -19624 0 obj -<> -endobj - -19625 0 obj -<> -endobj - -19626 0 obj -<> -endobj - -19627 0 obj -<> -endobj - -19628 0 obj -<> -endobj - -19629 0 obj -<> -endobj - -19630 0 obj -<> -endobj - -19631 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19632 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19633 0 obj -<> -endobj - -19634 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19635 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19636 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19637 0 obj -<> -stream -HWmo8_/bomv[E㽽"-$rNfdQ b+ÙgH>jGѴ__}}y7:9f&Sq"YH֔_8X4XV^lVZmS-XSEwWmh:+&6! g9!&KyzrU.jSsi$?2 f:vd^ͿC -Reˢͮr%DX g'r #(2s"Kg3pdQX3|<=VUԧS3O}F<9>zϳ0#IŐw1`u1d] YzZCs$\b"{k] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%Z[Gp!Wb"\bջ|.,µ.,BZEŐE\׺׺kZCs"\b"\b"{Uk] Yzϵpp!PVu1d=*µ.4ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d=jµ.,BZMŀEŐE\ ׺k5ZZCs&\b"{Մk]lµ.,_p!Wbqqss^ϣ\`Hy$|]Onw6%;;OM>)}s\TJeܕum]eu{e "J̓۲9=$ )Q[Y}8\oemvîu`q&!I1mSw !_=dǡ b1]-rhr;??. p12q6z O0І%uỬ3&tO`JRvEpeW:ȎF|7yX?gvYJY\8%|obĉ4e^O VVYdeei7L̻ӢO7ac5ry[%tP022n2e3d1PԄxb^ȁɁЌ h N^,& XSԯ" A̘^EP揲hWÐRXj1TÂ#gc<*@ -KXKH&-[\,EL$Oy#$i 7tRzȉR K b&n#M\Ź be_S HlrG'NdTSj!IE"e^;d -yUeuWaZ,%7?G-EA$]ЧTÇא䒚I.)}oժ]>K7v C}y5Fs9'p~LɏcC #Hk4“#ض}b/l^7RM"X`#CfcS~WLVTTEApGA%`bBcŖN XAڶ7xew=~ۄ?gov= <|"%Tt1K-ɐHJ⥠6'kKMH6Aז͌ 7Tkl`WܶW0YfnDa$ !'qCh -WA# B?7YX޵[O,.bH1 "Ot' u-Xv܇zo`Y#wOtjM8͢X0f %x_Im)ۀ> gJX6z1Ó?N0>9 -~Ŧ^{h/޺bFmja۪u5O8?kg`Hdd+fzqkffe9N1 `%;ng<ڏ 3!Zf@$N!|kᒒy -X[ߔ-ˆ8&/34Cdv&WD1h}9nqq!b_6ZIՂm{x "ҁo1kL8Ұ L)^v#Nb2E)C$xVW[)3hcB$X=^=\= n08ȧgN"eU⠊qpl*dݏ -50o|XB^6‡?dW۾OoVv9}ʟkcjth)qM _@cGcKm#FRQMZڏgVq7)%YbZMa1[1Y2eܾ߆&)iK(i~4]6^C1Ϛw聗: i8E -9 f;`np~mlLP1?~$R|}tX4 eF;TĞXi~y;ߓ?N@+^(ak>vJ$ǴPKW)v jj闧H%UVSezn-~ZН3njpxũuOѡ;K^zB "onٟuϙ2Tvbϭ ҅-xwrt'=Vf MqY,hb=6s=jKΛ+<= ɼ{$R\}$XaZUx* |SQ(2ɻ0b\[ؔ04gVDC#|ƀ…ƀ2؄hzӖE%jl #S%f~88jވ2LŒfe}6š̸@/ M;'=Qg[M1$flJ)bc}7mi>ak6pn8rR,ROy{T"+cWN4"Q$\rn=TGIt :͒%Ttxb5Dҫ$@`4 -pPuXMgEeϡW6, -)H -X -ԶmJUd~zJpˇcT$8{PH 2@M0>ci` JƢS )R@ʞv Xp8~~ -0B$endstream -endobj - -19638 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19639 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19640 0 obj -<> -endobj - -19641 0 obj -<> -endobj - -19642 0 obj -<> -endobj - -19643 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19644 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19645 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19646 0 obj -<> -stream -HtWkoH_1Bl 8"!X(9&WwA"RSS쩒=m^t -ԛ7o]yBLƩ(:6*jK@=xw\}\^5릭6eVj+Qv]{B5_ylLe UwߖE_5](D=٦6&9ʻ&պ޾+ٞwR~w=@{-6=@}2kR˒`zYD9d(,ŀE0dEzCnb2{a2Vpo{+̽; s #>G}$Xp3>f}'O s -S>ܧ}&ϘLp: -3Bk),bZK1dqCwO1` Fh-Ő%g5Bk),CFh-ŀ%bܳCR Y{Z#bܳxVh-ŐS XBk),b),C -Vh-ŀ%bܳZC -R Y{Z+bܳZZ!KpZkR Y{Z+b {Kh-ŐS Y=ŀ%bܳ:C R Y{Z'bܳ:Z!KpZR Y{Z'bZK1d YkZ!KpZRlEBk),bZK1dqCw,˜ -b㽝{ިPWĘy`` \u8Sw5pG/ 8 \&(֘0uYvE[=M; a;IjfvkH e8Cq<ѡ[ΧM~mMel iq.pa[$::<_lef{4$Dd4,Ex~9:W̅TG΅z :_cq#RmcW;iQo: hm/NȺPgad73<5UO`Xu:Y@}H# -0u[8P!a|Sb0 Xn9R8kpWn\~qpM^ =: oQ_aGthhäˆo-_RS^.eԸK=b֎ÃK/}spaboSb].;%[Zo;߿rNi\ZCvlڸw]ێ c8>?4rx GqegaIAY۩`>*q2ڔ]?j?*ڕlg;^LjS?nC3^u- P}"Pt>Pd -ORuDV)aݓܤtޓ{vXv=.C\$QX 3z) bsHPrqU޳ؗQjw6A:SW.&Ŀhh=d=*]Pruq;eg+抢Ij) Ś;\.6h(+nPbǡRII%SRI}S@W?bߖdVk{b7|]l{E!5^oP(qEh; F?endstream -endobj - -19647 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19648 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19649 0 obj -<> -endobj - -19650 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19651 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19652 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19653 0 obj -<> -stream -HWێ8}WQ:l 0 7 ``c`ArZZt_U")dRuH)n?/߼b^&Mb̔FsÎIƾ%,OGw vmrGɾɋur_$lK*U0'+ɧcVϤRm2_(0?LJJ?4WfRp%39O?td'j5HM]R3"y)FQ`$bJ쑉 }mYRKe%>IU\8Ǥ2!1U@Qq(!bTC!P!w!bP`/#`/#`"`"`"`#`#`o"`o"`o"9>Ҭ D$T}"T}ه>@ }"GjCj%(BQHPmC>R$TE6!`V }"GjCՆ>D#JBQHPm;@}ه>@ }ه>DCՆ>D#*BQHPmЇ(}ZE6!`V }"TETՆ>D#*BPjCjЇ(}ZE6M6!*fE6!*f}"TET Ն>D#jBPjCj5Ї(}ZM6PmC>R&TET Ն>@ }"GՄjCj5wH Ї}Ї}CT̾UUi9$/Z|L.xY*0xw YWl}H;{"2*VDYM_}^Hkh)r -xnC,x-%ܗswa6oƽ|^2m)=FS\ ꯓ sqŶgqqqsƵ-wZV|JlaNү2p:,΃&ꙁ7;?uoc9/j yǓǝ e m좆f&m~nqm``\xрKVJ).`ly9imOFD& ѕ3/x,.ug1sopf{c+4(&}U&^vWc,J%()(~xv8"؏po-`]ڔb -^{uUJA](Yۢvcm߬B/I[y8аBS?Xl -2ŢXs(l& 8n -1Lklࣉ+#gZP\]Wzult(e֭Ԝ!uc+ fȵ5P&Kd9fx~7rumX/:c_^)CyM^]dMUBVsq1WzK'Q1@vW\aFUU٣(+QLVXnδ]Zh[Kz+A S3t7ͿaP "xSO;f\,ros_[ ˕_UL$BXT!xa<0\Lq33*9ɝ܅ |p%Qnzj`wþB`<+:.%TɅ]7PTGVM-M?9t_U{.٤5{Z ܬ1EbmG{w1bnGc[oPlP 0nT3LL5"/9X -tʱNpp{8ZrRna%q˙.ۥ&rSJ狙J^1b$L@ -%lN|T;Tw{s Ӿ4{Ln0AUaPҪ|;ơ;W.@v'ISN,C׸?U'XcM92ȧXy$.`8i; a(.^nj ^Iн}>/*{ӀNIcF9:ymy{ԧr쾧t+1ʙBuOd/9(0׶UZޣvi_B_oS:+J? *BC{4q8 SXgZ/Fr;__ԗeO Cxd+H}]9tYeWkZ)~(a Mg[ruvDWZvni̥]4XA;Rk;sb k`:v, ./T{*\_!|qc^uCωQ -ɺ~l>-Gj=4lGOlww_PBI#pO ZKendstream -endobj - -19654 0 obj -<>/P 503 0 R/Type/Annot/A 37644 0 R/Subtype/Link/Rect[93.6004028 267.229004 240.287994 286.90799]/Border[0 0 0]/H/N>> -endobj - -19655 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19656 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19657 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19658 0 obj -<> -stream -HWk۸_A_9${./o~v{1^zmDTJͲRdELM~eMٷD%7vSumiwvzvurgɾ7f.lJ L™ad/|>EW z!3>W_OLxZj)G,Wzw4K>aj,0=6-m?*j׭ugg,RH}N#9>"R_H}A/"%ԗ2Ro&RogaZmIcḇbsX=ƀEcE\+ ḇk%Zp-PVŘc#JµZ9>r$\1"Gk1,µs,B}ZIcE\+ bl(µsX=ƀEcǘc1,µs,B}ZEcE\b Xk1Xȵp-PVḇkZ9>r"\1`Řc#*µs,B}ZEcDŘc1,µsX=+V1`Řc#jµs,B}ZMc"\1"GՄk1Xȵp-ƀEcE\ ḇk5Zp-PVŘc#jµ&Z9Vc"\1NJc̱b&5hϤ&o\+&|_<7lMfmî^QΎ64jS1U>T]mwW_'#BW/TCْanm{aJpe~E{hwz*iiYs)PomAKGWOj ?Z&͌ѳ[#nfSη}h`[-F8îZ><-dɂ\Q&XRy!QfGoWhn(tm7%c= WM{0X뿋`~ sasa0vJC K3H/O̪] 8aLʹсK^EnPq -81ܼ|8>f\~Q2~m7:ja Jy}mOq{삈+Qߴ{y -MhA_(oTh |#eU IT:/%BO[V>luv5CU)_ ^w?dVo B 0_o],Q*Q/Axai-ss2ˆ4w G]tP.C줮 yAEBG9)ʣR}Ug=!4nʎ3P./W&x Y'I -fuB-Cc6>FYO&ugv%ÈO 08owجvlwX .cSɹ@!f9,-{6/]r[wUO 7<_؟Υ2 |!yL˼T_$J,:=v] {a^~7oo?O0* dYb5 C ѶcnD?$vd ObSP'$P_ZS&0+qW gχ/7f!]NvYL< -TJ^I7>fcy4o~qR gڜď&~ѾХ"K YXU ~9v`ZKyO64UW(ez"/pRů,>f_47>Ll-eoH sgru76誤(!de5? ;{/7y~ ~x~TH ϭ~ġPcT H$Ni잇j+]A掼cm\@=_r}?dZ!ݒEm -I>r x]{?njt큺Pڅ>VCg *sSNTXr')9?1V ]0w:8--էо͋`}]=ՓK3GV93} - L:4[*t؟붂<; iM{kGH&0ÓefvwBl9.qrw/$7}]NVOKPB6h U0] -9NMG' -SBQו KR1^nmA~ hhrwyCm"M'0dyeIW83KgE:{~3M͂pl09m>EvUCj\mBћsG g~BCu+{xAsn|؈gj㦷¨3S7 -[e67|aXfc^dǽ F?Zx7dռDzk־/_FOJags;m7ԤGIi`XCk8KFbwYTB!:%/M|TLZen/4 _WZT8;>EmEjTlwQzaVb)~kdS }ӥߊ&GGy)\{p]莫B9hMP -]p),Xbe)VXb倕+VXbU(VXbU*V XbUU)VXdD.͒RJ+T `2ro@.R7 Rc`{ T ȽX*^j,{r/5vʽKނK]%5rK]roA.R Rc`[{ T-ȽX*^j,{ r/5vʽKނK]r@.͒@.Rw Rc`;{ TȽX*^j,{r/5vʽKށK]r@.R@.͒@.ͪ⪪\=ҍˣ® GtveUwuX|j^VqǡW?&Eӌɺ~nSM$F螺mq,b?;qCr}-Ly_N|6r;k -pt7nkQ?)]tvk'Z\:;יKYԌ*͖\ :5r6. }ܑaWY߅sS2`%Cz0|of;~2ݯ'F' -09wendstream -endobj - -19659 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19660 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19661 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19662 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19663 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19664 0 obj -<> -stream -HWko_T(kmM8uDʕH;KY|)hQ46ggs><~tvk/^> -KbA#Nt$$O?H&`dId5+q:)GNn48+A^^C $:tb*Wmq_yR2~U8L6`-6q2+%Ǒ`wwIXSSet7ziٜLm!۟5& ~ߒ/!Yru\Fwc`1>8 -,c>ʉYBP.w|n Pa=a=a/<a/<a/<a/=a/= -a< -a< -a<>Gcccc#c}=ao<ai!uc#ucwcBT,g,g֍YS-GT, -a節#ucBT, -a節#ucTպ1@!ucTպ1B{jպ1B{jݘE!=rDnlDn̢|n PjݘEݘEպ1B{jݘE!= -Dn PjݘE!= -Dn̢jZ7(Dn̢jZ7fQ{OQZ7fQ{OQ(Z֍֍Yލ -Q((Z7fQ{OQ(Z֍ -Q(Z֍YSDT֍YSDT, -aV"ucBT, -aV"ucT+պuպ1ٻ1@!ucwc7#I~Wh:uWј0nhD" up9zȖ 2~e~)IѺIl7:lϛ?mJ9`)i\ʼ[3NF+I&icKʾMu& H;]2Y#)S=|^+}}Me[;J/+󋤼gf~"w2-,Ieũi5 r$1GY |E[L#4O8c;q<-d{Ri"VLۘqzAl( <ژS_I1HB(AU5[KDiczOAĜ6zvS#pӠ} )Hأ~GlrXI,Sxߩm3+dI?!WaՇwrߦ/OO'^ƛT <9=?OR1aШ][Ȉ6ODPN.VP)ָ$cX X?T7>?¥u%ku$ɫIL iqTR)?~˂HP͵SjZ8ɧUuݾ"p&ZdaӋlz^|z;W,zaƱn5N1{Gn7-ɮ:)MB)n IAfyL ?~6={-WKDogYd*HRޗ{:)6m!ca/F^d*$BIa.i<[|junჶ-Ls"_g94]TΝ'E/%aYmva&rC  : yd #ľ%34lczOC -Ae9hRưn9tD 6ixe~?/=bqʎ]SfwpAE`[(f^9_eT;Hݠ}G3MVψ}}FILgP)LcQuuF8QWCy:#[gxOCי*g:# sj 3/79=GTtPv* zTuMeorDQSr)mDWs C%\2^+;~6z?AZm^& -1d1 R'!0hZendstream -endobj - -19665 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19666 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19667 0 obj -<> -endobj - -19668 0 obj -<> -endobj - -19669 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19670 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19671 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19672 0 obj -<> -stream -HWms_q'Б!_f"KI:NL>X DmUǓ=$!ϳR;zooq=ޝӟ\7ɿ2Tm -fިM~S$W'Z-TrKlo6MXn1U"9Q%gurZ+I*5UW^%iYIyG{ZyUOUg9#抪|Lmsܵj<}S+mVf榹ݶaw:zѻ!t)Q_V}J-2p^* L>$sN8:1b8YZKÈ{ZXd7½po{+[ -w½p{/{ }}} ܗ} ܗ} ܗ}W}W}p{Y J˱Ub@k9F,cZ1bI#tϱ{ZZ1bcZ1bcEk h-" cEk h-Lj܋ZEh-Lj܋Z 5[%cĒ9Y#t1bI,Z #p/ZkAk9Y#p/ZkAk9F,^ւr,@k9F,^ւrXhXdrXh{Z Z˱U@k9F,cZ1bI#tϱ{ZZ1bcZ1bcEkh-" cEkh-Lj܋:ZEh-Lj܋:Z u[%cĒ9Y#t1b꫊ETmD: -%rB-'6Osf̙27b27Pͪ}ZŽF -ؘ>3آ7֏}dT2?*(q"syU'>ClrĦa20v;Q馛eY~i:·zvjQۛVblۙ^!Cg`HNۺ̎غMӉz̎(>XolVL6^g#x&NoNt*2}i$ym057B}~vFsgkJݼ3?X>g)6G^xx#j,b=jr3Bm8QqNT~9Q/w3&+˾n#>'qyN6ׯu̚`xf3{vjq -@Ko6 -a ,d$R`wF6jr"-ϐlvX'itatV_7UY87ɽ%@1ZȂ/9pଜ*S4k_:%4\CXǸB>(6z صiZS#K ?޸ Bs4%<! l?Ɨ)nciil{M5Z7SQYd3ajo \ՒL5tDr̆dT*a׮p97*<~C+u=ۦ7FT9q M3w4RH lcC -Kάw~ʄW*M$?~8G4y6zJ98 2*8]\qk[iejdb.;KRUkȷ~U?tKM\{*1&mk R:{MOuTwctXP'UI >,uCnDB -a~qm})TN -uXf(@'5:N1ݡ"֨maLrK#.fZ9uq(h-n=Mzh QB+]Y"5OX]>{pɬ1*MކL8HY98 -%:U0J'Zb9$DРY,h~a>hbIIf-0 #觸 os}&!%o_&8bު@f[lLrT޽HY)8D ͦ$LS 6͐8aoxk?k60ZoULB( NT+B;f-N]Q;/m 9A&GQXc s7]S}B3kCA5K׮ jzAZT0"[d[ y7- ! jmR*LʡaFУSRz -P hl%&x~AXɱ ck&Eg }ğt&2ݾr|pm :{͐ +NvrPg1NIkJe_pJ} -ʄ\R睁XΉZI"|pe!hBEH0T|՛y 2endstream -endobj - -19673 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19674 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19675 0 obj -<> -endobj - -19676 0 obj -<> -endobj - -19677 0 obj -<> -endobj - -19678 0 obj -<> -endobj - -19679 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -19680 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -19681 0 obj -<> -endobj - -19682 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -19683 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -19684 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -19685 0 obj -<> -stream -HWnH}W (t/@IY1مghd9aƲ&oŦ"`0tP:]uNUbeO}qq/B"0J͌WYU6.8RVj^\ljlS$r[S$TET+ զ6@Mm"gjSj%(B QLPmjC>S$Tօ"TOm"TOm٧6@Mm"gUjSj(B QLPmjC>S"TE6!`VMm"gUjSզ6D3*B QLPmj[PmjCT>PmjCT>!*gE6!`VMm"gՄjSզ6D3jB QLPmjԆ(}ZM6!`VMm"TET զ6D3jBm]B Q9(B Q9Ԇ}(Cq?yUV`Uo Jˬ㺘:>T*>kmi~>[\n9;x" Y~^DZ]CQ`b6Q>MG1?E6m}sh'8 -Kͬj_5.a7' T|vjɡb<1d 1x&^X\{9>'3!r:y{rw~LFن9jB-6܃>=poq yukܶdm (Wy>4[}SAg5.GtH3+pwY@h_ǔ>`G۲[=Vmk8ϔDmU@·ߞ_ GZ蓑iW~uGDj>EYŻloֿߕr -uy{׫jb x%X;n'oB.x1D,jL?w59Rrv2݊Y:#L_|!`|ĜVے5qAwÞ>%mӨIc~c^~mtܞʅYzafq6 -F+mt#}ً=3.SʡkϬ;ΎvY׋+]hܒa1nxn3^Z'řڬpAp{w߫ -flȶ񸢫~&n'`TmSMp轷:gC*d.U {Ww4S;כ!`qV?s:v}3bGoN {=דL 3*4  X<O &{08"q-UdG;g'9&T\ԓb2dGed&IWOOGc sʾ -b(9 2j+;]gQAA]\]Ջ54֪'`S(SvPagWxJv}]Sm7wߪ+b ~6nY,;>4(-9S{߮jpcZSжޛS^mqA]_,K/Nbb%! -E.vvhS==A9U]}Tj|ء$L!߃T3+lN̉MIQuss._/͈3$3vd*7N.>#f(k7j߹J(=FdϩDNz=,b1Xn 0tWP@83C'iaeZ@za5>S|)U.cT͍-lw>i'+-]E&쿭N-.~mk 8ZL1Kt9'vyLxiiT72˴bhq~iE(3 `~:ƫs| 'e{PtM 'ݤ!ϧryo8Uf=֕rk~Xti#مd]h#wXCU掖Ox~ׅHuAN:6EdL<*y_,Hit\F`n0mzxVl8w2`=^sp\ љPוBت ~9bXh&dNV,Y hԴtqyZx5$qF{#|%@u4j=Hz;"Q@WgTx=nNK4!qڛ0ʥ3r)$wr<.  [80$Wf&qϭ'6^VF_&3OYZG0Y.Tf0=\#$yi\G0ËJK4`G9Q%3G=|y]>{Q2NتiB:DlWZ Siyofȿꡀ`zDT*ZJ)fR[RJEYQPgKxmB2a`\ j7gI -s&x&jf.ZC3gg$(WਅK[ LrC֗B1^$MSt9,VqLp_R@w888c8IB+z m،/:}칎KˈuᓚB+b]<x "A2MlRG:5I*= -̀^`F=x/~[]'|"endstream -endobj - -19686 0 obj -<>/P 13192 0 R/Type/Annot/A 43754 0 R/Subtype/Link/Rect[202 670 214 678]/Border[0 0 0]/H/N>> -endobj - -19687 0 obj -<>/P 13192 0 R/Type/Annot/A 20017 0 R/Subtype/Link/Rect[193 660 205 668]/Border[0 0 0]/H/N>> -endobj - -19688 0 obj -<>/P 13192 0 R/Type/Annot/A 43684 0 R/Subtype/Link/Rect[193 650 205 658]/Border[0 0 0]/H/N>> -endobj - -19689 0 obj -<>/P 13192 0 R/Type/Annot/A 20010 0 R/Subtype/Link/Rect[202 640 214 648]/Border[0 0 0]/H/N>> -endobj - -19690 0 obj -<>/P 13192 0 R/Type/Annot/A 43603 0 R/Subtype/Link/Rect[190 630 202 638]/Border[0 0 0]/H/N>> -endobj - -19691 0 obj -<>/P 13192 0 R/Type/Annot/A 43553 0 R/Subtype/Link/Rect[183 620 195 628]/Border[0 0 0]/H/N>> -endobj - -19692 0 obj -<>/P 13192 0 R/Type/Annot/A 43526 0 R/Subtype/Link/Rect[183 610 195 618]/Border[0 0 0]/H/N>> -endobj - -19693 0 obj -<>/P 13192 0 R/Type/Annot/A 43488 0 R/Subtype/Link/Rect[193 600 207 608]/Border[0 0 0]/H/N>> -endobj - -19694 0 obj -<>/P 13192 0 R/Type/Annot/A 43455 0 R/Subtype/Link/Rect[209 600 223 608]/Border[0 0 0]/H/N>> -endobj - -19695 0 obj -<>/P 13192 0 R/Type/Annot/A 43422 0 R/Subtype/Link/Rect[225 600 239 608]/Border[0 0 0]/H/N>> -endobj - -19696 0 obj -<>/P 13192 0 R/Type/Annot/A 43374 0 R/Subtype/Link/Rect[241 600 253 608]/Border[0 0 0]/H/N>> -endobj - -19697 0 obj -<>/P 13192 0 R/Type/Annot/A 43343 0 R/Subtype/Link/Rect[193 590 209 599]/Border[0 0 0]/H/N>> -endobj - -19698 0 obj -<>/P 13192 0 R/Type/Annot/A 43284 0 R/Subtype/Link/Rect[210 590 224 598]/Border[0 0 0]/H/N>> -endobj - -19699 0 obj -<>/P 13192 0 R/Type/Annot/A 43248 0 R/Subtype/Link/Rect[226 590 238 598]/Border[0 0 0]/H/N>> -endobj - -19700 0 obj -<>/P 13192 0 R/Type/Annot/A 43188 0 R/Subtype/Link/Rect[202 580 214 588]/Border[0 0 0]/H/N>> -endobj - -19701 0 obj -<>/P 13192 0 R/Type/Annot/A 43168 0 R/Subtype/Link/Rect[207 570 219 578]/Border[0 0 0]/H/N>> -endobj - -19702 0 obj -<>/P 13192 0 R/Type/Annot/A 43133 0 R/Subtype/Link/Rect[197 560 209 568]/Border[0 0 0]/H/N>> -endobj - -19703 0 obj -<>/P 13192 0 R/Type/Annot/A 43104 0 R/Subtype/Link/Rect[188 527 204 536]/Border[0 0 0]/H/N>> -endobj - -19704 0 obj -<>/P 13192 0 R/Type/Annot/A 43057 0 R/Subtype/Link/Rect[205 527 219 535]/Border[0 0 0]/H/N>> -endobj - -19705 0 obj -<>/P 13192 0 R/Type/Annot/A 43003 0 R/Subtype/Link/Rect[221 527 238 536]/Border[0 0 0]/H/N>> -endobj - -19706 0 obj -<>/P 13192 0 R/Type/Annot/A 42982 0 R/Subtype/Link/Rect[238 527 252 535]/Border[0 0 0]/H/N>> -endobj - -19707 0 obj -<>/P 13192 0 R/Type/Annot/A 42933 0 R/Subtype/Link/Rect[254 527 268 535]/Border[0 0 0]/H/N>> -endobj - -19708 0 obj -<>/P 13192 0 R/Type/Annot/A 42915 0 R/Subtype/Link/Rect[270 527 284 535]/Border[0 0 0]/H/N>> -endobj - -19709 0 obj -<>/P 13192 0 R/Type/Annot/A 42868 0 R/Subtype/Link/Rect[286 527 300 535]/Border[0 0 0]/H/N>> -endobj - -19710 0 obj -<>/P 13192 0 R/Type/Annot/A 42846 0 R/Subtype/Link/Rect[151 517 165 525]/Border[0 0 0]/H/N>> -endobj - -19711 0 obj -<>/P 13192 0 R/Type/Annot/A 42798 0 R/Subtype/Link/Rect[167 517 181 525]/Border[0 0 0]/H/N>> -endobj - -19712 0 obj -<>/P 13192 0 R/Type/Annot/A 42760 0 R/Subtype/Link/Rect[183 517 200 526]/Border[0 0 0]/H/N>> -endobj - -19713 0 obj -<>/P 13192 0 R/Type/Annot/A 42728 0 R/Subtype/Link/Rect[201 517 215 525]/Border[0 0 0]/H/N>> -endobj - -19714 0 obj -<>/P 13192 0 R/Type/Annot/A 42687 0 R/Subtype/Link/Rect[217 517 231 525]/Border[0 0 0]/H/N>> -endobj - -19715 0 obj -<>/P 13192 0 R/Type/Annot/A 42652 0 R/Subtype/Link/Rect[233 517 247 525]/Border[0 0 0]/H/N>> -endobj - -19716 0 obj -<>/P 13192 0 R/Type/Annot/A 42606 0 R/Subtype/Link/Rect[249 517 265 526]/Border[0 0 0]/H/N>> -endobj - -19717 0 obj -<>/P 13192 0 R/Type/Annot/A 42574 0 R/Subtype/Link/Rect[266 517 280 525]/Border[0 0 0]/H/N>> -endobj - -19718 0 obj -<>/P 13192 0 R/Type/Annot/A 42548 0 R/Subtype/Link/Rect[282 517 296 525]/Border[0 0 0]/H/N>> -endobj - -19719 0 obj -<>/P 13192 0 R/Type/Annot/A 42499 0 R/Subtype/Link/Rect[151 507 168 516]/Border[0 0 0]/H/N>> -endobj - -19720 0 obj -<>/P 13192 0 R/Type/Annot/A 42466 0 R/Subtype/Link/Rect[169 507 183 515]/Border[0 0 0]/H/N>> -endobj - -19721 0 obj -<>/P 13192 0 R/Type/Annot/A 42416 0 R/Subtype/Link/Rect[185 507 199 515]/Border[0 0 0]/H/N>> -endobj - -19722 0 obj -<>/P 13192 0 R/Type/Annot/A 42380 0 R/Subtype/Link/Rect[201 507 215 515]/Border[0 0 0]/H/N>> -endobj - -19723 0 obj -<>/P 13192 0 R/Type/Annot/A 42759 0 R/Subtype/Link/Rect[217 507 233 516]/Border[0 0 0]/H/N>> -endobj - -19724 0 obj -<>/P 13192 0 R/Type/Annot/A 42322 0 R/Subtype/Link/Rect[234 507 248 515]/Border[0 0 0]/H/N>> -endobj - -19725 0 obj -<>/P 13192 0 R/Type/Annot/A 42685 0 R/Subtype/Link/Rect[250 507 264 515]/Border[0 0 0]/H/N>> -endobj - -19726 0 obj -<>/P 13192 0 R/Type/Annot/A 42235 0 R/Subtype/Link/Rect[266 507 280 515]/Border[0 0 0]/H/N>> -endobj - -19727 0 obj -<>/P 13192 0 R/Type/Annot/A 20015 0 R/Subtype/Link/Rect[282 507 296 515]/Border[0 0 0]/H/N>> -endobj - -19728 0 obj -<>/P 13192 0 R/Type/Annot/A 42141 0 R/Subtype/Link/Rect[151 497 165 505]/Border[0 0 0]/H/N>> -endobj - -19729 0 obj -<>/P 13192 0 R/Type/Annot/A 42095 0 R/Subtype/Link/Rect[167 497 181 505]/Border[0 0 0]/H/N>> -endobj - -19730 0 obj -<>/P 13192 0 R/Type/Annot/A 42063 0 R/Subtype/Link/Rect[183 497 195 505]/Border[0 0 0]/H/N>> -endobj - -19731 0 obj -<>/P 13192 0 R/Type/Annot/A 42455 0 R/Subtype/Link/Rect[190 487 202 495]/Border[0 0 0]/H/N>> -endobj - -19732 0 obj -<>/P 13192 0 R/Type/Annot/A 41974 0 R/Subtype/Link/Rect[193 467 205 475]/Border[0 0 0]/H/N>> -endobj - -19733 0 obj -<>/P 13192 0 R/Type/Annot/A 41946 0 R/Subtype/Link/Rect[190 457 202 465]/Border[0 0 0]/H/N>> -endobj - -19734 0 obj -<>/P 13192 0 R/Type/Annot/A 42739 0 R/Subtype/Link/Rect[193 447 205 455]/Border[0 0 0]/H/N>> -endobj - -19735 0 obj -<>/P 13192 0 R/Type/Annot/A 41861 0 R/Subtype/Link/Rect[190 437 202 445]/Border[0 0 0]/H/N>> -endobj - -19736 0 obj -<>/P 13192 0 R/Type/Annot/A 41794 0 R/Subtype/Link/Rect[217 427 231 435]/Border[0 0 0]/H/N>> -endobj - -19737 0 obj -<>/P 13192 0 R/Type/Annot/A 41743 0 R/Subtype/Link/Rect[233 427 247 435]/Border[0 0 0]/H/N>> -endobj - -19738 0 obj -<>/P 13192 0 R/Type/Annot/A 41700 0 R/Subtype/Link/Rect[249 427 263 435]/Border[0 0 0]/H/N>> -endobj - -19739 0 obj -<>/P 13192 0 R/Type/Annot/A 41658 0 R/Subtype/Link/Rect[265 427 279 435]/Border[0 0 0]/H/N>> -endobj - -19740 0 obj -<>/P 13192 0 R/Type/Annot/A 41617 0 R/Subtype/Link/Rect[281 427 295 435]/Border[0 0 0]/H/N>> -endobj - -19741 0 obj -<>/P 13192 0 R/Type/Annot/A 41567 0 R/Subtype/Link/Rect[297 427 311 435]/Border[0 0 0]/H/N>> -endobj - -19742 0 obj -<>/P 13192 0 R/Type/Annot/A 41529 0 R/Subtype/Link/Rect[151 417 165 425]/Border[0 0 0]/H/N>> -endobj - -19743 0 obj -<>/P 13192 0 R/Type/Annot/A 41494 0 R/Subtype/Link/Rect[167 417 179 425]/Border[0 0 0]/H/N>> -endobj - -19744 0 obj -<>/P 13192 0 R/Type/Annot/A 41452 0 R/Subtype/Link/Rect[190 407 204 415]/Border[0 0 0]/H/N>> -endobj - -19745 0 obj -<>/P 13192 0 R/Type/Annot/A 41423 0 R/Subtype/Link/Rect[206 407 218 415]/Border[0 0 0]/H/N>> -endobj - -19746 0 obj -<>/P 13192 0 R/Type/Annot/A 41403 0 R/Subtype/Link/Rect[197 397 214 406]/Border[0 0 0]/H/N>> -endobj - -19747 0 obj -<>/P 13192 0 R/Type/Annot/A 42217 0 R/Subtype/Link/Rect[215 397 229 405]/Border[0 0 0]/H/N>> -endobj - -19748 0 obj -<>/P 13192 0 R/Type/Annot/A 41298 0 R/Subtype/Link/Rect[231 397 245 405]/Border[0 0 0]/H/N>> -endobj - -19749 0 obj -<>/P 13192 0 R/Type/Annot/A 41663 0 R/Subtype/Link/Rect[247 397 259 405]/Border[0 0 0]/H/N>> -endobj - -19750 0 obj -<>/P 13192 0 R/Type/Annot/A 42484 0 R/Subtype/Link/Rect[190 387 202 395]/Border[0 0 0]/H/N>> -endobj - -19751 0 obj -<>/P 13192 0 R/Type/Annot/A 41193 0 R/Subtype/Link/Rect[221 377 238 386]/Border[0 0 0]/H/N>> -endobj - -19752 0 obj -<>/P 13192 0 R/Type/Annot/A 41166 0 R/Subtype/Link/Rect[239 377 253 385]/Border[0 0 0]/H/N>> -endobj - -19753 0 obj -<>/P 13192 0 R/Type/Annot/A 41146 0 R/Subtype/Link/Rect[255 377 269 385]/Border[0 0 0]/H/N>> -endobj - -19754 0 obj -<>/P 13192 0 R/Type/Annot/A 41117 0 R/Subtype/Link/Rect[271 377 285 385]/Border[0 0 0]/H/N>> -endobj - -19755 0 obj -<>/P 13192 0 R/Type/Annot/A 41422 0 R/Subtype/Link/Rect[287 377 301 385]/Border[0 0 0]/H/N>> -endobj - -19756 0 obj -<>/P 13192 0 R/Type/Annot/A 41396 0 R/Subtype/Link/Rect[151 367 165 375]/Border[0 0 0]/H/N>> -endobj - -19757 0 obj -<>/P 13192 0 R/Type/Annot/A 40723 0 R/Subtype/Link/Rect[167 367 181 375]/Border[0 0 0]/H/N>> -endobj - -19758 0 obj -<>/P 13192 0 R/Type/Annot/A 40685 0 R/Subtype/Link/Rect[183 367 197 375]/Border[0 0 0]/H/N>> -endobj - -19759 0 obj -<>/P 13192 0 R/Type/Annot/A 40122 0 R/Subtype/Link/Rect[199 367 211 375]/Border[0 0 0]/H/N>> -endobj - -19760 0 obj -<>/P 13192 0 R/Type/Annot/A 40095 0 R/Subtype/Link/Rect[190 357 204 365]/Border[0 0 0]/H/N>> -endobj - -19761 0 obj -<>/P 13192 0 R/Type/Annot/A 39549 0 R/Subtype/Link/Rect[206 357 218 365]/Border[0 0 0]/H/N>> -endobj - -19762 0 obj -<>/P 13192 0 R/Type/Annot/A 39508 0 R/Subtype/Link/Rect[202 347 214 356]/Border[0 0 0]/H/N>> -endobj - -19763 0 obj -<>/P 13192 0 R/Type/Annot/A 38983 0 R/Subtype/Link/Rect[215 347 225 355]/Border[0 0 0]/H/N>> -endobj - -19764 0 obj -<>/P 13192 0 R/Type/Annot/A 38932 0 R/Subtype/Link/Rect[227 347 237 355]/Border[0 0 0]/H/N>> -endobj - -19765 0 obj -<>/P 13192 0 R/Type/Annot/A 38410 0 R/Subtype/Link/Rect[239 347 249 355]/Border[0 0 0]/H/N>> -endobj - -19766 0 obj -<>/P 13192 0 R/Type/Annot/A 38351 0 R/Subtype/Link/Rect[251 347 268 356]/Border[0 0 0]/H/N>> -endobj - -19767 0 obj -<>/P 13192 0 R/Type/Annot/A 38321 0 R/Subtype/Link/Rect[268 347 282 355]/Border[0 0 0]/H/N>> -endobj - -19768 0 obj -<>/P 13192 0 R/Type/Annot/A 38284 0 R/Subtype/Link/Rect[284 347 298 355]/Border[0 0 0]/H/N>> -endobj - -19769 0 obj -<>/P 13192 0 R/Type/Annot/A 43123 0 R/Subtype/Link/Rect[151 337 165 345]/Border[0 0 0]/H/N>> -endobj - -19770 0 obj -<>/P 13192 0 R/Type/Annot/A 36809 0 R/Subtype/Link/Rect[167 337 184 346]/Border[0 0 0]/H/N>> -endobj - -19771 0 obj -<>/P 13192 0 R/Type/Annot/A 38224 0 R/Subtype/Link/Rect[185 337 199 345]/Border[0 0 0]/H/N>> -endobj - -19772 0 obj -<>/P 13192 0 R/Type/Annot/A 39484 0 R/Subtype/Link/Rect[201 337 215 345]/Border[0 0 0]/H/N>> -endobj - -19773 0 obj -<>/P 13192 0 R/Type/Annot/A 38952 0 R/Subtype/Link/Rect[217 337 231 345]/Border[0 0 0]/H/N>> -endobj - -19774 0 obj -<>/P 13192 0 R/Type/Annot/A 41054 0 R/Subtype/Link/Rect[233 337 247 345]/Border[0 0 0]/H/N>> -endobj - -19775 0 obj -<>/P 13192 0 R/Type/Annot/A 35871 0 R/Subtype/Link/Rect[249 337 263 345]/Border[0 0 0]/H/N>> -endobj - -19776 0 obj -<>/P 13192 0 R/Type/Annot/A 38155 0 R/Subtype/Link/Rect[265 337 279 345]/Border[0 0 0]/H/N>> -endobj - -19777 0 obj -<>/P 13192 0 R/Type/Annot/A 35058 0 R/Subtype/Link/Rect[281 337 295 345]/Border[0 0 0]/H/N>> -endobj - -19778 0 obj -<>/P 13192 0 R/Type/Annot/A 34279 0 R/Subtype/Link/Rect[297 337 311 345]/Border[0 0 0]/H/N>> -endobj - -19779 0 obj -<>/P 13192 0 R/Type/Annot/A 38113 0 R/Subtype/Link/Rect[151 327 168 336]/Border[0 0 0]/H/N>> -endobj - -19780 0 obj -<>/P 13192 0 R/Type/Annot/A 38095 0 R/Subtype/Link/Rect[169 327 183 335]/Border[0 0 0]/H/N>> -endobj - -19781 0 obj -<>/P 13192 0 R/Type/Annot/A 36747 0 R/Subtype/Link/Rect[185 327 199 335]/Border[0 0 0]/H/N>> -endobj - -19782 0 obj -<>/P 13192 0 R/Type/Annot/A 33606 0 R/Subtype/Link/Rect[201 327 215 335]/Border[0 0 0]/H/N>> -endobj - -19783 0 obj -<>/P 13192 0 R/Type/Annot/A 33087 0 R/Subtype/Link/Rect[217 327 231 335]/Border[0 0 0]/H/N>> -endobj - -19784 0 obj -<>/P 13192 0 R/Type/Annot/A 38030 0 R/Subtype/Link/Rect[233 327 249 336]/Border[0 0 0]/H/N>> -endobj - -19785 0 obj -<>/P 13192 0 R/Type/Annot/A 35098 0 R/Subtype/Link/Rect[250 327 264 335]/Border[0 0 0]/H/N>> -endobj - -19786 0 obj -<>/P 13192 0 R/Type/Annot/A 37998 0 R/Subtype/Link/Rect[266 327 283 336]/Border[0 0 0]/H/N>> -endobj - -19787 0 obj -<>/P 13192 0 R/Type/Annot/A 31851 0 R/Subtype/Link/Rect[283 327 297 335]/Border[0 0 0]/H/N>> -endobj - -19788 0 obj -<>/P 13192 0 R/Type/Annot/A 37977 0 R/Subtype/Link/Rect[151 317 165 325]/Border[0 0 0]/H/N>> -endobj - -19789 0 obj -<>/P 13192 0 R/Type/Annot/A 31109 0 R/Subtype/Link/Rect[167 317 181 325]/Border[0 0 0]/H/N>> -endobj - -19790 0 obj -<>/P 13192 0 R/Type/Annot/A 33640 0 R/Subtype/Link/Rect[183 317 197 325]/Border[0 0 0]/H/N>> -endobj - -19791 0 obj -<>/P 13192 0 R/Type/Annot/A 31001 0 R/Subtype/Link/Rect[199 317 211 325]/Border[0 0 0]/H/N>> -endobj - -19792 0 obj -<>/P 13192 0 R/Type/Annot/A 30287 0 R/Subtype/Link/Rect[190 307 202 315]/Border[0 0 0]/H/N>> -endobj - -19793 0 obj -<>/P 13192 0 R/Type/Annot/A 35854 0 R/Subtype/Link/Rect[189 297 201 305]/Border[0 0 0]/H/N>> -endobj - -19794 0 obj -<>/P 13192 0 R/Type/Annot/A 30224 0 R/Subtype/Link/Rect[179 287 191 295]/Border[0 0 0]/H/N>> -endobj - -19795 0 obj -<>/P 13192 0 R/Type/Annot/A 32524 0 R/Subtype/Link/Rect[206 277 216 285]/Border[0 0 0]/H/N>> -endobj - -19796 0 obj -<>/P 13192 0 R/Type/Annot/A 30128 0 R/Subtype/Link/Rect[218 277 230 285]/Border[0 0 0]/H/N>> -endobj - -19797 0 obj -<>/P 13192 0 R/Type/Annot/A 30081 0 R/Subtype/Link/Rect[206 267 214 275]/Border[0 0 0]/H/N>> -endobj - -19798 0 obj -<>/P 13192 0 R/Type/Annot/A 29326 0 R/Subtype/Link/Rect[217 257 231 265]/Border[0 0 0]/H/N>> -endobj - -19799 0 obj -<>/P 13192 0 R/Type/Annot/A 29286 0 R/Subtype/Link/Rect[233 257 245 265]/Border[0 0 0]/H/N>> -endobj - -19800 0 obj -<>/P 13192 0 R/Type/Annot/A 30988 0 R/Subtype/Link/Rect[212 247 228 256]/Border[0 0 0]/H/N>> -endobj - -19801 0 obj -<>/P 13192 0 R/Type/Annot/A 33048 0 R/Subtype/Link/Rect[229 247 241 255]/Border[0 0 0]/H/N>> -endobj - -19802 0 obj -<>/P 13192 0 R/Type/Annot/A 29164 0 R/Subtype/Link/Rect[202 237 214 245]/Border[0 0 0]/H/N>> -endobj - -19803 0 obj -<>/P 13192 0 R/Type/Annot/A 29139 0 R/Subtype/Link/Rect[207 227 219 235]/Border[0 0 0]/H/N>> -endobj - -19804 0 obj -<>/P 13192 0 R/Type/Annot/A 29091 0 R/Subtype/Link/Rect[212 217 224 225]/Border[0 0 0]/H/N>> -endobj - -19805 0 obj -<>/P 13192 0 R/Type/Annot/A 31794 0 R/Subtype/Link/Rect[207 207 219 215]/Border[0 0 0]/H/N>> -endobj - -19806 0 obj -<>/P 13192 0 R/Type/Annot/A 36709 0 R/Subtype/Link/Rect[197 197 209 205]/Border[0 0 0]/H/N>> -endobj - -19807 0 obj -<>/P 13192 0 R/Type/Annot/A 28507 0 R/Subtype/Link/Rect[211 187 219 195]/Border[0 0 0]/H/N>> -endobj - -19808 0 obj -<>/P 13192 0 R/Type/Annot/A 37794 0 R/Subtype/Link/Rect[180 177 194 185]/Border[0 0 0]/H/N>> -endobj - -19809 0 obj -<>/P 13192 0 R/Type/Annot/A 29235 0 R/Subtype/Link/Rect[196 177 208 185]/Border[0 0 0]/H/N>> -endobj - -19810 0 obj -<>/P 13192 0 R/Type/Annot/A 29178 0 R/Subtype/Link/Rect[158 167 168 175]/Border[0 0 0]/H/N>> -endobj - -19811 0 obj -<>/P 13192 0 R/Type/Annot/A 29148 0 R/Subtype/Link/Rect[170 167 182 175]/Border[0 0 0]/H/N>> -endobj - -19812 0 obj -<>/P 13192 0 R/Type/Annot/A 30140 0 R/Subtype/Link/Rect[192 157 202 165]/Border[0 0 0]/H/N>> -endobj - -19813 0 obj -<>/P 13192 0 R/Type/Annot/A 27566 0 R/Subtype/Link/Rect[204 157 218 165]/Border[0 0 0]/H/N>> -endobj - -19814 0 obj -<>/P 13192 0 R/Type/Annot/A 26991 0 R/Subtype/Link/Rect[220 157 234 165]/Border[0 0 0]/H/N>> -endobj - -19815 0 obj -<>/P 13192 0 R/Type/Annot/A 26944 0 R/Subtype/Link/Rect[236 157 250 165]/Border[0 0 0]/H/N>> -endobj - -19816 0 obj -<>/P 13192 0 R/Type/Annot/A 28470 0 R/Subtype/Link/Rect[252 157 264 165]/Border[0 0 0]/H/N>> -endobj - -19817 0 obj -<>/P 13192 0 R/Type/Annot/A 37724 0 R/Subtype/Link/Rect[193 147 205 155]/Border[0 0 0]/H/N>> -endobj - -19818 0 obj -<>/P 13192 0 R/Type/Annot/A 37717 0 R/Subtype/Link/Rect[443 670 457 678]/Border[0 0 0]/H/N>> -endobj - -19819 0 obj -<>/P 13192 0 R/Type/Annot/A 25917 0 R/Subtype/Link/Rect[459 670 473 678]/Border[0 0 0]/H/N>> -endobj - -19820 0 obj -<>/P 13192 0 R/Type/Annot/A 27607 0 R/Subtype/Link/Rect[475 670 492 679]/Border[0 0 0]/H/N>> -endobj - -19821 0 obj -<>/P 13192 0 R/Type/Annot/A 28563 0 R/Subtype/Link/Rect[492 670 506 678]/Border[0 0 0]/H/N>> -endobj - -19822 0 obj -<>/P 13192 0 R/Type/Annot/A 26983 0 R/Subtype/Link/Rect[359 660 371 668]/Border[0 0 0]/H/N>> -endobj - -19823 0 obj -<>/P 13192 0 R/Type/Annot/A 26935 0 R/Subtype/Link/Rect[410 650 422 658]/Border[0 0 0]/H/N>> -endobj - -19824 0 obj -<>/P 13192 0 R/Type/Annot/A 24924 0 R/Subtype/Link/Rect[429 640 446 649]/Border[0 0 0]/H/N>> -endobj - -19825 0 obj -<>/P 13192 0 R/Type/Annot/A 29185 0 R/Subtype/Link/Rect[447 640 459 648]/Border[0 0 0]/H/N>> -endobj - -19826 0 obj -<>/P 13192 0 R/Type/Annot/A 30167 0 R/Subtype/Link/Rect[392 630 406 638]/Border[0 0 0]/H/N>> -endobj - -19827 0 obj -<>/P 13192 0 R/Type/Annot/A 24227 0 R/Subtype/Link/Rect[408 630 420 638]/Border[0 0 0]/H/N>> -endobj - -19828 0 obj -<>/P 13192 0 R/Type/Annot/A 25869 0 R/Subtype/Link/Rect[434 620 446 628]/Border[0 0 0]/H/N>> -endobj - -19829 0 obj -<>/P 13192 0 R/Type/Annot/A 23356 0 R/Subtype/Link/Rect[420 610 436 619]/Border[0 0 0]/H/N>> -endobj - -19830 0 obj -<>/P 13192 0 R/Type/Annot/A 22646 0 R/Subtype/Link/Rect[437 610 449 618]/Border[0 0 0]/H/N>> -endobj - -19831 0 obj -<>/P 13192 0 R/Type/Annot/A 28455 0 R/Subtype/Link/Rect[429 600 446 609]/Border[0 0 0]/H/N>> -endobj - -19832 0 obj -<>/P 13192 0 R/Type/Annot/A 26486 0 R/Subtype/Link/Rect[447 600 459 608]/Border[0 0 0]/H/N>> -endobj - -19833 0 obj -<>/P 13192 0 R/Type/Annot/A 24286 0 R/Subtype/Link/Rect[425 590 441 599]/Border[0 0 0]/H/N>> -endobj - -19834 0 obj -<>/P 13192 0 R/Type/Annot/A 27624 0 R/Subtype/Link/Rect[442 590 456 598]/Border[0 0 0]/H/N>> -endobj - -19835 0 obj -<>/P 13192 0 R/Type/Annot/A 23437 0 R/Subtype/Link/Rect[458 590 470 598]/Border[0 0 0]/H/N>> -endobj - -19836 0 obj -<>/P 13192 0 R/Type/Annot/A 21330 0 R/Subtype/Link/Rect[385 580 399 588]/Border[0 0 0]/H/N>> -endobj - -19837 0 obj -<>/P 13192 0 R/Type/Annot/A 25794 0 R/Subtype/Link/Rect[401 580 413 588]/Border[0 0 0]/H/N>> -endobj - -19838 0 obj -<>/P 13192 0 R/Type/Annot/A 20536 0 R/Subtype/Link/Rect[412 550 424 558]/Border[0 0 0]/H/N>> -endobj - -19839 0 obj -<>/P 13192 0 R/Type/Annot/A 20100 0 R/Subtype/Link/Rect[384 540 398 548]/Border[0 0 0]/H/N>> -endobj - -19840 0 obj -<>/P 13192 0 R/Type/Annot/A 21999 0 R/Subtype/Link/Rect[400 540 414 548]/Border[0 0 0]/H/N>> -endobj - -19841 0 obj -<>/P 13192 0 R/Type/Annot/A 20082 0 R/Subtype/Link/Rect[416 540 433 549]/Border[0 0 0]/H/N>> -endobj - -19842 0 obj -<>/P 13192 0 R/Type/Annot/A 20081 0 R/Subtype/Link/Rect[433 540 447 548]/Border[0 0 0]/H/N>> -endobj - -19843 0 obj -<>/P 13192 0 R/Type/Annot/A 20080 0 R/Subtype/Link/Rect[449 540 463 548]/Border[0 0 0]/H/N>> -endobj - -19844 0 obj -<>/P 13192 0 R/Type/Annot/A 20079 0 R/Subtype/Link/Rect[465 540 479 548]/Border[0 0 0]/H/N>> -endobj - -19845 0 obj -<>/P 13192 0 R/Type/Annot/A 20078 0 R/Subtype/Link/Rect[481 540 498 549]/Border[0 0 0]/H/N>> -endobj - -19846 0 obj -<>/P 13192 0 R/Type/Annot/A 20077 0 R/Subtype/Link/Rect[499 540 511 548]/Border[0 0 0]/H/N>> -endobj - -19847 0 obj -<>/P 13192 0 R/Type/Annot/A 20076 0 R/Subtype/Link/Rect[412 530 426 538]/Border[0 0 0]/H/N>> -endobj - -19848 0 obj -<>/P 13192 0 R/Type/Annot/A 20075 0 R/Subtype/Link/Rect[428 530 444 539]/Border[0 0 0]/H/N>> -endobj - -19849 0 obj -<>/P 13192 0 R/Type/Annot/A 20074 0 R/Subtype/Link/Rect[445 530 459 538]/Border[0 0 0]/H/N>> -endobj - -19850 0 obj -<>/P 13192 0 R/Type/Annot/A 20073 0 R/Subtype/Link/Rect[461 530 475 538]/Border[0 0 0]/H/N>> -endobj - -19851 0 obj -<>/P 13192 0 R/Type/Annot/A 20072 0 R/Subtype/Link/Rect[477 530 491 538]/Border[0 0 0]/H/N>> -endobj - -19852 0 obj -<>/P 13192 0 R/Type/Annot/A 20071 0 R/Subtype/Link/Rect[493 530 507 538]/Border[0 0 0]/H/N>> -endobj - -19853 0 obj -<>/P 13192 0 R/Type/Annot/A 20070 0 R/Subtype/Link/Rect[359 520 373 528]/Border[0 0 0]/H/N>> -endobj - -19854 0 obj -<>/P 13192 0 R/Type/Annot/A 20069 0 R/Subtype/Link/Rect[375 520 389 528]/Border[0 0 0]/H/N>> -endobj - -19855 0 obj -<>/P 13192 0 R/Type/Annot/A 20068 0 R/Subtype/Link/Rect[391 520 403 528]/Border[0 0 0]/H/N>> -endobj - -19856 0 obj -<>/P 13192 0 R/Type/Annot/A 20067 0 R/Subtype/Link/Rect[403 510 417 518]/Border[0 0 0]/H/N>> -endobj - -19857 0 obj -<>/P 13192 0 R/Type/Annot/A 20066 0 R/Subtype/Link/Rect[419 510 431 518]/Border[0 0 0]/H/N>> -endobj - -19858 0 obj -<>/P 13192 0 R/Type/Annot/A 20065 0 R/Subtype/Link/Rect[410 500 424 508]/Border[0 0 0]/H/N>> -endobj - -19859 0 obj -<>/P 13192 0 R/Type/Annot/A 20064 0 R/Subtype/Link/Rect[426 500 438 508]/Border[0 0 0]/H/N>> -endobj - -19860 0 obj -<>/P 13192 0 R/Type/Annot/A 20063 0 R/Subtype/Link/Rect[410 490 424 498]/Border[0 0 0]/H/N>> -endobj - -19861 0 obj -<>/P 13192 0 R/Type/Annot/A 20062 0 R/Subtype/Link/Rect[426 490 438 498]/Border[0 0 0]/H/N>> -endobj - -19862 0 obj -<>/P 13192 0 R/Type/Annot/A 20061 0 R/Subtype/Link/Rect[396 480 408 488]/Border[0 0 0]/H/N>> -endobj - -19863 0 obj -<>/P 13192 0 R/Type/Annot/A 20060 0 R/Subtype/Link/Rect[415 450 423 458]/Border[0 0 0]/H/N>> -endobj - -19864 0 obj -<>/P 13192 0 R/Type/Annot/A 20059 0 R/Subtype/Link/Rect[410 440 422 448]/Border[0 0 0]/H/N>> -endobj - -19865 0 obj -<>/P 13192 0 R/Type/Annot/A 20058 0 R/Subtype/Link/Rect[423 430 431 438]/Border[0 0 0]/H/N>> -endobj - -19866 0 obj -<>/P 13192 0 R/Type/Annot/A 20057 0 R/Subtype/Link/Rect[441 420 458 429]/Border[0 0 0]/H/N>> -endobj - -19867 0 obj -<>/P 13192 0 R/Type/Annot/A 20056 0 R/Subtype/Link/Rect[458 420 472 428]/Border[0 0 0]/H/N>> -endobj - -19868 0 obj -<>/P 13192 0 R/Type/Annot/A 20055 0 R/Subtype/Link/Rect[474 420 491 429]/Border[0 0 0]/H/N>> -endobj - -19869 0 obj -<>/P 13192 0 R/Type/Annot/A 20054 0 R/Subtype/Link/Rect[492 420 504 428]/Border[0 0 0]/H/N>> -endobj - -19870 0 obj -<>/P 13192 0 R/Type/Annot/A 20053 0 R/Subtype/Link/Rect[397 400 409 408]/Border[0 0 0]/H/N>> -endobj - -19871 0 obj -<>/P 13192 0 R/Type/Annot/A 20052 0 R/Subtype/Link/Rect[410 390 422 398]/Border[0 0 0]/H/N>> -endobj - -19872 0 obj -<>/P 13192 0 R/Type/Annot/A 20051 0 R/Subtype/Link/Rect[383 360 391 368]/Border[0 0 0]/H/N>> -endobj - -19873 0 obj -<>/P 13192 0 R/Type/Annot/A 20050 0 R/Subtype/Link/Rect[376 350 390 358]/Border[0 0 0]/H/N>> -endobj - -19874 0 obj -<>/P 13192 0 R/Type/Annot/A 20049 0 R/Subtype/Link/Rect[392 350 404 358]/Border[0 0 0]/H/N>> -endobj - -19875 0 obj -<>/P 13192 0 R/Type/Annot/A 20048 0 R/Subtype/Link/Rect[400 340 410 348]/Border[0 0 0]/H/N>> -endobj - -19876 0 obj -<>/P 13192 0 R/Type/Annot/A 20047 0 R/Subtype/Link/Rect[412 340 424 349]/Border[0 0 0]/H/N>> -endobj - -19877 0 obj -<>/P 13192 0 R/Type/Annot/A 20046 0 R/Subtype/Link/Rect[425 340 433 348]/Border[0 0 0]/H/N>> -endobj - -19878 0 obj -<>/P 13192 0 R/Type/Annot/A 20045 0 R/Subtype/Link/Rect[402 330 414 338]/Border[0 0 0]/H/N>> -endobj - -19879 0 obj -<>/P 13192 0 R/Type/Annot/A 20044 0 R/Subtype/Link/Rect[401 320 409 329]/Border[0 0 0]/H/N>> -endobj - -19880 0 obj -<>/P 13192 0 R/Type/Annot/A 20043 0 R/Subtype/Link/Rect[410 320 420 328]/Border[0 0 0]/H/N>> -endobj - -19881 0 obj -<>/P 13192 0 R/Type/Annot/A 20042 0 R/Subtype/Link/Rect[422 320 435 329]/Border[0 0 0]/H/N>> -endobj - -19882 0 obj -<>/P 13192 0 R/Type/Annot/A 20041 0 R/Subtype/Link/Rect[435 320 445 328]/Border[0 0 0]/H/N>> -endobj - -19883 0 obj -<>/P 13192 0 R/Type/Annot/A 20040 0 R/Subtype/Link/Rect[447 320 457 328]/Border[0 0 0]/H/N>> -endobj - -19884 0 obj -<>/P 13192 0 R/Type/Annot/A 20039 0 R/Subtype/Link/Rect[459 320 469 328]/Border[0 0 0]/H/N>> -endobj - -19885 0 obj -<>/P 13192 0 R/Type/Annot/A 20038 0 R/Subtype/Link/Rect[471 320 484 329]/Border[0 0 0]/H/N>> -endobj - -19886 0 obj -<>/P 13192 0 R/Type/Annot/A 20037 0 R/Subtype/Link/Rect[485 320 495 328]/Border[0 0 0]/H/N>> -endobj - -19887 0 obj -<>/P 13192 0 R/Type/Annot/A 20036 0 R/Subtype/Link/Rect[359 310 372 319]/Border[0 0 0]/H/N>> -endobj - -19888 0 obj -<>/P 13192 0 R/Type/Annot/A 20035 0 R/Subtype/Link/Rect[373 310 383 318]/Border[0 0 0]/H/N>> -endobj - -19889 0 obj -<>/P 13192 0 R/Type/Annot/A 20034 0 R/Subtype/Link/Rect[385 310 395 318]/Border[0 0 0]/H/N>> -endobj - -19890 0 obj -<>/P 13192 0 R/Type/Annot/A 20033 0 R/Subtype/Link/Rect[397 310 409 319]/Border[0 0 0]/H/N>> -endobj - -19891 0 obj -<>/P 13192 0 R/Type/Annot/A 20032 0 R/Subtype/Link/Rect[410 310 420 318]/Border[0 0 0]/H/N>> -endobj - -19892 0 obj -<>/P 13192 0 R/Type/Annot/A 20031 0 R/Subtype/Link/Rect[422 310 435 319]/Border[0 0 0]/H/N>> -endobj - -19893 0 obj -<>/P 13192 0 R/Type/Annot/A 20030 0 R/Subtype/Link/Rect[435 310 445 318]/Border[0 0 0]/H/N>> -endobj - -19894 0 obj -<>/P 13192 0 R/Type/Annot/A 20029 0 R/Subtype/Link/Rect[447 310 457 318]/Border[0 0 0]/H/N>> -endobj - -19895 0 obj -<>/P 13192 0 R/Type/Annot/A 20028 0 R/Subtype/Link/Rect[459 310 473 318]/Border[0 0 0]/H/N>> -endobj - -19896 0 obj -<>/P 13192 0 R/Type/Annot/A 20027 0 R/Subtype/Link/Rect[475 310 492 319]/Border[0 0 0]/H/N>> -endobj - -19897 0 obj -<>/P 13192 0 R/Type/Annot/A 20026 0 R/Subtype/Link/Rect[492 310 506 318]/Border[0 0 0]/H/N>> -endobj - -19898 0 obj -<>/P 13192 0 R/Type/Annot/A 20025 0 R/Subtype/Link/Rect[359 300 373 308]/Border[0 0 0]/H/N>> -endobj - -19899 0 obj -<>/P 13192 0 R/Type/Annot/A 20024 0 R/Subtype/Link/Rect[375 300 389 308]/Border[0 0 0]/H/N>> -endobj - -19900 0 obj -<>/P 13192 0 R/Type/Annot/A 20023 0 R/Subtype/Link/Rect[391 300 405 308]/Border[0 0 0]/H/N>> -endobj - -19901 0 obj -<>/P 13192 0 R/Type/Annot/A 20022 0 R/Subtype/Link/Rect[407 300 424 309]/Border[0 0 0]/H/N>> -endobj - -19902 0 obj -<>/P 13192 0 R/Type/Annot/A 20021 0 R/Subtype/Link/Rect[425 300 439 308]/Border[0 0 0]/H/N>> -endobj - -19903 0 obj -<>/P 13192 0 R/Type/Annot/A 20020 0 R/Subtype/Link/Rect[441 300 455 308]/Border[0 0 0]/H/N>> -endobj - -19904 0 obj -<>/P 13192 0 R/Type/Annot/A 20019 0 R/Subtype/Link/Rect[457 300 471 308]/Border[0 0 0]/H/N>> -endobj - -19905 0 obj -<>/P 13192 0 R/Type/Annot/A 20018 0 R/Subtype/Link/Rect[473 300 489 309]/Border[0 0 0]/H/N>> -endobj - -19906 0 obj -<>/P 13192 0 R/Type/Annot/A 20016 0 R/Subtype/Link/Rect[490 300 504 308]/Border[0 0 0]/H/N>> -endobj - -19907 0 obj -<>/P 13192 0 R/Type/Annot/A 20014 0 R/Subtype/Link/Rect[359 290 373 298]/Border[0 0 0]/H/N>> -endobj - -19908 0 obj -<>/P 13192 0 R/Type/Annot/A 20011 0 R/Subtype/Link/Rect[375 290 392 299]/Border[0 0 0]/H/N>> -endobj - -19909 0 obj -<>/P 13192 0 R/Type/Annot/A 20009 0 R/Subtype/Link/Rect[393 290 407 298]/Border[0 0 0]/H/N>> -endobj - -19910 0 obj -<>/P 13192 0 R/Type/Annot/A 20007 0 R/Subtype/Link/Rect[409 290 423 298]/Border[0 0 0]/H/N>> -endobj - -19911 0 obj -<>/P 13192 0 R/Type/Annot/A 44833 0 R/Subtype/Link/Rect[425 290 439 298]/Border[0 0 0]/H/N>> -endobj - -19912 0 obj -<>/P 13192 0 R/Type/Annot/A 44793 0 R/Subtype/Link/Rect[441 290 455 298]/Border[0 0 0]/H/N>> -endobj - -19913 0 obj -<>/P 13192 0 R/Type/Annot/A 44750 0 R/Subtype/Link/Rect[457 290 471 298]/Border[0 0 0]/H/N>> -endobj - -19914 0 obj -<>/P 13192 0 R/Type/Annot/A 37439 0 R/Subtype/Link/Rect[473 290 489 299]/Border[0 0 0]/H/N>> -endobj - -19915 0 obj -<>/P 13192 0 R/Type/Annot/A 44690 0 R/Subtype/Link/Rect[490 290 504 298]/Border[0 0 0]/H/N>> -endobj - -19916 0 obj -<>/P 13192 0 R/Type/Annot/A 44666 0 R/Subtype/Link/Rect[359 280 373 288]/Border[0 0 0]/H/N>> -endobj - -19917 0 obj -<>/P 13192 0 R/Type/Annot/A 20013 0 R/Subtype/Link/Rect[375 280 392 289]/Border[0 0 0]/H/N>> -endobj - -19918 0 obj -<>/P 13192 0 R/Type/Annot/A 44582 0 R/Subtype/Link/Rect[393 280 407 288]/Border[0 0 0]/H/N>> -endobj - -19919 0 obj -<>/P 13192 0 R/Type/Annot/A 44542 0 R/Subtype/Link/Rect[409 280 423 288]/Border[0 0 0]/H/N>> -endobj - -19920 0 obj -<>/P 13192 0 R/Type/Annot/A 44507 0 R/Subtype/Link/Rect[425 280 439 288]/Border[0 0 0]/H/N>> -endobj - -19921 0 obj -<>/P 13192 0 R/Type/Annot/A 44485 0 R/Subtype/Link/Rect[441 280 455 288]/Border[0 0 0]/H/N>> -endobj - -19922 0 obj -<>/P 13192 0 R/Type/Annot/A 44433 0 R/Subtype/Link/Rect[457 280 471 288]/Border[0 0 0]/H/N>> -endobj - -19923 0 obj -<>/P 13192 0 R/Type/Annot/A 44401 0 R/Subtype/Link/Rect[473 280 487 288]/Border[0 0 0]/H/N>> -endobj - -19924 0 obj -<>/P 13192 0 R/Type/Annot/A 44359 0 R/Subtype/Link/Rect[359 270 376 279]/Border[0 0 0]/H/N>> -endobj - -19925 0 obj -<>/P 13192 0 R/Type/Annot/A 44334 0 R/Subtype/Link/Rect[377 270 391 278]/Border[0 0 0]/H/N>> -endobj - -19926 0 obj -<>/P 13192 0 R/Type/Annot/A 20012 0 R/Subtype/Link/Rect[393 270 409 279]/Border[0 0 0]/H/N>> -endobj - -19927 0 obj -<>/P 13192 0 R/Type/Annot/A 44254 0 R/Subtype/Link/Rect[410 270 424 278]/Border[0 0 0]/H/N>> -endobj - -19928 0 obj -<>/P 13192 0 R/Type/Annot/A 20008 0 R/Subtype/Link/Rect[426 270 443 279]/Border[0 0 0]/H/N>> -endobj - -19929 0 obj -<>/P 13192 0 R/Type/Annot/A 44181 0 R/Subtype/Link/Rect[443 270 457 278]/Border[0 0 0]/H/N>> -endobj - -19930 0 obj -<>/P 13192 0 R/Type/Annot/A 44159 0 R/Subtype/Link/Rect[459 270 473 278]/Border[0 0 0]/H/N>> -endobj - -19931 0 obj -<>/P 13192 0 R/Type/Annot/A 44115 0 R/Subtype/Link/Rect[475 270 492 279]/Border[0 0 0]/H/N>> -endobj - -19932 0 obj -<>/P 13192 0 R/Type/Annot/A 44088 0 R/Subtype/Link/Rect[492 270 506 278]/Border[0 0 0]/H/N>> -endobj - -19933 0 obj -<>/P 13192 0 R/Type/Annot/A 44045 0 R/Subtype/Link/Rect[359 260 373 268]/Border[0 0 0]/H/N>> -endobj - -19934 0 obj -<>/P 13192 0 R/Type/Annot/A 44014 0 R/Subtype/Link/Rect[375 260 389 268]/Border[0 0 0]/H/N>> -endobj - -19935 0 obj -<>/P 13192 0 R/Type/Annot/A 43973 0 R/Subtype/Link/Rect[391 260 405 268]/Border[0 0 0]/H/N>> -endobj - -19936 0 obj -<>/P 13192 0 R/Type/Annot/A 43948 0 R/Subtype/Link/Rect[407 260 421 268]/Border[0 0 0]/H/N>> -endobj - -19937 0 obj -<>/P 13192 0 R/Type/Annot/A 43899 0 R/Subtype/Link/Rect[423 260 437 268]/Border[0 0 0]/H/N>> -endobj - -19938 0 obj -<>/P 13192 0 R/Type/Annot/A 43861 0 R/Subtype/Link/Rect[439 260 453 268]/Border[0 0 0]/H/N>> -endobj - -19939 0 obj -<>/P 13192 0 R/Type/Annot/A 43834 0 R/Subtype/Link/Rect[455 260 469 268]/Border[0 0 0]/H/N>> -endobj - -19940 0 obj -<>/P 13192 0 R/Type/Annot/A 43798 0 R/Subtype/Link/Rect[471 260 485 268]/Border[0 0 0]/H/N>> -endobj - -19941 0 obj -<>/P 13192 0 R/Type/Annot/A 43756 0 R/Subtype/Link/Rect[487 260 501 268]/Border[0 0 0]/H/N>> -endobj - -19942 0 obj -<>/P 13192 0 R/Type/Annot/A 43717 0 R/Subtype/Link/Rect[503 260 517 268]/Border[0 0 0]/H/N>> -endobj - -19943 0 obj -<>/P 13192 0 R/Type/Annot/A 43693 0 R/Subtype/Link/Rect[359 250 373 258]/Border[0 0 0]/H/N>> -endobj - -19944 0 obj -<>/P 13192 0 R/Type/Annot/A 43635 0 R/Subtype/Link/Rect[375 250 392 259]/Border[0 0 0]/H/N>> -endobj - -19945 0 obj -<>/P 13192 0 R/Type/Annot/A 43606 0 R/Subtype/Link/Rect[393 250 407 258]/Border[0 0 0]/H/N>> -endobj - -19946 0 obj -<>/P 13192 0 R/Type/Annot/A 43561 0 R/Subtype/Link/Rect[409 250 423 258]/Border[0 0 0]/H/N>> -endobj - -19947 0 obj -<>/P 13192 0 R/Type/Annot/A 43528 0 R/Subtype/Link/Rect[425 250 439 258]/Border[0 0 0]/H/N>> -endobj - -19948 0 obj -<>/P 13192 0 R/Type/Annot/A 43495 0 R/Subtype/Link/Rect[441 250 455 258]/Border[0 0 0]/H/N>> -endobj - -19949 0 obj -<>/P 13192 0 R/Type/Annot/A 43458 0 R/Subtype/Link/Rect[457 250 471 258]/Border[0 0 0]/H/N>> -endobj - -19950 0 obj -<>/P 13192 0 R/Type/Annot/A 43429 0 R/Subtype/Link/Rect[473 250 487 258]/Border[0 0 0]/H/N>> -endobj - -19951 0 obj -<>/P 13192 0 R/Type/Annot/A 43377 0 R/Subtype/Link/Rect[489 250 503 258]/Border[0 0 0]/H/N>> -endobj - -19952 0 obj -<>/P 13192 0 R/Type/Annot/A 43346 0 R/Subtype/Link/Rect[505 250 519 258]/Border[0 0 0]/H/N>> -endobj - -19953 0 obj -<>/P 13192 0 R/Type/Annot/A 43286 0 R/Subtype/Link/Rect[359 240 373 248]/Border[0 0 0]/H/N>> -endobj - -19954 0 obj -<>/P 13192 0 R/Type/Annot/A 43256 0 R/Subtype/Link/Rect[375 240 392 249]/Border[0 0 0]/H/N>> -endobj - -19955 0 obj -<>/P 13192 0 R/Type/Annot/A 43198 0 R/Subtype/Link/Rect[393 240 407 248]/Border[0 0 0]/H/N>> -endobj - -19956 0 obj -<>/P 13192 0 R/Type/Annot/A 43170 0 R/Subtype/Link/Rect[409 240 423 248]/Border[0 0 0]/H/N>> -endobj - -19957 0 obj -<>/P 13192 0 R/Type/Annot/A 43278 0 R/Subtype/Link/Rect[425 240 439 248]/Border[0 0 0]/H/N>> -endobj - -19958 0 obj -<>/P 13192 0 R/Type/Annot/A 43106 0 R/Subtype/Link/Rect[441 240 455 248]/Border[0 0 0]/H/N>> -endobj - -19959 0 obj -<>/P 13192 0 R/Type/Annot/A 43075 0 R/Subtype/Link/Rect[457 240 473 249]/Border[0 0 0]/H/N>> -endobj - -19960 0 obj -<>/P 13192 0 R/Type/Annot/A 43006 0 R/Subtype/Link/Rect[474 240 488 248]/Border[0 0 0]/H/N>> -endobj - -19961 0 obj -<>/P 13192 0 R/Type/Annot/A 43681 0 R/Subtype/Link/Rect[490 240 502 248]/Border[0 0 0]/H/N>> -endobj - -19962 0 obj -<>/P 13192 0 R/Type/Annot/A 42943 0 R/Subtype/Link/Rect[398 230 406 238]/Border[0 0 0]/H/N>> -endobj - -19963 0 obj -<>/P 13192 0 R/Type/Annot/A 42919 0 R/Subtype/Link/Rect[425 220 439 228]/Border[0 0 0]/H/N>> -endobj - -19964 0 obj -<>/P 13192 0 R/Type/Annot/A 42871 0 R/Subtype/Link/Rect[441 220 455 228]/Border[0 0 0]/H/N>> -endobj - -19965 0 obj -<>/P 13192 0 R/Type/Annot/A 42848 0 R/Subtype/Link/Rect[457 220 471 228]/Border[0 0 0]/H/N>> -endobj - -19966 0 obj -<>/P 13192 0 R/Type/Annot/A 43173 0 R/Subtype/Link/Rect[473 220 487 228]/Border[0 0 0]/H/N>> -endobj - -19967 0 obj -<>/P 13192 0 R/Type/Annot/A 42762 0 R/Subtype/Link/Rect[489 220 501 228]/Border[0 0 0]/H/N>> -endobj - -19968 0 obj -<>/P 13192 0 R/Type/Annot/A 42736 0 R/Subtype/Link/Rect[405 210 422 219]/Border[0 0 0]/H/N>> -endobj - -19969 0 obj -<>/P 13192 0 R/Type/Annot/A 42690 0 R/Subtype/Link/Rect[423 210 437 218]/Border[0 0 0]/H/N>> -endobj - -19970 0 obj -<>/P 13192 0 R/Type/Annot/A 42660 0 R/Subtype/Link/Rect[439 210 453 218]/Border[0 0 0]/H/N>> -endobj - -19971 0 obj -<>/P 13192 0 R/Type/Annot/A 42610 0 R/Subtype/Link/Rect[455 210 471 219]/Border[0 0 0]/H/N>> -endobj - -19972 0 obj -<>/P 13192 0 R/Type/Annot/A 42583 0 R/Subtype/Link/Rect[472 210 486 218]/Border[0 0 0]/H/N>> -endobj - -19973 0 obj -<>/P 13192 0 R/Type/Annot/A 42552 0 R/Subtype/Link/Rect[488 210 502 218]/Border[0 0 0]/H/N>> -endobj - -19974 0 obj -<>/P 13192 0 R/Type/Annot/A 42513 0 R/Subtype/Link/Rect[359 200 376 209]/Border[0 0 0]/H/N>> -endobj - -19975 0 obj -<>/P 13192 0 R/Type/Annot/A 42468 0 R/Subtype/Link/Rect[377 200 390 208]/Border[0 0 0]/H/N>> -endobj - -19976 0 obj -<>/P 13192 0 R/Type/Annot/A 42423 0 R/Subtype/Link/Rect[392 200 409 209]/Border[0 0 0]/H/N>> -endobj - -19977 0 obj -<>/P 13192 0 R/Type/Annot/A 42382 0 R/Subtype/Link/Rect[409 200 423 208]/Border[0 0 0]/H/N>> -endobj - -19978 0 obj -<>/P 13192 0 R/Type/Annot/A 42361 0 R/Subtype/Link/Rect[425 200 439 208]/Border[0 0 0]/H/N>> -endobj - -19979 0 obj -<>/P 13192 0 R/Type/Annot/A 42325 0 R/Subtype/Link/Rect[441 200 453 208]/Border[0 0 0]/H/N>> -endobj - -19980 0 obj -<>/P 13192 0 R/Type/Annot/A 42257 0 R/Subtype/Link/Rect[398 190 415 199]/Border[0 0 0]/H/N>> -endobj - -19981 0 obj -<>/P 13192 0 R/Type/Annot/A 42237 0 R/Subtype/Link/Rect[415 190 427 198]/Border[0 0 0]/H/N>> -endobj - -19982 0 obj -<>/P 13192 0 R/Type/Annot/A 42198 0 R/Subtype/Link/Rect[405 180 415 188]/Border[0 0 0]/H/N>> -endobj - -19983 0 obj -<>/P 13192 0 R/Type/Annot/A 42150 0 R/Subtype/Link/Rect[417 180 427 188]/Border[0 0 0]/H/N>> -endobj - -19984 0 obj -<>/P 13192 0 R/Type/Annot/A 42098 0 R/Subtype/Link/Rect[429 180 443 188]/Border[0 0 0]/H/N>> -endobj - -19985 0 obj -<>/P 13192 0 R/Type/Annot/A 42065 0 R/Subtype/Link/Rect[445 180 459 188]/Border[0 0 0]/H/N>> -endobj - -19986 0 obj -<>/P 13192 0 R/Type/Annot/A 42023 0 R/Subtype/Link/Rect[461 180 475 188]/Border[0 0 0]/H/N>> -endobj - -19987 0 obj -<>/P 13192 0 R/Type/Annot/A 41977 0 R/Subtype/Link/Rect[477 180 494 189]/Border[0 0 0]/H/N>> -endobj - -19988 0 obj -<>/P 13192 0 R/Type/Annot/A 41949 0 R/Subtype/Link/Rect[495 180 509 188]/Border[0 0 0]/H/N>> -endobj - -19989 0 obj -<>/P 13192 0 R/Type/Annot/A 41906 0 R/Subtype/Link/Rect[359 170 376 179]/Border[0 0 0]/H/N>> -endobj - -19990 0 obj -<>/P 13192 0 R/Type/Annot/A 41864 0 R/Subtype/Link/Rect[377 170 391 178]/Border[0 0 0]/H/N>> -endobj - -19991 0 obj -<>/P 13192 0 R/Type/Annot/A 41803 0 R/Subtype/Link/Rect[393 170 407 178]/Border[0 0 0]/H/N>> -endobj - -19992 0 obj -<>/P 13192 0 R/Type/Annot/A 41746 0 R/Subtype/Link/Rect[409 170 422 178]/Border[0 0 0]/H/N>> -endobj - -19993 0 obj -<>/P 13192 0 R/Type/Annot/A 41708 0 R/Subtype/Link/Rect[424 170 438 178]/Border[0 0 0]/H/N>> -endobj - -19994 0 obj -<>/P 13192 0 R/Type/Annot/A 41662 0 R/Subtype/Link/Rect[440 170 454 178]/Border[0 0 0]/H/N>> -endobj - -19995 0 obj -<>/P 13192 0 R/Type/Annot/A 41620 0 R/Subtype/Link/Rect[456 170 470 178]/Border[0 0 0]/H/N>> -endobj - -19996 0 obj -<>/P 13192 0 R/Type/Annot/A 41795 0 R/Subtype/Link/Rect[472 170 486 178]/Border[0 0 0]/H/N>> -endobj - -19997 0 obj -<>/P 13192 0 R/Type/Annot/A 41539 0 R/Subtype/Link/Rect[488 170 502 178]/Border[0 0 0]/H/N>> -endobj - -19998 0 obj -<>/P 13192 0 R/Type/Annot/A 41495 0 R/Subtype/Link/Rect[504 170 518 178]/Border[0 0 0]/H/N>> -endobj - -19999 0 obj -<>/P 13192 0 R/Type/Annot/A 41461 0 R/Subtype/Link/Rect[359 160 373 168]/Border[0 0 0]/H/N>> -endobj - -20000 0 obj -<>/P 13192 0 R/Type/Annot/A 41427 0 R/Subtype/Link/Rect[375 160 387 168]/Border[0 0 0]/H/N>> -endobj - -20001 0 obj -<>/P 13192 0 R/Type/Annot/A 41407 0 R/Subtype/Link/Rect[398 150 410 158]/Border[0 0 0]/H/N>> -endobj - -20002 0 obj -<>/P 13192 0 R/Type/Annot/A 41339 0 R/Subtype/Link/Rect[391 568 408 577]/Border[0 0 0]/H/N>> -endobj - -20003 0 obj -<>/P 13192 0 R/Type/Annot/A 41301 0 R/Subtype/Link/Rect[172 475 189 484]/Border[0 0 0]/H/N>> -endobj - -20004 0 obj -<>/P 13192 0 R/Type/Annot/A 41276 0 R/Subtype/Link/Rect[374 468 391 477]/Border[0 0 0]/H/N>> -endobj - -20005 0 obj -<>/P 13192 0 R/Type/Annot/A 41239 0 R/Subtype/Link/Rect[373 458 390 467]/Border[0 0 0]/H/N>> -endobj - -20006 0 obj -<>/P 13192 0 R/Type/Annot/A 41279 0 R/Subtype/Link/Rect[390 378 407 387]/Border[0 0 0]/H/N>> -endobj - -20007 0 obj -<> -endobj - -20008 0 obj -<> -endobj - -20009 0 obj -<> -endobj - -20010 0 obj -<> -endobj - -20011 0 obj -<> -endobj - -20012 0 obj -<> -endobj - -20013 0 obj -<> -endobj - -20014 0 obj -<> -endobj - -20015 0 obj -<> -endobj - -20016 0 obj -<> -endobj - -20017 0 obj -<> -endobj - -20018 0 obj -<> -endobj - -20019 0 obj -<> -endobj - -20020 0 obj -<> -endobj - -20021 0 obj -<> -endobj - -20022 0 obj -<> -endobj - -20023 0 obj -<> -endobj - -20024 0 obj -<> -endobj - -20025 0 obj -<> -endobj - -20026 0 obj -<> -endobj - -20027 0 obj -<> -endobj - -20028 0 obj -<> -endobj - -20029 0 obj -<> -endobj - -20030 0 obj -<> -endobj - -20031 0 obj -<> -endobj - -20032 0 obj -<> -endobj - -20033 0 obj -<> -endobj - -20034 0 obj -<> -endobj - -20035 0 obj -<> -endobj - -20036 0 obj -<> -endobj - -20037 0 obj -<> -endobj - -20038 0 obj -<> -endobj - -20039 0 obj -<> -endobj - -20040 0 obj -<> -endobj - -20041 0 obj -<> -endobj - -20042 0 obj -<> -endobj - -20043 0 obj -<> -endobj - -20044 0 obj -<> -endobj - -20045 0 obj -<> -endobj - -20046 0 obj -<> -endobj - -20047 0 obj -<> -endobj - -20048 0 obj -<> -endobj - -20049 0 obj -<> -endobj - -20050 0 obj -<> -endobj - -20051 0 obj -<> -endobj - -20052 0 obj -<> -endobj - -20053 0 obj -<> -endobj - -20054 0 obj -<> -endobj - -20055 0 obj -<> -endobj - -20056 0 obj -<> -endobj - -20057 0 obj -<> -endobj - -20058 0 obj -<> -endobj - -20059 0 obj -<> -endobj - -20060 0 obj -<> -endobj - -20061 0 obj -<> -endobj - -20062 0 obj -<> -endobj - -20063 0 obj -<> -endobj - -20064 0 obj -<> -endobj - -20065 0 obj -<> -endobj - -20066 0 obj -<> -endobj - -20067 0 obj -<> -endobj - -20068 0 obj -<> -endobj - -20069 0 obj -<> -endobj - -20070 0 obj -<> -endobj - -20071 0 obj -<> -endobj - -20072 0 obj -<> -endobj - -20073 0 obj -<> -endobj - -20074 0 obj -<> -endobj - -20075 0 obj -<> -endobj - -20076 0 obj -<> -endobj - -20077 0 obj -<> -endobj - -20078 0 obj -<> -endobj - -20079 0 obj -<> -endobj - -20080 0 obj -<> -endobj - -20081 0 obj -<> -endobj - -20082 0 obj -<> -endobj - -20083 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -20084 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -20085 0 obj -<> -endobj - -20086 0 obj -<> -endobj - -20087 0 obj -<> -endobj - -20088 0 obj -<> -endobj - -20089 0 obj -<> -endobj - -20090 0 obj -<> -endobj - -20091 0 obj -<> -endobj - -20092 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -20093 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -20094 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -20095 0 obj -<> -stream -HWioH_;rdɅX`"Q2: >-WbS.6'uc?>ywIӧ_Flmi.qL8uM/5K|Vf:ݮr]5rfet̙/$:+g,&ILiJ4yR:e!Oi~H.m;=nf܌]^<_NܱC()p*)p*)p*p)p)9p+9p+9p+p_(p_(%p_*%p:kAi%hĘKXcv/1fi#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu[GVb%F,Z1K{ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZZ+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhQ -Z+1fi#hĘKYnBCIK> ,VPZhTi@+UZʔV2\i@+WZ*V -URi@Z.Zc֒_րUZhY倖SZh;{_ֆ,r/1f-{r/kؐ@%,r@%vȽĘTȽNC c֒_wʽ_wʽ_dʽ_dʽ_Qʽ_Qʽ_>ʽ_>ʽ_+ʽ_+Ę$r@%r@%Wr@%Wr@%Ƈ|r@%Ƈ|r@%wr@%wr@%sr@%s%1fi-hܧ e\e0 wl=D'5LQ di:V2_Ɠ8ǻvGO YRQ'Gf2ۅm7M]ϷEUfkvf~RWofb̼M жyX'>}غ$;{uEhi.䍔Ll۲U5f935/D =o<1Q7=zZmgޥ՜5Y+gK tj|jE:g 8ݐ5T!-tmio\mr>:gX<!9^r1?rkLwL0U]!^[`(=0xiH' ]38YWi^5+' -O ]u~fchs{hbRdyή/JtdHb0f_~).uwGSq,j)V?+N%1K? YhV)m [FNm=P?1 )tx06&@ 3{Eg_?S㧠!n024Kjf] ws{#;'? > -ҟ^<`%:CuKf<ʟ͞ PWmۋ1zyM:+O+K{÷j`۫9^NFi!:vPSrB{ݓt A\BlwHY%`) -@+(hJ+ZʀV2)hJ+Z*V -U(hJZr֒ĈeUZhY倖SZh;{1 h;{1 h;{1 h;{1 h;{1 h;{1 h;{1 h{{1KkIX cR cR cR cR cR cR cR cR cR c֒@%,r@%,r@%,r@%,r@%,r@%,r@%,r@%,r@%,rL{t1*Lŀ{t1*L,,--M yXw -1vBҸ,>agljne; zƠ?H16S`oE_0󒙗cllZ\YP__ZPHMS(ON-.\} endstream -endobj - -20096 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -20097 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -20098 0 obj -<> -endobj - -20099 0 obj -<> -endobj - -20100 0 obj -<> -endobj - -20101 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -20102 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -20103 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -20104 0 obj -<> -stream -HWm6_!xZMyC+! Jei+7I I`!pxK'?eO>"3b2a:U!y&㾊~(?F,ת)sk>VC_⾎n{㏧6ݲ"f.$ua8Ox{6WO#LaM7G_~)<ϊ͋Cy?TջMJ]*ƒTij̯Q - "!fi?oޥ>n&J ytr4H+!F# KE> -a QgP@aP```/`/`/`/`/```> g,`}N9>"`_싀&뀽&ehqBgP!{Z3=TE `>"jPjϠj9Z3(}ZNE `>"jPjϠj9Z3(}ZN T}>@> -cAPjϠjZ3(}ZAE `V>"jPjϠjZ3(}ZAE `V>"jIBgP!{Z3=TE `V>"jPjϠj%Z3(}ZIE `V>"jPjϠj%Z3(}ZI"T}>@> -cAuq -=F[^,E7ijow1KG|C0,lFdz\DBn ` Yuf_;+jgV5LЏAo[n ϑ(,OțW ބ~Z5MzM_t= bMEJPO|Mܑ";\T܎;C=yV2f}rF\WTk.g(I>C`ަ:ݝEx'p8q}LN{2&DoW(Q~%*Dw@֝j\(u۫t4*{순%9K.x ,/Rc%L - S8aLbqn[!'0ju]PdjhshS Ca4WcG -ܝltLeϗNZ6^z_?^! ƅ\-"oL+j0ַ, 6 8uqS(`*]cmh$۫ڟzC[aWeMk|z"vۙez>7jNinβeh -c\3W3ewծRع~[FPYkgjҺ ޻̀E)5 Ņ f36i - 5eOܡ\ɴKY-CmZ%  ]71-.Ǣ 7M1p"_MWDd*9Y9p3Ӟ:aO!ey,3YkjCG.Tws8֞54D|=C8*(josCݸK5{+Mh7r2F[Ty :+~/u0{XƮr8T`.ssYjb2w.uv~}M5*wk_~8*>BU=uHhpG-g,ɒ -7y+.8xTyq)h -l7Lυz@ `+ѐvu Оss^"l_[VsvOGwfN8F}únt87Gij?B |T+{n -PEa(|ee¯j(e)l - G*wke&M.^wn9إun!ɽzذ#Jnr R8ʙNXgZz"* !@₄Ҭf:<]~=vb:Ngy|3WK>ԕP(W[$˾yN HKs4c~PqmUaj0Lf[usφ89p~ 1˲ }a529GtydȊ2m'{Do{9Iyow7\<(HHO6'ítRҩr4Qyo Sյǹ~=:B_ӽӄi:3IZhhA|\F=4c[\  c>/P 990 0 R/Type/Annot/A 44410 0 R/Subtype/Link/Rect[129.600998 380.049011 218.809006 399.729004]/Border[0 0 0]/H/N>> -endobj - -20106 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -20107 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -20108 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -20109 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -20110 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -20111 0 obj -<> -stream -Hm۸SFGQj.wH9} +'ʭ=YkwƶDZE8HE8eU7݋/gϞ="=:f&Uq"MTl$߬8 V}~jEuW6ob"Wɾj)>)&re2--.J?\|\PM,)DRq4Qi/j绋巃=Tbx,ZecqHŒg`o -2Qf(3>L1cHc@ R^ )CPv!B~ (IzIzEWzEWzEWzMׁzMׁzC7zC7zC7PB}zzzO i>%ԧP3B}YA֏m#I֏!c@cHRz?Z?>p$\ǐ"kPkRpCPVc@cHJµ~ )B}ZI֏E֏!E\+ 1k%Z?Z?TޏE֏!cHPkRpCPVc@cH*µ~ )B}ZE֏E֏!E\1kZ?Z?>p"\ǐ"Uk6҄kRz?Z?Tޏ!c@cHjµ~ )B}ZM֏E֏!E\ 1k5Z?Z?>p&\ǐ"ՄkPkRpCPVccHPkRz?T>,ӌß2Z.lC4eBfq m(b 1a}?˻j[~{M-u7惛\|2i.qbLfsu>5E}־қM'26:݀i =<7u,Jc #ؚvW zJHU}qfda`@b -u?7f25,5sᗇ0y{2~_mqZpUUaWJd@g|~2ǟƤgdءFÌёy0"'XF3ᔶ5:j73 -0SbT+>7rA -IOj qXYuܬbWvSi8l7?Ikugm#avf(l\U6}&En%iSHz9G8 Fsd{iO˪)rlʌ -ea{ډ&kCcFɠI;.34.|Ґ<›D*`0"}UUq;q<8L8T@LN.СdzBV8T`,.ߛ|7-*:U("qg6Q j ZJvtӧnz_௳lJx蜵yͪ ;,܄b/SDue\)4X*OBLUV mt|T2:^Q !;iAiRVcG3eܼ#~Ꝯq݌MoΘ)e)O#v̬Pg)&G6v:_tNo*P-VN-bgjL>W358s -š)3uLL'_jfpJ\2wۛYz#d zcw3^)f!J%wemʘZ&-rOt#0%uFqUsB*еvnH2vo*3HpnOtѭ)V#-yɵ&i9?W.^,C:K>a,$#;yacfyW?yriy3W?f}xҐx\MQt#F % YҸ7ϱdgIpwαђ0θ9@7rǦCm}o(ӦH_)oAFWCY<{$~]T=&nICsnwW: GI8K5jUK^-W^Ddendstream -endobj - -20112 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -20113 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -20114 0 obj -<> -endobj - -20115 0 obj -<> -endobj - -20116 0 obj -<> -endobj - -20117 0 obj -<> -endobj - -20118 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -20119 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -20120 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -20121 0 obj -<> -stream -HWkoV_q *mhɻmq  -,Q=\InP)3kRs3?ƛᇳw~4yU{fCa`bʙEtfeUV2k&;[w?Wz3_v|b6.쬵XβD&D..nWf2weь>oǢv?76͠7^]/XV-K([WU_YY؞t,?fp拱yGJSi&K*\$e`}R9IplIbIXjKzVp{;^W=p>A}T#pG++kkk>IO2scv/1bJYڽĘKXcpZ@k%,^ցJXcpZ@k%,^ցJXcpZ@k%,^ցJXcpZ@k%,^ցJlyZ1K@k%,^b%F,Z1 WcpZAk%F,Z1 WcpZAk%F,Z1 WcpZAk%F,Z1 WcpZAk%hĘKXcv/1fi#hĘܫZ1 W #hĘܫZ1 W #hĘܫZ1 W #hĘܫZ1 W [fVb%F,Z1K{@Jj}8ACdPXJ+ -J+"ЊJZҪVjU+hJZjVJJ+$\$,%1րUZhY倖SZh;{ )KiKY@KށKlNYJ ^bZ*^bÀuRZ cRw FS c֒;@KރKrA%ƃ R Ah{{T=ȽxDZ*^b<|-{r/1>ʽ@KރK -%1fi-TȽx`Z*^b< --r/1}-r/1~Z*^bTȽh{9R s%1fi-+7R H)Sҟevfgm5,K{72ULǴcnkkF](SFCSٗD&3b=:3^j}57Yw喾)aKĖ3֙zcVݗ| 3ޙn5E۸6q3thr<\L<9~f9+stߝj5jt52/^|joav m6U!_Es>;0_{}Lp?>/?q؄"7GᏒ^vOofe:0}\ה:Z_ uACk\X" d.mt;pz|{kƓIݚn܌Ht^"Ƣp?)=t+'\'iP [|A _pluˋSuϮFd{Z[{R}B3nl!ܚns?X+ܑXXQrz2W!DUxd`;z_^9]=W쫢/Ie}lONWѺ?O~TO|c>'~Ïlj^0%tRsi𨀟4szX<;F=-yJZ/pOz%sMaFgfotcV,VPZhVTZhEUJiU@RZ5ЪV jFi5@QZ h%VZZc֒,вJ-rJ-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1fi- ^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ#ȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘT#ȽĘ$F,{1Kk%~h_~fgvƚvU@JG[Ӕj:S? -=vt1^5=0"y`}׶[ZaZ,G16SۙtdI=)z$)ӎncH6BjSݯpٛrYjm::JW'˜;_gu oiWsi8\qe?\9N`,szp3Kc.}1oW'v'؄^GbqYJ+^;'Ę f2sJ`*2ƭNRyI*fwWӚHaˋI1nVn)I0,we䧕1Z*lZ\=$&؝s49~SbҷjwvR{)vX4X3ΆXdC' !3Z3NhhV|8oFjيVf7 r-#s} ݱK[M"y ^ﵯgד- NaL%(p - ~VyLeqx -7܄x -(̜ʇP6.C'eEB&[VW.u5 M2u"5DSUDѦ?{\S´,bk*T:ǜLh -T>KA (Ρ$J(ILxlvsd̃9<6>@ -RR[D= ND?7IhL 55DS;ڦj.0) ..QlZ]߷R`aWi7]2q9zsUYH.xs톮/}9mL#؟/8ʱ0!LݴX@*ds ) -"r/@i|1;֑(E>WXZ㤋g.Zc}Fꚡ81wmz\,R!Jݬ@[ujONo^mL+mub=aN,xd1/].5.yCxÄ!ޥ]d]oV 00ބmu;'$yA#P7m"D̓iVQOZhm`VƜ}8f&&HmiUfIs@R.~G%O>m"{A*lʳ &Wf5J&/N),M<1X0US+"K!,r ,fVSTww3CMܵǂq2X_*! ,`Fvo7]/q-TLKum ћܩ޺w{LG{?|>/|kendstream -endobj - -20122 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -20123 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -20124 0 obj -<> -endobj - -20125 0 obj -<> -endobj - -20126 0 obj -<> -endobj - -20127 0 obj -<> -endobj - -20128 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -20129 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -20130 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -20131 0 obj -<> -stream -HWQo8~ׯAE$EI=\" W\ -j-g3dKqzXlŌ?|7$o?^7w"^{7I$U"LT,ՑQb_D9mW?7Wu﫵WۏJe.Occccc0}°Oا c13}ư<> c3se[e{hZjCϞŨ峧6D Pj Q {OQ-!aV16@16D1=*FԆ(ZŨŨŰTRjZjZjCSbTKmb{Uj4ZjCϞŨ峧6D Pj Q {OQ-!aV36@16D1=jFԆ(ZͨŨŰTRj5ZjZjCSfTKmb{ՌjFԆ(=Q-!gOmSRjFԆ(ڄQ-Q-!a6aTKmb{MRRjFԆ(ڄQ-Q-!a6aTKmb{MR[FԆ(=Q-!gOmZ uzܮZHz -d<#RVsTim ۲khez=QF mdUtba#?hn -Q5GP{l~d2 .NL!wfu[5Ϣ/u[QM e#cS<9d=$K%dH$1{ٶk'm]؀n.`-;Q]+W]ݘ8?mʱЗCJ=nקa[]'nZxy:ֵK^^X RES2}}:7#a(rKwi),lnX4^#o>37~0<ŰRgdj,R 'P(ZD)̕="K8|&Ml&F Pqe (TH*2 a/ea&$JR3XJd:YPvz7*g~QĽAY]NLdR3w>^" 0WEpύ.B09T|j^;Ǫ,X=E] l؅;Jxe3)8XmNs?ab4f)F21r7M㦑6DGRÑvb?ROe/dKkHPEƑr@f^qɓNs๩#cg;exFۢW5ӊ ^m#m"DqDf$*X:S` aەž[HgtI90R{QB|%|j߽U,;&k)hu2KUwd(|_nDZa \n?gX,L%ZfYEǯ,>[%=`| 8)?LЮ~qoϯ!ܥ.u4{I,O/^yG2o/^@O8|xʣ&K;2 --wh /g/*5U.=.Ƕ^j:=?*9\॓ 2ĉyK{>M%8C}W7 ;/z ȃv4{F8LruZU3vFhL}2o^58;huMh%W9t3['Z[@FboO[ϘEr/pFCmu_bf#~5-$]F?\x=bw}*L7)9č] -wIClnp͂BFfq~nw^Yiݢ,j!c;nОdҨN }.n䯈Pv~^d2h)i>bɪ]]zyv %<!#zOTWm4кKeJfP- < ţCUXs&N2x5뱒4`6Eqq_Mlcqb#qf]Q_FˀRb qDokrmE^jlhg77oͿ ݎ}OR=)!+!MUۧrd7]%bhLbCXGVXg ~7_6]ulwxX܂aDC, Ks*;(’'Uf@ =FKIn)YrkͦBg)n֏3W_dEf]+KIɛT&3Z@gc ͬ`Pq< 뷻 ^G3wX(h;>l:02MV׻()xc2\x4^~LaՋ>o$4LNF@P~=,w~Ƶb$.wZ⸌Z:' fB0X SEɐg*e tQpsU0י4:c4}gbFiz6 Q`:f&HZ.a&jXҥlj!֭u1Q/ONg=Uc[uh|?4sp'!0gw>,߾?|ׇ?7 0ڬendstream -endobj - -20132 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -20133 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -20134 0 obj -<> -endobj - -20135 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -20136 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -20137 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -20138 0 obj -<> -stream -HWmoeYw 85wH^`lŧT/$jҒ]vfyșg8u݋ׯ>^x'x_2` v ӵWu%CBTW~<,7j.vQ]îz;oU RDѧ2骚 La -l:܇!O+v¤w+SkJ;,.Žv5X%^U sm%&f%um*6D)U2,ʹ+Um=a{Ͱ{Ͱ{Ͱ{ð7{ð7{˰{˰{˰{ǰw{ǰw{ϰ{ϰ{ϰȰȰ/4UjsJ QjsJP%܆(FP B6a_6D1mbFP B6!Qmn#þP-0mbF QjsjQmn#þP-0mJ3m*6D1m*6Bs6B1 jFP BQmnCF(}Zͨ6a_V3mbTŰ/T6B1 jF Qjsj5F(}Zͨ6*è6dŨ6dUmbTŰ/Tk6B1 F Qjsj F(}Zè6!Qmn#þPaTŰ/Tk6D1mb5jsj ܶ,F}nCF}n#T>1F#$;nUVWөJLU N8U5yZ/^L#R T52/6Kq -ߧ?wx&ډr}$^=O._5HbJZ1GxQk'{k#tuj:RèS5#ԵP{s pK >b|V_ -==py,{p\cq -dLbG!Gc2K2AĹno|Uո 3&*b->\cMh|ԕwdx/+oθV1긜ؖVG/qJ;ܝo2KM't&lCB]o{-$G \ڂA:_&lV(8p}zsIMOj?)2`KnwoTw2n?F9ͧ&qX |f`,NL;"B0]LprFoS,FdcXKW^hBЗs2ooP07߾xqͤwYc1^q]OXVjؓMܬW^<϶MHW1|+>Km_Mp5( օ ?o׮V?G?.l!8){<kNFDZk=쑟t?.ݴ$VF{Ա hM[^81`xuJ_ gXmevt"HhC دw~DKzwC/(J(%D+ib.`46F[5񌧻SU]up@C@΍LÁbi!sr]>4eݨQ^+X,ynh|SVl|{YJ3{˷z5Rx<{,AQL+r3Hia,4|i٘ξ'py{U/J9 hEUz>km;, 8 C=-EoS|3h{'dӪ,H 6O9Pdy*os=nB#MnxZ{a.h@N'uFbCGDjҀbw*| - LV=,ݲ'M=.ҡÅM yBӵpQ- - ]ř7H=uo(Y zD)Y-)V"9nɱ2X6tH/ccjHbsZ_֏Yk`d=h[jx6F q{ xwEGK5+Eq,Eq)g$dJL҆I|02&WY]r^xE>):"(\$Hdhzq;I$.R4d~7ɉ`ΊpSu؅DmJYx-#/x:ӹ6"Y]`I:"d8a1Mİ/rd>:2.ʜғhx\dma(y{\:0O@8ɡAzreIĊehu>lV@1Z`e8+.8Нڪf^% NKK6Ƨ[Ͽ7P!) tk^N˞ҹ-B.M_(3ֆUr \A#f\axX5Mp(ƥNx'Q h`Մ0wFA9''\ zC'(j(wS=Y I: D;La"&Eb˺E2ŶnP-bZ j:{W3>\9ERNrup xLPF;ATa)rG?Nb+3;||}t=qendstream -endobj - -20139 0 obj -<>/P 12870 0 R/Type/Annot/A 38203 0 R/Subtype/Link/Rect[197 670 210 678]/Border[0 0 0]/H/N>> -endobj - -20140 0 obj -<>/P 12870 0 R/Type/Annot/A 38183 0 R/Subtype/Link/Rect[212 670 229 678]/Border[0 0 0]/H/N>> -endobj - -20141 0 obj -<>/P 12870 0 R/Type/Annot/A 41265 0 R/Subtype/Link/Rect[229 670 243 678]/Border[0 0 0]/H/N>> -endobj - -20142 0 obj -<>/P 12870 0 R/Type/Annot/A 38160 0 R/Subtype/Link/Rect[245 670 262 678]/Border[0 0 0]/H/N>> -endobj - -20143 0 obj -<>/P 12870 0 R/Type/Annot/A 38149 0 R/Subtype/Link/Rect[262 670 276 678]/Border[0 0 0]/H/N>> -endobj - -20144 0 obj -<>/P 12870 0 R/Type/Annot/A 20421 0 R/Subtype/Link/Rect[278 670 292 678]/Border[0 0 0]/H/N>> -endobj - -20145 0 obj -<>/P 12870 0 R/Type/Annot/A 38123 0 R/Subtype/Link/Rect[294 670 308 678]/Border[0 0 0]/H/N>> -endobj - -20146 0 obj -<>/P 12870 0 R/Type/Annot/A 41099 0 R/Subtype/Link/Rect[151 660 167 669]/Border[0 0 0]/H/N>> -endobj - -20147 0 obj -<>/P 12870 0 R/Type/Annot/A 20411 0 R/Subtype/Link/Rect[168 660 182 668]/Border[0 0 0]/H/N>> -endobj - -20148 0 obj -<>/P 12870 0 R/Type/Annot/A 38085 0 R/Subtype/Link/Rect[184 660 198 668]/Border[0 0 0]/H/N>> -endobj - -20149 0 obj -<>/P 12870 0 R/Type/Annot/A 38055 0 R/Subtype/Link/Rect[200 660 214 668]/Border[0 0 0]/H/N>> -endobj - -20150 0 obj -<>/P 12870 0 R/Type/Annot/A 38040 0 R/Subtype/Link/Rect[216 660 230 668]/Border[0 0 0]/H/N>> -endobj - -20151 0 obj -<>/P 12870 0 R/Type/Annot/A 20479 0 R/Subtype/Link/Rect[232 660 246 668]/Border[0 0 0]/H/N>> -endobj - -20152 0 obj -<>/P 12870 0 R/Type/Annot/A 20476 0 R/Subtype/Link/Rect[248 660 262 668]/Border[0 0 0]/H/N>> -endobj - -20153 0 obj -<>/P 12870 0 R/Type/Annot/A 37988 0 R/Subtype/Link/Rect[264 660 278 668]/Border[0 0 0]/H/N>> -endobj - -20154 0 obj -<>/P 12870 0 R/Type/Annot/A 37978 0 R/Subtype/Link/Rect[280 660 294 668]/Border[0 0 0]/H/N>> -endobj - -20155 0 obj -<>/P 12870 0 R/Type/Annot/A 20463 0 R/Subtype/Link/Rect[296 660 310 668]/Border[0 0 0]/H/N>> -endobj - -20156 0 obj -<>/P 12870 0 R/Type/Annot/A 37969 0 R/Subtype/Link/Rect[151 650 165 658]/Border[0 0 0]/H/N>> -endobj - -20157 0 obj -<>/P 12870 0 R/Type/Annot/A 37955 0 R/Subtype/Link/Rect[167 650 183 659]/Border[0 0 0]/H/N>> -endobj - -20158 0 obj -<>/P 12870 0 R/Type/Annot/A 37946 0 R/Subtype/Link/Rect[184 650 198 658]/Border[0 0 0]/H/N>> -endobj - -20159 0 obj -<>/P 12870 0 R/Type/Annot/A 37933 0 R/Subtype/Link/Rect[200 650 214 658]/Border[0 0 0]/H/N>> -endobj - -20160 0 obj -<>/P 12870 0 R/Type/Annot/A 37916 0 R/Subtype/Link/Rect[216 650 230 658]/Border[0 0 0]/H/N>> -endobj - -20161 0 obj -<>/P 12870 0 R/Type/Annot/A 36825 0 R/Subtype/Link/Rect[232 650 246 658]/Border[0 0 0]/H/N>> -endobj - -20162 0 obj -<>/P 12870 0 R/Type/Annot/A 20440 0 R/Subtype/Link/Rect[248 650 262 658]/Border[0 0 0]/H/N>> -endobj - -20163 0 obj -<>/P 12870 0 R/Type/Annot/A 37895 0 R/Subtype/Link/Rect[264 650 276 658]/Border[0 0 0]/H/N>> -endobj - -20164 0 obj -<>/P 12870 0 R/Type/Annot/A 38193 0 R/Subtype/Link/Rect[189 640 201 648]/Border[0 0 0]/H/N>> -endobj - -20165 0 obj -<>/P 12870 0 R/Type/Annot/A 37878 0 R/Subtype/Link/Rect[206 630 223 639]/Border[0 0 0]/H/N>> -endobj - -20166 0 obj -<>/P 12870 0 R/Type/Annot/A 37873 0 R/Subtype/Link/Rect[223 630 237 638]/Border[0 0 0]/H/N>> -endobj - -20167 0 obj -<>/P 12870 0 R/Type/Annot/A 37871 0 R/Subtype/Link/Rect[239 630 253 638]/Border[0 0 0]/H/N>> -endobj - -20168 0 obj -<>/P 12870 0 R/Type/Annot/A 37863 0 R/Subtype/Link/Rect[255 630 267 638]/Border[0 0 0]/H/N>> -endobj - -20169 0 obj -<>/P 12870 0 R/Type/Annot/A 37850 0 R/Subtype/Link/Rect[189 620 201 628]/Border[0 0 0]/H/N>> -endobj - -20170 0 obj -<>/P 12870 0 R/Type/Annot/A 37847 0 R/Subtype/Link/Rect[202 610 216 618]/Border[0 0 0]/H/N>> -endobj - -20171 0 obj -<>/P 12870 0 R/Type/Annot/A 34199 0 R/Subtype/Link/Rect[218 610 234 619]/Border[0 0 0]/H/N>> -endobj - -20172 0 obj -<>/P 12870 0 R/Type/Annot/A 33639 0 R/Subtype/Link/Rect[235 610 249 618]/Border[0 0 0]/H/N>> -endobj - -20173 0 obj -<>/P 12870 0 R/Type/Annot/A 33603 0 R/Subtype/Link/Rect[251 610 265 618]/Border[0 0 0]/H/N>> -endobj - -20174 0 obj -<>/P 12870 0 R/Type/Annot/A 37797 0 R/Subtype/Link/Rect[267 610 281 618]/Border[0 0 0]/H/N>> -endobj - -20175 0 obj -<>/P 12870 0 R/Type/Annot/A 37791 0 R/Subtype/Link/Rect[151 600 167 609]/Border[0 0 0]/H/N>> -endobj - -20176 0 obj -<>/P 12870 0 R/Type/Annot/A 32557 0 R/Subtype/Link/Rect[168 600 182 608]/Border[0 0 0]/H/N>> -endobj - -20177 0 obj -<>/P 12870 0 R/Type/Annot/A 37778 0 R/Subtype/Link/Rect[184 600 198 608]/Border[0 0 0]/H/N>> -endobj - -20178 0 obj -<>/P 12870 0 R/Type/Annot/A 37771 0 R/Subtype/Link/Rect[200 600 217 609]/Border[0 0 0]/H/N>> -endobj - -20179 0 obj -<>/P 12870 0 R/Type/Annot/A 20452 0 R/Subtype/Link/Rect[217 600 231 608]/Border[0 0 0]/H/N>> -endobj - -20180 0 obj -<>/P 12870 0 R/Type/Annot/A 37761 0 R/Subtype/Link/Rect[233 600 247 608]/Border[0 0 0]/H/N>> -endobj - -20181 0 obj -<>/P 12870 0 R/Type/Annot/A 37739 0 R/Subtype/Link/Rect[249 600 261 608]/Border[0 0 0]/H/N>> -endobj - -20182 0 obj -<>/P 12870 0 R/Type/Annot/A 30987 0 R/Subtype/Link/Rect[206 590 223 599]/Border[0 0 0]/H/N>> -endobj - -20183 0 obj -<>/P 12870 0 R/Type/Annot/A 20434 0 R/Subtype/Link/Rect[224 590 236 598]/Border[0 0 0]/H/N>> -endobj - -20184 0 obj -<>/P 12870 0 R/Type/Annot/A 20428 0 R/Subtype/Link/Rect[189 580 201 588]/Border[0 0 0]/H/N>> -endobj - -20185 0 obj -<>/P 12870 0 R/Type/Annot/A 37715 0 R/Subtype/Link/Rect[169 570 183 578]/Border[0 0 0]/H/N>> -endobj - -20186 0 obj -<>/P 12870 0 R/Type/Annot/A 37705 0 R/Subtype/Link/Rect[185 570 199 578]/Border[0 0 0]/H/N>> -endobj - -20187 0 obj -<>/P 12870 0 R/Type/Annot/A 37693 0 R/Subtype/Link/Rect[201 570 213 578]/Border[0 0 0]/H/N>> -endobj - -20188 0 obj -<>/P 12870 0 R/Type/Annot/A 30055 0 R/Subtype/Link/Rect[197 560 214 569]/Border[0 0 0]/H/N>> -endobj - -20189 0 obj -<>/P 12870 0 R/Type/Annot/A 37678 0 R/Subtype/Link/Rect[215 560 227 568]/Border[0 0 0]/H/N>> -endobj - -20190 0 obj -<>/P 12870 0 R/Type/Annot/A 29269 0 R/Subtype/Link/Rect[206 550 220 558]/Border[0 0 0]/H/N>> -endobj - -20191 0 obj -<>/P 12870 0 R/Type/Annot/A 29234 0 R/Subtype/Link/Rect[222 550 234 558]/Border[0 0 0]/H/N>> -endobj - -20192 0 obj -<>/P 12870 0 R/Type/Annot/A 37666 0 R/Subtype/Link/Rect[189 540 201 548]/Border[0 0 0]/H/N>> -endobj - -20193 0 obj -<>/P 12870 0 R/Type/Annot/A 29147 0 R/Subtype/Link/Rect[198 530 206 538]/Border[0 0 0]/H/N>> -endobj - -20194 0 obj -<>/P 12870 0 R/Type/Annot/A 20468 0 R/Subtype/Link/Rect[226 520 240 528]/Border[0 0 0]/H/N>> -endobj - -20195 0 obj -<>/P 12870 0 R/Type/Annot/A 37658 0 R/Subtype/Link/Rect[242 520 256 528]/Border[0 0 0]/H/N>> -endobj - -20196 0 obj -<>/P 12870 0 R/Type/Annot/A 37654 0 R/Subtype/Link/Rect[258 520 272 528]/Border[0 0 0]/H/N>> -endobj - -20197 0 obj -<>/P 12870 0 R/Type/Annot/A 33065 0 R/Subtype/Link/Rect[274 520 286 528]/Border[0 0 0]/H/N>> -endobj - -20198 0 obj -<>/P 12870 0 R/Type/Annot/A 37652 0 R/Subtype/Link/Rect[189 510 201 518]/Border[0 0 0]/H/N>> -endobj - -20199 0 obj -<>/P 12870 0 R/Type/Annot/A 37648 0 R/Subtype/Link/Rect[162 500 174 508]/Border[0 0 0]/H/N>> -endobj - -20200 0 obj -<>/P 12870 0 R/Type/Annot/A 32516 0 R/Subtype/Link/Rect[198 490 215 499]/Border[0 0 0]/H/N>> -endobj - -20201 0 obj -<>/P 12870 0 R/Type/Annot/A 21409 0 R/Subtype/Link/Rect[215 490 229 498]/Border[0 0 0]/H/N>> -endobj - -20202 0 obj -<>/P 12870 0 R/Type/Annot/A 21347 0 R/Subtype/Link/Rect[231 490 245 498]/Border[0 0 0]/H/N>> -endobj - -20203 0 obj -<>/P 12870 0 R/Type/Annot/A 37638 0 R/Subtype/Link/Rect[247 490 264 499]/Border[0 0 0]/H/N>> -endobj - -20204 0 obj -<>/P 12870 0 R/Type/Annot/A 20542 0 R/Subtype/Link/Rect[265 490 279 498]/Border[0 0 0]/H/N>> -endobj - -20205 0 obj -<>/P 12870 0 R/Type/Annot/A 20533 0 R/Subtype/Link/Rect[151 480 167 489]/Border[0 0 0]/H/N>> -endobj - -20206 0 obj -<>/P 12870 0 R/Type/Annot/A 20530 0 R/Subtype/Link/Rect[168 480 182 488]/Border[0 0 0]/H/N>> -endobj - -20207 0 obj -<>/P 12870 0 R/Type/Annot/A 20529 0 R/Subtype/Link/Rect[184 480 196 488]/Border[0 0 0]/H/N>> -endobj - -20208 0 obj -<>/P 12870 0 R/Type/Annot/A 20528 0 R/Subtype/Link/Rect[213 470 225 478]/Border[0 0 0]/H/N>> -endobj - -20209 0 obj -<>/P 12870 0 R/Type/Annot/A 20527 0 R/Subtype/Link/Rect[234 460 248 468]/Border[0 0 0]/H/N>> -endobj - -20210 0 obj -<>/P 12870 0 R/Type/Annot/A 20526 0 R/Subtype/Link/Rect[250 460 262 468]/Border[0 0 0]/H/N>> -endobj - -20211 0 obj -<>/P 12870 0 R/Type/Annot/A 20525 0 R/Subtype/Link/Rect[161 450 171 458]/Border[0 0 0]/H/N>> -endobj - -20212 0 obj -<>/P 12870 0 R/Type/Annot/A 20524 0 R/Subtype/Link/Rect[173 450 190 459]/Border[0 0 0]/H/N>> -endobj - -20213 0 obj -<>/P 12870 0 R/Type/Annot/A 20523 0 R/Subtype/Link/Rect[191 450 203 458]/Border[0 0 0]/H/N>> -endobj - -20214 0 obj -<>/P 12870 0 R/Type/Annot/A 20522 0 R/Subtype/Link/Rect[176 440 188 449]/Border[0 0 0]/H/N>> -endobj - -20215 0 obj -<>/P 12870 0 R/Type/Annot/A 20521 0 R/Subtype/Link/Rect[189 440 199 448]/Border[0 0 0]/H/N>> -endobj - -20216 0 obj -<>/P 12870 0 R/Type/Annot/A 20520 0 R/Subtype/Link/Rect[201 440 218 449]/Border[0 0 0]/H/N>> -endobj - -20217 0 obj -<>/P 12870 0 R/Type/Annot/A 20519 0 R/Subtype/Link/Rect[218 440 232 448]/Border[0 0 0]/H/N>> -endobj - -20218 0 obj -<>/P 12870 0 R/Type/Annot/A 20518 0 R/Subtype/Link/Rect[234 440 248 448]/Border[0 0 0]/H/N>> -endobj - -20219 0 obj -<>/P 12870 0 R/Type/Annot/A 20517 0 R/Subtype/Link/Rect[250 440 264 448]/Border[0 0 0]/H/N>> -endobj - -20220 0 obj -<>/P 12870 0 R/Type/Annot/A 20516 0 R/Subtype/Link/Rect[266 440 280 448]/Border[0 0 0]/H/N>> -endobj - -20221 0 obj -<>/P 12870 0 R/Type/Annot/A 20515 0 R/Subtype/Link/Rect[282 440 296 448]/Border[0 0 0]/H/N>> -endobj - -20222 0 obj -<>/P 12870 0 R/Type/Annot/A 20514 0 R/Subtype/Link/Rect[151 430 165 438]/Border[0 0 0]/H/N>> -endobj - -20223 0 obj -<>/P 12870 0 R/Type/Annot/A 20513 0 R/Subtype/Link/Rect[167 430 181 438]/Border[0 0 0]/H/N>> -endobj - -20224 0 obj -<>/P 12870 0 R/Type/Annot/A 20512 0 R/Subtype/Link/Rect[183 430 197 438]/Border[0 0 0]/H/N>> -endobj - -20225 0 obj -<>/P 12870 0 R/Type/Annot/A 20511 0 R/Subtype/Link/Rect[199 430 215 439]/Border[0 0 0]/H/N>> -endobj - -20226 0 obj -<>/P 12870 0 R/Type/Annot/A 20510 0 R/Subtype/Link/Rect[216 430 230 438]/Border[0 0 0]/H/N>> -endobj - -20227 0 obj -<>/P 12870 0 R/Type/Annot/A 20509 0 R/Subtype/Link/Rect[232 430 246 438]/Border[0 0 0]/H/N>> -endobj - -20228 0 obj -<>/P 12870 0 R/Type/Annot/A 20508 0 R/Subtype/Link/Rect[248 430 262 438]/Border[0 0 0]/H/N>> -endobj - -20229 0 obj -<>/P 12870 0 R/Type/Annot/A 20507 0 R/Subtype/Link/Rect[264 430 278 438]/Border[0 0 0]/H/N>> -endobj - -20230 0 obj -<>/P 12870 0 R/Type/Annot/A 20506 0 R/Subtype/Link/Rect[280 430 294 438]/Border[0 0 0]/H/N>> -endobj - -20231 0 obj -<>/P 12870 0 R/Type/Annot/A 20505 0 R/Subtype/Link/Rect[296 430 310 438]/Border[0 0 0]/H/N>> -endobj - -20232 0 obj -<>/P 12870 0 R/Type/Annot/A 20504 0 R/Subtype/Link/Rect[151 420 165 428]/Border[0 0 0]/H/N>> -endobj - -20233 0 obj -<>/P 12870 0 R/Type/Annot/A 20503 0 R/Subtype/Link/Rect[167 420 181 428]/Border[0 0 0]/H/N>> -endobj - -20234 0 obj -<>/P 12870 0 R/Type/Annot/A 20502 0 R/Subtype/Link/Rect[183 420 197 428]/Border[0 0 0]/H/N>> -endobj - -20235 0 obj -<>/P 12870 0 R/Type/Annot/A 20501 0 R/Subtype/Link/Rect[199 420 213 428]/Border[0 0 0]/H/N>> -endobj - -20236 0 obj -<>/P 12870 0 R/Type/Annot/A 20500 0 R/Subtype/Link/Rect[215 420 231 429]/Border[0 0 0]/H/N>> -endobj - -20237 0 obj -<>/P 12870 0 R/Type/Annot/A 20499 0 R/Subtype/Link/Rect[232 420 246 428]/Border[0 0 0]/H/N>> -endobj - -20238 0 obj -<>/P 12870 0 R/Type/Annot/A 20498 0 R/Subtype/Link/Rect[248 420 262 428]/Border[0 0 0]/H/N>> -endobj - -20239 0 obj -<>/P 12870 0 R/Type/Annot/A 20497 0 R/Subtype/Link/Rect[264 420 278 428]/Border[0 0 0]/H/N>> -endobj - -20240 0 obj -<>/P 12870 0 R/Type/Annot/A 20496 0 R/Subtype/Link/Rect[280 420 294 428]/Border[0 0 0]/H/N>> -endobj - -20241 0 obj -<>/P 12870 0 R/Type/Annot/A 20495 0 R/Subtype/Link/Rect[296 420 308 428]/Border[0 0 0]/H/N>> -endobj - -20242 0 obj -<>/P 12870 0 R/Type/Annot/A 20494 0 R/Subtype/Link/Rect[159 410 172 419]/Border[0 0 0]/H/N>> -endobj - -20243 0 obj -<>/P 12870 0 R/Type/Annot/A 20493 0 R/Subtype/Link/Rect[172 410 182 418]/Border[0 0 0]/H/N>> -endobj - -20244 0 obj -<>/P 12870 0 R/Type/Annot/A 20492 0 R/Subtype/Link/Rect[184 410 194 418]/Border[0 0 0]/H/N>> -endobj - -20245 0 obj -<>/P 12870 0 R/Type/Annot/A 20491 0 R/Subtype/Link/Rect[196 410 209 419]/Border[0 0 0]/H/N>> -endobj - -20246 0 obj -<>/P 12870 0 R/Type/Annot/A 20490 0 R/Subtype/Link/Rect[210 410 220 418]/Border[0 0 0]/H/N>> -endobj - -20247 0 obj -<>/P 12870 0 R/Type/Annot/A 20489 0 R/Subtype/Link/Rect[222 410 236 418]/Border[0 0 0]/H/N>> -endobj - -20248 0 obj -<>/P 12870 0 R/Type/Annot/A 20488 0 R/Subtype/Link/Rect[238 410 252 418]/Border[0 0 0]/H/N>> -endobj - -20249 0 obj -<>/P 12870 0 R/Type/Annot/A 20487 0 R/Subtype/Link/Rect[254 410 268 418]/Border[0 0 0]/H/N>> -endobj - -20250 0 obj -<>/P 12870 0 R/Type/Annot/A 20486 0 R/Subtype/Link/Rect[270 410 284 418]/Border[0 0 0]/H/N>> -endobj - -20251 0 obj -<>/P 12870 0 R/Type/Annot/A 20485 0 R/Subtype/Link/Rect[151 400 167 409]/Border[0 0 0]/H/N>> -endobj - -20252 0 obj -<>/P 12870 0 R/Type/Annot/A 20484 0 R/Subtype/Link/Rect[168 400 182 408]/Border[0 0 0]/H/N>> -endobj - -20253 0 obj -<>/P 12870 0 R/Type/Annot/A 20483 0 R/Subtype/Link/Rect[184 400 201 409]/Border[0 0 0]/H/N>> -endobj - -20254 0 obj -<>/P 12870 0 R/Type/Annot/A 20482 0 R/Subtype/Link/Rect[201 400 215 408]/Border[0 0 0]/H/N>> -endobj - -20255 0 obj -<>/P 12870 0 R/Type/Annot/A 20481 0 R/Subtype/Link/Rect[217 400 231 408]/Border[0 0 0]/H/N>> -endobj - -20256 0 obj -<>/P 12870 0 R/Type/Annot/A 20480 0 R/Subtype/Link/Rect[233 400 247 408]/Border[0 0 0]/H/N>> -endobj - -20257 0 obj -<>/P 12870 0 R/Type/Annot/A 20477 0 R/Subtype/Link/Rect[249 400 263 408]/Border[0 0 0]/H/N>> -endobj - -20258 0 obj -<>/P 12870 0 R/Type/Annot/A 20474 0 R/Subtype/Link/Rect[265 400 279 408]/Border[0 0 0]/H/N>> -endobj - -20259 0 obj -<>/P 12870 0 R/Type/Annot/A 20471 0 R/Subtype/Link/Rect[281 400 295 408]/Border[0 0 0]/H/N>> -endobj - -20260 0 obj -<>/P 12870 0 R/Type/Annot/A 20467 0 R/Subtype/Link/Rect[151 390 165 398]/Border[0 0 0]/H/N>> -endobj - -20261 0 obj -<>/P 12870 0 R/Type/Annot/A 20462 0 R/Subtype/Link/Rect[167 390 181 398]/Border[0 0 0]/H/N>> -endobj - -20262 0 obj -<>/P 12870 0 R/Type/Annot/A 20460 0 R/Subtype/Link/Rect[183 390 195 398]/Border[0 0 0]/H/N>> -endobj - -20263 0 obj -<>/P 12870 0 R/Type/Annot/A 20458 0 R/Subtype/Link/Rect[211 380 219 388]/Border[0 0 0]/H/N>> -endobj - -20264 0 obj -<>/P 12870 0 R/Type/Annot/A 20457 0 R/Subtype/Link/Rect[197 370 211 378]/Border[0 0 0]/H/N>> -endobj - -20265 0 obj -<>/P 12870 0 R/Type/Annot/A 20455 0 R/Subtype/Link/Rect[213 370 225 378]/Border[0 0 0]/H/N>> -endobj - -20266 0 obj -<>/P 12870 0 R/Type/Annot/A 20450 0 R/Subtype/Link/Rect[260 360 270 368]/Border[0 0 0]/H/N>> -endobj - -20267 0 obj -<>/P 12870 0 R/Type/Annot/A 20446 0 R/Subtype/Link/Rect[272 360 286 368]/Border[0 0 0]/H/N>> -endobj - -20268 0 obj -<>/P 12870 0 R/Type/Annot/A 20443 0 R/Subtype/Link/Rect[288 360 302 368]/Border[0 0 0]/H/N>> -endobj - -20269 0 obj -<>/P 12870 0 R/Type/Annot/A 20441 0 R/Subtype/Link/Rect[151 350 163 358]/Border[0 0 0]/H/N>> -endobj - -20270 0 obj -<>/P 12870 0 R/Type/Annot/A 20435 0 R/Subtype/Link/Rect[192 340 206 348]/Border[0 0 0]/H/N>> -endobj - -20271 0 obj -<>/P 12870 0 R/Type/Annot/A 20431 0 R/Subtype/Link/Rect[208 340 222 348]/Border[0 0 0]/H/N>> -endobj - -20272 0 obj -<>/P 12870 0 R/Type/Annot/A 20426 0 R/Subtype/Link/Rect[224 340 236 348]/Border[0 0 0]/H/N>> -endobj - -20273 0 obj -<>/P 12870 0 R/Type/Annot/A 20422 0 R/Subtype/Link/Rect[211 330 223 338]/Border[0 0 0]/H/N>> -endobj - -20274 0 obj -<>/P 12870 0 R/Type/Annot/A 20419 0 R/Subtype/Link/Rect[211 320 228 329]/Border[0 0 0]/H/N>> -endobj - -20275 0 obj -<>/P 12870 0 R/Type/Annot/A 20417 0 R/Subtype/Link/Rect[229 320 243 328]/Border[0 0 0]/H/N>> -endobj - -20276 0 obj -<>/P 12870 0 R/Type/Annot/A 20413 0 R/Subtype/Link/Rect[245 320 259 328]/Border[0 0 0]/H/N>> -endobj - -20277 0 obj -<>/P 12870 0 R/Type/Annot/A 20410 0 R/Subtype/Link/Rect[261 320 275 328]/Border[0 0 0]/H/N>> -endobj - -20278 0 obj -<>/P 12870 0 R/Type/Annot/A 20478 0 R/Subtype/Link/Rect[277 320 289 328]/Border[0 0 0]/H/N>> -endobj - -20279 0 obj -<>/P 12870 0 R/Type/Annot/A 44785 0 R/Subtype/Link/Rect[189 310 201 318]/Border[0 0 0]/H/N>> -endobj - -20280 0 obj -<>/P 12870 0 R/Type/Annot/A 20470 0 R/Subtype/Link/Rect[216 300 233 309]/Border[0 0 0]/H/N>> -endobj - -20281 0 obj -<>/P 12870 0 R/Type/Annot/A 44701 0 R/Subtype/Link/Rect[234 300 246 308]/Border[0 0 0]/H/N>> -endobj - -20282 0 obj -<>/P 12870 0 R/Type/Annot/A 44676 0 R/Subtype/Link/Rect[197 290 214 299]/Border[0 0 0]/H/N>> -endobj - -20283 0 obj -<>/P 12870 0 R/Type/Annot/A 44650 0 R/Subtype/Link/Rect[214 290 228 298]/Border[0 0 0]/H/N>> -endobj - -20284 0 obj -<>/P 12870 0 R/Type/Annot/A 44600 0 R/Subtype/Link/Rect[230 290 244 298]/Border[0 0 0]/H/N>> -endobj - -20285 0 obj -<>/P 12870 0 R/Type/Annot/A 20456 0 R/Subtype/Link/Rect[246 290 260 298]/Border[0 0 0]/H/N>> -endobj - -20286 0 obj -<>/P 12870 0 R/Type/Annot/A 20453 0 R/Subtype/Link/Rect[262 290 276 298]/Border[0 0 0]/H/N>> -endobj - -20287 0 obj -<>/P 12870 0 R/Type/Annot/A 44498 0 R/Subtype/Link/Rect[278 290 290 298]/Border[0 0 0]/H/N>> -endobj - -20288 0 obj -<>/P 12870 0 R/Type/Annot/A 44454 0 R/Subtype/Link/Rect[189 280 201 288]/Border[0 0 0]/H/N>> -endobj - -20289 0 obj -<>/P 12870 0 R/Type/Annot/A 44417 0 R/Subtype/Link/Rect[169 270 185 279]/Border[0 0 0]/H/N>> -endobj - -20290 0 obj -<>/P 12870 0 R/Type/Annot/A 20438 0 R/Subtype/Link/Rect[186 270 200 278]/Border[0 0 0]/H/N>> -endobj - -20291 0 obj -<>/P 12870 0 R/Type/Annot/A 20433 0 R/Subtype/Link/Rect[202 270 216 278]/Border[0 0 0]/H/N>> -endobj - -20292 0 obj -<>/P 12870 0 R/Type/Annot/A 44323 0 R/Subtype/Link/Rect[218 270 232 278]/Border[0 0 0]/H/N>> -endobj - -20293 0 obj -<>/P 12870 0 R/Type/Annot/A 44263 0 R/Subtype/Link/Rect[234 270 248 278]/Border[0 0 0]/H/N>> -endobj - -20294 0 obj -<>/P 12870 0 R/Type/Annot/A 44244 0 R/Subtype/Link/Rect[250 270 264 278]/Border[0 0 0]/H/N>> -endobj - -20295 0 obj -<>/P 12870 0 R/Type/Annot/A 20418 0 R/Subtype/Link/Rect[266 270 278 278]/Border[0 0 0]/H/N>> -endobj - -20296 0 obj -<>/P 12870 0 R/Type/Annot/A 44174 0 R/Subtype/Link/Rect[189 260 201 268]/Border[0 0 0]/H/N>> -endobj - -20297 0 obj -<>/P 12870 0 R/Type/Annot/A 44130 0 R/Subtype/Link/Rect[173 250 185 258]/Border[0 0 0]/H/N>> -endobj - -20298 0 obj -<>/P 12870 0 R/Type/Annot/A 44105 0 R/Subtype/Link/Rect[205 240 213 248]/Border[0 0 0]/H/N>> -endobj - -20299 0 obj -<>/P 12870 0 R/Type/Annot/A 20472 0 R/Subtype/Link/Rect[204 230 220 239]/Border[0 0 0]/H/N>> -endobj - -20300 0 obj -<>/P 12870 0 R/Type/Annot/A 44033 0 R/Subtype/Link/Rect[221 230 235 238]/Border[0 0 0]/H/N>> -endobj - -20301 0 obj -<>/P 12870 0 R/Type/Annot/A 20466 0 R/Subtype/Link/Rect[237 230 249 238]/Border[0 0 0]/H/N>> -endobj - -20302 0 obj -<>/P 12870 0 R/Type/Annot/A 43963 0 R/Subtype/Link/Rect[234 220 246 228]/Border[0 0 0]/H/N>> -endobj - -20303 0 obj -<>/P 12870 0 R/Type/Annot/A 20459 0 R/Subtype/Link/Rect[188 210 200 218]/Border[0 0 0]/H/N>> -endobj - -20304 0 obj -<>/P 12870 0 R/Type/Annot/A 43879 0 R/Subtype/Link/Rect[145 172 159 180]/Border[0 0 0]/H/N>> -endobj - -20305 0 obj -<>/P 12870 0 R/Type/Annot/A 43843 0 R/Subtype/Link/Rect[161 172 173 180]/Border[0 0 0]/H/N>> -endobj - -20306 0 obj -<>/P 12870 0 R/Type/Annot/A 20451 0 R/Subtype/Link/Rect[197 162 209 170]/Border[0 0 0]/H/N>> -endobj - -20307 0 obj -<>/P 12870 0 R/Type/Annot/A 20447 0 R/Subtype/Link/Rect[197 152 211 160]/Border[0 0 0]/H/N>> -endobj - -20308 0 obj -<>/P 12870 0 R/Type/Annot/A 43740 0 R/Subtype/Link/Rect[213 152 230 161]/Border[0 0 0]/H/N>> -endobj - -20309 0 obj -<>/P 12870 0 R/Type/Annot/A 43701 0 R/Subtype/Link/Rect[230 152 242 160]/Border[0 0 0]/H/N>> -endobj - -20310 0 obj -<>/P 12870 0 R/Type/Annot/A 20436 0 R/Subtype/Link/Rect[413 670 427 678]/Border[0 0 0]/H/N>> -endobj - -20311 0 obj -<>/P 12870 0 R/Type/Annot/A 20449 0 R/Subtype/Link/Rect[429 670 446 678]/Border[0 0 0]/H/N>> -endobj - -20312 0 obj -<>/P 12870 0 R/Type/Annot/A 20425 0 R/Subtype/Link/Rect[447 670 459 678]/Border[0 0 0]/H/N>> -endobj - -20313 0 obj -<>/P 12870 0 R/Type/Annot/A 20420 0 R/Subtype/Link/Rect[439 660 451 668]/Border[0 0 0]/H/N>> -endobj - -20314 0 obj -<>/P 12870 0 R/Type/Annot/A 43518 0 R/Subtype/Link/Rect[425 650 437 658]/Border[0 0 0]/H/N>> -endobj - -20315 0 obj -<>/P 12870 0 R/Type/Annot/A 20415 0 R/Subtype/Link/Rect[423 640 435 648]/Border[0 0 0]/H/N>> -endobj - -20316 0 obj -<>/P 12870 0 R/Type/Annot/A 20412 0 R/Subtype/Link/Rect[389 620 403 628]/Border[0 0 0]/H/N>> -endobj - -20317 0 obj -<>/P 12870 0 R/Type/Annot/A 20475 0 R/Subtype/Link/Rect[405 620 419 628]/Border[0 0 0]/H/N>> -endobj - -20318 0 obj -<>/P 12870 0 R/Type/Annot/A 43365 0 R/Subtype/Link/Rect[421 620 435 628]/Border[0 0 0]/H/N>> -endobj - -20319 0 obj -<>/P 12870 0 R/Type/Annot/A 20469 0 R/Subtype/Link/Rect[437 620 451 628]/Border[0 0 0]/H/N>> -endobj - -20320 0 obj -<>/P 12870 0 R/Type/Annot/A 20464 0 R/Subtype/Link/Rect[453 620 465 628]/Border[0 0 0]/H/N>> -endobj - -20321 0 obj -<>/P 12870 0 R/Type/Annot/A 43233 0 R/Subtype/Link/Rect[376 610 388 618]/Border[0 0 0]/H/N>> -endobj - -20322 0 obj -<>/P 12870 0 R/Type/Annot/A 43180 0 R/Subtype/Link/Rect[380 600 392 608]/Border[0 0 0]/H/N>> -endobj - -20323 0 obj -<>/P 12870 0 R/Type/Annot/A 43161 0 R/Subtype/Link/Rect[372 590 384 598]/Border[0 0 0]/H/N>> -endobj - -20324 0 obj -<>/P 12870 0 R/Type/Annot/A 20454 0 R/Subtype/Link/Rect[380 580 394 588]/Border[0 0 0]/H/N>> -endobj - -20325 0 obj -<>/P 12870 0 R/Type/Annot/A 20448 0 R/Subtype/Link/Rect[396 580 410 588]/Border[0 0 0]/H/N>> -endobj - -20326 0 obj -<>/P 12870 0 R/Type/Annot/A 20445 0 R/Subtype/Link/Rect[412 580 426 588]/Border[0 0 0]/H/N>> -endobj - -20327 0 obj -<>/P 12870 0 R/Type/Annot/A 20442 0 R/Subtype/Link/Rect[428 580 440 588]/Border[0 0 0]/H/N>> -endobj - -20328 0 obj -<>/P 12870 0 R/Type/Annot/A 20437 0 R/Subtype/Link/Rect[463 570 475 578]/Border[0 0 0]/H/N>> -endobj - -20329 0 obj -<>/P 12870 0 R/Type/Annot/A 20432 0 R/Subtype/Link/Rect[420 560 432 568]/Border[0 0 0]/H/N>> -endobj - -20330 0 obj -<>/P 12870 0 R/Type/Annot/A 20427 0 R/Subtype/Link/Rect[420 550 432 558]/Border[0 0 0]/H/N>> -endobj - -20331 0 obj -<>/P 12870 0 R/Type/Annot/A 20423 0 R/Subtype/Link/Rect[414 540 428 548]/Border[0 0 0]/H/N>> -endobj - -20332 0 obj -<>/P 12870 0 R/Type/Annot/A 42827 0 R/Subtype/Link/Rect[430 540 447 549]/Border[0 0 0]/H/N>> -endobj - -20333 0 obj -<>/P 12870 0 R/Type/Annot/A 42777 0 R/Subtype/Link/Rect[448 540 460 548]/Border[0 0 0]/H/N>> -endobj - -20334 0 obj -<>/P 12870 0 R/Type/Annot/A 42748 0 R/Subtype/Link/Rect[415 530 427 538]/Border[0 0 0]/H/N>> -endobj - -20335 0 obj -<>/P 12870 0 R/Type/Annot/A 20473 0 R/Subtype/Link/Rect[414 520 428 528]/Border[0 0 0]/H/N>> -endobj - -20336 0 obj -<>/P 12870 0 R/Type/Annot/A 42678 0 R/Subtype/Link/Rect[430 520 442 528]/Border[0 0 0]/H/N>> -endobj - -20337 0 obj -<>/P 12870 0 R/Type/Annot/A 42636 0 R/Subtype/Link/Rect[397 510 409 518]/Border[0 0 0]/H/N>> -endobj - -20338 0 obj -<>/P 12870 0 R/Type/Annot/A 20461 0 R/Subtype/Link/Rect[405 500 417 508]/Border[0 0 0]/H/N>> -endobj - -20339 0 obj -<>/P 12870 0 R/Type/Annot/A 42567 0 R/Subtype/Link/Rect[395 490 412 499]/Border[0 0 0]/H/N>> -endobj - -20340 0 obj -<>/P 12870 0 R/Type/Annot/A 42533 0 R/Subtype/Link/Rect[413 490 427 498]/Border[0 0 0]/H/N>> -endobj - -20341 0 obj -<>/P 12870 0 R/Type/Annot/A 42492 0 R/Subtype/Link/Rect[429 490 441 498]/Border[0 0 0]/H/N>> -endobj - -20342 0 obj -<>/P 12870 0 R/Type/Annot/A 42452 0 R/Subtype/Link/Rect[395 480 409 488]/Border[0 0 0]/H/N>> -endobj - -20343 0 obj -<>/P 12870 0 R/Type/Annot/A 20416 0 R/Subtype/Link/Rect[411 480 423 488]/Border[0 0 0]/H/N>> -endobj - -20344 0 obj -<>/P 12870 0 R/Type/Annot/A 42374 0 R/Subtype/Link/Rect[400 470 412 478]/Border[0 0 0]/H/N>> -endobj - -20345 0 obj -<>/P 12870 0 R/Type/Annot/A 20439 0 R/Subtype/Link/Rect[405 460 417 468]/Border[0 0 0]/H/N>> -endobj - -20346 0 obj -<>/P 12870 0 R/Type/Annot/A 42302 0 R/Subtype/Link/Rect[410 450 422 458]/Border[0 0 0]/H/N>> -endobj - -20347 0 obj -<>/P 12870 0 R/Type/Annot/A 42250 0 R/Subtype/Link/Rect[400 440 414 448]/Border[0 0 0]/H/N>> -endobj - -20348 0 obj -<>/P 12870 0 R/Type/Annot/A 20424 0 R/Subtype/Link/Rect[416 440 433 449]/Border[0 0 0]/H/N>> -endobj - -20349 0 obj -<>/P 12870 0 R/Type/Annot/A 42164 0 R/Subtype/Link/Rect[433 440 447 448]/Border[0 0 0]/H/N>> -endobj - -20350 0 obj -<>/P 12870 0 R/Type/Annot/A 42129 0 R/Subtype/Link/Rect[449 440 463 448]/Border[0 0 0]/H/N>> -endobj - -20351 0 obj -<>/P 12870 0 R/Type/Annot/A 42083 0 R/Subtype/Link/Rect[465 440 482 449]/Border[0 0 0]/H/N>> -endobj - -20352 0 obj -<>/P 12870 0 R/Type/Annot/A 42043 0 R/Subtype/Link/Rect[483 440 495 448]/Border[0 0 0]/H/N>> -endobj - -20353 0 obj -<>/P 12870 0 R/Type/Annot/A 41999 0 R/Subtype/Link/Rect[414 430 428 438]/Border[0 0 0]/H/N>> -endobj - -20354 0 obj -<>/P 12870 0 R/Type/Annot/A 20465 0 R/Subtype/Link/Rect[430 430 442 438]/Border[0 0 0]/H/N>> -endobj - -20355 0 obj -<>/P 12870 0 R/Type/Annot/A 41932 0 R/Subtype/Link/Rect[397 420 409 428]/Border[0 0 0]/H/N>> -endobj - -20356 0 obj -<>/P 12870 0 R/Type/Annot/A 41891 0 R/Subtype/Link/Rect[410 410 422 418]/Border[0 0 0]/H/N>> -endobj - -20357 0 obj -<>/P 12870 0 R/Type/Annot/A 42585 0 R/Subtype/Link/Rect[397 400 409 408]/Border[0 0 0]/H/N>> -endobj - -20358 0 obj -<>/P 12870 0 R/Type/Annot/A 41786 0 R/Subtype/Link/Rect[419 390 431 398]/Border[0 0 0]/H/N>> -endobj - -20359 0 obj -<>/P 12870 0 R/Type/Annot/A 41736 0 R/Subtype/Link/Rect[387 380 401 388]/Border[0 0 0]/H/N>> -endobj - -20360 0 obj -<>/P 12870 0 R/Type/Annot/A 20444 0 R/Subtype/Link/Rect[403 380 417 388]/Border[0 0 0]/H/N>> -endobj - -20361 0 obj -<>/P 12870 0 R/Type/Annot/A 41647 0 R/Subtype/Link/Rect[419 380 433 388]/Border[0 0 0]/H/N>> -endobj - -20362 0 obj -<>/P 12870 0 R/Type/Annot/A 41602 0 R/Subtype/Link/Rect[435 380 449 388]/Border[0 0 0]/H/N>> -endobj - -20363 0 obj -<>/P 12870 0 R/Type/Annot/A 20429 0 R/Subtype/Link/Rect[451 380 467 389]/Border[0 0 0]/H/N>> -endobj - -20364 0 obj -<>/P 12870 0 R/Type/Annot/A 41518 0 R/Subtype/Link/Rect[468 380 482 388]/Border[0 0 0]/H/N>> -endobj - -20365 0 obj -<>/P 12870 0 R/Type/Annot/A 41471 0 R/Subtype/Link/Rect[484 380 496 388]/Border[0 0 0]/H/N>> -endobj - -20366 0 obj -<>/P 12870 0 R/Type/Annot/A 41438 0 R/Subtype/Link/Rect[400 370 417 379]/Border[0 0 0]/H/N>> -endobj - -20367 0 obj -<>/P 12870 0 R/Type/Annot/A 20414 0 R/Subtype/Link/Rect[418 370 430 378]/Border[0 0 0]/H/N>> -endobj - -20368 0 obj -<>/P 12870 0 R/Type/Annot/A 41354 0 R/Subtype/Link/Rect[396 360 408 368]/Border[0 0 0]/H/N>> -endobj - -20369 0 obj -<>/P 12870 0 R/Type/Annot/A 41323 0 R/Subtype/Link/Rect[400 350 412 358]/Border[0 0 0]/H/N>> -endobj - -20370 0 obj -<>/P 12870 0 R/Type/Annot/A 41286 0 R/Subtype/Link/Rect[405 340 417 348]/Border[0 0 0]/H/N>> -endobj - -20371 0 obj -<>/P 12870 0 R/Type/Annot/A 41261 0 R/Subtype/Link/Rect[395 330 412 339]/Border[0 0 0]/H/N>> -endobj - -20372 0 obj -<>/P 12870 0 R/Type/Annot/A 41212 0 R/Subtype/Link/Rect[413 330 427 338]/Border[0 0 0]/H/N>> -endobj - -20373 0 obj -<>/P 12870 0 R/Type/Annot/A 43324 0 R/Subtype/Link/Rect[429 330 441 338]/Border[0 0 0]/H/N>> -endobj - -20374 0 obj -<>/P 12870 0 R/Type/Annot/A 41161 0 R/Subtype/Link/Rect[368 320 381 329]/Border[0 0 0]/H/N>> -endobj - -20375 0 obj -<>/P 12870 0 R/Type/Annot/A 41129 0 R/Subtype/Link/Rect[381 320 391 328]/Border[0 0 0]/H/N>> -endobj - -20376 0 obj -<>/P 12870 0 R/Type/Annot/A 41098 0 R/Subtype/Link/Rect[393 320 403 328]/Border[0 0 0]/H/N>> -endobj - -20377 0 obj -<>/P 12870 0 R/Type/Annot/A 41051 0 R/Subtype/Link/Rect[405 320 419 328]/Border[0 0 0]/H/N>> -endobj - -20378 0 obj -<>/P 12870 0 R/Type/Annot/A 40743 0 R/Subtype/Link/Rect[421 320 435 328]/Border[0 0 0]/H/N>> -endobj - -20379 0 obj -<>/P 12870 0 R/Type/Annot/A 40711 0 R/Subtype/Link/Rect[437 320 451 328]/Border[0 0 0]/H/N>> -endobj - -20380 0 obj -<>/P 12870 0 R/Type/Annot/A 40678 0 R/Subtype/Link/Rect[453 320 467 328]/Border[0 0 0]/H/N>> -endobj - -20381 0 obj -<>/P 12870 0 R/Type/Annot/A 40113 0 R/Subtype/Link/Rect[469 320 481 328]/Border[0 0 0]/H/N>> -endobj - -20382 0 obj -<>/P 12870 0 R/Type/Annot/A 40085 0 R/Subtype/Link/Rect[402 310 418 319]/Border[0 0 0]/H/N>> -endobj - -20383 0 obj -<>/P 12870 0 R/Type/Annot/A 39527 0 R/Subtype/Link/Rect[419 310 431 318]/Border[0 0 0]/H/N>> -endobj - -20384 0 obj -<>/P 12870 0 R/Type/Annot/A 39490 0 R/Subtype/Link/Rect[372 300 386 308]/Border[0 0 0]/H/N>> -endobj - -20385 0 obj -<>/P 12870 0 R/Type/Annot/A 38969 0 R/Subtype/Link/Rect[388 300 402 308]/Border[0 0 0]/H/N>> -endobj - -20386 0 obj -<>/P 12870 0 R/Type/Annot/A 38925 0 R/Subtype/Link/Rect[404 300 421 309]/Border[0 0 0]/H/N>> -endobj - -20387 0 obj -<>/P 12870 0 R/Type/Annot/A 38393 0 R/Subtype/Link/Rect[421 300 435 308]/Border[0 0 0]/H/N>> -endobj - -20388 0 obj -<>/P 12870 0 R/Type/Annot/A 38343 0 R/Subtype/Link/Rect[437 300 449 308]/Border[0 0 0]/H/N>> -endobj - -20389 0 obj -<>/P 12870 0 R/Type/Annot/A 41969 0 R/Subtype/Link/Rect[403 290 417 298]/Border[0 0 0]/H/N>> -endobj - -20390 0 obj -<>/P 12870 0 R/Type/Annot/A 38276 0 R/Subtype/Link/Rect[419 290 433 298]/Border[0 0 0]/H/N>> -endobj - -20391 0 obj -<>/P 12870 0 R/Type/Annot/A 38245 0 R/Subtype/Link/Rect[435 290 449 298]/Border[0 0 0]/H/N>> -endobj - -20392 0 obj -<>/P 12870 0 R/Type/Annot/A 36791 0 R/Subtype/Link/Rect[451 290 463 298]/Border[0 0 0]/H/N>> -endobj - -20393 0 obj -<>/P 12870 0 R/Type/Annot/A 38214 0 R/Subtype/Link/Rect[410 280 424 288]/Border[0 0 0]/H/N>> -endobj - -20394 0 obj -<>/P 12870 0 R/Type/Annot/A 38206 0 R/Subtype/Link/Rect[426 280 438 288]/Border[0 0 0]/H/N>> -endobj - -20395 0 obj -<>/P 12870 0 R/Type/Annot/A 36688 0 R/Subtype/Link/Rect[397 270 409 278]/Border[0 0 0]/H/N>> -endobj - -20396 0 obj -<>/P 12870 0 R/Type/Annot/A 38176 0 R/Subtype/Link/Rect[400 260 412 268]/Border[0 0 0]/H/N>> -endobj - -20397 0 obj -<>/P 12870 0 R/Type/Annot/A 35856 0 R/Subtype/Link/Rect[400 250 412 258]/Border[0 0 0]/H/N>> -endobj - -20398 0 obj -<>/P 12870 0 R/Type/Annot/A 38152 0 R/Subtype/Link/Rect[415 240 427 248]/Border[0 0 0]/H/N>> -endobj - -20399 0 obj -<>/P 12870 0 R/Type/Annot/A 35048 0 R/Subtype/Link/Rect[405 230 417 238]/Border[0 0 0]/H/N>> -endobj - -20400 0 obj -<>/P 12870 0 R/Type/Annot/A 34259 0 R/Subtype/Link/Rect[397 220 409 228]/Border[0 0 0]/H/N>> -endobj - -20401 0 obj -<>/P 12870 0 R/Type/Annot/A 34227 0 R/Subtype/Link/Rect[419 210 433 218]/Border[0 0 0]/H/N>> -endobj - -20402 0 obj -<>/P 12870 0 R/Type/Annot/A 34188 0 R/Subtype/Link/Rect[435 210 447 218]/Border[0 0 0]/H/N>> -endobj - -20403 0 obj -<>/P 12870 0 R/Type/Annot/A 33629 0 R/Subtype/Link/Rect[397 200 409 208]/Border[0 0 0]/H/N>> -endobj - -20404 0 obj -<>/P 12870 0 R/Type/Annot/A 33601 0 R/Subtype/Link/Rect[414 190 428 198]/Border[0 0 0]/H/N>> -endobj - -20405 0 obj -<>/P 12870 0 R/Type/Annot/A 33064 0 R/Subtype/Link/Rect[430 190 442 198]/Border[0 0 0]/H/N>> -endobj - -20406 0 obj -<>/P 12870 0 R/Type/Annot/A 33039 0 R/Subtype/Link/Rect[397 180 409 188]/Border[0 0 0]/H/N>> -endobj - -20407 0 obj -<>/P 12870 0 R/Type/Annot/A 20430 0 R/Subtype/Link/Rect[410 170 422 178]/Border[0 0 0]/H/N>> -endobj - -20408 0 obj -<>/P 12870 0 R/Type/Annot/A 38244 0 R/Subtype/Link/Rect[397 160 409 168]/Border[0 0 0]/H/N>> -endobj - -20409 0 obj -<>/P 12870 0 R/Type/Annot/A 36789 0 R/Subtype/Link/Rect[405 150 417 158]/Border[0 0 0]/H/N>> -endobj - -20410 0 obj -<> -endobj - -20411 0 obj -<> -endobj - -20412 0 obj -<> -endobj - -20413 0 obj -<> -endobj - -20414 0 obj -<> -endobj - -20415 0 obj -<> -endobj - -20416 0 obj -<> -endobj - -20417 0 obj -<> -endobj - -20418 0 obj -<> -endobj - -20419 0 obj -<> -endobj - -20420 0 obj -<> -endobj - -20421 0 obj -<> -endobj - -20422 0 obj -<> -endobj - -20423 0 obj -<> -endobj - -20424 0 obj -<> -endobj - -20425 0 obj -<> -endobj - -20426 0 obj -<> -endobj - -20427 0 obj -<> -endobj - -20428 0 obj -<> -endobj - -20429 0 obj -<> -endobj - -20430 0 obj -<> -endobj - -20431 0 obj -<> -endobj - -20432 0 obj -<> -endobj - -20433 0 obj -<> -endobj - -20434 0 obj -<> -endobj - -20435 0 obj -<> -endobj - -20436 0 obj -<> -endobj - -20437 0 obj -<> -endobj - -20438 0 obj -<> -endobj - -20439 0 obj -<> -endobj - -20440 0 obj -<> -endobj - -20441 0 obj -<> -endobj - -20442 0 obj -<> -endobj - -20443 0 obj -<> -endobj - -20444 0 obj -<> -endobj - -20445 0 obj -<> -endobj - -20446 0 obj -<> -endobj - -20447 0 obj -<> -endobj - -20448 0 obj -<> -endobj - -20449 0 obj -<> -endobj - -20450 0 obj -<> -endobj - -20451 0 obj -<> -endobj - -20452 0 obj -<> -endobj - -20453 0 obj -<> -endobj - -20454 0 obj -<> -endobj - -20455 0 obj -<> -endobj - -20456 0 obj -<> -endobj - -20457 0 obj -<> -endobj - -20458 0 obj -<> -endobj - -20459 0 obj -<> -endobj - -20460 0 obj -<> -endobj - -20461 0 obj -<> -endobj - -20462 0 obj -<> -endobj - -20463 0 obj -<> -endobj - -20464 0 obj -<> -endobj - -20465 0 obj -<> -endobj - -20466 0 obj -<> -endobj - -20467 0 obj -<> -endobj - -20468 0 obj -<> -endobj - -20469 0 obj -<> -endobj - -20470 0 obj -<> -endobj - -20471 0 obj -<> -endobj - -20472 0 obj -<> -endobj - -20473 0 obj -<> -endobj - -20474 0 obj -<> -endobj - -20475 0 obj -<> -endobj - -20476 0 obj -<> -endobj - -20477 0 obj -<> -endobj - -20478 0 obj -<> -endobj - -20479 0 obj -<> -endobj - -20480 0 obj -<> -endobj - -20481 0 obj -<> -endobj - -20482 0 obj -<> -endobj - -20483 0 obj -<> -endobj - -20484 0 obj -<> -endobj - -20485 0 obj -<> -endobj - -20486 0 obj -<> -endobj - -20487 0 obj -<> -endobj - -20488 0 obj -<> -endobj - -20489 0 obj -<> -endobj - -20490 0 obj -<> -endobj - -20491 0 obj -<> -endobj - -20492 0 obj -<> -endobj - -20493 0 obj -<> -endobj - -20494 0 obj -<> -endobj - -20495 0 obj -<> -endobj - -20496 0 obj -<> -endobj - -20497 0 obj -<> -endobj - -20498 0 obj -<> -endobj - -20499 0 obj -<> -endobj - -20500 0 obj -<> -endobj - -20501 0 obj -<> -endobj - -20502 0 obj -<> -endobj - -20503 0 obj -<> -endobj - -20504 0 obj -<> -endobj - -20505 0 obj -<> -endobj - -20506 0 obj -<> -endobj - -20507 0 obj -<> -endobj - -20508 0 obj -<> -endobj - -20509 0 obj -<> -endobj - -20510 0 obj -<> -endobj - -20511 0 obj -<> -endobj - -20512 0 obj -<> -endobj - -20513 0 obj -<> -endobj - -20514 0 obj -<> -endobj - -20515 0 obj -<> -endobj - -20516 0 obj -<> -endobj - -20517 0 obj -<> -endobj - -20518 0 obj -<> -endobj - -20519 0 obj -<> -endobj - -20520 0 obj -<> -endobj - -20521 0 obj -<> -endobj - -20522 0 obj -<> -endobj - -20523 0 obj -<> -endobj - -20524 0 obj -<> -endobj - -20525 0 obj -<> -endobj - -20526 0 obj -<> -endobj - -20527 0 obj -<> -endobj - -20528 0 obj -<> -endobj - -20529 0 obj -<> -endobj - -20530 0 obj -<> -endobj - -20531 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -20532 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -20533 0 obj -<> -endobj - -20534 0 obj -<> -endobj - -20535 0 obj -<> -endobj - -20536 0 obj -<> -endobj - -20537 0 obj -<> -endobj - -20538 0 obj -<> -endobj - -20539 0 obj -<> -endobj - -20540 0 obj -<> -endobj - -20541 0 obj -<> -endobj - -20542 0 obj -<> -endobj - -20543 0 obj -<> -endobj - -20544 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -20545 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -20546 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -20547 0 obj -<> -stream -HWn8}W$,t&lT$zvE_}Uͮi۪$m\O]r\m='l$'9$i> ߫\A'azS}O>Cg ays}f)"Z׶ZצQ>{(DM|M| Pj]F!=2DMjZ(DMjZצQ{O QkZצQ{O Qk(Zֵ -Qk(ZֵiS-CTGT4gֵi޵i޵ -Qk(ZֵiS-GTֵiS-GT4 -a節#umBT4 -a節#umTպ6@!umTպ6B{j]>j]F]պ6ٻ6ٻ6@!umT+պ6B{j]պ6B{j]F!= -D Pj]F!= -DMjZ(DMjZצQ{OQkQk(kZצQ>{צQ><\->x 6J6>QB$'}^]U|FxDDfpj^Y4 \<,TNսCh|(N/gsEP9c5'o1e x| -K(\xyңbA_,YdIuվal_[}]4taccUE O -ks,✭qca܆0'GԨ,[ (N0 Iân'ڎV;e;}᷃j =S==5 ުlЅU\&|{?7gYqR۳ G"s6xI<fl6Van֏fN^f4J$_}<֥A<$XjBM/=4CNtG*$SNO)_r8錻 6:o6w `0y:%6;vhw9:"UX B}4Ñn1K8rW0u隽dz]7R]>}14V:-찪;@,ʡP'gQ4$Tl@2jXMG^]Ȕgɲj]`cUM{Ab}> t.9mjfnrcptd.6ն7"7EH|I:Fӂuj𶻴=;P~Cz=t9/uBfWas -]lQܫ6[qZ C^٦0Ll2&ɔRLD݅pUg4/ߌ:֒uƲ}QȽ -;N 9bx-bPUC1Lif8f!]fdq.+TSZN0͠8ݱ) j5oʶG˜ etb(Td XFVя;g (ܓdC~~)UC$O-$*-CP#ZtXUgr}5D]l$o:SvoJq*cF^-^05u'&1O5cc9r,SA&z*@/N$RR pqrhEwr Y,Wq_kőT*3\w`no<5>8 9fDt&84{:%7ϳcnqBs -59'+J/18~V/WF\Z&au2oan+~w \ =1){$}jjrQ( Et&=%3A=C4鿧⹨r (me~O Ʃ&-w .l,S)~L+R? ѸJ2#SUӀoa|; Z3& !]ӵ1tϘk(c -|aOl(IɽuDfVL v? -D7\}{Pxbi5`DznJk!^BNtO뗦DsB0 B+Uw{={nۊt\TafApdx6gP_[Y ZB -\^/J1sqDIdx3h`3ȣH9h<:׊u%\9:{isc}J=AR ۺ6@J,[Дk6]ـ:d:or{CnaM3  {+ wov gk <5`tÜ~=;!``<11?|LO>WB#uinTM&Z>9.-&U,dA)X2-+˧ءSZLެ>% ocnendstream -endobj - -20548 0 obj -<>/P 506 0 R/Type/Annot/A 20549 0 R/Subtype/Link/Rect[93.5997009 289.628998 278.687012 309.308014]/Border[0 0 0]/H/N>> -endobj - -20549 0 obj -<> -endobj - -20550 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -20551 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -20552 0 obj -<> -endobj - -20553 0 obj -<> -endobj - -20554 0 obj -<> -endobj - -20555 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -20556 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -20557 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -20558 0 obj -<> -stream -HWێ8}W(_avf'>d V'Nv~d"xTuXS,>sy8?_׬ϟUjPv1F6ZԇwXj͗~la/Ez/y<a=-sb[]yî:ø _w"_,*vĄ-p֜/~7ui_mp_N1>Ù@ Qy(sTbC&P)ws P`/2`/2`/3`/3`/3`2`2`3`3`3`o2`o2`o3`o3`o3`2`2`3`iMmJMm٧6@Mm٧6DSզ6D3 -B QLPmjԆ(}ZA6!`VMm"TET+զ6D3 -B PjSjԆ(}ZA6m+I6!*gE6!*gOm"TET+ զ6D3JB PjSj%Ԇ(}ZI6PmjC>S$TET+ զ6@Mm"gjSj%ԶԆ}jԆ}jCT>PmjC>S"TETզ6@Mm"gUjSj(B QLPmjC>S"TE6!`VMm"gUjS۶҄jSr PjSr Q9{xU࿫mtQ=^,x]:㶺zd^/>kLp}XY6˷#ؕZ_M6SQ8G=#7owF׋Uԍ2"olAM8Ş`y:Pp<\ϫC>:kG7#j pzXxu!eMtnMm$'f\ b]!#\͹2 -27p_fnPW(]]WSeq)LۛQEXtfRaT^ؾ l腏 ^`2uq&n6Hߝ;6ej7F5+! +=g0ISgPJ u;@sYL 1@r=>D"츳>FIU >q%NLuLܸ8B46ʆ^8rڿR#j\B<3Op QetGIb5уrkEsKܚªq)nzV!a/]%&)B-:~I;c6~8HL$X0.,^6Pz!N&^$9S+Ogn}V C/<@eƕ8#,ZT!kf v\ϻC[n\o.oo" [דa=;PrXO9pvdʉĀ=HL!)FL8'c - -@dqD'6;Cza(Ǔ?bv+e}m$5I_DМ]r=(*t>a/ }a/fnͻ #XK.xg\ѤE/^-pa[wXl-!Ơ,bE-]g< CwJD]QrvgO6Fމ}О6kf.PnT)5sC83 Wztx25ôBLy8 -yd3(s6R4c/bcT=(~ ]j x0샕lj*1.غC{۵Jnln_@S+ub`_I1OFq(KGC͸ԡ]5t )RX)ꉻanȽƗa,p>3xMlzţp̆ -&naܩHD{P ]jΩlǛfPgK>1c(9S. rя|vܪD䒩ԪxUME {3nv[l춦^a[,NYô J+XtC/|f}Ið>qFt0q6/v.FFy=e0T>+)1b'0s?fO¾4z06;^'Ϧn<;Ao'F&Pίzjכp1c/5v%4#4/~g*_&3m}#7I%=ب5DCoq93O})#>V1U6N(ڃ }-LA3ݷY @6-asl7+7\ёS%rf;peHUkO"xB/t QbȦ;y`+;U -Cir3*k=s3@6z'BQpf'J\nD/f\dt0;B쓩dN߳}2#FQNm9GyQ0ɞ,gfo߯>/ 3&'WU<]!Bh/z[!83&'l㬰1.G0%sW/Kym~ƇA-z]V"i7+mPw(Rҽ,<?~G3{PQ'o+Ψ`$e,%ƒOA?k!8x*WKv}-jdxg粹\>]=~8CFrn >×on1*C꼖9Hpـe]ΡZӰrwr"9P2(L0r |쁼Д -g]ͨ, Z֢9u="jPJ:k>J7:n8V[:CnS1 br,2)dO"&'p8V9m@N$L;X]{pctCM2cĄ7E7endstream -endobj - -20559 0 obj -<>/P 3210 0 R/Type/Annot/A 20981 0 R/Subtype/Link/Rect[248 669 260 678]/Border[0 0 0]/H/N>> -endobj - -20560 0 obj -<>/P 3210 0 R/Type/Annot/A 20977 0 R/Subtype/Link/Rect[171 659 185 668]/Border[0 0 0]/H/N>> -endobj - -20561 0 obj -<>/P 3210 0 R/Type/Annot/A 20971 0 R/Subtype/Link/Rect[187 659 199 668]/Border[0 0 0]/H/N>> -endobj - -20562 0 obj -<>/P 3210 0 R/Type/Annot/A 28345 0 R/Subtype/Link/Rect[180 649 197 659]/Border[0 0 0]/H/N>> -endobj - -20563 0 obj -<>/P 3210 0 R/Type/Annot/A 20907 0 R/Subtype/Link/Rect[197 649 211 658]/Border[0 0 0]/H/N>> -endobj - -20564 0 obj -<>/P 3210 0 R/Type/Annot/A 20960 0 R/Subtype/Link/Rect[213 649 230 659]/Border[0 0 0]/H/N>> -endobj - -20565 0 obj -<>/P 3210 0 R/Type/Annot/A 20956 0 R/Subtype/Link/Rect[231 649 245 658]/Border[0 0 0]/H/N>> -endobj - -20566 0 obj -<>/P 3210 0 R/Type/Annot/A 20953 0 R/Subtype/Link/Rect[247 649 263 659]/Border[0 0 0]/H/N>> -endobj - -20567 0 obj -<>/P 3210 0 R/Type/Annot/A 26511 0 R/Subtype/Link/Rect[264 649 278 658]/Border[0 0 0]/H/N>> -endobj - -20568 0 obj -<>/P 3210 0 R/Type/Annot/A 20946 0 R/Subtype/Link/Rect[280 649 294 658]/Border[0 0 0]/H/N>> -endobj - -20569 0 obj -<>/P 3210 0 R/Type/Annot/A 20941 0 R/Subtype/Link/Rect[296 649 310 658]/Border[0 0 0]/H/N>> -endobj - -20570 0 obj -<>/P 3210 0 R/Type/Annot/A 25906 0 R/Subtype/Link/Rect[151 639 163 648]/Border[0 0 0]/H/N>> -endobj - -20571 0 obj -<>/P 3210 0 R/Type/Annot/A 25871 0 R/Subtype/Link/Rect[212 629 226 638]/Border[0 0 0]/H/N>> -endobj - -20572 0 obj -<>/P 3210 0 R/Type/Annot/A 20993 0 R/Subtype/Link/Rect[228 629 244 639]/Border[0 0 0]/H/N>> -endobj - -20573 0 obj -<>/P 3210 0 R/Type/Annot/A 20986 0 R/Subtype/Link/Rect[245 629 257 638]/Border[0 0 0]/H/N>> -endobj - -20574 0 obj -<>/P 3210 0 R/Type/Annot/A 20982 0 R/Subtype/Link/Rect[190 619 202 628]/Border[0 0 0]/H/N>> -endobj - -20575 0 obj -<>/P 3210 0 R/Type/Annot/A 24921 0 R/Subtype/Link/Rect[207 609 221 618]/Border[0 0 0]/H/N>> -endobj - -20576 0 obj -<>/P 3210 0 R/Type/Annot/A 20973 0 R/Subtype/Link/Rect[223 609 237 618]/Border[0 0 0]/H/N>> -endobj - -20577 0 obj -<>/P 3210 0 R/Type/Annot/A 24259 0 R/Subtype/Link/Rect[239 609 253 618]/Border[0 0 0]/H/N>> -endobj - -20578 0 obj -<>/P 3210 0 R/Type/Annot/A 20965 0 R/Subtype/Link/Rect[255 609 267 618]/Border[0 0 0]/H/N>> -endobj - -20579 0 obj -<>/P 3210 0 R/Type/Annot/A 20962 0 R/Subtype/Link/Rect[190 599 204 608]/Border[0 0 0]/H/N>> -endobj - -20580 0 obj -<>/P 3210 0 R/Type/Annot/A 23353 0 R/Subtype/Link/Rect[206 599 218 608]/Border[0 0 0]/H/N>> -endobj - -20581 0 obj -<>/P 3210 0 R/Type/Annot/A 22626 0 R/Subtype/Link/Rect[212 589 226 598]/Border[0 0 0]/H/N>> -endobj - -20582 0 obj -<>/P 3210 0 R/Type/Annot/A 22587 0 R/Subtype/Link/Rect[228 589 242 598]/Border[0 0 0]/H/N>> -endobj - -20583 0 obj -<>/P 3210 0 R/Type/Annot/A 20948 0 R/Subtype/Link/Rect[244 589 258 598]/Border[0 0 0]/H/N>> -endobj - -20584 0 obj -<>/P 3210 0 R/Type/Annot/A 20943 0 R/Subtype/Link/Rect[260 589 276 599]/Border[0 0 0]/H/N>> -endobj - -20585 0 obj -<>/P 3210 0 R/Type/Annot/A 20937 0 R/Subtype/Link/Rect[277 589 291 598]/Border[0 0 0]/H/N>> -endobj - -20586 0 obj -<>/P 3210 0 R/Type/Annot/A 21354 0 R/Subtype/Link/Rect[293 589 307 598]/Border[0 0 0]/H/N>> -endobj - -20587 0 obj -<>/P 3210 0 R/Type/Annot/A 20933 0 R/Subtype/Link/Rect[151 579 163 588]/Border[0 0 0]/H/N>> -endobj - -20588 0 obj -<>/P 3210 0 R/Type/Annot/A 20992 0 R/Subtype/Link/Rect[190 569 204 578]/Border[0 0 0]/H/N>> -endobj - -20589 0 obj -<>/P 3210 0 R/Type/Annot/A 20924 0 R/Subtype/Link/Rect[206 569 218 578]/Border[0 0 0]/H/N>> -endobj - -20590 0 obj -<>/P 3210 0 R/Type/Annot/A 20983 0 R/Subtype/Link/Rect[226 559 240 568]/Border[0 0 0]/H/N>> -endobj - -20591 0 obj -<>/P 3210 0 R/Type/Annot/A 20978 0 R/Subtype/Link/Rect[242 559 259 569]/Border[0 0 0]/H/N>> -endobj - -20592 0 obj -<>/P 3210 0 R/Type/Annot/A 20974 0 R/Subtype/Link/Rect[259 559 273 568]/Border[0 0 0]/H/N>> -endobj - -20593 0 obj -<>/P 3210 0 R/Type/Annot/A 20968 0 R/Subtype/Link/Rect[275 559 289 568]/Border[0 0 0]/H/N>> -endobj - -20594 0 obj -<>/P 3210 0 R/Type/Annot/A 20966 0 R/Subtype/Link/Rect[291 559 305 568]/Border[0 0 0]/H/N>> -endobj - -20595 0 obj -<>/P 3210 0 R/Type/Annot/A 20963 0 R/Subtype/Link/Rect[151 549 168 559]/Border[0 0 0]/H/N>> -endobj - -20596 0 obj -<>/P 3210 0 R/Type/Annot/A 20957 0 R/Subtype/Link/Rect[168 549 182 558]/Border[0 0 0]/H/N>> -endobj - -20597 0 obj -<>/P 3210 0 R/Type/Annot/A 20954 0 R/Subtype/Link/Rect[184 549 198 558]/Border[0 0 0]/H/N>> -endobj - -20598 0 obj -<>/P 3210 0 R/Type/Annot/A 20951 0 R/Subtype/Link/Rect[200 549 217 559]/Border[0 0 0]/H/N>> -endobj - -20599 0 obj -<>/P 3210 0 R/Type/Annot/A 20949 0 R/Subtype/Link/Rect[218 549 230 558]/Border[0 0 0]/H/N>> -endobj - -20600 0 obj -<>/P 3210 0 R/Type/Annot/A 20944 0 R/Subtype/Link/Rect[190 539 202 548]/Border[0 0 0]/H/N>> -endobj - -20601 0 obj -<>/P 3210 0 R/Type/Annot/A 20939 0 R/Subtype/Link/Rect[207 529 221 538]/Border[0 0 0]/H/N>> -endobj - -20602 0 obj -<>/P 3210 0 R/Type/Annot/A 20936 0 R/Subtype/Link/Rect[223 529 239 539]/Border[0 0 0]/H/N>> -endobj - -20603 0 obj -<>/P 3210 0 R/Type/Annot/A 20934 0 R/Subtype/Link/Rect[240 529 254 538]/Border[0 0 0]/H/N>> -endobj - -20604 0 obj -<>/P 3210 0 R/Type/Annot/A 20929 0 R/Subtype/Link/Rect[256 529 270 538]/Border[0 0 0]/H/N>> -endobj - -20605 0 obj -<>/P 3210 0 R/Type/Annot/A 20926 0 R/Subtype/Link/Rect[272 529 286 538]/Border[0 0 0]/H/N>> -endobj - -20606 0 obj -<>/P 3210 0 R/Type/Annot/A 20921 0 R/Subtype/Link/Rect[288 529 302 538]/Border[0 0 0]/H/N>> -endobj - -20607 0 obj -<>/P 3210 0 R/Type/Annot/A 20918 0 R/Subtype/Link/Rect[151 519 163 528]/Border[0 0 0]/H/N>> -endobj - -20608 0 obj -<>/P 3210 0 R/Type/Annot/A 20914 0 R/Subtype/Link/Rect[190 509 204 518]/Border[0 0 0]/H/N>> -endobj - -20609 0 obj -<>/P 3210 0 R/Type/Annot/A 20912 0 R/Subtype/Link/Rect[206 509 218 518]/Border[0 0 0]/H/N>> -endobj - -20610 0 obj -<>/P 3210 0 R/Type/Annot/A 20908 0 R/Subtype/Link/Rect[250 499 264 508]/Border[0 0 0]/H/N>> -endobj - -20611 0 obj -<>/P 3210 0 R/Type/Annot/A 20903 0 R/Subtype/Link/Rect[266 499 283 509]/Border[0 0 0]/H/N>> -endobj - -20612 0 obj -<>/P 3210 0 R/Type/Annot/A 20901 0 R/Subtype/Link/Rect[283 499 297 508]/Border[0 0 0]/H/N>> -endobj - -20613 0 obj -<>/P 3210 0 R/Type/Annot/A 20898 0 R/Subtype/Link/Rect[151 489 168 499]/Border[0 0 0]/H/N>> -endobj - -20614 0 obj -<>/P 3210 0 R/Type/Annot/A 20896 0 R/Subtype/Link/Rect[168 489 182 498]/Border[0 0 0]/H/N>> -endobj - -20615 0 obj -<>/P 3210 0 R/Type/Annot/A 20895 0 R/Subtype/Link/Rect[184 489 201 499]/Border[0 0 0]/H/N>> -endobj - -20616 0 obj -<>/P 3210 0 R/Type/Annot/A 20894 0 R/Subtype/Link/Rect[202 489 216 498]/Border[0 0 0]/H/N>> -endobj - -20617 0 obj -<>/P 3210 0 R/Type/Annot/A 20893 0 R/Subtype/Link/Rect[218 489 232 498]/Border[0 0 0]/H/N>> -endobj - -20618 0 obj -<>/P 3210 0 R/Type/Annot/A 20892 0 R/Subtype/Link/Rect[234 489 246 498]/Border[0 0 0]/H/N>> -endobj - -20619 0 obj -<>/P 3210 0 R/Type/Annot/A 20891 0 R/Subtype/Link/Rect[190 479 202 488]/Border[0 0 0]/H/N>> -endobj - -20620 0 obj -<>/P 3210 0 R/Type/Annot/A 20890 0 R/Subtype/Link/Rect[226 469 240 478]/Border[0 0 0]/H/N>> -endobj - -20621 0 obj -<>/P 3210 0 R/Type/Annot/A 20889 0 R/Subtype/Link/Rect[242 469 256 478]/Border[0 0 0]/H/N>> -endobj - -20622 0 obj -<>/P 3210 0 R/Type/Annot/A 20888 0 R/Subtype/Link/Rect[258 469 275 479]/Border[0 0 0]/H/N>> -endobj - -20623 0 obj -<>/P 3210 0 R/Type/Annot/A 20887 0 R/Subtype/Link/Rect[275 469 289 478]/Border[0 0 0]/H/N>> -endobj - -20624 0 obj -<>/P 3210 0 R/Type/Annot/A 20886 0 R/Subtype/Link/Rect[291 469 303 478]/Border[0 0 0]/H/N>> -endobj - -20625 0 obj -<>/P 3210 0 R/Type/Annot/A 20885 0 R/Subtype/Link/Rect[190 459 202 468]/Border[0 0 0]/H/N>> -endobj - -20626 0 obj -<>/P 3210 0 R/Type/Annot/A 20884 0 R/Subtype/Link/Rect[207 449 223 459]/Border[0 0 0]/H/N>> -endobj - -20627 0 obj -<>/P 3210 0 R/Type/Annot/A 20883 0 R/Subtype/Link/Rect[224 449 238 458]/Border[0 0 0]/H/N>> -endobj - -20628 0 obj -<>/P 3210 0 R/Type/Annot/A 20882 0 R/Subtype/Link/Rect[240 449 252 458]/Border[0 0 0]/H/N>> -endobj - -20629 0 obj -<>/P 3210 0 R/Type/Annot/A 20881 0 R/Subtype/Link/Rect[190 439 202 448]/Border[0 0 0]/H/N>> -endobj - -20630 0 obj -<>/P 3210 0 R/Type/Annot/A 20880 0 R/Subtype/Link/Rect[210 429 224 438]/Border[0 0 0]/H/N>> -endobj - -20631 0 obj -<>/P 3210 0 R/Type/Annot/A 20879 0 R/Subtype/Link/Rect[226 429 240 438]/Border[0 0 0]/H/N>> -endobj - -20632 0 obj -<>/P 3210 0 R/Type/Annot/A 20878 0 R/Subtype/Link/Rect[242 429 256 438]/Border[0 0 0]/H/N>> -endobj - -20633 0 obj -<>/P 3210 0 R/Type/Annot/A 20877 0 R/Subtype/Link/Rect[258 429 275 439]/Border[0 0 0]/H/N>> -endobj - -20634 0 obj -<>/P 3210 0 R/Type/Annot/A 20876 0 R/Subtype/Link/Rect[276 429 290 438]/Border[0 0 0]/H/N>> -endobj - -20635 0 obj -<>/P 3210 0 R/Type/Annot/A 20875 0 R/Subtype/Link/Rect[292 429 306 438]/Border[0 0 0]/H/N>> -endobj - -20636 0 obj -<>/P 3210 0 R/Type/Annot/A 20874 0 R/Subtype/Link/Rect[151 419 165 428]/Border[0 0 0]/H/N>> -endobj - -20637 0 obj -<>/P 3210 0 R/Type/Annot/A 20872 0 R/Subtype/Link/Rect[167 419 179 428]/Border[0 0 0]/H/N>> -endobj - -20638 0 obj -<>/P 3210 0 R/Type/Annot/A 20871 0 R/Subtype/Link/Rect[207 409 221 418]/Border[0 0 0]/H/N>> -endobj - -20639 0 obj -<>/P 3210 0 R/Type/Annot/A 20870 0 R/Subtype/Link/Rect[223 409 237 418]/Border[0 0 0]/H/N>> -endobj - -20640 0 obj -<>/P 3210 0 R/Type/Annot/A 20869 0 R/Subtype/Link/Rect[239 409 251 418]/Border[0 0 0]/H/N>> -endobj - -20641 0 obj -<>/P 3210 0 R/Type/Annot/A 20868 0 R/Subtype/Link/Rect[190 399 202 408]/Border[0 0 0]/H/N>> -endobj - -20642 0 obj -<>/P 3210 0 R/Type/Annot/A 20867 0 R/Subtype/Link/Rect[212 389 226 398]/Border[0 0 0]/H/N>> -endobj - -20643 0 obj -<>/P 3210 0 R/Type/Annot/A 20866 0 R/Subtype/Link/Rect[228 389 242 398]/Border[0 0 0]/H/N>> -endobj - -20644 0 obj -<>/P 3210 0 R/Type/Annot/A 20865 0 R/Subtype/Link/Rect[244 389 258 398]/Border[0 0 0]/H/N>> -endobj - -20645 0 obj -<>/P 3210 0 R/Type/Annot/A 20864 0 R/Subtype/Link/Rect[260 389 274 398]/Border[0 0 0]/H/N>> -endobj - -20646 0 obj -<>/P 3210 0 R/Type/Annot/A 20863 0 R/Subtype/Link/Rect[276 389 288 398]/Border[0 0 0]/H/N>> -endobj - -20647 0 obj -<>/P 3210 0 R/Type/Annot/A 20862 0 R/Subtype/Link/Rect[176 379 193 389]/Border[0 0 0]/H/N>> -endobj - -20648 0 obj -<>/P 3210 0 R/Type/Annot/A 20861 0 R/Subtype/Link/Rect[193 379 207 388]/Border[0 0 0]/H/N>> -endobj - -20649 0 obj -<>/P 3210 0 R/Type/Annot/A 20860 0 R/Subtype/Link/Rect[209 379 221 388]/Border[0 0 0]/H/N>> -endobj - -20650 0 obj -<>/P 3210 0 R/Type/Annot/A 20859 0 R/Subtype/Link/Rect[226 369 238 378]/Border[0 0 0]/H/N>> -endobj - -20651 0 obj -<>/P 3210 0 R/Type/Annot/A 20858 0 R/Subtype/Link/Rect[212 359 226 368]/Border[0 0 0]/H/N>> -endobj - -20652 0 obj -<>/P 3210 0 R/Type/Annot/A 20857 0 R/Subtype/Link/Rect[228 359 240 368]/Border[0 0 0]/H/N>> -endobj - -20653 0 obj -<>/P 3210 0 R/Type/Annot/A 20856 0 R/Subtype/Link/Rect[216 349 230 358]/Border[0 0 0]/H/N>> -endobj - -20654 0 obj -<>/P 3210 0 R/Type/Annot/A 20855 0 R/Subtype/Link/Rect[232 349 244 358]/Border[0 0 0]/H/N>> -endobj - -20655 0 obj -<>/P 3210 0 R/Type/Annot/A 20854 0 R/Subtype/Link/Rect[212 339 224 348]/Border[0 0 0]/H/N>> -endobj - -20656 0 obj -<>/P 3210 0 R/Type/Annot/A 20853 0 R/Subtype/Link/Rect[212 329 226 338]/Border[0 0 0]/H/N>> -endobj - -20657 0 obj -<>/P 3210 0 R/Type/Annot/A 20852 0 R/Subtype/Link/Rect[228 329 240 338]/Border[0 0 0]/H/N>> -endobj - -20658 0 obj -<>/P 3210 0 R/Type/Annot/A 20851 0 R/Subtype/Link/Rect[226 319 238 328]/Border[0 0 0]/H/N>> -endobj - -20659 0 obj -<>/P 3210 0 R/Type/Annot/A 20850 0 R/Subtype/Link/Rect[221 309 235 318]/Border[0 0 0]/H/N>> -endobj - -20660 0 obj -<>/P 3210 0 R/Type/Annot/A 20849 0 R/Subtype/Link/Rect[237 309 249 318]/Border[0 0 0]/H/N>> -endobj - -20661 0 obj -<>/P 3210 0 R/Type/Annot/A 20848 0 R/Subtype/Link/Rect[207 299 221 308]/Border[0 0 0]/H/N>> -endobj - -20662 0 obj -<>/P 3210 0 R/Type/Annot/A 42006 0 R/Subtype/Link/Rect[223 299 235 308]/Border[0 0 0]/H/N>> -endobj - -20663 0 obj -<>/P 3210 0 R/Type/Annot/A 44790 0 R/Subtype/Link/Rect[212 289 226 298]/Border[0 0 0]/H/N>> -endobj - -20664 0 obj -<>/P 3210 0 R/Type/Annot/A 43386 0 R/Subtype/Link/Rect[228 289 240 298]/Border[0 0 0]/H/N>> -endobj - -20665 0 obj -<>/P 3210 0 R/Type/Annot/A 44044 0 R/Subtype/Link/Rect[216 279 230 288]/Border[0 0 0]/H/N>> -endobj - -20666 0 obj -<>/P 3210 0 R/Type/Annot/A 44688 0 R/Subtype/Link/Rect[232 279 246 288]/Border[0 0 0]/H/N>> -endobj - -20667 0 obj -<>/P 3210 0 R/Type/Annot/A 44657 0 R/Subtype/Link/Rect[248 279 262 288]/Border[0 0 0]/H/N>> -endobj - -20668 0 obj -<>/P 3210 0 R/Type/Annot/A 44622 0 R/Subtype/Link/Rect[264 279 278 288]/Border[0 0 0]/H/N>> -endobj - -20669 0 obj -<>/P 3210 0 R/Type/Annot/A 30127 0 R/Subtype/Link/Rect[280 279 294 288]/Border[0 0 0]/H/N>> -endobj - -20670 0 obj -<>/P 3210 0 R/Type/Annot/A 43857 0 R/Subtype/Link/Rect[296 279 310 288]/Border[0 0 0]/H/N>> -endobj - -20671 0 obj -<>/P 3210 0 R/Type/Annot/A 44504 0 R/Subtype/Link/Rect[151 269 165 278]/Border[0 0 0]/H/N>> -endobj - -20672 0 obj -<>/P 3210 0 R/Type/Annot/A 20989 0 R/Subtype/Link/Rect[167 269 181 278]/Border[0 0 0]/H/N>> -endobj - -20673 0 obj -<>/P 3210 0 R/Type/Annot/A 44423 0 R/Subtype/Link/Rect[183 269 200 279]/Border[0 0 0]/H/N>> -endobj - -20674 0 obj -<>/P 3210 0 R/Type/Annot/A 44397 0 R/Subtype/Link/Rect[200 269 212 278]/Border[0 0 0]/H/N>> -endobj - -20675 0 obj -<>/P 3210 0 R/Type/Annot/A 43679 0 R/Subtype/Link/Rect[190 259 204 268]/Border[0 0 0]/H/N>> -endobj - -20676 0 obj -<>/P 3210 0 R/Type/Annot/A 44333 0 R/Subtype/Link/Rect[206 259 218 268]/Border[0 0 0]/H/N>> -endobj - -20677 0 obj -<>/P 3210 0 R/Type/Annot/A 43590 0 R/Subtype/Link/Rect[202 249 219 259]/Border[0 0 0]/H/N>> -endobj - -20678 0 obj -<>/P 3210 0 R/Type/Annot/A 38272 0 R/Subtype/Link/Rect[219 249 233 258]/Border[0 0 0]/H/N>> -endobj - -20679 0 obj -<>/P 3210 0 R/Type/Annot/A 42766 0 R/Subtype/Link/Rect[235 249 249 258]/Border[0 0 0]/H/N>> -endobj - -20680 0 obj -<>/P 3210 0 R/Type/Annot/A 31049 0 R/Subtype/Link/Rect[251 249 265 258]/Border[0 0 0]/H/N>> -endobj - -20681 0 obj -<>/P 3210 0 R/Type/Annot/A 22625 0 R/Subtype/Link/Rect[267 249 284 259]/Border[0 0 0]/H/N>> -endobj - -20682 0 obj -<>/P 3210 0 R/Type/Annot/A 43401 0 R/Subtype/Link/Rect[285 249 299 258]/Border[0 0 0]/H/N>> -endobj - -20683 0 obj -<>/P 3210 0 R/Type/Annot/A 42608 0 R/Subtype/Link/Rect[151 239 168 249]/Border[0 0 0]/H/N>> -endobj - -20684 0 obj -<>/P 3210 0 R/Type/Annot/A 43304 0 R/Subtype/Link/Rect[168 239 182 248]/Border[0 0 0]/H/N>> -endobj - -20685 0 obj -<>/P 3210 0 R/Type/Annot/A 42546 0 R/Subtype/Link/Rect[184 239 196 248]/Border[0 0 0]/H/N>> -endobj - -20686 0 obj -<>/P 3210 0 R/Type/Annot/A 43972 0 R/Subtype/Link/Rect[190 229 204 238]/Border[0 0 0]/H/N>> -endobj - -20687 0 obj -<>/P 3210 0 R/Type/Annot/A 40114 0 R/Subtype/Link/Rect[206 229 218 238]/Border[0 0 0]/H/N>> -endobj - -20688 0 obj -<>/P 3210 0 R/Type/Annot/A 41575 0 R/Subtype/Link/Rect[221 219 235 228]/Border[0 0 0]/H/N>> -endobj - -20689 0 obj -<>/P 3210 0 R/Type/Annot/A 42376 0 R/Subtype/Link/Rect[237 219 251 228]/Border[0 0 0]/H/N>> -endobj - -20690 0 obj -<>/P 3210 0 R/Type/Annot/A 43084 0 R/Subtype/Link/Rect[253 219 267 228]/Border[0 0 0]/H/N>> -endobj - -20691 0 obj -<>/P 3210 0 R/Type/Annot/A 43010 0 R/Subtype/Link/Rect[269 219 283 228]/Border[0 0 0]/H/N>> -endobj - -20692 0 obj -<>/P 3210 0 R/Type/Annot/A 42986 0 R/Subtype/Link/Rect[285 219 297 228]/Border[0 0 0]/H/N>> -endobj - -20693 0 obj -<>/P 3210 0 R/Type/Annot/A 32532 0 R/Subtype/Link/Rect[190 209 202 218]/Border[0 0 0]/H/N>> -endobj - -20694 0 obj -<>/P 3210 0 R/Type/Annot/A 38317 0 R/Subtype/Link/Rect[221 199 235 208]/Border[0 0 0]/H/N>> -endobj - -20695 0 obj -<>/P 3210 0 R/Type/Annot/A 42872 0 R/Subtype/Link/Rect[237 199 254 209]/Border[0 0 0]/H/N>> -endobj - -20696 0 obj -<>/P 3210 0 R/Type/Annot/A 28420 0 R/Subtype/Link/Rect[255 199 269 208]/Border[0 0 0]/H/N>> -endobj - -20697 0 obj -<>/P 3210 0 R/Type/Annot/A 42806 0 R/Subtype/Link/Rect[271 199 285 208]/Border[0 0 0]/H/N>> -endobj - -20698 0 obj -<>/P 3210 0 R/Type/Annot/A 42761 0 R/Subtype/Link/Rect[287 199 301 208]/Border[0 0 0]/H/N>> -endobj - -20699 0 obj -<>/P 3210 0 R/Type/Annot/A 41948 0 R/Subtype/Link/Rect[151 189 163 198]/Border[0 0 0]/H/N>> -endobj - -20700 0 obj -<>/P 3210 0 R/Type/Annot/A 41903 0 R/Subtype/Link/Rect[190 179 202 188]/Border[0 0 0]/H/N>> -endobj - -20701 0 obj -<>/P 3210 0 R/Type/Annot/A 21386 0 R/Subtype/Link/Rect[221 169 235 178]/Border[0 0 0]/H/N>> -endobj - -20702 0 obj -<>/P 3210 0 R/Type/Annot/A 42604 0 R/Subtype/Link/Rect[237 169 251 178]/Border[0 0 0]/H/N>> -endobj - -20703 0 obj -<>/P 3210 0 R/Type/Annot/A 41739 0 R/Subtype/Link/Rect[253 169 267 178]/Border[0 0 0]/H/N>> -endobj - -20704 0 obj -<>/P 3210 0 R/Type/Annot/A 25938 0 R/Subtype/Link/Rect[269 169 283 178]/Border[0 0 0]/H/N>> -endobj - -20705 0 obj -<>/P 3210 0 R/Type/Annot/A 42496 0 R/Subtype/Link/Rect[151 159 168 169]/Border[0 0 0]/H/N>> -endobj - -20706 0 obj -<>/P 3210 0 R/Type/Annot/A 33664 0 R/Subtype/Link/Rect[168 159 182 168]/Border[0 0 0]/H/N>> -endobj - -20707 0 obj -<>/P 3210 0 R/Type/Annot/A 42406 0 R/Subtype/Link/Rect[184 159 196 168]/Border[0 0 0]/H/N>> -endobj - -20708 0 obj -<>/P 3210 0 R/Type/Annot/A 41508 0 R/Subtype/Link/Rect[190 149 202 158]/Border[0 0 0]/H/N>> -endobj - -20709 0 obj -<>/P 3210 0 R/Type/Annot/A 42349 0 R/Subtype/Link/Rect[425 669 439 678]/Border[0 0 0]/H/N>> -endobj - -20710 0 obj -<>/P 3210 0 R/Type/Annot/A 42303 0 R/Subtype/Link/Rect[441 669 455 678]/Border[0 0 0]/H/N>> -endobj - -20711 0 obj -<>/P 3210 0 R/Type/Annot/A 41410 0 R/Subtype/Link/Rect[457 669 469 678]/Border[0 0 0]/H/N>> -endobj - -20712 0 obj -<>/P 3210 0 R/Type/Annot/A 28473 0 R/Subtype/Link/Rect[420 659 434 668]/Border[0 0 0]/H/N>> -endobj - -20713 0 obj -<>/P 3210 0 R/Type/Annot/A 20942 0 R/Subtype/Link/Rect[436 659 450 668]/Border[0 0 0]/H/N>> -endobj - -20714 0 obj -<>/P 3210 0 R/Type/Annot/A 42127 0 R/Subtype/Link/Rect[452 659 466 668]/Border[0 0 0]/H/N>> -endobj - -20715 0 obj -<>/P 3210 0 R/Type/Annot/A 31011 0 R/Subtype/Link/Rect[468 659 482 668]/Border[0 0 0]/H/N>> -endobj - -20716 0 obj -<>/P 3210 0 R/Type/Annot/A 42845 0 R/Subtype/Link/Rect[484 659 496 668]/Border[0 0 0]/H/N>> -endobj - -20717 0 obj -<>/P 3210 0 R/Type/Annot/A 36700 0 R/Subtype/Link/Rect[398 649 412 658]/Border[0 0 0]/H/N>> -endobj - -20718 0 obj -<>/P 3210 0 R/Type/Annot/A 41954 0 R/Subtype/Link/Rect[414 649 426 658]/Border[0 0 0]/H/N>> -endobj - -20719 0 obj -<>/P 3210 0 R/Type/Annot/A 35878 0 R/Subtype/Link/Rect[415 639 429 648]/Border[0 0 0]/H/N>> -endobj - -20720 0 obj -<>/P 3210 0 R/Type/Annot/A 41880 0 R/Subtype/Link/Rect[431 639 445 648]/Border[0 0 0]/H/N>> -endobj - -20721 0 obj -<>/P 3210 0 R/Type/Annot/A 40744 0 R/Subtype/Link/Rect[447 639 459 648]/Border[0 0 0]/H/N>> -endobj - -20722 0 obj -<>/P 3210 0 R/Type/Annot/A 42605 0 R/Subtype/Link/Rect[415 629 429 638]/Border[0 0 0]/H/N>> -endobj - -20723 0 obj -<>/P 3210 0 R/Type/Annot/A 41710 0 R/Subtype/Link/Rect[431 629 445 638]/Border[0 0 0]/H/N>> -endobj - -20724 0 obj -<>/P 3210 0 R/Type/Annot/A 41666 0 R/Subtype/Link/Rect[447 629 461 638]/Border[0 0 0]/H/N>> -endobj - -20725 0 obj -<>/P 3210 0 R/Type/Annot/A 41622 0 R/Subtype/Link/Rect[463 629 477 638]/Border[0 0 0]/H/N>> -endobj - -20726 0 obj -<>/P 3210 0 R/Type/Annot/A 20959 0 R/Subtype/Link/Rect[479 629 493 638]/Border[0 0 0]/H/N>> -endobj - -20727 0 obj -<>/P 3210 0 R/Type/Annot/A 39483 0 R/Subtype/Link/Rect[495 629 509 638]/Border[0 0 0]/H/N>> -endobj - -20728 0 obj -<>/P 3210 0 R/Type/Annot/A 38950 0 R/Subtype/Link/Rect[359 619 373 628]/Border[0 0 0]/H/N>> -endobj - -20729 0 obj -<>/P 3210 0 R/Type/Annot/A 38906 0 R/Subtype/Link/Rect[375 619 389 628]/Border[0 0 0]/H/N>> -endobj - -20730 0 obj -<>/P 3210 0 R/Type/Annot/A 23372 0 R/Subtype/Link/Rect[391 619 405 628]/Border[0 0 0]/H/N>> -endobj - -20731 0 obj -<>/P 3210 0 R/Type/Annot/A 41404 0 R/Subtype/Link/Rect[407 619 419 628]/Border[0 0 0]/H/N>> -endobj - -20732 0 obj -<>/P 3210 0 R/Type/Annot/A 28397 0 R/Subtype/Link/Rect[398 609 412 618]/Border[0 0 0]/H/N>> -endobj - -20733 0 obj -<>/P 3210 0 R/Type/Annot/A 20930 0 R/Subtype/Link/Rect[414 609 426 618]/Border[0 0 0]/H/N>> -endobj - -20734 0 obj -<>/P 3210 0 R/Type/Annot/A 36801 0 R/Subtype/Link/Rect[434 599 448 608]/Border[0 0 0]/H/N>> -endobj - -20735 0 obj -<>/P 3210 0 R/Type/Annot/A 37936 0 R/Subtype/Link/Rect[450 599 464 608]/Border[0 0 0]/H/N>> -endobj - -20736 0 obj -<>/P 3210 0 R/Type/Annot/A 20915 0 R/Subtype/Link/Rect[466 599 483 609]/Border[0 0 0]/H/N>> -endobj - -20737 0 obj -<>/P 3210 0 R/Type/Annot/A 38184 0 R/Subtype/Link/Rect[483 599 497 608]/Border[0 0 0]/H/N>> -endobj - -20738 0 obj -<>/P 3210 0 R/Type/Annot/A 41140 0 R/Subtype/Link/Rect[359 589 376 599]/Border[0 0 0]/H/N>> -endobj - -20739 0 obj -<>/P 3210 0 R/Type/Annot/A 41103 0 R/Subtype/Link/Rect[376 589 390 598]/Border[0 0 0]/H/N>> -endobj - -20740 0 obj -<>/P 3210 0 R/Type/Annot/A 35080 0 R/Subtype/Link/Rect[392 589 406 598]/Border[0 0 0]/H/N>> -endobj - -20741 0 obj -<>/P 3210 0 R/Type/Annot/A 40745 0 R/Subtype/Link/Rect[408 589 422 598]/Border[0 0 0]/H/N>> -endobj - -20742 0 obj -<>/P 3210 0 R/Type/Annot/A 29260 0 R/Subtype/Link/Rect[424 589 441 599]/Border[0 0 0]/H/N>> -endobj - -20743 0 obj -<>/P 3210 0 R/Type/Annot/A 25784 0 R/Subtype/Link/Rect[442 589 454 598]/Border[0 0 0]/H/N>> -endobj - -20744 0 obj -<>/P 3210 0 R/Type/Annot/A 33660 0 R/Subtype/Link/Rect[398 579 410 588]/Border[0 0 0]/H/N>> -endobj - -20745 0 obj -<>/P 3210 0 R/Type/Annot/A 38069 0 R/Subtype/Link/Rect[434 569 448 578]/Border[0 0 0]/H/N>> -endobj - -20746 0 obj -<>/P 3210 0 R/Type/Annot/A 33099 0 R/Subtype/Link/Rect[450 569 464 578]/Border[0 0 0]/H/N>> -endobj - -20747 0 obj -<>/P 3210 0 R/Type/Annot/A 33047 0 R/Subtype/Link/Rect[466 569 480 578]/Border[0 0 0]/H/N>> -endobj - -20748 0 obj -<>/P 3210 0 R/Type/Annot/A 41528 0 R/Subtype/Link/Rect[482 569 496 578]/Border[0 0 0]/H/N>> -endobj - -20749 0 obj -<>/P 3210 0 R/Type/Annot/A 38920 0 R/Subtype/Link/Rect[498 569 512 578]/Border[0 0 0]/H/N>> -endobj - -20750 0 obj -<>/P 3210 0 R/Type/Annot/A 28440 0 R/Subtype/Link/Rect[359 559 376 569]/Border[0 0 0]/H/N>> -endobj - -20751 0 obj -<>/P 3210 0 R/Type/Annot/A 20932 0 R/Subtype/Link/Rect[376 559 390 568]/Border[0 0 0]/H/N>> -endobj - -20752 0 obj -<>/P 3210 0 R/Type/Annot/A 22004 0 R/Subtype/Link/Rect[392 559 406 568]/Border[0 0 0]/H/N>> -endobj - -20753 0 obj -<>/P 3210 0 R/Type/Annot/A 27611 0 R/Subtype/Link/Rect[408 559 422 568]/Border[0 0 0]/H/N>> -endobj - -20754 0 obj -<>/P 3210 0 R/Type/Annot/A 36838 0 R/Subtype/Link/Rect[424 559 436 568]/Border[0 0 0]/H/N>> -endobj - -20755 0 obj -<>/P 3210 0 R/Type/Annot/A 36785 0 R/Subtype/Link/Rect[398 549 410 558]/Border[0 0 0]/H/N>> -endobj - -20756 0 obj -<>/P 3210 0 R/Type/Annot/A 41235 0 R/Subtype/Link/Rect[434 539 448 548]/Border[0 0 0]/H/N>> -endobj - -20757 0 obj -<>/P 3210 0 R/Type/Annot/A 36698 0 R/Subtype/Link/Rect[450 539 464 548]/Border[0 0 0]/H/N>> -endobj - -20758 0 obj -<>/P 3210 0 R/Type/Annot/A 41165 0 R/Subtype/Link/Rect[466 539 480 548]/Border[0 0 0]/H/N>> -endobj - -20759 0 obj -<>/P 3210 0 R/Type/Annot/A 41145 0 R/Subtype/Link/Rect[482 539 496 548]/Border[0 0 0]/H/N>> -endobj - -20760 0 obj -<>/P 3210 0 R/Type/Annot/A 41116 0 R/Subtype/Link/Rect[359 529 376 539]/Border[0 0 0]/H/N>> -endobj - -20761 0 obj -<>/P 3210 0 R/Type/Annot/A 35060 0 R/Subtype/Link/Rect[376 529 390 538]/Border[0 0 0]/H/N>> -endobj - -20762 0 obj -<>/P 3210 0 R/Type/Annot/A 34280 0 R/Subtype/Link/Rect[392 529 404 538]/Border[0 0 0]/H/N>> -endobj - -20763 0 obj -<>/P 3210 0 R/Type/Annot/A 34239 0 R/Subtype/Link/Rect[398 519 410 528]/Border[0 0 0]/H/N>> -endobj - -20764 0 obj -<>/P 3210 0 R/Type/Annot/A 20955 0 R/Subtype/Link/Rect[406 509 418 518]/Border[0 0 0]/H/N>> -endobj - -20765 0 obj -<>/P 3210 0 R/Type/Annot/A 29138 0 R/Subtype/Link/Rect[387 499 399 508]/Border[0 0 0]/H/N>> -endobj - -20766 0 obj -<>/P 3210 0 R/Type/Annot/A 33604 0 R/Subtype/Link/Rect[376 489 390 498]/Border[0 0 0]/H/N>> -endobj - -20767 0 obj -<>/P 3210 0 R/Type/Annot/A 33080 0 R/Subtype/Link/Rect[392 489 406 498]/Border[0 0 0]/H/N>> -endobj - -20768 0 obj -<>/P 3210 0 R/Type/Annot/A 28519 0 R/Subtype/Link/Rect[408 489 422 498]/Border[0 0 0]/H/N>> -endobj - -20769 0 obj -<>/P 3210 0 R/Type/Annot/A 32565 0 R/Subtype/Link/Rect[424 489 438 498]/Border[0 0 0]/H/N>> -endobj - -20770 0 obj -<>/P 3210 0 R/Type/Annot/A 32526 0 R/Subtype/Link/Rect[440 489 452 498]/Border[0 0 0]/H/N>> -endobj - -20771 0 obj -<>/P 3210 0 R/Type/Annot/A 20928 0 R/Subtype/Link/Rect[390 479 407 489]/Border[0 0 0]/H/N>> -endobj - -20772 0 obj -<>/P 3210 0 R/Type/Annot/A 20923 0 R/Subtype/Link/Rect[408 479 420 488]/Border[0 0 0]/H/N>> -endobj - -20773 0 obj -<>/P 3210 0 R/Type/Annot/A 20919 0 R/Subtype/Link/Rect[405 469 417 478]/Border[0 0 0]/H/N>> -endobj - -20774 0 obj -<>/P 3210 0 R/Type/Annot/A 27585 0 R/Subtype/Link/Rect[423 459 429 468]/Border[0 0 0]/H/N>> -endobj - -20775 0 obj -<>/P 3210 0 R/Type/Annot/A 27556 0 R/Subtype/Link/Rect[431 459 439 468]/Border[0 0 0]/H/N>> -endobj - -20776 0 obj -<>/P 3210 0 R/Type/Annot/A 20904 0 R/Subtype/Link/Rect[436 449 440 458]/Border[0 0 0]/H/N>> -endobj - -20777 0 obj -<>/P 3210 0 R/Type/Annot/A 26926 0 R/Subtype/Link/Rect[392 439 400 448]/Border[0 0 0]/H/N>> -endobj - -20778 0 obj -<>/P 3210 0 R/Type/Annot/A 20899 0 R/Subtype/Link/Rect[444 429 454 438]/Border[0 0 0]/H/N>> -endobj - -20779 0 obj -<>/P 3210 0 R/Type/Annot/A 26461 0 R/Subtype/Link/Rect[456 429 464 438]/Border[0 0 0]/H/N>> -endobj - -20780 0 obj -<>/P 3210 0 R/Type/Annot/A 20970 0 R/Subtype/Link/Rect[391 419 405 428]/Border[0 0 0]/H/N>> -endobj - -20781 0 obj -<>/P 3210 0 R/Type/Annot/A 30062 0 R/Subtype/Link/Rect[407 419 421 428]/Border[0 0 0]/H/N>> -endobj - -20782 0 obj -<>/P 3210 0 R/Type/Annot/A 25848 0 R/Subtype/Link/Rect[423 419 437 428]/Border[0 0 0]/H/N>> -endobj - -20783 0 obj -<>/P 3210 0 R/Type/Annot/A 25793 0 R/Subtype/Link/Rect[439 419 451 428]/Border[0 0 0]/H/N>> -endobj - -20784 0 obj -<>/P 3210 0 R/Type/Annot/A 29237 0 R/Subtype/Link/Rect[430 409 447 419]/Border[0 0 0]/H/N>> -endobj - -20785 0 obj -<>/P 3210 0 R/Type/Annot/A 24910 0 R/Subtype/Link/Rect[447 409 459 418]/Border[0 0 0]/H/N>> -endobj - -20786 0 obj -<>/P 3210 0 R/Type/Annot/A 20950 0 R/Subtype/Link/Rect[403 399 416 409]/Border[0 0 0]/H/N>> -endobj - -20787 0 obj -<>/P 3210 0 R/Type/Annot/A 29116 0 R/Subtype/Link/Rect[417 399 427 408]/Border[0 0 0]/H/N>> -endobj - -20788 0 obj -<>/P 3210 0 R/Type/Annot/A 20938 0 R/Subtype/Link/Rect[429 399 443 408]/Border[0 0 0]/H/N>> -endobj - -20789 0 obj -<>/P 3210 0 R/Type/Annot/A 23373 0 R/Subtype/Link/Rect[445 399 457 408]/Border[0 0 0]/H/N>> -endobj - -20790 0 obj -<>/P 3210 0 R/Type/Annot/A 28510 0 R/Subtype/Link/Rect[413 389 421 398]/Border[0 0 0]/H/N>> -endobj - -20791 0 obj -<>/P 3210 0 R/Type/Annot/A 22607 0 R/Subtype/Link/Rect[413 379 423 388]/Border[0 0 0]/H/N>> -endobj - -20792 0 obj -<>/P 3210 0 R/Type/Annot/A 20925 0 R/Subtype/Link/Rect[425 379 437 388]/Border[0 0 0]/H/N>> -endobj - -20793 0 obj -<>/P 3210 0 R/Type/Annot/A 20920 0 R/Subtype/Link/Rect[413 369 421 378]/Border[0 0 0]/H/N>> -endobj - -20794 0 obj -<>/P 3210 0 R/Type/Annot/A 28350 0 R/Subtype/Link/Rect[374 349 387 359]/Border[0 0 0]/H/N>> -endobj - -20795 0 obj -<>/P 3210 0 R/Type/Annot/A 27610 0 R/Subtype/Link/Rect[387 349 397 358]/Border[0 0 0]/H/N>> -endobj - -20796 0 obj -<>/P 3210 0 R/Type/Annot/A 20909 0 R/Subtype/Link/Rect[399 349 413 358]/Border[0 0 0]/H/N>> -endobj - -20797 0 obj -<>/P 3210 0 R/Type/Annot/A 20994 0 R/Subtype/Link/Rect[415 349 429 358]/Border[0 0 0]/H/N>> -endobj - -20798 0 obj -<>/P 3210 0 R/Type/Annot/A 20987 0 R/Subtype/Link/Rect[431 349 445 358]/Border[0 0 0]/H/N>> -endobj - -20799 0 obj -<>/P 3210 0 R/Type/Annot/A 20897 0 R/Subtype/Link/Rect[447 349 459 358]/Border[0 0 0]/H/N>> -endobj - -20800 0 obj -<>/P 3210 0 R/Type/Annot/A 26481 0 R/Subtype/Link/Rect[375 339 388 349]/Border[0 0 0]/H/N>> -endobj - -20801 0 obj -<>/P 3210 0 R/Type/Annot/A 20972 0 R/Subtype/Link/Rect[388 339 398 348]/Border[0 0 0]/H/N>> -endobj - -20802 0 obj -<>/P 3210 0 R/Type/Annot/A 25905 0 R/Subtype/Link/Rect[400 339 414 348]/Border[0 0 0]/H/N>> -endobj - -20803 0 obj -<>/P 3210 0 R/Type/Annot/A 20964 0 R/Subtype/Link/Rect[416 339 430 348]/Border[0 0 0]/H/N>> -endobj - -20804 0 obj -<>/P 3210 0 R/Type/Annot/A 20961 0 R/Subtype/Link/Rect[432 339 446 348]/Border[0 0 0]/H/N>> -endobj - -20805 0 obj -<>/P 3210 0 R/Type/Annot/A 25785 0 R/Subtype/Link/Rect[448 339 460 348]/Border[0 0 0]/H/N>> -endobj - -20806 0 obj -<>/P 3210 0 R/Type/Annot/A 24978 0 R/Subtype/Link/Rect[406 329 422 339]/Border[0 0 0]/H/N>> -endobj - -20807 0 obj -<>/P 3210 0 R/Type/Annot/A 24908 0 R/Subtype/Link/Rect[423 329 435 338]/Border[0 0 0]/H/N>> -endobj - -20808 0 obj -<>/P 3210 0 R/Type/Annot/A 20947 0 R/Subtype/Link/Rect[413 319 425 328]/Border[0 0 0]/H/N>> -endobj - -20809 0 obj -<>/P 3210 0 R/Type/Annot/A 24250 0 R/Subtype/Link/Rect[413 309 421 318]/Border[0 0 0]/H/N>> -endobj - -20810 0 obj -<>/P 3210 0 R/Type/Annot/A 23439 0 R/Subtype/Link/Rect[408 299 422 308]/Border[0 0 0]/H/N>> -endobj - -20811 0 obj -<>/P 3210 0 R/Type/Annot/A 20935 0 R/Subtype/Link/Rect[424 299 438 308]/Border[0 0 0]/H/N>> -endobj - -20812 0 obj -<>/P 3210 0 R/Type/Annot/A 20931 0 R/Subtype/Link/Rect[440 299 452 308]/Border[0 0 0]/H/N>> -endobj - -20813 0 obj -<>/P 3210 0 R/Type/Annot/A 20927 0 R/Subtype/Link/Rect[413 289 423 298]/Border[0 0 0]/H/N>> -endobj - -20814 0 obj -<>/P 3210 0 R/Type/Annot/A 20922 0 R/Subtype/Link/Rect[425 289 435 298]/Border[0 0 0]/H/N>> -endobj - -20815 0 obj -<>/P 3210 0 R/Type/Annot/A 20917 0 R/Subtype/Link/Rect[437 289 449 298]/Border[0 0 0]/H/N>> -endobj - -20816 0 obj -<>/P 3210 0 R/Type/Annot/A 20913 0 R/Subtype/Link/Rect[422 279 432 288]/Border[0 0 0]/H/N>> -endobj - -20817 0 obj -<>/P 3210 0 R/Type/Annot/A 20911 0 R/Subtype/Link/Rect[434 279 446 288]/Border[0 0 0]/H/N>> -endobj - -20818 0 obj -<>/P 3210 0 R/Type/Annot/A 20906 0 R/Subtype/Link/Rect[418 269 428 278]/Border[0 0 0]/H/N>> -endobj - -20819 0 obj -<>/P 3210 0 R/Type/Annot/A 20996 0 R/Subtype/Link/Rect[430 269 442 278]/Border[0 0 0]/H/N>> -endobj - -20820 0 obj -<>/P 3210 0 R/Type/Annot/A 20900 0 R/Subtype/Link/Rect[422 259 432 268]/Border[0 0 0]/H/N>> -endobj - -20821 0 obj -<>/P 3210 0 R/Type/Annot/A 20985 0 R/Subtype/Link/Rect[434 259 446 268]/Border[0 0 0]/H/N>> -endobj - -20822 0 obj -<>/P 3210 0 R/Type/Annot/A 20980 0 R/Subtype/Link/Rect[404 249 414 258]/Border[0 0 0]/H/N>> -endobj - -20823 0 obj -<>/P 3210 0 R/Type/Annot/A 20976 0 R/Subtype/Link/Rect[416 249 433 259]/Border[0 0 0]/H/N>> -endobj - -20824 0 obj -<>/P 3210 0 R/Type/Annot/A 20969 0 R/Subtype/Link/Rect[433 249 445 258]/Border[0 0 0]/H/N>> -endobj - -20825 0 obj -<>/P 3210 0 R/Type/Annot/A 20967 0 R/Subtype/Link/Rect[423 239 435 248]/Border[0 0 0]/H/N>> -endobj - -20826 0 obj -<>/P 3210 0 R/Type/Annot/A 25874 0 R/Subtype/Link/Rect[408 229 422 238]/Border[0 0 0]/H/N>> -endobj - -20827 0 obj -<>/P 3210 0 R/Type/Annot/A 20958 0 R/Subtype/Link/Rect[424 229 438 238]/Border[0 0 0]/H/N>> -endobj - -20828 0 obj -<>/P 3210 0 R/Type/Annot/A 25797 0 R/Subtype/Link/Rect[440 229 454 238]/Border[0 0 0]/H/N>> -endobj - -20829 0 obj -<>/P 3210 0 R/Type/Annot/A 20952 0 R/Subtype/Link/Rect[456 229 470 238]/Border[0 0 0]/H/N>> -endobj - -20830 0 obj -<>/P 3210 0 R/Type/Annot/A 24923 0 R/Subtype/Link/Rect[472 229 486 238]/Border[0 0 0]/H/N>> -endobj - -20831 0 obj -<>/P 3210 0 R/Type/Annot/A 20945 0 R/Subtype/Link/Rect[488 229 500 238]/Border[0 0 0]/H/N>> -endobj - -20832 0 obj -<>/P 3210 0 R/Type/Annot/A 20940 0 R/Subtype/Link/Rect[401 219 413 228]/Border[0 0 0]/H/N>> -endobj - -20833 0 obj -<>/P 3210 0 R/Type/Annot/A 24226 0 R/Subtype/Link/Rect[413 209 430 219]/Border[0 0 0]/H/N>> -endobj - -20834 0 obj -<>/P 3210 0 R/Type/Annot/A 23393 0 R/Subtype/Link/Rect[430 209 442 218]/Border[0 0 0]/H/N>> -endobj - -20835 0 obj -<>/P 3210 0 R/Type/Annot/A 23355 0 R/Subtype/Link/Rect[387 199 401 208]/Border[0 0 0]/H/N>> -endobj - -20836 0 obj -<>/P 3210 0 R/Type/Annot/A 22645 0 R/Subtype/Link/Rect[403 199 415 208]/Border[0 0 0]/H/N>> -endobj - -20837 0 obj -<>/P 3210 0 R/Type/Annot/A 22590 0 R/Subtype/Link/Rect[393 189 399 198]/Border[0 0 0]/H/N>> -endobj - -20838 0 obj -<>/P 3210 0 R/Type/Annot/A 20916 0 R/Subtype/Link/Rect[401 189 415 198]/Border[0 0 0]/H/N>> -endobj - -20839 0 obj -<>/P 3210 0 R/Type/Annot/A 21971 0 R/Subtype/Link/Rect[417 189 431 198]/Border[0 0 0]/H/N>> -endobj - -20840 0 obj -<>/P 3210 0 R/Type/Annot/A 20910 0 R/Subtype/Link/Rect[433 189 447 198]/Border[0 0 0]/H/N>> -endobj - -20841 0 obj -<>/P 3210 0 R/Type/Annot/A 20905 0 R/Subtype/Link/Rect[449 189 461 198]/Border[0 0 0]/H/N>> -endobj - -20842 0 obj -<>/P 3210 0 R/Type/Annot/A 20902 0 R/Subtype/Link/Rect[384 169 393 179]/Border[0 0 0]/H/N>> -endobj - -20843 0 obj -<>/P 3210 0 R/Type/Annot/A 20873 0 R/Subtype/Link/Rect[393 169 397 178]/Border[0 0 0]/H/N>> -endobj - -20844 0 obj -<>/P 3210 0 R/Type/Annot/A 20988 0 R/Subtype/Link/Rect[405 159 419 168]/Border[0 0 0]/H/N>> -endobj - -20845 0 obj -<>/P 3210 0 R/Type/Annot/A 20984 0 R/Subtype/Link/Rect[421 159 433 168]/Border[0 0 0]/H/N>> -endobj - -20846 0 obj -<>/P 3210 0 R/Type/Annot/A 20979 0 R/Subtype/Link/Rect[381 149 398 159]/Border[0 0 0]/H/N>> -endobj - -20847 0 obj -<>/P 3210 0 R/Type/Annot/A 20975 0 R/Subtype/Link/Rect[399 149 411 158]/Border[0 0 0]/H/N>> -endobj - -20848 0 obj -<> -endobj - -20849 0 obj -<> -endobj - -20850 0 obj -<> -endobj - -20851 0 obj -<> -endobj - -20852 0 obj -<> -endobj - -20853 0 obj -<> -endobj - -20854 0 obj -<> -endobj - -20855 0 obj -<> -endobj - -20856 0 obj -<> -endobj - -20857 0 obj -<> -endobj - -20858 0 obj -<> -endobj - -20859 0 obj -<> -endobj - -20860 0 obj -<> -endobj - -20861 0 obj -<> -endobj - -20862 0 obj -<> -endobj - -20863 0 obj -<> -endobj - -20864 0 obj -<> -endobj - -20865 0 obj -<> -endobj - -20866 0 obj -<> -endobj - -20867 0 obj -<> -endobj - -20868 0 obj -<> -endobj - -20869 0 obj -<> -endobj - -20870 0 obj -<> -endobj - -20871 0 obj -<> -endobj - -20872 0 obj -<> -endobj - -20873 0 obj -<> -endobj - -20874 0 obj -<> -endobj - -20875 0 obj -<> -endobj - -20876 0 obj -<> -endobj - -20877 0 obj -<> -endobj - -20878 0 obj -<> -endobj - -20879 0 obj -<> -endobj - -20880 0 obj -<> -endobj - -20881 0 obj -<> -endobj - -20882 0 obj -<> -endobj - -20883 0 obj -<> -endobj - -20884 0 obj -<> -endobj - -20885 0 obj -<> -endobj - -20886 0 obj -<> -endobj - -20887 0 obj -<> -endobj - -20888 0 obj -<> -endobj - -20889 0 obj -<> -endobj - -20890 0 obj -<> -endobj - -20891 0 obj -<> -endobj - -20892 0 obj -<> -endobj - -20893 0 obj -<> -endobj - -20894 0 obj -<> -endobj - -20895 0 obj -<> -endobj - -20896 0 obj -<> -endobj - -20897 0 obj -<> -endobj - -20898 0 obj -<> -endobj - -20899 0 obj -<> -endobj - -20900 0 obj -<> -endobj - -20901 0 obj -<> -endobj - -20902 0 obj -<> -endobj - -20903 0 obj -<> -endobj - -20904 0 obj -<> -endobj - -20905 0 obj -<> -endobj - -20906 0 obj -<> -endobj - -20907 0 obj -<> -endobj - -20908 0 obj -<> -endobj - -20909 0 obj -<> -endobj - -20910 0 obj -<> -endobj - -20911 0 obj -<> -endobj - -20912 0 obj -<> -endobj - -20913 0 obj -<> -endobj - -20914 0 obj -<> -endobj - -20915 0 obj -<> -endobj - -20916 0 obj -<> -endobj - -20917 0 obj -<> -endobj - -20918 0 obj -<> -endobj - -20919 0 obj -<> -endobj - -20920 0 obj -<> -endobj - -20921 0 obj -<> -endobj - -20922 0 obj -<> -endobj - -20923 0 obj -<> -endobj - -20924 0 obj -<> -endobj - -20925 0 obj -<> -endobj - -20926 0 obj -<> -endobj - -20927 0 obj -<> -endobj - -20928 0 obj -<> -endobj - -20929 0 obj -<> -endobj - -20930 0 obj -<> -endobj - -20931 0 obj -<> -endobj - -20932 0 obj -<> -endobj - -20933 0 obj -<> -endobj - -20934 0 obj -<> -endobj - -20935 0 obj -<> -endobj - -20936 0 obj -<> -endobj - -20937 0 obj -<> -endobj - -20938 0 obj -<> -endobj - -20939 0 obj -<> -endobj - -20940 0 obj -<> -endobj - -20941 0 obj -<> -endobj - -20942 0 obj -<> -endobj - -20943 0 obj -<> -endobj - -20944 0 obj -<> -endobj - -20945 0 obj -<> -endobj - -20946 0 obj -<> -endobj - -20947 0 obj -<> -endobj - -20948 0 obj -<> -endobj - -20949 0 obj -<> -endobj - -20950 0 obj -<> -endobj - -20951 0 obj -<> -endobj - -20952 0 obj -<> -endobj - -20953 0 obj -<> -endobj - -20954 0 obj -<> -endobj - -20955 0 obj -<> -endobj - -20956 0 obj -<> -endobj - -20957 0 obj -<> -endobj - -20958 0 obj -<> -endobj - -20959 0 obj -<> -endobj - -20960 0 obj -<> -endobj - -20961 0 obj -<> -endobj - -20962 0 obj -<> -endobj - -20963 0 obj -<> -endobj - -20964 0 obj -<> -endobj - -20965 0 obj -<> -endobj - -20966 0 obj -<> -endobj - -20967 0 obj -<> -endobj - -20968 0 obj -<> -endobj - -20969 0 obj -<> -endobj - -20970 0 obj -<> -endobj - -20971 0 obj -<> -endobj - -20972 0 obj -<> -endobj - -20973 0 obj -<> -endobj - -20974 0 obj -<> -endobj - -20975 0 obj -<> -endobj - -20976 0 obj -<> -endobj - -20977 0 obj -<> -endobj - -20978 0 obj -<> -endobj - -20979 0 obj -<> -endobj - -20980 0 obj -<> -endobj - -20981 0 obj -<> -endobj - -20982 0 obj -<> -endobj - -20983 0 obj -<> -endobj - -20984 0 obj -<> -endobj - -20985 0 obj -<> -endobj - -20986 0 obj -<> -endobj - -20987 0 obj -<> -endobj - -20988 0 obj -<> -endobj - -20989 0 obj -<> -endobj - -20990 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -20991 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -20992 0 obj -<> -endobj - -20993 0 obj -<> -endobj - -20994 0 obj -<> -endobj - -20995 0 obj -<> -endobj - -20996 0 obj -<> -endobj - -20997 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -20998 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -20999 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21000 0 obj -<> -stream -HksHWGbMf)B0 X[[Jy0˿ӎO;T(Hx֫>mɧMŞ??pK؋/_GePLg2N3`"7[F qVOGq6墨6mD/eZ2Ef5I2/QfғSC [Ϊrd'.6'wldlluZU?Y*l.7uX[֍Μq%pm4?g 7};v9a7,2u\D y4ƌHša (} -isPp/

6o<+U3QuVAV5|`*lVL}嫇նXtj3S? 0:+`z6#imm"%{C۪Uwݨ<őAZ[g1myHٮ'ogl]cQtn/w6z(`PGhq^6C>>`>na`M٢ޝ?lx'pW|1lw0^a\v랩:Rq<Mf"wy8 }(l -oHp7X>7/E -Mu侢o:+t!(F_Ȑa꾺+,fD(R_  \{n# roh*A  \g%WZNv.ro`MX*bp[Se0fI2Ki2:J>Y n`n/i?Ut?\|c;ޅ:inM\nVd~fmmJ?#]f/]τ+Rۋvs܋Ro[LE]&mQ“.sekVj*2mإ(: fUz"Ww\ͧ7e8TI!m(ή׻_o~5nKx8j -ӢEVsiQi1vFp@7njzU\HHv%fE>D X/U3{?% -N"uX'_q{c^OTE! @p~`s{5u'K/Ժ}K -~2dvUw ҰB!U&TAhߍvg VD CK" nG65'iɒNtþDN8Ͷ'Afс`}3] Ցl>2tl"(挩U݋ʦPZOtu]m/L/9_Qp#BPydVWTU*&@C}c$ԏ/fZɠ=6ckp"^σ#UГLN ~ij1Zy@?]c! -fdcIY kq(Iwx)rJ_"? a꾁r9vd?02ȹ/~[8.Iiɋ6(< -º-XMUtuswH8ZJs<~dݺ_mi=IH.C qvlmҮ*3nbqO *ihCnqƄʲJڕ,\X(X(vn]˱nHIU0JO@RFޚ/l)jo -*V˝Đ9eiF/iH\ȏ%Z`,M -EA#?8"l9aF ~+u%2Vf4TwŲ  TEϗ/IL?9! (tg}mgBDȓcق4Gfɤ9ĐjUА΄M%PV#oJ&ĴlOmo w@EhmWm^b0% vCaqO@} QGTtǶN(k7r=< \ƌPendstream -endobj - -22039 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -22040 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -22041 0 obj -<> -endobj - -22042 0 obj -<> -endobj - -22043 0 obj -<> -endobj - -22044 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -22045 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -22046 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -22047 0 obj -<> -stream -HWo}}<#!.qL8ueȚD|ַjjE64u4xљM| k$4%i<)p2ïӬKc}꽯?ti{Ǐɷ?Նyϯjv%6(GpdA{ؙ&yJ_o̧ωYRN -G2RsJW$1K?NbIJVƬwkyNwS=p{{^}PpOOO ϔ ϔϕϕϕ///W [DVb%F,Z1K{ VbUjHĘܫ:Z VbUjHĘܫ:Z VbUjHĘܫ:Z VbUjHĘܫ:Z-"R+1fi#HĘKYڽĈR+1f*VbUj=HĈR+1f*VbUj=HĈR+1f*VbUj=HĈR+1f*VbUj=HQ{ Vb%,^b{R+1f*Vb{R+1f*Vb{R+1f*Vb{R+1f*Vb({ Vb%,˲ &'0 X3E6`Q83YV"Ի1^0ygWe5ir^m67 -vLx/jLeEj:`h/|ue%5Yb^Wfm[]5ㅩe}uUIxÉ9|r"q_D|EzcZzt܎ Ьf 헲M8Z7^`YT oLzq!-vO:`;,dn{և#ƬVZAiV -RTie@+SZʔVr\i@PZ*V JURjDkIYZKbIJ@*- r@)-T;cR}@KY@K}/1f-ĘT;cR}@KY@K}/ݸ{̒ZĘ$c+R}AKVރ@K}/1H{^bk@K}}/1ր^b<-x Z{TKkIYZKb<:-)2`rKN9ƣ8+Ko9oGAw)+/v%~ -6WM\a~T7WW )@jjqQË́LY_xiYWtʺwŋ]uT զ6NΖTmg..I I%~.j9gc}"N?ڪYHWnQj&5tژy$G3PwyQdtz;sv*,;יq(w'J9H49Ǥc-z`Le!I۲^PEfkX=9q/r3ϰ9>Bpuq$nOHfg3:r2_U?ɨ?/TT /z٨o/wqa诡8Mwy@AF3&f;5]OMrjx/Q<6T8zn=4Ň椹Y>{m<2ޜʹ$.tQpmT?vԳ G7^'DlM۵^iz'M3R/ENyļ[Et]ߢuCzݎmh$mŮ(l9mW$IO2<;Ʉ.oˋfYu#VQs -.^mj7Ul ~뎚f|wK[E%PvMoMT|İ[rs\o"vn{KYhF[b\/w{/gHE`EPǻW/g+ҭ\a ,d[!]ݑ]ЮHK8f÷ǃզy7[:{endstream -endobj - -22048 0 obj -<> -endobj - -22049 0 obj -<> -endobj - -22050 0 obj -<> -endobj - -22051 0 obj -<> -endobj - -22052 0 obj -<> -endobj - -22053 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -22054 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -22055 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -22056 0 obj -<> -stream -HWko8_r"v0@H13-&} -٦udɕWl`Qy{嗢O?-}{߼{x"bq&D4A,X ٽYɼ*Qm-o kKoF{+~'gC,1Yfln˦f"}/><3%0o!2/I b//mNrrCl Yn8.,[;x G G$KG$KG$KG}D>rDŽQcG}L >q'QSG}JO)>ugQ3G}N9,'Lkc{O1dm Xkm YzCƀEƐEw\+kZZCq \kc";km Xkm Yzǵp!PV1`1d -µ6,BZA$\kcr\6,Wp!PV1dJµ6,µ6,BZIƐEw\+ k%ZCq$\kc"\kc";km Yzǵpp!Uoc"\kcr\6,µ6,Bڈp!P6"\kc"\kc";k#µ6,µ6,Bڈp!P6"\kc"\kc";k#µ6bµ6,Wp!UocrA ߤ{oVrlx8_$j2`XWjmiJ@FH< Jfli_/?FSgtcM[gUUjxaz}ȯ"ڞA*Lf/ rɒ84;wn)ى/}:3"Ak{Ϳ~{;CIO;|2g_qXia!`哳H%%' -!ɧ<.IAWLЗ)jX+F9s7-.S -S؜&Sc&ۦk, 莇Cӎoͱ^L Sgyb_$^`i&M!d,y5PXhqIVY^j|: Jܺ7SlZb;(XZ1}2$ -D4坧aZLB7eǓ꾰Oވqgdm:=>4;U3ߍDIia ,N(GoFSuji@-x!9Av\!j[yf?sXAGH˾܏ض-viù1M.^.9ahߩqGe%З%c)H\N% - ʣd0/:HYÛ No$O69M/,e(z2 \@O 5OWB o;+X7> !]ttHW9Qf'"'N]3ea 9qja3 |t8e  -s,;PCUt3Z;eJX~_L -[Z ;a{Vj6j09b>{f6(o9N (z RG -?ni -yf@h8\D+zL$Ah\N!"(AˁEY Z-Um {hN{8® ]@..i 9ZD,J CzSm8|]2Aa|zoA7qȁ̳ g0ayu++HW7@1v/0\T_,Paݝ`n.L貙p9z=6S`ǦNB[Yw@ť&8jdP&7|{~g'> * n}[*ABo~ڲ;øk&6 -`H=bɈƗWxs 7p}bS%͋/0qf>b!OXԊ& _o'6T\_I ->}&su;l0Y/v4tW0 nF7g\wSc'H -kJtz\NW}6rlμ!4a,8\܅p K㩾?qWSò,衻[`o`INdQlYs-H!8tH+[^1nf+;固[cU -( C$3 U'~0`O& j"77vXhKw[IQr1& ]VƷ]kJD/y29/ȧ`S)+&Bte_ӡF䅷"9 "*O9*oQh]E+L)/<b dO  HbX\b6U#Jo; ->:`׵/(KυT.Im>E8+RWC׮[̼кfn!`sKI4U^Nɒ'La&d)/=q©Jc®#J׽4hb_tjNYKY FH>LLeqıCQL }7ݤz -O\.>Sxq]ƚ WPtw˺XAu,s3>;LDyޯsQ]Ӗ%$-q.n ((]ECi|?ȭ<Xt=fXE{=uC*fkT]ұjS\HTBcl+T̄ldEI|^&E?Rӷo_~uEYح^~ -gA+du]z`pƀfj9 "փ|z5>QѡBp$+^eNMy$) -ʻ} `I?ܬTeROf>+&?yiVk}oD@X -L.'[XL[3-ciOiJz\q>/P 1120 0 R/Type/Annot/A 38122 0 R/Subtype/Link/Rect[129.600006 550.429016 322.656006 570.109009]/Border[0 0 0]/H/N>> -endobj - -22058 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -22059 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -22060 0 obj -<> -endobj - -22061 0 obj -<> -endobj - -22062 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -22063 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -22064 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -22065 0 obj -<> -stream -HWmu0P;ENZ@R8AeŕtN_ߙjIWu!É|yg^MJZR3Um%sVFCSvg`kV,Oo͛fXoabuu{Euw xlY`ښZ9lfowͿo[Z 8X]m% ށwY%=VEM -&ń*6Dۥ6@  J Om{{W{W{W{{{7{7{7{{{w{w{w{{{LmjVPmjCT>PmjCT>!*gE6!`VMm"gjSզ6D3JB QLPmjԆ(}ZI6!`VMm"TET+ զ6D3JBm[)B Q9(B Q9Ԇ}jԆ(}ZE6!`VMm"TETզ6D3*B PjSjԆ(}ZE6PmjC>S"TETզm զ6DSզ6DSr PjSj5Ԇ(}ZM6PmjC>S&TET զ6@Mm"gՄjSj5(B QLPmjC>S&Tڶ!TOm"TOmه:mzQ.ĝb-*ߚ=2ԖYmavsqYf2ya83gAaXσ:(.paIg)oG(_=\cf=LưŊ]ޫLHY㴯-rϰY K{~FԒsn8`xij؋ y Y>'xO }qxo A}9#X fOi i8е7"F/Pmd9k͹aVw ߔ5`< Tt-hЯPJ 5y+ -AwZԮ [ti;a0O$j ~ 00駟'/iN1nDt(k s!B -ge|9*eBp̄vV1._,+B<ȿˢZxY(ܕs~=D\ 4 cUuЋvOg?6mܭc\;8Pz)hw!쟎t ,ܪeAXt,g\f/oթMk>5pnq"x˼Gc -P_ӇbKAתLE lf;&"E[-|gϙ!)GGqXؽ`d Z`!aN,3 `.9)'DpHŰ X{K\Q *D!-#mJ6#-~8tmqrNEB{*I-E-?m^rKLZpfNʤ2ƔhJ.ŖXIs,xݯ_6ˏzkl ٩ -':dL\˚c|3˃Iuu0_0UמؚYip#nrx\\@FK^ cԙ%Ԅ\_ξE뗳'Cs?VMÙO_Nw|2ubDlթDע%*JU~RbR1]ʴ]JE˭q [?&BQ4ȓ?W|Z2*ډ/ØPLR=d.Fxdٿ-M3<3 -qN7WN@*-*L0W_hLN6iaC%k&a[g[x2Etܸe!Cm\=0HjpTUBñT}dz yb"ǭ oþutu QS(N͖ͱ{@"z!t|>׻SsxJ@O_OPܨUx%qB *^ixt\:[SsJ_x(k'g9K 5]>4ٙi?-Q~B^cR‹F4n}N W(((8P9s<~uQz8<4,}jǧ#{xڭ`h70~RZpy_ҫ7n+!ѵ@>&MQ@!ڰ)Q$",y37.9Z~m zJIo^` N:#B/T4V+%*{>6iLş-&p+IͥJI"Rѣ8p(1NXf-mnVwסJnG-qK FS qQY `حu+.UC#2fo)u[qdn>8NwtVNqI(}2p ^z {vG9:#cXka-]=}ԓ51Lա[jIMi0SQfaiLuiMFt>M$g3-\ 4c$s# 4uެ.f4JYUb"n&ÿk5!~8NCl֭|_7y%'<dLޏl5R,lh1mY-\e+xM|,6+lXd|a뻯X--6&*3?\dV)^YkT8u?Ueheʔ|ܗHHQ%Rb$+1_ش@{~WZL (~mCܾnFݖ/waIt!1< }} d191]ʰn[TC22,y@EpTTJo^ i d%/9S4<]mjRf- ^WvWЎ_wkr E?Ym";m@h'wZBRNUJCB׷?}6#nk=[V -PF֠uHm~VX#|ԬtŪɗVML¤ʵ@ٮƄD%+ҬXfw}+1^x!4/+>1$ltD 0ϳ qØ9 H*+- ڄ٧ b0 3O@iU;Iz*NiGNN!nXZ7ϡN v$]KlKȃ}Mt8p&(K8]T̪w.g^L)s=q{U&K쟑8(ġ}zx9gUUs?>Z9/m%"և7oBC3RZ`l{ -" -С >noֱXp >8Y;p\\p|Xϸ~f_d&0<2 e7:135=YvL>δ2b -6I- T-TWDSv?Y\< 9qhЦoni^Iӫ_zwendstream -endobj - -22066 0 obj -<>/P 12054 0 R/Type/Annot/A 22455 0 R/Subtype/Link/Rect[183 670 193 678]/Border[0 0 0]/H/N>> -endobj - -22067 0 obj -<>/P 12054 0 R/Type/Annot/A 43516 0 R/Subtype/Link/Rect[195 670 208 678]/Border[0 0 0]/H/N>> -endobj - -22068 0 obj -<>/P 12054 0 R/Type/Annot/A 40121 0 R/Subtype/Link/Rect[209 670 219 678]/Border[0 0 0]/H/N>> -endobj - -22069 0 obj -<>/P 12054 0 R/Type/Annot/A 22442 0 R/Subtype/Link/Rect[221 670 237 678]/Border[0 0 0]/H/N>> -endobj - -22070 0 obj -<>/P 12054 0 R/Type/Annot/A 39545 0 R/Subtype/Link/Rect[237 670 251 678]/Border[0 0 0]/H/N>> -endobj - -22071 0 obj -<>/P 12054 0 R/Type/Annot/A 22435 0 R/Subtype/Link/Rect[253 670 266 678]/Border[0 0 0]/H/N>> -endobj - -22072 0 obj -<>/P 12054 0 R/Type/Annot/A 38980 0 R/Subtype/Link/Rect[268 670 282 678]/Border[0 0 0]/H/N>> -endobj - -22073 0 obj -<>/P 12054 0 R/Type/Annot/A 22428 0 R/Subtype/Link/Rect[151 660 168 669]/Border[0 0 0]/H/N>> -endobj - -22074 0 obj -<>/P 12054 0 R/Type/Annot/A 22424 0 R/Subtype/Link/Rect[169 660 183 668]/Border[0 0 0]/H/N>> -endobj - -22075 0 obj -<>/P 12054 0 R/Type/Annot/A 38347 0 R/Subtype/Link/Rect[185 660 199 668]/Border[0 0 0]/H/N>> -endobj - -22076 0 obj -<>/P 12054 0 R/Type/Annot/A 22417 0 R/Subtype/Link/Rect[201 660 215 668]/Border[0 0 0]/H/N>> -endobj - -22077 0 obj -<>/P 12054 0 R/Type/Annot/A 38280 0 R/Subtype/Link/Rect[217 660 231 668]/Border[0 0 0]/H/N>> -endobj - -22078 0 obj -<>/P 12054 0 R/Type/Annot/A 22409 0 R/Subtype/Link/Rect[233 660 247 668]/Border[0 0 0]/H/N>> -endobj - -22079 0 obj -<>/P 12054 0 R/Type/Annot/A 43008 0 R/Subtype/Link/Rect[249 660 265 669]/Border[0 0 0]/H/N>> -endobj - -22080 0 obj -<>/P 12054 0 R/Type/Annot/A 22402 0 R/Subtype/Link/Rect[266 660 278 668]/Border[0 0 0]/H/N>> -endobj - -22081 0 obj -<>/P 12054 0 R/Type/Annot/A 36728 0 R/Subtype/Link/Rect[202 650 219 659]/Border[0 0 0]/H/N>> -endobj - -22082 0 obj -<>/P 12054 0 R/Type/Annot/A 22396 0 R/Subtype/Link/Rect[220 650 234 658]/Border[0 0 0]/H/N>> -endobj - -22083 0 obj -<>/P 12054 0 R/Type/Annot/A 38180 0 R/Subtype/Link/Rect[236 650 250 658]/Border[0 0 0]/H/N>> -endobj - -22084 0 obj -<>/P 12054 0 R/Type/Annot/A 22389 0 R/Subtype/Link/Rect[252 650 264 658]/Border[0 0 0]/H/N>> -endobj - -22085 0 obj -<>/P 12054 0 R/Type/Annot/A 35095 0 R/Subtype/Link/Rect[190 640 202 648]/Border[0 0 0]/H/N>> -endobj - -22086 0 obj -<>/P 12054 0 R/Type/Annot/A 22382 0 R/Subtype/Link/Rect[212 630 228 639]/Border[0 0 0]/H/N>> -endobj - -22087 0 obj -<>/P 12054 0 R/Type/Annot/A 38131 0 R/Subtype/Link/Rect[229 630 243 638]/Border[0 0 0]/H/N>> -endobj - -22088 0 obj -<>/P 12054 0 R/Type/Annot/A 22374 0 R/Subtype/Link/Rect[245 630 259 638]/Border[0 0 0]/H/N>> -endobj - -22089 0 obj -<>/P 12054 0 R/Type/Annot/A 22370 0 R/Subtype/Link/Rect[261 630 273 638]/Border[0 0 0]/H/N>> -endobj - -22090 0 obj -<>/P 12054 0 R/Type/Annot/A 22366 0 R/Subtype/Link/Rect[190 620 202 628]/Border[0 0 0]/H/N>> -endobj - -22091 0 obj -<>/P 12054 0 R/Type/Annot/A 38061 0 R/Subtype/Link/Rect[222 610 232 618]/Border[0 0 0]/H/N>> -endobj - -22092 0 obj -<>/P 12054 0 R/Type/Annot/A 38050 0 R/Subtype/Link/Rect[234 610 244 618]/Border[0 0 0]/H/N>> -endobj - -22093 0 obj -<>/P 12054 0 R/Type/Annot/A 22357 0 R/Subtype/Link/Rect[246 610 254 618]/Border[0 0 0]/H/N>> -endobj - -22094 0 obj -<>/P 12054 0 R/Type/Annot/A 22353 0 R/Subtype/Link/Rect[222 600 232 608]/Border[0 0 0]/H/N>> -endobj - -22095 0 obj -<>/P 12054 0 R/Type/Annot/A 22561 0 R/Subtype/Link/Rect[234 600 244 608]/Border[0 0 0]/H/N>> -endobj - -22096 0 obj -<>/P 12054 0 R/Type/Annot/A 22559 0 R/Subtype/Link/Rect[246 600 258 609]/Border[0 0 0]/H/N>> -endobj - -22097 0 obj -<>/P 12054 0 R/Type/Annot/A 31795 0 R/Subtype/Link/Rect[259 600 267 608]/Border[0 0 0]/H/N>> -endobj - -22098 0 obj -<>/P 12054 0 R/Type/Annot/A 31106 0 R/Subtype/Link/Rect[188 590 198 598]/Border[0 0 0]/H/N>> -endobj - -22099 0 obj -<>/P 12054 0 R/Type/Annot/A 31056 0 R/Subtype/Link/Rect[200 590 210 598]/Border[0 0 0]/H/N>> -endobj - -22100 0 obj -<>/P 12054 0 R/Type/Annot/A 30999 0 R/Subtype/Link/Rect[212 590 224 598]/Border[0 0 0]/H/N>> -endobj - -22101 0 obj -<>/P 12054 0 R/Type/Annot/A 37937 0 R/Subtype/Link/Rect[190 580 198 588]/Border[0 0 0]/H/N>> -endobj - -22102 0 obj -<>/P 12054 0 R/Type/Annot/A 30250 0 R/Subtype/Link/Rect[189 570 197 578]/Border[0 0 0]/H/N>> -endobj - -22103 0 obj -<>/P 12054 0 R/Type/Annot/A 30218 0 R/Subtype/Link/Rect[239 560 251 569]/Border[0 0 0]/H/N>> -endobj - -22104 0 obj -<>/P 12054 0 R/Type/Annot/A 30156 0 R/Subtype/Link/Rect[252 560 260 568]/Border[0 0 0]/H/N>> -endobj - -22105 0 obj -<>/P 12054 0 R/Type/Annot/A 30125 0 R/Subtype/Link/Rect[202 550 212 558]/Border[0 0 0]/H/N>> -endobj - -22106 0 obj -<>/P 12054 0 R/Type/Annot/A 30078 0 R/Subtype/Link/Rect[214 550 226 559]/Border[0 0 0]/H/N>> -endobj - -22107 0 obj -<>/P 12054 0 R/Type/Annot/A 22525 0 R/Subtype/Link/Rect[227 550 235 558]/Border[0 0 0]/H/N>> -endobj - -22108 0 obj -<>/P 12054 0 R/Type/Annot/A 29284 0 R/Subtype/Link/Rect[220 540 232 548]/Border[0 0 0]/H/N>> -endobj - -22109 0 obj -<>/P 12054 0 R/Type/Annot/A 29254 0 R/Subtype/Link/Rect[202 530 212 538]/Border[0 0 0]/H/N>> -endobj - -22110 0 obj -<>/P 12054 0 R/Type/Annot/A 29205 0 R/Subtype/Link/Rect[214 530 224 538]/Border[0 0 0]/H/N>> -endobj - -22111 0 obj -<>/P 12054 0 R/Type/Annot/A 22509 0 R/Subtype/Link/Rect[226 530 236 538]/Border[0 0 0]/H/N>> -endobj - -22112 0 obj -<>/P 12054 0 R/Type/Annot/A 29136 0 R/Subtype/Link/Rect[238 530 251 539]/Border[0 0 0]/H/N>> -endobj - -22113 0 obj -<>/P 12054 0 R/Type/Annot/A 22503 0 R/Subtype/Link/Rect[252 530 262 538]/Border[0 0 0]/H/N>> -endobj - -22114 0 obj -<>/P 12054 0 R/Type/Annot/A 37836 0 R/Subtype/Link/Rect[264 530 276 539]/Border[0 0 0]/H/N>> -endobj - -22115 0 obj -<>/P 12054 0 R/Type/Annot/A 22495 0 R/Subtype/Link/Rect[277 530 287 538]/Border[0 0 0]/H/N>> -endobj - -22116 0 obj -<>/P 12054 0 R/Type/Annot/A 28503 0 R/Subtype/Link/Rect[289 530 299 538]/Border[0 0 0]/H/N>> -endobj - -22117 0 obj -<>/P 12054 0 R/Type/Annot/A 22489 0 R/Subtype/Link/Rect[151 520 164 529]/Border[0 0 0]/H/N>> -endobj - -22118 0 obj -<>/P 12054 0 R/Type/Annot/A 37790 0 R/Subtype/Link/Rect[165 520 175 528]/Border[0 0 0]/H/N>> -endobj - -22119 0 obj -<>/P 12054 0 R/Type/Annot/A 22480 0 R/Subtype/Link/Rect[177 520 187 528]/Border[0 0 0]/H/N>> -endobj - -22120 0 obj -<>/P 12054 0 R/Type/Annot/A 22474 0 R/Subtype/Link/Rect[189 520 199 528]/Border[0 0 0]/H/N>> -endobj - -22121 0 obj -<>/P 12054 0 R/Type/Annot/A 27605 0 R/Subtype/Link/Rect[201 520 215 528]/Border[0 0 0]/H/N>> -endobj - -22122 0 obj -<>/P 12054 0 R/Type/Annot/A 22468 0 R/Subtype/Link/Rect[217 520 231 528]/Border[0 0 0]/H/N>> -endobj - -22123 0 obj -<>/P 12054 0 R/Type/Annot/A 22464 0 R/Subtype/Link/Rect[233 520 247 528]/Border[0 0 0]/H/N>> -endobj - -22124 0 obj -<>/P 12054 0 R/Type/Annot/A 37736 0 R/Subtype/Link/Rect[249 520 263 528]/Border[0 0 0]/H/N>> -endobj - -22125 0 obj -<>/P 12054 0 R/Type/Annot/A 26512 0 R/Subtype/Link/Rect[265 520 281 529]/Border[0 0 0]/H/N>> -endobj - -22126 0 obj -<>/P 12054 0 R/Type/Annot/A 37722 0 R/Subtype/Link/Rect[282 520 296 528]/Border[0 0 0]/H/N>> -endobj - -22127 0 obj -<>/P 12054 0 R/Type/Annot/A 22450 0 R/Subtype/Link/Rect[151 510 165 518]/Border[0 0 0]/H/N>> -endobj - -22128 0 obj -<>/P 12054 0 R/Type/Annot/A 22446 0 R/Subtype/Link/Rect[167 510 184 519]/Border[0 0 0]/H/N>> -endobj - -22129 0 obj -<>/P 12054 0 R/Type/Annot/A 25872 0 R/Subtype/Link/Rect[185 510 199 518]/Border[0 0 0]/H/N>> -endobj - -22130 0 obj -<>/P 12054 0 R/Type/Annot/A 22438 0 R/Subtype/Link/Rect[201 510 215 518]/Border[0 0 0]/H/N>> -endobj - -22131 0 obj -<>/P 12054 0 R/Type/Annot/A 25795 0 R/Subtype/Link/Rect[217 510 231 518]/Border[0 0 0]/H/N>> -endobj - -22132 0 obj -<>/P 12054 0 R/Type/Annot/A 24990 0 R/Subtype/Link/Rect[233 510 247 518]/Border[0 0 0]/H/N>> -endobj - -22133 0 obj -<>/P 12054 0 R/Type/Annot/A 37670 0 R/Subtype/Link/Rect[249 510 263 518]/Border[0 0 0]/H/N>> -endobj - -22134 0 obj -<>/P 12054 0 R/Type/Annot/A 24297 0 R/Subtype/Link/Rect[265 510 279 518]/Border[0 0 0]/H/N>> -endobj - -22135 0 obj -<>/P 12054 0 R/Type/Annot/A 22420 0 R/Subtype/Link/Rect[281 510 295 518]/Border[0 0 0]/H/N>> -endobj - -22136 0 obj -<>/P 12054 0 R/Type/Annot/A 22416 0 R/Subtype/Link/Rect[297 510 311 518]/Border[0 0 0]/H/N>> -endobj - -22137 0 obj -<>/P 12054 0 R/Type/Annot/A 23391 0 R/Subtype/Link/Rect[151 500 165 508]/Border[0 0 0]/H/N>> -endobj - -22138 0 obj -<>/P 12054 0 R/Type/Annot/A 23354 0 R/Subtype/Link/Rect[167 500 181 508]/Border[0 0 0]/H/N>> -endobj - -22139 0 obj -<>/P 12054 0 R/Type/Annot/A 22406 0 R/Subtype/Link/Rect[183 500 197 508]/Border[0 0 0]/H/N>> -endobj - -22140 0 obj -<>/P 12054 0 R/Type/Annot/A 22588 0 R/Subtype/Link/Rect[199 500 211 508]/Border[0 0 0]/H/N>> -endobj - -22141 0 obj -<>/P 12054 0 R/Type/Annot/A 22577 0 R/Subtype/Link/Rect[190 490 198 498]/Border[0 0 0]/H/N>> -endobj - -22142 0 obj -<>/P 12054 0 R/Type/Annot/A 22576 0 R/Subtype/Link/Rect[199 480 213 488]/Border[0 0 0]/H/N>> -endobj - -22143 0 obj -<>/P 12054 0 R/Type/Annot/A 22575 0 R/Subtype/Link/Rect[215 480 227 488]/Border[0 0 0]/H/N>> -endobj - -22144 0 obj -<>/P 12054 0 R/Type/Annot/A 22574 0 R/Subtype/Link/Rect[199 470 211 478]/Border[0 0 0]/H/N>> -endobj - -22145 0 obj -<>/P 12054 0 R/Type/Annot/A 22573 0 R/Subtype/Link/Rect[244 460 252 468]/Border[0 0 0]/H/N>> -endobj - -22146 0 obj -<>/P 12054 0 R/Type/Annot/A 22572 0 R/Subtype/Link/Rect[225 450 233 458]/Border[0 0 0]/H/N>> -endobj - -22147 0 obj -<>/P 12054 0 R/Type/Annot/A 22571 0 R/Subtype/Link/Rect[215 440 225 448]/Border[0 0 0]/H/N>> -endobj - -22148 0 obj -<>/P 12054 0 R/Type/Annot/A 22569 0 R/Subtype/Link/Rect[227 440 239 448]/Border[0 0 0]/H/N>> -endobj - -22149 0 obj -<>/P 12054 0 R/Type/Annot/A 22568 0 R/Subtype/Link/Rect[268 430 280 438]/Border[0 0 0]/H/N>> -endobj - -22150 0 obj -<>/P 12054 0 R/Type/Annot/A 22567 0 R/Subtype/Link/Rect[197 420 211 428]/Border[0 0 0]/H/N>> -endobj - -22151 0 obj -<>/P 12054 0 R/Type/Annot/A 22566 0 R/Subtype/Link/Rect[213 420 227 428]/Border[0 0 0]/H/N>> -endobj - -22152 0 obj -<>/P 12054 0 R/Type/Annot/A 22565 0 R/Subtype/Link/Rect[229 420 246 429]/Border[0 0 0]/H/N>> -endobj - -22153 0 obj -<>/P 12054 0 R/Type/Annot/A 22564 0 R/Subtype/Link/Rect[247 420 261 428]/Border[0 0 0]/H/N>> -endobj - -22154 0 obj -<>/P 12054 0 R/Type/Annot/A 22563 0 R/Subtype/Link/Rect[263 420 279 429]/Border[0 0 0]/H/N>> -endobj - -22155 0 obj -<>/P 12054 0 R/Type/Annot/A 22562 0 R/Subtype/Link/Rect[280 420 294 428]/Border[0 0 0]/H/N>> -endobj - -22156 0 obj -<>/P 12054 0 R/Type/Annot/A 22560 0 R/Subtype/Link/Rect[151 410 168 419]/Border[0 0 0]/H/N>> -endobj - -22157 0 obj -<>/P 12054 0 R/Type/Annot/A 22558 0 R/Subtype/Link/Rect[169 410 183 418]/Border[0 0 0]/H/N>> -endobj - -22158 0 obj -<>/P 12054 0 R/Type/Annot/A 22557 0 R/Subtype/Link/Rect[185 410 201 419]/Border[0 0 0]/H/N>> -endobj - -22159 0 obj -<>/P 12054 0 R/Type/Annot/A 22556 0 R/Subtype/Link/Rect[202 410 216 418]/Border[0 0 0]/H/N>> -endobj - -22160 0 obj -<>/P 12054 0 R/Type/Annot/A 22554 0 R/Subtype/Link/Rect[218 410 232 418]/Border[0 0 0]/H/N>> -endobj - -22161 0 obj -<>/P 12054 0 R/Type/Annot/A 22551 0 R/Subtype/Link/Rect[234 410 248 418]/Border[0 0 0]/H/N>> -endobj - -22162 0 obj -<>/P 12054 0 R/Type/Annot/A 22548 0 R/Subtype/Link/Rect[250 410 262 418]/Border[0 0 0]/H/N>> -endobj - -22163 0 obj -<>/P 12054 0 R/Type/Annot/A 22545 0 R/Subtype/Link/Rect[190 400 202 408]/Border[0 0 0]/H/N>> -endobj - -22164 0 obj -<>/P 12054 0 R/Type/Annot/A 22542 0 R/Subtype/Link/Rect[203 390 220 399]/Border[0 0 0]/H/N>> -endobj - -22165 0 obj -<>/P 12054 0 R/Type/Annot/A 22539 0 R/Subtype/Link/Rect[221 390 235 398]/Border[0 0 0]/H/N>> -endobj - -22166 0 obj -<>/P 12054 0 R/Type/Annot/A 22536 0 R/Subtype/Link/Rect[237 390 251 398]/Border[0 0 0]/H/N>> -endobj - -22167 0 obj -<>/P 12054 0 R/Type/Annot/A 22533 0 R/Subtype/Link/Rect[253 390 267 398]/Border[0 0 0]/H/N>> -endobj - -22168 0 obj -<>/P 12054 0 R/Type/Annot/A 22529 0 R/Subtype/Link/Rect[269 390 285 399]/Border[0 0 0]/H/N>> -endobj - -22169 0 obj -<>/P 12054 0 R/Type/Annot/A 22524 0 R/Subtype/Link/Rect[286 390 298 398]/Border[0 0 0]/H/N>> -endobj - -22170 0 obj -<>/P 12054 0 R/Type/Annot/A 22521 0 R/Subtype/Link/Rect[211 380 219 388]/Border[0 0 0]/H/N>> -endobj - -22171 0 obj -<>/P 12054 0 R/Type/Annot/A 22518 0 R/Subtype/Link/Rect[225 370 237 378]/Border[0 0 0]/H/N>> -endobj - -22172 0 obj -<>/P 12054 0 R/Type/Annot/A 22514 0 R/Subtype/Link/Rect[220 360 228 368]/Border[0 0 0]/H/N>> -endobj - -22173 0 obj -<>/P 12054 0 R/Type/Annot/A 22510 0 R/Subtype/Link/Rect[215 350 223 358]/Border[0 0 0]/H/N>> -endobj - -22174 0 obj -<>/P 12054 0 R/Type/Annot/A 22506 0 R/Subtype/Link/Rect[220 340 228 348]/Border[0 0 0]/H/N>> -endobj - -22175 0 obj -<>/P 12054 0 R/Type/Annot/A 22504 0 R/Subtype/Link/Rect[225 330 235 338]/Border[0 0 0]/H/N>> -endobj - -22176 0 obj -<>/P 12054 0 R/Type/Annot/A 22500 0 R/Subtype/Link/Rect[237 330 245 338]/Border[0 0 0]/H/N>> -endobj - -22177 0 obj -<>/P 12054 0 R/Type/Annot/A 22497 0 R/Subtype/Link/Rect[239 320 247 328]/Border[0 0 0]/H/N>> -endobj - -22178 0 obj -<>/P 12054 0 R/Type/Annot/A 22493 0 R/Subtype/Link/Rect[230 310 240 318]/Border[0 0 0]/H/N>> -endobj - -22179 0 obj -<>/P 12054 0 R/Type/Annot/A 22490 0 R/Subtype/Link/Rect[242 310 256 318]/Border[0 0 0]/H/N>> -endobj - -22180 0 obj -<>/P 12054 0 R/Type/Annot/A 22487 0 R/Subtype/Link/Rect[258 310 272 318]/Border[0 0 0]/H/N>> -endobj - -22181 0 obj -<>/P 12054 0 R/Type/Annot/A 22484 0 R/Subtype/Link/Rect[274 310 291 319]/Border[0 0 0]/H/N>> -endobj - -22182 0 obj -<>/P 12054 0 R/Type/Annot/A 22479 0 R/Subtype/Link/Rect[291 310 303 318]/Border[0 0 0]/H/N>> -endobj - -22183 0 obj -<>/P 12054 0 R/Type/Annot/A 22475 0 R/Subtype/Link/Rect[215 300 225 308]/Border[0 0 0]/H/N>> -endobj - -22184 0 obj -<>/P 12054 0 R/Type/Annot/A 22471 0 R/Subtype/Link/Rect[227 300 239 308]/Border[0 0 0]/H/N>> -endobj - -22185 0 obj -<>/P 12054 0 R/Type/Annot/A 22469 0 R/Subtype/Link/Rect[215 290 223 298]/Border[0 0 0]/H/N>> -endobj - -22186 0 obj -<>/P 12054 0 R/Type/Annot/A 22465 0 R/Subtype/Link/Rect[220 280 232 288]/Border[0 0 0]/H/N>> -endobj - -22187 0 obj -<>/P 12054 0 R/Type/Annot/A 22462 0 R/Subtype/Link/Rect[230 270 242 278]/Border[0 0 0]/H/N>> -endobj - -22188 0 obj -<>/P 12054 0 R/Type/Annot/A 22459 0 R/Subtype/Link/Rect[230 260 240 268]/Border[0 0 0]/H/N>> -endobj - -22189 0 obj -<>/P 12054 0 R/Type/Annot/A 22457 0 R/Subtype/Link/Rect[242 260 254 268]/Border[0 0 0]/H/N>> -endobj - -22190 0 obj -<>/P 12054 0 R/Type/Annot/A 22454 0 R/Subtype/Link/Rect[230 250 238 258]/Border[0 0 0]/H/N>> -endobj - -22191 0 obj -<>/P 12054 0 R/Type/Annot/A 22449 0 R/Subtype/Link/Rect[220 240 230 248]/Border[0 0 0]/H/N>> -endobj - -22192 0 obj -<>/P 12054 0 R/Type/Annot/A 22445 0 R/Subtype/Link/Rect[232 240 240 248]/Border[0 0 0]/H/N>> -endobj - -22193 0 obj -<>/P 12054 0 R/Type/Annot/A 22441 0 R/Subtype/Link/Rect[235 230 243 238]/Border[0 0 0]/H/N>> -endobj - -22194 0 obj -<>/P 12054 0 R/Type/Annot/A 22437 0 R/Subtype/Link/Rect[244 220 256 228]/Border[0 0 0]/H/N>> -endobj - -22195 0 obj -<>/P 12054 0 R/Type/Annot/A 22434 0 R/Subtype/Link/Rect[178 210 184 218]/Border[0 0 0]/H/N>> -endobj - -22196 0 obj -<>/P 12054 0 R/Type/Annot/A 22431 0 R/Subtype/Link/Rect[186 210 194 218]/Border[0 0 0]/H/N>> -endobj - -22197 0 obj -<>/P 12054 0 R/Type/Annot/A 22429 0 R/Subtype/Link/Rect[187 200 204 209]/Border[0 0 0]/H/N>> -endobj - -22198 0 obj -<>/P 12054 0 R/Type/Annot/A 22426 0 R/Subtype/Link/Rect[204 200 218 208]/Border[0 0 0]/H/N>> -endobj - -22199 0 obj -<>/P 12054 0 R/Type/Annot/A 22422 0 R/Subtype/Link/Rect[220 200 234 208]/Border[0 0 0]/H/N>> -endobj - -22200 0 obj -<>/P 12054 0 R/Type/Annot/A 22419 0 R/Subtype/Link/Rect[236 200 250 208]/Border[0 0 0]/H/N>> -endobj - -22201 0 obj -<>/P 12054 0 R/Type/Annot/A 22415 0 R/Subtype/Link/Rect[252 200 269 209]/Border[0 0 0]/H/N>> -endobj - -22202 0 obj -<>/P 12054 0 R/Type/Annot/A 22411 0 R/Subtype/Link/Rect[270 200 284 208]/Border[0 0 0]/H/N>> -endobj - -22203 0 obj -<>/P 12054 0 R/Type/Annot/A 22408 0 R/Subtype/Link/Rect[286 200 300 208]/Border[0 0 0]/H/N>> -endobj - -22204 0 obj -<>/P 12054 0 R/Type/Annot/A 22405 0 R/Subtype/Link/Rect[151 190 163 198]/Border[0 0 0]/H/N>> -endobj - -22205 0 obj -<>/P 12054 0 R/Type/Annot/A 22401 0 R/Subtype/Link/Rect[178 180 194 189]/Border[0 0 0]/H/N>> -endobj - -22206 0 obj -<>/P 12054 0 R/Type/Annot/A 22399 0 R/Subtype/Link/Rect[195 180 209 188]/Border[0 0 0]/H/N>> -endobj - -22207 0 obj -<>/P 12054 0 R/Type/Annot/A 22395 0 R/Subtype/Link/Rect[211 180 228 189]/Border[0 0 0]/H/N>> -endobj - -22208 0 obj -<>/P 12054 0 R/Type/Annot/A 22392 0 R/Subtype/Link/Rect[228 180 242 188]/Border[0 0 0]/H/N>> -endobj - -22209 0 obj -<>/P 12054 0 R/Type/Annot/A 22388 0 R/Subtype/Link/Rect[244 180 258 188]/Border[0 0 0]/H/N>> -endobj - -22210 0 obj -<>/P 12054 0 R/Type/Annot/A 22385 0 R/Subtype/Link/Rect[260 180 274 188]/Border[0 0 0]/H/N>> -endobj - -22211 0 obj -<>/P 12054 0 R/Type/Annot/A 22381 0 R/Subtype/Link/Rect[276 180 290 188]/Border[0 0 0]/H/N>> -endobj - -22212 0 obj -<>/P 12054 0 R/Type/Annot/A 22378 0 R/Subtype/Link/Rect[292 180 304 188]/Border[0 0 0]/H/N>> -endobj - -22213 0 obj -<>/P 12054 0 R/Type/Annot/A 22375 0 R/Subtype/Link/Rect[171 170 183 178]/Border[0 0 0]/H/N>> -endobj - -22214 0 obj -<>/P 12054 0 R/Type/Annot/A 22371 0 R/Subtype/Link/Rect[205 160 217 169]/Border[0 0 0]/H/N>> -endobj - -22215 0 obj -<>/P 12054 0 R/Type/Annot/A 22368 0 R/Subtype/Link/Rect[218 160 226 168]/Border[0 0 0]/H/N>> -endobj - -22216 0 obj -<>/P 12054 0 R/Type/Annot/A 22364 0 R/Subtype/Link/Rect[197 150 207 158]/Border[0 0 0]/H/N>> -endobj - -22217 0 obj -<>/P 12054 0 R/Type/Annot/A 22361 0 R/Subtype/Link/Rect[209 150 223 158]/Border[0 0 0]/H/N>> -endobj - -22218 0 obj -<>/P 12054 0 R/Type/Annot/A 22358 0 R/Subtype/Link/Rect[225 150 239 158]/Border[0 0 0]/H/N>> -endobj - -22219 0 obj -<>/P 12054 0 R/Type/Annot/A 22355 0 R/Subtype/Link/Rect[241 150 255 158]/Border[0 0 0]/H/N>> -endobj - -22220 0 obj -<>/P 12054 0 R/Type/Annot/A 22555 0 R/Subtype/Link/Rect[257 150 274 159]/Border[0 0 0]/H/N>> -endobj - -22221 0 obj -<>/P 12054 0 R/Type/Annot/A 22553 0 R/Subtype/Link/Rect[275 150 289 158]/Border[0 0 0]/H/N>> -endobj - -22222 0 obj -<>/P 12054 0 R/Type/Annot/A 22550 0 R/Subtype/Link/Rect[151 140 168 149]/Border[0 0 0]/H/N>> -endobj - -22223 0 obj -<>/P 12054 0 R/Type/Annot/A 22546 0 R/Subtype/Link/Rect[169 140 183 148]/Border[0 0 0]/H/N>> -endobj - -22224 0 obj -<>/P 12054 0 R/Type/Annot/A 22543 0 R/Subtype/Link/Rect[185 140 199 148]/Border[0 0 0]/H/N>> -endobj - -22225 0 obj -<>/P 12054 0 R/Type/Annot/A 44658 0 R/Subtype/Link/Rect[201 140 217 149]/Border[0 0 0]/H/N>> -endobj - -22226 0 obj -<>/P 12054 0 R/Type/Annot/A 22537 0 R/Subtype/Link/Rect[218 140 232 148]/Border[0 0 0]/H/N>> -endobj - -22227 0 obj -<>/P 12054 0 R/Type/Annot/A 22534 0 R/Subtype/Link/Rect[234 140 248 148]/Border[0 0 0]/H/N>> -endobj - -22228 0 obj -<>/P 12054 0 R/Type/Annot/A 22531 0 R/Subtype/Link/Rect[250 140 264 148]/Border[0 0 0]/H/N>> -endobj - -22229 0 obj -<>/P 12054 0 R/Type/Annot/A 22527 0 R/Subtype/Link/Rect[266 140 280 148]/Border[0 0 0]/H/N>> -endobj - -22230 0 obj -<>/P 12054 0 R/Type/Annot/A 22523 0 R/Subtype/Link/Rect[282 140 296 148]/Border[0 0 0]/H/N>> -endobj - -22231 0 obj -<>/P 12054 0 R/Type/Annot/A 22520 0 R/Subtype/Link/Rect[359 670 373 678]/Border[0 0 0]/H/N>> -endobj - -22232 0 obj -<>/P 12054 0 R/Type/Annot/A 22517 0 R/Subtype/Link/Rect[375 670 387 678]/Border[0 0 0]/H/N>> -endobj - -22233 0 obj -<>/P 12054 0 R/Type/Annot/A 22513 0 R/Subtype/Link/Rect[398 660 415 669]/Border[0 0 0]/H/N>> -endobj - -22234 0 obj -<>/P 12054 0 R/Type/Annot/A 22508 0 R/Subtype/Link/Rect[415 660 429 668]/Border[0 0 0]/H/N>> -endobj - -22235 0 obj -<>/P 12054 0 R/Type/Annot/A 44288 0 R/Subtype/Link/Rect[431 660 443 668]/Border[0 0 0]/H/N>> -endobj - -22236 0 obj -<>/P 12054 0 R/Type/Annot/A 22502 0 R/Subtype/Link/Rect[398 650 410 658]/Border[0 0 0]/H/N>> -endobj - -22237 0 obj -<>/P 12054 0 R/Type/Annot/A 44222 0 R/Subtype/Link/Rect[417 640 434 649]/Border[0 0 0]/H/N>> -endobj - -22238 0 obj -<>/P 12054 0 R/Type/Annot/A 22494 0 R/Subtype/Link/Rect[435 640 447 648]/Border[0 0 0]/H/N>> -endobj - -22239 0 obj -<>/P 12054 0 R/Type/Annot/A 44151 0 R/Subtype/Link/Rect[397 630 411 638]/Border[0 0 0]/H/N>> -endobj - -22240 0 obj -<>/P 12054 0 R/Type/Annot/A 44114 0 R/Subtype/Link/Rect[413 630 425 638]/Border[0 0 0]/H/N>> -endobj - -22241 0 obj -<>/P 12054 0 R/Type/Annot/A 22485 0 R/Subtype/Link/Rect[392 620 402 628]/Border[0 0 0]/H/N>> -endobj - -22242 0 obj -<>/P 12054 0 R/Type/Annot/A 22481 0 R/Subtype/Link/Rect[404 620 418 628]/Border[0 0 0]/H/N>> -endobj - -22243 0 obj -<>/P 12054 0 R/Type/Annot/A 22476 0 R/Subtype/Link/Rect[420 620 434 628]/Border[0 0 0]/H/N>> -endobj - -22244 0 obj -<>/P 12054 0 R/Type/Annot/A 22472 0 R/Subtype/Link/Rect[436 620 450 628]/Border[0 0 0]/H/N>> -endobj - -22245 0 obj -<>/P 12054 0 R/Type/Annot/A 43947 0 R/Subtype/Link/Rect[452 620 466 628]/Border[0 0 0]/H/N>> -endobj - -22246 0 obj -<>/P 12054 0 R/Type/Annot/A 22466 0 R/Subtype/Link/Rect[468 620 482 628]/Border[0 0 0]/H/N>> -endobj - -22247 0 obj -<>/P 12054 0 R/Type/Annot/A 43859 0 R/Subtype/Link/Rect[484 620 498 628]/Border[0 0 0]/H/N>> -endobj - -22248 0 obj -<>/P 12054 0 R/Type/Annot/A 22460 0 R/Subtype/Link/Rect[359 610 376 619]/Border[0 0 0]/H/N>> -endobj - -22249 0 obj -<>/P 12054 0 R/Type/Annot/A 22404 0 R/Subtype/Link/Rect[377 610 391 618]/Border[0 0 0]/H/N>> -endobj - -22250 0 obj -<>/P 12054 0 R/Type/Annot/A 22453 0 R/Subtype/Link/Rect[393 610 407 618]/Border[0 0 0]/H/N>> -endobj - -22251 0 obj -<>/P 12054 0 R/Type/Annot/A 22448 0 R/Subtype/Link/Rect[409 610 425 619]/Border[0 0 0]/H/N>> -endobj - -22252 0 obj -<>/P 12054 0 R/Type/Annot/A 22444 0 R/Subtype/Link/Rect[426 610 440 618]/Border[0 0 0]/H/N>> -endobj - -22253 0 obj -<>/P 12054 0 R/Type/Annot/A 22440 0 R/Subtype/Link/Rect[442 610 456 618]/Border[0 0 0]/H/N>> -endobj - -22254 0 obj -<>/P 12054 0 R/Type/Annot/A 22436 0 R/Subtype/Link/Rect[458 610 470 618]/Border[0 0 0]/H/N>> -endobj - -22255 0 obj -<>/P 12054 0 R/Type/Annot/A 22433 0 R/Subtype/Link/Rect[428 590 438 598]/Border[0 0 0]/H/N>> -endobj - -22256 0 obj -<>/P 12054 0 R/Type/Annot/A 22430 0 R/Subtype/Link/Rect[440 590 452 598]/Border[0 0 0]/H/N>> -endobj - -22257 0 obj -<>/P 12054 0 R/Type/Annot/A 22427 0 R/Subtype/Link/Rect[433 580 441 588]/Border[0 0 0]/H/N>> -endobj - -22258 0 obj -<>/P 12054 0 R/Type/Annot/A 22423 0 R/Subtype/Link/Rect[438 570 446 578]/Border[0 0 0]/H/N>> -endobj - -22259 0 obj -<>/P 12054 0 R/Type/Annot/A 22421 0 R/Subtype/Link/Rect[433 560 443 568]/Border[0 0 0]/H/N>> -endobj - -22260 0 obj -<>/P 12054 0 R/Type/Annot/A 22580 0 R/Subtype/Link/Rect[445 560 455 568]/Border[0 0 0]/H/N>> -endobj - -22261 0 obj -<>/P 12054 0 R/Type/Annot/A 22412 0 R/Subtype/Link/Rect[457 560 471 568]/Border[0 0 0]/H/N>> -endobj - -22262 0 obj -<>/P 12054 0 R/Type/Annot/A 22410 0 R/Subtype/Link/Rect[473 560 487 568]/Border[0 0 0]/H/N>> -endobj - -22263 0 obj -<>/P 12054 0 R/Type/Annot/A 22407 0 R/Subtype/Link/Rect[489 560 503 568]/Border[0 0 0]/H/N>> -endobj - -22264 0 obj -<>/P 12054 0 R/Type/Annot/A 22403 0 R/Subtype/Link/Rect[505 560 517 568]/Border[0 0 0]/H/N>> -endobj - -22265 0 obj -<>/P 12054 0 R/Type/Annot/A 22400 0 R/Subtype/Link/Rect[423 550 431 558]/Border[0 0 0]/H/N>> -endobj - -22266 0 obj -<>/P 12054 0 R/Type/Annot/A 22398 0 R/Subtype/Link/Rect[419 540 429 548]/Border[0 0 0]/H/N>> -endobj - -22267 0 obj -<>/P 12054 0 R/Type/Annot/A 22394 0 R/Subtype/Link/Rect[431 540 443 548]/Border[0 0 0]/H/N>> -endobj - -22268 0 obj -<>/P 12054 0 R/Type/Annot/A 22391 0 R/Subtype/Link/Rect[443 530 451 538]/Border[0 0 0]/H/N>> -endobj - -22269 0 obj -<>/P 12054 0 R/Type/Annot/A 22387 0 R/Subtype/Link/Rect[428 520 438 528]/Border[0 0 0]/H/N>> -endobj - -22270 0 obj -<>/P 12054 0 R/Type/Annot/A 22384 0 R/Subtype/Link/Rect[440 520 452 528]/Border[0 0 0]/H/N>> -endobj - -22271 0 obj -<>/P 12054 0 R/Type/Annot/A 22380 0 R/Subtype/Link/Rect[396 464 408 472]/Border[0 0 0]/H/N>> -endobj - -22272 0 obj -<>/P 12054 0 R/Type/Annot/A 22377 0 R/Subtype/Link/Rect[396 454 408 462]/Border[0 0 0]/H/N>> -endobj - -22273 0 obj -<>/P 12054 0 R/Type/Annot/A 22373 0 R/Subtype/Link/Rect[396 444 408 452]/Border[0 0 0]/H/N>> -endobj - -22274 0 obj -<>/P 12054 0 R/Type/Annot/A 22369 0 R/Subtype/Link/Rect[396 434 413 443]/Border[0 0 0]/H/N>> -endobj - -22275 0 obj -<>/P 12054 0 R/Type/Annot/A 22365 0 R/Subtype/Link/Rect[413 434 425 442]/Border[0 0 0]/H/N>> -endobj - -22276 0 obj -<>/P 12054 0 R/Type/Annot/A 22362 0 R/Subtype/Link/Rect[406 424 420 432]/Border[0 0 0]/H/N>> -endobj - -22277 0 obj -<>/P 12054 0 R/Type/Annot/A 22359 0 R/Subtype/Link/Rect[422 424 436 432]/Border[0 0 0]/H/N>> -endobj - -22278 0 obj -<>/P 12054 0 R/Type/Annot/A 22356 0 R/Subtype/Link/Rect[438 424 454 433]/Border[0 0 0]/H/N>> -endobj - -22279 0 obj -<>/P 12054 0 R/Type/Annot/A 22552 0 R/Subtype/Link/Rect[455 424 467 432]/Border[0 0 0]/H/N>> -endobj - -22280 0 obj -<>/P 12054 0 R/Type/Annot/A 22549 0 R/Subtype/Link/Rect[392 404 406 412]/Border[0 0 0]/H/N>> -endobj - -22281 0 obj -<>/P 12054 0 R/Type/Annot/A 22478 0 R/Subtype/Link/Rect[408 404 422 412]/Border[0 0 0]/H/N>> -endobj - -22282 0 obj -<>/P 12054 0 R/Type/Annot/A 22541 0 R/Subtype/Link/Rect[424 404 438 412]/Border[0 0 0]/H/N>> -endobj - -22283 0 obj -<>/P 12054 0 R/Type/Annot/A 22538 0 R/Subtype/Link/Rect[440 404 457 413]/Border[0 0 0]/H/N>> -endobj - -22284 0 obj -<>/P 12054 0 R/Type/Annot/A 22535 0 R/Subtype/Link/Rect[458 404 469 412]/Border[0 0 0]/H/N>> -endobj - -22285 0 obj -<>/P 12054 0 R/Type/Annot/A 22532 0 R/Subtype/Link/Rect[404 394 412 402]/Border[0 0 0]/H/N>> -endobj - -22286 0 obj -<>/P 12054 0 R/Type/Annot/A 22528 0 R/Subtype/Link/Rect[410 384 424 392]/Border[0 0 0]/H/N>> -endobj - -22287 0 obj -<>/P 12054 0 R/Type/Annot/A 42359 0 R/Subtype/Link/Rect[426 384 440 392]/Border[0 0 0]/H/N>> -endobj - -22288 0 obj -<>/P 12054 0 R/Type/Annot/A 22452 0 R/Subtype/Link/Rect[442 384 456 392]/Border[0 0 0]/H/N>> -endobj - -22289 0 obj -<>/P 12054 0 R/Type/Annot/A 22516 0 R/Subtype/Link/Rect[458 384 472 392]/Border[0 0 0]/H/N>> -endobj - -22290 0 obj -<>/P 12054 0 R/Type/Annot/A 22512 0 R/Subtype/Link/Rect[474 384 486 392]/Border[0 0 0]/H/N>> -endobj - -22291 0 obj -<>/P 12054 0 R/Type/Annot/A 22507 0 R/Subtype/Link/Rect[398 374 410 382]/Border[0 0 0]/H/N>> -endobj - -22292 0 obj -<>/P 12054 0 R/Type/Annot/A 22505 0 R/Subtype/Link/Rect[418 364 430 372]/Border[0 0 0]/H/N>> -endobj - -22293 0 obj -<>/P 12054 0 R/Type/Annot/A 22501 0 R/Subtype/Link/Rect[405 354 419 362]/Border[0 0 0]/H/N>> -endobj - -22294 0 obj -<>/P 12054 0 R/Type/Annot/A 22498 0 R/Subtype/Link/Rect[421 354 435 362]/Border[0 0 0]/H/N>> -endobj - -22295 0 obj -<>/P 12054 0 R/Type/Annot/A 42016 0 R/Subtype/Link/Rect[437 354 451 362]/Border[0 0 0]/H/N>> -endobj - -22296 0 obj -<>/P 12054 0 R/Type/Annot/A 22491 0 R/Subtype/Link/Rect[453 354 465 362]/Border[0 0 0]/H/N>> -endobj - -22297 0 obj -<>/P 12054 0 R/Type/Annot/A 22488 0 R/Subtype/Link/Rect[398 344 410 352]/Border[0 0 0]/H/N>> -endobj - -22298 0 obj -<>/P 12054 0 R/Type/Annot/A 22483 0 R/Subtype/Link/Rect[410 334 424 342]/Border[0 0 0]/H/N>> -endobj - -22299 0 obj -<>/P 12054 0 R/Type/Annot/A 22477 0 R/Subtype/Link/Rect[426 334 440 342]/Border[0 0 0]/H/N>> -endobj - -22300 0 obj -<>/P 12054 0 R/Type/Annot/A 22473 0 R/Subtype/Link/Rect[442 334 456 342]/Border[0 0 0]/H/N>> -endobj - -22301 0 obj -<>/P 12054 0 R/Type/Annot/A 22470 0 R/Subtype/Link/Rect[458 334 472 342]/Border[0 0 0]/H/N>> -endobj - -22302 0 obj -<>/P 12054 0 R/Type/Annot/A 22467 0 R/Subtype/Link/Rect[474 334 488 342]/Border[0 0 0]/H/N>> -endobj - -22303 0 obj -<>/P 12054 0 R/Type/Annot/A 22463 0 R/Subtype/Link/Rect[490 334 502 342]/Border[0 0 0]/H/N>> -endobj - -22304 0 obj -<>/P 12054 0 R/Type/Annot/A 22461 0 R/Subtype/Link/Rect[398 324 410 332]/Border[0 0 0]/H/N>> -endobj - -22305 0 obj -<>/P 12054 0 R/Type/Annot/A 22458 0 R/Subtype/Link/Rect[420 314 434 322]/Border[0 0 0]/H/N>> -endobj - -22306 0 obj -<>/P 12054 0 R/Type/Annot/A 22456 0 R/Subtype/Link/Rect[436 314 450 322]/Border[0 0 0]/H/N>> -endobj - -22307 0 obj -<>/P 12054 0 R/Type/Annot/A 22451 0 R/Subtype/Link/Rect[452 314 466 322]/Border[0 0 0]/H/N>> -endobj - -22308 0 obj -<>/P 12054 0 R/Type/Annot/A 22447 0 R/Subtype/Link/Rect[468 314 482 322]/Border[0 0 0]/H/N>> -endobj - -22309 0 obj -<>/P 12054 0 R/Type/Annot/A 22443 0 R/Subtype/Link/Rect[484 314 500 323]/Border[0 0 0]/H/N>> -endobj - -22310 0 obj -<>/P 12054 0 R/Type/Annot/A 22439 0 R/Subtype/Link/Rect[501 314 515 322]/Border[0 0 0]/H/N>> -endobj - -22311 0 obj -<>/P 12054 0 R/Type/Annot/A 41335 0 R/Subtype/Link/Rect[359 304 376 313]/Border[0 0 0]/H/N>> -endobj - -22312 0 obj -<>/P 12054 0 R/Type/Annot/A 22432 0 R/Subtype/Link/Rect[377 304 391 312]/Border[0 0 0]/H/N>> -endobj - -22313 0 obj -<>/P 12054 0 R/Type/Annot/A 22547 0 R/Subtype/Link/Rect[393 304 407 312]/Border[0 0 0]/H/N>> -endobj - -22314 0 obj -<>/P 12054 0 R/Type/Annot/A 22425 0 R/Subtype/Link/Rect[409 304 423 312]/Border[0 0 0]/H/N>> -endobj - -22315 0 obj -<>/P 12054 0 R/Type/Annot/A 43486 0 R/Subtype/Link/Rect[425 304 441 313]/Border[0 0 0]/H/N>> -endobj - -22316 0 obj -<>/P 12054 0 R/Type/Annot/A 22418 0 R/Subtype/Link/Rect[442 304 456 312]/Border[0 0 0]/H/N>> -endobj - -22317 0 obj -<>/P 12054 0 R/Type/Annot/A 22413 0 R/Subtype/Link/Rect[458 304 472 312]/Border[0 0 0]/H/N>> -endobj - -22318 0 obj -<>/P 12054 0 R/Type/Annot/A 43370 0 R/Subtype/Link/Rect[474 304 490 313]/Border[0 0 0]/H/N>> -endobj - -22319 0 obj -<>/P 12054 0 R/Type/Annot/A 41073 0 R/Subtype/Link/Rect[491 304 503 312]/Border[0 0 0]/H/N>> -endobj - -22320 0 obj -<>/P 12054 0 R/Type/Annot/A 40755 0 R/Subtype/Link/Rect[398 294 410 302]/Border[0 0 0]/H/N>> -endobj - -22321 0 obj -<>/P 12054 0 R/Type/Annot/A 22570 0 R/Subtype/Link/Rect[420 284 436 293]/Border[0 0 0]/H/N>> -endobj - -22322 0 obj -<>/P 12054 0 R/Type/Annot/A 22397 0 R/Subtype/Link/Rect[437 284 451 292]/Border[0 0 0]/H/N>> -endobj - -22323 0 obj -<>/P 12054 0 R/Type/Annot/A 22393 0 R/Subtype/Link/Rect[453 284 467 292]/Border[0 0 0]/H/N>> -endobj - -22324 0 obj -<>/P 12054 0 R/Type/Annot/A 22390 0 R/Subtype/Link/Rect[469 284 483 292]/Border[0 0 0]/H/N>> -endobj - -22325 0 obj -<>/P 12054 0 R/Type/Annot/A 22386 0 R/Subtype/Link/Rect[485 284 497 292]/Border[0 0 0]/H/N>> -endobj - -22326 0 obj -<>/P 12054 0 R/Type/Annot/A 22383 0 R/Subtype/Link/Rect[398 274 410 282]/Border[0 0 0]/H/N>> -endobj - -22327 0 obj -<>/P 12054 0 R/Type/Annot/A 22379 0 R/Subtype/Link/Rect[415 264 432 273]/Border[0 0 0]/H/N>> -endobj - -22328 0 obj -<>/P 12054 0 R/Type/Annot/A 22376 0 R/Subtype/Link/Rect[432 264 446 272]/Border[0 0 0]/H/N>> -endobj - -22329 0 obj -<>/P 12054 0 R/Type/Annot/A 22372 0 R/Subtype/Link/Rect[448 264 462 272]/Border[0 0 0]/H/N>> -endobj - -22330 0 obj -<>/P 12054 0 R/Type/Annot/A 22367 0 R/Subtype/Link/Rect[464 264 476 272]/Border[0 0 0]/H/N>> -endobj - -22331 0 obj -<>/P 12054 0 R/Type/Annot/A 22363 0 R/Subtype/Link/Rect[398 254 410 262]/Border[0 0 0]/H/N>> -endobj - -22332 0 obj -<>/P 12054 0 R/Type/Annot/A 22360 0 R/Subtype/Link/Rect[415 244 427 252]/Border[0 0 0]/H/N>> -endobj - -22333 0 obj -<>/P 12054 0 R/Type/Annot/A 38256 0 R/Subtype/Link/Rect[406 234 418 242]/Border[0 0 0]/H/N>> -endobj - -22334 0 obj -<>/P 12054 0 R/Type/Annot/A 22354 0 R/Subtype/Link/Rect[420 224 432 232]/Border[0 0 0]/H/N>> -endobj - -22335 0 obj -<>/P 12054 0 R/Type/Annot/A 22544 0 R/Subtype/Link/Rect[401 214 413 222]/Border[0 0 0]/H/N>> -endobj - -22336 0 obj -<>/P 12054 0 R/Type/Annot/A 22540 0 R/Subtype/Link/Rect[378 204 392 212]/Border[0 0 0]/H/N>> -endobj - -22337 0 obj -<>/P 12054 0 R/Type/Annot/A 38192 0 R/Subtype/Link/Rect[394 204 406 212]/Border[0 0 0]/H/N>> -endobj - -22338 0 obj -<>/P 12054 0 R/Type/Annot/A 38181 0 R/Subtype/Link/Rect[415 194 427 202]/Border[0 0 0]/H/N>> -endobj - -22339 0 obj -<>/P 12054 0 R/Type/Annot/A 22530 0 R/Subtype/Link/Rect[406 184 418 192]/Border[0 0 0]/H/N>> -endobj - -22340 0 obj -<>/P 12054 0 R/Type/Annot/A 22526 0 R/Subtype/Link/Rect[401 174 413 182]/Border[0 0 0]/H/N>> -endobj - -22341 0 obj -<>/P 12054 0 R/Type/Annot/A 22522 0 R/Subtype/Link/Rect[420 164 432 172]/Border[0 0 0]/H/N>> -endobj - -22342 0 obj -<>/P 12054 0 R/Type/Annot/A 22519 0 R/Subtype/Link/Rect[420 154 434 162]/Border[0 0 0]/H/N>> -endobj - -22343 0 obj -<>/P 12054 0 R/Type/Annot/A 22515 0 R/Subtype/Link/Rect[436 154 450 162]/Border[0 0 0]/H/N>> -endobj - -22344 0 obj -<>/P 12054 0 R/Type/Annot/A 22511 0 R/Subtype/Link/Rect[452 154 466 162]/Border[0 0 0]/H/N>> -endobj - -22345 0 obj -<>/P 12054 0 R/Type/Annot/A 22414 0 R/Subtype/Link/Rect[468 154 485 163]/Border[0 0 0]/H/N>> -endobj - -22346 0 obj -<>/P 12054 0 R/Type/Annot/A 38063 0 R/Subtype/Link/Rect[485 154 497 162]/Border[0 0 0]/H/N>> -endobj - -22347 0 obj -<>/P 12054 0 R/Type/Annot/A 22499 0 R/Subtype/Link/Rect[410 144 427 153]/Border[0 0 0]/H/N>> -endobj - -22348 0 obj -<>/P 12054 0 R/Type/Annot/A 22496 0 R/Subtype/Link/Rect[428 144 442 152]/Border[0 0 0]/H/N>> -endobj - -22349 0 obj -<>/P 12054 0 R/Type/Annot/A 22492 0 R/Subtype/Link/Rect[444 144 458 152]/Border[0 0 0]/H/N>> -endobj - -22350 0 obj -<>/P 12054 0 R/Type/Annot/A 42093 0 R/Subtype/Link/Rect[460 144 472 152]/Border[0 0 0]/H/N>> -endobj - -22351 0 obj -<>/P 12054 0 R/Type/Annot/A 22486 0 R/Subtype/Link/Rect[376 618 390 627]/Border[0 0 0]/H/N>> -endobj - -22352 0 obj -<>/P 12054 0 R/Type/Annot/A 22482 0 R/Subtype/Link/Rect[380 412 397 421]/Border[0 0 0]/H/N>> -endobj - -22353 0 obj -<> -endobj - -22354 0 obj -<> -endobj - -22355 0 obj -<> -endobj - -22356 0 obj -<> -endobj - -22357 0 obj -<> -endobj - -22358 0 obj -<> -endobj - -22359 0 obj -<> -endobj - -22360 0 obj -<> -endobj - -22361 0 obj -<> -endobj - -22362 0 obj -<> -endobj - -22363 0 obj -<> -endobj - -22364 0 obj -<> -endobj - -22365 0 obj -<> -endobj - -22366 0 obj -<> -endobj - -22367 0 obj -<> -endobj - -22368 0 obj -<> -endobj - -22369 0 obj -<> -endobj - -22370 0 obj -<> -endobj - -22371 0 obj -<> -endobj - -22372 0 obj -<> -endobj - -22373 0 obj -<> -endobj - -22374 0 obj -<> -endobj - -22375 0 obj -<> -endobj - -22376 0 obj -<> -endobj - -22377 0 obj -<> -endobj - -22378 0 obj -<> -endobj - -22379 0 obj -<> -endobj - -22380 0 obj -<> -endobj - -22381 0 obj -<> -endobj - -22382 0 obj -<> -endobj - -22383 0 obj -<> -endobj - -22384 0 obj -<> -endobj - -22385 0 obj -<> -endobj - -22386 0 obj -<> -endobj - -22387 0 obj -<> -endobj - -22388 0 obj -<> -endobj - -22389 0 obj -<> -endobj - -22390 0 obj -<> -endobj - -22391 0 obj -<> -endobj - -22392 0 obj -<> -endobj - -22393 0 obj -<> -endobj - -22394 0 obj -<> -endobj - -22395 0 obj -<> -endobj - -22396 0 obj -<> -endobj - -22397 0 obj -<> -endobj - -22398 0 obj -<> -endobj - -22399 0 obj -<> -endobj - -22400 0 obj -<> -endobj - -22401 0 obj -<> -endobj - -22402 0 obj -<> -endobj - -22403 0 obj -<> -endobj - -22404 0 obj -<> -endobj - -22405 0 obj -<> -endobj - -22406 0 obj -<> -endobj - -22407 0 obj -<> -endobj - -22408 0 obj -<> -endobj - -22409 0 obj -<> -endobj - -22410 0 obj -<> -endobj - -22411 0 obj -<> -endobj - -22412 0 obj -<> -endobj - -22413 0 obj -<> -endobj - -22414 0 obj -<> -endobj - -22415 0 obj -<> -endobj - -22416 0 obj -<> -endobj - -22417 0 obj -<> -endobj - -22418 0 obj -<> -endobj - -22419 0 obj -<> -endobj - -22420 0 obj -<> -endobj - -22421 0 obj -<> -endobj - -22422 0 obj -<> -endobj - -22423 0 obj -<> -endobj - -22424 0 obj -<> -endobj - -22425 0 obj -<> -endobj - -22426 0 obj -<> -endobj - -22427 0 obj -<> -endobj - -22428 0 obj -<> -endobj - -22429 0 obj -<> -endobj - -22430 0 obj -<> -endobj - -22431 0 obj -<> -endobj - -22432 0 obj -<> -endobj - -22433 0 obj -<> -endobj - -22434 0 obj -<> -endobj - -22435 0 obj -<> -endobj - -22436 0 obj -<> -endobj - -22437 0 obj -<> -endobj - -22438 0 obj -<> -endobj - -22439 0 obj -<> -endobj - -22440 0 obj -<> -endobj - -22441 0 obj -<> -endobj - -22442 0 obj -<> -endobj - -22443 0 obj -<> -endobj - -22444 0 obj -<> -endobj - -22445 0 obj -<> -endobj - -22446 0 obj -<> -endobj - -22447 0 obj -<> -endobj - -22448 0 obj -<> -endobj - -22449 0 obj -<> -endobj - -22450 0 obj -<> -endobj - -22451 0 obj -<> -endobj - -22452 0 obj -<> -endobj - -22453 0 obj -<> -endobj - -22454 0 obj -<> -endobj - -22455 0 obj -<> -endobj - -22456 0 obj -<> -endobj - -22457 0 obj -<> -endobj - -22458 0 obj -<> -endobj - -22459 0 obj -<> -endobj - -22460 0 obj -<> -endobj - -22461 0 obj -<> -endobj - -22462 0 obj -<> -endobj - -22463 0 obj -<> -endobj - -22464 0 obj -<> -endobj - -22465 0 obj -<> -endobj - -22466 0 obj -<> -endobj - -22467 0 obj -<> -endobj - -22468 0 obj -<> -endobj - -22469 0 obj -<> -endobj - -22470 0 obj -<> -endobj - -22471 0 obj -<> -endobj - -22472 0 obj -<> -endobj - -22473 0 obj -<> -endobj - -22474 0 obj -<> -endobj - -22475 0 obj -<> -endobj - -22476 0 obj -<> -endobj - -22477 0 obj -<> -endobj - -22478 0 obj -<> -endobj - -22479 0 obj -<> -endobj - -22480 0 obj -<> -endobj - -22481 0 obj -<> -endobj - -22482 0 obj -<> -endobj - -22483 0 obj -<> -endobj - -22484 0 obj -<> -endobj - -22485 0 obj -<> -endobj - -22486 0 obj -<> -endobj - -22487 0 obj -<> -endobj - -22488 0 obj -<> -endobj - -22489 0 obj -<> -endobj - -22490 0 obj -<> -endobj - -22491 0 obj -<> -endobj - -22492 0 obj -<> -endobj - -22493 0 obj -<> -endobj - -22494 0 obj -<> -endobj - -22495 0 obj -<> -endobj - -22496 0 obj -<> -endobj - -22497 0 obj -<> -endobj - -22498 0 obj -<> -endobj - -22499 0 obj -<> -endobj - -22500 0 obj -<> -endobj - -22501 0 obj -<> -endobj - -22502 0 obj -<> -endobj - -22503 0 obj -<> -endobj - -22504 0 obj -<> -endobj - -22505 0 obj -<> -endobj - -22506 0 obj -<> -endobj - -22507 0 obj -<> -endobj - -22508 0 obj -<> -endobj - -22509 0 obj -<> -endobj - -22510 0 obj -<> -endobj - -22511 0 obj -<> -endobj - -22512 0 obj -<> -endobj - -22513 0 obj -<> -endobj - -22514 0 obj -<> -endobj - -22515 0 obj -<> -endobj - -22516 0 obj -<> -endobj - -22517 0 obj -<> -endobj - -22518 0 obj -<> -endobj - -22519 0 obj -<> -endobj - -22520 0 obj -<> -endobj - -22521 0 obj -<> -endobj - -22522 0 obj -<> -endobj - -22523 0 obj -<> -endobj - -22524 0 obj -<> -endobj - -22525 0 obj -<> -endobj - -22526 0 obj -<> -endobj - -22527 0 obj -<> -endobj - -22528 0 obj -<> -endobj - -22529 0 obj -<> -endobj - -22530 0 obj -<> -endobj - -22531 0 obj -<> -endobj - -22532 0 obj -<> -endobj - -22533 0 obj -<> -endobj - -22534 0 obj -<> -endobj - -22535 0 obj -<> -endobj - -22536 0 obj -<> -endobj - -22537 0 obj -<> -endobj - -22538 0 obj -<> -endobj - -22539 0 obj -<> -endobj - -22540 0 obj -<> -endobj - -22541 0 obj -<> -endobj - -22542 0 obj -<> -endobj - -22543 0 obj -<> -endobj - -22544 0 obj -<> -endobj - -22545 0 obj -<> -endobj - -22546 0 obj -<> -endobj - -22547 0 obj -<> -endobj - -22548 0 obj -<> -endobj - -22549 0 obj -<> -endobj - -22550 0 obj -<> -endobj - -22551 0 obj -<> -endobj - -22552 0 obj -<> -endobj - -22553 0 obj -<> -endobj - -22554 0 obj -<> -endobj - -22555 0 obj -<> -endobj - -22556 0 obj -<> -endobj - -22557 0 obj -<> -endobj - -22558 0 obj -<> -endobj - -22559 0 obj -<> -endobj - -22560 0 obj -<> -endobj - -22561 0 obj -<> -endobj - -22562 0 obj -<> -endobj - -22563 0 obj -<> -endobj - -22564 0 obj -<> -endobj - -22565 0 obj -<> -endobj - -22566 0 obj -<> -endobj - -22567 0 obj -<> -endobj - -22568 0 obj -<> -endobj - -22569 0 obj -<> -endobj - -22570 0 obj -<> -endobj - -22571 0 obj -<> -endobj - -22572 0 obj -<> -endobj - -22573 0 obj -<> -endobj - -22574 0 obj -<> -endobj - -22575 0 obj -<> -endobj - -22576 0 obj -<> -endobj - -22577 0 obj -<> -endobj - -22578 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -22579 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -22580 0 obj -<> -endobj - -22581 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -22582 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -22583 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -22584 0 obj -<> -stream -HmoFS콓 >!gH7uj>Ch$$9Dr9;h#h܌sg٣bŎ·Y޼y~ b:~(XJ_ Ƚ ؃Y|2Za9)4_-- -õ`K]N2{/,a ɢ fԻٸ?;x%t0x{%X*>uC4VE9җ62A*W? VJtAD5Ƞ'| U?)OxaoGv%`c%2QKV`]{L2 bx  >ǀܥPPv]8 G G$KG$KG$KG"+G"+G&kG&kG&kG}H!>tGQ#G}D1>vDŽQG}Bw< kqPzp-UcrPkqPzǵp-PV1☡kZ3q \c@1C -µ8f(BZAǀ"\c";kqPzǵp-M=I 1☡\8f(W=E Ew\+ ☡k%Zp-PV1CJµ8Z3q$\c";kq (µ8f(BZI Ew\+ SkqPzp-UcrPkqPzǵp-PV1☡kZ3q"\c@1C*µ8f(BZEǀ"\c";UkqPzǵp-M=M 1☡\8f(W}'IXͦ޻;JS8Kx0A` -aQda_x@O\s͂NI!\hfNP9L9[rx}>;jPͤE@ooͮ||mC*YM'M59>a+E>ᤍ+jѱu8[xbo$s%^~ѮӘ-F}M:zw[X@r -ͯKR/+)@" {gKLW}f=a%s׹ ̄q%V5h6e#Vx)7v83ꏒ@!BϚ dde`:^'Ed[xFCr37ɨNȆӏ e^ߋy>U~A:oOFدɤ~uf `Ct1Gݷ#J{v|zxn=;q5o? - -{ɁsO=d)ؠ@ [@UOqZv@u 3[s[NNsĴI*;n'6/u;/emޖE d5D/,jo7Yk)ڹ)_őr^_=Ҝg 9oHE>h ]PF-7Z -XQѥzz~EEnpuEAG4KxI#='n~'4 -46=v46{9O]'M]wL:<4kBIiD 6U}wU&lm~'?#l笏^XK|i&s5j5֐յ{YyI>Z䋮Ym ON=5GlO{ Ծ({`M洆zIslRf=EGiRn7I;l~J1mhߪP6Y J*{Nlot4QYPh_k$PՄǺalrL1`4|-{9Pu{*׻g!}~"t:lO4;&w_^] Ow0YJva+y{mQ;9za? endstream -endobj - -22585 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -22586 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -22587 0 obj -<> -endobj - -22588 0 obj -<> -endobj - -22589 0 obj -<> -endobj - -22590 0 obj -<> -endobj - -22591 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -22592 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -22593 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -22594 0 obj -<> -stream -HW]o6}ׯpdKN"٦[ă!eFH_"i :::RzozA2O/'IHiA/Dj挨J$Mۄ$o]vvzC:劑crN.#oL>Yli`%l[w9{dzu#S(2&W:R:=,嗄|&4#o@'{-I -LBL}RKB"f<"aŏ 1`Q̰$ -S1`1D=3D=sD=sD=sD= D DKDKDKD,ELb! 1ÊՇ׆aC̰b!,ĵ!fXȵ qm>r-C\bB\b\׆a!#2ĵ!,ĵ!fXȵ qm>r-C\bB\b\׆a!#2ĵ!O83X} qmV> +VbB\b\׆a!#rĵ!,ĵ!fXȵqm>r-G\bB\b\׆a!#rĵ!,ĵ!fXȵqm>r-G\bD 1ÊՇ׆aC̰b!,ĵ!fXȵqm>r@\bB\b\+׆a!# -ĵ!,ĵ!fXȵqm>r@\bB\b\+׆a!# -ĵ!O$3X} qmV> +V_EQpO.Ś~MXLIs+ɻ"gX5_|.nT7UW[wٷnpΨ^8x:ڮwW7mFӮ;O</Ǿ?mܠ̺Ugׯån)v8X"g$\ꣅ?_nT:h6Ͷ:Tw~.DSQ/cUǪ;["KŤև^]VZ~lo:^E $.B٘ R.!nzuujMXꥦhM<6Ip94W9r+7LU |Y+bZMճm`9E),#PPPRp_9hLXtxd -Ű{͕NzR]UKhZ|Y=L| ^zC&r*r|V ,4N?nm /%HܒEӂt{g6Xݗ]ݞvfh0OG(PO҄=[;KŕWH\T_V2,qߗY*fwlɑsc@A7v[m֦!/tzBw -[&\XYƶ彽z7.[74ECsE/^۪iGwUHߢc:oWfރ:_@Bx+*zeuvfhsxY9اtY?R cRx.V]}A :nYwN@] -T{NNG9#A&eNw6F۲/=_% ciӟfLQ`uc >z lǑ2?wWnP8 -!w_i:nxʖu3X7fK 7g“#$oAX1Ҁx(f"׹H?u(x/J^B&& - E(=UByנ$(i)f-I Xdۺo^ԜST4Ŵ+/'Z/sc/3(-w1K3^0OF\li#o)q9S6]f/(1-[0hxZ$ѻwF87Ǫ^p~kz~\wC&q9*_CC#;4^v3 8ޡLOpNfpx~|`* $n3h_uۘ95]K2a2 `>k쌨S %")0[k>payg_1Z6M?ܛ'?^1:4g\ \1`"f،/X,Š CǦ'.X6/tEO\b]X,ŸF(bY -XpY\%"b Q,-#d2`lʳP}c -+W2Tt^PcE_dq]򹟳|'s?cY>~X> -Y>3O,9~b/r^fX>s򹟳|g,nX>s?U C>`}Ta{8L< l%z(nU>qJg'U|U~YHIC@GVfTB?a֜v}q+3WEs")pG8>~Yߢ"eHfRmD% (ιf-k^a{ - e)%+ӊFgᡩ̡W+iJPYpUhCKX,_+):D-q{$@ڑ!z<%+J(5Fe+AA38PF\a{Ia6Hp˰{g`1PV0ZRa"cYIфȐ.XiMuS*8*ǑehpAi+$D)8,y;*$ -P0'jepဇdއ]*E"a9 79T<\8!s@\j6u*& T|0ߨUXAr<~럮_U[)vŬk 27R$_B:n¡wu |/?h^:?~,nt,#ڰ٧lZnUE>{U/[V+WDÚidmG j쭭5JEwy:h3vhA^4q|iMS7ILݥK۞3Z owRm"wkz&&",$>?fw!GoI;_16bts̗;ٚ'|yuNDIn ^oGSx%Cfda+pP3Ws:EΧAjgO|,'6;OSݘ5ﵿw*$jw#S=-kΦ?~ҭog2o'Q_1v`zC@L'!8!'j -RK:Qek+/;_3¥ -ms MIv H观@{ ffT; 0 ک 87ը F1Y)ޢp#'}K5 ߇vZ'~݀ -mDˋzb fڇ9NS e#x 4ŏY/S۟S? 'qt?ZhOÏ"d2*v 0endstream -endobj - -22595 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -22596 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -22597 0 obj -<> -endobj - -22598 0 obj -<> -endobj - -22599 0 obj -<> -endobj - -22600 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -22601 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -22602 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -22603 0 obj -<> -stream -HsFƿ미6CݛLHR M4xR * -/}wؒwW=%ÀG{twywrQVŋwLJ*Q/_:靔Olܧ}&ϘLp1>cs}=ˬBKidR )j@ R=ՐZ!%g5BjPBjR{Z#j@ R{Z#jH YjZ%jH YjZ!%g5Bj6Z!S (!TCR=ՀRK5,VH-ՐܳZ!TJH-ՐܳZ!TCJpRkR (!TCJpRkR )=KRK5R )=KRK5,VH-զRK5{%jHqTCPBj R{Z'j@ R{Z'jH YjZ%jH YjZ!%guBjZ!%guBj 4BjwO5R )jHq!!8UQZQ^&ĩJ3Qo2,Th0w:2lTVɢLzMUU<˛ \nk>_O~խRobDect\ݕglr>T˲޼TRgbr}Wmc˕φ㎵>6+|bQ[n&չ$ X)jU{d.N|2RN]G+3]], |?} Pip,JdkT]/mf3~=4Lhpq_ -sObd>kr9ox\TU9orHLlKCtigz;qf&6t-y>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -22605 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -22606 0 obj -<> -endobj - -22607 0 obj -<> -endobj - -22608 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -22609 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -22610 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -22611 0 obj -<> -stream -HWn}Wt!S}%6`ٻ+&l wHjI%ȿwv =S]?u^< իo.=0+53 -BɢPF:J;Oyc߲Xyucux%]z[E1^A8KXsl[xkk&#ڿzlڬ`pMڦ58-貼U4@Fr޷Y==简e@&8~gKTHD+ѻccXmr6@ , ᒷm{鰗{W{W{W{{{7{7{7{ >$؇`9#}䰏>&`;}Of!ZVxPmC޶PmC޶!eoEֶ!`Vm";jm6DJB Q{GPmZۆ(ZIֶ!`Vm"TkEwT+ 6DJBZۆ(mZۆ(mC޶PmCQ"TkEwT6@m";UjmjZ(B Q{GPmCQ"TkEֶ!`Vm";Ujm[iB Q.{(B Q.{ۆ(mZۆ(ZMֶ!`Vm"TkEwT 6DjB Pjmj5Zۆ(ZMֶPmCQ&TkEwT ڶ3jm\ Pjm\ Q.$HD3]zۭdmo0! C(-oM.2 .3[ݲNۼcf{vN2HeϾqYG~t%鄩c6OE]0TYٲI'n|"貌;xL y1b'fyZG厂!3>;<^CC&= LzưY~fui탎e3CNC{3d$ӧڍC đYrZ`0* >j$V z(0Q RmV/Ap۹QyP5#^HbREa*S:U&_fCUl;nOnF~U^7uґBL p?K'L 琰X%r?8T}V}صp>]:B/""=3x2ܩaS5n'Wԥ-erMk' d 1K02~zla8T|?߯co@]p}lW8HwhrH-V 2B.IyGK\K z.6-||rռ3%v8f߲#0png Mἳgf;es_=Q0Fπ~Ͻ@E ^ed:npҁot_>s#YDBg:ZZ'sR@Q~_;"?1}8HCCLq]ga4x;hAy.Y*岲'}i(HMrgӺ_1hT]$lR*dép,:ͱ}Ұ >'8U5&x'$fv8HP3ڿz/@w(1_v}mA,շ|?$']bcyUecj|ubH/Ue`%iUCG|[  ~+q2& d"WS_ckɶ8<Ƿ0H/ǏZ1Ka`?ph}pxe_"{<=\vNpf/uL*g\Fbb7,"`>AG :pw 1'V.6/z𹕡=cW_߲=B6ad'`D^%Ueْw -eaʍ@%A'nx(+-˭U.˖yƯʅ -Ż -VJtդiEjz&MŜNMW -ơ$w_Ϋi91$ !|Lz`cR%ZŒ즅Sde%ޮ޾(KvGY&PJ(Ax"Xx)y -i%VNw{TewZXB *Yaw@r,?ugtD:|Y|4~Ms@&ʙ8CNqZ(%)JAgE 2Z%#?ID;3Tu!G+5R/!4S| o?å#P)\Yߗ"NM,0 D(I"N]wT}=2kz9{`lBaf( -*ų18 ]+3XEo3yA[:<;*^ -R(U'.P, }2 娳hvEnBf+kR# Qxx|ZQP M]Nnx_.\SXdq`F6U^2P'pJ_/_}]+'Eendstream -endobj - -22612 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -22613 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -22614 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -22615 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -22616 0 obj -<> -endobj - -22617 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -22618 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -22619 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -22620 0 obj -<> -stream -HWkoܸ__‘Ň^m /,mvAaIͻ?&cV?aZ8a8᠂a$C: ~SM5O}CݪqPW?]a[W+],\% eXBa M.i1j^i}̖Cgrb\ tMs„~ -DCȒ ÛoI Rd1OghL]NsJ\ Yp.,|!+%Xv|.,NzNzAzAzAzIzIPzSB}O >#gPysB} >'P_x B}/ ${ei] 8ZCŀEŐw1d] Xk] Yzϵp!P﹖u1`u1d=rµ.,BZNŀEŐE\ ׺k9ZZCs-'\b"{k] ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d= -µ.,BZAŀEŐE\+׺kZZCs \b"{k] $ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%ZZCs$\b"{k] Rµ.,_p!Wb՗qY2LInwjžː%8 WmpN5+.Mھۙ7JLJ Zepm9Hb q8edab#HL%QPZn7?FwϻQ:nn3[@ -KfiGNgѺnC5(>VCժQ ;F -6mVH=<'|f?8I6&R105]~Ɋʀh:6(dtY$;ʥ2AqK/B|yX&q%ٙakzSktcgyeE"Oz\m;m>d~SL No3GJwϣ&e]"om3 w6O6ycQ8`;l"E1w RMbLiZ̈́S M2݃2 +)' Vu`޶ՓN)'69Xֺi%ZAY£vܭqrd•ERS tIKzybRxUQGxv,{؅䐬<2u寂X3Y˫ Ji~2}6FRhS v7qx@/R cxX,[(+\(8^=$R^{aI\wfE5񫶭x%mH"ީLy=&UCJ,f3, R"fɹHYfnN3R_9Ee'^Fu/ -,Y"\A'H,;OssnhnX&ṡS3(qACoj@ϗf0L8Kl3CɌ9O웈%'M.Cs"Y0^+6.v™2Wsa.v\ez_OX?np5"6'BtCTS\4Тm׏Pexk9zz}EL"$I&T`GS"vWM\N5wjx`En=fc=vBW0/ep=mS =JZMoͥYiμm[eBҏ7`m0u@ռԶGSqq^7Kɗ4I%{JY$#^=1 - -sN\{_ޟ]pL崚'c]2#FF>6Fn OG=՝i9HON6-|XQ'?vpl;=&ЧOK]0'5}?" tH C-MRɥ4; 'TYo7J{ŭEj* P6:zN+ =|JB^6sFƀb Y:mlBby'# -nAƢe7HgׅsIW(/|Oޮ>:ғX0&%>.3*SjX{Uc>MI ըsTwʞy(#ME(L"|QǬ=>p$E:yk&R=Rvx6)Z2B54fgvmj -j*s滑Z >i8ή3锗 i*ěh:E65uzF~UU~0WSh _e^~S=cߠp '+8R2'nx=o?\Lr^dE1w}L(|JpYKnj QEaf O ն۶D,B.ýTEMbEhو Qqӯ\vٝ=~" ?\_hA kTu<QsP>#t08qn]]K&OL+͛\@f,E2J`fWXJkhj';1WkkHuL(˓lhv/RI;Q>uIO,fPND$bߞUS'tM~@'hԫf/ϖ S{MQ)C"l=m<fd(; E 3&L\3T˟;j]],xGv3\pj?JtMaq.R)X ۶ʻŠ]F7 f:DI7.qN$'l' '&vB0nk7QUݿW}8Մ]]ulD%%Dc8[8Th q >E (j(pWz_YX߷Cc1]2򣝔2ŔS9V]ªi1XUAre%%`9Oð((C]:~#thN'!WRB1ᮦ?K=cqzrn SN(~*\S𩱜2Kgbg5U"'IG,th+~2KM\Euh0 " ?;9؏IĴ⿢ٮm-D"]јU$R?,·y90@r:#{MnkȏŒ}Tnu3ߪD2~|CJh -( ,I<\Fr\Aq> HJ=3G;pJrj[U;׳b1^endstream -endobj - -22621 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -22622 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -22623 0 obj -<> -endobj - -22624 0 obj -<> -endobj - -22625 0 obj -<> -endobj - -22626 0 obj -<> -endobj - -22627 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -22628 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -22629 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -22630 0 obj -<> -stream -HėnF{K)hqBEbMM]>M_vetk( YH7|E8~=%X\)yą%bLTa5U ˡaws߇]L /w/s#2&)پkTI=kl/)&i|198LhI)z.zNGn|? ݽ~mq k:- iˆ5w^}ܕT /v܂.[L co$cm!dQANyF(67OB' lW8ה+00Ip&@JuR{t:5H0J8òMhv[%h0Gj,C)A4_$a̔T -m'_˒S)_ iZ' w0M8)Ph$@*)PpȇU%FA}ȓİbdw+ދBpUVk8#LD'N YAM-w۳z= j1:4ZazzhNnF[b}WSo U#^^҆0j4 -Ճ= },ٕIBF#\=8ɮhDn׆!N>݀<=j[Ov[\vsE)p(ʊol3_ò"nk(X-̠$ח5O"UT6Cbr,SF:^,ʞKSR +,e>]BAFYx!ArZ۞Y"pݸAwXG>+2N;"sqV˞fz(C?y} `kV2_KEk n3DAֆP MwELy tӧ&@n+ڹ -6T$x;M#|p R"ާ*zO1J;apX[y'6 #1]L7AuMp`aYyTB%pdFo\]1A^Ut37:$v_[(6juVևOX1&L=+"Q@ (Ŀc7^2Fp,oAZ0Fendstream -endobj - -22631 0 obj -<> -endobj - -22632 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -22633 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -22634 0 obj -<> -endobj - -22635 0 obj -<> -stream -HdNVmp|>_/rrzz7//_>is8_O_o|zpxen>ן?>/㏏<#q~;?뼹.?wm[~6<zh.wKrScSsKkۏ> -endobj - -22637 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -22638 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -22639 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -22640 0 obj -<> -stream -HW]oH|'panq>uI!Y'Hp1g-SIt|buS%u$bJ5553U9TzbT~o?k3ت -MZժfմz:= ^0VU,&TrTib\ռ8 -Mɷ#eY@;;ؘݸ%;>vP/OdasӖQ\8Jt現9?+HaN[uL>w^]|Ե -rhR:#`yL99c"HCb2X`Qp[ --sw{;c3^pXp3>fc}'O s -S>ܧ}*OLp1>cs}{Y#b -{Kh-ŐS Y=ŀ%bܳZC -R Y{Z+bܳZZ!KpZkR Y{Z+bZK1d YkZ!KpZkRl8CwO1` {!R Y{Z'bܳ:Z!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZ/b),CwO1dqZ!KpZR Y{Z/bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%gBk),=kZKu {Kh-ŐS Y}<*?uEQ"ȷouڪ$S:녚]})Wog' -˾j׳zR|yl2)R3ĹNm/nr mZ/#)o"3(!{S*f᦭kR,'nq^}yf{REd^%hT@s59uQgoJ{Ͳ?ٮD*>QϦ ۺ6poo -]9Nq[Fuusggw ߧFgIdaS՞'FY1XU[˶}СۛWտy aUs?6vG?:9!kRh5J^]j*7Ù6KHZ\V\G+맬rg56e&C \GO5v;0nˡ2jLj5N Wflܫ\n07|6|Gd7ӏz1>t N/z[3x.|Ămz8 U%Ormv&.Z 8~7]}\lwcy@'0n_BጠClH5S ȹqmr(U'­+6WA##Z룻#ʵC;l3ogS_ ,ՙݨڐvDj'KǥD ?]bU@5DŽ2űN>6g(OM^0`x -p1n>|.rŴ噖<ӊiłV̴A+aZ0TJV*hL+2 ZiVNlĵ(,E1`A0-#he-˴roS Y˽rO1d Z,V=Ő%h[!CroS Y˽rO1d Z,V=Ő%h;!CעS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1dq-K=Ő%h{!CrS Y˽rO1d Z,^=Ő%h{!CrS Y˽rO1d Z,^=Ő%hB),E1`  >/UL sQ"8Sܴunoo꛻RRe,0{<jK/$WMszluFͼ 1ۈ%j"+/@>em;1Y̫-lFֲF4}xM5jyutGWoʾuEYx|\Wn1gzz(CRHrmq9 xB֞/J-;2s.xbz4G-ղ*w2Hǻe| i~ͰxA=9E,2G)OZӧvbi``g f`wڧ;d^3g -O; -cB?˶n%9ρYo7 7.Mtedi;ܭKL.v.z]nM"pHt42O)'|VAn0{L˜kCUP Ԏ0]@0*=2ffQp͚ؐ$c -](΁g(s@~s׺ل6{d_.S3CSFTO=vl!냒=TK!]8<f'RVN]0r]4 VVNg]݁bas^7#i.lGr=:R$Y4ݚ/ S޹J;}F)GeGBY@%cʓHxN! Wx't#>/P 1408 0 R/Type/Annot/A 22642 0 R/Subtype/Link/Rect[93.6007004 254.748001 271.656006 274.428009]/Border[0 0 0]/H/N>> -endobj - -22642 0 obj -<> -endobj - -22643 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -22644 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -22645 0 obj -<> -endobj - -22646 0 obj -<> -endobj - -22647 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -22648 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -22649 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -22650 0 obj -<> -stream -HWioH_јO'ޝ 03Gc-X0Ցd=^^Ruujuۥ͏?^\Nؐh }V:S>+Y7ɟfSb$4vyֳE]f=Kr&&C{5iiDITym:jji/].mK*j ?wd;qsz4;)lV**V}3LH.g|367g}kos31Ie -Rk~]$*D͉csHcNbIJVƬwkyNwS=p{{^}Pp///// - - -G>VbāJYڽĈZ+1ficv/1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+EAk%,^b{1K@k%,^փJYj@k%,^փJYj@k%,^փJYj@k%,^փJYj" cv/1bJYڽĘKXcpZ@k%,^6JXcpZ@k%,^6JXcpZ@k%,^6JXcpZ@k%,^6Jlcv/1bJYڽĘܛo2{A"`) -@+(hJZ*VJU* -hUJZҪVjU+Ҋ@+J-k-1KkIk@*- r@)-TȽĺZ@%,r@%,r/1f-{r/g)-{1 h;{uG>Kjy{1KkI;@KރK;@KރK2@KރK2@KރK(@KރK(@KރK@KރK@KރK@KރKZKbZR R R R M>R M>R ;R ;R 9R ㍹֒x T x\ k$ vYi"ft=fH27yz~6PgU˵̭+Sjr۬>,jRYjVpU[?zlGٸϏ! }]`ǻ|ߤfW4v\x%(f܍>꬛d2j+>v3 --=U\Mw9g?6gW[*Oe~lN񙩽=S lgz#uwiɬ˃>7'jez~[]od{Yn'`CUu OU>ۣK4SFhdٮF ןr1Yѐ 2,ih~q(J*zKn5^_{zi{_:2_ξK]D9G^,nY@%=[KG=-.K9=|D9SzG ;7fA{$K}ff~'A[-}CÑX:x6\qw󽱷/;_[ -{wWM.j~MPwo/ʊ"r:0=s* -RwU;ޙ)m|ϖԬ,sCns>a,ŀ -fLJ]C^i#\ud/S3v{kj_1YolK70u۩ђ+a4~:(}a )psOYWoGͲMIz;U7픚yeNNW,lu1PU.]Ŷjo}ݿA'SL jon'ES@exOQ~1 +_cĊ<ƒ gf8g -nd`kwKBK\?@9]k@B+ hTY4xL( L"3f t> J&hf4|Zt$ U;4];Զ遧7ϦElv$O1;_3_j~2!3Wc,L{5 ,o_&"&./ܗ1R&.t\4w5d)ȂqR:2,shZ^r^f KEv%ę007!$#*|d?q|Mίh”G0Čz[ en/&Ϝ /"לJ&ހ!2{߻*@+B5'a"~U;bœ1*6\ʃ韭s8Vh E}]ƻ%R˓c%M""Aʶ;7q&lF0f80[IH /endstream -endobj - -22651 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -22652 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -22653 0 obj -<> -endobj - -22654 0 obj -<> -endobj - -22655 0 obj -<> -endobj - -22656 0 obj -<> -endobj - -22657 0 obj -<> -endobj - -22658 0 obj -<> -endobj - -22659 0 obj -<> -endobj - -22660 0 obj -<> -endobj - -22661 0 obj -<> -endobj - -22662 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -22663 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -22664 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -22665 0 obj -<> -stream -HWmo7e@vmsS:y($3˕]8]Çyf,7`ϞxO% WfN14OTIfnyX_v>+_W\+z.f->V6,>-6,p&ǽ֏|6Jsˤ`W [[VEK*KL0RUn%el*.eI>JU^U^u^u^uMMmmm]]}}}>C>C>c> JBmS)B Q%(B Q%܆}n܆(}ZE6!`_Vm"TE/T6D *B Pjsj܆(}ZE6PmnCP"TE/TM 6Ds6DsJ Pjsj5܆(}ZM6PmnCP&TE/T 6@m"Մjsj5(B QBPmnCP&T6!TUm"TUm*6@m"5jsj (B QBPmnCP!TE6!`_m"5js6D B QBPmnTPmnCT>PmnCT>!dy0jSXTd->V&U9M5{p[],Z7< -#Zp+JEsՀ99 -sm!Z8p};uh}_w]0|>Z';iJt`61dwׇ{}W='Vz=nW*UלzvUR7--jP;< -{8W JO 8hH nO=>~ß5LQX}"x*'lW؀)apѪ.l;a}b#jy,H kgHD8T7כz\@fvuX}ٌ}Jݶ_~m$wѩ[W.4n>Fg% )v..S..df]ޱ~me, R9m׸>vٟMP4\fjcm~>헛DOg }Y/TҼT(u}ٯ>ϲ#nᱰ1z{X6"cY6^?zC_L+BL*pe!D":9 [2 +B[&(X8X-: -~e'hpƃW9sE5Fa UMPu *eVqa& -w!!.]&5n# K 3m]bR5?/!fRsSt5#gງRZB1FzA7s1`~>]};V\ ʲ0ktY .SFLtvsww*[|-p?&K ` փ|=`0sIe Pvݰu0'vhݷzߍ6;4b@g9<.Li"È@4?^C -Q{ hj*7XCN]P%^zguO?(s| @8 -P2WN)C>G)PlĕF^Pʕ0+1Hn/Ȏd:3 ti?mcWØ!v$G =`(9f)au079a^GQq#q^%mQ# }L"A(; d@`:! фH:ߧj{6-^䜿vL1kN涁GKP{6.4ob騴WߌD`ੴҒUӖ*?qţTW{ۄ 2}8m%P@@[ВZB?hc| hasReM &|bJˇ?],o6Te4Ɩ׷Cւ* qXkN[Z"Ӑsʩjg ؊G";G9U'fsq!z6]msy쎫_;3H{M -5SEvCP9Bv@߇[9V`E,:|q}-zd-Ͳ^Y>wc3V -P}]E -DUcW*.zrn 4JmqaS) Msb -W( ,jި fI. NY8 V `EZGjB}hb,4:He$@y fנl5 gL\|^F"]'#D쾢uOD&@ˈy?  *CۆN*)/ vy%xgOxh cotJ˖ 46:V{((Bpq\wLO"ϣ {?œԔ2ǣP:gU5Sq1mISSmiE$Z~ AeìeYY^l q%,ڶ|2XGf%:Y뜼.:)dL\i[=fWϫ5~-tC[]h gsY uUgOy9F$twt=<>B6*[Uk%/4%UY'd@\Rc -jqiODQWڳ&4cY8$H }E) :sIV{D9( -Tv߆ѹaQY9YY؝F]5btsŚ(٧fZo3K{<3Tڿ2RY2tUaM> -2Bv.TYCmx##0v]k>o1kWUrq* $dɀJ *muB7j9J~St7p="Us-E25+ u=UטwrĬ-z.fV>jgLH5XfrW9Iv[ԥ|!2/&=odI&JPִ&c|w,&ZMKYꪲ1{;Xendstream -endobj - -22666 0 obj -<>/P 11766 0 R/Type/Annot/A 23131 0 R/Subtype/Link/Rect[211 670 221 678]/Border[0 0 0]/H/N>> -endobj - -22667 0 obj -<>/P 11766 0 R/Type/Annot/A 23128 0 R/Subtype/Link/Rect[223 670 237 678]/Border[0 0 0]/H/N>> -endobj - -22668 0 obj -<>/P 11766 0 R/Type/Annot/A 23124 0 R/Subtype/Link/Rect[239 670 251 678]/Border[0 0 0]/H/N>> -endobj - -22669 0 obj -<>/P 11766 0 R/Type/Annot/A 23122 0 R/Subtype/Link/Rect[196 660 206 668]/Border[0 0 0]/H/N>> -endobj - -22670 0 obj -<>/P 11766 0 R/Type/Annot/A 23117 0 R/Subtype/Link/Rect[208 660 222 668]/Border[0 0 0]/H/N>> -endobj - -22671 0 obj -<>/P 11766 0 R/Type/Annot/A 23113 0 R/Subtype/Link/Rect[224 660 238 668]/Border[0 0 0]/H/N>> -endobj - -22672 0 obj -<>/P 11766 0 R/Type/Annot/A 23109 0 R/Subtype/Link/Rect[240 660 257 669]/Border[0 0 0]/H/N>> -endobj - -22673 0 obj -<>/P 11766 0 R/Type/Annot/A 23104 0 R/Subtype/Link/Rect[258 660 272 668]/Border[0 0 0]/H/N>> -endobj - -22674 0 obj -<>/P 11766 0 R/Type/Annot/A 23100 0 R/Subtype/Link/Rect[274 660 288 668]/Border[0 0 0]/H/N>> -endobj - -22675 0 obj -<>/P 11766 0 R/Type/Annot/A 23094 0 R/Subtype/Link/Rect[290 660 304 668]/Border[0 0 0]/H/N>> -endobj - -22676 0 obj -<>/P 11766 0 R/Type/Annot/A 23092 0 R/Subtype/Link/Rect[151 650 165 658]/Border[0 0 0]/H/N>> -endobj - -22677 0 obj -<>/P 11766 0 R/Type/Annot/A 23090 0 R/Subtype/Link/Rect[167 650 179 658]/Border[0 0 0]/H/N>> -endobj - -22678 0 obj -<>/P 11766 0 R/Type/Annot/A 23085 0 R/Subtype/Link/Rect[231 640 237 648]/Border[0 0 0]/H/N>> -endobj - -22679 0 obj -<>/P 11766 0 R/Type/Annot/A 23082 0 R/Subtype/Link/Rect[239 640 249 648]/Border[0 0 0]/H/N>> -endobj - -22680 0 obj -<>/P 11766 0 R/Type/Annot/A 23078 0 R/Subtype/Link/Rect[251 640 261 648]/Border[0 0 0]/H/N>> -endobj - -22681 0 obj -<>/P 11766 0 R/Type/Annot/A 23074 0 R/Subtype/Link/Rect[263 640 277 648]/Border[0 0 0]/H/N>> -endobj - -22682 0 obj -<>/P 11766 0 R/Type/Annot/A 37660 0 R/Subtype/Link/Rect[279 640 293 648]/Border[0 0 0]/H/N>> -endobj - -22683 0 obj -<>/P 11766 0 R/Type/Annot/A 44789 0 R/Subtype/Link/Rect[295 640 309 648]/Border[0 0 0]/H/N>> -endobj - -22684 0 obj -<>/P 11766 0 R/Type/Annot/A 23352 0 R/Subtype/Link/Rect[151 630 165 638]/Border[0 0 0]/H/N>> -endobj - -22685 0 obj -<>/P 11766 0 R/Type/Annot/A 44706 0 R/Subtype/Link/Rect[167 630 181 638]/Border[0 0 0]/H/N>> -endobj - -22686 0 obj -<>/P 11766 0 R/Type/Annot/A 23348 0 R/Subtype/Link/Rect[183 630 197 638]/Border[0 0 0]/H/N>> -endobj - -22687 0 obj -<>/P 11766 0 R/Type/Annot/A 23345 0 R/Subtype/Link/Rect[199 630 213 638]/Border[0 0 0]/H/N>> -endobj - -22688 0 obj -<>/P 11766 0 R/Type/Annot/A 23342 0 R/Subtype/Link/Rect[215 630 232 639]/Border[0 0 0]/H/N>> -endobj - -22689 0 obj -<>/P 11766 0 R/Type/Annot/A 23339 0 R/Subtype/Link/Rect[233 630 247 638]/Border[0 0 0]/H/N>> -endobj - -22690 0 obj -<>/P 11766 0 R/Type/Annot/A 23335 0 R/Subtype/Link/Rect[249 630 263 638]/Border[0 0 0]/H/N>> -endobj - -22691 0 obj -<>/P 11766 0 R/Type/Annot/A 44503 0 R/Subtype/Link/Rect[265 630 281 639]/Border[0 0 0]/H/N>> -endobj - -22692 0 obj -<>/P 11766 0 R/Type/Annot/A 23329 0 R/Subtype/Link/Rect[282 630 296 638]/Border[0 0 0]/H/N>> -endobj - -22693 0 obj -<>/P 11766 0 R/Type/Annot/A 23325 0 R/Subtype/Link/Rect[151 620 168 629]/Border[0 0 0]/H/N>> -endobj - -22694 0 obj -<>/P 11766 0 R/Type/Annot/A 23319 0 R/Subtype/Link/Rect[169 620 183 628]/Border[0 0 0]/H/N>> -endobj - -22695 0 obj -<>/P 11766 0 R/Type/Annot/A 44357 0 R/Subtype/Link/Rect[185 620 199 628]/Border[0 0 0]/H/N>> -endobj - -22696 0 obj -<>/P 11766 0 R/Type/Annot/A 44331 0 R/Subtype/Link/Rect[201 620 215 628]/Border[0 0 0]/H/N>> -endobj - -22697 0 obj -<>/P 11766 0 R/Type/Annot/A 23305 0 R/Subtype/Link/Rect[217 620 233 629]/Border[0 0 0]/H/N>> -endobj - -22698 0 obj -<>/P 11766 0 R/Type/Annot/A 44251 0 R/Subtype/Link/Rect[234 620 248 628]/Border[0 0 0]/H/N>> -endobj - -22699 0 obj -<>/P 11766 0 R/Type/Annot/A 44221 0 R/Subtype/Link/Rect[250 620 262 628]/Border[0 0 0]/H/N>> -endobj - -22700 0 obj -<>/P 11766 0 R/Type/Annot/A 23291 0 R/Subtype/Link/Rect[254 580 268 588]/Border[0 0 0]/H/N>> -endobj - -22701 0 obj -<>/P 11766 0 R/Type/Annot/A 44149 0 R/Subtype/Link/Rect[270 580 284 588]/Border[0 0 0]/H/N>> -endobj - -22702 0 obj -<>/P 11766 0 R/Type/Annot/A 23283 0 R/Subtype/Link/Rect[286 580 300 588]/Border[0 0 0]/H/N>> -endobj - -22703 0 obj -<>/P 11766 0 R/Type/Annot/A 44077 0 R/Subtype/Link/Rect[151 570 165 578]/Border[0 0 0]/H/N>> -endobj - -22704 0 obj -<>/P 11766 0 R/Type/Annot/A 23276 0 R/Subtype/Link/Rect[167 570 181 578]/Border[0 0 0]/H/N>> -endobj - -22705 0 obj -<>/P 11766 0 R/Type/Annot/A 23272 0 R/Subtype/Link/Rect[183 570 197 578]/Border[0 0 0]/H/N>> -endobj - -22706 0 obj -<>/P 11766 0 R/Type/Annot/A 43970 0 R/Subtype/Link/Rect[199 570 213 578]/Border[0 0 0]/H/N>> -endobj - -22707 0 obj -<>/P 11766 0 R/Type/Annot/A 23264 0 R/Subtype/Link/Rect[215 570 227 578]/Border[0 0 0]/H/N>> -endobj - -22708 0 obj -<>/P 11766 0 R/Type/Annot/A 43886 0 R/Subtype/Link/Rect[168 560 184 569]/Border[0 0 0]/H/N>> -endobj - -22709 0 obj -<>/P 11766 0 R/Type/Annot/A 43856 0 R/Subtype/Link/Rect[185 560 199 568]/Border[0 0 0]/H/N>> -endobj - -22710 0 obj -<>/P 11766 0 R/Type/Annot/A 23256 0 R/Subtype/Link/Rect[201 560 215 568]/Border[0 0 0]/H/N>> -endobj - -22711 0 obj -<>/P 11766 0 R/Type/Annot/A 43789 0 R/Subtype/Link/Rect[217 560 229 568]/Border[0 0 0]/H/N>> -endobj - -22712 0 obj -<>/P 11766 0 R/Type/Annot/A 43752 0 R/Subtype/Link/Rect[193 550 205 558]/Border[0 0 0]/H/N>> -endobj - -22713 0 obj -<>/P 11766 0 R/Type/Annot/A 23249 0 R/Subtype/Link/Rect[201 540 215 548]/Border[0 0 0]/H/N>> -endobj - -22714 0 obj -<>/P 11766 0 R/Type/Annot/A 23246 0 R/Subtype/Link/Rect[217 540 229 548]/Border[0 0 0]/H/N>> -endobj - -22715 0 obj -<>/P 11766 0 R/Type/Annot/A 43632 0 R/Subtype/Link/Rect[222 530 236 538]/Border[0 0 0]/H/N>> -endobj - -22716 0 obj -<>/P 11766 0 R/Type/Annot/A 23241 0 R/Subtype/Link/Rect[238 530 254 539]/Border[0 0 0]/H/N>> -endobj - -22717 0 obj -<>/P 11766 0 R/Type/Annot/A 43551 0 R/Subtype/Link/Rect[255 530 269 538]/Border[0 0 0]/H/N>> -endobj - -22718 0 obj -<>/P 11766 0 R/Type/Annot/A 43523 0 R/Subtype/Link/Rect[271 530 285 538]/Border[0 0 0]/H/N>> -endobj - -22719 0 obj -<>/P 11766 0 R/Type/Annot/A 23230 0 R/Subtype/Link/Rect[287 530 301 538]/Border[0 0 0]/H/N>> -endobj - -22720 0 obj -<>/P 11766 0 R/Type/Annot/A 23228 0 R/Subtype/Link/Rect[151 520 163 528]/Border[0 0 0]/H/N>> -endobj - -22721 0 obj -<>/P 11766 0 R/Type/Annot/A 23224 0 R/Subtype/Link/Rect[202 510 214 518]/Border[0 0 0]/H/N>> -endobj - -22722 0 obj -<>/P 11766 0 R/Type/Annot/A 23219 0 R/Subtype/Link/Rect[190 500 202 508]/Border[0 0 0]/H/N>> -endobj - -22723 0 obj -<>/P 11766 0 R/Type/Annot/A 23215 0 R/Subtype/Link/Rect[199 490 211 498]/Border[0 0 0]/H/N>> -endobj - -22724 0 obj -<>/P 11766 0 R/Type/Annot/A 23211 0 R/Subtype/Link/Rect[167 480 181 488]/Border[0 0 0]/H/N>> -endobj - -22725 0 obj -<>/P 11766 0 R/Type/Annot/A 23208 0 R/Subtype/Link/Rect[183 480 195 488]/Border[0 0 0]/H/N>> -endobj - -22726 0 obj -<>/P 11766 0 R/Type/Annot/A 43186 0 R/Subtype/Link/Rect[197 470 209 478]/Border[0 0 0]/H/N>> -endobj - -22727 0 obj -<>/P 11766 0 R/Type/Annot/A 43166 0 R/Subtype/Link/Rect[200 460 212 468]/Border[0 0 0]/H/N>> -endobj - -22728 0 obj -<>/P 11766 0 R/Type/Annot/A 23200 0 R/Subtype/Link/Rect[217 450 227 458]/Border[0 0 0]/H/N>> -endobj - -22729 0 obj -<>/P 11766 0 R/Type/Annot/A 23195 0 R/Subtype/Link/Rect[229 450 239 458]/Border[0 0 0]/H/N>> -endobj - -22730 0 obj -<>/P 11766 0 R/Type/Annot/A 43048 0 R/Subtype/Link/Rect[241 450 251 458]/Border[0 0 0]/H/N>> -endobj - -22731 0 obj -<>/P 11766 0 R/Type/Annot/A 43001 0 R/Subtype/Link/Rect[253 450 261 458]/Border[0 0 0]/H/N>> -endobj - -22732 0 obj -<>/P 11766 0 R/Type/Annot/A 23186 0 R/Subtype/Link/Rect[190 440 200 448]/Border[0 0 0]/H/N>> -endobj - -22733 0 obj -<>/P 11766 0 R/Type/Annot/A 23183 0 R/Subtype/Link/Rect[202 440 216 448]/Border[0 0 0]/H/N>> -endobj - -22734 0 obj -<>/P 11766 0 R/Type/Annot/A 23180 0 R/Subtype/Link/Rect[218 440 234 449]/Border[0 0 0]/H/N>> -endobj - -22735 0 obj -<>/P 11766 0 R/Type/Annot/A 42866 0 R/Subtype/Link/Rect[235 440 249 448]/Border[0 0 0]/H/N>> -endobj - -22736 0 obj -<>/P 11766 0 R/Type/Annot/A 23174 0 R/Subtype/Link/Rect[251 440 265 448]/Border[0 0 0]/H/N>> -endobj - -22737 0 obj -<>/P 11766 0 R/Type/Annot/A 42796 0 R/Subtype/Link/Rect[267 440 281 448]/Border[0 0 0]/H/N>> -endobj - -22738 0 obj -<>/P 11766 0 R/Type/Annot/A 23168 0 R/Subtype/Link/Rect[283 440 297 448]/Border[0 0 0]/H/N>> -endobj - -22739 0 obj -<>/P 11766 0 R/Type/Annot/A 23164 0 R/Subtype/Link/Rect[151 430 165 438]/Border[0 0 0]/H/N>> -endobj - -22740 0 obj -<>/P 11766 0 R/Type/Annot/A 23160 0 R/Subtype/Link/Rect[167 430 181 438]/Border[0 0 0]/H/N>> -endobj - -22741 0 obj -<>/P 11766 0 R/Type/Annot/A 23158 0 R/Subtype/Link/Rect[183 430 197 438]/Border[0 0 0]/H/N>> -endobj - -22742 0 obj -<>/P 11766 0 R/Type/Annot/A 42603 0 R/Subtype/Link/Rect[199 430 213 438]/Border[0 0 0]/H/N>> -endobj - -22743 0 obj -<>/P 11766 0 R/Type/Annot/A 23151 0 R/Subtype/Link/Rect[215 430 232 439]/Border[0 0 0]/H/N>> -endobj - -22744 0 obj -<>/P 11766 0 R/Type/Annot/A 42545 0 R/Subtype/Link/Rect[233 430 247 438]/Border[0 0 0]/H/N>> -endobj - -22745 0 obj -<>/P 11766 0 R/Type/Annot/A 23145 0 R/Subtype/Link/Rect[249 430 263 438]/Border[0 0 0]/H/N>> -endobj - -22746 0 obj -<>/P 11766 0 R/Type/Annot/A 42464 0 R/Subtype/Link/Rect[265 430 279 438]/Border[0 0 0]/H/N>> -endobj - -22747 0 obj -<>/P 11766 0 R/Type/Annot/A 23138 0 R/Subtype/Link/Rect[281 430 293 438]/Border[0 0 0]/H/N>> -endobj - -22748 0 obj -<>/P 11766 0 R/Type/Annot/A 23134 0 R/Subtype/Link/Rect[196 420 213 429]/Border[0 0 0]/H/N>> -endobj - -22749 0 obj -<>/P 11766 0 R/Type/Annot/A 23130 0 R/Subtype/Link/Rect[213 420 225 428]/Border[0 0 0]/H/N>> -endobj - -22750 0 obj -<>/P 11766 0 R/Type/Annot/A 42320 0 R/Subtype/Link/Rect[177 400 191 408]/Border[0 0 0]/H/N>> -endobj - -22751 0 obj -<>/P 11766 0 R/Type/Annot/A 42255 0 R/Subtype/Link/Rect[193 400 205 408]/Border[0 0 0]/H/N>> -endobj - -22752 0 obj -<>/P 11766 0 R/Type/Annot/A 23121 0 R/Subtype/Link/Rect[167 390 181 398]/Border[0 0 0]/H/N>> -endobj - -22753 0 obj -<>/P 11766 0 R/Type/Annot/A 23116 0 R/Subtype/Link/Rect[183 390 195 398]/Border[0 0 0]/H/N>> -endobj - -22754 0 obj -<>/P 11766 0 R/Type/Annot/A 23111 0 R/Subtype/Link/Rect[167 380 181 388]/Border[0 0 0]/H/N>> -endobj - -22755 0 obj -<>/P 11766 0 R/Type/Annot/A 23107 0 R/Subtype/Link/Rect[183 380 195 388]/Border[0 0 0]/H/N>> -endobj - -22756 0 obj -<>/P 11766 0 R/Type/Annot/A 23102 0 R/Subtype/Link/Rect[186 370 200 378]/Border[0 0 0]/H/N>> -endobj - -22757 0 obj -<>/P 11766 0 R/Type/Annot/A 23098 0 R/Subtype/Link/Rect[202 370 214 378]/Border[0 0 0]/H/N>> -endobj - -22758 0 obj -<>/P 11766 0 R/Type/Annot/A 41971 0 R/Subtype/Link/Rect[214 360 231 369]/Border[0 0 0]/H/N>> -endobj - -22759 0 obj -<>/P 11766 0 R/Type/Annot/A 41944 0 R/Subtype/Link/Rect[232 360 244 368]/Border[0 0 0]/H/N>> -endobj - -22760 0 obj -<>/P 11766 0 R/Type/Annot/A 23087 0 R/Subtype/Link/Rect[254 350 266 358]/Border[0 0 0]/H/N>> -endobj - -22761 0 obj -<>/P 11766 0 R/Type/Annot/A 41858 0 R/Subtype/Link/Rect[170 340 182 348]/Border[0 0 0]/H/N>> -endobj - -22762 0 obj -<>/P 11766 0 R/Type/Annot/A 23080 0 R/Subtype/Link/Rect[207 330 220 339]/Border[0 0 0]/H/N>> -endobj - -22763 0 obj -<>/P 11766 0 R/Type/Annot/A 23076 0 R/Subtype/Link/Rect[220 330 230 338]/Border[0 0 0]/H/N>> -endobj - -22764 0 obj -<>/P 11766 0 R/Type/Annot/A 23328 0 R/Subtype/Link/Rect[232 330 242 338]/Border[0 0 0]/H/N>> -endobj - -22765 0 obj -<>/P 11766 0 R/Type/Annot/A 41656 0 R/Subtype/Link/Rect[244 330 258 338]/Border[0 0 0]/H/N>> -endobj - -22766 0 obj -<>/P 11766 0 R/Type/Annot/A 23347 0 R/Subtype/Link/Rect[260 330 274 338]/Border[0 0 0]/H/N>> -endobj - -22767 0 obj -<>/P 11766 0 R/Type/Annot/A 23344 0 R/Subtype/Link/Rect[276 330 290 338]/Border[0 0 0]/H/N>> -endobj - -22768 0 obj -<>/P 11766 0 R/Type/Annot/A 23341 0 R/Subtype/Link/Rect[292 330 306 338]/Border[0 0 0]/H/N>> -endobj - -22769 0 obj -<>/P 11766 0 R/Type/Annot/A 23337 0 R/Subtype/Link/Rect[151 320 165 328]/Border[0 0 0]/H/N>> -endobj - -22770 0 obj -<>/P 11766 0 R/Type/Annot/A 23333 0 R/Subtype/Link/Rect[167 320 184 329]/Border[0 0 0]/H/N>> -endobj - -22771 0 obj -<>/P 11766 0 R/Type/Annot/A 41420 0 R/Subtype/Link/Rect[185 320 199 328]/Border[0 0 0]/H/N>> -endobj - -22772 0 obj -<>/P 11766 0 R/Type/Annot/A 41395 0 R/Subtype/Link/Rect[201 320 215 328]/Border[0 0 0]/H/N>> -endobj - -22773 0 obj -<>/P 11766 0 R/Type/Annot/A 23322 0 R/Subtype/Link/Rect[217 320 233 329]/Border[0 0 0]/H/N>> -endobj - -22774 0 obj -<>/P 11766 0 R/Type/Annot/A 23316 0 R/Subtype/Link/Rect[234 320 248 328]/Border[0 0 0]/H/N>> -endobj - -22775 0 obj -<>/P 11766 0 R/Type/Annot/A 41273 0 R/Subtype/Link/Rect[250 320 267 329]/Border[0 0 0]/H/N>> -endobj - -22776 0 obj -<>/P 11766 0 R/Type/Annot/A 41232 0 R/Subtype/Link/Rect[267 320 281 328]/Border[0 0 0]/H/N>> -endobj - -22777 0 obj -<>/P 11766 0 R/Type/Annot/A 23301 0 R/Subtype/Link/Rect[283 320 297 328]/Border[0 0 0]/H/N>> -endobj - -22778 0 obj -<>/P 11766 0 R/Type/Annot/A 41164 0 R/Subtype/Link/Rect[151 310 165 318]/Border[0 0 0]/H/N>> -endobj - -22779 0 obj -<>/P 11766 0 R/Type/Annot/A 23293 0 R/Subtype/Link/Rect[167 310 184 319]/Border[0 0 0]/H/N>> -endobj - -22780 0 obj -<>/P 11766 0 R/Type/Annot/A 23288 0 R/Subtype/Link/Rect[185 310 199 318]/Border[0 0 0]/H/N>> -endobj - -22781 0 obj -<>/P 11766 0 R/Type/Annot/A 23284 0 R/Subtype/Link/Rect[201 310 215 318]/Border[0 0 0]/H/N>> -endobj - -22782 0 obj -<>/P 11766 0 R/Type/Annot/A 40752 0 R/Subtype/Link/Rect[217 310 233 319]/Border[0 0 0]/H/N>> -endobj - -22783 0 obj -<>/P 11766 0 R/Type/Annot/A 40720 0 R/Subtype/Link/Rect[234 310 248 318]/Border[0 0 0]/H/N>> -endobj - -22784 0 obj -<>/P 11766 0 R/Type/Annot/A 40682 0 R/Subtype/Link/Rect[250 310 264 318]/Border[0 0 0]/H/N>> -endobj - -22785 0 obj -<>/P 11766 0 R/Type/Annot/A 23269 0 R/Subtype/Link/Rect[266 310 280 318]/Border[0 0 0]/H/N>> -endobj - -22786 0 obj -<>/P 11766 0 R/Type/Annot/A 40093 0 R/Subtype/Link/Rect[282 310 296 318]/Border[0 0 0]/H/N>> -endobj - -22787 0 obj -<>/P 11766 0 R/Type/Annot/A 39546 0 R/Subtype/Link/Rect[151 300 165 308]/Border[0 0 0]/H/N>> -endobj - -22788 0 obj -<>/P 11766 0 R/Type/Annot/A 39505 0 R/Subtype/Link/Rect[167 300 181 308]/Border[0 0 0]/H/N>> -endobj - -22789 0 obj -<>/P 11766 0 R/Type/Annot/A 38981 0 R/Subtype/Link/Rect[183 300 195 308]/Border[0 0 0]/H/N>> -endobj - -22790 0 obj -<>/P 11766 0 R/Type/Annot/A 38930 0 R/Subtype/Link/Rect[190 290 198 298]/Border[0 0 0]/H/N>> -endobj - -22791 0 obj -<>/P 11766 0 R/Type/Annot/A 38407 0 R/Subtype/Link/Rect[217 280 231 288]/Border[0 0 0]/H/N>> -endobj - -22792 0 obj -<>/P 11766 0 R/Type/Annot/A 38348 0 R/Subtype/Link/Rect[233 280 245 288]/Border[0 0 0]/H/N>> -endobj - -22793 0 obj -<>/P 11766 0 R/Type/Annot/A 38318 0 R/Subtype/Link/Rect[207 270 221 278]/Border[0 0 0]/H/N>> -endobj - -22794 0 obj -<>/P 11766 0 R/Type/Annot/A 38281 0 R/Subtype/Link/Rect[223 270 240 279]/Border[0 0 0]/H/N>> -endobj - -22795 0 obj -<>/P 11766 0 R/Type/Annot/A 23239 0 R/Subtype/Link/Rect[240 270 254 278]/Border[0 0 0]/H/N>> -endobj - -22796 0 obj -<>/P 11766 0 R/Type/Annot/A 23237 0 R/Subtype/Link/Rect[256 270 270 278]/Border[0 0 0]/H/N>> -endobj - -22797 0 obj -<>/P 11766 0 R/Type/Annot/A 36773 0 R/Subtype/Link/Rect[272 270 286 278]/Border[0 0 0]/H/N>> -endobj - -22798 0 obj -<>/P 11766 0 R/Type/Annot/A 36729 0 R/Subtype/Link/Rect[288 270 302 278]/Border[0 0 0]/H/N>> -endobj - -22799 0 obj -<>/P 11766 0 R/Type/Annot/A 38185 0 R/Subtype/Link/Rect[151 260 163 268]/Border[0 0 0]/H/N>> -endobj - -22800 0 obj -<>/P 11766 0 R/Type/Annot/A 23222 0 R/Subtype/Link/Rect[190 250 202 258]/Border[0 0 0]/H/N>> -endobj - -22801 0 obj -<>/P 11766 0 R/Type/Annot/A 35868 0 R/Subtype/Link/Rect[217 240 229 248]/Border[0 0 0]/H/N>> -endobj - -22802 0 obj -<>/P 11766 0 R/Type/Annot/A 35096 0 R/Subtype/Link/Rect[190 230 202 238]/Border[0 0 0]/H/N>> -endobj - -22803 0 obj -<>/P 11766 0 R/Type/Annot/A 23209 0 R/Subtype/Link/Rect[211 220 221 228]/Border[0 0 0]/H/N>> -endobj - -22804 0 obj -<>/P 11766 0 R/Type/Annot/A 23206 0 R/Subtype/Link/Rect[223 220 235 228]/Border[0 0 0]/H/N>> -endobj - -22805 0 obj -<>/P 11766 0 R/Type/Annot/A 23203 0 R/Subtype/Link/Rect[215 210 223 218]/Border[0 0 0]/H/N>> -endobj - -22806 0 obj -<>/P 11766 0 R/Type/Annot/A 34200 0 R/Subtype/Link/Rect[194 200 206 208]/Border[0 0 0]/H/N>> -endobj - -22807 0 obj -<>/P 11766 0 R/Type/Annot/A 23197 0 R/Subtype/Link/Rect[197 190 207 198]/Border[0 0 0]/H/N>> -endobj - -22808 0 obj -<>/P 11766 0 R/Type/Annot/A 38062 0 R/Subtype/Link/Rect[209 190 223 198]/Border[0 0 0]/H/N>> -endobj - -22809 0 obj -<>/P 11766 0 R/Type/Annot/A 38051 0 R/Subtype/Link/Rect[225 190 237 198]/Border[0 0 0]/H/N>> -endobj - -22810 0 obj -<>/P 11766 0 R/Type/Annot/A 23187 0 R/Subtype/Link/Rect[221 180 233 188]/Border[0 0 0]/H/N>> -endobj - -22811 0 obj -<>/P 11766 0 R/Type/Annot/A 38015 0 R/Subtype/Link/Rect[202 170 214 178]/Border[0 0 0]/H/N>> -endobj - -22812 0 obj -<>/P 11766 0 R/Type/Annot/A 32528 0 R/Subtype/Link/Rect[181 160 195 168]/Border[0 0 0]/H/N>> -endobj - -22813 0 obj -<>/P 11766 0 R/Type/Annot/A 23177 0 R/Subtype/Link/Rect[197 160 211 168]/Border[0 0 0]/H/N>> -endobj - -22814 0 obj -<>/P 11766 0 R/Type/Annot/A 31796 0 R/Subtype/Link/Rect[213 160 225 168]/Border[0 0 0]/H/N>> -endobj - -22815 0 obj -<>/P 11766 0 R/Type/Annot/A 23172 0 R/Subtype/Link/Rect[215 150 229 158]/Border[0 0 0]/H/N>> -endobj - -22816 0 obj -<>/P 11766 0 R/Type/Annot/A 31057 0 R/Subtype/Link/Rect[231 150 243 158]/Border[0 0 0]/H/N>> -endobj - -22817 0 obj -<>/P 11766 0 R/Type/Annot/A 23166 0 R/Subtype/Link/Rect[415 670 427 678]/Border[0 0 0]/H/N>> -endobj - -22818 0 obj -<>/P 11766 0 R/Type/Annot/A 23162 0 R/Subtype/Link/Rect[398 660 410 668]/Border[0 0 0]/H/N>> -endobj - -22819 0 obj -<>/P 11766 0 R/Type/Annot/A 30251 0 R/Subtype/Link/Rect[420 650 434 658]/Border[0 0 0]/H/N>> -endobj - -22820 0 obj -<>/P 11766 0 R/Type/Annot/A 23156 0 R/Subtype/Link/Rect[436 650 448 658]/Border[0 0 0]/H/N>> -endobj - -22821 0 obj -<>/P 11766 0 R/Type/Annot/A 23152 0 R/Subtype/Link/Rect[398 640 410 648]/Border[0 0 0]/H/N>> -endobj - -22822 0 obj -<>/P 11766 0 R/Type/Annot/A 23148 0 R/Subtype/Link/Rect[405 630 419 638]/Border[0 0 0]/H/N>> -endobj - -22823 0 obj -<>/P 11766 0 R/Type/Annot/A 37892 0 R/Subtype/Link/Rect[421 630 438 639]/Border[0 0 0]/H/N>> -endobj - -22824 0 obj -<>/P 11766 0 R/Type/Annot/A 29324 0 R/Subtype/Link/Rect[439 630 451 638]/Border[0 0 0]/H/N>> -endobj - -22825 0 obj -<>/P 11766 0 R/Type/Annot/A 23137 0 R/Subtype/Link/Rect[415 620 427 628]/Border[0 0 0]/H/N>> -endobj - -22826 0 obj -<>/P 11766 0 R/Type/Annot/A 23133 0 R/Subtype/Link/Rect[405 610 417 618]/Border[0 0 0]/H/N>> -endobj - -22827 0 obj -<>/P 11766 0 R/Type/Annot/A 37865 0 R/Subtype/Link/Rect[397 600 411 608]/Border[0 0 0]/H/N>> -endobj - -22828 0 obj -<>/P 11766 0 R/Type/Annot/A 23127 0 R/Subtype/Link/Rect[413 600 430 609]/Border[0 0 0]/H/N>> -endobj - -22829 0 obj -<>/P 11766 0 R/Type/Annot/A 37849 0 R/Subtype/Link/Rect[430 600 444 608]/Border[0 0 0]/H/N>> -endobj - -22830 0 obj -<>/P 11766 0 R/Type/Annot/A 23119 0 R/Subtype/Link/Rect[446 600 460 608]/Border[0 0 0]/H/N>> -endobj - -22831 0 obj -<>/P 11766 0 R/Type/Annot/A 23115 0 R/Subtype/Link/Rect[462 600 476 608]/Border[0 0 0]/H/N>> -endobj - -22832 0 obj -<>/P 11766 0 R/Type/Annot/A 37824 0 R/Subtype/Link/Rect[478 600 490 608]/Border[0 0 0]/H/N>> -endobj - -22833 0 obj -<>/P 11766 0 R/Type/Annot/A 23106 0 R/Subtype/Link/Rect[383 590 397 598]/Border[0 0 0]/H/N>> -endobj - -22834 0 obj -<>/P 11766 0 R/Type/Annot/A 23101 0 R/Subtype/Link/Rect[399 590 413 598]/Border[0 0 0]/H/N>> -endobj - -22835 0 obj -<>/P 11766 0 R/Type/Annot/A 23095 0 R/Subtype/Link/Rect[415 590 427 598]/Border[0 0 0]/H/N>> -endobj - -22836 0 obj -<>/P 11766 0 R/Type/Annot/A 23312 0 R/Subtype/Link/Rect[425 580 433 588]/Border[0 0 0]/H/N>> -endobj - -22837 0 obj -<>/P 11766 0 R/Type/Annot/A 23089 0 R/Subtype/Link/Rect[429 570 437 578]/Border[0 0 0]/H/N>> -endobj - -22838 0 obj -<>/P 11766 0 R/Type/Annot/A 23084 0 R/Subtype/Link/Rect[429 560 437 568]/Border[0 0 0]/H/N>> -endobj - -22839 0 obj -<>/P 11766 0 R/Type/Annot/A 23081 0 R/Subtype/Link/Rect[387 550 399 558]/Border[0 0 0]/H/N>> -endobj - -22840 0 obj -<>/P 11766 0 R/Type/Annot/A 37741 0 R/Subtype/Link/Rect[429 540 443 548]/Border[0 0 0]/H/N>> -endobj - -22841 0 obj -<>/P 11766 0 R/Type/Annot/A 23073 0 R/Subtype/Link/Rect[445 540 459 548]/Border[0 0 0]/H/N>> -endobj - -22842 0 obj -<>/P 11766 0 R/Type/Annot/A 37728 0 R/Subtype/Link/Rect[461 540 473 548]/Border[0 0 0]/H/N>> -endobj - -22843 0 obj -<>/P 11766 0 R/Type/Annot/A 37723 0 R/Subtype/Link/Rect[398 530 410 538]/Border[0 0 0]/H/N>> -endobj - -22844 0 obj -<>/P 11766 0 R/Type/Annot/A 23338 0 R/Subtype/Link/Rect[461 510 471 518]/Border[0 0 0]/H/N>> -endobj - -22845 0 obj -<>/P 11766 0 R/Type/Annot/A 23334 0 R/Subtype/Link/Rect[473 510 483 518]/Border[0 0 0]/H/N>> -endobj - -22846 0 obj -<>/P 11766 0 R/Type/Annot/A 37696 0 R/Subtype/Link/Rect[485 510 495 518]/Border[0 0 0]/H/N>> -endobj - -22847 0 obj -<>/P 11766 0 R/Type/Annot/A 37690 0 R/Subtype/Link/Rect[497 510 511 518]/Border[0 0 0]/H/N>> -endobj - -22848 0 obj -<>/P 11766 0 R/Type/Annot/A 23321 0 R/Subtype/Link/Rect[359 500 371 508]/Border[0 0 0]/H/N>> -endobj - -22849 0 obj -<>/P 11766 0 R/Type/Annot/A 23315 0 R/Subtype/Link/Rect[386 490 396 498]/Border[0 0 0]/H/N>> -endobj - -22850 0 obj -<>/P 11766 0 R/Type/Annot/A 23310 0 R/Subtype/Link/Rect[398 490 412 498]/Border[0 0 0]/H/N>> -endobj - -22851 0 obj -<>/P 11766 0 R/Type/Annot/A 23306 0 R/Subtype/Link/Rect[414 490 428 498]/Border[0 0 0]/H/N>> -endobj - -22852 0 obj -<>/P 11766 0 R/Type/Annot/A 23300 0 R/Subtype/Link/Rect[430 490 442 498]/Border[0 0 0]/H/N>> -endobj - -22853 0 obj -<>/P 11766 0 R/Type/Annot/A 23297 0 R/Subtype/Link/Rect[378 480 386 488]/Border[0 0 0]/H/N>> -endobj - -22854 0 obj -<>/P 11766 0 R/Type/Annot/A 23292 0 R/Subtype/Link/Rect[432 470 442 478]/Border[0 0 0]/H/N>> -endobj - -22855 0 obj -<>/P 11766 0 R/Type/Annot/A 23287 0 R/Subtype/Link/Rect[444 470 454 478]/Border[0 0 0]/H/N>> -endobj - -22856 0 obj -<>/P 11766 0 R/Type/Annot/A 23349 0 R/Subtype/Link/Rect[456 470 466 478]/Border[0 0 0]/H/N>> -endobj - -22857 0 obj -<>/P 11766 0 R/Type/Annot/A 23346 0 R/Subtype/Link/Rect[468 470 482 478]/Border[0 0 0]/H/N>> -endobj - -22858 0 obj -<>/P 11766 0 R/Type/Annot/A 23343 0 R/Subtype/Link/Rect[484 470 498 478]/Border[0 0 0]/H/N>> -endobj - -22859 0 obj -<>/P 11766 0 R/Type/Annot/A 23340 0 R/Subtype/Link/Rect[500 470 513 478]/Border[0 0 0]/H/N>> -endobj - -22860 0 obj -<>/P 11766 0 R/Type/Annot/A 23336 0 R/Subtype/Link/Rect[359 460 376 469]/Border[0 0 0]/H/N>> -endobj - -22861 0 obj -<>/P 11766 0 R/Type/Annot/A 23263 0 R/Subtype/Link/Rect[377 460 391 468]/Border[0 0 0]/H/N>> -endobj - -22862 0 obj -<>/P 11766 0 R/Type/Annot/A 23331 0 R/Subtype/Link/Rect[393 460 407 468]/Border[0 0 0]/H/N>> -endobj - -22863 0 obj -<>/P 11766 0 R/Type/Annot/A 23326 0 R/Subtype/Link/Rect[409 460 423 468]/Border[0 0 0]/H/N>> -endobj - -22864 0 obj -<>/P 11766 0 R/Type/Annot/A 23324 0 R/Subtype/Link/Rect[425 460 437 468]/Border[0 0 0]/H/N>> -endobj - -22865 0 obj -<>/P 11766 0 R/Type/Annot/A 23318 0 R/Subtype/Link/Rect[491 450 501 458]/Border[0 0 0]/H/N>> -endobj - -22866 0 obj -<>/P 11766 0 R/Type/Annot/A 23314 0 R/Subtype/Link/Rect[359 440 372 449]/Border[0 0 0]/H/N>> -endobj - -22867 0 obj -<>/P 11766 0 R/Type/Annot/A 23309 0 R/Subtype/Link/Rect[373 440 383 448]/Border[0 0 0]/H/N>> -endobj - -22868 0 obj -<>/P 11766 0 R/Type/Annot/A 23304 0 R/Subtype/Link/Rect[385 440 395 448]/Border[0 0 0]/H/N>> -endobj - -22869 0 obj -<>/P 11766 0 R/Type/Annot/A 23299 0 R/Subtype/Link/Rect[397 440 407 448]/Border[0 0 0]/H/N>> -endobj - -22870 0 obj -<>/P 11766 0 R/Type/Annot/A 23296 0 R/Subtype/Link/Rect[409 440 421 449]/Border[0 0 0]/H/N>> -endobj - -22871 0 obj -<>/P 11766 0 R/Type/Annot/A 23290 0 R/Subtype/Link/Rect[422 440 432 448]/Border[0 0 0]/H/N>> -endobj - -22872 0 obj -<>/P 11766 0 R/Type/Annot/A 23286 0 R/Subtype/Link/Rect[434 440 447 449]/Border[0 0 0]/H/N>> -endobj - -22873 0 obj -<>/P 11766 0 R/Type/Annot/A 23282 0 R/Subtype/Link/Rect[447 440 457 448]/Border[0 0 0]/H/N>> -endobj - -22874 0 obj -<>/P 11766 0 R/Type/Annot/A 23279 0 R/Subtype/Link/Rect[459 440 472 449]/Border[0 0 0]/H/N>> -endobj - -22875 0 obj -<>/P 11766 0 R/Type/Annot/A 36792 0 R/Subtype/Link/Rect[472 440 482 448]/Border[0 0 0]/H/N>> -endobj - -22876 0 obj -<>/P 11766 0 R/Type/Annot/A 23273 0 R/Subtype/Link/Rect[484 440 494 448]/Border[0 0 0]/H/N>> -endobj - -22877 0 obj -<>/P 11766 0 R/Type/Annot/A 23268 0 R/Subtype/Link/Rect[496 440 506 448]/Border[0 0 0]/H/N>> -endobj - -22878 0 obj -<>/P 11766 0 R/Type/Annot/A 23265 0 R/Subtype/Link/Rect[508 440 518 448]/Border[0 0 0]/H/N>> -endobj - -22879 0 obj -<>/P 11766 0 R/Type/Annot/A 23261 0 R/Subtype/Link/Rect[359 430 369 438]/Border[0 0 0]/H/N>> -endobj - -22880 0 obj -<>/P 11766 0 R/Type/Annot/A 23259 0 R/Subtype/Link/Rect[371 430 381 438]/Border[0 0 0]/H/N>> -endobj - -22881 0 obj -<>/P 11766 0 R/Type/Annot/A 23257 0 R/Subtype/Link/Rect[383 430 397 438]/Border[0 0 0]/H/N>> -endobj - -22882 0 obj -<>/P 11766 0 R/Type/Annot/A 23254 0 R/Subtype/Link/Rect[399 430 413 438]/Border[0 0 0]/H/N>> -endobj - -22883 0 obj -<>/P 11766 0 R/Type/Annot/A 23252 0 R/Subtype/Link/Rect[415 430 429 438]/Border[0 0 0]/H/N>> -endobj - -22884 0 obj -<>/P 11766 0 R/Type/Annot/A 23250 0 R/Subtype/Link/Rect[431 430 445 438]/Border[0 0 0]/H/N>> -endobj - -22885 0 obj -<>/P 11766 0 R/Type/Annot/A 23247 0 R/Subtype/Link/Rect[447 430 461 438]/Border[0 0 0]/H/N>> -endobj - -22886 0 obj -<>/P 11766 0 R/Type/Annot/A 23244 0 R/Subtype/Link/Rect[463 430 477 438]/Border[0 0 0]/H/N>> -endobj - -22887 0 obj -<>/P 11766 0 R/Type/Annot/A 23242 0 R/Subtype/Link/Rect[479 430 493 438]/Border[0 0 0]/H/N>> -endobj - -22888 0 obj -<>/P 11766 0 R/Type/Annot/A 23238 0 R/Subtype/Link/Rect[495 430 509 438]/Border[0 0 0]/H/N>> -endobj - -22889 0 obj -<>/P 11766 0 R/Type/Annot/A 23236 0 R/Subtype/Link/Rect[359 420 376 429]/Border[0 0 0]/H/N>> -endobj - -22890 0 obj -<>/P 11766 0 R/Type/Annot/A 23233 0 R/Subtype/Link/Rect[377 420 391 428]/Border[0 0 0]/H/N>> -endobj - -22891 0 obj -<>/P 11766 0 R/Type/Annot/A 23229 0 R/Subtype/Link/Rect[393 420 407 428]/Border[0 0 0]/H/N>> -endobj - -22892 0 obj -<>/P 11766 0 R/Type/Annot/A 23226 0 R/Subtype/Link/Rect[409 420 423 428]/Border[0 0 0]/H/N>> -endobj - -22893 0 obj -<>/P 11766 0 R/Type/Annot/A 23221 0 R/Subtype/Link/Rect[425 420 441 429]/Border[0 0 0]/H/N>> -endobj - -22894 0 obj -<>/P 11766 0 R/Type/Annot/A 23217 0 R/Subtype/Link/Rect[442 420 456 428]/Border[0 0 0]/H/N>> -endobj - -22895 0 obj -<>/P 11766 0 R/Type/Annot/A 23213 0 R/Subtype/Link/Rect[458 420 472 428]/Border[0 0 0]/H/N>> -endobj - -22896 0 obj -<>/P 11766 0 R/Type/Annot/A 23210 0 R/Subtype/Link/Rect[474 420 490 429]/Border[0 0 0]/H/N>> -endobj - -22897 0 obj -<>/P 11766 0 R/Type/Annot/A 23207 0 R/Subtype/Link/Rect[491 420 505 428]/Border[0 0 0]/H/N>> -endobj - -22898 0 obj -<>/P 11766 0 R/Type/Annot/A 23204 0 R/Subtype/Link/Rect[359 410 376 419]/Border[0 0 0]/H/N>> -endobj - -22899 0 obj -<>/P 11766 0 R/Type/Annot/A 23201 0 R/Subtype/Link/Rect[377 410 391 418]/Border[0 0 0]/H/N>> -endobj - -22900 0 obj -<>/P 11766 0 R/Type/Annot/A 23199 0 R/Subtype/Link/Rect[393 410 407 418]/Border[0 0 0]/H/N>> -endobj - -22901 0 obj -<>/P 11766 0 R/Type/Annot/A 23194 0 R/Subtype/Link/Rect[409 410 423 418]/Border[0 0 0]/H/N>> -endobj - -22902 0 obj -<>/P 11766 0 R/Type/Annot/A 23193 0 R/Subtype/Link/Rect[425 410 441 419]/Border[0 0 0]/H/N>> -endobj - -22903 0 obj -<>/P 11766 0 R/Type/Annot/A 23190 0 R/Subtype/Link/Rect[442 410 456 418]/Border[0 0 0]/H/N>> -endobj - -22904 0 obj -<>/P 11766 0 R/Type/Annot/A 23185 0 R/Subtype/Link/Rect[458 410 472 418]/Border[0 0 0]/H/N>> -endobj - -22905 0 obj -<>/P 11766 0 R/Type/Annot/A 23182 0 R/Subtype/Link/Rect[474 410 488 418]/Border[0 0 0]/H/N>> -endobj - -22906 0 obj -<>/P 11766 0 R/Type/Annot/A 23179 0 R/Subtype/Link/Rect[490 410 504 418]/Border[0 0 0]/H/N>> -endobj - -22907 0 obj -<>/P 11766 0 R/Type/Annot/A 23176 0 R/Subtype/Link/Rect[506 410 519 418]/Border[0 0 0]/H/N>> -endobj - -22908 0 obj -<>/P 11766 0 R/Type/Annot/A 23097 0 R/Subtype/Link/Rect[359 400 373 408]/Border[0 0 0]/H/N>> -endobj - -22909 0 obj -<>/P 11766 0 R/Type/Annot/A 23171 0 R/Subtype/Link/Rect[375 400 389 408]/Border[0 0 0]/H/N>> -endobj - -22910 0 obj -<>/P 11766 0 R/Type/Annot/A 23169 0 R/Subtype/Link/Rect[391 400 405 408]/Border[0 0 0]/H/N>> -endobj - -22911 0 obj -<>/P 11766 0 R/Type/Annot/A 23165 0 R/Subtype/Link/Rect[407 400 421 408]/Border[0 0 0]/H/N>> -endobj - -22912 0 obj -<>/P 11766 0 R/Type/Annot/A 23161 0 R/Subtype/Link/Rect[423 400 437 408]/Border[0 0 0]/H/N>> -endobj - -22913 0 obj -<>/P 11766 0 R/Type/Annot/A 23159 0 R/Subtype/Link/Rect[439 400 453 408]/Border[0 0 0]/H/N>> -endobj - -22914 0 obj -<>/P 11766 0 R/Type/Annot/A 23157 0 R/Subtype/Link/Rect[455 400 469 408]/Border[0 0 0]/H/N>> -endobj - -22915 0 obj -<>/P 11766 0 R/Type/Annot/A 23154 0 R/Subtype/Link/Rect[471 400 485 408]/Border[0 0 0]/H/N>> -endobj - -22916 0 obj -<>/P 11766 0 R/Type/Annot/A 23149 0 R/Subtype/Link/Rect[487 400 504 409]/Border[0 0 0]/H/N>> -endobj - -22917 0 obj -<>/P 11766 0 R/Type/Annot/A 23147 0 R/Subtype/Link/Rect[505 400 519 408]/Border[0 0 0]/H/N>> -endobj - -22918 0 obj -<>/P 11766 0 R/Type/Annot/A 23143 0 R/Subtype/Link/Rect[359 390 373 398]/Border[0 0 0]/H/N>> -endobj - -22919 0 obj -<>/P 11766 0 R/Type/Annot/A 23140 0 R/Subtype/Link/Rect[375 390 392 399]/Border[0 0 0]/H/N>> -endobj - -22920 0 obj -<>/P 11766 0 R/Type/Annot/A 23135 0 R/Subtype/Link/Rect[393 390 407 398]/Border[0 0 0]/H/N>> -endobj - -22921 0 obj -<>/P 11766 0 R/Type/Annot/A 23132 0 R/Subtype/Link/Rect[409 390 423 398]/Border[0 0 0]/H/N>> -endobj - -22922 0 obj -<>/P 11766 0 R/Type/Annot/A 23129 0 R/Subtype/Link/Rect[425 390 439 398]/Border[0 0 0]/H/N>> -endobj - -22923 0 obj -<>/P 11766 0 R/Type/Annot/A 23126 0 R/Subtype/Link/Rect[441 390 455 398]/Border[0 0 0]/H/N>> -endobj - -22924 0 obj -<>/P 11766 0 R/Type/Annot/A 23123 0 R/Subtype/Link/Rect[457 390 471 398]/Border[0 0 0]/H/N>> -endobj - -22925 0 obj -<>/P 11766 0 R/Type/Annot/A 23118 0 R/Subtype/Link/Rect[473 390 487 398]/Border[0 0 0]/H/N>> -endobj - -22926 0 obj -<>/P 11766 0 R/Type/Annot/A 23114 0 R/Subtype/Link/Rect[489 390 503 398]/Border[0 0 0]/H/N>> -endobj - -22927 0 obj -<>/P 11766 0 R/Type/Annot/A 23110 0 R/Subtype/Link/Rect[359 380 376 389]/Border[0 0 0]/H/N>> -endobj - -22928 0 obj -<>/P 11766 0 R/Type/Annot/A 23105 0 R/Subtype/Link/Rect[377 380 391 388]/Border[0 0 0]/H/N>> -endobj - -22929 0 obj -<>/P 11766 0 R/Type/Annot/A 23274 0 R/Subtype/Link/Rect[393 380 409 389]/Border[0 0 0]/H/N>> -endobj - -22930 0 obj -<>/P 11766 0 R/Type/Annot/A 23096 0 R/Subtype/Link/Rect[410 380 424 388]/Border[0 0 0]/H/N>> -endobj - -22931 0 obj -<>/P 11766 0 R/Type/Annot/A 23093 0 R/Subtype/Link/Rect[426 380 440 388]/Border[0 0 0]/H/N>> -endobj - -22932 0 obj -<>/P 11766 0 R/Type/Annot/A 23091 0 R/Subtype/Link/Rect[442 380 456 388]/Border[0 0 0]/H/N>> -endobj - -22933 0 obj -<>/P 11766 0 R/Type/Annot/A 23086 0 R/Subtype/Link/Rect[458 380 475 389]/Border[0 0 0]/H/N>> -endobj - -22934 0 obj -<>/P 11766 0 R/Type/Annot/A 23083 0 R/Subtype/Link/Rect[475 380 489 388]/Border[0 0 0]/H/N>> -endobj - -22935 0 obj -<>/P 11766 0 R/Type/Annot/A 23079 0 R/Subtype/Link/Rect[359 370 376 379]/Border[0 0 0]/H/N>> -endobj - -22936 0 obj -<>/P 11766 0 R/Type/Annot/A 23075 0 R/Subtype/Link/Rect[377 370 391 378]/Border[0 0 0]/H/N>> -endobj - -22937 0 obj -<>/P 11766 0 R/Type/Annot/A 44830 0 R/Subtype/Link/Rect[393 370 407 378]/Border[0 0 0]/H/N>> -endobj - -22938 0 obj -<>/P 11766 0 R/Type/Annot/A 23332 0 R/Subtype/Link/Rect[409 370 423 378]/Border[0 0 0]/H/N>> -endobj - -22939 0 obj -<>/P 11766 0 R/Type/Annot/A 23330 0 R/Subtype/Link/Rect[425 370 439 378]/Border[0 0 0]/H/N>> -endobj - -22940 0 obj -<>/P 11766 0 R/Type/Annot/A 44707 0 R/Subtype/Link/Rect[441 370 455 378]/Border[0 0 0]/H/N>> -endobj - -22941 0 obj -<>/P 11766 0 R/Type/Annot/A 23320 0 R/Subtype/Link/Rect[457 370 471 378]/Border[0 0 0]/H/N>> -endobj - -22942 0 obj -<>/P 11766 0 R/Type/Annot/A 23231 0 R/Subtype/Link/Rect[473 370 487 378]/Border[0 0 0]/H/N>> -endobj - -22943 0 obj -<>/P 11766 0 R/Type/Annot/A 23311 0 R/Subtype/Link/Rect[489 370 503 378]/Border[0 0 0]/H/N>> -endobj - -22944 0 obj -<>/P 11766 0 R/Type/Annot/A 23307 0 R/Subtype/Link/Rect[505 370 519 378]/Border[0 0 0]/H/N>> -endobj - -22945 0 obj -<>/P 11766 0 R/Type/Annot/A 23302 0 R/Subtype/Link/Rect[359 360 373 368]/Border[0 0 0]/H/N>> -endobj - -22946 0 obj -<>/P 11766 0 R/Type/Annot/A 23298 0 R/Subtype/Link/Rect[375 360 389 368]/Border[0 0 0]/H/N>> -endobj - -22947 0 obj -<>/P 11766 0 R/Type/Annot/A 23294 0 R/Subtype/Link/Rect[391 360 405 368]/Border[0 0 0]/H/N>> -endobj - -22948 0 obj -<>/P 11766 0 R/Type/Annot/A 23289 0 R/Subtype/Link/Rect[407 360 421 368]/Border[0 0 0]/H/N>> -endobj - -22949 0 obj -<>/P 11766 0 R/Type/Annot/A 44399 0 R/Subtype/Link/Rect[423 360 440 369]/Border[0 0 0]/H/N>> -endobj - -22950 0 obj -<>/P 11766 0 R/Type/Annot/A 23281 0 R/Subtype/Link/Rect[441 360 455 368]/Border[0 0 0]/H/N>> -endobj - -22951 0 obj -<>/P 11766 0 R/Type/Annot/A 23278 0 R/Subtype/Link/Rect[457 360 471 368]/Border[0 0 0]/H/N>> -endobj - -22952 0 obj -<>/P 11766 0 R/Type/Annot/A 23275 0 R/Subtype/Link/Rect[473 360 487 368]/Border[0 0 0]/H/N>> -endobj - -22953 0 obj -<>/P 11766 0 R/Type/Annot/A 44252 0 R/Subtype/Link/Rect[489 360 503 368]/Border[0 0 0]/H/N>> -endobj - -22954 0 obj -<>/P 11766 0 R/Type/Annot/A 23266 0 R/Subtype/Link/Rect[505 360 517 368]/Border[0 0 0]/H/N>> -endobj - -22955 0 obj -<>/P 11766 0 R/Type/Annot/A 44180 0 R/Subtype/Link/Rect[429 350 443 358]/Border[0 0 0]/H/N>> -endobj - -22956 0 obj -<>/P 11766 0 R/Type/Annot/A 23260 0 R/Subtype/Link/Rect[445 350 459 358]/Border[0 0 0]/H/N>> -endobj - -22957 0 obj -<>/P 11766 0 R/Type/Annot/A 23258 0 R/Subtype/Link/Rect[461 350 475 358]/Border[0 0 0]/H/N>> -endobj - -22958 0 obj -<>/P 11766 0 R/Type/Annot/A 23255 0 R/Subtype/Link/Rect[477 350 491 358]/Border[0 0 0]/H/N>> -endobj - -22959 0 obj -<>/P 11766 0 R/Type/Annot/A 44042 0 R/Subtype/Link/Rect[493 350 505 358]/Border[0 0 0]/H/N>> -endobj - -22960 0 obj -<>/P 11766 0 R/Type/Annot/A 23251 0 R/Subtype/Link/Rect[490 340 498 348]/Border[0 0 0]/H/N>> -endobj - -22961 0 obj -<>/P 11766 0 R/Type/Annot/A 23248 0 R/Subtype/Link/Rect[502 340 510 348]/Border[0 0 0]/H/N>> -endobj - -22962 0 obj -<>/P 11766 0 R/Type/Annot/A 23245 0 R/Subtype/Link/Rect[490 330 498 338]/Border[0 0 0]/H/N>> -endobj - -22963 0 obj -<>/P 11766 0 R/Type/Annot/A 23243 0 R/Subtype/Link/Rect[502 330 512 338]/Border[0 0 0]/H/N>> -endobj - -22964 0 obj -<>/P 11766 0 R/Type/Annot/A 43860 0 R/Subtype/Link/Rect[359 320 369 328]/Border[0 0 0]/H/N>> -endobj - -22965 0 obj -<>/P 11766 0 R/Type/Annot/A 23235 0 R/Subtype/Link/Rect[371 320 385 328]/Border[0 0 0]/H/N>> -endobj - -22966 0 obj -<>/P 11766 0 R/Type/Annot/A 23232 0 R/Subtype/Link/Rect[387 320 401 328]/Border[0 0 0]/H/N>> -endobj - -22967 0 obj -<>/P 11766 0 R/Type/Annot/A 43755 0 R/Subtype/Link/Rect[403 320 417 328]/Border[0 0 0]/H/N>> -endobj - -22968 0 obj -<>/P 11766 0 R/Type/Annot/A 23225 0 R/Subtype/Link/Rect[419 320 436 329]/Border[0 0 0]/H/N>> -endobj - -22969 0 obj -<>/P 11766 0 R/Type/Annot/A 23220 0 R/Subtype/Link/Rect[437 320 451 328]/Border[0 0 0]/H/N>> -endobj - -22970 0 obj -<>/P 11766 0 R/Type/Annot/A 23216 0 R/Subtype/Link/Rect[453 320 467 328]/Border[0 0 0]/H/N>> -endobj - -22971 0 obj -<>/P 11766 0 R/Type/Annot/A 23212 0 R/Subtype/Link/Rect[469 320 483 328]/Border[0 0 0]/H/N>> -endobj - -22972 0 obj -<>/P 11766 0 R/Type/Annot/A 43554 0 R/Subtype/Link/Rect[485 320 501 329]/Border[0 0 0]/H/N>> -endobj - -22973 0 obj -<>/P 11766 0 R/Type/Annot/A 23205 0 R/Subtype/Link/Rect[502 320 516 328]/Border[0 0 0]/H/N>> -endobj - -22974 0 obj -<>/P 11766 0 R/Type/Annot/A 23202 0 R/Subtype/Link/Rect[359 310 373 318]/Border[0 0 0]/H/N>> -endobj - -22975 0 obj -<>/P 11766 0 R/Type/Annot/A 43456 0 R/Subtype/Link/Rect[375 310 392 319]/Border[0 0 0]/H/N>> -endobj - -22976 0 obj -<>/P 11766 0 R/Type/Annot/A 23196 0 R/Subtype/Link/Rect[393 310 407 318]/Border[0 0 0]/H/N>> -endobj - -22977 0 obj -<>/P 11766 0 R/Type/Annot/A 43375 0 R/Subtype/Link/Rect[409 310 423 318]/Border[0 0 0]/H/N>> -endobj - -22978 0 obj -<>/P 11766 0 R/Type/Annot/A 23191 0 R/Subtype/Link/Rect[425 310 439 318]/Border[0 0 0]/H/N>> -endobj - -22979 0 obj -<>/P 11766 0 R/Type/Annot/A 23188 0 R/Subtype/Link/Rect[441 310 455 318]/Border[0 0 0]/H/N>> -endobj - -22980 0 obj -<>/P 11766 0 R/Type/Annot/A 23184 0 R/Subtype/Link/Rect[457 310 473 319]/Border[0 0 0]/H/N>> -endobj - -22981 0 obj -<>/P 11766 0 R/Type/Annot/A 23181 0 R/Subtype/Link/Rect[474 310 488 318]/Border[0 0 0]/H/N>> -endobj - -22982 0 obj -<>/P 11766 0 R/Type/Annot/A 23178 0 R/Subtype/Link/Rect[490 310 504 318]/Border[0 0 0]/H/N>> -endobj - -22983 0 obj -<>/P 11766 0 R/Type/Annot/A 23175 0 R/Subtype/Link/Rect[359 300 373 308]/Border[0 0 0]/H/N>> -endobj - -22984 0 obj -<>/P 11766 0 R/Type/Annot/A 43105 0 R/Subtype/Link/Rect[375 300 389 308]/Border[0 0 0]/H/N>> -endobj - -22985 0 obj -<>/P 11766 0 R/Type/Annot/A 23170 0 R/Subtype/Link/Rect[391 300 403 308]/Border[0 0 0]/H/N>> -endobj - -22986 0 obj -<>/P 11766 0 R/Type/Annot/A 43004 0 R/Subtype/Link/Rect[488 290 501 299]/Border[0 0 0]/H/N>> -endobj - -22987 0 obj -<>/P 11766 0 R/Type/Annot/A 23163 0 R/Subtype/Link/Rect[502 290 512 298]/Border[0 0 0]/H/N>> -endobj - -22988 0 obj -<>/P 11766 0 R/Type/Annot/A 42934 0 R/Subtype/Link/Rect[359 280 371 288]/Border[0 0 0]/H/N>> -endobj - -22989 0 obj -<>/P 11766 0 R/Type/Annot/A 42916 0 R/Subtype/Link/Rect[363 270 373 278]/Border[0 0 0]/H/N>> -endobj - -22990 0 obj -<>/P 11766 0 R/Type/Annot/A 23155 0 R/Subtype/Link/Rect[375 270 389 278]/Border[0 0 0]/H/N>> -endobj - -22991 0 obj -<>/P 11766 0 R/Type/Annot/A 23150 0 R/Subtype/Link/Rect[391 270 405 278]/Border[0 0 0]/H/N>> -endobj - -22992 0 obj -<>/P 11766 0 R/Type/Annot/A 42799 0 R/Subtype/Link/Rect[407 270 421 278]/Border[0 0 0]/H/N>> -endobj - -22993 0 obj -<>/P 11766 0 R/Type/Annot/A 23144 0 R/Subtype/Link/Rect[423 270 437 278]/Border[0 0 0]/H/N>> -endobj - -22994 0 obj -<>/P 11766 0 R/Type/Annot/A 23141 0 R/Subtype/Link/Rect[439 270 456 279]/Border[0 0 0]/H/N>> -endobj - -22995 0 obj -<>/P 11766 0 R/Type/Annot/A 23136 0 R/Subtype/Link/Rect[456 270 470 278]/Border[0 0 0]/H/N>> -endobj - -22996 0 obj -<>/P 11766 0 R/Type/Annot/A 23271 0 R/Subtype/Link/Rect[472 270 486 278]/Border[0 0 0]/H/N>> -endobj - -22997 0 obj -<>/P 11766 0 R/Type/Annot/A 42607 0 R/Subtype/Link/Rect[488 270 500 278]/Border[0 0 0]/H/N>> -endobj - -22998 0 obj -<>/P 11766 0 R/Type/Annot/A 23125 0 R/Subtype/Link/Rect[363 260 373 268]/Border[0 0 0]/H/N>> -endobj - -22999 0 obj -<>/P 11766 0 R/Type/Annot/A 42549 0 R/Subtype/Link/Rect[375 260 389 268]/Border[0 0 0]/H/N>> -endobj - -23000 0 obj -<>/P 11766 0 R/Type/Annot/A 24909 0 R/Subtype/Link/Rect[391 260 405 268]/Border[0 0 0]/H/N>> -endobj - -23001 0 obj -<>/P 11766 0 R/Type/Annot/A 23112 0 R/Subtype/Link/Rect[407 260 421 268]/Border[0 0 0]/H/N>> -endobj - -23002 0 obj -<>/P 11766 0 R/Type/Annot/A 23108 0 R/Subtype/Link/Rect[423 260 437 268]/Border[0 0 0]/H/N>> -endobj - -23003 0 obj -<>/P 11766 0 R/Type/Annot/A 23103 0 R/Subtype/Link/Rect[439 260 453 268]/Border[0 0 0]/H/N>> -endobj - -23004 0 obj -<>/P 11766 0 R/Type/Annot/A 23099 0 R/Subtype/Link/Rect[455 260 469 268]/Border[0 0 0]/H/N>> -endobj - -23005 0 obj -<>/P 11766 0 R/Type/Annot/A 42323 0 R/Subtype/Link/Rect[471 260 485 268]/Border[0 0 0]/H/N>> -endobj - -23006 0 obj -<>/P 11766 0 R/Type/Annot/A 42256 0 R/Subtype/Link/Rect[487 260 501 268]/Border[0 0 0]/H/N>> -endobj - -23007 0 obj -<>/P 11766 0 R/Type/Annot/A 23088 0 R/Subtype/Link/Rect[503 260 517 268]/Border[0 0 0]/H/N>> -endobj - -23008 0 obj -<>/P 11766 0 R/Type/Annot/A 42196 0 R/Subtype/Link/Rect[359 250 373 258]/Border[0 0 0]/H/N>> -endobj - -23009 0 obj -<>/P 11766 0 R/Type/Annot/A 42142 0 R/Subtype/Link/Rect[375 250 389 258]/Border[0 0 0]/H/N>> -endobj - -23010 0 obj -<>/P 11766 0 R/Type/Annot/A 23077 0 R/Subtype/Link/Rect[391 250 405 258]/Border[0 0 0]/H/N>> -endobj - -23011 0 obj -<>/P 11766 0 R/Type/Annot/A 23072 0 R/Subtype/Link/Rect[407 250 421 258]/Border[0 0 0]/H/N>> -endobj - -23012 0 obj -<>/P 11766 0 R/Type/Annot/A 23327 0 R/Subtype/Link/Rect[423 250 437 258]/Border[0 0 0]/H/N>> -endobj - -23013 0 obj -<>/P 11766 0 R/Type/Annot/A 23323 0 R/Subtype/Link/Rect[439 250 451 258]/Border[0 0 0]/H/N>> -endobj - -23014 0 obj -<>/P 11766 0 R/Type/Annot/A 23317 0 R/Subtype/Link/Rect[388 220 398 228]/Border[0 0 0]/H/N>> -endobj - -23015 0 obj -<>/P 11766 0 R/Type/Annot/A 23313 0 R/Subtype/Link/Rect[400 220 410 228]/Border[0 0 0]/H/N>> -endobj - -23016 0 obj -<>/P 11766 0 R/Type/Annot/A 23308 0 R/Subtype/Link/Rect[412 220 424 228]/Border[0 0 0]/H/N>> -endobj - -23017 0 obj -<>/P 11766 0 R/Type/Annot/A 23303 0 R/Subtype/Link/Rect[420 210 426 218]/Border[0 0 0]/H/N>> -endobj - -23018 0 obj -<>/P 11766 0 R/Type/Annot/A 41744 0 R/Subtype/Link/Rect[428 210 438 218]/Border[0 0 0]/H/N>> -endobj - -23019 0 obj -<>/P 11766 0 R/Type/Annot/A 23295 0 R/Subtype/Link/Rect[440 210 450 218]/Border[0 0 0]/H/N>> -endobj - -23020 0 obj -<>/P 11766 0 R/Type/Annot/A 41659 0 R/Subtype/Link/Rect[452 210 464 219]/Border[0 0 0]/H/N>> -endobj - -23021 0 obj -<>/P 11766 0 R/Type/Annot/A 23285 0 R/Subtype/Link/Rect[465 210 475 218]/Border[0 0 0]/H/N>> -endobj - -23022 0 obj -<>/P 11766 0 R/Type/Annot/A 23280 0 R/Subtype/Link/Rect[477 210 487 218]/Border[0 0 0]/H/N>> -endobj - -23023 0 obj -<>/P 11766 0 R/Type/Annot/A 23277 0 R/Subtype/Link/Rect[489 210 499 218]/Border[0 0 0]/H/N>> -endobj - -23024 0 obj -<>/P 11766 0 R/Type/Annot/A 35843 0 R/Subtype/Link/Rect[501 210 511 218]/Border[0 0 0]/H/N>> -endobj - -23025 0 obj -<>/P 11766 0 R/Type/Annot/A 23270 0 R/Subtype/Link/Rect[359 200 369 208]/Border[0 0 0]/H/N>> -endobj - -23026 0 obj -<>/P 11766 0 R/Type/Annot/A 41424 0 R/Subtype/Link/Rect[371 200 385 208]/Border[0 0 0]/H/N>> -endobj - -23027 0 obj -<>/P 11766 0 R/Type/Annot/A 23262 0 R/Subtype/Link/Rect[387 200 401 208]/Border[0 0 0]/H/N>> -endobj - -23028 0 obj -<>/P 11766 0 R/Type/Annot/A 41336 0 R/Subtype/Link/Rect[403 200 417 208]/Border[0 0 0]/H/N>> -endobj - -23029 0 obj -<>/P 11766 0 R/Type/Annot/A 41299 0 R/Subtype/Link/Rect[419 200 433 208]/Border[0 0 0]/H/N>> -endobj - -23030 0 obj -<>/P 11766 0 R/Type/Annot/A 23253 0 R/Subtype/Link/Rect[435 200 449 208]/Border[0 0 0]/H/N>> -endobj - -23031 0 obj -<>/P 11766 0 R/Type/Annot/A 41236 0 R/Subtype/Link/Rect[451 200 465 208]/Border[0 0 0]/H/N>> -endobj - -23032 0 obj -<>/P 11766 0 R/Type/Annot/A 41194 0 R/Subtype/Link/Rect[467 200 481 208]/Border[0 0 0]/H/N>> -endobj - -23033 0 obj -<>/P 11766 0 R/Type/Annot/A 41167 0 R/Subtype/Link/Rect[483 200 497 208]/Border[0 0 0]/H/N>> -endobj - -23034 0 obj -<>/P 11766 0 R/Type/Annot/A 41147 0 R/Subtype/Link/Rect[499 200 513 208]/Border[0 0 0]/H/N>> -endobj - -23035 0 obj -<>/P 11766 0 R/Type/Annot/A 23240 0 R/Subtype/Link/Rect[359 190 373 198]/Border[0 0 0]/H/N>> -endobj - -23036 0 obj -<>/P 11766 0 R/Type/Annot/A 37579 0 R/Subtype/Link/Rect[375 190 389 198]/Border[0 0 0]/H/N>> -endobj - -23037 0 obj -<>/P 11766 0 R/Type/Annot/A 23234 0 R/Subtype/Link/Rect[391 190 405 198]/Border[0 0 0]/H/N>> -endobj - -23038 0 obj -<>/P 11766 0 R/Type/Annot/A 40724 0 R/Subtype/Link/Rect[407 190 421 198]/Border[0 0 0]/H/N>> -endobj - -23039 0 obj -<>/P 11766 0 R/Type/Annot/A 23227 0 R/Subtype/Link/Rect[423 190 437 198]/Border[0 0 0]/H/N>> -endobj - -23040 0 obj -<>/P 11766 0 R/Type/Annot/A 23223 0 R/Subtype/Link/Rect[439 190 456 199]/Border[0 0 0]/H/N>> -endobj - -23041 0 obj -<>/P 11766 0 R/Type/Annot/A 23218 0 R/Subtype/Link/Rect[457 190 471 198]/Border[0 0 0]/H/N>> -endobj - -23042 0 obj -<>/P 11766 0 R/Type/Annot/A 23214 0 R/Subtype/Link/Rect[473 190 487 198]/Border[0 0 0]/H/N>> -endobj - -23043 0 obj -<>/P 11766 0 R/Type/Annot/A 39509 0 R/Subtype/Link/Rect[489 190 503 198]/Border[0 0 0]/H/N>> -endobj - -23044 0 obj -<>/P 11766 0 R/Type/Annot/A 38984 0 R/Subtype/Link/Rect[505 190 519 198]/Border[0 0 0]/H/N>> -endobj - -23045 0 obj -<>/P 11766 0 R/Type/Annot/A 37532 0 R/Subtype/Link/Rect[359 180 373 188]/Border[0 0 0]/H/N>> -endobj - -23046 0 obj -<>/P 11766 0 R/Type/Annot/A 38411 0 R/Subtype/Link/Rect[375 180 389 188]/Border[0 0 0]/H/N>> -endobj - -23047 0 obj -<>/P 11766 0 R/Type/Annot/A 23198 0 R/Subtype/Link/Rect[391 180 403 188]/Border[0 0 0]/H/N>> -endobj - -23048 0 obj -<>/P 11766 0 R/Type/Annot/A 38322 0 R/Subtype/Link/Rect[403 170 415 178]/Border[0 0 0]/H/N>> -endobj - -23049 0 obj -<>/P 11766 0 R/Type/Annot/A 23192 0 R/Subtype/Link/Rect[415 160 427 168]/Border[0 0 0]/H/N>> -endobj - -23050 0 obj -<>/P 11766 0 R/Type/Annot/A 23189 0 R/Subtype/Link/Rect[415 150 427 158]/Border[0 0 0]/H/N>> -endobj - -23051 0 obj -<>/P 11766 0 R/Type/Annot/A 36810 0 R/Subtype/Link/Rect[185 608 202 617]/Border[0 0 0]/H/N>> -endobj - -23052 0 obj -<>/P 11766 0 R/Type/Annot/A 36776 0 R/Subtype/Link/Rect[185 599 202 608]/Border[0 0 0]/H/N>> -endobj - -23053 0 obj -<>/P 11766 0 R/Type/Annot/A 38209 0 R/Subtype/Link/Rect[183 588 201 597]/Border[0 0 0]/H/N>> -endobj - -23054 0 obj -<>/P 11766 0 R/Type/Annot/A 36694 0 R/Subtype/Link/Rect[185 578 196 587]/Border[0 0 0]/H/N>> -endobj - -23055 0 obj -<>/P 11766 0 R/Type/Annot/A 23173 0 R/Subtype/Link/Rect[198 578 210 587]/Border[0 0 0]/H/N>> -endobj - -23056 0 obj -<>/P 11766 0 R/Type/Annot/A 35872 0 R/Subtype/Link/Rect[214 578 231 587]/Border[0 0 0]/H/N>> -endobj - -23057 0 obj -<>/P 11766 0 R/Type/Annot/A 23167 0 R/Subtype/Link/Rect[233 578 252 587]/Border[0 0 0]/H/N>> -endobj - -23058 0 obj -<>/P 11766 0 R/Type/Annot/A 35059 0 R/Subtype/Link/Rect[408 508 423 517]/Border[0 0 0]/H/N>> -endobj - -23059 0 obj -<>/P 11766 0 R/Type/Annot/A 38132 0 R/Subtype/Link/Rect[423 508 438 517]/Border[0 0 0]/H/N>> -endobj - -23060 0 obj -<>/P 11766 0 R/Type/Annot/A 23267 0 R/Subtype/Link/Rect[440 508 459 517]/Border[0 0 0]/H/N>> -endobj - -23061 0 obj -<>/P 11766 0 R/Type/Annot/A 23153 0 R/Subtype/Link/Rect[457 448 470 457]/Border[0 0 0]/H/N>> -endobj - -23062 0 obj -<>/P 11766 0 R/Type/Annot/A 33657 0 R/Subtype/Link/Rect[472 448 489 457]/Border[0 0 0]/H/N>> -endobj - -23063 0 obj -<>/P 11766 0 R/Type/Annot/A 23146 0 R/Subtype/Link/Rect[368 488 384 497]/Border[0 0 0]/H/N>> -endobj - -23064 0 obj -<>/P 11766 0 R/Type/Annot/A 23142 0 R/Subtype/Link/Rect[173 438 188 447]/Border[0 0 0]/H/N>> -endobj - -23065 0 obj -<>/P 11766 0 R/Type/Annot/A 23139 0 R/Subtype/Link/Rect[474 288 487 297]/Border[0 0 0]/H/N>> -endobj - -23066 0 obj -<>/P 11766 0 R/Type/Annot/A 32574 0 R/Subtype/Link/Rect[369 238 384 247]/Border[0 0 0]/H/N>> -endobj - -23067 0 obj -<>/P 11766 0 R/Type/Annot/A 37999 0 R/Subtype/Link/Rect[369 228 384 237]/Border[0 0 0]/H/N>> -endobj - -23068 0 obj -<>/P 11766 0 R/Type/Annot/A 31852 0 R/Subtype/Link/Rect[369 218 386 227]/Border[0 0 0]/H/N>> -endobj - -23069 0 obj -<>/P 11766 0 R/Type/Annot/A 31798 0 R/Subtype/Link/Rect[363 208 378 217]/Border[0 0 0]/H/N>> -endobj - -23070 0 obj -<>/P 11766 0 R/Type/Annot/A 23120 0 R/Subtype/Link/Rect[380 208 395 217]/Border[0 0 0]/H/N>> -endobj - -23071 0 obj -<>/P 11766 0 R/Type/Annot/A 37962 0 R/Subtype/Link/Rect[399 208 418 217]/Border[0 0 0]/H/N>> -endobj - -23072 0 obj -<> -endobj - -23073 0 obj -<> -endobj - -23074 0 obj -<> -endobj - -23075 0 obj -<> -endobj - -23076 0 obj -<> -endobj - -23077 0 obj -<> -endobj - -23078 0 obj -<> -endobj - -23079 0 obj -<> -endobj - -23080 0 obj -<> -endobj - -23081 0 obj -<> -endobj - -23082 0 obj -<> -endobj - -23083 0 obj -<> -endobj - -23084 0 obj -<> -endobj - -23085 0 obj -<> -endobj - -23086 0 obj -<> -endobj - -23087 0 obj -<> -endobj - -23088 0 obj -<> -endobj - -23089 0 obj -<> -endobj - -23090 0 obj -<> -endobj - -23091 0 obj -<> -endobj - -23092 0 obj -<> -endobj - -23093 0 obj -<> -endobj - -23094 0 obj -<> -endobj - -23095 0 obj -<> -endobj - -23096 0 obj -<> -endobj - -23097 0 obj -<> -endobj - -23098 0 obj -<> -endobj - -23099 0 obj -<> -endobj - -23100 0 obj -<> -endobj - -23101 0 obj -<> -endobj - -23102 0 obj -<> -endobj - -23103 0 obj -<> -endobj - -23104 0 obj -<> -endobj - -23105 0 obj -<> -endobj - -23106 0 obj -<> -endobj - -23107 0 obj -<> -endobj - -23108 0 obj -<> -endobj - -23109 0 obj -<> -endobj - -23110 0 obj -<> -endobj - -23111 0 obj -<> -endobj - -23112 0 obj -<> -endobj - -23113 0 obj -<> -endobj - -23114 0 obj -<> -endobj - -23115 0 obj -<> -endobj - -23116 0 obj -<> -endobj - -23117 0 obj -<> -endobj - -23118 0 obj -<> -endobj - -23119 0 obj -<> -endobj - -23120 0 obj -<> -endobj - -23121 0 obj -<> -endobj - -23122 0 obj -<> -endobj - -23123 0 obj -<> -endobj - -23124 0 obj -<> -endobj - -23125 0 obj -<> -endobj - -23126 0 obj -<> -endobj - -23127 0 obj -<> -endobj - -23128 0 obj -<> -endobj - -23129 0 obj -<> -endobj - -23130 0 obj -<> -endobj - -23131 0 obj -<> -endobj - -23132 0 obj -<> -endobj - -23133 0 obj -<> -endobj - -23134 0 obj -<> -endobj - -23135 0 obj -<> -endobj - -23136 0 obj -<> -endobj - -23137 0 obj -<> -endobj - -23138 0 obj -<> -endobj - -23139 0 obj -<> -endobj - -23140 0 obj -<> -endobj - -23141 0 obj -<> -endobj - -23142 0 obj -<> -endobj - -23143 0 obj -<> -endobj - -23144 0 obj -<> -endobj - -23145 0 obj -<> -endobj - -23146 0 obj -<> -endobj - -23147 0 obj -<> -endobj - -23148 0 obj -<> -endobj - -23149 0 obj -<> -endobj - -23150 0 obj -<> -endobj - -23151 0 obj -<> -endobj - -23152 0 obj -<> -endobj - -23153 0 obj -<> -endobj - -23154 0 obj -<> -endobj - -23155 0 obj -<> -endobj - -23156 0 obj -<> -endobj - -23157 0 obj -<> -endobj - -23158 0 obj -<> -endobj - -23159 0 obj -<> -endobj - -23160 0 obj -<> -endobj - -23161 0 obj -<> -endobj - -23162 0 obj -<> -endobj - -23163 0 obj -<> -endobj - -23164 0 obj -<> -endobj - -23165 0 obj -<> -endobj - -23166 0 obj -<> -endobj - -23167 0 obj -<> -endobj - -23168 0 obj -<> -endobj - -23169 0 obj -<> -endobj - -23170 0 obj -<> -endobj - -23171 0 obj -<> -endobj - -23172 0 obj -<> -endobj - -23173 0 obj -<> -endobj - -23174 0 obj -<> -endobj - -23175 0 obj -<> -endobj - -23176 0 obj -<> -endobj - -23177 0 obj -<> -endobj - -23178 0 obj -<> -endobj - -23179 0 obj -<> -endobj - -23180 0 obj -<> -endobj - -23181 0 obj -<> -endobj - -23182 0 obj -<> -endobj - -23183 0 obj -<> -endobj - -23184 0 obj -<> -endobj - -23185 0 obj -<> -endobj - -23186 0 obj -<> -endobj - -23187 0 obj -<> -endobj - -23188 0 obj -<> -endobj - -23189 0 obj -<> -endobj - -23190 0 obj -<> -endobj - -23191 0 obj -<> -endobj - -23192 0 obj -<> -endobj - -23193 0 obj -<> -endobj - -23194 0 obj -<> -endobj - -23195 0 obj -<> -endobj - -23196 0 obj -<> -endobj - -23197 0 obj -<> -endobj - -23198 0 obj -<> -endobj - -23199 0 obj -<> -endobj - -23200 0 obj -<> -endobj - -23201 0 obj -<> -endobj - -23202 0 obj -<> -endobj - -23203 0 obj -<> -endobj - -23204 0 obj -<> -endobj - -23205 0 obj -<> -endobj - -23206 0 obj -<> -endobj - -23207 0 obj -<> -endobj - -23208 0 obj -<> -endobj - -23209 0 obj -<> -endobj - -23210 0 obj -<> -endobj - -23211 0 obj -<> -endobj - -23212 0 obj -<> -endobj - -23213 0 obj -<> -endobj - -23214 0 obj -<> -endobj - -23215 0 obj -<> -endobj - -23216 0 obj -<> -endobj - -23217 0 obj -<> -endobj - -23218 0 obj -<> -endobj - -23219 0 obj -<> -endobj - -23220 0 obj -<> -endobj - -23221 0 obj -<> -endobj - -23222 0 obj -<> -endobj - -23223 0 obj -<> -endobj - -23224 0 obj -<> -endobj - -23225 0 obj -<> -endobj - -23226 0 obj -<> -endobj - -23227 0 obj -<> -endobj - -23228 0 obj -<> -endobj - -23229 0 obj -<> -endobj - -23230 0 obj -<> -endobj - -23231 0 obj -<> -endobj - -23232 0 obj -<> -endobj - -23233 0 obj -<> -endobj - -23234 0 obj -<> -endobj - -23235 0 obj -<> -endobj - -23236 0 obj -<> -endobj - -23237 0 obj -<> -endobj - -23238 0 obj -<> -endobj - -23239 0 obj -<> -endobj - -23240 0 obj -<> -endobj - -23241 0 obj -<> -endobj - -23242 0 obj -<> -endobj - -23243 0 obj -<> -endobj - -23244 0 obj -<> -endobj - -23245 0 obj -<> -endobj - -23246 0 obj -<> -endobj - -23247 0 obj -<> -endobj - -23248 0 obj -<> -endobj - -23249 0 obj -<> -endobj - -23250 0 obj -<> -endobj - -23251 0 obj -<> -endobj - -23252 0 obj -<> -endobj - -23253 0 obj -<> -endobj - -23254 0 obj -<> -endobj - -23255 0 obj -<> -endobj - -23256 0 obj -<> -endobj - -23257 0 obj -<> -endobj - -23258 0 obj -<> -endobj - -23259 0 obj -<> -endobj - -23260 0 obj -<> -endobj - -23261 0 obj -<> -endobj - -23262 0 obj -<> -endobj - -23263 0 obj -<> -endobj - -23264 0 obj -<> -endobj - -23265 0 obj -<> -endobj - -23266 0 obj -<> -endobj - -23267 0 obj -<> -endobj - -23268 0 obj -<> -endobj - -23269 0 obj -<> -endobj - -23270 0 obj -<> -endobj - -23271 0 obj -<> -endobj - -23272 0 obj -<> -endobj - -23273 0 obj -<> -endobj - -23274 0 obj -<> -endobj - -23275 0 obj -<> -endobj - -23276 0 obj -<> -endobj - -23277 0 obj -<> -endobj - -23278 0 obj -<> -endobj - -23279 0 obj -<> -endobj - -23280 0 obj -<> -endobj - -23281 0 obj -<> -endobj - -23282 0 obj -<> -endobj - -23283 0 obj -<> -endobj - -23284 0 obj -<> -endobj - -23285 0 obj -<> -endobj - -23286 0 obj -<> -endobj - -23287 0 obj -<> -endobj - -23288 0 obj -<> -endobj - -23289 0 obj -<> -endobj - -23290 0 obj -<> -endobj - -23291 0 obj -<> -endobj - -23292 0 obj -<> -endobj - -23293 0 obj -<> -endobj - -23294 0 obj -<> -endobj - -23295 0 obj -<> -endobj - -23296 0 obj -<> -endobj - -23297 0 obj -<> -endobj - -23298 0 obj -<> -endobj - -23299 0 obj -<> -endobj - -23300 0 obj -<> -endobj - -23301 0 obj -<> -endobj - -23302 0 obj -<> -endobj - -23303 0 obj -<> -endobj - -23304 0 obj -<> -endobj - -23305 0 obj -<> -endobj - -23306 0 obj -<> -endobj - -23307 0 obj -<> -endobj - -23308 0 obj -<> -endobj - -23309 0 obj -<> -endobj - -23310 0 obj -<> -endobj - -23311 0 obj -<> -endobj - -23312 0 obj -<> -endobj - -23313 0 obj -<> -endobj - -23314 0 obj -<> -endobj - -23315 0 obj -<> -endobj - -23316 0 obj -<> -endobj - -23317 0 obj -<> -endobj - -23318 0 obj -<> -endobj - -23319 0 obj -<> -endobj - -23320 0 obj -<> -endobj - -23321 0 obj -<> -endobj - -23322 0 obj -<> -endobj - -23323 0 obj -<> -endobj - -23324 0 obj -<> -endobj - -23325 0 obj -<> -endobj - -23326 0 obj -<> -endobj - -23327 0 obj -<> -endobj - -23328 0 obj -<> -endobj - -23329 0 obj -<> -endobj - -23330 0 obj -<> -endobj - -23331 0 obj -<> -endobj - -23332 0 obj -<> -endobj - -23333 0 obj -<> -endobj - -23334 0 obj -<> -endobj - -23335 0 obj -<> -endobj - -23336 0 obj -<> -endobj - -23337 0 obj -<> -endobj - -23338 0 obj -<> -endobj - -23339 0 obj -<> -endobj - -23340 0 obj -<> -endobj - -23341 0 obj -<> -endobj - -23342 0 obj -<> -endobj - -23343 0 obj -<> -endobj - -23344 0 obj -<> -endobj - -23345 0 obj -<> -endobj - -23346 0 obj -<> -endobj - -23347 0 obj -<> -endobj - -23348 0 obj -<> -endobj - -23349 0 obj -<> -endobj - -23350 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -23351 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -23352 0 obj -<> -endobj - -23353 0 obj -<> -endobj - -23354 0 obj -<> -endobj - -23355 0 obj -<> -endobj - -23356 0 obj -<> -endobj - -23357 0 obj -<> -endobj - -23358 0 obj -<> -endobj - -23359 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -23360 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -23361 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -23362 0 obj -<> -stream -HW]oܺ}ׯCQm,KEbAҦ- yM*J[I7@|gDJ+Ekt<$ e7yWwDFI/L"J9R):|fM]7u]O}mWU[U͛O&$K)(`>YlsBW#Mi WQ2>tH"*x^L?߇V=*ձy7Y,YݗAwe1_o&s{i D3Kb~ט=i<ESP(S$H.,8V,C"X$Ż8{9{^x^x^x%^z%^z^y^y^ySB}O >#gPy3B} >'P_x Bل0NŐw1`u1d] YzZCs-'\b"{k] Xk] Yzϵp!P﹖u1`u1d=rµ.,BZNŀEŐE\ ׺k9Z;p!Wb"\bջ|.,µ.,BZAŐE\+׺׺kZCs \b"\b"{k] Yzϵpp!PVu1d= -µ.v$ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%ZZCs$\b"{k](µ.,_p!WbQQonMpIIS#QҴ`CpVOꚧ*Fl> ̿jO]]Y5m\};޾~olmy> ~vꓜj4zCk;ږu %C{>)b<L#3$O6 ׻ Snf8\'ICfك5t$y8v(e2Adf hJYg?`<폝y4, dÆvUaW7/պ7?f2ޏ] 9,ťM0 u31Q-$?s5ٓynNCY -}~Σuf;hjPP#n" (M"|SСޛjd??D8ǡP_q+;sޙbP[Yu -8J'zp̋yN鴹tRm9m3M])=;y3CMrAs:<ԏSKMgLy& ~"9 }mb<$M5xF|X9sZsz -jCT:k=h@c㴮(NrgM( -0ҺHXʾmfCܵQq -zm3y<ԛ#M`06~# 䞚:[+xr=4,܀&e>ڢ8 ˁ_Y$LΝ`nx¸ -M0/tCuCquq˓L8EӀnoE<'24/IJxWyniԺt9KĴb*./|[zt.`vBPw6.6ڶJW -'MW*IOxN|ogzտq5̣i /u%\UL>ӰpOޭr5ZYuhI^ l$y,<\D<ʆU af7^˞bqXavհ70qq6o]ӜX1U?^\!~&yGn8. -tOyEZRi;LȷFRd\twNM \ tտ)߼#gF_qPEvtrCѓr9^BDj<x6n>ח+,i6Sa#j10:J9m6eҽk9|2)e#n8A9V,I ;. G^ε'7imѥѭOӡ,x]B-_,—m6Z%TGos^۽wj9Mnj˓0 ˉ~G6ebxRjC \S~&އctˊu7,Zv/lxL~ Ob%q?ƫqWP;hư,Y[ECbwg/Ӄ3 8H:GsɐP 5xxXH#q$o *QOK -tʪٖͺ%3 -yq_*Vr~w,vۗT/ -I-N՞ -E%bDֽ梞O \'<0yk^ŝFWYT:"2#%(6K!/ZcD} pꈑlJYJAt - ĹD;Cu{ 6Xz5 -إĨtbb*>ܼt6"2CrZ+{gdw#FDd~ȋ/%xZaȚ400Ԍ&3u>C}}yÿAα"Qb#?to.nov;W-m z!6OZ[Ҍ@ +gD ( ,dרHA6VFCy~Ss$qg=Rv`fPcΈQbGm`Bw>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -23364 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -23365 0 obj -<> -endobj - -23366 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -23367 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -23368 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -23369 0 obj -<> -stream -H[oF+.zolEڵ+i$0NZRtRH e $G{gWE)^;9|w$x0;P6TNڊ(5aE0Ңȃ?4[X{ngxx$q\o 2uiM`)pHd*Iig>ϧbje8jݯ念rf$}̤II >!&}BҧLO)IwLz¬b$ X.kbŚwX.kbŚw1 kŤ'jZkŤ'jZyPj.ZyPj]LzBfj]LzBfŚw1 k0bͻhzkEcͻhzkŤ'ZyPkj.ZyPkj]LzBaj]LzBaŚw1 kbŚw1 kŤ'ZMP5.ZyM5.ZyPkj]LzBej]LzBeŚw1 kbŚw1 kŤ'ZZkŤ'ZZyPkj6 "ZyM5p1bͻhzyMBt;YeZ(iBi"N@;i6lIұE~u}9+WeY\.r~Uu=(ԗe+9n0dCm망d*݁}sNjed_k[W]Y߂&6%P'tI --~f#*)yq7kGg9|q?rv]U5gpps@*Zhwt.og"/ -1| 1=&ޯ :ٹ/f_e$}-46L<+ggPtۢbF@-ʳ^D*m.3#mIň~dVQw2mmz2 RҦI f"y9<=8)tey|DPl'VVQN~c!i!)Bm*Ϭ٘~ٴ޷ %qFRڃ|uC**z"hz8.< [?V\#r4.Ƌ2<^/m9BkV&ҖV=s-ulxm9ME5؆_T'j#8u$ih[&˶6zc(Ծ7mzzch47RFzcc{S;x:&')dSΎGa8C -Qm7Cϯn^^}=>ZTC323eĴ%}#KƯĩkhb Vڡ7Mζ]kZ~n֦d@4gw'Ƨjendstream -endobj - -23370 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -23371 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -23372 0 obj -<> -endobj - -23373 0 obj -<> -endobj - -23374 0 obj -<> -endobj - -23375 0 obj -<> -endobj - -23376 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -23377 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -23378 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -23379 0 obj -<> -stream -HWm۶_.s$dN&OvrjIDW)qҹ``Y,^:wo^#^*#˂ʰj)gwK[%,ڔ]zlCC`:^U'wsA3VdlMEW7;vBb5Br qjjп,]W:[n~hSq916J~'1.{dR7'}/ؒ%θJa%a6)a'E1E)F -͡bw()c9TJ0w)c(EW{EW{M{M{M{C7{C7`FS}O i>#g`Es} y>'{K{K`_D }YI۶"Tm6@6cC Pj͡jZls(}ZEE`V6"GUj Pj͡jZls(}ZEE`V6"GUjmhBP1{lZls=9TE`V6"GՄj Pj͡j5Zls(}ZME`V6"GՄj Pj͡j5Zls(}ZM۶!Tm6@6cC Pj͡j Zls(}ZCE`6"G5j Pj͡j Zls(}ZCE`6"G5jmj͡b(BP1{ls}0Lb'wf?&0xe2cm2kqѱcݳ?eG-ݼȄzWy?=N-?N}˺970\onr݀sξ#s^?Nr7ͪ1=hEivV |[-ݲem[T}Xc?e)z(HU6- -/YmfWGۭ6 =ӪH.ɲ3x2S+$_~2 im6Ձ^ CuUvȯ'uJɓ_jJDR9F!=p O_q 5] sl~Gg)5 -=A5Cu1m80C?h]C-o -}3"U.7jڮچPoaǧzhLA?պ c3k6yjK*<,?v{(@53Re8"w]nU-qZóLAAXm ӌlEfI^V Ġ:-uP.IKi+HE\835}uqW"s|jǠ3 4EN!0]H^1 woo̞ %*.U/RSf6e{)Hal4BnڲLBfޢ `T^c&vk:՚]m4,ZV!є.lMpp]qiھfrs!7`4 OmW{ǥQ"}&<\0<\ej%ߜ®ɖ Yx~ U_}waWM UVQ\M)qOu^ -dL $/=r@ x1w/na&I3fEw78]?Rμ%?+_?Wo/4azW W"U -K7r8)gQh;vvҳ -ov`XW mM<5d\h -z=3f I3츟qZ͖UWWZ%QQjntX_PE6]V-V9/rY,۰`plC=\06;#%/ -HAg0nfwpY >coJD>{=FsJŵv%حF;Rr&m=+BcU^{Nm{R!/%Y~c 'f3|3!rE*gK?WYup: DbKw{ -[\}sbB昵U֕CwzcQBa:cR׺`z,';:,ߴՎMialK*J&b8?2 A婾GcL`@'1a^CoR1;lוyx<"qnxKibubq U@gNQybY['2]lVД"gk1#h xg}R%J3\bݣD,DŰWɒ?CԶm˒QS -<á-y}E^X - -E-A_zpGq1)w%WN”Ց\+3Wz q :꺝9 ZJf9yp21UܿݩZ0@}>1ϙI <32.vp,K[Nm7(z!L* rVA_jr:A#60d39Ox(s2=JmeX[iTi{*$Z5Qzx`0\9ȿ/1AeLBv{g%Qv-]7*;Lt%U/8Жqݾ33/ې"4eF tjg!{ݚ,QggC+A$ @@'h3t}?|5!y&eRiBqL3;AhgҕRxRw]?#SЏ/螪 nU,vR8")Y9$}ݖq_y?C'_舕 atq<-033Q0YJMF}wR37rFi"7WEv퇶z,d?DZ+1'Yeswgt-33LB *SXP&koRhnF}suӑ/9ι= ai+c iwu|9AF"ҞSsiexTZWбMөxɼ8͈%4!K U!/"YcՠjLbaڒ{i(m) -}k6r ?m8' rS㖰>/P 673 0 R/Type/Annot/A 32507 0 R/Subtype/Link/Rect[93.5980988 305.048004 253.628998 324.727997]/Border[0 0 0]/H/N>> -endobj - -23381 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -23382 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -23383 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -23384 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -23385 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -23386 0 obj -<> -stream -HWmo8_ -*ހE -pk@iG][Zrܯir\ܡHEr 7ͧ,7FEL.iiナwQo"qtmYݩ.C|f,{1'Y\5Y/vїN-ǶW<p[]}]|.S''/>5ZQ7AL;˳"e$[~e`E]`]"{̲L >_f*jQyd~wQ]]T>1a@ Q;(BgCTN|}89^^^%^%^s} y>'`_ }/ e$ؗ`_+}U&`hmm -6@m -6D}6DrB Q@PoZ߆(}ZNַ!`m"TET 6DrB Pj}j9Z߆(}ZNַ"Aַ!*dEַ!*dm"TET+6D -B Pj}jZ߆(}ZAַPoC>P TET+6@m"j}jZ߶$Z߆oZ߆oCT޷PoC>P$TET+ 6@m"j}j%Z(B Q@PoC>P$TEַ!`Vm"j}. 6D}6D}BuZ׵34"Yx^eiƪxYc4CByiP$v{!fc;ulߕzY'nU;Ս=U4>5m5U?4[=b=44?~j.Lə 6C1i@/y\M~;vK{3N}_*u$a{;>f3!MyshMB֧ȧ$pn2 .fYθp1:eYYN/rY{k]3EzG]ߐ dV:r&!ij39TR:pHgg/ީg🦫:k4ܿ%뀚sz*W@e] CLgy&(k14kzWG2 -;ᾘ j&~l7p5T{ U@*2}nL` N /8QS1\5TQ|J'g>:w~0;l-<*e8_LⱜގOqzv -6̓?tKj1YҙliӃ/2*k2O =E0is9IΝMf1_e3Fe5b@tʬ'9mjkWS\eɕzf{q r|@+X<2ȋL[#(WBpɜrC3W7K璦~x[.U(RjIlb۝i̱ؒkOQ']I$Ϛw10'|Q]"`cl^a:lPavyӭȊoN4M P Pg%Q (x-VK΀Ywog 1+ -WL/3 Ƶެ\Ė3k'vd:ё<y% JR&Ki \ arsoxMOSs{5\[KAX?6ȕPh$K JqN$j.s3 ;xq48IVvKK*=JE RI@y+)KYR2B-=S>F fyĤ|Uj@T .q1iW^#ϒDA%&bw10IyVu 4^R5QN-]9 ލ_= [W -K5V^*{Q7{+C{bA3M&YQ[ne`(!,tu;T y]x*;JT.|OUG\jzşU;)4QbE.qV$nU]{|5dUzqU3,|kuFA(pDѠYz/c"3JI -7׉~s*9kSră0e.2"-KUlwppRfbEނJc_.ģŨ_!2yCm~"S}koH$D>8Ѡ1%nSl.Z0~T9F|u{\AeTL춵G Zo9rƳ!Ik[:Ph9yie-ңڍgus SQendstream -endobj - -23387 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -23388 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -23389 0 obj -<> -endobj - -23390 0 obj -<> -endobj - -23391 0 obj -<> -endobj - -23392 0 obj -<> -endobj - -23393 0 obj -<> -endobj - -23394 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -23395 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -23396 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -23397 0 obj -<> -stream -HWk8_`F#$X,>Xl , ٜr~uKlw$+b좨?C~2~~;.A)_47m:oK2hU񯸭5onbWP'}4K-ǥbV$ -**R-dQXs:5MigV=-wLcxh]n3M᪛YgmZed00rNU-QoJgp~PO3VIyj<e%>$W6O9s2ŐŇ,! ,]knb2{a2Vpo{+̽; s{{gs}/s_ })/Rp_2Ap gBh)$FH-ŐS XBj),b),!C,FH-ŀ%bܳ!CR Y{Z#bܳ!Z!KpRkR Y{Z#bMbR Y=ŀ%b),bRK1d YjZ!KpRkR XBj),=KRK1d YjZKH-Ő%gBj),=KRK1` ,VH-Ő%gBj)$NH-ŐS XBj),b),!C ,NH-ŀ%bܳ:!C R Y{Z'bܳ:!Z!KpRR Y{Z'bMR Y=ŀ%b),>!2s\5ɻe_jli}^~cbڨ[~x8rwVceA.SxkCS̤y;T&y\_ ܷz7uRw]8のRR}ō=X}u}fMa^ ,%Yy[;prY~7] -%Ll[}0@ ]w6-uQ$ز?F^#Yic7XTXNavUUڪ.r]M6fxжvC.ް߻q zf{o|rXͼ:WkL{䮗΄캯𱃛γ"Xmzlna)8n3XEqa9J;luZyզ=t m8%p{l@Z4q1rΜ[\o)}?Aq㱏cc?HrqU6vGڦ{!Yv ?di[e\*fxDWά`z68Fv:(ç84C]dTIڍC轈{3^gyXԪ#xB]lqa:unp:_p(SBEzB`.d?uW;>h5PwUu񞌿>ia<μ~_6Rձ"ʪcw -xY*w->cֽj}ܷwlN ۾xVNG7r/_Pz:=WMԛJ`qsx]lmM>2 YA`1-'h9-Ǵ噖<iVδ -A`ZU0R*V)hL+ZiA+P-q-!kQ XZLK ZiA0-#h7BS Y{#=Ő%h7BS Y{#=Ő%h7BS Y{#=Ő%h7BS Y{+=Őŵ(,),AսbX[),AսbX[),AսbX[),AսbX[),AսbZPC uO1d ZPC uO1d ZPC uO1d ZPC uO1d ZPC uO1dq-K{!k4kEna$Gg=jM)y1-_DҖTHM6T+d5RT;k|{Ι3kw&,N -pd7KH uvC [50Ђz6Vxß,*4߇p8Z@S#IPK7݀.5#\FNF o0qX&9&=,E,_p"\ޜ$Ͳ^l{ЦM -1 8Q>_jdab.I7fVFLjkP&!$^wQ.Y˪~B=-ZlqpAfI|\emTx\@@f,ZĬoT5\m҂$ZҼ+)&#P -IL&THCm"hp` 2bZĠ`jϋOi qݍ-6 ,$FWGyyW jJnwNuxk|];mh^\=CJ}4bhhNNajh:SjߤX1[bJ0!&2QL&tK<5Y рG#5~RuZz1S8eqvdyZq_)"Z;ZwHmux=Q8D9Y,*{ LB[G>|Ln=*FkR5IP{SL1ՄÆ/(qZK&<ԐSrH÷%WjDL<ǜk^8sS Uuf7 '^e7ͱ -J RNB9+#o&T9|d$7/ūendstream -endobj - -23398 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -23399 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -23400 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -23401 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -23402 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -23403 0 obj -<> -stream -HmoFWG9e6EmiZb%*V/E'.{dԽGfQ2N9qNߍ.Lb~ Z|3ib~_çLL\ی?Q(ytL2A3A0i$5rR#*M5%42@iK( [ނVw SHTz;ރ^ W3>S3>S3>Ss>Ws>W P P PKTKTHTҫMJmY0RcJQ`jƔN/5tzVjLjj-Z1ҫ`jFZ1ҫ`jHւQ`jHւS Z VjDS Z VjLjj-Z-"VjLR# -LԘƔN/5J)^MS+5@z5LԈS+5@z5LԘ:0R# -LԘ:0Rc -WSJ(0Rc -WSJ)^MS+EJ)^jDS:ԘFZ1ҫ`jHփQ`jHփS ZVjDS ZVjLjj=ZVjLjj=Z1ҫ`j20RcJQ`jƔN/5@zЁt?<$[4u@"^^yyW2Ly+W^9ʕW -UByT^%*W^AyMԘ^RJW -ReU^x[{CJyK)zoA)z/5Z{:Ԙ^^j鐒^^jLi/qx;{qx;{Ax;{Ax;{x;{x;{x;{x;{x;{B{I)%5>0/{z/5>0/{z/5> -/{z/5> -/{z/5~^^jT=x{{;RRszA/KjLi/+7R@CB&:0:S4 -[|< 1ݏ.[R$g'%˸س%%-l\vM=>:]=:j*SWwuͨf55me&ft3ZW\ܕq_<?EAmM5wդ^m/~ܘt)ZOes`i,l}:yA{ԡ`:1UmfILg]4Lا=i0=4-K_0YUa.vTݡO_gf1Wc.J51$N$j'x~y߷|K}-p~o.l9ZT/ |ZR{z45~&}|k5^tp+agB몡o[G$6Kd ~lmFͼo.O>m(Wz=_oyy6}~nnڍݘ\TIn<4֧jO-lڴ|OzVдI<.gˊvIh76yѽj7Z3jpqvz{,vcg܁>bHQۗ}h1U~P|[УNS7월`>~w+9-?fE44bOv{Vlq;Z>|yݻ| { NoCG~ps~]/ -GlXHs58t -$^O&:9ѴjƷʼn: 6BJ{>K0D#]2m7.ye}; iH6I8'Y7:}+ W7gׯ^]>7˕ws3wI GvOβޘ.}2gt]ֺ_KCigyo.^щݛdF@Z?dl\ڌwu45f@ҋ\GT ';TqVyJD ʠ)_K߮GV"~t"i GI;aVhL*Ux?~{nH$8*w @/wӺU?}S8p1x U/zOHM9v 4q~\EZJ@@p>SG98bVֳ|a<.Xqq^2PA"͔AW\R4^r4Z۫ĞĶ -'!:'a" Ǘ,+=(>m&z'wZPﶣTHx$hmbN)ivDA-c%먻+N#P3s+/kr^~!MtӘU/w#u+fϐJ:˫b_`vhf-&NӴs$+,`a9!-# BHy Y1f%f짤aRN->>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -23405 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -23406 0 obj -<> -endobj - -23407 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -23408 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -23409 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -23410 0 obj -<> -stream -HWm6_Ax6pIzE$Aܵruo,w6|fwmϞ?k/^~'R$W<,KO$kMQ#*je_=W;ij*d]rݭ ~ -X$f+'✭J%LȄakכy&xK7g7֍뇦=~sqLNn_coZ7-Q K9g).ٙ\S̶,*Te~}6*SÈX ߆p9(!BgCTB|B}$^%^^^^5^5^}OI>!'`S}Y>#g`s} y `hVmHm -6@m -6D}6DJB Q@PoZ߆(}ZIַ!`Vm"TET+ 6DJB Pj}j%Z߆(}ZIַ"Eַ!*dEַ!*dm"TET6D*B Pj}jZ߆(}ZEַPoC>P"TET6@m"Uj}jZv4Z߆oZ߆oCT޷PoC>P&TET 6@m"Մj}j5Z(B Q@PoC>P&TEַ!`Vm"Մj}!J6D}6D}B/B͆Crݭ ~DlOYl}>^6k)3`WEWbxeFű\ /m[Gi\Bǐ\.tu (x8|c1g̳B/f|Nf%[k[0] ZvVBL/>p)W޻Qsq/8oq?~4 -9mJt/?:swnݸ}70§ca%"\%;\Z EQ(6b+ʧKx BC $Q lofw)foJ R4Cs "_ZJpHsRB-oQhp ѻ!xoq"Oq7Z(Aި@gÖ- -x*:U9&G{"sDS~SJ9x`Di3=lzk@J kK@c/vb2-ߐdHp-5@^eP%6 L*ܕpğ]d^Jˢy] 6$$9M{p4Y\^잛! o'xػ?pam~ZUrt>Hvx[hj8'{mh%]J+,3(1}/omqgskjy:LngsI2OL%IoBu8+{mnxV.H-/{G+36>jW7jW%^SZr8~ڋ$"^d2ԍp^| {BADV(81a=Je0/Xz&w ?{i+pљzgʺ^c kj1~K֘tƤ)/Yz%h~p}[0k)HlnoC P@?)g:S@ZUY>2ӠzvDxqA. a\(^s^#I`A EEJ俧{Ikٝ-L5e}**N^uuZvqeʒcv%O/_j㍿1t"n?rVb-yY})|ëx.qUӂ$~4vxN;.'S88UMN4I86vKy:>8k4Ê>9~0 -|3HEtͦmw 겛 9d3_=N>oN" >˗<ڈ;YfxسF{ء}=Wٶ/ߵO\-\Ϗnpm[-]=OOӦ<%0xlL'U[Ƣl3|Xn(hG{:μ|$X5fa7߳J i77to5 E0'saK\X2. -+VPXQ"`E*TJŪR -*ŪVjjQɢ.\RcfI\bY),{r/5vʽKށK]r@.Rw Rc`;{ TȽX*^j, ^j,{r/5vʽKރK]rA.R Rc`{{ T=ȽX*^j,r/5vir/5v}K>K]r@.R Rc`{ TȽX*^j,r/5v}4Kj4Mc+3t/h_m?|+Vn׸"*pwjjh`n}ծ@`\sCǙMO[|gHX.Џ'o8節5].u{L1VEl2| 昖Թ:i~\2Nkh|m~Gq#+jƠ AW<&| ^{>}\_4qxvҝnU1O;37a2WoRy r{E2UBvqmׄtA=/C.z߮%>]6 ;t^vPƝwjK` -+VTXQJ*R*JjZjF~;vI-uܥXbY),{r/ysbK-uܥX RK7w)ȽR]r/ysbK-uܥX RK7wIZ꼹K@:oR,{Λ ^j.Z꼹K@:oR,{Λ ^j.Z꼹K@:or/ysbK-uܥX RK7w)ȽR]r/ysbK-uܥX RK7w)ȽR]r/ysbK-u%Y^j.Zc;ԗ޺kٍVu{~8|A>䧮(cQ7egSx[Sz@{hfuvqX?mB_.~7 05endstream -endobj - -23411 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -23412 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -23413 0 obj -<> -endobj - -23414 0 obj -<> -endobj - -23415 0 obj -<> -stream - q /X2 Do - Q q endstream -endobj - -23416 0 obj -<>/Font<>/XObject<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -23417 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X1 Do - Q endstream -endobj - -23418 0 obj -<> -stream -HWmoHgiC}R@b[ZIrsݙdǞ&Sqo栱~V5f/zz\~ r+U - -] -9|d><˿>ܨoe3_y |ZN/_݀?z 7]M.WVvX\_u.g2RLyrܾ8w[qB#<vOR,E"}.xJ "3>n!\EJ|`Wx̦5K= u5|rء!AWoYx/ѰYNW`|dzbv0ͦcme,yF~'8kl]̛q1߬`߻b*$ ya:SG =?d1oEֈ?+|JkAd ¸xU[QLݹWO"7A+Sx42'k(KƓrl+͆9a?oqW3 Q8ldd8n$EE_j*m`s0|=g z*U"H$08e%U3b+aRTz $K-Mb$pYtkA_#eT^\<qpĥ"CK/U^%I?'ͯNagۗ}9S bͬ+^ b nC5W\fz,U8@"䚗ȅ(>Kl=]!vЉΆ}" £3ߺ"\*~ Z)^(CI/wx"{lҏ}vLN(+5*AY뒤[T 73Y^iЌe3Q.k6~pbܪ׼_5'KXD͌҇;L -ͤi(P bҴ,* %=nn_ez-uod(kF.ǾQPUTUgpe \up#yAcÃ'uտW\IT7avĉoiZh{TfӚ Fu%U잇%&upSp/03vҵcZ"^`HP!3}m,9Qdh5?ZE_Xw5%l֑k1IgUA{7hZ5"~- -}>BטϼN|~Sk[A]XWN -Hv,99-FGjRxh'ovʒTi\ظَa@rU@՝D#,~2  - - f,5p{/`)p0YF70O|ag i,8޸?g;g;󞵊)dTf -L.9w t{eXrL4R!}*2sF%o`GdT =P!{ASly^BiQy$pD+BxdNMp ѝbr]%qRe"Wz7zy*hd`#WsZKͻ.Y&9zb{qиC%5LGQƉ>)Mah+1{C/Gbh#EC`퍆6Ih"敦$gr?<77ͲVdpTr@ #u IUcUgц}endstream -endobj - -23419 0 obj -<> -endobj - -23420 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -23421 0 obj -<>/Subtype/Form/Filter/FlateDecode/BBox[33 699 573 24]/Matrix[1 0 0 1 0 0]>> -stream -H0endstream -endobj - -23422 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -23423 0 obj -<> -endobj - -23424 0 obj -<> -stream -HdN#G=ObusK\`f 2̂OJ>nw7hSާN/}z|:N˷~,_Wf;grus3]~~1/_OW׿uriߧt{;~~xy>ί?|>c?>^i>7`/a_v۫xf/Nڟ9!ol<4<2:6#ofofofofollFyK*[Uvd^9r$Gy> -stream -HlT TSg#Kd /-BdE bEG*: -$B Avjq:P,(z@uzFJujꀶ>q^̙s lxRtf]>7;0P]S/17Q;ƺmPxSfnҍHa&NؽNr$#ǿ jy휫BhhGKhVDVB\q߯MQ^ռk`yؔ*E"wxu -!{xh>DO꾒%T;;i dVqf BǤGcDC5c==W_&#}Woz& 4' _s a=,!ΟlcltInzY7`ЕD&&z~R u!/#'|;/H݈O }="$I_عUOo"$z]Rdy]wA8w4ǰJiq' W{\OO{N]M<8Cty߃R? Fč.Zd~Xun -BC.W@~\i<9EqN'([dO8FKD\CrK%H\1;p#SA`58Y< .ى|%nG~jJnVj9F $ )  X8o-(P$R!nxyqipaȰhU%Q;A5U]oQM$_va -.[>B;$Q}nw!>c@Qt z|d'TjDGT[wrlW% g"|G帤|Ŏ;Ǯ&Vf법y%HuJP-JZ lŃ{r.m^"H[9 $C= ןoWd*t)GFHx_ -Ǎ{z1rӧoQB}(<>MA7޾%q۳i-0rih!r&H+zܴQ<Y !r M;":Y=v3'(pk;,ݚ`6-ea+5 -{_:ufKb(qO2rӝFm3_hm]ӍRyx#րM/(P>ӿ(+̺̿(EƁ]A Ā$x -"FR[D=oS%ڮEЊ -">P҈RD Air"J$7whbO۳gΝ/K)͗c0nAԒ;_nH'`0K3$n]xƢ+H?Xdn3lQQtRz j)d<7UW"M,IW#Sh<nKxV3ˡJpp[C8M4}p#]8+N2l9;LBՃ`PTX66~튳N'K -Y p 8៱F7io_*nh%yfn"9]۫ -M;lPL3;mID[I*}Ώ+>OW1K)bAL^b{ |ݧjr'ƜZyц/0XJf*WPJm~ZwT-}j4[A -SlÙa08岣h? *# -,V6y-2نWsnaA[#6ӟ]h> `h< E7(d)#n2i@`p@*Kph\%|}B"d }C$]c+1gL20fmgI7a, ӷTsF O+j.qHԲ YHv<diG<ɸfbFMI1#gX?j/Ek,{WMj >g: &s;=WGiKXI|p`YO TVVeM3_wycCfyv PKsg'k3ioӾN[K[sdD 1?sϩRǶ&3~ .zc+N++cPǎ0LKH:Ot.ޯqppxS477Zq/uj%c$_x!X tt빚'rO^R E bzT2c':&{>nC->Rb\IrboG+cX)pt )p2xkM搵4/H-X:}Lc"Eo(||om D)'-)=s@+<\>~au8?zlcغ?(aGlwep΁,%KsK|NX*O=6(7ov# -m1~ߦp1t;mdܾqM4{td2ܺXrLL'%rjU3zS"o䥲gqdFu^, UYGK4Z 06QRK²Muݮ3K-g{43hꉀ( -+ .t -DD@ Q(Q+QDv4fkOB(=cݙ7ܽJlNR'2qI (ĴuyAQp;4s(!e:% U40Jp+\LK>1d Ȣ Q7i<"cx@4|dsʑsf.,A<8.j4EVri[W`:}^U GO}rWb9S-ӄaVoxԶ< -6PUA^V?'IB2+Z::N ~$իlNwTǓ +(zFh3f|aiȃVOk6H[;`[ v|= Pi@-?"~?&,*882*44}ѣ].]N]]x>*s 9QQklgXn#o|sO o"ſ:BH렛ql -UnXb/r \xlޘg8=u_E迚SEװEI T~)LAl) iCI4bCGlK 1`H -&$dǽ+M fw|E(EK45`Ҹ*O en6SFDi;UȕG@Uʐ{۶G y| vrLK'kXt.*ͩk333B8Hᅨdzdx _rO6}-PWtBȖj{ QAkdP_wrq4܇'T?Vq}>j큝g@Z &U^ˍVL\KT-wȎ+YiuD\Dk+G&*jZAH&CiT'+\3êO%,-PUT'o10!C2>` &6]ImnL=&h;na=sѢd5q7oolhm-k8sLIּ>~Pc2WA@2$XF" ^0 LPo0w*E%hH6-EGyy8SiPu~fuxxq ʅ,=HTi)o<'Z͋#{ u^7`-S~vG&GXM:YhDhժ"ncV7Yщ k`6(96<oY̿Gg;{ά%[Xv5l{EU-.#ċ:GzFZĐ@8ΛhI]Y-lU^sT~8); m ^iMh}zô0r>*Sq䶭.IJ70Ğa 96c둽Jv8`*gd~eީ8fʘG%?.>ِ:C7[!g3nmڂRq mJH!Tj-?&|A/,i&ee. b|R@Ϝ>HʁޘR,N2"Zkx0e]. rJ jQUZ,98}(İ^1'LgCn`Ůq4Ĵ`$mF.&.$st,5zz"',`]8;wj! -[xsЂh`(o]a7 -,p t3&]74ٚku`U7Hxl`XGsu0'c<=[UP;#IzeaV߾] -\ChM3 8IsޅGʊn[=\6 R I:&+Xajbڊ,AM\W26&sB"Hb5Yh1~Hg \yz y Ʃ'o.,XpBG Hv0[ONp@$fgЌacq<&9=bUˍ87M0 -U0Y!0y9qq(+-*)) - - - ]2:I7@>>tnRuVbk:^q \x#n=-Ibo$p")N160EeJfpqd#-W䟖n?7*~!uT1tT}S U(h}VpMǖzCoIӆ,{tt-J:=T΁$sآ3aF/͋Zwu`4 طĺkhto`yaX~HV`NVp:9 ^h` oַi-Svi($s;8=Gu-`GxőLH $XjۭMTlMx/D*/(%nQ!"$>"HU&H|HџL2Ab_ grA[? -P\]{ܵm.!Ӻ_8)q#Q4;[dgjI>!0ޜN{2h/q 0p"DBmǘ/C_ zx76ZrDfub_6 S>/ZQz(IirU·~y9^f๵[㢖*cbRҗK?ܼ|ٝvS<|KF^!N؃ѕ54Rpͅι|<#Uo[F0=.SÁ๖sP+KIߟ[!jUdF<55_(^8E~/b6sw0rbuBS$d.2ߡmdȹ`ܠq_i\(> @xOx j_JN:[ &rIRQa% @GbFqKVmJK XOg;mKUyxq0]$&LːBIZcb%ĠYJ ) ډD"N!4 (&1;i؆Mj^ƾ{ܑtI w}\Ɏ7EN vjG.xV*᱕m0Vr:UXħAG4q>w0<(T$Cś0CXfXV$ ;(C'2||T' AfPsv:rr'E9'*XofX<=ͣNOP9_nO&QsxԜZX6eH>e>WV_]kq,3&H`6f)\drlZy}Kew o'gChs(dЅˎ|*_YBylͲC}tss?˔YU|xQh5atK90[r< -z}jt3`əͅleOp ؍B7 y(s.,Xsƒ$uւe%xyJzRG+k>]Qr̟ep젊.tSiD=11i$_Lme4̆4 Fn̿S*ݦ|.hBLqªGł-;7}gM8cI߬) cv[CIx+ b)16V'RfU\V+NՒ^{ZA~`0!gт;K@4 ;xκ'*!H3"`LPϋq:B2HbAՓi-%/Ռܖ/*/]'0LbrZL;SZM6v$ArX85KP\Y"BEDŽ҈׷MZ2IfW!|Y$of $ܪ>7A+sZzFثaM'&k' bc(!w<._.3I@8vRT HGDmV91gǜхOA՛U j%CiC%8iK8CX7}'s>𩛽H>5rk:艢jcQR;[)jqk"N`;]/u륚N/ ~N/L>5OBOzw54q;̄'H՟/ņSBԬ*.nL,~>/sQCI}E?\+oK?25W6RĦ6I=v2J\ȇx<ĕ{.p"Ǯ~xj{r^,(\' Uqd'RNR&Dׇu##Gqs[8$tI -v fp8ηen]a~7 -ҺZ3 {BjN Ka ͫgqht+u,qKgX4CK 1EWkT 0aZzkg͙9J<oˊM|J7cTȃ`6> -stream - q /X1 Do - Q q endstream -endobj - -23427 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -23428 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -23429 0 obj -<> -stream -HWk۸_!_4ES6ȇ/ތL.YZ(!l]K&}7c+j}[t`n5Pѭ5RΘ;(.zB~d*SYF -?~f*JBHmT3`JsʐSzd@1d| X,C&XvC>,AzAzIzIzIzEWzEWzMׁzMׁzMׁP3B} y>'P B}/E$ԗPxm$B>,µ>P!+Tc"\c"k} Ypp!PV1d -µ>,µ>,B}ZAǐE\+kZC>p \cH1d} Xk} YzCVǀEǐE\+ k%ZZC>p$\c"k} Xk} Yp!PV1`1dJµ>,B}ZIǶ"\c -B>Pp!PV1d*µ>,µ>,B}ZEǐE\kZC>p"\c"\c"Uk} Ypm#Mǐ1`1d} Y2-R 4"^/2bqfp_YVƋm1WOˤoQM|jiߏ$}ϋ7TVu|vꚾ6Vimەm]ڋEѹyҷZNۉVۙ*`iY&]wWHm8zzT3|8υۼPW~FOQi܌+Uƀ]Wݺ -]lbĂpajiOxjoVDaa-Y+9 53r2c\,YR,-.I7WKux'u1$O\gPQٟ!Scfe_wVц0@F1n1.t'Iųs1K^JGN5)KR(ASe>RHPdXY\TPcYV`COLFb,d-r4xa1WknP4Hb* 7kuyTS 7d!fEQ -Cx1UwiB;CCV.hT07?vlb!S>qڛP2ͅPSQSalк}qb1Ѡ6ʍc]fkJ͏ysLw`#?s1 SM=<_/ +P_8U|hWm x{%(/J=>cKIğ_/.p[+Q9TTC>`ԍ]Eok4;̦3~-"/l O_FwZ9pWIup 7$6ǾQO!l6{$e9t8U=YwKd 3'"eer`}LKD:36+t_k503~؉ΧX=ʵo;.0Nf1;m*oLwv3!بߏPrx=y'8ܶY6-YupHm56B`Zp6с*^w*KP@͗ѿb&/Z( W߀ $;{t"кj6G6%@J&k̵Qp.>f$άa)+8eJBbf:ÕbV?noCsx `J/\a;bHǝxtoR<`f _uzIDDl2-}O)p~GXsx6*x8Ysh_w-*1oV $BJA6 O%,2>p -W`U w 8YY!v3=@bjpo9s|:p7G,S2ܨp'(߫ӒI5=<ɲ_=9A)xMyTT"*mPVsvE?qySow+e*j -y Z$%7o_JX7Zz,H>AxƯǾ -*!/cY)_R= ;Ȧ=LB.*`kL_ƫmm?2Ö|}+kQl6PE&H~G7Krm/HERﵞHJ=Wv60&L/u[} 82/3`w<2ؠJU'\}iީRmmD="ʬۅ)ttm~aѡ%vf 0qcV2$Q= <.અe%áO],߼~d]3`v485UtK_>sd~MXSJG#ÝuSoxUb8G#3v͆lYm[-YV7- Y SAz~{mXШďyhߌ'-HlA$-E<&mk/ؘ0ٛ# `uy-)+fܲ5ӽ FYPa4ߋƖn%agLq5ROGx|*lY $aM :YBs^x|$c -iSňD2JD5 4H[%:So^ꇍ7O##;!| +Q웶UHFhdܪjA S?() ]!dr2r -ּf`Hy 'b"y"߱j}Y4S*Y(ͧ-G𨎄.(PU~$D" Z'P39Q Ydmvv8 ߘp?F%p8ϗ`Hse{5M%ɦ*`˗D]4OTx -gNQ9R$N3$-屨qMu7hD(k`FJ4"Fei+=DhHJë"c[UEYjbMj C ᥅i 8`.Zɲ9,|˻׷ﯿ_ݜq^*QP]S#H5ӎ:Շ/+endstream -endobj - -23430 0 obj -<>/P 983 0 R/Type/Annot/A 23433 0 R/Subtype/Link/Rect[129.600006 543.22998 398.112 562.909973]/Border[0 0 0]/H/N>> -endobj - -23431 0 obj -<>/P 983 0 R/Type/Annot/A 23432 0 R/Subtype/Link/Rect[129.600006 269.848999 288.156006 289.528992]/Border[0 0 0]/H/N>> -endobj - -23432 0 obj -<> -endobj - -23433 0 obj -<> -endobj - -23434 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -23435 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -23436 0 obj -<> -endobj - -23437 0 obj -<> -endobj - -23438 0 obj -<> -endobj - -23439 0 obj -<> -endobj - -23440 0 obj -<> -endobj - -23441 0 obj -<> -endobj - -23442 0 obj -<> -endobj - -23443 0 obj -<> -endobj - -23444 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -23445 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -23446 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -23447 0 obj -<> -stream -HW]o}_GP( -8mVna*גrm%u}gV+-9\t;:9?̟ߟ^ )~iBRE_0]:҂x^u!ŧB(Oty^x^n@|z)Ί㙺챈D(VxlUL.ף -X+]Zd pBͿ+%=$nAQ( 愈cx*nhSL11(3Pj#T.!JeT]|jC0!c {kkk[[[;;{{{}}G}G}Yň6 -`TOmbTOm٧6D1MmbgFP L6!Qmj#>S-0MmbgF QjSjQmj#>S-0MmbTŰT jSjQmj[Qmj#T>!Qmj#T>*gŨ6aV3MmbgՌjSզ6B13jFP LQmjCF(}Zͨ6aV3MmbTŰTզ6B13jFmUFP9Ԇ(FP9F}jCF(}Zè6a0MmbTŰTkզ6B13F QjSj F(}Zè6!Qmj#>SaTŰTkզUaզ6BSզ6BSr1!ޯx@(1{,BeBY<Wj*֛_O-ןGo'џUTZ*ZXz|RʖX qnT8 ˗T+'N;U e4F5K&V'v]:%+InAIbk/ft-m4@ ê(KpR7nэߏg3UGy^5};y' _eB7tCm0QOutj*jt},%A\逮L)+PWd~]hKJJes*JoT[x`MHew崤c0dBaEҴi89VBn3Tˋf5_Ÿn tZǶDGUA/W7C-6ˊ钧ЦUv5Y\]-:n;*ŗ#Bl/'߇Ra(͡T TeP{/Zl޶BŬS\nE \i56ٷM"AuGΚݩ*ayy?/uIe:2v!cI^ǟ7}`BWxa0 e zk\Z*1?6`4~s(~gxlbж3'~O'jˍ,LdUuhk,9IƀGhe[74eITL+˂߻;M=LW|Ndž{! -LƱRyKSʨh yB= }nOT)~tןǐ!>`T4arV&X!G?: \sk PZ;QݻeĎ8t2b[n@9UO@m*Zd 4j𤄹q{φ<@SRFqQ}CԄrA2;CSIfֆkb >\Vч퓶hFb@ /(4^RSf |m>k.C3Sؽת@cUu*RHmꄩ98 -}ҋ+ھ"| QhyPN{x"x cx&:O\ ޖn$Gcc]ðC=b{ZJH%rmu1ρF-=MsN{/pM K%§m*8.g0+t ?\Mǁ+`#REBM}ZR2ۉ J&7*tE';p}Ej91*w}x -|Fj;z!zDzY?NV q-݃tr̕2̦̉o1CŴ^:-^f/%fKl7bx/-|Y(mT|XI| ;T35go!XBxe_xCi0us#Q -`wWWo/.<i6ݬ΍Ɠm'77genK_}  w}zl{{׭}Px|}>RarT̿͗OOZy1Ry.&Kl u7wWg>6쪚 -|ώ=;n7_援MxWNX)=ԓv4qneϺjm#9 ->Ҁ2`c+K@ED*9՜ žTS>le~w.Q礁cj9EzbbuB znݎ+$i=얿?ڷfV>#PE1܄^4&{l]͞^q*`_ԫc&$NPkq8:Cҿ-YNE _ -S6u"Cp%wl?IJ+˗='3j^ (Nڱ:8yz5e/ /H;6kRuuR}tHڦVHrE'>w jok*PO?sE,@3kDVDi[ii*JFW߈v#;:e \VjNH3?<ڠ*b.IO 'Rq3Kxv:"ydq fo  l?Lc\Nr!Vr7rQē=L,P2HƬ Z9d9W70l;Ό3:,>?qk s{wǢ(@\S)ZSĊi7_ŔK:L!KO70Ԕǐ u(,vܳu:= > +9`qX?S'˜'Upa{vs( -FxZG8az<dƏY4d4?2+1ELKؑ{TlW a'C +I}7lvԍǫ8vE`m#o=R,brY)IٮXB w})EQkg9Fe{KbKy.6_ۧc.4(C1Dr79oC \A{)_ |)9x-t8]KC0.י*O6#MA# 7]Qe *9ik %a؆02eO8X9F58ÈKA+SNdtP MJ=s@ݯ |ⲡ":F}tb;6':ILOL0j15|V2PQJ~X'ɫ2ɛ,kt&WPƒّv$ F73v#GpX>LV*Uq[}Ʒ|J5^.ZDDл7oo%֐yQ5JD^rY,qEjj}7JT>x&lk93"!C/G#m4AQ87*=͈DTQ ̙Nj _}}6*fG,68K`,!Bߘ2vp>V eN΍͠>ӏH"+]oƔwxfbndvݼ_j`b`!r'e4Rܭ5ҒNo&k-"I/o0t͔bnςĎ@),XLMy"/H]$h(dWr $QxI ObTP@7$a.&" ܍iO (9dѾmE3H7_0@ҜUe'xm7©ϯ}_W`Wendstream -endobj - -23448 0 obj -<>/P 11359 0 R/Type/Annot/A 24048 0 R/Subtype/Link/Rect[208 669 225 679]/Border[0 0 0]/H/N>> -endobj - -23449 0 obj -<>/P 11359 0 R/Type/Annot/A 24043 0 R/Subtype/Link/Rect[226 669 240 678]/Border[0 0 0]/H/N>> -endobj - -23450 0 obj -<>/P 11359 0 R/Type/Annot/A 24036 0 R/Subtype/Link/Rect[242 669 254 678]/Border[0 0 0]/H/N>> -endobj - -23451 0 obj -<>/P 11359 0 R/Type/Annot/A 24030 0 R/Subtype/Link/Rect[187 659 197 668]/Border[0 0 0]/H/N>> -endobj - -23452 0 obj -<>/P 11359 0 R/Type/Annot/A 24025 0 R/Subtype/Link/Rect[199 659 213 668]/Border[0 0 0]/H/N>> -endobj - -23453 0 obj -<>/P 11359 0 R/Type/Annot/A 42140 0 R/Subtype/Link/Rect[215 659 229 668]/Border[0 0 0]/H/N>> -endobj - -23454 0 obj -<>/P 11359 0 R/Type/Annot/A 24014 0 R/Subtype/Link/Rect[231 659 248 669]/Border[0 0 0]/H/N>> -endobj - -23455 0 obj -<>/P 11359 0 R/Type/Annot/A 24008 0 R/Subtype/Link/Rect[248 659 260 668]/Border[0 0 0]/H/N>> -endobj - -23456 0 obj -<>/P 11359 0 R/Type/Annot/A 24002 0 R/Subtype/Link/Rect[173 649 190 659]/Border[0 0 0]/H/N>> -endobj - -23457 0 obj -<>/P 11359 0 R/Type/Annot/A 41972 0 R/Subtype/Link/Rect[190 649 202 658]/Border[0 0 0]/H/N>> -endobj - -23458 0 obj -<>/P 11359 0 R/Type/Annot/A 23991 0 R/Subtype/Link/Rect[197 639 211 648]/Border[0 0 0]/H/N>> -endobj - -23459 0 obj -<>/P 11359 0 R/Type/Annot/A 23986 0 R/Subtype/Link/Rect[213 639 227 648]/Border[0 0 0]/H/N>> -endobj - -23460 0 obj -<>/P 11359 0 R/Type/Annot/A 23981 0 R/Subtype/Link/Rect[229 639 243 648]/Border[0 0 0]/H/N>> -endobj - -23461 0 obj -<>/P 11359 0 R/Type/Annot/A 23977 0 R/Subtype/Link/Rect[245 639 259 648]/Border[0 0 0]/H/N>> -endobj - -23462 0 obj -<>/P 11359 0 R/Type/Annot/A 23973 0 R/Subtype/Link/Rect[261 639 275 648]/Border[0 0 0]/H/N>> -endobj - -23463 0 obj -<>/P 11359 0 R/Type/Annot/A 41698 0 R/Subtype/Link/Rect[277 639 291 648]/Border[0 0 0]/H/N>> -endobj - -23464 0 obj -<>/P 11359 0 R/Type/Annot/A 23964 0 R/Subtype/Link/Rect[293 639 307 648]/Border[0 0 0]/H/N>> -endobj - -23465 0 obj -<>/P 11359 0 R/Type/Annot/A 41615 0 R/Subtype/Link/Rect[151 629 165 638]/Border[0 0 0]/H/N>> -endobj - -23466 0 obj -<>/P 11359 0 R/Type/Annot/A 41565 0 R/Subtype/Link/Rect[167 629 184 639]/Border[0 0 0]/H/N>> -endobj - -23467 0 obj -<>/P 11359 0 R/Type/Annot/A 41527 0 R/Subtype/Link/Rect[185 629 199 638]/Border[0 0 0]/H/N>> -endobj - -23468 0 obj -<>/P 11359 0 R/Type/Annot/A 41492 0 R/Subtype/Link/Rect[201 629 217 639]/Border[0 0 0]/H/N>> -endobj - -23469 0 obj -<>/P 11359 0 R/Type/Annot/A 23947 0 R/Subtype/Link/Rect[218 629 232 638]/Border[0 0 0]/H/N>> -endobj - -23470 0 obj -<>/P 11359 0 R/Type/Annot/A 41421 0 R/Subtype/Link/Rect[234 629 246 638]/Border[0 0 0]/H/N>> -endobj - -23471 0 obj -<>/P 11359 0 R/Type/Annot/A 23940 0 R/Subtype/Link/Rect[190 619 202 628]/Border[0 0 0]/H/N>> -endobj - -23472 0 obj -<>/P 11359 0 R/Type/Annot/A 23936 0 R/Subtype/Link/Rect[217 609 231 618]/Border[0 0 0]/H/N>> -endobj - -23473 0 obj -<>/P 11359 0 R/Type/Annot/A 37453 0 R/Subtype/Link/Rect[233 609 247 618]/Border[0 0 0]/H/N>> -endobj - -23474 0 obj -<>/P 11359 0 R/Type/Annot/A 23930 0 R/Subtype/Link/Rect[249 609 265 619]/Border[0 0 0]/H/N>> -endobj - -23475 0 obj -<>/P 11359 0 R/Type/Annot/A 23925 0 R/Subtype/Link/Rect[266 609 280 618]/Border[0 0 0]/H/N>> -endobj - -23476 0 obj -<>/P 11359 0 R/Type/Annot/A 41192 0 R/Subtype/Link/Rect[282 609 296 618]/Border[0 0 0]/H/N>> -endobj - -23477 0 obj -<>/P 11359 0 R/Type/Annot/A 23916 0 R/Subtype/Link/Rect[151 599 165 608]/Border[0 0 0]/H/N>> -endobj - -23478 0 obj -<>/P 11359 0 R/Type/Annot/A 23913 0 R/Subtype/Link/Rect[167 599 179 608]/Border[0 0 0]/H/N>> -endobj - -23479 0 obj -<>/P 11359 0 R/Type/Annot/A 23909 0 R/Subtype/Link/Rect[190 589 202 598]/Border[0 0 0]/H/N>> -endobj - -23480 0 obj -<>/P 11359 0 R/Type/Annot/A 23905 0 R/Subtype/Link/Rect[215 579 232 589]/Border[0 0 0]/H/N>> -endobj - -23481 0 obj -<>/P 11359 0 R/Type/Annot/A 23901 0 R/Subtype/Link/Rect[233 579 245 588]/Border[0 0 0]/H/N>> -endobj - -23482 0 obj -<>/P 11359 0 R/Type/Annot/A 40721 0 R/Subtype/Link/Rect[170 569 182 578]/Border[0 0 0]/H/N>> -endobj - -23483 0 obj -<>/P 11359 0 R/Type/Annot/A 40683 0 R/Subtype/Link/Rect[215 559 232 569]/Border[0 0 0]/H/N>> -endobj - -23484 0 obj -<>/P 11359 0 R/Type/Annot/A 23893 0 R/Subtype/Link/Rect[233 559 247 568]/Border[0 0 0]/H/N>> -endobj - -23485 0 obj -<>/P 11359 0 R/Type/Annot/A 23890 0 R/Subtype/Link/Rect[249 559 263 568]/Border[0 0 0]/H/N>> -endobj - -23486 0 obj -<>/P 11359 0 R/Type/Annot/A 28561 0 R/Subtype/Link/Rect[265 559 279 568]/Border[0 0 0]/H/N>> -endobj - -23487 0 obj -<>/P 11359 0 R/Type/Annot/A 39506 0 R/Subtype/Link/Rect[281 559 295 568]/Border[0 0 0]/H/N>> -endobj - -23488 0 obj -<>/P 11359 0 R/Type/Annot/A 24132 0 R/Subtype/Link/Rect[297 559 309 568]/Border[0 0 0]/H/N>> -endobj - -23489 0 obj -<>/P 11359 0 R/Type/Annot/A 38931 0 R/Subtype/Link/Rect[207 549 224 559]/Border[0 0 0]/H/N>> -endobj - -23490 0 obj -<>/P 11359 0 R/Type/Annot/A 38408 0 R/Subtype/Link/Rect[224 549 238 558]/Border[0 0 0]/H/N>> -endobj - -23491 0 obj -<>/P 11359 0 R/Type/Annot/A 38349 0 R/Subtype/Link/Rect[240 549 252 558]/Border[0 0 0]/H/N>> -endobj - -23492 0 obj -<>/P 11359 0 R/Type/Annot/A 38319 0 R/Subtype/Link/Rect[236 539 253 549]/Border[0 0 0]/H/N>> -endobj - -23493 0 obj -<>/P 11359 0 R/Type/Annot/A 24111 0 R/Subtype/Link/Rect[253 539 267 548]/Border[0 0 0]/H/N>> -endobj - -23494 0 obj -<>/P 11359 0 R/Type/Annot/A 24106 0 R/Subtype/Link/Rect[269 539 283 548]/Border[0 0 0]/H/N>> -endobj - -23495 0 obj -<>/P 11359 0 R/Type/Annot/A 24100 0 R/Subtype/Link/Rect[285 539 299 548]/Border[0 0 0]/H/N>> -endobj - -23496 0 obj -<>/P 11359 0 R/Type/Annot/A 38223 0 R/Subtype/Link/Rect[151 529 165 538]/Border[0 0 0]/H/N>> -endobj - -23497 0 obj -<>/P 11359 0 R/Type/Annot/A 36730 0 R/Subtype/Link/Rect[167 529 181 538]/Border[0 0 0]/H/N>> -endobj - -23498 0 obj -<>/P 11359 0 R/Type/Annot/A 36692 0 R/Subtype/Link/Rect[183 529 195 538]/Border[0 0 0]/H/N>> -endobj - -23499 0 obj -<>/P 11359 0 R/Type/Annot/A 24082 0 R/Subtype/Link/Rect[222 519 236 528]/Border[0 0 0]/H/N>> -endobj - -23500 0 obj -<>/P 11359 0 R/Type/Annot/A 35869 0 R/Subtype/Link/Rect[238 519 254 529]/Border[0 0 0]/H/N>> -endobj - -23501 0 obj -<>/P 11359 0 R/Type/Annot/A 25847 0 R/Subtype/Link/Rect[255 519 269 528]/Border[0 0 0]/H/N>> -endobj - -23502 0 obj -<>/P 11359 0 R/Type/Annot/A 24068 0 R/Subtype/Link/Rect[271 519 285 528]/Border[0 0 0]/H/N>> -endobj - -23503 0 obj -<>/P 11359 0 R/Type/Annot/A 34277 0 R/Subtype/Link/Rect[287 519 301 528]/Border[0 0 0]/H/N>> -endobj - -23504 0 obj -<>/P 11359 0 R/Type/Annot/A 24058 0 R/Subtype/Link/Rect[151 509 165 518]/Border[0 0 0]/H/N>> -endobj - -23505 0 obj -<>/P 11359 0 R/Type/Annot/A 34201 0 R/Subtype/Link/Rect[167 509 181 518]/Border[0 0 0]/H/N>> -endobj - -23506 0 obj -<>/P 11359 0 R/Type/Annot/A 33647 0 R/Subtype/Link/Rect[183 509 200 519]/Border[0 0 0]/H/N>> -endobj - -23507 0 obj -<>/P 11359 0 R/Type/Annot/A 24222 0 R/Subtype/Link/Rect[201 509 215 518]/Border[0 0 0]/H/N>> -endobj - -23508 0 obj -<>/P 11359 0 R/Type/Annot/A 38052 0 R/Subtype/Link/Rect[217 509 233 519]/Border[0 0 0]/H/N>> -endobj - -23509 0 obj -<>/P 11359 0 R/Type/Annot/A 24212 0 R/Subtype/Link/Rect[234 509 248 518]/Border[0 0 0]/H/N>> -endobj - -23510 0 obj -<>/P 11359 0 R/Type/Annot/A 32572 0 R/Subtype/Link/Rect[250 509 264 518]/Border[0 0 0]/H/N>> -endobj - -23511 0 obj -<>/P 11359 0 R/Type/Annot/A 32529 0 R/Subtype/Link/Rect[266 509 280 518]/Border[0 0 0]/H/N>> -endobj - -23512 0 obj -<>/P 11359 0 R/Type/Annot/A 31849 0 R/Subtype/Link/Rect[282 509 296 518]/Border[0 0 0]/H/N>> -endobj - -23513 0 obj -<>/P 11359 0 R/Type/Annot/A 37976 0 R/Subtype/Link/Rect[151 499 165 508]/Border[0 0 0]/H/N>> -endobj - -23514 0 obj -<>/P 11359 0 R/Type/Annot/A 31107 0 R/Subtype/Link/Rect[167 499 181 508]/Border[0 0 0]/H/N>> -endobj - -23515 0 obj -<>/P 11359 0 R/Type/Annot/A 31058 0 R/Subtype/Link/Rect[183 499 197 508]/Border[0 0 0]/H/N>> -endobj - -23516 0 obj -<>/P 11359 0 R/Type/Annot/A 24186 0 R/Subtype/Link/Rect[199 499 213 508]/Border[0 0 0]/H/N>> -endobj - -23517 0 obj -<>/P 11359 0 R/Type/Annot/A 37938 0 R/Subtype/Link/Rect[215 499 227 508]/Border[0 0 0]/H/N>> -endobj - -23518 0 obj -<>/P 11359 0 R/Type/Annot/A 24177 0 R/Subtype/Link/Rect[228 489 237 499]/Border[0 0 0]/H/N>> -endobj - -23519 0 obj -<>/P 11359 0 R/Type/Annot/A 30222 0 R/Subtype/Link/Rect[238 489 244 498]/Border[0 0 0]/H/N>> -endobj - -23520 0 obj -<>/P 11359 0 R/Type/Annot/A 30165 0 R/Subtype/Link/Rect[246 489 258 499]/Border[0 0 0]/H/N>> -endobj - -23521 0 obj -<>/P 11359 0 R/Type/Annot/A 30126 0 R/Subtype/Link/Rect[259 489 269 498]/Border[0 0 0]/H/N>> -endobj - -23522 0 obj -<>/P 11359 0 R/Type/Annot/A 30079 0 R/Subtype/Link/Rect[271 489 284 499]/Border[0 0 0]/H/N>> -endobj - -23523 0 obj -<>/P 11359 0 R/Type/Annot/A 37884 0 R/Subtype/Link/Rect[284 489 294 498]/Border[0 0 0]/H/N>> -endobj - -23524 0 obj -<>/P 11359 0 R/Type/Annot/A 37875 0 R/Subtype/Link/Rect[151 479 164 489]/Border[0 0 0]/H/N>> -endobj - -23525 0 obj -<>/P 11359 0 R/Type/Annot/A 24152 0 R/Subtype/Link/Rect[165 479 175 488]/Border[0 0 0]/H/N>> -endobj - -23526 0 obj -<>/P 11359 0 R/Type/Annot/A 29207 0 R/Subtype/Link/Rect[177 479 187 488]/Border[0 0 0]/H/N>> -endobj - -23527 0 obj -<>/P 11359 0 R/Type/Annot/A 24143 0 R/Subtype/Link/Rect[189 479 199 488]/Border[0 0 0]/H/N>> -endobj - -23528 0 obj -<>/P 11359 0 R/Type/Annot/A 24140 0 R/Subtype/Link/Rect[201 479 213 489]/Border[0 0 0]/H/N>> -endobj - -23529 0 obj -<>/P 11359 0 R/Type/Annot/A 37845 0 R/Subtype/Link/Rect[214 479 224 488]/Border[0 0 0]/H/N>> -endobj - -23530 0 obj -<>/P 11359 0 R/Type/Annot/A 24130 0 R/Subtype/Link/Rect[226 479 239 489]/Border[0 0 0]/H/N>> -endobj - -23531 0 obj -<>/P 11359 0 R/Type/Annot/A 28521 0 R/Subtype/Link/Rect[239 479 249 488]/Border[0 0 0]/H/N>> -endobj - -23532 0 obj -<>/P 11359 0 R/Type/Annot/A 28505 0 R/Subtype/Link/Rect[251 479 261 488]/Border[0 0 0]/H/N>> -endobj - -23533 0 obj -<>/P 11359 0 R/Type/Annot/A 37793 0 R/Subtype/Link/Rect[263 479 276 489]/Border[0 0 0]/H/N>> -endobj - -23534 0 obj -<>/P 11359 0 R/Type/Annot/A 24116 0 R/Subtype/Link/Rect[277 479 287 488]/Border[0 0 0]/H/N>> -endobj - -23535 0 obj -<>/P 11359 0 R/Type/Annot/A 28381 0 R/Subtype/Link/Rect[289 479 299 488]/Border[0 0 0]/H/N>> -endobj - -23536 0 obj -<>/P 11359 0 R/Type/Annot/A 24107 0 R/Subtype/Link/Rect[301 479 311 488]/Border[0 0 0]/H/N>> -endobj - -23537 0 obj -<>/P 11359 0 R/Type/Annot/A 24101 0 R/Subtype/Link/Rect[151 469 161 478]/Border[0 0 0]/H/N>> -endobj - -23538 0 obj -<>/P 11359 0 R/Type/Annot/A 37763 0 R/Subtype/Link/Rect[163 469 177 478]/Border[0 0 0]/H/N>> -endobj - -23539 0 obj -<>/P 11359 0 R/Type/Annot/A 24093 0 R/Subtype/Link/Rect[179 469 196 479]/Border[0 0 0]/H/N>> -endobj - -23540 0 obj -<>/P 11359 0 R/Type/Annot/A 24088 0 R/Subtype/Link/Rect[197 469 210 478]/Border[0 0 0]/H/N>> -endobj - -23541 0 obj -<>/P 11359 0 R/Type/Annot/A 26924 0 R/Subtype/Link/Rect[212 469 229 479]/Border[0 0 0]/H/N>> -endobj - -23542 0 obj -<>/P 11359 0 R/Type/Annot/A 26483 0 R/Subtype/Link/Rect[229 469 243 478]/Border[0 0 0]/H/N>> -endobj - -23543 0 obj -<>/P 11359 0 R/Type/Annot/A 24077 0 R/Subtype/Link/Rect[245 469 259 478]/Border[0 0 0]/H/N>> -endobj - -23544 0 obj -<>/P 11359 0 R/Type/Annot/A 24072 0 R/Subtype/Link/Rect[261 469 278 479]/Border[0 0 0]/H/N>> -endobj - -23545 0 obj -<>/P 11359 0 R/Type/Annot/A 24065 0 R/Subtype/Link/Rect[279 469 293 478]/Border[0 0 0]/H/N>> -endobj - -23546 0 obj -<>/P 11359 0 R/Type/Annot/A 24060 0 R/Subtype/Link/Rect[295 469 309 478]/Border[0 0 0]/H/N>> -endobj - -23547 0 obj -<>/P 11359 0 R/Type/Annot/A 24054 0 R/Subtype/Link/Rect[151 459 165 468]/Border[0 0 0]/H/N>> -endobj - -23548 0 obj -<>/P 11359 0 R/Type/Annot/A 24049 0 R/Subtype/Link/Rect[167 459 181 468]/Border[0 0 0]/H/N>> -endobj - -23549 0 obj -<>/P 11359 0 R/Type/Annot/A 24044 0 R/Subtype/Link/Rect[183 459 200 469]/Border[0 0 0]/H/N>> -endobj - -23550 0 obj -<>/P 11359 0 R/Type/Annot/A 24304 0 R/Subtype/Link/Rect[201 459 215 468]/Border[0 0 0]/H/N>> -endobj - -23551 0 obj -<>/P 11359 0 R/Type/Annot/A 24031 0 R/Subtype/Link/Rect[217 459 233 469]/Border[0 0 0]/H/N>> -endobj - -23552 0 obj -<>/P 11359 0 R/Type/Annot/A 24225 0 R/Subtype/Link/Rect[234 459 248 468]/Border[0 0 0]/H/N>> -endobj - -23553 0 obj -<>/P 11359 0 R/Type/Annot/A 24218 0 R/Subtype/Link/Rect[250 459 266 469]/Border[0 0 0]/H/N>> -endobj - -23554 0 obj -<>/P 11359 0 R/Type/Annot/A 24214 0 R/Subtype/Link/Rect[267 459 281 468]/Border[0 0 0]/H/N>> -endobj - -23555 0 obj -<>/P 11359 0 R/Type/Annot/A 24209 0 R/Subtype/Link/Rect[283 459 297 468]/Border[0 0 0]/H/N>> -endobj - -23556 0 obj -<>/P 11359 0 R/Type/Annot/A 24205 0 R/Subtype/Link/Rect[151 449 165 458]/Border[0 0 0]/H/N>> -endobj - -23557 0 obj -<>/P 11359 0 R/Type/Annot/A 24202 0 R/Subtype/Link/Rect[167 449 181 458]/Border[0 0 0]/H/N>> -endobj - -23558 0 obj -<>/P 11359 0 R/Type/Annot/A 24199 0 R/Subtype/Link/Rect[183 449 197 458]/Border[0 0 0]/H/N>> -endobj - -23559 0 obj -<>/P 11359 0 R/Type/Annot/A 24195 0 R/Subtype/Link/Rect[199 449 213 458]/Border[0 0 0]/H/N>> -endobj - -23560 0 obj -<>/P 11359 0 R/Type/Annot/A 24191 0 R/Subtype/Link/Rect[215 449 232 459]/Border[0 0 0]/H/N>> -endobj - -23561 0 obj -<>/P 11359 0 R/Type/Annot/A 24189 0 R/Subtype/Link/Rect[233 449 247 458]/Border[0 0 0]/H/N>> -endobj - -23562 0 obj -<>/P 11359 0 R/Type/Annot/A 24187 0 R/Subtype/Link/Rect[249 449 263 458]/Border[0 0 0]/H/N>> -endobj - -23563 0 obj -<>/P 11359 0 R/Type/Annot/A 24183 0 R/Subtype/Link/Rect[265 449 279 458]/Border[0 0 0]/H/N>> -endobj - -23564 0 obj -<>/P 11359 0 R/Type/Annot/A 24180 0 R/Subtype/Link/Rect[281 449 295 458]/Border[0 0 0]/H/N>> -endobj - -23565 0 obj -<>/P 11359 0 R/Type/Annot/A 24175 0 R/Subtype/Link/Rect[297 449 311 458]/Border[0 0 0]/H/N>> -endobj - -23566 0 obj -<>/P 11359 0 R/Type/Annot/A 24172 0 R/Subtype/Link/Rect[151 439 165 448]/Border[0 0 0]/H/N>> -endobj - -23567 0 obj -<>/P 11359 0 R/Type/Annot/A 24168 0 R/Subtype/Link/Rect[167 439 181 448]/Border[0 0 0]/H/N>> -endobj - -23568 0 obj -<>/P 11359 0 R/Type/Annot/A 24165 0 R/Subtype/Link/Rect[183 439 197 448]/Border[0 0 0]/H/N>> -endobj - -23569 0 obj -<>/P 11359 0 R/Type/Annot/A 24161 0 R/Subtype/Link/Rect[199 439 213 448]/Border[0 0 0]/H/N>> -endobj - -23570 0 obj -<>/P 11359 0 R/Type/Annot/A 24157 0 R/Subtype/Link/Rect[215 439 229 448]/Border[0 0 0]/H/N>> -endobj - -23571 0 obj -<>/P 11359 0 R/Type/Annot/A 24155 0 R/Subtype/Link/Rect[231 439 248 449]/Border[0 0 0]/H/N>> -endobj - -23572 0 obj -<>/P 11359 0 R/Type/Annot/A 24150 0 R/Subtype/Link/Rect[249 439 263 448]/Border[0 0 0]/H/N>> -endobj - -23573 0 obj -<>/P 11359 0 R/Type/Annot/A 24146 0 R/Subtype/Link/Rect[265 439 279 448]/Border[0 0 0]/H/N>> -endobj - -23574 0 obj -<>/P 11359 0 R/Type/Annot/A 24141 0 R/Subtype/Link/Rect[151 429 168 439]/Border[0 0 0]/H/N>> -endobj - -23575 0 obj -<>/P 11359 0 R/Type/Annot/A 24138 0 R/Subtype/Link/Rect[169 429 183 438]/Border[0 0 0]/H/N>> -endobj - -23576 0 obj -<>/P 11359 0 R/Type/Annot/A 24134 0 R/Subtype/Link/Rect[185 429 199 438]/Border[0 0 0]/H/N>> -endobj - -23577 0 obj -<>/P 11359 0 R/Type/Annot/A 24129 0 R/Subtype/Link/Rect[201 429 215 438]/Border[0 0 0]/H/N>> -endobj - -23578 0 obj -<>/P 11359 0 R/Type/Annot/A 24126 0 R/Subtype/Link/Rect[217 429 231 438]/Border[0 0 0]/H/N>> -endobj - -23579 0 obj -<>/P 11359 0 R/Type/Annot/A 24123 0 R/Subtype/Link/Rect[233 429 247 438]/Border[0 0 0]/H/N>> -endobj - -23580 0 obj -<>/P 11359 0 R/Type/Annot/A 24120 0 R/Subtype/Link/Rect[249 429 263 438]/Border[0 0 0]/H/N>> -endobj - -23581 0 obj -<>/P 11359 0 R/Type/Annot/A 24117 0 R/Subtype/Link/Rect[265 429 281 439]/Border[0 0 0]/H/N>> -endobj - -23582 0 obj -<>/P 11359 0 R/Type/Annot/A 24112 0 R/Subtype/Link/Rect[282 429 296 438]/Border[0 0 0]/H/N>> -endobj - -23583 0 obj -<>/P 11359 0 R/Type/Annot/A 24108 0 R/Subtype/Link/Rect[151 419 165 428]/Border[0 0 0]/H/N>> -endobj - -23584 0 obj -<>/P 11359 0 R/Type/Annot/A 24103 0 R/Subtype/Link/Rect[167 419 181 428]/Border[0 0 0]/H/N>> -endobj - -23585 0 obj -<>/P 11359 0 R/Type/Annot/A 24098 0 R/Subtype/Link/Rect[183 419 197 428]/Border[0 0 0]/H/N>> -endobj - -23586 0 obj -<>/P 11359 0 R/Type/Annot/A 24094 0 R/Subtype/Link/Rect[199 419 213 428]/Border[0 0 0]/H/N>> -endobj - -23587 0 obj -<>/P 11359 0 R/Type/Annot/A 24090 0 R/Subtype/Link/Rect[215 419 229 428]/Border[0 0 0]/H/N>> -endobj - -23588 0 obj -<>/P 11359 0 R/Type/Annot/A 24085 0 R/Subtype/Link/Rect[231 419 248 429]/Border[0 0 0]/H/N>> -endobj - -23589 0 obj -<>/P 11359 0 R/Type/Annot/A 24084 0 R/Subtype/Link/Rect[249 419 263 428]/Border[0 0 0]/H/N>> -endobj - -23590 0 obj -<>/P 11359 0 R/Type/Annot/A 24079 0 R/Subtype/Link/Rect[265 419 279 428]/Border[0 0 0]/H/N>> -endobj - -23591 0 obj -<>/P 11359 0 R/Type/Annot/A 24074 0 R/Subtype/Link/Rect[281 419 295 428]/Border[0 0 0]/H/N>> -endobj - -23592 0 obj -<>/P 11359 0 R/Type/Annot/A 24069 0 R/Subtype/Link/Rect[297 419 311 428]/Border[0 0 0]/H/N>> -endobj - -23593 0 obj -<>/P 11359 0 R/Type/Annot/A 24063 0 R/Subtype/Link/Rect[151 409 165 418]/Border[0 0 0]/H/N>> -endobj - -23594 0 obj -<>/P 11359 0 R/Type/Annot/A 24059 0 R/Subtype/Link/Rect[167 409 184 419]/Border[0 0 0]/H/N>> -endobj - -23595 0 obj -<>/P 11359 0 R/Type/Annot/A 24055 0 R/Subtype/Link/Rect[185 409 199 418]/Border[0 0 0]/H/N>> -endobj - -23596 0 obj -<>/P 11359 0 R/Type/Annot/A 24051 0 R/Subtype/Link/Rect[201 409 215 418]/Border[0 0 0]/H/N>> -endobj - -23597 0 obj -<>/P 11359 0 R/Type/Annot/A 24046 0 R/Subtype/Link/Rect[217 409 231 418]/Border[0 0 0]/H/N>> -endobj - -23598 0 obj -<>/P 11359 0 R/Type/Annot/A 24040 0 R/Subtype/Link/Rect[233 409 249 419]/Border[0 0 0]/H/N>> -endobj - -23599 0 obj -<>/P 11359 0 R/Type/Annot/A 24033 0 R/Subtype/Link/Rect[250 409 264 418]/Border[0 0 0]/H/N>> -endobj - -23600 0 obj -<>/P 11359 0 R/Type/Annot/A 24027 0 R/Subtype/Link/Rect[266 409 280 418]/Border[0 0 0]/H/N>> -endobj - -23601 0 obj -<>/P 11359 0 R/Type/Annot/A 24022 0 R/Subtype/Link/Rect[282 409 296 418]/Border[0 0 0]/H/N>> -endobj - -23602 0 obj -<>/P 11359 0 R/Type/Annot/A 24017 0 R/Subtype/Link/Rect[151 399 165 408]/Border[0 0 0]/H/N>> -endobj - -23603 0 obj -<>/P 11359 0 R/Type/Annot/A 24011 0 R/Subtype/Link/Rect[167 399 181 408]/Border[0 0 0]/H/N>> -endobj - -23604 0 obj -<>/P 11359 0 R/Type/Annot/A 24006 0 R/Subtype/Link/Rect[183 399 197 408]/Border[0 0 0]/H/N>> -endobj - -23605 0 obj -<>/P 11359 0 R/Type/Annot/A 24000 0 R/Subtype/Link/Rect[199 399 213 408]/Border[0 0 0]/H/N>> -endobj - -23606 0 obj -<>/P 11359 0 R/Type/Annot/A 23995 0 R/Subtype/Link/Rect[215 399 232 409]/Border[0 0 0]/H/N>> -endobj - -23607 0 obj -<>/P 11359 0 R/Type/Annot/A 23989 0 R/Subtype/Link/Rect[233 399 247 408]/Border[0 0 0]/H/N>> -endobj - -23608 0 obj -<>/P 11359 0 R/Type/Annot/A 23984 0 R/Subtype/Link/Rect[249 399 263 408]/Border[0 0 0]/H/N>> -endobj - -23609 0 obj -<>/P 11359 0 R/Type/Annot/A 23979 0 R/Subtype/Link/Rect[265 399 279 408]/Border[0 0 0]/H/N>> -endobj - -23610 0 obj -<>/P 11359 0 R/Type/Annot/A 23976 0 R/Subtype/Link/Rect[281 399 295 408]/Border[0 0 0]/H/N>> -endobj - -23611 0 obj -<>/P 11359 0 R/Type/Annot/A 23972 0 R/Subtype/Link/Rect[151 389 168 399]/Border[0 0 0]/H/N>> -endobj - -23612 0 obj -<>/P 11359 0 R/Type/Annot/A 23967 0 R/Subtype/Link/Rect[169 389 183 398]/Border[0 0 0]/H/N>> -endobj - -23613 0 obj -<>/P 11359 0 R/Type/Annot/A 23963 0 R/Subtype/Link/Rect[185 389 201 399]/Border[0 0 0]/H/N>> -endobj - -23614 0 obj -<>/P 11359 0 R/Type/Annot/A 23961 0 R/Subtype/Link/Rect[201 389 215 398]/Border[0 0 0]/H/N>> -endobj - -23615 0 obj -<>/P 11359 0 R/Type/Annot/A 23957 0 R/Subtype/Link/Rect[217 389 231 398]/Border[0 0 0]/H/N>> -endobj - -23616 0 obj -<>/P 11359 0 R/Type/Annot/A 23954 0 R/Subtype/Link/Rect[233 389 247 398]/Border[0 0 0]/H/N>> -endobj - -23617 0 obj -<>/P 11359 0 R/Type/Annot/A 23951 0 R/Subtype/Link/Rect[249 389 263 398]/Border[0 0 0]/H/N>> -endobj - -23618 0 obj -<>/P 11359 0 R/Type/Annot/A 23948 0 R/Subtype/Link/Rect[265 389 282 399]/Border[0 0 0]/H/N>> -endobj - -23619 0 obj -<>/P 11359 0 R/Type/Annot/A 23944 0 R/Subtype/Link/Rect[283 389 297 398]/Border[0 0 0]/H/N>> -endobj - -23620 0 obj -<>/P 11359 0 R/Type/Annot/A 23941 0 R/Subtype/Link/Rect[151 379 168 389]/Border[0 0 0]/H/N>> -endobj - -23621 0 obj -<>/P 11359 0 R/Type/Annot/A 23937 0 R/Subtype/Link/Rect[169 379 183 388]/Border[0 0 0]/H/N>> -endobj - -23622 0 obj -<>/P 11359 0 R/Type/Annot/A 23933 0 R/Subtype/Link/Rect[185 379 199 388]/Border[0 0 0]/H/N>> -endobj - -23623 0 obj -<>/P 11359 0 R/Type/Annot/A 23931 0 R/Subtype/Link/Rect[201 379 215 388]/Border[0 0 0]/H/N>> -endobj - -23624 0 obj -<>/P 11359 0 R/Type/Annot/A 23927 0 R/Subtype/Link/Rect[217 379 231 388]/Border[0 0 0]/H/N>> -endobj - -23625 0 obj -<>/P 11359 0 R/Type/Annot/A 23922 0 R/Subtype/Link/Rect[233 379 249 389]/Border[0 0 0]/H/N>> -endobj - -23626 0 obj -<>/P 11359 0 R/Type/Annot/A 23918 0 R/Subtype/Link/Rect[250 379 264 388]/Border[0 0 0]/H/N>> -endobj - -23627 0 obj -<>/P 11359 0 R/Type/Annot/A 23914 0 R/Subtype/Link/Rect[266 379 283 389]/Border[0 0 0]/H/N>> -endobj - -23628 0 obj -<>/P 11359 0 R/Type/Annot/A 23911 0 R/Subtype/Link/Rect[283 379 297 388]/Border[0 0 0]/H/N>> -endobj - -23629 0 obj -<>/P 11359 0 R/Type/Annot/A 23907 0 R/Subtype/Link/Rect[151 369 168 379]/Border[0 0 0]/H/N>> -endobj - -23630 0 obj -<>/P 11359 0 R/Type/Annot/A 23903 0 R/Subtype/Link/Rect[169 369 183 378]/Border[0 0 0]/H/N>> -endobj - -23631 0 obj -<>/P 11359 0 R/Type/Annot/A 23899 0 R/Subtype/Link/Rect[185 369 201 379]/Border[0 0 0]/H/N>> -endobj - -23632 0 obj -<>/P 11359 0 R/Type/Annot/A 23896 0 R/Subtype/Link/Rect[202 369 216 378]/Border[0 0 0]/H/N>> -endobj - -23633 0 obj -<>/P 11359 0 R/Type/Annot/A 23894 0 R/Subtype/Link/Rect[218 369 232 378]/Border[0 0 0]/H/N>> -endobj - -23634 0 obj -<>/P 11359 0 R/Type/Annot/A 23892 0 R/Subtype/Link/Rect[234 369 248 378]/Border[0 0 0]/H/N>> -endobj - -23635 0 obj -<>/P 11359 0 R/Type/Annot/A 23889 0 R/Subtype/Link/Rect[250 369 263 378]/Border[0 0 0]/H/N>> -endobj - -23636 0 obj -<>/P 11359 0 R/Type/Annot/A 37779 0 R/Subtype/Link/Rect[265 369 279 378]/Border[0 0 0]/H/N>> -endobj - -23637 0 obj -<>/P 11359 0 R/Type/Annot/A 24080 0 R/Subtype/Link/Rect[281 369 295 378]/Border[0 0 0]/H/N>> -endobj - -23638 0 obj -<>/P 11359 0 R/Type/Annot/A 24073 0 R/Subtype/Link/Rect[297 369 311 378]/Border[0 0 0]/H/N>> -endobj - -23639 0 obj -<>/P 11359 0 R/Type/Annot/A 37762 0 R/Subtype/Link/Rect[151 359 165 368]/Border[0 0 0]/H/N>> -endobj - -23640 0 obj -<>/P 11359 0 R/Type/Annot/A 24062 0 R/Subtype/Link/Rect[167 359 184 369]/Border[0 0 0]/H/N>> -endobj - -23641 0 obj -<>/P 11359 0 R/Type/Annot/A 42661 0 R/Subtype/Link/Rect[185 359 199 368]/Border[0 0 0]/H/N>> -endobj - -23642 0 obj -<>/P 11359 0 R/Type/Annot/A 44624 0 R/Subtype/Link/Rect[201 359 213 368]/Border[0 0 0]/H/N>> -endobj - -23643 0 obj -<>/P 11359 0 R/Type/Annot/A 24201 0 R/Subtype/Link/Rect[217 349 233 359]/Border[0 0 0]/H/N>> -endobj - -23644 0 obj -<>/P 11359 0 R/Type/Annot/A 24042 0 R/Subtype/Link/Rect[234 349 248 358]/Border[0 0 0]/H/N>> -endobj - -23645 0 obj -<>/P 11359 0 R/Type/Annot/A 24035 0 R/Subtype/Link/Rect[250 349 267 359]/Border[0 0 0]/H/N>> -endobj - -23646 0 obj -<>/P 11359 0 R/Type/Annot/A 24029 0 R/Subtype/Link/Rect[267 349 281 358]/Border[0 0 0]/H/N>> -endobj - -23647 0 obj -<>/P 11359 0 R/Type/Annot/A 24024 0 R/Subtype/Link/Rect[151 339 168 349]/Border[0 0 0]/H/N>> -endobj - -23648 0 obj -<>/P 11359 0 R/Type/Annot/A 24018 0 R/Subtype/Link/Rect[169 339 181 348]/Border[0 0 0]/H/N>> -endobj - -23649 0 obj -<>/P 11359 0 R/Type/Annot/A 44358 0 R/Subtype/Link/Rect[210 329 227 339]/Border[0 0 0]/H/N>> -endobj - -23650 0 obj -<>/P 11359 0 R/Type/Annot/A 24005 0 R/Subtype/Link/Rect[227 329 239 338]/Border[0 0 0]/H/N>> -endobj - -23651 0 obj -<>/P 11359 0 R/Type/Annot/A 23999 0 R/Subtype/Link/Rect[212 319 224 328]/Border[0 0 0]/H/N>> -endobj - -23652 0 obj -<>/P 11359 0 R/Type/Annot/A 44253 0 R/Subtype/Link/Rect[226 309 238 318]/Border[0 0 0]/H/N>> -endobj - -23653 0 obj -<>/P 11359 0 R/Type/Annot/A 44223 0 R/Subtype/Link/Rect[222 299 234 308]/Border[0 0 0]/H/N>> -endobj - -23654 0 obj -<>/P 11359 0 R/Type/Annot/A 24216 0 R/Subtype/Link/Rect[226 289 238 298]/Border[0 0 0]/H/N>> -endobj - -23655 0 obj -<>/P 11359 0 R/Type/Annot/A 24211 0 R/Subtype/Link/Rect[207 269 219 278]/Border[0 0 0]/H/N>> -endobj - -23656 0 obj -<>/P 11359 0 R/Type/Annot/A 24207 0 R/Subtype/Link/Rect[178 259 192 268]/Border[0 0 0]/H/N>> -endobj - -23657 0 obj -<>/P 11359 0 R/Type/Annot/A 44086 0 R/Subtype/Link/Rect[194 259 208 268]/Border[0 0 0]/H/N>> -endobj - -23658 0 obj -<>/P 11359 0 R/Type/Annot/A 44043 0 R/Subtype/Link/Rect[210 259 224 268]/Border[0 0 0]/H/N>> -endobj - -23659 0 obj -<>/P 11359 0 R/Type/Annot/A 24196 0 R/Subtype/Link/Rect[226 259 238 268]/Border[0 0 0]/H/N>> -endobj - -23660 0 obj -<>/P 11359 0 R/Type/Annot/A 24192 0 R/Subtype/Link/Rect[193 249 205 258]/Border[0 0 0]/H/N>> -endobj - -23661 0 obj -<>/P 11359 0 R/Type/Annot/A 23953 0 R/Subtype/Link/Rect[206 239 214 248]/Border[0 0 0]/H/N>> -endobj - -23662 0 obj -<>/P 11359 0 R/Type/Annot/A 43898 0 R/Subtype/Link/Rect[171 229 188 239]/Border[0 0 0]/H/N>> -endobj - -23663 0 obj -<>/P 11359 0 R/Type/Annot/A 24182 0 R/Subtype/Link/Rect[188 229 200 238]/Border[0 0 0]/H/N>> -endobj - -23664 0 obj -<>/P 11359 0 R/Type/Annot/A 24178 0 R/Subtype/Link/Rect[194 219 211 229]/Border[0 0 0]/H/N>> -endobj - -23665 0 obj -<>/P 11359 0 R/Type/Annot/A 24174 0 R/Subtype/Link/Rect[212 219 224 228]/Border[0 0 0]/H/N>> -endobj - -23666 0 obj -<>/P 11359 0 R/Type/Annot/A 24171 0 R/Subtype/Link/Rect[202 209 216 218]/Border[0 0 0]/H/N>> -endobj - -23667 0 obj -<>/P 11359 0 R/Type/Annot/A 43716 0 R/Subtype/Link/Rect[218 209 232 218]/Border[0 0 0]/H/N>> -endobj - -23668 0 obj -<>/P 11359 0 R/Type/Annot/A 24164 0 R/Subtype/Link/Rect[234 209 248 218]/Border[0 0 0]/H/N>> -endobj - -23669 0 obj -<>/P 11359 0 R/Type/Annot/A 24160 0 R/Subtype/Link/Rect[250 209 264 218]/Border[0 0 0]/H/N>> -endobj - -23670 0 obj -<>/P 11359 0 R/Type/Annot/A 43604 0 R/Subtype/Link/Rect[266 209 280 218]/Border[0 0 0]/H/N>> -endobj - -23671 0 obj -<>/P 11359 0 R/Type/Annot/A 24154 0 R/Subtype/Link/Rect[282 209 296 218]/Border[0 0 0]/H/N>> -endobj - -23672 0 obj -<>/P 11359 0 R/Type/Annot/A 24149 0 R/Subtype/Link/Rect[151 199 165 208]/Border[0 0 0]/H/N>> -endobj - -23673 0 obj -<>/P 11359 0 R/Type/Annot/A 24145 0 R/Subtype/Link/Rect[167 199 181 208]/Border[0 0 0]/H/N>> -endobj - -23674 0 obj -<>/P 11359 0 R/Type/Annot/A 43457 0 R/Subtype/Link/Rect[183 199 200 209]/Border[0 0 0]/H/N>> -endobj - -23675 0 obj -<>/P 11359 0 R/Type/Annot/A 24137 0 R/Subtype/Link/Rect[201 199 215 208]/Border[0 0 0]/H/N>> -endobj - -23676 0 obj -<>/P 11359 0 R/Type/Annot/A 24133 0 R/Subtype/Link/Rect[217 199 231 208]/Border[0 0 0]/H/N>> -endobj - -23677 0 obj -<>/P 11359 0 R/Type/Annot/A 43345 0 R/Subtype/Link/Rect[233 199 249 209]/Border[0 0 0]/H/N>> -endobj - -23678 0 obj -<>/P 11359 0 R/Type/Annot/A 24125 0 R/Subtype/Link/Rect[250 199 264 208]/Border[0 0 0]/H/N>> -endobj - -23679 0 obj -<>/P 11359 0 R/Type/Annot/A 24122 0 R/Subtype/Link/Rect[266 199 280 208]/Border[0 0 0]/H/N>> -endobj - -23680 0 obj -<>/P 11359 0 R/Type/Annot/A 24119 0 R/Subtype/Link/Rect[151 189 168 199]/Border[0 0 0]/H/N>> -endobj - -23681 0 obj -<>/P 11359 0 R/Type/Annot/A 24114 0 R/Subtype/Link/Rect[169 189 183 198]/Border[0 0 0]/H/N>> -endobj - -23682 0 obj -<>/P 11359 0 R/Type/Annot/A 24110 0 R/Subtype/Link/Rect[185 189 201 199]/Border[0 0 0]/H/N>> -endobj - -23683 0 obj -<>/P 11359 0 R/Type/Annot/A 24105 0 R/Subtype/Link/Rect[202 189 216 198]/Border[0 0 0]/H/N>> -endobj - -23684 0 obj -<>/P 11359 0 R/Type/Annot/A 43068 0 R/Subtype/Link/Rect[218 189 235 199]/Border[0 0 0]/H/N>> -endobj - -23685 0 obj -<>/P 11359 0 R/Type/Annot/A 24096 0 R/Subtype/Link/Rect[235 189 249 198]/Border[0 0 0]/H/N>> -endobj - -23686 0 obj -<>/P 11359 0 R/Type/Annot/A 24092 0 R/Subtype/Link/Rect[251 189 268 199]/Border[0 0 0]/H/N>> -endobj - -23687 0 obj -<>/P 11359 0 R/Type/Annot/A 24087 0 R/Subtype/Link/Rect[269 189 283 198]/Border[0 0 0]/H/N>> -endobj - -23688 0 obj -<>/P 11359 0 R/Type/Annot/A 42917 0 R/Subtype/Link/Rect[285 189 299 198]/Border[0 0 0]/H/N>> -endobj - -23689 0 obj -<>/P 11359 0 R/Type/Annot/A 24081 0 R/Subtype/Link/Rect[151 179 165 188]/Border[0 0 0]/H/N>> -endobj - -23690 0 obj -<>/P 11359 0 R/Type/Annot/A 24075 0 R/Subtype/Link/Rect[167 179 179 188]/Border[0 0 0]/H/N>> -endobj - -23691 0 obj -<>/P 11359 0 R/Type/Annot/A 24070 0 R/Subtype/Link/Rect[190 169 202 178]/Border[0 0 0]/H/N>> -endobj - -23692 0 obj -<>/P 11359 0 R/Type/Annot/A 24064 0 R/Subtype/Link/Rect[190 159 202 168]/Border[0 0 0]/H/N>> -endobj - -23693 0 obj -<>/P 11359 0 R/Type/Annot/A 42735 0 R/Subtype/Link/Rect[203 149 215 158]/Border[0 0 0]/H/N>> -endobj - -23694 0 obj -<>/P 11359 0 R/Type/Annot/A 42688 0 R/Subtype/Link/Rect[415 669 427 678]/Border[0 0 0]/H/N>> -endobj - -23695 0 obj -<>/P 11359 0 R/Type/Annot/A 24050 0 R/Subtype/Link/Rect[415 659 427 668]/Border[0 0 0]/H/N>> -endobj - -23696 0 obj -<>/P 11359 0 R/Type/Annot/A 24045 0 R/Subtype/Link/Rect[405 649 419 658]/Border[0 0 0]/H/N>> -endobj - -23697 0 obj -<>/P 11359 0 R/Type/Annot/A 24039 0 R/Subtype/Link/Rect[421 649 435 658]/Border[0 0 0]/H/N>> -endobj - -23698 0 obj -<>/P 11359 0 R/Type/Annot/A 42550 0 R/Subtype/Link/Rect[437 649 451 658]/Border[0 0 0]/H/N>> -endobj - -23699 0 obj -<>/P 11359 0 R/Type/Annot/A 24026 0 R/Subtype/Link/Rect[453 649 470 659]/Border[0 0 0]/H/N>> -endobj - -23700 0 obj -<>/P 11359 0 R/Type/Annot/A 24021 0 R/Subtype/Link/Rect[471 649 483 658]/Border[0 0 0]/H/N>> -endobj - -23701 0 obj -<>/P 11359 0 R/Type/Annot/A 24016 0 R/Subtype/Link/Rect[398 639 410 648]/Border[0 0 0]/H/N>> -endobj - -23702 0 obj -<>/P 11359 0 R/Type/Annot/A 24010 0 R/Subtype/Link/Rect[392 629 404 638]/Border[0 0 0]/H/N>> -endobj - -23703 0 obj -<>/P 11359 0 R/Type/Annot/A 24004 0 R/Subtype/Link/Rect[397 619 409 628]/Border[0 0 0]/H/N>> -endobj - -23704 0 obj -<>/P 11359 0 R/Type/Annot/A 23998 0 R/Subtype/Link/Rect[420 609 430 618]/Border[0 0 0]/H/N>> -endobj - -23705 0 obj -<>/P 11359 0 R/Type/Annot/A 23993 0 R/Subtype/Link/Rect[432 609 442 618]/Border[0 0 0]/H/N>> -endobj - -23706 0 obj -<>/P 11359 0 R/Type/Annot/A 23987 0 R/Subtype/Link/Rect[444 609 452 618]/Border[0 0 0]/H/N>> -endobj - -23707 0 obj -<>/P 11359 0 R/Type/Annot/A 23983 0 R/Subtype/Link/Rect[414 599 424 608]/Border[0 0 0]/H/N>> -endobj - -23708 0 obj -<>/P 11359 0 R/Type/Annot/A 42143 0 R/Subtype/Link/Rect[426 599 436 608]/Border[0 0 0]/H/N>> -endobj - -23709 0 obj -<>/P 11359 0 R/Type/Annot/A 23975 0 R/Subtype/Link/Rect[438 599 446 608]/Border[0 0 0]/H/N>> -endobj - -23710 0 obj -<>/P 11359 0 R/Type/Annot/A 23971 0 R/Subtype/Link/Rect[362 589 376 598]/Border[0 0 0]/H/N>> -endobj - -23711 0 obj -<>/P 11359 0 R/Type/Annot/A 23966 0 R/Subtype/Link/Rect[378 589 390 598]/Border[0 0 0]/H/N>> -endobj - -23712 0 obj -<>/P 11359 0 R/Type/Annot/A 41975 0 R/Subtype/Link/Rect[420 579 432 588]/Border[0 0 0]/H/N>> -endobj - -23713 0 obj -<>/P 11359 0 R/Type/Annot/A 23959 0 R/Subtype/Link/Rect[420 569 432 578]/Border[0 0 0]/H/N>> -endobj - -23714 0 obj -<>/P 11359 0 R/Type/Annot/A 41904 0 R/Subtype/Link/Rect[394 559 400 568]/Border[0 0 0]/H/N>> -endobj - -23715 0 obj -<>/P 11359 0 R/Type/Annot/A 41862 0 R/Subtype/Link/Rect[402 559 416 568]/Border[0 0 0]/H/N>> -endobj - -23716 0 obj -<>/P 11359 0 R/Type/Annot/A 23950 0 R/Subtype/Link/Rect[418 559 430 568]/Border[0 0 0]/H/N>> -endobj - -23717 0 obj -<>/P 11359 0 R/Type/Annot/A 23946 0 R/Subtype/Link/Rect[426 549 442 559]/Border[0 0 0]/H/N>> -endobj - -23718 0 obj -<>/P 11359 0 R/Type/Annot/A 23943 0 R/Subtype/Link/Rect[443 549 455 558]/Border[0 0 0]/H/N>> -endobj - -23719 0 obj -<>/P 11359 0 R/Type/Annot/A 23939 0 R/Subtype/Link/Rect[396 539 402 548]/Border[0 0 0]/H/N>> -endobj - -23720 0 obj -<>/P 11359 0 R/Type/Annot/A 23935 0 R/Subtype/Link/Rect[404 539 416 548]/Border[0 0 0]/H/N>> -endobj - -23721 0 obj -<>/P 11359 0 R/Type/Annot/A 23932 0 R/Subtype/Link/Rect[396 519 412 529]/Border[0 0 0]/H/N>> -endobj - -23722 0 obj -<>/P 11359 0 R/Type/Annot/A 23928 0 R/Subtype/Link/Rect[413 519 425 528]/Border[0 0 0]/H/N>> -endobj - -23723 0 obj -<>/P 11359 0 R/Type/Annot/A 23923 0 R/Subtype/Link/Rect[387 509 404 519]/Border[0 0 0]/H/N>> -endobj - -23724 0 obj -<>/P 11359 0 R/Type/Annot/A 23919 0 R/Subtype/Link/Rect[405 509 419 518]/Border[0 0 0]/H/N>> -endobj - -23725 0 obj -<>/P 11359 0 R/Type/Annot/A 41425 0 R/Subtype/Link/Rect[421 509 435 518]/Border[0 0 0]/H/N>> -endobj - -23726 0 obj -<>/P 11359 0 R/Type/Annot/A 23910 0 R/Subtype/Link/Rect[437 509 451 518]/Border[0 0 0]/H/N>> -endobj - -23727 0 obj -<>/P 11359 0 R/Type/Annot/A 23906 0 R/Subtype/Link/Rect[453 509 467 518]/Border[0 0 0]/H/N>> -endobj - -23728 0 obj -<>/P 11359 0 R/Type/Annot/A 23902 0 R/Subtype/Link/Rect[469 509 483 518]/Border[0 0 0]/H/N>> -endobj - -23729 0 obj -<>/P 11359 0 R/Type/Annot/A 23898 0 R/Subtype/Link/Rect[485 509 499 518]/Border[0 0 0]/H/N>> -endobj - -23730 0 obj -<>/P 11359 0 R/Type/Annot/A 23895 0 R/Subtype/Link/Rect[501 509 515 518]/Border[0 0 0]/H/N>> -endobj - -23731 0 obj -<>/P 11359 0 R/Type/Annot/A 24057 0 R/Subtype/Link/Rect[359 499 371 508]/Border[0 0 0]/H/N>> -endobj - -23732 0 obj -<>/P 11359 0 R/Type/Annot/A 23891 0 R/Subtype/Link/Rect[387 489 404 499]/Border[0 0 0]/H/N>> -endobj - -23733 0 obj -<>/P 11359 0 R/Type/Annot/A 23888 0 R/Subtype/Link/Rect[404 489 416 498]/Border[0 0 0]/H/N>> -endobj - -23734 0 obj -<>/P 11359 0 R/Type/Annot/A 24038 0 R/Subtype/Link/Rect[411 479 428 489]/Border[0 0 0]/H/N>> -endobj - -23735 0 obj -<>/P 11359 0 R/Type/Annot/A 41074 0 R/Subtype/Link/Rect[428 479 440 488]/Border[0 0 0]/H/N>> -endobj - -23736 0 obj -<>/P 11359 0 R/Type/Annot/A 44743 0 R/Subtype/Link/Rect[377 469 387 478]/Border[0 0 0]/H/N>> -endobj - -23737 0 obj -<>/P 11359 0 R/Type/Annot/A 24020 0 R/Subtype/Link/Rect[389 469 406 479]/Border[0 0 0]/H/N>> -endobj - -23738 0 obj -<>/P 11359 0 R/Type/Annot/A 24013 0 R/Subtype/Link/Rect[407 469 419 478]/Border[0 0 0]/H/N>> -endobj - -23739 0 obj -<>/P 11359 0 R/Type/Annot/A 40129 0 R/Subtype/Link/Rect[382 459 398 469]/Border[0 0 0]/H/N>> -endobj - -23740 0 obj -<>/P 11359 0 R/Type/Annot/A 40096 0 R/Subtype/Link/Rect[399 459 411 468]/Border[0 0 0]/H/N>> -endobj - -23741 0 obj -<>/P 11359 0 R/Type/Annot/A 23994 0 R/Subtype/Link/Rect[462 449 474 458]/Border[0 0 0]/H/N>> -endobj - -23742 0 obj -<>/P 11359 0 R/Type/Annot/A 23988 0 R/Subtype/Link/Rect[401 439 407 448]/Border[0 0 0]/H/N>> -endobj - -23743 0 obj -<>/P 11359 0 R/Type/Annot/A 38985 0 R/Subtype/Link/Rect[409 439 423 448]/Border[0 0 0]/H/N>> -endobj - -23744 0 obj -<>/P 11359 0 R/Type/Annot/A 23978 0 R/Subtype/Link/Rect[425 439 437 448]/Border[0 0 0]/H/N>> -endobj - -23745 0 obj -<>/P 11359 0 R/Type/Annot/A 38412 0 R/Subtype/Link/Rect[378 429 391 439]/Border[0 0 0]/H/N>> -endobj - -23746 0 obj -<>/P 11359 0 R/Type/Annot/A 23970 0 R/Subtype/Link/Rect[392 429 400 438]/Border[0 0 0]/H/N>> -endobj - -23747 0 obj -<>/P 11359 0 R/Type/Annot/A 24223 0 R/Subtype/Link/Rect[393 419 406 429]/Border[0 0 0]/H/N>> -endobj - -23748 0 obj -<>/P 11359 0 R/Type/Annot/A 24217 0 R/Subtype/Link/Rect[406 419 414 428]/Border[0 0 0]/H/N>> -endobj - -23749 0 obj -<>/P 11359 0 R/Type/Annot/A 24213 0 R/Subtype/Link/Rect[434 409 448 418]/Border[0 0 0]/H/N>> -endobj - -23750 0 obj -<>/P 11359 0 R/Type/Annot/A 24208 0 R/Subtype/Link/Rect[450 409 467 419]/Border[0 0 0]/H/N>> -endobj - -23751 0 obj -<>/P 11359 0 R/Type/Annot/A 24204 0 R/Subtype/Link/Rect[467 409 481 418]/Border[0 0 0]/H/N>> -endobj - -23752 0 obj -<>/P 11359 0 R/Type/Annot/A 38210 0 R/Subtype/Link/Rect[483 409 497 418]/Border[0 0 0]/H/N>> -endobj - -23753 0 obj -<>/P 11359 0 R/Type/Annot/A 24198 0 R/Subtype/Link/Rect[499 409 513 418]/Border[0 0 0]/H/N>> -endobj - -23754 0 obj -<>/P 11359 0 R/Type/Annot/A 24194 0 R/Subtype/Link/Rect[359 399 371 408]/Border[0 0 0]/H/N>> -endobj - -23755 0 obj -<>/P 11359 0 R/Type/Annot/A 24190 0 R/Subtype/Link/Rect[396 389 402 398]/Border[0 0 0]/H/N>> -endobj - -23756 0 obj -<>/P 11359 0 R/Type/Annot/A 38156 0 R/Subtype/Link/Rect[404 389 410 398]/Border[0 0 0]/H/N>> -endobj - -23757 0 obj -<>/P 11359 0 R/Type/Annot/A 23926 0 R/Subtype/Link/Rect[412 389 422 398]/Border[0 0 0]/H/N>> -endobj - -23758 0 obj -<>/P 11359 0 R/Type/Annot/A 24179 0 R/Subtype/Link/Rect[424 389 436 399]/Border[0 0 0]/H/N>> -endobj - -23759 0 obj -<>/P 11359 0 R/Type/Annot/A 23917 0 R/Subtype/Link/Rect[437 389 447 398]/Border[0 0 0]/H/N>> -endobj - -23760 0 obj -<>/P 11359 0 R/Type/Annot/A 24170 0 R/Subtype/Link/Rect[449 389 459 398]/Border[0 0 0]/H/N>> -endobj - -23761 0 obj -<>/P 11359 0 R/Type/Annot/A 24167 0 R/Subtype/Link/Rect[461 389 471 398]/Border[0 0 0]/H/N>> -endobj - -23762 0 obj -<>/P 11359 0 R/Type/Annot/A 24163 0 R/Subtype/Link/Rect[473 389 487 398]/Border[0 0 0]/H/N>> -endobj - -23763 0 obj -<>/P 11359 0 R/Type/Annot/A 24159 0 R/Subtype/Link/Rect[359 379 376 389]/Border[0 0 0]/H/N>> -endobj - -23764 0 obj -<>/P 11359 0 R/Type/Annot/A 38031 0 R/Subtype/Link/Rect[377 379 391 388]/Border[0 0 0]/H/N>> -endobj - -23765 0 obj -<>/P 11359 0 R/Type/Annot/A 24153 0 R/Subtype/Link/Rect[393 379 407 388]/Border[0 0 0]/H/N>> -endobj - -23766 0 obj -<>/P 11359 0 R/Type/Annot/A 24148 0 R/Subtype/Link/Rect[409 379 425 389]/Border[0 0 0]/H/N>> -endobj - -23767 0 obj -<>/P 11359 0 R/Type/Annot/A 24144 0 R/Subtype/Link/Rect[426 379 440 388]/Border[0 0 0]/H/N>> -endobj - -23768 0 obj -<>/P 11359 0 R/Type/Annot/A 31799 0 R/Subtype/Link/Rect[442 379 456 388]/Border[0 0 0]/H/N>> -endobj - -23769 0 obj -<>/P 11359 0 R/Type/Annot/A 24136 0 R/Subtype/Link/Rect[458 379 472 388]/Border[0 0 0]/H/N>> -endobj - -23770 0 obj -<>/P 11359 0 R/Type/Annot/A 31060 0 R/Subtype/Link/Rect[474 379 491 389]/Border[0 0 0]/H/N>> -endobj - -23771 0 obj -<>/P 11359 0 R/Type/Annot/A 24127 0 R/Subtype/Link/Rect[491 379 505 388]/Border[0 0 0]/H/N>> -endobj - -23772 0 obj -<>/P 11359 0 R/Type/Annot/A 30288 0 R/Subtype/Link/Rect[359 369 373 378]/Border[0 0 0]/H/N>> -endobj - -23773 0 obj -<>/P 11359 0 R/Type/Annot/A 30260 0 R/Subtype/Link/Rect[375 369 389 378]/Border[0 0 0]/H/N>> -endobj - -23774 0 obj -<>/P 11359 0 R/Type/Annot/A 30225 0 R/Subtype/Link/Rect[391 369 405 378]/Border[0 0 0]/H/N>> -endobj - -23775 0 obj -<>/P 11359 0 R/Type/Annot/A 37904 0 R/Subtype/Link/Rect[407 369 421 378]/Border[0 0 0]/H/N>> -endobj - -23776 0 obj -<>/P 11359 0 R/Type/Annot/A 30129 0 R/Subtype/Link/Rect[423 369 437 378]/Border[0 0 0]/H/N>> -endobj - -23777 0 obj -<>/P 11359 0 R/Type/Annot/A 30082 0 R/Subtype/Link/Rect[439 369 453 378]/Border[0 0 0]/H/N>> -endobj - -23778 0 obj -<>/P 11359 0 R/Type/Annot/A 24097 0 R/Subtype/Link/Rect[455 369 472 379]/Border[0 0 0]/H/N>> -endobj - -23779 0 obj -<>/P 11359 0 R/Type/Annot/A 29293 0 R/Subtype/Link/Rect[473 369 487 378]/Border[0 0 0]/H/N>> -endobj - -23780 0 obj -<>/P 11359 0 R/Type/Annot/A 24089 0 R/Subtype/Link/Rect[489 369 503 378]/Border[0 0 0]/H/N>> -endobj - -23781 0 obj -<>/P 11359 0 R/Type/Annot/A 37866 0 R/Subtype/Link/Rect[505 369 519 378]/Border[0 0 0]/H/N>> -endobj - -23782 0 obj -<>/P 11359 0 R/Type/Annot/A 29165 0 R/Subtype/Link/Rect[359 359 373 368]/Border[0 0 0]/H/N>> -endobj - -23783 0 obj -<>/P 11359 0 R/Type/Annot/A 24078 0 R/Subtype/Link/Rect[375 359 389 368]/Border[0 0 0]/H/N>> -endobj - -23784 0 obj -<>/P 11359 0 R/Type/Annot/A 29092 0 R/Subtype/Link/Rect[391 359 403 368]/Border[0 0 0]/H/N>> -endobj - -23785 0 obj -<>/P 11359 0 R/Type/Annot/A 24067 0 R/Subtype/Link/Rect[398 349 406 358]/Border[0 0 0]/H/N>> -endobj - -23786 0 obj -<>/P 11359 0 R/Type/Annot/A 28529 0 R/Subtype/Link/Rect[398 339 411 349]/Border[0 0 0]/H/N>> -endobj - -23787 0 obj -<>/P 11359 0 R/Type/Annot/A 28508 0 R/Subtype/Link/Rect[411 339 421 348]/Border[0 0 0]/H/N>> -endobj - -23788 0 obj -<>/P 11359 0 R/Type/Annot/A 24052 0 R/Subtype/Link/Rect[423 339 433 348]/Border[0 0 0]/H/N>> -endobj - -23789 0 obj -<>/P 11359 0 R/Type/Annot/A 28424 0 R/Subtype/Link/Rect[435 339 448 348]/Border[0 0 0]/H/N>> -endobj - -23790 0 obj -<>/P 11359 0 R/Type/Annot/A 28396 0 R/Subtype/Link/Rect[450 339 464 348]/Border[0 0 0]/H/N>> -endobj - -23791 0 obj -<>/P 11359 0 R/Type/Annot/A 24032 0 R/Subtype/Link/Rect[466 339 480 348]/Border[0 0 0]/H/N>> -endobj - -23792 0 obj -<>/P 11359 0 R/Type/Annot/A 37769 0 R/Subtype/Link/Rect[482 339 496 348]/Border[0 0 0]/H/N>> -endobj - -23793 0 obj -<>/P 11359 0 R/Type/Annot/A 37765 0 R/Subtype/Link/Rect[498 339 512 348]/Border[0 0 0]/H/N>> -endobj - -23794 0 obj -<>/P 11359 0 R/Type/Annot/A 24015 0 R/Subtype/Link/Rect[359 329 373 338]/Border[0 0 0]/H/N>> -endobj - -23795 0 obj -<>/P 11359 0 R/Type/Annot/A 24009 0 R/Subtype/Link/Rect[375 329 389 338]/Border[0 0 0]/H/N>> -endobj - -23796 0 obj -<>/P 11359 0 R/Type/Annot/A 24003 0 R/Subtype/Link/Rect[391 329 405 338]/Border[0 0 0]/H/N>> -endobj - -23797 0 obj -<>/P 11359 0 R/Type/Annot/A 23997 0 R/Subtype/Link/Rect[407 329 421 338]/Border[0 0 0]/H/N>> -endobj - -23798 0 obj -<>/P 11359 0 R/Type/Annot/A 23992 0 R/Subtype/Link/Rect[423 329 437 338]/Border[0 0 0]/H/N>> -endobj - -23799 0 obj -<>/P 11359 0 R/Type/Annot/A 25918 0 R/Subtype/Link/Rect[439 329 453 338]/Border[0 0 0]/H/N>> -endobj - -23800 0 obj -<>/P 11359 0 R/Type/Annot/A 23982 0 R/Subtype/Link/Rect[455 329 469 338]/Border[0 0 0]/H/N>> -endobj - -23801 0 obj -<>/P 11359 0 R/Type/Annot/A 25862 0 R/Subtype/Link/Rect[471 329 485 338]/Border[0 0 0]/H/N>> -endobj - -23802 0 obj -<>/P 11359 0 R/Type/Annot/A 25799 0 R/Subtype/Link/Rect[487 329 501 338]/Border[0 0 0]/H/N>> -endobj - -23803 0 obj -<>/P 11359 0 R/Type/Annot/A 23968 0 R/Subtype/Link/Rect[503 329 517 338]/Border[0 0 0]/H/N>> -endobj - -23804 0 obj -<>/P 11359 0 R/Type/Annot/A 24115 0 R/Subtype/Link/Rect[359 319 376 329]/Border[0 0 0]/H/N>> -endobj - -23805 0 obj -<>/P 11359 0 R/Type/Annot/A 23960 0 R/Subtype/Link/Rect[377 319 391 328]/Border[0 0 0]/H/N>> -endobj - -23806 0 obj -<>/P 11359 0 R/Type/Annot/A 23956 0 R/Subtype/Link/Rect[393 319 407 328]/Border[0 0 0]/H/N>> -endobj - -23807 0 obj -<>/P 11359 0 R/Type/Annot/A 24228 0 R/Subtype/Link/Rect[409 319 423 328]/Border[0 0 0]/H/N>> -endobj - -23808 0 obj -<>/P 11359 0 R/Type/Annot/A 24219 0 R/Subtype/Link/Rect[425 319 437 328]/Border[0 0 0]/H/N>> -endobj - -23809 0 obj -<>/P 11359 0 R/Type/Annot/A 24215 0 R/Subtype/Link/Rect[396 309 408 318]/Border[0 0 0]/H/N>> -endobj - -23810 0 obj -<>/P 11359 0 R/Type/Annot/A 24210 0 R/Subtype/Link/Rect[439 299 453 308]/Border[0 0 0]/H/N>> -endobj - -23811 0 obj -<>/P 11359 0 R/Type/Annot/A 24206 0 R/Subtype/Link/Rect[455 299 469 308]/Border[0 0 0]/H/N>> -endobj - -23812 0 obj -<>/P 11359 0 R/Type/Annot/A 24203 0 R/Subtype/Link/Rect[471 299 485 308]/Border[0 0 0]/H/N>> -endobj - -23813 0 obj -<>/P 11359 0 R/Type/Annot/A 24200 0 R/Subtype/Link/Rect[487 299 501 308]/Border[0 0 0]/H/N>> -endobj - -23814 0 obj -<>/P 11359 0 R/Type/Annot/A 24197 0 R/Subtype/Link/Rect[503 299 515 308]/Border[0 0 0]/H/N>> -endobj - -23815 0 obj -<>/P 11359 0 R/Type/Annot/A 24193 0 R/Subtype/Link/Rect[419 289 429 298]/Border[0 0 0]/H/N>> -endobj - -23816 0 obj -<>/P 11359 0 R/Type/Annot/A 23921 0 R/Subtype/Link/Rect[431 289 447 299]/Border[0 0 0]/H/N>> -endobj - -23817 0 obj -<>/P 11359 0 R/Type/Annot/A 24188 0 R/Subtype/Link/Rect[448 289 462 298]/Border[0 0 0]/H/N>> -endobj - -23818 0 obj -<>/P 11359 0 R/Type/Annot/A 24184 0 R/Subtype/Link/Rect[464 289 478 298]/Border[0 0 0]/H/N>> -endobj - -23819 0 obj -<>/P 11359 0 R/Type/Annot/A 24181 0 R/Subtype/Link/Rect[480 289 492 298]/Border[0 0 0]/H/N>> -endobj - -23820 0 obj -<>/P 11359 0 R/Type/Annot/A 24176 0 R/Subtype/Link/Rect[423 279 431 288]/Border[0 0 0]/H/N>> -endobj - -23821 0 obj -<>/P 11359 0 R/Type/Annot/A 24173 0 R/Subtype/Link/Rect[392 269 411 281]/Border[0 0 0]/H/N>> -endobj - -23822 0 obj -<>/P 11359 0 R/Type/Annot/A 24169 0 R/Subtype/Link/Rect[456 269 464 278]/Border[0 0 0]/H/N>> -endobj - -23823 0 obj -<>/P 11359 0 R/Type/Annot/A 24166 0 R/Subtype/Link/Rect[419 259 429 268]/Border[0 0 0]/H/N>> -endobj - -23824 0 obj -<>/P 11359 0 R/Type/Annot/A 24162 0 R/Subtype/Link/Rect[431 259 443 268]/Border[0 0 0]/H/N>> -endobj - -23825 0 obj -<>/P 11359 0 R/Type/Annot/A 24158 0 R/Subtype/Link/Rect[404 249 418 258]/Border[0 0 0]/H/N>> -endobj - -23826 0 obj -<>/P 11359 0 R/Type/Annot/A 24156 0 R/Subtype/Link/Rect[420 249 434 258]/Border[0 0 0]/H/N>> -endobj - -23827 0 obj -<>/P 11359 0 R/Type/Annot/A 24151 0 R/Subtype/Link/Rect[436 249 450 258]/Border[0 0 0]/H/N>> -endobj - -23828 0 obj -<>/P 11359 0 R/Type/Annot/A 24147 0 R/Subtype/Link/Rect[452 249 464 258]/Border[0 0 0]/H/N>> -endobj - -23829 0 obj -<>/P 11359 0 R/Type/Annot/A 24142 0 R/Subtype/Link/Rect[439 239 449 248]/Border[0 0 0]/H/N>> -endobj - -23830 0 obj -<>/P 11359 0 R/Type/Annot/A 24139 0 R/Subtype/Link/Rect[451 239 465 248]/Border[0 0 0]/H/N>> -endobj - -23831 0 obj -<>/P 11359 0 R/Type/Annot/A 24135 0 R/Subtype/Link/Rect[467 239 484 249]/Border[0 0 0]/H/N>> -endobj - -23832 0 obj -<>/P 11359 0 R/Type/Annot/A 24131 0 R/Subtype/Link/Rect[484 239 498 248]/Border[0 0 0]/H/N>> -endobj - -23833 0 obj -<>/P 11359 0 R/Type/Annot/A 24128 0 R/Subtype/Link/Rect[500 239 514 248]/Border[0 0 0]/H/N>> -endobj - -23834 0 obj -<>/P 11359 0 R/Type/Annot/A 24124 0 R/Subtype/Link/Rect[359 229 373 238]/Border[0 0 0]/H/N>> -endobj - -23835 0 obj -<>/P 11359 0 R/Type/Annot/A 24121 0 R/Subtype/Link/Rect[375 229 389 238]/Border[0 0 0]/H/N>> -endobj - -23836 0 obj -<>/P 11359 0 R/Type/Annot/A 24118 0 R/Subtype/Link/Rect[391 229 403 238]/Border[0 0 0]/H/N>> -endobj - -23837 0 obj -<>/P 11359 0 R/Type/Annot/A 24113 0 R/Subtype/Link/Rect[400 219 410 228]/Border[0 0 0]/H/N>> -endobj - -23838 0 obj -<>/P 11359 0 R/Type/Annot/A 24109 0 R/Subtype/Link/Rect[412 219 425 228]/Border[0 0 0]/H/N>> -endobj - -23839 0 obj -<>/P 11359 0 R/Type/Annot/A 24104 0 R/Subtype/Link/Rect[427 219 441 228]/Border[0 0 0]/H/N>> -endobj - -23840 0 obj -<>/P 11359 0 R/Type/Annot/A 24099 0 R/Subtype/Link/Rect[443 219 457 228]/Border[0 0 0]/H/N>> -endobj - -23841 0 obj -<>/P 11359 0 R/Type/Annot/A 24095 0 R/Subtype/Link/Rect[459 219 473 228]/Border[0 0 0]/H/N>> -endobj - -23842 0 obj -<>/P 11359 0 R/Type/Annot/A 24091 0 R/Subtype/Link/Rect[475 219 492 229]/Border[0 0 0]/H/N>> -endobj - -23843 0 obj -<>/P 11359 0 R/Type/Annot/A 24086 0 R/Subtype/Link/Rect[493 219 507 228]/Border[0 0 0]/H/N>> -endobj - -23844 0 obj -<>/P 11359 0 R/Type/Annot/A 24083 0 R/Subtype/Link/Rect[359 209 371 218]/Border[0 0 0]/H/N>> -endobj - -23845 0 obj -<>/P 11359 0 R/Type/Annot/A 24185 0 R/Subtype/Link/Rect[434 199 440 208]/Border[0 0 0]/H/N>> -endobj - -23846 0 obj -<>/P 11359 0 R/Type/Annot/A 24076 0 R/Subtype/Link/Rect[442 199 452 208]/Border[0 0 0]/H/N>> -endobj - -23847 0 obj -<>/P 11359 0 R/Type/Annot/A 24071 0 R/Subtype/Link/Rect[454 199 464 208]/Border[0 0 0]/H/N>> -endobj - -23848 0 obj -<>/P 11359 0 R/Type/Annot/A 24066 0 R/Subtype/Link/Rect[466 199 476 208]/Border[0 0 0]/H/N>> -endobj - -23849 0 obj -<>/P 11359 0 R/Type/Annot/A 24061 0 R/Subtype/Link/Rect[478 199 492 208]/Border[0 0 0]/H/N>> -endobj - -23850 0 obj -<>/P 11359 0 R/Type/Annot/A 24056 0 R/Subtype/Link/Rect[494 199 508 208]/Border[0 0 0]/H/N>> -endobj - -23851 0 obj -<>/P 11359 0 R/Type/Annot/A 24053 0 R/Subtype/Link/Rect[359 189 373 198]/Border[0 0 0]/H/N>> -endobj - -23852 0 obj -<>/P 11359 0 R/Type/Annot/A 24047 0 R/Subtype/Link/Rect[375 189 389 198]/Border[0 0 0]/H/N>> -endobj - -23853 0 obj -<>/P 11359 0 R/Type/Annot/A 24041 0 R/Subtype/Link/Rect[391 189 405 198]/Border[0 0 0]/H/N>> -endobj - -23854 0 obj -<>/P 11359 0 R/Type/Annot/A 24034 0 R/Subtype/Link/Rect[407 189 421 198]/Border[0 0 0]/H/N>> -endobj - -23855 0 obj -<>/P 11359 0 R/Type/Annot/A 24028 0 R/Subtype/Link/Rect[423 189 440 199]/Border[0 0 0]/H/N>> -endobj - -23856 0 obj -<>/P 11359 0 R/Type/Annot/A 24023 0 R/Subtype/Link/Rect[441 189 455 198]/Border[0 0 0]/H/N>> -endobj - -23857 0 obj -<>/P 11359 0 R/Type/Annot/A 24019 0 R/Subtype/Link/Rect[457 189 471 198]/Border[0 0 0]/H/N>> -endobj - -23858 0 obj -<>/P 11359 0 R/Type/Annot/A 24012 0 R/Subtype/Link/Rect[473 189 489 199]/Border[0 0 0]/H/N>> -endobj - -23859 0 obj -<>/P 11359 0 R/Type/Annot/A 24007 0 R/Subtype/Link/Rect[490 189 504 198]/Border[0 0 0]/H/N>> -endobj - -23860 0 obj -<>/P 11359 0 R/Type/Annot/A 24001 0 R/Subtype/Link/Rect[359 179 373 188]/Border[0 0 0]/H/N>> -endobj - -23861 0 obj -<>/P 11359 0 R/Type/Annot/A 23996 0 R/Subtype/Link/Rect[375 179 389 188]/Border[0 0 0]/H/N>> -endobj - -23862 0 obj -<>/P 11359 0 R/Type/Annot/A 23990 0 R/Subtype/Link/Rect[391 179 405 188]/Border[0 0 0]/H/N>> -endobj - -23863 0 obj -<>/P 11359 0 R/Type/Annot/A 23985 0 R/Subtype/Link/Rect[407 179 421 188]/Border[0 0 0]/H/N>> -endobj - -23864 0 obj -<>/P 11359 0 R/Type/Annot/A 23980 0 R/Subtype/Link/Rect[423 179 437 188]/Border[0 0 0]/H/N>> -endobj - -23865 0 obj -<>/P 11359 0 R/Type/Annot/A 24102 0 R/Subtype/Link/Rect[439 179 455 189]/Border[0 0 0]/H/N>> -endobj - -23866 0 obj -<>/P 11359 0 R/Type/Annot/A 23974 0 R/Subtype/Link/Rect[456 179 470 188]/Border[0 0 0]/H/N>> -endobj - -23867 0 obj -<>/P 11359 0 R/Type/Annot/A 23969 0 R/Subtype/Link/Rect[472 179 489 189]/Border[0 0 0]/H/N>> -endobj - -23868 0 obj -<>/P 11359 0 R/Type/Annot/A 23965 0 R/Subtype/Link/Rect[489 179 501 188]/Border[0 0 0]/H/N>> -endobj - -23869 0 obj -<>/P 11359 0 R/Type/Annot/A 23962 0 R/Subtype/Link/Rect[419 169 429 178]/Border[0 0 0]/H/N>> -endobj - -23870 0 obj -<>/P 11359 0 R/Type/Annot/A 23958 0 R/Subtype/Link/Rect[431 169 443 178]/Border[0 0 0]/H/N>> -endobj - -23871 0 obj -<>/P 11359 0 R/Type/Annot/A 23955 0 R/Subtype/Link/Rect[414 159 424 168]/Border[0 0 0]/H/N>> -endobj - -23872 0 obj -<>/P 11359 0 R/Type/Annot/A 23952 0 R/Subtype/Link/Rect[426 159 436 168]/Border[0 0 0]/H/N>> -endobj - -23873 0 obj -<>/P 11359 0 R/Type/Annot/A 23949 0 R/Subtype/Link/Rect[438 159 448 168]/Border[0 0 0]/H/N>> -endobj - -23874 0 obj -<>/P 11359 0 R/Type/Annot/A 23945 0 R/Subtype/Link/Rect[450 159 460 168]/Border[0 0 0]/H/N>> -endobj - -23875 0 obj -<>/P 11359 0 R/Type/Annot/A 23942 0 R/Subtype/Link/Rect[462 159 476 168]/Border[0 0 0]/H/N>> -endobj - -23876 0 obj -<>/P 11359 0 R/Type/Annot/A 23938 0 R/Subtype/Link/Rect[478 159 492 168]/Border[0 0 0]/H/N>> -endobj - -23877 0 obj -<>/P 11359 0 R/Type/Annot/A 23934 0 R/Subtype/Link/Rect[494 159 508 168]/Border[0 0 0]/H/N>> -endobj - -23878 0 obj -<>/P 11359 0 R/Type/Annot/A 24037 0 R/Subtype/Link/Rect[359 149 373 158]/Border[0 0 0]/H/N>> -endobj - -23879 0 obj -<>/P 11359 0 R/Type/Annot/A 23929 0 R/Subtype/Link/Rect[375 149 389 158]/Border[0 0 0]/H/N>> -endobj - -23880 0 obj -<>/P 11359 0 R/Type/Annot/A 23924 0 R/Subtype/Link/Rect[391 149 405 158]/Border[0 0 0]/H/N>> -endobj - -23881 0 obj -<>/P 11359 0 R/Type/Annot/A 23920 0 R/Subtype/Link/Rect[407 149 421 158]/Border[0 0 0]/H/N>> -endobj - -23882 0 obj -<>/P 11359 0 R/Type/Annot/A 23915 0 R/Subtype/Link/Rect[423 149 435 158]/Border[0 0 0]/H/N>> -endobj - -23883 0 obj -<>/P 11359 0 R/Type/Annot/A 23912 0 R/Subtype/Link/Rect[159 488 170 497]/Border[0 0 0]/H/N>> -endobj - -23884 0 obj -<>/P 11359 0 R/Type/Annot/A 23908 0 R/Subtype/Link/Rect[174 488 189 497]/Border[0 0 0]/H/N>> -endobj - -23885 0 obj -<>/P 11359 0 R/Type/Annot/A 23904 0 R/Subtype/Link/Rect[191 488 205 497]/Border[0 0 0]/H/N>> -endobj - -23886 0 obj -<>/P 11359 0 R/Type/Annot/A 23900 0 R/Subtype/Link/Rect[207 488 226 497]/Border[0 0 0]/H/N>> -endobj - -23887 0 obj -<>/P 11359 0 R/Type/Annot/A 23897 0 R/Subtype/Link/Rect[220 278 232 287]/Border[0 0 0]/H/N>> -endobj - -23888 0 obj -<> -endobj - -23889 0 obj -<> -endobj - -23890 0 obj -<> -endobj - -23891 0 obj -<> -endobj - -23892 0 obj -<> -endobj - -23893 0 obj -<> -endobj - -23894 0 obj -<> -endobj - -23895 0 obj -<> -endobj - -23896 0 obj -<> -endobj - -23897 0 obj -<> -endobj - -23898 0 obj -<> -endobj - -23899 0 obj -<> -endobj - -23900 0 obj -<> -endobj - -23901 0 obj -<> -endobj - -23902 0 obj -<> -endobj - -23903 0 obj -<> -endobj - -23904 0 obj -<> -endobj - -23905 0 obj -<> -endobj - -23906 0 obj -<> -endobj - -23907 0 obj -<> -endobj - -23908 0 obj -<> -endobj - -23909 0 obj -<> -endobj - -23910 0 obj -<> -endobj - -23911 0 obj -<> -endobj - -23912 0 obj -<> -endobj - -23913 0 obj -<> -endobj - -23914 0 obj -<> -endobj - -23915 0 obj -<> -endobj - -23916 0 obj -<> -endobj - -23917 0 obj -<> -endobj - -23918 0 obj -<> -endobj - -23919 0 obj -<> -endobj - -23920 0 obj -<> -endobj - -23921 0 obj -<> -endobj - -23922 0 obj -<> -endobj - -23923 0 obj -<> -endobj - -23924 0 obj -<> -endobj - -23925 0 obj -<> -endobj - -23926 0 obj -<> -endobj - -23927 0 obj -<> -endobj - -23928 0 obj -<> -endobj - -23929 0 obj -<> -endobj - -23930 0 obj -<> -endobj - -23931 0 obj -<> -endobj - -23932 0 obj -<> -endobj - -23933 0 obj -<> -endobj - -23934 0 obj -<> -endobj - -23935 0 obj -<> -endobj - -23936 0 obj -<> -endobj - -23937 0 obj -<> -endobj - -23938 0 obj -<> -endobj - -23939 0 obj -<> -endobj - -23940 0 obj -<> -endobj - -23941 0 obj -<> -endobj - -23942 0 obj -<> -endobj - -23943 0 obj -<> -endobj - -23944 0 obj -<> -endobj - -23945 0 obj -<> -endobj - -23946 0 obj -<> -endobj - -23947 0 obj -<> -endobj - -23948 0 obj -<> -endobj - -23949 0 obj -<> -endobj - -23950 0 obj -<> -endobj - -23951 0 obj -<> -endobj - -23952 0 obj -<> -endobj - -23953 0 obj -<> -endobj - -23954 0 obj -<> -endobj - -23955 0 obj -<> -endobj - -23956 0 obj -<> -endobj - -23957 0 obj -<> -endobj - -23958 0 obj -<> -endobj - -23959 0 obj -<> -endobj - -23960 0 obj -<> -endobj - -23961 0 obj -<> -endobj - -23962 0 obj -<> -endobj - -23963 0 obj -<> -endobj - -23964 0 obj -<> -endobj - -23965 0 obj -<> -endobj - -23966 0 obj -<> -endobj - -23967 0 obj -<> -endobj - -23968 0 obj -<> -endobj - -23969 0 obj -<> -endobj - -23970 0 obj -<> -endobj - -23971 0 obj -<> -endobj - -23972 0 obj -<> -endobj - -23973 0 obj -<> -endobj - -23974 0 obj -<> -endobj - -23975 0 obj -<> -endobj - -23976 0 obj -<> -endobj - -23977 0 obj -<> -endobj - -23978 0 obj -<> -endobj - -23979 0 obj -<> -endobj - -23980 0 obj -<> -endobj - -23981 0 obj -<> -endobj - -23982 0 obj -<> -endobj - -23983 0 obj -<> -endobj - -23984 0 obj -<> -endobj - -23985 0 obj -<> -endobj - -23986 0 obj -<> -endobj - -23987 0 obj -<> -endobj - -23988 0 obj -<> -endobj - -23989 0 obj -<> -endobj - -23990 0 obj -<> -endobj - -23991 0 obj -<> -endobj - -23992 0 obj -<> -endobj - -23993 0 obj -<> -endobj - -23994 0 obj -<> -endobj - -23995 0 obj -<> -endobj - -23996 0 obj -<> -endobj - -23997 0 obj -<> -endobj - -23998 0 obj -<> -endobj - -23999 0 obj -<> -endobj - -24000 0 obj -<> -endobj - -24001 0 obj -<> -endobj - -24002 0 obj -<> -endobj - -24003 0 obj -<> -endobj - -24004 0 obj -<> -endobj - -24005 0 obj -<> -endobj - -24006 0 obj -<> -endobj - -24007 0 obj -<> -endobj - -24008 0 obj -<> -endobj - -24009 0 obj -<> -endobj - -24010 0 obj -<> -endobj - -24011 0 obj -<> -endobj - -24012 0 obj -<> -endobj - -24013 0 obj -<> -endobj - -24014 0 obj -<> -endobj - -24015 0 obj -<> -endobj - -24016 0 obj -<> -endobj - -24017 0 obj -<> -endobj - -24018 0 obj -<> -endobj - -24019 0 obj -<> -endobj - -24020 0 obj -<> -endobj - -24021 0 obj -<> -endobj - -24022 0 obj -<> -endobj - -24023 0 obj -<> -endobj - -24024 0 obj -<> -endobj - -24025 0 obj -<> -endobj - -24026 0 obj -<> -endobj - -24027 0 obj -<> -endobj - -24028 0 obj -<> -endobj - -24029 0 obj -<> -endobj - -24030 0 obj -<> -endobj - -24031 0 obj -<> -endobj - -24032 0 obj -<> -endobj - -24033 0 obj -<> -endobj - -24034 0 obj -<> -endobj - -24035 0 obj -<> -endobj - -24036 0 obj -<> -endobj - -24037 0 obj -<> -endobj - -24038 0 obj -<> -endobj - -24039 0 obj -<> -endobj - -24040 0 obj -<> -endobj - -24041 0 obj -<> -endobj - -24042 0 obj -<> -endobj - -24043 0 obj -<> -endobj - -24044 0 obj -<> -endobj - -24045 0 obj -<> -endobj - -24046 0 obj -<> -endobj - -24047 0 obj -<> -endobj - -24048 0 obj -<> -endobj - -24049 0 obj -<> -endobj - -24050 0 obj -<> -endobj - -24051 0 obj -<> -endobj - -24052 0 obj -<> -endobj - -24053 0 obj -<> -endobj - -24054 0 obj -<> -endobj - -24055 0 obj -<> -endobj - -24056 0 obj -<> -endobj - -24057 0 obj -<> -endobj - -24058 0 obj -<> -endobj - -24059 0 obj -<> -endobj - -24060 0 obj -<> -endobj - -24061 0 obj -<> -endobj - -24062 0 obj -<> -endobj - -24063 0 obj -<> -endobj - -24064 0 obj -<> -endobj - -24065 0 obj -<> -endobj - -24066 0 obj -<> -endobj - -24067 0 obj -<> -endobj - -24068 0 obj -<> -endobj - -24069 0 obj -<> -endobj - -24070 0 obj -<> -endobj - -24071 0 obj -<> -endobj - -24072 0 obj -<> -endobj - -24073 0 obj -<> -endobj - -24074 0 obj -<> -endobj - -24075 0 obj -<> -endobj - -24076 0 obj -<> -endobj - -24077 0 obj -<> -endobj - -24078 0 obj -<> -endobj - -24079 0 obj -<> -endobj - -24080 0 obj -<> -endobj - -24081 0 obj -<> -endobj - -24082 0 obj -<> -endobj - -24083 0 obj -<> -endobj - -24084 0 obj -<> -endobj - -24085 0 obj -<> -endobj - -24086 0 obj -<> -endobj - -24087 0 obj -<> -endobj - -24088 0 obj -<> -endobj - -24089 0 obj -<> -endobj - -24090 0 obj -<> -endobj - -24091 0 obj -<> -endobj - -24092 0 obj -<> -endobj - -24093 0 obj -<> -endobj - -24094 0 obj -<> -endobj - -24095 0 obj -<> -endobj - -24096 0 obj -<> -endobj - -24097 0 obj -<> -endobj - -24098 0 obj -<> -endobj - -24099 0 obj -<> -endobj - -24100 0 obj -<> -endobj - -24101 0 obj -<> -endobj - -24102 0 obj -<> -endobj - -24103 0 obj -<> -endobj - -24104 0 obj -<> -endobj - -24105 0 obj -<> -endobj - -24106 0 obj -<> -endobj - -24107 0 obj -<> -endobj - -24108 0 obj -<> -endobj - -24109 0 obj -<> -endobj - -24110 0 obj -<> -endobj - -24111 0 obj -<> -endobj - -24112 0 obj -<> -endobj - -24113 0 obj -<> -endobj - -24114 0 obj -<> -endobj - -24115 0 obj -<> -endobj - -24116 0 obj -<> -endobj - -24117 0 obj -<> -endobj - -24118 0 obj -<> -endobj - -24119 0 obj -<> -endobj - -24120 0 obj -<> -endobj - -24121 0 obj -<> -endobj - -24122 0 obj -<> -endobj - -24123 0 obj -<> -endobj - -24124 0 obj -<> -endobj - -24125 0 obj -<> -endobj - -24126 0 obj -<> -endobj - -24127 0 obj -<> -endobj - -24128 0 obj -<> -endobj - -24129 0 obj -<> -endobj - -24130 0 obj -<> -endobj - -24131 0 obj -<> -endobj - -24132 0 obj -<> -endobj - -24133 0 obj -<> -endobj - -24134 0 obj -<> -endobj - -24135 0 obj -<> -endobj - -24136 0 obj -<> -endobj - -24137 0 obj -<> -endobj - -24138 0 obj -<> -endobj - -24139 0 obj -<> -endobj - -24140 0 obj -<> -endobj - -24141 0 obj -<> -endobj - -24142 0 obj -<> -endobj - -24143 0 obj -<> -endobj - -24144 0 obj -<> -endobj - -24145 0 obj -<> -endobj - -24146 0 obj -<> -endobj - -24147 0 obj -<> -endobj - -24148 0 obj -<> -endobj - -24149 0 obj -<> -endobj - -24150 0 obj -<> -endobj - -24151 0 obj -<> -endobj - -24152 0 obj -<> -endobj - -24153 0 obj -<> -endobj - -24154 0 obj -<> -endobj - -24155 0 obj -<> -endobj - -24156 0 obj -<> -endobj - -24157 0 obj -<> -endobj - -24158 0 obj -<> -endobj - -24159 0 obj -<> -endobj - -24160 0 obj -<> -endobj - -24161 0 obj -<> -endobj - -24162 0 obj -<> -endobj - -24163 0 obj -<> -endobj - -24164 0 obj -<> -endobj - -24165 0 obj -<> -endobj - -24166 0 obj -<> -endobj - -24167 0 obj -<> -endobj - -24168 0 obj -<> -endobj - -24169 0 obj -<> -endobj - -24170 0 obj -<> -endobj - -24171 0 obj -<> -endobj - -24172 0 obj -<> -endobj - -24173 0 obj -<> -endobj - -24174 0 obj -<> -endobj - -24175 0 obj -<> -endobj - -24176 0 obj -<> -endobj - -24177 0 obj -<> -endobj - -24178 0 obj -<> -endobj - -24179 0 obj -<> -endobj - -24180 0 obj -<> -endobj - -24181 0 obj -<> -endobj - -24182 0 obj -<> -endobj - -24183 0 obj -<> -endobj - -24184 0 obj -<> -endobj - -24185 0 obj -<> -endobj - -24186 0 obj -<> -endobj - -24187 0 obj -<> -endobj - -24188 0 obj -<> -endobj - -24189 0 obj -<> -endobj - -24190 0 obj -<> -endobj - -24191 0 obj -<> -endobj - -24192 0 obj -<> -endobj - -24193 0 obj -<> -endobj - -24194 0 obj -<> -endobj - -24195 0 obj -<> -endobj - -24196 0 obj -<> -endobj - -24197 0 obj -<> -endobj - -24198 0 obj -<> -endobj - -24199 0 obj -<> -endobj - -24200 0 obj -<> -endobj - -24201 0 obj -<> -endobj - -24202 0 obj -<> -endobj - -24203 0 obj -<> -endobj - -24204 0 obj -<> -endobj - -24205 0 obj -<> -endobj - -24206 0 obj -<> -endobj - -24207 0 obj -<> -endobj - -24208 0 obj -<> -endobj - -24209 0 obj -<> -endobj - -24210 0 obj -<> -endobj - -24211 0 obj -<> -endobj - -24212 0 obj -<> -endobj - -24213 0 obj -<> -endobj - -24214 0 obj -<> -endobj - -24215 0 obj -<> -endobj - -24216 0 obj -<> -endobj - -24217 0 obj -<> -endobj - -24218 0 obj -<> -endobj - -24219 0 obj -<> -endobj - -24220 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24221 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -24222 0 obj -<> -endobj - -24223 0 obj -<> -endobj - -24224 0 obj -<> -endobj - -24225 0 obj -<> -endobj - -24226 0 obj -<> -endobj - -24227 0 obj -<> -endobj - -24228 0 obj -<> -endobj - -24229 0 obj -<> -endobj - -24230 0 obj -<> -endobj - -24231 0 obj -<> -endobj - -24232 0 obj -<> -endobj - -24233 0 obj -<> -endobj - -24234 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -24235 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -24236 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -24237 0 obj -<> -stream -HWk6_~F|- -4IHEfBc3Jeɕ $% ]QLJsyuK5Looz-Kw߽~&#*%bI&XD 6ѿX1au[MMCsٱn F[dmQ ARVdyZ1?Ի;y%tI}pJ rQ4\4Y>l?ZN$-baD(M!c$OO0'{>lϢRf0RZFR22 p>,C!K,_;x ԋ@ ԋ@$@$@$@"ԫ@"ԫ@&@&@&@}F> ,B}ZAǀEǐE\+kZZC>p \c"k} Xk} Yp!PVc$ B>,µ>P!+Tc"\c"k} Ypp!PV1dJµ>,µ>,B}ZIǐE\+ k%ZC>p$\cH1d} Xk} YzCVǀEǐE\kZZC>p"\c"Uk} Xk} Yp!PV1`1d*µ>,B}ZEǎ&\c -B>P}eX -V1zn78"d,J=FwO8ͫ6jjnȾ]ն5=cϽmnݵ6Wqe^$(qڗS&:Ksݱ,r0I*-ҍS]oJ -P%]~8B0\z^اծaËoTxaܺ+mlL6ܠ,K -˅;il Ke0eyM\ڼOyS8ĬOvRz<P^b瓡{k~GWVVUJu0m|;V{)fz iqPZv <Yl 4A6ݮ=kTǦp.i>f}n7G_:M 7ODʋ5~7ov&d ~yoBn^*F'l [M]R,ϋ+dL$pdq}g,,(̞"aOHo"8C&%mLh9'I5.y5+fiY|e5rC{8V]XGyĝI:癵!IyJW-RvJ̑aP͒\~.LARksLou7fXuq:OHQ3He>n0>u &J\p,e츞+8I[`M19~oMcx斵s^iy}EZtZmE((ŕ.(qH_.~T 8Oe|ύM7aa A7, au pxFlˤx6o Grn#s0mRe.|ØF-I (Uf?)k^GJKؾY//d6LtEEb9qwt8K&@Hc4x=^'Rn_TZYn3#Kj5 f#{1Tw;Lܽ*v(V4jq3vQ{܌UjjLJ0X|_@P?\^bIGKfM() Mr<)|čǷ&ݟ\bw8ZFTkj#\2or/6 oذl VN5!ma<mV,=H|K n|= -ztb JSOڬZIɪ}} VFh'(كлg!3o;<4[ؿje3w:16bQ7ϳ/n6#~֮PDŐ< ~Hޚ ^BIpH{ p6vH~!a>\!i^(Lky2m$r -,ɕ܌> u> -@ \54l'5թ~s⻑R:8e;*KgV+r u*,t~y4}(Q `s._7xs-JP:>pEGnbO .endstream -endobj - -24238 0 obj -<>/P 828 0 R/Type/Annot/A 24239 0 R/Subtype/Link/Rect[93.6001968 500.429993 200.028 520.109985]/Border[0 0 0]/H/N>> -endobj - -24239 0 obj -<> -endobj - -24240 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24241 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -24242 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -24243 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -24244 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -24245 0 obj -<> -stream -HW]oF|篸GHݵFII&*`"1SIT)I}(0l ٽ̑:}?jvvvחg^J$R"GDj1," ,B}ZIcER+b XDj1X(H-PVb,Qj%Z>J$Ryb,bZVcb,QjZ>J"R1`X`*" ,B}ZEc"R"GUDj1X(H-ƀEcERb,QjZMcb,b X=ƀEcERb,Qj5ZH-PVX`j"Z>J&R"GDj1," ,B}ZMcERbl" X=ƀEcX`}׌FdW~ Jt+QpdG hA(Z%ޝ'?%\endstream -endobj - -24246 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24247 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -24248 0 obj -<> -endobj - -24249 0 obj -<> -endobj - -24250 0 obj -<> -endobj - -24251 0 obj -<> -endobj - -24252 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -24253 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -24254 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -24255 0 obj -<> -stream -HW]o|_䃗"0lHI0$Q -I~}gf{-ɖ )vM^a닟loy_ 3~0|>j<]m{paps5LW'bgw/E\犘s6eMSuq+ٟ|{Ͽrќp{?}}a?64w (MY_'ٚ'x?^zOl ->L5SS%25^8F,VFvkxNwz'{E꽢 ^QB}P>*PQ('E}ꓢ> YQB}Vg(P_E*WEUL˱rXR=R\1bI#T1rXzZcR :ŵKq-Ljuk9F,EpS\1rXzZcR :ŵKq-Ljuk9F,EpS\˱rXR=R\1bI#T1rXzZcR zŵKq-Ljk9F,EpW\1rXzZcR zŵKq-Ljk9F,EpW\˱rXR=R\1bI#T1rXzڠcR ŵKq-Lj k9F,EpmP\1rXzڠcR ŵKq-Lj k9F,EpmP\˱rXR=R\1bI#vCnN9;3= -0=M;K{9yD 0#$ϱtaWw'L64|${;߽{n'xhbS^/dۨC6mCm˚E%Z={??МҗgPܺc -bT6JaǗ"M>^ΆEzXr)07F|0x -61VN*WTWTWTmedUx~>r"oX#' k5reܟF7SVGOX# k~*R5rʪ\iVG; -VxGS, Ӧwyz?lݏ iE@njۻXߙ$RJ#`QK혰o3h!F`oik`5xْ OMR@ ԵCs?^mł(Rj+a;E Mc⻄De-$h}%T}j9&yg8n +Bߛ\<ф"zZjPך}BZZRfͧM{SH3XT/ _,IIu{xn>ίdi@5ڀ7ѽ;6E/ڔmSfLG,J;cȆE8e; -kM='LOM/\CMM.|ʂ6ˣ0qu>$X=մ8ITTp#w h>/Nj{V=/DhOmۜϦ64}̦>a|duuT>|vwAOү,4c-~=YHm@7T_ތyrc6nljqܶib%|T8[ c$3P>ЉGTzeb,;AR\5hH Cա?OS1:C~hN(4dMmw*b"# - О@W@}u;'BdRx`$fS&dH;Eq5#`2X6R L>EG+Bz1,%בT`'B @U.T7c!&l38zkQ׻W;0̕я`A<#NsfgUK-'/NfR=\V9ZQ>ȔT@ZE3S^ѭ8|A?Q]+WM~}K!:$ -&@TdԒC<~N2μM7$n|.,M|/q(F)nܑ^XR$nZjp ګ,KϧhJkmWRP{VBEv"_ N iXJ̏F%Vx$fKq<q'={Qva1R;J]Z~ԨpF;pIm?^py=x ߇D{S܊ -W7Fs,^*!TjVL桟8=]~_+#|;s#l}EcQ9#hڡ)+p>?[9F͊ 'KeE%[UEvB?M{wBuH(ZYL2E,1z%SgNPDZ ]qvZe>F0՞Ӝ0ɢn&{(Dl L^ 5q0BSĬ]JF,`Ǣ-kgV}O^̬Op~v{jI}҄H 宖׎ Pһc@GEO h?ܘfr~2{#/Jd@X 8]OdCcOhճsk|aAؖ*2ק5C0qiC/:{a`4iY9=W? ܶTm}λeendstream -endobj - -24256 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24257 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -24258 0 obj -<> -endobj - -24259 0 obj -<> -endobj - -24260 0 obj -<> -endobj - -24261 0 obj -<> -endobj - -24262 0 obj -<> -endobj - -24263 0 obj -<> -stream -H\n0 y -CE@Z !U841Q~1:H_pNPҴ#WдF;SWFVV]mEi+MӋ,M:k957X}nvhFB 9mSjoisv|N!!Q -]mn(9d?rFG{N6v"hv'!s9fggNc9!NSb,{ȚG₿'L|a?%S$bw;b)g&tn. ,З }З)ISrDTJo> -stream - q /X1 Do - Q q endstream -endobj - -24265 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -24266 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -24267 0 obj -<> -stream -HWko_1 @ -4`dI"aP%Jf**I; wlEX:9sp朑8mtɯo_X|yxm֫$w:*KNjwbT4Xg]u[뺩6eTsTOVUM -seQ2 -0I -8W&}*]Uo&?`\aNyguѮ>.Hiwϼ֌M>Wl7WtL:!ϜA7Ekӓi*_A N]~BE&xD!;ѧ($8'#Q Y|:"ES XVpo{+̽; s{{g}'O s -S>ܧ}&ϘLp1>cs}=JKMdR Y=ŀ%b),bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` Vh-Ő%gBk)Z!R Y=ŐS XBk),=kZK1d YkZKh-Ő%guBk),=kZK1` Nh-Ő%guBk),C Nh-6ZK1dqZ!{Kh-Ő%gBk),=kZK1` ^h-Ő%gBk),C ^h-ŀ%bܳzC &JR Y=ŀ%b),>W1wt;DhRFU,X0i,Nh_fS.GTRMGj^Pt4G'j~]dx݉dV*MNu9cNM:7]7SuDnآ8hw= F#e-aykm*˧ѰJ٦T/t=x u7AgG/ - P|^Z?da?~&}v/ lqǛ -SlށzX:8"J}jf_i$a8RݴU0@u1jS/J֏aQ͙cOG+U`uŃzV!Yvv~#4u'>4C$;Lg{hQ_wCdH`Cv2v4mWeF7=6$!Xp2,Zm,%>`@z8|^\9Ya"c4tM->@V÷u\B fFgOtnKإeܟ0D>|e]-wwͼSPMU*τrj}|Uv n؇a'YAx?KLz~^g+t^_/ދ6O LSfPOֺ7=L'pvvgswS_||BQlt| H}"'w^mw8Ňks;Oϭ5Nؾ`o -ӓWW7tf?AWŐgZ^L+Z JiVʴ2A+cZ1\ʙV.hL+ZiA+P-s-!kQ XF2LZiYA2-+h[!CroS Y˽rO1d Z,V=Ő%h[!CroS Y˽rO1d Z,N=Őŵ(,!CrS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1d Z,N=Ő%h;!CrS Y\brO1d Z,^=Ő%h{!CrS Y˽rO1d Z,^=Ő%h{!CrS Y˽rO1d Z,{!kQ XB),to")xo[FyBI+N0\n0m.[28u/ǣGu 0WUہԝIvU𲶬=4 dLy3B횱Gm0+KO{ۭ0WͶ wmٛ~:|ZNMӺ=:"p;k>f]+.tbz -3|#NɩuOS~`sfkIz/h˲4)#'~tӖpW/+ދYkt9h}͌=М.M! ~~hq9Ve/smbOxzVifM[r*GG* C}"KҦ] AQ]\nb(54N7>VɡCz̜A8AN+2i\vaO/"m]q6PڟSz ݛc)?m4,$c:JX PI>./+`X򐠬|_N\_ fK3\2qj V}kLmm =,cT3-bIt`endstream -endobj - -24268 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24269 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -24270 0 obj -<> -endobj - -24271 0 obj -<> -endobj - -24272 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -24273 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -24274 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -24275 0 obj -<> -stream -HtWm6_Z`_vWM/A=4>MPhmzIJ|ޯ,rEÙ/pt~/q/oF\1^⬔,qK)J㧈Moc7fMt~m2fU$q񦍒BlM(Fq.]sɇnn>HULb=Q.'?7Q4ݶd"~yk⨒9MKFUrQ*T2>D|8QQs}{{{{{W{W{Y>#g`s} y `_ }/ e$ؗ`_+}YN T}"T} ->@}"j}jZ(BQ@PC>P TE!`V}"j}>D -BQ@Pk#I!*dE!*d}"TET+ >DJBPj}j%Z߇(}ZIPC>P$TET+ >@}"j}j%ZFPCTPCT!*dE!`V}"Uj}>D*BQ@PZ߇(}ZE!`V}"TET>D*B2BQ!{(BQ!{߇}ŪRq -]6DwyGoRV"lcN,7mo6ߢԃ䜩!"Ev<7o8IDdcC38iӓ|vtG[cϣkd7_7,+7ގMFqukgq8tK/4fŴ%z[rdU8C//no=^lg];oF=ݎNq euxmmמk+edX&bYH2V"rz@}d9^띂zRw6߬CDM<)^D/v -.YUTC=$gu[V5 /;hNάw5^ևQquJrN%S*ʹO_S&ӹ_az49G -PBH&C鳆;K^GUVe36\ &0v{lzaiyl<k1=ԧt<~K|auYд-]lЭ> Tte0r ,ƞ>kBR>C%S59sh#|GDrK/XڀF"[ R3ߌm1콩*Ys. ~mI5wv&ìXXϺoa/^(\iaWyZ:<iND! PR$m,b]Kh -.5WU kdm9`WJzdA5(CAqA;rDʋ|jeݫ( >s=XGkwOug3sOuUxɠ_5TVAw:[|s ->9/5`*%=z6ZсRd*ggڒ5)8ZxCT^sixrt\3b_YjkN3ѭބ"ݴL+*hw1Dc[rÛ Ftf`_n^/ə,=;&9K2_s׏tソk^rg-!ђ\f%D,5ҙ}w؎_ۿf-)Y挗S&Cb^D {qo?cV`9/+ m$jT/ִiQDk a`:z үx^(*05eJj:U]=lNazӂ} Z+&D~?AZ>[Jů^bjW Z%Qk?*L]?mb93OKS>WQytd#ECFSY$n>~zT$9b> *0qK ń2G4)2pCǧ/7̶a:w+z^^ã9#YvUAokOSl'}=\X3x0y`=O0!]%Z)g_.\-B` {?6al+|b ^;R|ș^;xHa7U<8ePIy3WK6WYU"EJBNyEm!A+sc#^ɰ$ E.z08<9^ &KzA;v VjMe6yMG v*'AU*hnв -_sxJEUei-z:rp %[fuyJ( -ܮ+tmg%ܙ.S(Vߧ(|o$r "WLTY' e*b=D0W*Drw\W ^TĎTYjΏiJwgɜͰ'z 3g a3=v0QF hN_s"SQIxǶFީ;DZ檞.;ʈ 3,H:?Em+^;_1;9{…JJ9zۏ|"7zm%gh nYI` -ǞyT}@7wf@XꓕsK<*b -Jp%%rXIH(8s#pdmw`jܹuD/3:-e*LTKKx\!A=[n5坅LEEd$).,(F,*lvp P]9[OLmhNLG#b8H5g -1ZJ,z l)d]zYbrTA7laM̷p4`P8*HNH^KܢZ?/`DٟHQWE wzʙ 3{{Dlp<LJŐXj$N_ (:{_ퟴVunnPPǴv}Ɲ$ZC7ij2ZNYK=5yԁUE&s9q@2Y*,*'.EwJ"Mg'VO|6nӾް4o 2ҁsgr#/ Bk5~D<Ș/ɾ~VUYdO7ǾA,O׍UkO 7,i&@gYr;  AAQc(*:S]"GLm|p;iS93+Dw b L+ЩNd~aܵӗnN2W(/p3+ f_Nk ;w(!>Nlbl}vhb8-%iYLQ'/4s`k߱kFV0 daS?;qGe/,3S9D<;lI?U]7qHyLa8,dpGn_~x͋Hendstream -endobj - -24276 0 obj -<>/P 499 0 R/Type/Annot/A 24277 0 R/Subtype/Link/Rect[93.5992966 468.229004 201.623001 487.908997]/Border[0 0 0]/H/N>> -endobj - -24277 0 obj -<> -endobj - -24278 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24279 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -24280 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -24281 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -24282 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -24283 0 obj -<> -stream -HW]o|r!͊Er&q"AS,CMR-[eEs(˒#EIJܙ9iگ̷N>kJMuOMj`7}W\9/bsw9]~Vb/ޜobҺcoiϊL&L..Qt~Zا9{=.LOnzzk/ftx1]~P(miOflrΖ9=I;ڢ*}r'>)p_)p_)5p_+5p_+5p_+ p( p(}Ug({ Vb%,^b{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb"JYڽĈZ+1ficv/1bJYjm{Z+1bJYjm{Z+1bJYjm{Z+1bJYjm{Z+EAk%,^b{1K@k%,^6JYjm@k%,^6JYjm@k%,^6JYjm@k%,^6JYjmآHcv/1bJYڽĘgs;,7m1i[giϊҴ'&Y^7U]`E1/_/޼27j:|9n13s4r^ᇣޠTyW+pDZ0퀦mE/ r490ەyޚn\i&9D#=kEO']krq.ֵ\zroξdRUٴa<}gV9wWf~9fjny9R`5&6)hB3;Yg67o#¶Kވ7&`u7WfQz6CKjH'6D7) 5{~H=ˇn ֤z>Α=^T/Ra"ӹjkEnѼgn4U>µ b_3}ˣ__.AOۜ?bxq'Pm쾀U_r!mAh_9Vwr;)fvuo.iחw'MT= :6reft4Ϟoj%gl#Gꮿ:%7b]#%s0v8=mS{nG~3Xtfo4w`5s uqWy[ݎkn m>!.SА%axt!! (1feRZhEVTZ h%VRZЪV*UZi@VZ jVVVZheK%1fi--rJ-KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KYZKbV9~JOobҺcz0Y 0Ǥ`1_bOfw}g8#g]n? PήM?v͈U(򡟭 F/>3 }Dendstream -endobj - -24284 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24285 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -24286 0 obj -<> -endobj - -24287 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -24288 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -24289 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -24290 0 obj -<> -stream -HWoFŢQ~]si4i`$f Q>oEI{c ѓyZ<}_4z+_: h\SqfĨ4alTS:uUoznU5L5Up˥QmrNQZMATr(SUqrYκj]G8LMO.wco7zr:[^,C q:N6cR=Q{s7K`C[F} -r&JQF Oep1䒓3 qXr9y֒0bŀŽk-s̳ po{V-po{;NXXXODODOTOTOTπLπLρ\ρ{Y J˱U`@k9F,cZ1bI#t1{ZZ1bcZ1bcEk h-< cEk h-Lj܋Zyh-Lj܋Z 5[cĒ9Y#t1bI,Z #p/ZkAk9Y#p/ZkAk9F,^ւr̳@k9F,^ւrXhgrXh{Z Z˱U@k9F,cZ1bI#t1{ZZ1bcZ1bcEkh-< cEkh-Lj܋:Zyh-Lj܋:Z u[1h-Lj%s̳@k9F,cĒ0s"gt9[/T_t6y$t|LoJut=˿rW/6\D&LuU̿Q(5S1PH~,{;ggkt6b WnrY}i{CQ$ܙ/Y _kwjUf?S,JG3?ܗϊ.nbd"?]=u8T|U}ol\ӛj)[Qwuŋnsu? bX妚mS}+ ߧ]xr,Uy+U0(mvmWtC~H9O_&UK6 TH+,倖Zh9Xh@+Z JVTh@+ZʄV2\h@+Z&Z#giZZheZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cĒZ,{ h[{ h[{ h[{ h[{ h[{ h[{ h[{ h[{ h;{Kjq̳@9F,%r@9F,%r@9F,%r@9F,%r@9F,%r@9F,%r@9F,%r@9F,%r@9F,%rsXRcb Dc;c9$֋w/y; -ݍ(Cq{W7?R&Lrz5pdh)w[7ϏNlEc-k5r_-uO7arؿaeWSv ݼhie|Gq0?;t˦׏&}=eQOt٪kfc[{0ʲ~/:ńN9-);B.lbz^ղTuvEݵCB:clKU4k˹֛UiٺނnJR {?h3>YBvGC}ۢ)uӛg{piީ{Ӄ/M˯Icr;쩛y#Ra/bV7]|&7N'Ļ?~xwOCOf4JO.~0)cvMJgZ}U_֫BN,|tn|V/$a[>{t=un#><3Na[%l&z~؜ RHkJ^ۮnhw0Yo`,}7 9VVpԿ;:_~̆Ό8OO~}qիmHxnmv+xgn-Imw.pP p~~kU8>nN~ <><跐ct?nkUE[wЫ -Ljr@ -ЊV,b h%B+ZJV*R - heB+ZʁV.S^mq@_kQċn@Q(@:EhYr%wFp6Iv4{x8 WAdrQB.`D%.pIK\ -t/S@=! -t/S@=! -t/S@=! -t/S@=!*>@1>D1\{C^1>D1\{C^1>D1\{C^1>D1\{C^1>D1\5{CTE}btO}bkFԇ(+нftO}bkFԇ(+нftO}bkFԇ(+нftO}bkFԇ(+нftO}b'Q!=!**"xj࿚Ьz%O0Vu%"j,rkPjc[L@DP¤KYөӮVg7-C Jm{yd -:|a4 -MWz2}m}crp|[V l8k I@)qIٟ0zیV~K?rnʇʠTC07궲 aߋdEeׯ#W1?lJ@X(-kf`H_ h4~/p2YUH0T]lz -^p-r!`zS -b;˃7k09[=5uko(MP#wX"ƌfo]1tb'6#NGH"1r -\"$Wb mx4ݜSj:tEmd\qpr+T+ܒe$nM,Zl\#Uti[q8s|p= K>ZO9yrћp0OYY<,tZJpp} jΛ⋱ϵuTS=9j`bB\/U`mbgfrʓJ@Y34u0ep ysBe΀,\4VmsꂇB.4ݎòG[]a,N9Z:#_>YʩVB=qRVȄpӷ}nnڡGId*p/UN89%SZdo붅}Nc`Vv{ Lѻջ~cs>!6endstream -endobj - -24291 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24292 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -24293 0 obj -<> -endobj - -24294 0 obj -<> -endobj - -24295 0 obj -<> -endobj - -24296 0 obj -<> -endobj - -24297 0 obj -<> -endobj - -24298 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -24299 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -24300 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -24301 0 obj -<> -stream -HWێ8}WQ tt3Hml:Ai[,y$Vd :>dyˇ_~yͻ! 7_W1/B_0e0Ke&`.a/rnꠇZ]w}z\/"jEXapu"w#M^ӸHb>:ͿI"/v>{!Ymcy~<f_ٞ*`L{ cC+?pLc,!(+>Er -S8ΤGr1d\ X,CVB\] XP/

'SO}JO=)>gS3O}F<9>S_ O}A< Ӻ!k] YzZCŐw1`u1d= -µ.,BZAŀEŐE\+׺kZZCs \b"{k] Xk] Yzϵp!PVuC ׺|.,µ.,_!Wb"\b"{k] Yzϵpp!PVu1d=Jµ.,µ.,BZIŐE\+ ׺׺k%ZCs$\b@u1d] Xk] YzCŀEŐE\׺kZZCs"\b"{Uk] Xk] Yzϵp!PVu1`u1d=*µ.,BZEABŐw1`u1d] Y".B ]4ׇ*x_d6xbp9࢈0MpuN̡߭<)1O޽)کwW!ފp#2y8c PtLuϣ`_Sg[ܴg2iQ)(DB@ f91t3t?l,"$I,y88%%-b%Gہґ3X/:UͨY]ƀd^>q,ږUݛ^^vkecU\Ƽ\NZ*\1!1s y)m;4;LDAM6n.XLuY׽g"/ln] Xj#[3`ޝ 2%g[K4\mo7Ey%YLGu{%IOC}J3. 6 - ="s5G^I5:<\P?YE-vTaPNSaSpZ ~h-RsDt,,u*resMՊ<wAfITr=Moߌ4u:3rԥ3rhDLĢ1gt2 !VxvO;vyY| %`tˀVy&P5K'1^+9qOۖ-lٰGR6hmcW=97TuʔlOT0]$V㳌(^9NXy,^*7e3q0Ʃ7eHgfL -R2WhZ<-r5}@#!ERVEmyO!i: \pV=[.6}fl/R6(JЀ@ދhtOZN:`"uf9=iz3TrUѼ _Hۣ(&]T$t e/ -@:j - o>tן5KѼjY+]W]|#$Wp`){+́zUGŅz}ԚɃ3?{mAūn/emwS{S^j/=CȱnEO+~6LC؝*Y1ahe*셧5O^MwDz pvz߿ rAcZKwb'Qh|Vv78: ʆTd[h"r"qpc"XO*%1ir\-娿hA?r6uf2 q+ovv8!o?;YSgi ,]_ŜO@;b(`ݝDӬCP|HU#xTs0( W73T?G'1_fWUu^R(0>y]z0WIzZ$W*eټl+ -#|QeSπ*Y޲0fdֈ8[iJ]ʭL Ǜ 魚X"(ĵVM31YjR4<~Q~+Q_Md|l,JyrJ7{ɺ#*︥FrzUS|?9䉏ZIg¼n1шang+jnBQb -pvr9"{3PoؼrbwG{Nob$dRK[z9#"Dp0bf<2+Ta&v=d^O9ǾrV8S,{NeZZGVԪFv=Y}0TkI -rn+aDiWCÁ该`0( -еoy(Ion~ 5t-r;v}EO]z6*/4U$#Ǽ:X%?7gue{~3BfM?C,bT$;/1c̜y>V#n*k1}Qs,w.~9oqq{>.;ejrgRRE0 HAW:,%gŮ55h)qLJg-:h "Խ.LZ]#i:u5|C -p( 7yAc-ygF[9Uݫ"R!tyrAVvgpTse<Ү kY2dAr缭P=*lSwhSDp1ΝseanW -@UZV[s& ƌ -lɋ. -G%O`3lgUq- -@h0p҄" apPaA;޹HnL.:'X:J|HvE) ?z1IQl3 - f+b +͔4"M`4A}7fZWx_ez*|{[}ѭЮ.BxX=BS"aQ4(d]RG=Y/7|LY_&zY|.!x08fuhhHNT+tLP\pF?2(#A4 DlQ->yp뇿F`endstream -endobj - -24302 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24303 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -24304 0 obj -<> -endobj - -24305 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -24306 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -24307 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -24308 0 obj -<> -stream -Hoo7Kp$PHQخnr!+KNm%7rW,>UC>Æk?z}\]] -Wjf*dUaQ|`낳/`KV].n6jyXò8:IxUGVLsa<0&cxgꯍL˄4vT8jWtZR= }[VxeKi`,W{bVxk|FpHUQ UPBq T $eBz+^%W &uB z$7 !MBo z[&A_%A_%A_%w #]B z{> LV$\P1PcJR8*µq U}ZI6O\+ 1Pc"Jµq U}ZI6pmCAVc"Jµq TkĵpmCAVcBcJ1Tq U)}8*>q"\PE'Uk1Tk8*>q"\@E6O\1Tk8*µq U}ZE6O\ƱU 1Tq TkR8>pmCAVc"jµq TkĵpmCAVc"\PE'Մkĵpm8*>q&\PE'Մkت0kR8*µq U)}CUJKf|ULsᚨcB2[ApUL_AZGJJI?Mno67loÃL) ?ZOugK2yY;%9DGg;ޡdj>'c? +!*AtrLkp5X-tl'6.5rϦ7Pҷ|­]_J݊r,r~1Db-&۷D$oHv#+=ҸGU5F';8$ \n"yvh.K%vs}o %\(Y\DiL{ N4e575cԼu0z1#m¿f{JV=~V.Y݂R\ϟʟzVYz"!6ȬV -EX%#XSp޼׶Kۗխ ݤ7|-HL2tNAFN6̣7nzhb[_)g?#*d L󓹌L]g8]bCLkb4Qfd<7^ L*dž~7TE0ց``40Z)M*|Ȼӳ|RU+'b}fyp@¨0 fc+}؃muk3P+B@I^Ζv-2^ýe+ -븾:{`Q'&f &jTpt~_:HtU4[ oqUA5E&!FD7^UMiGeј 쇕6[ &&,vv)ITR&5 }#MoPq9-_7'.? P&rGUWd~WL+ꮄоQ]7͚ˁR]\U6n}"`EFN72F4^|76BOLt,TLXbxHL)njdSRJvPgZuSa޴U/"Xj_(FvJ,ןﳷdH N]N^N)V=dH]r<'CuчC*Jՠ =k"uE7q%q@yU醬D3{AP„ Eu]PiA?n/n&7Cإ>{1=C?ؕ{m{|< rAt//Ӈo-珇l-瑂ڦb19f:$g@鍓A -?CUAE#2GQE"&w|f않e)|5|隽Ue]JPUzzvqU竍h婱 `PqϏgQYYNoW'W'!Zp%B/3 -9Sy7!L 8<8 |ltH}>M]ӈ*_ڈQF܈kߕzPK{0Eq _7y42JЀBr Z~yER2fb0ӓ) ?ɦXcgBjM Jz~ziN@*A0S4OʏȂŸ\tiޏ\q )d1O1CS,m&I3PzŰ.}/` ѥK {[|WR X4Aoe`~1(U"᱕nqzV}+ZSݬDNtFJɖcsĩs5 -gN>=ql'eSRS -cm @a-DOt'3OWeSrC5R3}L׶iz_]{_k-mRd I0" wӲ:=!﭂}NUM&Ho%LjVy;TکX Qjayk,kJۑ1+ǯ~U]T@D.ctBi҇9S#ku>d!2S;3B39KYKQř?K,pc(}%W^R@uʩ .d0~߉Ec<M\yA+!5a170 -NaOm?$mR -cC\j]t#C5 v X>,:ƒw͹4B`q_{"@g sO9k10D#/8]kA<~)NvlOkc`?lQic^zاR%{G@\`nݮTS!mǎ٫aiPEWuFTaV_ww*]ݯNjkWص^4mL3?$${V0#ZX_rE%!1BAbjTȴPj|+(jj 'DLf;E&L N4kM/,ۘfVvCr d#s=H'kƍ -gr!=u9;W{~in{%D]61^b(jF˘6NKUS14qܗ]#kkm]ɕQC'WZ(2d(:}[L1Hpb8yOR4 FVectd턟}W|]L#@QEnI֚#%=N\ RR- TiMNƠI qxoB)mbTdt* cf zrh*: -k%&<|Y<>lWwO(>Gtl͓ϟQ=_Fqendstream -endobj - -24309 0 obj -<>/P 10918 0 R/Type/Annot/A 24878 0 R/Subtype/Link/Rect[211 670 221 678]/Border[0 0 0]/H/N>> -endobj - -24310 0 obj -<>/P 10918 0 R/Type/Annot/A 24873 0 R/Subtype/Link/Rect[223 670 237 678]/Border[0 0 0]/H/N>> -endobj - -24311 0 obj -<>/P 10918 0 R/Type/Annot/A 43546 0 R/Subtype/Link/Rect[239 670 253 678]/Border[0 0 0]/H/N>> -endobj - -24312 0 obj -<>/P 10918 0 R/Type/Annot/A 24865 0 R/Subtype/Link/Rect[255 670 271 679]/Border[0 0 0]/H/N>> -endobj - -24313 0 obj -<>/P 10918 0 R/Type/Annot/A 43477 0 R/Subtype/Link/Rect[272 670 286 678]/Border[0 0 0]/H/N>> -endobj - -24314 0 obj -<>/P 10918 0 R/Type/Annot/A 24888 0 R/Subtype/Link/Rect[151 660 168 669]/Border[0 0 0]/H/N>> -endobj - -24315 0 obj -<>/P 10918 0 R/Type/Annot/A 24885 0 R/Subtype/Link/Rect[169 660 183 668]/Border[0 0 0]/H/N>> -endobj - -24316 0 obj -<>/P 10918 0 R/Type/Annot/A 24881 0 R/Subtype/Link/Rect[185 660 199 668]/Border[0 0 0]/H/N>> -endobj - -24317 0 obj -<>/P 10918 0 R/Type/Annot/A 24877 0 R/Subtype/Link/Rect[201 660 215 668]/Border[0 0 0]/H/N>> -endobj - -24318 0 obj -<>/P 10918 0 R/Type/Annot/A 24872 0 R/Subtype/Link/Rect[217 660 231 668]/Border[0 0 0]/H/N>> -endobj - -24319 0 obj -<>/P 10918 0 R/Type/Annot/A 24869 0 R/Subtype/Link/Rect[233 660 247 668]/Border[0 0 0]/H/N>> -endobj - -24320 0 obj -<>/P 10918 0 R/Type/Annot/A 24862 0 R/Subtype/Link/Rect[249 660 263 668]/Border[0 0 0]/H/N>> -endobj - -24321 0 obj -<>/P 10918 0 R/Type/Annot/A 24858 0 R/Subtype/Link/Rect[265 660 281 669]/Border[0 0 0]/H/N>> -endobj - -24322 0 obj -<>/P 10918 0 R/Type/Annot/A 43121 0 R/Subtype/Link/Rect[282 660 296 668]/Border[0 0 0]/H/N>> -endobj - -24323 0 obj -<>/P 10918 0 R/Type/Annot/A 24851 0 R/Subtype/Link/Rect[151 650 165 658]/Border[0 0 0]/H/N>> -endobj - -24324 0 obj -<>/P 10918 0 R/Type/Annot/A 43031 0 R/Subtype/Link/Rect[167 650 179 658]/Border[0 0 0]/H/N>> -endobj - -24325 0 obj -<>/P 10918 0 R/Type/Annot/A 42997 0 R/Subtype/Link/Rect[203 640 217 648]/Border[0 0 0]/H/N>> -endobj - -24326 0 obj -<>/P 10918 0 R/Type/Annot/A 24840 0 R/Subtype/Link/Rect[219 640 231 648]/Border[0 0 0]/H/N>> -endobj - -24327 0 obj -<>/P 10918 0 R/Type/Annot/A 24836 0 R/Subtype/Link/Rect[194 630 208 638]/Border[0 0 0]/H/N>> -endobj - -24328 0 obj -<>/P 10918 0 R/Type/Annot/A 42897 0 R/Subtype/Link/Rect[210 630 224 638]/Border[0 0 0]/H/N>> -endobj - -24329 0 obj -<>/P 10918 0 R/Type/Annot/A 24829 0 R/Subtype/Link/Rect[226 630 240 638]/Border[0 0 0]/H/N>> -endobj - -24330 0 obj -<>/P 10918 0 R/Type/Annot/A 24825 0 R/Subtype/Link/Rect[242 630 256 638]/Border[0 0 0]/H/N>> -endobj - -24331 0 obj -<>/P 10918 0 R/Type/Annot/A 42780 0 R/Subtype/Link/Rect[258 630 272 638]/Border[0 0 0]/H/N>> -endobj - -24332 0 obj -<>/P 10918 0 R/Type/Annot/A 24819 0 R/Subtype/Link/Rect[274 630 286 638]/Border[0 0 0]/H/N>> -endobj - -24333 0 obj -<>/P 10918 0 R/Type/Annot/A 42720 0 R/Subtype/Link/Rect[194 620 206 628]/Border[0 0 0]/H/N>> -endobj - -24334 0 obj -<>/P 10918 0 R/Type/Annot/A 24814 0 R/Subtype/Link/Rect[217 610 231 618]/Border[0 0 0]/H/N>> -endobj - -24335 0 obj -<>/P 10918 0 R/Type/Annot/A 24811 0 R/Subtype/Link/Rect[233 610 247 618]/Border[0 0 0]/H/N>> -endobj - -24336 0 obj -<>/P 10918 0 R/Type/Annot/A 24807 0 R/Subtype/Link/Rect[249 610 265 619]/Border[0 0 0]/H/N>> -endobj - -24337 0 obj -<>/P 10918 0 R/Type/Annot/A 24804 0 R/Subtype/Link/Rect[266 610 280 618]/Border[0 0 0]/H/N>> -endobj - -24338 0 obj -<>/P 10918 0 R/Type/Annot/A 24802 0 R/Subtype/Link/Rect[282 610 296 618]/Border[0 0 0]/H/N>> -endobj - -24339 0 obj -<>/P 10918 0 R/Type/Annot/A 24800 0 R/Subtype/Link/Rect[298 610 310 618]/Border[0 0 0]/H/N>> -endobj - -24340 0 obj -<>/P 10918 0 R/Type/Annot/A 24796 0 R/Subtype/Link/Rect[190 600 202 608]/Border[0 0 0]/H/N>> -endobj - -24341 0 obj -<>/P 10918 0 R/Type/Annot/A 24794 0 R/Subtype/Link/Rect[189 590 203 598]/Border[0 0 0]/H/N>> -endobj - -24342 0 obj -<>/P 10918 0 R/Type/Annot/A 24792 0 R/Subtype/Link/Rect[205 590 217 598]/Border[0 0 0]/H/N>> -endobj - -24343 0 obj -<>/P 10918 0 R/Type/Annot/A 24789 0 R/Subtype/Link/Rect[194 580 208 588]/Border[0 0 0]/H/N>> -endobj - -24344 0 obj -<>/P 10918 0 R/Type/Annot/A 24786 0 R/Subtype/Link/Rect[210 580 224 588]/Border[0 0 0]/H/N>> -endobj - -24345 0 obj -<>/P 10918 0 R/Type/Annot/A 24783 0 R/Subtype/Link/Rect[226 580 240 588]/Border[0 0 0]/H/N>> -endobj - -24346 0 obj -<>/P 10918 0 R/Type/Annot/A 24780 0 R/Subtype/Link/Rect[242 580 256 588]/Border[0 0 0]/H/N>> -endobj - -24347 0 obj -<>/P 10918 0 R/Type/Annot/A 24776 0 R/Subtype/Link/Rect[258 580 274 589]/Border[0 0 0]/H/N>> -endobj - -24348 0 obj -<>/P 10918 0 R/Type/Annot/A 24773 0 R/Subtype/Link/Rect[275 580 289 588]/Border[0 0 0]/H/N>> -endobj - -24349 0 obj -<>/P 10918 0 R/Type/Annot/A 24770 0 R/Subtype/Link/Rect[291 580 305 588]/Border[0 0 0]/H/N>> -endobj - -24350 0 obj -<>/P 10918 0 R/Type/Annot/A 42050 0 R/Subtype/Link/Rect[151 570 168 579]/Border[0 0 0]/H/N>> -endobj - -24351 0 obj -<>/P 10918 0 R/Type/Annot/A 24765 0 R/Subtype/Link/Rect[169 570 183 578]/Border[0 0 0]/H/N>> -endobj - -24352 0 obj -<>/P 10918 0 R/Type/Annot/A 24762 0 R/Subtype/Link/Rect[185 570 199 578]/Border[0 0 0]/H/N>> -endobj - -24353 0 obj -<>/P 10918 0 R/Type/Annot/A 24760 0 R/Subtype/Link/Rect[201 570 215 578]/Border[0 0 0]/H/N>> -endobj - -24354 0 obj -<>/P 10918 0 R/Type/Annot/A 24757 0 R/Subtype/Link/Rect[217 570 231 578]/Border[0 0 0]/H/N>> -endobj - -24355 0 obj -<>/P 10918 0 R/Type/Annot/A 41854 0 R/Subtype/Link/Rect[233 570 245 578]/Border[0 0 0]/H/N>> -endobj - -24356 0 obj -<>/P 10918 0 R/Type/Annot/A 24752 0 R/Subtype/Link/Rect[194 560 208 568]/Border[0 0 0]/H/N>> -endobj - -24357 0 obj -<>/P 10918 0 R/Type/Annot/A 41738 0 R/Subtype/Link/Rect[210 560 222 568]/Border[0 0 0]/H/N>> -endobj - -24358 0 obj -<>/P 10918 0 R/Type/Annot/A 24747 0 R/Subtype/Link/Rect[189 550 201 558]/Border[0 0 0]/H/N>> -endobj - -24359 0 obj -<>/P 10918 0 R/Type/Annot/A 41650 0 R/Subtype/Link/Rect[226 540 238 548]/Border[0 0 0]/H/N>> -endobj - -24360 0 obj -<>/P 10918 0 R/Type/Annot/A 41605 0 R/Subtype/Link/Rect[194 530 208 538]/Border[0 0 0]/H/N>> -endobj - -24361 0 obj -<>/P 10918 0 R/Type/Annot/A 41562 0 R/Subtype/Link/Rect[210 530 224 538]/Border[0 0 0]/H/N>> -endobj - -24362 0 obj -<>/P 10918 0 R/Type/Annot/A 24739 0 R/Subtype/Link/Rect[226 530 240 538]/Border[0 0 0]/H/N>> -endobj - -24363 0 obj -<>/P 10918 0 R/Type/Annot/A 24735 0 R/Subtype/Link/Rect[242 530 254 538]/Border[0 0 0]/H/N>> -endobj - -24364 0 obj -<>/P 10918 0 R/Type/Annot/A 24732 0 R/Subtype/Link/Rect[194 520 208 528]/Border[0 0 0]/H/N>> -endobj - -24365 0 obj -<>/P 10918 0 R/Type/Annot/A 41417 0 R/Subtype/Link/Rect[210 520 224 528]/Border[0 0 0]/H/N>> -endobj - -24366 0 obj -<>/P 10918 0 R/Type/Annot/A 24727 0 R/Subtype/Link/Rect[226 520 240 528]/Border[0 0 0]/H/N>> -endobj - -24367 0 obj -<>/P 10918 0 R/Type/Annot/A 24724 0 R/Subtype/Link/Rect[242 520 258 529]/Border[0 0 0]/H/N>> -endobj - -24368 0 obj -<>/P 10918 0 R/Type/Annot/A 24721 0 R/Subtype/Link/Rect[259 520 273 528]/Border[0 0 0]/H/N>> -endobj - -24369 0 obj -<>/P 10918 0 R/Type/Annot/A 24718 0 R/Subtype/Link/Rect[275 520 292 529]/Border[0 0 0]/H/N>> -endobj - -24370 0 obj -<>/P 10918 0 R/Type/Annot/A 24715 0 R/Subtype/Link/Rect[292 520 306 528]/Border[0 0 0]/H/N>> -endobj - -24371 0 obj -<>/P 10918 0 R/Type/Annot/A 41189 0 R/Subtype/Link/Rect[151 510 165 518]/Border[0 0 0]/H/N>> -endobj - -24372 0 obj -<>/P 10918 0 R/Type/Annot/A 24711 0 R/Subtype/Link/Rect[167 510 181 518]/Border[0 0 0]/H/N>> -endobj - -24373 0 obj -<>/P 10918 0 R/Type/Annot/A 24709 0 R/Subtype/Link/Rect[183 510 197 518]/Border[0 0 0]/H/N>> -endobj - -24374 0 obj -<>/P 10918 0 R/Type/Annot/A 41101 0 R/Subtype/Link/Rect[199 510 211 518]/Border[0 0 0]/H/N>> -endobj - -24375 0 obj -<>/P 10918 0 R/Type/Annot/A 41052 0 R/Subtype/Link/Rect[194 500 210 509]/Border[0 0 0]/H/N>> -endobj - -24376 0 obj -<>/P 10918 0 R/Type/Annot/A 24703 0 R/Subtype/Link/Rect[211 500 225 508]/Border[0 0 0]/H/N>> -endobj - -24377 0 obj -<>/P 10918 0 R/Type/Annot/A 24700 0 R/Subtype/Link/Rect[227 500 241 508]/Border[0 0 0]/H/N>> -endobj - -24378 0 obj -<>/P 10918 0 R/Type/Annot/A 40680 0 R/Subtype/Link/Rect[243 500 257 508]/Border[0 0 0]/H/N>> -endobj - -24379 0 obj -<>/P 10918 0 R/Type/Annot/A 24696 0 R/Subtype/Link/Rect[259 500 273 508]/Border[0 0 0]/H/N>> -endobj - -24380 0 obj -<>/P 10918 0 R/Type/Annot/A 24693 0 R/Subtype/Link/Rect[275 500 289 508]/Border[0 0 0]/H/N>> -endobj - -24381 0 obj -<>/P 10918 0 R/Type/Annot/A 39541 0 R/Subtype/Link/Rect[291 500 305 508]/Border[0 0 0]/H/N>> -endobj - -24382 0 obj -<>/P 10918 0 R/Type/Annot/A 24688 0 R/Subtype/Link/Rect[151 490 163 498]/Border[0 0 0]/H/N>> -endobj - -24383 0 obj -<>/P 10918 0 R/Type/Annot/A 24686 0 R/Subtype/Link/Rect[194 480 210 489]/Border[0 0 0]/H/N>> -endobj - -24384 0 obj -<>/P 10918 0 R/Type/Annot/A 24683 0 R/Subtype/Link/Rect[211 480 225 488]/Border[0 0 0]/H/N>> -endobj - -24385 0 obj -<>/P 10918 0 R/Type/Annot/A 38396 0 R/Subtype/Link/Rect[227 480 241 488]/Border[0 0 0]/H/N>> -endobj - -24386 0 obj -<>/P 10918 0 R/Type/Annot/A 38345 0 R/Subtype/Link/Rect[243 480 257 488]/Border[0 0 0]/H/N>> -endobj - -24387 0 obj -<>/P 10918 0 R/Type/Annot/A 24676 0 R/Subtype/Link/Rect[259 480 273 488]/Border[0 0 0]/H/N>> -endobj - -24388 0 obj -<>/P 10918 0 R/Type/Annot/A 38278 0 R/Subtype/Link/Rect[275 480 289 488]/Border[0 0 0]/H/N>> -endobj - -24389 0 obj -<>/P 10918 0 R/Type/Annot/A 38246 0 R/Subtype/Link/Rect[291 480 303 488]/Border[0 0 0]/H/N>> -endobj - -24390 0 obj -<>/P 10918 0 R/Type/Annot/A 36793 0 R/Subtype/Link/Rect[222 470 236 478]/Border[0 0 0]/H/N>> -endobj - -24391 0 obj -<>/P 10918 0 R/Type/Annot/A 36771 0 R/Subtype/Link/Rect[238 470 252 478]/Border[0 0 0]/H/N>> -endobj - -24392 0 obj -<>/P 10918 0 R/Type/Annot/A 24667 0 R/Subtype/Link/Rect[254 470 268 478]/Border[0 0 0]/H/N>> -endobj - -24393 0 obj -<>/P 10918 0 R/Type/Annot/A 24664 0 R/Subtype/Link/Rect[270 470 282 478]/Border[0 0 0]/H/N>> -endobj - -24394 0 obj -<>/P 10918 0 R/Type/Annot/A 35897 0 R/Subtype/Link/Rect[189 460 199 468]/Border[0 0 0]/H/N>> -endobj - -24395 0 obj -<>/P 10918 0 R/Type/Annot/A 24659 0 R/Subtype/Link/Rect[201 460 215 468]/Border[0 0 0]/H/N>> -endobj - -24396 0 obj -<>/P 10918 0 R/Type/Annot/A 24657 0 R/Subtype/Link/Rect[217 460 231 468]/Border[0 0 0]/H/N>> -endobj - -24397 0 obj -<>/P 10918 0 R/Type/Annot/A 24870 0 R/Subtype/Link/Rect[233 460 247 468]/Border[0 0 0]/H/N>> -endobj - -24398 0 obj -<>/P 10918 0 R/Type/Annot/A 34266 0 R/Subtype/Link/Rect[249 460 263 468]/Border[0 0 0]/H/N>> -endobj - -24399 0 obj -<>/P 10918 0 R/Type/Annot/A 38111 0 R/Subtype/Link/Rect[265 460 282 469]/Border[0 0 0]/H/N>> -endobj - -24400 0 obj -<>/P 10918 0 R/Type/Annot/A 34196 0 R/Subtype/Link/Rect[282 460 296 468]/Border[0 0 0]/H/N>> -endobj - -24401 0 obj -<>/P 10918 0 R/Type/Annot/A 28451 0 R/Subtype/Link/Rect[298 460 310 468]/Border[0 0 0]/H/N>> -endobj - -24402 0 obj -<>/P 10918 0 R/Type/Annot/A 38059 0 R/Subtype/Link/Rect[194 450 208 458]/Border[0 0 0]/H/N>> -endobj - -24403 0 obj -<>/P 10918 0 R/Type/Annot/A 33072 0 R/Subtype/Link/Rect[210 450 224 458]/Border[0 0 0]/H/N>> -endobj - -24404 0 obj -<>/P 10918 0 R/Type/Annot/A 27613 0 R/Subtype/Link/Rect[226 450 240 458]/Border[0 0 0]/H/N>> -endobj - -24405 0 obj -<>/P 10918 0 R/Type/Annot/A 38014 0 R/Subtype/Link/Rect[242 450 256 458]/Border[0 0 0]/H/N>> -endobj - -24406 0 obj -<>/P 10918 0 R/Type/Annot/A 37991 0 R/Subtype/Link/Rect[258 450 274 459]/Border[0 0 0]/H/N>> -endobj - -24407 0 obj -<>/P 10918 0 R/Type/Annot/A 37979 0 R/Subtype/Link/Rect[275 450 289 458]/Border[0 0 0]/H/N>> -endobj - -24408 0 obj -<>/P 10918 0 R/Type/Annot/A 31792 0 R/Subtype/Link/Rect[151 440 168 449]/Border[0 0 0]/H/N>> -endobj - -24409 0 obj -<>/P 10918 0 R/Type/Annot/A 29126 0 R/Subtype/Link/Rect[169 440 183 448]/Border[0 0 0]/H/N>> -endobj - -24410 0 obj -<>/P 10918 0 R/Type/Annot/A 31047 0 R/Subtype/Link/Rect[185 440 201 449]/Border[0 0 0]/H/N>> -endobj - -24411 0 obj -<>/P 10918 0 R/Type/Annot/A 30996 0 R/Subtype/Link/Rect[202 440 216 448]/Border[0 0 0]/H/N>> -endobj - -24412 0 obj -<>/P 10918 0 R/Type/Annot/A 28513 0 R/Subtype/Link/Rect[218 440 230 448]/Border[0 0 0]/H/N>> -endobj - -24413 0 obj -<>/P 10918 0 R/Type/Annot/A 37796 0 R/Subtype/Link/Rect[194 430 208 438]/Border[0 0 0]/H/N>> -endobj - -24414 0 obj -<>/P 10918 0 R/Type/Annot/A 37914 0 R/Subtype/Link/Rect[210 430 224 438]/Border[0 0 0]/H/N>> -endobj - -24415 0 obj -<>/P 10918 0 R/Type/Annot/A 24920 0 R/Subtype/Link/Rect[226 430 240 438]/Border[0 0 0]/H/N>> -endobj - -24416 0 obj -<>/P 10918 0 R/Type/Annot/A 24892 0 R/Subtype/Link/Rect[242 430 258 439]/Border[0 0 0]/H/N>> -endobj - -24417 0 obj -<>/P 10918 0 R/Type/Annot/A 37891 0 R/Subtype/Link/Rect[259 430 271 438]/Border[0 0 0]/H/N>> -endobj - -24418 0 obj -<>/P 10918 0 R/Type/Annot/A 29321 0 R/Subtype/Link/Rect[199 420 211 428]/Border[0 0 0]/H/N>> -endobj - -24419 0 obj -<>/P 10918 0 R/Type/Annot/A 29282 0 R/Subtype/Link/Rect[203 410 217 418]/Border[0 0 0]/H/N>> -endobj - -24420 0 obj -<>/P 10918 0 R/Type/Annot/A 37872 0 R/Subtype/Link/Rect[219 410 231 418]/Border[0 0 0]/H/N>> -endobj - -24421 0 obj -<>/P 10918 0 R/Type/Annot/A 29202 0 R/Subtype/Link/Rect[202 400 216 408]/Border[0 0 0]/H/N>> -endobj - -24422 0 obj -<>/P 10918 0 R/Type/Annot/A 24864 0 R/Subtype/Link/Rect[218 400 235 409]/Border[0 0 0]/H/N>> -endobj - -24423 0 obj -<>/P 10918 0 R/Type/Annot/A 29134 0 R/Subtype/Link/Rect[236 400 250 408]/Border[0 0 0]/H/N>> -endobj - -24424 0 obj -<>/P 10918 0 R/Type/Annot/A 29080 0 R/Subtype/Link/Rect[252 400 266 408]/Border[0 0 0]/H/N>> -endobj - -24425 0 obj -<>/P 10918 0 R/Type/Annot/A 25868 0 R/Subtype/Link/Rect[268 400 282 408]/Border[0 0 0]/H/N>> -endobj - -24426 0 obj -<>/P 10918 0 R/Type/Annot/A 28517 0 R/Subtype/Link/Rect[284 400 298 408]/Border[0 0 0]/H/N>> -endobj - -24427 0 obj -<>/P 10918 0 R/Type/Annot/A 24842 0 R/Subtype/Link/Rect[300 400 312 408]/Border[0 0 0]/H/N>> -endobj - -24428 0 obj -<>/P 10918 0 R/Type/Annot/A 28453 0 R/Subtype/Link/Rect[190 390 202 398]/Border[0 0 0]/H/N>> -endobj - -24429 0 obj -<>/P 10918 0 R/Type/Annot/A 24835 0 R/Subtype/Link/Rect[221 380 233 388]/Border[0 0 0]/H/N>> -endobj - -24430 0 obj -<>/P 10918 0 R/Type/Annot/A 24891 0 R/Subtype/Link/Rect[208 370 222 378]/Border[0 0 0]/H/N>> -endobj - -24431 0 obj -<>/P 10918 0 R/Type/Annot/A 28343 0 R/Subtype/Link/Rect[224 370 236 378]/Border[0 0 0]/H/N>> -endobj - -24432 0 obj -<>/P 10918 0 R/Type/Annot/A 27597 0 R/Subtype/Link/Rect[198 360 212 368]/Border[0 0 0]/H/N>> -endobj - -24433 0 obj -<>/P 10918 0 R/Type/Annot/A 27563 0 R/Subtype/Link/Rect[214 360 228 368]/Border[0 0 0]/H/N>> -endobj - -24434 0 obj -<>/P 10918 0 R/Type/Annot/A 26981 0 R/Subtype/Link/Rect[230 360 244 368]/Border[0 0 0]/H/N>> -endobj - -24435 0 obj -<>/P 10918 0 R/Type/Annot/A 37734 0 R/Subtype/Link/Rect[246 360 263 369]/Border[0 0 0]/H/N>> -endobj - -24436 0 obj -<>/P 10918 0 R/Type/Annot/A 24863 0 R/Subtype/Link/Rect[263 360 277 368]/Border[0 0 0]/H/N>> -endobj - -24437 0 obj -<>/P 10918 0 R/Type/Annot/A 26471 0 R/Subtype/Link/Rect[279 360 296 369]/Border[0 0 0]/H/N>> -endobj - -24438 0 obj -<>/P 10918 0 R/Type/Annot/A 25946 0 R/Subtype/Link/Rect[297 360 311 368]/Border[0 0 0]/H/N>> -endobj - -24439 0 obj -<>/P 10918 0 R/Type/Annot/A 37706 0 R/Subtype/Link/Rect[151 350 168 359]/Border[0 0 0]/H/N>> -endobj - -24440 0 obj -<>/P 10918 0 R/Type/Annot/A 37695 0 R/Subtype/Link/Rect[169 350 181 358]/Border[0 0 0]/H/N>> -endobj - -24441 0 obj -<>/P 10918 0 R/Type/Annot/A 25845 0 R/Subtype/Link/Rect[194 340 208 348]/Border[0 0 0]/H/N>> -endobj - -24442 0 obj -<>/P 10918 0 R/Type/Annot/A 24839 0 R/Subtype/Link/Rect[210 340 224 348]/Border[0 0 0]/H/N>> -endobj - -24443 0 obj -<>/P 10918 0 R/Type/Annot/A 37677 0 R/Subtype/Link/Rect[226 340 238 348]/Border[0 0 0]/H/N>> -endobj - -24444 0 obj -<>/P 10918 0 R/Type/Annot/A 37669 0 R/Subtype/Link/Rect[194 330 208 338]/Border[0 0 0]/H/N>> -endobj - -24445 0 obj -<>/P 10918 0 R/Type/Annot/A 24893 0 R/Subtype/Link/Rect[210 330 224 338]/Border[0 0 0]/H/N>> -endobj - -24446 0 obj -<>/P 10918 0 R/Type/Annot/A 24887 0 R/Subtype/Link/Rect[226 330 240 338]/Border[0 0 0]/H/N>> -endobj - -24447 0 obj -<>/P 10918 0 R/Type/Annot/A 24883 0 R/Subtype/Link/Rect[242 330 256 338]/Border[0 0 0]/H/N>> -endobj - -24448 0 obj -<>/P 10918 0 R/Type/Annot/A 24880 0 R/Subtype/Link/Rect[258 330 270 338]/Border[0 0 0]/H/N>> -endobj - -24449 0 obj -<>/P 10918 0 R/Type/Annot/A 24876 0 R/Subtype/Link/Rect[194 320 208 328]/Border[0 0 0]/H/N>> -endobj - -24450 0 obj -<>/P 10918 0 R/Type/Annot/A 24871 0 R/Subtype/Link/Rect[210 320 222 328]/Border[0 0 0]/H/N>> -endobj - -24451 0 obj -<>/P 10918 0 R/Type/Annot/A 24867 0 R/Subtype/Link/Rect[207 300 219 308]/Border[0 0 0]/H/N>> -endobj - -24452 0 obj -<>/P 10918 0 R/Type/Annot/A 24861 0 R/Subtype/Link/Rect[168 290 182 298]/Border[0 0 0]/H/N>> -endobj - -24453 0 obj -<>/P 10918 0 R/Type/Annot/A 24857 0 R/Subtype/Link/Rect[184 290 197 298]/Border[0 0 0]/H/N>> -endobj - -24454 0 obj -<>/P 10918 0 R/Type/Annot/A 24855 0 R/Subtype/Link/Rect[199 290 211 298]/Border[0 0 0]/H/N>> -endobj - -24455 0 obj -<>/P 10918 0 R/Type/Annot/A 24850 0 R/Subtype/Link/Rect[222 250 239 259]/Border[0 0 0]/H/N>> -endobj - -24456 0 obj -<>/P 10918 0 R/Type/Annot/A 24846 0 R/Subtype/Link/Rect[240 250 252 258]/Border[0 0 0]/H/N>> -endobj - -24457 0 obj -<>/P 10918 0 R/Type/Annot/A 24843 0 R/Subtype/Link/Rect[202 240 214 248]/Border[0 0 0]/H/N>> -endobj - -24458 0 obj -<>/P 10918 0 R/Type/Annot/A 24790 0 R/Subtype/Link/Rect[212 230 224 238]/Border[0 0 0]/H/N>> -endobj - -24459 0 obj -<>/P 10918 0 R/Type/Annot/A 24837 0 R/Subtype/Link/Rect[207 220 219 228]/Border[0 0 0]/H/N>> -endobj - -24460 0 obj -<>/P 10918 0 R/Type/Annot/A 24833 0 R/Subtype/Link/Rect[202 210 212 218]/Border[0 0 0]/H/N>> -endobj - -24461 0 obj -<>/P 10918 0 R/Type/Annot/A 24830 0 R/Subtype/Link/Rect[214 210 228 218]/Border[0 0 0]/H/N>> -endobj - -24462 0 obj -<>/P 10918 0 R/Type/Annot/A 24826 0 R/Subtype/Link/Rect[230 210 244 218]/Border[0 0 0]/H/N>> -endobj - -24463 0 obj -<>/P 10918 0 R/Type/Annot/A 24823 0 R/Subtype/Link/Rect[246 210 260 218]/Border[0 0 0]/H/N>> -endobj - -24464 0 obj -<>/P 10918 0 R/Type/Annot/A 24820 0 R/Subtype/Link/Rect[262 210 276 218]/Border[0 0 0]/H/N>> -endobj - -24465 0 obj -<>/P 10918 0 R/Type/Annot/A 24817 0 R/Subtype/Link/Rect[278 210 292 218]/Border[0 0 0]/H/N>> -endobj - -24466 0 obj -<>/P 10918 0 R/Type/Annot/A 24815 0 R/Subtype/Link/Rect[294 210 306 218]/Border[0 0 0]/H/N>> -endobj - -24467 0 obj -<>/P 10918 0 R/Type/Annot/A 24812 0 R/Subtype/Link/Rect[202 200 212 208]/Border[0 0 0]/H/N>> -endobj - -24468 0 obj -<>/P 10918 0 R/Type/Annot/A 24808 0 R/Subtype/Link/Rect[214 200 228 208]/Border[0 0 0]/H/N>> -endobj - -24469 0 obj -<>/P 10918 0 R/Type/Annot/A 24805 0 R/Subtype/Link/Rect[230 200 244 208]/Border[0 0 0]/H/N>> -endobj - -24470 0 obj -<>/P 10918 0 R/Type/Annot/A 24803 0 R/Subtype/Link/Rect[246 200 260 208]/Border[0 0 0]/H/N>> -endobj - -24471 0 obj -<>/P 10918 0 R/Type/Annot/A 24801 0 R/Subtype/Link/Rect[262 200 276 208]/Border[0 0 0]/H/N>> -endobj - -24472 0 obj -<>/P 10918 0 R/Type/Annot/A 24799 0 R/Subtype/Link/Rect[278 200 292 208]/Border[0 0 0]/H/N>> -endobj - -24473 0 obj -<>/P 10918 0 R/Type/Annot/A 24795 0 R/Subtype/Link/Rect[294 200 306 208]/Border[0 0 0]/H/N>> -endobj - -24474 0 obj -<>/P 10918 0 R/Type/Annot/A 24793 0 R/Subtype/Link/Rect[202 190 212 198]/Border[0 0 0]/H/N>> -endobj - -24475 0 obj -<>/P 10918 0 R/Type/Annot/A 24791 0 R/Subtype/Link/Rect[214 190 228 198]/Border[0 0 0]/H/N>> -endobj - -24476 0 obj -<>/P 10918 0 R/Type/Annot/A 24788 0 R/Subtype/Link/Rect[230 190 244 198]/Border[0 0 0]/H/N>> -endobj - -24477 0 obj -<>/P 10918 0 R/Type/Annot/A 24785 0 R/Subtype/Link/Rect[246 190 260 198]/Border[0 0 0]/H/N>> -endobj - -24478 0 obj -<>/P 10918 0 R/Type/Annot/A 24782 0 R/Subtype/Link/Rect[262 190 276 198]/Border[0 0 0]/H/N>> -endobj - -24479 0 obj -<>/P 10918 0 R/Type/Annot/A 24778 0 R/Subtype/Link/Rect[278 190 292 198]/Border[0 0 0]/H/N>> -endobj - -24480 0 obj -<>/P 10918 0 R/Type/Annot/A 24775 0 R/Subtype/Link/Rect[294 190 308 198]/Border[0 0 0]/H/N>> -endobj - -24481 0 obj -<>/P 10918 0 R/Type/Annot/A 24772 0 R/Subtype/Link/Rect[151 180 165 188]/Border[0 0 0]/H/N>> -endobj - -24482 0 obj -<>/P 10918 0 R/Type/Annot/A 24769 0 R/Subtype/Link/Rect[167 180 179 188]/Border[0 0 0]/H/N>> -endobj - -24483 0 obj -<>/P 10918 0 R/Type/Annot/A 24767 0 R/Subtype/Link/Rect[202 170 216 178]/Border[0 0 0]/H/N>> -endobj - -24484 0 obj -<>/P 10918 0 R/Type/Annot/A 24764 0 R/Subtype/Link/Rect[218 170 230 178]/Border[0 0 0]/H/N>> -endobj - -24485 0 obj -<>/P 10918 0 R/Type/Annot/A 24761 0 R/Subtype/Link/Rect[202 160 216 168]/Border[0 0 0]/H/N>> -endobj - -24486 0 obj -<>/P 10918 0 R/Type/Annot/A 24759 0 R/Subtype/Link/Rect[218 160 230 168]/Border[0 0 0]/H/N>> -endobj - -24487 0 obj -<>/P 10918 0 R/Type/Annot/A 24756 0 R/Subtype/Link/Rect[202 150 216 158]/Border[0 0 0]/H/N>> -endobj - -24488 0 obj -<>/P 10918 0 R/Type/Annot/A 24754 0 R/Subtype/Link/Rect[218 150 232 158]/Border[0 0 0]/H/N>> -endobj - -24489 0 obj -<>/P 10918 0 R/Type/Annot/A 24751 0 R/Subtype/Link/Rect[234 150 246 158]/Border[0 0 0]/H/N>> -endobj - -24490 0 obj -<>/P 10918 0 R/Type/Annot/A 24749 0 R/Subtype/Link/Rect[410 670 423 679]/Border[0 0 0]/H/N>> -endobj - -24491 0 obj -<>/P 10918 0 R/Type/Annot/A 24701 0 R/Subtype/Link/Rect[423 670 433 678]/Border[0 0 0]/H/N>> -endobj - -24492 0 obj -<>/P 10918 0 R/Type/Annot/A 24746 0 R/Subtype/Link/Rect[435 670 447 678]/Border[0 0 0]/H/N>> -endobj - -24493 0 obj -<>/P 10918 0 R/Type/Annot/A 24744 0 R/Subtype/Link/Rect[410 660 423 669]/Border[0 0 0]/H/N>> -endobj - -24494 0 obj -<>/P 10918 0 R/Type/Annot/A 24742 0 R/Subtype/Link/Rect[423 660 433 668]/Border[0 0 0]/H/N>> -endobj - -24495 0 obj -<>/P 10918 0 R/Type/Annot/A 24740 0 R/Subtype/Link/Rect[435 660 449 668]/Border[0 0 0]/H/N>> -endobj - -24496 0 obj -<>/P 10918 0 R/Type/Annot/A 24737 0 R/Subtype/Link/Rect[451 660 463 668]/Border[0 0 0]/H/N>> -endobj - -24497 0 obj -<>/P 10918 0 R/Type/Annot/A 24733 0 R/Subtype/Link/Rect[410 650 423 659]/Border[0 0 0]/H/N>> -endobj - -24498 0 obj -<>/P 10918 0 R/Type/Annot/A 24730 0 R/Subtype/Link/Rect[423 650 433 658]/Border[0 0 0]/H/N>> -endobj - -24499 0 obj -<>/P 10918 0 R/Type/Annot/A 24728 0 R/Subtype/Link/Rect[435 650 449 658]/Border[0 0 0]/H/N>> -endobj - -24500 0 obj -<>/P 10918 0 R/Type/Annot/A 24725 0 R/Subtype/Link/Rect[451 650 463 658]/Border[0 0 0]/H/N>> -endobj - -24501 0 obj -<>/P 10918 0 R/Type/Annot/A 24722 0 R/Subtype/Link/Rect[415 640 428 649]/Border[0 0 0]/H/N>> -endobj - -24502 0 obj -<>/P 10918 0 R/Type/Annot/A 24719 0 R/Subtype/Link/Rect[428 640 438 648]/Border[0 0 0]/H/N>> -endobj - -24503 0 obj -<>/P 10918 0 R/Type/Annot/A 24716 0 R/Subtype/Link/Rect[440 640 454 648]/Border[0 0 0]/H/N>> -endobj - -24504 0 obj -<>/P 10918 0 R/Type/Annot/A 24714 0 R/Subtype/Link/Rect[456 640 468 648]/Border[0 0 0]/H/N>> -endobj - -24505 0 obj -<>/P 10918 0 R/Type/Annot/A 24713 0 R/Subtype/Link/Rect[410 630 420 638]/Border[0 0 0]/H/N>> -endobj - -24506 0 obj -<>/P 10918 0 R/Type/Annot/A 24710 0 R/Subtype/Link/Rect[422 630 436 638]/Border[0 0 0]/H/N>> -endobj - -24507 0 obj -<>/P 10918 0 R/Type/Annot/A 24708 0 R/Subtype/Link/Rect[438 630 452 638]/Border[0 0 0]/H/N>> -endobj - -24508 0 obj -<>/P 10918 0 R/Type/Annot/A 24706 0 R/Subtype/Link/Rect[454 630 466 638]/Border[0 0 0]/H/N>> -endobj - -24509 0 obj -<>/P 10918 0 R/Type/Annot/A 24705 0 R/Subtype/Link/Rect[410 620 423 629]/Border[0 0 0]/H/N>> -endobj - -24510 0 obj -<>/P 10918 0 R/Type/Annot/A 24702 0 R/Subtype/Link/Rect[423 620 431 628]/Border[0 0 0]/H/N>> -endobj - -24511 0 obj -<>/P 10918 0 R/Type/Annot/A 24699 0 R/Subtype/Link/Rect[410 610 420 618]/Border[0 0 0]/H/N>> -endobj - -24512 0 obj -<>/P 10918 0 R/Type/Annot/A 24697 0 R/Subtype/Link/Rect[422 610 434 618]/Border[0 0 0]/H/N>> -endobj - -24513 0 obj -<>/P 10918 0 R/Type/Annot/A 24695 0 R/Subtype/Link/Rect[415 600 428 609]/Border[0 0 0]/H/N>> -endobj - -24514 0 obj -<>/P 10918 0 R/Type/Annot/A 24692 0 R/Subtype/Link/Rect[428 600 438 608]/Border[0 0 0]/H/N>> -endobj - -24515 0 obj -<>/P 10918 0 R/Type/Annot/A 24690 0 R/Subtype/Link/Rect[440 600 452 608]/Border[0 0 0]/H/N>> -endobj - -24516 0 obj -<>/P 10918 0 R/Type/Annot/A 24687 0 R/Subtype/Link/Rect[410 590 420 598]/Border[0 0 0]/H/N>> -endobj - -24517 0 obj -<>/P 10918 0 R/Type/Annot/A 24685 0 R/Subtype/Link/Rect[422 590 436 598]/Border[0 0 0]/H/N>> -endobj - -24518 0 obj -<>/P 10918 0 R/Type/Annot/A 24682 0 R/Subtype/Link/Rect[438 590 450 598]/Border[0 0 0]/H/N>> -endobj - -24519 0 obj -<>/P 10918 0 R/Type/Annot/A 24680 0 R/Subtype/Link/Rect[410 580 427 589]/Border[0 0 0]/H/N>> -endobj - -24520 0 obj -<>/P 10918 0 R/Type/Annot/A 24678 0 R/Subtype/Link/Rect[428 580 442 588]/Border[0 0 0]/H/N>> -endobj - -24521 0 obj -<>/P 10918 0 R/Type/Annot/A 24675 0 R/Subtype/Link/Rect[444 580 456 588]/Border[0 0 0]/H/N>> -endobj - -24522 0 obj -<>/P 10918 0 R/Type/Annot/A 24673 0 R/Subtype/Link/Rect[415 570 427 578]/Border[0 0 0]/H/N>> -endobj - -24523 0 obj -<>/P 10918 0 R/Type/Annot/A 24672 0 R/Subtype/Link/Rect[410 560 422 568]/Border[0 0 0]/H/N>> -endobj - -24524 0 obj -<>/P 10918 0 R/Type/Annot/A 24671 0 R/Subtype/Link/Rect[410 550 420 558]/Border[0 0 0]/H/N>> -endobj - -24525 0 obj -<>/P 10918 0 R/Type/Annot/A 24669 0 R/Subtype/Link/Rect[422 550 436 558]/Border[0 0 0]/H/N>> -endobj - -24526 0 obj -<>/P 10918 0 R/Type/Annot/A 24668 0 R/Subtype/Link/Rect[438 550 452 558]/Border[0 0 0]/H/N>> -endobj - -24527 0 obj -<>/P 10918 0 R/Type/Annot/A 24665 0 R/Subtype/Link/Rect[454 550 468 558]/Border[0 0 0]/H/N>> -endobj - -24528 0 obj -<>/P 10918 0 R/Type/Annot/A 24662 0 R/Subtype/Link/Rect[470 550 482 558]/Border[0 0 0]/H/N>> -endobj - -24529 0 obj -<>/P 10918 0 R/Type/Annot/A 24660 0 R/Subtype/Link/Rect[410 540 420 548]/Border[0 0 0]/H/N>> -endobj - -24530 0 obj -<>/P 10918 0 R/Type/Annot/A 24658 0 R/Subtype/Link/Rect[422 540 436 548]/Border[0 0 0]/H/N>> -endobj - -24531 0 obj -<>/P 10918 0 R/Type/Annot/A 44824 0 R/Subtype/Link/Rect[438 540 452 548]/Border[0 0 0]/H/N>> -endobj - -24532 0 obj -<>/P 10918 0 R/Type/Annot/A 44787 0 R/Subtype/Link/Rect[454 540 468 548]/Border[0 0 0]/H/N>> -endobj - -24533 0 obj -<>/P 10918 0 R/Type/Annot/A 24831 0 R/Subtype/Link/Rect[470 540 482 548]/Border[0 0 0]/H/N>> -endobj - -24534 0 obj -<>/P 10918 0 R/Type/Annot/A 44704 0 R/Subtype/Link/Rect[410 530 420 538]/Border[0 0 0]/H/N>> -endobj - -24535 0 obj -<>/P 10918 0 R/Type/Annot/A 44680 0 R/Subtype/Link/Rect[422 530 436 538]/Border[0 0 0]/H/N>> -endobj - -24536 0 obj -<>/P 10918 0 R/Type/Annot/A 44654 0 R/Subtype/Link/Rect[438 530 452 538]/Border[0 0 0]/H/N>> -endobj - -24537 0 obj -<>/P 10918 0 R/Type/Annot/A 44619 0 R/Subtype/Link/Rect[454 530 468 538]/Border[0 0 0]/H/N>> -endobj - -24538 0 obj -<>/P 10918 0 R/Type/Annot/A 44572 0 R/Subtype/Link/Rect[470 530 484 538]/Border[0 0 0]/H/N>> -endobj - -24539 0 obj -<>/P 10918 0 R/Type/Annot/A 24894 0 R/Subtype/Link/Rect[486 530 500 538]/Border[0 0 0]/H/N>> -endobj - -24540 0 obj -<>/P 10918 0 R/Type/Annot/A 29102 0 R/Subtype/Link/Rect[502 530 516 538]/Border[0 0 0]/H/N>> -endobj - -24541 0 obj -<>/P 10918 0 R/Type/Annot/A 24884 0 R/Subtype/Link/Rect[359 520 373 528]/Border[0 0 0]/H/N>> -endobj - -24542 0 obj -<>/P 10918 0 R/Type/Annot/A 24879 0 R/Subtype/Link/Rect[375 520 387 528]/Border[0 0 0]/H/N>> -endobj - -24543 0 obj -<>/P 10918 0 R/Type/Annot/A 24875 0 R/Subtype/Link/Rect[410 510 420 518]/Border[0 0 0]/H/N>> -endobj - -24544 0 obj -<>/P 10918 0 R/Type/Annot/A 44355 0 R/Subtype/Link/Rect[422 510 436 518]/Border[0 0 0]/H/N>> -endobj - -24545 0 obj -<>/P 10918 0 R/Type/Annot/A 44329 0 R/Subtype/Link/Rect[438 510 452 518]/Border[0 0 0]/H/N>> -endobj - -24546 0 obj -<>/P 10918 0 R/Type/Annot/A 24860 0 R/Subtype/Link/Rect[454 510 468 518]/Border[0 0 0]/H/N>> -endobj - -24547 0 obj -<>/P 10918 0 R/Type/Annot/A 24856 0 R/Subtype/Link/Rect[470 510 482 518]/Border[0 0 0]/H/N>> -endobj - -24548 0 obj -<>/P 10918 0 R/Type/Annot/A 24852 0 R/Subtype/Link/Rect[410 500 420 508]/Border[0 0 0]/H/N>> -endobj - -24549 0 obj -<>/P 10918 0 R/Type/Annot/A 24847 0 R/Subtype/Link/Rect[422 500 436 508]/Border[0 0 0]/H/N>> -endobj - -24550 0 obj -<>/P 10918 0 R/Type/Annot/A 44147 0 R/Subtype/Link/Rect[438 500 452 508]/Border[0 0 0]/H/N>> -endobj - -24551 0 obj -<>/P 10918 0 R/Type/Annot/A 26934 0 R/Subtype/Link/Rect[454 500 466 508]/Border[0 0 0]/H/N>> -endobj - -24552 0 obj -<>/P 10918 0 R/Type/Annot/A 26510 0 R/Subtype/Link/Rect[410 490 420 498]/Border[0 0 0]/H/N>> -endobj - -24553 0 obj -<>/P 10918 0 R/Type/Annot/A 24832 0 R/Subtype/Link/Rect[422 490 436 498]/Border[0 0 0]/H/N>> -endobj - -24554 0 obj -<>/P 10918 0 R/Type/Annot/A 24828 0 R/Subtype/Link/Rect[438 490 452 498]/Border[0 0 0]/H/N>> -endobj - -24555 0 obj -<>/P 10918 0 R/Type/Annot/A 43968 0 R/Subtype/Link/Rect[454 490 468 498]/Border[0 0 0]/H/N>> -endobj - -24556 0 obj -<>/P 10918 0 R/Type/Annot/A 24822 0 R/Subtype/Link/Rect[470 490 482 498]/Border[0 0 0]/H/N>> -endobj - -24557 0 obj -<>/P 10918 0 R/Type/Annot/A 25836 0 R/Subtype/Link/Rect[372 480 388 489]/Border[0 0 0]/H/N>> -endobj - -24558 0 obj -<>/P 10918 0 R/Type/Annot/A 24816 0 R/Subtype/Link/Rect[389 480 400 488]/Border[0 0 0]/H/N>> -endobj - -24559 0 obj -<>/P 10918 0 R/Type/Annot/A 24976 0 R/Subtype/Link/Rect[397 470 414 479]/Border[0 0 0]/H/N>> -endobj - -24560 0 obj -<>/P 10918 0 R/Type/Annot/A 24810 0 R/Subtype/Link/Rect[414 470 428 478]/Border[0 0 0]/H/N>> -endobj - -24561 0 obj -<>/P 10918 0 R/Type/Annot/A 43750 0 R/Subtype/Link/Rect[430 470 442 478]/Border[0 0 0]/H/N>> -endobj - -24562 0 obj -<>/P 10918 0 R/Type/Annot/A 24886 0 R/Subtype/Link/Rect[405 460 417 468]/Border[0 0 0]/H/N>> -endobj - -24563 0 obj -<>/P 10918 0 R/Type/Annot/A 24882 0 R/Subtype/Link/Rect[409 450 422 459]/Border[0 0 0]/H/N>> -endobj - -24564 0 obj -<>/P 10918 0 R/Type/Annot/A 24797 0 R/Subtype/Link/Rect[422 450 432 458]/Border[0 0 0]/H/N>> -endobj - -24565 0 obj -<>/P 10918 0 R/Type/Annot/A 24874 0 R/Subtype/Link/Rect[434 450 444 458]/Border[0 0 0]/H/N>> -endobj - -24566 0 obj -<>/P 10918 0 R/Type/Annot/A 43549 0 R/Subtype/Link/Rect[446 450 460 458]/Border[0 0 0]/H/N>> -endobj - -24567 0 obj -<>/P 10918 0 R/Type/Annot/A 24866 0 R/Subtype/Link/Rect[462 450 476 458]/Border[0 0 0]/H/N>> -endobj - -24568 0 obj -<>/P 10918 0 R/Type/Annot/A 24859 0 R/Subtype/Link/Rect[478 450 490 458]/Border[0 0 0]/H/N>> -endobj - -24569 0 obj -<>/P 10918 0 R/Type/Annot/A 24784 0 R/Subtype/Link/Rect[407 440 419 448]/Border[0 0 0]/H/N>> -endobj - -24570 0 obj -<>/P 10918 0 R/Type/Annot/A 24853 0 R/Subtype/Link/Rect[401 430 415 438]/Border[0 0 0]/H/N>> -endobj - -24571 0 obj -<>/P 10918 0 R/Type/Annot/A 24848 0 R/Subtype/Link/Rect[417 430 431 438]/Border[0 0 0]/H/N>> -endobj - -24572 0 obj -<>/P 10918 0 R/Type/Annot/A 24844 0 R/Subtype/Link/Rect[433 430 447 438]/Border[0 0 0]/H/N>> -endobj - -24573 0 obj -<>/P 10918 0 R/Type/Annot/A 24841 0 R/Subtype/Link/Rect[449 430 463 438]/Border[0 0 0]/H/N>> -endobj - -24574 0 obj -<>/P 10918 0 R/Type/Annot/A 43237 0 R/Subtype/Link/Rect[465 430 479 438]/Border[0 0 0]/H/N>> -endobj - -24575 0 obj -<>/P 10918 0 R/Type/Annot/A 43184 0 R/Subtype/Link/Rect[481 430 495 438]/Border[0 0 0]/H/N>> -endobj - -24576 0 obj -<>/P 10918 0 R/Type/Annot/A 43164 0 R/Subtype/Link/Rect[497 430 511 438]/Border[0 0 0]/H/N>> -endobj - -24577 0 obj -<>/P 10918 0 R/Type/Annot/A 24827 0 R/Subtype/Link/Rect[359 420 373 428]/Border[0 0 0]/H/N>> -endobj - -24578 0 obj -<>/P 10918 0 R/Type/Annot/A 24824 0 R/Subtype/Link/Rect[375 420 389 428]/Border[0 0 0]/H/N>> -endobj - -24579 0 obj -<>/P 10918 0 R/Type/Annot/A 24821 0 R/Subtype/Link/Rect[391 420 408 429]/Border[0 0 0]/H/N>> -endobj - -24580 0 obj -<>/P 10918 0 R/Type/Annot/A 24818 0 R/Subtype/Link/Rect[409 420 423 428]/Border[0 0 0]/H/N>> -endobj - -24581 0 obj -<>/P 10918 0 R/Type/Annot/A 42979 0 R/Subtype/Link/Rect[425 420 439 428]/Border[0 0 0]/H/N>> -endobj - -24582 0 obj -<>/P 10918 0 R/Type/Annot/A 24813 0 R/Subtype/Link/Rect[441 420 457 429]/Border[0 0 0]/H/N>> -endobj - -24583 0 obj -<>/P 10918 0 R/Type/Annot/A 24809 0 R/Subtype/Link/Rect[458 420 472 428]/Border[0 0 0]/H/N>> -endobj - -24584 0 obj -<>/P 10918 0 R/Type/Annot/A 24806 0 R/Subtype/Link/Rect[474 420 490 429]/Border[0 0 0]/H/N>> -endobj - -24585 0 obj -<>/P 10918 0 R/Type/Annot/A 42842 0 R/Subtype/Link/Rect[491 420 505 428]/Border[0 0 0]/H/N>> -endobj - -24586 0 obj -<>/P 10918 0 R/Type/Annot/A 24736 0 R/Subtype/Link/Rect[359 410 373 418]/Border[0 0 0]/H/N>> -endobj - -24587 0 obj -<>/P 10918 0 R/Type/Annot/A 24798 0 R/Subtype/Link/Rect[375 410 392 419]/Border[0 0 0]/H/N>> -endobj - -24588 0 obj -<>/P 10918 0 R/Type/Annot/A 42724 0 R/Subtype/Link/Rect[393 410 407 418]/Border[0 0 0]/H/N>> -endobj - -24589 0 obj -<>/P 10918 0 R/Type/Annot/A 42683 0 R/Subtype/Link/Rect[409 410 423 418]/Border[0 0 0]/H/N>> -endobj - -24590 0 obj -<>/P 10918 0 R/Type/Annot/A 42649 0 R/Subtype/Link/Rect[425 410 439 418]/Border[0 0 0]/H/N>> -endobj - -24591 0 obj -<>/P 10918 0 R/Type/Annot/A 24787 0 R/Subtype/Link/Rect[441 410 455 418]/Border[0 0 0]/H/N>> -endobj - -24592 0 obj -<>/P 10918 0 R/Type/Annot/A 42571 0 R/Subtype/Link/Rect[457 410 471 418]/Border[0 0 0]/H/N>> -endobj - -24593 0 obj -<>/P 10918 0 R/Type/Annot/A 24781 0 R/Subtype/Link/Rect[473 410 487 418]/Border[0 0 0]/H/N>> -endobj - -24594 0 obj -<>/P 10918 0 R/Type/Annot/A 24777 0 R/Subtype/Link/Rect[359 400 376 409]/Border[0 0 0]/H/N>> -endobj - -24595 0 obj -<>/P 10918 0 R/Type/Annot/A 24774 0 R/Subtype/Link/Rect[377 400 391 408]/Border[0 0 0]/H/N>> -endobj - -24596 0 obj -<>/P 10918 0 R/Type/Annot/A 42407 0 R/Subtype/Link/Rect[393 400 407 408]/Border[0 0 0]/H/N>> -endobj - -24597 0 obj -<>/P 10918 0 R/Type/Annot/A 24768 0 R/Subtype/Link/Rect[409 400 423 408]/Border[0 0 0]/H/N>> -endobj - -24598 0 obj -<>/P 10918 0 R/Type/Annot/A 24766 0 R/Subtype/Link/Rect[425 400 439 408]/Border[0 0 0]/H/N>> -endobj - -24599 0 obj -<>/P 10918 0 R/Type/Annot/A 24763 0 R/Subtype/Link/Rect[441 400 455 408]/Border[0 0 0]/H/N>> -endobj - -24600 0 obj -<>/P 10918 0 R/Type/Annot/A 42253 0 R/Subtype/Link/Rect[457 400 469 408]/Border[0 0 0]/H/N>> -endobj - -24601 0 obj -<>/P 10918 0 R/Type/Annot/A 24758 0 R/Subtype/Link/Rect[398 390 415 399]/Border[0 0 0]/H/N>> -endobj - -24602 0 obj -<>/P 10918 0 R/Type/Annot/A 24755 0 R/Subtype/Link/Rect[415 390 429 398]/Border[0 0 0]/H/N>> -endobj - -24603 0 obj -<>/P 10918 0 R/Type/Annot/A 24753 0 R/Subtype/Link/Rect[431 390 443 398]/Border[0 0 0]/H/N>> -endobj - -24604 0 obj -<>/P 10918 0 R/Type/Annot/A 24750 0 R/Subtype/Link/Rect[402 380 414 388]/Border[0 0 0]/H/N>> -endobj - -24605 0 obj -<>/P 10918 0 R/Type/Annot/A 24748 0 R/Subtype/Link/Rect[405 370 417 378]/Border[0 0 0]/H/N>> -endobj - -24606 0 obj -<>/P 10918 0 R/Type/Annot/A 42007 0 R/Subtype/Link/Rect[415 360 429 368]/Border[0 0 0]/H/N>> -endobj - -24607 0 obj -<>/P 10918 0 R/Type/Annot/A 24745 0 R/Subtype/Link/Rect[431 360 443 368]/Border[0 0 0]/H/N>> -endobj - -24608 0 obj -<>/P 10918 0 R/Type/Annot/A 24743 0 R/Subtype/Link/Rect[398 350 415 359]/Border[0 0 0]/H/N>> -endobj - -24609 0 obj -<>/P 10918 0 R/Type/Annot/A 24741 0 R/Subtype/Link/Rect[415 350 427 358]/Border[0 0 0]/H/N>> -endobj - -24610 0 obj -<>/P 10918 0 R/Type/Annot/A 24738 0 R/Subtype/Link/Rect[469 340 481 348]/Border[0 0 0]/H/N>> -endobj - -24611 0 obj -<>/P 10918 0 R/Type/Annot/A 24734 0 R/Subtype/Link/Rect[401 330 413 338]/Border[0 0 0]/H/N>> -endobj - -24612 0 obj -<>/P 10918 0 R/Type/Annot/A 24731 0 R/Subtype/Link/Rect[407 320 419 328]/Border[0 0 0]/H/N>> -endobj - -24613 0 obj -<>/P 10918 0 R/Type/Annot/A 24729 0 R/Subtype/Link/Rect[415 300 429 308]/Border[0 0 0]/H/N>> -endobj - -24614 0 obj -<>/P 10918 0 R/Type/Annot/A 24726 0 R/Subtype/Link/Rect[431 300 445 308]/Border[0 0 0]/H/N>> -endobj - -24615 0 obj -<>/P 10918 0 R/Type/Annot/A 24723 0 R/Subtype/Link/Rect[447 300 459 308]/Border[0 0 0]/H/N>> -endobj - -24616 0 obj -<>/P 10918 0 R/Type/Annot/A 24720 0 R/Subtype/Link/Rect[398 290 410 298]/Border[0 0 0]/H/N>> -endobj - -24617 0 obj -<>/P 10918 0 R/Type/Annot/A 24717 0 R/Subtype/Link/Rect[380 280 392 288]/Border[0 0 0]/H/N>> -endobj - -24618 0 obj -<>/P 10918 0 R/Type/Annot/A 41490 0 R/Subtype/Link/Rect[417 270 434 279]/Border[0 0 0]/H/N>> -endobj - -24619 0 obj -<>/P 10918 0 R/Type/Annot/A 24712 0 R/Subtype/Link/Rect[434 270 448 278]/Border[0 0 0]/H/N>> -endobj - -24620 0 obj -<>/P 10918 0 R/Type/Annot/A 41419 0 R/Subtype/Link/Rect[450 270 467 279]/Border[0 0 0]/H/N>> -endobj - -24621 0 obj -<>/P 10918 0 R/Type/Annot/A 24707 0 R/Subtype/Link/Rect[468 270 482 278]/Border[0 0 0]/H/N>> -endobj - -24622 0 obj -<>/P 10918 0 R/Type/Annot/A 41325 0 R/Subtype/Link/Rect[484 270 498 278]/Border[0 0 0]/H/N>> -endobj - -24623 0 obj -<>/P 10918 0 R/Type/Annot/A 24704 0 R/Subtype/Link/Rect[500 270 514 278]/Border[0 0 0]/H/N>> -endobj - -24624 0 obj -<>/P 10918 0 R/Type/Annot/A 35070 0 R/Subtype/Link/Rect[359 260 373 268]/Border[0 0 0]/H/N>> -endobj - -24625 0 obj -<>/P 10918 0 R/Type/Annot/A 24698 0 R/Subtype/Link/Rect[375 260 389 268]/Border[0 0 0]/H/N>> -endobj - -24626 0 obj -<>/P 10918 0 R/Type/Annot/A 41191 0 R/Subtype/Link/Rect[391 260 405 268]/Border[0 0 0]/H/N>> -endobj - -24627 0 obj -<>/P 10918 0 R/Type/Annot/A 24694 0 R/Subtype/Link/Rect[407 260 421 268]/Border[0 0 0]/H/N>> -endobj - -24628 0 obj -<>/P 10918 0 R/Type/Annot/A 24691 0 R/Subtype/Link/Rect[423 260 437 268]/Border[0 0 0]/H/N>> -endobj - -24629 0 obj -<>/P 10918 0 R/Type/Annot/A 24689 0 R/Subtype/Link/Rect[439 260 451 268]/Border[0 0 0]/H/N>> -endobj - -24630 0 obj -<>/P 10918 0 R/Type/Annot/A 41055 0 R/Subtype/Link/Rect[431 250 448 259]/Border[0 0 0]/H/N>> -endobj - -24631 0 obj -<>/P 10918 0 R/Type/Annot/A 24684 0 R/Subtype/Link/Rect[449 250 463 258]/Border[0 0 0]/H/N>> -endobj - -24632 0 obj -<>/P 10918 0 R/Type/Annot/A 24681 0 R/Subtype/Link/Rect[465 250 477 258]/Border[0 0 0]/H/N>> -endobj - -24633 0 obj -<>/P 10918 0 R/Type/Annot/A 24679 0 R/Subtype/Link/Rect[436 240 453 249]/Border[0 0 0]/H/N>> -endobj - -24634 0 obj -<>/P 10918 0 R/Type/Annot/A 24677 0 R/Subtype/Link/Rect[454 240 466 248]/Border[0 0 0]/H/N>> -endobj - -24635 0 obj -<>/P 10918 0 R/Type/Annot/A 24674 0 R/Subtype/Link/Rect[431 230 448 239]/Border[0 0 0]/H/N>> -endobj - -24636 0 obj -<>/P 10918 0 R/Type/Annot/A 39544 0 R/Subtype/Link/Rect[449 230 463 238]/Border[0 0 0]/H/N>> -endobj - -24637 0 obj -<>/P 10918 0 R/Type/Annot/A 39498 0 R/Subtype/Link/Rect[465 230 481 239]/Border[0 0 0]/H/N>> -endobj - -24638 0 obj -<>/P 10918 0 R/Type/Annot/A 24670 0 R/Subtype/Link/Rect[482 230 494 238]/Border[0 0 0]/H/N>> -endobj - -24639 0 obj -<>/P 10918 0 R/Type/Annot/A 38929 0 R/Subtype/Link/Rect[425 220 439 228]/Border[0 0 0]/H/N>> -endobj - -24640 0 obj -<>/P 10918 0 R/Type/Annot/A 24666 0 R/Subtype/Link/Rect[441 220 453 228]/Border[0 0 0]/H/N>> -endobj - -24641 0 obj -<>/P 10918 0 R/Type/Annot/A 24663 0 R/Subtype/Link/Rect[398 210 410 218]/Border[0 0 0]/H/N>> -endobj - -24642 0 obj -<>/P 10918 0 R/Type/Annot/A 24661 0 R/Subtype/Link/Rect[425 200 441 209]/Border[0 0 0]/H/N>> -endobj - -24643 0 obj -<>/P 10918 0 R/Type/Annot/A 38279 0 R/Subtype/Link/Rect[442 200 456 208]/Border[0 0 0]/H/N>> -endobj - -24644 0 obj -<>/P 10918 0 R/Type/Annot/A 38247 0 R/Subtype/Link/Rect[458 200 472 208]/Border[0 0 0]/H/N>> -endobj - -24645 0 obj -<>/P 10918 0 R/Type/Annot/A 36800 0 R/Subtype/Link/Rect[474 200 488 208]/Border[0 0 0]/H/N>> -endobj - -24646 0 obj -<>/P 10918 0 R/Type/Annot/A 38222 0 R/Subtype/Link/Rect[490 200 504 208]/Border[0 0 0]/H/N>> -endobj - -24647 0 obj -<>/P 10918 0 R/Type/Annot/A 24779 0 R/Subtype/Link/Rect[359 190 373 198]/Border[0 0 0]/H/N>> -endobj - -24648 0 obj -<>/P 10918 0 R/Type/Annot/A 24868 0 R/Subtype/Link/Rect[375 190 389 198]/Border[0 0 0]/H/N>> -endobj - -24649 0 obj -<>/P 10918 0 R/Type/Annot/A 24771 0 R/Subtype/Link/Rect[391 190 405 198]/Border[0 0 0]/H/N>> -endobj - -24650 0 obj -<>/P 10918 0 R/Type/Annot/A 35867 0 R/Subtype/Link/Rect[407 190 419 198]/Border[0 0 0]/H/N>> -endobj - -24651 0 obj -<>/P 10918 0 R/Type/Annot/A 24854 0 R/Subtype/Link/Rect[393 170 410 179]/Border[0 0 0]/H/N>> -endobj - -24652 0 obj -<>/P 10918 0 R/Type/Annot/A 24849 0 R/Subtype/Link/Rect[411 170 423 178]/Border[0 0 0]/H/N>> -endobj - -24653 0 obj -<>/P 10918 0 R/Type/Annot/A 24845 0 R/Subtype/Link/Rect[394 160 411 169]/Border[0 0 0]/H/N>> -endobj - -24654 0 obj -<>/P 10918 0 R/Type/Annot/A 34237 0 R/Subtype/Link/Rect[411 160 423 168]/Border[0 0 0]/H/N>> -endobj - -24655 0 obj -<>/P 10918 0 R/Type/Annot/A 24838 0 R/Subtype/Link/Rect[422 150 434 158]/Border[0 0 0]/H/N>> -endobj - -24656 0 obj -<>/P 10918 0 R/Type/Annot/A 24834 0 R/Subtype/Link/Rect[395 308 406 317]/Border[0 0 0]/H/N>> -endobj - -24657 0 obj -<> -endobj - -24658 0 obj -<> -endobj - -24659 0 obj -<> -endobj - -24660 0 obj -<> -endobj - -24661 0 obj -<> -endobj - -24662 0 obj -<> -endobj - -24663 0 obj -<> -endobj - -24664 0 obj -<> -endobj - -24665 0 obj -<> -endobj - -24666 0 obj -<> -endobj - -24667 0 obj -<> -endobj - -24668 0 obj -<> -endobj - -24669 0 obj -<> -endobj - -24670 0 obj -<> -endobj - -24671 0 obj -<> -endobj - -24672 0 obj -<> -endobj - -24673 0 obj -<> -endobj - -24674 0 obj -<> -endobj - -24675 0 obj -<> -endobj - -24676 0 obj -<> -endobj - -24677 0 obj -<> -endobj - -24678 0 obj -<> -endobj - -24679 0 obj -<> -endobj - -24680 0 obj -<> -endobj - -24681 0 obj -<> -endobj - -24682 0 obj -<> -endobj - -24683 0 obj -<> -endobj - -24684 0 obj -<> -endobj - -24685 0 obj -<> -endobj - -24686 0 obj -<> -endobj - -24687 0 obj -<> -endobj - -24688 0 obj -<> -endobj - -24689 0 obj -<> -endobj - -24690 0 obj -<> -endobj - -24691 0 obj -<> -endobj - -24692 0 obj -<> -endobj - -24693 0 obj -<> -endobj - -24694 0 obj -<> -endobj - -24695 0 obj -<> -endobj - -24696 0 obj -<> -endobj - -24697 0 obj -<> -endobj - -24698 0 obj -<> -endobj - -24699 0 obj -<> -endobj - -24700 0 obj -<> -endobj - -24701 0 obj -<> -endobj - -24702 0 obj -<> -endobj - -24703 0 obj -<> -endobj - -24704 0 obj -<> -endobj - -24705 0 obj -<> -endobj - -24706 0 obj -<> -endobj - -24707 0 obj -<> -endobj - -24708 0 obj -<> -endobj - -24709 0 obj -<> -endobj - -24710 0 obj -<> -endobj - -24711 0 obj -<> -endobj - -24712 0 obj -<> -endobj - -24713 0 obj -<> -endobj - -24714 0 obj -<> -endobj - -24715 0 obj -<> -endobj - -24716 0 obj -<> -endobj - -24717 0 obj -<> -endobj - -24718 0 obj -<> -endobj - -24719 0 obj -<> -endobj - -24720 0 obj -<> -endobj - -24721 0 obj -<> -endobj - -24722 0 obj -<> -endobj - -24723 0 obj -<> -endobj - -24724 0 obj -<> -endobj - -24725 0 obj -<> -endobj - -24726 0 obj -<> -endobj - -24727 0 obj -<> -endobj - -24728 0 obj -<> -endobj - -24729 0 obj -<> -endobj - -24730 0 obj -<> -endobj - -24731 0 obj -<> -endobj - -24732 0 obj -<> -endobj - -24733 0 obj -<> -endobj - -24734 0 obj -<> -endobj - -24735 0 obj -<> -endobj - -24736 0 obj -<> -endobj - -24737 0 obj -<> -endobj - -24738 0 obj -<> -endobj - -24739 0 obj -<> -endobj - -24740 0 obj -<> -endobj - -24741 0 obj -<> -endobj - -24742 0 obj -<> -endobj - -24743 0 obj -<> -endobj - -24744 0 obj -<> -endobj - -24745 0 obj -<> -endobj - -24746 0 obj -<> -endobj - -24747 0 obj -<> -endobj - -24748 0 obj -<> -endobj - -24749 0 obj -<> -endobj - -24750 0 obj -<> -endobj - -24751 0 obj -<> -endobj - -24752 0 obj -<> -endobj - -24753 0 obj -<> -endobj - -24754 0 obj -<> -endobj - -24755 0 obj -<> -endobj - -24756 0 obj -<> -endobj - -24757 0 obj -<> -endobj - -24758 0 obj -<> -endobj - -24759 0 obj -<> -endobj - -24760 0 obj -<> -endobj - -24761 0 obj -<> -endobj - -24762 0 obj -<> -endobj - -24763 0 obj -<> -endobj - -24764 0 obj -<> -endobj - -24765 0 obj -<> -endobj - -24766 0 obj -<> -endobj - -24767 0 obj -<> -endobj - -24768 0 obj -<> -endobj - -24769 0 obj -<> -endobj - -24770 0 obj -<> -endobj - -24771 0 obj -<> -endobj - -24772 0 obj -<> -endobj - -24773 0 obj -<> -endobj - -24774 0 obj -<> -endobj - -24775 0 obj -<> -endobj - -24776 0 obj -<> -endobj - -24777 0 obj -<> -endobj - -24778 0 obj -<> -endobj - -24779 0 obj -<> -endobj - -24780 0 obj -<> -endobj - -24781 0 obj -<> -endobj - -24782 0 obj -<> -endobj - -24783 0 obj -<> -endobj - -24784 0 obj -<> -endobj - -24785 0 obj -<> -endobj - -24786 0 obj -<> -endobj - -24787 0 obj -<> -endobj - -24788 0 obj -<> -endobj - -24789 0 obj -<> -endobj - -24790 0 obj -<> -endobj - -24791 0 obj -<> -endobj - -24792 0 obj -<> -endobj - -24793 0 obj -<> -endobj - -24794 0 obj -<> -endobj - -24795 0 obj -<> -endobj - -24796 0 obj -<> -endobj - -24797 0 obj -<> -endobj - -24798 0 obj -<> -endobj - -24799 0 obj -<> -endobj - -24800 0 obj -<> -endobj - -24801 0 obj -<> -endobj - -24802 0 obj -<> -endobj - -24803 0 obj -<> -endobj - -24804 0 obj -<> -endobj - -24805 0 obj -<> -endobj - -24806 0 obj -<> -endobj - -24807 0 obj -<> -endobj - -24808 0 obj -<> -endobj - -24809 0 obj -<> -endobj - -24810 0 obj -<> -endobj - -24811 0 obj -<> -endobj - -24812 0 obj -<> -endobj - -24813 0 obj -<> -endobj - -24814 0 obj -<> -endobj - -24815 0 obj -<> -endobj - -24816 0 obj -<> -endobj - -24817 0 obj -<> -endobj - -24818 0 obj -<> -endobj - -24819 0 obj -<> -endobj - -24820 0 obj -<> -endobj - -24821 0 obj -<> -endobj - -24822 0 obj -<> -endobj - -24823 0 obj -<> -endobj - -24824 0 obj -<> -endobj - -24825 0 obj -<> -endobj - -24826 0 obj -<> -endobj - -24827 0 obj -<> -endobj - -24828 0 obj -<> -endobj - -24829 0 obj -<> -endobj - -24830 0 obj -<> -endobj - -24831 0 obj -<> -endobj - -24832 0 obj -<> -endobj - -24833 0 obj -<> -endobj - -24834 0 obj -<> -endobj - -24835 0 obj -<> -endobj - -24836 0 obj -<> -endobj - -24837 0 obj -<> -endobj - -24838 0 obj -<> -endobj - -24839 0 obj -<> -endobj - -24840 0 obj -<> -endobj - -24841 0 obj -<> -endobj - -24842 0 obj -<> -endobj - -24843 0 obj -<> -endobj - -24844 0 obj -<> -endobj - -24845 0 obj -<> -endobj - -24846 0 obj -<> -endobj - -24847 0 obj -<> -endobj - -24848 0 obj -<> -endobj - -24849 0 obj -<> -endobj - -24850 0 obj -<> -endobj - -24851 0 obj -<> -endobj - -24852 0 obj -<> -endobj - -24853 0 obj -<> -endobj - -24854 0 obj -<> -endobj - -24855 0 obj -<> -endobj - -24856 0 obj -<> -endobj - -24857 0 obj -<> -endobj - -24858 0 obj -<> -endobj - -24859 0 obj -<> -endobj - -24860 0 obj -<> -endobj - -24861 0 obj -<> -endobj - -24862 0 obj -<> -endobj - -24863 0 obj -<> -endobj - -24864 0 obj -<> -endobj - -24865 0 obj -<> -endobj - -24866 0 obj -<> -endobj - -24867 0 obj -<> -endobj - -24868 0 obj -<> -endobj - -24869 0 obj -<> -endobj - -24870 0 obj -<> -endobj - -24871 0 obj -<> -endobj - -24872 0 obj -<> -endobj - -24873 0 obj -<> -endobj - -24874 0 obj -<> -endobj - -24875 0 obj -<> -endobj - -24876 0 obj -<> -endobj - -24877 0 obj -<> -endobj - -24878 0 obj -<> -endobj - -24879 0 obj -<> -endobj - -24880 0 obj -<> -endobj - -24881 0 obj -<> -endobj - -24882 0 obj -<> -endobj - -24883 0 obj -<> -endobj - -24884 0 obj -<> -endobj - -24885 0 obj -<> -endobj - -24886 0 obj -<> -endobj - -24887 0 obj -<> -endobj - -24888 0 obj -<> -endobj - -24889 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24890 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -24891 0 obj -<> -endobj - -24892 0 obj -<> -endobj - -24893 0 obj -<> -endobj - -24894 0 obj -<> -endobj - -24895 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -24896 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -24897 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -24898 0 obj -<> -stream -HWkoH_12М$ǝ~($H*Np~$eݭFꚙxo}ꅊӧ^<hLS>alTՔ_jD&ЪRE*k^M. -^^u,Fi/ D*Sh$JU>.yWuhП|_ߓ5adE#92(&3gMiesMة ae==Rdzs% lhԝґz Jkc*lJQ K&* 2O9d#HC/G1`iYCXԻ<ŀe7{[e2Vpo{'w̽; =s{ǂ1s>'}"OTp2>e3}g{Y-b{KH-ŐS Y=ŀ%bܳ!CR Y{Z#bܳ!Z!KpRkR Y{Z#bRK1d YjZ!KpRkRlX!CwO1` {!R Y{Z+bܳZ!Z!KpRkR Y{Z+bRK1d YjZ!KpRkR XBj),=KRK1d YjZ'b),!CwO1dqZ!KpRR Y{Z'bRK1d YjZ!KpRR XBj),=KRK1d YjZKH-Ő%guBj),=KRKuR Y=ŀ%b),> ,s*u,\+e ouQqV`v[mŢQwy$L> S~~wijfWA:fY_n;UݶSwԆZUmwuru~]EIĄ-l@_ޮꛫٛ//.$T`n~UkNR KM^vM}'8Q~a#8=>ئ& //oO]n|[Ͽ,0T][6_KX/^7J irs]HOC,vl ݩb~F{ƒ'?h<#e}KA燌'˩;|4S[7A0CV&rcZ^L ZiłV̴bA+fZ0DJV*hL+R ZjkQ Y\b҂fZZLZiAbX),AbX),AbX),AbX[),E1` }O1d ZC -}O1d ZC -}O1d ZC -}O1d ZC -}O1d ZCע-N{!Kb}-N{!Kb}-N{!Kb}-N{!Kb}-^{!kQ _r-^,̲ ?Y*x[i/}.U.M5;N3i&Rs8RD)֪Zv*YtF,]SU,jFew1}CGREP*v^mڮ,qbgrܵO?s=8~21Ph,`MCimpڗkNn3x4!vRxuy5>㦕ؗ X,pKfƍu]7é~>CEx e Un(+pߎPP4}1x4B0+lQDl`ӱȮ=~NDg/G94&?W/V yAE]`BF!ì-nSiBInk=\')+߯j7M)E7+?|A<~ xZlvxWo߽?~,I,J64zV-=lQ~=Vu5yN0~+8TwƧvx0att32 x)P'R?e|2!$+8Y Mj.y䪂:<=pffMm|+ T(t)k=}ډ3jn6=<:vݓݭZy`<˩G0S[Z'ix6niej~;{_$ޫ {2e,mbE`O:qӈL*1eHn{e҃{,VeٶwXb3bYUtW/7նm7cLO9\6>u\9F߄hA xiCb= `z~WT8m/ݞ|P_ Bz*IVIp%6[-zГ+;Vj'})R`OeJ(12FܽIn{`'3ldiV4Iɮ [ݮ㫹ZKé]d,-If, ~:uWޚ:0g%,t`$5VHAjR4dŮ*<{)⼄Ow6.?[)V8ONi/juˆ".àEw"hZxW .5u6/(vPMo,;H[am'r^俫/[Kv(:@eU?NDD{5gi[σ&&Y&X~Ԟɒ+#@W375VfN//ptl=1\pK4S{3wsKbEĚY+" Ȑ bI\oؽM(S꽡>_7 iEЦ D#Q<|}L"Fi00~f0,Y}LAb ɞq۫aq5섍mFV6CȇBhxzs|ُY,I , -8܊ydB讖ѩf?5ejl5J Ҧv9)leC D[G|k4G Ӆ&)'|@aÍU-`0hx!D&X=eqEf !Qyt'y28̪;LJ7#sK Yj,qG:E0,_ -Bv&>Dnt|jmoup['}h(Bn?ƞHkuwvTn.DB#A5d rsnwH,E`9n89\WSCuc],-J}verl"2ibyDs_G烰xy?\;Ocxq=W. -Rڵ>c ur_xꖘ/k-CWۤ@ -4 pg8+XSVF!Drل*<}PN9+k܆So.e^znI7ӣ܈d~JtX;^[`G˲&$5 qʖ"^|akW|8; -/> AlS;!:Jsm)rBx ;=RJw>++M'RU Ef&&>Vt Zu!.Kdp XC0?*7TJMB|UI: "C>+ݞͭ*24Ͷ@jy>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24900 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -24901 0 obj -<> -endobj - -24902 0 obj -<> -endobj - -24903 0 obj -<> -endobj - -24904 0 obj -<> -endobj - -24905 0 obj -<> -endobj - -24906 0 obj -<> -endobj - -24907 0 obj -<> -endobj - -24908 0 obj -<> -endobj - -24909 0 obj -<> -endobj - -24910 0 obj -<> -endobj - -24911 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -24912 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -24913 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -24914 0 obj -<> -stream -HWko8_ -*Ctfv`c`wj3ZJr2zu[C璼h:ͻފXӛi"iWF$R%TG %A,)JUEW>ۺr约\ n~S ެB'B"sKO3KTI$O?iY}X]ۊW*AVo塽Tdy29w-kƚg -bLk#%;~؈4R 6[Up؄rϱ#c(,;KJE0d% jO1`)F+FkFkFkFFF'S0O}¨O<)>ԧS13O}ƨ<>S3sOe[Oe{i) Z!WO1`1|Cbb\K1d1=*ƵCsb\K1`1kZ!QV1R Yzϵq-ŐŨ\R Xk),FZŸbb{Uk) 4Z!WO1`1|Cbb\K1d1=jƵCsf\K1`1k5Z!QV3R Yzϵq-ŐŨ\R Xk),FZ͸bb{Ռk) Z!WO1`1|Cbb\K1d1=ƵCsa\K1`1k Z!Q0R Yzϵq-ŐŨ\kR Xk),FZøbb{5k) ƵCbb\K1d),|k4iM$z FZ#b׻*YOFHz,KEX/+hb9}{sV\F?񯫏,{x' 5û*]Q2"5c< 8K5Qf34ʱF+G$~\78ʟWAɞ7=׻sMB<"0c 2FE^i}p{Lm$gu6m.'qGO]C7JX)ԩxV2[zj(zUEp]v~S}~C~g8";YNx&oOGj1nH)z0rxlT/E[1T>{,PwEWVUUΉu+uUGѹfWj,!M8# tX[gf=aA3H~G 9#853>*® -32mʝk1[ E0)vb ĮEuuF6FkHLr!=}#ʵ^LŘ?5~%6Rہk "WD  7e?M\;M`H伿Ok3;؝+۱@!ynS oFIzI&V؎kNQf*˨omA_[K=Mh`ajsZtc<NaUS75W8'و,fZj:ʵe}:RlM׽\0] -'Im?4 ۃ[}He7'B1^e7\0:(|uލ =f,8 e |E^* Ejݱr% \"8MAyԮ*ĶxrIԙٷ׋lTy/N)ػ-Lom=<,÷3 #Hdv7\Jκ]npKJ㳹~Y?է/K] -Rr.\CʱC-mq/;t\&Mhm@o2R _~J~˦>Vs -Ѻ) xx3;U\\f$(D$lYg\"UCs!47gjz=BE/. -IQT[vXEnڲ#ĖKNȑ! p37oRӾv;C6fIWISOCu{Gӡ9$\ʋI7 :g*H;Ȃ m>V+-E]rF ۟uG9 Zd:R`\.9K{mKk*%]K}aFZjm5켱?K/xO_+꤮LfxHڵZPʊjtt z_Ы@9 -a=*K@y_khSzZUph2TjPnv뾊~6u\I -ఞtתo*Ø4?_IiF@( B.UtE~O/Q{Çj/ׇF"E__|+F8gIk -06v5j(zv!$ :@2''t ,NӅVq1 -dW>U;WI¨s(5w -Jqi`X gCV\W1P2[N*.4 -(NP( |F赅(+z.KR'N=".B[N[2}68k9t tlsp|aJRSOrdС&Rj 3fi*z.MfM4.8cQ?@fVYxQ!|,Ek}YTs -]!zJtBe׵t׺MV>W ;/TxU 5$_ Ng" ɓ1tpQ&>>/P 826 0 R/Type/Annot/A 24916 0 R/Subtype/Link/Rect[93.6010971 341.98999 428.834015 361.670013]/Border[0 0 0]/H/N>> -endobj - -24916 0 obj -<> -endobj - -24917 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24918 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -24919 0 obj -<> -endobj - -24920 0 obj -<> -endobj - -24921 0 obj -<> -endobj - -24922 0 obj -<> -endobj - -24923 0 obj -<> -endobj - -24924 0 obj -<> -endobj - -24925 0 obj -<> -endobj - -24926 0 obj -[/ICCBased 44656 0 R] -endobj - -24927 0 obj -<> -endobj - -24928 0 obj -<> -endobj - -24929 0 obj -<> -endobj - -24930 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'd \\ނlž~'UczKA&3g|xԘOlVvH ޔl%JiNS#/uǻ!Tӳ鸔v -a ƒ=jȶ>qiBV- -OM԰Eﮢ$i$wp3O0Xe~[q=r`Zex-Tеѽ4 ޱ -wn"y)endstream -endobj - -24931 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-64.9199982 -64.7399979 616.919983 769.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24932 0 obj -<>/ColorSpace<>>>/Subtype/Form/Filter/FlateDecode/BBox[251.824997 178.080994 272.945007 156.720993]/Matrix[1 0 0 1 0 0]>> -stream -Hw6PH.V0PP(NwrӋL ,L - ,  tBQ*W@{ endstream -endobj - -24933 0 obj -<>/ColorSpace<>>>/Subtype/Form/Filter/FlateDecode/BBox[310.649994 177.612 331.049988 156.731995]/Matrix[1 0 0 1 0 0]>> -stream -Hw6PH.V0PP(NwrӋ L  LtBQ*W@b endstream -endobj - -24934 0 obj -<> -stream -JFIF-/AdobedC     $''''$25552;;;;;;;;;; /-" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?侨}CF6-n^F8$ >+]ag(2 ?DgXYmJ gfosD05;K\>翳>3wڽ_Cv޽TBmnT>Σ[|Smձ/s;MdF~߬tGQs01n7q.ˎ+~gLǢթuHhkX 7S:"?u7fՎ_N85'Ag9[?$~Eoceɾe_S뫣7uk 5h7P[%99tn1qP cn#PY:FuWon;w5@KVNeyYkh-vr{1uޗJ/d;{n]yC`3b H+vwbŵ_i..lĽ&ᇅ0r{kch ۖt쵢v%1۵ڦo -SivXiv;l-_V;uLŮ2p&tp]8XR^]~v-mDz f;ϯ_W\?>w$}|W$wv3P\m`K|ۻs-ߦOmK~endstream -endobj - -24935 0 obj -<> -stream -AdobedC - - - -   <<  -  !"$123 -#%&'()*456789:ABCDEFGHIJQRSTUVWXYZabcdefghijqrstuvwxyz?m']"TCGwd֘\Cr&fgX -p,f)JS4 & '䯰қWWyM0QQ(qD@.WzL LmP׎{B&' n7̀vgy`3t5f]jGRm0:%M2!QQR bπF) -u/rᕦ+eOhXiEHJXHJZfDتlZA0P誑J&3"z_y ZYިr TX ab.hz -UQR rL+G-I"fU*94Cd%֫'l%I$'01rԋFyU3d̥0 -I)ġT@N qHQ5ls49kEtFR2ғNG\FH#Zhy_PF;-4/JGp4=x $˖SMfRsj ,I &ԐZ)0 xşJe=6W}%ff(΃I@P!(fiZ3[VP0SJVs{4zt:apK81 *+F53hJ9#Q[1B!&'Lۖt] &2H/u[ -6INk/y> -stream -AdobedC - - - -   <<  - y!1A -"#$%&'()*Rab23456789:BCDEFGHIJQSTUVWXYZcdefghijqrstuvwxyz?&IZaNɑUZ$`T(P4q\B's'R#vb92tMyYS@ -E ._ [+y cE|W4/7l~"诊-]ƤF!Um8gFP"ALgD(A0R6ÏOj{R5-@UV5f'Ah)0Y( -PFeJm Nެwp 媆衁y:(`^N6C`sa4á3A#pe`o`GiMSbᘻ"S&HHRXY 6!@f Nu) -_I'| ̉"( C0{ R+! ރԳLVE,B@as˜Buxx vm`zFҎ `ܴPtPtPq*$T)A *ڤd(0 [M"3MN]N_X'df4HqM Bb1HiKS! kz-{ڒ:$}22E09 (֯B!)A^&~ S/Z\tPtPsJS,g,YWA/}*Y"{a3xjJ!I⁹|dH؛Y{ fJ&AUQ,@'c53NZx~uy]|޷yHШQh- -V\"U`4h fB /:%hjpoEP("VBlťikr:|BӾ']4-;|%:|BӾ'\UJLqe1Yt阠n:TeTҵh"R@5=$_1U081.%Mt " - LQ -AL n9X! Qmͭ&&:=fT@T yFy*R$NS Q [袧6V+f"l{Z;'UdN -ZP26J%[Z(s`I HqlF11s$ }=pPlxʝO&F(i\0' ;}s dd9JcEAs#@`霊&s&f(P^XQ*Ikq D*U*Sv]~HLVѾHx$&g+h$(PAcdwpendstream -endobj - -24937 0 obj -<> -stream -JFIFl{AdobedC     $''''$25552;;;;;;;;;; {l" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?TI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$:ϲͭ {>hcgKz_cgKz_cgKz_cgKz_cgKz_cgKz_cgKz_cgKz_cgKz_cgKz_cgKz_cgKz_cgKz_cgKz_cgKz_cgKz_cgKz_cgKz3X7"n ekFqs8r~?2_yW@sM5\{- oqޗqޗqޗqޗqޗqޗqޗqޗqޗqޗqޗqޗqޗqޗqޗqޗqޗqޗq޼/\.ٝpk,{Z$h'_}G.^nMk0wD4|>]<3%㿽/3%㿽/3%㿽/3%㿽/3%㿽/3%㿽/3%㿽/3%㿽/3%㿽/3%㿽/3%㿽/3%㿽/3%㿽/3%㿽/3%㿽/3%㿽/3%㿽/3%㿽/3%㿽r[3vu4e]SVdpXλH]^Uֽ"=ВQy!# -,Ǫis;'qޗqޗqޗqޗqޗqޗqޗqޗqޗqޗqޗqޗqޗqޗqޗqޗqޗq޸Oc`u\L˫6tĴ+/ruw?ZX:ݽOsm{,ȩi" \I$I$I$|_2S+uu} Oܪz;,eV;VAD!3ume8&QI$jPľU7Wc8e m.{k` 2cY18H$Kziy!kM07a>k:xk-&4^7~꾡_cZ@wUZ:I$I$I$I$I/iP<9$ft7z.]Y ]JO=XId6u:)n0;~eY=;& @}oGb3>w}u&5@$!:Ⱦת{i$8:z~}ypq^ >HGuzُQϢxĤkJ$$I$_, q~ذH =Z ^%l=1m./'A JW%ֳP햁[}Uez*\54 I$I$^cY_ -;f*?Fi:&I$I$I$|_2Tjx\SeH\ƷYq`uvZA%cTh8Ԟkig}bkhg@DI$o i1㹫qmlu!h.q<0ov Y/.`tv,8VI$Υ(YTUeCӤ?;_{uKj}$NUb,:a.?Q˰Սslxhhae%YKH$Vgq]URÚd)eM/$I XPaT^=vAQB}{\^w}Ǘ|WS.,.%_'$eIk3YӾf_Gem{֟v CiV~s^$̹Fߌ<0?z=ەcb1%ycl*xI5Ye-vEai;k7EwP{cU'^J[߭8Ō/?c@@5`fSy}Ƴ!KD1pO*ٓj7=5u!K $$8tŏN+[O~0wk2[m=F7ޘ5maBrZyȻ;l? g_ft]MyXnkEWn#Ijb6܃6atjQS#ͫZ ^%l enJ uMOJ^v gzh^-1g*g4GX7V,r5Isq0KՖF8uAn䳾M?y!T计V:cr$OMoBn\;͟I$I$^eY_ -#q <1k?f\I$I$I$U1fR={0Zoz|{ݞ:E4s49ws(]@oQ`se3k9:A`q7QxW~ 1ccqli*Z؝'1clwwrؘdҝ5R싙>yU^*↰Ifai}`z6_*{=Kz^l<2{^_CvDMSriq}R=nB슰 x6SNCZKϺ{Ԓ^YԿ?|ƳkKq&;uP1|t ;mOC}b7 aOಙUoۑC naomX;p:j:kVѹĵ@[Uu<+?A. ;vΐFUYY;vi| -ņ}eE Ǯ\gC{Y6Mv7un o&K_Ak6A7|jl`}en[\%R]b[.cd3ZOʢ[X&4K@ǀQcV;qcZotQm8=p@'.=,A,\jQ]Ruc8 Vv?Ȯ$Meb cy ]Tԕ||zg߬v+jznr6F{3ݙ5n6ܻ[]{c 77XJXGHtl^ښ {ƞؔl~UVV*m.uomdϮjNeu>E6̴zdzN- tc3: =J˘Zݭ J?%BM5>Xsx9~5mCtZ@ $)>sS;mkalZձc, %.ٲ[Tu1xkn p.mpŕ|le-m9ʠuz6ʲR=7KØXVC߈jk!q"Ƈnb|5Z2UI qvN'z9a׌,}t 947Dp$CG[?B2ŇN·P]GSk^|sC޻cggS߲X{iţbg:+c#4nZXq{sgYUp:uan]IlvFI$I$/?WP՜V ]&%|K?f\I$I$I$U1X\o7Onk4}Yo!Gn9al s.nI*c;D_=޿:QߓǴ٣ - yfIEIiDg'f?semV]*_U /Y-ode`9+}8lo"Υ(YTTHh >r~_cZ@wUZ:«WբVi#Q? -ĥ< -vޱf={a3?#(ݒoi+z[NZ`%sE eV>ǒKW8V%]?n1c^[u']~8[Pnͦ'ȭ,,Ft7Lmٺ6Ou:<Y4]&haMkzV3tbUE@vvGKFZ<)#CCH]" -ѿn_{ e$Mf - -aas.1q[RoZRU~?oJ.j5R`$Tm؎e:9>K] -6-Ouk͎P&pDm5ӂNOoo6sšI$K)~r 8qlHeO8?aӒQwD-!{,m;3}W6lk>lW4k:funmac]Cio"}2eYZhA];ƣi,;k-w\p%ZOvN'YEeXma٢LutN=:=ٴd ]I+*:]0K{\|v?TDz`} #R@"u*X=6<̬s_ǶǷdmݰӸ^;7#5E6־1X}Ύ#t.,ծ%_'$,V>f'O=W^;͕쮻 :ͮn͢nU[ǢZ\5( qQd+,욝[Eem}EVAo^^<{ƽծԳe^P)8ퟴ^V\edK0 >l7vm}^mUZV*eEsv<{羼`:[2zmcּ;7M{(c.m[`}ޓIwTE-jv;}[ ]_}t?z^wQ"V{m'my$:-I%z9cPW2NYSb_(x(gHFX]#}kPT:_WHD=JoMs,m\4Ljc8nhU}hSX~N=A|u -gW'*X/TwǘLZ>X1GAӟӨc-=CHUf^,Z@Tw^CwQlӡa-i3Uޕ%UPi$I%?\E`q 쉁ώ?ijĒI$I$I%YdsZG -u8vSm)kNd>PNPn.C[w}amXnlK;!k*OQұ~{^k".q!U2,md2v ΊLZY_Sh pp⮤euj31r{t|dQ}6FMn+3Yӝ`64>;+)$K:gQOl[\[@L$}WWON;qqOY5~m[S:?}ɛ ׹[G30< w1%HcFAkA'@+yekZ]Nk-{K`-dNxha}^}׿Ky^籍a67{5 8R[UWhs);l"ep - 1ܚȿ:;;$ί.m2X}='Q*oC n>S~͹s˵.|ʻ^~לjkv ?% =Akuգ{ -6}zƇDh!M$MQD˹÷lpޤ<ՄH7*; -uL&lh Sb`ƺ_cLJgpcN ~'`9VWս {힩n0z#` =&4Ӯ9ݢϿ#/# -;e\Z hcv5OϬXV+c\_M{`V=2hap. İKKLa-/yk ś-> -Wɵy_4ZX_Ӛ?3R> 8 ~UFC(ȼ 'cd% 9WĶGOәzۭuU_X\{V~?Rkہ}\)\\ݍmFc-2\kkk!Zy$.0 ixSK~+_CVypm#t4qK?f\I$I$I$\?jn}Ydףc}Շ,#K,i->e!*~=4]z8Ͳm CP2> nCG?Cs-qFFF[;}sD\VS}Y )p{dء}Aw0vѷw*t_2#R#-Fu 7qd A>:!}?6hke$$qqu8WC+`W> \@#$u/G(TT Ml` iWjx]W??+ +]:H_SG\CvSF -B/\ǢK)fu-k XC}K,k1ߐkXSַ&Uqw}V24k^\t!_v[Sf5rwo}kd DCRcSӾ5C_]h6OLޥsT}B oL&7Ku*bW>^(nv`Unp;uzIsҺZÀ5&?z!\; w -(ŠZ5f[RoZRU~?oK,tB 0ݛFKmƤlt-VWSc+7E hչ1 ~%&Xyn̑:W-ȶrenhfX<>As)UҎ%ӭ6Rn40=vWo++5 -qweΰaL~P*c[[uq_gnW̏Ӻd7@@\{MTz֜`,c49>C*VQf h/ecwTty$Yc|D3qu۾A?jY6[eE`p=/.n}.YHʋjkXC:)e6mFƒNCGFIp^:??X;#Y 9tOg 1zrJ/hzrdXZW`@-u&k"4):;2E>E 8˭>>sv+͸̪VK4v =+իc_WeY66{v!Qγ&%@]"wN5Ѹokuc6ֹ1A0=XsCүb5af:"͡ԧ`V?Ұ댖*YDz5kQFK7 -"?WPI4@|t_ V$I$I$Kr{GPٵF\2ZZ7=Og3דZYo=\®qmn՘8XuT'1Y݈2; Z7+#ޜ/wOVVj-O/mvtak[8Zo{limуUYOѿzJI$uK+>ߣ<u_P1|t ;mO۶v@:GNV-TVsMd.>/vu=Nu60kbc2llK%ϳ7&l Oղ1oUiޞF^k:#24..ii'cl:Ărh -)Ǿ 3p=F6ngu@ldd_"6A? aQCς;qnk[YNfx@=;qv{wh1͓y&E~y G^?5FCc^*sAvIù SC8'p2ƿ65Y$NwytRoRRU~?oK'fs6:涴= -..;F"]Z*v:me/ ƢQ1gIZַ{Oc5ksC&{f8x0 -p!͵Y`<H߽FϬ=:,ȴl%00Fy`?$uI[_os?HY!Ud8~ߥ>NoaZl|XhSŮiQ.GGﱸt@)tOg 1zrJ/:K:7n]C7t|պ=-[hV}A1P=BzuuF3j~-WuZX_iNy!;P܌AEοXDi\dX̑@Ώi.?;_}l$}%SkMapGI$c-ҬљY} ߽f?C2eSN@ֻzv0-76 K̾+_CU'}7HuiG?f\I$I$I$\?h ???+YnV/Ks|Gt|7+V2+_t s6+]?Ogԯl~,gЯbwFnL}Pz53@43#?t -qE HE^;3#5EK!S[$&y@;]Y ]JO=XIs6cgÝkzezkH(hUdIͦ/kȰ4<:1x{mc1l+`ue..uU^:Sh8sh)~rä?{[]ˆf'(;PQ޲{ttنWX+_{]?+hom=#Ycc[~?wy -oRgwǡrZqc8 c;a@3i$I$ 4#kS+7+-{X=ܑn/2, Yg i{\7xp"G?m^I$I$I$|K/0w5\U@2+`>!]9aW`/ht;!o Ǩ,i:|d <?g`NS>;?MYX"F8* -hc hLcw3ԙg -Su4/zKcH;{.ƓGݏQw4eksю-< #$K:gQS̲W+q7H1V򺟨~WVt6V2,Y4,uW\ z-iWU5jþ_j<5 -\kiOoYaa@ݔYgYs|ԺN~VK`nK1`M֞ťViw< 6ն4:{e uo+'s[ :-$ɮTK!nS=1Ȳv {`V]N$lZnEuaptkZֈ@u㹟/QV3CS:I;Βޤ<Մ=S]4{'f{v;˩%SM/wWFQPym -Ȧ΍FuYOk.}kk59]S;YUmɩ¸Yuv郹Y0U66u11OǙCn{kZ9Đ ?rk;p~>@ {@ PAۏCkmb@ګocDj 2tqdjtL5E5m p}Zwuޤ<Մ;3un67s6Ϥ5gStw[Eպ_{~>jf3qk2>̹m,q\e?(3Qs5O_U`.ߣȳv$<@ШgMu ap-&>M5 aἙѭ DI$I%g1g֝x3.%z9c1,㴇nx'9%| -J?RLe]=ݻ.9Ҵ]p{f[}u'3cVֵX-`y-n>#~u35{>3>lC,;V=卺8=&4p/׸ZvLFA 6<jI$L9E͐hCja1Z[[^eY_ -"!C]"N|3O[W$I$I$I.c1."|a]$D8>uoeaSx,-$Ht?knݫGav2~g'߿YIi|$ioZb0ahw$8h~ʚs\xnX@+I3wCc~7)iqik@;UĒIygRr(VQcY:O>_cZ@wUZ-:Zǂ5AB 0QY.2Z50:qy;BZ:2bIsF-0>+ Ļ(Nց'Iv;PRI%&0\|ý݃~$"7Zys윢%wg7߈(ɽ% !l [Cxs?_ڙ6L;-y)e7w*?O7a11iYU]ǽ09ᆽУb==h!ڎU~juDyWuM6$}4Өik\ùD;Fv3zf3CO| -[UCh$ĩ#WhTr }s\>{GNz7QE[\Pӳ6"벳5?~Tl W䲦 %t#t^ƖÏU)~r68 @ӷ~ '9%| -J?Rob9XK WmYG-wT;K^]T!`;HsfW: -z^`Mߧhr i#T}8-ox{ H{-,,`#EX\B";ڭ1;!.46 }\em6Ex/|Ռ;sjx#`ݫ'UeRh?<Y/-hȭNrO~__Yw]=#jsk `$I2t)טqW¿c_& xPI$I$I$uc2~{n%c4" IkiN9i4>at-ʡ79&;$5Ӵ kHb4p I3։qh$΁:IА0 Btu/G+>0{K$# @+'kIkUh$u\iC\)$vck/<-:}04 -kZ!tLDS2V2`FI$w3e(iq;mqtRoZRU~?oKU~{n X %2ߨj[m0 =+ 6bif~[L?R6<=(i2ZZ7:HSܪY[I$7> -U[22m={R֐(Ͼ?4﷣c&]ics MEc״8HPw[keDID3)\?ׯN--o_c$V25?'Dp$CG[?B#vC̩H ;.-CdpZ$$u776ܧ6.7ϕ]" |TVoL85}yI7sxi}YX\[ :DI$IyQe|+j` bI`=}t_ V$I$I$J/?,2=h'xbI++7lVn%U]M5ڐ_UvtnsK_ vf o}6kxЖi}қ+&̂״2N;AuXiidK?ʔm:.[7yaL8 kiNzMz}evF;mZ]&u7&NeFn[|`{m~K..Zx@g1aipqHN+s\<2I+QygRr)Khn$ .?$M)U:Or\eTVp0n^*eL6I$I$^;.l4 r_CzV^S3mK5X|`2ںΰ\w=z۲cm˪ʹ>b,ݨhisCf-gtYU9{j;Apcm[,5 u:.,m6u k`<ZY jQ2q8Bdf_SjkS(1zKns ]Qkd7|;ٶ:uѤJ~x[֪I$K)~rî[ݫO-{|a8?aӒQwD-!r^>Ʋl六$ :M`U}f~`aK4X힩 mǢ׻y9ˆtF5 _ՍSw,ʐ7?i5⛥}&YYFkx ^F X݉y,sZ]zDvS,u̴C[v6!CK]E.nbcߎE$V[$s2ҺI$IyQe|+j}7Wq%d.?ijĒI$I$I%_̟2(fE.8G+Ucx0~J)$bbd|Mv"1Cp$ND=e6;iB >jgfS!1kL>k|rq(Yucŭ~-V?YG"Qj:!>z"zW?/K#94)P^XEZ&#I$I/kꊖMMc[IN3~.]Y ]JO=XIx<\, --/+<%K}eS {˟e76ms›:5ߏM>6Xkv<8ȣN?Es2=zl{ay{5y./ͿնݬR{W=).x94R\7 .+8W鬹6 ktv_YeW`;qM.h9@ŽX˳ 1(s/i5AVۆrيnhgՓ=~[I$K)~rĤ@q۽z'9%| -J?RE!B8/?KP}ߢg<h3\ c2X ugcӃW{#s~VI$I$I/1, TO6$z{}O⟣?f\I$I$I$U1XXsܶ dixrxlܶ6bH'sOñ;Ru&Tet-mG1ls_k7 q$wLΛjC!%#ӰK^%$~2kmmH:ngs* 1Bx<| Knpy\;Ot!_*'vRV_GJM{aǴ .&D|#z.;ט"}պ`טp1:ƚ|U ck-f5nzwDI$I$fK5E1eu4yg _CzV^e]H`8"{"ƀG@:O#[uX=ϫʚ}:iUۓC:yC #-nKsʺ4Uumnc%nYX8苕ou.Fz2[a6EqkZ}}gUq-`cKRz}'䃋j9' Ք>z7Vk79csyIԾ˘1$ƻHgVB#|zI$Ip^:??Y5:&`x?Dp$CG[?B)p}Pu~[k[YYNюs<7Vװ$OM9M\:}YcC` hD1kG\ܼf}w7˲ͫ+%w9;p&]Q:.-I$I$^eY_ -8ACG?m^I$I$I$32ߓSrh&=9&UgPuLTr{]K ||I H24#W{̗n̏Zuha;rxwb<ȏʢc~.uL;ɺE\usYɂCØp:>I$\?ׯN.;ljg!L0:'9%| -J?R̺1m$;O5u,~I#6:LFy=c~dnPcqּ[ :D.˥.=`/6T sDjuy-'|֞E:9Um~35Н9Bijr6'{[mF(3[s*=vVǰ\Cyh0CDG>IP/kkI -15͆:f`I$IyQe|+jk ibw%|3O[W$I$I$I/a=V\fp -?Z:MxoIǎ[k- Ox?Ob%ՍN67 {݃O [7E9ƹ}]?'>EVJ:I) ,o{I?J$GVV8lnE@oZ;u/G+:(0S^ݰ$N'kIkUiYI.n_}.qKWc/pXGC\z_PN&PNJ0sN(g:Ơ!YcLCîy+;/ZܫhݶڐƎ&UxwQI$I%QFk[s-L<+_CzV9-%'UqkdzQ-ߤ渳ٯcn}El>%7T 9%kyջG9ۣxO6PXr2qfstu<\CK hX׈i.sy Rl;8|: 9 \\4w7>IΕӱ}ծY!ovY'EssouvZI̹hvNm&cD;f9y/S?1癳>=jI$_,ZZ n'Dp$CO[?B\q18I=v^n-1jrqj9ɿWį"c}~ɧ" Vn\1.έߥn;O꣞GKۏuO1r=Pn?^NQeQ]cL:UĒI$}qW¿8?cen0L%|3O[W$I$I$I/<{uާѲlm\v'X}t1,_x"8.zԍuX]ms;5x+Av_1f>9c^w ~ێ:_#\Hki+7տ6/rMKo,%5!`c}b8FU\<+\3jګuaWۨ^<9ޟ[Uk c AkJ;I.n<[y%KQsm2X,fا+q `~vI<;$I$̿wƿe%CGt_RoZRU~?o?aK]fhVh5.{?w -k hxwG}lcuc1qL OeodϪ<JcqԖІ\ZK;I+}Zee:K8[=0hm_oޣhZ qJ|lϏZ$I.GGT-kwI. F8%8?aӒQwCdp![mNZW<~y]~%0rx]û,Tw\gD-?jֻunqfeY[sgB5cms:ߔA_N㳤wm=AYegqbȠVZʚeq GUƘk齍> $.}dG:K_thNxarznk0cܓv;d9BhXu: 6?M$n+m>M5eVO>pv9u66a._cZX|~V,IjLys]}CؿZJcnkC|UcOoe,\ײַ[(gR!WWEc&5U<^:H8bo]=j^nq1qH4ē;~ `DI$w?kjf֖ͳ3$3+{]Y ]K/ Ŏ4:jg{roHEk`;/2s#h3% g)3#=gOlxhK]s=5Ek7 cd܋LI=ϯ`Q+acKsBI$K)~ra#vsT'9$'W37ww*JiU5WNM-kq&4;j,[+o~NΔ+gwsc_WzP.8XH]X+8W}&Ǎ[:;k - 辑~mZ$I/1, U]&Kݣo=?f\I$I$I$^aefbuՏNWl\gEƠ84h9뾤u:o#6D[!McQzN,ɭ8Ӣʋ/`N^{ZTsq&j}BԅSCa8/fc q5 O58ۧfKpoM}@5չ?WY8t{]mLJ;Z x.I}mm.> Sls жq!.p璬9_<5հtn#i 'kIb籿gf$.q>ygV}s[Y^+W;a7h]tjc׍QU58 [0 -aloglNI$K2g9f4S_Cz+ISf>muw9w#S/O E&L@:F;Ami4``*U׵Ѿƾ`3ahsvohF]I@"Z 6gG6Hu GM|*Tk"LIqp:s)Yn@s,SFֻ٫V7lntq=ԒI$Ip^:??Xc26mILp?0&w?AyKyĢv0>rm^]F۽95#EX$>>9t;lL, ,ck;ID[]Jn8*d$h4D(!ƿmo?kSyVT-yKLpO%O=k$I$(5Pu|ٴiˣ~+ڽq$I$I$IyOZnk*YXW? 6E1i\u9 ~651]d-`=fO0kO-џPߤ65q?9xbϢ~E-i p -6ְiCyѧv_:aȦ۫114. 4'Rlx[95yL -;XذXYNOhݏ}f ɠ[IOĕfaQV5דCe?rC~ :?UmmǛZ2r$QWNZ@SmxYKypmUyXT~0+M@Lw<^YԿ? ].?%1$Etgǹ[ *K bt윢cѥ56s,!mm-(h ;WeUXr~? *gZYdQ9 `p30ٵmukZ [||$I$WGZlKռ0wd9ձ]V:%v=*Ɨ7*4! ?st815 $eK1EBm.]Y ]K''ƳĒVfmq6?k'I$I$I$Ip^:??\ڽ?0&w?Ayc Xr[& -VnxV0/c.qV\lf[zC5iN=Ü@6NCqqGژe$7wh1%x}y]qc_]vՎ`Hp..`'DY:F.th&jX̬p/xw:i-_H}RĿIT維dI$}qW¿Uo?f\I$I$I$\Rλ&%?&V^{i2,N9a$ӟծhqPv.poIzo97EYY?A'i}Xuh8d[^!'tNvY8 X2 3T׶Zl7UUsv{ K\rzvMLrK_\CKGmʕt-݂AJI$I$I$I.GG˛W'9$'W37w?h̩Ѹ ^5WkO}὆\aΎ4魯+^PpvSZ@pP8 imgeýrݝFxc"%^ɑwV}lƨS{-cՍc﵆1%-;]ƝU$$WT/Y$I%_\E[I$I$I$|a/79u\W;:H.|:mӱի~9:~,{pV_w9^eC?I`뾢˽<'5܂;^'s^>`Qf ga@zO46Yʥa8|?}BVk(qXopݥFϽysatv ܾӺOc -\ܻ[ $Υ(YTUeCӤճֳC:c{K/Mꟳ`u,̮H]r{׿KءRR05@5tI-~^E]/캺km5BOx5 {āOf d\4Mp{G ȥ]~OU238">u'UW],<䋙˅C굱Tv+2D}09o]^9*%K/!kIddZ=-۰L9]JI$I$I$ձ:~ECdFр $jgDBwX#F+ʜj4?S#ͫY ^g}+˙ H $@yX 5WE\0H$}Y9Jά/kvmt n,lt#7'TzV@nƳ.εys5hk^N -Ecj'i䬞)$:Z "{\]'į>_*?VI$K̾+_CV*|3O[W$I$I$I*d ]Xp԰mj]C A,~sFZy^f[Ml={gV=B?S:M܏:{ofilꋉL+]ixaӣqa?7٫~;WֺLf}1=Jo9VYҪd$jΥ(YTUeCӤzճֳ^+<zNn#}Gí#SپA]I$YX]gt7k;e> -;qQS+.Ɔ$uni氻h;C>w }_meoȘ5@is0񟉖eVsO -Kr_c͎:Ix_TPW.,.%YWwK˜@=6=XHEB`Hhp}ttl|{uf,cvk)Ҙ K.2t4o༐c1{cmyq:Ήv+$K~+_CV*|3O[W$I$I$I*ue6 6<: <Yqﹿ5]e1A{OM8k3M7qLj?5OPɨ?>~u"j!Q/":W\g9gMu2S~w_jwǻoM/;7&ڝq\wFZWm}p }_[3+!U4?4Ф\W]X=7x)}-KNAo_jw ~S[7$ڝ߹$%oI/;sI}-KNAo_jw ~S[7$ڝ߹$%oI/;sI}-KNAo_jw ~䗚d}_/ȵt9# 'ZIgٗIi%NWdz/kKXCbckr9r[psu6cm;w83oI[հsn| %c -{ǩkO;sI}-KNAo_jw ~S[7$ڝ߹$%oI/;sI}-KNAo_jw ~S[7$ڝ߹$%oI/;sI}-\'n3FN>3oZ8ܲZ䕞z]O1X̊㹺5$I$I$IEr %-zhW9JcoWum >ED83FkPd'I%h+*+?[m%$I$I$I$I$X|JhVp_⯤[I$I$I$I$U};_5'^/cD Oڋm/*}CW?O_I13>~I4%!))R%!)RI,_򭔒I$I$I% -I_!o!CF6R Cu*vok܅L(^&*tYV?»ۿ 27CF8HNI$F`Aj$I%?GW!^H`#MBn{yv=>$I$I$I$l@U35lnxФ5$iU3[_BZ&<*^#IL@P n&Dj<$Ʃz ?z^ n2 '2gc@p2L'pHTA&)&LRja$)zLTI$f`a/ȃ -T3tI$I$I% 8ꋺa)"ʪu:&y)Uio`h0\ kĺѺ4q>᪕okIBVaRVݼB*I$lwĨ·ۿ ܷŧ˸G!:I(>Z>!G5v֏Ȧ8pD*rZA=P.C{a5jgkZi:HAQDȇ6ƹ>e5v -;Me{Ħc|?C!;Ii(p4I$I$I$Ks#2P9xVnLUso -t3hRe$ΰ{)Z -HWrߚJUiFI$-ߺC?*bZ[Qpu2@UG'S؄y 㟊Q5?Mn{6+>j kJhV0=m$;qiVHNI$I$I$J`#~g-,J=08Ma"f$IRk@41 -qxqx -o%9@$!+$I*C~D(R~i$I$I$I*w Sn;{BsHP?M-Ta'aAh'Q͎| }.QJ;(hΧlчRȕ |)T^=Vq~?$;y5JF:DBJuNo(O;'%hg kꏦޫBb>asG?'EI%?Џ=+I!~hP% -u:FI$I$I$I%W({o^I% B"5N<t#3τKy ꭎ| op[`(j?gGDI$IRw!BcZ $I$I$J¿U]4O -?dy:w9\ )[1--P!*S|>Ioj[’I$I$x!m)o\I%FZ5O;k.qʔ HiR̢WX`<'1kdI'Qڵ)iM$I%NSPۤ{ -I$I$I${㏂+u(MO(OFh;⇱Y ʙ:tHnA0.pK1ʉ "m"agU4SdU\=Ⓜ-DQRP!E$Sa<:4Ì޵~(.sb?8æl" ɶq$H=Dk -I$I$p{% > $Ok~JA! քŭ*I$I$> -{JLUT(@ږ6i01=U G{Y!BǗi MhU~M$I%VB=0{ -I$I$I$y{> -kFi#BD(;ks8SxS2Tm֓#杬xh@ӿtII)$8{" --?DQQpI$0TNmNI$J:GL0 -pR.[πKy o>-&O>MZ -I$H7}!P'`J[~0(O -mq晴{HU5K4&ڟj_m$I${GNI$I$I X=䀢?uN|>(|@ $ސS;)BI$I% -m:HDSI7tI)09HRRNI$I*j䢤I@*> -Z4|SmuRu0Bm6=B ꝃMQBI$HVp(Ɖ4{$@-斘BRR||wKc -[SlwO-,уऒI$ LotI$I$I%Xs%![iRcdI(SKhM-AOtB#R -L੤uBPqr%7/jp:I$I$ B|D鈕~Ɯ7T-1Fd G~{I$I 5$pI.5DxM-nRI$I$=4hF$I$I$I2t2I$ -I$I$I$y)M:J)$rDtI$I$4vrd(yI߄Šh16)[RYSo I$Pw)$9$:&J#PNI$I(8j4H B"I$I$I$ddI:I$I$I'P<)$I&)NNI$I$I($I&N/ ^)rC$yN8NI$M!ʚI$dɒN9R$I$I$]4I$_endstream -endobj - -24938 0 obj -<> -stream -AdobedC - - - -      - !1 -"#$%&'()*23456789:ABCDEFGHIJQRSTUVWXYZabcdefghijqrstuvwxyz?*Tu&ĤBM;b' mҹ(  ((%S:8Ỷ3S I000Ph!c%ie9Jr21 ̀5R|¿Lmp8q0H,(κb)l4-%g!S9TrA% {{Ԫ,Ы1E3#HŰ bbʭ$s(c3~3[D@i&)0P=j=Ow! Hvs--b*N*,BX,L#5 HrF -i*0n[$+a]rNhQ4YW B*a(Qq&A}Oȡ!iOafh4ΉRjFbQ)I1U`hV-$ -‘Q&5ti*(&t@ Sm]@a -Hv9ay= -d n:̧Q&m@O53U| ;mlE ;RrmV &p(35 M8L4JsYq9'eҔʘ3jfu+ge2`` &-SkYb( (LnB m:m6m@**& OV&NXƣ -E=&dB Pendstream -endobj - -24939 0 obj -<> -endobj - -24940 0 obj -<> -endobj - -24941 0 obj -<> -endobj - -24942 0 obj -<> -endobj - -24943 0 obj -[0] -endobj - -24944 0 obj -<>/ProcSet[/PDF/ImageB]/ExtGState<>>>/Subtype/Form/Filter/FlateDecode/BBox[309.209991 179.052002 333.209991 155.052002]/Matrix[1 0 0 1 0 0]>> -stream -H*w6PH/22ֳS DXXZ))$r{(sr;Q]endstream -endobj - -24945 0 obj -<> -endobj - -24946 0 obj -<> -stream -AdobedC - - - -   dd -  s!571AQ -"#$%&'()*234689:BCDEFGHIJRSTUVWXYZabcdefghijqrtuvwxyz?_1!D6K:k# - -)]ԏ|Iu#.R]H˹~R=_%ԏ|Iu#.Rj; -J)`blQ p)$(!h B?:TMSZjgllg0 ""X$4vg -@mFܗrP]^^1˹BKf9w(Iy{L. //iܡ6݉ C20)*(15L0bpC%)@Ǜ deFl =`k")$$H% xD63(*= -m-W4nJn%tmH=bB("D$AML^2on=tnJn%tmH=bB("D$AML^2on=tnJn%tmH=bB("D$AML^2on=tnJn%tmH=bB("D$AML^2on=tnJn%tmH=bB("D$AML^2on=tnJn%tmH=bB("D$AML^2on=t.s'"(5"ah!VHQBkf"D$AYxuR!tQRF\a TPJ$XC(O@|262Hg\L{<`@Fޛ3L$z/% /4BKǬ2P3L$z/% LC㲼`Dށ{QsC#H( D(0a#c@_$P8B,P DF Ro̼WIv).տ2_%ڷ^+XV~jߙxbGo\` 4Én"B1b _$H"D$@endstream -endobj - -24947 0 obj -[/ICCBased 38269 0 R] -endobj - -24948 0 obj -<> -stream -H -ك FPUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUa_AUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU=8mUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@TUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU؃CA_ Xendstream -endobj - -24949 0 obj -<>/Type/XObject/Height 60/Name/X>> -stream -HϪayc1lfԋ,N_)r;`\$Jmlc;~ճz84̽CuwG5&F√:H|`$qJl-c$@qr"V@;V} K<!!G=9|SXmYfeYfov]:!sh!wp[! )NSVc JFLE/k]$Wը? zB ,r7\S[{Z!45fnl7kiI}/IfJSb>$^u~~ܨMendstream -endobj - -24950 0 obj -<>/Type/XObject/Height 60/Name/X>> -stream -H׿jP$ƴ&pU,n""_%VI@_@5.ƶl?L?CᎼnE_3n/Kj:vS#a2E%#L5% Y%$+h'2v-nhA> Ka hRK-RhwMă@B@ -|ג3%5V!_1z}qL/.2^ݧQ3g<7j=6XQrm7QYk"kVT2:gu;FQMaǕljtP<\ȥ/?շoendstream -endobj - -24951 0 obj -<> -stream -H\N0y -gJQ%hAQx4ٖHԉзǓA a);]oڬ7]fkw vϡ1CyڮVӻ9C4q}RU.}1\]:I_Bkw^t{/;-}zh.n6mM;~ezN3Mi ?XRX1eb/7uH g8Ey^TɡS'N /"^{s0 )SL3eA.B5P_/9SG#HI.h -5eҼ%߂ '߃Y+ArJP+aRQSSSSSSSSSSSS-N.u՜Cm5Oob[ ȣendstream -endobj - -24952 0 obj -<> -stream -H\j >wٜ%PrNReby6l*s)do݀@q;@ڂ.]bqi"w8=8YWȁf8}ކ3aK txg^삠+v!a{Bhk 5YliFe̓T?}YV-ަxBm̒N(}H)&,#o0endstream -endobj - -24953 0 obj -<> -endobj - -24954 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -24955 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -24956 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -24957 0 obj -<> -stream -HnH0dA8(2m+$Hœ}$U]x8J7?V_ݼ}~囟J^㋟^B3J_xŬ,Ur*/ -Qa٭6/wztܯ-^,S\nPtܗMz׬n[^\J+Q9o~nOVxHZ)Z7շCra0p**_- -DI <υb|*/>G^ޔEPIq?7Ep'] ք\Fpp,U(UPav!rx$eF/ z+^eW"UF zk^g7!MFoz[f#]Fz;e'}F> LcBűq Tkq,rz@EǢ\+ XTk%ZZ*>s$\cQEgkq Tkq,̵p-EAV1Pű"3Jµ8U}ZI6"\cQXT8U9=p-EAVű"3*µ8*µ8U}ZEǢ\XTkZ*>s"\c"\cQEgUkq,̵p-m -MǢ*1Pűq,rzZ*>s&\cQEgՄkq Tkq,̵p-EAV1Pű"3jµ8U}ZM@EǢ\ XTk5Zp-EUNc"\cQXTtr)^,S\yŪ2[ZŦ6#KD~^êb ݤ헛A~k]YCR\+e}8tX..-|ymfySgf:pQ.46-(WͲ;[秱%tjw{Xllxpoa }*!)vvS4j~v4ftKc9rA.vm˧{A1v~.elgτXVYJ{y*~{_nbWvp5w1I$5`￝kޮҽ`Ygj?h Ε*f}|n"Χ{j5hiWv/c0)&㴿mдz>k3Z7i֋vO,-peVjHǴ= 095FK`HC=z fd֙cwx~!>TRtuTr&:gV6 F5?$*θ۩39vF?I4J@r4RWa`MbpU&6$2p:Tr5ae%eG'e IsL&2o(QLfkKLjMw`wdLKL3#&kd톆5DlepcfbB,6 6iZ>5@$:VBf!B[(X3#gGA$9<@NAi -a& Z#BRWN& `J fb?4A^*vp2=0S{>+Ysj<äF - -a 8!( -%y%j} O| bԎ-rV -\R3= 2D\`WAvҳbT1ؙ>fy8R6`Ji<̪3~D0,XmB˙\Hp18] $4_tπ d AU5GIȁ`j{lB=!Hh aȂ!8Z$4kh=Ȃ&7~@z$Nƞ9 c_$K* F;g ɚ.ZTpF;԰g, J0tJtMx4#GSUUT"'*ؙjU~ʟ=瀯NFDpVSaߔFp j0#8v?«d7r+=j&q 6մEXKG#Yrw|Ik"y:`uO5Z힆hnv?TwC]@vrx,.1MO\[餌n罧qc()2YGޑjsOc6VM&S´JQβYa 90Pl}H&ud_ocqf@$,4ӤC\^ -}]lH(G#lDQkaυ@6Ar6X;׻~j AzN%] x&jq^-D)-:Ljv`hC4 ׵ZĬ{'mSM2Ki&Bi傜~<` ]K $1|޴ v_T`60$EoPElHZ틡Iq򂭜z$>F>(T=ʃ~KA.Љeu`h,JZ,%m)![+w)0f`8`Թed͢huif`;I4>L:] z"ŭ9O3(}~rYTeċqyDɲ %1o})VD@T\- +3 m@ZdPnFZ]NZMzMu_Gt&4$d^=s$O-~)*VP??(@5Nl_[8`x_wGjVՈGŅ(`IB\\M92i -'ŅԶ&z eG)ȼM+7n0>sR;=ZYsCn.xqjN+5 4\A`[8˶u8BD+S3$E5&5njCύ<] yo+JTQ_z3b -[7QBn$nA_B*tz{B=b/N=񂈊E%alP4'`+JR;Wu`w(Вw]4|cDpAϺfj]yCۧ%<4|O 0BYGendstream -endobj - -24958 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24959 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -24960 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -24961 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -24962 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -24963 0 obj -<> -stream -H]oH+7&cV[EU6u:.V=isiI<33ێ~4-<{6phx:1^Nԩ`)N4|J T,瓶\/˦ZmSMћ "܂2q 98'dz "9=8)maph>0ŻiVcomp(jh -ݣvޓAgXh?fB1k s>3g -Yx{!%XKH4oO3ki)= -,RB{fR4ОYkki)= - )ZEJhϬ4ОYkki`-"%gZZEJhϬ4[$Nfi`-",R=͐YZ'XKH 홵NfH ,RB{fYZ'XK3ki)= ,RB{fR4ОYki)= lxZER4oOH4CJf3k`-"%gzZ!%XKH 홵^f3k`-͐YZ/XKH 홵^fH ,RB{fYZ/XKEki)ޞfH ,R="*s{;]$/dT ISL+"9=XWM98oaphf4|,Fo^ߍ>h| W -6դkZl GbFJFCPJbٔno./ķ1#mʻߏOVѶms3m)?JoӞƒCϯz;R=:Tsid* w/\7uq~t!Uf74~Žr÷Gl1uVyeㄸn;Ue*|\խMU%mx:C=T- eq2ʹ^_lo/ @qd7f<:Hl?[u gݔO&7(j {z)ۛS;=q۪s0ie-y:e肚.m7V?wW?~?gS˦sGM%t;<.x>/ ~ʸݱ?OÙx'Йǣt99fM|;h9?P3dgus{4 қa6ǧYNw~-*kqwC-8[IˡVץ03:^qC0-NP.V([c"CS}ߎlMÍE~(k8e󾥆>`Z+|8DW6u {@6+n[#ѭIW2h'܊_-|RtW[;I^/~endstream -endobj - -24964 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24965 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -24966 0 obj -<> -endobj - -24967 0 obj -<> -endobj - -24968 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -24969 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -24970 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -24971 0 obj -<> -stream -HWko6_cE]4I[4hz-2CUY&}k$Eν?󦍿_<7Ff"*fd7.w\E,!B!+!Xv!B>,IzIzEWzEWzEWzMׁzMׁPB}OIMM>%ԧPSB}zzY>#i}$ZCVǀEǐ1d} Xk} Yp!PV1`1dJµ>,B}ZIǀEǐE\+ k%ZZC>p$\c"k}ZCVǀEǐ1d} Xk} Yp!PV1`1d*µ>,B}ZEǀEǐE\kZZC>p"\c"Uk}4ZCVǀEǐ1d} Xk} Yp!PV1`1djµ>,B}ZMǀEǐE\ k5ZZC>p&\c"Մk}µ>Pp!+TcȢ^"ò1)Y#Xe:oVܔћutXvΘ566IhSsk2_9]|uc_'|7ǻoySጧ8Ya uRL2k.Y3,J4ڂWnBI/Cݔy[uęVkZl= -*`uKJX[NoԧKeI~u!?82|uD,gI6]\ rn;|-684ED1ɟɾ4ah"]i]ú{iH)8o9w[װif1O^#6{7y̏C$7$SRIk_:xvKU>cW5p!uEiiI:OimZ }5!׬rR!_\na<քJY&d\z5!3#WB#TƴqbUmݩqas@.n~ ޕj#o}5.)3CWcjX1KAh96#ˈajXV+J dBfs/;HBA ɢuNE,cCYhxԨD꥞+ E Dt ѓχHV*/,zy=^ie-{ak2+xIbwtCMOHpC;Ŷcׂ|pMwP 4ᘟϝB#CzQ|Ry>_٦| @|uxu߮c`kHȉvhu}\#ab&_Jb&vj_> -攚,]b<_g9͇"Kt9σLm]bTz^>B6D{pnHձv{ws:v?A2t#D]gs9T:bTm Ԯ>j]G/xQ~:uyVBwYcIbWCuJ -Ij?ÝGN½r֐ m?]aK`FAp1wulRm1,B7q8@ܺ ZؼQ'lɋW”g⩁& D5{ns 7>(5R(2LAp631|hy]i!|ܱ]RVc\ĭ8xzBT#Ћ\þ}O;/N"vjIr<u,෡2^Š)׻&K2duT„0'69,u?8Aǻp7 Bxv6k-umt2ƼeR8o܌-HK^wc]Fü9'Թ_׽*X]gR U۽IWKGvmX:s۳N2tl*L{虎 IY8YÕ"]/Iͳ.ń(jܶa=bbWnid٦tڙd[5K} @R\֠A{@J5Pwt:D -A Ry{1e 7tta}s`Di2-1X?jC\gIb*ede5(Pipu[qFj#Ov%MVΎyhO`Q˚* -|}o4b'+Kvhu_vjQnB|DU# -uӰr> c -[~pFhhLb5a? H:0PJ]kW$+%'SqP[NYM$E}Nڍցc3ns_b0~|IyRtzUinXsǯM7u:N&#/wŬT xZL8,AH82X+aR`<:h㗉>[lls$!o%ҬlU7$/"݋7Ĺ;7[6Ixddy=YXNj" \R )zpI IQlHAʶϾ]Zk6'gM9El.9ߦ뾳dENby=qpUrl쓥65%/ y)a7~DRdSa^*kC[7͗Qu\V uFJ7J4 {;y4r?QIbp,V'HU!vۅYVS,z8KReu&Ip<4S NBnhz6#y$l"Co#  @UiUe*aW -_ T|MM3yazۛ>R&RESEl૖1 --Gky~ C?}4訰=rYMOY=ю"8V7zYM SkO{\{(D un%.ޙٖ7W&$ ,$qYؐ9P F.ڸ3DOX~GuDw&V(K/MM.N1!h/F8_DVBO<ƟYfBAyB7OWgzW& -Uq# pǡ{l`%w\+U*CMտ%6",Șaw -LIЩ;aQ"+8; -~׊XFx3)ÓݩlT.";^{ԕI?c-iUj:fN/>/qeq mAN㐑ѹ -<v(%T4qdvPmFƱRnnͫ$YؓsN~~;ڌw:E5roj 601QխHr͓RU_V*~ 1N"mRܢjwWvʣ=aZneSk<8bͯ-fK; -K|N(M㠽)P8b㴾-;fn@#ч>|zϻW 06endstream -endobj - -24972 0 obj -<>/P 669 0 R/Type/Annot/A 24973 0 R/Subtype/Link/Rect[93.6013031 229.229004 228.302002 248.908997]/Border[0 0 0]/H/N>> -endobj - -24973 0 obj -<> -endobj - -24974 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24975 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -24976 0 obj -<> -endobj - -24977 0 obj -<> -endobj - -24978 0 obj -<> -endobj - -24979 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -24980 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -24981 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -24982 0 obj -<> -stream -HW8tH]ۜV9mZI14& } =޿P*`^?U~eԋ/~y"^M@HWF$VGYDS& _)jmLnl ]Xi61hV][7kSRzڌaԿnumֺ8d빃3 HY J?:R"d,~[S,"uF->A}>}NN82bYCV°v)}b+Ob+OfkOfkOfkOaOaO}¨O< >'S2SO}ʨO=>gS13Oe[Oe[O}Ψ=9dLKCR Yzq-Ő嫧|Z!QV1kZq-ŐŨ\R Yzϵq-ŀŸbb{Uk),FZŸbb\K1d1=*ƵCsb\KCR Yzq-Ő嫧|Z!QV3k5Zq-ŐŨ\R Yzϵq-ŀŸbb{Ռk),FZ͸bb\K1d1=jƵCsf\KC`R Yzq-Ő嫧|Z!Q0k Zq-ŐŨ\kR Yzϵq-ŀŸbb{5k),FZøbb\K1d1=ƵCsa\KC0|Z!WO1d(s#bh&xlb#A_4Cny[~wm{uJFFrR7p۪/pzF~NDj=L_oG2dnؚuI +i!ϧP': ۓh·$F<<ݧMGrxzB$5"5cFLO-kK,7ϸ`%U x TȉMhw/T^*UTUc_fQ,_s %DdեpcM_Lr vk*5c\ZCuE Eߟs_uby,N0m/ 7j1l+%;јt&J{ !%w/, 7d+n)dJ!`mS^u۸}w%=9ۮ؆󾯏ʽbޑ:Ojڹkmӏ;hq ՠ #^VCъ PwajC{}֬zAgCGK\mӄg@ޭٟ4(QB:IIE>ݠ$Y(k ꮯuuqM$۶E -͟_Ɍ$5ZqRtfEũ.3xO2*2fEwm>j۲d '˨,R^ɸo";!x؃Kv[2WVƮO*cC7" 7FnVPWC/N:r&Qu䆃" Yg: <,.vc8 d.C/̯%mFP{lFi">$<5Kn\c+P7qXQ\ZO[JӬRY!߹&8$04Rg솃hʵef'@ t؟Q Gk.ؚ -<[l5dR=zl(3[ |庣`hԉ+]]CYLfZ{NUq~E+3V1neEס$bcQ&[ h9ǫIvRRM+4:猛 8֚vkcLÍ,z@9ά+. NSO@6|㶿v*ʲ -;%{ubԈ.yܔɭd]nbkX0N='Q^ֱEu_wH/3HTxn@>\?./vPjh62JM3RXAg\^`u_KNV(%dJkjխ|\vpʧ9 ~ki7<_K =`wl5oDx-B>|{Z{gZ;)Pk+byoDm6LOi_ϕ/0|hr{;@1ԐwOG{>uZa]\\Ŋ{2o-ix¯NzIkBej>8+1e wϽkS?G:z˩8L!ӥ_/#\YsZ]w>qΫ~l=$Nj}^J׾,[\Aq $ &@82<%o} --_ygeʎN-fN%ܭ!D2 u^:.sw=b;Vcm,?U6 C|̀ӷc3r0iK0l~䯺12)Q],-4mM3$Q ϥv$VG|m_59tk1|B?&X>?%,iH@S RJ= )cFpJ%Y+l%ĝC:5i.3֒99*]ɍ*(AA}"v䑼[wBW:OIV<9_P!- D6.e95OץJT!^f>SEukҕw#, |"z`Kѿ Z.z*r͢ψXTH#|#!z!M㪶WzZXJfT9,Af ^,jNI Y)| -. cYMjvOnHQZJmsܤƀ RJ53>/P 961 0 R/Type/Annot/A 24984 0 R/Subtype/Link/Rect[93.6003036 551.090027 269.268005 570.77002]/Border[0 0 0]/H/N>> -endobj - -24984 0 obj -<> -endobj - -24985 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24986 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -24987 0 obj -<> -endobj - -24988 0 obj -<> -endobj - -24989 0 obj -<> -endobj - -24990 0 obj -<> -endobj - -24991 0 obj -<> -endobj - -24992 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -24993 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -24994 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -24995 0 obj -<> -stream -HWmoܸ_!_օMM/͡޶8A jm%Ҟ$p}gDewpp!yk77>y/o߿~f$W,q*ȸ-uHU]}\kM[ʾ6q[EneEoZ|S׻@؀8y>DwrWM_\Ʉ l~ui+1$3<4Mq<[7aӧ21^%2X8X1~7XׇH1Ă7;}6JD!'`S}Y>#g`s} yM -BIB Q!{(B Q!{߆oZ߆(}ZIַ!`Vm"TET+ 6DJB Pj}j%Z߆(}ZIַPoC>P$TET+ C6D}6D}B Pj}jZ߆(}ZEַPoC>P"TET6@m"Uj}jZ(B Q@PoC>P"T&Tm"Tm -6@m"Մj}j5Z(B Q@PoC>P&TEַ!`Vm"Մj}6DjB Q@Po;D Z߆oZ߆oCT0c9nut^XX3|bi&^,/,]ݔ0$fzuS&,_}S7f4mQڡi-\+( &~een4Pve)̮/ѳAa.\݂o7wGH=:X[*{z~˵^ (WH,ӆԋ 7M[ +]nnj*0U[\o$B܊Ks9, jz\fiS ρqT}p{5yw`$cxJ6T1 9S.nf'fn`/8=ڏ?Ϗc -FD.Cic)nnO THcwaOY -ՑrK\n⯟o?vij<{_X®r-O)a5/+3ưĨ Se;6EvOcqճGBgCS&>'6=8^w2=mچ'jչ,^H8?P4tc* (HoKX\G R|yR9tˊf oJ % R߇?''ӄdtܫl ihWYo8~ϯȣ -xwz@cY  -Qcm+HJJ`g8gO;$%ʅZ "?N(G&4u)j1[ߝ~, A)`$}zLJ7>"ĚARj%'őSOdzݜ|mOP'TY@n*Sqk縅o/TZ2޻>KX@d^ Cn0"C -UAwc[M3th?\Ȳ0I=XXj r&~lݭ]ourOZK*BV8׃܊>ZnP殝t$zVpz]<]NYnya CjҘҥ"Tɘ%ɋ*2ef448Pg+m]cY.a{e֛Ǿz Hgvi456+3SP{hڋ*pdL˅vP$΢f1G?M =n=u~m x3x Tn}y΋mՈEBv&B g7uB-y5 ^CUdmRJ *b ~gc+J\5ڟ?GRGRN+P fvu6Xxy2Ǖ&iIgy'%e`޻BS M,'ڂO LT9Ax^|qq&+E$O[o|ծ=!TB.>^?'u䉅ovy7 =YUP ̔e㉎P=B96M߰s]ӸَFW K-"a).$*ev2hT*"Dcc!ۣ6IY\ɘ>3Al7c{䙿|Xf}XVęa:n[,laThҮ,o\$1eY.0B\}Ut5\-+F3Dyr +Tzz[v?tR,TUHB JQh^}hwr{~R@;4a߿u>=S*'RDprRe[`ejń5$.e.i&sH3w'/zendstream -endobj - -24996 0 obj -<>/P 1137 0 R/Type/Annot/A 24997 0 R/Subtype/Link/Rect[93.6001968 663.229004 247.740005 682.908997]/Border[0 0 0]/H/N>> -endobj - -24997 0 obj -<> -endobj - -24998 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -24999 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25000 0 obj -<> -endobj - -25001 0 obj -<> -endobj - -25002 0 obj -<> -endobj - -25003 0 obj -<> -endobj - -25004 0 obj -<> -endobj - -25005 0 obj -<> -endobj - -25006 0 obj -<> -endobj - -25007 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -25008 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -25009 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -25010 0 obj -<> -stream -HWko\7~>ڀ{I&NL:Y'Ϳ_R3%2 x#]>lŏ?99{.gO5ʶ* -V@0;ӂ⮑sčh߯o/7Oon6͕xi_~clԅJHu V?/ kXU=2 骑h%DilLſ _HI4ѸVӞ2п&D1 )@Pv QJF(`P9wJ Qa a ao -ao -ao -ao ao =0` {(;+;+{/{/{/}(}(G},G}Yň6mͨ6dŨ6dUmbTŰ/T6B1 jF Qjsj5F(}Zͨ6!Qmn#þPfTŰ/T6D1mbՌjsj5ܶi F}nCF}n#T>!Qmn#þPaTŰ/Tk6D1mb5jsj ܆(FP BQmn#þPaTŨ6a_0mb5jsۦjsJ QjsJP%܆(FP BQmn#þPeTŨ6a_2mbjs6B1 ZFP BQmnCF(}Z˨6a_2m6Bs6BsJ1Z!W٪9^Pbu݄d B:<7Ꟈ/W:hѡ[HA`:cj~/uq\]l6or{)߿)  inbENw%2b+l x|YpukB9s4@Z8}:}8{yۓ_IR`>0Wwxmw;FE6z=alKѓy:rn[#8=z@٣=ҏaR`>2\>8~0+Rأ?R]qQ>m_0-L+кʍ`4@ȥ`';?9}]u0g(o :t|#mBDĽ( LekRLe5à){8sb6ʙ68HQ.a %P_p8+&& EM%WpCp+ȕ'5"@`:18[z&,U;V%hF&ӥU -pCNVR2Zw_S:}_؋[: y{KLw5q=zwFw >ora|I,1,}j_(",%aֿ%Wq4JjILO`D]R_4pT픱 --` )Ȣ[@ +P%% Ju%(զKUDaUѦO{%UH\)jpx Te44i9$d%Ǒ?ZUaP^G -hU,t*8ns G ќbwKP3Ls3RIRM07%Zzn\wo1k%_\ -\PMe.N߿˒b^,Uo`4ݜI\v'`dg -#wD\?<̾*UaťH9tWK> R5K.OYUǫCQj knMPu]y>oWo[D? ݽKlrZ(ۘt]LGf{ W7^=!*0wKC`#qԃw0ؐ׊pb^T}VrPsw:t[We#W`je#2 1~z0_XцMu^2?Q>`cV2Rl]wBH,@fbu0"CwT|^_}ڿA/Wzx%W&Rzm=䙈@:8f}#`p 6` ^u'O;t}q1=`4:OZIJOB/O+OI%WANmM_>kqNJZWT; ~9tsw}Hkm-H= qDcKK+z7J'PC=A7Mfu}fZFW\  hy左%+$Li>ec}p߹X!%6i(7PN$b60KX{^`ny)t@G\fy NvO0,Mq\(6O#Cy(i樕-Mmn5OS0G]۪H c**LPk8WXD"j㱛F3S:tf % VJy47&GAy-E2Ғ21 jrMr 7° ²SK|/IU:;X[hf%qN8ON2qC&HJ7QV9WP#yi9(xZL٦V -*:8i;GRʣ}Cpg* Auct,k 6J?[Љe:o~k`J3W'Pf C 4XP4eF l֧ma3`b@fYǃ[Xg "S8N[ă`^cOʘl -3Ng2o2eCR`h Kcc1b۟u,h>/P 10569 0 R/Type/Annot/A 25498 0 R/Subtype/Link/Rect[221 669 233 678]/Border[0 0 0]/H/N>> -endobj - -25012 0 obj -<>/P 10569 0 R/Type/Annot/A 25492 0 R/Subtype/Link/Rect[229 659 239 668]/Border[0 0 0]/H/N>> -endobj - -25013 0 obj -<>/P 10569 0 R/Type/Annot/A 25485 0 R/Subtype/Link/Rect[241 659 258 669]/Border[0 0 0]/H/N>> -endobj - -25014 0 obj -<>/P 10569 0 R/Type/Annot/A 25783 0 R/Subtype/Link/Rect[258 659 272 668]/Border[0 0 0]/H/N>> -endobj - -25015 0 obj -<>/P 10569 0 R/Type/Annot/A 25777 0 R/Subtype/Link/Rect[274 659 291 669]/Border[0 0 0]/H/N>> -endobj - -25016 0 obj -<>/P 10569 0 R/Type/Annot/A 25775 0 R/Subtype/Link/Rect[292 659 306 668]/Border[0 0 0]/H/N>> -endobj - -25017 0 obj -<>/P 10569 0 R/Type/Annot/A 25772 0 R/Subtype/Link/Rect[151 649 163 658]/Border[0 0 0]/H/N>> -endobj - -25018 0 obj -<>/P 10569 0 R/Type/Annot/A 25769 0 R/Subtype/Link/Rect[211 639 225 648]/Border[0 0 0]/H/N>> -endobj - -25019 0 obj -<>/P 10569 0 R/Type/Annot/A 25765 0 R/Subtype/Link/Rect[227 639 241 648]/Border[0 0 0]/H/N>> -endobj - -25020 0 obj -<>/P 10569 0 R/Type/Annot/A 25761 0 R/Subtype/Link/Rect[243 639 257 648]/Border[0 0 0]/H/N>> -endobj - -25021 0 obj -<>/P 10569 0 R/Type/Annot/A 25757 0 R/Subtype/Link/Rect[259 639 276 649]/Border[0 0 0]/H/N>> -endobj - -25022 0 obj -<>/P 10569 0 R/Type/Annot/A 25753 0 R/Subtype/Link/Rect[277 639 291 648]/Border[0 0 0]/H/N>> -endobj - -25023 0 obj -<>/P 10569 0 R/Type/Annot/A 25748 0 R/Subtype/Link/Rect[293 639 307 648]/Border[0 0 0]/H/N>> -endobj - -25024 0 obj -<>/P 10569 0 R/Type/Annot/A 25744 0 R/Subtype/Link/Rect[151 629 165 638]/Border[0 0 0]/H/N>> -endobj - -25025 0 obj -<>/P 10569 0 R/Type/Annot/A 25741 0 R/Subtype/Link/Rect[167 629 181 638]/Border[0 0 0]/H/N>> -endobj - -25026 0 obj -<>/P 10569 0 R/Type/Annot/A 25737 0 R/Subtype/Link/Rect[183 629 197 638]/Border[0 0 0]/H/N>> -endobj - -25027 0 obj -<>/P 10569 0 R/Type/Annot/A 25733 0 R/Subtype/Link/Rect[199 629 213 638]/Border[0 0 0]/H/N>> -endobj - -25028 0 obj -<>/P 10569 0 R/Type/Annot/A 25729 0 R/Subtype/Link/Rect[215 629 229 638]/Border[0 0 0]/H/N>> -endobj - -25029 0 obj -<>/P 10569 0 R/Type/Annot/A 25725 0 R/Subtype/Link/Rect[231 629 243 638]/Border[0 0 0]/H/N>> -endobj - -25030 0 obj -<>/P 10569 0 R/Type/Annot/A 25722 0 R/Subtype/Link/Rect[188 619 202 628]/Border[0 0 0]/H/N>> -endobj - -25031 0 obj -<>/P 10569 0 R/Type/Annot/A 25719 0 R/Subtype/Link/Rect[204 619 221 629]/Border[0 0 0]/H/N>> -endobj - -25032 0 obj -<>/P 10569 0 R/Type/Annot/A 25714 0 R/Subtype/Link/Rect[222 619 236 628]/Border[0 0 0]/H/N>> -endobj - -25033 0 obj -<>/P 10569 0 R/Type/Annot/A 25710 0 R/Subtype/Link/Rect[238 619 252 628]/Border[0 0 0]/H/N>> -endobj - -25034 0 obj -<>/P 10569 0 R/Type/Annot/A 25706 0 R/Subtype/Link/Rect[254 619 266 628]/Border[0 0 0]/H/N>> -endobj - -25035 0 obj -<>/P 10569 0 R/Type/Annot/A 25702 0 R/Subtype/Link/Rect[203 609 215 618]/Border[0 0 0]/H/N>> -endobj - -25036 0 obj -<>/P 10569 0 R/Type/Annot/A 25699 0 R/Subtype/Link/Rect[193 599 207 608]/Border[0 0 0]/H/N>> -endobj - -25037 0 obj -<>/P 10569 0 R/Type/Annot/A 25696 0 R/Subtype/Link/Rect[209 599 223 608]/Border[0 0 0]/H/N>> -endobj - -25038 0 obj -<>/P 10569 0 R/Type/Annot/A 25693 0 R/Subtype/Link/Rect[225 599 239 608]/Border[0 0 0]/H/N>> -endobj - -25039 0 obj -<>/P 10569 0 R/Type/Annot/A 25690 0 R/Subtype/Link/Rect[241 599 255 608]/Border[0 0 0]/H/N>> -endobj - -25040 0 obj -<>/P 10569 0 R/Type/Annot/A 25687 0 R/Subtype/Link/Rect[257 599 274 609]/Border[0 0 0]/H/N>> -endobj - -25041 0 obj -<>/P 10569 0 R/Type/Annot/A 25684 0 R/Subtype/Link/Rect[274 599 288 608]/Border[0 0 0]/H/N>> -endobj - -25042 0 obj -<>/P 10569 0 R/Type/Annot/A 25681 0 R/Subtype/Link/Rect[151 589 167 599]/Border[0 0 0]/H/N>> -endobj - -25043 0 obj -<>/P 10569 0 R/Type/Annot/A 25678 0 R/Subtype/Link/Rect[168 589 182 598]/Border[0 0 0]/H/N>> -endobj - -25044 0 obj -<>/P 10569 0 R/Type/Annot/A 25675 0 R/Subtype/Link/Rect[184 589 201 599]/Border[0 0 0]/H/N>> -endobj - -25045 0 obj -<>/P 10569 0 R/Type/Annot/A 25673 0 R/Subtype/Link/Rect[201 589 215 598]/Border[0 0 0]/H/N>> -endobj - -25046 0 obj -<>/P 10569 0 R/Type/Annot/A 25670 0 R/Subtype/Link/Rect[217 589 234 599]/Border[0 0 0]/H/N>> -endobj - -25047 0 obj -<>/P 10569 0 R/Type/Annot/A 25667 0 R/Subtype/Link/Rect[235 589 249 598]/Border[0 0 0]/H/N>> -endobj - -25048 0 obj -<>/P 10569 0 R/Type/Annot/A 25664 0 R/Subtype/Link/Rect[251 589 265 598]/Border[0 0 0]/H/N>> -endobj - -25049 0 obj -<>/P 10569 0 R/Type/Annot/A 25662 0 R/Subtype/Link/Rect[267 589 281 598]/Border[0 0 0]/H/N>> -endobj - -25050 0 obj -<>/P 10569 0 R/Type/Annot/A 25660 0 R/Subtype/Link/Rect[283 589 297 598]/Border[0 0 0]/H/N>> -endobj - -25051 0 obj -<>/P 10569 0 R/Type/Annot/A 25657 0 R/Subtype/Link/Rect[151 579 165 588]/Border[0 0 0]/H/N>> -endobj - -25052 0 obj -<>/P 10569 0 R/Type/Annot/A 25654 0 R/Subtype/Link/Rect[167 579 181 588]/Border[0 0 0]/H/N>> -endobj - -25053 0 obj -<>/P 10569 0 R/Type/Annot/A 25651 0 R/Subtype/Link/Rect[183 579 197 588]/Border[0 0 0]/H/N>> -endobj - -25054 0 obj -<>/P 10569 0 R/Type/Annot/A 25648 0 R/Subtype/Link/Rect[199 579 211 588]/Border[0 0 0]/H/N>> -endobj - -25055 0 obj -<>/P 10569 0 R/Type/Annot/A 25645 0 R/Subtype/Link/Rect[181 569 197 579]/Border[0 0 0]/H/N>> -endobj - -25056 0 obj -<>/P 10569 0 R/Type/Annot/A 25642 0 R/Subtype/Link/Rect[198 569 210 578]/Border[0 0 0]/H/N>> -endobj - -25057 0 obj -<>/P 10569 0 R/Type/Annot/A 25639 0 R/Subtype/Link/Rect[188 559 202 568]/Border[0 0 0]/H/N>> -endobj - -25058 0 obj -<>/P 10569 0 R/Type/Annot/A 25634 0 R/Subtype/Link/Rect[204 559 221 569]/Border[0 0 0]/H/N>> -endobj - -25059 0 obj -<>/P 10569 0 R/Type/Annot/A 25631 0 R/Subtype/Link/Rect[222 559 234 568]/Border[0 0 0]/H/N>> -endobj - -25060 0 obj -<>/P 10569 0 R/Type/Annot/A 25628 0 R/Subtype/Link/Rect[193 549 207 558]/Border[0 0 0]/H/N>> -endobj - -25061 0 obj -<>/P 10569 0 R/Type/Annot/A 25625 0 R/Subtype/Link/Rect[209 549 223 558]/Border[0 0 0]/H/N>> -endobj - -25062 0 obj -<>/P 10569 0 R/Type/Annot/A 25622 0 R/Subtype/Link/Rect[225 549 239 558]/Border[0 0 0]/H/N>> -endobj - -25063 0 obj -<>/P 10569 0 R/Type/Annot/A 25619 0 R/Subtype/Link/Rect[241 549 255 558]/Border[0 0 0]/H/N>> -endobj - -25064 0 obj -<>/P 10569 0 R/Type/Annot/A 25615 0 R/Subtype/Link/Rect[257 549 271 558]/Border[0 0 0]/H/N>> -endobj - -25065 0 obj -<>/P 10569 0 R/Type/Annot/A 25612 0 R/Subtype/Link/Rect[273 549 285 558]/Border[0 0 0]/H/N>> -endobj - -25066 0 obj -<>/P 10569 0 R/Type/Annot/A 25609 0 R/Subtype/Link/Rect[211 539 225 548]/Border[0 0 0]/H/N>> -endobj - -25067 0 obj -<>/P 10569 0 R/Type/Annot/A 25605 0 R/Subtype/Link/Rect[227 539 244 549]/Border[0 0 0]/H/N>> -endobj - -25068 0 obj -<>/P 10569 0 R/Type/Annot/A 25602 0 R/Subtype/Link/Rect[245 539 259 548]/Border[0 0 0]/H/N>> -endobj - -25069 0 obj -<>/P 10569 0 R/Type/Annot/A 25599 0 R/Subtype/Link/Rect[261 539 275 548]/Border[0 0 0]/H/N>> -endobj - -25070 0 obj -<>/P 10569 0 R/Type/Annot/A 25596 0 R/Subtype/Link/Rect[277 539 291 548]/Border[0 0 0]/H/N>> -endobj - -25071 0 obj -<>/P 10569 0 R/Type/Annot/A 25592 0 R/Subtype/Link/Rect[293 539 305 548]/Border[0 0 0]/H/N>> -endobj - -25072 0 obj -<>/P 10569 0 R/Type/Annot/A 25589 0 R/Subtype/Link/Rect[189 529 206 539]/Border[0 0 0]/H/N>> -endobj - -25073 0 obj -<>/P 10569 0 R/Type/Annot/A 25586 0 R/Subtype/Link/Rect[207 529 219 538]/Border[0 0 0]/H/N>> -endobj - -25074 0 obj -<>/P 10569 0 R/Type/Annot/A 25583 0 R/Subtype/Link/Rect[202 519 216 528]/Border[0 0 0]/H/N>> -endobj - -25075 0 obj -<>/P 10569 0 R/Type/Annot/A 25580 0 R/Subtype/Link/Rect[218 519 232 528]/Border[0 0 0]/H/N>> -endobj - -25076 0 obj -<>/P 10569 0 R/Type/Annot/A 25577 0 R/Subtype/Link/Rect[234 519 250 529]/Border[0 0 0]/H/N>> -endobj - -25077 0 obj -<>/P 10569 0 R/Type/Annot/A 25574 0 R/Subtype/Link/Rect[251 519 265 528]/Border[0 0 0]/H/N>> -endobj - -25078 0 obj -<>/P 10569 0 R/Type/Annot/A 25570 0 R/Subtype/Link/Rect[267 519 281 528]/Border[0 0 0]/H/N>> -endobj - -25079 0 obj -<>/P 10569 0 R/Type/Annot/A 25566 0 R/Subtype/Link/Rect[151 509 167 519]/Border[0 0 0]/H/N>> -endobj - -25080 0 obj -<>/P 10569 0 R/Type/Annot/A 25561 0 R/Subtype/Link/Rect[168 509 182 518]/Border[0 0 0]/H/N>> -endobj - -25081 0 obj -<>/P 10569 0 R/Type/Annot/A 25557 0 R/Subtype/Link/Rect[184 509 196 518]/Border[0 0 0]/H/N>> -endobj - -25082 0 obj -<>/P 10569 0 R/Type/Annot/A 25550 0 R/Subtype/Link/Rect[221 499 235 508]/Border[0 0 0]/H/N>> -endobj - -25083 0 obj -<>/P 10569 0 R/Type/Annot/A 25546 0 R/Subtype/Link/Rect[237 499 251 508]/Border[0 0 0]/H/N>> -endobj - -25084 0 obj -<>/P 10569 0 R/Type/Annot/A 25539 0 R/Subtype/Link/Rect[253 499 267 508]/Border[0 0 0]/H/N>> -endobj - -25085 0 obj -<>/P 10569 0 R/Type/Annot/A 25533 0 R/Subtype/Link/Rect[269 499 285 509]/Border[0 0 0]/H/N>> -endobj - -25086 0 obj -<>/P 10569 0 R/Type/Annot/A 25527 0 R/Subtype/Link/Rect[286 499 300 508]/Border[0 0 0]/H/N>> -endobj - -25087 0 obj -<>/P 10569 0 R/Type/Annot/A 25521 0 R/Subtype/Link/Rect[151 489 165 498]/Border[0 0 0]/H/N>> -endobj - -25088 0 obj -<>/P 10569 0 R/Type/Annot/A 25515 0 R/Subtype/Link/Rect[167 489 183 499]/Border[0 0 0]/H/N>> -endobj - -25089 0 obj -<>/P 10569 0 R/Type/Annot/A 25509 0 R/Subtype/Link/Rect[184 489 198 498]/Border[0 0 0]/H/N>> -endobj - -25090 0 obj -<>/P 10569 0 R/Type/Annot/A 25502 0 R/Subtype/Link/Rect[200 489 217 499]/Border[0 0 0]/H/N>> -endobj - -25091 0 obj -<>/P 10569 0 R/Type/Annot/A 25496 0 R/Subtype/Link/Rect[217 489 231 498]/Border[0 0 0]/H/N>> -endobj - -25092 0 obj -<>/P 10569 0 R/Type/Annot/A 25491 0 R/Subtype/Link/Rect[233 489 247 498]/Border[0 0 0]/H/N>> -endobj - -25093 0 obj -<>/P 10569 0 R/Type/Annot/A 25484 0 R/Subtype/Link/Rect[249 489 263 498]/Border[0 0 0]/H/N>> -endobj - -25094 0 obj -<>/P 10569 0 R/Type/Annot/A 25475 0 R/Subtype/Link/Rect[265 489 279 498]/Border[0 0 0]/H/N>> -endobj - -25095 0 obj -<>/P 10569 0 R/Type/Annot/A 25468 0 R/Subtype/Link/Rect[281 489 295 498]/Border[0 0 0]/H/N>> -endobj - -25096 0 obj -<>/P 10569 0 R/Type/Annot/A 25460 0 R/Subtype/Link/Rect[151 479 165 488]/Border[0 0 0]/H/N>> -endobj - -25097 0 obj -<>/P 10569 0 R/Type/Annot/A 25456 0 R/Subtype/Link/Rect[167 479 181 488]/Border[0 0 0]/H/N>> -endobj - -25098 0 obj -<>/P 10569 0 R/Type/Annot/A 25449 0 R/Subtype/Link/Rect[183 479 197 488]/Border[0 0 0]/H/N>> -endobj - -25099 0 obj -<>/P 10569 0 R/Type/Annot/A 25443 0 R/Subtype/Link/Rect[199 479 213 488]/Border[0 0 0]/H/N>> -endobj - -25100 0 obj -<>/P 10569 0 R/Type/Annot/A 25435 0 R/Subtype/Link/Rect[215 479 229 488]/Border[0 0 0]/H/N>> -endobj - -25101 0 obj -<>/P 10569 0 R/Type/Annot/A 25427 0 R/Subtype/Link/Rect[231 479 243 488]/Border[0 0 0]/H/N>> -endobj - -25102 0 obj -<>/P 10569 0 R/Type/Annot/A 25421 0 R/Subtype/Link/Rect[189 469 201 478]/Border[0 0 0]/H/N>> -endobj - -25103 0 obj -<>/P 10569 0 R/Type/Annot/A 25576 0 R/Subtype/Link/Rect[188 459 205 469]/Border[0 0 0]/H/N>> -endobj - -25104 0 obj -<>/P 10569 0 R/Type/Annot/A 25571 0 R/Subtype/Link/Rect[206 459 218 468]/Border[0 0 0]/H/N>> -endobj - -25105 0 obj -<>/P 10569 0 R/Type/Annot/A 25565 0 R/Subtype/Link/Rect[202 449 212 458]/Border[0 0 0]/H/N>> -endobj - -25106 0 obj -<>/P 10569 0 R/Type/Annot/A 25560 0 R/Subtype/Link/Rect[214 449 228 458]/Border[0 0 0]/H/N>> -endobj - -25107 0 obj -<>/P 10569 0 R/Type/Annot/A 25555 0 R/Subtype/Link/Rect[230 449 244 458]/Border[0 0 0]/H/N>> -endobj - -25108 0 obj -<>/P 10569 0 R/Type/Annot/A 25549 0 R/Subtype/Link/Rect[246 449 262 459]/Border[0 0 0]/H/N>> -endobj - -25109 0 obj -<>/P 10569 0 R/Type/Annot/A 25542 0 R/Subtype/Link/Rect[263 449 277 458]/Border[0 0 0]/H/N>> -endobj - -25110 0 obj -<>/P 10569 0 R/Type/Annot/A 25537 0 R/Subtype/Link/Rect[279 449 293 458]/Border[0 0 0]/H/N>> -endobj - -25111 0 obj -<>/P 10569 0 R/Type/Annot/A 25530 0 R/Subtype/Link/Rect[151 439 167 449]/Border[0 0 0]/H/N>> -endobj - -25112 0 obj -<>/P 10569 0 R/Type/Annot/A 25524 0 R/Subtype/Link/Rect[168 439 182 448]/Border[0 0 0]/H/N>> -endobj - -25113 0 obj -<>/P 10569 0 R/Type/Annot/A 25518 0 R/Subtype/Link/Rect[184 439 201 449]/Border[0 0 0]/H/N>> -endobj - -25114 0 obj -<>/P 10569 0 R/Type/Annot/A 25511 0 R/Subtype/Link/Rect[201 439 215 448]/Border[0 0 0]/H/N>> -endobj - -25115 0 obj -<>/P 10569 0 R/Type/Annot/A 25504 0 R/Subtype/Link/Rect[217 439 231 448]/Border[0 0 0]/H/N>> -endobj - -25116 0 obj -<>/P 10569 0 R/Type/Annot/A 25499 0 R/Subtype/Link/Rect[233 439 247 448]/Border[0 0 0]/H/N>> -endobj - -25117 0 obj -<>/P 10569 0 R/Type/Annot/A 25493 0 R/Subtype/Link/Rect[249 439 263 448]/Border[0 0 0]/H/N>> -endobj - -25118 0 obj -<>/P 10569 0 R/Type/Annot/A 25487 0 R/Subtype/Link/Rect[265 439 279 448]/Border[0 0 0]/H/N>> -endobj - -25119 0 obj -<>/P 10569 0 R/Type/Annot/A 25477 0 R/Subtype/Link/Rect[281 439 295 448]/Border[0 0 0]/H/N>> -endobj - -25120 0 obj -<>/P 10569 0 R/Type/Annot/A 25469 0 R/Subtype/Link/Rect[297 439 309 448]/Border[0 0 0]/H/N>> -endobj - -25121 0 obj -<>/P 10569 0 R/Type/Annot/A 25526 0 R/Subtype/Link/Rect[208 429 220 438]/Border[0 0 0]/H/N>> -endobj - -25122 0 obj -<>/P 10569 0 R/Type/Annot/A 25455 0 R/Subtype/Link/Rect[216 419 228 428]/Border[0 0 0]/H/N>> -endobj - -25123 0 obj -<>/P 10569 0 R/Type/Annot/A 25447 0 R/Subtype/Link/Rect[216 409 230 418]/Border[0 0 0]/H/N>> -endobj - -25124 0 obj -<>/P 10569 0 R/Type/Annot/A 25440 0 R/Subtype/Link/Rect[232 409 246 418]/Border[0 0 0]/H/N>> -endobj - -25125 0 obj -<>/P 10569 0 R/Type/Annot/A 25433 0 R/Subtype/Link/Rect[248 409 262 418]/Border[0 0 0]/H/N>> -endobj - -25126 0 obj -<>/P 10569 0 R/Type/Annot/A 25425 0 R/Subtype/Link/Rect[264 409 278 418]/Border[0 0 0]/H/N>> -endobj - -25127 0 obj -<>/P 10569 0 R/Type/Annot/A 25573 0 R/Subtype/Link/Rect[280 409 292 418]/Border[0 0 0]/H/N>> -endobj - -25128 0 obj -<>/P 10569 0 R/Type/Annot/A 25569 0 R/Subtype/Link/Rect[189 399 201 408]/Border[0 0 0]/H/N>> -endobj - -25129 0 obj -<>/P 10569 0 R/Type/Annot/A 43880 0 R/Subtype/Link/Rect[188 389 198 398]/Border[0 0 0]/H/N>> -endobj - -25130 0 obj -<>/P 10569 0 R/Type/Annot/A 25556 0 R/Subtype/Link/Rect[200 389 217 399]/Border[0 0 0]/H/N>> -endobj - -25131 0 obj -<>/P 10569 0 R/Type/Annot/A 25636 0 R/Subtype/Link/Rect[218 389 232 398]/Border[0 0 0]/H/N>> -endobj - -25132 0 obj -<>/P 10569 0 R/Type/Annot/A 25541 0 R/Subtype/Link/Rect[234 389 250 399]/Border[0 0 0]/H/N>> -endobj - -25133 0 obj -<>/P 10569 0 R/Type/Annot/A 25536 0 R/Subtype/Link/Rect[251 389 265 398]/Border[0 0 0]/H/N>> -endobj - -25134 0 obj -<>/P 10569 0 R/Type/Annot/A 25529 0 R/Subtype/Link/Rect[267 389 284 399]/Border[0 0 0]/H/N>> -endobj - -25135 0 obj -<>/P 10569 0 R/Type/Annot/A 25523 0 R/Subtype/Link/Rect[284 389 296 398]/Border[0 0 0]/H/N>> -endobj - -25136 0 obj -<>/P 10569 0 R/Type/Annot/A 25517 0 R/Subtype/Link/Rect[203 379 219 389]/Border[0 0 0]/H/N>> -endobj - -25137 0 obj -<>/P 10569 0 R/Type/Annot/A 25508 0 R/Subtype/Link/Rect[220 379 232 388]/Border[0 0 0]/H/N>> -endobj - -25138 0 obj -<>/P 10569 0 R/Type/Annot/A 43545 0 R/Subtype/Link/Rect[205 369 222 379]/Border[0 0 0]/H/N>> -endobj - -25139 0 obj -<>/P 10569 0 R/Type/Annot/A 25494 0 R/Subtype/Link/Rect[222 369 236 378]/Border[0 0 0]/H/N>> -endobj - -25140 0 obj -<>/P 10569 0 R/Type/Annot/A 43475 0 R/Subtype/Link/Rect[238 369 250 378]/Border[0 0 0]/H/N>> -endobj - -25141 0 obj -<>/P 10569 0 R/Type/Annot/A 25482 0 R/Subtype/Link/Rect[188 359 205 369]/Border[0 0 0]/H/N>> -endobj - -25142 0 obj -<>/P 10569 0 R/Type/Annot/A 25473 0 R/Subtype/Link/Rect[206 359 220 368]/Border[0 0 0]/H/N>> -endobj - -25143 0 obj -<>/P 10569 0 R/Type/Annot/A 25465 0 R/Subtype/Link/Rect[222 359 238 369]/Border[0 0 0]/H/N>> -endobj - -25144 0 obj -<>/P 10569 0 R/Type/Annot/A 43322 0 R/Subtype/Link/Rect[239 359 253 368]/Border[0 0 0]/H/N>> -endobj - -25145 0 obj -<>/P 10569 0 R/Type/Annot/A 25448 0 R/Subtype/Link/Rect[255 359 269 368]/Border[0 0 0]/H/N>> -endobj - -25146 0 obj -<>/P 10569 0 R/Type/Annot/A 25441 0 R/Subtype/Link/Rect[271 359 288 369]/Border[0 0 0]/H/N>> -endobj - -25147 0 obj -<>/P 10569 0 R/Type/Annot/A 30262 0 R/Subtype/Link/Rect[288 359 302 368]/Border[0 0 0]/H/N>> -endobj - -25148 0 obj -<>/P 10569 0 R/Type/Annot/A 25424 0 R/Subtype/Link/Rect[151 349 165 358]/Border[0 0 0]/H/N>> -endobj - -25149 0 obj -<>/P 10569 0 R/Type/Annot/A 25564 0 R/Subtype/Link/Rect[167 349 181 358]/Border[0 0 0]/H/N>> -endobj - -25150 0 obj -<>/P 10569 0 R/Type/Annot/A 25903 0 R/Subtype/Link/Rect[183 349 197 358]/Border[0 0 0]/H/N>> -endobj - -25151 0 obj -<>/P 10569 0 R/Type/Annot/A 25552 0 R/Subtype/Link/Rect[199 349 211 358]/Border[0 0 0]/H/N>> -endobj - -25152 0 obj -<>/P 10569 0 R/Type/Annot/A 25548 0 R/Subtype/Link/Rect[202 339 216 348]/Border[0 0 0]/H/N>> -endobj - -25153 0 obj -<>/P 10569 0 R/Type/Annot/A 25532 0 R/Subtype/Link/Rect[218 339 232 348]/Border[0 0 0]/H/N>> -endobj - -25154 0 obj -<>/P 10569 0 R/Type/Annot/A 25778 0 R/Subtype/Link/Rect[234 339 248 348]/Border[0 0 0]/H/N>> -endobj - -25155 0 obj -<>/P 10569 0 R/Type/Annot/A 42895 0 R/Subtype/Link/Rect[250 339 264 348]/Border[0 0 0]/H/N>> -endobj - -25156 0 obj -<>/P 10569 0 R/Type/Annot/A 25771 0 R/Subtype/Link/Rect[266 339 280 348]/Border[0 0 0]/H/N>> -endobj - -25157 0 obj -<>/P 10569 0 R/Type/Annot/A 25768 0 R/Subtype/Link/Rect[282 339 296 348]/Border[0 0 0]/H/N>> -endobj - -25158 0 obj -<>/P 10569 0 R/Type/Annot/A 25764 0 R/Subtype/Link/Rect[151 329 165 338]/Border[0 0 0]/H/N>> -endobj - -25159 0 obj -<>/P 10569 0 R/Type/Annot/A 25760 0 R/Subtype/Link/Rect[167 329 179 338]/Border[0 0 0]/H/N>> -endobj - -25160 0 obj -<>/P 10569 0 R/Type/Annot/A 25756 0 R/Subtype/Link/Rect[188 319 205 329]/Border[0 0 0]/H/N>> -endobj - -25161 0 obj -<>/P 10569 0 R/Type/Annot/A 25752 0 R/Subtype/Link/Rect[206 319 220 328]/Border[0 0 0]/H/N>> -endobj - -25162 0 obj -<>/P 10569 0 R/Type/Annot/A 25747 0 R/Subtype/Link/Rect[222 319 238 329]/Border[0 0 0]/H/N>> -endobj - -25163 0 obj -<>/P 10569 0 R/Type/Annot/A 25743 0 R/Subtype/Link/Rect[239 319 253 328]/Border[0 0 0]/H/N>> -endobj - -25164 0 obj -<>/P 10569 0 R/Type/Annot/A 25740 0 R/Subtype/Link/Rect[255 319 267 328]/Border[0 0 0]/H/N>> -endobj - -25165 0 obj -<>/P 10569 0 R/Type/Annot/A 25736 0 R/Subtype/Link/Rect[193 309 210 319]/Border[0 0 0]/H/N>> -endobj - -25166 0 obj -<>/P 10569 0 R/Type/Annot/A 25732 0 R/Subtype/Link/Rect[210 309 224 318]/Border[0 0 0]/H/N>> -endobj - -25167 0 obj -<>/P 10569 0 R/Type/Annot/A 25727 0 R/Subtype/Link/Rect[226 309 240 318]/Border[0 0 0]/H/N>> -endobj - -25168 0 obj -<>/P 10569 0 R/Type/Annot/A 25724 0 R/Subtype/Link/Rect[242 309 254 318]/Border[0 0 0]/H/N>> -endobj - -25169 0 obj -<>/P 10569 0 R/Type/Annot/A 25721 0 R/Subtype/Link/Rect[204 299 218 308]/Border[0 0 0]/H/N>> -endobj - -25170 0 obj -<>/P 10569 0 R/Type/Annot/A 25716 0 R/Subtype/Link/Rect[220 299 234 308]/Border[0 0 0]/H/N>> -endobj - -25171 0 obj -<>/P 10569 0 R/Type/Annot/A 25712 0 R/Subtype/Link/Rect[236 299 252 309]/Border[0 0 0]/H/N>> -endobj - -25172 0 obj -<>/P 10569 0 R/Type/Annot/A 25708 0 R/Subtype/Link/Rect[253 299 267 308]/Border[0 0 0]/H/N>> -endobj - -25173 0 obj -<>/P 10569 0 R/Type/Annot/A 25704 0 R/Subtype/Link/Rect[269 299 283 308]/Border[0 0 0]/H/N>> -endobj - -25174 0 obj -<>/P 10569 0 R/Type/Annot/A 25701 0 R/Subtype/Link/Rect[285 299 299 308]/Border[0 0 0]/H/N>> -endobj - -25175 0 obj -<>/P 10569 0 R/Type/Annot/A 25698 0 R/Subtype/Link/Rect[151 289 165 298]/Border[0 0 0]/H/N>> -endobj - -25176 0 obj -<>/P 10569 0 R/Type/Annot/A 25695 0 R/Subtype/Link/Rect[167 289 179 298]/Border[0 0 0]/H/N>> -endobj - -25177 0 obj -<>/P 10569 0 R/Type/Annot/A 25692 0 R/Subtype/Link/Rect[188 279 201 289]/Border[0 0 0]/H/N>> -endobj - -25178 0 obj -<>/P 10569 0 R/Type/Annot/A 25689 0 R/Subtype/Link/Rect[202 279 212 288]/Border[0 0 0]/H/N>> -endobj - -25179 0 obj -<>/P 10569 0 R/Type/Annot/A 25686 0 R/Subtype/Link/Rect[214 279 228 288]/Border[0 0 0]/H/N>> -endobj - -25180 0 obj -<>/P 10569 0 R/Type/Annot/A 25683 0 R/Subtype/Link/Rect[230 279 244 288]/Border[0 0 0]/H/N>> -endobj - -25181 0 obj -<>/P 10569 0 R/Type/Annot/A 25680 0 R/Subtype/Link/Rect[246 279 260 288]/Border[0 0 0]/H/N>> -endobj - -25182 0 obj -<>/P 10569 0 R/Type/Annot/A 25677 0 R/Subtype/Link/Rect[262 279 278 289]/Border[0 0 0]/H/N>> -endobj - -25183 0 obj -<>/P 10569 0 R/Type/Annot/A 25674 0 R/Subtype/Link/Rect[279 279 293 288]/Border[0 0 0]/H/N>> -endobj - -25184 0 obj -<>/P 10569 0 R/Type/Annot/A 25671 0 R/Subtype/Link/Rect[151 269 167 279]/Border[0 0 0]/H/N>> -endobj - -25185 0 obj -<>/P 10569 0 R/Type/Annot/A 25668 0 R/Subtype/Link/Rect[168 269 182 278]/Border[0 0 0]/H/N>> -endobj - -25186 0 obj -<>/P 10569 0 R/Type/Annot/A 25665 0 R/Subtype/Link/Rect[184 269 198 278]/Border[0 0 0]/H/N>> -endobj - -25187 0 obj -<>/P 10569 0 R/Type/Annot/A 25728 0 R/Subtype/Link/Rect[200 269 217 279]/Border[0 0 0]/H/N>> -endobj - -25188 0 obj -<>/P 10569 0 R/Type/Annot/A 25659 0 R/Subtype/Link/Rect[217 269 231 278]/Border[0 0 0]/H/N>> -endobj - -25189 0 obj -<>/P 10569 0 R/Type/Annot/A 25656 0 R/Subtype/Link/Rect[233 269 250 279]/Border[0 0 0]/H/N>> -endobj - -25190 0 obj -<>/P 10569 0 R/Type/Annot/A 25653 0 R/Subtype/Link/Rect[251 269 265 278]/Border[0 0 0]/H/N>> -endobj - -25191 0 obj -<>/P 10569 0 R/Type/Annot/A 25650 0 R/Subtype/Link/Rect[267 269 283 279]/Border[0 0 0]/H/N>> -endobj - -25192 0 obj -<>/P 10569 0 R/Type/Annot/A 25647 0 R/Subtype/Link/Rect[284 269 298 278]/Border[0 0 0]/H/N>> -endobj - -25193 0 obj -<>/P 10569 0 R/Type/Annot/A 25644 0 R/Subtype/Link/Rect[151 259 165 268]/Border[0 0 0]/H/N>> -endobj - -25194 0 obj -<>/P 10569 0 R/Type/Annot/A 25641 0 R/Subtype/Link/Rect[167 259 183 269]/Border[0 0 0]/H/N>> -endobj - -25195 0 obj -<>/P 10569 0 R/Type/Annot/A 25638 0 R/Subtype/Link/Rect[184 259 198 268]/Border[0 0 0]/H/N>> -endobj - -25196 0 obj -<>/P 10569 0 R/Type/Annot/A 25633 0 R/Subtype/Link/Rect[200 259 214 268]/Border[0 0 0]/H/N>> -endobj - -25197 0 obj -<>/P 10569 0 R/Type/Annot/A 25630 0 R/Subtype/Link/Rect[216 259 230 268]/Border[0 0 0]/H/N>> -endobj - -25198 0 obj -<>/P 10569 0 R/Type/Annot/A 25627 0 R/Subtype/Link/Rect[232 259 246 268]/Border[0 0 0]/H/N>> -endobj - -25199 0 obj -<>/P 10569 0 R/Type/Annot/A 25624 0 R/Subtype/Link/Rect[248 259 262 268]/Border[0 0 0]/H/N>> -endobj - -25200 0 obj -<>/P 10569 0 R/Type/Annot/A 25621 0 R/Subtype/Link/Rect[264 259 281 269]/Border[0 0 0]/H/N>> -endobj - -25201 0 obj -<>/P 10569 0 R/Type/Annot/A 25617 0 R/Subtype/Link/Rect[281 259 295 268]/Border[0 0 0]/H/N>> -endobj - -25202 0 obj -<>/P 10569 0 R/Type/Annot/A 25614 0 R/Subtype/Link/Rect[151 249 167 259]/Border[0 0 0]/H/N>> -endobj - -25203 0 obj -<>/P 10569 0 R/Type/Annot/A 25611 0 R/Subtype/Link/Rect[168 249 182 258]/Border[0 0 0]/H/N>> -endobj - -25204 0 obj -<>/P 10569 0 R/Type/Annot/A 25607 0 R/Subtype/Link/Rect[184 249 198 258]/Border[0 0 0]/H/N>> -endobj - -25205 0 obj -<>/P 10569 0 R/Type/Annot/A 25604 0 R/Subtype/Link/Rect[200 249 214 258]/Border[0 0 0]/H/N>> -endobj - -25206 0 obj -<>/P 10569 0 R/Type/Annot/A 25601 0 R/Subtype/Link/Rect[216 249 228 258]/Border[0 0 0]/H/N>> -endobj - -25207 0 obj -<>/P 10569 0 R/Type/Annot/A 25598 0 R/Subtype/Link/Rect[183 239 193 248]/Border[0 0 0]/H/N>> -endobj - -25208 0 obj -<>/P 10569 0 R/Type/Annot/A 25594 0 R/Subtype/Link/Rect[195 239 209 248]/Border[0 0 0]/H/N>> -endobj - -25209 0 obj -<>/P 10569 0 R/Type/Annot/A 25591 0 R/Subtype/Link/Rect[211 239 225 248]/Border[0 0 0]/H/N>> -endobj - -25210 0 obj -<>/P 10569 0 R/Type/Annot/A 25588 0 R/Subtype/Link/Rect[227 239 241 248]/Border[0 0 0]/H/N>> -endobj - -25211 0 obj -<>/P 10569 0 R/Type/Annot/A 25585 0 R/Subtype/Link/Rect[243 239 260 249]/Border[0 0 0]/H/N>> -endobj - -25212 0 obj -<>/P 10569 0 R/Type/Annot/A 25582 0 R/Subtype/Link/Rect[261 239 275 248]/Border[0 0 0]/H/N>> -endobj - -25213 0 obj -<>/P 10569 0 R/Type/Annot/A 25579 0 R/Subtype/Link/Rect[277 239 289 248]/Border[0 0 0]/H/N>> -endobj - -25214 0 obj -<>/P 10569 0 R/Type/Annot/A 25637 0 R/Subtype/Link/Rect[188 229 202 238]/Border[0 0 0]/H/N>> -endobj - -25215 0 obj -<>/P 10569 0 R/Type/Annot/A 25572 0 R/Subtype/Link/Rect[204 229 218 238]/Border[0 0 0]/H/N>> -endobj - -25216 0 obj -<>/P 10569 0 R/Type/Annot/A 25567 0 R/Subtype/Link/Rect[220 229 232 238]/Border[0 0 0]/H/N>> -endobj - -25217 0 obj -<>/P 10569 0 R/Type/Annot/A 25562 0 R/Subtype/Link/Rect[221 219 235 228]/Border[0 0 0]/H/N>> -endobj - -25218 0 obj -<>/P 10569 0 R/Type/Annot/A 25558 0 R/Subtype/Link/Rect[237 219 253 229]/Border[0 0 0]/H/N>> -endobj - -25219 0 obj -<>/P 10569 0 R/Type/Annot/A 25618 0 R/Subtype/Link/Rect[254 219 268 228]/Border[0 0 0]/H/N>> -endobj - -25220 0 obj -<>/P 10569 0 R/Type/Annot/A 25545 0 R/Subtype/Link/Rect[270 219 287 229]/Border[0 0 0]/H/N>> -endobj - -25221 0 obj -<>/P 10569 0 R/Type/Annot/A 25538 0 R/Subtype/Link/Rect[287 219 301 228]/Border[0 0 0]/H/N>> -endobj - -25222 0 obj -<>/P 10569 0 R/Type/Annot/A 25531 0 R/Subtype/Link/Rect[151 209 163 218]/Border[0 0 0]/H/N>> -endobj - -25223 0 obj -<>/P 10569 0 R/Type/Annot/A 25525 0 R/Subtype/Link/Rect[189 199 206 209]/Border[0 0 0]/H/N>> -endobj - -25224 0 obj -<>/P 10569 0 R/Type/Annot/A 25520 0 R/Subtype/Link/Rect[207 199 219 208]/Border[0 0 0]/H/N>> -endobj - -25225 0 obj -<>/P 10569 0 R/Type/Annot/A 25513 0 R/Subtype/Link/Rect[220 189 232 198]/Border[0 0 0]/H/N>> -endobj - -25226 0 obj -<>/P 10569 0 R/Type/Annot/A 25507 0 R/Subtype/Link/Rect[193 179 205 188]/Border[0 0 0]/H/N>> -endobj - -25227 0 obj -<>/P 10569 0 R/Type/Annot/A 25501 0 R/Subtype/Link/Rect[193 169 205 178]/Border[0 0 0]/H/N>> -endobj - -25228 0 obj -<>/P 10569 0 R/Type/Annot/A 25495 0 R/Subtype/Link/Rect[193 159 207 168]/Border[0 0 0]/H/N>> -endobj - -25229 0 obj -<>/P 10569 0 R/Type/Annot/A 25490 0 R/Subtype/Link/Rect[209 159 223 168]/Border[0 0 0]/H/N>> -endobj - -25230 0 obj -<>/P 10569 0 R/Type/Annot/A 25483 0 R/Subtype/Link/Rect[225 159 239 168]/Border[0 0 0]/H/N>> -endobj - -25231 0 obj -<>/P 10569 0 R/Type/Annot/A 33040 0 R/Subtype/Link/Rect[241 159 255 168]/Border[0 0 0]/H/N>> -endobj - -25232 0 obj -<>/P 10569 0 R/Type/Annot/A 25467 0 R/Subtype/Link/Rect[257 159 271 168]/Border[0 0 0]/H/N>> -endobj - -25233 0 obj -<>/P 10569 0 R/Type/Annot/A 25458 0 R/Subtype/Link/Rect[273 159 287 168]/Border[0 0 0]/H/N>> -endobj - -25234 0 obj -<>/P 10569 0 R/Type/Annot/A 25452 0 R/Subtype/Link/Rect[289 159 303 168]/Border[0 0 0]/H/N>> -endobj - -25235 0 obj -<>/P 10569 0 R/Type/Annot/A 25445 0 R/Subtype/Link/Rect[151 149 165 158]/Border[0 0 0]/H/N>> -endobj - -25236 0 obj -<>/P 10569 0 R/Type/Annot/A 31097 0 R/Subtype/Link/Rect[167 149 181 158]/Border[0 0 0]/H/N>> -endobj - -25237 0 obj -<>/P 10569 0 R/Type/Annot/A 25431 0 R/Subtype/Link/Rect[183 149 195 158]/Border[0 0 0]/H/N>> -endobj - -25238 0 obj -<>/P 10569 0 R/Type/Annot/A 25423 0 R/Subtype/Link/Rect[424 669 438 678]/Border[0 0 0]/H/N>> -endobj - -25239 0 obj -<>/P 10569 0 R/Type/Annot/A 35879 0 R/Subtype/Link/Rect[440 669 454 678]/Border[0 0 0]/H/N>> -endobj - -25240 0 obj -<>/P 10569 0 R/Type/Annot/A 30242 0 R/Subtype/Link/Rect[456 669 473 679]/Border[0 0 0]/H/N>> -endobj - -25241 0 obj -<>/P 10569 0 R/Type/Annot/A 25519 0 R/Subtype/Link/Rect[473 669 487 678]/Border[0 0 0]/H/N>> -endobj - -25242 0 obj -<>/P 10569 0 R/Type/Annot/A 25512 0 R/Subtype/Link/Rect[489 669 501 678]/Border[0 0 0]/H/N>> -endobj - -25243 0 obj -<>/P 10569 0 R/Type/Annot/A 25505 0 R/Subtype/Link/Rect[397 659 409 668]/Border[0 0 0]/H/N>> -endobj - -25244 0 obj -<>/P 10569 0 R/Type/Annot/A 25500 0 R/Subtype/Link/Rect[401 649 413 658]/Border[0 0 0]/H/N>> -endobj - -25245 0 obj -<>/P 10569 0 R/Type/Annot/A 29320 0 R/Subtype/Link/Rect[396 639 410 648]/Border[0 0 0]/H/N>> -endobj - -25246 0 obj -<>/P 10569 0 R/Type/Annot/A 29281 0 R/Subtype/Link/Rect[412 639 426 648]/Border[0 0 0]/H/N>> -endobj - -25247 0 obj -<>/P 10569 0 R/Type/Annot/A 25479 0 R/Subtype/Link/Rect[428 639 440 648]/Border[0 0 0]/H/N>> -endobj - -25248 0 obj -<>/P 10569 0 R/Type/Annot/A 25471 0 R/Subtype/Link/Rect[405 629 417 639]/Border[0 0 0]/H/N>> -endobj - -25249 0 obj -<>/P 10569 0 R/Type/Annot/A 25461 0 R/Subtype/Link/Rect[418 629 428 638]/Border[0 0 0]/H/N>> -endobj - -25250 0 obj -<>/P 10569 0 R/Type/Annot/A 29127 0 R/Subtype/Link/Rect[430 629 440 638]/Border[0 0 0]/H/N>> -endobj - -25251 0 obj -<>/P 10569 0 R/Type/Annot/A 25554 0 R/Subtype/Link/Rect[442 629 456 638]/Border[0 0 0]/H/N>> -endobj - -25252 0 obj -<>/P 10569 0 R/Type/Annot/A 25439 0 R/Subtype/Link/Rect[458 629 475 639]/Border[0 0 0]/H/N>> -endobj - -25253 0 obj -<>/P 10569 0 R/Type/Annot/A 31078 0 R/Subtype/Link/Rect[475 629 489 638]/Border[0 0 0]/H/N>> -endobj - -25254 0 obj -<>/P 10569 0 R/Type/Annot/A 25535 0 R/Subtype/Link/Rect[359 619 375 629]/Border[0 0 0]/H/N>> -endobj - -25255 0 obj -<>/P 10569 0 R/Type/Annot/A 28452 0 R/Subtype/Link/Rect[376 619 390 628]/Border[0 0 0]/H/N>> -endobj - -25256 0 obj -<>/P 10569 0 R/Type/Annot/A 28411 0 R/Subtype/Link/Rect[392 619 409 629]/Border[0 0 0]/H/N>> -endobj - -25257 0 obj -<>/P 10569 0 R/Type/Annot/A 25514 0 R/Subtype/Link/Rect[409 619 423 628]/Border[0 0 0]/H/N>> -endobj - -25258 0 obj -<>/P 10569 0 R/Type/Annot/A 25506 0 R/Subtype/Link/Rect[425 619 442 629]/Border[0 0 0]/H/N>> -endobj - -25259 0 obj -<>/P 10569 0 R/Type/Annot/A 34221 0 R/Subtype/Link/Rect[443 619 457 628]/Border[0 0 0]/H/N>> -endobj - -25260 0 obj -<>/P 10569 0 R/Type/Annot/A 27562 0 R/Subtype/Link/Rect[459 619 475 629]/Border[0 0 0]/H/N>> -endobj - -25261 0 obj -<>/P 10569 0 R/Type/Annot/A 25488 0 R/Subtype/Link/Rect[476 619 490 628]/Border[0 0 0]/H/N>> -endobj - -25262 0 obj -<>/P 10569 0 R/Type/Annot/A 25476 0 R/Subtype/Link/Rect[359 609 375 619]/Border[0 0 0]/H/N>> -endobj - -25263 0 obj -<>/P 10569 0 R/Type/Annot/A 29253 0 R/Subtype/Link/Rect[376 609 390 618]/Border[0 0 0]/H/N>> -endobj - -25264 0 obj -<>/P 10569 0 R/Type/Annot/A 25459 0 R/Subtype/Link/Rect[392 609 406 618]/Border[0 0 0]/H/N>> -endobj - -25265 0 obj -<>/P 10569 0 R/Type/Annot/A 25451 0 R/Subtype/Link/Rect[408 609 422 618]/Border[0 0 0]/H/N>> -endobj - -25266 0 obj -<>/P 10569 0 R/Type/Annot/A 25902 0 R/Subtype/Link/Rect[424 609 438 618]/Border[0 0 0]/H/N>> -endobj - -25267 0 obj -<>/P 10569 0 R/Type/Annot/A 37694 0 R/Subtype/Link/Rect[440 609 454 618]/Border[0 0 0]/H/N>> -endobj - -25268 0 obj -<>/P 10569 0 R/Type/Annot/A 25428 0 R/Subtype/Link/Rect[456 609 470 618]/Border[0 0 0]/H/N>> -endobj - -25269 0 obj -<>/P 10569 0 R/Type/Annot/A 28512 0 R/Subtype/Link/Rect[472 609 486 618]/Border[0 0 0]/H/N>> -endobj - -25270 0 obj -<>/P 10569 0 R/Type/Annot/A 25779 0 R/Subtype/Link/Rect[488 609 501 618]/Border[0 0 0]/H/N>> -endobj - -25271 0 obj -<>/P 10569 0 R/Type/Annot/A 25776 0 R/Subtype/Link/Rect[503 609 515 618]/Border[0 0 0]/H/N>> -endobj - -25272 0 obj -<>/P 10569 0 R/Type/Annot/A 25773 0 R/Subtype/Link/Rect[397 599 411 608]/Border[0 0 0]/H/N>> -endobj - -25273 0 obj -<>/P 10569 0 R/Type/Annot/A 25770 0 R/Subtype/Link/Rect[413 599 425 608]/Border[0 0 0]/H/N>> -endobj - -25274 0 obj -<>/P 10569 0 R/Type/Annot/A 25766 0 R/Subtype/Link/Rect[385 589 397 598]/Border[0 0 0]/H/N>> -endobj - -25275 0 obj -<>/P 10569 0 R/Type/Annot/A 25762 0 R/Subtype/Link/Rect[376 579 390 588]/Border[0 0 0]/H/N>> -endobj - -25276 0 obj -<>/P 10569 0 R/Type/Annot/A 25758 0 R/Subtype/Link/Rect[392 579 409 589]/Border[0 0 0]/H/N>> -endobj - -25277 0 obj -<>/P 10569 0 R/Type/Annot/A 25754 0 R/Subtype/Link/Rect[409 579 423 588]/Border[0 0 0]/H/N>> -endobj - -25278 0 obj -<>/P 10569 0 R/Type/Annot/A 25749 0 R/Subtype/Link/Rect[425 579 439 588]/Border[0 0 0]/H/N>> -endobj - -25279 0 obj -<>/P 10569 0 R/Type/Annot/A 25745 0 R/Subtype/Link/Rect[441 579 453 588]/Border[0 0 0]/H/N>> -endobj - -25280 0 obj -<>/P 10569 0 R/Type/Annot/A 25742 0 R/Subtype/Link/Rect[418 569 428 578]/Border[0 0 0]/H/N>> -endobj - -25281 0 obj -<>/P 10569 0 R/Type/Annot/A 25739 0 R/Subtype/Link/Rect[430 569 444 578]/Border[0 0 0]/H/N>> -endobj - -25282 0 obj -<>/P 10569 0 R/Type/Annot/A 25735 0 R/Subtype/Link/Rect[446 569 460 578]/Border[0 0 0]/H/N>> -endobj - -25283 0 obj -<>/P 10569 0 R/Type/Annot/A 25731 0 R/Subtype/Link/Rect[462 569 476 578]/Border[0 0 0]/H/N>> -endobj - -25284 0 obj -<>/P 10569 0 R/Type/Annot/A 25726 0 R/Subtype/Link/Rect[478 569 495 579]/Border[0 0 0]/H/N>> -endobj - -25285 0 obj -<>/P 10569 0 R/Type/Annot/A 25723 0 R/Subtype/Link/Rect[495 569 509 578]/Border[0 0 0]/H/N>> -endobj - -25286 0 obj -<>/P 10569 0 R/Type/Annot/A 25720 0 R/Subtype/Link/Rect[359 559 371 568]/Border[0 0 0]/H/N>> -endobj - -25287 0 obj -<>/P 10569 0 R/Type/Annot/A 25715 0 R/Subtype/Link/Rect[429 549 443 558]/Border[0 0 0]/H/N>> -endobj - -25288 0 obj -<>/P 10569 0 R/Type/Annot/A 25711 0 R/Subtype/Link/Rect[445 549 459 558]/Border[0 0 0]/H/N>> -endobj - -25289 0 obj -<>/P 10569 0 R/Type/Annot/A 25707 0 R/Subtype/Link/Rect[461 549 475 558]/Border[0 0 0]/H/N>> -endobj - -25290 0 obj -<>/P 10569 0 R/Type/Annot/A 25703 0 R/Subtype/Link/Rect[477 549 491 558]/Border[0 0 0]/H/N>> -endobj - -25291 0 obj -<>/P 10569 0 R/Type/Annot/A 25700 0 R/Subtype/Link/Rect[493 549 507 558]/Border[0 0 0]/H/N>> -endobj - -25292 0 obj -<>/P 10569 0 R/Type/Annot/A 25697 0 R/Subtype/Link/Rect[359 539 373 548]/Border[0 0 0]/H/N>> -endobj - -25293 0 obj -<>/P 10569 0 R/Type/Annot/A 25694 0 R/Subtype/Link/Rect[375 539 389 548]/Border[0 0 0]/H/N>> -endobj - -25294 0 obj -<>/P 10569 0 R/Type/Annot/A 25691 0 R/Subtype/Link/Rect[391 539 403 548]/Border[0 0 0]/H/N>> -endobj - -25295 0 obj -<>/P 10569 0 R/Type/Annot/A 25688 0 R/Subtype/Link/Rect[397 529 409 538]/Border[0 0 0]/H/N>> -endobj - -25296 0 obj -<>/P 10569 0 R/Type/Annot/A 25685 0 R/Subtype/Link/Rect[368 519 380 529]/Border[0 0 0]/H/N>> -endobj - -25297 0 obj -<>/P 10569 0 R/Type/Annot/A 25682 0 R/Subtype/Link/Rect[381 519 391 528]/Border[0 0 0]/H/N>> -endobj - -25298 0 obj -<>/P 10569 0 R/Type/Annot/A 25679 0 R/Subtype/Link/Rect[393 519 410 529]/Border[0 0 0]/H/N>> -endobj - -25299 0 obj -<>/P 10569 0 R/Type/Annot/A 25676 0 R/Subtype/Link/Rect[410 519 422 528]/Border[0 0 0]/H/N>> -endobj - -25300 0 obj -<>/P 10569 0 R/Type/Annot/A 25717 0 R/Subtype/Link/Rect[384 509 396 518]/Border[0 0 0]/H/N>> -endobj - -25301 0 obj -<>/P 10569 0 R/Type/Annot/A 25672 0 R/Subtype/Link/Rect[382 499 394 508]/Border[0 0 0]/H/N>> -endobj - -25302 0 obj -<>/P 10569 0 R/Type/Annot/A 25669 0 R/Subtype/Link/Rect[392 489 404 498]/Border[0 0 0]/H/N>> -endobj - -25303 0 obj -<>/P 10569 0 R/Type/Annot/A 25666 0 R/Subtype/Link/Rect[454 479 466 488]/Border[0 0 0]/H/N>> -endobj - -25304 0 obj -<>/P 10569 0 R/Type/Annot/A 25663 0 R/Subtype/Link/Rect[392 469 409 479]/Border[0 0 0]/H/N>> -endobj - -25305 0 obj -<>/P 10569 0 R/Type/Annot/A 25661 0 R/Subtype/Link/Rect[409 469 421 478]/Border[0 0 0]/H/N>> -endobj - -25306 0 obj -<>/P 10569 0 R/Type/Annot/A 25658 0 R/Subtype/Link/Rect[368 459 382 468]/Border[0 0 0]/H/N>> -endobj - -25307 0 obj -<>/P 10569 0 R/Type/Annot/A 25655 0 R/Subtype/Link/Rect[384 459 396 468]/Border[0 0 0]/H/N>> -endobj - -25308 0 obj -<>/P 10569 0 R/Type/Annot/A 25652 0 R/Subtype/Link/Rect[383 449 395 458]/Border[0 0 0]/H/N>> -endobj - -25309 0 obj -<>/P 10569 0 R/Type/Annot/A 25649 0 R/Subtype/Link/Rect[387 439 401 448]/Border[0 0 0]/H/N>> -endobj - -25310 0 obj -<>/P 10569 0 R/Type/Annot/A 25646 0 R/Subtype/Link/Rect[403 439 417 448]/Border[0 0 0]/H/N>> -endobj - -25311 0 obj -<>/P 10569 0 R/Type/Annot/A 25643 0 R/Subtype/Link/Rect[419 439 431 448]/Border[0 0 0]/H/N>> -endobj - -25312 0 obj -<>/P 10569 0 R/Type/Annot/A 25640 0 R/Subtype/Link/Rect[380 429 397 439]/Border[0 0 0]/H/N>> -endobj - -25313 0 obj -<>/P 10569 0 R/Type/Annot/A 25635 0 R/Subtype/Link/Rect[397 429 409 438]/Border[0 0 0]/H/N>> -endobj - -25314 0 obj -<>/P 10569 0 R/Type/Annot/A 25632 0 R/Subtype/Link/Rect[389 419 406 429]/Border[0 0 0]/H/N>> -endobj - -25315 0 obj -<>/P 10569 0 R/Type/Annot/A 25629 0 R/Subtype/Link/Rect[407 419 419 428]/Border[0 0 0]/H/N>> -endobj - -25316 0 obj -<>/P 10569 0 R/Type/Annot/A 25626 0 R/Subtype/Link/Rect[438 409 452 418]/Border[0 0 0]/H/N>> -endobj - -25317 0 obj -<>/P 10569 0 R/Type/Annot/A 25623 0 R/Subtype/Link/Rect[454 409 466 418]/Border[0 0 0]/H/N>> -endobj - -25318 0 obj -<>/P 10569 0 R/Type/Annot/A 25620 0 R/Subtype/Link/Rect[397 399 409 408]/Border[0 0 0]/H/N>> -endobj - -25319 0 obj -<>/P 10569 0 R/Type/Annot/A 25616 0 R/Subtype/Link/Rect[414 389 426 398]/Border[0 0 0]/H/N>> -endobj - -25320 0 obj -<>/P 10569 0 R/Type/Annot/A 25613 0 R/Subtype/Link/Rect[424 379 438 388]/Border[0 0 0]/H/N>> -endobj - -25321 0 obj -<>/P 10569 0 R/Type/Annot/A 25610 0 R/Subtype/Link/Rect[440 379 454 388]/Border[0 0 0]/H/N>> -endobj - -25322 0 obj -<>/P 10569 0 R/Type/Annot/A 25606 0 R/Subtype/Link/Rect[456 379 473 389]/Border[0 0 0]/H/N>> -endobj - -25323 0 obj -<>/P 10569 0 R/Type/Annot/A 25603 0 R/Subtype/Link/Rect[473 379 485 388]/Border[0 0 0]/H/N>> -endobj - -25324 0 obj -<>/P 10569 0 R/Type/Annot/A 25600 0 R/Subtype/Link/Rect[397 369 409 378]/Border[0 0 0]/H/N>> -endobj - -25325 0 obj -<>/P 10569 0 R/Type/Annot/A 25597 0 R/Subtype/Link/Rect[401 359 415 368]/Border[0 0 0]/H/N>> -endobj - -25326 0 obj -<>/P 10569 0 R/Type/Annot/A 25593 0 R/Subtype/Link/Rect[417 359 431 368]/Border[0 0 0]/H/N>> -endobj - -25327 0 obj -<>/P 10569 0 R/Type/Annot/A 25590 0 R/Subtype/Link/Rect[433 359 447 368]/Border[0 0 0]/H/N>> -endobj - -25328 0 obj -<>/P 10569 0 R/Type/Annot/A 25587 0 R/Subtype/Link/Rect[449 359 463 368]/Border[0 0 0]/H/N>> -endobj - -25329 0 obj -<>/P 10569 0 R/Type/Annot/A 25584 0 R/Subtype/Link/Rect[465 359 482 369]/Border[0 0 0]/H/N>> -endobj - -25330 0 obj -<>/P 10569 0 R/Type/Annot/A 25581 0 R/Subtype/Link/Rect[482 359 496 368]/Border[0 0 0]/H/N>> -endobj - -25331 0 obj -<>/P 10569 0 R/Type/Annot/A 25578 0 R/Subtype/Link/Rect[498 359 512 368]/Border[0 0 0]/H/N>> -endobj - -25332 0 obj -<>/P 10569 0 R/Type/Annot/A 25575 0 R/Subtype/Link/Rect[359 349 373 358]/Border[0 0 0]/H/N>> -endobj - -25333 0 obj -<>/P 10569 0 R/Type/Annot/A 25608 0 R/Subtype/Link/Rect[375 349 389 358]/Border[0 0 0]/H/N>> -endobj - -25334 0 obj -<>/P 10569 0 R/Type/Annot/A 25568 0 R/Subtype/Link/Rect[391 349 404 358]/Border[0 0 0]/H/N>> -endobj - -25335 0 obj -<>/P 10569 0 R/Type/Annot/A 25563 0 R/Subtype/Link/Rect[406 349 420 358]/Border[0 0 0]/H/N>> -endobj - -25336 0 obj -<>/P 10569 0 R/Type/Annot/A 25559 0 R/Subtype/Link/Rect[422 349 434 358]/Border[0 0 0]/H/N>> -endobj - -25337 0 obj -<>/P 10569 0 R/Type/Annot/A 25551 0 R/Subtype/Link/Rect[401 339 415 348]/Border[0 0 0]/H/N>> -endobj - -25338 0 obj -<>/P 10569 0 R/Type/Annot/A 25547 0 R/Subtype/Link/Rect[417 339 431 348]/Border[0 0 0]/H/N>> -endobj - -25339 0 obj -<>/P 10569 0 R/Type/Annot/A 25540 0 R/Subtype/Link/Rect[433 339 447 348]/Border[0 0 0]/H/N>> -endobj - -25340 0 obj -<>/P 10569 0 R/Type/Annot/A 25534 0 R/Subtype/Link/Rect[449 339 466 349]/Border[0 0 0]/H/N>> -endobj - -25341 0 obj -<>/P 10569 0 R/Type/Annot/A 25528 0 R/Subtype/Link/Rect[466 339 478 348]/Border[0 0 0]/H/N>> -endobj - -25342 0 obj -<>/P 10569 0 R/Type/Annot/A 25522 0 R/Subtype/Link/Rect[429 329 443 338]/Border[0 0 0]/H/N>> -endobj - -25343 0 obj -<>/P 10569 0 R/Type/Annot/A 25516 0 R/Subtype/Link/Rect[445 329 459 338]/Border[0 0 0]/H/N>> -endobj - -25344 0 obj -<>/P 10569 0 R/Type/Annot/A 25510 0 R/Subtype/Link/Rect[461 329 475 338]/Border[0 0 0]/H/N>> -endobj - -25345 0 obj -<>/P 10569 0 R/Type/Annot/A 25503 0 R/Subtype/Link/Rect[477 329 491 338]/Border[0 0 0]/H/N>> -endobj - -25346 0 obj -<>/P 10569 0 R/Type/Annot/A 25497 0 R/Subtype/Link/Rect[359 319 375 329]/Border[0 0 0]/H/N>> -endobj - -25347 0 obj -<>/P 10569 0 R/Type/Annot/A 25595 0 R/Subtype/Link/Rect[376 319 390 328]/Border[0 0 0]/H/N>> -endobj - -25348 0 obj -<>/P 10569 0 R/Type/Annot/A 25486 0 R/Subtype/Link/Rect[392 319 406 328]/Border[0 0 0]/H/N>> -endobj - -25349 0 obj -<>/P 10569 0 R/Type/Annot/A 25543 0 R/Subtype/Link/Rect[408 319 425 329]/Border[0 0 0]/H/N>> -endobj - -25350 0 obj -<>/P 10569 0 R/Type/Annot/A 25470 0 R/Subtype/Link/Rect[425 319 439 328]/Border[0 0 0]/H/N>> -endobj - -25351 0 obj -<>/P 10569 0 R/Type/Annot/A 25463 0 R/Subtype/Link/Rect[441 319 455 328]/Border[0 0 0]/H/N>> -endobj - -25352 0 obj -<>/P 10569 0 R/Type/Annot/A 25457 0 R/Subtype/Link/Rect[457 319 471 328]/Border[0 0 0]/H/N>> -endobj - -25353 0 obj -<>/P 10569 0 R/Type/Annot/A 25450 0 R/Subtype/Link/Rect[473 319 487 328]/Border[0 0 0]/H/N>> -endobj - -25354 0 obj -<>/P 10569 0 R/Type/Annot/A 25444 0 R/Subtype/Link/Rect[489 319 503 328]/Border[0 0 0]/H/N>> -endobj - -25355 0 obj -<>/P 10569 0 R/Type/Annot/A 25436 0 R/Subtype/Link/Rect[359 309 375 319]/Border[0 0 0]/H/N>> -endobj - -25356 0 obj -<>/P 10569 0 R/Type/Annot/A 25429 0 R/Subtype/Link/Rect[376 309 390 318]/Border[0 0 0]/H/N>> -endobj - -25357 0 obj -<>/P 10569 0 R/Type/Annot/A 25422 0 R/Subtype/Link/Rect[392 309 406 318]/Border[0 0 0]/H/N>> -endobj - -25358 0 obj -<>/P 10569 0 R/Type/Annot/A 25489 0 R/Subtype/Link/Rect[408 309 420 318]/Border[0 0 0]/H/N>> -endobj - -25359 0 obj -<>/P 10569 0 R/Type/Annot/A 25480 0 R/Subtype/Link/Rect[397 299 409 308]/Border[0 0 0]/H/N>> -endobj - -25360 0 obj -<>/P 10569 0 R/Type/Annot/A 25472 0 R/Subtype/Link/Rect[401 289 415 298]/Border[0 0 0]/H/N>> -endobj - -25361 0 obj -<>/P 10569 0 R/Type/Annot/A 25462 0 R/Subtype/Link/Rect[417 289 429 298]/Border[0 0 0]/H/N>> -endobj - -25362 0 obj -<>/P 10569 0 R/Type/Annot/A 44679 0 R/Subtype/Link/Rect[396 279 413 289]/Border[0 0 0]/H/N>> -endobj - -25363 0 obj -<>/P 10569 0 R/Type/Annot/A 44653 0 R/Subtype/Link/Rect[414 279 428 288]/Border[0 0 0]/H/N>> -endobj - -25364 0 obj -<>/P 10569 0 R/Type/Annot/A 25442 0 R/Subtype/Link/Rect[430 279 442 288]/Border[0 0 0]/H/N>> -endobj - -25365 0 obj -<>/P 10569 0 R/Type/Annot/A 25434 0 R/Subtype/Link/Rect[414 269 428 278]/Border[0 0 0]/H/N>> -endobj - -25366 0 obj -<>/P 10569 0 R/Type/Annot/A 25426 0 R/Subtype/Link/Rect[430 269 444 278]/Border[0 0 0]/H/N>> -endobj - -25367 0 obj -<>/P 10569 0 R/Type/Annot/A 25544 0 R/Subtype/Link/Rect[446 269 460 278]/Border[0 0 0]/H/N>> -endobj - -25368 0 obj -<>/P 10569 0 R/Type/Annot/A 25478 0 R/Subtype/Link/Rect[462 269 479 279]/Border[0 0 0]/H/N>> -endobj - -25369 0 obj -<>/P 10569 0 R/Type/Annot/A 44421 0 R/Subtype/Link/Rect[480 269 492 278]/Border[0 0 0]/H/N>> -endobj - -25370 0 obj -<>/P 10569 0 R/Type/Annot/A 33622 0 R/Subtype/Link/Rect[397 259 409 268]/Border[0 0 0]/H/N>> -endobj - -25371 0 obj -<>/P 10569 0 R/Type/Annot/A 25454 0 R/Subtype/Link/Rect[434 249 444 258]/Border[0 0 0]/H/N>> -endobj - -25372 0 obj -<>/P 10569 0 R/Type/Annot/A 44328 0 R/Subtype/Link/Rect[446 249 456 258]/Border[0 0 0]/H/N>> -endobj - -25373 0 obj -<>/P 10569 0 R/Type/Annot/A 44285 0 R/Subtype/Link/Rect[458 249 470 258]/Border[0 0 0]/H/N>> -endobj - -25374 0 obj -<>/P 10569 0 R/Type/Annot/A 25432 0 R/Subtype/Link/Rect[401 239 415 248]/Border[0 0 0]/H/N>> -endobj - -25375 0 obj -<>/P 10569 0 R/Type/Annot/A 30123 0 R/Subtype/Link/Rect[417 239 431 248]/Border[0 0 0]/H/N>> -endobj - -25376 0 obj -<>/P 10569 0 R/Type/Annot/A 25481 0 R/Subtype/Link/Rect[433 239 447 248]/Border[0 0 0]/H/N>> -endobj - -25377 0 obj -<>/P 10569 0 R/Type/Annot/A 44140 0 R/Subtype/Link/Rect[449 239 466 249]/Border[0 0 0]/H/N>> -endobj - -25378 0 obj -<>/P 10569 0 R/Type/Annot/A 44109 0 R/Subtype/Link/Rect[466 239 480 248]/Border[0 0 0]/H/N>> -endobj - -25379 0 obj -<>/P 10569 0 R/Type/Annot/A 25453 0 R/Subtype/Link/Rect[482 239 499 249]/Border[0 0 0]/H/N>> -endobj - -25380 0 obj -<>/P 10569 0 R/Type/Annot/A 33057 0 R/Subtype/Link/Rect[500 239 514 248]/Border[0 0 0]/H/N>> -endobj - -25381 0 obj -<>/P 10569 0 R/Type/Annot/A 44003 0 R/Subtype/Link/Rect[359 229 373 238]/Border[0 0 0]/H/N>> -endobj - -25382 0 obj -<>/P 10569 0 R/Type/Annot/A 29124 0 R/Subtype/Link/Rect[375 229 389 238]/Border[0 0 0]/H/N>> -endobj - -25383 0 obj -<>/P 10569 0 R/Type/Annot/A 43938 0 R/Subtype/Link/Rect[391 229 405 238]/Border[0 0 0]/H/N>> -endobj - -25384 0 obj -<>/P 10569 0 R/Type/Annot/A 25474 0 R/Subtype/Link/Rect[407 229 423 239]/Border[0 0 0]/H/N>> -endobj - -25385 0 obj -<>/P 10569 0 R/Type/Annot/A 25464 0 R/Subtype/Link/Rect[424 229 438 238]/Border[0 0 0]/H/N>> -endobj - -25386 0 obj -<>/P 10569 0 R/Type/Annot/A 43812 0 R/Subtype/Link/Rect[440 229 454 238]/Border[0 0 0]/H/N>> -endobj - -25387 0 obj -<>/P 10569 0 R/Type/Annot/A 25446 0 R/Subtype/Link/Rect[456 229 470 238]/Border[0 0 0]/H/N>> -endobj - -25388 0 obj -<>/P 10569 0 R/Type/Annot/A 25438 0 R/Subtype/Link/Rect[472 229 486 238]/Border[0 0 0]/H/N>> -endobj - -25389 0 obj -<>/P 10569 0 R/Type/Annot/A 25430 0 R/Subtype/Link/Rect[488 229 502 238]/Border[0 0 0]/H/N>> -endobj - -25390 0 obj -<>/P 10569 0 R/Type/Annot/A 27621 0 R/Subtype/Link/Rect[504 229 516 238]/Border[0 0 0]/H/N>> -endobj - -25391 0 obj -<>/P 10569 0 R/Type/Annot/A 43629 0 R/Subtype/Link/Rect[415 219 427 228]/Border[0 0 0]/H/N>> -endobj - -25392 0 obj -<>/P 10569 0 R/Type/Annot/A 28556 0 R/Subtype/Link/Rect[415 209 427 218]/Border[0 0 0]/H/N>> -endobj - -25393 0 obj -<>/P 10569 0 R/Type/Annot/A 43548 0 R/Subtype/Link/Rect[401 199 415 208]/Border[0 0 0]/H/N>> -endobj - -25394 0 obj -<>/P 10569 0 R/Type/Annot/A 33043 0 R/Subtype/Link/Rect[417 199 431 208]/Border[0 0 0]/H/N>> -endobj - -25395 0 obj -<>/P 10569 0 R/Type/Annot/A 43479 0 R/Subtype/Link/Rect[433 199 447 208]/Border[0 0 0]/H/N>> -endobj - -25396 0 obj -<>/P 10569 0 R/Type/Annot/A 26463 0 R/Subtype/Link/Rect[449 199 463 208]/Border[0 0 0]/H/N>> -endobj - -25397 0 obj -<>/P 10569 0 R/Type/Annot/A 25466 0 R/Subtype/Link/Rect[465 199 479 208]/Border[0 0 0]/H/N>> -endobj - -25398 0 obj -<>/P 10569 0 R/Type/Annot/A 25553 0 R/Subtype/Link/Rect[481 199 498 209]/Border[0 0 0]/H/N>> -endobj - -25399 0 obj -<>/P 10569 0 R/Type/Annot/A 25861 0 R/Subtype/Link/Rect[498 199 512 208]/Border[0 0 0]/H/N>> -endobj - -25400 0 obj -<>/P 10569 0 R/Type/Annot/A 25437 0 R/Subtype/Link/Rect[359 189 373 198]/Border[0 0 0]/H/N>> -endobj - -25401 0 obj -<>/P 10569 0 R/Type/Annot/A 25782 0 R/Subtype/Link/Rect[375 189 387 198]/Border[0 0 0]/H/N>> -endobj - -25402 0 obj -<>/P 10569 0 R/Type/Annot/A 43183 0 R/Subtype/Link/Rect[405 179 419 188]/Border[0 0 0]/H/N>> -endobj - -25403 0 obj -<>/P 10569 0 R/Type/Annot/A 25774 0 R/Subtype/Link/Rect[421 179 433 188]/Border[0 0 0]/H/N>> -endobj - -25404 0 obj -<>/P 10569 0 R/Type/Annot/A 43122 0 R/Subtype/Link/Rect[419 169 433 178]/Border[0 0 0]/H/N>> -endobj - -25405 0 obj -<>/P 10569 0 R/Type/Annot/A 25767 0 R/Subtype/Link/Rect[435 169 449 178]/Border[0 0 0]/H/N>> -endobj - -25406 0 obj -<>/P 10569 0 R/Type/Annot/A 25763 0 R/Subtype/Link/Rect[451 169 468 179]/Border[0 0 0]/H/N>> -endobj - -25407 0 obj -<>/P 10569 0 R/Type/Annot/A 25759 0 R/Subtype/Link/Rect[468 169 480 178]/Border[0 0 0]/H/N>> -endobj - -25408 0 obj -<>/P 10569 0 R/Type/Annot/A 25755 0 R/Subtype/Link/Rect[397 159 409 168]/Border[0 0 0]/H/N>> -endobj - -25409 0 obj -<>/P 10569 0 R/Type/Annot/A 25750 0 R/Subtype/Link/Rect[429 149 443 158]/Border[0 0 0]/H/N>> -endobj - -25410 0 obj -<>/P 10569 0 R/Type/Annot/A 25746 0 R/Subtype/Link/Rect[445 149 462 159]/Border[0 0 0]/H/N>> -endobj - -25411 0 obj -<>/P 10569 0 R/Type/Annot/A 42863 0 R/Subtype/Link/Rect[462 149 476 158]/Border[0 0 0]/H/N>> -endobj - -25412 0 obj -<>/P 10569 0 R/Type/Annot/A 25738 0 R/Subtype/Link/Rect[478 149 492 158]/Border[0 0 0]/H/N>> -endobj - -25413 0 obj -<>/P 10569 0 R/Type/Annot/A 25734 0 R/Subtype/Link/Rect[359 139 375 149]/Border[0 0 0]/H/N>> -endobj - -25414 0 obj -<>/P 10569 0 R/Type/Annot/A 25730 0 R/Subtype/Link/Rect[376 139 390 148]/Border[0 0 0]/H/N>> -endobj - -25415 0 obj -<>/P 10569 0 R/Type/Annot/A 25751 0 R/Subtype/Link/Rect[392 139 406 148]/Border[0 0 0]/H/N>> -endobj - -25416 0 obj -<>/P 10569 0 R/Type/Annot/A 42682 0 R/Subtype/Link/Rect[408 139 422 148]/Border[0 0 0]/H/N>> -endobj - -25417 0 obj -<>/P 10569 0 R/Type/Annot/A 25718 0 R/Subtype/Link/Rect[424 139 438 148]/Border[0 0 0]/H/N>> -endobj - -25418 0 obj -<>/P 10569 0 R/Type/Annot/A 25713 0 R/Subtype/Link/Rect[440 139 454 148]/Border[0 0 0]/H/N>> -endobj - -25419 0 obj -<>/P 10569 0 R/Type/Annot/A 25709 0 R/Subtype/Link/Rect[456 139 470 148]/Border[0 0 0]/H/N>> -endobj - -25420 0 obj -<>/P 10569 0 R/Type/Annot/A 25705 0 R/Subtype/Link/Rect[472 139 484 148]/Border[0 0 0]/H/N>> -endobj - -25421 0 obj -<> -endobj - -25422 0 obj -<> -endobj - -25423 0 obj -<> -endobj - -25424 0 obj -<> -endobj - -25425 0 obj -<> -endobj - -25426 0 obj -<> -endobj - -25427 0 obj -<> -endobj - -25428 0 obj -<> -endobj - -25429 0 obj -<> -endobj - -25430 0 obj -<> -endobj - -25431 0 obj -<> -endobj - -25432 0 obj -<> -endobj - -25433 0 obj -<> -endobj - -25434 0 obj -<> -endobj - -25435 0 obj -<> -endobj - -25436 0 obj -<> -endobj - -25437 0 obj -<> -endobj - -25438 0 obj -<> -endobj - -25439 0 obj -<> -endobj - -25440 0 obj -<> -endobj - -25441 0 obj -<> -endobj - -25442 0 obj -<> -endobj - -25443 0 obj -<> -endobj - -25444 0 obj -<> -endobj - -25445 0 obj -<> -endobj - -25446 0 obj -<> -endobj - -25447 0 obj -<> -endobj - -25448 0 obj -<> -endobj - -25449 0 obj -<> -endobj - -25450 0 obj -<> -endobj - -25451 0 obj -<> -endobj - -25452 0 obj -<> -endobj - -25453 0 obj -<> -endobj - -25454 0 obj -<> -endobj - -25455 0 obj -<> -endobj - -25456 0 obj -<> -endobj - -25457 0 obj -<> -endobj - -25458 0 obj -<> -endobj - -25459 0 obj -<> -endobj - -25460 0 obj -<> -endobj - -25461 0 obj -<> -endobj - -25462 0 obj -<> -endobj - -25463 0 obj -<> -endobj - -25464 0 obj -<> -endobj - -25465 0 obj -<> -endobj - -25466 0 obj -<> -endobj - -25467 0 obj -<> -endobj - -25468 0 obj -<> -endobj - -25469 0 obj -<> -endobj - -25470 0 obj -<> -endobj - -25471 0 obj -<> -endobj - -25472 0 obj -<> -endobj - -25473 0 obj -<> -endobj - -25474 0 obj -<> -endobj - -25475 0 obj -<> -endobj - -25476 0 obj -<> -endobj - -25477 0 obj -<> -endobj - -25478 0 obj -<> -endobj - -25479 0 obj -<> -endobj - -25480 0 obj -<> -endobj - -25481 0 obj -<> -endobj - -25482 0 obj -<> -endobj - -25483 0 obj -<> -endobj - -25484 0 obj -<> -endobj - -25485 0 obj -<> -endobj - -25486 0 obj -<> -endobj - -25487 0 obj -<> -endobj - -25488 0 obj -<> -endobj - -25489 0 obj -<> -endobj - -25490 0 obj -<> -endobj - -25491 0 obj -<> -endobj - -25492 0 obj -<> -endobj - -25493 0 obj -<> -endobj - -25494 0 obj -<> -endobj - -25495 0 obj -<> -endobj - -25496 0 obj -<> -endobj - -25497 0 obj -<> -endobj - -25498 0 obj -<> -endobj - -25499 0 obj -<> -endobj - -25500 0 obj -<> -endobj - -25501 0 obj -<> -endobj - -25502 0 obj -<> -endobj - -25503 0 obj -<> -endobj - -25504 0 obj -<> -endobj - -25505 0 obj -<> -endobj - -25506 0 obj -<> -endobj - -25507 0 obj -<> -endobj - -25508 0 obj -<> -endobj - -25509 0 obj -<> -endobj - -25510 0 obj -<> -endobj - -25511 0 obj -<> -endobj - -25512 0 obj -<> -endobj - -25513 0 obj -<> -endobj - -25514 0 obj -<> -endobj - -25515 0 obj -<> -endobj - -25516 0 obj -<> -endobj - -25517 0 obj -<> -endobj - -25518 0 obj -<> -endobj - -25519 0 obj -<> -endobj - -25520 0 obj -<> -endobj - -25521 0 obj -<> -endobj - -25522 0 obj -<> -endobj - -25523 0 obj -<> -endobj - -25524 0 obj -<> -endobj - -25525 0 obj -<> -endobj - -25526 0 obj -<> -endobj - -25527 0 obj -<> -endobj - -25528 0 obj -<> -endobj - -25529 0 obj -<> -endobj - -25530 0 obj -<> -endobj - -25531 0 obj -<> -endobj - -25532 0 obj -<> -endobj - -25533 0 obj -<> -endobj - -25534 0 obj -<> -endobj - -25535 0 obj -<> -endobj - -25536 0 obj -<> -endobj - -25537 0 obj -<> -endobj - -25538 0 obj -<> -endobj - -25539 0 obj -<> -endobj - -25540 0 obj -<> -endobj - -25541 0 obj -<> -endobj - -25542 0 obj -<> -endobj - -25543 0 obj -<> -endobj - -25544 0 obj -<> -endobj - -25545 0 obj -<> -endobj - -25546 0 obj -<> -endobj - -25547 0 obj -<> -endobj - -25548 0 obj -<> -endobj - -25549 0 obj -<> -endobj - -25550 0 obj -<> -endobj - -25551 0 obj -<> -endobj - -25552 0 obj -<> -endobj - -25553 0 obj -<> -endobj - -25554 0 obj -<> -endobj - -25555 0 obj -<> -endobj - -25556 0 obj -<> -endobj - -25557 0 obj -<> -endobj - -25558 0 obj -<> -endobj - -25559 0 obj -<> -endobj - -25560 0 obj -<> -endobj - -25561 0 obj -<> -endobj - -25562 0 obj -<> -endobj - -25563 0 obj -<> -endobj - -25564 0 obj -<> -endobj - -25565 0 obj -<> -endobj - -25566 0 obj -<> -endobj - -25567 0 obj -<> -endobj - -25568 0 obj -<> -endobj - -25569 0 obj -<> -endobj - -25570 0 obj -<> -endobj - -25571 0 obj -<> -endobj - -25572 0 obj -<> -endobj - -25573 0 obj -<> -endobj - -25574 0 obj -<> -endobj - -25575 0 obj -<> -endobj - -25576 0 obj -<> -endobj - -25577 0 obj -<> -endobj - -25578 0 obj -<> -endobj - -25579 0 obj -<> -endobj - -25580 0 obj -<> -endobj - -25581 0 obj -<> -endobj - -25582 0 obj -<> -endobj - -25583 0 obj -<> -endobj - -25584 0 obj -<> -endobj - -25585 0 obj -<> -endobj - -25586 0 obj -<> -endobj - -25587 0 obj -<> -endobj - -25588 0 obj -<> -endobj - -25589 0 obj -<> -endobj - -25590 0 obj -<> -endobj - -25591 0 obj -<> -endobj - -25592 0 obj -<> -endobj - -25593 0 obj -<> -endobj - -25594 0 obj -<> -endobj - -25595 0 obj -<> -endobj - -25596 0 obj -<> -endobj - -25597 0 obj -<> -endobj - -25598 0 obj -<> -endobj - -25599 0 obj -<> -endobj - -25600 0 obj -<> -endobj - -25601 0 obj -<> -endobj - -25602 0 obj -<> -endobj - -25603 0 obj -<> -endobj - -25604 0 obj -<> -endobj - -25605 0 obj -<> -endobj - -25606 0 obj -<> -endobj - -25607 0 obj -<> -endobj - -25608 0 obj -<> -endobj - -25609 0 obj -<> -endobj - -25610 0 obj -<> -endobj - -25611 0 obj -<> -endobj - -25612 0 obj -<> -endobj - -25613 0 obj -<> -endobj - -25614 0 obj -<> -endobj - -25615 0 obj -<> -endobj - -25616 0 obj -<> -endobj - -25617 0 obj -<> -endobj - -25618 0 obj -<> -endobj - -25619 0 obj -<> -endobj - -25620 0 obj -<> -endobj - -25621 0 obj -<> -endobj - -25622 0 obj -<> -endobj - -25623 0 obj -<> -endobj - -25624 0 obj -<> -endobj - -25625 0 obj -<> -endobj - -25626 0 obj -<> -endobj - -25627 0 obj -<> -endobj - -25628 0 obj -<> -endobj - -25629 0 obj -<> -endobj - -25630 0 obj -<> -endobj - -25631 0 obj -<> -endobj - -25632 0 obj -<> -endobj - -25633 0 obj -<> -endobj - -25634 0 obj -<> -endobj - -25635 0 obj -<> -endobj - -25636 0 obj -<> -endobj - -25637 0 obj -<> -endobj - -25638 0 obj -<> -endobj - -25639 0 obj -<> -endobj - -25640 0 obj -<> -endobj - -25641 0 obj -<> -endobj - -25642 0 obj -<> -endobj - -25643 0 obj -<> -endobj - -25644 0 obj -<> -endobj - -25645 0 obj -<> -endobj - -25646 0 obj -<> -endobj - -25647 0 obj -<> -endobj - -25648 0 obj -<> -endobj - -25649 0 obj -<> -endobj - -25650 0 obj -<> -endobj - -25651 0 obj -<> -endobj - -25652 0 obj -<> -endobj - -25653 0 obj -<> -endobj - -25654 0 obj -<> -endobj - -25655 0 obj -<> -endobj - -25656 0 obj -<> -endobj - -25657 0 obj -<> -endobj - -25658 0 obj -<> -endobj - -25659 0 obj -<> -endobj - -25660 0 obj -<> -endobj - -25661 0 obj -<> -endobj - -25662 0 obj -<> -endobj - -25663 0 obj -<> -endobj - -25664 0 obj -<> -endobj - -25665 0 obj -<> -endobj - -25666 0 obj -<> -endobj - -25667 0 obj -<> -endobj - -25668 0 obj -<> -endobj - -25669 0 obj -<> -endobj - -25670 0 obj -<> -endobj - -25671 0 obj -<> -endobj - -25672 0 obj -<> -endobj - -25673 0 obj -<> -endobj - -25674 0 obj -<> -endobj - -25675 0 obj -<> -endobj - -25676 0 obj -<> -endobj - -25677 0 obj -<> -endobj - -25678 0 obj -<> -endobj - -25679 0 obj -<> -endobj - -25680 0 obj -<> -endobj - -25681 0 obj -<> -endobj - -25682 0 obj -<> -endobj - -25683 0 obj -<> -endobj - -25684 0 obj -<> -endobj - -25685 0 obj -<> -endobj - -25686 0 obj -<> -endobj - -25687 0 obj -<> -endobj - -25688 0 obj -<> -endobj - -25689 0 obj -<> -endobj - -25690 0 obj -<> -endobj - -25691 0 obj -<> -endobj - -25692 0 obj -<> -endobj - -25693 0 obj -<> -endobj - -25694 0 obj -<> -endobj - -25695 0 obj -<> -endobj - -25696 0 obj -<> -endobj - -25697 0 obj -<> -endobj - -25698 0 obj -<> -endobj - -25699 0 obj -<> -endobj - -25700 0 obj -<> -endobj - -25701 0 obj -<> -endobj - -25702 0 obj -<> -endobj - -25703 0 obj -<> -endobj - -25704 0 obj -<> -endobj - -25705 0 obj -<> -endobj - -25706 0 obj -<> -endobj - -25707 0 obj -<> -endobj - -25708 0 obj -<> -endobj - -25709 0 obj -<> -endobj - -25710 0 obj -<> -endobj - -25711 0 obj -<> -endobj - -25712 0 obj -<> -endobj - -25713 0 obj -<> -endobj - -25714 0 obj -<> -endobj - -25715 0 obj -<> -endobj - -25716 0 obj -<> -endobj - -25717 0 obj -<> -endobj - -25718 0 obj -<> -endobj - -25719 0 obj -<> -endobj - -25720 0 obj -<> -endobj - -25721 0 obj -<> -endobj - -25722 0 obj -<> -endobj - -25723 0 obj -<> -endobj - -25724 0 obj -<> -endobj - -25725 0 obj -<> -endobj - -25726 0 obj -<> -endobj - -25727 0 obj -<> -endobj - -25728 0 obj -<> -endobj - -25729 0 obj -<> -endobj - -25730 0 obj -<> -endobj - -25731 0 obj -<> -endobj - -25732 0 obj -<> -endobj - -25733 0 obj -<> -endobj - -25734 0 obj -<> -endobj - -25735 0 obj -<> -endobj - -25736 0 obj -<> -endobj - -25737 0 obj -<> -endobj - -25738 0 obj -<> -endobj - -25739 0 obj -<> -endobj - -25740 0 obj -<> -endobj - -25741 0 obj -<> -endobj - -25742 0 obj -<> -endobj - -25743 0 obj -<> -endobj - -25744 0 obj -<> -endobj - -25745 0 obj -<> -endobj - -25746 0 obj -<> -endobj - -25747 0 obj -<> -endobj - -25748 0 obj -<> -endobj - -25749 0 obj -<> -endobj - -25750 0 obj -<> -endobj - -25751 0 obj -<> -endobj - -25752 0 obj -<> -endobj - -25753 0 obj -<> -endobj - -25754 0 obj -<> -endobj - -25755 0 obj -<> -endobj - -25756 0 obj -<> -endobj - -25757 0 obj -<> -endobj - -25758 0 obj -<> -endobj - -25759 0 obj -<> -endobj - -25760 0 obj -<> -endobj - -25761 0 obj -<> -endobj - -25762 0 obj -<> -endobj - -25763 0 obj -<> -endobj - -25764 0 obj -<> -endobj - -25765 0 obj -<> -endobj - -25766 0 obj -<> -endobj - -25767 0 obj -<> -endobj - -25768 0 obj -<> -endobj - -25769 0 obj -<> -endobj - -25770 0 obj -<> -endobj - -25771 0 obj -<> -endobj - -25772 0 obj -<> -endobj - -25773 0 obj -<> -endobj - -25774 0 obj -<> -endobj - -25775 0 obj -<> -endobj - -25776 0 obj -<> -endobj - -25777 0 obj -<> -endobj - -25778 0 obj -<> -endobj - -25779 0 obj -<> -endobj - -25780 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -25781 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25782 0 obj -<> -endobj - -25783 0 obj -<> -endobj - -25784 0 obj -<> -endobj - -25785 0 obj -<> -endobj - -25786 0 obj -<> -endobj - -25787 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -25788 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -25789 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -25790 0 obj -<> -stream -H[7WQ=7 d`'$@Z@qȸ'ULh4Z%PLj(kZ%qORb-Q{Zͤk@1Z$I-Ÿ'LjZ%qORb-Q{Zͤk@1Z$I-Ÿ'Lj Z%PLj(kZ%qORkb-Q{Zäk@1Z$I-Ÿ'5LjZ%qORkb-Q{Zäk@1Z$I-Ÿ'5Lj,Z%PLj(kZ%qORkb-Q{Zˤk@1Z$I-Ÿ'LjZ%qORkb-Q{Zˤk@1Z$I-Ÿ'LjZ%PLj(kccB{n7#X>tZ(y{/bwں_o:A6P7q?9 eӘ|8ިO|r~3ڕO9ǿ<_evuzƺy\ Wק#X88jWӇ5Obiԇ<^?9Qe+kTٟ. K= -Q*U7K]vo&}9>gas*gP7n^=LUWV?Z4z^fTV9v\ݏǻϨc籠؇KO ~ZWy>`<1 ii&i̿7H5FftBk'% .Tyd+pz-8 \{pׂ̺=<9=n_jJ)Th`CHxh{e`#L LZИ*O e<7˷ɚ - 1&e(GyPF0%gPRVbj"L-ejoIS{UT% wSEPb*ޚ*|J*'rjJZ5USQ CiBIJ0Se4'e(C(PS% 5USQ,4C+^1W~AwWv,ਵ8AS^m@} E7؇nZ$n"36[Yr-y{F$%ʗ,Ci8ΜrzߛS82/p.lFHpd"4CfEؼm&vdY.熖k}:yGI5VD2$JX5 6|q#k.9Ysi`c.sË%9[fDc -8c(uLhmە޲z+FNa(2ؔzy9n9NGR~ -K2^T_roHbZRQ0X6NrGI:qG&0,ʺ~%=dq|{\,4?2\6OR$=Y\/ډ}c߿:|n^xst߹ Msm>AƱݖv554"`-]+rOHe);+C@6ܾ -Qe:h -f,³eQtabVb[(,(.6GYhwML E]iϮ׈oӰ{$)veL;_hKd{e>}JvC1fj XCPyyxrr;vp9k'CήGTӺ<)tY Itf+ņ_:,4P[^݇k+3Ԙa~4s֫_:tY-*)XZJ|ৌz"XKƟkZd"ʼҖGI,w~{Ǖ)+|V>a:!U[뗡DQ'Fz.-iHt$kl@8; -f6tɄ3; &.tCc^9.2H>m׮%N >?89XmL:*HHXX/P/PjըCơz]Wх~D -: D+߿ &'iTs3iR&e$shmUzΟbq!3 z4V3_stcsk'Z )yB&IbxYD14byΞecyn 5(a_S8`*|g֎ݡ^͏L"o}GHy2d\r۟_K̜;n“50,oQ,Ԥ@WGr-p4:H֗SE.doD}̣̋ 2)o81y>᪽箴ZQ;i7#4N̦9abYtU|=lxAZkpT6ZTx -RL>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -25792 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25793 0 obj -<> -endobj - -25794 0 obj -<> -endobj - -25795 0 obj -<> -endobj - -25796 0 obj -<> -endobj - -25797 0 obj -<> -endobj - -25798 0 obj -<> -endobj - -25799 0 obj -<> -endobj - -25800 0 obj -<> -endobj - -25801 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -25802 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -25803 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -25804 0 obj -<> -stream -HWko_1wMb$ۦ|/CŮݬMIy1yJW3֬.Ԥiʬ2](|\}i~N.OĻX[_+s>s>s KKK++kUg-(v{ Vb%,^b{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb{ZZ+1fVbăJYڽĈZ+1ficv/1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+]@k%,^b{1K@k%,^6JYjm@k%,^6JYjm@k%,^6JYjm@k%,^6JYjm.Ak%,^b{1KӺ迓.yJW+kY]'@0tie2KY͡;ض#/3E^E/ci6ǯ^.sѿ1?.nKlqkwyMc[ -Mt[55gG@tYM3ND*-rxa*KWi п0Z]oLj:CaDD_|"x*HEyJH -$4abi}!S`̪KiVZAi@+WZ9ʕV -UBi@TZ%*V*UJi@VZ5Ъ˴Ę$F, Ҳ@*-r@KށKY@KށKY@KށKY@KށKY@KށKY@KށKY@KށKY@KރKYZKbʽʽʽʽʽʽʽʽFwΒZ^bZ)R )R m'R m'R  %R  %R "R "R M R M֒x{Ts?ڏnV=\GZgEjm}ssG2[ox2 9(Nn@v[ڙyq&>q_ЦEۯ͡c=Csɲ`B&ͣ=ve>'vat0 eQǦF4l'_o_{<:~"_b7}hʏ  -N=RbuҬqtNNHږ{ª.gB`QΗ6NnK<9>^ͦ\]dNu8x8vZܭiG_2K-ϧ@_#Le}nxv۳/~6Mɧ i>^I£pSaS^=zZn<!tʼ hޙ\:.e9Nӎ, -" 7Mnu'*zJE RM߂Jw8tOa]>8ܷ~2ӲLJS Ly~8qۦ8;=wy{3pr7^vmz)PNzd{㇝aaGCqC5bhlU-f(5'>}|N1@|+~ )tA{mcmN#,v y}Mr61]:U_C*5OM׏5.j/Z,['^RL쿗:~_'A!)r -xM*Uy>-&pMϯQ岯ҫ۞;ӎ(_tfiBUb̪KiVZAi@+WZ9ʕV -UBi@TZ%*V*UJi@VZ5Ъ˴Ę$F, Ҳ@*-r@KށKY@KށKY@KށKY@KށKY@KށKY@KށKY@KށKY@KރKYZKbʽʽʽʽʽʽʽʽ}&<(ᰜRڪj)dm:FŋK/3;|;*ˎCp /{NpoPEx9s{;*1T^ގrv U='c"9Cp1T^v̨\y/cTaȁ( M6UWHN5~[g-om%5۽%dRI^(c#MjZ5Y0$r[* ?}y8׆T"̋{~`ð¸%Ҍ -4I𪶆Y g]k:#lz_<F^j@plԀsN`ߵ桔fTUT, X<qعJQ[0E`nXϲ F}҄´u=<ʡ*[-նX@Wk ss8f5#'b#h>PMvӉ3_@*;8ӑ/J6)fCV/=|q)ifRZ-*!21πnum4`UQͺS 4]5G'kg71*nK|emv -H= g̀D%HUw/;hb#-^EѡZвٗJh\uǫ?ډendstream -endobj - -25805 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -25806 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25807 0 obj -<> -stream - q /X2 Do - Q q endstream -endobj - -25808 0 obj -<>/ProcSet[/PDF/ImageC]/ExtGState<>>> -endobj - -25809 0 obj -<> -stream - Q q /X1 Do - Q endstream -endobj - -25810 0 obj -<> -stream -H*225R0BcCC=0+9K3@%+ mendstream -endobj - -25811 0 obj -<> -stream -JFIFExifMM*bj(1r2iAdobe Photoshop 7.02013:05:10 15:07:04a(&HHJFIFHH Adobe_CMAdobed    -         h"? -  -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?,,3Mjg7G7p=_7} c/zo(cgMs$&Ji2A9Sߤק`*(rG3/zo%/Wi>IH^xM\8_} cK*F55xa1%v֢,c_F_.8_} c$8_ &+>YMm>Z7EyյK=ع2r_ή6`h̜̋p*"Ákvfw~[{ wq_XL!ԓ )!%lk?V28xoCO-QJ\\U7~P+s˘$k=o?kg/FîϵWڎ+vfkʴ}>u}o^طC}\֖;Xzs9{h.ҽI^~I}_b#O/җ6aYGezk^ 3!W:mW[/֖p{}jŻv[]/5ޒ% _+l+~b$bK>׽^o]V m]ԽٳgU~=Ol5lkX7U[]oS=_|~^8kq`}yյo?2c6>gܗῳ0w`'^6w;3QTvL526-p32q&-;|gukm$:tmUglzâͬV!IB0:%kw`}eþV̱s|;A?sL3{|SrFHӋӫ_NtLN>ˆckvsmmyFEUE8{h5M?=m% -8_Xqө\_f^^`eV6=۝_c7ۅ}Cӭ4}=Z=*ꑗo؈y&n"0m+,u~1ٳvVNn[^;H9lPs{m}??,\b.Kz9>z?H-4NH s=JݷwOjJZ?8![wt,&SSUX^Ώkyǵ䵿Of7=d0;~>O)z5O}mt$V !Vz~{ӆIhEu;X,7=(V5R}1mɝiدc\>hv05Zǰ ๶2}G5 7gesQŹu>RYM>w;VWCoOSٶ kߢZJ&;###JKs^=oe_m]*jo/?_1??gѨ&l ?oJ:}.$GAǡ#p:pѽ.]Pk?c:uUtѶ1ոng`Wv%0Y89yZ-i{OsD8݈W?K@b0 t\k^WK2,m\2F]߿5>vk{-mi~#Ѹ5r986-ץw}\̌&?=Ο+:nh2YC->sMծ%@ FW|B~.60J8F<>qqC$1z/?WtӬ9mfёz,g7n&F=: kv5!{^Ys)ɲOñkC]ߢe4#K+>H^cۛ~Վ ĊDvQT2OAn=5ŖTݸqyߠ}/b_FbZe_:6܇W9kv.NP#\=77\̷Эi1潃F.wWM! i[Y츣u%$?Ż)nciߎ2ug/X^WXh snյ]BƷۊEV5;}Djw #*tx8 oyյt 'c4s?d'm De<$=礥y'ˈ)-?/:X]C2k1?cC\o۲̋{ w=F{.?S?BÀZΩS@{@!l?YD$c_<-O4*ģ=&[o`n7:>z$S]/)ZkI]X55DjщA >6Ɨ;2˞;9'WiĤSI&LoV1AV`L8~Ұplj>L >^΄胏..k*j?UV'/?k?d'Ϯp8tio" 'kZlIJYH;~rKsXLclcxǂ -,Ԅt -S]Ko>>c>Nu=k6?w9cG|xL(CnnY nꪸ5?Wbg|H8 TG.#?erkNϳLJL'#^px}8=wc2/}.ee.ץ7U׋38Z$1[o~G=ֵ1z[t3`SGCEõL{ƿ'ls3wm XgMA$ jw}/0KRoTenIix$ ceX[@f;UVվ>zʿڥl<?/@Qˬ;C &%Ż=} u/դ?XL?бRSics\sHA^ΡИ:[})sKwlv-YE*CY&HЃgآ͌>R% xH81rf>'g~K2^Z=Ok93ff_/Z?yU[j֛sRȾٱKo1-%Wa~Ͳ5wøXr?E_ʑx%{1EyqЖ9Nj\℠jH}-sWES[a ^gOvL?}Z(|RSOnjt{JU(+45PH{D/Joo.?,yY68_y^w'8L _ps?#폵vݻG7c̬Qc [Ϻ=7cz.3څt{sALo};?H!>7DZe+ZuŞBxe ׍O9&G<,3=2BCnOmG.ne}Ameln;vM'&vKsm"[@{=FZm^?[_^=oe_mSĜ $l$H&#$;R[=ى^ AsG~WLQPp/aIH^xM\8_} cK*F55xa1%v֢,c_F_.8_} c$8_ &+>YMm>Z7EyյK=ع2r_ή6`h̜̋p*"Ákvfw~[{ wq_XL!ԓ )!%lk?V28xoCO-QJ\\U7~P+s˘$k=o?kg/FîϵWڎ+vfkʴ}>u}o^طC}\֖;Xzs9{h.ҽI^~I}_b#O/җ6aYGezk^ 3!W:mW[/֖p{}jŻv[]/5ޒ% _+l+~b$bK>׽^o]V m]ԽٳgU~=Ol5lkX7U[]oS=_|~^8kq`}yյo?2c6>gܗῳ0w`'^6w;3QTvL526-p32q&-;|gukm$:tmUglzâͬV!IB0:%kw`}eþV̱s|;A?sL3{|SrFHӋӫ_NtLN>ˆckvsmmyFEUE8{h5M?=m% -8_Xqө\_f^^`eV6=۝_c7ۅ}Cӭ4}=Z=*ꑗo؈y&n"0m+,u~1ٳvVNn[^;H9lPs{m}??,\b.Kz9>z?H-4NH s=JݷwOjJZ?8![wt,&SSUX^Ώkyǵ䵿Of7=d0;~>O)z5O}mt$V !Vz~{ӆIhEu;X,7=(V5R}1mɝiدc\>hv05Zǰ ๶2}G5 7gesQŹu>RYM>w;VWCoOSٶ kߢZJ&;###JKs^=oe_m]*jo/?_1??gѨ&l ?oJ:}.$GAǡ#p:pѽ.]Pk?c:uUtѶ1ոng`Wv%0Y89yZ-i{OsD8݈W?K@b0 t\k^WK2,m\2F]߿5>vk{-mi~#Ѹ5r986-ץw}\̌&?=Ο+:nh2YC->sMծ%@ FW|B~.60J8F<>qqC$1z/?WtӬ9mfёz,g7n&F=: kv5!{^Ys)ɲOñkC]ߢe4#K+>H^cۛ~Վ ĊDvQT2OAn=5ŖTݸqyߠ}/b_FbZe_:6܇W9kv.NP#\=77\̷Эi1潃F.wWM! i[Y츣u%$?Ż)nciߎ2ug/X^WXh snյ]BƷۊEV5;}Djw #*tx8 oyյt 'c4s?d'm De<$=礥y'ˈ)-?/:X]C2k1?cC\o۲̋{ w=F{.?S?BÀZΩS@{@!l?YD$c_<-O4*ģ=&[o`n7:>z$S]/)ZkI]X55DjщA >6Ɨ;2˞;9'WiĤSI&LoV1AV`L8~Ұplj>L >^΄胏..k*j?UV'/?k?d'Ϯp8tio" 'kZlIJYH;~rKsXLclcxǂ -,Ԅt -S]Ko>>c>Nu=k6?w9cG|xL(CnnY nꪸ5?Wbg|H8 TG.#?erkNϳLJL'#^px}8=wc2/}.ee.ץ7U׋38Z$1[o~G=ֵ1z[t3`SGCEõL{ƿ'ls3wm XgMA$ jw}/0KRoTenIix$ ceX[@f;UVվ>zʿڥl<?/@Qˬ;C &%Ż=} u/դ?XL?бRSics\sHA^ΡИ:[})sKwlv-YE*CY&HЃgآ͌>R% xH81rf>'g~K2^Z=Ok93ff_/Z?yU[j֛sRȾٱKo1-%Wa~Ͳ5wøXr?E_ʑx%{1EyqЖ9Nj\℠jH}-sWES[a ^gOvL?}Z(|RSOnjt{JU(+45PH{D/Joo.?,yY68_y^w'8L _ps?#폵vݻG7c̬Qc [Ϻ=7cz.3څt{sALo};?H!>7DZe+ZuŞBxe ׍O9&G<,3=2BCnOmG.ne}Ameln;vM'&vKsm"[@{=FZm^?[_^=oe_mSĜ $l$H&#$;R[=ى^ AsG~WLQPp/a - - - - - - adobe:docid:photoshop:eb8d25a4-b954-11e2-8a5b-80a0b22c6a17 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Adobed - - - - - - -    ""   aX !1AQ"2aqBs5Rbr#TE634U$t%CSc&Dd!1"2AB3QRr#CbaqScs$4“ ?p -p9lt/'J_o k@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@?&<o l@V8pm97 S0H9j=;8~fi\wٙfVEϘ}َ4~QYEϚCw٣ž>X.|v~a>i1f? -zb?ȹH f;Y!>iq-ž>X.|4BΥN(^}N?J?|?/54                    -hg -n -&XY @R?l*~Bʟ|_@@@@@@@@@@@@@@@@@@@@T{G+='M_:bO:!` -` &~ġ|_@@@@@@@@@@@@@@@@@@@@T{G+='M?*dՀgj` `s|J',Q|_@@@@@@@@@@@@@@@@@@@@T;G#= Sp}WO ,CP0G9>% _|_@@@@@@@@@@@@@@@@@@@@T{G#= Sp}W+C! aT2b*CP0G;>% T?i|_@@@@@@@@@@@@@@@@@@@@T{G#= Sp}WyUV[@4=kcit!hNmtDsn[K9/dͩ#S_GH+j>&PY0G;>% Z~|_@@@@@@@@@@@@@@@@@@@@T{G+='M_=x -,q(q9h% -iq7kÉ`+k;lɱ!w2R_ĢpkȈ塳%{]Dӗu 3nnlNtHWiZٗaJ 1y!kl՞V:v꺊<]7oR\ @Q?Uf-)jY^J:is*1QGam~B|_@@@@b@@@@@@@@@d@@@@@@@@ISp}W_xt҆ kв,7ۺhV Jm'oVj1̅&Fy9q<P#SPaeO|_@@@X,cYcͧ㌝b2]5ۼ^ -?FlpsC*=Lt/BahmnE߫;t+yqr>!N{1~9Zڃͫݥ>EeMۋ ^_`nN;UfDTeDZbRdM.     RVxw-y+{-$qjO)MX7h&7H#֭1j甫ʝ^bg2+ oe^7ZNMJ.]T' -ҡ       ?+s}yгCfkUQv<w=y":kSx6\ePP``a}C_=U[\W+otx)SkTA. ]_:04? /|_@@@@Eǫ 3;CW[*2'+] ;}ε w9'tD͂Bu{e&þn Γ|bH|ÊuvݺST67$k<73_<<6|Q 3WGnܴ\Y!VNi\ʎ]5Qu~(m+v.2vvqUQDqmJIg{GvG8kicB& BU{EX|<_\Ԏg885`H]sWuW453Ȟ7} <% ?|_@@@@Aq{GGuly)=b]bmP IކP;fm$չ 9wtO;e5UuU>e{bь=jI6slfnEwRӱBNʡMb^Nq .!|294PM=).ĺ0$4y]Kju UYz̹\{ $hALܭ~.RM] w6.ФH(Y摱CZ{UAKTOЄ(ZSwhd¤jTrXf.q.ےHO8FS*U cK$hp!TQ p>)ca#\Bc^_T^-`/{ -F+"ƶ9 =DDwYv'w64zAV4QRu! - 0ƍ*6zhs.ady=0\{^vN_xjgO\cT;.,>Dzqⱳ޾Fh;\t4yfۜE T?[߸{w[TA(]ܤb<d1uJwY4Qqodܛ#8%묾cYD7Xhw﮹v(p» 7%1VݒVW )ﮘvj܎yH"6,ZJ=iQ2'd"DKNqk\5i -nWwQ-|=nSow9Ҡ^MV.ne)|Am]kyqU-v[%DӨ7iM?yMaԘY9p"+&stcT\w<ޜRd{l k',SQZȇq#5:NB<;{OT"x7h(}4;:ls*U.F9i^׃+ީӄOYz0:oЊi+ݾ)Oȃ0E$& t#m\Uß~[F \ql#t`$S#Ưqg##f1q(;zoiy1]mK4:&߈Atn7*XeͼW8<,G付GR8Jću\2XpAӱAR\#|iJd+<YvԂTܶ&O}yzVs-}LdV\QMcoi컟J?q\n Y@@@@@@@Gbxqà*gUM"Gl't~oJ/7~-hdR+o }y׶>GoG66T/v硧u#Ҁ#e?ϩ(O|_@@@@*>h^R嶈|wj:$˴k>+ l -U - -M2޷rjz*6t)*:Ɔ{Fqݎ0;3_)ٰu~5'pD.ڵ:Z/NsXh{緾R"ߦ{U~_YaLۛ9vظ[{]IW#-v7FWƊk%?|_@@@%` -6xú;Bwdcjm1V;f#&u)Yu]W@=0gIЭ*@s{e';7j -Ƥ>:J3pŢw[fXgFg{\|ƏuO\ vGM -G4&]쭼CȏxUn'Qw'8jwܾXe10]l#\%WnɏvȼL2Y**ˑpM2BSrc3 {BFE͑F'./;ҵ$eU`w71S6JWA$y{_lO1cswom;wv;>[487k]+emKeYgtx>/eWJ=Ǭp/FVGS-J"Ǘjse_t{tEWr\-<x>T'vYTDO"/dnRU;]ˠ.ZTrN9;c6hܹQMboujvjW="6+wdYgKw#hk["jY_rN"wtxLmUϞ+}Zq+,L2#cOeQ+^Ν        *=Ħ1W ,Բ l[l.fgp<<]R&ZQf|;mNdG.liEn7[;==bvb&HcťYIxqw|t" s|J,O|_@@@%Ќ\O({lçw;C]="ʄZ@R2H xkiRc;v=L h Xf:d qүr#ޟ)AbN>F@TH78M^$uGFG?+l[u)Whui*F^VGٹ%}{5KWZ?XTM9iv{޴TsR4){!ͻB\~ \YБSg(ދ \IgBvf^P߸c/Y+TjcǠuVB; [d7$xU_/Oyoy;Yf3ۊ=y܌h~ʰ+0zΡS2+z-*=eׄ -'Kq"6KC@Zt7`:>nó{&&hkΉ :Z21+.#dA0'2ywґ#=gBXcq0} өZb\ !Uklt|mnl-i{k -k6`{#"c۱9` Z+E 0ͪGkRo656bx8$9uw?­'-gZTGx48B9 9[`yIJvi_(?z ,       ?`[J -(7NQ'cݒfZZ@ FsFT)hNOr2/~B']bt-| -?r=w;Sܖd1cmM-kO+ɧEpxu RT u\zˉ9^W+{u}C9c䳜Sx}QzBpN/-a&0\?KuBYѭ7ey1s -.fFߔ*ӫ:N%Y L0#hkGp -(Ԙ -X7zԂGS(paʒf8Of#/mi,}[Ȫn$_3 2.!uƺN6^:|pt %זRWoo2#Quzޭi](гl-N@@@@@@@T{G+='M_=΅=UlOA>iLIm45*Y%R$m`ᙐ㏫hkJ)H#n5#2[IN:E%I'J6FB;`-CdSQ?aej|_@@@@ 2@@|`c#mw]t -E#`,(d`X}g - P (yPX DcPd h&BT5!P-pD5P@Ё$V14dk=uT5KZXZC52@L2e@@@@@@@ISp}Wl<eM<4ocsAҕ[JYJr)/d%k5 N̕zq%"ӈ/mTE(d6E|ܼMAu㡕dSPO|_@@@@@Ҁ!(d               VzO*+`:gb3<$d|[`tn978Ɨ4t.֤ZGͦFH3|UpCFġ|_@@@@|ɾZC#A:Y'BotwvĀKZZ&2Fn8@(e|Od=dn-pجi1W,іv|kueQZ*NLJUNqAqkszK*΋/3cOg {vS}%R%ڽݪuA2        P/xcKh֊fIU8 6CԚ -q.R5*PATBmB(     *=)>+bN;YY[CGNRlqD4ST }OC?|_@@@@= *}s֝u6vJzt[v 18)Fk~8Q_-ĠXoỄ9 &njj S@@X &**@P@@@@,*+NH-cizyc 2Yg: s[$ Lj1j[bBeno mŽyh@*e1)5.N P}OA?|_@@@tOyeg Jҕy9H=?/3>ztjnrСk3$ou?U&Y;9|y q'E>4;ʰ-WFV@@@ mX3SO V$ix[m]z,2B(       Z<<,pck\z-$ToĦZ  Fz@`{vk2 T%};!Աϣ#-Q/q[bSճo3O&`-͐PS.V6Y.c+'$ Ŕ+ 0}LCtgSPaeO|_@@@tOyeg NҹzxtN}GlF ϩ+chnr&l֟F֞*y$Bw6;wϜJ\Gv62.H2<1\wect{Unګg;9䨑⸠dnYF9in;jqtM"Ȏ -~}BCN]4^bf,Nkյy'PmD˗<-|D[; S#w$X,ů8h{=mѓlWQy-k }Β -| -I\G!Q*6xD3l^ D:B6.q;ZSUؑ|qq=*y-sG( -E$\wgӮHg7tW,|/NPT{kq9N*[xWo}(ߧw)A/RDmh0 kyƴ'7 J8[ ʒ^oc#89kAP)MbQ l$ycIA{vTH2< i8f%% (J$wD[H[ OyWXWJ4\\FH-M>Yd17=%6qϼYk/"\ͬq#A#,Z$tZ'YM,ƪNOr]:Ydm_e)vs v QFg8g$[ A - ҆H'^.wx2Ϟ,HsɫFOXSs?6.{s85a !!70y R<Pz2Wp%7܃.$arTejQ P@@Gb3xq9% _|355T    ;{(8nOw>WJ}ټ%lCN|GƖMm,[Ij485ic -M)WlɁ/LW[(7#> -q]qϳ$ѻ곹j^7"U۸Uρ22p4[\47uuU5z79|EVea{UU4ӡpLv hue#^uegpNTNpl7Aswy\v:U ,//nMc2/qD cmq\[N_jm'oAUtFF015PۮAű#ѣz &ݽO94 =I2Z$d7U7mÉRŌw;t\#'erdaC}zE@: q ;wTr"{ia2Xz^rڣ(oRjc[r/h4I*6NLD1Lo4AfۤN,Yg{L?{_4l9oܢ:'6͖Y6CvnN@"ّ!Lu4iUocBF&x692Kv)1+ol|D-Km9d#Eƕ.&Iʊg723.AMg¥NڝiRS$,rVd;&k;kcj_'WLmzq9`CvD9n掭-ݦ*uEˊjvws3.{gt_URG' 10Mc@72 NH/$?rnNXյRL6Z5jH\bYx"Kt`ݯp(YqNÕmEAQGqEDqKۣNrmi]-^}=$xKs. .t!wƕ.#Jrߋ[c-z'y]eƑou,m㶶`dLѬyCvlqJUYM".+p 7wЫWE,%?ҳr%tW^GqjT.$k˲C[ýA%{oH6F:*E#MA  ú'3ֺ<ֺBQqnwI@ߣW]TZor5MMD֭*B?qĔ<?gAgY7YmPT7E鬽!+]̪<M͢hO%4R+ _9nSW/^K' Ws{WI-ų35yG[I~̠uZޢ(psmYϵ=7ѢS' W۞\{fMž=q qY`*Bf{}'N p5Tet+xvBv=>ꗁzffOw]qG.YxU8Oryw'IGqY`kj64*w:N· -nlAY?]8mDK;eGMK#ru Z)ƌd;,|8lMw2йܧKrNr>#Ck㓉tnit|W':ŇP|%ަ__2' ZÊ3s]u'ܪtye[bШOHs?\>ԋ7No*[N_{"9r֎ ݞ}3)0}Ӭ*#Д=f*Á٤`cndK,Όvޖ]qjq{f#Zuנjo}gyzh(m2Q3¢u: :N8GTj #O;oxx z84sǼn.z#g5t0W9E*:ʠ=!{Lѕo2ENAcsE^I.(֬eJ -]U*U/4Ig@v"][ L}&*{9{xBA³?u*R  ?Y׷{eWģ,5>WWmUn*<3;K[w Rp`W -L+CHW:vGv` qsJ8=qsѷJK{2U -i"ԋ7~*+}K7D奞vsN}rL/p*L?L U׳dM?vΆ\Uyhq/RzO5g˵yҜw ˌIϿOE>7YʆO8GTj%>~h*'h{;XD|mo3m>Օqg0~ϊ-<r׼|*_ NEt6=%iKk#w n6{=`tE2ftPәA:Q2Tʯf.2NmL;]E3*$BnL*fP@@@H< -fY_= azD`~XFhɼcl.?Gx[R{r.Re1z[96u@]l:\V;N=Ismsk/WuYkQU.3ApgoFsagC$SPacԕLv+g{imV'N*R!QwP:hReyI$P־q54 !vSG[J͖tHPo{J9î'#0>74!zHIUs..  ;{(8nKw>äs;ez6^f}LP_{ ,5>cUxݜWxVӷ{e@,JoiVo0!S{+{k -=?bV*(eɡ] -.Ii0N.+\_-®ݩQ-7m⎪'5qrj^Lv,}:+;f?9C:-[KZC!@@@T{G#='M -Ǒ^f}hL1i1%zW=ŬkZ\ 9h[fHq2mәg;lrKMJql=+1t[ }F rPGY|VӍ(d_jD HġՕ{Џ ^C7OKkmďU]K7(TID--%];YZԆ:{Lc,"UgA/|JeY|uf7>iw }dfh^"7c-8:3bNbd -B{?izW/QoXNk? laҿZ ^ӿ{YU5Fg'\}ϴ}P71%綬KW[6M3Ehw37r׹{UlwAH{ftLxsnѦ3孭"=whpU )3f.=n3okN{Z i*ҩibؤWK{$]cIh&1%IioQeeq1Q5hPڝxHÅbzÐpǻ%Wb6+Mz%C>Ax|x;VAm!ROoT+v%>$뗔8HyrY<~5#lmvy=ԑ|q-l9XƱꎰ7yUei'Zƅ*J?i8ܱm:T71jsCay|D˷,w?])ֶQv.k#.| \k_nnڷ_{Uߥ*ﭤWLq uq{c[@a*8S+g}rC{AAFy--qmAn;Z)EGn$rCn9MFfwr*7̅JE KwGx G2R"ƒq)krU9sewgq;2ZCw^ꇕg]ƄK[Z!Y2+YswYW|xk*7ɽDEa]\Xa ,qk "e8틉Y թq5{ªƗ1Lq치dΌ -n%̹H༌YmoX\XNu3-bosӍ$Z`o<{wu֫r>y -+a V,on3HUԜe %癩oY7ytt?+T%-} u$R55l pԹό| -{J4ґ!g1}gr[uBe[ߨwbSyOf֒-::JR9ծR| quia͛\RJ3s$tn&|LcEZb:?j4rc“O91ˍiXT@ӣ]WK6m"pR),FZ+;-a$WjQ(wxۡ:-Fcf뾦~t*ZV%﬩ZHy؟icpba' Ǚħ˓"++;冢2F"nNlQfglro+~uۓLZWD-f7KpȜSJ["kVYw,s=Y es/}eu4<+z7/[v;{W.XL{^8T*E\ESjCde@@@T{G#= Sp}¿{g1W'(MYeqPn`y.Gn}vSez72ӻZL=nBf3QvMKqpQOR34ɛqt#4֍YYMxn21IzBP2?ߩ(aג[B<%y,OcaPwzjUc`iW*|ե{OR6ЪI >cY@DkG65~ -x#[i;o!reMj\ocHސ7h+jy\%C^W>B6+aT)_s>.xVsdQ]}o$&*/)#+sx; fX,ͻMq EyErieڧ3(}vIK > -lxYHq4c%krѼEt:G?g SSPagА[B<%yLOcP!R'ف S U3|]JCTާqyk3ؖ=i_VCWx1:BD!cӧouE"vXY1L{uN7YuH -[6;[#F -ϵ\=7 -mXOUH.Uۺ:9^MVuPX P*^0p w+i]ߩ)=NٸvC,dujgu\Q$J?̫ nˣ.mI |nE ŧ:2Mhyd,26 0LN`"+F+1bMmx\>*6ƝS -WdYFe*(Y; -H =U~{]="yNsVrYZDyj VMUn+n]Mbr|Omqoo'(!jW.;I0/?ף. f6C6M.[%xw\!_[s\WF8\m-bl,<\twuvf\6roMXbrNutU u%⯸-Ԯ^k&r4DdMZZ:]fyG{٠4l,ZH ,Ci@ʆBNYq:/ft6W#nEۖYlrV7 fl!sw4 q65`MR\bIyO@P@@Gbxq9qW,)ģ[ C!@@@T{G#= Sp}W΅j:Ak][K<`y%\v1-XZ"Fφf i4Hk K+?Z|Z\cX\o6-v%rhwWď[:|,O{"Џ ^_+v: շV.baV6yRZ@e?T,Hi?jEXǁ)[EDq}u:vlqVсW\EMǩ}7{wQgznNOn?ȑoҽ~=tz:y4fRNE ,+52fUa`LeluMz9ڏ_rMލ ZO>eSfHa "V< XLRT>r[Mg#n9 lQ2&kxQpzb bY@@@Hqà*cP62+(V/'4+0uǃ63;װ }~2v'coG)_r5/ൂV9b Ms~C[srck.PqR?ϩ('Џ ^[1IoBȍ5+N;*WICH -.9Y8%G0>xJ4z~ف~UIHYsG*7,krR!tۇ֝%U'ضD?Yr:ՑGxxb| H4IN[…6VO깤hil{8V$w¿qM=\Y5ub>u8rmV={o-YIFEm?s>e9R:h=+kڭ|Х0M|o0}WIO|krԽKm '4v(BԴP)a63@'tz6x}kRv@z&V /.}o';,,UDR XzU OEcwxV\u8[TZE&    ?!_:bU:PcekENxx!c-ojXMjj]DŽdI(hLNeKYmFiUmʄdDשy -ݎ-R1\DzR_}!a}vi{O+V{ZM{oC7z -`GmupÍn*3gKnSɬn8N _9N΋tIH(Y8߾pmoª Zrq@Uw*G9NɬUPSVfed8%y0=yp!~[l4| +)%QI4!8{/K+Hl浐UOuG=LvŤlkIk4z4HingQ^G}3Q/Rw}ߵPE&Xp|I0ea95w?u~A*7e>F(d`Zi=d2],\`^KC|Ws69CG3nGC*e@@@@@Hp1W'a6EٲW%loi3IZJw"3$ZܸğbXWiܕs [t.[mw!VXY/gIZ dߊ)84_DȌY]HeG7>% ƚ+i뱺I$͊H*g%{M4T*PZ2.ᥭrmhJF] AR"IH购.qjPdD5c|JMYZĈ%␮{s栏RS\fS^4=ͧXS;~WRF)VҺ+W?uA~r[OKbu Ot}t,^v'^g\sÿo-T$XKƭTSGv`J5^Ϲn8tpOX;ܯk(q4myz#-\MewO9___}*u>%a+{}vi싟O+V{ZM;gD_HcIp1Gg6V]>x)wAo9&1ۡT]/5ZCU2,W&F:[m#UZkJ?bS2`!qK< `{lYxCT{iq$&O| +'쯮KG+$w d/#~.?}DFJ9ho1Hj~X -Vҋ֦8$es]t#FosʵIbެTNJ1X6+sj)^!{LaV)=u@z0Yyt[Yn$\}4LCvK .BjmnY0rbLkrQ&WWcIj[.9l׀{UyQ>ɔ@@@@@T{G#= Sp}W΅ =ѩgZ%{9ݒb4$#hQ/^vjKi.i3~GY+%[O4[ kW㬶mX,`Nmc ampI:TWt n"SPaco3'z~^MAP.řjA*i24đhvQpBlFC4]%fhZ\9\%#Ԡȉ"j* MB`vUͳFCq\D@^v&E6;Αݡyksqg+q~bwq\*tl>P^v;͗n{Y?GWacc'Tg#=Hvޖ^Uc- ,@c}`|o5um4=uEVCteX2r7ėg8<_tN5Ook$#]Y\Me3\MyeKG+$w d/#~&?}D҈K 28I'ّrʱ;w{77Wp笶C7gj^7ALQ;e#PG -O#*јX2@u53SçȘwuHJ9ʮ0FF@;u$(P\g6YˀHuס¹o2\ql{gBTQ,    ?Y$~ Vnӷ]"rL #_X{ ^g)sr͓rFnJQn$ ji"&x(H\6EȬ:&Ux.&$lZ\Q -D<(ϨZ3:]T`q92<Lcu^%N4.{MRW[%?=fȹoܺkLqV4pVV~>QqiVUt*=ܘn_SsRe~'*D;i}3HY:he`0uvhaP\GV] -[AU&[x#,xUje fPƆj;Xҩ>|JWi%7m] ^~K :H=U=Ǜ3DW ]GziƵN]Hd      -hg)>+`O:gbT)Z%Q% 2B7dc5Y5d2[Ja-;ҥaL72Yh{SS%;ūcweMr*rZo\;Q~QSɥyyп8]LΓRh{ejbxl2ciN_=źdCIv2Ӕ.b禮J=oo5k n'ܽQ2o'Uי)k]^Ew*l^cJZӈRGR;CXX -..#1ݍο1rtF!oon_4=\mc4)0ĜB4*'rcF n1u:*~V>䶽`@'r̼Zq(%. AỤȄ2Aq;ǘXܓGBV'x88(+mU]ZM'CTx^_YIpƝ>NcĪz -Ec;:[}%~^D%*+?ݙnncG?qƝX-iuod$t8<8%T xEɃ@q?F)llKc p VuHirsN"Eivġv~xJ?G܍9t:G/$]/vj*4u: -&xK/^Yy"~df4z^gײ9C5TSKVYYeعR䔡mվ0樑}60%`v'9mi/.9>(]YG7>% ?c,,CW{<~Lv=7jdDI,NUr!bJynz$\2US\Ҍ]3;gTFWە0qM, IG4"h m[>JpP_%[\Td ZJӀ0tW >#OM}aҾ닥<-&y9c\(ʼ$/}[PuӇΣZBMj KJrK-?,O.ڱ9O1t/r5v/{>zUWIx7.r86O-mDgKW4`W@@pY;o-Xf0FX5l;dSRܾb/1M'Xؾ(ꋛuNu^RV [eڡO2@@@@@@@bo-h#}e+y  -&u`     -hg -n_t 3OڲVV͝\\VVҵ6'{w4j'MĸJ6W b5:t3}}I4v/N;S#s-|GY$tXy[MibF2Ts|J !c ]<%y܇{,^EKC$&4kQ4dv;nvA]*|g m}R^IL,yi٩H nґԨ"RDXiX%!vT"FJ8{o"YF a9~ą}ۊ'6Y+fnGxi_/rݟG{Ne-ܾ*zvu[o'r1ep m5Sm_QE-ELR m#89^\SeR*EqAE@*<^аkֱtpy6i) -(  >BàCJɀdY@@@@@@@aCˈ %7b+FC[^"XkQI@@@@ISp}Wl<dѷFl!$v"ї]Y 07FOWHv2F ZO-ˋmc)\؝ۄa/)oh Փ]%?[\:m]cIwЎ# /ņ5 ^nYZ>'dM"FOU+oz7Mq5iRڬIϚH**4z4J5=̨v*hE<+'"6))vxHABi]i6osTo9Q4:Jv:ҵ$%HP.59ʍhL{Zk{Ȟr+C_rKӏDuh1YZch ?RORӢMqP >@j|v{pujWAm֦W/2f)- xi#S# NZml{xsi<9|?br1[[8^7I.wo7 3E԰ݝͶOv-o>D.вگLH/cˈnJV7ww+-*'G"F;h<v(Ʈ9(i+{aJXW+Ͷ71Yn\OsKW+goIߍΓR16>!\>>Roor~sŸ$,cx?4Y^nm/4\j@4S8ImkV:F0WAݯIXbUe^No\ U/F.˕) +5ŜKsC'V'*c|r"o%wNBɓ(    -hg -nsO:se_7a_ro&w<#FZv>ll wb6эoqijV{/,FeE>c 7 -sy}"wטӵwXT#,Oo<%ygz\_O##JsFBQm$)uGk}$cYoɔ9e|̟ptdب$M|Hy-Y[z0}u -MH (]%Ƈ"%m+ZE*rs˱CZfmx2,Я8#jq{(9??+XžYmx[˝6 H,h m@ @J+3-s\Z4zJa%!ro{3ogx|nY ylqۛ;_Q] *uQ[4 -W7UxF4#%$\=4-Aox 8;Fdn[tJfY=4 % BUZ*Sعq8dGwrs}?UBk.i.5MSm(5UWr5ZɖG;>% U?iڰ< ak]-$h"yzKkF|Nsy9PiA۱G:T*\ R v֕d+ѩ߲A9Eyv3(Kr2E<GU$VZ[" 3)MQw !bۋ1<-$Έ1xCud:6 696J.3F?)ZwAy WrÓ\"Q\o-%ߠ78MzrFs;zXj`.Bu=V.WDY۲f{ +ohQ\!.M $ot\ yaӂxW'q㐷p-!gXZ(; -KOϸ죢;7c<2QI3 OH|Xvtݚӟjq_H. -9?q#pg{ X,2ۖאU].?n_)Q>V',&#!rSe5﹡mlK@?GSKZ9_4 s -.ڕ/ģ›Ϳ4uES>{F#>Uki{;3E4@IOj +k@;Aٗ=t=HzYxUCA]t2u– [3{*!侢4qOWVq}c+w~p}Eg -$CDzr.9Gqj3* Eɔd-1= -яvsEjT -<Ŏ4iT;9xz錕w6%5\Ru湭 Rx2'n4,|sn<-n"fwU5̔w h@U2/QIc+pX_dYxU}E?cG_=oǨx2 p     -hg)>+c^t-6UqdmsFQⓖh#h4%{K5LYf'pY2>ġ~1iowXا`{ j=s!rPu+; K'ZyFV3a+EwfkUφj7o\MNmG}rԉ_IG]UIE'ΏWuJZ{uo]\! I{#goI)QzERu9Tr7-_4#GXSsOyuĽ_YKgtjlb%=8W%}6*mm$uF9+rq=QuZ0pW='Φ!?!+UsX*HL{X|MJ ֠)*de -}tZE21:t~#ħF$v\oBB;YnԢn=էyؓj.ן#)\Ώi3 ~?z筿s;ϳǁϻJhuXL S!&{?3]lƸf— 3kKR U\.h$YնO,R{LV]fǸZz;gC,Mߓ5^a{l MUscsvZO5:K8oעgvhhP;k0X -b\/y7i=?jW5i_O߉|4 V?/C/k<~ Kϳ"7[@f_׸#meV,ۣхw#UU}E7`¶F~(ݜ{jOA2*zΡS2Qw}{UAm!Q\er>) w5zUKgut^mnDOMMV _Aa+ɟ象=x'6'8QŢ Iܔ"濖wçpͯf|wt]>'(Ԓ -g>pȳ,*rn?I' Y?{HR;QpeU@@@@ISp}pcȯ|O;L 6r#Y$9K;xePtwaQٓuI4}$o:qpuW丮[$ǎq :ϸ#  cz-R-ZDrՠ'" s|J?!e\_C {W︹U1ob43r:=i+V.۳_czs-Y=kEWG&|ƫ/m9:fVQ{6:;wᑟ{sRschk+Kއ5;c:-ONxY1#OƱ:9n.xwUnO<ͭnj#B'|4 V?+{_is5*z4TF+~xSzà;wr,*坢{tz1Wx :5T\c{qO.* +|niǶIUu r#;1?A~7TԈݷ,Ra&^Z;VW1>%aާh-P@@@ISp¿t_p cjz&s{7 @ti .E1&l"egnEkݷcۺZYJרz2[DR9qgx{T+T5CoJ 5R?OߕPae_|_@`@y$ad9A jq34Qڗש'z7Zܩ=B_1R\ψӼ̖ijh\WKJV{?A9nG4ЀDO$A{XG>,gpXbjuZ+@WT$]1h !EBϸF|deL -vV1vϢR -]9ӌ2֝<}w;bqxʴ:E{%/3 uA -r/fv|v\{/Yg2ũ}v ụִҽҦanm~}+xsHdY;\\Tk e p,pyޕ_Iw˸mp6xS6ԯw._{zwOUޅǥ 7qC6mw6i]zX/k[ycX SqlIN~.\VӋ ңRs-Jkv0|D~[p놶41$*jODz a{vk]CBZ9WvaI9Sb_YSVud{ j9VEm.]ž>D6$ogq+ՇLތjjɦu84eY LL $7VVynUbdԋD>kCIoF&^_Q`zK>AFLj>@@@ISp}¿?*|LSczV\0>jq:, ǃF1v\ X$l'D8UN]bȷ$15†4FYjC(G|_@`@@j,t v.7f넪G7'nh~SkTzn/k=EIIt3ewD!BMydJLg/,nq}HW#o%t -R,BާZ bm6KYڠZn&wP7jf&ϏUG)%€YT ذ'r')Ym B<x#>e_*?1CY B{J}9T|Fې xD};7D Vu-uVשpl,iXʻYN_q͘n](z{kWkӊ{aas_JZ-rKŝn۟TbO]:^2V0$Smi^kQ*AAWqoyo1z&u :ht6%6f\-t[(|Q7f(XOafa3cFvymKi>gԗzq!}{=I|G !AhOR_c ogKkZѺF@-G#&2!iHK9eX[B묁%qˉZx#fY=yBsF~,ygԗǧYG]ȘGPk r٧nY%1>끞hOR_c K=8 <О#ӏllᨀ*_>~ \\u|G6DS _~ɲ1,,C)c{1_慟R_~U[HԗǥZwcgx˨[3yenźEcBԓ42l,H7ǧehLm趚3?j?4,1}AvTj4 ;WAAr-Mѯq5dƸ3Gm>( v፱y- W&(ZY@@@Gb37E~A -<镟llJq[;K6;{L(ׯOY?M9%i1y6Ѻ%GXӖ_,ȷ !W9+̕p| RKf1C>&UvgV(?ϩ(_G|_@ud2| A1P4nD[%Gs{w˨_VK^Ӭd]e; )rSR\{6Oװ - {O\,vum ȷj>Y7yztq$k!s7R%y4UHq:!pU-zj|Zމn .JiQdsf*džrJ&qU=J9M(ږ# Ї nFr -jL9rҽf, $x -J(HF -]+TCFX8Z\R9N*ʎOvyNRg2B( QQD Q@QD - @(     *=)>+AL-k \e[3\, pVNM97-RgM/&Q[ddpiMPweyMJ{˯B Ps|J,O|_@W1ɔmݺ |u]^d[`zs)++aP51HӺdC֎+p\A }\UmrHM|fQ)@ -C,pa'-\UUvII3GFTb%r:>fv+Ѵ-˨Y^q*,;WvE/E2D[6:ԈRmQ.beLt -TxYc2[YͣNh߲ͯ!ԊCGJhOu[N+uk"Һun=ط#zڽAhi -j:' eFOD$jcj[,w%D2   P -bdU@* -TBPT BPT B(    ?"t_ul09V3`ݹ1Y؜\׍f:uʌת޵S'Y6 zȳC "R?ϩ(_?i|_@{ZUAaQxK= mǒos9_nH76W{ aA,{\$L{Cb-ntG%npH$Iæ7vZd$hнbyěӈi!߱z~i7 -u4'42|IsN*.F:xjlCWKM -bμOGGum+fe+O?F l'=1NcE\M(b^{cS0bNطhS{+lGtR5!9cc6u-:AXn]Q:HԧX   N!i\ sXm#nri#hcNhW7vg3#>Ɯ9$` :}XLO^8~3#ۭfWcFnБvJݲ\K3tWn CLNC'66QPk hoZհزr@$̻ :s'ǭ= g EUn|F[IЄA?A-l4.nZJGIv\[mЅ4zwI=qg:Qrsic]O7䄹\)T'uۯIX_23q [FUGqt s·+y6|[sI"}evh^2 2    ?Y2vDGmc(~IQ\9I/1wgqerkI٨oRqKpqIژ VUY}rފ^\.&,klaОX\inF7  -"7S c}tբz"vɣd@@@Ŵ1I-pІѓZeim ت]M5ڮ{=囇10>7IZ+ZkW5Y孇^\o$)G.a;6ZA^G,d ܄y TW!ܲ7+h[iq#ڹ9Rә:ܣYdcE5ITyq/cz7Ϭ;r(ukꣿ6旐q?cD\IҒJgW'%O8/÷e1 EvV-ȧGM{[٦u-U5]hUdG+C7.%TYazmbWQ:dVXN"&:)j\-+in`nXzJݶZ1J%ik#^BV-1-g&N5s7wvJ[Kc#љw^A#m,0>V4xvwS+nl\9tkjjZlN;-1-yl"2_w~HեuܜjUرvV/&rYK]{?5VDKVgr[cB^\X:Cͺ"c&ZRM!K`騥V۴ ўm0r[If7S4,-Ϟ.y@@@Gb3x/psC͙YF@aPMjH: yF"DFu)2']g`zE@k, ڏHФ-B/X|_@#)O!Hj1*~銧܉;%(vC d5ܔa(15S4y҄.b%Vm$nG 'BqWY8;P9Uhv'ߩ;VǾ(iq}${.2^Thive^~!> v{ޒnKYxuMF YrF/!7w 7XMխ.'/lH9q-ml:vӒ=œl®uT ].G?Ygs5KVЫci38qBpR\-ľc;e2#uypLm$yŵ"d>޳ݑnk:)omImuhTZy{DͩZxoOyfJ9ae#E!{|ԈMIԟ^ ^0KZgș3̳g,~t5V.UjoxVX7h6j[*%\4K+k+b*ke)^ZA+&sh,XHvDS Givh4ig]۰@@@@T{G#= Sp¿{g1WP< ,/uq -ݷ&n}DѳutJ5)5♲ CڕK\RuklŔkMOYٯoɷnԣ'RƸ<[imd"-2WeQn48adB)t>0)85끡4#CX߂_Ǽ|M'mZ u@61/BC^#,sC|_խ7۳cm8MAĹ(usw|4o+nݿB[q8n"w лrK%9rֶ쒒HWQIJǕNNQY1|a%L+3^$.^%]Xыp239["fs4zHvNc2{yO(q}\6Ӫpd/Xwn$L `5V҃h^7guiv ɈsM6 kDGʻN7Xf/5pR6MOO^#Ð:2ý]4- {nI|kpoO>0"pmSY0sU] \#f%EpM; kFՈ\w7^Kd3~٬!=e̬;y[4[-GL8 +[pi{D.Sk5]Yƃ+ՏS,lnu;km.@@@Gb3;Epb*yV@OS+BB`#oN(-N򓦄y6Wฒ9'=8ˢm][Z"#⋲d`2?ϩ('|_@@ -K+`Gt>a*>Er4;ػʥbJ7da" &IE4z4rq و#i j*TY$F6+5*9QTs:ˉ+J !I&{MXwkݵ'#hl:F[Z؎MW3Q^IxѬ*U/Y1oG]XHȒq1%Ŏ1d -)QF?a6gSwԄUލUI*-P@@@@@@@@@@@@Gbxqà*bxi-J㷊K{W]c%5}KrzXk%ڝ27 n:G< -һ7-%J:XZJR!r7dnkcmc0tZڴs[ƌ#L}OC?|_@@ -XS16P?S :En2֩$\H܏ȏ#aɛP=Fp6[E+SD|;Sb%.+-*3u\ъ-vheQeO1sHVr.5a8h&UVKy6A HSQ!E߸亵{<ޤ1K? ]`mkSl=sCHzx b4 N4gɠ@@@@@@@@@@@@@T{G+='M_=jyЀw'기,kC^n}5H>-."?d&i\wK{fD466m֠㸯5FdX|_@@ -f(2|M '<ZN*JquG>}O0+d6ObC!Ԡ4:I5ţ=} -4s64(hxݫYYVГR#_IEU& ]R0aq)V -?^Bڧ]t{_I/6(c=]&sqWIɖVD1Z$ԨYx>J:xy]OܣRS3q ;C*&7*܂P@@@@@@@@@@@Qج%7+s}]O; -X|W6.c5pj$ٽ(p7,7&`t9K/YCI>Cj6n#1J9ISOPqy֦a# /|_@@@S_ZVhukvuD*>ɫb3=MȟF#t9=pNRGXHbzj.GBvඅZa^OBOpVy]rIjʇYhdt=u!7NahƊhU,1-U"K yeLHX0<,ܑezM)wq%K+Llf$uؕSҳE9B2[]WI#P@@@@@@@@@@@Qج%3 +AU,ik$sZ|x6OAamݏܺ9/42FCۗ2&Ff~Z>WpD=`o.~-u}߃"Yl"?ϩ('|_@@@@Egl=nԹǥU7ƫӗUn*_34Mj}7AXfمQq3#~1z DYX9ClY=󡩁d~vʰɽji 9ͲCDOUvcքMyU聯jUaZrW]!j>۪3jXBF9n ];(k'M|e-ъ'C\GrZLv7CP(: v#oNXݮu[\Ci!])ҹ1ne$ |WHw=dX޶mh^GiCY]q/mj[1lo;VK%Z}䱂KJJG@]gZMm$n=KK+v9@ham>6c ֆѵn.Coc?)i< -'BpXfȤqTa?5 -G\Mkq,#k>r.ָ7f 4ٙmMIT/] 2  0 2(m?b!@@a@e(@a@e@bP@@Qج%7E~Av+  l[Tڴ ~%uchUgrHF壄?P;guîaREVd7"׉5kл.)sH*:pqM  0<02ķ-Z <GC}\Fs^@m,r78؜MիZ;W9Tgr71cM5QL@X,FJTJKa|uy\ds#?) ($͈``KvH؀>)̼-y0!S{u-٨s|,1v{|P - o U؀P -    *=)>+AJ<ز`jĶ+$[:ݶϼkJvT6︭MWд)o15 F`itqhLhҽF/4G9>%_?|_@@@@|?HQtLVh+ N,ghʅzFHk77#FIKF5%(liRhwDbh$\``QzK2u!ۣ1Ǎ\yE=]&{Ke7uwVz:ɥһjq7-wvN3;JަR/yDercI|.v|Uv,6e.p7F3AO|(csđi)H7l%B̋όv kCK%qq(fH_J4ڹWTHY~ġ|_@@@@|!}aC1=~⪍l-([ND"ԑw*S$@ tjZSX'epw xZ]JVnhe&7[%hI.@E^dxLbc5J6x<@zy VvLmP9(28]iϔ//sT[3{xHc;heBѯs Z^_//IN[h"g@NH    *=)^_:bU]#dP@{d+'6,#'V8ۡh:BgXz,e@a@ - "³7LM_4xE5. hmN D  0 !_)6O0[Ocr -~A=XbP    ?1W' &E67ømNBy䨙W$آf=63g1Kx֍UK[)[\9Vz'Q }e%G#wpsG◁Pk9]X?ϩ(?|_@@@@|aR>9*5⻭jJ76iU|oPҸZCFғ&261ͣj"҄zIX7VJ*t*Ɖ,ípo -j ?RN9JwTXvfTPEzQ!NjnxLvPmEbڒFȡ@q?BU¥>8s4]5"SGuZV3)ZO(k g)F[@@P@@@((    *=)>+b|O:w_'qa)Z\%JV@wK{Q_{WQ.͘VL/Y!lW6DO\Zge+ ~>ۗ X@|2=*rT BݣB?ϩ(_'|_@@@@a`y\Eث2meJV&#J:M2{(Woj5ս2/J[7,]‹W#^'nBHB[&W .ʞ#ByS䊽yHCحh_yXAQ^&n[Ď|Ff%FA5 -R=m|(>\QM],>b|km=^<{7O" NM3tlEt~+dqbZ         Fz@1W' &F~ČRRXn'Y#tc*.&$I6Dl %c{A]Y!cal֝b3+N500OCO|_@@@@ 7-CBbj2[XES;)lyJ\%bwD{۫\?~r.[awg܍kh謫j&gڦa} O|_@@@@ -foXL*q64{tǚ[VmV۴;69fb֯`q+1- ̈́nYpS2ɒǔ.3g&ͣLy"lк7im.X֯' -U,\RgyF-7RqUI22%TOEw6).Zj[eP8;bxP}iiTy]:}Ҥ6VETм;JR%[^/۵Flxn6G(\-sb VΆۄWjM(ZHh֔$ٹIf'hs\G8zR,1?XI -E -&doTwuJ7R{@\Ee v\ *C'"fTh-7RF>kTEkM)R4Ṣ=naO(Q%U( gr$n4=u=˩ez$}/K;< snxDtOCW5nBwi9alt(ݦ݇X9y@ܱч /WI(yfqtk*~49x,k@s-(`@* i&*:xפ,6.F!Y.#h-4޾&%fGj֫т֢N!Ʊ#QQ.wqU\hؓ!2u&:vQs΃6qrn{ř)#"4n>rW=86*T$:=DV޶-FFy%ZE{KC^ŒwU{ -(r;rפ;X2"0<'[.UXFIUlle@@Q،%7D +͙Y3劭jmT/ [#CT7eMɑ(6qNQ[+=SkF5s,e&3䗓!Xe7[`]l+9]m()bBu PG9>% ?|_@@@@ -`!RwYtyJEkᢵH |)y]捐UXYlo.)Sۏm4rJLՖ([!.4Ҳ;ԥq5\0}=T_`ެvĜLÎi.ބ Rfn21x8g#0W^Ή}ΥňQjG_{JЖCۺlCdy҈nmnrjmhж"eN[^KאID޷F\_[2fcU6(oYv^ۦ7K=]TkУioyg8{w*:aNdKxfPU细&"{ٚۈtv_>Nw5Vڻ-O@њ:ĕ.ȷZ^uO#or5[>_g2péXF]_#"'ur=[KInnlᛊXy:QIoYݽ4tjentn[<~sQ0PVFtZ^KZ2bߌ/ey|@q#}qsijosCN֦҅ţ#f㌜WT썤п-irq>5e)-ԑ䦕Qeim4\'JGs0/$ITdٸReї$/%7W2Z;I'A\䫼VxF`۸}~Jg)ڕ%NoۿE@ZJiO<49luMn>Jvܮs[$nh{]FWo1XiLf.hZ)rQ2Wuā .$|ЇՒ -=uQvš'n>qg&E2XZ\> s iXvtEF9l"ɷc[táUZ\ڞxjX:@@@ISp}Wl -VLCȲmWK1vd}PH.9EvIvޓL2Rת eȓdwxЧ^^j;9d7> rHqˊGiGG~ّPY2G7>%G|_@@@@ - (+x |2H \ubJГIɊQ;aiUSP -|2:vJl;Xɗ4gI[ = gl 9Ά5NUC?W;GUԉͩhVx-F\c Ŵf8=΅FNy%qդٴb5CZtMkcj -aXց7>O؜A<(Lt[ۻʺ: zW6.MWt -K6nt˰Bru wN`!͕)U<8L%ӣ: ]FzK|*H1 -9Bi#MEͥL4da]0Fהp|?FbV>NY>o %M֦Ç5?!_W'T읡vv6_j%n7pp=k'e\#'o:vTe^DZvOudetS3GӍ7PRrV֦pŅﶶ܁qo,25wz/ -%*㉒甲ก,W#i=%„;TV87Į,]RTI]b8gnvF2kk3TZ=:IqQZ1+,| ɨV"7tlY7L"Jf4/2Pui[ZlQ72Z@[_<v]2 Ϊ5oShSҦ#Om|!"H9!waV& v6;_]P.؄sRcoDCz@(Rv2ѕH/D6k2?M SsfMtU(jO06[gNO,-f>6j^wh{3ɎzݢgoGi3rKkNebeǨvhY3M-ݿu3I`j(Wr,%Y׶oZǝ;R.cKC8c!YkM9wͯj|鴿Y/Xq:ϝM*4tеl[2 Fz@9W'AdygS/6+1jQn+&ҵnwWu2+(S$v"^eNk+iWOe}OB?|_@@@@@+ زaԮ~ݟ?H65Jr=_j -Su(AQ&#qjx4Jd5{lQ[Pcǵ4sMKU38PlG4}<\-p2y KkIc<ȺԕnTj"yWDǣI{htд5Z"Fi }5kG4o&j©37y;mXgTAԍWCg-3u< -D_O=~?ܽxQЎB$k[?9޸`.='vFVץqM{~r ̒8wTyihU&-$nW!RYۋ?Zs\Gnt4Y}֯lunV٧'\Tg,uaSsxyiRJfT ֶV HUBO+=\ܖ L^ؚN=V%K6F\2 'fUEF-u]f[+] ASZu&nYChWQqel3@i&ƛ7q9mm#sH<׺y&xw, Ƞ]&ۺk eqp<+bO8@ٓx,R(],J*t(s.2&Brn!/[ۚӝ5il]2G7>%?|_@@@@@@40AAR;1#o蝪e(V.C-8+{At@aUr*[>(/rԶ\fM -o}q-UWn[5ܭE7(=Ť%R=, jR'Si:y{Fa4Ʈ7'W΀jMBtk -8|N .Q)qu(WV[d{=-QF-:}iVK/ދ)p}{JSRgZv+tr'h{ dSkc T=[ֵGUO2(uhZjI/7HkQª~f2t%DӦ5*8ؾ-fl:Xy{7I8˷\C0xѱwebtInɴ<071F./!|4S-O,QcpWTy.c:dEdLǍD|W]yVaC0mΊ;PR"^{ny7 k Y_RToɲӢ ,s>#tƍU|LZ| Y`W_s;Ren]zg029^ n_٘3ėn^r&]6^%I5Sųs'huRijn/61Ar ʒ0VݳxtۥPR>KUk[@w6Fkv_l^զDJE3F-:A -:Gh]kFAdqYNh!K]®pIqkKgUGoyV?\ &;&lUu?vra(\rȍY8İjBnazv_HʰtޮM.oŖm47E2}U ,@t6_)eVgoR4m}:w0^F#wZ}jkBG۸}C-T+(:IE1`QFPpQ{Z(u>H$lu5,UQv$XLw4Fo$*,jNSZu,bφ::Ժq6nIM:(6jfyӰ7c4xq֛y4\W Wd[eۺ'7XTs^$8[qJ>Xַ|QBVKѓ}u2ZwjDڕ<Бm15ƌȍ`ƺ[=r3;%{F](g55Ck׍ u:Uܺo,${fqC!0ݢB<tByZ&wrv7]0G-(O%mavm{ d5NWX=rݺV%X[4r8=lB ",dnEzuhAqt8hc #BIdZu8-en74I4ì55FlFk >rkbr-IoA7јnۿ ثbҖ>c{U:A0ro zIXVc=zn#-o制9 4qc5kC7,ƵE&0r:Fm -7sZg[9N/lsXq8oUtza =Kk_5x2^I;i=[΂jqqc?JLlWV3Z.jU:ܵtOXcn F3wyYb+4IX"<`OtOjStkln#i2 eWqc5ƟiuC+ ?Y-tRh:.RxN5E [sƢQ}4pܔiV9۞{ռ#:CKȻ#nr'Ȑoj8N;r. 3$_V5);:oq{x[ˆAaZiWKm$˴w6wae]JIV -cۊ|@Im4SZqsZ_uѥsFW;R灶ec$љa]dkwumng{|D;yeRF]lI6TƕU]ˍ|АC\]АUO=ǤX6vF>e?zKMQRZڽw -uFC濝.Df>z0ypܨN;\b{CpthñRحbK9]mؠ+W:7 *k^l ?>NMi7#+܅"F *hD̦=&XZ.yX-VYb;{"h:7xrì9[Ÿ́ۋS9.o_bO8|R˒)VU4k\C r.w]ͣ -LF6zVOYm |(GnnsUȷy@q}o\1u~ݍWv^U+m,!noZD ?Y? }9mv(xٮKlG.mȥYV\ H JVQ<-#᭜Rzejdz(m i]Dlk5Gst#\nGsi4du/7t^eu^A[эamj=+[ƽ7++S^nBԿ Kt$Mg 9*F_)dd@,hL'^֊|-nZw:۴US;r-]1'#;Sxv)yi Ag*Zol&DWCd}^oO2NGJp=$;9jˌrw/”Q:JԸz(ݲ0Qb1)Kqɀ{9T9J=_<'C#Lw6-ev۵<ɭ tNMTiVY[c -֊;BZd9<,B{CM'i^[ѝB#qUo0_2ALWэzq>+_#SS&FuN{Ö6Uie')jO >@@Q،M_s{y&Bɓ & `s|J!e|_@@@@@@#Cm\nSFS)QbZ hK*4ߟE%07X*|R9a,;V홽[R95.d,evZUԜᜈWy?RjEn}r.M ٱNE8YL/5i6R04slEOvm/ͼ"}C[3wk|71Faq~M$rj'r}fE4N;e%FXY x 4*'bU^ԍAAsH[yW& -uU1ܮYL|Mya/fm.'XmZ]AZ]II2ᵯ7XQ'{l"k uV#] l:5sv)ZWl~m&&9Vf6r8alUa+g̋[d 3D0G;{qFj߳+،RH:qTN۩6h\ZZzXU&L.ְ̨=!Z PۡJVB6LNSκHzӏ<|֙#&pp0Rc'iEOzӨB -JT ȹ6AUW%c&n%| &=ik%7/9dO{o[^G::ºTw|$YlK:*UXck*>Rbisv썠e$g>sEna'ivv]`p>&\*Tkamb'o4N8 -4 -(7qs:$/ʬlB $i9Z'qchڶą!zh[0r7^Gv#{veKErqn$kiZ7a^,~"qg~ke1(\u&HƽcZᨂ>L@@T{G#= Sp}W+C!d@Cd0G7>% _|_@@@@@@ıFv\M*26&_&+rN2[ -`zt6k\nҥ^dig`}twʃR5nC;؝M9̒;BI2Pa2#t6cluD":Ԃ N(2(G`K4zA?W܆S^SOk&Sq8)1{UNڔ˛w> :l'Q%qN)ȭ8+eۯ[Bc^D>^(qvIty.b/Rf1~pZ)6Rqt}&էZV 8ooW&ԪfU{A9 Wui(W $n==1(pg]4m_ZЍJ]yX] :Ʀ]Jwpu\)ǁWg,X֊;Esc*^S't$HZ?1豯h;!ݘ ""(ΰ ZpzsIuwIhV7F)/7Q+a_YW1S^Z _^شݣC#g-xG}q#EFΛWtxg :6$+Wo -|^E"^;z>Վl߅\{nנ;6wM2˖Pv§q~]&XAr:ΐ1˝Zߞ;ujKY1z}9v0?$qJ;YI>DtR(o3>r -8iڣJ2D+)l2h%|_@@@@@@P@x[vAV ԧ1ZuK \#Rv6FfvњӒgs :ywꉶуk2vW=yMktzWC&na[B(}^_(Xaܶhxnt`(+X_UtWxk=yQg;_mҜ:G5-GFg^xI񆢥c(Ft5]#M|.'ɰ-;:'^(pACM _frO w47Oi=:9p/> -cd>qN|p2]HYfcC7@hl4> Y@Cb3xps}y)`o|J,Q|_@@@@@@@ -ng it7 rOqs$JɕV,iu~&sd5'bi݅C>qߍi*mDȇ4Em$XE4<:'iMe%̋8gu.ҧBef#̺I\@(M.r}Ɔ0wܚ-w|] e٣##om$|/N IƌbS5ڵDR0|w69s B3G{|nG4JxKtL@*fƦ)oqF9E'ouVs:kțVBHvC3Oko>b"./Tn]\OCҸ&l4H~h!]N*=kBUr[gvݚ*jÅIdܺS(ρo`ܴzI+|WZw58l+KC**Y2_Ԟ&eZһڰs[eV.C+WE] -F ><7l3VQUݜn*oX[vQ{26oCjV:%S;,Ep{G]-=g2KQ;:5g 5 9KzAz4[s= *YڝVdGl; l\;!W+NyCu$Cus6w=q [M֘n#kzu5H*\ /O vtQ^N^{Ըb bFzܯ-̙H5 cCZ5(6#   *{Ħ OL0A ġ~|_@@@@@@@O%ۘguAi\[STg[Wem & x69TJ۶\O{G:{RV,6J H^%PBdМw*L_ٶGtۡXZQ2zrmݣV"#_Ž4^YI^[Z?[8r'h]##8kYQ񆥼U85'fYH ]M%2APJ&e5Gx9]ЃKz-xhsNK~GFϏ',>%22/FZےAOmmn|[*wo㥇[Wߛ+rt均o7}yG$چ"ͩ󕐅T?q~8;Wr3cN{i4NA:۩(:zւc9FJ7ok^?[J7jSJNqn.e2ܸj-i]stWJ{%umo;V7sob\[Iy`#t{rMn`oE+ VzO"AUxd CSQ?aeO|_@@@@@@@@ayW)[86WQF'ǹ-ƶv?z\:'Vn1|5M:*d"l/i "̵!fXR Zuw6L>'q޳_}DoZ'; ׃ShɦX޲QLiWI3LyFi.#Mj`TEf ۴'y⹵CtJ٨Z×F$$\-:wTVM/U'{H.5o EvKGm N:{ϞBt4I[IV#?3+4ҵ$'ۨ(Cn N ~GEnV49.TqjĢsiǕŵФ:A#7ڷyWV5GHw^9eht^>t-5$ӻan?*jۑڙ">[0|8#fr"Bϳ2QtxWFtunDa&@mApisuX˔*m[f c'[͡ jҟxVVEjۄ;MZư"7tp[E;֬۵%^mA͑ ff[$𪃕ۛ/$'}MՉUYvӁg'k%Ubىጻ팉5ţmT#ᡵ-y!o-qL-$I $9M䎌қ3QkDl;+&swbx2n'\9ckwİf2)E -! * G*(VzO"AUdmX ,/Y~|_@@@@@@@@#=v"I2Jwp>T7ICab^w-v)9,pp:P_=ih2E#4= de.i4kԫ7 - %; -J5TSۛ9NK+06t*Ŧz{qG%ވi\:Jm*6KcziJúM4,FD\8l;W *.Gc$%~3FѳMa4=dm5H5÷w1% k^I ;VmJ:y%Sc/c-qOD5JZ;Kd< 髐 2'vFkF؆wE9[J '$z7wZmM|2S`h;].5^YL͘h{Kƶ-<lvG}m('d ~(>8ncۼ -T\.'j5p`p6SSSlߙݻ/^˾e3E4i\&s\v@ss.FfN${uqZ.y7% _|_@@@@@@@@ -!{hn#1#T-en.EC-,vع7tJs^G) U3D'i|}‘q.xl2vu]HȰK~#zɕ M{˅PȪ"XBҢбkS2PL[-x)D6ry= hy˺A̸qA86;XmJЯq}v@qI݉ cZ#P4g1ﵑo89{ڭ]G견^`mZ!) nT+%qؕ"+Y%oyFn>]>-n<-wиJ^Ƅ$JIK◖emˎ\[͹-!BK6f_!HWT|֢ a,")!| uwt.OZ] 1=aFoF8vVGZ<ƣ(v奪OryRYź@?{p.Ҿⱅ)s8+7:cz 2B!I!9%~8-V&j97S=cY):P&ӻi3rIY⧼KPy}ήts_ "Mr|?&l!C7~fyziBdqNYpmFѭh5WlhIP56VOV*R6hX2  -hg)>_s%}yЀ!2`, >ġ~|_@@@@@@@@@3MpI۹(:Zo8J`kws>Qi[y>+LrrlbP&J{ >Q-IU-yYZzU[[ύÝ+m9B])ii#@-Xx3rRV{u9/O"HƜE[#~[>_"KˌK /ojۖ0Ӣ*wʌ}/7*犺Nĭxx&C9,w\| -ߟً\^B~RH#_)5$kݦpZJS6f⌛ٽh"gɠ+"ڱf:n'ϼn5=7ZG[Ṳ;kw7bZ\#;iWH^~)5%DLJGy~?nQfkC8qK#51{]ҴM։Coo1 o?LkO}tYP;̞7oq?eGѣ]tBkdD .@troE{^9"{Iv[[rf?DՓ'{c :4Ve+o'\hJsܕTOiX=McoQGXz3q5m)FSX)Qmokm &:@fUT6   *=)>+AJXZ?2C-%sr7aW@;ZDE=5x3hv&Sd[iOtCk[)k[;zVB߇SiRf2iR6*&h.6@0@@@Gb77+AUx &Bɂ>SPai~|_@@@@@@@@@@@( -kKy&Xj3E4#uwZ%Yλm2uٽ[v5% ?|_@@@@@@@@@@@ -04 -@**JPɕ+      *=Ħs}y!,l` `s|J,Q|_@@@@@@@@@@@@@@@@@@@@T{G+='M_:cȯO8 42(@(`,>ġ}|_@@@@@@@@@@@@@@@@@@@@T{G#= Sp}WU_xtx}d(U?!{d55io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€}a(io€wi.9yjo¦~zn4"¯7&{kb8|+5_/³UEb6b•_Yg>dKg߅f(:ȏFySrhu]Ӫj)Zw:ԳӥXK='w@@@@@@@@@@@@@@@@@@@ ##[.9_[,K"SWa̓ , eq2|[xendstream -endobj - -25812 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 252 311.399994]>> -stream -xOk0 $U;z; 7vvl_NڹnFa?~2؝tҫ] x3t(l&RȖ"|慭m?_C@<{x~18җAXBD ٶڪSa5͟Pa]؞'nwp! fkxlWp-XWdtZF Z+G1VѭncJRoOppf zxendstream -endobj - -25813 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 252 311.399994]>> -stream -xeQ -@ Dsj[!~+@*(*ŊH2|Lxz?[Θ=VGB^K3빵u`GpU"B!ip3D4]ݲSLI -o%X,endstream -endobj - -25814 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -25815 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -25816 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -25817 0 obj -<> -stream -H[oF+Q -R{#iq Lv (2m+.\}g ə#!079Ÿ(GOD$޼99; eMu+:Jy h?t(,QL/['YpɑRdI"ᄃ1E"4 -3mL*-wq>)lԻ(w50qiZrQ~_+ϧ2LTuɮw =;}PBF= މq,,pIKx.g1(##M yN5!}B'O)q2S1q$ -fbR5OQXI-:1a,h <+84lWH<+ -4;M7bP'ƶbw]EwrX8]ȶ^rf-Tο2Xldd=tzX]mI~~6(y~'6fu5untRQ(OPP)S RuLaZ^Uu&טEXVUǾ"wKߌ˲䫲X|X.hY~Mxr=LdU2遻Q](ϳu2$ywy9yXLZ"T݃U)B5o}+(ok7q.^L7+whՑ -M5Z_nnzG\ʔ8Lhbx][oے$?|#N'ɞ~\䝯I#VJn&=ʵ hT=ЗLC@vp~PܥݼVZ -xIջ@UuIVU0rꪚ$0wTѭk;ITW?%#~7tl#TIOt .<JA`hКdS1Qq -w$K!/m -g{np7FIp /ݦ0Dԟ -Kږ^]I4pp|6~8\^󿏳A+BWu*|{<u~}CZ_"_"wendstream -endobj - -25818 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -25819 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25820 0 obj -<> -endobj - -25821 0 obj -<> -endobj - -25822 0 obj -<> -endobj - -25823 0 obj -<> -endobj - -25824 0 obj -<> -endobj - -25825 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -25826 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -25827 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -25828 0 obj -<> -stream -HWko_1| hy؋&ب(P;h(Hś^>d,GgŧЪ//~yիWo޽ ~t)(1*Ml:?U.ЪRůhovve{P?6 ,jVu U*3aju,7gi?Үëj[g_NLfI#o@rđz^FF=(_o -rDƃns SN992ŐŇ,! ,]knb2{a2Vpo{+̽; s{{g}'O)s -S>ܧ}&ϘLp1>gs=ˬBK]`R Y=ŀ%b),bRK1d YjZ!KpRkR XBj),=KRK1d YjZKH-Ő%g5Bj),=KRK1` ,FH-Ő%g5Bj) Z!R Y=ŐS XBj),=KRK1d YjZKH-Ő%gBj),=KRK1` ,VH-Ő%gBj),!C -,VH-vRK1dqZ!{KH-Ő%guBj),=KRK1` ,NH-Ő%guBj),!C ,NH-ŀ%bܳ:!C .Bj),bRK1dqCwGy;rYSZ-pc`x6JTj Begߐ)O|B|8Tm9PNMGľ:˶}u=Qܥ:+BUaڲV^Cd[ݨv3zHMDrX0`)}=X* D0 }GVqUǺjUy ]t=O^ Pƹ(]b_,թQY%g$bM?qCSpS 3();-P~oFvΑ99{A4My8ɔkuUwAתTZ}` %|i6D|½scT<#K"lp8Y?t|'<(q,KUfDqZ4eQ5OY|)ړkOmؔ -f,n6O8ߊq#;}~ mXƦI]N -ì.eCH4|I 'ɴqWl<b|r,h:d=Z/ ĻUI%Skv{ű)溳b[4M&Y7:&c>F)\3,l*ݾmF۪cU5[FDz,W'X=`pPjW -gPw7Xi/,F݄nRi;+yI7"i>G+uG  }o".ubS~g-ƿ{>jBC{w[ַ׼Əqzd 7uSXf{<N)#ן>]Ӈ,vNPdd&|(ܗ -߼\ ٔh 5'ru.R9D0^Lj5:!i%!(4u=|P;wӻB\aؑ e)D~6|#j'~n%EhKLt>8?@b,O&% _4>rOxS,~O9ѸB -'L; pճք/>  k|eU3O;{sLae;;x?uUO,87Vk7!`pzԸv\o) \ \P18ŤCQwGpНK:S>'G7=7:g=m ΍CV.rcZ^L Zi%V´A+aZ2TJV&heL+2 Z9jkQ Y\b҂fZZLZiAսbX),AսbX),AսbX),AսbX[),E1` uO1d ZPC -uO1d ZPC -uO1d ZPC -uO1d ZPC -uO1d ZPCע-VN{!Kbu-VN{!Kbu-VN{!Kbu-VN{!Kbu-V^{!kQ XBS Y\+ukSmKuބ«MyKo6d J 26A P զceHr2^%)MЕÏ#Ygyu-uVՂ .t6[,gx}8?/BM u_E }}Z-~ wWE,D ٯ\y$uC8B^2ffXE 沌It -d -SeJ窊P`e+#XYK,Id Vr` XE* VJU`U"XfMt5J}UJ VR,Nx+='|k.E\(U=P{\sW,B -XqͅR_ -{\sW,B -XqͅR_ *`5J}U"|k.E\(U=P{\sW,B¬=P{\sW,B -XqͅR_ *`5J}U"|k.E\(U=P{\sWa$|k.E\(>鳰4ey\Z/˹SLRNaxK{~̌l$8^McN@V;fD6ÞU_yV&0I(zwm}k/l]zY}:/znî٩[eԾt!65Rg>ir\T)R$! z ua3e!ェ)Tسg!M{ige޼qg6SE\ל Ʊ8ر5 ȹq)$!4ގAꕙ|y /Ar:ṈQ86{5i26=vjv޶Ӛe f!,)#5k9xM?3XyPxqvݏYT}_m[alU=([孾؆1\ۓ۫b%D;Fm)"yZE^se -6轠yFhF[f-6 Ȭ@7OX-&$֬oƙKNYB {\d, -x!{k1K ce7^=Ws7)+D&|zUǡvgG>p~ed}2H\t8՞=yuGBӞm{-GsiwW(f/WzZEv4<6+eϖ??0Mc?luoF/7 ߿endstream -endobj - -25829 0 obj -<>/P 496 0 R/Type/Annot/A 25832 0 R/Subtype/Link/Rect[93.6001968 663.229004 222.936005 682.908997]/Border[0 0 0]/H/N>> -endobj - -25830 0 obj -<>/P 496 0 R/Type/Annot/A 25831 0 R/Subtype/Link/Rect[93.6003036 462.549988 208.848007 482.229004]/Border[0 0 0]/H/N>> -endobj - -25831 0 obj -<> -endobj - -25832 0 obj -<> -endobj - -25833 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -25834 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25835 0 obj -<> -endobj - -25836 0 obj -<> -endobj - -25837 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -25838 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -25839 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -25840 0 obj -<> -stream -HWm۸__F+Ib&w ru ڲW-$9w7qbrg<3-{oX^}:3*b:a,XP VYDlpV|ŷububuv'ض n͒&0$bؓ%Qʖ`Su B|/6߳BG7Y _] \妪@*>/M$ E"N۾~m^nqeDz^@}g0cwc|AIm6@q͢49c^x^x%^z%^z%^z^y^y5^{5^{5^{c}챏 >!'`x}O >%ا{C7{C4 b>j͢|(BfQ>{l(=P-YS TmET+bbE= -BfQ{OP-P-YS TmET+bbE= -BfQ{OP-I,gm"Tm6cbE=JBfQ{OP-P-YS$TmET+ bbE=JBfQ{OP-P-YS$TmET+ b>Pj͢|(BfQ>{l(=P-YS"TmETbbE=*BfQ{OP-P-YS"TmETbbE=*BfQ{OP-M,gm"Tm6ٛX͖}p nK8[n|1ac>X(W:g/eѴ+KF$GQlۺ:OuY/ڍ% -Sw[mH/ <:E#9N0sm}qtp(OW)|qhCM#ouټ`q׬ڰx8}^Y&6훆#)B$LX !0&į -]'ZI%G>uϱ>sX]A8Rae{m[l=*7XUٍ~HFFTղ~_<{sg+}fYfw.T;-v唻W*,(΅Ue -Q(Ӆ%:RD -444(DaSe5<ݖc–RŘޢ,\=f5{v.FuȤHC#LB1G9N859Tir1pi$I캜o_J4*m>>g-*FA/iQ8-%wH .{UG -qŶ}G٥9ep>*a2Æ]=OE7s7U[U{BaV)bP6G)S͍C -߅j$e{Sۏ!;VJ@cf6_eC''ܡ _<Z 7p2OL!58ESVw T&5)LX%6?Lc`"dg0([˷ -e!)54,^#> gv Tv?d6ÂN桔0aͷn7lc=nMUHU-w:Hi~!}}VU~eg{u+'dݏC5l/n7V?8a:ЩOGlf|߅iw1D[ݐSPK-si+Olr;ȶO3r" -u*p:9B˻aLFEc@Ifs%s)ɶ[`](#_du=ᬞ -JԨFp)~/vv)iU(e  ' q*D aSſhW5$;Rr't/t/F2G1dvc.Tu=I|D͛̀F.mj$|p(Zzѕ]降@brv-%AN #{NA/Gׄ) >װ~av}y0Q3Fݻ0h2׺㨚Gu M]&Nt nXvïa]lKh;:{_TQ0aO}F)Ec>v5'V8mgӎ]ޮS:ĆΐԛiSu.fI~Z^=װZ!~֣IBa%cvowFX0>Wm}X#XO&sy̻Zﮫl70.HLFfNF[1>OWC>3ҁo s ';,GlOσZWzS5%o} d)~K@aC] a #Iؕ}XF((j7͋"#*hs^Ca*8k .u?Ib. 嬪2.ݚy tOrR].hm ~7܌f\s#LrN!ec>1;XJhN ~ʘ8v=AcC9piulrHS^-;nPt\OBW}$Ei;-` -Kjˎ3+R2)SʤL=b3~7<0 ҄zBI@i.8g`qN'6Ϲ /jk*UdoBѕ{~hoXƸSs=6"N0!vA"/h  TS3\f&o -VPX}OR f2e1[S{"(OF׈4ߥ"~Q'tn>("c`}5R\]Z,* =.-Jɫ2lyx?)['oHUr&T`֧=Η/[;Waԇ}F/@3m5Jܯ|Yf3jeC3|xm k@@L-w-N"J3ٻU(wc2N8b/}~1U<竆&n%0M,s%b#&> $%Øc烴t|0EH'8 -<>"@N fÃm 䗾;9j#ܴj{0 MB f̤KH~K*"Li`As }-f@qsipLã}_ dFnj,td]U5x$H[c0ܡVnEN_+ ƿ>/P 667 0 R/Type/Annot/A 25842 0 R/Subtype/Link/Rect[93.6000977 175.209 290.18399 194.889008]/Border[0 0 0]/H/N>> -endobj - -25842 0 obj -<> -endobj - -25843 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -25844 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25845 0 obj -<> -endobj - -25846 0 obj -<> -endobj - -25847 0 obj -<> -endobj - -25848 0 obj -<> -endobj - -25849 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -25850 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -25851 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -25852 0 obj -<> -stream -HWmoܸ_A_a6kR\Z8A ^崒OzEJ+y -c-j|83yȋz˗~xqEyNPDg&Z~#M}IE翔u1TnP]%]= }j=Opr0&IYF6(V]m>0q)q}gpGl|Ů'WϤH,~/y=ciM6[2՜Syho6 dzn#I9O@3ޑH˄ -3PG\<3|A6@q ا4`"Ӏ}> <`#rD D͠B Pj}A}A}6Bj}A! -D Pj}A! -D͠jZ(D͠jZfP@QoZfP@Qo3(}Zַ"ַT޷ -Qo3o3oZfP@Qo3(}Zַ -Qo3(}Zַ>PDTַ>PDT -aV"mBT -aV"mT+C6 -6@!mmmBT -aV!mT6@!mT6BUj}6BUj}A!*D Pj}A!*D͠jZv4ZfP!{(D͠B͠B9\D7"lg2͖p6"EN$9+6#AdFyČcgp Ni۲'WϒDwmZþtgqYUC9v;`y")ʹ>sy ;ve?taXJ43wJT*)b%弒aH'NL9.:sΤA$~{7XsNs aFKXG.PzƖiC=b{ܻ=/ldv5O88R&]?mq/s&߾bn8)PsP7qD"큆9EWM#CKƵ&|8rmJ R6q?vI~Uٸ 𥞡U3asgAyqC+msU3Pyi"3M7SW,PK"TԞg& 8ptE=~q^)G!Fp_[= Up욿#?㚔h<9nAmC7l@|}zB~J%'m֮:̖q9ey .Q팚F_o+k4|Pj1 u-]pϺ:Tq ~7}e t) ;n"3t ӭܹj ;eFǏkArѸͭ䯩ZO?q}9"*K(zew6i.WhLa7ci75W&>/_A$.Ee!hE[$W֠}n2&n}h)9\k(2铳qzZ=Tϒq/: -l#=|u07%HiEḠ;&W󎮾 B$3Z!p(OSeC4Ur3]]1 aP;(i[)C T|r4Xٙ6|rPoNbʿk ytVS^_=5MisI(XtOt׮#-(SbI3P,(b" dIϏ;={JSpCgҴPپ 0EX- w` -b 4ʆ/Hml0q]9ˑF(mw+-oW-sm3pu!35\,QmrP 5c,~sD§$Yk|ȴn.֏5o?}_V(Ux S՗Q.uoh#;|\ Md&7~}q}?^ U%HPk%VKM/JڕfdG|&,"A咡(n6Of4tX,TtCxq9Dn5qz:)Bd hb7LT6O߳ώG<ͨcϯu=ReYe\hq^>^yU ˧[0 iӸT0+h_Awm~oz/Ƚ]w>pkt0atRO间XUMGa6c}!U؎ulG1ϗCG2?4ل0aւJ.u^}~HDny.Tv>?4g啩xTiXWZk3y픰_/}pK*%_jl]٬#g*-Eְ"զW @Em 4u.Tr\^2iM7ִh|9CRͽtn`u+z/s2){> aiFIdzK`9rW,X^*JjZ` -+VTXQ(t%5viUVX%`e(,{r/5vʽKހK]ro@.R7 Rc`{ T ȽX*^j, ^j,{ r/5vʽKނK]roA.R Rc`[{ T-ȽX*^j,{r/5vir/5vʽKށK]r@.Rw Rc`;{ TȽX*^j,{r/5vʽ4Kj4+1F#Uw?&+ǻ8AVn1]t~ܟcswO#=r-tw{lC|I?!K˜F7~~-V[Z=?~3OVuendstream -endobj - -25853 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -25854 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25855 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -25856 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -25857 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -25858 0 obj -<> -stream -HW[h|ľ$ aFfw}ĆVuҧ3E̮I0$3k&֬v-a23ɳ:3ԋd2i"+MNFхq!ͺڞw5t3kf|b6eu -;L?݉nC~Q'!lMsSg>W=}i^gfn穋$Nbߓ*JN9+ĘO'1bYYcV,Zm^brSp{{^Wp>Q}T#pϕϕ///// - -W['Vb%F,Z1K{ VbUkhĘܫ:Z VbUkhĘܫ:Z VbUkhĘܫ:Z VbUkhĘܫ:ZZ+1fi#hĘKYڽĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hI{ Vb%,^b{Z+1fVb{Z+1fVb{Z+1fVb{Z+1fVb$JYڽĈZ+1ficv_UUџ;ogYLjkEb47y^z\ 3(ѵYowc[|yq9}96}wogf~:f+MWf7(rtb~y"BiS_Xg\.zuǢ;`/ߙvݘ05ljL7ss3ؘ`>7{ct!}7Οfhi{uпҳ IP4ZH Y`) -@+(Ҋ@+*hJ+Z*V -U(hJZҪV*UI-i-1KkIXhYeUZh9倖ʽʽʽʽʽʽʽyxGZ*^b-{r/1>ʽo@KރKJrA%{%R h{{T=ȽxZ*^b j-1KkIK)r@%۔֒xOZ*TmeJcJkolu7ñIoλ/n nhg)\&ۭ?ExQyy`jۮ̛lpdYdt:wxRHhs=ZⲘ?2˹y{dN6cm?V!-{ >6u&!gijˡ§(6 -t[+yb6S -קzlQ8ѻ菡zt9soZ{Z1<jtΥ@=vḣtaǗf4ݖzYD7:Fou?'ªGCHj~k90 +MB_Z[ـUVCy7q4++C'y;H[P^#>ՈcNeО|=w# F;x𹍷ŦO%=C|JwACιg/}mx塹3lnmfG?aogp>iWe;/|6|V'w8y3dNƿ6\7+yos<*Мs%}s.Ϲ|{9)1}N;yt0}턯/G_4_yd8a6+}_ Ng[RJimypF{ZQz0JY`) -@+(Ҋ@+*hJ+Z*V -U(hJZҪV*UI-i-1KkIXhYeUZh9倖ʽʽʽʽʽʽʽʽĈr/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-r/1fi- ^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ#ȽĘ?dR7*z-LۊJcCɻR!(ua^V҆Pnp\}t2 6c=gf~|iByj/G,aO ϋWϓ Du^endstream -endobj - -25859 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -25860 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25861 0 obj -<> -endobj - -25862 0 obj -<> -endobj - -25863 0 obj -<> -endobj - -25864 0 obj -<> -endobj - -25865 0 obj -<> -endobj - -25866 0 obj -<> -endobj - -25867 0 obj -<> -endobj - -25868 0 obj -<> -endobj - -25869 0 obj -<> -endobj - -25870 0 obj -<> -endobj - -25871 0 obj -<> -endobj - -25872 0 obj -<> -endobj - -25873 0 obj -<> -endobj - -25874 0 obj -<> -endobj - -25875 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -25876 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -25877 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -25878 0 obj -<> -stream -HW]o6}ׯТ/c/IyH\NmO $A 3DK4׻Rgy?%yG 7׿w7 1e -d<3(wUWDiվ}oP ]:Ǐ}n]Wxi:gE>D+&iM?:C~"ѼOvS}|qUڦNEsh~Ws-i49 cƿo!%qEp)π}ti9:haH30ƀXBa)389^^^%^%^^^^3B}Y>'PsB}/E zMׁzM<bqµ3P=ƀEcǘa1,µ3,B}ZNcE\ b Xk1fXp- Pb̰k9Z>p-'\1`Řarµ3,B}ZNcHŘa1,µ3P= +T1`Řa -µ3,B}ZAc"\1"k1fXp-ƀEcE\+b̰kZp- PVŘa -µ;Dp- +T1`Řa1fXzp- PVŘaJµZ>p$\1"k1,µ3,B}ZIcE\+ b Xk1fXp- PV!Rk1fXzp- +T1 -Dk--Cn]Wxtġ`\'Ye:^O㋫Nf~uXUékϥ꺋/IgYj`aWʦ+woC8CJI{ϢdV$i.UX`ԜMԶeaQ6*G1NpS99ʗM;؊lʾDة?{[=v%,Φ:fh}~Tq^ BLdlҳzh!2 BƏuSghJMI'0fS$usqR=eCB̩+P# [tchBdB)6OeW6CUyî*5qL.<Ynnݳ(;ˊZ]evV})O87/DXF[a%4K /B &U]=/q.ݏթe֜3Pۛ/N[R5эW}}Øb%CeYpտ*hmY}>0~^jвy!a2ۖJ>V嫻y?uMYlSCwٿjyߎ7] ) 1aH=ȟ#,Q2V -;0^Y}bj@e%E6`% H uWWpΰeU&LB.=?j<ӢBqBLH}i5O*`g`EcHҢ(qTO"apԇz_v6ʸo,mqGl{ *`lz椱OaAi5 =wҧxHತnvZ`3L&f~$wY%W/x:$pĞ7;5 4)2ۛKfӞ 5؅Νvt }u[\:J epLmp`Ϟe7"8D wL f;/ 8K) !^sZ`w{ڌGވѳKw(sqͥ[K28+ʧ.V!r.əuwsӸ0}@H, -1dhI=\Ur_:c[oPxl;Pޥ=T4W+3jK§t .pj6ӶrCp ;Oވ3Wi9x ^yŊlVxXGoRZ&ܵ&mIP Y:)]Nچ&_\٩+&xkq|Ѿ:o*O򮅃k֞1OPwAm/?`djxu>/ T*7ruqҺ['cUw;h4=L,_̔,+4l: s]rJ~|fc}\CτB&+dz9\43u8ѩJj ϭھ/B'yQUap?OTe)&(^A6^\q륟?NV_[q21c}«˖v6@Mg%ڝ6/rs`q%Kۘsa-Y7CɘgyܟnW۱i;@#_+*^4PwTch /'ЁrO_NV¿Ӿ6ƭ|6'օfy=l/C)J.ՙ9ψDYǞ;zPt{z ^VbOHXOm׼}A:[}!j}& ꫚ Q/ݱ!b,Й Z t "N8ϖŌV-LuRf&dTQ`߾{8ON;L.*ڷkz`0bW: ?NFx'cgY#'09'llJYJU>`W%\|ɓ!*O;G>/P 823 0 R/Type/Annot/A 25880 0 R/Subtype/Link/Rect[93.6006012 317.489014 249.324997 337.169006]/Border[0 0 0]/H/N>> -endobj - -25880 0 obj -<> -endobj - -25881 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -25882 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25883 0 obj -<> -endobj - -25884 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -25885 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -25886 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -25887 0 obj -<> -stream -HWkF_1Hh y]XA#q%r-R^_7gHi{8-]Mè>*SϞ="hJSinTuh?UdcUߛ]=_?f<uh˟qH˵`V뤂E2U -4UjOޭ6;ul^_Y.s݉G~960fjj>S=O_嶸XJ^ PdnĦF)_@{޽V%SA)+OK&s*љe$!/G1`iYCXԻ<ŀe7{[e2Vpo{'w̽; =s{9s_ }!/Rp_2d+}W{Y-b{KH-ŐS Y=ŀ%bܳ!CR Y{Z#bܳ!Z!KpRkR Y{Z#bRK1d YjZ!KpRkRlX!CwO1` {!R Y{Z+bܳZ!Z!KpRkR Y{Z+bRK1d YjZ!KpRkR XBj),=KRK1d YjZ'b),!CwO1dqZ!KpRR Y{Z'bRK1d YjZ!KpRR XBj),=KRK1d YjZKH-Ő%guBj),=KRK}R Y=ŀ%b),Jr*Ά}|\Z_':p/UWjOVb k͈yVx3wh_?al0GP7Hˤwc۾SO֫?ڏ$KmjQ'zhqteqJWqM=/Wǡط8o9?~zp> 0Y>S6\ݮ>v0,\Þuͮm1k6Yf.~P c\u5ݓ]7aty|[7˃|XE_ƛ& wq<|_]Dh(ɼnvp,_4ſE >\O[w.nó%7cZE|M~K8l$l'Y~\N7dtÇFeL/Pets}ovĝ:H4w:zRJ˪xK 8vÐ)M G/W)?U6H"VA}8@ez =6&q3T/BgqjM}&XfY5w];Bɒ)q£X]7zvzoO Ϗ -D[r=usU-RSod_LOY(|#(6Q6Jss6((f&[MmUsMUHpu)^p>6o[pi77;5xyav{;l6P۷]y[mӷwUnS;Sޭ曮fgy4_a>`?&,,tye,Ӭg4LcC5'"Ftr…z gLW'U\8x,s k~Oa6 uޝ_=r`-zz {9à h?Xo3;_ IC77-!OiO2؄l\ďgя j>Ͱ9=T,F"DNuhgα:y\1/ia05wZy8ؾjwUVT_DSzzbW89uxӁg>!u
;-Tij**plmIo~3>t6\s37τIKKqұ'x&áe>Ne8mۮQ׫_/e+M62JpZWNY^,GujM=6p Et۾f `G]o.cZ{~}*5Ψ[-MvS(ԏGٴ'6a<{=gHH'R) 1X0U=%]9d5y}^mh'@QB/]i"Iǡ.O zqOr&XB -n+&tC}<%clT蒊]FvmtwCI1\~<_eJC%#Kvi:w@TIQ*I_^ 4ҕWR&o> /÷h2).KF,){YԿF0.K>W^!1h& cݙE> 'R>4f |$x a~$aAz1nyR=7V(]ptՆ:/U4yS9. w0튉H\x3F>gK7R2E҆mlI\cMEu#& -_0 :̢f endstream -endobj - -25888 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -25889 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25890 0 obj -<> -endobj - -25891 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -25892 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -25893 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -25894 0 obj -<> -stream -H[oF+QR{e cA\hP$ajI.EM}gt#9386=Y./U^fc}'O s -S>ܧ}*OLp1>c3^p2Rm!TCPBjwO5{%jH YjZ!%g5BjZ!%g5BjPBjR{Z#j@ R{Z#jH YjZM+jHqTJH-ՐwO5R )=KRK5,VH-ՀRK5,VH-ՐܳZ!TJH-ՐܳZ!TCJpRkR (!TCJpRkR )=KRKIR )j@ R=ՐZ!%guBj PBj R{Z'j@ R{Z'jH YjZ%jH YjZ!%guBj6 b!TCPBjwO5{z_$xynVm-LiD%)`PNb`iU1 뺺U1vuVϖU&Maڛ}jdBdy M}d%xZᯏ~nj,ru_n:j=;y.1ݒP9ɣOˢ~pU}:`VKQTDž\}bdm6Ia^G4B]{=ͦZYfiA;MD\WqڄQ^p<&sGHmʜAM9QӮE;Qwȅ6u: M̆Ԩڴ)65^5OҦ0rզ )=]ضծܹs w@.k&mo&.v5߷K`O9~VUYTyv"=Ynldօ7\:,>l\'QS$#^s֩!g|Wê,A+`-vYž(G \`[c8mvo{Qte㞵׃um&{ jJz{ (~rgۤ崬W{S~= @1$\"fSһH Pd`dQ!gpLoh 6&˫[NHˆVN)Vo9"9 Ft^MڶFĚqڳB6N| דþZ%= Hi -`0}A\endstream -endobj - -25895 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -25896 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25897 0 obj -<> -endobj - -25898 0 obj -<> -endobj - -25899 0 obj -<> -endobj - -25900 0 obj -<> -endobj - -25901 0 obj -<> -endobj - -25902 0 obj -<> -endobj - -25903 0 obj -<> -endobj - -25904 0 obj -<> -endobj - -25905 0 obj -<> -endobj - -25906 0 obj -<> -endobj - -25907 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -25908 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -25909 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -25910 0 obj -<> -stream -HW]o8}ׯb_EŠ_-v:h]L !) -Ecum)#t^-]ޤEш:><幤^z߼o?#(\T,UHkG,zݗ};imWlo%?Fы`mT +X},mmV$2J+Ζ+տ6S30QF$Eqg1]G gzVo=2ߡ -ri$wCTd `} -9E)G$* a̱0,!B,]P<ƀ% 2P/ 2P*P*P*P :P :Po&Po&Po&P@}JO> g,P@}N9>"P_ -´;Dp-+T1`Řc1Xzp-PVŘcJµZ9>p$\1"k1,µs,B}ZIcE\+ b Xk1Xp-PV!Rk1Xzp-+T1 -c Xk1Xp-PVḇkZ9>p"\1`Řc*µs,B}ZEc"\1"Uk1Xp-&\1 -c Xk1Xz9Vc"\1"Մk1Xp-ƀEcE\ ḇk5Zp-PVŘcjµZ9>p&\1"Մk1v Z9Vc"\1 -c̱B/B͚!z^׆ ãPD엞9Yq6 @"tYJu::qi]}sAɂJ&rk SZ" ;mᦎ5Jg 9J<"=iSF?8O)h7E=&9švݲa󞽂zlqz5l96ϲb6@'hV&RZ$ Oo3?Oe輝r%r#[crpPt&$U.i؅5>g#Yϗ'kExeksCgJ "x"rFJG:2i'm~O;*D,5 n8hQP( s)+u7.).=52j} q;v+3rs!*t2#vH=c+H$(ȸ*lW!,qUTAnqWW;k s=,&<,CSo8Z).A"-F-T7!e}1-챷_rK0H=JQI P֣حl@ - #|Y%v98}}l9&7WOCSM˙$ ҭr[P" -*r%B/biW?ν>iY赆.bRWA[޼\Y4?{D〛_u?qQpaHmݮ -hHO:3NNT9x+NC  m췺8w 'Wd BE -">=ggw$&]6 SE闳]~@oOBVII;Zv#Vp[7v[=JfW>ⷫ$1CgOt='1AtWb,2ٸ"llv r+$^H}?p(RvAkXIt;:c*OljOJYU zqc`52vg;޳IΙ;eGfy!w|lua~PD6=Bih>ǖ0gNJ<ǵzJ3(ZΟ -Vsp{hY6;6XVnoVu)?LU1Z2O+g""JEni' G Nbuն%T3x"5pϏS&~fnĦPރܩ*,g̒a%=Eͨޖ[G'oyh<=3G{q煹v*s/ᆪ{ՁPv}}ݗ22\]cS_>p9^ʅ=<)rUVOT1pw4zSAL-zn%Fcu ޞ:;?ڪm zϯPo("]@m]l,I --Òf}ߐL#ٓIy3μy~WFo)6TH0yveXrmGo֚-d2`E8% so|Vib͙bLjnqW3eEq{h53綨DiiC]V}+M|=0mK %%àT.0ط[DC$]AJ|WSW@ґ؁*!`c x!fGY&P<䗆vROܢaѢEV9BNy< @4 Gyz4rYbx^UV ʇk.>| ̵̢p< yjm3z,ЗEXL0A;f4OL pJgx3 plTXCV6Wi @)l#NI?5LmN0|wRS⛪y.`@G4Fo` Ƴ2EnG=`sAI![{W_qDH9RCHI'|+E5Asp6i*UUJK)ׁ󸯚&^&5&d1&YjE4c-\ﴇ 7թ p!l} `>b1&|%c`J"rdL`XTB2' s< 㮙q+ן8J|ѥy0 vN/$$I"(SJ=,v|a"o5%čPx5$add~prO]6ni"sxh´yQ5*Ƅ;:U&17Cv:{=3Y2|=oVֳgX⹍eLI }|eKi9.rX ] zi4ս^i.1!G6Hk¢bmӐtOZR2W~ՔI8 \~MQ.+@9ItC&d4umֹfz_Tz+x&,uŒIꕴq:oO;L4Ez7#I)yMQqo3"؜>/P 493 0 R/Type/Annot/A 25912 0 R/Subtype/Link/Rect[93.6001968 663.229004 215.735992 682.908997]/Border[0 0 0]/H/N>> -endobj - -25912 0 obj -<> -endobj - -25913 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -25914 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25915 0 obj -<> -endobj - -25916 0 obj -<> -endobj - -25917 0 obj -<> -endobj - -25918 0 obj -<> -endobj - -25919 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -25920 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -25921 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -25922 0 obj -<> -stream -HWmo6_2|ˡ(pI P/ wiRʕv|fHJ%ǽ"p8}y83$ SןC|}GU*Օ ̵H|N Kir隩}2ڃvmrӍH&2>!K봆1ӒUf7f;1z+4՗%+%Ċd2 bY3iv~ܛ6ksS|go\6,ou["ɥb5BIX-hnOEr~ KwiR"Fb./]r:10 }Dir<&%"b/"b/ 2b/ 2b/ 2b*b*b :b :b :b_싈}A/"%ؗ2b_ˈ}E":b_#rBBQ1(BQ1Ї}Ї(}ZA6!`V }"TET+Ն>D# -BPjCjЇ(}ZA6PmC>R TET+ՆC" Ն>DCՆ>DCbPjCj%Ї(}ZI6PmC>R$TET+ Ն>@ }"GjCj%(BQHPmC>R$T"T}"T}ه>@ }"GUjCj(BQHPmC>R"TE6!`V }"GUjCՆ>D#*BQHPm;$PmCT>PmCT>!*f_u]3s{Hm *Snʺ)y%8m٦Wo/7o9ˋތߤГw~l>B"YKYqi?fpS{0~FqB\,_ǽ; 9\*3r6~n\0)sѕȚ[7} 8Ʈjen=98]qיq`6ޘ[}U\˕iGڻ^.h^){.fF5`S6,f}%x'3mimO -O9LIOt7Szgߟ|ނ(6<4\Ԟ#]|aK+HWؐf=>-㬽E`}~{%X#.ubkH]kil@p23R -ӷ&$y23.I>C)p|1C vOk}[8y&[œٙi>g;g߻Vt5];rۉeNPjmN(ek48Iqj&oZAk% 6&{~(Wc2[f34(K .L4{@%l۠Um8ˊfn]:" -sj/BZ >;͆Ksj| 3fL(zi^и]I@UjB1yQe൜B{\1A9|W 5/n`'w20<ƌpEMG~rƫ˵X'J+es[6 Ҳ+vN sft/N>vNst70Lм#aRI{gBl yTG}{4Ki'+3t?s"]ѱ[XM90T_&ks 1gsgO3Hšq O-12@ƚZrew9nݚў寲?x+>ldJgλcSqr-С`/oϻmdhYDYUy>_L3Jm'{ -˲WPŜ<+V.w&(fsn6iS\j"!`C8 ٛlk(tJit8tH|fx<7n[EX6%W&\6"K5Q1TU^uޙfjy O8YT1]x^^" gQކ|cJ 4[>Kkq_݉yˁo9^1hn -.*C]WoB -<@ -P7itlj95{YX]B/ܳ7#XE WqYd-ﺨmDxm"E;5EҤp0`%eE$ɕ3ᙙ3j"Rλ SՀH *BS~֣zl 0(LoցƑZo m_vb"B#qH.H4T^% )R!!I d"@q@|Vs&1~8tPE]ƚAGCT7aաoeȩnf_"Q%^3Y~% Z*%0X:(:yF7zf}_lӨΖ.p亳Z|Ҫ)[Ϲr*m.OB$'yIӏ91r{,h0(ڔdS?H3RIRjَ.}HRLU(V_a”yW CE{Q P ʋO -Ib\6jk[!3 zf:c'ԍ(a-yU#C"2h Q3 -yg_^:\F6l -{Ҡ;.Erw&Q-$* 9jOR&F -%>XyZ{CҮby*ެ|+mԕ\j1tD5K?#<]qĀNgzz/cD/7YhPȹYk]@DJuOU#93er0GG8!Rsє0=\\qTHqd!g$,q(# x$$XAe?XHwIM=m^VмY#son9Z?X Giʹdzp{gBBOei|bwJ]V`H6cb-̻~+OȑvKSAE ~4`ްۛ_n|aa^]_us;]j]GPLLtH#VJ%.4U\MIu>Vxݴ:7VT8lZgO1>CeEG2$g%"b g=KBOWZ^`s$GB[M$&-A،kNQ:1 z4V>+a+s7BM)تltMgk&AzxO胵=Vj;>v M<“vZ|1L混?endstream -endobj - -25923 0 obj -<>/P 977 0 R/Type/Annot/A 25924 0 R/Subtype/Link/Rect[129.600006 613.229004 296.100006 632.908997]/Border[0 0 0]/H/N>> -endobj - -25924 0 obj -<> -endobj - -25925 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -25926 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25927 0 obj -<> -endobj - -25928 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -25929 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -25930 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -25931 0 obj -<> -stream -HWێ8}W 8j 0` 0<$@mm-ɑvoH6YFAGCY~w.12U!y&^G_6JLjuW﫱~}׍zut3*_D6*!Iq WMuYǺk7\ H}_}~+yMdiuiV? V0JƓI63O}=[HKc;\*͒3[qPd纁Qǧ_)=7qT, -ޔl2T> 9aH>0aRX(ǀ

Dp!+Tc"\c -B>,µ>,B}ZNǐE\ k9ZC>p-'\c"\c"k} Ypp!P1drµ>Dp!+Tc"\c -B>,µ>,B}ZAǐE\+kZC>p \c"\c"k} Ypp!PV1d -µ>Dp!+Tc"\c -B>,µ>,B}ZIǐE\+ k%ZC>p$\c"\c"k} Ypp!PV1dJµ>Dp!+Tc"\c -BeRSw*_D6bIgYc߽Cb86Mտ}_}DI%:>+Brz.ÔI9zID]woj^Wu68A;mImAmnlc]CKI^a4G L!=`ӵ:{ 5rގpT&rN'bOgq}=y4Mwl4:aSZΩv= #1"ļR{BV,ACm객Eذ;?kjʏYsIj%j,M".N00G,~)eg{rMLB ͬaK ȘHc#8Ԃ'y)2X R<<3f'vi\-XR\Zg4atvMf]T(e*Jhvo+{~Fϙɿ^kAAc(;0V藇ou?$nz^n&*LM1(3Κjj-;x3y|fCz3OSjNEv\ S0خǺknڡK&iF,)?G!FhkX!mMw,x=$g-UYlJ %X=_MQMVU*< ;B,S]j`-XBo\orcm]oƦ!^}"w9TXlT62ɮʡ76"-] vԸ*Ἴ9iw|ƴwa3ӂa[^9G=?}9.ER4.GMvE"ӶO\ծ6cpOc;R :(9ϳ{$,+dPȄpp-wvSX/lh7)WLs[gK,`G,0Wڭ)&4Kōc8Λ~H.NyZ&L*:*$!z]cMi .EZW.|6qGC_隆vtjݭ#cIK+^ i nbi^uC3ypnEWVRϙ8Թ?Mpv5*)At84 -f=ZРi%Dj95$@oLAB)qRMnG*}@V~44Q-;c()Y,?wFa1ҚXvq.xʥ3DŽ0yv%Q@ނJ&Y(\B1Q?ʾ\w0)%展F"(pbD}a>`"֘\$.A'$4Ķ_}˵^~ѪOgNBKp 2t,L=a |0)}h+Ovhݹu=ۺAVrD|ttvvWw{;&zyZpr43ny< zc\YAYz?U6Ցw{[ ā`;UmLL(>vz(5m?8g3 R;R>/P 1134 0 R/Type/Annot/A 25933 0 R/Subtype/Link/Rect[93.5999985 579.229004 307.487 598.908997]/Border[0 0 0]/H/N>> -endobj - -25933 0 obj -<> -endobj - -25934 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -25935 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25936 0 obj -<> -endobj - -25937 0 obj -<> -endobj - -25938 0 obj -<> -endobj - -25939 0 obj -<> -endobj - -25940 0 obj -<> -endobj - -25941 0 obj -<> -endobj - -25942 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -25943 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25944 0 obj -<> -endobj - -25945 0 obj -<> -endobj - -25946 0 obj -<> -endobj - -25947 0 obj -<> -endobj - -25948 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -25949 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -25950 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -25951 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -25952 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -25953 0 obj -<> -stream -HWnG}G -PF}_QR#HjIʉjȹu0PFUuًWo>e|⿅Х ~fƫJ*dYqzX_7~Տ7j. 6+lY`ښR9l)f/5VR VD4WcJbkp}[VeK{r7EpCqScB FpbbHQ Q@܅H6@ILKL+J+J+JkNkNIII[M[M;K;K;K{O{O}H}YA6m -I6!*eE6!*em"TEOT+ 6DJB Pjcj%؆(}ZI6PmlC>Q$TEOT+ 6@m"'jcj%ض)؆}l؆}lCT>PmlC>Q"TEOT6@m"'Ujcj(B QDPmlC>Q"TE6!`Vm"'UjcۦЄjcR PjcR Q)(B QDPmlC>Q&TE6!`Vm"'Մjc6DjB QDPml؆(}ZM6!`VmmJ6@mJ6DCBЌ6yq5 6{ϺR2)fNK4xn._:X0'D]IIK:o[p$#C)p;G] c%l6:̶~ G0 f,ykfJmpynij9mbY;u `iV^3poY03A,?lj'alh\-M(}ɌTJt dO@ak\9ACY-o<j{dɈR2Gbl6' v?{v\ojy\ׇݶ! ^ds-~E TJvjyנ0LjgNێR5<ݍqfxF ?{ZQ_#}Ja,54WE:7#Av,VC5v$hB!Q&z]a#hz~U+x3.\4AP&=ZIʃ+` fk]&VPyocqb%TRTi4]?{;ʒf4n{8.ǎMA:1  -и"'J--&8k&\iʞ+(;:2Lwn1|xTم+$Za 8T4`LCz - nV[ja[uomX?l<0ht_fqk[6R=.i D{cOoi xk\ߘN*jPN "\Qw9ZNhgSv=Vlq!jx8(+rK%nyps^p:D:ȜY Y*O2JN[D3L9EeG3<*e4닋`apnRե7)>Kkk9VzWXLidꪭgd9AIONxh\4Mf h@7RZg˹FkOT+ iga]tO \4P_9 mؼ {w^S~>f'^d?ږϢ;V;Re۲Rpy2@@w#g_feW?nr@301z@wUVu*rY{\^9ݝ*4t݂&d}epvIʷ"жe) 9W&WLLX5mdKCCu|Ξ$^@p|,>_*ZSL8NLQ^<4g9?`Wg tF0܏߭*Um12%/l4VTKh![ d|Nbb\nV\3*ٗ(IUrBKϚ9؟DSg^Ln4p,a7Ϗvs F܈,|t۽ˆH*fW-%hWڟlxV0bpxGb>ժm̉;],WqlPA2j2jDU7S:*Vy JLx@@$Ư'SMS)?mEڎFksk5֝6 -U^A~Z?.9 iojuS}y~ٚvy_m @e5>ZW9VY7דpgfɳ%bpŤDLKm䆡 -@v (P9pY'|Nl}JSpSu~6Z:~t]&{ NuÐ1vԄ rjc7EјX%Pf^K#>@[d 9N9pjB9'mj;;;aH&Xai,x*&"@~kR?u`CSEr{pPSrƖ!;͗IR9.J)Z{-fBH~?m!ֶb4~HLpBkvwvdAT5b{yzEⶌ)y8p%#ӹP - z>}E\ߟګ敨\)I*@`וX25ByD.!y$W^KH8f -\tM5O-E(nU,릩1AF0 -4˓t?]pq~Z+0m4QبM?~ss54 -endstream -endobj - -25954 0 obj -<>/P 9885 0 R/Type/Annot/A 42490 0 R/Subtype/Link/Rect[151 669 165 678]/Border[0 0 0]/H/N>> -endobj - -25955 0 obj -<>/P 9885 0 R/Type/Annot/A 26285 0 R/Subtype/Link/Rect[167 669 181 678]/Border[0 0 0]/H/N>> -endobj - -25956 0 obj -<>/P 9885 0 R/Type/Annot/A 26281 0 R/Subtype/Link/Rect[183 669 199 679]/Border[0 0 0]/H/N>> -endobj - -25957 0 obj -<>/P 9885 0 R/Type/Annot/A 26278 0 R/Subtype/Link/Rect[200 669 214 678]/Border[0 0 0]/H/N>> -endobj - -25958 0 obj -<>/P 9885 0 R/Type/Annot/A 42340 0 R/Subtype/Link/Rect[216 669 233 679]/Border[0 0 0]/H/N>> -endobj - -25959 0 obj -<>/P 9885 0 R/Type/Annot/A 42300 0 R/Subtype/Link/Rect[233 669 247 678]/Border[0 0 0]/H/N>> -endobj - -25960 0 obj -<>/P 9885 0 R/Type/Annot/A 26272 0 R/Subtype/Link/Rect[249 669 266 679]/Border[0 0 0]/H/N>> -endobj - -25961 0 obj -<>/P 9885 0 R/Type/Annot/A 42220 0 R/Subtype/Link/Rect[267 669 281 678]/Border[0 0 0]/H/N>> -endobj - -25962 0 obj -<>/P 9885 0 R/Type/Annot/A 26267 0 R/Subtype/Link/Rect[283 669 297 678]/Border[0 0 0]/H/N>> -endobj - -25963 0 obj -<>/P 9885 0 R/Type/Annot/A 26262 0 R/Subtype/Link/Rect[151 659 165 668]/Border[0 0 0]/H/N>> -endobj - -25964 0 obj -<>/P 9885 0 R/Type/Annot/A 42081 0 R/Subtype/Link/Rect[167 659 181 668]/Border[0 0 0]/H/N>> -endobj - -25965 0 obj -<>/P 9885 0 R/Type/Annot/A 26256 0 R/Subtype/Link/Rect[183 659 195 668]/Border[0 0 0]/H/N>> -endobj - -25966 0 obj -<>/P 9885 0 R/Type/Annot/A 26253 0 R/Subtype/Link/Rect[189 649 201 658]/Border[0 0 0]/H/N>> -endobj - -25967 0 obj -<>/P 9885 0 R/Type/Annot/A 26470 0 R/Subtype/Link/Rect[172 639 186 648]/Border[0 0 0]/H/N>> -endobj - -25968 0 obj -<>/P 9885 0 R/Type/Annot/A 26457 0 R/Subtype/Link/Rect[188 639 200 648]/Border[0 0 0]/H/N>> -endobj - -25969 0 obj -<>/P 9885 0 R/Type/Annot/A 26453 0 R/Subtype/Link/Rect[174 629 184 638]/Border[0 0 0]/H/N>> -endobj - -25970 0 obj -<>/P 9885 0 R/Type/Annot/A 26451 0 R/Subtype/Link/Rect[186 629 200 638]/Border[0 0 0]/H/N>> -endobj - -25971 0 obj -<>/P 9885 0 R/Type/Annot/A 41785 0 R/Subtype/Link/Rect[202 629 219 639]/Border[0 0 0]/H/N>> -endobj - -25972 0 obj -<>/P 9885 0 R/Type/Annot/A 26446 0 R/Subtype/Link/Rect[219 629 231 638]/Border[0 0 0]/H/N>> -endobj - -25973 0 obj -<>/P 9885 0 R/Type/Annot/A 26443 0 R/Subtype/Link/Rect[211 619 228 629]/Border[0 0 0]/H/N>> -endobj - -25974 0 obj -<>/P 9885 0 R/Type/Annot/A 41645 0 R/Subtype/Link/Rect[229 619 241 628]/Border[0 0 0]/H/N>> -endobj - -25975 0 obj -<>/P 9885 0 R/Type/Annot/A 26438 0 R/Subtype/Link/Rect[241 609 255 618]/Border[0 0 0]/H/N>> -endobj - -25976 0 obj -<>/P 9885 0 R/Type/Annot/A 26436 0 R/Subtype/Link/Rect[257 609 269 618]/Border[0 0 0]/H/N>> -endobj - -25977 0 obj -<>/P 9885 0 R/Type/Annot/A 41509 0 R/Subtype/Link/Rect[224 599 232 608]/Border[0 0 0]/H/N>> -endobj - -25978 0 obj -<>/P 9885 0 R/Type/Annot/A 26432 0 R/Subtype/Link/Rect[199 589 216 599]/Border[0 0 0]/H/N>> -endobj - -25979 0 obj -<>/P 9885 0 R/Type/Annot/A 41436 0 R/Subtype/Link/Rect[216 589 228 598]/Border[0 0 0]/H/N>> -endobj - -25980 0 obj -<>/P 9885 0 R/Type/Annot/A 26429 0 R/Subtype/Link/Rect[211 579 225 588]/Border[0 0 0]/H/N>> -endobj - -25981 0 obj -<>/P 9885 0 R/Type/Annot/A 26426 0 R/Subtype/Link/Rect[227 579 239 588]/Border[0 0 0]/H/N>> -endobj - -25982 0 obj -<>/P 9885 0 R/Type/Annot/A 37646 0 R/Subtype/Link/Rect[189 569 201 578]/Border[0 0 0]/H/N>> -endobj - -25983 0 obj -<>/P 9885 0 R/Type/Annot/A 26423 0 R/Subtype/Link/Rect[197 559 211 568]/Border[0 0 0]/H/N>> -endobj - -25984 0 obj -<>/P 9885 0 R/Type/Annot/A 41259 0 R/Subtype/Link/Rect[213 559 227 568]/Border[0 0 0]/H/N>> -endobj - -25985 0 obj -<>/P 9885 0 R/Type/Annot/A 26418 0 R/Subtype/Link/Rect[229 559 245 569]/Border[0 0 0]/H/N>> -endobj - -25986 0 obj -<>/P 9885 0 R/Type/Annot/A 26415 0 R/Subtype/Link/Rect[246 559 260 568]/Border[0 0 0]/H/N>> -endobj - -25987 0 obj -<>/P 9885 0 R/Type/Annot/A 26412 0 R/Subtype/Link/Rect[262 559 274 568]/Border[0 0 0]/H/N>> -endobj - -25988 0 obj -<>/P 9885 0 R/Type/Annot/A 41127 0 R/Subtype/Link/Rect[189 549 201 558]/Border[0 0 0]/H/N>> -endobj - -25989 0 obj -<>/P 9885 0 R/Type/Annot/A 41096 0 R/Subtype/Link/Rect[221 539 233 548]/Border[0 0 0]/H/N>> -endobj - -25990 0 obj -<>/P 9885 0 R/Type/Annot/A 26404 0 R/Subtype/Link/Rect[189 529 201 538]/Border[0 0 0]/H/N>> -endobj - -25991 0 obj -<>/P 9885 0 R/Type/Annot/A 26402 0 R/Subtype/Link/Rect[216 519 228 528]/Border[0 0 0]/H/N>> -endobj - -25992 0 obj -<>/P 9885 0 R/Type/Annot/A 26399 0 R/Subtype/Link/Rect[197 509 213 519]/Border[0 0 0]/H/N>> -endobj - -25993 0 obj -<>/P 9885 0 R/Type/Annot/A 26396 0 R/Subtype/Link/Rect[214 509 228 518]/Border[0 0 0]/H/N>> -endobj - -25994 0 obj -<>/P 9885 0 R/Type/Annot/A 26394 0 R/Subtype/Link/Rect[230 509 247 519]/Border[0 0 0]/H/N>> -endobj - -25995 0 obj -<>/P 9885 0 R/Type/Annot/A 26391 0 R/Subtype/Link/Rect[247 509 259 518]/Border[0 0 0]/H/N>> -endobj - -25996 0 obj -<>/P 9885 0 R/Type/Annot/A 39525 0 R/Subtype/Link/Rect[189 499 201 508]/Border[0 0 0]/H/N>> -endobj - -25997 0 obj -<>/P 9885 0 R/Type/Annot/A 37610 0 R/Subtype/Link/Rect[226 489 238 498]/Border[0 0 0]/H/N>> -endobj - -25998 0 obj -<>/P 9885 0 R/Type/Annot/A 26386 0 R/Subtype/Link/Rect[189 479 201 488]/Border[0 0 0]/H/N>> -endobj - -25999 0 obj -<>/P 9885 0 R/Type/Annot/A 38923 0 R/Subtype/Link/Rect[208 469 225 479]/Border[0 0 0]/H/N>> -endobj - -26000 0 obj -<>/P 9885 0 R/Type/Annot/A 26381 0 R/Subtype/Link/Rect[226 469 238 478]/Border[0 0 0]/H/N>> -endobj - -26001 0 obj -<>/P 9885 0 R/Type/Annot/A 26379 0 R/Subtype/Link/Rect[206 459 218 468]/Border[0 0 0]/H/N>> -endobj - -26002 0 obj -<>/P 9885 0 R/Type/Annot/A 26377 0 R/Subtype/Link/Rect[189 449 201 458]/Border[0 0 0]/H/N>> -endobj - -26003 0 obj -<>/P 9885 0 R/Type/Annot/A 38274 0 R/Subtype/Link/Rect[231 439 241 448]/Border[0 0 0]/H/N>> -endobj - -26004 0 obj -<>/P 9885 0 R/Type/Annot/A 26371 0 R/Subtype/Link/Rect[243 439 251 448]/Border[0 0 0]/H/N>> -endobj - -26005 0 obj -<>/P 9885 0 R/Type/Annot/A 26369 0 R/Subtype/Link/Rect[192 429 206 438]/Border[0 0 0]/H/N>> -endobj - -26006 0 obj -<>/P 9885 0 R/Type/Annot/A 36762 0 R/Subtype/Link/Rect[208 429 222 438]/Border[0 0 0]/H/N>> -endobj - -26007 0 obj -<>/P 9885 0 R/Type/Annot/A 26365 0 R/Subtype/Link/Rect[224 429 241 439]/Border[0 0 0]/H/N>> -endobj - -26008 0 obj -<>/P 9885 0 R/Type/Annot/A 36686 0 R/Subtype/Link/Rect[241 429 253 438]/Border[0 0 0]/H/N>> -endobj - -26009 0 obj -<>/P 9885 0 R/Type/Annot/A 26360 0 R/Subtype/Link/Rect[189 419 201 428]/Border[0 0 0]/H/N>> -endobj - -26010 0 obj -<>/P 9885 0 R/Type/Annot/A 26358 0 R/Subtype/Link/Rect[206 409 223 419]/Border[0 0 0]/H/N>> -endobj - -26011 0 obj -<>/P 9885 0 R/Type/Annot/A 26355 0 R/Subtype/Link/Rect[224 409 238 418]/Border[0 0 0]/H/N>> -endobj - -26012 0 obj -<>/P 9885 0 R/Type/Annot/A 26352 0 R/Subtype/Link/Rect[240 409 254 418]/Border[0 0 0]/H/N>> -endobj - -26013 0 obj -<>/P 9885 0 R/Type/Annot/A 26349 0 R/Subtype/Link/Rect[256 409 268 418]/Border[0 0 0]/H/N>> -endobj - -26014 0 obj -<>/P 9885 0 R/Type/Annot/A 26347 0 R/Subtype/Link/Rect[189 399 201 408]/Border[0 0 0]/H/N>> -endobj - -26015 0 obj -<>/P 9885 0 R/Type/Annot/A 26344 0 R/Subtype/Link/Rect[206 389 220 398]/Border[0 0 0]/H/N>> -endobj - -26016 0 obj -<>/P 9885 0 R/Type/Annot/A 26341 0 R/Subtype/Link/Rect[222 389 239 399]/Border[0 0 0]/H/N>> -endobj - -26017 0 obj -<>/P 9885 0 R/Type/Annot/A 33599 0 R/Subtype/Link/Rect[240 389 254 398]/Border[0 0 0]/H/N>> -endobj - -26018 0 obj -<>/P 9885 0 R/Type/Annot/A 26336 0 R/Subtype/Link/Rect[256 389 268 398]/Border[0 0 0]/H/N>> -endobj - -26019 0 obj -<>/P 9885 0 R/Type/Annot/A 26333 0 R/Subtype/Link/Rect[189 379 201 388]/Border[0 0 0]/H/N>> -endobj - -26020 0 obj -<>/P 9885 0 R/Type/Annot/A 32543 0 R/Subtype/Link/Rect[194 369 206 378]/Border[0 0 0]/H/N>> -endobj - -26021 0 obj -<>/P 9885 0 R/Type/Annot/A 26327 0 R/Subtype/Link/Rect[230 359 244 368]/Border[0 0 0]/H/N>> -endobj - -26022 0 obj -<>/P 9885 0 R/Type/Annot/A 31825 0 R/Subtype/Link/Rect[246 359 263 369]/Border[0 0 0]/H/N>> -endobj - -26023 0 obj -<>/P 9885 0 R/Type/Annot/A 26322 0 R/Subtype/Link/Rect[264 359 276 368]/Border[0 0 0]/H/N>> -endobj - -26024 0 obj -<>/P 9885 0 R/Type/Annot/A 26319 0 R/Subtype/Link/Rect[189 349 201 358]/Border[0 0 0]/H/N>> -endobj - -26025 0 obj -<>/P 9885 0 R/Type/Annot/A 26317 0 R/Subtype/Link/Rect[221 339 235 348]/Border[0 0 0]/H/N>> -endobj - -26026 0 obj -<>/P 9885 0 R/Type/Annot/A 26315 0 R/Subtype/Link/Rect[237 339 249 348]/Border[0 0 0]/H/N>> -endobj - -26027 0 obj -<>/P 9885 0 R/Type/Annot/A 26312 0 R/Subtype/Link/Rect[183 329 200 339]/Border[0 0 0]/H/N>> -endobj - -26028 0 obj -<>/P 9885 0 R/Type/Annot/A 26309 0 R/Subtype/Link/Rect[200 329 212 338]/Border[0 0 0]/H/N>> -endobj - -26029 0 obj -<>/P 9885 0 R/Type/Annot/A 26307 0 R/Subtype/Link/Rect[207 319 223 329]/Border[0 0 0]/H/N>> -endobj - -26030 0 obj -<>/P 9885 0 R/Type/Annot/A 26304 0 R/Subtype/Link/Rect[224 319 238 328]/Border[0 0 0]/H/N>> -endobj - -26031 0 obj -<>/P 9885 0 R/Type/Annot/A 26301 0 R/Subtype/Link/Rect[240 319 254 328]/Border[0 0 0]/H/N>> -endobj - -26032 0 obj -<>/P 9885 0 R/Type/Annot/A 30065 0 R/Subtype/Link/Rect[256 319 268 328]/Border[0 0 0]/H/N>> -endobj - -26033 0 obj -<>/P 9885 0 R/Type/Annot/A 29317 0 R/Subtype/Link/Rect[216 309 233 319]/Border[0 0 0]/H/N>> -endobj - -26034 0 obj -<>/P 9885 0 R/Type/Annot/A 26294 0 R/Subtype/Link/Rect[233 309 247 318]/Border[0 0 0]/H/N>> -endobj - -26035 0 obj -<>/P 9885 0 R/Type/Annot/A 26292 0 R/Subtype/Link/Rect[249 309 261 318]/Border[0 0 0]/H/N>> -endobj - -26036 0 obj -<>/P 9885 0 R/Type/Annot/A 26289 0 R/Subtype/Link/Rect[189 299 201 308]/Border[0 0 0]/H/N>> -endobj - -26037 0 obj -<>/P 9885 0 R/Type/Annot/A 26286 0 R/Subtype/Link/Rect[231 289 241 298]/Border[0 0 0]/H/N>> -endobj - -26038 0 obj -<>/P 9885 0 R/Type/Annot/A 26282 0 R/Subtype/Link/Rect[243 289 253 298]/Border[0 0 0]/H/N>> -endobj - -26039 0 obj -<>/P 9885 0 R/Type/Annot/A 26279 0 R/Subtype/Link/Rect[255 289 267 298]/Border[0 0 0]/H/N>> -endobj - -26040 0 obj -<>/P 9885 0 R/Type/Annot/A 26276 0 R/Subtype/Link/Rect[206 279 220 288]/Border[0 0 0]/H/N>> -endobj - -26041 0 obj -<>/P 9885 0 R/Type/Annot/A 26274 0 R/Subtype/Link/Rect[222 279 239 289]/Border[0 0 0]/H/N>> -endobj - -26042 0 obj -<>/P 9885 0 R/Type/Annot/A 28497 0 R/Subtype/Link/Rect[240 279 254 288]/Border[0 0 0]/H/N>> -endobj - -26043 0 obj -<>/P 9885 0 R/Type/Annot/A 28449 0 R/Subtype/Link/Rect[256 279 268 288]/Border[0 0 0]/H/N>> -endobj - -26044 0 obj -<>/P 9885 0 R/Type/Annot/A 26268 0 R/Subtype/Link/Rect[189 269 201 278]/Border[0 0 0]/H/N>> -endobj - -26045 0 obj -<>/P 9885 0 R/Type/Annot/A 26264 0 R/Subtype/Link/Rect[187 259 201 268]/Border[0 0 0]/H/N>> -endobj - -26046 0 obj -<>/P 9885 0 R/Type/Annot/A 26260 0 R/Subtype/Link/Rect[203 259 217 268]/Border[0 0 0]/H/N>> -endobj - -26047 0 obj -<>/P 9885 0 R/Type/Annot/A 27594 0 R/Subtype/Link/Rect[219 259 233 268]/Border[0 0 0]/H/N>> -endobj - -26048 0 obj -<>/P 9885 0 R/Type/Annot/A 26254 0 R/Subtype/Link/Rect[235 259 249 268]/Border[0 0 0]/H/N>> -endobj - -26049 0 obj -<>/P 9885 0 R/Type/Annot/A 26251 0 R/Subtype/Link/Rect[251 259 265 268]/Border[0 0 0]/H/N>> -endobj - -26050 0 obj -<>/P 9885 0 R/Type/Annot/A 26249 0 R/Subtype/Link/Rect[267 259 284 269]/Border[0 0 0]/H/N>> -endobj - -26051 0 obj -<>/P 9885 0 R/Type/Annot/A 26247 0 R/Subtype/Link/Rect[285 259 297 268]/Border[0 0 0]/H/N>> -endobj - -26052 0 obj -<>/P 9885 0 R/Type/Annot/A 26245 0 R/Subtype/Link/Rect[189 249 201 258]/Border[0 0 0]/H/N>> -endobj - -26053 0 obj -<>/P 9885 0 R/Type/Annot/A 26458 0 R/Subtype/Link/Rect[206 239 223 249]/Border[0 0 0]/H/N>> -endobj - -26054 0 obj -<>/P 9885 0 R/Type/Annot/A 26454 0 R/Subtype/Link/Rect[224 239 238 248]/Border[0 0 0]/H/N>> -endobj - -26055 0 obj -<>/P 9885 0 R/Type/Annot/A 26452 0 R/Subtype/Link/Rect[240 239 254 248]/Border[0 0 0]/H/N>> -endobj - -26056 0 obj -<>/P 9885 0 R/Type/Annot/A 26449 0 R/Subtype/Link/Rect[256 239 272 249]/Border[0 0 0]/H/N>> -endobj - -26057 0 obj -<>/P 9885 0 R/Type/Annot/A 26447 0 R/Subtype/Link/Rect[273 239 287 248]/Border[0 0 0]/H/N>> -endobj - -26058 0 obj -<>/P 9885 0 R/Type/Annot/A 26444 0 R/Subtype/Link/Rect[151 229 167 239]/Border[0 0 0]/H/N>> -endobj - -26059 0 obj -<>/P 9885 0 R/Type/Annot/A 26441 0 R/Subtype/Link/Rect[168 229 182 238]/Border[0 0 0]/H/N>> -endobj - -26060 0 obj -<>/P 9885 0 R/Type/Annot/A 26439 0 R/Subtype/Link/Rect[184 229 196 238]/Border[0 0 0]/H/N>> -endobj - -26061 0 obj -<>/P 9885 0 R/Type/Annot/A 26437 0 R/Subtype/Link/Rect[189 219 203 228]/Border[0 0 0]/H/N>> -endobj - -26062 0 obj -<>/P 9885 0 R/Type/Annot/A 26435 0 R/Subtype/Link/Rect[205 219 217 228]/Border[0 0 0]/H/N>> -endobj - -26063 0 obj -<>/P 9885 0 R/Type/Annot/A 26433 0 R/Subtype/Link/Rect[202 209 218 219]/Border[0 0 0]/H/N>> -endobj - -26064 0 obj -<>/P 9885 0 R/Type/Annot/A 26431 0 R/Subtype/Link/Rect[219 209 233 218]/Border[0 0 0]/H/N>> -endobj - -26065 0 obj -<>/P 9885 0 R/Type/Annot/A 26430 0 R/Subtype/Link/Rect[235 209 249 218]/Border[0 0 0]/H/N>> -endobj - -26066 0 obj -<>/P 9885 0 R/Type/Annot/A 26428 0 R/Subtype/Link/Rect[251 209 265 218]/Border[0 0 0]/H/N>> -endobj - -26067 0 obj -<>/P 9885 0 R/Type/Annot/A 26425 0 R/Subtype/Link/Rect[267 209 284 219]/Border[0 0 0]/H/N>> -endobj - -26068 0 obj -<>/P 9885 0 R/Type/Annot/A 26424 0 R/Subtype/Link/Rect[284 209 298 218]/Border[0 0 0]/H/N>> -endobj - -26069 0 obj -<>/P 9885 0 R/Type/Annot/A 26422 0 R/Subtype/Link/Rect[151 199 165 208]/Border[0 0 0]/H/N>> -endobj - -26070 0 obj -<>/P 9885 0 R/Type/Annot/A 26420 0 R/Subtype/Link/Rect[167 199 179 208]/Border[0 0 0]/H/N>> -endobj - -26071 0 obj -<>/P 9885 0 R/Type/Annot/A 26417 0 R/Subtype/Link/Rect[189 189 203 198]/Border[0 0 0]/H/N>> -endobj - -26072 0 obj -<>/P 9885 0 R/Type/Annot/A 26414 0 R/Subtype/Link/Rect[205 189 219 198]/Border[0 0 0]/H/N>> -endobj - -26073 0 obj -<>/P 9885 0 R/Type/Annot/A 26411 0 R/Subtype/Link/Rect[221 189 233 198]/Border[0 0 0]/H/N>> -endobj - -26074 0 obj -<>/P 9885 0 R/Type/Annot/A 26409 0 R/Subtype/Link/Rect[202 179 216 188]/Border[0 0 0]/H/N>> -endobj - -26075 0 obj -<>/P 9885 0 R/Type/Annot/A 26407 0 R/Subtype/Link/Rect[218 179 232 188]/Border[0 0 0]/H/N>> -endobj - -26076 0 obj -<>/P 9885 0 R/Type/Annot/A 26403 0 R/Subtype/Link/Rect[234 179 247 188]/Border[0 0 0]/H/N>> -endobj - -26077 0 obj -<>/P 9885 0 R/Type/Annot/A 26401 0 R/Subtype/Link/Rect[249 179 263 188]/Border[0 0 0]/H/N>> -endobj - -26078 0 obj -<>/P 9885 0 R/Type/Annot/A 26398 0 R/Subtype/Link/Rect[265 179 282 189]/Border[0 0 0]/H/N>> -endobj - -26079 0 obj -<>/P 9885 0 R/Type/Annot/A 26395 0 R/Subtype/Link/Rect[282 179 296 188]/Border[0 0 0]/H/N>> -endobj - -26080 0 obj -<>/P 9885 0 R/Type/Annot/A 26393 0 R/Subtype/Link/Rect[151 169 165 178]/Border[0 0 0]/H/N>> -endobj - -26081 0 obj -<>/P 9885 0 R/Type/Annot/A 26390 0 R/Subtype/Link/Rect[167 169 179 178]/Border[0 0 0]/H/N>> -endobj - -26082 0 obj -<>/P 9885 0 R/Type/Annot/A 26389 0 R/Subtype/Link/Rect[189 159 201 168]/Border[0 0 0]/H/N>> -endobj - -26083 0 obj -<>/P 9885 0 R/Type/Annot/A 26387 0 R/Subtype/Link/Rect[197 149 211 158]/Border[0 0 0]/H/N>> -endobj - -26084 0 obj -<>/P 9885 0 R/Type/Annot/A 26385 0 R/Subtype/Link/Rect[213 149 227 158]/Border[0 0 0]/H/N>> -endobj - -26085 0 obj -<>/P 9885 0 R/Type/Annot/A 26383 0 R/Subtype/Link/Rect[229 149 245 159]/Border[0 0 0]/H/N>> -endobj - -26086 0 obj -<>/P 9885 0 R/Type/Annot/A 26382 0 R/Subtype/Link/Rect[246 149 260 158]/Border[0 0 0]/H/N>> -endobj - -26087 0 obj -<>/P 9885 0 R/Type/Annot/A 26380 0 R/Subtype/Link/Rect[262 149 276 158]/Border[0 0 0]/H/N>> -endobj - -26088 0 obj -<>/P 9885 0 R/Type/Annot/A 26378 0 R/Subtype/Link/Rect[278 149 294 159]/Border[0 0 0]/H/N>> -endobj - -26089 0 obj -<>/P 9885 0 R/Type/Annot/A 26376 0 R/Subtype/Link/Rect[295 149 307 158]/Border[0 0 0]/H/N>> -endobj - -26090 0 obj -<>/P 9885 0 R/Type/Annot/A 26373 0 R/Subtype/Link/Rect[397 669 409 678]/Border[0 0 0]/H/N>> -endobj - -26091 0 obj -<>/P 9885 0 R/Type/Annot/A 26370 0 R/Subtype/Link/Rect[410 659 422 668]/Border[0 0 0]/H/N>> -endobj - -26092 0 obj -<>/P 9885 0 R/Type/Annot/A 26368 0 R/Subtype/Link/Rect[429 649 445 659]/Border[0 0 0]/H/N>> -endobj - -26093 0 obj -<>/P 9885 0 R/Type/Annot/A 26366 0 R/Subtype/Link/Rect[446 649 460 658]/Border[0 0 0]/H/N>> -endobj - -26094 0 obj -<>/P 9885 0 R/Type/Annot/A 26363 0 R/Subtype/Link/Rect[462 649 476 658]/Border[0 0 0]/H/N>> -endobj - -26095 0 obj -<>/P 9885 0 R/Type/Annot/A 26361 0 R/Subtype/Link/Rect[478 649 492 658]/Border[0 0 0]/H/N>> -endobj - -26096 0 obj -<>/P 9885 0 R/Type/Annot/A 26359 0 R/Subtype/Link/Rect[494 649 508 658]/Border[0 0 0]/H/N>> -endobj - -26097 0 obj -<>/P 9885 0 R/Type/Annot/A 26356 0 R/Subtype/Link/Rect[359 639 373 648]/Border[0 0 0]/H/N>> -endobj - -26098 0 obj -<>/P 9885 0 R/Type/Annot/A 26353 0 R/Subtype/Link/Rect[375 639 391 649]/Border[0 0 0]/H/N>> -endobj - -26099 0 obj -<>/P 9885 0 R/Type/Annot/A 26350 0 R/Subtype/Link/Rect[392 639 406 648]/Border[0 0 0]/H/N>> -endobj - -26100 0 obj -<>/P 9885 0 R/Type/Annot/A 26348 0 R/Subtype/Link/Rect[408 639 420 648]/Border[0 0 0]/H/N>> -endobj - -26101 0 obj -<>/P 9885 0 R/Type/Annot/A 26345 0 R/Subtype/Link/Rect[397 629 411 638]/Border[0 0 0]/H/N>> -endobj - -26102 0 obj -<>/P 9885 0 R/Type/Annot/A 26342 0 R/Subtype/Link/Rect[413 629 425 638]/Border[0 0 0]/H/N>> -endobj - -26103 0 obj -<>/P 9885 0 R/Type/Annot/A 26339 0 R/Subtype/Link/Rect[412 619 424 628]/Border[0 0 0]/H/N>> -endobj - -26104 0 obj -<>/P 9885 0 R/Type/Annot/A 26337 0 R/Subtype/Link/Rect[429 589 445 599]/Border[0 0 0]/H/N>> -endobj - -26105 0 obj -<>/P 9885 0 R/Type/Annot/A 26334 0 R/Subtype/Link/Rect[446 589 460 598]/Border[0 0 0]/H/N>> -endobj - -26106 0 obj -<>/P 9885 0 R/Type/Annot/A 26332 0 R/Subtype/Link/Rect[462 589 476 598]/Border[0 0 0]/H/N>> -endobj - -26107 0 obj -<>/P 9885 0 R/Type/Annot/A 26329 0 R/Subtype/Link/Rect[478 589 495 599]/Border[0 0 0]/H/N>> -endobj - -26108 0 obj -<>/P 9885 0 R/Type/Annot/A 26326 0 R/Subtype/Link/Rect[495 589 509 598]/Border[0 0 0]/H/N>> -endobj - -26109 0 obj -<>/P 9885 0 R/Type/Annot/A 26325 0 R/Subtype/Link/Rect[359 579 373 588]/Border[0 0 0]/H/N>> -endobj - -26110 0 obj -<>/P 9885 0 R/Type/Annot/A 26321 0 R/Subtype/Link/Rect[375 579 389 588]/Border[0 0 0]/H/N>> -endobj - -26111 0 obj -<>/P 9885 0 R/Type/Annot/A 26318 0 R/Subtype/Link/Rect[391 579 403 588]/Border[0 0 0]/H/N>> -endobj - -26112 0 obj -<>/P 9885 0 R/Type/Annot/A 26316 0 R/Subtype/Link/Rect[397 569 414 579]/Border[0 0 0]/H/N>> -endobj - -26113 0 obj -<>/P 9885 0 R/Type/Annot/A 26314 0 R/Subtype/Link/Rect[415 569 427 578]/Border[0 0 0]/H/N>> -endobj - -26114 0 obj -<>/P 9885 0 R/Type/Annot/A 26311 0 R/Subtype/Link/Rect[368 559 385 569]/Border[0 0 0]/H/N>> -endobj - -26115 0 obj -<>/P 9885 0 R/Type/Annot/A 26308 0 R/Subtype/Link/Rect[386 559 398 568]/Border[0 0 0]/H/N>> -endobj - -26116 0 obj -<>/P 9885 0 R/Type/Annot/A 26306 0 R/Subtype/Link/Rect[363 549 377 558]/Border[0 0 0]/H/N>> -endobj - -26117 0 obj -<>/P 9885 0 R/Type/Annot/A 26303 0 R/Subtype/Link/Rect[379 549 393 558]/Border[0 0 0]/H/N>> -endobj - -26118 0 obj -<>/P 9885 0 R/Type/Annot/A 26266 0 R/Subtype/Link/Rect[395 549 409 558]/Border[0 0 0]/H/N>> -endobj - -26119 0 obj -<>/P 9885 0 R/Type/Annot/A 26299 0 R/Subtype/Link/Rect[411 549 424 558]/Border[0 0 0]/H/N>> -endobj - -26120 0 obj -<>/P 9885 0 R/Type/Annot/A 26297 0 R/Subtype/Link/Rect[426 549 443 559]/Border[0 0 0]/H/N>> -endobj - -26121 0 obj -<>/P 9885 0 R/Type/Annot/A 26295 0 R/Subtype/Link/Rect[444 549 456 558]/Border[0 0 0]/H/N>> -endobj - -26122 0 obj -<>/P 9885 0 R/Type/Annot/A 26293 0 R/Subtype/Link/Rect[375 539 392 549]/Border[0 0 0]/H/N>> -endobj - -26123 0 obj -<>/P 9885 0 R/Type/Annot/A 26291 0 R/Subtype/Link/Rect[393 539 407 548]/Border[0 0 0]/H/N>> -endobj - -26124 0 obj -<>/P 9885 0 R/Type/Annot/A 26288 0 R/Subtype/Link/Rect[409 539 422 548]/Border[0 0 0]/H/N>> -endobj - -26125 0 obj -<>/P 9885 0 R/Type/Annot/A 26284 0 R/Subtype/Link/Rect[424 539 438 548]/Border[0 0 0]/H/N>> -endobj - -26126 0 obj -<>/P 9885 0 R/Type/Annot/A 26280 0 R/Subtype/Link/Rect[440 539 457 549]/Border[0 0 0]/H/N>> -endobj - -26127 0 obj -<>/P 9885 0 R/Type/Annot/A 26277 0 R/Subtype/Link/Rect[457 539 471 548]/Border[0 0 0]/H/N>> -endobj - -26128 0 obj -<>/P 9885 0 R/Type/Annot/A 26275 0 R/Subtype/Link/Rect[473 539 487 548]/Border[0 0 0]/H/N>> -endobj - -26129 0 obj -<>/P 9885 0 R/Type/Annot/A 26273 0 R/Subtype/Link/Rect[359 529 375 539]/Border[0 0 0]/H/N>> -endobj - -26130 0 obj -<>/P 9885 0 R/Type/Annot/A 26271 0 R/Subtype/Link/Rect[376 529 390 538]/Border[0 0 0]/H/N>> -endobj - -26131 0 obj -<>/P 9885 0 R/Type/Annot/A 26269 0 R/Subtype/Link/Rect[392 529 406 538]/Border[0 0 0]/H/N>> -endobj - -26132 0 obj -<>/P 9885 0 R/Type/Annot/A 26265 0 R/Subtype/Link/Rect[408 529 420 538]/Border[0 0 0]/H/N>> -endobj - -26133 0 obj -<>/P 9885 0 R/Type/Annot/A 26261 0 R/Subtype/Link/Rect[414 519 426 528]/Border[0 0 0]/H/N>> -endobj - -26134 0 obj -<>/P 9885 0 R/Type/Annot/A 26258 0 R/Subtype/Link/Rect[412 509 428 519]/Border[0 0 0]/H/N>> -endobj - -26135 0 obj -<>/P 9885 0 R/Type/Annot/A 26255 0 R/Subtype/Link/Rect[429 509 443 518]/Border[0 0 0]/H/N>> -endobj - -26136 0 obj -<>/P 9885 0 R/Type/Annot/A 26252 0 R/Subtype/Link/Rect[445 509 459 518]/Border[0 0 0]/H/N>> -endobj - -26137 0 obj -<>/P 9885 0 R/Type/Annot/A 26250 0 R/Subtype/Link/Rect[461 509 473 518]/Border[0 0 0]/H/N>> -endobj - -26138 0 obj -<>/P 9885 0 R/Type/Annot/A 26248 0 R/Subtype/Link/Rect[389 489 403 498]/Border[0 0 0]/H/N>> -endobj - -26139 0 obj -<>/P 9885 0 R/Type/Annot/A 26246 0 R/Subtype/Link/Rect[405 489 419 498]/Border[0 0 0]/H/N>> -endobj - -26140 0 obj -<>/P 9885 0 R/Type/Annot/A 26244 0 R/Subtype/Link/Rect[421 489 435 498]/Border[0 0 0]/H/N>> -endobj - -26141 0 obj -<>/P 9885 0 R/Type/Annot/A 26243 0 R/Subtype/Link/Rect[437 489 449 498]/Border[0 0 0]/H/N>> -endobj - -26142 0 obj -<>/P 9885 0 R/Type/Annot/A 26241 0 R/Subtype/Link/Rect[375 479 389 488]/Border[0 0 0]/H/N>> -endobj - -26143 0 obj -<>/P 9885 0 R/Type/Annot/A 26239 0 R/Subtype/Link/Rect[391 479 408 489]/Border[0 0 0]/H/N>> -endobj - -26144 0 obj -<>/P 9885 0 R/Type/Annot/A 26237 0 R/Subtype/Link/Rect[408 479 422 488]/Border[0 0 0]/H/N>> -endobj - -26145 0 obj -<>/P 9885 0 R/Type/Annot/A 26235 0 R/Subtype/Link/Rect[424 479 438 488]/Border[0 0 0]/H/N>> -endobj - -26146 0 obj -<>/P 9885 0 R/Type/Annot/A 26413 0 R/Subtype/Link/Rect[440 479 452 488]/Border[0 0 0]/H/N>> -endobj - -26147 0 obj -<>/P 9885 0 R/Type/Annot/A 26410 0 R/Subtype/Link/Rect[405 469 419 478]/Border[0 0 0]/H/N>> -endobj - -26148 0 obj -<>/P 9885 0 R/Type/Annot/A 26408 0 R/Subtype/Link/Rect[421 469 433 478]/Border[0 0 0]/H/N>> -endobj - -26149 0 obj -<>/P 9885 0 R/Type/Annot/A 26406 0 R/Subtype/Link/Rect[462 459 474 468]/Border[0 0 0]/H/N>> -endobj - -26150 0 obj -<>/P 9885 0 R/Type/Annot/A 44677 0 R/Subtype/Link/Rect[405 449 421 459]/Border[0 0 0]/H/N>> -endobj - -26151 0 obj -<>/P 9885 0 R/Type/Annot/A 26400 0 R/Subtype/Link/Rect[422 449 436 458]/Border[0 0 0]/H/N>> -endobj - -26152 0 obj -<>/P 9885 0 R/Type/Annot/A 26397 0 R/Subtype/Link/Rect[438 449 452 458]/Border[0 0 0]/H/N>> -endobj - -26153 0 obj -<>/P 9885 0 R/Type/Annot/A 44568 0 R/Subtype/Link/Rect[454 449 468 458]/Border[0 0 0]/H/N>> -endobj - -26154 0 obj -<>/P 9885 0 R/Type/Annot/A 26392 0 R/Subtype/Link/Rect[470 449 484 458]/Border[0 0 0]/H/N>> -endobj - -26155 0 obj -<>/P 9885 0 R/Type/Annot/A 44500 0 R/Subtype/Link/Rect[486 449 503 459]/Border[0 0 0]/H/N>> -endobj - -26156 0 obj -<>/P 9885 0 R/Type/Annot/A 26388 0 R/Subtype/Link/Rect[503 449 517 458]/Border[0 0 0]/H/N>> -endobj - -26157 0 obj -<>/P 9885 0 R/Type/Annot/A 44418 0 R/Subtype/Link/Rect[359 439 373 448]/Border[0 0 0]/H/N>> -endobj - -26158 0 obj -<>/P 9885 0 R/Type/Annot/A 26384 0 R/Subtype/Link/Rect[375 439 387 448]/Border[0 0 0]/H/N>> -endobj - -26159 0 obj -<>/P 9885 0 R/Type/Annot/A 44347 0 R/Subtype/Link/Rect[397 429 409 438]/Border[0 0 0]/H/N>> -endobj - -26160 0 obj -<>/P 9885 0 R/Type/Annot/A 44325 0 R/Subtype/Link/Rect[429 419 443 428]/Border[0 0 0]/H/N>> -endobj - -26161 0 obj -<>/P 9885 0 R/Type/Annot/A 26330 0 R/Subtype/Link/Rect[445 419 459 428]/Border[0 0 0]/H/N>> -endobj - -26162 0 obj -<>/P 9885 0 R/Type/Annot/A 26375 0 R/Subtype/Link/Rect[461 419 475 428]/Border[0 0 0]/H/N>> -endobj - -26163 0 obj -<>/P 9885 0 R/Type/Annot/A 26372 0 R/Subtype/Link/Rect[477 419 489 428]/Border[0 0 0]/H/N>> -endobj - -26164 0 obj -<>/P 9885 0 R/Type/Annot/A 26323 0 R/Subtype/Link/Rect[397 409 409 418]/Border[0 0 0]/H/N>> -endobj - -26165 0 obj -<>/P 9885 0 R/Type/Annot/A 26367 0 R/Subtype/Link/Rect[410 399 422 408]/Border[0 0 0]/H/N>> -endobj - -26166 0 obj -<>/P 9885 0 R/Type/Annot/A 26364 0 R/Subtype/Link/Rect[397 389 409 398]/Border[0 0 0]/H/N>> -endobj - -26167 0 obj -<>/P 9885 0 R/Type/Annot/A 26362 0 R/Subtype/Link/Rect[405 379 419 388]/Border[0 0 0]/H/N>> -endobj - -26168 0 obj -<>/P 9885 0 R/Type/Annot/A 36840 0 R/Subtype/Link/Rect[421 379 435 388]/Border[0 0 0]/H/N>> -endobj - -26169 0 obj -<>/P 9885 0 R/Type/Annot/A 26357 0 R/Subtype/Link/Rect[437 379 449 388]/Border[0 0 0]/H/N>> -endobj - -26170 0 obj -<>/P 9885 0 R/Type/Annot/A 26354 0 R/Subtype/Link/Rect[397 369 409 378]/Border[0 0 0]/H/N>> -endobj - -26171 0 obj -<>/P 9885 0 R/Type/Annot/A 26351 0 R/Subtype/Link/Rect[410 359 426 369]/Border[0 0 0]/H/N>> -endobj - -26172 0 obj -<>/P 9885 0 R/Type/Annot/A 36681 0 R/Subtype/Link/Rect[427 359 439 368]/Border[0 0 0]/H/N>> -endobj - -26173 0 obj -<>/P 9885 0 R/Type/Annot/A 26346 0 R/Subtype/Link/Rect[397 349 409 358]/Border[0 0 0]/H/N>> -endobj - -26174 0 obj -<>/P 9885 0 R/Type/Annot/A 26343 0 R/Subtype/Link/Rect[405 339 415 348]/Border[0 0 0]/H/N>> -endobj - -26175 0 obj -<>/P 9885 0 R/Type/Annot/A 26340 0 R/Subtype/Link/Rect[417 339 433 349]/Border[0 0 0]/H/N>> -endobj - -26176 0 obj -<>/P 9885 0 R/Type/Annot/A 26338 0 R/Subtype/Link/Rect[434 339 448 348]/Border[0 0 0]/H/N>> -endobj - -26177 0 obj -<>/P 9885 0 R/Type/Annot/A 26335 0 R/Subtype/Link/Rect[450 339 464 348]/Border[0 0 0]/H/N>> -endobj - -26178 0 obj -<>/P 9885 0 R/Type/Annot/A 26331 0 R/Subtype/Link/Rect[466 339 480 348]/Border[0 0 0]/H/N>> -endobj - -26179 0 obj -<>/P 9885 0 R/Type/Annot/A 26328 0 R/Subtype/Link/Rect[482 339 494 348]/Border[0 0 0]/H/N>> -endobj - -26180 0 obj -<>/P 9885 0 R/Type/Annot/A 43589 0 R/Subtype/Link/Rect[397 329 405 338]/Border[0 0 0]/H/N>> -endobj - -26181 0 obj -<>/P 9885 0 R/Type/Annot/A 26324 0 R/Subtype/Link/Rect[405 319 419 328]/Border[0 0 0]/H/N>> -endobj - -26182 0 obj -<>/P 9885 0 R/Type/Annot/A 26320 0 R/Subtype/Link/Rect[421 319 435 328]/Border[0 0 0]/H/N>> -endobj - -26183 0 obj -<>/P 9885 0 R/Type/Annot/A 43476 0 R/Subtype/Link/Rect[437 319 451 328]/Border[0 0 0]/H/N>> -endobj - -26184 0 obj -<>/P 9885 0 R/Type/Annot/A 43450 0 R/Subtype/Link/Rect[453 319 467 328]/Border[0 0 0]/H/N>> -endobj - -26185 0 obj -<>/P 9885 0 R/Type/Annot/A 26313 0 R/Subtype/Link/Rect[469 319 481 328]/Border[0 0 0]/H/N>> -endobj - -26186 0 obj -<>/P 9885 0 R/Type/Annot/A 26310 0 R/Subtype/Link/Rect[397 309 409 318]/Border[0 0 0]/H/N>> -endobj - -26187 0 obj -<>/P 9885 0 R/Type/Annot/A 31105 0 R/Subtype/Link/Rect[414 299 431 309]/Border[0 0 0]/H/N>> -endobj - -26188 0 obj -<>/P 9885 0 R/Type/Annot/A 26305 0 R/Subtype/Link/Rect[432 299 446 308]/Border[0 0 0]/H/N>> -endobj - -26189 0 obj -<>/P 9885 0 R/Type/Annot/A 26302 0 R/Subtype/Link/Rect[448 299 462 308]/Border[0 0 0]/H/N>> -endobj - -26190 0 obj -<>/P 9885 0 R/Type/Annot/A 26300 0 R/Subtype/Link/Rect[464 299 476 308]/Border[0 0 0]/H/N>> -endobj - -26191 0 obj -<>/P 9885 0 R/Type/Annot/A 26298 0 R/Subtype/Link/Rect[397 289 409 298]/Border[0 0 0]/H/N>> -endobj - -26192 0 obj -<>/P 9885 0 R/Type/Annot/A 26296 0 R/Subtype/Link/Rect[388 279 401 289]/Border[0 0 0]/H/N>> -endobj - -26193 0 obj -<>/P 9885 0 R/Type/Annot/A 43095 0 R/Subtype/Link/Rect[402 279 412 288]/Border[0 0 0]/H/N>> -endobj - -26194 0 obj -<>/P 9885 0 R/Type/Annot/A 26290 0 R/Subtype/Link/Rect[414 279 428 288]/Border[0 0 0]/H/N>> -endobj - -26195 0 obj -<>/P 9885 0 R/Type/Annot/A 26287 0 R/Subtype/Link/Rect[430 279 446 289]/Border[0 0 0]/H/N>> -endobj - -26196 0 obj -<>/P 9885 0 R/Type/Annot/A 26283 0 R/Subtype/Link/Rect[447 279 461 288]/Border[0 0 0]/H/N>> -endobj - -26197 0 obj -<>/P 9885 0 R/Type/Annot/A 26450 0 R/Subtype/Link/Rect[463 279 477 288]/Border[0 0 0]/H/N>> -endobj - -26198 0 obj -<>/P 9885 0 R/Type/Annot/A 42896 0 R/Subtype/Link/Rect[479 279 493 288]/Border[0 0 0]/H/N>> -endobj - -26199 0 obj -<>/P 9885 0 R/Type/Annot/A 29199 0 R/Subtype/Link/Rect[495 279 509 288]/Border[0 0 0]/H/N>> -endobj - -26200 0 obj -<>/P 9885 0 R/Type/Annot/A 29151 0 R/Subtype/Link/Rect[359 269 373 278]/Border[0 0 0]/H/N>> -endobj - -26201 0 obj -<>/P 9885 0 R/Type/Annot/A 26270 0 R/Subtype/Link/Rect[375 269 389 278]/Border[0 0 0]/H/N>> -endobj - -26202 0 obj -<>/P 9885 0 R/Type/Annot/A 29069 0 R/Subtype/Link/Rect[391 269 405 278]/Border[0 0 0]/H/N>> -endobj - -26203 0 obj -<>/P 9885 0 R/Type/Annot/A 26263 0 R/Subtype/Link/Rect[407 269 421 278]/Border[0 0 0]/H/N>> -endobj - -26204 0 obj -<>/P 9885 0 R/Type/Annot/A 26259 0 R/Subtype/Link/Rect[423 269 437 278]/Border[0 0 0]/H/N>> -endobj - -26205 0 obj -<>/P 9885 0 R/Type/Annot/A 26257 0 R/Subtype/Link/Rect[439 269 451 278]/Border[0 0 0]/H/N>> -endobj - -26206 0 obj -<>/P 9885 0 R/Type/Annot/A 28433 0 R/Subtype/Link/Rect[374 259 384 268]/Border[0 0 0]/H/N>> -endobj - -26207 0 obj -<>/P 9885 0 R/Type/Annot/A 28398 0 R/Subtype/Link/Rect[386 259 396 268]/Border[0 0 0]/H/N>> -endobj - -26208 0 obj -<>/P 9885 0 R/Type/Annot/A 28353 0 R/Subtype/Link/Rect[398 259 410 268]/Border[0 0 0]/H/N>> -endobj - -26209 0 obj -<>/P 9885 0 R/Type/Annot/A 42494 0 R/Subtype/Link/Rect[419 249 431 258]/Border[0 0 0]/H/N>> -endobj - -26210 0 obj -<>/P 9885 0 R/Type/Annot/A 42454 0 R/Subtype/Link/Rect[397 239 409 248]/Border[0 0 0]/H/N>> -endobj - -26211 0 obj -<>/P 9885 0 R/Type/Annot/A 26242 0 R/Subtype/Link/Rect[424 229 438 238]/Border[0 0 0]/H/N>> -endobj - -26212 0 obj -<>/P 9885 0 R/Type/Annot/A 26240 0 R/Subtype/Link/Rect[440 229 452 238]/Border[0 0 0]/H/N>> -endobj - -26213 0 obj -<>/P 9885 0 R/Type/Annot/A 26238 0 R/Subtype/Link/Rect[397 219 409 228]/Border[0 0 0]/H/N>> -endobj - -26214 0 obj -<>/P 9885 0 R/Type/Annot/A 26236 0 R/Subtype/Link/Rect[429 209 441 218]/Border[0 0 0]/H/N>> -endobj - -26215 0 obj -<>/P 9885 0 R/Type/Annot/A 26405 0 R/Subtype/Link/Rect[419 199 433 208]/Border[0 0 0]/H/N>> -endobj - -26216 0 obj -<>/P 9885 0 R/Type/Annot/A 42224 0 R/Subtype/Link/Rect[435 199 449 208]/Border[0 0 0]/H/N>> -endobj - -26217 0 obj -<>/P 9885 0 R/Type/Annot/A 42171 0 R/Subtype/Link/Rect[451 199 465 208]/Border[0 0 0]/H/N>> -endobj - -26218 0 obj -<>/P 9885 0 R/Type/Annot/A 42131 0 R/Subtype/Link/Rect[467 199 479 208]/Border[0 0 0]/H/N>> -endobj - -26219 0 obj -<>/P 9885 0 R/Type/Annot/A 26448 0 R/Subtype/Link/Rect[410 189 424 198]/Border[0 0 0]/H/N>> -endobj - -26220 0 obj -<>/P 9885 0 R/Type/Annot/A 26445 0 R/Subtype/Link/Rect[426 189 438 198]/Border[0 0 0]/H/N>> -endobj - -26221 0 obj -<>/P 9885 0 R/Type/Annot/A 26442 0 R/Subtype/Link/Rect[405 179 419 188]/Border[0 0 0]/H/N>> -endobj - -26222 0 obj -<>/P 9885 0 R/Type/Annot/A 26440 0 R/Subtype/Link/Rect[421 179 435 188]/Border[0 0 0]/H/N>> -endobj - -26223 0 obj -<>/P 9885 0 R/Type/Annot/A 41933 0 R/Subtype/Link/Rect[437 179 453 189]/Border[0 0 0]/H/N>> -endobj - -26224 0 obj -<>/P 9885 0 R/Type/Annot/A 41898 0 R/Subtype/Link/Rect[454 179 468 188]/Border[0 0 0]/H/N>> -endobj - -26225 0 obj -<>/P 9885 0 R/Type/Annot/A 26434 0 R/Subtype/Link/Rect[470 179 484 188]/Border[0 0 0]/H/N>> -endobj - -26226 0 obj -<>/P 9885 0 R/Type/Annot/A 41787 0 R/Subtype/Link/Rect[486 179 500 188]/Border[0 0 0]/H/N>> -endobj - -26227 0 obj -<>/P 9885 0 R/Type/Annot/A 26374 0 R/Subtype/Link/Rect[502 179 516 188]/Border[0 0 0]/H/N>> -endobj - -26228 0 obj -<>/P 9885 0 R/Type/Annot/A 26427 0 R/Subtype/Link/Rect[359 169 375 179]/Border[0 0 0]/H/N>> -endobj - -26229 0 obj -<>/P 9885 0 R/Type/Annot/A 41649 0 R/Subtype/Link/Rect[376 169 390 178]/Border[0 0 0]/H/N>> -endobj - -26230 0 obj -<>/P 9885 0 R/Type/Annot/A 41604 0 R/Subtype/Link/Rect[392 169 406 178]/Border[0 0 0]/H/N>> -endobj - -26231 0 obj -<>/P 9885 0 R/Type/Annot/A 26421 0 R/Subtype/Link/Rect[408 169 422 178]/Border[0 0 0]/H/N>> -endobj - -26232 0 obj -<>/P 9885 0 R/Type/Annot/A 26419 0 R/Subtype/Link/Rect[424 169 436 178]/Border[0 0 0]/H/N>> -endobj - -26233 0 obj -<>/P 9885 0 R/Type/Annot/A 26416 0 R/Subtype/Link/Rect[397 159 409 168]/Border[0 0 0]/H/N>> -endobj - -26234 0 obj -<>/P 9885 0 R/Type/Annot/A 41440 0 R/Subtype/Link/Rect[418 149 426 158]/Border[0 0 0]/H/N>> -endobj - -26235 0 obj -<> -endobj - -26236 0 obj -<> -endobj - -26237 0 obj -<> -endobj - -26238 0 obj -<> -endobj - -26239 0 obj -<> -endobj - -26240 0 obj -<> -endobj - -26241 0 obj -<> -endobj - -26242 0 obj -<> -endobj - -26243 0 obj -<> -endobj - -26244 0 obj -<> -endobj - -26245 0 obj -<> -endobj - -26246 0 obj -<> -endobj - -26247 0 obj -<> -endobj - -26248 0 obj -<> -endobj - -26249 0 obj -<> -endobj - -26250 0 obj -<> -endobj - -26251 0 obj -<> -endobj - -26252 0 obj -<> -endobj - -26253 0 obj -<> -endobj - -26254 0 obj -<> -endobj - -26255 0 obj -<> -endobj - -26256 0 obj -<> -endobj - -26257 0 obj -<> -endobj - -26258 0 obj -<> -endobj - -26259 0 obj -<> -endobj - -26260 0 obj -<> -endobj - -26261 0 obj -<> -endobj - -26262 0 obj -<> -endobj - -26263 0 obj -<> -endobj - -26264 0 obj -<> -endobj - -26265 0 obj -<> -endobj - -26266 0 obj -<> -endobj - -26267 0 obj -<> -endobj - -26268 0 obj -<> -endobj - -26269 0 obj -<> -endobj - -26270 0 obj -<> -endobj - -26271 0 obj -<> -endobj - -26272 0 obj -<> -endobj - -26273 0 obj -<> -endobj - -26274 0 obj -<> -endobj - -26275 0 obj -<> -endobj - -26276 0 obj -<> -endobj - -26277 0 obj -<> -endobj - -26278 0 obj -<> -endobj - -26279 0 obj -<> -endobj - -26280 0 obj -<> -endobj - -26281 0 obj -<> -endobj - -26282 0 obj -<> -endobj - -26283 0 obj -<> -endobj - -26284 0 obj -<> -endobj - -26285 0 obj -<> -endobj - -26286 0 obj -<> -endobj - -26287 0 obj -<> -endobj - -26288 0 obj -<> -endobj - -26289 0 obj -<> -endobj - -26290 0 obj -<> -endobj - -26291 0 obj -<> -endobj - -26292 0 obj -<> -endobj - -26293 0 obj -<> -endobj - -26294 0 obj -<> -endobj - -26295 0 obj -<> -endobj - -26296 0 obj -<> -endobj - -26297 0 obj -<> -endobj - -26298 0 obj -<> -endobj - -26299 0 obj -<> -endobj - -26300 0 obj -<> -endobj - -26301 0 obj -<> -endobj - -26302 0 obj -<> -endobj - -26303 0 obj -<> -endobj - -26304 0 obj -<> -endobj - -26305 0 obj -<> -endobj - -26306 0 obj -<> -endobj - -26307 0 obj -<> -endobj - -26308 0 obj -<> -endobj - -26309 0 obj -<> -endobj - -26310 0 obj -<> -endobj - -26311 0 obj -<> -endobj - -26312 0 obj -<> -endobj - -26313 0 obj -<> -endobj - -26314 0 obj -<> -endobj - -26315 0 obj -<> -endobj - -26316 0 obj -<> -endobj - -26317 0 obj -<> -endobj - -26318 0 obj -<> -endobj - -26319 0 obj -<> -endobj - -26320 0 obj -<> -endobj - -26321 0 obj -<> -endobj - -26322 0 obj -<> -endobj - -26323 0 obj -<> -endobj - -26324 0 obj -<> -endobj - -26325 0 obj -<> -endobj - -26326 0 obj -<> -endobj - -26327 0 obj -<> -endobj - -26328 0 obj -<> -endobj - -26329 0 obj -<> -endobj - -26330 0 obj -<> -endobj - -26331 0 obj -<> -endobj - -26332 0 obj -<> -endobj - -26333 0 obj -<> -endobj - -26334 0 obj -<> -endobj - -26335 0 obj -<> -endobj - -26336 0 obj -<> -endobj - -26337 0 obj -<> -endobj - -26338 0 obj -<> -endobj - -26339 0 obj -<> -endobj - -26340 0 obj -<> -endobj - -26341 0 obj -<> -endobj - -26342 0 obj -<> -endobj - -26343 0 obj -<> -endobj - -26344 0 obj -<> -endobj - -26345 0 obj -<> -endobj - -26346 0 obj -<> -endobj - -26347 0 obj -<> -endobj - -26348 0 obj -<> -endobj - -26349 0 obj -<> -endobj - -26350 0 obj -<> -endobj - -26351 0 obj -<> -endobj - -26352 0 obj -<> -endobj - -26353 0 obj -<> -endobj - -26354 0 obj -<> -endobj - -26355 0 obj -<> -endobj - -26356 0 obj -<> -endobj - -26357 0 obj -<> -endobj - -26358 0 obj -<> -endobj - -26359 0 obj -<> -endobj - -26360 0 obj -<> -endobj - -26361 0 obj -<> -endobj - -26362 0 obj -<> -endobj - -26363 0 obj -<> -endobj - -26364 0 obj -<> -endobj - -26365 0 obj -<> -endobj - -26366 0 obj -<> -endobj - -26367 0 obj -<> -endobj - -26368 0 obj -<> -endobj - -26369 0 obj -<> -endobj - -26370 0 obj -<> -endobj - -26371 0 obj -<> -endobj - -26372 0 obj -<> -endobj - -26373 0 obj -<> -endobj - -26374 0 obj -<> -endobj - -26375 0 obj -<> -endobj - -26376 0 obj -<> -endobj - -26377 0 obj -<> -endobj - -26378 0 obj -<> -endobj - -26379 0 obj -<> -endobj - -26380 0 obj -<> -endobj - -26381 0 obj -<> -endobj - -26382 0 obj -<> -endobj - -26383 0 obj -<> -endobj - -26384 0 obj -<> -endobj - -26385 0 obj -<> -endobj - -26386 0 obj -<> -endobj - -26387 0 obj -<> -endobj - -26388 0 obj -<> -endobj - -26389 0 obj -<> -endobj - -26390 0 obj -<> -endobj - -26391 0 obj -<> -endobj - -26392 0 obj -<> -endobj - -26393 0 obj -<> -endobj - -26394 0 obj -<> -endobj - -26395 0 obj -<> -endobj - -26396 0 obj -<> -endobj - -26397 0 obj -<> -endobj - -26398 0 obj -<> -endobj - -26399 0 obj -<> -endobj - -26400 0 obj -<> -endobj - -26401 0 obj -<> -endobj - -26402 0 obj -<> -endobj - -26403 0 obj -<> -endobj - -26404 0 obj -<> -endobj - -26405 0 obj -<> -endobj - -26406 0 obj -<> -endobj - -26407 0 obj -<> -endobj - -26408 0 obj -<> -endobj - -26409 0 obj -<> -endobj - -26410 0 obj -<> -endobj - -26411 0 obj -<> -endobj - -26412 0 obj -<> -endobj - -26413 0 obj -<> -endobj - -26414 0 obj -<> -endobj - -26415 0 obj -<> -endobj - -26416 0 obj -<> -endobj - -26417 0 obj -<> -endobj - -26418 0 obj -<> -endobj - -26419 0 obj -<> -endobj - -26420 0 obj -<> -endobj - -26421 0 obj -<> -endobj - -26422 0 obj -<> -endobj - -26423 0 obj -<> -endobj - -26424 0 obj -<> -endobj - -26425 0 obj -<> -endobj - -26426 0 obj -<> -endobj - -26427 0 obj -<> -endobj - -26428 0 obj -<> -endobj - -26429 0 obj -<> -endobj - -26430 0 obj -<> -endobj - -26431 0 obj -<> -endobj - -26432 0 obj -<> -endobj - -26433 0 obj -<> -endobj - -26434 0 obj -<> -endobj - -26435 0 obj -<> -endobj - -26436 0 obj -<> -endobj - -26437 0 obj -<> -endobj - -26438 0 obj -<> -endobj - -26439 0 obj -<> -endobj - -26440 0 obj -<> -endobj - -26441 0 obj -<> -endobj - -26442 0 obj -<> -endobj - -26443 0 obj -<> -endobj - -26444 0 obj -<> -endobj - -26445 0 obj -<> -endobj - -26446 0 obj -<> -endobj - -26447 0 obj -<> -endobj - -26448 0 obj -<> -endobj - -26449 0 obj -<> -endobj - -26450 0 obj -<> -endobj - -26451 0 obj -<> -endobj - -26452 0 obj -<> -endobj - -26453 0 obj -<> -endobj - -26454 0 obj -<> -endobj - -26455 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -26456 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -26457 0 obj -<> -endobj - -26458 0 obj -<> -endobj - -26459 0 obj -<> -endobj - -26460 0 obj -<> -endobj - -26461 0 obj -<> -endobj - -26462 0 obj -<> -endobj - -26463 0 obj -<> -endobj - -26464 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -26465 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -26466 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -26467 0 obj -<> -stream -HW]oV|篸ILO6ņ@(,{d9#A,y4;9b1^o5_meC?}4 UMS*yͲSgo/6z7Yϋ{xgg""dI45ݢP6ҜdKt{w ǐ=|_t_mAzRl!L-$[WZwmcVnKڿ^-h8k~$/њkSPW>muQf$'kNg"IYz99`Ii#r{>(}rG>* O}r}}7}7}7}ܷ}ܷ}g>+Wu[Vb%F,Z1K{ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZ-Z+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhE{ Vb%,^b{Z+1fVb{Z+1fVb{Z+1fVb{Z+1fVb"JYڽĈZ+1ficpo :Յ8AvCdT XJ+"ЊJ+JJZҪV(h5JZjV2J+,Zc֒k@)-@+-T=ȽĆamRZ cR ư)KiKY@KރKl,r/1f-{r/atVxZ*^b<-r/1d}2@K>KGr@%# -R h{TȽxZ*^br-rs4^-7]qu8yG0tjS\~L(>mۘ[[oN>vd|Y97߳S҅gͧ~cuo>*oS5Gsi^=wpxuh]pXx<ƢvBn\^~0vch?kO.(_*?|mXBnV)iϽY/FV߬:NKTt_ Vek<~WWsZ~ymV7]ӓEJVࡱcv6㪤PWqoQE&p&W_f%gؼ0<|~jۮY[fJqrʷ{s~{&WK*_$[n{dt]yTpDB -6k\̡zzs1b< Ke"2k7=4f|';.zH~CmO?&]; %OGႣOPtBC/e`"%tDz:4y ?}jg~9}qlXڍJ{|_p$G%rL>ZOG<9r:VD: [SQ ȫ24" |ȅ8Ax&2`)Ҋ@+*J@+)hJZjV(hJZ@++ VkIYZKbr@)-@+-T=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘTȽĘ$F,{1 h{1 h{1 h{1 h{1 h{1 h{1 h{1 h{1 hG{1KkIX cR cR cR cR cR cR cR cR cRO c֒@%,i*qwaMWuon -=zy" -ږIW7,hN-rF4~yhSM: u4<\=_cYl[wwzCj> COκ}Őt_nN] '3>aKz~yg'm.X_vG mUM|F$_|ql n\~O?EWWuʛ~|S6 <׵N^죿xX`讖7a |ϯJ[Z=Jz#!wcq‰/0|7Nm\A/ KK*!qOײdae~<.m8ҦrO5xp:iD#{|C<`i8rt1~*: ] kDN;I' ނ"J®W8Rp=<>*9&DgigydQj"hI dz3SXbX(W?gChU&2NJZ }JCta sp%5ei ).:KNCD0x~IDD;~㋺1GB#k$f DD89Ug)sr&ʃ@^/u^#$/H,z -jUt? v;9J^5g > -endobj - -26469 0 obj -<> -endobj - -26470 0 obj -<> -endobj - -26471 0 obj -<> -endobj - -26472 0 obj -<> -endobj - -26473 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -26474 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -26475 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -26476 0 obj -<> -stream -H[7WQ{x)ހ @5 X ؇ #+KnƁcO:oOO{?W"A`FwfZ?0Hq?(ۧݟӫOOݝ8_jq^n%6"^7xW/8ګw7 >}~, VQI^G_wt!fPRV7x/hܨ2}'<oh1)!2EZ2e -{WZ4^q{ø7Ľa0 q{ qĽe[2-qow{G;ƽ#=q{ϸ}`>0q{YńkA3Z{%I-2Ec-S=Ťkbܓj&X㞤V3Zb-S{Zͤkbܓj&XKZeqORb-S{ZͤkbRL1Ij5ZeqORbm?&XuD1Z{eZb-S{Zäkbܓ&XKZeqORkb-S{ZäkbRL1Ij ZeqORkb-QLj)=IaRL1Ij Z`RLQXKZeZ{%I-2Ÿ'&X㞤b-QLj)=I-0Z$kbRL1IjI-2Ÿ'&XKZeqOR Lj)=I-0~Lj)kbRLQXu#4_pCzc# Mzћ;Wo/rNJ΋ub^l^ejqsyn6y7ٝ8=-}P>Sr?Tj]T'td. =Č\]a!ҭl?D'GG;~y/S-ׇ?0.Cʴ1r~OlP׻ϵVF*]La!uȲ6ȕ+:64_)U\ۥY> 5WJͱŬJS.h3N{hu)yn1m*3eQ9Z9q2KEBԑ.|\~<'5}[7O7x2( TeӠdӨƀ75o;wo -i~J}h%T\uS&QSǂy*f9VyD#P(LͿk(g4kH]h93QzLEC(-찧FTЁPa_!R_Qc_Q_1"_ZKK1/ 򕚑ZKrٞ2x%e^t\O͝Pv᪙)IqIR5\Z*cMZg ۆ*jTҗ-U4UR5//4_9!B0?r_gNt[([ҌUcnU[:sZ͘[ḙkE PRV+D~i(Es+UjTBC)z@\ӷf$j[潡$<9=sp;|YP_^KYK(M)QRB8FuKy 7fUk m Ѣx Q - CVP -PFD9=4m( -Sj\^H4WyjH<*ZP r2SjC-zS eH -]F0,yտK%J?* -`b*+H[" -,@DUkHU:t؂M' ^zKJYyg JZUhxOP%/UrRs:dJ{JDQev2*sʬ)U^GR֫چ֫핪y_G>iKUzҿ Uz,4TKG\5T^G*yo2zJ:DQe5TUUfZKiZ2ОuT Uf{G34j=OBK}# .w&5#2s,R;x,JK{0e^֘/~|sK܊)x(t#Z@uԌ羵}٩ҩITQmf `Ef<x:b{*L'cxdyF446$7Qk|Xܣ> ̮<*o _]LCpTlR V(=4&Eʓ\o~DSHB7(nʋ-|TFOr62իȋXv硙!5EeMsX ̋c='FEhS4vUzM?|> ӷ5S}y cxx+Co|uCVϳ ƌ^aA*G<'γ(ߒ~ef'D)tMP}k>κ$9ʤ4>C(ظׇp&CgaͦA.{Y5O -duDS.<6OZ-{+k/#@QUzc:1A\(8/{sD5SGy͊24OM -J\ 9p!W^ @;ˀrM\l8#Ein/>3[P\0ԩ8$`ggCH@,4F'ϤMg .L%گ1v^n -b4fZ{n }Fz7aq~~/hB\W+K%4Jˇ5rB}GebΫ9&Aڨ|+j5i{ 2'QU/!*xIJ fڌl[7t膺եL r_Є -W@ qyMsW醵WÀW8멥P_Ըp΁a_vW-a[ D"$c TI[Һ - ,[: -\AxFU RBኾZOt(?n7ۏ$ 0Æendstream -endobj - -26477 0 obj -<>/P 821 0 R/Type/Annot/A 26478 0 R/Subtype/Link/Rect[93.6001968 663.229004 182.292007 682.908997]/Border[0 0 0]/H/N>> -endobj - -26478 0 obj -<> -endobj - -26479 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -26480 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -26481 0 obj -<> -endobj - -26482 0 obj -<> -endobj - -26483 0 obj -<> -endobj - -26484 0 obj -<> -endobj - -26485 0 obj -<> -endobj - -26486 0 obj -<> -endobj - -26487 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -26488 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -26489 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -26490 0 obj -<> -stream -H{o秸u )M(_$@⸻NvEJTm~Έl͜tbGxDxGO<>zv$o΢E6Ķ4>Μ3δu'sYӘhOs}fQwm35muFrƚ:* )MIL' $ŰcuileM_Rb堞f̻<+gnѳ$NTS_Z'ez@[*JxlٿNY|̽yO?cbf&*};%.2?QJO=+إ'5rY]BcW -\2:@z;ީ*JAz>*} -ҧ*} -ҧ*} -ҧ*}g*}g*}*}*}*}*}*} җ*} ҫ`hZKJ]:إK\`j.^MS+5vjjZ Lҫu`j.^MS+5r@z5Lҫu`jF.0RcHց@z5LS+5vR#ZKtz Lҫ`j.^MS+5r@z5Lҫ`jF.0RcHփ@z5LVjz0RcHփ" -`j.^jS+5vRcN/5r@z5Lҫ `jF.0RcH6@z5LVj0RcH6J] Vj0R[D)ZKJ]:қ{C,+j}8RMdP+VPXARJ+T2+Lr+\ -*BJ*R\YRcfI7keU,XN`;{=l֎]z/5v6إXRc`;{=l]z/5v%Y^j,vT=xX^j,{z/5oQKރK(zAƛRR`{{T=x[YRcfI7 z@RR`{VT!T!TTTT\.͒?r} -z_eYпGN*U3TQb){83YZLnfVݦoOէHCm,} V$Β.ipXw,&r9&]wjD2:OͺG1>5'_'OaNDme_>_T<5[">=r( coϬK aH^-gksݮf7OFÏ[I\bѺd5n)t̜.65u[dqh@$'=`!GUGtsw/psm ~aq;]\O[?lfrC_}q<ݔEnD^Uy{.G:=|>:|n?xN7}럛nK]z@.RRc`{ TS{KF.{Kʸ,??J믫hT+gb+ysm -~ٴCllvgˋX\Ń I.ٿЋ 9O@nȒ8}g.MͺѢ"ęZD[Im:sm1X- o/?n4K=][^W.pԖ'™>4/#'lvjt&Rt/$rLtwn12ݲe& c7e!I \%/HNã$6J _Zrk7Y ߊPLF'JH:T0+[<.>şendstream -endobj - -26491 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -26492 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -26493 0 obj -<> -endobj - -26494 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -26495 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -26496 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -26497 0 obj -<> -stream -HWk6_`F×H ( -4iHA]`Q֖g^aSwnLDWVof㫟_''Bgd,/Tf$Fedƚm"X͒]vm*]/ zHJ0&`}R^4 gbݥ?mUmՍyջ3[[Y+/׏S]fpw=,De= -g6,)d?Ii.91DUD˜ga XB,yVNv!b$H$H"ԫH"ԫH"ԫH&H&H}N#9>r$\1"Gk1OZyVc"\1ϊc̳bZy>r"\1"GUk1,µ,B}ZEcE\b Xk1Yȵp-r"\} b̳bZyVcb̳k5Zy>r&\1`Řg#jµ,B}ZMc"\1"GՄk1Yȵp-ƀEcE\ b̳k5Z퓜p-<+V1`Řg1Y2+R3zZ%d 3d}^vjd!K6ӞmՍ6}ogԮgtS ϫw^T4,y2Sest{Wo(Ov^_cӓAfV]̊۩1<?> )2Yp;t^2yI*\MǾv0'eW79PB:fl{9.hӱu7 Lσ=]31s󈳔yu۹^_ŠW\ E>  C׏/ m3OsEfMUmWuS7[45qx3!R%B̪q &la/saso՚,p -X߈qQ ҆z.'@ 7a!{cc#kȫM .G@ &4J!^< D3 ipאmv "\~d:}Y= rVn׮!PxI3aN{/U®)pHBc ?V]-,|(lDwM{>Scv3z 8Fe%Mp>=a!w -h 5zYLp4m3aL@t=!JB~1TyϿ"v,{/1t9;KQ$ a˂]'(Uc_8 vc75Ku/~瘕CdֆIA%om`9Q){WA/; |+\(2/3.+=n8/;= /~?T{?}=BqP߻͘oV O OEnZP] :D>gW1Zy&fڏ=us*ۙ2\`? $U ynǾfyVCr9U|%"}f>,hz/氥Oei3c) i -1jw6ޥE~ȐKKT/( 3 -bVo`д!@Q3 k2cbI -Gk -ÚeR`MϬ3̈Mߤq WN&R.7+ᾅOyH+?7$ҠpBˠ ی[rfK PT .LI,qK>|oU[?6Gť2S5oyvXr*05PrO>j3\~hw4O<>!!f;I{ >]0A:Mg)!duEDMT rnh[:f|5y3WCq~wjZ$ 2;?ƫmWѝqj!]]P+ufFO>ہj0u6EzG;è΁'c+c $Ƨ{t#vOQ§Rq7 ]pg+t^ܵ}4F4uao)HQLkYxߍc.Ǝ;!tG T펺B>iXi I֗| ZiQ%+ФREu-AUKOl_S c2tUp ^Ѥʊl TU%1n<^{^Mu7)Vm)X|pOϾ_e,Dbuܟ7sWjw_{ `f$ގ͈E%86OlC\饈ڐh$Ƙ^S,R9RlJd#G.^y6*tX*D(6 rX" -(;J:z*0JکCaůՊbj UıY`xI4:2pՏuAh'EM -8%+CqozT]{b6hr*쩵)S矻BamzdDRî% o#/W xJ@ZECu+8_s.,`˥K.[2RQ 5;|3QHt@ڿ=ئxK`|UbHkH]R [q%R1u9yQ)PBi%MmW.4>K4Ht 3դdW@o,Eg7y9:;.:}>aPYԍEa%Fff=_ \P>7H%%V(UEl㬢P{ԃfUu׃m-]@do?;^ 2L8f#ƕE|:t#CJL.,0@nB($>XIoiv tSv_Oa>.l.F fX(Dh%֛*Y.%ȹ!1 énhG48~S78/ߜwyيVН?pȿ<:Pcpf=?{Cݸ_sHhχ\(EfYBK'!<Nm4BUddetLT'}VK!B|*hP7 -y;Q u=돻m⛨@2sԐhFkAh~,FW2F*R^u @wʠڏDWٵ=%ZzʥBv07w+&G<[SGڿ=x@;tʪ81EH[I5DLUI6i:*g-B[] -씏 ׇ = Km/)BgD<"W.* -9Qs+gs;P}F y*x--=iɌ5û?`2;endstream -endobj - -26498 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -26499 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -26500 0 obj -<> -endobj - -26501 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -26502 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -26503 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -26504 0 obj -<> -stream -HWn8}WQlY`'$X\'0nv[ٖӒx~u#;A]<$uO%r_}u:'" 2QˆJx$9/R1$mM(u{,X5UpP,d0'QqJVebC%x݇o&WLNj/#R4bMOG *#ڍ.# o@+'_b!AƓI7Nͷ 20샻 .&11@͠\(Q͠$rSwmb{g{{{{{{᱗{鱗{鱗{O>A'{W{W{WazS}>C{h][0D͠| Pj]A]A]պ6B{ej]A!=2D Pj]A!=2D͠jZ(D͠jZfP{O QkZfP{O Qk3(ZֵGT gֵ޵޵ -Qk3(ZֵS-GTֵS-GT -a節#umBT -a節#umTպ6@!umTպ6B{j][D͠| Pj]A]A]պ6B{j]A!= -D Pj]A!= -D͠jZ(D͠jZfP{OQkZfP{OQk3(ZֵDT gֵ޵Rߋk'=Š(+߬.WzEd ΜH AU܇&ԇLf4X/Dr9`,t(`WlM!Xp6-/hK]oVA?|)]XO{(~Z1MG7!{>zorF.hJ8|{tu{::\a;Ĕ /{KtΙjM<ӜYjܙ41xT|\dlbVoܾtcsyߝ}i$h2އ8C꾏 Dlh߃ Dv:J^ݾ3a$& MP}.Z -c67rljC}xH/q!wHADXJ:F KHc % 7EM2 t6JiE$yu^H6yD?S'(UrΤۄ 6C 7KjD3s_%bѭp["?s:F6oYqt?)蝗&َN^9!Q1H\4{j6I{8sI$5aHscID)dx6$[~h``bM5q -JL|&%u1cZ%-KXΏ>/";b CSy礷 zXƦ7yu7.^90L!?eݐ"2Qyiuu֡ݩP"J' 6"I]gy3ft߇<{+ $*|*Tߺ}þ0r]OMaͦ>vƧ>s&:χE>٥0?.#ANi;s m&˶ۛOJ*oy텩Q,!nl7}l.Gui(sR]-8 i}`Ŵ^{mwjui˚֡?oE<`_c@=z]uw:qMYC5<~ę%tN|/O.-B9ufSmGX\ -Yet_H -j9 RB*PdSu.)Jm; uKglf\Wʈ (zS_p;+JF6MaIejch!\þXYĘye[8_-(a$>86Aat=.YTEW)LRS}]lTUdd?UB";8 X01@^Jxe|(pس&fr(f;x6̞QGi[a~JQ5 -Phq(=cbeae]B&z%yWi.^{9rp= p㯢>}2{vbD5l)(Md#t5I)SFO&ެmkP a`G /*/$~f]!40; -fʢ''|V($K_}9Y(in*4He]~$r ?>Rw\6Kw# '?cH[33%sfRی.-(nzB:-$f؎zTU 6ÏR[RW|^rNO%OP¢U Cujg(;G97t(`jBKSYr祡Qj93)V"25kr}!ļʦ^QgWY/Wc:2h , )tgԶz^mK\~7+xY|M->_ְz+QԪL3ruudʕj5|BY7 IRTPRœ+uUwwQcPu' Xӭq2PϏ*C8{-LMZ|*:9rOvfjJSB3Y8xxud -zuQaU (utm a4C׺;36ϛfj?3S=;$Rpʨ^+B!B;Hmy.Ws{ËEJٌ"jr -TN6:W#^!BYr(7|hp\ ++Dj@/(NXTX?T]K4@Fx* -ؑV7c4T]!~:$lWؿZh݇24endstream -endobj - -26505 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -26506 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -26507 0 obj -<> -endobj - -26508 0 obj -<> -endobj - -26509 0 obj -<> -endobj - -26510 0 obj -<> -endobj - -26511 0 obj -<> -endobj - -26512 0 obj -<> -endobj - -26513 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -26514 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -26515 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -26516 0 obj -<> -stream -HW]o}_2M.eV"Ki&ʲ4SYn{]풳T\M!!wpzI_> RyszKLxŸB̈iɇt.2MN&oכ_÷~Y/zOEzIg"iq@QkB~ PkB~ Qz?(µ~ QpC>p"\E֏!PVc"Uk1D*µ~ QpZ?(B}ZE֏!PVc&\c"\c -Y*e_HN<-n<3O:lҟ -x>ނeZ -Wԙ?7׫qzJhցmD(I+4R)5n?5.N69e\A'GZ!*T3<LIEf-r"L,:tp>4\@NtUR7* g#g $H#k#-n2Ebyun@ @t^">urΫ sw -A -[=£Ys^>u"<XM>b"+L~N0~Rh|:S0y[@w ќm#c}G;}Z7ˇU#w&SS~ί-Wwϧj"i1Ow.˥m:D&Cvb5˻EyB4qL6M%,7%<< Sݶq I笮F4 ++_ xOE޻;*8ta;rIh*%Rf"QjjGx4~? p!VHQ.%nwRU/iEA-=$QZUy,iYc*ԧ:s)2匬4*!; i #u?pfO׻ bLn VW,-w4gBeB "PO-5NFڟIU~ql{`<ڊrSYeu<>4f."+F+(t?$FsH?$l{s\mETfv i4. ]PJA["V~P׏/˛C_>O&Aߖ%~cA4n&3Wv7~ow5%6_<>Vmm<$ErYm5֞񴘍9xmoAPȤe2[a00g4=Cr в䚸_כnV69㨈Cfj`ZDr$uҟ6ZH_ Պ)Q12U@ 6vu(pdOeI/{u?4Z,+E[y}桬ޤ>еq#zK]1ϣJn蓄m -omC D[ $CbV"V5k3^ xҍxՏ')҃QA4h d_'gWqo`&ī8W/bmZ+ä - j tWěiH:^)1 -VGhGe/. X+ƣ_Y9ᑫ,÷Ofjke]o+?@봳WQ?3տV?KiЦƖz}B -9H i.˟a[_ߗ",DP\^nűLhp* Vj5JACX'm×:_`V5{;¨aRw( #965/O  Zumcd*éĮAŠs^m0=_]Ӊ 2;A.`lMdKz,[X3/~1CQ; f9*=`Ou]cVIMh0?btN,.obcS<7y8=@yR^j6PhFڄU=Vk}jBN*V&68 SI*/5WA|Ö8E65Qp,O#nfQnv&s\Y|uh"ǫTFc G1\wAib2LL͎`aG[E1-2ʻ&1pn^ ;hi~SMH-(]>⢘_zA ٕw S@D Ũus9sHYUjBϤI -{ ¨=u-Zn6zܢOTTef׫OaIJG1\^YGL>d>HRX@!tq -0f8…'SGEI![x!{xJ~ OZgHʇĭEV=:"qFaU%:d)M# [+?gI~Idx&<ie,Rmoϯ/66..ijq[h2 E>a8D>jFjTcj/f}+r:܈Y ^?7o~>flM5O0 ګ/SVjq1$_!xe emkߦܦ5z\je"{'6@[H?)Ah%Eky-B#QCVHfm P$s! 2kJ|?Rv֖@ΟH=# hsJ+ݯ\)JvGh 1@T?ZSMg;W7bH6쐼ueXR"t[|zl9s&›)n5NSक߼ 4H e e4ቐÌB(kas:P u_1"E +rptƄhs HPuJh8DfF#B{94r< >)֋4O5y+$DJlb j%:{R.]sgjq99_?endstream -endobj - -26517 0 obj -<>/P 9603 0 R/Type/Annot/A 26791 0 R/Subtype/Link/Rect[226 670 240 679]/Border[0 0 0]/H/N>> -endobj - -26518 0 obj -<>/P 9603 0 R/Type/Annot/A 26790 0 R/Subtype/Link/Rect[242 670 254 679]/Border[0 0 0]/H/N>> -endobj - -26519 0 obj -<>/P 9603 0 R/Type/Annot/A 26787 0 R/Subtype/Link/Rect[217 660 231 669]/Border[0 0 0]/H/N>> -endobj - -26520 0 obj -<>/P 9603 0 R/Type/Annot/A 26784 0 R/Subtype/Link/Rect[233 660 247 669]/Border[0 0 0]/H/N>> -endobj - -26521 0 obj -<>/P 9603 0 R/Type/Annot/A 26780 0 R/Subtype/Link/Rect[249 660 263 669]/Border[0 0 0]/H/N>> -endobj - -26522 0 obj -<>/P 9603 0 R/Type/Annot/A 26777 0 R/Subtype/Link/Rect[265 660 281 670]/Border[0 0 0]/H/N>> -endobj - -26523 0 obj -<>/P 9603 0 R/Type/Annot/A 26774 0 R/Subtype/Link/Rect[282 660 294 669]/Border[0 0 0]/H/N>> -endobj - -26524 0 obj -<>/P 9603 0 R/Type/Annot/A 26770 0 R/Subtype/Link/Rect[217 650 231 659]/Border[0 0 0]/H/N>> -endobj - -26525 0 obj -<>/P 9603 0 R/Type/Annot/A 26766 0 R/Subtype/Link/Rect[233 650 249 660]/Border[0 0 0]/H/N>> -endobj - -26526 0 obj -<>/P 9603 0 R/Type/Annot/A 26763 0 R/Subtype/Link/Rect[250 650 264 659]/Border[0 0 0]/H/N>> -endobj - -26527 0 obj -<>/P 9603 0 R/Type/Annot/A 26760 0 R/Subtype/Link/Rect[266 650 280 659]/Border[0 0 0]/H/N>> -endobj - -26528 0 obj -<>/P 9603 0 R/Type/Annot/A 26757 0 R/Subtype/Link/Rect[282 650 294 659]/Border[0 0 0]/H/N>> -endobj - -26529 0 obj -<>/P 9603 0 R/Type/Annot/A 26755 0 R/Subtype/Link/Rect[192 630 202 639]/Border[0 0 0]/H/N>> -endobj - -26530 0 obj -<>/P 9603 0 R/Type/Annot/A 26753 0 R/Subtype/Link/Rect[204 630 214 639]/Border[0 0 0]/H/N>> -endobj - -26531 0 obj -<>/P 9603 0 R/Type/Annot/A 26752 0 R/Subtype/Link/Rect[216 630 228 639]/Border[0 0 0]/H/N>> -endobj - -26532 0 obj -<>/P 9603 0 R/Type/Annot/A 26750 0 R/Subtype/Link/Rect[186 620 195 629]/Border[0 0 0]/H/N>> -endobj - -26533 0 obj -<>/P 9603 0 R/Type/Annot/A 26749 0 R/Subtype/Link/Rect[197 620 207 629]/Border[0 0 0]/H/N>> -endobj - -26534 0 obj -<>/P 9603 0 R/Type/Annot/A 26748 0 R/Subtype/Link/Rect[209 620 226 630]/Border[0 0 0]/H/N>> -endobj - -26535 0 obj -<>/P 9603 0 R/Type/Annot/A 26747 0 R/Subtype/Link/Rect[227 620 241 629]/Border[0 0 0]/H/N>> -endobj - -26536 0 obj -<>/P 9603 0 R/Type/Annot/A 26746 0 R/Subtype/Link/Rect[243 620 257 629]/Border[0 0 0]/H/N>> -endobj - -26537 0 obj -<>/P 9603 0 R/Type/Annot/A 26745 0 R/Subtype/Link/Rect[259 620 271 629]/Border[0 0 0]/H/N>> -endobj - -26538 0 obj -<>/P 9603 0 R/Type/Annot/A 26744 0 R/Subtype/Link/Rect[212 610 224 619]/Border[0 0 0]/H/N>> -endobj - -26539 0 obj -<>/P 9603 0 R/Type/Annot/A 26743 0 R/Subtype/Link/Rect[188 600 200 610]/Border[0 0 0]/H/N>> -endobj - -26540 0 obj -<>/P 9603 0 R/Type/Annot/A 26742 0 R/Subtype/Link/Rect[201 600 211 609]/Border[0 0 0]/H/N>> -endobj - -26541 0 obj -<>/P 9603 0 R/Type/Annot/A 26741 0 R/Subtype/Link/Rect[213 600 227 609]/Border[0 0 0]/H/N>> -endobj - -26542 0 obj -<>/P 9603 0 R/Type/Annot/A 26740 0 R/Subtype/Link/Rect[229 600 241 609]/Border[0 0 0]/H/N>> -endobj - -26543 0 obj -<>/P 9603 0 R/Type/Annot/A 26739 0 R/Subtype/Link/Rect[222 590 234 599]/Border[0 0 0]/H/N>> -endobj - -26544 0 obj -<>/P 9603 0 R/Type/Annot/A 26738 0 R/Subtype/Link/Rect[274 580 286 589]/Border[0 0 0]/H/N>> -endobj - -26545 0 obj -<>/P 9603 0 R/Type/Annot/A 26799 0 R/Subtype/Link/Rect[199 570 211 579]/Border[0 0 0]/H/N>> -endobj - -26546 0 obj -<>/P 9603 0 R/Type/Annot/A 26796 0 R/Subtype/Link/Rect[241 560 257 570]/Border[0 0 0]/H/N>> -endobj - -26547 0 obj -<>/P 9603 0 R/Type/Annot/A 26793 0 R/Subtype/Link/Rect[258 560 270 569]/Border[0 0 0]/H/N>> -endobj - -26548 0 obj -<>/P 9603 0 R/Type/Annot/A 44712 0 R/Subtype/Link/Rect[190 550 202 559]/Border[0 0 0]/H/N>> -endobj - -26549 0 obj -<>/P 9603 0 R/Type/Annot/A 26789 0 R/Subtype/Link/Rect[202 540 214 549]/Border[0 0 0]/H/N>> -endobj - -26550 0 obj -<>/P 9603 0 R/Type/Annot/A 26785 0 R/Subtype/Link/Rect[193 530 207 539]/Border[0 0 0]/H/N>> -endobj - -26551 0 obj -<>/P 9603 0 R/Type/Annot/A 26782 0 R/Subtype/Link/Rect[209 530 225 540]/Border[0 0 0]/H/N>> -endobj - -26552 0 obj -<>/P 9603 0 R/Type/Annot/A 26778 0 R/Subtype/Link/Rect[226 530 240 539]/Border[0 0 0]/H/N>> -endobj - -26553 0 obj -<>/P 9603 0 R/Type/Annot/A 26775 0 R/Subtype/Link/Rect[242 530 254 539]/Border[0 0 0]/H/N>> -endobj - -26554 0 obj -<>/P 9603 0 R/Type/Annot/A 26771 0 R/Subtype/Link/Rect[190 520 202 529]/Border[0 0 0]/H/N>> -endobj - -26555 0 obj -<>/P 9603 0 R/Type/Annot/A 26767 0 R/Subtype/Link/Rect[222 510 232 519]/Border[0 0 0]/H/N>> -endobj - -26556 0 obj -<>/P 9603 0 R/Type/Annot/A 37725 0 R/Subtype/Link/Rect[234 510 242 519]/Border[0 0 0]/H/N>> -endobj - -26557 0 obj -<>/P 9603 0 R/Type/Annot/A 26919 0 R/Subtype/Link/Rect[260 500 268 509]/Border[0 0 0]/H/N>> -endobj - -26558 0 obj -<>/P 9603 0 R/Type/Annot/A 26917 0 R/Subtype/Link/Rect[236 490 244 499]/Border[0 0 0]/H/N>> -endobj - -26559 0 obj -<>/P 9603 0 R/Type/Annot/A 44342 0 R/Subtype/Link/Rect[176 480 190 489]/Border[0 0 0]/H/N>> -endobj - -26560 0 obj -<>/P 9603 0 R/Type/Annot/A 26912 0 R/Subtype/Link/Rect[192 480 204 489]/Border[0 0 0]/H/N>> -endobj - -26561 0 obj -<>/P 9603 0 R/Type/Annot/A 26910 0 R/Subtype/Link/Rect[226 470 234 479]/Border[0 0 0]/H/N>> -endobj - -26562 0 obj -<>/P 9603 0 R/Type/Annot/A 26907 0 R/Subtype/Link/Rect[231 460 241 469]/Border[0 0 0]/H/N>> -endobj - -26563 0 obj -<>/P 9603 0 R/Type/Annot/A 26904 0 R/Subtype/Link/Rect[243 460 255 469]/Border[0 0 0]/H/N>> -endobj - -26564 0 obj -<>/P 9603 0 R/Type/Annot/A 44162 0 R/Subtype/Link/Rect[222 450 234 460]/Border[0 0 0]/H/N>> -endobj - -26565 0 obj -<>/P 9603 0 R/Type/Annot/A 26899 0 R/Subtype/Link/Rect[235 450 245 459]/Border[0 0 0]/H/N>> -endobj - -26566 0 obj -<>/P 9603 0 R/Type/Annot/A 26896 0 R/Subtype/Link/Rect[247 450 264 460]/Border[0 0 0]/H/N>> -endobj - -26567 0 obj -<>/P 9603 0 R/Type/Annot/A 26892 0 R/Subtype/Link/Rect[264 450 276 459]/Border[0 0 0]/H/N>> -endobj - -26568 0 obj -<>/P 9603 0 R/Type/Annot/A 26890 0 R/Subtype/Link/Rect[260 440 268 449]/Border[0 0 0]/H/N>> -endobj - -26569 0 obj -<>/P 9603 0 R/Type/Annot/A 26888 0 R/Subtype/Link/Rect[265 430 273 439]/Border[0 0 0]/H/N>> -endobj - -26570 0 obj -<>/P 9603 0 R/Type/Annot/A 26885 0 R/Subtype/Link/Rect[255 420 263 429]/Border[0 0 0]/H/N>> -endobj - -26571 0 obj -<>/P 9603 0 R/Type/Annot/A 26882 0 R/Subtype/Link/Rect[212 410 225 420]/Border[0 0 0]/H/N>> -endobj - -26572 0 obj -<>/P 9603 0 R/Type/Annot/A 26880 0 R/Subtype/Link/Rect[225 410 233 419]/Border[0 0 0]/H/N>> -endobj - -26573 0 obj -<>/P 9603 0 R/Type/Annot/A 43837 0 R/Subtype/Link/Rect[212 400 225 410]/Border[0 0 0]/H/N>> -endobj - -26574 0 obj -<>/P 9603 0 R/Type/Annot/A 43801 0 R/Subtype/Link/Rect[225 400 233 409]/Border[0 0 0]/H/N>> -endobj - -26575 0 obj -<>/P 9603 0 R/Type/Annot/A 43764 0 R/Subtype/Link/Rect[206 390 214 399]/Border[0 0 0]/H/N>> -endobj - -26576 0 obj -<>/P 9603 0 R/Type/Annot/A 26873 0 R/Subtype/Link/Rect[205 380 222 390]/Border[0 0 0]/H/N>> -endobj - -26577 0 obj -<>/P 9603 0 R/Type/Annot/A 26871 0 R/Subtype/Link/Rect[222 380 234 389]/Border[0 0 0]/H/N>> -endobj - -26578 0 obj -<>/P 9603 0 R/Type/Annot/A 26869 0 R/Subtype/Link/Rect[250 370 260 379]/Border[0 0 0]/H/N>> -endobj - -26579 0 obj -<>/P 9603 0 R/Type/Annot/A 43608 0 R/Subtype/Link/Rect[262 370 276 379]/Border[0 0 0]/H/N>> -endobj - -26580 0 obj -<>/P 9603 0 R/Type/Annot/A 26865 0 R/Subtype/Link/Rect[278 370 292 379]/Border[0 0 0]/H/N>> -endobj - -26581 0 obj -<>/P 9603 0 R/Type/Annot/A 26861 0 R/Subtype/Link/Rect[294 370 308 379]/Border[0 0 0]/H/N>> -endobj - -26582 0 obj -<>/P 9603 0 R/Type/Annot/A 26858 0 R/Subtype/Link/Rect[151 360 163 369]/Border[0 0 0]/H/N>> -endobj - -26583 0 obj -<>/P 9603 0 R/Type/Annot/A 26855 0 R/Subtype/Link/Rect[181 350 195 359]/Border[0 0 0]/H/N>> -endobj - -26584 0 obj -<>/P 9603 0 R/Type/Annot/A 26853 0 R/Subtype/Link/Rect[197 350 211 359]/Border[0 0 0]/H/N>> -endobj - -26585 0 obj -<>/P 9603 0 R/Type/Annot/A 26850 0 R/Subtype/Link/Rect[213 350 227 359]/Border[0 0 0]/H/N>> -endobj - -26586 0 obj -<>/P 9603 0 R/Type/Annot/A 26847 0 R/Subtype/Link/Rect[229 350 241 359]/Border[0 0 0]/H/N>> -endobj - -26587 0 obj -<>/P 9603 0 R/Type/Annot/A 26846 0 R/Subtype/Link/Rect[250 340 262 349]/Border[0 0 0]/H/N>> -endobj - -26588 0 obj -<>/P 9603 0 R/Type/Annot/A 26844 0 R/Subtype/Link/Rect[222 330 230 339]/Border[0 0 0]/H/N>> -endobj - -26589 0 obj -<>/P 9603 0 R/Type/Annot/A 26842 0 R/Subtype/Link/Rect[241 320 251 329]/Border[0 0 0]/H/N>> -endobj - -26590 0 obj -<>/P 9603 0 R/Type/Annot/A 26840 0 R/Subtype/Link/Rect[253 320 261 329]/Border[0 0 0]/H/N>> -endobj - -26591 0 obj -<>/P 9603 0 R/Type/Annot/A 43143 0 R/Subtype/Link/Rect[226 310 234 319]/Border[0 0 0]/H/N>> -endobj - -26592 0 obj -<>/P 9603 0 R/Type/Annot/A 26837 0 R/Subtype/Link/Rect[255 300 263 309]/Border[0 0 0]/H/N>> -endobj - -26593 0 obj -<>/P 9603 0 R/Type/Annot/A 43077 0 R/Subtype/Link/Rect[246 290 254 299]/Border[0 0 0]/H/N>> -endobj - -26594 0 obj -<>/P 9603 0 R/Type/Annot/A 26834 0 R/Subtype/Link/Rect[241 280 257 290]/Border[0 0 0]/H/N>> -endobj - -26595 0 obj -<>/P 9603 0 R/Type/Annot/A 26832 0 R/Subtype/Link/Rect[258 280 270 289]/Border[0 0 0]/H/N>> -endobj - -26596 0 obj -<>/P 9603 0 R/Type/Annot/A 26830 0 R/Subtype/Link/Rect[212 270 229 280]/Border[0 0 0]/H/N>> -endobj - -26597 0 obj -<>/P 9603 0 R/Type/Annot/A 26828 0 R/Subtype/Link/Rect[229 270 243 279]/Border[0 0 0]/H/N>> -endobj - -26598 0 obj -<>/P 9603 0 R/Type/Annot/A 42875 0 R/Subtype/Link/Rect[245 270 257 279]/Border[0 0 0]/H/N>> -endobj - -26599 0 obj -<>/P 9603 0 R/Type/Annot/A 26826 0 R/Subtype/Link/Rect[226 260 240 269]/Border[0 0 0]/H/N>> -endobj - -26600 0 obj -<>/P 9603 0 R/Type/Annot/A 26824 0 R/Subtype/Link/Rect[242 260 254 269]/Border[0 0 0]/H/N>> -endobj - -26601 0 obj -<>/P 9603 0 R/Type/Annot/A 26821 0 R/Subtype/Link/Rect[270 250 278 259]/Border[0 0 0]/H/N>> -endobj - -26602 0 obj -<>/P 9603 0 R/Type/Annot/A 26819 0 R/Subtype/Link/Rect[217 240 233 250]/Border[0 0 0]/H/N>> -endobj - -26603 0 obj -<>/P 9603 0 R/Type/Annot/A 26818 0 R/Subtype/Link/Rect[234 240 248 249]/Border[0 0 0]/H/N>> -endobj - -26604 0 obj -<>/P 9603 0 R/Type/Annot/A 26815 0 R/Subtype/Link/Rect[250 240 264 249]/Border[0 0 0]/H/N>> -endobj - -26605 0 obj -<>/P 9603 0 R/Type/Annot/A 26813 0 R/Subtype/Link/Rect[266 240 278 249]/Border[0 0 0]/H/N>> -endobj - -26606 0 obj -<>/P 9603 0 R/Type/Annot/A 42586 0 R/Subtype/Link/Rect[241 230 249 239]/Border[0 0 0]/H/N>> -endobj - -26607 0 obj -<>/P 9603 0 R/Type/Annot/A 26810 0 R/Subtype/Link/Rect[212 220 224 229]/Border[0 0 0]/H/N>> -endobj - -26608 0 obj -<>/P 9603 0 R/Type/Annot/A 42516 0 R/Subtype/Link/Rect[236 210 244 219]/Border[0 0 0]/H/N>> -endobj - -26609 0 obj -<>/P 9603 0 R/Type/Annot/A 26808 0 R/Subtype/Link/Rect[226 200 236 209]/Border[0 0 0]/H/N>> -endobj - -26610 0 obj -<>/P 9603 0 R/Type/Annot/A 26806 0 R/Subtype/Link/Rect[238 200 248 209]/Border[0 0 0]/H/N>> -endobj - -26611 0 obj -<>/P 9603 0 R/Type/Annot/A 26804 0 R/Subtype/Link/Rect[250 200 264 209]/Border[0 0 0]/H/N>> -endobj - -26612 0 obj -<>/P 9603 0 R/Type/Annot/A 26803 0 R/Subtype/Link/Rect[266 200 278 209]/Border[0 0 0]/H/N>> -endobj - -26613 0 obj -<>/P 9603 0 R/Type/Annot/A 42335 0 R/Subtype/Link/Rect[226 190 236 199]/Border[0 0 0]/H/N>> -endobj - -26614 0 obj -<>/P 9603 0 R/Type/Annot/A 26801 0 R/Subtype/Link/Rect[238 190 250 199]/Border[0 0 0]/H/N>> -endobj - -26615 0 obj -<>/P 9603 0 R/Type/Annot/A 26800 0 R/Subtype/Link/Rect[231 180 241 189]/Border[0 0 0]/H/N>> -endobj - -26616 0 obj -<>/P 9603 0 R/Type/Annot/A 26797 0 R/Subtype/Link/Rect[243 180 255 189]/Border[0 0 0]/H/N>> -endobj - -26617 0 obj -<>/P 9603 0 R/Type/Annot/A 26794 0 R/Subtype/Link/Rect[279 170 287 179]/Border[0 0 0]/H/N>> -endobj - -26618 0 obj -<>/P 9603 0 R/Type/Annot/A 42107 0 R/Subtype/Link/Rect[265 160 273 169]/Border[0 0 0]/H/N>> -endobj - -26619 0 obj -<>/P 9603 0 R/Type/Annot/A 42068 0 R/Subtype/Link/Rect[236 150 244 159]/Border[0 0 0]/H/N>> -endobj - -26620 0 obj -<>/P 9603 0 R/Type/Annot/A 26788 0 R/Subtype/Link/Rect[407 670 421 679]/Border[0 0 0]/H/N>> -endobj - -26621 0 obj -<>/P 9603 0 R/Type/Annot/A 41979 0 R/Subtype/Link/Rect[423 670 439 680]/Border[0 0 0]/H/N>> -endobj - -26622 0 obj -<>/P 9603 0 R/Type/Annot/A 26781 0 R/Subtype/Link/Rect[440 670 454 679]/Border[0 0 0]/H/N>> -endobj - -26623 0 obj -<>/P 9603 0 R/Type/Annot/A 26823 0 R/Subtype/Link/Rect[456 670 470 679]/Border[0 0 0]/H/N>> -endobj - -26624 0 obj -<>/P 9603 0 R/Type/Annot/A 26773 0 R/Subtype/Link/Rect[472 670 489 680]/Border[0 0 0]/H/N>> -endobj - -26625 0 obj -<>/P 9603 0 R/Type/Annot/A 26769 0 R/Subtype/Link/Rect[489 670 503 679]/Border[0 0 0]/H/N>> -endobj - -26626 0 obj -<>/P 9603 0 R/Type/Annot/A 26765 0 R/Subtype/Link/Rect[359 660 376 670]/Border[0 0 0]/H/N>> -endobj - -26627 0 obj -<>/P 9603 0 R/Type/Annot/A 26762 0 R/Subtype/Link/Rect[377 660 389 669]/Border[0 0 0]/H/N>> -endobj - -26628 0 obj -<>/P 9603 0 R/Type/Annot/A 26759 0 R/Subtype/Link/Rect[439 650 447 659]/Border[0 0 0]/H/N>> -endobj - -26629 0 obj -<>/P 9603 0 R/Type/Annot/A 26920 0 R/Subtype/Link/Rect[439 640 449 649]/Border[0 0 0]/H/N>> -endobj - -26630 0 obj -<>/P 9603 0 R/Type/Annot/A 41577 0 R/Subtype/Link/Rect[451 640 461 649]/Border[0 0 0]/H/N>> -endobj - -26631 0 obj -<>/P 9603 0 R/Type/Annot/A 26916 0 R/Subtype/Link/Rect[463 640 473 649]/Border[0 0 0]/H/N>> -endobj - -26632 0 obj -<>/P 9603 0 R/Type/Annot/A 26914 0 R/Subtype/Link/Rect[475 640 487 649]/Border[0 0 0]/H/N>> -endobj - -26633 0 obj -<>/P 9603 0 R/Type/Annot/A 41464 0 R/Subtype/Link/Rect[444 630 452 639]/Border[0 0 0]/H/N>> -endobj - -26634 0 obj -<>/P 9603 0 R/Type/Annot/A 26909 0 R/Subtype/Link/Rect[458 620 466 629]/Border[0 0 0]/H/N>> -endobj - -26635 0 obj -<>/P 9603 0 R/Type/Annot/A 26906 0 R/Subtype/Link/Rect[458 610 466 619]/Border[0 0 0]/H/N>> -endobj - -26636 0 obj -<>/P 9603 0 R/Type/Annot/A 26903 0 R/Subtype/Link/Rect[420 600 428 609]/Border[0 0 0]/H/N>> -endobj - -26637 0 obj -<>/P 9603 0 R/Type/Annot/A 26901 0 R/Subtype/Link/Rect[454 590 462 599]/Border[0 0 0]/H/N>> -endobj - -26638 0 obj -<>/P 9603 0 R/Type/Annot/A 26898 0 R/Subtype/Link/Rect[444 580 452 589]/Border[0 0 0]/H/N>> -endobj - -26639 0 obj -<>/P 9603 0 R/Type/Annot/A 41249 0 R/Subtype/Link/Rect[444 570 452 579]/Border[0 0 0]/H/N>> -endobj - -26640 0 obj -<>/P 9603 0 R/Type/Annot/A 26893 0 R/Subtype/Link/Rect[449 560 457 569]/Border[0 0 0]/H/N>> -endobj - -26641 0 obj -<>/P 9603 0 R/Type/Annot/A 41179 0 R/Subtype/Link/Rect[497 550 509 559]/Border[0 0 0]/H/N>> -endobj - -26642 0 obj -<>/P 9603 0 R/Type/Annot/A 41156 0 R/Subtype/Link/Rect[497 540 509 549]/Border[0 0 0]/H/N>> -endobj - -26643 0 obj -<>/P 9603 0 R/Type/Annot/A 26886 0 R/Subtype/Link/Rect[395 520 407 529]/Border[0 0 0]/H/N>> -endobj - -26644 0 obj -<>/P 9603 0 R/Type/Annot/A 26883 0 R/Subtype/Link/Rect[468 510 480 519]/Border[0 0 0]/H/N>> -endobj - -26645 0 obj -<>/P 9603 0 R/Type/Annot/A 41047 0 R/Subtype/Link/Rect[497 500 509 509]/Border[0 0 0]/H/N>> -endobj - -26646 0 obj -<>/P 9603 0 R/Type/Annot/A 40736 0 R/Subtype/Link/Rect[430 490 440 499]/Border[0 0 0]/H/N>> -endobj - -26647 0 obj -<>/P 9603 0 R/Type/Annot/A 40694 0 R/Subtype/Link/Rect[442 490 454 499]/Border[0 0 0]/H/N>> -endobj - -26648 0 obj -<>/P 9603 0 R/Type/Annot/A 26876 0 R/Subtype/Link/Rect[497 480 507 489]/Border[0 0 0]/H/N>> -endobj - -26649 0 obj -<>/P 9603 0 R/Type/Annot/A 40105 0 R/Subtype/Link/Rect[359 470 371 479]/Border[0 0 0]/H/N>> -endobj - -26650 0 obj -<>/P 9603 0 R/Type/Annot/A 39573 0 R/Subtype/Link/Rect[473 460 485 469]/Border[0 0 0]/H/N>> -endobj - -26651 0 obj -<>/P 9603 0 R/Type/Annot/A 39520 0 R/Subtype/Link/Rect[482 450 494 459]/Border[0 0 0]/H/N>> -endobj - -26652 0 obj -<>/P 9603 0 R/Type/Annot/A 26868 0 R/Subtype/Link/Rect[439 440 447 449]/Border[0 0 0]/H/N>> -endobj - -26653 0 obj -<>/P 9603 0 R/Type/Annot/A 26866 0 R/Subtype/Link/Rect[425 430 433 439]/Border[0 0 0]/H/N>> -endobj - -26654 0 obj -<>/P 9603 0 R/Type/Annot/A 26863 0 R/Subtype/Link/Rect[454 420 462 429]/Border[0 0 0]/H/N>> -endobj - -26655 0 obj -<>/P 9603 0 R/Type/Annot/A 26859 0 R/Subtype/Link/Rect[444 410 452 419]/Border[0 0 0]/H/N>> -endobj - -26656 0 obj -<>/P 9603 0 R/Type/Annot/A 26856 0 R/Subtype/Link/Rect[463 400 471 409]/Border[0 0 0]/H/N>> -endobj - -26657 0 obj -<>/P 9603 0 R/Type/Annot/A 38300 0 R/Subtype/Link/Rect[468 390 476 399]/Border[0 0 0]/H/N>> -endobj - -26658 0 obj -<>/P 9603 0 R/Type/Annot/A 26851 0 R/Subtype/Link/Rect[458 380 466 389]/Border[0 0 0]/H/N>> -endobj - -26659 0 obj -<>/P 9603 0 R/Type/Annot/A 26848 0 R/Subtype/Link/Rect[463 370 471 379]/Border[0 0 0]/H/N>> -endobj - -26660 0 obj -<>/P 9603 0 R/Type/Annot/A 36784 0 R/Subtype/Link/Rect[430 360 440 369]/Border[0 0 0]/H/N>> -endobj - -26661 0 obj -<>/P 9603 0 R/Type/Annot/A 26845 0 R/Subtype/Link/Rect[442 360 452 369]/Border[0 0 0]/H/N>> -endobj - -26662 0 obj -<>/P 9603 0 R/Type/Annot/A 26843 0 R/Subtype/Link/Rect[454 360 462 369]/Border[0 0 0]/H/N>> -endobj - -26663 0 obj -<>/P 9603 0 R/Type/Annot/A 26841 0 R/Subtype/Link/Rect[449 350 457 359]/Border[0 0 0]/H/N>> -endobj - -26664 0 obj -<>/P 9603 0 R/Type/Annot/A 26839 0 R/Subtype/Link/Rect[463 340 471 349]/Border[0 0 0]/H/N>> -endobj - -26665 0 obj -<>/P 9603 0 R/Type/Annot/A 26838 0 R/Subtype/Link/Rect[502 330 510 339]/Border[0 0 0]/H/N>> -endobj - -26666 0 obj -<>/P 9603 0 R/Type/Annot/A 26836 0 R/Subtype/Link/Rect[439 320 447 329]/Border[0 0 0]/H/N>> -endobj - -26667 0 obj -<>/P 9603 0 R/Type/Annot/A 26835 0 R/Subtype/Link/Rect[458 310 468 319]/Border[0 0 0]/H/N>> -endobj - -26668 0 obj -<>/P 9603 0 R/Type/Annot/A 26833 0 R/Subtype/Link/Rect[470 310 480 319]/Border[0 0 0]/H/N>> -endobj - -26669 0 obj -<>/P 9603 0 R/Type/Annot/A 26831 0 R/Subtype/Link/Rect[482 310 490 319]/Border[0 0 0]/H/N>> -endobj - -26670 0 obj -<>/P 9603 0 R/Type/Annot/A 26829 0 R/Subtype/Link/Rect[419 300 427 309]/Border[0 0 0]/H/N>> -endobj - -26671 0 obj -<>/P 9603 0 R/Type/Annot/A 26827 0 R/Subtype/Link/Rect[392 290 404 299]/Border[0 0 0]/H/N>> -endobj - -26672 0 obj -<>/P 9603 0 R/Type/Annot/A 33100 0 R/Subtype/Link/Rect[381 280 393 289]/Border[0 0 0]/H/N>> -endobj - -26673 0 obj -<>/P 9603 0 R/Type/Annot/A 26862 0 R/Subtype/Link/Rect[396 270 404 279]/Border[0 0 0]/H/N>> -endobj - -26674 0 obj -<>/P 9603 0 R/Type/Annot/A 26825 0 R/Subtype/Link/Rect[415 260 425 269]/Border[0 0 0]/H/N>> -endobj - -26675 0 obj -<>/P 9603 0 R/Type/Annot/A 26822 0 R/Subtype/Link/Rect[427 260 441 269]/Border[0 0 0]/H/N>> -endobj - -26676 0 obj -<>/P 9603 0 R/Type/Annot/A 26820 0 R/Subtype/Link/Rect[443 260 457 269]/Border[0 0 0]/H/N>> -endobj - -26677 0 obj -<>/P 9603 0 R/Type/Annot/A 31801 0 R/Subtype/Link/Rect[459 260 476 270]/Border[0 0 0]/H/N>> -endobj - -26678 0 obj -<>/P 9603 0 R/Type/Annot/A 26816 0 R/Subtype/Link/Rect[476 260 490 269]/Border[0 0 0]/H/N>> -endobj - -26679 0 obj -<>/P 9603 0 R/Type/Annot/A 26814 0 R/Subtype/Link/Rect[492 260 504 269]/Border[0 0 0]/H/N>> -endobj - -26680 0 obj -<>/P 9603 0 R/Type/Annot/A 26812 0 R/Subtype/Link/Rect[410 250 427 260]/Border[0 0 0]/H/N>> -endobj - -26681 0 obj -<>/P 9603 0 R/Type/Annot/A 26811 0 R/Subtype/Link/Rect[427 250 441 259]/Border[0 0 0]/H/N>> -endobj - -26682 0 obj -<>/P 9603 0 R/Type/Annot/A 26809 0 R/Subtype/Link/Rect[443 250 455 259]/Border[0 0 0]/H/N>> -endobj - -26683 0 obj -<>/P 9603 0 R/Type/Annot/A 30228 0 R/Subtype/Link/Rect[398 240 410 249]/Border[0 0 0]/H/N>> -endobj - -26684 0 obj -<>/P 9603 0 R/Type/Annot/A 26807 0 R/Subtype/Link/Rect[415 230 425 239]/Border[0 0 0]/H/N>> -endobj - -26685 0 obj -<>/P 9603 0 R/Type/Annot/A 26805 0 R/Subtype/Link/Rect[427 230 441 239]/Border[0 0 0]/H/N>> -endobj - -26686 0 obj -<>/P 9603 0 R/Type/Annot/A 30090 0 R/Subtype/Link/Rect[443 230 457 239]/Border[0 0 0]/H/N>> -endobj - -26687 0 obj -<>/P 9603 0 R/Type/Annot/A 26802 0 R/Subtype/Link/Rect[459 230 476 240]/Border[0 0 0]/H/N>> -endobj - -26688 0 obj -<>/P 9603 0 R/Type/Annot/A 29300 0 R/Subtype/Link/Rect[476 230 490 239]/Border[0 0 0]/H/N>> -endobj - -26689 0 obj -<>/P 9603 0 R/Type/Annot/A 29262 0 R/Subtype/Link/Rect[359 220 376 230]/Border[0 0 0]/H/N>> -endobj - -26690 0 obj -<>/P 9603 0 R/Type/Annot/A 26798 0 R/Subtype/Link/Rect[377 220 391 229]/Border[0 0 0]/H/N>> -endobj - -26691 0 obj -<>/P 9603 0 R/Type/Annot/A 26795 0 R/Subtype/Link/Rect[393 220 404 229]/Border[0 0 0]/H/N>> -endobj - -26692 0 obj -<>/P 9603 0 R/Type/Annot/A 26792 0 R/Subtype/Link/Rect[415 210 425 219]/Border[0 0 0]/H/N>> -endobj - -26693 0 obj -<>/P 9603 0 R/Type/Annot/A 29115 0 R/Subtype/Link/Rect[427 210 441 219]/Border[0 0 0]/H/N>> -endobj - -26694 0 obj -<>/P 9603 0 R/Type/Annot/A 26817 0 R/Subtype/Link/Rect[443 210 457 219]/Border[0 0 0]/H/N>> -endobj - -26695 0 obj -<>/P 9603 0 R/Type/Annot/A 26786 0 R/Subtype/Link/Rect[459 210 473 219]/Border[0 0 0]/H/N>> -endobj - -26696 0 obj -<>/P 9603 0 R/Type/Annot/A 26783 0 R/Subtype/Link/Rect[475 210 492 220]/Border[0 0 0]/H/N>> -endobj - -26697 0 obj -<>/P 9603 0 R/Type/Annot/A 26779 0 R/Subtype/Link/Rect[492 210 506 219]/Border[0 0 0]/H/N>> -endobj - -26698 0 obj -<>/P 9603 0 R/Type/Annot/A 26776 0 R/Subtype/Link/Rect[359 200 373 209]/Border[0 0 0]/H/N>> -endobj - -26699 0 obj -<>/P 9603 0 R/Type/Annot/A 26772 0 R/Subtype/Link/Rect[375 200 389 209]/Border[0 0 0]/H/N>> -endobj - -26700 0 obj -<>/P 9603 0 R/Type/Annot/A 26768 0 R/Subtype/Link/Rect[391 200 408 210]/Border[0 0 0]/H/N>> -endobj - -26701 0 obj -<>/P 9603 0 R/Type/Annot/A 26764 0 R/Subtype/Link/Rect[408 200 422 209]/Border[0 0 0]/H/N>> -endobj - -26702 0 obj -<>/P 9603 0 R/Type/Annot/A 26761 0 R/Subtype/Link/Rect[424 200 441 210]/Border[0 0 0]/H/N>> -endobj - -26703 0 obj -<>/P 9603 0 R/Type/Annot/A 26758 0 R/Subtype/Link/Rect[442 200 456 209]/Border[0 0 0]/H/N>> -endobj - -26704 0 obj -<>/P 9603 0 R/Type/Annot/A 26756 0 R/Subtype/Link/Rect[458 200 474 210]/Border[0 0 0]/H/N>> -endobj - -26705 0 obj -<>/P 9603 0 R/Type/Annot/A 26754 0 R/Subtype/Link/Rect[475 200 489 209]/Border[0 0 0]/H/N>> -endobj - -26706 0 obj -<>/P 9603 0 R/Type/Annot/A 26923 0 R/Subtype/Link/Rect[359 190 376 200]/Border[0 0 0]/H/N>> -endobj - -26707 0 obj -<>/P 9603 0 R/Type/Annot/A 26751 0 R/Subtype/Link/Rect[377 190 391 199]/Border[0 0 0]/H/N>> -endobj - -26708 0 obj -<>/P 9603 0 R/Type/Annot/A 26918 0 R/Subtype/Link/Rect[393 190 409 200]/Border[0 0 0]/H/N>> -endobj - -26709 0 obj -<>/P 9603 0 R/Type/Annot/A 26915 0 R/Subtype/Link/Rect[410 190 424 199]/Border[0 0 0]/H/N>> -endobj - -26710 0 obj -<>/P 9603 0 R/Type/Annot/A 26913 0 R/Subtype/Link/Rect[426 190 442 200]/Border[0 0 0]/H/N>> -endobj - -26711 0 obj -<>/P 9603 0 R/Type/Annot/A 26911 0 R/Subtype/Link/Rect[443 190 455 199]/Border[0 0 0]/H/N>> -endobj - -26712 0 obj -<>/P 9603 0 R/Type/Annot/A 26908 0 R/Subtype/Link/Rect[430 180 442 189]/Border[0 0 0]/H/N>> -endobj - -26713 0 obj -<>/P 9603 0 R/Type/Annot/A 26905 0 R/Subtype/Link/Rect[430 170 442 179]/Border[0 0 0]/H/N>> -endobj - -26714 0 obj -<>/P 9603 0 R/Type/Annot/A 26902 0 R/Subtype/Link/Rect[405 160 422 170]/Border[0 0 0]/H/N>> -endobj - -26715 0 obj -<>/P 9603 0 R/Type/Annot/A 26900 0 R/Subtype/Link/Rect[423 160 437 169]/Border[0 0 0]/H/N>> -endobj - -26716 0 obj -<>/P 9603 0 R/Type/Annot/A 26897 0 R/Subtype/Link/Rect[439 160 453 169]/Border[0 0 0]/H/N>> -endobj - -26717 0 obj -<>/P 9603 0 R/Type/Annot/A 26895 0 R/Subtype/Link/Rect[455 160 469 169]/Border[0 0 0]/H/N>> -endobj - -26718 0 obj -<>/P 9603 0 R/Type/Annot/A 26891 0 R/Subtype/Link/Rect[471 160 485 169]/Border[0 0 0]/H/N>> -endobj - -26719 0 obj -<>/P 9603 0 R/Type/Annot/A 26889 0 R/Subtype/Link/Rect[487 160 503 170]/Border[0 0 0]/H/N>> -endobj - -26720 0 obj -<>/P 9603 0 R/Type/Annot/A 26887 0 R/Subtype/Link/Rect[504 160 518 169]/Border[0 0 0]/H/N>> -endobj - -26721 0 obj -<>/P 9603 0 R/Type/Annot/A 26884 0 R/Subtype/Link/Rect[359 150 376 160]/Border[0 0 0]/H/N>> -endobj - -26722 0 obj -<>/P 9603 0 R/Type/Annot/A 26881 0 R/Subtype/Link/Rect[377 150 391 159]/Border[0 0 0]/H/N>> -endobj - -26723 0 obj -<>/P 9603 0 R/Type/Annot/A 26879 0 R/Subtype/Link/Rect[393 150 406 159]/Border[0 0 0]/H/N>> -endobj - -26724 0 obj -<>/P 9603 0 R/Type/Annot/A 26878 0 R/Subtype/Link/Rect[408 150 422 159]/Border[0 0 0]/H/N>> -endobj - -26725 0 obj -<>/P 9603 0 R/Type/Annot/A 26877 0 R/Subtype/Link/Rect[424 150 438 159]/Border[0 0 0]/H/N>> -endobj - -26726 0 obj -<>/P 9603 0 R/Type/Annot/A 26875 0 R/Subtype/Link/Rect[440 150 454 159]/Border[0 0 0]/H/N>> -endobj - -26727 0 obj -<>/P 9603 0 R/Type/Annot/A 26874 0 R/Subtype/Link/Rect[456 150 473 160]/Border[0 0 0]/H/N>> -endobj - -26728 0 obj -<>/P 9603 0 R/Type/Annot/A 26872 0 R/Subtype/Link/Rect[474 150 488 159]/Border[0 0 0]/H/N>> -endobj - -26729 0 obj -<>/P 9603 0 R/Type/Annot/A 26870 0 R/Subtype/Link/Rect[359 140 376 150]/Border[0 0 0]/H/N>> -endobj - -26730 0 obj -<>/P 9603 0 R/Type/Annot/A 26867 0 R/Subtype/Link/Rect[377 140 391 149]/Border[0 0 0]/H/N>> -endobj - -26731 0 obj -<>/P 9603 0 R/Type/Annot/A 26894 0 R/Subtype/Link/Rect[393 140 409 150]/Border[0 0 0]/H/N>> -endobj - -26732 0 obj -<>/P 9603 0 R/Type/Annot/A 26864 0 R/Subtype/Link/Rect[410 140 424 149]/Border[0 0 0]/H/N>> -endobj - -26733 0 obj -<>/P 9603 0 R/Type/Annot/A 26860 0 R/Subtype/Link/Rect[426 140 440 149]/Border[0 0 0]/H/N>> -endobj - -26734 0 obj -<>/P 9603 0 R/Type/Annot/A 26857 0 R/Subtype/Link/Rect[442 140 458 150]/Border[0 0 0]/H/N>> -endobj - -26735 0 obj -<>/P 9603 0 R/Type/Annot/A 26854 0 R/Subtype/Link/Rect[459 140 473 149]/Border[0 0 0]/H/N>> -endobj - -26736 0 obj -<>/P 9603 0 R/Type/Annot/A 26852 0 R/Subtype/Link/Rect[475 140 489 149]/Border[0 0 0]/H/N>> -endobj - -26737 0 obj -<>/P 9603 0 R/Type/Annot/A 26849 0 R/Subtype/Link/Rect[491 140 505 149]/Border[0 0 0]/H/N>> -endobj - -26738 0 obj -<> -endobj - -26739 0 obj -<> -endobj - -26740 0 obj -<> -endobj - -26741 0 obj -<> -endobj - -26742 0 obj -<> -endobj - -26743 0 obj -<> -endobj - -26744 0 obj -<> -endobj - -26745 0 obj -<> -endobj - -26746 0 obj -<> -endobj - -26747 0 obj -<> -endobj - -26748 0 obj -<> -endobj - -26749 0 obj -<> -endobj - -26750 0 obj -<> -endobj - -26751 0 obj -<> -endobj - -26752 0 obj -<> -endobj - -26753 0 obj -<> -endobj - -26754 0 obj -<> -endobj - -26755 0 obj -<> -endobj - -26756 0 obj -<> -endobj - -26757 0 obj -<> -endobj - -26758 0 obj -<> -endobj - -26759 0 obj -<> -endobj - -26760 0 obj -<> -endobj - -26761 0 obj -<> -endobj - -26762 0 obj -<> -endobj - -26763 0 obj -<> -endobj - -26764 0 obj -<> -endobj - -26765 0 obj -<> -endobj - -26766 0 obj -<> -endobj - -26767 0 obj -<> -endobj - -26768 0 obj -<> -endobj - -26769 0 obj -<> -endobj - -26770 0 obj -<> -endobj - -26771 0 obj -<> -endobj - -26772 0 obj -<> -endobj - -26773 0 obj -<> -endobj - -26774 0 obj -<> -endobj - -26775 0 obj -<> -endobj - -26776 0 obj -<> -endobj - -26777 0 obj -<> -endobj - -26778 0 obj -<> -endobj - -26779 0 obj -<> -endobj - -26780 0 obj -<> -endobj - -26781 0 obj -<> -endobj - -26782 0 obj -<> -endobj - -26783 0 obj -<> -endobj - -26784 0 obj -<> -endobj - -26785 0 obj -<> -endobj - -26786 0 obj -<> -endobj - -26787 0 obj -<> -endobj - -26788 0 obj -<> -endobj - -26789 0 obj -<> -endobj - -26790 0 obj -<> -endobj - -26791 0 obj -<> -endobj - -26792 0 obj -<> -endobj - -26793 0 obj -<> -endobj - -26794 0 obj -<> -endobj - -26795 0 obj -<> -endobj - -26796 0 obj -<> -endobj - -26797 0 obj -<> -endobj - -26798 0 obj -<> -endobj - -26799 0 obj -<> -endobj - -26800 0 obj -<> -endobj - -26801 0 obj -<> -endobj - -26802 0 obj -<> -endobj - -26803 0 obj -<> -endobj - -26804 0 obj -<> -endobj - -26805 0 obj -<> -endobj - -26806 0 obj -<> -endobj - -26807 0 obj -<> -endobj - -26808 0 obj -<> -endobj - -26809 0 obj -<> -endobj - -26810 0 obj -<> -endobj - -26811 0 obj -<> -endobj - -26812 0 obj -<> -endobj - -26813 0 obj -<> -endobj - -26814 0 obj -<> -endobj - -26815 0 obj -<> -endobj - -26816 0 obj -<> -endobj - -26817 0 obj -<> -endobj - -26818 0 obj -<> -endobj - -26819 0 obj -<> -endobj - -26820 0 obj -<> -endobj - -26821 0 obj -<> -endobj - -26822 0 obj -<> -endobj - -26823 0 obj -<> -endobj - -26824 0 obj -<> -endobj - -26825 0 obj -<> -endobj - -26826 0 obj -<> -endobj - -26827 0 obj -<> -endobj - -26828 0 obj -<> -endobj - -26829 0 obj -<> -endobj - -26830 0 obj -<> -endobj - -26831 0 obj -<> -endobj - -26832 0 obj -<> -endobj - -26833 0 obj -<> -endobj - -26834 0 obj -<> -endobj - -26835 0 obj -<> -endobj - -26836 0 obj -<> -endobj - -26837 0 obj -<> -endobj - -26838 0 obj -<> -endobj - -26839 0 obj -<> -endobj - -26840 0 obj -<> -endobj - -26841 0 obj -<> -endobj - -26842 0 obj -<> -endobj - -26843 0 obj -<> -endobj - -26844 0 obj -<> -endobj - -26845 0 obj -<> -endobj - -26846 0 obj -<> -endobj - -26847 0 obj -<> -endobj - -26848 0 obj -<> -endobj - -26849 0 obj -<> -endobj - -26850 0 obj -<> -endobj - -26851 0 obj -<> -endobj - -26852 0 obj -<> -endobj - -26853 0 obj -<> -endobj - -26854 0 obj -<> -endobj - -26855 0 obj -<> -endobj - -26856 0 obj -<> -endobj - -26857 0 obj -<> -endobj - -26858 0 obj -<> -endobj - -26859 0 obj -<> -endobj - -26860 0 obj -<> -endobj - -26861 0 obj -<> -endobj - -26862 0 obj -<> -endobj - -26863 0 obj -<> -endobj - -26864 0 obj -<> -endobj - -26865 0 obj -<> -endobj - -26866 0 obj -<> -endobj - -26867 0 obj -<> -endobj - -26868 0 obj -<> -endobj - -26869 0 obj -<> -endobj - -26870 0 obj -<> -endobj - -26871 0 obj -<> -endobj - -26872 0 obj -<> -endobj - -26873 0 obj -<> -endobj - -26874 0 obj -<> -endobj - -26875 0 obj -<> -endobj - -26876 0 obj -<> -endobj - -26877 0 obj -<> -endobj - -26878 0 obj -<> -endobj - -26879 0 obj -<> -endobj - -26880 0 obj -<> -endobj - -26881 0 obj -<> -endobj - -26882 0 obj -<> -endobj - -26883 0 obj -<> -endobj - -26884 0 obj -<> -endobj - -26885 0 obj -<> -endobj - -26886 0 obj -<> -endobj - -26887 0 obj -<> -endobj - -26888 0 obj -<> -endobj - -26889 0 obj -<> -endobj - -26890 0 obj -<> -endobj - -26891 0 obj -<> -endobj - -26892 0 obj -<> -endobj - -26893 0 obj -<> -endobj - -26894 0 obj -<> -endobj - -26895 0 obj -<> -endobj - -26896 0 obj -<> -endobj - -26897 0 obj -<> -endobj - -26898 0 obj -<> -endobj - -26899 0 obj -<> -endobj - -26900 0 obj -<> -endobj - -26901 0 obj -<> -endobj - -26902 0 obj -<> -endobj - -26903 0 obj -<> -endobj - -26904 0 obj -<> -endobj - -26905 0 obj -<> -endobj - -26906 0 obj -<> -endobj - -26907 0 obj -<> -endobj - -26908 0 obj -<> -endobj - -26909 0 obj -<> -endobj - -26910 0 obj -<> -endobj - -26911 0 obj -<> -endobj - -26912 0 obj -<> -endobj - -26913 0 obj -<> -endobj - -26914 0 obj -<> -endobj - -26915 0 obj -<> -endobj - -26916 0 obj -<> -endobj - -26917 0 obj -<> -endobj - -26918 0 obj -<> -endobj - -26919 0 obj -<> -endobj - -26920 0 obj -<> -endobj - -26921 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -26922 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -26923 0 obj -<> -endobj - -26924 0 obj -<> -endobj - -26925 0 obj -<> -endobj - -26926 0 obj -<> -endobj - -26927 0 obj -<> -endobj - -26928 0 obj -<> -endobj - -26929 0 obj -<> -endobj - -26930 0 obj -<> -endobj - -26931 0 obj -<> -endobj - -26932 0 obj -<> -endobj - -26933 0 obj -<> -endobj - -26934 0 obj -<> -endobj - -26935 0 obj -<> -endobj - -26936 0 obj -<> -endobj - -26937 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -26938 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -26939 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -26940 0 obj -<> -stream -HW]۶}ׯ`-ъ_h>PlEb>צ -lٵ!)p7(Rqgc_=ٛ7o߿KNʸadVV2ӂl_$9{L8Yr]ݾ;zoSb:`mv,W8[l0s2b¨7Ss:#IQmˮ^ ֡i8D'~cgO$]aۿ%2\K,1Ȅy})g]91cL1s͡ P(ds(M0wc(A{A{I{I{I{EW{EW{M{M{M`_D }/ eľ$ؗ`_F+}UM#rBضOZls=P-9T*fm"TmET+bC# -B(BPHP-9>R Tm"TmET+bC# -B(BPHP-9>R TmD6cbC͡b(BPHP-9>R$Tm"TmET+ bC#JB(BPHP-9>R$Tm"TmET+ bC#JBضOZls=P-9T*fm"TmETbC#*B(BPHP-9>R"Tm"TmETbC#*B(BPHP-9>R"TmD6cbC͡b&3(j]$7`-6 o`2$nVe+*Xvvz}t.7 U6`L Čb0åЙ*8+~~өiaʶ-{ #} /OtMt*DV -D_:OMZQ5a);yEg; _8J a|f  x-E)sLQ6AP)8F]1$.1rW|A)4*15De-˯Y񿯖]:cۧvH3RdEYUokTTg=-T_lӱ@K켮2YUxOmޥ-6;7\-0.0Z -S6Jgچ9L\ŊMN!t4[mٜ .uϣ^C{) _|h'֥ rG`Y>޾zslzж'^೛xnI) |\ -2rSO7,u?P3 i_7jv|a BXݮlG*Ô#-Gl_!o30 [L0g^=~F:CCe}\"6zqXDDŽ[8 ySU]EŰ/<߻zczoҒWR+uj\z/"BͩS}8y; c Tm-JderX⨇jrpmC^0ͺ ,W`e_2(hnj)pҢ%hp.3C4])W#tFe -SB32GA ܵ;^SLTv {W=2sM^12B*ҩ> ph3uӂ:)~;V.wWp -R3ŸN*p|T]˅Ocl!ͻBzOF]u=[Yd7;-;EG;k_eQI#g$knnM9 &\gKSNW ZHnVeu}# }}Yo:vCO]@QEkg KK6>2%>\bW&B\0{'jHa~/&ή Bd3];ЄoKUdBa“dQq=[1K>G}y¶3j}W@ƨ]҄.ʄ -J7O/"/0 -UIt%lPb 0ݡAcnN{\N&H:mklźoMTk/Surő+q *],şe^ؙSEyQdS6C/Z#Џ~O{h(ڳ- d[Kueگ.~ -уaWJO2ҽ -:@ -{n%gO -5ֺ5 ݿCb[^*oUN}A@[JOtL @]q5EI7yf[CcƇtxQw~֮Ms -mD޼ t!{x`( i^.`iC_:ni@+\bx!JlyyR}z >bMw3@=x˳+DWw\=΋GBۋ$^)I|Fñ\8YtU"x}q@XWwo֛طyfygN5Ai~M5J!MHb6_+vv[Hd3&k3BP^]"L-=$.~YX#AFZl -(0vyY)z{խ?e|L ylɢ)ަPBp[oH1In~lt/6Öe"mپ~854ժi-uzR]<=7۵zV#xי,ҷN]RQ7t`F1Q_$4wW -ed+4͢-T7rgOXe.~3nuFə=rKgw5j0Ui-=wjV}f7uTs"߃3Hx:C!$P^)e2"ヾzk.My${fH ->N40Z$ٶ鮈=‰EW(n`9"cH\ .eP,DI`ĉDPjvo:۹ GXr{342fȂ=w [u uU׵Od{mXS+9dJ"r4_u{ODLŰ jLԜ?o )[8x~D1-˞bv`?H6%@r+j5(n7z>림6?WΡ8xSD~HOC>P,p ,Cٟ%4`7SQPe0j-\bє)J*bjs9QCeP*-.t?}{ǧ/? 6endstream -endobj - -26941 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -26942 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -26943 0 obj -<> -endobj - -26944 0 obj -<> -endobj - -26945 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -26946 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -26947 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -26948 0 obj -<> -stream -HWkoNa49>I6HZ-`#Q6w%!8^!^;FΜ9CC/խzÛw?@}xamKiGwZչ*@x*wsKVuۺX.~^/ExmT/I4U$jf-Rϵ fa7=)|ʲtp6;gqoۅs_{ޫZ+/5( ~4[K夜NFtVr<ŀׂ{a0Fpo{+̽[ sw{Gs c>},Dp0>aS}ܧ{P(-vZK1dqZ!{Kh-Ő%gBk),=kZK1` Zh-Ő%gBk),CV Zh-ŀ%bܳjCV 3Bk),bZK1dqCwO1` Fh-Ő%g5Bk),CFh-ŀ%bܳCR Y{Z#bܳyVh-ŐS XBk),b),C -Vh-ŀ%bܳZC -R Y{Z+bܳZZ!KpZkR Y{Z+b; {Kh-ŐS Y}ijUNW;»X, -b=A[UQ7kzjUS~z_}7:i?  ڗ~/7ٮ>W?^wз0kuez*˹$a?%ZΖf-ggoy}g*XΗs?'Fͼf9{+MVl#n7`l6Klqo -ۼf'>K?,SQqgM =l~ʗO.űqwuQxպeE9\ ڃeL0]@:#? #pCN8[;A%CV*,ӲeZNrL ZiEVĴ"A+bZ3XЊV"h%L+ -Z)JjkQ Y\b -iVȴX{!KbB),A^ -{-bX{!KbB),A^ -{#bZ{!Kb7B),A-{#bX{!Kb7B),A-{#bX{!KbB),E1` -{+bX{!KbB),A -;e1-!CroS~;e1-!CroS:eQ-'bZ÷MA 4Ki^ ?7:G2"ߢ`2j^dFe·yQm2Vー{P؏ k6/<>j:^ t~pxynlwv5.aGal1D{ $gfXXxM'Ch4Ⱥ?,6*׍?? ?!rs=lé<7tK8Ƞf tpKNΪ;> b_vqB?$]0S4uM>h ؎_ml0Z4mw0ꎮŦA8] ^04Ȯ{v_K]۵/b ]%W쓴]bLN+ RվCl +=ՐZvospA)=E}}=@q넻mVmn[Zت]em`]$UC9ϳ;G 6(mLI7)}!{Pp %K޴sqr5k|z1Ͱj|z'|4Aubm\^o`=ֻCs|`J^hޡ̘-29zSٗwY{ wtl>x_&p,Edzv/hxJ83iҪa/$/D.mb,lN.. - ˫Gۼio/8=!Eq2eot!pTۊ߇g+p顅y 1)vw|- f@daGXbm(471:]B8X&wӤ@LLF|3= IFhiđ M: dN2~wcw~-å0:خ6xS}wFv{@B)\A C6}(ŦZf=B]Gs fT4M *&mRDAk2Ui~,j25d5+@uOR%c;{`i[(\_l:N2*:Mo =LW1EYcEgc0A0O@D'EnkL\s0OXIJhtl$2KOSdEd4.+5wZk[M=u0ym\ԡߥ5aY.4j )vF3V)8%0ӥ,/ _ӵl(P_8A]aGnww_LJ9e o4qM?=.e;Kb42^:]ee T)*yhH45ھ.`g=ڭ(m;jQP9SN xT0y2X*x!ļ۳ yZיprSS¥"TTTɮC'o-]=oR‰ 1#*)oR:c/5F)1AOuB7hƉRwcx])EgUz9 =̊.UVj R+8>^x,4\FxW[!594ʯ׼zt6|gZ{s aIQ~=*:- `<_G5}s{kR6]]ɞ,.S}Gbۥn,&Bjؔ(_uIdp`ɶrgJݹg*`§'`] lQ>Uօ5/KM~h܇oPqm.>S3>C`E]B;\HqU^'a)Lik --K "A6K䓦FEA==5b@CVv>UjpR~JbmOQ4<\M=$D"Ua)me}sQw5oeLkkOl{QYywn(\Wwؘb]q }3}xj=b"6%{|+< 'endstream -endobj - -26949 0 obj -<>/P 1284 0 R/Type/Annot/A 26950 0 R/Subtype/Link/Rect[93.6004028 203.578003 249.612 223.257996]/Border[0 0 0]/H/N>> -endobj - -26950 0 obj -<> -endobj - -26951 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -26952 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -26953 0 obj -<> -endobj - -26954 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -26955 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -26956 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -26957 0 obj -<> -stream -HWmH_65,l%{ pc$,[c+Ҝ$o_Z䎐QtT?gu't TX^<wk:Uuqۺu|mK>{ 0gqڢ*FF*"k5͵34HRm)}~x%(ИdDT  VSO;{3*d/<ϞIb1#B倨 Qn8j.1(]<J2^2^1^1^1^3^3>bGa9#}䰏>fa8}O>eاa: 8 Ѭ`DKmgO26D Pj Q.{jC˞ŨŰwT+Rj%ZjZjCQdTKmb;j Pj Q {GQ-!aV26@16D1JFԆ(ZɨΞbTKmrSR\Ԇ(=Q-!aV16D1*F(FԆ(ZŨŰwTRRjZjCQbTKmbTKmb;Uj Q {GQ-=ͨ岧6@16D Q.{jZjCQfTKmb;Ռj Pj Q {GQ-!aV36@16D1jFԆ(ZͨŨŰwTRj5Zj;{ZjC˞Ũ岧6DM`~f{/ 쉰CH~{Wc7"4]v:öZ ҙ@rpj嚗z' b)daO(ˢ<)~|)wmQhof?e]`bZ;⦍ -DVyp(OcȞ! Į.MJŧ/@E$^8"U^3T1HD:ɯեYEi飏4pڎ@dLlo\eݞmw3mtlИquM$ńllgY_pRīj 'KX*]C*"#1QxHd,'r -gN2]v^ʼ#oPc8|smZ:eU8: /C^7rڳ"Rgo> Ak] QWjXCY8Vׅ`s2tDio?aC CeD(,} ->8$)&M5Mw2#F&R,Z+Ef+(b].џTmJ%HrW]Y`vhMJI}f3!4Z<ہ ^oB7.#h@JU "\ ˭39v}zb ƽz-x_Gk -gUespB& PP`zCǞ> -HiAN&~'=! WE2xmpɛfQ?0Hv@u.KqKE4Z4%C,qGp]+uF Bg.!2 y858Pq?돢iaؿ,%,k:gXRaDI_lSjwl -M*P&ftDMfÔ!\'l6 7&vN3 -bPySUם,%+h{/MU: -x@oO>.W(&&1GuLu")Vՙ/|Aq5j)J%ykFfkKdӧ-ew~<|F -0HDv6dhϩ!n[!YSUr{E'1֧yZo)@|mp7lEP-с[Ȼ -n<R($E -/ F4F: tO.p0>K??rȺu쳥 |d1~%$KѩTMSخY] A`b? {9ea܏~} ߋŏ!lyHu C֘føh:>}:Te8hѨb;5Qm8iȲ8v1K8KlԴ=.3En*6Śc! ,>yn<:q4T"cۄe^37lѝ^>IA߆g0n lXp"y788J:1=O|{V"hhPl۝h9M,U2 -BlU+ 4r|ŀcOcw9?P䲽PQL^80"FZkMƖJlK-VpҴZO,rcVzƣc$X_P^ƾ(z'Z2D^JU,;-iL1Hy3QO|mߎũ:ջLN<~Pԋ 5cVBY{|?ZZ I[&$B$Hz՟JG9o8rp##k4e -TZiPJh\%ad':M˃-kPD>#i0~XqgBRFQ߂Y6.Gޓ %՝zQoUE Ʉ+!q\̊ m~41g0l2۩KU9{A{䫕B0@%4?o{ +x&YIK.Mʾ;8غ:AZ-D)vAL3xHhHF"_?p=RUYW -L w>mD!5?r) [NQtU*,)*x#X"}^,$23ب -QP%؜AdY% J=aS$Ǣ OvL j3]`UH;5,ӘSUR }Qn<~)ᳬZh`>&$M$M Nmȇ<4A 2o^ vjG0APxAAiIVGSKrL(=Yt*u:,o ;F3\Ft I[k"FT5 -Z=5]Elft%\}wLJpܹ87,yu<"毛M$Vܡ*X~Ula<QڟYtNj}CĠt(B<8&\ Rt٩sŸQ#Rl!ž3sF -ޯ,}BURh,Ghj)eezr~莟rvk{ )TކG7G>scH|wl1Ԁi;2 m2,+|a8w/ʴy+?;UdҧTǼ_6|>;&z"[2l? ݫi \iPaoÒa.!ЦauJrm ]|/|R%e-©4뫯W(!_8Edtu)AROy˴ N7# ,8,C8h!aDy_禫D2 /<1]n ={E04#6QpB_coS`+>{=h݇7:7 0*Gendstream -endobj - -26958 0 obj -<>/P 661 0 R/Type/Annot/A 26959 0 R/Subtype/Link/Rect[93.6003036 594.830017 244.440994 614.51001]/Border[0 0 0]/H/N>> -endobj - -26959 0 obj -<> -endobj - -26960 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -26961 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -26962 0 obj -<> -endobj - -26963 0 obj -<> -endobj - -26964 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -26965 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -26966 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -26967 0 obj -<> -stream -HWkۺ_OHz/i@?$Bn-W!53i"Ȋ:><:P䫿äջAe7?|hJ_/mU6F M7uL2hժ_C=_C?]3 F mF=ɛujjK*xH*U*R}^ݧgYZ:cl ]Y̮avx6 }csB_5z[|o2eR\'Yrt0K?'65QL_[S*lJY.pH's*љe$!?bҚ,/wy so{[e2Np{'w̽{ =s9s s}!/Bp_0dK}WfP#T-ŐS XBR Y=ŐS XBR Y{VFZ!KpϪUK1` UK1d Yj),=Z#T-ŀ%T-Ő%gUkjPPCUbܳ5BRKPCwO1` UK1dqCwO1` UK1d YZj),=Z+T-ŀ%T-Ő%gUkjPPCUbܳBR XBR Y{VVZ!KpϪ -UK.qBR Y=ŀ%T-ŐS Y=ŀ%T-Ő%gU넪jPPCUbܳuBR XBR Y{VNZ!KpϪ UK1` UK1d Y:j),=Z'T-ź UK1dqPCwO1dqUZUSin:y^[zTU^dU.YM/_w_rS¾׷:&-Uʴ -%h|4퇦wz>?~}hIҦH{ی?A0e Mq;ʹ ǹQlf婎#iiA gal?} 88K a. _O?a :~BzT Cr|^%m gE!XL Zi9A1-/hy-ϴrA+gZ3B*V!hLJU -Z%ӪiUVELƵ(,E1`iAK3--hie-ôroS Y˽rO1d Z,F=Ő%h!CroS Y˽rO1d Z,F=Ő%h[!CעS Y˽rO1d Z,V=Ő%h[!CroSz]{!KbB)v=.YLK=Ő%h[!N,S Y\bxX{RbwB)gEA -{'bx -X{)PbwB);A -{'bxrX{ɍkQ Y\bx&X|r.a8Mx V?Q+jsi6tVΫmw:͛G{|c -ޤ:3_5 vC]U^٘7Nun5n k Vrv -/<'37,M|oyXz7ǹy54ƺ[8O:S?6cJջaj=RotSoCI*uLGy_.lSQ%sl$}q tY%$8Qaΰtnє0TMwcuU~a*\3/h -x>C;=EX06/ F I̯>oޕ,tq| ; fn]M/曛i:\HK5P'*\Aǚݦ?np oi a|KhL |g,1wOBMSgrQHen27ˌ22cHVclŴ@c_g/7nVOj\V*_e%>tn;^HTWeZ[>& :6qqύѹ4 9~4#]3=6sk0q1)˓aV|/㾅pPc= _mX.9=q .M؍j_S;7Y*{]ɲ^w=oua됅Wm/ <3>l \8 qߝvu`' -?폱.!y~raq?q 6Ӭq; q 3oJlgPiơ^";<̀[q:S|} 8+Li%gܚh+ib $Ųӫ3IJNfKJ@ܖڢl0C7ulJgWdLmR5 ís@4bu^,ac !ggo]4 ux7%ixQV\ 'LJi(EFwBhbmsZ,Œ^#qfz`mfYeӇ?~i $) n2VZL*&i O [ǹKBz^/22Ij(fq[6Uk}ʔ.Tu߹͸s)Ue8T# :huwrӖ"Yvݰm5+ G30B\ϯoqw hgn{A@ CX,<aJo-NߦS^R8hQVxp=Yf/:õ.Mgf+c<gv+F&kL}[3^0PZĺu3;;}"LY96SNj,snKƟ ӬޒwɄ[5=Fž"@F(vв13 Xbq̶Q[@QPG<#+GLE#  -3R*b uFYMTc+4S>|#&Z7 @,OYDFDc -Y`F3z͗AּL BC.v.yN?^:) 7{p\vTwmv=Xsɬ$i}ҋ23|0`Ȓ_De}!R%elΜ(b (\>/P 974 0 R/Type/Annot/A 26969 0 R/Subtype/Link/Rect[129.600998 392.628998 395.904999 412.30899]/Border[0 0 0]/H/N>> -endobj - -26969 0 obj -<> -endobj - -26970 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -26971 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -26972 0 obj -<> -endobj - -26973 0 obj -<> -endobj - -26974 0 obj -<> -endobj - -26975 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -26976 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -26977 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -26978 0 obj -<> -stream -HW]F|篘 kX/r82 K[Iy_7IYbw{IQⰚ>ϲO?ח*S?xm[BtnU;jM2uUjՋzԛkj[n<9N5I","h"+|\oUWlfC_Vytu麭g>~Od:̋yis io Q2urme%~nXLu6r"D1c$!/G1`YCVXԻ1<ŀe{;c1Np{/̽{>s9s_ }!/Rp_2d>2QpzMKMb{KZ!{KZ!KpϺ -]K1d YZk),k),=Z+t-Ő%g]kkеCubbܳBR Y{ֵVZm't-ŐS XBR Y=ŐS XBR Y{ֵNZ!KpϺ ]K1` ]K1d Y:k),=Z't-ŀ%t-Ő%g]넮kееCubܳuBRlxk),bb),bbܳBR Y{ֵ^ZKZ!KpϺ ]K1d Yzk),k),=Z/t-Ő%g]녮kеCub$]K1dqеCwO1dqQߓ&y>Os$q (Uyi$o"]Uq\?U0z{qo/3왚QTy:Ey~i?&EʾԱ/:v77mթ^=VVO΅dhj0|`;{ -Nm,^AYP,66ÚEQ}L$Ӧ'>qzu(ƶ ҏ|CVXL ZiyA3 hrA+gZ3B*V!hLJU -Z%ӊVdZQЊT XCעe ӲeZVbB),A --{+bX{!KbB),A --{+bX{!kQ ZA ˽rO1X-{'b8 -Z,N=pX{(*h;!!SbwB)CrS GA \bZPbB)rS G>A |˽rO1-{/b8 Z,^=pLX{&h{!LbB)עpX0XåÀN0 oMx"Gb(U̔ifJ|uUuwn&100td0Jz{Uzmܨsժ}۫/F5SG߇;:{3>_ݾKx)yݪZJ68LkZUj뿪XW25f}j-4^ujv&!pR0>r!WЇT@EKRjliCs8\mgm Xk\U͸ Wm=}g\ Wz;RvV|"8lLQTVrq 8<nsXTMy1LTM"txcEۃbx5=v/OǸےNd dgNo3 zvܭm@9@h t8yU]nT]~#y?D?>p\G{23y{T7wQ@la üXimrKf]g@WCh;=M $yar=dگhr_>öy)Boxx2l+&)4!!*S8bAw -DY[;t6ƊHqn}]Gp7v~S1+On RO;ӠF.oH#{Q0gQ㹻^"#[7/kn4TN{ݻj߽[nF$UYfxQqљXz"ݰ,b< T%;)SʌՈS6 mKny&C-!X GVu$VSI$_C -Q:ʼRyzm߾uv\L_e rmd`(;M`Lr}˹jSrѭ}fh^AZ"Y$9}̃%R4+!a,+Y`>[. ;Hc5;[xz@'#xag2_7Ƕ% -XeIppwy -I/JڍxkoqsL`lMDGEb -7T*"їusn:KMEĮ|LJendstream -endobj - -26979 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -26980 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -26981 0 obj -<> -endobj - -26982 0 obj -<> -endobj - -26983 0 obj -<> -endobj - -26984 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -26985 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -26986 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -26987 0 obj -<> -stream -HWko6_A` |4iMӍ h8#ɕ4(%7Ţ:9<乼:5k:wׯ\^LL%RƜ$#NFۀ.}Q(u9i5'mfWAYmP$)Yŵλ-L0?Yb"Y[r&LjS O}O< >ԧS"SOB+OB{ei] 8Z3,_ q WbB\b\׺a!=rĵ.,ĵ.fXzϵqs-G\bB\b\׺a!=rĵ.,ĵ.fXzϵqs-G\be ׺a] Xk]̰|.fXzZ3,DZ QV u1`!u1B{k]̰kZZ3,DZ QV u1`!u1B{k]̰kZ+ WbB\bw1ջ׺a!=Jĵ.fXzϵq qsD\b\+׺׺a!=Jĵ.fXzϵq qsD\b\+׺XDk]̰|.,ĵ.fXz3,_ -RPo2*8_08_8VdU+!k3rVwdSl,]luc~t;h}zWFVv1nCa"/\}34Т4ZxxL!ww64t'aJkyo4:B`ui9ۺ37Uat$}R0=r !;6@3RQՐƤ+[꼮6a2I]%zNp{cEd1$ڠBvoKuE]m,bl,c+ -ۓ"R;ǽ*G}ֶDMYFi;sJ90_ӛ3'H󂃷!KرD'MwoDtB[V.4Z$_&w ~s}yf'0F𨳏knMu#~ttEhnqTtg~ɔ0bwPǞ)v2CrLުަ)2EI;Q!Nr6)c'jdt(c:藇'kHZ>U"5I$PN:fմeUxr͜*|NDV9f)hlg|^\=b[;>ax苧]ۍ mWySy Gd욥Ԟ 1H=7^W-Wr\(ǖ9UF3勈Ż鲢=Vcev);Mpnd(n1P6(۬FpG AQ_{t3` wtf|aOz&Ӷ*7-O\%w&»~, F$sq7Gݨ3/+20]% -&CtNY*dSb&PD%P-эݹTr ;nP B̞4 Ş,{bѧ,)?j,e6LTAٳ-sho+5 %\pڳNEAt:;y%>SپvhߡL<:/L`8x^q҄xd}ti^A$,VwX^>PagvtnlIћeS9&l)Z)U3yUf&,arhXaJ}ů>]x_.quLoN()? !P*'ӖWdYg:4 #g̻F>0!).70?>\jzJA<jt6vwQW; ՇA ʬ} RIPro)c8Ӝ43>en6߷4Ӗ bn44Y9v>0&)/u8٧Ϋ4"f>r~t~V٘qhF=6!IɎ  ˢ:f>MPʫ?I_*/endstream -endobj - -26988 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -26989 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -26990 0 obj -<> -endobj - -26991 0 obj -<> -endobj - -26992 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -26993 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -26994 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -26995 0 obj -<> -stream -HWn9} xh/@`rفLh v%+I﷪d5ENP:,T/>̶;Żחo`/_zO# WfN14mlvH`U_כfXbζ⧏?4Th&`gytL.׷kX+ Di# -hh7&{n>ߟoݲ&j)j&KL0RUn%el*.eI>JU^U^u^u^uMMmmm]]}}}>C>C>c> JBm(B Q%(B Q%܆}n܆(}ZE6!`_Vm"TE/T6D *B Pjsj܆(}ZE6PmnCP"TE/TU 6Ds6DsJ Pjsj5܆(}ZM6PmnCP&TE/T 6@m"Մjsj5(B QBPmnCP&TV!TUm"TUm*6@m"5jsj (B QBPmnCP!TE6!`_m"5js6D B QBPmn[5PmnCT>PmnCT>!dy0;_5Th& 90i7y0nZ|2.6oӟTfT99l׳gr'*z[eyK^!܇{9Q3'&pcM8We5hIJ(N -6TG? -~޶j <1ܼ_c$Qדfw -cՁ{/Cݙ\9Hfm2z A s=i׻-0`}Zdd RJv(*q;y -xRUnUOMd:(2}NDٗh;l ݶιz B\Dg,KanWEf/>ɔ|jm3Kre(e"S;xzױlڲ/ݧloљx x鰸̢L42wM Yu$p&̤}0u]#{XܯgCɰ'xO*gPjkjs۞/A&p<[i{sÆi*^mNeeiEx"w9_AN 4efK -y'q8MP? 0B^tG PEM2z70Z90$4Yq֊C$(dE} -') X=N&;H{2kr$?==ax~Ȅ38]u@b, ^SJZqZ%j ?4eMjmg9%)-G]YCM ->Qu^T?DjЎuXlvu{hדv0{T\.p;c' y˖b?%:&yڼ`x"7PP5VpԩS'H8nݵOcWl>[O8k!p'M4͠&(빂+P\#?JGK^jN<؇v1?Qbum3L6A@}Z*e%Z {oQc?q T_ ;>Lı6  ]ձ? <)U8;9rT(*.l6O p?@@?<EL\O -V;h$8I^6=~x6v jڻw'Q\9eNH^F{41)RzJ@b)nI=.EqٝGGgm@n,_UH=wOv}mYU-zx?-w|whn]k~@ -pOT!B:DHU9Kn.c~o4׻esh2c\2_"Gcޞ|S D0;;d{`+rYnJX@`tc꫼Q -ǏU ba]S'"0`l_ri38kxgvm< -uS㿜Wn7}W8 }Te9u[%Er*Ԗ ]_%#\/̙αUTQ:D>,pO.CpUyā rj+ݓ3L|8@f[9@-G -ٖJhX]n|NAs #ac9b"s@im29uaomn_ -UDD2W&_cFhV(uB:!KKi=C0jKT,=v|AIVvH4>R&X(KT3s9TF(=x$,Igrq)!Aa9U䧥ᑪ,SUJZ HL7QҙJGSW:aK_aiZ1mh̰ uiS9b.|T&0W``2Tc :c v~[EYjPhH)s - I, e(9߇d}@e\oxQ>HLB0Fr2|8 næq4*,ᬱ\2ۿ,MbQ^-D#.j~ -8LT:|ۖ.)VR, ک;N 9?+@LJ$/_w}]&(y벆\@Eqeu*qc{Í"ͅL4=~ÊV-[XX*RɎG$ >Q!0X߻%F_wZu;I4Ⱦ f?2..(hl+1 nm]>5.B33KX+8KD*W&"m`:]PM*Oi fpX,UGҏ@\ tM-<ۖ98=DžR9TvL%DQ)29Ò6i/6QF8S4f6iV>vgٴ#ʥo$@G rۊTmMg'Od~`|:8tτ~^J8x|(X#@M)$׊Eq/QUf嶬d`Gm7' ve5Zr$ KLg(Tyę1_}'ϻСendstream -endobj - -26996 0 obj -<>/P 9381 0 R/Type/Annot/A 27519 0 R/Subtype/Link/Rect[213 669 225 678]/Border[0 0 0]/H/N>> -endobj - -26997 0 obj -<>/P 9381 0 R/Type/Annot/A 27515 0 R/Subtype/Link/Rect[187 659 201 668]/Border[0 0 0]/H/N>> -endobj - -26998 0 obj -<>/P 9381 0 R/Type/Annot/A 38927 0 R/Subtype/Link/Rect[203 659 217 668]/Border[0 0 0]/H/N>> -endobj - -26999 0 obj -<>/P 9381 0 R/Type/Annot/A 27510 0 R/Subtype/Link/Rect[219 659 233 668]/Border[0 0 0]/H/N>> -endobj - -27000 0 obj -<>/P 9381 0 R/Type/Annot/A 27506 0 R/Subtype/Link/Rect[235 659 252 669]/Border[0 0 0]/H/N>> -endobj - -27001 0 obj -<>/P 9381 0 R/Type/Annot/A 27502 0 R/Subtype/Link/Rect[253 659 267 668]/Border[0 0 0]/H/N>> -endobj - -27002 0 obj -<>/P 9381 0 R/Type/Annot/A 27498 0 R/Subtype/Link/Rect[269 659 285 669]/Border[0 0 0]/H/N>> -endobj - -27003 0 obj -<>/P 9381 0 R/Type/Annot/A 27494 0 R/Subtype/Link/Rect[286 659 298 668]/Border[0 0 0]/H/N>> -endobj - -27004 0 obj -<>/P 9381 0 R/Type/Annot/A 27490 0 R/Subtype/Link/Rect[189 649 201 658]/Border[0 0 0]/H/N>> -endobj - -27005 0 obj -<>/P 9381 0 R/Type/Annot/A 27486 0 R/Subtype/Link/Rect[202 639 218 649]/Border[0 0 0]/H/N>> -endobj - -27006 0 obj -<>/P 9381 0 R/Type/Annot/A 27482 0 R/Subtype/Link/Rect[219 639 233 648]/Border[0 0 0]/H/N>> -endobj - -27007 0 obj -<>/P 9381 0 R/Type/Annot/A 27478 0 R/Subtype/Link/Rect[235 639 249 648]/Border[0 0 0]/H/N>> -endobj - -27008 0 obj -<>/P 9381 0 R/Type/Annot/A 27474 0 R/Subtype/Link/Rect[251 639 265 648]/Border[0 0 0]/H/N>> -endobj - -27009 0 obj -<>/P 9381 0 R/Type/Annot/A 27469 0 R/Subtype/Link/Rect[267 639 281 648]/Border[0 0 0]/H/N>> -endobj - -27010 0 obj -<>/P 9381 0 R/Type/Annot/A 27466 0 R/Subtype/Link/Rect[283 639 295 648]/Border[0 0 0]/H/N>> -endobj - -27011 0 obj -<>/P 9381 0 R/Type/Annot/A 35037 0 R/Subtype/Link/Rect[189 629 203 638]/Border[0 0 0]/H/N>> -endobj - -27012 0 obj -<>/P 9381 0 R/Type/Annot/A 27459 0 R/Subtype/Link/Rect[205 629 217 638]/Border[0 0 0]/H/N>> -endobj - -27013 0 obj -<>/P 9381 0 R/Type/Annot/A 34210 0 R/Subtype/Link/Rect[206 619 220 628]/Border[0 0 0]/H/N>> -endobj - -27014 0 obj -<>/P 9381 0 R/Type/Annot/A 27452 0 R/Subtype/Link/Rect[222 619 236 628]/Border[0 0 0]/H/N>> -endobj - -27015 0 obj -<>/P 9381 0 R/Type/Annot/A 27448 0 R/Subtype/Link/Rect[238 619 252 628]/Border[0 0 0]/H/N>> -endobj - -27016 0 obj -<>/P 9381 0 R/Type/Annot/A 27444 0 R/Subtype/Link/Rect[254 619 271 629]/Border[0 0 0]/H/N>> -endobj - -27017 0 obj -<>/P 9381 0 R/Type/Annot/A 42351 0 R/Subtype/Link/Rect[272 619 284 628]/Border[0 0 0]/H/N>> -endobj - -27018 0 obj -<>/P 9381 0 R/Type/Annot/A 27437 0 R/Subtype/Link/Rect[189 609 201 618]/Border[0 0 0]/H/N>> -endobj - -27019 0 obj -<>/P 9381 0 R/Type/Annot/A 27433 0 R/Subtype/Link/Rect[202 599 216 608]/Border[0 0 0]/H/N>> -endobj - -27020 0 obj -<>/P 9381 0 R/Type/Annot/A 27429 0 R/Subtype/Link/Rect[218 599 232 608]/Border[0 0 0]/H/N>> -endobj - -27021 0 obj -<>/P 9381 0 R/Type/Annot/A 27425 0 R/Subtype/Link/Rect[234 599 248 608]/Border[0 0 0]/H/N>> -endobj - -27022 0 obj -<>/P 9381 0 R/Type/Annot/A 27421 0 R/Subtype/Link/Rect[250 599 264 608]/Border[0 0 0]/H/N>> -endobj - -27023 0 obj -<>/P 9381 0 R/Type/Annot/A 27417 0 R/Subtype/Link/Rect[266 599 282 609]/Border[0 0 0]/H/N>> -endobj - -27024 0 obj -<>/P 9381 0 R/Type/Annot/A 42060 0 R/Subtype/Link/Rect[283 599 297 608]/Border[0 0 0]/H/N>> -endobj - -27025 0 obj -<>/P 9381 0 R/Type/Annot/A 27410 0 R/Subtype/Link/Rect[299 599 311 608]/Border[0 0 0]/H/N>> -endobj - -27026 0 obj -<>/P 9381 0 R/Type/Annot/A 27406 0 R/Subtype/Link/Rect[189 589 201 598]/Border[0 0 0]/H/N>> -endobj - -27027 0 obj -<>/P 9381 0 R/Type/Annot/A 30216 0 R/Subtype/Link/Rect[206 579 218 588]/Border[0 0 0]/H/N>> -endobj - -27028 0 obj -<>/P 9381 0 R/Type/Annot/A 27398 0 R/Subtype/Link/Rect[189 569 201 578]/Border[0 0 0]/H/N>> -endobj - -27029 0 obj -<>/P 9381 0 R/Type/Annot/A 27395 0 R/Subtype/Link/Rect[216 559 226 568]/Border[0 0 0]/H/N>> -endobj - -27030 0 obj -<>/P 9381 0 R/Type/Annot/A 27391 0 R/Subtype/Link/Rect[228 559 238 568]/Border[0 0 0]/H/N>> -endobj - -27031 0 obj -<>/P 9381 0 R/Type/Annot/A 27387 0 R/Subtype/Link/Rect[240 559 248 568]/Border[0 0 0]/H/N>> -endobj - -27032 0 obj -<>/P 9381 0 R/Type/Annot/A 27383 0 R/Subtype/Link/Rect[202 549 219 559]/Border[0 0 0]/H/N>> -endobj - -27033 0 obj -<>/P 9381 0 R/Type/Annot/A 27378 0 R/Subtype/Link/Rect[220 549 232 558]/Border[0 0 0]/H/N>> -endobj - -27034 0 obj -<>/P 9381 0 R/Type/Annot/A 27372 0 R/Subtype/Link/Rect[202 539 212 548]/Border[0 0 0]/H/N>> -endobj - -27035 0 obj -<>/P 9381 0 R/Type/Annot/A 27368 0 R/Subtype/Link/Rect[214 539 222 548]/Border[0 0 0]/H/N>> -endobj - -27036 0 obj -<>/P 9381 0 R/Type/Annot/A 27363 0 R/Subtype/Link/Rect[202 529 212 538]/Border[0 0 0]/H/N>> -endobj - -27037 0 obj -<>/P 9381 0 R/Type/Annot/A 27359 0 R/Subtype/Link/Rect[214 529 222 538]/Border[0 0 0]/H/N>> -endobj - -27038 0 obj -<>/P 9381 0 R/Type/Annot/A 27356 0 R/Subtype/Link/Rect[205 519 213 528]/Border[0 0 0]/H/N>> -endobj - -27039 0 obj -<>/P 9381 0 R/Type/Annot/A 27352 0 R/Subtype/Link/Rect[196 509 208 518]/Border[0 0 0]/H/N>> -endobj - -27040 0 obj -<>/P 9381 0 R/Type/Annot/A 41394 0 R/Subtype/Link/Rect[174 499 182 508]/Border[0 0 0]/H/N>> -endobj - -27041 0 obj -<>/P 9381 0 R/Type/Annot/A 27345 0 R/Subtype/Link/Rect[199 489 205 498]/Border[0 0 0]/H/N>> -endobj - -27042 0 obj -<>/P 9381 0 R/Type/Annot/A 27340 0 R/Subtype/Link/Rect[207 489 213 498]/Border[0 0 0]/H/N>> -endobj - -27043 0 obj -<>/P 9381 0 R/Type/Annot/A 27335 0 R/Subtype/Link/Rect[215 489 228 499]/Border[0 0 0]/H/N>> -endobj - -27044 0 obj -<>/P 9381 0 R/Type/Annot/A 27331 0 R/Subtype/Link/Rect[228 489 238 498]/Border[0 0 0]/H/N>> -endobj - -27045 0 obj -<>/P 9381 0 R/Type/Annot/A 27327 0 R/Subtype/Link/Rect[240 489 250 498]/Border[0 0 0]/H/N>> -endobj - -27046 0 obj -<>/P 9381 0 R/Type/Annot/A 41163 0 R/Subtype/Link/Rect[252 489 265 499]/Border[0 0 0]/H/N>> -endobj - -27047 0 obj -<>/P 9381 0 R/Type/Annot/A 41141 0 R/Subtype/Link/Rect[266 489 276 498]/Border[0 0 0]/H/N>> -endobj - -27048 0 obj -<>/P 9381 0 R/Type/Annot/A 27538 0 R/Subtype/Link/Rect[278 489 292 498]/Border[0 0 0]/H/N>> -endobj - -27049 0 obj -<>/P 9381 0 R/Type/Annot/A 27536 0 R/Subtype/Link/Rect[294 489 306 498]/Border[0 0 0]/H/N>> -endobj - -27050 0 obj -<>/P 9381 0 R/Type/Annot/A 27534 0 R/Subtype/Link/Rect[188 479 204 489]/Border[0 0 0]/H/N>> -endobj - -27051 0 obj -<>/P 9381 0 R/Type/Annot/A 27531 0 R/Subtype/Link/Rect[205 479 217 488]/Border[0 0 0]/H/N>> -endobj - -27052 0 obj -<>/P 9381 0 R/Type/Annot/A 27528 0 R/Subtype/Link/Rect[244 469 256 478]/Border[0 0 0]/H/N>> -endobj - -27053 0 obj -<>/P 9381 0 R/Type/Annot/A 27525 0 R/Subtype/Link/Rect[197 459 213 469]/Border[0 0 0]/H/N>> -endobj - -27054 0 obj -<>/P 9381 0 R/Type/Annot/A 27522 0 R/Subtype/Link/Rect[214 459 227 468]/Border[0 0 0]/H/N>> -endobj - -27055 0 obj -<>/P 9381 0 R/Type/Annot/A 27518 0 R/Subtype/Link/Rect[229 459 243 468]/Border[0 0 0]/H/N>> -endobj - -27056 0 obj -<>/P 9381 0 R/Type/Annot/A 27514 0 R/Subtype/Link/Rect[245 459 259 468]/Border[0 0 0]/H/N>> -endobj - -27057 0 obj -<>/P 9381 0 R/Type/Annot/A 27512 0 R/Subtype/Link/Rect[261 459 273 468]/Border[0 0 0]/H/N>> -endobj - -27058 0 obj -<>/P 9381 0 R/Type/Annot/A 27508 0 R/Subtype/Link/Rect[189 449 201 458]/Border[0 0 0]/H/N>> -endobj - -27059 0 obj -<>/P 9381 0 R/Type/Annot/A 27504 0 R/Subtype/Link/Rect[216 439 230 448]/Border[0 0 0]/H/N>> -endobj - -27060 0 obj -<>/P 9381 0 R/Type/Annot/A 27500 0 R/Subtype/Link/Rect[232 439 246 448]/Border[0 0 0]/H/N>> -endobj - -27061 0 obj -<>/P 9381 0 R/Type/Annot/A 27496 0 R/Subtype/Link/Rect[248 439 260 448]/Border[0 0 0]/H/N>> -endobj - -27062 0 obj -<>/P 9381 0 R/Type/Annot/A 27492 0 R/Subtype/Link/Rect[189 429 201 438]/Border[0 0 0]/H/N>> -endobj - -27063 0 obj -<>/P 9381 0 R/Type/Annot/A 27488 0 R/Subtype/Link/Rect[197 419 213 429]/Border[0 0 0]/H/N>> -endobj - -27064 0 obj -<>/P 9381 0 R/Type/Annot/A 27484 0 R/Subtype/Link/Rect[214 419 228 428]/Border[0 0 0]/H/N>> -endobj - -27065 0 obj -<>/P 9381 0 R/Type/Annot/A 27480 0 R/Subtype/Link/Rect[230 419 244 428]/Border[0 0 0]/H/N>> -endobj - -27066 0 obj -<>/P 9381 0 R/Type/Annot/A 27476 0 R/Subtype/Link/Rect[246 419 260 428]/Border[0 0 0]/H/N>> -endobj - -27067 0 obj -<>/P 9381 0 R/Type/Annot/A 27472 0 R/Subtype/Link/Rect[262 419 274 428]/Border[0 0 0]/H/N>> -endobj - -27068 0 obj -<>/P 9381 0 R/Type/Annot/A 27468 0 R/Subtype/Link/Rect[189 409 201 418]/Border[0 0 0]/H/N>> -endobj - -27069 0 obj -<>/P 9381 0 R/Type/Annot/A 27465 0 R/Subtype/Link/Rect[206 399 223 409]/Border[0 0 0]/H/N>> -endobj - -27070 0 obj -<>/P 9381 0 R/Type/Annot/A 27462 0 R/Subtype/Link/Rect[223 399 237 408]/Border[0 0 0]/H/N>> -endobj - -27071 0 obj -<>/P 9381 0 R/Type/Annot/A 27458 0 R/Subtype/Link/Rect[239 399 253 408]/Border[0 0 0]/H/N>> -endobj - -27072 0 obj -<>/P 9381 0 R/Type/Annot/A 27455 0 R/Subtype/Link/Rect[255 399 267 408]/Border[0 0 0]/H/N>> -endobj - -27073 0 obj -<>/P 9381 0 R/Type/Annot/A 27451 0 R/Subtype/Link/Rect[189 389 201 398]/Border[0 0 0]/H/N>> -endobj - -27074 0 obj -<>/P 9381 0 R/Type/Annot/A 27447 0 R/Subtype/Link/Rect[221 379 235 388]/Border[0 0 0]/H/N>> -endobj - -27075 0 obj -<>/P 9381 0 R/Type/Annot/A 27443 0 R/Subtype/Link/Rect[237 379 251 388]/Border[0 0 0]/H/N>> -endobj - -27076 0 obj -<>/P 9381 0 R/Type/Annot/A 27440 0 R/Subtype/Link/Rect[253 379 265 388]/Border[0 0 0]/H/N>> -endobj - -27077 0 obj -<>/P 9381 0 R/Type/Annot/A 27436 0 R/Subtype/Link/Rect[189 369 201 378]/Border[0 0 0]/H/N>> -endobj - -27078 0 obj -<>/P 9381 0 R/Type/Annot/A 27278 0 R/Subtype/Link/Rect[236 359 250 368]/Border[0 0 0]/H/N>> -endobj - -27079 0 obj -<>/P 9381 0 R/Type/Annot/A 27430 0 R/Subtype/Link/Rect[252 359 266 368]/Border[0 0 0]/H/N>> -endobj - -27080 0 obj -<>/P 9381 0 R/Type/Annot/A 27426 0 R/Subtype/Link/Rect[268 359 282 368]/Border[0 0 0]/H/N>> -endobj - -27081 0 obj -<>/P 9381 0 R/Type/Annot/A 27422 0 R/Subtype/Link/Rect[284 359 298 368]/Border[0 0 0]/H/N>> -endobj - -27082 0 obj -<>/P 9381 0 R/Type/Annot/A 27418 0 R/Subtype/Link/Rect[151 349 163 358]/Border[0 0 0]/H/N>> -endobj - -27083 0 obj -<>/P 9381 0 R/Type/Annot/A 27415 0 R/Subtype/Link/Rect[193 339 207 348]/Border[0 0 0]/H/N>> -endobj - -27084 0 obj -<>/P 9381 0 R/Type/Annot/A 27413 0 R/Subtype/Link/Rect[209 339 221 348]/Border[0 0 0]/H/N>> -endobj - -27085 0 obj -<>/P 9381 0 R/Type/Annot/A 27409 0 R/Subtype/Link/Rect[187 329 204 339]/Border[0 0 0]/H/N>> -endobj - -27086 0 obj -<>/P 9381 0 R/Type/Annot/A 27405 0 R/Subtype/Link/Rect[204 329 218 338]/Border[0 0 0]/H/N>> -endobj - -27087 0 obj -<>/P 9381 0 R/Type/Annot/A 27401 0 R/Subtype/Link/Rect[220 329 234 338]/Border[0 0 0]/H/N>> -endobj - -27088 0 obj -<>/P 9381 0 R/Type/Annot/A 27397 0 R/Subtype/Link/Rect[236 329 250 338]/Border[0 0 0]/H/N>> -endobj - -27089 0 obj -<>/P 9381 0 R/Type/Annot/A 27393 0 R/Subtype/Link/Rect[252 329 266 338]/Border[0 0 0]/H/N>> -endobj - -27090 0 obj -<>/P 9381 0 R/Type/Annot/A 27389 0 R/Subtype/Link/Rect[268 329 280 338]/Border[0 0 0]/H/N>> -endobj - -27091 0 obj -<>/P 9381 0 R/Type/Annot/A 27385 0 R/Subtype/Link/Rect[211 319 227 329]/Border[0 0 0]/H/N>> -endobj - -27092 0 obj -<>/P 9381 0 R/Type/Annot/A 27381 0 R/Subtype/Link/Rect[228 319 242 328]/Border[0 0 0]/H/N>> -endobj - -27093 0 obj -<>/P 9381 0 R/Type/Annot/A 27375 0 R/Subtype/Link/Rect[244 319 261 329]/Border[0 0 0]/H/N>> -endobj - -27094 0 obj -<>/P 9381 0 R/Type/Annot/A 27370 0 R/Subtype/Link/Rect[261 319 275 328]/Border[0 0 0]/H/N>> -endobj - -27095 0 obj -<>/P 9381 0 R/Type/Annot/A 27366 0 R/Subtype/Link/Rect[277 319 291 328]/Border[0 0 0]/H/N>> -endobj - -27096 0 obj -<>/P 9381 0 R/Type/Annot/A 27361 0 R/Subtype/Link/Rect[293 319 307 328]/Border[0 0 0]/H/N>> -endobj - -27097 0 obj -<>/P 9381 0 R/Type/Annot/A 27358 0 R/Subtype/Link/Rect[151 309 165 318]/Border[0 0 0]/H/N>> -endobj - -27098 0 obj -<>/P 9381 0 R/Type/Annot/A 27354 0 R/Subtype/Link/Rect[167 309 179 318]/Border[0 0 0]/H/N>> -endobj - -27099 0 obj -<>/P 9381 0 R/Type/Annot/A 27350 0 R/Subtype/Link/Rect[208 299 218 308]/Border[0 0 0]/H/N>> -endobj - -27100 0 obj -<>/P 9381 0 R/Type/Annot/A 27347 0 R/Subtype/Link/Rect[220 299 230 308]/Border[0 0 0]/H/N>> -endobj - -27101 0 obj -<>/P 9381 0 R/Type/Annot/A 27343 0 R/Subtype/Link/Rect[232 299 246 308]/Border[0 0 0]/H/N>> -endobj - -27102 0 obj -<>/P 9381 0 R/Type/Annot/A 27338 0 R/Subtype/Link/Rect[248 299 262 308]/Border[0 0 0]/H/N>> -endobj - -27103 0 obj -<>/P 9381 0 R/Type/Annot/A 27333 0 R/Subtype/Link/Rect[264 299 278 308]/Border[0 0 0]/H/N>> -endobj - -27104 0 obj -<>/P 9381 0 R/Type/Annot/A 27329 0 R/Subtype/Link/Rect[151 289 167 299]/Border[0 0 0]/H/N>> -endobj - -27105 0 obj -<>/P 9381 0 R/Type/Annot/A 27325 0 R/Subtype/Link/Rect[168 289 182 298]/Border[0 0 0]/H/N>> -endobj - -27106 0 obj -<>/P 9381 0 R/Type/Annot/A 27322 0 R/Subtype/Link/Rect[184 289 198 298]/Border[0 0 0]/H/N>> -endobj - -27107 0 obj -<>/P 9381 0 R/Type/Annot/A 27320 0 R/Subtype/Link/Rect[200 289 217 299]/Border[0 0 0]/H/N>> -endobj - -27108 0 obj -<>/P 9381 0 R/Type/Annot/A 27544 0 R/Subtype/Link/Rect[217 289 231 298]/Border[0 0 0]/H/N>> -endobj - -27109 0 obj -<>/P 9381 0 R/Type/Annot/A 27540 0 R/Subtype/Link/Rect[233 289 250 299]/Border[0 0 0]/H/N>> -endobj - -27110 0 obj -<>/P 9381 0 R/Type/Annot/A 27537 0 R/Subtype/Link/Rect[251 289 265 298]/Border[0 0 0]/H/N>> -endobj - -27111 0 obj -<>/P 9381 0 R/Type/Annot/A 27535 0 R/Subtype/Link/Rect[267 289 281 298]/Border[0 0 0]/H/N>> -endobj - -27112 0 obj -<>/P 9381 0 R/Type/Annot/A 27532 0 R/Subtype/Link/Rect[283 289 297 298]/Border[0 0 0]/H/N>> -endobj - -27113 0 obj -<>/P 9381 0 R/Type/Annot/A 27529 0 R/Subtype/Link/Rect[151 279 165 288]/Border[0 0 0]/H/N>> -endobj - -27114 0 obj -<>/P 9381 0 R/Type/Annot/A 27526 0 R/Subtype/Link/Rect[167 279 181 288]/Border[0 0 0]/H/N>> -endobj - -27115 0 obj -<>/P 9381 0 R/Type/Annot/A 27524 0 R/Subtype/Link/Rect[183 279 197 288]/Border[0 0 0]/H/N>> -endobj - -27116 0 obj -<>/P 9381 0 R/Type/Annot/A 27521 0 R/Subtype/Link/Rect[199 279 213 288]/Border[0 0 0]/H/N>> -endobj - -27117 0 obj -<>/P 9381 0 R/Type/Annot/A 27517 0 R/Subtype/Link/Rect[215 279 229 288]/Border[0 0 0]/H/N>> -endobj - -27118 0 obj -<>/P 9381 0 R/Type/Annot/A 27302 0 R/Subtype/Link/Rect[231 279 245 288]/Border[0 0 0]/H/N>> -endobj - -27119 0 obj -<>/P 9381 0 R/Type/Annot/A 27513 0 R/Subtype/Link/Rect[247 279 261 288]/Border[0 0 0]/H/N>> -endobj - -27120 0 obj -<>/P 9381 0 R/Type/Annot/A 27509 0 R/Subtype/Link/Rect[263 279 279 289]/Border[0 0 0]/H/N>> -endobj - -27121 0 obj -<>/P 9381 0 R/Type/Annot/A 27505 0 R/Subtype/Link/Rect[280 279 294 288]/Border[0 0 0]/H/N>> -endobj - -27122 0 obj -<>/P 9381 0 R/Type/Annot/A 27501 0 R/Subtype/Link/Rect[296 279 310 288]/Border[0 0 0]/H/N>> -endobj - -27123 0 obj -<>/P 9381 0 R/Type/Annot/A 27497 0 R/Subtype/Link/Rect[151 269 167 279]/Border[0 0 0]/H/N>> -endobj - -27124 0 obj -<>/P 9381 0 R/Type/Annot/A 27493 0 R/Subtype/Link/Rect[168 269 182 278]/Border[0 0 0]/H/N>> -endobj - -27125 0 obj -<>/P 9381 0 R/Type/Annot/A 27489 0 R/Subtype/Link/Rect[184 269 198 278]/Border[0 0 0]/H/N>> -endobj - -27126 0 obj -<>/P 9381 0 R/Type/Annot/A 27485 0 R/Subtype/Link/Rect[200 269 214 278]/Border[0 0 0]/H/N>> -endobj - -27127 0 obj -<>/P 9381 0 R/Type/Annot/A 27481 0 R/Subtype/Link/Rect[216 269 230 278]/Border[0 0 0]/H/N>> -endobj - -27128 0 obj -<>/P 9381 0 R/Type/Annot/A 27477 0 R/Subtype/Link/Rect[232 269 246 278]/Border[0 0 0]/H/N>> -endobj - -27129 0 obj -<>/P 9381 0 R/Type/Annot/A 27473 0 R/Subtype/Link/Rect[248 269 265 279]/Border[0 0 0]/H/N>> -endobj - -27130 0 obj -<>/P 9381 0 R/Type/Annot/A 27470 0 R/Subtype/Link/Rect[265 269 279 278]/Border[0 0 0]/H/N>> -endobj - -27131 0 obj -<>/P 9381 0 R/Type/Annot/A 27467 0 R/Subtype/Link/Rect[281 269 295 278]/Border[0 0 0]/H/N>> -endobj - -27132 0 obj -<>/P 9381 0 R/Type/Annot/A 27464 0 R/Subtype/Link/Rect[151 259 165 268]/Border[0 0 0]/H/N>> -endobj - -27133 0 obj -<>/P 9381 0 R/Type/Annot/A 27461 0 R/Subtype/Link/Rect[167 259 181 268]/Border[0 0 0]/H/N>> -endobj - -27134 0 obj -<>/P 9381 0 R/Type/Annot/A 27457 0 R/Subtype/Link/Rect[183 259 195 268]/Border[0 0 0]/H/N>> -endobj - -27135 0 obj -<>/P 9381 0 R/Type/Annot/A 27454 0 R/Subtype/Link/Rect[197 249 211 258]/Border[0 0 0]/H/N>> -endobj - -27136 0 obj -<>/P 9381 0 R/Type/Annot/A 27450 0 R/Subtype/Link/Rect[213 249 227 258]/Border[0 0 0]/H/N>> -endobj - -27137 0 obj -<>/P 9381 0 R/Type/Annot/A 27446 0 R/Subtype/Link/Rect[229 249 243 258]/Border[0 0 0]/H/N>> -endobj - -27138 0 obj -<>/P 9381 0 R/Type/Annot/A 27442 0 R/Subtype/Link/Rect[245 249 257 258]/Border[0 0 0]/H/N>> -endobj - -27139 0 obj -<>/P 9381 0 R/Type/Annot/A 27439 0 R/Subtype/Link/Rect[189 239 201 248]/Border[0 0 0]/H/N>> -endobj - -27140 0 obj -<>/P 9381 0 R/Type/Annot/A 27435 0 R/Subtype/Link/Rect[211 229 228 239]/Border[0 0 0]/H/N>> -endobj - -27141 0 obj -<>/P 9381 0 R/Type/Annot/A 27432 0 R/Subtype/Link/Rect[229 229 243 238]/Border[0 0 0]/H/N>> -endobj - -27142 0 obj -<>/P 9381 0 R/Type/Annot/A 27428 0 R/Subtype/Link/Rect[245 229 257 238]/Border[0 0 0]/H/N>> -endobj - -27143 0 obj -<>/P 9381 0 R/Type/Annot/A 27424 0 R/Subtype/Link/Rect[189 219 201 228]/Border[0 0 0]/H/N>> -endobj - -27144 0 obj -<>/P 9381 0 R/Type/Annot/A 27420 0 R/Subtype/Link/Rect[192 209 204 218]/Border[0 0 0]/H/N>> -endobj - -27145 0 obj -<>/P 9381 0 R/Type/Annot/A 27416 0 R/Subtype/Link/Rect[196 199 206 208]/Border[0 0 0]/H/N>> -endobj - -27146 0 obj -<>/P 9381 0 R/Type/Annot/A 27414 0 R/Subtype/Link/Rect[208 199 222 208]/Border[0 0 0]/H/N>> -endobj - -27147 0 obj -<>/P 9381 0 R/Type/Annot/A 27411 0 R/Subtype/Link/Rect[224 199 238 208]/Border[0 0 0]/H/N>> -endobj - -27148 0 obj -<>/P 9381 0 R/Type/Annot/A 27407 0 R/Subtype/Link/Rect[240 199 254 208]/Border[0 0 0]/H/N>> -endobj - -27149 0 obj -<>/P 9381 0 R/Type/Annot/A 27404 0 R/Subtype/Link/Rect[256 199 270 208]/Border[0 0 0]/H/N>> -endobj - -27150 0 obj -<>/P 9381 0 R/Type/Annot/A 27400 0 R/Subtype/Link/Rect[272 199 286 208]/Border[0 0 0]/H/N>> -endobj - -27151 0 obj -<>/P 9381 0 R/Type/Annot/A 27377 0 R/Subtype/Link/Rect[288 199 302 208]/Border[0 0 0]/H/N>> -endobj - -27152 0 obj -<>/P 9381 0 R/Type/Annot/A 27394 0 R/Subtype/Link/Rect[151 189 165 198]/Border[0 0 0]/H/N>> -endobj - -27153 0 obj -<>/P 9381 0 R/Type/Annot/A 27390 0 R/Subtype/Link/Rect[167 189 181 198]/Border[0 0 0]/H/N>> -endobj - -27154 0 obj -<>/P 9381 0 R/Type/Annot/A 27386 0 R/Subtype/Link/Rect[183 189 197 198]/Border[0 0 0]/H/N>> -endobj - -27155 0 obj -<>/P 9381 0 R/Type/Annot/A 27382 0 R/Subtype/Link/Rect[199 189 211 198]/Border[0 0 0]/H/N>> -endobj - -27156 0 obj -<>/P 9381 0 R/Type/Annot/A 27376 0 R/Subtype/Link/Rect[231 179 245 188]/Border[0 0 0]/H/N>> -endobj - -27157 0 obj -<>/P 9381 0 R/Type/Annot/A 27371 0 R/Subtype/Link/Rect[247 179 259 188]/Border[0 0 0]/H/N>> -endobj - -27158 0 obj -<>/P 9381 0 R/Type/Annot/A 27367 0 R/Subtype/Link/Rect[199 169 213 178]/Border[0 0 0]/H/N>> -endobj - -27159 0 obj -<>/P 9381 0 R/Type/Annot/A 27362 0 R/Subtype/Link/Rect[215 169 229 178]/Border[0 0 0]/H/N>> -endobj - -27160 0 obj -<>/P 9381 0 R/Type/Annot/A 27337 0 R/Subtype/Link/Rect[231 169 245 178]/Border[0 0 0]/H/N>> -endobj - -27161 0 obj -<>/P 9381 0 R/Type/Annot/A 27355 0 R/Subtype/Link/Rect[247 169 259 178]/Border[0 0 0]/H/N>> -endobj - -27162 0 obj -<>/P 9381 0 R/Type/Annot/A 27351 0 R/Subtype/Link/Rect[211 159 228 169]/Border[0 0 0]/H/N>> -endobj - -27163 0 obj -<>/P 9381 0 R/Type/Annot/A 27348 0 R/Subtype/Link/Rect[229 159 241 168]/Border[0 0 0]/H/N>> -endobj - -27164 0 obj -<>/P 9381 0 R/Type/Annot/A 27346 0 R/Subtype/Link/Rect[221 149 238 159]/Border[0 0 0]/H/N>> -endobj - -27165 0 obj -<>/P 9381 0 R/Type/Annot/A 27341 0 R/Subtype/Link/Rect[238 149 252 158]/Border[0 0 0]/H/N>> -endobj - -27166 0 obj -<>/P 9381 0 R/Type/Annot/A 27336 0 R/Subtype/Link/Rect[254 149 266 158]/Border[0 0 0]/H/N>> -endobj - -27167 0 obj -<>/P 9381 0 R/Type/Annot/A 27332 0 R/Subtype/Link/Rect[424 669 441 679]/Border[0 0 0]/H/N>> -endobj - -27168 0 obj -<>/P 9381 0 R/Type/Annot/A 27328 0 R/Subtype/Link/Rect[441 669 453 678]/Border[0 0 0]/H/N>> -endobj - -27169 0 obj -<>/P 9381 0 R/Type/Annot/A 27324 0 R/Subtype/Link/Rect[429 659 446 669]/Border[0 0 0]/H/N>> -endobj - -27170 0 obj -<>/P 9381 0 R/Type/Annot/A 27321 0 R/Subtype/Link/Rect[446 659 458 668]/Border[0 0 0]/H/N>> -endobj - -27171 0 obj -<>/P 9381 0 R/Type/Annot/A 27318 0 R/Subtype/Link/Rect[434 649 450 659]/Border[0 0 0]/H/N>> -endobj - -27172 0 obj -<>/P 9381 0 R/Type/Annot/A 27316 0 R/Subtype/Link/Rect[451 649 465 658]/Border[0 0 0]/H/N>> -endobj - -27173 0 obj -<>/P 9381 0 R/Type/Annot/A 27314 0 R/Subtype/Link/Rect[467 649 479 658]/Border[0 0 0]/H/N>> -endobj - -27174 0 obj -<>/P 9381 0 R/Type/Annot/A 27312 0 R/Subtype/Link/Rect[448 639 462 648]/Border[0 0 0]/H/N>> -endobj - -27175 0 obj -<>/P 9381 0 R/Type/Annot/A 27310 0 R/Subtype/Link/Rect[464 639 476 648]/Border[0 0 0]/H/N>> -endobj - -27176 0 obj -<>/P 9381 0 R/Type/Annot/A 27309 0 R/Subtype/Link/Rect[443 629 460 639]/Border[0 0 0]/H/N>> -endobj - -27177 0 obj -<>/P 9381 0 R/Type/Annot/A 27308 0 R/Subtype/Link/Rect[461 629 473 638]/Border[0 0 0]/H/N>> -endobj - -27178 0 obj -<>/P 9381 0 R/Type/Annot/A 27307 0 R/Subtype/Link/Rect[448 619 462 628]/Border[0 0 0]/H/N>> -endobj - -27179 0 obj -<>/P 9381 0 R/Type/Annot/A 27305 0 R/Subtype/Link/Rect[464 619 476 628]/Border[0 0 0]/H/N>> -endobj - -27180 0 obj -<>/P 9381 0 R/Type/Annot/A 27304 0 R/Subtype/Link/Rect[429 609 443 618]/Border[0 0 0]/H/N>> -endobj - -27181 0 obj -<>/P 9381 0 R/Type/Annot/A 27303 0 R/Subtype/Link/Rect[445 609 457 618]/Border[0 0 0]/H/N>> -endobj - -27182 0 obj -<>/P 9381 0 R/Type/Annot/A 27301 0 R/Subtype/Link/Rect[439 599 455 609]/Border[0 0 0]/H/N>> -endobj - -27183 0 obj -<>/P 9381 0 R/Type/Annot/A 27300 0 R/Subtype/Link/Rect[456 599 470 608]/Border[0 0 0]/H/N>> -endobj - -27184 0 obj -<>/P 9381 0 R/Type/Annot/A 27299 0 R/Subtype/Link/Rect[472 599 486 608]/Border[0 0 0]/H/N>> -endobj - -27185 0 obj -<>/P 9381 0 R/Type/Annot/A 27298 0 R/Subtype/Link/Rect[488 599 500 608]/Border[0 0 0]/H/N>> -endobj - -27186 0 obj -<>/P 9381 0 R/Type/Annot/A 27297 0 R/Subtype/Link/Rect[434 589 450 599]/Border[0 0 0]/H/N>> -endobj - -27187 0 obj -<>/P 9381 0 R/Type/Annot/A 27296 0 R/Subtype/Link/Rect[451 589 463 598]/Border[0 0 0]/H/N>> -endobj - -27188 0 obj -<>/P 9381 0 R/Type/Annot/A 27295 0 R/Subtype/Link/Rect[429 579 443 588]/Border[0 0 0]/H/N>> -endobj - -27189 0 obj -<>/P 9381 0 R/Type/Annot/A 27294 0 R/Subtype/Link/Rect[445 579 457 588]/Border[0 0 0]/H/N>> -endobj - -27190 0 obj -<>/P 9381 0 R/Type/Annot/A 27293 0 R/Subtype/Link/Rect[424 569 441 579]/Border[0 0 0]/H/N>> -endobj - -27191 0 obj -<>/P 9381 0 R/Type/Annot/A 27292 0 R/Subtype/Link/Rect[441 569 453 578]/Border[0 0 0]/H/N>> -endobj - -27192 0 obj -<>/P 9381 0 R/Type/Annot/A 27291 0 R/Subtype/Link/Rect[439 559 455 569]/Border[0 0 0]/H/N>> -endobj - -27193 0 obj -<>/P 9381 0 R/Type/Annot/A 27290 0 R/Subtype/Link/Rect[456 559 468 568]/Border[0 0 0]/H/N>> -endobj - -27194 0 obj -<>/P 9381 0 R/Type/Annot/A 27289 0 R/Subtype/Link/Rect[458 549 472 558]/Border[0 0 0]/H/N>> -endobj - -27195 0 obj -<>/P 9381 0 R/Type/Annot/A 27288 0 R/Subtype/Link/Rect[474 549 486 558]/Border[0 0 0]/H/N>> -endobj - -27196 0 obj -<>/P 9381 0 R/Type/Annot/A 27287 0 R/Subtype/Link/Rect[434 539 448 548]/Border[0 0 0]/H/N>> -endobj - -27197 0 obj -<>/P 9381 0 R/Type/Annot/A 27286 0 R/Subtype/Link/Rect[450 539 462 548]/Border[0 0 0]/H/N>> -endobj - -27198 0 obj -<>/P 9381 0 R/Type/Annot/A 27285 0 R/Subtype/Link/Rect[429 529 443 538]/Border[0 0 0]/H/N>> -endobj - -27199 0 obj -<>/P 9381 0 R/Type/Annot/A 27284 0 R/Subtype/Link/Rect[445 529 457 538]/Border[0 0 0]/H/N>> -endobj - -27200 0 obj -<>/P 9381 0 R/Type/Annot/A 27282 0 R/Subtype/Link/Rect[429 519 443 528]/Border[0 0 0]/H/N>> -endobj - -27201 0 obj -<>/P 9381 0 R/Type/Annot/A 27281 0 R/Subtype/Link/Rect[445 519 457 528]/Border[0 0 0]/H/N>> -endobj - -27202 0 obj -<>/P 9381 0 R/Type/Annot/A 27280 0 R/Subtype/Link/Rect[408 509 418 518]/Border[0 0 0]/H/N>> -endobj - -27203 0 obj -<>/P 9381 0 R/Type/Annot/A 27279 0 R/Subtype/Link/Rect[420 509 432 518]/Border[0 0 0]/H/N>> -endobj - -27204 0 obj -<>/P 9381 0 R/Type/Annot/A 27277 0 R/Subtype/Link/Rect[406 499 420 508]/Border[0 0 0]/H/N>> -endobj - -27205 0 obj -<>/P 9381 0 R/Type/Annot/A 27402 0 R/Subtype/Link/Rect[422 499 439 509]/Border[0 0 0]/H/N>> -endobj - -27206 0 obj -<>/P 9381 0 R/Type/Annot/A 44791 0 R/Subtype/Link/Rect[439 499 451 508]/Border[0 0 0]/H/N>> -endobj - -27207 0 obj -<>/P 9381 0 R/Type/Annot/A 27392 0 R/Subtype/Link/Rect[411 489 425 498]/Border[0 0 0]/H/N>> -endobj - -27208 0 obj -<>/P 9381 0 R/Type/Annot/A 27388 0 R/Subtype/Link/Rect[427 489 441 498]/Border[0 0 0]/H/N>> -endobj - -27209 0 obj -<>/P 9381 0 R/Type/Annot/A 30238 0 R/Subtype/Link/Rect[443 489 457 498]/Border[0 0 0]/H/N>> -endobj - -27210 0 obj -<>/P 9381 0 R/Type/Annot/A 27380 0 R/Subtype/Link/Rect[459 489 471 498]/Border[0 0 0]/H/N>> -endobj - -27211 0 obj -<>/P 9381 0 R/Type/Annot/A 27374 0 R/Subtype/Link/Rect[387 479 401 488]/Border[0 0 0]/H/N>> -endobj - -27212 0 obj -<>/P 9381 0 R/Type/Annot/A 27369 0 R/Subtype/Link/Rect[403 479 415 488]/Border[0 0 0]/H/N>> -endobj - -27213 0 obj -<>/P 9381 0 R/Type/Annot/A 27365 0 R/Subtype/Link/Rect[400 469 414 478]/Border[0 0 0]/H/N>> -endobj - -27214 0 obj -<>/P 9381 0 R/Type/Annot/A 27360 0 R/Subtype/Link/Rect[416 469 432 479]/Border[0 0 0]/H/N>> -endobj - -27215 0 obj -<>/P 9381 0 R/Type/Annot/A 27357 0 R/Subtype/Link/Rect[432 469 446 478]/Border[0 0 0]/H/N>> -endobj - -27216 0 obj -<>/P 9381 0 R/Type/Annot/A 27353 0 R/Subtype/Link/Rect[448 469 462 478]/Border[0 0 0]/H/N>> -endobj - -27217 0 obj -<>/P 9381 0 R/Type/Annot/A 27349 0 R/Subtype/Link/Rect[464 469 481 479]/Border[0 0 0]/H/N>> -endobj - -27218 0 obj -<>/P 9381 0 R/Type/Annot/A 27344 0 R/Subtype/Link/Rect[482 469 496 478]/Border[0 0 0]/H/N>> -endobj - -27219 0 obj -<>/P 9381 0 R/Type/Annot/A 27339 0 R/Subtype/Link/Rect[498 469 510 478]/Border[0 0 0]/H/N>> -endobj - -27220 0 obj -<>/P 9381 0 R/Type/Annot/A 27334 0 R/Subtype/Link/Rect[397 459 409 468]/Border[0 0 0]/H/N>> -endobj - -27221 0 obj -<>/P 9381 0 R/Type/Annot/A 27330 0 R/Subtype/Link/Rect[405 449 419 458]/Border[0 0 0]/H/N>> -endobj - -27222 0 obj -<>/P 9381 0 R/Type/Annot/A 27326 0 R/Subtype/Link/Rect[421 449 433 458]/Border[0 0 0]/H/N>> -endobj - -27223 0 obj -<>/P 9381 0 R/Type/Annot/A 27323 0 R/Subtype/Link/Rect[395 439 412 449]/Border[0 0 0]/H/N>> -endobj - -27224 0 obj -<>/P 9381 0 R/Type/Annot/A 27319 0 R/Subtype/Link/Rect[413 439 425 448]/Border[0 0 0]/H/N>> -endobj - -27225 0 obj -<>/P 9381 0 R/Type/Annot/A 27317 0 R/Subtype/Link/Rect[385 419 391 428]/Border[0 0 0]/H/N>> -endobj - -27226 0 obj -<>/P 9381 0 R/Type/Annot/A 27315 0 R/Subtype/Link/Rect[393 419 399 428]/Border[0 0 0]/H/N>> -endobj - -27227 0 obj -<>/P 9381 0 R/Type/Annot/A 27313 0 R/Subtype/Link/Rect[401 419 411 428]/Border[0 0 0]/H/N>> -endobj - -27228 0 obj -<>/P 9381 0 R/Type/Annot/A 27311 0 R/Subtype/Link/Rect[413 419 427 428]/Border[0 0 0]/H/N>> -endobj - -27229 0 obj -<>/P 9381 0 R/Type/Annot/A 27541 0 R/Subtype/Link/Rect[429 419 443 428]/Border[0 0 0]/H/N>> -endobj - -27230 0 obj -<>/P 9381 0 R/Type/Annot/A 27539 0 R/Subtype/Link/Rect[445 419 459 428]/Border[0 0 0]/H/N>> -endobj - -27231 0 obj -<>/P 9381 0 R/Type/Annot/A 27306 0 R/Subtype/Link/Rect[461 419 475 428]/Border[0 0 0]/H/N>> -endobj - -27232 0 obj -<>/P 9381 0 R/Type/Annot/A 27533 0 R/Subtype/Link/Rect[477 419 491 428]/Border[0 0 0]/H/N>> -endobj - -27233 0 obj -<>/P 9381 0 R/Type/Annot/A 27530 0 R/Subtype/Link/Rect[493 419 505 428]/Border[0 0 0]/H/N>> -endobj - -27234 0 obj -<>/P 9381 0 R/Type/Annot/A 27527 0 R/Subtype/Link/Rect[393 409 401 418]/Border[0 0 0]/H/N>> -endobj - -27235 0 obj -<>/P 9381 0 R/Type/Annot/A 27523 0 R/Subtype/Link/Rect[406 399 418 408]/Border[0 0 0]/H/N>> -endobj - -27236 0 obj -<>/P 9381 0 R/Type/Annot/A 27520 0 R/Subtype/Link/Rect[411 389 423 398]/Border[0 0 0]/H/N>> -endobj - -27237 0 obj -<>/P 9381 0 R/Type/Annot/A 27516 0 R/Subtype/Link/Rect[349 379 363 388]/Border[0 0 0]/H/N>> -endobj - -27238 0 obj -<>/P 9381 0 R/Type/Annot/A 40737 0 R/Subtype/Link/Rect[367 379 381 388]/Border[0 0 0]/H/N>> -endobj - -27239 0 obj -<>/P 9381 0 R/Type/Annot/A 27511 0 R/Subtype/Link/Rect[383 379 400 389]/Border[0 0 0]/H/N>> -endobj - -27240 0 obj -<>/P 9381 0 R/Type/Annot/A 27507 0 R/Subtype/Link/Rect[401 379 413 388]/Border[0 0 0]/H/N>> -endobj - -27241 0 obj -<>/P 9381 0 R/Type/Annot/A 27503 0 R/Subtype/Link/Rect[416 369 430 378]/Border[0 0 0]/H/N>> -endobj - -27242 0 obj -<>/P 9381 0 R/Type/Annot/A 27499 0 R/Subtype/Link/Rect[432 369 444 378]/Border[0 0 0]/H/N>> -endobj - -27243 0 obj -<>/P 9381 0 R/Type/Annot/A 27495 0 R/Subtype/Link/Rect[419 359 429 368]/Border[0 0 0]/H/N>> -endobj - -27244 0 obj -<>/P 9381 0 R/Type/Annot/A 27491 0 R/Subtype/Link/Rect[431 359 439 368]/Border[0 0 0]/H/N>> -endobj - -27245 0 obj -<>/P 9381 0 R/Type/Annot/A 27487 0 R/Subtype/Link/Rect[391 349 405 358]/Border[0 0 0]/H/N>> -endobj - -27246 0 obj -<>/P 9381 0 R/Type/Annot/A 27483 0 R/Subtype/Link/Rect[407 349 421 358]/Border[0 0 0]/H/N>> -endobj - -27247 0 obj -<>/P 9381 0 R/Type/Annot/A 27479 0 R/Subtype/Link/Rect[423 349 437 358]/Border[0 0 0]/H/N>> -endobj - -27248 0 obj -<>/P 9381 0 R/Type/Annot/A 27475 0 R/Subtype/Link/Rect[439 349 453 358]/Border[0 0 0]/H/N>> -endobj - -27249 0 obj -<>/P 9381 0 R/Type/Annot/A 27471 0 R/Subtype/Link/Rect[455 349 467 358]/Border[0 0 0]/H/N>> -endobj - -27250 0 obj -<>/P 9381 0 R/Type/Annot/A 27283 0 R/Subtype/Link/Rect[411 339 423 348]/Border[0 0 0]/H/N>> -endobj - -27251 0 obj -<>/P 9381 0 R/Type/Annot/A 27463 0 R/Subtype/Link/Rect[394 291 402 300]/Border[0 0 0]/H/N>> -endobj - -27252 0 obj -<>/P 9381 0 R/Type/Annot/A 27460 0 R/Subtype/Link/Rect[387 281 399 290]/Border[0 0 0]/H/N>> -endobj - -27253 0 obj -<>/P 9381 0 R/Type/Annot/A 27456 0 R/Subtype/Link/Rect[392 271 404 280]/Border[0 0 0]/H/N>> -endobj - -27254 0 obj -<>/P 9381 0 R/Type/Annot/A 27453 0 R/Subtype/Link/Rect[445 251 457 260]/Border[0 0 0]/H/N>> -endobj - -27255 0 obj -<>/P 9381 0 R/Type/Annot/A 27449 0 R/Subtype/Link/Rect[405 241 419 250]/Border[0 0 0]/H/N>> -endobj - -27256 0 obj -<>/P 9381 0 R/Type/Annot/A 27445 0 R/Subtype/Link/Rect[421 241 435 250]/Border[0 0 0]/H/N>> -endobj - -27257 0 obj -<>/P 9381 0 R/Type/Annot/A 27441 0 R/Subtype/Link/Rect[437 241 451 250]/Border[0 0 0]/H/N>> -endobj - -27258 0 obj -<>/P 9381 0 R/Type/Annot/A 27438 0 R/Subtype/Link/Rect[453 241 467 250]/Border[0 0 0]/H/N>> -endobj - -27259 0 obj -<>/P 9381 0 R/Type/Annot/A 27434 0 R/Subtype/Link/Rect[469 241 485 251]/Border[0 0 0]/H/N>> -endobj - -27260 0 obj -<>/P 9381 0 R/Type/Annot/A 27431 0 R/Subtype/Link/Rect[486 241 500 250]/Border[0 0 0]/H/N>> -endobj - -27261 0 obj -<>/P 9381 0 R/Type/Annot/A 27427 0 R/Subtype/Link/Rect[502 241 514 250]/Border[0 0 0]/H/N>> -endobj - -27262 0 obj -<>/P 9381 0 R/Type/Annot/A 27423 0 R/Subtype/Link/Rect[426 231 438 240]/Border[0 0 0]/H/N>> -endobj - -27263 0 obj -<>/P 9381 0 R/Type/Annot/A 27419 0 R/Subtype/Link/Rect[434 221 448 230]/Border[0 0 0]/H/N>> -endobj - -27264 0 obj -<>/P 9381 0 R/Type/Annot/A 27342 0 R/Subtype/Link/Rect[450 221 466 231]/Border[0 0 0]/H/N>> -endobj - -27265 0 obj -<>/P 9381 0 R/Type/Annot/A 27412 0 R/Subtype/Link/Rect[467 221 479 230]/Border[0 0 0]/H/N>> -endobj - -27266 0 obj -<>/P 9381 0 R/Type/Annot/A 27408 0 R/Subtype/Link/Rect[410 211 422 220]/Border[0 0 0]/H/N>> -endobj - -27267 0 obj -<>/P 9381 0 R/Type/Annot/A 27403 0 R/Subtype/Link/Rect[403 201 415 210]/Border[0 0 0]/H/N>> -endobj - -27268 0 obj -<>/P 9381 0 R/Type/Annot/A 27399 0 R/Subtype/Link/Rect[434 191 446 200]/Border[0 0 0]/H/N>> -endobj - -27269 0 obj -<>/P 9381 0 R/Type/Annot/A 27396 0 R/Subtype/Link/Rect[434 181 448 190]/Border[0 0 0]/H/N>> -endobj - -27270 0 obj -<>/P 9381 0 R/Type/Annot/A 31075 0 R/Subtype/Link/Rect[450 181 462 190]/Border[0 0 0]/H/N>> -endobj - -27271 0 obj -<>/P 9381 0 R/Type/Annot/A 31026 0 R/Subtype/Link/Rect[424 171 438 180]/Border[0 0 0]/H/N>> -endobj - -27272 0 obj -<>/P 9381 0 R/Type/Annot/A 27384 0 R/Subtype/Link/Rect[440 171 452 180]/Border[0 0 0]/H/N>> -endobj - -27273 0 obj -<>/P 9381 0 R/Type/Annot/A 27379 0 R/Subtype/Link/Rect[424 151 436 160]/Border[0 0 0]/H/N>> -endobj - -27274 0 obj -<>/P 9381 0 R/Type/Annot/A 27373 0 R/Subtype/Link/Rect[380 260 397 269]/Border[0 0 0]/H/N>> -endobj - -27275 0 obj -<>/P 9381 0 R/Type/Annot/A 30169 0 R/Subtype/Link/Rect[184 198 194 207]/Border[0 0 0]/H/N>> -endobj - -27276 0 obj -<>/P 9381 0 R/Type/Annot/A 27364 0 R/Subtype/Link/Rect[383 200 402 209]/Border[0 0 0]/H/N>> -endobj - -27277 0 obj -<> -endobj - -27278 0 obj -<> -endobj - -27279 0 obj -<> -endobj - -27280 0 obj -<> -endobj - -27281 0 obj -<> -endobj - -27282 0 obj -<> -endobj - -27283 0 obj -<> -endobj - -27284 0 obj -<> -endobj - -27285 0 obj -<> -endobj - -27286 0 obj -<> -endobj - -27287 0 obj -<> -endobj - -27288 0 obj -<> -endobj - -27289 0 obj -<> -endobj - -27290 0 obj -<> -endobj - -27291 0 obj -<> -endobj - -27292 0 obj -<> -endobj - -27293 0 obj -<> -endobj - -27294 0 obj -<> -endobj - -27295 0 obj -<> -endobj - -27296 0 obj -<> -endobj - -27297 0 obj -<> -endobj - -27298 0 obj -<> -endobj - -27299 0 obj -<> -endobj - -27300 0 obj -<> -endobj - -27301 0 obj -<> -endobj - -27302 0 obj -<> -endobj - -27303 0 obj -<> -endobj - -27304 0 obj -<> -endobj - -27305 0 obj -<> -endobj - -27306 0 obj -<> -endobj - -27307 0 obj -<> -endobj - -27308 0 obj -<> -endobj - -27309 0 obj -<> -endobj - -27310 0 obj -<> -endobj - -27311 0 obj -<> -endobj - -27312 0 obj -<> -endobj - -27313 0 obj -<> -endobj - -27314 0 obj -<> -endobj - -27315 0 obj -<> -endobj - -27316 0 obj -<> -endobj - -27317 0 obj -<> -endobj - -27318 0 obj -<> -endobj - -27319 0 obj -<> -endobj - -27320 0 obj -<> -endobj - -27321 0 obj -<> -endobj - -27322 0 obj -<> -endobj - -27323 0 obj -<> -endobj - -27324 0 obj -<> -endobj - -27325 0 obj -<> -endobj - -27326 0 obj -<> -endobj - -27327 0 obj -<> -endobj - -27328 0 obj -<> -endobj - -27329 0 obj -<> -endobj - -27330 0 obj -<> -endobj - -27331 0 obj -<> -endobj - -27332 0 obj -<> -endobj - -27333 0 obj -<> -endobj - -27334 0 obj -<> -endobj - -27335 0 obj -<> -endobj - -27336 0 obj -<> -endobj - -27337 0 obj -<> -endobj - -27338 0 obj -<> -endobj - -27339 0 obj -<> -endobj - -27340 0 obj -<> -endobj - -27341 0 obj -<> -endobj - -27342 0 obj -<> -endobj - -27343 0 obj -<> -endobj - -27344 0 obj -<> -endobj - -27345 0 obj -<> -endobj - -27346 0 obj -<> -endobj - -27347 0 obj -<> -endobj - -27348 0 obj -<> -endobj - -27349 0 obj -<> -endobj - -27350 0 obj -<> -endobj - -27351 0 obj -<> -endobj - -27352 0 obj -<> -endobj - -27353 0 obj -<> -endobj - -27354 0 obj -<> -endobj - -27355 0 obj -<> -endobj - -27356 0 obj -<> -endobj - -27357 0 obj -<> -endobj - -27358 0 obj -<> -endobj - -27359 0 obj -<> -endobj - -27360 0 obj -<> -endobj - -27361 0 obj -<> -endobj - -27362 0 obj -<> -endobj - -27363 0 obj -<> -endobj - -27364 0 obj -<> -endobj - -27365 0 obj -<> -endobj - -27366 0 obj -<> -endobj - -27367 0 obj -<> -endobj - -27368 0 obj -<> -endobj - -27369 0 obj -<> -endobj - -27370 0 obj -<> -endobj - -27371 0 obj -<> -endobj - -27372 0 obj -<> -endobj - -27373 0 obj -<> -endobj - -27374 0 obj -<> -endobj - -27375 0 obj -<> -endobj - -27376 0 obj -<> -endobj - -27377 0 obj -<> -endobj - -27378 0 obj -<> -endobj - -27379 0 obj -<> -endobj - -27380 0 obj -<> -endobj - -27381 0 obj -<> -endobj - -27382 0 obj -<> -endobj - -27383 0 obj -<> -endobj - -27384 0 obj -<> -endobj - -27385 0 obj -<> -endobj - -27386 0 obj -<> -endobj - -27387 0 obj -<> -endobj - -27388 0 obj -<> -endobj - -27389 0 obj -<> -endobj - -27390 0 obj -<> -endobj - -27391 0 obj -<> -endobj - -27392 0 obj -<> -endobj - -27393 0 obj -<> -endobj - -27394 0 obj -<> -endobj - -27395 0 obj -<> -endobj - -27396 0 obj -<> -endobj - -27397 0 obj -<> -endobj - -27398 0 obj -<> -endobj - -27399 0 obj -<> -endobj - -27400 0 obj -<> -endobj - -27401 0 obj -<> -endobj - -27402 0 obj -<> -endobj - -27403 0 obj -<> -endobj - -27404 0 obj -<> -endobj - -27405 0 obj -<> -endobj - -27406 0 obj -<> -endobj - -27407 0 obj -<> -endobj - -27408 0 obj -<> -endobj - -27409 0 obj -<> -endobj - -27410 0 obj -<> -endobj - -27411 0 obj -<> -endobj - -27412 0 obj -<> -endobj - -27413 0 obj -<> -endobj - -27414 0 obj -<> -endobj - -27415 0 obj -<> -endobj - -27416 0 obj -<> -endobj - -27417 0 obj -<> -endobj - -27418 0 obj -<> -endobj - -27419 0 obj -<> -endobj - -27420 0 obj -<> -endobj - -27421 0 obj -<> -endobj - -27422 0 obj -<> -endobj - -27423 0 obj -<> -endobj - -27424 0 obj -<> -endobj - -27425 0 obj -<> -endobj - -27426 0 obj -<> -endobj - -27427 0 obj -<> -endobj - -27428 0 obj -<> -endobj - -27429 0 obj -<> -endobj - -27430 0 obj -<> -endobj - -27431 0 obj -<> -endobj - -27432 0 obj -<> -endobj - -27433 0 obj -<> -endobj - -27434 0 obj -<> -endobj - -27435 0 obj -<> -endobj - -27436 0 obj -<> -endobj - -27437 0 obj -<> -endobj - -27438 0 obj -<> -endobj - -27439 0 obj -<> -endobj - -27440 0 obj -<> -endobj - -27441 0 obj -<> -endobj - -27442 0 obj -<> -endobj - -27443 0 obj -<> -endobj - -27444 0 obj -<> -endobj - -27445 0 obj -<> -endobj - -27446 0 obj -<> -endobj - -27447 0 obj -<> -endobj - -27448 0 obj -<> -endobj - -27449 0 obj -<> -endobj - -27450 0 obj -<> -endobj - -27451 0 obj -<> -endobj - -27452 0 obj -<> -endobj - -27453 0 obj -<> -endobj - -27454 0 obj -<> -endobj - -27455 0 obj -<> -endobj - -27456 0 obj -<> -endobj - -27457 0 obj -<> -endobj - -27458 0 obj -<> -endobj - -27459 0 obj -<> -endobj - -27460 0 obj -<> -endobj - -27461 0 obj -<> -endobj - -27462 0 obj -<> -endobj - -27463 0 obj -<> -endobj - -27464 0 obj -<> -endobj - -27465 0 obj -<> -endobj - -27466 0 obj -<> -endobj - -27467 0 obj -<> -endobj - -27468 0 obj -<> -endobj - -27469 0 obj -<> -endobj - -27470 0 obj -<> -endobj - -27471 0 obj -<> -endobj - -27472 0 obj -<> -endobj - -27473 0 obj -<> -endobj - -27474 0 obj -<> -endobj - -27475 0 obj -<> -endobj - -27476 0 obj -<> -endobj - -27477 0 obj -<> -endobj - -27478 0 obj -<> -endobj - -27479 0 obj -<> -endobj - -27480 0 obj -<> -endobj - -27481 0 obj -<> -endobj - -27482 0 obj -<> -endobj - -27483 0 obj -<> -endobj - -27484 0 obj -<> -endobj - -27485 0 obj -<> -endobj - -27486 0 obj -<> -endobj - -27487 0 obj -<> -endobj - -27488 0 obj -<> -endobj - -27489 0 obj -<> -endobj - -27490 0 obj -<> -endobj - -27491 0 obj -<> -endobj - -27492 0 obj -<> -endobj - -27493 0 obj -<> -endobj - -27494 0 obj -<> -endobj - -27495 0 obj -<> -endobj - -27496 0 obj -<> -endobj - -27497 0 obj -<> -endobj - -27498 0 obj -<> -endobj - -27499 0 obj -<> -endobj - -27500 0 obj -<> -endobj - -27501 0 obj -<> -endobj - -27502 0 obj -<> -endobj - -27503 0 obj -<> -endobj - -27504 0 obj -<> -endobj - -27505 0 obj -<> -endobj - -27506 0 obj -<> -endobj - -27507 0 obj -<> -endobj - -27508 0 obj -<> -endobj - -27509 0 obj -<> -endobj - -27510 0 obj -<> -endobj - -27511 0 obj -<> -endobj - -27512 0 obj -<> -endobj - -27513 0 obj -<> -endobj - -27514 0 obj -<> -endobj - -27515 0 obj -<> -endobj - -27516 0 obj -<> -endobj - -27517 0 obj -<> -endobj - -27518 0 obj -<> -endobj - -27519 0 obj -<> -endobj - -27520 0 obj -<> -endobj - -27521 0 obj -<> -endobj - -27522 0 obj -<> -endobj - -27523 0 obj -<> -endobj - -27524 0 obj -<> -endobj - -27525 0 obj -<> -endobj - -27526 0 obj -<> -endobj - -27527 0 obj -<> -endobj - -27528 0 obj -<> -endobj - -27529 0 obj -<> -endobj - -27530 0 obj -<> -endobj - -27531 0 obj -<> -endobj - -27532 0 obj -<> -endobj - -27533 0 obj -<> -endobj - -27534 0 obj -<> -endobj - -27535 0 obj -<> -endobj - -27536 0 obj -<> -endobj - -27537 0 obj -<> -endobj - -27538 0 obj -<> -endobj - -27539 0 obj -<> -endobj - -27540 0 obj -<> -endobj - -27541 0 obj -<> -endobj - -27542 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -27543 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -27544 0 obj -<> -endobj - -27545 0 obj -<> -endobj - -27546 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -27547 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -27548 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -27549 0 obj -<> -stream -HW۸F+(\{ȡA|H@kklk+nHLg3 wA݇w׷,LB'6׉QO1ݿ}54vv͡f-&^>zVRQ %)lZ!nVGZvM$rqSuM#VkIP7G'/RɅ9(n(h{c:EvPw.ƌ쿭@C=҉g!S!>MFDeߴCT+`G2䔄#S(p8KʐE0dEK^^5^5^5^3F}Y0M0M0M>gQ--- F}/EdԗQxV2!Rk)P=ŀŸb -S Yzq-ŐŨ\R Yq-ŀŸbbUk),F}ZŸbb\K1d1*ƵC>pb\K1`1kZ!QV1!Ҍk)P=ŀŸb -S Yzq-ŐŨ\R Yq-ŀŸbbՌk),F}Z͸bb\K1d1jƵC>pf\K1`1k5Z!QV3!R Yzq-ŐBZ!Q6c\K1d1fk),ƵC>pmƸbbR Xk),F}ڌq-ŐŨ\1R YZ!Q6c\KCdR Yzq-ŐBeRe&RkUt2!jtG2EbuծY}JDjOۡ>CWW)$Jq(nd2ݍ,!o: 4&:G]5fӻPf5q7:nz5.O{']tڀT=yflfԮ9}~u/d!/$oSOI[8CV׻Chz!~D}I00 /Ù箇sZjcl-j[w3 Ds^=[PWSi"s_?] FIQ_‹;$uR_TfV#P"A{Yc/5mۉs qZ0t|dæ(·2{akNr%{ 3Vϫe?fS7Gz8mF*LZ۾(%3ӐLyFVif5լ걞Xu߻UY.BP㱕6qmz/fj7i{J%b߈o-Ӟw7&c2+K/8sbPZXݣײ`V\OHmp ޿H)vSbmWexsž2ss[\?`F8IA-DTϐ-$L޷=t]0?==2~#rU/9{'MAnXTiXiO4>Ls+"G]"N=:,~zٷzlt7E|kϘi") = 1[jdz$]$V̗-C%s>W?G[؜\>e$y 2X}}|v ^o~a%T^~[\E932*4 [#gd؃ -ʗ4so'߸u 6-xc[_j2pd%~TC1uݟ>M 7=gi[`xpXq,aXՍb=&Z0\aٽQ%HN}޼7@@tdj S Ϻ*p N;@ %}ug2 IKnᐧfM1qakyMc Kv/yOA㣪 eSpVMj1YojDMd*m=ZXYa4/yR#,fz*fS?9`qK?hN  -OتtaHEH o؉C/9`zXŚGr|p<.2aQ cƪ}z1B%.Ҝ0CWYN-X8ƇGΩgj۲vcYmoUM~/ -Vr6-I] >ufPJza4W2.l ;=K&zq` pb;|]e$a'&xCfqE -e\ \avxe (#!{D/uƙ"43 70#),)^Pe?0K3ݺL8\_F ]!nN+476 -6z42q)2K},b" -g8PH7q%X_:7W֝< }K KK[UH+&@{J.x -xH|Ρ)/ASb"i"n*Il+^8k5ȥoKtTtu޿Ty8 h#k ~P ^[ cUs)NډDzvaܤ¡ CMZUFd v&j&j&ʋ.aSJQSE5`}r'chMmEnƴR"@}"e>Q,BA\g怆@"9דs9=U͎>v+b?a]l;Fd`)qB`"|tؙr%Fv_ENsߋx?a7P۵:WUOPu}]7 -pS<,2OYtv@ w&/ğ8cavH2?;$2v@]Wm'&.~,.@LzHNH t.T I3j KGt;4(Mg = ?yS\~tE\KV[MDOu.;lxs -|sHTк~ #ި -DM L:[S6.y{eJHoxue*IO߫޷5h̋#D3vp/'=<~X[ mH[u8gq +w*W?A2.ӑS63t˅sᜭB$lIRxL TޕrGΆs$g\4 ۱MvSlIT7Aص1IC?ԶVK"we0Acm?LdpoƯځ Fy^R9Lf/J^AfEaa3{c4N$.U豚i>Ic 5=i6<*:Hn*$QCB< 썗I|zLa|OsciC&X?c7]ny[WU]4ZqQyzEGW2^dyɯG =<.E2YV2@*o`L(ٙ9јb2M9 \~ǔbz{;T*msvd)=~ݏow`!\endstream -endobj - -27550 0 obj -<>/P 649 0 R/Type/Annot/A 27551 0 R/Subtype/Link/Rect[93.5990982 384.82901 297.407013 404.509003]/Border[0 0 0]/H/N>> -endobj - -27551 0 obj -<> -endobj - -27552 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -27553 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -27554 0 obj -<> -endobj - -27555 0 obj -<> -endobj - -27556 0 obj -<> -endobj - -27557 0 obj -<> -endobj - -27558 0 obj -<> -endobj - -27559 0 obj -<> -endobj - -27560 0 obj -<> -endobj - -27561 0 obj -<> -endobj - -27562 0 obj -<> -endobj - -27563 0 obj -<> -endobj - -27564 0 obj -<> -endobj - -27565 0 obj -<> -endobj - -27566 0 obj -<> -endobj - -27567 0 obj -<> -endobj - -27568 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -27569 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -27570 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -27571 0 obj -<> -stream -HWn8}WQ 8xD`0@.`r7ۭlv[Yaxx9e?t}OqODTbXd,3N$[+>GiѸSWcsjڪ}[ⶊܲ>l-4"Č󴈷ut]_5x4QDln *6“?+gDTњ:KDr^LSgbMQLf,S@RBjؐ/',~i@ok|5qxFHia:Rqn#%} -1Д gPtP(gPA) >@1= 3= s=s=s=  K K K g,`!쳀}9><`_ 싀}/ -a -ah"}u> ->@!}}}BT -a!}T>@!}T>Bej}>Bej}A!2DPj}A!2DϠjZWGQ3ZgP!{gP!{(DϠj9ZgP@QZgP@Q3(}Z -Q3(}Z>P-GT>P-GT -a#}u$> ->@!}}}BT -aV }T+>@!}T+>Bj}>Bj}A! -DPj}A! -DϠjZWGQ3ZgP!{gP!{ER"NчmtCT "Y:K>ƛw%{}(/| -l= :FHz}:~M2EU|RRun+Nzo{7/'?6ǣvWڶRmMfv*/qןZHa5 O v("2At+ӯ5"b p욺. 1k4ٺŌ#xJI&2:yj7HA$Q9_f4y)_7xik+] ҴvSX݌=Ec h\[u+BfR@H2Gf>"jv;c!Fp!WÝMWH|uݥ~@Iad6uFs)vHaQ> V74M.a7,M̦fsWyZH{ߧ=ڗ^ք`,텁LX:U;n.PEJҔQ]Y; )|te-}zkY]3ѷåa"_aɐ)\ճ[Ay&@I~]\DRN, 5;uѮ<ٜe:qdvhᗳ{t\A׵9(~ǖLªW'J3IȹS8\|BAZxU`o*@-+$p5GdE12R7ͦmMʼnBυvvcNiIKh}",_IZd)n5nЪn< -.s)% l*p\>ns|.wթ_]y&Έ2|Z·7=☂llyY>. E8ހMyNR O F7d/ލjVs]0JN_30e79Zo8hgj:=A5P= {I_RyqO.f:)PUOծ (+ mch?ڃP`SWoee-ZaI,+GPx`W_՛Vyyyuak-XbMl"1~HWS5 ]=rdLX^:ڗY^ڝ+I`c2]1tzWG糤ǎ s3Ʈv.I%ɡ֕hf{ ds<Ԗgg>]3 -YHKiB3&Wt&A+^z"9Ë hEGmr\'/Qr/I."bu4 VƷj?e\ɋ-~dnGkj/1M`'~u;`L@Yz=E\3|[LI |,Cқ 'e~c.h\-lb[,WIFWXʅ&%`0VC$(9XPM`pjŵz o`^F-l7#CK?Nq?0dT3C ~9*n7է,뫁h~zIV؛ɼx^%{MV/d,ta&g\y5{ 0וNJ=Uj!+51ݣOB™+1hP4֨ZcY5񍎕x!:2ey[yR, 8>uc׉kRV$D Q&R^f_Pў8k$, c?avUHendstream -endobj - -27572 0 obj -<>/P 818 0 R/Type/Annot/A 27573 0 R/Subtype/Link/Rect[93.5990982 342.82901 225.154999 362.509003]/Border[0 0 0]/H/N>> -endobj - -27573 0 obj -<> -endobj - -27574 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -27575 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -27576 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -27577 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -27578 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -27579 0 obj -<> -stream -HWn8}WQYr L^N`(jڭLKvVTD pD>$ux9ڍ˗gߞ ի7LƬ .ôq<qÝ - o6apVcs~״j5uk_.xx3oVي]񐅫렄A K3̓"\A yibIc<Ļ^类V9O'_Vl8vSݎjg,:&ӷnaB"}Ȓ#/IRd1OoA%#\ X,CVJ\] XP=P=P/

ԧSSO}F<>SsO}N=S_KO}I<ӺXpµ.,_p!Wbջ׺k9ZCs-'\b"\b"{k] Yzϵpp!P﹖u1d=rµ.,µ.,BZNŐE\ ׺Xµ.,_p!Wbջ׺kZCs \b"\b"{k] Yzϵpp!PVu1d= -µ.,µ.,BZAŐE\+׺XHµ.,_p!Wbջ׺k%ZCs$\b"\b"{k] Yzϵpp!PVu1d=Jµ.,µ.,BZIŐE\+ ׺Xk] YzZCŐ/,eYn7l! Wb0|/,̲2\e,883}gz[aou4mX+cditā -[TnU.l{S ߯cSl'zkԉpލ -zMm=12?<-s#~Э˨74|^Njjv/9RW_L0AczZߩ KhP֩Au~X~ÊvXSaNzäO͵y\k;m1&rԷ 0mRkhZayâ@f)I.#*{hPf}kjd -&)YBɌfN`Ga 'h ŠID)ShۭjU7V( v)3JLSv  ](ʇ9C-ɈerQE)bxGj,>X!s,Lqeጮݓ* aܝ@ޝd,\(!d ~),w{EbPN*,95u!4OX1ci3󕢈W6T2|:uw:Ypͫǯ3V)|0߿̇,.NMeڤENp)/L}tetRm?% b'ܔa83~ Q';98rZ'3\Sq$MXɾ46✋%RVu/0g9ٳeSn$%f7p +2dPh!WO~/']Mȁ vh;+,{xvD%ٓ'6L,p O Wk[x\:W"3|pW ր,=p//TejQX?7\ 3}`~t/we5 +u:5L8VjO˅Xwԥ^_= |6W/>--k;Ng@g/7\;զ13ssP-n-Hޘ;B $x*~<Cx* -7_ ow=zݷkj&\nmux4 -:`|P&E!ʽ|=&?Zc1`69=l"z' Ö nP1I1kSԮQqVCWHp7-GU؝Tv+Msȫ~0%| W),VWFLlNOm;/yXfbo[ {5˸@Q76|?4E}~U6AB&cb*;.X&P#VNO|7zy* w~U}OeZ7eOfm[0 Oyfjtw#r{t/a~~rF/׏ǜo|c>fڥgs5jnق)>q.pC.|/4iqޕr^,??,z/M^5 1l}UnKqCr}b9]BwvBJ6/i+"aE`EŠVEXjªUV `5%X-aJ+Y_ fBͤ',,OX'L[{ʹEX'L[{ʹEX'L[{ʹEX'L[ʹ,Ixo3mx6axo3mx6axo3mx6axo3mx6axo3mx6l&-ʹEX}$L[GʹEX}$L[GʹEX}$L[GʹEX}$L[GʹEX}Ee3im-d2mk>/P 1282 0 R/Type/Annot/A 27581 0 R/Subtype/Link/Rect[129.600006 663.229004 355.44101 682.908997]/Border[0 0 0]/H/N>> -endobj - -27581 0 obj -<> -endobj - -27582 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -27583 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -27584 0 obj -<> -endobj - -27585 0 obj -<> -endobj - -27586 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -27587 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -27588 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -27589 0 obj -<> -stream -H[oF+6/ԫ7H$E۰mDEttqi:1wyfl7a[8rάƿMV={6~wʨ_|ؠm *^NeѩJRĨUJTI[7MSN}H^ɸNYUΓ61P2rIʳ1뢶7\hˇQ5]}4.&m읔o}ManV",m-L g}xez::1j§B&n }RD)cgՐQ (k9E4@QrT s{{g3Ap }G> -#sO)s -S>g}&ϘLp1>gs}/,V-VRK5{%jHqTCPBj R{Z'j@ R{Z'jH YjZ%jH YjZ!%guBjZ!%guBj *BjwO5R )jHqTJH-Րܳz!TCJpRR (!TCJpRR )=KRK5R )=KRK5,^H-ՀRK5,^H-Րܳz!T[%AH-ՐZ!S )j@ R{ jH YjZ%jH YjZ!%g BjZ!%g Bj6PBj6R{ j$ -R=ՀRK5{!( |e2.K*QT=ltPifW*5U{٬Gӽ,A3sBz- \`=RO_gy%;]4dvlfxbr>s]c7w~|~Zo8O py?g>@j{~;}"qٗT1:f+nmTzfݍ= dn~hUoZnއUF v[ :7L@f@b.r*cYMf35QM5j=TQRgō~X+J%:ƿ,ōuC蜼׃= \: M~t~;y׭A&kU]P;bꠋuG;3fyR!sk6/jn,ԣah-p -_y| -;,\ϻuqF=SݞZGkIhC3b7`! zϕfq4c?4>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -27591 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -27592 0 obj -<> -endobj - -27593 0 obj -<> -endobj - -27594 0 obj -<> -endobj - -27595 0 obj -<> -endobj - -27596 0 obj -<> -endobj - -27597 0 obj -<> -endobj - -27598 0 obj -<> -endobj - -27599 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -27600 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -27601 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -27602 0 obj -<> -stream -HWo8Hh( (شEzj>E،ƶ7o(Q4\{Xt۷ն:;%;Ovd-Yrqhfŷ,! ~Zvu#xv7xea`42MqhUKm\#r[=R\31|X+eƙ{<S'qD+\c"d!̱ $^%^^^^5^5^B}OI>!'zC7zC7PSB}O i>#gPsB} gaZ"IcḇBsP=ƀEcE\+ ḇk%Zp-PVŘcJµZ9>p$\1"k1,µs,B}ZIcE\+ bl)µsP=ƀEcǘc1,µs,B}ZEcE\b Xk1Xp-PVḇkZ9>p"\1`Řc*µs,B}ZEcHŘc1,µsP=+T1`Řcjµs,B}ZMc"\1"Մk1Xp-ƀEcE\ ḇk5Zp-PVŘcjµE Z9Vc"\1 -c̱B9\.w"/W[~7}, e0Gd̥cѺ'?k`\߽ipeX`WY@ KL#+ ̡"/و -k>r]|Vʴ\)f=pg[Yɤf)ΖckNor/)Λrm0 xTe1z5FBaq,Fksҡ ^pWt@ݯH*>3m,oGCHO^lWX[W#B OxwE~.K辳})$ ]A@e 7oS@\`һ3bR.F$T屘,3q <'뺾؝@9i[nv߸VR$E~MW?J'ƫC{]l'ɘo -xamjDNWQy~™Dmۆ{ -{ OH iuX1 [=-J`([$O$#".-)'LNsvxx>?TuUY^=Z>:YүḤ}ǟgϔKw x[_NvZU5uI6_æzXfN ?*ksDX/=w+PKaPV]|PwyF -)[I_nR~a5unCU[r?Jbme't﫛k(Q7tTS!ܗvE!g>錢 돣hAW>3 ֩{gY(0;Sa㛦gmނ۽MpX[^~I0NaiLZ!; Mpڂy=5u_3]+Iʣ.՟JcW\),X `%VX)`VX`eVX9`劕VX`UV!Y&,KFbŊ+V,XF `{ T ȽX*^j,{r/5vʽKހK]ro@.R RcfI\ Rc`[{ T-ȽX*^j,{ r/5vʽKނK]roA.R Rc`;{KF.{ TȽX*^j,{r/5vʽKށK]r@.Rw Rc`;{ T{KF.{K)z~qm5RR5raVv~Z`TvH-z~~*(cḌje/_ޤ\t-MÛ9L旮|Q.V߃k04 KC1]?p;/~CqY[504ްUۮZLGi0.~Nb*_+q4⺙拏3?jLSr7T/R8՚rA`|o't "1K4:b=<zѵwfan@.y4〓3z~,}s2hHMߚm߾ v塬podrw5&7gendstream -endobj - -27603 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -27604 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -27605 0 obj -<> -endobj - -27606 0 obj -<> -endobj - -27607 0 obj -<> -endobj - -27608 0 obj -<> -endobj - -27609 0 obj -<> -endobj - -27610 0 obj -<> -endobj - -27611 0 obj -<> -endobj - -27612 0 obj -<> -endobj - -27613 0 obj -<> -endobj - -27614 0 obj -<> -endobj - -27615 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -27616 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -27617 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -27618 0 obj -<> -stream -H|WioF_ћ Q|6+'!3=s($ǎv}xUaoeݪ/}'/_:+.օ)85*Km썪CETt1lʶ^7چ˷kWroj -$Q*@SeIhMr6)Mw=q-R]]^}?]f,3 @׮cG b„F66҉\ ߫ωZil<'9^QMM)*<SN,#Q Y|8Kk"޵),#7̽ --so{;c1^p{/̽{>ܧ}*OLp1>c3}9s_ ܳj!FFH-ŐS XBj),b),!C,FH-ŀ%bܳ!CR Y{Z#bܳ!Z!KpRkR Y{Z#b -{KH-ŐS Y=ŀ%bܳZ!C -R Y{Z+bܳZ!Z!KpRkR Y{Z+bRK1d YjZ!KpRkRl9!CwO1` {!R Y{Z'bܳ:!Z!KpRR Y{Z'bRK1d YjZ!KpRR XBj),=KRK1d YjZm#/b),!CwO1dqE\S ;i.ѫyt9|=A4Kbh;lNӎ}]ةq1;8WwO4Y컛Jԋ*9SJ|/UܴMps'i'PS/0Dg4t %/N&H|^YoCsvǦjs?gJ%m~8QRڄ7gr9]ka 7>J7-Eu9a_,C^jLm@%f:U[̮n?sω4aZheS+;IU{3K(`="h[7s ݑ+ǩ*.]\>|ں  -Ŵ嘖gZ^L+R -Z)ieVƴrA+gZ3B*V!hT$\bZ4҂fZF2LZPCuO1d ZPCuO1d ZPCuO1d ZPC -uO1dq-K{!Kbuo-VV{!Kbuo-VV{!Kbuo-VV{!Kbuo-VV{!Kbuŀ%=Ő%hwBS Y{'=Ő%hwBS Y{'=Ő%hwBS Y{'=Ő%hwBS Y{'=Ő%hBS Y\b+hBO]};|+d1l-3\꠴/fnIx#'ƙ>~(ym 5 T7֦MSj]>t͒{1GNϰS뙶/gШwWg#}(hi@؃ c]>bfln=ކ9"n4N2* -us>iT{Qֺv~tfqs:-96~uӆqSpܼc&)z!4-]2%^LgX[,ғ1>pS2~Y -y$KkCkb -߸`jGby;>o_` P4l׍ۻsE (dwp{|# |R#dB0y#!P -4Ssb̠@OH=/pgruCwNtbljsf*]Op㭜RPK2,)@hYo^e{fJU.#6kXgq Êa[P@2LE;?-65LFٻphAbxrz';41dw osbBD!η@GmJ-aGӹZRMIͥqBa`os`47#[LUEw h.;B8JZ2 -LҐtrkU|@IuO ovy>ẙY: -&pŰs'gpN6EY_Łb5צ]! -tDID4qԸݦ0W['T! - -pu]I -vƒud)= -_O"ATHm*K偞>\잇\@4~#[h; `$'eqL HxgCF'B,>qkF(zC<!+h%C+XE)ұ6,t2֗n 5*L,\ĭg5MX>lوS*d)VM#AUСj"`Xz{|}RփmF@NQR+_k>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -27620 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -27621 0 obj -<> -endobj - -27622 0 obj -<> -endobj - -27623 0 obj -<> -endobj - -27624 0 obj -<> -endobj - -27625 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -27626 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -27627 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -27628 0 obj -<> -stream -H[oX+d^$p|nȥ{@\F-* ]eHﳷ*Ww+k;uݮ{'0Ϟgd66kTϣ3.{oYa>eLvx~;^W٢׳Yϲ9i5ac/ݤ0$4UQf}&l4.#Wayy be-e[[6n|C(ߗLM|HNEE<{($[xI)};eTn/5HTz;ރ^ W=HU>A }T#HUGKK+++kk>IO Y Vj́S:ԈS+5tz1K(0Rc -WSJ)^MS+5J)^MS+5@z5LԈS+5@z5LԘ:0R# -LԘ:0Rc -WSJmy0RcJQ`jƔN/5tzVjLjj=Z1ҫ`jFZ1ҫ`jHփQ`jHփS ZVjDS ZVjLjj=Z-VjLR# -LԘƔN/5J)^MmS+5@z5LԈS+5@z5LԘ0R# -LԘ0Rc -WSJ(0Rc -WSJ)^MmS+EJ)^jDS:ԘSR -?N'{5UfAu)/MY&,niƏc9v֣Uo;Y?6/ѷFd7#rvc_jwe˺Jw w}{n\}V4lVWrUU6շѯ6]0:z0 # Cn-E^?v9S-AcU|cM31:OUqۛѺcxHQ{k' -勉?Xm_c잜ν/8J\aޚg3&"9Nۧh#{u~PͽyW-K)z@RRc -x{1TԘ^^jL/z/5}SK>K)%5@ƔJyJ) _7&;lkiGvr2:Ak_@/xEQ\j3GϖeӞXj6jZ҇Gz31FnWquQ ['ƓgUۀW|tNyj/9^G3_:9>;} go=HR{__:x||>6O7z%-V~U^_lo9 )!E?d~ZW/-=o*-]xHxj -&1O{WY 4xo+8[rl]?D;.턟X<\'db&lrswy]+hd 0m{WHpP<&+r;@#k&+*WИJR^xWP^xEWT^%*W JUJyUR^5W j啀WR^ x% -%5Ԉ*/ r)/TԘ^^jL/{z/5SKށK)z@RwRc -x{{1FԘ^^jL/{z/5SKރK)zARRc -x{{1T=Ԙ^^jLi/z/5}SK>K)z@RRc -x{1TԘ^^jL/z/5}SKjDK)R~;/GMv oizk\W4.2n#>}]ݟW9h3{oهzlQi o&/ .f=#i+3V(ƌnt3믷gu=-ݟsyh_բgv>ʫm+Htm),k5ZrEJ΢' )g8o i[Ư.++zkbh`|Ow -'F|wl7_wzAϸl]Re^S|;c]4݅hk4C$U˺퉮[w;{y8R$z3dz2cJzB9y#i.b&ppΰ<8^(1WvXqLrĿx{SN_kY>YhJK]Q3mHa/hhRii=Cy30 ,X} i)4xڇ%@(VwnƍiHKݒ]K߰>I!|dWmܖ1:} L΀36xF3k!esv˖,AcqT@<96@5%!AZ:<ι&pPlt,1MZ2EӴ;˙uD(+ꦜJzufm40ƸwrL8̻OJ,&] eK~59M$2fJ쇎)=OdXq""37I0*4Jm N8bVX?m5fةn!txsׯOvc*f +|p*IetڸXoicgS`M`WtULJ24N[>5)2x)r,50u}6sěf5tG*[ QMٻeC]6n̙`}u*1 AEt9 -I뷷9_HzH %FQجGDXUuYRS-^{x -|w cPDORA X%8P+Db K Qv×I:5x骿ݧ&iA@b*_u2΂0F'VkլY -lگyw}Q3֞!Q\2vg;;Vᦍ@P:64bP w'rXapesYU7\EFߦfjO(UA}ku{n盐igcItB!Q[翡$wٟ^K(5;{eݠ`l| uyq3CWFݬ՛"A@sv.O9F_SiVpâP,DGj85|ĐIh.ލ5ɹXFVO _@~HgŌҖ_ӂ2r,Z>k?V:}ȌŲQ^z -N}`V8 3& a[E6z?y˻7ݽO7endstream -endobj - -27629 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -27630 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -27631 0 obj -<> -endobj - -27632 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -27633 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -27634 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -27635 0 obj -<> -stream -HW]o:}ׯ -'Phn袷.{xu7$~gdKȑnQT1F39n/??ŋW/ʔ* -|j#liVݲCl -)>JDqqy;߯//jV []jx5+gJ %f7E RDѧ2ٺ f_+taJR5#! -vk[BI}ħEWjd"ᶸ,M11$dF<\jCR9*2R9Ԇ(Ͱ{Ͱ{`C=d d d-f-f-fee=g=g=g>d>d#>f#>ӬbDօfTOmbTOm٧6D1MmbgՌjSj5Ԇ(FP LQmj#>SfTŨ6aV3MmbgՌjSզ6B13jFP LQmj[6*gŨ6*gOmbTŰT jSjQmjCF(}Z`TŰT jSզ6B13F(}Z`TŨ6aզ6B13Զ. F}jCF}j#T>!Qmj#>SaTŰTkզ6D1Mmbg5jSj Ԇ(FP LQmj#>SaTŨ6a0Mmbg5jSۺjSr QjSrP9Xb]糙JnPYP:N8u1[ί6Wj6tWieJ : ?Mn7jgʉQٻ6?%b{3={feehni{iiCs{bC+sL1U QS9x ao^;Ovso Mڹnc%=BM_\L`?}[oT@0]B@UҫXh5(cJg]K%_ E(c'Uv_kg0ډz|X'=AU} &AiJsE˻bY,o{+QIoo*/)53:Jljߏ\_z?z_TRG:XAzWУs}PoNIRsJd*[Z-Չ5zk{0FX/S -Җ8o?Mwu1I5o^|}Sh(KY'H^{zD4M8d(v8rb~ї}12 -Q h}C uᰒ̒Շ)pؚ]v&hV(=[Z). u88hz?quGKnuglgs-9nhN3 wti55z`:7>>~_:|U/U~aE](鋣.-s7_ެkp.Nub[B5Qa)(#v/?p//07z-&C $M Ʋ7f驦 -ZIuw"]Jfq)xZcYOFo/۾9,$ꩦ#E=LGWj&EL4tz94;*itFd;+ [0ÉE}$^O!2`:tA݅W35ڠtQe0wh u x/u=tcN'NIpGH8n xWqćrFemlSr\2].VO҉s-=Wt)s1݀_@QUՆف2x\ (ͬLkp;P@2U3m؃J-20rnL9ŽRUMh8lXɯqeRM%pqʳT\@ V[I%%Z&#, Tת~ R/pMтC-2s)Cd#2a\ByW,O=edIX16ЊuZ(ZL+r֯dfΏEP٣\ sGX@;ǜ`_NoS{us ,=s^#Ҹ^?[Swµö* *Y}2nkIB'| :}JZ2ASe`ҥWDtɾQFyz|͟3|yv@]=NWC{LΥBj)!3>aP{L$,V +3Mrx,S0R%,?{~zgqv,=k¯BΧc"CboS]o[XBRV-,/9:+#M82P@fXkX#X!Ԅ6: _E%&P@׼P/֣%eab Mm紾_iMfe7 -Ҵ3h8Vw;r&uh2qG{E8ElB6KnHѐ2wjkٓɳ_}^)_u˿M &nK;(g36sA˙ʭ_Fç:-GNʙ ܹT4#{&`i\n]N'W6 w۔%u%bĺ(d֖CRE?isf9=7(Y^xyo?1) I)Wqׅ`4$}aȣ ˵.Q(*@S;,;J%z -m/!(2*=ڂ-nqRq7)\6J7"TҚ]Z(#Uz(XW*' @I!*o2N2ľ7=ck@XLe =D _?Y -0c-7J ^hR%Wi!<+MS-B sbG)S8S7kg8Agc /e_R&O- =R% -礊: /G7VYm͓p*e|I'>/P 9099 0 R/Type/Annot/A 28030 0 R/Subtype/Link/Rect[250 669 262 678]/Border[0 0 0]/H/N>> -endobj - -27637 0 obj -<>/P 9099 0 R/Type/Annot/A 28025 0 R/Subtype/Link/Rect[190 659 202 668]/Border[0 0 0]/H/N>> -endobj - -27638 0 obj -<>/P 9099 0 R/Type/Annot/A 28022 0 R/Subtype/Link/Rect[250 649 262 658]/Border[0 0 0]/H/N>> -endobj - -27639 0 obj -<>/P 9099 0 R/Type/Annot/A 28020 0 R/Subtype/Link/Rect[190 639 202 648]/Border[0 0 0]/H/N>> -endobj - -27640 0 obj -<>/P 9099 0 R/Type/Annot/A 28018 0 R/Subtype/Link/Rect[265 629 277 638]/Border[0 0 0]/H/N>> -endobj - -27641 0 obj -<>/P 9099 0 R/Type/Annot/A 28016 0 R/Subtype/Link/Rect[190 619 202 628]/Border[0 0 0]/H/N>> -endobj - -27642 0 obj -<>/P 9099 0 R/Type/Annot/A 28014 0 R/Subtype/Link/Rect[260 609 272 618]/Border[0 0 0]/H/N>> -endobj - -27643 0 obj -<>/P 9099 0 R/Type/Annot/A 28012 0 R/Subtype/Link/Rect[190 599 202 608]/Border[0 0 0]/H/N>> -endobj - -27644 0 obj -<>/P 9099 0 R/Type/Annot/A 28010 0 R/Subtype/Link/Rect[250 589 264 598]/Border[0 0 0]/H/N>> -endobj - -27645 0 obj -<>/P 9099 0 R/Type/Annot/A 28008 0 R/Subtype/Link/Rect[266 589 278 598]/Border[0 0 0]/H/N>> -endobj - -27646 0 obj -<>/P 9099 0 R/Type/Annot/A 28006 0 R/Subtype/Link/Rect[215 579 225 588]/Border[0 0 0]/H/N>> -endobj - -27647 0 obj -<>/P 9099 0 R/Type/Annot/A 28003 0 R/Subtype/Link/Rect[227 579 244 588]/Border[0 0 0]/H/N>> -endobj - -27648 0 obj -<>/P 9099 0 R/Type/Annot/A 28261 0 R/Subtype/Link/Rect[245 579 259 588]/Border[0 0 0]/H/N>> -endobj - -27649 0 obj -<>/P 9099 0 R/Type/Annot/A 28255 0 R/Subtype/Link/Rect[261 579 275 588]/Border[0 0 0]/H/N>> -endobj - -27650 0 obj -<>/P 9099 0 R/Type/Annot/A 43163 0 R/Subtype/Link/Rect[277 579 293 588]/Border[0 0 0]/H/N>> -endobj - -27651 0 obj -<>/P 9099 0 R/Type/Annot/A 28243 0 R/Subtype/Link/Rect[294 579 308 588]/Border[0 0 0]/H/N>> -endobj - -27652 0 obj -<>/P 9099 0 R/Type/Annot/A 28237 0 R/Subtype/Link/Rect[151 569 165 578]/Border[0 0 0]/H/N>> -endobj - -27653 0 obj -<>/P 9099 0 R/Type/Annot/A 28231 0 R/Subtype/Link/Rect[167 569 181 578]/Border[0 0 0]/H/N>> -endobj - -27654 0 obj -<>/P 9099 0 R/Type/Annot/A 30998 0 R/Subtype/Link/Rect[183 569 197 578]/Border[0 0 0]/H/N>> -endobj - -27655 0 obj -<>/P 9099 0 R/Type/Annot/A 42971 0 R/Subtype/Link/Rect[199 569 213 578]/Border[0 0 0]/H/N>> -endobj - -27656 0 obj -<>/P 9099 0 R/Type/Annot/A 28215 0 R/Subtype/Link/Rect[215 569 229 578]/Border[0 0 0]/H/N>> -endobj - -27657 0 obj -<>/P 9099 0 R/Type/Annot/A 28209 0 R/Subtype/Link/Rect[231 569 245 578]/Border[0 0 0]/H/N>> -endobj - -27658 0 obj -<>/P 9099 0 R/Type/Annot/A 28203 0 R/Subtype/Link/Rect[247 569 261 578]/Border[0 0 0]/H/N>> -endobj - -27659 0 obj -<>/P 9099 0 R/Type/Annot/A 28197 0 R/Subtype/Link/Rect[263 569 277 578]/Border[0 0 0]/H/N>> -endobj - -27660 0 obj -<>/P 9099 0 R/Type/Annot/A 28191 0 R/Subtype/Link/Rect[279 569 293 578]/Border[0 0 0]/H/N>> -endobj - -27661 0 obj -<>/P 9099 0 R/Type/Annot/A 28184 0 R/Subtype/Link/Rect[295 569 309 578]/Border[0 0 0]/H/N>> -endobj - -27662 0 obj -<>/P 9099 0 R/Type/Annot/A 28178 0 R/Subtype/Link/Rect[151 559 165 568]/Border[0 0 0]/H/N>> -endobj - -27663 0 obj -<>/P 9099 0 R/Type/Annot/A 28171 0 R/Subtype/Link/Rect[167 559 181 568]/Border[0 0 0]/H/N>> -endobj - -27664 0 obj -<>/P 9099 0 R/Type/Annot/A 28166 0 R/Subtype/Link/Rect[183 559 197 568]/Border[0 0 0]/H/N>> -endobj - -27665 0 obj -<>/P 9099 0 R/Type/Annot/A 42588 0 R/Subtype/Link/Rect[199 559 211 568]/Border[0 0 0]/H/N>> -endobj - -27666 0 obj -<>/P 9099 0 R/Type/Annot/A 28153 0 R/Subtype/Link/Rect[255 549 269 558]/Border[0 0 0]/H/N>> -endobj - -27667 0 obj -<>/P 9099 0 R/Type/Annot/A 28560 0 R/Subtype/Link/Rect[271 549 283 558]/Border[0 0 0]/H/N>> -endobj - -27668 0 obj -<>/P 9099 0 R/Type/Annot/A 28140 0 R/Subtype/Link/Rect[190 539 202 548]/Border[0 0 0]/H/N>> -endobj - -27669 0 obj -<>/P 9099 0 R/Type/Annot/A 28133 0 R/Subtype/Link/Rect[260 529 272 538]/Border[0 0 0]/H/N>> -endobj - -27670 0 obj -<>/P 9099 0 R/Type/Annot/A 38397 0 R/Subtype/Link/Rect[215 519 223 528]/Border[0 0 0]/H/N>> -endobj - -27671 0 obj -<>/P 9099 0 R/Type/Annot/A 28122 0 R/Subtype/Link/Rect[202 509 216 518]/Border[0 0 0]/H/N>> -endobj - -27672 0 obj -<>/P 9099 0 R/Type/Annot/A 28115 0 R/Subtype/Link/Rect[218 509 235 518]/Border[0 0 0]/H/N>> -endobj - -27673 0 obj -<>/P 9099 0 R/Type/Annot/A 28340 0 R/Subtype/Link/Rect[236 509 248 518]/Border[0 0 0]/H/N>> -endobj - -27674 0 obj -<>/P 9099 0 R/Type/Annot/A 28332 0 R/Subtype/Link/Rect[190 499 202 508]/Border[0 0 0]/H/N>> -endobj - -27675 0 obj -<>/P 9099 0 R/Type/Annot/A 28327 0 R/Subtype/Link/Rect[184 489 198 498]/Border[0 0 0]/H/N>> -endobj - -27676 0 obj -<>/P 9099 0 R/Type/Annot/A 28320 0 R/Subtype/Link/Rect[200 489 214 498]/Border[0 0 0]/H/N>> -endobj - -27677 0 obj -<>/P 9099 0 R/Type/Annot/A 28316 0 R/Subtype/Link/Rect[216 489 233 498]/Border[0 0 0]/H/N>> -endobj - -27678 0 obj -<>/P 9099 0 R/Type/Annot/A 28312 0 R/Subtype/Link/Rect[234 489 248 498]/Border[0 0 0]/H/N>> -endobj - -27679 0 obj -<>/P 9099 0 R/Type/Annot/A 28308 0 R/Subtype/Link/Rect[250 489 264 498]/Border[0 0 0]/H/N>> -endobj - -27680 0 obj -<>/P 9099 0 R/Type/Annot/A 28302 0 R/Subtype/Link/Rect[266 489 282 498]/Border[0 0 0]/H/N>> -endobj - -27681 0 obj -<>/P 9099 0 R/Type/Annot/A 28296 0 R/Subtype/Link/Rect[283 489 297 498]/Border[0 0 0]/H/N>> -endobj - -27682 0 obj -<>/P 9099 0 R/Type/Annot/A 28290 0 R/Subtype/Link/Rect[299 489 311 498]/Border[0 0 0]/H/N>> -endobj - -27683 0 obj -<>/P 9099 0 R/Type/Annot/A 41856 0 R/Subtype/Link/Rect[207 479 221 488]/Border[0 0 0]/H/N>> -endobj - -27684 0 obj -<>/P 9099 0 R/Type/Annot/A 28280 0 R/Subtype/Link/Rect[223 479 237 488]/Border[0 0 0]/H/N>> -endobj - -27685 0 obj -<>/P 9099 0 R/Type/Annot/A 33638 0 R/Subtype/Link/Rect[239 479 256 488]/Border[0 0 0]/H/N>> -endobj - -27686 0 obj -<>/P 9099 0 R/Type/Annot/A 28269 0 R/Subtype/Link/Rect[256 479 270 488]/Border[0 0 0]/H/N>> -endobj - -27687 0 obj -<>/P 9099 0 R/Type/Annot/A 28263 0 R/Subtype/Link/Rect[272 479 286 488]/Border[0 0 0]/H/N>> -endobj - -27688 0 obj -<>/P 9099 0 R/Type/Annot/A 28256 0 R/Subtype/Link/Rect[288 479 302 488]/Border[0 0 0]/H/N>> -endobj - -27689 0 obj -<>/P 9099 0 R/Type/Annot/A 28249 0 R/Subtype/Link/Rect[151 469 168 478]/Border[0 0 0]/H/N>> -endobj - -27690 0 obj -<>/P 9099 0 R/Type/Annot/A 28244 0 R/Subtype/Link/Rect[169 469 181 478]/Border[0 0 0]/H/N>> -endobj - -27691 0 obj -<>/P 9099 0 R/Type/Annot/A 31822 0 R/Subtype/Link/Rect[190 459 202 468]/Border[0 0 0]/H/N>> -endobj - -27692 0 obj -<>/P 9099 0 R/Type/Annot/A 28232 0 R/Subtype/Link/Rect[212 449 226 458]/Border[0 0 0]/H/N>> -endobj - -27693 0 obj -<>/P 9099 0 R/Type/Annot/A 41413 0 R/Subtype/Link/Rect[228 449 244 458]/Border[0 0 0]/H/N>> -endobj - -27694 0 obj -<>/P 9099 0 R/Type/Annot/A 28222 0 R/Subtype/Link/Rect[245 449 259 458]/Border[0 0 0]/H/N>> -endobj - -27695 0 obj -<>/P 9099 0 R/Type/Annot/A 41312 0 R/Subtype/Link/Rect[261 449 273 458]/Border[0 0 0]/H/N>> -endobj - -27696 0 obj -<>/P 9099 0 R/Type/Annot/A 28212 0 R/Subtype/Link/Rect[190 439 207 448]/Border[0 0 0]/H/N>> -endobj - -27697 0 obj -<>/P 9099 0 R/Type/Annot/A 41252 0 R/Subtype/Link/Rect[207 439 219 448]/Border[0 0 0]/H/N>> -endobj - -27698 0 obj -<>/P 9099 0 R/Type/Annot/A 28201 0 R/Subtype/Link/Rect[212 429 224 438]/Border[0 0 0]/H/N>> -endobj - -27699 0 obj -<>/P 9099 0 R/Type/Annot/A 28195 0 R/Subtype/Link/Rect[212 419 226 428]/Border[0 0 0]/H/N>> -endobj - -27700 0 obj -<>/P 9099 0 R/Type/Annot/A 28187 0 R/Subtype/Link/Rect[228 419 244 428]/Border[0 0 0]/H/N>> -endobj - -27701 0 obj -<>/P 9099 0 R/Type/Annot/A 28181 0 R/Subtype/Link/Rect[245 419 259 428]/Border[0 0 0]/H/N>> -endobj - -27702 0 obj -<>/P 9099 0 R/Type/Annot/A 28174 0 R/Subtype/Link/Rect[261 419 273 428]/Border[0 0 0]/H/N>> -endobj - -27703 0 obj -<>/P 9099 0 R/Type/Annot/A 28168 0 R/Subtype/Link/Rect[190 409 207 418]/Border[0 0 0]/H/N>> -endobj - -27704 0 obj -<>/P 9099 0 R/Type/Annot/A 28162 0 R/Subtype/Link/Rect[207 409 219 418]/Border[0 0 0]/H/N>> -endobj - -27705 0 obj -<>/P 9099 0 R/Type/Annot/A 28156 0 R/Subtype/Link/Rect[157 399 167 408]/Border[0 0 0]/H/N>> -endobj - -27706 0 obj -<>/P 9099 0 R/Type/Annot/A 28150 0 R/Subtype/Link/Rect[169 399 181 408]/Border[0 0 0]/H/N>> -endobj - -27707 0 obj -<>/P 9099 0 R/Type/Annot/A 28144 0 R/Subtype/Link/Rect[188 389 198 398]/Border[0 0 0]/H/N>> -endobj - -27708 0 obj -<>/P 9099 0 R/Type/Annot/A 28136 0 R/Subtype/Link/Rect[200 389 216 398]/Border[0 0 0]/H/N>> -endobj - -27709 0 obj -<>/P 9099 0 R/Type/Annot/A 28129 0 R/Subtype/Link/Rect[217 389 231 398]/Border[0 0 0]/H/N>> -endobj - -27710 0 obj -<>/P 9099 0 R/Type/Annot/A 28124 0 R/Subtype/Link/Rect[233 389 250 398]/Border[0 0 0]/H/N>> -endobj - -27711 0 obj -<>/P 9099 0 R/Type/Annot/A 28117 0 R/Subtype/Link/Rect[250 389 264 398]/Border[0 0 0]/H/N>> -endobj - -27712 0 obj -<>/P 9099 0 R/Type/Annot/A 28111 0 R/Subtype/Link/Rect[266 389 280 398]/Border[0 0 0]/H/N>> -endobj - -27713 0 obj -<>/P 9099 0 R/Type/Annot/A 28106 0 R/Subtype/Link/Rect[282 389 294 398]/Border[0 0 0]/H/N>> -endobj - -27714 0 obj -<>/P 9099 0 R/Type/Annot/A 28339 0 R/Subtype/Link/Rect[190 379 202 388]/Border[0 0 0]/H/N>> -endobj - -27715 0 obj -<>/P 9099 0 R/Type/Annot/A 28331 0 R/Subtype/Link/Rect[202 369 216 378]/Border[0 0 0]/H/N>> -endobj - -27716 0 obj -<>/P 9099 0 R/Type/Annot/A 28326 0 R/Subtype/Link/Rect[218 369 232 378]/Border[0 0 0]/H/N>> -endobj - -27717 0 obj -<>/P 9099 0 R/Type/Annot/A 28321 0 R/Subtype/Link/Rect[234 369 248 378]/Border[0 0 0]/H/N>> -endobj - -27718 0 obj -<>/P 9099 0 R/Type/Annot/A 28317 0 R/Subtype/Link/Rect[250 369 267 378]/Border[0 0 0]/H/N>> -endobj - -27719 0 obj -<>/P 9099 0 R/Type/Annot/A 28314 0 R/Subtype/Link/Rect[268 369 280 378]/Border[0 0 0]/H/N>> -endobj - -27720 0 obj -<>/P 9099 0 R/Type/Annot/A 28309 0 R/Subtype/Link/Rect[190 359 202 368]/Border[0 0 0]/H/N>> -endobj - -27721 0 obj -<>/P 9099 0 R/Type/Annot/A 28303 0 R/Subtype/Link/Rect[245 349 259 358]/Border[0 0 0]/H/N>> -endobj - -27722 0 obj -<>/P 9099 0 R/Type/Annot/A 28297 0 R/Subtype/Link/Rect[261 349 275 358]/Border[0 0 0]/H/N>> -endobj - -27723 0 obj -<>/P 9099 0 R/Type/Annot/A 28291 0 R/Subtype/Link/Rect[277 349 289 358]/Border[0 0 0]/H/N>> -endobj - -27724 0 obj -<>/P 9099 0 R/Type/Annot/A 28287 0 R/Subtype/Link/Rect[190 339 202 348]/Border[0 0 0]/H/N>> -endobj - -27725 0 obj -<>/P 9099 0 R/Type/Annot/A 28283 0 R/Subtype/Link/Rect[231 329 245 338]/Border[0 0 0]/H/N>> -endobj - -27726 0 obj -<>/P 9099 0 R/Type/Annot/A 28277 0 R/Subtype/Link/Rect[247 329 261 338]/Border[0 0 0]/H/N>> -endobj - -27727 0 obj -<>/P 9099 0 R/Type/Annot/A 28272 0 R/Subtype/Link/Rect[263 329 275 338]/Border[0 0 0]/H/N>> -endobj - -27728 0 obj -<>/P 9099 0 R/Type/Annot/A 28266 0 R/Subtype/Link/Rect[190 319 202 328]/Border[0 0 0]/H/N>> -endobj - -27729 0 obj -<>/P 9099 0 R/Type/Annot/A 28259 0 R/Subtype/Link/Rect[197 309 211 318]/Border[0 0 0]/H/N>> -endobj - -27730 0 obj -<>/P 9099 0 R/Type/Annot/A 28253 0 R/Subtype/Link/Rect[213 309 227 318]/Border[0 0 0]/H/N>> -endobj - -27731 0 obj -<>/P 9099 0 R/Type/Annot/A 28248 0 R/Subtype/Link/Rect[229 309 243 318]/Border[0 0 0]/H/N>> -endobj - -27732 0 obj -<>/P 9099 0 R/Type/Annot/A 28241 0 R/Subtype/Link/Rect[245 309 259 318]/Border[0 0 0]/H/N>> -endobj - -27733 0 obj -<>/P 9099 0 R/Type/Annot/A 28235 0 R/Subtype/Link/Rect[261 309 275 318]/Border[0 0 0]/H/N>> -endobj - -27734 0 obj -<>/P 9099 0 R/Type/Annot/A 28229 0 R/Subtype/Link/Rect[277 309 289 318]/Border[0 0 0]/H/N>> -endobj - -27735 0 obj -<>/P 9099 0 R/Type/Annot/A 28224 0 R/Subtype/Link/Rect[190 299 202 308]/Border[0 0 0]/H/N>> -endobj - -27736 0 obj -<>/P 9099 0 R/Type/Annot/A 28220 0 R/Subtype/Link/Rect[207 289 219 298]/Border[0 0 0]/H/N>> -endobj - -27737 0 obj -<>/P 9099 0 R/Type/Annot/A 28214 0 R/Subtype/Link/Rect[188 279 204 288]/Border[0 0 0]/H/N>> -endobj - -27738 0 obj -<>/P 9099 0 R/Type/Annot/A 28210 0 R/Subtype/Link/Rect[205 279 219 288]/Border[0 0 0]/H/N>> -endobj - -27739 0 obj -<>/P 9099 0 R/Type/Annot/A 28204 0 R/Subtype/Link/Rect[221 279 235 288]/Border[0 0 0]/H/N>> -endobj - -27740 0 obj -<>/P 9099 0 R/Type/Annot/A 28198 0 R/Subtype/Link/Rect[237 279 249 288]/Border[0 0 0]/H/N>> -endobj - -27741 0 obj -<>/P 9099 0 R/Type/Annot/A 28192 0 R/Subtype/Link/Rect[190 269 202 278]/Border[0 0 0]/H/N>> -endobj - -27742 0 obj -<>/P 9099 0 R/Type/Annot/A 28185 0 R/Subtype/Link/Rect[217 259 231 268]/Border[0 0 0]/H/N>> -endobj - -27743 0 obj -<>/P 9099 0 R/Type/Annot/A 28179 0 R/Subtype/Link/Rect[233 259 245 268]/Border[0 0 0]/H/N>> -endobj - -27744 0 obj -<>/P 9099 0 R/Type/Annot/A 28172 0 R/Subtype/Link/Rect[193 249 205 258]/Border[0 0 0]/H/N>> -endobj - -27745 0 obj -<>/P 9099 0 R/Type/Annot/A 28167 0 R/Subtype/Link/Rect[207 239 219 248]/Border[0 0 0]/H/N>> -endobj - -27746 0 obj -<>/P 9099 0 R/Type/Annot/A 28160 0 R/Subtype/Link/Rect[229 229 241 238]/Border[0 0 0]/H/N>> -endobj - -27747 0 obj -<>/P 9099 0 R/Type/Annot/A 28155 0 R/Subtype/Link/Rect[196 219 206 228]/Border[0 0 0]/H/N>> -endobj - -27748 0 obj -<>/P 9099 0 R/Type/Annot/A 28149 0 R/Subtype/Link/Rect[208 219 222 228]/Border[0 0 0]/H/N>> -endobj - -27749 0 obj -<>/P 9099 0 R/Type/Annot/A 28143 0 R/Subtype/Link/Rect[224 219 236 228]/Border[0 0 0]/H/N>> -endobj - -27750 0 obj -<>/P 9099 0 R/Type/Annot/A 28137 0 R/Subtype/Link/Rect[197 209 210 218]/Border[0 0 0]/H/N>> -endobj - -27751 0 obj -<>/P 9099 0 R/Type/Annot/A 28130 0 R/Subtype/Link/Rect[211 209 221 218]/Border[0 0 0]/H/N>> -endobj - -27752 0 obj -<>/P 9099 0 R/Type/Annot/A 28125 0 R/Subtype/Link/Rect[223 209 237 218]/Border[0 0 0]/H/N>> -endobj - -27753 0 obj -<>/P 9099 0 R/Type/Annot/A 28118 0 R/Subtype/Link/Rect[239 209 255 218]/Border[0 0 0]/H/N>> -endobj - -27754 0 obj -<>/P 9099 0 R/Type/Annot/A 28112 0 R/Subtype/Link/Rect[256 209 270 218]/Border[0 0 0]/H/N>> -endobj - -27755 0 obj -<>/P 9099 0 R/Type/Annot/A 28107 0 R/Subtype/Link/Rect[272 209 284 218]/Border[0 0 0]/H/N>> -endobj - -27756 0 obj -<>/P 9099 0 R/Type/Annot/A 28102 0 R/Subtype/Link/Rect[190 199 198 208]/Border[0 0 0]/H/N>> -endobj - -27757 0 obj -<>/P 9099 0 R/Type/Annot/A 28342 0 R/Subtype/Link/Rect[196 161 209 170]/Border[0 0 0]/H/N>> -endobj - -27758 0 obj -<>/P 9099 0 R/Type/Annot/A 28335 0 R/Subtype/Link/Rect[209 161 219 170]/Border[0 0 0]/H/N>> -endobj - -27759 0 obj -<>/P 9099 0 R/Type/Annot/A 28329 0 R/Subtype/Link/Rect[221 161 231 170]/Border[0 0 0]/H/N>> -endobj - -27760 0 obj -<>/P 9099 0 R/Type/Annot/A 28324 0 R/Subtype/Link/Rect[233 161 247 170]/Border[0 0 0]/H/N>> -endobj - -27761 0 obj -<>/P 9099 0 R/Type/Annot/A 37732 0 R/Subtype/Link/Rect[249 161 262 170]/Border[0 0 0]/H/N>> -endobj - -27762 0 obj -<>/P 9099 0 R/Type/Annot/A 28315 0 R/Subtype/Link/Rect[264 161 278 170]/Border[0 0 0]/H/N>> -endobj - -27763 0 obj -<>/P 9099 0 R/Type/Annot/A 28311 0 R/Subtype/Link/Rect[280 161 294 170]/Border[0 0 0]/H/N>> -endobj - -27764 0 obj -<>/P 9099 0 R/Type/Annot/A 28307 0 R/Subtype/Link/Rect[296 161 310 170]/Border[0 0 0]/H/N>> -endobj - -27765 0 obj -<>/P 9099 0 R/Type/Annot/A 28301 0 R/Subtype/Link/Rect[151 151 163 160]/Border[0 0 0]/H/N>> -endobj - -27766 0 obj -<>/P 9099 0 R/Type/Annot/A 28295 0 R/Subtype/Link/Rect[222 141 236 150]/Border[0 0 0]/H/N>> -endobj - -27767 0 obj -<>/P 9099 0 R/Type/Annot/A 28071 0 R/Subtype/Link/Rect[238 141 252 150]/Border[0 0 0]/H/N>> -endobj - -27768 0 obj -<>/P 9099 0 R/Type/Annot/A 28286 0 R/Subtype/Link/Rect[254 141 268 150]/Border[0 0 0]/H/N>> -endobj - -27769 0 obj -<>/P 9099 0 R/Type/Annot/A 28281 0 R/Subtype/Link/Rect[270 141 282 150]/Border[0 0 0]/H/N>> -endobj - -27770 0 obj -<>/P 9099 0 R/Type/Annot/A 28275 0 R/Subtype/Link/Rect[397 669 414 678]/Border[0 0 0]/H/N>> -endobj - -27771 0 obj -<>/P 9099 0 R/Type/Annot/A 28270 0 R/Subtype/Link/Rect[415 669 429 678]/Border[0 0 0]/H/N>> -endobj - -27772 0 obj -<>/P 9099 0 R/Type/Annot/A 28264 0 R/Subtype/Link/Rect[431 669 445 678]/Border[0 0 0]/H/N>> -endobj - -27773 0 obj -<>/P 9099 0 R/Type/Annot/A 28258 0 R/Subtype/Link/Rect[447 669 461 678]/Border[0 0 0]/H/N>> -endobj - -27774 0 obj -<>/P 9099 0 R/Type/Annot/A 28252 0 R/Subtype/Link/Rect[463 669 477 678]/Border[0 0 0]/H/N>> -endobj - -27775 0 obj -<>/P 9099 0 R/Type/Annot/A 28247 0 R/Subtype/Link/Rect[479 669 491 678]/Border[0 0 0]/H/N>> -endobj - -27776 0 obj -<>/P 9099 0 R/Type/Annot/A 28240 0 R/Subtype/Link/Rect[403 649 413 658]/Border[0 0 0]/H/N>> -endobj - -27777 0 obj -<>/P 9099 0 R/Type/Annot/A 28057 0 R/Subtype/Link/Rect[415 649 429 658]/Border[0 0 0]/H/N>> -endobj - -27778 0 obj -<>/P 9099 0 R/Type/Annot/A 28230 0 R/Subtype/Link/Rect[431 649 445 658]/Border[0 0 0]/H/N>> -endobj - -27779 0 obj -<>/P 9099 0 R/Type/Annot/A 28225 0 R/Subtype/Link/Rect[447 649 459 658]/Border[0 0 0]/H/N>> -endobj - -27780 0 obj -<>/P 9099 0 R/Type/Annot/A 28221 0 R/Subtype/Link/Rect[401 639 415 648]/Border[0 0 0]/H/N>> -endobj - -27781 0 obj -<>/P 9099 0 R/Type/Annot/A 28217 0 R/Subtype/Link/Rect[417 639 433 648]/Border[0 0 0]/H/N>> -endobj - -27782 0 obj -<>/P 9099 0 R/Type/Annot/A 31040 0 R/Subtype/Link/Rect[434 639 448 648]/Border[0 0 0]/H/N>> -endobj - -27783 0 obj -<>/P 9099 0 R/Type/Annot/A 28207 0 R/Subtype/Link/Rect[450 639 462 648]/Border[0 0 0]/H/N>> -endobj - -27784 0 obj -<>/P 9099 0 R/Type/Annot/A 28200 0 R/Subtype/Link/Rect[398 629 410 638]/Border[0 0 0]/H/N>> -endobj - -27785 0 obj -<>/P 9099 0 R/Type/Annot/A 28194 0 R/Subtype/Link/Rect[396 619 408 628]/Border[0 0 0]/H/N>> -endobj - -27786 0 obj -<>/P 9099 0 R/Type/Annot/A 28188 0 R/Subtype/Link/Rect[412 609 426 618]/Border[0 0 0]/H/N>> -endobj - -27787 0 obj -<>/P 9099 0 R/Type/Annot/A 30151 0 R/Subtype/Link/Rect[428 609 442 618]/Border[0 0 0]/H/N>> -endobj - -27788 0 obj -<>/P 9099 0 R/Type/Annot/A 28175 0 R/Subtype/Link/Rect[444 609 458 618]/Border[0 0 0]/H/N>> -endobj - -27789 0 obj -<>/P 9099 0 R/Type/Annot/A 28169 0 R/Subtype/Link/Rect[460 609 474 618]/Border[0 0 0]/H/N>> -endobj - -27790 0 obj -<>/P 9099 0 R/Type/Annot/A 28164 0 R/Subtype/Link/Rect[476 609 490 618]/Border[0 0 0]/H/N>> -endobj - -27791 0 obj -<>/P 9099 0 R/Type/Annot/A 28158 0 R/Subtype/Link/Rect[492 609 504 618]/Border[0 0 0]/H/N>> -endobj - -27792 0 obj -<>/P 9099 0 R/Type/Annot/A 29241 0 R/Subtype/Link/Rect[397 599 409 608]/Border[0 0 0]/H/N>> -endobj - -27793 0 obj -<>/P 9099 0 R/Type/Annot/A 28147 0 R/Subtype/Link/Rect[396 589 404 598]/Border[0 0 0]/H/N>> -endobj - -27794 0 obj -<>/P 9099 0 R/Type/Annot/A 28141 0 R/Subtype/Link/Rect[405 589 415 598]/Border[0 0 0]/H/N>> -endobj - -27795 0 obj -<>/P 9099 0 R/Type/Annot/A 28134 0 R/Subtype/Link/Rect[417 589 427 598]/Border[0 0 0]/H/N>> -endobj - -27796 0 obj -<>/P 9099 0 R/Type/Annot/A 28128 0 R/Subtype/Link/Rect[429 589 439 598]/Border[0 0 0]/H/N>> -endobj - -27797 0 obj -<>/P 9099 0 R/Type/Annot/A 28123 0 R/Subtype/Link/Rect[441 589 451 598]/Border[0 0 0]/H/N>> -endobj - -27798 0 obj -<>/P 9099 0 R/Type/Annot/A 28116 0 R/Subtype/Link/Rect[453 589 463 598]/Border[0 0 0]/H/N>> -endobj - -27799 0 obj -<>/P 9099 0 R/Type/Annot/A 28110 0 R/Subtype/Link/Rect[465 589 478 598]/Border[0 0 0]/H/N>> -endobj - -27800 0 obj -<>/P 9099 0 R/Type/Annot/A 28105 0 R/Subtype/Link/Rect[478 589 488 598]/Border[0 0 0]/H/N>> -endobj - -27801 0 obj -<>/P 9099 0 R/Type/Annot/A 28101 0 R/Subtype/Link/Rect[490 589 500 598]/Border[0 0 0]/H/N>> -endobj - -27802 0 obj -<>/P 9099 0 R/Type/Annot/A 28097 0 R/Subtype/Link/Rect[502 589 512 598]/Border[0 0 0]/H/N>> -endobj - -27803 0 obj -<>/P 9099 0 R/Type/Annot/A 28093 0 R/Subtype/Link/Rect[359 579 372 588]/Border[0 0 0]/H/N>> -endobj - -27804 0 obj -<>/P 9099 0 R/Type/Annot/A 28336 0 R/Subtype/Link/Rect[373 579 383 588]/Border[0 0 0]/H/N>> -endobj - -27805 0 obj -<>/P 9099 0 R/Type/Annot/A 28330 0 R/Subtype/Link/Rect[385 579 398 588]/Border[0 0 0]/H/N>> -endobj - -27806 0 obj -<>/P 9099 0 R/Type/Annot/A 28325 0 R/Subtype/Link/Rect[400 579 416 588]/Border[0 0 0]/H/N>> -endobj - -27807 0 obj -<>/P 9099 0 R/Type/Annot/A 28319 0 R/Subtype/Link/Rect[417 579 431 588]/Border[0 0 0]/H/N>> -endobj - -27808 0 obj -<>/P 9099 0 R/Type/Annot/A 28152 0 R/Subtype/Link/Rect[433 579 447 588]/Border[0 0 0]/H/N>> -endobj - -27809 0 obj -<>/P 9099 0 R/Type/Annot/A 28313 0 R/Subtype/Link/Rect[449 579 463 588]/Border[0 0 0]/H/N>> -endobj - -27810 0 obj -<>/P 9099 0 R/Type/Annot/A 28074 0 R/Subtype/Link/Rect[465 579 482 588]/Border[0 0 0]/H/N>> -endobj - -27811 0 obj -<>/P 9099 0 R/Type/Annot/A 28304 0 R/Subtype/Link/Rect[482 579 496 588]/Border[0 0 0]/H/N>> -endobj - -27812 0 obj -<>/P 9099 0 R/Type/Annot/A 28299 0 R/Subtype/Link/Rect[498 579 512 588]/Border[0 0 0]/H/N>> -endobj - -27813 0 obj -<>/P 9099 0 R/Type/Annot/A 28294 0 R/Subtype/Link/Rect[359 569 373 578]/Border[0 0 0]/H/N>> -endobj - -27814 0 obj -<>/P 9099 0 R/Type/Annot/A 28289 0 R/Subtype/Link/Rect[375 569 392 578]/Border[0 0 0]/H/N>> -endobj - -27815 0 obj -<>/P 9099 0 R/Type/Annot/A 28285 0 R/Subtype/Link/Rect[393 569 407 578]/Border[0 0 0]/H/N>> -endobj - -27816 0 obj -<>/P 9099 0 R/Type/Annot/A 28279 0 R/Subtype/Link/Rect[409 569 425 578]/Border[0 0 0]/H/N>> -endobj - -27817 0 obj -<>/P 9099 0 R/Type/Annot/A 28274 0 R/Subtype/Link/Rect[426 569 440 578]/Border[0 0 0]/H/N>> -endobj - -27818 0 obj -<>/P 9099 0 R/Type/Annot/A 28268 0 R/Subtype/Link/Rect[442 569 458 578]/Border[0 0 0]/H/N>> -endobj - -27819 0 obj -<>/P 9099 0 R/Type/Annot/A 28262 0 R/Subtype/Link/Rect[459 569 473 578]/Border[0 0 0]/H/N>> -endobj - -27820 0 obj -<>/P 9099 0 R/Type/Annot/A 28060 0 R/Subtype/Link/Rect[475 569 492 578]/Border[0 0 0]/H/N>> -endobj - -27821 0 obj -<>/P 9099 0 R/Type/Annot/A 28250 0 R/Subtype/Link/Rect[492 569 506 578]/Border[0 0 0]/H/N>> -endobj - -27822 0 obj -<>/P 9099 0 R/Type/Annot/A 28245 0 R/Subtype/Link/Rect[359 559 373 568]/Border[0 0 0]/H/N>> -endobj - -27823 0 obj -<>/P 9099 0 R/Type/Annot/A 28238 0 R/Subtype/Link/Rect[375 559 389 568]/Border[0 0 0]/H/N>> -endobj - -27824 0 obj -<>/P 9099 0 R/Type/Annot/A 28234 0 R/Subtype/Link/Rect[391 559 405 568]/Border[0 0 0]/H/N>> -endobj - -27825 0 obj -<>/P 9099 0 R/Type/Annot/A 28228 0 R/Subtype/Link/Rect[407 559 421 568]/Border[0 0 0]/H/N>> -endobj - -27826 0 obj -<>/P 9099 0 R/Type/Annot/A 28223 0 R/Subtype/Link/Rect[423 559 440 568]/Border[0 0 0]/H/N>> -endobj - -27827 0 obj -<>/P 9099 0 R/Type/Annot/A 28219 0 R/Subtype/Link/Rect[441 559 455 568]/Border[0 0 0]/H/N>> -endobj - -27828 0 obj -<>/P 9099 0 R/Type/Annot/A 28050 0 R/Subtype/Link/Rect[457 559 473 568]/Border[0 0 0]/H/N>> -endobj - -27829 0 obj -<>/P 9099 0 R/Type/Annot/A 28211 0 R/Subtype/Link/Rect[474 559 488 568]/Border[0 0 0]/H/N>> -endobj - -27830 0 obj -<>/P 9099 0 R/Type/Annot/A 28206 0 R/Subtype/Link/Rect[359 549 376 558]/Border[0 0 0]/H/N>> -endobj - -27831 0 obj -<>/P 9099 0 R/Type/Annot/A 28046 0 R/Subtype/Link/Rect[377 549 391 558]/Border[0 0 0]/H/N>> -endobj - -27832 0 obj -<>/P 9099 0 R/Type/Annot/A 28043 0 R/Subtype/Link/Rect[393 549 409 558]/Border[0 0 0]/H/N>> -endobj - -27833 0 obj -<>/P 9099 0 R/Type/Annot/A 28189 0 R/Subtype/Link/Rect[410 549 424 558]/Border[0 0 0]/H/N>> -endobj - -27834 0 obj -<>/P 9099 0 R/Type/Annot/A 28182 0 R/Subtype/Link/Rect[426 549 443 558]/Border[0 0 0]/H/N>> -endobj - -27835 0 obj -<>/P 9099 0 R/Type/Annot/A 28177 0 R/Subtype/Link/Rect[443 549 457 558]/Border[0 0 0]/H/N>> -endobj - -27836 0 obj -<>/P 9099 0 R/Type/Annot/A 28170 0 R/Subtype/Link/Rect[459 549 473 558]/Border[0 0 0]/H/N>> -endobj - -27837 0 obj -<>/P 9099 0 R/Type/Annot/A 28165 0 R/Subtype/Link/Rect[475 549 489 558]/Border[0 0 0]/H/N>> -endobj - -27838 0 obj -<>/P 9099 0 R/Type/Annot/A 28159 0 R/Subtype/Link/Rect[359 539 376 548]/Border[0 0 0]/H/N>> -endobj - -27839 0 obj -<>/P 9099 0 R/Type/Annot/A 28154 0 R/Subtype/Link/Rect[377 539 391 548]/Border[0 0 0]/H/N>> -endobj - -27840 0 obj -<>/P 9099 0 R/Type/Annot/A 28148 0 R/Subtype/Link/Rect[393 539 409 548]/Border[0 0 0]/H/N>> -endobj - -27841 0 obj -<>/P 9099 0 R/Type/Annot/A 28142 0 R/Subtype/Link/Rect[410 539 424 548]/Border[0 0 0]/H/N>> -endobj - -27842 0 obj -<>/P 9099 0 R/Type/Annot/A 28135 0 R/Subtype/Link/Rect[426 539 443 548]/Border[0 0 0]/H/N>> -endobj - -27843 0 obj -<>/P 9099 0 R/Type/Annot/A 28028 0 R/Subtype/Link/Rect[443 539 457 548]/Border[0 0 0]/H/N>> -endobj - -27844 0 obj -<>/P 9099 0 R/Type/Annot/A 28024 0 R/Subtype/Link/Rect[459 539 476 548]/Border[0 0 0]/H/N>> -endobj - -27845 0 obj -<>/P 9099 0 R/Type/Annot/A 28119 0 R/Subtype/Link/Rect[476 539 490 548]/Border[0 0 0]/H/N>> -endobj - -27846 0 obj -<>/P 9099 0 R/Type/Annot/A 28113 0 R/Subtype/Link/Rect[359 529 376 538]/Border[0 0 0]/H/N>> -endobj - -27847 0 obj -<>/P 9099 0 R/Type/Annot/A 28109 0 R/Subtype/Link/Rect[377 529 391 538]/Border[0 0 0]/H/N>> -endobj - -27848 0 obj -<>/P 9099 0 R/Type/Annot/A 28104 0 R/Subtype/Link/Rect[393 529 407 538]/Border[0 0 0]/H/N>> -endobj - -27849 0 obj -<>/P 9099 0 R/Type/Annot/A 28100 0 R/Subtype/Link/Rect[409 529 423 538]/Border[0 0 0]/H/N>> -endobj - -27850 0 obj -<>/P 9099 0 R/Type/Annot/A 28096 0 R/Subtype/Link/Rect[425 529 439 538]/Border[0 0 0]/H/N>> -endobj - -27851 0 obj -<>/P 9099 0 R/Type/Annot/A 28091 0 R/Subtype/Link/Rect[441 529 455 538]/Border[0 0 0]/H/N>> -endobj - -27852 0 obj -<>/P 9099 0 R/Type/Annot/A 28087 0 R/Subtype/Link/Rect[457 529 471 538]/Border[0 0 0]/H/N>> -endobj - -27853 0 obj -<>/P 9099 0 R/Type/Annot/A 28084 0 R/Subtype/Link/Rect[473 529 487 538]/Border[0 0 0]/H/N>> -endobj - -27854 0 obj -<>/P 9099 0 R/Type/Annot/A 28080 0 R/Subtype/Link/Rect[488 529 502 538]/Border[0 0 0]/H/N>> -endobj - -27855 0 obj -<>/P 9099 0 R/Type/Annot/A 28077 0 R/Subtype/Link/Rect[504 529 518 538]/Border[0 0 0]/H/N>> -endobj - -27856 0 obj -<>/P 9099 0 R/Type/Annot/A 28076 0 R/Subtype/Link/Rect[359 519 373 528]/Border[0 0 0]/H/N>> -endobj - -27857 0 obj -<>/P 9099 0 R/Type/Annot/A 28075 0 R/Subtype/Link/Rect[375 519 392 528]/Border[0 0 0]/H/N>> -endobj - -27858 0 obj -<>/P 9099 0 R/Type/Annot/A 28073 0 R/Subtype/Link/Rect[393 519 407 528]/Border[0 0 0]/H/N>> -endobj - -27859 0 obj -<>/P 9099 0 R/Type/Annot/A 28072 0 R/Subtype/Link/Rect[409 519 423 528]/Border[0 0 0]/H/N>> -endobj - -27860 0 obj -<>/P 9099 0 R/Type/Annot/A 28070 0 R/Subtype/Link/Rect[425 519 441 528]/Border[0 0 0]/H/N>> -endobj - -27861 0 obj -<>/P 9099 0 R/Type/Annot/A 28069 0 R/Subtype/Link/Rect[442 519 456 528]/Border[0 0 0]/H/N>> -endobj - -27862 0 obj -<>/P 9099 0 R/Type/Annot/A 28068 0 R/Subtype/Link/Rect[458 519 474 528]/Border[0 0 0]/H/N>> -endobj - -27863 0 obj -<>/P 9099 0 R/Type/Annot/A 28067 0 R/Subtype/Link/Rect[475 519 489 528]/Border[0 0 0]/H/N>> -endobj - -27864 0 obj -<>/P 9099 0 R/Type/Annot/A 28066 0 R/Subtype/Link/Rect[359 509 376 518]/Border[0 0 0]/H/N>> -endobj - -27865 0 obj -<>/P 9099 0 R/Type/Annot/A 28065 0 R/Subtype/Link/Rect[377 509 391 518]/Border[0 0 0]/H/N>> -endobj - -27866 0 obj -<>/P 9099 0 R/Type/Annot/A 28063 0 R/Subtype/Link/Rect[393 509 407 518]/Border[0 0 0]/H/N>> -endobj - -27867 0 obj -<>/P 9099 0 R/Type/Annot/A 28062 0 R/Subtype/Link/Rect[409 509 423 518]/Border[0 0 0]/H/N>> -endobj - -27868 0 obj -<>/P 9099 0 R/Type/Annot/A 28061 0 R/Subtype/Link/Rect[425 509 439 518]/Border[0 0 0]/H/N>> -endobj - -27869 0 obj -<>/P 9099 0 R/Type/Annot/A 28059 0 R/Subtype/Link/Rect[441 509 455 518]/Border[0 0 0]/H/N>> -endobj - -27870 0 obj -<>/P 9099 0 R/Type/Annot/A 28058 0 R/Subtype/Link/Rect[457 509 471 518]/Border[0 0 0]/H/N>> -endobj - -27871 0 obj -<>/P 9099 0 R/Type/Annot/A 28056 0 R/Subtype/Link/Rect[473 509 489 518]/Border[0 0 0]/H/N>> -endobj - -27872 0 obj -<>/P 9099 0 R/Type/Annot/A 28055 0 R/Subtype/Link/Rect[490 509 504 518]/Border[0 0 0]/H/N>> -endobj - -27873 0 obj -<>/P 9099 0 R/Type/Annot/A 28054 0 R/Subtype/Link/Rect[359 499 376 508]/Border[0 0 0]/H/N>> -endobj - -27874 0 obj -<>/P 9099 0 R/Type/Annot/A 28053 0 R/Subtype/Link/Rect[377 499 391 508]/Border[0 0 0]/H/N>> -endobj - -27875 0 obj -<>/P 9099 0 R/Type/Annot/A 28052 0 R/Subtype/Link/Rect[393 499 406 508]/Border[0 0 0]/H/N>> -endobj - -27876 0 obj -<>/P 9099 0 R/Type/Annot/A 28051 0 R/Subtype/Link/Rect[408 499 422 508]/Border[0 0 0]/H/N>> -endobj - -27877 0 obj -<>/P 9099 0 R/Type/Annot/A 28049 0 R/Subtype/Link/Rect[424 499 438 508]/Border[0 0 0]/H/N>> -endobj - -27878 0 obj -<>/P 9099 0 R/Type/Annot/A 28048 0 R/Subtype/Link/Rect[440 499 457 508]/Border[0 0 0]/H/N>> -endobj - -27879 0 obj -<>/P 9099 0 R/Type/Annot/A 28047 0 R/Subtype/Link/Rect[457 499 471 508]/Border[0 0 0]/H/N>> -endobj - -27880 0 obj -<>/P 9099 0 R/Type/Annot/A 28044 0 R/Subtype/Link/Rect[473 499 490 508]/Border[0 0 0]/H/N>> -endobj - -27881 0 obj -<>/P 9099 0 R/Type/Annot/A 28042 0 R/Subtype/Link/Rect[491 499 505 508]/Border[0 0 0]/H/N>> -endobj - -27882 0 obj -<>/P 9099 0 R/Type/Annot/A 28041 0 R/Subtype/Link/Rect[359 489 373 498]/Border[0 0 0]/H/N>> -endobj - -27883 0 obj -<>/P 9099 0 R/Type/Annot/A 28040 0 R/Subtype/Link/Rect[375 489 387 498]/Border[0 0 0]/H/N>> -endobj - -27884 0 obj -<>/P 9099 0 R/Type/Annot/A 28039 0 R/Subtype/Link/Rect[398 479 406 488]/Border[0 0 0]/H/N>> -endobj - -27885 0 obj -<>/P 9099 0 R/Type/Annot/A 28038 0 R/Subtype/Link/Rect[386 469 400 478]/Border[0 0 0]/H/N>> -endobj - -27886 0 obj -<>/P 9099 0 R/Type/Annot/A 28037 0 R/Subtype/Link/Rect[402 469 414 478]/Border[0 0 0]/H/N>> -endobj - -27887 0 obj -<>/P 9099 0 R/Type/Annot/A 28036 0 R/Subtype/Link/Rect[410 459 416 468]/Border[0 0 0]/H/N>> -endobj - -27888 0 obj -<>/P 9099 0 R/Type/Annot/A 28034 0 R/Subtype/Link/Rect[418 459 424 468]/Border[0 0 0]/H/N>> -endobj - -27889 0 obj -<>/P 9099 0 R/Type/Annot/A 28033 0 R/Subtype/Link/Rect[426 459 443 468]/Border[0 0 0]/H/N>> -endobj - -27890 0 obj -<>/P 9099 0 R/Type/Annot/A 28032 0 R/Subtype/Link/Rect[443 459 457 468]/Border[0 0 0]/H/N>> -endobj - -27891 0 obj -<>/P 9099 0 R/Type/Annot/A 28031 0 R/Subtype/Link/Rect[459 459 473 468]/Border[0 0 0]/H/N>> -endobj - -27892 0 obj -<>/P 9099 0 R/Type/Annot/A 28026 0 R/Subtype/Link/Rect[475 459 489 468]/Border[0 0 0]/H/N>> -endobj - -27893 0 obj -<>/P 9099 0 R/Type/Annot/A 28023 0 R/Subtype/Link/Rect[491 459 505 468]/Border[0 0 0]/H/N>> -endobj - -27894 0 obj -<>/P 9099 0 R/Type/Annot/A 28021 0 R/Subtype/Link/Rect[507 459 519 468]/Border[0 0 0]/H/N>> -endobj - -27895 0 obj -<>/P 9099 0 R/Type/Annot/A 28019 0 R/Subtype/Link/Rect[398 449 410 458]/Border[0 0 0]/H/N>> -endobj - -27896 0 obj -<>/P 9099 0 R/Type/Annot/A 28017 0 R/Subtype/Link/Rect[420 439 434 448]/Border[0 0 0]/H/N>> -endobj - -27897 0 obj -<>/P 9099 0 R/Type/Annot/A 28015 0 R/Subtype/Link/Rect[436 439 448 448]/Border[0 0 0]/H/N>> -endobj - -27898 0 obj -<>/P 9099 0 R/Type/Annot/A 28013 0 R/Subtype/Link/Rect[445 429 461 438]/Border[0 0 0]/H/N>> -endobj - -27899 0 obj -<>/P 9099 0 R/Type/Annot/A 28011 0 R/Subtype/Link/Rect[462 429 474 438]/Border[0 0 0]/H/N>> -endobj - -27900 0 obj -<>/P 9099 0 R/Type/Annot/A 28009 0 R/Subtype/Link/Rect[412 419 429 428]/Border[0 0 0]/H/N>> -endobj - -27901 0 obj -<>/P 9099 0 R/Type/Annot/A 28007 0 R/Subtype/Link/Rect[429 419 441 428]/Border[0 0 0]/H/N>> -endobj - -27902 0 obj -<>/P 9099 0 R/Type/Annot/A 28004 0 R/Subtype/Link/Rect[410 409 427 418]/Border[0 0 0]/H/N>> -endobj - -27903 0 obj -<>/P 9099 0 R/Type/Annot/A 28092 0 R/Subtype/Link/Rect[427 409 439 418]/Border[0 0 0]/H/N>> -endobj - -27904 0 obj -<>/P 9099 0 R/Type/Annot/A 28088 0 R/Subtype/Link/Rect[415 399 429 408]/Border[0 0 0]/H/N>> -endobj - -27905 0 obj -<>/P 9099 0 R/Type/Annot/A 28083 0 R/Subtype/Link/Rect[431 399 448 408]/Border[0 0 0]/H/N>> -endobj - -27906 0 obj -<>/P 9099 0 R/Type/Annot/A 44703 0 R/Subtype/Link/Rect[448 399 462 408]/Border[0 0 0]/H/N>> -endobj - -27907 0 obj -<>/P 9099 0 R/Type/Annot/A 28334 0 R/Subtype/Link/Rect[464 399 478 408]/Border[0 0 0]/H/N>> -endobj - -27908 0 obj -<>/P 9099 0 R/Type/Annot/A 44652 0 R/Subtype/Link/Rect[480 399 492 408]/Border[0 0 0]/H/N>> -endobj - -27909 0 obj -<>/P 9099 0 R/Type/Annot/A 28323 0 R/Subtype/Link/Rect[398 389 410 398]/Border[0 0 0]/H/N>> -endobj - -27910 0 obj -<>/P 9099 0 R/Type/Annot/A 44570 0 R/Subtype/Link/Rect[425 379 441 388]/Border[0 0 0]/H/N>> -endobj - -27911 0 obj -<>/P 9099 0 R/Type/Annot/A 38346 0 R/Subtype/Link/Rect[442 379 456 388]/Border[0 0 0]/H/N>> -endobj - -27912 0 obj -<>/P 9099 0 R/Type/Annot/A 28310 0 R/Subtype/Link/Rect[458 379 472 388]/Border[0 0 0]/H/N>> -endobj - -27913 0 obj -<>/P 9099 0 R/Type/Annot/A 28305 0 R/Subtype/Link/Rect[474 379 486 388]/Border[0 0 0]/H/N>> -endobj - -27914 0 obj -<>/P 9099 0 R/Type/Annot/A 28298 0 R/Subtype/Link/Rect[398 369 410 378]/Border[0 0 0]/H/N>> -endobj - -27915 0 obj -<>/P 9099 0 R/Type/Annot/A 28292 0 R/Subtype/Link/Rect[420 359 434 368]/Border[0 0 0]/H/N>> -endobj - -27916 0 obj -<>/P 9099 0 R/Type/Annot/A 28064 0 R/Subtype/Link/Rect[436 359 450 368]/Border[0 0 0]/H/N>> -endobj - -27917 0 obj -<>/P 9099 0 R/Type/Annot/A 28282 0 R/Subtype/Link/Rect[452 359 466 368]/Border[0 0 0]/H/N>> -endobj - -27918 0 obj -<>/P 9099 0 R/Type/Annot/A 28276 0 R/Subtype/Link/Rect[468 359 480 368]/Border[0 0 0]/H/N>> -endobj - -27919 0 obj -<>/P 9099 0 R/Type/Annot/A 28271 0 R/Subtype/Link/Rect[415 349 429 358]/Border[0 0 0]/H/N>> -endobj - -27920 0 obj -<>/P 9099 0 R/Type/Annot/A 28265 0 R/Subtype/Link/Rect[431 349 445 358]/Border[0 0 0]/H/N>> -endobj - -27921 0 obj -<>/P 9099 0 R/Type/Annot/A 28257 0 R/Subtype/Link/Rect[447 349 464 358]/Border[0 0 0]/H/N>> -endobj - -27922 0 obj -<>/P 9099 0 R/Type/Annot/A 28251 0 R/Subtype/Link/Rect[464 349 476 358]/Border[0 0 0]/H/N>> -endobj - -27923 0 obj -<>/P 9099 0 R/Type/Annot/A 28246 0 R/Subtype/Link/Rect[398 339 410 348]/Border[0 0 0]/H/N>> -endobj - -27924 0 obj -<>/P 9099 0 R/Type/Annot/A 28239 0 R/Subtype/Link/Rect[401 329 417 338]/Border[0 0 0]/H/N>> -endobj - -27925 0 obj -<>/P 9099 0 R/Type/Annot/A 28233 0 R/Subtype/Link/Rect[418 329 432 338]/Border[0 0 0]/H/N>> -endobj - -27926 0 obj -<>/P 9099 0 R/Type/Annot/A 28227 0 R/Subtype/Link/Rect[434 329 448 338]/Border[0 0 0]/H/N>> -endobj - -27927 0 obj -<>/P 9099 0 R/Type/Annot/A 41986 0 R/Subtype/Link/Rect[450 329 464 338]/Border[0 0 0]/H/N>> -endobj - -27928 0 obj -<>/P 9099 0 R/Type/Annot/A 28218 0 R/Subtype/Link/Rect[466 329 479 338]/Border[0 0 0]/H/N>> -endobj - -27929 0 obj -<>/P 9099 0 R/Type/Annot/A 28213 0 R/Subtype/Link/Rect[481 329 493 338]/Border[0 0 0]/H/N>> -endobj - -27930 0 obj -<>/P 9099 0 R/Type/Annot/A 28208 0 R/Subtype/Link/Rect[398 319 415 328]/Border[0 0 0]/H/N>> -endobj - -27931 0 obj -<>/P 9099 0 R/Type/Annot/A 28202 0 R/Subtype/Link/Rect[415 319 427 328]/Border[0 0 0]/H/N>> -endobj - -27932 0 obj -<>/P 9099 0 R/Type/Annot/A 28196 0 R/Subtype/Link/Rect[401 309 411 318]/Border[0 0 0]/H/N>> -endobj - -27933 0 obj -<>/P 9099 0 R/Type/Annot/A 28190 0 R/Subtype/Link/Rect[413 309 423 318]/Border[0 0 0]/H/N>> -endobj - -27934 0 obj -<>/P 9099 0 R/Type/Annot/A 28183 0 R/Subtype/Link/Rect[425 309 439 318]/Border[0 0 0]/H/N>> -endobj - -27935 0 obj -<>/P 9099 0 R/Type/Annot/A 28176 0 R/Subtype/Link/Rect[441 309 455 318]/Border[0 0 0]/H/N>> -endobj - -27936 0 obj -<>/P 9099 0 R/Type/Annot/A 28035 0 R/Subtype/Link/Rect[457 309 471 318]/Border[0 0 0]/H/N>> -endobj - -27937 0 obj -<>/P 9099 0 R/Type/Annot/A 28163 0 R/Subtype/Link/Rect[473 309 489 318]/Border[0 0 0]/H/N>> -endobj - -27938 0 obj -<>/P 9099 0 R/Type/Annot/A 28157 0 R/Subtype/Link/Rect[490 309 504 318]/Border[0 0 0]/H/N>> -endobj - -27939 0 obj -<>/P 9099 0 R/Type/Annot/A 28029 0 R/Subtype/Link/Rect[359 299 373 308]/Border[0 0 0]/H/N>> -endobj - -27940 0 obj -<>/P 9099 0 R/Type/Annot/A 28146 0 R/Subtype/Link/Rect[375 299 389 308]/Border[0 0 0]/H/N>> -endobj - -27941 0 obj -<>/P 9099 0 R/Type/Annot/A 28139 0 R/Subtype/Link/Rect[391 299 405 308]/Border[0 0 0]/H/N>> -endobj - -27942 0 obj -<>/P 9099 0 R/Type/Annot/A 28132 0 R/Subtype/Link/Rect[407 299 421 308]/Border[0 0 0]/H/N>> -endobj - -27943 0 obj -<>/P 9099 0 R/Type/Annot/A 28127 0 R/Subtype/Link/Rect[423 299 437 308]/Border[0 0 0]/H/N>> -endobj - -27944 0 obj -<>/P 9099 0 R/Type/Annot/A 28121 0 R/Subtype/Link/Rect[439 299 451 308]/Border[0 0 0]/H/N>> -endobj - -27945 0 obj -<>/P 9099 0 R/Type/Annot/A 28114 0 R/Subtype/Link/Rect[398 289 410 298]/Border[0 0 0]/H/N>> -endobj - -27946 0 obj -<>/P 9099 0 R/Type/Annot/A 41188 0 R/Subtype/Link/Rect[425 279 439 288]/Border[0 0 0]/H/N>> -endobj - -27947 0 obj -<>/P 9099 0 R/Type/Annot/A 28103 0 R/Subtype/Link/Rect[441 279 455 288]/Border[0 0 0]/H/N>> -endobj - -27948 0 obj -<>/P 9099 0 R/Type/Annot/A 28098 0 R/Subtype/Link/Rect[457 279 471 288]/Border[0 0 0]/H/N>> -endobj - -27949 0 obj -<>/P 9099 0 R/Type/Annot/A 28094 0 R/Subtype/Link/Rect[473 279 487 288]/Border[0 0 0]/H/N>> -endobj - -27950 0 obj -<>/P 9099 0 R/Type/Annot/A 28089 0 R/Subtype/Link/Rect[489 279 501 288]/Border[0 0 0]/H/N>> -endobj - -27951 0 obj -<>/P 9099 0 R/Type/Annot/A 28085 0 R/Subtype/Link/Rect[387 259 397 268]/Border[0 0 0]/H/N>> -endobj - -27952 0 obj -<>/P 9099 0 R/Type/Annot/A 28081 0 R/Subtype/Link/Rect[399 259 413 268]/Border[0 0 0]/H/N>> -endobj - -27953 0 obj -<>/P 9099 0 R/Type/Annot/A 28078 0 R/Subtype/Link/Rect[415 259 429 268]/Border[0 0 0]/H/N>> -endobj - -27954 0 obj -<>/P 9099 0 R/Type/Annot/A 28341 0 R/Subtype/Link/Rect[431 259 445 268]/Border[0 0 0]/H/N>> -endobj - -27955 0 obj -<>/P 9099 0 R/Type/Annot/A 28333 0 R/Subtype/Link/Rect[447 259 461 268]/Border[0 0 0]/H/N>> -endobj - -27956 0 obj -<>/P 9099 0 R/Type/Annot/A 28328 0 R/Subtype/Link/Rect[463 259 479 268]/Border[0 0 0]/H/N>> -endobj - -27957 0 obj -<>/P 9099 0 R/Type/Annot/A 28322 0 R/Subtype/Link/Rect[480 259 494 268]/Border[0 0 0]/H/N>> -endobj - -27958 0 obj -<>/P 9099 0 R/Type/Annot/A 28318 0 R/Subtype/Link/Rect[496 259 510 268]/Border[0 0 0]/H/N>> -endobj - -27959 0 obj -<>/P 9099 0 R/Type/Annot/A 38913 0 R/Subtype/Link/Rect[359 249 373 258]/Border[0 0 0]/H/N>> -endobj - -27960 0 obj -<>/P 9099 0 R/Type/Annot/A 38375 0 R/Subtype/Link/Rect[375 249 387 258]/Border[0 0 0]/H/N>> -endobj - -27961 0 obj -<>/P 9099 0 R/Type/Annot/A 28306 0 R/Subtype/Link/Rect[380 239 393 248]/Border[0 0 0]/H/N>> -endobj - -27962 0 obj -<>/P 9099 0 R/Type/Annot/A 28300 0 R/Subtype/Link/Rect[394 239 404 248]/Border[0 0 0]/H/N>> -endobj - -27963 0 obj -<>/P 9099 0 R/Type/Annot/A 28293 0 R/Subtype/Link/Rect[406 239 416 248]/Border[0 0 0]/H/N>> -endobj - -27964 0 obj -<>/P 9099 0 R/Type/Annot/A 28288 0 R/Subtype/Link/Rect[418 239 430 248]/Border[0 0 0]/H/N>> -endobj - -27965 0 obj -<>/P 9099 0 R/Type/Annot/A 28284 0 R/Subtype/Link/Rect[431 239 441 248]/Border[0 0 0]/H/N>> -endobj - -27966 0 obj -<>/P 9099 0 R/Type/Annot/A 28278 0 R/Subtype/Link/Rect[443 239 457 248]/Border[0 0 0]/H/N>> -endobj - -27967 0 obj -<>/P 9099 0 R/Type/Annot/A 28273 0 R/Subtype/Link/Rect[459 239 473 248]/Border[0 0 0]/H/N>> -endobj - -27968 0 obj -<>/P 9099 0 R/Type/Annot/A 28267 0 R/Subtype/Link/Rect[475 239 489 248]/Border[0 0 0]/H/N>> -endobj - -27969 0 obj -<>/P 9099 0 R/Type/Annot/A 28260 0 R/Subtype/Link/Rect[491 239 505 248]/Border[0 0 0]/H/N>> -endobj - -27970 0 obj -<>/P 9099 0 R/Type/Annot/A 28254 0 R/Subtype/Link/Rect[359 229 376 238]/Border[0 0 0]/H/N>> -endobj - -27971 0 obj -<>/P 9099 0 R/Type/Annot/A 42310 0 R/Subtype/Link/Rect[377 229 391 238]/Border[0 0 0]/H/N>> -endobj - -27972 0 obj -<>/P 9099 0 R/Type/Annot/A 28242 0 R/Subtype/Link/Rect[393 229 409 238]/Border[0 0 0]/H/N>> -endobj - -27973 0 obj -<>/P 9099 0 R/Type/Annot/A 28236 0 R/Subtype/Link/Rect[410 229 424 238]/Border[0 0 0]/H/N>> -endobj - -27974 0 obj -<>/P 9099 0 R/Type/Annot/A 34198 0 R/Subtype/Link/Rect[426 229 440 238]/Border[0 0 0]/H/N>> -endobj - -27975 0 obj -<>/P 9099 0 R/Type/Annot/A 28226 0 R/Subtype/Link/Rect[442 229 456 238]/Border[0 0 0]/H/N>> -endobj - -27976 0 obj -<>/P 9099 0 R/Type/Annot/A 28045 0 R/Subtype/Link/Rect[458 229 472 238]/Border[0 0 0]/H/N>> -endobj - -27977 0 obj -<>/P 9099 0 R/Type/Annot/A 28216 0 R/Subtype/Link/Rect[474 229 488 238]/Border[0 0 0]/H/N>> -endobj - -27978 0 obj -<>/P 9099 0 R/Type/Annot/A 33041 0 R/Subtype/Link/Rect[490 229 504 238]/Border[0 0 0]/H/N>> -endobj - -27979 0 obj -<>/P 9099 0 R/Type/Annot/A 28205 0 R/Subtype/Link/Rect[359 219 373 228]/Border[0 0 0]/H/N>> -endobj - -27980 0 obj -<>/P 9099 0 R/Type/Annot/A 28199 0 R/Subtype/Link/Rect[375 219 389 228]/Border[0 0 0]/H/N>> -endobj - -27981 0 obj -<>/P 9099 0 R/Type/Annot/A 28193 0 R/Subtype/Link/Rect[391 219 403 228]/Border[0 0 0]/H/N>> -endobj - -27982 0 obj -<>/P 9099 0 R/Type/Annot/A 28186 0 R/Subtype/Link/Rect[410 209 420 218]/Border[0 0 0]/H/N>> -endobj - -27983 0 obj -<>/P 9099 0 R/Type/Annot/A 28180 0 R/Subtype/Link/Rect[422 209 436 218]/Border[0 0 0]/H/N>> -endobj - -27984 0 obj -<>/P 9099 0 R/Type/Annot/A 28173 0 R/Subtype/Link/Rect[438 209 455 218]/Border[0 0 0]/H/N>> -endobj - -27985 0 obj -<>/P 9099 0 R/Type/Annot/A 30298 0 R/Subtype/Link/Rect[455 209 469 218]/Border[0 0 0]/H/N>> -endobj - -27986 0 obj -<>/P 9099 0 R/Type/Annot/A 28161 0 R/Subtype/Link/Rect[471 209 485 218]/Border[0 0 0]/H/N>> -endobj - -27987 0 obj -<>/P 9099 0 R/Type/Annot/A 28027 0 R/Subtype/Link/Rect[487 209 504 218]/Border[0 0 0]/H/N>> -endobj - -27988 0 obj -<>/P 9099 0 R/Type/Annot/A 28151 0 R/Subtype/Link/Rect[505 209 519 218]/Border[0 0 0]/H/N>> -endobj - -27989 0 obj -<>/P 9099 0 R/Type/Annot/A 28145 0 R/Subtype/Link/Rect[359 199 373 208]/Border[0 0 0]/H/N>> -endobj - -27990 0 obj -<>/P 9099 0 R/Type/Annot/A 28138 0 R/Subtype/Link/Rect[375 199 389 208]/Border[0 0 0]/H/N>> -endobj - -27991 0 obj -<>/P 9099 0 R/Type/Annot/A 28131 0 R/Subtype/Link/Rect[391 199 405 208]/Border[0 0 0]/H/N>> -endobj - -27992 0 obj -<>/P 9099 0 R/Type/Annot/A 28126 0 R/Subtype/Link/Rect[407 199 421 208]/Border[0 0 0]/H/N>> -endobj - -27993 0 obj -<>/P 9099 0 R/Type/Annot/A 28120 0 R/Subtype/Link/Rect[423 199 439 208]/Border[0 0 0]/H/N>> -endobj - -27994 0 obj -<>/P 9099 0 R/Type/Annot/A 37867 0 R/Subtype/Link/Rect[440 199 452 208]/Border[0 0 0]/H/N>> -endobj - -27995 0 obj -<>/P 9099 0 R/Type/Annot/A 28108 0 R/Subtype/Link/Rect[398 189 410 198]/Border[0 0 0]/H/N>> -endobj - -27996 0 obj -<>/P 9099 0 R/Type/Annot/A 28005 0 R/Subtype/Link/Rect[394 179 411 188]/Border[0 0 0]/H/N>> -endobj - -27997 0 obj -<>/P 9099 0 R/Type/Annot/A 28099 0 R/Subtype/Link/Rect[412 179 424 188]/Border[0 0 0]/H/N>> -endobj - -27998 0 obj -<>/P 9099 0 R/Type/Annot/A 28095 0 R/Subtype/Link/Rect[385 169 397 178]/Border[0 0 0]/H/N>> -endobj - -27999 0 obj -<>/P 9099 0 R/Type/Annot/A 28090 0 R/Subtype/Link/Rect[387 159 399 168]/Border[0 0 0]/H/N>> -endobj - -28000 0 obj -<>/P 9099 0 R/Type/Annot/A 28086 0 R/Subtype/Link/Rect[393 149 405 158]/Border[0 0 0]/H/N>> -endobj - -28001 0 obj -<>/P 9099 0 R/Type/Annot/A 28082 0 R/Subtype/Link/Rect[379 658 397 667]/Border[0 0 0]/H/N>> -endobj - -28002 0 obj -<>/P 9099 0 R/Type/Annot/A 28079 0 R/Subtype/Link/Rect[382 648 401 657]/Border[0 0 0]/H/N>> -endobj - -28003 0 obj -<> -endobj - -28004 0 obj -<> -endobj - -28005 0 obj -<> -endobj - -28006 0 obj -<> -endobj - -28007 0 obj -<> -endobj - -28008 0 obj -<> -endobj - -28009 0 obj -<> -endobj - -28010 0 obj -<> -endobj - -28011 0 obj -<> -endobj - -28012 0 obj -<> -endobj - -28013 0 obj -<> -endobj - -28014 0 obj -<> -endobj - -28015 0 obj -<> -endobj - -28016 0 obj -<> -endobj - -28017 0 obj -<> -endobj - -28018 0 obj -<> -endobj - -28019 0 obj -<> -endobj - -28020 0 obj -<> -endobj - -28021 0 obj -<> -endobj - -28022 0 obj -<> -endobj - -28023 0 obj -<> -endobj - -28024 0 obj -<> -endobj - -28025 0 obj -<> -endobj - -28026 0 obj -<> -endobj - -28027 0 obj -<> -endobj - -28028 0 obj -<> -endobj - -28029 0 obj -<> -endobj - -28030 0 obj -<> -endobj - -28031 0 obj -<> -endobj - -28032 0 obj -<> -endobj - -28033 0 obj -<> -endobj - -28034 0 obj -<> -endobj - -28035 0 obj -<> -endobj - -28036 0 obj -<> -endobj - -28037 0 obj -<> -endobj - -28038 0 obj -<> -endobj - -28039 0 obj -<> -endobj - -28040 0 obj -<> -endobj - -28041 0 obj -<> -endobj - -28042 0 obj -<> -endobj - -28043 0 obj -<> -endobj - -28044 0 obj -<> -endobj - -28045 0 obj -<> -endobj - -28046 0 obj -<> -endobj - -28047 0 obj -<> -endobj - -28048 0 obj -<> -endobj - -28049 0 obj -<> -endobj - -28050 0 obj -<> -endobj - -28051 0 obj -<> -endobj - -28052 0 obj -<> -endobj - -28053 0 obj -<> -endobj - -28054 0 obj -<> -endobj - -28055 0 obj -<> -endobj - -28056 0 obj -<> -endobj - -28057 0 obj -<> -endobj - -28058 0 obj -<> -endobj - -28059 0 obj -<> -endobj - -28060 0 obj -<> -endobj - -28061 0 obj -<> -endobj - -28062 0 obj -<> -endobj - -28063 0 obj -<> -endobj - -28064 0 obj -<> -endobj - -28065 0 obj -<> -endobj - -28066 0 obj -<> -endobj - -28067 0 obj -<> -endobj - -28068 0 obj -<> -endobj - -28069 0 obj -<> -endobj - -28070 0 obj -<> -endobj - -28071 0 obj -<> -endobj - -28072 0 obj -<> -endobj - -28073 0 obj -<> -endobj - -28074 0 obj -<> -endobj - -28075 0 obj -<> -endobj - -28076 0 obj -<> -endobj - -28077 0 obj -<> -endobj - -28078 0 obj -<> -endobj - -28079 0 obj -<> -endobj - -28080 0 obj -<> -endobj - -28081 0 obj -<> -endobj - -28082 0 obj -<> -endobj - -28083 0 obj -<> -endobj - -28084 0 obj -<> -endobj - -28085 0 obj -<> -endobj - -28086 0 obj -<> -endobj - -28087 0 obj -<> -endobj - -28088 0 obj -<> -endobj - -28089 0 obj -<> -endobj - -28090 0 obj -<> -endobj - -28091 0 obj -<> -endobj - -28092 0 obj -<> -endobj - -28093 0 obj -<> -endobj - -28094 0 obj -<> -endobj - -28095 0 obj -<> -endobj - -28096 0 obj -<> -endobj - -28097 0 obj -<> -endobj - -28098 0 obj -<> -endobj - -28099 0 obj -<> -endobj - -28100 0 obj -<> -endobj - -28101 0 obj -<> -endobj - -28102 0 obj -<> -endobj - -28103 0 obj -<> -endobj - -28104 0 obj -<> -endobj - -28105 0 obj -<> -endobj - -28106 0 obj -<> -endobj - -28107 0 obj -<> -endobj - -28108 0 obj -<> -endobj - -28109 0 obj -<> -endobj - -28110 0 obj -<> -endobj - -28111 0 obj -<> -endobj - -28112 0 obj -<> -endobj - -28113 0 obj -<> -endobj - -28114 0 obj -<> -endobj - -28115 0 obj -<> -endobj - -28116 0 obj -<> -endobj - -28117 0 obj -<> -endobj - -28118 0 obj -<> -endobj - -28119 0 obj -<> -endobj - -28120 0 obj -<> -endobj - -28121 0 obj -<> -endobj - -28122 0 obj -<> -endobj - -28123 0 obj -<> -endobj - -28124 0 obj -<> -endobj - -28125 0 obj -<> -endobj - -28126 0 obj -<> -endobj - -28127 0 obj -<> -endobj - -28128 0 obj -<> -endobj - -28129 0 obj -<> -endobj - -28130 0 obj -<> -endobj - -28131 0 obj -<> -endobj - -28132 0 obj -<> -endobj - -28133 0 obj -<> -endobj - -28134 0 obj -<> -endobj - -28135 0 obj -<> -endobj - -28136 0 obj -<> -endobj - -28137 0 obj -<> -endobj - -28138 0 obj -<> -endobj - -28139 0 obj -<> -endobj - -28140 0 obj -<> -endobj - -28141 0 obj -<> -endobj - -28142 0 obj -<> -endobj - -28143 0 obj -<> -endobj - -28144 0 obj -<> -endobj - -28145 0 obj -<> -endobj - -28146 0 obj -<> -endobj - -28147 0 obj -<> -endobj - -28148 0 obj -<> -endobj - -28149 0 obj -<> -endobj - -28150 0 obj -<> -endobj - -28151 0 obj -<> -endobj - -28152 0 obj -<> -endobj - -28153 0 obj -<> -endobj - -28154 0 obj -<> -endobj - -28155 0 obj -<> -endobj - -28156 0 obj -<> -endobj - -28157 0 obj -<> -endobj - -28158 0 obj -<> -endobj - -28159 0 obj -<> -endobj - -28160 0 obj -<> -endobj - -28161 0 obj -<> -endobj - -28162 0 obj -<> -endobj - -28163 0 obj -<> -endobj - -28164 0 obj -<> -endobj - -28165 0 obj -<> -endobj - -28166 0 obj -<> -endobj - -28167 0 obj -<> -endobj - -28168 0 obj -<> -endobj - -28169 0 obj -<> -endobj - -28170 0 obj -<> -endobj - -28171 0 obj -<> -endobj - -28172 0 obj -<> -endobj - -28173 0 obj -<> -endobj - -28174 0 obj -<> -endobj - -28175 0 obj -<> -endobj - -28176 0 obj -<> -endobj - -28177 0 obj -<> -endobj - -28178 0 obj -<> -endobj - -28179 0 obj -<> -endobj - -28180 0 obj -<> -endobj - -28181 0 obj -<> -endobj - -28182 0 obj -<> -endobj - -28183 0 obj -<> -endobj - -28184 0 obj -<> -endobj - -28185 0 obj -<> -endobj - -28186 0 obj -<> -endobj - -28187 0 obj -<> -endobj - -28188 0 obj -<> -endobj - -28189 0 obj -<> -endobj - -28190 0 obj -<> -endobj - -28191 0 obj -<> -endobj - -28192 0 obj -<> -endobj - -28193 0 obj -<> -endobj - -28194 0 obj -<> -endobj - -28195 0 obj -<> -endobj - -28196 0 obj -<> -endobj - -28197 0 obj -<> -endobj - -28198 0 obj -<> -endobj - -28199 0 obj -<> -endobj - -28200 0 obj -<> -endobj - -28201 0 obj -<> -endobj - -28202 0 obj -<> -endobj - -28203 0 obj -<> -endobj - -28204 0 obj -<> -endobj - -28205 0 obj -<> -endobj - -28206 0 obj -<> -endobj - -28207 0 obj -<> -endobj - -28208 0 obj -<> -endobj - -28209 0 obj -<> -endobj - -28210 0 obj -<> -endobj - -28211 0 obj -<> -endobj - -28212 0 obj -<> -endobj - -28213 0 obj -<> -endobj - -28214 0 obj -<> -endobj - -28215 0 obj -<> -endobj - -28216 0 obj -<> -endobj - -28217 0 obj -<> -endobj - -28218 0 obj -<> -endobj - -28219 0 obj -<> -endobj - -28220 0 obj -<> -endobj - -28221 0 obj -<> -endobj - -28222 0 obj -<> -endobj - -28223 0 obj -<> -endobj - -28224 0 obj -<> -endobj - -28225 0 obj -<> -endobj - -28226 0 obj -<> -endobj - -28227 0 obj -<> -endobj - -28228 0 obj -<> -endobj - -28229 0 obj -<> -endobj - -28230 0 obj -<> -endobj - -28231 0 obj -<> -endobj - -28232 0 obj -<> -endobj - -28233 0 obj -<> -endobj - -28234 0 obj -<> -endobj - -28235 0 obj -<> -endobj - -28236 0 obj -<> -endobj - -28237 0 obj -<> -endobj - -28238 0 obj -<> -endobj - -28239 0 obj -<> -endobj - -28240 0 obj -<> -endobj - -28241 0 obj -<> -endobj - -28242 0 obj -<> -endobj - -28243 0 obj -<> -endobj - -28244 0 obj -<> -endobj - -28245 0 obj -<> -endobj - -28246 0 obj -<> -endobj - -28247 0 obj -<> -endobj - -28248 0 obj -<> -endobj - -28249 0 obj -<> -endobj - -28250 0 obj -<> -endobj - -28251 0 obj -<> -endobj - -28252 0 obj -<> -endobj - -28253 0 obj -<> -endobj - -28254 0 obj -<> -endobj - -28255 0 obj -<> -endobj - -28256 0 obj -<> -endobj - -28257 0 obj -<> -endobj - -28258 0 obj -<> -endobj - -28259 0 obj -<> -endobj - -28260 0 obj -<> -endobj - -28261 0 obj -<> -endobj - -28262 0 obj -<> -endobj - -28263 0 obj -<> -endobj - -28264 0 obj -<> -endobj - -28265 0 obj -<> -endobj - -28266 0 obj -<> -endobj - -28267 0 obj -<> -endobj - -28268 0 obj -<> -endobj - -28269 0 obj -<> -endobj - -28270 0 obj -<> -endobj - -28271 0 obj -<> -endobj - -28272 0 obj -<> -endobj - -28273 0 obj -<> -endobj - -28274 0 obj -<> -endobj - -28275 0 obj -<> -endobj - -28276 0 obj -<> -endobj - -28277 0 obj -<> -endobj - -28278 0 obj -<> -endobj - -28279 0 obj -<> -endobj - -28280 0 obj -<> -endobj - -28281 0 obj -<> -endobj - -28282 0 obj -<> -endobj - -28283 0 obj -<> -endobj - -28284 0 obj -<> -endobj - -28285 0 obj -<> -endobj - -28286 0 obj -<> -endobj - -28287 0 obj -<> -endobj - -28288 0 obj -<> -endobj - -28289 0 obj -<> -endobj - -28290 0 obj -<> -endobj - -28291 0 obj -<> -endobj - -28292 0 obj -<> -endobj - -28293 0 obj -<> -endobj - -28294 0 obj -<> -endobj - -28295 0 obj -<> -endobj - -28296 0 obj -<> -endobj - -28297 0 obj -<> -endobj - -28298 0 obj -<> -endobj - -28299 0 obj -<> -endobj - -28300 0 obj -<> -endobj - -28301 0 obj -<> -endobj - -28302 0 obj -<> -endobj - -28303 0 obj -<> -endobj - -28304 0 obj -<> -endobj - -28305 0 obj -<> -endobj - -28306 0 obj -<> -endobj - -28307 0 obj -<> -endobj - -28308 0 obj -<> -endobj - -28309 0 obj -<> -endobj - -28310 0 obj -<> -endobj - -28311 0 obj -<> -endobj - -28312 0 obj -<> -endobj - -28313 0 obj -<> -endobj - -28314 0 obj -<> -endobj - -28315 0 obj -<> -endobj - -28316 0 obj -<> -endobj - -28317 0 obj -<> -endobj - -28318 0 obj -<> -endobj - -28319 0 obj -<> -endobj - -28320 0 obj -<> -endobj - -28321 0 obj -<> -endobj - -28322 0 obj -<> -endobj - -28323 0 obj -<> -endobj - -28324 0 obj -<> -endobj - -28325 0 obj -<> -endobj - -28326 0 obj -<> -endobj - -28327 0 obj -<> -endobj - -28328 0 obj -<> -endobj - -28329 0 obj -<> -endobj - -28330 0 obj -<> -endobj - -28331 0 obj -<> -endobj - -28332 0 obj -<> -endobj - -28333 0 obj -<> -endobj - -28334 0 obj -<> -endobj - -28335 0 obj -<> -endobj - -28336 0 obj -<> -endobj - -28337 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28338 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28339 0 obj -<> -endobj - -28340 0 obj -<> -endobj - -28341 0 obj -<> -endobj - -28342 0 obj -<> -endobj - -28343 0 obj -<> -endobj - -28344 0 obj -<> -endobj - -28345 0 obj -<> -endobj - -28346 0 obj -<> -endobj - -28347 0 obj -<> -endobj - -28348 0 obj -<> -endobj - -28349 0 obj -<> -endobj - -28350 0 obj -<> -endobj - -28351 0 obj -<> -endobj - -28352 0 obj -<> -endobj - -28353 0 obj -<> -endobj - -28354 0 obj -<> -endobj - -28355 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28356 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28357 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28358 0 obj -<> -stream -H{o秘B*1&@"fش(2-+1)GuKVt) |6WϞ}J?"MWU(ά3U:UI։Q^/vi~Y&9Ԫu<ʼwʨ2)ERU2z<-T$gzo?!\yvDfVnWEECi32UQ%bz]5~HNT67\w%zAFKރś=K/%FK>ޗ,K﫷&y^%'UeQeRO:SY(uU5쏛vu}{QmGBw'MW߃,/qE}ikޞKcutvի澩*K.&zۮUO%JDHֿgc2I(ӊ\`^g,78ܭWjb{i1_ѭ[ys8ct1qutl?uh1թ)q.bFr9VNi."^m\ߪn/b_SkXGSYMo~13Ư>yrorfΏOJKu8؋,DMusEaqܚg -nƔx}hlΆ^moV}ok*swtLiMG1ibcEUo(XBim܉vusi= emܓqԞMwEdlݸuhWZ_qAhK5|Xv "ɽRNmUsxoXEQw@|Wm*I57)9ݏ!3ɤ_UJxy兗^^xW^Axe+^ʄWr\x^*W JU{Tzq(ŵHe^FxYe^kD/{ z5QKނs(%zoAF\# -x[{D=׈^\=׈^kD/{z5QKށs(%z@Fw\# -x;{D=׈^kDI/E -kD/{z5QKރs(%zAF\# -x{{D==׈^kD/z5"z5W˲m|X^%'yQeR rl<zijxf}C{zUC~vZNGoղUN_?*pP\gijUS<ͪMOtvb](Ogv|mS}ÇWΡ#ufwul9#]ϫ7_Ґ>+g5ݲ_ m/GOB׫9yoQW;6E`ɏO-f~|Jfq[P% _mUݨUݼ3=\䤪XǓc3ٵcp(>^_7Z}38sy lm߸uj3~ax^h;%93qW -3S3U\G1<=3kp뗑3_ʘA»a6GKqt0qtHА{[҆C:4=wܝ9MEt\`] -w1Ea0J#dnmJ^sEUk*E #S3s΢?%tK_ vo‚ib яخhen-ZrY8Q$ (\"!],#pp]ym 1ٟtC1<~: |U)DJ *1߸?VG0YXendstream -endobj - -28359 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28360 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28361 0 obj -<> -endobj - -28362 0 obj -<> -endobj - -28363 0 obj -<> -endobj - -28364 0 obj -<> -endobj - -28365 0 obj -<> -endobj - -28366 0 obj -<> -endobj - -28367 0 obj -<> -endobj - -28368 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28369 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28370 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28371 0 obj -<> -stream -HWko۸_/PVz.hfxѽHBi[]KJr,"I/a u83$/۞ooX~og /RĂ% "Z}fYɼOz~ltߖkKݭ`{.d-V^ Y2%aw/]Qs/GYB1m{~zx4;״>4uYP8aȏ#o^4'~0`{v%dKe2D#)V^̀we\Nfqx(!seaȊsWKꅣ^ꅣ^ꥣ^ꥣ^ꥣ^ꕣ^ꕣ>"GP9#B}䨏 >&ǎP8B}O>%ԧP:3B}g9aZDZTG] + ,S,Ǣ^/1+/-Pbq-*ov}]"8ىy{.^(I-,{o^!x-L"n2u@BXUan}}s섳@&8EBE0,Ͷ͚UfE^Kf{7C*\12 -~X3bd<|-*/k| 8 VN7.;-^נwh›u FMg -ǫ^霪S,7;qfNkty.YO~٥!y) YPuJ$fc]}{SAv:Ɇȿk13-Pp>|{c5@}A -*LJ qv/q+^UMv/X_D -3'%4y qLBnpaˀUptWXSA<#_ %B%º1Lٜ5!=g5ք,{|Nr?ssSvþ=JEꐛ}L3'lnZDj(C_xnUȿǢ^+{XsW"dz/=apq+̠m@$Iq8QD@'iOB᭑wl0ȜyԗÉy )AEYf~۵ЍWsվ0I kC&fWcv̀A ۍ!w-6ynSؔ:;)S]g N8g -N6Eq:@/-$L1OjTd'fRI3wHeawۼyx c7f_O@Qkv)D9A0RӞ٩eŽ(LH!0>nF5lOxgd]͡P%'6.x!3̭lGcRWy ˌ@}8IN)ǏM0 tz] XبPtq;~kH:bw^m-@}A,B0Ȳ>,i{But6p~|Ŗ;9},f7HִL]tTsX,czBa9;vyQV-"Jq~ =a^ġ{e}$ }Rn]5%)3ADu)fxE;iJ gLf'?r׬#mgȕVZԟ~=Hс:vҏqD腡9ȍff)hUo^M|4{CU߃=11"]<64iVKg:&:SK2%"e<hD9R^hZwQ8 -i"ͪaB^Vռ8 cw)jƚ!6Sr{r"t1HY\:،6Xĸ7'6-<3a9xth]YU%L`򕁹m.YSe1F훒6 7O)*zDྛmuޮ٧_~G=qs;WEǛ|\[Rg~߲5J6y-+nSe -dE!m|aK2ENcWl;;b<4=`;X632%#-}r^wsF Mhz$(V*QMUG V:kbƻ'poUg |8ߊ0JGU,ϧ S_h*:)E"p 0#N3 ȯf,1#1HBA/5m̗̌S8&άnotCh"#.OY=w`u; F -L%}"X5R7MI!+Ţ\d~]303vB9%.d`9V?  &F -gi۰"{r7y$}.Pbv,MLE +hy:[sČ_,ͯ?Hendstream -endobj - -28372 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28373 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28374 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28375 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28376 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28377 0 obj -<> -stream -HWn8}}[-^tg0f2d؇8ݴ[.ڎxZ&aN&㏛䧟޽9_DEB% Yɓ"IȠ.JSDIM͟Y7Pjh#Ocnm/N(>FI$|"-ɶ>wj7}GnXy®>o[ ͋QK?\mDi,HQr?LQ&YFH([Y'_.5ka_#0BhJ~O_oI$9*Oim$7&dcd<6 -m4Dy6ϝҐoCس=Cس=G=G=G@؋@؋}> g,`#}¾"`_ 싀}/%¾ K K}YַCT4*dַiT޷iT޷ -Qo(}Zַi>P-CTַi>P-CT4 -a!mBT4 -a!mT6@!mT6Bej}[qDMB Pj}F}F}6Bj}F!rD Pj}F!rDMj9Z(DMj9ZߦQ@QoZߦQ@Qo(}Zַ@T4*dַiT޷iT޷ -Qo(}Zַi>P@Tַi>P@T4 -aV mBT4 -aV mT+6@!mT+6Bj}[ej}F}6 -6 -DJ)H -W]F-JQ%'$6ȶW/Q2#b`` ܀3LUu&)-= \P&7,Y«g5T ̑] QOW6] m%}+9.)B/V"LAlC?*z9(@{- 2p><,\aPOn^"~f'5i\:L8Z5:fLp?r Zr\03Ӂ4.aX 96˒2+y1ծֳvP^ôm_:(ZvFnsFkbП>]HmF嶸Co")FF\z6 ~hŕ;r_yqۼ?T-4rrb:y?#s:aGSwՅܤ._Ju&g}@/dEg -i d+.>).0t^FV#}5:綃o٫BSfhm#Q;3iZC߹awjεC̯''0eEZ͞~s5DJ zג7ͫ -P}kWsu rO_vo&G56cs93M$rMSog.s`z{_p4j)yi2+irV!Y%ԿCW,Xz2zm&jz nRϊY=n(pUv~'pEQdtg Km8pBߢy0 c9DօzO9MP&Ta {_{]UGdn;YUg;/OwWT-b@LR.Wk}(jʮމEhE[h%h+[p| ꐳӜe?7W(!ue5r]zi3.#QzS*=Qu;ɠM9Kt䙶yNO=;;L3$Dsx*>rL!gKF `Bm= }E^@ J&wö-SKQ?2A3(vj(Y#vbyF_4-yd[q3iaq9`cS_}Y|HS1E<*m5C0:k46\bt6bUyTFM)cx&%S5Ke?bt Fbi ;:/AHF$k?ef&а_[ Jǭ9J:iI EVi`x>Je;SwI8`xr{M|;=v+jׅ7$l$,+1 ~fgGDˇ vӸEx=iՕw}zoojWp.Dt"|A랾owL+k7(;G(eAVʑGI(u]zoRy[gn/1W3m1vΓ95M5Oo4-v545v&o?\TEUK @BۺWS2,Z,I*.(PR:\4x>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28379 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28380 0 obj -<> -endobj - -28381 0 obj -<> -endobj - -28382 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28383 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28384 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28385 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28386 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28387 0 obj -<> -stream -HWۮ۶}WUI/h"ӱR[Jl9_fHbrEk8|Os~xo?,Ǘ?ʾd\PeQ*eE~>cnj]=i}pNvPmC>Q TEOT+>@}"'jcj(BQDPmC>Q TE6!`V}"'jc)jcRPjcRQ)(BQDPmC>Q$TE6!`V}"'jc>DJBQDPm؇(}ZI6!`V}L}J>@}J>Dc>D*BQDPm؇(}ZE6!`V}"TEOT>D*BPjcj؇(}ZE62M6!*eE6!*e71F [){͞yg9?|WyY|{n^ ͹?/*x=?۾Xxmefa)cJ 3FET(LE,˂WUI(. K%= ^l0C3zkCی׾]gGpPW~B -[o[2 plvxDoqє|rsmGH$c#^sв/ mǮ J-fva3ovWtgJ왪a39]fdSsLE3$ؙ!Ó} 2t~"vdQ rjUɅ- Rf[T,~ -m8L6_Rh%%u!w~s|lZB68|hy (Xٛ!^D!XM`@M>Ma/:÷1O4=-X tҶrqppڏ1NͤXmi,A7vGU8&rX]ߍ]sߍEWxO8̗"iɝR(+~~KVM#ޮk,=F+Hd'l0}Ab`8Pu, S3rg5*&ԼE^B`}۹Uc?\cÝWsS\&W(`%uHI5O{!Ŋi=!\ &Z>$pC*j-OS<,i@Z˔.ZG[ :л,Z9$Y`jwgCV1;v=݌$}`J;I򚡈o=g4CIl9 (j=+}_]x }>gd <{ww:W+ J -2?<6ycp{.=uy?ۣ qf*0.=͝n-u^h+yq;; DM/Q(Ӡ0A2/X}9ʗ%8rYC7gPRz 㫟B Fh k꼇 6`HLVow=Qɗ;Ԫ"a&J|sV~vswPZZUKHuKJߜkY!\ͥNǣ+Xn~|8;ՑCc+1Ӕ]u'ٮVD(uEQUYj=Q9%T&ĒiU=Q2:~J䔰hL ,p,~`<f<4bAϐ/y- ^BF/]ƮҶ4ZBZ0QWw>4_'{$ȢZNM4y;#N\oAG/ M1C>==_/6h] Wjņߟ6>_&^VF)jJp]r.K2%,.kM@pm__߹?]W~GP -$N .ۂƯVhېe!Odv6XߤF@]aR%|r* +JDwNBwgYb&;5fza|GzK7oOm QuC DJGY53tzPCwa7p9$uW|r,S/ճoϟ]i^@ Dh'>z]֫]AߟbKiCoZH m}$ 흏E:vlzC0fOѣݙjPO|T\I)N E.N6]4LisY|)ܮUIkPd~rI'ptj< }u狽XwPcٝ.Q$7"\N]Ap,IҺ /w[ng"^C|w#,{&6=YO0"SI{lq]3J'ϟG/[T/j3ǧɿ4ҫn}\~+\1V}|/c,^XX!𽌱 -C{c`)߇2*ReU|eU%c1V1V1V1V1V1V1V1V1V}|/c,#𽌱J2eԱ0>bF  5v9,s}_nʹ]Q|AE6Xxܯ/h͒e^]_}6.8z/sVjKf]Mojd>THM^&6sQ5\5! <}Nf=֛/<0ixf|su{B׵wvǿg(΄fR]7bw/[X鿾0OK59|Z_ednb.4α\'.Hb>/8`*Ҳb?/K*%8mky=¬s1qqQd}?ttZ%I b*>g}yV>%y hpueQt#'O1_1wnoyꉳ b=:lmkg@y%i^Z R>wr- ](>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28389 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28390 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28391 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28392 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28393 0 obj -<> -stream -HWko8_~DSnmwCSM'jm)cv~^e:ɢH-9Ňa/^\ Wo^GFB"gd*N$K6+#n# -]|eS|m/v+/߮$Wb!(&b0g9ˡO-vѧٕ]5EU4|??/AjS5mkk_Icyz(!|'c^."3|v0"Kg}ٚEJbi#]`]E<# -Hsp8K02 k"1`IB KB +B -+B -+B -kBkBB B B '$P@}JO)> ԧ4P@}F9> -v$R1 -c XDj1Xz9Vc"R1"Dj1X H-ƀEcER+ḇAj%ZH-PVŘcJ"Z9>H$R1"Dj1Z9Vc"R1 -c̱BZ9>H"R1"UDj1,"s,B}ZEcERb XDj1X H-PVḇAjZ9>H"R]ḇBZ9VcḇAj5Z9>H&R1`Řcj"s,B}ZMc"R1"Dj1X H-ƀEcERḇAj5Z"CcḇBsP}yjZD E1H K-vѧ?JVے]+lff.٦ [-Kvc{`7?(o`E0Jeaٶ|֤wġӼݠXj{X[Pu^-W͗JgE rtjbF1oqV|2i,'S2A=£Zf<)1P,N pg˕I%2j"z ZcÝHΐmsؗϬ+}Cg; 9uc~:1si*O1ҳ$U[C2`}X$dD8$H"Ԑd0'pD2w`qg$ۗaeSTlXsgE-uGjsqhbnb\dbmaZ^U`qN,lҍoejcWTo;[6q;Gd%l˚` *P xo=>Muhf OX͕#Mhl? zP}cop$k,c9<׶l{ܝPQP#?!^yLȭ^c eҸ 8^L92C&r@1rj~\{Zk&&ŬۂB,=Hck'0`#{~j//(5/﫺h ]' ̞ģ>m gG~'o ƗݺoBwT`w+a:z{#Z}]_vh~p>= <ʣ?OxZwSW1W ⟸ˍuy{wTo[欂gqp˥KO,״(-BRgJiX-?4Z\[,ըc[f ll}XT7x(;|vnNǕPz,t1)o_{;(:gp<jad>ZApg{*qѝY?zo].mNf{px%`Lnvpo&(ܠ'OmKUpjpR'nmiwǓ(% n -xXvRPUa9sܵ&&NPwmQݿp_d !7."/I Hۗ -h H Q  /Zo)yM| ߛcwlpΆi0SE l:^C,[^=1yVsbVn< 'V +BaLhM;֝m]}iD*c!SCX7a!8 f7uqXY+5/( -_s~|])?fa4 G% l>\3NUs^" {ڳű ֬)K|FhOmN;lK] ǴOZ'QZmO? "yᬠx8X;.- 5zL/*WfqX' {]Ab'*fE= |F)X%!(qq)͡c}lNS45ǬBM* #΢6$ͬjȚ֢u5.0 F9HF3M%Xx McöN`Wߴp{z{ɷ - Lfh_{wU -.Ʋ2Xrc\`匕 gB`UJU2V)JgQ ]E5p)K ,XZ`i^ ˽rO5t ,{-jX,Z=%X{K`k!TCbB.roS ]E5p ˽rO5t ,{#jX,F=%X{K`!TCb7B.roS ]˽rO5tq%jX,V=%X{K`[!TCbB.roS ] -˽rO5t ,{+jX,N=YT{ʴ,Kg~W<9_v=ڟ;;vzv*lVcW5rYXgR -Zydb;Y.~*^%wMMZѼNeMnq^Umgl7PeUQ#52L_tEFRylje*WcN6)V6wee,'c9+X9c+g,/(woOuTcW__dv1 -FnK @JǾv昬}Ǿz5f,53_7dnendstream -endobj - -28394 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28395 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28396 0 obj -<> -endobj - -28397 0 obj -<> -endobj - -28398 0 obj -<> -endobj - -28399 0 obj -<> -endobj - -28400 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28401 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28402 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28403 0 obj -<> -stream -H}oHX* -_QUk4q%\lҤS$zymjċ'G"/__eJj+\bdE鴨(P| -E9&&3;,'eOʇʃtzJ %z MBj8LDo\γah?.l}{ -eh͒oUwX#ceQ'wވ4HVJ}n/A}8k>NP27Z\\b$DR;&}0 ΃a&LaSt;)PػR<րҌ{Mkƽ& qo{ø7Ľe[2-qw{G;ƽ##}DG1q3c>f}¸Oq)>%S=ɬbBibS=րbR5OQXu5bS{Zͤkbܓj&XI-<Ÿ'Lj)=IfR5bS{Zͤkbܓj&XI-<Ÿ'Lj)=IfRi`bS=րbR5OQXu5bS{Zäkbܓ&XI-<Ÿ'5Lj)=IaR5bS{Zäkbܓ&XI-<Ÿ'5Lj)=IaRi`bS=րbR5OQXu5bS{ZˤkbܓZ&XI-<Ÿ'Lj)=IeR5bS{ZˤkbܓZ&XI-<Ÿ'Lj)=IeRibS=րbR5OQXu4MgpNq.M,#š47 ZlZ{7¥yMd:_6J+" M̡YoK<~ʪJA^^귞\E~)A^ݓgϺFu۴2RM^2r.h_ߴK"{]vo X94KX:>_6\-xv. -]ˎ8&z5'xDV?$̶fQy||Sd'Ţ:OlA^rVl|"ns̲ö tcƽ'?&QZG݄Zj]J:o: e~qkx*݉_zN6VFG~45<~mkb®6ŠbVg#f -kxJі)lf -+xpGѯLa;Fh -o?'SX- 8 IDݣ9ݷ"W|endstream -endobj - -28404 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28405 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28406 0 obj -<> -endobj - -28407 0 obj -<> -endobj - -28408 0 obj -<> -endobj - -28409 0 obj -<> -endobj - -28410 0 obj -<> -endobj - -28411 0 obj -<> -endobj - -28412 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28413 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28414 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28415 0 obj -<> -stream -HW]oܺ}ׯCօMS$^\ E{ۢ" weiJr6Hjع-X!y8C/^#޼{oDboY+J'U#,GՔcz5]_/גut?+]T$1Y&rnU L7̡cxzhq@.rمL/O3)eͮ|vbBy \⩋nZHq,7g? eQR.Xm";q4uT$>1 -@QtPq<s㐼$ˀ$ˀ"ث"ث"ث&뀽&}BO > '$`Ӏ}JO> g,`쳀}N9>"`_Ƅh}_IBQ!{(BQ!{߇Z߇(}ZI!`V}"TET+ >DJBPj}j%Z߇(}ZIPC>P$TET+ 6Rj}BPj}BQ!{(BQ@PC>P"TE!`V}"Uj}>D*BQ@PZ߇(}ZE!`V}m >D}>D}BPj}j5Z߇(}ZMPC>P&TET >@}"Մj}j5Z(BQ@PC>P&T(!T}"T} -( -[6z.gb.d ń<yҴ`6ZwBruTzi>>8iqB,_O -Dêt"cš8=P2_{!x.9*3r[7f=Z=yD$Vr&jKdʕf]5nv?obe<6XY:c+cQ<J23Pw08v0Ǚ٢auP9vfgor; ;vbͮtߙ;TLju|uZ*$l\X.㱘a49HoI\-W^5[љltՉ*bnM9{.[1'~lL Ht1 Lodlt]e뚦;{Ճ8.n2Kija4VwGGx(exMXvтU߭2M !8ɔ8ڡwtŢ9y?Mj޶9y´S};wY3-NlIhs:OSpՍɷa+8?ӪMo:Q=~F%^5]՚茽36c&|Acs,dzj7_U:]p]GJgz\~3\#vo@7fIaς -f8ǝbdL%nH*!"YН#3o<ߨaWqh9#4AKHlGKZltiBq0GA?YˈL2sT #RN;,j%%zO.+ ŮjupuZγcO`õp3mo5В+?\x%25xj xv(rE6# p_$afHN<ɝZ3Br;MN -^YXLN,ҞDYC,9&޼,Myr WO=<ĬyؕW*}q<ǃ_xm5WUO .=3}ٶW8gvvfMixNdn!xDdiOgnܨ=^?[=Pw;t!d n| -&pJtns14e0Zm༻ yWǙ< [b-ɒT=X";]q0q=֜6:{®=?S >=WhNE`3lp*xYAMjyQz,ɗ_""IO ;fXPbxBb;~ b/.9xkPl5u[mn464 r.>Ѝ->rŇ X !l *M3<4o"av;t00,Ā}ԋ힩Feq(aNFF} rpN;c!g%"|8c#k} #Q΋ &bfՖ29"tj">.YCW8m.:n}nKym{~Eз^HQAg۱7}d[5d٦H"[\ ͞y(qW*?ben Zr-DD-e,.F+m"3D{$-BFζgw!s%7%C%q7\T*[H1 -'[7soHlfwk y[SxJZvZ&p6R|/%cOrي-t u1فkcQ | #&"?b@\MR@)I`w!B`-tĩxFc\vew:V&w{2Yn@!n6:Ŧ;F:,U#D1(~BA+1@ikXnCFOԼ(tMNB2q(ݦVJi.c:Jjhp}FU0Zb YPܢo>"ܑ< 1Rq$0-M[Ʃ1,2z!Ö>gͽ:ruZնXWu`#ܴO4Rvp}#gkt+Efco: -]j~ŻJ&{ y#Kxe]j,Wt|tba׉槊o1f6FU8c27:[/㦋* jy>T(ю!]X[BcH]u\m#L mxXk"ff ԏtv'4ZŅCiff{syOk<ן _=֑a83Vxw(cS-:(kRn NqS!JN_.;?ܺuc1Y S<{fzɕຓL jk΅ 7g7 -e|rG9ÀÛ混o`"[\endstream -endobj - -28416 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28417 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28418 0 obj -<> -endobj - -28419 0 obj -<> -endobj - -28420 0 obj -<> -endobj - -28421 0 obj -<> -endobj - -28422 0 obj -<> -endobj - -28423 0 obj -<> -endobj - -28424 0 obj -<> -endobj - -28425 0 obj -<> -endobj - -28426 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28427 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28428 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28429 0 obj -<> -stream -HWێ|Wt l1fol?ǎ -2kVJFv>Q:٭^o쥞V,s -]([@/YY-9Y~¨oJꧤt{>}.յʢ -RY" g9'JNd]ZA8XZKÈ{ZXb7½po{+[ -w½p{/{ }W}W}p >5p_ 5p_ }Eg5(-{%h-Lj%sX= cEk h-Lj܋Z%h-Lj܋Z 5K,Z 5#p/Zk@k9X#p/Zk@k9F,^րrlYZKXbrX=Lj%s,@k9F,^ւrXhXbrXh{Z Z˱{Z Z1bcZ1bcEk-h-{%h-Lj%sX= cEkh-Lj܋:Z%h-Lj܋:Z uK,Z u#p/Z@k9X#p/Z@k9F,^ցrlyZKXbrX=Ljܫo* ?TU,wTm"`EZh9倖Zhy偖ZЪV*VZhUZh@ZhEVZZ# k@K - 2@-D =a%@9F,%ro@9֏a,r1b-{rϱ~:g -{ h{9kY{Kjq%roA9F Ah[{ D-=hDZ"c4-{ r1>Ƚ @Kނs -%roA9Fch`Z"c40-{r1Ƚ@Kށs@Kށs@Kށs@Kށs@Kށs@KށsRcĒZ#7 1:UNNٳa6j8⎠ TcG ٧uV&,P|aNo_p>vmev ](tomU~ӮiF9m\e|Ul߮dzÉ:ޫ59]?yGPR_oߢ[վ(Kۂ;iAE-ds۰Ixuڎ5WLޘC,'’w9)@ЇڭJ9M.=˓c޻f5Ogǹ$xٮMݬy[|g #(5H=rYSp"x|Ucֺ0WZuSNɻx3/Kjٗl9IVfKr7 e{uyrkNf>TrMvVRMdz] 釼>n\au'ͽOݫղ]B׸?{(~lY'6aڠ%:Я}}XKXh}.J0a\>u!)Y ]L -y{2:9\䱠"OfKT!@vkNvM *D2y&TI -ޣR Jxݒ&=ӧSzZ}e>\UӎkOgNcFHZ?R_Klci<&K1rqq*d]#U*k{JqP"?19Ædmy,7PdZ AF~v O40̭ṼpA14&mXA${M 0~QiqL/df#%Orar̞boJU18a jU]^˫['a֖pg!gd6bշ75 -?ʶ9Dž=XU(˒8ԍf -R@^?rd=ˉgux+F,kM`KG&FNW4!,p,GֲuUkP7p_sunuH 9"r;آM\Wvendstream -endobj - -28430 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28431 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28432 0 obj -<> -endobj - -28433 0 obj -<> -endobj - -28434 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28435 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28436 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28437 0 obj -<> -stream -HWioX_6@"? a]04e3!xnbRb*I0-kK~{(M*JJb# -^ʨ""T* S5^kCs4c#mzp}s5ܳQ88p4g$[ˎnj #qNP:\@8L -dXgAQN91Ő/G1`YCV$wcy --sow{;c1^p{/}$Hp1>bc}ǂO s>'}*OTp2>c3=JKU`R Y=ŀ%b),bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` Vh-Ő%gBk) -Z!R Y=ŐS XBk),=kZK1d YkZKh-Ő%guBk),=kZK1` Nh-Ő%guBk),C Nh-VZK1dqZ!{Kh-Ő%gBk),=kZK1` ^h-Ő%gBk),C ^h-ŀ%bܳzC *R Y=ŀ%b),>Yy¿UbF5^YKPf:Vqjƫ`h)Xja8(FË{*~KG*/Aͧ:cj8QߊGy&:jf\.=oaf$܃tg.X/6=t]<:ڴ7%85 ]OK\Nq8?9rrOy*MIzŦTA~U*suϞMjf&Ű=hIF<+&Ñ:pty?aǓ!>WdyX~2G5 u`wO$i( DSDi_}WR놉>3[/us͑:H]˛_4ۯNwNtWQ7'ydϛnx_ |*98L[]1~L>Ԟy<4.KudIdpga_:_۫%6)[+ۇwu ŝl:Rq4RU|̈́x[{"գƇt}fv)\U5Ӫe| u:BRbl!G.}$>)~9;|*u[+oVbϼP4 -ÓZ)N7u{Ӻ=۪;OU9]& K#{/_:54rs.mn=Codm^]ϧewCU7twwLzxh^nVݥ~6fA]S/}L*HT*b#e2 4vPu6^gm`/Gfƒ䃉jٰ;)[pv"LwUg{Y33΋rw߼ u2!zc2vv;n|@$5[ۼ0b38Pig;C |L6UݣM뚓u~O|0n;k͏tvݝnm]qf,V#ŤEu0Տ$X75!ՇҒ8}>$PZƶJ+ӿ֊z2`I.# jZ⺅a&q3>zv+gF ->˹os3)+Y֯Uͦ~q8TYNOo Pb} ^ۇ>+Wנ:KQ¥endstream -endobj - -28438 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28439 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28440 0 obj -<> -endobj - -28441 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28442 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28443 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28444 0 obj -<> -stream -HWYo6}ׯphq¶(,-f<8Aжɕd\|Er \1"Gk1,µ,B}ZAcE\+bHµX=ƀEcǘe1,µ,B}ZIcE\+ b Xk1fYȵp-,PVb̲k%ZY>r$\1`Ře#Jµ,B}ZIcDŘe1,µX=,+V1`Ře#*µ,B}ZEc"\1"GUk1fYȵp-ƀEcE\b̲kZp-,PVŘe#*µ;&9ZYVc"\1ˊc̲biUUqwLoV<$o@cE\h\6x&\bCLϥ#H/20S݌SC c(]׶f76];΄YlI(U2+7 t~*ŸVRa6/Ѽev^RzfWf*L%Ãeu;Ćý?oY*4l.]73S4{[vWJtB*QCr c\ -agEUqL rBZB  "D^řZ)2N"O 0hA"0Ăsdc%SgU -.rQG٪$ͫR1<W] -VyI gyaGZۋ [}hBy so )dr(~3avpߛSuWy%Ozmg1t G"ڇo;}nRYPCGN sBݽmSbs;4p;pjPГYbyo&24GM*xEM䝵2%"U"2T{[4G]cw+dY esZ!8Jefvڜeq&.IUŶԒ%󁰕5y ܆{wDc}Wֻ?f!z-$`>|9J r]izB1ǡ6F+R0PG8;8%eOZA kZ?"1 -rϱOw]( 'e3%E) E]} -(3̶ ޹Eb'*d`.®{3a|фRX.[ 'lS>ƝtfLW"ST>]sx}p^ȘKdJ+V ^E^7Leyۆ_C EQk :閩5بMJS=x߽h<]ecibΜٶ.473gVBL$|cs*ewQ]کzB&Նђ1ISdlZtJ45c޴mwbiL1m3\-Pݰ$$eDRಔ.Gɹ+,%#]b.GɹR\bK]q kzDhLL`V)i2,!*VeQ&j+tFؐ uS_u' ROOf''0 '"rBu%cV\TNt*EK;\g\y yQ u'\T$:4m.spy|Y\|EY0`m[c:o_+nF)3Av lur-zp ,LҭO(ׁ c!8;ʛ1hnd7*3rSִ -vp`uH_5RgaS(7>$CVHޝ ;2m+{|;nW 8 ;^a`f\ z5V^iw҉uacs [Uj<em:l,Q]꠩l,Oeq$ƺ,-&yg K>8)y[ƄvLژ -0ȶQ}C/Bz_AN:9\Adhw̜(87C38.Y^ȷ_??}endstream -endobj - -28445 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28446 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28447 0 obj -<> -endobj - -28448 0 obj -<> -endobj - -28449 0 obj -<> -endobj - -28450 0 obj -<> -endobj - -28451 0 obj -<> -endobj - -28452 0 obj -<> -endobj - -28453 0 obj -<> -endobj - -28454 0 obj -<> -endobj - -28455 0 obj -<> -endobj - -28456 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28457 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28458 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28459 0 obj -<> -stream -HWko8_΢ҫ m:)ċ-"{-]4iKKzgt_֯_\]2~@.SaayXi*࿬ - $+Xb_)J5EΚ"X~m<dOA -bX$lS+'=M/iR\Nw뻶%xB̺llVm;j;OuSyu -jÅXþe6c'v=g^´4W+{A- RqB\gAbNsRđB{$9?ƀ%Bc k1`)B+BkBkBkBBBԇSCO}H=>GScO}L=1>'SO}JO=)$L2Pk1Xzp-W1c Xk1Xzϵp-PVḇkZ9s"\1`Řc=*µs,BZEc"\1"{Uk1Xzϵp-@Řc1,µs,_=W1`Řc=jµs,BZMc"\1"{Մk1Xzϵp-ƀEcE\ ḇk5Zp-PVŘc=jµ+Ccḇ|s,_=ƀEcE\kḇk Zp-PŘc=µZ9s!\1"{5k1,µs,BZCcE\kb Bµs,_=ƀEcǘcQ p(ʼncl^:#Və:-iYS>pI0cҖ7AUr)yFg `CKVR'1ԙps,\;A^6oCWԕh՟\_岏r.V䴠& :"e7cG.Rk&E:wl!{UVaͽmb46V.sَXcMt6*Rl)yʄ /NB8IB&8{*nd -)_:T6EY,Gb\x}|dY ,OooD a:t벴UkI;y{u-1 x8lQ] -eۢϴͻ{ ӧ HL1~01R~0&+_<4BfѬeynۖ{(lV g`.axeFxiXŹBƠft("ˠ{rIٷg~zST뛬ݹP~~_/Å"(~dͺ=~=|/2<ѤoĊP\SaTe$g;{n+HkGX̒Lyمq [^X}e7s),줾% ':\O!)v 6B8(|ݺx"*yD[+'DzW{t/P!}-ݭXߚ}$ZTf9^BJ '1љSI3OkW\D.gix -\"M -SJgCS>I}dA.㩦$)oCYbϸ(t9ˣ 46aYчlx`ݹsKavW_^;\"ҥO5qEEŸ"mZնk1leϛcl9jn'r=6}qhR2\Drfeۊn+,i>_ypKo6`n'pwSlm~ln|eY)((9Nְ1u0w:)l/6w?Rbݖϳe\} -.d's峔cɅqgTmNxiqS^-=n0>,0XCwQlʼnIP?ؙǿ'Kr$ٙAOHGz~;u~x1ѣ`撥 79 mCZv2rV~jP,4u -9HsnH"Ut#ZhҨ0\杤ϦO0$A(~jO;.@'nA,Z])Rehv )8o枬E|ͺ"r@Z'C!e,2GHW -G~~{ EGf1jBH iik<#6{qr4ddOZUu֮E;&-eªz+uXe>7@Z Nib~>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28461 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28462 0 obj -<> -endobj - -28463 0 obj -<> -endobj - -28464 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28465 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28466 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28467 0 obj -<> -stream -HWnH|W,^x2`pax$*R =4r. P.vWٿ|?<}ĆFC]0y™iL$5$3k&\uw~oۦksӮϯy}HɬXS/Hd&H*SoI´~}uyjxeE_5^>4WxWtuu5~di禞qlnmNZV~^'ǔs{93K20gY$"u,UMby$KNԜ(86$1f$F,k5K`KzVp{;^W=p>Aρ\ρ\ρ\/B/B/R/R/RJJ}T#p:kAi%MhĘKXcv/1fi#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu&Vb%F,Z1K{ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZmZ+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĶIZ+1fi#hĘKY}Lcd|o|ܷ|6Oru~9Ӌdžow"\<]^}Otie -OWeza<1)ĐS8r,x=pMc`!r|,Zԣ%}͢EnyFdclyqfӜ@r ʀWohbʠlѪu -;ax g&SA!l47mmnwMo0nᛷ(ݮgp''>cyu{]OCvU0}W-mwY٬Z:uoAt8mS~ B74Q$͏6w^2=ռwdt X dvMϺǩ1cCA|WM3挱q]/F'I8n򱸺3Bc᳽vx(|\EC'Po4G?Rr#ea OaO{4Y>opt߶{Ѐ~mNC}cV,VPZh\i@+WZ*V -URi@TZЪV*VTZhEEW,1KkIXhYeUZh9倖ʽʽʽʽʽʽʽʽĈr/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-r/1fi- ^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*9ȽĘ$F,{1Kk4'O_Yj{I^&UN D~?~}6N}9czQ}ozt1i_&6jIendstream -endobj - -28468 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28469 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28470 0 obj -<> -endobj - -28471 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28472 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28473 0 obj -<> -endobj - -28474 0 obj -<> -endobj - -28475 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28476 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28477 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28478 0 obj -<> -stream -HnF)ZH^x9eD9 ,!)iw,-@Ē~ܳ/NW/4B&? "TZ -JχkOB,ɚ.?Zݬb7U1o\a S9U !]x C ȏ!]z@sk]T[e]V9_ OW"?6yKӺGcS[-qBo<-|{s -`c?K/:w%$'!kD5rt]DqQv)]xK1ʡW r5Czk^3ڡ7 q CoOw2+Rm)&T.jbRK5rf].=Ťj;ULjf] ZŤjbRK5b*&T.IbRK5t1u1NjZYCV1Rͺz'I-լwRRmi&T.jbRK5rf].=Ťj;Ljf] ZͤjbRK5bj&T.IfRK5t1u1Nj5ZYCV3Rͺz'I-լwRRm&T.jbRK5rf].=Ťj;5Ljf] ZäjbRK5b&T.IaRK5t1u1Nj ZYC0Rͺz'I-լwRkRmLjf].=ŤjSͺ\D$IbOΖa Tt%*!/4K.0U3556UV7YO50:s1BA8܃:[1_L3g.ڕI^/u oˬ('Yu=Sس.q(m13o\l_$|пJ>v{+@1(W~}f0aֳ&k/׋xn*k[VgjB*,_n^b#Fbj۱[eEܩvf~ǕD]7yLzPb{3˺h&g:jH E(nrXlOƜ; -˖R^ tzv|:~Ǥ?K9"(>jeDil8&"(~lKhOލOGH;9gUBv..mWo?m&1ha᝚hyr:xeMWͧpE^h/xfnKBW߇!m7'Bmq[_"%m)*XYq=HĻ{ٜe#/rotMc -9x}ZWocgd|34YWd=:er@{AEj#A`O܉5"wЖ>V|lzf^/ݑQyi<endstream -endobj - -28479 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28480 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28481 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28482 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28483 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28484 0 obj -<> -stream -HWmoܸ__F$Kڋ giaˍ|R䬃E3<3UC^<[BɫWo^DDLLK2''>CD׈DWf7wsQʪ؛*֤*_>qެ6p%hؓ4#}H7st]/~.v.ޟ_}Y}2b{q?4߭"3?{x_"sr$߀7BɆDZ$1W/stfE"|10*o8(Bg(|}8ž9ž^^^%^%^^^^}OI>EاaS}Y>Cg{{4}6 -6@!mmmBT, -a#mT6@!mT6Bj}6Bj}E!rD Pj}E!rD͢j9Z߶ZfQ!{(D͢B͢B Pj}E! -D͢jZ(D͢jZfQ@QoZfQ@Qo(}Zַ -Qo(}ZַY>P@TDT,*dַYT޷YT޷ -Qo(}ZַY>PDTַY>PDT, -aV"mBT, -aV"mT+6@!mT+6Bj}>Rj}E}6 -6 -Xk- &>zW+IYmՙE$d"go|z\W&o:h%Ky ??MQZvyPy&?Dt @R^#"$%uuƲ4rWܛ/xv\k'p)|۽gE;@Sv<8wC^nׇf߿~*/ qnPÏ"aXQ6'hA! g= iSeSO Ldk!2t 2cugxhʊy*eg,NF6} ĆBiWFOoC~k瀅Nc]e>94S6zZ:mJ$oz(ߋCO%L 7.:wt0%RCF Oj4BBGt[,CGA >mPzv᫩H~n892(𙒎-d5cW._̺04qw@s$1add)=S>6 -/nu7hE;?٪о`e6u^`;(H@#FS틺hcعOCvnP5:WJuat,`^:^M>x@̏/eO]v۶_~0aƵg>lYARTQ4TLp }Qts[ۓf5nIIGC兆23p[ŖΡغ_hmJ<BD4 ;Sʓ ŠP!=$N۫ȟflNvfU D@;(TС؉6Y -+|@ɻO@#k#]Ysg2aKsٖef;bztM4?ն#D+6 +hhHy;%?Ē@,Z..|}NDUu9\'諲ɫ? [{l-HA]͠O Y.XmCSLR&Ii@)oƮ w۞/-g1lÅM%ĨY/4*M 54ЃJ)mk`*ȡ@|dzoUε-B|GG+XJ>,ןQ*}7=9Siӧon%^_bf6LXlܿ%<Ջj X`9mh|1DIuC uf}ȞŠ>[\K u|ݤZFr&Zc/UL0v#2bܠ$z-1Wgx.` C 8okR`rꪷjQ,屿: n 3 v]սl1m 0Km|[z&PrfG5ڑMyog -wiDtq -;VL4Qj)+yU$Ҩ|0 -A(چR|ϧAM@2&qo(ֺ6C^SVǙ7Le<6n/‚f=5qM'*o" -X";ծz)*qN+TICɓ@鵐Y߷y*r׭4zHicJ:v ]d3{V[J - qBc'H٥¹Y2I_cSI.3IA4Gww_y_/IBY8ٴhi$s] 2o\y}Jendstream -endobj - -28485 0 obj -<>/P 487 0 R/Type/Annot/A 28490 0 R/Subtype/Link/Rect[93.6001968 663.229004 222.936005 682.908997]/Border[0 0 0]/H/N>> -endobj - -28486 0 obj -<>/P 487 0 R/Type/Annot/A 28489 0 R/Subtype/Link/Rect[93.6006012 376.229004 222.936005 395.908997]/Border[0 0 0]/H/N>> -endobj - -28487 0 obj -<>/P 487 0 R/Type/Annot/A 28488 0 R/Subtype/Link/Rect[93.6008987 208.628998 222.936996 228.309006]/Border[0 0 0]/H/N>> -endobj - -28488 0 obj -<> -endobj - -28489 0 obj -<> -endobj - -28490 0 obj -<> -endobj - -28491 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28492 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28493 0 obj -<> -endobj - -28494 0 obj -<> -endobj - -28495 0 obj -<> -endobj - -28496 0 obj -<> -endobj - -28497 0 obj -<> -endobj - -28498 0 obj -<> -endobj - -28499 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28500 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28501 0 obj -<> -endobj - -28502 0 obj -<> -endobj - -28503 0 obj -<> -endobj - -28504 0 obj -<> -endobj - -28505 0 obj -<> -endobj - -28506 0 obj -<> -endobj - -28507 0 obj -<> -endobj - -28508 0 obj -<> -endobj - -28509 0 obj -<> -endobj - -28510 0 obj -<> -endobj - -28511 0 obj -<> -endobj - -28512 0 obj -<> -endobj - -28513 0 obj -<> -endobj - -28514 0 obj -<> -endobj - -28515 0 obj -<> -endobj - -28516 0 obj -<> -endobj - -28517 0 obj -<> -endobj - -28518 0 obj -<> -endobj - -28519 0 obj -<> -endobj - -28520 0 obj -<> -endobj - -28521 0 obj -<> -endobj - -28522 0 obj -<> -endobj - -28523 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28524 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28525 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28526 0 obj -<> -stream -HWkoF_1b )my0I,0(LnW˺lvQ33 9G?WyӗƚO|;q1u}4Yܛ"iͪI~5]beLk|ܷ5/]4UxMNjw3,&T"MSԋଙ3>7<_3]i߳ %flWvfѿù5ST!O}FJߋ*yrTTS A$,};92ޝ%F,{^}Pp>Q}T3>S3>S3>Ss>Ws>W P P PKTKT+R+^uցJlxZ1K@k%,^b%F,Z1 WcpZAk%F,Z1 WcpZAk%F,Z1 WcpZAk%F,Z1 WcpZAk%HhĘKXcv/1fi#hĘܫZ1 W #hĘܫZ1 W #hĘܫZ1 W #hĘܫZ1 W [$Vb%F,Z1K{ VbUk#hĘܫFZ VbUk#hĘܫFZ VbUk#hĘܫFZ VbUk#hĘܫFZ- Vb%F,Z1K{BWvCu! CdT -VZQiEV2Li@+WZ9ʕV -UBi@TZ%*V*UJjy$,%1>-rJ--r/1>-r/1>-r/1>-r/1>-r/1>-r/1>|-r/1>|-r/1>V-r/1>Vh-1KkI @K>K @K>K@K>K@K>K?}-r/1|Z*^bT#ȽhG{֒hg UZUU4~9Y$䨮q%Ն` >MU)=om7N䦟ۏaIeZժO"nGLY5ݫgg -6Gv:рnkf.GChmƳVW̖Khva=XJ],n7W㛫r/~ˋ'8}wZ>{sϓHim瀙ԛ,0? ڮ7Džv0,oxx^C2D[Jqv -o\jw# K.?6Gj7ztDM9L,jOhQKsy0 -ify7RĹh=+ܑ54_5f=  xsfz̦efՊ%䇘5ř]SfGi?7聁ѐ7?wyC* 5S]?~ % c@wW|@oi\[>r۵hF(YohB6[ixFc,ivVWMF> -f;pYw] Ŋ;_cj3J6F\Wۯ -6h}n }v,nho06e0|u褚/:ݙLNzig m$-)>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28528 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28529 0 obj -<> -endobj - -28530 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28531 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28532 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28533 0 obj -<> -stream -HW]o6}ׯУ0D-E[L݇dP(kֶ,'L}$b̲BZYVcb̲kZY>p \1`Ře -µ,B}ZAc"\1"k1fYp-ƀEcE\+b̲kZ#Icb̲BP=ƀEcE\+ b̲k%Zp-,PVŘeJµZY>p$\1"k1,µ,B}ZIcE\+ bl)µP=ƀEcǘe1,µ,B}ZEcE\b Xk1fYp-,PVb̲kZY>p"\1`Ře*µ,B}ZEcHŘe1,µP=,+T_(T¿Yu/R<^n"0\,(m}|\,B MDXbluC_և.^ҤVө-98>lv?c7/ 5v_ʝZWU-,|=zuډ抁bjaD9svmNueA f=U}r} B5c&i`sU+`ZX'ԇӟOv}uΕ-rB&jUztO\8V0=rXfsugpfBR9LA&u烫zB!}bTӰqtum%Lk,W1RsĖiʲ7O`\YuWkv#P09jyzމ1rsuLQ \b&-΋X~HS]pgiIrmCsJ0qS0ax> 0Vyu=Za(Ls\b'sMQYf qjΡ^qSL'b5s)X]~=u7m%&&-[_̛m?V91l]w+e;> 1Ç1b]@:VOB*>_7Wsfӽ76B$3R1Npf7(|e[ ^:zLvrrH1'epZt -dBey FPY5}yX]}PU-43*K7U }XՙiVjr?$2L:\W8,̤5 soxfvX0o>TS»fWA cKYx=@7Lq@&s<6mUlFf%& }r^<3 o9@1v+ȝ%fl,~60ͩ۽F"Zix><2e_s w?F+721WxڗOc'pz  ]T$k}z/H 4լOj\ݿ?+^+\@~3kOTppT*|9ѐ)xB( pu=dW_" -}&xo-U ].۫M%E3[+V˂¥r4W₭bs\ջv3\]Q:3=MO]g|Z_?z6 ~O^9zcTq>k–4+oyey !4w9 2Ct -zVڣ -9{Q6/6>;[xa\]l Gr+mI:)eZ 4|<Ό>lˣSi2_Ss5텘A= -Z93aHŌrP1!_ lL(O%D4f\ONv#T}Y:qɧ&x߳5'[nCg==6ҵ׉sj8TNG Ps* =(1 @'+ >[4( -.6e8agEb;+o7_!rH1#Ŋ~:hp@Ճqr#)brz7L61!h`69}=_(qN$r3w=b0;ieʂ5GȌ>.8ᕗelb4. [ֵ`xz .O ;}&⦌RCI0Թ_qD j BŜg#s<ZoTD~gΨEj堕g.O>04,tN06sɤ3<̈́K tD86W/)sN,fio|j_"(Gن$n_J[LSw7,lvڧ@ "$&R&b-BfFL; -2-F;?.uR]մ=OFck6U^c7γjDž|l7H =5?0v\қ%(쌾alXLN. -^Vz7wQV,Z'BvIv#x@ͨQ< Ω՗](5NK{yx9N^zTt-h{0Xe6>+#*6'vU<5K8)|+P^3HةkKNw恬||ˇwD`r endstream -endobj - -28534 0 obj -<>/P 814 0 R/Type/Annot/A 28535 0 R/Subtype/Link/Rect[93.6006012 320.028992 222.707993 339.708008]/Border[0 0 0]/H/N>> -endobj - -28535 0 obj -<> -endobj - -28536 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28537 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28538 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28539 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28540 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28541 0 obj -<> -stream -H|Wmo8_ -2|( -l]noE -fbɒ+Io"YCf(pޟ^1m{wc?|Y}_34+$Cf]}ΞV$+2}loi˽rw4{V֫53W g!T#IU.{N8A?SpD!}~v] -[&?"m: S=ai>oJMr#% -)ҾlКGC<1sZ%"`4aE}땜dWHjfBy=nN7TEd$p;L?Dq5¤`3?2CtXgc:]FFJs;wq}9gّ1&e'H5Tlk\~tK p- E֩] i`lO׶\{öIF'Z!\sL)!^%Yg-%a!Be"h|1PH1A2 Ae"O\}iuۦrzSh"e۷[ 5~vV ԉߏ`ٱ1IIӸzZkIٴe~WiB ^Tyj;Ce9kPqf웠,Y3\a #}ĕ UTVFWc϶}&p @US,D֋a[D5IAW5{6?CRS3ΑnpsVH $}\fmAs$PjN,Tk=pi;t3`*f(VHS9gws9 XS'<<֑6ҽ/sԋJ %l"]jKܰfS](03ջEdlu&]Dϔ>́UyU>}q4D)E\DNV AGMq|:Ə';|]ѽG3|0j݇#R0 O7ǧ(n!&]:F݌9"Sp`MSw}Y?! tp(gUT2\͊yMt-=l(K,Z\I1Ki6+ 'sNP}[g I3`H?˪܃! -ϔ=[eFUelbOYPn5ѭNn2xu#k+H4ֻд},8+}eU]dS,u*$D ~nܛO`8>p1~秼k%)*vK1!G_=95KHkVĸG%s@/8@>?k(9{ 0)'7j@ bt%}_€D`<O@X%=( -2V"ا r gqzu91*er,v7\Z@ 1-av܆pG2H~yxėnDd{SG*z9En׼ԑ.St#`.S5g .I]j8oT(1\6QW&n_$yT+6iwc 1ŵXn-t+74"AfEԉ9\%:`y`tezzw"R^|}|&Ec@^ЦLa]SX?7]? F^bQezt&ʜr<$ Wt}Vd3!>/P 656 0 R/Type/Annot/A 28547 0 R/Subtype/Link/Rect[130.078995 498.917999 406.118011 673.916016]/Border[0 0 0]/H/N>> -endobj - -28543 0 obj -<>/P 656 0 R/Type/Annot/A 28546 0 R/Subtype/Link/Rect[93.6000977 404.627991 199.356003 424.308014]/Border[0 0 0]/H/N>> -endobj - -28544 0 obj -<>/P 656 0 R/Type/Annot/A 28545 0 R/Subtype/Link/Rect[93.6004028 218.628006 212.617004 238.307999]/Border[0 0 0]/H/N>> -endobj - -28545 0 obj -<> -endobj - -28546 0 obj -<> -endobj - -28547 0 obj -<> -endobj - -28548 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28549 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28550 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28551 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28552 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28553 0 obj -<> -stream -H|{oV秸 :46 $nnLl-ʡw"HHF:ۚO߽z$ŋ_E#b[>Μ3tuQb#k^Էm~]wͪvtMt{g7*:3T˨MS&O -Sb۬[3}dBۦOsIO~|m7ݴ` >}bumFAq4UL=Tv쏋]O761}k>~J̕J.%RRqpTzJ)&^.ev ])pR#J@z{ޫ*J@>)H)H)HHH9H9H9HH_H_%H_%Hfւ*r`j.^jS+5vRcN/5r@z5Lҫu`jF.0RcHց@z5LVj:0RcHցJ] ZVj:0R[ELإK\`j.^jF.0RcHփ@z5LVjz0RcHփJ] ZVjz0R#Z WSJ] ZVj(tz LإK]:Vj0RcH6J] Vj0R#Z WSJ] VjS+5vjjZ WSJm`j.^jS+5vRcN_eYПGUNkeTCbgѲm7o7tQ=4ni}COlU!E<$@"f& !N{}Y^[xZ}GYw(ӫӧW)=.t_V=|m |K&xCΪ(mo̽hA -ƗHᗒUb -+(V -Xb*VXbe)VXb倕+VXbU(V XbUJK4Kj,U, XV`9rz@.RwRc`;{ TX^j,{z/5vKރK]%5rK]zA.RRc`{{ T=X^j,{z/5vKރK]z@.͒@.RRc`{ TX^j,z/5v}K>K]z@.ROA.͒@.*,pJ_Vie/ZFE/ƅ". 2csjcCܰY'dZeKɛ䎾5va۽bAh6qv7^WOzp+cO_kIZxB˲bBqlG}^Ά{q8bm-~m)p>v8~쇤C\GRG&kKW͘u''DwXiAH3.\ا.?sO):'i 7xȖǻ\|6.soIo';nYg5q;ٕ:ll7k]e~[[3|m7Ô;ck 3pV~^vs n;~Z+JRXA`J+UR+S 2+Wr*P -*TJrfI]%5rYe*,XTX^j,{z/5vKށK]z@.RwRc`{{KF.{ T=X^j,{z/5vKރK]zA.RRc`{{ TإYR#X^j,z/5v}K>K]z@.RRc.a0 -Wy|4mTpCk;WZDÙ^sM8-9W#{{f(ī{ɽ=3ȽBro g@!gjzA/.Q<J<]w,UvRhbJPiqN?rA3([`T4(xS ^,OILߧ QiarC4{୶lWXPq*pUynMN( 0>.cWک88䍅00MYTqIfkNJjݫUMuu 6%*\ A6Y5t];M QAR˰>>g35AٚVpz$yu2-endstream -endobj - -28554 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -28555 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -28556 0 obj -<> -endobj - -28557 0 obj -<> -endobj - -28558 0 obj -<> -endobj - -28559 0 obj -<> -endobj - -28560 0 obj -<> -endobj - -28561 0 obj -<> -endobj - -28562 0 obj -<> -endobj - -28563 0 obj -<> -endobj - -28564 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -28565 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -28566 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -28567 0 obj -<> -stream -HW]o}_GP>$>+o%J6Y+pEQŘ=ywm+~w7B~{RVIES{-7bTJJ?6vWn.WM].vY]Ӯz;g%fH6 ~5a뤯UL! EDwZ*SkPR -i?xU28Jax>UQL*1`4UNGcRDܕ*4^5^   --==>>>#>#>>þЬbDKcJ31Di Pji Q%{CTɞŨŰ/Tj5ZZCþPfTKcbՌji Pji Q BQ-!a_V31@11D1 jF4(}ZͨVaTKc*J4=Q-!a_01D1 F4(F4(}ZèŰ/Tkj ZCþPaTKcbTKcb5ji Q BQ-*˨U1@11Di Q%{ZCþPeTKcbji Pji Q BQ-!a_21@11D1 ZF4(}Z˨ŨŰ/Tkj-Z[UQ-!dOcbTKc*JN)Y!ΐ?#}bBT{Wfz5!A:[+{i2mKz?yoT4Vtmn'no)feֹ&fkv*h''Y~ vf -kM1@Ot?rDyv1>=8TXNkcTxvߍCT' -Vֶ[>0|l~7ƯRl>O8<4UPawӺ۴f*nj0Th"9}2lK^V*[Ǯhrh*ծ+ځPdciPREtUC[[e:P*meWA5bc6+8o9\٦}2i>IO]L] YT-tQB-c59AV|A*cǚάƸ?No@YAj# }MBm;nXlVr1+dݴozmxƱO3R=L?y2ٽl6S>ͮv8&TYLNi>nyԢr<6.k(܄CrX=/@Cfm;sn2ܢG$`& w L}lOA%bVK$G}ƎdiXe/ -y^O jIU;NyrJ#k@0ܻ7>:1[SitT=Hlw0hiw mH[b u<M ]IJ]a׳e47݄wq U g1i~?)nGm3]h;L:jmJ@Mci,w]r=|sመpo*N^-}I GdR%gpw%6uGv/m}KWz_taa{ W) ^FfDZ\j{9[lΩDcNuQQ]97QlVmik w `wo{RL@wozd{ӧs\7_? '.LVNo8G-'fk%{/;݇|mܯtwqyi3 4TR=  oRNRyuMkƍX0eC -E? -Vȩ}ऽGogn.Ԍ GdoF'~9Ikv}a\=>Bu&'}Z1c u8OWUB<DW~u6%TSa/c+7gN'=  ; |B3̇ESJꌁ3y⃐8YϨC[G| 8R!'cޮ26/iZ4qqh_c^=='}i omQPClOh/˗##piK`!Sӳ48K| [Jd.(krfX̽aصf33Omz>x)H(k1#kq|c/:[\-0!= W| -7vZ>9BeWqi[Py}בL1v l:U|퉸,z!jxE.x-$g4RcWşAKa>>fMgOb8S&>Czm{~:$wg_<=$i X-Ա B~CqݥP_d|q(mqY]⺘2z!qD^(OM97pJjsr69ZNJL-.*#J`YJJ4[=UQ8CHY U\;͋qZ6^AJ49F^tT -2l8LX;n!O -Ў+o:} -4%^v7Ԯn'wpA:|+gK3; 9tPEx|Ka.FK)ZPaUTe"~>R}C==H/2f(ň\q(zz0|-wK}ܶ$°Y&NkkUsAXח*__9>W0yL):!ؑE7QŇ6 Q.9ݍ?nnާvː \Bf|-K>~Y-έw8i~l= R|qc7 w!)=ZtՖd$CXof*D &]A>o~=_D 0)6~HK&5>Y[`* ^zno6_odH/>wȕbDMA6/zrzȨpޖdX0S ۛ_;2ٸV#)%P=Dn@P#N-A*RAt-VXEZ% Z -ͬ`(NXR尣Ua1RB: %TդrABP BW.dvbټSTߥQLqȋW9EZQ8-LKĉ}ȿyc=pߡ? ( λÔY1A?fZcJTEk_㼉{waݬ~v.] UnD[0j]Hqh~a\iD脍~yw:ZuSi?bNel5&[˖"f7 +ēb *nޅLp!wuؼ-冟s9ZF>Zh .ڦ -Քe܀|]{~ -$,ZW>ʋ(,d/(>/P 8349 0 R/Type/Annot/A 28838 0 R/Subtype/Link/Rect[193 659 205 668]/Border[0 0 0]/H/N>> -endobj - -28569 0 obj -<>/P 8349 0 R/Type/Annot/A 28836 0 R/Subtype/Link/Rect[179 649 191 658]/Border[0 0 0]/H/N>> -endobj - -28570 0 obj -<>/P 8349 0 R/Type/Annot/A 28834 0 R/Subtype/Link/Rect[194 639 206 648]/Border[0 0 0]/H/N>> -endobj - -28571 0 obj -<>/P 8349 0 R/Type/Annot/A 44046 0 R/Subtype/Link/Rect[192 629 202 638]/Border[0 0 0]/H/N>> -endobj - -28572 0 obj -<>/P 8349 0 R/Type/Annot/A 44013 0 R/Subtype/Link/Rect[204 629 218 638]/Border[0 0 0]/H/N>> -endobj - -28573 0 obj -<>/P 8349 0 R/Type/Annot/A 44746 0 R/Subtype/Link/Rect[220 629 237 639]/Border[0 0 0]/H/N>> -endobj - -28574 0 obj -<>/P 8349 0 R/Type/Annot/A 28993 0 R/Subtype/Link/Rect[238 629 252 638]/Border[0 0 0]/H/N>> -endobj - -28575 0 obj -<>/P 8349 0 R/Type/Annot/A 36823 0 R/Subtype/Link/Rect[254 629 266 638]/Border[0 0 0]/H/N>> -endobj - -28576 0 obj -<>/P 8349 0 R/Type/Annot/A 28975 0 R/Subtype/Link/Rect[190 619 198 628]/Border[0 0 0]/H/N>> -endobj - -28577 0 obj -<>/P 8349 0 R/Type/Annot/A 29050 0 R/Subtype/Link/Rect[207 609 221 618]/Border[0 0 0]/H/N>> -endobj - -28578 0 obj -<>/P 8349 0 R/Type/Annot/A 43780 0 R/Subtype/Link/Rect[223 609 235 618]/Border[0 0 0]/H/N>> -endobj - -28579 0 obj -<>/P 8349 0 R/Type/Annot/A 29027 0 R/Subtype/Link/Rect[202 599 219 609]/Border[0 0 0]/H/N>> -endobj - -28580 0 obj -<>/P 8349 0 R/Type/Annot/A 44107 0 R/Subtype/Link/Rect[219 599 233 608]/Border[0 0 0]/H/N>> -endobj - -28581 0 obj -<>/P 8349 0 R/Type/Annot/A 44469 0 R/Subtype/Link/Rect[235 599 252 609]/Border[0 0 0]/H/N>> -endobj - -28582 0 obj -<>/P 8349 0 R/Type/Annot/A 28990 0 R/Subtype/Link/Rect[253 599 267 608]/Border[0 0 0]/H/N>> -endobj - -28583 0 obj -<>/P 8349 0 R/Type/Annot/A 43582 0 R/Subtype/Link/Rect[269 599 283 608]/Border[0 0 0]/H/N>> -endobj - -28584 0 obj -<>/P 8349 0 R/Type/Annot/A 33624 0 R/Subtype/Link/Rect[285 599 299 608]/Border[0 0 0]/H/N>> -endobj - -28585 0 obj -<>/P 8349 0 R/Type/Annot/A 43510 0 R/Subtype/Link/Rect[151 589 165 598]/Border[0 0 0]/H/N>> -endobj - -28586 0 obj -<>/P 8349 0 R/Type/Annot/A 29038 0 R/Subtype/Link/Rect[167 589 179 598]/Border[0 0 0]/H/N>> -endobj - -28587 0 obj -<>/P 8349 0 R/Type/Annot/A 29026 0 R/Subtype/Link/Rect[190 579 202 588]/Border[0 0 0]/H/N>> -endobj - -28588 0 obj -<>/P 8349 0 R/Type/Annot/A 43376 0 R/Subtype/Link/Rect[234 569 242 578]/Border[0 0 0]/H/N>> -endobj - -28589 0 obj -<>/P 8349 0 R/Type/Annot/A 29003 0 R/Subtype/Link/Rect[194 559 208 568]/Border[0 0 0]/H/N>> -endobj - -28590 0 obj -<>/P 8349 0 R/Type/Annot/A 29204 0 R/Subtype/Link/Rect[210 559 224 568]/Border[0 0 0]/H/N>> -endobj - -28591 0 obj -<>/P 8349 0 R/Type/Annot/A 44111 0 R/Subtype/Link/Rect[226 559 240 568]/Border[0 0 0]/H/N>> -endobj - -28592 0 obj -<>/P 8349 0 R/Type/Annot/A 28973 0 R/Subtype/Link/Rect[242 559 258 569]/Border[0 0 0]/H/N>> -endobj - -28593 0 obj -<>/P 8349 0 R/Type/Annot/A 43609 0 R/Subtype/Link/Rect[259 559 273 568]/Border[0 0 0]/H/N>> -endobj - -28594 0 obj -<>/P 8349 0 R/Type/Annot/A 43579 0 R/Subtype/Link/Rect[275 559 289 568]/Border[0 0 0]/H/N>> -endobj - -28595 0 obj -<>/P 8349 0 R/Type/Annot/A 29032 0 R/Subtype/Link/Rect[291 559 303 568]/Border[0 0 0]/H/N>> -endobj - -28596 0 obj -<>/P 8349 0 R/Type/Annot/A 43502 0 R/Subtype/Link/Rect[198 549 212 558]/Border[0 0 0]/H/N>> -endobj - -28597 0 obj -<>/P 8349 0 R/Type/Annot/A 29010 0 R/Subtype/Link/Rect[214 549 226 558]/Border[0 0 0]/H/N>> -endobj - -28598 0 obj -<>/P 8349 0 R/Type/Annot/A 28998 0 R/Subtype/Link/Rect[251 539 268 549]/Border[0 0 0]/H/N>> -endobj - -28599 0 obj -<>/P 8349 0 R/Type/Annot/A 42014 0 R/Subtype/Link/Rect[268 539 280 548]/Border[0 0 0]/H/N>> -endobj - -28600 0 obj -<>/P 8349 0 R/Type/Annot/A 28979 0 R/Subtype/Link/Rect[193 529 209 539]/Border[0 0 0]/H/N>> -endobj - -28601 0 obj -<>/P 8349 0 R/Type/Annot/A 28968 0 R/Subtype/Link/Rect[210 529 222 538]/Border[0 0 0]/H/N>> -endobj - -28602 0 obj -<>/P 8349 0 R/Type/Annot/A 29053 0 R/Subtype/Link/Rect[188 519 204 529]/Border[0 0 0]/H/N>> -endobj - -28603 0 obj -<>/P 8349 0 R/Type/Annot/A 30182 0 R/Subtype/Link/Rect[205 519 217 528]/Border[0 0 0]/H/N>> -endobj - -28604 0 obj -<>/P 8349 0 R/Type/Annot/A 36718 0 R/Subtype/Link/Rect[236 509 250 518]/Border[0 0 0]/H/N>> -endobj - -28605 0 obj -<>/P 8349 0 R/Type/Annot/A 29019 0 R/Subtype/Link/Rect[252 509 268 519]/Border[0 0 0]/H/N>> -endobj - -28606 0 obj -<>/P 8349 0 R/Type/Annot/A 29008 0 R/Subtype/Link/Rect[269 509 283 518]/Border[0 0 0]/H/N>> -endobj - -28607 0 obj -<>/P 8349 0 R/Type/Annot/A 28997 0 R/Subtype/Link/Rect[285 509 297 518]/Border[0 0 0]/H/N>> -endobj - -28608 0 obj -<>/P 8349 0 R/Type/Annot/A 28988 0 R/Subtype/Link/Rect[190 499 202 508]/Border[0 0 0]/H/N>> -endobj - -28609 0 obj -<>/P 8349 0 R/Type/Annot/A 28980 0 R/Subtype/Link/Rect[236 489 250 498]/Border[0 0 0]/H/N>> -endobj - -28610 0 obj -<>/P 8349 0 R/Type/Annot/A 34220 0 R/Subtype/Link/Rect[252 489 266 498]/Border[0 0 0]/H/N>> -endobj - -28611 0 obj -<>/P 8349 0 R/Type/Annot/A 30261 0 R/Subtype/Link/Rect[268 489 280 498]/Border[0 0 0]/H/N>> -endobj - -28612 0 obj -<>/P 8349 0 R/Type/Annot/A 29044 0 R/Subtype/Link/Rect[190 479 202 488]/Border[0 0 0]/H/N>> -endobj - -28613 0 obj -<>/P 8349 0 R/Type/Annot/A 29035 0 R/Subtype/Link/Rect[197 469 210 479]/Border[0 0 0]/H/N>> -endobj - -28614 0 obj -<>/P 8349 0 R/Type/Annot/A 29023 0 R/Subtype/Link/Rect[211 469 220 478]/Border[0 0 0]/H/N>> -endobj - -28615 0 obj -<>/P 8349 0 R/Type/Annot/A 39543 0 R/Subtype/Link/Rect[222 469 232 478]/Border[0 0 0]/H/N>> -endobj - -28616 0 obj -<>/P 8349 0 R/Type/Annot/A 31854 0 R/Subtype/Link/Rect[234 469 248 478]/Border[0 0 0]/H/N>> -endobj - -28617 0 obj -<>/P 8349 0 R/Type/Annot/A 42676 0 R/Subtype/Link/Rect[250 469 264 478]/Border[0 0 0]/H/N>> -endobj - -28618 0 obj -<>/P 8349 0 R/Type/Annot/A 28982 0 R/Subtype/Link/Rect[266 469 283 479]/Border[0 0 0]/H/N>> -endobj - -28619 0 obj -<>/P 8349 0 R/Type/Annot/A 31027 0 R/Subtype/Link/Rect[283 469 297 478]/Border[0 0 0]/H/N>> -endobj - -28620 0 obj -<>/P 8349 0 R/Type/Annot/A 28962 0 R/Subtype/Link/Rect[151 459 165 468]/Border[0 0 0]/H/N>> -endobj - -28621 0 obj -<>/P 8349 0 R/Type/Annot/A 28952 0 R/Subtype/Link/Rect[167 459 181 468]/Border[0 0 0]/H/N>> -endobj - -28622 0 obj -<>/P 8349 0 R/Type/Annot/A 29039 0 R/Subtype/Link/Rect[183 459 197 468]/Border[0 0 0]/H/N>> -endobj - -28623 0 obj -<>/P 8349 0 R/Type/Annot/A 29030 0 R/Subtype/Link/Rect[199 459 213 468]/Border[0 0 0]/H/N>> -endobj - -28624 0 obj -<>/P 8349 0 R/Type/Annot/A 29018 0 R/Subtype/Link/Rect[215 459 229 468]/Border[0 0 0]/H/N>> -endobj - -28625 0 obj -<>/P 8349 0 R/Type/Annot/A 29009 0 R/Subtype/Link/Rect[231 459 245 468]/Border[0 0 0]/H/N>> -endobj - -28626 0 obj -<>/P 8349 0 R/Type/Annot/A 28999 0 R/Subtype/Link/Rect[247 459 261 468]/Border[0 0 0]/H/N>> -endobj - -28627 0 obj -<>/P 8349 0 R/Type/Annot/A 35866 0 R/Subtype/Link/Rect[263 459 277 468]/Border[0 0 0]/H/N>> -endobj - -28628 0 obj -<>/P 8349 0 R/Type/Annot/A 28981 0 R/Subtype/Link/Rect[279 459 293 468]/Border[0 0 0]/H/N>> -endobj - -28629 0 obj -<>/P 8349 0 R/Type/Annot/A 28972 0 R/Subtype/Link/Rect[295 459 309 468]/Border[0 0 0]/H/N>> -endobj - -28630 0 obj -<>/P 8349 0 R/Type/Annot/A 28961 0 R/Subtype/Link/Rect[151 449 165 458]/Border[0 0 0]/H/N>> -endobj - -28631 0 obj -<>/P 8349 0 R/Type/Annot/A 29055 0 R/Subtype/Link/Rect[167 449 181 458]/Border[0 0 0]/H/N>> -endobj - -28632 0 obj -<>/P 8349 0 R/Type/Annot/A 29042 0 R/Subtype/Link/Rect[183 449 197 458]/Border[0 0 0]/H/N>> -endobj - -28633 0 obj -<>/P 8349 0 R/Type/Annot/A 42543 0 R/Subtype/Link/Rect[199 449 216 459]/Border[0 0 0]/H/N>> -endobj - -28634 0 obj -<>/P 8349 0 R/Type/Annot/A 29022 0 R/Subtype/Link/Rect[216 449 228 458]/Border[0 0 0]/H/N>> -endobj - -28635 0 obj -<>/P 8349 0 R/Type/Annot/A 36760 0 R/Subtype/Link/Rect[190 439 202 448]/Border[0 0 0]/H/N>> -endobj - -28636 0 obj -<>/P 8349 0 R/Type/Annot/A 29002 0 R/Subtype/Link/Rect[196 429 210 438]/Border[0 0 0]/H/N>> -endobj - -28637 0 obj -<>/P 8349 0 R/Type/Annot/A 28936 0 R/Subtype/Link/Rect[212 429 226 438]/Border[0 0 0]/H/N>> -endobj - -28638 0 obj -<>/P 8349 0 R/Type/Annot/A 28986 0 R/Subtype/Link/Rect[228 429 240 438]/Border[0 0 0]/H/N>> -endobj - -28639 0 obj -<>/P 8349 0 R/Type/Annot/A 28976 0 R/Subtype/Link/Rect[209 419 223 428]/Border[0 0 0]/H/N>> -endobj - -28640 0 obj -<>/P 8349 0 R/Type/Annot/A 28966 0 R/Subtype/Link/Rect[225 419 242 429]/Border[0 0 0]/H/N>> -endobj - -28641 0 obj -<>/P 8349 0 R/Type/Annot/A 41653 0 R/Subtype/Link/Rect[242 419 256 428]/Border[0 0 0]/H/N>> -endobj - -28642 0 obj -<>/P 8349 0 R/Type/Annot/A 29051 0 R/Subtype/Link/Rect[258 419 272 428]/Border[0 0 0]/H/N>> -endobj - -28643 0 obj -<>/P 8349 0 R/Type/Annot/A 29040 0 R/Subtype/Link/Rect[274 419 288 428]/Border[0 0 0]/H/N>> -endobj - -28644 0 obj -<>/P 8349 0 R/Type/Annot/A 29031 0 R/Subtype/Link/Rect[151 409 168 419]/Border[0 0 0]/H/N>> -endobj - -28645 0 obj -<>/P 8349 0 R/Type/Annot/A 29021 0 R/Subtype/Link/Rect[168 409 182 418]/Border[0 0 0]/H/N>> -endobj - -28646 0 obj -<>/P 8349 0 R/Type/Annot/A 29012 0 R/Subtype/Link/Rect[184 409 196 418]/Border[0 0 0]/H/N>> -endobj - -28647 0 obj -<>/P 8349 0 R/Type/Annot/A 29323 0 R/Subtype/Link/Rect[214 399 228 408]/Border[0 0 0]/H/N>> -endobj - -28648 0 obj -<>/P 8349 0 R/Type/Annot/A 40107 0 R/Subtype/Link/Rect[230 399 244 408]/Border[0 0 0]/H/N>> -endobj - -28649 0 obj -<>/P 8349 0 R/Type/Annot/A 28985 0 R/Subtype/Link/Rect[246 399 259 408]/Border[0 0 0]/H/N>> -endobj - -28650 0 obj -<>/P 8349 0 R/Type/Annot/A 28930 0 R/Subtype/Link/Rect[261 399 278 409]/Border[0 0 0]/H/N>> -endobj - -28651 0 obj -<>/P 8349 0 R/Type/Annot/A 28965 0 R/Subtype/Link/Rect[279 399 291 408]/Border[0 0 0]/H/N>> -endobj - -28652 0 obj -<>/P 8349 0 R/Type/Annot/A 28957 0 R/Subtype/Link/Rect[212 389 224 398]/Border[0 0 0]/H/N>> -endobj - -28653 0 obj -<>/P 8349 0 R/Type/Annot/A 41183 0 R/Subtype/Link/Rect[226 379 238 388]/Border[0 0 0]/H/N>> -endobj - -28654 0 obj -<>/P 8349 0 R/Type/Annot/A 30259 0 R/Subtype/Link/Rect[212 369 224 378]/Border[0 0 0]/H/N>> -endobj - -28655 0 obj -<>/P 8349 0 R/Type/Annot/A 29033 0 R/Subtype/Link/Rect[187 359 201 368]/Border[0 0 0]/H/N>> -endobj - -28656 0 obj -<>/P 8349 0 R/Type/Annot/A 30153 0 R/Subtype/Link/Rect[203 359 217 368]/Border[0 0 0]/H/N>> -endobj - -28657 0 obj -<>/P 8349 0 R/Type/Annot/A 29014 0 R/Subtype/Link/Rect[219 359 231 368]/Border[0 0 0]/H/N>> -endobj - -28658 0 obj -<>/P 8349 0 R/Type/Annot/A 29005 0 R/Subtype/Link/Rect[202 349 219 359]/Border[0 0 0]/H/N>> -endobj - -28659 0 obj -<>/P 8349 0 R/Type/Annot/A 28994 0 R/Subtype/Link/Rect[219 349 233 358]/Border[0 0 0]/H/N>> -endobj - -28660 0 obj -<>/P 8349 0 R/Type/Annot/A 38204 0 R/Subtype/Link/Rect[235 349 252 359]/Border[0 0 0]/H/N>> -endobj - -28661 0 obj -<>/P 8349 0 R/Type/Annot/A 28931 0 R/Subtype/Link/Rect[253 349 267 358]/Border[0 0 0]/H/N>> -endobj - -28662 0 obj -<>/P 8349 0 R/Type/Annot/A 28969 0 R/Subtype/Link/Rect[269 349 281 358]/Border[0 0 0]/H/N>> -endobj - -28663 0 obj -<>/P 8349 0 R/Type/Annot/A 28960 0 R/Subtype/Link/Rect[190 339 202 348]/Border[0 0 0]/H/N>> -endobj - -28664 0 obj -<>/P 8349 0 R/Type/Annot/A 28953 0 R/Subtype/Link/Rect[156 329 170 338]/Border[0 0 0]/H/N>> -endobj - -28665 0 obj -<>/P 8349 0 R/Type/Annot/A 29054 0 R/Subtype/Link/Rect[172 329 184 338]/Border[0 0 0]/H/N>> -endobj - -28666 0 obj -<>/P 8349 0 R/Type/Annot/A 34248 0 R/Subtype/Link/Rect[190 319 206 329]/Border[0 0 0]/H/N>> -endobj - -28667 0 obj -<>/P 8349 0 R/Type/Annot/A 29034 0 R/Subtype/Link/Rect[207 319 219 328]/Border[0 0 0]/H/N>> -endobj - -28668 0 obj -<>/P 8349 0 R/Type/Annot/A 29024 0 R/Subtype/Link/Rect[162 309 169 318]/Border[0 0 0]/H/N>> -endobj - -28669 0 obj -<>/P 8349 0 R/Type/Annot/A 29015 0 R/Subtype/Link/Rect[185 299 202 309]/Border[0 0 0]/H/N>> -endobj - -28670 0 obj -<>/P 8349 0 R/Type/Annot/A 29006 0 R/Subtype/Link/Rect[203 299 215 308]/Border[0 0 0]/H/N>> -endobj - -28671 0 obj -<>/P 8349 0 R/Type/Annot/A 28996 0 R/Subtype/Link/Rect[171 289 181 298]/Border[0 0 0]/H/N>> -endobj - -28672 0 obj -<>/P 8349 0 R/Type/Annot/A 28932 0 R/Subtype/Link/Rect[183 289 199 299]/Border[0 0 0]/H/N>> -endobj - -28673 0 obj -<>/P 8349 0 R/Type/Annot/A 36727 0 R/Subtype/Link/Rect[200 289 212 298]/Border[0 0 0]/H/N>> -endobj - -28674 0 obj -<>/P 8349 0 R/Type/Annot/A 36690 0 R/Subtype/Link/Rect[155 279 165 288]/Border[0 0 0]/H/N>> -endobj - -28675 0 obj -<>/P 8349 0 R/Type/Annot/A 28964 0 R/Subtype/Link/Rect[167 279 181 288]/Border[0 0 0]/H/N>> -endobj - -28676 0 obj -<>/P 8349 0 R/Type/Annot/A 28955 0 R/Subtype/Link/Rect[183 279 195 288]/Border[0 0 0]/H/N>> -endobj - -28677 0 obj -<>/P 8349 0 R/Type/Annot/A 28948 0 R/Subtype/Link/Rect[182 269 196 278]/Border[0 0 0]/H/N>> -endobj - -28678 0 obj -<>/P 8349 0 R/Type/Annot/A 29049 0 R/Subtype/Link/Rect[198 269 212 278]/Border[0 0 0]/H/N>> -endobj - -28679 0 obj -<>/P 8349 0 R/Type/Annot/A 30266 0 R/Subtype/Link/Rect[214 269 228 278]/Border[0 0 0]/H/N>> -endobj - -28680 0 obj -<>/P 8349 0 R/Type/Annot/A 28942 0 R/Subtype/Link/Rect[230 269 244 278]/Border[0 0 0]/H/N>> -endobj - -28681 0 obj -<>/P 8349 0 R/Type/Annot/A 30184 0 R/Subtype/Link/Rect[246 269 260 278]/Border[0 0 0]/H/N>> -endobj - -28682 0 obj -<>/P 8349 0 R/Type/Annot/A 29013 0 R/Subtype/Link/Rect[262 269 276 278]/Border[0 0 0]/H/N>> -endobj - -28683 0 obj -<>/P 8349 0 R/Type/Annot/A 28935 0 R/Subtype/Link/Rect[278 269 295 279]/Border[0 0 0]/H/N>> -endobj - -28684 0 obj -<>/P 8349 0 R/Type/Annot/A 28992 0 R/Subtype/Link/Rect[295 269 309 278]/Border[0 0 0]/H/N>> -endobj - -28685 0 obj -<>/P 8349 0 R/Type/Annot/A 28987 0 R/Subtype/Link/Rect[151 259 165 268]/Border[0 0 0]/H/N>> -endobj - -28686 0 obj -<>/P 8349 0 R/Type/Annot/A 28978 0 R/Subtype/Link/Rect[167 259 179 268]/Border[0 0 0]/H/N>> -endobj - -28687 0 obj -<>/P 8349 0 R/Type/Annot/A 28970 0 R/Subtype/Link/Rect[182 249 199 259]/Border[0 0 0]/H/N>> -endobj - -28688 0 obj -<>/P 8349 0 R/Type/Annot/A 28921 0 R/Subtype/Link/Rect[199 249 211 258]/Border[0 0 0]/H/N>> -endobj - -28689 0 obj -<>/P 8349 0 R/Type/Annot/A 28954 0 R/Subtype/Link/Rect[192 239 209 249]/Border[0 0 0]/H/N>> -endobj - -28690 0 obj -<>/P 8349 0 R/Type/Annot/A 28947 0 R/Subtype/Link/Rect[209 239 221 248]/Border[0 0 0]/H/N>> -endobj - -28691 0 obj -<>/P 8349 0 R/Type/Annot/A 29052 0 R/Subtype/Link/Rect[185 229 202 239]/Border[0 0 0]/H/N>> -endobj - -28692 0 obj -<>/P 8349 0 R/Type/Annot/A 29043 0 R/Subtype/Link/Rect[202 229 214 238]/Border[0 0 0]/H/N>> -endobj - -28693 0 obj -<>/P 8349 0 R/Type/Annot/A 29036 0 R/Subtype/Link/Rect[171 219 185 228]/Border[0 0 0]/H/N>> -endobj - -28694 0 obj -<>/P 8349 0 R/Type/Annot/A 29025 0 R/Subtype/Link/Rect[187 219 199 228]/Border[0 0 0]/H/N>> -endobj - -28695 0 obj -<>/P 8349 0 R/Type/Annot/A 29016 0 R/Subtype/Link/Rect[188 209 204 219]/Border[0 0 0]/H/N>> -endobj - -28696 0 obj -<>/P 8349 0 R/Type/Annot/A 29007 0 R/Subtype/Link/Rect[205 209 217 218]/Border[0 0 0]/H/N>> -endobj - -28697 0 obj -<>/P 8349 0 R/Type/Annot/A 29000 0 R/Subtype/Link/Rect[162 199 172 208]/Border[0 0 0]/H/N>> -endobj - -28698 0 obj -<>/P 8349 0 R/Type/Annot/A 28989 0 R/Subtype/Link/Rect[174 199 184 208]/Border[0 0 0]/H/N>> -endobj - -28699 0 obj -<>/P 8349 0 R/Type/Annot/A 28984 0 R/Subtype/Link/Rect[186 199 196 208]/Border[0 0 0]/H/N>> -endobj - -28700 0 obj -<>/P 8349 0 R/Type/Annot/A 28977 0 R/Subtype/Link/Rect[198 199 215 209]/Border[0 0 0]/H/N>> -endobj - -28701 0 obj -<>/P 8349 0 R/Type/Annot/A 28967 0 R/Subtype/Link/Rect[215 199 227 208]/Border[0 0 0]/H/N>> -endobj - -28702 0 obj -<>/P 8349 0 R/Type/Annot/A 28959 0 R/Subtype/Link/Rect[185 189 202 199]/Border[0 0 0]/H/N>> -endobj - -28703 0 obj -<>/P 8349 0 R/Type/Annot/A 28951 0 R/Subtype/Link/Rect[203 189 215 198]/Border[0 0 0]/H/N>> -endobj - -28704 0 obj -<>/P 8349 0 R/Type/Annot/A 28946 0 R/Subtype/Link/Rect[189 179 203 188]/Border[0 0 0]/H/N>> -endobj - -28705 0 obj -<>/P 8349 0 R/Type/Annot/A 29056 0 R/Subtype/Link/Rect[205 179 219 188]/Border[0 0 0]/H/N>> -endobj - -28706 0 obj -<>/P 8349 0 R/Type/Annot/A 29045 0 R/Subtype/Link/Rect[221 179 235 188]/Border[0 0 0]/H/N>> -endobj - -28707 0 obj -<>/P 8349 0 R/Type/Annot/A 29037 0 R/Subtype/Link/Rect[237 179 251 188]/Border[0 0 0]/H/N>> -endobj - -28708 0 obj -<>/P 8349 0 R/Type/Annot/A 29028 0 R/Subtype/Link/Rect[253 179 269 189]/Border[0 0 0]/H/N>> -endobj - -28709 0 obj -<>/P 8349 0 R/Type/Annot/A 29017 0 R/Subtype/Link/Rect[270 179 284 188]/Border[0 0 0]/H/N>> -endobj - -28710 0 obj -<>/P 8349 0 R/Type/Annot/A 30155 0 R/Subtype/Link/Rect[286 179 300 188]/Border[0 0 0]/H/N>> -endobj - -28711 0 obj -<>/P 8349 0 R/Type/Annot/A 29001 0 R/Subtype/Link/Rect[151 169 165 178]/Border[0 0 0]/H/N>> -endobj - -28712 0 obj -<>/P 8349 0 R/Type/Annot/A 28991 0 R/Subtype/Link/Rect[167 169 181 178]/Border[0 0 0]/H/N>> -endobj - -28713 0 obj -<>/P 8349 0 R/Type/Annot/A 28929 0 R/Subtype/Link/Rect[183 169 197 178]/Border[0 0 0]/H/N>> -endobj - -28714 0 obj -<>/P 8349 0 R/Type/Annot/A 28926 0 R/Subtype/Link/Rect[199 169 211 178]/Border[0 0 0]/H/N>> -endobj - -28715 0 obj -<>/P 8349 0 R/Type/Annot/A 28971 0 R/Subtype/Link/Rect[186 159 200 168]/Border[0 0 0]/H/N>> -endobj - -28716 0 obj -<>/P 8349 0 R/Type/Annot/A 28963 0 R/Subtype/Link/Rect[202 159 216 168]/Border[0 0 0]/H/N>> -endobj - -28717 0 obj -<>/P 8349 0 R/Type/Annot/A 28956 0 R/Subtype/Link/Rect[218 159 235 169]/Border[0 0 0]/H/N>> -endobj - -28718 0 obj -<>/P 8349 0 R/Type/Annot/A 28949 0 R/Subtype/Link/Rect[236 159 250 168]/Border[0 0 0]/H/N>> -endobj - -28719 0 obj -<>/P 8349 0 R/Type/Annot/A 28945 0 R/Subtype/Link/Rect[252 159 266 168]/Border[0 0 0]/H/N>> -endobj - -28720 0 obj -<>/P 8349 0 R/Type/Annot/A 29057 0 R/Subtype/Link/Rect[268 159 281 168]/Border[0 0 0]/H/N>> -endobj - -28721 0 obj -<>/P 8349 0 R/Type/Annot/A 29046 0 R/Subtype/Link/Rect[151 149 168 159]/Border[0 0 0]/H/N>> -endobj - -28722 0 obj -<>/P 8349 0 R/Type/Annot/A 28940 0 R/Subtype/Link/Rect[168 149 182 158]/Border[0 0 0]/H/N>> -endobj - -28723 0 obj -<>/P 8349 0 R/Type/Annot/A 29029 0 R/Subtype/Link/Rect[184 149 198 158]/Border[0 0 0]/H/N>> -endobj - -28724 0 obj -<>/P 8349 0 R/Type/Annot/A 29020 0 R/Subtype/Link/Rect[200 149 214 158]/Border[0 0 0]/H/N>> -endobj - -28725 0 obj -<>/P 8349 0 R/Type/Annot/A 28934 0 R/Subtype/Link/Rect[216 149 233 159]/Border[0 0 0]/H/N>> -endobj - -28726 0 obj -<>/P 8349 0 R/Type/Annot/A 29004 0 R/Subtype/Link/Rect[234 149 248 158]/Border[0 0 0]/H/N>> -endobj - -28727 0 obj -<>/P 8349 0 R/Type/Annot/A 28995 0 R/Subtype/Link/Rect[250 149 264 158]/Border[0 0 0]/H/N>> -endobj - -28728 0 obj -<>/P 8349 0 R/Type/Annot/A 28928 0 R/Subtype/Link/Rect[266 149 280 158]/Border[0 0 0]/H/N>> -endobj - -28729 0 obj -<>/P 8349 0 R/Type/Annot/A 28925 0 R/Subtype/Link/Rect[282 149 296 158]/Border[0 0 0]/H/N>> -endobj - -28730 0 obj -<>/P 8349 0 R/Type/Annot/A 28923 0 R/Subtype/Link/Rect[151 139 165 148]/Border[0 0 0]/H/N>> -endobj - -28731 0 obj -<>/P 8349 0 R/Type/Annot/A 28919 0 R/Subtype/Link/Rect[167 139 181 148]/Border[0 0 0]/H/N>> -endobj - -28732 0 obj -<>/P 8349 0 R/Type/Annot/A 28958 0 R/Subtype/Link/Rect[183 139 195 148]/Border[0 0 0]/H/N>> -endobj - -28733 0 obj -<>/P 8349 0 R/Type/Annot/A 28950 0 R/Subtype/Link/Rect[363 669 377 678]/Border[0 0 0]/H/N>> -endobj - -28734 0 obj -<>/P 8349 0 R/Type/Annot/A 28915 0 R/Subtype/Link/Rect[379 669 391 678]/Border[0 0 0]/H/N>> -endobj - -28735 0 obj -<>/P 8349 0 R/Type/Annot/A 28944 0 R/Subtype/Link/Rect[407 659 421 668]/Border[0 0 0]/H/N>> -endobj - -28736 0 obj -<>/P 8349 0 R/Type/Annot/A 28943 0 R/Subtype/Link/Rect[423 659 437 668]/Border[0 0 0]/H/N>> -endobj - -28737 0 obj -<>/P 8349 0 R/Type/Annot/A 28941 0 R/Subtype/Link/Rect[439 659 451 668]/Border[0 0 0]/H/N>> -endobj - -28738 0 obj -<>/P 8349 0 R/Type/Annot/A 28939 0 R/Subtype/Link/Rect[392 649 404 658]/Border[0 0 0]/H/N>> -endobj - -28739 0 obj -<>/P 8349 0 R/Type/Annot/A 28938 0 R/Subtype/Link/Rect[397 639 411 648]/Border[0 0 0]/H/N>> -endobj - -28740 0 obj -<>/P 8349 0 R/Type/Annot/A 28937 0 R/Subtype/Link/Rect[413 639 425 648]/Border[0 0 0]/H/N>> -endobj - -28741 0 obj -<>/P 8349 0 R/Type/Annot/A 28933 0 R/Subtype/Link/Rect[376 629 392 639]/Border[0 0 0]/H/N>> -endobj - -28742 0 obj -<>/P 8349 0 R/Type/Annot/A 28905 0 R/Subtype/Link/Rect[393 629 407 638]/Border[0 0 0]/H/N>> -endobj - -28743 0 obj -<>/P 8349 0 R/Type/Annot/A 28903 0 R/Subtype/Link/Rect[409 629 423 638]/Border[0 0 0]/H/N>> -endobj - -28744 0 obj -<>/P 8349 0 R/Type/Annot/A 28927 0 R/Subtype/Link/Rect[425 629 439 638]/Border[0 0 0]/H/N>> -endobj - -28745 0 obj -<>/P 8349 0 R/Type/Annot/A 28924 0 R/Subtype/Link/Rect[441 629 458 639]/Border[0 0 0]/H/N>> -endobj - -28746 0 obj -<>/P 8349 0 R/Type/Annot/A 28922 0 R/Subtype/Link/Rect[458 629 472 638]/Border[0 0 0]/H/N>> -endobj - -28747 0 obj -<>/P 8349 0 R/Type/Annot/A 28918 0 R/Subtype/Link/Rect[474 629 486 638]/Border[0 0 0]/H/N>> -endobj - -28748 0 obj -<>/P 8349 0 R/Type/Annot/A 28917 0 R/Subtype/Link/Rect[381 619 393 628]/Border[0 0 0]/H/N>> -endobj - -28749 0 obj -<>/P 8349 0 R/Type/Annot/A 28916 0 R/Subtype/Link/Rect[389 609 405 619]/Border[0 0 0]/H/N>> -endobj - -28750 0 obj -<>/P 8349 0 R/Type/Annot/A 28914 0 R/Subtype/Link/Rect[406 609 420 618]/Border[0 0 0]/H/N>> -endobj - -28751 0 obj -<>/P 8349 0 R/Type/Annot/A 28913 0 R/Subtype/Link/Rect[422 609 436 618]/Border[0 0 0]/H/N>> -endobj - -28752 0 obj -<>/P 8349 0 R/Type/Annot/A 28912 0 R/Subtype/Link/Rect[438 609 450 618]/Border[0 0 0]/H/N>> -endobj - -28753 0 obj -<>/P 8349 0 R/Type/Annot/A 28911 0 R/Subtype/Link/Rect[423 599 437 608]/Border[0 0 0]/H/N>> -endobj - -28754 0 obj -<>/P 8349 0 R/Type/Annot/A 28910 0 R/Subtype/Link/Rect[439 599 453 608]/Border[0 0 0]/H/N>> -endobj - -28755 0 obj -<>/P 8349 0 R/Type/Annot/A 28909 0 R/Subtype/Link/Rect[455 599 467 608]/Border[0 0 0]/H/N>> -endobj - -28756 0 obj -<>/P 8349 0 R/Type/Annot/A 28908 0 R/Subtype/Link/Rect[444 589 456 598]/Border[0 0 0]/H/N>> -endobj - -28757 0 obj -<>/P 8349 0 R/Type/Annot/A 28907 0 R/Subtype/Link/Rect[396 579 408 588]/Border[0 0 0]/H/N>> -endobj - -28758 0 obj -<>/P 8349 0 R/Type/Annot/A 28906 0 R/Subtype/Link/Rect[374 569 382 578]/Border[0 0 0]/H/N>> -endobj - -28759 0 obj -<>/P 8349 0 R/Type/Annot/A 28904 0 R/Subtype/Link/Rect[420 559 432 568]/Border[0 0 0]/H/N>> -endobj - -28760 0 obj -<>/P 8349 0 R/Type/Annot/A 28902 0 R/Subtype/Link/Rect[420 549 432 558]/Border[0 0 0]/H/N>> -endobj - -28761 0 obj -<>/P 8349 0 R/Type/Annot/A 28901 0 R/Subtype/Link/Rect[417 539 429 548]/Border[0 0 0]/H/N>> -endobj - -28762 0 obj -<>/P 8349 0 R/Type/Annot/A 28900 0 R/Subtype/Link/Rect[415 529 432 539]/Border[0 0 0]/H/N>> -endobj - -28763 0 obj -<>/P 8349 0 R/Type/Annot/A 28899 0 R/Subtype/Link/Rect[433 529 445 538]/Border[0 0 0]/H/N>> -endobj - -28764 0 obj -<>/P 8349 0 R/Type/Annot/A 28898 0 R/Subtype/Link/Rect[420 519 434 528]/Border[0 0 0]/H/N>> -endobj - -28765 0 obj -<>/P 8349 0 R/Type/Annot/A 28897 0 R/Subtype/Link/Rect[436 519 450 528]/Border[0 0 0]/H/N>> -endobj - -28766 0 obj -<>/P 8349 0 R/Type/Annot/A 28896 0 R/Subtype/Link/Rect[452 519 464 528]/Border[0 0 0]/H/N>> -endobj - -28767 0 obj -<>/P 8349 0 R/Type/Annot/A 28895 0 R/Subtype/Link/Rect[425 509 439 518]/Border[0 0 0]/H/N>> -endobj - -28768 0 obj -<>/P 8349 0 R/Type/Annot/A 28894 0 R/Subtype/Link/Rect[441 509 455 518]/Border[0 0 0]/H/N>> -endobj - -28769 0 obj -<>/P 8349 0 R/Type/Annot/A 28893 0 R/Subtype/Link/Rect[457 509 469 518]/Border[0 0 0]/H/N>> -endobj - -28770 0 obj -<>/P 8349 0 R/Type/Annot/A 28892 0 R/Subtype/Link/Rect[410 499 424 508]/Border[0 0 0]/H/N>> -endobj - -28771 0 obj -<>/P 8349 0 R/Type/Annot/A 28891 0 R/Subtype/Link/Rect[426 499 440 508]/Border[0 0 0]/H/N>> -endobj - -28772 0 obj -<>/P 8349 0 R/Type/Annot/A 28890 0 R/Subtype/Link/Rect[442 499 456 508]/Border[0 0 0]/H/N>> -endobj - -28773 0 obj -<>/P 8349 0 R/Type/Annot/A 28889 0 R/Subtype/Link/Rect[458 499 475 509]/Border[0 0 0]/H/N>> -endobj - -28774 0 obj -<>/P 8349 0 R/Type/Annot/A 28888 0 R/Subtype/Link/Rect[475 499 487 508]/Border[0 0 0]/H/N>> -endobj - -28775 0 obj -<>/P 8349 0 R/Type/Annot/A 28887 0 R/Subtype/Link/Rect[387 489 401 498]/Border[0 0 0]/H/N>> -endobj - -28776 0 obj -<>/P 8349 0 R/Type/Annot/A 28886 0 R/Subtype/Link/Rect[403 489 417 498]/Border[0 0 0]/H/N>> -endobj - -28777 0 obj -<>/P 8349 0 R/Type/Annot/A 28885 0 R/Subtype/Link/Rect[419 489 433 498]/Border[0 0 0]/H/N>> -endobj - -28778 0 obj -<>/P 8349 0 R/Type/Annot/A 28884 0 R/Subtype/Link/Rect[435 489 452 499]/Border[0 0 0]/H/N>> -endobj - -28779 0 obj -<>/P 8349 0 R/Type/Annot/A 28883 0 R/Subtype/Link/Rect[452 489 466 498]/Border[0 0 0]/H/N>> -endobj - -28780 0 obj -<>/P 8349 0 R/Type/Annot/A 28882 0 R/Subtype/Link/Rect[468 489 485 499]/Border[0 0 0]/H/N>> -endobj - -28781 0 obj -<>/P 8349 0 R/Type/Annot/A 28881 0 R/Subtype/Link/Rect[486 489 500 498]/Border[0 0 0]/H/N>> -endobj - -28782 0 obj -<>/P 8349 0 R/Type/Annot/A 28880 0 R/Subtype/Link/Rect[359 479 376 489]/Border[0 0 0]/H/N>> -endobj - -28783 0 obj -<>/P 8349 0 R/Type/Annot/A 28879 0 R/Subtype/Link/Rect[376 479 390 488]/Border[0 0 0]/H/N>> -endobj - -28784 0 obj -<>/P 8349 0 R/Type/Annot/A 28878 0 R/Subtype/Link/Rect[392 479 406 488]/Border[0 0 0]/H/N>> -endobj - -28785 0 obj -<>/P 8349 0 R/Type/Annot/A 28877 0 R/Subtype/Link/Rect[408 479 422 488]/Border[0 0 0]/H/N>> -endobj - -28786 0 obj -<>/P 8349 0 R/Type/Annot/A 28876 0 R/Subtype/Link/Rect[424 479 436 488]/Border[0 0 0]/H/N>> -endobj - -28787 0 obj -<>/P 8349 0 R/Type/Annot/A 28875 0 R/Subtype/Link/Rect[410 469 424 478]/Border[0 0 0]/H/N>> -endobj - -28788 0 obj -<>/P 8349 0 R/Type/Annot/A 28874 0 R/Subtype/Link/Rect[426 469 440 478]/Border[0 0 0]/H/N>> -endobj - -28789 0 obj -<>/P 8349 0 R/Type/Annot/A 28873 0 R/Subtype/Link/Rect[442 469 456 478]/Border[0 0 0]/H/N>> -endobj - -28790 0 obj -<>/P 8349 0 R/Type/Annot/A 28872 0 R/Subtype/Link/Rect[458 469 470 478]/Border[0 0 0]/H/N>> -endobj - -28791 0 obj -<>/P 8349 0 R/Type/Annot/A 28871 0 R/Subtype/Link/Rect[398 459 410 468]/Border[0 0 0]/H/N>> -endobj - -28792 0 obj -<>/P 8349 0 R/Type/Annot/A 28870 0 R/Subtype/Link/Rect[401 449 418 459]/Border[0 0 0]/H/N>> -endobj - -28793 0 obj -<>/P 8349 0 R/Type/Annot/A 28869 0 R/Subtype/Link/Rect[419 449 431 458]/Border[0 0 0]/H/N>> -endobj - -28794 0 obj -<>/P 8349 0 R/Type/Annot/A 28868 0 R/Subtype/Link/Rect[400 439 412 448]/Border[0 0 0]/H/N>> -endobj - -28795 0 obj -<>/P 8349 0 R/Type/Annot/A 28867 0 R/Subtype/Link/Rect[401 429 413 438]/Border[0 0 0]/H/N>> -endobj - -28796 0 obj -<>/P 8349 0 R/Type/Annot/A 28866 0 R/Subtype/Link/Rect[415 419 427 428]/Border[0 0 0]/H/N>> -endobj - -28797 0 obj -<>/P 8349 0 R/Type/Annot/A 28865 0 R/Subtype/Link/Rect[399 409 411 418]/Border[0 0 0]/H/N>> -endobj - -28798 0 obj -<>/P 8349 0 R/Type/Annot/A 28864 0 R/Subtype/Link/Rect[415 399 431 409]/Border[0 0 0]/H/N>> -endobj - -28799 0 obj -<>/P 8349 0 R/Type/Annot/A 28863 0 R/Subtype/Link/Rect[432 399 446 408]/Border[0 0 0]/H/N>> -endobj - -28800 0 obj -<>/P 8349 0 R/Type/Annot/A 28862 0 R/Subtype/Link/Rect[448 399 460 408]/Border[0 0 0]/H/N>> -endobj - -28801 0 obj -<>/P 8349 0 R/Type/Annot/A 28861 0 R/Subtype/Link/Rect[398 389 410 398]/Border[0 0 0]/H/N>> -endobj - -28802 0 obj -<>/P 8349 0 R/Type/Annot/A 28860 0 R/Subtype/Link/Rect[410 379 427 389]/Border[0 0 0]/H/N>> -endobj - -28803 0 obj -<>/P 8349 0 R/Type/Annot/A 28859 0 R/Subtype/Link/Rect[427 379 441 388]/Border[0 0 0]/H/N>> -endobj - -28804 0 obj -<>/P 8349 0 R/Type/Annot/A 28858 0 R/Subtype/Link/Rect[443 379 455 388]/Border[0 0 0]/H/N>> -endobj - -28805 0 obj -<>/P 8349 0 R/Type/Annot/A 28857 0 R/Subtype/Link/Rect[398 369 410 378]/Border[0 0 0]/H/N>> -endobj - -28806 0 obj -<>/P 8349 0 R/Type/Annot/A 28856 0 R/Subtype/Link/Rect[433 359 447 368]/Border[0 0 0]/H/N>> -endobj - -28807 0 obj -<>/P 8349 0 R/Type/Annot/A 28855 0 R/Subtype/Link/Rect[449 359 461 368]/Border[0 0 0]/H/N>> -endobj - -28808 0 obj -<>/P 8349 0 R/Type/Annot/A 28854 0 R/Subtype/Link/Rect[412 349 424 358]/Border[0 0 0]/H/N>> -endobj - -28809 0 obj -<>/P 8349 0 R/Type/Annot/A 28853 0 R/Subtype/Link/Rect[444 339 460 349]/Border[0 0 0]/H/N>> -endobj - -28810 0 obj -<>/P 8349 0 R/Type/Annot/A 28852 0 R/Subtype/Link/Rect[461 339 473 348]/Border[0 0 0]/H/N>> -endobj - -28811 0 obj -<>/P 8349 0 R/Type/Annot/A 28851 0 R/Subtype/Link/Rect[398 329 410 338]/Border[0 0 0]/H/N>> -endobj - -28812 0 obj -<>/P 8349 0 R/Type/Annot/A 28850 0 R/Subtype/Link/Rect[472 319 489 329]/Border[0 0 0]/H/N>> -endobj - -28813 0 obj -<>/P 8349 0 R/Type/Annot/A 28849 0 R/Subtype/Link/Rect[490 319 502 328]/Border[0 0 0]/H/N>> -endobj - -28814 0 obj -<>/P 8349 0 R/Type/Annot/A 28848 0 R/Subtype/Link/Rect[398 309 410 318]/Border[0 0 0]/H/N>> -endobj - -28815 0 obj -<>/P 8349 0 R/Type/Annot/A 28847 0 R/Subtype/Link/Rect[506 299 518 308]/Border[0 0 0]/H/N>> -endobj - -28816 0 obj -<>/P 8349 0 R/Type/Annot/A 28846 0 R/Subtype/Link/Rect[398 289 410 298]/Border[0 0 0]/H/N>> -endobj - -28817 0 obj -<>/P 8349 0 R/Type/Annot/A 28845 0 R/Subtype/Link/Rect[496 279 508 288]/Border[0 0 0]/H/N>> -endobj - -28818 0 obj -<>/P 8349 0 R/Type/Annot/A 28844 0 R/Subtype/Link/Rect[398 269 410 278]/Border[0 0 0]/H/N>> -endobj - -28819 0 obj -<>/P 8349 0 R/Type/Annot/A 28843 0 R/Subtype/Link/Rect[477 259 489 268]/Border[0 0 0]/H/N>> -endobj - -28820 0 obj -<>/P 8349 0 R/Type/Annot/A 28842 0 R/Subtype/Link/Rect[398 249 410 258]/Border[0 0 0]/H/N>> -endobj - -28821 0 obj -<>/P 8349 0 R/Type/Annot/A 28841 0 R/Subtype/Link/Rect[359 229 376 239]/Border[0 0 0]/H/N>> -endobj - -28822 0 obj -<>/P 8349 0 R/Type/Annot/A 28840 0 R/Subtype/Link/Rect[376 229 388 238]/Border[0 0 0]/H/N>> -endobj - -28823 0 obj -<>/P 8349 0 R/Type/Annot/A 28839 0 R/Subtype/Link/Rect[398 219 410 228]/Border[0 0 0]/H/N>> -endobj - -28824 0 obj -<>/P 8349 0 R/Type/Annot/A 28837 0 R/Subtype/Link/Rect[458 209 475 219]/Border[0 0 0]/H/N>> -endobj - -28825 0 obj -<>/P 8349 0 R/Type/Annot/A 28835 0 R/Subtype/Link/Rect[475 209 487 218]/Border[0 0 0]/H/N>> -endobj - -28826 0 obj -<>/P 8349 0 R/Type/Annot/A 29041 0 R/Subtype/Link/Rect[398 199 410 208]/Border[0 0 0]/H/N>> -endobj - -28827 0 obj -<>/P 8349 0 R/Type/Annot/A 43435 0 R/Subtype/Link/Rect[506 189 518 198]/Border[0 0 0]/H/N>> -endobj - -28828 0 obj -<>/P 8349 0 R/Type/Annot/A 44748 0 R/Subtype/Link/Rect[398 179 410 188]/Border[0 0 0]/H/N>> -endobj - -28829 0 obj -<>/P 8349 0 R/Type/Annot/A 29011 0 R/Subtype/Link/Rect[496 169 508 178]/Border[0 0 0]/H/N>> -endobj - -28830 0 obj -<>/P 8349 0 R/Type/Annot/A 43285 0 R/Subtype/Link/Rect[398 159 410 168]/Border[0 0 0]/H/N>> -endobj - -28831 0 obj -<>/P 8349 0 R/Type/Annot/A 28920 0 R/Subtype/Link/Rect[477 149 489 158]/Border[0 0 0]/H/N>> -endobj - -28832 0 obj -<>/P 8349 0 R/Type/Annot/A 28983 0 R/Subtype/Link/Rect[398 139 410 148]/Border[0 0 0]/H/N>> -endobj - -28833 0 obj -<>/P 8349 0 R/Type/Annot/A 28974 0 R/Subtype/Link/Rect[186 608 205 617]/Border[0 0 0]/H/N>> -endobj - -28834 0 obj -<> -endobj - -28835 0 obj -<> -endobj - -28836 0 obj -<> -endobj - -28837 0 obj -<> -endobj - -28838 0 obj -<> -endobj - -28839 0 obj -<> -endobj - -28840 0 obj -<> -endobj - -28841 0 obj -<> -endobj - -28842 0 obj -<> -endobj - -28843 0 obj -<> -endobj - -28844 0 obj -<> -endobj - -28845 0 obj -<> -endobj - -28846 0 obj -<> -endobj - -28847 0 obj -<> -endobj - -28848 0 obj -<> -endobj - -28849 0 obj -<> -endobj - -28850 0 obj -<> -endobj - -28851 0 obj -<> -endobj - -28852 0 obj -<> -endobj - -28853 0 obj -<> -endobj - -28854 0 obj -<> -endobj - -28855 0 obj -<> -endobj - -28856 0 obj -<> -endobj - -28857 0 obj -<> -endobj - -28858 0 obj -<> -endobj - -28859 0 obj -<> -endobj - -28860 0 obj -<> -endobj - -28861 0 obj -<> -endobj - -28862 0 obj -<> -endobj - -28863 0 obj -<> -endobj - -28864 0 obj -<> -endobj - -28865 0 obj -<> -endobj - -28866 0 obj -<> -endobj - -28867 0 obj -<> -endobj - -28868 0 obj -<> -endobj - -28869 0 obj -<> -endobj - -28870 0 obj -<> -endobj - -28871 0 obj -<> -endobj - -28872 0 obj -<> -endobj - -28873 0 obj -<> -endobj - -28874 0 obj -<> -endobj - -28875 0 obj -<> -endobj - -28876 0 obj -<> -endobj - -28877 0 obj -<> -endobj - -28878 0 obj -<> -endobj - -28879 0 obj -<> -endobj - -28880 0 obj -<> -endobj - -28881 0 obj -<> -endobj - -28882 0 obj -<> -endobj - -28883 0 obj -<> -endobj - -28884 0 obj -<> -endobj - -28885 0 obj -<> -endobj - -28886 0 obj -<> -endobj - -28887 0 obj -<> -endobj - -28888 0 obj -<> -endobj - -28889 0 obj -<> -endobj - -28890 0 obj -<> -endobj - -28891 0 obj -<> -endobj - -28892 0 obj -<> -endobj - -28893 0 obj -<> -endobj - -28894 0 obj -<> -endobj - -28895 0 obj -<> -endobj - -28896 0 obj -<> -endobj - -28897 0 obj -<> -endobj - -28898 0 obj -<> -endobj - -28899 0 obj -<> -endobj - -28900 0 obj -<> -endobj - -28901 0 obj -<> -endobj - -28902 0 obj -<> -endobj - -28903 0 obj -<> -endobj - -28904 0 obj -<> -endobj - -28905 0 obj -<> -endobj - -28906 0 obj -<> -endobj - -28907 0 obj -<> -endobj - -28908 0 obj -<> -endobj - -28909 0 obj -<> -endobj - -28910 0 obj -<> -endobj - -28911 0 obj -<> -endobj - -28912 0 obj -<> -endobj - -28913 0 obj -<> -endobj - -28914 0 obj -<> -endobj - -28915 0 obj -<> -endobj - -28916 0 obj -<> -endobj - -28917 0 obj -<> -endobj - -28918 0 obj -<> -endobj - -28919 0 obj -<> -endobj - -28920 0 obj -<> -endobj - -28921 0 obj -<> -endobj - -28922 0 obj -<> -endobj - -28923 0 obj -<> -endobj - -28924 0 obj -<> -endobj - -28925 0 obj -<> -endobj - -28926 0 obj -<> -endobj - -28927 0 obj -<> -endobj - -28928 0 obj -<> -endobj - -28929 0 obj -<> -endobj - -28930 0 obj -<> -endobj - -28931 0 obj -<> -endobj - -28932 0 obj -<> -endobj - -28933 0 obj -<> -endobj - -28934 0 obj -<> -endobj - -28935 0 obj -<> -endobj - -28936 0 obj -<> -endobj - -28937 0 obj -<> -endobj - -28938 0 obj -<> -endobj - -28939 0 obj -<> -endobj - -28940 0 obj -<> -endobj - -28941 0 obj -<> -endobj - -28942 0 obj -<> -endobj - -28943 0 obj -<> -endobj - -28944 0 obj -<> -endobj - -28945 0 obj -<> -endobj - -28946 0 obj -<> -endobj - -28947 0 obj -<> -endobj - -28948 0 obj -<> -endobj - -28949 0 obj -<> -endobj - -28950 0 obj -<> -endobj - -28951 0 obj -<> -endobj - -28952 0 obj -<> -endobj - -28953 0 obj -<> -endobj - -28954 0 obj -<> -endobj - -28955 0 obj -<> -endobj - -28956 0 obj -<> -endobj - -28957 0 obj -<> -endobj - -28958 0 obj -<> -endobj - -28959 0 obj -<> -endobj - -28960 0 obj -<> -endobj - -28961 0 obj -<> -endobj - -28962 0 obj -<> -endobj - -28963 0 obj -<> -endobj - -28964 0 obj -<> -endobj - -28965 0 obj -<> -endobj - -28966 0 obj -<> -endobj - -28967 0 obj -<> -endobj - -28968 0 obj -<> -endobj - -28969 0 obj -<> -endobj - -28970 0 obj -<> -endobj - -28971 0 obj -<> -endobj - -28972 0 obj -<> -endobj - -28973 0 obj -<> -endobj - -28974 0 obj -<> -endobj - -28975 0 obj -<> -endobj - -28976 0 obj -<> -endobj - -28977 0 obj -<> -endobj - -28978 0 obj -<> -endobj - -28979 0 obj -<> -endobj - -28980 0 obj -<> -endobj - -28981 0 obj -<> -endobj - -28982 0 obj -<> -endobj - -28983 0 obj -<> -endobj - -28984 0 obj -<> -endobj - -28985 0 obj -<> -endobj - -28986 0 obj -<> -endobj - -28987 0 obj -<> -endobj - -28988 0 obj -<> -endobj - -28989 0 obj -<> -endobj - -28990 0 obj -<> -endobj - -28991 0 obj -<> -endobj - -28992 0 obj -<> -endobj - -28993 0 obj -<> -endobj - -28994 0 obj -<> -endobj - -28995 0 obj -<> -endobj - -28996 0 obj -<> -endobj - -28997 0 obj -<> -endobj - -28998 0 obj -<> -endobj - -28999 0 obj -<> -endobj - -29000 0 obj -<> -endobj - -29001 0 obj -<> -endobj - -29002 0 obj -<> -endobj - -29003 0 obj -<> -endobj - -29004 0 obj -<> -endobj - -29005 0 obj -<> -endobj - -29006 0 obj -<> -endobj - -29007 0 obj -<> -endobj - -29008 0 obj -<> -endobj - -29009 0 obj -<> -endobj - -29010 0 obj -<> -endobj - -29011 0 obj -<> -endobj - -29012 0 obj -<> -endobj - -29013 0 obj -<> -endobj - -29014 0 obj -<> -endobj - -29015 0 obj -<> -endobj - -29016 0 obj -<> -endobj - -29017 0 obj -<> -endobj - -29018 0 obj -<> -endobj - -29019 0 obj -<> -endobj - -29020 0 obj -<> -endobj - -29021 0 obj -<> -endobj - -29022 0 obj -<> -endobj - -29023 0 obj -<> -endobj - -29024 0 obj -<> -endobj - -29025 0 obj -<> -endobj - -29026 0 obj -<> -endobj - -29027 0 obj -<> -endobj - -29028 0 obj -<> -endobj - -29029 0 obj -<> -endobj - -29030 0 obj -<> -endobj - -29031 0 obj -<> -endobj - -29032 0 obj -<> -endobj - -29033 0 obj -<> -endobj - -29034 0 obj -<> -endobj - -29035 0 obj -<> -endobj - -29036 0 obj -<> -endobj - -29037 0 obj -<> -endobj - -29038 0 obj -<> -endobj - -29039 0 obj -<> -endobj - -29040 0 obj -<> -endobj - -29041 0 obj -<> -endobj - -29042 0 obj -<> -endobj - -29043 0 obj -<> -endobj - -29044 0 obj -<> -endobj - -29045 0 obj -<> -endobj - -29046 0 obj -<> -endobj - -29047 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29048 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29049 0 obj -<> -endobj - -29050 0 obj -<> -endobj - -29051 0 obj -<> -endobj - -29052 0 obj -<> -endobj - -29053 0 obj -<> -endobj - -29054 0 obj -<> -endobj - -29055 0 obj -<> -endobj - -29056 0 obj -<> -endobj - -29057 0 obj -<> -endobj - -29058 0 obj -<> -endobj - -29059 0 obj -<> -endobj - -29060 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29061 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29062 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29063 0 obj -<> -stream -HWk۶_Z`W+>MrS@o) Lؖ$"3"%q`#px8_~7a7BǢ ôPq&wT߹Tޯ,"SEzV*};HN3i$a~6;X%I'D_pbB.( `| ʔrJSHG(,!|2,]_<ŀ%S/SSSSSS2SO}ʨO=)>gS13O}Ψ=9>S_0 O}/<%ԗzϳ1-vd\K1d),ƵCbS Xk),FZɸbb{k),ƵCsd\K1d1=JƵZ!QV2k%Zq-ŐŨ\+R Yzϵq-vb\K1d),ƵCbS Xk),FZŸbb{Uk),ƵCsb\K1d1=*ƵZ!QV1kZq-ŐŨ\R Yzϵq-vf\K1d),ƵCbS Xk),FZ͸bb{Ռk),ƵCsf\K1d1=jƵZ!QV3k5Zq-ŐŨ\R Yzϵq-vAʸbS Xk),_=Ő/,uf ^U}%P:ɄC2,+ju??E4tRG 0Ly~ɣaUkS3vO ӓOTU%~̾(*?Yv{;֣Ѷa]N, pĉ<-2~LNA]? m _ABRPE:qg̭kla?qʞ+hA!yat/ϦN5=lt "}x_0w0=K駗COL"IϢv[\+m-餔ܩO==Ӱ:`mqԫ^KN8ע5$p]" &vJԜ5m2Nz"P㚘 a*Y\2;?]v<Ҧ/MZS= UQ RMy?\K]qߘ -y"[XYN|Q2h06łM}W4ĭ}>xJp Qm҆w|{sA]c=Ԗ*r wM>5]nnxi틌OɐrW¾㯲hsgmXdѮa\sr)b ]'s&4RGLVȳ(&{n *-':gCI -2ݮOԪ5{>8M$8W4V1" O@Xhv=զq?=0O -Iqk[/z· 4)<>wxms+:v'LT4l},%v}ni]8ODڽ+Udڥ4V.i)?R]2'}zjvL|k/l$cߎ?ۺRңgiL lV^uJ0ۚ;%|"i=Lx%t9W w$)' 2 -bohP-Z- _Lce$X`t˧+tk]R!t}6" ),Z9'x+ -?+HrvE&dv@Zku!9dYԐgΜ5(/oyQ#TPgKShibKk3%1- c,6ރ%26nnowMdjάToiIowx%qJ !`̗j6nr01ѐ@=~t"z/FO:Ơ]Y(d0S/孛)?m;r160ZkA,S+t{ĽB.=AI[ Ǡ['IԘ $aKWB ؇&dOgTr肺y,*aO*˱Qet5̲l;GeԖ':"`'K4lį|>jWRnr{#>AIn각_ӽh_ob8N[2w1v $*N҄՟n΄`şw`0M)SYGⴭOR!pqoM[Y*o}JƩbKY?.Xbˇ`,NDlC:T9ݿ3 "יL}rlX1*[W;*- =N\C`uSř^jTIwew^` bInbpf{n3ИU}|YhjE_Vom.xL`v? *SZ$CeմO*09 ތ  r6BMK|!RI]3Lon>z )/ˉ&@d XJWsO#FB!H][CYA.DXFimez\uwiáqշ78_OdJMӚcGS EюQW/!Zն<+4~G,h@קx7zWi1&$!y -(,u@'Pүrb -5g9ְj/Ԁ\n9E_bmUwGk5 Vg }Gk| z)wڙg.g6,\|xś 04endstream -endobj - -29064 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29065 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29066 0 obj -<> -endobj - -29067 0 obj -<> -endobj - -29068 0 obj -<> -endobj - -29069 0 obj -<> -endobj - -29070 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29071 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29072 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29073 0 obj -<> -stream -HooKEW$ /A5A>'$8p]3S}p~>=_QZ}o^OMVu'U1:I_&jit8Ou:LWd/ӫt3?2j~8:q^>,1clVŏݫ˿X/vow?(/dkx}@4t돏0=a&)&.{sėn٪?T~޼Ꝛ2zH{rOSɜɄ1Dc⏣1 n OcHYAeꭠ2 ԃz'wL; =SzA}`ꃠ>0QP(L}G> SςgA=LKc -Bq4Z+WOci )4V(A=s\Kc3Z4Z+ -B kZCJp-JP\kX̵Vp-!% -%gkiPzZ+ƎBq4Z+WOci )4V(A=s-B kAp-!% -%g4V(A=s-1X̵ -%g4Z+X̵ Ǝ\Kci )4V( -RkiPzZ' -%guki )4V(A=s\Kc3:4Z+ B kZCJp-JP\X̵Np-'/ -RkiP\=J:!0iNVs)˛j7]N{?%yv*|:;Npw}{afIQ7{t?ݤgrJ_ >?c'̽Mןϼx)gJ!9R-1HcuyFeNE TTNfTFEFy H)c8ePxgxF%NQXZNeJF̩ -SQS*@!@(c3L]1e( R0 -4 Tr'!J%Ny TT -AS6`CdTҴB xRʚW(;ZX@{,=e{*sD(;Je{`$4=8g(YR T"`X!xF%NEKsvʔJh);\;=QN;V!#O;V!ӔJBFz{g3qq-Ϫ)q0wXOi˨#wT۵:HYJ̩uzruj]n ZY{v߁j]Z')Cv*vz)ͨ$r" PR3P_<8Pͫ=e93S#e)N;PmwTsHYJ5W Ts_OUTsrG5T:v҉RnD;Hir^wǁjUVjU)˩wT#e(պ@S~`պHiRcTպ@.SWdv*)=0Dzʰܯ*;Q)ܯɭ"ܯj'ő$s鴧 \"XO#e(S 4};wҴB& -j_"վXzʲ -9?qzvgڽNʹ\nҳYfyǤ|NnZ3@P>]yg֨73@lq;}|Oy39w\|<]tqx|Hf|YG(mdNJFex utZ-n"P{TaBV*T%q7=(\M+YW:4'vJue%E7\2l~Jq]gX&hȉ V3FNfT5;*EǨ\}Q'J}:E}:}m0Pܳ$\ -_lk_o9BC[E.Zq^ܮi~Yx2R19$ {tLXzr_߼wߙ\gjz<=5ٵŔX|Cc=˽x33[nI\:n{޷Ocg`^Ew<.ۀ}Vq&e'r]q-g볿E~9@}?#8 tIt/+bqEɾ->TJYJɝޮ[i_zzu?>EB8C/W8>0ڔpեnCO ^Ϻ[gw.\3\V{ڲ -99šc!yNqosrm˰3˩++gdgkq-8 -.-rNǓإ='J)FcOrx9qz".s9n4A]{pе=@۵v+׎.vK;-~i ]/n EH([v(T5a]]۽9W~uR^mmP=B^T1$ òMxCf(ɒ&I_ m7ݓH  (H/Vߖg[m~DmnKmA?+*4s>rDW\I4!R3Aq'Yѽy(cPGPMv3pVih>f*k-fY~甈2@ cRNGY!ev=mvpCc)! +Ԛ -Pb8EIeZ4Vh,4?$jCpK I $hnY!oIVwiy%7f<.=>m Խ0$3Rt#΀ʂ`QE "|wCY:W8`gt}]ǽj<5^zm";om/k+,ZO\`vL9,^\b[A",1zt[%rIFwiȋ92fòI8 ZA%<+;> MCdY 4.dMԋ[U=J遝n-<se ޶HeԖ 2oF #uŞ ),5C\1]Ā^2blI{vʲEG.ն\mV84ƳA44PDQz-W7Xs^7)f7 RG4|ACI. @_/ȋE^Dh1Ei$rVb'j9<.eɫ_rk}\ -|hc1k"[EnzsHF+- Sh c̯aE8ZC,@Z*65K[TTlάi5":.1'@NL~1ZFIx@'[$>HWdZ¤4u4)Y\\ QRڟIST*#L]3Q3d ]Gh!iJi۫w $ةfU-F“j]ⲓpYFjPs/E -ZNO<?#ڂc:?5~4ʼnve(Q%7_5mʍTUc4e6lkOwhVuA=_n^c,+I_+N"AgzbLJdCȜh)T]yOX>Ɠouq{t@$r& ٭c[^xw8:endstream -endobj - -29074 0 obj -<>/P 1394 0 R/Type/Annot/A 29075 0 R/Subtype/Link/Rect[93.6044006 350.843994 333.447998 370.524994]/Border[0 0 0]/H/N>> -endobj - -29075 0 obj -<> -endobj - -29076 0 obj -<> -endobj - -29077 0 obj -<> -endobj - -29078 0 obj -<> -endobj - -29079 0 obj -<> -endobj - -29080 0 obj -<> -endobj - -29081 0 obj -<> -endobj - -29082 0 obj -<> -endobj - -29083 0 obj -<> -endobj - -29084 0 obj -<> -endobj - -29085 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29086 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29087 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -29088 0 obj -<> -stream -H4;0=+ %B0EBi:$@@YFgqy DG&Ŭa=Bk]vz_4uS$!1e6/3n'OA,endstream -endobj - -29089 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29090 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29091 0 obj -<> -endobj - -29092 0 obj -<> -endobj - -29093 0 obj -<> -endobj - -29094 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29095 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29096 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29097 0 obj -<> -stream -HWێ6}W9EiШӲ[zƓ*dM0,UE*ӟ~)O݇(S_e23ŌL&>$"m?ͱۧ}wԌ}[}L6݊2v0 O˴1Ӝl47oL]Ä4L̸G*_4nHo*gz-gܘt[C #&CoD1>o[z4)U$ lOI_9ɟIiBLc#@QtPBĨ(CBBC$^F%^F^E^E^E5^G5^G D D D3}Y>'`Gs}/Eľ `_FK}YA6I6!*fE6!*f}"TET+ Ն>D#JBPjCj%Ї(}ZI6PmC>R$TET+ Ն>@ }"GjCj%wJЇ}Ї}CT>PmC>R"TETՆ>@ }"GUjCj(BQHPmC>R"TE6!`V }"GUjC)фjCbPjCbQ1(BQHPmC>R&TE6!`V }"GՄjCՆ>D#jBQHPmЇ(}ZM6!`V } }ه>@ }ه>DKVN9[)yMnJE'<֩ӏY,Ͳ2ݞ͹aМ8=c[ۿcgM|QC",]Fq,qJH.ʯ~J(uESq*Gdgy,0#Y͛xe"W#0 լ96WG酁ͺI<}Ǧf3LW[EN`J>c|qc+WuVtvo&_J!=5n[`fnMR'S l~T 94Փ7ۇsg'yhуY쁕rwSq uAhFHO{T=+1C_rU StBѯP5jFxL`niEڠI{R! ۘ &m>@ǥ9">wry|ş`5g2 --PdnY /#uC[pZXt@\2,зSkgc~ n{gvطζKG+f0,E綞.`_ƹ@PY(Vkb~J2w ~2RpX ? AF?C` Ջ`@[z36Gwhǃ4)6z^n]ʠ 8'ţA(J`idd%Gy:n,] pmDz}o0.^(Z`(c;ڙJM$8I!t&ڗ ~pRk=k{ɚ窚?-/ \rg )cw^E}7Ӫ0U<'Ôy*G*㪯UL9-<]>>u }#тэ']`s.r]Ӽ.#i;IfMb2F ~4dѳp6y@yJصO\ik.͹~=ߗP<__ezqA.3H?BwOE#3t2Q򙶓Q7a= .IxxH3!Oi\d'$]N:.DMghTVnuE53g϶Kc]P߀|vfj>V5LA0B+DtQ3j@t}',\H<%rvhnLk]߀?⮙/GTIS\hZı>nu:8ɄY"^%I.p|$DAQ۷)cmU}%i+J̏r˟ P/NB9#@/ഴ"'ܫ&Xo瞿 Z$~۸0K<]D+< rww~BD]RŊdP/oM*t-ڊVҤEv !i]J}ދ~i"H܁xx?/x -Q{8V0"K; -gSk@wXnw~G(HE!WWVi֙Vk{Sst"˹h( $Zg?, +xKH泤\/ESJSM=JЈKhIpcGJArs-`B?dy YE>S<-'"'"HcS]2eѧ_m^=D,0*H?c{OMqz ɕaz`jѳi4XڿɐSs~c.Z+:96y&]y4JK?(KεE:BTUȵ^eFez@ϓ t.6vDHOhx},M㬚 ,w޿{{| uendstream -endobj - -29098 0 obj -<>/P 968 0 R/Type/Annot/A 29099 0 R/Subtype/Link/Rect[129.600006 498.829987 292.596985 518.51001]/Border[0 0 0]/H/N>> -endobj - -29099 0 obj -<> -endobj - -29100 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29101 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29102 0 obj -<> -endobj - -29103 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29104 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29105 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29106 0 obj -<> -stream -HWk_1Eh;/RÀ8] )0Zѫ"}>D{w ;3 ^O>|zDǦP*]Z.N:ojiuUrh/pvesTE?j}Gs)먀A*T5Us5E@SIlzb,WM\eYM瑆إ]~\lՃ2Z*>͝V+.mu&65*)8 #Q Y|8"ES XVPoz+L; Sz{AgA}'O S -S>ԧL}&ϘLP1>csA}/S_YfZ"+b),!CWO1dqZ!KPRkR YzZ+bRK1d YjZ!KPRkR XBj),A=KRK1d YjZKH-Ő%gBj),A=KRK]R Y\=ŀ%b),bRK1d YjZ!KPRR XBj),A=KRK1d YjZKH-Ő%guBj),A=KRK1` ,NH-Ő%guBj)Z!R Y\=ŐS XBj),A=KRK1d YjZKH-Ő%gBj),A=KRK1` ,^H-Ő%gBj),!C ,^H-vQ"b),!CWO1dqE\W5<Ͻ2j/NUة./U^_lg%qɵ }ZqQn{\ͧd:MtlWݢڷ^K52E=UOYp/|=Op6uS&$=a̎+ay^?>*OcȈ,m2⣺q׫4 =ཱུŴǍ[?"A L:6tlΧ}P_tQ0sYVi<2Omg}33W/þ-d}`nM,sj"&t!lAEƶMFv@@xY]=fQlOX|Mb;J'tN›m97ɓY)<yv\}ܗŶt@Qri] K/a!'2{\P5 b:IP3p>6vEt85}})wu{N>vRʎ|>+yC7R;?>{Dx{8 cBBZjp -HOaJPB_6O o0-VINld etˏp;F1 Fἇ2+;?o zG3hM;a9l==A0aa,iyNnd`̼ulwp -rW­pSעQ7pytNha;Uq JTXܙ~s)lI6&̠0i?~_.p0gu]h|ڋeV-]ۗq[ձ.~<4q"b q:Of ʦ >\'twtc+lX7DUz8UeٵY:pΣC֎GFpgaѹ^0wzywXo&=[(n'o.7U)u+ç9X=֫L5Zy̵+Hߤ^8qׇmWUrꍂWکuΝN,]Ar_SzQA|m7?;諮`G8lHQw8>&6Y6yl*ylk>) Xn\Y$0yYQN?A 4tZvJSEؕlM3lfY7w=?u.:&$| YbP˳Z^YDZP+aRVjBʄZ 2V+jV.YBUZP(,^b2B-jaP˲ZV|oS YB-{+bj1[CP -ZV=Ő%b),|O1d {!עS YB-{'bj1;CP ZN=Ő%bw),|O1d {!K|S YB-{/b(,CP Z^=Ő%b),|O1d {!K|S YB-{/bj1{CP>|O1dZ{!뿄KoFFD=hQ vEhe8jއڕo϶g@k_'n1QmV8^O~4dRH\/{sk!*, -bU+f]rq -"AԧoGdR>R=ޔu-6~w˙w͵ E_6^41^{>xxiuulu֯Sewt>mmovdcben=/g’8 z>f}_//Ͻ?xy\|{usr,R%A:"ޗrTKPܖ}q2UiJ )JVXJ+X)c+eL`e r3V.r*VX*K ,XZ`i5r38XJ`)RK1V$"Ɗ}$ΜZc 38XB̩%N1{:sjS%ΜZc 38XB̩%NQV,ΜZc 38XB̩%N1{:sjS%ΜZc 38XB̩%N1{:sjS%ΜZc 38EY{:sjS%ΜZc 38XB̩%N1{:sjS%ΜZc 38XB̩%N1{:sjS%ΜZeB̩%N1{:sj9MZغeя P8(N,7/۩6^'wnUBVip0˞z -߬j&y8 Uz$<vƛ(Ђ(ѩ(in۠āN5a~_5wڼ75ëS3ެP{9h5j̷C X}=]&pN^N9D+8PMa ->‚fz2iC$fnM9en8U;\}i/$nZ4ͺWK|(FƬ㛌Z -oyAQ=owNsi:WڍpPI=@GbMtxc,Is~_xrAvqamqUW٪'Ǵn3ogUP?M,}5!\M;>|_'endstream -endobj - -29107 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29108 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29109 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29110 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29111 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29112 0 obj -<> -stream -HWn8}WQlW]&םK6I/ M[v+薼j9VI, &,"u{._=<{'R6Qk+\nT,5ӢEtG/sݷ]}ފ._=D%67QHQbLbs7նF]h'"g6D2FYi40TgOeI1rICݔ{nCteעL5yџo" (2|Dxa>_)ET4"Q}&*! %M@(,BծT(bҌz׌z7z7z7zzzwzwzwzOi>eԧQ3F}Y>gQ F}/gcZ"͸b -S Xk)P=ŐR Yq-ŐŨ\R Xk),F}Z͸bbՌk),ƵC>pf\K1d1jƵZ!QV3k5Z"øb -S Xk)P=ŐR Yq-ŐŨ\kR Xk),F}Zøbb5k),ƵC>pa\K1d1ƵZ!Q0k Z"˸b -S Xk)P=ŐR Yq-ŐŨ\kR Xk),F}Z˸bbk),ƵC>pe\K1d1ZƵZ!Q2k-Z"Ǹb -S Xk)P=ŐŽsl-RpY*JEW_( -+$hnѓMth&40IqJCMݟm>E7L~ybWX}4dAT$ݷu#j魲s<b8uS?d"7Ӯ]N+5FAz -_5WR:[xxh5vN!.pn%Xt::hs۬oһvmK"']"ǽ?V({Qtz\L\= +p rloڹNlFc"\XnD byl1ZTA=";P9;ä ~Y9(J,1 !|ZV}b"&4#fI^R_yp&-ED - ϝ0 N6xh-0xoI:8Iz &3" cbF1:9c{iWC=4kmu>u |vKr %*bNmR8vues[XT(xa -^_]܊(U/nZx%Ɠjph(XMրY^wB?|}qG:e_{c}5}L(ʀS֢ko}E6q_F.Sʷ]S1B+E2<׶mq8'r:Y?V]=_ FTsXL$x@k+{ošP -3kjwJE%*cVaǤB=6^exdB0("|d╦[qmOgQ'Q/PdNfRf!4ZOg $.ohctel. }Ȭ^= ᥍ /ZUy,m3\vuSzju'9-uykJ05tpq-bLtqp}{߼?Vѷ-PUOcۇtO/iϓ 7&,i-uJnƷst+ L}x#8khA1OjlyǫtU gglvWZzS;pa;{:xl`?3H^ꚫ -r#m%mcMP8w=@K5F_c-OVL.6wpҶ=/dÛqk xUn7؜2^'au;Ώ0e^GdCԱƻsg[tcw~@z].HMg17~>L=|5}=U07nRNY 9{3L*x{X7ʷ]ְKxo{9.vl'EPUZi6[:蔎W$"sx>x~Jܥ,ISWC{ƈpW&~2r+WDO|pB+Ua \c-!c6q^5m@_c.a@ɡ3O{h/1f߷H Ċa[EX^#C#%P!7IO&r*@P_ďƒY=d8zWv^`.nQ z|U8唯=Vbt+98rgԔ1񮪠(J:&+Sn7DY/rhg.H7.^[o}}t9ƭ|QACYu09w>Y~wg,?F q`e8=}_%w",X1a(R%(skH+ɮS@mj~N'%w +0:FO,RH\G^8"g F\a2:ʌ|~AJETou_~` GH yZi]X1>,}Ks"%*=qw>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29114 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29115 0 obj -<> -endobj - -29116 0 obj -<> -endobj - -29117 0 obj -<> -endobj - -29118 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29119 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29120 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29121 0 obj -<> -stream -HWko۸_*K}.Zlhb+Zds%?h4>>9"ŗrۋ_~;_}mHX:6qD*?:J}$E-ժmjuSz.utە]. -y]H"pSdI.&Y9Iec9gz^-+egߊ{te,7} "J )^HJ< -; %b!"XYHl"*rr\q#(ŀ%e",âڥ S XQQQQQQoQoQoQoQo)> ԧ4P1@}ƨ> pb\K1d1*Ƶk"͸b -S Xk)P=ŐR Yq-ŐŨ\R Xk),F}Z͸bbՌk),ƵC>pf\K1d1jƵZ!QV3k5Z5a\K1d),ƵCVb -S Xk),F}Zøbb5k),ƵC>pa\K1d1ƵZ!Q0k Zq-ŐŨ\kR Yq-Ś2BZ!+TO1d]3"GἉE!o^%q(B&C0NE:Q4JRgߊQBi;\&EWۦ^WcrnHyQ9䅻UCo~UΊǯq3s2zvժ^<[,:1S7ow4:p[]㈣R.NK{%ɏK0g벩U#3gS.6N]S{Ơo_XC7/O[Yr$QLu=nU]=tܞI>{7Mo+# 5ZZJROK|WzfVY ?Uˌ85~OX'.Vyjj/Iey/b{j glڞ:7qGR|oP8cClПͶ:t:k=LA|h#Q0~iT g(_Ÿw_skzk{gCٟo|CZc`]qg2WM'5MQ_wb>c/o2Űn:}|/zdvygk봶t&^`*JWkw -aُrx_ZVײ0qn!n\SÈYliS>\V,#~3 c$tu 04sgq夋d ?@| -&\MbStZq) VBN?0(񫡓ٖn+;X.KwUZ=,0Y>> }aD:S~7HK$WU3Þ)K~rntF_?'pbp3DϤ ۀH=^ݷ[9˚tqKlW. Gpش>N ]t#\n`3 v<1G"1L?IުcxLB -6G{ -qaܬ'/}9`[&lS8h.x=K?茶rS@e-?ϾnH/CጁaP./qSMC iz HjsCcXA.2A.2A.A.AɕR&Wʘ\Y+creAɕr&WrL.rL.Gs$E1d(,A.A.RA. -^1}O1d1WLS YLC+{=Ő -^1}O1d1WLS YLC+{=Ő\AkGy Q_J.&[ۻX!US!˘u{gL\KJXoގo@.w{ d)^jY{@.w{ d)^jY{t@.{ d)=^jY{@.{ d)=^jY{@>K]:KjK]:+Ntn:M MQ8!8Xnf8oj_\kt3Gͥ}&PHU[a^… s4_ ?{JVN7=M-M<ФQF]|콻MnW4b|J†41ѳLͶ\sZ'0ImzRSnl z-kfjrEwd_$/2(+Eٸ7ԫmmN[)_l%K}An%6O/⽍ -p+VIA\(#d(>BwMEL$):\)*}lMzײgcum7|}K-b]blŅƇ´ttތ0M<)%endstream -endobj - -29122 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29123 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29124 0 obj -<> -endobj - -29125 0 obj -<> -endobj - -29126 0 obj -<> -endobj - -29127 0 obj -<> -endobj - -29128 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29129 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29130 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29131 0 obj -<> -stream -HW]o}BnvM6$ME vm1HUf!-ޫΜ93gȹ{ݩ/>z/U@P -7Nř ĆQ2 RV ->uWmnuV 7F=typ5_j~0HrJL&b)M8#fv]=4Eݩ֤I6{*6r{eKiyb sxШґwK*m O'@\yL99䄣#HCbҚX`QZs so{[e1NpXp3>fc}'O s -S>ܧ}*OLp1>cs}{Y-b{KH-ŐS Y=ŀ%bܳ!CR Y{Z#bܳ!Z!KpRkR Y{Z#bRK1d YjZ!KpRkRlX!CwO1` {!R Y{Z+bܳZ!Z!KpRkR Y{Z+bRK1d YjZ!KpRkR XBj),=KRK1d YjZ'b),!CwO1dqZ!KpRR Y{Z'bRK1d YjZ!KpRR XBj),=KRK1d YjZKH-Ő%guBj),=KRKu {KH-ŐS Y}yTNur\Zi5rOPa4 -ٿ/ߎ?:4*?VU]YW=Ńg^Lz&T07Hݦl,q{xDŗVgf>+:Nݷ[їٕOT3&qOz>]SУ)jԮUzx,})uJuWcmfo|~=.ՏmDR zEQzr}ng?()@l(|௯A2^;uPt%bG[7A! ,-ǴV,hL+bZ JiVʴRA+eZ1LʘV.hL+re"E1dq-K ZiiAK3-#he-VF{!Kbuo-VF{!Kbuo-VF{!Kbuo-VF{!Kbuoŀ%=Ő%hBS Y{+=O)i uO1d ZP;n,%=Ő%hBSxnPC -uOtʢZN{!kQ O{'=)hwBS χ{'=|(hwBS O~{'='hwBS t{'=L'hwBS Ok{'=Ƶ(,E1< ZciM5p RO߫T:˒^qZ~7~W5eǞۃ*Ԧ^lV6;g/߻b6՟eh{] .ڥ!f`$G\qOglwH8|F6>qjeykmҔ/{¡-d<}ɪtyY!qq}]eաMS"3vߵ_Mxg4%1g,(94qF o [e?i[$JR2Bؘfo#uadR}}㔢:i< 4O'=*PKm&aq& -E Ć)֛\]6WTf?tjU̓T 9Lu(+>1YV"~%Y+^s#(ؤlX*Tuݦ4+lidٸ}=#4]W C؀Lkf8Lb7Jy*3a@oR*c/ ;:\bY7X;7 5)ʦUﵣaFC^\znêZS@9L+O.ཅ8AnWc%Kvv:qd#+>(}j9M+gtbNIUc0dU5NswBF\Z|m;Ru{iDJ5xN75DCv@tM{[}6xego-e,s -#p~6NvԘKRje-0u ~8>Nj'ϕAy iOr[}HNgM' sC>[ZCnomUգdհj]`sE+G4ml|kwA߳85ifAsn.]C*g;+~X9 _<~Xc~44S{ҧW)t_pͯ*tҧLvwÇo c ==f%f2 jv+g]%_1;;Tڲq S !s }huu_ƫdmS5]?x( s -e"žꚢבP_0(VPՓ8N JSIʀa"|97#_8ȣ0(Lo P|^Ѫ^ 4ܶ؈0!ݗ@;?/ (s -FՆ}rn# 3=Xf zE -b⮹Qmd2DKÄt7qaV`-8HEeZa:F>I Owϟ endstream -endobj - -29132 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29133 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29134 0 obj -<> -endobj - -29135 0 obj -<> -endobj - -29136 0 obj -<> -endobj - -29137 0 obj -<> -endobj - -29138 0 obj -<> -endobj - -29139 0 obj -<> -endobj - -29140 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29141 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29142 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29143 0 obj -<> -stream -HW]6}ׯУH8Pnw -)/b[+%$ǝW$)TCCKᄏݏ1DfRIX*,U,qWE&Hu^ˡZimWwqWG?>an'xE\qx{6~Yz/Ϳc߼ ݾyf,g2 ͡<Ugj$kq&ww)&k,x ~?xGJL`\ -8F"9E)<* p>,!B!+!Xv!B>,IzIzEWzEWzEWzMׁzMׁPB}OI>%ԧP3B}Y>#gPsB}/E i}Iµ>Pp!+Tc -k%ZC>p$\c"\c"k} Ypp!PV1dJµ>,µ>,B}ZIǐE\+ )Rk} YzZCVǐ1`1d*µ>,B}ZEǀEǐE\kZZC>p"\c"Uk} Xk} Yp!PVS B>,µ>P!+Tc"\c"Մk} Ypp!PV1djµ>,µ>,B}ZMǐE\ k5ZC>p&\c(!\c -B>P}1n[x >`iE=E??z~j׊\5u*wSݔGs_}wC9fFNPyn>nvbkY&Ur7՟dfmlew#~$S$SbiϮ Kt*P+Oél3<^ 3+`R<ϝr1߇P~n=0N(yl2ơwcծT+m5gv;a)$MKciLJTI~wD=)M:XRj6JXn-h><Ϧ,d"P\,tʵv21nưoX G,q !!uGqwyljl?kk/Y7?i& ˹tSQOy" ֞1#_=L$ZD`H3.~Ӟjv:ZD!ڦڛNusxCgέ2`34`x38..}ww0ᆙ|"cr9ew$voS~5)|]KSJѮ]=T5EXײLDZ@|xX |w|Z|dbƥ+OI.TRnajx,r9aU?NDtc>IQz HSχXOԁSl?;De1P5c*c.{I1Yd),g;q~.$3+L3>G᠙fY.]p\$ϴ+dr/ɴɛۮfG˔ZחIƊc-}Ь*246@=FӚS;{ StńOYU2!VS Y4:KAqH\z=<-mۅ>+(D226U 05RHץ:wWK 2iI13y$sôM{OĤb-K+͊ a=˳t%Zd_s3 Deq -ԑ\d:~u+W [2(sP4LJ 6mO q?ۈ<ֆ(Rc]QgK,sΞ5Ge<j#S2%v~xeT^+=v:M7h,'͔߲u8ɝ7mp'湻`v'%ބ~zJ&l겺>myHHI^J77m>VsIfL}ŝZJra=wө;/,kθW1 -xUǮ -⮒5S -Ps9wcֻ!|%k?@~ V]C(@pv%r3K$pg0!s/ *f[O^kN&K5<[S'X#-_A-̣t6}vͰWσ9K3G,'ӰF_,x_°}ysۍ`EˠpqZ*s(ژ3Ͼ;'v޵6p݆o9Pǣi sY,˜Ma޵!޶m(_GK$حXd[:Vfqw.IQ,9y%]~{N~(c]v\HtƔJILeѹi v\=TYko;?b#h~G:-OS9S\6F*NIzִa -ZK@Vך#_ Q 3:ڔ؅ݹ ȇWNXs*^VNf2>T?{̡>*fXniV)'RTΰ8Hec -NU65ئ{)TgyG8|eD62A ]>N̐0ƪNcboLe"A{[ -zMАo˞eHuuJ2BWQ&G/#G|OeƉdL4qrrRP K#cLO/5:mF;F~YbHeam=6ä*rR o•ۡ7i‹raS(S4 -IdPTc57C*xsCfA+óQ a-LA13b&ѮS==;;qqtrgP_cI @?5vХ=+ա9>AiIM&5ؠ<4Nd6U~(YP`f"Y#}dm9O OT\:UXBH~hΞHjeWuxk7b$W3`=ޙ4}Z>9ϬNY={4ʹD_M&ڛVAwٛuUP._o>0()baqGsx4a~? N|6tH .n?OX. v -gF'a -DܮZUã' -oOO|hS}?[_z;ؿ`Qv L3c%u[Ou|FgcZ4nHN|@PZRXx}?]rQh5Ѿ[JA9?/ E8DnEd͗}H W>- H.u(:Ghy*9iuԴmuWW=hw2rɇsM5Xvx2שOڧjSSphDn9`_6m?;!2\lh~i1ZƜ ʂ6/4f 'ȷ{Z%'N۬ BS.<+߫r*j;-U\[ `Er-[aY"~*5S*ͺ+kOK7'|geydz6_⇅sɞoy5toy S9IH 2I/>~_7`jendstream -endobj - -29144 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29145 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29146 0 obj -<> -endobj - -29147 0 obj -<> -endobj - -29148 0 obj -<> -endobj - -29149 0 obj -<> -endobj - -29150 0 obj -<> -endobj - -29151 0 obj -<> -endobj - -29152 0 obj -<> -endobj - -29153 0 obj -<> -endobj - -29154 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29155 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29156 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29157 0 obj -<> -stream -HWks6_IHƋt;u[[^X,ziH6:㙊O >?ut/q"5r%z1>;ѯ=2)0]` ?wMg6slȱ#Hp9Kʐ0ϊ .e(cRzWzׄzׄzׄz7z7z q>&ǁPB}OI>%ԧPSB}Y>#gzKzK<+ bl)µP=ƀEcǘg1,µ,B}ZEcE\b Xk1Yp-p"\1`Řg*µ,B}ZEcHŘg1,µP=<+T1`Řgjµ,B}ZMc"\1"Մk1Yp-ƀEcE\ b̳k5Zp-p!\1"5k1,µ,B}ZCcE\kb Xk1Yp-Č< UTqrc5AFĠ8gW?YYPA@A:3ٜJ#þj~bEy&c_,m`{&??I jɌ~+~i|'ca֍9f3A -sT&@i:'}lq|4$#͙HzѮ;z؄5>c+NX d+vvㆷ*YtƨG@T3Cv2p%Š ^| zAqEfM˯6h]2M(}t4G@Gn;Wqg[8?vul:A[69^6 yR}T{m UtydͲmJg ŵ7~d#Oكʦ{7`kHc6Z?"ztW|3W݂7ʼnM_&DrkqRl|Ÿ+5JJ'>'ԕV)M1xηg_K,Zo mJgizC~CN&%3e8s[ܮ?An->!]9n_[v{ܾ*RT_>fͲ0$ŹrFP}7Y=m|u"Lٔ"ϖ\lƽN3uMm|.0KF̟t]lpD)qIWgQQ1M2o]^xZL7M.!sRΙ- -{lVu"g컖* $N2AWEyY7mYif{8+3%;t6H}Bި>lF!=l'7zz$ -DN_C?T.Pp_>͊"ا8)բoYvn,8*QL -f,xAQ d0r*$lJ}?}S+력oþJ]L>| <Lz(QdD،"r\xK' N(% -|߂ -+Rn:MDXrHO9 ~ΆT׃p8o$,o\s߂xOɏ =lx(>C4& #*Z!1ИV4CLp }0E|Fi޹ܧY"n$uPVp9޶$zf/KəS210xă9@@T,L"=Wݤ$eHQU]^6{CS5QkBjE8_߬>ՇˋhrrDu:tJ3P|QOĻd}W"z'z?CK&6[ 'z4sjA8N~ -9U4 -:p)_|E`>W@&B?E $LHİ{<47M$X!AG=,*ChuQp4ͪEl`O;t/uf3tMVx_v۝}|?Ú0RԢ/kt_׎'"}WGS—?u-<0Dئ|g @ ALH\6ˁ<g7-#?DoŠ^/~u;a7g6tʚxDDfH"ˈC -0bew+*kZZۘclKmL #Ep304w+%nY<5%qQJ٢̱Lֹ>40{gdWcR)|Q9d"e #wu;[7!:lg"GuE}s&'ʄ̽Ïc,'bVeB##/, re'g/Km٘J^P3NؓY+ & V<¸l$eq&x; -cӝ sT} J+@30 -HиrT 5xZ.2#84J;W ;;7VU#lnWzlƒ^ں[ -R+U}84e*4<`_էj2KfR0T Cӻ4=Ý}EThd`!h㐧P RP^Sj_viCNaⶾ6L(RM[tEi)p`DN3CD \E8Ѓ1zU=xp|g.J9经w8eb=5 a|Boa Jbiu xjɟN/K V]풍'e.D@99 ь.7*G~iݝA_nŦ\xF2 IIQ[\a;v^'!kj5lo -OweRIC*l1$߷zXɛ':!ķ<$?Tln0~yw"p7௓CMB -Q ,&FJcA@'WXzR9;:4a ~(5.!Xɍlg@c6]}c5l7ɧ_ K0t]ҁ8pyEG- "IT3R5X#^Q fX:wq3YM! /ogMop/5K!AE!W8z,^Vc`{ZVN-;0ýs(/lY ˮ}*n?!h3jPtPo1sGTrz`jmB3 qnhIu0F9<(qNbc'_mgFb -W_F[ֺcHbB;j9iM}] B" Ɍo@@\F}E@0(2>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29159 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29160 0 obj -<> -endobj - -29161 0 obj -<> -endobj - -29162 0 obj -<> -endobj - -29163 0 obj -<> -endobj - -29164 0 obj -<> -endobj - -29165 0 obj -<> -endobj - -29166 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29167 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29168 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29169 0 obj -<> -stream -HWk۸.$b4&[dhLhlΌYJ8$%K"' CKEۓ| _~yyg$e9\ p&*NZQL"FJ]UїyS5m}[nH[F8gr>q6a$1Igd>/\<*^͉,7;UJɑ>7ǘlIr#řy<]Ut!'8, +ǀX0RX(ǀ ԧ4P"@}> 8Z3P qV +TcB\c\a!rĵ>,ĵ>fXq>p-G\cB\c\a!rĵ>,ĵ>fXq>p-G\cH 1 -a}̰B>,ĵ>fXq>p@\cB\c\+a! -ĵ>,ĵ>fXq>p@\cB\c\+a! -ĵ>$Z3P qV +TcB\c\+a!Jĵ>,ĵ>fXq>pD\cB\c\+a!Jĵ>,ĵ>fXq>pD\cH!1 -a}̰B9\͚]l]'NYF,8<&$IrEV#Oj^lܵξoڋ7eT)O}uk׹H*zk.n}͗ۦ^O!Pd< -r/֟9UR'xݾ*{Q(_bs_V'y,VKse=.ؖ>- лtˋac /41&@fJ`&g!՘FBEzi%hccM[{mnϛao0] zGGpo;MryZ"M$"țit{2{tkƝV1[_ͥ:ͽjZQ49_`&Le'*]#{*`1Mq5WnkL06:=.xam[^BS1 -iC[wFz-jB t,ϟrt$Mƒ1*lW~ Se8K;$\1YPʾf5 ~,mN%.ͯmGbc㋭OrNy>XC"-gvN %kjvXqDZ<6Sb PL $4bZ+^3*AT>wR-s= s)Dz/ٛ&L~=MJ,gǩN2*LNU$5 *a}3kq*4"suP#&txw/Jz ~>Pu=}Bur6+>:/b_Sp/͡'pfe.s(s7=([RTS󮷤w%; cfp,ɼ(+{ -b@M]sh!ަ0V _4-`׷VGU|q-p&B%4܉x-pu;4cs.\*|K!;k;ٺ!o5 +HqRNٲs,*gTA2} -Tnߘ*G:};aZ#+81R?DhE됊!P߳X2v kS?j]|뺱ҌfuضnnHq3ݨIFv|BKt}'My0/@bf2E7K*1JFy{dvEIdƂ0df;@REW6g)N,Y4cNK^'prkW)D28>Zp=7[:^1}˟e3pMY:!?к/{]w#ǎanry6.Boe%O:}X@8O˝;ޠvgh]j3sǵtm_[v%n9=26zl&_1,05,ٲv(v/GqAL:GQeřdF$"unj]ܮk\TyY/ T*BhnжL76Fi3l/-0ۧCi~bbѾ -E <ᐨ(W=P ϯ W<*w<߹3`x6õJ9٠fS#Z 2VK(7Sғ3GTcу>p~ǿojSdxzmMP(e(e@}6lxW pN>~`ltҡ~oƈd/ۍ%yߜġ6I+=Ou wF3͏O 7~>Leu[[Y:ޏ@:%0#Q.3=HM&ɥJ$hZ?_@$O7?*ɡ놫Mc'~ѤJQN,G>jw岊H]nkςͫŖ48sYw~6$Tu*crjoLL3ضV[O{w+Mu'\@S*{Z;*W\$85+56-uxɻ̉ۼ|Ⱍ_ 4hL8@[AZ6[C6RdGڰPtmoθg\R1g 2խ~{6x R!Z2ٗ@!o^ ̳p{?L~9JoQ6*% !Y^zxw7nSuX<1n-"(LF+mR?]mHUZzE2U)!mI+`J@Ăsx2|+Ѝg͉݀rdǶKD=c ۫烈(4=H*DwC7(ujt&jJÉ4~QG[\|ip7 ٥yxQgEUiH8DY:ɯ_&'^X],NEEU:0"VDž3%hVjQ@mOsei*48/[8nR9ښv1ewǚ5tQS qvAMqc94Sekv#LCU0yɤ9'Cv3ZР9轲J$) 6}c0 Ԫ -#m:g3sah@?K7Q6dV``/q`kտSŮ>Ln(QX݈ 11GN$ -Y9&`%o% )"<: M(%^Wڍ r~x(/? #oG#9Fx_ao.K+j{f-Zz7ZˍURUUn D뷸m$=8>o&p!E&*BEfU\`I55 :fI8(ɹ^}9vC[wZr]rj?fH'an\ThyW{8'[uېH428eC@bqGݍ|[.褩=rD ۑ dhܖ_ Y䐊t %,"^9yu0 =2Pxgdۗ?`EJendstream -endobj - -29170 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29171 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29172 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29173 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29174 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29175 0 obj -<> -stream -HWkobDyc`A(j`M.uPUܸ\{Ҥ:<{9{/q_,Ud}6LD[SWіG-y_xәzw?/wݾ۴[}W\~:wŋYq9x3[q&Lvm7v[3٫3GgӥĬ~N<ΗG׿l^:On}w.]es|Ar -gt.}[DG>̛,MceCIJ៛"#`].r)9YsxIbIXkU6/1b>(}rG>* O}r_r_r_r_r_r_r_r_rrrg^uփJlSZ1K@k%,^b%F,Z1 W cpZ@k%F,Z1 W cpZ@k%F,Z1 W cpZ@k%F,Z1 W cpZ@k%)"hĘKXcv/1fi#hĘܫFZ1 W#hĘܫFZ1 W#hĘܫFZ1 W#hĘܫFZ1 W Vb%F,Z1K{ VbUkhĘܫ&Z VbUkhĘܫ&Z VbUkhĘܫ&Z VbUkhĘܫ&ZmVb%F,Z1K{@:|QU TȤXVZIi%V JURiU@RZЪV jUZi5@QZ jVZYieVpZKbZa hy偖WZh}ð6f)-{1 h{=ac}À5f)-{1 h{=NcԊ c֒;@K>KrA%ƃ R AhG{T#ȽxDZ*^b<|-r/1>}@K>K -%1fi-TȽx`Z* ^b< --r/1}-r/1~Z* ^bTȽh'{9RO s%1fi-+7R/A9'ߣMbV\fx3[y zl~lSLmeku<> RckumoK|E Nw~ћng3bS`|3鶽^zOog%x?inSstKH~|bf۷殿_MK{ro K??W6 `|RDԐ4[ߴfCKjT3PFo{I3&\M&[uՔ?}ewѧ:PyǺx~LrlGnI\>MMn0DZ]5ˠd ;6'L"!m[p5} -%=d}WA9-mNr5||}ny8=f^b7{;*==g[JCK>Jn <}4soWT2odls30 -I&/96*r턚msv+w{߮[?w<&ڕv9~?jC/.Fϊc_{ЦP6ԅ?v*DmY -H,[/C#V)=z-3[ <#֚!#1feRZ h%VRZ%*V JUJiU@RZ5ЪV jFi5@QZheVZi-1KkIXhy偖WZh}}}}}}}}Ĉr/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1fi- ^bZ* ^bZ* ^bZ* ^bZ* ^bZ* ^bZ* ^bZ* ^bZ* ^bZ*%ȽĘ$F,{1KkeyhC:Lho&[㧱x ?u4>oSLv=OssCִz=_8r iLa$[3ӞW9qAm8? (:7o]9 -NJlUѰHqv%s3+GdMywF/ZJlZe8.v/v1rq>߈1>ط`[|l\9b*49;_<.MiK}i~eA6ވdKzY~N+|j)K(,5՛XFN>o3z\C\} @endstream -endobj - -29176 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29177 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29178 0 obj -<> -endobj - -29179 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29180 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29181 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29182 0 obj -<> -stream -H]o+wrdk|tiM7*za"6Ԓ3(g%(ƫgf^<vqq/o`/_z:=˔OeM4wNsXEaE$M$Y΢߲庬MTUyt'n<:/I6R8D'ErvvBY15rlOX6yY'N'?+yf[ČXH'Nz<\P{sbL -v߱ςXjǕw*{HXGb& 1Rš!4OYޥ c (EW{EW{Mׁ{Mׁ{Mׁ{C7{C7{K{K{K{Gw{Gwpc} q>!'pS}O Af%Zm"Ek -c ("XTk -c ("X>H"R5O*"XH-H"R5bS H-H!R5bS H-H!R5O"XDH-<PDj=<Oy 7s^ͣ\3QҪ *厹M4ˋlcaq/aKJr}AY9yVnlõ\&=yum~Ͻ/ׁ+/r!qoYsW_6Ƃet-O܁3yBY1>hggIت3ʪ&-ŮMu\na\#Y%= -vKQ͊A {jv}H&ɾ^UpVfaK&1vrmKBY5.\9#Su{ c٨#GBL. zw0!٧rIAknozUdUa ٲ,-o{65k`MZkO4MOъiQէ[n:Ѿ$Bozx(\ \;p9=L׮7mcw?UNWC$ݘ98<܀E8ٚߚ߄c}W_N}B(xz{JfkѭkTBo.F lXmwZfu}Nnl -ȮTfh=l|? V?D:ۦ15Ϙھ.ؿ/5Z Y7[}ݕ{VY^DtlyÎG-|_9`q{T7!yS-fHݨ/G\`n=~׉{0nVڭJӛp}ix>)xn:1\ x~=B[ȢĘۦ,&ޓc -m 3eݴK&NHڧן@!.pަ+QHek9tJ/F|mu97U0PV&ce[UvC5;Q՜ٳWhjvUSՌj:oG/& ΎsrGv:`9qendstream -endobj - -29183 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29184 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29185 0 obj -<> -endobj - -29186 0 obj -<> -endobj - -29187 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29188 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29189 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29190 0 obj -<> -stream -Hio6~TOXQM!:tnhBX,z:t~,ZV!@Hۢ7on^x ()G"gXRIE޼C&EjU7PiLW%͏Qo^m77[#" -K$E97 ɮ;TQAEã -.ȤC~Y-v R1hK]g4OWm [P`!)]0,];tn&˱p=L{o}ͽ?AݖXC\t-T\)cV%AN0Y - j2eAC2g4מg$ґC8pV)f}!8Hq3%1HPQ2P稜PHs3\xA?:(杹rϵu9 a`( 8C)z(@f"l)rlUIOZД*kdl[_1Lؾ|- ,0BO|n;^5T&ތP?>Ғ28B SŠý&^ u%IJ&1M!\޲oKxayyp@@.yp3r^' ƟK f9J{ HtqQt";72?XS$v|cR~ -[nE>OR>L:*2,`-Dlٻt4=8  /SxFy3*08kGLtB֯rN9/]j;ʡ4Ͱ3n9O(\ISVV.ܶX9[P<@~`z}osF-M!? HBl1)IdB|_1\yg\s^e`/9Jrc -SqF}x5lr.|Ĉ*ri*!@U1{*<Pk[L巆 r{0x7WE75 -IdGnGtEUye @sBTc?Od?QwAY4G --졨nm;a([A!#%ς|hΡ9ɸvP!RÃ%$CwMྀ`ahMTN,H\fgk]j r@g,uS:zڶR,r![,njp2sH-bRr&T kHnW?Np[$hL?x5[/WI{@ V,D4>:YNf8X>S~*32}^nL"]L3lJAf:Z(S$\??T/>H?.iCo9M0<2VOxi WZy,W,qTWOI@wdeCΎ7=/k=?idnBe|5p(ǶjXuU AFuJ[o9Xеΐx! -L>f^rRx^BPTY n~xsm`ǃendstream -endobj - -29191 0 obj -<>/P 1276 0 R/Type/Annot/A 29196 0 R/Subtype/Link/Rect[130.078995 539.020996 308.203003 673.916016]/Border[0 0 0]/H/N>> -endobj - -29192 0 obj -<>/P 1276 0 R/Type/Annot/A 29195 0 R/Subtype/Link/Rect[93.5999985 398.627991 199.356003 418.308014]/Border[0 0 0]/H/N>> -endobj - -29193 0 obj -<>/P 1276 0 R/Type/Annot/A 29194 0 R/Subtype/Link/Rect[93.6000977 260.627991 261.395996 280.308014]/Border[0 0 0]/H/N>> -endobj - -29194 0 obj -<> -endobj - -29195 0 obj -<> -endobj - -29196 0 obj -<> -endobj - -29197 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29198 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29199 0 obj -<> -endobj - -29200 0 obj -<> -endobj - -29201 0 obj -<> -endobj - -29202 0 obj -<> -endobj - -29203 0 obj -<> -endobj - -29204 0 obj -<> -endobj - -29205 0 obj -<> -endobj - -29206 0 obj -<> -endobj - -29207 0 obj -<> -endobj - -29208 0 obj -<> -endobj - -29209 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29210 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29211 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29212 0 obj -<> -stream -HWn8}Wp/‘ś(䆁x1Ӌyp@V˶2j)Ro"YӇ!YXOvO?]5/_ - ePL2J3`"AJ\ZTYW~-^5Us,Ew,sv, ^$g$1˜)"ʦfτCV_|ܽɊQ_xP2fS7v'+\ovA (2g~5H'c ޲ۏ1۳$FS|k6@Xrϱ#\ X,C&Xv}.,AzAzIzIzIzEWzEWzMמzMמzMמPxB}7z7z7zO >%ԧzKzK< Ӻ!k] YzZCŐw1`u1d= -µ.,BZAŀEŐE\+׺kZZCs \b"{k] Xk] Yzϵp!PVuC ׺|.,µ.,_!Wb"\b"{k] Yzϵpp!PVu1d=Jµ.,µ.,BZIŐE\+ ׺׺k%ZCs$\b@u1d] Xk] YzCŀEŐE\׺kZZCs"\b"{Uk] Xk] Yzϵp!PVu1`u1d=*µ.,BZE&\bջ׺|.,_o]p$lwQ’IJ! 3+ì:<^4lhǬ+]FL%cV 6Yi_쇷{Zcˀ^w>^{lNxL%ij,F<h/*C;*3#zG:Ѕz""4vD+q9̂ltnvKثnBhtw(e-:35K SݕΪ܏S҅NOg="/?HTX11T l*MD* -a"x;,rb煴CӍP+U\)̶S8ĕ:-.gcpZMZ*G(MI.ͺkb(Nv[pY>ԍ5ub?a4kk+Ip7_[Z­7Y%jɰdt|= ʷ|=: yۀe,᪓v#y:ӫJF -b{=_p|+h쌁aDlI;}@kSt](JX :%*NCXj ez/N0 k\66i/FtKW|F4l&Γ9n-h5n(QsN|LY{6ͧ Me&`̺ ͪAnFn<1l_+|}5c[Q-r}06[?1z였d mӣky -߽R܅MIRZVo]nnN`Y˯U#fڵ?,D0u3)`}U(7*ډ-񄣥87ԅFlsf)xmӥ"Dq`ҘRDJ5+:C͇ -zs^f0CDa%]Ä.c5e,I ZMa0[^U8GGU:FYɅ%,~}Rƙ -v#V`Ц!"INӏ:"F.KJ0j.\]~Xζ,.^ZQ)gexn}G1+bXȺfr"u%aC&~»8yzCeJs~4薲DJv:0} ʥJuΪłX=}z4+ýA&xBs+D·s_foD5fJЏ[S^n춺.Ĩk>b"b>’}!_~\Fh2eܸ /l(43|@+ 0{1(hd|eQ} LNN;l`,l ifBӇ*4;YiX&iv̈^ J)Q6m)&m_44$+=k U0 sݝ~rQ>2/9/ n.`,sGqw#=ˮSFn7MsG|?1(K͠|LP>!FZ+6Y -@XKWwønV"Kb"WryNcvuB!/5-T;V,_y~uWl8ıbScö -X-l|RO2+q(]f3 ׷w>]~@U_n߻v׃!) /6Qf -oJ$;a/; BܮӜOM z`tv Hq1s f,1R'&>^6QZw$a v@&X'wi]i[蔑OzW.a5WqlԻM  ^4e*w_ȬަZ0%d-k۹βaXZ3 DžH]Ê˿0OW`5"S<*7c?BW0cjX.5#ڝUރ;>+X'֖&endstream -endobj - -29213 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29214 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29215 0 obj -<> -endobj - -29216 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29217 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29218 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29219 0 obj -<> -stream -HWko8_2*K`6M̴EkHBD[Hr2{/I=LޤE<"y.//>o_I/_]LƬ.C8aX񰫂a$M: .>Vrvvzvupo:Xo"dz0Ha}YCp}6C69WI$b y+%qecè=Vj@i-e5LOX1:-GJr~}j~l (_iW &L@<YI B1WQ!(3`| - -r -S8bs1`1 Y`Ż8{9{^x^x^x%^z%^z^y^y^ySB}O >#gPy3B} >'P_x BYF'\bջ׺|.,_p!P﹖u1d=rµ.,µ.,BZNŐE\ ׺׺k9ZCs-'\b"\b"{k] YzϵpAŐw1`u1d] YzZCs \b"{k] Xk] Yzϵp!PVu1`u1d= -µ.,BZAŀEŐE\+׺kZ;p!Wb"\bջ|.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] Yzϵpp!PVu1d=Jµ.vZCŀEŐw1dꋸ( -&onupfD.5PPifh}["ݙZ}]M^ROW/>^{A*D3yMC f淺+rrV,6Vk꾯 ä(Ob2\o³ HE'gbU(6q94.D1uqU`l&r1Ǫy -OW]9/@͍g`F!ĪMWczן|4|,2#,fy-W˾TJEzt۱?FA~^8يDiND;oU.YDیc|.2yS`0cf`~}i7=۰n{G$Ay6u3 I^P 1rYF{3 BDeQp|mf;G͊b}uWqKލG{/~MG2@voa '&y3"lEǒ޷Mv> Vb.XGtgYq%*v^|p~KY2 20C4l|DXjaxCi{ dEDLɘ|aS]դd;g>ԍyP[ eG|c;R8t_yu|OSwıh$8WM~ӁD"⼐lkZ%,=#o5bOTOgzoN}?FiGl)3@kKg cٗy m ̹)GA\`~m7xXꟺT\a~hڮ!ʨT;20[ʴ=V{A „t,b^imf`!k`1R"}"t:fp&+(,brU- 8}m+]<*E -g4lLH_@k2nd+&a?*΄ãҤ#儴/pR̭h}Sĸn+gX3H"gk!fx+ťYmZ (7YѧȲYSݛ)v}5J.X96( 1dLLlo )x*͏2ٷ6}1_ȋLt{S_1o{*jYp Wfw8mYk -噠6gW)*Ja϶p5K4 $qd*.dI%=3it.oq-/OyPu.?e:zW 3Cwa{b ,r}gps\qűc;)ó[܊1ћAu՟'qn,8kIE[[h(_H`r ->,|Gq60)#{)hQ`k.ɬ*-}`+wP c -Fl\ÃYpgl;tmlkgo*vG{F`vX]I`Y-4z==qu=^J(.bFxUcәL-c`4>rg&yO-uTٗ.X@5Lw/맓Y'5(,)&.Ԩ ,8H &1!io3{Š"sJa_d>%G*x47n{~LMifNв6D]Kڬ}A A|x M 4JE;1[^W^nVd>!@*4v;iC$FaNy'×silF,d0LO8jlMf?JÒ$?9C_/7AF^=DT^i;O? Ezhy9[~FNa L ح.#Ax{wpym dz4zj y[N+ -ʏISTxH62FDii_٢\ֽc!7|4ݲ)늺`2k*C0DA!B,%012'$ul &@Z,3#Q]U{„IVUh}k? G!5Jnıd~úӉD9bB7Ӱxzr>K?u'|BJëxL3oZYbS) -6./V>YO"< 2VB!!4庬NfT'Jqrqk+Oa@{2[zJN|v/sDkȴt%UA<+v;MWʵp3=ײ܀cJ ֛+VMr;NtZ*T!:0J - - Zr\σiKH (Xj. Ɍ UeZ=t #:m5h"(wADdXH% o ˼_JhZQ !"@u]Њ;x4?TüVċ9;]Ux;| L]M@2G0(ϛ*+wfʌ I̦ii&q[l]X-e m 0˦âxH3fX婕5ΥWH,R>\WV7I!r89ځByBʶ8OLFole#$m_ Q5_$ Cz[!3gLY -o j qlnƁ&2m ~е8BI~e|D!(Q4]eq v @%<ԏ',It)nRP'TJ @!dm -B)&h)/vU/Dd 5K(,_mjg;{SG$m{Blt9!]S8XU%$Ϙ{닿f 0_B/endstream -endobj - -29220 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29221 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29222 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29223 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29224 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29225 0 obj -<> -stream -HWko8_!`@ˆ/=m;H.^I1Pd&QkII{)L^C!\^իwq/o - 4&Bq0M8,T{qа -m1TmmVCWaW7}bs]7k'i~ -ryØagۗb7.\]3Gry~f -IIwխhU8!q[DSZ ޭБde - {M4K",W;xC3O=C3O=GsO=GsO=GsO@ O@ ODKODKODKO}O< >ԧS"SO}O=>gS#sO}(7/iV7Ȧ<ME3}L5KշT=)\\5HZ.,̹TakSJ$ksNh"3y9軍7i@HW t^e!N^~z1ARcz?1n[͠5OË|)vp:[.qJ_(Pu0ɶXTځQ9_4GӜhZ6S}׭hɲ. =^gK0%= G*QjcAX'Yۆ O9qcqTV -_Lw̅YHoNɒfK={9{#M=z5#0({?VLf$fTYb0gc=в8䙕02Y49*nݰ)+72q30O>}Lmըb.:"N bbOj/,FŒEߌY–k{CD-^ ͖\VHk -X&9 Ǚ|ζ9CdV? b+sN6 54ܫKiϻ.y! E^d0昱j̭^ڱݛkmAѨV^*[Rjj|^CNSpwR''+:8-Ӭ7-̣=&Vl*%çɐl`Լ8H&*?`?`V1T=vLzDMv_(`mcuUpeVn\7bOlԅ!;& {BSj -poUSnӌ8^æj ޴ |W7(=%%j%8fVGxUfn|37G82ڴ:B G⮦/m^.vRA@x3D@DsЀ\ -}nA8$qmx# -F bUf7O&r s-g㘸IZ:/m*5P?͏(L9ڛPu‚y6= --q 4DH%tOjN5e -ǹR[Y' Ey$!ٛ,Ri1 ayXp e$;w?ʊM7PLRWi,BS1M<A4WhSn73gfwg4Ļ옊W ]6Lj克ZP;cMH6x 9IT,,p?3P{TdJဤce9}:=ًrڽvR'sRSťNzmCGIE,<7-!/hY'OV@̵@<ųU9zFT%u=?'evHDlP̱_VUDRk5#vF"USEAt$ɧ;=A`߽#<@h}odO@QڝnbƅvbG=^' +otSdUU<<?Cdqi5`1endstream -endobj - -29226 0 obj -<>/P 651 0 R/Type/Annot/A 29231 0 R/Subtype/Link/Rect[93.6006012 543.229004 184.404999 562.908997]/Border[0 0 0]/H/N>> -endobj - -29227 0 obj -<>/P 651 0 R/Type/Annot/A 29230 0 R/Subtype/Link/Rect[129.600006 592.911011 255.598007 607.890991]/Border[0 0 0]/H/N>> -endobj - -29228 0 obj -<>/P 651 0 R/Type/Annot/A 29229 0 R/Subtype/Link/Rect[132.106995 582.445984 326.700989 592.580994]/Border[0 0 0]/H/N>> -endobj - -29229 0 obj -<> -endobj - -29230 0 obj -<> -endobj - -29231 0 obj -<> -endobj - -29232 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29233 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29234 0 obj -<> -endobj - -29235 0 obj -<> -endobj - -29236 0 obj -<> -endobj - -29237 0 obj -<> -endobj - -29238 0 obj -<> -endobj - -29239 0 obj -<> -endobj - -29240 0 obj -<> -endobj - -29241 0 obj -<> -endobj - -29242 0 obj -<> -endobj - -29243 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29244 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29245 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29246 0 obj -<> -stream -H|Wko6_O1`zE8Y 6tBȶzL%$%͐FqXUSLSonipˏ<|mpan0s, mI<~4ah,R gvU/wN%LSqWUxv@"JSyXjC8nAKϲ9Y$Ûo,܅A.+2|AMp>'w81Ős1`űr0d)jc_깧깧^ꅧ^ꅧ^ꅧ^ꥧ^ꥧ^ꕧ^ꕧ^ꕧ>!'PxSB}O >%ԧPy3B} >'{ ӺXpµ.,_p!Wbջ׺k9ZCs-'\b"\b"{k] Yzϵpp!P﹖u1d=rµ.,µ.,BZNŐE\ ׺Xµ.,_p!Wbջ׺kZCs \b"\b"{k] Yzϵpp!PVu1d= -µ.,µ.,BZAŐE\+׺XHµ.,_p!Wbջ׺k%ZCs$\b"\b"{k] Yzϵpp!PVu1d=Jµ.,µ.,BZIŐE\+ ׺X(µ.,_p!WbQ2dY60A4Q&In`ζߏy$2τMT]xv!X;۸Wy+mEٷbꦞ^,wC1̽wg߶ie'Z2|[tvAgXlkW=UMщ_aT3!X-'gϲyfw S _:Gyׅ4EgE̹ԂH@%w'g2<ǓqG1%Y$J9С JFL-G,+S\9, \0}1K7:"6tl^#yu{\QTj?tTݬ8kFTBq~ kT8>JDP*cWdj&ml~ɶ=;B}UַB$e1#ԎhU3U (H6VNE)g|3'9Qn)ԤrM$v(r Q, nI8*]5~yǩH̼'vցm]Z1>(C?cK/dfnF%囻|e*/.s,VC!`uob6~?-bv)lԢ&"L.$]g`^s;^KUcA8M;v>Zyg oٲPZ~+V@7Op_bOO6ZEl *&,f<P+LK]WVAǬCWLUc#'=z|O,>&!1gL%61UWd4sx(m.qvS'JL*b?"~0;nҧLGٴ]CŃm,Q־} -O)#i.>dv)̣_RQl  Uܞ$k!=xqV[^R\ftn7|ELGZ*\7405?9^%dYiK94y\]L"ʓd[N1yؘu|ָVAT_QmCt. frzϽm$QvdQ2Qϳ#}HAK6Y^IMlEk }>cc3_Tq8E&RWdt -,~2NU|%n^^CpWX7$z45]u)|B|B/9a-s~fr1Yi;g=^͚Mg?~2+©M; m`V/5cUq榧̪+;]qRoEgJ E ;<R# `x;< Ua7ݶq УM"zm.`$}Pl%֖4{8gp"^?Y*jox|4;u'J=7 J8x-V^?姡C!Mr=xV-H>S)Jtde3Wy1 "}b KA`{3mޚrg&ɱZ4?X -ŶHuV/SL?T2I,|ݚctj|6ԒJEχQF!gSMm}^H2W{+9x R ɽtŗfֲy #)»׿:Ђ4 -a91Mӧd*M(r_3I!tĸ^X{Ƕ{@H3{k5w]7by8tas.ЙLFtDrTIA6؉s+P[H8T/ۼg 08~:5ArшzbEjh9nHpeYQ. Pt@FҡH:@zO @2[.i1" U\Gn;蠐7oiqE+ -6tRa2I蔨+'t+N((]}dZn%hlzn`3)75%{NG8ofȨP8gۤ^v!;")%G;uw[ved.fH|DԴN"P=;{@y!mš$J~+|ܽ_9 +[h)2gRLjr{?:Rcn3l: =8w.2f)ytTMF T~[!\j"mQ!,DL}sEXv^eBt(oG+~>ȉBUoN^Qm۽8;:Fr4tjC*0zt taϷlQP2p%m#_ -O)6k\<.X%GUBex ?l,C'a8u$F> j۰:vBfڭME aVӾzXٸ*몙i<]Q|y<6 _k]e1Sbrl/X 2**:ǥ.;=vuI_=:a*9!&:Dy/Sb!d†\D]ٗ]낀|ͭ;nȝ>g0篗? btendstream -endobj - -29247 0 obj -<>/P 1425 0 R/Type/Annot/A 29250 0 R/Subtype/Link/Rect[93.6007996 219.429001 198.408997 239.108994]/Border[0 0 0]/H/N>> -endobj - -29248 0 obj -<>/P 1425 0 R/Type/Annot/A 29249 0 R/Subtype/Link/Rect[213.748993 501.729004 317.213013 513.713013]/Border[0 0 0]/H/N>> -endobj - -29249 0 obj -<> -endobj - -29250 0 obj -<> -endobj - -29251 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29252 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29253 0 obj -<> -endobj - -29254 0 obj -<> -endobj - -29255 0 obj -<> -endobj - -29256 0 obj -<> -stream -HdN#G=ObusK\`f 2̂OJ>nw7hSާN/}z|:N˷~,_Wf;grus3]~~1/_OW׿uriߧt{;~~xy>ί?|>c?>^i>7`/a_v۫xf/Nڟ9!ol<4<2:6#ofofofofollFyK*[Uvd^9r$Gy> -stream -HTiPSiMH^| -ILjˢh#@-F! aQYeG(u\ԑTնve,?kT͟Suν֭Q)t= -J]'ʼn=ra8RixT*zڎ>}\Pz@R]~ːGb;SIRTsTNZF#79:[p:qn^aI(I HE 2rObD$ -(t'ueH&jKeKQ4D{<=Id[5y([k8J,E2 -J@=EF(*zEύB.ЀΣуUalĴd0KUHPKjⵋG f[دV-Z6.~ا} 3;?ܟ>q٠/y -I Aώ>2NVQe+DE11o^WĖ LJ%` 扃I(Y^zBEbJ(H{,MLI$oHS\Q>Ã6mhkhMoJk~!2 V"TdcTRk*#| -$L`*XcUӜs3 Ez.bc7ba+L&z 9 vc H!cFבEHE$XH2@Gב2 .hd# +.3Z$ķV*4Ld`>ғہr&+a"+Bk{X?&3º%9wrXx1E`Ծ>T-9hU%أ۩: ZB*sq_J8ɓ>ޓAuD8񍙧[esv*45fÙi*%l윬F>7rݶՕ/:F7ܿ3x;!4 0'߅[>:u軡duMS5oA+c -EAnMN:s;|DYVrX~}wkj{/[΀#4(?|n1lzcNuT%֩,LPF-]e|ҲT]6p{7:=L>fŌzV^^)OǣGCSJevV\V~p(><ޘ#]"ۨS#1-ӭ4ME$ZqSɷ1/q zL6ȇ?;Y ?Xrzvwh_d̑9'|?eٰrZO~mBk*N^( <L 4]ɇAlYj%~K)Peԣ4ߌ1 dԳG; 21Όb֛R ox#`@߄O7H'MЗ+lV͓m'p ƴl}P \D,WF+@07}D7Jfzh `pYnB%&5P7.;-sBѡ0q5Lx[y_ue >^cr 3ʯ"@W}ZcO-9a9 -)YKFFFn,BJTսҦf>;B3y -sӀr(\îk<ȉ4ecw{/]}8z*Oey++9Y5+>Q}BÃJWUNᳺ+б -:5*I q,jj29mN:/U`;;1a*.13OVnXѱm:$"4t_4H"3e DpXZZA%9Sc]\~_0-;a-=lOeäZ:S.RC> ]|diӥP'F3\ksT51nB2 Atf9uF%iozs8 -} v=¯]6/h!D3) nSKe.fgxZy%&T^u KgM lVu 0 G L|5rF1:*y >,\F"TEmϳW]m@#YӈIb/zt!jŊ)Z6wDhhvWe3m'(!Kkh֛/d_ :Nz7ϟ8xvjwEFSw_WMJ5+;BzYl׮ -#wO9Quu;Nʆ_ Q:0}nmurQ=[+xjmq4rwo{o|ݒ8H7 hTj<_B8v ODv.?;i-HAzF %(@1?6 @2ضw"Ga翼!g N&?1^x#s(pa]]dQXZN=uOht$"Q;-J~2H4MʊҢB˲'Mn;#ViRhh8Ly ؕ&pHJ-J v7v,"?]=Rx*rTLSit%,Bl*㲸j%#:U ߺ ꗣsK:O9pVdk+qRWK[o^w`WO-ű[FgAε^OM`,Gj7o j37d -dCGIa_JXJ#Uid#ck9̘e"MΕ5_'zI`S jYW{RGDFic5jȓ#U$'uTL-\4CUr q!|>22)}NZL''U_oGsGYml.F#E4[ƕWV1hd0 m+9ru?`§'˵ `&(( u{"G$8.hZ/ƃ)j4.̕53ܯDp>#=ũ -%ݙ8 -հl,3N!擵{u5s[MsF*rMѢD?m:VdP! %M[6/[ڦ .Qeh;\]W>>.-x -pwѥ+LOhRua(m,Qa([n "YMI&HOvb|Q*io9?*i瀳g)O^"cC6QxOba| ^}oSɭT1yRKGIX!0q&z"GR^M\w+y&NzV*Ґh@&.8%1 K-ȧlyweIelˇdl1>J a04) WުN }{}N)e#[l8Yh`Cfڃd6eQƴh 9H&Fuxi N'xAo( D2 -ްX| 60"`фra<^xGA67 -i;;tdt6_Xgc8 -`q`}#>UxX߱+cϔ{ օxC-n$sBY}0kYʹ̇00ZHTHMcYCoh>0q~QFXH5R>jOZW0H]>s31yXO@oōY8RͣT}{ofg cnvI0ZP8 Apv9;e]"5TtEdtXVWWČ< κ\ިv :@c}ԓ]ft.9a=2Q$|.Mד`#p÷t!QtѰ&%"J%V%*w'T`_]/BG"rFA/k (EtI7e֊;VK~e P[tllHJ ؉BN]Qrc=F`,Gq߼uvko?>D%Rha08]ֈd|uTk#"Bj"bd2tcpb6cZ>;L>ìc-C8.5y*΁hRJ\GT5׎<zrk i%}dzGPDa E;_o_çy긻`)Ae]0dZf -葘n}p$[7*m61W/U[E -녅< ~6Z*׋RT25>N_O>FNVr٭$XoSV MHل LMhsRd{5FK+lsfQNtH&x$>w~U;a-z.Jp_sʉ ׿D."t`*r/ºtww7- |?_a -'SɂL!ߒ~Dwi#Ep\ 7Dd@uNP!h@ͽjTmx|i̶eHLe* D]rȹ ˾+nmRڊĶ߼'cuoaX.d"~\rYt-U0 -׋!Q?x%\r"2Z?xEmgYecV# DkTԤ9Oa pdϱg3\94ɟhquV\ J^߭ż|N,WS%dIq1]ϝ zI-x -!4Dv69$ YL)k^=D*͡rɜ: G j6 -İ;xlJs:F{U -~ֶӹÞmw8즱NXG!U@!PT+~D}*Uisy|Y I*zS#˶hs1t¹%:kM ^fHy.\ q52:ֺ1~8+^1,.W7W7{D)7QjjZ>`ڂ0 -8 !{Y*UoՕ2A1>r: )d ϶Vl -eBkNY'_k*KLj7d}9ys|ZnWQ]s2+O=yC}ct&ŤvlMRd# oENp%F9PIHf㌰R ,2ly~&TT&vw>/Ր.8iS@%\:8ni8Y='P1hFRT ^PxAA]®{a/.{eaWX]YQb@Q1@"Di.m~59ŸXe+GqA[0C?u¼GJ "<3s\l֠fjE1L7k6K߰Բ՟|7lآ;epd H% >_x/I%$9Gi y>xFf1t o{Ǣ1slJ=-Mvw955JK_i9E5jA?!!MT&IɑADSd0Y&ܼV(m~ɭ:IYP@62F\r5y |jbiLJO!W0sd$=!3θlcAmUܷht6Ⱈ=X':"2#@,uR+ λcn4W LAJ'9DV.X;mqb_t~`f+2 5ɤI<uB'p\%6 +'I I`Lc?}z[U6[xl?njj#1zw3Q|-b\|@ӱyzA`2Y(՘4Īl3Q~ۺ8OU` 3JVaUDp+jIWC#@N_G0v - ĎȀ Ǝutrj[Dp2x>|l&fV&ZWM5PO..$ȜJʔZiPe}m{&H֧`y^yp b*iU{ rVh71gpf&D[-.DM?E9rDP贋.9|d)R}I`;P2MaGI~ ~shu:O5x!ѝmPKó#hSez#FW̓w$e9yX^>3`60P&$eZFR5Fn:]^'C ټ/YpZmaOmWjVE)~Mhkj$5ZBV\Mmkf(ߵuEf n>5Qm0lCSD;ޞ? McQ<N]nL95᳻\:%1ѧao%raRy7qDDAak;FksrЅK6m\&1fX,~olBJ3пvV|m~&}{lÍ8tFXL'JAUҭt809%h H=sja'x@3S? rO{Ƿn)KVյχ'[ n1Q''(Sd!7c~>JSρ*Ő~ mSG8ɦ3ׇ\jim~pBU -!&p*BuF.4A_(D| -.w#Y8p M퍑6,wtۜr~1`a1bR%Ie(#˴,.'O+j$6I4iTjj rb; !T[$^y;Ht|$l2i+le]~? 7jRʌr"uA,.8rϏ>q;ڻ5PhD@\*`B\vhg+6u rt׭ʎ6=ԸJuSO^V_ߵKcm2xh6rd9 7;5vleTjZ +SGP [TN,3`f?C&WRO{麈Ԋj̨ ')p8}^̯KyJ]9MV ,_ }VdPX iAD& jքo͟=}i6D%`TWdF/)!z`Nyg393$538Mc^"* -*er]잽W,]D)E[Τ!Ih86?>y~g[I-cW"^cXN S߇Yol#9a7X ?棳3˓,_W݁-Rljk u!z:6ugE' 3Yd$DoWIbgЇ%7_V)e8LI:FџS|8%]XX? ް%?^E*,դ$w,WcbO S* UWZ}B>+tuS׆&Yqtxb^F n4uµQkyŮAZMȧC:O'm5lIO2GeM0#|TS^(JJuU/*5/Sdx/޾69oik2Y1jXֻ;e -~۰k٪R$֕9SY͒5BAerx!,!eC5͟$ݒ4<ځRk$6p s٬ՙXnifU-yiH8dg1ȱ,{U]S`r5mq=gKz -?K҆oUS PoUoֳVx$0L(GefbV!1w^tDuʍRmz.Nۍp鈔ND'\| yW*UA0-`ߢu-Bݦv!)E@M!4*z;$i\`BS~ -Qwqed~)Uؼm! Kܼ|_s PxJbjmI{Jԛrgd_֢ic耍&ĀAJı8?b?b#ˎIȋA[Z`Тt lӤitut~?{1?7&*m CuQ?z}bv:k(/72w^d} ʢx``o -7+GLc~b/z='>KK7ZRi=߼F -l uP9Oas mɢݼ|T501#6N݆0E%C1 v"$OḻOY]}tlb'u2Bc,_ -$G0Ok0㈫DTi_rć1xv!-8x;t+TKŽ1ǠGxXAAZǴupC%l:ٰGU^&ȼ&Nhn_T֙;1$d?Q^Y&GسHx%qha/^<^nYXXf\ӄG! 17w6Q_5f?g);}a% x ytY&"jzZM3sP-Q}5uˡ]LQ`mȆ\ns}e6(PbaZhӀmppg[Agr(V,]`iYI {`9s "΁SL R:쥂brpqEa4fRD0DnЌ%|XQNZ Au uF)B_-V2-´fī9;..-=X|6<;ɪ3]wΔqZ~_c߃'+ãpz*&VžEI nMrZԍ~u%<rBI5*M*Vrlq2& w?^Kv},JΰgwYՌ` $:>cv?;~Ldummʰ)=$uofP1b>O{wdxJ@?8",yxEWYC[e"~K {fUro1CW$e*Vr%tr0 -fVgINN[ tM09|}|E([8VPTRaȋi)y9U)+Q;SgFmhC%qaf瀣c9* -& VߴM1 zL0E-JԙꘟfŕBUZZuUVrQ2D̔b]N] hImb׫6Xg*rQ=ՙۘW ZTov^%:f(߻4ڌ~ -~ ('󖔧%@K4 rcy2Zntl)Wقs6- J'b&9}T|WeCjάC&rb[KīM,\(Cq٠r% _]Xt(F@>#BY)h @XGԅe@D u$y2LfC rϴydnV -4Q#Vq8 䮟2 's N<<ӁIBUmU&5%Æ,7RY/5ꎸM`S_d(1VV&Qک+~-ft M~[屏6:GX`c2ep?5n9Stk˗v){_ˮAw60Ͳ: ⸦ <|ؘo(dO@兦)+ndmbiQ"' ^Uęƛ ud=ϹA;TT"-A>@@$&!@!>  ~PѪxwh;7'ڛx:w3֙﾿[MEy*BKݤ v"I((ZTcW\+]bQ&bfjtͻѬ ?F{9O<w 9_Ӫژ\g},|Λ~}nw}*o7h=6`=(2sMBdrQ=WB(3o>HM6,x X/HLƒٛcM"cK:59py-v44i>?DLUG = D~?f;f Z[|eO}ðoN2v|u~=դp2ǯæصYLߒer ̿Hb$*xk?$ѽC Z{cynB0,ƥB$Y$b$/ںH~NkA}ȫ2NP$q,G)#9޺f;u\a. $zຈ=ucÆPo(n!K% a; A>X̕M:YR((.32qbC=<CiDo.AyX]O7Zmj"j,!#%M%DBZM2[@&Z_(jaKނTJ9DdvtlGzN<۳3c(ӭa`)0G^mf”#cR  j SCKs bgዢ5}>6཭AvvjjvK:I`ؠ{[?fND/>W,DSKX(g$FA2/Q:ؔqR-!ݓ^4r%9`[^[-ҒX]_!qH&!Ξ V2$$4g8] -x٠qxx>^8QsSz.}ꉞucu.hs:UߎQ<҈JCJCfz"pig^wjt&Ci B۩u:1Q@L6%Շz3QPGnM6j"uAZ_]n -9{ eF'+W#-dŘ?KR.` .X -ۻOF/ZBUX\@>{bJMRDf)áq.lT_jkfrpSb;ƐEo|PLUW.#rJB*QJ( 8 \ˡ F`w{E:]&DCi*STw7b*33[,YH1sږu='3뀅cx .iJfҞQ9P9:*OѼmE TI& #6[A/y Rckq H6Y; 6mUkJA@g]+W}EIGx,wp+= $Vpb(wiL3lO>D ? o#yk -]_IK["N{.zNb~kkgڥLJȍ S㤲YZd%vf;IbF{E7rpKpi^X/&;Cq7SdN;;sz(,X*{ %@B^L!^#/AAS,(wij^39g7溙gyݝgg|cO%8<$:l}S(4;8[ͫWUqB1 -i8<ffZ0GmS9ܐ}I=mZq[єk*V:J,UmNK0ut(qT%W)p:ρkuI#`0˯(RaU<#Aqx; -ϻ*(E*H-Ҕ4k5:%gڧd_D]Pw`V3{n*-gc6 $RӐg+!&BȄ[z~wzѩrzC_]ħwJP$5І%dW-qʉZ-V 78NŹ-/оIfXVpLvST|*%(\<<14`ex<\oھyDHo2k#ބ?zb_.N\ [/\oO BڗnB~5s~@BŮJ$J ۜb>DZ$)'Of9lyVm%\(5jl~ _9kyD_F d(FPuX%gssp$i@],j-6oD޼uOM#g;>~{~_#؁L\&at#e6d)7UȰ@Rb)9SY+,yVŧG}Cm…y*fG1԰<8ed&Ti\A(:|BVZP*uD)!`U!qHa.YV&f'9Z*A{eq5ڛؙ:FQJaÐaxxH?:ά -*s'lշr0;PFc4`eC w)S.H#f/sb=B@49h+H0R5 +={˜ eiX\ > C4-š㟸YbzP+$+p)UHNAob(oCt`P6FghsI"OМR;U0E\7{!P 60!i-40`,C'Mq'Qkl.D|){Pm&eW|C_S*RpPpx ^w~^7:r" ?gGk]gOpV|!cӋɇ86%L67'[6s as&[q)o!lP:2cR$x9nc|jh_v-}0VVBPBnst8ZCfJڗG ޿::rjiKqvSt'z$I@~I$/g ߆\O(C}Llp] .er_]Ό|?s *"MPYj苯ZG*X/ĥ-"SjeZF njud}_1F+,۫ -66:ޥ œkjzaVɠahhP?ɁzHnmc͆zV^BZMP4< :jk NK(>ʖAKv}r]Qnί .Xxy(0?K@2|0h຅RiaStJ߹ n_zJKPE%-k_( k c0f}c ml=$Ns(-qO9Ȼ:uԡD"mĉon0ڟ̿|xoh{Mep6PSKst AugjnEΜ=70f.btl":0®X%,N6(J: HhL?, i'ԙ$v9rvsTӱv]mj]KA\Z!D.BBbn H.j0 HudխZ׵Nvn'EqtLsgy}mWn'/REsk4_n(JD2 @E<)(+WWu¸$4ꌴc0up q) -ۊ;o|-^7"FHn@anqݰv#Ţ`4 @0̈́XY~,YqS/Bh! -EAЛȇ(ڴFm&rE -U&[9y:,K1@4sm6mT's ku$8K[E I,$F(c" -T>(E@8or+ ->BmwE# ?$mF^::5Cc8Ϟ^F//?cXlNBWv/\): ^OZɆdO|aķJ2PdME碝Nn+L|fu 1rL'KEdB Qertm6,X_PTU՚,`XP 93΁Tiį^[%2ৎ|s堩(ko~89pҏ=C`c\ -mtѪ QUaqcS_0G Tf*V<&'v3xw1 c~F rc˞JSҲj(ՙqqww;7  Pjw3e9#_{GMhpѺ&,:eh8K))@Ub&LJ֗%RO+Ar$3yzǻ-)Ucr%<^g<:R߲犤>LKB(˕J:_:@7ӽSæX#ڛbf+BWfƶP6LM$%%ѿ5AN^Tf ?u0}@`4+E)aמ:6#q}_y뻼mtvy VDhefZQiKŚAJȒ%BM:@].|#I/ JKBk4:K+&9x:\<\b[**Jvy@jS4)t-Y浙m&r?-aM7kj~& -5Œ :ݻnۢ5%|:K#xoEL-QI{nŏŗR$Ȓ˕\:82jwӅsfrfg:;b+ʺj(\B$p "r#܉ !\e mA@\wvu3wf@_ϗd^]~kdYiiJŰ9gHJjPAυ* qę9^ޥ[$fPq[wbY-(pݕejBMDT^{F<ڍɲ. -M! =;m‘B5|Ou`8{oZŗ^|?zp[1s]d( n]O9. j>oOv0!^121ڡOb 9֪fܪaMOM72|c;5E=L0:=<#) -`t gyr+Uc׸6iM?;]&<-zqOϣ\& -z-PH`D؈'hot۳=K.na|>}E [Y"5OA4$E CEJM5Cw d;^d -REZUeah r*= s5^Mwg˟:=pĠ @l$f([X3E ``u(޺ @B_$1JxҨZĈĨD$[~A!~x߅ rs~s{>k&S-LަC|m"©GB"o&^fGD_MGmȱ -rg] -ەW -Ewo crK-FyqSxJe.8j Z{l+*X"ĸ ѣ]\&B#` =ٌkΔUbg-^".LGߪ'.Rk:`Y]w ^W5ھ r8x`WPvD\Rpz3=H#thn+@;rd~ˆnYXtFY5c -1Dyv;󮽦Nnd XEͬGLkEY"1 -<OE:g-ߙ>(!%~|c߱EBJfIO|%).+*Š Qfvrv* YI8.IӕViԥf]#jUsH)NdRl4Ͻk/s405d1([6P÷ѿG 'L=iWE?ږ<88rUu؝{>ҫἔDaV@ɶsg}=}Ky8˹[]aw.> 6_rRe){&Ck}6ut.e*l/ M -& -JWJ DDpJG cYB-T+pV#vIf@DVb@_g3;o"3z. )= 04 >aykӂXgb{v2w -'^ƋXPґ'^t ^`|yr'vUU,wdR)z5kvgF_Q>TfC:Dǁd,M Ly=ڛYAHc[}R: BVS'4W($hRW66ZHS~{ E9|I y<%.#ol2pMC)m+a<;ĢњW Lb8W ~~?>}'ȨCt,uR]ۤ:?. OlhYuϸ8y lխM5S&N͖n/MSX3JJXkSMM.j?L\>7GYg1kV,kKZ=aRNVlX+ߧؖ+>^WO hbI60k'8ERuJinJNi-X;gMOGE'r+ Bg꬞ٳ̖nb-w&I&JذvUSOXQVZۘ.?;{)3&|aeҮyscm/66]7o6v;;6ʃċ~suiJ?w6=gwY.epW9ߍӿw}_:ρn?]}j/yS>?E &Nendstream -endobj - -29258 0 obj -<> -endobj - -29259 0 obj -<> -endobj - -29260 0 obj -<> -endobj - -29261 0 obj -<> -endobj - -29262 0 obj -<> -endobj - -29263 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29264 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29265 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29266 0 obj -<> -stream -HWmo_AUe44mS!I;TIʮ}gȥ$ΎAG<ܝgvyϢᄏB~ _e$q,q® ~ @ 0CTowmWU>ޭ]2\І 3:>jpuX>E, -כpeVh]_@9EsmUSkgGQf)*i,<\Pd75)б -C)_`/'n4V $r[6[c`ʱ>#Q Y~:KJE0d% jO1`)F+FkFkFkFFF'S0O}¨O<)>ԧS13O}ƨ<>S3sOe[Oe{i)Vq-Ő嫧R Yz!WO1`1kZ!QV1R Yzϵq-ŐŨ\R Xk),FZŸbb{Uk),ƵCsb\K1d1=*Ƶ͸bS Xk),_=Ő嫧R Yzϵq-ŐŨ\R Xk),FZ͸bb{Ռk),ƵCsf\K1d1=jƵZ!QV3k5ZՁa\K1d),ƵCbS Xk),FZøbb{5k),ƵCsa\K1d1=ƵZ!Q0k Zq-ŐŨ\kR Yzϵq- a\K1d),ƵCbZkB:xnwp}H1>4LS60kiW?Ød"RyTPjϠ,$c1L*q&grv.XQUS|6eT͟/&)vvq..QƮcAtq0(m'lV:pr|~Fg ~va7T{Se.LX6Tr߂TTPni7դ6EWlz nUG= lcN?e,jab]>q#UuPޭhM<[@oۍzq{ ._alSP͡Dv @6X:upC2彵co\]QXԸb(©Q]LOMɇ3/rh6ZȻ$-, s4,xPH}i3-~V뙤s那%!vlIђW_&qWͨcpq+=*ĮnGaOF1+-cZu,r0,]512QtՋWDQH7K'7s=W㸐z*O z?qTy/)\ooӦ !2edȦ#`w,k 5#<ylsK;i;ӳ#U,ho84yN/ӽq$+4IF진-eLe'HNZff{SR.#[7neP|cF8"u@8\8ʺNsqjI}']Rl;[f.ePcG۾CL|N| sS&[]w;Y2 b+DFCjŧ? -n:&P$T[|cBKl5 Jʬ.U]hV*(j¸hM7r*&pIOQoW@w6얪?I3:0IT͔NuC Xmb4ӎ$オ"@Фq2y\9 pU`STȧy"N5΄Tt!-"͹.i1ariF˜c je{fy+iLƐ7/%h4a8v$81,Sծt#yL;-=+ Aȯk(<2&tb}K XoBĵ}FfnM%x ~N/?zs**F9)acFdw>bl; ҄`9m¶αh%-.OnRvbmG$@߇Hi0&Xu_7n6 <,l;pCn -~Sku߬*`-G[4o`}bN~ M٨B(-(."aG1pb[a^k|n ]PXvEmR新Qjf$U@F-m&lfnIqm|C{eovZEgLGrp{Wo-YXxK7_7n<ˆ:QN<O(ca?KL"\qcIxvN&̝2߈49WZӣDuINs`ZtN#tw#uU]PTP4cM&J4o"UUV Q~78 h7FSvZ`A_FFcLfEjGFl΅3Qgnd7qǢyAcd"SzIN̖8A:Hg ꝏLAmSR0S2u*0|#,kL^3,Ռtlm7yq_Ϊ^hsuh^|crZp*Id~rY4Mr]r](NbnY_y6>=)ΠjvA+OK9{xޜnx~v`ԣ?,a=\IsQ:ZeqaL%/WfXTh)3r"bi5XX#,F5YΘFNsEenÝh -!xc;}VA~WW 0lendstream -endobj - -29267 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29268 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29269 0 obj -<> -endobj - -29270 0 obj -<> -endobj - -29271 0 obj -<> -endobj - -29272 0 obj -<> -endobj - -29273 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29274 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29275 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29276 0 obj -<> -stream -HWM8WHX 搞Ad7! n+$$U")du6:*_d=V]5Ln޽%_qgӘ )S3LJAo>n g |wVOCS^qj/q}ؔ0IJV˜,O -m7Q&&a\;?z:7vR$z_|4|޾Yb\y.}u`Cx6nCܳnaymd,ؙN_ 9a;)e '>M_9R2Ĕ'2>D>@q<s}{{{{{O i>%ا{EW{EW{EW`3} y>'` }/E$ؗ`h}F} ->@} ->D}>D -BQ@PZ߇(}ZA!`V}"TET+>D -BPj}jZ߇(}ZAI!*dE!*d}"TET+ >DJBPj}j%Z߇(}ZIPC>P$TET+ >@}"j}j%ZnRBQ!{(BQ!{߇Z߇(}ڔPC>PmJPC>PmJ!`6%TE!`6%TET}"TET}"M v>D}>D}Be\ewavs -Xg7HX#ybf܅Fp,,hu7ڪ72O匳>,qD̦5V-)Ll[JoP>h\p$/7wX`?d"gdl}Myɛ2"e!`!$_u>6Ϻꌁ.1r.9F{ݱ寧zYSFPen3%r0"4`GlL4R)֑GȤyS jyY?X>4 Cˮ¾Y K}iXs)jbv-I8S -vT=Utڕ͙Ѿ:hs-"Ney19O{>Uq$rÄ̟KӋz g)ԃIן݊kÔ2EOA}Pڍ{2Q5ڪϮ(3Zx&aiyQRxR:J`udM)ⲀBEO?v u1mcE,EPjYiǾud͖=3 tᴳ'F=U6 -F]Uѱ;Wv09N`~Yk3TPJ<.f(pr:_:\uA]YM7<Hl,bK\Ap1A5[TB%ðx &+1,s8IۼӐi-,=OOR?A@?wz]*R[UdKƬNGy\gvS?Yo;GyXT8U+(qNKr)Rj_reE*|])3⋡˰8/\c7θЧlC?Bsmߛ|=!vn1O֬yp@LPm;`өeؿrW)9Y~`&LF H=k_ܧ}%XOT T ucY>3;qS05]=\z%P8 1Of^ogNx7{Q"NuΧ%*H-9<ρKn -`M 'bS2jU0#S!*6u`ܾ{i;feT?cNnZeƁ/FA"%|lrgp/Y˹jfm.k04>/P 1272 0 R/Type/Annot/A 42849 0 R/Subtype/Link/Rect[93.6001968 663.229004 184.404007 682.908997]/Border[0 0 0]/H/N>> -endobj - -29278 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29279 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29280 0 obj -<> -endobj - -29281 0 obj -<> -endobj - -29282 0 obj -<> -endobj - -29283 0 obj -<> -stream -HyTSwoɞc [5laQIBHADED2mtFOE.c}08׎8GNg9w߽'0 ֠Jb  - 2y.-;!KZ ^i"L0- @8(r;q7Ly&Qq4j|9 -V)gB0iW8#8wթ8_٥ʨQQj@&A)/g>'Kt;\ ӥ$պFZUn(4T%)뫔0C&Zi8bxEB;Pӓ̹A om?W= -x-[0}y)7ta>jT7@tܛ`q2ʀ&6ZLĄ?_yxg)˔zçLU*uSkSeO4?׸c. R ߁-25 S>ӣVd`rn~Y&+`;A4 A9=-tl`;~p Gp| [`L`< "A YA+Cb(R,*T2B- -ꇆnQt}MA0alSx k&^>0|>_',G!"F$H:R!zFQd?r 9\A&G rQ hE]a4zBgE#H *B=0HIpp0MxJ$D1D, VĭKĻYdE"EI2EBGt4MzNr!YK ?%_&#(0J:EAiQ(()ӔWT6U@P+!~mD eԴ!hӦh/']B/ҏӿ?a0nhF!X8܌kc&5S6lIa2cKMA!E#ƒdV(kel }}Cq9 -N')].uJr - wG xR^[oƜchg`>b$*~ :Eb~,m,-ݖ,Y¬*6X[ݱF=3뭷Y~dó ti zf6~`{v.Ng#{}}jc1X6fm;'_9 r:8q:˜O:ϸ8uJqnv=MmR 4 -n3ܣkGݯz=[==<=GTB(/S,]6*-W:#7*e^YDY}UjAyT`#D="b{ų+ʯ:!kJ4Gmt}uC%K7YVfFY .=b?SƕƩȺy چ k5%4m7lqlioZlG+Zz͹mzy]?uuw|"űNwW&e֥ﺱ*|j5kyݭǯg^ykEklD_p߶7Dmo꿻1ml{Mś nLl<9[$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! -zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmendstream -endobj - -29284 0 obj -<> -endobj - -29285 0 obj -<> -endobj - -29286 0 obj -<> -endobj - -29287 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29288 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29289 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29290 0 obj -<> -stream -HWmsF_M8=OfS;v-zsv&HtʜR5I]P36)|>%;::>Ϧ26.z|q6B?G"Rdck }?q6fSI, D.mA䌏q!yUm -?%Dl2.DH޷Je^e^U^U^U^u^uMMM>!'`S}O i>%ا{K{K{Gw{G4+I$ 6D}6D}B Pj}j%Z߆(}ZIַPoC>P$TET+ 6@m"j}j%Z(B Q@PoC>P$T&"Tm"Tm -6@m"Uj}jZ(B Q@PoC>P"TEַ!`Vm"Uj}6D*B Q@PoDPoCT޷PoCT޷!*dEַ!`Vm"Մj}6DjB Q@PoZ߆(}ZMַ!`Vm"TET 6DjBmB Q!{(B Q!{߆sq$:Fáb "Z&`D|Z=X6`_x'ybJc[6QgB1 GѺSd[A-澷}a{iզg*b%m;Xѭ&,^F%[e~W^5yYЇs\Dd@ sݸG",GYۊWȶ<>{:b/t+?y{g8]p\*}OݛMWf`llŲV[eZʈ.? ѡ_*?WȂ2lJ&/.jz|yyxDm؈NM5hQ50+Tտ+Z$M:L!m/% s WW[BCKl:f';sf:|_],jsڀ/MKdw5\&Y O?w<}z}hgrHt5p RM\Hӣi+Ӯ2n%dHVZWp-9s8ΊT4 ##}]e.ϪZ+A.Y)jn +;vk4&pH-bWFݲ,{h;nm\*^6mr`1x G G]4"gHjj%ߓfs >!=GwL /9k4-%@h[>~,QVTTDpCWaίOYnsendstream -endobj - -29291 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29292 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29293 0 obj -<> -endobj - -29294 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29295 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29296 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29297 0 obj -<> -stream -HWmo8_}q)#J- -ݢ]t CRRΒߡHpP!R|fW=}zXʞ={俉\ \q+Yf7k',z_m˾ZlU^}\S.yLb-&IY -eiΖdaX~`zp1n_fUiջ7G2y¿ܔ}pš_-u!sN쑉,v1ekri`4w]Rd363) 1@}O}"F!C >@IK+++kk[[g,b쳈}F"9>R$T}ET+ bbC#JBPHP-P-9>R$T}ET+ bbC#JBPHP-E*f}"T}>cbC#*BPHP-P-9>R"T}ETbbC#*BPHP-P-9>R"T}ETb.фjϡb(BP1{s=P-9>R&T}ET bbC#jBPHP-P-9>R&T}ET bbC#jBPHP-C*f}"T}>( -R71W2ZO K<-$[H<"-`]rP'/oK%OnE}kVm:セzM+lʯjM~4kWUͽólYms郷lz4[ÀymWyqSo+o>Tv;_'-@ʾnaU>δwX}/Iʕ|UrS|Uh N6;ցYfVa[ȝڊ4Ѵ|M@L:>J7eסּzF%4]!9{bL0Cjy\r:/OHJiZ(yfMrњhyB){ˏʠ MߗJ%FO#̾+OC4go)2u6V64]?r7@sSP@i8?- ŕU4&h{HE}Na -~(ʼnxJ z -^BW죟fxJjjiǡ - +lD]V8 $k?ul?F[P2n!hz-H;"&uVTѷ^5Z{\6 -)'5>ёR1CK)z' ,fy;2n[%Oqܢ0rMe[OЂ~ޡ -xP{ȅI &Bv: --AxWJJI8-//8eLdnN9SrZ?+{D?- -wo6# t9BI$93ďFs ,m'؁y+n`" Yc%RSyUS0OkL$':,ƷcKuMUқk]ibIw_e8 싷.k ;|<2$.ʼnB Jd.ްϴ`Ҹ' d2K{e6K; "ΖZ "xdJAbD!a') гշyȹve_;A2 2:o^O\sLrmzlzݝPBldݐJHɁN'5Z!r,1ߧ>B'9f y7y|9[dA|T2ɰԮ.F!S7վRSZc9wl?b=1טfnBT_7f2_ k2@GS˪9ۖ32x4N-z֙c\cm1{C>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29299 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29300 0 obj -<> -endobj - -29301 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29302 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29303 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29304 0 obj -<> -stream -HWkoݸ_A_–ҫ 䅭dHآv`2DԽ9.GԹpΐ<&7o %/_~&=`2b9$q&4QɠHPr0RjʩM?ԭ"C1x].#$1IJ3RA()=)41G+v~9˖/CUގL47aRɗ}pF#Ǥ7f,y|1="=MYU s)'Q~ %$Eq= t4 ]NsrèH.Y\ X,ӬaŻ8{9{^x^x^x%^z%^zcD}쩏>FǞQxD}O>EԧQz3D}>GQy!u6k]L|.,ĵ.Yz,_ qis-G\b\׺׺f!=rĵ.Yzϵq qis-G\b\׺׺f!=rĵ.Yzϵq@\bw1`!u1ջf] Xk]LkZ,DZŀ4 QV u1B{k] Xk]LkZ,DZŀ4 QV u1B{k] $Z,_ qi4WbB\b\+׺f!=Jĵ.,ĵ.YzϵqisD\bB\b\+׺f!=Jĵ.,ĵ.YzϵqisD\bm#u1ջ׺f]L|y$U.]KHqPRTGx0G ImpJ3Ӯ~f=8McM_}S]vqߛMY}Y䱬7/w`ǝU|Y^˺No6qg^tdځP4LtX8ra]]DN BUޒGWnQQB)#pS:9S?f?}ڕ]=-]z4wejQ`[G(&и뛦:kh6Y!h8mݖSyVVG (gԷ(FyF! -"JtPڼ~'گj'격kŭusM$ 4#R93".(Sj R̶u^*;,/Eb4Opp:_j & A _`7oQv/w.pqR}ֽn"2M:`"VdxL5m9y86@Os3)6KP7z(fyQ'uG>jPel ^<͜CAMXn ͘H:/v )'l'}IB+uF2o {,ؙA;&rHd3ZO׶b,W' SlIa0bɾ/x\҅7Ͳ -rL `}4Σ^_F(aY* -+HJV*Da_ -*4_ -jZUhS Rƽte ## †ӜJ޲^WϪK  E"TBtGw Q$4 ҝևBiH) -mLhHecd2ܴFu҈i|HG>m,vxlV+ Dr ӗ ][;]%(ѳDLkSFE"l;Ԩ3*dnř5'9:znD,7q '&~U1 9'qe^7أ$+ˉ uCRA+p"x=[$n6k̍}MI|V]=+ZB3Y-:70*37u?w{l6k<\\{ugiqCY_G\mRNtzܽӇhMB̹Ԡ1 }b- ncЂ -O~j^{Qo_HéPCC.R8WFPy4Pq8T*;%r\ۙ${;ijp3L5Ƅ``phAoJIw߯(MTPeyE[aKKޱsi꣝N'n[PjߚyrOH?B^6cj0ZnŤTxgQ -R4&SI?~M E٥>f|۱1*S&(PA2r)LJuTY _;+o`l>5{hLZCgz NhС Ts`ǤB,ڱ^hԈwͶ;GGco^N}|w% Dendstream -endobj - -29305 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29306 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29307 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29308 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29309 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29310 0 obj -<> -stream -HWko۸_E)RE|- -EmS4^l(I#k;#RM[C3}(7#{ݫ,fϟ|*'*bI.T,Q"F.]Y͂)~7nlSg_ v7/WيmP$1+Xc,٪ TM,u">uSɗۅ<q_ݗXoVA\ -%f -F"qmPd@\Er -S8Kbs1`q Y rsw1` B BKBKBKB+B+B'SO}BO<)>ԧS3O}F<>SsO}A/<,'Lbm ׺|.,µ.,_!Wb"\b"{k] Yzϵpp!PVu1d= -µ.,µ.,BZAŐE\+׺׺kZCs \bm ׺|.,µ.,_!Wb"\b"{k] Yzϵpp!PVu1d=Jµ.,µ.,BZIŐE\+ ׺׺k%ZCs$\bm׺|.,µ.,_!Wb"\b"{Uk] Yzϵpp!PVu1d=*µ.,µ.,BZEŐE\׺׺kZCs"\bmu1d] Xk] YzCP,{u\g+U1V',M jGv2\wݍuߝZlquk_{4})_i3TzXoꇱX xoƲɗ= YqX/G$3˩%*oͳ4 ~ Th(wnV'Lh쫌#l'H~i즜w9S̝CA͛W2$,wfiQw!O ߔ摎y蠊ӆyBdBD*H^ʶ6zcMݚcT^}𲬻monylGgAwiYI:kl̏˜ۛAjfBݭ_RqE͞@Ke'4d:'M.W)"S3 bܨ/^Դ u+צqyeS_[-oTNȗ#L"NM[+,vM%2\WZ M 74;9C jޥRwӳ\ۮ$|ip\8*LVUv#<:|H톯\yHm'0[r:=<LZ*m1ʪڔ-v -$&]a[b!1IKF̥.WEZ7.OPk&K "㱡Qn=e?pkĔԧ$@!Py \0͆9sf*4DñRBn]jTEr}k"~R(w3˼T1YLPL.>Si4{v,k+ ,TWM69[ؓYer8Hc;C9: -$=<Υ E!n! G#r$ֿʻ*JpE 򢈝=am_ǔ) qa,1%&9|🜱#́5n&(.kב$L8~GRdv{ZD[7MѢud,P( ,×)ɻ'r8s&(V(9PAߕA:2@:}OJ!fHyj -D٘)ԂqY=3&~ʙ-C pdm1R$xWB lLH=஄6Us.3"'BҷV@|7&cZeww]({?=gGD.xRS0PL5<ưl lRK l㉥R뙆r\e -v{#1ALdv$Va&?/~$)XPR[)Pw «D#x\Ag {;+E1XA ƫ->+fq&KEb7e,Spny";Gቹ(J._sD $h򾬉6IGb_*lt:Bq@6`p'0z#tt4֧٥nloE?=~7R=t~/\'T@fc#eާ^b΃Ψiנ57Kͩ芥B;!}kvOQendstream -endobj - -29311 0 obj -<>/P 480 0 R/Type/Annot/A 29312 0 R/Subtype/Link/Rect[93.5995026 445.229004 300.286987 464.908997]/Border[0 0 0]/H/N>> -endobj - -29312 0 obj -<> -endobj - -29313 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29314 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29315 0 obj -<> -endobj - -29316 0 obj -<> -endobj - -29317 0 obj -<> -endobj - -29318 0 obj -<> -endobj - -29319 0 obj -<> -endobj - -29320 0 obj -<> -endobj - -29321 0 obj -<> -endobj - -29322 0 obj -<> -endobj - -29323 0 obj -<> -endobj - -29324 0 obj -<> -endobj - -29325 0 obj -<> -endobj - -29326 0 obj -<> -endobj - -29327 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29328 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29329 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29330 0 obj -<> -stream -Hko>@ˆQp8,ڴ޵ -Zcveɫs>DӲ]Aj<>?EI㏟!\DKXqeD\|E/pÿd-umvj'NQ~!{Z<G͂& bjI\ǐrKG24 ,%e)J3nYbyƃ]/_uq&z-IWNt3&L"VL 5,80bFrk+X02?7=ĀYxr5f{QE{%K7Vikܜ4⹯5x7%eq- .n_-súm9J3k&N)R~;')0uWgcap@㓊.ܞϝ:Q:`D0 z6=zOA8q}K#\b8M@)d~'MJ )80yG}Bܜ&4^(1m`{ګw$=LDmnl۝7a:➲qz.`PrW^_s.`e,491VZMwaaS2Ui*(-+J<$*eĹ|x*xuj!s82y5\NOtqo# vh04nZ &tNئ#uuEIZnȠJBQ%.4C8!,^)P H v]wՃA-4u 9FTi跶җ[xTtW`0bzWa#x*UnC [z1v@ #<\v2jbĪ黝H5A@]3t.Zaã0Л8\[dj|^->y\3ZWsTendstream -endobj - -29331 0 obj -<>/P 1423 0 R/Type/Annot/A 29336 0 R/Subtype/Link/Rect[130.078995 539.020996 369.139008 673.916016]/Border[0 0 0]/H/N>> -endobj - -29332 0 obj -<>/P 1423 0 R/Type/Annot/A 29335 0 R/Subtype/Link/Rect[93.6001968 422.627991 199.356003 442.308014]/Border[0 0 0]/H/N>> -endobj - -29333 0 obj -<>/P 1423 0 R/Type/Annot/A 29334 0 R/Subtype/Link/Rect[93.6006012 182.628006 171.061005 202.307999]/Border[0 0 0]/H/N>> -endobj - -29334 0 obj -<> -endobj - -29335 0 obj -<> -endobj - -29336 0 obj -<> -endobj - -29337 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -29338 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -29339 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -29340 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -29341 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -29342 0 obj -<> -stream -HWko_e@uES!r r%u;\0LÙ;{ffO[O-޾bWе R3Um%sVFݺ=V}{`jc~67ג}V\VKq`*@ 9rS͂' LaBZtw'D-+vĿRd3;p~eUAZ=T _*rLH0 Km"G%6Dr"'% 2c/ 2c*c*c*c :c :co&co&co&co 6co 6c.c.c.c >c >c!cf!Զ$Ԇ}jԆ}jCT>PmjC>S$TET+ զ6@Mm"gjSj%(B QLPmjC>S$TE6!`VMm"gjSۦRjSr PjSr Q9(B QLPmjC>S"TE6!`VMm"gUjSզ6D3*B QLPmjԆ(}ZE6!`VMmJMm٧6@Mm٧6DSզ6D3jB QLPmjԆ(}ZM6!`VMm"TET զ6D3jB PjSj5Ԇ(}ZM6m*C6!*gE6!*guA3?T/r)`7Vτ eցqS.o^\q8Y~ (#vmzOW󓿖v_Hk0Ę3+]) άgFy  9/&c.ًey\S0]k̅9+3cv[`ﭪ5$<Ͻ93 @A(7JrUt%a. Vrʩ&N=W @i0GACƓ+..R -MjXjMr sMn[և"q@nhh'vȯ^?̶wMG19z{u=NԪGvL2aꏱpõ{C4Ea6‰HT@ b"9{=tVMDQO8wRu]#*۞xY=MrR P,_M(OGʓ 5M3}~|]O~2 lu! PwR؞l 3(RC3r}I`aK6@|=ȇ!:G2 i?ZiP5Wfx]JעwRV-ٗ尹2}IxHW,՗_m]ݞ`dYT_P_C[W)yj*t1Tsq*oe0E6EJdQ:frG zFJ(uT -ӱz_\Nl.ut& I75|lpǏͱ1]UR8\ a5$x1mcWc1BYֱK[B@.gJEJt}6___>:q<\2~5 &`// 6V1#܅tj"J=Vׂ rul3= $qj.{nʼn13F ~T c \E3+$^4>\8ڊ~20xӎm;B7K8k#HyQ; lAP +k˿*xda=L#pP7[;JB<^Ula~-?|>>AEe07)MT\)ؐ<$Ch?L]']y@Ti -@p\z { -h± -=6 8kwa!0)[LnwY `" )>!,%'tU{Bmq4pd=\?饴X! t>n[t嚫._ئR;<qŻyk[F[ tVQY^DY\ #0Z%Rpѩdb'db{tZoE2TxYxXt.4U"6Jll{^[C_Ϻ{4&fw"l-?Op]8Sh@P+x8(1vwG0p(;]ܼ{~l{`SXe,Mtw9FHWm`p;kl9ܖ$H?7Sq GZ*k7 a4LF7CF8,^u7j3ifundub8f)FvlĚ-"z9~g^~:P0t&yL)ym|@aGvZJ. Eb$PJ{.J(`9glbbo:ed;mqFظ>ccuT-Gӌ1G -ZЮc4,QPG|W'qˆ =oG)W0*nRzN3eTJJƤ4'䰭jV"_â ]jztCne<_bxHcI"7H"lC#vv&|ŵ\͐IgiYHiwu^~3ii?ITQGf2D(:V:A# rS,yr-vۢnE?ڼѵƻ]\8v`<R¦d&dp5RCGsdEgA֜1$MZ2JiDZۆΧtmNiUiN`!$d;2>6L((< @DٱP])JxĒڪO2<G@"P nC^I>r4oP#+fRɜ n^#eu(fUާiYj&HɭNsK'C%VdOj[da\>rVBXjKB;cRN6,][BBLS:,%%"QJ%eTϋ0SK'=pFdH2U,4!~dU3'W>(U&T/>h/ #xxۏWWs$ 8$nø.`YëWU)^B0D TS&/ֻ +OuI-~!ڼexe2}tی 'dʈT}lugGO63+uJ|'?.DY#="gW۟E0GUlxuwLœч۳8b{kYӽ9lHDe݂K4mrȋfPUlh _dX~k7Cd=C{yңtX-Wgs@ep͌2*g^\Ok[͏jG$u$il%:ԯQ*JKy!DҰ4 W_FQI1q:dPqtsyU; w`iRp\W?{6Z`Sm?X"/>~jzS9X=8*$O6HuKZKYG "k]C{JK C''e2U{ paf6wuQ-bJOB?PK(($Ш BVjWI= 3 -vM sڇQT֧Z?H >n=.jC;c6֊z_nrq OSB ^=} -Jg7Cy dKL@^w/L^'tendstream -endobj - -29343 0 obj -<>/P 7595 0 R/Type/Annot/A 29965 0 R/Subtype/Link/Rect[202 669 212 678]/Border[0 0 0]/H/N>> -endobj - -29344 0 obj -<>/P 7595 0 R/Type/Annot/A 29963 0 R/Subtype/Link/Rect[214 669 228 678]/Border[0 0 0]/H/N>> -endobj - -29345 0 obj -<>/P 7595 0 R/Type/Annot/A 29961 0 R/Subtype/Link/Rect[230 669 242 678]/Border[0 0 0]/H/N>> -endobj - -29346 0 obj -<>/P 7595 0 R/Type/Annot/A 29959 0 R/Subtype/Link/Rect[212 659 220 668]/Border[0 0 0]/H/N>> -endobj - -29347 0 obj -<>/P 7595 0 R/Type/Annot/A 29956 0 R/Subtype/Link/Rect[202 649 212 658]/Border[0 0 0]/H/N>> -endobj - -29348 0 obj -<>/P 7595 0 R/Type/Annot/A 29953 0 R/Subtype/Link/Rect[214 649 224 658]/Border[0 0 0]/H/N>> -endobj - -29349 0 obj -<>/P 7595 0 R/Type/Annot/A 29950 0 R/Subtype/Link/Rect[226 649 236 658]/Border[0 0 0]/H/N>> -endobj - -29350 0 obj -<>/P 7595 0 R/Type/Annot/A 29946 0 R/Subtype/Link/Rect[238 649 248 658]/Border[0 0 0]/H/N>> -endobj - -29351 0 obj -<>/P 7595 0 R/Type/Annot/A 29942 0 R/Subtype/Link/Rect[250 649 264 658]/Border[0 0 0]/H/N>> -endobj - -29352 0 obj -<>/P 7595 0 R/Type/Annot/A 29938 0 R/Subtype/Link/Rect[266 649 280 658]/Border[0 0 0]/H/N>> -endobj - -29353 0 obj -<>/P 7595 0 R/Type/Annot/A 29936 0 R/Subtype/Link/Rect[282 649 296 658]/Border[0 0 0]/H/N>> -endobj - -29354 0 obj -<>/P 7595 0 R/Type/Annot/A 29932 0 R/Subtype/Link/Rect[151 639 168 649]/Border[0 0 0]/H/N>> -endobj - -29355 0 obj -<>/P 7595 0 R/Type/Annot/A 29928 0 R/Subtype/Link/Rect[169 639 183 648]/Border[0 0 0]/H/N>> -endobj - -29356 0 obj -<>/P 7595 0 R/Type/Annot/A 29923 0 R/Subtype/Link/Rect[185 639 201 649]/Border[0 0 0]/H/N>> -endobj - -29357 0 obj -<>/P 7595 0 R/Type/Annot/A 29919 0 R/Subtype/Link/Rect[202 639 216 648]/Border[0 0 0]/H/N>> -endobj - -29358 0 obj -<>/P 7595 0 R/Type/Annot/A 29914 0 R/Subtype/Link/Rect[218 639 232 648]/Border[0 0 0]/H/N>> -endobj - -29359 0 obj -<>/P 7595 0 R/Type/Annot/A 29908 0 R/Subtype/Link/Rect[234 639 248 648]/Border[0 0 0]/H/N>> -endobj - -29360 0 obj -<>/P 7595 0 R/Type/Annot/A 29901 0 R/Subtype/Link/Rect[250 639 267 649]/Border[0 0 0]/H/N>> -endobj - -29361 0 obj -<>/P 7595 0 R/Type/Annot/A 29894 0 R/Subtype/Link/Rect[267 639 281 648]/Border[0 0 0]/H/N>> -endobj - -29362 0 obj -<>/P 7595 0 R/Type/Annot/A 29887 0 R/Subtype/Link/Rect[283 639 297 648]/Border[0 0 0]/H/N>> -endobj - -29363 0 obj -<>/P 7595 0 R/Type/Annot/A 29878 0 R/Subtype/Link/Rect[151 629 165 638]/Border[0 0 0]/H/N>> -endobj - -29364 0 obj -<>/P 7595 0 R/Type/Annot/A 29870 0 R/Subtype/Link/Rect[167 629 181 638]/Border[0 0 0]/H/N>> -endobj - -29365 0 obj -<>/P 7595 0 R/Type/Annot/A 29860 0 R/Subtype/Link/Rect[183 629 197 638]/Border[0 0 0]/H/N>> -endobj - -29366 0 obj -<>/P 7595 0 R/Type/Annot/A 29850 0 R/Subtype/Link/Rect[199 629 211 638]/Border[0 0 0]/H/N>> -endobj - -29367 0 obj -<>/P 7595 0 R/Type/Annot/A 29841 0 R/Subtype/Link/Rect[193 619 207 628]/Border[0 0 0]/H/N>> -endobj - -29368 0 obj -<>/P 7595 0 R/Type/Annot/A 29832 0 R/Subtype/Link/Rect[209 619 221 628]/Border[0 0 0]/H/N>> -endobj - -29369 0 obj -<>/P 7595 0 R/Type/Annot/A 29824 0 R/Subtype/Link/Rect[179 609 187 618]/Border[0 0 0]/H/N>> -endobj - -29370 0 obj -<>/P 7595 0 R/Type/Annot/A 29817 0 R/Subtype/Link/Rect[207 599 219 608]/Border[0 0 0]/H/N>> -endobj - -29371 0 obj -<>/P 7595 0 R/Type/Annot/A 29806 0 R/Subtype/Link/Rect[222 589 230 598]/Border[0 0 0]/H/N>> -endobj - -29372 0 obj -<>/P 7595 0 R/Type/Annot/A 29798 0 R/Subtype/Link/Rect[202 579 212 588]/Border[0 0 0]/H/N>> -endobj - -29373 0 obj -<>/P 7595 0 R/Type/Annot/A 29788 0 R/Subtype/Link/Rect[214 579 224 588]/Border[0 0 0]/H/N>> -endobj - -29374 0 obj -<>/P 7595 0 R/Type/Annot/A 29780 0 R/Subtype/Link/Rect[226 579 238 588]/Border[0 0 0]/H/N>> -endobj - -29375 0 obj -<>/P 7595 0 R/Type/Annot/A 29770 0 R/Subtype/Link/Rect[198 569 208 578]/Border[0 0 0]/H/N>> -endobj - -29376 0 obj -<>/P 7595 0 R/Type/Annot/A 29762 0 R/Subtype/Link/Rect[210 569 220 578]/Border[0 0 0]/H/N>> -endobj - -29377 0 obj -<>/P 7595 0 R/Type/Annot/A 29753 0 R/Subtype/Link/Rect[222 569 236 578]/Border[0 0 0]/H/N>> -endobj - -29378 0 obj -<>/P 7595 0 R/Type/Annot/A 29744 0 R/Subtype/Link/Rect[238 569 252 578]/Border[0 0 0]/H/N>> -endobj - -29379 0 obj -<>/P 7595 0 R/Type/Annot/A 29735 0 R/Subtype/Link/Rect[254 569 268 578]/Border[0 0 0]/H/N>> -endobj - -29380 0 obj -<>/P 7595 0 R/Type/Annot/A 29728 0 R/Subtype/Link/Rect[270 569 282 578]/Border[0 0 0]/H/N>> -endobj - -29381 0 obj -<>/P 7595 0 R/Type/Annot/A 29722 0 R/Subtype/Link/Rect[198 559 206 568]/Border[0 0 0]/H/N>> -endobj - -29382 0 obj -<>/P 7595 0 R/Type/Annot/A 29713 0 R/Subtype/Link/Rect[193 549 207 558]/Border[0 0 0]/H/N>> -endobj - -29383 0 obj -<>/P 7595 0 R/Type/Annot/A 29704 0 R/Subtype/Link/Rect[209 549 223 558]/Border[0 0 0]/H/N>> -endobj - -29384 0 obj -<>/P 7595 0 R/Type/Annot/A 29929 0 R/Subtype/Link/Rect[225 549 237 558]/Border[0 0 0]/H/N>> -endobj - -29385 0 obj -<>/P 7595 0 R/Type/Annot/A 29991 0 R/Subtype/Link/Rect[196 539 206 548]/Border[0 0 0]/H/N>> -endobj - -29386 0 obj -<>/P 7595 0 R/Type/Annot/A 29918 0 R/Subtype/Link/Rect[208 539 221 549]/Border[0 0 0]/H/N>> -endobj - -29387 0 obj -<>/P 7595 0 R/Type/Annot/A 29913 0 R/Subtype/Link/Rect[221 539 231 548]/Border[0 0 0]/H/N>> -endobj - -29388 0 obj -<>/P 7595 0 R/Type/Annot/A 29906 0 R/Subtype/Link/Rect[233 539 250 549]/Border[0 0 0]/H/N>> -endobj - -29389 0 obj -<>/P 7595 0 R/Type/Annot/A 29899 0 R/Subtype/Link/Rect[251 539 265 548]/Border[0 0 0]/H/N>> -endobj - -29390 0 obj -<>/P 7595 0 R/Type/Annot/A 29893 0 R/Subtype/Link/Rect[267 539 279 548]/Border[0 0 0]/H/N>> -endobj - -29391 0 obj -<>/P 7595 0 R/Type/Annot/A 29885 0 R/Subtype/Link/Rect[193 529 207 538]/Border[0 0 0]/H/N>> -endobj - -29392 0 obj -<>/P 7595 0 R/Type/Annot/A 29876 0 R/Subtype/Link/Rect[209 529 223 538]/Border[0 0 0]/H/N>> -endobj - -29393 0 obj -<>/P 7595 0 R/Type/Annot/A 29867 0 R/Subtype/Link/Rect[225 529 237 538]/Border[0 0 0]/H/N>> -endobj - -29394 0 obj -<>/P 7595 0 R/Type/Annot/A 29857 0 R/Subtype/Link/Rect[202 519 212 528]/Border[0 0 0]/H/N>> -endobj - -29395 0 obj -<>/P 7595 0 R/Type/Annot/A 29847 0 R/Subtype/Link/Rect[214 519 227 529]/Border[0 0 0]/H/N>> -endobj - -29396 0 obj -<>/P 7595 0 R/Type/Annot/A 29837 0 R/Subtype/Link/Rect[228 519 236 528]/Border[0 0 0]/H/N>> -endobj - -29397 0 obj -<>/P 7595 0 R/Type/Annot/A 29828 0 R/Subtype/Link/Rect[193 509 207 518]/Border[0 0 0]/H/N>> -endobj - -29398 0 obj -<>/P 7595 0 R/Type/Annot/A 29821 0 R/Subtype/Link/Rect[209 509 221 518]/Border[0 0 0]/H/N>> -endobj - -29399 0 obj -<>/P 7595 0 R/Type/Annot/A 29813 0 R/Subtype/Link/Rect[170 499 182 508]/Border[0 0 0]/H/N>> -endobj - -29400 0 obj -<>/P 7595 0 R/Type/Annot/A 29802 0 R/Subtype/Link/Rect[207 489 217 498]/Border[0 0 0]/H/N>> -endobj - -29401 0 obj -<>/P 7595 0 R/Type/Annot/A 29793 0 R/Subtype/Link/Rect[219 489 229 498]/Border[0 0 0]/H/N>> -endobj - -29402 0 obj -<>/P 7595 0 R/Type/Annot/A 29784 0 R/Subtype/Link/Rect[231 489 243 498]/Border[0 0 0]/H/N>> -endobj - -29403 0 obj -<>/P 7595 0 R/Type/Annot/A 29776 0 R/Subtype/Link/Rect[193 479 207 488]/Border[0 0 0]/H/N>> -endobj - -29404 0 obj -<>/P 7595 0 R/Type/Annot/A 29767 0 R/Subtype/Link/Rect[209 479 223 488]/Border[0 0 0]/H/N>> -endobj - -29405 0 obj -<>/P 7595 0 R/Type/Annot/A 29758 0 R/Subtype/Link/Rect[225 479 239 488]/Border[0 0 0]/H/N>> -endobj - -29406 0 obj -<>/P 7595 0 R/Type/Annot/A 29748 0 R/Subtype/Link/Rect[241 479 253 488]/Border[0 0 0]/H/N>> -endobj - -29407 0 obj -<>/P 7595 0 R/Type/Annot/A 29740 0 R/Subtype/Link/Rect[198 469 212 478]/Border[0 0 0]/H/N>> -endobj - -29408 0 obj -<>/P 7595 0 R/Type/Annot/A 29731 0 R/Subtype/Link/Rect[214 469 226 478]/Border[0 0 0]/H/N>> -endobj - -29409 0 obj -<>/P 7595 0 R/Type/Annot/A 29724 0 R/Subtype/Link/Rect[193 459 207 468]/Border[0 0 0]/H/N>> -endobj - -29410 0 obj -<>/P 7595 0 R/Type/Annot/A 29716 0 R/Subtype/Link/Rect[209 459 221 468]/Border[0 0 0]/H/N>> -endobj - -29411 0 obj -<>/P 7595 0 R/Type/Annot/A 29706 0 R/Subtype/Link/Rect[207 449 217 458]/Border[0 0 0]/H/N>> -endobj - -29412 0 obj -<>/P 7595 0 R/Type/Annot/A 29927 0 R/Subtype/Link/Rect[219 449 236 459]/Border[0 0 0]/H/N>> -endobj - -29413 0 obj -<>/P 7595 0 R/Type/Annot/A 29921 0 R/Subtype/Link/Rect[236 449 250 458]/Border[0 0 0]/H/N>> -endobj - -29414 0 obj -<>/P 7595 0 R/Type/Annot/A 43731 0 R/Subtype/Link/Rect[252 449 266 458]/Border[0 0 0]/H/N>> -endobj - -29415 0 obj -<>/P 7595 0 R/Type/Annot/A 29910 0 R/Subtype/Link/Rect[268 449 285 459]/Border[0 0 0]/H/N>> -endobj - -29416 0 obj -<>/P 7595 0 R/Type/Annot/A 29902 0 R/Subtype/Link/Rect[286 449 300 458]/Border[0 0 0]/H/N>> -endobj - -29417 0 obj -<>/P 7595 0 R/Type/Annot/A 29983 0 R/Subtype/Link/Rect[151 439 163 448]/Border[0 0 0]/H/N>> -endobj - -29418 0 obj -<>/P 7595 0 R/Type/Annot/A 29886 0 R/Subtype/Link/Rect[198 429 212 438]/Border[0 0 0]/H/N>> -endobj - -29419 0 obj -<>/P 7595 0 R/Type/Annot/A 29877 0 R/Subtype/Link/Rect[214 429 226 438]/Border[0 0 0]/H/N>> -endobj - -29420 0 obj -<>/P 7595 0 R/Type/Annot/A 29868 0 R/Subtype/Link/Rect[217 419 225 428]/Border[0 0 0]/H/N>> -endobj - -29421 0 obj -<>/P 7595 0 R/Type/Annot/A 29858 0 R/Subtype/Link/Rect[217 409 227 418]/Border[0 0 0]/H/N>> -endobj - -29422 0 obj -<>/P 7595 0 R/Type/Annot/A 29975 0 R/Subtype/Link/Rect[229 409 239 418]/Border[0 0 0]/H/N>> -endobj - -29423 0 obj -<>/P 7595 0 R/Type/Annot/A 29836 0 R/Subtype/Link/Rect[241 409 253 419]/Border[0 0 0]/H/N>> -endobj - -29424 0 obj -<>/P 7595 0 R/Type/Annot/A 43363 0 R/Subtype/Link/Rect[254 409 264 418]/Border[0 0 0]/H/N>> -endobj - -29425 0 obj -<>/P 7595 0 R/Type/Annot/A 29819 0 R/Subtype/Link/Rect[266 409 283 419]/Border[0 0 0]/H/N>> -endobj - -29426 0 obj -<>/P 7595 0 R/Type/Annot/A 29810 0 R/Subtype/Link/Rect[283 409 297 418]/Border[0 0 0]/H/N>> -endobj - -29427 0 obj -<>/P 7595 0 R/Type/Annot/A 43231 0 R/Subtype/Link/Rect[151 399 165 408]/Border[0 0 0]/H/N>> -endobj - -29428 0 obj -<>/P 7595 0 R/Type/Annot/A 29790 0 R/Subtype/Link/Rect[167 399 181 408]/Border[0 0 0]/H/N>> -endobj - -29429 0 obj -<>/P 7595 0 R/Type/Annot/A 29782 0 R/Subtype/Link/Rect[183 399 197 408]/Border[0 0 0]/H/N>> -endobj - -29430 0 obj -<>/P 7595 0 R/Type/Annot/A 29773 0 R/Subtype/Link/Rect[199 399 215 409]/Border[0 0 0]/H/N>> -endobj - -29431 0 obj -<>/P 7595 0 R/Type/Annot/A 29764 0 R/Subtype/Link/Rect[216 399 230 408]/Border[0 0 0]/H/N>> -endobj - -29432 0 obj -<>/P 7595 0 R/Type/Annot/A 29754 0 R/Subtype/Link/Rect[232 399 246 408]/Border[0 0 0]/H/N>> -endobj - -29433 0 obj -<>/P 7595 0 R/Type/Annot/A 29745 0 R/Subtype/Link/Rect[248 399 260 408]/Border[0 0 0]/H/N>> -endobj - -29434 0 obj -<>/P 7595 0 R/Type/Annot/A 29734 0 R/Subtype/Link/Rect[188 389 194 398]/Border[0 0 0]/H/N>> -endobj - -29435 0 obj -<>/P 7595 0 R/Type/Annot/A 29727 0 R/Subtype/Link/Rect[196 389 206 398]/Border[0 0 0]/H/N>> -endobj - -29436 0 obj -<>/P 7595 0 R/Type/Annot/A 29719 0 R/Subtype/Link/Rect[208 389 220 399]/Border[0 0 0]/H/N>> -endobj - -29437 0 obj -<>/P 7595 0 R/Type/Annot/A 29709 0 R/Subtype/Link/Rect[221 389 231 398]/Border[0 0 0]/H/N>> -endobj - -29438 0 obj -<>/P 7595 0 R/Type/Annot/A 29989 0 R/Subtype/Link/Rect[233 389 243 398]/Border[0 0 0]/H/N>> -endobj - -29439 0 obj -<>/P 7595 0 R/Type/Annot/A 42775 0 R/Subtype/Link/Rect[245 389 255 398]/Border[0 0 0]/H/N>> -endobj - -29440 0 obj -<>/P 7595 0 R/Type/Annot/A 29912 0 R/Subtype/Link/Rect[257 389 267 398]/Border[0 0 0]/H/N>> -endobj - -29441 0 obj -<>/P 7595 0 R/Type/Annot/A 29905 0 R/Subtype/Link/Rect[269 389 279 398]/Border[0 0 0]/H/N>> -endobj - -29442 0 obj -<>/P 7595 0 R/Type/Annot/A 29897 0 R/Subtype/Link/Rect[281 389 291 398]/Border[0 0 0]/H/N>> -endobj - -29443 0 obj -<>/P 7595 0 R/Type/Annot/A 29891 0 R/Subtype/Link/Rect[151 379 168 389]/Border[0 0 0]/H/N>> -endobj - -29444 0 obj -<>/P 7595 0 R/Type/Annot/A 29882 0 R/Subtype/Link/Rect[169 379 183 388]/Border[0 0 0]/H/N>> -endobj - -29445 0 obj -<>/P 7595 0 R/Type/Annot/A 42565 0 R/Subtype/Link/Rect[185 379 201 389]/Border[0 0 0]/H/N>> -endobj - -29446 0 obj -<>/P 7595 0 R/Type/Annot/A 29864 0 R/Subtype/Link/Rect[202 379 216 388]/Border[0 0 0]/H/N>> -endobj - -29447 0 obj -<>/P 7595 0 R/Type/Annot/A 29853 0 R/Subtype/Link/Rect[218 379 231 388]/Border[0 0 0]/H/N>> -endobj - -29448 0 obj -<>/P 7595 0 R/Type/Annot/A 29843 0 R/Subtype/Link/Rect[233 379 247 388]/Border[0 0 0]/H/N>> -endobj - -29449 0 obj -<>/P 7595 0 R/Type/Annot/A 29968 0 R/Subtype/Link/Rect[249 379 266 389]/Border[0 0 0]/H/N>> -endobj - -29450 0 obj -<>/P 7595 0 R/Type/Annot/A 29823 0 R/Subtype/Link/Rect[266 379 280 388]/Border[0 0 0]/H/N>> -endobj - -29451 0 obj -<>/P 7595 0 R/Type/Annot/A 29814 0 R/Subtype/Link/Rect[151 369 168 379]/Border[0 0 0]/H/N>> -endobj - -29452 0 obj -<>/P 7595 0 R/Type/Annot/A 29804 0 R/Subtype/Link/Rect[169 369 183 378]/Border[0 0 0]/H/N>> -endobj - -29453 0 obj -<>/P 7595 0 R/Type/Annot/A 29795 0 R/Subtype/Link/Rect[185 369 199 378]/Border[0 0 0]/H/N>> -endobj - -29454 0 obj -<>/P 7595 0 R/Type/Annot/A 29785 0 R/Subtype/Link/Rect[201 369 217 379]/Border[0 0 0]/H/N>> -endobj - -29455 0 obj -<>/P 7595 0 R/Type/Annot/A 29955 0 R/Subtype/Link/Rect[218 369 232 378]/Border[0 0 0]/H/N>> -endobj - -29456 0 obj -<>/P 7595 0 R/Type/Annot/A 29766 0 R/Subtype/Link/Rect[234 369 248 378]/Border[0 0 0]/H/N>> -endobj - -29457 0 obj -<>/P 7595 0 R/Type/Annot/A 29757 0 R/Subtype/Link/Rect[250 369 264 378]/Border[0 0 0]/H/N>> -endobj - -29458 0 obj -<>/P 7595 0 R/Type/Annot/A 29747 0 R/Subtype/Link/Rect[266 369 283 379]/Border[0 0 0]/H/N>> -endobj - -29459 0 obj -<>/P 7595 0 R/Type/Annot/A 29737 0 R/Subtype/Link/Rect[283 369 297 378]/Border[0 0 0]/H/N>> -endobj - -29460 0 obj -<>/P 7595 0 R/Type/Annot/A 29935 0 R/Subtype/Link/Rect[151 359 165 368]/Border[0 0 0]/H/N>> -endobj - -29461 0 obj -<>/P 7595 0 R/Type/Annot/A 29720 0 R/Subtype/Link/Rect[167 359 181 368]/Border[0 0 0]/H/N>> -endobj - -29462 0 obj -<>/P 7595 0 R/Type/Annot/A 29711 0 R/Subtype/Link/Rect[183 359 197 368]/Border[0 0 0]/H/N>> -endobj - -29463 0 obj -<>/P 7595 0 R/Type/Annot/A 29922 0 R/Subtype/Link/Rect[199 359 213 368]/Border[0 0 0]/H/N>> -endobj - -29464 0 obj -<>/P 7595 0 R/Type/Annot/A 29917 0 R/Subtype/Link/Rect[215 359 229 368]/Border[0 0 0]/H/N>> -endobj - -29465 0 obj -<>/P 7595 0 R/Type/Annot/A 29909 0 R/Subtype/Link/Rect[231 359 245 368]/Border[0 0 0]/H/N>> -endobj - -29466 0 obj -<>/P 7595 0 R/Type/Annot/A 29900 0 R/Subtype/Link/Rect[247 359 264 369]/Border[0 0 0]/H/N>> -endobj - -29467 0 obj -<>/P 7595 0 R/Type/Annot/A 29892 0 R/Subtype/Link/Rect[265 359 279 368]/Border[0 0 0]/H/N>> -endobj - -29468 0 obj -<>/P 7595 0 R/Type/Annot/A 29884 0 R/Subtype/Link/Rect[151 349 168 359]/Border[0 0 0]/H/N>> -endobj - -29469 0 obj -<>/P 7595 0 R/Type/Annot/A 29874 0 R/Subtype/Link/Rect[169 349 183 358]/Border[0 0 0]/H/N>> -endobj - -29470 0 obj -<>/P 7595 0 R/Type/Annot/A 29865 0 R/Subtype/Link/Rect[185 349 201 359]/Border[0 0 0]/H/N>> -endobj - -29471 0 obj -<>/P 7595 0 R/Type/Annot/A 29854 0 R/Subtype/Link/Rect[202 349 216 358]/Border[0 0 0]/H/N>> -endobj - -29472 0 obj -<>/P 7595 0 R/Type/Annot/A 29970 0 R/Subtype/Link/Rect[218 349 232 358]/Border[0 0 0]/H/N>> -endobj - -29473 0 obj -<>/P 7595 0 R/Type/Annot/A 29831 0 R/Subtype/Link/Rect[234 349 248 358]/Border[0 0 0]/H/N>> -endobj - -29474 0 obj -<>/P 7595 0 R/Type/Annot/A 29822 0 R/Subtype/Link/Rect[250 349 264 358]/Border[0 0 0]/H/N>> -endobj - -29475 0 obj -<>/P 7595 0 R/Type/Annot/A 41321 0 R/Subtype/Link/Rect[266 349 280 358]/Border[0 0 0]/H/N>> -endobj - -29476 0 obj -<>/P 7595 0 R/Type/Annot/A 29803 0 R/Subtype/Link/Rect[282 349 296 358]/Border[0 0 0]/H/N>> -endobj - -29477 0 obj -<>/P 7595 0 R/Type/Annot/A 29792 0 R/Subtype/Link/Rect[151 340 165 348]/Border[0 0 0]/H/N>> -endobj - -29478 0 obj -<>/P 7595 0 R/Type/Annot/A 29783 0 R/Subtype/Link/Rect[167 340 184 349]/Border[0 0 0]/H/N>> -endobj - -29479 0 obj -<>/P 7595 0 R/Type/Annot/A 29774 0 R/Subtype/Link/Rect[185 340 199 348]/Border[0 0 0]/H/N>> -endobj - -29480 0 obj -<>/P 7595 0 R/Type/Annot/A 29763 0 R/Subtype/Link/Rect[201 340 215 348]/Border[0 0 0]/H/N>> -endobj - -29481 0 obj -<>/P 7595 0 R/Type/Annot/A 29995 0 R/Subtype/Link/Rect[217 340 231 348]/Border[0 0 0]/H/N>> -endobj - -29482 0 obj -<>/P 7595 0 R/Type/Annot/A 29743 0 R/Subtype/Link/Rect[233 340 247 348]/Border[0 0 0]/H/N>> -endobj - -29483 0 obj -<>/P 7595 0 R/Type/Annot/A 29733 0 R/Subtype/Link/Rect[249 340 263 348]/Border[0 0 0]/H/N>> -endobj - -29484 0 obj -<>/P 7595 0 R/Type/Annot/A 29725 0 R/Subtype/Link/Rect[265 340 281 349]/Border[0 0 0]/H/N>> -endobj - -29485 0 obj -<>/P 7595 0 R/Type/Annot/A 29717 0 R/Subtype/Link/Rect[282 340 296 348]/Border[0 0 0]/H/N>> -endobj - -29486 0 obj -<>/P 7595 0 R/Type/Annot/A 29707 0 R/Subtype/Link/Rect[151 330 168 339]/Border[0 0 0]/H/N>> -endobj - -29487 0 obj -<>/P 7595 0 R/Type/Annot/A 29915 0 R/Subtype/Link/Rect[169 330 183 338]/Border[0 0 0]/H/N>> -endobj - -29488 0 obj -<>/P 7595 0 R/Type/Annot/A 29907 0 R/Subtype/Link/Rect[185 330 199 338]/Border[0 0 0]/H/N>> -endobj - -29489 0 obj -<>/P 7595 0 R/Type/Annot/A 29898 0 R/Subtype/Link/Rect[201 330 215 338]/Border[0 0 0]/H/N>> -endobj - -29490 0 obj -<>/P 7595 0 R/Type/Annot/A 39488 0 R/Subtype/Link/Rect[217 330 233 339]/Border[0 0 0]/H/N>> -endobj - -29491 0 obj -<>/P 7595 0 R/Type/Annot/A 29883 0 R/Subtype/Link/Rect[234 330 248 338]/Border[0 0 0]/H/N>> -endobj - -29492 0 obj -<>/P 7595 0 R/Type/Annot/A 29873 0 R/Subtype/Link/Rect[250 330 264 338]/Border[0 0 0]/H/N>> -endobj - -29493 0 obj -<>/P 7595 0 R/Type/Annot/A 29863 0 R/Subtype/Link/Rect[266 330 283 339]/Border[0 0 0]/H/N>> -endobj - -29494 0 obj -<>/P 7595 0 R/Type/Annot/A 29851 0 R/Subtype/Link/Rect[283 330 297 338]/Border[0 0 0]/H/N>> -endobj - -29495 0 obj -<>/P 7595 0 R/Type/Annot/A 29840 0 R/Subtype/Link/Rect[151 320 165 328]/Border[0 0 0]/H/N>> -endobj - -29496 0 obj -<>/P 7595 0 R/Type/Annot/A 29830 0 R/Subtype/Link/Rect[167 320 181 328]/Border[0 0 0]/H/N>> -endobj - -29497 0 obj -<>/P 7595 0 R/Type/Annot/A 29820 0 R/Subtype/Link/Rect[183 320 197 328]/Border[0 0 0]/H/N>> -endobj - -29498 0 obj -<>/P 7595 0 R/Type/Annot/A 29809 0 R/Subtype/Link/Rect[199 320 213 328]/Border[0 0 0]/H/N>> -endobj - -29499 0 obj -<>/P 7595 0 R/Type/Annot/A 29800 0 R/Subtype/Link/Rect[215 320 229 328]/Border[0 0 0]/H/N>> -endobj - -29500 0 obj -<>/P 7595 0 R/Type/Annot/A 29789 0 R/Subtype/Link/Rect[231 320 245 328]/Border[0 0 0]/H/N>> -endobj - -29501 0 obj -<>/P 7595 0 R/Type/Annot/A 29778 0 R/Subtype/Link/Rect[247 320 261 328]/Border[0 0 0]/H/N>> -endobj - -29502 0 obj -<>/P 7595 0 R/Type/Annot/A 29768 0 R/Subtype/Link/Rect[263 320 275 328]/Border[0 0 0]/H/N>> -endobj - -29503 0 obj -<>/P 7595 0 R/Type/Annot/A 29759 0 R/Subtype/Link/Rect[190 310 198 318]/Border[0 0 0]/H/N>> -endobj - -29504 0 obj -<>/P 7595 0 R/Type/Annot/A 29749 0 R/Subtype/Link/Rect[231 300 241 308]/Border[0 0 0]/H/N>> -endobj - -29505 0 obj -<>/P 7595 0 R/Type/Annot/A 29739 0 R/Subtype/Link/Rect[243 300 257 308]/Border[0 0 0]/H/N>> -endobj - -29506 0 obj -<>/P 7595 0 R/Type/Annot/A 38125 0 R/Subtype/Link/Rect[259 300 271 308]/Border[0 0 0]/H/N>> -endobj - -29507 0 obj -<>/P 7595 0 R/Type/Annot/A 29924 0 R/Subtype/Link/Rect[197 280 210 289]/Border[0 0 0]/H/N>> -endobj - -29508 0 obj -<>/P 7595 0 R/Type/Annot/A 29710 0 R/Subtype/Link/Rect[211 280 221 288]/Border[0 0 0]/H/N>> -endobj - -29509 0 obj -<>/P 7595 0 R/Type/Annot/A 29911 0 R/Subtype/Link/Rect[223 280 237 288]/Border[0 0 0]/H/N>> -endobj - -29510 0 obj -<>/P 7595 0 R/Type/Annot/A 29904 0 R/Subtype/Link/Rect[239 280 251 288]/Border[0 0 0]/H/N>> -endobj - -29511 0 obj -<>/P 7595 0 R/Type/Annot/A 29896 0 R/Subtype/Link/Rect[190 270 198 278]/Border[0 0 0]/H/N>> -endobj - -29512 0 obj -<>/P 7595 0 R/Type/Annot/A 29889 0 R/Subtype/Link/Rect[196 260 210 268]/Border[0 0 0]/H/N>> -endobj - -29513 0 obj -<>/P 7595 0 R/Type/Annot/A 29976 0 R/Subtype/Link/Rect[212 260 226 268]/Border[0 0 0]/H/N>> -endobj - -29514 0 obj -<>/P 7595 0 R/Type/Annot/A 29973 0 R/Subtype/Link/Rect[228 260 240 268]/Border[0 0 0]/H/N>> -endobj - -29515 0 obj -<>/P 7595 0 R/Type/Annot/A 29856 0 R/Subtype/Link/Rect[202 250 208 258]/Border[0 0 0]/H/N>> -endobj - -29516 0 obj -<>/P 7595 0 R/Type/Annot/A 29846 0 R/Subtype/Link/Rect[210 250 216 258]/Border[0 0 0]/H/N>> -endobj - -29517 0 obj -<>/P 7595 0 R/Type/Annot/A 37971 0 R/Subtype/Link/Rect[218 250 232 258]/Border[0 0 0]/H/N>> -endobj - -29518 0 obj -<>/P 7595 0 R/Type/Annot/A 29825 0 R/Subtype/Link/Rect[234 250 251 259]/Border[0 0 0]/H/N>> -endobj - -29519 0 obj -<>/P 7595 0 R/Type/Annot/A 29815 0 R/Subtype/Link/Rect[252 250 266 258]/Border[0 0 0]/H/N>> -endobj - -29520 0 obj -<>/P 7595 0 R/Type/Annot/A 29958 0 R/Subtype/Link/Rect[268 250 284 259]/Border[0 0 0]/H/N>> -endobj - -29521 0 obj -<>/P 7595 0 R/Type/Annot/A 29794 0 R/Subtype/Link/Rect[285 250 299 258]/Border[0 0 0]/H/N>> -endobj - -29522 0 obj -<>/P 7595 0 R/Type/Annot/A 37907 0 R/Subtype/Link/Rect[151 240 165 248]/Border[0 0 0]/H/N>> -endobj - -29523 0 obj -<>/P 7595 0 R/Type/Annot/A 29772 0 R/Subtype/Link/Rect[167 240 181 248]/Border[0 0 0]/H/N>> -endobj - -29524 0 obj -<>/P 7595 0 R/Type/Annot/A 29941 0 R/Subtype/Link/Rect[183 240 197 248]/Border[0 0 0]/H/N>> -endobj - -29525 0 obj -<>/P 7595 0 R/Type/Annot/A 29752 0 R/Subtype/Link/Rect[199 240 213 248]/Border[0 0 0]/H/N>> -endobj - -29526 0 obj -<>/P 7595 0 R/Type/Annot/A 30053 0 R/Subtype/Link/Rect[215 240 227 248]/Border[0 0 0]/H/N>> -endobj - -29527 0 obj -<>/P 7595 0 R/Type/Annot/A 30050 0 R/Subtype/Link/Rect[190 230 202 238]/Border[0 0 0]/H/N>> -endobj - -29528 0 obj -<>/P 7595 0 R/Type/Annot/A 30049 0 R/Subtype/Link/Rect[202 220 216 228]/Border[0 0 0]/H/N>> -endobj - -29529 0 obj -<>/P 7595 0 R/Type/Annot/A 30048 0 R/Subtype/Link/Rect[218 220 232 228]/Border[0 0 0]/H/N>> -endobj - -29530 0 obj -<>/P 7595 0 R/Type/Annot/A 30047 0 R/Subtype/Link/Rect[234 220 251 229]/Border[0 0 0]/H/N>> -endobj - -29531 0 obj -<>/P 7595 0 R/Type/Annot/A 30046 0 R/Subtype/Link/Rect[252 220 266 228]/Border[0 0 0]/H/N>> -endobj - -29532 0 obj -<>/P 7595 0 R/Type/Annot/A 30045 0 R/Subtype/Link/Rect[268 220 282 228]/Border[0 0 0]/H/N>> -endobj - -29533 0 obj -<>/P 7595 0 R/Type/Annot/A 30044 0 R/Subtype/Link/Rect[284 220 298 228]/Border[0 0 0]/H/N>> -endobj - -29534 0 obj -<>/P 7595 0 R/Type/Annot/A 30043 0 R/Subtype/Link/Rect[300 220 312 228]/Border[0 0 0]/H/N>> -endobj - -29535 0 obj -<>/P 7595 0 R/Type/Annot/A 30042 0 R/Subtype/Link/Rect[190 210 202 218]/Border[0 0 0]/H/N>> -endobj - -29536 0 obj -<>/P 7595 0 R/Type/Annot/A 30041 0 R/Subtype/Link/Rect[207 200 217 208]/Border[0 0 0]/H/N>> -endobj - -29537 0 obj -<>/P 7595 0 R/Type/Annot/A 30040 0 R/Subtype/Link/Rect[219 200 229 208]/Border[0 0 0]/H/N>> -endobj - -29538 0 obj -<>/P 7595 0 R/Type/Annot/A 30039 0 R/Subtype/Link/Rect[231 200 241 208]/Border[0 0 0]/H/N>> -endobj - -29539 0 obj -<>/P 7595 0 R/Type/Annot/A 30038 0 R/Subtype/Link/Rect[243 200 256 209]/Border[0 0 0]/H/N>> -endobj - -29540 0 obj -<>/P 7595 0 R/Type/Annot/A 30037 0 R/Subtype/Link/Rect[256 200 266 208]/Border[0 0 0]/H/N>> -endobj - -29541 0 obj -<>/P 7595 0 R/Type/Annot/A 30036 0 R/Subtype/Link/Rect[268 200 278 208]/Border[0 0 0]/H/N>> -endobj - -29542 0 obj -<>/P 7595 0 R/Type/Annot/A 30035 0 R/Subtype/Link/Rect[280 200 290 208]/Border[0 0 0]/H/N>> -endobj - -29543 0 obj -<>/P 7595 0 R/Type/Annot/A 30034 0 R/Subtype/Link/Rect[292 200 304 208]/Border[0 0 0]/H/N>> -endobj - -29544 0 obj -<>/P 7595 0 R/Type/Annot/A 30033 0 R/Subtype/Link/Rect[207 190 221 198]/Border[0 0 0]/H/N>> -endobj - -29545 0 obj -<>/P 7595 0 R/Type/Annot/A 30032 0 R/Subtype/Link/Rect[223 190 237 198]/Border[0 0 0]/H/N>> -endobj - -29546 0 obj -<>/P 7595 0 R/Type/Annot/A 30031 0 R/Subtype/Link/Rect[239 190 253 198]/Border[0 0 0]/H/N>> -endobj - -29547 0 obj -<>/P 7595 0 R/Type/Annot/A 30030 0 R/Subtype/Link/Rect[255 190 269 198]/Border[0 0 0]/H/N>> -endobj - -29548 0 obj -<>/P 7595 0 R/Type/Annot/A 30029 0 R/Subtype/Link/Rect[271 190 283 198]/Border[0 0 0]/H/N>> -endobj - -29549 0 obj -<>/P 7595 0 R/Type/Annot/A 30028 0 R/Subtype/Link/Rect[190 180 200 188]/Border[0 0 0]/H/N>> -endobj - -29550 0 obj -<>/P 7595 0 R/Type/Annot/A 30027 0 R/Subtype/Link/Rect[202 180 214 188]/Border[0 0 0]/H/N>> -endobj - -29551 0 obj -<>/P 7595 0 R/Type/Annot/A 30026 0 R/Subtype/Link/Rect[236 170 252 179]/Border[0 0 0]/H/N>> -endobj - -29552 0 obj -<>/P 7595 0 R/Type/Annot/A 30025 0 R/Subtype/Link/Rect[253 170 265 178]/Border[0 0 0]/H/N>> -endobj - -29553 0 obj -<>/P 7595 0 R/Type/Annot/A 30024 0 R/Subtype/Link/Rect[190 160 202 168]/Border[0 0 0]/H/N>> -endobj - -29554 0 obj -<>/P 7595 0 R/Type/Annot/A 30023 0 R/Subtype/Link/Rect[177 150 189 158]/Border[0 0 0]/H/N>> -endobj - -29555 0 obj -<>/P 7595 0 R/Type/Annot/A 30022 0 R/Subtype/Link/Rect[376 659 388 668]/Border[0 0 0]/H/N>> -endobj - -29556 0 obj -<>/P 7595 0 R/Type/Annot/A 30021 0 R/Subtype/Link/Rect[449 649 465 659]/Border[0 0 0]/H/N>> -endobj - -29557 0 obj -<>/P 7595 0 R/Type/Annot/A 30020 0 R/Subtype/Link/Rect[466 649 478 658]/Border[0 0 0]/H/N>> -endobj - -29558 0 obj -<>/P 7595 0 R/Type/Annot/A 30019 0 R/Subtype/Link/Rect[398 639 410 648]/Border[0 0 0]/H/N>> -endobj - -29559 0 obj -<>/P 7595 0 R/Type/Annot/A 30018 0 R/Subtype/Link/Rect[401 629 415 638]/Border[0 0 0]/H/N>> -endobj - -29560 0 obj -<>/P 7595 0 R/Type/Annot/A 30017 0 R/Subtype/Link/Rect[417 629 431 638]/Border[0 0 0]/H/N>> -endobj - -29561 0 obj -<>/P 7595 0 R/Type/Annot/A 30016 0 R/Subtype/Link/Rect[433 629 449 639]/Border[0 0 0]/H/N>> -endobj - -29562 0 obj -<>/P 7595 0 R/Type/Annot/A 30015 0 R/Subtype/Link/Rect[450 629 464 638]/Border[0 0 0]/H/N>> -endobj - -29563 0 obj -<>/P 7595 0 R/Type/Annot/A 30014 0 R/Subtype/Link/Rect[466 629 478 638]/Border[0 0 0]/H/N>> -endobj - -29564 0 obj -<>/P 7595 0 R/Type/Annot/A 30013 0 R/Subtype/Link/Rect[404 619 416 628]/Border[0 0 0]/H/N>> -endobj - -29565 0 obj -<>/P 7595 0 R/Type/Annot/A 30012 0 R/Subtype/Link/Rect[404 609 416 618]/Border[0 0 0]/H/N>> -endobj - -29566 0 obj -<>/P 7595 0 R/Type/Annot/A 30011 0 R/Subtype/Link/Rect[404 599 416 608]/Border[0 0 0]/H/N>> -endobj - -29567 0 obj -<>/P 7595 0 R/Type/Annot/A 30010 0 R/Subtype/Link/Rect[389 589 397 598]/Border[0 0 0]/H/N>> -endobj - -29568 0 obj -<>/P 7595 0 R/Type/Annot/A 30009 0 R/Subtype/Link/Rect[370 579 383 589]/Border[0 0 0]/H/N>> -endobj - -29569 0 obj -<>/P 7595 0 R/Type/Annot/A 30007 0 R/Subtype/Link/Rect[383 579 391 588]/Border[0 0 0]/H/N>> -endobj - -29570 0 obj -<>/P 7595 0 R/Type/Annot/A 30006 0 R/Subtype/Link/Rect[377 569 393 579]/Border[0 0 0]/H/N>> -endobj - -29571 0 obj -<>/P 7595 0 R/Type/Annot/A 30005 0 R/Subtype/Link/Rect[394 569 406 578]/Border[0 0 0]/H/N>> -endobj - -29572 0 obj -<>/P 7595 0 R/Type/Annot/A 30004 0 R/Subtype/Link/Rect[404 559 416 568]/Border[0 0 0]/H/N>> -endobj - -29573 0 obj -<>/P 7595 0 R/Type/Annot/A 30003 0 R/Subtype/Link/Rect[444 549 452 558]/Border[0 0 0]/H/N>> -endobj - -29574 0 obj -<>/P 7595 0 R/Type/Annot/A 30002 0 R/Subtype/Link/Rect[415 539 425 548]/Border[0 0 0]/H/N>> -endobj - -29575 0 obj -<>/P 7595 0 R/Type/Annot/A 30001 0 R/Subtype/Link/Rect[427 539 440 549]/Border[0 0 0]/H/N>> -endobj - -29576 0 obj -<>/P 7595 0 R/Type/Annot/A 30000 0 R/Subtype/Link/Rect[440 539 450 548]/Border[0 0 0]/H/N>> -endobj - -29577 0 obj -<>/P 7595 0 R/Type/Annot/A 29999 0 R/Subtype/Link/Rect[452 539 466 548]/Border[0 0 0]/H/N>> -endobj - -29578 0 obj -<>/P 7595 0 R/Type/Annot/A 29998 0 R/Subtype/Link/Rect[468 539 482 548]/Border[0 0 0]/H/N>> -endobj - -29579 0 obj -<>/P 7595 0 R/Type/Annot/A 29997 0 R/Subtype/Link/Rect[484 539 501 549]/Border[0 0 0]/H/N>> -endobj - -29580 0 obj -<>/P 7595 0 R/Type/Annot/A 29996 0 R/Subtype/Link/Rect[502 539 516 548]/Border[0 0 0]/H/N>> -endobj - -29581 0 obj -<>/P 7595 0 R/Type/Annot/A 29994 0 R/Subtype/Link/Rect[359 529 373 538]/Border[0 0 0]/H/N>> -endobj - -29582 0 obj -<>/P 7595 0 R/Type/Annot/A 29992 0 R/Subtype/Link/Rect[375 529 389 538]/Border[0 0 0]/H/N>> -endobj - -29583 0 obj -<>/P 7595 0 R/Type/Annot/A 29990 0 R/Subtype/Link/Rect[391 529 405 538]/Border[0 0 0]/H/N>> -endobj - -29584 0 obj -<>/P 7595 0 R/Type/Annot/A 29988 0 R/Subtype/Link/Rect[407 529 421 538]/Border[0 0 0]/H/N>> -endobj - -29585 0 obj -<>/P 7595 0 R/Type/Annot/A 29987 0 R/Subtype/Link/Rect[423 529 435 538]/Border[0 0 0]/H/N>> -endobj - -29586 0 obj -<>/P 7595 0 R/Type/Annot/A 29986 0 R/Subtype/Link/Rect[406 519 416 528]/Border[0 0 0]/H/N>> -endobj - -29587 0 obj -<>/P 7595 0 R/Type/Annot/A 29985 0 R/Subtype/Link/Rect[418 519 430 529]/Border[0 0 0]/H/N>> -endobj - -29588 0 obj -<>/P 7595 0 R/Type/Annot/A 29984 0 R/Subtype/Link/Rect[431 519 441 528]/Border[0 0 0]/H/N>> -endobj - -29589 0 obj -<>/P 7595 0 R/Type/Annot/A 29982 0 R/Subtype/Link/Rect[443 519 457 528]/Border[0 0 0]/H/N>> -endobj - -29590 0 obj -<>/P 7595 0 R/Type/Annot/A 29981 0 R/Subtype/Link/Rect[459 519 473 528]/Border[0 0 0]/H/N>> -endobj - -29591 0 obj -<>/P 7595 0 R/Type/Annot/A 29980 0 R/Subtype/Link/Rect[475 519 489 528]/Border[0 0 0]/H/N>> -endobj - -29592 0 obj -<>/P 7595 0 R/Type/Annot/A 29979 0 R/Subtype/Link/Rect[491 519 505 528]/Border[0 0 0]/H/N>> -endobj - -29593 0 obj -<>/P 7595 0 R/Type/Annot/A 29977 0 R/Subtype/Link/Rect[359 509 373 518]/Border[0 0 0]/H/N>> -endobj - -29594 0 obj -<>/P 7595 0 R/Type/Annot/A 29974 0 R/Subtype/Link/Rect[375 509 392 519]/Border[0 0 0]/H/N>> -endobj - -29595 0 obj -<>/P 7595 0 R/Type/Annot/A 29972 0 R/Subtype/Link/Rect[393 509 407 518]/Border[0 0 0]/H/N>> -endobj - -29596 0 obj -<>/P 7595 0 R/Type/Annot/A 29969 0 R/Subtype/Link/Rect[409 509 423 518]/Border[0 0 0]/H/N>> -endobj - -29597 0 obj -<>/P 7595 0 R/Type/Annot/A 29967 0 R/Subtype/Link/Rect[425 509 439 518]/Border[0 0 0]/H/N>> -endobj - -29598 0 obj -<>/P 7595 0 R/Type/Annot/A 29966 0 R/Subtype/Link/Rect[441 509 455 518]/Border[0 0 0]/H/N>> -endobj - -29599 0 obj -<>/P 7595 0 R/Type/Annot/A 29964 0 R/Subtype/Link/Rect[457 509 471 518]/Border[0 0 0]/H/N>> -endobj - -29600 0 obj -<>/P 7595 0 R/Type/Annot/A 29962 0 R/Subtype/Link/Rect[473 509 487 518]/Border[0 0 0]/H/N>> -endobj - -29601 0 obj -<>/P 7595 0 R/Type/Annot/A 29960 0 R/Subtype/Link/Rect[489 509 502 518]/Border[0 0 0]/H/N>> -endobj - -29602 0 obj -<>/P 7595 0 R/Type/Annot/A 29957 0 R/Subtype/Link/Rect[504 509 516 518]/Border[0 0 0]/H/N>> -endobj - -29603 0 obj -<>/P 7595 0 R/Type/Annot/A 29954 0 R/Subtype/Link/Rect[382 499 396 508]/Border[0 0 0]/H/N>> -endobj - -29604 0 obj -<>/P 7595 0 R/Type/Annot/A 29951 0 R/Subtype/Link/Rect[398 499 410 508]/Border[0 0 0]/H/N>> -endobj - -29605 0 obj -<>/P 7595 0 R/Type/Annot/A 29947 0 R/Subtype/Link/Rect[410 489 422 498]/Border[0 0 0]/H/N>> -endobj - -29606 0 obj -<>/P 7595 0 R/Type/Annot/A 29943 0 R/Subtype/Link/Rect[430 479 446 489]/Border[0 0 0]/H/N>> -endobj - -29607 0 obj -<>/P 7595 0 R/Type/Annot/A 29939 0 R/Subtype/Link/Rect[447 479 461 488]/Border[0 0 0]/H/N>> -endobj - -29608 0 obj -<>/P 7595 0 R/Type/Annot/A 29937 0 R/Subtype/Link/Rect[463 479 477 488]/Border[0 0 0]/H/N>> -endobj - -29609 0 obj -<>/P 7595 0 R/Type/Annot/A 29933 0 R/Subtype/Link/Rect[479 479 491 488]/Border[0 0 0]/H/N>> -endobj - -29610 0 obj -<>/P 7595 0 R/Type/Annot/A 29930 0 R/Subtype/Link/Rect[410 469 420 478]/Border[0 0 0]/H/N>> -endobj - -29611 0 obj -<>/P 7595 0 R/Type/Annot/A 29925 0 R/Subtype/Link/Rect[422 469 430 478]/Border[0 0 0]/H/N>> -endobj - -29612 0 obj -<>/P 7595 0 R/Type/Annot/A 29920 0 R/Subtype/Link/Rect[415 459 425 468]/Border[0 0 0]/H/N>> -endobj - -29613 0 obj -<>/P 7595 0 R/Type/Annot/A 29916 0 R/Subtype/Link/Rect[427 459 435 468]/Border[0 0 0]/H/N>> -endobj - -29614 0 obj -<>/P 7595 0 R/Type/Annot/A 29978 0 R/Subtype/Link/Rect[462 449 475 459]/Border[0 0 0]/H/N>> -endobj - -29615 0 obj -<>/P 7595 0 R/Type/Annot/A 29903 0 R/Subtype/Link/Rect[475 449 483 458]/Border[0 0 0]/H/N>> -endobj - -29616 0 obj -<>/P 7595 0 R/Type/Annot/A 29895 0 R/Subtype/Link/Rect[406 439 418 449]/Border[0 0 0]/H/N>> -endobj - -29617 0 obj -<>/P 7595 0 R/Type/Annot/A 29888 0 R/Subtype/Link/Rect[419 439 429 448]/Border[0 0 0]/H/N>> -endobj - -29618 0 obj -<>/P 7595 0 R/Type/Annot/A 29880 0 R/Subtype/Link/Rect[431 439 444 449]/Border[0 0 0]/H/N>> -endobj - -29619 0 obj -<>/P 7595 0 R/Type/Annot/A 29871 0 R/Subtype/Link/Rect[444 439 454 448]/Border[0 0 0]/H/N>> -endobj - -29620 0 obj -<>/P 7595 0 R/Type/Annot/A 29862 0 R/Subtype/Link/Rect[456 439 469 449]/Border[0 0 0]/H/N>> -endobj - -29621 0 obj -<>/P 7595 0 R/Type/Annot/A 29852 0 R/Subtype/Link/Rect[470 439 480 448]/Border[0 0 0]/H/N>> -endobj - -29622 0 obj -<>/P 7595 0 R/Type/Annot/A 29844 0 R/Subtype/Link/Rect[482 439 496 448]/Border[0 0 0]/H/N>> -endobj - -29623 0 obj -<>/P 7595 0 R/Type/Annot/A 29834 0 R/Subtype/Link/Rect[498 439 510 448]/Border[0 0 0]/H/N>> -endobj - -29624 0 obj -<>/P 7595 0 R/Type/Annot/A 29826 0 R/Subtype/Link/Rect[410 429 420 438]/Border[0 0 0]/H/N>> -endobj - -29625 0 obj -<>/P 7595 0 R/Type/Annot/A 29818 0 R/Subtype/Link/Rect[422 429 432 438]/Border[0 0 0]/H/N>> -endobj - -29626 0 obj -<>/P 7595 0 R/Type/Annot/A 29808 0 R/Subtype/Link/Rect[434 429 448 438]/Border[0 0 0]/H/N>> -endobj - -29627 0 obj -<>/P 7595 0 R/Type/Annot/A 29799 0 R/Subtype/Link/Rect[450 429 464 438]/Border[0 0 0]/H/N>> -endobj - -29628 0 obj -<>/P 7595 0 R/Type/Annot/A 29940 0 R/Subtype/Link/Rect[466 429 480 438]/Border[0 0 0]/H/N>> -endobj - -29629 0 obj -<>/P 7595 0 R/Type/Annot/A 29781 0 R/Subtype/Link/Rect[482 429 499 439]/Border[0 0 0]/H/N>> -endobj - -29630 0 obj -<>/P 7595 0 R/Type/Annot/A 29771 0 R/Subtype/Link/Rect[499 429 513 438]/Border[0 0 0]/H/N>> -endobj - -29631 0 obj -<>/P 7595 0 R/Type/Annot/A 29931 0 R/Subtype/Link/Rect[359 419 373 428]/Border[0 0 0]/H/N>> -endobj - -29632 0 obj -<>/P 7595 0 R/Type/Annot/A 29755 0 R/Subtype/Link/Rect[375 419 389 428]/Border[0 0 0]/H/N>> -endobj - -29633 0 obj -<>/P 7595 0 R/Type/Annot/A 29746 0 R/Subtype/Link/Rect[391 419 405 428]/Border[0 0 0]/H/N>> -endobj - -29634 0 obj -<>/P 7595 0 R/Type/Annot/A 29738 0 R/Subtype/Link/Rect[407 419 424 429]/Border[0 0 0]/H/N>> -endobj - -29635 0 obj -<>/P 7595 0 R/Type/Annot/A 29729 0 R/Subtype/Link/Rect[425 419 439 428]/Border[0 0 0]/H/N>> -endobj - -29636 0 obj -<>/P 7595 0 R/Type/Annot/A 29723 0 R/Subtype/Link/Rect[441 419 455 428]/Border[0 0 0]/H/N>> -endobj - -29637 0 obj -<>/P 7595 0 R/Type/Annot/A 29715 0 R/Subtype/Link/Rect[457 419 469 428]/Border[0 0 0]/H/N>> -endobj - -29638 0 obj -<>/P 7595 0 R/Type/Annot/A 29705 0 R/Subtype/Link/Rect[425 409 435 418]/Border[0 0 0]/H/N>> -endobj - -29639 0 obj -<>/P 7595 0 R/Type/Annot/A 29881 0 R/Subtype/Link/Rect[437 409 451 418]/Border[0 0 0]/H/N>> -endobj - -29640 0 obj -<>/P 7595 0 R/Type/Annot/A 29872 0 R/Subtype/Link/Rect[453 409 465 418]/Border[0 0 0]/H/N>> -endobj - -29641 0 obj -<>/P 7595 0 R/Type/Annot/A 29993 0 R/Subtype/Link/Rect[403 399 415 408]/Border[0 0 0]/H/N>> -endobj - -29642 0 obj -<>/P 7595 0 R/Type/Annot/A 44702 0 R/Subtype/Link/Rect[386 379 402 389]/Border[0 0 0]/H/N>> -endobj - -29643 0 obj -<>/P 7595 0 R/Type/Annot/A 29842 0 R/Subtype/Link/Rect[403 379 415 388]/Border[0 0 0]/H/N>> -endobj - -29644 0 obj -<>/P 7595 0 R/Type/Annot/A 29833 0 R/Subtype/Link/Rect[365 369 382 379]/Border[0 0 0]/H/N>> -endobj - -29645 0 obj -<>/P 7595 0 R/Type/Annot/A 29952 0 R/Subtype/Link/Rect[383 369 395 378]/Border[0 0 0]/H/N>> -endobj - -29646 0 obj -<>/P 7595 0 R/Type/Annot/A 29816 0 R/Subtype/Link/Rect[415 359 425 368]/Border[0 0 0]/H/N>> -endobj - -29647 0 obj -<>/P 7595 0 R/Type/Annot/A 29805 0 R/Subtype/Link/Rect[427 359 440 369]/Border[0 0 0]/H/N>> -endobj - -29648 0 obj -<>/P 7595 0 R/Type/Annot/A 29796 0 R/Subtype/Link/Rect[440 359 450 368]/Border[0 0 0]/H/N>> -endobj - -29649 0 obj -<>/P 7595 0 R/Type/Annot/A 29787 0 R/Subtype/Link/Rect[452 359 466 368]/Border[0 0 0]/H/N>> -endobj - -29650 0 obj -<>/P 7595 0 R/Type/Annot/A 29779 0 R/Subtype/Link/Rect[468 359 480 368]/Border[0 0 0]/H/N>> -endobj - -29651 0 obj -<>/P 7595 0 R/Type/Annot/A 29769 0 R/Subtype/Link/Rect[406 349 420 358]/Border[0 0 0]/H/N>> -endobj - -29652 0 obj -<>/P 7595 0 R/Type/Annot/A 29761 0 R/Subtype/Link/Rect[422 349 434 358]/Border[0 0 0]/H/N>> -endobj - -29653 0 obj -<>/P 7595 0 R/Type/Annot/A 29751 0 R/Subtype/Link/Rect[451 312 463 320]/Border[0 0 0]/H/N>> -endobj - -29654 0 obj -<>/P 7595 0 R/Type/Annot/A 29742 0 R/Subtype/Link/Rect[382 302 390 310]/Border[0 0 0]/H/N>> -endobj - -29655 0 obj -<>/P 7595 0 R/Type/Annot/A 29732 0 R/Subtype/Link/Rect[376 292 388 300]/Border[0 0 0]/H/N>> -endobj - -29656 0 obj -<>/P 7595 0 R/Type/Annot/A 29726 0 R/Subtype/Link/Rect[418 282 430 290]/Border[0 0 0]/H/N>> -endobj - -29657 0 obj -<>/P 7595 0 R/Type/Annot/A 29718 0 R/Subtype/Link/Rect[447 272 461 280]/Border[0 0 0]/H/N>> -endobj - -29658 0 obj -<>/P 7595 0 R/Type/Annot/A 29708 0 R/Subtype/Link/Rect[463 272 480 281]/Border[0 0 0]/H/N>> -endobj - -29659 0 obj -<>/P 7595 0 R/Type/Annot/A 29879 0 R/Subtype/Link/Rect[480 272 492 280]/Border[0 0 0]/H/N>> -endobj - -29660 0 obj -<>/P 7595 0 R/Type/Annot/A 29869 0 R/Subtype/Link/Rect[415 262 425 270]/Border[0 0 0]/H/N>> -endobj - -29661 0 obj -<>/P 7595 0 R/Type/Annot/A 29859 0 R/Subtype/Link/Rect[427 262 437 270]/Border[0 0 0]/H/N>> -endobj - -29662 0 obj -<>/P 7595 0 R/Type/Annot/A 29848 0 R/Subtype/Link/Rect[439 262 447 270]/Border[0 0 0]/H/N>> -endobj - -29663 0 obj -<>/P 7595 0 R/Type/Annot/A 29838 0 R/Subtype/Link/Rect[420 252 430 260]/Border[0 0 0]/H/N>> -endobj - -29664 0 obj -<>/P 7595 0 R/Type/Annot/A 29829 0 R/Subtype/Link/Rect[432 252 442 260]/Border[0 0 0]/H/N>> -endobj - -29665 0 obj -<>/P 7595 0 R/Type/Annot/A 29948 0 R/Subtype/Link/Rect[444 252 452 260]/Border[0 0 0]/H/N>> -endobj - -29666 0 obj -<>/P 7595 0 R/Type/Annot/A 29812 0 R/Subtype/Link/Rect[401 242 413 250]/Border[0 0 0]/H/N>> -endobj - -29667 0 obj -<>/P 7595 0 R/Type/Annot/A 29801 0 R/Subtype/Link/Rect[406 232 420 240]/Border[0 0 0]/H/N>> -endobj - -29668 0 obj -<>/P 7595 0 R/Type/Annot/A 29791 0 R/Subtype/Link/Rect[422 232 436 240]/Border[0 0 0]/H/N>> -endobj - -29669 0 obj -<>/P 7595 0 R/Type/Annot/A 29934 0 R/Subtype/Link/Rect[438 232 452 240]/Border[0 0 0]/H/N>> -endobj - -29670 0 obj -<>/P 7595 0 R/Type/Annot/A 29775 0 R/Subtype/Link/Rect[454 232 470 241]/Border[0 0 0]/H/N>> -endobj - -29671 0 obj -<>/P 7595 0 R/Type/Annot/A 29765 0 R/Subtype/Link/Rect[471 232 483 240]/Border[0 0 0]/H/N>> -endobj - -29672 0 obj -<>/P 7595 0 R/Type/Annot/A 29756 0 R/Subtype/Link/Rect[386 212 392 220]/Border[0 0 0]/H/N>> -endobj - -29673 0 obj -<>/P 7595 0 R/Type/Annot/A 30008 0 R/Subtype/Link/Rect[394 212 408 220]/Border[0 0 0]/H/N>> -endobj - -29674 0 obj -<>/P 7595 0 R/Type/Annot/A 29736 0 R/Subtype/Link/Rect[410 212 424 220]/Border[0 0 0]/H/N>> -endobj - -29675 0 obj -<>/P 7595 0 R/Type/Annot/A 29971 0 R/Subtype/Link/Rect[426 212 438 220]/Border[0 0 0]/H/N>> -endobj - -29676 0 obj -<>/P 7595 0 R/Type/Annot/A 29721 0 R/Subtype/Link/Rect[392 202 406 210]/Border[0 0 0]/H/N>> -endobj - -29677 0 obj -<>/P 7595 0 R/Type/Annot/A 29712 0 R/Subtype/Link/Rect[408 202 422 210]/Border[0 0 0]/H/N>> -endobj - -29678 0 obj -<>/P 7595 0 R/Type/Annot/A 29875 0 R/Subtype/Link/Rect[424 202 438 210]/Border[0 0 0]/H/N>> -endobj - -29679 0 obj -<>/P 7595 0 R/Type/Annot/A 29866 0 R/Subtype/Link/Rect[440 202 454 210]/Border[0 0 0]/H/N>> -endobj - -29680 0 obj -<>/P 7595 0 R/Type/Annot/A 29855 0 R/Subtype/Link/Rect[456 202 470 210]/Border[0 0 0]/H/N>> -endobj - -29681 0 obj -<>/P 7595 0 R/Type/Annot/A 29845 0 R/Subtype/Link/Rect[472 202 486 210]/Border[0 0 0]/H/N>> -endobj - -29682 0 obj -<>/P 7595 0 R/Type/Annot/A 29835 0 R/Subtype/Link/Rect[488 202 504 211]/Border[0 0 0]/H/N>> -endobj - -29683 0 obj -<>/P 7595 0 R/Type/Annot/A 29827 0 R/Subtype/Link/Rect[505 202 519 210]/Border[0 0 0]/H/N>> -endobj - -29684 0 obj -<>/P 7595 0 R/Type/Annot/A 29945 0 R/Subtype/Link/Rect[359 192 373 200]/Border[0 0 0]/H/N>> -endobj - -29685 0 obj -<>/P 7595 0 R/Type/Annot/A 29807 0 R/Subtype/Link/Rect[375 192 387 200]/Border[0 0 0]/H/N>> -endobj - -29686 0 obj -<>/P 7595 0 R/Type/Annot/A 29797 0 R/Subtype/Link/Rect[406 182 420 190]/Border[0 0 0]/H/N>> -endobj - -29687 0 obj -<>/P 7595 0 R/Type/Annot/A 29786 0 R/Subtype/Link/Rect[422 182 434 190]/Border[0 0 0]/H/N>> -endobj - -29688 0 obj -<>/P 7595 0 R/Type/Annot/A 29777 0 R/Subtype/Link/Rect[414 172 426 180]/Border[0 0 0]/H/N>> -endobj - -29689 0 obj -<>/P 7595 0 R/Type/Annot/A 29926 0 R/Subtype/Link/Rect[406 162 420 170]/Border[0 0 0]/H/N>> -endobj - -29690 0 obj -<>/P 7595 0 R/Type/Annot/A 29760 0 R/Subtype/Link/Rect[422 162 436 170]/Border[0 0 0]/H/N>> -endobj - -29691 0 obj -<>/P 7595 0 R/Type/Annot/A 29750 0 R/Subtype/Link/Rect[438 162 452 170]/Border[0 0 0]/H/N>> -endobj - -29692 0 obj -<>/P 7595 0 R/Type/Annot/A 29741 0 R/Subtype/Link/Rect[454 162 466 170]/Border[0 0 0]/H/N>> -endobj - -29693 0 obj -<>/P 7595 0 R/Type/Annot/A 29730 0 R/Subtype/Link/Rect[406 152 420 160]/Border[0 0 0]/H/N>> -endobj - -29694 0 obj -<>/P 7595 0 R/Type/Annot/A 29890 0 R/Subtype/Link/Rect[422 152 436 160]/Border[0 0 0]/H/N>> -endobj - -29695 0 obj -<>/P 7595 0 R/Type/Annot/A 29714 0 R/Subtype/Link/Rect[438 152 452 160]/Border[0 0 0]/H/N>> -endobj - -29696 0 obj -<>/P 7595 0 R/Type/Annot/A 29703 0 R/Subtype/Link/Rect[454 152 468 160]/Border[0 0 0]/H/N>> -endobj - -29697 0 obj -<>/P 7595 0 R/Type/Annot/A 29861 0 R/Subtype/Link/Rect[470 152 482 160]/Border[0 0 0]/H/N>> -endobj - -29698 0 obj -<>/P 7595 0 R/Type/Annot/A 29849 0 R/Subtype/Link/Rect[387 668 398 677]/Border[0 0 0]/H/N>> -endobj - -29699 0 obj -<>/P 7595 0 R/Type/Annot/A 29839 0 R/Subtype/Link/Rect[412 548 423 557]/Border[0 0 0]/H/N>> -endobj - -29700 0 obj -<>/P 7595 0 R/Type/Annot/A 29949 0 R/Subtype/Link/Rect[427 548 442 557]/Border[0 0 0]/H/N>> -endobj - -29701 0 obj -<>/P 7595 0 R/Type/Annot/A 29944 0 R/Subtype/Link/Rect[198 298 210 307]/Border[0 0 0]/H/N>> -endobj - -29702 0 obj -<>/P 7595 0 R/Type/Annot/A 29811 0 R/Subtype/Link/Rect[212 298 229 307]/Border[0 0 0]/H/N>> -endobj - -29703 0 obj -<> -endobj - -29704 0 obj -<> -endobj - -29705 0 obj -<> -endobj - -29706 0 obj -<> -endobj - -29707 0 obj -<> -endobj - -29708 0 obj -<> -endobj - -29709 0 obj -<> -endobj - -29710 0 obj -<> -endobj - -29711 0 obj -<> -endobj - -29712 0 obj -<> -endobj - -29713 0 obj -<> -endobj - -29714 0 obj -<> -endobj - -29715 0 obj -<> -endobj - -29716 0 obj -<> -endobj - -29717 0 obj -<> -endobj - -29718 0 obj -<> -endobj - -29719 0 obj -<> -endobj - -29720 0 obj -<> -endobj - -29721 0 obj -<> -endobj - -29722 0 obj -<> -endobj - -29723 0 obj -<> -endobj - -29724 0 obj -<> -endobj - -29725 0 obj -<> -endobj - -29726 0 obj -<> -endobj - -29727 0 obj -<> -endobj - -29728 0 obj -<> -endobj - -29729 0 obj -<> -endobj - -29730 0 obj -<> -endobj - -29731 0 obj -<> -endobj - -29732 0 obj -<> -endobj - -29733 0 obj -<> -endobj - -29734 0 obj -<> -endobj - -29735 0 obj -<> -endobj - -29736 0 obj -<> -endobj - -29737 0 obj -<> -endobj - -29738 0 obj -<> -endobj - -29739 0 obj -<> -endobj - -29740 0 obj -<> -endobj - -29741 0 obj -<> -endobj - -29742 0 obj -<> -endobj - -29743 0 obj -<> -endobj - -29744 0 obj -<> -endobj - -29745 0 obj -<> -endobj - -29746 0 obj -<> -endobj - -29747 0 obj -<> -endobj - -29748 0 obj -<> -endobj - -29749 0 obj -<> -endobj - -29750 0 obj -<> -endobj - -29751 0 obj -<> -endobj - -29752 0 obj -<> -endobj - -29753 0 obj -<> -endobj - -29754 0 obj -<> -endobj - -29755 0 obj -<> -endobj - -29756 0 obj -<> -endobj - -29757 0 obj -<> -endobj - -29758 0 obj -<> -endobj - -29759 0 obj -<> -endobj - -29760 0 obj -<> -endobj - -29761 0 obj -<> -endobj - -29762 0 obj -<> -endobj - -29763 0 obj -<> -endobj - -29764 0 obj -<> -endobj - -29765 0 obj -<> -endobj - -29766 0 obj -<> -endobj - -29767 0 obj -<> -endobj - -29768 0 obj -<> -endobj - -29769 0 obj -<> -endobj - -29770 0 obj -<> -endobj - -29771 0 obj -<> -endobj - -29772 0 obj -<> -endobj - -29773 0 obj -<> -endobj - -29774 0 obj -<> -endobj - -29775 0 obj -<> -endobj - -29776 0 obj -<> -endobj - -29777 0 obj -<> -endobj - -29778 0 obj -<> -endobj - -29779 0 obj -<> -endobj - -29780 0 obj -<> -endobj - -29781 0 obj -<> -endobj - -29782 0 obj -<> -endobj - -29783 0 obj -<> -endobj - -29784 0 obj -<> -endobj - -29785 0 obj -<> -endobj - -29786 0 obj -<> -endobj - -29787 0 obj -<> -endobj - -29788 0 obj -<> -endobj - -29789 0 obj -<> -endobj - -29790 0 obj -<> -endobj - -29791 0 obj -<> -endobj - -29792 0 obj -<> -endobj - -29793 0 obj -<> -endobj - -29794 0 obj -<> -endobj - -29795 0 obj -<> -endobj - -29796 0 obj -<> -endobj - -29797 0 obj -<> -endobj - -29798 0 obj -<> -endobj - -29799 0 obj -<> -endobj - -29800 0 obj -<> -endobj - -29801 0 obj -<> -endobj - -29802 0 obj -<> -endobj - -29803 0 obj -<> -endobj - -29804 0 obj -<> -endobj - -29805 0 obj -<> -endobj - -29806 0 obj -<> -endobj - -29807 0 obj -<> -endobj - -29808 0 obj -<> -endobj - -29809 0 obj -<> -endobj - -29810 0 obj -<> -endobj - -29811 0 obj -<> -endobj - -29812 0 obj -<> -endobj - -29813 0 obj -<> -endobj - -29814 0 obj -<> -endobj - -29815 0 obj -<> -endobj - -29816 0 obj -<> -endobj - -29817 0 obj -<> -endobj - -29818 0 obj -<> -endobj - -29819 0 obj -<> -endobj - -29820 0 obj -<> -endobj - -29821 0 obj -<> -endobj - -29822 0 obj -<> -endobj - -29823 0 obj -<> -endobj - -29824 0 obj -<> -endobj - -29825 0 obj -<> -endobj - -29826 0 obj -<> -endobj - -29827 0 obj -<> -endobj - -29828 0 obj -<> -endobj - -29829 0 obj -<> -endobj - -29830 0 obj -<> -endobj - -29831 0 obj -<> -endobj - -29832 0 obj -<> -endobj - -29833 0 obj -<> -endobj - -29834 0 obj -<> -endobj - -29835 0 obj -<> -endobj - -29836 0 obj -<> -endobj - -29837 0 obj -<> -endobj - -29838 0 obj -<> -endobj - -29839 0 obj -<> -endobj - -29840 0 obj -<> -endobj - -29841 0 obj -<> -endobj - -29842 0 obj -<> -endobj - -29843 0 obj -<> -endobj - -29844 0 obj -<> -endobj - -29845 0 obj -<> -endobj - -29846 0 obj -<> -endobj - -29847 0 obj -<> -endobj - -29848 0 obj -<> -endobj - -29849 0 obj -<> -endobj - -29850 0 obj -<> -endobj - -29851 0 obj -<> -endobj - -29852 0 obj -<> -endobj - -29853 0 obj -<> -endobj - -29854 0 obj -<> -endobj - -29855 0 obj -<> -endobj - -29856 0 obj -<> -endobj - -29857 0 obj -<> -endobj - -29858 0 obj -<> -endobj - -29859 0 obj -<> -endobj - -29860 0 obj -<> -endobj - -29861 0 obj -<> -endobj - -29862 0 obj -<> -endobj - -29863 0 obj -<> -endobj - -29864 0 obj -<> -endobj - -29865 0 obj -<> -endobj - -29866 0 obj -<> -endobj - -29867 0 obj -<> -endobj - -29868 0 obj -<> -endobj - -29869 0 obj -<> -endobj - -29870 0 obj -<> -endobj - -29871 0 obj -<> -endobj - -29872 0 obj -<> -endobj - -29873 0 obj -<> -endobj - -29874 0 obj -<> -endobj - -29875 0 obj -<> -endobj - -29876 0 obj -<> -endobj - -29877 0 obj -<> -endobj - -29878 0 obj -<> -endobj - -29879 0 obj -<> -endobj - -29880 0 obj -<> -endobj - -29881 0 obj -<> -endobj - -29882 0 obj -<> -endobj - -29883 0 obj -<> -endobj - -29884 0 obj -<> -endobj - -29885 0 obj -<> -endobj - -29886 0 obj -<> -endobj - -29887 0 obj -<> -endobj - -29888 0 obj -<> -endobj - -29889 0 obj -<> -endobj - -29890 0 obj -<> -endobj - -29891 0 obj -<> -endobj - -29892 0 obj -<> -endobj - -29893 0 obj -<> -endobj - -29894 0 obj -<> -endobj - -29895 0 obj -<> -endobj - -29896 0 obj -<> -endobj - -29897 0 obj -<> -endobj - -29898 0 obj -<> -endobj - -29899 0 obj -<> -endobj - -29900 0 obj -<> -endobj - -29901 0 obj -<> -endobj - -29902 0 obj -<> -endobj - -29903 0 obj -<> -endobj - -29904 0 obj -<> -endobj - -29905 0 obj -<> -endobj - -29906 0 obj -<> -endobj - -29907 0 obj -<> -endobj - -29908 0 obj -<> -endobj - -29909 0 obj -<> -endobj - -29910 0 obj -<> -endobj - -29911 0 obj -<> -endobj - -29912 0 obj -<> -endobj - -29913 0 obj -<> -endobj - -29914 0 obj -<> -endobj - -29915 0 obj -<> -endobj - -29916 0 obj -<> -endobj - -29917 0 obj -<> -endobj - -29918 0 obj -<> -endobj - -29919 0 obj -<> -endobj - -29920 0 obj -<> -endobj - -29921 0 obj -<> -endobj - -29922 0 obj -<> -endobj - -29923 0 obj -<> -endobj - -29924 0 obj -<> -endobj - -29925 0 obj -<> -endobj - -29926 0 obj -<> -endobj - -29927 0 obj -<> -endobj - -29928 0 obj -<> -endobj - -29929 0 obj -<> -endobj - -29930 0 obj -<> -endobj - -29931 0 obj -<> -endobj - -29932 0 obj -<> -endobj - -29933 0 obj -<> -endobj - -29934 0 obj -<> -endobj - -29935 0 obj -<> -endobj - -29936 0 obj -<> -endobj - -29937 0 obj -<> -endobj - -29938 0 obj -<> -endobj - -29939 0 obj -<> -endobj - -29940 0 obj -<> -endobj - -29941 0 obj -<> -endobj - -29942 0 obj -<> -endobj - -29943 0 obj -<> -endobj - -29944 0 obj -<> -endobj - -29945 0 obj -<> -endobj - -29946 0 obj -<> -endobj - -29947 0 obj -<> -endobj - -29948 0 obj -<> -endobj - -29949 0 obj -<> -endobj - -29950 0 obj -<> -endobj - -29951 0 obj -<> -endobj - -29952 0 obj -<> -endobj - -29953 0 obj -<> -endobj - -29954 0 obj -<> -endobj - -29955 0 obj -<> -endobj - -29956 0 obj -<> -endobj - -29957 0 obj -<> -endobj - -29958 0 obj -<> -endobj - -29959 0 obj -<> -endobj - -29960 0 obj -<> -endobj - -29961 0 obj -<> -endobj - -29962 0 obj -<> -endobj - -29963 0 obj -<> -endobj - -29964 0 obj -<> -endobj - -29965 0 obj -<> -endobj - -29966 0 obj -<> -endobj - -29967 0 obj -<> -endobj - -29968 0 obj -<> -endobj - -29969 0 obj -<> -endobj - -29970 0 obj -<> -endobj - -29971 0 obj -<> -endobj - -29972 0 obj -<> -endobj - -29973 0 obj -<> -endobj - -29974 0 obj -<> -endobj - -29975 0 obj -<> -endobj - -29976 0 obj -<> -endobj - -29977 0 obj -<> -endobj - -29978 0 obj -<> -endobj - -29979 0 obj -<> -endobj - -29980 0 obj -<> -endobj - -29981 0 obj -<> -endobj - -29982 0 obj -<> -endobj - -29983 0 obj -<> -endobj - -29984 0 obj -<> -endobj - -29985 0 obj -<> -endobj - -29986 0 obj -<> -endobj - -29987 0 obj -<> -endobj - -29988 0 obj -<> -endobj - -29989 0 obj -<> -endobj - -29990 0 obj -<> -endobj - -29991 0 obj -<> -endobj - -29992 0 obj -<> -endobj - -29993 0 obj -<> -endobj - -29994 0 obj -<> -endobj - -29995 0 obj -<> -endobj - -29996 0 obj -<> -endobj - -29997 0 obj -<> -endobj - -29998 0 obj -<> -endobj - -29999 0 obj -<> -endobj - -30000 0 obj -<> -endobj - -30001 0 obj -<> -endobj - -30002 0 obj -<> -endobj - -30003 0 obj -<> -endobj - -30004 0 obj -<> -endobj - -30005 0 obj -<> -endobj - -30006 0 obj -<> -endobj - -30007 0 obj -<> -endobj - -30008 0 obj -<> -endobj - -30009 0 obj -<> -endobj - -30010 0 obj -<> -endobj - -30011 0 obj -<> -endobj - -30012 0 obj -<> -endobj - -30013 0 obj -<> -endobj - -30014 0 obj -<> -endobj - -30015 0 obj -<> -endobj - -30016 0 obj -<> -endobj - -30017 0 obj -<> -endobj - -30018 0 obj -<> -endobj - -30019 0 obj -<> -endobj - -30020 0 obj -<> -endobj - -30021 0 obj -<> -endobj - -30022 0 obj -<> -endobj - -30023 0 obj -<> -endobj - -30024 0 obj -<> -endobj - -30025 0 obj -<> -endobj - -30026 0 obj -<> -endobj - -30027 0 obj -<> -endobj - -30028 0 obj -<> -endobj - -30029 0 obj -<> -endobj - -30030 0 obj -<> -endobj - -30031 0 obj -<> -endobj - -30032 0 obj -<> -endobj - -30033 0 obj -<> -endobj - -30034 0 obj -<> -endobj - -30035 0 obj -<> -endobj - -30036 0 obj -<> -endobj - -30037 0 obj -<> -endobj - -30038 0 obj -<> -endobj - -30039 0 obj -<> -endobj - -30040 0 obj -<> -endobj - -30041 0 obj -<> -endobj - -30042 0 obj -<> -endobj - -30043 0 obj -<> -endobj - -30044 0 obj -<> -endobj - -30045 0 obj -<> -endobj - -30046 0 obj -<> -endobj - -30047 0 obj -<> -endobj - -30048 0 obj -<> -endobj - -30049 0 obj -<> -endobj - -30050 0 obj -<> -endobj - -30051 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30052 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30053 0 obj -<> -endobj - -30054 0 obj -<> -endobj - -30055 0 obj -<> -endobj - -30056 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30057 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30058 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30059 0 obj -<> -stream -HWm۸_2ъoz$5A -殕Zkɻz19{=YɇyfOy,wwDL/*EEx|?.LjMMycnZ=]|n_?qm-.bo -*`θxF /k*e3aoB//Iop%V 4lm?dQ`qig72_QKkaۿF"s̲7|}U"OymTWc9BLaX&CTc!!J(;c!y(N{N{A{A{A{I{I{EW{EW{EW`s}/E `_K}/ e"W`h}m >D}>D}BPj}j9Z߇(}ZNPC>P-'TET >@}"j}j9Z(BQ@PC>P-'TH} ->@} ->D}>D -BQ@PZ߇(}ZA!`V}"TET+>D -BPj}jZ߇(}ZA$T}"T} ->@}"j}j%Z(BQ@PC>P$TE!`V}"j}>DJBQ@Pk#E!*dE!*dҪdkwv˾˘ۇeƫ4󼊷m%mwM%{`_&移Ooۏ)ΑY7MfJ]ilZ/a Y* -zPRV@=TR)jF& ˄Ri'-LBYGv 7Tv+Xfbj*dWr/P戮gDPOY$C -^␗laL\W!j.>{f5e0*ARɨmGrƽ;@YZ8/Yr^!TΉA -ȅF=kw?wξNfGhw #gͻ7ۏsl~48֝/C|nH3BXoH>OzWڽOus9nßG> n. +dq{rCRUY3N =5{%& qJ=|Rm4VG#f396yۤAkҤ:~ji%#_>(nPMnҩ$C0ވ׌+P=LA/"N}b;THK8{3P3 -jB}Iz}}Fn,y0>=`L@~hCE{\`Mwj\sS+Tp Nʉ6 -}-x/c߂"_o L,MyS[xuC) hxE}XFy<x~2O5 7NCiȃbA\fN6QLW}0d2,vu8[@ePv<dfL*(Ӭ`b'N/ݱR̯%\Vp=R3C=:Dv~ulLshC4vϿ?9ϞzjL\WYs 菁+XƸvlC}Y)BGjZpi:\$K)\h:яWc`j5?اMy4^Ni~Cr=+. -)k\n /d X<ԂR,QH7Ldޙ+ X1mi7WpoyW_-lksNu71:^ͼtrcvcXazJwvg4MKdW'cf2k⇯:qYIeg ~ٮ@~JH5M@׏΂Sm;82dݩB9EUYe<-s0Īʉra%fh*+0~x%`_Gjr8QE}BدPMAKԲ1ݡvN[oֲ]Kn|beRA݆]|5-'w D_n 'NkQj *@G{+7=}UC*%f>P USD2'm2_TN0UAQCBxHL~\`SYWkk)v~9 Y ۫݇ޙ^%mP_ SY:A! rHJ")M9޾ѻ,L=ÜJۆ[A,Aw :RThxt}ª1}hN1 ?>XhjSR{^t2 Х˨+TB90SI"s̠ ,b2\q9.Y)Js_sۉӥzYWc^M0v&SKlj?1/{\gPaĀrCI]-HE.^{M ÅH7L;(qw$BG-uveQm5esK}CJ \I.S`빱֕ۡݷ/sHQnw|=>G{cV$) SCaSDK5(xte‹F(›FnkD/XDʊ>hdF(XZ $ $XA$ig)"Qũ(R"A4Bqk?`eؤp2M˶'Z$%olx*<- pRP$h_Mk(lEܥn<4MlT$,u&9@ x -vYt Oml +8%PZG˕K}O"tSǷLK5~|K9V2.>] G#xN4ڿlw}ͧ Q$RFn.ꥤ*ְKiwh߾Wڥ:\gz5 pEs2Xf8rm ۀ_p@6 fw6S̈*9SL|fY!9A8W~|w.""\my #p„mf>5|? /͏!ƌ\0gyrm'.Q9_U:m Olh9ٞ۞B5AG/ig)ͺe H%Ǽ&8 ,8v( #NK7ݗPKks\_VjδwP0 -͌(,"-uL0:`<0JLٜs4=EγKbt`yC՝Xc msٯ^n(nOUsxiþ9Y}뷫VW 0وendstream -endobj - -30060 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30061 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30062 0 obj -<> -endobj - -30063 0 obj -<> -endobj - -30064 0 obj -<> -endobj - -30065 0 obj -<> -endobj - -30066 0 obj -<> -endobj - -30067 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30068 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30069 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30070 0 obj -<> -stream -HWn8}WQbY"0 q^ YMImJ"n:b1y<,)Rn`v7,dk/A3?,Dp&"9w/d^*]P=Z ]U.]s{V*YV^,g90cڻU9TmyQdg_Vg"B?ݶ-W̓S4kz?7;2m}ˋqN"aDfr?v兀"-k;O=(d4{v%dk" x 3<=޵6'w9ʼnBl Yr6(rY`ڣoczzzzzᨗz騗z騏 >&ǎP;B}O>%ԧP:SB}>#gP;sBو0'\kcr\6,Wp!P︖1drµ6,µ6,BZNƐEw\ k9ZCq-'\kc"\kc";km Yzǵp՞ \kcr\6,Wp!PV1d -µ6,µ6,BZAƐEw\+kZCq \kc"\kc";km Yzǵp՞$\kcr\6,Wp!PV1dJµ6,µ6,BZIƐEw\+ k%ZCq$\kc"\kc";km Yzǵp^LƐ媷1`1dm Y<\;hj]VElu_# r$,Ir[tdO 2w۴^Oyyq5NxMPIPshnq0NdB-2Mo}SUf j;8ިF7V7PfeWuU1FǢw[LbGB!Ĩٙ  +,IcGDIr~(ҺP{լO/3aK#;h!8EZFuV &I2:mYH(ˀvfWݝE߶ԫFY瑞~?υ^nn` 1֪E|W1wp̝Un)e~a<^eڈTvЖ] T <@u 4/ 6lE^̰nfu -?Af*ֺ놑`&0@W"]><Uu]Ӟ(Ao3|UͩH- 4e\}ͫ?^9R(q2iSȂ2w//?X3C N9[F7 l*eSd<3Sv_'5)կ . γEˮnO%,Ix"5 YS{Upzj<TWWbo`,RU͆hr:T+NqYyؚΧ6Ng!@Ohj~=~kAGcTbkP7S=W2J"R+ UU0/&tJ#z gv 87qR~sX[`ZS[OųzkOmLN|x]3MsKr ݼK9Lmf7x_cڰyҭ%c<#ցr躭y”.)I^u?1IV-*uo:;(k Q0Js+i(#b;-yjo|28X2#\&1lv?By06W= -xC"Zw -|31,<E~X1Suqv?=PI,Mdqdcd_[oz$Z^1|$abXe11I -gX'tь3v>qtobh^VQlj` g ˫2x3}JU2I&3]Q 'hHOOlv NLwEiֹS%La(tjȹm](~SX߲FTY-S ݬuDHT?)-ύ):xh|];ƒx`[OקHe87ngjOUdڄ.'ḗ¼Ηן󱛒u3=_ 0WVf b];<1X~`c@ -S(xrϧ GV6|06'?aakP!f_߮nA|/SˈJWt_6=otydpDp?.~1X8yσQ,bN"T'I,|rhOc̽z}!G9fR+>04f)`ā@5~k59Ktd@>U`IH~ZOF‰d8}2A8?Vk3dvY]Fžf  -kBϑ\Bm-[EHwg -flpzl=2w_g1=kc-IwTg٢N%ښ,wX CPSe)Xϫţ!ߥ`WEK0+,SsAϗzm5eMdWnHHqE֔{N=KWsh/YF=, Nx~vW2b[6 $S$7i>qG=/v&XI&̌qq:Ft<e5Ǯ6Wi= "졑Q"ǫjh,M~S #%JRQ|qʿy֢2~ wxTgQgZypZnPqHDrC(di$ 2@YIP( PVni -G)/(f}1E,4&G-Ӓ˔$^W>/P 1270 0 R/Type/Annot/A 30072 0 R/Subtype/Link/Rect[93.6001968 663.229004 342.924011 682.908997]/Border[0 0 0]/H/N>> -endobj - -30072 0 obj -<> -endobj - -30073 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30074 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30075 0 obj -<> -endobj - -30076 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30077 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30078 0 obj -<> -endobj - -30079 0 obj -<> -endobj - -30080 0 obj -<> -endobj - -30081 0 obj -<> -endobj - -30082 0 obj -<> -endobj - -30083 0 obj -<> -endobj - -30084 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30085 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30086 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30087 0 obj -<> -stream -HmOHW~ ̫_RK٪ݶj -`+bg,~${Zzxf|0BIf>oR\ 5QS 7,HfRʤQkPJQ -ir +Ec (͸Ľfk0 qo7{C[ƽ%-q{ǸwĽc;>bG}ĸq1>&c}L'O q2S>eܓ*Xi-Z y{^n0I.&O./кz[d ]ҹ).ue곇~y5~5g}봜ߺ4ƚ!N:Ū9p|yrz|xtvB,i}4YβڢE><WY}eEc`PYNKOքD}tzcD&<*z*mDnZtj m S};v8u }덫<$x{8 ZgÏ}w =7|@zvI;[vat}{G%UY6¼^Nz@o<~IяӲ  9짣ZTZq#RtY"Jjz0]yT"vf<fŵ0&˶}fa5v2&xŴ&mly2xlgޗO}㔙K%\OeH -I9w-tB/~2vՠhIz1Q awH9v㑷,08|) }}endstream -endobj - -30088 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30089 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30090 0 obj -<> -endobj - -30091 0 obj -<> -endobj - -30092 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30093 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30094 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30095 0 obj -<> -stream -HWێ8}Wp0/Eͫ.Atvgz,ArZYXr-%NdLU":Uś?V=}zWLg^zIe0j+Ě[y'"D,yz_v_پn޼WKXF7KI3ɖ(EXsDl>,붨+vDYeH~yb4OuU~ۛnBG̉XJf}Xb]`o";2)o0W}(؆E0H.ʒGŘ,d#@Pr()C9%P!yl"ث"ث&뀽&뀽&뀽!؛!؛%ۀ%ۀ%ۀ}L1>'$`쓀}BO)> ا4`쳀}F4+ b.Rj͡B(BP!{ls=P-9>P"TmETbbC*BP@P-P-9>P"TmETbbC*BP@P-"M*dm"Tm6 -cbCjBP@P-P-9>P&TmET bbCjBP@P-P-9>P&TmET b.2j͡B(BP!{ls=P-9>P!TmETkbbCBP@P-P-9>P!TmETkbbCBP@P-"K*dm"Tm6 -g<27wыet\*&rec۔kE_j]69{*jjc2UiC+NP5p:;LB[p 1/yL]NEt=O}>,rî$)H>M?\9>Lq;N]Շn'lfN/,^kRΉ'ZlGODlG8pXF["JCN'o; ~ft6"]$38luv2*Q\'ɜ.NS[wKAO[}zD<懨3x_i!*~ȫ`JnT|Vf`Su,,Vg*K?p2\j=jݬ.z#";Sֱ?#@Ym%3ΰhkϳ<`ҠSKecij80v'20lؙ PϠ!B6DB7:[1ۅl\2kw/˖iȄ%0^<WmPeq>"?O]aIS9i H54{1ݑv=TkwIOM.`nFםe -X6,4[ ]d)  -pfGF]=ǝ:.N.Ouum6MS3(Z꬜.11MvJ/zbo}ǐ!;oy~pk\4ohGn 6XA-rE=B={> 85.bU6w885{ 0ZZm벬EMC'1*?L&g`xSMP3T>q *9k'Ȣza1 I N斲{!gHFCCRtYNl^M=cckQ*2P1ӥ.s#ts7C*ԩ(?Q{4]T^, -vij '6]p?:It>PnNk Ow9$0T]8 =mPݰ4˦nrItA箠hM~";+ UuTV,n+tjSd%` vڽf^/4;03vJLJ+)V|}޼{r}=JE8Ӓ}˫ d'~);c.9j&?@p簄 -&rE}?Vʹwvd "uKou߭îV0ңl<@~&?ղ4 E]NgX@#$$i\I:k;G*Nr߾ss;|&vtĐv2t.>74G$@m懃j.0sD5 و5A6X 9 t1V (, j1GFckZ_k4;KK͖KK Rj7kPH^n;a),xd֊MU"G׃rR@3I J35E@xM4UŠLP XD3.#Eά -5Y%>OehڜftS -n.w)U@$4"T]fIr߁]| Izk{lECǮf3B\D46*ΛmDԦ>xx+Nl:͔}~sd\#ent !du6:Z}Bo.zzэx/mg?)bX'IlCi`NvfPXI>"u10DC uLXjRuDHO+ B[ml(^=4{fVy -INZγ42l1$m<-LM kٖW6|°YJ!p~@li!dBwaW.,ZL+xO7<ŤVqXCj|6lMm?Nd^CӎHe-W+tdmLendstream -endobj - -30096 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30097 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30098 0 obj -<> -endobj - -30099 0 obj -<> -stream -H&agui@T-(Y4BXu*tXQ;deʏYhZhSq 7 HFe,9o9w1̛{s9ﲌNð,kZ]n]U-wݹekU,2M5I)0{n*ôeLdhry}1vZw,E,edge5;}|-U:*6t -wI,M\.iE,#pxz?#HU2ǶϤ͒ݹґAK%^7i,sOð}NT3K0a1L3J3=3ʴ3=v1bN[djnݩ=N^ڸ4oo!f狡.R(LdrH0u~ 9ZE*#:q/r/vD - -k@*p^h!9bH>X<\' " v"6G O2evHQ?8L  -~EoRd ;2&8U'1ޓO{u?P Eom2 -S F ^ٻ-$=mft[tW'>*Lin/{GQE{g(R"6QnozH# /D, -(abs.VZj-|qf}Gw7!#F/R{#2i%uo^WC-}]!ӶVŸƖ6cD <}*~NP ]CF1X~JPfCZhC0"` ΄ffB_~+f3nb..'2ȺhEkݲ0+R -kt 2% cJCCLl.'0f3":EG'И\B> ͽH~[9 -Ez;~)>7/ Nc:V6=_%Ab%PZu -/vO` %}5{vַdf -D1ĩI,[5bYpQ.JhuY~(Fcm .`C'ѓ b*pRѪ7ۖhF# L-8|9tL #{w`ݻ>eܢjgLaN0Tҷo{@XKÑ=u!uAT0!>'ą٘Q(&H2 \IL(NA j!bh U;voAZz o66/۴zEXOf_$qTaXFz?(ԞˋǧcD@pҧ~s{v:5^:Jl P.NJZhƃ:( Z ZXm0{5gz֧ĉC}s{kw1y#qqjJnҁ0N9-bS$s vv߷@؎z] 3]Z_~Uאָ$˶ b5Zp6y&1#AAMOj76G.>&Ƈ"/%v endstream -endobj - -30100 0 obj -<> -endobj - -30101 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30102 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30103 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30104 0 obj -<> -stream -HWk_10r_9#A,WIIFVC^ըX3oQ[ԏ?]@P -~̆Qibب~UUuUmі]ηrep'MvoVi5[9\$RASQfn/ڲIj7},Dp0>aS}ܧO)s 3>g}.ϙ\p2Rl!CwO1` {!R Y{Z#bܳ!Z!KpRkR Y{Z#bRK1d YjZ!KpRkR XBj),=KRK1d YjZ+b),!CwO1dqZ!KpRkR Y{Z+bRK1d YjZ!KpRkR XBj),=KRK1d YjZKH-Ő%gBj),=KRK]R Y=ŀ%b),bRK1d YjZ!KpRR XBj),=KRK1d YjZKH-Ő%guBj),=KRK1` ,NH-Ő%guBj) b!CwO1` {!<ϝp ΂(f -Ш$Bf`Ʒau u~k3y:Bytsa]~~H\W8_Mna_VjjFvJvh0g.uqLu -UF}իe( W^` -J.{d[W@6~>, s{aR ލ8MC3R? "J© -`JWDqj\_Vں+k \`1-'h9-ǴbA+fZ3DJV"h%L+R -Z)ieVƴrA+gZS-q-!kQ XZLK ZiA0-#h7BS Y{#=Ő%h7BS Y{#=Ő%h7BS Y{#=Ő%h7BS Y{+=Őŵ(,),AսbX[),AսbX[)vnzYLK{!Kbuoعf1-),AսbFEPCע6{'=ŰX;)m uO1l-VN{aC(hwBS BAսb ZPVObu6q{'=ŰZCעgXo7q7wqYgʘ$t9 Bޫ8168˒Y \MR=-Et &ةoDzO?>k*|tGmGl0@ tj?&J:zźR+}V54uGtV&Ò/tfi7-Ў[_O&D5S[Aox,ۍ*iyɯˣ0˪lb;J-UۼvYMV4$#":y ߨBU-(?ۢ;. -[PhF ,^ޯjl޼e&FŦ~ ^unm -~`Xm*%zSajvL*]\r kkYYTQ=_UlQߖK>D$c,p|ܨ\~8YƟnKX[c܋B<@뢬[q[$OPmB]#2՝g%/ץHU+e!!m P/z48ปޖ~ GK?JW}>HK66M#8U@AjnkmNvhf %-2 LUPDp[6y7鯣Bð!rzh]іb}#<8cWf?#g>O_XYG!]$p[a4b:9jYUݖЍd_ܟNO OaT?<@D-\u3F":QhIdq;xJs]ڔ`/@~9@>;vjE.ɷ+q -ÅI  J8kU!n3;L߻Ѹ0~+R ή/̜^3|"P!Q侮u58ta4z_˥=wZ[rgr&:d_wm4ItK4.\]hx -8B>u^ތ9< '?BC^n(lHvi<+^67 - M3HEilLe -ۺ9Vf9k.ԯX'Z~E:FɥW T|m0. :=i,. =|+86"E[TZEneuT=La]fՏqi6KV?,l~˜y|o50S --Mo&J=tt-(7;:UjǼ,^;p.?<EPx$eubN],>LSv%hީ{X -!U}fV@@9v $jUיD vFP$@~3>Ln\I\83Pq 8s8P]'mq/pu@- hӘ09WB" )"#EY.lO>f9,B_)}|/c[ǀ-RW4C*2DYHㆸ>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30106 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30107 0 obj -<> -endobj - -30108 0 obj -<> -endobj - -30109 0 obj -<> -endobj - -30110 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30111 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30112 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30113 0 obj -<> -stream -HWmo_<@GsߗE % \*.[4ؓH츿orE̳7ݐ|ۻOI|n7 "1M$lj$c8Kly:]ˡ~QJzs{<w%(=mHAxYdwڤ߆[NЬ9c9e\>?G|e_[I$| -y?wI_W t p&izh."tcߨ!Vdh.06o# -̠E&>l[uP{PչSٹJq.!&h:UK0$4iP^uTAy`k*oz2Ț*q Y~ Yfܦ%F@`&AU@"R L`#b2Td0rMSωr^"4ʂ_ͼodp"M H>wGTru|UOn˲w !Ƣ$Jx tR Ab'vasFC,6tТ8kQxA94m;ˡtd?Sl'8%TC@M酃ƴs𕃗.{G]O8-f), _)LcK -ln2檃^`( ].2pn2b'Aw d!֏~@LaMJ ̅e. o+=׾+iΟv>nl' endstream -endobj - -30114 0 obj -<>/P 478 0 R/Type/Annot/A 30119 0 R/Subtype/Link/Rect[130.078995 539.020996 221.223999 673.916016]/Border[0 0 0]/H/N>> -endobj - -30115 0 obj -<>/P 478 0 R/Type/Annot/A 30118 0 R/Subtype/Link/Rect[93.5999985 428.627991 199.356003 448.308014]/Border[0 0 0]/H/N>> -endobj - -30116 0 obj -<>/P 478 0 R/Type/Annot/A 30117 0 R/Subtype/Link/Rect[93.6008987 200.628006 223.451996 220.307999]/Border[0 0 0]/H/N>> -endobj - -30117 0 obj -<> -endobj - -30118 0 obj -<> -endobj - -30119 0 obj -<> -endobj - -30120 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30121 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30122 0 obj -<> -endobj - -30123 0 obj -<> -endobj - -30124 0 obj -<> -endobj - -30125 0 obj -<> -endobj - -30126 0 obj -<> -endobj - -30127 0 obj -<> -endobj - -30128 0 obj -<> -endobj - -30129 0 obj -<> -endobj - -30130 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30131 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30132 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30133 0 obj -<> -stream -HWm6_2U/@r(4+ Z,$9P+9FCrCt}[Bɏ?~&_d2sIT*$ -(y -)Hp.e'5Ŏ4EpGN6߲/0=LBIF2I)7ۯ=LaC/l^qEzq ͩBc~tbJa! wۀ3>w'Xρ8Fɯ+')ٓ qy,Y9c)0*<3(:(|3(\]8ž{9ž{^x^x^x%^z%^z^y^y^yc}챏>A'ax}O>Eا ay3Y -Q3(3(ZgP{OQ3(Z -Q3(ZS-GTS-GT -a節#u}BT -a節#u}TպS պ>ٻ>@!u}w}w}BT -aV u}T+պ>@!u}T+պ>B{j]պ>B{j]A!= -DPj]A!= -DϠjZw -$ZgP>{(DϠ|Ϡ|Pj]A!=JDϠj%Z(DϠj%ZgP{OQZgP{OQ3(Z -Q3(ZSDTNBT g>,¿;v+#|nx0E1lOC n6= d_ =,b(J"*>bߏ"WWm͆>՝.Q Ю>^|kڗa莰 -K~PI(0o LD)lB׍Ea%l`E儥OX;2qw=2ʘ]<{W_+ݴ/uSa4և-o7Ut`us*ڶѓ۽Ԃ`i;6NBk:)| tw7'|5ţXUQ:`4Ah*_u[ <',Zrg]4*c_LvbB5#Y#J4*${TVO>UMOKAKtMwe1y?lI,[N\_6pr7'TQ5s36ccܺjG iMZwiI /РQLjT&IAhBE#4M")Mc68wY z07[&gìNO|ugq5-2-w(LM~2: !MLI_.WhqVOwܑ@5cr'*p'OC|2+T'ipuAA+%s+Eï(Sj~:U2m锈S^-[k<Q?Ue>8omCH(7Xco$P2})MgdR]qwmOG&)Xzqbj^&6@٘go5h]b)Մb&NjBt>~.Xq:˰~W㬯z7d`6+{m>OzXJj\&s97t\јۻAҔǀM9/+cqk**H}Do8 4;텁Ʋ0?75OSĝ828T3uSHZAW%t'G7X'r"hfǚ%jo^bQrPdCEԻn; -V$_H -C ЄDnjҞjYl7_5MMOK>^xAvGǎLb?@s=bN՟QʇZG@C~ؓm﵁ )jnnܘ[o .^0 :ˌG>IA[]6\3%[¹Y =-c G=n$$An}Y<$W^ ;  -,,tC*䊗i @6cY62`&\/r_7ڐs #nϢ\9c8e-z/y,g]FM0U9>'䭙B&BWnxi ,Xz{Pc>yXX<ȇ;Kk!L_K{YA~}΁5Ubl&Or8Sx`c]bWDV3uiP4&X͠PMY.T2nꝇш): :ށ͞Eq#5`nd2OIfLX:c!n g=ײED7.'@HD Ë5=mBT`ݘjWC7Weܡ\~-c}Sֱm!L70n3 e)ir1NI&Fh$9xޯKwQd w섡O>"&Z %\~eyrr+c=M{[P -φG(3*aړ5 \rT+CZaC3M{lo=YB13^n{s͟ _endstream -endobj - -30134 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30135 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30136 0 obj -<> -endobj - -30137 0 obj -<> -stream -HlVkl>WDR)$Q,"%%ے<>n lMR7v^K&q G:dҡC4?ANi 0 +@1tX[ua`+swsB0ͣƞ}P:yg~Pl>X{q -y|s$;jغibVCb$:g1mx, -6ܮ͛@(GF7 CB槞4kO^G?۵guvo{i/%Yf -(I#&hP.X 44Iy?jsnz -5bss-ha-lRxj=H,{ƿt0/-@@yf O׍fS_tA  -}>nѷ뿓~CZXzU_'t8eEŴaHUUTҵ( )& I24]4 O") :`5`:N`hVABRcqj]Va݉ŋRLo+F`) ӊnY0¨\cz? QfmzT|NΛ#V+ibk뱃[Q7~ qՀVUzuGHbD@@-Br򎚯c{]xh5;6Pʱ |XevCc8z{cYIMfB@4C&Y"$Hoȍ?;N0)j}Ua2'RJ<⣂ʣ(pj8%iFiS -YP00Nwy} -M(d\_+Stm'-MSoOL'\ @{ #j$3'vxF;btr+"m5og:&^ɔĤib6ڌ'=4IFh5Y>zhxCw]^+?;wW&IP#iKg M Q۶5\*ZA2"9psEѧ{m#.I3>N*!*:y؀iT(}ۊJZ0M.xG\KKp߉9Bϊe~vPQvDDC*Z;ͬP$d"Y@()J(Q2^NR'2 Pj"( -,䲼  D(:j8&N?}bwOjpﰲ;Av'.?SEմNL)a|B>/9ZA1d!Yi{{h%ǣOSY:$~`?{ P'!qf&i!yS^CV7(>jeУZ>n;޻YbNQM̆Unce3\B%-߁gLWnln#kv -U*WZa㗩š 0d t8ǰlRL^sD(Fs{_,zh4lb2Fu异JDљ}}sM(݅"eI.^A͌%MK*kչ*7_z<>hv9⦹ܔаAX\e˜ײ\w/ʚϡ}'LU `&枺if,nuD `A vt*Qt4w -̝y--8kg峽T97Bzjӳ6wBZd8t//Cܐ+]o[ZQ>rĴ,)*g})z~jSF&Ȃ!Y$YRiUYKZnGGa(|:'սu6,I ]֕)/*!XT*Oʽ:/RRD*3}69_'al]4I0aRBӿyP7hvK azvA5 >w=\! ~unr3ȅ\vV^ȭ[y?TW}lߝ ϳ'ٱ؇C@Bp;Z() ecLP6mꦍRef]EJZiӦҺiƇ:S콳Ø߽w?[wy}k[,+r ORnr?gT*/ēI̔Lژ$&UTf3 _ZOYk݅YYmv 8pdS( kwC={fϡfX<>yR)Ob EJ" lJF/%KQU)AԽv; SSՁ ` 2\PrW|AEsUh$S$ 0cAXhxJV x[?)>|*xU0\W*Uxk\_u_d5>񟢏ρ#)Zp5jRM -@0*"׷0jC1D|h7-[Y+OK;N9x{q^,X;(ϿGQ3> !̇5ĄݧԴ7M'4xPk29Ռh;3(^4/*耔AqQAFbjՉ`E6Kkn`Yk"Ι6ZVFq  -nD92yHlO7@~K5g^d1%%3oUʟW/K dr6nER}V^d!ͲJh+C ufT%yUԏ,=W9|XW*L>)L1{vOO -@ QJp򠠎};;b#=UW4{j`A'ҩXo,2=T'D:f͸Ұq k{?lJVӬV՗UBZ$Ǘ KǕ9U*? K킅{%vGs.PͫY!pR hӔG=I8MW#|؞41s_~0OF2 #3]^GCCzv7^hZo{R${ _3kˇr)ynmeVn4)xW76#:=tEۅK_1]p\ҚfP^񥢪htd,cOPWL9#:FȂn4YFnKd]z:鱼IbX z5!}ڳ/6s@BH?C -]-;n D'CݢЈ$D 2¤YRLj}iJl9DhD8-PHق7`p$o͐2dfqZH+5?2>+X8[ۚ'&h<2!apᚘSeDW}TmW[ -y)μ֓S'9i/KwPy>P)Φ_} 8@- !bjf//Yԓ^?>) &3,0`fK5bDQzuZX։EDD]h:6t]Qr\ECYEErpb1ԹaE6Uʻq9('Y&ʰIm3i[Ii =KK`4W6Ԁn6Y" AR) N%NUJJF >K erlZM (#djP''ĹxR5&':+q8ks ~Muc9t3%ǖS-[hX^Up%RiD%×b=ucߧ\uЯL(I'߱)5 gC8áL&N7ևh dv`قޚu#فw}8w[RHhw6qqy|v./ى. Ę4!o( .ee4T Uk2( -5uH?TLOƊԌPisw&+e(~WV2Afə~I+v r!w Pbvq. 4ŰM^bL[+2lPb2 @ i- !hC*R\#;'#▽2z5(338! "JkI=)IwE UEu"+K\Jb]rۨwn8ź{}>ol@ ^kͣHj6(ijPɨ(55MjA! ǐuxef۵v,D^&[FTN\Kކ+LAM"J~CPqeE&W7+GqvT]!Ch@Wj5>2A*d?i$cbCO;vԓWtևn"5+ Ҁ7OiBxhϯVujDDTEKZmw)O6SEPzQԿEԢ_}ٕ|zovޗ63*T+8uR;2ա aY8_u3B (]۟C>Xٸ'e4¿,Rؙ\<DaڂiЭPoѺqZjfM{)[=xsctysg$v0z0?(V坶/d.d/t~%{'m050M_y7>3=='25" f[LMJQ8, " A1buM3K L.Pd -b,rYBBmqX4c*.()W +[BfUwA).Mǀ}PUЇr }Ir9m6Jm-- -ܐ+ = %fݛ-YΖ&_S7U[[!jͦz.%fA?^oά@kZ33fA}aj]rth~fa'P_Z19\.?E9zK L=8oHs}s }ompZߤ'~vՅ%WMV;vl]]K])j2!$~ -;4GQ{KC;M+|lo|nxe^̪shM!k:AŪ]Eڸx q>P7]w&ӆ 1O֍^WkFWɛB7ՈF1VQB;&@F/HGhFcdEj=ȞEVL )4뢚ڒuE'`TuFaTH̽ȷ9Ļ VkES{#[y!}$;w:ufQsN!hOfo)_/߭7t{ӥDkX3*'J;E]@{M#qxi9 "m1Kh -S]9 -r, (Z-і&VujVAAC)6J29V3#_ ^mb"h)rZ+هd'FCS:F݆^Zie SI8Gin_ DCq"U؁cc<sɳCC%Ί↠+8MU74TfgOcM$տB-"3A1stQTէ،,~ L;u{C'/YGP Qne*]B͂ij'4q'>ēӘME51F45՚ -;fXs2|{׽{gooVLl;~qN%SS(^1Q]GZlj5J9s|g6GݭR񌢱9 2ԤNi=a?㨸J<7&V=jGLLcQ/X` R~~^aNf_fvcv}Oy&}|͋|^ŗ+|'GouC~Q -!#5E[qU<@n$[Ҥ)WZ(ȣJyheOٯ|t(юǛF6cCŽ`l ;6ޗ*A#eg Vy}\G3@WA1vqD>' f{:V 6/J1/Pd.,;܎P -Y3BMj.TUqus{qMx: zP20R.^J)Ҥgehz̓3{ Fi4ݢ_S_J -fljhU+ksx`wB -[Id榟ZDq|L!6jv!RPW7xXv9='i8D;&vr%6JQfin; ;y\xr>E?gyc$")ɱ`+n[_|/NYbΙCtC|3լ8n ɾv.-m0^w'Lɞ4ƏHO3zTjHm[>,yhRbB|ܐ76&:ӡȒ2Z~H5RCx,^+ d1ԐmrXz;-ݖ̥N) կi6Ң:T6em:ۍ?ڧ,պ?p QyZ^U'AF2ⴥ ,n* m䌅SF )JcNQKr * Ҧmʳ1T䶰שE(c`^@$œE%u ƐRؕ\pm S W7vϭ^v[M#77?˽]a)zT/]>]|=7wgKm2K2D5P+oy=&% (ޅz!XDF%*! z^o%b#ty 9滰_TxMdYۀV 2*\}Э)SYԙGIiyL7n~Π8JiK5FKȟ E2$,l;U8`d4 -wB Agc|ͲfZNømЗXrf  ~7eе,Y&̅R s+n+殘l;} -05':{GO>}{xOR&=+Q2YpǺ׳@TI ds+|,WetemGMFTIV oZA[|#EEʍ];x% ߴW pT=w7 䚈@ H ${!.-XBѴ2ԠAQh (LADeA] uZ։δ - sNBjgw{l9o [l -8M"Oh=~#~l̠ 0!m>ζ66Mo>ٮ־w5`l[ c| >ͼƲͲN~KǃNc49b_'ZZoz|`g>>H؏zf}Nkm^@^gyւטF!B&u<.\"#̸/0>5ߤ> u(evГ%>ÀH R&^j)vsh0%`s{㷃0}|%kE4Dd-|s3|-.6|־hF^զN|9ϫT>Ίvybs 󯇮y:>"q8ʝ㷊݈8|e`?}qqvx@w'TYIu<CRD eL.yC̣ՙtx☫VnC̽C[FEI ?jzSʳйnOm q; 7zsJ1֍ s첞f)/wZ -4XjM~wZ/ ꅐO%cz }cbdĒd֯ 67=`_`ZFd>:MhJUlTj>iu^]TqBzCŽi6%VG>uNj|u@>BC헿Qj\ )U]]i]6|I!K`'w%Z3vvzyuf֘Yex߬W9'͗'L㸮c(ĞlĢi .v_GP ,G&!ȝဍf! LK6 K{U]< -~A<@@N\AI?.n: -X .|uKSZ|U|An~ w~ڂGߔ ZgR'󩜒DbH]"NWv"&R2!n0.L [i 6`V ~~zT92RNv$`ȔIӣZ;y m|U.v^@P)>XL N -0v P\l F4Z$^Qޖ g` n-ߦٯ)P4p|cD?0-{ne;LC0љx%ClzN8ӽ9>hqʼx6G\q[}rso3^*n9nSzC葍,d]hbߓ*F&XG,hIX\\$\T,8; ŖW빵Wm[UROJmj#{b%Slf'h[l(4 m3繱Sy4(/܏5-I!Au/ lD %"09eƹ\!JYd}*OLy@*PH8 H% @."}YO^}92Or_NƑ5)Rl]`OAfmPQ6RKѨJgЉ)fu~'s -KR{{?t܇K a$5̀JƁdg.ILrn3 j:1Kk(d1r*(x͇9'P:{~:< EpnӫPu7iDi$șѐ? endstream -endobj - -30138 0 obj -<> -endobj - -30139 0 obj -<> -endobj - -30140 0 obj -<> -endobj - -30141 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30142 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30143 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30144 0 obj -<> -stream -HWk۸_A_<#>jIfw`;Z MJei֒3^,]^gA!yxsI<˻oݳzm{$4R$W<,KO$;߬bXt˾f޶u{?Uv_$wћut_l -$f+O9[髶a7/d)Ts--3Vi*qئ~" ԧ4P@}F> Lc$ b̲BZYVcb̲k%ZY>p$\1`ŘeJµ,B}ZIc"\1"k1fYp-ƀEcE\+ b̲k%Z#Ecb̲BP=ƀEcE\b̲kZp-,PVŘe*µZY>p"\1"Uk1,µ,B}ZEcE\biµP=ƀEcǘe1,µ,B}ZMcE\ b Xk1fYp-,PVb̲k5ZY>p&\1`Řejµ,B}ZMc(!\1 -c Xk1fYzYVEQhÿYusެZ2ֻpo?4ɹbc[lְOd-?Y|s!b94y?6[/rTY<_W[أZoF šjvd ,He9FV.EMBP(>c_!~\IJ GS5m?sGY #fLUs~iO@|k5V X?HHRi&$Ը0vهsf,8cxOO8g"I'>vVvbxtV6ijߘfjޜǮ1*Pq4@u4b{[%Upm]"viP2uC \vfN7"_4}c^;֟EƋ4VsMNj5&'|Xi|e(ӯ0In |eZ񟭪1Œ (`͸'3哉u,7^O>l'x?|?Z7MZ%ƭ-6ҀVrέ͵I /[|\um A0Cf!-0fF.N޹^Ie&R66r8Ȭ.1d=[ Xl0շz&0#Y6'B&n:8Lvʲ匔nesfzit!bDֺ{]V#\(B[v0 vg*NWUwᔖ6$p"^h1Kp6el!&zմ|jO}X\~w~d/,C}oe}+ڣ髣nG/=,;WElu}H{4˄T6| -r&l<ԑ<{׈0Tq$`-8-ϸ|M׋hP1.QGl;V2]I )|?W tI&D/"9;װUc^~62P - k޴=;7&/Y]쫶 *'B 4>%H}nlgg߁S6((Ȋ2[ 3%ԻF'gl_yKؤ {ƾTR!kVܱ\T *!=ℂkjK xW~ -J7Vxj|Gw؅5>g#Y ',0$LL+6 \\WBX-:| -޴ ueX̥H=PV[VD;2a _殅#B+3nP+kS!C;QVJR\gX UCa yWs `~w?Gy|ͭcDwq?:|Ū. ՞k3pW}pxdSOٌ@ =^=P/6 i}e6@jk<׿}rs:X,f7DKh&YMlڃpÇpIW;|i˺>,{w ?W]=T <929beT -=x.A5/i7%f{K%1OUL=66)i bҗ㾃갩y l\5d2!ཻTӺe%|eIqӞXnG~3]8ǩӁ݌JջOy{uE;78?^짵.<SEU|曋 |ü})Cu_;\ƞ^ &˸/75\em=&?Em _!/ī6,!"ma@[6t пM"ui$3sv .‘3cQfb6\Ig{ 糰MD'"U('͋EB잗 nil.Dž$DbYp4 -PMtjҫ >ɳjD1g6%A|4% k{!>*vOIƈЂ$жl9@yq;[.JrD͌++ozg.2WXP^{0f/p*Z~Y8g`nMufе9,ŏ_i.эjD`3mOĢ+nUJ/JYĖ5x(-S~,mhMg|V}qR15᮫ܾKݳ53%Ed3&Aw_yBXraj {jGW /csomy5fh.,9 .8RI&dZReZM0 ЧB;6 -{?ﴌe(9]4rXQ?p:[1ŋ(@nu#6Cݝ˃OrBa?2ϳw*N^nQ-9;"$:p4^(ϳNs ǞG< _mSCl)qLЉ*tY͎<49b1>Eٯ&q8(gCSiRSFG%`0N.t:CTxJ޺;"0Gkt0eOV]}{@Ef_랳rC7@ڨ"~U'&G˾owMiu8#iVwʋ|eֳi_۾وPb˛ڛ}bW | 4ImѣN^t~ϳ4}0`O M$䷏&p=ݚ䵬/8h; -F "L8RiMErycw}d)5ߛPjyb(çqendstream -endobj - -30145 0 obj -<>/P 947 0 R/Type/Annot/A 30146 0 R/Subtype/Link/Rect[93.5999985 299.869995 224.951996 319.549011]/Border[0 0 0]/H/N>> -endobj - -30146 0 obj -<> -endobj - -30147 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30148 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30149 0 obj -<> -endobj - -30150 0 obj -<> -endobj - -30151 0 obj -<> -endobj - -30152 0 obj -<> -endobj - -30153 0 obj -<> -endobj - -30154 0 obj -<> -stream - - - - - - 100 - - - - - - - - - - - -endstream -endobj - -30155 0 obj -<> -endobj - -30156 0 obj -<> -endobj - -30157 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30158 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30159 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30160 0 obj -<> -stream -HW]o۸}}sD$޻wd7Hn}HBX]Jr;#RL"5>9 Gןc?tqno&MNe*I%Rɚrm'=Mr]tsySڔ]SYSM${j'f`B,eto?|]{u0Wg*2y}*v])"ѿ&B9&* >=~l&V4LlvbXO&քcl\EІ8\h1*!1(I{I{EW{EW{EW{M{M{C7{C7{C7`FS}Y>#g`Es} ym# -Bm3jCb PjCb Q1(B QHPmhC>R$TE6!`V m"GjCՆ6D#JB QHPmhІ(}ZI6!`V m"Tm"Tmه6@ m"GUjCj(B QHPmhC>R"TE6!`V m"GUjCՆ6D#*B QHPmhL4І}hІ}hCT>PmhC>R&TET Ն6@ m"GՄjCj5(B QHPmhC>R&TE6!`V m"GՄjCfbՆ6DCՆ6DCb6jh8L&׳b͖ڛaU4l[!b}z~|wv>19!xjtN%x0YV4yKGt╈'1&Ts3?NVk}H]8"W(m>@d|<7b1xے"t-Ew:L%ɲ|4%uvqɃ n.GnfΉ1z9ث^OC׀+EĮ5{pニKҙz58tngjL&ubcv2o LZ M>ٌ(FՓkEqӵ*Ey* -!{kGn-, `{߇USF4iSgIɽn -7 h"/xy_Y?}W-LCqo>~lRȱ)Xؗ-6'g&Ңm>*K.New\/vU$>h\TAK mK. mQDnKǼk"ev]P2fX:nJå{|zWx)ewM=o}uu[>H½=~u$,hJlw%~˳#~bf閜'ڌY@/'Y;{~Zٷađ/|ŰzE4E0ZLO]Oӡ7%qOyUo$jmjT9JO;\$;K/%\vCdj?~pMn;MXM>BI%FuR6?{;58{߸_PCxkɮ n Ώ޾L2g<-NM  |j#LJxDT@Us9 -,'aqDW0X&χhCfn%..'Rq} j;(JCM`e``r2=ٺw<,.ܦm |pыHT")kQݴM`rlԖN}?CRCiyqfqYƟG"#%<-s|i59D-" t#|HdKZ ]rb%q2x{:Aq7FmCJ^//=2Rb4Ms $>gfsSoڹ\Y)P{TK;j -Gj ЫB{ -B{ۉyxi{кU y -3n#U -|33)*4j뉸  WUr}כq5n\N[K;yqBx:')K9^Veuޛatp$/Ví锾4ڝ< Z %8Ʋ֙*: w@QbNqQNmޚ_lo,̖[T|{JC༅V)JDe"/ǟE ^MA36h^#;Twti-diֻ  .ʮ6 'w,7pkNMO E\(mDv"ِEw[\xY&ޟq3\$pU^I|#/0 -Oc"{`w4RCyҽˍ\ 4|(b]Q } עݕV/ʲ4 1Xvc0xsĪ#m`ܥ ՁH4M1.С+KZI6NcDOchEBb)Kgu,\lj~dm,2Ԓ@fXm}ec|>dqvqoqk"a!eFpd|mۑWog ePj\'Z_}V D mjIwa$z[ǔWmM޺R5Wpn{sPhuZhd6ԡ+Ok=+|]7]5P ۢ\D|>/P 1268 0 R/Type/Annot/A 30162 0 R/Subtype/Link/Rect[93.6001968 663.229004 232.259995 682.908997]/Border[0 0 0]/H/N>> -endobj - -30162 0 obj -<> -endobj - -30163 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30164 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30165 0 obj -<> -endobj - -30166 0 obj -<> -endobj - -30167 0 obj -<> -endobj - -30168 0 obj -<> -endobj - -30169 0 obj -<> -endobj - -30170 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30171 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30172 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30173 0 obj -<> -stream -H|W[o~ׯ# W@8I"iN{&qQZښߙw|3{~1ɒ6TZ&D(ɒ^o~OM641FﻺMl%avs M% e%Qɶ٤S:NЌ8N)${dp26ev;= 'Vd)Zy_'XHh^g͖9c(`)!xH0A -$PYЎUs9@EAT ≴۟v(xOJlw uQ>JV_}kTWҴ W ]é<5]ƣkCT4؍ݱzu1p;2d>-)@zb)LLa]sKEd9w_5Ig dN !g\EW(ƴը[QtuOce.1PMGΤU3^0Vi VV0-T -FeZ}L=tN]@6n:,xQaכ'=^4Hϕ_~k,|j-B/(xc)w}"ZhuvKZa:t*m_xX=431 -cl$z -d&ަ>=B\e$7ޞQUdjOcֵTw݋'mAKEbr*&6n80208A]8+N,'R*5s*6REPvN4;XHipt@Wa8)Oۗ? jjc LN͋*H c]{!ޥ]3^ -"8QGQ[KQ.[UzpЭ(sd6 K>~qV^P]tt>q[+i8[6ҷ2X{d,=ٌuUbڃ`-ϭuI4ØXu(ؕ/fX[msƁ1Pݳ[}tp_6aP*92Мy>1%Wx>a~~_AaV.ɻlY=Trr,է59Gl>We/&LF FH+ҕ?nэ0fhnuqH|bE^}|{ijx&{ (gbKj.l01gZ"v̇ 5b/z SKv(+,sn0b;U3ģQJL0Vh -0`(/bR<$$˧it x^L&5ʯk(򈜃MD|!\xs@P8̎誷oTh$$Uy=i;2Z> x N{? yr@ޟ}WW"O.rcpT֦9RMvm uAvı;pZ&(:5`l Fr%x~DagL!Y 1Ha -=^~ -(J >/P 808 0 R/Type/Annot/A 30178 0 R/Subtype/Link/Rect[130.078995 539.020996 384.243011 673.916016]/Border[0 0 0]/H/N>> -endobj - -30175 0 obj -<>/P 808 0 R/Type/Annot/A 30177 0 R/Subtype/Link/Rect[93.6001968 419.028015 199.356003 438.708008]/Border[0 0 0]/H/N>> -endobj - -30176 0 obj -<>/P 808 0 R/Type/Annot/A 30179 0 R/Subtype/Link/Rect[93.6009979 203.028 224.904007 222.707993]/Border[0 0 0]/H/N>> -endobj - -30177 0 obj -<> -endobj - -30178 0 obj -<> -endobj - -30179 0 obj -<> -endobj - -30180 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30181 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30182 0 obj -<> -endobj - -30183 0 obj -<> -endobj - -30184 0 obj -<> -endobj - -30185 0 obj -<> -endobj - -30186 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30187 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30188 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30189 0 obj -<> -stream -HW]s۶}}: -Oh3Il7un$>"2s-RW %Z,e9ڇg`qi*Gg'7oޝ e$*$#Vi` .ӇI=CiʦlG$wh,nl|X3,b"$&U4K҄b˻Oˬ4|i52Вc6IZ~Qev$RbvLYN246noqanG> -% A7]lP'l<W5c}EG˜ca XB,9!XXxKꥧ^ꥧ^ꕧ^ꕧ^ꕧ^굧^굧ꍧꍧꍧ>"GPycB}쩏 >&ǞPxB}⩷z멷zϳ0-$\1c Xk1Xz9c"\1"{k1Xzϵp-ƀEcE\+ ḇk%Zp-PVŘc=JµZ9s$\1"{k1Z9c"\1c̱|Z9s"\1"{Uk1,µs,BZEcE\b Xk1Xzϵp-PVḇkZ9s"\E ḇ|Z9cḇk5Z9s&\1`Řc=jµs,BZMc"\1"{Մk1Xzϵp-ƀEcE\ ḇk5Z-Ccḇ|s,_ qqލX1wAR ҆b iDmdf]Qn7iK.WSxLfiM7s[;J0iFq!l:ҢbB9n4Z݀ wg搌5 -FEMhKQCqnL. @70%A(TB&ʂa$m7hiW 6L"ZD*~Q*:0A\6AG:]Ny:czFx2_Մ --yn&*GK[|>rHv~ HvB!85 kg\†3D K00Cݞ|{>bgoO/O?Կ|nJllh@ouXO= :'uLl˴|\Uv>{"_+WAteek GIZj5ɠXU4h0Bױ޿ -Zi^+8NqՉ_oιr3x(׺;038#6̷-äweߗ={\CI6߫udL;pN؄S[tŰ{n/1JéB,=,3Gk4{ ٶ4+@&@ *zQg r{o6˞==LfKҲMp_pS2!Ų/(.fTz0DϧH4$Dc*M.5L޷Õ;l#' -G<ˈ@ń U":n}g2g65~oj 1j7wM-Pf#Y=Nx`OV_OuT*SHN\5dZ& -0o"8l{aаÎ i&&@O!eeCOs6yx`hQj{PuOR5ei^{4lY -6n{ otn'w H41$7u8|69oY2Z#۸* @ܲhа)wå0ȼ*؍n ?ݳ@0MLۉ0b#6RCr3 /1endstream -endobj - -30190 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30191 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30192 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30193 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30194 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30195 0 obj -<> -stream -HWko:_A`E#=ڻ)[cCSjmז.'9J['!gGv٫W]g!{wޟW E bX`+{[ﲺxUXXٱ}]y՝!H4Ӱ&K”qX}ohjJ" -x&ǎP;B}O>!'P:SB}ׄzׄzdz0=AƐ媷1`1dm YzZCq \kc";km Xkm Yzǵp!PV1`1d -µ6,BZAƀEƐEw\+kZ{p!Uoc"\kcr\6,µ6,BZIƐEw\+ k%ZCq$\kc"\kc";km Yzǵpp!PV1dJµ6ZCƀEƐ媷1dm Xkm Yzǵp!PV1`1d*µ6,BZEƀEƐEw\kZZCq"\kc";UkmlEkm YzZCƐׁZ {[b<68|pűftb Ӷ:ֻŷG/ "iFs -"~Z{$PJyZV"TԬnN}D@@DaRnc6_mmG3dîXguQ(ZjYEZXv[& FjG뮫a7+Vw g$X\Da_ lXB'5KSh4-@FcY'CGXѴ6ݐLs0.(/QȆ/@X}6n0wOMn -5_`C^,@`h&[Vsqyَm~FA8x0!ۍB PJx/AATGh7{LHGo&\Q"sw9{vWq5~8 T"!MސX:@#fV70 -8>nn[a924vYsNll?o>}a>;*t:&- @n9Fgm^ú_*;=ktJ@'j*sU3rf0H?!A͛I/LZZxc.ZJh=&?ϓ)'rC -ag*Era0Η g8,1c}^Ǭ7VI_@wʽYdxgCJ 0: pTpWwvhn6C-uݤԕEjVAX0vB̼3~^ ޣOED踒)eFvWEl`c Ŵ_A5)m5W >Mz`|czj X%?W+5,ȧs5Y}|J c^Dt2|S'Rk`ܢ&)udd ]J"T\F#ڶ:[A~̿3aZO60xvTW9l|z#?꾞ѠӮ>+ʗ .̆%T]C9 VUad 73FxB9)0 a4 L]_*0q[_⟔(D~g#$h"pTib XÖPngdkٽv84J)58D拍n3zԿ*Wp1C!ɿtX0CV1hSpPݨ*wO_)ɂwI8oqruutDs w>u񎐵a~lv&_^8s3+ $0ן%4JÏ 5*KQdWl9ZA9T9axdaiK;B3@3<0 LI'M֜v"Judj?.a>;CUGŰ_ 0ݾ"Gi ?k@-F3#, Px^cn>˼0j|eQٮOh~J盫f`~r%T;ÿUZm0|^韞#(gݎ -Awx -MI*GnJ? qq7p~0HGV"_oH%XOr͠,XbtHx6RRyW *ؾFE.#(ke fE`}^tQP43KGkA@9_/. a@}SjRt1Ch/(5~u:N - oZ:2MO9dĘɩdL3 }[i`!@b݂Y}lޣŷsYѵ!`C{ Ľu:C-?[mq3'3GB] ݿOƮHUn`ikAMQ!.ؗq*5yoi{ ]{f o $3qt) caЂ86@? 2U:ա9kEx/[|u^ͫWA/>R>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30197 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30198 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30199 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30200 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30201 0 obj -<> -stream -HWo6׀-$ -( -iHfK{JoFZr"#瑚GYu޼eo~~|MJyB1md V2Ղu6$c g5Kj7zú:`}rN8['%$XJaCXiƅN[:?ە=ͮzlwi.LkްiĀE6Đ1dC XkC Yȵpm!PV 1` 1d# -µ!,B}ZA6ĀE6ĐE\+׆kC>r \b"GkCHµ!X}pm!+VbȊՇ׆k%C>r$\b"\b"GkC Yȵpmpm!PV 1d#Jµ!,µ!,B}ZI6ĐE\+ ׆!QkC YCV>Đ1` 1d#*µ!,B}ZE6ĀE6ĐE\׆kC>r"\b"GUkC XkC Yȵpm!PV C ׆b!,µ!X}!+V_eY*psHng*K3nzx62E,K>$^?'Y@&y&&ڲ+jY}7Ym]rJ!L"Ū}ä\=[2Rx|-ň'bŲ,L$gg#XX?jebq5M3.Ԫ|r;Q_Uzw_=A˕yP}peɀ7\F.xx&O 9Ujrꇝóm}?a; !+vrA - Jty0By øx՛~ݸJ:fT+ [ftYVGHgr>gނʏfp·RiV,}]5mc?;W_ ݶOSw,؇$,pr)WC|h3k>xgBeaʷs5. -z9=vqn:1K2%VRשyS) ,Z28Z8Ʉ\fVQTJ.S/;`S5. yVXL4t_fvqXx_zj!TTlr[ Lqѝo~_:`kmu0Fkv ;{⾸V'9wc n|S0ŕGǎʌ0z{mpE- U`O ->5eN>B3Qac=,CRPZrn˅~eKwN;jdd&Up甀OGuSu5⪏d)%;U/K6iG }ReJQCѨc<, KyH -~P< X뛏R'wD4ϖztn~1~5i{ҟ1F c8N)/wa쟧Ⱥcy8Ab^=q.µog>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30203 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30204 0 obj -<> -endobj - -30205 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30206 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30207 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30208 0 obj -<> -stream -H|Wn8}WQZ ! vn``tn%-+JZb`!u|X<*)] S/w|[ƿ#i,c2-TgZXugEiɸԧjj~S?4m= >{?]tXƻǨMҸKi(}i&̻P Mw̳VERf'+D+yl6T&/ՆX=OؙqRd-{_c+}㇯i|RgBY8Q_>*-!$D1dQ XR,!2,]P<ŀ*P*P:P:P:Po&Po&Po6Po6Po6P1@}ƨ9>pb\K1d1*ƵZ!QV1kZf\K1d),ƵCVb -S Xk),F}Z͸bbՌk),ƵC>pf\K1d1jƵZ!QV3k5Zq-ŐŨ\R Yq-0BZ!+TO1d),ƵC>pa\K1d1ƵZ!Q0k Zq-ŐŨ\kR Yq-ŀŸbb5k),F}ZøbmdR Yzq-ŐB().ɿL,c$ARdq;tl2 7Hn~lc3X/bba\ަto/7_w7`*=EX7Q*4wxÄZ3U|rLm)3+{f&a6 چt:/©p)eg ?@ugٞ<6K|^z٩Fjmp5IW4ֽ"& -a2 -hE2ZT.'s2BF]2̒ʏ2Q_']?Ygk{m]fMv/pٝWk '~j*|vax`M)%1fk^&Ni-ܜL{&ʀ#Xe1.Q ~zh%+yC5U{QJ:Q~]n <-)򭟷uoa#@6)ٰhem^6K3u&4]uyS릮q}wA݁+zܙ֦r-daA^0(ˍ N-}Al$ͣ$%HK].1چ]دRPtTs!^ZT4r/=M7ٛ m޼Lnlf]Ps+qCa:gʳ&*Ʀ(a -[t7?%X aҺ'q.뛳U ӇgP*ߊ?}͂a|}=q YK5C!SQ/(y;]n_s -_HUnW~ Prnz7-a\Vo~ލؿvvVk92lLLE1[ѓp ZwGku+WE0s_M|aֶOq߿n?ZRĞ{e_Nu'UAs7oT 7$(eCK pcO/gz]R\`r-xق6p.,]ǥ -"םi, LY*;snaWx0l.Jm6!]J͗V>EW -m{mUop5=BYuݱ ~-2[(̥?jnAeW-mJ8+%.Ŀ7 -n]=1DxlВ*p]RWnr4aSv9AR8^w+rCkVsʼnϡmf{[} -WXBLdcDYF~<둋=rXuj\+/W™JI'3Yt۳?F*(r\Ck,5&)03ttK2<$攅_bfFSSbW?HT~<`Ká 7/ؽ)}6 -TjAM^&h^\Jɋy \lݡҘ65ALFՂͧO *̺>gxYr^H3H -Zp~YrstcR> ir62k6hhL0_J2L,2L,IJL,IJL,ʘXY+cbeAr&V*XE`bAUJ&VIc= `Q Ya,K2dK2dK1TK1WLS YLSC+{ˮ -!EH8~Yj J]hfu)dR= -9<gD{Q+^yF -W{gD{ QaQ+^yF -{5gD{ Q+^yF -{5gD{ Q+yFT3GyF -7{ gD{Q+yF -7{ gD{Q+yF -O<#*♣<#**dQfW~<~p-6 dZϛnV&;+g=:1]-|OmUVtvt -;zvRe,U<>:qHgbxz6Y -w:w˿@RmgW%ʆ*ǐn@4N^@]xYFE,\~<1 -Jدnr+/l]+^9(H|~zyd.Tݕդnoݽ.n+7Z4P{=oW]ub+˶7/p]RUZ٦|<KVUs^l]*QpIr\zqϼ]G7nim~3ݴfޔ4MqX:nsfy&qʌ=kv2S8I wڌFCq6\xn6(ڴ.Ɵw*MXkYxlh7a+|endstream -endobj - -30209 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30210 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30211 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30212 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30213 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30214 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30215 0 obj -<> -endobj - -30216 0 obj -<> -endobj - -30217 0 obj -<> -endobj - -30218 0 obj -<> -endobj - -30219 0 obj -<> -stream -H63#CbD 2RR+2\eE - -ťIu -f(4*˛Pi3S!0F4[^_P `.Gendstream -endobj - -30220 0 obj -<> -endobj - -30221 0 obj -<> -endobj - -30222 0 obj -<> -endobj - -30223 0 obj -<> -endobj - -30224 0 obj -<> -endobj - -30225 0 obj -<> -endobj - -30226 0 obj -<> -stream -Hb``2ptqre``+) -rwRR` ``\\yy 5F}Yd<^\PTQJjq2]^Rgd$e@좐 g ͗a_ ' v@t0l-bVep/,L(Q0200PpLOJU,.I-VK/*/J,IM ! -A!ahiiI P<@X(v!ɥEePa>Œ9 KX Lz00OE2030`ïPoendstream -endobj - -30227 0 obj -<> -endobj - -30228 0 obj -<> -endobj - -30229 0 obj -<> -endobj - -30230 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30231 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30232 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30233 0 obj -<> -stream -HWko8_ -*C/`0m@vPd:VaI^IN ofP4<>${.O0vu{}&L:_dr3晈S*vA>,lj[Mͣдj:cz\-wpJ$ ˰1<)eDYrYxrE?| /^4SխѪ~nVŷe^<DZ7nR52Hb{̟u KO!K[}KU"y -&~A`)}NpX"gS3O}N=9>S_ O}A/<%ԗzϳ0'\bջ׺|.,_p!P﹖u1d=rµ.,µ.,BZNŐE\ ׺׺k9ZCs-'\b"\b"{k] Yzϵp \bջ׺|.,_p!PVu1d= -µ.,µ.,BZAŐE\+׺׺kZCs \b"\b"{k] Yzϵp$\bջ׺|.,_p!PVu1d=Jµ.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] YzϵpAJŐw1`u1d] Y2.R ; 6x Kp_RYeel, /^y-m[ ߖYǹsbe߅71L$8LzY9TVL0m ƩV ѪUMMߙ/櫉v? U6݃Uؕ"3> U݄ YBOiEOST۵VVjWI<\q"^qSE_ -IIDGA >*;XͽZ \UgDλlCVe!NF],љn^)U@:̂/ɝ>.n^Yv G 8t/!Z8,<]Q'8: &Tk̞'6 wu-uu?̨&gpҲ'GB"Qts4Us`50^;\6+v -e=P 3(&\z҈?m|[&0_h!Xjh _Ae5U:z^L[enTL-Bc6Vқ]vWFðRM=ؾ@FM*,:. xØ{G:Zsa zMLmX+wN,VF 2p`i۝0yc"-苣2N 㘐(Iuu&SVݳ u⧻=4KfHs[gtp!o^$~`J/;SCyeM8ϊ,Q~p9?jY> mP=Sse\d i°06 -(Jzx069>K蘝t>/P 474 0 R/Type/Annot/A 30235 0 R/Subtype/Link/Rect[93.6001968 663.229004 184.404007 682.908997]/Border[0 0 0]/H/N>> -endobj - -30235 0 obj -<> -endobj - -30236 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30237 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30238 0 obj -<> -endobj - -30239 0 obj -<> -endobj - -30240 0 obj -<> -endobj - -30241 0 obj -<> -endobj - -30242 0 obj -<> -endobj - -30243 0 obj -<> -endobj - -30244 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30245 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30246 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30247 0 obj -<> -stream -HWے|WL\蒰.TQYHAڂHp -/2*q3$9\ev3W?x ~z25.ѥ -5N&QyfoTDW(U7V.~iu\ֻ4}UFuWEҪZFe$U*BU(.l:>hvJ'z}/wݶ 7j4ok}ww]nzr)/tb0= >盰WMW:Uo7T-TT,1>}n2}Tz)%dZAt ,%aŽk-s, po{V-po{;N=p{{>3>3>s>s>s KEg5(-6{h-Lj%sX= cEk h-Lj܋Zh-Lj܋Z 5 ,Z 5#p/Zk@k9X#p/Zk@k9F,^րrlYZKX`rX=Lj%s,@k9F,^ւrXhX`rXh{Z Z˱{Z Z1bcZ1bcEk-h-6{h-Lj%sX= cEkh-Lj܋:Zh-Lj܋:Z u ,Z u#p/Z@k9X#p/Z@k9F,^ցrlyZKX`rX=Ljܫ{.eezj&,倖Zh9偖ZhyLhe@+Z9ʅVrUBh@Z%*V JeR1bI-e hiZheȽ6e -{ h{aSȽ5e -{ h{NSײ #]wȽ]wȽ]dȽ]dȽ]QȽ]QȽ]>Ƚ]>Ƚ]+Ƚ]+Lj%8F%r@9F%r@9FW%r@9FW%r@9F|%r@9F|%r@9Fw%r@9Fw%r@9Fs%r@9Fs1bI-ёh{2)ҩ43:Dϫ袪ҪZF呠 >T$GUC]fI '">%rȌ˜h굺oڷ7zOfgm$=koh&Ok37_/WOT=횽 5އ?Y_@e9Ü`nvbJ/19@LK[yݯ^\Ip>p?ϐ 3Vsgnn퇯M=:qv<|-Anjtӫ:#U+>i UsVO$N8քhMX}WzH}X -Ĝ e`]NMVL?'Ymi5nGjwa]wjuR6âta ;S葶硶Se)#~?ƒӍTݰ[EI>bS s9.mLWnݨ~5_5]WnaS'Nt4m0-z8_$v·%}9>%7w}p!@:fŠ`w|hd`Ll6nmVmŘl\<>[8" "F1RW- 85vuM*l?l oB۴ۺoX 6<j~󡌰Β#i&sLhݺ81U%f48ûmK33u9}Z>}nMhbX俐AmbD.$&gr#e#pӧ)pjԧ{ʀЩc*Kh9儖ZNhy兖Z^he@+ZʄVr\h@Z*V JUkTjqXRcZhieZh{ h{ h{ h{ h{ h{ h{ h[{Kjq,@9F,%roA9F,%roA9F,%roA9F,%roA9F,%roA9F,%roA9F,%roA9F,%roA9F,%r@9F,űȽȽȽȽȽȽȽȽȽ cĒZeR;_ay]T*eGy>x],,I|f>9W.-U4.Xk&_uM8Ma~2S˻ow[2n/ݬ?N_U">u/E+u>Kt2 no?m>acMf"ӱQaIpK7u&ͲpN'6iݶ}[63^5=n@VJ- 6sa~VZYE!&m Ɇx<xߝWɁOV\>.Èf6ߟ>? T/-b٠># }=NbALu9ԜJ7:5`eYT9wIsyHfFB` -%5nyPx锼l!or^=gM -P=%]jw"XV-8 HlZ˖]U/mS]i'@NW1Nef!k`vȉ-3W"/wLQs_]-b,kI'A9(nsg@'35ⓌⓌ]ӾvҦYwy^ ,I=g$jB -Wf] V^e -~yj3|e\\iR\1j^vEOPtXa}ktWHWwendstream -endobj - -30248 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30249 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30250 0 obj -<> -endobj - -30251 0 obj -<> -endobj - -30252 0 obj -<> -endobj - -30253 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30254 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30255 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -30256 0 obj -<> -stream -H4;0=+ %B0EBi:$@@YFgqy DG&Ŭa=Bk]vz_4uS$!1e6/3n'OA,endstream -endobj - -30257 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30258 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30259 0 obj -<> -endobj - -30260 0 obj -<> -endobj - -30261 0 obj -<> -endobj - -30262 0 obj -<> -endobj - -30263 0 obj -<> -endobj - -30264 0 obj -<> -endobj - -30265 0 obj -<> -endobj - -30266 0 obj -<> -endobj - -30267 0 obj -<> -endobj - -30268 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30269 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30270 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30271 0 obj -<> -stream -H[+&oKD*+qlR$h\@i\,oszw?.x )^~mklRk+\bH82E &P"OvYOr[]V8w?k7n>1H!R"9E,oXٷO=j UbUe?qg$2ɉuYϪkĞ;q2 -e=@NjPR|')"HMjt*i|&lQ&0JRR>E4CQJfkϽfkϽaϽaϽaϽe[Ͻe[Ͻc;Ͻc;Ͻc;}ĸ<>njs3c}̸= >'s2S}ʸ2Rmh&TCwO5R )=ՐS (&TCqV3R{/I-ՀbRK5^j5Z!ŸRR (&TCqV3R{/I-ՀbRK5^j5Z!ŸRRm&TCwO5R )=ՐS (&TCq0R{/I-ՀbRK5^j Z!ŸRkR (&TCq0R{/I-ՀbRK5^j Z!ŸRkRmX&TCwO5R )=ՐS (&TCq2R{/I-ՀbRK5^j-Z!ŸRkR (&TCq2R{/I-ՀbRK5^j-Z!ŸRkRm8&TCwO5R )=ՐݧaVHo.x #X<I&B4D g/˃V7O8Ē!q< m:+拯ZFɇ٪,Z4>;2$J¤R,wI*8چA4&/_Uz~y}z,FzCdqOY}<՟ž̋:;O1˪*Wⷼ2#MbC %U)bb94 gZᇉ9u*9;6EYXq8K"Rrןe; JjL?̞|TS~u,r傞ꄝ%ifsU?eXA'GZny*SJE]gz3b*3/s+vqiŬ"+֬G܊M2bݗU}8걁qk`sG_JkԞt8 -áҮ氿ayO8,J ?cb>I&Z2ԑ_ƪ,Dvh t'+Xcmv\]kǴU΁ȇq3ŦY''tih rGjlSj̥G_/tϞWRa%M۵Ή"/K-hX[a8&+1~ "NB;u060?Sf8c| M$nG_|>0ȶ=$/.XgdSIJd? s3y0D*/#cb%CV^lg \~̘7g,pY:NBNO43n3g#eI/W~[~?;~w-evoir+x?S:$l=Nr0j u]nNC;痲St;pOw#6;0yOhY.2vi#}s M}d 5г>x]yx ?5m# -/r4'L63$Ix6+&JrͤܳZ0i޵E$w}D6MNw7an+MhN)"͖-yFۖ|4md/]ug:񓺉 c] -hɟ!Vu^LX_? ) 0endstream -endobj - -30272 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30273 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30274 0 obj -<> -endobj - -30275 0 obj -<> -endobj - -30276 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30277 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30278 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30279 0 obj -<> -stream -HWio8_2` ; $Ÿw'j[~&wĢE?a"?t/$&?*"ZIrd)F|%]ɦon4{F.?8dw -X$&)'!TaI&WvYbm?Y4 & اc"S}<>gc#s}=¾{Okkֵ)޵ -QkS(kS(kZצP{O QkS(Zֵ -QkS(Zֵ)S-CTֵ)S-CT -a節!umBT -a節!um -Tպ6j]B]պ6ٻ6ٻ6@!um -Tպ6B{j]պ6B{j]B!=rD Pj]B!=rDMj9Z(DMj9ZצP{OQkkֵ)޵ -QkS(kS(kZצP{OQkS(Zֵ -QkS(Zֵ)S@Tֵ)S@T -aV umBT -aV um -T+պ6Hպ6ٻ6@!um -wm -/(fX]p1B@/JI'6ԓj$(ۓIP72ww~R_5^>ʩ;r(Oͤз;7 Xτ*\@շ-8g[AP(΋|PvQ˗kշrpEoy-<#MBe^i>HBE[tvŠ()Q˪) eHi0>Rr~݅Uh[N.9Oq2/ ֎<˦+@k93Ʃ~X7*O>Cٹt(l[>, _ʡ.:^$I( 0Vk3%@Z1ү^$,}Rpp8s"fsEu;K=Q#oNqהK%XZ!wqv~"ՑBR=q [ɢ֫ϫ/M^+mgLVNuj&< D<#Y09#*\q01+Ev*A64}="?xgХZ(Y2WP".u=)q`Շ߿q@tpM$5W$ctG44N~G -9ikwJX*uWj|+URG:,ϷVk\"&Տ1r4*W|0 #RJWVS$־ylZXॆ7liT -B 0nBaб1bͧҴs%HPu3Rk&g K+ -RʯHsrrԌ5 -%PXjSǣn".ִzb\C|J8q0 /z:;i[;n*qt^ y![D'I~7(L2ϥ'/+^rdf~pدf "/?:x6Kv'?nqoQ҅sӹ# -ĥG^ջcXjDktqznR `b c=i w}&}tv4Cvn \*j~#Lx0U>Garv0E'a5dʔaDOٷFy4+[rcw}4(n2,o{SӶfo?tg4^bs ]6HfGA598`%6NH' ^d/3hE;$m@5 ̱)T!8FsQ ;6Bmi\iYܭt"QgU='*T>/P 645 0 R/Type/Annot/A 30281 0 R/Subtype/Link/Rect[93.6003036 539.830017 229.751999 559.51001]/Border[0 0 0]/H/N>> -endobj - -30281 0 obj -<> -endobj - -30282 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30283 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30284 0 obj -<> -endobj - -30285 0 obj -<> -endobj - -30286 0 obj -<> -endobj - -30287 0 obj -<> -endobj - -30288 0 obj -<> -endobj - -30289 0 obj -<> -endobj - -30290 0 obj -<> -endobj - -30291 0 obj -<> -endobj - -30292 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30293 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30294 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30295 0 obj -<> -stream -HWko8_6*KlQ`vΠ؋Y -Ec_0y3` sr{xy%yu-yI@޿GOgȘ!#Q}H?H$'꘶UԹwˆJ{/ IHs(ɶnWyU[&헑C˄O~M^8#*DTe3>+5شiKϿP]sL4 |YyŃY3 f/$Lg%p6^"mNrClLp6,J]iDXvJ]6,gzgzzzzzzzzQ:CD}訏>BGQ9cD}쨏>A'Qx"ckmL\6,ĵ6Yz,W qiq-C\kcw\ژf!2ĵ6Yzǵ q qiq-C\kcw\ژf!2ĵ6Yzǵ qG\kc媷1`!1rۘfm XkmLk9Z,DZƀ4 Q︖#1B;km XkmLk9Z,DZƀ4 Q︖#1B;kmZ,W qi4UocB\kcw\+ژf! -ĵ6,ĵ6Yzǵqiq@\kcB\kcw\+ژf! -ĵ6,ĵ6Yzǵqiq@\kc'ژfm XkmL\6Y*L8 `X#csD?IAo6 -ֻ;F($d{LhL}J %ھ?v-x>&6 |}8̊i RK0B%wX…niQ{I(dXe?ZYV60rb߮T&՞t_6~6^xUei+Է5Dhm/q*QPчjg*7vBnn>ק RdPT,czZ7qLTܫZ)UMrG i̯]U^QAm3 .LǪY@p>ɻPSPٗ_I?C[h+ȶ<yz$?6 +>lrv͝6.nI -b9bdfپ<7şvtgJb]˰WRrJI 彎 녨s$eATy&jkU{do^|k7o6!x.tep8Lk~9\NӇc^$N]Vᴁ(Y{>KyL׆uݥmUҶN6:iiK$Y֟t2qɅQ"QxzYN=QvV !!M©@̮NNف i+MgS:Cst44667a{K\kiՅ]^#̹o5 -U XaMb!<|R_j/Hw8\b{ru%P.{?^b0Щ1"=!/2> }E q;\ ht(\8 == y++7%/JneI_w9WpB$ldSA yucϟҴ c6vIF(K0XoIխ~R pޘSz<@On%f$ l7w7~|v|2x63ڡj9t[rX4(;V~PFEGIwή <08@Tu_,:_c4VtY4@][X^6~0Y:Vּ.M5tKi:]=XjomB~F'-T_)뻫A -uh=E^X!?jKڵlApf -Us@u)߆0^]+;!_@i_^1rty>%EPԫbT1t)#Wq8DS< c^~`7)TmL0/&h6/~6豛 4}j%缫DWNy¼z5k ,[L?f _D|Ѓ|h^?CB`ФuTGd>X&0(ҏ1 p*t?˙H! %.$.iRϚ_nQpp8I -ϢțRšs<"/_|Ư4?IlgRYߚGIpWhQ,]޷B8H9\ `r9ҁ8ɧ0ﳞ;p&H|'C[OZpU&*儎ƸW:r* N?LT}</ȡ|w,u_IS ?gM=" ?կgo.#8#bi:^Her6T C\YJL-SCaʹ 3"U\x5^dF3t=ѿL=R^xVn" TU-am2P0hTJڲc/xV弳{D6k DHPe:2;D[ׅ+$ygEB~;!)>okh* c$JLEJp( F;GѪOGrKWi -9,ͥ7%4c_A/OOw (oЪ-ʮ+K}Ճ.`GH܊I6rǟt -l]mhfBR8i:^6ICׅdPNB9m Q]H²xx FfjZen -~՛sSH\]4)u,?d"Z;-*\/a!X{ίQNrlN[3N]JMSo݁ѢWUĿn x6搟zę֤?7O??/1kendstream -endobj - -30296 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30297 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30298 0 obj -<> -endobj - -30299 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30300 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30301 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30302 0 obj -<> -stream -HWnG}G -G}AYf^'PB+t(V 9B`I9tu͖ _9΄E`SjfʭdΪHg*1lvu~~Zovx`EvV4;dM?fH8 L[+gMh0h6p -@xq"Yo3K .`OWv'gX%rrYpSvcB FpR8(!RTC!Pv!Rq PP/P/PPPPPPoPoPoPoPoPPPPPPPxVcLcJ1@cJ1D1DJµq Qĵpm8(B}ZI6!PVc"\EO\+ 1DJµq Pkk%8(B}ZI6-3E6!*UE6!*Uc"\EO\1D*µq Pkk8(B}ZE6pmC>q"\EO\1@c"'Ukk848T}8T}CT>pmC>q&\EO\ 1@c"'Մkk58(µq QĵpmC>q&\E6!PVc"'Մk23kRq PkRq Q4_χezL 6"Ꙑ!:.fx4X1؉\)Kv^W+RCﰛ9yr}0fm ~XC+9qO -$Z6i} -?/8a;t7p>Tk2~W_T-B6q;v֣ͅ߿@cT:Fk|'M DH^;ҁ3\:Wʭooy;u|ƄfڟV[p7zXmM&|_-Ŗø\f.Ò1|;ܛ>n*Nf1!f}]۸nr]]rp<lӬd K3 eC)l5b|3%^\77]L֢mJ4X."Nz,|38yO'V&w\5W >-չah)4Ya -l`z'0VyzoC"[,%a;RRe;CФZ -( -\<Ӿ&,?hu;tٿ (|VkTgG<6V jyuӍf ^?Eq7'Dhi7h_"52]6j^jX=$m!yžqSjyXUV!煐}7£}䄏6W~J)cA1lȘ?ip]سώW#K0I}מWW+}l& -UPաe Pae, u U3S]0ZNx<˃0xFKgOf}{Vwa׺U_K]뮖±__82q -j#J|XQIT䙪rvyz1]֡Kr[.ɂ NG÷J[N -@LӮ!o_o[so񅞓 *Ö2ĽiˆoSRL ӄurB~1ƜM-d r5s;b#ۡ&M LCl2DlrMzE6AC"6=vmlfDlv - zEƕTjP/h#RWB|S;$|E@l ~ ^1_}]lWj˾o}z,?H.ߌO*HHDN%s,9:j1E+E#}Mu5uAo^qY=֟3n/Qjnk]EmP1;t-ڃR+42v=' -F$Ș) +eі'o\1AE͕bUbet'X8(Zyԧo""j[u*dͼ;űN^}Ѿ ببxqz{?޵QősȕLh|w -3Pp̄f4¯!ߛ5k6W}=o?7BΔ/ݍaWFAʚsw̼#7xݎ;O&#n"ؙJd]pf4?>tzvz2jkvU]sIM]gOA*a@eLG-)Kj1UײzxଚA 0-덦7Rf_~…䵞z\X*Cs9n R tN.NnhbJKY?<&$,?Vf:4qq[ŊOWˎ6W8&`!`ɮkOEJYڋ0Rf/$\Z1:՞ZQ -ʮ7GE6y٫~u9s2BKr#1󖄸|lToF6{צđf+Va.Xob>(w/{ͣAyS;4q3OJY -NNfN!T/x QJ j^ITvwk6*\Hbl`c 4o;MÅWjcd%>kܰdsՕvuȕql]ަo:п" _vb!ꤕn7_֜Vّm=E1ٰդ@@:Љc@ST]1N>!M3EsUN*V~יl=/Q> -9 :73]{\n~Y.ZrB_rx!ɶs{HP %ts+ ;6QreҾoi۵cBb;=mB|0V绻uPһMt~sX@qx~Q߫:P1&3T'ñ~xzigKJfK09`QXe=]68hӶfqɗXYQ!Yr v\y'@Z?r{Tr#.lUЖxTJ*?3BKz22i(Tz&sv*%+1U,R2C 6xAxk2 xb[Y5QbTxmEZviDQQ3]|@ TN.3[l(f -]XP`fq1q ݅p' -PmPa6EZI9WpؽLхɥ1Cy_E4hQ׏Jg;/j[t2?JƧ=:Xjϟ;xK%Gex0[BfaBB-LWSliZ~V$V%f YJ:Cp^*`2t.v/͛1/fHYendstream -endobj - -30303 0 obj -<>/P 6717 0 R/Type/Annot/A 30969 0 R/Subtype/Link/Rect[206 670 220 678]/Border[0 0 0]/H/N>> -endobj - -30304 0 obj -<>/P 6717 0 R/Type/Annot/A 30967 0 R/Subtype/Link/Rect[222 670 236 678]/Border[0 0 0]/H/N>> -endobj - -30305 0 obj -<>/P 6717 0 R/Type/Annot/A 30964 0 R/Subtype/Link/Rect[238 670 255 679]/Border[0 0 0]/H/N>> -endobj - -30306 0 obj -<>/P 6717 0 R/Type/Annot/A 30962 0 R/Subtype/Link/Rect[256 670 268 678]/Border[0 0 0]/H/N>> -endobj - -30307 0 obj -<>/P 6717 0 R/Type/Annot/A 30960 0 R/Subtype/Link/Rect[189 660 201 668]/Border[0 0 0]/H/N>> -endobj - -30308 0 obj -<>/P 6717 0 R/Type/Annot/A 30958 0 R/Subtype/Link/Rect[194 640 210 649]/Border[0 0 0]/H/N>> -endobj - -30309 0 obj -<>/P 6717 0 R/Type/Annot/A 30956 0 R/Subtype/Link/Rect[211 640 223 648]/Border[0 0 0]/H/N>> -endobj - -30310 0 obj -<>/P 6717 0 R/Type/Annot/A 30954 0 R/Subtype/Link/Rect[161 630 178 639]/Border[0 0 0]/H/N>> -endobj - -30311 0 obj -<>/P 6717 0 R/Type/Annot/A 30952 0 R/Subtype/Link/Rect[178 630 190 638]/Border[0 0 0]/H/N>> -endobj - -30312 0 obj -<>/P 6717 0 R/Type/Annot/A 30950 0 R/Subtype/Link/Rect[211 620 228 629]/Border[0 0 0]/H/N>> -endobj - -30313 0 obj -<>/P 6717 0 R/Type/Annot/A 30948 0 R/Subtype/Link/Rect[229 620 243 628]/Border[0 0 0]/H/N>> -endobj - -30314 0 obj -<>/P 6717 0 R/Type/Annot/A 30946 0 R/Subtype/Link/Rect[245 620 257 628]/Border[0 0 0]/H/N>> -endobj - -30315 0 obj -<>/P 6717 0 R/Type/Annot/A 30944 0 R/Subtype/Link/Rect[189 610 201 618]/Border[0 0 0]/H/N>> -endobj - -30316 0 obj -<>/P 6717 0 R/Type/Annot/A 30942 0 R/Subtype/Link/Rect[182 600 194 608]/Border[0 0 0]/H/N>> -endobj - -30317 0 obj -<>/P 6717 0 R/Type/Annot/A 30940 0 R/Subtype/Link/Rect[211 590 223 598]/Border[0 0 0]/H/N>> -endobj - -30318 0 obj -<>/P 6717 0 R/Type/Annot/A 30938 0 R/Subtype/Link/Rect[207 580 219 588]/Border[0 0 0]/H/N>> -endobj - -30319 0 obj -<>/P 6717 0 R/Type/Annot/A 30936 0 R/Subtype/Link/Rect[226 570 238 578]/Border[0 0 0]/H/N>> -endobj - -30320 0 obj -<>/P 6717 0 R/Type/Annot/A 30934 0 R/Subtype/Link/Rect[207 560 221 568]/Border[0 0 0]/H/N>> -endobj - -30321 0 obj -<>/P 6717 0 R/Type/Annot/A 30932 0 R/Subtype/Link/Rect[223 560 235 568]/Border[0 0 0]/H/N>> -endobj - -30322 0 obj -<>/P 6717 0 R/Type/Annot/A 30930 0 R/Subtype/Link/Rect[207 550 219 558]/Border[0 0 0]/H/N>> -endobj - -30323 0 obj -<>/P 6717 0 R/Type/Annot/A 30928 0 R/Subtype/Link/Rect[207 540 219 548]/Border[0 0 0]/H/N>> -endobj - -30324 0 obj -<>/P 6717 0 R/Type/Annot/A 30926 0 R/Subtype/Link/Rect[216 530 230 538]/Border[0 0 0]/H/N>> -endobj - -30325 0 obj -<>/P 6717 0 R/Type/Annot/A 30924 0 R/Subtype/Link/Rect[232 530 244 538]/Border[0 0 0]/H/N>> -endobj - -30326 0 obj -<>/P 6717 0 R/Type/Annot/A 30922 0 R/Subtype/Link/Rect[211 520 223 528]/Border[0 0 0]/H/N>> -endobj - -30327 0 obj -<>/P 6717 0 R/Type/Annot/A 30920 0 R/Subtype/Link/Rect[211 510 223 518]/Border[0 0 0]/H/N>> -endobj - -30328 0 obj -<>/P 6717 0 R/Type/Annot/A 30918 0 R/Subtype/Link/Rect[202 500 216 508]/Border[0 0 0]/H/N>> -endobj - -30329 0 obj -<>/P 6717 0 R/Type/Annot/A 30916 0 R/Subtype/Link/Rect[218 500 234 509]/Border[0 0 0]/H/N>> -endobj - -30330 0 obj -<>/P 6717 0 R/Type/Annot/A 30914 0 R/Subtype/Link/Rect[235 500 249 508]/Border[0 0 0]/H/N>> -endobj - -30331 0 obj -<>/P 6717 0 R/Type/Annot/A 30912 0 R/Subtype/Link/Rect[251 500 268 509]/Border[0 0 0]/H/N>> -endobj - -30332 0 obj -<>/P 6717 0 R/Type/Annot/A 30910 0 R/Subtype/Link/Rect[268 500 282 508]/Border[0 0 0]/H/N>> -endobj - -30333 0 obj -<>/P 6717 0 R/Type/Annot/A 30908 0 R/Subtype/Link/Rect[151 490 167 499]/Border[0 0 0]/H/N>> -endobj - -30334 0 obj -<>/P 6717 0 R/Type/Annot/A 30906 0 R/Subtype/Link/Rect[168 490 182 498]/Border[0 0 0]/H/N>> -endobj - -30335 0 obj -<>/P 6717 0 R/Type/Annot/A 30904 0 R/Subtype/Link/Rect[184 490 201 499]/Border[0 0 0]/H/N>> -endobj - -30336 0 obj -<>/P 6717 0 R/Type/Annot/A 30902 0 R/Subtype/Link/Rect[201 490 215 498]/Border[0 0 0]/H/N>> -endobj - -30337 0 obj -<>/P 6717 0 R/Type/Annot/A 30900 0 R/Subtype/Link/Rect[217 490 234 499]/Border[0 0 0]/H/N>> -endobj - -30338 0 obj -<>/P 6717 0 R/Type/Annot/A 30898 0 R/Subtype/Link/Rect[235 490 247 498]/Border[0 0 0]/H/N>> -endobj - -30339 0 obj -<>/P 6717 0 R/Type/Annot/A 30896 0 R/Subtype/Link/Rect[206 480 220 488]/Border[0 0 0]/H/N>> -endobj - -30340 0 obj -<>/P 6717 0 R/Type/Annot/A 30894 0 R/Subtype/Link/Rect[222 480 239 489]/Border[0 0 0]/H/N>> -endobj - -30341 0 obj -<>/P 6717 0 R/Type/Annot/A 30891 0 R/Subtype/Link/Rect[240 480 252 488]/Border[0 0 0]/H/N>> -endobj - -30342 0 obj -<>/P 6717 0 R/Type/Annot/A 30888 0 R/Subtype/Link/Rect[189 470 201 478]/Border[0 0 0]/H/N>> -endobj - -30343 0 obj -<>/P 6717 0 R/Type/Annot/A 30884 0 R/Subtype/Link/Rect[202 460 214 468]/Border[0 0 0]/H/N>> -endobj - -30344 0 obj -<>/P 6717 0 R/Type/Annot/A 30880 0 R/Subtype/Link/Rect[198 450 210 458]/Border[0 0 0]/H/N>> -endobj - -30345 0 obj -<>/P 6717 0 R/Type/Annot/A 30876 0 R/Subtype/Link/Rect[194 440 211 449]/Border[0 0 0]/H/N>> -endobj - -30346 0 obj -<>/P 6717 0 R/Type/Annot/A 30872 0 R/Subtype/Link/Rect[211 440 223 448]/Border[0 0 0]/H/N>> -endobj - -30347 0 obj -<>/P 6717 0 R/Type/Annot/A 30867 0 R/Subtype/Link/Rect[178 430 190 438]/Border[0 0 0]/H/N>> -endobj - -30348 0 obj -<>/P 6717 0 R/Type/Annot/A 30862 0 R/Subtype/Link/Rect[175 420 181 428]/Border[0 0 0]/H/N>> -endobj - -30349 0 obj -<>/P 6717 0 R/Type/Annot/A 30858 0 R/Subtype/Link/Rect[183 420 193 428]/Border[0 0 0]/H/N>> -endobj - -30350 0 obj -<>/P 6717 0 R/Type/Annot/A 30854 0 R/Subtype/Link/Rect[195 420 209 428]/Border[0 0 0]/H/N>> -endobj - -30351 0 obj -<>/P 6717 0 R/Type/Annot/A 30850 0 R/Subtype/Link/Rect[211 420 225 428]/Border[0 0 0]/H/N>> -endobj - -30352 0 obj -<>/P 6717 0 R/Type/Annot/A 30846 0 R/Subtype/Link/Rect[227 420 241 428]/Border[0 0 0]/H/N>> -endobj - -30353 0 obj -<>/P 6717 0 R/Type/Annot/A 30842 0 R/Subtype/Link/Rect[243 420 256 428]/Border[0 0 0]/H/N>> -endobj - -30354 0 obj -<>/P 6717 0 R/Type/Annot/A 30839 0 R/Subtype/Link/Rect[258 420 275 429]/Border[0 0 0]/H/N>> -endobj - -30355 0 obj -<>/P 6717 0 R/Type/Annot/A 30835 0 R/Subtype/Link/Rect[276 420 290 428]/Border[0 0 0]/H/N>> -endobj - -30356 0 obj -<>/P 6717 0 R/Type/Annot/A 30831 0 R/Subtype/Link/Rect[292 420 306 428]/Border[0 0 0]/H/N>> -endobj - -30357 0 obj -<>/P 6717 0 R/Type/Annot/A 30827 0 R/Subtype/Link/Rect[151 410 165 418]/Border[0 0 0]/H/N>> -endobj - -30358 0 obj -<>/P 6717 0 R/Type/Annot/A 30823 0 R/Subtype/Link/Rect[167 410 179 418]/Border[0 0 0]/H/N>> -endobj - -30359 0 obj -<>/P 6717 0 R/Type/Annot/A 30819 0 R/Subtype/Link/Rect[160 400 168 408]/Border[0 0 0]/H/N>> -endobj - -30360 0 obj -<>/P 6717 0 R/Type/Annot/A 30815 0 R/Subtype/Link/Rect[193 390 207 398]/Border[0 0 0]/H/N>> -endobj - -30361 0 obj -<>/P 6717 0 R/Type/Annot/A 30811 0 R/Subtype/Link/Rect[209 390 223 398]/Border[0 0 0]/H/N>> -endobj - -30362 0 obj -<>/P 6717 0 R/Type/Annot/A 30806 0 R/Subtype/Link/Rect[225 390 239 398]/Border[0 0 0]/H/N>> -endobj - -30363 0 obj -<>/P 6717 0 R/Type/Annot/A 30802 0 R/Subtype/Link/Rect[241 390 255 398]/Border[0 0 0]/H/N>> -endobj - -30364 0 obj -<>/P 6717 0 R/Type/Annot/A 30798 0 R/Subtype/Link/Rect[257 390 271 398]/Border[0 0 0]/H/N>> -endobj - -30365 0 obj -<>/P 6717 0 R/Type/Annot/A 30794 0 R/Subtype/Link/Rect[273 390 287 398]/Border[0 0 0]/H/N>> -endobj - -30366 0 obj -<>/P 6717 0 R/Type/Annot/A 30790 0 R/Subtype/Link/Rect[289 390 303 398]/Border[0 0 0]/H/N>> -endobj - -30367 0 obj -<>/P 6717 0 R/Type/Annot/A 30787 0 R/Subtype/Link/Rect[151 380 165 388]/Border[0 0 0]/H/N>> -endobj - -30368 0 obj -<>/P 6717 0 R/Type/Annot/A 30783 0 R/Subtype/Link/Rect[167 380 183 389]/Border[0 0 0]/H/N>> -endobj - -30369 0 obj -<>/P 6717 0 R/Type/Annot/A 30780 0 R/Subtype/Link/Rect[184 380 198 388]/Border[0 0 0]/H/N>> -endobj - -30370 0 obj -<>/P 6717 0 R/Type/Annot/A 30778 0 R/Subtype/Link/Rect[200 380 214 388]/Border[0 0 0]/H/N>> -endobj - -30371 0 obj -<>/P 6717 0 R/Type/Annot/A 30776 0 R/Subtype/Link/Rect[216 380 230 388]/Border[0 0 0]/H/N>> -endobj - -30372 0 obj -<>/P 6717 0 R/Type/Annot/A 30773 0 R/Subtype/Link/Rect[232 380 246 388]/Border[0 0 0]/H/N>> -endobj - -30373 0 obj -<>/P 6717 0 R/Type/Annot/A 30769 0 R/Subtype/Link/Rect[248 380 262 388]/Border[0 0 0]/H/N>> -endobj - -30374 0 obj -<>/P 6717 0 R/Type/Annot/A 30765 0 R/Subtype/Link/Rect[264 380 276 388]/Border[0 0 0]/H/N>> -endobj - -30375 0 obj -<>/P 6717 0 R/Type/Annot/A 30761 0 R/Subtype/Link/Rect[207 370 221 378]/Border[0 0 0]/H/N>> -endobj - -30376 0 obj -<>/P 6717 0 R/Type/Annot/A 30758 0 R/Subtype/Link/Rect[223 370 237 378]/Border[0 0 0]/H/N>> -endobj - -30377 0 obj -<>/P 6717 0 R/Type/Annot/A 30754 0 R/Subtype/Link/Rect[239 370 251 378]/Border[0 0 0]/H/N>> -endobj - -30378 0 obj -<>/P 6717 0 R/Type/Annot/A 30750 0 R/Subtype/Link/Rect[235 360 245 368]/Border[0 0 0]/H/N>> -endobj - -30379 0 obj -<>/P 6717 0 R/Type/Annot/A 30746 0 R/Subtype/Link/Rect[247 360 257 368]/Border[0 0 0]/H/N>> -endobj - -30380 0 obj -<>/P 6717 0 R/Type/Annot/A 30742 0 R/Subtype/Link/Rect[259 360 267 368]/Border[0 0 0]/H/N>> -endobj - -30381 0 obj -<>/P 6717 0 R/Type/Annot/A 30738 0 R/Subtype/Link/Rect[176 340 192 349]/Border[0 0 0]/H/N>> -endobj - -30382 0 obj -<>/P 6717 0 R/Type/Annot/A 30735 0 R/Subtype/Link/Rect[193 340 205 348]/Border[0 0 0]/H/N>> -endobj - -30383 0 obj -<>/P 6717 0 R/Type/Annot/A 30731 0 R/Subtype/Link/Rect[176 330 192 339]/Border[0 0 0]/H/N>> -endobj - -30384 0 obj -<>/P 6717 0 R/Type/Annot/A 30727 0 R/Subtype/Link/Rect[193 330 205 339]/Border[0 0 0]/H/N>> -endobj - -30385 0 obj -<>/P 6717 0 R/Type/Annot/A 30724 0 R/Subtype/Link/Rect[207 320 219 329]/Border[0 0 0]/H/N>> -endobj - -30386 0 obj -<>/P 6717 0 R/Type/Annot/A 30720 0 R/Subtype/Link/Rect[216 310 228 319]/Border[0 0 0]/H/N>> -endobj - -30387 0 obj -<>/P 6717 0 R/Type/Annot/A 30716 0 R/Subtype/Link/Rect[216 300 228 309]/Border[0 0 0]/H/N>> -endobj - -30388 0 obj -<>/P 6717 0 R/Type/Annot/A 30713 0 R/Subtype/Link/Rect[216 290 228 299]/Border[0 0 0]/H/N>> -endobj - -30389 0 obj -<>/P 6717 0 R/Type/Annot/A 30709 0 R/Subtype/Link/Rect[216 280 228 289]/Border[0 0 0]/H/N>> -endobj - -30390 0 obj -<>/P 6717 0 R/Type/Annot/A 30705 0 R/Subtype/Link/Rect[216 270 228 279]/Border[0 0 0]/H/N>> -endobj - -30391 0 obj -<>/P 6717 0 R/Type/Annot/A 30700 0 R/Subtype/Link/Rect[216 260 228 269]/Border[0 0 0]/H/N>> -endobj - -30392 0 obj -<>/P 6717 0 R/Type/Annot/A 30696 0 R/Subtype/Link/Rect[216 250 228 259]/Border[0 0 0]/H/N>> -endobj - -30393 0 obj -<>/P 6717 0 R/Type/Annot/A 30692 0 R/Subtype/Link/Rect[216 240 228 249]/Border[0 0 0]/H/N>> -endobj - -30394 0 obj -<>/P 6717 0 R/Type/Annot/A 30689 0 R/Subtype/Link/Rect[202 230 214 239]/Border[0 0 0]/H/N>> -endobj - -30395 0 obj -<>/P 6717 0 R/Type/Annot/A 30687 0 R/Subtype/Link/Rect[207 220 219 229]/Border[0 0 0]/H/N>> -endobj - -30396 0 obj -<>/P 6717 0 R/Type/Annot/A 30684 0 R/Subtype/Link/Rect[202 210 216 219]/Border[0 0 0]/H/N>> -endobj - -30397 0 obj -<>/P 6717 0 R/Type/Annot/A 30681 0 R/Subtype/Link/Rect[218 210 230 219]/Border[0 0 0]/H/N>> -endobj - -30398 0 obj -<>/P 6717 0 R/Type/Annot/A 30679 0 R/Subtype/Link/Rect[189 200 201 209]/Border[0 0 0]/H/N>> -endobj - -30399 0 obj -<>/P 6717 0 R/Type/Annot/A 30676 0 R/Subtype/Link/Rect[248 190 262 199]/Border[0 0 0]/H/N>> -endobj - -30400 0 obj -<>/P 6717 0 R/Type/Annot/A 30672 0 R/Subtype/Link/Rect[264 190 278 199]/Border[0 0 0]/H/N>> -endobj - -30401 0 obj -<>/P 6717 0 R/Type/Annot/A 30668 0 R/Subtype/Link/Rect[280 190 292 199]/Border[0 0 0]/H/N>> -endobj - -30402 0 obj -<>/P 6717 0 R/Type/Annot/A 30665 0 R/Subtype/Link/Rect[216 180 230 189]/Border[0 0 0]/H/N>> -endobj - -30403 0 obj -<>/P 6717 0 R/Type/Annot/A 30663 0 R/Subtype/Link/Rect[232 180 244 189]/Border[0 0 0]/H/N>> -endobj - -30404 0 obj -<>/P 6717 0 R/Type/Annot/A 30662 0 R/Subtype/Link/Rect[207 170 219 179]/Border[0 0 0]/H/N>> -endobj - -30405 0 obj -<>/P 6717 0 R/Type/Annot/A 30660 0 R/Subtype/Link/Rect[216 160 228 169]/Border[0 0 0]/H/N>> -endobj - -30406 0 obj -<>/P 6717 0 R/Type/Annot/A 30658 0 R/Subtype/Link/Rect[206 150 220 159]/Border[0 0 0]/H/N>> -endobj - -30407 0 obj -<>/P 6717 0 R/Type/Annot/A 30654 0 R/Subtype/Link/Rect[222 150 234 159]/Border[0 0 0]/H/N>> -endobj - -30408 0 obj -<>/P 6717 0 R/Type/Annot/A 30651 0 R/Subtype/Link/Rect[397 670 409 678]/Border[0 0 0]/H/N>> -endobj - -30409 0 obj -<>/P 6717 0 R/Type/Annot/A 30893 0 R/Subtype/Link/Rect[424 660 436 668]/Border[0 0 0]/H/N>> -endobj - -30410 0 obj -<>/P 6717 0 R/Type/Annot/A 30890 0 R/Subtype/Link/Rect[410 650 424 658]/Border[0 0 0]/H/N>> -endobj - -30411 0 obj -<>/P 6717 0 R/Type/Annot/A 30887 0 R/Subtype/Link/Rect[426 650 438 658]/Border[0 0 0]/H/N>> -endobj - -30412 0 obj -<>/P 6717 0 R/Type/Annot/A 30883 0 R/Subtype/Link/Rect[414 640 428 648]/Border[0 0 0]/H/N>> -endobj - -30413 0 obj -<>/P 6717 0 R/Type/Annot/A 44693 0 R/Subtype/Link/Rect[430 640 447 649]/Border[0 0 0]/H/N>> -endobj - -30414 0 obj -<>/P 6717 0 R/Type/Annot/A 30875 0 R/Subtype/Link/Rect[448 640 460 648]/Border[0 0 0]/H/N>> -endobj - -30415 0 obj -<>/P 6717 0 R/Type/Annot/A 30871 0 R/Subtype/Link/Rect[397 630 409 638]/Border[0 0 0]/H/N>> -endobj - -30416 0 obj -<>/P 6717 0 R/Type/Annot/A 30866 0 R/Subtype/Link/Rect[410 620 426 629]/Border[0 0 0]/H/N>> -endobj - -30417 0 obj -<>/P 6717 0 R/Type/Annot/A 30861 0 R/Subtype/Link/Rect[427 620 439 628]/Border[0 0 0]/H/N>> -endobj - -30418 0 obj -<>/P 6717 0 R/Type/Annot/A 44510 0 R/Subtype/Link/Rect[397 610 409 618]/Border[0 0 0]/H/N>> -endobj - -30419 0 obj -<>/P 6717 0 R/Type/Annot/A 30853 0 R/Subtype/Link/Rect[410 600 424 608]/Border[0 0 0]/H/N>> -endobj - -30420 0 obj -<>/P 6717 0 R/Type/Annot/A 30849 0 R/Subtype/Link/Rect[426 600 442 609]/Border[0 0 0]/H/N>> -endobj - -30421 0 obj -<>/P 6717 0 R/Type/Annot/A 30845 0 R/Subtype/Link/Rect[443 600 455 608]/Border[0 0 0]/H/N>> -endobj - -30422 0 obj -<>/P 6717 0 R/Type/Annot/A 30841 0 R/Subtype/Link/Rect[397 590 409 598]/Border[0 0 0]/H/N>> -endobj - -30423 0 obj -<>/P 6717 0 R/Type/Annot/A 30837 0 R/Subtype/Link/Rect[424 580 436 588]/Border[0 0 0]/H/N>> -endobj - -30424 0 obj -<>/P 6717 0 R/Type/Annot/A 30833 0 R/Subtype/Link/Rect[437 570 451 578]/Border[0 0 0]/H/N>> -endobj - -30425 0 obj -<>/P 6717 0 R/Type/Annot/A 30829 0 R/Subtype/Link/Rect[453 570 467 578]/Border[0 0 0]/H/N>> -endobj - -30426 0 obj -<>/P 6717 0 R/Type/Annot/A 30825 0 R/Subtype/Link/Rect[469 570 483 578]/Border[0 0 0]/H/N>> -endobj - -30427 0 obj -<>/P 6717 0 R/Type/Annot/A 30821 0 R/Subtype/Link/Rect[485 570 499 578]/Border[0 0 0]/H/N>> -endobj - -30428 0 obj -<>/P 6717 0 R/Type/Annot/A 30817 0 R/Subtype/Link/Rect[501 570 513 578]/Border[0 0 0]/H/N>> -endobj - -30429 0 obj -<>/P 6717 0 R/Type/Annot/A 30813 0 R/Subtype/Link/Rect[415 560 429 568]/Border[0 0 0]/H/N>> -endobj - -30430 0 obj -<>/P 6717 0 R/Type/Annot/A 30808 0 R/Subtype/Link/Rect[431 560 443 568]/Border[0 0 0]/H/N>> -endobj - -30431 0 obj -<>/P 6717 0 R/Type/Annot/A 30804 0 R/Subtype/Link/Rect[429 550 441 558]/Border[0 0 0]/H/N>> -endobj - -30432 0 obj -<>/P 6717 0 R/Type/Annot/A 30800 0 R/Subtype/Link/Rect[415 540 423 548]/Border[0 0 0]/H/N>> -endobj - -30433 0 obj -<>/P 6717 0 R/Type/Annot/A 30796 0 R/Subtype/Link/Rect[414 530 428 538]/Border[0 0 0]/H/N>> -endobj - -30434 0 obj -<>/P 6717 0 R/Type/Annot/A 30792 0 R/Subtype/Link/Rect[430 530 442 538]/Border[0 0 0]/H/N>> -endobj - -30435 0 obj -<>/P 6717 0 R/Type/Annot/A 30788 0 R/Subtype/Link/Rect[410 520 424 528]/Border[0 0 0]/H/N>> -endobj - -30436 0 obj -<>/P 6717 0 R/Type/Annot/A 30784 0 R/Subtype/Link/Rect[426 520 440 528]/Border[0 0 0]/H/N>> -endobj - -30437 0 obj -<>/P 6717 0 R/Type/Annot/A 30781 0 R/Subtype/Link/Rect[442 520 458 529]/Border[0 0 0]/H/N>> -endobj - -30438 0 obj -<>/P 6717 0 R/Type/Annot/A 30971 0 R/Subtype/Link/Rect[459 520 473 528]/Border[0 0 0]/H/N>> -endobj - -30439 0 obj -<>/P 6717 0 R/Type/Annot/A 30775 0 R/Subtype/Link/Rect[475 520 489 528]/Border[0 0 0]/H/N>> -endobj - -30440 0 obj -<>/P 6717 0 R/Type/Annot/A 30772 0 R/Subtype/Link/Rect[359 510 375 519]/Border[0 0 0]/H/N>> -endobj - -30441 0 obj -<>/P 6717 0 R/Type/Annot/A 30768 0 R/Subtype/Link/Rect[376 510 390 518]/Border[0 0 0]/H/N>> -endobj - -30442 0 obj -<>/P 6717 0 R/Type/Annot/A 30764 0 R/Subtype/Link/Rect[392 510 409 519]/Border[0 0 0]/H/N>> -endobj - -30443 0 obj -<>/P 6717 0 R/Type/Annot/A 30760 0 R/Subtype/Link/Rect[409 510 423 518]/Border[0 0 0]/H/N>> -endobj - -30444 0 obj -<>/P 6717 0 R/Type/Annot/A 30757 0 R/Subtype/Link/Rect[425 510 439 518]/Border[0 0 0]/H/N>> -endobj - -30445 0 obj -<>/P 6717 0 R/Type/Annot/A 30753 0 R/Subtype/Link/Rect[441 510 458 519]/Border[0 0 0]/H/N>> -endobj - -30446 0 obj -<>/P 6717 0 R/Type/Annot/A 30749 0 R/Subtype/Link/Rect[459 510 473 518]/Border[0 0 0]/H/N>> -endobj - -30447 0 obj -<>/P 6717 0 R/Type/Annot/A 30745 0 R/Subtype/Link/Rect[475 510 489 518]/Border[0 0 0]/H/N>> -endobj - -30448 0 obj -<>/P 6717 0 R/Type/Annot/A 30741 0 R/Subtype/Link/Rect[491 510 505 518]/Border[0 0 0]/H/N>> -endobj - -30449 0 obj -<>/P 6717 0 R/Type/Annot/A 30737 0 R/Subtype/Link/Rect[507 510 519 518]/Border[0 0 0]/H/N>> -endobj - -30450 0 obj -<>/P 6717 0 R/Type/Annot/A 30734 0 R/Subtype/Link/Rect[397 500 409 508]/Border[0 0 0]/H/N>> -endobj - -30451 0 obj -<>/P 6717 0 R/Type/Annot/A 30730 0 R/Subtype/Link/Rect[415 490 425 498]/Border[0 0 0]/H/N>> -endobj - -30452 0 obj -<>/P 6717 0 R/Type/Annot/A 43261 0 R/Subtype/Link/Rect[427 490 439 499]/Border[0 0 0]/H/N>> -endobj - -30453 0 obj -<>/P 6717 0 R/Type/Annot/A 30723 0 R/Subtype/Link/Rect[440 490 450 498]/Border[0 0 0]/H/N>> -endobj - -30454 0 obj -<>/P 6717 0 R/Type/Annot/A 30719 0 R/Subtype/Link/Rect[452 490 462 498]/Border[0 0 0]/H/N>> -endobj - -30455 0 obj -<>/P 6717 0 R/Type/Annot/A 30715 0 R/Subtype/Link/Rect[464 490 478 498]/Border[0 0 0]/H/N>> -endobj - -30456 0 obj -<>/P 6717 0 R/Type/Annot/A 30711 0 R/Subtype/Link/Rect[480 490 497 499]/Border[0 0 0]/H/N>> -endobj - -30457 0 obj -<>/P 6717 0 R/Type/Annot/A 30707 0 R/Subtype/Link/Rect[497 490 509 498]/Border[0 0 0]/H/N>> -endobj - -30458 0 obj -<>/P 6717 0 R/Type/Annot/A 30702 0 R/Subtype/Link/Rect[415 480 423 488]/Border[0 0 0]/H/N>> -endobj - -30459 0 obj -<>/P 6717 0 R/Type/Annot/A 30698 0 R/Subtype/Link/Rect[395 470 412 479]/Border[0 0 0]/H/N>> -endobj - -30460 0 obj -<>/P 6717 0 R/Type/Annot/A 30694 0 R/Subtype/Link/Rect[412 470 426 478]/Border[0 0 0]/H/N>> -endobj - -30461 0 obj -<>/P 6717 0 R/Type/Annot/A 30690 0 R/Subtype/Link/Rect[428 470 442 478]/Border[0 0 0]/H/N>> -endobj - -30462 0 obj -<>/P 6717 0 R/Type/Annot/A 42877 0 R/Subtype/Link/Rect[444 470 458 478]/Border[0 0 0]/H/N>> -endobj - -30463 0 obj -<>/P 6717 0 R/Type/Annot/A 30685 0 R/Subtype/Link/Rect[460 470 474 478]/Border[0 0 0]/H/N>> -endobj - -30464 0 obj -<>/P 6717 0 R/Type/Annot/A 30682 0 R/Subtype/Link/Rect[476 470 488 478]/Border[0 0 0]/H/N>> -endobj - -30465 0 obj -<>/P 6717 0 R/Type/Annot/A 30680 0 R/Subtype/Link/Rect[397 460 411 468]/Border[0 0 0]/H/N>> -endobj - -30466 0 obj -<>/P 6717 0 R/Type/Annot/A 30677 0 R/Subtype/Link/Rect[413 460 425 468]/Border[0 0 0]/H/N>> -endobj - -30467 0 obj -<>/P 6717 0 R/Type/Annot/A 30673 0 R/Subtype/Link/Rect[387 450 401 458]/Border[0 0 0]/H/N>> -endobj - -30468 0 obj -<>/P 6717 0 R/Type/Annot/A 30669 0 R/Subtype/Link/Rect[403 450 415 458]/Border[0 0 0]/H/N>> -endobj - -30469 0 obj -<>/P 6717 0 R/Type/Annot/A 30666 0 R/Subtype/Link/Rect[392 440 404 448]/Border[0 0 0]/H/N>> -endobj - -30470 0 obj -<>/P 6717 0 R/Type/Annot/A 30704 0 R/Subtype/Link/Rect[392 430 406 438]/Border[0 0 0]/H/N>> -endobj - -30471 0 obj -<>/P 6717 0 R/Type/Annot/A 30661 0 R/Subtype/Link/Rect[408 430 420 438]/Border[0 0 0]/H/N>> -endobj - -30472 0 obj -<>/P 6717 0 R/Type/Annot/A 30659 0 R/Subtype/Link/Rect[411 420 425 428]/Border[0 0 0]/H/N>> -endobj - -30473 0 obj -<>/P 6717 0 R/Type/Annot/A 30657 0 R/Subtype/Link/Rect[427 420 439 428]/Border[0 0 0]/H/N>> -endobj - -30474 0 obj -<>/P 6717 0 R/Type/Annot/A 30653 0 R/Subtype/Link/Rect[410 410 422 418]/Border[0 0 0]/H/N>> -endobj - -30475 0 obj -<>/P 6717 0 R/Type/Annot/A 30650 0 R/Subtype/Link/Rect[387 400 395 409]/Border[0 0 0]/H/N>> -endobj - -30476 0 obj -<>/P 6717 0 R/Type/Annot/A 30886 0 R/Subtype/Link/Rect[396 400 402 408]/Border[0 0 0]/H/N>> -endobj - -30477 0 obj -<>/P 6717 0 R/Type/Annot/A 30882 0 R/Subtype/Link/Rect[404 400 414 408]/Border[0 0 0]/H/N>> -endobj - -30478 0 obj -<>/P 6717 0 R/Type/Annot/A 30878 0 R/Subtype/Link/Rect[416 400 433 409]/Border[0 0 0]/H/N>> -endobj - -30479 0 obj -<>/P 6717 0 R/Type/Annot/A 30874 0 R/Subtype/Link/Rect[433 400 447 408]/Border[0 0 0]/H/N>> -endobj - -30480 0 obj -<>/P 6717 0 R/Type/Annot/A 30870 0 R/Subtype/Link/Rect[449 400 463 408]/Border[0 0 0]/H/N>> -endobj - -30481 0 obj -<>/P 6717 0 R/Type/Annot/A 30865 0 R/Subtype/Link/Rect[465 400 479 408]/Border[0 0 0]/H/N>> -endobj - -30482 0 obj -<>/P 6717 0 R/Type/Annot/A 42109 0 R/Subtype/Link/Rect[481 400 495 408]/Border[0 0 0]/H/N>> -endobj - -30483 0 obj -<>/P 6717 0 R/Type/Annot/A 30857 0 R/Subtype/Link/Rect[497 400 511 408]/Border[0 0 0]/H/N>> -endobj - -30484 0 obj -<>/P 6717 0 R/Type/Annot/A 30852 0 R/Subtype/Link/Rect[359 390 373 398]/Border[0 0 0]/H/N>> -endobj - -30485 0 obj -<>/P 6717 0 R/Type/Annot/A 30847 0 R/Subtype/Link/Rect[375 390 389 398]/Border[0 0 0]/H/N>> -endobj - -30486 0 obj -<>/P 6717 0 R/Type/Annot/A 30843 0 R/Subtype/Link/Rect[391 390 405 398]/Border[0 0 0]/H/N>> -endobj - -30487 0 obj -<>/P 6717 0 R/Type/Annot/A 30838 0 R/Subtype/Link/Rect[407 390 421 398]/Border[0 0 0]/H/N>> -endobj - -30488 0 obj -<>/P 6717 0 R/Type/Annot/A 30834 0 R/Subtype/Link/Rect[423 390 437 398]/Border[0 0 0]/H/N>> -endobj - -30489 0 obj -<>/P 6717 0 R/Type/Annot/A 30830 0 R/Subtype/Link/Rect[439 390 453 398]/Border[0 0 0]/H/N>> -endobj - -30490 0 obj -<>/P 6717 0 R/Type/Annot/A 30826 0 R/Subtype/Link/Rect[455 390 467 398]/Border[0 0 0]/H/N>> -endobj - -30491 0 obj -<>/P 6717 0 R/Type/Annot/A 30822 0 R/Subtype/Link/Rect[400 380 406 388]/Border[0 0 0]/H/N>> -endobj - -30492 0 obj -<>/P 6717 0 R/Type/Annot/A 30818 0 R/Subtype/Link/Rect[408 380 418 388]/Border[0 0 0]/H/N>> -endobj - -30493 0 obj -<>/P 6717 0 R/Type/Annot/A 30814 0 R/Subtype/Link/Rect[420 380 430 388]/Border[0 0 0]/H/N>> -endobj - -30494 0 obj -<>/P 6717 0 R/Type/Annot/A 30809 0 R/Subtype/Link/Rect[432 380 445 389]/Border[0 0 0]/H/N>> -endobj - -30495 0 obj -<>/P 6717 0 R/Type/Annot/A 30805 0 R/Subtype/Link/Rect[445 380 455 388]/Border[0 0 0]/H/N>> -endobj - -30496 0 obj -<>/P 6717 0 R/Type/Annot/A 30801 0 R/Subtype/Link/Rect[457 380 470 389]/Border[0 0 0]/H/N>> -endobj - -30497 0 obj -<>/P 6717 0 R/Type/Annot/A 30797 0 R/Subtype/Link/Rect[471 380 481 388]/Border[0 0 0]/H/N>> -endobj - -30498 0 obj -<>/P 6717 0 R/Type/Annot/A 30793 0 R/Subtype/Link/Rect[483 380 493 388]/Border[0 0 0]/H/N>> -endobj - -30499 0 obj -<>/P 6717 0 R/Type/Annot/A 30789 0 R/Subtype/Link/Rect[495 380 505 388]/Border[0 0 0]/H/N>> -endobj - -30500 0 obj -<>/P 6717 0 R/Type/Annot/A 30786 0 R/Subtype/Link/Rect[359 370 373 378]/Border[0 0 0]/H/N>> -endobj - -30501 0 obj -<>/P 6717 0 R/Type/Annot/A 41309 0 R/Subtype/Link/Rect[375 370 389 378]/Border[0 0 0]/H/N>> -endobj - -30502 0 obj -<>/P 6717 0 R/Type/Annot/A 30810 0 R/Subtype/Link/Rect[391 370 405 378]/Border[0 0 0]/H/N>> -endobj - -30503 0 obj -<>/P 6717 0 R/Type/Annot/A 41250 0 R/Subtype/Link/Rect[407 370 421 378]/Border[0 0 0]/H/N>> -endobj - -30504 0 obj -<>/P 6717 0 R/Type/Annot/A 30771 0 R/Subtype/Link/Rect[423 370 437 378]/Border[0 0 0]/H/N>> -endobj - -30505 0 obj -<>/P 6717 0 R/Type/Annot/A 30767 0 R/Subtype/Link/Rect[439 370 453 378]/Border[0 0 0]/H/N>> -endobj - -30506 0 obj -<>/P 6717 0 R/Type/Annot/A 30763 0 R/Subtype/Link/Rect[455 370 469 378]/Border[0 0 0]/H/N>> -endobj - -30507 0 obj -<>/P 6717 0 R/Type/Annot/A 41122 0 R/Subtype/Link/Rect[471 370 485 378]/Border[0 0 0]/H/N>> -endobj - -30508 0 obj -<>/P 6717 0 R/Type/Annot/A 30756 0 R/Subtype/Link/Rect[487 370 501 378]/Border[0 0 0]/H/N>> -endobj - -30509 0 obj -<>/P 6717 0 R/Type/Annot/A 30752 0 R/Subtype/Link/Rect[503 370 517 378]/Border[0 0 0]/H/N>> -endobj - -30510 0 obj -<>/P 6717 0 R/Type/Annot/A 30748 0 R/Subtype/Link/Rect[359 360 375 369]/Border[0 0 0]/H/N>> -endobj - -30511 0 obj -<>/P 6717 0 R/Type/Annot/A 30744 0 R/Subtype/Link/Rect[376 360 390 368]/Border[0 0 0]/H/N>> -endobj - -30512 0 obj -<>/P 6717 0 R/Type/Annot/A 30740 0 R/Subtype/Link/Rect[392 360 406 368]/Border[0 0 0]/H/N>> -endobj - -30513 0 obj -<>/P 6717 0 R/Type/Annot/A 40106 0 R/Subtype/Link/Rect[408 360 422 368]/Border[0 0 0]/H/N>> -endobj - -30514 0 obj -<>/P 6717 0 R/Type/Annot/A 30733 0 R/Subtype/Link/Rect[424 360 438 368]/Border[0 0 0]/H/N>> -endobj - -30515 0 obj -<>/P 6717 0 R/Type/Annot/A 30729 0 R/Subtype/Link/Rect[440 360 454 368]/Border[0 0 0]/H/N>> -endobj - -30516 0 obj -<>/P 6717 0 R/Type/Annot/A 30726 0 R/Subtype/Link/Rect[456 360 470 368]/Border[0 0 0]/H/N>> -endobj - -30517 0 obj -<>/P 6717 0 R/Type/Annot/A 30721 0 R/Subtype/Link/Rect[472 360 484 368]/Border[0 0 0]/H/N>> -endobj - -30518 0 obj -<>/P 6717 0 R/Type/Annot/A 30717 0 R/Subtype/Link/Rect[397 350 405 358]/Border[0 0 0]/H/N>> -endobj - -30519 0 obj -<>/P 6717 0 R/Type/Annot/A 30712 0 R/Subtype/Link/Rect[400 340 413 349]/Border[0 0 0]/H/N>> -endobj - -30520 0 obj -<>/P 6717 0 R/Type/Annot/A 30708 0 R/Subtype/Link/Rect[413 340 423 348]/Border[0 0 0]/H/N>> -endobj - -30521 0 obj -<>/P 6717 0 R/Type/Annot/A 30703 0 R/Subtype/Link/Rect[425 340 442 349]/Border[0 0 0]/H/N>> -endobj - -30522 0 obj -<>/P 6717 0 R/Type/Annot/A 30699 0 R/Subtype/Link/Rect[443 340 457 348]/Border[0 0 0]/H/N>> -endobj - -30523 0 obj -<>/P 6717 0 R/Type/Annot/A 30695 0 R/Subtype/Link/Rect[459 340 473 348]/Border[0 0 0]/H/N>> -endobj - -30524 0 obj -<>/P 6717 0 R/Type/Annot/A 30691 0 R/Subtype/Link/Rect[475 340 489 348]/Border[0 0 0]/H/N>> -endobj - -30525 0 obj -<>/P 6717 0 R/Type/Annot/A 30688 0 R/Subtype/Link/Rect[491 340 505 348]/Border[0 0 0]/H/N>> -endobj - -30526 0 obj -<>/P 6717 0 R/Type/Annot/A 30686 0 R/Subtype/Link/Rect[359 330 373 339]/Border[0 0 0]/H/N>> -endobj - -30527 0 obj -<>/P 6717 0 R/Type/Annot/A 30683 0 R/Subtype/Link/Rect[375 330 387 338]/Border[0 0 0]/H/N>> -endobj - -30528 0 obj -<>/P 6717 0 R/Type/Annot/A 35880 0 R/Subtype/Link/Rect[397 320 405 329]/Border[0 0 0]/H/N>> -endobj - -30529 0 obj -<>/P 6717 0 R/Type/Annot/A 30678 0 R/Subtype/Link/Rect[415 310 427 319]/Border[0 0 0]/H/N>> -endobj - -30530 0 obj -<>/P 6717 0 R/Type/Annot/A 30674 0 R/Subtype/Link/Rect[450 262 459 271]/Border[0 0 0]/H/N>> -endobj - -30531 0 obj -<>/P 6717 0 R/Type/Annot/A 30670 0 R/Subtype/Link/Rect[459 262 465 271]/Border[0 0 0]/H/N>> -endobj - -30532 0 obj -<>/P 6717 0 R/Type/Annot/A 30667 0 R/Subtype/Link/Rect[467 262 477 271]/Border[0 0 0]/H/N>> -endobj - -30533 0 obj -<>/P 6717 0 R/Type/Annot/A 30664 0 R/Subtype/Link/Rect[479 262 492 271]/Border[0 0 0]/H/N>> -endobj - -30534 0 obj -<>/P 6717 0 R/Type/Annot/A 30675 0 R/Subtype/Link/Rect[493 262 503 271]/Border[0 0 0]/H/N>> -endobj - -30535 0 obj -<>/P 6717 0 R/Type/Annot/A 30671 0 R/Subtype/Link/Rect[359 252 371 261]/Border[0 0 0]/H/N>> -endobj - -30536 0 obj -<>/P 6717 0 R/Type/Annot/A 30656 0 R/Subtype/Link/Rect[372 252 382 261]/Border[0 0 0]/H/N>> -endobj - -30537 0 obj -<>/P 6717 0 R/Type/Annot/A 30652 0 R/Subtype/Link/Rect[384 252 397 261]/Border[0 0 0]/H/N>> -endobj - -30538 0 obj -<>/P 6717 0 R/Type/Annot/A 30649 0 R/Subtype/Link/Rect[397 252 407 261]/Border[0 0 0]/H/N>> -endobj - -30539 0 obj -<>/P 6717 0 R/Type/Annot/A 30879 0 R/Subtype/Link/Rect[409 252 419 261]/Border[0 0 0]/H/N>> -endobj - -30540 0 obj -<>/P 6717 0 R/Type/Annot/A 30655 0 R/Subtype/Link/Rect[421 252 431 261]/Border[0 0 0]/H/N>> -endobj - -30541 0 obj -<>/P 6717 0 R/Type/Annot/A 30869 0 R/Subtype/Link/Rect[433 252 443 261]/Border[0 0 0]/H/N>> -endobj - -30542 0 obj -<>/P 6717 0 R/Type/Annot/A 30864 0 R/Subtype/Link/Rect[445 252 455 261]/Border[0 0 0]/H/N>> -endobj - -30543 0 obj -<>/P 6717 0 R/Type/Annot/A 30860 0 R/Subtype/Link/Rect[457 252 467 261]/Border[0 0 0]/H/N>> -endobj - -30544 0 obj -<>/P 6717 0 R/Type/Annot/A 30855 0 R/Subtype/Link/Rect[469 252 479 261]/Border[0 0 0]/H/N>> -endobj - -30545 0 obj -<>/P 6717 0 R/Type/Annot/A 30986 0 R/Subtype/Link/Rect[481 252 491 261]/Border[0 0 0]/H/N>> -endobj - -30546 0 obj -<>/P 6717 0 R/Type/Annot/A 30983 0 R/Subtype/Link/Rect[493 252 503 261]/Border[0 0 0]/H/N>> -endobj - -30547 0 obj -<>/P 6717 0 R/Type/Annot/A 30982 0 R/Subtype/Link/Rect[359 242 371 251]/Border[0 0 0]/H/N>> -endobj - -30548 0 obj -<>/P 6717 0 R/Type/Annot/A 30981 0 R/Subtype/Link/Rect[372 242 382 251]/Border[0 0 0]/H/N>> -endobj - -30549 0 obj -<>/P 6717 0 R/Type/Annot/A 30980 0 R/Subtype/Link/Rect[384 242 398 251]/Border[0 0 0]/H/N>> -endobj - -30550 0 obj -<>/P 6717 0 R/Type/Annot/A 30979 0 R/Subtype/Link/Rect[400 242 417 251]/Border[0 0 0]/H/N>> -endobj - -30551 0 obj -<>/P 6717 0 R/Type/Annot/A 30978 0 R/Subtype/Link/Rect[417 242 430 251]/Border[0 0 0]/H/N>> -endobj - -30552 0 obj -<>/P 6717 0 R/Type/Annot/A 30977 0 R/Subtype/Link/Rect[432 242 446 251]/Border[0 0 0]/H/N>> -endobj - -30553 0 obj -<>/P 6717 0 R/Type/Annot/A 30976 0 R/Subtype/Link/Rect[448 242 462 251]/Border[0 0 0]/H/N>> -endobj - -30554 0 obj -<>/P 6717 0 R/Type/Annot/A 30975 0 R/Subtype/Link/Rect[464 242 478 251]/Border[0 0 0]/H/N>> -endobj - -30555 0 obj -<>/P 6717 0 R/Type/Annot/A 30974 0 R/Subtype/Link/Rect[480 242 494 251]/Border[0 0 0]/H/N>> -endobj - -30556 0 obj -<>/P 6717 0 R/Type/Annot/A 30973 0 R/Subtype/Link/Rect[496 242 510 251]/Border[0 0 0]/H/N>> -endobj - -30557 0 obj -<>/P 6717 0 R/Type/Annot/A 30972 0 R/Subtype/Link/Rect[359 232 373 241]/Border[0 0 0]/H/N>> -endobj - -30558 0 obj -<>/P 6717 0 R/Type/Annot/A 30970 0 R/Subtype/Link/Rect[375 232 389 241]/Border[0 0 0]/H/N>> -endobj - -30559 0 obj -<>/P 6717 0 R/Type/Annot/A 30968 0 R/Subtype/Link/Rect[391 232 405 241]/Border[0 0 0]/H/N>> -endobj - -30560 0 obj -<>/P 6717 0 R/Type/Annot/A 30965 0 R/Subtype/Link/Rect[407 232 423 241]/Border[0 0 0]/H/N>> -endobj - -30561 0 obj -<>/P 6717 0 R/Type/Annot/A 30963 0 R/Subtype/Link/Rect[424 232 438 241]/Border[0 0 0]/H/N>> -endobj - -30562 0 obj -<>/P 6717 0 R/Type/Annot/A 30961 0 R/Subtype/Link/Rect[440 232 457 241]/Border[0 0 0]/H/N>> -endobj - -30563 0 obj -<>/P 6717 0 R/Type/Annot/A 30959 0 R/Subtype/Link/Rect[457 232 471 241]/Border[0 0 0]/H/N>> -endobj - -30564 0 obj -<>/P 6717 0 R/Type/Annot/A 30957 0 R/Subtype/Link/Rect[473 232 487 241]/Border[0 0 0]/H/N>> -endobj - -30565 0 obj -<>/P 6717 0 R/Type/Annot/A 30955 0 R/Subtype/Link/Rect[489 232 503 241]/Border[0 0 0]/H/N>> -endobj - -30566 0 obj -<>/P 6717 0 R/Type/Annot/A 30953 0 R/Subtype/Link/Rect[359 222 375 231]/Border[0 0 0]/H/N>> -endobj - -30567 0 obj -<>/P 6717 0 R/Type/Annot/A 30951 0 R/Subtype/Link/Rect[375 222 389 231]/Border[0 0 0]/H/N>> -endobj - -30568 0 obj -<>/P 6717 0 R/Type/Annot/A 30949 0 R/Subtype/Link/Rect[391 222 405 231]/Border[0 0 0]/H/N>> -endobj - -30569 0 obj -<>/P 6717 0 R/Type/Annot/A 30947 0 R/Subtype/Link/Rect[407 222 421 231]/Border[0 0 0]/H/N>> -endobj - -30570 0 obj -<>/P 6717 0 R/Type/Annot/A 30945 0 R/Subtype/Link/Rect[423 222 437 231]/Border[0 0 0]/H/N>> -endobj - -30571 0 obj -<>/P 6717 0 R/Type/Annot/A 30943 0 R/Subtype/Link/Rect[439 222 456 231]/Border[0 0 0]/H/N>> -endobj - -30572 0 obj -<>/P 6717 0 R/Type/Annot/A 30941 0 R/Subtype/Link/Rect[457 222 471 231]/Border[0 0 0]/H/N>> -endobj - -30573 0 obj -<>/P 6717 0 R/Type/Annot/A 30939 0 R/Subtype/Link/Rect[473 222 487 231]/Border[0 0 0]/H/N>> -endobj - -30574 0 obj -<>/P 6717 0 R/Type/Annot/A 30937 0 R/Subtype/Link/Rect[489 222 503 231]/Border[0 0 0]/H/N>> -endobj - -30575 0 obj -<>/P 6717 0 R/Type/Annot/A 30935 0 R/Subtype/Link/Rect[505 222 519 231]/Border[0 0 0]/H/N>> -endobj - -30576 0 obj -<>/P 6717 0 R/Type/Annot/A 30933 0 R/Subtype/Link/Rect[359 212 373 221]/Border[0 0 0]/H/N>> -endobj - -30577 0 obj -<>/P 6717 0 R/Type/Annot/A 30931 0 R/Subtype/Link/Rect[375 212 391 221]/Border[0 0 0]/H/N>> -endobj - -30578 0 obj -<>/P 6717 0 R/Type/Annot/A 30929 0 R/Subtype/Link/Rect[392 212 406 221]/Border[0 0 0]/H/N>> -endobj - -30579 0 obj -<>/P 6717 0 R/Type/Annot/A 30927 0 R/Subtype/Link/Rect[408 212 425 221]/Border[0 0 0]/H/N>> -endobj - -30580 0 obj -<>/P 6717 0 R/Type/Annot/A 30925 0 R/Subtype/Link/Rect[425 212 439 221]/Border[0 0 0]/H/N>> -endobj - -30581 0 obj -<>/P 6717 0 R/Type/Annot/A 30923 0 R/Subtype/Link/Rect[441 212 458 221]/Border[0 0 0]/H/N>> -endobj - -30582 0 obj -<>/P 6717 0 R/Type/Annot/A 30921 0 R/Subtype/Link/Rect[459 212 473 221]/Border[0 0 0]/H/N>> -endobj - -30583 0 obj -<>/P 6717 0 R/Type/Annot/A 30919 0 R/Subtype/Link/Rect[475 212 489 221]/Border[0 0 0]/H/N>> -endobj - -30584 0 obj -<>/P 6717 0 R/Type/Annot/A 30917 0 R/Subtype/Link/Rect[491 212 505 221]/Border[0 0 0]/H/N>> -endobj - -30585 0 obj -<>/P 6717 0 R/Type/Annot/A 30915 0 R/Subtype/Link/Rect[359 202 375 211]/Border[0 0 0]/H/N>> -endobj - -30586 0 obj -<>/P 6717 0 R/Type/Annot/A 30913 0 R/Subtype/Link/Rect[376 202 390 211]/Border[0 0 0]/H/N>> -endobj - -30587 0 obj -<>/P 6717 0 R/Type/Annot/A 30911 0 R/Subtype/Link/Rect[392 202 406 211]/Border[0 0 0]/H/N>> -endobj - -30588 0 obj -<>/P 6717 0 R/Type/Annot/A 30909 0 R/Subtype/Link/Rect[408 202 422 211]/Border[0 0 0]/H/N>> -endobj - -30589 0 obj -<>/P 6717 0 R/Type/Annot/A 30907 0 R/Subtype/Link/Rect[424 202 438 211]/Border[0 0 0]/H/N>> -endobj - -30590 0 obj -<>/P 6717 0 R/Type/Annot/A 30905 0 R/Subtype/Link/Rect[440 202 454 211]/Border[0 0 0]/H/N>> -endobj - -30591 0 obj -<>/P 6717 0 R/Type/Annot/A 30903 0 R/Subtype/Link/Rect[456 202 470 211]/Border[0 0 0]/H/N>> -endobj - -30592 0 obj -<>/P 6717 0 R/Type/Annot/A 30901 0 R/Subtype/Link/Rect[472 202 486 211]/Border[0 0 0]/H/N>> -endobj - -30593 0 obj -<>/P 6717 0 R/Type/Annot/A 30899 0 R/Subtype/Link/Rect[488 202 502 211]/Border[0 0 0]/H/N>> -endobj - -30594 0 obj -<>/P 6717 0 R/Type/Annot/A 30897 0 R/Subtype/Link/Rect[504 202 518 211]/Border[0 0 0]/H/N>> -endobj - -30595 0 obj -<>/P 6717 0 R/Type/Annot/A 30895 0 R/Subtype/Link/Rect[359 192 373 201]/Border[0 0 0]/H/N>> -endobj - -30596 0 obj -<>/P 6717 0 R/Type/Annot/A 30892 0 R/Subtype/Link/Rect[375 192 391 201]/Border[0 0 0]/H/N>> -endobj - -30597 0 obj -<>/P 6717 0 R/Type/Annot/A 30889 0 R/Subtype/Link/Rect[392 192 406 201]/Border[0 0 0]/H/N>> -endobj - -30598 0 obj -<>/P 6717 0 R/Type/Annot/A 30885 0 R/Subtype/Link/Rect[408 192 422 201]/Border[0 0 0]/H/N>> -endobj - -30599 0 obj -<>/P 6717 0 R/Type/Annot/A 30881 0 R/Subtype/Link/Rect[424 192 438 201]/Border[0 0 0]/H/N>> -endobj - -30600 0 obj -<>/P 6717 0 R/Type/Annot/A 30877 0 R/Subtype/Link/Rect[440 192 454 201]/Border[0 0 0]/H/N>> -endobj - -30601 0 obj -<>/P 6717 0 R/Type/Annot/A 30873 0 R/Subtype/Link/Rect[456 192 470 201]/Border[0 0 0]/H/N>> -endobj - -30602 0 obj -<>/P 6717 0 R/Type/Annot/A 30868 0 R/Subtype/Link/Rect[472 192 486 201]/Border[0 0 0]/H/N>> -endobj - -30603 0 obj -<>/P 6717 0 R/Type/Annot/A 30863 0 R/Subtype/Link/Rect[359 182 375 191]/Border[0 0 0]/H/N>> -endobj - -30604 0 obj -<>/P 6717 0 R/Type/Annot/A 30859 0 R/Subtype/Link/Rect[376 182 390 191]/Border[0 0 0]/H/N>> -endobj - -30605 0 obj -<>/P 6717 0 R/Type/Annot/A 30856 0 R/Subtype/Link/Rect[392 182 409 191]/Border[0 0 0]/H/N>> -endobj - -30606 0 obj -<>/P 6717 0 R/Type/Annot/A 30851 0 R/Subtype/Link/Rect[409 182 423 191]/Border[0 0 0]/H/N>> -endobj - -30607 0 obj -<>/P 6717 0 R/Type/Annot/A 30848 0 R/Subtype/Link/Rect[425 182 439 191]/Border[0 0 0]/H/N>> -endobj - -30608 0 obj -<>/P 6717 0 R/Type/Annot/A 30844 0 R/Subtype/Link/Rect[441 182 455 191]/Border[0 0 0]/H/N>> -endobj - -30609 0 obj -<>/P 6717 0 R/Type/Annot/A 30840 0 R/Subtype/Link/Rect[457 182 471 191]/Border[0 0 0]/H/N>> -endobj - -30610 0 obj -<>/P 6717 0 R/Type/Annot/A 30836 0 R/Subtype/Link/Rect[473 182 487 191]/Border[0 0 0]/H/N>> -endobj - -30611 0 obj -<>/P 6717 0 R/Type/Annot/A 30832 0 R/Subtype/Link/Rect[489 182 503 191]/Border[0 0 0]/H/N>> -endobj - -30612 0 obj -<>/P 6717 0 R/Type/Annot/A 30828 0 R/Subtype/Link/Rect[359 172 373 181]/Border[0 0 0]/H/N>> -endobj - -30613 0 obj -<>/P 6717 0 R/Type/Annot/A 30824 0 R/Subtype/Link/Rect[375 172 389 181]/Border[0 0 0]/H/N>> -endobj - -30614 0 obj -<>/P 6717 0 R/Type/Annot/A 30820 0 R/Subtype/Link/Rect[391 172 405 181]/Border[0 0 0]/H/N>> -endobj - -30615 0 obj -<>/P 6717 0 R/Type/Annot/A 30816 0 R/Subtype/Link/Rect[407 172 421 181]/Border[0 0 0]/H/N>> -endobj - -30616 0 obj -<>/P 6717 0 R/Type/Annot/A 30812 0 R/Subtype/Link/Rect[423 172 437 181]/Border[0 0 0]/H/N>> -endobj - -30617 0 obj -<>/P 6717 0 R/Type/Annot/A 30807 0 R/Subtype/Link/Rect[439 172 453 181]/Border[0 0 0]/H/N>> -endobj - -30618 0 obj -<>/P 6717 0 R/Type/Annot/A 30803 0 R/Subtype/Link/Rect[455 172 469 181]/Border[0 0 0]/H/N>> -endobj - -30619 0 obj -<>/P 6717 0 R/Type/Annot/A 30799 0 R/Subtype/Link/Rect[471 172 487 181]/Border[0 0 0]/H/N>> -endobj - -30620 0 obj -<>/P 6717 0 R/Type/Annot/A 30795 0 R/Subtype/Link/Rect[487 172 501 181]/Border[0 0 0]/H/N>> -endobj - -30621 0 obj -<>/P 6717 0 R/Type/Annot/A 30791 0 R/Subtype/Link/Rect[503 172 517 181]/Border[0 0 0]/H/N>> -endobj - -30622 0 obj -<>/P 6717 0 R/Type/Annot/A 30966 0 R/Subtype/Link/Rect[359 162 373 171]/Border[0 0 0]/H/N>> -endobj - -30623 0 obj -<>/P 6717 0 R/Type/Annot/A 30785 0 R/Subtype/Link/Rect[375 162 389 171]/Border[0 0 0]/H/N>> -endobj - -30624 0 obj -<>/P 6717 0 R/Type/Annot/A 30782 0 R/Subtype/Link/Rect[391 162 407 171]/Border[0 0 0]/H/N>> -endobj - -30625 0 obj -<>/P 6717 0 R/Type/Annot/A 30779 0 R/Subtype/Link/Rect[408 162 422 171]/Border[0 0 0]/H/N>> -endobj - -30626 0 obj -<>/P 6717 0 R/Type/Annot/A 30777 0 R/Subtype/Link/Rect[424 162 441 171]/Border[0 0 0]/H/N>> -endobj - -30627 0 obj -<>/P 6717 0 R/Type/Annot/A 30774 0 R/Subtype/Link/Rect[441 162 455 171]/Border[0 0 0]/H/N>> -endobj - -30628 0 obj -<>/P 6717 0 R/Type/Annot/A 30770 0 R/Subtype/Link/Rect[457 162 471 171]/Border[0 0 0]/H/N>> -endobj - -30629 0 obj -<>/P 6717 0 R/Type/Annot/A 30766 0 R/Subtype/Link/Rect[473 162 487 171]/Border[0 0 0]/H/N>> -endobj - -30630 0 obj -<>/P 6717 0 R/Type/Annot/A 30762 0 R/Subtype/Link/Rect[359 152 375 161]/Border[0 0 0]/H/N>> -endobj - -30631 0 obj -<>/P 6717 0 R/Type/Annot/A 30759 0 R/Subtype/Link/Rect[376 152 390 161]/Border[0 0 0]/H/N>> -endobj - -30632 0 obj -<>/P 6717 0 R/Type/Annot/A 30755 0 R/Subtype/Link/Rect[392 152 409 161]/Border[0 0 0]/H/N>> -endobj - -30633 0 obj -<>/P 6717 0 R/Type/Annot/A 30751 0 R/Subtype/Link/Rect[409 152 423 161]/Border[0 0 0]/H/N>> -endobj - -30634 0 obj -<>/P 6717 0 R/Type/Annot/A 30747 0 R/Subtype/Link/Rect[425 152 439 161]/Border[0 0 0]/H/N>> -endobj - -30635 0 obj -<>/P 6717 0 R/Type/Annot/A 30743 0 R/Subtype/Link/Rect[441 152 455 161]/Border[0 0 0]/H/N>> -endobj - -30636 0 obj -<>/P 6717 0 R/Type/Annot/A 30739 0 R/Subtype/Link/Rect[457 152 471 161]/Border[0 0 0]/H/N>> -endobj - -30637 0 obj -<>/P 6717 0 R/Type/Annot/A 30736 0 R/Subtype/Link/Rect[473 152 487 161]/Border[0 0 0]/H/N>> -endobj - -30638 0 obj -<>/P 6717 0 R/Type/Annot/A 30732 0 R/Subtype/Link/Rect[489 152 503 161]/Border[0 0 0]/H/N>> -endobj - -30639 0 obj -<>/P 6717 0 R/Type/Annot/A 30728 0 R/Subtype/Link/Rect[505 152 519 161]/Border[0 0 0]/H/N>> -endobj - -30640 0 obj -<>/P 6717 0 R/Type/Annot/A 30725 0 R/Subtype/Link/Rect[359 142 373 151]/Border[0 0 0]/H/N>> -endobj - -30641 0 obj -<>/P 6717 0 R/Type/Annot/A 30722 0 R/Subtype/Link/Rect[375 142 389 151]/Border[0 0 0]/H/N>> -endobj - -30642 0 obj -<>/P 6717 0 R/Type/Annot/A 30718 0 R/Subtype/Link/Rect[391 142 407 151]/Border[0 0 0]/H/N>> -endobj - -30643 0 obj -<>/P 6717 0 R/Type/Annot/A 30714 0 R/Subtype/Link/Rect[408 142 420 151]/Border[0 0 0]/H/N>> -endobj - -30644 0 obj -<>/P 6717 0 R/Type/Annot/A 30710 0 R/Subtype/Link/Rect[386 298 403 307]/Border[0 0 0]/H/N>> -endobj - -30645 0 obj -<>/P 6717 0 R/Type/Annot/A 30706 0 R/Subtype/Link/Rect[379 260 389 269]/Border[0 0 0]/H/N>> -endobj - -30646 0 obj -<>/P 6717 0 R/Type/Annot/A 30701 0 R/Subtype/Link/Rect[393 260 408 269]/Border[0 0 0]/H/N>> -endobj - -30647 0 obj -<>/P 6717 0 R/Type/Annot/A 30697 0 R/Subtype/Link/Rect[410 260 425 269]/Border[0 0 0]/H/N>> -endobj - -30648 0 obj -<>/P 6717 0 R/Type/Annot/A 30693 0 R/Subtype/Link/Rect[429 260 449 269]/Border[0 0 0]/H/N>> -endobj - -30649 0 obj -<> -endobj - -30650 0 obj -<> -endobj - -30651 0 obj -<> -endobj - -30652 0 obj -<> -endobj - -30653 0 obj -<> -endobj - -30654 0 obj -<> -endobj - -30655 0 obj -<> -endobj - -30656 0 obj -<> -endobj - -30657 0 obj -<> -endobj - -30658 0 obj -<> -endobj - -30659 0 obj -<> -endobj - -30660 0 obj -<> -endobj - -30661 0 obj -<> -endobj - -30662 0 obj -<> -endobj - -30663 0 obj -<> -endobj - -30664 0 obj -<> -endobj - -30665 0 obj -<> -endobj - -30666 0 obj -<> -endobj - -30667 0 obj -<> -endobj - -30668 0 obj -<> -endobj - -30669 0 obj -<> -endobj - -30670 0 obj -<> -endobj - -30671 0 obj -<> -endobj - -30672 0 obj -<> -endobj - -30673 0 obj -<> -endobj - -30674 0 obj -<> -endobj - -30675 0 obj -<> -endobj - -30676 0 obj -<> -endobj - -30677 0 obj -<> -endobj - -30678 0 obj -<> -endobj - -30679 0 obj -<> -endobj - -30680 0 obj -<> -endobj - -30681 0 obj -<> -endobj - -30682 0 obj -<> -endobj - -30683 0 obj -<> -endobj - -30684 0 obj -<> -endobj - -30685 0 obj -<> -endobj - -30686 0 obj -<> -endobj - -30687 0 obj -<> -endobj - -30688 0 obj -<> -endobj - -30689 0 obj -<> -endobj - -30690 0 obj -<> -endobj - -30691 0 obj -<> -endobj - -30692 0 obj -<> -endobj - -30693 0 obj -<> -endobj - -30694 0 obj -<> -endobj - -30695 0 obj -<> -endobj - -30696 0 obj -<> -endobj - -30697 0 obj -<> -endobj - -30698 0 obj -<> -endobj - -30699 0 obj -<> -endobj - -30700 0 obj -<> -endobj - -30701 0 obj -<> -endobj - -30702 0 obj -<> -endobj - -30703 0 obj -<> -endobj - -30704 0 obj -<> -endobj - -30705 0 obj -<> -endobj - -30706 0 obj -<> -endobj - -30707 0 obj -<> -endobj - -30708 0 obj -<> -endobj - -30709 0 obj -<> -endobj - -30710 0 obj -<> -endobj - -30711 0 obj -<> -endobj - -30712 0 obj -<> -endobj - -30713 0 obj -<> -endobj - -30714 0 obj -<> -endobj - -30715 0 obj -<> -endobj - -30716 0 obj -<> -endobj - -30717 0 obj -<> -endobj - -30718 0 obj -<> -endobj - -30719 0 obj -<> -endobj - -30720 0 obj -<> -endobj - -30721 0 obj -<> -endobj - -30722 0 obj -<> -endobj - -30723 0 obj -<> -endobj - -30724 0 obj -<> -endobj - -30725 0 obj -<> -endobj - -30726 0 obj -<> -endobj - -30727 0 obj -<> -endobj - -30728 0 obj -<> -endobj - -30729 0 obj -<> -endobj - -30730 0 obj -<> -endobj - -30731 0 obj -<> -endobj - -30732 0 obj -<> -endobj - -30733 0 obj -<> -endobj - -30734 0 obj -<> -endobj - -30735 0 obj -<> -endobj - -30736 0 obj -<> -endobj - -30737 0 obj -<> -endobj - -30738 0 obj -<> -endobj - -30739 0 obj -<> -endobj - -30740 0 obj -<> -endobj - -30741 0 obj -<> -endobj - -30742 0 obj -<> -endobj - -30743 0 obj -<> -endobj - -30744 0 obj -<> -endobj - -30745 0 obj -<> -endobj - -30746 0 obj -<> -endobj - -30747 0 obj -<> -endobj - -30748 0 obj -<> -endobj - -30749 0 obj -<> -endobj - -30750 0 obj -<> -endobj - -30751 0 obj -<> -endobj - -30752 0 obj -<> -endobj - -30753 0 obj -<> -endobj - -30754 0 obj -<> -endobj - -30755 0 obj -<> -endobj - -30756 0 obj -<> -endobj - -30757 0 obj -<> -endobj - -30758 0 obj -<> -endobj - -30759 0 obj -<> -endobj - -30760 0 obj -<> -endobj - -30761 0 obj -<> -endobj - -30762 0 obj -<> -endobj - -30763 0 obj -<> -endobj - -30764 0 obj -<> -endobj - -30765 0 obj -<> -endobj - -30766 0 obj -<> -endobj - -30767 0 obj -<> -endobj - -30768 0 obj -<> -endobj - -30769 0 obj -<> -endobj - -30770 0 obj -<> -endobj - -30771 0 obj -<> -endobj - -30772 0 obj -<> -endobj - -30773 0 obj -<> -endobj - -30774 0 obj -<> -endobj - -30775 0 obj -<> -endobj - -30776 0 obj -<> -endobj - -30777 0 obj -<> -endobj - -30778 0 obj -<> -endobj - -30779 0 obj -<> -endobj - -30780 0 obj -<> -endobj - -30781 0 obj -<> -endobj - -30782 0 obj -<> -endobj - -30783 0 obj -<> -endobj - -30784 0 obj -<> -endobj - -30785 0 obj -<> -endobj - -30786 0 obj -<> -endobj - -30787 0 obj -<> -endobj - -30788 0 obj -<> -endobj - -30789 0 obj -<> -endobj - -30790 0 obj -<> -endobj - -30791 0 obj -<> -endobj - -30792 0 obj -<> -endobj - -30793 0 obj -<> -endobj - -30794 0 obj -<> -endobj - -30795 0 obj -<> -endobj - -30796 0 obj -<> -endobj - -30797 0 obj -<> -endobj - -30798 0 obj -<> -endobj - -30799 0 obj -<> -endobj - -30800 0 obj -<> -endobj - -30801 0 obj -<> -endobj - -30802 0 obj -<> -endobj - -30803 0 obj -<> -endobj - -30804 0 obj -<> -endobj - -30805 0 obj -<> -endobj - -30806 0 obj -<> -endobj - -30807 0 obj -<> -endobj - -30808 0 obj -<> -endobj - -30809 0 obj -<> -endobj - -30810 0 obj -<> -endobj - -30811 0 obj -<> -endobj - -30812 0 obj -<> -endobj - -30813 0 obj -<> -endobj - -30814 0 obj -<> -endobj - -30815 0 obj -<> -endobj - -30816 0 obj -<> -endobj - -30817 0 obj -<> -endobj - -30818 0 obj -<> -endobj - -30819 0 obj -<> -endobj - -30820 0 obj -<> -endobj - -30821 0 obj -<> -endobj - -30822 0 obj -<> -endobj - -30823 0 obj -<> -endobj - -30824 0 obj -<> -endobj - -30825 0 obj -<> -endobj - -30826 0 obj -<> -endobj - -30827 0 obj -<> -endobj - -30828 0 obj -<> -endobj - -30829 0 obj -<> -endobj - -30830 0 obj -<> -endobj - -30831 0 obj -<> -endobj - -30832 0 obj -<> -endobj - -30833 0 obj -<> -endobj - -30834 0 obj -<> -endobj - -30835 0 obj -<> -endobj - -30836 0 obj -<> -endobj - -30837 0 obj -<> -endobj - -30838 0 obj -<> -endobj - -30839 0 obj -<> -endobj - -30840 0 obj -<> -endobj - -30841 0 obj -<> -endobj - -30842 0 obj -<> -endobj - -30843 0 obj -<> -endobj - -30844 0 obj -<> -endobj - -30845 0 obj -<> -endobj - -30846 0 obj -<> -endobj - -30847 0 obj -<> -endobj - -30848 0 obj -<> -endobj - -30849 0 obj -<> -endobj - -30850 0 obj -<> -endobj - -30851 0 obj -<> -endobj - -30852 0 obj -<> -endobj - -30853 0 obj -<> -endobj - -30854 0 obj -<> -endobj - -30855 0 obj -<> -endobj - -30856 0 obj -<> -endobj - -30857 0 obj -<> -endobj - -30858 0 obj -<> -endobj - -30859 0 obj -<> -endobj - -30860 0 obj -<> -endobj - -30861 0 obj -<> -endobj - -30862 0 obj -<> -endobj - -30863 0 obj -<> -endobj - -30864 0 obj -<> -endobj - -30865 0 obj -<> -endobj - -30866 0 obj -<> -endobj - -30867 0 obj -<> -endobj - -30868 0 obj -<> -endobj - -30869 0 obj -<> -endobj - -30870 0 obj -<> -endobj - -30871 0 obj -<> -endobj - -30872 0 obj -<> -endobj - -30873 0 obj -<> -endobj - -30874 0 obj -<> -endobj - -30875 0 obj -<> -endobj - -30876 0 obj -<> -endobj - -30877 0 obj -<> -endobj - -30878 0 obj -<> -endobj - -30879 0 obj -<> -endobj - -30880 0 obj -<> -endobj - -30881 0 obj -<> -endobj - -30882 0 obj -<> -endobj - -30883 0 obj -<> -endobj - -30884 0 obj -<> -endobj - -30885 0 obj -<> -endobj - -30886 0 obj -<> -endobj - -30887 0 obj -<> -endobj - -30888 0 obj -<> -endobj - -30889 0 obj -<> -endobj - -30890 0 obj -<> -endobj - -30891 0 obj -<> -endobj - -30892 0 obj -<> -endobj - -30893 0 obj -<> -endobj - -30894 0 obj -<> -endobj - -30895 0 obj -<> -endobj - -30896 0 obj -<> -endobj - -30897 0 obj -<> -endobj - -30898 0 obj -<> -endobj - -30899 0 obj -<> -endobj - -30900 0 obj -<> -endobj - -30901 0 obj -<> -endobj - -30902 0 obj -<> -endobj - -30903 0 obj -<> -endobj - -30904 0 obj -<> -endobj - -30905 0 obj -<> -endobj - -30906 0 obj -<> -endobj - -30907 0 obj -<> -endobj - -30908 0 obj -<> -endobj - -30909 0 obj -<> -endobj - -30910 0 obj -<> -endobj - -30911 0 obj -<> -endobj - -30912 0 obj -<> -endobj - -30913 0 obj -<> -endobj - -30914 0 obj -<> -endobj - -30915 0 obj -<> -endobj - -30916 0 obj -<> -endobj - -30917 0 obj -<> -endobj - -30918 0 obj -<> -endobj - -30919 0 obj -<> -endobj - -30920 0 obj -<> -endobj - -30921 0 obj -<> -endobj - -30922 0 obj -<> -endobj - -30923 0 obj -<> -endobj - -30924 0 obj -<> -endobj - -30925 0 obj -<> -endobj - -30926 0 obj -<> -endobj - -30927 0 obj -<> -endobj - -30928 0 obj -<> -endobj - -30929 0 obj -<> -endobj - -30930 0 obj -<> -endobj - -30931 0 obj -<> -endobj - -30932 0 obj -<> -endobj - -30933 0 obj -<> -endobj - -30934 0 obj -<> -endobj - -30935 0 obj -<> -endobj - -30936 0 obj -<> -endobj - -30937 0 obj -<> -endobj - -30938 0 obj -<> -endobj - -30939 0 obj -<> -endobj - -30940 0 obj -<> -endobj - -30941 0 obj -<> -endobj - -30942 0 obj -<> -endobj - -30943 0 obj -<> -endobj - -30944 0 obj -<> -endobj - -30945 0 obj -<> -endobj - -30946 0 obj -<> -endobj - -30947 0 obj -<> -endobj - -30948 0 obj -<> -endobj - -30949 0 obj -<> -endobj - -30950 0 obj -<> -endobj - -30951 0 obj -<> -endobj - -30952 0 obj -<> -endobj - -30953 0 obj -<> -endobj - -30954 0 obj -<> -endobj - -30955 0 obj -<> -endobj - -30956 0 obj -<> -endobj - -30957 0 obj -<> -endobj - -30958 0 obj -<> -endobj - -30959 0 obj -<> -endobj - -30960 0 obj -<> -endobj - -30961 0 obj -<> -endobj - -30962 0 obj -<> -endobj - -30963 0 obj -<> -endobj - -30964 0 obj -<> -endobj - -30965 0 obj -<> -endobj - -30966 0 obj -<> -endobj - -30967 0 obj -<> -endobj - -30968 0 obj -<> -endobj - -30969 0 obj -<> -endobj - -30970 0 obj -<> -endobj - -30971 0 obj -<> -endobj - -30972 0 obj -<> -endobj - -30973 0 obj -<> -endobj - -30974 0 obj -<> -endobj - -30975 0 obj -<> -endobj - -30976 0 obj -<> -endobj - -30977 0 obj -<> -endobj - -30978 0 obj -<> -endobj - -30979 0 obj -<> -endobj - -30980 0 obj -<> -endobj - -30981 0 obj -<> -endobj - -30982 0 obj -<> -endobj - -30983 0 obj -<> -endobj - -30984 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30985 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30986 0 obj -<> -endobj - -30987 0 obj -<> -endobj - -30988 0 obj -<> -endobj - -30989 0 obj -<> -endobj - -30990 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -30991 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -30992 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -30993 0 obj -<> -stream -H|WkoFN`à ,<G},Xp3>a}'O)s -S>g}&g5Bh)Z!R Y=ŐS XBj),=KRK1d YjZKH-Ő%gBj),=KRK1` ,VH-Ő%gBj),!C -,VH-RK1dqZ!{KH-Ő%guBj),=KRK1` ,NH-Ő%guBj),!C ,NH-ŀ%bܳ:!C >Bj),bRK1dqCwO1` ,^H-Ő%gBj),!C ,^H-ŀ%bܳz!C R Y{Z/bܳz!Z!R Y=Őg:2B7iep4N&pXq`|3b(p?qwyy\61#ى;!>/[50.X CUm^wm5\ׇ\ B Hr^ƃ#NCsoߠ|${ox]$ca&$$5&+CrKK·L×'MRoϺ|-=eϜN^:㲷XQ<4x}FS1-qKmtv~z<=L8wpQiN`5]MfiଫCo"\Vɔe/>꽜: VM -sK4hARz'׶W.7`e$-,0*c1ېrRhr##tqUkvB:5,pw`-lə$v*{<i6y߫}Qثr#?q%NQP, 6F_ִbvRFIFlkMGHK:z[6TYxETy!J0Wc"?c>J ߂Hr_SC_&G 3/b8gx{y:TxW7Ff3<e[߆^>m~(yz,֏}5#sӭt o>2c4Du8A15}^:~:&Kf5IjjI'6Nҩ_o<ؑI >zj7h|z> -mVPT0:Txjں…Z5 -JHcæoݲù|1pNu-(nzY1+zR̦;QG6 -336Ő ,-ϴV$hEL+" Z1ӊi%V´A+aZ2TJV&heL+2eCE1dq-ZiA0-+hYe-VV{!Kbuo-VV{!Kbuo-VV{!Kbuo-VV{!Kbuŀ%=Ő%hwBS Y{'=Ő%hwBS Y{'=Ő%hwBS Y{'=Ő%hwBS Y{'=Ő%hBS Y\bbX{),AսbX{),AսbX{),AսbX{),AսbXGBS Y\bbZs&,'PYOG3DӝZqVcoBN(U^e_s>,yn./.|.M^E -k(&٪}> ʦUt\[m6;]to -.<|*9}~\p_H)_UThY(XTkRHt4[u7m7@nxݬ}{^ ^DS2p0y{˻م \@8xuhBݾ_/}sWW7 nfd e;J6yZ2m>U[VVrS9T3^nmA~ׯG7/6*AEefHHpEK%~"utpr7I>ڕt®lͬ+}(Wgշoj.>q%nRgޱUW. :{Y{&n)#6 :7;`c!1 q:Pd]oVtvv1W:zHj7yW"f4MWXQn[` `RpA -ŲY< -BV`YA -,+R -Y)ʄeeBVƲr!+gYB*XV!d4&-NVkeƓ^JX8fNZ,cÄH,]w벴Ap| -6^^~ybu9}Kp2ż~hUiW@#5Tmˆշ0Bng]oϟ\{\ -L2.9/ jPO\Ǜ -f6R :?oݼAE궹]:vEuGqjx9k|7R P|\!$d;|A5s^[7 0kсRЃB{Ez\)x&jf] :}w^hykwsOvmarkl*a螮q%?QW.Ep}?/> i_`endstream -endobj - -30994 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -30995 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -30996 0 obj -<> -endobj - -30997 0 obj -<> -endobj - -30998 0 obj -<> -endobj - -30999 0 obj -<> -endobj - -31000 0 obj -<> -endobj - -31001 0 obj -<> -endobj - -31002 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31003 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31004 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31005 0 obj -<> -stream -HWko_q *.м 4,Z-Rԃ'XdEG3Dzԏ?^O?z:_`|dr^řEUmG5VQ -Uʮ~^oV^W][U[W?~*|ʨ."Z*ML L_{Ҍ#s]w~QK반}.>`/ɭ=v]7jt]嶫ɲ(,49Zy[.| 7s"Wp}PןZ wIdc~<SǔsNN8F;F(,c8`Ȋn 7O1`Ye2Np{'w̽; =s1s c>}"ODp0>eS}ܧs 3>}.g5Bi)Z!R Y=ŐS XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` Vh-Ő%gBk),C -Vh-ցZK1dqZ!{Kh-Ő%guBk),=kZK1` Nh-Ő%guBk),C Nh-ŀ%bܳ:C :Bk),bZK1dqCwO1` ^h-Ő%gBk),C ^h-ŀ%bܳzC R Y{Z/bܳz[Z!R Y=ŐQ^ip^UQXeTqAG^%*AX&|oMu;{q3zZ(SIGIS7V?ԧ߾{~W?Du(Uͮ:RmϿzVUPiuh뇪UjT啠`u -| UyΗe^̴lC;G9ȍ7Sݽ8RDVy% t^٥ZfǕ3zZn˶j::A?ɣԞS x b7M~21dͅEnX;M;Y^C.2?8I[z|wC?}ބhwL=46qNB#w&mPN=rT,iyW-֗e6$&'pY$Lkq+Gldy{0ӓ#zX>~UwU!+XL ZiyA3XЊV,hL+Z JiVʴ2A+cZ1\ʙV.hTjE1dq-ZiA0-+hYe-{+bX{!KbB),A --{+bX{!KbB),A ŀ%bX{!KbwB),A -{'bX{!KbwB),A -{'bX{!kQ XB),A -{/bX{!KbB),A -{/bX{!KbB),A>rO1dq-K=Őŵ(s??/WEpU/VUYgʚi!R&L/ʑU ezXVlR'%M.74_3l Ɠ+yЯm;3Youe 7fƹ𱭻6p،G}'gnYva;4Vt91'i׎-/f.{9w_#rrG]Ֆ=TdtzNƅƃyѢ-(,Ѭ >T Y۠ Y2]-7F7,ˣpfQF`b:( Y,j&L"m]O&FFwվߚqpXgn8+G}WSwn[75Z>%:J -ir_s1غwk{Z;U*~6~2*Ic'ܶm#CSzZ ܩfQE f1r7ލ=kH)&?K ;OJqxCyωgQl^;M]Uvc7H?bO,ڮ\e9<2Hz<*>{p>/mW<۶nKuՌIkT&r Y&L=(gSj-ubm6mU $~Hql"]=02 %Ò$VNp8MAb\G$*l3[(kA]P&uUW>ݯ/;5:[{wN6{trw60.c]I7.PЩ˔'oj|jG Hӓx KWUb䦆AU q*\cNUvWr%ML<+5dm PE*ueEty+R$%WȞW+Ռӻs%E:}U>/P 1416 0 R/Type/Annot/A 31007 0 R/Subtype/Link/Rect[93.6007004 320.65799 243.216003 340.338013]/Border[0 0 0]/H/N>> -endobj - -31007 0 obj -<> -endobj - -31008 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31009 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31010 0 obj -<> -endobj - -31011 0 obj -<> -endobj - -31012 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31013 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31014 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31015 0 obj -<> -stream -H|Wmo8_A8TrW"ݶhbrmy%)Y$Nj"5~y833T={ۻ7,a^~sqB18,Kek7vqVs+Gu욶W}[X[G7{f&*I -V,KrG \:/Elk\ uP&B eq]:Y\?e|m~r<o屯Z;GK‡)s" x~-}˷YT4Mr|"s >*)BLax"oCTη ϝo ؋ ؋$ˀ$ˀ$ˀ"ث"ث&뀽&뀽&}JO)> g,`쳀}F9><`_싀}A4 }$6D}6D}B Pj}jZ߆(}ZAַPoC>P TET+6@m"j}jZ(B Q@PoC>P T$Tm"Tm -6@m"j}j%Z(B Q@PoC>P$TEַ!`Vm"j}6DJB Q@PoGPoCT޷PoCT޷!*dEַ!`Vm"Uj}6D*B Q@PoZ߆(}ZEַ!`Vm"TET6D*BmiB Q!{(B Q!{߆}EXf>znK8[nu0ãqҴ`}ec0]Ȳtq?}u˾nWߖgPq8qz]-^)QڸONdxJT j}mOu՚a_?nF]_߻Ujjmnc? d|"r&72Jޜ] 'LBl癚mfA{ʽ5lq'bL7˔]׬v&$J*b}웉?p %BiuIO0:|ʃ5psj.kL>`yZ|I@&F[zWJ?  -vyLƙBy&dk]Ougގe;bswюns!/4.і0/ñqشj ={1ʙǝ~x{c14IN0&>vu^vn+NPI,\3ү~~9V,bLivB1Ewp>֐Dsv1<+ş|]Pe|BzĠڥyj6YRѶs͛| eWwPI-8ۘMr/fl${iuȞg.q]Vw0iVf :#C -I*eVŎ )\!Oi1d|a) lƁQ9h2'VdqLPBL /c1ynNcj{,k+xa( u F۪b% PU-p̓ WkS̏TQ@8+v(H;oݶyO#å=H(F]zȵ²HpiW޺x+L_ VcWAxX hf'ef-^`҅PP-2ve,ھCcFvu̿A_LC0K\vp3oyG:4ȧx*1TyXU -.e]A^wLZZ$ݒ֠r8$֊{\1_՚͵\ρpe+bhq/WE+g~0C+Vo?{ -i 9C5M2u־ɵ2f_0*á('Lsf(7S;g7TZU - \Ѡ^M`7á~.s!9|yiWä"9|i}sSg(x+; t.g?ytðE ݳa nqaH0K@3Ur J2z -Ke1Oi]{G8.61n1lz:mmv\>/P 636 0 R/Type/Annot/A 31017 0 R/Subtype/Link/Rect[93.6001968 663.229004 264.299988 682.908997]/Border[0 0 0]/H/N>> -endobj - -31017 0 obj -<> -endobj - -31018 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31019 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31020 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31021 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31022 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31023 0 obj -<> -stream -HWk۶_M l|hPo߾L".IZ$$Dr3i"J"FjwP?7"]ݽ>zV 6 (`Nӂ}f[ݑWEԧ Q3D}y>GQ D}/E^!U^!2Ĵ>8Z3P qV +TcB\c\a!rĵ>,ĵ>fXq>p-G\cB\c\a!rĵ>,ĵ>fXq>p-G\cH 1 -a}̰B>,ĵ>fXq>p@\cB\c\+a! -ĵ>,ĵ>fXq>p@\cB\c\+a! -ĵ>$Z3P qV +TcB\c\+a!Jĵ>,ĵ>fXq>pD\cB\c\+a!Jĵ>,ĵ>fXq>pD\c(E\c1`!1 -aUa^JFV*H)G~;0WPS0)ľ7Ǧ!7q ;t75!ݯYѶ=ѰntW:.)KZqo歛iyfoqŔLingz,=}\t( ?@+ڌյC0ѻ1(MR(0dUsxi"s>+PVxTH3k z$&Jk jYCqy ,QR֩Y3{m=}nRl -x#FVɞ|HqoH!*zrGr/7zxe۫oM+eLnZLViMH 1 >zN۱ W龟YA=8ֻ5MsbAA]zvۃ}*ucɘ~>0E<|ޮq,raf H7s /Œp&v;!Tm3qe[%D0)I[kG])7jT=;8- -V -gƝ!v24YRkД;PSW̭ 18qUC .꽲UIǥ LMH3>`r2ǩ *"MB9.fw' y9vꓶϾv*Ai߼ Zs~+99,T[!M*^f\}a"3 -ؼ1wLWX1/'*^dlw}fԚ i7vmľ\IyZ -lPYXH4%yZ=κS;.k Zb )v]o/$H0MXhNl %Ld:1BϦTnB[övS<"ŅS,N> J)@`˳љNv#*y]v#\:l{`zj{qu>#^R"wՎ\f}vj6a2쯲a< -{ogc`Y;3I/)"QE~DHR:̤f&YZu27% y)P)nW[n,+3!3D?SWuں~M6ùi)fK -ǹI _IQwp[b6fݕ'B1ލl.zjK -Gϓw{2gf#Tگ5\&YLUFލ -0Xolwͬi|bPLD$u# 0#J]_`AXu\8pW,̲2Ll/.)rho!݄ -XH3p?->)4.Nn:<j8swY\ML~迏c3w}݀~D05O ΃ڷXBdj `)3O?둊DZ}}']m |ϯСvF EԇNɴqze:TU~@hX -!,<+rL- [fWt+ߜ'A̶3nh~M s Vi{Z|k5>o4(`T ԛN  G⊧u(n(?} bSܞ8s`e/&ڃq|6K.?8ĝҢ li^*.wXԟ@=+4z͢xͻ޾u2t4endstream -endobj - -31024 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31025 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31026 0 obj -<> -endobj - -31027 0 obj -<> -endobj - -31028 0 obj -<> -endobj - -31029 0 obj -<> -endobj - -31030 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31031 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31032 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31033 0 obj -<> -stream -HWko_1U4v"qn$,LY%+Rˇ${- &ux=ÙŮU?t/_~ tq*Jm6ڕޯjӪRr]^׻jSjvw'u]*A'T* SoNypueX{,s2ѡe$!wG1`iYCV$wy so{[e2Np{'w}$Hp1>bc}ǂO s>'}*OTp2>c3=ˬBKgR Y=ŀ%b),bRK1d YjZ!KpRkR XBj),=KRK1d YjZKH-Ő%g5Bj),=KRK1` ,FH-Ő%g5Bj)Z!R Y=ŐS XBj),=KRK1d YjZKH-Ő%gBj),=KRK1` ,VH-Ő%gBj),!C -,VH-6RK1dqZ!{KH-Ő%guBj),=KRK1` ,NH-Ő%guBj),!C ,NH-ŀ%bܳ:!C ƋR Y=ŀ%b),> ,s*':.)38'a`U>ߴUMx(vVm>+EugeA tmnqz{{*?S>_NL/NŌU 뤰7o>~?|&ulaqWmPlCOa[?m_B& ""XZHV?gT)1AbҴSCxƁv3sKQEYƸP0uA=,ڹR 3%'WB|Bu8<`wř+L[7A$ ,-ǴV$hEL+" Z1ӊi%V´A+aZ2TJV&heL+2eBE1dq-K ZiiAK3-#he-VF{!Kbuo-VF{!Kbuo-VF{!Kbuo-VF{!Kbuoŀ%=Ő%hBS Y{+=Ő%hBS Y{+=6Ŵ-VV{OSbX[)vLF~0&&@6Ke󱙳:lj_<4J>"V~֋zeɁ zSRnkuGëk){gX8ggӉ'm~.H u2h(s-$$( B3ͪ=ImwK 0:_xu(ܕS_amo6C,0|=e3hdh]~ښX'8j$иhz@F2{lT+,*W7gSi|Tof ?AY۾[$&07iji!֦ASR=<۶~p3jl56:xܷnb`(u}fLbW jH tlvn_E[_*3SgM8Ny$"lأZAh]+"4OV_WjDf۞VA\: O3Ӫ[Ӗ [WiOzLDD\.bK>.}/ ŷRAA0P>BzAp>\pҰŀ 4l*ck ]6Q:Xy]{?g܅UɍEҸcrM{ ︲gYJ,'ܳc߽  Ƈm pŎ4oO񡥁يI[]#' *0a\{s,ak5#6Z VeI)CYqFmщ -ɭBYgKoreWB`\}Q,bE=t0)F8Ia:.'F癈]ƫr0na# b'i݊ ,K*&giyv3 ӈ GNV1 =d[R߿2mR\䚜:1W!H^gpԴf٣9dΆylG$SR+ĥ~f6I'4:٧/w 0RDendstream -endobj - -31034 0 obj -<>/P 1242 0 R/Type/Annot/A 31035 0 R/Subtype/Link/Rect[129.600998 366.729004 392.018005 386.408997]/Border[0 0 0]/H/N>> -endobj - -31035 0 obj -<> -endobj - -31036 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31037 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31038 0 obj -<> -endobj - -31039 0 obj -<> -endobj - -31040 0 obj -<> -endobj - -31041 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31042 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31043 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31044 0 obj -<> -stream -Hko۸WS -x(mE^}"pd9QO,e%%Pu!Gi+!u۪˗޼K(y7!3璨X':LHPr0vUg(mZYB,8ON28]KAYnPbDӘ,"VK)Ƹ -َ;_ϓ:+rr+<0ZuQK+Ǒ`|3ŏV20Ev-kDkDkDLjS#cOAOA{ei6kݘ|n (ĵnRz7f)_ -qs-G\,\׺1׺1K!=rĵnRzϵq -qs-G\,\׺1׺1K!=rĵnRzϵqqލ֍YW,wc@!ucB{kݘkZ7Z7f)DZ֍Y -QV uc@!ucB{kݘkZ7Z7f)DZ֍Y -QV uc@"ucջ1׺1Kݘ|n (ĵnRzϵqsD\ƀB\,\+׺1K!=Jĵn (ĵnRzϵqsD\ƀB\,\+׺1K!=Jĵnl(ĵnRz7Z7f)_ބI(}Lep\rrM4&0"6Xdy}b1`ZcN;)w?g-. !4%D˄d!gF034cr[>RCƘKOѬ2͗/zͫrMF|D߅I93oWvyU9⏴/?䮨:{HI!U]x$-"),tO>/? sD& f,k=R@NYU$/:(&^y*^ߎy,zv?FɋERUMlM)̒-"ۜPh6~#1lch4BqTo^\}WY -2*0 RAim7(? J=I-:`]"< -^%)6V+Mj:q͞oSO5;oF@N^pIKCF׫;-ˢ7[npQf/ un3^]7ZVE>axM">=]ןvRҦqQ{ѝ" d%#|36I -{ ʏ:($X=p} s~LE\!.Sa@s&bm316ܶsH\C_H܀F–1_۳Zϭ_W##m]f*^zbaouu쫃:tIC~o9>ml=S%[/7i iA)E -3$S8΢Yir"0Pg1 csEVE+rw}gu`{{ԓ_0QM*M#=nw_ox}+ᖥudz&^ξq -虂Q5Egw[w3plnm{ -&my"JWԿ,pѽJ{-ߏ+ׁnv'|Z;\gMhĦu -Zrv1=G.&M!%ߑo}9kIZUͺ-OoIendstream -endobj - -31045 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31046 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31047 0 obj -<> -endobj - -31048 0 obj -<> -endobj - -31049 0 obj -<> -endobj - -31050 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31051 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31052 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31053 0 obj -<> -stream -HW6 jEu( -\H]Z VjI>IM8AAVG7n~-Qͻo^HW/R7"U"KUĢ7 "HQ7+ɼv]_7fJupm,&OJHy -$(OE4JzysPym㏪})Vq櫗r?~q6(IĦsD0*cRb?mCρ -c,d$ށx1"(TQ APNs -‘HC?ŀ%"EK鋧bF}쩏^1ꕧ^1ꕧ^1ꕧ^3굧^3굧>a'QxF}O>eԧQy3F}>gQ{ F}/g%cZ5A̸bS Xk),_=Ő嫧R Yzϵ1Z!Q6f\K1`1kcƵCsm̸bb\K1d1=ƌk),Fژq-ŀŸbb{R Yzϵ1Z5b\K1d),ƵCbS Xk),FZŸbb{Uk),ƵCsb\K1d1=*ƵZ!QV1kZq-ŐŨ\R Yzϵq-Ś@3|Z!WO1d),ƵCsf\K1d1=jƵZ!QV3k5Zq-ŐŨ\R Yzϵq-ŀŸbb{Ռk),FZ͸bM0|Z!WO1dꋰ( --"&x n6RlHl*!GxȸS4oG1nkǾlD݊_ܼ "!Y|#řȏ,&k/u{"^vX?AfLGkM"XEro9CÛ2QMmo{`cO-}>da+hv%ikr?NRda6vlӀ{-,.P["Ao&aM*y]4L(x=[Tp>c_uX_bVHa/13mt׍ޚQa}={66Up#еsŭ bk?8,ݾv?򐪘?$Oh+S1uv:*w;s8j= WtH؛O0Iw7u[M}]ѹ p3=LQǵ˻4L)]q+ڊ|\i_e/v%sRavԴܾhwf:U9Unvǭ}SrgS ~z{ro>/a-XZ_0e,rirv Fc#)rieʗˤ2DZPjR:NK4yVPEBF{M=fL#ucx6qλ[;͓hj :ȴ([L1кgY"( Uayqjnܻ]Y_.ʳ5j2\Wu*sV}ΊW[U鞃y<&R=0˵;:o7ZFښZT:̤ԤɶMkGUy{s2\Q"4|F@?-Zx] 'Ox/x?82;}*:c*-\N:(+H 0HF\@"cE$zرn2d}ΒeH\B. icXtrY߷|qr» 98Xv;3>CsAݤ[;?,=YJ-K" IB+hnO$y&ؕ1 *Պ(~KOAgs_{llC(6SA߃>glJ\lskjo\uyS^S~x}s,N}m7(_opTjW3*hMе8d N=rS}Y.\ :[zoWN,8λT )suF2PyzÕMt3*|v}8Ocw͂ BY: 2" -7LP%PݗټY2aͿ<08ZspʫlpsY܂ʘꇟs -> j-EH- -|6g.+W>aͩ3ZX`֓E_l.Dp|bnmP84M2܄SX4\]}R L|m|g#qybP7>3"5s2՞14ШFw0c?Xңh~<\F>bHCۂ(Apha8-7󥂋iS*9%ޜ&YDB ,B-Яs Rp)?n't*WPHvaWpLr:zPsi:uHʡcl9 !HH$$.Q6E$bZgX}.I2x*P0ue|,壙 -M)Y9hI@@E"L\jT3ÜeRk{򎈞`H>b/ -_ɼ?{_2/,51&ԇa#Փ^]ن GbRsG!1]ßrz]' 6XRVE>tr>+AP B~%=xrDt=tbK ;.hN:XY%K09mU^fcFYKU>+"$cyRѝ -J)8S9ˣ >XBH[(^:$\}k\MO4V(?pWtC(:Zm(,Q-vM57"Y *]z=aޔE3| O{HV>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31055 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31056 0 obj -<> -endobj - -31057 0 obj -<> -endobj - -31058 0 obj -<> -endobj - -31059 0 obj -<> -endobj - -31060 0 obj -<> -endobj - -31061 0 obj -<> -endobj - -31062 0 obj -<> -endobj - -31063 0 obj -<> -endobj - -31064 0 obj -<> -endobj - -31065 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31066 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31067 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31068 0 obj -<> -stream -HW[o:}ϯc*Ar):Px(t&0$iQw'{'TYڶ?MǞ=;~5 /_ -xNd G2Ђ5U^6g%ϊ]ޕ7ūzW7rŚ;~{.ئ^fqƿKYv0HRB,=_(! pû_ojUSC[nbXq,fm~Hgɼ:&Äz27!{*~;v-dk2 -{/w.'8<ƐgceY4s1` Bp BpKBtKBtKBt+Br+BrkBvkBvkBvGQ#G}L1>vDŽQG}BO)>uԧzdz0=AƐ媷1`1dm YzZCq \kc";km Xkm Yzǵp!PV1`1d -µ6,BZAƀEƐEw\+kZ{p!Uoc"\kcr\6,µ6,BZIƐEw\+ k%ZCq$\kc"\kc";km Yzǵpp!PV1dJµ6ZCƀEƐ媷1dm Xkm Yzǵp!PV1`1d*µ6,BZEƀEƐEw\kZZCq"\kc";Ukmliµ6,Wp!UocrէAo{/38,kÃ4X,{>W8;z -i߶]?RGO/XJ.flV_,TlNCA$HtҨ& vxy7_uoٛϭAyI9 .nϫ5۰hX0mƹfF9NrS;Vc83iG*YۏK_AԧaOyB*'$0֡_ f#pN*+Ezt=Ba a|2|;7[WU8H/U'F<|ʸX( 34~ʛ}Qu՟q1<9"PW)f.X0uvִoVCף_cHDv+4V5pa|?A.:btƇ0:ldim1DۖX`v*&:7n\Fj͆s1.]uŦh|w=JU~_`41(cX`¼5˾6QQ†)]C#UYTԿLu(5 mW];~W^HƕR) Z 1ː$G,maE^ -wkR!q5aҴ&48 W)ߴY=D'F?k`jS}بIsx"_q;l.UjP.vU=Sx RXmlbVSF*f@%&H!NEͯqG[v5jF=_z,g U, fgc^ݲun܋ϋ 6I@2C9b< x"}|;H(<<S}{K -}9 0FjQ@hTaɻy;sMcy ίGR=씪ӢD:H`b<51{)Pih㩭mDP̊V1O>|YOR:PՅCD'36.g_r~ږӫz𨂋cW~&d5NӳqTaR(9/>~DdC^J>(%:F֑}r -GMWŪ%j8>9ڰ$¬1\|! sݒ>#ڧǜ,*muS0ڻ"[3iluMb@bw԰<ߟ*pC"yq#Uq 'T ]gėUۡÌI^u;K߂3?.o )L(Ra"swjp;?/#Zvۆ=_ĪćM -m,ӵQ[2d;ܕ(1{,Erwvv(.>b9w# J;Zn@}<ۚJm_j<uyD,e7^k yh&c?lgy: A& [J#減rOBI8넠A#\²d0o]|:e+.cQM ZsWZOkb -4ᆪ˚;Y0˱bnW: -gK/Rea`0b ܾ%3975c+ vv>/P 1118 0 R/Type/Annot/A 31072 0 R/Subtype/Link/Rect[129.600006 663.229004 343.332001 682.908997]/Border[0 0 0]/H/N>> -endobj - -31070 0 obj -<>/P 1118 0 R/Type/Annot/A 31071 0 R/Subtype/Link/Rect[129.602005 241.229996 311.307007 260.910004]/Border[0 0 0]/H/N>> -endobj - -31071 0 obj -<> -endobj - -31072 0 obj -<> -endobj - -31073 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31074 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31075 0 obj -<> -endobj - -31076 0 obj -<> -endobj - -31077 0 obj -<> -endobj - -31078 0 obj -<> -endobj - -31079 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31080 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31081 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31082 0 obj -<> -stream -HWnH|W4<؅LZF.I<;lv`(e+$E'̿oJs*MH(UWWUi۩'?~FWo^gekUz* `UdQ,WיQKMN]]T&?zIm2^d1mbTe^zLO=͝Ҍ yz>m:BU=ST:Zs\&Sѿie~wڗ}D}3&:Y1uJ9mս2)SN]|\eچWbyf8'JNd;AvK,c$a -Ž#s,,po{ [Nwp{{^}p KKK++>Q*#tϱ{KXbrXh{Z Z˱{Z Z1bcZ1bcEk-h- cEk-h-Lj܋ZZ2Z1bIK,ZK{%h-Lj܋:Z uK,Z u#p/Z@k9X#p/Z@k9F,^ցr,@k9F,^ցrXh*#tϱ{KXbrXh{ZZ˱{ZZ1bcZ1bcEk=h- cEk=h-Lj܋zZZ1bIK,ZKc^U&uQ"3yt"znq)q͕ /FMOjn\޵,׾gA1=^ yHЦkۛ>=67r4]q4t<,um׬uًz-7kM:]tüWYZš|Ӎ'H?1XZ^hyVZAhV -UBh@Z%*V*UJhEVZk\jqXRceZheZh[{ h[{ h[{ h[{ h[{ h[{ h[{)k9{KjqW%r@9F+w h;{H -D=hZ"c4l-{r1#Ƚ@KށsD%r@9FhZ"c4-{r1ꀖȽ u@Kރs5%rA9F A h{{ D==hZ"c4bI-Kjq'%r@1b&' tzv7lzkMۮ7*qeU ~,j5\@r9L[N4<BP~rFr}9 ?O>F[|t̯cA a\W'gyȊ)gҭ&e35yM_ԓ pi.'.2?YVDLڴI˰Tݬ y WԻ6k,Ӛ4&C-StZ_^xPzE⣌= -~˶mLuf#p6,Q{f >wMU{(6h7P`V.xZ2).:mmfv\$WwrRᓲzV#<*g(mj+cm_ϦKgC7w:=XbZd[o ffmCGTZ={On՟p"/Ͽ\wr釢,OJWF7pRf~h3lny=bvmu҈~;Ոo8ScV.R\Rvzۯ҆!Yrq$=٦6:5Λê;?&ÃcLjKhy兖Z^hVZAh@Z*V JURhU@ZЪVZQhEͥLj%8XheZhYeȽȽȽȽȽȽȽȽ cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cĒZK,{ h{{ h{{ h{{ h{{ h{{ h{{ h{{ h{{ h{Kjq,@9F,ӓ{aUMjseQ"z8 >.=FmTѳ?rlUҵ'4z۵i/**]ixjyKW6Jߍ%z-7kZcD~t$@]{ٮkTwӨ=0_q$|Z\4.&&8:-ء`j!&M'Sla@~66V&iWbPW1eQϲ`o? gߺ5p -/Ot l2&:'v `3lsy=Wtg{V;Gendstream -endobj - -31083 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31084 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31085 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31086 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31087 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31088 0 obj -<> -stream -HWko6.`l=4t$'I`G4v~)-T{X{կ7og_y{8˘%RɲTEd{Κ@WmOݶz}]}\|+CYWKq`uP ,9[0+>e ɏ/7R&!'PxSB}O >#gPy3B} >'P_x BYAv$\bջ׺|.,_p!PVu1d=Jµ.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] YzϵpEŐw1`u1d] YzZCs"\b"{Uk] Xk] Yzϵp!PVu1`u1d=*µ.,BZEŀEŐE\׺kZ1ZCŀEŐw1d] Xk] Yzϵ1ZCsmLŀEŐE\u1d=Ƅk] Xk] Yzϵ1ZCsmLŀEŐE\u1d=Ƅk]l$k] YzZCŐ/(bYoRL:|#d,M _2aU:mFZa|Hq*v &e%1IJB/Tb6z~WV&Q..M{wtT"R%g|U*m u4x!(yG1~b"ot{!cx4RQry&ƃF2b6d=8#? ߬c,kyt-4Y]ڇ}. ެ2JeӛVߚ/i4s$+Ru_MwaYbU6Qn;ӽ l:h֍f횕kEV%cP^j21qfpLHF5vzimٗt 7|y8]n_R$ '@:vAՕ(`ˡO[we|Ҷyة캶~S ;iV'n }S{*5l,ÔqOx|oY6+͈S=ln{w?성5[ @ q$%̴HgBrE3Yp92%13%:QSEͣ׽mڽm\fsI(˙z: ^|2aa|`δCt'y\hUVoE=WU <l*R Vw\=WɱR!DEz2Ρc5m9lB71S;=P3WJ(ꚩ=yQ\\զl2ImaL,vcLB,[<-gU{oV;~pvo@HrIgA !{]m6֝b&.z_Ûfe*JG$=8RA{,1PLx =M6cxEe:M6LicV kjmɚH`YF_洅i4Wsy:|@r%4u_A1_ gFy}13\&u)BQd9Ng6g+Y"\udqn 9h$%Il/XZtL*wS_]HpAi]Og`KczDR5( a;&?ix?Amix)?|IDba l(+^;(3^[:G,LM''$"N䔣.4lw-yMɧIpSA/;i* -\Xkxaҫ燆^nCY<8Y8&WQmе Ts=T<\C-9sFe^+K*nҦ$66o#֦ۂenB F5=$2 /zꓫlŬ' m@ -IU#wP~h58`,[؛G?2hفi]yRA+Yk>n x2O'cTW|6Ƹx% dX09Aל)OrE#Gvu/Փ'x(-fK@M>q8[-dwdUʵr0[]5*5&ޟvx"'wk_|f~_*_K嬔Ygx{uu1: ^vPjPh*Uf̌3׍M,a Bs唡"B'|hix'e 1#Eay<[ZYaG790UQGWe2EhhW ΢zE$qZ/ 0wz<Srn75xz(Z1Fw@N㣪8cDj*Y]LXSiA:L]%s:2?ھ*,R.0Iaґ$-/T|jv6'UJ-|׺/޼qq4\v?>t6kA8^Ptt|ޯrQu+ιԛx^ic`!Dӟ}_ A+`4]\M#勛}V_7 0endstream -endobj - -31089 0 obj -<>/P 471 0 R/Type/Annot/A 31092 0 R/Subtype/Link/Rect[93.6003036 445.128998 302.953003 464.80899]/Border[0 0 0]/H/N>> -endobj - -31090 0 obj -<>/P 471 0 R/Type/Annot/A 31091 0 R/Subtype/Link/Rect[93.6013031 229.128006 315.960999 248.807999]/Border[0 0 0]/H/N>> -endobj - -31091 0 obj -<> -endobj - -31092 0 obj -<> -endobj - -31093 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31094 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31095 0 obj -<> -endobj - -31096 0 obj -<> -endobj - -31097 0 obj -<> -endobj - -31098 0 obj -<> -endobj - -31099 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31100 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31101 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31102 0 obj -<> -stream -HWko8_~">- -4pq"Pd:TL$y=E\ϳ;7oͬYT4$? 1{v)Cn-JRb^,_rVdEnd] )S#uY愒hm0CB˜wm412צ{޷ɹ'0י,.fwWESG>}gweB=,P!d{oq{B4ȷY+\ -YWV: b(5YX.ҵSj1`1D=33D=3sD=7sD=7sD=7 D0 D0ԻzP"]Cw 3{zP#}C >7P C} !,ELc!12buLL:,ĵ:Xzõ q)p-C\cB\c7\b! 2ĵ:,ĵ:Xzõ q)p-C\cB\c7\b! 2ĵ:8ZS,S q)^TcB\c7\b! rĵ:,ĵ:Xzõq)p-G\cB\c7\b! rĵ:,ĵ:Xzõq)p-G\cK 12buLL:,ĵ:Xzõq)p@\cB\c7\+b! -ĵ:,ĵ:Xzõq)p@\cB\c7\+b! -ĵ:\ĵ:XzZS,S)>0ādcEiD$Z['턌D NÀx=y!6ַWI'4d#`9 lAOT&1'<:-rrw/?bq#  %b<Ø.OlxMC0G]f&id$괕l߽Qfwm8 L$~W:ulfījӁCr@T8Ub/lWL٣b86'p r3m<.幁2;0E^WoG (f3`@t=Jb 6* „-h \ !ѿO٨OORA*we^tM_uq=G!TcϜ1ۄNO##lLxMlj6'9'emoЮ[G[ءY:6`uX3ѲVnqro} [8lC}ÈT!'mrHO<9d"ۇmcuYS~ߥɝ9nTVąo#Դ5nB˝Ae&pm'M:U &̛aф3HMfx"ܡvH]>,#E7+rf -jSWOWy  -s|x ^t@sꍖ )J:ZeIP$)'`;}`[#IȲRZu?uymӃ/6{V\j24F2'GDNRCr-g0j]Fn{ TJst멺oq:Z~$`^> -xAa7Bak*d'#5+>"%SFGmNOl2GSӕUR=-Ϧг<=3{)J#" %\-fh7Jez{}"Om|.AwWjYqx7\V+5}0N]wLo5C7Zٗʊϫ:#noaI\E,EMjËhǖAabKwK_G/E=aWJB3ҊM>o״0w`;# Y-y~y|n»:I2d+ZlՊqU^pC6io@yaѺ?o?-|V\!]SIAV>9Q`8ޣu"h/r6Zy].'Z$mCt,H.ԉyp,4s85MGY.簤yc'FIQl8QÚA|Z|tS ~lSCl$6߯N ?Ͼ$i8@W -.<԰HeZ}[B_L?-UG-ϕ%n<6$;6^t]t7x AYTyrO_U<_WunЉ2#~x* ʫmq+TE[db[h),zKRE^[ިHw! IY$@u_950PޏWfg_?uJ6}[e#i[ģn"6NCe` Xc{&,+Sa$&r:epSĞH2D;{p=O(;RW,P4^:?؁&+P=\agfDZRyR.nͷb9w[Ae'vX?QRTD; R㍡WJbΗ'ƽHbi8~@ԟ*clq,AGj>FiI`a3|Ԥ=do]y|JӌKN/ ðRyhA7:.ǵ %|+'ZEvsT>^xA+Wf뿋 --3e^쪎"Q25$RKjFAB1~Er.7Abd[<:%)DJ-c3,p$5`n/2u{ȮyO };)/׉i^J{1m?'f? >Zm3_:O{k{<;<8&2qg`v9Z]ABq""b/8?Tl+,K,O;0hZލSPU8Hw9́.l6;)Y?mB i3tqA1Um򾅹5< #G:J/}M&*Hcdq,>.[ϗ_SA B.azaDпixlzRZ})"f4u|د}O&F;\19W -:UzU->/czhZ K5UX\=ǑBW,xĮO -/y -UN7*f[a9lҦDs(46)0867&-a:{S}>d-:{]RV|ieh mX@h[e"_aicbfmΰ 9῾k :p"gaZ$˾dghӅLc 9vrfT*=zPן`Xendstream -endobj - -31103 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31104 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31105 0 obj -<> -endobj - -31106 0 obj -<> -endobj - -31107 0 obj -<> -endobj - -31108 0 obj -<> -endobj - -31109 0 obj -<> -endobj - -31110 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31111 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31112 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31113 0 obj -<> -stream -HWێ8}WQ tś$6 v/VJlkoH]\AU>bU>?8/EBԱ)U˸Ujd|qe6qGUwԬS=Asn=WxYp60g\de:Do6{&KM/?&*Tvܴ[w~\ĭd!crFjuemOO/ۏLPue@s}TXd07#%7qdUJ3e%>-n Cd c Fd*QBw(!B!0(]<J2e^2e^1U^1U^1U^3u^3u0M0M0M>ga }/E`a_K} { @-"ɨ6@16D Q!{jZjC>PdTKmbj Pj Q @Q-!aV26@16D1JFԆ(}ZɨŨŰT+Rj%Zj;DQ-!*dOmbTKm -SB(FԆ(}ZŨŰTRRjZjC>PbTKmbTKmbUj Q @Q-Q-!aV16D1*Fv4ZjCTȞŨ6D Pj Q @Q-!aV36@16D1jFԆ(}ZͨŨŰTRj5ZjZjC>PfTKmbՌjFԆ=Q-!*dOm -Z -Cn=Wxli繍WSqW݃MrtW&/?`sIRer.}[wooYdvO]Jڙ_=UOiTGH_"KU)>Xt&jjz;ͫ"ʤ>thuwdr!mgLn -vBY =q:y0X4Rll:^M橐4WyBgA,5)DZΤ v̆'i^˱v .~Yo%6563sWmy=e\E&>4{vW7w97M zrô -ҝnT\$NDlaf"ͺrrv\;U{PJ(*zβ9ZT];󫔴)4hrzz}Ey=7d; BJƋ*/#ƇSjTrJ0?lDpň6֭)BV3- aΤ(bhC[L6ඓ]ׂIԔrvoRQ޻{^=9:z]D,E7\Z8चPS`N8!G)2y\76ph"ЙN c&wΤ0v%Pú}ӎTϺpMͱkex[ q r_[`t&:=dif l$.^pHgWy\3J_8BPvg?q<.=B 4>:K~0|z㙙AfM{? Z\&oTtP-cI;0mY Z 0"9m;C8؍uwUW9r[5uG:1ς<ۤ>qR@a.sĽ69 |1ؾk754"}9bZA 261Q⃯CԠ4-<]2YZ*ܿ+2 WMɎi9v%oAM$"/S!PZ\WZXLOɩ>ף ]{K}U|Bb{uW^xMp; -Zç}M mNxn8XT7>q`NE&soRY;I5GsѶDv&2q ,Mfwn-RC?37fs{z۾jj[{h iR)xc;Xh7T!cjKkontRQ 1*N4V\aZ– - ӹk+FJ-o>ozqƵ"n Z :!×j{ɠ۳v^[=$u=|yj =O$lˏ}9҈r-a埋2~p01хe*=/g?Fc8eҮ5ar+Kp{3dLi/frr qb+{J+J]Lil@ .攔Txzԧonih(IRO^kSY?lj_a/B(]BPg%-֤P^  v9\~4qU{N )TGyc {w]p:ⓞ@Q@%}w}-tg -#z<0Gˠ^m;n@}BݾxE4m O`Z,'!ɱdj|x8rfl4 -fm) "[ :QǼ -3vTm#4M30_h 2Q6hb0;\9ґp s떐E( -ڑͰÂyQTݥAAu_<͸̧9f ^%\p*)}G\CRer(Ud=TU ->y@t$H-uaۀT|Ҿ^þɘ0(i.X ('a!2R"` 3̀\ -!HtHPJRβi -W,JiFStǺ7Rl3/*ZZaG3ʵԼ]4e LA^nmkm+HH~>ZqJS7Nb[5KF&%](\Fx9vT5vCQqk{׆(ӽ$tEpy].OнkC^wm"kn}nwlb -OB/0~UMZlϸJoɟȉ:Ua畇s[-nY 0;zioWwo!@W&B`;WO~>ð:a26a4Wmg}vOGYT \W  ẃ31 (ȇe?<:3Li pCQ5/!|dghnCP ._Kw#s>.oxwgpendstream -endobj - -31114 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31115 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31116 0 obj -<> -endobj - -31117 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31118 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31119 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31120 0 obj -<> -stream -HWko:_2|"PHӠ"iƋEE:J^?-9EQD.FG93</WL/^:/[HågTJR1Wjn[ؼ쩐az:^7_tlfzLز)N_**^ӑLc!`y9QѬx'NF70ӅIeCB@1w2N Ƥ`0g{^\YKT;+mm9')tJcӥ1@I,JKOcR{W{{{{7{7{{{{/ eƾ$ؗ{Gw{Gw{Gw`_e+}{LmPmCT>PmCT>!*gE6!`VMc"gUjզ1D3*Bi QLPm4(}ZE6!`VMc"TETզ1D3*BilVhBi Q94(Bi Q94}4(}ZM6!`VMc"TET զ1D3jBi Pjj54(}ZM6PmC>S&TET զYaզ1Dզ1Dri Pjj 4(}ZC6PmC>S!TETkզ1@Mc"g5jj 4(Bi QLPmC>S!Tf%TOc"TOc{7LNfQq:I&豨6ъIyJY1f|2 8yoU\jU|n!;yNORn\}}4I&_剬ÓgV@N9dJX;sm?.}váS=~l4aZ Q]&!i]G!{ [n8`e*@d=cgzB,*,\xP^b!d'G,q|'4"ijNϡf8wtUjLi;oLcO?jV=д^o*wb/{%N1qӛI78`wOocn O - 5NzIVS<×8%\#%a -$`&!=Fpl͇Oyt]@w]lܓ۳¶c㶘]wo/Fg8:G5ct'z9kzM/x 6YW|eL2sty+V{&޴wvFY]Zz(tQvMj׽:Y\]L 2Oo5>٫bԓbM&jn ^LӮ7xŝid[nTL7vHi]p0.L{_=ٞg~n=XRmƣ|_M0[6[<|9EnlkWzY= :5Yy8VI#|^MȹZfZ?E X$Ud <|&3o9j툷| ?eCGt0Yuo%"%߫g߸"| [MƳY(g_i/<=~Sɓct+{Jh.kǧz~ -q砋 -;-مp?j>.M?N.2BJe#6ow(\:CBWո-F5lwGۤP@_nj -U/0(@eXYr(Ȱe' B htXl /u mb!Z U!`QYV;à*5Tc:`9!P:*vatn^~)*n)aE# HV޷eW0ŗdQs@[[*^--.RPҕƫUC8TTk/Ĥ*] fVfPox/PB-؆#wȂ]~Ȟ7rP;F9u2~qġD= 8??n:*l). ~fƿRnEncd{=ߛ&ہUy2Ztړ0ePzK$Z.xȌno/>^G: : -e,=zؐsNѹ=VTp_fh7)YMפ,:pnn)^j8J(q@JR1U̍zZгi.gNnv91 e b& -ĦFTg~>.$w/_ ~ -qݶwo4lK-nqQb+z8bVqa$uScy !Vr%(ʸf5<]0ݡJ 㧠{ Ln 8LE.QPRx؍E?ȡt]]E}7'4(4ĉ6rm?%?s82: 8& _Ꮞ;*UPVb E&qq*zw -33ϴ`"SVVڒj1Lzs -8)i5ceܮ?݆c9{[]"o1 BiTu@ƃ(s@j 0Yx:|~Z.K=8֎ M.Gb9cWOzb%zyE A8MQ)ت ^ʦ*k"LF4# k*N,4-pu0%+l%0ߓA;Pߠm6,22 -BF:P2oPP1n֪6$=o|,O~2|VB6,!(„K -ȳ:rO#M(f450`dn0d--B"g:P ! 'CFv)cHZ ǽX"\a4<@V1IrezYbSe5ؖt\~ ;zKq$-? 61o%Jr:Wr>fr$V$k(~?谒zQ`^\ R? jqxͫJ*+] -GHH^}n)qF?H) by4Z5`Nc/=+12LD -{C1L@:CʳCQǔ@*#- -^^tQP$J^L@^$(kdMIzԲj%fZ d4RҥXOhtqGqA2#cYWb|I{Gj{r@ѽ :c(B1TqC*1Kgr6>T?ޅBj`F~ ݌C) 2I])cv<ª"oTXXMBkCiof_@IfЅf 'bbv(&i '@G#\sϘaii:uX TϻT#@\;pFY -[-HNnfjֻ!E -6(r$,<ĩL - 4wpnV 4܊O\Ai!6VJ]zwYfֳpۇf֎@4"LFd<&5}g\VijRW)K<sdh(՛߮_x?<D.=8-PS)3U//'UVgv 4D%'vۤWO՗_"_W#Iؖcf;9G6DIBK= ZK~19اReUr5ir/u~׎ϛݧ2v2q=n>W%х7j-nN[ %q}٭o en@m5I.i6OY,pj$^(wgy .endstream -endobj - -31121 0 obj -<>/P 6370 0 R/Type/Annot/A 31756 0 R/Subtype/Link/Rect[188 669 200 678]/Border[0 0 0]/H/N>> -endobj - -31122 0 obj -<>/P 6370 0 R/Type/Annot/A 31754 0 R/Subtype/Link/Rect[234 659 244 668]/Border[0 0 0]/H/N>> -endobj - -31123 0 obj -<>/P 6370 0 R/Type/Annot/A 31752 0 R/Subtype/Link/Rect[246 659 258 668]/Border[0 0 0]/H/N>> -endobj - -31124 0 obj -<>/P 6370 0 R/Type/Annot/A 31750 0 R/Subtype/Link/Rect[220 649 228 658]/Border[0 0 0]/H/N>> -endobj - -31125 0 obj -<>/P 6370 0 R/Type/Annot/A 31748 0 R/Subtype/Link/Rect[189 639 201 648]/Border[0 0 0]/H/N>> -endobj - -31126 0 obj -<>/P 6370 0 R/Type/Annot/A 31746 0 R/Subtype/Link/Rect[213 629 225 638]/Border[0 0 0]/H/N>> -endobj - -31127 0 obj -<>/P 6370 0 R/Type/Annot/A 31744 0 R/Subtype/Link/Rect[203 619 217 628]/Border[0 0 0]/H/N>> -endobj - -31128 0 obj -<>/P 6370 0 R/Type/Annot/A 31742 0 R/Subtype/Link/Rect[219 619 233 628]/Border[0 0 0]/H/N>> -endobj - -31129 0 obj -<>/P 6370 0 R/Type/Annot/A 31740 0 R/Subtype/Link/Rect[235 619 249 628]/Border[0 0 0]/H/N>> -endobj - -31130 0 obj -<>/P 6370 0 R/Type/Annot/A 31738 0 R/Subtype/Link/Rect[251 619 265 628]/Border[0 0 0]/H/N>> -endobj - -31131 0 obj -<>/P 6370 0 R/Type/Annot/A 31736 0 R/Subtype/Link/Rect[267 619 279 628]/Border[0 0 0]/H/N>> -endobj - -31132 0 obj -<>/P 6370 0 R/Type/Annot/A 31734 0 R/Subtype/Link/Rect[177 609 189 618]/Border[0 0 0]/H/N>> -endobj - -31133 0 obj -<>/P 6370 0 R/Type/Annot/A 31732 0 R/Subtype/Link/Rect[244 599 255 608]/Border[0 0 0]/H/N>> -endobj - -31134 0 obj -<>/P 6370 0 R/Type/Annot/A 31730 0 R/Subtype/Link/Rect[263 589 273 598]/Border[0 0 0]/H/N>> -endobj - -31135 0 obj -<>/P 6370 0 R/Type/Annot/A 31728 0 R/Subtype/Link/Rect[275 589 286 598]/Border[0 0 0]/H/N>> -endobj - -31136 0 obj -<>/P 6370 0 R/Type/Annot/A 31726 0 R/Subtype/Link/Rect[253 579 265 588]/Border[0 0 0]/H/N>> -endobj - -31137 0 obj -<>/P 6370 0 R/Type/Annot/A 31724 0 R/Subtype/Link/Rect[197 569 214 579]/Border[0 0 0]/H/N>> -endobj - -31138 0 obj -<>/P 6370 0 R/Type/Annot/A 31722 0 R/Subtype/Link/Rect[215 569 228 578]/Border[0 0 0]/H/N>> -endobj - -31139 0 obj -<>/P 6370 0 R/Type/Annot/A 31720 0 R/Subtype/Link/Rect[230 569 244 578]/Border[0 0 0]/H/N>> -endobj - -31140 0 obj -<>/P 6370 0 R/Type/Annot/A 31718 0 R/Subtype/Link/Rect[246 569 258 578]/Border[0 0 0]/H/N>> -endobj - -31141 0 obj -<>/P 6370 0 R/Type/Annot/A 31716 0 R/Subtype/Link/Rect[190 559 202 568]/Border[0 0 0]/H/N>> -endobj - -31142 0 obj -<>/P 6370 0 R/Type/Annot/A 31714 0 R/Subtype/Link/Rect[268 549 279 558]/Border[0 0 0]/H/N>> -endobj - -31143 0 obj -<>/P 6370 0 R/Type/Annot/A 31712 0 R/Subtype/Link/Rect[268 539 279 548]/Border[0 0 0]/H/N>> -endobj - -31144 0 obj -<>/P 6370 0 R/Type/Annot/A 31710 0 R/Subtype/Link/Rect[263 529 274 538]/Border[0 0 0]/H/N>> -endobj - -31145 0 obj -<>/P 6370 0 R/Type/Annot/A 31708 0 R/Subtype/Link/Rect[212 519 224 528]/Border[0 0 0]/H/N>> -endobj - -31146 0 obj -<>/P 6370 0 R/Type/Annot/A 31706 0 R/Subtype/Link/Rect[248 509 260 518]/Border[0 0 0]/H/N>> -endobj - -31147 0 obj -<>/P 6370 0 R/Type/Annot/A 31704 0 R/Subtype/Link/Rect[179 499 191 508]/Border[0 0 0]/H/N>> -endobj - -31148 0 obj -<>/P 6370 0 R/Type/Annot/A 31702 0 R/Subtype/Link/Rect[151 479 163 488]/Border[0 0 0]/H/N>> -endobj - -31149 0 obj -<>/P 6370 0 R/Type/Annot/A 31699 0 R/Subtype/Link/Rect[287 469 299 478]/Border[0 0 0]/H/N>> -endobj - -31150 0 obj -<>/P 6370 0 R/Type/Annot/A 31696 0 R/Subtype/Link/Rect[234 459 248 468]/Border[0 0 0]/H/N>> -endobj - -31151 0 obj -<>/P 6370 0 R/Type/Annot/A 31693 0 R/Subtype/Link/Rect[250 459 262 468]/Border[0 0 0]/H/N>> -endobj - -31152 0 obj -<>/P 6370 0 R/Type/Annot/A 31689 0 R/Subtype/Link/Rect[195 449 207 458]/Border[0 0 0]/H/N>> -endobj - -31153 0 obj -<>/P 6370 0 R/Type/Annot/A 31687 0 R/Subtype/Link/Rect[185 439 199 448]/Border[0 0 0]/H/N>> -endobj - -31154 0 obj -<>/P 6370 0 R/Type/Annot/A 31683 0 R/Subtype/Link/Rect[201 439 215 448]/Border[0 0 0]/H/N>> -endobj - -31155 0 obj -<>/P 6370 0 R/Type/Annot/A 31679 0 R/Subtype/Link/Rect[217 439 229 448]/Border[0 0 0]/H/N>> -endobj - -31156 0 obj -<>/P 6370 0 R/Type/Annot/A 31675 0 R/Subtype/Link/Rect[162 429 176 438]/Border[0 0 0]/H/N>> -endobj - -31157 0 obj -<>/P 6370 0 R/Type/Annot/A 31671 0 R/Subtype/Link/Rect[178 429 190 438]/Border[0 0 0]/H/N>> -endobj - -31158 0 obj -<>/P 6370 0 R/Type/Annot/A 31668 0 R/Subtype/Link/Rect[166 419 178 428]/Border[0 0 0]/H/N>> -endobj - -31159 0 obj -<>/P 6370 0 R/Type/Annot/A 31664 0 R/Subtype/Link/Rect[175 409 185 418]/Border[0 0 0]/H/N>> -endobj - -31160 0 obj -<>/P 6370 0 R/Type/Annot/A 31661 0 R/Subtype/Link/Rect[187 409 199 418]/Border[0 0 0]/H/N>> -endobj - -31161 0 obj -<>/P 6370 0 R/Type/Annot/A 31658 0 R/Subtype/Link/Rect[175 399 187 408]/Border[0 0 0]/H/N>> -endobj - -31162 0 obj -<>/P 6370 0 R/Type/Annot/A 31654 0 R/Subtype/Link/Rect[174 389 186 398]/Border[0 0 0]/H/N>> -endobj - -31163 0 obj -<>/P 6370 0 R/Type/Annot/A 31650 0 R/Subtype/Link/Rect[197 379 209 388]/Border[0 0 0]/H/N>> -endobj - -31164 0 obj -<>/P 6370 0 R/Type/Annot/A 31647 0 R/Subtype/Link/Rect[202 369 214 378]/Border[0 0 0]/H/N>> -endobj - -31165 0 obj -<>/P 6370 0 R/Type/Annot/A 31643 0 R/Subtype/Link/Rect[202 359 214 368]/Border[0 0 0]/H/N>> -endobj - -31166 0 obj -<>/P 6370 0 R/Type/Annot/A 31639 0 R/Subtype/Link/Rect[166 349 180 358]/Border[0 0 0]/H/N>> -endobj - -31167 0 obj -<>/P 6370 0 R/Type/Annot/A 31635 0 R/Subtype/Link/Rect[182 349 196 358]/Border[0 0 0]/H/N>> -endobj - -31168 0 obj -<>/P 6370 0 R/Type/Annot/A 31631 0 R/Subtype/Link/Rect[198 349 210 358]/Border[0 0 0]/H/N>> -endobj - -31169 0 obj -<>/P 6370 0 R/Type/Annot/A 31627 0 R/Subtype/Link/Rect[210 340 218 348]/Border[0 0 0]/H/N>> -endobj - -31170 0 obj -<>/P 6370 0 R/Type/Annot/A 31622 0 R/Subtype/Link/Rect[192 330 209 339]/Border[0 0 0]/H/N>> -endobj - -31171 0 obj -<>/P 6370 0 R/Type/Annot/A 31618 0 R/Subtype/Link/Rect[209 330 223 338]/Border[0 0 0]/H/N>> -endobj - -31172 0 obj -<>/P 6370 0 R/Type/Annot/A 31615 0 R/Subtype/Link/Rect[225 330 239 338]/Border[0 0 0]/H/N>> -endobj - -31173 0 obj -<>/P 6370 0 R/Type/Annot/A 31611 0 R/Subtype/Link/Rect[241 330 255 338]/Border[0 0 0]/H/N>> -endobj - -31174 0 obj -<>/P 6370 0 R/Type/Annot/A 31607 0 R/Subtype/Link/Rect[257 330 271 338]/Border[0 0 0]/H/N>> -endobj - -31175 0 obj -<>/P 6370 0 R/Type/Annot/A 31603 0 R/Subtype/Link/Rect[273 330 285 338]/Border[0 0 0]/H/N>> -endobj - -31176 0 obj -<>/P 6370 0 R/Type/Annot/A 31600 0 R/Subtype/Link/Rect[194 310 204 318]/Border[0 0 0]/H/N>> -endobj - -31177 0 obj -<>/P 6370 0 R/Type/Annot/A 31598 0 R/Subtype/Link/Rect[206 310 218 318]/Border[0 0 0]/H/N>> -endobj - -31178 0 obj -<>/P 6370 0 R/Type/Annot/A 31595 0 R/Subtype/Link/Rect[155 300 168 309]/Border[0 0 0]/H/N>> -endobj - -31179 0 obj -<>/P 6370 0 R/Type/Annot/A 31591 0 R/Subtype/Link/Rect[169 300 177 308]/Border[0 0 0]/H/N>> -endobj - -31180 0 obj -<>/P 6370 0 R/Type/Annot/A 31586 0 R/Subtype/Link/Rect[152 290 165 299]/Border[0 0 0]/H/N>> -endobj - -31181 0 obj -<>/P 6370 0 R/Type/Annot/A 31582 0 R/Subtype/Link/Rect[165 290 173 298]/Border[0 0 0]/H/N>> -endobj - -31182 0 obj -<>/P 6370 0 R/Type/Annot/A 31578 0 R/Subtype/Link/Rect[170 280 182 289]/Border[0 0 0]/H/N>> -endobj - -31183 0 obj -<>/P 6370 0 R/Type/Annot/A 31574 0 R/Subtype/Link/Rect[183 280 191 288]/Border[0 0 0]/H/N>> -endobj - -31184 0 obj -<>/P 6370 0 R/Type/Annot/A 31570 0 R/Subtype/Link/Rect[176 270 193 279]/Border[0 0 0]/H/N>> -endobj - -31185 0 obj -<>/P 6370 0 R/Type/Annot/A 31566 0 R/Subtype/Link/Rect[193 270 207 278]/Border[0 0 0]/H/N>> -endobj - -31186 0 obj -<>/P 6370 0 R/Type/Annot/A 31562 0 R/Subtype/Link/Rect[209 270 223 278]/Border[0 0 0]/H/N>> -endobj - -31187 0 obj -<>/P 6370 0 R/Type/Annot/A 31558 0 R/Subtype/Link/Rect[225 270 239 278]/Border[0 0 0]/H/N>> -endobj - -31188 0 obj -<>/P 6370 0 R/Type/Annot/A 31553 0 R/Subtype/Link/Rect[241 270 255 278]/Border[0 0 0]/H/N>> -endobj - -31189 0 obj -<>/P 6370 0 R/Type/Annot/A 31549 0 R/Subtype/Link/Rect[257 270 269 278]/Border[0 0 0]/H/N>> -endobj - -31190 0 obj -<>/P 6370 0 R/Type/Annot/A 31546 0 R/Subtype/Link/Rect[226 260 239 269]/Border[0 0 0]/H/N>> -endobj - -31191 0 obj -<>/P 6370 0 R/Type/Annot/A 31541 0 R/Subtype/Link/Rect[240 260 248 268]/Border[0 0 0]/H/N>> -endobj - -31192 0 obj -<>/P 6370 0 R/Type/Annot/A 31538 0 R/Subtype/Link/Rect[158 250 166 258]/Border[0 0 0]/H/N>> -endobj - -31193 0 obj -<>/P 6370 0 R/Type/Annot/A 31534 0 R/Subtype/Link/Rect[210 240 220 248]/Border[0 0 0]/H/N>> -endobj - -31194 0 obj -<>/P 6370 0 R/Type/Annot/A 31531 0 R/Subtype/Link/Rect[222 240 232 248]/Border[0 0 0]/H/N>> -endobj - -31195 0 obj -<>/P 6370 0 R/Type/Annot/A 31528 0 R/Subtype/Link/Rect[234 240 244 248]/Border[0 0 0]/H/N>> -endobj - -31196 0 obj -<>/P 6370 0 R/Type/Annot/A 31524 0 R/Subtype/Link/Rect[246 240 256 248]/Border[0 0 0]/H/N>> -endobj - -31197 0 obj -<>/P 6370 0 R/Type/Annot/A 31522 0 R/Subtype/Link/Rect[258 240 271 249]/Border[0 0 0]/H/N>> -endobj - -31198 0 obj -<>/P 6370 0 R/Type/Annot/A 31520 0 R/Subtype/Link/Rect[272 240 280 248]/Border[0 0 0]/H/N>> -endobj - -31199 0 obj -<>/P 6370 0 R/Type/Annot/A 31517 0 R/Subtype/Link/Rect[225 220 242 229]/Border[0 0 0]/H/N>> -endobj - -31200 0 obj -<>/P 6370 0 R/Type/Annot/A 31514 0 R/Subtype/Link/Rect[243 220 255 228]/Border[0 0 0]/H/N>> -endobj - -31201 0 obj -<>/P 6370 0 R/Type/Annot/A 31511 0 R/Subtype/Link/Rect[207 210 217 218]/Border[0 0 0]/H/N>> -endobj - -31202 0 obj -<>/P 6370 0 R/Type/Annot/A 31509 0 R/Subtype/Link/Rect[219 210 229 218]/Border[0 0 0]/H/N>> -endobj - -31203 0 obj -<>/P 6370 0 R/Type/Annot/A 31506 0 R/Subtype/Link/Rect[231 210 239 218]/Border[0 0 0]/H/N>> -endobj - -31204 0 obj -<>/P 6370 0 R/Type/Annot/A 31503 0 R/Subtype/Link/Rect[239 200 250 208]/Border[0 0 0]/H/N>> -endobj - -31205 0 obj -<>/P 6370 0 R/Type/Annot/A 31501 0 R/Subtype/Link/Rect[166 180 176 188]/Border[0 0 0]/H/N>> -endobj - -31206 0 obj -<>/P 6370 0 R/Type/Annot/A 31499 0 R/Subtype/Link/Rect[178 180 188 188]/Border[0 0 0]/H/N>> -endobj - -31207 0 obj -<>/P 6370 0 R/Type/Annot/A 31497 0 R/Subtype/Link/Rect[190 180 206 189]/Border[0 0 0]/H/N>> -endobj - -31208 0 obj -<>/P 6370 0 R/Type/Annot/A 31495 0 R/Subtype/Link/Rect[207 180 221 188]/Border[0 0 0]/H/N>> -endobj - -31209 0 obj -<>/P 6370 0 R/Type/Annot/A 31494 0 R/Subtype/Link/Rect[223 180 235 188]/Border[0 0 0]/H/N>> -endobj - -31210 0 obj -<>/P 6370 0 R/Type/Annot/A 31493 0 R/Subtype/Link/Rect[163 170 169 178]/Border[0 0 0]/H/N>> -endobj - -31211 0 obj -<>/P 6370 0 R/Type/Annot/A 31491 0 R/Subtype/Link/Rect[171 170 184 178]/Border[0 0 0]/H/N>> -endobj - -31212 0 obj -<>/P 6370 0 R/Type/Annot/A 31489 0 R/Subtype/Link/Rect[186 170 200 178]/Border[0 0 0]/H/N>> -endobj - -31213 0 obj -<>/P 6370 0 R/Type/Annot/A 31487 0 R/Subtype/Link/Rect[202 170 216 178]/Border[0 0 0]/H/N>> -endobj - -31214 0 obj -<>/P 6370 0 R/Type/Annot/A 31485 0 R/Subtype/Link/Rect[218 170 230 178]/Border[0 0 0]/H/N>> -endobj - -31215 0 obj -<>/P 6370 0 R/Type/Annot/A 31483 0 R/Subtype/Link/Rect[178 160 188 168]/Border[0 0 0]/H/N>> -endobj - -31216 0 obj -<>/P 6370 0 R/Type/Annot/A 31481 0 R/Subtype/Link/Rect[190 160 203 169]/Border[0 0 0]/H/N>> -endobj - -31217 0 obj -<>/P 6370 0 R/Type/Annot/A 31479 0 R/Subtype/Link/Rect[203 160 213 168]/Border[0 0 0]/H/N>> -endobj - -31218 0 obj -<>/P 6370 0 R/Type/Annot/A 31477 0 R/Subtype/Link/Rect[215 160 232 169]/Border[0 0 0]/H/N>> -endobj - -31219 0 obj -<>/P 6370 0 R/Type/Annot/A 31475 0 R/Subtype/Link/Rect[232 160 245 168]/Border[0 0 0]/H/N>> -endobj - -31220 0 obj -<>/P 6370 0 R/Type/Annot/A 31473 0 R/Subtype/Link/Rect[247 160 261 168]/Border[0 0 0]/H/N>> -endobj - -31221 0 obj -<>/P 6370 0 R/Type/Annot/A 31471 0 R/Subtype/Link/Rect[263 160 277 168]/Border[0 0 0]/H/N>> -endobj - -31222 0 obj -<>/P 6370 0 R/Type/Annot/A 31469 0 R/Subtype/Link/Rect[279 160 295 169]/Border[0 0 0]/H/N>> -endobj - -31223 0 obj -<>/P 6370 0 R/Type/Annot/A 31468 0 R/Subtype/Link/Rect[296 160 310 168]/Border[0 0 0]/H/N>> -endobj - -31224 0 obj -<>/P 6370 0 R/Type/Annot/A 31466 0 R/Subtype/Link/Rect[151 150 165 158]/Border[0 0 0]/H/N>> -endobj - -31225 0 obj -<>/P 6370 0 R/Type/Annot/A 31464 0 R/Subtype/Link/Rect[167 150 181 158]/Border[0 0 0]/H/N>> -endobj - -31226 0 obj -<>/P 6370 0 R/Type/Annot/A 31462 0 R/Subtype/Link/Rect[183 150 197 158]/Border[0 0 0]/H/N>> -endobj - -31227 0 obj -<>/P 6370 0 R/Type/Annot/A 31461 0 R/Subtype/Link/Rect[199 150 213 158]/Border[0 0 0]/H/N>> -endobj - -31228 0 obj -<>/P 6370 0 R/Type/Annot/A 31459 0 R/Subtype/Link/Rect[215 150 232 159]/Border[0 0 0]/H/N>> -endobj - -31229 0 obj -<>/P 6370 0 R/Type/Annot/A 31457 0 R/Subtype/Link/Rect[232 150 244 158]/Border[0 0 0]/H/N>> -endobj - -31230 0 obj -<>/P 6370 0 R/Type/Annot/A 31456 0 R/Subtype/Link/Rect[396 669 406 678]/Border[0 0 0]/H/N>> -endobj - -31231 0 obj -<>/P 6370 0 R/Type/Annot/A 31454 0 R/Subtype/Link/Rect[408 669 424 679]/Border[0 0 0]/H/N>> -endobj - -31232 0 obj -<>/P 6370 0 R/Type/Annot/A 31452 0 R/Subtype/Link/Rect[424 669 438 678]/Border[0 0 0]/H/N>> -endobj - -31233 0 obj -<>/P 6370 0 R/Type/Annot/A 31701 0 R/Subtype/Link/Rect[440 669 457 679]/Border[0 0 0]/H/N>> -endobj - -31234 0 obj -<>/P 6370 0 R/Type/Annot/A 31698 0 R/Subtype/Link/Rect[457 669 471 678]/Border[0 0 0]/H/N>> -endobj - -31235 0 obj -<>/P 6370 0 R/Type/Annot/A 31695 0 R/Subtype/Link/Rect[473 669 487 678]/Border[0 0 0]/H/N>> -endobj - -31236 0 obj -<>/P 6370 0 R/Type/Annot/A 31692 0 R/Subtype/Link/Rect[489 669 503 678]/Border[0 0 0]/H/N>> -endobj - -31237 0 obj -<>/P 6370 0 R/Type/Annot/A 44672 0 R/Subtype/Link/Rect[505 669 517 678]/Border[0 0 0]/H/N>> -endobj - -31238 0 obj -<>/P 6370 0 R/Type/Annot/A 31686 0 R/Subtype/Link/Rect[398 659 409 668]/Border[0 0 0]/H/N>> -endobj - -31239 0 obj -<>/P 6370 0 R/Type/Annot/A 31682 0 R/Subtype/Link/Rect[405 649 421 659]/Border[0 0 0]/H/N>> -endobj - -31240 0 obj -<>/P 6370 0 R/Type/Annot/A 31678 0 R/Subtype/Link/Rect[422 649 436 658]/Border[0 0 0]/H/N>> -endobj - -31241 0 obj -<>/P 6370 0 R/Type/Annot/A 31674 0 R/Subtype/Link/Rect[438 649 452 658]/Border[0 0 0]/H/N>> -endobj - -31242 0 obj -<>/P 6370 0 R/Type/Annot/A 31670 0 R/Subtype/Link/Rect[454 649 466 658]/Border[0 0 0]/H/N>> -endobj - -31243 0 obj -<>/P 6370 0 R/Type/Annot/A 31667 0 R/Subtype/Link/Rect[398 639 409 648]/Border[0 0 0]/H/N>> -endobj - -31244 0 obj -<>/P 6370 0 R/Type/Annot/A 31663 0 R/Subtype/Link/Rect[415 629 425 638]/Border[0 0 0]/H/N>> -endobj - -31245 0 obj -<>/P 6370 0 R/Type/Annot/A 31660 0 R/Subtype/Link/Rect[427 629 437 638]/Border[0 0 0]/H/N>> -endobj - -31246 0 obj -<>/P 6370 0 R/Type/Annot/A 31656 0 R/Subtype/Link/Rect[439 629 449 638]/Border[0 0 0]/H/N>> -endobj - -31247 0 obj -<>/P 6370 0 R/Type/Annot/A 31652 0 R/Subtype/Link/Rect[451 629 463 638]/Border[0 0 0]/H/N>> -endobj - -31248 0 obj -<>/P 6370 0 R/Type/Annot/A 44259 0 R/Subtype/Link/Rect[397 619 409 628]/Border[0 0 0]/H/N>> -endobj - -31249 0 obj -<>/P 6370 0 R/Type/Annot/A 31645 0 R/Subtype/Link/Rect[433 609 442 619]/Border[0 0 0]/H/N>> -endobj - -31250 0 obj -<>/P 6370 0 R/Type/Annot/A 31641 0 R/Subtype/Link/Rect[442 609 448 618]/Border[0 0 0]/H/N>> -endobj - -31251 0 obj -<>/P 6370 0 R/Type/Annot/A 31637 0 R/Subtype/Link/Rect[450 609 456 618]/Border[0 0 0]/H/N>> -endobj - -31252 0 obj -<>/P 6370 0 R/Type/Annot/A 31633 0 R/Subtype/Link/Rect[458 609 468 618]/Border[0 0 0]/H/N>> -endobj - -31253 0 obj -<>/P 6370 0 R/Type/Annot/A 31629 0 R/Subtype/Link/Rect[470 609 480 618]/Border[0 0 0]/H/N>> -endobj - -31254 0 obj -<>/P 6370 0 R/Type/Annot/A 31624 0 R/Subtype/Link/Rect[482 609 495 619]/Border[0 0 0]/H/N>> -endobj - -31255 0 obj -<>/P 6370 0 R/Type/Annot/A 31620 0 R/Subtype/Link/Rect[496 609 506 618]/Border[0 0 0]/H/N>> -endobj - -31256 0 obj -<>/P 6370 0 R/Type/Annot/A 31616 0 R/Subtype/Link/Rect[359 599 372 609]/Border[0 0 0]/H/N>> -endobj - -31257 0 obj -<>/P 6370 0 R/Type/Annot/A 31612 0 R/Subtype/Link/Rect[372 599 382 608]/Border[0 0 0]/H/N>> -endobj - -31258 0 obj -<>/P 6370 0 R/Type/Annot/A 31608 0 R/Subtype/Link/Rect[384 599 397 609]/Border[0 0 0]/H/N>> -endobj - -31259 0 obj -<>/P 6370 0 R/Type/Annot/A 31604 0 R/Subtype/Link/Rect[398 599 408 608]/Border[0 0 0]/H/N>> -endobj - -31260 0 obj -<>/P 6370 0 R/Type/Annot/A 31589 0 R/Subtype/Link/Rect[410 599 420 608]/Border[0 0 0]/H/N>> -endobj - -31261 0 obj -<>/P 6370 0 R/Type/Annot/A 31597 0 R/Subtype/Link/Rect[422 599 432 608]/Border[0 0 0]/H/N>> -endobj - -31262 0 obj -<>/P 6370 0 R/Type/Annot/A 31594 0 R/Subtype/Link/Rect[434 599 444 608]/Border[0 0 0]/H/N>> -endobj - -31263 0 obj -<>/P 6370 0 R/Type/Annot/A 31590 0 R/Subtype/Link/Rect[446 599 456 608]/Border[0 0 0]/H/N>> -endobj - -31264 0 obj -<>/P 6370 0 R/Type/Annot/A 31585 0 R/Subtype/Link/Rect[458 599 468 608]/Border[0 0 0]/H/N>> -endobj - -31265 0 obj -<>/P 6370 0 R/Type/Annot/A 31581 0 R/Subtype/Link/Rect[470 599 482 609]/Border[0 0 0]/H/N>> -endobj - -31266 0 obj -<>/P 6370 0 R/Type/Annot/A 31577 0 R/Subtype/Link/Rect[483 599 493 608]/Border[0 0 0]/H/N>> -endobj - -31267 0 obj -<>/P 6370 0 R/Type/Annot/A 31573 0 R/Subtype/Link/Rect[495 599 505 608]/Border[0 0 0]/H/N>> -endobj - -31268 0 obj -<>/P 6370 0 R/Type/Annot/A 31569 0 R/Subtype/Link/Rect[507 599 517 608]/Border[0 0 0]/H/N>> -endobj - -31269 0 obj -<>/P 6370 0 R/Type/Annot/A 31565 0 R/Subtype/Link/Rect[359 589 372 599]/Border[0 0 0]/H/N>> -endobj - -31270 0 obj -<>/P 6370 0 R/Type/Annot/A 31561 0 R/Subtype/Link/Rect[372 589 382 598]/Border[0 0 0]/H/N>> -endobj - -31271 0 obj -<>/P 6370 0 R/Type/Annot/A 31557 0 R/Subtype/Link/Rect[384 589 397 599]/Border[0 0 0]/H/N>> -endobj - -31272 0 obj -<>/P 6370 0 R/Type/Annot/A 31552 0 R/Subtype/Link/Rect[398 589 408 598]/Border[0 0 0]/H/N>> -endobj - -31273 0 obj -<>/P 6370 0 R/Type/Annot/A 43360 0 R/Subtype/Link/Rect[410 589 424 598]/Border[0 0 0]/H/N>> -endobj - -31274 0 obj -<>/P 6370 0 R/Type/Annot/A 31545 0 R/Subtype/Link/Rect[426 589 442 599]/Border[0 0 0]/H/N>> -endobj - -31275 0 obj -<>/P 6370 0 R/Type/Annot/A 31540 0 R/Subtype/Link/Rect[443 589 456 598]/Border[0 0 0]/H/N>> -endobj - -31276 0 obj -<>/P 6370 0 R/Type/Annot/A 31537 0 R/Subtype/Link/Rect[458 589 475 599]/Border[0 0 0]/H/N>> -endobj - -31277 0 obj -<>/P 6370 0 R/Type/Annot/A 31533 0 R/Subtype/Link/Rect[475 589 489 598]/Border[0 0 0]/H/N>> -endobj - -31278 0 obj -<>/P 6370 0 R/Type/Annot/A 31530 0 R/Subtype/Link/Rect[491 589 505 598]/Border[0 0 0]/H/N>> -endobj - -31279 0 obj -<>/P 6370 0 R/Type/Annot/A 31526 0 R/Subtype/Link/Rect[359 579 373 588]/Border[0 0 0]/H/N>> -endobj - -31280 0 obj -<>/P 6370 0 R/Type/Annot/A 31523 0 R/Subtype/Link/Rect[375 579 389 588]/Border[0 0 0]/H/N>> -endobj - -31281 0 obj -<>/P 6370 0 R/Type/Annot/A 31521 0 R/Subtype/Link/Rect[391 579 405 588]/Border[0 0 0]/H/N>> -endobj - -31282 0 obj -<>/P 6370 0 R/Type/Annot/A 31518 0 R/Subtype/Link/Rect[407 579 421 588]/Border[0 0 0]/H/N>> -endobj - -31283 0 obj -<>/P 6370 0 R/Type/Annot/A 31515 0 R/Subtype/Link/Rect[423 579 437 588]/Border[0 0 0]/H/N>> -endobj - -31284 0 obj -<>/P 6370 0 R/Type/Annot/A 31512 0 R/Subtype/Link/Rect[439 579 456 589]/Border[0 0 0]/H/N>> -endobj - -31285 0 obj -<>/P 6370 0 R/Type/Annot/A 31510 0 R/Subtype/Link/Rect[456 579 470 588]/Border[0 0 0]/H/N>> -endobj - -31286 0 obj -<>/P 6370 0 R/Type/Annot/A 31507 0 R/Subtype/Link/Rect[472 579 489 589]/Border[0 0 0]/H/N>> -endobj - -31287 0 obj -<>/P 6370 0 R/Type/Annot/A 31504 0 R/Subtype/Link/Rect[490 579 504 588]/Border[0 0 0]/H/N>> -endobj - -31288 0 obj -<>/P 6370 0 R/Type/Annot/A 31502 0 R/Subtype/Link/Rect[359 569 373 578]/Border[0 0 0]/H/N>> -endobj - -31289 0 obj -<>/P 6370 0 R/Type/Annot/A 31500 0 R/Subtype/Link/Rect[375 569 389 578]/Border[0 0 0]/H/N>> -endobj - -31290 0 obj -<>/P 6370 0 R/Type/Annot/A 31498 0 R/Subtype/Link/Rect[391 569 407 579]/Border[0 0 0]/H/N>> -endobj - -31291 0 obj -<>/P 6370 0 R/Type/Annot/A 31496 0 R/Subtype/Link/Rect[408 569 422 578]/Border[0 0 0]/H/N>> -endobj - -31292 0 obj -<>/P 6370 0 R/Type/Annot/A 42633 0 R/Subtype/Link/Rect[424 569 438 578]/Border[0 0 0]/H/N>> -endobj - -31293 0 obj -<>/P 6370 0 R/Type/Annot/A 31492 0 R/Subtype/Link/Rect[440 569 454 578]/Border[0 0 0]/H/N>> -endobj - -31294 0 obj -<>/P 6370 0 R/Type/Annot/A 31490 0 R/Subtype/Link/Rect[456 569 470 578]/Border[0 0 0]/H/N>> -endobj - -31295 0 obj -<>/P 6370 0 R/Type/Annot/A 31488 0 R/Subtype/Link/Rect[472 569 486 578]/Border[0 0 0]/H/N>> -endobj - -31296 0 obj -<>/P 6370 0 R/Type/Annot/A 31486 0 R/Subtype/Link/Rect[488 569 505 579]/Border[0 0 0]/H/N>> -endobj - -31297 0 obj -<>/P 6370 0 R/Type/Annot/A 31484 0 R/Subtype/Link/Rect[505 569 519 578]/Border[0 0 0]/H/N>> -endobj - -31298 0 obj -<>/P 6370 0 R/Type/Annot/A 31482 0 R/Subtype/Link/Rect[359 559 373 568]/Border[0 0 0]/H/N>> -endobj - -31299 0 obj -<>/P 6370 0 R/Type/Annot/A 31480 0 R/Subtype/Link/Rect[375 559 389 568]/Border[0 0 0]/H/N>> -endobj - -31300 0 obj -<>/P 6370 0 R/Type/Annot/A 31478 0 R/Subtype/Link/Rect[391 559 408 569]/Border[0 0 0]/H/N>> -endobj - -31301 0 obj -<>/P 6370 0 R/Type/Annot/A 31476 0 R/Subtype/Link/Rect[408 559 422 568]/Border[0 0 0]/H/N>> -endobj - -31302 0 obj -<>/P 6370 0 R/Type/Annot/A 31474 0 R/Subtype/Link/Rect[424 559 438 568]/Border[0 0 0]/H/N>> -endobj - -31303 0 obj -<>/P 6370 0 R/Type/Annot/A 31472 0 R/Subtype/Link/Rect[440 559 454 568]/Border[0 0 0]/H/N>> -endobj - -31304 0 obj -<>/P 6370 0 R/Type/Annot/A 31470 0 R/Subtype/Link/Rect[456 559 470 568]/Border[0 0 0]/H/N>> -endobj - -31305 0 obj -<>/P 6370 0 R/Type/Annot/A 42126 0 R/Subtype/Link/Rect[472 559 486 568]/Border[0 0 0]/H/N>> -endobj - -31306 0 obj -<>/P 6370 0 R/Type/Annot/A 31467 0 R/Subtype/Link/Rect[359 549 376 559]/Border[0 0 0]/H/N>> -endobj - -31307 0 obj -<>/P 6370 0 R/Type/Annot/A 31465 0 R/Subtype/Link/Rect[376 549 390 558]/Border[0 0 0]/H/N>> -endobj - -31308 0 obj -<>/P 6370 0 R/Type/Annot/A 31463 0 R/Subtype/Link/Rect[392 549 409 559]/Border[0 0 0]/H/N>> -endobj - -31309 0 obj -<>/P 6370 0 R/Type/Annot/A 41956 0 R/Subtype/Link/Rect[410 549 424 558]/Border[0 0 0]/H/N>> -endobj - -31310 0 obj -<>/P 6370 0 R/Type/Annot/A 31460 0 R/Subtype/Link/Rect[426 549 440 558]/Border[0 0 0]/H/N>> -endobj - -31311 0 obj -<>/P 6370 0 R/Type/Annot/A 31458 0 R/Subtype/Link/Rect[442 549 456 558]/Border[0 0 0]/H/N>> -endobj - -31312 0 obj -<>/P 6370 0 R/Type/Annot/A 41837 0 R/Subtype/Link/Rect[458 549 472 558]/Border[0 0 0]/H/N>> -endobj - -31313 0 obj -<>/P 6370 0 R/Type/Annot/A 31455 0 R/Subtype/Link/Rect[474 549 488 558]/Border[0 0 0]/H/N>> -endobj - -31314 0 obj -<>/P 6370 0 R/Type/Annot/A 31453 0 R/Subtype/Link/Rect[359 539 376 549]/Border[0 0 0]/H/N>> -endobj - -31315 0 obj -<>/P 6370 0 R/Type/Annot/A 41683 0 R/Subtype/Link/Rect[376 539 390 548]/Border[0 0 0]/H/N>> -endobj - -31316 0 obj -<>/P 6370 0 R/Type/Annot/A 31691 0 R/Subtype/Link/Rect[392 539 409 549]/Border[0 0 0]/H/N>> -endobj - -31317 0 obj -<>/P 6370 0 R/Type/Annot/A 41599 0 R/Subtype/Link/Rect[410 539 424 548]/Border[0 0 0]/H/N>> -endobj - -31318 0 obj -<>/P 6370 0 R/Type/Annot/A 31685 0 R/Subtype/Link/Rect[426 539 440 548]/Border[0 0 0]/H/N>> -endobj - -31319 0 obj -<>/P 6370 0 R/Type/Annot/A 31681 0 R/Subtype/Link/Rect[442 539 456 548]/Border[0 0 0]/H/N>> -endobj - -31320 0 obj -<>/P 6370 0 R/Type/Annot/A 31677 0 R/Subtype/Link/Rect[458 539 474 549]/Border[0 0 0]/H/N>> -endobj - -31321 0 obj -<>/P 6370 0 R/Type/Annot/A 31673 0 R/Subtype/Link/Rect[475 539 489 548]/Border[0 0 0]/H/N>> -endobj - -31322 0 obj -<>/P 6370 0 R/Type/Annot/A 31669 0 R/Subtype/Link/Rect[491 539 505 548]/Border[0 0 0]/H/N>> -endobj - -31323 0 obj -<>/P 6370 0 R/Type/Annot/A 31665 0 R/Subtype/Link/Rect[359 529 376 539]/Border[0 0 0]/H/N>> -endobj - -31324 0 obj -<>/P 6370 0 R/Type/Annot/A 31626 0 R/Subtype/Link/Rect[376 529 390 538]/Border[0 0 0]/H/N>> -endobj - -31325 0 obj -<>/P 6370 0 R/Type/Annot/A 31657 0 R/Subtype/Link/Rect[392 529 406 538]/Border[0 0 0]/H/N>> -endobj - -31326 0 obj -<>/P 6370 0 R/Type/Annot/A 31653 0 R/Subtype/Link/Rect[408 529 422 538]/Border[0 0 0]/H/N>> -endobj - -31327 0 obj -<>/P 6370 0 R/Type/Annot/A 31649 0 R/Subtype/Link/Rect[424 529 438 538]/Border[0 0 0]/H/N>> -endobj - -31328 0 obj -<>/P 6370 0 R/Type/Annot/A 31646 0 R/Subtype/Link/Rect[440 529 454 538]/Border[0 0 0]/H/N>> -endobj - -31329 0 obj -<>/P 6370 0 R/Type/Annot/A 31642 0 R/Subtype/Link/Rect[456 529 473 539]/Border[0 0 0]/H/N>> -endobj - -31330 0 obj -<>/P 6370 0 R/Type/Annot/A 31638 0 R/Subtype/Link/Rect[474 529 488 538]/Border[0 0 0]/H/N>> -endobj - -31331 0 obj -<>/P 6370 0 R/Type/Annot/A 31634 0 R/Subtype/Link/Rect[490 529 504 538]/Border[0 0 0]/H/N>> -endobj - -31332 0 obj -<>/P 6370 0 R/Type/Annot/A 31630 0 R/Subtype/Link/Rect[359 519 373 528]/Border[0 0 0]/H/N>> -endobj - -31333 0 obj -<>/P 6370 0 R/Type/Annot/A 31625 0 R/Subtype/Link/Rect[375 519 389 528]/Border[0 0 0]/H/N>> -endobj - -31334 0 obj -<>/P 6370 0 R/Type/Annot/A 31621 0 R/Subtype/Link/Rect[391 519 405 528]/Border[0 0 0]/H/N>> -endobj - -31335 0 obj -<>/P 6370 0 R/Type/Annot/A 31617 0 R/Subtype/Link/Rect[407 519 421 528]/Border[0 0 0]/H/N>> -endobj - -31336 0 obj -<>/P 6370 0 R/Type/Annot/A 31614 0 R/Subtype/Link/Rect[423 519 440 529]/Border[0 0 0]/H/N>> -endobj - -31337 0 obj -<>/P 6370 0 R/Type/Annot/A 31610 0 R/Subtype/Link/Rect[440 519 454 528]/Border[0 0 0]/H/N>> -endobj - -31338 0 obj -<>/P 6370 0 R/Type/Annot/A 31605 0 R/Subtype/Link/Rect[456 519 473 529]/Border[0 0 0]/H/N>> -endobj - -31339 0 obj -<>/P 6370 0 R/Type/Annot/A 31601 0 R/Subtype/Link/Rect[474 519 488 528]/Border[0 0 0]/H/N>> -endobj - -31340 0 obj -<>/P 6370 0 R/Type/Annot/A 31555 0 R/Subtype/Link/Rect[490 519 504 528]/Border[0 0 0]/H/N>> -endobj - -31341 0 obj -<>/P 6370 0 R/Type/Annot/A 31593 0 R/Subtype/Link/Rect[359 509 373 518]/Border[0 0 0]/H/N>> -endobj - -31342 0 obj -<>/P 6370 0 R/Type/Annot/A 31588 0 R/Subtype/Link/Rect[375 509 392 519]/Border[0 0 0]/H/N>> -endobj - -31343 0 obj -<>/P 6370 0 R/Type/Annot/A 31584 0 R/Subtype/Link/Rect[392 509 406 518]/Border[0 0 0]/H/N>> -endobj - -31344 0 obj -<>/P 6370 0 R/Type/Annot/A 31580 0 R/Subtype/Link/Rect[408 509 425 519]/Border[0 0 0]/H/N>> -endobj - -31345 0 obj -<>/P 6370 0 R/Type/Annot/A 31576 0 R/Subtype/Link/Rect[426 509 440 518]/Border[0 0 0]/H/N>> -endobj - -31346 0 obj -<>/P 6370 0 R/Type/Annot/A 31572 0 R/Subtype/Link/Rect[442 509 456 518]/Border[0 0 0]/H/N>> -endobj - -31347 0 obj -<>/P 6370 0 R/Type/Annot/A 31568 0 R/Subtype/Link/Rect[458 509 474 519]/Border[0 0 0]/H/N>> -endobj - -31348 0 obj -<>/P 6370 0 R/Type/Annot/A 31564 0 R/Subtype/Link/Rect[475 509 489 518]/Border[0 0 0]/H/N>> -endobj - -31349 0 obj -<>/P 6370 0 R/Type/Annot/A 31560 0 R/Subtype/Link/Rect[491 509 505 518]/Border[0 0 0]/H/N>> -endobj - -31350 0 obj -<>/P 6370 0 R/Type/Annot/A 31556 0 R/Subtype/Link/Rect[359 499 373 508]/Border[0 0 0]/H/N>> -endobj - -31351 0 obj -<>/P 6370 0 R/Type/Annot/A 31551 0 R/Subtype/Link/Rect[375 499 392 509]/Border[0 0 0]/H/N>> -endobj - -31352 0 obj -<>/P 6370 0 R/Type/Annot/A 31548 0 R/Subtype/Link/Rect[392 499 406 508]/Border[0 0 0]/H/N>> -endobj - -31353 0 obj -<>/P 6370 0 R/Type/Annot/A 31543 0 R/Subtype/Link/Rect[408 499 422 508]/Border[0 0 0]/H/N>> -endobj - -31354 0 obj -<>/P 6370 0 R/Type/Annot/A 31539 0 R/Subtype/Link/Rect[424 499 438 508]/Border[0 0 0]/H/N>> -endobj - -31355 0 obj -<>/P 6370 0 R/Type/Annot/A 31535 0 R/Subtype/Link/Rect[440 499 454 508]/Border[0 0 0]/H/N>> -endobj - -31356 0 obj -<>/P 6370 0 R/Type/Annot/A 31767 0 R/Subtype/Link/Rect[456 499 470 508]/Border[0 0 0]/H/N>> -endobj - -31357 0 obj -<>/P 6370 0 R/Type/Annot/A 31527 0 R/Subtype/Link/Rect[472 499 489 509]/Border[0 0 0]/H/N>> -endobj - -31358 0 obj -<>/P 6370 0 R/Type/Annot/A 33625 0 R/Subtype/Link/Rect[490 499 504 508]/Border[0 0 0]/H/N>> -endobj - -31359 0 obj -<>/P 6370 0 R/Type/Annot/A 31762 0 R/Subtype/Link/Rect[359 489 376 499]/Border[0 0 0]/H/N>> -endobj - -31360 0 obj -<>/P 6370 0 R/Type/Annot/A 31519 0 R/Subtype/Link/Rect[376 489 390 498]/Border[0 0 0]/H/N>> -endobj - -31361 0 obj -<>/P 6370 0 R/Type/Annot/A 31516 0 R/Subtype/Link/Rect[392 489 406 498]/Border[0 0 0]/H/N>> -endobj - -31362 0 obj -<>/P 6370 0 R/Type/Annot/A 31513 0 R/Subtype/Link/Rect[408 489 422 498]/Border[0 0 0]/H/N>> -endobj - -31363 0 obj -<>/P 6370 0 R/Type/Annot/A 37987 0 R/Subtype/Link/Rect[424 489 441 499]/Border[0 0 0]/H/N>> -endobj - -31364 0 obj -<>/P 6370 0 R/Type/Annot/A 31508 0 R/Subtype/Link/Rect[442 489 456 498]/Border[0 0 0]/H/N>> -endobj - -31365 0 obj -<>/P 6370 0 R/Type/Annot/A 31505 0 R/Subtype/Link/Rect[458 489 472 498]/Border[0 0 0]/H/N>> -endobj - -31366 0 obj -<>/P 6370 0 R/Type/Annot/A 31772 0 R/Subtype/Link/Rect[474 489 490 499]/Border[0 0 0]/H/N>> -endobj - -31367 0 obj -<>/P 6370 0 R/Type/Annot/A 31769 0 R/Subtype/Link/Rect[491 489 505 498]/Border[0 0 0]/H/N>> -endobj - -31368 0 obj -<>/P 6370 0 R/Type/Annot/A 31768 0 R/Subtype/Link/Rect[359 479 373 488]/Border[0 0 0]/H/N>> -endobj - -31369 0 obj -<>/P 6370 0 R/Type/Annot/A 31765 0 R/Subtype/Link/Rect[375 479 389 488]/Border[0 0 0]/H/N>> -endobj - -31370 0 obj -<>/P 6370 0 R/Type/Annot/A 31764 0 R/Subtype/Link/Rect[391 479 408 489]/Border[0 0 0]/H/N>> -endobj - -31371 0 obj -<>/P 6370 0 R/Type/Annot/A 31763 0 R/Subtype/Link/Rect[408 479 422 488]/Border[0 0 0]/H/N>> -endobj - -31372 0 obj -<>/P 6370 0 R/Type/Annot/A 31761 0 R/Subtype/Link/Rect[424 479 438 488]/Border[0 0 0]/H/N>> -endobj - -31373 0 obj -<>/P 6370 0 R/Type/Annot/A 31760 0 R/Subtype/Link/Rect[440 479 457 489]/Border[0 0 0]/H/N>> -endobj - -31374 0 obj -<>/P 6370 0 R/Type/Annot/A 31759 0 R/Subtype/Link/Rect[458 479 472 488]/Border[0 0 0]/H/N>> -endobj - -31375 0 obj -<>/P 6370 0 R/Type/Annot/A 31758 0 R/Subtype/Link/Rect[474 479 490 489]/Border[0 0 0]/H/N>> -endobj - -31376 0 obj -<>/P 6370 0 R/Type/Annot/A 31757 0 R/Subtype/Link/Rect[491 479 505 488]/Border[0 0 0]/H/N>> -endobj - -31377 0 obj -<>/P 6370 0 R/Type/Annot/A 31755 0 R/Subtype/Link/Rect[359 469 373 478]/Border[0 0 0]/H/N>> -endobj - -31378 0 obj -<>/P 6370 0 R/Type/Annot/A 31753 0 R/Subtype/Link/Rect[375 469 389 478]/Border[0 0 0]/H/N>> -endobj - -31379 0 obj -<>/P 6370 0 R/Type/Annot/A 31751 0 R/Subtype/Link/Rect[391 469 405 478]/Border[0 0 0]/H/N>> -endobj - -31380 0 obj -<>/P 6370 0 R/Type/Annot/A 31749 0 R/Subtype/Link/Rect[407 469 424 479]/Border[0 0 0]/H/N>> -endobj - -31381 0 obj -<>/P 6370 0 R/Type/Annot/A 31747 0 R/Subtype/Link/Rect[424 469 438 478]/Border[0 0 0]/H/N>> -endobj - -31382 0 obj -<>/P 6370 0 R/Type/Annot/A 31745 0 R/Subtype/Link/Rect[440 469 457 479]/Border[0 0 0]/H/N>> -endobj - -31383 0 obj -<>/P 6370 0 R/Type/Annot/A 31743 0 R/Subtype/Link/Rect[458 469 472 478]/Border[0 0 0]/H/N>> -endobj - -31384 0 obj -<>/P 6370 0 R/Type/Annot/A 31741 0 R/Subtype/Link/Rect[474 469 488 478]/Border[0 0 0]/H/N>> -endobj - -31385 0 obj -<>/P 6370 0 R/Type/Annot/A 31739 0 R/Subtype/Link/Rect[490 469 504 478]/Border[0 0 0]/H/N>> -endobj - -31386 0 obj -<>/P 6370 0 R/Type/Annot/A 31737 0 R/Subtype/Link/Rect[359 459 373 468]/Border[0 0 0]/H/N>> -endobj - -31387 0 obj -<>/P 6370 0 R/Type/Annot/A 31735 0 R/Subtype/Link/Rect[375 459 389 468]/Border[0 0 0]/H/N>> -endobj - -31388 0 obj -<>/P 6370 0 R/Type/Annot/A 31733 0 R/Subtype/Link/Rect[391 459 405 468]/Border[0 0 0]/H/N>> -endobj - -31389 0 obj -<>/P 6370 0 R/Type/Annot/A 31731 0 R/Subtype/Link/Rect[407 459 421 468]/Border[0 0 0]/H/N>> -endobj - -31390 0 obj -<>/P 6370 0 R/Type/Annot/A 31729 0 R/Subtype/Link/Rect[423 459 437 468]/Border[0 0 0]/H/N>> -endobj - -31391 0 obj -<>/P 6370 0 R/Type/Annot/A 31727 0 R/Subtype/Link/Rect[439 459 453 468]/Border[0 0 0]/H/N>> -endobj - -31392 0 obj -<>/P 6370 0 R/Type/Annot/A 31725 0 R/Subtype/Link/Rect[455 459 469 468]/Border[0 0 0]/H/N>> -endobj - -31393 0 obj -<>/P 6370 0 R/Type/Annot/A 31723 0 R/Subtype/Link/Rect[471 459 485 468]/Border[0 0 0]/H/N>> -endobj - -31394 0 obj -<>/P 6370 0 R/Type/Annot/A 31721 0 R/Subtype/Link/Rect[487 459 503 469]/Border[0 0 0]/H/N>> -endobj - -31395 0 obj -<>/P 6370 0 R/Type/Annot/A 31719 0 R/Subtype/Link/Rect[504 459 516 468]/Border[0 0 0]/H/N>> -endobj - -31396 0 obj -<>/P 6370 0 R/Type/Annot/A 31717 0 R/Subtype/Link/Rect[421 449 433 458]/Border[0 0 0]/H/N>> -endobj - -31397 0 obj -<>/P 6370 0 R/Type/Annot/A 31715 0 R/Subtype/Link/Rect[393 439 405 448]/Border[0 0 0]/H/N>> -endobj - -31398 0 obj -<>/P 6370 0 R/Type/Annot/A 31713 0 R/Subtype/Link/Rect[424 429 438 438]/Border[0 0 0]/H/N>> -endobj - -31399 0 obj -<>/P 6370 0 R/Type/Annot/A 31711 0 R/Subtype/Link/Rect[440 429 452 438]/Border[0 0 0]/H/N>> -endobj - -31400 0 obj -<>/P 6370 0 R/Type/Annot/A 31709 0 R/Subtype/Link/Rect[398 419 410 428]/Border[0 0 0]/H/N>> -endobj - -31401 0 obj -<>/P 6370 0 R/Type/Annot/A 31707 0 R/Subtype/Link/Rect[425 409 437 418]/Border[0 0 0]/H/N>> -endobj - -31402 0 obj -<>/P 6370 0 R/Type/Annot/A 31705 0 R/Subtype/Link/Rect[372 399 384 408]/Border[0 0 0]/H/N>> -endobj - -31403 0 obj -<>/P 6370 0 R/Type/Annot/A 31703 0 R/Subtype/Link/Rect[415 389 427 398]/Border[0 0 0]/H/N>> -endobj - -31404 0 obj -<>/P 6370 0 R/Type/Annot/A 31700 0 R/Subtype/Link/Rect[405 379 419 388]/Border[0 0 0]/H/N>> -endobj - -31405 0 obj -<>/P 6370 0 R/Type/Annot/A 31697 0 R/Subtype/Link/Rect[421 379 435 388]/Border[0 0 0]/H/N>> -endobj - -31406 0 obj -<>/P 6370 0 R/Type/Annot/A 31694 0 R/Subtype/Link/Rect[437 379 454 389]/Border[0 0 0]/H/N>> -endobj - -31407 0 obj -<>/P 6370 0 R/Type/Annot/A 31690 0 R/Subtype/Link/Rect[454 379 468 388]/Border[0 0 0]/H/N>> -endobj - -31408 0 obj -<>/P 6370 0 R/Type/Annot/A 31688 0 R/Subtype/Link/Rect[470 379 484 388]/Border[0 0 0]/H/N>> -endobj - -31409 0 obj -<>/P 6370 0 R/Type/Annot/A 31684 0 R/Subtype/Link/Rect[486 379 500 388]/Border[0 0 0]/H/N>> -endobj - -31410 0 obj -<>/P 6370 0 R/Type/Annot/A 31680 0 R/Subtype/Link/Rect[502 379 516 388]/Border[0 0 0]/H/N>> -endobj - -31411 0 obj -<>/P 6370 0 R/Type/Annot/A 31676 0 R/Subtype/Link/Rect[359 369 371 378]/Border[0 0 0]/H/N>> -endobj - -31412 0 obj -<>/P 6370 0 R/Type/Annot/A 31672 0 R/Subtype/Link/Rect[398 359 410 368]/Border[0 0 0]/H/N>> -endobj - -31413 0 obj -<>/P 6370 0 R/Type/Annot/A 37637 0 R/Subtype/Link/Rect[424 349 436 358]/Border[0 0 0]/H/N>> -endobj - -31414 0 obj -<>/P 6370 0 R/Type/Annot/A 31666 0 R/Subtype/Link/Rect[380 340 394 348]/Border[0 0 0]/H/N>> -endobj - -31415 0 obj -<>/P 6370 0 R/Type/Annot/A 31662 0 R/Subtype/Link/Rect[396 340 410 348]/Border[0 0 0]/H/N>> -endobj - -31416 0 obj -<>/P 6370 0 R/Type/Annot/A 31659 0 R/Subtype/Link/Rect[412 340 424 348]/Border[0 0 0]/H/N>> -endobj - -31417 0 obj -<>/P 6370 0 R/Type/Annot/A 31655 0 R/Subtype/Link/Rect[420 330 428 338]/Border[0 0 0]/H/N>> -endobj - -31418 0 obj -<>/P 6370 0 R/Type/Annot/A 31651 0 R/Subtype/Link/Rect[420 320 428 328]/Border[0 0 0]/H/N>> -endobj - -31419 0 obj -<>/P 6370 0 R/Type/Annot/A 31648 0 R/Subtype/Link/Rect[387 310 399 318]/Border[0 0 0]/H/N>> -endobj - -31420 0 obj -<>/P 6370 0 R/Type/Annot/A 31644 0 R/Subtype/Link/Rect[436 300 450 308]/Border[0 0 0]/H/N>> -endobj - -31421 0 obj -<>/P 6370 0 R/Type/Annot/A 31640 0 R/Subtype/Link/Rect[452 300 464 308]/Border[0 0 0]/H/N>> -endobj - -31422 0 obj -<>/P 6370 0 R/Type/Annot/A 31636 0 R/Subtype/Link/Rect[364 290 372 298]/Border[0 0 0]/H/N>> -endobj - -31423 0 obj -<>/P 6370 0 R/Type/Annot/A 31632 0 R/Subtype/Link/Rect[424 280 436 288]/Border[0 0 0]/H/N>> -endobj - -31424 0 obj -<>/P 6370 0 R/Type/Annot/A 31628 0 R/Subtype/Link/Rect[418 270 426 278]/Border[0 0 0]/H/N>> -endobj - -31425 0 obj -<>/P 6370 0 R/Type/Annot/A 31623 0 R/Subtype/Link/Rect[420 260 436 269]/Border[0 0 0]/H/N>> -endobj - -31426 0 obj -<>/P 6370 0 R/Type/Annot/A 31619 0 R/Subtype/Link/Rect[437 260 451 268]/Border[0 0 0]/H/N>> -endobj - -31427 0 obj -<>/P 6370 0 R/Type/Annot/A 31544 0 R/Subtype/Link/Rect[453 260 470 269]/Border[0 0 0]/H/N>> -endobj - -31428 0 obj -<>/P 6370 0 R/Type/Annot/A 31613 0 R/Subtype/Link/Rect[470 260 484 268]/Border[0 0 0]/H/N>> -endobj - -31429 0 obj -<>/P 6370 0 R/Type/Annot/A 31609 0 R/Subtype/Link/Rect[486 260 500 268]/Border[0 0 0]/H/N>> -endobj - -31430 0 obj -<>/P 6370 0 R/Type/Annot/A 31606 0 R/Subtype/Link/Rect[502 260 516 268]/Border[0 0 0]/H/N>> -endobj - -31431 0 obj -<>/P 6370 0 R/Type/Annot/A 31602 0 R/Subtype/Link/Rect[359 250 373 258]/Border[0 0 0]/H/N>> -endobj - -31432 0 obj -<>/P 6370 0 R/Type/Annot/A 31599 0 R/Subtype/Link/Rect[375 250 389 258]/Border[0 0 0]/H/N>> -endobj - -31433 0 obj -<>/P 6370 0 R/Type/Annot/A 31596 0 R/Subtype/Link/Rect[391 250 403 258]/Border[0 0 0]/H/N>> -endobj - -31434 0 obj -<>/P 6370 0 R/Type/Annot/A 31592 0 R/Subtype/Link/Rect[398 240 410 248]/Border[0 0 0]/H/N>> -endobj - -31435 0 obj -<>/P 6370 0 R/Type/Annot/A 31587 0 R/Subtype/Link/Rect[429 230 443 238]/Border[0 0 0]/H/N>> -endobj - -31436 0 obj -<>/P 6370 0 R/Type/Annot/A 31583 0 R/Subtype/Link/Rect[445 230 457 238]/Border[0 0 0]/H/N>> -endobj - -31437 0 obj -<>/P 6370 0 R/Type/Annot/A 31579 0 R/Subtype/Link/Rect[400 220 417 229]/Border[0 0 0]/H/N>> -endobj - -31438 0 obj -<>/P 6370 0 R/Type/Annot/A 31575 0 R/Subtype/Link/Rect[418 220 432 228]/Border[0 0 0]/H/N>> -endobj - -31439 0 obj -<>/P 6370 0 R/Type/Annot/A 31571 0 R/Subtype/Link/Rect[434 220 446 228]/Border[0 0 0]/H/N>> -endobj - -31440 0 obj -<>/P 6370 0 R/Type/Annot/A 31567 0 R/Subtype/Link/Rect[402 210 414 218]/Border[0 0 0]/H/N>> -endobj - -31441 0 obj -<>/P 6370 0 R/Type/Annot/A 31563 0 R/Subtype/Link/Rect[415 200 431 209]/Border[0 0 0]/H/N>> -endobj - -31442 0 obj -<>/P 6370 0 R/Type/Annot/A 31559 0 R/Subtype/Link/Rect[432 200 444 208]/Border[0 0 0]/H/N>> -endobj - -31443 0 obj -<>/P 6370 0 R/Type/Annot/A 31554 0 R/Subtype/Link/Rect[398 190 410 198]/Border[0 0 0]/H/N>> -endobj - -31444 0 obj -<>/P 6370 0 R/Type/Annot/A 31550 0 R/Subtype/Link/Rect[467 170 479 178]/Border[0 0 0]/H/N>> -endobj - -31445 0 obj -<>/P 6370 0 R/Type/Annot/A 31547 0 R/Subtype/Link/Rect[458 160 470 168]/Border[0 0 0]/H/N>> -endobj - -31446 0 obj -<>/P 6370 0 R/Type/Annot/A 31542 0 R/Subtype/Link/Rect[410 150 422 158]/Border[0 0 0]/H/N>> -endobj - -31447 0 obj -<>/P 6370 0 R/Type/Annot/A 31766 0 R/Subtype/Link/Rect[364 608 375 617]/Border[0 0 0]/H/N>> -endobj - -31448 0 obj -<>/P 6370 0 R/Type/Annot/A 31536 0 R/Subtype/Link/Rect[379 608 394 617]/Border[0 0 0]/H/N>> -endobj - -31449 0 obj -<>/P 6370 0 R/Type/Annot/A 31532 0 R/Subtype/Link/Rect[396 608 410 617]/Border[0 0 0]/H/N>> -endobj - -31450 0 obj -<>/P 6370 0 R/Type/Annot/A 31529 0 R/Subtype/Link/Rect[412 608 431 617]/Border[0 0 0]/H/N>> -endobj - -31451 0 obj -<>/P 6370 0 R/Type/Annot/A 31525 0 R/Subtype/Link/Rect[192 228 209 237]/Border[0 0 0]/H/N>> -endobj - -31452 0 obj -<> -endobj - -31453 0 obj -<> -endobj - -31454 0 obj -<> -endobj - -31455 0 obj -<> -endobj - -31456 0 obj -<> -endobj - -31457 0 obj -<> -endobj - -31458 0 obj -<> -endobj - -31459 0 obj -<> -endobj - -31460 0 obj -<> -endobj - -31461 0 obj -<> -endobj - -31462 0 obj -<> -endobj - -31463 0 obj -<> -endobj - -31464 0 obj -<> -endobj - -31465 0 obj -<> -endobj - -31466 0 obj -<> -endobj - -31467 0 obj -<> -endobj - -31468 0 obj -<> -endobj - -31469 0 obj -<> -endobj - -31470 0 obj -<> -endobj - -31471 0 obj -<> -endobj - -31472 0 obj -<> -endobj - -31473 0 obj -<> -endobj - -31474 0 obj -<> -endobj - -31475 0 obj -<> -endobj - -31476 0 obj -<> -endobj - -31477 0 obj -<> -endobj - -31478 0 obj -<> -endobj - -31479 0 obj -<> -endobj - -31480 0 obj -<> -endobj - -31481 0 obj -<> -endobj - -31482 0 obj -<> -endobj - -31483 0 obj -<> -endobj - -31484 0 obj -<> -endobj - -31485 0 obj -<> -endobj - -31486 0 obj -<> -endobj - -31487 0 obj -<> -endobj - -31488 0 obj -<> -endobj - -31489 0 obj -<> -endobj - -31490 0 obj -<> -endobj - -31491 0 obj -<> -endobj - -31492 0 obj -<> -endobj - -31493 0 obj -<> -endobj - -31494 0 obj -<> -endobj - -31495 0 obj -<> -endobj - -31496 0 obj -<> -endobj - -31497 0 obj -<> -endobj - -31498 0 obj -<> -endobj - -31499 0 obj -<> -endobj - -31500 0 obj -<> -endobj - -31501 0 obj -<> -endobj - -31502 0 obj -<> -endobj - -31503 0 obj -<> -endobj - -31504 0 obj -<> -endobj - -31505 0 obj -<> -endobj - -31506 0 obj -<> -endobj - -31507 0 obj -<> -endobj - -31508 0 obj -<> -endobj - -31509 0 obj -<> -endobj - -31510 0 obj -<> -endobj - -31511 0 obj -<> -endobj - -31512 0 obj -<> -endobj - -31513 0 obj -<> -endobj - -31514 0 obj -<> -endobj - -31515 0 obj -<> -endobj - -31516 0 obj -<> -endobj - -31517 0 obj -<> -endobj - -31518 0 obj -<> -endobj - -31519 0 obj -<> -endobj - -31520 0 obj -<> -endobj - -31521 0 obj -<> -endobj - -31522 0 obj -<> -endobj - -31523 0 obj -<> -endobj - -31524 0 obj -<> -endobj - -31525 0 obj -<> -endobj - -31526 0 obj -<> -endobj - -31527 0 obj -<> -endobj - -31528 0 obj -<> -endobj - -31529 0 obj -<> -endobj - -31530 0 obj -<> -endobj - -31531 0 obj -<> -endobj - -31532 0 obj -<> -endobj - -31533 0 obj -<> -endobj - -31534 0 obj -<> -endobj - -31535 0 obj -<> -endobj - -31536 0 obj -<> -endobj - -31537 0 obj -<> -endobj - -31538 0 obj -<> -endobj - -31539 0 obj -<> -endobj - -31540 0 obj -<> -endobj - -31541 0 obj -<> -endobj - -31542 0 obj -<> -endobj - -31543 0 obj -<> -endobj - -31544 0 obj -<> -endobj - -31545 0 obj -<> -endobj - -31546 0 obj -<> -endobj - -31547 0 obj -<> -endobj - -31548 0 obj -<> -endobj - -31549 0 obj -<> -endobj - -31550 0 obj -<> -endobj - -31551 0 obj -<> -endobj - -31552 0 obj -<> -endobj - -31553 0 obj -<> -endobj - -31554 0 obj -<> -endobj - -31555 0 obj -<> -endobj - -31556 0 obj -<> -endobj - -31557 0 obj -<> -endobj - -31558 0 obj -<> -endobj - -31559 0 obj -<> -endobj - -31560 0 obj -<> -endobj - -31561 0 obj -<> -endobj - -31562 0 obj -<> -endobj - -31563 0 obj -<> -endobj - -31564 0 obj -<> -endobj - -31565 0 obj -<> -endobj - -31566 0 obj -<> -endobj - -31567 0 obj -<> -endobj - -31568 0 obj -<> -endobj - -31569 0 obj -<> -endobj - -31570 0 obj -<> -endobj - -31571 0 obj -<> -endobj - -31572 0 obj -<> -endobj - -31573 0 obj -<> -endobj - -31574 0 obj -<> -endobj - -31575 0 obj -<> -endobj - -31576 0 obj -<> -endobj - -31577 0 obj -<> -endobj - -31578 0 obj -<> -endobj - -31579 0 obj -<> -endobj - -31580 0 obj -<> -endobj - -31581 0 obj -<> -endobj - -31582 0 obj -<> -endobj - -31583 0 obj -<> -endobj - -31584 0 obj -<> -endobj - -31585 0 obj -<> -endobj - -31586 0 obj -<> -endobj - -31587 0 obj -<> -endobj - -31588 0 obj -<> -endobj - -31589 0 obj -<> -endobj - -31590 0 obj -<> -endobj - -31591 0 obj -<> -endobj - -31592 0 obj -<> -endobj - -31593 0 obj -<> -endobj - -31594 0 obj -<> -endobj - -31595 0 obj -<> -endobj - -31596 0 obj -<> -endobj - -31597 0 obj -<> -endobj - -31598 0 obj -<> -endobj - -31599 0 obj -<> -endobj - -31600 0 obj -<> -endobj - -31601 0 obj -<> -endobj - -31602 0 obj -<> -endobj - -31603 0 obj -<> -endobj - -31604 0 obj -<> -endobj - -31605 0 obj -<> -endobj - -31606 0 obj -<> -endobj - -31607 0 obj -<> -endobj - -31608 0 obj -<> -endobj - -31609 0 obj -<> -endobj - -31610 0 obj -<> -endobj - -31611 0 obj -<> -endobj - -31612 0 obj -<> -endobj - -31613 0 obj -<> -endobj - -31614 0 obj -<> -endobj - -31615 0 obj -<> -endobj - -31616 0 obj -<> -endobj - -31617 0 obj -<> -endobj - -31618 0 obj -<> -endobj - -31619 0 obj -<> -endobj - -31620 0 obj -<> -endobj - -31621 0 obj -<> -endobj - -31622 0 obj -<> -endobj - -31623 0 obj -<> -endobj - -31624 0 obj -<> -endobj - -31625 0 obj -<> -endobj - -31626 0 obj -<> -endobj - -31627 0 obj -<> -endobj - -31628 0 obj -<> -endobj - -31629 0 obj -<> -endobj - -31630 0 obj -<> -endobj - -31631 0 obj -<> -endobj - -31632 0 obj -<> -endobj - -31633 0 obj -<> -endobj - -31634 0 obj -<> -endobj - -31635 0 obj -<> -endobj - -31636 0 obj -<> -endobj - -31637 0 obj -<> -endobj - -31638 0 obj -<> -endobj - -31639 0 obj -<> -endobj - -31640 0 obj -<> -endobj - -31641 0 obj -<> -endobj - -31642 0 obj -<> -endobj - -31643 0 obj -<> -endobj - -31644 0 obj -<> -endobj - -31645 0 obj -<> -endobj - -31646 0 obj -<> -endobj - -31647 0 obj -<> -endobj - -31648 0 obj -<> -endobj - -31649 0 obj -<> -endobj - -31650 0 obj -<> -endobj - -31651 0 obj -<> -endobj - -31652 0 obj -<> -endobj - -31653 0 obj -<> -endobj - -31654 0 obj -<> -endobj - -31655 0 obj -<> -endobj - -31656 0 obj -<> -endobj - -31657 0 obj -<> -endobj - -31658 0 obj -<> -endobj - -31659 0 obj -<> -endobj - -31660 0 obj -<> -endobj - -31661 0 obj -<> -endobj - -31662 0 obj -<> -endobj - -31663 0 obj -<> -endobj - -31664 0 obj -<> -endobj - -31665 0 obj -<> -endobj - -31666 0 obj -<> -endobj - -31667 0 obj -<> -endobj - -31668 0 obj -<> -endobj - -31669 0 obj -<> -endobj - -31670 0 obj -<> -endobj - -31671 0 obj -<> -endobj - -31672 0 obj -<> -endobj - -31673 0 obj -<> -endobj - -31674 0 obj -<> -endobj - -31675 0 obj -<> -endobj - -31676 0 obj -<> -endobj - -31677 0 obj -<> -endobj - -31678 0 obj -<> -endobj - -31679 0 obj -<> -endobj - -31680 0 obj -<> -endobj - -31681 0 obj -<> -endobj - -31682 0 obj -<> -endobj - -31683 0 obj -<> -endobj - -31684 0 obj -<> -endobj - -31685 0 obj -<> -endobj - -31686 0 obj -<> -endobj - -31687 0 obj -<> -endobj - -31688 0 obj -<> -endobj - -31689 0 obj -<> -endobj - -31690 0 obj -<> -endobj - -31691 0 obj -<> -endobj - -31692 0 obj -<> -endobj - -31693 0 obj -<> -endobj - -31694 0 obj -<> -endobj - -31695 0 obj -<> -endobj - -31696 0 obj -<> -endobj - -31697 0 obj -<> -endobj - -31698 0 obj -<> -endobj - -31699 0 obj -<> -endobj - -31700 0 obj -<> -endobj - -31701 0 obj -<> -endobj - -31702 0 obj -<> -endobj - -31703 0 obj -<> -endobj - -31704 0 obj -<> -endobj - -31705 0 obj -<> -endobj - -31706 0 obj -<> -endobj - -31707 0 obj -<> -endobj - -31708 0 obj -<> -endobj - -31709 0 obj -<> -endobj - -31710 0 obj -<> -endobj - -31711 0 obj -<> -endobj - -31712 0 obj -<> -endobj - -31713 0 obj -<> -endobj - -31714 0 obj -<> -endobj - -31715 0 obj -<> -endobj - -31716 0 obj -<> -endobj - -31717 0 obj -<> -endobj - -31718 0 obj -<> -endobj - -31719 0 obj -<> -endobj - -31720 0 obj -<> -endobj - -31721 0 obj -<> -endobj - -31722 0 obj -<> -endobj - -31723 0 obj -<> -endobj - -31724 0 obj -<> -endobj - -31725 0 obj -<> -endobj - -31726 0 obj -<> -endobj - -31727 0 obj -<> -endobj - -31728 0 obj -<> -endobj - -31729 0 obj -<> -endobj - -31730 0 obj -<> -endobj - -31731 0 obj -<> -endobj - -31732 0 obj -<> -endobj - -31733 0 obj -<> -endobj - -31734 0 obj -<> -endobj - -31735 0 obj -<> -endobj - -31736 0 obj -<> -endobj - -31737 0 obj -<> -endobj - -31738 0 obj -<> -endobj - -31739 0 obj -<> -endobj - -31740 0 obj -<> -endobj - -31741 0 obj -<> -endobj - -31742 0 obj -<> -endobj - -31743 0 obj -<> -endobj - -31744 0 obj -<> -endobj - -31745 0 obj -<> -endobj - -31746 0 obj -<> -endobj - -31747 0 obj -<> -endobj - -31748 0 obj -<> -endobj - -31749 0 obj -<> -endobj - -31750 0 obj -<> -endobj - -31751 0 obj -<> -endobj - -31752 0 obj -<> -endobj - -31753 0 obj -<> -endobj - -31754 0 obj -<> -endobj - -31755 0 obj -<> -endobj - -31756 0 obj -<> -endobj - -31757 0 obj -<> -endobj - -31758 0 obj -<> -endobj - -31759 0 obj -<> -endobj - -31760 0 obj -<> -endobj - -31761 0 obj -<> -endobj - -31762 0 obj -<> -endobj - -31763 0 obj -<> -endobj - -31764 0 obj -<> -endobj - -31765 0 obj -<> -endobj - -31766 0 obj -<> -endobj - -31767 0 obj -<> -endobj - -31768 0 obj -<> -endobj - -31769 0 obj -<> -endobj - -31770 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31771 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31772 0 obj -<> -endobj - -31773 0 obj -<> -endobj - -31774 0 obj -<> -endobj - -31775 0 obj -<> -endobj - -31776 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31777 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31778 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31779 0 obj -<> -stream -HWko_qa ׼>n x"hh8HC{gHJgiR,ι\)^oׯ~Vz^%өUYtbU[FTuȨJEW(E_})mVoj׷Vuыet42jyH -8W]=_~hnN36{"s:<~~hVeשKċ׏jM~ٙܤMqߗ$:X/Q r8v<~AX7 VjRmЉs<̀m6 -  cbHCŀe g Yލ),+̽[ sw{{g3>a}'O)s -S>g}&ϘLp1>gs}}`e.Bj),bRK1dqCwO1` ,VH-Ő%gBj),!C -,VH-ŀ%bܳZ!C -R Y{Z+bܳZ!ENH-ŐS XBj),b),!C ,NH-ŀ%bܳ:!C R Y{Z'bܳ:!Z!KpRR Y{Z'b {KH-ŐS Y=ŀ%bܳz!C R Y{Z/bܳz!Z!KpRR Y{Z/bRK1d YjZ!KpRRl%Bj),bRK1dqCwt;9]jtʨmF2Uikhqw]Y/jWR]*닶?oՕY-~Wor I)[ܷU,eNjզڮ/_Kˀ|R}X9> 7s&,zIF=Z_v{6 ?i":|P35)ϧ׃ot>U[eʼnoDf>XX?Qdc89u_;qk⠳cjSmjoJ&bbpxuvWE_54oի/}S=ˀ*~ -KbL̅g֩oƊ }3q9ms&/Nt~ڹh;=wpg-Eq5\jg8Sv]`CYcq8mN'[qʞXcun,N'a{w E)ǓҶ'O.?\vx[ -˺m&ITtx=wURwSe+zܞF5>Lg-LyHeyߴ}~Z1+p&x0u>ڃx__.BO+ -|ˑu1]k<_Jzo>H%br< _?.IվTLǩ_Z:wN||%6=i!8'Ve׍bΚX7 g4AocwhV5)zAGp'_t@8?xΟY{g֤BOCs*Ym|)cɖs鱔BpFԉCF&Y,&#at -zS'/jdATxb' qOU_ăR4 Rg#Y?ћnoXL7ϻ%4y2sv3@YRZG(,d܎ohAPM5PӁL暍s"UX6f"LDfpR&M3^:Nr 3y7骉F&KFӁ:=6 oP_hgu{h, 1(l0kјJ -7DO0;,ri}V b^ve( c+˺4h#%p㌩vo t -;Ib!;@Nal -0N1stF;n|hZz1!'Mݙ L[a4t7&c&=X 0endstream -endobj - -31780 0 obj -<>/P 802 0 R/Type/Annot/A 31781 0 R/Subtype/Link/Rect[93.6004028 217.057999 184.404999 236.738007]/Border[0 0 0]/H/N>> -endobj - -31781 0 obj -<> -endobj - -31782 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31783 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31784 0 obj -<> -endobj - -31785 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31786 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31787 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31788 0 obj -<> -stream -HSFƿ미0ӌ rypS2@(VaT[v2m y݈ׯΎNo߾;> -ʆ RZ$ #-"CT@R4oh>hr(28xbeAnP"7 LE6 :bؔJtu$;*M:`VNp4*EYMZ/0="9tA/ dZ}8}`B-J3WA\]K13q#L}dKE!.kޥu! \JQxyf5 &70z[BozK#>"C}DŽ>fcB0 O' }BS>%)Cz;BzYńk@3(=ּI-E.J5bR5p1$I-Гj&X.&XCORb \ =IfR5bR5p1$I-Гj&X.&XCORb \ =IfRY`b \kŤkXǚw1zZäkbIj ZyZ'5Lj.0Św1zZäkbIj ZyZ'5Lj.0,Lj.J5bR5pQzcͻb \ =IeR5p1$I-ּI-ГZ&XCORkbͻb \ =IeR5p1$I-ּI-ГZ&XCORkbmDLj.J5bR5pQzһ9g?΂wYpeJ(4]8,Q7G -ojn|tM}7lD>yu<?˔4tm[#jY{< N¨uc1or $޼rM"n7rAg -Hơj++ZӖ%NB2]\E޶8<8O>Ц9ˢԆ B [<-6 tռ+ҫY跏gj$6ٗѨ՘cwjr:.~GGV3g{vxq;Cd5vv#ML)*IȤ) 0XN5Njy$ru qh_nrfyY 'z2|!_ڟ;"70^/ϜVЭOwH);E{^g"o^5ٵ֦&j_PSV}aQV|oV-ˇjѴ{ݏ~,֡.`?ΗtW6C众_5S8kgoA7Z}õC|+?w|R?-D5U>+D{/D;Pdnc26X2:up[Ů$ c\s[ϛp>UMծ( 5.iv7߈O\ÈkDT?%:Bc2 &ET;;Wzu˵9ߖatYܦegQy sj[9vi6#6֣/^ ꣋q Plo{R9U7÷hDmfoYDA,7,XE܌Ce0^oLB{N*>^ΎE$n$endstream -endobj - -31789 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31790 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31791 0 obj -<> -endobj - -31792 0 obj -<> -endobj - -31793 0 obj -<> -endobj - -31794 0 obj -<> -endobj - -31795 0 obj -<> -endobj - -31796 0 obj -<> -endobj - -31797 0 obj -<> -endobj - -31798 0 obj -<> -endobj - -31799 0 obj -<> -endobj - -31800 0 obj -<> -endobj - -31801 0 obj -<> -endobj - -31802 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31803 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31804 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31805 0 obj -<> -stream -H[oV+N4F \4Haч(0rRd(38R3t_'O޽)ͳg_(*\.IM7ul?Ͳ(ͧ™)~Kb5_Egϊt^Bi5lb2P~ҷ'#O;pr1M9uWxȉWmQdAWu7_+;L1>fj*yߋ"{¼x_$,WI)tR#9M (9^jDyޫ*}J@>*}J@'> O*}W*}W*} *} *} *}7*}7*}JAzYF+EjƔN/5jƔN/5tzV+5@zZV+5@zZV+5jHVjHVjFXԘj=XԘj=XԈS ZS Zڢ`RcJQ`RcJS:ԈS ZmS ZmQ`Rc -W `Rc -W `R# -VjLjVjLjVjDJ)^6J)^6JmQDZ1K(Z1K)^jDJ)^6J)^6J(Z1ҫFZ1ҫFZV+5@zV+5@zV+5jHVjHVj(XԘFXԘƔNm9ɢxGm3Iq>Tuiia7UbnoAtѐÎXgS2:ڼCAC|?>MY<ؾ| -6]磜ֳ{w{t;!h_Yo!eaka4>m_ -lW~R7/}lOwSV6)QcC魿q6/G1;>ΦOt|S涧tӡ7O;}i󋋏ԷMMyޫå~fkM;|w<~% w^] kQ7T>] W:n[}U[P777})'UBSԘʀR^xEWT^ x%啀WR^W*UZyV^ jW啁WV^xeK%5Ԉr)/+/T=Ԙ^^jL/{z/5SKރK)zARRc -x{1FԘ^^jL/z/5}SK>K)z@RRc -x{1TԘ^^jLi/z/5}SK>K)zARRc -xG{1T#Ԙ^^jL/z/5}SKjDK)m9n?_I؟Q}jOf#7T[A/_?>]qPMÏͱ~Pc~Q̻̜yolīw/L]endstream -endobj - -31806 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31807 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31808 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31809 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31810 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31811 0 obj -<> -stream -HWkoܶ_2E')mSvZW{%9!ǒ[F!u{9L~}w߾׋ *c"H9R$ u^̻$rw}u+P{Wn9{;j},bW$!+X1Ylzw>L\|( Xxz|pBbd"֘}?&Gs"I(? Y8{fQ~0_gv9d{" xWdgƻ.0Q(C;T(ˇ@ܣ%o a a/a/a/ac}L >q'a}JO)>uga3}F9>wa_ }Aw4} >Dm>Dm\Pjmj9Zۇ(ZNPCQ-'TkEwT >@}";jmj9Z(BQ{GPCQ-'TkZO}r>@}r>Dm>D -BQ{GPZۇ(ZA!`V}"TkEwT+>D -BPjmjZۇ(ZA^L!eoE!eo岷}"TkEwT}"; >@}"; >DƄjm>DƄjmjcBPjmjcBQ{G1Zz Zۇ(Zۇ(C˾Y6fzow.Yv/WgJ4gdo9nOle7SwvX L7 ikyW@^3ra};(`uY-S4:\4aQGjz-lv4-c1ybQv;KwR= q SA X0%a`K5q(7#o|vwiʺDh"+l(GQWQe,S gY_/]ֿ4 ₧e2`"Y\}T7+B=GLXwڠxjɂqLD^4sDҾ4ь4?¦¦E1?C`Mw%b ̦fJ+?ZVB<[G/$< L}M-ͩy=o7, `{E[U4YCSo&2! HgΒ,#;'aAb /0iFA|J|6*4$3TuѼt1|srPb9'E\I8ƔRP"U_NV%rIv,UpPE j -#3r>_z~{{^q;,Dmֽp]ȗ$'ZLRG5`%e`)8b5 Ź9 6n>:G:E{zͩO,Ë& A%qE"XBWOI:9' i_e5 R?M4vbV-^o{/]R^N05oe\f_%,y3Owθr|Pxw+ Wi'F~o{]l 6ѫzެW݀9&u(ZcX +/53k/ɼxgkoOM 9:.ѱh[Odsb17*q.' '` -|@YQ,A:oR $K:Qjh͒hz~4|Pv썽|Y<tMq(eUkE6TñrVI -pv ^}fG!\w8nsz^zXl=m -Ol $ v2ߏzX#{2mS"E?.* 3`KpJDX l)y\.{+̉6H$r,3ށY*Oq9xnģ+$Epyu-kZJ%5є: 7/m -~ - -`gΑH JEUރϲMvPYUj^HHgJz6QF]v-Pp>DjFZ >Dg4#"G|>fdJUh=`G[;tp} pz48e7c:c] -s{R#-*h r×,dHv0;bV8tFprN߄1y\I%߽nq 0Ia,.}_יɮf6xfM`8I{xpzu7:/4# ~s6Θp((:r(L%&'8ʑNaϝ2]~ZUT8.aA:o#`d8BJȵ8>*HSH˘fb $Zhw 4gJ9 ݍJPރęVb7ܹh_xkUTJZܙC!Bxɡq I3 .@ƠJ|}`)$hQawW*7aTV%e&˷>1Wn Z2jq) -NJ)r\A 㜨)B֕jC+ÈKyL +Wc:8R˭x (x)WB=i6*=#w(ij*s_)鱢uJ]r9[-Lk0VR|18o]x.ַR- -&wO)G-(sx -)B-}_gxsH0+g\-TDƴ)br -%Q2SY:gE-֓SߍK={\4"kdx{U]Z|{`g :u% }sk]W4z 5igе(aZ!wgAVdG'3C^g`ltwt;yڲl |+/!Z܌ t/;G>xt" ~)6HyڻbKbA )F\*&⢨W-}:8/ T@i#1j,S|(޵ 0ч7KW Z9#I'ڸDAHUe?@nLl^BЭ&4tP J6|"?`F@EQଘJ]wi^Bi[t>܃b>m!g[b4PZoE% -&ˉa_s~=٧`=-o/v/gB}(ydW\/QI8a$4  +NQ-*/KLYHt]n,=Wd°IP\1%*@ad(ӫXQ*Nz'4qIn}е ڽ>ß 0t_eendstream -endobj - -31812 0 obj -<>/P 1115 0 R/Type/Annot/A 31813 0 R/Subtype/Link/Rect[93.6006012 619.229004 235.932999 638.908997]/Border[0 0 0]/H/N>> -endobj - -31813 0 obj -<> -endobj - -31814 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31815 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31816 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31817 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31818 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31819 0 obj -<> -stream -HkoWlIKK4):M( -;0TrH*q%A`%g_ևEWdrIT,ˆPqrȂIPr0l<们:)99?W -j$JDӘv~w;MJB~PU^'W"#qO9Vh$+eЗڟ@C%oaO @ ( = -lAl&qbd >ΎŘKY1C)3抷c@qD=wsD=w Dp Dp DpKDtKDt+Dr+Dr+DrGQ!#GFkGFkGFkG}1>v'Q 2ĴvlpĵvPz;Z;f(W3ގ֎ -Q︖#cB;kPk혡k9Z;f(DZ֎֎ -Q︖#cB;kPk혡k9Z;f(DZ֎֎UoǀB\k 媷cr11C! -ĵvPzǵq -q3q@\k w\+11C! -ĵvPzǵq -q3q@\k w\+ڱ] 1CPk혡\vPz;Z;f(DZ֎ -QV"c@!cB;k혡k%Z;Z;f(DZ֎ -QV"c@!cB;k혡k%Z; Z;f(W -q3ގUIHB.x -.W+AYmƄ$H! yQ-W &-L9fվz.$%ꀚ%?~;o}6rZp;_EŐDD4CF|ȴn_әy:Uxgȉ'dn?ջw{z[w/D-7-$=>-:-Xgq 6ڜ=S|29C0Pz1W]777>7R5s϶,'ܢ*n'ܲS#j{=7_r,՗͆3]ӇfEEDیXWyYuUB8e6{$T! vE9ٌG:ڴr=wuK_P{淞 ~O7@lu4fXkN7K+)u7cj18 4-7S9{(Tg\4K07t0F%U fZoޯ@X$:? w=pkC+)[+>>(_?r -I@H q8/7M)iy_mJfrT<KjSL##r3w>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31821 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31822 0 obj -<> -endobj - -31823 0 obj -<> -endobj - -31824 0 obj -<> -endobj - -31825 0 obj -<> -endobj - -31826 0 obj -<> -endobj - -31827 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31828 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31829 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31830 0 obj -<> -stream -HWk۸_)&6s}M1 -(,$g2J-l!yxyuyW|{ً/6#*9b:Q"XH ֕.]Yłe] ۶n)Z -~^]2V IbdiU܆7zx&tˋW8sVkf)#R3\ fNr6+G3U]J-U8xԧSSO}JO=>gSsO}N< ӺXµ.,_p!Wbջ׺kZCs \b"\b"{k] Yzϵpp!PVu1d= -µ.,µ.,BZAŐE\+׺XHµ.,_p!Wbջ׺k%ZCs$\b"\b"{k] Yzϵpp!PVu1d=Jµ.,µ.,BZIŐE\+ ׺X(µ.,_p!Wbջ׺kZCs"\b"\b"{Uk] Yzϵpp!PVu1d=*µ.,µ.,BZEŐE\׺Xhµ.,_p!WbQw\7UpKjxᇋ[Qdj?4[@Fv+Y]햁$/b tAjw|Lycq ֜F_9l?cLM WWxP6M(ɗGz+8޳Y`jC3C_nLãi@2Nr^*s-fÇSjYiɳa֪z;uk)Qr]`T u!o*l}1fϕY<4E yw6B(i(\? ,0Qp%)tj C})dWpo[LŔ(8 bx8*4_~gj] Z?fk]uy@Kq]pçŘwU(K e!#pa7=o jߗ -e {)ڍ9CkZfS! `>K-lc_tiB48G=ooXrv? -fm1ʆٷ]=,I'8diGjx̆:el$d`%1W ތy̵ ?]o# STa -.Ãe]4sZe -" -9SJı˥?0[aQ_8Cv%;6n^J`=[0<ˑ뇵♎z`p4E ޵2j 1n|Vy%8)xVu}ؔy?lCt­P{s<1$;h3 -ح(ЕZ%Oļǻ8vdyŊ) .CacPl)롅x%GeLŽLp;V Z?Z39{J,_`аru7O8IG##|Cq,E1mY6LsEI$ާd0 [=P ҵBKW*x^fơzvo\UXQ҄b/ -os -͆"Y'c 1>Py}@l*WHbW̏R=JN8K9#P=[g):u Ks]DK<|/!)q)@j@tVhR߫RHDŽGר"ˡS6ċ/Ï0;<TB Cыkuʦu XƓ"Ѳ0#l+je!X˗rn Q-'[ʂq#4Qr0kr#⼎H07ʈJzey8l%1^"%5GK|׮*dk_!K& 6P[f4tg[qJEk(/X$z,<|90d]3ϘpYD\NV#0:phFв=MKHT(츒-sQo̊T1RÎ,ۍCWLލ,4KOa۟M[_uCm\V÷mpΙw_zKendstream -endobj - -31831 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31832 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31833 0 obj -<> -endobj - -31834 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31835 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31836 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31837 0 obj -<> -stream -HWio۸_M& -W-`fI&EH@(l+#]\j|y"%u|xy.]V5_Oޞ]3~: f&VA(YHV_lq V06_fM%?+eU**g=iꝤ^1G/N8KX1Yc;ϛ\ci/Szjgͦ:J?{<0,ty(Ffd¹;~ͫݞ!8r X6GcB4e^Q@ -$go!g{>qD4҆r%f^b0'q9 ,ce!̲ څpc XP/P/PPPPPPoPoPo!>tԇQ#G}D>rDŽQcG}BO L' b̲\ZYcb̲k%ZYq$\1`ŘeJµ,BZIc"\1";k1fYzǵp-ƀEcEw\+ b̲k%ZfC-.nt}E[$]]6H ȇـ}ܛ;Q 7r$a$H}ΚpY`;f:ϖ.U'D1 -ϛMz1*5Lo["+<9Z@pm&7ElʮٞR)WW^dφ E%_[6̳ӢoUcE~5FZw&|tʜAJ|rﯯ>s>/E -Gh %&BsnOp&OEq Lk!DhjV. -Ip+eICL8.#X?R-ٹm,M|kdhe< 646!q`ߏBaA˙]&Y)c'H3zlgn c4¦`QC8pp:U :MO ❶"7^ Vxzݖ%, -Pyw3p_,8G;l`p-g\0 {H*4bJ K0]Zo)Ipc`,$\^ߜޟ\7o^4d kO2_%s}s޾>{a&{31+#e'/5)D4e:{ :6n-Oxݞ4OOL'(ۋWӉ9K2 ʌN-Wv'T]TH8[1ٙnRNzL3F雋}1fw~^ +vh@H\ήnMP2iEN/8j'$bLh:n]\AN.?ǣ_lUtU^ ZBAn)D݊+f j*<| D$'l-vhtC՗56Whv v]?3 KUv%KTPS..Ig`mkwlcS/& >rp4eNCfmin J w%@`hrb>C7=ot31DYU6e-C0 6az׹Bxj=R5_y@<8;۶7-]1Eov=d Zm[J/jC$:1GdEȋr?2`Iwڑ -ۢȬiMbHd,15>f(k<~-+ǫ/v:B>jsCjbCCrd_f(CһHyu(< Baay >5fzHфע -3 -B_M@EX<͛;H5qIw\@[T}StXhS'_X`]Y-FF)ƔA)j+cI$߈@1f?s` e{ZGFD|tr?b2{8t5 n"`P]z/( ?r")q`Za)Ow߯sTD -ó -\҅A٠IlDzE;RIxڬ3vHEruD83l;cT$q:H/Tqdo}uɩ|ؖo{2 -ö2D};F{?4aod*>n"x!!j+Vp,k.i ܞvEKQ)s[$kCƝf# 6;t(Wn y{ `t[p{+f&|5 NvdueR0>AJ?b~' aendstream -endobj - -31838 0 obj -<>/P 468 0 R/Type/Annot/A 41466 0 R/Subtype/Link/Rect[93.6014023 327.230988 252.014008 346.911011]/Border[0 0 0]/H/N>> -endobj - -31839 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31840 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31841 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31842 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31843 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31844 0 obj -<> -stream -HWoF6Rac8@6ć+Q2TDipGR޳q(R G}$Hp1>fc}'O s>ܧ}*O{'w̽ܳΆBi)Z!R Y=ŐS XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` Zh-Ő%gBk),CV Zh-֞ZK1dqZ!{Kh-Ő%g5Bk),=kZK1` Fh-Ő%g5Bk),CFh-ŀ%bܳCڳBk),bZK1dqCwO1` Vh-Ő%gBk),C -Vh-ŀ%bܳZC -R Y{Z+bܳZ[{Z!R Y=Ő;9gU}weZ*[x'(x󵊓7*[{r&v9S?j:;SGΏ;n^ߕѮɗcmr]]MFwY&:W_ͬW˗׿]\f}WST')mwokqyrDMO 2s]rGѴj+Fr&ܐNnjuZ3Շ{'%l{z`@g.u;8Qʍ\[2CFn+zϰrKW? ?mN KϢhHѰƖU6{:NWIZcpWEu&I,vX7 ]!^Zz!ҏi{0p a™d; -ݹ;B\bZVвL -ZiEVĴ"A+bZ3XЊV"h%L+ -Z)Ji9A1-'h9E1dq-+B -Z!҂fZZbB),A^ -{-bX{!KbB),A^ -{-bX{!kQ XB),A-{#bX{!Kb7B),A-{#bX{!Kb7B),A -ŀ%bX{!KbB),A --{+bX{!KbB),A --{+bX#!CעS Y\9A -ȼ,6 -^^T#O]km vo8La1T<ެf; I}[jུ-֪U5y/~zaj{PA5)4ԦE.ʪ:˲ATVcɶ.(x6 -V 0>[-햳Ÿp馨[&ɤ#|-odQKwM~kI{3|s㻥~n\0'Wցou47-.«'ռkwY%A:jSom4:i'K` ɮ;1>%23[ag5ܫ͙L>uSNXe3u4єEBO&k^a@k7;Ljon |ʢhmK#?h>F5o KiD<.vլ-ꤟG{sHkYH.X.iKouׂ;L )L4%t'xܑA:@ݠ;B|G,g ؑecq ME ־/31HvY5Qc}G#u[trn 9q4pRp.f7yU6zC: -#1j'Z9?9Ŋe$&eG]4u7drEqn䞁AZw(-iU T@F^_ rsI1[d,[@9>޿g# *UTAucMA-hʬ87M_к!m-&eQS!Nm/ǁypsL.~Fendstream -endobj - -31845 0 obj -<>/P 1264 0 R/Type/Annot/A 31846 0 R/Subtype/Link/Rect[93.6004028 256.528015 220.716995 276.208008]/Border[0 0 0]/H/N>> -endobj - -31846 0 obj -<> -endobj - -31847 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31848 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31849 0 obj -<> -endobj - -31850 0 obj -<> -endobj - -31851 0 obj -<> -endobj - -31852 0 obj -<> -endobj - -31853 0 obj -<> -endobj - -31854 0 obj -<> -endobj - -31855 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31856 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31857 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31858 0 obj -<> -stream -HW]o6}ׯУ 2?DI> ۠ XAApk;&H0A^.[ȺF{sE<iݫn4'dPiLl8ﶆEŗWP>ď_H# 淎d -8F")| 9PV8Ґa%P!Y!Y#y#y#y>Cg Q^^^sD}y@Q_ D}/eDԗzzfXzZ3PVǀ Q!1Bek} Xk}̰kZ3,D}Zǀ Q!1Bek} Xk}̰kZ3,D}Z#1 -a}̰B>,ĵ>fXq>p-G\cB\c\a!rĵ>,ĵ>fXq>p-G\cB\c\a!rĵ>VGZ3P qV +TcB\c\!1Ba!fk}̰k3ĵ>,ĵ>fXZ3,D} q q>pm Q6C\cu$a} Xk}̰B>fXzJ)Us[G6fbo%# ?4\ƛ:J^ +p韙%ߑ2lUtiӅ2s&c2o!^{||Xs |9TSZpPԮumuZj;quWW:5PDƲyҜd1U5 -,UMTqnx۝K5lKok5w͝w/Oz[_>êF&gEhJ+.*4Tms:f/m{8l{3YGx ;[k&m4B՞3|ti{=?nkQ}&z~emL 4FڦxnU.|\% 9t ֬GRmIIiXs)?O ^~4-!ܗ'F9Y-1^٨od -,Q9Y.'i+7Q$5niu:\"36 dY\s:霦4ݱ$)Tak͜;d ~@ ۑB4upD*r?~u<Ԝ"PNyA@%hcj WM!vWC%3J4*At{{W:-)/́#.cH'x jhtvo -(d_luc'mdn]5STU yI*|; iӡjv}1F% zۈ,vqi̶wUd -37T -̹n1K2X{/k7oHu# xC}8` Wp:;$% ybQpWqW(u.M>A;^o4~UOxx|ˉT|k2|d3ռg}}dE`nrJ -C_p8B-Tݞ];@]٩iۍlzzq u`Pr!z$)\^A2ʵ("\vB^.8Z2k8kmZ=O'NyU4dH7\A^F+.5ɏ=mU3Sfc~d2#+{Tnr@7S(juJ)s?UH?2|a1 UNH΍El[>\EWwLI&)+Lrҩ_ԻҸ9i7jBS!O3"{}Z<4 Su=2!\:3ch}Tm)UKY@yeO4EG\Tvˡl-'@KWy'ҷdz YM}۫u.%߄ӷ:wpU|<Ͻe*K1O<2i8əÒ)C=jT@ͷ{5Z!I1Oi,W )Oў&?c( -ݶ;e71R5nhhSHRƚ̈́# +8HrI{CDZ)624|v`hIN\/㫙)Ƽc^,hl|\- -lAB*f&Y20hʞ'43Q<_v,j >=cW 3J $2TU/f <íKaM*zQTl;M$]г.JxfoPy٢X@/fLjbӅzyBq'y%ȅ~։B --](!kH4Jw;}c3Ywx8>Ǭg$ 2[߾է|i%e[I`gL]Rl^`_#@Tؠp -*D1f8vϛYq;:*洝d^SIDu A - R@7ݸcMĉϙӜrZBp+O**!yʯ*O^K -ٞ]+&HFt_AptOh󠔡Dzk=azc!d0q_~dƋΊ'8~d5^IB7?K[Q'ӄ:ZwkvjiȯM1 4hccB8X -jάCUD綘0*ihM=!jVd(z w8NL,r2w[n`Iz[tE2W&e*_6m -A$ٻiLXݢva[2ΙDL}}}I&~i-g u +X;|juX0 TutA(da8_Xp\ȟǀ$q2ۺ!\$2EZplA`iqf\:9zY0xNZ0^1w"F*֢ۢ4260:,nB4(N9KcQpZ[NyA6^VtmcZT@T!RRʀͅdN+(a*K2ТS*&Ϫ+?< \ E_0t(½# -:7_[nU]Tީ\cb޾z|Ƚ.}˱>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -31860 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -31861 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -31862 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -31863 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -31864 0 obj -<> -stream -HWn9}(m/`qf5V.Xg xe9Q֒2<[[j"HG>:,֩b]m_.ǯgyg%t-xU[ɜUl3>UJήw_zXηŌmo7}}^MJ& -5r9dY ƫ VuZ`.&+"⿳%RdaKpnUAZbLe\XTcB\eԆ<\j9*!9(I{I{EW{EW{EW{M{M{C7{C7{C7{K{K{Gw{Gw{Gw{O{O@@4+Ѧe% զ6DSզ6DSr PjSj%Ԇ(}ZI6PmjC>S$TET+ զ6@Mm"gjSj%(B QLPmjC>S$Tږ"TOm"TOm٧6@Mm"gUjSj(B QLPmjC>S"TE6!`VMm"gUjSզ6D3*B QLPmj[VPmjCT>PmjCT>!*gE6!`VMm"gՄjSզ6D3jB QLPmjԆ(}ZM6!`VMm"TET զ6D3jBmYB Q9(B Q9Ԇ}Cqss^MJ&3yu`\V|\GlB>?&>\K+jlEI>|?28:wA>_CM7t~Q -!"BVG\Fu?omAhM&"ɚ >'("v0[wmeB]z} @zy5.֫@E7ox[u2"n^&\$?rG,`0{ʛ SN v(%}罅y_Tdı0bHxxx0xXtLi&!z7CcbĜI/%Zт9i: k)WJC@{J‰8qtSGt~)z -yJmTJ呗.٦ 5Q>/J 9J6M߿y WwOGm?GJ8г@aƵdo.(g53c`NGv޿i#sw7{(ABafy终mk>+7fϳs2WA#rl>z} -dcvXYۼuw{؛\u+ F(3 {6kJMMntx -q^\.-tG0ې'-;"b<:g_~l2͟l\>;li_fJN,Ԃ]!cu0b\Ih$ѶM'frem[a~.u7O1LM  JWWL 9t}o|ݍMf YKmaf&c;7_:*xc'l4؆?ߌ{3o52`UQPuif/'}'h&.V2h?8t" ́󷽌DO2*7s޽rܻϱ븂f!C ZLX/۟%r]\+{ʕO~1rEYh>y< Cr-PVAHխn6s+sϙ!xThO$4?aZlr&_燐^`PItwR?Eoj.9ȳc#?%rW -g G4S*QwG'T0+NVnyV؁q;[1kt1pG-p5߲ \n׳ct\-CNw\v:L1f0Sp흸 HVj7 v[H0\-MYN2KcOC2+΅lZzbJSm}^/-PUd7ZsIh6_Yڄ6}Jt>kc<ލwSzd ܴQ,/3L.yy4|T\|DةCH -?d"IQN$2NՇ -\ 9'M2s@ -F, ݲpYcz9TX,اJ]@zx^ͶM'C6v`Mݫ)GKEd -a8(D%NYqɉ0S$%6K=G^sQ#I~bLy_2 -^ˋ٧EU(Gj -ٕ//n -lt|"&I1bZ.R!c aM XI2+(1$xvuJVΘb\`|9ǭTKf2 LC:4Tb4ĖBS2:0>y{(YoEԛc/Dw6Qp}s_ -D@@¥f!#)ER߿:>1Ѿqj=Sg^TXʘdJ%TBzh~^ZV ahs1Ʈ7`MM5Z&ѯl\$7tU;zswKA[q0fVl~UaslcR#{SlVcJ;>L%st$茋~e){ߕ @qZ8UI`w^bkFPn\pFљ%h8:Z/Lj%+U;3e=SKw1;V*Kun?=t`իc'< P*Feo=1Atv5C&`N"Nq0F8]W*J`U,%t@r4şg|sZkѻwkOfǣ3EP <+rH}L=JL} J;cߕXs蝵u}!EM2:T@jv\n_5݈VT/X]=Nbqry@Rf._V<nM]W*nД'_^0f 5VY+v߰pna#j?˨} Q E:| ^YʼþmEj5__SyJ=QhO+7=?6m 2&hm,^f*+5WM4DS)A=i'!8xSI̴&|mXodh -:YV#>UgO2!p't5hGqq)ݾa,kk f kH.C)@@:c擆~zwxִeN;ޙD|*YH6D մ s9B5DM@C|X p݅tB?p@N-yyPxr*lOUJގ|H"ŦZ拋jv6ԃ %pͩ!}.gVQ$n:;ͭl$eץv:-_?tPS vF7NLR͕r\MX$(*Aoը:z\O#/tUhETAuqGTHǜN@Z,xL=N86?&~ n!r -c\Չ7HfhNo)krN yuKmiAfQkd'e˛yѣG 0dendstream -endobj - -31865 0 obj -<>/P 6038 0 R/Type/Annot/A 32479 0 R/Subtype/Link/Rect[176 670 192 678]/Border[0 0 0]/H/N>> -endobj - -31866 0 obj -<>/P 6038 0 R/Type/Annot/A 32476 0 R/Subtype/Link/Rect[193 670 205 677]/Border[0 0 0]/H/N>> -endobj - -31867 0 obj -<>/P 6038 0 R/Type/Annot/A 32473 0 R/Subtype/Link/Rect[185 660 191 667]/Border[0 0 0]/H/N>> -endobj - -31868 0 obj -<>/P 6038 0 R/Type/Annot/A 32470 0 R/Subtype/Link/Rect[193 660 206 668]/Border[0 0 0]/H/N>> -endobj - -31869 0 obj -<>/P 6038 0 R/Type/Annot/A 32466 0 R/Subtype/Link/Rect[207 660 215 667]/Border[0 0 0]/H/N>> -endobj - -31870 0 obj -<>/P 6038 0 R/Type/Annot/A 32462 0 R/Subtype/Link/Rect[202 650 214 657]/Border[0 0 0]/H/N>> -endobj - -31871 0 obj -<>/P 6038 0 R/Type/Annot/A 32458 0 R/Subtype/Link/Rect[192 640 202 647]/Border[0 0 0]/H/N>> -endobj - -31872 0 obj -<>/P 6038 0 R/Type/Annot/A 32454 0 R/Subtype/Link/Rect[204 640 217 648]/Border[0 0 0]/H/N>> -endobj - -31873 0 obj -<>/P 6038 0 R/Type/Annot/A 32450 0 R/Subtype/Link/Rect[217 640 227 647]/Border[0 0 0]/H/N>> -endobj - -31874 0 obj -<>/P 6038 0 R/Type/Annot/A 32446 0 R/Subtype/Link/Rect[229 640 239 647]/Border[0 0 0]/H/N>> -endobj - -31875 0 obj -<>/P 6038 0 R/Type/Annot/A 32442 0 R/Subtype/Link/Rect[241 640 258 648]/Border[0 0 0]/H/N>> -endobj - -31876 0 obj -<>/P 6038 0 R/Type/Annot/A 32438 0 R/Subtype/Link/Rect[259 640 273 647]/Border[0 0 0]/H/N>> -endobj - -31877 0 obj -<>/P 6038 0 R/Type/Annot/A 32435 0 R/Subtype/Link/Rect[275 640 289 647]/Border[0 0 0]/H/N>> -endobj - -31878 0 obj -<>/P 6038 0 R/Type/Annot/A 32432 0 R/Subtype/Link/Rect[151 630 167 638]/Border[0 0 0]/H/N>> -endobj - -31879 0 obj -<>/P 6038 0 R/Type/Annot/A 32428 0 R/Subtype/Link/Rect[168 630 182 637]/Border[0 0 0]/H/N>> -endobj - -31880 0 obj -<>/P 6038 0 R/Type/Annot/A 32424 0 R/Subtype/Link/Rect[184 630 198 637]/Border[0 0 0]/H/N>> -endobj - -31881 0 obj -<>/P 6038 0 R/Type/Annot/A 32420 0 R/Subtype/Link/Rect[200 630 214 637]/Border[0 0 0]/H/N>> -endobj - -31882 0 obj -<>/P 6038 0 R/Type/Annot/A 32416 0 R/Subtype/Link/Rect[216 630 230 637]/Border[0 0 0]/H/N>> -endobj - -31883 0 obj -<>/P 6038 0 R/Type/Annot/A 32412 0 R/Subtype/Link/Rect[232 630 246 637]/Border[0 0 0]/H/N>> -endobj - -31884 0 obj -<>/P 6038 0 R/Type/Annot/A 32407 0 R/Subtype/Link/Rect[248 630 262 637]/Border[0 0 0]/H/N>> -endobj - -31885 0 obj -<>/P 6038 0 R/Type/Annot/A 32403 0 R/Subtype/Link/Rect[264 630 278 637]/Border[0 0 0]/H/N>> -endobj - -31886 0 obj -<>/P 6038 0 R/Type/Annot/A 32399 0 R/Subtype/Link/Rect[280 630 294 637]/Border[0 0 0]/H/N>> -endobj - -31887 0 obj -<>/P 6038 0 R/Type/Annot/A 32395 0 R/Subtype/Link/Rect[151 620 167 628]/Border[0 0 0]/H/N>> -endobj - -31888 0 obj -<>/P 6038 0 R/Type/Annot/A 32392 0 R/Subtype/Link/Rect[168 620 181 627]/Border[0 0 0]/H/N>> -endobj - -31889 0 obj -<>/P 6038 0 R/Type/Annot/A 32388 0 R/Subtype/Link/Rect[183 620 200 628]/Border[0 0 0]/H/N>> -endobj - -31890 0 obj -<>/P 6038 0 R/Type/Annot/A 32384 0 R/Subtype/Link/Rect[201 620 215 627]/Border[0 0 0]/H/N>> -endobj - -31891 0 obj -<>/P 6038 0 R/Type/Annot/A 32380 0 R/Subtype/Link/Rect[217 620 233 628]/Border[0 0 0]/H/N>> -endobj - -31892 0 obj -<>/P 6038 0 R/Type/Annot/A 32378 0 R/Subtype/Link/Rect[234 620 248 627]/Border[0 0 0]/H/N>> -endobj - -31893 0 obj -<>/P 6038 0 R/Type/Annot/A 32375 0 R/Subtype/Link/Rect[250 620 264 627]/Border[0 0 0]/H/N>> -endobj - -31894 0 obj -<>/P 6038 0 R/Type/Annot/A 32371 0 R/Subtype/Link/Rect[266 620 283 628]/Border[0 0 0]/H/N>> -endobj - -31895 0 obj -<>/P 6038 0 R/Type/Annot/A 32368 0 R/Subtype/Link/Rect[283 620 297 627]/Border[0 0 0]/H/N>> -endobj - -31896 0 obj -<>/P 6038 0 R/Type/Annot/A 32364 0 R/Subtype/Link/Rect[151 610 167 618]/Border[0 0 0]/H/N>> -endobj - -31897 0 obj -<>/P 6038 0 R/Type/Annot/A 32361 0 R/Subtype/Link/Rect[168 610 180 617]/Border[0 0 0]/H/N>> -endobj - -31898 0 obj -<>/P 6038 0 R/Type/Annot/A 32357 0 R/Subtype/Link/Rect[189 600 197 607]/Border[0 0 0]/H/N>> -endobj - -31899 0 obj -<>/P 6038 0 R/Type/Annot/A 32354 0 R/Subtype/Link/Rect[197 590 209 597]/Border[0 0 0]/H/N>> -endobj - -31900 0 obj -<>/P 6038 0 R/Type/Annot/A 32350 0 R/Subtype/Link/Rect[197 580 211 587]/Border[0 0 0]/H/N>> -endobj - -31901 0 obj -<>/P 6038 0 R/Type/Annot/A 32346 0 R/Subtype/Link/Rect[213 580 227 587]/Border[0 0 0]/H/N>> -endobj - -31902 0 obj -<>/P 6038 0 R/Type/Annot/A 32342 0 R/Subtype/Link/Rect[229 580 241 587]/Border[0 0 0]/H/N>> -endobj - -31903 0 obj -<>/P 6038 0 R/Type/Annot/A 32338 0 R/Subtype/Link/Rect[226 570 238 577]/Border[0 0 0]/H/N>> -endobj - -31904 0 obj -<>/P 6038 0 R/Type/Annot/A 32335 0 R/Subtype/Link/Rect[197 560 211 567]/Border[0 0 0]/H/N>> -endobj - -31905 0 obj -<>/P 6038 0 R/Type/Annot/A 32332 0 R/Subtype/Link/Rect[213 560 225 567]/Border[0 0 0]/H/N>> -endobj - -31906 0 obj -<>/P 6038 0 R/Type/Annot/A 32329 0 R/Subtype/Link/Rect[235 550 247 557]/Border[0 0 0]/H/N>> -endobj - -31907 0 obj -<>/P 6038 0 R/Type/Annot/A 32326 0 R/Subtype/Link/Rect[194 540 204 547]/Border[0 0 0]/H/N>> -endobj - -31908 0 obj -<>/P 6038 0 R/Type/Annot/A 32323 0 R/Subtype/Link/Rect[206 540 216 547]/Border[0 0 0]/H/N>> -endobj - -31909 0 obj -<>/P 6038 0 R/Type/Annot/A 32320 0 R/Subtype/Link/Rect[218 540 232 547]/Border[0 0 0]/H/N>> -endobj - -31910 0 obj -<>/P 6038 0 R/Type/Annot/A 32317 0 R/Subtype/Link/Rect[234 540 248 547]/Border[0 0 0]/H/N>> -endobj - -31911 0 obj -<>/P 6038 0 R/Type/Annot/A 32314 0 R/Subtype/Link/Rect[250 540 266 548]/Border[0 0 0]/H/N>> -endobj - -31912 0 obj -<>/P 6038 0 R/Type/Annot/A 32311 0 R/Subtype/Link/Rect[267 540 281 547]/Border[0 0 0]/H/N>> -endobj - -31913 0 obj -<>/P 6038 0 R/Type/Annot/A 32308 0 R/Subtype/Link/Rect[283 540 297 547]/Border[0 0 0]/H/N>> -endobj - -31914 0 obj -<>/P 6038 0 R/Type/Annot/A 32305 0 R/Subtype/Link/Rect[151 530 165 537]/Border[0 0 0]/H/N>> -endobj - -31915 0 obj -<>/P 6038 0 R/Type/Annot/A 32302 0 R/Subtype/Link/Rect[167 530 181 537]/Border[0 0 0]/H/N>> -endobj - -31916 0 obj -<>/P 6038 0 R/Type/Annot/A 32299 0 R/Subtype/Link/Rect[183 530 197 537]/Border[0 0 0]/H/N>> -endobj - -31917 0 obj -<>/P 6038 0 R/Type/Annot/A 32296 0 R/Subtype/Link/Rect[199 530 213 537]/Border[0 0 0]/H/N>> -endobj - -31918 0 obj -<>/P 6038 0 R/Type/Annot/A 32293 0 R/Subtype/Link/Rect[215 530 231 538]/Border[0 0 0]/H/N>> -endobj - -31919 0 obj -<>/P 6038 0 R/Type/Annot/A 32290 0 R/Subtype/Link/Rect[232 530 246 537]/Border[0 0 0]/H/N>> -endobj - -31920 0 obj -<>/P 6038 0 R/Type/Annot/A 32287 0 R/Subtype/Link/Rect[248 530 262 537]/Border[0 0 0]/H/N>> -endobj - -31921 0 obj -<>/P 6038 0 R/Type/Annot/A 32285 0 R/Subtype/Link/Rect[264 530 276 537]/Border[0 0 0]/H/N>> -endobj - -31922 0 obj -<>/P 6038 0 R/Type/Annot/A 32282 0 R/Subtype/Link/Rect[202 520 212 527]/Border[0 0 0]/H/N>> -endobj - -31923 0 obj -<>/P 6038 0 R/Type/Annot/A 32279 0 R/Subtype/Link/Rect[214 520 224 527]/Border[0 0 0]/H/N>> -endobj - -31924 0 obj -<>/P 6038 0 R/Type/Annot/A 32276 0 R/Subtype/Link/Rect[226 520 236 527]/Border[0 0 0]/H/N>> -endobj - -31925 0 obj -<>/P 6038 0 R/Type/Annot/A 32274 0 R/Subtype/Link/Rect[238 520 250 527]/Border[0 0 0]/H/N>> -endobj - -31926 0 obj -<>/P 6038 0 R/Type/Annot/A 32272 0 R/Subtype/Link/Rect[256 510 272 518]/Border[0 0 0]/H/N>> -endobj - -31927 0 obj -<>/P 6038 0 R/Type/Annot/A 32269 0 R/Subtype/Link/Rect[273 510 287 517]/Border[0 0 0]/H/N>> -endobj - -31928 0 obj -<>/P 6038 0 R/Type/Annot/A 32266 0 R/Subtype/Link/Rect[151 500 167 508]/Border[0 0 0]/H/N>> -endobj - -31929 0 obj -<>/P 6038 0 R/Type/Annot/A 32263 0 R/Subtype/Link/Rect[168 500 180 507]/Border[0 0 0]/H/N>> -endobj - -31930 0 obj -<>/P 6038 0 R/Type/Annot/A 32260 0 R/Subtype/Link/Rect[182 490 198 498]/Border[0 0 0]/H/N>> -endobj - -31931 0 obj -<>/P 6038 0 R/Type/Annot/A 32258 0 R/Subtype/Link/Rect[199 490 211 497]/Border[0 0 0]/H/N>> -endobj - -31932 0 obj -<>/P 6038 0 R/Type/Annot/A 32256 0 R/Subtype/Link/Rect[158 480 174 488]/Border[0 0 0]/H/N>> -endobj - -31933 0 obj -<>/P 6038 0 R/Type/Annot/A 32254 0 R/Subtype/Link/Rect[175 480 189 487]/Border[0 0 0]/H/N>> -endobj - -31934 0 obj -<>/P 6038 0 R/Type/Annot/A 32252 0 R/Subtype/Link/Rect[191 480 205 487]/Border[0 0 0]/H/N>> -endobj - -31935 0 obj -<>/P 6038 0 R/Type/Annot/A 32250 0 R/Subtype/Link/Rect[207 480 221 487]/Border[0 0 0]/H/N>> -endobj - -31936 0 obj -<>/P 6038 0 R/Type/Annot/A 32248 0 R/Subtype/Link/Rect[223 480 235 487]/Border[0 0 0]/H/N>> -endobj - -31937 0 obj -<>/P 6038 0 R/Type/Annot/A 32246 0 R/Subtype/Link/Rect[158 470 175 478]/Border[0 0 0]/H/N>> -endobj - -31938 0 obj -<>/P 6038 0 R/Type/Annot/A 32244 0 R/Subtype/Link/Rect[175 470 187 477]/Border[0 0 0]/H/N>> -endobj - -31939 0 obj -<>/P 6038 0 R/Type/Annot/A 32242 0 R/Subtype/Link/Rect[211 460 225 467]/Border[0 0 0]/H/N>> -endobj - -31940 0 obj -<>/P 6038 0 R/Type/Annot/A 32240 0 R/Subtype/Link/Rect[227 460 241 467]/Border[0 0 0]/H/N>> -endobj - -31941 0 obj -<>/P 6038 0 R/Type/Annot/A 32238 0 R/Subtype/Link/Rect[243 460 255 467]/Border[0 0 0]/H/N>> -endobj - -31942 0 obj -<>/P 6038 0 R/Type/Annot/A 32236 0 R/Subtype/Link/Rect[207 450 219 457]/Border[0 0 0]/H/N>> -endobj - -31943 0 obj -<>/P 6038 0 R/Type/Annot/A 32234 0 R/Subtype/Link/Rect[216 440 233 448]/Border[0 0 0]/H/N>> -endobj - -31944 0 obj -<>/P 6038 0 R/Type/Annot/A 32232 0 R/Subtype/Link/Rect[233 440 247 447]/Border[0 0 0]/H/N>> -endobj - -31945 0 obj -<>/P 6038 0 R/Type/Annot/A 32230 0 R/Subtype/Link/Rect[249 440 266 448]/Border[0 0 0]/H/N>> -endobj - -31946 0 obj -<>/P 6038 0 R/Type/Annot/A 32228 0 R/Subtype/Link/Rect[267 440 279 447]/Border[0 0 0]/H/N>> -endobj - -31947 0 obj -<>/P 6038 0 R/Type/Annot/A 32226 0 R/Subtype/Link/Rect[208 430 222 437]/Border[0 0 0]/H/N>> -endobj - -31948 0 obj -<>/P 6038 0 R/Type/Annot/A 32223 0 R/Subtype/Link/Rect[224 430 238 437]/Border[0 0 0]/H/N>> -endobj - -31949 0 obj -<>/P 6038 0 R/Type/Annot/A 32221 0 R/Subtype/Link/Rect[240 430 254 437]/Border[0 0 0]/H/N>> -endobj - -31950 0 obj -<>/P 6038 0 R/Type/Annot/A 32219 0 R/Subtype/Link/Rect[256 430 270 437]/Border[0 0 0]/H/N>> -endobj - -31951 0 obj -<>/P 6038 0 R/Type/Annot/A 32217 0 R/Subtype/Link/Rect[272 430 284 437]/Border[0 0 0]/H/N>> -endobj - -31952 0 obj -<>/P 6038 0 R/Type/Annot/A 32215 0 R/Subtype/Link/Rect[221 420 238 428]/Border[0 0 0]/H/N>> -endobj - -31953 0 obj -<>/P 6038 0 R/Type/Annot/A 32212 0 R/Subtype/Link/Rect[238 420 252 427]/Border[0 0 0]/H/N>> -endobj - -31954 0 obj -<>/P 6038 0 R/Type/Annot/A 32210 0 R/Subtype/Link/Rect[254 420 268 427]/Border[0 0 0]/H/N>> -endobj - -31955 0 obj -<>/P 6038 0 R/Type/Annot/A 32208 0 R/Subtype/Link/Rect[270 420 284 427]/Border[0 0 0]/H/N>> -endobj - -31956 0 obj -<>/P 6038 0 R/Type/Annot/A 32205 0 R/Subtype/Link/Rect[286 420 298 427]/Border[0 0 0]/H/N>> -endobj - -31957 0 obj -<>/P 6038 0 R/Type/Annot/A 32202 0 R/Subtype/Link/Rect[193 410 205 417]/Border[0 0 0]/H/N>> -endobj - -31958 0 obj -<>/P 6038 0 R/Type/Annot/A 32200 0 R/Subtype/Link/Rect[207 400 223 408]/Border[0 0 0]/H/N>> -endobj - -31959 0 obj -<>/P 6038 0 R/Type/Annot/A 32199 0 R/Subtype/Link/Rect[224 400 238 407]/Border[0 0 0]/H/N>> -endobj - -31960 0 obj -<>/P 6038 0 R/Type/Annot/A 32197 0 R/Subtype/Link/Rect[240 400 254 407]/Border[0 0 0]/H/N>> -endobj - -31961 0 obj -<>/P 6038 0 R/Type/Annot/A 32195 0 R/Subtype/Link/Rect[256 400 273 408]/Border[0 0 0]/H/N>> -endobj - -31962 0 obj -<>/P 6038 0 R/Type/Annot/A 32193 0 R/Subtype/Link/Rect[273 400 285 407]/Border[0 0 0]/H/N>> -endobj - -31963 0 obj -<>/P 6038 0 R/Type/Annot/A 32191 0 R/Subtype/Link/Rect[188 390 202 397]/Border[0 0 0]/H/N>> -endobj - -31964 0 obj -<>/P 6038 0 R/Type/Annot/A 32189 0 R/Subtype/Link/Rect[204 390 216 397]/Border[0 0 0]/H/N>> -endobj - -31965 0 obj -<>/P 6038 0 R/Type/Annot/A 32187 0 R/Subtype/Link/Rect[202 380 218 388]/Border[0 0 0]/H/N>> -endobj - -31966 0 obj -<>/P 6038 0 R/Type/Annot/A 32478 0 R/Subtype/Link/Rect[219 380 233 387]/Border[0 0 0]/H/N>> -endobj - -31967 0 obj -<>/P 6038 0 R/Type/Annot/A 32475 0 R/Subtype/Link/Rect[235 380 249 387]/Border[0 0 0]/H/N>> -endobj - -31968 0 obj -<>/P 6038 0 R/Type/Annot/A 32472 0 R/Subtype/Link/Rect[251 380 263 387]/Border[0 0 0]/H/N>> -endobj - -31969 0 obj -<>/P 6038 0 R/Type/Annot/A 32469 0 R/Subtype/Link/Rect[207 370 223 378]/Border[0 0 0]/H/N>> -endobj - -31970 0 obj -<>/P 6038 0 R/Type/Annot/A 32465 0 R/Subtype/Link/Rect[224 370 238 377]/Border[0 0 0]/H/N>> -endobj - -31971 0 obj -<>/P 6038 0 R/Type/Annot/A 32461 0 R/Subtype/Link/Rect[240 370 254 377]/Border[0 0 0]/H/N>> -endobj - -31972 0 obj -<>/P 6038 0 R/Type/Annot/A 32457 0 R/Subtype/Link/Rect[256 370 268 377]/Border[0 0 0]/H/N>> -endobj - -31973 0 obj -<>/P 6038 0 R/Type/Annot/A 32453 0 R/Subtype/Link/Rect[245 360 262 368]/Border[0 0 0]/H/N>> -endobj - -31974 0 obj -<>/P 6038 0 R/Type/Annot/A 32449 0 R/Subtype/Link/Rect[263 360 275 367]/Border[0 0 0]/H/N>> -endobj - -31975 0 obj -<>/P 6038 0 R/Type/Annot/A 32445 0 R/Subtype/Link/Rect[186 350 198 357]/Border[0 0 0]/H/N>> -endobj - -31976 0 obj -<>/P 6038 0 R/Type/Annot/A 32441 0 R/Subtype/Link/Rect[204 340 218 347]/Border[0 0 0]/H/N>> -endobj - -31977 0 obj -<>/P 6038 0 R/Type/Annot/A 32437 0 R/Subtype/Link/Rect[220 340 234 347]/Border[0 0 0]/H/N>> -endobj - -31978 0 obj -<>/P 6038 0 R/Type/Annot/A 32434 0 R/Subtype/Link/Rect[236 340 250 347]/Border[0 0 0]/H/N>> -endobj - -31979 0 obj -<>/P 6038 0 R/Type/Annot/A 32430 0 R/Subtype/Link/Rect[252 340 266 347]/Border[0 0 0]/H/N>> -endobj - -31980 0 obj -<>/P 6038 0 R/Type/Annot/A 32426 0 R/Subtype/Link/Rect[268 340 280 347]/Border[0 0 0]/H/N>> -endobj - -31981 0 obj -<>/P 6038 0 R/Type/Annot/A 32422 0 R/Subtype/Link/Rect[226 330 238 337]/Border[0 0 0]/H/N>> -endobj - -31982 0 obj -<>/P 6038 0 R/Type/Annot/A 32418 0 R/Subtype/Link/Rect[216 320 230 327]/Border[0 0 0]/H/N>> -endobj - -31983 0 obj -<>/P 6038 0 R/Type/Annot/A 32414 0 R/Subtype/Link/Rect[232 320 244 327]/Border[0 0 0]/H/N>> -endobj - -31984 0 obj -<>/P 6038 0 R/Type/Annot/A 32409 0 R/Subtype/Link/Rect[226 310 238 317]/Border[0 0 0]/H/N>> -endobj - -31985 0 obj -<>/P 6038 0 R/Type/Annot/A 32405 0 R/Subtype/Link/Rect[221 300 235 307]/Border[0 0 0]/H/N>> -endobj - -31986 0 obj -<>/P 6038 0 R/Type/Annot/A 32401 0 R/Subtype/Link/Rect[237 300 249 307]/Border[0 0 0]/H/N>> -endobj - -31987 0 obj -<>/P 6038 0 R/Type/Annot/A 32397 0 R/Subtype/Link/Rect[221 290 235 297]/Border[0 0 0]/H/N>> -endobj - -31988 0 obj -<>/P 6038 0 R/Type/Annot/A 32393 0 R/Subtype/Link/Rect[237 290 251 297]/Border[0 0 0]/H/N>> -endobj - -31989 0 obj -<>/P 6038 0 R/Type/Annot/A 32389 0 R/Subtype/Link/Rect[253 290 265 297]/Border[0 0 0]/H/N>> -endobj - -31990 0 obj -<>/P 6038 0 R/Type/Annot/A 32385 0 R/Subtype/Link/Rect[221 280 235 287]/Border[0 0 0]/H/N>> -endobj - -31991 0 obj -<>/P 6038 0 R/Type/Annot/A 32381 0 R/Subtype/Link/Rect[237 280 249 287]/Border[0 0 0]/H/N>> -endobj - -31992 0 obj -<>/P 6038 0 R/Type/Annot/A 32225 0 R/Subtype/Link/Rect[197 270 214 278]/Border[0 0 0]/H/N>> -endobj - -31993 0 obj -<>/P 6038 0 R/Type/Annot/A 32374 0 R/Subtype/Link/Rect[214 270 226 277]/Border[0 0 0]/H/N>> -endobj - -31994 0 obj -<>/P 6038 0 R/Type/Annot/A 32370 0 R/Subtype/Link/Rect[151 260 159 267]/Border[0 0 0]/H/N>> -endobj - -31995 0 obj -<>/P 6038 0 R/Type/Annot/A 32366 0 R/Subtype/Link/Rect[202 250 214 257]/Border[0 0 0]/H/N>> -endobj - -31996 0 obj -<>/P 6038 0 R/Type/Annot/A 32363 0 R/Subtype/Link/Rect[197 240 211 247]/Border[0 0 0]/H/N>> -endobj - -31997 0 obj -<>/P 6038 0 R/Type/Annot/A 32360 0 R/Subtype/Link/Rect[213 240 227 247]/Border[0 0 0]/H/N>> -endobj - -31998 0 obj -<>/P 6038 0 R/Type/Annot/A 32356 0 R/Subtype/Link/Rect[229 240 245 248]/Border[0 0 0]/H/N>> -endobj - -31999 0 obj -<>/P 6038 0 R/Type/Annot/A 32353 0 R/Subtype/Link/Rect[246 240 260 247]/Border[0 0 0]/H/N>> -endobj - -32000 0 obj -<>/P 6038 0 R/Type/Annot/A 32349 0 R/Subtype/Link/Rect[262 240 276 247]/Border[0 0 0]/H/N>> -endobj - -32001 0 obj -<>/P 6038 0 R/Type/Annot/A 32345 0 R/Subtype/Link/Rect[278 240 292 247]/Border[0 0 0]/H/N>> -endobj - -32002 0 obj -<>/P 6038 0 R/Type/Annot/A 32341 0 R/Subtype/Link/Rect[294 240 306 247]/Border[0 0 0]/H/N>> -endobj - -32003 0 obj -<>/P 6038 0 R/Type/Annot/A 32337 0 R/Subtype/Link/Rect[189 230 201 237]/Border[0 0 0]/H/N>> -endobj - -32004 0 obj -<>/P 6038 0 R/Type/Annot/A 32334 0 R/Subtype/Link/Rect[202 220 218 228]/Border[0 0 0]/H/N>> -endobj - -32005 0 obj -<>/P 6038 0 R/Type/Annot/A 32331 0 R/Subtype/Link/Rect[219 220 231 227]/Border[0 0 0]/H/N>> -endobj - -32006 0 obj -<>/P 6038 0 R/Type/Annot/A 32328 0 R/Subtype/Link/Rect[207 210 219 217]/Border[0 0 0]/H/N>> -endobj - -32007 0 obj -<>/P 6038 0 R/Type/Annot/A 32325 0 R/Subtype/Link/Rect[187 200 201 207]/Border[0 0 0]/H/N>> -endobj - -32008 0 obj -<>/P 6038 0 R/Type/Annot/A 32322 0 R/Subtype/Link/Rect[203 200 217 207]/Border[0 0 0]/H/N>> -endobj - -32009 0 obj -<>/P 6038 0 R/Type/Annot/A 32319 0 R/Subtype/Link/Rect[219 200 236 208]/Border[0 0 0]/H/N>> -endobj - -32010 0 obj -<>/P 6038 0 R/Type/Annot/A 32316 0 R/Subtype/Link/Rect[237 200 251 207]/Border[0 0 0]/H/N>> -endobj - -32011 0 obj -<>/P 6038 0 R/Type/Annot/A 32313 0 R/Subtype/Link/Rect[253 200 267 207]/Border[0 0 0]/H/N>> -endobj - -32012 0 obj -<>/P 6038 0 R/Type/Annot/A 32310 0 R/Subtype/Link/Rect[269 200 285 208]/Border[0 0 0]/H/N>> -endobj - -32013 0 obj -<>/P 6038 0 R/Type/Annot/A 32307 0 R/Subtype/Link/Rect[286 200 298 207]/Border[0 0 0]/H/N>> -endobj - -32014 0 obj -<>/P 6038 0 R/Type/Annot/A 32304 0 R/Subtype/Link/Rect[169 180 182 188]/Border[0 0 0]/H/N>> -endobj - -32015 0 obj -<>/P 6038 0 R/Type/Annot/A 32301 0 R/Subtype/Link/Rect[183 180 193 187]/Border[0 0 0]/H/N>> -endobj - -32016 0 obj -<>/P 6038 0 R/Type/Annot/A 32298 0 R/Subtype/Link/Rect[195 180 207 187]/Border[0 0 0]/H/N>> -endobj - -32017 0 obj -<>/P 6038 0 R/Type/Annot/A 32295 0 R/Subtype/Link/Rect[156 170 169 178]/Border[0 0 0]/H/N>> -endobj - -32018 0 obj -<>/P 6038 0 R/Type/Annot/A 32292 0 R/Subtype/Link/Rect[169 170 179 177]/Border[0 0 0]/H/N>> -endobj - -32019 0 obj -<>/P 6038 0 R/Type/Annot/A 32289 0 R/Subtype/Link/Rect[181 170 195 177]/Border[0 0 0]/H/N>> -endobj - -32020 0 obj -<>/P 6038 0 R/Type/Annot/A 32286 0 R/Subtype/Link/Rect[197 170 209 177]/Border[0 0 0]/H/N>> -endobj - -32021 0 obj -<>/P 6038 0 R/Type/Annot/A 32283 0 R/Subtype/Link/Rect[210 160 218 167]/Border[0 0 0]/H/N>> -endobj - -32022 0 obj -<>/P 6038 0 R/Type/Annot/A 32280 0 R/Subtype/Link/Rect[245 150 259 157]/Border[0 0 0]/H/N>> -endobj - -32023 0 obj -<>/P 6038 0 R/Type/Annot/A 32277 0 R/Subtype/Link/Rect[261 150 273 157]/Border[0 0 0]/H/N>> -endobj - -32024 0 obj -<>/P 6038 0 R/Type/Annot/A 32411 0 R/Subtype/Link/Rect[410 670 426 678]/Border[0 0 0]/H/N>> -endobj - -32025 0 obj -<>/P 6038 0 R/Type/Annot/A 32271 0 R/Subtype/Link/Rect[427 670 439 677]/Border[0 0 0]/H/N>> -endobj - -32026 0 obj -<>/P 6038 0 R/Type/Annot/A 32268 0 R/Subtype/Link/Rect[405 660 419 667]/Border[0 0 0]/H/N>> -endobj - -32027 0 obj -<>/P 6038 0 R/Type/Annot/A 32265 0 R/Subtype/Link/Rect[421 660 435 667]/Border[0 0 0]/H/N>> -endobj - -32028 0 obj -<>/P 6038 0 R/Type/Annot/A 32262 0 R/Subtype/Link/Rect[437 660 451 667]/Border[0 0 0]/H/N>> -endobj - -32029 0 obj -<>/P 6038 0 R/Type/Annot/A 32259 0 R/Subtype/Link/Rect[453 660 470 668]/Border[0 0 0]/H/N>> -endobj - -32030 0 obj -<>/P 6038 0 R/Type/Annot/A 32257 0 R/Subtype/Link/Rect[470 660 482 667]/Border[0 0 0]/H/N>> -endobj - -32031 0 obj -<>/P 6038 0 R/Type/Annot/A 32255 0 R/Subtype/Link/Rect[458 650 472 657]/Border[0 0 0]/H/N>> -endobj - -32032 0 obj -<>/P 6038 0 R/Type/Annot/A 32253 0 R/Subtype/Link/Rect[474 650 486 657]/Border[0 0 0]/H/N>> -endobj - -32033 0 obj -<>/P 6038 0 R/Type/Annot/A 32251 0 R/Subtype/Link/Rect[400 640 414 647]/Border[0 0 0]/H/N>> -endobj - -32034 0 obj -<>/P 6038 0 R/Type/Annot/A 32249 0 R/Subtype/Link/Rect[416 640 428 647]/Border[0 0 0]/H/N>> -endobj - -32035 0 obj -<>/P 6038 0 R/Type/Annot/A 32247 0 R/Subtype/Link/Rect[400 630 414 637]/Border[0 0 0]/H/N>> -endobj - -32036 0 obj -<>/P 6038 0 R/Type/Annot/A 32245 0 R/Subtype/Link/Rect[416 630 428 637]/Border[0 0 0]/H/N>> -endobj - -32037 0 obj -<>/P 6038 0 R/Type/Annot/A 32243 0 R/Subtype/Link/Rect[400 620 414 627]/Border[0 0 0]/H/N>> -endobj - -32038 0 obj -<>/P 6038 0 R/Type/Annot/A 32241 0 R/Subtype/Link/Rect[416 620 428 627]/Border[0 0 0]/H/N>> -endobj - -32039 0 obj -<>/P 6038 0 R/Type/Annot/A 32239 0 R/Subtype/Link/Rect[400 610 414 617]/Border[0 0 0]/H/N>> -endobj - -32040 0 obj -<>/P 6038 0 R/Type/Annot/A 32237 0 R/Subtype/Link/Rect[416 610 433 618]/Border[0 0 0]/H/N>> -endobj - -32041 0 obj -<>/P 6038 0 R/Type/Annot/A 32235 0 R/Subtype/Link/Rect[433 610 447 617]/Border[0 0 0]/H/N>> -endobj - -32042 0 obj -<>/P 6038 0 R/Type/Annot/A 32233 0 R/Subtype/Link/Rect[449 610 461 617]/Border[0 0 0]/H/N>> -endobj - -32043 0 obj -<>/P 6038 0 R/Type/Annot/A 32231 0 R/Subtype/Link/Rect[395 600 409 607]/Border[0 0 0]/H/N>> -endobj - -32044 0 obj -<>/P 6038 0 R/Type/Annot/A 32229 0 R/Subtype/Link/Rect[411 600 428 608]/Border[0 0 0]/H/N>> -endobj - -32045 0 obj -<>/P 6038 0 R/Type/Annot/A 32227 0 R/Subtype/Link/Rect[429 600 443 607]/Border[0 0 0]/H/N>> -endobj - -32046 0 obj -<>/P 6038 0 R/Type/Annot/A 32224 0 R/Subtype/Link/Rect[445 600 459 607]/Border[0 0 0]/H/N>> -endobj - -32047 0 obj -<>/P 6038 0 R/Type/Annot/A 32222 0 R/Subtype/Link/Rect[461 600 477 608]/Border[0 0 0]/H/N>> -endobj - -32048 0 obj -<>/P 6038 0 R/Type/Annot/A 32220 0 R/Subtype/Link/Rect[478 600 490 607]/Border[0 0 0]/H/N>> -endobj - -32049 0 obj -<>/P 6038 0 R/Type/Annot/A 32218 0 R/Subtype/Link/Rect[372 557 384 564]/Border[0 0 0]/H/N>> -endobj - -32050 0 obj -<>/P 6038 0 R/Type/Annot/A 32216 0 R/Subtype/Link/Rect[413 547 427 554]/Border[0 0 0]/H/N>> -endobj - -32051 0 obj -<>/P 6038 0 R/Type/Annot/A 32213 0 R/Subtype/Link/Rect[429 547 443 554]/Border[0 0 0]/H/N>> -endobj - -32052 0 obj -<>/P 6038 0 R/Type/Annot/A 32211 0 R/Subtype/Link/Rect[445 547 459 554]/Border[0 0 0]/H/N>> -endobj - -32053 0 obj -<>/P 6038 0 R/Type/Annot/A 32209 0 R/Subtype/Link/Rect[461 547 473 554]/Border[0 0 0]/H/N>> -endobj - -32054 0 obj -<>/P 6038 0 R/Type/Annot/A 32206 0 R/Subtype/Link/Rect[381 537 397 545]/Border[0 0 0]/H/N>> -endobj - -32055 0 obj -<>/P 6038 0 R/Type/Annot/A 32203 0 R/Subtype/Link/Rect[398 537 410 544]/Border[0 0 0]/H/N>> -endobj - -32056 0 obj -<>/P 6038 0 R/Type/Annot/A 32485 0 R/Subtype/Link/Rect[370 527 384 534]/Border[0 0 0]/H/N>> -endobj - -32057 0 obj -<>/P 6038 0 R/Type/Annot/A 32198 0 R/Subtype/Link/Rect[386 527 400 534]/Border[0 0 0]/H/N>> -endobj - -32058 0 obj -<>/P 6038 0 R/Type/Annot/A 32196 0 R/Subtype/Link/Rect[402 527 419 535]/Border[0 0 0]/H/N>> -endobj - -32059 0 obj -<>/P 6038 0 R/Type/Annot/A 32194 0 R/Subtype/Link/Rect[420 527 434 534]/Border[0 0 0]/H/N>> -endobj - -32060 0 obj -<>/P 6038 0 R/Type/Annot/A 32192 0 R/Subtype/Link/Rect[436 527 450 534]/Border[0 0 0]/H/N>> -endobj - -32061 0 obj -<>/P 6038 0 R/Type/Annot/A 32190 0 R/Subtype/Link/Rect[452 527 466 534]/Border[0 0 0]/H/N>> -endobj - -32062 0 obj -<>/P 6038 0 R/Type/Annot/A 32188 0 R/Subtype/Link/Rect[468 527 482 534]/Border[0 0 0]/H/N>> -endobj - -32063 0 obj -<>/P 6038 0 R/Type/Annot/A 32186 0 R/Subtype/Link/Rect[484 527 498 534]/Border[0 0 0]/H/N>> -endobj - -32064 0 obj -<>/P 6038 0 R/Type/Annot/A 32468 0 R/Subtype/Link/Rect[359 517 375 525]/Border[0 0 0]/H/N>> -endobj - -32065 0 obj -<>/P 6038 0 R/Type/Annot/A 32464 0 R/Subtype/Link/Rect[376 517 388 524]/Border[0 0 0]/H/N>> -endobj - -32066 0 obj -<>/P 6038 0 R/Type/Annot/A 32460 0 R/Subtype/Link/Rect[378 507 395 515]/Border[0 0 0]/H/N>> -endobj - -32067 0 obj -<>/P 6038 0 R/Type/Annot/A 32456 0 R/Subtype/Link/Rect[396 507 408 514]/Border[0 0 0]/H/N>> -endobj - -32068 0 obj -<>/P 6038 0 R/Type/Annot/A 32452 0 R/Subtype/Link/Rect[392 497 409 505]/Border[0 0 0]/H/N>> -endobj - -32069 0 obj -<>/P 6038 0 R/Type/Annot/A 32448 0 R/Subtype/Link/Rect[410 497 424 504]/Border[0 0 0]/H/N>> -endobj - -32070 0 obj -<>/P 6038 0 R/Type/Annot/A 32443 0 R/Subtype/Link/Rect[426 497 442 505]/Border[0 0 0]/H/N>> -endobj - -32071 0 obj -<>/P 6038 0 R/Type/Annot/A 32439 0 R/Subtype/Link/Rect[443 497 457 504]/Border[0 0 0]/H/N>> -endobj - -32072 0 obj -<>/P 6038 0 R/Type/Annot/A 39510 0 R/Subtype/Link/Rect[459 497 471 504]/Border[0 0 0]/H/N>> -endobj - -32073 0 obj -<>/P 6038 0 R/Type/Annot/A 32431 0 R/Subtype/Link/Rect[471 487 483 494]/Border[0 0 0]/H/N>> -endobj - -32074 0 obj -<>/P 6038 0 R/Type/Annot/A 32427 0 R/Subtype/Link/Rect[414 477 426 484]/Border[0 0 0]/H/N>> -endobj - -32075 0 obj -<>/P 6038 0 R/Type/Annot/A 32423 0 R/Subtype/Link/Rect[397 467 409 474]/Border[0 0 0]/H/N>> -endobj - -32076 0 obj -<>/P 6038 0 R/Type/Annot/A 32419 0 R/Subtype/Link/Rect[471 457 483 464]/Border[0 0 0]/H/N>> -endobj - -32077 0 obj -<>/P 6038 0 R/Type/Annot/A 32415 0 R/Subtype/Link/Rect[424 447 436 454]/Border[0 0 0]/H/N>> -endobj - -32078 0 obj -<>/P 6038 0 R/Type/Annot/A 32410 0 R/Subtype/Link/Rect[397 437 409 444]/Border[0 0 0]/H/N>> -endobj - -32079 0 obj -<>/P 6038 0 R/Type/Annot/A 32406 0 R/Subtype/Link/Rect[382 427 390 434]/Border[0 0 0]/H/N>> -endobj - -32080 0 obj -<>/P 6038 0 R/Type/Annot/A 32402 0 R/Subtype/Link/Rect[385 417 393 424]/Border[0 0 0]/H/N>> -endobj - -32081 0 obj -<>/P 6038 0 R/Type/Annot/A 32398 0 R/Subtype/Link/Rect[392 407 404 414]/Border[0 0 0]/H/N>> -endobj - -32082 0 obj -<>/P 6038 0 R/Type/Annot/A 32394 0 R/Subtype/Link/Rect[386 364 398 372]/Border[0 0 0]/H/N>> -endobj - -32083 0 obj -<>/P 6038 0 R/Type/Annot/A 32391 0 R/Subtype/Link/Rect[399 364 409 371]/Border[0 0 0]/H/N>> -endobj - -32084 0 obj -<>/P 6038 0 R/Type/Annot/A 32387 0 R/Subtype/Link/Rect[411 364 421 371]/Border[0 0 0]/H/N>> -endobj - -32085 0 obj -<>/P 6038 0 R/Type/Annot/A 32383 0 R/Subtype/Link/Rect[423 364 436 371]/Border[0 0 0]/H/N>> -endobj - -32086 0 obj -<>/P 6038 0 R/Type/Annot/A 32379 0 R/Subtype/Link/Rect[438 364 452 371]/Border[0 0 0]/H/N>> -endobj - -32087 0 obj -<>/P 6038 0 R/Type/Annot/A 32376 0 R/Subtype/Link/Rect[454 364 468 371]/Border[0 0 0]/H/N>> -endobj - -32088 0 obj -<>/P 6038 0 R/Type/Annot/A 32207 0 R/Subtype/Link/Rect[470 364 484 371]/Border[0 0 0]/H/N>> -endobj - -32089 0 obj -<>/P 6038 0 R/Type/Annot/A 32367 0 R/Subtype/Link/Rect[486 364 500 371]/Border[0 0 0]/H/N>> -endobj - -32090 0 obj -<>/P 6038 0 R/Type/Annot/A 32201 0 R/Subtype/Link/Rect[502 364 514 371]/Border[0 0 0]/H/N>> -endobj - -32091 0 obj -<>/P 6038 0 R/Type/Annot/A 32359 0 R/Subtype/Link/Rect[365 354 369 361]/Border[0 0 0]/H/N>> -endobj - -32092 0 obj -<>/P 6038 0 R/Type/Annot/A 38064 0 R/Subtype/Link/Rect[436 344 446 351]/Border[0 0 0]/H/N>> -endobj - -32093 0 obj -<>/P 6038 0 R/Type/Annot/A 32352 0 R/Subtype/Link/Rect[448 344 462 351]/Border[0 0 0]/H/N>> -endobj - -32094 0 obj -<>/P 6038 0 R/Type/Annot/A 32348 0 R/Subtype/Link/Rect[464 344 478 351]/Border[0 0 0]/H/N>> -endobj - -32095 0 obj -<>/P 6038 0 R/Type/Annot/A 32344 0 R/Subtype/Link/Rect[480 344 494 351]/Border[0 0 0]/H/N>> -endobj - -32096 0 obj -<>/P 6038 0 R/Type/Annot/A 32340 0 R/Subtype/Link/Rect[496 344 510 351]/Border[0 0 0]/H/N>> -endobj - -32097 0 obj -<>/P 6038 0 R/Type/Annot/A 32506 0 R/Subtype/Link/Rect[359 334 373 341]/Border[0 0 0]/H/N>> -endobj - -32098 0 obj -<>/P 6038 0 R/Type/Annot/A 32503 0 R/Subtype/Link/Rect[375 334 389 341]/Border[0 0 0]/H/N>> -endobj - -32099 0 obj -<>/P 6038 0 R/Type/Annot/A 32502 0 R/Subtype/Link/Rect[391 334 405 341]/Border[0 0 0]/H/N>> -endobj - -32100 0 obj -<>/P 6038 0 R/Type/Annot/A 32501 0 R/Subtype/Link/Rect[407 334 421 341]/Border[0 0 0]/H/N>> -endobj - -32101 0 obj -<>/P 6038 0 R/Type/Annot/A 32500 0 R/Subtype/Link/Rect[423 334 437 341]/Border[0 0 0]/H/N>> -endobj - -32102 0 obj -<>/P 6038 0 R/Type/Annot/A 32499 0 R/Subtype/Link/Rect[439 334 451 341]/Border[0 0 0]/H/N>> -endobj - -32103 0 obj -<>/P 6038 0 R/Type/Annot/A 32498 0 R/Subtype/Link/Rect[383 324 395 331]/Border[0 0 0]/H/N>> -endobj - -32104 0 obj -<>/P 6038 0 R/Type/Annot/A 32497 0 R/Subtype/Link/Rect[372 314 389 322]/Border[0 0 0]/H/N>> -endobj - -32105 0 obj -<>/P 6038 0 R/Type/Annot/A 32496 0 R/Subtype/Link/Rect[389 314 403 321]/Border[0 0 0]/H/N>> -endobj - -32106 0 obj -<>/P 6038 0 R/Type/Annot/A 32495 0 R/Subtype/Link/Rect[405 314 419 321]/Border[0 0 0]/H/N>> -endobj - -32107 0 obj -<>/P 6038 0 R/Type/Annot/A 32494 0 R/Subtype/Link/Rect[421 314 435 321]/Border[0 0 0]/H/N>> -endobj - -32108 0 obj -<>/P 6038 0 R/Type/Annot/A 32493 0 R/Subtype/Link/Rect[437 314 449 321]/Border[0 0 0]/H/N>> -endobj - -32109 0 obj -<>/P 6038 0 R/Type/Annot/A 32492 0 R/Subtype/Link/Rect[403 304 417 311]/Border[0 0 0]/H/N>> -endobj - -32110 0 obj -<>/P 6038 0 R/Type/Annot/A 32491 0 R/Subtype/Link/Rect[419 304 431 311]/Border[0 0 0]/H/N>> -endobj - -32111 0 obj -<>/P 6038 0 R/Type/Annot/A 32490 0 R/Subtype/Link/Rect[395 294 405 301]/Border[0 0 0]/H/N>> -endobj - -32112 0 obj -<>/P 6038 0 R/Type/Annot/A 32489 0 R/Subtype/Link/Rect[407 294 421 301]/Border[0 0 0]/H/N>> -endobj - -32113 0 obj -<>/P 6038 0 R/Type/Annot/A 32488 0 R/Subtype/Link/Rect[423 294 437 301]/Border[0 0 0]/H/N>> -endobj - -32114 0 obj -<>/P 6038 0 R/Type/Annot/A 32487 0 R/Subtype/Link/Rect[439 294 453 301]/Border[0 0 0]/H/N>> -endobj - -32115 0 obj -<>/P 6038 0 R/Type/Annot/A 32486 0 R/Subtype/Link/Rect[455 294 469 301]/Border[0 0 0]/H/N>> -endobj - -32116 0 obj -<>/P 6038 0 R/Type/Annot/A 32484 0 R/Subtype/Link/Rect[471 294 485 301]/Border[0 0 0]/H/N>> -endobj - -32117 0 obj -<>/P 6038 0 R/Type/Annot/A 32483 0 R/Subtype/Link/Rect[487 294 504 302]/Border[0 0 0]/H/N>> -endobj - -32118 0 obj -<>/P 6038 0 R/Type/Annot/A 32482 0 R/Subtype/Link/Rect[504 294 518 301]/Border[0 0 0]/H/N>> -endobj - -32119 0 obj -<>/P 6038 0 R/Type/Annot/A 32481 0 R/Subtype/Link/Rect[359 284 373 291]/Border[0 0 0]/H/N>> -endobj - -32120 0 obj -<>/P 6038 0 R/Type/Annot/A 32480 0 R/Subtype/Link/Rect[375 284 389 291]/Border[0 0 0]/H/N>> -endobj - -32121 0 obj -<>/P 6038 0 R/Type/Annot/A 32477 0 R/Subtype/Link/Rect[391 284 407 292]/Border[0 0 0]/H/N>> -endobj - -32122 0 obj -<>/P 6038 0 R/Type/Annot/A 32474 0 R/Subtype/Link/Rect[408 284 422 291]/Border[0 0 0]/H/N>> -endobj - -32123 0 obj -<>/P 6038 0 R/Type/Annot/A 32471 0 R/Subtype/Link/Rect[424 284 438 291]/Border[0 0 0]/H/N>> -endobj - -32124 0 obj -<>/P 6038 0 R/Type/Annot/A 32467 0 R/Subtype/Link/Rect[440 284 457 292]/Border[0 0 0]/H/N>> -endobj - -32125 0 obj -<>/P 6038 0 R/Type/Annot/A 32463 0 R/Subtype/Link/Rect[457 284 471 291]/Border[0 0 0]/H/N>> -endobj - -32126 0 obj -<>/P 6038 0 R/Type/Annot/A 32459 0 R/Subtype/Link/Rect[473 284 487 291]/Border[0 0 0]/H/N>> -endobj - -32127 0 obj -<>/P 6038 0 R/Type/Annot/A 32455 0 R/Subtype/Link/Rect[489 284 503 291]/Border[0 0 0]/H/N>> -endobj - -32128 0 obj -<>/P 6038 0 R/Type/Annot/A 32451 0 R/Subtype/Link/Rect[359 274 373 281]/Border[0 0 0]/H/N>> -endobj - -32129 0 obj -<>/P 6038 0 R/Type/Annot/A 32447 0 R/Subtype/Link/Rect[375 274 389 281]/Border[0 0 0]/H/N>> -endobj - -32130 0 obj -<>/P 6038 0 R/Type/Annot/A 32444 0 R/Subtype/Link/Rect[391 274 405 281]/Border[0 0 0]/H/N>> -endobj - -32131 0 obj -<>/P 6038 0 R/Type/Annot/A 32440 0 R/Subtype/Link/Rect[407 274 423 282]/Border[0 0 0]/H/N>> -endobj - -32132 0 obj -<>/P 6038 0 R/Type/Annot/A 32436 0 R/Subtype/Link/Rect[424 274 438 281]/Border[0 0 0]/H/N>> -endobj - -32133 0 obj -<>/P 6038 0 R/Type/Annot/A 32433 0 R/Subtype/Link/Rect[440 274 454 281]/Border[0 0 0]/H/N>> -endobj - -32134 0 obj -<>/P 6038 0 R/Type/Annot/A 32429 0 R/Subtype/Link/Rect[456 274 468 281]/Border[0 0 0]/H/N>> -endobj - -32135 0 obj -<>/P 6038 0 R/Type/Annot/A 32425 0 R/Subtype/Link/Rect[397 264 409 271]/Border[0 0 0]/H/N>> -endobj - -32136 0 obj -<>/P 6038 0 R/Type/Annot/A 32421 0 R/Subtype/Link/Rect[396 254 413 262]/Border[0 0 0]/H/N>> -endobj - -32137 0 obj -<>/P 6038 0 R/Type/Annot/A 32417 0 R/Subtype/Link/Rect[414 254 428 261]/Border[0 0 0]/H/N>> -endobj - -32138 0 obj -<>/P 6038 0 R/Type/Annot/A 32413 0 R/Subtype/Link/Rect[430 254 444 261]/Border[0 0 0]/H/N>> -endobj - -32139 0 obj -<>/P 6038 0 R/Type/Annot/A 32408 0 R/Subtype/Link/Rect[446 254 460 261]/Border[0 0 0]/H/N>> -endobj - -32140 0 obj -<>/P 6038 0 R/Type/Annot/A 32404 0 R/Subtype/Link/Rect[462 254 474 261]/Border[0 0 0]/H/N>> -endobj - -32141 0 obj -<>/P 6038 0 R/Type/Annot/A 32400 0 R/Subtype/Link/Rect[427 244 441 251]/Border[0 0 0]/H/N>> -endobj - -32142 0 obj -<>/P 6038 0 R/Type/Annot/A 32396 0 R/Subtype/Link/Rect[443 244 457 251]/Border[0 0 0]/H/N>> -endobj - -32143 0 obj -<>/P 6038 0 R/Type/Annot/A 32214 0 R/Subtype/Link/Rect[459 244 473 251]/Border[0 0 0]/H/N>> -endobj - -32144 0 obj -<>/P 6038 0 R/Type/Annot/A 32390 0 R/Subtype/Link/Rect[475 244 492 252]/Border[0 0 0]/H/N>> -endobj - -32145 0 obj -<>/P 6038 0 R/Type/Annot/A 32386 0 R/Subtype/Link/Rect[492 244 504 251]/Border[0 0 0]/H/N>> -endobj - -32146 0 obj -<>/P 6038 0 R/Type/Annot/A 32382 0 R/Subtype/Link/Rect[434 234 448 241]/Border[0 0 0]/H/N>> -endobj - -32147 0 obj -<>/P 6038 0 R/Type/Annot/A 32204 0 R/Subtype/Link/Rect[450 234 466 242]/Border[0 0 0]/H/N>> -endobj - -32148 0 obj -<>/P 6038 0 R/Type/Annot/A 32377 0 R/Subtype/Link/Rect[467 234 479 241]/Border[0 0 0]/H/N>> -endobj - -32149 0 obj -<>/P 6038 0 R/Type/Annot/A 32372 0 R/Subtype/Link/Rect[397 224 409 231]/Border[0 0 0]/H/N>> -endobj - -32150 0 obj -<>/P 6038 0 R/Type/Annot/A 32369 0 R/Subtype/Link/Rect[393 214 403 221]/Border[0 0 0]/H/N>> -endobj - -32151 0 obj -<>/P 6038 0 R/Type/Annot/A 32365 0 R/Subtype/Link/Rect[405 214 417 221]/Border[0 0 0]/H/N>> -endobj - -32152 0 obj -<>/P 6038 0 R/Type/Annot/A 32362 0 R/Subtype/Link/Rect[387 204 401 211]/Border[0 0 0]/H/N>> -endobj - -32153 0 obj -<>/P 6038 0 R/Type/Annot/A 32358 0 R/Subtype/Link/Rect[403 204 417 211]/Border[0 0 0]/H/N>> -endobj - -32154 0 obj -<>/P 6038 0 R/Type/Annot/A 32355 0 R/Subtype/Link/Rect[419 204 431 211]/Border[0 0 0]/H/N>> -endobj - -32155 0 obj -<>/P 6038 0 R/Type/Annot/A 32351 0 R/Subtype/Link/Rect[383 194 389 201]/Border[0 0 0]/H/N>> -endobj - -32156 0 obj -<>/P 6038 0 R/Type/Annot/A 32347 0 R/Subtype/Link/Rect[391 194 405 201]/Border[0 0 0]/H/N>> -endobj - -32157 0 obj -<>/P 6038 0 R/Type/Annot/A 32343 0 R/Subtype/Link/Rect[407 194 421 201]/Border[0 0 0]/H/N>> -endobj - -32158 0 obj -<>/P 6038 0 R/Type/Annot/A 32339 0 R/Subtype/Link/Rect[423 194 437 201]/Border[0 0 0]/H/N>> -endobj - -32159 0 obj -<>/P 6038 0 R/Type/Annot/A 32336 0 R/Subtype/Link/Rect[439 194 456 202]/Border[0 0 0]/H/N>> -endobj - -32160 0 obj -<>/P 6038 0 R/Type/Annot/A 32333 0 R/Subtype/Link/Rect[457 194 471 201]/Border[0 0 0]/H/N>> -endobj - -32161 0 obj -<>/P 6038 0 R/Type/Annot/A 32330 0 R/Subtype/Link/Rect[473 194 485 201]/Border[0 0 0]/H/N>> -endobj - -32162 0 obj -<>/P 6038 0 R/Type/Annot/A 32327 0 R/Subtype/Link/Rect[379 184 385 191]/Border[0 0 0]/H/N>> -endobj - -32163 0 obj -<>/P 6038 0 R/Type/Annot/A 32324 0 R/Subtype/Link/Rect[387 184 397 191]/Border[0 0 0]/H/N>> -endobj - -32164 0 obj -<>/P 6038 0 R/Type/Annot/A 32321 0 R/Subtype/Link/Rect[399 184 409 191]/Border[0 0 0]/H/N>> -endobj - -32165 0 obj -<>/P 6038 0 R/Type/Annot/A 32318 0 R/Subtype/Link/Rect[411 184 425 191]/Border[0 0 0]/H/N>> -endobj - -32166 0 obj -<>/P 6038 0 R/Type/Annot/A 32315 0 R/Subtype/Link/Rect[427 184 441 191]/Border[0 0 0]/H/N>> -endobj - -32167 0 obj -<>/P 6038 0 R/Type/Annot/A 32312 0 R/Subtype/Link/Rect[443 184 457 191]/Border[0 0 0]/H/N>> -endobj - -32168 0 obj -<>/P 6038 0 R/Type/Annot/A 32309 0 R/Subtype/Link/Rect[459 184 473 191]/Border[0 0 0]/H/N>> -endobj - -32169 0 obj -<>/P 6038 0 R/Type/Annot/A 32306 0 R/Subtype/Link/Rect[475 184 489 191]/Border[0 0 0]/H/N>> -endobj - -32170 0 obj -<>/P 6038 0 R/Type/Annot/A 32303 0 R/Subtype/Link/Rect[491 184 505 191]/Border[0 0 0]/H/N>> -endobj - -32171 0 obj -<>/P 6038 0 R/Type/Annot/A 32300 0 R/Subtype/Link/Rect[359 174 373 181]/Border[0 0 0]/H/N>> -endobj - -32172 0 obj -<>/P 6038 0 R/Type/Annot/A 32297 0 R/Subtype/Link/Rect[375 174 391 182]/Border[0 0 0]/H/N>> -endobj - -32173 0 obj -<>/P 6038 0 R/Type/Annot/A 32294 0 R/Subtype/Link/Rect[392 174 406 181]/Border[0 0 0]/H/N>> -endobj - -32174 0 obj -<>/P 6038 0 R/Type/Annot/A 32291 0 R/Subtype/Link/Rect[408 174 422 181]/Border[0 0 0]/H/N>> -endobj - -32175 0 obj -<>/P 6038 0 R/Type/Annot/A 32288 0 R/Subtype/Link/Rect[424 174 438 181]/Border[0 0 0]/H/N>> -endobj - -32176 0 obj -<>/P 6038 0 R/Type/Annot/A 32373 0 R/Subtype/Link/Rect[440 174 452 181]/Border[0 0 0]/H/N>> -endobj - -32177 0 obj -<>/P 6038 0 R/Type/Annot/A 32284 0 R/Subtype/Link/Rect[391 164 405 171]/Border[0 0 0]/H/N>> -endobj - -32178 0 obj -<>/P 6038 0 R/Type/Annot/A 32281 0 R/Subtype/Link/Rect[407 164 419 171]/Border[0 0 0]/H/N>> -endobj - -32179 0 obj -<>/P 6038 0 R/Type/Annot/A 32278 0 R/Subtype/Link/Rect[381 154 395 161]/Border[0 0 0]/H/N>> -endobj - -32180 0 obj -<>/P 6038 0 R/Type/Annot/A 32275 0 R/Subtype/Link/Rect[397 154 411 161]/Border[0 0 0]/H/N>> -endobj - -32181 0 obj -<>/P 6038 0 R/Type/Annot/A 32273 0 R/Subtype/Link/Rect[413 154 425 161]/Border[0 0 0]/H/N>> -endobj - -32182 0 obj -<>/P 6038 0 R/Type/Annot/A 32270 0 R/Subtype/Link/Rect[403 342 414 351]/Border[0 0 0]/H/N>> -endobj - -32183 0 obj -<>/P 6038 0 R/Type/Annot/A 32267 0 R/Subtype/Link/Rect[416 342 435 351]/Border[0 0 0]/H/N>> -endobj - -32184 0 obj -<>/P 6038 0 R/Type/Annot/A 32264 0 R/Subtype/Link/Rect[288 188 299 197]/Border[0 0 0]/H/N>> -endobj - -32185 0 obj -<>/P 6038 0 R/Type/Annot/A 32261 0 R/Subtype/Link/Rect[151 178 168 187]/Border[0 0 0]/H/N>> -endobj - -32186 0 obj -<> -endobj - -32187 0 obj -<> -endobj - -32188 0 obj -<> -endobj - -32189 0 obj -<> -endobj - -32190 0 obj -<> -endobj - -32191 0 obj -<> -endobj - -32192 0 obj -<> -endobj - -32193 0 obj -<> -endobj - -32194 0 obj -<> -endobj - -32195 0 obj -<> -endobj - -32196 0 obj -<> -endobj - -32197 0 obj -<> -endobj - -32198 0 obj -<> -endobj - -32199 0 obj -<> -endobj - -32200 0 obj -<> -endobj - -32201 0 obj -<> -endobj - -32202 0 obj -<> -endobj - -32203 0 obj -<> -endobj - -32204 0 obj -<> -endobj - -32205 0 obj -<> -endobj - -32206 0 obj -<> -endobj - -32207 0 obj -<> -endobj - -32208 0 obj -<> -endobj - -32209 0 obj -<> -endobj - -32210 0 obj -<> -endobj - -32211 0 obj -<> -endobj - -32212 0 obj -<> -endobj - -32213 0 obj -<> -endobj - -32214 0 obj -<> -endobj - -32215 0 obj -<> -endobj - -32216 0 obj -<> -endobj - -32217 0 obj -<> -endobj - -32218 0 obj -<> -endobj - -32219 0 obj -<> -endobj - -32220 0 obj -<> -endobj - -32221 0 obj -<> -endobj - -32222 0 obj -<> -endobj - -32223 0 obj -<> -endobj - -32224 0 obj -<> -endobj - -32225 0 obj -<> -endobj - -32226 0 obj -<> -endobj - -32227 0 obj -<> -endobj - -32228 0 obj -<> -endobj - -32229 0 obj -<> -endobj - -32230 0 obj -<> -endobj - -32231 0 obj -<> -endobj - -32232 0 obj -<> -endobj - -32233 0 obj -<> -endobj - -32234 0 obj -<> -endobj - -32235 0 obj -<> -endobj - -32236 0 obj -<> -endobj - -32237 0 obj -<> -endobj - -32238 0 obj -<> -endobj - -32239 0 obj -<> -endobj - -32240 0 obj -<> -endobj - -32241 0 obj -<> -endobj - -32242 0 obj -<> -endobj - -32243 0 obj -<> -endobj - -32244 0 obj -<> -endobj - -32245 0 obj -<> -endobj - -32246 0 obj -<> -endobj - -32247 0 obj -<> -endobj - -32248 0 obj -<> -endobj - -32249 0 obj -<> -endobj - -32250 0 obj -<> -endobj - -32251 0 obj -<> -endobj - -32252 0 obj -<> -endobj - -32253 0 obj -<> -endobj - -32254 0 obj -<> -endobj - -32255 0 obj -<> -endobj - -32256 0 obj -<> -endobj - -32257 0 obj -<> -endobj - -32258 0 obj -<> -endobj - -32259 0 obj -<> -endobj - -32260 0 obj -<> -endobj - -32261 0 obj -<> -endobj - -32262 0 obj -<> -endobj - -32263 0 obj -<> -endobj - -32264 0 obj -<> -endobj - -32265 0 obj -<> -endobj - -32266 0 obj -<> -endobj - -32267 0 obj -<> -endobj - -32268 0 obj -<> -endobj - -32269 0 obj -<> -endobj - -32270 0 obj -<> -endobj - -32271 0 obj -<> -endobj - -32272 0 obj -<> -endobj - -32273 0 obj -<> -endobj - -32274 0 obj -<> -endobj - -32275 0 obj -<> -endobj - -32276 0 obj -<> -endobj - -32277 0 obj -<> -endobj - -32278 0 obj -<> -endobj - -32279 0 obj -<> -endobj - -32280 0 obj -<> -endobj - -32281 0 obj -<> -endobj - -32282 0 obj -<> -endobj - -32283 0 obj -<> -endobj - -32284 0 obj -<> -endobj - -32285 0 obj -<> -endobj - -32286 0 obj -<> -endobj - -32287 0 obj -<> -endobj - -32288 0 obj -<> -endobj - -32289 0 obj -<> -endobj - -32290 0 obj -<> -endobj - -32291 0 obj -<> -endobj - -32292 0 obj -<> -endobj - -32293 0 obj -<> -endobj - -32294 0 obj -<> -endobj - -32295 0 obj -<> -endobj - -32296 0 obj -<> -endobj - -32297 0 obj -<> -endobj - -32298 0 obj -<> -endobj - -32299 0 obj -<> -endobj - -32300 0 obj -<> -endobj - -32301 0 obj -<> -endobj - -32302 0 obj -<> -endobj - -32303 0 obj -<> -endobj - -32304 0 obj -<> -endobj - -32305 0 obj -<> -endobj - -32306 0 obj -<> -endobj - -32307 0 obj -<> -endobj - -32308 0 obj -<> -endobj - -32309 0 obj -<> -endobj - -32310 0 obj -<> -endobj - -32311 0 obj -<> -endobj - -32312 0 obj -<> -endobj - -32313 0 obj -<> -endobj - -32314 0 obj -<> -endobj - -32315 0 obj -<> -endobj - -32316 0 obj -<> -endobj - -32317 0 obj -<> -endobj - -32318 0 obj -<> -endobj - -32319 0 obj -<> -endobj - -32320 0 obj -<> -endobj - -32321 0 obj -<> -endobj - -32322 0 obj -<> -endobj - -32323 0 obj -<> -endobj - -32324 0 obj -<> -endobj - -32325 0 obj -<> -endobj - -32326 0 obj -<> -endobj - -32327 0 obj -<> -endobj - -32328 0 obj -<> -endobj - -32329 0 obj -<> -endobj - -32330 0 obj -<> -endobj - -32331 0 obj -<> -endobj - -32332 0 obj -<> -endobj - -32333 0 obj -<> -endobj - -32334 0 obj -<> -endobj - -32335 0 obj -<> -endobj - -32336 0 obj -<> -endobj - -32337 0 obj -<> -endobj - -32338 0 obj -<> -endobj - -32339 0 obj -<> -endobj - -32340 0 obj -<> -endobj - -32341 0 obj -<> -endobj - -32342 0 obj -<> -endobj - -32343 0 obj -<> -endobj - -32344 0 obj -<> -endobj - -32345 0 obj -<> -endobj - -32346 0 obj -<> -endobj - -32347 0 obj -<> -endobj - -32348 0 obj -<> -endobj - -32349 0 obj -<> -endobj - -32350 0 obj -<> -endobj - -32351 0 obj -<> -endobj - -32352 0 obj -<> -endobj - -32353 0 obj -<> -endobj - -32354 0 obj -<> -endobj - -32355 0 obj -<> -endobj - -32356 0 obj -<> -endobj - -32357 0 obj -<> -endobj - -32358 0 obj -<> -endobj - -32359 0 obj -<> -endobj - -32360 0 obj -<> -endobj - -32361 0 obj -<> -endobj - -32362 0 obj -<> -endobj - -32363 0 obj -<> -endobj - -32364 0 obj -<> -endobj - -32365 0 obj -<> -endobj - -32366 0 obj -<> -endobj - -32367 0 obj -<> -endobj - -32368 0 obj -<> -endobj - -32369 0 obj -<> -endobj - -32370 0 obj -<> -endobj - -32371 0 obj -<> -endobj - -32372 0 obj -<> -endobj - -32373 0 obj -<> -endobj - -32374 0 obj -<> -endobj - -32375 0 obj -<> -endobj - -32376 0 obj -<> -endobj - -32377 0 obj -<> -endobj - -32378 0 obj -<> -endobj - -32379 0 obj -<> -endobj - -32380 0 obj -<> -endobj - -32381 0 obj -<> -endobj - -32382 0 obj -<> -endobj - -32383 0 obj -<> -endobj - -32384 0 obj -<> -endobj - -32385 0 obj -<> -endobj - -32386 0 obj -<> -endobj - -32387 0 obj -<> -endobj - -32388 0 obj -<> -endobj - -32389 0 obj -<> -endobj - -32390 0 obj -<> -endobj - -32391 0 obj -<> -endobj - -32392 0 obj -<> -endobj - -32393 0 obj -<> -endobj - -32394 0 obj -<> -endobj - -32395 0 obj -<> -endobj - -32396 0 obj -<> -endobj - -32397 0 obj -<> -endobj - -32398 0 obj -<> -endobj - -32399 0 obj -<> -endobj - -32400 0 obj -<> -endobj - -32401 0 obj -<> -endobj - -32402 0 obj -<> -endobj - -32403 0 obj -<> -endobj - -32404 0 obj -<> -endobj - -32405 0 obj -<> -endobj - -32406 0 obj -<> -endobj - -32407 0 obj -<> -endobj - -32408 0 obj -<> -endobj - -32409 0 obj -<> -endobj - -32410 0 obj -<> -endobj - -32411 0 obj -<> -endobj - -32412 0 obj -<> -endobj - -32413 0 obj -<> -endobj - -32414 0 obj -<> -endobj - -32415 0 obj -<> -endobj - -32416 0 obj -<> -endobj - -32417 0 obj -<> -endobj - -32418 0 obj -<> -endobj - -32419 0 obj -<> -endobj - -32420 0 obj -<> -endobj - -32421 0 obj -<> -endobj - -32422 0 obj -<> -endobj - -32423 0 obj -<> -endobj - -32424 0 obj -<> -endobj - -32425 0 obj -<> -endobj - -32426 0 obj -<> -endobj - -32427 0 obj -<> -endobj - -32428 0 obj -<> -endobj - -32429 0 obj -<> -endobj - -32430 0 obj -<> -endobj - -32431 0 obj -<> -endobj - -32432 0 obj -<> -endobj - -32433 0 obj -<> -endobj - -32434 0 obj -<> -endobj - -32435 0 obj -<> -endobj - -32436 0 obj -<> -endobj - -32437 0 obj -<> -endobj - -32438 0 obj -<> -endobj - -32439 0 obj -<> -endobj - -32440 0 obj -<> -endobj - -32441 0 obj -<> -endobj - -32442 0 obj -<> -endobj - -32443 0 obj -<> -endobj - -32444 0 obj -<> -endobj - -32445 0 obj -<> -endobj - -32446 0 obj -<> -endobj - -32447 0 obj -<> -endobj - -32448 0 obj -<> -endobj - -32449 0 obj -<> -endobj - -32450 0 obj -<> -endobj - -32451 0 obj -<> -endobj - -32452 0 obj -<> -endobj - -32453 0 obj -<> -endobj - -32454 0 obj -<> -endobj - -32455 0 obj -<> -endobj - -32456 0 obj -<> -endobj - -32457 0 obj -<> -endobj - -32458 0 obj -<> -endobj - -32459 0 obj -<> -endobj - -32460 0 obj -<> -endobj - -32461 0 obj -<> -endobj - -32462 0 obj -<> -endobj - -32463 0 obj -<> -endobj - -32464 0 obj -<> -endobj - -32465 0 obj -<> -endobj - -32466 0 obj -<> -endobj - -32467 0 obj -<> -endobj - -32468 0 obj -<> -endobj - -32469 0 obj -<> -endobj - -32470 0 obj -<> -endobj - -32471 0 obj -<> -endobj - -32472 0 obj -<> -endobj - -32473 0 obj -<> -endobj - -32474 0 obj -<> -endobj - -32475 0 obj -<> -endobj - -32476 0 obj -<> -endobj - -32477 0 obj -<> -endobj - -32478 0 obj -<> -endobj - -32479 0 obj -<> -endobj - -32480 0 obj -<> -endobj - -32481 0 obj -<> -endobj - -32482 0 obj -<> -endobj - -32483 0 obj -<> -endobj - -32484 0 obj -<> -endobj - -32485 0 obj -<> -endobj - -32486 0 obj -<> -endobj - -32487 0 obj -<> -endobj - -32488 0 obj -<> -endobj - -32489 0 obj -<> -endobj - -32490 0 obj -<> -endobj - -32491 0 obj -<> -endobj - -32492 0 obj -<> -endobj - -32493 0 obj -<> -endobj - -32494 0 obj -<> -endobj - -32495 0 obj -<> -endobj - -32496 0 obj -<> -endobj - -32497 0 obj -<> -endobj - -32498 0 obj -<> -endobj - -32499 0 obj -<> -endobj - -32500 0 obj -<> -endobj - -32501 0 obj -<> -endobj - -32502 0 obj -<> -endobj - -32503 0 obj -<> -endobj - -32504 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -32505 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -32506 0 obj -<> -endobj - -32507 0 obj -<> -endobj - -32508 0 obj -<> -endobj - -32509 0 obj -<> -endobj - -32510 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -32511 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -32512 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -32513 0 obj -<> -stream -HW]oF}xBJ193Cܠ4Yt7Z*EJJTb+xqEI>:s yΈslۚˋWŋ?\%&YY4+o gܙmˬ|H20?]|i6vj6Er;g>쒗b8miDIӔie&zfm.OG{ruǓoM=ٽnw hCZsGdxbl-iaʘj6;zE[g~3YjޒG\O$夔VJb9ɻ$5' -NzEt#VieڼĈ{;)ʽr{>(}}}}}} ܗ} ܗ} ܗ}W}W}r{ VbāJYڽĈZ+1ficv/1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+UAk%,^b{1K@k%,^փJYj@k%,^փJYj@k%,^փJYj@k%,^փJYj* cv/1bJYڽĘKXcpZ@k%,^6JXcpZ@k%,^6JXcpZ@k%,^6JXcpZ@k%,^6Jl䠵cv/1bJYڽĘܛ H/"5atȠXVZAiVr\i@PZ*V JURiU@RZЪVZQiEKĘ$Ƈ5) heJ-Rw {8 YJ ^bZ*^bǰ!KiKY@KށK5d)-{1 h;{=,A%,%1>-{r/1>-{r/1>-{r/1>-{r/1>-{r/1>-{r/1>|-{r/1>|-{r/1>V-{r/1>Vh-1KkI @K>K @K>K@K>K@K>K}?-r/1~|Z*^bTȽh{֒h Iz$If23MbG0o SzdX1gޝ'%=Tݿwb 0g(0hEmlsy{s5MnMڙ'ÿg@ڥ6"^In}llmWabjFzjXOgfS_O`plg}Yg2܅4-O^KvlA{wЦe;7{h7rݨmGn`Y:w ɽ8z_rg6œ[f]7nf7l=?_. o\ټhA:ڪ'WOmee8 -6Zk5Mozn8錗2or?Z!E?C|loӧf=G{c$u'Пt@lPu~81f[C =N{|Ψ9|IќiAe8-uڭ2{(t<yƷEsj`̖f!ڇ_e˓dw)uǔ6-Ҽ( -Mig>7[k vݵݮ\n4}QTHwW7Wo~\tғӮ˂ؠ -,GibIDzV"F==~=IƘ Zlt,<}Uf鳂DʜMOG]j_pM.G\U~:$z?f顦|z}Xοz_MWo 'endstream -endobj - -32514 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -32515 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -32516 0 obj -<> -endobj - -32517 0 obj -<> -endobj - -32518 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -32519 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -32520 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -32521 0 obj -<> -stream -HmoHϯ!!AZ+>PTyB&$j3ͽtUVg|;n֝|thr/|D|+en SeTr݊wZhQ9b綠jvZ狶[ϧr={/O/jWs+/DLC2{RW^QݚA~G,חr=:<0>0/}K@_2З}#>zl!,fiZZYnqzf虵XKZ Yjki[Yk4-@ϬZf虵XKZ Yjki[Yk4-@ϬZ-,8=R XK4-NO,=ki[Y뀵4K-`-r 3kf虵XK,=ki[Y뀵4K-`-r 3kf虵XKZYjki[fiZZgz`-r 3k=fYnzf,=kiZZgz`-r 3k=fYnzf,=kiXK4K-`-r,8}T1F/ut!^b4{AҪJVN 1Zͪ/q Q3rƬh^uO]\/7l{Rmߝ6S.N|*U:W<߫l_lf^,|u67H6  ,7fM?ɳQY3?,[±DӼW?;m6<}3y}~Z>ﮂo`dzܼAAE׋tgnp_z-˫/u*C Q~@[>3Z`?Nk яmVQTqoɛy=9(}?Rs`z(NEĝ.m78~[;ӱV~CkiW54T_ΰ4z C -u3A^=D?+hendstream -endobj - -32522 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -32523 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -32524 0 obj -<> -endobj - -32525 0 obj -<> -endobj - -32526 0 obj -<> -endobj - -32527 0 obj -<> -endobj - -32528 0 obj -<> -endobj - -32529 0 obj -<> -endobj - -32530 0 obj -<> -endobj - -32531 0 obj -<> -endobj - -32532 0 obj -<> -endobj - -32533 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -32534 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -32535 0 obj -<> -endobj - -32536 0 obj -<> -endobj - -32537 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -32538 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -32539 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -32540 0 obj -<> -stream -HWmo8_!8rWv-P5pPl%Vk[YK;8Ej4~H>3oTFR~ұQ$q0g%yE ]f0#n9 nQ/~]T庍^hͦ|E"k*Z)ERqj)q_Q!dxv"-T|e]|1qTT((񹋊lFRLb -@ԇp9!e.eH*`*`:`:`:`o&`o&`o6`o6`o6`2Ӏ}ʰO> g ,`1쳀}ΰ9> "`_0JFԷZCTȞŨ>DPjQ @Q-!aV1>@1>D1*Fԇ(}ZŨŨŰTRjZZC>PbTK}bUjoiFԇ=Q-!*dO} -SRj5ZC>PfTK}bTK}bՌjQ @Q-Q-!aV3>D1jF(Fԇ(}ZͨŰTR.2jQ!{ZCTȞ>@1>D1Fԇ(}ZèŨŰTkRj ZZC>PaTK}b5jPjQ @Q-!a0]dRB(Fԇ=!*d_(LER~2Q"**I\E)wj9J$N9 h{]T:zbUQr/}^=av[NOUwY}ma>M>.Mɫo~k0v\*i -;$c'܈"UrߎE*fqPM^3ﮜcf|غ {tYUmnfmoYp#J#$9/*1VI/h -XC1'  -0^)Mx43SVR&Hԙ9yjeOOg(9̇ >.3Hlr|r/rVZAX;%ۢi$&FQICaȋtVUq[da͢W:o>Fڮe,x֭OZk(@A'T CL -OЩf+ ! YYk٧M8sQo[w?xJLJ+SYא!ՙ߷ju(G[0zV_!u -t;3lLrM6oTtmFU) yh%=X]hP wPIOzU p - dRd ױ+ӱܹ? 焝S - -X0ߡO3~w:vօ |I'|H=^1pUD@V \\;ȰRD#ry)&ȡ۝~]BB7<'pޟR)YwVw(ꛠ3T{9Xt_>@Y*80'p.q/5*˄IF'PVP۪ﮌu>MmvPl:z&O!U&N]c4g -\[(DÌc\)s)Zm/yMi5sxUb2$W"Iv$դFx./O A+2W\+7"X_!ON]_][fmNKMf"5s!˸/ sl2Ɛ#XGd",LOy6g WpO~ɞ~Ume;!8BgV_Q:d2u+};қzv+lN`v|pE!9(^4GPBy>U_!/ғ6osTB٘ -iyOnV1o 6Ml}3L -#\Rxy;+ҍJmʶ|viaO{5*Ι*DO]?(3oI2;-㣤;zY~:\aL;p)UiA\{.S8(@,fݡI|8Fф k{ݎ}*OB_Q{0i[0i`=[j+vm^\ny=E]poAH2l0P}t]i>C^ۅ\w',yNJjf^@M:ZWeqa>o֛jUZzG6:F#!i+7o]K,`YŲeS,XN2+Lr+\ -*B<`y%L4Kj,+DJQ,X*^j,{r/5vʽKހK]ro@.R7 Rc`{ TS{KF.{ TS{ TS{ TS{ TS{ TS{ TS{ TS{ TS{ T-ȽإYR#ȽX*^j,{ r/5vʽKނK]roA.R Rc`[{ T-ȽX*^j, ^j,{mW_\R${CFuqc]62^^BS{i/#hP(&z AOpvf]Lu*HC߃<QR;=l}}v7Wt<_ζt8:v Xb"L4U?D~}FƼendstream -endobj - -32541 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -32542 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -32543 0 obj -<> -endobj - -32544 0 obj -<> -endobj - -32545 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -32546 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -32547 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -32548 0 obj -<> -stream -HWێF}Wp8þ8|Kv1l- G1Y2*vb cftaNUct7_߾ ŋWo^ Y\*q,a/1H‡U|~nj6Upg>UpbE}P!IX $W RI~K*fn( qD7]}[2q zW>vp&{US2\7x_$|,~w[nài8Nr"0A\Lc -\\Q Q@ɻ6@q=s= KK+++اcS}F<>gcs}N={Ok;PkC޵PkC޵!gEֵ!`節um"{j]պ6D=rB Q{OPkZ׆(ZNֵ!`節um"TET պ6D=rBB Q>{(B Q>{׆(kZ׆(ZAֵ!`Vum"TET+պ6D= -B Pj]jZ׆(ZAֵPkCS TET+պC պ6D]պ6D]| Pj]j%Z׆(ZIֵPkCS$TET+ պ6@um"{j]j%Z(B Q{OPkCS$T"Twm"TwmqQ2Ll9V͊}! WKz;\/N4-!XGBF_HwQ}nm}o?W]JJ6tyS5iv=HPYfwzFfMPtL-}=dAL\w3ɀDq:?^ݮ$e*^e.ʼd_q"6n. EC.::n(+|r?g^G8SE6RKL,S0 \?7ꣽmm|,j/MHDVH@LS.)K1bɼdi璏O}$3&-0bϜκ{ pnzoo@+<5@jwG D1t{loܟtK;}DC,+rZM߬V~3jw^&c!x>lXG6I9dJNs[o667߬qۓYIW}ԛ -evt3I*IG?q:Cg}yWF(؅c8HƗ$*eєQi.[nWN}Jh_EUppi>}_P׫ksY릴Dヶ,5[\g6DN9U0/O,ha꣕z*xČ%r٢`Qӂ;#|ޑsD -gƯ>CQX`YgkAErsmٕ!DpC9Hۏyļ\>jL25q18THHa9kW3ˬΖ幜 sSJ,Һ>Wn,Np ty{/J2;(,-ϲu*Pt {~ufpSX86#|7emF80OP4T:b?d~ܛC2 %6Dழr3):6buRxʼQhdJBA[SCkﶺ(`Fہ0[961퇟W#L,;`\xRͰۮ6޽@Ngv)WK-daî?#b}C`Id|I:;y.T'o8 el S7W`q9a*ڭ1Tꦡ=q9J LPA-î!/I pz9`lzUp.wΦN8c9"K:~1)mbg |JY`]D"">ue bmnW/.鼽|@ -B :O;^@VE'N/J$zj)X?`aKŁRq`([xV Gl<ibs -q-+OMU\:ᠷU1@'|L zծ/3,IqQ|+ymt(#o[Wv̾>pw~bכ?*ܔ@{Y42D0j!5Jv6_ h'b<0ЈHz2jHsb-^wO`xk -#)s#m.ݣ*rr*'5u`6mBiseT̓B0;MWAhNpi -i 2 Z[c$S7pV1X&Eu?_ڦ΅]g50qsLq+ ϱ>1D0 Eh6QUjTH<4cgJY%D7gu%N1&f;G~՞ -QB1jpTH̴30o4^oa -8p1PPك!v*E搲T@.GV6jU^ǖ9 Kӟ84 z48-/"سl=IKtYXfwusX])P4z5Ì _+|G4!Ӑrt?(¸cJ!d9􏦟fFxS0wۈ3j__;/mb J˖[@J @~6HЯ{\VyA[6ɢ,ս6+U\*V.t[5ՅRq%>hID" }Nl uSt,V̥i7On驦q˾Zǘ?^b7پ|Ik]u8'.#B~\͎9#?`}Hų@n"S` $ mÔIXW?^3V6w 5+\\ֺgx9`^M/f'*H*×m3eZ;xjƷ+iU"&luܐyHu5&_JڶpW癞0x#^C'V -di6sB\O:S%mLnzp -6[w_}ݽ,S/#NLxvyg0+E{8+F'˲vc?F¿@e!T}O/-F5GYڛ.|TNɷ}y9 2ֽ=Xi`-=V ݩ6 Ї?.wK?ƫ!ړLcB\j0Iy! \5jE$&«$=$H41QRܛ(\%`Sb@`Jl!؈ 4:msuYHf Xg\碤'Uʹqi3miʼnـ]C?W/V[:#d~>r֏1%Z^h~"Wo .l"_E›҄7eV^7~ehj*24V -l%ZO$K !<]3 ,˒4?+ak49HhU!Z7lݛś2endstream -endobj - -32549 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -32550 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -32551 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -32552 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -32553 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -32554 0 obj -<> -stream -HWko_q~E 'qN\CYJtGRcĂrX=" cĒ9F,cZ1bcEk-h-" cEk-h-Lj܋ZZEh-Lj܋ZZ ,Z #p/ZkAk9Hh-Lj%s,@k9F,cĒ9Y#p/Z@k9F,^ցr,@k9F,^ցrXhXdrXh{ZZ˱{ZZ1bcărX=" cĒ9F,cZ1bcEk=h-" cEk=h-Lj܋zZEh-Lj܋zZ ,Z #p/ZAk9H2ZKXdrX=Ljܫ/<q~lH/XZ^hyV2Lh@+Z9ʅV -UBh@Z%*VZAhMLj%8F2B-#,вB-{ rϱaY=LjD-=dž5lZ # 1KhsX@KނslX,@9F,1ZwȽ;@Kށs%r@9F w h;{ъD=hZ"c|-{r1Z+ȽRcĒZh{{D==hZ"c --{r1zZ"cD==h{{; s%rA9FRcĒZGn%rB*-*9*!sgAQ"4V06M'M[| B_ߟ^#t,E?=aqv|~q9:9xqx-^/L<-P/ߟ^xҥL1ƌNp4LAhLO3:qz&~Ow d쾩\qw`EucsP}e]][xAw?1Gg/z7׈qهO3hOu1L1O2:539}&Eՙ޶{B]GN>^5N3ZyT_eVk.{gOhǝ trn-5֞`tΛ/`n8@n+_Z|[[m?19NNjaTbFU٠_ҴZw|y۬]ujv3]g'RV~֍&4v?M{}=<+жFO?u=VGkxVLgg ͪv4Y?>>tOVNuK+DW}j\BqQeo=j`?6M?`௓ֳjYwmM ?6~?Ծ9gnjm^e.S}6}4԰ iy~JRmևvjkٮX;x9FXB-/ٸJ\:n^9yŹqoyrP/ҹݼmqYYuLnUe=J4y})m2\Y`]l|&ޘz[|i[-i(tiRO4]~}*Wwכ+}:;pu%~@E|m_2c\3kt:\N2Z նȼfjqMb$572fO cƭu͏}4ᥩSAjpMGNҰ ߵ1t%zš{E lccGvmwF4+REA%P(~Mbv| ~}GrXi 2l?,mbDJ?ڭ*6{'y/T'=wRmaHҋE}iJl 2@NNYΩ(]zi%^,8AxR# iD[sG&qΦM=pdq&hӷ㷿g+9IL(]<0dɨ*r$2ק^n,72ɭeU;~}5=Xccc$-G8wS^mjCu[J%s׫Ðӎh~C^~?KJx ZwQ7CʢLPƧRmƛQDW\$w|q55z_ ט̺ dTf>o^2]E -9SL $G3sHcB+;+Z*C7ԡ4XwpL[r^es &֓]È9po[lns2X -,Wx< l!UYd"1B;g(bau]5OCܲW̓X ~sebx(^m1SI W2trC^4Ujh"4)(X:}D̸akM:rc7G !fz_ֳ}UfҪx3V0ݘЅT{cUMiɢ$W2\qcUg%Z[- (߹Y ^;FoUߞI$'`ݱà|LA8 4|o0wQd) U4#jxu:H|"yg: %JMỐw|pa` [ONjmk>, T,)zJ>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -32556 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -32557 0 obj -<> -endobj - -32558 0 obj -<> -endobj - -32559 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -32560 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -32561 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -32562 0 obj -<> -stream -HWn8}6֑yL2Adf`A wne[RUdu2RՇ!Yxgt˛o8{oC2_jfFő -dMUg` nuSy;o=mp_lg)KaNm`#j5LH we>kCö;6 $=j0b|^H7&klMK8 e,70m臌u T(}-}w,HUJ2Hq1I6D˹6@  r wm{鱗{W{W{W{{{7{7{7{㱏>"G`{c}챏 >!'`xS}O f!ZVPkC޵PkC޵!gEֵ!`Vum"{j]պ6D=JB Q{OPkZ׆(ZIֵ!`Vum"TET+ պ6D=JB Z׆(kZ׆(kC޵PkCS"TETպ6@um"{Uj]jZ(B Q{OPkCS"TEֵ!`Vum"{Uj][hB Q>{(B Q>{׆(kZ׆(ZMֵ!`Vum"TET պ6D=jB Pj]j5Z׆(ZMֵPkCS&TET պ20j]| Pj]| Q>4LT3]7[U3!0bQmlj [ cńSNM'q:?oծ+]1&vΆ횢z>C ~ώ~蟲lR VUwW_s0Zf`33Yl;N蘇 -PJy XYۅf_<8B ㄛX Pɼd^uvy!lw ä)^wcyO/ ]Nl?/.: a+ Eg+f8b=UեE4Өm/2$=1a"Qbػ#zjfhGm53q>| -H xvlOP.^w80vnL2ev D"7P<-oEb -f"_YJyh4a:>Q-wؙp.5B}2|c6NW;IɎŋrpvQFi=IBN6l{2tIMGZxB^XJ˜fj:BL~ԌFN`Լ=z^=aK j9mz.$̘c-cU<폷~mk%h&{][8/.5 Kƽp# o\~lS~9wC.^2~WF&vwEe10`ޡ BHR5`3%&wH8ꄽ5<mkݱnGT =IE l׏MVZ4D"xkfc> -m %=]mQ_1Ɲ\Fȇu JT(XnZ ]괥ׁ˯yvf?0]YͿ}f6_uNo&xiOX os>=4t ͦͰ (t8>ȷ;nz8tOZy;IpH:EO]%]9\&< <لgϒq-Ŋ+VT 2+Sr+W -*PJ*T -*Ū,j̸Y2,XbyKy2`)=^f,ˌ[{q x/3ne-R{̸X4Kfˌ[{q x/3n>e-R̸XKy2`)^f,}ˌ[{qKdF-̸XKy2`)#^f,}ˌ[{q x/3n>e-RG̸X x/3nį4tcKzb==9VC?{&npXb9D=O-}EGcc5oY׺].A5:V={7֏K|se&|UWz?zڐllvݻ}Kp!WBo/tl^чouռ(^ϵٵfmv9dOqκٞ}ueiSK~#|^%C vmgv-aB_,I O U7 mg_:<7~k,ҍǤ?[h)VXbe)VXb倕+VXbU(VXbU*V XbUU)VXdTd-͒`9rW,X{Ky2`)=^f,ˌ[{q x/3ne-R̸Y2^f,}ˌ[{q x/3n>e-R̸XKy2`)^f,}ˌ[%3je-RG̸XKy2`)#^f,}ˌ[{q x/3n>e-Rg{qKdF-̸Y*^̴}<bNPʛa[Nϣ6?kZwð?\EL(:hv3סn ?OmZ(||Ufs99t}KkO>7~f& 0endstream -endobj - -32563 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -32564 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -32565 0 obj -<> -endobj - -32566 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -32567 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -32568 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -32569 0 obj -<> -stream -HWn۸}Wy‹ P 8nαՙP%q%{$E]uQ2֦֢ȭˇ(+ȫW ?oF?sl?wr–dI-J-FĺǛXG6['qW$[[o@eHh!XI-4T1BR 12CLLS,$,DZb7RˑBLBLFj9ZiH-GR 1BR 1BHj!Yz#I- I-4 Qo#f!r$K,beb!f!Yz)ZiH@R 1BHj!XHj!Yz#I-4 QoV b!f! -$,DZbb7R+BLFjZ%beb!f!Yz)ZiHb7R b!f!:Hj!Yz#Z)ZiHb7R b!f!:Hj!Yz#Z%DR 12CLBLL,G A8G?WuZ![:K'qlG\0>Q62q8'm_| -ߖcXj[%"= e<8-Cڬ7W墝)$Hg0X'*d`c+o.ftt;MgɌ\ GbB}ؼx%.^⌨:mb=!~$v۬.ŢVU"Q=]ML.w:xvԄUvG5ԙ>XU9ʲuf*:GwxNfΛzT@Uj]&^9:aDcz9MN6q6PxVeiQ-#]ֱp0Y܍5ăՐgUq'0v-O.*Юla0bAT ~%Q+<]^z}|;,蘚n_I.:%1߫m!{UYcCjSpEEZ |:>k9c-8 D/ |8w~\LLUJa:7O]o8fX9hs8:W NnJN[ۣZe[хyUE3>5=ܐ(}ÖRzYj4wTrNXJyU9͙q' jzٖvgw;<8։FMUo6}kv;dnIG/}]/>߭},Hx7Pw`(7X_PF9DjiE-ޥ&\8Ġ'ܸ7)eM~ۦ=~.춹 9C)EUw~r}uëxUUz)whS?k2˟Ja޷kzc(]UI8ݠ^>=Cd~/u ~p_LHﻲp[]/9LkMDV?{ jJ]/[lWxj{?oY^ {&W[#a~~rL^χ} -{  dw -rHꏞS֙/:ulk靂z2-]\WvVS]&dl%|Nq]enwY r̂x2u51+@uKOe:,I9Z݃}n~ul- M%U%lJ(0:l*\p?K6'KHH%o |M=Y%?endstream -endobj - -32570 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -32571 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -32572 0 obj -<> -endobj - -32573 0 obj -<> -endobj - -32574 0 obj -<> -endobj - -32575 0 obj -<> -endobj - -32576 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -32577 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -32578 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -32579 0 obj -<> -stream -HWkoF_1 ph΃nR 7H4D@CXWMc{[3gPpfNMyͳMj~go JO2guYGY0z9m6vbfg>tlϽf<*$5Hiiƫ(.]>f]ؖ1~Y3pٌ,纹lnX7viF7>) -S^8=l4=i?g+Z'\7 ye>~Jͅ*'.#UT`}Lr*ͩǦ^$,=Ĉef Y`Ij#r{{+ʽr>(p)p)p)9p+9p+p_(p_(p_(%p_*%p_*p_)p:kAi%hĘKXcv/1fi#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu[EVb%F,Z1K{ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZZ+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhVQZ+1fi#hĘKY6t!="ϫ@> %2(VXJ+ -J+ZʀVr+hJZ*VJU*hJZҪV%\$,%1-,вJ-Rw .kCʽXw ȽĘTȽĺ ֐@%,r@%],A%,%1-{r/1-{r/1-{r/1-{r/1-{r/1-{r/1|-{r/1|-{r/1V-{r/1Vh-1KkI/ @K>K/ @K>K@K>K@K>K@K>K@K>K@K>K@K>K@K>KZKbZ#7R@`Rl=G5֌Qu :'ɳ**Sa(4^_>_E)Q3ӎq6__t@ryRHESOʼnĬxʤd|oExܚ<a_&i'pHx[/_pE?NBK -$*W$h':aUL:QhIU~\Ѷnfɧ. K*o qY/'qݮ7K3[jX/w`zVe |t0-!:/|>_>O^7嶞^0XP"M\swJtU f/;k7ILF8sNķK-7}n^]hտS#8.9-۽y=1o>x}'O>^]οrI̾cX菋JSf>a'f.iwux`zbo{ow6^._u]\ګ!?̈́zJOFK+]h')۷Ps6rYr)ZO[=A B7ζNG&Y͙)=BLsYن:=Ǘ*4){;&Q}\̶[kb=lWfYfwĆ6>1anjbwnNb)PEn!Ţ -eK=XYF7f?89A_`P6hoy a]6FWrޮ =UE -.>;Y~v'wz,|Qom0WVh/ *OP>, Ro@"ӤF؉=Nc(}z )ġbE{G@2R4&7_3"ed5|cnx7@CaWU[ -u aU(e x{[N`z:K5KyĊ "1?})L&iaұ4AWq=>3Cm ܡv$^S'&l M #0u}l g4a2@Lzy̍`okxi2-&2'-k|\%tm Uh;=}y{/endstream -endobj - -32580 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -32581 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -32582 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -32583 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -32584 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -32585 0 obj -<> -stream -HW]۸}ׯ $Z( Xɦۤ`(f@c3JdɕRl &HD ԧ4P!@}> kDkDv8Z3P qV +TcB\c\a!rĵ>,ĵ>fXq>p-G\cB\c\a!rĵ>,ĵ>fXq>p-G\cH 1 -a}̰B>,ĵ>fXq>p@\cB\c\+a! -ĵ>,ĵ>fXq>p@\cB\c\+a! -ĵ>v$Z3P qV +TcB\c\+a!Jĵ>,ĵ>fXq>pD\cB\c\+a!Jĵ>,ĵ>fXq>pD\cH!1 -a}̰B9\ΚCr7#'lKF4%i!4d\$5/XWtO/s\}ؼ6tq*4_ukRD_=]UӔg0ke]M|FIuj&lofR7˲ :YQC'R_jfڦײe!ܬ)zj"Q4d~fۮ:&\daXU6WzQV5v':4[Y0Tv)nA؊fgE6 LQ@ACoVW~f[N\U:^Tvq>\z> -!*m ddѴ;y]޷S1G|w^m?fw cszz4jQӨ]5 e3'ϬzYg1S|ܰdF.;NtFݹ?NMS5wU P;Od0;H*A4Uw'k$KfKfSETqɌそ%M C7M]s#rѣxO,fƻ7>to;Lٚ<_嶰*bXZdg MUGO-6Z̥Ut)h!u+bvmSsSWrf7\.'{f<qoElܖ՞@Sn]vEM/:Ur"/t`cܴ8c5/@r0Ll&3I>"vҴ>C()HX{LyB3 k$fI;vd3Lf~\;^ÉNS9#^9a,%Iۦ*.hJSY*(Pͫub 3K %4,946V𬆩Rmаf,T-3q}~>/Ǣ!9 ⋵qR48[Eu 849/ni튡pMqѭ.˼N0*t]ݶ_\.n˺ܝ'r%~GIRwS,&Be22Ҟ+!9p6T=XΒ޶dYyuT,G  M-Fo Vv1Oe1?}7q7=Mj<3n,oŮ|SA -oJS\4SpIWFoK:̕cLAGљbʹY9I=Rk"#1eLYs@=,PP>Nxwnct܍ۍxW r@Is y6^RN$٥::aDؑPVaZ3L)[T@bX|302w T?P~:/ǣ2EhAJYE7RPp$[e5w$CO^Xs^ђ[S3,Ksp(Er*qw}{).}M  t `8I8vy՛m-rTꪮW+^ _vp񝃻"6]Ոg 8Ws=FkWCoK$ʛ/K(_ĵ k۝8nWв^0aЦV_aE7V;Q2JV6EqA HJoT7'_V2#7(z|03EwAf1xuud3`r8n,:ηVKq8<݆ϱi6hpC)~|9 UP_B'lcnrcq=>A?/"8Utb=oA,b2__f[!+d;lk>w^uv||0ܻOC^f.x?B2'._[L"<|ۏ !tVr?~NiXar -{V٩w{.٭F/%1h_4u%˅Ny-t+<>qT iðdձ4,IǯaEvGPvwV?pZ投tz̵`)֖wЏ$ry7H 0l#x Դ*9]s:ۼ1tSۀ%gbl3͜R/*&`f-+xZHWLr`E٭ﱠu{جns{NO}D5>x_\^,`#endstream -endobj - -32586 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -32587 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -32588 0 obj -<> -endobj - -32589 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -32590 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -32591 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -32592 0 obj -<> -stream -HWmo8_*; vפA. 4^rv,9MᣙyfzK޾=^{wy}7"O&4$!YĞ!YĞ#yĞ#yĞ#y^ E^ E^"e^"e^"e^!U^!U^#u^#u^#u M M"m"#RDm0D͡b PjCCCCCՆ6BGejCC!#2D PjCC!#2D͡j(D͡jPH QmhPH Qmhs(}Z6-69T> -Qmhs}hs}hPHQmhs(}Z6 -Qmhs(}Z69>R-GT69>R-GT -a# mBT -a# mTՆe"Ն6ه6@! mmmBT -aV mT+Ն6@! mT+Ն6BGjCՆ6BGjCC!# -D PjCC!# -D͡jжL$P1(D͡b͡b6 -߃N(9ѱ S ̦( el~M43ںTáļiBx%{&g~#Tϛ|>;=Rək1W##=h "YJ +j6_Wo4((uT0ww 0Ί(Q%e*lUjqJ2'{&ƨڿY&q 5$Jr5PhYvipE*>xEqsGgodV8;Yz`l3"<ڿcm䳪FR^TJko?_6%3֓bj=JRfX,ӴQ 2-5㾎Ye*);dIhޥi_y\CZj'V绫ݥC=7:N/e\:6X&lO?~:M!*]{me/L@d8n /oްbz yo6f2}vzV%qoxuq鶵Cp@rS®t@i'JPW+Ü+T+(f+~S4;xFli"JP{@jL]&DCզ|XkԖ݅{[Kߵkud{}cdYYEkR2hFEkDzpl\ueGM(;jZCީLC *Xכxz:R5G*Q;_$eKpcbn.-j -sbL79 4dj ɘ>`ǫzqp;]}zWQ,鶚>OxZ. \o8u0IDvK"cev}i&q[9`Aj?~jpzYTV+;eL@C2}:@+AGށ3q;c˓˽Of o;YFJ In -+K쟙Gߪ j$*y}^">Y'Y -zpUk~Gw-yɥW_Y$}rߛ]lE+]!i>=GPQ(q|yq0j=m7_8q>էOWG_|Ѳ?h_fhֺOFwGS}I d#hmGc2\,^"0?J7 j]ZJו:I9<UC K/ePlS^hL6Vf$妜6{O3 -^MۖA&rO :NQ yj#|?_R9LF~2/Ɠl=v>G!d6N狟J,!JUЩ -# 6<͸5G%9v0Rcˇ'ˬgSZ՝M|E-ٝM?x=SW4'oːhn-pau$@PWzHi8ng(4ZU^/YY~^֓eWA5nkw06D( --VD=q]MڈΞLdrlaŞM:ڥ_rYsUˆzF[wv]GwwĞ$eV:|?޴k^G#HO(ݶ(Wp -;Ph -֍xQ C$KqTl̝;qOKLs$h[z= ;; -z/]Ɲ_bBcvcPF`9ʈT -?!ɕ2Ajro|}cLyꌨϧ Z-\ ?{:~= t9"'e8]H[Zmt&^xn\v ъi}vnafeZ^}߲ULq &%KJqx?O zrE6}wLm|bDl*PեPqKZ<Ƅn_"G*˦׽(!ju%0҅˙He0 |<,ưm_|>0.BT!NUܭ7/2 Kir -W3.Dsw#$sS'ls|SvyUʨ*F35XG)f"(O˧uJ><`թ۹ :xsMo?}AsC{RXl4&R)*&"~7zDRlM6(U|1=׮r"*W]L[8XuȶjB$ MiksVT᥅*h5(>ѰR<]/ߒW}e #?5X_T9)j0)!S㽏 Ukh$Z]hM%F1~LPbn.כybi_u3hpui.UX(ӏ#¯Q4 +/iH%S>Q TC뵌)^rX#,"e/NUE=(!| K4!v>) !:48@6ki|IUlʎapM{?pholy Ibi/A[TDW,ZJ8[#mahxCs._$+m%b,VYmCSu4 l}RǤ޸üBys$/RୗF{LxlWv!p`"ks'Q6:_ht;ma}ib @[sᡑ6O6-Jr|41XfE_>=6 EVгIg)>>7]sazxy{?-endstream -endobj - -32593 0 obj -<>/P 5716 0 R/Type/Annot/A 32914 0 R/Subtype/Link/Rect[161 669 169 678]/Border[0 0 0]/H/N>> -endobj - -32594 0 obj -<>/P 5716 0 R/Type/Annot/A 32912 0 R/Subtype/Link/Rect[202 659 214 668]/Border[0 0 0]/H/N>> -endobj - -32595 0 obj -<>/P 5716 0 R/Type/Annot/A 32910 0 R/Subtype/Link/Rect[195 649 207 658]/Border[0 0 0]/H/N>> -endobj - -32596 0 obj -<>/P 5716 0 R/Type/Annot/A 32908 0 R/Subtype/Link/Rect[192 639 206 648]/Border[0 0 0]/H/N>> -endobj - -32597 0 obj -<>/P 5716 0 R/Type/Annot/A 32906 0 R/Subtype/Link/Rect[208 639 222 648]/Border[0 0 0]/H/N>> -endobj - -32598 0 obj -<>/P 5716 0 R/Type/Annot/A 32904 0 R/Subtype/Link/Rect[224 639 241 649]/Border[0 0 0]/H/N>> -endobj - -32599 0 obj -<>/P 5716 0 R/Type/Annot/A 32902 0 R/Subtype/Link/Rect[241 639 255 648]/Border[0 0 0]/H/N>> -endobj - -32600 0 obj -<>/P 5716 0 R/Type/Annot/A 32900 0 R/Subtype/Link/Rect[257 639 269 648]/Border[0 0 0]/H/N>> -endobj - -32601 0 obj -<>/P 5716 0 R/Type/Annot/A 32897 0 R/Subtype/Link/Rect[189 629 201 638]/Border[0 0 0]/H/N>> -endobj - -32602 0 obj -<>/P 5716 0 R/Type/Annot/A 32895 0 R/Subtype/Link/Rect[192 619 206 628]/Border[0 0 0]/H/N>> -endobj - -32603 0 obj -<>/P 5716 0 R/Type/Annot/A 32893 0 R/Subtype/Link/Rect[208 619 222 628]/Border[0 0 0]/H/N>> -endobj - -32604 0 obj -<>/P 5716 0 R/Type/Annot/A 32891 0 R/Subtype/Link/Rect[224 619 236 628]/Border[0 0 0]/H/N>> -endobj - -32605 0 obj -<>/P 5716 0 R/Type/Annot/A 32889 0 R/Subtype/Link/Rect[189 609 201 618]/Border[0 0 0]/H/N>> -endobj - -32606 0 obj -<>/P 5716 0 R/Type/Annot/A 32887 0 R/Subtype/Link/Rect[262 599 279 609]/Border[0 0 0]/H/N>> -endobj - -32607 0 obj -<>/P 5716 0 R/Type/Annot/A 32885 0 R/Subtype/Link/Rect[280 599 292 608]/Border[0 0 0]/H/N>> -endobj - -32608 0 obj -<>/P 5716 0 R/Type/Annot/A 32883 0 R/Subtype/Link/Rect[180 589 194 598]/Border[0 0 0]/H/N>> -endobj - -32609 0 obj -<>/P 5716 0 R/Type/Annot/A 32881 0 R/Subtype/Link/Rect[196 589 208 598]/Border[0 0 0]/H/N>> -endobj - -32610 0 obj -<>/P 5716 0 R/Type/Annot/A 32879 0 R/Subtype/Link/Rect[192 579 206 588]/Border[0 0 0]/H/N>> -endobj - -32611 0 obj -<>/P 5716 0 R/Type/Annot/A 32877 0 R/Subtype/Link/Rect[208 579 220 588]/Border[0 0 0]/H/N>> -endobj - -32612 0 obj -<>/P 5716 0 R/Type/Annot/A 32875 0 R/Subtype/Link/Rect[272 531 280 540]/Border[0 0 0]/H/N>> -endobj - -32613 0 obj -<>/P 5716 0 R/Type/Annot/A 32873 0 R/Subtype/Link/Rect[197 521 211 530]/Border[0 0 0]/H/N>> -endobj - -32614 0 obj -<>/P 5716 0 R/Type/Annot/A 32871 0 R/Subtype/Link/Rect[213 521 227 530]/Border[0 0 0]/H/N>> -endobj - -32615 0 obj -<>/P 5716 0 R/Type/Annot/A 32869 0 R/Subtype/Link/Rect[229 521 246 531]/Border[0 0 0]/H/N>> -endobj - -32616 0 obj -<>/P 5716 0 R/Type/Annot/A 32867 0 R/Subtype/Link/Rect[246 521 260 530]/Border[0 0 0]/H/N>> -endobj - -32617 0 obj -<>/P 5716 0 R/Type/Annot/A 32865 0 R/Subtype/Link/Rect[262 521 279 531]/Border[0 0 0]/H/N>> -endobj - -32618 0 obj -<>/P 5716 0 R/Type/Annot/A 32863 0 R/Subtype/Link/Rect[280 521 294 530]/Border[0 0 0]/H/N>> -endobj - -32619 0 obj -<>/P 5716 0 R/Type/Annot/A 32861 0 R/Subtype/Link/Rect[296 521 310 530]/Border[0 0 0]/H/N>> -endobj - -32620 0 obj -<>/P 5716 0 R/Type/Annot/A 32859 0 R/Subtype/Link/Rect[151 511 165 520]/Border[0 0 0]/H/N>> -endobj - -32621 0 obj -<>/P 5716 0 R/Type/Annot/A 32857 0 R/Subtype/Link/Rect[167 511 183 521]/Border[0 0 0]/H/N>> -endobj - -32622 0 obj -<>/P 5716 0 R/Type/Annot/A 32855 0 R/Subtype/Link/Rect[184 511 196 520]/Border[0 0 0]/H/N>> -endobj - -32623 0 obj -<>/P 5716 0 R/Type/Annot/A 32853 0 R/Subtype/Link/Rect[221 501 233 510]/Border[0 0 0]/H/N>> -endobj - -32624 0 obj -<>/P 5716 0 R/Type/Annot/A 32851 0 R/Subtype/Link/Rect[205 491 213 500]/Border[0 0 0]/H/N>> -endobj - -32625 0 obj -<>/P 5716 0 R/Type/Annot/A 32849 0 R/Subtype/Link/Rect[216 481 228 490]/Border[0 0 0]/H/N>> -endobj - -32626 0 obj -<>/P 5716 0 R/Type/Annot/A 32847 0 R/Subtype/Link/Rect[192 471 206 480]/Border[0 0 0]/H/N>> -endobj - -32627 0 obj -<>/P 5716 0 R/Type/Annot/A 32845 0 R/Subtype/Link/Rect[208 471 222 480]/Border[0 0 0]/H/N>> -endobj - -32628 0 obj -<>/P 5716 0 R/Type/Annot/A 32843 0 R/Subtype/Link/Rect[224 471 238 480]/Border[0 0 0]/H/N>> -endobj - -32629 0 obj -<>/P 5716 0 R/Type/Annot/A 32841 0 R/Subtype/Link/Rect[240 471 254 480]/Border[0 0 0]/H/N>> -endobj - -32630 0 obj -<>/P 5716 0 R/Type/Annot/A 32839 0 R/Subtype/Link/Rect[256 471 273 481]/Border[0 0 0]/H/N>> -endobj - -32631 0 obj -<>/P 5716 0 R/Type/Annot/A 32837 0 R/Subtype/Link/Rect[273 471 285 480]/Border[0 0 0]/H/N>> -endobj - -32632 0 obj -<>/P 5716 0 R/Type/Annot/A 32835 0 R/Subtype/Link/Rect[159 451 176 461]/Border[0 0 0]/H/N>> -endobj - -32633 0 obj -<>/P 5716 0 R/Type/Annot/A 32833 0 R/Subtype/Link/Rect[176 451 188 460]/Border[0 0 0]/H/N>> -endobj - -32634 0 obj -<>/P 5716 0 R/Type/Annot/A 32831 0 R/Subtype/Link/Rect[172 441 189 451]/Border[0 0 0]/H/N>> -endobj - -32635 0 obj -<>/P 5716 0 R/Type/Annot/A 32829 0 R/Subtype/Link/Rect[189 441 201 450]/Border[0 0 0]/H/N>> -endobj - -32636 0 obj -<>/P 5716 0 R/Type/Annot/A 32827 0 R/Subtype/Link/Rect[216 431 228 440]/Border[0 0 0]/H/N>> -endobj - -32637 0 obj -<>/P 5716 0 R/Type/Annot/A 32825 0 R/Subtype/Link/Rect[151 411 159 420]/Border[0 0 0]/H/N>> -endobj - -32638 0 obj -<>/P 5716 0 R/Type/Annot/A 32823 0 R/Subtype/Link/Rect[207 391 219 401]/Border[0 0 0]/H/N>> -endobj - -32639 0 obj -<>/P 5716 0 R/Type/Annot/A 32821 0 R/Subtype/Link/Rect[220 391 230 400]/Border[0 0 0]/H/N>> -endobj - -32640 0 obj -<>/P 5716 0 R/Type/Annot/A 32819 0 R/Subtype/Link/Rect[232 391 244 400]/Border[0 0 0]/H/N>> -endobj - -32641 0 obj -<>/P 5716 0 R/Type/Annot/A 32817 0 R/Subtype/Link/Rect[197 381 211 390]/Border[0 0 0]/H/N>> -endobj - -32642 0 obj -<>/P 5716 0 R/Type/Annot/A 32815 0 R/Subtype/Link/Rect[213 381 227 390]/Border[0 0 0]/H/N>> -endobj - -32643 0 obj -<>/P 5716 0 R/Type/Annot/A 32813 0 R/Subtype/Link/Rect[229 381 246 391]/Border[0 0 0]/H/N>> -endobj - -32644 0 obj -<>/P 5716 0 R/Type/Annot/A 33018 0 R/Subtype/Link/Rect[246 381 260 390]/Border[0 0 0]/H/N>> -endobj - -32645 0 obj -<>/P 5716 0 R/Type/Annot/A 33016 0 R/Subtype/Link/Rect[262 381 276 390]/Border[0 0 0]/H/N>> -endobj - -32646 0 obj -<>/P 5716 0 R/Type/Annot/A 33014 0 R/Subtype/Link/Rect[278 381 295 391]/Border[0 0 0]/H/N>> -endobj - -32647 0 obj -<>/P 5716 0 R/Type/Annot/A 33012 0 R/Subtype/Link/Rect[296 381 308 390]/Border[0 0 0]/H/N>> -endobj - -32648 0 obj -<>/P 5716 0 R/Type/Annot/A 33009 0 R/Subtype/Link/Rect[197 371 214 381]/Border[0 0 0]/H/N>> -endobj - -32649 0 obj -<>/P 5716 0 R/Type/Annot/A 33006 0 R/Subtype/Link/Rect[214 371 226 380]/Border[0 0 0]/H/N>> -endobj - -32650 0 obj -<>/P 5716 0 R/Type/Annot/A 33003 0 R/Subtype/Link/Rect[229 361 241 370]/Border[0 0 0]/H/N>> -endobj - -32651 0 obj -<>/P 5716 0 R/Type/Annot/A 33000 0 R/Subtype/Link/Rect[197 351 211 360]/Border[0 0 0]/H/N>> -endobj - -32652 0 obj -<>/P 5716 0 R/Type/Annot/A 32996 0 R/Subtype/Link/Rect[213 351 227 360]/Border[0 0 0]/H/N>> -endobj - -32653 0 obj -<>/P 5716 0 R/Type/Annot/A 32993 0 R/Subtype/Link/Rect[229 351 241 360]/Border[0 0 0]/H/N>> -endobj - -32654 0 obj -<>/P 5716 0 R/Type/Annot/A 32990 0 R/Subtype/Link/Rect[192 341 206 350]/Border[0 0 0]/H/N>> -endobj - -32655 0 obj -<>/P 5716 0 R/Type/Annot/A 32987 0 R/Subtype/Link/Rect[208 341 222 350]/Border[0 0 0]/H/N>> -endobj - -32656 0 obj -<>/P 5716 0 R/Type/Annot/A 32984 0 R/Subtype/Link/Rect[224 341 238 350]/Border[0 0 0]/H/N>> -endobj - -32657 0 obj -<>/P 5716 0 R/Type/Annot/A 32981 0 R/Subtype/Link/Rect[240 341 252 350]/Border[0 0 0]/H/N>> -endobj - -32658 0 obj -<>/P 5716 0 R/Type/Annot/A 32978 0 R/Subtype/Link/Rect[197 331 211 340]/Border[0 0 0]/H/N>> -endobj - -32659 0 obj -<>/P 5716 0 R/Type/Annot/A 33034 0 R/Subtype/Link/Rect[213 331 227 340]/Border[0 0 0]/H/N>> -endobj - -32660 0 obj -<>/P 5716 0 R/Type/Annot/A 33031 0 R/Subtype/Link/Rect[229 331 241 340]/Border[0 0 0]/H/N>> -endobj - -32661 0 obj -<>/P 5716 0 R/Type/Annot/A 33030 0 R/Subtype/Link/Rect[216 321 228 330]/Border[0 0 0]/H/N>> -endobj - -32662 0 obj -<>/P 5716 0 R/Type/Annot/A 33029 0 R/Subtype/Link/Rect[216 311 228 320]/Border[0 0 0]/H/N>> -endobj - -32663 0 obj -<>/P 5716 0 R/Type/Annot/A 33028 0 R/Subtype/Link/Rect[216 301 228 310]/Border[0 0 0]/H/N>> -endobj - -32664 0 obj -<>/P 5716 0 R/Type/Annot/A 33027 0 R/Subtype/Link/Rect[216 291 228 300]/Border[0 0 0]/H/N>> -endobj - -32665 0 obj -<>/P 5716 0 R/Type/Annot/A 33026 0 R/Subtype/Link/Rect[216 281 228 290]/Border[0 0 0]/H/N>> -endobj - -32666 0 obj -<>/P 5716 0 R/Type/Annot/A 33025 0 R/Subtype/Link/Rect[216 271 228 280]/Border[0 0 0]/H/N>> -endobj - -32667 0 obj -<>/P 5716 0 R/Type/Annot/A 33024 0 R/Subtype/Link/Rect[216 261 228 270]/Border[0 0 0]/H/N>> -endobj - -32668 0 obj -<>/P 5716 0 R/Type/Annot/A 33023 0 R/Subtype/Link/Rect[216 251 228 260]/Border[0 0 0]/H/N>> -endobj - -32669 0 obj -<>/P 5716 0 R/Type/Annot/A 33022 0 R/Subtype/Link/Rect[202 231 216 240]/Border[0 0 0]/H/N>> -endobj - -32670 0 obj -<>/P 5716 0 R/Type/Annot/A 33021 0 R/Subtype/Link/Rect[218 231 230 240]/Border[0 0 0]/H/N>> -endobj - -32671 0 obj -<>/P 5716 0 R/Type/Annot/A 33020 0 R/Subtype/Link/Rect[271 221 287 231]/Border[0 0 0]/H/N>> -endobj - -32672 0 obj -<>/P 5716 0 R/Type/Annot/A 33019 0 R/Subtype/Link/Rect[288 221 300 230]/Border[0 0 0]/H/N>> -endobj - -32673 0 obj -<>/P 5716 0 R/Type/Annot/A 33017 0 R/Subtype/Link/Rect[247 211 255 220]/Border[0 0 0]/H/N>> -endobj - -32674 0 obj -<>/P 5716 0 R/Type/Annot/A 33015 0 R/Subtype/Link/Rect[216 201 228 210]/Border[0 0 0]/H/N>> -endobj - -32675 0 obj -<>/P 5716 0 R/Type/Annot/A 33013 0 R/Subtype/Link/Rect[215 191 227 200]/Border[0 0 0]/H/N>> -endobj - -32676 0 obj -<>/P 5716 0 R/Type/Annot/A 33011 0 R/Subtype/Link/Rect[157 181 167 190]/Border[0 0 0]/H/N>> -endobj - -32677 0 obj -<>/P 5716 0 R/Type/Annot/A 32942 0 R/Subtype/Link/Rect[169 181 181 190]/Border[0 0 0]/H/N>> -endobj - -32678 0 obj -<>/P 5716 0 R/Type/Annot/A 33007 0 R/Subtype/Link/Rect[245 171 257 180]/Border[0 0 0]/H/N>> -endobj - -32679 0 obj -<>/P 5716 0 R/Type/Annot/A 33004 0 R/Subtype/Link/Rect[211 161 223 170]/Border[0 0 0]/H/N>> -endobj - -32680 0 obj -<>/P 5716 0 R/Type/Annot/A 33001 0 R/Subtype/Link/Rect[240 151 254 160]/Border[0 0 0]/H/N>> -endobj - -32681 0 obj -<>/P 5716 0 R/Type/Annot/A 32997 0 R/Subtype/Link/Rect[256 151 273 161]/Border[0 0 0]/H/N>> -endobj - -32682 0 obj -<>/P 5716 0 R/Type/Annot/A 32994 0 R/Subtype/Link/Rect[273 151 285 160]/Border[0 0 0]/H/N>> -endobj - -32683 0 obj -<>/P 5716 0 R/Type/Annot/A 32991 0 R/Subtype/Link/Rect[401 669 415 678]/Border[0 0 0]/H/N>> -endobj - -32684 0 obj -<>/P 5716 0 R/Type/Annot/A 32988 0 R/Subtype/Link/Rect[417 669 431 678]/Border[0 0 0]/H/N>> -endobj - -32685 0 obj -<>/P 5716 0 R/Type/Annot/A 32985 0 R/Subtype/Link/Rect[433 669 447 678]/Border[0 0 0]/H/N>> -endobj - -32686 0 obj -<>/P 5716 0 R/Type/Annot/A 32983 0 R/Subtype/Link/Rect[449 669 463 678]/Border[0 0 0]/H/N>> -endobj - -32687 0 obj -<>/P 5716 0 R/Type/Annot/A 32980 0 R/Subtype/Link/Rect[465 669 477 678]/Border[0 0 0]/H/N>> -endobj - -32688 0 obj -<>/P 5716 0 R/Type/Annot/A 32977 0 R/Subtype/Link/Rect[419 659 433 668]/Border[0 0 0]/H/N>> -endobj - -32689 0 obj -<>/P 5716 0 R/Type/Annot/A 32975 0 R/Subtype/Link/Rect[435 659 447 668]/Border[0 0 0]/H/N>> -endobj - -32690 0 obj -<>/P 5716 0 R/Type/Annot/A 32973 0 R/Subtype/Link/Rect[419 649 433 658]/Border[0 0 0]/H/N>> -endobj - -32691 0 obj -<>/P 5716 0 R/Type/Annot/A 32971 0 R/Subtype/Link/Rect[435 649 447 658]/Border[0 0 0]/H/N>> -endobj - -32692 0 obj -<>/P 5716 0 R/Type/Annot/A 32969 0 R/Subtype/Link/Rect[397 639 409 648]/Border[0 0 0]/H/N>> -endobj - -32693 0 obj -<>/P 5716 0 R/Type/Annot/A 32967 0 R/Subtype/Link/Rect[419 629 431 638]/Border[0 0 0]/H/N>> -endobj - -32694 0 obj -<>/P 5716 0 R/Type/Annot/A 32965 0 R/Subtype/Link/Rect[397 619 409 628]/Border[0 0 0]/H/N>> -endobj - -32695 0 obj -<>/P 5716 0 R/Type/Annot/A 32963 0 R/Subtype/Link/Rect[405 609 417 618]/Border[0 0 0]/H/N>> -endobj - -32696 0 obj -<>/P 5716 0 R/Type/Annot/A 32961 0 R/Subtype/Link/Rect[396 599 410 608]/Border[0 0 0]/H/N>> -endobj - -32697 0 obj -<>/P 5716 0 R/Type/Annot/A 32959 0 R/Subtype/Link/Rect[412 599 426 608]/Border[0 0 0]/H/N>> -endobj - -32698 0 obj -<>/P 5716 0 R/Type/Annot/A 32957 0 R/Subtype/Link/Rect[428 599 442 608]/Border[0 0 0]/H/N>> -endobj - -32699 0 obj -<>/P 5716 0 R/Type/Annot/A 32955 0 R/Subtype/Link/Rect[444 599 461 609]/Border[0 0 0]/H/N>> -endobj - -32700 0 obj -<>/P 5716 0 R/Type/Annot/A 32953 0 R/Subtype/Link/Rect[462 599 476 608]/Border[0 0 0]/H/N>> -endobj - -32701 0 obj -<>/P 5716 0 R/Type/Annot/A 32951 0 R/Subtype/Link/Rect[478 599 492 608]/Border[0 0 0]/H/N>> -endobj - -32702 0 obj -<>/P 5716 0 R/Type/Annot/A 32950 0 R/Subtype/Link/Rect[494 599 508 608]/Border[0 0 0]/H/N>> -endobj - -32703 0 obj -<>/P 5716 0 R/Type/Annot/A 32949 0 R/Subtype/Link/Rect[359 589 375 599]/Border[0 0 0]/H/N>> -endobj - -32704 0 obj -<>/P 5716 0 R/Type/Annot/A 32947 0 R/Subtype/Link/Rect[376 589 390 598]/Border[0 0 0]/H/N>> -endobj - -32705 0 obj -<>/P 5716 0 R/Type/Annot/A 32945 0 R/Subtype/Link/Rect[392 589 406 598]/Border[0 0 0]/H/N>> -endobj - -32706 0 obj -<>/P 5716 0 R/Type/Annot/A 32944 0 R/Subtype/Link/Rect[408 589 422 598]/Border[0 0 0]/H/N>> -endobj - -32707 0 obj -<>/P 5716 0 R/Type/Annot/A 32943 0 R/Subtype/Link/Rect[424 589 438 598]/Border[0 0 0]/H/N>> -endobj - -32708 0 obj -<>/P 5716 0 R/Type/Annot/A 32941 0 R/Subtype/Link/Rect[440 589 454 598]/Border[0 0 0]/H/N>> -endobj - -32709 0 obj -<>/P 5716 0 R/Type/Annot/A 32940 0 R/Subtype/Link/Rect[456 589 470 598]/Border[0 0 0]/H/N>> -endobj - -32710 0 obj -<>/P 5716 0 R/Type/Annot/A 32939 0 R/Subtype/Link/Rect[472 589 486 598]/Border[0 0 0]/H/N>> -endobj - -32711 0 obj -<>/P 5716 0 R/Type/Annot/A 32938 0 R/Subtype/Link/Rect[488 589 502 598]/Border[0 0 0]/H/N>> -endobj - -32712 0 obj -<>/P 5716 0 R/Type/Annot/A 32937 0 R/Subtype/Link/Rect[359 579 375 589]/Border[0 0 0]/H/N>> -endobj - -32713 0 obj -<>/P 5716 0 R/Type/Annot/A 32936 0 R/Subtype/Link/Rect[376 579 390 588]/Border[0 0 0]/H/N>> -endobj - -32714 0 obj -<>/P 5716 0 R/Type/Annot/A 32935 0 R/Subtype/Link/Rect[392 579 406 588]/Border[0 0 0]/H/N>> -endobj - -32715 0 obj -<>/P 5716 0 R/Type/Annot/A 32934 0 R/Subtype/Link/Rect[408 579 422 588]/Border[0 0 0]/H/N>> -endobj - -32716 0 obj -<>/P 5716 0 R/Type/Annot/A 32933 0 R/Subtype/Link/Rect[424 579 436 588]/Border[0 0 0]/H/N>> -endobj - -32717 0 obj -<>/P 5716 0 R/Type/Annot/A 32932 0 R/Subtype/Link/Rect[424 569 438 578]/Border[0 0 0]/H/N>> -endobj - -32718 0 obj -<>/P 5716 0 R/Type/Annot/A 32931 0 R/Subtype/Link/Rect[440 569 452 578]/Border[0 0 0]/H/N>> -endobj - -32719 0 obj -<>/P 5716 0 R/Type/Annot/A 32930 0 R/Subtype/Link/Rect[397 559 409 568]/Border[0 0 0]/H/N>> -endobj - -32720 0 obj -<>/P 5716 0 R/Type/Annot/A 32929 0 R/Subtype/Link/Rect[428 549 440 558]/Border[0 0 0]/H/N>> -endobj - -32721 0 obj -<>/P 5716 0 R/Type/Annot/A 32928 0 R/Subtype/Link/Rect[434 539 448 548]/Border[0 0 0]/H/N>> -endobj - -32722 0 obj -<>/P 5716 0 R/Type/Annot/A 32927 0 R/Subtype/Link/Rect[450 539 464 548]/Border[0 0 0]/H/N>> -endobj - -32723 0 obj -<>/P 5716 0 R/Type/Annot/A 32926 0 R/Subtype/Link/Rect[466 539 480 548]/Border[0 0 0]/H/N>> -endobj - -32724 0 obj -<>/P 5716 0 R/Type/Annot/A 32924 0 R/Subtype/Link/Rect[482 539 494 548]/Border[0 0 0]/H/N>> -endobj - -32725 0 obj -<>/P 5716 0 R/Type/Annot/A 32923 0 R/Subtype/Link/Rect[397 529 409 538]/Border[0 0 0]/H/N>> -endobj - -32726 0 obj -<>/P 5716 0 R/Type/Annot/A 32922 0 R/Subtype/Link/Rect[434 519 448 528]/Border[0 0 0]/H/N>> -endobj - -32727 0 obj -<>/P 5716 0 R/Type/Annot/A 32921 0 R/Subtype/Link/Rect[450 519 464 528]/Border[0 0 0]/H/N>> -endobj - -32728 0 obj -<>/P 5716 0 R/Type/Annot/A 32920 0 R/Subtype/Link/Rect[466 519 478 528]/Border[0 0 0]/H/N>> -endobj - -32729 0 obj -<>/P 5716 0 R/Type/Annot/A 32919 0 R/Subtype/Link/Rect[397 509 409 518]/Border[0 0 0]/H/N>> -endobj - -32730 0 obj -<>/P 5716 0 R/Type/Annot/A 32918 0 R/Subtype/Link/Rect[424 499 441 509]/Border[0 0 0]/H/N>> -endobj - -32731 0 obj -<>/P 5716 0 R/Type/Annot/A 32917 0 R/Subtype/Link/Rect[441 499 455 508]/Border[0 0 0]/H/N>> -endobj - -32732 0 obj -<>/P 5716 0 R/Type/Annot/A 32916 0 R/Subtype/Link/Rect[457 499 471 508]/Border[0 0 0]/H/N>> -endobj - -32733 0 obj -<>/P 5716 0 R/Type/Annot/A 32915 0 R/Subtype/Link/Rect[473 499 490 509]/Border[0 0 0]/H/N>> -endobj - -32734 0 obj -<>/P 5716 0 R/Type/Annot/A 32913 0 R/Subtype/Link/Rect[491 499 505 508]/Border[0 0 0]/H/N>> -endobj - -32735 0 obj -<>/P 5716 0 R/Type/Annot/A 32911 0 R/Subtype/Link/Rect[359 489 373 498]/Border[0 0 0]/H/N>> -endobj - -32736 0 obj -<>/P 5716 0 R/Type/Annot/A 32909 0 R/Subtype/Link/Rect[375 489 387 498]/Border[0 0 0]/H/N>> -endobj - -32737 0 obj -<>/P 5716 0 R/Type/Annot/A 32907 0 R/Subtype/Link/Rect[397 479 411 488]/Border[0 0 0]/H/N>> -endobj - -32738 0 obj -<>/P 5716 0 R/Type/Annot/A 32905 0 R/Subtype/Link/Rect[413 479 425 488]/Border[0 0 0]/H/N>> -endobj - -32739 0 obj -<>/P 5716 0 R/Type/Annot/A 32903 0 R/Subtype/Link/Rect[391 469 403 478]/Border[0 0 0]/H/N>> -endobj - -32740 0 obj -<>/P 5716 0 R/Type/Annot/A 32901 0 R/Subtype/Link/Rect[400 459 414 468]/Border[0 0 0]/H/N>> -endobj - -32741 0 obj -<>/P 5716 0 R/Type/Annot/A 32899 0 R/Subtype/Link/Rect[416 459 428 468]/Border[0 0 0]/H/N>> -endobj - -32742 0 obj -<>/P 5716 0 R/Type/Annot/A 32896 0 R/Subtype/Link/Rect[366 449 376 458]/Border[0 0 0]/H/N>> -endobj - -32743 0 obj -<>/P 5716 0 R/Type/Annot/A 32894 0 R/Subtype/Link/Rect[378 449 390 459]/Border[0 0 0]/H/N>> -endobj - -32744 0 obj -<>/P 5716 0 R/Type/Annot/A 32892 0 R/Subtype/Link/Rect[391 449 401 458]/Border[0 0 0]/H/N>> -endobj - -32745 0 obj -<>/P 5716 0 R/Type/Annot/A 32890 0 R/Subtype/Link/Rect[403 449 413 458]/Border[0 0 0]/H/N>> -endobj - -32746 0 obj -<>/P 5716 0 R/Type/Annot/A 32888 0 R/Subtype/Link/Rect[415 449 429 458]/Border[0 0 0]/H/N>> -endobj - -32747 0 obj -<>/P 5716 0 R/Type/Annot/A 32886 0 R/Subtype/Link/Rect[431 449 447 459]/Border[0 0 0]/H/N>> -endobj - -32748 0 obj -<>/P 5716 0 R/Type/Annot/A 32884 0 R/Subtype/Link/Rect[448 449 461 458]/Border[0 0 0]/H/N>> -endobj - -32749 0 obj -<>/P 5716 0 R/Type/Annot/A 32882 0 R/Subtype/Link/Rect[463 449 477 458]/Border[0 0 0]/H/N>> -endobj - -32750 0 obj -<>/P 5716 0 R/Type/Annot/A 32880 0 R/Subtype/Link/Rect[479 449 493 458]/Border[0 0 0]/H/N>> -endobj - -32751 0 obj -<>/P 5716 0 R/Type/Annot/A 32878 0 R/Subtype/Link/Rect[495 449 509 458]/Border[0 0 0]/H/N>> -endobj - -32752 0 obj -<>/P 5716 0 R/Type/Annot/A 32876 0 R/Subtype/Link/Rect[359 439 375 449]/Border[0 0 0]/H/N>> -endobj - -32753 0 obj -<>/P 5716 0 R/Type/Annot/A 32874 0 R/Subtype/Link/Rect[376 439 390 448]/Border[0 0 0]/H/N>> -endobj - -32754 0 obj -<>/P 5716 0 R/Type/Annot/A 32872 0 R/Subtype/Link/Rect[392 439 409 449]/Border[0 0 0]/H/N>> -endobj - -32755 0 obj -<>/P 5716 0 R/Type/Annot/A 32998 0 R/Subtype/Link/Rect[409 439 423 448]/Border[0 0 0]/H/N>> -endobj - -32756 0 obj -<>/P 5716 0 R/Type/Annot/A 32870 0 R/Subtype/Link/Rect[425 439 439 448]/Border[0 0 0]/H/N>> -endobj - -32757 0 obj -<>/P 5716 0 R/Type/Annot/A 32868 0 R/Subtype/Link/Rect[441 439 455 448]/Border[0 0 0]/H/N>> -endobj - -32758 0 obj -<>/P 5716 0 R/Type/Annot/A 32866 0 R/Subtype/Link/Rect[457 439 471 448]/Border[0 0 0]/H/N>> -endobj - -32759 0 obj -<>/P 5716 0 R/Type/Annot/A 32864 0 R/Subtype/Link/Rect[473 439 487 448]/Border[0 0 0]/H/N>> -endobj - -32760 0 obj -<>/P 5716 0 R/Type/Annot/A 32862 0 R/Subtype/Link/Rect[489 439 503 448]/Border[0 0 0]/H/N>> -endobj - -32761 0 obj -<>/P 5716 0 R/Type/Annot/A 32860 0 R/Subtype/Link/Rect[505 439 517 448]/Border[0 0 0]/H/N>> -endobj - -32762 0 obj -<>/P 5716 0 R/Type/Annot/A 32858 0 R/Subtype/Link/Rect[403 429 413 438]/Border[0 0 0]/H/N>> -endobj - -32763 0 obj -<>/P 5716 0 R/Type/Annot/A 32856 0 R/Subtype/Link/Rect[415 429 427 438]/Border[0 0 0]/H/N>> -endobj - -32764 0 obj -<>/P 5716 0 R/Type/Annot/A 32854 0 R/Subtype/Link/Rect[400 419 414 428]/Border[0 0 0]/H/N>> -endobj - -32765 0 obj -<>/P 5716 0 R/Type/Annot/A 32852 0 R/Subtype/Link/Rect[416 419 430 428]/Border[0 0 0]/H/N>> -endobj - -32766 0 obj -<>/P 5716 0 R/Type/Annot/A 32850 0 R/Subtype/Link/Rect[432 419 446 428]/Border[0 0 0]/H/N>> -endobj - -32767 0 obj -<>/P 5716 0 R/Type/Annot/A 32848 0 R/Subtype/Link/Rect[448 419 465 429]/Border[0 0 0]/H/N>> -endobj - -32768 0 obj -<>/P 5716 0 R/Type/Annot/A 32846 0 R/Subtype/Link/Rect[465 419 477 428]/Border[0 0 0]/H/N>> -endobj - -32769 0 obj -<>/P 5716 0 R/Type/Annot/A 32844 0 R/Subtype/Link/Rect[423 409 435 418]/Border[0 0 0]/H/N>> -endobj - -32770 0 obj -<>/P 5716 0 R/Type/Annot/A 32842 0 R/Subtype/Link/Rect[413 379 425 388]/Border[0 0 0]/H/N>> -endobj - -32771 0 obj -<>/P 5716 0 R/Type/Annot/A 32840 0 R/Subtype/Link/Rect[394 319 406 328]/Border[0 0 0]/H/N>> -endobj - -32772 0 obj -<>/P 5716 0 R/Type/Annot/A 32838 0 R/Subtype/Link/Rect[394 309 410 319]/Border[0 0 0]/H/N>> -endobj - -32773 0 obj -<>/P 5716 0 R/Type/Annot/A 32836 0 R/Subtype/Link/Rect[411 309 425 318]/Border[0 0 0]/H/N>> -endobj - -32774 0 obj -<>/P 5716 0 R/Type/Annot/A 32834 0 R/Subtype/Link/Rect[427 309 439 318]/Border[0 0 0]/H/N>> -endobj - -32775 0 obj -<>/P 5716 0 R/Type/Annot/A 32832 0 R/Subtype/Link/Rect[428 289 445 299]/Border[0 0 0]/H/N>> -endobj - -32776 0 obj -<>/P 5716 0 R/Type/Annot/A 32830 0 R/Subtype/Link/Rect[445 289 459 298]/Border[0 0 0]/H/N>> -endobj - -32777 0 obj -<>/P 5716 0 R/Type/Annot/A 32828 0 R/Subtype/Link/Rect[461 289 475 298]/Border[0 0 0]/H/N>> -endobj - -32778 0 obj -<>/P 5716 0 R/Type/Annot/A 32826 0 R/Subtype/Link/Rect[477 289 491 298]/Border[0 0 0]/H/N>> -endobj - -32779 0 obj -<>/P 5716 0 R/Type/Annot/A 32824 0 R/Subtype/Link/Rect[359 279 375 289]/Border[0 0 0]/H/N>> -endobj - -32780 0 obj -<>/P 5716 0 R/Type/Annot/A 32822 0 R/Subtype/Link/Rect[376 279 390 288]/Border[0 0 0]/H/N>> -endobj - -32781 0 obj -<>/P 5716 0 R/Type/Annot/A 32820 0 R/Subtype/Link/Rect[392 279 406 288]/Border[0 0 0]/H/N>> -endobj - -32782 0 obj -<>/P 5716 0 R/Type/Annot/A 32818 0 R/Subtype/Link/Rect[408 279 420 288]/Border[0 0 0]/H/N>> -endobj - -32783 0 obj -<>/P 5716 0 R/Type/Annot/A 32816 0 R/Subtype/Link/Rect[410 269 422 279]/Border[0 0 0]/H/N>> -endobj - -32784 0 obj -<>/P 5716 0 R/Type/Annot/A 32814 0 R/Subtype/Link/Rect[423 269 431 278]/Border[0 0 0]/H/N>> -endobj - -32785 0 obj -<>/P 5716 0 R/Type/Annot/A 33010 0 R/Subtype/Link/Rect[410 259 422 269]/Border[0 0 0]/H/N>> -endobj - -32786 0 obj -<>/P 5716 0 R/Type/Annot/A 33008 0 R/Subtype/Link/Rect[423 259 431 268]/Border[0 0 0]/H/N>> -endobj - -32787 0 obj -<>/P 5716 0 R/Type/Annot/A 33005 0 R/Subtype/Link/Rect[428 249 442 258]/Border[0 0 0]/H/N>> -endobj - -32788 0 obj -<>/P 5716 0 R/Type/Annot/A 33002 0 R/Subtype/Link/Rect[444 249 458 258]/Border[0 0 0]/H/N>> -endobj - -32789 0 obj -<>/P 5716 0 R/Type/Annot/A 32999 0 R/Subtype/Link/Rect[460 249 474 258]/Border[0 0 0]/H/N>> -endobj - -32790 0 obj -<>/P 5716 0 R/Type/Annot/A 32995 0 R/Subtype/Link/Rect[476 249 488 258]/Border[0 0 0]/H/N>> -endobj - -32791 0 obj -<>/P 5716 0 R/Type/Annot/A 32992 0 R/Subtype/Link/Rect[428 239 436 248]/Border[0 0 0]/H/N>> -endobj - -32792 0 obj -<>/P 5716 0 R/Type/Annot/A 32989 0 R/Subtype/Link/Rect[403 219 417 228]/Border[0 0 0]/H/N>> -endobj - -32793 0 obj -<>/P 5716 0 R/Type/Annot/A 32986 0 R/Subtype/Link/Rect[419 219 436 229]/Border[0 0 0]/H/N>> -endobj - -32794 0 obj -<>/P 5716 0 R/Type/Annot/A 32925 0 R/Subtype/Link/Rect[436 219 448 228]/Border[0 0 0]/H/N>> -endobj - -32795 0 obj -<>/P 5716 0 R/Type/Annot/A 32982 0 R/Subtype/Link/Rect[427 209 439 218]/Border[0 0 0]/H/N>> -endobj - -32796 0 obj -<>/P 5716 0 R/Type/Annot/A 32979 0 R/Subtype/Link/Rect[386 199 399 209]/Border[0 0 0]/H/N>> -endobj - -32797 0 obj -<>/P 5716 0 R/Type/Annot/A 32976 0 R/Subtype/Link/Rect[400 199 408 208]/Border[0 0 0]/H/N>> -endobj - -32798 0 obj -<>/P 5716 0 R/Type/Annot/A 32974 0 R/Subtype/Link/Rect[412 189 422 198]/Border[0 0 0]/H/N>> -endobj - -32799 0 obj -<>/P 5716 0 R/Type/Annot/A 32972 0 R/Subtype/Link/Rect[424 189 441 199]/Border[0 0 0]/H/N>> -endobj - -32800 0 obj -<>/P 5716 0 R/Type/Annot/A 32970 0 R/Subtype/Link/Rect[442 189 454 198]/Border[0 0 0]/H/N>> -endobj - -32801 0 obj -<>/P 5716 0 R/Type/Annot/A 32968 0 R/Subtype/Link/Rect[416 179 432 189]/Border[0 0 0]/H/N>> -endobj - -32802 0 obj -<>/P 5716 0 R/Type/Annot/A 32966 0 R/Subtype/Link/Rect[433 179 445 188]/Border[0 0 0]/H/N>> -endobj - -32803 0 obj -<>/P 5716 0 R/Type/Annot/A 32964 0 R/Subtype/Link/Rect[399 169 416 179]/Border[0 0 0]/H/N>> -endobj - -32804 0 obj -<>/P 5716 0 R/Type/Annot/A 32962 0 R/Subtype/Link/Rect[417 169 429 178]/Border[0 0 0]/H/N>> -endobj - -32805 0 obj -<>/P 5716 0 R/Type/Annot/A 32960 0 R/Subtype/Link/Rect[398 159 415 169]/Border[0 0 0]/H/N>> -endobj - -32806 0 obj -<>/P 5716 0 R/Type/Annot/A 32958 0 R/Subtype/Link/Rect[415 159 427 168]/Border[0 0 0]/H/N>> -endobj - -32807 0 obj -<>/P 5716 0 R/Type/Annot/A 32956 0 R/Subtype/Link/Rect[422 149 439 159]/Border[0 0 0]/H/N>> -endobj - -32808 0 obj -<>/P 5716 0 R/Type/Annot/A 32954 0 R/Subtype/Link/Rect[440 149 454 158]/Border[0 0 0]/H/N>> -endobj - -32809 0 obj -<>/P 5716 0 R/Type/Annot/A 32952 0 R/Subtype/Link/Rect[456 149 468 158]/Border[0 0 0]/H/N>> -endobj - -32810 0 obj -<>/P 5716 0 R/Type/Annot/A 32898 0 R/Subtype/Link/Rect[195 390 205 399]/Border[0 0 0]/H/N>> -endobj - -32811 0 obj -<>/P 5716 0 R/Type/Annot/A 32948 0 R/Subtype/Link/Rect[360 368 373 377]/Border[0 0 0]/H/N>> -endobj - -32812 0 obj -<>/P 5716 0 R/Type/Annot/A 32946 0 R/Subtype/Link/Rect[163 240 173 249]/Border[0 0 0]/H/N>> -endobj - -32813 0 obj -<> -endobj - -32814 0 obj -<> -endobj - -32815 0 obj -<> -endobj - -32816 0 obj -<> -endobj - -32817 0 obj -<> -endobj - -32818 0 obj -<> -endobj - -32819 0 obj -<> -endobj - -32820 0 obj -<> -endobj - -32821 0 obj -<> -endobj - -32822 0 obj -<> -endobj - -32823 0 obj -<> -endobj - -32824 0 obj -<> -endobj - -32825 0 obj -<> -endobj - -32826 0 obj -<> -endobj - -32827 0 obj -<> -endobj - -32828 0 obj -<> -endobj - -32829 0 obj -<> -endobj - -32830 0 obj -<> -endobj - -32831 0 obj -<> -endobj - -32832 0 obj -<> -endobj - -32833 0 obj -<> -endobj - -32834 0 obj -<> -endobj - -32835 0 obj -<> -endobj - -32836 0 obj -<> -endobj - -32837 0 obj -<> -endobj - -32838 0 obj -<> -endobj - -32839 0 obj -<> -endobj - -32840 0 obj -<> -endobj - -32841 0 obj -<> -endobj - -32842 0 obj -<> -endobj - -32843 0 obj -<> -endobj - -32844 0 obj -<> -endobj - -32845 0 obj -<> -endobj - -32846 0 obj -<> -endobj - -32847 0 obj -<> -endobj - -32848 0 obj -<> -endobj - -32849 0 obj -<> -endobj - -32850 0 obj -<> -endobj - -32851 0 obj -<> -endobj - -32852 0 obj -<> -endobj - -32853 0 obj -<> -endobj - -32854 0 obj -<> -endobj - -32855 0 obj -<> -endobj - -32856 0 obj -<> -endobj - -32857 0 obj -<> -endobj - -32858 0 obj -<> -endobj - -32859 0 obj -<> -endobj - -32860 0 obj -<> -endobj - -32861 0 obj -<> -endobj - -32862 0 obj -<> -endobj - -32863 0 obj -<> -endobj - -32864 0 obj -<> -endobj - -32865 0 obj -<> -endobj - -32866 0 obj -<> -endobj - -32867 0 obj -<> -endobj - -32868 0 obj -<> -endobj - -32869 0 obj -<> -endobj - -32870 0 obj -<> -endobj - -32871 0 obj -<> -endobj - -32872 0 obj -<> -endobj - -32873 0 obj -<> -endobj - -32874 0 obj -<> -endobj - -32875 0 obj -<> -endobj - -32876 0 obj -<> -endobj - -32877 0 obj -<> -endobj - -32878 0 obj -<> -endobj - -32879 0 obj -<> -endobj - -32880 0 obj -<> -endobj - -32881 0 obj -<> -endobj - -32882 0 obj -<> -endobj - -32883 0 obj -<> -endobj - -32884 0 obj -<> -endobj - -32885 0 obj -<> -endobj - -32886 0 obj -<> -endobj - -32887 0 obj -<> -endobj - -32888 0 obj -<> -endobj - -32889 0 obj -<> -endobj - -32890 0 obj -<> -endobj - -32891 0 obj -<> -endobj - -32892 0 obj -<> -endobj - -32893 0 obj -<> -endobj - -32894 0 obj -<> -endobj - -32895 0 obj -<> -endobj - -32896 0 obj -<> -endobj - -32897 0 obj -<> -endobj - -32898 0 obj -<> -endobj - -32899 0 obj -<> -endobj - -32900 0 obj -<> -endobj - -32901 0 obj -<> -endobj - -32902 0 obj -<> -endobj - -32903 0 obj -<> -endobj - -32904 0 obj -<> -endobj - -32905 0 obj -<> -endobj - -32906 0 obj -<> -endobj - -32907 0 obj -<> -endobj - -32908 0 obj -<> -endobj - -32909 0 obj -<> -endobj - -32910 0 obj -<> -endobj - -32911 0 obj -<> -endobj - -32912 0 obj -<> -endobj - -32913 0 obj -<> -endobj - -32914 0 obj -<> -endobj - -32915 0 obj -<> -endobj - -32916 0 obj -<> -endobj - -32917 0 obj -<> -endobj - -32918 0 obj -<> -endobj - -32919 0 obj -<> -endobj - -32920 0 obj -<> -endobj - -32921 0 obj -<> -endobj - -32922 0 obj -<> -endobj - -32923 0 obj -<> -endobj - -32924 0 obj -<> -endobj - -32925 0 obj -<> -endobj - -32926 0 obj -<> -endobj - -32927 0 obj -<> -endobj - -32928 0 obj -<> -endobj - -32929 0 obj -<> -endobj - -32930 0 obj -<> -endobj - -32931 0 obj -<> -endobj - -32932 0 obj -<> -endobj - -32933 0 obj -<> -endobj - -32934 0 obj -<> -endobj - -32935 0 obj -<> -endobj - -32936 0 obj -<> -endobj - -32937 0 obj -<> -endobj - -32938 0 obj -<> -endobj - -32939 0 obj -<> -endobj - -32940 0 obj -<> -endobj - -32941 0 obj -<> -endobj - -32942 0 obj -<> -endobj - -32943 0 obj -<> -endobj - -32944 0 obj -<> -endobj - -32945 0 obj -<> -endobj - -32946 0 obj -<> -endobj - -32947 0 obj -<> -endobj - -32948 0 obj -<> -endobj - -32949 0 obj -<> -endobj - -32950 0 obj -<> -endobj - -32951 0 obj -<> -endobj - -32952 0 obj -<> -endobj - -32953 0 obj -<> -endobj - -32954 0 obj -<> -endobj - -32955 0 obj -<> -endobj - -32956 0 obj -<> -endobj - -32957 0 obj -<> -endobj - -32958 0 obj -<> -endobj - -32959 0 obj -<> -endobj - -32960 0 obj -<> -endobj - -32961 0 obj -<> -endobj - -32962 0 obj -<> -endobj - -32963 0 obj -<> -endobj - -32964 0 obj -<> -endobj - -32965 0 obj -<> -endobj - -32966 0 obj -<> -endobj - -32967 0 obj -<> -endobj - -32968 0 obj -<> -endobj - -32969 0 obj -<> -endobj - -32970 0 obj -<> -endobj - -32971 0 obj -<> -endobj - -32972 0 obj -<> -endobj - -32973 0 obj -<> -endobj - -32974 0 obj -<> -endobj - -32975 0 obj -<> -endobj - -32976 0 obj -<> -endobj - -32977 0 obj -<> -endobj - -32978 0 obj -<> -endobj - -32979 0 obj -<> -endobj - -32980 0 obj -<> -endobj - -32981 0 obj -<> -endobj - -32982 0 obj -<> -endobj - -32983 0 obj -<> -endobj - -32984 0 obj -<> -endobj - -32985 0 obj -<> -endobj - -32986 0 obj -<> -endobj - -32987 0 obj -<> -endobj - -32988 0 obj -<> -endobj - -32989 0 obj -<> -endobj - -32990 0 obj -<> -endobj - -32991 0 obj -<> -endobj - -32992 0 obj -<> -endobj - -32993 0 obj -<> -endobj - -32994 0 obj -<> -endobj - -32995 0 obj -<> -endobj - -32996 0 obj -<> -endobj - -32997 0 obj -<> -endobj - -32998 0 obj -<> -endobj - -32999 0 obj -<> -endobj - -33000 0 obj -<> -endobj - -33001 0 obj -<> -endobj - -33002 0 obj -<> -endobj - -33003 0 obj -<> -endobj - -33004 0 obj -<> -endobj - -33005 0 obj -<> -endobj - -33006 0 obj -<> -endobj - -33007 0 obj -<> -endobj - -33008 0 obj -<> -endobj - -33009 0 obj -<> -endobj - -33010 0 obj -<> -endobj - -33011 0 obj -<> -endobj - -33012 0 obj -<> -endobj - -33013 0 obj -<> -endobj - -33014 0 obj -<> -endobj - -33015 0 obj -<> -endobj - -33016 0 obj -<> -endobj - -33017 0 obj -<> -endobj - -33018 0 obj -<> -endobj - -33019 0 obj -<> -endobj - -33020 0 obj -<> -endobj - -33021 0 obj -<> -endobj - -33022 0 obj -<> -endobj - -33023 0 obj -<> -endobj - -33024 0 obj -<> -endobj - -33025 0 obj -<> -endobj - -33026 0 obj -<> -endobj - -33027 0 obj -<> -endobj - -33028 0 obj -<> -endobj - -33029 0 obj -<> -endobj - -33030 0 obj -<> -endobj - -33031 0 obj -<> -endobj - -33032 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -33033 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -33034 0 obj -<> -endobj - -33035 0 obj -<> -endobj - -33036 0 obj -<> -endobj - -33037 0 obj -<> -endobj - -33038 0 obj -<> -endobj - -33039 0 obj -<> -endobj - -33040 0 obj -<> -endobj - -33041 0 obj -<> -endobj - -33042 0 obj -<> -endobj - -33043 0 obj -<> -endobj - -33044 0 obj -<> -endobj - -33045 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -33046 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -33047 0 obj -<> -endobj - -33048 0 obj -<> -endobj - -33049 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -33050 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -33051 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -33052 0 obj -<> -stream -HWk_1EQ@ -va vpFF+:%)+wșv -c;gyyܼ-xq7ߑ|ѿ#*bZ "sd)%#I(!%n~Uu9Tnꨆڒn~|}D7J6$ )Hm,X7 M,iɘNM8 vLVf6?]9_ӜׇaP -8)*D hҔw{11#gB3tDHȎDOc&$׿Ǩ@ -sSxc1`Q g,P#@}1#4+TcB\c1 -f!2ĵ>Y q qi>p-C\c\f!2ĵ>Y q qi>p-C\c\1k}LB>,ĵ>YzӬP qi>p-G\c\f!rĵ>Yq qi>p-G\c\f!rĵ>Yq#4+TcB\c1 -f! -ĵ>Yq qi>p@\c\+f! -ĵ>Yq qi>p@\c\+1k}LB>,ĵ>YzӬP}E!HfD7QJ6&x)Iӂl՛Xmf~AA9ơw65EKպ=_jvUUja\6+lYg]^`894_}WCo"lZve3tXy_AX46ۍ> i4d!Ppz»Gޕڹm\ph.r!z輼%sUTΕOҤIXuAwspW4C_u$S;AޕCv@DILMֿ gT;'uZ$+GXK<ɺdk7ܙc0zp?ie꭛ۉI.qnY6Q5Im 4MVF{,ј&W.v6LV;o.H(;UAg9o˱*ldvk^n9 -Urכހ4zEn’EͣU; 3nVM&NԱu;t'| -S3͖ԺʪH`0;{mGWQ*US0f#tvvaFrX1'm})+>]jPyb+8C]CwBؓoA˴,ϗMܝ 9c=߮{= r" ӄj8uM|{YvjդjT{_9Evh=β'-+ -n  -.N4gW Ž Sa͘[(;܈Hqe kl} -3YM,~K0o,?uv],^B=V`i>V+zA{sFldV`1_P:CDV*lwWfRe08d\dp{7'*&qa3g|p%khFǓ6s|X{,0ѻ177xJ^ɔJ951$_MrSIdeUC] -h?%Mi $LUJĴ6myU9ilSpNY+yNpfԳ]+ÇO豅\ywîTܵǻx/[UGѵݖL2w[2"FDcoroH)wB0W@ɞx.=DcvUD7iQpiɾrK5r&u\.^_ˤ[F{{2Mo]vwX/ ҘPÕi~ʉi2[dg$u)*>ů]L.GҩK;5>/ڊ. V?եQGy|UШӧ/iSNeV& kSƱK9.9_zmy+};n!!Rk߽ <_.et+P_j*E;^UՕ{]'qB^u@6mjB65&v@KtъQ.ZLT_57S]A)`@\j岀1YBjcKi])'Quz3LqBBz<ھ}9NM]Gwσ<7cǍ]nՏZ[]6M_EE {yC~V\|yǺ|yNcX>Nd`(FU4گjo ė}.VùAx# . kCTP3~fU:?屟*dU/D3r '*gHaav7Cu$4bIB%C*(0OIXN%>dMKKs p| E"Ù5im6}9I5k=^#Ot kRU<-&Me6!,R$s) -BeU=H.Dn3. DC?ف.H`M^| A-c-:&82Ѩ\I*Fo*c׷H_]-)n@ʡg2 -u g:2AL!u{ֹ xLw"ܪAw(Qo.ntS㾜 yϦKG&Jۛ^xOJm%OD eM;8ǘTM'7v|Ƹi)|} -v} Cs`a !DG{!ï2@tw:?!-%p4QqW Ӧb:7wˋ}_d&endstream -endobj - -33053 0 obj -<>/P 799 0 R/Type/Annot/A 33054 0 R/Subtype/Link/Rect[93.6003036 591.22998 217.404007 610.909973]/Border[0 0 0]/H/N>> -endobj - -33054 0 obj -<> -endobj - -33055 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -33056 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -33057 0 obj -<> -endobj - -33058 0 obj -<> -endobj - -33059 0 obj -<> -endobj - -33060 0 obj -<> -endobj - -33061 0 obj -<> -endobj - -33062 0 obj -<> -endobj - -33063 0 obj -<> -endobj - -33064 0 obj -<> -endobj - -33065 0 obj -<> -endobj - -33066 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -33067 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -33068 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -33069 0 obj -<> -stream -HWkۺ_Ol|h6r[$noMhmz[JE{c- y83l:Ƿ1^~mHD \%dY#Yc)!b'{(ɾuSmTT폟%{h7v-)&z g+`M񜭏]n>Kix E\>i~<`N{&bt V_߯#V7G8֏J$0GX}lˢB41*} -1E)Fp͡ PB(ds(C0w!B(I{I{EW{EW{EW{M{M{C7{C7{C7`S}Y>#g`s} y `hVŶc$ bC Pj͡BP!{lZls(}ZI`V6@6"j͡j%ZlZls(}ZI`V6@6"j͡j%Zl;FP-9TE*dm6@6"Uj͡jZlZls(}ZE`V6@6"Uj͡jZlZls(}ZE`VŶc bC Pj͡BP!{lZls(}ZM`V6@6"Մj͡j5ZlZls(}ZM`V6@6"Մj͡j5Zl;FP-9TE*dm/(4g67v-)&z 77Lp!$eiZ1V_" Z$Eu^~P>zĂ'm I_uΖ[z)0?Wmuz#4cW7`0f? 7i[uU}_fuavpD.:T"A>/MՍNq2pap) 01"Q׍}P_Vlm5z_*uwUAXkvӡ{K9N 8ZC]HzkVy|tg$[`m{D!p${nvSisxoIۍ%r?RS -ۗ/J?*yR$rlpou}-ғ E\DXL&OwiwqՇ5RhuHc^1ws7%O{kOp[uzU~fbɮ4(n5n/h+u] 4 "X6v/Hgk7YDf -aQi$ z)w~0= 0NZ3)O,OD3|j:*2C}z>u~J*=OKQKUZ}W%ǁktڶzIAq1_ D1ġp~p,Ow[e:^fgPѿpuWw{ t% ɗ8:p7K+aWUygwJ~8~믵?TCz%QRc+<62ᅫ I߆9wVD}ЈN3y; KS瘻Y/ĵg>IN\6'WZ#{dVUpyy\d -GJtY2%l\@?F8x{H>c ?Co'FX7[L'nMe]:D^\g.MTK:>͜|WS +g?j- --;;O^]xmmWVIËõ'[U67OkA.P{{,\bU~EHnþHhn~T_`"5HHM)׆qh\ -:~*J5ݹ>3 -1R( nvY|ihp̙M#5mXMm&fRu{BzCQ Ѧn|nj}'ySQ~8F75mOPq_-EMd+C9D^st5MG?WKoFW }<N Ru@KEDJ KKҒۃzf= 脧l-a0bL$.gx,0 򙹘E8Yy#ve+O6R:7m^llJ?6cKDq -$(8[xT_.vܖhLT54V2Z"Yk76l̔UpGq;45iQ'<c>"_=úl17S{*I8N<'JS}Nx:c4`s2Oо/0'>DșMt&n3Muo˫1e+j$UAʅf]Ab)>J>ㄚo0ɲH NKWfY /vm 7ZzuM6;Lz g62҄'@JvFoDTzcqWaRRD %O -pTpE"UlWzy}2\nj:1aW#YupE$\B5[tci`$$|}Ўbz\F\Ww\Gwk7NL3 DB#p5eM&p LKkRH_~k.n< oV=T.yBhEޙAs0%hnvΞ qlf)ș2)`diBxlu)^:ٙ -86 &t PÉ(Kl$p`Y&*qE t8uOt]VGFd)1F Xk8`I"RiD&96Kt7U'2R$DdK?pVl[Ye>Fl$XT0kLx4බ ;2WӔ\eU{A|{`2L A'ri -7>a!|~NgLĊ@ -,ng2L<$KQtXprWlzǸHb_TAұ}_łV$6͌p~d"b,>mF{:j#\¦*EӿHqH7*Q'ƳKد[o~΍^$[' /-2:Ëʃ5͢վ -߼ -<:f\ye;lǛwTU/(XΚu5A]Dh{QY)q%sbN=Mk1x.04br?m$JSwdž`oఘE"EcWӑ)T$8_FB 9]0[oXDpŴY/Mdz?endstream -endobj - -33070 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -33071 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -33072 0 obj -<> -endobj - -33073 0 obj -<> -endobj - -33074 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -33075 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -33076 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -33077 0 obj -<> -stream -HWisF_1OT@s\JZ lr$h $~{IU*||=xs|;\ݻ㫳93wOh_$ >fAP(T~ "~a3Ϟ`9aΊbOr";MT ,x <%&xҩs2gq;Asr)j" 싗٨̋ي}hǡNQly~覒>OhÏe㾨H뿣)%gW1(;<{^`Nr\9$8K0 -.+cz騗zWzWzWzׄzׄz> P8CB} >"GP9#B}䨏 >&ǎP8BYAcSOŘa1,µ3,W= U1`ŘaJµ3,BZIc"\1";k1fXzǵp-ƀEcEw\+ b̰k%Zp- PVŘaJµzp- U1`Řa1fXzp- PVŘa*µZq"\1";Uk1,µ3,BZEcEw\b Xk1fXzǵp- PVӄk1fXzp- U1rc Xk1fXzǵp- PVb̰k5Zq&\1`Řajµ3,BZMc"\1";Մk1fXzǵp-Ʀ^@cb̰\3,W}'Iib/И ! #^'GCӈEm2y~Y>hAC_oe}Ws @dͷ[R5iU%-H-q^OODPZτtT~/-OIC9$E~bQ?v#wѧCKH% u{3Y9j˖})S/>B$,^iYGFOpTfyUZpͲّ8 r٘Tbqx<}`\ylɈuuٲ\䣲-qdII([6"m6Y~P.F`KK8& abXvHU1nW$Y1+[apV2PR߬*F`aVg! לw[5gU5VquُcVJ5#2]rqGQ[!ݜ(9&kZe^qwJPR\B$\`tM!&1{5OXGdC$+Ɓ%oT%/uy"K-aÍĎd cGH,εGƀe[(aL:I͊J5{Ojl<`ڋ4JF 1UjzPԤNq-y .(٘}'V>e c uZD t&|0#!-PV=T+-_|_S'7S&-yLb~[!ǜ[:-׍s( Kz=bUuؑeu&lZ̳YkvUzZ\&rߩUGBKȨN++\dդ/$B9Ŝ ֿٲOjRa3s& EYdW-΀BLDk\?"⭊M7Ne`-tٛoch>W߫oNBH]yC7"S+UnyFQ],֣֊UPn33a\.0U -lχӞ:?n nt;= - _qA!B:m! ٪P`Ŵ[f Bl5p 4,Pkk]恃V7د1Kz'ⷖ35 MoQG׌u]xP6{Ǝ2z$|ɟ]6h-nØ7+G?8> QC[ϜY -* -8,֓s136ybIKl;q{qͪ5O{!̊UbkJi|D߯\᪪_UcQ#hS1oľ%lA짛_wΛ[4$L9ozσDv4g'7uڿ}H[b#;W= -wgۓB{moppl6׫=o+563_F\ݚ |H"^DON/{7t |uȖb6gKF7<݉[ۚ`e=|g[S*#h^μ1 g`Bendstream -endobj - -33078 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -33079 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -33080 0 obj -<> -endobj - -33081 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -33082 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -33083 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -33084 0 obj -<> -stream -H|WkoNa6@`Ӝ_lW%F+ .jF A)Hy4sRсe$!/G1`iYCV(wy so{[e2Np{'w}(Pp2>d#}G1s c>}"ODp0>eS=JK3Bk),bZK1dqCwO1` Fh-Ő%g5Bk),CFh-ŀ%bܳCR Y{Z#bܳ+=+b),CwO1dqZ!KpZkR Y{Z+bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%gBk),=kZKsBk),bZK1dqCwO1` Nh-Ő%guBk),C Nh-ŀ%bܳ:C R Y{Z'bܳ:+Ph-ŐS XBk),bS?MSh* bJK:ߨ(|w9+N(fms>Ym`|wy:_|zaG^5N6[uE]ύC8ρM^ب,k+,'OTd`NrͶo2WuUY?Y%:I6Ϊ.o]SJpOmvٶI@b7C_e) ONd٧o^Lʙǿ߿_3HBn-l^MV7&Qink˙ -`כ \VO - -=iW||Aɫ+@w5M-oP瑃q T7u+n«_[WӟnΟ˽woNcx``D6YYΎ 1QO<}\~@|qR?{ 'I6״ uw5tcg)t{&hX@iGQ8 G -kDOgۃ.=YZvjUWTY.+H>,*˿aqi~4|(+E?p:'MԽ`J5fku'~Q YbZNrL ZiVȴBA+dZ1HЊV,hL+bZ JiVʴRA+Z&ZCע42aZFb7B),A-{#bX{!Kb7B),A-{#bX{!kQ XB),A --{+bX{!KbB),A --{+bX{!KbB),A ŀ%bX{!KbwB),A -{'bX{!KbwB),A -{'bXC!CעS Y\+4uo~\x }eVp ʺЏt[mr:7f4xȜ{+ -_W2-Zg]mRysW8ݿL(_:t,aمV=o^fEElMH,M'\6ժ+JϝfGu>&_6_jhA[.KLri;q+`7{^7zo讇Ѱ* YTmvx0khm5.o 0۔š{bx?~xQĤaO>-›9̙~Bdpa Wn:_ZUECCiݦO9>kaH'&.6v) -1rO)y83i:]wg#v?M|g5:a5|qŋ9? 39-6lǶaT1 C`5Mq7WjH.6o)Y;^tnp-?c`qλ))mjY7ip8$`<ϻb=򔘍S 0&>wxSoaoIGK!}70uWl&zHW;o0 WdtaYk.2dP4[8zͿ'I:dJCȏT=N7N 7,?U Ӹ2wp:Or8*B׷+0j&z8HK[ N*r%EM_yU~A8_y>ϋA*UH@X='`]^*+dldWNg:^LEzQvZ[-)$NuGj4Pg%WN굅zTC7SIlpq[l!9n$g4*>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -33086 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -33087 0 obj -<> -endobj - -33088 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -33089 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -33090 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -33091 0 obj -<> -stream -HW]6}fh~c7"]l aQ*K$ǝ{)QD^cAQ^^C^7yjw?F^~跈+3TX$T Ҙ#"F#N -cʼ+uY7tM%M cD " '}"d$$a)튺"7wB\|޼e -)T8s17 fNlN_u7.Ei>U4)g_8 s1{=?E -r&!WfdGLThRydч(>' 9L$p9!,K#,_;x@ԋ@@ԋ@D@D@D@Bԫ@Bԫ@F@F@F@}1>'$P @}O)> ԧ4P!@}<!k}̲B>,ĵ>fYzP qY>p@\c\+e! -ĵ>fYq qY>p@\c\+e! -ĵ>fYq",+TcB\c1 -e!Jĵ>fYq qY>pD\c\+e!Jĵ>fYq qY>pD\c\+!Rk}̲B>,ĵ>fYzP qY>pB\c\e!*ĵ>fY -q qY>pB\c\e!*ĵ>fY -q",+TcB\c1 -g42E7nћM/pG8|pјqF6~=rs[]^}Ĩd%i)<βqjf5b+),yvNٹa]$d_7PuUmן^AQ f;0͡rWv -#Ŝ6᫷KOliIeOGԴ53pӗ`fWbX< f4-eܙy4$eY IjOe>zq7S6]bn*:* uNS7L_r vc[bt!S@ -prjO2pI">SyQZd잏2粨KCR8 sxW;۪{ \)' q<{Әݭ_΄CBc!DgLińݒSu5 k*hkmǼmf*:b<2jt<6H^-ݗJIA+#cWNeIëQU{JO뀗, 삼jk$bY*擭^7'.u}ХNR={O4?x,^8^N2M)wVhjƫpK&7|Jn4Īy;r/a8;srar}%kO1زPۛgs]uRR';Q+J :Bkq$e (7ʸ!~5髽=klFߤؠ'S} |BOv< O˙-9T+Bnk --jd jy:7aArbuQܙ:l _)(βW FڴMkӺ:F\Tje3Ǔ*Ha8T# . k>;zj;s -uTtm˶#eMVDhr:Vm ⧦ 屺`ߔ|jlg|e_wn_go(K;cOﻃυ'[d[?8<i=Mi% TȾ)k̂ - ^g;ø't]\n{SSDW -?CT}J_77grUҵM֤(bQeR tiqaT->/P 640 0 R/Type/Annot/A 33093 0 R/Subtype/Link/Rect[93.6003036 262.348999 225.037003 282.028992]/Border[0 0 0]/H/N>> -endobj - -33093 0 obj -<> -endobj - -33094 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -33095 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -33096 0 obj -<> -endobj - -33097 0 obj -<> -stream -H\j0E --E{H胦VRC#Y[Z1]K'zy{.fot};|ԌQ&ɞ0Dum0xܬaoQ;{w47Ļ8~ٓuIri:{AOܜi.6xdwJvylZwQkip-#yiCP$8%\WxM^s)S $`! "WK[bݒ5%jJ%k`a _/ȗ#+XW)fʜyGG#{0]!o>#9l~[*JgYtV8+JgYTxV̒tqKooC[ͭ<:wa4a[TȖendstream -endobj - -33098 0 obj -<> -stream -HtT PW힙~QF3*@~'*("3Ƞ(WkdGWtU -5h!bt\ت} nUS=^wsy4RP4M떇];ϲ!+5h2'fo%F mih:6,CQka&FKj,q)'D$gFҍYLŒ5&dI2& ׭3Dg3 QL%ÐiH4dY鉖4)ٰ85Ôl_`$g7$f$7Jr>sgITcfEфP E (WJQaXGC@G]uq" -%ڟl__pLPNâRJV0AL^L<π}Vm_R{_9\h@.1byvkݩwS7Q%Gl;wۙ]9]<ҦaB -CXl]B-̍F;q͡6i ;<{O|}^(\0{^aʶ<,jz -68ŏW)&Q4zS٤sմѷl?N}L* dY6kúכ#NEb) qq}ss&=9v$f *H;bWc@v8O`͕z2l%84H蚛p Qkk_" x{b> -">ccY"~@X/9)SNԫRޓ>/~q ˺咱Mm%m;ocw[72}t#qȯW\El6bǫ@ 0 OvBi[[9k[wK]*g=Ettri? ~Ԃj ?&R] -w?Xu]p5W8I}P -Aofb.' oTD8*? `SqҏBE;i_)]`wַ˪[b,0?6H50ﯗVL^1_'7:KD~0Z:uendstream -endobj - -33099 0 obj -<> -endobj - -33100 0 obj -<> -endobj - -33101 0 obj -<> -endobj - -33102 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -33103 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -33104 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -33105 0 obj -<> -stream -HWmo_C] РQQNp`$bNUNb!9;gg^)xꗗ~R<⇗?eSpI3-̤NC])n%j\ڔmzlCC:"Z_PbqxXD -/<,br;”vp׳7nՈvr_>#^>öޕ#4\:L9%LӴHE"aa 6SbR-> %/#Xě,&yxG1>xQD jCTJElr rW*&Om { {7 {7 {7 { { {w {w {w {Y>cgaGs}yľ`a_D=G=>ҬbDKmD36D Pj Q1{jCT̞ŨŰTRj5ZjZjC>RfTKmbGՌj Pj Q HQ-!aV36@16D1#jFԆ(}ZͨڶaTKmSRbԆ=Q-!a06D1#F(FԆ(}ZèŰTkRRj ZjC>RaTKmbTKmbG5j Q HQ-m˨6@16D Q1{jZjC>ReTKmbGj Pj Q HQ-!a26@16D1#ZFԆ(}Z˨ŨŰTkRj-Zj&Q-!*fOmbTKmSb>[!h&/ba~i&\F,lދܵ⹸7U?a5LW=:p&5v]EYZ(`чgE -t'Pyz'YG1,c*jUm ծr]o=Up60x=aN] nsU̚mX=*wrʤX!NYdVVw{8wa/0löޕwt~~kk[^mU]? (\0 ->6|(ۭ,U{4*\z3u -Wy! {"PH:j}\ b4,u@1Y`]>5tjv{>T'ǝFdѪ[L>Zc{]c&4&֫wO)-ժʧ+W ڡ.&KTæV_$k}quFJ -@K,@Դa%Kv'NJ : TSih(>)$Qǫݱ|{]?ݒ%[fn>ĬU)`2}ڟCw;>-tK$|$hZWKo*lU-  0o 2c {kI/vUe9bO3VqTnx.2\JRI*yc$T>aƋ0\@ԃ t4u׬1wu b@@wz/6%しv'@< ]S .-sZ<W೟8lܻ# zyplۇd~ ֤ O@k-!@( AC&"ya0^4}@xc"l9Ft8CAKI4ףuɲQ,F O.2(p[8$p׹}*uy66wFH6&VRȩ;iWMo#7 W{5X@ȥ(z\ﮁlb>R$O<)XH='SU88uW N(NAʡqRT$&囨Lq7d4&| U=AT"q$hqce)u+ioﰯ:}6.py96-Qe O+];ԙ=l0% ɬ bg/0*dTd{L)v?@ȕ@[[H~5r  -Y}~=_"YU5Gu <vWRs KvL͂8p{ľnN@xh8{Gp{r4{ľAS`. Yџ;1ۄ" =tufp`+-8eM6"-4ބ"D -#]p_ނ <$8 $8 7xINRa /9/dUdbBtbL]P]x.Ҩ{nBiK4E-pz~rz::8VC͊F+B4dHhFhƎ( -{k8C,B*p25-\y[KAΦjEizZ_s1qϯ=(6f.cIñXҠĺ@rCKl /l DێXP1s &B ▋ ˏ8vyO{^&dRr1je(TQhƙj m .ni iyx՜||k|DҪkvD߬Ah뺵*hQt*Kl8Hyk zCz܋ֻ(CǴuUrFS6ayV L)vKzu[p5E1,6l؄CC9gjS/Λq@41/XюI ccYۍ&k;D{\5EZh)Ds˛S4h*(Ds˛S47hUt Z *i(gPAl 8sNCAlZsO][j@}@sVj. !*?;4xqn̛~:>^vϟvG><|ou? BRv \efk[&w swwendstream -endobj - -33106 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -33107 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -33108 0 obj -<> -endobj - -33109 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -33110 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -33111 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -33112 0 obj -<> -stream -HWio9޿m@i> 䀑`2Lzbweuxe9ǿߪ&(Ic+^xbgϟ_5ŋ_5mnE`+53^V2gUk$uͿئlɚ?bֽڮll..?Hv{߼7sQ1柛A8 L[*gM|)pۊCܛyh]6;7_w/nXm%\7M CL 9&$UJmå6@  J Om{{W{W{W{{{7{7{7{{{w{w{w{{{Lmj[7PmjCT>PmjCT>!*gE6!`VMm"gjSզ6D3JB QLPmjԆ(}ZI6!`VMm"TET+ զ6D3JBm(B Q9(B Q9Ԇ}jԆ(}ZE6!`VMm"TETզ6D3*B PjSjԆ(}ZE6PmjC>S"TETզu զ6DSզ6DSr PjSj5Ԇ(}ZM6PmjC>S&TET զ6@Mm"gՄjSj5(B QLPmjC>S&T֍!TOm"TOmه6F^7/\|TLfτfցq\t*e7raϳg3_w~.2Y/?w7+ˉV)#C3i s}pE҇SI!-Cx1c?xxʶYVj ^?# -[>i?~AɒǍva?U箕֋?jz`w# J"?2蠳)g%[)Gt71dǸ~ =)**H<J Y:G'UOq 3aӧ^O?x99u]w[9y -5s2Ҹz֍cժXdž[-Xh=uޅ!| emZڨY/U?*8m.uTc/.pRmuñ]u녋 s&|oh;}"Ů: -ڵ`hG~Tsc0#Xcۧp ETh ׹!N2!0QKPUk <$(tL\t3tm_ȸ)( \Es)rl}}` %UeOM h:VݮUvXn蝮KʃOޝ4bX'=Lxר{ix0Bm`0xu3è#UOpߩR3^RN===d~w51\JTB]OIrm?,~;/.TIH;/ܹ}"0Z%aѷ]TBǮ/&d^Ptҭ3ZWgb=4dyh]rp'tRSTGkc/&OYs>J/>KDR#UeST{`Kw-7׆o8HGN5FԞ>1ހczu/ G~4 L&<$2}C'c2|W%U\#L|3/֪XBmmb^DM@c~]G}R'^H}Y_$9l޿_6/[#{K^|_AA¢/߾EB&e|+!|fp{uv;lp޾>?"Nby⑋, y 3:=rVe :ޡnp!ػ\L0y-4>,jC-V}LQ/ -vp!=@RZ/u,4Ww>t7qW -g &ۨQx\Q5tp'k:ǛQ2{b qH =q"h'Dj| (IaHŹҋ˦wEvg)³4E^ XQs`cobYۮU3iRԠ;Y-iݗK8#ܔ; ~x[;dfę/zo:xa{`v ?$3Y{7=n< yw^(Lx?/L",+c)ZYJivH)>ECڳ|>!=Y?EnC>:Zbw m~ ˾gӜ3.ҝga -1Qb)c# L@`qtNHarcH4UCczdLOα gj5w!mhFǹcRmU]xuJڻ]7P~HgÆ8:'yyy~X 7% 76|s=*ѧHx.ѥS-SkL~ȑScBXZ;T-:\6~Vf~RUqCmD1?i>`9 Rl0\ny˙9bnV5(%7 :%9_MypҙG#?H=xl_d:/6#Ǩ/z7XKCD2\gД.!n{T)Q2FZP zi% ɃM ܐCi̺ݫ")N8gZ}9EqM6>,RGzVOQrK uF\6HzQ2%siLs]sLEUu,h+dXTGd69UQ +z\#uξFu9 O}p`w,k]:Ͼ>>-??}|%]c:-քMTkMX١#RA*ײV2N[/XaI\%f\ Br隀'i˷' 0ysendstream -endobj - -33113 0 obj -<>/P 5495 0 R/Type/Annot/A 33455 0 R/Subtype/Link/Rect[190 669 202 678]/Border[0 0 0]/H/N>> -endobj - -33114 0 obj -<>/P 5495 0 R/Type/Annot/A 33453 0 R/Subtype/Link/Rect[207 659 224 669]/Border[0 0 0]/H/N>> -endobj - -33115 0 obj -<>/P 5495 0 R/Type/Annot/A 33451 0 R/Subtype/Link/Rect[224 659 238 668]/Border[0 0 0]/H/N>> -endobj - -33116 0 obj -<>/P 5495 0 R/Type/Annot/A 33450 0 R/Subtype/Link/Rect[240 659 254 668]/Border[0 0 0]/H/N>> -endobj - -33117 0 obj -<>/P 5495 0 R/Type/Annot/A 33448 0 R/Subtype/Link/Rect[256 659 270 668]/Border[0 0 0]/H/N>> -endobj - -33118 0 obj -<>/P 5495 0 R/Type/Annot/A 33446 0 R/Subtype/Link/Rect[272 659 286 668]/Border[0 0 0]/H/N>> -endobj - -33119 0 obj -<>/P 5495 0 R/Type/Annot/A 33444 0 R/Subtype/Link/Rect[151 649 168 659]/Border[0 0 0]/H/N>> -endobj - -33120 0 obj -<>/P 5495 0 R/Type/Annot/A 33442 0 R/Subtype/Link/Rect[169 649 183 658]/Border[0 0 0]/H/N>> -endobj - -33121 0 obj -<>/P 5495 0 R/Type/Annot/A 33440 0 R/Subtype/Link/Rect[185 649 199 658]/Border[0 0 0]/H/N>> -endobj - -33122 0 obj -<>/P 5495 0 R/Type/Annot/A 33438 0 R/Subtype/Link/Rect[201 649 215 658]/Border[0 0 0]/H/N>> -endobj - -33123 0 obj -<>/P 5495 0 R/Type/Annot/A 33436 0 R/Subtype/Link/Rect[217 649 231 658]/Border[0 0 0]/H/N>> -endobj - -33124 0 obj -<>/P 5495 0 R/Type/Annot/A 33434 0 R/Subtype/Link/Rect[233 649 245 658]/Border[0 0 0]/H/N>> -endobj - -33125 0 obj -<>/P 5495 0 R/Type/Annot/A 33432 0 R/Subtype/Link/Rect[190 639 207 649]/Border[0 0 0]/H/N>> -endobj - -33126 0 obj -<>/P 5495 0 R/Type/Annot/A 33430 0 R/Subtype/Link/Rect[207 639 219 648]/Border[0 0 0]/H/N>> -endobj - -33127 0 obj -<>/P 5495 0 R/Type/Annot/A 33428 0 R/Subtype/Link/Rect[217 629 231 638]/Border[0 0 0]/H/N>> -endobj - -33128 0 obj -<>/P 5495 0 R/Type/Annot/A 33426 0 R/Subtype/Link/Rect[233 629 245 638]/Border[0 0 0]/H/N>> -endobj - -33129 0 obj -<>/P 5495 0 R/Type/Annot/A 33424 0 R/Subtype/Link/Rect[207 619 224 629]/Border[0 0 0]/H/N>> -endobj - -33130 0 obj -<>/P 5495 0 R/Type/Annot/A 33422 0 R/Subtype/Link/Rect[224 619 238 628]/Border[0 0 0]/H/N>> -endobj - -33131 0 obj -<>/P 5495 0 R/Type/Annot/A 33420 0 R/Subtype/Link/Rect[240 619 254 628]/Border[0 0 0]/H/N>> -endobj - -33132 0 obj -<>/P 5495 0 R/Type/Annot/A 33419 0 R/Subtype/Link/Rect[256 619 273 629]/Border[0 0 0]/H/N>> -endobj - -33133 0 obj -<>/P 5495 0 R/Type/Annot/A 33418 0 R/Subtype/Link/Rect[274 619 288 628]/Border[0 0 0]/H/N>> -endobj - -33134 0 obj -<>/P 5495 0 R/Type/Annot/A 33416 0 R/Subtype/Link/Rect[290 619 304 628]/Border[0 0 0]/H/N>> -endobj - -33135 0 obj -<>/P 5495 0 R/Type/Annot/A 33414 0 R/Subtype/Link/Rect[151 609 165 618]/Border[0 0 0]/H/N>> -endobj - -33136 0 obj -<>/P 5495 0 R/Type/Annot/A 33412 0 R/Subtype/Link/Rect[167 609 181 618]/Border[0 0 0]/H/N>> -endobj - -33137 0 obj -<>/P 5495 0 R/Type/Annot/A 33410 0 R/Subtype/Link/Rect[183 609 195 618]/Border[0 0 0]/H/N>> -endobj - -33138 0 obj -<>/P 5495 0 R/Type/Annot/A 33408 0 R/Subtype/Link/Rect[190 599 202 608]/Border[0 0 0]/H/N>> -endobj - -33139 0 obj -<>/P 5495 0 R/Type/Annot/A 33406 0 R/Subtype/Link/Rect[217 589 231 598]/Border[0 0 0]/H/N>> -endobj - -33140 0 obj -<>/P 5495 0 R/Type/Annot/A 33404 0 R/Subtype/Link/Rect[233 589 245 598]/Border[0 0 0]/H/N>> -endobj - -33141 0 obj -<>/P 5495 0 R/Type/Annot/A 33402 0 R/Subtype/Link/Rect[212 579 224 588]/Border[0 0 0]/H/N>> -endobj - -33142 0 obj -<>/P 5495 0 R/Type/Annot/A 33400 0 R/Subtype/Link/Rect[212 569 224 578]/Border[0 0 0]/H/N>> -endobj - -33143 0 obj -<>/P 5495 0 R/Type/Annot/A 33398 0 R/Subtype/Link/Rect[212 559 222 568]/Border[0 0 0]/H/N>> -endobj - -33144 0 obj -<>/P 5495 0 R/Type/Annot/A 33395 0 R/Subtype/Link/Rect[224 559 238 568]/Border[0 0 0]/H/N>> -endobj - -33145 0 obj -<>/P 5495 0 R/Type/Annot/A 33393 0 R/Subtype/Link/Rect[240 559 254 568]/Border[0 0 0]/H/N>> -endobj - -33146 0 obj -<>/P 5495 0 R/Type/Annot/A 33391 0 R/Subtype/Link/Rect[256 559 272 569]/Border[0 0 0]/H/N>> -endobj - -33147 0 obj -<>/P 5495 0 R/Type/Annot/A 33389 0 R/Subtype/Link/Rect[273 559 287 568]/Border[0 0 0]/H/N>> -endobj - -33148 0 obj -<>/P 5495 0 R/Type/Annot/A 33387 0 R/Subtype/Link/Rect[151 549 168 559]/Border[0 0 0]/H/N>> -endobj - -33149 0 obj -<>/P 5495 0 R/Type/Annot/A 33385 0 R/Subtype/Link/Rect[169 549 181 558]/Border[0 0 0]/H/N>> -endobj - -33150 0 obj -<>/P 5495 0 R/Type/Annot/A 33383 0 R/Subtype/Link/Rect[190 539 202 548]/Border[0 0 0]/H/N>> -endobj - -33151 0 obj -<>/P 5495 0 R/Type/Annot/A 33381 0 R/Subtype/Link/Rect[212 529 226 538]/Border[0 0 0]/H/N>> -endobj - -33152 0 obj -<>/P 5495 0 R/Type/Annot/A 33379 0 R/Subtype/Link/Rect[228 529 240 538]/Border[0 0 0]/H/N>> -endobj - -33153 0 obj -<>/P 5495 0 R/Type/Annot/A 33377 0 R/Subtype/Link/Rect[188 519 204 529]/Border[0 0 0]/H/N>> -endobj - -33154 0 obj -<>/P 5495 0 R/Type/Annot/A 33375 0 R/Subtype/Link/Rect[205 519 219 528]/Border[0 0 0]/H/N>> -endobj - -33155 0 obj -<>/P 5495 0 R/Type/Annot/A 33373 0 R/Subtype/Link/Rect[221 519 233 528]/Border[0 0 0]/H/N>> -endobj - -33156 0 obj -<>/P 5495 0 R/Type/Annot/A 33371 0 R/Subtype/Link/Rect[190 509 202 518]/Border[0 0 0]/H/N>> -endobj - -33157 0 obj -<>/P 5495 0 R/Type/Annot/A 33369 0 R/Subtype/Link/Rect[231 499 245 508]/Border[0 0 0]/H/N>> -endobj - -33158 0 obj -<>/P 5495 0 R/Type/Annot/A 33367 0 R/Subtype/Link/Rect[247 499 261 508]/Border[0 0 0]/H/N>> -endobj - -33159 0 obj -<>/P 5495 0 R/Type/Annot/A 33365 0 R/Subtype/Link/Rect[263 499 275 508]/Border[0 0 0]/H/N>> -endobj - -33160 0 obj -<>/P 5495 0 R/Type/Annot/A 33363 0 R/Subtype/Link/Rect[190 489 202 498]/Border[0 0 0]/H/N>> -endobj - -33161 0 obj -<>/P 5495 0 R/Type/Annot/A 33361 0 R/Subtype/Link/Rect[231 479 245 488]/Border[0 0 0]/H/N>> -endobj - -33162 0 obj -<>/P 5495 0 R/Type/Annot/A 33359 0 R/Subtype/Link/Rect[247 479 261 488]/Border[0 0 0]/H/N>> -endobj - -33163 0 obj -<>/P 5495 0 R/Type/Annot/A 33357 0 R/Subtype/Link/Rect[263 479 275 488]/Border[0 0 0]/H/N>> -endobj - -33164 0 obj -<>/P 5495 0 R/Type/Annot/A 33355 0 R/Subtype/Link/Rect[190 469 202 478]/Border[0 0 0]/H/N>> -endobj - -33165 0 obj -<>/P 5495 0 R/Type/Annot/A 33354 0 R/Subtype/Link/Rect[217 459 231 468]/Border[0 0 0]/H/N>> -endobj - -33166 0 obj -<>/P 5495 0 R/Type/Annot/A 33353 0 R/Subtype/Link/Rect[233 459 247 468]/Border[0 0 0]/H/N>> -endobj - -33167 0 obj -<>/P 5495 0 R/Type/Annot/A 33585 0 R/Subtype/Link/Rect[249 459 261 468]/Border[0 0 0]/H/N>> -endobj - -33168 0 obj -<>/P 5495 0 R/Type/Annot/A 33583 0 R/Subtype/Link/Rect[190 449 202 458]/Border[0 0 0]/H/N>> -endobj - -33169 0 obj -<>/P 5495 0 R/Type/Annot/A 33580 0 R/Subtype/Link/Rect[197 439 209 448]/Border[0 0 0]/H/N>> -endobj - -33170 0 obj -<>/P 5495 0 R/Type/Annot/A 33578 0 R/Subtype/Link/Rect[190 429 202 438]/Border[0 0 0]/H/N>> -endobj - -33171 0 obj -<>/P 5495 0 R/Type/Annot/A 33575 0 R/Subtype/Link/Rect[221 419 235 428]/Border[0 0 0]/H/N>> -endobj - -33172 0 obj -<>/P 5495 0 R/Type/Annot/A 33572 0 R/Subtype/Link/Rect[237 419 249 428]/Border[0 0 0]/H/N>> -endobj - -33173 0 obj -<>/P 5495 0 R/Type/Annot/A 33569 0 R/Subtype/Link/Rect[190 409 202 418]/Border[0 0 0]/H/N>> -endobj - -33174 0 obj -<>/P 5495 0 R/Type/Annot/A 33566 0 R/Subtype/Link/Rect[217 399 231 408]/Border[0 0 0]/H/N>> -endobj - -33175 0 obj -<>/P 5495 0 R/Type/Annot/A 33563 0 R/Subtype/Link/Rect[233 399 249 409]/Border[0 0 0]/H/N>> -endobj - -33176 0 obj -<>/P 5495 0 R/Type/Annot/A 33560 0 R/Subtype/Link/Rect[250 399 262 408]/Border[0 0 0]/H/N>> -endobj - -33177 0 obj -<>/P 5495 0 R/Type/Annot/A 33558 0 R/Subtype/Link/Rect[190 389 202 398]/Border[0 0 0]/H/N>> -endobj - -33178 0 obj -<>/P 5495 0 R/Type/Annot/A 33556 0 R/Subtype/Link/Rect[207 379 219 388]/Border[0 0 0]/H/N>> -endobj - -33179 0 obj -<>/P 5495 0 R/Type/Annot/A 33554 0 R/Subtype/Link/Rect[190 369 202 378]/Border[0 0 0]/H/N>> -endobj - -33180 0 obj -<>/P 5495 0 R/Type/Annot/A 33552 0 R/Subtype/Link/Rect[207 359 221 368]/Border[0 0 0]/H/N>> -endobj - -33181 0 obj -<>/P 5495 0 R/Type/Annot/A 33550 0 R/Subtype/Link/Rect[223 359 235 368]/Border[0 0 0]/H/N>> -endobj - -33182 0 obj -<>/P 5495 0 R/Type/Annot/A 33548 0 R/Subtype/Link/Rect[190 349 202 358]/Border[0 0 0]/H/N>> -endobj - -33183 0 obj -<>/P 5495 0 R/Type/Annot/A 33546 0 R/Subtype/Link/Rect[226 339 240 348]/Border[0 0 0]/H/N>> -endobj - -33184 0 obj -<>/P 5495 0 R/Type/Annot/A 33544 0 R/Subtype/Link/Rect[242 339 256 348]/Border[0 0 0]/H/N>> -endobj - -33185 0 obj -<>/P 5495 0 R/Type/Annot/A 33542 0 R/Subtype/Link/Rect[258 339 272 348]/Border[0 0 0]/H/N>> -endobj - -33186 0 obj -<>/P 5495 0 R/Type/Annot/A 33540 0 R/Subtype/Link/Rect[274 339 288 348]/Border[0 0 0]/H/N>> -endobj - -33187 0 obj -<>/P 5495 0 R/Type/Annot/A 33537 0 R/Subtype/Link/Rect[290 339 302 348]/Border[0 0 0]/H/N>> -endobj - -33188 0 obj -<>/P 5495 0 R/Type/Annot/A 33535 0 R/Subtype/Link/Rect[190 329 202 338]/Border[0 0 0]/H/N>> -endobj - -33189 0 obj -<>/P 5495 0 R/Type/Annot/A 33533 0 R/Subtype/Link/Rect[194 319 208 328]/Border[0 0 0]/H/N>> -endobj - -33190 0 obj -<>/P 5495 0 R/Type/Annot/A 33531 0 R/Subtype/Link/Rect[210 319 226 329]/Border[0 0 0]/H/N>> -endobj - -33191 0 obj -<>/P 5495 0 R/Type/Annot/A 33529 0 R/Subtype/Link/Rect[227 319 241 328]/Border[0 0 0]/H/N>> -endobj - -33192 0 obj -<>/P 5495 0 R/Type/Annot/A 33527 0 R/Subtype/Link/Rect[243 319 257 328]/Border[0 0 0]/H/N>> -endobj - -33193 0 obj -<>/P 5495 0 R/Type/Annot/A 33525 0 R/Subtype/Link/Rect[259 319 271 328]/Border[0 0 0]/H/N>> -endobj - -33194 0 obj -<>/P 5495 0 R/Type/Annot/A 33523 0 R/Subtype/Link/Rect[188 309 200 318]/Border[0 0 0]/H/N>> -endobj - -33195 0 obj -<>/P 5495 0 R/Type/Annot/A 33521 0 R/Subtype/Link/Rect[197 299 207 308]/Border[0 0 0]/H/N>> -endobj - -33196 0 obj -<>/P 5495 0 R/Type/Annot/A 33519 0 R/Subtype/Link/Rect[209 299 223 308]/Border[0 0 0]/H/N>> -endobj - -33197 0 obj -<>/P 5495 0 R/Type/Annot/A 33517 0 R/Subtype/Link/Rect[225 299 239 308]/Border[0 0 0]/H/N>> -endobj - -33198 0 obj -<>/P 5495 0 R/Type/Annot/A 33515 0 R/Subtype/Link/Rect[241 299 255 308]/Border[0 0 0]/H/N>> -endobj - -33199 0 obj -<>/P 5495 0 R/Type/Annot/A 33513 0 R/Subtype/Link/Rect[257 299 274 309]/Border[0 0 0]/H/N>> -endobj - -33200 0 obj -<>/P 5495 0 R/Type/Annot/A 33511 0 R/Subtype/Link/Rect[275 299 289 308]/Border[0 0 0]/H/N>> -endobj - -33201 0 obj -<>/P 5495 0 R/Type/Annot/A 33509 0 R/Subtype/Link/Rect[291 299 303 308]/Border[0 0 0]/H/N>> -endobj - -33202 0 obj -<>/P 5495 0 R/Type/Annot/A 33507 0 R/Subtype/Link/Rect[190 289 202 298]/Border[0 0 0]/H/N>> -endobj - -33203 0 obj -<>/P 5495 0 R/Type/Annot/A 33505 0 R/Subtype/Link/Rect[212 279 226 288]/Border[0 0 0]/H/N>> -endobj - -33204 0 obj -<>/P 5495 0 R/Type/Annot/A 33503 0 R/Subtype/Link/Rect[228 279 240 288]/Border[0 0 0]/H/N>> -endobj - -33205 0 obj -<>/P 5495 0 R/Type/Annot/A 33501 0 R/Subtype/Link/Rect[207 269 221 278]/Border[0 0 0]/H/N>> -endobj - -33206 0 obj -<>/P 5495 0 R/Type/Annot/A 33499 0 R/Subtype/Link/Rect[223 269 235 278]/Border[0 0 0]/H/N>> -endobj - -33207 0 obj -<>/P 5495 0 R/Type/Annot/A 33497 0 R/Subtype/Link/Rect[217 259 231 268]/Border[0 0 0]/H/N>> -endobj - -33208 0 obj -<>/P 5495 0 R/Type/Annot/A 33495 0 R/Subtype/Link/Rect[233 259 245 268]/Border[0 0 0]/H/N>> -endobj - -33209 0 obj -<>/P 5495 0 R/Type/Annot/A 33493 0 R/Subtype/Link/Rect[198 249 210 258]/Border[0 0 0]/H/N>> -endobj - -33210 0 obj -<>/P 5495 0 R/Type/Annot/A 33491 0 R/Subtype/Link/Rect[193 239 205 248]/Border[0 0 0]/H/N>> -endobj - -33211 0 obj -<>/P 5495 0 R/Type/Annot/A 33489 0 R/Subtype/Link/Rect[207 229 219 238]/Border[0 0 0]/H/N>> -endobj - -33212 0 obj -<>/P 5495 0 R/Type/Annot/A 33487 0 R/Subtype/Link/Rect[202 219 214 228]/Border[0 0 0]/H/N>> -endobj - -33213 0 obj -<>/P 5495 0 R/Type/Annot/A 33485 0 R/Subtype/Link/Rect[185 209 197 218]/Border[0 0 0]/H/N>> -endobj - -33214 0 obj -<>/P 5495 0 R/Type/Annot/A 33483 0 R/Subtype/Link/Rect[196 189 204 198]/Border[0 0 0]/H/N>> -endobj - -33215 0 obj -<>/P 5495 0 R/Type/Annot/A 33481 0 R/Subtype/Link/Rect[183 179 197 188]/Border[0 0 0]/H/N>> -endobj - -33216 0 obj -<>/P 5495 0 R/Type/Annot/A 33479 0 R/Subtype/Link/Rect[199 179 213 188]/Border[0 0 0]/H/N>> -endobj - -33217 0 obj -<>/P 5495 0 R/Type/Annot/A 33477 0 R/Subtype/Link/Rect[215 179 227 188]/Border[0 0 0]/H/N>> -endobj - -33218 0 obj -<>/P 5495 0 R/Type/Annot/A 33475 0 R/Subtype/Link/Rect[188 159 200 168]/Border[0 0 0]/H/N>> -endobj - -33219 0 obj -<>/P 5495 0 R/Type/Annot/A 33472 0 R/Subtype/Link/Rect[191 149 203 158]/Border[0 0 0]/H/N>> -endobj - -33220 0 obj -<>/P 5495 0 R/Type/Annot/A 33471 0 R/Subtype/Link/Rect[409 669 417 678]/Border[0 0 0]/H/N>> -endobj - -33221 0 obj -<>/P 5495 0 R/Type/Annot/A 33470 0 R/Subtype/Link/Rect[405 659 422 669]/Border[0 0 0]/H/N>> -endobj - -33222 0 obj -<>/P 5495 0 R/Type/Annot/A 33469 0 R/Subtype/Link/Rect[423 659 437 668]/Border[0 0 0]/H/N>> -endobj - -33223 0 obj -<>/P 5495 0 R/Type/Annot/A 33468 0 R/Subtype/Link/Rect[439 659 451 668]/Border[0 0 0]/H/N>> -endobj - -33224 0 obj -<>/P 5495 0 R/Type/Annot/A 33467 0 R/Subtype/Link/Rect[398 649 410 658]/Border[0 0 0]/H/N>> -endobj - -33225 0 obj -<>/P 5495 0 R/Type/Annot/A 33466 0 R/Subtype/Link/Rect[415 639 427 648]/Border[0 0 0]/H/N>> -endobj - -33226 0 obj -<>/P 5495 0 R/Type/Annot/A 33465 0 R/Subtype/Link/Rect[363 629 369 638]/Border[0 0 0]/H/N>> -endobj - -33227 0 obj -<>/P 5495 0 R/Type/Annot/A 33464 0 R/Subtype/Link/Rect[371 629 385 638]/Border[0 0 0]/H/N>> -endobj - -33228 0 obj -<>/P 5495 0 R/Type/Annot/A 33463 0 R/Subtype/Link/Rect[387 629 399 638]/Border[0 0 0]/H/N>> -endobj - -33229 0 obj -<>/P 5495 0 R/Type/Annot/A 33462 0 R/Subtype/Link/Rect[415 619 423 628]/Border[0 0 0]/H/N>> -endobj - -33230 0 obj -<>/P 5495 0 R/Type/Annot/A 33461 0 R/Subtype/Link/Rect[392 599 406 608]/Border[0 0 0]/H/N>> -endobj - -33231 0 obj -<>/P 5495 0 R/Type/Annot/A 33460 0 R/Subtype/Link/Rect[408 599 420 608]/Border[0 0 0]/H/N>> -endobj - -33232 0 obj -<>/P 5495 0 R/Type/Annot/A 33459 0 R/Subtype/Link/Rect[369 589 381 598]/Border[0 0 0]/H/N>> -endobj - -33233 0 obj -<>/P 5495 0 R/Type/Annot/A 33458 0 R/Subtype/Link/Rect[394 579 410 589]/Border[0 0 0]/H/N>> -endobj - -33234 0 obj -<>/P 5495 0 R/Type/Annot/A 33457 0 R/Subtype/Link/Rect[411 579 425 588]/Border[0 0 0]/H/N>> -endobj - -33235 0 obj -<>/P 5495 0 R/Type/Annot/A 33456 0 R/Subtype/Link/Rect[427 579 444 589]/Border[0 0 0]/H/N>> -endobj - -33236 0 obj -<>/P 5495 0 R/Type/Annot/A 33454 0 R/Subtype/Link/Rect[444 579 456 588]/Border[0 0 0]/H/N>> -endobj - -33237 0 obj -<>/P 5495 0 R/Type/Annot/A 33452 0 R/Subtype/Link/Rect[410 559 427 569]/Border[0 0 0]/H/N>> -endobj - -33238 0 obj -<>/P 5495 0 R/Type/Annot/A 42215 0 R/Subtype/Link/Rect[427 559 439 568]/Border[0 0 0]/H/N>> -endobj - -33239 0 obj -<>/P 5495 0 R/Type/Annot/A 33449 0 R/Subtype/Link/Rect[398 549 410 558]/Border[0 0 0]/H/N>> -endobj - -33240 0 obj -<>/P 5495 0 R/Type/Annot/A 33447 0 R/Subtype/Link/Rect[397 539 407 548]/Border[0 0 0]/H/N>> -endobj - -33241 0 obj -<>/P 5495 0 R/Type/Annot/A 33445 0 R/Subtype/Link/Rect[409 539 423 548]/Border[0 0 0]/H/N>> -endobj - -33242 0 obj -<>/P 5495 0 R/Type/Annot/A 33443 0 R/Subtype/Link/Rect[425 539 439 548]/Border[0 0 0]/H/N>> -endobj - -33243 0 obj -<>/P 5495 0 R/Type/Annot/A 33441 0 R/Subtype/Link/Rect[441 539 455 548]/Border[0 0 0]/H/N>> -endobj - -33244 0 obj -<>/P 5495 0 R/Type/Annot/A 33439 0 R/Subtype/Link/Rect[457 539 474 549]/Border[0 0 0]/H/N>> -endobj - -33245 0 obj -<>/P 5495 0 R/Type/Annot/A 33437 0 R/Subtype/Link/Rect[474 539 486 548]/Border[0 0 0]/H/N>> -endobj - -33246 0 obj -<>/P 5495 0 R/Type/Annot/A 33435 0 R/Subtype/Link/Rect[378 529 395 539]/Border[0 0 0]/H/N>> -endobj - -33247 0 obj -<>/P 5495 0 R/Type/Annot/A 33433 0 R/Subtype/Link/Rect[395 529 407 538]/Border[0 0 0]/H/N>> -endobj - -33248 0 obj -<>/P 5495 0 R/Type/Annot/A 33431 0 R/Subtype/Link/Rect[376 519 386 528]/Border[0 0 0]/H/N>> -endobj - -33249 0 obj -<>/P 5495 0 R/Type/Annot/A 33429 0 R/Subtype/Link/Rect[388 519 405 529]/Border[0 0 0]/H/N>> -endobj - -33250 0 obj -<>/P 5495 0 R/Type/Annot/A 33427 0 R/Subtype/Link/Rect[405 519 417 528]/Border[0 0 0]/H/N>> -endobj - -33251 0 obj -<>/P 5495 0 R/Type/Annot/A 33425 0 R/Subtype/Link/Rect[384 509 397 519]/Border[0 0 0]/H/N>> -endobj - -33252 0 obj -<>/P 5495 0 R/Type/Annot/A 33423 0 R/Subtype/Link/Rect[397 509 407 518]/Border[0 0 0]/H/N>> -endobj - -33253 0 obj -<>/P 5495 0 R/Type/Annot/A 33421 0 R/Subtype/Link/Rect[409 509 426 519]/Border[0 0 0]/H/N>> -endobj - -33254 0 obj -<>/P 5495 0 R/Type/Annot/A 33397 0 R/Subtype/Link/Rect[427 509 441 518]/Border[0 0 0]/H/N>> -endobj - -33255 0 obj -<>/P 5495 0 R/Type/Annot/A 33417 0 R/Subtype/Link/Rect[443 509 457 518]/Border[0 0 0]/H/N>> -endobj - -33256 0 obj -<>/P 5495 0 R/Type/Annot/A 33415 0 R/Subtype/Link/Rect[459 509 472 518]/Border[0 0 0]/H/N>> -endobj - -33257 0 obj -<>/P 5495 0 R/Type/Annot/A 33413 0 R/Subtype/Link/Rect[474 509 488 518]/Border[0 0 0]/H/N>> -endobj - -33258 0 obj -<>/P 5495 0 R/Type/Annot/A 33411 0 R/Subtype/Link/Rect[490 509 504 518]/Border[0 0 0]/H/N>> -endobj - -33259 0 obj -<>/P 5495 0 R/Type/Annot/A 33409 0 R/Subtype/Link/Rect[359 499 373 508]/Border[0 0 0]/H/N>> -endobj - -33260 0 obj -<>/P 5495 0 R/Type/Annot/A 33407 0 R/Subtype/Link/Rect[375 499 389 508]/Border[0 0 0]/H/N>> -endobj - -33261 0 obj -<>/P 5495 0 R/Type/Annot/A 33405 0 R/Subtype/Link/Rect[391 499 405 508]/Border[0 0 0]/H/N>> -endobj - -33262 0 obj -<>/P 5495 0 R/Type/Annot/A 33403 0 R/Subtype/Link/Rect[407 499 421 508]/Border[0 0 0]/H/N>> -endobj - -33263 0 obj -<>/P 5495 0 R/Type/Annot/A 33401 0 R/Subtype/Link/Rect[423 499 437 508]/Border[0 0 0]/H/N>> -endobj - -33264 0 obj -<>/P 5495 0 R/Type/Annot/A 33399 0 R/Subtype/Link/Rect[439 499 451 508]/Border[0 0 0]/H/N>> -endobj - -33265 0 obj -<>/P 5495 0 R/Type/Annot/A 33396 0 R/Subtype/Link/Rect[368 489 378 498]/Border[0 0 0]/H/N>> -endobj - -33266 0 obj -<>/P 5495 0 R/Type/Annot/A 33394 0 R/Subtype/Link/Rect[380 489 394 498]/Border[0 0 0]/H/N>> -endobj - -33267 0 obj -<>/P 5495 0 R/Type/Annot/A 33392 0 R/Subtype/Link/Rect[396 489 410 498]/Border[0 0 0]/H/N>> -endobj - -33268 0 obj -<>/P 5495 0 R/Type/Annot/A 33390 0 R/Subtype/Link/Rect[412 489 426 498]/Border[0 0 0]/H/N>> -endobj - -33269 0 obj -<>/P 5495 0 R/Type/Annot/A 33388 0 R/Subtype/Link/Rect[428 489 442 498]/Border[0 0 0]/H/N>> -endobj - -33270 0 obj -<>/P 5495 0 R/Type/Annot/A 33386 0 R/Subtype/Link/Rect[444 489 460 499]/Border[0 0 0]/H/N>> -endobj - -33271 0 obj -<>/P 5495 0 R/Type/Annot/A 33384 0 R/Subtype/Link/Rect[461 489 475 498]/Border[0 0 0]/H/N>> -endobj - -33272 0 obj -<>/P 5495 0 R/Type/Annot/A 33382 0 R/Subtype/Link/Rect[477 489 491 498]/Border[0 0 0]/H/N>> -endobj - -33273 0 obj -<>/P 5495 0 R/Type/Annot/A 33380 0 R/Subtype/Link/Rect[493 489 507 498]/Border[0 0 0]/H/N>> -endobj - -33274 0 obj -<>/P 5495 0 R/Type/Annot/A 33378 0 R/Subtype/Link/Rect[359 479 371 488]/Border[0 0 0]/H/N>> -endobj - -33275 0 obj -<>/P 5495 0 R/Type/Annot/A 33376 0 R/Subtype/Link/Rect[407 469 417 478]/Border[0 0 0]/H/N>> -endobj - -33276 0 obj -<>/P 5495 0 R/Type/Annot/A 33374 0 R/Subtype/Link/Rect[419 469 429 478]/Border[0 0 0]/H/N>> -endobj - -33277 0 obj -<>/P 5495 0 R/Type/Annot/A 33372 0 R/Subtype/Link/Rect[431 469 441 478]/Border[0 0 0]/H/N>> -endobj - -33278 0 obj -<>/P 5495 0 R/Type/Annot/A 33370 0 R/Subtype/Link/Rect[443 469 457 478]/Border[0 0 0]/H/N>> -endobj - -33279 0 obj -<>/P 5495 0 R/Type/Annot/A 33368 0 R/Subtype/Link/Rect[459 469 473 478]/Border[0 0 0]/H/N>> -endobj - -33280 0 obj -<>/P 5495 0 R/Type/Annot/A 33366 0 R/Subtype/Link/Rect[475 469 489 478]/Border[0 0 0]/H/N>> -endobj - -33281 0 obj -<>/P 5495 0 R/Type/Annot/A 33364 0 R/Subtype/Link/Rect[359 459 376 469]/Border[0 0 0]/H/N>> -endobj - -33282 0 obj -<>/P 5495 0 R/Type/Annot/A 33362 0 R/Subtype/Link/Rect[377 459 391 468]/Border[0 0 0]/H/N>> -endobj - -33283 0 obj -<>/P 5495 0 R/Type/Annot/A 33360 0 R/Subtype/Link/Rect[393 459 407 468]/Border[0 0 0]/H/N>> -endobj - -33284 0 obj -<>/P 5495 0 R/Type/Annot/A 33358 0 R/Subtype/Link/Rect[409 459 423 468]/Border[0 0 0]/H/N>> -endobj - -33285 0 obj -<>/P 5495 0 R/Type/Annot/A 33356 0 R/Subtype/Link/Rect[425 459 437 468]/Border[0 0 0]/H/N>> -endobj - -33286 0 obj -<>/P 5495 0 R/Type/Annot/A 33581 0 R/Subtype/Link/Rect[403 449 415 458]/Border[0 0 0]/H/N>> -endobj - -33287 0 obj -<>/P 5495 0 R/Type/Annot/A 33352 0 R/Subtype/Link/Rect[404 439 414 448]/Border[0 0 0]/H/N>> -endobj - -33288 0 obj -<>/P 5495 0 R/Type/Annot/A 33576 0 R/Subtype/Link/Rect[416 439 430 448]/Border[0 0 0]/H/N>> -endobj - -33289 0 obj -<>/P 5495 0 R/Type/Annot/A 33573 0 R/Subtype/Link/Rect[432 439 444 448]/Border[0 0 0]/H/N>> -endobj - -33290 0 obj -<>/P 5495 0 R/Type/Annot/A 33570 0 R/Subtype/Link/Rect[420 429 434 438]/Border[0 0 0]/H/N>> -endobj - -33291 0 obj -<>/P 5495 0 R/Type/Annot/A 33567 0 R/Subtype/Link/Rect[436 429 448 438]/Border[0 0 0]/H/N>> -endobj - -33292 0 obj -<>/P 5495 0 R/Type/Annot/A 33564 0 R/Subtype/Link/Rect[360 391 374 400]/Border[0 0 0]/H/N>> -endobj - -33293 0 obj -<>/P 5495 0 R/Type/Annot/A 33561 0 R/Subtype/Link/Rect[376 391 388 400]/Border[0 0 0]/H/N>> -endobj - -33294 0 obj -<>/P 5495 0 R/Type/Annot/A 33591 0 R/Subtype/Link/Rect[406 381 418 390]/Border[0 0 0]/H/N>> -endobj - -33295 0 obj -<>/P 5495 0 R/Type/Annot/A 33588 0 R/Subtype/Link/Rect[444 371 458 380]/Border[0 0 0]/H/N>> -endobj - -33296 0 obj -<>/P 5495 0 R/Type/Annot/A 33587 0 R/Subtype/Link/Rect[460 371 476 381]/Border[0 0 0]/H/N>> -endobj - -33297 0 obj -<>/P 5495 0 R/Type/Annot/A 33586 0 R/Subtype/Link/Rect[477 371 491 380]/Border[0 0 0]/H/N>> -endobj - -33298 0 obj -<>/P 5495 0 R/Type/Annot/A 33584 0 R/Subtype/Link/Rect[493 371 505 380]/Border[0 0 0]/H/N>> -endobj - -33299 0 obj -<>/P 5495 0 R/Type/Annot/A 33582 0 R/Subtype/Link/Rect[398 361 412 370]/Border[0 0 0]/H/N>> -endobj - -33300 0 obj -<>/P 5495 0 R/Type/Annot/A 33579 0 R/Subtype/Link/Rect[414 361 426 370]/Border[0 0 0]/H/N>> -endobj - -33301 0 obj -<>/P 5495 0 R/Type/Annot/A 33577 0 R/Subtype/Link/Rect[376 351 382 360]/Border[0 0 0]/H/N>> -endobj - -33302 0 obj -<>/P 5495 0 R/Type/Annot/A 33574 0 R/Subtype/Link/Rect[384 351 397 360]/Border[0 0 0]/H/N>> -endobj - -33303 0 obj -<>/P 5495 0 R/Type/Annot/A 33571 0 R/Subtype/Link/Rect[399 351 413 360]/Border[0 0 0]/H/N>> -endobj - -33304 0 obj -<>/P 5495 0 R/Type/Annot/A 33568 0 R/Subtype/Link/Rect[415 351 429 360]/Border[0 0 0]/H/N>> -endobj - -33305 0 obj -<>/P 5495 0 R/Type/Annot/A 33565 0 R/Subtype/Link/Rect[431 351 443 360]/Border[0 0 0]/H/N>> -endobj - -33306 0 obj -<>/P 5495 0 R/Type/Annot/A 33562 0 R/Subtype/Link/Rect[434 341 448 350]/Border[0 0 0]/H/N>> -endobj - -33307 0 obj -<>/P 5495 0 R/Type/Annot/A 33559 0 R/Subtype/Link/Rect[450 341 462 350]/Border[0 0 0]/H/N>> -endobj - -33308 0 obj -<>/P 5495 0 R/Type/Annot/A 33557 0 R/Subtype/Link/Rect[410 331 422 340]/Border[0 0 0]/H/N>> -endobj - -33309 0 obj -<>/P 5495 0 R/Type/Annot/A 33555 0 R/Subtype/Link/Rect[415 321 427 330]/Border[0 0 0]/H/N>> -endobj - -33310 0 obj -<>/P 5495 0 R/Type/Annot/A 33553 0 R/Subtype/Link/Rect[384 301 392 310]/Border[0 0 0]/H/N>> -endobj - -33311 0 obj -<>/P 5495 0 R/Type/Annot/A 33551 0 R/Subtype/Link/Rect[410 291 418 300]/Border[0 0 0]/H/N>> -endobj - -33312 0 obj -<>/P 5495 0 R/Type/Annot/A 33549 0 R/Subtype/Link/Rect[386 281 394 290]/Border[0 0 0]/H/N>> -endobj - -33313 0 obj -<>/P 5495 0 R/Type/Annot/A 33547 0 R/Subtype/Link/Rect[392 271 400 280]/Border[0 0 0]/H/N>> -endobj - -33314 0 obj -<>/P 5495 0 R/Type/Annot/A 33545 0 R/Subtype/Link/Rect[361 261 373 270]/Border[0 0 0]/H/N>> -endobj - -33315 0 obj -<>/P 5495 0 R/Type/Annot/A 33543 0 R/Subtype/Link/Rect[402 251 414 260]/Border[0 0 0]/H/N>> -endobj - -33316 0 obj -<>/P 5495 0 R/Type/Annot/A 33541 0 R/Subtype/Link/Rect[404 241 414 250]/Border[0 0 0]/H/N>> -endobj - -33317 0 obj -<>/P 5495 0 R/Type/Annot/A 33539 0 R/Subtype/Link/Rect[416 241 428 250]/Border[0 0 0]/H/N>> -endobj - -33318 0 obj -<>/P 5495 0 R/Type/Annot/A 33538 0 R/Subtype/Link/Rect[399 231 409 240]/Border[0 0 0]/H/N>> -endobj - -33319 0 obj -<>/P 5495 0 R/Type/Annot/A 33536 0 R/Subtype/Link/Rect[411 231 425 240]/Border[0 0 0]/H/N>> -endobj - -33320 0 obj -<>/P 5495 0 R/Type/Annot/A 33534 0 R/Subtype/Link/Rect[427 231 438 240]/Border[0 0 0]/H/N>> -endobj - -33321 0 obj -<>/P 5495 0 R/Type/Annot/A 33532 0 R/Subtype/Link/Rect[377 211 390 221]/Border[0 0 0]/H/N>> -endobj - -33322 0 obj -<>/P 5495 0 R/Type/Annot/A 33530 0 R/Subtype/Link/Rect[390 211 400 220]/Border[0 0 0]/H/N>> -endobj - -33323 0 obj -<>/P 5495 0 R/Type/Annot/A 33528 0 R/Subtype/Link/Rect[402 211 418 221]/Border[0 0 0]/H/N>> -endobj - -33324 0 obj -<>/P 5495 0 R/Type/Annot/A 33526 0 R/Subtype/Link/Rect[419 211 430 220]/Border[0 0 0]/H/N>> -endobj - -33325 0 obj -<>/P 5495 0 R/Type/Annot/A 33524 0 R/Subtype/Link/Rect[397 201 403 210]/Border[0 0 0]/H/N>> -endobj - -33326 0 obj -<>/P 5495 0 R/Type/Annot/A 33522 0 R/Subtype/Link/Rect[405 201 411 210]/Border[0 0 0]/H/N>> -endobj - -33327 0 obj -<>/P 5495 0 R/Type/Annot/A 33520 0 R/Subtype/Link/Rect[413 201 427 210]/Border[0 0 0]/H/N>> -endobj - -33328 0 obj -<>/P 5495 0 R/Type/Annot/A 33518 0 R/Subtype/Link/Rect[429 201 442 210]/Border[0 0 0]/H/N>> -endobj - -33329 0 obj -<>/P 5495 0 R/Type/Annot/A 33516 0 R/Subtype/Link/Rect[444 201 458 210]/Border[0 0 0]/H/N>> -endobj - -33330 0 obj -<>/P 5495 0 R/Type/Annot/A 33514 0 R/Subtype/Link/Rect[460 201 472 210]/Border[0 0 0]/H/N>> -endobj - -33331 0 obj -<>/P 5495 0 R/Type/Annot/A 33512 0 R/Subtype/Link/Rect[442 191 459 201]/Border[0 0 0]/H/N>> -endobj - -33332 0 obj -<>/P 5495 0 R/Type/Annot/A 33510 0 R/Subtype/Link/Rect[460 191 473 200]/Border[0 0 0]/H/N>> -endobj - -33333 0 obj -<>/P 5495 0 R/Type/Annot/A 33508 0 R/Subtype/Link/Rect[475 191 487 200]/Border[0 0 0]/H/N>> -endobj - -33334 0 obj -<>/P 5495 0 R/Type/Annot/A 33506 0 R/Subtype/Link/Rect[412 171 424 180]/Border[0 0 0]/H/N>> -endobj - -33335 0 obj -<>/P 5495 0 R/Type/Annot/A 33504 0 R/Subtype/Link/Rect[416 161 428 170]/Border[0 0 0]/H/N>> -endobj - -33336 0 obj -<>/P 5495 0 R/Type/Annot/A 33502 0 R/Subtype/Link/Rect[439 151 449 160]/Border[0 0 0]/H/N>> -endobj - -33337 0 obj -<>/P 5495 0 R/Type/Annot/A 33500 0 R/Subtype/Link/Rect[451 151 461 160]/Border[0 0 0]/H/N>> -endobj - -33338 0 obj -<>/P 5495 0 R/Type/Annot/A 33498 0 R/Subtype/Link/Rect[463 151 473 160]/Border[0 0 0]/H/N>> -endobj - -33339 0 obj -<>/P 5495 0 R/Type/Annot/A 33496 0 R/Subtype/Link/Rect[475 151 489 160]/Border[0 0 0]/H/N>> -endobj - -33340 0 obj -<>/P 5495 0 R/Type/Annot/A 33494 0 R/Subtype/Link/Rect[359 141 376 151]/Border[0 0 0]/H/N>> -endobj - -33341 0 obj -<>/P 5495 0 R/Type/Annot/A 33492 0 R/Subtype/Link/Rect[377 141 391 150]/Border[0 0 0]/H/N>> -endobj - -33342 0 obj -<>/P 5495 0 R/Type/Annot/A 33490 0 R/Subtype/Link/Rect[393 141 409 151]/Border[0 0 0]/H/N>> -endobj - -33343 0 obj -<>/P 5495 0 R/Type/Annot/A 33488 0 R/Subtype/Link/Rect[410 141 424 150]/Border[0 0 0]/H/N>> -endobj - -33344 0 obj -<>/P 5495 0 R/Type/Annot/A 33486 0 R/Subtype/Link/Rect[426 141 440 150]/Border[0 0 0]/H/N>> -endobj - -33345 0 obj -<>/P 5495 0 R/Type/Annot/A 33484 0 R/Subtype/Link/Rect[442 141 454 150]/Border[0 0 0]/H/N>> -endobj - -33346 0 obj -<>/P 5495 0 R/Type/Annot/A 33482 0 R/Subtype/Link/Rect[387 608 404 617]/Border[0 0 0]/H/N>> -endobj - -33347 0 obj -<>/P 5495 0 R/Type/Annot/A 33480 0 R/Subtype/Link/Rect[379 568 396 577]/Border[0 0 0]/H/N>> -endobj - -33348 0 obj -<>/P 5495 0 R/Type/Annot/A 33478 0 R/Subtype/Link/Rect[381 250 400 259]/Border[0 0 0]/H/N>> -endobj - -33349 0 obj -<>/P 5495 0 R/Type/Annot/A 33476 0 R/Subtype/Link/Rect[385 220 402 229]/Border[0 0 0]/H/N>> -endobj - -33350 0 obj -<>/P 5495 0 R/Type/Annot/A 33474 0 R/Subtype/Link/Rect[393 180 410 189]/Border[0 0 0]/H/N>> -endobj - -33351 0 obj -<>/P 5495 0 R/Type/Annot/A 33473 0 R/Subtype/Link/Rect[174 168 191 177]/Border[0 0 0]/H/N>> -endobj - -33352 0 obj -<> -endobj - -33353 0 obj -<> -endobj - -33354 0 obj -<> -endobj - -33355 0 obj -<> -endobj - -33356 0 obj -<> -endobj - -33357 0 obj -<> -endobj - -33358 0 obj -<> -endobj - -33359 0 obj -<> -endobj - -33360 0 obj -<> -endobj - -33361 0 obj -<> -endobj - -33362 0 obj -<> -endobj - -33363 0 obj -<> -endobj - -33364 0 obj -<> -endobj - -33365 0 obj -<> -endobj - -33366 0 obj -<> -endobj - -33367 0 obj -<> -endobj - -33368 0 obj -<> -endobj - -33369 0 obj -<> -endobj - -33370 0 obj -<> -endobj - -33371 0 obj -<> -endobj - -33372 0 obj -<> -endobj - -33373 0 obj -<> -endobj - -33374 0 obj -<> -endobj - -33375 0 obj -<> -endobj - -33376 0 obj -<> -endobj - -33377 0 obj -<> -endobj - -33378 0 obj -<> -endobj - -33379 0 obj -<> -endobj - -33380 0 obj -<> -endobj - -33381 0 obj -<> -endobj - -33382 0 obj -<> -endobj - -33383 0 obj -<> -endobj - -33384 0 obj -<> -endobj - -33385 0 obj -<> -endobj - -33386 0 obj -<> -endobj - -33387 0 obj -<> -endobj - -33388 0 obj -<> -endobj - -33389 0 obj -<> -endobj - -33390 0 obj -<> -endobj - -33391 0 obj -<> -endobj - -33392 0 obj -<> -endobj - -33393 0 obj -<> -endobj - -33394 0 obj -<> -endobj - -33395 0 obj -<> -endobj - -33396 0 obj -<> -endobj - -33397 0 obj -<> -endobj - -33398 0 obj -<> -endobj - -33399 0 obj -<> -endobj - -33400 0 obj -<> -endobj - -33401 0 obj -<> -endobj - -33402 0 obj -<> -endobj - -33403 0 obj -<> -endobj - -33404 0 obj -<> -endobj - -33405 0 obj -<> -endobj - -33406 0 obj -<> -endobj - -33407 0 obj -<> -endobj - -33408 0 obj -<> -endobj - -33409 0 obj -<> -endobj - -33410 0 obj -<> -endobj - -33411 0 obj -<> -endobj - -33412 0 obj -<> -endobj - -33413 0 obj -<> -endobj - -33414 0 obj -<> -endobj - -33415 0 obj -<> -endobj - -33416 0 obj -<> -endobj - -33417 0 obj -<> -endobj - -33418 0 obj -<> -endobj - -33419 0 obj -<> -endobj - -33420 0 obj -<> -endobj - -33421 0 obj -<> -endobj - -33422 0 obj -<> -endobj - -33423 0 obj -<> -endobj - -33424 0 obj -<> -endobj - -33425 0 obj -<> -endobj - -33426 0 obj -<> -endobj - -33427 0 obj -<> -endobj - -33428 0 obj -<> -endobj - -33429 0 obj -<> -endobj - -33430 0 obj -<> -endobj - -33431 0 obj -<> -endobj - -33432 0 obj -<> -endobj - -33433 0 obj -<> -endobj - -33434 0 obj -<> -endobj - -33435 0 obj -<> -endobj - -33436 0 obj -<> -endobj - -33437 0 obj -<> -endobj - -33438 0 obj -<> -endobj - -33439 0 obj -<> -endobj - -33440 0 obj -<> -endobj - -33441 0 obj -<> -endobj - -33442 0 obj -<> -endobj - -33443 0 obj -<> -endobj - -33444 0 obj -<> -endobj - -33445 0 obj -<> -endobj - -33446 0 obj -<> -endobj - -33447 0 obj -<> -endobj - -33448 0 obj -<> -endobj - -33449 0 obj -<> -endobj - -33450 0 obj -<> -endobj - -33451 0 obj -<> -endobj - -33452 0 obj -<> -endobj - -33453 0 obj -<> -endobj - -33454 0 obj -<> -endobj - -33455 0 obj -<> -endobj - -33456 0 obj -<> -endobj - -33457 0 obj -<> -endobj - -33458 0 obj -<> -endobj - -33459 0 obj -<> -endobj - -33460 0 obj -<> -endobj - -33461 0 obj -<> -endobj - -33462 0 obj -<> -endobj - -33463 0 obj -<> -endobj - -33464 0 obj -<> -endobj - -33465 0 obj -<> -endobj - -33466 0 obj -<> -endobj - -33467 0 obj -<> -endobj - -33468 0 obj -<> -endobj - -33469 0 obj -<> -endobj - -33470 0 obj -<> -endobj - -33471 0 obj -<> -endobj - -33472 0 obj -<> -endobj - -33473 0 obj -<> -endobj - -33474 0 obj -<> -endobj - -33475 0 obj -<> -endobj - -33476 0 obj -<> -endobj - -33477 0 obj -<> -endobj - -33478 0 obj -<> -endobj - -33479 0 obj -<> -endobj - -33480 0 obj -<> -endobj - -33481 0 obj -<> -endobj - -33482 0 obj -<> -endobj - -33483 0 obj -<> -endobj - -33484 0 obj -<> -endobj - -33485 0 obj -<> -endobj - -33486 0 obj -<> -endobj - -33487 0 obj -<> -endobj - -33488 0 obj -<> -endobj - -33489 0 obj -<> -endobj - -33490 0 obj -<> -endobj - -33491 0 obj -<> -endobj - -33492 0 obj -<> -endobj - -33493 0 obj -<> -endobj - -33494 0 obj -<> -endobj - -33495 0 obj -<> -endobj - -33496 0 obj -<> -endobj - -33497 0 obj -<> -endobj - -33498 0 obj -<> -endobj - -33499 0 obj -<> -endobj - -33500 0 obj -<> -endobj - -33501 0 obj -<> -endobj - -33502 0 obj -<> -endobj - -33503 0 obj -<> -endobj - -33504 0 obj -<> -endobj - -33505 0 obj -<> -endobj - -33506 0 obj -<> -endobj - -33507 0 obj -<> -endobj - -33508 0 obj -<> -endobj - -33509 0 obj -<> -endobj - -33510 0 obj -<> -endobj - -33511 0 obj -<> -endobj - -33512 0 obj -<> -endobj - -33513 0 obj -<> -endobj - -33514 0 obj -<> -endobj - -33515 0 obj -<> -endobj - -33516 0 obj -<> -endobj - -33517 0 obj -<> -endobj - -33518 0 obj -<> -endobj - -33519 0 obj -<> -endobj - -33520 0 obj -<> -endobj - -33521 0 obj -<> -endobj - -33522 0 obj -<> -endobj - -33523 0 obj -<> -endobj - -33524 0 obj -<> -endobj - -33525 0 obj -<> -endobj - -33526 0 obj -<> -endobj - -33527 0 obj -<> -endobj - -33528 0 obj -<> -endobj - -33529 0 obj -<> -endobj - -33530 0 obj -<> -endobj - -33531 0 obj -<> -endobj - -33532 0 obj -<> -endobj - -33533 0 obj -<> -endobj - -33534 0 obj -<> -endobj - -33535 0 obj -<> -endobj - -33536 0 obj -<> -endobj - -33537 0 obj -<> -endobj - -33538 0 obj -<> -endobj - -33539 0 obj -<> -endobj - -33540 0 obj -<> -endobj - -33541 0 obj -<> -endobj - -33542 0 obj -<> -endobj - -33543 0 obj -<> -endobj - -33544 0 obj -<> -endobj - -33545 0 obj -<> -endobj - -33546 0 obj -<> -endobj - -33547 0 obj -<> -endobj - -33548 0 obj -<> -endobj - -33549 0 obj -<> -endobj - -33550 0 obj -<> -endobj - -33551 0 obj -<> -endobj - -33552 0 obj -<> -endobj - -33553 0 obj -<> -endobj - -33554 0 obj -<> -endobj - -33555 0 obj -<> -endobj - -33556 0 obj -<> -endobj - -33557 0 obj -<> -endobj - -33558 0 obj -<> -endobj - -33559 0 obj -<> -endobj - -33560 0 obj -<> -endobj - -33561 0 obj -<> -endobj - -33562 0 obj -<> -endobj - -33563 0 obj -<> -endobj - -33564 0 obj -<> -endobj - -33565 0 obj -<> -endobj - -33566 0 obj -<> -endobj - -33567 0 obj -<> -endobj - -33568 0 obj -<> -endobj - -33569 0 obj -<> -endobj - -33570 0 obj -<> -endobj - -33571 0 obj -<> -endobj - -33572 0 obj -<> -endobj - -33573 0 obj -<> -endobj - -33574 0 obj -<> -endobj - -33575 0 obj -<> -endobj - -33576 0 obj -<> -endobj - -33577 0 obj -<> -endobj - -33578 0 obj -<> -endobj - -33579 0 obj -<> -endobj - -33580 0 obj -<> -endobj - -33581 0 obj -<> -endobj - -33582 0 obj -<> -endobj - -33583 0 obj -<> -endobj - -33584 0 obj -<> -endobj - -33585 0 obj -<> -endobj - -33586 0 obj -<> -endobj - -33587 0 obj -<> -endobj - -33588 0 obj -<> -endobj - -33589 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -33590 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -33591 0 obj -<> -endobj - -33592 0 obj -<> -endobj - -33593 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -33594 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -33595 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -33596 0 obj -<> -stream -HWmoH_d^% X MֻMR.p%Q϶rҠ돣7KiJf>CRǟ*ېi@h&l:4b X1#M|ap|/U#?-XզX"8~?6xǙPm` mha0i/4_TE^K#o=Vǜãexg#nCegt ->PLO9l~Û0*fF!'`x}O >%ا{K{K4+b*j͡|(BP>{ls(=P-9S$TmET+ bbC=JBP{OP-P-9S$TmET+ bbC=JBP{OP-Egm"Tm6cbC=*BP{OP-P-9S"TmETbbC=*BP{OP-P-9S"TmETb*Єj͡|(BP>{ls(=P-9S&TmET bbC=jBP{OP-P-9S&TmET bbC=jBP{OP-Cgm"Tm6[f!U& 31S@̪0m(LzTTش>]N'ϮNޞ]>_M2x|ftT_-5=;?y/RK |\bܸyz>MOޝuqM./uhE9|E\ ȃ˿}@zރLe_>khQ|]mѷ쏀3p;p4%n(qN9B 3CWu~~Qwo?]B#;z/]lzޛγN$KS. XiFt,S.8*a:,TԴeqwDmnDռpѻ-7|37zvMt ܩ鱻r0bYT?Cn\vs> ٧P!4;{7*foyP.IX&D~=_{c7a+7w&R=p{A_o*eSd@k!e*4F((Cr`^i_6:x*߶WW&-ZЕtT,ugkV̫|o6/ydfBF%}76]5* ,yغ -6GGKe*@uJ u-⢸bcRU([7UAܭLPans|D|uꎜ\yn|op6pk#"mպ8Pp?˲+nYM{曢ɶEUn~} -B >Y8ʈM-]RC0U6y%.0/ v R/*sˤ;AS 4R0p&Cpd3xo5oOy{QWu_t(ĥ6xX n'b݈v|sFFaO&Lݭܧ0R( ^;)}&fX3SfTA09sqrqO'%B -؝;~U={0N_1)TDbH{R)4#y9Bɸ%NG%}4g"niuo h`?LL^5@Mv+%-=8pԒhpP/X3o'ӓ7@Cos¬| Z5z}>o-z&{2t6?X{O.Rt5]@HgRx+jXTzӘӁ23q*]FH&Hih=h=)3`U.vWBiЮvm|iz>7P1ME BJߺlk_A;ޥ{.VPKCGU` -`Xf+, 4pxum^@= ۰mNRD3gRn<.$pK;:w|]J2PZ 7 Yͱ͈9=vaC0mOH[w c!+܀aO/{Bat܆MmM^ČII;qny蘃ز\߁}GWvIn{N/cJ3|cjX#Qfs8nQqծlOzFaO(ZznڤfG@[Z1w@anړ oUA~z*l $eAJdF<2Ldf5\&/mUO܊QL[L`0)`USͲH&S׮DiYJ}7C An~֑ J΄r$!3`lᠪW)^gs])j}%Gi݄QLD@uT_u S(QEQfĵ ď2#nT~N,ڐ[L n#QO{L8ܣrjTu)ؑ,)IA2"YN%v]džiG@,4!ySx 6. iv? !endstream -endobj - -33597 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -33598 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -33599 0 obj -<> -endobj - -33600 0 obj -<> -endobj - -33601 0 obj -<> -endobj - -33602 0 obj -<> -endobj - -33603 0 obj -<> -endobj - -33604 0 obj -<> -endobj - -33605 0 obj -<> -endobj - -33606 0 obj -<> -endobj - -33607 0 obj -<> -endobj - -33608 0 obj -<> -endobj - -33609 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -33610 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -33611 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -33612 0 obj -<> -stream -HWko8_!_AwmIg4ia6#I~/Eɲɛ(RQLJ=şyۇ^]|~.& S!eg$` -_}x0P"!<843*P P7]90*<?1`#,W;cxGsO=GsO@ O@ O@ ODKODKO}=1>LjS O}O<)>ԧS"SO}<>+D+DYŪ#u1ջ׺a]̰|.,ĵ.fXzϵqs-G\bB\b\׺a!=rĵ.,ĵ.fXzϵqs-G\bB\b\׺a!=rĵ.Vqŀ Wbw1`!u1B{k]̰kZZ3,DZ QV u1`!u1B{k]̰kZZ3,DZ QV u*k]̰|.,ĵ.fXz3,_ qsD\b\+׺׺a!=Jĵ.fXzϵq qsD\b\+׺׺a!=Jĵ.fXzϵqUA WbB\bw1+!GU] ! |IEDy{zs"Ȕݾui7g!q9D8;DVm3G$&?UtvϢn1) p 8%4tenFKPŌk+ꕶK]'e9630>r_%0`/K痍DHzqm/hLhuIYlL)C;4ę0ؑ:)]ƖuYwEѼ-o0<D8 -3o}^#\7mJO38I(DnFT2e%)c.C|:OqHB I1|2i˙~۷6;0dٜ<&q Cf#M OCM׎ݰ͗RW<۱''^U QefgDZwzLm;=Xy6K)aٶO:gEO AK]FFbF9me*&NyO#:v9"׃PR)Iqwg -}2r1~,c߶'dPq .a%pLf A>s -TƉcu$?#UL(KQvXRuhp$6\`}36Y&]Ɗ:Z%\?Xf-gծ(Liv4hN-$a iG)UG[l(iznOl1jK3j49;O}TSO=vPcޚ!_}̍$*.rf;%u"4K01Ae"y*ᨁn -k ~2!CZwT1.Xfr"5 hǼFNi]//:zCx AsKӴy0lv:6M[=g\b(<|#mFovcB}/`, 5Xi܅GqTLa.i,I2'y/\F, ^u~::Ư⓱~{+T*n,%']vmQ}q?MIR맒H&%w;{%TYkF/bWu =sV WphHkVME=b, UNU}a9M]>`rdڴWT8ZRC/5|+NL:(6Zo7_j\ϫKW -[^@/OwrZ[3{3$(/r m?: 5s}wf(\Qx8l^LᲥ)0 (12Rf80Z2駵Ji)ɒg(p|(@.ʬ^_F/'prD\DĦn`x+ Dۋ$cVFs൮9Z+{zƦJZb)g$ O@{fm("-ghsd ) .חe&mI&SHI..%V0Fb3rvYIDN`,`D۴GXdqؖckvjz4SsՋsH*ٳ(I# -WDiifJJBcO{rIv%ziF位i:W_fPk+ERvȝUz+J@ܔ!h0AqTxN9~x.n+͜! -R-׈(l[]oŇZtendstream -endobj - -33613 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -33614 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -33615 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -33616 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -33617 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -33618 0 obj -<> -stream -HWk_1]4dhZ#aawDnH*CJZ{e-X3gg!WmA%<5.^ƩqfT85-uiUrͺiMٷRUtkn,Fi5<,(g}&Ϙ\p3>gs}/s{Y-b{Kh-ŐS Y=ŀ%bܳCR Y{Z#bܳZ!KpZkR Y{Z#bZK1d YkZ!KpZkRlYCwO1` {!R Y{Z+bܳZZ!KpZkR Y{Z+bZK1d YkZ!KpZkR XBk),=kZK1d YkZm"'b),CwO1dqZ!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%guBk),=kZKM -{Kh-ŐS YܽN%ߣr=EWQZn"?M\,ObfhRO.nub>v:%qfKuب,@:dy쎔wuWF'J]_d>U>&I&Wߨ]^og/rUW>,]_?`Xذ@o ^n۶{UWRXoi=::R-V]_շy}qy]X0$ -!ApP1#t RԌBFOnN)]1oCEQ ydlP$nNYevwb9³6pܻwzi.H_u`?fNE?pC֝ xCbZNrL ZiVʴRA+eZ1LʘV.hL+rUZ*iyA3-/hyeE1dq-K ZiiAK3-#he-{#bX{!Kb7B),A-{#bX{!Kb7B),A -ŀ%bX{!KbB),A --{+bX{!KbB),A --{+bX{!kQ XB),A -{'bX{!KbwB),A -{'bX{!KbwB),A>rO1dq-K=Őŵ|w!l]&*\(ct \vۖm/8ːY -fwµKߕbrS.{袾ŷYr&q q$5ޖjz/dN{Db7`?#rIT9`Q3"c[W\ Y~,ˮkZLmIq\U'I?t}kv8/q?O%_-bH8>tۍZWZ^}m[^U_4 k,*LTէmc:# vUCǢ$&v¼eKP̈ӌ_^8m}7QM>F[ԍ] e"c|iهMVlCJ\l5h4O^>wC볊1df/e{# 2:tj Vyb$zʃ5ˏ^9$M0#iҭ7ʦ'Mem+;Qmsk]YMҪt:?-ql(87e+^endstream -endobj - -33619 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -33620 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -33621 0 obj -<> -endobj - -33622 0 obj -<> -endobj - -33623 0 obj -<> -endobj - -33624 0 obj -<> -endobj - -33625 0 obj -<> -endobj - -33626 0 obj -<> -endobj - -33627 0 obj -<> -endobj - -33628 0 obj -<> -endobj - -33629 0 obj -<> -endobj - -33630 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -33631 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -33632 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -33633 0 obj -<> -stream -HW]oF}篘  -$٦& vѢV0e3k}a{%%[:YE+̙Ù{fx/Uuᇋ_^z/_$$gTU.˭*r&]mZ\Sb{uwm6UWs9s s}!/Bp_0Qp(})/Rp2kRlX!CwO1` {!R Y{Z+bܳZ!Z!KpRkR Y{Z+bRK1d YjZ!KpRkR XBj),=KRK1d YjZ'b),!CwO1dqZ!KpRR Y{Z'bRK1d YjZ!KpRR XBj),=KRK1d YjZKH-Ő%guBj),=KRKuR Y=ŀ%b),bRK1d YjZ!KpRR XBj),=KRK1d YjZKH-Ő%gBj),=KRK1` ,^H-Ő%gBj)NZ!R Y=ŐݗYY^iz<'UFWVZ#KAkY:sjNҦ3믻Z}HַK{~ϛ7g -~{.f?&D.Y>ȵ+4LlB-lUcVg~|nflhB}"O`Mi@u_mɮMt<9S<v)>,>r ? ߑqN%/ƍj CF0diyA3-/hyV.hL+rUZ*iEA+2(hEU -Z%*jY͵(,E1`A0-#he-˴ -uO1d ZPC -uO1d ZPC -uO};e1-),Aսb EPCע6{'=Ű)X;) uO1l7-VN{a#)hwBS IAսb" -ZPQbu6{'=ŰZCעu{/=ŰX{) uO1l-V^{a+&hBS [1Aսbd ZP&KbuO{/=Ű}ZCע6F 'ލS's&W! 0|L^v23W&wXOWzu3ӦQAػ;@zڰCCו:deZ ^ݮ &4CˢkB(8fbz֬ݫ ꪵnԛvs IWMOiAk\):Z; 1s]T𰏫bEmȾ{̪WsutyRcubǾˬRϠ$/cf 0̌ENyVe.'<:v﫮o7WjR % jW/4іpY{^o]洶 9H;{G,:썳!2]<~t]ipӧINݏL[ٹq:ݾ9;|믛_ (DØOUe35Չ#l( M9Fa\fgÁ^7m𥢏lT6۾z@#dxȴ9WޮwM="''N<aOoh]n<ڮ:{u~)LwECl.X~% px\caۛDWdRxLN'm¤p猉Pu S< Cസ?~;s=]ί@#E?r+rҙpKx얀R+ߺ%۷Pr{n >|pp/>~-ϝ܊߳ wf+BR(xA).,QR[? -\3=]3~fc G 5vFlWgXXzX33=p [4tHHə,D]Gnnu7˃ Y@Í>X./BVXGoؑ^tbv-^xZ3V~w r8uH?|>ƅvLunZ5RU]7dW@A}< n^ 2O $xQϋܑ!;bjbm`O<"w(cj8?Z,\ӷ"a:X.k2b{|޶}OmMêe3k8,Xy}!TK2`HPK-Xz r -"e`NEBi1PHOJQ^ hD+̀qbaP*(iB'벰3--6t+1[MF)C2D#[ht93X6ic A3<\JLLhw ru -T0endstream -endobj - -33634 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -33635 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -33636 0 obj -<> -endobj - -33637 0 obj -<> -endobj - -33638 0 obj -<> -endobj - -33639 0 obj -<> -endobj - -33640 0 obj -<> -endobj - -33641 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -33642 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -33643 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -33644 0 obj -<> -stream -HWnH|Wy楑-$Ėa3i[.'X̿o"HTTȪvEմ᯿qoOD ݟʄiLyTM| AI8 zVorlm7a3 \~.2Vawuġ y0mqP~t4JvO|^Lo܂ƣin]4E[7w{](ϕP=:J6qny}WHOag]sކYR'9lfU`Sαc' qXr99VHÈ$<KJW5p{ k^Z7 poOOO τ τυυυ//{ [ (-{9h-Lj%sX= cEkh-Lj܋*Z9h-Lj܋*Z Us,Z U#p/Z@k9X#p/Z@k9F,^VrlhZKcrX=Lj%s̱@k9F,^VrXhcrXh{Z Z1{Z Z1bcZ1bcEk5h-{9h-Lj%sX= cEk h-Lj܋Z9h-Lj܋Z 5s,Z 5#p/Zk@k9X#p/Zk@k9F,^րrl#t1{ Bw!GxKM!K, XB-# 2B+ZJV*2 heB+ZʁV. -UhB-+,в\KRcĒZJVZ -h+{u>KhsX@K^sYB cZ" -cZ #W N} #]wȽ]wȽ]dȽ]dȽ]QȽ]QȽ]>Ƚ]>Ƚ]+Ƚ]+Lj%8F%ro@9F%ro@9FW%ro@9FW%ro@9F|%ro@9F|%ro@9Fw%ro@9Fw%ro@9Fs%ro@9Fs1bI-ёhܧ 6֚0ṽepXI]`0n:6a9><<%Qq<:]i(3 bɈ$ٺ~_⽢+ʵUw.u[MuћW..&MM'qoT4Qb~|\6m}~|w'dj֍m}],/rkٽ-5?@'c7'pֽ0^7Cnz^7U;]BGl#M˫^YF۫.Tu[Vr\QMu۪͑F$X,dr|5y -;z`tI㍸tmY:+ݣB3h -AS˽WyM׺^W/S \i뱫mSǑí6\޹Hﰚ$4s֫p#ҙsj_x;~w»l|/Uɥ["6/eq'vGp&F]x(ؼsrѪii^NO}}zqq y3RYPg}:D2 F, XB-# 2B+ZJV*2 heB+ZʁV. -UhB-+,в\KRcĒZsh%B+ZR@K -D=LjD=LjD=LjD=LjD=LjD=LjD=LjD5=Lj%8X # # # # # # # # #7 #csX@KހsX@KހsX@Kހ*mw^aM"MS i* 'X8+iJB>y8z: -Zx *k{཯3YΠVg: -Zx *k{཯3/_}A}I$d~%F8w?#(!v\f04a$)_aa6cFBu8rZ+V0{L]ݼ.`lUynP,H8V:FN7- -'_3}ˋhL<ԥc!I -LizeT?e=~'xKj08I=~a\"v-1}O=>A49"q,/ԘPDR/9[<.v"DEw_FDM&$]].cTVnlR,27$M9Nr128n}mgcUofsw|Rkg-LH&lvZ+4WXĺ=v|kЧ.Ѣ>F_Pglu,$Y -̵WQ:]kfaa20qؿ)sz'Vܙsɽz[y^ tFp憮vAh"pCk}ٖ ׻0 IblW]~m 0mNendstream -endobj - -33645 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -33646 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -33647 0 obj -<> -endobj - -33648 0 obj -<> -endobj - -33649 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -33650 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -33651 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -33652 0 obj -<> -stream -HWk8ίjT:nni);tft"CAoAuMk \JgԱ}|񹾾5;t˛oB "e,J7FHC d`% n>U֕śjeepdmzܬg[o& YRa`j%MȈqcVņ]Qz{էcXovCW=u {Xρ⒝{Pc?lÂT.#8LlxTmFqD<,˟cg!̲" $^z%^z^y^y^y5^{5^{#B}䩏>"GzC7zC7P{cB}쩏 >!'PxSB}O gaZIcb̲|,_=ƀEcE\+ b̲k%Zp-,PVŘe=JµZYs$\1"{k1,µ,BZIcE\+ bl(µ,_=ƀEcǘe1,µ,BZEcE\b Xk1fYzϵp-,PVb̲kZYs"\1`Ře=*µ,BZEc@Ře1,µ,_=,W1`Ře=jµ,BZMc"\1"{Մk1fYzϵp-ƀEcE\ b̲k5Zp-,PVŘe=jµZYc"\1c̲|)OT}zܬg[o84B0cRWo;vBfU9tY=5J$"OldvE+[6C,_&׉P7㈛h;%ȶWfKoDYmZFKY 0oj SB??E*VkR,'.e{ DʭkOkw𔹦nYXއ1侢镼y(2FQ&>v!b 3r> ,jf޲z{YU3S0HC1\M%Yũv̮};UAGum䚶țz^_1{ir&\ZU6D91D:*:~d/A2;*4*C=_ݖ RG:s kOk[9UYL]v }Vi̅PӰXEcq;]YMe=I̞R9O A˳(x7ݘ_(l݈nq\}b"u2Ϳuۂ+vݣJY2hMݖN*:gC9ɾT!pf9H]ysp{7盛)xdBLNYoE~(PX GQ&7)KbnZ:*(r!KEܤ+iPCՉ;PxP<JXiyӧᢩ.\ pAJ8AǼcjk{>p o}QdR(S(}{`>?/ƨ?QtF2a)˿o6*s2^h4b|.FXK5(ԵE?#1\$R-zpZ=}l} 'c!@( -SVH,Ys?㜕ڼϏ>!j !O\׻rv)#R[.luޟpB 8X|r9ƅBWF 'eI(]_3ljNe}ϦRZNT5N3qڹnV݌|Tf<oYu;-bg Hn Nf3aiNc/OC{r -XzDD.d@JV]*iף)p -;HF"iG{3tt."R.qscbX:}+0cz0 -kx9*bD#FnqnPDiu#WCy -qi)@G |D -#CԵ$!'ɧřWQ6~_U_A mU)R)RҨIڗKUq e|c d[i%lvg&Hg1F14tfgFWNCؚQO] UC&Šl LNF -(6,&j샴 ,NVM  L#t\ӄ RY26,ā$s65&AOSg"As.m`v#WֽI>|| -6T1TuԞ/ T5=:>sY%[ȩ? WqI|JQरaRL()n`a"2,sB$wGӽMVae9>)?C"|ȋ$GHPCC!NFgJ0Wk1ӪaǗo\\U!I.\b E(TiԒ݈ZjQ.5_xnK9j̜~ze1bS$4~ھQd]bR (2v m!aMM]=KegD:g]z:zw+;FrA%sig}yxs)%eH-ZRo?v? -!endstream -endobj - -33653 0 obj -<>/P 1111 0 R/Type/Annot/A 33654 0 R/Subtype/Link/Rect[129.600006 248.709 259.102997 268.389008]/Border[0 0 0]/H/N>> -endobj - -33654 0 obj -<> -endobj - -33655 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -33656 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -33657 0 obj -<> -endobj - -33658 0 obj -<> -endobj - -33659 0 obj -<> -endobj - -33660 0 obj -<> -endobj - -33661 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -33662 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -33663 0 obj -<> -endobj - -33664 0 obj -<> -endobj - -33665 0 obj -<> -endobj - -33666 0 obj -<> -endobj - -33667 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -33668 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -33669 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -33670 0 obj -<> -stream -HWmo7>Bm`;Q/#EK-}H ccM%4?rv5#QアH|HꡨG7Gш~x꿕ԵA TmAVġ#vU#*)֢wYva펇8۷ Wf)@H|<:imr[]yk{$Zv_|&"J -و_qxW{5n+N mM)G٨m2EE6Bs2% {Haaaaaaoaoaoaoao-þMط 6a2ۄcػcػgg'hc۶FP)؆(FP)F}lCF(}Z`TŰOT jc6B1F(}Z`TŨ6a6B1؆(FP D6aƶm6Bc6BcR QjcjF(}ZŨ6!Qml#>QbTŰOT6D1mb'Ujcj؆(FP DQml#>QbT۶fTmbTmJ6D1mb'Ռjcj5؆(FP DQml#>QfTŨ6aV3mb'Ռjc6B1jFP DQmlVQml#T>!Qml#T>*ek wmjY,RH|\ouB-j}|t[k|^H ]zꟺB̥èqn!ۨ6O 3ui)WRQx|4_e -]mHX st[)sDNϛ0lx %Z<,ӦTSn.Ys auN5uav Ev3}=!.{idR_vfz@%Ԛ X.v%䨂Ʋ: 3[Q[YSY`RMm$#,.wDig7SA -~Xe0kiSL#vF( iP Lb_]"~Bo΀dn=dR?FL*[݀}Y@N fz.VӄWqtֻ/Ύtl_ҦTR(m8k: 5yjB5iу+V1K-nN3}fXgIz;Ͱ}~Qk:i46%'LXž8rzR^lÔXbh\g߾YeY&]w8\ZvFj1w]Ƴy2㜙_qqʤ[1C,&i4śšG#7hGl44.K7 i(`hJy:|I(cu_?t{O:+ EsvgJCnP vli14NCqcd*qFvZM[hGyJ ~"%UdخH #Vh (w^;ǡI;̙Ǚ[֛}a]X# ^+%)R>~}K/ًw8gbqâw/WdZ -&4w*ܒ=PzsJg[Jz?h) ]SJ̉SZΉ.99&Pɋyܢ6d/*hYBVA|cA^[ fWZf "APeK`+ԄY;fDuNi10)o0KKΗ|'ҹ %LY?sR+0_oW!P8P4F4Sw'21endstream -endobj - -33671 0 obj -<>/P 5255 0 R/Type/Annot/A 34074 0 R/Subtype/Link/Rect[226 669 240 677]/Border[0 0 0]/H/N>> -endobj - -33672 0 obj -<>/P 5255 0 R/Type/Annot/A 34071 0 R/Subtype/Link/Rect[242 669 256 677]/Border[0 0 0]/H/N>> -endobj - -33673 0 obj -<>/P 5255 0 R/Type/Annot/A 34069 0 R/Subtype/Link/Rect[258 669 272 677]/Border[0 0 0]/H/N>> -endobj - -33674 0 obj -<>/P 5255 0 R/Type/Annot/A 34066 0 R/Subtype/Link/Rect[274 669 288 677]/Border[0 0 0]/H/N>> -endobj - -33675 0 obj -<>/P 5255 0 R/Type/Annot/A 34063 0 R/Subtype/Link/Rect[290 669 302 677]/Border[0 0 0]/H/N>> -endobj - -33676 0 obj -<>/P 5255 0 R/Type/Annot/A 34060 0 R/Subtype/Link/Rect[189 659 201 667]/Border[0 0 0]/H/N>> -endobj - -33677 0 obj -<>/P 5255 0 R/Type/Annot/A 34057 0 R/Subtype/Link/Rect[197 649 209 657]/Border[0 0 0]/H/N>> -endobj - -33678 0 obj -<>/P 5255 0 R/Type/Annot/A 34055 0 R/Subtype/Link/Rect[179 639 193 647]/Border[0 0 0]/H/N>> -endobj - -33679 0 obj -<>/P 5255 0 R/Type/Annot/A 34052 0 R/Subtype/Link/Rect[195 639 209 647]/Border[0 0 0]/H/N>> -endobj - -33680 0 obj -<>/P 5255 0 R/Type/Annot/A 34050 0 R/Subtype/Link/Rect[211 639 225 647]/Border[0 0 0]/H/N>> -endobj - -33681 0 obj -<>/P 5255 0 R/Type/Annot/A 34048 0 R/Subtype/Link/Rect[227 639 239 647]/Border[0 0 0]/H/N>> -endobj - -33682 0 obj -<>/P 5255 0 R/Type/Annot/A 34046 0 R/Subtype/Link/Rect[178 629 192 637]/Border[0 0 0]/H/N>> -endobj - -33683 0 obj -<>/P 5255 0 R/Type/Annot/A 34044 0 R/Subtype/Link/Rect[194 629 206 637]/Border[0 0 0]/H/N>> -endobj - -33684 0 obj -<>/P 5255 0 R/Type/Annot/A 34042 0 R/Subtype/Link/Rect[188 619 200 627]/Border[0 0 0]/H/N>> -endobj - -33685 0 obj -<>/P 5255 0 R/Type/Annot/A 34040 0 R/Subtype/Link/Rect[184 609 190 617]/Border[0 0 0]/H/N>> -endobj - -33686 0 obj -<>/P 5255 0 R/Type/Annot/A 34038 0 R/Subtype/Link/Rect[192 609 202 617]/Border[0 0 0]/H/N>> -endobj - -33687 0 obj -<>/P 5255 0 R/Type/Annot/A 34036 0 R/Subtype/Link/Rect[204 609 214 617]/Border[0 0 0]/H/N>> -endobj - -33688 0 obj -<>/P 5255 0 R/Type/Annot/A 34034 0 R/Subtype/Link/Rect[216 609 228 617]/Border[0 0 0]/H/N>> -endobj - -33689 0 obj -<>/P 5255 0 R/Type/Annot/A 34032 0 R/Subtype/Link/Rect[184 599 196 607]/Border[0 0 0]/H/N>> -endobj - -33690 0 obj -<>/P 5255 0 R/Type/Annot/A 34030 0 R/Subtype/Link/Rect[180 589 192 597]/Border[0 0 0]/H/N>> -endobj - -33691 0 obj -<>/P 5255 0 R/Type/Annot/A 34028 0 R/Subtype/Link/Rect[188 579 198 587]/Border[0 0 0]/H/N>> -endobj - -33692 0 obj -<>/P 5255 0 R/Type/Annot/A 34026 0 R/Subtype/Link/Rect[200 579 212 587]/Border[0 0 0]/H/N>> -endobj - -33693 0 obj -<>/P 5255 0 R/Type/Annot/A 34024 0 R/Subtype/Link/Rect[221 569 235 577]/Border[0 0 0]/H/N>> -endobj - -33694 0 obj -<>/P 5255 0 R/Type/Annot/A 34022 0 R/Subtype/Link/Rect[237 569 253 578]/Border[0 0 0]/H/N>> -endobj - -33695 0 obj -<>/P 5255 0 R/Type/Annot/A 34020 0 R/Subtype/Link/Rect[254 569 268 577]/Border[0 0 0]/H/N>> -endobj - -33696 0 obj -<>/P 5255 0 R/Type/Annot/A 34018 0 R/Subtype/Link/Rect[270 569 287 578]/Border[0 0 0]/H/N>> -endobj - -33697 0 obj -<>/P 5255 0 R/Type/Annot/A 34016 0 R/Subtype/Link/Rect[287 569 301 577]/Border[0 0 0]/H/N>> -endobj - -33698 0 obj -<>/P 5255 0 R/Type/Annot/A 34014 0 R/Subtype/Link/Rect[151 559 167 568]/Border[0 0 0]/H/N>> -endobj - -33699 0 obj -<>/P 5255 0 R/Type/Annot/A 34012 0 R/Subtype/Link/Rect[168 559 182 567]/Border[0 0 0]/H/N>> -endobj - -33700 0 obj -<>/P 5255 0 R/Type/Annot/A 34010 0 R/Subtype/Link/Rect[184 559 198 567]/Border[0 0 0]/H/N>> -endobj - -33701 0 obj -<>/P 5255 0 R/Type/Annot/A 34008 0 R/Subtype/Link/Rect[200 559 214 567]/Border[0 0 0]/H/N>> -endobj - -33702 0 obj -<>/P 5255 0 R/Type/Annot/A 34006 0 R/Subtype/Link/Rect[216 559 230 567]/Border[0 0 0]/H/N>> -endobj - -33703 0 obj -<>/P 5255 0 R/Type/Annot/A 34004 0 R/Subtype/Link/Rect[232 559 246 567]/Border[0 0 0]/H/N>> -endobj - -33704 0 obj -<>/P 5255 0 R/Type/Annot/A 34002 0 R/Subtype/Link/Rect[248 559 260 567]/Border[0 0 0]/H/N>> -endobj - -33705 0 obj -<>/P 5255 0 R/Type/Annot/A 34000 0 R/Subtype/Link/Rect[189 549 201 557]/Border[0 0 0]/H/N>> -endobj - -33706 0 obj -<>/P 5255 0 R/Type/Annot/A 33998 0 R/Subtype/Link/Rect[221 539 235 547]/Border[0 0 0]/H/N>> -endobj - -33707 0 obj -<>/P 5255 0 R/Type/Annot/A 33996 0 R/Subtype/Link/Rect[237 539 251 547]/Border[0 0 0]/H/N>> -endobj - -33708 0 obj -<>/P 5255 0 R/Type/Annot/A 33994 0 R/Subtype/Link/Rect[253 539 267 547]/Border[0 0 0]/H/N>> -endobj - -33709 0 obj -<>/P 5255 0 R/Type/Annot/A 33992 0 R/Subtype/Link/Rect[269 539 283 547]/Border[0 0 0]/H/N>> -endobj - -33710 0 obj -<>/P 5255 0 R/Type/Annot/A 33990 0 R/Subtype/Link/Rect[285 539 297 547]/Border[0 0 0]/H/N>> -endobj - -33711 0 obj -<>/P 5255 0 R/Type/Annot/A 33988 0 R/Subtype/Link/Rect[189 529 201 537]/Border[0 0 0]/H/N>> -endobj - -33712 0 obj -<>/P 5255 0 R/Type/Annot/A 33986 0 R/Subtype/Link/Rect[197 519 209 527]/Border[0 0 0]/H/N>> -endobj - -33713 0 obj -<>/P 5255 0 R/Type/Annot/A 33983 0 R/Subtype/Link/Rect[187 509 197 517]/Border[0 0 0]/H/N>> -endobj - -33714 0 obj -<>/P 5255 0 R/Type/Annot/A 33981 0 R/Subtype/Link/Rect[199 509 216 518]/Border[0 0 0]/H/N>> -endobj - -33715 0 obj -<>/P 5255 0 R/Type/Annot/A 33979 0 R/Subtype/Link/Rect[217 509 231 517]/Border[0 0 0]/H/N>> -endobj - -33716 0 obj -<>/P 5255 0 R/Type/Annot/A 33977 0 R/Subtype/Link/Rect[233 509 249 518]/Border[0 0 0]/H/N>> -endobj - -33717 0 obj -<>/P 5255 0 R/Type/Annot/A 33975 0 R/Subtype/Link/Rect[250 509 264 517]/Border[0 0 0]/H/N>> -endobj - -33718 0 obj -<>/P 5255 0 R/Type/Annot/A 33973 0 R/Subtype/Link/Rect[266 509 280 517]/Border[0 0 0]/H/N>> -endobj - -33719 0 obj -<>/P 5255 0 R/Type/Annot/A 33971 0 R/Subtype/Link/Rect[151 499 167 508]/Border[0 0 0]/H/N>> -endobj - -33720 0 obj -<>/P 5255 0 R/Type/Annot/A 33969 0 R/Subtype/Link/Rect[168 499 182 507]/Border[0 0 0]/H/N>> -endobj - -33721 0 obj -<>/P 5255 0 R/Type/Annot/A 33967 0 R/Subtype/Link/Rect[184 499 196 507]/Border[0 0 0]/H/N>> -endobj - -33722 0 obj -<>/P 5255 0 R/Type/Annot/A 33965 0 R/Subtype/Link/Rect[189 489 201 497]/Border[0 0 0]/H/N>> -endobj - -33723 0 obj -<>/P 5255 0 R/Type/Annot/A 33963 0 R/Subtype/Link/Rect[202 479 218 488]/Border[0 0 0]/H/N>> -endobj - -33724 0 obj -<>/P 5255 0 R/Type/Annot/A 33961 0 R/Subtype/Link/Rect[219 479 233 487]/Border[0 0 0]/H/N>> -endobj - -33725 0 obj -<>/P 5255 0 R/Type/Annot/A 33959 0 R/Subtype/Link/Rect[235 479 249 487]/Border[0 0 0]/H/N>> -endobj - -33726 0 obj -<>/P 5255 0 R/Type/Annot/A 33957 0 R/Subtype/Link/Rect[251 479 265 487]/Border[0 0 0]/H/N>> -endobj - -33727 0 obj -<>/P 5255 0 R/Type/Annot/A 33955 0 R/Subtype/Link/Rect[267 479 281 487]/Border[0 0 0]/H/N>> -endobj - -33728 0 obj -<>/P 5255 0 R/Type/Annot/A 33953 0 R/Subtype/Link/Rect[283 479 297 487]/Border[0 0 0]/H/N>> -endobj - -33729 0 obj -<>/P 5255 0 R/Type/Annot/A 33951 0 R/Subtype/Link/Rect[299 479 311 487]/Border[0 0 0]/H/N>> -endobj - -33730 0 obj -<>/P 5255 0 R/Type/Annot/A 33949 0 R/Subtype/Link/Rect[189 469 201 477]/Border[0 0 0]/H/N>> -endobj - -33731 0 obj -<>/P 5255 0 R/Type/Annot/A 33947 0 R/Subtype/Link/Rect[245 459 259 467]/Border[0 0 0]/H/N>> -endobj - -33732 0 obj -<>/P 5255 0 R/Type/Annot/A 33945 0 R/Subtype/Link/Rect[261 459 275 467]/Border[0 0 0]/H/N>> -endobj - -33733 0 obj -<>/P 5255 0 R/Type/Annot/A 33943 0 R/Subtype/Link/Rect[277 459 289 467]/Border[0 0 0]/H/N>> -endobj - -33734 0 obj -<>/P 5255 0 R/Type/Annot/A 33941 0 R/Subtype/Link/Rect[189 449 201 457]/Border[0 0 0]/H/N>> -endobj - -33735 0 obj -<>/P 5255 0 R/Type/Annot/A 33939 0 R/Subtype/Link/Rect[203 439 211 447]/Border[0 0 0]/H/N>> -endobj - -33736 0 obj -<>/P 5255 0 R/Type/Annot/A 34177 0 R/Subtype/Link/Rect[230 429 244 437]/Border[0 0 0]/H/N>> -endobj - -33737 0 obj -<>/P 5255 0 R/Type/Annot/A 34175 0 R/Subtype/Link/Rect[246 429 260 437]/Border[0 0 0]/H/N>> -endobj - -33738 0 obj -<>/P 5255 0 R/Type/Annot/A 34173 0 R/Subtype/Link/Rect[262 429 274 437]/Border[0 0 0]/H/N>> -endobj - -33739 0 obj -<>/P 5255 0 R/Type/Annot/A 34171 0 R/Subtype/Link/Rect[189 419 201 427]/Border[0 0 0]/H/N>> -endobj - -33740 0 obj -<>/P 5255 0 R/Type/Annot/A 34169 0 R/Subtype/Link/Rect[197 409 207 417]/Border[0 0 0]/H/N>> -endobj - -33741 0 obj -<>/P 5255 0 R/Type/Annot/A 34167 0 R/Subtype/Link/Rect[209 409 225 418]/Border[0 0 0]/H/N>> -endobj - -33742 0 obj -<>/P 5255 0 R/Type/Annot/A 34165 0 R/Subtype/Link/Rect[226 409 240 417]/Border[0 0 0]/H/N>> -endobj - -33743 0 obj -<>/P 5255 0 R/Type/Annot/A 34163 0 R/Subtype/Link/Rect[242 409 256 417]/Border[0 0 0]/H/N>> -endobj - -33744 0 obj -<>/P 5255 0 R/Type/Annot/A 34161 0 R/Subtype/Link/Rect[258 409 272 417]/Border[0 0 0]/H/N>> -endobj - -33745 0 obj -<>/P 5255 0 R/Type/Annot/A 34159 0 R/Subtype/Link/Rect[274 409 288 417]/Border[0 0 0]/H/N>> -endobj - -33746 0 obj -<>/P 5255 0 R/Type/Annot/A 34157 0 R/Subtype/Link/Rect[151 399 167 408]/Border[0 0 0]/H/N>> -endobj - -33747 0 obj -<>/P 5255 0 R/Type/Annot/A 34155 0 R/Subtype/Link/Rect[167 399 179 407]/Border[0 0 0]/H/N>> -endobj - -33748 0 obj -<>/P 5255 0 R/Type/Annot/A 34152 0 R/Subtype/Link/Rect[189 389 201 397]/Border[0 0 0]/H/N>> -endobj - -33749 0 obj -<>/P 5255 0 R/Type/Annot/A 34150 0 R/Subtype/Link/Rect[202 379 215 387]/Border[0 0 0]/H/N>> -endobj - -33750 0 obj -<>/P 5255 0 R/Type/Annot/A 34148 0 R/Subtype/Link/Rect[217 379 231 387]/Border[0 0 0]/H/N>> -endobj - -33751 0 obj -<>/P 5255 0 R/Type/Annot/A 34146 0 R/Subtype/Link/Rect[233 379 245 387]/Border[0 0 0]/H/N>> -endobj - -33752 0 obj -<>/P 5255 0 R/Type/Annot/A 34144 0 R/Subtype/Link/Rect[206 369 218 377]/Border[0 0 0]/H/N>> -endobj - -33753 0 obj -<>/P 5255 0 R/Type/Annot/A 34142 0 R/Subtype/Link/Rect[202 359 216 367]/Border[0 0 0]/H/N>> -endobj - -33754 0 obj -<>/P 5255 0 R/Type/Annot/A 34140 0 R/Subtype/Link/Rect[218 359 230 367]/Border[0 0 0]/H/N>> -endobj - -33755 0 obj -<>/P 5255 0 R/Type/Annot/A 34138 0 R/Subtype/Link/Rect[189 349 201 357]/Border[0 0 0]/H/N>> -endobj - -33756 0 obj -<>/P 5255 0 R/Type/Annot/A 34137 0 R/Subtype/Link/Rect[197 339 211 347]/Border[0 0 0]/H/N>> -endobj - -33757 0 obj -<>/P 5255 0 R/Type/Annot/A 34136 0 R/Subtype/Link/Rect[213 339 229 348]/Border[0 0 0]/H/N>> -endobj - -33758 0 obj -<>/P 5255 0 R/Type/Annot/A 34134 0 R/Subtype/Link/Rect[230 339 244 347]/Border[0 0 0]/H/N>> -endobj - -33759 0 obj -<>/P 5255 0 R/Type/Annot/A 34132 0 R/Subtype/Link/Rect[246 339 260 347]/Border[0 0 0]/H/N>> -endobj - -33760 0 obj -<>/P 5255 0 R/Type/Annot/A 34130 0 R/Subtype/Link/Rect[262 339 279 348]/Border[0 0 0]/H/N>> -endobj - -33761 0 obj -<>/P 5255 0 R/Type/Annot/A 34128 0 R/Subtype/Link/Rect[279 339 293 347]/Border[0 0 0]/H/N>> -endobj - -33762 0 obj -<>/P 5255 0 R/Type/Annot/A 34126 0 R/Subtype/Link/Rect[151 329 167 338]/Border[0 0 0]/H/N>> -endobj - -33763 0 obj -<>/P 5255 0 R/Type/Annot/A 34124 0 R/Subtype/Link/Rect[168 329 182 337]/Border[0 0 0]/H/N>> -endobj - -33764 0 obj -<>/P 5255 0 R/Type/Annot/A 34122 0 R/Subtype/Link/Rect[184 329 198 337]/Border[0 0 0]/H/N>> -endobj - -33765 0 obj -<>/P 5255 0 R/Type/Annot/A 34120 0 R/Subtype/Link/Rect[200 329 214 337]/Border[0 0 0]/H/N>> -endobj - -33766 0 obj -<>/P 5255 0 R/Type/Annot/A 34118 0 R/Subtype/Link/Rect[216 329 228 338]/Border[0 0 0]/H/N>> -endobj - -33767 0 obj -<>/P 5255 0 R/Type/Annot/A 34116 0 R/Subtype/Link/Rect[189 319 201 328]/Border[0 0 0]/H/N>> -endobj - -33768 0 obj -<>/P 5255 0 R/Type/Annot/A 34114 0 R/Subtype/Link/Rect[206 309 223 318]/Border[0 0 0]/H/N>> -endobj - -33769 0 obj -<>/P 5255 0 R/Type/Annot/A 34112 0 R/Subtype/Link/Rect[224 309 236 318]/Border[0 0 0]/H/N>> -endobj - -33770 0 obj -<>/P 5255 0 R/Type/Annot/A 34110 0 R/Subtype/Link/Rect[202 299 216 308]/Border[0 0 0]/H/N>> -endobj - -33771 0 obj -<>/P 5255 0 R/Type/Annot/A 34108 0 R/Subtype/Link/Rect[218 299 232 308]/Border[0 0 0]/H/N>> -endobj - -33772 0 obj -<>/P 5255 0 R/Type/Annot/A 34106 0 R/Subtype/Link/Rect[234 299 248 308]/Border[0 0 0]/H/N>> -endobj - -33773 0 obj -<>/P 5255 0 R/Type/Annot/A 34104 0 R/Subtype/Link/Rect[250 299 264 308]/Border[0 0 0]/H/N>> -endobj - -33774 0 obj -<>/P 5255 0 R/Type/Annot/A 34102 0 R/Subtype/Link/Rect[266 299 280 308]/Border[0 0 0]/H/N>> -endobj - -33775 0 obj -<>/P 5255 0 R/Type/Annot/A 34100 0 R/Subtype/Link/Rect[282 299 294 308]/Border[0 0 0]/H/N>> -endobj - -33776 0 obj -<>/P 5255 0 R/Type/Annot/A 34098 0 R/Subtype/Link/Rect[189 289 201 298]/Border[0 0 0]/H/N>> -endobj - -33777 0 obj -<>/P 5255 0 R/Type/Annot/A 34096 0 R/Subtype/Link/Rect[197 279 207 288]/Border[0 0 0]/H/N>> -endobj - -33778 0 obj -<>/P 5255 0 R/Type/Annot/A 34094 0 R/Subtype/Link/Rect[209 279 223 288]/Border[0 0 0]/H/N>> -endobj - -33779 0 obj -<>/P 5255 0 R/Type/Annot/A 34092 0 R/Subtype/Link/Rect[225 279 237 288]/Border[0 0 0]/H/N>> -endobj - -33780 0 obj -<>/P 5255 0 R/Type/Annot/A 34090 0 R/Subtype/Link/Rect[189 269 201 278]/Border[0 0 0]/H/N>> -endobj - -33781 0 obj -<>/P 5255 0 R/Type/Annot/A 34088 0 R/Subtype/Link/Rect[206 259 223 268]/Border[0 0 0]/H/N>> -endobj - -33782 0 obj -<>/P 5255 0 R/Type/Annot/A 34086 0 R/Subtype/Link/Rect[224 259 238 268]/Border[0 0 0]/H/N>> -endobj - -33783 0 obj -<>/P 5255 0 R/Type/Annot/A 34083 0 R/Subtype/Link/Rect[240 259 254 268]/Border[0 0 0]/H/N>> -endobj - -33784 0 obj -<>/P 5255 0 R/Type/Annot/A 34081 0 R/Subtype/Link/Rect[256 259 268 268]/Border[0 0 0]/H/N>> -endobj - -33785 0 obj -<>/P 5255 0 R/Type/Annot/A 34079 0 R/Subtype/Link/Rect[189 249 201 258]/Border[0 0 0]/H/N>> -endobj - -33786 0 obj -<>/P 5255 0 R/Type/Annot/A 34077 0 R/Subtype/Link/Rect[206 239 220 248]/Border[0 0 0]/H/N>> -endobj - -33787 0 obj -<>/P 5255 0 R/Type/Annot/A 34075 0 R/Subtype/Link/Rect[222 239 236 248]/Border[0 0 0]/H/N>> -endobj - -33788 0 obj -<>/P 5255 0 R/Type/Annot/A 34072 0 R/Subtype/Link/Rect[238 239 250 248]/Border[0 0 0]/H/N>> -endobj - -33789 0 obj -<>/P 5255 0 R/Type/Annot/A 34070 0 R/Subtype/Link/Rect[189 229 201 238]/Border[0 0 0]/H/N>> -endobj - -33790 0 obj -<>/P 5255 0 R/Type/Annot/A 34068 0 R/Subtype/Link/Rect[216 219 230 228]/Border[0 0 0]/H/N>> -endobj - -33791 0 obj -<>/P 5255 0 R/Type/Annot/A 34065 0 R/Subtype/Link/Rect[232 219 244 228]/Border[0 0 0]/H/N>> -endobj - -33792 0 obj -<>/P 5255 0 R/Type/Annot/A 34062 0 R/Subtype/Link/Rect[206 209 220 218]/Border[0 0 0]/H/N>> -endobj - -33793 0 obj -<>/P 5255 0 R/Type/Annot/A 34059 0 R/Subtype/Link/Rect[222 209 236 218]/Border[0 0 0]/H/N>> -endobj - -33794 0 obj -<>/P 5255 0 R/Type/Annot/A 34056 0 R/Subtype/Link/Rect[238 209 250 218]/Border[0 0 0]/H/N>> -endobj - -33795 0 obj -<>/P 5255 0 R/Type/Annot/A 34054 0 R/Subtype/Link/Rect[189 199 201 208]/Border[0 0 0]/H/N>> -endobj - -33796 0 obj -<>/P 5255 0 R/Type/Annot/A 34051 0 R/Subtype/Link/Rect[216 189 230 198]/Border[0 0 0]/H/N>> -endobj - -33797 0 obj -<>/P 5255 0 R/Type/Annot/A 34049 0 R/Subtype/Link/Rect[232 189 244 198]/Border[0 0 0]/H/N>> -endobj - -33798 0 obj -<>/P 5255 0 R/Type/Annot/A 34047 0 R/Subtype/Link/Rect[211 179 225 188]/Border[0 0 0]/H/N>> -endobj - -33799 0 obj -<>/P 5255 0 R/Type/Annot/A 34045 0 R/Subtype/Link/Rect[227 179 239 188]/Border[0 0 0]/H/N>> -endobj - -33800 0 obj -<>/P 5255 0 R/Type/Annot/A 34043 0 R/Subtype/Link/Rect[189 169 201 178]/Border[0 0 0]/H/N>> -endobj - -33801 0 obj -<>/P 5255 0 R/Type/Annot/A 34041 0 R/Subtype/Link/Rect[230 159 244 168]/Border[0 0 0]/H/N>> -endobj - -33802 0 obj -<>/P 5255 0 R/Type/Annot/A 34039 0 R/Subtype/Link/Rect[246 159 258 168]/Border[0 0 0]/H/N>> -endobj - -33803 0 obj -<>/P 5255 0 R/Type/Annot/A 34037 0 R/Subtype/Link/Rect[230 149 244 158]/Border[0 0 0]/H/N>> -endobj - -33804 0 obj -<>/P 5255 0 R/Type/Annot/A 34035 0 R/Subtype/Link/Rect[246 149 258 158]/Border[0 0 0]/H/N>> -endobj - -33805 0 obj -<>/P 5255 0 R/Type/Annot/A 34033 0 R/Subtype/Link/Rect[424 669 438 677]/Border[0 0 0]/H/N>> -endobj - -33806 0 obj -<>/P 5255 0 R/Type/Annot/A 34031 0 R/Subtype/Link/Rect[440 669 454 677]/Border[0 0 0]/H/N>> -endobj - -33807 0 obj -<>/P 5255 0 R/Type/Annot/A 34029 0 R/Subtype/Link/Rect[456 669 468 677]/Border[0 0 0]/H/N>> -endobj - -33808 0 obj -<>/P 5255 0 R/Type/Annot/A 34027 0 R/Subtype/Link/Rect[397 659 409 667]/Border[0 0 0]/H/N>> -endobj - -33809 0 obj -<>/P 5255 0 R/Type/Annot/A 34053 0 R/Subtype/Link/Rect[419 649 431 657]/Border[0 0 0]/H/N>> -endobj - -33810 0 obj -<>/P 5255 0 R/Type/Annot/A 34025 0 R/Subtype/Link/Rect[429 639 441 648]/Border[0 0 0]/H/N>> -endobj - -33811 0 obj -<>/P 5255 0 R/Type/Annot/A 34023 0 R/Subtype/Link/Rect[442 639 452 647]/Border[0 0 0]/H/N>> -endobj - -33812 0 obj -<>/P 5255 0 R/Type/Annot/A 34021 0 R/Subtype/Link/Rect[454 639 464 647]/Border[0 0 0]/H/N>> -endobj - -33813 0 obj -<>/P 5255 0 R/Type/Annot/A 34019 0 R/Subtype/Link/Rect[466 639 480 647]/Border[0 0 0]/H/N>> -endobj - -33814 0 obj -<>/P 5255 0 R/Type/Annot/A 34017 0 R/Subtype/Link/Rect[482 639 496 647]/Border[0 0 0]/H/N>> -endobj - -33815 0 obj -<>/P 5255 0 R/Type/Annot/A 34015 0 R/Subtype/Link/Rect[359 629 375 638]/Border[0 0 0]/H/N>> -endobj - -33816 0 obj -<>/P 5255 0 R/Type/Annot/A 34013 0 R/Subtype/Link/Rect[376 629 390 637]/Border[0 0 0]/H/N>> -endobj - -33817 0 obj -<>/P 5255 0 R/Type/Annot/A 34011 0 R/Subtype/Link/Rect[392 629 406 637]/Border[0 0 0]/H/N>> -endobj - -33818 0 obj -<>/P 5255 0 R/Type/Annot/A 34009 0 R/Subtype/Link/Rect[408 629 420 637]/Border[0 0 0]/H/N>> -endobj - -33819 0 obj -<>/P 5255 0 R/Type/Annot/A 34007 0 R/Subtype/Link/Rect[397 619 409 627]/Border[0 0 0]/H/N>> -endobj - -33820 0 obj -<>/P 5255 0 R/Type/Annot/A 34005 0 R/Subtype/Link/Rect[410 609 422 617]/Border[0 0 0]/H/N>> -endobj - -33821 0 obj -<>/P 5255 0 R/Type/Annot/A 34003 0 R/Subtype/Link/Rect[414 599 431 608]/Border[0 0 0]/H/N>> -endobj - -33822 0 obj -<>/P 5255 0 R/Type/Annot/A 34001 0 R/Subtype/Link/Rect[432 599 446 607]/Border[0 0 0]/H/N>> -endobj - -33823 0 obj -<>/P 5255 0 R/Type/Annot/A 33999 0 R/Subtype/Link/Rect[448 599 462 607]/Border[0 0 0]/H/N>> -endobj - -33824 0 obj -<>/P 5255 0 R/Type/Annot/A 33997 0 R/Subtype/Link/Rect[464 599 478 607]/Border[0 0 0]/H/N>> -endobj - -33825 0 obj -<>/P 5255 0 R/Type/Annot/A 33995 0 R/Subtype/Link/Rect[480 599 494 607]/Border[0 0 0]/H/N>> -endobj - -33826 0 obj -<>/P 5255 0 R/Type/Annot/A 33993 0 R/Subtype/Link/Rect[359 589 375 598]/Border[0 0 0]/H/N>> -endobj - -33827 0 obj -<>/P 5255 0 R/Type/Annot/A 33991 0 R/Subtype/Link/Rect[376 589 388 597]/Border[0 0 0]/H/N>> -endobj - -33828 0 obj -<>/P 5255 0 R/Type/Annot/A 33989 0 R/Subtype/Link/Rect[397 579 409 587]/Border[0 0 0]/H/N>> -endobj - -33829 0 obj -<>/P 5255 0 R/Type/Annot/A 33987 0 R/Subtype/Link/Rect[424 569 438 577]/Border[0 0 0]/H/N>> -endobj - -33830 0 obj -<>/P 5255 0 R/Type/Annot/A 33985 0 R/Subtype/Link/Rect[440 569 452 577]/Border[0 0 0]/H/N>> -endobj - -33831 0 obj -<>/P 5255 0 R/Type/Annot/A 33982 0 R/Subtype/Link/Rect[405 559 417 567]/Border[0 0 0]/H/N>> -endobj - -33832 0 obj -<>/P 5255 0 R/Type/Annot/A 33980 0 R/Subtype/Link/Rect[429 549 443 557]/Border[0 0 0]/H/N>> -endobj - -33833 0 obj -<>/P 5255 0 R/Type/Annot/A 33978 0 R/Subtype/Link/Rect[445 549 457 557]/Border[0 0 0]/H/N>> -endobj - -33834 0 obj -<>/P 5255 0 R/Type/Annot/A 33976 0 R/Subtype/Link/Rect[397 539 409 547]/Border[0 0 0]/H/N>> -endobj - -33835 0 obj -<>/P 5255 0 R/Type/Annot/A 33974 0 R/Subtype/Link/Rect[410 529 422 537]/Border[0 0 0]/H/N>> -endobj - -33836 0 obj -<>/P 5255 0 R/Type/Annot/A 33972 0 R/Subtype/Link/Rect[434 519 448 527]/Border[0 0 0]/H/N>> -endobj - -33837 0 obj -<>/P 5255 0 R/Type/Annot/A 33970 0 R/Subtype/Link/Rect[450 519 464 527]/Border[0 0 0]/H/N>> -endobj - -33838 0 obj -<>/P 5255 0 R/Type/Annot/A 33968 0 R/Subtype/Link/Rect[466 519 478 527]/Border[0 0 0]/H/N>> -endobj - -33839 0 obj -<>/P 5255 0 R/Type/Annot/A 33966 0 R/Subtype/Link/Rect[397 509 409 517]/Border[0 0 0]/H/N>> -endobj - -33840 0 obj -<>/P 5255 0 R/Type/Annot/A 33964 0 R/Subtype/Link/Rect[434 499 448 507]/Border[0 0 0]/H/N>> -endobj - -33841 0 obj -<>/P 5255 0 R/Type/Annot/A 33962 0 R/Subtype/Link/Rect[450 499 464 507]/Border[0 0 0]/H/N>> -endobj - -33842 0 obj -<>/P 5255 0 R/Type/Annot/A 33984 0 R/Subtype/Link/Rect[466 499 478 507]/Border[0 0 0]/H/N>> -endobj - -33843 0 obj -<>/P 5255 0 R/Type/Annot/A 33960 0 R/Subtype/Link/Rect[397 489 409 497]/Border[0 0 0]/H/N>> -endobj - -33844 0 obj -<>/P 5255 0 R/Type/Annot/A 33958 0 R/Subtype/Link/Rect[419 479 433 487]/Border[0 0 0]/H/N>> -endobj - -33845 0 obj -<>/P 5255 0 R/Type/Annot/A 33956 0 R/Subtype/Link/Rect[435 479 449 487]/Border[0 0 0]/H/N>> -endobj - -33846 0 obj -<>/P 5255 0 R/Type/Annot/A 33954 0 R/Subtype/Link/Rect[451 479 463 487]/Border[0 0 0]/H/N>> -endobj - -33847 0 obj -<>/P 5255 0 R/Type/Annot/A 33952 0 R/Subtype/Link/Rect[397 469 409 477]/Border[0 0 0]/H/N>> -endobj - -33848 0 obj -<>/P 5255 0 R/Type/Annot/A 33950 0 R/Subtype/Link/Rect[434 459 448 467]/Border[0 0 0]/H/N>> -endobj - -33849 0 obj -<>/P 5255 0 R/Type/Annot/A 33948 0 R/Subtype/Link/Rect[450 459 464 467]/Border[0 0 0]/H/N>> -endobj - -33850 0 obj -<>/P 5255 0 R/Type/Annot/A 33946 0 R/Subtype/Link/Rect[466 459 480 467]/Border[0 0 0]/H/N>> -endobj - -33851 0 obj -<>/P 5255 0 R/Type/Annot/A 33944 0 R/Subtype/Link/Rect[482 459 494 467]/Border[0 0 0]/H/N>> -endobj - -33852 0 obj -<>/P 5255 0 R/Type/Annot/A 33942 0 R/Subtype/Link/Rect[397 449 409 457]/Border[0 0 0]/H/N>> -endobj - -33853 0 obj -<>/P 5255 0 R/Type/Annot/A 33940 0 R/Subtype/Link/Rect[405 439 419 447]/Border[0 0 0]/H/N>> -endobj - -33854 0 obj -<>/P 5255 0 R/Type/Annot/A 33938 0 R/Subtype/Link/Rect[421 439 435 447]/Border[0 0 0]/H/N>> -endobj - -33855 0 obj -<>/P 5255 0 R/Type/Annot/A 33937 0 R/Subtype/Link/Rect[437 439 453 448]/Border[0 0 0]/H/N>> -endobj - -33856 0 obj -<>/P 5255 0 R/Type/Annot/A 33935 0 R/Subtype/Link/Rect[454 439 468 447]/Border[0 0 0]/H/N>> -endobj - -33857 0 obj -<>/P 5255 0 R/Type/Annot/A 33933 0 R/Subtype/Link/Rect[470 439 484 447]/Border[0 0 0]/H/N>> -endobj - -33858 0 obj -<>/P 5255 0 R/Type/Annot/A 33932 0 R/Subtype/Link/Rect[486 439 503 448]/Border[0 0 0]/H/N>> -endobj - -33859 0 obj -<>/P 5255 0 R/Type/Annot/A 33931 0 R/Subtype/Link/Rect[503 439 517 447]/Border[0 0 0]/H/N>> -endobj - -33860 0 obj -<>/P 5255 0 R/Type/Annot/A 33930 0 R/Subtype/Link/Rect[359 429 375 438]/Border[0 0 0]/H/N>> -endobj - -33861 0 obj -<>/P 5255 0 R/Type/Annot/A 33929 0 R/Subtype/Link/Rect[376 429 388 437]/Border[0 0 0]/H/N>> -endobj - -33862 0 obj -<>/P 5255 0 R/Type/Annot/A 33928 0 R/Subtype/Link/Rect[397 419 409 427]/Border[0 0 0]/H/N>> -endobj - -33863 0 obj -<>/P 5255 0 R/Type/Annot/A 33927 0 R/Subtype/Link/Rect[410 409 424 417]/Border[0 0 0]/H/N>> -endobj - -33864 0 obj -<>/P 5255 0 R/Type/Annot/A 33926 0 R/Subtype/Link/Rect[426 409 440 417]/Border[0 0 0]/H/N>> -endobj - -33865 0 obj -<>/P 5255 0 R/Type/Annot/A 33925 0 R/Subtype/Link/Rect[442 409 456 417]/Border[0 0 0]/H/N>> -endobj - -33866 0 obj -<>/P 5255 0 R/Type/Annot/A 33936 0 R/Subtype/Link/Rect[458 409 474 418]/Border[0 0 0]/H/N>> -endobj - -33867 0 obj -<>/P 5255 0 R/Type/Annot/A 33934 0 R/Subtype/Link/Rect[475 409 487 417]/Border[0 0 0]/H/N>> -endobj - -33868 0 obj -<>/P 5255 0 R/Type/Annot/A 34180 0 R/Subtype/Link/Rect[397 399 409 407]/Border[0 0 0]/H/N>> -endobj - -33869 0 obj -<>/P 5255 0 R/Type/Annot/A 34176 0 R/Subtype/Link/Rect[429 389 443 397]/Border[0 0 0]/H/N>> -endobj - -33870 0 obj -<>/P 5255 0 R/Type/Annot/A 34174 0 R/Subtype/Link/Rect[445 389 457 397]/Border[0 0 0]/H/N>> -endobj - -33871 0 obj -<>/P 5255 0 R/Type/Annot/A 34172 0 R/Subtype/Link/Rect[397 379 409 387]/Border[0 0 0]/H/N>> -endobj - -33872 0 obj -<>/P 5255 0 R/Type/Annot/A 34170 0 R/Subtype/Link/Rect[410 369 426 378]/Border[0 0 0]/H/N>> -endobj - -33873 0 obj -<>/P 5255 0 R/Type/Annot/A 34168 0 R/Subtype/Link/Rect[427 369 439 377]/Border[0 0 0]/H/N>> -endobj - -33874 0 obj -<>/P 5255 0 R/Type/Annot/A 34166 0 R/Subtype/Link/Rect[397 359 409 367]/Border[0 0 0]/H/N>> -endobj - -33875 0 obj -<>/P 5255 0 R/Type/Annot/A 34164 0 R/Subtype/Link/Rect[410 349 424 357]/Border[0 0 0]/H/N>> -endobj - -33876 0 obj -<>/P 5255 0 R/Type/Annot/A 34162 0 R/Subtype/Link/Rect[426 349 438 357]/Border[0 0 0]/H/N>> -endobj - -33877 0 obj -<>/P 5255 0 R/Type/Annot/A 34160 0 R/Subtype/Link/Rect[397 339 409 347]/Border[0 0 0]/H/N>> -endobj - -33878 0 obj -<>/P 5255 0 R/Type/Annot/A 34158 0 R/Subtype/Link/Rect[405 329 417 338]/Border[0 0 0]/H/N>> -endobj - -33879 0 obj -<>/P 5255 0 R/Type/Annot/A 34156 0 R/Subtype/Link/Rect[405 319 414 328]/Border[0 0 0]/H/N>> -endobj - -33880 0 obj -<>/P 5255 0 R/Type/Annot/A 34153 0 R/Subtype/Link/Rect[416 319 430 328]/Border[0 0 0]/H/N>> -endobj - -33881 0 obj -<>/P 5255 0 R/Type/Annot/A 34151 0 R/Subtype/Link/Rect[432 319 446 328]/Border[0 0 0]/H/N>> -endobj - -33882 0 obj -<>/P 5255 0 R/Type/Annot/A 34149 0 R/Subtype/Link/Rect[448 319 462 328]/Border[0 0 0]/H/N>> -endobj - -33883 0 obj -<>/P 5255 0 R/Type/Annot/A 34147 0 R/Subtype/Link/Rect[464 319 478 328]/Border[0 0 0]/H/N>> -endobj - -33884 0 obj -<>/P 5255 0 R/Type/Annot/A 34145 0 R/Subtype/Link/Rect[480 319 494 328]/Border[0 0 0]/H/N>> -endobj - -33885 0 obj -<>/P 5255 0 R/Type/Annot/A 34143 0 R/Subtype/Link/Rect[496 319 510 328]/Border[0 0 0]/H/N>> -endobj - -33886 0 obj -<>/P 5255 0 R/Type/Annot/A 34141 0 R/Subtype/Link/Rect[359 309 373 318]/Border[0 0 0]/H/N>> -endobj - -33887 0 obj -<>/P 5255 0 R/Type/Annot/A 34139 0 R/Subtype/Link/Rect[375 309 389 318]/Border[0 0 0]/H/N>> -endobj - -33888 0 obj -<>/P 5255 0 R/Type/Annot/A 34154 0 R/Subtype/Link/Rect[391 309 405 318]/Border[0 0 0]/H/N>> -endobj - -33889 0 obj -<>/P 5255 0 R/Type/Annot/A 34135 0 R/Subtype/Link/Rect[407 309 421 318]/Border[0 0 0]/H/N>> -endobj - -33890 0 obj -<>/P 5255 0 R/Type/Annot/A 34133 0 R/Subtype/Link/Rect[423 309 437 318]/Border[0 0 0]/H/N>> -endobj - -33891 0 obj -<>/P 5255 0 R/Type/Annot/A 34131 0 R/Subtype/Link/Rect[439 309 451 318]/Border[0 0 0]/H/N>> -endobj - -33892 0 obj -<>/P 5255 0 R/Type/Annot/A 34129 0 R/Subtype/Link/Rect[397 299 409 308]/Border[0 0 0]/H/N>> -endobj - -33893 0 obj -<>/P 5255 0 R/Type/Annot/A 34127 0 R/Subtype/Link/Rect[410 289 426 298]/Border[0 0 0]/H/N>> -endobj - -33894 0 obj -<>/P 5255 0 R/Type/Annot/A 34125 0 R/Subtype/Link/Rect[427 289 441 298]/Border[0 0 0]/H/N>> -endobj - -33895 0 obj -<>/P 5255 0 R/Type/Annot/A 34123 0 R/Subtype/Link/Rect[443 289 457 298]/Border[0 0 0]/H/N>> -endobj - -33896 0 obj -<>/P 5255 0 R/Type/Annot/A 34121 0 R/Subtype/Link/Rect[459 289 473 298]/Border[0 0 0]/H/N>> -endobj - -33897 0 obj -<>/P 5255 0 R/Type/Annot/A 34119 0 R/Subtype/Link/Rect[475 289 487 298]/Border[0 0 0]/H/N>> -endobj - -33898 0 obj -<>/P 5255 0 R/Type/Annot/A 34117 0 R/Subtype/Link/Rect[397 279 409 288]/Border[0 0 0]/H/N>> -endobj - -33899 0 obj -<>/P 5255 0 R/Type/Annot/A 34115 0 R/Subtype/Link/Rect[438 269 452 278]/Border[0 0 0]/H/N>> -endobj - -33900 0 obj -<>/P 5255 0 R/Type/Annot/A 34113 0 R/Subtype/Link/Rect[454 269 468 278]/Border[0 0 0]/H/N>> -endobj - -33901 0 obj -<>/P 5255 0 R/Type/Annot/A 34111 0 R/Subtype/Link/Rect[470 269 482 278]/Border[0 0 0]/H/N>> -endobj - -33902 0 obj -<>/P 5255 0 R/Type/Annot/A 34109 0 R/Subtype/Link/Rect[397 259 409 268]/Border[0 0 0]/H/N>> -endobj - -33903 0 obj -<>/P 5255 0 R/Type/Annot/A 34107 0 R/Subtype/Link/Rect[448 249 462 258]/Border[0 0 0]/H/N>> -endobj - -33904 0 obj -<>/P 5255 0 R/Type/Annot/A 34105 0 R/Subtype/Link/Rect[464 249 478 258]/Border[0 0 0]/H/N>> -endobj - -33905 0 obj -<>/P 5255 0 R/Type/Annot/A 34103 0 R/Subtype/Link/Rect[480 249 492 258]/Border[0 0 0]/H/N>> -endobj - -33906 0 obj -<>/P 5255 0 R/Type/Annot/A 34101 0 R/Subtype/Link/Rect[397 239 409 248]/Border[0 0 0]/H/N>> -endobj - -33907 0 obj -<>/P 5255 0 R/Type/Annot/A 34099 0 R/Subtype/Link/Rect[429 229 441 238]/Border[0 0 0]/H/N>> -endobj - -33908 0 obj -<>/P 5255 0 R/Type/Annot/A 34097 0 R/Subtype/Link/Rect[397 219 409 228]/Border[0 0 0]/H/N>> -endobj - -33909 0 obj -<>/P 5255 0 R/Type/Annot/A 34095 0 R/Subtype/Link/Rect[443 209 457 218]/Border[0 0 0]/H/N>> -endobj - -33910 0 obj -<>/P 5255 0 R/Type/Annot/A 34093 0 R/Subtype/Link/Rect[459 209 473 218]/Border[0 0 0]/H/N>> -endobj - -33911 0 obj -<>/P 5255 0 R/Type/Annot/A 34091 0 R/Subtype/Link/Rect[475 209 487 218]/Border[0 0 0]/H/N>> -endobj - -33912 0 obj -<>/P 5255 0 R/Type/Annot/A 34089 0 R/Subtype/Link/Rect[397 199 409 208]/Border[0 0 0]/H/N>> -endobj - -33913 0 obj -<>/P 5255 0 R/Type/Annot/A 34087 0 R/Subtype/Link/Rect[453 189 467 198]/Border[0 0 0]/H/N>> -endobj - -33914 0 obj -<>/P 5255 0 R/Type/Annot/A 34084 0 R/Subtype/Link/Rect[469 189 483 198]/Border[0 0 0]/H/N>> -endobj - -33915 0 obj -<>/P 5255 0 R/Type/Annot/A 34082 0 R/Subtype/Link/Rect[485 189 497 198]/Border[0 0 0]/H/N>> -endobj - -33916 0 obj -<>/P 5255 0 R/Type/Annot/A 34080 0 R/Subtype/Link/Rect[397 179 409 188]/Border[0 0 0]/H/N>> -endobj - -33917 0 obj -<>/P 5255 0 R/Type/Annot/A 34078 0 R/Subtype/Link/Rect[429 169 443 178]/Border[0 0 0]/H/N>> -endobj - -33918 0 obj -<>/P 5255 0 R/Type/Annot/A 34076 0 R/Subtype/Link/Rect[445 169 459 178]/Border[0 0 0]/H/N>> -endobj - -33919 0 obj -<>/P 5255 0 R/Type/Annot/A 34073 0 R/Subtype/Link/Rect[461 169 473 178]/Border[0 0 0]/H/N>> -endobj - -33920 0 obj -<>/P 5255 0 R/Type/Annot/A 34085 0 R/Subtype/Link/Rect[397 159 409 168]/Border[0 0 0]/H/N>> -endobj - -33921 0 obj -<>/P 5255 0 R/Type/Annot/A 34067 0 R/Subtype/Link/Rect[414 149 431 158]/Border[0 0 0]/H/N>> -endobj - -33922 0 obj -<>/P 5255 0 R/Type/Annot/A 34064 0 R/Subtype/Link/Rect[432 149 446 158]/Border[0 0 0]/H/N>> -endobj - -33923 0 obj -<>/P 5255 0 R/Type/Annot/A 34061 0 R/Subtype/Link/Rect[448 149 462 158]/Border[0 0 0]/H/N>> -endobj - -33924 0 obj -<>/P 5255 0 R/Type/Annot/A 34058 0 R/Subtype/Link/Rect[464 149 476 158]/Border[0 0 0]/H/N>> -endobj - -33925 0 obj -<> -endobj - -33926 0 obj -<> -endobj - -33927 0 obj -<> -endobj - -33928 0 obj -<> -endobj - -33929 0 obj -<> -endobj - -33930 0 obj -<> -endobj - -33931 0 obj -<> -endobj - -33932 0 obj -<> -endobj - -33933 0 obj -<> -endobj - -33934 0 obj -<> -endobj - -33935 0 obj -<> -endobj - -33936 0 obj -<> -endobj - -33937 0 obj -<> -endobj - -33938 0 obj -<> -endobj - -33939 0 obj -<> -endobj - -33940 0 obj -<> -endobj - -33941 0 obj -<> -endobj - -33942 0 obj -<> -endobj - -33943 0 obj -<> -endobj - -33944 0 obj -<> -endobj - -33945 0 obj -<> -endobj - -33946 0 obj -<> -endobj - -33947 0 obj -<> -endobj - -33948 0 obj -<> -endobj - -33949 0 obj -<> -endobj - -33950 0 obj -<> -endobj - -33951 0 obj -<> -endobj - -33952 0 obj -<> -endobj - -33953 0 obj -<> -endobj - -33954 0 obj -<> -endobj - -33955 0 obj -<> -endobj - -33956 0 obj -<> -endobj - -33957 0 obj -<> -endobj - -33958 0 obj -<> -endobj - -33959 0 obj -<> -endobj - -33960 0 obj -<> -endobj - -33961 0 obj -<> -endobj - -33962 0 obj -<> -endobj - -33963 0 obj -<> -endobj - -33964 0 obj -<> -endobj - -33965 0 obj -<> -endobj - -33966 0 obj -<> -endobj - -33967 0 obj -<> -endobj - -33968 0 obj -<> -endobj - -33969 0 obj -<> -endobj - -33970 0 obj -<> -endobj - -33971 0 obj -<> -endobj - -33972 0 obj -<> -endobj - -33973 0 obj -<> -endobj - -33974 0 obj -<> -endobj - -33975 0 obj -<> -endobj - -33976 0 obj -<> -endobj - -33977 0 obj -<> -endobj - -33978 0 obj -<> -endobj - -33979 0 obj -<> -endobj - -33980 0 obj -<> -endobj - -33981 0 obj -<> -endobj - -33982 0 obj -<> -endobj - -33983 0 obj -<> -endobj - -33984 0 obj -<> -endobj - -33985 0 obj -<> -endobj - -33986 0 obj -<> -endobj - -33987 0 obj -<> -endobj - -33988 0 obj -<> -endobj - -33989 0 obj -<> -endobj - -33990 0 obj -<> -endobj - -33991 0 obj -<> -endobj - -33992 0 obj -<> -endobj - -33993 0 obj -<> -endobj - -33994 0 obj -<> -endobj - -33995 0 obj -<> -endobj - -33996 0 obj -<> -endobj - -33997 0 obj -<> -endobj - -33998 0 obj -<> -endobj - -33999 0 obj -<> -endobj - -34000 0 obj -<> -endobj - -34001 0 obj -<> -endobj - -34002 0 obj -<> -endobj - -34003 0 obj -<> -endobj - -34004 0 obj -<> -endobj - -34005 0 obj -<> -endobj - -34006 0 obj -<> -endobj - -34007 0 obj -<> -endobj - -34008 0 obj -<> -endobj - -34009 0 obj -<> -endobj - -34010 0 obj -<> -endobj - -34011 0 obj -<> -endobj - -34012 0 obj -<> -endobj - -34013 0 obj -<> -endobj - -34014 0 obj -<> -endobj - -34015 0 obj -<> -endobj - -34016 0 obj -<> -endobj - -34017 0 obj -<> -endobj - -34018 0 obj -<> -endobj - -34019 0 obj -<> -endobj - -34020 0 obj -<> -endobj - -34021 0 obj -<> -endobj - -34022 0 obj -<> -endobj - -34023 0 obj -<> -endobj - -34024 0 obj -<> -endobj - -34025 0 obj -<> -endobj - -34026 0 obj -<> -endobj - -34027 0 obj -<> -endobj - -34028 0 obj -<> -endobj - -34029 0 obj -<> -endobj - -34030 0 obj -<> -endobj - -34031 0 obj -<> -endobj - -34032 0 obj -<> -endobj - -34033 0 obj -<> -endobj - -34034 0 obj -<> -endobj - -34035 0 obj -<> -endobj - -34036 0 obj -<> -endobj - -34037 0 obj -<> -endobj - -34038 0 obj -<> -endobj - -34039 0 obj -<> -endobj - -34040 0 obj -<> -endobj - -34041 0 obj -<> -endobj - -34042 0 obj -<> -endobj - -34043 0 obj -<> -endobj - -34044 0 obj -<> -endobj - -34045 0 obj -<> -endobj - -34046 0 obj -<> -endobj - -34047 0 obj -<> -endobj - -34048 0 obj -<> -endobj - -34049 0 obj -<> -endobj - -34050 0 obj -<> -endobj - -34051 0 obj -<> -endobj - -34052 0 obj -<> -endobj - -34053 0 obj -<> -endobj - -34054 0 obj -<> -endobj - -34055 0 obj -<> -endobj - -34056 0 obj -<> -endobj - -34057 0 obj -<> -endobj - -34058 0 obj -<> -endobj - -34059 0 obj -<> -endobj - -34060 0 obj -<> -endobj - -34061 0 obj -<> -endobj - -34062 0 obj -<> -endobj - -34063 0 obj -<> -endobj - -34064 0 obj -<> -endobj - -34065 0 obj -<> -endobj - -34066 0 obj -<> -endobj - -34067 0 obj -<> -endobj - -34068 0 obj -<> -endobj - -34069 0 obj -<> -endobj - -34070 0 obj -<> -endobj - -34071 0 obj -<> -endobj - -34072 0 obj -<> -endobj - -34073 0 obj -<> -endobj - -34074 0 obj -<> -endobj - -34075 0 obj -<> -endobj - -34076 0 obj -<> -endobj - -34077 0 obj -<> -endobj - -34078 0 obj -<> -endobj - -34079 0 obj -<> -endobj - -34080 0 obj -<> -endobj - -34081 0 obj -<> -endobj - -34082 0 obj -<> -endobj - -34083 0 obj -<> -endobj - -34084 0 obj -<> -endobj - -34085 0 obj -<> -endobj - -34086 0 obj -<> -endobj - -34087 0 obj -<> -endobj - -34088 0 obj -<> -endobj - -34089 0 obj -<> -endobj - -34090 0 obj -<> -endobj - -34091 0 obj -<> -endobj - -34092 0 obj -<> -endobj - -34093 0 obj -<> -endobj - -34094 0 obj -<> -endobj - -34095 0 obj -<> -endobj - -34096 0 obj -<> -endobj - -34097 0 obj -<> -endobj - -34098 0 obj -<> -endobj - -34099 0 obj -<> -endobj - -34100 0 obj -<> -endobj - -34101 0 obj -<> -endobj - -34102 0 obj -<> -endobj - -34103 0 obj -<> -endobj - -34104 0 obj -<> -endobj - -34105 0 obj -<> -endobj - -34106 0 obj -<> -endobj - -34107 0 obj -<> -endobj - -34108 0 obj -<> -endobj - -34109 0 obj -<> -endobj - -34110 0 obj -<> -endobj - -34111 0 obj -<> -endobj - -34112 0 obj -<> -endobj - -34113 0 obj -<> -endobj - -34114 0 obj -<> -endobj - -34115 0 obj -<> -endobj - -34116 0 obj -<> -endobj - -34117 0 obj -<> -endobj - -34118 0 obj -<> -endobj - -34119 0 obj -<> -endobj - -34120 0 obj -<> -endobj - -34121 0 obj -<> -endobj - -34122 0 obj -<> -endobj - -34123 0 obj -<> -endobj - -34124 0 obj -<> -endobj - -34125 0 obj -<> -endobj - -34126 0 obj -<> -endobj - -34127 0 obj -<> -endobj - -34128 0 obj -<> -endobj - -34129 0 obj -<> -endobj - -34130 0 obj -<> -endobj - -34131 0 obj -<> -endobj - -34132 0 obj -<> -endobj - -34133 0 obj -<> -endobj - -34134 0 obj -<> -endobj - -34135 0 obj -<> -endobj - -34136 0 obj -<> -endobj - -34137 0 obj -<> -endobj - -34138 0 obj -<> -endobj - -34139 0 obj -<> -endobj - -34140 0 obj -<> -endobj - -34141 0 obj -<> -endobj - -34142 0 obj -<> -endobj - -34143 0 obj -<> -endobj - -34144 0 obj -<> -endobj - -34145 0 obj -<> -endobj - -34146 0 obj -<> -endobj - -34147 0 obj -<> -endobj - -34148 0 obj -<> -endobj - -34149 0 obj -<> -endobj - -34150 0 obj -<> -endobj - -34151 0 obj -<> -endobj - -34152 0 obj -<> -endobj - -34153 0 obj -<> -endobj - -34154 0 obj -<> -endobj - -34155 0 obj -<> -endobj - -34156 0 obj -<> -endobj - -34157 0 obj -<> -endobj - -34158 0 obj -<> -endobj - -34159 0 obj -<> -endobj - -34160 0 obj -<> -endobj - -34161 0 obj -<> -endobj - -34162 0 obj -<> -endobj - -34163 0 obj -<> -endobj - -34164 0 obj -<> -endobj - -34165 0 obj -<> -endobj - -34166 0 obj -<> -endobj - -34167 0 obj -<> -endobj - -34168 0 obj -<> -endobj - -34169 0 obj -<> -endobj - -34170 0 obj -<> -endobj - -34171 0 obj -<> -endobj - -34172 0 obj -<> -endobj - -34173 0 obj -<> -endobj - -34174 0 obj -<> -endobj - -34175 0 obj -<> -endobj - -34176 0 obj -<> -endobj - -34177 0 obj -<> -endobj - -34178 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -34179 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -34180 0 obj -<> -endobj - -34181 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -34182 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -34183 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -34184 0 obj -<> -stream -HW]o|؛HM'?n_IAjP;VA?v uRN8JB˜g0,( a51`iƽ&5^qo{ø7Ľa2-qow{G;ƽ#>"#}Dnj1q3c>a'}¸Oq)tV1Xh,cbZ1Ϣ1Y=ƀŴcŸ'Lk1Y{ZʹcbZ1bܓj,=ifZ1`1Řg1Ik5Zy㞴V3b̳i-Fh|2O7~_%Zd+8M<+{DmOU}iu&}`ĭa$ݴ_gkypʆRGӠm "9.SJɩpSt=$|>njKh@nS&x $:Xӂ)8{D}t6Q2IltQ2>6sppL Ss N[,M48ra2+Ayxw~غ]u&;Y|y#~۪˔Ƌmjz.ooaKWdzn|w/|u]c?a٦ =C$L>vttO#fKc0QRc:T33;d 6x>]Wklc^q~MB;=5^f-VmaG럞ȶ2j@W owy0SYȟ? -fF\.^ \N<yy7]Q_.s!і& 4dr{x6#hgKƚN0Ge -!O0=^墆E~6ZѸwò>|znyW!fpM0VgqC;Z:T -=]Gm„;d\2HT搖!Wׯ.:YTPgX;È? GFؼ]!?+o*hn(Z<f]'C6)a/"[<ȂW@Uendstream -endobj - -34185 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -34186 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -34187 0 obj -<> -endobj - -34188 0 obj -<> -endobj - -34189 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -34190 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -34191 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -34192 0 obj -<> -stream -HWmo8.&bkHmw@ZYW~g(ʖqz(GÙyE۳~/,a?WW17 -t.T,-]EWۢmVuٷՊUtۍ`]r]-8[G6IadYe-X~(5Gq`?]d/N7}[;hvuߖu*cگ6ž/[(}c|j8o{dƄax"oCTo!ʳ!J(;!y(A{A{I{I{I{EW{EW{M{M{M`S}Y>#g`s} yMrBZ߆oZ߆oCT޷PoC>P TET+6@m"j}jZ(B Q@PoC>P TEַ!`Vm"j}[IB Q!{(B Q!{߆oZ߆(}ZIַ!`Vm"TET+ 6DJB Pj}j%Z߆(}ZIַPoC>P$TET+ :Rj}B Pj}B Q!{(B Q@PoC>P"TEַ!`Vm"Uj}6D*B Q@PoZ߆(}ZEַ!`Vmu 6D}6D}B&6(pUG/ՒQ}k|)KSÖutiYY6Ud%Jo /ʒ훮mWeᅂEcaoڞu}M2q>cv"rq}C3\St)S}ll죬a.?Iʵ7ynsѷb{(-RSbP\bv/vSa-S~Cĩȳy!PHlSCM*,u3yt#~[{.sN:B֞Wyl ܖT%He:wOn7~؍rzس݈!21seAUVcC&d^uJjzeCۥJfoɫ8~/a3ڡUE}Ӟ*ciŗW_zw jUϯm:ԉa%b]=T3>Ev$-()!渀YV$c,>Z%*Km\w8 |tqw6&ϓ$1NҷyT7\࣭K7l\cqw{nݧEm1\ \H!I$RPr >exy]3 ӡ:AOx9<xD@ݺ?:\U Iz\~>2 .OaT{Áo?Őlp A2{mtNGgCrBٿƓMtt拾Gj18 -|= 0/u| -s1]g#4:*dX :QV۞NI*i-8-~;A7A7-bݭ<sπ CT?oѸ>?t Sk3U@ oY5'T i䃒^fM$$}8BWhN?ϥ&rG7Ţ3G%;i3c8@4|&E6lGޖE#SK08 -w&> WmSh`"0ӡGm >!hbyK|Њ{>,wJP! 6*\_d+stu^NN;'5endstream -endobj - -34193 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -34194 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -34195 0 obj -<> -endobj - -34196 0 obj -<> -endobj - -34197 0 obj -<> -endobj - -34198 0 obj -<> -endobj - -34199 0 obj -<> -endobj - -34200 0 obj -<> -endobj - -34201 0 obj -<> -endobj - -34202 0 obj -<> -endobj - -34203 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -34204 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -34205 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -34206 0 obj -<> -stream -HWn8}W 82oduXA篃g"G`yc}챏 >!'`x}O >%ا`y3YAI!gE!gw}"TET+ պ>D=JBPj]j%Zׇ(ZIPCS$TET+ պ>@u}"{j]j%Z׷ -Zׇ(Zׇ(CPCS"TETպ>@u}"{Uj]jZ(BQ{OPCS"TE!`Vu}"{Uj]*Єj]|Pj]|Q>{(BQ{OPCS&TE!`Vu}"{Մj]պ>D=jBQ{OPZׇ(ZM!`Vu} "Tw}"Tw}gaeqcUp'y.`} x!0fq|,?gQVz, bZ XYE\Nmu_',L_?P#kXd L+@ϯCYYDzb۲; \ٴ'%y5`@s٬>Y;}܅P&`\f*()à{,*=ޖriL᮳x(n(U8{ܬuQݦ> 9V߫N 3a#]B3iq\9p[pU_.&%[Df[ߙnb,J+a]&0 Xwwoܽ\ ݙXtOn(=Hc}4î`Z;6N Z8x?}C?RōұNBvw) R$2apkT 3I?$ I]ٮJ6&'&/tHPpCMyph)Fk.34+ZFӀ5 `4l[ -n 6-(%[S<8`}Et ,'$lp~9pItl-A4X}K5 .I 4|$7VȴW~u -&}|"N2 ^k#fo?tĽh -W6 mYjBcI* AJ^5V"ylO Prbjb&)[0(˦'=6t")=j4ͦ EEi@7_г :fC {6/<{sq6:ۛ4I(x97/y ?N6xyې$Ә<M>&Qdz((5w|u9<+`pEl[o#WzGPc&Bld,f3@K3d@xdܼס̱gLi5:::d(R;}2PlotS`(Ph -񙕎 O]y_l#PLS? 9B݊`\,YI m5T"6Y:狏Rma"138? C-=]c},&4#t&zcj`73StXiX-J, IC{Ķ#ﱦy6n赂[{5Ʉ_b;80s1tm!*We_?O鋣A܏ uep/ն۸ D~ & u8iQ쾸+ԱC }P 9qǃ4*@vcXp %eii sXM6ԇYTFr5/MȦ,6P'HaT7N )&*{&՗^JSwm -eB`C|j~ymnpV8"Ħp$4i "N=Ef0CIf(#:)/%R+ScFOu8N5RvnG=c1֬GK ;Oɓ:`s0db:2˔豁m󦕏᤟ VUS_r +b\$r~8z|shUTnnZð$+4kZ4BH/]f^L~}nVAt]6PA12<4QLi^f& 8X[z7Yr<ó*Bd -3k1g}7hbN?,VbnbC |#wxj`=sWs^VO(Ǫ/]=qz,׳#|툠rpBF+@ -]$wNn(/])Z3Lb шmURR]s8;"t|`, +E -AjP^'EFyڷوU_S9gBtZ`!C={TC -|"cn.* *:*W+aX#ڿrZNh?- 8WʀeˑAܹ2н#sl - %焌 ;>^4pT,GQvS-Ŷ  ttTJ3Uz/`H= -NRrzzhN2L<8&{T|޵5xq9MM;J9c4Eon~]]_ѫendstream -endobj - -34207 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -34208 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -34209 0 obj -<> -endobj - -34210 0 obj -<> -endobj - -34211 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -34212 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -34213 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -34214 0 obj -<> -stream -H|WkoH_1a)М>8bdpY(YR&%Y-XS]3Eky/oLd^|"3qh C]l܇3Yę e 275 ?YWݗͪiuٵܴUp37$8kg,D0i,d\'_z?Yeabjƌ$]4u׎?O=sGm:u&aTI'?kZ:|I|wsd&(|t?A2()4yEt9Zޭ%F,;NW=p{{>c>c>>>>S>S>3>3>3>s>s Uf-ց{ Vb%,^b{ZR+1f*Vb{ZR+1f*Vb{ZR+1f*Vb{ZR+1f*VbJYڽĈR+1ficv/1bJYJ{ZR+1bJYJ{ZR+1bJYJ{ZR+1bJYJ{ZR+uJYڽĈR+1ficv/1bJYJm R+1f*1HĈR+1f*1HĘܫ #HĘܫ cpRJX cpRJYJm R+uJYڽĈR+1ficv_EQ&:x= 'k&F=NajҴ0up5jg+3~jd4oYɻ:L -le݅4ޑWˮM6_ Oṵ%Ʋws3f3-M}X -m_uI& }R2a}|g^1,Xi@+VZ JVTi@+UZʔV2\i@+WZ*V -"%1fi--,вJ-R}@KY@K}/1f-ĘT;cR}@KY@K}/1f-ĘT{c֒@KY@K}/1f-ĘT{cR}AKY@K}/1f-ĘT{cR}AKY@K} ^bZ#{1 hAKY@K} ^bZccR}Ù@KY@K} ^bS}/1f-1{=SOYR+}/1fi-hO@:㧣p[UWEiex)n)˶%G)$msUI(Y˪.чW/c0"IZWWJ0ޏ+Wǵ.?\-LUQ8#\Xgl4LUj>jx➴7 0|L?kaP%4γCZJF8YkP.qxf.Ob]vo6ݢv=pY-_Ͽb׆2izg#ćٞ,ޖח߯0U9oPT7g ;N60w zwɃ(:>|P&CGɼxaXM`~˩xkV+y3c ¦a{MC\ދABwĴ,iqmdqS/69Hw?)g&D1Thj}; ~a 07endstream -endobj - -34215 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -34216 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -34217 0 obj -<> -endobj - -34218 0 obj -<> -endobj - -34219 0 obj -<> -endobj - -34220 0 obj -<> -endobj - -34221 0 obj -<> -endobj - -34222 0 obj -<> -endobj - -34223 0 obj -<> -stream -H\n0EY6GH$ )"Ģ5{H YaP*Ւc\թr{GhZg=+Zlke5?MW{2 #vkz5D0W\-X WyYAt{b( -A/;h+Kv֤9yt^'b_ 1F4ٵ1uP:982By^S!7Ǚ(%I79[e .O'f񐱇lxf*ĩp,ro̹p^p,p,s@tHC˞[HS -0endstream -endobj - -34224 0 obj -<> -stream -HT{LSg[(ZGo/^i&C1A !s( RQq *Df`|MN&L':tsC%۪;>컀.cK~y\$5sEV&9x)/G$EhHb/A, [@TR56[@.ladd>SK+X nUA\h2뭆ǥ -\ j6}gpzj-)K4%x&Ƭ9!&|KQŘcԛ\ )$2XNq$$VK4#|Pa鄘F2 ;'5/$$S&}Sp5NNIp!R 𫸹qSw8WG 8%&ЙNދy͡G^e~.e+ HrɜuV6:sh5]d7z>:Gj߫1z@NmjnP֩%QXRZ } 0馲+s -4&ۖ,v}ZWenx~'N:`hgSnNC:"!9 -Da |^hVXUo7o[.~XE;& |`Dm"ly{:-NfLi62J-ħTG)8Ԓ@vDFQl#\&Aj1}@G yޤڏ]9ut. g԰Podgkcd -L]K1dn5x_ QNb 0fG6g bT -c1yP";uHEI`wVg0f;::?cS$d_'[;NW/,s =8 afu'gOj{^JVWvv ylRgJ5x_P+jL}HF}NA8"Es* -Ixo) --Jfc2(R0db|ѳ?DѺY2puAGGqlsx`ѿ.9p^> -endobj - -34226 0 obj -<> -endobj - -34227 0 obj -<> -endobj - -34228 0 obj -<> -endobj - -34229 0 obj -<> -endobj - -34230 0 obj -<> -endobj - -34231 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -34232 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -34233 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -34234 0 obj -<> -stream -HWko_q" )i_I>$qlaV`0m3å$b{ϑ(K:gl#%sP:޼zuoMb޼y]Ȇؖ~`Ǚ3yԙcQbn"kZ}yv];5]əu+{5uT")MI&O -S-ѧfڷ4$.s{Sf;bĹM=tcfs8jEƸ-I/-.(!v|761I+`.?'ffgfETG<䔚S -M"IYz9ZRޭ%F,;NW=p{{>A}PS>US>US>U3>S3>Ss>Ws>Ws>W P PKTK^uւJl9Z1K@k%,^b%F,Z1 WucpZ@k%F,Z1 WucpZ@k%F,Z1 WucpZ@k%F,Z1 WucpZ@k%K'@r@%ƳR h{TȽxjZc֒c@K>fjFrK؍a<4r:5椾o=IT_ #F|F_%]+}w?je8b6v& ̖|95S3fEl碑U;`c?0:ZlMFrݛmݙkZ}w14? b@֚N^ONz2rw* hqn;U./m$?^L&KZh2_ۛ% f2K؝^v 7jjV9׎^`䈔8"ͶޮMEYd򄝃s:0>='}ɲ8%]ޘuC_tfâA뢊.>i 0endstream -endobj - -34235 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -34236 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -34237 0 obj -<> -endobj - -34238 0 obj -<> -endobj - -34239 0 obj -<> -endobj - -34240 0 obj -<> -endobj - -34241 0 obj -<> -endobj - -34242 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -34243 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -34244 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -34245 0 obj -<> -stream -Hoo۶Sp!cW{mtڥ7n{A$*b;nGڲ(rp1,)~|~^˗NF^z(=rCO%MRI IFNJOWa(բE rLa$ᤸM} #;'XNir1x8ݔOB}*)OOfU9UEג̷`z,ŷVYJ1Y;Hkh{<.T?g䣝= ILpJY~O -(12&d `8k -_k<@QvCf)zzzzzWzWzׁzׁzׁQSD}Y>Cg QsD}y M rĴ6MZXsT,5GaRkaQq-9 -QV 5K!5G! -ĵ(D}Z,\+škZXZXs>p@\ kBkamHĵP=Y -q-9*Tk -Úšk%ZXs>pD\ kB\ kBkaQq-Y -q-9 -QV"5G!Jĵf)ĵ(D}Z\+4QkaQzXZXsT5K!5G!*ĵ(D}Z,\škZXZXs>pB\ kBUkaRkaQ -q-9 -QV!išBf)ĵP=9*To1Ffks[zA~ȐfAsS! He].L9Mr:t?)Y~#n2+R$/̮ VvZ{m}5{&bg4KhE흘#^#~U:|^yb$ut(e5IR@GGǣQd !7>-oJorjC t] 'ud65-$}:拎PZWpy;)5 w&dm&SFlr # '͞qvpa{UvX -ahz+`:us/yFUT@fhބvb˿ks̤?f,mʆibO-su:j}W.SZh#9e)~{zll𵉸nO;}{@FV/RUo@ x3~P5/\[n5?}V|9u)(ƟոzG2=#cKn"#ڨrxwh6+4lg;ʼFmeiTmUa4 !azI%(k2]%3?Uf"߉"d*O]WmUEt/Oׁ=ӏ铟=[*?zDczGؘWS Ly6k?k`0ʙqD/ R{1cdvѸԵ{G9g[qO=q`<ޣiݫQ5`<ӻCv0 !3]>M,<ߺ} F3ӻ.ë)Fػ^ >\Pd^IvO.M1Q~~#wYݫ13޽ַF?#d=nG-/^a|9Dq44jLxCO9\gU)=Nv;sMZMĶ+j_2iq>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -34247 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -34248 0 obj -<> -endobj - -34249 0 obj -<> -endobj - -34250 0 obj -<> -endobj - -34251 0 obj -<> -endobj - -34252 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -34253 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -34254 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -34255 0 obj -<> -stream -H[oF+.ZHxA<ؖ ,QrI:iZwVhf0|;<:i:SŋӓH;sƁϬJ U@SFCpi -\Z]SM+7mt\DB h(QMb!5!3(U9U g=(^=mU|y(eM);-IhוD=,ӉaŨt{Ye ^2 &x\)e{"rO=9ģcLT .ގjҚ\^pQv9F -)Oѧ}3>c@1\}.гj!T[FFH-ՂS ]Bj\j驆.!T .Zp ,FH-%j%г!T .R-zZ#j%г!TCZ@RkR-zZ#j -ZpqzKH-ՂS-8=%j%гZ!T . -R-zZ+j%гZ!TCZ@RkR-zZ+jRKYjZ@RkRm9!T .NO5t ZpqzR-zZ'j%г:!TCZ@RR-zZ'jRKYjZ@RR ]Bj\=KRKYjZ-#/j驆.!T .NOA8]FE4( - yo )I+ 2UsF-<궬GAM2;8`s|wq1OR2H|reӌۯ-.^ Uyh2nit9Y6i -cR5Xͪb*U␲M?nԋ˄m'qT:0^U3l-;n;~4pXO_ 0 -$E[ޫlפ9B5d9A#w^mz\U;)gI)*ycU*m ۞.CWmU̺ZN(xpze},Xar\wWJXb;m]nC}_el4qPG \KVtި8ƒzpN+kϞcþ|,XT T-ԫvtE/=Qh~ 9g>>3~wylvx*eNu'<ϬoS a|(:ً|1i'c+Aqc(ayrsZ?Vz]_ǸCqs&GkD+u੭ᑩl[%l͸XDz[zҲ~u۵=1t{޽_]?z*,{\t/g*{TDT=1{Z(`XD'o+7endstream -endobj - -34256 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -34257 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -34258 0 obj -<> -endobj - -34259 0 obj -<> -endobj - -34260 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -34261 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -34262 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -34263 0 obj -<> -stream -HWn6}Wp̫D.6  Ŧy [$oza>a!af#Zjk3ͨ6@16D Q){jZjC>QfTKmb'Ռj Pj Q DQ-!aV36@16D1jFԆ(}ZͨŨŰOTRj5Zjk3è6@16D Q){jZjC>QaTKmb'5j Pj Q DQ-!a06@16D1FԆ(}ZèŨŰOTkRj Zjk3˨6@16D Q){jZjC>QeTKmb'j Pj Q DQ-!a26@16D1ZFԆ(}Z˨ŨŰOTkRj-Zjk3Ǩ6@16D Q)o1ܵWz~1Bmh\BE6{.7ǫ?,q}Y>!w8WgǁZۇ9L[}js_iwl߻s{SO4{VE(WpMLOCuDg6on >SO3xdis'd|o̗,~\aBD7~Y6⺚N<6ýX$O~ʯ†ouo? -&&ˈ9TGoՈ;(/\ZhUOKFN:Fc\Xy1L@Bn Y7"-WcvH,'u%LB2R{<6C"sP.EXd 8"z,ec2 u9s,K%vr]a] &n7{!*) ~P}&a@?. 56`1x!|Ӑ 1˛d((pqiqtG{[<06vb /4-)#]>Z1;NP -c;1Z-rZF`^z/a93a@9V3>{yL&Z?N0yeR;O/ͤ#e^q"ņvzFcN>K)+zr//WwqQTzR}o+Z+$n I)ѩ(0 Ua-̭dߏ5C)6xHRKC|cWtjn 50X5$g48S6PJ$iL兵a1e -]$L')~<͘iyH/:E8}MA(ܨaK4%u՝&Eռ78b;M:zvA 7Fb-ԕKDB#a`[JEwua|w?M=ǑUֹ+:$7lo!c~oBH5xѪѰ -eᬁ:4בeC6(jR -d&s2A|,E.pxƸ}|Ϥ$*,n%tGm]zT Cl\WwF&v7,0čjc -FѺ;i.K0^f8MC};LþOb<. h*yd,,1Ȓ 6[\rdu|7Mn:X``t􏢫4acWV;ҫ`Q9R WUU{kB L ԓfl7Q8M)6°ͅX^ʼn*u+%}ڣk4[OX2Wcgp huz)%S'̛T2\o.}Iڳ֦֔dfP4p0OvI!$;J}rm_ %x];QERyByN28({;O -xؔ ۫"ƽ] LKy0NMMm)ޮrgfspEX=a]bq8ZUdIE4lb㐅YY|id1?8dcmEc+ȂhCLeʶI9 2:hD|422F4"p9 V(w _xtBfܑUkUVYeP2tc Ljŋ]-@ޏu\E77j?5uٞ0uYӑ/TF Q[6bh0P׍}[&?6*˰ƮEm3,lyg7{.#RLc|j˿e: Z+j_+Äv '_:ŝROV6i8 xX!z]@ Jqk?{o<\`6W!endstream -endobj - -34264 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -34265 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -34266 0 obj -<> -endobj - -34267 0 obj -<> -endobj - -34268 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -34269 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -34270 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -34271 0 obj -<> -stream -H|Wko۸_ -*,hݢb EtB!Y&Ej4>$93/e?va7AB8#hI௰ !H* 'r䛮c_¾ -ݒan6A4I",`P$ymVƪkëW' eI̋}>*pgf3Tbsl$N5f~ƻ$|$$܇AAp(ճ -q樃۠.1I\B˹>@r| -=M}PaO<aO<aO=aO=aO= a< a<a=a=a=>gc/c/c/c#s}=¾{O)"ZQS(ZקP>{קP>{(DOj ZקP{OQZקP{OQS(Z -QS(Z)S-AT)S-AT -a節 u}M@պ>ٻ>@!u} -w} -w}BT -a節"u} -TKպ>@!u} -TKպ>B{j]պ>B{j]B!=RDPj]B!=RDOj)Z QS(ZקP>{קP>{(DOjZקP{O QZקP{O QS(Z -QS(Z)S-CT)S-CT -a節!u}Mպ>ٻ>@!u} -w} -/(XkmpM0 Mp0ˊpwџ]^b4ͱ,sWƘ|Kܹ1yh?q*J]4e7+OU=jnY7ԷUPV(ڢ:qkR'̸K=탚+UYMOL}k^;XY-=̀cQðjPYӼHwg_;ytţ&S'dy%,p5R8*.<R!-ZIĔi+ĎSYOR[`13IBa2yG{98v}!dέu7. -f){nYd6!sB LI/iqZHK UV91a6\Thjݙޑ1ZMƄqӺTxa$7a c??Vǰ\x CIN RUM56ݾu,HJw[{ctDZҁv:[mzzUV[ݕ:1 -H.T 9 #U/ e_gO;$fzзȕ_X&%i:ɫqcgNeW$|L$12P -bE*K|qKJ*UwĩM[s 6έ!X.S' ZtԀo9X"Xv4SWC]lpײ1?Csh%Tc;T'i,آg+? jQN \I]/Ҽ~FiҢƷOe_h^__7ndٚ×S#G ԩ,nOId\Bct>)JWsпWmkF~}7I PB -һrZ$e"i}7֒OgvggyDTde{Z-y eߕCx MkEu y'`#ѧiSܽ0I[dM%tC2 !FМ%4VxΎQ2SLfnMۯOhm[<ؚt: NNro5"<vM&N%-(vC5ϩ> -1KHjwf4!ZY/1$+eɤNgwQ/u0 t~1߯>6 YjXvMgf,;H`dD! -m -G -Fb!PƓ$L0%z^e4DIJݰ~8Q66I3'ƏF/vIcLd(OIKgM~&ZRTlt߽u[41RlצZsgzm;&m#-9bES ͹58iy72 x *6Pa\VL !,eԓP@jtZ@ٟ_)'e2vr*zhh84HP2w/iPraELf5eh$S Ƈx5Ud]9;| +igr݋ywk&92>&to{9Vpן. 817]'.Pb"{ ?KVUDe}9QȄg'?DR - d~.Nja!`a@Ȗ*c0@YV0`Hi -[b8 @rtޜys#T7ջG鲽wIa&l<Օ/?}|כ i NOQ˧OzvQ2}}S-Jr^cYZ2cgBZq±BgJo{beĸc9{%+=)e>/P 463 0 R/Type/Annot/A 34273 0 R/Subtype/Link/Rect[93.6004028 413.82901 174.936005 433.509003]/Border[0 0 0]/H/N>> -endobj - -34273 0 obj -<> -endobj - -34274 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -34275 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -34276 0 obj -<> -endobj - -34277 0 obj -<> -endobj - -34278 0 obj -<> -endobj - -34279 0 obj -<> -endobj - -34280 0 obj -<> -endobj - -34281 0 obj -<> -endobj - -34282 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -34283 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -34284 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -34285 0 obj -<> -stream -HW]o}_GpƒOCHEm0uivڛ4ͮ$Lcs5]i&%SWZbU$=pvSLRii$0 ֽmC/4,%,` g,n~>4UH%߻`';TV4G=6Mcj*Lt3Lrql8(Ĵ#4_45;$=hC4_ vJQО:$O>8# Դ~38p(H#$J{(@gw$>:tpiaA<+@CgzχK;VjRX%of )PA$;6b9D~KIOg.jE\LoyN+=];ۯtrOLp!u%:Z9Eyy7 -l䚤{?[%4i:M CHӷJf}܌Z'8s -tFVCUdO],v{/tMjM"mgpͿjڣPfnh-1_oh5VK<辑@NTRk,J a?vCާC&%)2?RbC{Ʀunva{菂*vW&v\m>n%{gS`ZSk 6o;6AHV y7ѧ Ѕp-lp8z7ΐӺ^*`Vfi&ӏ&XFj?$,̑1>Q{1op:Β+{*byf Hr-e)>Q*2ȶu2萒}:zϠ%S >.^{7 F;YڳՌ:šXd7U7&g^dM u*j -a3%Ja.-w=o4s7|Sg}Z37O4! -C.DzTNpqوqYE\) -./:+e4ت Kz/OX&./wtks5endstream -endobj - -34286 0 obj -<>/P 5000 0 R/Type/Annot/A 34688 0 R/Subtype/Link/Rect[217 669 229 678]/Border[0 0 0]/H/N>> -endobj - -34287 0 obj -<>/P 5000 0 R/Type/Annot/A 34686 0 R/Subtype/Link/Rect[217 659 229 668]/Border[0 0 0]/H/N>> -endobj - -34288 0 obj -<>/P 5000 0 R/Type/Annot/A 34684 0 R/Subtype/Link/Rect[217 649 229 658]/Border[0 0 0]/H/N>> -endobj - -34289 0 obj -<>/P 5000 0 R/Type/Annot/A 34682 0 R/Subtype/Link/Rect[217 639 229 648]/Border[0 0 0]/H/N>> -endobj - -34290 0 obj -<>/P 5000 0 R/Type/Annot/A 34680 0 R/Subtype/Link/Rect[217 629 229 638]/Border[0 0 0]/H/N>> -endobj - -34291 0 obj -<>/P 5000 0 R/Type/Annot/A 34678 0 R/Subtype/Link/Rect[217 619 229 628]/Border[0 0 0]/H/N>> -endobj - -34292 0 obj -<>/P 5000 0 R/Type/Annot/A 34676 0 R/Subtype/Link/Rect[217 609 229 618]/Border[0 0 0]/H/N>> -endobj - -34293 0 obj -<>/P 5000 0 R/Type/Annot/A 34674 0 R/Subtype/Link/Rect[217 599 229 608]/Border[0 0 0]/H/N>> -endobj - -34294 0 obj -<>/P 5000 0 R/Type/Annot/A 34672 0 R/Subtype/Link/Rect[202 589 212 598]/Border[0 0 0]/H/N>> -endobj - -34295 0 obj -<>/P 5000 0 R/Type/Annot/A 34670 0 R/Subtype/Link/Rect[214 589 226 598]/Border[0 0 0]/H/N>> -endobj - -34296 0 obj -<>/P 5000 0 R/Type/Annot/A 34668 0 R/Subtype/Link/Rect[203 579 217 588]/Border[0 0 0]/H/N>> -endobj - -34297 0 obj -<>/P 5000 0 R/Type/Annot/A 34666 0 R/Subtype/Link/Rect[219 579 231 588]/Border[0 0 0]/H/N>> -endobj - -34298 0 obj -<>/P 5000 0 R/Type/Annot/A 34664 0 R/Subtype/Link/Rect[191 569 203 578]/Border[0 0 0]/H/N>> -endobj - -34299 0 obj -<>/P 5000 0 R/Type/Annot/A 34819 0 R/Subtype/Link/Rect[193 559 207 568]/Border[0 0 0]/H/N>> -endobj - -34300 0 obj -<>/P 5000 0 R/Type/Annot/A 34815 0 R/Subtype/Link/Rect[209 559 223 568]/Border[0 0 0]/H/N>> -endobj - -34301 0 obj -<>/P 5000 0 R/Type/Annot/A 34811 0 R/Subtype/Link/Rect[225 559 242 569]/Border[0 0 0]/H/N>> -endobj - -34302 0 obj -<>/P 5000 0 R/Type/Annot/A 34807 0 R/Subtype/Link/Rect[243 559 257 568]/Border[0 0 0]/H/N>> -endobj - -34303 0 obj -<>/P 5000 0 R/Type/Annot/A 34803 0 R/Subtype/Link/Rect[259 559 271 568]/Border[0 0 0]/H/N>> -endobj - -34304 0 obj -<>/P 5000 0 R/Type/Annot/A 34798 0 R/Subtype/Link/Rect[191 549 203 558]/Border[0 0 0]/H/N>> -endobj - -34305 0 obj -<>/P 5000 0 R/Type/Annot/A 34794 0 R/Subtype/Link/Rect[193 539 207 548]/Border[0 0 0]/H/N>> -endobj - -34306 0 obj -<>/P 5000 0 R/Type/Annot/A 34790 0 R/Subtype/Link/Rect[209 539 223 548]/Border[0 0 0]/H/N>> -endobj - -34307 0 obj -<>/P 5000 0 R/Type/Annot/A 34786 0 R/Subtype/Link/Rect[225 539 242 549]/Border[0 0 0]/H/N>> -endobj - -34308 0 obj -<>/P 5000 0 R/Type/Annot/A 34782 0 R/Subtype/Link/Rect[243 539 257 548]/Border[0 0 0]/H/N>> -endobj - -34309 0 obj -<>/P 5000 0 R/Type/Annot/A 34778 0 R/Subtype/Link/Rect[259 539 273 548]/Border[0 0 0]/H/N>> -endobj - -34310 0 obj -<>/P 5000 0 R/Type/Annot/A 44435 0 R/Subtype/Link/Rect[275 539 289 548]/Border[0 0 0]/H/N>> -endobj - -34311 0 obj -<>/P 5000 0 R/Type/Annot/A 34771 0 R/Subtype/Link/Rect[152 529 168 539]/Border[0 0 0]/H/N>> -endobj - -34312 0 obj -<>/P 5000 0 R/Type/Annot/A 34767 0 R/Subtype/Link/Rect[169 529 183 538]/Border[0 0 0]/H/N>> -endobj - -34313 0 obj -<>/P 5000 0 R/Type/Annot/A 34763 0 R/Subtype/Link/Rect[185 529 199 538]/Border[0 0 0]/H/N>> -endobj - -34314 0 obj -<>/P 5000 0 R/Type/Annot/A 34758 0 R/Subtype/Link/Rect[201 529 215 538]/Border[0 0 0]/H/N>> -endobj - -34315 0 obj -<>/P 5000 0 R/Type/Annot/A 34753 0 R/Subtype/Link/Rect[217 529 231 538]/Border[0 0 0]/H/N>> -endobj - -34316 0 obj -<>/P 5000 0 R/Type/Annot/A 34748 0 R/Subtype/Link/Rect[233 529 247 538]/Border[0 0 0]/H/N>> -endobj - -34317 0 obj -<>/P 5000 0 R/Type/Annot/A 34743 0 R/Subtype/Link/Rect[249 529 263 538]/Border[0 0 0]/H/N>> -endobj - -34318 0 obj -<>/P 5000 0 R/Type/Annot/A 44163 0 R/Subtype/Link/Rect[265 529 279 538]/Border[0 0 0]/H/N>> -endobj - -34319 0 obj -<>/P 5000 0 R/Type/Annot/A 34735 0 R/Subtype/Link/Rect[281 529 295 538]/Border[0 0 0]/H/N>> -endobj - -34320 0 obj -<>/P 5000 0 R/Type/Annot/A 44091 0 R/Subtype/Link/Rect[297 529 311 538]/Border[0 0 0]/H/N>> -endobj - -34321 0 obj -<>/P 5000 0 R/Type/Annot/A 34727 0 R/Subtype/Link/Rect[152 519 166 528]/Border[0 0 0]/H/N>> -endobj - -34322 0 obj -<>/P 5000 0 R/Type/Annot/A 35035 0 R/Subtype/Link/Rect[168 519 182 528]/Border[0 0 0]/H/N>> -endobj - -34323 0 obj -<>/P 5000 0 R/Type/Annot/A 35031 0 R/Subtype/Link/Rect[184 519 196 528]/Border[0 0 0]/H/N>> -endobj - -34324 0 obj -<>/P 5000 0 R/Type/Annot/A 35028 0 R/Subtype/Link/Rect[191 509 203 518]/Border[0 0 0]/H/N>> -endobj - -34325 0 obj -<>/P 5000 0 R/Type/Annot/A 35025 0 R/Subtype/Link/Rect[198 499 210 508]/Border[0 0 0]/H/N>> -endobj - -34326 0 obj -<>/P 5000 0 R/Type/Annot/A 35022 0 R/Subtype/Link/Rect[198 489 210 498]/Border[0 0 0]/H/N>> -endobj - -34327 0 obj -<>/P 5000 0 R/Type/Annot/A 35019 0 R/Subtype/Link/Rect[203 479 220 489]/Border[0 0 0]/H/N>> -endobj - -34328 0 obj -<>/P 5000 0 R/Type/Annot/A 35017 0 R/Subtype/Link/Rect[220 479 234 488]/Border[0 0 0]/H/N>> -endobj - -34329 0 obj -<>/P 5000 0 R/Type/Annot/A 35014 0 R/Subtype/Link/Rect[236 479 253 489]/Border[0 0 0]/H/N>> -endobj - -34330 0 obj -<>/P 5000 0 R/Type/Annot/A 35011 0 R/Subtype/Link/Rect[254 479 268 488]/Border[0 0 0]/H/N>> -endobj - -34331 0 obj -<>/P 5000 0 R/Type/Annot/A 35008 0 R/Subtype/Link/Rect[270 479 284 488]/Border[0 0 0]/H/N>> -endobj - -34332 0 obj -<>/P 5000 0 R/Type/Annot/A 35005 0 R/Subtype/Link/Rect[152 469 168 479]/Border[0 0 0]/H/N>> -endobj - -34333 0 obj -<>/P 5000 0 R/Type/Annot/A 35002 0 R/Subtype/Link/Rect[169 469 181 478]/Border[0 0 0]/H/N>> -endobj - -34334 0 obj -<>/P 5000 0 R/Type/Annot/A 34999 0 R/Subtype/Link/Rect[193 459 207 468]/Border[0 0 0]/H/N>> -endobj - -34335 0 obj -<>/P 5000 0 R/Type/Annot/A 34996 0 R/Subtype/Link/Rect[209 459 226 469]/Border[0 0 0]/H/N>> -endobj - -34336 0 obj -<>/P 5000 0 R/Type/Annot/A 34993 0 R/Subtype/Link/Rect[227 459 241 468]/Border[0 0 0]/H/N>> -endobj - -34337 0 obj -<>/P 5000 0 R/Type/Annot/A 43461 0 R/Subtype/Link/Rect[243 459 257 468]/Border[0 0 0]/H/N>> -endobj - -34338 0 obj -<>/P 5000 0 R/Type/Annot/A 34988 0 R/Subtype/Link/Rect[259 459 273 468]/Border[0 0 0]/H/N>> -endobj - -34339 0 obj -<>/P 5000 0 R/Type/Annot/A 34985 0 R/Subtype/Link/Rect[275 459 287 468]/Border[0 0 0]/H/N>> -endobj - -34340 0 obj -<>/P 5000 0 R/Type/Annot/A 34982 0 R/Subtype/Link/Rect[191 449 203 458]/Border[0 0 0]/H/N>> -endobj - -34341 0 obj -<>/P 5000 0 R/Type/Annot/A 34979 0 R/Subtype/Link/Rect[188 439 202 448]/Border[0 0 0]/H/N>> -endobj - -34342 0 obj -<>/P 5000 0 R/Type/Annot/A 34976 0 R/Subtype/Link/Rect[204 439 218 448]/Border[0 0 0]/H/N>> -endobj - -34343 0 obj -<>/P 5000 0 R/Type/Annot/A 34973 0 R/Subtype/Link/Rect[220 439 237 449]/Border[0 0 0]/H/N>> -endobj - -34344 0 obj -<>/P 5000 0 R/Type/Annot/A 34970 0 R/Subtype/Link/Rect[238 439 252 448]/Border[0 0 0]/H/N>> -endobj - -34345 0 obj -<>/P 5000 0 R/Type/Annot/A 34967 0 R/Subtype/Link/Rect[254 439 268 448]/Border[0 0 0]/H/N>> -endobj - -34346 0 obj -<>/P 5000 0 R/Type/Annot/A 34964 0 R/Subtype/Link/Rect[270 439 284 448]/Border[0 0 0]/H/N>> -endobj - -34347 0 obj -<>/P 5000 0 R/Type/Annot/A 34961 0 R/Subtype/Link/Rect[286 439 300 448]/Border[0 0 0]/H/N>> -endobj - -34348 0 obj -<>/P 5000 0 R/Type/Annot/A 34958 0 R/Subtype/Link/Rect[152 429 168 439]/Border[0 0 0]/H/N>> -endobj - -34349 0 obj -<>/P 5000 0 R/Type/Annot/A 34955 0 R/Subtype/Link/Rect[169 429 183 438]/Border[0 0 0]/H/N>> -endobj - -34350 0 obj -<>/P 5000 0 R/Type/Annot/A 34952 0 R/Subtype/Link/Rect[185 429 199 438]/Border[0 0 0]/H/N>> -endobj - -34351 0 obj -<>/P 5000 0 R/Type/Annot/A 34949 0 R/Subtype/Link/Rect[201 429 218 439]/Border[0 0 0]/H/N>> -endobj - -34352 0 obj -<>/P 5000 0 R/Type/Annot/A 34946 0 R/Subtype/Link/Rect[218 429 232 438]/Border[0 0 0]/H/N>> -endobj - -34353 0 obj -<>/P 5000 0 R/Type/Annot/A 34943 0 R/Subtype/Link/Rect[234 429 248 438]/Border[0 0 0]/H/N>> -endobj - -34354 0 obj -<>/P 5000 0 R/Type/Annot/A 34940 0 R/Subtype/Link/Rect[250 429 264 438]/Border[0 0 0]/H/N>> -endobj - -34355 0 obj -<>/P 5000 0 R/Type/Annot/A 34937 0 R/Subtype/Link/Rect[266 429 280 438]/Border[0 0 0]/H/N>> -endobj - -34356 0 obj -<>/P 5000 0 R/Type/Annot/A 34933 0 R/Subtype/Link/Rect[282 429 296 438]/Border[0 0 0]/H/N>> -endobj - -34357 0 obj -<>/P 5000 0 R/Type/Annot/A 34930 0 R/Subtype/Link/Rect[152 419 166 428]/Border[0 0 0]/H/N>> -endobj - -34358 0 obj -<>/P 5000 0 R/Type/Annot/A 34927 0 R/Subtype/Link/Rect[168 419 182 428]/Border[0 0 0]/H/N>> -endobj - -34359 0 obj -<>/P 5000 0 R/Type/Annot/A 42620 0 R/Subtype/Link/Rect[184 419 198 428]/Border[0 0 0]/H/N>> -endobj - -34360 0 obj -<>/P 5000 0 R/Type/Annot/A 34923 0 R/Subtype/Link/Rect[200 419 212 428]/Border[0 0 0]/H/N>> -endobj - -34361 0 obj -<>/P 5000 0 R/Type/Annot/A 34920 0 R/Subtype/Link/Rect[191 409 203 418]/Border[0 0 0]/H/N>> -endobj - -34362 0 obj -<>/P 5000 0 R/Type/Annot/A 34915 0 R/Subtype/Link/Rect[227 399 241 408]/Border[0 0 0]/H/N>> -endobj - -34363 0 obj -<>/P 5000 0 R/Type/Annot/A 34912 0 R/Subtype/Link/Rect[243 399 255 408]/Border[0 0 0]/H/N>> -endobj - -34364 0 obj -<>/P 5000 0 R/Type/Annot/A 34909 0 R/Subtype/Link/Rect[191 389 203 398]/Border[0 0 0]/H/N>> -endobj - -34365 0 obj -<>/P 5000 0 R/Type/Annot/A 34906 0 R/Subtype/Link/Rect[239 379 247 389]/Border[0 0 0]/H/N>> -endobj - -34366 0 obj -<>/P 5000 0 R/Type/Annot/A 34903 0 R/Subtype/Link/Rect[248 379 254 388]/Border[0 0 0]/H/N>> -endobj - -34367 0 obj -<>/P 5000 0 R/Type/Annot/A 34900 0 R/Subtype/Link/Rect[256 379 266 388]/Border[0 0 0]/H/N>> -endobj - -34368 0 obj -<>/P 5000 0 R/Type/Annot/A 34896 0 R/Subtype/Link/Rect[268 379 281 389]/Border[0 0 0]/H/N>> -endobj - -34369 0 obj -<>/P 5000 0 R/Type/Annot/A 34893 0 R/Subtype/Link/Rect[281 379 291 388]/Border[0 0 0]/H/N>> -endobj - -34370 0 obj -<>/P 5000 0 R/Type/Annot/A 34890 0 R/Subtype/Link/Rect[152 369 164 379]/Border[0 0 0]/H/N>> -endobj - -34371 0 obj -<>/P 5000 0 R/Type/Annot/A 34887 0 R/Subtype/Link/Rect[165 369 175 378]/Border[0 0 0]/H/N>> -endobj - -34372 0 obj -<>/P 5000 0 R/Type/Annot/A 34884 0 R/Subtype/Link/Rect[177 369 190 379]/Border[0 0 0]/H/N>> -endobj - -34373 0 obj -<>/P 5000 0 R/Type/Annot/A 34881 0 R/Subtype/Link/Rect[190 369 200 378]/Border[0 0 0]/H/N>> -endobj - -34374 0 obj -<>/P 5000 0 R/Type/Annot/A 34877 0 R/Subtype/Link/Rect[202 369 212 378]/Border[0 0 0]/H/N>> -endobj - -34375 0 obj -<>/P 5000 0 R/Type/Annot/A 34874 0 R/Subtype/Link/Rect[214 369 224 378]/Border[0 0 0]/H/N>> -endobj - -34376 0 obj -<>/P 5000 0 R/Type/Annot/A 34871 0 R/Subtype/Link/Rect[226 369 236 378]/Border[0 0 0]/H/N>> -endobj - -34377 0 obj -<>/P 5000 0 R/Type/Annot/A 34868 0 R/Subtype/Link/Rect[238 369 248 378]/Border[0 0 0]/H/N>> -endobj - -34378 0 obj -<>/P 5000 0 R/Type/Annot/A 34865 0 R/Subtype/Link/Rect[250 369 260 378]/Border[0 0 0]/H/N>> -endobj - -34379 0 obj -<>/P 5000 0 R/Type/Annot/A 34862 0 R/Subtype/Link/Rect[262 369 272 378]/Border[0 0 0]/H/N>> -endobj - -34380 0 obj -<>/P 5000 0 R/Type/Annot/A 34859 0 R/Subtype/Link/Rect[274 369 284 378]/Border[0 0 0]/H/N>> -endobj - -34381 0 obj -<>/P 5000 0 R/Type/Annot/A 34856 0 R/Subtype/Link/Rect[286 369 296 378]/Border[0 0 0]/H/N>> -endobj - -34382 0 obj -<>/P 5000 0 R/Type/Annot/A 34853 0 R/Subtype/Link/Rect[298 369 308 378]/Border[0 0 0]/H/N>> -endobj - -34383 0 obj -<>/P 5000 0 R/Type/Annot/A 34850 0 R/Subtype/Link/Rect[152 359 162 368]/Border[0 0 0]/H/N>> -endobj - -34384 0 obj -<>/P 5000 0 R/Type/Annot/A 34847 0 R/Subtype/Link/Rect[164 359 174 368]/Border[0 0 0]/H/N>> -endobj - -34385 0 obj -<>/P 5000 0 R/Type/Annot/A 34844 0 R/Subtype/Link/Rect[176 359 186 368]/Border[0 0 0]/H/N>> -endobj - -34386 0 obj -<>/P 5000 0 R/Type/Annot/A 41503 0 R/Subtype/Link/Rect[188 359 202 368]/Border[0 0 0]/H/N>> -endobj - -34387 0 obj -<>/P 5000 0 R/Type/Annot/A 34839 0 R/Subtype/Link/Rect[204 359 220 369]/Border[0 0 0]/H/N>> -endobj - -34388 0 obj -<>/P 5000 0 R/Type/Annot/A 34836 0 R/Subtype/Link/Rect[221 359 234 368]/Border[0 0 0]/H/N>> -endobj - -34389 0 obj -<>/P 5000 0 R/Type/Annot/A 41409 0 R/Subtype/Link/Rect[236 359 250 368]/Border[0 0 0]/H/N>> -endobj - -34390 0 obj -<>/P 5000 0 R/Type/Annot/A 34831 0 R/Subtype/Link/Rect[252 359 266 368]/Border[0 0 0]/H/N>> -endobj - -34391 0 obj -<>/P 5000 0 R/Type/Annot/A 34828 0 R/Subtype/Link/Rect[268 359 282 368]/Border[0 0 0]/H/N>> -endobj - -34392 0 obj -<>/P 5000 0 R/Type/Annot/A 34826 0 R/Subtype/Link/Rect[284 359 298 368]/Border[0 0 0]/H/N>> -endobj - -34393 0 obj -<>/P 5000 0 R/Type/Annot/A 34823 0 R/Subtype/Link/Rect[152 349 166 358]/Border[0 0 0]/H/N>> -endobj - -34394 0 obj -<>/P 5000 0 R/Type/Annot/A 41198 0 R/Subtype/Link/Rect[168 349 182 358]/Border[0 0 0]/H/N>> -endobj - -34395 0 obj -<>/P 5000 0 R/Type/Annot/A 34817 0 R/Subtype/Link/Rect[184 349 198 358]/Border[0 0 0]/H/N>> -endobj - -34396 0 obj -<>/P 5000 0 R/Type/Annot/A 34813 0 R/Subtype/Link/Rect[200 349 216 359]/Border[0 0 0]/H/N>> -endobj - -34397 0 obj -<>/P 5000 0 R/Type/Annot/A 34810 0 R/Subtype/Link/Rect[217 349 231 358]/Border[0 0 0]/H/N>> -endobj - -34398 0 obj -<>/P 5000 0 R/Type/Annot/A 34806 0 R/Subtype/Link/Rect[233 349 250 359]/Border[0 0 0]/H/N>> -endobj - -34399 0 obj -<>/P 5000 0 R/Type/Annot/A 34802 0 R/Subtype/Link/Rect[250 349 264 358]/Border[0 0 0]/H/N>> -endobj - -34400 0 obj -<>/P 5000 0 R/Type/Annot/A 34797 0 R/Subtype/Link/Rect[266 349 283 359]/Border[0 0 0]/H/N>> -endobj - -34401 0 obj -<>/P 5000 0 R/Type/Annot/A 34793 0 R/Subtype/Link/Rect[284 349 298 358]/Border[0 0 0]/H/N>> -endobj - -34402 0 obj -<>/P 5000 0 R/Type/Annot/A 34789 0 R/Subtype/Link/Rect[152 339 166 348]/Border[0 0 0]/H/N>> -endobj - -34403 0 obj -<>/P 5000 0 R/Type/Annot/A 34785 0 R/Subtype/Link/Rect[168 339 182 348]/Border[0 0 0]/H/N>> -endobj - -34404 0 obj -<>/P 5000 0 R/Type/Annot/A 34781 0 R/Subtype/Link/Rect[184 339 198 348]/Border[0 0 0]/H/N>> -endobj - -34405 0 obj -<>/P 5000 0 R/Type/Annot/A 34777 0 R/Subtype/Link/Rect[200 339 214 348]/Border[0 0 0]/H/N>> -endobj - -34406 0 obj -<>/P 5000 0 R/Type/Annot/A 34774 0 R/Subtype/Link/Rect[216 339 230 348]/Border[0 0 0]/H/N>> -endobj - -34407 0 obj -<>/P 5000 0 R/Type/Annot/A 34770 0 R/Subtype/Link/Rect[232 339 246 348]/Border[0 0 0]/H/N>> -endobj - -34408 0 obj -<>/P 5000 0 R/Type/Annot/A 34766 0 R/Subtype/Link/Rect[248 339 262 348]/Border[0 0 0]/H/N>> -endobj - -34409 0 obj -<>/P 5000 0 R/Type/Annot/A 34762 0 R/Subtype/Link/Rect[264 339 278 348]/Border[0 0 0]/H/N>> -endobj - -34410 0 obj -<>/P 5000 0 R/Type/Annot/A 34757 0 R/Subtype/Link/Rect[280 339 294 348]/Border[0 0 0]/H/N>> -endobj - -34411 0 obj -<>/P 5000 0 R/Type/Annot/A 34918 0 R/Subtype/Link/Rect[296 339 310 348]/Border[0 0 0]/H/N>> -endobj - -34412 0 obj -<>/P 5000 0 R/Type/Annot/A 34749 0 R/Subtype/Link/Rect[152 329 166 338]/Border[0 0 0]/H/N>> -endobj - -34413 0 obj -<>/P 5000 0 R/Type/Annot/A 34744 0 R/Subtype/Link/Rect[168 329 184 339]/Border[0 0 0]/H/N>> -endobj - -34414 0 obj -<>/P 5000 0 R/Type/Annot/A 34740 0 R/Subtype/Link/Rect[185 329 199 338]/Border[0 0 0]/H/N>> -endobj - -34415 0 obj -<>/P 5000 0 R/Type/Annot/A 34737 0 R/Subtype/Link/Rect[201 329 218 339]/Border[0 0 0]/H/N>> -endobj - -34416 0 obj -<>/P 5000 0 R/Type/Annot/A 34732 0 R/Subtype/Link/Rect[218 329 232 338]/Border[0 0 0]/H/N>> -endobj - -34417 0 obj -<>/P 5000 0 R/Type/Annot/A 34729 0 R/Subtype/Link/Rect[234 329 248 338]/Border[0 0 0]/H/N>> -endobj - -34418 0 obj -<>/P 5000 0 R/Type/Annot/A 34725 0 R/Subtype/Link/Rect[250 329 264 338]/Border[0 0 0]/H/N>> -endobj - -34419 0 obj -<>/P 5000 0 R/Type/Annot/A 34722 0 R/Subtype/Link/Rect[266 329 280 338]/Border[0 0 0]/H/N>> -endobj - -34420 0 obj -<>/P 5000 0 R/Type/Annot/A 34719 0 R/Subtype/Link/Rect[282 329 296 338]/Border[0 0 0]/H/N>> -endobj - -34421 0 obj -<>/P 5000 0 R/Type/Annot/A 34716 0 R/Subtype/Link/Rect[152 319 168 329]/Border[0 0 0]/H/N>> -endobj - -34422 0 obj -<>/P 5000 0 R/Type/Annot/A 35032 0 R/Subtype/Link/Rect[169 319 183 328]/Border[0 0 0]/H/N>> -endobj - -34423 0 obj -<>/P 5000 0 R/Type/Annot/A 35029 0 R/Subtype/Link/Rect[185 319 199 328]/Border[0 0 0]/H/N>> -endobj - -34424 0 obj -<>/P 5000 0 R/Type/Annot/A 35026 0 R/Subtype/Link/Rect[201 319 215 328]/Border[0 0 0]/H/N>> -endobj - -34425 0 obj -<>/P 5000 0 R/Type/Annot/A 35023 0 R/Subtype/Link/Rect[217 319 231 328]/Border[0 0 0]/H/N>> -endobj - -34426 0 obj -<>/P 5000 0 R/Type/Annot/A 35020 0 R/Subtype/Link/Rect[233 319 247 328]/Border[0 0 0]/H/N>> -endobj - -34427 0 obj -<>/P 5000 0 R/Type/Annot/A 35018 0 R/Subtype/Link/Rect[249 319 263 328]/Border[0 0 0]/H/N>> -endobj - -34428 0 obj -<>/P 5000 0 R/Type/Annot/A 35016 0 R/Subtype/Link/Rect[265 319 279 328]/Border[0 0 0]/H/N>> -endobj - -34429 0 obj -<>/P 5000 0 R/Type/Annot/A 35013 0 R/Subtype/Link/Rect[281 319 295 328]/Border[0 0 0]/H/N>> -endobj - -34430 0 obj -<>/P 5000 0 R/Type/Annot/A 35010 0 R/Subtype/Link/Rect[297 319 311 328]/Border[0 0 0]/H/N>> -endobj - -34431 0 obj -<>/P 5000 0 R/Type/Annot/A 35007 0 R/Subtype/Link/Rect[152 309 166 318]/Border[0 0 0]/H/N>> -endobj - -34432 0 obj -<>/P 5000 0 R/Type/Annot/A 35004 0 R/Subtype/Link/Rect[168 309 182 318]/Border[0 0 0]/H/N>> -endobj - -34433 0 obj -<>/P 5000 0 R/Type/Annot/A 35001 0 R/Subtype/Link/Rect[184 309 200 319]/Border[0 0 0]/H/N>> -endobj - -34434 0 obj -<>/P 5000 0 R/Type/Annot/A 34998 0 R/Subtype/Link/Rect[201 309 215 318]/Border[0 0 0]/H/N>> -endobj - -34435 0 obj -<>/P 5000 0 R/Type/Annot/A 34995 0 R/Subtype/Link/Rect[217 309 231 318]/Border[0 0 0]/H/N>> -endobj - -34436 0 obj -<>/P 5000 0 R/Type/Annot/A 34992 0 R/Subtype/Link/Rect[233 309 247 318]/Border[0 0 0]/H/N>> -endobj - -34437 0 obj -<>/P 5000 0 R/Type/Annot/A 34990 0 R/Subtype/Link/Rect[249 309 263 318]/Border[0 0 0]/H/N>> -endobj - -34438 0 obj -<>/P 5000 0 R/Type/Annot/A 34987 0 R/Subtype/Link/Rect[265 309 279 318]/Border[0 0 0]/H/N>> -endobj - -34439 0 obj -<>/P 5000 0 R/Type/Annot/A 34984 0 R/Subtype/Link/Rect[281 309 295 318]/Border[0 0 0]/H/N>> -endobj - -34440 0 obj -<>/P 5000 0 R/Type/Annot/A 34981 0 R/Subtype/Link/Rect[152 299 168 309]/Border[0 0 0]/H/N>> -endobj - -34441 0 obj -<>/P 5000 0 R/Type/Annot/A 34978 0 R/Subtype/Link/Rect[169 299 183 308]/Border[0 0 0]/H/N>> -endobj - -34442 0 obj -<>/P 5000 0 R/Type/Annot/A 34975 0 R/Subtype/Link/Rect[185 299 199 308]/Border[0 0 0]/H/N>> -endobj - -34443 0 obj -<>/P 5000 0 R/Type/Annot/A 34972 0 R/Subtype/Link/Rect[201 299 215 308]/Border[0 0 0]/H/N>> -endobj - -34444 0 obj -<>/P 5000 0 R/Type/Annot/A 34969 0 R/Subtype/Link/Rect[217 299 231 308]/Border[0 0 0]/H/N>> -endobj - -34445 0 obj -<>/P 5000 0 R/Type/Annot/A 34966 0 R/Subtype/Link/Rect[233 299 247 308]/Border[0 0 0]/H/N>> -endobj - -34446 0 obj -<>/P 5000 0 R/Type/Annot/A 34963 0 R/Subtype/Link/Rect[249 299 266 309]/Border[0 0 0]/H/N>> -endobj - -34447 0 obj -<>/P 5000 0 R/Type/Annot/A 34800 0 R/Subtype/Link/Rect[266 299 280 308]/Border[0 0 0]/H/N>> -endobj - -34448 0 obj -<>/P 5000 0 R/Type/Annot/A 34959 0 R/Subtype/Link/Rect[282 299 296 308]/Border[0 0 0]/H/N>> -endobj - -34449 0 obj -<>/P 5000 0 R/Type/Annot/A 34956 0 R/Subtype/Link/Rect[152 289 166 298]/Border[0 0 0]/H/N>> -endobj - -34450 0 obj -<>/P 5000 0 R/Type/Annot/A 34953 0 R/Subtype/Link/Rect[168 289 182 298]/Border[0 0 0]/H/N>> -endobj - -34451 0 obj -<>/P 5000 0 R/Type/Annot/A 34950 0 R/Subtype/Link/Rect[184 289 198 298]/Border[0 0 0]/H/N>> -endobj - -34452 0 obj -<>/P 5000 0 R/Type/Annot/A 34947 0 R/Subtype/Link/Rect[200 289 214 298]/Border[0 0 0]/H/N>> -endobj - -34453 0 obj -<>/P 5000 0 R/Type/Annot/A 34944 0 R/Subtype/Link/Rect[216 289 230 298]/Border[0 0 0]/H/N>> -endobj - -34454 0 obj -<>/P 5000 0 R/Type/Annot/A 34941 0 R/Subtype/Link/Rect[232 289 246 298]/Border[0 0 0]/H/N>> -endobj - -34455 0 obj -<>/P 5000 0 R/Type/Annot/A 34938 0 R/Subtype/Link/Rect[248 289 262 298]/Border[0 0 0]/H/N>> -endobj - -34456 0 obj -<>/P 5000 0 R/Type/Annot/A 34935 0 R/Subtype/Link/Rect[264 289 278 298]/Border[0 0 0]/H/N>> -endobj - -34457 0 obj -<>/P 5000 0 R/Type/Annot/A 34931 0 R/Subtype/Link/Rect[280 289 294 298]/Border[0 0 0]/H/N>> -endobj - -34458 0 obj -<>/P 5000 0 R/Type/Annot/A 34928 0 R/Subtype/Link/Rect[152 279 168 289]/Border[0 0 0]/H/N>> -endobj - -34459 0 obj -<>/P 5000 0 R/Type/Annot/A 34925 0 R/Subtype/Link/Rect[169 279 183 288]/Border[0 0 0]/H/N>> -endobj - -34460 0 obj -<>/P 5000 0 R/Type/Annot/A 34924 0 R/Subtype/Link/Rect[185 279 199 288]/Border[0 0 0]/H/N>> -endobj - -34461 0 obj -<>/P 5000 0 R/Type/Annot/A 34922 0 R/Subtype/Link/Rect[201 279 217 289]/Border[0 0 0]/H/N>> -endobj - -34462 0 obj -<>/P 5000 0 R/Type/Annot/A 34917 0 R/Subtype/Link/Rect[218 279 232 288]/Border[0 0 0]/H/N>> -endobj - -34463 0 obj -<>/P 5000 0 R/Type/Annot/A 34914 0 R/Subtype/Link/Rect[234 279 248 288]/Border[0 0 0]/H/N>> -endobj - -34464 0 obj -<>/P 5000 0 R/Type/Annot/A 34911 0 R/Subtype/Link/Rect[250 279 264 288]/Border[0 0 0]/H/N>> -endobj - -34465 0 obj -<>/P 5000 0 R/Type/Annot/A 34908 0 R/Subtype/Link/Rect[266 279 283 289]/Border[0 0 0]/H/N>> -endobj - -34466 0 obj -<>/P 5000 0 R/Type/Annot/A 34905 0 R/Subtype/Link/Rect[283 279 297 288]/Border[0 0 0]/H/N>> -endobj - -34467 0 obj -<>/P 5000 0 R/Type/Annot/A 34902 0 R/Subtype/Link/Rect[152 269 166 278]/Border[0 0 0]/H/N>> -endobj - -34468 0 obj -<>/P 5000 0 R/Type/Annot/A 34899 0 R/Subtype/Link/Rect[168 269 184 279]/Border[0 0 0]/H/N>> -endobj - -34469 0 obj -<>/P 5000 0 R/Type/Annot/A 34895 0 R/Subtype/Link/Rect[185 269 199 278]/Border[0 0 0]/H/N>> -endobj - -34470 0 obj -<>/P 5000 0 R/Type/Annot/A 34892 0 R/Subtype/Link/Rect[201 269 218 279]/Border[0 0 0]/H/N>> -endobj - -34471 0 obj -<>/P 5000 0 R/Type/Annot/A 34889 0 R/Subtype/Link/Rect[218 269 232 278]/Border[0 0 0]/H/N>> -endobj - -34472 0 obj -<>/P 5000 0 R/Type/Annot/A 34886 0 R/Subtype/Link/Rect[234 269 248 278]/Border[0 0 0]/H/N>> -endobj - -34473 0 obj -<>/P 5000 0 R/Type/Annot/A 34883 0 R/Subtype/Link/Rect[250 269 264 278]/Border[0 0 0]/H/N>> -endobj - -34474 0 obj -<>/P 5000 0 R/Type/Annot/A 34880 0 R/Subtype/Link/Rect[266 269 283 279]/Border[0 0 0]/H/N>> -endobj - -34475 0 obj -<>/P 5000 0 R/Type/Annot/A 34876 0 R/Subtype/Link/Rect[284 269 298 278]/Border[0 0 0]/H/N>> -endobj - -34476 0 obj -<>/P 5000 0 R/Type/Annot/A 34873 0 R/Subtype/Link/Rect[152 259 168 269]/Border[0 0 0]/H/N>> -endobj - -34477 0 obj -<>/P 5000 0 R/Type/Annot/A 34870 0 R/Subtype/Link/Rect[169 259 183 268]/Border[0 0 0]/H/N>> -endobj - -34478 0 obj -<>/P 5000 0 R/Type/Annot/A 34867 0 R/Subtype/Link/Rect[185 259 199 268]/Border[0 0 0]/H/N>> -endobj - -34479 0 obj -<>/P 5000 0 R/Type/Annot/A 34864 0 R/Subtype/Link/Rect[201 259 215 268]/Border[0 0 0]/H/N>> -endobj - -34480 0 obj -<>/P 5000 0 R/Type/Annot/A 35000 0 R/Subtype/Link/Rect[217 259 231 268]/Border[0 0 0]/H/N>> -endobj - -34481 0 obj -<>/P 5000 0 R/Type/Annot/A 34860 0 R/Subtype/Link/Rect[233 259 247 268]/Border[0 0 0]/H/N>> -endobj - -34482 0 obj -<>/P 5000 0 R/Type/Annot/A 34857 0 R/Subtype/Link/Rect[249 259 263 268]/Border[0 0 0]/H/N>> -endobj - -34483 0 obj -<>/P 5000 0 R/Type/Annot/A 34854 0 R/Subtype/Link/Rect[265 259 281 269]/Border[0 0 0]/H/N>> -endobj - -34484 0 obj -<>/P 5000 0 R/Type/Annot/A 34851 0 R/Subtype/Link/Rect[282 259 296 268]/Border[0 0 0]/H/N>> -endobj - -34485 0 obj -<>/P 5000 0 R/Type/Annot/A 34848 0 R/Subtype/Link/Rect[152 249 168 259]/Border[0 0 0]/H/N>> -endobj - -34486 0 obj -<>/P 5000 0 R/Type/Annot/A 34845 0 R/Subtype/Link/Rect[169 249 183 258]/Border[0 0 0]/H/N>> -endobj - -34487 0 obj -<>/P 5000 0 R/Type/Annot/A 34842 0 R/Subtype/Link/Rect[185 249 199 258]/Border[0 0 0]/H/N>> -endobj - -34488 0 obj -<>/P 5000 0 R/Type/Annot/A 34840 0 R/Subtype/Link/Rect[201 249 213 258]/Border[0 0 0]/H/N>> -endobj - -34489 0 obj -<>/P 5000 0 R/Type/Annot/A 34837 0 R/Subtype/Link/Rect[203 239 217 248]/Border[0 0 0]/H/N>> -endobj - -34490 0 obj -<>/P 5000 0 R/Type/Annot/A 34834 0 R/Subtype/Link/Rect[219 239 235 249]/Border[0 0 0]/H/N>> -endobj - -34491 0 obj -<>/P 5000 0 R/Type/Annot/A 34832 0 R/Subtype/Link/Rect[236 239 250 248]/Border[0 0 0]/H/N>> -endobj - -34492 0 obj -<>/P 5000 0 R/Type/Annot/A 34829 0 R/Subtype/Link/Rect[252 239 264 248]/Border[0 0 0]/H/N>> -endobj - -34493 0 obj -<>/P 5000 0 R/Type/Annot/A 34827 0 R/Subtype/Link/Rect[191 229 203 238]/Border[0 0 0]/H/N>> -endobj - -34494 0 obj -<>/P 5000 0 R/Type/Annot/A 34825 0 R/Subtype/Link/Rect[198 219 210 228]/Border[0 0 0]/H/N>> -endobj - -34495 0 obj -<>/P 5000 0 R/Type/Annot/A 34822 0 R/Subtype/Link/Rect[198 209 212 218]/Border[0 0 0]/H/N>> -endobj - -34496 0 obj -<>/P 5000 0 R/Type/Annot/A 34820 0 R/Subtype/Link/Rect[214 209 226 218]/Border[0 0 0]/H/N>> -endobj - -34497 0 obj -<>/P 5000 0 R/Type/Annot/A 34816 0 R/Subtype/Link/Rect[191 199 203 208]/Border[0 0 0]/H/N>> -endobj - -34498 0 obj -<>/P 5000 0 R/Type/Annot/A 34812 0 R/Subtype/Link/Rect[190 189 202 198]/Border[0 0 0]/H/N>> -endobj - -34499 0 obj -<>/P 5000 0 R/Type/Annot/A 34809 0 R/Subtype/Link/Rect[193 179 207 188]/Border[0 0 0]/H/N>> -endobj - -34500 0 obj -<>/P 5000 0 R/Type/Annot/A 34805 0 R/Subtype/Link/Rect[209 179 226 189]/Border[0 0 0]/H/N>> -endobj - -34501 0 obj -<>/P 5000 0 R/Type/Annot/A 34801 0 R/Subtype/Link/Rect[227 179 241 188]/Border[0 0 0]/H/N>> -endobj - -34502 0 obj -<>/P 5000 0 R/Type/Annot/A 34796 0 R/Subtype/Link/Rect[243 179 257 188]/Border[0 0 0]/H/N>> -endobj - -34503 0 obj -<>/P 5000 0 R/Type/Annot/A 34792 0 R/Subtype/Link/Rect[259 179 271 188]/Border[0 0 0]/H/N>> -endobj - -34504 0 obj -<>/P 5000 0 R/Type/Annot/A 34788 0 R/Subtype/Link/Rect[191 169 203 178]/Border[0 0 0]/H/N>> -endobj - -34505 0 obj -<>/P 5000 0 R/Type/Annot/A 34784 0 R/Subtype/Link/Rect[198 159 215 169]/Border[0 0 0]/H/N>> -endobj - -34506 0 obj -<>/P 5000 0 R/Type/Annot/A 34780 0 R/Subtype/Link/Rect[215 159 229 168]/Border[0 0 0]/H/N>> -endobj - -34507 0 obj -<>/P 5000 0 R/Type/Annot/A 34776 0 R/Subtype/Link/Rect[231 159 245 168]/Border[0 0 0]/H/N>> -endobj - -34508 0 obj -<>/P 5000 0 R/Type/Annot/A 34773 0 R/Subtype/Link/Rect[247 159 259 168]/Border[0 0 0]/H/N>> -endobj - -34509 0 obj -<>/P 5000 0 R/Type/Annot/A 34769 0 R/Subtype/Link/Rect[191 149 203 158]/Border[0 0 0]/H/N>> -endobj - -34510 0 obj -<>/P 5000 0 R/Type/Annot/A 34765 0 R/Subtype/Link/Rect[411 669 421 678]/Border[0 0 0]/H/N>> -endobj - -34511 0 obj -<>/P 5000 0 R/Type/Annot/A 34761 0 R/Subtype/Link/Rect[423 669 433 678]/Border[0 0 0]/H/N>> -endobj - -34512 0 obj -<>/P 5000 0 R/Type/Annot/A 34756 0 R/Subtype/Link/Rect[435 669 445 678]/Border[0 0 0]/H/N>> -endobj - -34513 0 obj -<>/P 5000 0 R/Type/Annot/A 34898 0 R/Subtype/Link/Rect[447 669 461 678]/Border[0 0 0]/H/N>> -endobj - -34514 0 obj -<>/P 5000 0 R/Type/Annot/A 34750 0 R/Subtype/Link/Rect[463 669 477 678]/Border[0 0 0]/H/N>> -endobj - -34515 0 obj -<>/P 5000 0 R/Type/Annot/A 34746 0 R/Subtype/Link/Rect[479 669 491 678]/Border[0 0 0]/H/N>> -endobj - -34516 0 obj -<>/P 5000 0 R/Type/Annot/A 34741 0 R/Subtype/Link/Rect[411 659 424 669]/Border[0 0 0]/H/N>> -endobj - -34517 0 obj -<>/P 5000 0 R/Type/Annot/A 34738 0 R/Subtype/Link/Rect[424 659 434 668]/Border[0 0 0]/H/N>> -endobj - -34518 0 obj -<>/P 5000 0 R/Type/Annot/A 34733 0 R/Subtype/Link/Rect[436 659 446 668]/Border[0 0 0]/H/N>> -endobj - -34519 0 obj -<>/P 5000 0 R/Type/Annot/A 34730 0 R/Subtype/Link/Rect[448 659 458 668]/Border[0 0 0]/H/N>> -endobj - -34520 0 obj -<>/P 5000 0 R/Type/Annot/A 34726 0 R/Subtype/Link/Rect[460 659 474 668]/Border[0 0 0]/H/N>> -endobj - -34521 0 obj -<>/P 5000 0 R/Type/Annot/A 34723 0 R/Subtype/Link/Rect[476 659 490 668]/Border[0 0 0]/H/N>> -endobj - -34522 0 obj -<>/P 5000 0 R/Type/Annot/A 34720 0 R/Subtype/Link/Rect[492 659 506 668]/Border[0 0 0]/H/N>> -endobj - -34523 0 obj -<>/P 5000 0 R/Type/Annot/A 34717 0 R/Subtype/Link/Rect[360 649 374 658]/Border[0 0 0]/H/N>> -endobj - -34524 0 obj -<>/P 5000 0 R/Type/Annot/A 34714 0 R/Subtype/Link/Rect[376 649 388 658]/Border[0 0 0]/H/N>> -endobj - -34525 0 obj -<>/P 5000 0 R/Type/Annot/A 34712 0 R/Subtype/Link/Rect[411 639 421 648]/Border[0 0 0]/H/N>> -endobj - -34526 0 obj -<>/P 5000 0 R/Type/Annot/A 34710 0 R/Subtype/Link/Rect[423 639 440 649]/Border[0 0 0]/H/N>> -endobj - -34527 0 obj -<>/P 5000 0 R/Type/Annot/A 34708 0 R/Subtype/Link/Rect[440 639 454 648]/Border[0 0 0]/H/N>> -endobj - -34528 0 obj -<>/P 5000 0 R/Type/Annot/A 34706 0 R/Subtype/Link/Rect[456 639 470 648]/Border[0 0 0]/H/N>> -endobj - -34529 0 obj -<>/P 5000 0 R/Type/Annot/A 34704 0 R/Subtype/Link/Rect[472 639 486 648]/Border[0 0 0]/H/N>> -endobj - -34530 0 obj -<>/P 5000 0 R/Type/Annot/A 34702 0 R/Subtype/Link/Rect[488 639 502 648]/Border[0 0 0]/H/N>> -endobj - -34531 0 obj -<>/P 5000 0 R/Type/Annot/A 34701 0 R/Subtype/Link/Rect[360 629 376 639]/Border[0 0 0]/H/N>> -endobj - -34532 0 obj -<>/P 5000 0 R/Type/Annot/A 34700 0 R/Subtype/Link/Rect[377 629 389 638]/Border[0 0 0]/H/N>> -endobj - -34533 0 obj -<>/P 5000 0 R/Type/Annot/A 34699 0 R/Subtype/Link/Rect[416 619 426 628]/Border[0 0 0]/H/N>> -endobj - -34534 0 obj -<>/P 5000 0 R/Type/Annot/A 34698 0 R/Subtype/Link/Rect[428 619 442 628]/Border[0 0 0]/H/N>> -endobj - -34535 0 obj -<>/P 5000 0 R/Type/Annot/A 34696 0 R/Subtype/Link/Rect[444 619 458 628]/Border[0 0 0]/H/N>> -endobj - -34536 0 obj -<>/P 5000 0 R/Type/Annot/A 34695 0 R/Subtype/Link/Rect[460 619 474 628]/Border[0 0 0]/H/N>> -endobj - -34537 0 obj -<>/P 5000 0 R/Type/Annot/A 34694 0 R/Subtype/Link/Rect[476 619 490 628]/Border[0 0 0]/H/N>> -endobj - -34538 0 obj -<>/P 5000 0 R/Type/Annot/A 34693 0 R/Subtype/Link/Rect[492 619 504 628]/Border[0 0 0]/H/N>> -endobj - -34539 0 obj -<>/P 5000 0 R/Type/Annot/A 34692 0 R/Subtype/Link/Rect[416 609 428 619]/Border[0 0 0]/H/N>> -endobj - -34540 0 obj -<>/P 5000 0 R/Type/Annot/A 34691 0 R/Subtype/Link/Rect[429 609 439 618]/Border[0 0 0]/H/N>> -endobj - -34541 0 obj -<>/P 5000 0 R/Type/Annot/A 34689 0 R/Subtype/Link/Rect[441 609 455 618]/Border[0 0 0]/H/N>> -endobj - -34542 0 obj -<>/P 5000 0 R/Type/Annot/A 34687 0 R/Subtype/Link/Rect[457 609 471 618]/Border[0 0 0]/H/N>> -endobj - -34543 0 obj -<>/P 5000 0 R/Type/Annot/A 34685 0 R/Subtype/Link/Rect[473 609 490 619]/Border[0 0 0]/H/N>> -endobj - -34544 0 obj -<>/P 5000 0 R/Type/Annot/A 34683 0 R/Subtype/Link/Rect[490 609 504 618]/Border[0 0 0]/H/N>> -endobj - -34545 0 obj -<>/P 5000 0 R/Type/Annot/A 34681 0 R/Subtype/Link/Rect[506 609 518 618]/Border[0 0 0]/H/N>> -endobj - -34546 0 obj -<>/P 5000 0 R/Type/Annot/A 34679 0 R/Subtype/Link/Rect[411 599 425 608]/Border[0 0 0]/H/N>> -endobj - -34547 0 obj -<>/P 5000 0 R/Type/Annot/A 34677 0 R/Subtype/Link/Rect[427 599 443 609]/Border[0 0 0]/H/N>> -endobj - -34548 0 obj -<>/P 5000 0 R/Type/Annot/A 34675 0 R/Subtype/Link/Rect[444 599 458 608]/Border[0 0 0]/H/N>> -endobj - -34549 0 obj -<>/P 5000 0 R/Type/Annot/A 34673 0 R/Subtype/Link/Rect[460 599 474 608]/Border[0 0 0]/H/N>> -endobj - -34550 0 obj -<>/P 5000 0 R/Type/Annot/A 34671 0 R/Subtype/Link/Rect[476 599 488 608]/Border[0 0 0]/H/N>> -endobj - -34551 0 obj -<>/P 5000 0 R/Type/Annot/A 34669 0 R/Subtype/Link/Rect[399 589 411 598]/Border[0 0 0]/H/N>> -endobj - -34552 0 obj -<>/P 5000 0 R/Type/Annot/A 34667 0 R/Subtype/Link/Rect[401 579 407 588]/Border[0 0 0]/H/N>> -endobj - -34553 0 obj -<>/P 5000 0 R/Type/Annot/A 34665 0 R/Subtype/Link/Rect[409 579 422 589]/Border[0 0 0]/H/N>> -endobj - -34554 0 obj -<>/P 5000 0 R/Type/Annot/A 34759 0 R/Subtype/Link/Rect[422 579 432 588]/Border[0 0 0]/H/N>> -endobj - -34555 0 obj -<>/P 5000 0 R/Type/Annot/A 34754 0 R/Subtype/Link/Rect[434 579 448 588]/Border[0 0 0]/H/N>> -endobj - -34556 0 obj -<>/P 5000 0 R/Type/Annot/A 34751 0 R/Subtype/Link/Rect[450 579 464 588]/Border[0 0 0]/H/N>> -endobj - -34557 0 obj -<>/P 5000 0 R/Type/Annot/A 34745 0 R/Subtype/Link/Rect[466 579 480 588]/Border[0 0 0]/H/N>> -endobj - -34558 0 obj -<>/P 5000 0 R/Type/Annot/A 34879 0 R/Subtype/Link/Rect[482 579 496 588]/Border[0 0 0]/H/N>> -endobj - -34559 0 obj -<>/P 5000 0 R/Type/Annot/A 34736 0 R/Subtype/Link/Rect[498 579 512 588]/Border[0 0 0]/H/N>> -endobj - -34560 0 obj -<>/P 5000 0 R/Type/Annot/A 34731 0 R/Subtype/Link/Rect[360 569 374 578]/Border[0 0 0]/H/N>> -endobj - -34561 0 obj -<>/P 5000 0 R/Type/Annot/A 34728 0 R/Subtype/Link/Rect[376 569 392 579]/Border[0 0 0]/H/N>> -endobj - -34562 0 obj -<>/P 5000 0 R/Type/Annot/A 34724 0 R/Subtype/Link/Rect[393 569 407 578]/Border[0 0 0]/H/N>> -endobj - -34563 0 obj -<>/P 5000 0 R/Type/Annot/A 34721 0 R/Subtype/Link/Rect[409 569 423 578]/Border[0 0 0]/H/N>> -endobj - -34564 0 obj -<>/P 5000 0 R/Type/Annot/A 34718 0 R/Subtype/Link/Rect[425 569 439 578]/Border[0 0 0]/H/N>> -endobj - -34565 0 obj -<>/P 5000 0 R/Type/Annot/A 34715 0 R/Subtype/Link/Rect[441 569 455 578]/Border[0 0 0]/H/N>> -endobj - -34566 0 obj -<>/P 5000 0 R/Type/Annot/A 34713 0 R/Subtype/Link/Rect[457 569 471 578]/Border[0 0 0]/H/N>> -endobj - -34567 0 obj -<>/P 5000 0 R/Type/Annot/A 34711 0 R/Subtype/Link/Rect[473 569 487 578]/Border[0 0 0]/H/N>> -endobj - -34568 0 obj -<>/P 5000 0 R/Type/Annot/A 34709 0 R/Subtype/Link/Rect[489 569 503 578]/Border[0 0 0]/H/N>> -endobj - -34569 0 obj -<>/P 5000 0 R/Type/Annot/A 34707 0 R/Subtype/Link/Rect[505 569 517 578]/Border[0 0 0]/H/N>> -endobj - -34570 0 obj -<>/P 5000 0 R/Type/Annot/A 34705 0 R/Subtype/Link/Rect[399 559 407 568]/Border[0 0 0]/H/N>> -endobj - -34571 0 obj -<>/P 5000 0 R/Type/Annot/A 35030 0 R/Subtype/Link/Rect[411 549 423 559]/Border[0 0 0]/H/N>> -endobj - -34572 0 obj -<>/P 5000 0 R/Type/Annot/A 35027 0 R/Subtype/Link/Rect[424 549 434 558]/Border[0 0 0]/H/N>> -endobj - -34573 0 obj -<>/P 5000 0 R/Type/Annot/A 35024 0 R/Subtype/Link/Rect[436 549 450 558]/Border[0 0 0]/H/N>> -endobj - -34574 0 obj -<>/P 5000 0 R/Type/Annot/A 35021 0 R/Subtype/Link/Rect[452 549 464 558]/Border[0 0 0]/H/N>> -endobj - -34575 0 obj -<>/P 5000 0 R/Type/Annot/A 34697 0 R/Subtype/Link/Rect[399 539 407 548]/Border[0 0 0]/H/N>> -endobj - -34576 0 obj -<>/P 5000 0 R/Type/Annot/A 35015 0 R/Subtype/Link/Rect[401 529 411 538]/Border[0 0 0]/H/N>> -endobj - -34577 0 obj -<>/P 5000 0 R/Type/Annot/A 35012 0 R/Subtype/Link/Rect[413 529 423 538]/Border[0 0 0]/H/N>> -endobj - -34578 0 obj -<>/P 5000 0 R/Type/Annot/A 35009 0 R/Subtype/Link/Rect[425 529 438 539]/Border[0 0 0]/H/N>> -endobj - -34579 0 obj -<>/P 5000 0 R/Type/Annot/A 35006 0 R/Subtype/Link/Rect[438 529 448 538]/Border[0 0 0]/H/N>> -endobj - -34580 0 obj -<>/P 5000 0 R/Type/Annot/A 35003 0 R/Subtype/Link/Rect[450 529 464 538]/Border[0 0 0]/H/N>> -endobj - -34581 0 obj -<>/P 5000 0 R/Type/Annot/A 34690 0 R/Subtype/Link/Rect[466 529 480 538]/Border[0 0 0]/H/N>> -endobj - -34582 0 obj -<>/P 5000 0 R/Type/Annot/A 34997 0 R/Subtype/Link/Rect[482 529 496 538]/Border[0 0 0]/H/N>> -endobj - -34583 0 obj -<>/P 5000 0 R/Type/Annot/A 34994 0 R/Subtype/Link/Rect[498 529 512 538]/Border[0 0 0]/H/N>> -endobj - -34584 0 obj -<>/P 5000 0 R/Type/Annot/A 34991 0 R/Subtype/Link/Rect[360 519 374 528]/Border[0 0 0]/H/N>> -endobj - -34585 0 obj -<>/P 5000 0 R/Type/Annot/A 34989 0 R/Subtype/Link/Rect[376 519 390 528]/Border[0 0 0]/H/N>> -endobj - -34586 0 obj -<>/P 5000 0 R/Type/Annot/A 34986 0 R/Subtype/Link/Rect[392 519 406 528]/Border[0 0 0]/H/N>> -endobj - -34587 0 obj -<>/P 5000 0 R/Type/Annot/A 34983 0 R/Subtype/Link/Rect[408 519 422 528]/Border[0 0 0]/H/N>> -endobj - -34588 0 obj -<>/P 5000 0 R/Type/Annot/A 34980 0 R/Subtype/Link/Rect[424 519 436 528]/Border[0 0 0]/H/N>> -endobj - -34589 0 obj -<>/P 5000 0 R/Type/Annot/A 34977 0 R/Subtype/Link/Rect[399 509 407 518]/Border[0 0 0]/H/N>> -endobj - -34590 0 obj -<>/P 5000 0 R/Type/Annot/A 34974 0 R/Subtype/Link/Rect[401 499 418 509]/Border[0 0 0]/H/N>> -endobj - -34591 0 obj -<>/P 5000 0 R/Type/Annot/A 34971 0 R/Subtype/Link/Rect[418 499 432 508]/Border[0 0 0]/H/N>> -endobj - -34592 0 obj -<>/P 5000 0 R/Type/Annot/A 34968 0 R/Subtype/Link/Rect[434 499 446 508]/Border[0 0 0]/H/N>> -endobj - -34593 0 obj -<>/P 5000 0 R/Type/Annot/A 34965 0 R/Subtype/Link/Rect[399 489 411 498]/Border[0 0 0]/H/N>> -endobj - -34594 0 obj -<>/P 5000 0 R/Type/Annot/A 34962 0 R/Subtype/Link/Rect[406 479 423 489]/Border[0 0 0]/H/N>> -endobj - -34595 0 obj -<>/P 5000 0 R/Type/Annot/A 34960 0 R/Subtype/Link/Rect[423 479 437 488]/Border[0 0 0]/H/N>> -endobj - -34596 0 obj -<>/P 5000 0 R/Type/Annot/A 34957 0 R/Subtype/Link/Rect[439 479 451 488]/Border[0 0 0]/H/N>> -endobj - -34597 0 obj -<>/P 5000 0 R/Type/Annot/A 34954 0 R/Subtype/Link/Rect[399 469 411 478]/Border[0 0 0]/H/N>> -endobj - -34598 0 obj -<>/P 5000 0 R/Type/Annot/A 34951 0 R/Subtype/Link/Rect[396 459 413 469]/Border[0 0 0]/H/N>> -endobj - -34599 0 obj -<>/P 5000 0 R/Type/Annot/A 34948 0 R/Subtype/Link/Rect[414 459 426 468]/Border[0 0 0]/H/N>> -endobj - -34600 0 obj -<>/P 5000 0 R/Type/Annot/A 34945 0 R/Subtype/Link/Rect[399 449 411 458]/Border[0 0 0]/H/N>> -endobj - -34601 0 obj -<>/P 5000 0 R/Type/Annot/A 34942 0 R/Subtype/Link/Rect[398 439 412 448]/Border[0 0 0]/H/N>> -endobj - -34602 0 obj -<>/P 5000 0 R/Type/Annot/A 34939 0 R/Subtype/Link/Rect[414 439 426 448]/Border[0 0 0]/H/N>> -endobj - -34603 0 obj -<>/P 5000 0 R/Type/Annot/A 34936 0 R/Subtype/Link/Rect[420 429 434 438]/Border[0 0 0]/H/N>> -endobj - -34604 0 obj -<>/P 5000 0 R/Type/Annot/A 34932 0 R/Subtype/Link/Rect[436 429 450 438]/Border[0 0 0]/H/N>> -endobj - -34605 0 obj -<>/P 5000 0 R/Type/Annot/A 34929 0 R/Subtype/Link/Rect[452 429 466 438]/Border[0 0 0]/H/N>> -endobj - -34606 0 obj -<>/P 5000 0 R/Type/Annot/A 34926 0 R/Subtype/Link/Rect[468 429 485 439]/Border[0 0 0]/H/N>> -endobj - -34607 0 obj -<>/P 5000 0 R/Type/Annot/A 34703 0 R/Subtype/Link/Rect[485 429 499 438]/Border[0 0 0]/H/N>> -endobj - -34608 0 obj -<>/P 5000 0 R/Type/Annot/A 34921 0 R/Subtype/Link/Rect[501 429 513 438]/Border[0 0 0]/H/N>> -endobj - -34609 0 obj -<>/P 5000 0 R/Type/Annot/A 34916 0 R/Subtype/Link/Rect[399 419 410 428]/Border[0 0 0]/H/N>> -endobj - -34610 0 obj -<>/P 5000 0 R/Type/Annot/A 34913 0 R/Subtype/Link/Rect[435 409 451 419]/Border[0 0 0]/H/N>> -endobj - -34611 0 obj -<>/P 5000 0 R/Type/Annot/A 34910 0 R/Subtype/Link/Rect[452 409 464 418]/Border[0 0 0]/H/N>> -endobj - -34612 0 obj -<>/P 5000 0 R/Type/Annot/A 34907 0 R/Subtype/Link/Rect[399 399 411 408]/Border[0 0 0]/H/N>> -endobj - -34613 0 obj -<>/P 5000 0 R/Type/Annot/A 34904 0 R/Subtype/Link/Rect[392 389 404 398]/Border[0 0 0]/H/N>> -endobj - -34614 0 obj -<>/P 5000 0 R/Type/Annot/A 34901 0 R/Subtype/Link/Rect[392 379 406 388]/Border[0 0 0]/H/N>> -endobj - -34615 0 obj -<>/P 5000 0 R/Type/Annot/A 34897 0 R/Subtype/Link/Rect[408 379 424 389]/Border[0 0 0]/H/N>> -endobj - -34616 0 obj -<>/P 5000 0 R/Type/Annot/A 34894 0 R/Subtype/Link/Rect[425 379 439 388]/Border[0 0 0]/H/N>> -endobj - -34617 0 obj -<>/P 5000 0 R/Type/Annot/A 34891 0 R/Subtype/Link/Rect[441 379 453 388]/Border[0 0 0]/H/N>> -endobj - -34618 0 obj -<>/P 5000 0 R/Type/Annot/A 34888 0 R/Subtype/Link/Rect[405 369 413 378]/Border[0 0 0]/H/N>> -endobj - -34619 0 obj -<>/P 5000 0 R/Type/Annot/A 34885 0 R/Subtype/Link/Rect[405 359 417 368]/Border[0 0 0]/H/N>> -endobj - -34620 0 obj -<>/P 5000 0 R/Type/Annot/A 34882 0 R/Subtype/Link/Rect[379 349 391 358]/Border[0 0 0]/H/N>> -endobj - -34621 0 obj -<>/P 5000 0 R/Type/Annot/A 34878 0 R/Subtype/Link/Rect[378 339 390 348]/Border[0 0 0]/H/N>> -endobj - -34622 0 obj -<>/P 5000 0 R/Type/Annot/A 34875 0 R/Subtype/Link/Rect[414 329 431 339]/Border[0 0 0]/H/N>> -endobj - -34623 0 obj -<>/P 5000 0 R/Type/Annot/A 34872 0 R/Subtype/Link/Rect[431 329 443 338]/Border[0 0 0]/H/N>> -endobj - -34624 0 obj -<>/P 5000 0 R/Type/Annot/A 34869 0 R/Subtype/Link/Rect[449 319 461 329]/Border[0 0 0]/H/N>> -endobj - -34625 0 obj -<>/P 5000 0 R/Type/Annot/A 34866 0 R/Subtype/Link/Rect[462 319 470 328]/Border[0 0 0]/H/N>> -endobj - -34626 0 obj -<>/P 5000 0 R/Type/Annot/A 34863 0 R/Subtype/Link/Rect[411 309 428 319]/Border[0 0 0]/H/N>> -endobj - -34627 0 obj -<>/P 5000 0 R/Type/Annot/A 34861 0 R/Subtype/Link/Rect[428 309 442 318]/Border[0 0 0]/H/N>> -endobj - -34628 0 obj -<>/P 5000 0 R/Type/Annot/A 34858 0 R/Subtype/Link/Rect[444 309 461 319]/Border[0 0 0]/H/N>> -endobj - -34629 0 obj -<>/P 5000 0 R/Type/Annot/A 34855 0 R/Subtype/Link/Rect[462 309 476 318]/Border[0 0 0]/H/N>> -endobj - -34630 0 obj -<>/P 5000 0 R/Type/Annot/A 34852 0 R/Subtype/Link/Rect[478 309 490 318]/Border[0 0 0]/H/N>> -endobj - -34631 0 obj -<>/P 5000 0 R/Type/Annot/A 34849 0 R/Subtype/Link/Rect[430 299 447 309]/Border[0 0 0]/H/N>> -endobj - -34632 0 obj -<>/P 5000 0 R/Type/Annot/A 34846 0 R/Subtype/Link/Rect[447 299 459 308]/Border[0 0 0]/H/N>> -endobj - -34633 0 obj -<>/P 5000 0 R/Type/Annot/A 34843 0 R/Subtype/Link/Rect[399 289 411 298]/Border[0 0 0]/H/N>> -endobj - -34634 0 obj -<>/P 5000 0 R/Type/Annot/A 34841 0 R/Subtype/Link/Rect[411 279 425 288]/Border[0 0 0]/H/N>> -endobj - -34635 0 obj -<>/P 5000 0 R/Type/Annot/A 34838 0 R/Subtype/Link/Rect[427 279 439 288]/Border[0 0 0]/H/N>> -endobj - -34636 0 obj -<>/P 5000 0 R/Type/Annot/A 34835 0 R/Subtype/Link/Rect[416 269 432 279]/Border[0 0 0]/H/N>> -endobj - -34637 0 obj -<>/P 5000 0 R/Type/Annot/A 34833 0 R/Subtype/Link/Rect[433 269 447 278]/Border[0 0 0]/H/N>> -endobj - -34638 0 obj -<>/P 5000 0 R/Type/Annot/A 34830 0 R/Subtype/Link/Rect[449 269 463 278]/Border[0 0 0]/H/N>> -endobj - -34639 0 obj -<>/P 5000 0 R/Type/Annot/A 34934 0 R/Subtype/Link/Rect[465 269 479 278]/Border[0 0 0]/H/N>> -endobj - -34640 0 obj -<>/P 5000 0 R/Type/Annot/A 34824 0 R/Subtype/Link/Rect[481 269 493 278]/Border[0 0 0]/H/N>> -endobj - -34641 0 obj -<>/P 5000 0 R/Type/Annot/A 34821 0 R/Subtype/Link/Rect[399 259 411 268]/Border[0 0 0]/H/N>> -endobj - -34642 0 obj -<>/P 5000 0 R/Type/Annot/A 34818 0 R/Subtype/Link/Rect[401 249 413 258]/Border[0 0 0]/H/N>> -endobj - -34643 0 obj -<>/P 5000 0 R/Type/Annot/A 34814 0 R/Subtype/Link/Rect[399 239 411 248]/Border[0 0 0]/H/N>> -endobj - -34644 0 obj -<>/P 5000 0 R/Type/Annot/A 34919 0 R/Subtype/Link/Rect[416 229 428 238]/Border[0 0 0]/H/N>> -endobj - -34645 0 obj -<>/P 5000 0 R/Type/Annot/A 34808 0 R/Subtype/Link/Rect[406 219 420 228]/Border[0 0 0]/H/N>> -endobj - -34646 0 obj -<>/P 5000 0 R/Type/Annot/A 34804 0 R/Subtype/Link/Rect[422 219 439 229]/Border[0 0 0]/H/N>> -endobj - -34647 0 obj -<>/P 5000 0 R/Type/Annot/A 34799 0 R/Subtype/Link/Rect[439 219 453 228]/Border[0 0 0]/H/N>> -endobj - -34648 0 obj -<>/P 5000 0 R/Type/Annot/A 34795 0 R/Subtype/Link/Rect[455 219 469 228]/Border[0 0 0]/H/N>> -endobj - -34649 0 obj -<>/P 5000 0 R/Type/Annot/A 34791 0 R/Subtype/Link/Rect[471 219 485 228]/Border[0 0 0]/H/N>> -endobj - -34650 0 obj -<>/P 5000 0 R/Type/Annot/A 34787 0 R/Subtype/Link/Rect[487 219 499 228]/Border[0 0 0]/H/N>> -endobj - -34651 0 obj -<>/P 5000 0 R/Type/Annot/A 34783 0 R/Subtype/Link/Rect[399 209 411 218]/Border[0 0 0]/H/N>> -endobj - -34652 0 obj -<>/P 5000 0 R/Type/Annot/A 34779 0 R/Subtype/Link/Rect[411 199 428 209]/Border[0 0 0]/H/N>> -endobj - -34653 0 obj -<>/P 5000 0 R/Type/Annot/A 34775 0 R/Subtype/Link/Rect[428 199 442 208]/Border[0 0 0]/H/N>> -endobj - -34654 0 obj -<>/P 5000 0 R/Type/Annot/A 34772 0 R/Subtype/Link/Rect[444 199 461 209]/Border[0 0 0]/H/N>> -endobj - -34655 0 obj -<>/P 5000 0 R/Type/Annot/A 34768 0 R/Subtype/Link/Rect[462 199 476 208]/Border[0 0 0]/H/N>> -endobj - -34656 0 obj -<>/P 5000 0 R/Type/Annot/A 34764 0 R/Subtype/Link/Rect[478 199 492 208]/Border[0 0 0]/H/N>> -endobj - -34657 0 obj -<>/P 5000 0 R/Type/Annot/A 34760 0 R/Subtype/Link/Rect[494 199 508 208]/Border[0 0 0]/H/N>> -endobj - -34658 0 obj -<>/P 5000 0 R/Type/Annot/A 34755 0 R/Subtype/Link/Rect[360 189 372 198]/Border[0 0 0]/H/N>> -endobj - -34659 0 obj -<>/P 5000 0 R/Type/Annot/A 34752 0 R/Subtype/Link/Rect[411 179 423 188]/Border[0 0 0]/H/N>> -endobj - -34660 0 obj -<>/P 5000 0 R/Type/Annot/A 34747 0 R/Subtype/Link/Rect[166 378 177 387]/Border[0 0 0]/H/N>> -endobj - -34661 0 obj -<>/P 5000 0 R/Type/Annot/A 34742 0 R/Subtype/Link/Rect[181 378 196 387]/Border[0 0 0]/H/N>> -endobj - -34662 0 obj -<>/P 5000 0 R/Type/Annot/A 34739 0 R/Subtype/Link/Rect[198 378 213 387]/Border[0 0 0]/H/N>> -endobj - -34663 0 obj -<>/P 5000 0 R/Type/Annot/A 34734 0 R/Subtype/Link/Rect[217 378 236 387]/Border[0 0 0]/H/N>> -endobj - -34664 0 obj -<> -endobj - -34665 0 obj -<> -endobj - -34666 0 obj -<> -endobj - -34667 0 obj -<> -endobj - -34668 0 obj -<> -endobj - -34669 0 obj -<> -endobj - -34670 0 obj -<> -endobj - -34671 0 obj -<> -endobj - -34672 0 obj -<> -endobj - -34673 0 obj -<> -endobj - -34674 0 obj -<> -endobj - -34675 0 obj -<> -endobj - -34676 0 obj -<> -endobj - -34677 0 obj -<> -endobj - -34678 0 obj -<> -endobj - -34679 0 obj -<> -endobj - -34680 0 obj -<> -endobj - -34681 0 obj -<> -endobj - -34682 0 obj -<> -endobj - -34683 0 obj -<> -endobj - -34684 0 obj -<> -endobj - -34685 0 obj -<> -endobj - -34686 0 obj -<> -endobj - -34687 0 obj -<> -endobj - -34688 0 obj -<> -endobj - -34689 0 obj -<> -endobj - -34690 0 obj -<> -endobj - -34691 0 obj -<> -endobj - -34692 0 obj -<> -endobj - -34693 0 obj -<> -endobj - -34694 0 obj -<> -endobj - -34695 0 obj -<> -endobj - -34696 0 obj -<> -endobj - -34697 0 obj -<> -endobj - -34698 0 obj -<> -endobj - -34699 0 obj -<> -endobj - -34700 0 obj -<> -endobj - -34701 0 obj -<> -endobj - -34702 0 obj -<> -endobj - -34703 0 obj -<> -endobj - -34704 0 obj -<> -endobj - -34705 0 obj -<> -endobj - -34706 0 obj -<> -endobj - -34707 0 obj -<> -endobj - -34708 0 obj -<> -endobj - -34709 0 obj -<> -endobj - -34710 0 obj -<> -endobj - -34711 0 obj -<> -endobj - -34712 0 obj -<> -endobj - -34713 0 obj -<> -endobj - -34714 0 obj -<> -endobj - -34715 0 obj -<> -endobj - -34716 0 obj -<> -endobj - -34717 0 obj -<> -endobj - -34718 0 obj -<> -endobj - -34719 0 obj -<> -endobj - -34720 0 obj -<> -endobj - -34721 0 obj -<> -endobj - -34722 0 obj -<> -endobj - -34723 0 obj -<> -endobj - -34724 0 obj -<> -endobj - -34725 0 obj -<> -endobj - -34726 0 obj -<> -endobj - -34727 0 obj -<> -endobj - -34728 0 obj -<> -endobj - -34729 0 obj -<> -endobj - -34730 0 obj -<> -endobj - -34731 0 obj -<> -endobj - -34732 0 obj -<> -endobj - -34733 0 obj -<> -endobj - -34734 0 obj -<> -endobj - -34735 0 obj -<> -endobj - -34736 0 obj -<> -endobj - -34737 0 obj -<> -endobj - -34738 0 obj -<> -endobj - -34739 0 obj -<> -endobj - -34740 0 obj -<> -endobj - -34741 0 obj -<> -endobj - -34742 0 obj -<> -endobj - -34743 0 obj -<> -endobj - -34744 0 obj -<> -endobj - -34745 0 obj -<> -endobj - -34746 0 obj -<> -endobj - -34747 0 obj -<> -endobj - -34748 0 obj -<> -endobj - -34749 0 obj -<> -endobj - -34750 0 obj -<> -endobj - -34751 0 obj -<> -endobj - -34752 0 obj -<> -endobj - -34753 0 obj -<> -endobj - -34754 0 obj -<> -endobj - -34755 0 obj -<> -endobj - -34756 0 obj -<> -endobj - -34757 0 obj -<> -endobj - -34758 0 obj -<> -endobj - -34759 0 obj -<> -endobj - -34760 0 obj -<> -endobj - -34761 0 obj -<> -endobj - -34762 0 obj -<> -endobj - -34763 0 obj -<> -endobj - -34764 0 obj -<> -endobj - -34765 0 obj -<> -endobj - -34766 0 obj -<> -endobj - -34767 0 obj -<> -endobj - -34768 0 obj -<> -endobj - -34769 0 obj -<> -endobj - -34770 0 obj -<> -endobj - -34771 0 obj -<> -endobj - -34772 0 obj -<> -endobj - -34773 0 obj -<> -endobj - -34774 0 obj -<> -endobj - -34775 0 obj -<> -endobj - -34776 0 obj -<> -endobj - -34777 0 obj -<> -endobj - -34778 0 obj -<> -endobj - -34779 0 obj -<> -endobj - -34780 0 obj -<> -endobj - -34781 0 obj -<> -endobj - -34782 0 obj -<> -endobj - -34783 0 obj -<> -endobj - -34784 0 obj -<> -endobj - -34785 0 obj -<> -endobj - -34786 0 obj -<> -endobj - -34787 0 obj -<> -endobj - -34788 0 obj -<> -endobj - -34789 0 obj -<> -endobj - -34790 0 obj -<> -endobj - -34791 0 obj -<> -endobj - -34792 0 obj -<> -endobj - -34793 0 obj -<> -endobj - -34794 0 obj -<> -endobj - -34795 0 obj -<> -endobj - -34796 0 obj -<> -endobj - -34797 0 obj -<> -endobj - -34798 0 obj -<> -endobj - -34799 0 obj -<> -endobj - -34800 0 obj -<> -endobj - -34801 0 obj -<> -endobj - -34802 0 obj -<> -endobj - -34803 0 obj -<> -endobj - -34804 0 obj -<> -endobj - -34805 0 obj -<> -endobj - -34806 0 obj -<> -endobj - -34807 0 obj -<> -endobj - -34808 0 obj -<> -endobj - -34809 0 obj -<> -endobj - -34810 0 obj -<> -endobj - -34811 0 obj -<> -endobj - -34812 0 obj -<> -endobj - -34813 0 obj -<> -endobj - -34814 0 obj -<> -endobj - -34815 0 obj -<> -endobj - -34816 0 obj -<> -endobj - -34817 0 obj -<> -endobj - -34818 0 obj -<> -endobj - -34819 0 obj -<> -endobj - -34820 0 obj -<> -endobj - -34821 0 obj -<> -endobj - -34822 0 obj -<> -endobj - -34823 0 obj -<> -endobj - -34824 0 obj -<> -endobj - -34825 0 obj -<> -endobj - -34826 0 obj -<> -endobj - -34827 0 obj -<> -endobj - -34828 0 obj -<> -endobj - -34829 0 obj -<> -endobj - -34830 0 obj -<> -endobj - -34831 0 obj -<> -endobj - -34832 0 obj -<> -endobj - -34833 0 obj -<> -endobj - -34834 0 obj -<> -endobj - -34835 0 obj -<> -endobj - -34836 0 obj -<> -endobj - -34837 0 obj -<> -endobj - -34838 0 obj -<> -endobj - -34839 0 obj -<> -endobj - -34840 0 obj -<> -endobj - -34841 0 obj -<> -endobj - -34842 0 obj -<> -endobj - -34843 0 obj -<> -endobj - -34844 0 obj -<> -endobj - -34845 0 obj -<> -endobj - -34846 0 obj -<> -endobj - -34847 0 obj -<> -endobj - -34848 0 obj -<> -endobj - -34849 0 obj -<> -endobj - -34850 0 obj -<> -endobj - -34851 0 obj -<> -endobj - -34852 0 obj -<> -endobj - -34853 0 obj -<> -endobj - -34854 0 obj -<> -endobj - -34855 0 obj -<> -endobj - -34856 0 obj -<> -endobj - -34857 0 obj -<> -endobj - -34858 0 obj -<> -endobj - -34859 0 obj -<> -endobj - -34860 0 obj -<> -endobj - -34861 0 obj -<> -endobj - -34862 0 obj -<> -endobj - -34863 0 obj -<> -endobj - -34864 0 obj -<> -endobj - -34865 0 obj -<> -endobj - -34866 0 obj -<> -endobj - -34867 0 obj -<> -endobj - -34868 0 obj -<> -endobj - -34869 0 obj -<> -endobj - -34870 0 obj -<> -endobj - -34871 0 obj -<> -endobj - -34872 0 obj -<> -endobj - -34873 0 obj -<> -endobj - -34874 0 obj -<> -endobj - -34875 0 obj -<> -endobj - -34876 0 obj -<> -endobj - -34877 0 obj -<> -endobj - -34878 0 obj -<> -endobj - -34879 0 obj -<> -endobj - -34880 0 obj -<> -endobj - -34881 0 obj -<> -endobj - -34882 0 obj -<> -endobj - -34883 0 obj -<> -endobj - -34884 0 obj -<> -endobj - -34885 0 obj -<> -endobj - -34886 0 obj -<> -endobj - -34887 0 obj -<> -endobj - -34888 0 obj -<> -endobj - -34889 0 obj -<> -endobj - -34890 0 obj -<> -endobj - -34891 0 obj -<> -endobj - -34892 0 obj -<> -endobj - -34893 0 obj -<> -endobj - -34894 0 obj -<> -endobj - -34895 0 obj -<> -endobj - -34896 0 obj -<> -endobj - -34897 0 obj -<> -endobj - -34898 0 obj -<> -endobj - -34899 0 obj -<> -endobj - -34900 0 obj -<> -endobj - -34901 0 obj -<> -endobj - -34902 0 obj -<> -endobj - -34903 0 obj -<> -endobj - -34904 0 obj -<> -endobj - -34905 0 obj -<> -endobj - -34906 0 obj -<> -endobj - -34907 0 obj -<> -endobj - -34908 0 obj -<> -endobj - -34909 0 obj -<> -endobj - -34910 0 obj -<> -endobj - -34911 0 obj -<> -endobj - -34912 0 obj -<> -endobj - -34913 0 obj -<> -endobj - -34914 0 obj -<> -endobj - -34915 0 obj -<> -endobj - -34916 0 obj -<> -endobj - -34917 0 obj -<> -endobj - -34918 0 obj -<> -endobj - -34919 0 obj -<> -endobj - -34920 0 obj -<> -endobj - -34921 0 obj -<> -endobj - -34922 0 obj -<> -endobj - -34923 0 obj -<> -endobj - -34924 0 obj -<> -endobj - -34925 0 obj -<> -endobj - -34926 0 obj -<> -endobj - -34927 0 obj -<> -endobj - -34928 0 obj -<> -endobj - -34929 0 obj -<> -endobj - -34930 0 obj -<> -endobj - -34931 0 obj -<> -endobj - -34932 0 obj -<> -endobj - -34933 0 obj -<> -endobj - -34934 0 obj -<> -endobj - -34935 0 obj -<> -endobj - -34936 0 obj -<> -endobj - -34937 0 obj -<> -endobj - -34938 0 obj -<> -endobj - -34939 0 obj -<> -endobj - -34940 0 obj -<> -endobj - -34941 0 obj -<> -endobj - -34942 0 obj -<> -endobj - -34943 0 obj -<> -endobj - -34944 0 obj -<> -endobj - -34945 0 obj -<> -endobj - -34946 0 obj -<> -endobj - -34947 0 obj -<> -endobj - -34948 0 obj -<> -endobj - -34949 0 obj -<> -endobj - -34950 0 obj -<> -endobj - -34951 0 obj -<> -endobj - -34952 0 obj -<> -endobj - -34953 0 obj -<> -endobj - -34954 0 obj -<> -endobj - -34955 0 obj -<> -endobj - -34956 0 obj -<> -endobj - -34957 0 obj -<> -endobj - -34958 0 obj -<> -endobj - -34959 0 obj -<> -endobj - -34960 0 obj -<> -endobj - -34961 0 obj -<> -endobj - -34962 0 obj -<> -endobj - -34963 0 obj -<> -endobj - -34964 0 obj -<> -endobj - -34965 0 obj -<> -endobj - -34966 0 obj -<> -endobj - -34967 0 obj -<> -endobj - -34968 0 obj -<> -endobj - -34969 0 obj -<> -endobj - -34970 0 obj -<> -endobj - -34971 0 obj -<> -endobj - -34972 0 obj -<> -endobj - -34973 0 obj -<> -endobj - -34974 0 obj -<> -endobj - -34975 0 obj -<> -endobj - -34976 0 obj -<> -endobj - -34977 0 obj -<> -endobj - -34978 0 obj -<> -endobj - -34979 0 obj -<> -endobj - -34980 0 obj -<> -endobj - -34981 0 obj -<> -endobj - -34982 0 obj -<> -endobj - -34983 0 obj -<> -endobj - -34984 0 obj -<> -endobj - -34985 0 obj -<> -endobj - -34986 0 obj -<> -endobj - -34987 0 obj -<> -endobj - -34988 0 obj -<> -endobj - -34989 0 obj -<> -endobj - -34990 0 obj -<> -endobj - -34991 0 obj -<> -endobj - -34992 0 obj -<> -endobj - -34993 0 obj -<> -endobj - -34994 0 obj -<> -endobj - -34995 0 obj -<> -endobj - -34996 0 obj -<> -endobj - -34997 0 obj -<> -endobj - -34998 0 obj -<> -endobj - -34999 0 obj -<> -endobj - -35000 0 obj -<> -endobj - -35001 0 obj -<> -endobj - -35002 0 obj -<> -endobj - -35003 0 obj -<> -endobj - -35004 0 obj -<> -endobj - -35005 0 obj -<> -endobj - -35006 0 obj -<> -endobj - -35007 0 obj -<> -endobj - -35008 0 obj -<> -endobj - -35009 0 obj -<> -endobj - -35010 0 obj -<> -endobj - -35011 0 obj -<> -endobj - -35012 0 obj -<> -endobj - -35013 0 obj -<> -endobj - -35014 0 obj -<> -endobj - -35015 0 obj -<> -endobj - -35016 0 obj -<> -endobj - -35017 0 obj -<> -endobj - -35018 0 obj -<> -endobj - -35019 0 obj -<> -endobj - -35020 0 obj -<> -endobj - -35021 0 obj -<> -endobj - -35022 0 obj -<> -endobj - -35023 0 obj -<> -endobj - -35024 0 obj -<> -endobj - -35025 0 obj -<> -endobj - -35026 0 obj -<> -endobj - -35027 0 obj -<> -endobj - -35028 0 obj -<> -endobj - -35029 0 obj -<> -endobj - -35030 0 obj -<> -endobj - -35031 0 obj -<> -endobj - -35032 0 obj -<> -endobj - -35033 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -35034 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -35035 0 obj -<> -endobj - -35036 0 obj -<> -endobj - -35037 0 obj -<> -endobj - -35038 0 obj -<> -endobj - -35039 0 obj -<> -endobj - -35040 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -35041 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -35042 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -35043 0 obj -<> -stream -HW]ۺ}ׯE_O Iq`E#k%ZrPdm !}rH ÛcK>śgϞ|'rK_6ZE#'nnnV݋zWkUIUvN&{n$,7Eœ`,هŝ+۪>'B<|; D `<]]'+n}UnJ/E]J,Z3N/j1;Ж{י<0|ȚdVTh3[\.:ؔc#g2!Řg8OYYa9O^$^$%^&%^&%^&^%^%5^'5^'5^'sD}y@Q_$ D}7z7zzij1m36<+UcB\c1JƘg! -ĵ1Yĵqm qmy>q@\cO\+Ƙg! -ĵ1Yĵqm qmy>q@\cO\+>kc̳R1,ĵ1YT} qmy>qD\cO\+Ƙg!Jĵ1Yĵqm qmy>qD\cO\+Ƙg!Jĵ1Yĵqm36<+UcB\c1JƘg!*ĵ1Yĵ -qm qmy>qB\cO\Ƙg!*ĵ1Yĵ -qm qmy>qB\cO\>ӈkc̳R1,ĵ1YTZEt}|,'I8Yn2:.,I[g]-tL0Z#:ǁN[ -%FNEAR| |XܟВ'XTMhW[n[օΡ*wM*W]u?>.NT(Se*5 bfp@!\H%OlvXuVr\]GQ0`ciÇ h~4je7JΓ U.د[O -;wڅn4ZCZIXU -xPCJ2ԘbuQ#Gf6 f ˩d,?j@h[ч;㔾'[L~vb}b6ʭ-~@wθо: [ƽ>9J0*ZP S7һwsVAspxڃ8EsUA`bW]P~T\ݦ>9LHK(Yw+Q #5#&DUsTW>@֕_CjIHq puFi▙b"ڞ5!๦Γq!Ⅲg!>ufgYZ5.Y] !w >Ew7^[&\W:p#!`eϫup&,6ӯ8Oi`= <ܴp>tGO#|QSbQa6(0$$YF*{?;?&VAȇv';>AWy\PzwWV}M߻ա!v_]<*)&~tGYQ0քImqY""n"s{޻۱Uc>RSc2}XlN6`م.uez`szCBY[23A WRH$TNs#}t'x!!R sB!wBqzNR udH*lEC/ e9?K -q(gV}uz օ|+\ PhAw pq}K*W}q9o3&S߯nPG"7VP(v-2`FrK2Qxbv!~=#FóΟ ̥e}m8H!P_p#m4΅WKHm rIh^hHow]3SVMXt Rk -_y˙cߟQ˫y5aʟP.0r>,O{xktC]}uWv6=eԒrz\>2j '߾yyrJjE/JX:k\8\Gb:-f1ʤ^B\Ir*~B3]<8f#[x ݫx[]$Th{Άؿb!﵀ -j 'yo-FNGy-J鬓X 5=Bs( xu%+E>zDo5C=}?ծVZ]5`;>r&9\6PIe{Wێ6}"/2֊T6X``M3A Y͞n߶[>7eO*Ȫ:u/ܸy19ad:wawv! l^{&Py7J=UB瞎HRk|{Iʗ~>N7:Ntnn};TBb%+`= =O`V9q07nϿb%Y1 oZԸA.Zw8e0 -z( DXIwX.,h(#`=9é$W `ܿJvx2ad* -*(ЩC5s'=v$fE$$&.g9H|etĜ9gtS:=`\DӕOII=ԩ -FcU9SxJJP3P-b}TA'\'Եe[ỉʘ5vl/k|wrISǿkc - #xТ mo*Ρ^O,V[}rXn%s)llY[J^1'on"q=*MU#W% _y1^d.{o!nw^Fʰ,_Hm/o~1ϑ $IZ[Z ǽ "D)O6#c!y)"H]&jl%~;1"ȯQEe( + -k3>=5^&;iliL;'o%߼F\ltO}k ݃գj{ԎbqOx9T=}q4<=*?$Mm[df*ۤqZŎvLx,-KP2>L32~99ǰG97reLP4̀Fh.-DIdgM㋥s |p޼} |C/Ue$5"Oq{ٓ0w/4ֻxp,0ԍVpd(DqXt`4:+UUX(& -s2D8?Zh ȣH۸&n}sd\Ļ/C03%nizEQe\<r -b+;_>)eS`~ҿ2C]XohXs9 ۆH5\5¼N!G=twS h.,ÎsLrvF^ިߦb;H93PhoY8m5}/H3wlH">X]".6"=B!yFD9_mWSՆ5f&,L񲏮:w.{+# Dd/1#+!n[_٢klAxBӵԗmg?\`fge:#ͤWet|86ithUgw"N 6kt}{u?~M`gendstream -endobj - -35044 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -35045 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -35046 0 obj -<> -endobj - -35047 0 obj -<> -endobj - -35048 0 obj -<> -endobj - -35049 0 obj -<> -endobj - -35050 0 obj -<> -endobj - -35051 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -35052 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -35053 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -35054 0 obj -<> -stream -HWmo8_}Q #I^Qfvbˉv-9kf Eʦqz(RQg8yWxqoHF^|uG$e\U -sR*Nvu%KiHrTC~lwM[fIvMr5'w}j\.WAY A29Id&)S&0ePujgUd$R,z;f&@.=}Y;EIy=awGPa\DPN /I)W0oVgbf$׉V!F`X&"Ph38\hc1*BP!wb Pa#a#a/"a/"a/"a/#a/# -a" -a" -a"9>T> -Qmh3(}Z6>R@T6>R@T -aV mBT -aV mT+Ն6@! mT+Ն6BGjC[HD͠b PjCACACՆ6BGjCA!#JD PjCA!#JD͠j%(D͠j%fPHQmhfPHQmh3(}Z6BT *f6T>T^S$6yH. NYmhNrURAm閛&/al˳o!Zr7z_.W5/"CB\TfLg`T˼$90c=w]Yw3Vu7B䛚H(8.۶Y]^IIK>m2 JG0n*uny!:ڎG#jG}pl\Lb=WP~svUZmU';%|}\p(`۱Wjҷ.P;Gk߆!껦(v=O&ktdمdVmn ⬤9b6(7x>9s:D"4Ӛ­̓P8aAv<-3iZfkv}db3Cˊ4agx%3@#zEaZ Hcf ˨10 -8S<4/i)vr]*ߣٔlׂI))+8Br[c` }N[ \ZjF`l^Ϙ1vXTٶB}azR+a霏_K@!c6bqs(3]0oxݮ]wr-rHΣصu_/<~̉PROu:~?Oρ#f8(cՄt%WK("Ӆz\կo3b!"szXEfOն;| 5 vol/7KPyڴ\u~ =s 7~呂oMjFmV,}JQ垇O퀘Fn{|Hˍ*|aXfhFgrW=(7lfݾu3بnS~~YTf=.ݪ޹8@ӯocR7.oO-WTw5(w6#eI2HljŞ\OjE:qێ?LL2VqS2mFvNOv3i=rM~Sۉ ?`0L[4}<]tUfOaЂɽ]q.\c1o{'hq?l'!@ -֜s2Ԋ͸ |tnpB0 ;UcH#L4>ڦb[ 8gy1s.o8]i.3Q+tm|sVz~)vYfc>)gʼs(?֫m" -pK.T`mWB&qZ '^^|3N@Ɏs̹߉beP4 -(bk\![_r0daס^uVԯm-!$e+*H4IK1`h -" -kL xi0E -l@ǥ2 E=nvT6C?k)~n=.)бA)с¹c3IH(3%B,F|޼˜!A]Qfg"=e_P0 -Vd+82 -!kEWW$oUo]94~oOuyP,̿LIiF\0 ̐ - Ze̦(BH-n]ؒ\ rжo؋H:eጷ=6/{]*,uU{Fale—@ᬖs CN1 86+2"l%E*"eSWβZ{˔ ;ŻfNB%N`TLTAhϏwI!^G\KR4lV\e۝*@|0_c{CER0 -ApD+ -3F'ۃ\#HS HkHE}H*¨-pxaX5"p{s_:GS(*]}I5d`ɩ9:@?;EPKx̓mO*6I R}?9G%j/endstream -endobj - -35055 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -35056 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -35057 0 obj -<> -endobj - -35058 0 obj -<> -endobj - -35059 0 obj -<> -endobj - -35060 0 obj -<> -endobj - -35061 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -35062 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -35063 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -35064 0 obj -<> -stream -H[oH+` Mv-3嵙$0dDEdz뷋D'?5IUwώN޿?<>rrSeց -FZőqCS-O9*'u+?*eU,**WZݭk|:RL{(Ngc3CCqYLwjSQ߷?N~*]TŲΫmn7u/~`M7is_c\3Y}ᩙrR:^B 'ܹrҐ{RI0q\r\.ߗ.+.k֥kAoAo}APЇ>!}#AHǀ>1} cAD'>)O} -Eip4ZKsͺ@r\k\.е\#]Ar\^t]5]5rzѵt-Ejе\.е\#]Ar\^t]5]5rzѵt-Ejе\[8t-%f]kF.I5rIzYZ Ћ5kF.@/րuZkk ZYZ Ћ5kF.@/րuZkk Z-t-%f]kF.I5rIzYZ Ћ @r\^tmkkkе\#]ut-Ekf]kF.@/6]5rzѵZ-t-%f]kF.I5rIM4Pqp3g?Uv\/**kש(JUp[? FgcsTOZ=짽Z/֭k߮*{ֳM|2+ݘh$s ԓri' -coa J31\)pd"+Y -AV(BdE"+YȊAV,bd%"+YJAV*R,,KfqFV,d"K,-4uAsY.kY5{u%@s\ KԽuϵnD{ dנ C2F.5@{k4,Q=hY {8DP\A d7Fuo@sF0%ހ` KԽu5@{k4\,Kfq&%>u5@=h YP\d@sF%>u5u@=hYP\!d@s%>u5Od%Fu~< nBF)ؐ vj7zH,rߪӋOFv[ٳؼb=7~#{7n b|;ttܰԃVLYPPu9-&|jzyaMw]g6,gMCU,r=ot8Y3U.#"gmJt$qzdf3lo^oF߲fn=虮IRr|Z+wWv~,]{klYn۔v[k%WAvzzGͯi~۳W],ao#Ktzaj|@u-/P~z[(/p/OO/7]Bk$ف%I5}9=l[T $La4v/P.%(ķgv_ !lI#&ˬMo^75KnoSA}[7XAgv]jh݆R^tV 8KIǔO{,Uդ*eeG'O-6s4heizo һ0jÃ˓|zT,M><|Y*1_՘mgo6H]C_]&l._mY}@,&@cir>>}$ɣ}XtRЊ]cGRzlqq.N.8tޠeY7deUoL%b|5 M/\yi„^{644k6 M/9uYռ| =ޣ]p>,qt,Uy3ֶz맭a㘘޴6#yb:>q|~Ҿ4q {0xQk.פOvLus#&h^aڦԛ![b9[/CBc+{T> |R"/Sٰ'JHCY6)bOmݩm^8m_}^`VqСA)ٟOórzDDMG}ԾȾyыѧ B~R58F`ؒv/)ۃ!`njzmG7/vg -E m\ DzE z$(|_a)؀rj"iii("' -9~<.sc紡qt%ŗ{RRJ*TXA`Ŋ+VT -*ŪRjŪVj,WhإYR#,Xb9rKށK]r@.Rw Rc`;{ TȽX*^j,{r/5vʽ4KjKރK]rA.R Rc`{{ T=ȽX*^j,{r/5vʽK4KjKKKKKKKKK>K]%5rK]լekf5].6Ez=_n̓UFbm}3|惭C6- -сm=)~oe=Cg8;vL!xwNs;RÍCQl>:}esʍk,c-ʸz~u" yZpLgQ6@)0o~!.?K_o]U/rϋ:!1aHjNS7\?t-bnӌ6p7M)8 췟>؇2 +b͢rUW, 0\x}nkzquKvZ*5aO\77x_mǵ9֜~[0}&p1K˲SOhNGbaym̑pm.S/P>Ӄ+e~1q|1ߟ C ^fNLwt=zΞ(.|M~ݯf{endstream -endobj - -35065 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -35066 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -35067 0 obj -<> -endobj - -35068 0 obj -<> -endobj - -35069 0 obj -<> -endobj - -35070 0 obj -<> -endobj - -35071 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -35072 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -35073 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -35074 0 obj -<> -stream -HWkF_1gR`Γ p,Ð%jWk8n:0J553]C_S??~l6)낊׹SEutTgQ̨̪ʮ~wf~qO}ݜ+ufW?9{^eW}U&K0QI%T)Uf>y)ͺȫnN ϯgr}Vgy9{qmM*{fQU+5FkIq_V2|03QzƨʒϵC!S>Kee)RND8xFpE0dEE[S XNp{'w̽{ =s}`>2Qp(}.ϙ\p3` }/%s_ -K> s,V-RK1dqZ!{KH-Ő%guBj),=KRK1` ,NH-Ő%guBj),!C ,NH-ŀ%bܳ:!C >Bj),bRK1dqCwO1` ,^H-Ő%gBj),!C ,^H-ŀ%bܳz!C R Y{Z/bܳz!gAH-ŐS XBj),b),!C6,AH-ŀ%bܳ!C6R Y{ bܳ!Z!KpRR Y{ b, -{KH-ŐS Y}) wgϫ쪪dFU+:W;T^Uf,fOS\+?pX,̫I]mW+qV_/9CS[?GS_nx@3б5Bi̬>^Q~r*렪ٮIIZƎT9Ս:DN VZC -~{9_, QV/)CVpTGƱjyXxP}?Y xln: Iؠ͗Nx$<ΥI?b{v\^Z3=GU#krc)߶WVۭ x -vG8O$$#up]+m@m-O?3făVkO—Ufm)'A}TϬoCVXL+ZiA+0(hEȴrA+gZ3B*V!hLJU -Z%JVbZIJTE1dq- -ZiYA2-'h9-N{!Kb}-N{!Kb}-N{!Kb}-N{!Kb}ŀ%=Ő%hBS Y{/=Ő%hBS Y{/=Ő%hBS Y{/=Ő%hBS Y{/=Ő%hBS Y\bbX),A}bX),A}bX),A}bX),A}bXG),E1` }O1dqSJ{\*[oQ&+[T֢|u,>c{}wbf^&nV75ݴ/s[}c97BG(ȯwàqJO˽7[`pJ]\Hj0r{ UYC~P蘰]epc=ꫥ>5m_1K d6Xô{G|8]1./V,ri#n^cLwS7&R}]iMc^Cq^ݧAfiwM;ŌFvyzN#)YO>N!i2eK!\0 ]ANMZ])ͱ f _,G;lt6DѰ|Hg,HYb[jOc xN|N#+ 2cg="D9WΙW8k>ֻ|5.n4Ҏn+x_܏mwNGxU.QyG7e|B*t {ׯLXOu)/ -lQ_*N= :XE.7p7Qd!#aYζoQ@/4r懚ދSX{ m'9VӼݭw f)DS3y9~Ą`'Oy* Ru2l@BqV`ΕN<u\NN`\U$ iI% 0~08c[Pn4RU>(8uƘ XCnԠ)ϺGJ7u1LackY.j֋. =xAN[S` -蔒eqmꠗ1*/*0E 9x5VG|RBG˯di:A˿]ŬZI>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -35076 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -35077 0 obj -<> -endobj - -35078 0 obj -[277 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 554 554 554 554 554 554 554 554 554 554 0 0 0 0 0 0 0 740 574 813 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 685 650 0 0 0 200 0 0 0 0 610 0 682 0 0 0 0 0 0 0 480] -endobj - -35079 0 obj -<> -stream -xMU{TW01q fV(z"PPAQ,CAb[ J<4*RPѴP%AL|[vZ&^ܳ?;{w -YIEQ5kV7sO4Ȕ^IIv$ĩӣ-7iQ:/>?@|vD~[Gqz9PMNIiq;;Y8QBS(ԊfƱ'LM,WLAhڀfY(mE!{DHd$G -4q#+8jWB)闌H߬JhDе4a꘧pAfZ .{Oÿ.O?b9^&~F?`'D˄X+>ȅF{ECs ڊ/T(/ݮ9m-䃌#ϓ D0tBW)Ax'oڨR4=ЇФzPh oxy1`孺k>V{\j>-kJZ<dB޺rmD3O.jmVyb]0 91]Xwx)IwaYۓS>N82spP 1Jq-0l&f<"y sL^~#m;}se{4acF 2" x# Jb []~2~˄fL1RcêX j^ NAf_w(X ZȽYfW$*n%fgCs*cj/rDiB' @IE8Zz)CI vcef@X#e9d`%@܈+Y+嫹0EŇ}*Ef&~{b9v$DAG? pI ̬:` =2P}R,jqw_]p0aܙceENzү#׻ V(,T7| Ճ߃F)L&pmmڱr1uq"ªtj>*~=t$(ZYջc?/wwY-Bâ?I R @ b=Md=g cb -E=~Rq0og܀YlV_Uenu;)FnpZM5|õm8ś荩vMSb"11MSϏ1 -/djL58iRL^-a 6,%*LVq@RsK*BNҐi;I3ο_+ӝo[C<@'Tp_|z8pNVx:xEp\OF5xEA++&^iآY㕉Aaa\YAN>rg'ĄMmK [ԡUqAYwNM7nMvW8:7ւ.^: o Pm q| BYQ=bMfz6g%f|k+AXtcP A0bpRh -osⳲDwۉ'y{/V*F;s qpJ]3G4{ -Y/G\%UM N,=(ajZ-)ð_{kv.0zDC >06XTf-Ѯhhraɑ+޴,C#4ki`E.mM 66&8endstream -endobj - -35080 0 obj -<> -endobj - -35081 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -35082 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -35083 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -35084 0 obj -<> -stream -H}o6ק`,Q}iIZąʴƖ\In׵;JcP4q=$;s[Rj|,/GvM;)\BczJi aҰ!cV:$Ū(,23F&<6F=`C0"\Ă"+xm|;slg;mZ֟g.?>N^U]z? 3]e }.~k+1|ۂ+wNlڈ#aeLȣHDc[frQ ]\m[O5t & &;LzGK0-äw.һLzWK1=-ǤLz_K3}-}>L@K2C-}Ȥ>GLzYjkC0RMTCC-ՔKOO5S ] TS.&F`r15jC-PK5bk -Z)^V0R ] TS.&F`r15jC-PK5bk -Z)^V0Rmm8 TS.==PK5SMTCC-ՔIQ0RMC-PK5bk: TS.&FPK5t1RMC-ՔIQ0R ] TS.&FPK5bk: T[.C-ՔKOO5t1RMTS.==PK5bkԺ TS.&FPK5t1RM.C-ՔIQ2R ] TS.&FPK5bkԺ TCC-ՔIQ2RM.C-ֆPK5S ] TS.==ՔKOQ`ῃx8xaD5]t ^=wVO{xp "o\2Ќio,O,hhᛡ՗jU,77fonl-珛@eQ>8bІL77C/n&\IV;bA/30~*e2FP0O|Z]m5KjҞN Vy!|\buqXeZ˖}'vΩebnm6E.XbOj++79vA -OXEo7bKq]JLXot*=+(#S=TGQPU!>ߛM8#73aى~T ~(U? ]kj;mr>Gm3L%% }?KPz[(5z ;;ٮ -;J'vEnv/mŞZ;]~4!TIv"G=E8~(ן_ܡhb{lH׌IwuS僤\Ch=~tng#nW&8{ܦ8|^fyUVCaaHf@"nm@ܪHW+B +8D!K̃(Gg/KTTy2>Vum,c؁D;G^tu9cZio6~ij_w uɟstmp'2 RՎy˪%~T@~):9GRe}+Hq6.sǛ7lE2?TmG}[OtRjϯo{FbkqG*/'7_g7Np<6M"oJԾfEl\\OgtQendstream -endobj - -35085 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -35086 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -35087 0 obj -<> -endobj - -35088 0 obj -<> -endobj - -35089 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -35090 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -35091 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -35092 0 obj -<> -stream -H|Wk_т/ /1,@;Y-BLMv9339 - )WWUYۛw/fً^F"b[>Μ3δUFMtj=뿪ͺiMշܴut™.z1&k&˨ES4MfFOYe]rG'3~dt϶Y;hQ 4 -f]mm܍?O*]_f7}Sݞj%8~7t#;ļ#_筹J.%ݤMT':TrJ)&^$,Ĉef Y)`Ij#r{{+ʽr>()p*)p*)p*p)p)9p+9p+9p+p_(p_(%p_*%p:kAi%hĘKXcv/1fi#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 WuDVb%F,Z1K{ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZmZ+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkh6Q -Z+1fi#hĘKY}eLB $:Lf/L'7Mt9zXoݢ2'Ywۺ䭜ѲitT_Mt?y]NGW/>||O1]xC~58kqͬ_mg -=Ԅf{Տf]=ɶ<: -F_]7#n~p' 8ݰЗ T;._ a8y{,1ۍih]Wolv$TUdH r빙ܴcKb6_{&a?}_0MD4χĘU -@+(JVR* heJ+ZʁVr+hJZ*VJUJ-h-1KkIXhYeUZh9倖ʽʽʽʽʽʽʽʽĈr/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-r/1fi- ^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*)ȽĘ$F,{1KkqYa5ސDg5LQy N&͊ |[TfWū|4Wmm3'ߥMwx+ܖa\TK:6hWM,[q0~3>ά:657v3a~5O MV[WHtsVy']K@8wM:{trݧ&Ж'Gxt/H'珆{6ugvSog}+67_*8[Tvt%Vܣ3`ާqvVn7..ȬK3%Ӿ( %,Ώ+详^LǚoHzjcg<=?\K3>Dzӱ{'YmכTem^څ]\KgE}Љ83G~{˛g7oqct>8/Xz>;}9zSzda~]*۸Q&]NG64Y0m]l2}' ^w!i~no\p*GY"j%ݓS1j;|98"JRZhVPZ)JV -RLie@+SZ9ʕVrUBi@PZ%*V J%1fi--,вJ-Rw cRw cRw cRw cRw cRw cRw cR c֒@%,rA%,rA%,rA%,rA%,rA%,rA%,rA%,rA%,?«mGNWHd3YEeWwcKoӓ*=qg(U㲽=s֡6+mZ9bmxuh刵=s֡#ֆ{[VX3mZ9bmxuh刵=s֡#ֆ{[VX3mZ9bmxuhe{[VXYeY]N~Px.UԃL'TR8G")W% y2QxEq#J Y<` ̨Q -qain[xB˘ߪgXh ) #^;4 z-QA9K#u$H:_6~-2Da@wL(=Š9 -$9jjfqܺ=p3 d^EDO3䃎LQYOrHcek{ heɽ0z5Cd -owZE|^ .J쎓j5ދ"DBdR4oT7Z]X?J@ƺ@ R̘pܟDXA(  p !0 JpEYwjZ*~̈@[$!'K-WQ\~j*#c2b!3_Nkhӷi2Qy-n4hts#Bӌeޝ`svPH؏BwZZ[3D)%zl#0Ԣ#۟O_|y~)f, LZ -QAuÅLFn;|[ws+\[($L3 -a:U=uN]卲lRuVxGH8$l2# @Ewy[c-L܊n,^dnr87vg<l1|VFVKb7 ljb y(!Wb')Ƹ懃,P^"-k4Q - -T|.tהarӱ9c] Zȱ^,UI,ƘZLlM?O?忬!jAx@VG҈A;lAh2cnW\8u%I̖+bW\L 4A|8®u責-cWDEYLP`(_ ANE;`؋x޾{_wyw 0SIendstream -endobj - -35093 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -35094 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -35095 0 obj -<> -endobj - -35096 0 obj -<> -endobj - -35097 0 obj -<> -endobj - -35098 0 obj -<> -endobj - -35099 0 obj -<> -endobj - -35100 0 obj -<> -endobj - -35101 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -35102 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -35103 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -35104 0 obj -<> -stream -HW[~ׯУpsEr4m]!-vtmomoӜ_HY#[J6n |$|/W^_T2W]9Uz+m]^ Q>\o|~ylz].~{ʇ]rV\'Urv_D"XFYz٪Dgf_äpw|3+]BWZJQ ?]YD*e愈gx,nh)&H0R DmQQĆ(ˠ(w)s(ŰW{ŰW{Ͱ{Ͱ{Ͱ{ð7{ð7{˰{˰{˰{ǰw{ǰw{ϰ{ϰ{ϰȰȰ4+R۪Pj Q9{jZjCTΞ6@16D13*FԆ(}ZŨŨŰTRjZjZjC>SbTKmbgUj Pj Q LQ-!aV1URr(FԆ=!*gOmbTKmbgՌj Q LQ-Q-!aV36D13jF(FԆ(}ZͨŰTRRj5ZjC>SfTKm06D Pj Q9{jCTΞŨŰTkRj ZjZjC>SaTKmbg5j Pj Q LQ-!a06@16D13FԆ(}ZèVeTKmSRrԆ}bŪx9+g3Yrv_JbJ*&7n~{ `'M^VZ'zꅲb"?O:x`zGp^엛uG> ahO89ӑHwΕPXu -FTd}hKK^l}3y=tpUViy"ɓJ[ya:aALKG !q./%nq%[^Yp~Yj6tLp=ʷPc s% RlJ `#00sű\!뇖 ` P.xEe؞mƢ3(Jԩ29fUE!3>9r6\$R'D39RfgSDO%\-c>qFW 3 4 6wu8\y:W_ -ӿZTPÚcRc|`RxX/;F+ ^au[H7)m3]ݍટr(k,屒0Ct18(̨[xrCS|L A> Qћxb9 ] -c^wGS |]QBC;=59Ur n ۚY6 -!:NsD)CmΝ4P8q>H{r Wk*;%o pSG :yxcTw]қLԦU\Mk1IAgBQAWa.S="A^z}kI*l r[<<ۨ px{\^W&f|4퐕L |=%*px x[n޽3**J&Lm6>p<^AMJg~zg$at'.B.]N)K7S/Pa(EM•R!18/38γXіbk%mkPJ5o I%?WJυ3}U;`2K@zMq>7ց|S0~0 @O7p4B~G4@{\pʱ[uH07ՙN@Fz8'u6K K.4~dGCqXps{umӐsq}ljﴐ~FF?ܞ'-H޲H=z"ǔ%S3~cV[{.=Mv1!!qAŗ#N1I8_Ji]W]Jڄ6m 7k>޸H*Díx)n$*m ->ҀM%B"ɉĎB7L%ݙٝ=fPFج鮮6Ę֒.OLXi|[^/mZ<6[n7T&r} r2ˑ.%k=S=A,*_Sn(bw(R^&H%qwyvttp|ѯONglJѾ_'S Zߴc=1]JDn#,L!/mKjc(nкQ2S5tA G?a1ZΏ]ޥkbM-Ѧ,dmBXүNO9b%ߖɱyDk֢xR.f_nS{gLѳ*oat [OˊGE|vxc#dv#xJefDZwTU@z젨$ rԝbWgHy*rckQ -J- -c̨rEhؿnyPdE$ ?nv9rB)yP =l| $*oE!AO"cN9=y$?Íg3D4mdko{*DED h [GDqATu \DFlc%{/*_m+ΝKQJ VpU$菿;+1ܔ5ilJ`7_d7mQrYqc+_Φsp'lMxec}|y|+sW|8iaTX(W}_LQ@_ |xGA^ԦY bc)vHgdD5m6(HdLay#a)x/F FamL5W/A%+O -4tVdb}^AщYflAL ykD}DEP*G焌29!Ush>N/O̍D9zaO*S1"[wWٽbI|jyuPl{}J?ڍFcy 8quPP@@@T4ך4s(O%r0tF`D8?k34-(AilVrZ='Ӽ."śOO7ov:FhwiCK8'|-3-0 2֋!һ zRnޢ -i -A e/-jSTj23Py$]("AC$ƼpsxUpRy9(`aP,| #dϒAƊ!s*م1U5օ7^E d%!*DB =#D*[ɦBȤEuDdKR91  nr(Im)IYnR Ux*O)c4MPuP~8e-ۢ.ȷp$jh(B)hPu8a(q.x œ\ fMI' -ũiMijMN -\n#;u|BrvF<}qZ >i:F>Br] 9gNL -NrB -U-PeF*T@5څXIޛ\_%.rBׅxS]$J&A  -sBI %HT='A7Q!Kѿ2΋!C<ܷy֛T&,L|jaz~lnY6U -e-(m()R[hx^"q,]`g?iZ|ØYb +"<0 -F..v5w\O@Qendstream -endobj - -35105 0 obj -<>/P 4621 0 R/Type/Annot/A 35699 0 R/Subtype/Link/Rect[207 669 219 678]/Border[0 0 0]/H/N>> -endobj - -35106 0 obj -<>/P 4621 0 R/Type/Annot/A 35695 0 R/Subtype/Link/Rect[192 659 209 669]/Border[0 0 0]/H/N>> -endobj - -35107 0 obj -<>/P 4621 0 R/Type/Annot/A 35691 0 R/Subtype/Link/Rect[210 659 224 668]/Border[0 0 0]/H/N>> -endobj - -35108 0 obj -<>/P 4621 0 R/Type/Annot/A 35687 0 R/Subtype/Link/Rect[226 659 242 669]/Border[0 0 0]/H/N>> -endobj - -35109 0 obj -<>/P 4621 0 R/Type/Annot/A 35682 0 R/Subtype/Link/Rect[243 659 257 668]/Border[0 0 0]/H/N>> -endobj - -35110 0 obj -<>/P 4621 0 R/Type/Annot/A 35678 0 R/Subtype/Link/Rect[259 659 271 668]/Border[0 0 0]/H/N>> -endobj - -35111 0 obj -<>/P 4621 0 R/Type/Annot/A 35673 0 R/Subtype/Link/Rect[190 649 202 658]/Border[0 0 0]/H/N>> -endobj - -35112 0 obj -<>/P 4621 0 R/Type/Annot/A 35668 0 R/Subtype/Link/Rect[202 639 215 649]/Border[0 0 0]/H/N>> -endobj - -35113 0 obj -<>/P 4621 0 R/Type/Annot/A 35663 0 R/Subtype/Link/Rect[215 639 225 648]/Border[0 0 0]/H/N>> -endobj - -35114 0 obj -<>/P 4621 0 R/Type/Annot/A 35658 0 R/Subtype/Link/Rect[227 639 241 648]/Border[0 0 0]/H/N>> -endobj - -35115 0 obj -<>/P 4621 0 R/Type/Annot/A 35652 0 R/Subtype/Link/Rect[243 639 255 648]/Border[0 0 0]/H/N>> -endobj - -35116 0 obj -<>/P 4621 0 R/Type/Annot/A 35647 0 R/Subtype/Link/Rect[202 629 215 639]/Border[0 0 0]/H/N>> -endobj - -35117 0 obj -<>/P 4621 0 R/Type/Annot/A 35642 0 R/Subtype/Link/Rect[215 629 225 638]/Border[0 0 0]/H/N>> -endobj - -35118 0 obj -<>/P 4621 0 R/Type/Annot/A 35637 0 R/Subtype/Link/Rect[227 629 239 638]/Border[0 0 0]/H/N>> -endobj - -35119 0 obj -<>/P 4621 0 R/Type/Annot/A 35632 0 R/Subtype/Link/Rect[202 619 212 628]/Border[0 0 0]/H/N>> -endobj - -35120 0 obj -<>/P 4621 0 R/Type/Annot/A 35627 0 R/Subtype/Link/Rect[214 619 231 629]/Border[0 0 0]/H/N>> -endobj - -35121 0 obj -<>/P 4621 0 R/Type/Annot/A 35623 0 R/Subtype/Link/Rect[231 619 243 628]/Border[0 0 0]/H/N>> -endobj - -35122 0 obj -<>/P 4621 0 R/Type/Annot/A 35618 0 R/Subtype/Link/Rect[207 609 220 619]/Border[0 0 0]/H/N>> -endobj - -35123 0 obj -<>/P 4621 0 R/Type/Annot/A 35613 0 R/Subtype/Link/Rect[220 609 230 618]/Border[0 0 0]/H/N>> -endobj - -35124 0 obj -<>/P 4621 0 R/Type/Annot/A 35610 0 R/Subtype/Link/Rect[232 609 246 618]/Border[0 0 0]/H/N>> -endobj - -35125 0 obj -<>/P 4621 0 R/Type/Annot/A 35607 0 R/Subtype/Link/Rect[248 609 260 618]/Border[0 0 0]/H/N>> -endobj - -35126 0 obj -<>/P 4621 0 R/Type/Annot/A 35604 0 R/Subtype/Link/Rect[202 599 219 609]/Border[0 0 0]/H/N>> -endobj - -35127 0 obj -<>/P 4621 0 R/Type/Annot/A 35600 0 R/Subtype/Link/Rect[219 599 233 608]/Border[0 0 0]/H/N>> -endobj - -35128 0 obj -<>/P 4621 0 R/Type/Annot/A 35595 0 R/Subtype/Link/Rect[235 599 247 608]/Border[0 0 0]/H/N>> -endobj - -35129 0 obj -<>/P 4621 0 R/Type/Annot/A 35589 0 R/Subtype/Link/Rect[190 589 202 598]/Border[0 0 0]/H/N>> -endobj - -35130 0 obj -<>/P 4621 0 R/Type/Annot/A 35585 0 R/Subtype/Link/Rect[192 579 202 588]/Border[0 0 0]/H/N>> -endobj - -35131 0 obj -<>/P 4621 0 R/Type/Annot/A 35581 0 R/Subtype/Link/Rect[204 579 214 588]/Border[0 0 0]/H/N>> -endobj - -35132 0 obj -<>/P 4621 0 R/Type/Annot/A 35576 0 R/Subtype/Link/Rect[216 579 226 588]/Border[0 0 0]/H/N>> -endobj - -35133 0 obj -<>/P 4621 0 R/Type/Annot/A 35572 0 R/Subtype/Link/Rect[228 579 242 588]/Border[0 0 0]/H/N>> -endobj - -35134 0 obj -<>/P 4621 0 R/Type/Annot/A 35569 0 R/Subtype/Link/Rect[244 579 261 589]/Border[0 0 0]/H/N>> -endobj - -35135 0 obj -<>/P 4621 0 R/Type/Annot/A 35566 0 R/Subtype/Link/Rect[262 579 276 588]/Border[0 0 0]/H/N>> -endobj - -35136 0 obj -<>/P 4621 0 R/Type/Annot/A 35564 0 R/Subtype/Link/Rect[278 579 292 588]/Border[0 0 0]/H/N>> -endobj - -35137 0 obj -<>/P 4621 0 R/Type/Annot/A 35562 0 R/Subtype/Link/Rect[151 569 168 579]/Border[0 0 0]/H/N>> -endobj - -35138 0 obj -<>/P 4621 0 R/Type/Annot/A 35560 0 R/Subtype/Link/Rect[168 569 182 578]/Border[0 0 0]/H/N>> -endobj - -35139 0 obj -<>/P 4621 0 R/Type/Annot/A 35558 0 R/Subtype/Link/Rect[184 569 198 578]/Border[0 0 0]/H/N>> -endobj - -35140 0 obj -<>/P 4621 0 R/Type/Annot/A 35556 0 R/Subtype/Link/Rect[200 569 214 578]/Border[0 0 0]/H/N>> -endobj - -35141 0 obj -<>/P 4621 0 R/Type/Annot/A 35554 0 R/Subtype/Link/Rect[216 569 230 578]/Border[0 0 0]/H/N>> -endobj - -35142 0 obj -<>/P 4621 0 R/Type/Annot/A 35550 0 R/Subtype/Link/Rect[232 569 246 578]/Border[0 0 0]/H/N>> -endobj - -35143 0 obj -<>/P 4621 0 R/Type/Annot/A 35548 0 R/Subtype/Link/Rect[248 569 262 578]/Border[0 0 0]/H/N>> -endobj - -35144 0 obj -<>/P 4621 0 R/Type/Annot/A 35546 0 R/Subtype/Link/Rect[264 569 278 578]/Border[0 0 0]/H/N>> -endobj - -35145 0 obj -<>/P 4621 0 R/Type/Annot/A 35544 0 R/Subtype/Link/Rect[151 559 168 569]/Border[0 0 0]/H/N>> -endobj - -35146 0 obj -<>/P 4621 0 R/Type/Annot/A 35542 0 R/Subtype/Link/Rect[168 559 182 568]/Border[0 0 0]/H/N>> -endobj - -35147 0 obj -<>/P 4621 0 R/Type/Annot/A 35540 0 R/Subtype/Link/Rect[184 559 198 568]/Border[0 0 0]/H/N>> -endobj - -35148 0 obj -<>/P 4621 0 R/Type/Annot/A 35538 0 R/Subtype/Link/Rect[200 559 214 568]/Border[0 0 0]/H/N>> -endobj - -35149 0 obj -<>/P 4621 0 R/Type/Annot/A 35536 0 R/Subtype/Link/Rect[216 559 230 568]/Border[0 0 0]/H/N>> -endobj - -35150 0 obj -<>/P 4621 0 R/Type/Annot/A 35534 0 R/Subtype/Link/Rect[232 559 246 568]/Border[0 0 0]/H/N>> -endobj - -35151 0 obj -<>/P 4621 0 R/Type/Annot/A 35532 0 R/Subtype/Link/Rect[248 559 262 568]/Border[0 0 0]/H/N>> -endobj - -35152 0 obj -<>/P 4621 0 R/Type/Annot/A 35530 0 R/Subtype/Link/Rect[264 559 278 568]/Border[0 0 0]/H/N>> -endobj - -35153 0 obj -<>/P 4621 0 R/Type/Annot/A 35528 0 R/Subtype/Link/Rect[280 559 294 568]/Border[0 0 0]/H/N>> -endobj - -35154 0 obj -<>/P 4621 0 R/Type/Annot/A 35526 0 R/Subtype/Link/Rect[296 559 310 568]/Border[0 0 0]/H/N>> -endobj - -35155 0 obj -<>/P 4621 0 R/Type/Annot/A 35524 0 R/Subtype/Link/Rect[151 549 165 558]/Border[0 0 0]/H/N>> -endobj - -35156 0 obj -<>/P 4621 0 R/Type/Annot/A 35522 0 R/Subtype/Link/Rect[167 549 179 558]/Border[0 0 0]/H/N>> -endobj - -35157 0 obj -<>/P 4621 0 R/Type/Annot/A 35520 0 R/Subtype/Link/Rect[190 539 202 548]/Border[0 0 0]/H/N>> -endobj - -35158 0 obj -<>/P 4621 0 R/Type/Annot/A 35518 0 R/Subtype/Link/Rect[197 529 209 538]/Border[0 0 0]/H/N>> -endobj - -35159 0 obj -<>/P 4621 0 R/Type/Annot/A 35516 0 R/Subtype/Link/Rect[197 519 209 528]/Border[0 0 0]/H/N>> -endobj - -35160 0 obj -<>/P 4621 0 R/Type/Annot/A 35514 0 R/Subtype/Link/Rect[157 509 167 518]/Border[0 0 0]/H/N>> -endobj - -35161 0 obj -<>/P 4621 0 R/Type/Annot/A 35512 0 R/Subtype/Link/Rect[169 509 183 518]/Border[0 0 0]/H/N>> -endobj - -35162 0 obj -<>/P 4621 0 R/Type/Annot/A 35510 0 R/Subtype/Link/Rect[185 509 201 519]/Border[0 0 0]/H/N>> -endobj - -35163 0 obj -<>/P 4621 0 R/Type/Annot/A 35508 0 R/Subtype/Link/Rect[202 509 214 518]/Border[0 0 0]/H/N>> -endobj - -35164 0 obj -<>/P 4621 0 R/Type/Annot/A 35506 0 R/Subtype/Link/Rect[213 489 225 499]/Border[0 0 0]/H/N>> -endobj - -35165 0 obj -<>/P 4621 0 R/Type/Annot/A 35504 0 R/Subtype/Link/Rect[226 489 240 498]/Border[0 0 0]/H/N>> -endobj - -35166 0 obj -<>/P 4621 0 R/Type/Annot/A 35502 0 R/Subtype/Link/Rect[242 489 254 498]/Border[0 0 0]/H/N>> -endobj - -35167 0 obj -<>/P 4621 0 R/Type/Annot/A 35500 0 R/Subtype/Link/Rect[192 479 202 488]/Border[0 0 0]/H/N>> -endobj - -35168 0 obj -<>/P 4621 0 R/Type/Annot/A 35498 0 R/Subtype/Link/Rect[204 479 220 489]/Border[0 0 0]/H/N>> -endobj - -35169 0 obj -<>/P 4621 0 R/Type/Annot/A 35496 0 R/Subtype/Link/Rect[221 479 233 488]/Border[0 0 0]/H/N>> -endobj - -35170 0 obj -<>/P 4621 0 R/Type/Annot/A 35494 0 R/Subtype/Link/Rect[205 469 215 478]/Border[0 0 0]/H/N>> -endobj - -35171 0 obj -<>/P 4621 0 R/Type/Annot/A 35492 0 R/Subtype/Link/Rect[217 469 234 479]/Border[0 0 0]/H/N>> -endobj - -35172 0 obj -<>/P 4621 0 R/Type/Annot/A 35490 0 R/Subtype/Link/Rect[234 469 248 478]/Border[0 0 0]/H/N>> -endobj - -35173 0 obj -<>/P 4621 0 R/Type/Annot/A 35488 0 R/Subtype/Link/Rect[250 469 262 478]/Border[0 0 0]/H/N>> -endobj - -35174 0 obj -<>/P 4621 0 R/Type/Annot/A 35486 0 R/Subtype/Link/Rect[211 459 225 468]/Border[0 0 0]/H/N>> -endobj - -35175 0 obj -<>/P 4621 0 R/Type/Annot/A 35484 0 R/Subtype/Link/Rect[227 459 244 469]/Border[0 0 0]/H/N>> -endobj - -35176 0 obj -<>/P 4621 0 R/Type/Annot/A 35481 0 R/Subtype/Link/Rect[245 459 257 468]/Border[0 0 0]/H/N>> -endobj - -35177 0 obj -<>/P 4621 0 R/Type/Annot/A 35479 0 R/Subtype/Link/Rect[186 449 194 459]/Border[0 0 0]/H/N>> -endobj - -35178 0 obj -<>/P 4621 0 R/Type/Annot/A 35477 0 R/Subtype/Link/Rect[195 449 205 458]/Border[0 0 0]/H/N>> -endobj - -35179 0 obj -<>/P 4621 0 R/Type/Annot/A 35475 0 R/Subtype/Link/Rect[207 449 220 459]/Border[0 0 0]/H/N>> -endobj - -35180 0 obj -<>/P 4621 0 R/Type/Annot/A 35473 0 R/Subtype/Link/Rect[220 449 228 458]/Border[0 0 0]/H/N>> -endobj - -35181 0 obj -<>/P 4621 0 R/Type/Annot/A 35740 0 R/Subtype/Link/Rect[195 439 212 449]/Border[0 0 0]/H/N>> -endobj - -35182 0 obj -<>/P 4621 0 R/Type/Annot/A 35737 0 R/Subtype/Link/Rect[213 439 225 448]/Border[0 0 0]/H/N>> -endobj - -35183 0 obj -<>/P 4621 0 R/Type/Annot/A 35734 0 R/Subtype/Link/Rect[178 429 186 438]/Border[0 0 0]/H/N>> -endobj - -35184 0 obj -<>/P 4621 0 R/Type/Annot/A 35731 0 R/Subtype/Link/Rect[168 419 184 429]/Border[0 0 0]/H/N>> -endobj - -35185 0 obj -<>/P 4621 0 R/Type/Annot/A 35728 0 R/Subtype/Link/Rect[185 419 197 428]/Border[0 0 0]/H/N>> -endobj - -35186 0 obj -<>/P 4621 0 R/Type/Annot/A 35725 0 R/Subtype/Link/Rect[165 409 177 419]/Border[0 0 0]/H/N>> -endobj - -35187 0 obj -<>/P 4621 0 R/Type/Annot/A 35722 0 R/Subtype/Link/Rect[178 409 188 418]/Border[0 0 0]/H/N>> -endobj - -35188 0 obj -<>/P 4621 0 R/Type/Annot/A 35719 0 R/Subtype/Link/Rect[190 409 206 419]/Border[0 0 0]/H/N>> -endobj - -35189 0 obj -<>/P 4621 0 R/Type/Annot/A 35716 0 R/Subtype/Link/Rect[207 409 218 418]/Border[0 0 0]/H/N>> -endobj - -35190 0 obj -<>/P 4621 0 R/Type/Annot/A 35713 0 R/Subtype/Link/Rect[218 399 234 409]/Border[0 0 0]/H/N>> -endobj - -35191 0 obj -<>/P 4621 0 R/Type/Annot/A 35709 0 R/Subtype/Link/Rect[235 399 249 408]/Border[0 0 0]/H/N>> -endobj - -35192 0 obj -<>/P 4621 0 R/Type/Annot/A 35706 0 R/Subtype/Link/Rect[251 399 265 408]/Border[0 0 0]/H/N>> -endobj - -35193 0 obj -<>/P 4621 0 R/Type/Annot/A 35703 0 R/Subtype/Link/Rect[267 399 281 408]/Border[0 0 0]/H/N>> -endobj - -35194 0 obj -<>/P 4621 0 R/Type/Annot/A 35700 0 R/Subtype/Link/Rect[283 399 297 408]/Border[0 0 0]/H/N>> -endobj - -35195 0 obj -<>/P 4621 0 R/Type/Annot/A 35696 0 R/Subtype/Link/Rect[151 389 165 398]/Border[0 0 0]/H/N>> -endobj - -35196 0 obj -<>/P 4621 0 R/Type/Annot/A 35711 0 R/Subtype/Link/Rect[167 389 181 398]/Border[0 0 0]/H/N>> -endobj - -35197 0 obj -<>/P 4621 0 R/Type/Annot/A 35686 0 R/Subtype/Link/Rect[183 389 195 398]/Border[0 0 0]/H/N>> -endobj - -35198 0 obj -<>/P 4621 0 R/Type/Annot/A 35681 0 R/Subtype/Link/Rect[166 379 178 389]/Border[0 0 0]/H/N>> -endobj - -35199 0 obj -<>/P 4621 0 R/Type/Annot/A 35676 0 R/Subtype/Link/Rect[179 379 189 388]/Border[0 0 0]/H/N>> -endobj - -35200 0 obj -<>/P 4621 0 R/Type/Annot/A 35671 0 R/Subtype/Link/Rect[191 379 201 388]/Border[0 0 0]/H/N>> -endobj - -35201 0 obj -<>/P 4621 0 R/Type/Annot/A 35666 0 R/Subtype/Link/Rect[203 379 216 389]/Border[0 0 0]/H/N>> -endobj - -35202 0 obj -<>/P 4621 0 R/Type/Annot/A 35661 0 R/Subtype/Link/Rect[216 379 226 388]/Border[0 0 0]/H/N>> -endobj - -35203 0 obj -<>/P 4621 0 R/Type/Annot/A 35655 0 R/Subtype/Link/Rect[228 379 238 388]/Border[0 0 0]/H/N>> -endobj - -35204 0 obj -<>/P 4621 0 R/Type/Annot/A 35650 0 R/Subtype/Link/Rect[240 379 257 389]/Border[0 0 0]/H/N>> -endobj - -35205 0 obj -<>/P 4621 0 R/Type/Annot/A 35645 0 R/Subtype/Link/Rect[258 379 272 388]/Border[0 0 0]/H/N>> -endobj - -35206 0 obj -<>/P 4621 0 R/Type/Annot/A 35640 0 R/Subtype/Link/Rect[274 379 288 388]/Border[0 0 0]/H/N>> -endobj - -35207 0 obj -<>/P 4621 0 R/Type/Annot/A 35635 0 R/Subtype/Link/Rect[290 379 304 388]/Border[0 0 0]/H/N>> -endobj - -35208 0 obj -<>/P 4621 0 R/Type/Annot/A 35630 0 R/Subtype/Link/Rect[151 369 168 379]/Border[0 0 0]/H/N>> -endobj - -35209 0 obj -<>/P 4621 0 R/Type/Annot/A 35625 0 R/Subtype/Link/Rect[168 369 182 378]/Border[0 0 0]/H/N>> -endobj - -35210 0 obj -<>/P 4621 0 R/Type/Annot/A 35621 0 R/Subtype/Link/Rect[184 369 196 378]/Border[0 0 0]/H/N>> -endobj - -35211 0 obj -<>/P 4621 0 R/Type/Annot/A 35615 0 R/Subtype/Link/Rect[184 359 201 369]/Border[0 0 0]/H/N>> -endobj - -35212 0 obj -<>/P 4621 0 R/Type/Annot/A 35611 0 R/Subtype/Link/Rect[201 359 213 368]/Border[0 0 0]/H/N>> -endobj - -35213 0 obj -<>/P 4621 0 R/Type/Annot/A 35606 0 R/Subtype/Link/Rect[171 349 183 358]/Border[0 0 0]/H/N>> -endobj - -35214 0 obj -<>/P 4621 0 R/Type/Annot/A 35602 0 R/Subtype/Link/Rect[171 339 179 348]/Border[0 0 0]/H/N>> -endobj - -35215 0 obj -<>/P 4621 0 R/Type/Annot/A 35597 0 R/Subtype/Link/Rect[173 329 185 339]/Border[0 0 0]/H/N>> -endobj - -35216 0 obj -<>/P 4621 0 R/Type/Annot/A 35592 0 R/Subtype/Link/Rect[186 329 196 338]/Border[0 0 0]/H/N>> -endobj - -35217 0 obj -<>/P 4621 0 R/Type/Annot/A 35840 0 R/Subtype/Link/Rect[198 329 210 338]/Border[0 0 0]/H/N>> -endobj - -35218 0 obj -<>/P 4621 0 R/Type/Annot/A 35836 0 R/Subtype/Link/Rect[160 319 176 329]/Border[0 0 0]/H/N>> -endobj - -35219 0 obj -<>/P 4621 0 R/Type/Annot/A 35833 0 R/Subtype/Link/Rect[176 319 188 328]/Border[0 0 0]/H/N>> -endobj - -35220 0 obj -<>/P 4621 0 R/Type/Annot/A 35830 0 R/Subtype/Link/Rect[165 309 182 319]/Border[0 0 0]/H/N>> -endobj - -35221 0 obj -<>/P 4621 0 R/Type/Annot/A 35827 0 R/Subtype/Link/Rect[183 309 197 318]/Border[0 0 0]/H/N>> -endobj - -35222 0 obj -<>/P 4621 0 R/Type/Annot/A 35824 0 R/Subtype/Link/Rect[199 309 211 318]/Border[0 0 0]/H/N>> -endobj - -35223 0 obj -<>/P 4621 0 R/Type/Annot/A 35821 0 R/Subtype/Link/Rect[183 299 194 308]/Border[0 0 0]/H/N>> -endobj - -35224 0 obj -<>/P 4621 0 R/Type/Annot/A 35818 0 R/Subtype/Link/Rect[165 289 178 299]/Border[0 0 0]/H/N>> -endobj - -35225 0 obj -<>/P 4621 0 R/Type/Annot/A 35814 0 R/Subtype/Link/Rect[179 289 187 298]/Border[0 0 0]/H/N>> -endobj - -35226 0 obj -<>/P 4621 0 R/Type/Annot/A 35811 0 R/Subtype/Link/Rect[190 279 204 288]/Border[0 0 0]/H/N>> -endobj - -35227 0 obj -<>/P 4621 0 R/Type/Annot/A 35809 0 R/Subtype/Link/Rect[206 279 222 289]/Border[0 0 0]/H/N>> -endobj - -35228 0 obj -<>/P 4621 0 R/Type/Annot/A 35807 0 R/Subtype/Link/Rect[223 279 237 288]/Border[0 0 0]/H/N>> -endobj - -35229 0 obj -<>/P 4621 0 R/Type/Annot/A 35805 0 R/Subtype/Link/Rect[239 279 253 288]/Border[0 0 0]/H/N>> -endobj - -35230 0 obj -<>/P 4621 0 R/Type/Annot/A 35803 0 R/Subtype/Link/Rect[255 279 269 288]/Border[0 0 0]/H/N>> -endobj - -35231 0 obj -<>/P 4621 0 R/Type/Annot/A 35801 0 R/Subtype/Link/Rect[271 279 285 288]/Border[0 0 0]/H/N>> -endobj - -35232 0 obj -<>/P 4621 0 R/Type/Annot/A 35799 0 R/Subtype/Link/Rect[151 269 168 279]/Border[0 0 0]/H/N>> -endobj - -35233 0 obj -<>/P 4621 0 R/Type/Annot/A 35797 0 R/Subtype/Link/Rect[168 269 182 278]/Border[0 0 0]/H/N>> -endobj - -35234 0 obj -<>/P 4621 0 R/Type/Annot/A 35795 0 R/Subtype/Link/Rect[184 269 198 278]/Border[0 0 0]/H/N>> -endobj - -35235 0 obj -<>/P 4621 0 R/Type/Annot/A 35793 0 R/Subtype/Link/Rect[200 269 214 278]/Border[0 0 0]/H/N>> -endobj - -35236 0 obj -<>/P 4621 0 R/Type/Annot/A 35791 0 R/Subtype/Link/Rect[216 269 230 278]/Border[0 0 0]/H/N>> -endobj - -35237 0 obj -<>/P 4621 0 R/Type/Annot/A 35789 0 R/Subtype/Link/Rect[232 269 249 279]/Border[0 0 0]/H/N>> -endobj - -35238 0 obj -<>/P 4621 0 R/Type/Annot/A 35787 0 R/Subtype/Link/Rect[250 269 264 278]/Border[0 0 0]/H/N>> -endobj - -35239 0 obj -<>/P 4621 0 R/Type/Annot/A 35785 0 R/Subtype/Link/Rect[266 269 280 278]/Border[0 0 0]/H/N>> -endobj - -35240 0 obj -<>/P 4621 0 R/Type/Annot/A 35783 0 R/Subtype/Link/Rect[151 259 168 269]/Border[0 0 0]/H/N>> -endobj - -35241 0 obj -<>/P 4621 0 R/Type/Annot/A 35781 0 R/Subtype/Link/Rect[168 259 182 268]/Border[0 0 0]/H/N>> -endobj - -35242 0 obj -<>/P 4621 0 R/Type/Annot/A 35779 0 R/Subtype/Link/Rect[184 259 198 268]/Border[0 0 0]/H/N>> -endobj - -35243 0 obj -<>/P 4621 0 R/Type/Annot/A 35777 0 R/Subtype/Link/Rect[200 259 214 268]/Border[0 0 0]/H/N>> -endobj - -35244 0 obj -<>/P 4621 0 R/Type/Annot/A 35775 0 R/Subtype/Link/Rect[216 259 230 268]/Border[0 0 0]/H/N>> -endobj - -35245 0 obj -<>/P 4621 0 R/Type/Annot/A 35773 0 R/Subtype/Link/Rect[232 259 246 268]/Border[0 0 0]/H/N>> -endobj - -35246 0 obj -<>/P 4621 0 R/Type/Annot/A 35771 0 R/Subtype/Link/Rect[248 259 262 268]/Border[0 0 0]/H/N>> -endobj - -35247 0 obj -<>/P 4621 0 R/Type/Annot/A 35769 0 R/Subtype/Link/Rect[264 259 278 268]/Border[0 0 0]/H/N>> -endobj - -35248 0 obj -<>/P 4621 0 R/Type/Annot/A 35767 0 R/Subtype/Link/Rect[280 259 294 268]/Border[0 0 0]/H/N>> -endobj - -35249 0 obj -<>/P 4621 0 R/Type/Annot/A 35765 0 R/Subtype/Link/Rect[296 259 308 268]/Border[0 0 0]/H/N>> -endobj - -35250 0 obj -<>/P 4621 0 R/Type/Annot/A 35763 0 R/Subtype/Link/Rect[173 249 179 258]/Border[0 0 0]/H/N>> -endobj - -35251 0 obj -<>/P 4621 0 R/Type/Annot/A 35761 0 R/Subtype/Link/Rect[181 249 197 259]/Border[0 0 0]/H/N>> -endobj - -35252 0 obj -<>/P 4621 0 R/Type/Annot/A 35759 0 R/Subtype/Link/Rect[198 249 210 258]/Border[0 0 0]/H/N>> -endobj - -35253 0 obj -<>/P 4621 0 R/Type/Annot/A 35757 0 R/Subtype/Link/Rect[186 239 198 248]/Border[0 0 0]/H/N>> -endobj - -35254 0 obj -<>/P 4621 0 R/Type/Annot/A 35755 0 R/Subtype/Link/Rect[167 229 179 238]/Border[0 0 0]/H/N>> -endobj - -35255 0 obj -<>/P 4621 0 R/Type/Annot/A 35753 0 R/Subtype/Link/Rect[167 219 179 228]/Border[0 0 0]/H/N>> -endobj - -35256 0 obj -<>/P 4621 0 R/Type/Annot/A 35751 0 R/Subtype/Link/Rect[167 209 177 218]/Border[0 0 0]/H/N>> -endobj - -35257 0 obj -<>/P 4621 0 R/Type/Annot/A 35749 0 R/Subtype/Link/Rect[179 209 189 218]/Border[0 0 0]/H/N>> -endobj - -35258 0 obj -<>/P 4621 0 R/Type/Annot/A 35747 0 R/Subtype/Link/Rect[191 209 205 218]/Border[0 0 0]/H/N>> -endobj - -35259 0 obj -<>/P 4621 0 R/Type/Annot/A 35745 0 R/Subtype/Link/Rect[207 209 219 218]/Border[0 0 0]/H/N>> -endobj - -35260 0 obj -<>/P 4621 0 R/Type/Annot/A 35743 0 R/Subtype/Link/Rect[162 199 172 208]/Border[0 0 0]/H/N>> -endobj - -35261 0 obj -<>/P 4621 0 R/Type/Annot/A 35741 0 R/Subtype/Link/Rect[174 199 187 208]/Border[0 0 0]/H/N>> -endobj - -35262 0 obj -<>/P 4621 0 R/Type/Annot/A 35738 0 R/Subtype/Link/Rect[189 199 201 208]/Border[0 0 0]/H/N>> -endobj - -35263 0 obj -<>/P 4621 0 R/Type/Annot/A 35735 0 R/Subtype/Link/Rect[167 189 178 198]/Border[0 0 0]/H/N>> -endobj - -35264 0 obj -<>/P 4621 0 R/Type/Annot/A 35732 0 R/Subtype/Link/Rect[167 179 177 188]/Border[0 0 0]/H/N>> -endobj - -35265 0 obj -<>/P 4621 0 R/Type/Annot/A 35729 0 R/Subtype/Link/Rect[179 179 189 188]/Border[0 0 0]/H/N>> -endobj - -35266 0 obj -<>/P 4621 0 R/Type/Annot/A 35726 0 R/Subtype/Link/Rect[191 179 202 188]/Border[0 0 0]/H/N>> -endobj - -35267 0 obj -<>/P 4621 0 R/Type/Annot/A 35723 0 R/Subtype/Link/Rect[157 169 165 178]/Border[0 0 0]/H/N>> -endobj - -35268 0 obj -<>/P 4621 0 R/Type/Annot/A 35720 0 R/Subtype/Link/Rect[162 159 172 168]/Border[0 0 0]/H/N>> -endobj - -35269 0 obj -<>/P 4621 0 R/Type/Annot/A 35717 0 R/Subtype/Link/Rect[174 159 184 168]/Border[0 0 0]/H/N>> -endobj - -35270 0 obj -<>/P 4621 0 R/Type/Annot/A 35714 0 R/Subtype/Link/Rect[186 159 196 168]/Border[0 0 0]/H/N>> -endobj - -35271 0 obj -<>/P 4621 0 R/Type/Annot/A 35710 0 R/Subtype/Link/Rect[198 159 211 168]/Border[0 0 0]/H/N>> -endobj - -35272 0 obj -<>/P 4621 0 R/Type/Annot/A 35707 0 R/Subtype/Link/Rect[213 159 227 168]/Border[0 0 0]/H/N>> -endobj - -35273 0 obj -<>/P 4621 0 R/Type/Annot/A 35704 0 R/Subtype/Link/Rect[229 159 241 168]/Border[0 0 0]/H/N>> -endobj - -35274 0 obj -<>/P 4621 0 R/Type/Annot/A 35701 0 R/Subtype/Link/Rect[166 149 170 158]/Border[0 0 0]/H/N>> -endobj - -35275 0 obj -<>/P 4621 0 R/Type/Annot/A 35698 0 R/Subtype/Link/Rect[391 669 404 679]/Border[0 0 0]/H/N>> -endobj - -35276 0 obj -<>/P 4621 0 R/Type/Annot/A 35694 0 R/Subtype/Link/Rect[404 669 412 678]/Border[0 0 0]/H/N>> -endobj - -35277 0 obj -<>/P 4621 0 R/Type/Annot/A 35690 0 R/Subtype/Link/Rect[434 659 442 668]/Border[0 0 0]/H/N>> -endobj - -35278 0 obj -<>/P 4621 0 R/Type/Annot/A 35685 0 R/Subtype/Link/Rect[405 649 419 658]/Border[0 0 0]/H/N>> -endobj - -35279 0 obj -<>/P 4621 0 R/Type/Annot/A 35680 0 R/Subtype/Link/Rect[421 649 435 658]/Border[0 0 0]/H/N>> -endobj - -35280 0 obj -<>/P 4621 0 R/Type/Annot/A 35675 0 R/Subtype/Link/Rect[437 649 451 658]/Border[0 0 0]/H/N>> -endobj - -35281 0 obj -<>/P 4621 0 R/Type/Annot/A 35670 0 R/Subtype/Link/Rect[453 649 465 658]/Border[0 0 0]/H/N>> -endobj - -35282 0 obj -<>/P 4621 0 R/Type/Annot/A 35665 0 R/Subtype/Link/Rect[398 639 410 648]/Border[0 0 0]/H/N>> -endobj - -35283 0 obj -<>/P 4621 0 R/Type/Annot/A 35660 0 R/Subtype/Link/Rect[458 629 466 638]/Border[0 0 0]/H/N>> -endobj - -35284 0 obj -<>/P 4621 0 R/Type/Annot/A 35654 0 R/Subtype/Link/Rect[415 619 429 628]/Border[0 0 0]/H/N>> -endobj - -35285 0 obj -<>/P 4621 0 R/Type/Annot/A 35649 0 R/Subtype/Link/Rect[431 619 443 628]/Border[0 0 0]/H/N>> -endobj - -35286 0 obj -<>/P 4621 0 R/Type/Annot/A 35644 0 R/Subtype/Link/Rect[413 609 421 619]/Border[0 0 0]/H/N>> -endobj - -35287 0 obj -<>/P 4621 0 R/Type/Annot/A 35639 0 R/Subtype/Link/Rect[422 609 426 618]/Border[0 0 0]/H/N>> -endobj - -35288 0 obj -<>/P 4621 0 R/Type/Annot/A 35634 0 R/Subtype/Link/Rect[434 599 444 608]/Border[0 0 0]/H/N>> -endobj - -35289 0 obj -<>/P 4621 0 R/Type/Annot/A 35629 0 R/Subtype/Link/Rect[446 599 456 608]/Border[0 0 0]/H/N>> -endobj - -35290 0 obj -<>/P 4621 0 R/Type/Annot/A 35624 0 R/Subtype/Link/Rect[458 599 466 608]/Border[0 0 0]/H/N>> -endobj - -35291 0 obj -<>/P 4621 0 R/Type/Annot/A 35619 0 R/Subtype/Link/Rect[397 589 411 598]/Border[0 0 0]/H/N>> -endobj - -35292 0 obj -<>/P 4621 0 R/Type/Annot/A 35614 0 R/Subtype/Link/Rect[413 589 427 598]/Border[0 0 0]/H/N>> -endobj - -35293 0 obj -<>/P 4621 0 R/Type/Annot/A 35598 0 R/Subtype/Link/Rect[429 589 441 598]/Border[0 0 0]/H/N>> -endobj - -35294 0 obj -<>/P 4621 0 R/Type/Annot/A 35591 0 R/Subtype/Link/Rect[406 579 420 588]/Border[0 0 0]/H/N>> -endobj - -35295 0 obj -<>/P 4621 0 R/Type/Annot/A 35603 0 R/Subtype/Link/Rect[422 579 436 588]/Border[0 0 0]/H/N>> -endobj - -35296 0 obj -<>/P 4621 0 R/Type/Annot/A 35599 0 R/Subtype/Link/Rect[438 579 450 588]/Border[0 0 0]/H/N>> -endobj - -35297 0 obj -<>/P 4621 0 R/Type/Annot/A 35594 0 R/Subtype/Link/Rect[415 569 429 578]/Border[0 0 0]/H/N>> -endobj - -35298 0 obj -<>/P 4621 0 R/Type/Annot/A 35588 0 R/Subtype/Link/Rect[431 569 448 579]/Border[0 0 0]/H/N>> -endobj - -35299 0 obj -<>/P 4621 0 R/Type/Annot/A 35584 0 R/Subtype/Link/Rect[448 569 460 578]/Border[0 0 0]/H/N>> -endobj - -35300 0 obj -<>/P 4621 0 R/Type/Annot/A 35580 0 R/Subtype/Link/Rect[420 559 432 568]/Border[0 0 0]/H/N>> -endobj - -35301 0 obj -<>/P 4621 0 R/Type/Annot/A 35575 0 R/Subtype/Link/Rect[360 549 372 559]/Border[0 0 0]/H/N>> -endobj - -35302 0 obj -<>/P 4621 0 R/Type/Annot/A 35835 0 R/Subtype/Link/Rect[373 549 381 558]/Border[0 0 0]/H/N>> -endobj - -35303 0 obj -<>/P 4621 0 R/Type/Annot/A 35832 0 R/Subtype/Link/Rect[390 539 404 548]/Border[0 0 0]/H/N>> -endobj - -35304 0 obj -<>/P 4621 0 R/Type/Annot/A 35829 0 R/Subtype/Link/Rect[406 539 418 548]/Border[0 0 0]/H/N>> -endobj - -35305 0 obj -<>/P 4621 0 R/Type/Annot/A 35826 0 R/Subtype/Link/Rect[414 529 424 538]/Border[0 0 0]/H/N>> -endobj - -35306 0 obj -<>/P 4621 0 R/Type/Annot/A 35823 0 R/Subtype/Link/Rect[426 529 434 538]/Border[0 0 0]/H/N>> -endobj - -35307 0 obj -<>/P 4621 0 R/Type/Annot/A 35820 0 R/Subtype/Link/Rect[400 519 412 528]/Border[0 0 0]/H/N>> -endobj - -35308 0 obj -<>/P 4621 0 R/Type/Annot/A 35817 0 R/Subtype/Link/Rect[402 509 416 518]/Border[0 0 0]/H/N>> -endobj - -35309 0 obj -<>/P 4621 0 R/Type/Annot/A 35813 0 R/Subtype/Link/Rect[418 509 435 519]/Border[0 0 0]/H/N>> -endobj - -35310 0 obj -<>/P 4621 0 R/Type/Annot/A 35553 0 R/Subtype/Link/Rect[436 509 450 518]/Border[0 0 0]/H/N>> -endobj - -35311 0 obj -<>/P 4621 0 R/Type/Annot/A 35810 0 R/Subtype/Link/Rect[452 509 464 518]/Border[0 0 0]/H/N>> -endobj - -35312 0 obj -<>/P 4621 0 R/Type/Annot/A 35808 0 R/Subtype/Link/Rect[420 499 436 509]/Border[0 0 0]/H/N>> -endobj - -35313 0 obj -<>/P 4621 0 R/Type/Annot/A 35806 0 R/Subtype/Link/Rect[437 499 449 508]/Border[0 0 0]/H/N>> -endobj - -35314 0 obj -<>/P 4621 0 R/Type/Annot/A 35804 0 R/Subtype/Link/Rect[398 489 410 498]/Border[0 0 0]/H/N>> -endobj - -35315 0 obj -<>/P 4621 0 R/Type/Annot/A 35802 0 R/Subtype/Link/Rect[405 479 419 488]/Border[0 0 0]/H/N>> -endobj - -35316 0 obj -<>/P 4621 0 R/Type/Annot/A 35800 0 R/Subtype/Link/Rect[421 479 435 488]/Border[0 0 0]/H/N>> -endobj - -35317 0 obj -<>/P 4621 0 R/Type/Annot/A 35798 0 R/Subtype/Link/Rect[437 479 449 488]/Border[0 0 0]/H/N>> -endobj - -35318 0 obj -<>/P 4621 0 R/Type/Annot/A 35796 0 R/Subtype/Link/Rect[415 469 431 479]/Border[0 0 0]/H/N>> -endobj - -35319 0 obj -<>/P 4621 0 R/Type/Annot/A 35794 0 R/Subtype/Link/Rect[432 469 446 478]/Border[0 0 0]/H/N>> -endobj - -35320 0 obj -<>/P 4621 0 R/Type/Annot/A 35792 0 R/Subtype/Link/Rect[448 469 460 478]/Border[0 0 0]/H/N>> -endobj - -35321 0 obj -<>/P 4621 0 R/Type/Annot/A 35790 0 R/Subtype/Link/Rect[398 459 410 468]/Border[0 0 0]/H/N>> -endobj - -35322 0 obj -<>/P 4621 0 R/Type/Annot/A 35788 0 R/Subtype/Link/Rect[405 449 419 458]/Border[0 0 0]/H/N>> -endobj - -35323 0 obj -<>/P 4621 0 R/Type/Annot/A 35786 0 R/Subtype/Link/Rect[421 449 433 458]/Border[0 0 0]/H/N>> -endobj - -35324 0 obj -<>/P 4621 0 R/Type/Annot/A 35784 0 R/Subtype/Link/Rect[418 439 426 448]/Border[0 0 0]/H/N>> -endobj - -35325 0 obj -<>/P 4621 0 R/Type/Annot/A 35782 0 R/Subtype/Link/Rect[410 429 422 438]/Border[0 0 0]/H/N>> -endobj - -35326 0 obj -<>/P 4621 0 R/Type/Annot/A 35780 0 R/Subtype/Link/Rect[423 419 431 428]/Border[0 0 0]/H/N>> -endobj - -35327 0 obj -<>/P 4621 0 R/Type/Annot/A 35778 0 R/Subtype/Link/Rect[396 409 408 418]/Border[0 0 0]/H/N>> -endobj - -35328 0 obj -<>/P 4621 0 R/Type/Annot/A 35776 0 R/Subtype/Link/Rect[429 399 437 408]/Border[0 0 0]/H/N>> -endobj - -35329 0 obj -<>/P 4621 0 R/Type/Annot/A 35774 0 R/Subtype/Link/Rect[400 389 406 398]/Border[0 0 0]/H/N>> -endobj - -35330 0 obj -<>/P 4621 0 R/Type/Annot/A 35772 0 R/Subtype/Link/Rect[408 389 422 398]/Border[0 0 0]/H/N>> -endobj - -35331 0 obj -<>/P 4621 0 R/Type/Annot/A 35770 0 R/Subtype/Link/Rect[424 389 441 399]/Border[0 0 0]/H/N>> -endobj - -35332 0 obj -<>/P 4621 0 R/Type/Annot/A 35768 0 R/Subtype/Link/Rect[442 389 456 398]/Border[0 0 0]/H/N>> -endobj - -35333 0 obj -<>/P 4621 0 R/Type/Annot/A 35766 0 R/Subtype/Link/Rect[458 389 472 398]/Border[0 0 0]/H/N>> -endobj - -35334 0 obj -<>/P 4621 0 R/Type/Annot/A 35764 0 R/Subtype/Link/Rect[474 389 488 398]/Border[0 0 0]/H/N>> -endobj - -35335 0 obj -<>/P 4621 0 R/Type/Annot/A 35762 0 R/Subtype/Link/Rect[490 389 504 398]/Border[0 0 0]/H/N>> -endobj - -35336 0 obj -<>/P 4621 0 R/Type/Annot/A 35760 0 R/Subtype/Link/Rect[359 379 373 388]/Border[0 0 0]/H/N>> -endobj - -35337 0 obj -<>/P 4621 0 R/Type/Annot/A 35758 0 R/Subtype/Link/Rect[375 379 392 389]/Border[0 0 0]/H/N>> -endobj - -35338 0 obj -<>/P 4621 0 R/Type/Annot/A 35756 0 R/Subtype/Link/Rect[392 379 406 388]/Border[0 0 0]/H/N>> -endobj - -35339 0 obj -<>/P 4621 0 R/Type/Annot/A 35754 0 R/Subtype/Link/Rect[408 379 422 388]/Border[0 0 0]/H/N>> -endobj - -35340 0 obj -<>/P 4621 0 R/Type/Annot/A 35752 0 R/Subtype/Link/Rect[424 379 438 388]/Border[0 0 0]/H/N>> -endobj - -35341 0 obj -<>/P 4621 0 R/Type/Annot/A 35750 0 R/Subtype/Link/Rect[440 379 454 388]/Border[0 0 0]/H/N>> -endobj - -35342 0 obj -<>/P 4621 0 R/Type/Annot/A 35748 0 R/Subtype/Link/Rect[456 379 468 388]/Border[0 0 0]/H/N>> -endobj - -35343 0 obj -<>/P 4621 0 R/Type/Annot/A 35483 0 R/Subtype/Link/Rect[398 369 410 378]/Border[0 0 0]/H/N>> -endobj - -35344 0 obj -<>/P 4621 0 R/Type/Annot/A 35746 0 R/Subtype/Link/Rect[420 359 430 368]/Border[0 0 0]/H/N>> -endobj - -35345 0 obj -<>/P 4621 0 R/Type/Annot/A 35744 0 R/Subtype/Link/Rect[432 359 440 368]/Border[0 0 0]/H/N>> -endobj - -35346 0 obj -<>/P 4621 0 R/Type/Annot/A 35742 0 R/Subtype/Link/Rect[435 349 449 358]/Border[0 0 0]/H/N>> -endobj - -35347 0 obj -<>/P 4621 0 R/Type/Annot/A 35739 0 R/Subtype/Link/Rect[451 349 465 358]/Border[0 0 0]/H/N>> -endobj - -35348 0 obj -<>/P 4621 0 R/Type/Annot/A 35736 0 R/Subtype/Link/Rect[467 349 484 359]/Border[0 0 0]/H/N>> -endobj - -35349 0 obj -<>/P 4621 0 R/Type/Annot/A 35733 0 R/Subtype/Link/Rect[485 349 499 358]/Border[0 0 0]/H/N>> -endobj - -35350 0 obj -<>/P 4621 0 R/Type/Annot/A 35730 0 R/Subtype/Link/Rect[501 349 515 358]/Border[0 0 0]/H/N>> -endobj - -35351 0 obj -<>/P 4621 0 R/Type/Annot/A 35727 0 R/Subtype/Link/Rect[359 339 373 348]/Border[0 0 0]/H/N>> -endobj - -35352 0 obj -<>/P 4621 0 R/Type/Annot/A 35724 0 R/Subtype/Link/Rect[375 339 391 349]/Border[0 0 0]/H/N>> -endobj - -35353 0 obj -<>/P 4621 0 R/Type/Annot/A 35721 0 R/Subtype/Link/Rect[392 339 406 348]/Border[0 0 0]/H/N>> -endobj - -35354 0 obj -<>/P 4621 0 R/Type/Annot/A 35718 0 R/Subtype/Link/Rect[408 339 422 348]/Border[0 0 0]/H/N>> -endobj - -35355 0 obj -<>/P 4621 0 R/Type/Annot/A 35715 0 R/Subtype/Link/Rect[424 339 438 348]/Border[0 0 0]/H/N>> -endobj - -35356 0 obj -<>/P 4621 0 R/Type/Annot/A 35712 0 R/Subtype/Link/Rect[440 339 457 349]/Border[0 0 0]/H/N>> -endobj - -35357 0 obj -<>/P 4621 0 R/Type/Annot/A 35708 0 R/Subtype/Link/Rect[457 339 471 348]/Border[0 0 0]/H/N>> -endobj - -35358 0 obj -<>/P 4621 0 R/Type/Annot/A 35705 0 R/Subtype/Link/Rect[473 339 487 348]/Border[0 0 0]/H/N>> -endobj - -35359 0 obj -<>/P 4621 0 R/Type/Annot/A 35702 0 R/Subtype/Link/Rect[489 339 503 348]/Border[0 0 0]/H/N>> -endobj - -35360 0 obj -<>/P 4621 0 R/Type/Annot/A 35656 0 R/Subtype/Link/Rect[505 339 519 348]/Border[0 0 0]/H/N>> -endobj - -35361 0 obj -<>/P 4621 0 R/Type/Annot/A 35697 0 R/Subtype/Link/Rect[359 329 373 338]/Border[0 0 0]/H/N>> -endobj - -35362 0 obj -<>/P 4621 0 R/Type/Annot/A 35692 0 R/Subtype/Link/Rect[375 329 389 338]/Border[0 0 0]/H/N>> -endobj - -35363 0 obj -<>/P 4621 0 R/Type/Annot/A 35689 0 R/Subtype/Link/Rect[391 329 403 338]/Border[0 0 0]/H/N>> -endobj - -35364 0 obj -<>/P 4621 0 R/Type/Annot/A 35684 0 R/Subtype/Link/Rect[446 319 460 328]/Border[0 0 0]/H/N>> -endobj - -35365 0 obj -<>/P 4621 0 R/Type/Annot/A 35679 0 R/Subtype/Link/Rect[462 319 476 328]/Border[0 0 0]/H/N>> -endobj - -35366 0 obj -<>/P 4621 0 R/Type/Annot/A 35674 0 R/Subtype/Link/Rect[478 319 490 328]/Border[0 0 0]/H/N>> -endobj - -35367 0 obj -<>/P 4621 0 R/Type/Annot/A 35669 0 R/Subtype/Link/Rect[396 309 408 319]/Border[0 0 0]/H/N>> -endobj - -35368 0 obj -<>/P 4621 0 R/Type/Annot/A 35664 0 R/Subtype/Link/Rect[408 309 418 318]/Border[0 0 0]/H/N>> -endobj - -35369 0 obj -<>/P 4621 0 R/Type/Annot/A 35659 0 R/Subtype/Link/Rect[420 309 430 318]/Border[0 0 0]/H/N>> -endobj - -35370 0 obj -<>/P 4621 0 R/Type/Annot/A 35653 0 R/Subtype/Link/Rect[432 309 442 318]/Border[0 0 0]/H/N>> -endobj - -35371 0 obj -<>/P 4621 0 R/Type/Annot/A 35648 0 R/Subtype/Link/Rect[444 309 454 318]/Border[0 0 0]/H/N>> -endobj - -35372 0 obj -<>/P 4621 0 R/Type/Annot/A 35643 0 R/Subtype/Link/Rect[456 309 473 319]/Border[0 0 0]/H/N>> -endobj - -35373 0 obj -<>/P 4621 0 R/Type/Annot/A 35638 0 R/Subtype/Link/Rect[474 309 488 318]/Border[0 0 0]/H/N>> -endobj - -35374 0 obj -<>/P 4621 0 R/Type/Annot/A 35633 0 R/Subtype/Link/Rect[359 299 376 309]/Border[0 0 0]/H/N>> -endobj - -35375 0 obj -<>/P 4621 0 R/Type/Annot/A 35628 0 R/Subtype/Link/Rect[376 299 390 308]/Border[0 0 0]/H/N>> -endobj - -35376 0 obj -<>/P 4621 0 R/Type/Annot/A 35578 0 R/Subtype/Link/Rect[392 299 409 309]/Border[0 0 0]/H/N>> -endobj - -35377 0 obj -<>/P 4621 0 R/Type/Annot/A 35620 0 R/Subtype/Link/Rect[410 299 424 308]/Border[0 0 0]/H/N>> -endobj - -35378 0 obj -<>/P 4621 0 R/Type/Annot/A 35616 0 R/Subtype/Link/Rect[426 299 440 308]/Border[0 0 0]/H/N>> -endobj - -35379 0 obj -<>/P 4621 0 R/Type/Annot/A 35612 0 R/Subtype/Link/Rect[442 299 458 309]/Border[0 0 0]/H/N>> -endobj - -35380 0 obj -<>/P 4621 0 R/Type/Annot/A 35609 0 R/Subtype/Link/Rect[459 299 473 308]/Border[0 0 0]/H/N>> -endobj - -35381 0 obj -<>/P 4621 0 R/Type/Annot/A 35605 0 R/Subtype/Link/Rect[475 299 492 309]/Border[0 0 0]/H/N>> -endobj - -35382 0 obj -<>/P 4621 0 R/Type/Annot/A 35601 0 R/Subtype/Link/Rect[492 299 506 308]/Border[0 0 0]/H/N>> -endobj - -35383 0 obj -<>/P 4621 0 R/Type/Annot/A 35596 0 R/Subtype/Link/Rect[359 289 376 299]/Border[0 0 0]/H/N>> -endobj - -35384 0 obj -<>/P 4621 0 R/Type/Annot/A 35590 0 R/Subtype/Link/Rect[376 289 390 298]/Border[0 0 0]/H/N>> -endobj - -35385 0 obj -<>/P 4621 0 R/Type/Annot/A 35586 0 R/Subtype/Link/Rect[392 289 409 299]/Border[0 0 0]/H/N>> -endobj - -35386 0 obj -<>/P 4621 0 R/Type/Annot/A 35582 0 R/Subtype/Link/Rect[410 289 424 298]/Border[0 0 0]/H/N>> -endobj - -35387 0 obj -<>/P 4621 0 R/Type/Annot/A 35577 0 R/Subtype/Link/Rect[426 289 440 298]/Border[0 0 0]/H/N>> -endobj - -35388 0 obj -<>/P 4621 0 R/Type/Annot/A 35573 0 R/Subtype/Link/Rect[442 289 456 298]/Border[0 0 0]/H/N>> -endobj - -35389 0 obj -<>/P 4621 0 R/Type/Annot/A 35570 0 R/Subtype/Link/Rect[458 289 472 298]/Border[0 0 0]/H/N>> -endobj - -35390 0 obj -<>/P 4621 0 R/Type/Annot/A 35567 0 R/Subtype/Link/Rect[474 289 488 298]/Border[0 0 0]/H/N>> -endobj - -35391 0 obj -<>/P 4621 0 R/Type/Annot/A 35565 0 R/Subtype/Link/Rect[359 279 376 289]/Border[0 0 0]/H/N>> -endobj - -35392 0 obj -<>/P 4621 0 R/Type/Annot/A 35563 0 R/Subtype/Link/Rect[376 279 390 288]/Border[0 0 0]/H/N>> -endobj - -35393 0 obj -<>/P 4621 0 R/Type/Annot/A 35561 0 R/Subtype/Link/Rect[392 279 406 288]/Border[0 0 0]/H/N>> -endobj - -35394 0 obj -<>/P 4621 0 R/Type/Annot/A 35559 0 R/Subtype/Link/Rect[408 279 422 288]/Border[0 0 0]/H/N>> -endobj - -35395 0 obj -<>/P 4621 0 R/Type/Annot/A 35557 0 R/Subtype/Link/Rect[424 279 438 288]/Border[0 0 0]/H/N>> -endobj - -35396 0 obj -<>/P 4621 0 R/Type/Annot/A 35555 0 R/Subtype/Link/Rect[440 279 457 289]/Border[0 0 0]/H/N>> -endobj - -35397 0 obj -<>/P 4621 0 R/Type/Annot/A 35552 0 R/Subtype/Link/Rect[458 279 472 288]/Border[0 0 0]/H/N>> -endobj - -35398 0 obj -<>/P 4621 0 R/Type/Annot/A 35549 0 R/Subtype/Link/Rect[474 279 488 288]/Border[0 0 0]/H/N>> -endobj - -35399 0 obj -<>/P 4621 0 R/Type/Annot/A 35547 0 R/Subtype/Link/Rect[490 279 504 288]/Border[0 0 0]/H/N>> -endobj - -35400 0 obj -<>/P 4621 0 R/Type/Annot/A 35545 0 R/Subtype/Link/Rect[359 269 373 278]/Border[0 0 0]/H/N>> -endobj - -35401 0 obj -<>/P 4621 0 R/Type/Annot/A 35543 0 R/Subtype/Link/Rect[375 269 389 278]/Border[0 0 0]/H/N>> -endobj - -35402 0 obj -<>/P 4621 0 R/Type/Annot/A 35541 0 R/Subtype/Link/Rect[391 269 408 279]/Border[0 0 0]/H/N>> -endobj - -35403 0 obj -<>/P 4621 0 R/Type/Annot/A 35539 0 R/Subtype/Link/Rect[408 269 422 278]/Border[0 0 0]/H/N>> -endobj - -35404 0 obj -<>/P 4621 0 R/Type/Annot/A 35537 0 R/Subtype/Link/Rect[424 269 438 278]/Border[0 0 0]/H/N>> -endobj - -35405 0 obj -<>/P 4621 0 R/Type/Annot/A 35535 0 R/Subtype/Link/Rect[440 269 457 279]/Border[0 0 0]/H/N>> -endobj - -35406 0 obj -<>/P 4621 0 R/Type/Annot/A 35533 0 R/Subtype/Link/Rect[458 269 472 278]/Border[0 0 0]/H/N>> -endobj - -35407 0 obj -<>/P 4621 0 R/Type/Annot/A 35531 0 R/Subtype/Link/Rect[474 269 490 279]/Border[0 0 0]/H/N>> -endobj - -35408 0 obj -<>/P 4621 0 R/Type/Annot/A 35529 0 R/Subtype/Link/Rect[491 269 505 278]/Border[0 0 0]/H/N>> -endobj - -35409 0 obj -<>/P 4621 0 R/Type/Annot/A 35527 0 R/Subtype/Link/Rect[359 259 373 268]/Border[0 0 0]/H/N>> -endobj - -35410 0 obj -<>/P 4621 0 R/Type/Annot/A 35525 0 R/Subtype/Link/Rect[375 259 389 268]/Border[0 0 0]/H/N>> -endobj - -35411 0 obj -<>/P 4621 0 R/Type/Annot/A 35523 0 R/Subtype/Link/Rect[391 259 408 269]/Border[0 0 0]/H/N>> -endobj - -35412 0 obj -<>/P 4621 0 R/Type/Annot/A 35521 0 R/Subtype/Link/Rect[408 259 422 268]/Border[0 0 0]/H/N>> -endobj - -35413 0 obj -<>/P 4621 0 R/Type/Annot/A 35519 0 R/Subtype/Link/Rect[424 259 441 269]/Border[0 0 0]/H/N>> -endobj - -35414 0 obj -<>/P 4621 0 R/Type/Annot/A 35517 0 R/Subtype/Link/Rect[442 259 456 268]/Border[0 0 0]/H/N>> -endobj - -35415 0 obj -<>/P 4621 0 R/Type/Annot/A 35515 0 R/Subtype/Link/Rect[458 259 472 268]/Border[0 0 0]/H/N>> -endobj - -35416 0 obj -<>/P 4621 0 R/Type/Annot/A 35513 0 R/Subtype/Link/Rect[474 259 490 269]/Border[0 0 0]/H/N>> -endobj - -35417 0 obj -<>/P 4621 0 R/Type/Annot/A 35511 0 R/Subtype/Link/Rect[491 259 505 268]/Border[0 0 0]/H/N>> -endobj - -35418 0 obj -<>/P 4621 0 R/Type/Annot/A 35509 0 R/Subtype/Link/Rect[359 249 373 258]/Border[0 0 0]/H/N>> -endobj - -35419 0 obj -<>/P 4621 0 R/Type/Annot/A 35507 0 R/Subtype/Link/Rect[375 249 389 258]/Border[0 0 0]/H/N>> -endobj - -35420 0 obj -<>/P 4621 0 R/Type/Annot/A 35505 0 R/Subtype/Link/Rect[391 249 405 258]/Border[0 0 0]/H/N>> -endobj - -35421 0 obj -<>/P 4621 0 R/Type/Annot/A 35503 0 R/Subtype/Link/Rect[407 249 421 258]/Border[0 0 0]/H/N>> -endobj - -35422 0 obj -<>/P 4621 0 R/Type/Annot/A 35501 0 R/Subtype/Link/Rect[423 249 437 258]/Border[0 0 0]/H/N>> -endobj - -35423 0 obj -<>/P 4621 0 R/Type/Annot/A 35499 0 R/Subtype/Link/Rect[439 249 453 258]/Border[0 0 0]/H/N>> -endobj - -35424 0 obj -<>/P 4621 0 R/Type/Annot/A 35497 0 R/Subtype/Link/Rect[455 249 469 258]/Border[0 0 0]/H/N>> -endobj - -35425 0 obj -<>/P 4621 0 R/Type/Annot/A 35495 0 R/Subtype/Link/Rect[471 249 485 258]/Border[0 0 0]/H/N>> -endobj - -35426 0 obj -<>/P 4621 0 R/Type/Annot/A 35493 0 R/Subtype/Link/Rect[487 249 501 258]/Border[0 0 0]/H/N>> -endobj - -35427 0 obj -<>/P 4621 0 R/Type/Annot/A 35491 0 R/Subtype/Link/Rect[359 239 376 249]/Border[0 0 0]/H/N>> -endobj - -35428 0 obj -<>/P 4621 0 R/Type/Annot/A 35489 0 R/Subtype/Link/Rect[376 239 390 248]/Border[0 0 0]/H/N>> -endobj - -35429 0 obj -<>/P 4621 0 R/Type/Annot/A 35487 0 R/Subtype/Link/Rect[392 239 406 248]/Border[0 0 0]/H/N>> -endobj - -35430 0 obj -<>/P 4621 0 R/Type/Annot/A 35485 0 R/Subtype/Link/Rect[408 239 425 249]/Border[0 0 0]/H/N>> -endobj - -35431 0 obj -<>/P 4621 0 R/Type/Annot/A 35482 0 R/Subtype/Link/Rect[426 239 440 248]/Border[0 0 0]/H/N>> -endobj - -35432 0 obj -<>/P 4621 0 R/Type/Annot/A 35480 0 R/Subtype/Link/Rect[442 239 458 249]/Border[0 0 0]/H/N>> -endobj - -35433 0 obj -<>/P 4621 0 R/Type/Annot/A 35478 0 R/Subtype/Link/Rect[459 239 473 248]/Border[0 0 0]/H/N>> -endobj - -35434 0 obj -<>/P 4621 0 R/Type/Annot/A 35476 0 R/Subtype/Link/Rect[475 239 492 249]/Border[0 0 0]/H/N>> -endobj - -35435 0 obj -<>/P 4621 0 R/Type/Annot/A 35474 0 R/Subtype/Link/Rect[492 239 506 248]/Border[0 0 0]/H/N>> -endobj - -35436 0 obj -<>/P 4621 0 R/Type/Annot/A 35693 0 R/Subtype/Link/Rect[359 229 373 238]/Border[0 0 0]/H/N>> -endobj - -35437 0 obj -<>/P 4621 0 R/Type/Annot/A 35688 0 R/Subtype/Link/Rect[375 229 389 238]/Border[0 0 0]/H/N>> -endobj - -35438 0 obj -<>/P 4621 0 R/Type/Annot/A 35683 0 R/Subtype/Link/Rect[391 229 408 239]/Border[0 0 0]/H/N>> -endobj - -35439 0 obj -<>/P 4621 0 R/Type/Annot/A 35677 0 R/Subtype/Link/Rect[408 229 422 238]/Border[0 0 0]/H/N>> -endobj - -35440 0 obj -<>/P 4621 0 R/Type/Annot/A 35672 0 R/Subtype/Link/Rect[424 229 441 239]/Border[0 0 0]/H/N>> -endobj - -35441 0 obj -<>/P 4621 0 R/Type/Annot/A 35667 0 R/Subtype/Link/Rect[442 229 456 238]/Border[0 0 0]/H/N>> -endobj - -35442 0 obj -<>/P 4621 0 R/Type/Annot/A 35662 0 R/Subtype/Link/Rect[458 229 472 238]/Border[0 0 0]/H/N>> -endobj - -35443 0 obj -<>/P 4621 0 R/Type/Annot/A 35657 0 R/Subtype/Link/Rect[474 229 488 238]/Border[0 0 0]/H/N>> -endobj - -35444 0 obj -<>/P 4621 0 R/Type/Annot/A 35651 0 R/Subtype/Link/Rect[490 229 504 238]/Border[0 0 0]/H/N>> -endobj - -35445 0 obj -<>/P 4621 0 R/Type/Annot/A 35646 0 R/Subtype/Link/Rect[359 219 376 229]/Border[0 0 0]/H/N>> -endobj - -35446 0 obj -<>/P 4621 0 R/Type/Annot/A 35641 0 R/Subtype/Link/Rect[376 219 390 228]/Border[0 0 0]/H/N>> -endobj - -35447 0 obj -<>/P 4621 0 R/Type/Annot/A 35636 0 R/Subtype/Link/Rect[392 219 409 229]/Border[0 0 0]/H/N>> -endobj - -35448 0 obj -<>/P 4621 0 R/Type/Annot/A 35631 0 R/Subtype/Link/Rect[410 219 424 228]/Border[0 0 0]/H/N>> -endobj - -35449 0 obj -<>/P 4621 0 R/Type/Annot/A 35626 0 R/Subtype/Link/Rect[426 219 442 229]/Border[0 0 0]/H/N>> -endobj - -35450 0 obj -<>/P 4621 0 R/Type/Annot/A 35622 0 R/Subtype/Link/Rect[443 219 457 228]/Border[0 0 0]/H/N>> -endobj - -35451 0 obj -<>/P 4621 0 R/Type/Annot/A 35617 0 R/Subtype/Link/Rect[459 219 473 228]/Border[0 0 0]/H/N>> -endobj - -35452 0 obj -<>/P 4621 0 R/Type/Annot/A 35551 0 R/Subtype/Link/Rect[475 219 489 228]/Border[0 0 0]/H/N>> -endobj - -35453 0 obj -<>/P 4621 0 R/Type/Annot/A 35608 0 R/Subtype/Link/Rect[491 219 505 228]/Border[0 0 0]/H/N>> -endobj - -35454 0 obj -<>/P 4621 0 R/Type/Annot/A 35816 0 R/Subtype/Link/Rect[507 219 519 228]/Border[0 0 0]/H/N>> -endobj - -35455 0 obj -<>/P 4621 0 R/Type/Annot/A 35812 0 R/Subtype/Link/Rect[398 209 410 218]/Border[0 0 0]/H/N>> -endobj - -35456 0 obj -<>/P 4621 0 R/Type/Annot/A 35593 0 R/Subtype/Link/Rect[400 199 412 208]/Border[0 0 0]/H/N>> -endobj - -35457 0 obj -<>/P 4621 0 R/Type/Annot/A 35587 0 R/Subtype/Link/Rect[410 189 422 198]/Border[0 0 0]/H/N>> -endobj - -35458 0 obj -<>/P 4621 0 R/Type/Annot/A 35583 0 R/Subtype/Link/Rect[388 179 402 188]/Border[0 0 0]/H/N>> -endobj - -35459 0 obj -<>/P 4621 0 R/Type/Annot/A 35579 0 R/Subtype/Link/Rect[404 179 418 188]/Border[0 0 0]/H/N>> -endobj - -35460 0 obj -<>/P 4621 0 R/Type/Annot/A 35574 0 R/Subtype/Link/Rect[420 179 432 188]/Border[0 0 0]/H/N>> -endobj - -35461 0 obj -<>/P 4621 0 R/Type/Annot/A 35571 0 R/Subtype/Link/Rect[420 169 430 178]/Border[0 0 0]/H/N>> -endobj - -35462 0 obj -<>/P 4621 0 R/Type/Annot/A 35568 0 R/Subtype/Link/Rect[432 169 442 178]/Border[0 0 0]/H/N>> -endobj - -35463 0 obj -<>/P 4621 0 R/Type/Annot/A 35877 0 R/Subtype/Link/Rect[444 169 456 179]/Border[0 0 0]/H/N>> -endobj - -35464 0 obj -<>/P 4621 0 R/Type/Annot/A 35841 0 R/Subtype/Link/Rect[457 169 467 178]/Border[0 0 0]/H/N>> -endobj - -35465 0 obj -<>/P 4621 0 R/Type/Annot/A 35837 0 R/Subtype/Link/Rect[469 169 482 179]/Border[0 0 0]/H/N>> -endobj - -35466 0 obj -<>/P 4621 0 R/Type/Annot/A 35834 0 R/Subtype/Link/Rect[482 169 492 178]/Border[0 0 0]/H/N>> -endobj - -35467 0 obj -<>/P 4621 0 R/Type/Annot/A 35831 0 R/Subtype/Link/Rect[494 169 504 178]/Border[0 0 0]/H/N>> -endobj - -35468 0 obj -<>/P 4621 0 R/Type/Annot/A 35828 0 R/Subtype/Link/Rect[359 159 373 168]/Border[0 0 0]/H/N>> -endobj - -35469 0 obj -<>/P 4621 0 R/Type/Annot/A 35825 0 R/Subtype/Link/Rect[375 159 389 168]/Border[0 0 0]/H/N>> -endobj - -35470 0 obj -<>/P 4621 0 R/Type/Annot/A 35822 0 R/Subtype/Link/Rect[391 159 405 168]/Border[0 0 0]/H/N>> -endobj - -35471 0 obj -<>/P 4621 0 R/Type/Annot/A 35819 0 R/Subtype/Link/Rect[407 159 419 168]/Border[0 0 0]/H/N>> -endobj - -35472 0 obj -<>/P 4621 0 R/Type/Annot/A 35815 0 R/Subtype/Link/Rect[398 149 406 158]/Border[0 0 0]/H/N>> -endobj - -35473 0 obj -<> -endobj - -35474 0 obj -<> -endobj - -35475 0 obj -<> -endobj - -35476 0 obj -<> -endobj - -35477 0 obj -<> -endobj - -35478 0 obj -<> -endobj - -35479 0 obj -<> -endobj - -35480 0 obj -<> -endobj - -35481 0 obj -<> -endobj - -35482 0 obj -<> -endobj - -35483 0 obj -<> -endobj - -35484 0 obj -<> -endobj - -35485 0 obj -<> -endobj - -35486 0 obj -<> -endobj - -35487 0 obj -<> -endobj - -35488 0 obj -<> -endobj - -35489 0 obj -<> -endobj - -35490 0 obj -<> -endobj - -35491 0 obj -<> -endobj - -35492 0 obj -<> -endobj - -35493 0 obj -<> -endobj - -35494 0 obj -<> -endobj - -35495 0 obj -<> -endobj - -35496 0 obj -<> -endobj - -35497 0 obj -<> -endobj - -35498 0 obj -<> -endobj - -35499 0 obj -<> -endobj - -35500 0 obj -<> -endobj - -35501 0 obj -<> -endobj - -35502 0 obj -<> -endobj - -35503 0 obj -<> -endobj - -35504 0 obj -<> -endobj - -35505 0 obj -<> -endobj - -35506 0 obj -<> -endobj - -35507 0 obj -<> -endobj - -35508 0 obj -<> -endobj - -35509 0 obj -<> -endobj - -35510 0 obj -<> -endobj - -35511 0 obj -<> -endobj - -35512 0 obj -<> -endobj - -35513 0 obj -<> -endobj - -35514 0 obj -<> -endobj - -35515 0 obj -<> -endobj - -35516 0 obj -<> -endobj - -35517 0 obj -<> -endobj - -35518 0 obj -<> -endobj - -35519 0 obj -<> -endobj - -35520 0 obj -<> -endobj - -35521 0 obj -<> -endobj - -35522 0 obj -<> -endobj - -35523 0 obj -<> -endobj - -35524 0 obj -<> -endobj - -35525 0 obj -<> -endobj - -35526 0 obj -<> -endobj - -35527 0 obj -<> -endobj - -35528 0 obj -<> -endobj - -35529 0 obj -<> -endobj - -35530 0 obj -<> -endobj - -35531 0 obj -<> -endobj - -35532 0 obj -<> -endobj - -35533 0 obj -<> -endobj - -35534 0 obj -<> -endobj - -35535 0 obj -<> -endobj - -35536 0 obj -<> -endobj - -35537 0 obj -<> -endobj - -35538 0 obj -<> -endobj - -35539 0 obj -<> -endobj - -35540 0 obj -<> -endobj - -35541 0 obj -<> -endobj - -35542 0 obj -<> -endobj - -35543 0 obj -<> -endobj - -35544 0 obj -<> -endobj - -35545 0 obj -<> -endobj - -35546 0 obj -<> -endobj - -35547 0 obj -<> -endobj - -35548 0 obj -<> -endobj - -35549 0 obj -<> -endobj - -35550 0 obj -<> -endobj - -35551 0 obj -<> -endobj - -35552 0 obj -<> -endobj - -35553 0 obj -<> -endobj - -35554 0 obj -<> -endobj - -35555 0 obj -<> -endobj - -35556 0 obj -<> -endobj - -35557 0 obj -<> -endobj - -35558 0 obj -<> -endobj - -35559 0 obj -<> -endobj - -35560 0 obj -<> -endobj - -35561 0 obj -<> -endobj - -35562 0 obj -<> -endobj - -35563 0 obj -<> -endobj - -35564 0 obj -<> -endobj - -35565 0 obj -<> -endobj - -35566 0 obj -<> -endobj - -35567 0 obj -<> -endobj - -35568 0 obj -<> -endobj - -35569 0 obj -<> -endobj - -35570 0 obj -<> -endobj - -35571 0 obj -<> -endobj - -35572 0 obj -<> -endobj - -35573 0 obj -<> -endobj - -35574 0 obj -<> -endobj - -35575 0 obj -<> -endobj - -35576 0 obj -<> -endobj - -35577 0 obj -<> -endobj - -35578 0 obj -<> -endobj - -35579 0 obj -<> -endobj - -35580 0 obj -<> -endobj - -35581 0 obj -<> -endobj - -35582 0 obj -<> -endobj - -35583 0 obj -<> -endobj - -35584 0 obj -<> -endobj - -35585 0 obj -<> -endobj - -35586 0 obj -<> -endobj - -35587 0 obj -<> -endobj - -35588 0 obj -<> -endobj - -35589 0 obj -<> -endobj - -35590 0 obj -<> -endobj - -35591 0 obj -<> -endobj - -35592 0 obj -<> -endobj - -35593 0 obj -<> -endobj - -35594 0 obj -<> -endobj - -35595 0 obj -<> -endobj - -35596 0 obj -<> -endobj - -35597 0 obj -<> -endobj - -35598 0 obj -<> -endobj - -35599 0 obj -<> -endobj - -35600 0 obj -<> -endobj - -35601 0 obj -<> -endobj - -35602 0 obj -<> -endobj - -35603 0 obj -<> -endobj - -35604 0 obj -<> -endobj - -35605 0 obj -<> -endobj - -35606 0 obj -<> -endobj - -35607 0 obj -<> -endobj - -35608 0 obj -<> -endobj - -35609 0 obj -<> -endobj - -35610 0 obj -<> -endobj - -35611 0 obj -<> -endobj - -35612 0 obj -<> -endobj - -35613 0 obj -<> -endobj - -35614 0 obj -<> -endobj - -35615 0 obj -<> -endobj - -35616 0 obj -<> -endobj - -35617 0 obj -<> -endobj - -35618 0 obj -<> -endobj - -35619 0 obj -<> -endobj - -35620 0 obj -<> -endobj - -35621 0 obj -<> -endobj - -35622 0 obj -<> -endobj - -35623 0 obj -<> -endobj - -35624 0 obj -<> -endobj - -35625 0 obj -<> -endobj - -35626 0 obj -<> -endobj - -35627 0 obj -<> -endobj - -35628 0 obj -<> -endobj - -35629 0 obj -<> -endobj - -35630 0 obj -<> -endobj - -35631 0 obj -<> -endobj - -35632 0 obj -<> -endobj - -35633 0 obj -<> -endobj - -35634 0 obj -<> -endobj - -35635 0 obj -<> -endobj - -35636 0 obj -<> -endobj - -35637 0 obj -<> -endobj - -35638 0 obj -<> -endobj - -35639 0 obj -<> -endobj - -35640 0 obj -<> -endobj - -35641 0 obj -<> -endobj - -35642 0 obj -<> -endobj - -35643 0 obj -<> -endobj - -35644 0 obj -<> -endobj - -35645 0 obj -<> -endobj - -35646 0 obj -<> -endobj - -35647 0 obj -<> -endobj - -35648 0 obj -<> -endobj - -35649 0 obj -<> -endobj - -35650 0 obj -<> -endobj - -35651 0 obj -<> -endobj - -35652 0 obj -<> -endobj - -35653 0 obj -<> -endobj - -35654 0 obj -<> -endobj - -35655 0 obj -<> -endobj - -35656 0 obj -<> -endobj - -35657 0 obj -<> -endobj - -35658 0 obj -<> -endobj - -35659 0 obj -<> -endobj - -35660 0 obj -<> -endobj - -35661 0 obj -<> -endobj - -35662 0 obj -<> -endobj - -35663 0 obj -<> -endobj - -35664 0 obj -<> -endobj - -35665 0 obj -<> -endobj - -35666 0 obj -<> -endobj - -35667 0 obj -<> -endobj - -35668 0 obj -<> -endobj - -35669 0 obj -<> -endobj - -35670 0 obj -<> -endobj - -35671 0 obj -<> -endobj - -35672 0 obj -<> -endobj - -35673 0 obj -<> -endobj - -35674 0 obj -<> -endobj - -35675 0 obj -<> -endobj - -35676 0 obj -<> -endobj - -35677 0 obj -<> -endobj - -35678 0 obj -<> -endobj - -35679 0 obj -<> -endobj - -35680 0 obj -<> -endobj - -35681 0 obj -<> -endobj - -35682 0 obj -<> -endobj - -35683 0 obj -<> -endobj - -35684 0 obj -<> -endobj - -35685 0 obj -<> -endobj - -35686 0 obj -<> -endobj - -35687 0 obj -<> -endobj - -35688 0 obj -<> -endobj - -35689 0 obj -<> -endobj - -35690 0 obj -<> -endobj - -35691 0 obj -<> -endobj - -35692 0 obj -<> -endobj - -35693 0 obj -<> -endobj - -35694 0 obj -<> -endobj - -35695 0 obj -<> -endobj - -35696 0 obj -<> -endobj - -35697 0 obj -<> -endobj - -35698 0 obj -<> -endobj - -35699 0 obj -<> -endobj - -35700 0 obj -<> -endobj - -35701 0 obj -<> -endobj - -35702 0 obj -<> -endobj - -35703 0 obj -<> -endobj - -35704 0 obj -<> -endobj - -35705 0 obj -<> -endobj - -35706 0 obj -<> -endobj - -35707 0 obj -<> -endobj - -35708 0 obj -<> -endobj - -35709 0 obj -<> -endobj - -35710 0 obj -<> -endobj - -35711 0 obj -<> -endobj - -35712 0 obj -<> -endobj - -35713 0 obj -<> -endobj - -35714 0 obj -<> -endobj - -35715 0 obj -<> -endobj - -35716 0 obj -<> -endobj - -35717 0 obj -<> -endobj - -35718 0 obj -<> -endobj - -35719 0 obj -<> -endobj - -35720 0 obj -<> -endobj - -35721 0 obj -<> -endobj - -35722 0 obj -<> -endobj - -35723 0 obj -<> -endobj - -35724 0 obj -<> -endobj - -35725 0 obj -<> -endobj - -35726 0 obj -<> -endobj - -35727 0 obj -<> -endobj - -35728 0 obj -<> -endobj - -35729 0 obj -<> -endobj - -35730 0 obj -<> -endobj - -35731 0 obj -<> -endobj - -35732 0 obj -<> -endobj - -35733 0 obj -<> -endobj - -35734 0 obj -<> -endobj - -35735 0 obj -<> -endobj - -35736 0 obj -<> -endobj - -35737 0 obj -<> -endobj - -35738 0 obj -<> -endobj - -35739 0 obj -<> -endobj - -35740 0 obj -<> -endobj - -35741 0 obj -<> -endobj - -35742 0 obj -<> -endobj - -35743 0 obj -<> -endobj - -35744 0 obj -<> -endobj - -35745 0 obj -<> -endobj - -35746 0 obj -<> -endobj - -35747 0 obj -<> -endobj - -35748 0 obj -<> -endobj - -35749 0 obj -<> -endobj - -35750 0 obj -<> -endobj - -35751 0 obj -<> -endobj - -35752 0 obj -<> -endobj - -35753 0 obj -<> -endobj - -35754 0 obj -<> -endobj - -35755 0 obj -<> -endobj - -35756 0 obj -<> -endobj - -35757 0 obj -<> -endobj - -35758 0 obj -<> -endobj - -35759 0 obj -<> -endobj - -35760 0 obj -<> -endobj - -35761 0 obj -<> -endobj - -35762 0 obj -<> -endobj - -35763 0 obj -<> -endobj - -35764 0 obj -<> -endobj - -35765 0 obj -<> -endobj - -35766 0 obj -<> -endobj - -35767 0 obj -<> -endobj - -35768 0 obj -<> -endobj - -35769 0 obj -<> -endobj - -35770 0 obj -<> -endobj - -35771 0 obj -<> -endobj - -35772 0 obj -<> -endobj - -35773 0 obj -<> -endobj - -35774 0 obj -<> -endobj - -35775 0 obj -<> -endobj - -35776 0 obj -<> -endobj - -35777 0 obj -<> -endobj - -35778 0 obj -<> -endobj - -35779 0 obj -<> -endobj - -35780 0 obj -<> -endobj - -35781 0 obj -<> -endobj - -35782 0 obj -<> -endobj - -35783 0 obj -<> -endobj - -35784 0 obj -<> -endobj - -35785 0 obj -<> -endobj - -35786 0 obj -<> -endobj - -35787 0 obj -<> -endobj - -35788 0 obj -<> -endobj - -35789 0 obj -<> -endobj - -35790 0 obj -<> -endobj - -35791 0 obj -<> -endobj - -35792 0 obj -<> -endobj - -35793 0 obj -<> -endobj - -35794 0 obj -<> -endobj - -35795 0 obj -<> -endobj - -35796 0 obj -<> -endobj - -35797 0 obj -<> -endobj - -35798 0 obj -<> -endobj - -35799 0 obj -<> -endobj - -35800 0 obj -<> -endobj - -35801 0 obj -<> -endobj - -35802 0 obj -<> -endobj - -35803 0 obj -<> -endobj - -35804 0 obj -<> -endobj - -35805 0 obj -<> -endobj - -35806 0 obj -<> -endobj - -35807 0 obj -<> -endobj - -35808 0 obj -<> -endobj - -35809 0 obj -<> -endobj - -35810 0 obj -<> -endobj - -35811 0 obj -<> -endobj - -35812 0 obj -<> -endobj - -35813 0 obj -<> -endobj - -35814 0 obj -<> -endobj - -35815 0 obj -<> -endobj - -35816 0 obj -<> -endobj - -35817 0 obj -<> -endobj - -35818 0 obj -<> -endobj - -35819 0 obj -<> -endobj - -35820 0 obj -<> -endobj - -35821 0 obj -<> -endobj - -35822 0 obj -<> -endobj - -35823 0 obj -<> -endobj - -35824 0 obj -<> -endobj - -35825 0 obj -<> -endobj - -35826 0 obj -<> -endobj - -35827 0 obj -<> -endobj - -35828 0 obj -<> -endobj - -35829 0 obj -<> -endobj - -35830 0 obj -<> -endobj - -35831 0 obj -<> -endobj - -35832 0 obj -<> -endobj - -35833 0 obj -<> -endobj - -35834 0 obj -<> -endobj - -35835 0 obj -<> -endobj - -35836 0 obj -<> -endobj - -35837 0 obj -<> -endobj - -35838 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -35839 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -35840 0 obj -<> -endobj - -35841 0 obj -<> -endobj - -35842 0 obj -<> -endobj - -35843 0 obj -<> -endobj - -35844 0 obj -<> -endobj - -35845 0 obj -<> -endobj - -35846 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -35847 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -35848 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -35849 0 obj -<> -stream -H[6F+7;H4-4@"pJZvm&b A`|H}$Շd/_^/W^&7I,,etT2XKṿYq%lˢu}./ ;n>J^EW+I1V# 2 s23ELk%:-wؔ}/ꝇ2}!?9>KX|88-d9[Ҽ]EuuXoLp~-gw,*yx^w5cd5flX>׀"PQpv!$ $ "ҫ "ҫ "ҫ }BO > k"k"k"ҧD4H !қ !қ !қ }Fς> [" ["} ŵ]$ kqQaz\5Gq (Z\s>V⚣􁵒׀"5Gk%a-9HX+ kq (Z\s>V⚣􁵒׀"5Gk%a-9HX+ kqm)Z\sT׀"5GqQaz\EU("}`"5kqQDZEXk"*Z\EU("}`"5kqQDZEXk"*Z\E a-9*Lk@⚣0=EXk"&("}`mBXk@⚣ a-9HXP("}`mBXk"&a-9HX⚣ a-"MXk -P0=9*Lockm8w^J1VfLH,5PEnqt+2/FJ T,rQ|VKU=CbmF?YJ`=H89C+ɜ5''tֿɁ9÷,,Ed|h):v8-K9ǧnzh9zٴtu6vpAjٴ[alZrh19nmt5s<;ߙe̟q{bbh޳yqFX=<fmG]FC<./'0jΰL|p~Xظ2@%:N _ޮgzl&(Ī!4&m귯1ش*gWh#] IeIT~1I&T -+/0#a?劍Ec|x~ѴBZE\ӡ207=׷.t\rяuê.z|ŖrSSTYg:ORѓ}'\9*vF)>z icv!<]fPYgd!iڦCiEs\ ZT}yl0!a{Ta|T,L RiF4nwNE~;#z/yfgQ(zgΏ7n#zfc[pZ;ghgO;aXkq=Y]sw1?.񆮯bYG\R)x_S~}J@%,yDN0uNz|DO;K'6n'JTz5>ߧ<3.U}2qLm󈾶Y3m HuuNm3>֝Yuvf[ikkqx_n\=%\I{>//mv#lFO,VXl-lq?GVbRѼ]Eo߿d endstream -endobj - -35850 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -35851 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -35852 0 obj -<> -endobj - -35853 0 obj -<> -endobj - -35854 0 obj -<> -endobj - -35855 0 obj -<> -endobj - -35856 0 obj -<> -endobj - -35857 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -35858 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -35859 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -35860 0 obj -<> -stream -HWmo8_20")X,}^ -$EJm$9ܯdrEr4~H>3$>W~oX~՛"rQ2_LgZ͎Q¾G5,WCXnmk6kwג}Wj-)&>*a1Yl}bgÄ\L¦ߔ,JMngKu{_H.RQ,{+Q,~'e9u :JB\9@"~v5a[*R8I!*3>JcSzN%D|.DHJe^e^U^U^U>%ا`5^5^5^3}Y>'`s}/E `_K}YA"I!*dE!*d}"TET+ >DJBPj}j%Z߇(}ZIPC>P$TET+ >@}"j}j%ZwZ߇Z߇CTPC>P"TET>@}"Uj}jZ(BQ@PC>P"TE!`V}"Uj}!J >D}>D}BPj}jSBQ@)Z(BQ@)Z߇(}ڔPZ߇(}ڔPC>PmJPC>PmJ!`6%T&T}"T} -ٗ,˔%oanѫutR&>ٹ!nua-Oi)v\,q:7U*À~[ -c 7 pk|L\]_cþƩJ)<-pӈZLb;ko%Ϡ\Od:G%P.%)F`5d˔7Pz dA&Xv8n* mMh_?C}׮zt}wM?]gB^2A}~{A'ߟi *G)X]CZ]S;gkZV9Tfo=9ND~LpxxiRDb1V$#e]qeDI["WoΐsZ 4)c1Ƨk~1 I7ҳ5Zz5a2Uc6.l0 }o>rΖȋyN>Y9$ML -\g*}iAzjGa un_SQ;I%lkfPV=!FbY -%<4PEqz5a@ C E) {"]:PU˶ [zY2Oy{7fپ%$JL5Lz^g֚NLej'4%) f3텥p@yJ8 k2~T_ȸưkW fkBJ\fөޢ5ەGNDK\a:~b^}d۷ּ`T;49 4[NSH^*=A(bZA9bܥyQ4X~?m-rʄnwaAnTtŁ 6^zFæ~{<,]nM{7#$Y{Up`N;$$RCt lk2!Pܘ?+#pu¢rt*fRBq~l  ->V]3Uv"- u|zo߾DQm-4doX̮Ǟ@hc 2;nmX4AY,/YO`neŀiOWg) -UH7\@`v\gkؠ5!D`Q?ڧ2Ӗ) RWb_k -<38ze[0 CmHfb$ZL9_oM;{מ# __Dz$ЇVͼq7[L/SfX~A[-mp\;o"߇SBəIl -}2aP(_ggW%qPd4&tü&GgH2-TE|%\<8~zU!Nj#>_<%"SY"i!% -xy2 BiEsw\puo}>:榭>=;㘁hBV66~ rʞi4aJV B[$srg -ͳMQ\0_OSMFe>MˎG'fzzCswvyS(޶O42iE']KOV"(bkf@h,uϿr1h.2|`X8Vkg\"p۷ yjEr]:N.|%{RVL -#ܯO -!j -4 ҩ.~ h!Ol;4\X4cn.3gh,yLS#,-.ҡylO,:'y^X}XN9bG K3ʽ$}9x6B ex6C, 1W|/J,VgEON6s#KdSQ3fsW\6"՘~6>3}P+Ajzr.A vMVSj#zׯ<&UN-ɕPJSITU;OOenj73d2k3)-KM0FSQA9&,>&z -Duʤz#m Vt6 7 -? - -6Fr@4v0" -ʬ`}kRd!}EHy>cd7lSBVYvdVצN \b1(XּK6ݴ҂kݮAq+uJ\@Sw}ӪYx1/O/-@eUw\E/ -.+g,">Ȕ||"8_47"tjp:狾9sJ awwBHyV#Ubvx|@J)l@ -T/12Ե5/`%Ԏ6puwyqKxIo7y~7kݍ ZZewh]z ^ Qendstream -endobj - -35861 0 obj -<>/P 794 0 R/Type/Annot/A 35862 0 R/Subtype/Link/Rect[93.5992966 469.229004 247.283005 488.908997]/Border[0 0 0]/H/N>> -endobj - -35862 0 obj -<> -endobj - -35863 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -35864 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -35865 0 obj -<> -endobj - -35866 0 obj -<> -endobj - -35867 0 obj -<> -endobj - -35868 0 obj -<> -endobj - -35869 0 obj -<> -endobj - -35870 0 obj -<> -endobj - -35871 0 obj -<> -endobj - -35872 0 obj -<> -endobj - -35873 0 obj -<> -endobj - -35874 0 obj -<> -endobj - -35875 0 obj -<> -endobj - -35876 0 obj -<> -endobj - -35877 0 obj -<> -endobj - -35878 0 obj -<> -endobj - -35879 0 obj -<> -endobj - -35880 0 obj -<> -endobj - -35881 0 obj -<> -endobj - -35882 0 obj -<> -endobj - -35883 0 obj -<> -endobj - -35884 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -35885 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -35886 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -35887 0 obj -<> -stream -HWkoܺ_A_օ#=0nɶ`JwW[֮}g$Ji8!cgQsF}y>gQ_ F}z1-Ŷb\K1d),ƵCVb -S Xk),F}ZŸbbUk),ƵC>pb\K1d1*ƵZ!QV1kZq-ŐŨ\R Yq-Ŷf\K1d),ƵCVb -S Xk),F}Z͸bbՌk),ƵC>pf\K1d1jƵZ!QV3k5Zq-ŐŨ\R Yq-Ŷa\K1d),ƵCVb -S Xk),F}Zøbb5k),ƵC>pa\K1d1ƵZ!Q0k Zq-ŐŨ\kR Yq-ŶQʸb -S Xk)P=Őֈy6z.R,$VUb2`,bgQB(SȺZԻJvѭ3Y,v*wCO z7ȇp>W7pFqtqu< CI SlPun Y@@v[5:Qs9G)K)#E' TmbSۆ7,KZUCD2m`#c3|3uE0MrƼKCYôܸy֡70mݱHu?1w.+n˃sA ;&UIF铸"ǵWcd_*O}9bÓ~LǶCX3c/ J_涊i4mRM2ɞpFn*|Mu+;A+ 98J쇹 a)7~VG&Vf\,j>*礧!fΫZ2x cءZdE{jsK7V~aH~. uԷw=@EUjE ۾kyp1?#r F ExԬ~#E>l Rz(,y,~r3"WPe/R -? XVj*<=tz;FqZ4kk0^_-a} Q -%rsk} }^<6anz5FzE!7Ej8d)CҎ8V'מJ`]nڕ~UoZי"Y᫼4wʗձŝd(i2崙>5nŔSUg&.g+5q՛'Y0IDl[Oz.vXU7 {g/cńkRAvW=ŞXc>+gUۤP`9x.2ٯR?`| Y;kBCٸͦY˵pL}cժAVzMWQᤷM5{Ǒ$6Rjr,dyAw8,.b- ٜsީ2Ac*pV4c;xC|wC=. -wO[pJ/Td9 S"U6<`2neqv~Yx#4\I4TِC&P\nIj۴CSrj7Ҍsx:P=:>B*;Ty,N|ߖ|ݷ?x UApL3\r;7 -XNґ Yx8c,YXp`c]E\Uط|'Pw뱹WS*])$H?bS;S$ Up'b\иr{q;uv3{*;w_,\j$NEuhr+±WġS(xdzWO-ITzC˛6c܌'x9>?ujALl`I8!k8,];,26\1;Q\ &JOx1ؙ,3ne%/<$nusdM.k/Zw̾)7CO9u90˴vKl.l]*-mO(bIU4?:Hc -8dӛɰ5&EAOsFDQ2lc:fkel~(~_aKna I,SIߙqvxz?ϻ3.Ό>T=㐢9็T0TԳ;Ͷwև|ߦOTJN!yՀ'PU8-M6?CͶh7lH+H@:v=p/ ~qЧsOpg[P}CI]ڱ~-yxvM4-o<>^`o<}-zTm%Uʲb7sSp[يYY>J>puթap*5vERXA`ŪR -*ŪVjjQjUZŊ+V,WjإYR#,Xb9rKށK]r@.Rw Rc`;{ TȽX*^j,{r/5vʽ4KjKރK]rA.R Rc`{{ T=ȽX*^j,{r/5vʽK>K]%5rK]r@.R Rc`{ TȽX*^j,r/5v}K>K]r_K]%5rK]M1Le%UワhzjPjoڍx@mby{f݇WizRy FxAӶӐpS&Gl"طh^bi߳+k\[+aܯq~؍øq]K3h.++My]ڞ˜&ykMFLKAۇO/>`yendstream -endobj - -35888 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -35889 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -35890 0 obj -<> -endobj - -35891 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -35892 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -35893 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -35894 0 obj -<> -stream -HWn8}6+v0@n;f$nDGw_U")ul8*VdbCُ߮޽|_z|GE̒\T,<W_ BvDbT]Ճz]_5jkn6F_0I -V, smkeDn'op,E_cisdHv8bu&!I$aâ(xe} `dG `G޲CgA!S.)Ev樃H\Lc ->Dӹ>@Er|J=|P`/<`/<`/=`/=`/=1>c}BO< >اcS}F<>gcs}N={O!ZPCPC!gE!`Vu}"{j]պ>D= -BQ{OPZׇ(ZA!`Vu}"TET+պ>D= -B $Zׇ(Zׇ(CPCS$TET+ պ>@u}"{j]j%Z(BQ{OPCS$TE!`Vu}"{j]_Ąj]|Pj]|Q>{(BQ{O1Zׇ(ژPZׇ(ژPCSmLPCSmL!`6&TE!`6&TETu}Mu}ٻ>@u}ٻ>D ^EBwb6F_< yXݱ( OYl7ێ]]Qn(}qI)y{|l#+~]5(tĦKf" F x.R_T<̢v֬''Ґ"։SJ7y]]37UNZ!ԓX21.2It2uGB?ȹ*zONO4yDq'50w|6V:aB TsëO<Ƅm߃K_p;qxq,ʹ`- -]wr 4:!5d)6CewMHaLGgM.Wt0 \e34Q@z2dPK`%R/uv>{WC䞟1OBAġDyswfX"ExF`N4AWhM7_ثaWcWgrn:lX.궭pD K6 +Aعy3sl<{ۗ`\f1h~kјP)ߙ& jxo돺$N!\s3ܹPyY1\DOzumPOCO>'Y*tiU{~?y< d::/2Q5 -r3W]OC \冩`ϵNyBSz\E -I7-K2B 0p\paSM&,³51:̷Z+2W 3j5͗)XK`ٲՕtn_`ܕ9FH")N Xt-,6,b2.cܽ=Լ2c1^-nAbvWⴐR.$B -ƵFʇ,)dc<}s?cK.;V(4}Zq iN./jM}(ƛq"D"Jw]q_ `K]r@.R Rc` RcfI\ Rcf6П/>aNj" \ǖ fw,+s~:V-= 4GPE2QPm On'i-- G~pmuLMmD;<Ԕնn*n@cvi _zx}\ݿjhCܹfpUc\\G`8FkWqnP_39tq,[yXLO-M}/0:}מ-)(b^}7|cO~|>l׳;gɡ[wBC^Z>励#,ibe㲺fVbrZz*[SLbjW:jqmͫ,zSyn[L VLa>!'ܽ}Z?3ʗcCO}i^ng0Oֵ |ꗏ7oޙiendstream -endobj - -35895 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -35896 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -35897 0 obj -<> -endobj - -35898 0 obj -<> -endobj - -35899 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -35900 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -35901 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -35902 0 obj -<> -stream -HWkۺ. xC]7&vԖK^g}gDJȱ9C!ulײ_~[_})B0~$XI?lWx ؓYɼ-7ޕݕ9ە͇;»YqxR0&-6۲յY/~*9q&Du_-GA?Bqm-fۛw,5σ@Ǐ$xw7@;0ao#%R"7^Ow祡I]Njqx ! gceYBekoczzᨗz騗z騗zWzWz >$ԇP:#B}䨏>&ǎP;cB}O>!'P:SBYN6 \kcr\6,Wp!PV1d -µ6,µ6,BZAƐEw\+kZCq \kc"\kc";km YzǵpmO)[lٛz.vMYWꚧpI-|Wn[,>FOTy־l7 |ޱ_0W Y*OrIJGb ;KI$CxkʧXel=gYS0'ݹD ,b) {we#+qK o_ufky`uzWfKq+]B?]3Gf=j6뼘?ϟ.i1>KY[VOۺZV7BXw/yl尹`]ѣX1o+v6DZ|gENR*_d4?t E)tu:peABXlRvi?(v\*g'q!99ԝ'Hғe)*/˦ 9+%ftU0LCAPe]T,H+~Ŷe -DWZ$>8ۋ:{"ZVYvjs].@0GHu>@D7E!*+vؕm[T]t!U3OOfEdM]w78@9p^Yjm+U٫񂐡JF=_ys>eGab2i %R}S}u+ 3c6Ŧ޽'=.u :M^u S``w(p"G*~-sΡV^tm ݁C̴UC -f B틿Z.x''CMrRZ6Vl'ˉSܼ;,HA"ơo݀y6(͜$ -̢^~q]QX`ď?U6lLO+ g+T<bCO>MOC!#>b7yV=p?v gr]> yMm~wmԘ.>ȱpLK,JK+f4ju0{͊@$@|@nSPFm:b]yٮ_W=>0 <Mo,'M%?;9mb[)O#˕IFF"&v%h|=56I<ԮtwaDDŽq4㦍ql9$\D|2%=^P}tn64ERm{kq.q"Jj^E&XC31tB<ubBa:2Y\6cg9Q˧\/8jESZ74ӡbymi=D|*,ŊabMlj:ϓA%Zx nvk&]drB -K{diP+I&5޾Dn7#HY2Ani -0![oendstream -endobj - -35903 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -35904 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -35905 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -35906 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -35907 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -35908 0 obj -<> -stream -HWo8B_n.6@SE*l'I3dS;'㐏^vC/7޼{'W߾E s\0L xܙSDIqG7}9ԏMo`]v>znWz$>,!5ngW_djwq~87ace,hT"ߢPd[$4?@7}KWqT͸> -sSx4ǐ1`i0d)kOPyy^E^E^E^e^e^U^U^U^u^u>#gP3B} y>'P_ B}ٔ0"Nǐ1`1d} YzZC>p-'\c"k} Xk} Yp!P1`1drµ>,B}ZNǀEǐE\ k9Z;Dp!+Tc"\c -B>,µ>,B}ZAǐE\+kZC>p \c"\c"k} Ypp!PV1d -µ>v$ZCVǀEǐ1d} Xk} Yp!PV1`1dJµ>,B}ZIǀEǐE\+ k%ZZC>p$\c"k})µ>Pp!+Tc -( -'inutN8(MFpc:ׇֺh5<jmfiWǯXx]4aR2`e&/(9L%]\' ʅ%w K -7yN8#Sey".ϫz~|5mGЦ@s:ܛζD2zR6Po/ 2সN_3|N]}(UR)࡬&O;xILO;Zh,G @eMW-PO*W:D^C}0i/4; ^5cfV/3թ^l0[l[=aP{KgGs0Vb "aY/46˜\1 ZzzYH3^=Ql!y_XAY .<>ϓ2at?fmw0IAŪs5}s'q>D=5A`ons+r3<;64by:=+ 7+ng=5hANG9&)p -톹Qxu -T;/ J=yd=.XꩄuS6qu3ax9.n)vcyb3;w7dUS?ǽ9f(Q,Vyke>BSH@rt8 k1&H͗c2VR?,I ׹7{_&^)]iT)}Eq+Z!ubX"'VHC<.RCjjJxH¤PÂE әpC'4c - -WTc_݂PrŅռ} %׶[>z,HJm/q)ӯmMhls,QdRGHx&"Ͱ1g9z1f+SM#k hnNm%e./a ;r}p-G[KlMrd}igBlBL.$܏gBen3Gi3iM9ӅZdc8jpj"׶/1g%en_=Yw_R|)V -UV۪sx?~R&do0SW& ˵'LÕB'ʍDո"OIEIXtѫ1G"sPN -.bHHU6UҾ\%P/beRCi%YRxMخrlԍlܠ;ӛ)sncIoOzˋsy>$T\<$]VR*\cbfj3[QJL%>:1.^UǪ ?Bv1ذٖwWlNzBi]"~ta7BwA@6G&/zJصKEKۙgx0Km7\ͅtWP<L /ֻF/N§6;8NX_T/rI܋ [صʶLڎs SZǶļra6_L2}b7Ȱ|ΥCvLw燋GVwd`=ue&P 6)v_y{וt&!޹l1䩿>wYm znĶ,PE$naˉG^X_7$%pyL0<"|Y^15+贙1"S9s>  rtM6Fx L*8l4"*.7hdf(.6(k9km}7R8yR6"!7 W.p%@ 4e9ZiODYb -8ODW=WD$DL~g "fr"hb Z"^j8њ{C"5J5G"Jʡ'tUЭ5~=OD:%/"ћ "MG1ΑBo@D<"^jqAG Z"3gHޒGY%2x i+3VВv(U8(t?~G5ɰ LGdx|ʾvj}Zj--<-vU wW鲊wfEa:a$8bĮ}ATGާJ:G.gъvؿ1=)tU$4\ͥI0seDx@A5D˴,4+&Ǩ;34HGb> -endobj - -35910 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -35911 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -35912 0 obj -<> -endobj - -35913 0 obj -[606] -endobj - -35914 0 obj -<> -endobj - -35915 0 obj -<> -stream -x]j0D= gc():EAk࿯zAz3gHJ` X gux%mU&*a[@mWF$\h '} kwD:rċAO>S/[F8<*Dc!'it4&U$j~O=?cendstream -endobj - -35916 0 obj -<> -stream -xztUG!LR!M 9q;^.˖j^,r=qz/HB!evC1a?;9ciν}>eaX,֔Mw\5İd[3"0,6Ǜ;g&=;_}:m `˳fϙ;o+.xmX7,]o|gջ^v 7m޲u;w۳0l{a+9l.c}+~U ^uB { 6`aE&l1{ۂmŖ`۰vl[va+) 1Mt1>ŤjgU$, {K&cB9l <0_EBMyOy?^g&̛p'{w7DGO♇~~??n -+x嗆41KL[8mf\W f<4U/w,+fk쟓>:9]>wy^̻4b(7tDdzyQSy{Ao"3ÙRi0ЧrݼB"f)L"Zr4ԜLD9( -뀛9Eabq:2X/nP"Xj{PG.GHӇ-yUl3:=@ -tлYפs2B,cD](tz0'\p -=|b ktCBUY41i3ZBE?黩VȣO&`2A!+l`.albS>PJ6K'Ӱ mM>?w y#*ҡbiIK(\#TTb]!jͯ,#KI'i ,>3{Tp49"<ɶ~ugRAJ  *D1>ᰥs֭/J JJRܟxʩr*hȻ]1kfxbR=5j]1R - (#S - 34?e[3[k,4Z\:"+7[ꙋxV/W1-_]p'x1j74`^2~f0Ʋo&S1ɴV6gM[tiтOы[S&jFoL؁~x(5Ư ->*yYQY"sו8L6@- '@g|YeGo4IUmzM:B|R+d7qQitEӄ8D!U/C #݄1:(8 9KV6L0t Xrimx~ȶmk3"W0o- JOyHB)Qj@N- -L"ǭ{,2G L$- A1Uc`Ia+|{.tt^m^1 -Sc҃ 4E BʿH5bYK$ FQA) Tܡ*@[}nX: 3Dq>O@]\urv8ܡLf^̋HOD -O،3'VCbu:6h5xR~cVzv뾑KO!4QwC8C#D/wS<(RLOJ -y3冸J+:*Z:=}'n%3&G'L[ڧ|UyZhB[ (?e2쀸oړg:\?T,D+ >,XS*Q^ Yd.D!TX" |yy 9`td9r\omo tRRK\bM!hDܱɹ2 T?ԋ+Jc$|LQ*kW׋ClߑӊA$)2R Dٹ(z^0-4oZ*T*򆖲"|AEUNhX"4YAN]"ed` EU?~(kW qС蔺T|$0/0%>i*.\W^3#h{ֲmM (N6T v4G%=}9kPYkoyYy٩HP(Dzz )l_A:bH(jnh{lO)d1mDlJm+r#ϯɎ3Xըf3ǫX/[m5X[48 fq_ `YIpL"_(*']w P}mɿl~ywz!Hr71/0Jf}~ -kt5%rJet*f SkSN݂(EHhdV ;pRd |c7QtG-sk~{g?k<ڴ=t0yl{Su73p}h}MIqc!RsKE !ia^܃gnUxYlg̞o ?(,> &nO !irT<ycmcΚ;.8u$#R|O`'3"HcU\N9Py]G? @ĕn7b{s- Tjtۻ233IUxHLS3Dcz"CjMt΁7*h(vX;]C -?ofц^Q8~j`\`{jFucǙG3o G5t.(c2gX_ -? /Y)2E 2u=y(4Oa -aP2Ѽ&_}Gߘ2Uy[gE4 TևkBHaZ#ٳi,TK6p;|+[rH:-Q'̎ ,bhfڲB[jQUj0RE3{ -lM2m'cJSl -[ޞ%M -1#ڟ;SaΡw%t -M2EInyUߛ5f vUH}2>XR;n`?R~P46ٷx]lܵu@E)џx,Bٿ aLy-YȮCoӦ@&PDR\!ojD -H+~lr( DeI> -Aq=俵nX*)}RP57bP]zczSjX\/#.|wlAG+SC7_·m8nH"Tur"L2kr'm5gzO탌 P̔ryNDccn4=mr>mjԠgrvS W,&Kd,۩eb!%fV9s -KB-v ec%ȾPgj=z[=j "c\oEq&~+,o|S&wSEWݕy`U_K q n\J*goc, MStJ@ȁʬp^< +*ϟVй5,6HV=D{c0h{F۞b )5$!IF|n}NNM$)jLD =%PZqD jJ -5YǞ5Y4TλNW 7U?<\4]xDMn1C0#"v6zsѓ{ДhZ+h3 b.Iy @ֿ-fwzjD+Yⷼ t5iѕ ihRH h*=]j]֪D{COˊzD$6$Gux/^`T42ȳ1ɏx|7m(ܑ%q$66hS .` sgĉ-in,~Aoud\?TAڳ'=} uk1*c3N8^$*n!&ڼ̥9q -UQP,]h)D[#IvDDJ6/҃D*3%֙Q0 f~806r"q,5.ki*eHv2I(J OzPaZq?3ob4%3Hdt6hp5hƂm?m,;}olL*HHBQ>{N9ł l"L@ FJ._TG?l2?47& =DNy@[C"w(\<K?$oBpˋ3Hy;be) ~zշ|qN/p r <|;tιW6JVvb~Wm =dsW0+@GϤDJ0RƉB7d@#\zBfzǑdV9(f&>($c֔QbTsƱ02]J:ŗI1ogR81!<4.?|φ>ӛ!Vk?Ž0YCGO%.E$܅ދΛ5{ؙk|g:w޿.%Bl*O}nA-&TزL9H55COo(p:k.c&0+gb_GgY3s"Wێ:g0n]9g5m?bo`FyR:P? dVT&8__6v&{*L ;)P^슄O05=^2[ FU&\40bstvVaeJecM{nY&w}eoH~0w'&'E~\RN᪡JwB1B1xp.NV&d/"?yVUW k+z.2އ@/u-\O?Z1*a_p8(.-55CSuC?!){ -jls;B cpV- #w{l-%IIWJ=o0;s̳o_ѽpMFSZG9e=R WO__hF>S,8=7F9O#&)R5i;Yxؙ CH -ٽ^v[eH -ICRS91: -/sQL! - ӫ ~HKNClшG`> MeekN LX}`u 0‰L{|K?hY뉯{%Hmpާ>  =1AQQ"Cr@,RYչfn2 RrrNy:c2aq -f tG &z7^th0OB\-`j:R\\#qH쩅o,VfYdzB䟘[*? --nn2oVTH@>isS -%5 neq9b%:5D`+e7 cDuN2~)BExhu1ETL  -ʪX4kt.Aڡ1gR譱8V&j'Re[kR5:!/ UF|k O& Kآ@!-6g\Z+=oŪ9B>s?lF!Hmn:e>͡<]J -:7nNҎ4M͡_ _#)^sIц=W Ju6H_=.RNTjuLAh:BlGUr\-'pǦa"qJΰRdZ=\ya#*/ xcڃ( ӑq5gurA4[/H]oǰ_`&-ļpğ zU~-hs{}ihG7$H5KRH?릨&'VlJ%ru -~#`9h` ՃѠ"}2 >"XqBMp~9҄nfRbӀwdeWoxAC>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -35918 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -35919 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -35920 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -35921 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -35922 0 obj -<> -stream -HWio_1M*˘pk {dC6S#,-{/)ҽׯbQGgΜ9>Uݠ=:z 'OxM*-ά3SS5Q."j#aU}lͩUFϣ&ITJTyR::rF4Ng_o>˵ɮz]lmv©In ܧ}&ϘLp1>gs}/s_ ܗ})g5Bi)Z!R Y=ŐS XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` Vh-Ő%gBk),C -Vh-֑ZK1dqZ!{Kh-Ő%guBk),=kZK1` Nh-Ő%guBk),C Nh-ŀ%bܳ:C :Bk),bZK1dqCwO1` ^h-Ő%gBk),C ^h-ŀ%bܳzC R Y{Z/bܳz[GZ!R Y=Őݗ,Kw\G|QV*|šV=VeFV}"uxlE|}u駧󿟾y1[#h^{B7#}lM2kDĻYN_)$>alګ9 CuS A=}li>ihޜzXn -Swqܮ"dڌzJ(EG7Ҟe -7޽j%VhWggmf j5kw~ZxO>L J[?JaOƃCs¶@3zWN;}ߙ>+zanALj.wvElu@p/}7 =6R8w}ﰭ52_&:YՙD@$†Fժ].Fv7{'-{uk+zho1|'ܝJI܅a5R[=c^!f$^ ."~EP YbZ^L ZiVʴRA+eZ1LʘV.hL+rUZ*iVɴJAZ6ZCעe ӲeZVbB),A --{+bX{!KbB),A --{+bX{!kQ XB),A -{'bX{!KbwB),A -{'bX{!KbwB),A ŀ%bX{!KbB),A -{/bX{!KbB),A -{/bXS!CעS Y\  Oo.yt47N5?.sr&8ȒAib^Gz >T AW2@S$:,Ng+DOz=IYЩ\} -zUB?>YG)en'Q٤;}$ 3$nkx=t܇?6%MotlvXV׳*\u)]de{53Y/5UEF(kc8"1hge7+MU ̻NPM_.}}"Li-mܴj6MXl~hݺnh&I9tWS5#VȅK.J6⸎Uۇ~}^r\4Tp6+[[`$'_tz<_g{^ o[폺ؾߥ.w}_f}üр쇪Ŝ;ZsH;0ͻvs3&MNlQ+g7`A1݇2pqy ~ꏮ*7}Vw6wC/CuNWNeFdVgk,WqC29n'(.kX%UiS޽ \J8|b֥nFzI6>,&kl0]L!з,=&>!q -m[N6MWCЪm썕R ;㪊+m*ZbbH!N~3/+l 7|5\1D01El>t@f|!%zE\u6.n++.#(N}cB?ĒA\@qaY'|K=1] -=wM5K -| -r/XE -X?{nֵ9kY@RZ[y\@:wUA=7$s*~Cbt'B񿏬<Z|wjtri- /V^8mO{ -I5zZџn28'wLJBUy=[|Z&ڨ9 A5FxYxwb *NP$0 s- 56 -,>fU^Ul'%Ҳ1tFa";D15V ,`\-N;(^67|6~eMA¬g_WўY1iuW2o-Ii/x=}jww^`qendstream -endobj - -35923 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -35924 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -35925 0 obj -<> -endobj - -35926 0 obj -<> -endobj - -35927 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -35928 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -35929 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -35930 0 obj -<> -stream -HWmy0 Ԏ$hN`:-$3jݽdm3:˗w!ūWxSRVQWaN Z7?ľSVTw6͛mZݏt^/ˇ*&RDa[e]u~v%aaժCF{$Z !+S()~A7_ŇߥUWkSsWE?0!Qmn#T>dŨ6a_0mb5js6B1 FP BQmnCF(}Zè6a_0mbTŰ/Tk6B1 FmWYFP%܆(FP%F}cFHzJ,A೮y4v!0GDO @ܕ]9 up0LJHZ@5(1ZAbvLF~@qg㎮s&kUf@JtBh_ZM -nT١X\lo֏,sc pm>o}&X-&Њ%֏#o!}iĂg#{CWXly -Ay3MOԐ x{`q<:3w31?\=C$ -ÅӍ$dBI?% nT QX*,Ok!%Q5%q T}a0 -ɃUfI9]~B *YKk,R=VkR mC/sa72l3KԸ`*jy%l hƛոzkr8h:*̹ -74犭xt[sMVyi+v:zScݚv bBG"_. -XgmZ bVбhiͣG=#lӢՓVy~xtY9CھCLweu -7isZ8fD:H\>&"M۝n3q4Hu f:s Lu[ZpRORNA{4#\gL1F -<Et覅6q44A-ɎإuEgO/is+=#@@;\ٛzg..%0!qǨ StC5ĉ2е[lY~X*[b̊6b48cY|Rrp4[ZCJkz?9,vdnIdK\RE$ܼz=2|h8*nhؾ^96 jrx;Kj`c+wIMw-eCrNn+ )DKrr֜Lwtfй'Qh8 ?I8ō*yċ7.$kq5X~ډ`Brͻf=:㰴љq딬eqf_;W^T}pzyIN)΀ yoQka{>G(t}߳{~Ry܈Oͮ-==t^ fܫg3ceL7]?Lö7k#ϫ;; - 5\SB 琐zs:Fe´ Gb hXtD4 `,3e&R*4E nxOkut~~_~y}oX>pL;E|O5n>ø3?o͐X0X%G,^rF|4L-̈];۠jv|b6/ hZ@qSehLsePW|X;R!r4xd<O)f׼1ß/|Ov)# WRĸ@FK}|T)o>SOV\ʓyʱ;'hmpFPx"mmrXچͿKٙ4[>CanW.hV~2<.&̳9θނ]_Ʃ+G83+xMwxq;5#BU Rv b͟vPK(ljy9V|EbZLdd'z597JL,1b/kGRx¤*r8b(wUcB_G͂8k3~{yFdl'KqL9;ak<<Ȯ^F-_:EyGsڦ -`i~KS[L ,Y( beDkI@x;Z47-+7mTJi:, 1$vr]6ӨHiy0&YjH+pr5X;SS|B?;a{0F=C7l3ϛڝ{.(J%q^l.DDǞ6J_ƥ\ %XߪcOPOo/d~QWgMNt9 -7q+f5ysǮjE1 @jϛHB#=" iQ2)4foq듳O%bqtF66YtX/gQ;#KidLӝPNf_X6_κ gdNy==_lD؉ɋ2R"?߻_Bopu2%{E1sy e:$QaI,6g(^=_tIOOU:sSp w#Gl2Ҳ<* *G/^{{9IKJGJI@)E.J9Jv% Tj9ckLj$7[v8&A_շyfd\8Ț5<4uo g (")ߞ EɺPKSa%f7} -bbZVR5Inܹ&9 .Uxّ+Ҭ }{Q6j7''endstream -endobj - -35931 0 obj -<>/P 4252 0 R/Type/Annot/A 36494 0 R/Subtype/Link/Rect[151 670 165 678]/Border[0 0 0]/H/N>> -endobj - -35932 0 obj -<>/P 4252 0 R/Type/Annot/A 36489 0 R/Subtype/Link/Rect[167 670 181 678]/Border[0 0 0]/H/N>> -endobj - -35933 0 obj -<>/P 4252 0 R/Type/Annot/A 36484 0 R/Subtype/Link/Rect[183 670 197 678]/Border[0 0 0]/H/N>> -endobj - -35934 0 obj -<>/P 4252 0 R/Type/Annot/A 36479 0 R/Subtype/Link/Rect[199 670 213 678]/Border[0 0 0]/H/N>> -endobj - -35935 0 obj -<>/P 4252 0 R/Type/Annot/A 36474 0 R/Subtype/Link/Rect[215 670 229 678]/Border[0 0 0]/H/N>> -endobj - -35936 0 obj -<>/P 4252 0 R/Type/Annot/A 36469 0 R/Subtype/Link/Rect[231 670 245 678]/Border[0 0 0]/H/N>> -endobj - -35937 0 obj -<>/P 4252 0 R/Type/Annot/A 36464 0 R/Subtype/Link/Rect[247 670 261 678]/Border[0 0 0]/H/N>> -endobj - -35938 0 obj -<>/P 4252 0 R/Type/Annot/A 36460 0 R/Subtype/Link/Rect[263 670 277 678]/Border[0 0 0]/H/N>> -endobj - -35939 0 obj -<>/P 4252 0 R/Type/Annot/A 36455 0 R/Subtype/Link/Rect[279 670 293 678]/Border[0 0 0]/H/N>> -endobj - -35940 0 obj -<>/P 4252 0 R/Type/Annot/A 36451 0 R/Subtype/Link/Rect[295 670 309 678]/Border[0 0 0]/H/N>> -endobj - -35941 0 obj -<>/P 4252 0 R/Type/Annot/A 36446 0 R/Subtype/Link/Rect[151 660 165 668]/Border[0 0 0]/H/N>> -endobj - -35942 0 obj -<>/P 4252 0 R/Type/Annot/A 36679 0 R/Subtype/Link/Rect[167 660 184 669]/Border[0 0 0]/H/N>> -endobj - -35943 0 obj -<>/P 4252 0 R/Type/Annot/A 36674 0 R/Subtype/Link/Rect[184 660 198 668]/Border[0 0 0]/H/N>> -endobj - -35944 0 obj -<>/P 4252 0 R/Type/Annot/A 36671 0 R/Subtype/Link/Rect[200 660 217 669]/Border[0 0 0]/H/N>> -endobj - -35945 0 obj -<>/P 4252 0 R/Type/Annot/A 36668 0 R/Subtype/Link/Rect[218 660 232 668]/Border[0 0 0]/H/N>> -endobj - -35946 0 obj -<>/P 4252 0 R/Type/Annot/A 36665 0 R/Subtype/Link/Rect[234 660 248 668]/Border[0 0 0]/H/N>> -endobj - -35947 0 obj -<>/P 4252 0 R/Type/Annot/A 36662 0 R/Subtype/Link/Rect[250 660 266 669]/Border[0 0 0]/H/N>> -endobj - -35948 0 obj -<>/P 4252 0 R/Type/Annot/A 36659 0 R/Subtype/Link/Rect[267 660 281 668]/Border[0 0 0]/H/N>> -endobj - -35949 0 obj -<>/P 4252 0 R/Type/Annot/A 36656 0 R/Subtype/Link/Rect[283 660 297 668]/Border[0 0 0]/H/N>> -endobj - -35950 0 obj -<>/P 4252 0 R/Type/Annot/A 36653 0 R/Subtype/Link/Rect[151 650 165 658]/Border[0 0 0]/H/N>> -endobj - -35951 0 obj -<>/P 4252 0 R/Type/Annot/A 36650 0 R/Subtype/Link/Rect[167 650 181 658]/Border[0 0 0]/H/N>> -endobj - -35952 0 obj -<>/P 4252 0 R/Type/Annot/A 36647 0 R/Subtype/Link/Rect[183 650 197 658]/Border[0 0 0]/H/N>> -endobj - -35953 0 obj -<>/P 4252 0 R/Type/Annot/A 36644 0 R/Subtype/Link/Rect[199 650 213 658]/Border[0 0 0]/H/N>> -endobj - -35954 0 obj -<>/P 4252 0 R/Type/Annot/A 36641 0 R/Subtype/Link/Rect[215 650 229 658]/Border[0 0 0]/H/N>> -endobj - -35955 0 obj -<>/P 4252 0 R/Type/Annot/A 36638 0 R/Subtype/Link/Rect[231 650 245 658]/Border[0 0 0]/H/N>> -endobj - -35956 0 obj -<>/P 4252 0 R/Type/Annot/A 36635 0 R/Subtype/Link/Rect[247 650 259 658]/Border[0 0 0]/H/N>> -endobj - -35957 0 obj -<>/P 4252 0 R/Type/Annot/A 36632 0 R/Subtype/Link/Rect[192 640 209 649]/Border[0 0 0]/H/N>> -endobj - -35958 0 obj -<>/P 4252 0 R/Type/Annot/A 36628 0 R/Subtype/Link/Rect[210 640 224 648]/Border[0 0 0]/H/N>> -endobj - -35959 0 obj -<>/P 4252 0 R/Type/Annot/A 36624 0 R/Subtype/Link/Rect[226 640 240 648]/Border[0 0 0]/H/N>> -endobj - -35960 0 obj -<>/P 4252 0 R/Type/Annot/A 36620 0 R/Subtype/Link/Rect[242 640 258 649]/Border[0 0 0]/H/N>> -endobj - -35961 0 obj -<>/P 4252 0 R/Type/Annot/A 36616 0 R/Subtype/Link/Rect[259 640 273 648]/Border[0 0 0]/H/N>> -endobj - -35962 0 obj -<>/P 4252 0 R/Type/Annot/A 36612 0 R/Subtype/Link/Rect[275 640 289 648]/Border[0 0 0]/H/N>> -endobj - -35963 0 obj -<>/P 4252 0 R/Type/Annot/A 36608 0 R/Subtype/Link/Rect[151 630 168 639]/Border[0 0 0]/H/N>> -endobj - -35964 0 obj -<>/P 4252 0 R/Type/Annot/A 36603 0 R/Subtype/Link/Rect[168 630 182 638]/Border[0 0 0]/H/N>> -endobj - -35965 0 obj -<>/P 4252 0 R/Type/Annot/A 36599 0 R/Subtype/Link/Rect[184 630 198 638]/Border[0 0 0]/H/N>> -endobj - -35966 0 obj -<>/P 4252 0 R/Type/Annot/A 36594 0 R/Subtype/Link/Rect[200 630 214 638]/Border[0 0 0]/H/N>> -endobj - -35967 0 obj -<>/P 4252 0 R/Type/Annot/A 36590 0 R/Subtype/Link/Rect[216 630 230 638]/Border[0 0 0]/H/N>> -endobj - -35968 0 obj -<>/P 4252 0 R/Type/Annot/A 36586 0 R/Subtype/Link/Rect[232 630 249 639]/Border[0 0 0]/H/N>> -endobj - -35969 0 obj -<>/P 4252 0 R/Type/Annot/A 36583 0 R/Subtype/Link/Rect[250 630 264 638]/Border[0 0 0]/H/N>> -endobj - -35970 0 obj -<>/P 4252 0 R/Type/Annot/A 36580 0 R/Subtype/Link/Rect[266 630 280 638]/Border[0 0 0]/H/N>> -endobj - -35971 0 obj -<>/P 4252 0 R/Type/Annot/A 36577 0 R/Subtype/Link/Rect[282 630 296 638]/Border[0 0 0]/H/N>> -endobj - -35972 0 obj -<>/P 4252 0 R/Type/Annot/A 36574 0 R/Subtype/Link/Rect[151 620 168 629]/Border[0 0 0]/H/N>> -endobj - -35973 0 obj -<>/P 4252 0 R/Type/Annot/A 36572 0 R/Subtype/Link/Rect[168 620 182 628]/Border[0 0 0]/H/N>> -endobj - -35974 0 obj -<>/P 4252 0 R/Type/Annot/A 36569 0 R/Subtype/Link/Rect[184 620 198 628]/Border[0 0 0]/H/N>> -endobj - -35975 0 obj -<>/P 4252 0 R/Type/Annot/A 36565 0 R/Subtype/Link/Rect[200 620 214 628]/Border[0 0 0]/H/N>> -endobj - -35976 0 obj -<>/P 4252 0 R/Type/Annot/A 36561 0 R/Subtype/Link/Rect[216 620 230 628]/Border[0 0 0]/H/N>> -endobj - -35977 0 obj -<>/P 4252 0 R/Type/Annot/A 36557 0 R/Subtype/Link/Rect[232 620 244 628]/Border[0 0 0]/H/N>> -endobj - -35978 0 obj -<>/P 4252 0 R/Type/Annot/A 36553 0 R/Subtype/Link/Rect[190 610 202 618]/Border[0 0 0]/H/N>> -endobj - -35979 0 obj -<>/P 4252 0 R/Type/Annot/A 36549 0 R/Subtype/Link/Rect[197 600 214 609]/Border[0 0 0]/H/N>> -endobj - -35980 0 obj -<>/P 4252 0 R/Type/Annot/A 36545 0 R/Subtype/Link/Rect[215 600 229 608]/Border[0 0 0]/H/N>> -endobj - -35981 0 obj -<>/P 4252 0 R/Type/Annot/A 36541 0 R/Subtype/Link/Rect[231 600 245 608]/Border[0 0 0]/H/N>> -endobj - -35982 0 obj -<>/P 4252 0 R/Type/Annot/A 36537 0 R/Subtype/Link/Rect[247 600 261 608]/Border[0 0 0]/H/N>> -endobj - -35983 0 obj -<>/P 4252 0 R/Type/Annot/A 36533 0 R/Subtype/Link/Rect[263 600 275 608]/Border[0 0 0]/H/N>> -endobj - -35984 0 obj -<>/P 4252 0 R/Type/Annot/A 36529 0 R/Subtype/Link/Rect[190 590 202 598]/Border[0 0 0]/H/N>> -endobj - -35985 0 obj -<>/P 4252 0 R/Type/Annot/A 36525 0 R/Subtype/Link/Rect[197 580 210 589]/Border[0 0 0]/H/N>> -endobj - -35986 0 obj -<>/P 4252 0 R/Type/Annot/A 36521 0 R/Subtype/Link/Rect[211 580 221 588]/Border[0 0 0]/H/N>> -endobj - -35987 0 obj -<>/P 4252 0 R/Type/Annot/A 36517 0 R/Subtype/Link/Rect[223 580 233 588]/Border[0 0 0]/H/N>> -endobj - -35988 0 obj -<>/P 4252 0 R/Type/Annot/A 36513 0 R/Subtype/Link/Rect[235 580 251 589]/Border[0 0 0]/H/N>> -endobj - -35989 0 obj -<>/P 4252 0 R/Type/Annot/A 36509 0 R/Subtype/Link/Rect[252 580 266 588]/Border[0 0 0]/H/N>> -endobj - -35990 0 obj -<>/P 4252 0 R/Type/Annot/A 36506 0 R/Subtype/Link/Rect[268 580 285 589]/Border[0 0 0]/H/N>> -endobj - -35991 0 obj -<>/P 4252 0 R/Type/Annot/A 36502 0 R/Subtype/Link/Rect[285 580 299 588]/Border[0 0 0]/H/N>> -endobj - -35992 0 obj -<>/P 4252 0 R/Type/Annot/A 36498 0 R/Subtype/Link/Rect[151 570 168 579]/Border[0 0 0]/H/N>> -endobj - -35993 0 obj -<>/P 4252 0 R/Type/Annot/A 36330 0 R/Subtype/Link/Rect[168 570 182 578]/Border[0 0 0]/H/N>> -endobj - -35994 0 obj -<>/P 4252 0 R/Type/Annot/A 36490 0 R/Subtype/Link/Rect[184 570 198 578]/Border[0 0 0]/H/N>> -endobj - -35995 0 obj -<>/P 4252 0 R/Type/Annot/A 36485 0 R/Subtype/Link/Rect[200 570 214 578]/Border[0 0 0]/H/N>> -endobj - -35996 0 obj -<>/P 4252 0 R/Type/Annot/A 36480 0 R/Subtype/Link/Rect[216 570 228 578]/Border[0 0 0]/H/N>> -endobj - -35997 0 obj -<>/P 4252 0 R/Type/Annot/A 36475 0 R/Subtype/Link/Rect[190 560 202 568]/Border[0 0 0]/H/N>> -endobj - -35998 0 obj -<>/P 4252 0 R/Type/Annot/A 36470 0 R/Subtype/Link/Rect[192 550 209 559]/Border[0 0 0]/H/N>> -endobj - -35999 0 obj -<>/P 4252 0 R/Type/Annot/A 36465 0 R/Subtype/Link/Rect[210 550 224 558]/Border[0 0 0]/H/N>> -endobj - -36000 0 obj -<>/P 4252 0 R/Type/Annot/A 36461 0 R/Subtype/Link/Rect[226 550 238 558]/Border[0 0 0]/H/N>> -endobj - -36001 0 obj -<>/P 4252 0 R/Type/Annot/A 36456 0 R/Subtype/Link/Rect[190 540 202 548]/Border[0 0 0]/H/N>> -endobj - -36002 0 obj -<>/P 4252 0 R/Type/Annot/A 36452 0 R/Subtype/Link/Rect[197 530 214 539]/Border[0 0 0]/H/N>> -endobj - -36003 0 obj -<>/P 4252 0 R/Type/Annot/A 36447 0 R/Subtype/Link/Rect[215 530 229 538]/Border[0 0 0]/H/N>> -endobj - -36004 0 obj -<>/P 4252 0 R/Type/Annot/A 36443 0 R/Subtype/Link/Rect[231 530 245 538]/Border[0 0 0]/H/N>> -endobj - -36005 0 obj -<>/P 4252 0 R/Type/Annot/A 36439 0 R/Subtype/Link/Rect[247 530 261 538]/Border[0 0 0]/H/N>> -endobj - -36006 0 obj -<>/P 4252 0 R/Type/Annot/A 36437 0 R/Subtype/Link/Rect[263 530 275 538]/Border[0 0 0]/H/N>> -endobj - -36007 0 obj -<>/P 4252 0 R/Type/Annot/A 36435 0 R/Subtype/Link/Rect[190 520 202 528]/Border[0 0 0]/H/N>> -endobj - -36008 0 obj -<>/P 4252 0 R/Type/Annot/A 36431 0 R/Subtype/Link/Rect[197 510 214 519]/Border[0 0 0]/H/N>> -endobj - -36009 0 obj -<>/P 4252 0 R/Type/Annot/A 36427 0 R/Subtype/Link/Rect[215 510 229 518]/Border[0 0 0]/H/N>> -endobj - -36010 0 obj -<>/P 4252 0 R/Type/Annot/A 36423 0 R/Subtype/Link/Rect[231 510 245 518]/Border[0 0 0]/H/N>> -endobj - -36011 0 obj -<>/P 4252 0 R/Type/Annot/A 36420 0 R/Subtype/Link/Rect[247 510 263 519]/Border[0 0 0]/H/N>> -endobj - -36012 0 obj -<>/P 4252 0 R/Type/Annot/A 36417 0 R/Subtype/Link/Rect[264 510 276 518]/Border[0 0 0]/H/N>> -endobj - -36013 0 obj -<>/P 4252 0 R/Type/Annot/A 36415 0 R/Subtype/Link/Rect[190 500 202 508]/Border[0 0 0]/H/N>> -endobj - -36014 0 obj -<>/P 4252 0 R/Type/Annot/A 36413 0 R/Subtype/Link/Rect[212 490 229 499]/Border[0 0 0]/H/N>> -endobj - -36015 0 obj -<>/P 4252 0 R/Type/Annot/A 36411 0 R/Subtype/Link/Rect[229 490 241 498]/Border[0 0 0]/H/N>> -endobj - -36016 0 obj -<>/P 4252 0 R/Type/Annot/A 36409 0 R/Subtype/Link/Rect[192 480 206 488]/Border[0 0 0]/H/N>> -endobj - -36017 0 obj -<>/P 4252 0 R/Type/Annot/A 36407 0 R/Subtype/Link/Rect[208 480 222 488]/Border[0 0 0]/H/N>> -endobj - -36018 0 obj -<>/P 4252 0 R/Type/Annot/A 36405 0 R/Subtype/Link/Rect[224 480 241 489]/Border[0 0 0]/H/N>> -endobj - -36019 0 obj -<>/P 4252 0 R/Type/Annot/A 36403 0 R/Subtype/Link/Rect[242 480 256 488]/Border[0 0 0]/H/N>> -endobj - -36020 0 obj -<>/P 4252 0 R/Type/Annot/A 36401 0 R/Subtype/Link/Rect[258 480 272 488]/Border[0 0 0]/H/N>> -endobj - -36021 0 obj -<>/P 4252 0 R/Type/Annot/A 36399 0 R/Subtype/Link/Rect[274 480 288 488]/Border[0 0 0]/H/N>> -endobj - -36022 0 obj -<>/P 4252 0 R/Type/Annot/A 36397 0 R/Subtype/Link/Rect[290 480 304 488]/Border[0 0 0]/H/N>> -endobj - -36023 0 obj -<>/P 4252 0 R/Type/Annot/A 36395 0 R/Subtype/Link/Rect[151 470 165 478]/Border[0 0 0]/H/N>> -endobj - -36024 0 obj -<>/P 4252 0 R/Type/Annot/A 36393 0 R/Subtype/Link/Rect[167 470 181 478]/Border[0 0 0]/H/N>> -endobj - -36025 0 obj -<>/P 4252 0 R/Type/Annot/A 36391 0 R/Subtype/Link/Rect[183 470 195 478]/Border[0 0 0]/H/N>> -endobj - -36026 0 obj -<>/P 4252 0 R/Type/Annot/A 36389 0 R/Subtype/Link/Rect[190 460 202 468]/Border[0 0 0]/H/N>> -endobj - -36027 0 obj -<>/P 4252 0 R/Type/Annot/A 36387 0 R/Subtype/Link/Rect[192 450 206 458]/Border[0 0 0]/H/N>> -endobj - -36028 0 obj -<>/P 4252 0 R/Type/Annot/A 36385 0 R/Subtype/Link/Rect[208 450 222 458]/Border[0 0 0]/H/N>> -endobj - -36029 0 obj -<>/P 4252 0 R/Type/Annot/A 36383 0 R/Subtype/Link/Rect[224 450 241 459]/Border[0 0 0]/H/N>> -endobj - -36030 0 obj -<>/P 4252 0 R/Type/Annot/A 36381 0 R/Subtype/Link/Rect[242 450 256 458]/Border[0 0 0]/H/N>> -endobj - -36031 0 obj -<>/P 4252 0 R/Type/Annot/A 36379 0 R/Subtype/Link/Rect[258 450 274 459]/Border[0 0 0]/H/N>> -endobj - -36032 0 obj -<>/P 4252 0 R/Type/Annot/A 36377 0 R/Subtype/Link/Rect[275 450 289 458]/Border[0 0 0]/H/N>> -endobj - -36033 0 obj -<>/P 4252 0 R/Type/Annot/A 36375 0 R/Subtype/Link/Rect[151 440 168 449]/Border[0 0 0]/H/N>> -endobj - -36034 0 obj -<>/P 4252 0 R/Type/Annot/A 36373 0 R/Subtype/Link/Rect[168 440 182 448]/Border[0 0 0]/H/N>> -endobj - -36035 0 obj -<>/P 4252 0 R/Type/Annot/A 36371 0 R/Subtype/Link/Rect[184 440 198 448]/Border[0 0 0]/H/N>> -endobj - -36036 0 obj -<>/P 4252 0 R/Type/Annot/A 36369 0 R/Subtype/Link/Rect[200 440 214 448]/Border[0 0 0]/H/N>> -endobj - -36037 0 obj -<>/P 4252 0 R/Type/Annot/A 36367 0 R/Subtype/Link/Rect[216 440 230 448]/Border[0 0 0]/H/N>> -endobj - -36038 0 obj -<>/P 4252 0 R/Type/Annot/A 36365 0 R/Subtype/Link/Rect[232 440 246 448]/Border[0 0 0]/H/N>> -endobj - -36039 0 obj -<>/P 4252 0 R/Type/Annot/A 36363 0 R/Subtype/Link/Rect[248 440 262 448]/Border[0 0 0]/H/N>> -endobj - -36040 0 obj -<>/P 4252 0 R/Type/Annot/A 36360 0 R/Subtype/Link/Rect[264 440 278 448]/Border[0 0 0]/H/N>> -endobj - -36041 0 obj -<>/P 4252 0 R/Type/Annot/A 36357 0 R/Subtype/Link/Rect[280 440 294 448]/Border[0 0 0]/H/N>> -endobj - -36042 0 obj -<>/P 4252 0 R/Type/Annot/A 36354 0 R/Subtype/Link/Rect[296 440 310 448]/Border[0 0 0]/H/N>> -endobj - -36043 0 obj -<>/P 4252 0 R/Type/Annot/A 36351 0 R/Subtype/Link/Rect[151 430 163 438]/Border[0 0 0]/H/N>> -endobj - -36044 0 obj -<>/P 4252 0 R/Type/Annot/A 36349 0 R/Subtype/Link/Rect[190 420 202 428]/Border[0 0 0]/H/N>> -endobj - -36045 0 obj -<>/P 4252 0 R/Type/Annot/A 36347 0 R/Subtype/Link/Rect[188 410 194 418]/Border[0 0 0]/H/N>> -endobj - -36046 0 obj -<>/P 4252 0 R/Type/Annot/A 36345 0 R/Subtype/Link/Rect[196 410 210 418]/Border[0 0 0]/H/N>> -endobj - -36047 0 obj -<>/P 4252 0 R/Type/Annot/A 36343 0 R/Subtype/Link/Rect[212 410 226 418]/Border[0 0 0]/H/N>> -endobj - -36048 0 obj -<>/P 4252 0 R/Type/Annot/A 36341 0 R/Subtype/Link/Rect[228 410 244 419]/Border[0 0 0]/H/N>> -endobj - -36049 0 obj -<>/P 4252 0 R/Type/Annot/A 36339 0 R/Subtype/Link/Rect[245 410 259 418]/Border[0 0 0]/H/N>> -endobj - -36050 0 obj -<>/P 4252 0 R/Type/Annot/A 36337 0 R/Subtype/Link/Rect[261 410 275 418]/Border[0 0 0]/H/N>> -endobj - -36051 0 obj -<>/P 4252 0 R/Type/Annot/A 36336 0 R/Subtype/Link/Rect[277 410 291 418]/Border[0 0 0]/H/N>> -endobj - -36052 0 obj -<>/P 4252 0 R/Type/Annot/A 36335 0 R/Subtype/Link/Rect[151 400 168 409]/Border[0 0 0]/H/N>> -endobj - -36053 0 obj -<>/P 4252 0 R/Type/Annot/A 36334 0 R/Subtype/Link/Rect[168 400 182 408]/Border[0 0 0]/H/N>> -endobj - -36054 0 obj -<>/P 4252 0 R/Type/Annot/A 36333 0 R/Subtype/Link/Rect[184 400 198 408]/Border[0 0 0]/H/N>> -endobj - -36055 0 obj -<>/P 4252 0 R/Type/Annot/A 36332 0 R/Subtype/Link/Rect[200 400 214 408]/Border[0 0 0]/H/N>> -endobj - -36056 0 obj -<>/P 4252 0 R/Type/Annot/A 36331 0 R/Subtype/Link/Rect[216 400 230 408]/Border[0 0 0]/H/N>> -endobj - -36057 0 obj -<>/P 4252 0 R/Type/Annot/A 36329 0 R/Subtype/Link/Rect[232 400 249 409]/Border[0 0 0]/H/N>> -endobj - -36058 0 obj -<>/P 4252 0 R/Type/Annot/A 36328 0 R/Subtype/Link/Rect[250 400 264 408]/Border[0 0 0]/H/N>> -endobj - -36059 0 obj -<>/P 4252 0 R/Type/Annot/A 36327 0 R/Subtype/Link/Rect[266 400 282 409]/Border[0 0 0]/H/N>> -endobj - -36060 0 obj -<>/P 4252 0 R/Type/Annot/A 36326 0 R/Subtype/Link/Rect[283 400 297 408]/Border[0 0 0]/H/N>> -endobj - -36061 0 obj -<>/P 4252 0 R/Type/Annot/A 36325 0 R/Subtype/Link/Rect[151 390 165 398]/Border[0 0 0]/H/N>> -endobj - -36062 0 obj -<>/P 4252 0 R/Type/Annot/A 36324 0 R/Subtype/Link/Rect[167 390 181 398]/Border[0 0 0]/H/N>> -endobj - -36063 0 obj -<>/P 4252 0 R/Type/Annot/A 36323 0 R/Subtype/Link/Rect[183 390 197 398]/Border[0 0 0]/H/N>> -endobj - -36064 0 obj -<>/P 4252 0 R/Type/Annot/A 36322 0 R/Subtype/Link/Rect[199 390 216 399]/Border[0 0 0]/H/N>> -endobj - -36065 0 obj -<>/P 4252 0 R/Type/Annot/A 36321 0 R/Subtype/Link/Rect[216 390 230 398]/Border[0 0 0]/H/N>> -endobj - -36066 0 obj -<>/P 4252 0 R/Type/Annot/A 36320 0 R/Subtype/Link/Rect[232 390 246 398]/Border[0 0 0]/H/N>> -endobj - -36067 0 obj -<>/P 4252 0 R/Type/Annot/A 36319 0 R/Subtype/Link/Rect[248 390 262 398]/Border[0 0 0]/H/N>> -endobj - -36068 0 obj -<>/P 4252 0 R/Type/Annot/A 36318 0 R/Subtype/Link/Rect[264 390 278 398]/Border[0 0 0]/H/N>> -endobj - -36069 0 obj -<>/P 4252 0 R/Type/Annot/A 36317 0 R/Subtype/Link/Rect[280 390 294 398]/Border[0 0 0]/H/N>> -endobj - -36070 0 obj -<>/P 4252 0 R/Type/Annot/A 36316 0 R/Subtype/Link/Rect[296 390 310 398]/Border[0 0 0]/H/N>> -endobj - -36071 0 obj -<>/P 4252 0 R/Type/Annot/A 36315 0 R/Subtype/Link/Rect[151 380 165 388]/Border[0 0 0]/H/N>> -endobj - -36072 0 obj -<>/P 4252 0 R/Type/Annot/A 36314 0 R/Subtype/Link/Rect[167 380 181 388]/Border[0 0 0]/H/N>> -endobj - -36073 0 obj -<>/P 4252 0 R/Type/Annot/A 36313 0 R/Subtype/Link/Rect[183 380 197 388]/Border[0 0 0]/H/N>> -endobj - -36074 0 obj -<>/P 4252 0 R/Type/Annot/A 36312 0 R/Subtype/Link/Rect[199 380 213 388]/Border[0 0 0]/H/N>> -endobj - -36075 0 obj -<>/P 4252 0 R/Type/Annot/A 36310 0 R/Subtype/Link/Rect[215 380 229 388]/Border[0 0 0]/H/N>> -endobj - -36076 0 obj -<>/P 4252 0 R/Type/Annot/A 36309 0 R/Subtype/Link/Rect[231 380 248 389]/Border[0 0 0]/H/N>> -endobj - -36077 0 obj -<>/P 4252 0 R/Type/Annot/A 36307 0 R/Subtype/Link/Rect[248 380 262 388]/Border[0 0 0]/H/N>> -endobj - -36078 0 obj -<>/P 4252 0 R/Type/Annot/A 36306 0 R/Subtype/Link/Rect[264 380 276 388]/Border[0 0 0]/H/N>> -endobj - -36079 0 obj -<>/P 4252 0 R/Type/Annot/A 36631 0 R/Subtype/Link/Rect[190 370 202 378]/Border[0 0 0]/H/N>> -endobj - -36080 0 obj -<>/P 4252 0 R/Type/Annot/A 36627 0 R/Subtype/Link/Rect[177 360 189 368]/Border[0 0 0]/H/N>> -endobj - -36081 0 obj -<>/P 4252 0 R/Type/Annot/A 36623 0 R/Subtype/Link/Rect[198 350 212 358]/Border[0 0 0]/H/N>> -endobj - -36082 0 obj -<>/P 4252 0 R/Type/Annot/A 36619 0 R/Subtype/Link/Rect[214 350 231 359]/Border[0 0 0]/H/N>> -endobj - -36083 0 obj -<>/P 4252 0 R/Type/Annot/A 36615 0 R/Subtype/Link/Rect[232 350 246 358]/Border[0 0 0]/H/N>> -endobj - -36084 0 obj -<>/P 4252 0 R/Type/Annot/A 36611 0 R/Subtype/Link/Rect[248 350 260 358]/Border[0 0 0]/H/N>> -endobj - -36085 0 obj -<>/P 4252 0 R/Type/Annot/A 36606 0 R/Subtype/Link/Rect[205 340 217 348]/Border[0 0 0]/H/N>> -endobj - -36086 0 obj -<>/P 4252 0 R/Type/Annot/A 36602 0 R/Subtype/Link/Rect[196 330 208 338]/Border[0 0 0]/H/N>> -endobj - -36087 0 obj -<>/P 4252 0 R/Type/Annot/A 36597 0 R/Subtype/Link/Rect[196 320 208 329]/Border[0 0 0]/H/N>> -endobj - -36088 0 obj -<>/P 4252 0 R/Type/Annot/A 36593 0 R/Subtype/Link/Rect[196 310 206 319]/Border[0 0 0]/H/N>> -endobj - -36089 0 obj -<>/P 4252 0 R/Type/Annot/A 36589 0 R/Subtype/Link/Rect[208 310 218 319]/Border[0 0 0]/H/N>> -endobj - -36090 0 obj -<>/P 4252 0 R/Type/Annot/A 36585 0 R/Subtype/Link/Rect[220 310 234 319]/Border[0 0 0]/H/N>> -endobj - -36091 0 obj -<>/P 4252 0 R/Type/Annot/A 36582 0 R/Subtype/Link/Rect[236 310 248 319]/Border[0 0 0]/H/N>> -endobj - -36092 0 obj -<>/P 4252 0 R/Type/Annot/A 36578 0 R/Subtype/Link/Rect[202 300 216 309]/Border[0 0 0]/H/N>> -endobj - -36093 0 obj -<>/P 4252 0 R/Type/Annot/A 36362 0 R/Subtype/Link/Rect[218 300 230 309]/Border[0 0 0]/H/N>> -endobj - -36094 0 obj -<>/P 4252 0 R/Type/Annot/A 36571 0 R/Subtype/Link/Rect[212 257 228 266]/Border[0 0 0]/H/N>> -endobj - -36095 0 obj -<>/P 4252 0 R/Type/Annot/A 36567 0 R/Subtype/Link/Rect[229 257 243 266]/Border[0 0 0]/H/N>> -endobj - -36096 0 obj -<>/P 4252 0 R/Type/Annot/A 36563 0 R/Subtype/Link/Rect[245 257 259 266]/Border[0 0 0]/H/N>> -endobj - -36097 0 obj -<>/P 4252 0 R/Type/Annot/A 36559 0 R/Subtype/Link/Rect[261 257 273 266]/Border[0 0 0]/H/N>> -endobj - -36098 0 obj -<>/P 4252 0 R/Type/Annot/A 36555 0 R/Subtype/Link/Rect[190 247 202 256]/Border[0 0 0]/H/N>> -endobj - -36099 0 obj -<>/P 4252 0 R/Type/Annot/A 36551 0 R/Subtype/Link/Rect[167 237 181 246]/Border[0 0 0]/H/N>> -endobj - -36100 0 obj -<>/P 4252 0 R/Type/Annot/A 36547 0 R/Subtype/Link/Rect[183 237 197 246]/Border[0 0 0]/H/N>> -endobj - -36101 0 obj -<>/P 4252 0 R/Type/Annot/A 36543 0 R/Subtype/Link/Rect[199 237 211 246]/Border[0 0 0]/H/N>> -endobj - -36102 0 obj -<>/P 4252 0 R/Type/Annot/A 36539 0 R/Subtype/Link/Rect[215 227 227 236]/Border[0 0 0]/H/N>> -endobj - -36103 0 obj -<>/P 4252 0 R/Type/Annot/A 36535 0 R/Subtype/Link/Rect[170 217 178 226]/Border[0 0 0]/H/N>> -endobj - -36104 0 obj -<>/P 4252 0 R/Type/Annot/A 36531 0 R/Subtype/Link/Rect[197 207 214 216]/Border[0 0 0]/H/N>> -endobj - -36105 0 obj -<>/P 4252 0 R/Type/Annot/A 36527 0 R/Subtype/Link/Rect[215 207 229 216]/Border[0 0 0]/H/N>> -endobj - -36106 0 obj -<>/P 4252 0 R/Type/Annot/A 36523 0 R/Subtype/Link/Rect[231 207 243 216]/Border[0 0 0]/H/N>> -endobj - -36107 0 obj -<>/P 4252 0 R/Type/Annot/A 36519 0 R/Subtype/Link/Rect[190 197 202 206]/Border[0 0 0]/H/N>> -endobj - -36108 0 obj -<>/P 4252 0 R/Type/Annot/A 36514 0 R/Subtype/Link/Rect[197 187 214 196]/Border[0 0 0]/H/N>> -endobj - -36109 0 obj -<>/P 4252 0 R/Type/Annot/A 36510 0 R/Subtype/Link/Rect[215 187 229 196]/Border[0 0 0]/H/N>> -endobj - -36110 0 obj -<>/P 4252 0 R/Type/Annot/A 36505 0 R/Subtype/Link/Rect[231 187 245 196]/Border[0 0 0]/H/N>> -endobj - -36111 0 obj -<>/P 4252 0 R/Type/Annot/A 36501 0 R/Subtype/Link/Rect[247 187 261 196]/Border[0 0 0]/H/N>> -endobj - -36112 0 obj -<>/P 4252 0 R/Type/Annot/A 36497 0 R/Subtype/Link/Rect[263 187 277 196]/Border[0 0 0]/H/N>> -endobj - -36113 0 obj -<>/P 4252 0 R/Type/Annot/A 36493 0 R/Subtype/Link/Rect[279 187 293 196]/Border[0 0 0]/H/N>> -endobj - -36114 0 obj -<>/P 4252 0 R/Type/Annot/A 36488 0 R/Subtype/Link/Rect[295 187 309 196]/Border[0 0 0]/H/N>> -endobj - -36115 0 obj -<>/P 4252 0 R/Type/Annot/A 36483 0 R/Subtype/Link/Rect[151 177 163 186]/Border[0 0 0]/H/N>> -endobj - -36116 0 obj -<>/P 4252 0 R/Type/Annot/A 36478 0 R/Subtype/Link/Rect[190 167 202 176]/Border[0 0 0]/H/N>> -endobj - -36117 0 obj -<>/P 4252 0 R/Type/Annot/A 36473 0 R/Subtype/Link/Rect[207 157 223 166]/Border[0 0 0]/H/N>> -endobj - -36118 0 obj -<>/P 4252 0 R/Type/Annot/A 36468 0 R/Subtype/Link/Rect[224 157 238 166]/Border[0 0 0]/H/N>> -endobj - -36119 0 obj -<>/P 4252 0 R/Type/Annot/A 38941 0 R/Subtype/Link/Rect[240 157 254 166]/Border[0 0 0]/H/N>> -endobj - -36120 0 obj -<>/P 4252 0 R/Type/Annot/A 36459 0 R/Subtype/Link/Rect[256 157 268 166]/Border[0 0 0]/H/N>> -endobj - -36121 0 obj -<>/P 4252 0 R/Type/Annot/A 36454 0 R/Subtype/Link/Rect[190 147 202 156]/Border[0 0 0]/H/N>> -endobj - -36122 0 obj -<>/P 4252 0 R/Type/Annot/A 36450 0 R/Subtype/Link/Rect[405 670 422 679]/Border[0 0 0]/H/N>> -endobj - -36123 0 obj -<>/P 4252 0 R/Type/Annot/A 36445 0 R/Subtype/Link/Rect[422 670 436 678]/Border[0 0 0]/H/N>> -endobj - -36124 0 obj -<>/P 4252 0 R/Type/Annot/A 36441 0 R/Subtype/Link/Rect[438 670 452 678]/Border[0 0 0]/H/N>> -endobj - -36125 0 obj -<>/P 4252 0 R/Type/Annot/A 36311 0 R/Subtype/Link/Rect[454 670 468 678]/Border[0 0 0]/H/N>> -endobj - -36126 0 obj -<>/P 4252 0 R/Type/Annot/A 36433 0 R/Subtype/Link/Rect[470 670 484 678]/Border[0 0 0]/H/N>> -endobj - -36127 0 obj -<>/P 4252 0 R/Type/Annot/A 36429 0 R/Subtype/Link/Rect[486 670 498 678]/Border[0 0 0]/H/N>> -endobj - -36128 0 obj -<>/P 4252 0 R/Type/Annot/A 36425 0 R/Subtype/Link/Rect[398 660 410 668]/Border[0 0 0]/H/N>> -endobj - -36129 0 obj -<>/P 4252 0 R/Type/Annot/A 36678 0 R/Subtype/Link/Rect[415 650 431 659]/Border[0 0 0]/H/N>> -endobj - -36130 0 obj -<>/P 4252 0 R/Type/Annot/A 36673 0 R/Subtype/Link/Rect[432 650 446 658]/Border[0 0 0]/H/N>> -endobj - -36131 0 obj -<>/P 4252 0 R/Type/Annot/A 36670 0 R/Subtype/Link/Rect[448 650 462 658]/Border[0 0 0]/H/N>> -endobj - -36132 0 obj -<>/P 4252 0 R/Type/Annot/A 36667 0 R/Subtype/Link/Rect[464 650 476 658]/Border[0 0 0]/H/N>> -endobj - -36133 0 obj -<>/P 4252 0 R/Type/Annot/A 36664 0 R/Subtype/Link/Rect[398 640 410 648]/Border[0 0 0]/H/N>> -endobj - -36134 0 obj -<>/P 4252 0 R/Type/Annot/A 36661 0 R/Subtype/Link/Rect[405 630 422 639]/Border[0 0 0]/H/N>> -endobj - -36135 0 obj -<>/P 4252 0 R/Type/Annot/A 36658 0 R/Subtype/Link/Rect[422 630 436 638]/Border[0 0 0]/H/N>> -endobj - -36136 0 obj -<>/P 4252 0 R/Type/Annot/A 36655 0 R/Subtype/Link/Rect[438 630 455 639]/Border[0 0 0]/H/N>> -endobj - -36137 0 obj -<>/P 4252 0 R/Type/Annot/A 36652 0 R/Subtype/Link/Rect[456 630 470 638]/Border[0 0 0]/H/N>> -endobj - -36138 0 obj -<>/P 4252 0 R/Type/Annot/A 36649 0 R/Subtype/Link/Rect[472 630 486 638]/Border[0 0 0]/H/N>> -endobj - -36139 0 obj -<>/P 4252 0 R/Type/Annot/A 36646 0 R/Subtype/Link/Rect[488 630 502 638]/Border[0 0 0]/H/N>> -endobj - -36140 0 obj -<>/P 4252 0 R/Type/Annot/A 36643 0 R/Subtype/Link/Rect[504 630 518 638]/Border[0 0 0]/H/N>> -endobj - -36141 0 obj -<>/P 4252 0 R/Type/Annot/A 36640 0 R/Subtype/Link/Rect[359 620 373 628]/Border[0 0 0]/H/N>> -endobj - -36142 0 obj -<>/P 4252 0 R/Type/Annot/A 36637 0 R/Subtype/Link/Rect[375 620 389 628]/Border[0 0 0]/H/N>> -endobj - -36143 0 obj -<>/P 4252 0 R/Type/Annot/A 36634 0 R/Subtype/Link/Rect[391 620 405 628]/Border[0 0 0]/H/N>> -endobj - -36144 0 obj -<>/P 4252 0 R/Type/Annot/A 36630 0 R/Subtype/Link/Rect[407 620 421 628]/Border[0 0 0]/H/N>> -endobj - -36145 0 obj -<>/P 4252 0 R/Type/Annot/A 36626 0 R/Subtype/Link/Rect[423 620 435 628]/Border[0 0 0]/H/N>> -endobj - -36146 0 obj -<>/P 4252 0 R/Type/Annot/A 36622 0 R/Subtype/Link/Rect[398 610 410 618]/Border[0 0 0]/H/N>> -endobj - -36147 0 obj -<>/P 4252 0 R/Type/Annot/A 36618 0 R/Subtype/Link/Rect[400 600 410 608]/Border[0 0 0]/H/N>> -endobj - -36148 0 obj -<>/P 4252 0 R/Type/Annot/A 36614 0 R/Subtype/Link/Rect[412 600 422 608]/Border[0 0 0]/H/N>> -endobj - -36149 0 obj -<>/P 4252 0 R/Type/Annot/A 36610 0 R/Subtype/Link/Rect[424 600 437 609]/Border[0 0 0]/H/N>> -endobj - -36150 0 obj -<>/P 4252 0 R/Type/Annot/A 36605 0 R/Subtype/Link/Rect[438 600 448 608]/Border[0 0 0]/H/N>> -endobj - -36151 0 obj -<>/P 4252 0 R/Type/Annot/A 36601 0 R/Subtype/Link/Rect[450 600 460 608]/Border[0 0 0]/H/N>> -endobj - -36152 0 obj -<>/P 4252 0 R/Type/Annot/A 36596 0 R/Subtype/Link/Rect[462 600 475 608]/Border[0 0 0]/H/N>> -endobj - -36153 0 obj -<>/P 4252 0 R/Type/Annot/A 36592 0 R/Subtype/Link/Rect[477 600 491 608]/Border[0 0 0]/H/N>> -endobj - -36154 0 obj -<>/P 4252 0 R/Type/Annot/A 36588 0 R/Subtype/Link/Rect[493 600 507 608]/Border[0 0 0]/H/N>> -endobj - -36155 0 obj -<>/P 4252 0 R/Type/Annot/A 36584 0 R/Subtype/Link/Rect[359 590 376 599]/Border[0 0 0]/H/N>> -endobj - -36156 0 obj -<>/P 4252 0 R/Type/Annot/A 36581 0 R/Subtype/Link/Rect[376 590 390 598]/Border[0 0 0]/H/N>> -endobj - -36157 0 obj -<>/P 4252 0 R/Type/Annot/A 41902 0 R/Subtype/Link/Rect[392 590 406 598]/Border[0 0 0]/H/N>> -endobj - -36158 0 obj -<>/P 4252 0 R/Type/Annot/A 36575 0 R/Subtype/Link/Rect[408 590 425 599]/Border[0 0 0]/H/N>> -endobj - -36159 0 obj -<>/P 4252 0 R/Type/Annot/A 36353 0 R/Subtype/Link/Rect[426 590 440 598]/Border[0 0 0]/H/N>> -endobj - -36160 0 obj -<>/P 4252 0 R/Type/Annot/A 36568 0 R/Subtype/Link/Rect[442 590 456 598]/Border[0 0 0]/H/N>> -endobj - -36161 0 obj -<>/P 4252 0 R/Type/Annot/A 36564 0 R/Subtype/Link/Rect[458 590 472 598]/Border[0 0 0]/H/N>> -endobj - -36162 0 obj -<>/P 4252 0 R/Type/Annot/A 36560 0 R/Subtype/Link/Rect[474 590 490 599]/Border[0 0 0]/H/N>> -endobj - -36163 0 obj -<>/P 4252 0 R/Type/Annot/A 36556 0 R/Subtype/Link/Rect[491 590 505 598]/Border[0 0 0]/H/N>> -endobj - -36164 0 obj -<>/P 4252 0 R/Type/Annot/A 36552 0 R/Subtype/Link/Rect[359 580 373 588]/Border[0 0 0]/H/N>> -endobj - -36165 0 obj -<>/P 4252 0 R/Type/Annot/A 36548 0 R/Subtype/Link/Rect[375 580 392 589]/Border[0 0 0]/H/N>> -endobj - -36166 0 obj -<>/P 4252 0 R/Type/Annot/A 36544 0 R/Subtype/Link/Rect[392 580 406 588]/Border[0 0 0]/H/N>> -endobj - -36167 0 obj -<>/P 4252 0 R/Type/Annot/A 36540 0 R/Subtype/Link/Rect[408 580 425 589]/Border[0 0 0]/H/N>> -endobj - -36168 0 obj -<>/P 4252 0 R/Type/Annot/A 36536 0 R/Subtype/Link/Rect[426 580 439 588]/Border[0 0 0]/H/N>> -endobj - -36169 0 obj -<>/P 4252 0 R/Type/Annot/A 36532 0 R/Subtype/Link/Rect[441 580 455 588]/Border[0 0 0]/H/N>> -endobj - -36170 0 obj -<>/P 4252 0 R/Type/Annot/A 36528 0 R/Subtype/Link/Rect[457 580 474 589]/Border[0 0 0]/H/N>> -endobj - -36171 0 obj -<>/P 4252 0 R/Type/Annot/A 36524 0 R/Subtype/Link/Rect[475 580 489 588]/Border[0 0 0]/H/N>> -endobj - -36172 0 obj -<>/P 4252 0 R/Type/Annot/A 36520 0 R/Subtype/Link/Rect[491 580 505 588]/Border[0 0 0]/H/N>> -endobj - -36173 0 obj -<>/P 4252 0 R/Type/Annot/A 36516 0 R/Subtype/Link/Rect[359 570 373 578]/Border[0 0 0]/H/N>> -endobj - -36174 0 obj -<>/P 4252 0 R/Type/Annot/A 36512 0 R/Subtype/Link/Rect[375 570 389 578]/Border[0 0 0]/H/N>> -endobj - -36175 0 obj -<>/P 4252 0 R/Type/Annot/A 36508 0 R/Subtype/Link/Rect[391 570 403 578]/Border[0 0 0]/H/N>> -endobj - -36176 0 obj -<>/P 4252 0 R/Type/Annot/A 36504 0 R/Subtype/Link/Rect[398 560 406 568]/Border[0 0 0]/H/N>> -endobj - -36177 0 obj -<>/P 4252 0 R/Type/Annot/A 36500 0 R/Subtype/Link/Rect[414 550 424 558]/Border[0 0 0]/H/N>> -endobj - -36178 0 obj -<>/P 4252 0 R/Type/Annot/A 36496 0 R/Subtype/Link/Rect[426 550 434 558]/Border[0 0 0]/H/N>> -endobj - -36179 0 obj -<>/P 4252 0 R/Type/Annot/A 36492 0 R/Subtype/Link/Rect[420 540 430 548]/Border[0 0 0]/H/N>> -endobj - -36180 0 obj -<>/P 4252 0 R/Type/Annot/A 36487 0 R/Subtype/Link/Rect[432 540 444 549]/Border[0 0 0]/H/N>> -endobj - -36181 0 obj -<>/P 4252 0 R/Type/Annot/A 36482 0 R/Subtype/Link/Rect[445 540 455 548]/Border[0 0 0]/H/N>> -endobj - -36182 0 obj -<>/P 4252 0 R/Type/Annot/A 36477 0 R/Subtype/Link/Rect[457 540 471 548]/Border[0 0 0]/H/N>> -endobj - -36183 0 obj -<>/P 4252 0 R/Type/Annot/A 36472 0 R/Subtype/Link/Rect[473 540 487 548]/Border[0 0 0]/H/N>> -endobj - -36184 0 obj -<>/P 4252 0 R/Type/Annot/A 36467 0 R/Subtype/Link/Rect[489 540 503 548]/Border[0 0 0]/H/N>> -endobj - -36185 0 obj -<>/P 4252 0 R/Type/Annot/A 36463 0 R/Subtype/Link/Rect[505 540 517 548]/Border[0 0 0]/H/N>> -endobj - -36186 0 obj -<>/P 4252 0 R/Type/Annot/A 36458 0 R/Subtype/Link/Rect[398 530 406 538]/Border[0 0 0]/H/N>> -endobj - -36187 0 obj -<>/P 4252 0 R/Type/Annot/A 36453 0 R/Subtype/Link/Rect[425 520 435 528]/Border[0 0 0]/H/N>> -endobj - -36188 0 obj -<>/P 4252 0 R/Type/Annot/A 36448 0 R/Subtype/Link/Rect[437 520 447 528]/Border[0 0 0]/H/N>> -endobj - -36189 0 obj -<>/P 4252 0 R/Type/Annot/A 36444 0 R/Subtype/Link/Rect[449 520 461 529]/Border[0 0 0]/H/N>> -endobj - -36190 0 obj -<>/P 4252 0 R/Type/Annot/A 36440 0 R/Subtype/Link/Rect[462 520 472 528]/Border[0 0 0]/H/N>> -endobj - -36191 0 obj -<>/P 4252 0 R/Type/Annot/A 36308 0 R/Subtype/Link/Rect[474 520 488 528]/Border[0 0 0]/H/N>> -endobj - -36192 0 obj -<>/P 4252 0 R/Type/Annot/A 36434 0 R/Subtype/Link/Rect[490 520 502 528]/Border[0 0 0]/H/N>> -endobj - -36193 0 obj -<>/P 4252 0 R/Type/Annot/A 36430 0 R/Subtype/Link/Rect[405 510 422 519]/Border[0 0 0]/H/N>> -endobj - -36194 0 obj -<>/P 4252 0 R/Type/Annot/A 36426 0 R/Subtype/Link/Rect[422 510 436 518]/Border[0 0 0]/H/N>> -endobj - -36195 0 obj -<>/P 4252 0 R/Type/Annot/A 36422 0 R/Subtype/Link/Rect[438 510 452 518]/Border[0 0 0]/H/N>> -endobj - -36196 0 obj -<>/P 4252 0 R/Type/Annot/A 36419 0 R/Subtype/Link/Rect[454 510 466 518]/Border[0 0 0]/H/N>> -endobj - -36197 0 obj -<>/P 4252 0 R/Type/Annot/A 36680 0 R/Subtype/Link/Rect[398 500 410 508]/Border[0 0 0]/H/N>> -endobj - -36198 0 obj -<>/P 4252 0 R/Type/Annot/A 36675 0 R/Subtype/Link/Rect[415 490 431 499]/Border[0 0 0]/H/N>> -endobj - -36199 0 obj -<>/P 4252 0 R/Type/Annot/A 36672 0 R/Subtype/Link/Rect[432 490 446 498]/Border[0 0 0]/H/N>> -endobj - -36200 0 obj -<>/P 4252 0 R/Type/Annot/A 36669 0 R/Subtype/Link/Rect[448 490 462 498]/Border[0 0 0]/H/N>> -endobj - -36201 0 obj -<>/P 4252 0 R/Type/Annot/A 36666 0 R/Subtype/Link/Rect[464 490 478 498]/Border[0 0 0]/H/N>> -endobj - -36202 0 obj -<>/P 4252 0 R/Type/Annot/A 36663 0 R/Subtype/Link/Rect[480 490 492 498]/Border[0 0 0]/H/N>> -endobj - -36203 0 obj -<>/P 4252 0 R/Type/Annot/A 36660 0 R/Subtype/Link/Rect[398 480 410 488]/Border[0 0 0]/H/N>> -endobj - -36204 0 obj -<>/P 4252 0 R/Type/Annot/A 36657 0 R/Subtype/Link/Rect[405 470 422 479]/Border[0 0 0]/H/N>> -endobj - -36205 0 obj -<>/P 4252 0 R/Type/Annot/A 36654 0 R/Subtype/Link/Rect[422 470 436 478]/Border[0 0 0]/H/N>> -endobj - -36206 0 obj -<>/P 4252 0 R/Type/Annot/A 36651 0 R/Subtype/Link/Rect[438 470 452 478]/Border[0 0 0]/H/N>> -endobj - -36207 0 obj -<>/P 4252 0 R/Type/Annot/A 36648 0 R/Subtype/Link/Rect[454 470 468 478]/Border[0 0 0]/H/N>> -endobj - -36208 0 obj -<>/P 4252 0 R/Type/Annot/A 36645 0 R/Subtype/Link/Rect[470 470 482 478]/Border[0 0 0]/H/N>> -endobj - -36209 0 obj -<>/P 4252 0 R/Type/Annot/A 36642 0 R/Subtype/Link/Rect[398 460 410 468]/Border[0 0 0]/H/N>> -endobj - -36210 0 obj -<>/P 4252 0 R/Type/Annot/A 36639 0 R/Subtype/Link/Rect[420 450 436 459]/Border[0 0 0]/H/N>> -endobj - -36211 0 obj -<>/P 4252 0 R/Type/Annot/A 36636 0 R/Subtype/Link/Rect[437 450 449 458]/Border[0 0 0]/H/N>> -endobj - -36212 0 obj -<>/P 4252 0 R/Type/Annot/A 36633 0 R/Subtype/Link/Rect[398 440 410 448]/Border[0 0 0]/H/N>> -endobj - -36213 0 obj -<>/P 4252 0 R/Type/Annot/A 36629 0 R/Subtype/Link/Rect[369 430 386 439]/Border[0 0 0]/H/N>> -endobj - -36214 0 obj -<>/P 4252 0 R/Type/Annot/A 36625 0 R/Subtype/Link/Rect[387 430 401 438]/Border[0 0 0]/H/N>> -endobj - -36215 0 obj -<>/P 4252 0 R/Type/Annot/A 36621 0 R/Subtype/Link/Rect[403 430 417 438]/Border[0 0 0]/H/N>> -endobj - -36216 0 obj -<>/P 4252 0 R/Type/Annot/A 36617 0 R/Subtype/Link/Rect[419 430 431 438]/Border[0 0 0]/H/N>> -endobj - -36217 0 obj -<>/P 4252 0 R/Type/Annot/A 36613 0 R/Subtype/Link/Rect[410 420 424 428]/Border[0 0 0]/H/N>> -endobj - -36218 0 obj -<>/P 4252 0 R/Type/Annot/A 36609 0 R/Subtype/Link/Rect[426 420 440 428]/Border[0 0 0]/H/N>> -endobj - -36219 0 obj -<>/P 4252 0 R/Type/Annot/A 36604 0 R/Subtype/Link/Rect[442 420 456 428]/Border[0 0 0]/H/N>> -endobj - -36220 0 obj -<>/P 4252 0 R/Type/Annot/A 36600 0 R/Subtype/Link/Rect[458 420 470 428]/Border[0 0 0]/H/N>> -endobj - -36221 0 obj -<>/P 4252 0 R/Type/Annot/A 36595 0 R/Subtype/Link/Rect[398 410 410 418]/Border[0 0 0]/H/N>> -endobj - -36222 0 obj -<>/P 4252 0 R/Type/Annot/A 36591 0 R/Subtype/Link/Rect[409 400 419 408]/Border[0 0 0]/H/N>> -endobj - -36223 0 obj -<>/P 4252 0 R/Type/Annot/A 36587 0 R/Subtype/Link/Rect[421 400 437 409]/Border[0 0 0]/H/N>> -endobj - -36224 0 obj -<>/P 4252 0 R/Type/Annot/A 36359 0 R/Subtype/Link/Rect[438 400 452 408]/Border[0 0 0]/H/N>> -endobj - -36225 0 obj -<>/P 4252 0 R/Type/Annot/A 36356 0 R/Subtype/Link/Rect[454 400 468 408]/Border[0 0 0]/H/N>> -endobj - -36226 0 obj -<>/P 4252 0 R/Type/Annot/A 36579 0 R/Subtype/Link/Rect[470 400 484 408]/Border[0 0 0]/H/N>> -endobj - -36227 0 obj -<>/P 4252 0 R/Type/Annot/A 36576 0 R/Subtype/Link/Rect[486 400 500 408]/Border[0 0 0]/H/N>> -endobj - -36228 0 obj -<>/P 4252 0 R/Type/Annot/A 36573 0 R/Subtype/Link/Rect[502 400 516 408]/Border[0 0 0]/H/N>> -endobj - -36229 0 obj -<>/P 4252 0 R/Type/Annot/A 36570 0 R/Subtype/Link/Rect[359 390 376 399]/Border[0 0 0]/H/N>> -endobj - -36230 0 obj -<>/P 4252 0 R/Type/Annot/A 36566 0 R/Subtype/Link/Rect[376 390 390 398]/Border[0 0 0]/H/N>> -endobj - -36231 0 obj -<>/P 4252 0 R/Type/Annot/A 36562 0 R/Subtype/Link/Rect[392 390 409 399]/Border[0 0 0]/H/N>> -endobj - -36232 0 obj -<>/P 4252 0 R/Type/Annot/A 36558 0 R/Subtype/Link/Rect[410 390 424 398]/Border[0 0 0]/H/N>> -endobj - -36233 0 obj -<>/P 4252 0 R/Type/Annot/A 36554 0 R/Subtype/Link/Rect[426 390 438 398]/Border[0 0 0]/H/N>> -endobj - -36234 0 obj -<>/P 4252 0 R/Type/Annot/A 36550 0 R/Subtype/Link/Rect[405 380 422 389]/Border[0 0 0]/H/N>> -endobj - -36235 0 obj -<>/P 4252 0 R/Type/Annot/A 36546 0 R/Subtype/Link/Rect[422 380 436 388]/Border[0 0 0]/H/N>> -endobj - -36236 0 obj -<>/P 4252 0 R/Type/Annot/A 36542 0 R/Subtype/Link/Rect[438 380 455 389]/Border[0 0 0]/H/N>> -endobj - -36237 0 obj -<>/P 4252 0 R/Type/Annot/A 36538 0 R/Subtype/Link/Rect[456 380 470 388]/Border[0 0 0]/H/N>> -endobj - -36238 0 obj -<>/P 4252 0 R/Type/Annot/A 36534 0 R/Subtype/Link/Rect[472 380 486 388]/Border[0 0 0]/H/N>> -endobj - -36239 0 obj -<>/P 4252 0 R/Type/Annot/A 36530 0 R/Subtype/Link/Rect[488 380 502 388]/Border[0 0 0]/H/N>> -endobj - -36240 0 obj -<>/P 4252 0 R/Type/Annot/A 36526 0 R/Subtype/Link/Rect[504 380 516 388]/Border[0 0 0]/H/N>> -endobj - -36241 0 obj -<>/P 4252 0 R/Type/Annot/A 36522 0 R/Subtype/Link/Rect[398 370 410 378]/Border[0 0 0]/H/N>> -endobj - -36242 0 obj -<>/P 4252 0 R/Type/Annot/A 36518 0 R/Subtype/Link/Rect[435 360 447 368]/Border[0 0 0]/H/N>> -endobj - -36243 0 obj -<>/P 4252 0 R/Type/Annot/A 36515 0 R/Subtype/Link/Rect[425 350 439 358]/Border[0 0 0]/H/N>> -endobj - -36244 0 obj -<>/P 4252 0 R/Type/Annot/A 36511 0 R/Subtype/Link/Rect[441 350 457 359]/Border[0 0 0]/H/N>> -endobj - -36245 0 obj -<>/P 4252 0 R/Type/Annot/A 36507 0 R/Subtype/Link/Rect[458 350 470 358]/Border[0 0 0]/H/N>> -endobj - -36246 0 obj -<>/P 4252 0 R/Type/Annot/A 36503 0 R/Subtype/Link/Rect[410 340 423 349]/Border[0 0 0]/H/N>> -endobj - -36247 0 obj -<>/P 4252 0 R/Type/Annot/A 36499 0 R/Subtype/Link/Rect[423 340 433 348]/Border[0 0 0]/H/N>> -endobj - -36248 0 obj -<>/P 4252 0 R/Type/Annot/A 36495 0 R/Subtype/Link/Rect[435 340 447 348]/Border[0 0 0]/H/N>> -endobj - -36249 0 obj -<>/P 4252 0 R/Type/Annot/A 36491 0 R/Subtype/Link/Rect[449 330 459 339]/Border[0 0 0]/H/N>> -endobj - -36250 0 obj -<>/P 4252 0 R/Type/Annot/A 36486 0 R/Subtype/Link/Rect[461 330 473 339]/Border[0 0 0]/H/N>> -endobj - -36251 0 obj -<>/P 4252 0 R/Type/Annot/A 36481 0 R/Subtype/Link/Rect[410 320 427 329]/Border[0 0 0]/H/N>> -endobj - -36252 0 obj -<>/P 4252 0 R/Type/Annot/A 36476 0 R/Subtype/Link/Rect[427 320 441 329]/Border[0 0 0]/H/N>> -endobj - -36253 0 obj -<>/P 4252 0 R/Type/Annot/A 36471 0 R/Subtype/Link/Rect[443 320 457 329]/Border[0 0 0]/H/N>> -endobj - -36254 0 obj -<>/P 4252 0 R/Type/Annot/A 36466 0 R/Subtype/Link/Rect[459 320 473 329]/Border[0 0 0]/H/N>> -endobj - -36255 0 obj -<>/P 4252 0 R/Type/Annot/A 36462 0 R/Subtype/Link/Rect[475 320 487 329]/Border[0 0 0]/H/N>> -endobj - -36256 0 obj -<>/P 4252 0 R/Type/Annot/A 36457 0 R/Subtype/Link/Rect[398 310 410 319]/Border[0 0 0]/H/N>> -endobj - -36257 0 obj -<>/P 4252 0 R/Type/Annot/A 36607 0 R/Subtype/Link/Rect[407 300 419 309]/Border[0 0 0]/H/N>> -endobj - -36258 0 obj -<>/P 4252 0 R/Type/Annot/A 36449 0 R/Subtype/Link/Rect[420 300 430 309]/Border[0 0 0]/H/N>> -endobj - -36259 0 obj -<>/P 4252 0 R/Type/Annot/A 36598 0 R/Subtype/Link/Rect[432 300 440 309]/Border[0 0 0]/H/N>> -endobj - -36260 0 obj -<>/P 4252 0 R/Type/Annot/A 36442 0 R/Subtype/Link/Rect[378 290 392 299]/Border[0 0 0]/H/N>> -endobj - -36261 0 obj -<>/P 4252 0 R/Type/Annot/A 36438 0 R/Subtype/Link/Rect[394 290 408 299]/Border[0 0 0]/H/N>> -endobj - -36262 0 obj -<>/P 4252 0 R/Type/Annot/A 36436 0 R/Subtype/Link/Rect[410 290 424 299]/Border[0 0 0]/H/N>> -endobj - -36263 0 obj -<>/P 4252 0 R/Type/Annot/A 36432 0 R/Subtype/Link/Rect[426 290 440 299]/Border[0 0 0]/H/N>> -endobj - -36264 0 obj -<>/P 4252 0 R/Type/Annot/A 36428 0 R/Subtype/Link/Rect[442 290 454 299]/Border[0 0 0]/H/N>> -endobj - -36265 0 obj -<>/P 4252 0 R/Type/Annot/A 36424 0 R/Subtype/Link/Rect[409 280 417 289]/Border[0 0 0]/H/N>> -endobj - -36266 0 obj -<>/P 4252 0 R/Type/Annot/A 36421 0 R/Subtype/Link/Rect[396 270 410 279]/Border[0 0 0]/H/N>> -endobj - -36267 0 obj -<>/P 4252 0 R/Type/Annot/A 36418 0 R/Subtype/Link/Rect[412 270 424 279]/Border[0 0 0]/H/N>> -endobj - -36268 0 obj -<>/P 4252 0 R/Type/Annot/A 36416 0 R/Subtype/Link/Rect[398 260 410 269]/Border[0 0 0]/H/N>> -endobj - -36269 0 obj -<>/P 4252 0 R/Type/Annot/A 36414 0 R/Subtype/Link/Rect[405 250 415 259]/Border[0 0 0]/H/N>> -endobj - -36270 0 obj -<>/P 4252 0 R/Type/Annot/A 36412 0 R/Subtype/Link/Rect[417 250 431 259]/Border[0 0 0]/H/N>> -endobj - -36271 0 obj -<>/P 4252 0 R/Type/Annot/A 36410 0 R/Subtype/Link/Rect[433 250 447 259]/Border[0 0 0]/H/N>> -endobj - -36272 0 obj -<>/P 4252 0 R/Type/Annot/A 36408 0 R/Subtype/Link/Rect[449 250 463 259]/Border[0 0 0]/H/N>> -endobj - -36273 0 obj -<>/P 4252 0 R/Type/Annot/A 36406 0 R/Subtype/Link/Rect[465 250 479 259]/Border[0 0 0]/H/N>> -endobj - -36274 0 obj -<>/P 4252 0 R/Type/Annot/A 36404 0 R/Subtype/Link/Rect[481 250 495 259]/Border[0 0 0]/H/N>> -endobj - -36275 0 obj -<>/P 4252 0 R/Type/Annot/A 36402 0 R/Subtype/Link/Rect[497 250 511 259]/Border[0 0 0]/H/N>> -endobj - -36276 0 obj -<>/P 4252 0 R/Type/Annot/A 36400 0 R/Subtype/Link/Rect[359 240 371 249]/Border[0 0 0]/H/N>> -endobj - -36277 0 obj -<>/P 4252 0 R/Type/Annot/A 36398 0 R/Subtype/Link/Rect[398 230 410 239]/Border[0 0 0]/H/N>> -endobj - -36278 0 obj -<>/P 4252 0 R/Type/Annot/A 36396 0 R/Subtype/Link/Rect[410 220 427 229]/Border[0 0 0]/H/N>> -endobj - -36279 0 obj -<>/P 4252 0 R/Type/Annot/A 36394 0 R/Subtype/Link/Rect[427 220 441 229]/Border[0 0 0]/H/N>> -endobj - -36280 0 obj -<>/P 4252 0 R/Type/Annot/A 36392 0 R/Subtype/Link/Rect[443 220 457 229]/Border[0 0 0]/H/N>> -endobj - -36281 0 obj -<>/P 4252 0 R/Type/Annot/A 36390 0 R/Subtype/Link/Rect[459 220 471 229]/Border[0 0 0]/H/N>> -endobj - -36282 0 obj -<>/P 4252 0 R/Type/Annot/A 36388 0 R/Subtype/Link/Rect[398 210 410 219]/Border[0 0 0]/H/N>> -endobj - -36283 0 obj -<>/P 4252 0 R/Type/Annot/A 36386 0 R/Subtype/Link/Rect[391 200 403 209]/Border[0 0 0]/H/N>> -endobj - -36284 0 obj -<>/P 4252 0 R/Type/Annot/A 36384 0 R/Subtype/Link/Rect[391 190 403 199]/Border[0 0 0]/H/N>> -endobj - -36285 0 obj -<>/P 4252 0 R/Type/Annot/A 36382 0 R/Subtype/Link/Rect[401 180 415 189]/Border[0 0 0]/H/N>> -endobj - -36286 0 obj -<>/P 4252 0 R/Type/Annot/A 36380 0 R/Subtype/Link/Rect[417 180 431 189]/Border[0 0 0]/H/N>> -endobj - -36287 0 obj -<>/P 4252 0 R/Type/Annot/A 36378 0 R/Subtype/Link/Rect[433 180 447 189]/Border[0 0 0]/H/N>> -endobj - -36288 0 obj -<>/P 4252 0 R/Type/Annot/A 36376 0 R/Subtype/Link/Rect[449 180 461 189]/Border[0 0 0]/H/N>> -endobj - -36289 0 obj -<>/P 4252 0 R/Type/Annot/A 36374 0 R/Subtype/Link/Rect[405 170 419 179]/Border[0 0 0]/H/N>> -endobj - -36290 0 obj -<>/P 4252 0 R/Type/Annot/A 36372 0 R/Subtype/Link/Rect[421 170 435 179]/Border[0 0 0]/H/N>> -endobj - -36291 0 obj -<>/P 4252 0 R/Type/Annot/A 36370 0 R/Subtype/Link/Rect[437 170 451 179]/Border[0 0 0]/H/N>> -endobj - -36292 0 obj -<>/P 4252 0 R/Type/Annot/A 36368 0 R/Subtype/Link/Rect[453 170 467 179]/Border[0 0 0]/H/N>> -endobj - -36293 0 obj -<>/P 4252 0 R/Type/Annot/A 36366 0 R/Subtype/Link/Rect[469 170 486 179]/Border[0 0 0]/H/N>> -endobj - -36294 0 obj -<>/P 4252 0 R/Type/Annot/A 36364 0 R/Subtype/Link/Rect[486 170 500 179]/Border[0 0 0]/H/N>> -endobj - -36295 0 obj -<>/P 4252 0 R/Type/Annot/A 36361 0 R/Subtype/Link/Rect[502 170 516 179]/Border[0 0 0]/H/N>> -endobj - -36296 0 obj -<>/P 4252 0 R/Type/Annot/A 36358 0 R/Subtype/Link/Rect[359 160 373 169]/Border[0 0 0]/H/N>> -endobj - -36297 0 obj -<>/P 4252 0 R/Type/Annot/A 36355 0 R/Subtype/Link/Rect[375 160 392 169]/Border[0 0 0]/H/N>> -endobj - -36298 0 obj -<>/P 4252 0 R/Type/Annot/A 36352 0 R/Subtype/Link/Rect[392 160 406 169]/Border[0 0 0]/H/N>> -endobj - -36299 0 obj -<>/P 4252 0 R/Type/Annot/A 36350 0 R/Subtype/Link/Rect[408 160 422 169]/Border[0 0 0]/H/N>> -endobj - -36300 0 obj -<>/P 4252 0 R/Type/Annot/A 36348 0 R/Subtype/Link/Rect[424 160 438 169]/Border[0 0 0]/H/N>> -endobj - -36301 0 obj -<>/P 4252 0 R/Type/Annot/A 36346 0 R/Subtype/Link/Rect[440 160 454 169]/Border[0 0 0]/H/N>> -endobj - -36302 0 obj -<>/P 4252 0 R/Type/Annot/A 36344 0 R/Subtype/Link/Rect[456 160 470 169]/Border[0 0 0]/H/N>> -endobj - -36303 0 obj -<>/P 4252 0 R/Type/Annot/A 36342 0 R/Subtype/Link/Rect[472 160 486 169]/Border[0 0 0]/H/N>> -endobj - -36304 0 obj -<>/P 4252 0 R/Type/Annot/A 36340 0 R/Subtype/Link/Rect[488 160 500 169]/Border[0 0 0]/H/N>> -endobj - -36305 0 obj -<>/P 4252 0 R/Type/Annot/A 36338 0 R/Subtype/Link/Rect[398 150 410 159]/Border[0 0 0]/H/N>> -endobj - -36306 0 obj -<> -endobj - -36307 0 obj -<> -endobj - -36308 0 obj -<> -endobj - -36309 0 obj -<> -endobj - -36310 0 obj -<> -endobj - -36311 0 obj -<> -endobj - -36312 0 obj -<> -endobj - -36313 0 obj -<> -endobj - -36314 0 obj -<> -endobj - -36315 0 obj -<> -endobj - -36316 0 obj -<> -endobj - -36317 0 obj -<> -endobj - -36318 0 obj -<> -endobj - -36319 0 obj -<> -endobj - -36320 0 obj -<> -endobj - -36321 0 obj -<> -endobj - -36322 0 obj -<> -endobj - -36323 0 obj -<> -endobj - -36324 0 obj -<> -endobj - -36325 0 obj -<> -endobj - -36326 0 obj -<> -endobj - -36327 0 obj -<> -endobj - -36328 0 obj -<> -endobj - -36329 0 obj -<> -endobj - -36330 0 obj -<> -endobj - -36331 0 obj -<> -endobj - -36332 0 obj -<> -endobj - -36333 0 obj -<> -endobj - -36334 0 obj -<> -endobj - -36335 0 obj -<> -endobj - -36336 0 obj -<> -endobj - -36337 0 obj -<> -endobj - -36338 0 obj -<> -endobj - -36339 0 obj -<> -endobj - -36340 0 obj -<> -endobj - -36341 0 obj -<> -endobj - -36342 0 obj -<> -endobj - -36343 0 obj -<> -endobj - -36344 0 obj -<> -endobj - -36345 0 obj -<> -endobj - -36346 0 obj -<> -endobj - -36347 0 obj -<> -endobj - -36348 0 obj -<> -endobj - -36349 0 obj -<> -endobj - -36350 0 obj -<> -endobj - -36351 0 obj -<> -endobj - -36352 0 obj -<> -endobj - -36353 0 obj -<> -endobj - -36354 0 obj -<> -endobj - -36355 0 obj -<> -endobj - -36356 0 obj -<> -endobj - -36357 0 obj -<> -endobj - -36358 0 obj -<> -endobj - -36359 0 obj -<> -endobj - -36360 0 obj -<> -endobj - -36361 0 obj -<> -endobj - -36362 0 obj -<> -endobj - -36363 0 obj -<> -endobj - -36364 0 obj -<> -endobj - -36365 0 obj -<> -endobj - -36366 0 obj -<> -endobj - -36367 0 obj -<> -endobj - -36368 0 obj -<> -endobj - -36369 0 obj -<> -endobj - -36370 0 obj -<> -endobj - -36371 0 obj -<> -endobj - -36372 0 obj -<> -endobj - -36373 0 obj -<> -endobj - -36374 0 obj -<> -endobj - -36375 0 obj -<> -endobj - -36376 0 obj -<> -endobj - -36377 0 obj -<> -endobj - -36378 0 obj -<> -endobj - -36379 0 obj -<> -endobj - -36380 0 obj -<> -endobj - -36381 0 obj -<> -endobj - -36382 0 obj -<> -endobj - -36383 0 obj -<> -endobj - -36384 0 obj -<> -endobj - -36385 0 obj -<> -endobj - -36386 0 obj -<> -endobj - -36387 0 obj -<> -endobj - -36388 0 obj -<> -endobj - -36389 0 obj -<> -endobj - -36390 0 obj -<> -endobj - -36391 0 obj -<> -endobj - -36392 0 obj -<> -endobj - -36393 0 obj -<> -endobj - -36394 0 obj -<> -endobj - -36395 0 obj -<> -endobj - -36396 0 obj -<> -endobj - -36397 0 obj -<> -endobj - -36398 0 obj -<> -endobj - -36399 0 obj -<> -endobj - -36400 0 obj -<> -endobj - -36401 0 obj -<> -endobj - -36402 0 obj -<> -endobj - -36403 0 obj -<> -endobj - -36404 0 obj -<> -endobj - -36405 0 obj -<> -endobj - -36406 0 obj -<> -endobj - -36407 0 obj -<> -endobj - -36408 0 obj -<> -endobj - -36409 0 obj -<> -endobj - -36410 0 obj -<> -endobj - -36411 0 obj -<> -endobj - -36412 0 obj -<> -endobj - -36413 0 obj -<> -endobj - -36414 0 obj -<> -endobj - -36415 0 obj -<> -endobj - -36416 0 obj -<> -endobj - -36417 0 obj -<> -endobj - -36418 0 obj -<> -endobj - -36419 0 obj -<> -endobj - -36420 0 obj -<> -endobj - -36421 0 obj -<> -endobj - -36422 0 obj -<> -endobj - -36423 0 obj -<> -endobj - -36424 0 obj -<> -endobj - -36425 0 obj -<> -endobj - -36426 0 obj -<> -endobj - -36427 0 obj -<> -endobj - -36428 0 obj -<> -endobj - -36429 0 obj -<> -endobj - -36430 0 obj -<> -endobj - -36431 0 obj -<> -endobj - -36432 0 obj -<> -endobj - -36433 0 obj -<> -endobj - -36434 0 obj -<> -endobj - -36435 0 obj -<> -endobj - -36436 0 obj -<> -endobj - -36437 0 obj -<> -endobj - -36438 0 obj -<> -endobj - -36439 0 obj -<> -endobj - -36440 0 obj -<> -endobj - -36441 0 obj -<> -endobj - -36442 0 obj -<> -endobj - -36443 0 obj -<> -endobj - -36444 0 obj -<> -endobj - -36445 0 obj -<> -endobj - -36446 0 obj -<> -endobj - -36447 0 obj -<> -endobj - -36448 0 obj -<> -endobj - -36449 0 obj -<> -endobj - -36450 0 obj -<> -endobj - -36451 0 obj -<> -endobj - -36452 0 obj -<> -endobj - -36453 0 obj -<> -endobj - -36454 0 obj -<> -endobj - -36455 0 obj -<> -endobj - -36456 0 obj -<> -endobj - -36457 0 obj -<> -endobj - -36458 0 obj -<> -endobj - -36459 0 obj -<> -endobj - -36460 0 obj -<> -endobj - -36461 0 obj -<> -endobj - -36462 0 obj -<> -endobj - -36463 0 obj -<> -endobj - -36464 0 obj -<> -endobj - -36465 0 obj -<> -endobj - -36466 0 obj -<> -endobj - -36467 0 obj -<> -endobj - -36468 0 obj -<> -endobj - -36469 0 obj -<> -endobj - -36470 0 obj -<> -endobj - -36471 0 obj -<> -endobj - -36472 0 obj -<> -endobj - -36473 0 obj -<> -endobj - -36474 0 obj -<> -endobj - -36475 0 obj -<> -endobj - -36476 0 obj -<> -endobj - -36477 0 obj -<> -endobj - -36478 0 obj -<> -endobj - -36479 0 obj -<> -endobj - -36480 0 obj -<> -endobj - -36481 0 obj -<> -endobj - -36482 0 obj -<> -endobj - -36483 0 obj -<> -endobj - -36484 0 obj -<> -endobj - -36485 0 obj -<> -endobj - -36486 0 obj -<> -endobj - -36487 0 obj -<> -endobj - -36488 0 obj -<> -endobj - -36489 0 obj -<> -endobj - -36490 0 obj -<> -endobj - -36491 0 obj -<> -endobj - -36492 0 obj -<> -endobj - -36493 0 obj -<> -endobj - -36494 0 obj -<> -endobj - -36495 0 obj -<> -endobj - -36496 0 obj -<> -endobj - -36497 0 obj -<> -endobj - -36498 0 obj -<> -endobj - -36499 0 obj -<> -endobj - -36500 0 obj -<> -endobj - -36501 0 obj -<> -endobj - -36502 0 obj -<> -endobj - -36503 0 obj -<> -endobj - -36504 0 obj -<> -endobj - -36505 0 obj -<> -endobj - -36506 0 obj -<> -endobj - -36507 0 obj -<> -endobj - -36508 0 obj -<> -endobj - -36509 0 obj -<> -endobj - -36510 0 obj -<> -endobj - -36511 0 obj -<> -endobj - -36512 0 obj -<> -endobj - -36513 0 obj -<> -endobj - -36514 0 obj -<> -endobj - -36515 0 obj -<> -endobj - -36516 0 obj -<> -endobj - -36517 0 obj -<> -endobj - -36518 0 obj -<> -endobj - -36519 0 obj -<> -endobj - -36520 0 obj -<> -endobj - -36521 0 obj -<> -endobj - -36522 0 obj -<> -endobj - -36523 0 obj -<> -endobj - -36524 0 obj -<> -endobj - -36525 0 obj -<> -endobj - -36526 0 obj -<> -endobj - -36527 0 obj -<> -endobj - -36528 0 obj -<> -endobj - -36529 0 obj -<> -endobj - -36530 0 obj -<> -endobj - -36531 0 obj -<> -endobj - -36532 0 obj -<> -endobj - -36533 0 obj -<> -endobj - -36534 0 obj -<> -endobj - -36535 0 obj -<> -endobj - -36536 0 obj -<> -endobj - -36537 0 obj -<> -endobj - -36538 0 obj -<> -endobj - -36539 0 obj -<> -endobj - -36540 0 obj -<> -endobj - -36541 0 obj -<> -endobj - -36542 0 obj -<> -endobj - -36543 0 obj -<> -endobj - -36544 0 obj -<> -endobj - -36545 0 obj -<> -endobj - -36546 0 obj -<> -endobj - -36547 0 obj -<> -endobj - -36548 0 obj -<> -endobj - -36549 0 obj -<> -endobj - -36550 0 obj -<> -endobj - -36551 0 obj -<> -endobj - -36552 0 obj -<> -endobj - -36553 0 obj -<> -endobj - -36554 0 obj -<> -endobj - -36555 0 obj -<> -endobj - -36556 0 obj -<> -endobj - -36557 0 obj -<> -endobj - -36558 0 obj -<> -endobj - -36559 0 obj -<> -endobj - -36560 0 obj -<> -endobj - -36561 0 obj -<> -endobj - -36562 0 obj -<> -endobj - -36563 0 obj -<> -endobj - -36564 0 obj -<> -endobj - -36565 0 obj -<> -endobj - -36566 0 obj -<> -endobj - -36567 0 obj -<> -endobj - -36568 0 obj -<> -endobj - -36569 0 obj -<> -endobj - -36570 0 obj -<> -endobj - -36571 0 obj -<> -endobj - -36572 0 obj -<> -endobj - -36573 0 obj -<> -endobj - -36574 0 obj -<> -endobj - -36575 0 obj -<> -endobj - -36576 0 obj -<> -endobj - -36577 0 obj -<> -endobj - -36578 0 obj -<> -endobj - -36579 0 obj -<> -endobj - -36580 0 obj -<> -endobj - -36581 0 obj -<> -endobj - -36582 0 obj -<> -endobj - -36583 0 obj -<> -endobj - -36584 0 obj -<> -endobj - -36585 0 obj -<> -endobj - -36586 0 obj -<> -endobj - -36587 0 obj -<> -endobj - -36588 0 obj -<> -endobj - -36589 0 obj -<> -endobj - -36590 0 obj -<> -endobj - -36591 0 obj -<> -endobj - -36592 0 obj -<> -endobj - -36593 0 obj -<> -endobj - -36594 0 obj -<> -endobj - -36595 0 obj -<> -endobj - -36596 0 obj -<> -endobj - -36597 0 obj -<> -endobj - -36598 0 obj -<> -endobj - -36599 0 obj -<> -endobj - -36600 0 obj -<> -endobj - -36601 0 obj -<> -endobj - -36602 0 obj -<> -endobj - -36603 0 obj -<> -endobj - -36604 0 obj -<> -endobj - -36605 0 obj -<> -endobj - -36606 0 obj -<> -endobj - -36607 0 obj -<> -endobj - -36608 0 obj -<> -endobj - -36609 0 obj -<> -endobj - -36610 0 obj -<> -endobj - -36611 0 obj -<> -endobj - -36612 0 obj -<> -endobj - -36613 0 obj -<> -endobj - -36614 0 obj -<> -endobj - -36615 0 obj -<> -endobj - -36616 0 obj -<> -endobj - -36617 0 obj -<> -endobj - -36618 0 obj -<> -endobj - -36619 0 obj -<> -endobj - -36620 0 obj -<> -endobj - -36621 0 obj -<> -endobj - -36622 0 obj -<> -endobj - -36623 0 obj -<> -endobj - -36624 0 obj -<> -endobj - -36625 0 obj -<> -endobj - -36626 0 obj -<> -endobj - -36627 0 obj -<> -endobj - -36628 0 obj -<> -endobj - -36629 0 obj -<> -endobj - -36630 0 obj -<> -endobj - -36631 0 obj -<> -endobj - -36632 0 obj -<> -endobj - -36633 0 obj -<> -endobj - -36634 0 obj -<> -endobj - -36635 0 obj -<> -endobj - -36636 0 obj -<> -endobj - -36637 0 obj -<> -endobj - -36638 0 obj -<> -endobj - -36639 0 obj -<> -endobj - -36640 0 obj -<> -endobj - -36641 0 obj -<> -endobj - -36642 0 obj -<> -endobj - -36643 0 obj -<> -endobj - -36644 0 obj -<> -endobj - -36645 0 obj -<> -endobj - -36646 0 obj -<> -endobj - -36647 0 obj -<> -endobj - -36648 0 obj -<> -endobj - -36649 0 obj -<> -endobj - -36650 0 obj -<> -endobj - -36651 0 obj -<> -endobj - -36652 0 obj -<> -endobj - -36653 0 obj -<> -endobj - -36654 0 obj -<> -endobj - -36655 0 obj -<> -endobj - -36656 0 obj -<> -endobj - -36657 0 obj -<> -endobj - -36658 0 obj -<> -endobj - -36659 0 obj -<> -endobj - -36660 0 obj -<> -endobj - -36661 0 obj -<> -endobj - -36662 0 obj -<> -endobj - -36663 0 obj -<> -endobj - -36664 0 obj -<> -endobj - -36665 0 obj -<> -endobj - -36666 0 obj -<> -endobj - -36667 0 obj -<> -endobj - -36668 0 obj -<> -endobj - -36669 0 obj -<> -endobj - -36670 0 obj -<> -endobj - -36671 0 obj -<> -endobj - -36672 0 obj -<> -endobj - -36673 0 obj -<> -endobj - -36674 0 obj -<> -endobj - -36675 0 obj -<> -endobj - -36676 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -36677 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -36678 0 obj -<> -endobj - -36679 0 obj -<> -endobj - -36680 0 obj -<> -endobj - -36681 0 obj -<> -endobj - -36682 0 obj -<> -endobj - -36683 0 obj -<> -endobj - -36684 0 obj -<> -endobj - -36685 0 obj -<> -endobj - -36686 0 obj -<> -endobj - -36687 0 obj -<> -endobj - -36688 0 obj -<> -endobj - -36689 0 obj -<> -endobj - -36690 0 obj -<> -endobj - -36691 0 obj -<> -endobj - -36692 0 obj -<> -endobj - -36693 0 obj -<> -endobj - -36694 0 obj -<> -endobj - -36695 0 obj -<> -endobj - -36696 0 obj -<> -endobj - -36697 0 obj -<> -endobj - -36698 0 obj -<> -endobj - -36699 0 obj -<> -endobj - -36700 0 obj -<> -endobj - -36701 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -36702 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -36703 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -36704 0 obj -<> -stream -HWmoF_T4"I:͢ID/>J+o-|ˣ,wf=uܮՋ'޾VgRT8KFMQmIn\ֳZ-g˶붙IN\uJNFiU$!^$SAT<0'fPc㳁R?VJ=]ݯtX}FqޤŁEw>,J={&QJg}Tީ35UIyj|TJ=OBfU< 3+H#"Kkb<`qZK,F-po{ [Nw=p{{^ρ\ρ\/B/B/B/R/R}p/:Ai96O h-Lj%s,@k9F,cĒ9Y#p/Zk@k9F,^րr,@k9F,^րrXhXdrXh{ZZ˱{ZZ1bcĂrX=" cĒ9F,cZ1bcEk-h-" cEk-h-Lj܋ZZEh-Lj܋ZZ ,Z #p/ZkAk96Oh-Lj%s,@k9F,cĒ9Y#p/Z@k9F,^ցr,@k9F,^ցrXhXdrXh{ZZ˱{ZZ1bcărX=" cĒ9F,^=x |!Pu=dstKh9儖ZNhy兖Z^h@+Z9ʅV -UBh@Z%*VZAhɤLj%8F5ZZheZ"cZ%@9F,%ro@9v8YB cZ"cV%@9F,%ro@9v8:Y\˂sXRctZ"ctZ"ctZ"ctZ"ctDZ"ctDZ"ctZ"ctZ"ctZ"ctZ#ȽȽȽȽ-{r1zZ"cD=h;{ы9w s1bI-+7 ! !8}̓*9*n!*!Q<YLfZ=g3;uzn&rjjn弙\鏛:QZ,ۥ7J}/U?kXk!Q$.xH-gROρP<䁙my_D0iܯѠYtX,G6Y6sY..Ƴnz淫K"lhnwR>l=suj/]w7PTL6-?׾HMēHQ_\\m5q’Gƍ/ZsFM wHP|I]0i!4ͶJu^FgL.90>nu3.4weW4]vhaQNax:9Rl'<غ2t|A8Xjr߶ePt #lK_ϻv9-?~>R?l74/TV{G+LYcAlbg OEW__] xLFw[h}A n? 4Y[cmu=qjJܹlw@S6~.H{~Əm96 -=嘸>#ht4_UV_Ջijxww.q;;gEƗzeMO ^e6|k|ɸyχ_~x1&>ʝf1[:cLހQ:!Uo/^ywĤMJat^`|Bk0r^%ϒ c$7endstream -endobj - -36705 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -36706 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -36707 0 obj -<> -endobj - -36708 0 obj -<> -endobj - -36709 0 obj -<> -endobj - -36710 0 obj -<> -endobj - -36711 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -36712 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -36713 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -36714 0 obj -<> -stream -HWioW>⭀AsdEqĚ`4m^!); =CR$CX]SM?kLb^xy{dClKCw3gǩ3:EE֌Mt|2_z98:}uhF%$1)IIail֮>64L.wӺ_OإIO_Ozվ<̆yu܎1}QE Gv)-UcgK173Qإ$9DQJN9+Ę'1bYYcV -XһڼĈ{;)ʽr{>(} -ܧ} -ܧ} -ܧ}g}g}}}}}} ܗ} ܫZPZM#Z+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĦ{ Vb%,^b{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb(JYڽĈZ+1ficv/1bJYjm{Z+1bJYjm{Z+1bJYjm{Z+1bJYjm{Z+iJYڽĈZ+1ficv_eY_eV5Tè-CL'74jl=~vI\ΗOwnwv1A-ͻni(26jLw5v$ 0Y(ⲑnHG< LV + ˇ6pTWŽǷW3\t_կovۇ*f&sy_b0jr,2%-q+6Ljii8>'ie(`2cLcZ9L9tCi7Ǜ_#ۻic|wGaIw<@k!N6L~;s,8wIZo7  .@̀p(]=7~e|EV#yYxH9MLZMBbG'n~O~Oۚfj0Q{罟]WˋUhv?麖ݴojmFjeybq鴾i2hro\. mf4쬵?:8]l8pB{| ~=Þ|;|شjJ%4 -~2/{I]?{;?zwͦ>ɻY.EMݻ_]gYYS_/1}v#7Fl6th괋,=voyMZB@w&3> Q^&Qݫ{ջ'47Αbۮtup°8?o{faΗ|)/h6_{it]riTl.4>׫z6*$r陠c~Gܽ@y2ptc|a` ->H8[#cıY-= &c[̠ߋ:OfsOt*.*?؆`FGUeyx>!*1f -J+R*hJ+ZʀVr+hJZ*VJU*hR%ZKbZ#ZViYeZNi9r@%,r@%,r@%,r@%,r@%,r@%,r@%,rA%,%1bKY@KރKY@KރKY@KރKY@KރKY@KރKY@KރKY@KރKY@KރKY@K>KYZKb}}}}}}}}} -r/1fi- ^bZe\e<*:lL5 YA iLc66mo<&XzC>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -36716 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -36717 0 obj -<> -endobj - -36718 0 obj -<> -endobj - -36719 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -36720 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -36721 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -36722 0 obj -<> -stream -HWm6_ l|^Q\-I(6Vk{ݯHpC5~8g4gs￿%+Wſ *J_R[Yբ4( -VlkuvU?/ݒ%/AVҁ0[.BZ{}9 ] n=G速T޼vj?]7Vɺ/viq9! g2a[@ P(d (M0ws(A{A{I{I{I{EW{EW{M{M{M`_gk}7{7{7{{{w{wL- A*gm"TmǶcb[@3 -BPLP-P->S TmET+bb[@3 -BPLP-P->S TmET+b۾j-r(BP9{l =P->S$TmET+ bb[@3JBPLP-P->S$TmET+ bb[@3JBPLP- E*gm"TmǶcb[@3*BPLP-P->S"TmETbb[@3*BPLP-P->S"TmETb۾Єj-r(BP9{l sdo2\틗n?Ml\.ڕ}Ǜg%*?,|.o^Ho_a֧QwI[wmnE8[0 m棔ԧ}㯋!JXKU\CXd&`+xSAm`:TkvsaY@hV?mi`on4M\S{Fé/G -^ .-U+yHn?Y(BrsAjt j6~H"OinWhSBކdcXY6۝g9ĤK8ٚ61ĺEm+mĕH >w^gM8RD۪CVRV̹DV 's]s3w'~22S{N+/u~\1.N#ھmv}]ݪs Id8j' lS!9)YZ e1PeҖ =r`=epjW ?u}bSD嬫/(TaLܷ_lOqr1LWv%k[ \5ÿv)Fb~W>kHft ?.W&˽XYÐw >s_b%aȎ?7xA6{faoVZC EoOS߯abOu -6zn7TI6xQ` -S.žp2+`d֓Xo QqḋgU0458-?G02ČS2H7!qk#c٘V0#5NXr&feknoI1^@ -U"4⦟Opce,Q\%#as2C0!;Gf?DHh V]"7gxa_y`'pTvpG'4~ [h gL7+0,!it텄Fw23'ІRjRôh;j5 ZV;98uxoO(JԂ - uwyq&P|8nk)_#PNVУ⨉CHc|`xn>/XK@Hи'+&U~C,ýs'fDzjBo]p -Gܬ_1l&\ ΃RkK -..+Cxm3Diu άш|NW1P.+]X|q7f>XtUE䬩~$Xo ^C -gޢY/Xqtk)LTF=pÍp+f?kR-00^UCv^µ?įA`_[3>}G/SC0m._8̳Na~)H8%;nQ)Njlİ'OAB?u -Y[ֺYެsOCp~ƀA.^LNU@T vL`CP8귇v- K r5OI,bŜ -.n|* .|7 ʣOjҪݩ6Q5>l'sczl*p[rh1h!F53XNӷ.WPzԁ{~"|aR#UlբBA/`9Ox<7Y_oZށD :>W量%;-]j_o5}JTZ|?8e@;>:҇&X";5GnQ%'3T`cyfT!|+ h>"%:\A ;o߽׬i*v5ixPumo>=3SeHbdwz E>Yʩ¿tҭmx06}ݿۏʃz-xN>?QJ! ['8Q[:HoY$m6}_C~ YDu XwEg^sS$4,5%v,eF'.ݏvdQMlHdx\=vt"C640OD.Ӭ(C!RP^Ў4p3j*Sb0p%CէksMc- P¬vh<-Br -5XVҢ p۶xRT!y$ڇ1DBQ*L[O20/3'F\ɈI)4+h=R̻.Z[Ð;s$H܂16׻d$Uö3L6w̨ -𐱿OQU"Rhk -lyvw]E`%\W}2xLLQ*gdsn3*GfXWFbe9|,J dm:隶w[ŹHKVۊ^\d(j: ^b |Gץ@7<+;p{)dd_lgn u4\a1aj*qދ5Jaڸ5m[^OEjeQ7O`(WE s7|* ?΁<`f)TnG\D ->/P 951 0 R/Type/Annot/A 36724 0 R/Subtype/Link/Rect[93.6003036 188.988998 244.235992 208.669006]/Border[0 0 0]/H/N>> -endobj - -36724 0 obj -<> -endobj - -36725 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -36726 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -36727 0 obj -<> -endobj - -36728 0 obj -<> -endobj - -36729 0 obj -<> -endobj - -36730 0 obj -<> -endobj - -36731 0 obj -<> -endobj - -36732 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -36733 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -36734 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -36735 0 obj -<> -stream -HWkoܸ_A( -$qhݦh;XtF34v_KQ!lu|xyxy+~}Տ$!o޼21I&.M9RA'A(!#.>mUr7tMU.~侍ޮMFVH DCL%9YlS㊲wh,7J2yggpҜj&M|񑜽*y>0 -/š3Gw+.oq䉰 -S> YHrq":萣=KD@1 -1`1<̲31`qD=sD= D D DKD KD +D -+D -+D -ԧ4P"@}> g,P#@}QQx!]e} Xk}̲B>fYzZ,D}Z, Q#1`!1Bk}̲k9ZZ,D}Z, Q#1`!1Bk}̲k9ZEqYVǀ,+Tc1`!1Bk}̲kZZ,D}Z, QV 1`!1Bk}̲kZZ,D}Z, QV ]$e} Xk}̲B>fYzZ,D}Z, QV"1`!1Bk}̲k%ZZ,D}Z, QV"1`!1Bk}̲k%ZE -qYVǀ,+TcTk-I-.z.V7IYm"8$M5Y٘и6eW+bh7CgC1Rz=>U]PϫAEi2;,vl儠(ll3Eϔ!SL$Eyv8b윊MWTvY)f\4I \,z[`cTּښ{Т9cy|ܙmv~&ǡuAdh$T,%,%`x}i\TΩĤo *4䊋j걔z/Ei.1W[e^]x=u3r0Yɛq0Hb7- 트VZcWզuAڬ2ܒArX$tzBgT'b -<0ȖN'1X+9,[|vP/낸\24~ $; %cU_(v_VEg?fJcJ'K~6~,ûFٸUع.@S9įB 9mW`,KQ+9uob(9+JW0b\(1dv$LuMQZD$|b50p`zbozO>ٵtpSGxovEg>+pZpX}+ۗT-wU ,3W|cR-mYԛP}asn0v( vŨ׆XUBR'.l8۸:R> Scڮ)utpdvX>uroSGORvs ^b0qX>㒤<7hOi- {sq, ' i;AnoÓ,zbSbO,g']?#B$Ϙ^ElylhWh)ĝڕ6w^qD $SO0j^dB>4*_ -$l[OpL46ccj?=Ux(G?|6(t-G !Bо8p?=>{>TU5lH[;nhoM8a;y+RtlvC}'3 cl]Q}U8$͵8gcp#Yܞ3-oN8VI MAh5y]u_~w^.|{{>- j$~=gbp8LPJkP.GwPU2 ˧s_ƫq+CH<`EQ`o[ - DRwO gyMpU~t莗oOij|^&g?YdEkV>O͈Nãzk5[Y,q/e>4‹Ad dMː2E)0{/Z`GيZX8WrA:9|os9vv9V|dJNSs'ۋUYYKߪ¢ςJV)%U Q0Sԑ``NyO!M5"3fzk-O3Ao)J:ymʄUPٝ'ḱ Ci1a\ׂ4ƶ]<лg85L= )%f:AVrDJTLgl (ճP{c gS]( Uxfkbgg)[Tvkh/:AVUeFVi%nd3=0Xt&6qVlƠo/ zrVg?`ZjN4T3irɥ,Cʠ5Tjm*Lk׽"0oOF 0oqfvm%^>D7Xq(ЏYCIv1J n0Նfߘ99ۧ/w_`endstream -endobj - -36736 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -36737 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -36738 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -36739 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -36740 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -36741 0 obj -<> -stream -HWmo8_ -.a7Q \E{և"˱ -[Yrޯd8F3o?m -Bg"%'KUdMJ$Ovirg};cocפ.OcfܯtI*X$O9Sj|> }zsdʛϫ3XPJ -~f^P\.(<~)yJrB ?=.ᄥ/)?`!9OiR0 3~J]8vǤ!1U9@OB(QO$ -S}b{g{{{{{{{{{/Eľ@{W{W{Wa_FK}UľBGhC>ajCFCՆ>ه>ه>@! }TՆ>BGejCՆ>BGejCF!#2DPjCF!#2DOj(DOjЧQH Qm'QmӨ}ЧQ1ЧQ1(DOj9ЧQHQmЧQHQm(}Z6 -Qm(}Z6i>R-GT6i>R-GT4 -a# }D }}BT4*f4*f6i>R@T4 -aV }BT4 -aV }T+Ն>@! }T+Ն>BGjCՆ>BGjCF!# -DoHDObPjCFCF+RUHswf6*_/ef>$`u ~3svOn Ǜϫg4bʅG{Dd40yZi{M*sA(ٺ=ެKeen`B_[.=i}N>5wKLB,@c|/&pe648_]+4׏>/ 'EYMzWE!佅 -A+FU t3% -VbF}L(g 9f EBMz{s>{i6rW@{"G͇1fP_ʫ309r·2 ڈx~4HH3:Wjќ[TO'*؍7'4éɾ]K)8̤Gɾ4nqxw'.J(ϫf@ \T:%2 S,``qIk݅A2:7ٯ^K3I -,!P恟25֙6hpm}8̇eƴ޳rml8{q9%"/gUp$f;eBˡ/^$<ߋmlnďйOm}Z( -(*ΰ҄wW#epz\ Pv YiL -KvgB|Jە{n. 1iy{8a24+.asuhQK?L xIVb$ˊTz>#L^?p&'ԚkVUV2"Z|"3j|^~t3inչHe#Z R)Ku04-иO]$W5piFi96^KhĕeL9 0{U.sۆS69lMw.H.![Ivj8s& _AI^lpʼs^@ߡL7J]lmo6*2]MpIY)In1ltk A= /0Gf[:_OАg?5nnW2K_F,$BTTgu׵]F~E8I8 줙XDI Jq,Vs[_knh0AVЇ@藄CӘK:WAI+t*%> -zBE!q\2f_^a>nV J'rB ^Ӿh)H hYxm -D%״-5rn_LJ 3.[f^~u`v}]?]p$ !^`y8ዿ?pϸ m_*6\SLɷrR) ,՜mIΤg{y}ɨJA*G51>*֑y"iX4b$.GSeݝ XN# -6;D -`՜ /תet]>C_6]6-Qkd{gz4 ZhZ͉a 5%ҹ펎7"~,%.l+iTcOTlpnJ\2#QК'$O2!^)bz`FDSV9wp,c(N͜%n9mMSwÎ /0" bʮ.R{ .\M.d1{ҁ冰3BN Bu}uFEIF#eja(AE:k}bj -KyesqsmxeKx^%:ԉ_|J&nģJ!JS{2 YS/関p -QSZo5C? ; 0ACCdi@XٗV#)Yu\M!^+y1Fp\[B5_Ͷ61;b@3ʷaĈnGZaM2R\K|EE\Ə>C*$5TK[]G&ӔvouvrٙeMS7`)"II}Mh?xaⳆf?IGht8+ur|n$=jI~./G-PZÙ TQllFYY)(+LC~dmM_/>b;yweJ7S:w9RAׯ~`X8TUW}j>\ɾVn/u3.~rѝA PgI&{:8!].OiNJsx#\i]i|.P2>*#س\ݽli {d!Oa9qΛ,/I0ŌvIIDVuw[ؓ}ԮvIV,/lHG2}YKoY,o[/K}1m8+vռVF# CcPp}z"9qz_K)sN$44PusV*uh_%QpG#X J6bz&d?g\$Кz}ں mtJ`~Ǹa?B~騝YI`:x7ڛ1.b8Ό -#4u(ؑWmrOWzb'e>[xI]Uc#upIMEWU#lWj:~{Dvsԍ\T&SbgybD7D$ܻ:[fy+Y"txUmtG/Cf!rhT]jN -PwWw {FHjGR-P|yWtcendstream -endobj - -36742 0 obj -<>/P 792 0 R/Type/Annot/A 36743 0 R/Subtype/Link/Rect[93.6003036 327.229004 237.623993 346.908997]/Border[0 0 0]/H/N>> -endobj - -36743 0 obj -<> -endobj - -36744 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -36745 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -36746 0 obj -<> -endobj - -36747 0 obj -<> -endobj - -36748 0 obj -<> -endobj - -36749 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -36750 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -36751 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -36752 0 obj -<> -stream -HWko8_A`(_zE}ζ@AcLHBX^YN?$Ku㫣C\+zoߐxe%Q1'I,+O "r0RcQ}y_n+5kNUpb_$ad 2$"ɠOD)YA"~fhjIc\Q6n—Yr(|{ĖIO׻|@gҰXt3"T|lHrG,YUpdd>'s8,4ŀŘr0RΘ/ŀSS/S/S/S/S/SSSS#cO}= >'S O}O=)>gS!=2Ĵ.Vqiŀ4Wbw1`!u1B{k]Lk9ZZ,DZ4 Q﹖#u1`!u1B{k]Lk9ZZ,DZ4 Q﹖#u:k]L|.,ĵ.Yz,_ qis@\b\+׺׺f!= -ĵ.Yzϵq qis@\b\+׺׺f!= -ĵ.YzϵqՁD\bw1`!u1ջf] Xk]Lk%Z,DZŀ4 QV"u1B{k] Xk]Lk%Z,DZŀ4 QV"u1B{k]Z,_ qi4W,$YWjž(jN |И up@.$ c՗Q6wh]4lM_n]qy[hBr8\x(b_aʠ@P$n{l}60H_]xXQ#kz0@^=䏺5|$mdglv:̛!uW3FT4#5R`F4BxdK 6SQx7W:7x(hzvC]]6y5[]S"О锉NAIM[.է|QaBag]ͬ\uv0x g ˒YE ġb& P NC:4%N- m)`LΎ,TA YKY<9_A^˙8ck(C'^I3Q+ᮦR> !"WJ\ɛv1ț~e4Βx>Af7]'l;\PnTI{W - i6~wTohѕ t0a?ʾpopTt:"+r7'6ڶqByEwVN"=/Pio.gT۟[?ѡ=nI,-av@ɸ`'&V_ZJ3V·"c~xNpMN2-/{:BéX]<xxjB[!h:mL -m3kzvc.'4/N*R8E~BH0#doyclE5_ZĜΛ107a. >'T&÷xC0-я3%|I>O,kzU,,Čvg=1Z#mx{ZR߉lj1iJ`QߓUN3e+9^U6)ʞtB[ E#}XǴ刜 mnl)2ҥ`M -x-/DMD./'upʵ+O{>E(8^N]\vs']]eId><2 -u)ۧs}>irX;M9w Mptym1vv$$q(& j%\/q ހk=Ÿ~'?Wn8+!ś;h(T4-F16ɰPf.PV6=!I/vGP>C9\t IlK=TzvRFDuQABv"C("L3yRJ BrKσendstream -endobj - -36753 0 obj -<>/P 1106 0 R/Type/Annot/A 36754 0 R/Subtype/Link/Rect[129.600998 593.229004 365.256012 612.908997]/Border[0 0 0]/H/N>> -endobj - -36754 0 obj -<> -endobj - -36755 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -36756 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -36757 0 obj -<> -endobj - -36758 0 obj -<> -endobj - -36759 0 obj -<> -endobj - -36760 0 obj -<> -endobj - -36761 0 obj -<> -endobj - -36762 0 obj -<> -endobj - -36763 0 obj -<> -endobj - -36764 0 obj -<> -endobj - -36765 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -36766 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -36767 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -36768 0 obj -<> -stream -HWmo6_AGRɵhAEpBjv%WڕyÛwU7/o~xW~:3&ID*ѹ7DEt;TCٽnmW[ͷ(qG_o] )6IRQ|<-&O60Ie9n7;zl>l^Jtjvi}0(+$KXjMĈ#,H'J< -V~HNDeQZp~JK1e) F:Q PR(bCeP!yjbثbثf뀽f뀽f뀽a؛a؛eۀeۀeۀ}ư> <`3}ΰþ "`_2ˀ}ɰ4+R1Rj Q!{jZjCTȞ6@16D1*FԆ(}ZŨŨŰTRjZjZjC>PbTKmbUj Pj Q @Q-!aV1cRB(FԆ=!*dOmbTKmbՌj Q @Q-Q-!aV36D1jF(FԆ(}ZͨŰTRRj5ZjC>PfTKm06D Pj Q!{jCTȞŨŰTkRj ZjZjC>PaTKmb5j Pj Q @Q-!a06@16D1FԆ(}ZèڎeTKm -SRBԆ}eiD -1zlFHG2L2exsﺫQ6[42Ug"MRYh3nΉ:QJA9:Tsctx/AeWǻۦ->aKL[Xo+/(cD/ ]ǚ" ;ZC ծ/M3u>,9I2;k$&p#n&Tx/'b)LC?5p0xN<9 w0&&&:/L/g ťJrd s}4!4 oms"7Bhq̀=z'v}쪡몣'7<r*. 1:v.YqL{za>SNml݃ԷG-.G[m4n9fdϥ^ /`7|w7<ݧkߝj li|(<;rƯofm7&G 3~lGACuNe!Pf$@q#VIB -yxlyK/WؓoUIZ%eso!!+(Xa27 _z[$ϊżt]\ t~CWiQT7%Δo~Z+}T@6}='4J - nkԳDjr)TaOvOB%iA)vƩR"l[4VijHA5EZv}sCUzߛc.)N) - -^`10>OZ܃l#NO Sxa?[ bXIJ.iy -<֗@3bSw*$W؅c8zH>ꅅOs?Tpo<0*ȧm]A{ bq஧Ω?'l-) K7^&0>xF}'UZ}uP~v{2Z@n28[z HC=є- 5TT=Tvuڸ˵C Yq~}ti~e,IMKgAid=0E ;uw^њ-SM's꽗W"cc,q5T;8 zV⫤&X`ng8>ޤt} 1lKm-2I;/{qDJL|WڼU?镸 b>tC=< hӞdvodPJ9spl8ePpmk~sJ!Nfš -ؙ%S -&Տ$OE1xb UO3O? ~"V>7vʭ/R0]k]SS% ,?V0eZlj[)"ųCR/1ςĤ6ߞM;]?a &|X8D=%bwpI -~f/Y< J4ҿ r9Px`ӈjlgBM+NZf%ۭɗT OFUI,n+iJx/js1{!cXi5')V߹Nh{x^]0®m1z\}h: m5fю_-D!?M  3>s[~Nd݆,jbcoF[%oͶ}>.kQ-0|%>$l."uam|A֦C"$-^# -_'vnzDxq*d:sTeg&>u6H]}D?]qZc+6_[03 y!k,5z{\ f1mWJm׌7^Y)pb anBrf4I}=TR^N0ftP/u/XԎ|,5{}$&|HzxKr:f-3EDdjаf(seq+S3RI{}{ W ).@tAn,׿m?sV~d]mN ]Ze6Rr.*] -!;‚odq{4ڥ>M!>N2S/L!3(& 7V*Jé%ԑb*`̂$ A{㰱~J+LBb )$t8îb$eֿcSk;$Q5\+ҏ|z|$΃כ9 -'M?-iˤӦ?/C/}/bXr z'MhEi \Yx?]n(Hʬu r _ޢQ{)|WB&K+':׮}aԨdsS9аf˺BDĺ$.ӇȬQ0 ^a}߯)ȧaŽn I EF.2MiU6hF|khGǮpJQ%=>W,:@ўU";**տ;6?@05_V u[ЄQtrcXF:.KpJJVUv~`lM7ahº c\dIsIV e - T%E ,x ̲懫2dtl:(EC R8N.Oo_xZSVOp2MQ@n[xbqrp;뗦koU%zΣ^QUxo 0j)iJ"0%y3y.2(ܧdVA L!-}yV=*f at91 3U >q-]qH'i܎E4xKv:&Љr`2J7~.*rQ%ߌJqdYlu?*YbYTT`p#Uq L'"DpB[1F(j -ym{Mw&VO?Wr 1]L 9LYoscサYPRu.c j@}_>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -36770 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -36771 0 obj -<> -endobj - -36772 0 obj -<> -endobj - -36773 0 obj -<> -endobj - -36774 0 obj -<> -endobj - -36775 0 obj -<> -endobj - -36776 0 obj -<> -endobj - -36777 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -36778 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -36779 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -36780 0 obj -<> -stream -HWk6.`>D#@INdH@RKr%9"e2:>${.e7O޾}ysϞegd̊r\)TĊ~ VapޕC]lwmWzUU{>epd_D&(`$, $ud6%d}~}w!\<*Y݂Ѻ pu3?7e()|NpX"%ԧPy3B}>'P{ B}/gaZNŐw1`u1d] YzZCs-'\b"{k] Xk] Yzϵp!P﹖u1`u1d=rµ.,BZNŀEŐE\ ׺k9ZAŐw1`u1d] YzZCs \b"{k] Xk] Yzϵp!PVu1`u1d= -µ.,BZAŀEŐE\+׺kZIŐw1`u1d] YzZCs$\b"{k] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%ZEŐw1`u1d] Y".B ; Wub.p X2Ͽ8 Ӵu1z1 O<J6lsw{akyYΧϗGK*gEAߘTi -iG UZ(l޼yluԟWJbY.W"1v~:Ŋ|b}j-Q9VĎ&.Dɩa. -vH,xKYT  ,7aiC1oöLd̅E^OnrΏM;1P$ FQ2U۵+ؠڮ|)jci L8?'uބ0S74mlT*)HyikX%6zm^ꨰT鮪Ϝqq'E%|&:9nG !39O1%1`mSzODfC`-ѮS)g:F-K@y6z\YbȎ;˓`a㭰bKӤexIY+q*S5ZS1pt]3x=/2h5/5g/ܘluy髿յOlɝjTif -rkL4oGX|]oK^9# -8$g#>jXYgǶj˺r{F]g(X0%x+xwlc89G݌M ܔ9<4ܿnֺsKN}y1زOr5}aҜ3`chqB,{85+{ 5ϋm 3T}޶ 4UK٧Uˆk\i jk~9~謽ݚ"J ʩKNp -O1ۜZ Ю^3bεoƊ1lx1&#iAڻXH[lY:fvԵ 2eR(ʆ fp/;IP0,=q0$%r ox馌Qowaz=9/wA -yREM*kLɂȠ=J/41%7U©q,d٩TƱ";b:261O3imS&"Զ@ͬ^mJǘgm櫓zfE yvڴWo$qW6ӫD~O,bY2L/߽~9(r鮷ln)sABIzEe8De<[OS0_hf,O,UTBm|}xGxmQ]@"~d%78-B\Zm -XRKRΐlGgrϒ;EujvO/ݔnz1x˸˓;$Ħ×E_fwEe9<"'5{:/k{|ex\`%٣ I0lMᏼѾ_*zYv˭ܿM_VZgߢx̣=Nz(:!+ -뽇f?fDubK/:܌\Ojt4veXbyVX`EVX1`ŊVX `%VX)`VX`eL5Kj,S,XN -+,^j,^j,^j,^j,^j,^j,^j,^j, ^j,^j,^j,^j,^j,^j,^j,^j,^j,{r/5vir/5vʽKރK]rA.R Rc`{{ T=ȽX*^j,{r/5v}r/5vir/5viVf,1W:W)8RGÇ3ݪ0/]ao^p Yiꭽ R+orSv-(r*۫~1*h?jvyW.M6n6F_Qf賢j uW"tZWLmyhZq(0`][H:Y:ܼ_>WEW4λ⥩z7yUW_;ٜ$;$cY~]^N^VZPVan˛1砊*{/"r>nEgv>14j)]SEW2lxi5ͰwUEsꄉMuQ`M$ ?>\+M-v܆.0`C4eT"KzcZҒƥ1oaevϗ?}O.]|(~JG1o~i O~yt)Op]_| -thev+7f| ]fލ~2Kbendstream -endobj - -36781 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -36782 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -36783 0 obj -<> -endobj - -36784 0 obj -<> -endobj - -36785 0 obj -<> -endobj - -36786 0 obj -<> -endobj - -36787 0 obj -<> -endobj - -36788 0 obj -<> -endobj - -36789 0 obj -<> -endobj - -36790 0 obj -<> -endobj - -36791 0 obj -<> -endobj - -36792 0 obj -<> -endobj - -36793 0 obj -<> -endobj - -36794 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -36795 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -36796 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -36797 0 obj -<> -stream -H|[oV+xT84υI\Z$hń>XhD]yWA,y;Kڲ/7__{7o޾WLZ8s&|:ѯsYӘn7Ck6k?;ssVEeJHbJSɓTr͡5˗.MvHZEpq '{FIz;( rQ"9IJmN,' _~$4?nt{~|̃~lMT,v)9%?2&QJL)xI)}9eT -(Z^jD9ީw*JAz{ޫ*}JJJJJJJJJ_J_J_J_jf-Z#VjLR# -LԘƔN/5J)^MS+5@z5LԈS+5@z5LԘ:0R# -LԘ:0Rc -WSJ(0Rc -WSJ)^MS+}J)^jDS:ԘFZ1ҫ`jHփQ`jHփS ZVjDS ZVjLjj=ZVjLjj=Z1ҫ`jZ1K(0RcJS:ԈS+5@z5LԘ0R# -LԘ0Rc -WSJ(0Rc -WSJ)^MmS+5J)^MmS+5@z5LQ -VjLR# -LԘƔN_eYп}.*{5udA83YVj-~hne[[9ASG*,t3u3˗ytK[,u_Gvv~NO3T"ÇM}< -}TN^_H,݇$E>c\ ÷荏醻]wt |"cmf3O6?Ttp~~w,gu3eT (WP^xTy+U^ʔW2\y+W^*W -URy^.^RcJ{I( */rKށK)z@RwRc -x;{1TԘ^^jL/{z/^^jLi/ -T=xs^^j/{z/5IoKރKMzA{$RR=x{{T=xC^RcJ{Iw?z@ƻRRx{VTx_^^j/z/5Ā}obK>Kw,z@;SKj=/XWr+$+ǍMoks3N_SŁ7pdzI^dǡ ְf{\-6؛3WKp.[lF|$4?ǻFq|`Gf;HP+ -+^JW2) xe+^ʁW -U(xʫ^*W)\ƔQxYeU^x9倗SKށK)z@RwRc -x;{1TԘ^^jL/{z/5ԈSKރK)zARRc -x{{1T=Ԙ^^jL/{z/5SK>K)%5@RRc -x{1TԘ^^jL/z/5}SK>K)z@ROAƔQRcJ{qYas).*{5uT ra\GA5]?47]m ZϺggv-CӞ9ҲWБݮ]Ojpۦom2 o9ژy8nyI粸̞zS)aNnݚۉ=HK-s*k넢u9-(d=iYEgs EWy$+B_nή^w^{_w)a|C>>N7C;ۭtWKo0WZ>m+LRx;Uwr 51 NG32KWu[M׎>R*R,Ab$d,2K=W&+=T(ċ|cacXrԩУX'bo~Nk"Fpu'0PA8MK#e{0QӼQ%JqQ@λ.uu%|,K"^#P2"$]|E FIJJߤ9i%C vwSg'2']HNw=gsp`h0v?RK^^JY.!ndhABFP*HO4eeBs9|gaa]X[yf6I@Cn4]L\R陚0gV -;iwJ>|e糮tKad0Ohp>WUcђy41iOJ4~ dN2J˶2 -NY͞ I8[U!%k ڱץ7%1L0 GKB^f'ym9>8:l(u!Y ԃNdt^5X+a3G<i] ̵__^?vޟv\k&endstream -endobj - -36798 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -36799 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -36800 0 obj -<> -endobj - -36801 0 obj -<> -endobj - -36802 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -36803 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -36804 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -36805 0 obj -<> -stream -HW]o6}ׯhd~EfhȲGH㝑~/%j"k#nЌxrxy=u{u?_~xWB/Mɒ9sIhQ*NMUCym &#'\?9ad}S8XG$Z2be%qU]?4ΈrH.^qEWo]w߷5OӤ1<Ͷa"S#2[!JNFO>SrM -'tv3 `W|,J9.縄èH)Yr),rVyBXvr),zzzzzzzWzWzWzיzיz7z7z7zzzwz<ӦXWpĵ)Y\}yV>ŀ6< Q#M1BgkS XkS̳k9,D}Z6ŀ6< Q#M1BgkS XkS̳k9,D}Z6źB M1էצgS̳r),ĵ)Y̵qmy>s@\bB\b\+צg!3 -ĵ),ĵ)Y̵qmy>s@\bB\b\+צg!3 -ĵ)qmyV>ŀ6<+WbO1`!M1BgkS̳k%,D}Z6< QV"M1`!M1BgkS̳k%,D}Z6< QV"MPkS̳r),ĵ)Y,~OKm)LCJ$DuW^k o -;–pKq^JI]:UKv]ВNK+c˖YZUsM.>/JNQRvRmg*Ŋ@\tZovh]7Ƚ눵VZ1J*aJPъq[JM'C}xbahö́ScdxKIYLelƂ̄H9Ʉ%XpJX%NYg,dKR.g9KTaJOk?#q#Vj/X+~ɚjBPj`,3V} -_MX V} -Y#JH>9?9[.VBҀ#[(=j5* qP&3"-; }Uu|H xە4`]O|j*HW]7dzSwM?yqq+ڎDVlX̤ɆvKxL'@9׸AlЁ}sƎ)XGp zPod)NçS0>%rp销.=t},0qlux̹+0rWb47}VIGC e[f?#?zΞi4B왍sg;q❇0CGvKr r9 y(iL!a gքSkOsV ^'k/<]PNǹF(c.*>ʞ4)nlR_ؤJIxaRbiixfE&f& X<քE,aMfR1=_ -&VФRv}GEi|(\H7)dܨՉꔌ[;kUdҪyAzĦRBWM-sAwqc-e4rn$wh{@^W^m(}ҦNئ.Mu ¦>4Zlj-l(>ljmSdS~| -FN5nx GN -N$q#P(\R90-ɻ~hv6dᅮqh:m Q5ZpWLհc;g8+KR?׽rVx 7G" j7MxcvhzՄл):Pa[@m?E$^MNjQ6ϴXŨT_󢛠~&Km$#,6U fu<rADe戾<ԡ\+cDq2޸zQle4>:^\vgBV^$CJjӜDI!<>SX$O,Y?o<3zδz`iEFJq~K,g{ؚM\ mj'΢;rtz5gu6!0dc֟5zY (s;o`Yr| +,` q~YptHj'&jDvoXHH?CS sSߚGy*^|ƫ\Kne{5^LᕀJЛk];.@y$0k0u:mcev[X\y\[4J)r?剟_'4ȯ3O -T -rV;*ѽLۘOz~#~ݱ}.޴y6 =,p0HgB.n1=ޓi'NU@%yA$Z\KB2Ѽ'G'cЦ,YuՋ]3\@a#wai8Db!i+Qv))⌰C&ykRSf 5[!mٗ, GTҩޞ~7a_7PL6( bL:w}M'kQADn/bc:x ۈ\GR`P -s@)9Rrf8_:N-Qh'Yc{>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -36807 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -36808 0 obj -<> -endobj - -36809 0 obj -<> -endobj - -36810 0 obj -<> -endobj - -36811 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -36812 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -36813 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -36814 0 obj -<> -stream -HWiN dja_<@|F6 b085#Z}y$y_u?qՐ/n{ ˗޼vt,". -9 |A'UN -##qn&;CYeyTYB̹}yqn7 lvNA<$M|v?IYp幊՗GG0")&!8\]nlf ~R*>-_Vy4_5-<2>n4<¾w0+}/'> -VB̝(X''R&&1a@Mp P(æQ -Aɛ6@q=s= KK+++{b#}},>b"C}->G{K iִi޴ -Qi(i(iZӦQ{KQi(Zִ -Qi(ZִiR-GTkִiR-GTk4 -ao#5mBTk4 -ao#5mT՚jMFM՚6ٛ6ٛ6@!5mT+՚6B[jM՚6B[jMF!- -D PjMF!- -DMjZ(DMjZӦQ{KQiִi޴ -Qi(i(iZӦQ{KQi(Zִ -Qi(ZִiRDTkִiRDTk4 -aoV"5mBTk4 -aoV"5mT+՚QjMFM՚6ٛ6B{17hEx5ɝWvþ -f焭9$LJʸ$&w>VuVduD\o:c՗X3m~vxLeK),x.7&jynי# -(vDCn6M<>tNgWOymXIsum\[k?y}_qm}X~CE;`;8YmxH3Ą8 --btʸɊc )6æ?6dI"-,>]YqsL-~%= XX ;nM-tUHa<&+=˪{oJH/=KcJ)@KlRgg'Snb 8;)k\qάUD͞6=An&!`"O-lR?1*6[]L xɾ]N Tp\̊(}fET, -\!ܬ)!j,BM\I8rrfU,iJɍ4y9ʬՕ( Z[Zi%{ʚ&-HO1=w&H]]|jAլDwIqAC._N/k>-ļ\1* -/Q7ܹKQӰ>$1  -Rkp7 $OF[`=Φbi՟MF9u&(H3-GP0Ҏ3Pe>h8nG4 ,$2eUJ 纬<>zlÝznywN\8orQZM~0Q"}qt 'B|OpV|3\ C`u k)Tɝ{/f:Cad,@m{: ,/x??<|_ec v|̑Q< Kh|A~7c{M=_I\ z}γpmYal/1rU~)JvQ}ZFly 5{~Gb< cuWzivp$^F>*͢iADLRٔr>&)5IW7 ->:K -6ca&Fyzт~}{}=Ҏ 9T-s6?fn{\6Ep0d6mfs $ |gߟ3aBB˔KLIf+l( g=pl՘<ExPILJFjMzK ckWi?5R)ڍ͊ݿԾʳ_PSwR\Ϡ@zX'VՓȰxպ+zV %dKi<#Ї_!:CJBq:eôs;<y!\SvC}۫YBcr>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -36816 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -36817 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -36818 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -36819 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -36820 0 obj -<> -stream -HWmo6.2zEIs .wE@@ŷɿHlZ<3ëߊ~ͯX~嫛\ /53DXC b` ޗu1T_ʛUSjUpV>x 6bmAD,g9(c&e/6G^Ä8~;oJ\fa-]qtpy;3Ʌ_XL$c4 y af "d wۀ?KD!>ÿLjX։2m<]6c}L0"R %B6 .O% c/ cccc c cc}L=1>'c}JO=)>اc3}F<9>{O-5$Tm6@6cA Pj͠j%Zl3(ZIE `V6"{j Pj͠j%Zl3(ZIE `V6"{j Zl3(=P- gm"TmETbA=*B(BfP{OP-S"Tm"TmETbA=*B(BfP{OP-S"TmM bA Pj͠|fP>{lZl3(ZM `V6@6"{Մj͠j5ZlZl3(ZM `V6@6"{Մj͠j5ZlkP-E gmyEbmj#>i&fhŰM~Nxp?Sw~ [j#NPn~b|\4'|S6gVO./^1Hk11`q%RI[$`nq}zs428i҇p۵pָNjvntK1wj;wCt͖-.GC{P)Y.jfȭktl;WN[sp([gݕ -$  ӻ]׉u%njd2\}z={.٨8<+jk3͸wEģ\t8uG>WjsP4PFW3gdprFM5My~,ݔ)my?Φ7}"Nd89@_7bu6APmwl"!80-̡I3V/JI. -ʑ=>)Dlq"~lϠ//e,żHJ\f=Ϫ=~dX MD!̓*A{ -5?wuR'<^i*-_ho "N4NZVX b%HpWL˾m *&nD'RI4#,Lf~4DŽZmdߙ21㺇qS:6s -I8gmHb'] ^kV6V-7*.'IW\ nݜ)bA - ޑV<Ϣ ^,efE'QHdc"luBf薝0fbp2:q_Avy"&'ba Uh#ؗS$pv.(]A9jwS H4+fSp޶& | }[cɖShZa*7%¹r1MA<˺vc{f=V[_w[RM_Sg --hZd taQzBZ23VqLA!d.VW 0t5x W;bEJ'DQDRq-Wv1_[4RmhtC.<{RsE _~gaZKD\SaB6Ad3(x29>VM.$`U´{!PɌ|`8q %*mI2o+0/~/Q+ Q[Bq,< )H(^ra7u,F\cbc߁Zz%i!Zྣ[V&YA )^˷^%u[1 XT3f5u:I8LArkz̭mAwXlN3ys\vaSOR9bbpEd1b1 -M;D&dH9 ¬%Io0tH`dDg1}T`#L郤+_ߪkq ڋ.7L:(([Zeu+U#;GСb$b@샒rP+وS= P;ݨ5^L tF%S!{44xIA{p1zDB=<2GI^n{)xۋңcZ:Э>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -36822 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -36823 0 obj -<> -endobj - -36824 0 obj -<> -endobj - -36825 0 obj -<> -endobj - -36826 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -36827 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -36828 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -36829 0 obj -<> -stream -HWkoF_1p -)΋\s`-a+JqRuK>R85w/?&3?R[邉OsgܧљI>MĚ$7u>5oۮ]7}׮L&\9sK,˥5ۤA2S4MfNWͪosla4^|^?wisy9gYj]y`.zmYfUU鹍L}LHf 5/Oy663Ho?g$SI)+Nb<$WI%ҜJplIbIXjKzVp{;^W=p>A}T#pG>s>s KK+Uf-։{ Vb%,^b{ZR+1f*Vb{ZR+1f*Vb{ZR+1f*Vb{ZR+1f*VbăJYڽĈR+1ficv/1bJYJ{ZR+1bJYJ{ZR+1bJYJ{ZR+1bJYJ{ZR+u@j%,^b{1K@j%,^6JYJm@j%,^6JYJm@j%,^6JYJm@j%,^6JYJm: cv/1bJYڽĘWiUUdvN,kI5 uu3y,ɢ/͟m^Vw7fӬzov?2uwtm?IUin?Yw$K8\N0&!y +YfŪKiVZAiEVZQi@+WZ9ʕV -UBi@TZ%*V*UJjLkIYZKbT-,вJ-Ru@KTYJ ԽĘT;P;su/1f-UԽN@KY@Kսu/S7gI-^bZ h%mRuAK.ރ7\@Kսu/1n{^bJ-UԽĸIZ={qT{Ph%֒ĸZ{qcTPh%- Ru@K>7#@K}u/1n3^bf-UԽĸZ{q$,%1n  Ё'C}U5PScs1'+|Zd?wx6n6zs]ӛc߮s]r]]=5]zd p\޷;sچl8>~ zFoz6G%kiDW4:~L0ƼsoM}s9wh&c~^% أ䦥uvn0q?s'{d4f2Ow>E!*8U7[4-qߧ4ݬm:nхs쩜D'HfpxEUy܌׍4f?|a&cq'鱩{v9_H:>"Za*͸RLB$ 'EZF_776'"y1zq߬v>bnb(X*?sa2tw~n7!n@h^ixK 7M{;^͸Om7zзoI2֫fnȣ:ؕy13a<Ҭr򀮤 -K<t*QVݸt3$\ -ۻi~8^<=|ȝM{QHϻId D0q|p^vlj]SҽmolU8:R|tMbf-ӒQ2cOm^DrY@9-0P 8g]/8rѨm.粯>5j=lixn{1NmEX{%̈́tp| ˝3du(9t[O X Θ\oqtDw8촅۸cw4^>ʔ;ۤJ {Z-> Nna+̯ I&|o7;v d;N tfsDɡ !0C%Ƭ -VZAiVZQiEVr\i@PZ*V JURiU@RZЪw%1fi--,вJ-Ru@KY@Kսu/1f-UokPS\,-jnZ66-Z4ClrDX:ƾ؋xι_p5] -p5] -p5] -p5] -p5].kewq\{貸w\3.eqf\s͸@Ž q.{p5].k,]=׌ tYܻ{貸\3.ks͸@Žq.{p5]k,==׌ tY{{貸\3.eqf\s͸@Žq]\kω4;LRM+q^$MEoh3_]tZdB7|~ /#˯(K׿UN%=eC78 מS.㾣\łA ]p2D~v/.+( >|_\-}7>[ #"3`r9OQU!򢡟uOERu#$LJ ۿWX`j/&tt ]S`\:Kpn۞$B%.yߑJǶkp>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -36831 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -36832 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -36833 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -36834 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -36835 0 obj -<> -stream -HWko6.`?ʀ#=XdlТ" gh=&&CҘ.C\Kj/ܼ}__y}H$&HV$gy12#颔}NɎD `mD"rǡ)H>Yr>,JCiV|픆} X Q QQQQQ/Q/> g,P!@}9>"P_ @}/% ԗ2P/2P/g)bZk#4+TcB\c1 -f!2ĵ>Y q qi>p-C\c\f!2ĵ>Y q qi>p-C\c\Xqĵ>YzZӬPiVǀ4 Q#1Bk} Xk}Lk9Z,D}Zǀ4 Q#1Bk} Xk}Lk9Z,D}ZH 1 -f}LB>,ĵ>Yqi>p@\cB\c\+f! -ĵ>,ĵ>Yqi>p@\cB\c\+f! -ĵ>FZӬP qiV4+T/) )wݶѫMt_8dP&$6wj:7r۾vGA pdi>o*/YeI5j,IYVvjz^;VnI mUfRœYa:3DγP WU76dwTq+7,6fx&eʗo_o. |7֏]$+e8y':~ݱVqT-]&RKs^/5a}5T#L\.hzVLcO h:DJu9MNcܝI"ft9UnfNAaktY9N>*|YPVЅȓ2t Ž >V- -n(s\vd|#x7f(kE KutC j\ -ϝTNeĸHrF3oTks@)מ~@:HG4gP+z% (ZSj >b9˦ǔ}H0N݈ОW'޶'7F،-8ʳ"ѷL\X'X[{xXJmW99=Mtaǣd4ݙr>jws(")l(A;7lURje3㣛x^ߜ4+uOc7btpi$/#x]a2C|1*[}/2K&^oLGtE/ w?*j ->nָrogk -IJvG̿'J s'2O9[$eJ:dJbOj;7'S ~zczmyײ,*m]̵}peǨcqs_ߏ%;s)((5}vew?| ׾ڻ^~3* 5?=x}eiw) -`[C'X,DXRDeۄ.)ӭOI뼘h%T;Luh`ae0ŽoKbs_ - haVlQS\P̖4S1>¡6}CJFl{byxYC{;2˃YBh9&)J)W;?X޾I$E. qص >i͏mb[L5fs - `T4›&aeih[5=K giџ|Y} A:4?g4jzjp<j9z Q :fv6tƣ\qhÆ~$|޴#IT7fRM=T ;+"|] y^>.:Hƒu+^f98_cKY˰jO?=]DdBq:i_~,k^r%-LQ̎ %BցwZ1LZHvYM"2ip7/wHh~O?y-q{&o^VkuR-ᄑ0:3a== wIeQ$ 7K JI9A9c离`q;6] rx/'0R"Vi|Zً.n Zx<(m bɿٸ-1A9_̮5gg|#TTeJ%0WlcÛ:={9c6z|Њ_u9jr8 1 БGG5- Z-,}</Ʊi6KvUqϒ0,yfYURg (ʰ|5JknBz:B䬬T|4Y & $@]q)&2$G7ߔ"Se^M KczkdxV!_h`FB -M7la0&bJ?5M3!a'P"0EBg6e| ѧ7Ucm/{xɨrӂQ5I,UWAfe>-9UT(._P%yʵ^SZ"sKwnQ~"=DB*3p[=/\E*t0u PƷpͥv,7̢E@+`B *H !ĮMRp-W]BRam%+Dm#EX<uLJaf[Jزl;/jri.1xmW iwി>c -8;aK׳r;UKIJ7I{>̴At!!Yx H.y!^BrW""Sa5 -f蹾~KED(̴g%PIhR؃5!9 &3S(U -(e\I\F"Uu >֞_SԢIsLA*3xhSO6P" ۓ]*΄BsZ?@<8z|\ETz fPP3@?DsP mEFR jZCADXDvXc4CP$QتP&+Z}71. JC QMl,܊X8^<-vLL o--+=ANlFm Â!(pq"7":IHר;|=5GX=u;,Ѐz^=_kKT) +PCTcLQW$u1N:V<+7YwliDfaq~?~T>9_H3F%{o%OT{'ۤ5DIΚ]zPy^Et08j2nExl [ i|HZ@^űr<?~/+4endstream -endobj - -36836 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -36837 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -36838 0 obj -<> -endobj - -36839 0 obj -<> -endobj - -36840 0 obj -<> -endobj - -36841 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -36842 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -36843 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -36844 0 obj -<> -stream -HWnH}W (t/@ Y25X <@X%yi9ؔ]$=0,uYחw>\^..E`)53^V2gUi$_lWplÊ_a?Ͷ:ԛ7ɾ<B|VL]`֔gm1ޭ-6XnK!ZW[PdߙGp~`rfEP&w[3<7E0)&䘐`W(!*_.JeT]|j$ˌ$ˌ"ث"ث"ث&댽&댽!؛!؛!؛%ی%ی#ػ#ػ#ػ''} ؇} ghS۶jSr PjSr Q9(B QLPmjC>S$TE6!`VMm"gjSզ6D3JB QLPmjԆ(}ZI6!`VMmBMm٧6@Mm٧6DSզ6D3*B QLPmjԆ(}ZE6!`VMm"TETզ6D3*B PjSjԆ(}ZE6m M6!*gE6!*gOm"TET զ6D3jB PjSj5Ԇ(}ZM6PmjC>S&TET զ6@Mm"gՄjSj5Զ- Ԇ}jԆ}jCT>!8B|VL]gB2-ngM}&Z\PҰŊux l=fFH2ΪaHgYCB%J?/J894sL9kY0 63cfޔہ^dt[t&D\a0nޏ(%ش.$7e^Uzkp0$$i4m0B"/ -"3w𺶶Ϸv?U<Џ .[~ہeB$O(K7"}o}WOǸ -'(/񕑈ret n$ ~|L]Rbs"ͻv<?BD3&ߩ ]0A -֗rӹXrT,D_XO:]eIa7UmzYmh1e Aԧ_[oBAqIzaӡ>Ӄ_N.!EHJM~#Oy_/wL[ɗ{Ju/WuդSR%ץz(ه&2%eNmtDZ[nr"vv[6p1t"[.o.zUlu%K.ͷ FIx7inaܴڴ+ɸRUzj%9ޱD͇n$5 \KL&24$s'0yvxݖ|C߆CJ:X}p*(ʹ6Zѱ]˦lߓ̀t.*K{.Z܂g|]&$჎-t}d|_=NRv9y3F ';%O{Md4n<֛nBzdM hlA:hƁ}:^Z}!淛_^ (a:K5`^4?QTi$Ec64Ɔ/rE#Hhw'L^#;xI$#\$|&t=ߡl^t)~:dw9P>s~ 4MKx=ӗI?JÑy<Hb]@{r1>mu?M^ݷ َďNl/}8FFBlb'%v)0 ˤ@ئAO.cn ?F"}J*{P+/08 ;TD>T5b$_ -k|9.>]]^,W_DN|0f)l FGhOj@/0 -dċ}4'p"GG#vݡ]@&.8yroMgo7tq f޻Jk`=&9ړ?x\)1 $o~?#a+U+k!99],> WSL樄/Whj 9q#:_4tN4#Zz۸=BGP}Lc%bKEKa˩6H.Kr^ % 6&)B;gLhI̢ bnBHh .ZTtBA= ٔ20 z>.܎@_PuAd|T낫t(p/g$Ä>REaW_(FdD{PXJA=5FDW 7+rE0Etmє:fA -jDDÑB\rگ.gWO5ߟ%;:y_WcWMI$ag[Xˇ%Psԃ'p# U,I~ Sy !KM(={&l rkzt}嶐X djb}|bS<)cIKBvFچckH9r+uD -KX@I[$ C?P>6=Y(W6yvgACt:TAÓqeaBC:ąXOÒ!B֒ kmq 4]I.Xb:.)h8@ _iЪ:(x=Ҥ@S0,oDjY%^(?o0eQi%10hBDCo?Xy&|f۫a1>sp$d'0Ά[*!ұmO[mSm{b_ ms0YJ2'JKҡy_w%v+RʸZA÷9;~>_v biF%g4 Ea"d2 [`5b(@U1y=qt482T#jmZU<ޤV+gp] R!$5] -~?.}ḾU4:MS)eNJ(ŸIx )*BHzrehN\aqM K?\H0#{b!**@?>yr>!Bld.\PyZY*,gG/^rcԄ+)9x7405nd7FPJuYFdx^@Fy)&ȆB^ص7iw$ux'o /4U}4q8~yy)ENǥd=ul@$gtk;rM^85ԒL{i}uw'.5i3Wa -pww?ѾQ"~_6X7NWv({, 4en-ㅑ0pxqT M||{tsw幔Ъ6UW_{]܎Vj< -:J84DQB՞B=&q?wOm&eNU*]dҠc-h,d= e, ,xm`]&8=V;wF!-.$XHZHnQHyh3 - J\H4z?c-C?xo>SOcơ؟^f;]N{:r&j3EZ$Hٴ -Duۧ]k>/P 3547 0 R/Type/Annot/A 38112 0 R/Subtype/Link/Rect[167 669 171 678]/Border[0 0 0]/H/N>> -endobj - -36846 0 obj -<>/P 3547 0 R/Type/Annot/A 38094 0 R/Subtype/Link/Rect[172 659 181 669]/Border[0 0 0]/H/N>> -endobj - -36847 0 obj -<>/P 3547 0 R/Type/Annot/A 38088 0 R/Subtype/Link/Rect[181 659 187 668]/Border[0 0 0]/H/N>> -endobj - -36848 0 obj -<>/P 3547 0 R/Type/Annot/A 38060 0 R/Subtype/Link/Rect[189 659 195 668]/Border[0 0 0]/H/N>> -endobj - -36849 0 obj -<>/P 3547 0 R/Type/Annot/A 38049 0 R/Subtype/Link/Rect[197 659 207 668]/Border[0 0 0]/H/N>> -endobj - -36850 0 obj -<>/P 3547 0 R/Type/Annot/A 37615 0 R/Subtype/Link/Rect[209 659 219 668]/Border[0 0 0]/H/N>> -endobj - -36851 0 obj -<>/P 3547 0 R/Type/Annot/A 37613 0 R/Subtype/Link/Rect[221 659 231 668]/Border[0 0 0]/H/N>> -endobj - -36852 0 obj -<>/P 3547 0 R/Type/Annot/A 37990 0 R/Subtype/Link/Rect[233 659 243 668]/Border[0 0 0]/H/N>> -endobj - -36853 0 obj -<>/P 3547 0 R/Type/Annot/A 37428 0 R/Subtype/Link/Rect[245 659 255 668]/Border[0 0 0]/H/N>> -endobj - -36854 0 obj -<>/P 3547 0 R/Type/Annot/A 37422 0 R/Subtype/Link/Rect[257 659 271 668]/Border[0 0 0]/H/N>> -endobj - -36855 0 obj -<>/P 3547 0 R/Type/Annot/A 37416 0 R/Subtype/Link/Rect[273 659 289 669]/Border[0 0 0]/H/N>> -endobj - -36856 0 obj -<>/P 3547 0 R/Type/Annot/A 37411 0 R/Subtype/Link/Rect[290 659 304 668]/Border[0 0 0]/H/N>> -endobj - -36857 0 obj -<>/P 3547 0 R/Type/Annot/A 37405 0 R/Subtype/Link/Rect[151 649 165 658]/Border[0 0 0]/H/N>> -endobj - -36858 0 obj -<>/P 3547 0 R/Type/Annot/A 37399 0 R/Subtype/Link/Rect[167 649 181 658]/Border[0 0 0]/H/N>> -endobj - -36859 0 obj -<>/P 3547 0 R/Type/Annot/A 37394 0 R/Subtype/Link/Rect[183 649 197 658]/Border[0 0 0]/H/N>> -endobj - -36860 0 obj -<>/P 3547 0 R/Type/Annot/A 37388 0 R/Subtype/Link/Rect[199 649 216 659]/Border[0 0 0]/H/N>> -endobj - -36861 0 obj -<>/P 3547 0 R/Type/Annot/A 37382 0 R/Subtype/Link/Rect[216 649 230 658]/Border[0 0 0]/H/N>> -endobj - -36862 0 obj -<>/P 3547 0 R/Type/Annot/A 37375 0 R/Subtype/Link/Rect[232 649 246 658]/Border[0 0 0]/H/N>> -endobj - -36863 0 obj -<>/P 3547 0 R/Type/Annot/A 37369 0 R/Subtype/Link/Rect[248 649 262 658]/Border[0 0 0]/H/N>> -endobj - -36864 0 obj -<>/P 3547 0 R/Type/Annot/A 37364 0 R/Subtype/Link/Rect[264 649 278 658]/Border[0 0 0]/H/N>> -endobj - -36865 0 obj -<>/P 3547 0 R/Type/Annot/A 37358 0 R/Subtype/Link/Rect[280 649 294 658]/Border[0 0 0]/H/N>> -endobj - -36866 0 obj -<>/P 3547 0 R/Type/Annot/A 37868 0 R/Subtype/Link/Rect[296 649 310 658]/Border[0 0 0]/H/N>> -endobj - -36867 0 obj -<>/P 3547 0 R/Type/Annot/A 38213 0 R/Subtype/Link/Rect[151 639 165 648]/Border[0 0 0]/H/N>> -endobj - -36868 0 obj -<>/P 3547 0 R/Type/Annot/A 38205 0 R/Subtype/Link/Rect[167 639 179 648]/Border[0 0 0]/H/N>> -endobj - -36869 0 obj -<>/P 3547 0 R/Type/Annot/A 37846 0 R/Subtype/Link/Rect[157 629 165 638]/Border[0 0 0]/H/N>> -endobj - -36870 0 obj -<>/P 3547 0 R/Type/Annot/A 38175 0 R/Subtype/Link/Rect[166 619 172 628]/Border[0 0 0]/H/N>> -endobj - -36871 0 obj -<>/P 3547 0 R/Type/Annot/A 37558 0 R/Subtype/Link/Rect[174 619 180 628]/Border[0 0 0]/H/N>> -endobj - -36872 0 obj -<>/P 3547 0 R/Type/Annot/A 37634 0 R/Subtype/Link/Rect[182 619 196 628]/Border[0 0 0]/H/N>> -endobj - -36873 0 obj -<>/P 3547 0 R/Type/Annot/A 38136 0 R/Subtype/Link/Rect[198 619 212 628]/Border[0 0 0]/H/N>> -endobj - -36874 0 obj -<>/P 3547 0 R/Type/Annot/A 38126 0 R/Subtype/Link/Rect[214 619 228 628]/Border[0 0 0]/H/N>> -endobj - -36875 0 obj -<>/P 3547 0 R/Type/Annot/A 38110 0 R/Subtype/Link/Rect[230 619 242 628]/Border[0 0 0]/H/N>> -endobj - -36876 0 obj -<>/P 3547 0 R/Type/Annot/A 38092 0 R/Subtype/Link/Rect[184 609 201 619]/Border[0 0 0]/H/N>> -endobj - -36877 0 obj -<>/P 3547 0 R/Type/Annot/A 38086 0 R/Subtype/Link/Rect[201 609 213 618]/Border[0 0 0]/H/N>> -endobj - -36878 0 obj -<>/P 3547 0 R/Type/Annot/A 38057 0 R/Subtype/Link/Rect[169 599 175 608]/Border[0 0 0]/H/N>> -endobj - -36879 0 obj -<>/P 3547 0 R/Type/Annot/A 38041 0 R/Subtype/Link/Rect[177 599 191 608]/Border[0 0 0]/H/N>> -endobj - -36880 0 obj -<>/P 3547 0 R/Type/Annot/A 37735 0 R/Subtype/Link/Rect[193 599 207 608]/Border[0 0 0]/H/N>> -endobj - -36881 0 obj -<>/P 3547 0 R/Type/Annot/A 37727 0 R/Subtype/Link/Rect[209 599 221 608]/Border[0 0 0]/H/N>> -endobj - -36882 0 obj -<>/P 3547 0 R/Type/Annot/A 37989 0 R/Subtype/Link/Rect[161 589 167 598]/Border[0 0 0]/H/N>> -endobj - -36883 0 obj -<>/P 3547 0 R/Type/Annot/A 37426 0 R/Subtype/Link/Rect[169 589 175 598]/Border[0 0 0]/H/N>> -endobj - -36884 0 obj -<>/P 3547 0 R/Type/Annot/A 37421 0 R/Subtype/Link/Rect[177 589 187 598]/Border[0 0 0]/H/N>> -endobj - -36885 0 obj -<>/P 3547 0 R/Type/Annot/A 37295 0 R/Subtype/Link/Rect[189 589 203 598]/Border[0 0 0]/H/N>> -endobj - -36886 0 obj -<>/P 3547 0 R/Type/Annot/A 37412 0 R/Subtype/Link/Rect[205 589 219 598]/Border[0 0 0]/H/N>> -endobj - -36887 0 obj -<>/P 3547 0 R/Type/Annot/A 37406 0 R/Subtype/Link/Rect[221 589 235 598]/Border[0 0 0]/H/N>> -endobj - -36888 0 obj -<>/P 3547 0 R/Type/Annot/A 37400 0 R/Subtype/Link/Rect[237 589 251 598]/Border[0 0 0]/H/N>> -endobj - -36889 0 obj -<>/P 3547 0 R/Type/Annot/A 37395 0 R/Subtype/Link/Rect[253 589 267 598]/Border[0 0 0]/H/N>> -endobj - -36890 0 obj -<>/P 3547 0 R/Type/Annot/A 37389 0 R/Subtype/Link/Rect[269 589 281 598]/Border[0 0 0]/H/N>> -endobj - -36891 0 obj -<>/P 3547 0 R/Type/Annot/A 37384 0 R/Subtype/Link/Rect[231 579 243 588]/Border[0 0 0]/H/N>> -endobj - -36892 0 obj -<>/P 3547 0 R/Type/Annot/A 37377 0 R/Subtype/Link/Rect[199 569 205 578]/Border[0 0 0]/H/N>> -endobj - -36893 0 obj -<>/P 3547 0 R/Type/Annot/A 37371 0 R/Subtype/Link/Rect[207 569 213 578]/Border[0 0 0]/H/N>> -endobj - -36894 0 obj -<>/P 3547 0 R/Type/Annot/A 37365 0 R/Subtype/Link/Rect[215 569 229 578]/Border[0 0 0]/H/N>> -endobj - -36895 0 obj -<>/P 3547 0 R/Type/Annot/A 37359 0 R/Subtype/Link/Rect[231 569 245 578]/Border[0 0 0]/H/N>> -endobj - -36896 0 obj -<>/P 3547 0 R/Type/Annot/A 37353 0 R/Subtype/Link/Rect[247 569 261 578]/Border[0 0 0]/H/N>> -endobj - -36897 0 obj -<>/P 3547 0 R/Type/Annot/A 37348 0 R/Subtype/Link/Rect[263 569 275 578]/Border[0 0 0]/H/N>> -endobj - -36898 0 obj -<>/P 3547 0 R/Type/Annot/A 37344 0 R/Subtype/Link/Rect[210 559 216 568]/Border[0 0 0]/H/N>> -endobj - -36899 0 obj -<>/P 3547 0 R/Type/Annot/A 37340 0 R/Subtype/Link/Rect[218 559 228 568]/Border[0 0 0]/H/N>> -endobj - -36900 0 obj -<>/P 3547 0 R/Type/Annot/A 37337 0 R/Subtype/Link/Rect[230 559 242 568]/Border[0 0 0]/H/N>> -endobj - -36901 0 obj -<>/P 3547 0 R/Type/Annot/A 37333 0 R/Subtype/Link/Rect[202 549 214 558]/Border[0 0 0]/H/N>> -endobj - -36902 0 obj -<>/P 3547 0 R/Type/Annot/A 37329 0 R/Subtype/Link/Rect[238 539 252 548]/Border[0 0 0]/H/N>> -endobj - -36903 0 obj -<>/P 3547 0 R/Type/Annot/A 37325 0 R/Subtype/Link/Rect[254 539 268 548]/Border[0 0 0]/H/N>> -endobj - -36904 0 obj -<>/P 3547 0 R/Type/Annot/A 37322 0 R/Subtype/Link/Rect[270 539 282 548]/Border[0 0 0]/H/N>> -endobj - -36905 0 obj -<>/P 3547 0 R/Type/Annot/A 37318 0 R/Subtype/Link/Rect[202 529 214 538]/Border[0 0 0]/H/N>> -endobj - -36906 0 obj -<>/P 3547 0 R/Type/Annot/A 37316 0 R/Subtype/Link/Rect[202 519 214 528]/Border[0 0 0]/H/N>> -endobj - -36907 0 obj -<>/P 3547 0 R/Type/Annot/A 37314 0 R/Subtype/Link/Rect[206 509 214 518]/Border[0 0 0]/H/N>> -endobj - -36908 0 obj -<>/P 3547 0 R/Type/Annot/A 37312 0 R/Subtype/Link/Rect[197 499 209 508]/Border[0 0 0]/H/N>> -endobj - -36909 0 obj -<>/P 3547 0 R/Type/Annot/A 37310 0 R/Subtype/Link/Rect[212 489 226 498]/Border[0 0 0]/H/N>> -endobj - -36910 0 obj -<>/P 3547 0 R/Type/Annot/A 37308 0 R/Subtype/Link/Rect[228 489 240 498]/Border[0 0 0]/H/N>> -endobj - -36911 0 obj -<>/P 3547 0 R/Type/Annot/A 37306 0 R/Subtype/Link/Rect[190 479 202 488]/Border[0 0 0]/H/N>> -endobj - -36912 0 obj -<>/P 3547 0 R/Type/Annot/A 37304 0 R/Subtype/Link/Rect[178 469 192 478]/Border[0 0 0]/H/N>> -endobj - -36913 0 obj -<>/P 3547 0 R/Type/Annot/A 37302 0 R/Subtype/Link/Rect[194 469 206 478]/Border[0 0 0]/H/N>> -endobj - -36914 0 obj -<>/P 3547 0 R/Type/Annot/A 37300 0 R/Subtype/Link/Rect[152 459 162 468]/Border[0 0 0]/H/N>> -endobj - -36915 0 obj -<>/P 3547 0 R/Type/Annot/A 37298 0 R/Subtype/Link/Rect[164 459 172 468]/Border[0 0 0]/H/N>> -endobj - -36916 0 obj -<>/P 3547 0 R/Type/Annot/A 37294 0 R/Subtype/Link/Rect[202 429 216 438]/Border[0 0 0]/H/N>> -endobj - -36917 0 obj -<>/P 3547 0 R/Type/Annot/A 37292 0 R/Subtype/Link/Rect[218 429 232 438]/Border[0 0 0]/H/N>> -endobj - -36918 0 obj -<>/P 3547 0 R/Type/Annot/A 37290 0 R/Subtype/Link/Rect[234 429 246 438]/Border[0 0 0]/H/N>> -endobj - -36919 0 obj -<>/P 3547 0 R/Type/Annot/A 37287 0 R/Subtype/Link/Rect[190 419 202 428]/Border[0 0 0]/H/N>> -endobj - -36920 0 obj -<>/P 3547 0 R/Type/Annot/A 37284 0 R/Subtype/Link/Rect[202 409 214 418]/Border[0 0 0]/H/N>> -endobj - -36921 0 obj -<>/P 3547 0 R/Type/Annot/A 37282 0 R/Subtype/Link/Rect[227 399 241 408]/Border[0 0 0]/H/N>> -endobj - -36922 0 obj -<>/P 3547 0 R/Type/Annot/A 37280 0 R/Subtype/Link/Rect[243 399 257 408]/Border[0 0 0]/H/N>> -endobj - -36923 0 obj -<>/P 3547 0 R/Type/Annot/A 37278 0 R/Subtype/Link/Rect[259 399 271 408]/Border[0 0 0]/H/N>> -endobj - -36924 0 obj -<>/P 3547 0 R/Type/Annot/A 37275 0 R/Subtype/Link/Rect[198 389 210 398]/Border[0 0 0]/H/N>> -endobj - -36925 0 obj -<>/P 3547 0 R/Type/Annot/A 37273 0 R/Subtype/Link/Rect[179 379 192 388]/Border[0 0 0]/H/N>> -endobj - -36926 0 obj -<>/P 3547 0 R/Type/Annot/A 37272 0 R/Subtype/Link/Rect[194 379 208 388]/Border[0 0 0]/H/N>> -endobj - -36927 0 obj -<>/P 3547 0 R/Type/Annot/A 37271 0 R/Subtype/Link/Rect[210 379 222 388]/Border[0 0 0]/H/N>> -endobj - -36928 0 obj -<>/P 3547 0 R/Type/Annot/A 37269 0 R/Subtype/Link/Rect[162 369 170 378]/Border[0 0 0]/H/N>> -endobj - -36929 0 obj -<>/P 3547 0 R/Type/Annot/A 37267 0 R/Subtype/Link/Rect[183 359 193 368]/Border[0 0 0]/H/N>> -endobj - -36930 0 obj -<>/P 3547 0 R/Type/Annot/A 37265 0 R/Subtype/Link/Rect[195 359 205 368]/Border[0 0 0]/H/N>> -endobj - -36931 0 obj -<>/P 3547 0 R/Type/Annot/A 37264 0 R/Subtype/Link/Rect[207 359 217 368]/Border[0 0 0]/H/N>> -endobj - -36932 0 obj -<>/P 3547 0 R/Type/Annot/A 37263 0 R/Subtype/Link/Rect[219 359 229 368]/Border[0 0 0]/H/N>> -endobj - -36933 0 obj -<>/P 3547 0 R/Type/Annot/A 37262 0 R/Subtype/Link/Rect[231 359 243 369]/Border[0 0 0]/H/N>> -endobj - -36934 0 obj -<>/P 3547 0 R/Type/Annot/A 37260 0 R/Subtype/Link/Rect[244 359 254 368]/Border[0 0 0]/H/N>> -endobj - -36935 0 obj -<>/P 3547 0 R/Type/Annot/A 37259 0 R/Subtype/Link/Rect[256 359 270 368]/Border[0 0 0]/H/N>> -endobj - -36936 0 obj -<>/P 3547 0 R/Type/Annot/A 37257 0 R/Subtype/Link/Rect[272 359 286 368]/Border[0 0 0]/H/N>> -endobj - -36937 0 obj -<>/P 3547 0 R/Type/Annot/A 37255 0 R/Subtype/Link/Rect[288 359 302 368]/Border[0 0 0]/H/N>> -endobj - -36938 0 obj -<>/P 3547 0 R/Type/Annot/A 37252 0 R/Subtype/Link/Rect[151 349 165 358]/Border[0 0 0]/H/N>> -endobj - -36939 0 obj -<>/P 3547 0 R/Type/Annot/A 37251 0 R/Subtype/Link/Rect[167 349 181 358]/Border[0 0 0]/H/N>> -endobj - -36940 0 obj -<>/P 3547 0 R/Type/Annot/A 37249 0 R/Subtype/Link/Rect[183 349 200 359]/Border[0 0 0]/H/N>> -endobj - -36941 0 obj -<>/P 3547 0 R/Type/Annot/A 37247 0 R/Subtype/Link/Rect[200 349 214 358]/Border[0 0 0]/H/N>> -endobj - -36942 0 obj -<>/P 3547 0 R/Type/Annot/A 37245 0 R/Subtype/Link/Rect[216 349 233 359]/Border[0 0 0]/H/N>> -endobj - -36943 0 obj -<>/P 3547 0 R/Type/Annot/A 37244 0 R/Subtype/Link/Rect[234 349 248 358]/Border[0 0 0]/H/N>> -endobj - -36944 0 obj -<>/P 3547 0 R/Type/Annot/A 37243 0 R/Subtype/Link/Rect[250 349 266 359]/Border[0 0 0]/H/N>> -endobj - -36945 0 obj -<>/P 3547 0 R/Type/Annot/A 37242 0 R/Subtype/Link/Rect[267 349 281 358]/Border[0 0 0]/H/N>> -endobj - -36946 0 obj -<>/P 3547 0 R/Type/Annot/A 37241 0 R/Subtype/Link/Rect[283 349 295 358]/Border[0 0 0]/H/N>> -endobj - -36947 0 obj -<>/P 3547 0 R/Type/Annot/A 37240 0 R/Subtype/Link/Rect[190 339 198 348]/Border[0 0 0]/H/N>> -endobj - -36948 0 obj -<>/P 3547 0 R/Type/Annot/A 37239 0 R/Subtype/Link/Rect[188 329 198 338]/Border[0 0 0]/H/N>> -endobj - -36949 0 obj -<>/P 3547 0 R/Type/Annot/A 37238 0 R/Subtype/Link/Rect[200 329 212 339]/Border[0 0 0]/H/N>> -endobj - -36950 0 obj -<>/P 3547 0 R/Type/Annot/A 37237 0 R/Subtype/Link/Rect[213 329 223 338]/Border[0 0 0]/H/N>> -endobj - -36951 0 obj -<>/P 3547 0 R/Type/Annot/A 37236 0 R/Subtype/Link/Rect[225 329 235 338]/Border[0 0 0]/H/N>> -endobj - -36952 0 obj -<>/P 3547 0 R/Type/Annot/A 37235 0 R/Subtype/Link/Rect[237 329 251 338]/Border[0 0 0]/H/N>> -endobj - -36953 0 obj -<>/P 3547 0 R/Type/Annot/A 37234 0 R/Subtype/Link/Rect[253 329 267 338]/Border[0 0 0]/H/N>> -endobj - -36954 0 obj -<>/P 3547 0 R/Type/Annot/A 37233 0 R/Subtype/Link/Rect[269 329 283 338]/Border[0 0 0]/H/N>> -endobj - -36955 0 obj -<>/P 3547 0 R/Type/Annot/A 37232 0 R/Subtype/Link/Rect[285 329 299 338]/Border[0 0 0]/H/N>> -endobj - -36956 0 obj -<>/P 3547 0 R/Type/Annot/A 37231 0 R/Subtype/Link/Rect[151 319 168 329]/Border[0 0 0]/H/N>> -endobj - -36957 0 obj -<>/P 3547 0 R/Type/Annot/A 37230 0 R/Subtype/Link/Rect[168 319 182 328]/Border[0 0 0]/H/N>> -endobj - -36958 0 obj -<>/P 3547 0 R/Type/Annot/A 37229 0 R/Subtype/Link/Rect[184 319 198 328]/Border[0 0 0]/H/N>> -endobj - -36959 0 obj -<>/P 3547 0 R/Type/Annot/A 37228 0 R/Subtype/Link/Rect[200 319 217 329]/Border[0 0 0]/H/N>> -endobj - -36960 0 obj -<>/P 3547 0 R/Type/Annot/A 37227 0 R/Subtype/Link/Rect[218 319 232 328]/Border[0 0 0]/H/N>> -endobj - -36961 0 obj -<>/P 3547 0 R/Type/Annot/A 37226 0 R/Subtype/Link/Rect[234 319 248 328]/Border[0 0 0]/H/N>> -endobj - -36962 0 obj -<>/P 3547 0 R/Type/Annot/A 37225 0 R/Subtype/Link/Rect[250 319 266 329]/Border[0 0 0]/H/N>> -endobj - -36963 0 obj -<>/P 3547 0 R/Type/Annot/A 37224 0 R/Subtype/Link/Rect[267 319 281 328]/Border[0 0 0]/H/N>> -endobj - -36964 0 obj -<>/P 3547 0 R/Type/Annot/A 37223 0 R/Subtype/Link/Rect[151 309 168 319]/Border[0 0 0]/H/N>> -endobj - -36965 0 obj -<>/P 3547 0 R/Type/Annot/A 37222 0 R/Subtype/Link/Rect[168 309 182 318]/Border[0 0 0]/H/N>> -endobj - -36966 0 obj -<>/P 3547 0 R/Type/Annot/A 37221 0 R/Subtype/Link/Rect[184 309 201 319]/Border[0 0 0]/H/N>> -endobj - -36967 0 obj -<>/P 3547 0 R/Type/Annot/A 37220 0 R/Subtype/Link/Rect[202 309 214 318]/Border[0 0 0]/H/N>> -endobj - -36968 0 obj -<>/P 3547 0 R/Type/Annot/A 37219 0 R/Subtype/Link/Rect[190 299 198 308]/Border[0 0 0]/H/N>> -endobj - -36969 0 obj -<>/P 3547 0 R/Type/Annot/A 37218 0 R/Subtype/Link/Rect[180 261 192 270]/Border[0 0 0]/H/N>> -endobj - -36970 0 obj -<>/P 3547 0 R/Type/Annot/A 37217 0 R/Subtype/Link/Rect[184 251 197 261]/Border[0 0 0]/H/N>> -endobj - -36971 0 obj -<>/P 3547 0 R/Type/Annot/A 37216 0 R/Subtype/Link/Rect[198 251 208 260]/Border[0 0 0]/H/N>> -endobj - -36972 0 obj -<>/P 3547 0 R/Type/Annot/A 37215 0 R/Subtype/Link/Rect[210 251 224 260]/Border[0 0 0]/H/N>> -endobj - -36973 0 obj -<>/P 3547 0 R/Type/Annot/A 37214 0 R/Subtype/Link/Rect[226 251 240 260]/Border[0 0 0]/H/N>> -endobj - -36974 0 obj -<>/P 3547 0 R/Type/Annot/A 37213 0 R/Subtype/Link/Rect[242 251 256 260]/Border[0 0 0]/H/N>> -endobj - -36975 0 obj -<>/P 3547 0 R/Type/Annot/A 37212 0 R/Subtype/Link/Rect[258 251 270 260]/Border[0 0 0]/H/N>> -endobj - -36976 0 obj -<>/P 3547 0 R/Type/Annot/A 37211 0 R/Subtype/Link/Rect[184 241 194 250]/Border[0 0 0]/H/N>> -endobj - -36977 0 obj -<>/P 3547 0 R/Type/Annot/A 37210 0 R/Subtype/Link/Rect[196 241 210 250]/Border[0 0 0]/H/N>> -endobj - -36978 0 obj -<>/P 3547 0 R/Type/Annot/A 37209 0 R/Subtype/Link/Rect[212 241 226 250]/Border[0 0 0]/H/N>> -endobj - -36979 0 obj -<>/P 3547 0 R/Type/Annot/A 37208 0 R/Subtype/Link/Rect[228 241 242 250]/Border[0 0 0]/H/N>> -endobj - -36980 0 obj -<>/P 3547 0 R/Type/Annot/A 37207 0 R/Subtype/Link/Rect[244 241 258 250]/Border[0 0 0]/H/N>> -endobj - -36981 0 obj -<>/P 3547 0 R/Type/Annot/A 37206 0 R/Subtype/Link/Rect[260 241 274 250]/Border[0 0 0]/H/N>> -endobj - -36982 0 obj -<>/P 3547 0 R/Type/Annot/A 37205 0 R/Subtype/Link/Rect[276 241 293 251]/Border[0 0 0]/H/N>> -endobj - -36983 0 obj -<>/P 3547 0 R/Type/Annot/A 37204 0 R/Subtype/Link/Rect[294 241 308 250]/Border[0 0 0]/H/N>> -endobj - -36984 0 obj -<>/P 3547 0 R/Type/Annot/A 37203 0 R/Subtype/Link/Rect[151 231 165 240]/Border[0 0 0]/H/N>> -endobj - -36985 0 obj -<>/P 3547 0 R/Type/Annot/A 37202 0 R/Subtype/Link/Rect[167 231 181 240]/Border[0 0 0]/H/N>> -endobj - -36986 0 obj -<>/P 3547 0 R/Type/Annot/A 37201 0 R/Subtype/Link/Rect[183 231 197 240]/Border[0 0 0]/H/N>> -endobj - -36987 0 obj -<>/P 3547 0 R/Type/Annot/A 37200 0 R/Subtype/Link/Rect[199 231 216 241]/Border[0 0 0]/H/N>> -endobj - -36988 0 obj -<>/P 3547 0 R/Type/Annot/A 37199 0 R/Subtype/Link/Rect[216 231 230 240]/Border[0 0 0]/H/N>> -endobj - -36989 0 obj -<>/P 3547 0 R/Type/Annot/A 37198 0 R/Subtype/Link/Rect[232 231 246 240]/Border[0 0 0]/H/N>> -endobj - -36990 0 obj -<>/P 3547 0 R/Type/Annot/A 37197 0 R/Subtype/Link/Rect[248 231 262 240]/Border[0 0 0]/H/N>> -endobj - -36991 0 obj -<>/P 3547 0 R/Type/Annot/A 37196 0 R/Subtype/Link/Rect[264 231 276 240]/Border[0 0 0]/H/N>> -endobj - -36992 0 obj -<>/P 3547 0 R/Type/Annot/A 37195 0 R/Subtype/Link/Rect[180 221 190 230]/Border[0 0 0]/H/N>> -endobj - -36993 0 obj -<>/P 3547 0 R/Type/Annot/A 37194 0 R/Subtype/Link/Rect[192 221 204 230]/Border[0 0 0]/H/N>> -endobj - -36994 0 obj -<>/P 3547 0 R/Type/Annot/A 37193 0 R/Subtype/Link/Rect[180 211 190 220]/Border[0 0 0]/H/N>> -endobj - -36995 0 obj -<>/P 3547 0 R/Type/Annot/A 37192 0 R/Subtype/Link/Rect[192 211 206 220]/Border[0 0 0]/H/N>> -endobj - -36996 0 obj -<>/P 3547 0 R/Type/Annot/A 37191 0 R/Subtype/Link/Rect[208 211 222 220]/Border[0 0 0]/H/N>> -endobj - -36997 0 obj -<>/P 3547 0 R/Type/Annot/A 37190 0 R/Subtype/Link/Rect[224 211 236 220]/Border[0 0 0]/H/N>> -endobj - -36998 0 obj -<>/P 3547 0 R/Type/Annot/A 37189 0 R/Subtype/Link/Rect[199 201 211 210]/Border[0 0 0]/H/N>> -endobj - -36999 0 obj -<>/P 3547 0 R/Type/Annot/A 37188 0 R/Subtype/Link/Rect[184 191 198 200]/Border[0 0 0]/H/N>> -endobj - -37000 0 obj -<>/P 3547 0 R/Type/Annot/A 37187 0 R/Subtype/Link/Rect[200 191 214 200]/Border[0 0 0]/H/N>> -endobj - -37001 0 obj -<>/P 3547 0 R/Type/Annot/A 37186 0 R/Subtype/Link/Rect[216 191 230 200]/Border[0 0 0]/H/N>> -endobj - -37002 0 obj -<>/P 3547 0 R/Type/Annot/A 37185 0 R/Subtype/Link/Rect[232 191 244 200]/Border[0 0 0]/H/N>> -endobj - -37003 0 obj -<>/P 3547 0 R/Type/Annot/A 37184 0 R/Subtype/Link/Rect[188 181 202 190]/Border[0 0 0]/H/N>> -endobj - -37004 0 obj -<>/P 3547 0 R/Type/Annot/A 37183 0 R/Subtype/Link/Rect[204 181 220 191]/Border[0 0 0]/H/N>> -endobj - -37005 0 obj -<>/P 3547 0 R/Type/Annot/A 37182 0 R/Subtype/Link/Rect[221 181 235 190]/Border[0 0 0]/H/N>> -endobj - -37006 0 obj -<>/P 3547 0 R/Type/Annot/A 37181 0 R/Subtype/Link/Rect[237 181 251 190]/Border[0 0 0]/H/N>> -endobj - -37007 0 obj -<>/P 3547 0 R/Type/Annot/A 37386 0 R/Subtype/Link/Rect[253 181 270 191]/Border[0 0 0]/H/N>> -endobj - -37008 0 obj -<>/P 3547 0 R/Type/Annot/A 37378 0 R/Subtype/Link/Rect[270 181 284 190]/Border[0 0 0]/H/N>> -endobj - -37009 0 obj -<>/P 3547 0 R/Type/Annot/A 37370 0 R/Subtype/Link/Rect[286 181 298 190]/Border[0 0 0]/H/N>> -endobj - -37010 0 obj -<>/P 3547 0 R/Type/Annot/A 37266 0 R/Subtype/Link/Rect[189 171 201 180]/Border[0 0 0]/H/N>> -endobj - -37011 0 obj -<>/P 3547 0 R/Type/Annot/A 37357 0 R/Subtype/Link/Rect[202 161 216 170]/Border[0 0 0]/H/N>> -endobj - -37012 0 obj -<>/P 3547 0 R/Type/Annot/A 37352 0 R/Subtype/Link/Rect[218 161 230 170]/Border[0 0 0]/H/N>> -endobj - -37013 0 obj -<>/P 3547 0 R/Type/Annot/A 37347 0 R/Subtype/Link/Rect[193 151 207 160]/Border[0 0 0]/H/N>> -endobj - -37014 0 obj -<>/P 3547 0 R/Type/Annot/A 44569 0 R/Subtype/Link/Rect[209 151 225 161]/Border[0 0 0]/H/N>> -endobj - -37015 0 obj -<>/P 3547 0 R/Type/Annot/A 37338 0 R/Subtype/Link/Rect[226 151 240 160]/Border[0 0 0]/H/N>> -endobj - -37016 0 obj -<>/P 3547 0 R/Type/Annot/A 38230 0 R/Subtype/Link/Rect[242 151 256 160]/Border[0 0 0]/H/N>> -endobj - -37017 0 obj -<>/P 3547 0 R/Type/Annot/A 44461 0 R/Subtype/Link/Rect[258 151 270 160]/Border[0 0 0]/H/N>> -endobj - -37018 0 obj -<>/P 3547 0 R/Type/Annot/A 44419 0 R/Subtype/Link/Rect[401 669 415 678]/Border[0 0 0]/H/N>> -endobj - -37019 0 obj -<>/P 3547 0 R/Type/Annot/A 38182 0 R/Subtype/Link/Rect[417 669 431 678]/Border[0 0 0]/H/N>> -endobj - -37020 0 obj -<>/P 3547 0 R/Type/Annot/A 38172 0 R/Subtype/Link/Rect[433 669 447 678]/Border[0 0 0]/H/N>> -endobj - -37021 0 obj -<>/P 3547 0 R/Type/Annot/A 44326 0 R/Subtype/Link/Rect[449 669 461 678]/Border[0 0 0]/H/N>> -endobj - -37022 0 obj -<>/P 3547 0 R/Type/Annot/A 37768 0 R/Subtype/Link/Rect[405 659 419 668]/Border[0 0 0]/H/N>> -endobj - -37023 0 obj -<>/P 3547 0 R/Type/Annot/A 44247 0 R/Subtype/Link/Rect[421 659 433 668]/Border[0 0 0]/H/N>> -endobj - -37024 0 obj -<>/P 3547 0 R/Type/Annot/A 44212 0 R/Subtype/Link/Rect[405 649 419 658]/Border[0 0 0]/H/N>> -endobj - -37025 0 obj -<>/P 3547 0 R/Type/Annot/A 44175 0 R/Subtype/Link/Rect[421 649 435 658]/Border[0 0 0]/H/N>> -endobj - -37026 0 obj -<>/P 3547 0 R/Type/Annot/A 44138 0 R/Subtype/Link/Rect[437 649 451 658]/Border[0 0 0]/H/N>> -endobj - -37027 0 obj -<>/P 3547 0 R/Type/Annot/A 42768 0 R/Subtype/Link/Rect[453 649 465 658]/Border[0 0 0]/H/N>> -endobj - -37028 0 obj -<>/P 3547 0 R/Type/Annot/A 44067 0 R/Subtype/Link/Rect[410 639 424 648]/Border[0 0 0]/H/N>> -endobj - -37029 0 obj -<>/P 3547 0 R/Type/Annot/A 44036 0 R/Subtype/Link/Rect[426 639 443 649]/Border[0 0 0]/H/N>> -endobj - -37030 0 obj -<>/P 3547 0 R/Type/Annot/A 42670 0 R/Subtype/Link/Rect[443 639 455 648]/Border[0 0 0]/H/N>> -endobj - -37031 0 obj -<>/P 3547 0 R/Type/Annot/A 37431 0 R/Subtype/Link/Rect[387 629 401 638]/Border[0 0 0]/H/N>> -endobj - -37032 0 obj -<>/P 3547 0 R/Type/Annot/A 37425 0 R/Subtype/Link/Rect[403 629 420 639]/Border[0 0 0]/H/N>> -endobj - -37033 0 obj -<>/P 3547 0 R/Type/Annot/A 37419 0 R/Subtype/Link/Rect[421 629 435 638]/Border[0 0 0]/H/N>> -endobj - -37034 0 obj -<>/P 3547 0 R/Type/Annot/A 37414 0 R/Subtype/Link/Rect[437 629 453 639]/Border[0 0 0]/H/N>> -endobj - -37035 0 obj -<>/P 3547 0 R/Type/Annot/A 37408 0 R/Subtype/Link/Rect[454 629 466 638]/Border[0 0 0]/H/N>> -endobj - -37036 0 obj -<>/P 3547 0 R/Type/Annot/A 37402 0 R/Subtype/Link/Rect[397 619 409 628]/Border[0 0 0]/H/N>> -endobj - -37037 0 obj -<>/P 3547 0 R/Type/Annot/A 37396 0 R/Subtype/Link/Rect[392 609 406 618]/Border[0 0 0]/H/N>> -endobj - -37038 0 obj -<>/P 3547 0 R/Type/Annot/A 37390 0 R/Subtype/Link/Rect[408 609 422 618]/Border[0 0 0]/H/N>> -endobj - -37039 0 obj -<>/P 3547 0 R/Type/Annot/A 37383 0 R/Subtype/Link/Rect[424 609 436 618]/Border[0 0 0]/H/N>> -endobj - -37040 0 obj -<>/P 3547 0 R/Type/Annot/A 37376 0 R/Subtype/Link/Rect[388 599 400 608]/Border[0 0 0]/H/N>> -endobj - -37041 0 obj -<>/P 3547 0 R/Type/Annot/A 37368 0 R/Subtype/Link/Rect[387 579 399 589]/Border[0 0 0]/H/N>> -endobj - -37042 0 obj -<>/P 3547 0 R/Type/Annot/A 37363 0 R/Subtype/Link/Rect[400 579 410 588]/Border[0 0 0]/H/N>> -endobj - -37043 0 obj -<>/P 3547 0 R/Type/Annot/A 37356 0 R/Subtype/Link/Rect[412 579 429 589]/Border[0 0 0]/H/N>> -endobj - -37044 0 obj -<>/P 3547 0 R/Type/Annot/A 42092 0 R/Subtype/Link/Rect[429 579 443 588]/Border[0 0 0]/H/N>> -endobj - -37045 0 obj -<>/P 3547 0 R/Type/Annot/A 37346 0 R/Subtype/Link/Rect[445 579 459 588]/Border[0 0 0]/H/N>> -endobj - -37046 0 obj -<>/P 3547 0 R/Type/Annot/A 37343 0 R/Subtype/Link/Rect[461 579 475 588]/Border[0 0 0]/H/N>> -endobj - -37047 0 obj -<>/P 3547 0 R/Type/Annot/A 37258 0 R/Subtype/Link/Rect[477 579 491 588]/Border[0 0 0]/H/N>> -endobj - -37048 0 obj -<>/P 3547 0 R/Type/Annot/A 37334 0 R/Subtype/Link/Rect[493 579 507 588]/Border[0 0 0]/H/N>> -endobj - -37049 0 obj -<>/P 3547 0 R/Type/Annot/A 37328 0 R/Subtype/Link/Rect[359 569 373 578]/Border[0 0 0]/H/N>> -endobj - -37050 0 obj -<>/P 3547 0 R/Type/Annot/A 37324 0 R/Subtype/Link/Rect[375 569 389 578]/Border[0 0 0]/H/N>> -endobj - -37051 0 obj -<>/P 3547 0 R/Type/Annot/A 38202 0 R/Subtype/Link/Rect[391 569 405 578]/Border[0 0 0]/H/N>> -endobj - -37052 0 obj -<>/P 3547 0 R/Type/Annot/A 41734 0 R/Subtype/Link/Rect[407 569 421 578]/Border[0 0 0]/H/N>> -endobj - -37053 0 obj -<>/P 3547 0 R/Type/Annot/A 41685 0 R/Subtype/Link/Rect[423 569 437 578]/Border[0 0 0]/H/N>> -endobj - -37054 0 obj -<>/P 3547 0 R/Type/Annot/A 38158 0 R/Subtype/Link/Rect[439 569 451 578]/Border[0 0 0]/H/N>> -endobj - -37055 0 obj -<>/P 3547 0 R/Type/Annot/A 38146 0 R/Subtype/Link/Rect[380 559 393 569]/Border[0 0 0]/H/N>> -endobj - -37056 0 obj -<>/P 3547 0 R/Type/Annot/A 38133 0 R/Subtype/Link/Rect[394 559 404 568]/Border[0 0 0]/H/N>> -endobj - -37057 0 obj -<>/P 3547 0 R/Type/Annot/A 38120 0 R/Subtype/Link/Rect[406 559 422 569]/Border[0 0 0]/H/N>> -endobj - -37058 0 obj -<>/P 3547 0 R/Type/Annot/A 38096 0 R/Subtype/Link/Rect[423 559 437 568]/Border[0 0 0]/H/N>> -endobj - -37059 0 obj -<>/P 3547 0 R/Type/Annot/A 38089 0 R/Subtype/Link/Rect[439 559 453 568]/Border[0 0 0]/H/N>> -endobj - -37060 0 obj -<>/P 3547 0 R/Type/Annot/A 42862 0 R/Subtype/Link/Rect[455 559 468 568]/Border[0 0 0]/H/N>> -endobj - -37061 0 obj -<>/P 3547 0 R/Type/Annot/A 37704 0 R/Subtype/Link/Rect[470 559 484 568]/Border[0 0 0]/H/N>> -endobj - -37062 0 obj -<>/P 3547 0 R/Type/Annot/A 37692 0 R/Subtype/Link/Rect[486 559 500 568]/Border[0 0 0]/H/N>> -endobj - -37063 0 obj -<>/P 3547 0 R/Type/Annot/A 42750 0 R/Subtype/Link/Rect[502 559 516 568]/Border[0 0 0]/H/N>> -endobj - -37064 0 obj -<>/P 3547 0 R/Type/Annot/A 37289 0 R/Subtype/Link/Rect[359 549 373 558]/Border[0 0 0]/H/N>> -endobj - -37065 0 obj -<>/P 3547 0 R/Type/Annot/A 37427 0 R/Subtype/Link/Rect[375 549 389 558]/Border[0 0 0]/H/N>> -endobj - -37066 0 obj -<>/P 3547 0 R/Type/Annot/A 37420 0 R/Subtype/Link/Rect[391 549 408 559]/Border[0 0 0]/H/N>> -endobj - -37067 0 obj -<>/P 3547 0 R/Type/Annot/A 37415 0 R/Subtype/Link/Rect[408 549 422 558]/Border[0 0 0]/H/N>> -endobj - -37068 0 obj -<>/P 3547 0 R/Type/Annot/A 37410 0 R/Subtype/Link/Rect[424 549 438 558]/Border[0 0 0]/H/N>> -endobj - -37069 0 obj -<>/P 3547 0 R/Type/Annot/A 37404 0 R/Subtype/Link/Rect[440 549 454 558]/Border[0 0 0]/H/N>> -endobj - -37070 0 obj -<>/P 3547 0 R/Type/Annot/A 37398 0 R/Subtype/Link/Rect[456 549 470 558]/Border[0 0 0]/H/N>> -endobj - -37071 0 obj -<>/P 3547 0 R/Type/Annot/A 37393 0 R/Subtype/Link/Rect[472 549 486 558]/Border[0 0 0]/H/N>> -endobj - -37072 0 obj -<>/P 3547 0 R/Type/Annot/A 37387 0 R/Subtype/Link/Rect[488 549 502 558]/Border[0 0 0]/H/N>> -endobj - -37073 0 obj -<>/P 3547 0 R/Type/Annot/A 37381 0 R/Subtype/Link/Rect[504 549 518 558]/Border[0 0 0]/H/N>> -endobj - -37074 0 obj -<>/P 3547 0 R/Type/Annot/A 37374 0 R/Subtype/Link/Rect[359 539 373 548]/Border[0 0 0]/H/N>> -endobj - -37075 0 obj -<>/P 3547 0 R/Type/Annot/A 37367 0 R/Subtype/Link/Rect[375 539 389 548]/Border[0 0 0]/H/N>> -endobj - -37076 0 obj -<>/P 3547 0 R/Type/Annot/A 37362 0 R/Subtype/Link/Rect[391 539 405 548]/Border[0 0 0]/H/N>> -endobj - -37077 0 obj -<>/P 3547 0 R/Type/Annot/A 42225 0 R/Subtype/Link/Rect[407 539 424 549]/Border[0 0 0]/H/N>> -endobj - -37078 0 obj -<>/P 3547 0 R/Type/Annot/A 37351 0 R/Subtype/Link/Rect[424 539 438 548]/Border[0 0 0]/H/N>> -endobj - -37079 0 obj -<>/P 3547 0 R/Type/Annot/A 37345 0 R/Subtype/Link/Rect[440 539 454 548]/Border[0 0 0]/H/N>> -endobj - -37080 0 obj -<>/P 3547 0 R/Type/Annot/A 37341 0 R/Subtype/Link/Rect[456 539 470 548]/Border[0 0 0]/H/N>> -endobj - -37081 0 obj -<>/P 3547 0 R/Type/Annot/A 37254 0 R/Subtype/Link/Rect[472 539 486 548]/Border[0 0 0]/H/N>> -endobj - -37082 0 obj -<>/P 3547 0 R/Type/Annot/A 37332 0 R/Subtype/Link/Rect[488 539 500 548]/Border[0 0 0]/H/N>> -endobj - -37083 0 obj -<>/P 3547 0 R/Type/Annot/A 37327 0 R/Subtype/Link/Rect[368 519 381 529]/Border[0 0 0]/H/N>> -endobj - -37084 0 obj -<>/P 3547 0 R/Type/Annot/A 38229 0 R/Subtype/Link/Rect[381 519 389 528]/Border[0 0 0]/H/N>> -endobj - -37085 0 obj -<>/P 3547 0 R/Type/Annot/A 37320 0 R/Subtype/Link/Rect[401 509 418 519]/Border[0 0 0]/H/N>> -endobj - -37086 0 obj -<>/P 3547 0 R/Type/Annot/A 37783 0 R/Subtype/Link/Rect[419 509 431 518]/Border[0 0 0]/H/N>> -endobj - -37087 0 obj -<>/P 3547 0 R/Type/Annot/A 41788 0 R/Subtype/Link/Rect[388 499 404 509]/Border[0 0 0]/H/N>> -endobj - -37088 0 obj -<>/P 3547 0 R/Type/Annot/A 38173 0 R/Subtype/Link/Rect[405 499 419 508]/Border[0 0 0]/H/N>> -endobj - -37089 0 obj -<>/P 3547 0 R/Type/Annot/A 37766 0 R/Subtype/Link/Rect[421 499 438 509]/Border[0 0 0]/H/N>> -endobj - -37090 0 obj -<>/P 3547 0 R/Type/Annot/A 38147 0 R/Subtype/Link/Rect[438 499 452 508]/Border[0 0 0]/H/N>> -endobj - -37091 0 obj -<>/P 3547 0 R/Type/Annot/A 38134 0 R/Subtype/Link/Rect[454 499 466 508]/Border[0 0 0]/H/N>> -endobj - -37092 0 obj -<>/P 3547 0 R/Type/Annot/A 38121 0 R/Subtype/Link/Rect[416 489 433 499]/Border[0 0 0]/H/N>> -endobj - -37093 0 obj -<>/P 3547 0 R/Type/Annot/A 38097 0 R/Subtype/Link/Rect[434 489 448 498]/Border[0 0 0]/H/N>> -endobj - -37094 0 obj -<>/P 3547 0 R/Type/Annot/A 38090 0 R/Subtype/Link/Rect[450 489 462 498]/Border[0 0 0]/H/N>> -endobj - -37095 0 obj -<>/P 3547 0 R/Type/Annot/A 38070 0 R/Subtype/Link/Rect[388 479 398 488]/Border[0 0 0]/H/N>> -endobj - -37096 0 obj -<>/P 3547 0 R/Type/Annot/A 38054 0 R/Subtype/Link/Rect[400 479 416 489]/Border[0 0 0]/H/N>> -endobj - -37097 0 obj -<>/P 3547 0 R/Type/Annot/A 38039 0 R/Subtype/Link/Rect[417 479 431 488]/Border[0 0 0]/H/N>> -endobj - -37098 0 obj -<>/P 3547 0 R/Type/Annot/A 38016 0 R/Subtype/Link/Rect[433 479 447 488]/Border[0 0 0]/H/N>> -endobj - -37099 0 obj -<>/P 3547 0 R/Type/Annot/A 41288 0 R/Subtype/Link/Rect[449 479 466 489]/Border[0 0 0]/H/N>> -endobj - -37100 0 obj -<>/P 3547 0 R/Type/Annot/A 37430 0 R/Subtype/Link/Rect[466 479 480 488]/Border[0 0 0]/H/N>> -endobj - -37101 0 obj -<>/P 3547 0 R/Type/Annot/A 37424 0 R/Subtype/Link/Rect[482 479 496 488]/Border[0 0 0]/H/N>> -endobj - -37102 0 obj -<>/P 3547 0 R/Type/Annot/A 37418 0 R/Subtype/Link/Rect[498 479 512 488]/Border[0 0 0]/H/N>> -endobj - -37103 0 obj -<>/P 3547 0 R/Type/Annot/A 37277 0 R/Subtype/Link/Rect[359 469 373 478]/Border[0 0 0]/H/N>> -endobj - -37104 0 obj -<>/P 3547 0 R/Type/Annot/A 37409 0 R/Subtype/Link/Rect[375 469 389 478]/Border[0 0 0]/H/N>> -endobj - -37105 0 obj -<>/P 3547 0 R/Type/Annot/A 37403 0 R/Subtype/Link/Rect[391 469 405 478]/Border[0 0 0]/H/N>> -endobj - -37106 0 obj -<>/P 3547 0 R/Type/Annot/A 37397 0 R/Subtype/Link/Rect[407 469 421 478]/Border[0 0 0]/H/N>> -endobj - -37107 0 obj -<>/P 3547 0 R/Type/Annot/A 37392 0 R/Subtype/Link/Rect[423 469 440 479]/Border[0 0 0]/H/N>> -endobj - -37108 0 obj -<>/P 3547 0 R/Type/Annot/A 37268 0 R/Subtype/Link/Rect[440 469 454 478]/Border[0 0 0]/H/N>> -endobj - -37109 0 obj -<>/P 3547 0 R/Type/Annot/A 37380 0 R/Subtype/Link/Rect[456 469 473 479]/Border[0 0 0]/H/N>> -endobj - -37110 0 obj -<>/P 3547 0 R/Type/Annot/A 37373 0 R/Subtype/Link/Rect[474 469 488 478]/Border[0 0 0]/H/N>> -endobj - -37111 0 obj -<>/P 3547 0 R/Type/Annot/A 37366 0 R/Subtype/Link/Rect[359 459 376 469]/Border[0 0 0]/H/N>> -endobj - -37112 0 obj -<>/P 3547 0 R/Type/Annot/A 37360 0 R/Subtype/Link/Rect[376 459 390 468]/Border[0 0 0]/H/N>> -endobj - -37113 0 obj -<>/P 3547 0 R/Type/Annot/A 37354 0 R/Subtype/Link/Rect[392 459 404 468]/Border[0 0 0]/H/N>> -endobj - -37114 0 obj -<>/P 3547 0 R/Type/Annot/A 37349 0 R/Subtype/Link/Rect[392 449 402 458]/Border[0 0 0]/H/N>> -endobj - -37115 0 obj -<>/P 3547 0 R/Type/Annot/A 37256 0 R/Subtype/Link/Rect[404 449 417 459]/Border[0 0 0]/H/N>> -endobj - -37116 0 obj -<>/P 3547 0 R/Type/Annot/A 37339 0 R/Subtype/Link/Rect[418 449 428 458]/Border[0 0 0]/H/N>> -endobj - -37117 0 obj -<>/P 3547 0 R/Type/Annot/A 37336 0 R/Subtype/Link/Rect[430 449 444 458]/Border[0 0 0]/H/N>> -endobj - -37118 0 obj -<>/P 3547 0 R/Type/Annot/A 37331 0 R/Subtype/Link/Rect[446 449 460 458]/Border[0 0 0]/H/N>> -endobj - -37119 0 obj -<>/P 3547 0 R/Type/Annot/A 37248 0 R/Subtype/Link/Rect[462 449 476 458]/Border[0 0 0]/H/N>> -endobj - -37120 0 obj -<>/P 3547 0 R/Type/Annot/A 37246 0 R/Subtype/Link/Rect[478 449 494 459]/Border[0 0 0]/H/N>> -endobj - -37121 0 obj -<>/P 3547 0 R/Type/Annot/A 37321 0 R/Subtype/Link/Rect[495 449 509 458]/Border[0 0 0]/H/N>> -endobj - -37122 0 obj -<>/P 3547 0 R/Type/Annot/A 38221 0 R/Subtype/Link/Rect[359 439 376 449]/Border[0 0 0]/H/N>> -endobj - -37123 0 obj -<>/P 3547 0 R/Type/Annot/A 38207 0 R/Subtype/Link/Rect[376 439 390 448]/Border[0 0 0]/H/N>> -endobj - -37124 0 obj -<>/P 3547 0 R/Type/Annot/A 37770 0 R/Subtype/Link/Rect[392 439 406 448]/Border[0 0 0]/H/N>> -endobj - -37125 0 obj -<>/P 3547 0 R/Type/Annot/A 38178 0 R/Subtype/Link/Rect[408 439 420 448]/Border[0 0 0]/H/N>> -endobj - -37126 0 obj -<>/P 3547 0 R/Type/Annot/A 37760 0 R/Subtype/Link/Rect[378 429 392 438]/Border[0 0 0]/H/N>> -endobj - -37127 0 obj -<>/P 3547 0 R/Type/Annot/A 37737 0 R/Subtype/Link/Rect[394 429 408 438]/Border[0 0 0]/H/N>> -endobj - -37128 0 obj -<>/P 3547 0 R/Type/Annot/A 38138 0 R/Subtype/Link/Rect[410 429 427 439]/Border[0 0 0]/H/N>> -endobj - -37129 0 obj -<>/P 3547 0 R/Type/Annot/A 38128 0 R/Subtype/Link/Rect[427 429 441 438]/Border[0 0 0]/H/N>> -endobj - -37130 0 obj -<>/P 3547 0 R/Type/Annot/A 37719 0 R/Subtype/Link/Rect[443 429 460 439]/Border[0 0 0]/H/N>> -endobj - -37131 0 obj -<>/P 3547 0 R/Type/Annot/A 38093 0 R/Subtype/Link/Rect[461 429 473 438]/Border[0 0 0]/H/N>> -endobj - -37132 0 obj -<>/P 3547 0 R/Type/Annot/A 37297 0 R/Subtype/Link/Rect[388 409 404 419]/Border[0 0 0]/H/N>> -endobj - -37133 0 obj -<>/P 3547 0 R/Type/Annot/A 37691 0 R/Subtype/Link/Rect[405 409 417 418]/Border[0 0 0]/H/N>> -endobj - -37134 0 obj -<>/P 3547 0 R/Type/Annot/A 38048 0 R/Subtype/Link/Rect[392 399 406 408]/Border[0 0 0]/H/N>> -endobj - -37135 0 obj -<>/P 3547 0 R/Type/Annot/A 38023 0 R/Subtype/Link/Rect[408 399 420 408]/Border[0 0 0]/H/N>> -endobj - -37136 0 obj -<>/P 3547 0 R/Type/Annot/A 37286 0 R/Subtype/Link/Rect[402 389 414 398]/Border[0 0 0]/H/N>> -endobj - -37137 0 obj -<>/P 3547 0 R/Type/Annot/A 37573 0 R/Subtype/Link/Rect[421 379 431 388]/Border[0 0 0]/H/N>> -endobj - -37138 0 obj -<>/P 3547 0 R/Type/Annot/A 37429 0 R/Subtype/Link/Rect[433 379 447 388]/Border[0 0 0]/H/N>> -endobj - -37139 0 obj -<>/P 3547 0 R/Type/Annot/A 37423 0 R/Subtype/Link/Rect[449 379 461 388]/Border[0 0 0]/H/N>> -endobj - -37140 0 obj -<>/P 3547 0 R/Type/Annot/A 37417 0 R/Subtype/Link/Rect[410 369 422 378]/Border[0 0 0]/H/N>> -endobj - -37141 0 obj -<>/P 3547 0 R/Type/Annot/A 37413 0 R/Subtype/Link/Rect[415 359 431 369]/Border[0 0 0]/H/N>> -endobj - -37142 0 obj -<>/P 3547 0 R/Type/Annot/A 37407 0 R/Subtype/Link/Rect[432 359 446 368]/Border[0 0 0]/H/N>> -endobj - -37143 0 obj -<>/P 3547 0 R/Type/Annot/A 37401 0 R/Subtype/Link/Rect[448 359 462 368]/Border[0 0 0]/H/N>> -endobj - -37144 0 obj -<>/P 3547 0 R/Type/Annot/A 37270 0 R/Subtype/Link/Rect[464 359 476 368]/Border[0 0 0]/H/N>> -endobj - -37145 0 obj -<>/P 3547 0 R/Type/Annot/A 37391 0 R/Subtype/Link/Rect[398 349 410 358]/Border[0 0 0]/H/N>> -endobj - -37146 0 obj -<>/P 3547 0 R/Type/Annot/A 37385 0 R/Subtype/Link/Rect[424 339 438 348]/Border[0 0 0]/H/N>> -endobj - -37147 0 obj -<>/P 3547 0 R/Type/Annot/A 37379 0 R/Subtype/Link/Rect[440 339 452 348]/Border[0 0 0]/H/N>> -endobj - -37148 0 obj -<>/P 3547 0 R/Type/Annot/A 37372 0 R/Subtype/Link/Rect[398 329 410 338]/Border[0 0 0]/H/N>> -endobj - -37149 0 obj -<>/P 3547 0 R/Type/Annot/A 37261 0 R/Subtype/Link/Rect[420 319 434 328]/Border[0 0 0]/H/N>> -endobj - -37150 0 obj -<>/P 3547 0 R/Type/Annot/A 37361 0 R/Subtype/Link/Rect[436 319 448 328]/Border[0 0 0]/H/N>> -endobj - -37151 0 obj -<>/P 3547 0 R/Type/Annot/A 37355 0 R/Subtype/Link/Rect[398 309 410 318]/Border[0 0 0]/H/N>> -endobj - -37152 0 obj -<>/P 3547 0 R/Type/Annot/A 37350 0 R/Subtype/Link/Rect[429 299 443 308]/Border[0 0 0]/H/N>> -endobj - -37153 0 obj -<>/P 3547 0 R/Type/Annot/A 37253 0 R/Subtype/Link/Rect[445 299 457 308]/Border[0 0 0]/H/N>> -endobj - -37154 0 obj -<>/P 3547 0 R/Type/Annot/A 37342 0 R/Subtype/Link/Rect[398 289 410 298]/Border[0 0 0]/H/N>> -endobj - -37155 0 obj -<>/P 3547 0 R/Type/Annot/A 37250 0 R/Subtype/Link/Rect[415 279 431 289]/Border[0 0 0]/H/N>> -endobj - -37156 0 obj -<>/P 3547 0 R/Type/Annot/A 37335 0 R/Subtype/Link/Rect[432 279 446 288]/Border[0 0 0]/H/N>> -endobj - -37157 0 obj -<>/P 3547 0 R/Type/Annot/A 37330 0 R/Subtype/Link/Rect[448 279 462 288]/Border[0 0 0]/H/N>> -endobj - -37158 0 obj -<>/P 3547 0 R/Type/Annot/A 37326 0 R/Subtype/Link/Rect[464 279 476 288]/Border[0 0 0]/H/N>> -endobj - -37159 0 obj -<>/P 3547 0 R/Type/Annot/A 37323 0 R/Subtype/Link/Rect[398 269 410 278]/Border[0 0 0]/H/N>> -endobj - -37160 0 obj -<>/P 3547 0 R/Type/Annot/A 37319 0 R/Subtype/Link/Rect[424 259 438 268]/Border[0 0 0]/H/N>> -endobj - -37161 0 obj -<>/P 3547 0 R/Type/Annot/A 37317 0 R/Subtype/Link/Rect[440 259 452 268]/Border[0 0 0]/H/N>> -endobj - -37162 0 obj -<>/P 3547 0 R/Type/Annot/A 37315 0 R/Subtype/Link/Rect[398 249 410 258]/Border[0 0 0]/H/N>> -endobj - -37163 0 obj -<>/P 3547 0 R/Type/Annot/A 37313 0 R/Subtype/Link/Rect[415 239 427 248]/Border[0 0 0]/H/N>> -endobj - -37164 0 obj -<>/P 3547 0 R/Type/Annot/A 37311 0 R/Subtype/Link/Rect[398 229 410 238]/Border[0 0 0]/H/N>> -endobj - -37165 0 obj -<>/P 3547 0 R/Type/Annot/A 37309 0 R/Subtype/Link/Rect[420 219 434 228]/Border[0 0 0]/H/N>> -endobj - -37166 0 obj -<>/P 3547 0 R/Type/Annot/A 37307 0 R/Subtype/Link/Rect[436 219 448 228]/Border[0 0 0]/H/N>> -endobj - -37167 0 obj -<>/P 3547 0 R/Type/Annot/A 37305 0 R/Subtype/Link/Rect[392 209 400 218]/Border[0 0 0]/H/N>> -endobj - -37168 0 obj -<>/P 3547 0 R/Type/Annot/A 37303 0 R/Subtype/Link/Rect[397 199 405 208]/Border[0 0 0]/H/N>> -endobj - -37169 0 obj -<>/P 3547 0 R/Type/Annot/A 37301 0 R/Subtype/Link/Rect[392 189 402 198]/Border[0 0 0]/H/N>> -endobj - -37170 0 obj -<>/P 3547 0 R/Type/Annot/A 37299 0 R/Subtype/Link/Rect[404 189 418 198]/Border[0 0 0]/H/N>> -endobj - -37171 0 obj -<>/P 3547 0 R/Type/Annot/A 37296 0 R/Subtype/Link/Rect[420 189 434 198]/Border[0 0 0]/H/N>> -endobj - -37172 0 obj -<>/P 3547 0 R/Type/Annot/A 37293 0 R/Subtype/Link/Rect[436 189 450 198]/Border[0 0 0]/H/N>> -endobj - -37173 0 obj -<>/P 3547 0 R/Type/Annot/A 37291 0 R/Subtype/Link/Rect[452 189 464 198]/Border[0 0 0]/H/N>> -endobj - -37174 0 obj -<>/P 3547 0 R/Type/Annot/A 37288 0 R/Subtype/Link/Rect[392 179 400 188]/Border[0 0 0]/H/N>> -endobj - -37175 0 obj -<>/P 3547 0 R/Type/Annot/A 37285 0 R/Subtype/Link/Rect[392 169 402 178]/Border[0 0 0]/H/N>> -endobj - -37176 0 obj -<>/P 3547 0 R/Type/Annot/A 37283 0 R/Subtype/Link/Rect[404 169 416 178]/Border[0 0 0]/H/N>> -endobj - -37177 0 obj -<>/P 3547 0 R/Type/Annot/A 37281 0 R/Subtype/Link/Rect[392 159 404 168]/Border[0 0 0]/H/N>> -endobj - -37178 0 obj -<>/P 3547 0 R/Type/Annot/A 37279 0 R/Subtype/Link/Rect[392 149 402 158]/Border[0 0 0]/H/N>> -endobj - -37179 0 obj -<>/P 3547 0 R/Type/Annot/A 37276 0 R/Subtype/Link/Rect[404 149 416 158]/Border[0 0 0]/H/N>> -endobj - -37180 0 obj -<>/P 3547 0 R/Type/Annot/A 37274 0 R/Subtype/Link/Rect[372 418 389 427]/Border[0 0 0]/H/N>> -endobj - -37181 0 obj -<> -endobj - -37182 0 obj -<> -endobj - -37183 0 obj -<> -endobj - -37184 0 obj -<> -endobj - -37185 0 obj -<> -endobj - -37186 0 obj -<> -endobj - -37187 0 obj -<> -endobj - -37188 0 obj -<> -endobj - -37189 0 obj -<> -endobj - -37190 0 obj -<> -endobj - -37191 0 obj -<> -endobj - -37192 0 obj -<> -endobj - -37193 0 obj -<> -endobj - -37194 0 obj -<> -endobj - -37195 0 obj -<> -endobj - -37196 0 obj -<> -endobj - -37197 0 obj -<> -endobj - -37198 0 obj -<> -endobj - -37199 0 obj -<> -endobj - -37200 0 obj -<> -endobj - -37201 0 obj -<> -endobj - -37202 0 obj -<> -endobj - -37203 0 obj -<> -endobj - -37204 0 obj -<> -endobj - -37205 0 obj -<> -endobj - -37206 0 obj -<> -endobj - -37207 0 obj -<> -endobj - -37208 0 obj -<> -endobj - -37209 0 obj -<> -endobj - -37210 0 obj -<> -endobj - -37211 0 obj -<> -endobj - -37212 0 obj -<> -endobj - -37213 0 obj -<> -endobj - -37214 0 obj -<> -endobj - -37215 0 obj -<> -endobj - -37216 0 obj -<> -endobj - -37217 0 obj -<> -endobj - -37218 0 obj -<> -endobj - -37219 0 obj -<> -endobj - -37220 0 obj -<> -endobj - -37221 0 obj -<> -endobj - -37222 0 obj -<> -endobj - -37223 0 obj -<> -endobj - -37224 0 obj -<> -endobj - -37225 0 obj -<> -endobj - -37226 0 obj -<> -endobj - -37227 0 obj -<> -endobj - -37228 0 obj -<> -endobj - -37229 0 obj -<> -endobj - -37230 0 obj -<> -endobj - -37231 0 obj -<> -endobj - -37232 0 obj -<> -endobj - -37233 0 obj -<> -endobj - -37234 0 obj -<> -endobj - -37235 0 obj -<> -endobj - -37236 0 obj -<> -endobj - -37237 0 obj -<> -endobj - -37238 0 obj -<> -endobj - -37239 0 obj -<> -endobj - -37240 0 obj -<> -endobj - -37241 0 obj -<> -endobj - -37242 0 obj -<> -endobj - -37243 0 obj -<> -endobj - -37244 0 obj -<> -endobj - -37245 0 obj -<> -endobj - -37246 0 obj -<> -endobj - -37247 0 obj -<> -endobj - -37248 0 obj -<> -endobj - -37249 0 obj -<> -endobj - -37250 0 obj -<> -endobj - -37251 0 obj -<> -endobj - -37252 0 obj -<> -endobj - -37253 0 obj -<> -endobj - -37254 0 obj -<> -endobj - -37255 0 obj -<> -endobj - -37256 0 obj -<> -endobj - -37257 0 obj -<> -endobj - -37258 0 obj -<> -endobj - -37259 0 obj -<> -endobj - -37260 0 obj -<> -endobj - -37261 0 obj -<> -endobj - -37262 0 obj -<> -endobj - -37263 0 obj -<> -endobj - -37264 0 obj -<> -endobj - -37265 0 obj -<> -endobj - -37266 0 obj -<> -endobj - -37267 0 obj -<> -endobj - -37268 0 obj -<> -endobj - -37269 0 obj -<> -endobj - -37270 0 obj -<> -endobj - -37271 0 obj -<> -endobj - -37272 0 obj -<> -endobj - -37273 0 obj -<> -endobj - -37274 0 obj -<> -endobj - -37275 0 obj -<> -endobj - -37276 0 obj -<> -endobj - -37277 0 obj -<> -endobj - -37278 0 obj -<> -endobj - -37279 0 obj -<> -endobj - -37280 0 obj -<> -endobj - -37281 0 obj -<> -endobj - -37282 0 obj -<> -endobj - -37283 0 obj -<> -endobj - -37284 0 obj -<> -endobj - -37285 0 obj -<> -endobj - -37286 0 obj -<> -endobj - -37287 0 obj -<> -endobj - -37288 0 obj -<> -endobj - -37289 0 obj -<> -endobj - -37290 0 obj -<> -endobj - -37291 0 obj -<> -endobj - -37292 0 obj -<> -endobj - -37293 0 obj -<> -endobj - -37294 0 obj -<> -endobj - -37295 0 obj -<> -endobj - -37296 0 obj -<> -endobj - -37297 0 obj -<> -endobj - -37298 0 obj -<> -endobj - -37299 0 obj -<> -endobj - -37300 0 obj -<> -endobj - -37301 0 obj -<> -endobj - -37302 0 obj -<> -endobj - -37303 0 obj -<> -endobj - -37304 0 obj -<> -endobj - -37305 0 obj -<> -endobj - -37306 0 obj -<> -endobj - -37307 0 obj -<> -endobj - -37308 0 obj -<> -endobj - -37309 0 obj -<> -endobj - -37310 0 obj -<> -endobj - -37311 0 obj -<> -endobj - -37312 0 obj -<> -endobj - -37313 0 obj -<> -endobj - -37314 0 obj -<> -endobj - -37315 0 obj -<> -endobj - -37316 0 obj -<> -endobj - -37317 0 obj -<> -endobj - -37318 0 obj -<> -endobj - -37319 0 obj -<> -endobj - -37320 0 obj -<> -endobj - -37321 0 obj -<> -endobj - -37322 0 obj -<> -endobj - -37323 0 obj -<> -endobj - -37324 0 obj -<> -endobj - -37325 0 obj -<> -endobj - -37326 0 obj -<> -endobj - -37327 0 obj -<> -endobj - -37328 0 obj -<> -endobj - -37329 0 obj -<> -endobj - -37330 0 obj -<> -endobj - -37331 0 obj -<> -endobj - -37332 0 obj -<> -endobj - -37333 0 obj -<> -endobj - -37334 0 obj -<> -endobj - -37335 0 obj -<> -endobj - -37336 0 obj -<> -endobj - -37337 0 obj -<> -endobj - -37338 0 obj -<> -endobj - -37339 0 obj -<> -endobj - -37340 0 obj -<> -endobj - -37341 0 obj -<> -endobj - -37342 0 obj -<> -endobj - -37343 0 obj -<> -endobj - -37344 0 obj -<> -endobj - -37345 0 obj -<> -endobj - -37346 0 obj -<> -endobj - -37347 0 obj -<> -endobj - -37348 0 obj -<> -endobj - -37349 0 obj -<> -endobj - -37350 0 obj -<> -endobj - -37351 0 obj -<> -endobj - -37352 0 obj -<> -endobj - -37353 0 obj -<> -endobj - -37354 0 obj -<> -endobj - -37355 0 obj -<> -endobj - -37356 0 obj -<> -endobj - -37357 0 obj -<> -endobj - -37358 0 obj -<> -endobj - -37359 0 obj -<> -endobj - -37360 0 obj -<> -endobj - -37361 0 obj -<> -endobj - -37362 0 obj -<> -endobj - -37363 0 obj -<> -endobj - -37364 0 obj -<> -endobj - -37365 0 obj -<> -endobj - -37366 0 obj -<> -endobj - -37367 0 obj -<> -endobj - -37368 0 obj -<> -endobj - -37369 0 obj -<> -endobj - -37370 0 obj -<> -endobj - -37371 0 obj -<> -endobj - -37372 0 obj -<> -endobj - -37373 0 obj -<> -endobj - -37374 0 obj -<> -endobj - -37375 0 obj -<> -endobj - -37376 0 obj -<> -endobj - -37377 0 obj -<> -endobj - -37378 0 obj -<> -endobj - -37379 0 obj -<> -endobj - -37380 0 obj -<> -endobj - -37381 0 obj -<> -endobj - -37382 0 obj -<> -endobj - -37383 0 obj -<> -endobj - -37384 0 obj -<> -endobj - -37385 0 obj -<> -endobj - -37386 0 obj -<> -endobj - -37387 0 obj -<> -endobj - -37388 0 obj -<> -endobj - -37389 0 obj -<> -endobj - -37390 0 obj -<> -endobj - -37391 0 obj -<> -endobj - -37392 0 obj -<> -endobj - -37393 0 obj -<> -endobj - -37394 0 obj -<> -endobj - -37395 0 obj -<> -endobj - -37396 0 obj -<> -endobj - -37397 0 obj -<> -endobj - -37398 0 obj -<> -endobj - -37399 0 obj -<> -endobj - -37400 0 obj -<> -endobj - -37401 0 obj -<> -endobj - -37402 0 obj -<> -endobj - -37403 0 obj -<> -endobj - -37404 0 obj -<> -endobj - -37405 0 obj -<> -endobj - -37406 0 obj -<> -endobj - -37407 0 obj -<> -endobj - -37408 0 obj -<> -endobj - -37409 0 obj -<> -endobj - -37410 0 obj -<> -endobj - -37411 0 obj -<> -endobj - -37412 0 obj -<> -endobj - -37413 0 obj -<> -endobj - -37414 0 obj -<> -endobj - -37415 0 obj -<> -endobj - -37416 0 obj -<> -endobj - -37417 0 obj -<> -endobj - -37418 0 obj -<> -endobj - -37419 0 obj -<> -endobj - -37420 0 obj -<> -endobj - -37421 0 obj -<> -endobj - -37422 0 obj -<> -endobj - -37423 0 obj -<> -endobj - -37424 0 obj -<> -endobj - -37425 0 obj -<> -endobj - -37426 0 obj -<> -endobj - -37427 0 obj -<> -endobj - -37428 0 obj -<> -endobj - -37429 0 obj -<> -endobj - -37430 0 obj -<> -endobj - -37431 0 obj -<> -endobj - -37432 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37433 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37434 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37435 0 obj -<> -stream -HWk_1bP.w|qI qZ,RtX\K["e({/)^) -K̙Ùs(o~P~{V}ѿ"S(k -KR%~SmջȨFE֛|wo7getQk*QhU4UsUn(ߏ47s+o{_tˏ/zu6y|u":)LV`緫F'(?K9-,Nj%V}RFp+uyՍ -&6񸍊ll7Q(pvD1d(,c8` -z72Vpo{'w̽; s{}`>0ApTp2>e3}gs s>}!/Bp:kRlYCwO1` {!R Y{Z+bܳZZ!KpZkR Y{Z+bZK1d YkZ!KpZkR XBk),=kZK1d YkZm#'b),CwO1dqZ!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%guBk),=kZKmR Y=ŀ%b),bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` ^h-Ő%gBk)Z!R Y=ŐIQ^iF,2\GDPIL'N(UW|Sk,tD0vE> ǮᶯW7M ˅0G{vf*5yR$?ԟ+8e>u_˅8~=?]Ad 1Q,2v7]mkB%|z7k7g=JxS |hjqnrP=}_?i4) Y׮pEqǮo>Sp!͌Y2P~ &@C'Zb8JY72|(֬AT^.|'2>1vXƯǛחxO:4:s_^&l-ܤl -}=vOJ.I[0]w3gGLM&)NyCSP ŰĻe<HЄڞ±zX'l_u~Ǐ $Kxm&?{wOѣ^.N0^ȥ)Y.wizJ19g\WrxnD)ϔ:TMg)Uuc3:=k-ȶ0<~~,#t<—WTCƯ[s|6 -Ŵ噖< -V`ZA -L+R -Z)ieVƴrA+gZ3B*V!hTjE1dq-ZiA0-+hYe-{+bX{!KbB),A --{+bX{!KbB),A ŀ%bX{!KbwB),A -{'bX{!KbwB),A -{'bX{!kQ XB),A -{/bX{!KbB),A -{/bX{!KbB),A>ŀ%bZY~M:_4VU|selhSnBo8M4NSV~xƇ? =:ɽHocx9߭YuۻмcUzqUZ'.gx"_aы``|o:^~y'dޥ xWOS=fֵUM ِ‚g9xl s&Opb`jCOrYvpRٍj@3rjo`]?p -ϭc(Y:VxVS5Niʛհ-pl6l2+Y$.f"v^m07r7z]7> p!I}ΤZ*l~þow}nokڡf+ ϴ|s8)tl cn0ӘJt6}#mSL]y:_c`]U{s8c3LOp;AHX6:9Jdy<<SB zO :K=)%_Oq`;C攒q~&чO* 6K%?I mLqNn7M}5Lm޷gqO$#񺯿^Hɒw td/'ya #i)^ntxsmwY'4I)6jmeMJ d]lJ5N@T mooƏYzƔ>.V\!Ve+&1_s t'K1}fDD$[V>i~1?VN/(cNl{^p&\~P m8OStҎZU>bAacqӂH_eKfoկ_S/e0̙4}[5KF,΂V*wYɓ;P5 |jCds'I`nJ;$C`} 1YC|jt?l4?>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37437 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37438 0 obj -<> -endobj - -37439 0 obj -<> -endobj - -37440 0 obj -<> -endobj - -37441 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37442 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37443 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37444 0 obj -<> -stream -HWkܶ_@ ZFjv\G@>xHI7^#]ݺEaxs\q./gMǞ=z{%/^^;;\y}cx2}GWg[vD{]W]s)}s&Ǿ(9Ȓ@뀀^$s˅U p#=N- >~ٖ9 =@G~l>NIIlN8ܗ ce1`qnfX9c XP/,P/,P/-P/-P/-P,P,>RK}H-!>GR#K}D,1>DŽRK}B< bµ3,[=ƀEceǘa1,µ3,BZAcE\+b Xk1fXz˵p- PoVb̰kZr \1`Řa- -µ3,BZAcGŘa1,µ3,[= V1`Řa-Jµ3,BZIc"\1"[k1fXz˵p-ƀEcE\+ b̰k%Zp- PoVŘa-Jµ;8p- V1`Řa1fXzp- PoVŘa-*µZr"\1"[Uk1,µ3,BZEcE\b Xk1fXz˵p- PoV b̰lZceO$Iߢsqd 0xy! ؓ,=8_*/[͞uFg[o"{R~S>TeEya})}J}',81aBx 3#a$y,-Xc+=Qbj;.@yvyVEuۯy8a= AvbtIFQ׿MnvSznǼ=bv*BaÂ""u59 8fi+#pR'EVj.zgO|J v:L<RؒjLP7cf#ENI!dDNF07׻cf]KvҬ YIɶrVw-+*fewweg'oZDda0W33X"w88hx{Q$*D  U{lЃ\'}6JB\ 6XɆ؁q#^5L|u[-}Vݎ}yvl/nmSfJ >4&iE[ſe(Tu(Z@Rˢ7>Xi<^a6'g2y{,(_S=3m;"]=STdˡH2Ÿx -'Iܓbg|7ގvzcPp|ݻ֕f?0|d14)n'ҠĤIn. j` cEH g;q2\uP2+*'YieC%L{7r̚y܋'GR$B z"!]$!AXB'ʟP@}t_;]m3 -)4VaXvƼ(AۿȡwQy511CF=8N;t34@sl;44zpwí.; UR!q^NRb}gPj^O*ٌZEK/ Ϭzb1LSWci'BG%h9U|gW2p@?n۵DJPS2? B,i?>˛]yuJeb(:Ll|6hv컇j"0M -(vQDsl܇)X(UP{:bs1:ޔv;N_Lߒv~%.Y;ޗ,{%|K -ZB gu.s\KXѢcj=yqXF6~Vuerz5EXw9~-3sx&BZ͡x;ckftbS͔tc+?8h^צf' S~lo0unp!M&rcZ_.)sK=#I42:|=fMVui9;#I`S9AŒxJ_>|+T -Y&Ica 2D=}` qc4G9=f -mpשN>x1lzosJK! TI(%_y~נ -8N;\m ًC>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37446 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37447 0 obj -<> -endobj - -37448 0 obj -<> -endobj - -37449 0 obj -<> -endobj - -37450 0 obj -<> -endobj - -37451 0 obj -<> -endobj - -37452 0 obj -<> -endobj - -37453 0 obj -<> -endobj - -37454 0 obj -<> -endobj - -37455 0 obj -<> -endobj - -37456 0 obj -<> -endobj - -37457 0 obj -<> -endobj - -37458 0 obj -<> -endobj - -37459 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37460 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37461 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37462 0 obj -<> -stream -HWkF_A@ ~A θEA>F k՞vݜC=mQK!%KbfxjX//?>_%M#c *S۠jtcU_W*Yo?O͗ݧ~]?77~S]euZUED׬r[-|pWˏ-M'hl;T=/-ĹQ^/VwúzX{nz|+0^7ޫ'/>%ZOK"۟t7[XJ7$_կߊvpas[E|~Xr"H ŐU.G1`IY,˰v)KbԫBbԫBfBfBfBaԛBaԛBeBeBeBcԻBcԻBgBgBgB}`ԇB}`ԇB}dB}dLh)Z!TO1`1JCVbbRK1d1*&CHbRK1`1EjZ!Q_V1R Y"I-ŐŨ/RR XLj),F}ZŤbbULj)4Z!TO1`1JCVbbRK1d1j&CHfRK1`1Ej5Z!Q_V3R Y"I-ŐŨ/RR XLj),F}ZͤbbLj) Z!TO1`1JCVbbRK1d1&CHaRK1`1Ej Z!Q_0R Y"I-ŐŨ/RkR XLj),F}Zäbb5Lj),Z!TO1`1JCV>61FS of[=_VKe|_Ir[-Z~D'P/oh!{ZT - 6z!X_=f9Uۯ>:}]=f嫑b-Tc-&jRV~<[t/6|VYn~voovgp7m>nkZ1D#".8^Z\xHw@V5A~: 6a޾[v|_ɰݬuo`ki@ >w 0.R 8eoh>όM?|h>ŋ_O_[ves>D˻?uP+F+uKzzx\o$}NZdjz?-!F ՠRp.0Y: 5}mtkYgThPfCiIkﮣKj+aݖb=ⰾ\phFgk|p5<^ߏd[:wIqo(#ڞf" g!Pw$@@nc[L~\ -؝G  "C.xy{b vx<hv>AmZ -2=2_ƳX@8!@2=r'X@\ @'ַ`<}}G -22_J(((g("Cf+Y9 -`k" -22_ sXK&C+(It(LbW}7 \`7KG -Ecd:J4Bu _Y Y\$`3AB0 -´a -;La0B;-T(%=!k|-{$ۖb[JfOzi@rpsZiuqqPqXݩ| q6!)ϨX`)MYgAvʭ?qD' vIp,Xَ; ͂)\1' k QFv|ǡdnlQe evXN?z8Z M9 2bРH+A@Oo0;F,=l~Ԏˋ8 : QTpƆ `G? @LE]R7Ƭ Vvc -zv¢NmJOVSEX9' ;Ĵ6D.Xَ+j9 -Bhpxk0٩it0LG#: -;h bǶR"1b' -Vc`Ya\`Sn;TG#;u ih+ee j "},FvH²BQAemvS4ImU#$H-q7is~6#Ձ:;UO~ Mh8X5Nmmc`@E[|-\#:7O~=hT&vhҹ -r;1qz f|W#ÍfP:3`C[o&nk'64P-KL74rZ;18)ct-kg[263ةod'ڶaLrʠ{K5û41 jAdlh00ǯpӂ) d`Ac/!fl+#SY1W:3FnKF{@{rΈN!\?#9I{r蛅13ct0{zq -WEWX -Z4"%"(ȿh =|K8*_C\zfwjėP}AEi%bU+`hN¸!~ck?Ęթ=&gss{FCB1kq0tD)e>iZK{[CHi%t-?ŶX{ k%w7 ibFYuQ"#W|"8f1ũe(h >LJ'X+T||~,jR`ݚ*U<|wo{Ǐӛf_ǮUw$7[5kei|W,B4 = L.ST[o,iTgL ?6 {ϻ&L٪Rܜt:rw?E'Pb#zB5 -Ԝέ8nAҴ%T)mv=?Mcu)qfo1,be) /:Ç0wq d4`1umk@c600_q)ȗEoγ86~zZem$4MlH+%Q4$b6&Z,5 y7טxE}'vۡ!shjuhoȎ▷3j*˧/^JZ xܠWwam5QNFj"t׫E'36_-F - vf+Xnw8-5VC9W߯j%R i10K2V8j72{&eT_V$ *~1lY5C3ۯ_|O8BWendstream -endobj - -37463 0 obj -<>/P 1474 0 R/Type/Annot/A 37915 0 R/Subtype/Link/Rect[93.6074982 214.843994 184.417999 234.524994]/Border[0 0 0]/H/N>> -endobj - -37464 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37465 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37466 0 obj -<> -endobj - -37467 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37468 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37469 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37470 0 obj -<> -stream -HWko۸_RF|Hڴ(Eh IQ(2+ EJqwQgk ˗.? ի7o/*B0$,LNbv*#l(hX7UC.۪Z ]Y]\b}Yk4\,Yap]$g#L( p׫jxjՇU['c }O=)>اc/c/c!3}4KѺ:`j]F]պ6ٻ6ٻ6@!umTպ6B{ej]պ6B{ej]F!=2D Pj]F!=2DMjZ(DMjZצQ{O Qkֵi޵ -Qk(k(kZצQ{OQk(Zֵ -Qk(ZֵiS-GTֵiS-GT4 -a節#umBT4 -a節#umTպ:j]F]պ6ٻ6ٻ6@!umT+պ6B{j]պ6B{j]F!= -D Pj]F!= -DMjZ(DMjZצQ{OQkQk(kZצQ>{צQ>dY&-EYkC4\4?I:^} ^p-`_6/r754hi -|Zvi[i<-)bO3;X}^9d28N +U e;..DR56 DB'U6 a$aZC%+5̽iA,=akix!ƅPiOndE">7i`rFNe> >rer ȋg[4w>wWW'LzUN3 M ֢T?UoʺV2T0^0LZfبfcF) ƂĦ.7d,]LlUVן.WjZ=s.Iaa9u\lBhh;Qj7m7i >=֠ӵ>$Z(-B˦/"}=/qb{7CCF'zIS/q9ͼ>-H|% i*ojXA,MrMBm7/L"NIfKOSg&,Z@WT'Uj45;H}?pt>2F5Yx -HƄ@^l*luSi%_qc2ax7*_8d̲e9's~%h/ۅK9>d\jjfۢ>8=4Ϡھx%<`]^AeZfSjXJK{߃04~8[Lμ\aXN~}Q ʾ.}WwnmLp5OrjsY?1F^!_ǻ@ZNҞ۹ilw1I&7Hbi ^~t&ϛd:oP[mp8*9,C(WB$8-ꪭ͛Ns@+Ea{],H -|)l/0q܆9faKyآpg±QlY'Ӟ"+!|/K0ga%scڳV -f/j,QZDҗcgz$ F6Cy 0\u%-%xje?m.{R9khmlxH'SOqO=J[cGaq(A{?Z9,4 ǞtQj&l0ZL(csiɝ/naya%N9sVv2gJsiQcG4CHڙS4{E;t`Q~Cu[X'[Ԏu3PМ9N7fRc)^?R勍M ]Q/X3H05p5EyA> -endobj - -37472 0 obj -<> -endobj - -37473 0 obj -<> -endobj - -37474 0 obj -<> -endobj - -37475 0 obj -<> -endobj - -37476 0 obj -<> -endobj - -37477 0 obj -<> -endobj - -37478 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37479 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37480 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37481 0 obj -<> -stream -HWے۸}W ĩs@\xI6`ov3.;NJaHԈD>ojԖW`AѧѸwqh?߼~q_"&sWFLGi#ġ މ:1E%ۢ/msve{P7U<_7X"9b֪faQa'axS}O>eاay3}>g{R.Pj Q>{jZjCϞ峧6@16D1=*FԆ(ZŨŨŰTRjZjZjCSbTKmb{Uj Pj Q {OQ-!aV1]R|(FԆ(=!gOmbTKmb{Ռj Q {OQ-Q-!aV36D1=jF(FԆ(ZͨŰTRRj5ZjCSfTKm06D Pj Q>{jCϞŨŰTkRj ZjZjCSaTKmb{5j Pj Q {OQ-!a06@16D1=FԆ(ZèveTKmSR|Ԇ(}ynf.xn#bXϿ(I. o<8§Tnc?˧~l3*5v,ˣ*fU'Xi9 r\.,@'R6aM?6cI7<W9yj̱2 NHJ pmȳ(c-1&an(hUӶmQ!4VVxtnhDi[fG9Cֳuu ,ӱLUT>0 ӖOI` NU6΢DdZB~%j[^dY AIFaZ2$yX+.RX aWlSɧHMgPc/ -|~?A;2oD"'b=Oo<K`" VCyF@.=x] 71 MG#K) -HD44@gJ(N@d)du a2peS^htG0sl{x+8웇G<}{ZZtcW[;[TwOMnhNR*"PK.[)r 70; GL<|m wmԥ_s:mUCsP٪-e#uWGctzm⩫QI%6|4;;p;rj-c~K-Z뿯^]o^=Z+z}%99Зppv -4v6sdM,Q23еF&^{]e@7Z7F,AAʘݥK:؞~-7zvŗ?Y\3nח.gTڣpߢ`n =pjt\>{i,?uԇ>囇MwWUn#-] nK\U/f#Pzئ_sUaO/,eY0.?%|41 - cF 3W]'oe4TP7'A"ZVX+(Ripf -䡗 -+ٔص?~;+!`2e>` -pONM}t#6xBӴ8u05jmn7?hGu|Ȅd=Pz$,Ge挫}P>Rl rSWO]d G$&1{6懮!=N TM)(/g+5^ـ\]χܫu?+:I`r4Oe nfLe6֑;:@F,騮/B6{gspoy>Cw -AAmEHI1A -PSKg$fc}ïҦ' !gHμy3Q9Xrs DotMcv3xm~g~H vJ{/ћ{wn s,(8Y+SNN@js*~^ߟ쟦f&5t}M;]2IGvG+z[ݜVMg<trH"EՋi0Q$˼⡺iyYo!WBkԃi} -5vMu::4X4ϒv"0 P@6XS_MbjۊN(Q7N4tfUߠl^?ˤdġO* tg>]nCg&+LLٟƓr Uڹi vz Vg:#tfibNmd\u -Y -DDܝAa2*Bfq аV)8C?X ps7xL8-eyGvC$OyRfS\Š{ex } PKB~Nja9H4,sg'P 货 YadFmY\g(Y1#UpP뗘u@LL jdA޻о)wzdm˅ qkTm{]Fdhu|ς$iV<:CӘI`OMu8H{`ĕ\I" -2v#ڊ'dpJ^lq<=.2),Hz{bbJe6RKN] D)*a2T bm ppԏ 6dVw_NjLJt JhЅNz} O(dw3T2I'k~r,EWLe/a.Y@%Qp,>@n#7*Z\ɓ`wTb֙Q wLwvHL8[̄c;6ކaT4|wWtg?1endstream -endobj - -37482 0 obj -<>/P 1171 0 R/Type/Annot/A 37635 0 R/Subtype/Link/Rect[93.6003036 257.028992 163.608002 276.709015]/Border[0 0 0]/H/N>> -endobj - -37483 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37484 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37485 0 obj -<> -endobj - -37486 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37487 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37488 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37489 0 obj -<> -stream -HW]o6}ׯ /2`Dl@mEvHCl+9Nr(i`q%{.?ʮg?p7LNHåc2gVJdM"}"Y͒7վ/uoP]e]\VcrI.7fm昃>Y. -9$i^ͧfFm̳\n-NeK˾-;PVշ]};y=+0y򱯺)DjZKbL -;HٻXtƕEC`M 9.渀#H!x1+e V]X|KU^U^u^u^uMMmmm>#gPEsB} y>'P_D B}wzwȳ0mE6Đ1` 1dC YC>r"\b"GUkC XkC Yȵpm!PV 1` 1d#*µ!,B}ZE6ĀE6ĐE\׆k;$pm!+Vb"\bȊՇb!,µ!,B}ZM6ĐE\ ׆׆k5C>r&\b"\b"GՄkC Yȵpmpm!PV 1d#jµ!vH CV>ĀE6Đ1dC XkC Yȵpm!P 1` 1d#µ!,B}ZC6ĀE6ĐE\k׆k C>r!\b"G5kCXµ!X}pm!+VbȊ;3LUs{H6F~4L]"ŀ>xƲ̱!yJ.2?>l^yp]WgOC6ՉuMw&}d\.d6[*)B. ÈU mAvGַخXp&8cXT.TPB/N] u!Ժ4e<^y gYr~coK*h*QuwmwBP<fCp!]߷usm] e -2n`EWC4(ﵒܝP9F)i)=.dh,0"[Ҳ#8[fش4ӎF7c-겅H_}oans62>? 퉊L ) 배Y+n)蜒[kOd{M}+#RM-+'/mߌ)i2hXֱtpp#ω|=A̩iա<_YxkܺiwTn1pd*[`mq7>qVp8,=)Pn5j@ VWbӻȜ\bȦ[*23x7P}_uM uWj]b³u_h % kj.68<{lnЄù j>%?onj@fu@CRZBJD{N x-}Cߍp@m$Qھ™iCv;+NB#ĆČxedb8>9NB؝OP5(!D>jڌNjitx38yB35'~>t>59_uxQ3yέg?~śgXL◲pYgި -|;Io^pZ9 x컳"}O,{­G5ajV>4.Gܖ&Jj4\?f%K7k46~1' ۻ^du6e:whp4|q&|ߍχ]S}nUz4,AXEY96Om?핹\(H'.KCMjl.p<0>r̐|^ hzYNMkeV PM SgUpwz÷z['hRB@q*';N>7\?kExk {As4dTHHXr~f94{QXBz] =9dĒc. t`=ruwźz!񂟝& 7WWo6/tS#AC6N Iƍ z h18Hs%-"2H8^Hfq9:0<W`뇘ڽWр-2M$ÚC4gyUԫ^oyk3*\8l[ D3Rs29zN@~ݽ77n -ꪃA+?`qiY(逍k=?/\ħ#)#_J2V79}ꐱ=z^ ]KN:=]Sɲ)wvpgBe6R-oW9cVM}Z7-vW}xIf>"Y=*Z$"9 p(*(C3rӼ:g{ -~Qc_(";C!dJgldPݕQX^,Iur0G~}+p\]GcIS8ORI)7{ϱÕWC k!sY=Bݔ'xK҉G1,^q[z#H|ۋߘU[xˆ#}qup^:^oz -zݙ e2%SF"Q v S}\in)N1cSԼmSo_ ŰYh9ԭ}+7Ny).G6 !1(8Jt2 -aV'}4}aX!:1~iKq.j_PmۡPGCW@ISO8ԗZM_̟P2Ku8B.$T25B^w] W^JٌX!_۴ ):_7?ЈaV'y:DJ&1M(ѿ#݉,PlCJjush_uA治`.:[,1>CIlkcn2$)=&Ukꠁ -Ѐ{mE3B RdY(@꠶PClRB#:bE.SɑSU՜chR'8o(oB9|Laڅ@Ӫ}mV]C䉄IITfy?uqk(9M.l >e^b64\/;c3X0W\US71+b -Iqw.5q%"fЭ C90Mqk?ml:߫?4sǓt,wl}})~ ~[a,t{0cb!2ϰ&ZS >χЛqI݌Xwox^¿u -߾|c?Jendstream -endobj - -37490 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37491 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37492 0 obj -<> -endobj - -37493 0 obj -<> -endobj - -37494 0 obj -<> -endobj - -37495 0 obj -<> -endobj - -37496 0 obj -<> -endobj - -37497 0 obj -<> -endobj - -37498 0 obj -<> -endobj - -37499 0 obj -<> -endobj - -37500 0 obj -<> -endobj - -37501 0 obj -<> -endobj - -37502 0 obj -<> -endobj - -37503 0 obj -<> -endobj - -37504 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37505 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37506 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37507 0 obj -<> -stream -HWnH|WC@%6;Mx3 vƆfsN81b8YZKÈ{ZXd7½po{+[ -w½p{/{ }W}W} } } }7}7}p{Y J˱Ef@k9F,cZ1bI#tϱ{ZZ1bcZ1bcEk h-" cEk h-Lj܋ZEh-Lj܋Z 5[dcĒ9Y#t1bI,Z #p/ZkAk9Y#p/ZkAk9F,^ւr,@k9F,^ւrXhXdrXh{Z Z˱E@k9F,cZ1bI#tϱ{ZZ1bcZ1bcEkh-" cEkh-Lj܋:ZEh-Lj܋:Z u[dcĒ9Y#t1bQUU[7@vH'XZNh9儖Z^hyV*UJh@Z5ЪVFhVZkRjqXRctXZZhiZFh%ro@9v< YB cZ"ccؐ%@9F,%ro@9v<` YB cZ"cǣӐŵ,=Lj%8F%roA9F%roA9F%roA9F%roA9FG%roA9FG%roA9F%roA9F%roA9F -%roA9F -1bI-сh;{сh;{Qh;{Qh;{&h;{&h;{h;{h;{h;{\jqXRcZ">!/:]dmҪŽTCG*oUڔe~rɮ)#!XSҶj}}6zl'C6N-Z+5u/>m8)ea?lѩMәYU?jwM]gOYՑ\Vs>4jrGUMwau_*=` ^/[zf w]'&rzv ^P 6=`sF]Oи?YJ`^7׶hӀ37k qI*Sw~3\ - |ޞ'zmm׫jݩY7 -;ԯrNjb3׾p);N<ΗkuK8yD|pC7|Xj췫~5ߖ5]zVoX:HVOUͻM-!_U?Y"2rکz u:$?AeJgJJ|5.ƅ&i^<ͽي&WjFMT -,О\II[v/@ qʎIt馋q\1N1Eυ!$YNXڣŢ'i4*h6ʹOeǣJ蝐䒠狣v2wtwEꆍϧ2]JYq@Ɉ]oK Yz'#'o/ifsz>$*X$KoȱssPrw8x,& KLp|$p -2 v—$ʡR 0,ƻ*Np6=;ekG&Oj4A^ƃosBtkn3٠C奀3 a?+7Vaeyu$3eM\%um*&nLp=!hP ne]8v -~15dm -&6%8\mzȣh$< lNJ(BM' -z10Ue8)lxTS;}$!sKGAӾ1TYSW '`n& mΖ5n;ӵR8/hCR߅݇-8G5nbUZ>((JNUІ_{cmu[-%%/БVsѸ^S-;+9獃<>ńnـ_0n۬e+.R?ؚG*Sk[$KrTaG_1TeaN#T[$Aߜދ줎uR\'p8Gݐ(#CJ/&yU(͸MkqD͖ik̈́8lֈ(%*:F-J}oqPkOw? -0B_endstream -endobj - -37508 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37509 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37510 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37511 0 obj -<> -stream -HWk_1"g9@H`#vE "qwHJRE{c%{]( /3gf!ūN}ջo^H=_ -ZĪ4q:):]`TUW}*_ڕ]SUSW?| ^Ua>:eTqpH*MF*vu\wվV'6Bk)>ud݉rh& m˶'E"qh3 -c/_E|~AH_[u} -rhRq fc}'O s -S>ܧ}*OLp1>cs}{Y#b -{Kh-ŐS Y=ŀ%bܳZC -R Y{Z+bܳZZ!KpZkR Y{Z+bZK1d YkZ!KpZkRl8CwO1` {!R Y{Z'bܳ:Z!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZ/b),CwO1dqZ!KpZR Y{Z/bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%gBk),=kZK] {Kh-ŐS Y/zDY4QYՔ[u^Et ^Ua>:eTqd=)F8֑W.fa i C~]r)ނfadl"0rm{vc͢E`T'^G= sYdL6U}z"T?vz]i֛b: Ҧ|F=qͽGG8Gހ&mG8b|; A~ZCu(8A&L>׾iqS?Ikzq|?u:̈0Pp0E@Z~.Os~Fgcs\pi"lt%|Jv)c΢qFMa8Qp\'޼?veՌq70I}N~<_23" !t;M~N퓧I&<2K9o9zaixlac$4/_Jdᡓ,S$>":N3l;Ja:AR+cۮYu!q.Pmv lBm+`Zu!ᅿ{ӠfWu]gͺ[i?d!C0_uGa  ->ey+; s󟜟'Vla*<"=>@< gŐ ,-ϴV,hL+bZ JiVʴRA+eZ1LʘV.hL+re#E1dq-ZiA0-+hYe-{+bX{!KbB),A --{+bX{!KbB),A ŀ%bX{!KbwB),A -{'bX{!KbwB),A -{'bX{!kQ XB),A -{/bX{!KbB),A -{/bX{!KbB),A>rO1dq-K=Őŵr/EpUFU@^2yǪ^oR]R_'/zȯN`[c:1v^(8g:}m97~W×8xe db[R_TеNuM۪.?y"./x -^23Ք2Pzo~|Kzj\. \Ew>YxQz0R߀ltģoU}nUW6^ujpbO[׶by 3l\\? K =S˽ʥ`{h`rY_+mԟ /9nIVD+:gmOmVhƇCV.Cx&nEQxi!#eJ]TEꢩF 8UL~5I{N{/Xa%`eʄV`%XauV!BXŲB,i Y6',,OXXaxo3mx6axo3mx6axo3mx6axo3mx6l&-ʹEX}$L[GʹEX}$L[GʹEX}$L[GʹEX}$L[GʹEX}"L[Ȳ6axo3mx6axo3mx6axo3mx6axo3mx6axo3m!f"L[*U)%oa~$΅$: M?O}/3`WEsU._ݺw16߻qmO#]]%4iB_V\:x(oO \Wn5mجܺ_d_Wi)OiU>\l& |W$)/ 'ۖ[?rT_Ot |}*!*49\"g 9WM7ϼ{0.\?O&ʍX+[6WpZQw9հy:-WwtZ|aa<(,·l+vޫVqd!YUk^cY;8m?c?DjsjK6l8&y.t?_ƿE`oߓiT4 -i+VV"LXX2jVZ`#Xau*UUXVe3m!f +VV ,>m-f",>m-f",>m-f",>m-#fBͤE {iH {iH {iH {iH O{i Y6f",>m-f",>m-f",>m-f",>m-f",>m-dLZ{i Y* <_LvT8Iwm;=7lwc_=SoB}NCL taӗݰdn2C?q,Y& u里Űesm77gendstream -endobj - -37512 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37513 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37514 0 obj -<> -endobj - -37515 0 obj -<> -endobj - -37516 0 obj -<> -endobj - -37517 0 obj -<> -endobj - -37518 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37519 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37520 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37521 0 obj -<> -stream -HWkoF_15yI7A_(dNZJr+ޓFB̙9C/^}/SzLB7NQue oԶ~ST2*;vl\mWFe|6 qRFM=6̍./jz~~ߎ&NnӜR EЂ/B>66IV@e3[QR>/7QYUa|T*.P* sѥ$KNDZZF,Xܻ<"F7-po{ [Vwp{{^++kkkp܋jPZ-3Z1bI,ZK{Eh-Lj܋Z 5,Z 5#p/Zk@k9Y#p/Zk@k9F,^րr,@k9F,^րrXh2#tϱ{KXdrXh{Z Z˱{Z Z1bcZ1bcEk-h-" cEk-h-Lj܋ZZ-3Z1bI,ZK{Eh-Lj܋:Z u,Z u#p/Z@k9Y#p/Z@k9F,^ցr,@k9F,^ցrXh2#tϱ{ WU߁Ƚ}-{r10Z"ca.8F,1Z">!:_f|2Jm:_E*x?j^jظwyۍL^feMh`X>.GY9XS qԮ)Ԧv8qI4,S]Wϯ ئ(Olo`q{HnBJͧzj9[ϧnh:R?LG`:S4ӹ&Nw~vnmվݾg7LuW}Fmg2lރo];Nn|7摺↿[!%-v ш+tKjޘ0ĺJޡ\M\:ٚ4%~Ӓ;g6tP>}b4?9i\ .K}4LK틟<ͻ #M Wz_[leӖvիgWW'kݖٮgwj~A[&0\_o^^o࣊p'c3$~&1N[/{/mכּ!#nWq:I>r;|RLvg>0ƓMz8Y?R#mLjKh9儖ZNhy兖Z^hU@ZЪV jUZh5@Z jVZAh)Lj%8YhiZheȽȽȽȽȽȽȽȽ" cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cĒZ,{ h;{ h;{ h;{ h;{ h;{ h;{ h;{ h;{ h{{Kjq,@9F,OƏIv>ojrç;H}nL<11~klӝE Zh5:u‹eQ_+lcj΢R+E!&ACpd iW>6&#z;^tilq6RC^*P.#kRF[Ndu - ֗% 'fU~emԑ]CĨ`sN,gfS8uGkm/FaA֪?e0i!Y$g'gO G{"ώ8-V__0ֿI3k)Kkߕ@΋'ںIwQ{\Fh3W&A\$z&u[τf:W5v n#ҒSLɞ%η&iMrVr血9$tX!F`j}6`͗Dhi yK.A+9WF.XX/g%9>|UL(Sj|P`^*OSjТ6SK*C;K#w*d?u )10F1b$ xh9&1`b1, iWjCHw+IǷwW&aendstream -endobj - -37522 0 obj -<> -endobj - -37523 0 obj -<> -endobj - -37524 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37525 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37526 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37527 0 obj -<> -stream -HWkF_1pXӜ'9 !awŜDmHj|C{ p8)F׿m~^e~.#.QSi0*6FUjL=$Z*yj_S?z:yF=tuz?Y>HPC -ܬhnIƧz}X>ͦڪWg~ywqvM\vc_]u(N<ЏMzV:S?{c*6ƃpV|_)'rN$YFr֜E0dyEkS XFpo{#7̽[ --sow{;c3^p{/}>s s>}.ϙBp_0`>2Qp2R!CwO1` {!R Y{Z#bܳ!Z!KpRkR Y{Z#bRK1d YjZ!KpRkR XBj),=KRK1d YjZ+b),!CwO1dqZ!KpRkR Y{Z+bRK1d YjZ!KpRkR XBj),=KRK1d YjZKH-Ő%gBj),=KRKCR Y=ŀ%b),bRK1d YjZ!KpRR XBj),=KRK1d YjZKH-Ő%guBj),=KRK1` ,NH-Ő%guBj)vHZ!R Y=Ő4T] 7:y^>#ARBVɪSfP4 -ujTpE_oLJOnͦl񽺯kcoonzw4cF0y/NT -ԳJ?Pqϴu d(rcZ^L ZiA+0 h Z9iV -A`ZQЊL+ -ZjkQ Y\bص -ZiiAK3-#he-VF{]%i uO1d ZPKbX)v4,%=Ő%h7BSC.YT -uO1dq-a'hBS >Aսb ZPÎNbuoj{+=ŰWX[)] -uO1-VV{a%hBS +E1dq-a$hwBS ;'Aսb ZPÞHbuv;{'=ŰX;)} uO1c-VN{a"hwBS ;E1dq-a!hBCџآ\(c4fЁd! ql3Q? -Z4GYBaNͦM:Mxڗ}5J̽Ѭ`Cت&43ʶ-=4( -.i2|afއzWW՝鮯+)mrm&PwӚr]_݋^+ E.{ -ި3k>̌0' vf7n /=]%΋$WsBL9VP^6a2t=y8fVuMw yXM6f'6|a,lZ#}Weɮe;9:qEf8J=hN k|_\j5^Nc|Ӱ?&cR_h}-TiQd^ rFŌzY,5G|/6n5uCd3}V }^s)5|K~^nsCvWS^[S|ڷ6;2rJ4qu_mgӟxӋ|z5Y.v6xzX5?ۻqPߏײUb5p{lNmw;tu3dӵӡjxoM3izA -*ն&ūC05iA zo7Ԍ㲛e\vWo@^z",[UrofX:C ~7 uLRY>Tj\,v=6=~K-?^`뀓_\s̡E]W VOr+[.0~fv~;快q4>y.9WeWaZ ߽0O.lϧiJXm꩔~$\'O;e+ '\ju׍%^ mr7#8e~gyw>J˝3,⫪> b..-3SdxڶpxY$J*b~—9KEx/k -ܖF:V|E yKʹtP jK?FtHcq N2IU7qW^.7!!tN$tPMѶIiڽ[~=xv]yڞxg.X9)ҞIpr:>}¨ՏzICyDSV2I(J1O5\q/sZ.jx.Q01tM*k=hxi %G#h{#iHvf^G}Zw`̇ -L06H󱭪*.eIӡ=[&&'˂N{WɰZz9ePn.eL -o$'W{Zl^cb7eU\Y[>/U[Agvi-JC"5:sˈiՐKN/$%.He_㘰?PR{a>ۡ} @-Qlb6bo6q0C;Gޘl 7".3"[M,<ɥgsm5C✃Mv 'a)bdM1ͩ>ܚs/tb.SG -9GIs2V$1LBo -D}/+tݗImHI鯟u^ǔB2&1H*hFMDhbNjIn^;IP8 0}:$ ]R=Uok #;58LVY:`a:L -Oj}CBU.+`gVx8Lx'f q~o᥻_̇) L$Hb7[g#0h`!NkmO^7n~:U,KjJ~\,ϩ)- \TI+3dh -' -@\FHuʬJ6&{kW􈿅3"3VR:z]nQ8 GHn:}s;.QLG7F sTIu?y|H+4[³ ,$:F]mhD -{ %A , & P/yvm"K$q&dxpʞjtW姻ߢlendstream -endobj - -37528 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37529 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37530 0 obj -<> -endobj - -37531 0 obj -<> -endobj - -37532 0 obj -<> -endobj - -37533 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37534 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37535 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37536 0 obj -<> -stream -H[oF+}xŽ: A j`+Q SIL)nZwekfܦE8Eݙ5n" ^JKJaIYȴ?IȏUrO={2բoG5ti]D./(j2aF7 -[2z+[Fz@=g^>3F }s>g@_0B/}=ˬBKubR-8=%j]jRKYjZE@RkR ]Bj]=KRKYjZKH-բKg5Bj]=KRK5t Zt ,FH-բKg5BjNZER-8=բS ]Bj]=KRKYjZKH-բKgBj]=KRK5t Zt ,VH-բKgBj.!T. -Zt ,VH-։RKTCZEZtqzKH-բKguBj]=KRK5t Zt ,NH-բKguBj.!T. Zt ,NH-%j%г:!T. :Bj]jRKT.NTA:_'Ϧd:ՠaLBom SeaNFoz d>Z`|j\%:\dž[^l4_=~ l||nTY$j;ժF<}s8mG,g1g.T֪VJ.ۮb6>, -r-"SŁml?mg/ffA˦Zeۖp~ ԛzW+ݻ -6 `}[W[8cE_wj;wq5<+ IQi(*7ێe*YUw7 -uXG@]wsz(?w/0>NcppY_=''X5͇h6wfSwucmPvUVF+GȜ*ǘ[wJgw/\,f]Ɨ^OJZgpW -arZNm -ny;s)&; F|[֛/lLIY2?y$,L:T7 (7w<8菳[.O /׏)BjU :#2z\/~]^ӍΧL f;:W1hj]3|)tSwݴ8/M3Z~mpnvqSVpӴ !v}]̫7 b⟇wp. w1^îD3n0\7BVqjk,t(.!2tf~A{ܰ8IHeIQ7}biy=$ 0zendstream -endobj - -37537 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37538 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37539 0 obj -<> -endobj - -37540 0 obj -<> -endobj - -37541 0 obj -<> -endobj - -37542 0 obj -<> -endobj - -37543 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37544 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37545 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37546 0 obj -<> -stream -HmoWܺ@!1·& xݠ`+Dz)NR"H,>:{f类W/_~;W^wiRSiąS>S>S>3>3>s>s>s Kj0\FL-%s-r\2=%s-r\ Zk0\ .0\#H/ր@z1L-ׂ L-ҋ5`jF.^LS˵S5rbj Z SkrmY0\#LϵS5r\#LϵS5rbj-Z Skr-r\ Z kZ0\ .0\#H/ւ@z1L-ׂ L-ҋ`jF.^LS˵mr\2=ׂ L-%s\2=ׂ L-ҋu`jF.^LS˵S5rbjZ Sr-r\ Zk:0\ .0\#H/ց@z1L-׶Q -k\`jF.k˸,KrG\+ *luQYVͷѤ^䩫{,ws}N>VjwˮO1NUjU Apgf=9;|Yi$LyvC%-8;\?3X9p𩦥ں3eF,XNRJ+T2+Lr+\ -*BJ*L"Y\#dq-4`iҀ,Xk,{z5rKހs\%zo@F.7\#`{sgY{KF*`[{Ѯ -Xkm%zoAF%`[{~ Xk9m%zoAF;!`[{N(Y\#dq=w\mD=h,{z5Kށs64w\ D=h,{z5ڽKށs*w\JF.K%zVo̸V\(lgJ<.qG}&mte60gh?n K_~;s/wo~~:)b,mG er=&*|VJk.&m.ۍZlUYnjov l5(W[O?ߞaN韫Iɓ_Xn6o7my/>OH<)–T/4 ixN;m4?휻o9~P'WI~sZw:(԰tEGCإ;uRߐ\(w -MrS،/YUa|Nՙ Fvӡ&y=N/7XNcQUWW7~tzo!N=| c?^2.rRJ+ 2+r+ -*J*,H%Y\ . XZ4`i2eKހs\%zo@F.7\#`{ D =Xk,{ z5rIׂ k,{ z5rKނs\%zoAF.\#`[{ D-=Xk,{z5rIׂ k,{z5rKށs\%z@F.w\#`;{ D=Xk,k,=%Ye\~C?y~Y=?Y0&*Ֆa~Q.h`Ď_k"]`u߽I]lv/z}jTSmz6ܾpqEU|1ctgUG{1flNVzƒ8,hM"6;>TòW}R[G^.m[AW͆1\jt(HGdɠh)ޙKR&gE-܏'C"NcsU&1sн>4 -ҲΧ~h# ;Wݡ>eJ;/}!\LE뫧| -UgFZ:o2:u^إ6 [vY7xo9Δ4>ևit뾯C}5)ľΖ 6wuno^akNN;\}$=h\lϴI &Yvȥ)Z{_w^ur2?7Ww;ҧS𽨛$b(< ^55t=sjaeI?fhtz +")}}l+sK^kVhÄ+0`9q-W 2+Sr+W -*PJ*T -*Ū,j̸Y2,XbYeKyo2`)-^f,ˌ[{q x/3ne-R[̸X{4Kfˌ[w{q x/3ne-R;̸X{Ky2`)^f,ˌ[{qKdF-̸X{Ky2`)=^f,ˌ[{q x/3ne-R{̸X x/3nį4J#!=ܼ٘{h qуERzJ0}{ៗ9 ,/jfߎYyyWS{l'/~:XoʗKS襞Ӭ|U~LM;&˳UYn0Db|dUEUg6;Z}wm?k_0zg7LaMw9|Pa:h~Hlz ugC+b4\Ҹ9nO݀y5`[W. -q.O{Zovw֔qLQyĕnE~ŢH,|O>swQ\]jV\]4,)=ymncQ;y~'m| o5g=.{ý`yC3\+}u/0ͿuS&?q-W 2+Sr+W -*PJ*T -*Ū,j̸Y2,XbYeKyo2`)-^f,ˌ[{q x/3ne-R[̸X{4Kfˌ[w{q x/3ne-R;̸X{Ky2`)^f,ˌ[{qKdF-̸X{Ky2`)=^f,ˌ[{q x/3ne-R{̸X x/3nį4J }qH7 0b*4G4LC&tlK7CG߯?}'Q56Ӕ7WˊB]K2rapCh9EpmxN}tut!4geyn=n8] >:7xۈ }G4F#vu¦O~+R$>endstream -endobj - -37547 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37548 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37549 0 obj -<> -endobj - -37550 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37551 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37552 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37553 0 obj -<> -stream -Hks6W`ƕ tq7ngx2((WxDw:;$gMV{wLW޼{Håg_e4OsVUΊDDK>I5{.lWٔf/_{(7l,o5l|xx`y9"e^o0Ieu1f˂PV~[|laYjYxg׏yq7^[|xv@/I.w#*KN0Eݞ0O$bnjG:qXJʘBZ,AaR"ܫȽ"ܫȽ&Ƚ&Ƚ&Ƚ!ܛȽ!ܛȽ%Ƚ%Ƚ%}JO#)>;½;½;½g,rȽ'Ƚ'GDhHZ*v5b-P{*v5b-P(H-ERb ("X >J"R@*"XH-ERb-P(H-ր"R@*"X >J"REb-P{Ekc-P{Ek"GDj(}ZMk@ZQj5ZpVPDj(}ZMk"GDjZpVZQj5Z-Ckc ("X Tkc ("X >J!R@"XH-ERkb-P(H-ր"R@"X >J!R5b-P(H-ERkbmX"X Tk@ZbX Tsat'gflfL*S:hVT'3sUu1TEC*ْ7(+66Ye4%=g..t8\t۪(xJnӛdǗbVVw۫蛚T3ybHxP6~Ϋ(fӝQE}a}o=P<sĘ"O,^|᧜=MV)ֵi}M} byjak}t+qe>\h>|V1(yIvZf%=W\ˤo;8Û}+V.;Pp\Yѻ٧\waaq׭{F%< ^[}ݭth.ж^暺MZԤɬŇι9OI6@ZaܦGl4}R(ikNKvأ`cоcd_H l]3h. ݃<Gz} _hՓ3W?e'Qك5'aӫk~~M̞ˌo?_^݇}{iceے=;uݑ,f58,Ňe -~{$dq9p[|@[TۚlZn>VsJӃO08te_'$)i%K3Yf.ިckHN̫xvBeo ݽ:nhr8̯Y웺 Lmр6C[WE^(,Ŭטy [>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37555 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37556 0 obj -<> -endobj - -37557 0 obj -<> -endobj - -37558 0 obj -<> -endobj - -37559 0 obj -<> -endobj - -37560 0 obj -<> -endobj - -37561 0 obj -<> -endobj - -37562 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37563 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37564 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37565 0 obj -<> -stream -H|WmoH_ѷV$~;R Xw'Mf<ɰc6vcyh&e_4yݫg&6/^<{$>JJCޤ2kE5M۬YC?WYmfњM -ʚTIbS4M <՗-hqjj:vb(OϘeEGNdS#u3i|Eyn!n'_ۺyb-"/vHszGsȚ{YBޘOc33AȦ$.( >e*9攂N$,=Ĉ$%0f%'6/1bY*ʽr{;)ʽrrrrrrrrr_r_r_r_ ( Z+1fi#hĘKYڽĈZ+1fVbUk-hĈZ+1fVbUk-hĈZ+1fVbUk-hĈZ+1fVbUk-hZ+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhZ+1fi#hĘKYڽĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hVb%F,Z1K{soB,+5q~.^JRZhy偖WZ)JV -RLie@+SZ9ʕVrUBi@PZ%*V Jec%1fi-e h%J+ZҲ@*- T-Ƚژ@%,roA%_,r/1f-{ r/5f)-{1 h[{W1Kj9{1KkI;@KށK;@KށK/2@KށK/2@KށK(@KށK(@KށK/@KށK/@KށK@KށKZKbZ R  R R R C>R C>R ;R ;R 9R ヹ֒ TS2*қ: ^VqU%&1<(wC'(3YZF< >iQb8<~rz#ɾ2 tUs?6u33iok3ɦPߚi,?.̸"{3٣fznXwi7fW/>k=]%f2uӬ"gyY"]\t/wj;NucϮ6.ó88{{>L5~~px{hզ5IcV#f\L4{+yYN =7!={9ٵ91之^vlfz8wx`HW1f\Nz=_y%yDNǯ(2`v2?׷ ,IѤ<\d$OM!3O׍YŊԴP6#yrˇ2i _e5/$JA.f^?uGV\l#?O -y1nFfioŸȧSgݯp!o{6/.5"jvEr=L'夭7v15ͭsY.vImz6Gl ͚wmc]c溙4e٘<մ7fњɲ'Ef=bgv5qF|\~+ˍ!E[Ӳ_K Lз7"D /^m;}J5L iL;|Q€V#YCSOfz8o4=} HxW߇Ϗ7]Ə{ȥzs B6> zP~-58qAt}Nv+m']ouaZ^Sr=jz6fJtڟKM-ު-dM)H3y?ޣwapμԾx~Q=|c =@vw mGNyLYgÀֻzqF -8,p^I#t[۫lwJ!|ْJRZhy偖WZ)JV -RLie@+SZ9ʕVrUBi@PZ%*V Jec%1fi-+ZJV,вJ-{ r/1f-{ r/1f-{ r/1f-{ r/1f-{ r/1f-{ r/1f-{ r/1f-{r/1fi- ^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ#ȽĘT=ȽĘT=ȽĘT=9m |БqE&!6it<YФ*RQx@șA%Eg2y2yE޳Lާ{+#k,Z=}g2y2yELާ{k)+Lާ{k)FyAa^wW؎+XOwtu+Q|tx[{'P C,dVR@gQwɻaC0 ٸ;T Gi`i<ᖣra#ihF_F*$Kl t5KqC{4jR5jt ÿRZ|(E.I|LZ1L3&Cƻ4Ϣ@ɞ*nQΧ4?-fp4O^G8s9-{/B3]0H@e!IӲB-E(*A`qSk'-ro[?ptSi~s/``Yq!YR@_or7dyWڮiF!M*"b$9<4OɟQ|@szIF!x$>"ALjWf@Oc?0RIM1o%qҪ^v:Y=\?u8tVWjݫ~  +e;|p VTUaLpO2'-s!q7!5jJg -uM)iCܵ}s oH-!D?9AkGK+i\.;PMe iaX409"6K:4c3 /\4'oV[ٌ rL$dy-Xzi@*uY1'D2h_pk#-fh.{(e&<[/7YSc$Fǜ9-24Z?\T8۠aAo[3 i<ÇeX0L*Cqd&0jK]A Jсn(iWeHNpSt> \Gl$&2Q A_>L{%0V Tz9t(oNkm)툽x=ƳIUjP~8] -ꓹ-Íq7뫛?>\!Iendstream -endobj - -37566 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37567 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37568 0 obj -<> -endobj - -37569 0 obj -<> -endobj - -37570 0 obj -<> -endobj - -37571 0 obj -<> -endobj - -37572 0 obj -<> -endobj - -37573 0 obj -<> -endobj - -37574 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37575 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37576 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37577 0 obj -<> -stream -HWr6}W`/Ԗ Dʃ8eRl)g( 9KR_!V4ΖK̙4<{7ᇳ7_`g/ bc$OKɵ`Mʪ bAJRl+ۺ)wEהk֔]Up?IU`!3,2a*Xh}[njvD(\|\>0A^b8fWV7+4GFl#.4,e Ly`1>88Ő?ŀ> =}.,AzAzIzIzIzEWzEWzMמzMמzMמPxB}O >%ԧPz3B}ꍧ=Ƅi]lµ.,_p!Wbջ׺kZCs \b"\b"{k] Yzϵpp!PVu1d= -µ.,µ.,BZAŐE\+׺.k] YzZCŐw1`u1d=Jµ.,BZIŀEŐE\+ ׺k%ZZCs$\b"{k] Xk] Yzϵp!PVu]׺|.,µ.,_!Wb"\b"{Uk] Yzϵpp!PVu1d=*µ.,µ.,BZEŐE\׺׺kZCs"\b@u1d] Xk] YzCpcb ׻*8[ş*z8c]NlN>^O,)EҌİ(8=YkrI!JɫnY@$7d=6,imļW"paCxچWMY]/0.;na$]Qu˷&ʺz: ;x]ln6 !5(1Ib [D4@,H|(DxRgbS+.8qEd#"̻b*ߕ|: ew3 m$8ZMxd_4m!/3g{[wŴb>..fR\JTE{x|F3 ݧV=tmJ&EOJs<8ºU uñ~.e7: ~ \?6J(}_OߌŁ,|6I eP^'"q3tqeYUSefFl [Q_u]u!ۭu^*ߎ֙Ֆq -g_K@}5`Kқ\zZAk%1NZ@TUE~Zp,Y:Ѩ6h M-JĒHl*pC_eue wCke&;gNby͛uAʅb Gx -HCkkOxBRY̲_Vkt#^ EnʽET#NAg9S8RyVޭS01HRsLY k(Mc.i]1k\ ^T@9.u)?KW,H(phHD*Ɖ $ķv6,g>>*la=DصP^ '8a&e< d61#eZc6 |,,^lgBy$P &#@JYa@0+,ylSրY9\teջ#*ІEm -ny $bI:_ E,|*II9V0Wt_Kl:m#g%AoMO!R90LAsIRU䧖My709uUؖZl.'09dFMq[5.]^VH/q;ShP l -eԄ3]w u꾶v0 -l)ܶ;jpd!s}ɹIXA6i}E8I8*t}h;&=;*2aNy06i9{yl2tgiCp8[йJlHjcv'vzTb-zME-6[?ۂ|3}>do'N)M~MU1n^>QhMӡOCXi*tM<-'O<AA^C"=iKL4H̺lF{ v3fvcɮ@U)}''XŷBk+L -v[16U;4tكs0X^r rDak?^"T 7֔`G=Me:Ʃ;iꂹ{lB6_CfqӝCuCX]'q>+ (SPM}6b|mj -eĻORet^} ӹŐK;]Y;%v;cT:-2.Cַ/7{qNu?lSF_8ɻ -t'R 0-b %fߵCIXiw &ިRmZjb4v 5*!P -\qY2B*W!p \q91./py.ϸJd\U2JW%pUK看Źh PJRK \qiK3.-p1kA4(^ 1D \LZ=!Jbׂi QӽtOc{Ct.{#Źh Pi QӽtOc{Cto.{#%p1A4(1D \LF=!Jb7i QӽtOc\4(A4( -1D \LV=!Jbi QӽtOc{Cto.{+%p1[A4(tOc\4(A4(UeUU`ӓ&8_̫*/?4|=ԛk>b)*r -\.;,}ep܌?ni?>j=:F?\硗G>S=4G@_}g?gNUendstream -endobj - -37578 0 obj -<> -endobj - -37579 0 obj -<> -endobj - -37580 0 obj -<> -endobj - -37581 0 obj -<> -endobj - -37582 0 obj -<> -endobj - -37583 0 obj -<> -stream -H\T PWfQi2a&GHA ~W$F`dFdX`lID TL?ą(5,}=QSkW{9hJF4`ŋr&ͷ; -Imꎤh%JĎX_2e 4z*rVEi驉r͙ovۋ鲖mrrsnGFve\V:(qWy%;H"9.}b( j M)*fSԓj9E$P GM\M:~Vrh,"f5mL{MQLYGF$' Ќ `fur}e`^ 74p"P!`[[ {-|ϝ@[jLK2< ϒ e2$@188%v!*J1͂42g oҚ꫘ cn ԅ?|WW8Lja7>qW/J=ï|(w3hx_ -^0=\h]SΝ&WY%uqs8V7@J/ Ml5HpTH!q;k -.mOnoQ,dlD4η&*Xv>yI*dnjَ -kO#ɘ (CXR=aGoZ,0_邨wDH6tv?)KmtHg_ W@րG-\~k>* T7LʱbfƄl9p2ֿOT74]r -mR}-K-,dl~DLd ;!; 9"#yᴤvm'IEWaE+@DƗƙ9Zh@4 ~vhױ l"̉ v Dπ< $]sdX%V1{v9fzM#DO}Q|O]SmUaHUN*'ET_?_q_?rβwH޻@w 9DiFQ {CadS0@F2!=ϓRO=)/7iŕx?Tc`9.f ΓA-cْW;ty -/ɶZFUBã&?AR&9_M0uݲ%%jpFnSGݦ6ΑnSkO A#P?)8 3VLxL0x*%Ƴ(K|[BaF%`9~RLۮ>б> -endobj - -37585 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37586 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37587 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37588 0 obj -<> -stream -HWnH|W4^4Kflg0"80h#qa}э9AFJجxݬŋ_Wo^'&6d6 }V:S>+YGLr%ffξWzhجg/I^둽sƚ4Ini6EVU~1=- -3#ۺ"'?0;+#SlfӚ+WffѻP\Cmׇ%.߱oF? g<W|I/3Wp^"'XHNԜ(86$1f$F,k5K`*KzVp{;^W=p>A/B/B/B/R/RJJJZZ}T#p:kAi%HhĘKXcv/1fi#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu[$Vb%F,Z1K{ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZ-Z+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhIZ+1fi#hĘKYy64,cZ~ KiVZAi@PZ*V JURiU@RZЪV jUZiEVZQj\kIYZKb<-,вJ-Rw 놵!KiKY@KށKÆ,r/1f-{r/nȽĘTȽĺiȒZ^bZqh{{T=ȽxZ*^b<-{r/1Qʽ(@KރKrA%R h{{X$,%1} @K>KGr@%ƣR |r@%/@K>K_߁}-r/1~1Z*^bb$,%1~Z*}b_x%ף5֌I g)"`ŕ y^$::#ω,u2߷lZ3]6[-:~n̷fԚvZ#΀?c?4yܮt'f5ٙvNl9i5fhpU;ግoֿZtpv:bUnN\m^6FNp$yVqew!P܀4[?޾xl*f#?>3|kw'9^QΖ/:}6L\eݞ̞3oukf[ miss⿶wpOӆE~lG>UvC|?O~pO$GD^ wWLkVoV>h.l]irOKsNui>vfti!n|gCF -gJۧO[J -yc:Ugy|d֦j YOrGAg٧r GeXgnh)坁3RKo|><Ěn`U3G?6Qe x;W:W֖;ty4Ngq:3c˛rnDyDL%d~w$bݻY3cO֜{zǦ;;Φz6}Zp{|fM'KLeo/ ^]ꮷCiv<-oӟ' waptdhj^[ѯp#?]vNfDvIÀ=L:%az="ŗ -B9ۭ xL[@J}sZxDW!&ri -cV"bPQZH 5}3w/5gT5㩩لa 0i>4Vn8ǿEn#_ oOco$}Ve 'EWO^o5Dt~ -{._0a7*t?,!v%!iuAV4܎׷ŀ X+JKL;oiV.Yˠ4](;GۖۅAkeSN,T3)VV[f88bD~쾶 Iq0bsVfֺ^iװqU@z{q<MRɖ wp9P[Y&5"3lUS񌌞w3yK{RUzYrPvÚ!RrsmUiQSXD&W(q"ߡR?MA,͌V}L;K=BW#zԼÚ4ACgT^ӹo;c<8,Ai,Oլ;ՍW?6C-P0KLLv7-pDLZw - -ZTaD wɠ%&BCtB{oMyKv;2Gt e kL+%I7=NbͭM=]1|AÒ&1Pbo},g.1/c -0$ro$Y TZ|!Va+G UlVQJJe^S&DXLC?n=?|χw 0endstream -endobj - -37589 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37590 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37591 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37592 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37593 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37594 0 obj -<> -stream -Hے6;)5ƀ8@r=uŎ7YR]S 5#x~xP)q\)Gvkncϟ_G&؋~bcR3cO$Kōd,`Qr]ϖw1*&_eM>g<|}#6z5.gb1-"/1cTX6[E&/문ag҈ٛ81}1eqFq(rWtRp\^" -j~+Hqf``/ I{9p -WK&r3.dbb<ǀB1O8c@IB KB +B -+B -+B -kBkBB B B '$P@}JO)> ԧ4Po 6Po 6P.Pgc´8$ZTǀ"\c -㘧B8Z>p$\c"kq (µ8)B}ZIp$\cH1Oq (µ8P=y*Tc@1O*µ8)B}ZEǀ"\c"UkqSp-Ep&\c"Մkq (µ8)B}ZMp&\c1Oq (µ8P=y*TsN3:_EflXfVQbx’h4Ҵml)අ?z[R+lZJMڄ∁u}Xnp'AmQSDܦ?x}Vɸs?ݒ~Ѽ ל)tZ=b=<엷x-Кەܺ$nxL1)7~]Ȏll,)F5VRZVqٍ?8\T] MVV'UUolwpde[zTeMT`Ԟaz=B'kSoo .ɌI(.oh mޙ -77c{G$,^]e?ͰU?d^;[pQw9'?s>q` ]'OI4A7IHt]`ӥLÑ_wn3}vQx4Rܥp.CeJlܽt#ǥ=jk%Om5 k,/?gH'N4]v xǻ@AєJt73je̡L)MgzP>[]^ \7JWćCWMVwMU^ޤ6@EulaM\Ny61’=On@hXnjjr3m:B?R 9rA rev]nEtq m'7?~~4\%l~S?4M)>/Nl:WnZڥOuQ7)=~mڙ;lqG#} }7|ugJ?Nc1>׋TB_7 ptd&;.媟>z6UYs$ps] -an2A bR٢Cw|y:񛌪? -h`_忿! - "ٽ{ٻ7o҉3E>5 F4cFa85ҐP>0ilmu~;hStP&TÍfx'}}ğPpITľ'3mz~"C+Ԯ'>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37596 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37597 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37598 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37599 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37600 0 obj -<> -stream -HWnH|W4N}7`8b1<ā!KX%e)9IS1JXTWL~v;wxor'6d6 }V:S>+Y'3fitѾmu˙Kg&odkgiI&HkӬe;-7ksy>||$_d'~zΚd{Y{z{)lG٪z$yflE/k3go|4fnJb5$5' -ͽ"IYq#%0f%[KXwʽr{{+}r}}}ܗ}ܗ}W}W}W}}}G>*W[%Vb%F,Z1K{ VbUkhĘܫ:Z VbUkhĘܫ:Z VbUkhĘܫ:Z VbUkhĘܫ:ZZ+1fi#hĘKYڽĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hVI{ Vb%,^b{Z+1fVb{Z+1fVb{Z+1fVb{Z+1fVb{ Vb%,<HP1?P#0DŊ -J+ -U(hJZ*V*U) -hUJZҪV"ЊJ+(\$,%1րUZhY倖SZh;{ژ@%,r@%֏acʽX?`YJ ^bZ*^b4fI-r/1fi-T=ȽxZ*^b<-{r/1dʽ(@KރKGrA%R h{{XT=ȽxZc֒ @K>Kr@%ƣR Qh{!h{!h{h{h{h{\kIYZKb|Z*}brJ6ɤiY$@0tJS11* <<;|PgUOL, -Cnkwݶfvuzgvf-vnnfgΚҁwtsv5lܬ ]ϦwwomL\A񤃞_v57m6wtwpqM^,k2qM74ÕGOZgDN MwzxCc\/Y$|soGr7Wg@YѫǓGˉqKt_3gO#r{ <nNzz{vږ4vO갛Y9`s5|Y5lwf>Mbv|kC17w-ca]+X.svyzŦY =J1/ސSyn%}:wԧ9W6+aR|o"'^33k%+#>#w K` 9ZX<}9l_~ܘuO)p\^eh{Ck3&E<{J_ϵ7 픖~9%}֛>7BNj?l]ipA~$gt89pOn fuO?SK?S?Zh{[nw`;{f'wM{rg/dU:?b~n>qqq?//schwʪiۮ߯_ 6rik =t\50+\EEvUROlfX=xxXn=^?_egj w^q nN{~;e<~ UeNt{WN8>KYVZAiV -UBi@TZ%*V*UJi@VZ5ЪVZQiE˵Ę$F, Ҳ@*-r@KށKY@KށKY@KށKY@KށKY@KށKY@KށKY@KށKY@KރKYZKbʽʽʽʽʽʽʽʽ}Ĉr/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-^bZ#ȽĘbc IM2i34>E^g;֖Uz]~ -~;+qgܶ<-LƪĘѤFwsAV܎=.׳rɧx_ xtWvn#csy퇏NjE `Iև -X8x'c%)9d=I|")Iг:k;`܍_8x,\;u2%d|TJWV9/\矆qZ(qk0-7^q ,2x/4_QK#"չ^6YP/5 ֍w4{G ̛lYC%+S}cM+0S\Q# ])%#+Q -Yo!J 3 aVUU^ݹ8n t,(b(Kɴ|3i]" X/#˼cV@\q2ٷs~6ESwk, D FHn *|elendstream -endobj - -37601 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37602 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37603 0 obj -<> -endobj - -37604 0 obj -<> -endobj - -37605 0 obj -<> -endobj - -37606 0 obj -<> -endobj - -37607 0 obj -<> -endobj - -37608 0 obj -<> -endobj - -37609 0 obj -<> -endobj - -37610 0 obj -<> -endobj - -37611 0 obj -<> -endobj - -37612 0 obj -<> -endobj - -37613 0 obj -<> -endobj - -37614 0 obj -<> -endobj - -37615 0 obj -<> -endobj - -37616 0 obj -<> -endobj - -37617 0 obj -<> -endobj - -37618 0 obj -<> -endobj - -37619 0 obj -<> -endobj - -37620 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37621 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37622 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37623 0 obj -<> -stream -HW]o8}ׯ>(@B_Xt H^CZ TIڒWɿKQvt2 jQG璇%ԧP3B}Y>#gPsB}/E i1$Z9Vc"\1 -c̱BZ9>p$\1"k1,µs,B}ZIcE\+ b Xk1Xp-PVḇk%Z9>p$\mḇBZ9VcḇkZ9>p"\1`Řc*µs,B}ZEc"\1"Uk1Xp-ƀEcE\ḇkZm#McḇBsP=ƀEcE\ ḇk5Zp-PVŘcjµZ9>p&\1"Մk1,µs,B}ZMcE\ blµsP=ƀEcǘc ^f Mmv-K[F'0Y[n\Oh|Qf߳WlaբC~m}5?̼*Xg-s5 mr۸_4}ǚ[F1(yxʞޜZ1-$nڗ,3nr}h޲1%v^"fG>O!IBLa/ 5^6Dg{oR5Nވ|6#oF1|c1<&)l b?gyS κ M]|]~ !?O||q5(c}:JQaϧXTJ>&7DAK6&II=i*7:7wSUgsh^â -?/L\ ay$L+/7JS7͹qV0=xN x^,Yef]ÚgÏ>FB#վ 5Cȡa?J*U7ǮF)bVi<(9B'$RSf,T8WOuDpy7\5LAcK , $ގmԅuٗGjew]ѨII;CUz/?me;_s{||ià.Pˡs4j9TQI隓Qz]wIXR&Ba Ll -î|VGl7DlI!Pkݐhs : ?R/MM~USw^Ω܏xv&8ůUOx),"HQqF\R g-&s9%l垵Mc|>vW'ھ :_7˱}jv}c<-Z$\H$,DT< -ug_סCU'xNMtt:܅n&Ef`lIh v)&v^k;uwJ6k.sޤ D p 3 4B#t!ZeeN,MYS[.lGÎ&4#uN{vM6v~r끪v6(swd-p T۞ZjgQ_q LilȰS5\4cǴUtc= 0{rSoejr&$*OΔF g -cx+5mMiبf X'S3{ 9ÞIĸÈychp8{J3S;oah/=%2S6ợvrA?3;/}EiPrٲqN|81ٱ]ٸe XdIZL/qJ*+RU5cwJ& ]LE%,K,~}OCB W^G种&mx_4…ڱ}zbc TCջnofAkۭj7-dlۜYU -+qz޽JJ#69`}ԢW|d`TNފBZa(@|h/7u(NGd`p}a8ƩO66ժt)<7NjG0+jƭЖ_C} GֿԈ3mkֈrߏk\_(.']QymfM?f8BCO'`a琒cyvқa mÕ"x -MW~6-%g%5%,TS9;n`odžQpԅW3tW +8zXHF<\2_o -c ZHZ^_kv%oDsZIZiք>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37625 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37626 0 obj -<> -endobj - -37627 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37628 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37629 0 obj -<> -endobj - -37630 0 obj -<> -endobj - -37631 0 obj -<> -endobj - -37632 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37633 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37634 0 obj -<> -endobj - -37635 0 obj -<> -endobj - -37636 0 obj -<> -endobj - -37637 0 obj -<> -endobj - -37638 0 obj -<> -endobj - -37639 0 obj -<> -endobj - -37640 0 obj -<> -endobj - -37641 0 obj -<> -endobj - -37642 0 obj -<> -endobj - -37643 0 obj -<> -endobj - -37644 0 obj -<> -endobj - -37645 0 obj -<> -endobj - -37646 0 obj -<> -endobj - -37647 0 obj -<> -endobj - -37648 0 obj -<> -endobj - -37649 0 obj -<> -endobj - -37650 0 obj -<> -endobj - -37651 0 obj -<> -endobj - -37652 0 obj -<> -endobj - -37653 0 obj -<> -endobj - -37654 0 obj -<> -endobj - -37655 0 obj -<> -endobj - -37656 0 obj -<> -endobj - -37657 0 obj -<> -endobj - -37658 0 obj -<> -endobj - -37659 0 obj -<> -endobj - -37660 0 obj -<> -endobj - -37661 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37662 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37663 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37664 0 obj -<> -stream -Hn9)xi_0E;b"`/%[%y%9oCdQĖK_'W矯x[&/~o# Oe ;ż*_6fFF5k\Ϗ/7~Yۯ+v{h^ϚVL٪0`Eyl|x\׻-|iٻ6Js%d/\.v٧Fpf sԄqkef&.SV8.huBܲ&+#}؇ݰ&jǕDH7M}3f"bc1)K%(]Z<RR R R RoRoRo Ro Ro RRR R R RRR R g%aZ4p-%Vc@űDq,Qzp-%P_VűD+*µ8ZKr"\c"WUkq (µ8(B}ZEE\Pkq,Qʵp-%P_VűM Xj8ZKTU1Xk5ZKr&\c@űD+jµ8(B}ZMǀ"\c"WՄkq,Qʵp-EE\ Xk5Z4p-%Vc@űDq,Qzp-%P_űD+µ8ZKr!\c"W5kq (µ8(B}ZCE\kPkq,Qʵp-%P_űMc Xj8ZKTU/grFܤh%@ӈpax`8ǻeaqn$Gix\oo;f~硎A-,AMFJ}i|/eXn bqϱ%֦XXj{?7DTnW*~ -Y-V+$1+$m>_!h/BBWh`5F%zf㽚zX#z< X_,kZoWf~\鉫LN7Srv|W^mRʼn `_]CWv/ש=5 -AhS&J /{T-,GB`EKtdr*TBt25b#*>TI(MĆ'tI]fP.jB(XPڣHGE( w(Lieكt"*؊":YQN`N꽬{P -VV_r?jhur_"܏ s?r'Tr?rGTʹQ9Sc9*~LZ}ʹP9#j՜`Qݗ$Ur?J~L܏1Ur?P%c~J'KT -*S%Ur?jsLDu_"=gʞ3ʞ3PeSeQySe猩 Ts&˞3ʞ3B9U1U*{Έ:فpvGp}bEiImNfEW׸. 6| 75}E{4Q$-D!MiӽzܧWГl+ҫ:Њݷ߻&$Dx7VI2H6h]oM?LN2F.G6,?tL\nIhqC{ )OvZ uw;o YFȮIbT۬/TH}KuNeևs/ -ۡ*M RCSU-11eGјR#hB(lE9{QV$Vl>D>Z}tHRhMjTB%a/k)( {z3;Μ ˽ n[~~{ɭ5gMDvr;z{vt[#Γa3Ryr!Z[ ->8>e߸}ݖݦ6^MyحZoWCr!?yF;(o?{.3g\{9{9ϓ`(^L.嗈l!/,gc u/+gC)Y}Kہ/Jej̏vܚ(8>}J3[,'q0i`=lBE1S -:p[S"J*YQILJV?UFD<@%Hfq@>@Jʂj~^0\%U 0'cl\hi-w\{K)̵z=in&nӕm/^* hhAC䜵V2_>s&rl3/ p7:u߻W(QpؿEaLaa;t# -zD!x5eHRzD!"Abz -'tO:N7Qh: 'Ú - S8y -'OKXB}a,R q\nKN8JP5

--'`(ѨMrͣ`qp)[kT#%`+Gk\ޟG(X; s5PTF/n0pslJ#}#*P97rPdS.~r 85(9l -I{l"4QjbMX{KR#=zip - d0*{ގ(mhOLsQ{&6=|b r % O~? -<\x )<ˡϻ5mRmחuc\*TzɈ~KW+R(6a,e|fGLq?fX,AGRhy)jS9j׫Q^_vkzjȣD@1G2HFtL[֗ʇsP(=̠ h#~x}g >1~%.ҿ"G`3\W<ɹk/m\/t@Ay$xu oևyjټO}{מV$HOON5X@"Qa1#V,lbז8@'8^ hQ{*C[fh|bl"39k]{Yۮ9,0 26-T^zַ!nU{AbF2vt@p[%TiǸ '$ Vc-+){ Ք{Z@zl4}s9n]C5s{{Os_CkFVB{?nϛ60 Gd͛ wi߸}wbE!SWspY}[~G8||ς|}(;.XHTʫ]{net@ 5=^ptQb39ΏZ.slnzE?Pߵy_{vaV0+E?$_u_nJOM!z{_G4\u}-j*spܯh87x 4b/qzƂ}5wIʉ9[jes .6ad;WO[s# l_`{thX^\myucݵpEGzM54n[7׳$&}_OhߥqV fWcTӾH}E]-g>hC9+,֣#%LYZ.i0@mm=/tnnd=ۃ|rj/_u;&~ׇ?`\Rendstream -endobj - -37665 0 obj -<> -endobj - -37666 0 obj -<> -endobj - -37667 0 obj -<> -endobj - -37668 0 obj -<> -endobj - -37669 0 obj -<> -endobj - -37670 0 obj -<> -endobj - -37671 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37672 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37673 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -37674 0 obj -<> -stream -H4;0=+ %B0EBi:$@@YFgqy DG&Ŭa=Bk]vz_4uS$!1e6/3n'OA,endstream -endobj - -37675 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37676 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37677 0 obj -<> -endobj - -37678 0 obj -<> -endobj - -37679 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37680 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37681 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37682 0 obj -<> -stream -HW]o۸}ׯ 4Dbifq[l؇lQ(2$$7Ϳ3er.T!yH?V~_}&;0."83 2uA5,].o}?4fC\כ g1<%L0&ˣmnuъϛfhaV'rXŪnF9*(N 'H,2VE"֛Mor"#}mYP,H *e~2u1)L O>!*%P.8ɻ>@q=s= 'c}JO=)>اc3}F<9>cs}A/<ؗc_=Ƅh]_pBQ>{(BQ>{ׇ(Zׇ(ZN!`節u}"TET պ>D=rBPj]j9Zׇ(ZNPCS-'TET պ6j]|Pj]|Q>{(BQ{OPCS TE!`Vu}"{j]պ>D= -BQ{OPZׇ(ZA!`Vu}mu}ٻ>@u}ٻ>D]պ>D=&j]jBPj]jBQ{O Z(BQ{O Zׇ(ڄPZׇ(ڄPCSmBAJ!gE!g/ò,YMppX>3e%۴݊Z_ytljX@y+ FNR=f׌0pDzW&9֮~jNnM錱SMcz0}{IaXŪvUoM7{<~}[ɶ"]BhӮ"^ێڬǎ ^S$p-jvt3$}Yƽ(S1^ j4MxQhq5ݣi W4 i}|!ZҺ`3D:d5 "Müb [IR41r^-*АհoIaĬɜYڛmWu{?rikq?5?`_AW̎mt0䤁ScU1TQyLa57M=Kbl?;)* -$j6H0.R>wڨ#0Y­+,2+,3 ǏڐA7~k߫QEf v٭p; -gzE, 7h8|ʠmj?jC(z/:U0ri -iټe@J8L䴖cWOe;B-&CÉ aMmjU&yy -_ -ڴ, ha -*?[!i } y Cz ~tA4'녃J0s~>R4ñFefl~?RJg1,]ɿAj&~/f U!ϡvhg -cJVuu* \u̇DeK9,`؆x9[}K#&0L<TN -`5T -κHi'xc@?N`-Yk^xc(1"[se3;2:yX"?ͥţ1!kRTڪlyG%xj@6 ?`@\،DWjƎ7Z At .2L^RaRK.ŠtG r;:$&kHҹ5d׀E0eX7hdn.ʴ_`kHb?F=2u1Xoa^&KT6J3< -?6[ d36`XsCIéy$KPpOIca6惓ayݷgsö֨6c`8 $d`W373/34T-uQwwOpR^,C[Q| -o%fM7sqkz>'ߗlG?mo] .5NVfOػխB[ɀuHllʴþjlݳlm?slvRN5j۟L|z{ͳ ;~>1xn1b4@>*>,POR!Oht,+g tK4^a fl/A[ PXj矽 8rNj╞P|G3ʤ9@3^vU?x?g%SK${`/=e&^܄,XN( [_W )LUT7zj8IlFBֻRH7NRᛱ)i3,Ä*Z Ȁ6 " J$aHPcbIFG2zw)c n|Yz)Ө\r73^% @H -y!,(PR/"R$Cwl $䱱=-HACI֯yZY7f MBsB.Tp5*#"T#{_F4g,f&SݪcFi-S1,,> OG!i$je3Pl^:p7 Wk,W9/?GxFfQ36: B ]U[%nfN&aͲV\|KT%nE՛+㠗UtUb*VҐb{Љl z?YvZkƓ,9ؼK[Qڲey,.@/8Aoh`0[`*Q)oAwUwK1OuNX1q]S]߇,1P5qp_[f3& s뾻7grNX£OK@Sv%tw\5ĝJsgՔ'=":~ٿ6OHendstream -endobj - -37683 0 obj -<>/P 1538 0 R/Type/Annot/A 41560 0 R/Subtype/Link/Rect[93.6001968 663.229004 184.404007 682.908997]/Border[0 0 0]/H/N>> -endobj - -37684 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37685 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37686 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37687 0 obj -<> -stream -HWkoܶ_O lh%QEQv Mݤ@^k%zlwF]'EJ{|8<$ Gv~K?yER3c%Kbōdm b@2lڢmfm^Jt%>+&>HaL XY-ffۇ՗n1 9 HB*E\Wudߙ5ا"vǂ"EU&3 Aj\NsR#"\ Yt.,!|!,Wx$KO$KO"+O"+O"+O&kO&kO!O!O!O}L=1>'SO}BOԧzϳ0U$\bջ׺|.,_p!PVu1d=Jµ.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] YzϵpU"\bջ׺|.,_p!PVu1d=*µ.,µ.,BZEŐE\׺׺kZCs"\b"\b"{Uk] YzϵpU&\bջ׺|.,_p!PVu1d=jµ.,µ.,BZMŐE\ ׺׺k5ZCs&\b"\b"{Մk] YzϵpU!\bջ׺|.,_}4,&*8_+Y1VA3)YDlUrm}ۓ՗# ĎO䅈 U Ld5J08QHVp6ĽQRwX%tm/ K.v[aT"yllR -˭>3i X8x<>w0Jzk W=XϯZ VSs4Q(agT[I \<^2Ƚ~,7eq:_b gg)@m}.ʬtٽh#bl dc2 _=se 9Ї^=4vh;g\B(5"!hcD¹wU8Iom5ݭwJ -XG}$RqE\yYfNa~dd\5m~*h$|pdN)m7%&YILV#{*1 [i.EtJ9 *`pؿqßcۂc*[bv.gE5vӤϨMQ[nyp*3QGoáIi#SXՋwMp! ~*Eb4>VYY6_~<<zrvٵq7Jg@i/7l~ l * F!\$nвÆ!{; N 'lufcD ,܊q5kTToU+wD Aum V\XW3geΪ':p qFݦ,V7IᤴMP'D-RFmwb0Sܮ2 -Nqrgѹna.v,>&ĸmG^>s [`(s;UU`[_$@qٮd1ᾲ8PC<6M%M0=swjjC!G]ܕHfKZ=.\T0Dee4~{4V0-~o .jS2}r~':|CQ8 e>./pȓendstream -endobj - -37688 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37689 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37690 0 obj -<> -endobj - -37691 0 obj -<> -endobj - -37692 0 obj -<> -endobj - -37693 0 obj -<> -endobj - -37694 0 obj -<> -endobj - -37695 0 obj -<> -endobj - -37696 0 obj -<> -endobj - -37697 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37698 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37699 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37700 0 obj -<> -stream -H|WmoF_ Uk _6M4IQ$"ӖRKtIFq~)>$bR!w=oo޽Uz7ɟZªp:k>ubV%inVM{v]3t۵/ur^ 'TP!j2TKE@ss6GާM8Z-lapzO~h/.K{YFk$ӐuKUdk^}KWhGᬢ. I>&! 9qLcĒq,,+,ice{+[ -w½p{'{ }}}}}} ܗ} ܗ} ܗ}W}W}p{YJ˱]bAk9F,cZ1bI#tϱ{Z Z1bcZ1bcEk-h-" cEk-h-Lj܋ZZEh-Lj܋ZZ %cĒ9Y#t1bI,Z u#p/Z@k9Y#p/Z@k9F,^ցr,@k9F,^ցrXhXdrXh{ZZ˱]Ak9F,cZ1bI#tϱ{ZZ1bcZ1bcEk=h-" cEk=h-Lj܋zZEh-Lj܋zZ %9h-Lj%s,@k9F,cսEj!! V,偖Zhy\h@+Z*V -URh@ZЪV*VZhe31bI-a heZhYeȽtX=LjD-=Ǧc؜%@9F,%roA96,r1b-{ rϱ4gq-r1bI-qh;{qh;{Ah;{Ah;{h;{h;{h;{h;{ѱh;{ѱBjqXRct`Z"ct`Z"ctZ"ctZ"cZ"cZ"c}Z"c}Z"c1Z"c1Z#m}rt,;]ur^FU_%a$ׅ*z|Jujq,K\\_r-.EVUGr~$on[UquV٠2]_lFzPۋe~X.ַ?@Wr8B;lLrܸ9gh72>٫~X wrdA'dtSxN~nF?]]K)FgqeǗs5[qNrtR}>,`*n"vHO^ğdEМlsiF~jf?q {woFm&+49bŰ㦽ɴǑTK5FDF=|L=S[B4cOtO4eͳ>F_v ?߿.~}(u88acb^JmOf7ߞ/ FNȔmE.q]!d#+t(}52rKai=bipJ {|uW2NF?WM׵rVv?4m}\=<g^W蘠Fw't8̹LeRFALWi{*-ܮk< \&À5~+0næc -%" cĒZAnfu)*^i:R')Sl |8 -e: 'Gèl>fV{S͇4CRt4M?~_/Ǜxo޽WTic}0l.=chuY?nt8}]SiC5y$C1N\02sJN_ժtnOu mC3޵ܩ|l4=>Ўup濎{HׄIw: Z/fx^׆ tb~h7==썳|HL8@NAE91 "*_vfIN)戫&! N|UNySCr0 ر-Ăh unmΦ}UU?B4ve\-Q\ۍÜŖ ,[ >8W7iqbH,ӊH!Aio=~^ ,왚WTFd"YbUR%/M.@꾛8FNצUK4Ҧ!+)/ j/OG,o:"ZjjhsSKZu =nj!;@`|U{+de{wx'WZ'Igvr%"YJn&v{|PsFVd|y(J D"jTLObS~4^uQ#`=G(w^myӓy"D"Ue,y0`܆;<@/Ys[̞n"!ϫ03u\gQSY%3/HI_"Q}iW662C(,BB2R0IZ&–'LҶ|.o:]C'S{p yg9l! "aXNhZR_ -G'EGx_RJ^dH7iAf0vYփHIh˹m);@:ܔ@RVdbzt ]qw!L +=PhyrjW lr4VXv}QS4fyULY7aGS(-ޤzqoӦߟrQʦ[ [G善Ba',"1`gRQZ!!s7~ ?8¸lrV %~lS؝yص@͂`S#찘>+Ȣ>?}__ .endstream -endobj - -37701 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37702 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37703 0 obj -<> -endobj - -37704 0 obj -<> -endobj - -37705 0 obj -<> -endobj - -37706 0 obj -<> -endobj - -37707 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37708 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37709 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37710 0 obj -<> -stream -H}oF秘P@2o$@ -wa$*fN$]oDivFѳݙg)~Κ??x >|' oe D&>BɓP75_g]G~^()+ZURy@B\ć"?&ަmRBn}דaYL$ޤoG'ⅉR9oʢ-ڵxr~wys0,}7l"&|\z7G>G-\/ѡPN@X{W^POz⑾vLT.w9KJE4 -e҅Cz+^3ڡ v5Cz0ơССȡȡȡءءOġOz' -JO1uTCZYKO5r驆.&T.IbRK5b*&TCZYCV1u1NjZI-լwRRͺz'I-Ťj;ULjf] ZŤjRͺ\zI-լ˥uTCZYCV3u1Nj5ZI-լwRRͺz'I-Ťj;Ljf] ZͤjbRK5bj&T.IfRK3Ljf].=ŤjSͺ\zI-լwRkRͺz'I-Ťj;5Ljf] ZäjbRK5b&T.IaRK5t1u1Nj ZYC0ZLjf].=ŤjSͺ\D$Ibǟ.JUTt%[PFАXv0=?Loҷ$"싻غZ70$#' -d,wOm}W$jTSOqHBLm"Z١.orS@_g0H+ uGޏ^o!\ Aaľ[AbCk:$F=$ -,bSˇpeQe]] wY\ڼ O`oɡ~^x0׊8q2HlH] jY\?/J},_i;i>te?˙#Vq [{Ob>w k5:d3+W# -icvn>N 2j/Z0A~cʏWnz3My-yq]gHK۷Sy/j|geQw Q"6G;TXH3^m*}}qywo.?bvR{ =ssx#~zoޟ{Tlendstream -endobj - -37711 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37712 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37713 0 obj -<> -endobj - -37714 0 obj -<> -endobj - -37715 0 obj -<> -endobj - -37716 0 obj -<> -endobj - -37717 0 obj -<> -endobj - -37718 0 obj -<> -endobj - -37719 0 obj -<> -endobj - -37720 0 obj -<> -endobj - -37721 0 obj -<> -endobj - -37722 0 obj -<> -endobj - -37723 0 obj -<> -endobj - -37724 0 obj -<> -endobj - -37725 0 obj -<> -endobj - -37726 0 obj -<> -endobj - -37727 0 obj -<> -endobj - -37728 0 obj -<> -endobj - -37729 0 obj -<> -endobj - -37730 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37731 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37732 0 obj -<> -endobj - -37733 0 obj -<> -endobj - -37734 0 obj -<> -endobj - -37735 0 obj -<> -endobj - -37736 0 obj -<> -endobj - -37737 0 obj -<> -endobj - -37738 0 obj -<> -endobj - -37739 0 obj -<> -endobj - -37740 0 obj -<> -endobj - -37741 0 obj -<> -endobj - -37742 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37743 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37744 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37745 0 obj -<> -stream -HWko8_2K`6vNƋ.Vl呔{^㺻 HE]RCM$XŢuj_vMbM]lFR`($1Yc4r-r_,0„4\̸Wî7Mq7(:=W{&R\g&b -o٧/1[(W 3|ʍCLaDCTΏJe]$ˀ$ˀ"ث"ث"ث&뀽&뀽!؛!؛!؛}BO > ا4`Ӏ}JO> g,`}N4+}$ 1D1DB~ Pjj%Z?(}ZI֏PC>P$TET+ 1@c"jj%Z?(B~ Q@PC>P$T"Tc"Tc -1@c"UjjZ?(B~ Q@PC>P"TE֏!`Vc"Uj1D*B~ Q@PGPCTޏPCTޏ!*dE֏!`Vc"Մj1DjB~ Q@PZ?(}ZM֏!`Vc"TET 1DjB~lB~ Q!{?(B~ Q!{?}<,Vs^-C3Q> 9OXl>-nonn8xZM!_o~i.LX]u/>pX,S syQzWo~ ->+)]tît+rl a3v~|=teXA4\$8bdQS:c&5ƅI$Mh!&:ɇ/]٢4Ş#3WL5`D>Xu~r.Ù57Zt^6OŦIl68@'}ۍ}^.WE+i{ OXnVbjurl}V*in|@!vuk7儣%Wi\cjʱ.1\n\)k'ÙLZ'$Oԉ+RUfP=%hZT3h~ 'K=j/^x`ވ}qUM řNyhƏ293g9J? -zaW[-an`fPT ]?nW{1U,;%_H0Tc9~g[Cp[-AZ_޿G&F;mjx8/EcX3YcrNjx+k(4;{h3q]Tʓ4@N{Ws乆܆IPf1ZLf;Z&ccS&Aʳv4T<[(ph'i wSaa?'_.ࣲTMTeo4YuiuM -WI`p'JqV& yh$'8C{ٴ@>q$i8}SJPtT:,b\<= /]5CoxNjQH<g`Si\+%Ov/MȠ&AL@*霖H -@zd'ކzd.53sCU# ٜLrHVC:,y,ՔAg2t ӗD&;_Јynb ^-%xdf$c5w7 4'e߅z lp8 -yv|3[wշr~)!j2|3~ p9^]+Fë|47`Rq+}ؗ[KәuFrIeg:Iy.cj dφ'R {nZM+\/J55|:m7x{5U+>CO"p DO&\q0{ UYDzgY)cTXcec -!g~0co(j ڵK_ 9~uh=RdvOպ'qqrZ3gMt}xڗnB5%첯'{PKP2OpIO-+ZxN6MyTj[c}Z]-;jp!1`/Ϋeq+t H8kdo -+)Aorggt̆ MYD2re^8UEs6"/'bwm_ԥĐ|34B]p@ $Y(C!xcmyk4/XH~'"BK*V~e}*/lvun>fS1e#mB9.աNRuNZ{tҟ3ͭ`@TmCjs7 -g$'=3H`< xNo->ٱZ/"Id6¼7l*U5\-$"m{JJhfS_6{ъT2;TV17z%^uVPMQ)瘺AKeDfql҆yt.Z~ -?9-]bAþ¡a!-(˼ؚBp ѓ,l.%cW!.*3j܉hY&_5ǃAdi6hO*yW!P0Gpw,b_hn}yHi Y}FME{OxUCj~k\sh.b{{ 9qjdM~7UUzy> 6ԟq:aa+$DéDγ!,P,r.?И@hb6DGpOAr(ˉ␯n(8 -[h :WR/F [$uC!љxFk*].;,#~Gd$ -Qn#ȁE#|Fp:h] ve,<` Nը[Զe.+6.e_v`%X"۟FQ@:ƸCq9#b2!!eI -ƹ,2(AJ'Hћtu6"Ny|bx -jSfs@*wk0 -xՁ^?|ӿ "endstream -endobj - -37746 0 obj -<>/P 1651 0 R/Type/Annot/A 37755 0 R/Subtype/Link/Rect[417.733002 557.629028 508.932007 569.612976]/Border[0 0 0]/H/N>> -endobj - -37747 0 obj -<>/P 1651 0 R/Type/Annot/A 37754 0 R/Subtype/Link/Rect[180 547.629028 268.399994 559.612976]/Border[0 0 0]/H/N>> -endobj - -37748 0 obj -<>/P 1651 0 R/Type/Annot/A 37753 0 R/Subtype/Link/Rect[180 470.729004 268.399994 482.713013]/Border[0 0 0]/H/N>> -endobj - -37749 0 obj -<>/P 1651 0 R/Type/Annot/A 37752 0 R/Subtype/Link/Rect[417.733002 480.729004 508.932007 492.713013]/Border[0 0 0]/H/N>> -endobj - -37750 0 obj -<>/P 1651 0 R/Type/Annot/A 37751 0 R/Subtype/Link/Rect[179.998993 190.328003 378.799988 202.311996]/Border[0 0 0]/H/N>> -endobj - -37751 0 obj -<> -endobj - -37752 0 obj -<> -endobj - -37753 0 obj -<> -endobj - -37754 0 obj -<> -endobj - -37755 0 obj -<> -endobj - -37756 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37757 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37758 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37759 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37760 0 obj -<> -endobj - -37761 0 obj -<> -endobj - -37762 0 obj -<> -endobj - -37763 0 obj -<> -endobj - -37764 0 obj -<> -endobj - -37765 0 obj -<> -endobj - -37766 0 obj -<> -endobj - -37767 0 obj -<> -endobj - -37768 0 obj -<> -endobj - -37769 0 obj -<> -endobj - -37770 0 obj -<> -endobj - -37771 0 obj -<> -endobj - -37772 0 obj -<> -endobj - -37773 0 obj -<> -endobj - -37774 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37775 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37776 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37777 0 obj -<> -stream -H|WnH|W4a!{l}mvxff2A`@)[IԐ`}э9#%dU?_vgϞrOLZ8s&|:Tѿ*J]dDŤu3_V]3f]x]=GckƳIS4MfF/N_64?Yv8ˇ|JɹK㼻}>Tcm3_uUsir;R8Jhz._D>vF~WܚYRN -\Fe>L%ԜRplIbIXjn6/1b9)wʽr{{+}rrrrrrrrr_r_r_r_VbȁJYڽĈZ+1ficv/1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+eAk%,^b{1K@k%,^փJYj@k%,^փJYj@k%,^փJYj@k%,^փJYj2 -cv/1bJYڽĘKXcpZ@k%,^6JXcpZ@k%,^6JXcpZ@k%,^6JXcpZ@k%,^6Jlcv/1bJYڽĘܛGCLT"b -J+R*hJ+ZʀVr+hJZ*VJU*hR%ZKbZвJ-rJ-{r/6d)-{1 h;{ǰ!KiKY@KށK?` YJ ^bZ*^biȒZ^bZR R  R  R # -R # -R R R cR c֒TȽTȽ(TȽ(TȽxTȽxTȽxTȽxTȽxcTȽxc$,%1r-侌˲ &G_8f<->L1]/ɹuI2"{nN\۶on0j~2"}'`O֓G7ksi', ꫡ턹EDz2ˇE7_/burݵv)o:>ꮻ7gs]mn+Z]HΦ1p'ma``v:} ґνawg='1,VPZhTi@+UZʔV2\i@+WZ*V -URi@Z.Zc֒,вJ-rJ-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1fi- ^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ#ȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTS{1KkIX c*,vs?U&Jy]֪R{XiWU78 -Yl6cCC=epx2  ǨJ7?_"H?3 -XqXpw8dUz%xHX*pU!xՎP^y$ T<doTȭmW -qBi䘀t/7HxFRZ&Q>q,KD8Ƚi園f1'K{LbK<{B?'NX!RU(%)0\uI֑tJLĕ)*V"Bj̺+`Q'M~pT0=D>0p^t+V"(CW4}tZr#(> -endobj - -37779 0 obj -<> -endobj - -37780 0 obj -<> -endobj - -37781 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37782 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37783 0 obj -<> -endobj - -37784 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37785 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37786 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37787 0 obj -<> -stream -HW]o8}O HC\ hn72(o@3-$ȿ{%JtaQ{.>u~د}w'*B8a"X0.!SYɂbUu/ں\ > oWՊ)gm%LÜ,2 [GSsqG뮬ޯ~Fp]Aڇ@`!'PxSB}O >%ԧPy3B}ׄzׄzϳ0AŐw1`u1d] YzZCs \b"{k] Xk] Yzϵp!PVu1`u1d= -µ.,BZAŀEŐE\+׺kZp!Wb"\bջ|.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] Yzϵpp!PVu1d=Jµ.ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d=*µ.,BZEŀEŐE\׺kZZCs"\b"{Uk]lĄk] YzZCŐסZY}v\qQL\ƅ[śr-fCK>rsxƊe(D3%*LY(0L=K{nmQouR&-[=tìfَX8TJKOL`Y7y[l lu a7eav÷b=_0>+$L4DT!t[ףEyD/QGްlAtybq}2A>VZ+8֐}t$C4Jѥi =Q~>i4_3D]yogM.O/R -{(MM&Y}HRnnnj1ۯ|wa`LܢA)*Pj,~&Mi&-IE~:l :mbB_ ,pYuO'^WY-J4<é)iw< -k8`ŒͺdKNTfY"L -aG.I Inq0CjTD`{JBڬnp+8Cm/y#@@YVW2Q!"ɈcIp9j-*Y-3HP,/Y8ZE%C>GpyU*JJ Q`8WM\ajy)Iꎥ l]|?+hX,dy4M8&֗ t%pB - +-"3rQT]]tYW<լLr=԰t ~ʼnI7 ĉbV.gԞ>4c¢[^mŋs+vEIwWOC1o!}1؇S)%*u a!4Dy)2ԺW :a w ߥEj+~TՆ]-:` e跏gJIٱ0e_KYv:_j[ܽ+XcYJ&D=`YBm^+Zp>%Xs :]x$6Q/UBŖ:|LBM~f?onv" -~k &ބ3 llLhPv6aD"SBH5t-.ȄCܻSEMr^ZiEOZe1ɤi>$mq6iLS3/2e,<}Aa97lRW#Kȸb[wLO(e(k#Dgهb;Y0T:KL֐ΠvLY*a! -%Ob{;:_pũ imf3V>(`vPFT! #CCpä&j6MзzEM%bmtnscnm1̙E2Kԍ]Xj17U'bozKP!HvIPF-!S73~uOQ,N C-K -$k {g`30>4ܞ`+ϯU`CnAǽ|p LY*^F  D,6; -d[鱚`IƩgl8ݒiYQAY%I׀Xu>'Qg0$H1r21e܈2"2j;F6ɎxPnbQ'lLwh *d6fܻzn( JyS(lDnv޶–~{^39F -7Si׆yJH齔L,TV ⫺[';,/l%;í\ ,Z vAY/{Kf]{82 -yҥχeR~-&+&͕o^Cu.hm纛LQ,bis|9X޷P)H6}8%0Q ś׹V; -qt_7ί!v*Dئ(K2ತҬbS?ilHzͯ(=]KBOs>6<;15[Td rP#&_MxLrnr!U*8һH]>/uhxlQ Apstџ(~}ϙ.T|Xt-TTW!9܌/TKNQ&9Aa*QN$.s8RՈ - -&KKp=q;㵹_ܵڋKͪAOV J] JO'rs%Zk "?n1 EƻN7PKZ6 '`QqiJpk#chhQz>aD26M°v\EIo@va3z_+I0Fگ:\ˍnv?OۭT ZSnMD:7GRIN(X 6)#9";^s_T@zM nkW _;3 Ŷq0; LfGtU|R$WygIǔ[i8*Q:7OJ3 -22x¾jh*}*L"2[ j[^Έ -6{9Z޶_5m; ꛾b6ϽӘ8w友qFAux&ZhӴfF8:M//hfE^zwlendstream -endobj - -37788 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37789 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37790 0 obj -<> -endobj - -37791 0 obj -<> -endobj - -37792 0 obj -<> -endobj - -37793 0 obj -<> -endobj - -37794 0 obj -<> -endobj - -37795 0 obj -<> -endobj - -37796 0 obj -<> -endobj - -37797 0 obj -<> -endobj - -37798 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37799 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37800 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37801 0 obj -<> -stream -HWob?lM8 ?:>KIZ$EAKk E$e; f̾˛+DЯ^\]N3L pǒZOrBfBQ&tw 6b9y ?X!)$B{t?y34eDO(3to+_:Mt%N|mwEVOiUe0| -A -u*T8M%웱b-*~Țm>f9MY2z[׬\{:WAgHSEM lLG0qh? 0 &<΄w( 1.[m -Fp.Mx곮K]0x yT~㩪=巛{J?t -9`}hAdy|q8MC S^TOhS&#Lyx'gqt,kUmr (TS>Hf3I'hQCXcƆPN FD#08If?ghYiqns)D!ؙ0R-Qe밻>ZsLռ6ލj7e׆uk,Zd}uqhڪ߿mˎ^Ջ.SnLQg˺۱M<*F-Hla7NvBq -%:7E*O!b6(#4jO2$q`C*@ѴzZ@h, -$F1##y7efEj8GHG?ۛ|*u??W@98 KB.?sƠ{ņaA J0q(q5CDWT3tفZƒ$%mlK(\\p5LFkݬ@m jnotilci㉄̣NPב1k1V݇C$UGR#!Atә_l{Wўsoe#|XA0?NTO8R;h @]` -Į*C)L5 - km_UzU|I G 9͆=NMfa#wI/E ZsikT -76Oj|@( L3R0^ e< Xrkchշ~uoΡvI|Cc#=U"&Oʿ3A|byVX Jn_N豪~zҾK $fg|TH9c^&&u٩eC|+o P{E!j|ur# %wsf xVgЮӔR:($D%zF"MH=q㩙<"=J\=ܱ?MB́]jqOqC{TVk.)l*`VItĝA SOTִns9@'D`T -Z=̡(Z˩Q.{GχSFrG}}r{ߎ›b0@5j{xI3$nGLÔbMMI -lm.!M] #M"H)tWKs5s_&z]>K=#̛ӡ.bmpr ~?:R(.9?$c.e*(e՘p?01ܬNH2d4zT + Ƀ:#\U(9ĕ5Y2>v>?QwB=?{2.?soTwrVx:z2/ 9dE( -h34o }|c`s|[)<%ֵHO 轋 -`Q&/Ch=Vendstream -endobj - -37802 0 obj -<>/P 1648 0 R/Type/Annot/A 37803 0 R/Subtype/Link/Rect[130.078995 539.020996 279.036011 566.104004]/Border[0 0 0]/H/N>> -endobj - -37803 0 obj -<> -endobj - -37804 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37805 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37806 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37807 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37808 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37809 0 obj -<> -stream -HWko:_~">DIE-EE/bӉnl)W;ÖE99C /iYׯ~ф7c{j?xx'v-`K%R"~n$kKBI\N8< cN1`qfY!9wc XP/P/P/P/P/PP!>tԇQCG&kG&kG}D>rGQcG}L >q'zdz0-6 \1rc Xk1fYzYc"\1";k1fYzǵp-ƀEcEw\+b̲kZp-,PVŘe -µZYq \1";k1$ZYc"\1rc̲\ZYq$\1";k1,µ,BZIcEw\+ b Xk1fYzǵp-,PVb̲k%ZYq$\b̲\ZYcb̲kZYq"\1`Ře*µ,BZEc"\1";Uk1fYzǵp-ƀEcEw\b̲kZmp-,U1`Ře1fYOD .6;q6_ygf}R= 6d@OeNˬ58ԧE~XN`~$0Cu > l@_ӣ$brjE=XLDɗ?| -oI-ٳR?q}#,T۵8CetPA̵Ppy_v|i@- [Idm߳ulQEDzLy`ÎIMt-}- Ng -/`_J;8Kxi_K֬6=W6#Ŋ y~OEyZkO/QwfmX^7{%Ń)s`X͒463ymka[ٖO T} -Tz@59ڻ{4hsIK|ӎxyڔ*lI8}xYmD/:}yi|ւsU q-NMoVeOnkE6f3HB?rR:(kdpxhWbrP0mg &p#ЍpSn6-]+;OWvgS4ǩ8ԐhnޤkςڱTfum*)Chs8>**x]5m*@y8_>~9{"<԰"{el 6ﮞmݸ]k$agϯe񌗍YQ:I/,[ ?vAZ/.x)ZW$eK~t1Gw[%c!K&oFB,MKC,p1fȐCݬϼ}[@ dM#8j#1Ku/I?amfasn죳y ~\}]{!>vti^bR0 % GGI7KU,d?]-m;eWhwPcN#\+گ=+J^HȂJ3H&n$}vSݢf\mұL.'ylg.w46JiƓ޶:kGRKxԴ - F\"[=wlu6ݯ7ەm+SVj.[sU7L5 \U7:-7؈rAw4J_+8Pz.(_;WmE-AnA ,_p~]=W]߽n V|YW`ד,{xZ0j9`(8;b"!yu@ -818m}Qb)0Z<͕K 2~u|%|h}JX;տY@sm*5\nWh<VE1fWnp<&:\ehq b^5q@# 69V=PU/RBNli`rZBfx=sy lK!S{ZQ. ->OxunVֈv[ja4]Ls]ϰW;pbZ-Ɛ8){NUʜ)q8sK+SԨ -LVQwab9YyG:Aי?+__y?UNWr%όOjz0D6"E9#)6bԥP2l-@sTwsTnj蛋8.`*{2%z:;z%bpa90`cUS+*ق*KW'ߚ !Hb^awZe-ay^bDBֱ}ԫaKZ4fSjvHl7@4|#db,牘BrϐCөBdOϣ"Mde%U/$䙌:˅s4\#Qrı߯+m^$)ld,Ra#ą., -ָDљ34#ؠR0=1kI,gg} N]×_P`"endstream -endobj - -37810 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37811 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37812 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37813 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37814 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37815 0 obj -<> -stream -HWko8_2(C5 0Mg)bAflJrKQ/m(RQLJn?_yMB/^_{_<* IČ$1"Fj} GIN?UWu]UU[kR՛%#{VF(Y=z)L0&IBIV{_uW%Y\(i0z;E(ҡzʶ^>M$iتG\2+nL-8T$#€vx<`А>[r1$<X#dx49 -o饑I]Njqhi;Rea!,[;xC3G=C3G=GsG=GsG=GsG@ G@ G}>rGQ#cG} >q'Q GDKGDKG}O),ELkc{!1rژfmL\6,ĵ6Yzǵ qiq-C\kcB\kcw\ژf!2ĵ6,ĵ6Yzǵ qiq-C\kcB\kcw\ژf!2ĵ68Z,W qi4UocB\kcw\ژf!rĵ6,ĵ6Yzǵqiq-G\kcB\kcw\ژf!rĵ6,ĵ6Yzǵqiq-G\kc{O 1rژfmL\6,ĵ6Yzǵqiq@\kcB\kcw\+ژf! -ĵ6,ĵ6Yzǵqiq@\kcB\kcw\+ژf! -ĵ6"ĵ6YzZ,Wi> 4$zZyW+#=5%Iwٚ,..oaҴ7j{΢ּ7á[aeM5I~oQ-V0=\ q:Ij3MWYq{Ϝoˬhe%]VEV 0@L?RQ$#?o4s(M)r~^PJsXP~PԞei' 6QczʶTMݨX~U;%_//dGC[o4$cŇz/da&'(Q-|SĻÀ^˛JUUô7VAOupP^OיI$zM dy߿LXH}N]]^lLVMCvjAmlVZ ^% gZnX@r.H8yHL/0t0Oyrﯳ>Yg_+%(ܔl_U^l/Omȣ{2ۖE^nQg?o͏t AՋD/Wϕe)&5?Ԙ3bqAlD'߾A^ F:eFr|p:&[+bE&8rjyPͫGD.R8Yb}Tq_wY)T'I0/;i7;UicVeS' sxϦ嬈JlF_}9ݾ[.q u\xKh~ة1|hgaTg]~>;W.Ӏx6*t,M(c9/As88 }8 |]qը]u|hݚyU =r 3$'kƜ%b> !:EAš?Uݢ#nhtUv-.[?ʜ=ҿi%E %=S*HNj?Փi=Ff HWzN mVY{ L9̈́q7f5 d eFǶNfaaMƌ>z]v' MowzʞVV }=( x.{;C)˝&u6P.-b&8UC'B8j,>'G> {(wD)DƑfaI+lT;õhhj|ohstPγ D1nDzxӉ+h_輻S߭Sޚ{ y:*GJ*9J"UAX#骆*ۃbgH1G'F-R^SRuYʯ4|Ư -1  -o4>cV<ԩurJQ^]u!`LzZłUeŒx (yh[Z~g r6;|6WZ< j/lnS(6-8,F*"̳$<>sj |.,ddhD p}O4易T8I 7{MirָC-+54/ZRY-lh«4xt&9C`d@@ldsJtZS+m+oG7ee"/]C+?Lysr/UA@Ww;^@0٬὾C( -@Ε»G+Mt] -$7o_ .5VU'bV$wݟDLS/*2LԂWv/NpfQc3 d a}cZ;-B4I.EiI-%hM"ǶJL EO$IV'+]m禮s}9nUݪfYJ¦[K=L8ϗr3,\H,hBh$&8THnbG%KJy);u{_뫗+&j yA -7 ôDB_Xr/i,xlÕ -KM4S|YdMcvSJM{:U G> c< tYzb>xeӑ,^pcL0ܺ9Z}7*MGL 69e|~/E-@ʦ#?EaƟ}kF%;endstream -endobj - -37816 0 obj -<>/P 932 0 R/Type/Annot/A 40091 0 R/Subtype/Link/Rect[93.6000977 620.429016 246.707993 640.109009]/Border[0 0 0]/H/N>> -endobj - -37817 0 obj -<> -endobj - -37818 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37819 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37820 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37821 0 obj -<> -stream -HWk_QAȝ@, &QhnLC?fݽL(=ui{`{x'N=~|߫B=}ٯ*k -ӥUt:Xյ -uP/r[|nonjwbEvknٳ&j{jYVuTTʕ4c6'fm5zdC/vvw>]ۍ5κ>:)Nx5{&+xtҭ9mս29Rojڕچ$\Tt\euuVΩ%fS8A8%10bލ9X½p{'; w½p{/>}p_p_p(G> -}W}W} } ܋PZ2 Z1bIK,ZK{%h-Lj܋ZZ K,Z #p/ZkAk9X#p/ZkAk9F,^ւr,@k9F,^ւrXh*s#tϱ{KXbrXh{ZZ˱{ZZ1bcZ1bcEkh- cEkh-Lj܋:Z2Z1bIK,ZK{%h-Lj܋zZ K,Z #p/ZAk9X#p/ZAk9F,^փr,@k9F,^փrXh* #tϱ{ W*mHQuqa,偖ZhyVZhURh@ZhEVZЪV*UZh@ZZ#mրZheZh[{]6kCȽe6d -{ h[{]6XCȽe4dq-r1bI-vh;{vh;{Fh;{Fh;{h;{h;{h;{h;{Ѷh;{ѶBjqXRcaZ"caZ"cZ"cZ"cZ"cZ"c|Z"c|Z"c0Z"c0Z#-}u]^Otʞ5UeT3A.UjG5m葯"]}\&r6+*/.jbٮ_M؄bÞmA{|S?fi>{ʎGOmRv /.s])ݍzl }gۻA6[wm`1S[Nkk>ml퍯V [q>9$g+@g]~@ߘQ64PŜо'z -jZD#ڧ]:Meh/Hd;Du8˿?5T_x57zz4wN֗L짯 -:IˋxzI|tpt=ac' [:d!mr?Ӗ6>MO7.-xiӥͅ&9n:d8nv,=/.+{ԣb=\:D|ExѤf֚arR7G'#V XB-/sXRcr1bIZukiZ?kƼwʨfR^qop\IldʘMYq8.ojƛ6 vU1 mCt^5p2vG]v}a3?SWMc9S"|NiFMC_8os8v#Sg?5춝Nzw;|r!&2 cmp~~`:}]EB2 |亡^]}qWY$[{(N/-zP%QDZR?;zؑ{NR䧜_DkLo_ fpl 6oU4:y>p>C $ -Jͮ=vP3S-o@q,MA6rxwk_B@X_#>l+13JM&'n5Ȁu BFZ._T?|;yΕ/[o|ڣYfY?6n_7Q X9yd11Piڸ 3;ґ܉˅ 0d=)ޓׯ_f0 7/c#k@)9 RcҶ&yNf86ƒ#blavvs%gEh.w/H_3%Aw+1Y*9=<{"OXcAiJaLc{@J%U@y4Kcs݌ֺ,(TR}:YX7hBgWi<9V f4QKO^'ơe~; }rMMq>L,@OXͣgİp?!Ed%YWC -F&&7J_}~AVcsSnz]<{!_,eendstream -endobj - -37822 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37823 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37824 0 obj -<> -endobj - -37825 0 obj -<> -endobj - -37826 0 obj -<> -endobj - -37827 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37828 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37829 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -37830 0 obj -<> -stream -H4;0=+ %B0EBi:$@@YFgqy DG&Ŭa=Bk]vz_4uS$!1e6/3n'OA,endstream -endobj - -37831 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37832 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37833 0 obj -<> -endobj - -37834 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37835 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37836 0 obj -<> -endobj - -37837 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37838 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37839 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37840 0 obj -<> -stream -HWے۸}W )7^Ǯ];MjW '$P2@}ʨO)> g,P1@}Ψ9>bLK}R Yzq-ŐBZ!QV3k5Zq-ŐŨ\R Yq-ŀŸbbՌk),F}Z͸bb\K1d1jƵC>pf\K}dR Yzq-ŐBZ!Q0k Zq-ŐŨ\kR Yq-ŀŸbb5k),F}Zøbb\K1d1ƵC>pa\K}dR Yzq-ŐBZ!Q2k-Zq-ŐŨ\kR Yq-ŀŸbbk),F}Z˸bb\K1d1ZƵC>pe\K}R Yzq-ŐB܊*^Pb 'LG?ׇwTwgʷT*}ЉSY]~_^W'Nf0j-=XBkӋ5v=",Fémъ<# IO:ӓ Vߦ-D!,d>p+^o?bJ~=gfd-3ιjy]7C.?]zTfZ7mMJ Ԝ[mtb<J$YȪ'O-~C0'*Cx$5SxSb9b38 -gnF4GbsއJ͢(˺kvSum}9C3ePV^D,7~kj/ &5C{JQBdwv&œ& 5_t~@ΫXưy޷$1Qg[1 xW.%YJGwJj+126Kq?PݤRR8%p\z챒 쐵lOʙ˾~[W5 [ePM%.Leoh_-L/`ĺ9+Vej+,Jw1 TU+ z~E&J ˿޿I8+0pQv5Tx*'q |)~&RYp9/~ - sPXi!\4U94n7{N3N{@egT.|>ꌆ姟1FخXKݍtW}zxI2;uExE'-5VI$HMC_Xj[F%X8غy[7fhg ; 9c6O[r'rned>ߎNyQyoNÚ+5ƛ"`Gx ƶbxXj -xj¨HeM2 -0^73olnȱFM>ŗjqhFeUZuXȝ9l.ɵ'߮sR+c=5Kgr+,@Hc ę4x#a kIi6dy$] |Cֶ_ogT k; _2̈́5pjӷ7@Eq<Ò$ B.w'}㵨҇#w)>9> .]P 7l68db=;qF -ܓBzU{PW X":E Ǜs4 }5F=pacaњ/ັpS_n&R9껶kXfF[z&f>Wϳ6 _#;}`ۙ=Nwf}BȆyI~'K lɲSF6B;f}D>܃#m۾^$Gkmfwcq@8Uڮfvpq<=fHB:fC)< >{; k:LYL3o lvw:,qjβxf}?,ZR1&TI(֒J$[y0>L !èJkXO$ANR'v<~@?5g[y` -q_<=!1 3y!Fۦ'-;nr /ndR&F[קN#_LbDƇ::'}a}7%VK)ߍAi'A }RnzjFe*coc3jt64̢lE_ A@ג:Ki\BeÊ0%GjG'|94*:A+.8*2{+͗LL,ʓA 1L|ç1tBoe-ij]$:cS85plhti+v[/-J6"R"`?ISv `(o/`k%dE({ `5<#xJWvxĀO+"=(C,25î|9Sx8%-ei8K(bzyD>Mp`EϤ0=CwŃigCmL t``#D#/.|| aאc4ѻ3'Ua=POG@4̦c3cJYrCNZD\_zgDS {8JSƲM\j@.E)+v x*dD]=ml}lovx ' !oRO_}wn+znendstream -endobj - -37841 0 obj -<>/P 1428 0 R/Type/Annot/A 37842 0 R/Subtype/Link/Rect[93.6008987 340.880005 278.257996 360.559998]/Border[0 0 0]/H/N>> -endobj - -37842 0 obj -<> -endobj - -37843 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37844 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37845 0 obj -<> -endobj - -37846 0 obj -<> -endobj - -37847 0 obj -<> -endobj - -37848 0 obj -<> -endobj - -37849 0 obj -<> -endobj - -37850 0 obj -<> -endobj - -37851 0 obj -<> -endobj - -37852 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37853 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37854 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37855 0 obj -<> -stream -HW]6}ׯУH9$Em-REc rlZ{/EJ2yvE0u}HqW1_^!7)/TKrdZ&-=%Y)i&6]5/mw"4$o-(SnMԤLLaǶ?wmaTɴVyҜ_zݮnYx_IƸg}O~J$5Y ;>|]3a11ōK%FcLᙌ@ Qv PǨ(MBC^D^D%^F%^F%^F^E^E5^G5^G5^Gs} yľ `_D }/ eľ$ؗ{C7{C4 цc"Ն6DCՆ6DCb PjCjІ(}ZA6PmhC>R TET+Ն6@ m"GjCj(B QHPmhC>R Tڎ$Tm"Tmه6@ m"GjCj%(B QHPmhC>R$TE6!`V m"GjCՆ6D#JB QHPmh;&PmhCT>PmhCT>!*fE6!`V m"GUjCՆ6D#*B QHPmhІ(}ZE6!`V m"TETՆ6D#*BhB Q1(B Q1Іafo5~)Og #YIatjONdn>l sap7\nC3 j\B:>wMgrdLr 鲋(9i$ @F17կ3K;B~X}x24CK7 -0V]u<0%s{CQ& zܿt:^y8 4/#_M/M]#МYƪ{jܼwσFoE098' -PgMoC_6)xnWpaW4{^6̰fx_ / RLfiJ]28ӗMlMP0e\)x@+g\-`$Oxe撩r<̝K=A6]SԘlr뛽ZqDTXjKGķCE_?L2?5M1Âjs^7ta4[ ulnVv;wn#U -&(&bw O`Ȝ/!cslN@dkǒ. ӥ]sdDIdTp{)i$hܣ3E.=ʞ94|3bx3.TRer;/TWP8+s)7!Y&f|X̴T ?h=箪K} b9Sչf6X?R5+g7@٭ =ӫڬ͹_ E>T6y0Qbpzُ<"xlf ,qɀwy8A+Œ&Kdd^(&;pGqNf?n!KNOhyYmEtCDzneҚTdd8%TYXP݁G=寰F ,%LCXNYD9GL LA%t.<7r`^V؜C{\ ߵ_3H j; #DYW;+a'(S`7Nw + -Θ./\[Wb  -lwRA! -܁mV{.no\­`p2p pnB֖MU>pnB=r)%Nڊvs.8̥2%r.%vsZ$8ſYZO ̙aZ|tM -1 5)TckK*K5z$Uz{ } OǓۅK܂[з !'£]/p~W6..CX6$/Yf9{y# ]?a䗩_6$7業 E;o`( e9.dJ* )L)7FmץC3fCbK7j8<6>5)SwQuBOQS1n4Ro!/stڣvpqqZR|/_>qhnΙyM!]NߍWmW{6r# n m[ Մ]弤  [ jht;7~lfzN/(ft-\9fT+7 gI,>BVKp; xrmǃG]SCh)6oOad.bIvپ?GcjQ6[ ۺSOwj6v?6H/bIxS؞=#63p+ +Kc /}3ŕVs/U D{"D" -H[!6vW+gCJԇˊ9zo恬ζ?9.+EI_Qe(9hC>+yЗ}D'<7<|dk-c!v#1 ,Ur=JBN:=o_۩k,l];ѫ8A?ym7ߕtv7+~ye˙" PܩL3㐢0rΑPGUtoר"l0(Lw /-yH$4[>v|wQ8J#,5g@~ -vO9a!bU|ZV3j|C8.}l\j#q - lRS޶Arq@zC~ř=ȽgdA 11TT>SK T2~:cCfM[s7χAyU*?GJb-$޹O ?|Z5Rf -K*6ru&:PRF R9aJ~j?5d-#8CmTF4$6M}OQx>)vWX̳b>ϒee](4R}.Ĥd S-U vߺ?np`1piFMy=~m^[r3A1qQL~vsmuRyVDF%OOͥ?$a, E (̜^H @TY*t,jC$ M -{*`E"ʞ-LERnSLa -p=+g|iV-,``Wh;M4hyt]4k:O"_1937g;t:eڑ|~8堂.H?u^2ݭH 1 > +j>TIwW. -t`tǑ ŴaL|0t T2id IvPI[*HgҼ DOqtMXV(lup@B/,f(oSJ8i24W:6)SqOrlƱJ&JΫWC]dS!>{²>OzXXӫ-~â*4Y#\u,6'7/׋jȆ9sc|ޝȯ5ΔU.B͔Klv{lETQFkT"v*qaՋzct{7Һ0HtMJ%\HCUR Ss,Gl1xkZep7j9qu;Vؗo ZZ}T&~;YϣX4+ h܅gb 4e+, R0ۤ$ӛχ7 0ku~endstream -endobj - -37856 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37857 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37858 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37859 0 obj -<> -stream -HW]}ׯl^sO s>ܧ}*OTp2>c3}F(-֑ZK1dqZ!{Kh-Ő%gBk),=kZK1` Vh-Ő%gBk),C -Vh-ŀ%bܳZC -:rBk),bZK1dqCwO1` Nh-Ő%guBk),C Nh-ŀ%bܳ:C R Y{Z'bܳ:[G^h-ŐS XBk),b),C ^h-ŀ%bܳzC R Y{Z/bܳzZ!KpZR Y{Z/b({Kh-ŐS Y}<*ut]D&q8NTj^ܨp\l\tÇd˶lv@ekPXI؆Tt/=+柣\3eU:G|ËbQu[LVft[wՈnr7Zߤ q>)‚Ftty3q[fym0V{Uԃ[esU!R~^d`FdYsiKu *ѦސM##5d}\qxmzdOEw˹L L!$-F/xH߻="U; ߵeݝ.0xo9cjLVEUTnpJ: -/j᣾4mKZfxvJ'˨`Ye -V X`ŀ VX`%V -X` -VX`e VX`倕s$gԒ,,%X -`i҂Kx<` 5g,Z%{Q x3j^yF-k=ϨX{$gKxo<` g,Z%7{Q x3jyF-=ϨX{Kxo>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37861 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37862 0 obj -<> -endobj - -37863 0 obj -<> -endobj - -37864 0 obj -<> -endobj - -37865 0 obj -<> -endobj - -37866 0 obj -<> -endobj - -37867 0 obj -<> -endobj - -37868 0 obj -<> -endobj - -37869 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37870 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37871 0 obj -<> -endobj - -37872 0 obj -<> -endobj - -37873 0 obj -<> -endobj - -37874 0 obj -<> -endobj - -37875 0 obj -<> -endobj - -37876 0 obj -<> -endobj - -37877 0 obj -<> -endobj - -37878 0 obj -<> -endobj - -37879 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37880 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37881 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37882 0 obj -<> -stream -HWێ9}ϯcd4`v4H#x`j. ;Te8hv:>/u;_~υKl.k1x;-vcJvR|Xau|֛[n]R鲻\F(ED(" b&姉f4]*oyC^Dϯxbøx|=tN,Wet5Re'a> Z|J?A'xFɀ7]fMrbˉiHCV;ŀT"âڕjS XQQQoQoQoQoQoQQQQQ~hQ?0F}`ԇF}`ԇF}dF}d7Ui)4Z!UO1`1ZCVbb\K1d1jƵCqf\K1`1k5Z!Q߸V3R YƵq-ŐŨo\R Xk),F}Z͸bb7Ռk) Z!UO1`1ZCVbb\K1d1ƵCqa\K1`1k Z!Q߸0R YƵq-ŐŨo\kR Xk),F}Zøbb75k),Z!UO1`1ZCVbb\K1d1ZƵCqe\K1`1k-Z!Q߸2R YƵq-ŐŨo\kR Xk),F}Z˸bb7k)Z!UO1`1ZCs^ -gn8VA ᤳCiJ,;ܠOL XIḴp$啪k]p.˥z RC'r%[ie [+pPa1^x|ѝMbmH)Wx5w(]?xq ZKp^ -{~^EH;XDE.9Ny4;("sGeKa.܅':vC) - %jo_8yf8wٗx6 h^Ow iI V31!%NJlYM`9,S}H"<0Ôߜ{[rF K; -Y=ק移Kum;3oiLKHؔ~ -`0+)}T}1/{П.SGkbip-}vvS,?\u j^~$򧠏-(?:/[8ᘶ3L͹Mx*?jny;+jk)ѥ f%ϔnsl{(cY [cuk慛Ecg;(Q_&X8VdaRuȡWpxDlqw~@B\̔𺰚Cd EWd_Me]fh'*]T:p޳NʒqFOM9c$,lJIY6'Hbi KG znZk KOER=JjzL,II,K$$UOduHbMYQ)1.p ?H}9KFNrЧPiPݚBJuH2š#Cta$ʚ#DŽ K4H2IL%v 0/+kdńiS 7C2f ʚ#Κ駻gi\[=rHS$qĴFFfʚ#P2k e"iZCʚ#֐2k ?5GfMZC&͛5` pvT?'=|ʡ,4Ȯ hrاH/t">w #S*JF(0 -k$e9X]Π5G+}",Hb\v 2*!a|*X!5h4I,>XQ Hb%HbG0JC5BB9s0Bj:띝#^1u(W[?yr K9mqXz(LVs}}k?Ҩ,Z.ΣI{z,঒yP<^686^Av\ Swe7gomRӌna)>Elc=tV(jEٍK -&=w,w\&|=싳0agKfB3u]TsA9pt8 _"Y8vu!^>?㾟ŸvB.7DW\I *7Mp:5xmWe}Qy t>szݶa{ES ǰ-= [ -t݆u3`б8eJ8lۓ)Y);q׋µw1(#wzYȍtW -B$LI$|s)8V|vZy!<5Ȯ܅1I _h13~$('3X<} Ujm2[OJ&{F`hP 1-zsxi9zˏi F:mXNx@}2^ Œ=k0XUk9^+=ׂyW[\`F[zw*AyXe$]9O)(Ic^= M@pja^p $Ji}SX I 7mJnAQ_${i$ULW1cȲ_~ eX,z+1!`,F;ϵPe֬hH -M/ 2]a*-/Ѕ#lSMY$ˇeCGĞVZr_AWmt~X͍HmJЕuWFhWCIXꟙV-s_Ԟz֭2 MƁo]b;!,DneJDXEv7xcm޴CpҸެqP(($RL -4u;@ĶSQ{{Z4F&rdmN|XzcWQXcL{peː@wZߋ!'ٵ3@ 5O#.>A7k3,Ơjg> ̷=q[T4-:`"aUD97~iMWL UpT)vUE 3M -xZ :,HoJJ3sy&[" -]h6hakiK1{jG!L+[U,Hn.GTG_>[ؘz~ ʺ MMϐQĕY(%TI :uIC5h̠+4#e1 -IGqBKxw>P{I\9NK&Ұ8X_C[s !`PG-ki}dqI>x2t|P?t,'Yc@ fJ4ф"BEߤJbFݭraa4TF*xaԪ),vtaǪ W_,kI TDYidiN\aF81ժhc,G,Ѽ|"<ʊ80lZNlQDpLn{uOovo`NZendstream -endobj - -37883 0 obj -<> -endobj - -37884 0 obj -<> -endobj - -37885 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37886 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37887 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37888 0 obj -<> -stream -HWiF_~q  `G ղhKBR[CGU9 z_Wϟ߽}k/^~h\_T01*Ml࿪"!ЪRݿUkj*U[w? ^~oVMC'U*2쫦V[G nf:I~j7]_( ,HtYȘC`C[R~ZMBRu f}'O)s -S>ܧ}&ϘLp1>gs=ˬBK}`R Y=ŀ%b),bRK1d YjZ!KpRkR XBj),=KRK1d YjZKH-Ő%g5Bj),=KRK1` ,FH-Ő%g5Bj)Z!R Y=ŐS XBj),=KRK1d YjZKH-Ő%gBj),=KRK1` ,VH-Ő%gBj),!C -,VH-RK1dqZ!{KH-Ő%guBj),=KRK1` ,NH-Ő%guBj),!C ,NH-ŀ%bܳ:!C >R Y=ŀ%b),>o3~jӵi͆vh:[4}S6")_\ ۝/>Uߎ?lO -bФi\S_Kq4-Ua 8\znҏcf?zUW2 aWcJa>VaоZ0=kWSΡoc珿NmSeT'BljNs -F6$yq=jn E -˛==6p Tc0|`XBR"̤jҗq*x.xx7S{L~j?.`35]skbFs% ߹JEݏq(fAèX;?}zM<9S-n`K@ݏ-4& 8;EsZV?qNyb ه8 7b.\buIb7~`4nGA^/Ή _nϜa׬ǥ -uI`eؽNOYmY!+XL Zi9A1XЊV,hL+Z JiVʴ2A+cZ1\ʙV.hT E1dq-K ZiiAK3-#he-VF{!Kbuo-VF{!Kbuo-VF{!Kbuo-VF{!Kbuoŀ%=Ő%hBS Y{+=Ő%hBS Y{+=Ő%hBS Y{+=Ő%hBS Y{+=Ő%hwBS Y\bbX;),AսbX;),AսbX;),AսbX;),AսbXBS Y\bbZyMر\] 0& 5Vp<0aLϻ/txھ,Al|j7Uz7'1,:H't} Pf_Tv֡mlv7&ΔKl]vXV׭zoR0[8NZ^k˙] O}Y+ \ݳAKWmx=[{'Vj~Q}SOUUCSz,Of^{@7ms꙰iZSiwB8cꇥtfj{Xo}|~Xrmۈ޿bRМ4)-R@hj,Q(Ckt޹|GY::~8J٭.qiR\#/͛8[0|&ji,hzc1|b;l)~/n3KsnUUH7. y Iť{ŒtM)$#gty?KɇX©O=(aPi:DMֳ3ңJ$ Dk¤N!<M\ -sdZXvqvPBO/;~Ӌ͜ ϨAK`9r+L2+\rB -*RJ*,XL*Y>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37890 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37891 0 obj -<> -endobj - -37892 0 obj -<> -endobj - -37893 0 obj -<> -endobj - -37894 0 obj -<> -endobj - -37895 0 obj -<> -endobj - -37896 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37897 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37898 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37899 0 obj -<> -stream -HWo"ΦB..Z - FZL)Q!8{gHgFi$$޼}K[r/>M^_T~//vo3&F cCmHZ*_Uݔ5J5epQmj\,UZ-nTrTi&{ҴC}].jߕUsGO.}W_ofqQXJ>)*6oIMmh.\FoAq86p7~ 0 -r&(& PASN992ŐŇ,!+XԻ<ŀe7{[e2Vpo{'w̽;>},Xp3>a}ܧO)s -S>g}&Ϙ\p3eV &0Bj),bRK1dqCwO1` ,FH-Ő%g5Bj),!C,FH-ŀ%bܳ!CR Y{Z#bܳ!VH-ŐS XBj),b),!C -,VH-ŀ%bܳZ!C -R Y{Z+bܳZ!Z!KpRkR Y{Z+b {KH-ŐS Y=ŀ%bܳ:!C R Y{Z'bܳ:!Z!KpRR Y{Z'bRK1d YjZ!KpRRlBj),bRK1dqCwy;ߣ&x. Z@P:a$B`vS7j9{b9W/>?aC: yxzǙ:PREa. 7u.gϰ^e<[_HYؑREE/T ?Ȍ4ެʏamת~{V0bxSra_pWg-r+ -ODIQ'q/Jwn:*2saWrہg_~UV?o֫rL})qbg8gv;Ѯ]oտB'c3ס~Uomy-GᄀcM 8cGDc[M~cG7ү.Z [-g[0ԛEA pH;u1CQ ˂N ˂N\BYyY9eR -Z)ieVƴrA+gZS-q-!kQ XZLK ZiA0-#he-˴ercZ3XЊV"h7BS XBS Y{#=Ő%h7BS Y{+=Őŵ(,),AbX[),AbX[),AbX[),AbX[),AbZC }O1d ZC }O1d ZC }O1d Z{NYLK{!Kb}6vʢZCעn=-ߠk;PMHduh~cVk,IO>n|{jߖ[+w=tMU9tZ2Q~;R3z -, }WU]YoO5a«Yrim󛟻|躦۟ݯ(y]t=qL9إ0fngpZhw=G=z<ݡVSѱ4nPep 7|>Hu:\o 00PޱKbwR\:Fƞ1QTٶnᕙF3}v:KUO^T7GQ|379~t\KcٯZ|&s$ LBwe r1ɡv{÷/7?V7Jc6endstream -endobj - -37900 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37901 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37902 0 obj -<> -endobj - -37903 0 obj -<> -endobj - -37904 0 obj -<> -endobj - -37905 0 obj -<> -endobj - -37906 0 obj -<> -endobj - -37907 0 obj -<> -endobj - -37908 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37909 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37910 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37911 0 obj -<> -stream -HnISZ$_hk,`p&Nwj`*E1T}_V˽ɡP7kԩƉ022" (w1 EwU~iYUQM'ZtFA -Q")JDY6Esׄntޮ6MՏY+7.T2I퍫ʧyeAb7IB7TzQ'PzG:(`ǁF|Z3h7J EH:ĿAo*HCI'E,1aͻ. i2.̮5 Coa %2;z;B2!Ї }H#>"C }DŽ>fcB0 OЧ }JSdV3Z&X.J5p1ŚwQzybͻzZäkГ&XZyCORkbͻzZäkbR5bIj ZyCORkb \Lj] =IaR5bIj ZeR5XZyǚwQzI-ּ'Lj] =IeR5p1Św1$I-ּ'Lj.&X.2Św1$I-ŤkГZ&X.2Z8&X.J5p1ŚwQzybͻzZǤkГ:&XZyCORbͻzZǤkbR5bIjZyCORb \Lj] =IcR5bIjZAȤkE.&X.J5L NhEgKБQ"hOx|!09ϲnD ?MLo4R1oteΫnPsd4m -WLwiM}`tSxXm-bU3hh l:(ŏb6fI$Y>F1N()Ƣ|'|:?iv~!&];:_]^^\狗Bmn1TPEYY?ΒA0-wZӒuy kvN<[Ptz^yqJ[wXL[WjL#Na##"EZx)d?;eYJKnѬK Ǥ n\a &-;88\0I]p;H2\/\ANl|ja4ܲ0{YC߭3q]T~#GC6U7lEhB}6P-sFZ} -JbKfId1ݍ{6Yiuў<=jtI߭Ci*Ckyco-$` :] ^!Ϫ>-Zbu:<.״+/d8|6obkY]>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37913 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37914 0 obj -<> -endobj - -37915 0 obj -<> -endobj - -37916 0 obj -<> -endobj - -37917 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37918 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37919 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37920 0 obj -<> -stream -HWn}GH}0X A ZٔCRr>?Uӗ*qW ǧOS]}'7W?}V~NLQ_UnJU?äկQjpwtp{n^Yb?]/N7D -S%8xuy.n0eg/d.txt{r~~߾;3ZO&!~;3ߛ#S~7ThVMŝ &q*iM(pN!#Q Y|:"ڍ),+L[ Swz{Ag꽠3AP L}> -#SO'A}bꓠ>1YP,L}YfZ'+b),!CWO1dqZ!KPRkR YzZ+bRK1d YjZ!KPRkR XBj),A=KRK1d YjZKH-Ő%gBj),A=KRKR Y\=ŀ%b),bRK1d YjZ!KPRR XBj),A=KRK1d YjZKH-Ő%guBj),A=KRK1` ,NH-Ő%guBj)vZ!R Y\=ŐS XBj),A=KRK1d YjZKH-Ő%gBj),A=KRK1` ,^H-Ő%gBj),!C ,^H-ŎSRK1dqZ!*xR*lpٕR8OW{SFMyr>`:2ثqz}pi~;\|qz̃ߛ'8[utEzZCX>$ڎSF -!SV#񔋖 -UW#+3VvT}\}.T}q\}Dךؚ-gLXxASV3k }-+g^Xݛ5+oG׬y\نy\#UҚ -Ue׬er۰5k}}-u9^N5)"AesExz?qtai'@g,L9?rkǻ>__K,[Op;xK)Xg{tx8ZcsY[KV_`wZ?vZ ?w({U<>Wn?\mtSVawןi!_/2m,;6*׏|^&7Gmū#cb$XZ06d -a83Dg,X|)i,c&3:،[(YڎQa@㲞5{auoV` 7,Mflvaf}bf=ܰ45gaaY[D-Xodi{۶ { Hs/x˛~^ K˻auo76 |I;_?b"D-j]Zs)dt?f7g4 -km ЈJp-@AP;i%Fب6V` Ͽam#]מGl}o{Xpqb$ JNx.EczfPm!m|Ͽ=&&a֙j\E uvJ63mk[E]}V(u~N/9˯&զm5I9V篎9KU s [rcP#.s0Pcib-^1گgKz~E{6W|?j+Z -!8tbm=x$6bq Uou_6,9jbm FmςАۭ=dvU}d;u>p~5}ƵS+[5\Z`ppr~u/Vo-yIij}۽;yߞ k;w]Hg8sWڤ]Ywe׉ g]uڳЕ-{w _oS^!*+sζ/hԻuOW{KPF-wz}|z{o -|.輪{~|ez80JuI2ֲ[<y2g%k{#eeCRe~}-XUzU k{'>>>d~ $pų#qXG ///0AOYz -QnZ,=߰]=MmM%+ %)(()sNz#JRiBϢR!BYrݤTsIP< -rQ6z{GBWX,cy:LxjBMnt|˛?.h}N)izjk/T{)s%K:^T{AsJ"מT{{;rD&מ֩ړ&՞\{BL0`fڇ9 -Qgڇ Qδ&>̊bRKk/iPB kӬ wD4k,Siֆ{AD4k#HSiֆ Syֆt(gm wJLYEC=(_k{L -}S S,|C15 QN/hN^(cP9g LQ>wyNQ~>؆۬Q~&)?!π1E*̓ -s'( 3,X( 3sDQuSua(FaK)sJQ+5yn7U4 _7^SۦU QlNқ1T簯ÿt/׋)(X1|`5C}\ŜL?squ?=ŵߛK4K7Z8aBU5! hPܩpIYW '|AéxH /C7y`y=ʙ<ϱ;Ư~.M X?axϙxm7MEtN'Ngڽav&@Yc ~kN:&ͮ@)^qF_? -@m  -ZDJ88@{bm2:kbj)oeSQgEZkc0pbqJ|ǡT^=yp$bU8"Tn5HaeRP.edu7p[*sC"V@]VaƹpNc7 -lB˯+Bb%Q,^\O ׯnӊ [Qnڵ6qdR_=!kPϐ<^OOuף7oW|qh>v}eK&ҠSz cz@4m(vp$/\pfcכbߍlndEu>2 g/i {ڦHQX ܪX1Cj's }"5 `Th4ㅾ8n#?O n#vvpϧɼ~L+dPZ/]"ߒ1 Qxb>Hib~K7ٛX;gpG{c88/u8}5?C_u7H$;5HHng;wikUv(zU)"xCkC4r;`#9 Y8Jɰa.0?_Essj3 f\UZ)zñТ:6wnЬ@CrApuGsxB#ϫ)BFqP!Fw ml.OB?BVNWPLW"!VJEY/_|PC+;p?&V7-⠸ -lmb hEN+D}BcP3p6oA~uUXd 5? pKw{C7۸. \ rFt8&ɩd$J7_ß _ 6endstream -endobj - -37921 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37922 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37923 0 obj -<> -endobj - -37924 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37925 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37926 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37927 0 obj -<> -stream -HWmoܸ__‘AKr=$Ž "( Z[]'i㺿3%Sl 3!ⷲ?zŋ_\E`P,e -2Jk5,xW˱R]o*7Ob?If0I -V,s9egD<,sɴxĿv0f=}qN3ӈσim>?n)`g3eceA!H$0Rc{le"q1) rmsmG96D%ιO޵J^^^^^^>!'`x}O >%ا`y3}>'`{ }/f9!ZvZ׆(kZ׆(kC޵PkCS TET+պ6@um"{j]jZ(B Q{OPkCS TEֵ!`Vum"{j]!j]| Pj]| Q>{(B Q{OPkCS$TEֵ!`Vum"{j]պ6D=JB Q{OPkZ׆(ZIֵ!`Vum@umٻ6@umٻ6D]պ6D=*B Q{OPkZ׆(ZEֵ!`Vum"TETպ6D=*B Pj]jZ׆(ZEֵPkC޵PkC޵!g_DEQ(?[b?IfQK5xF)KӂmAx%T9|bQ -xJ»^{<\oکgXg<a Uٶ6x[y,=6`_U/pq6ɋHE$ȣwyg\k͗f_*l::g8,C_EzӁT| 俩@fq$R rnāIE;bPxEYuWEص ]{=uM;V:ػݱݚؙNiڛK={X[{>mw=œ;`>]xo*ܗ6 H+rs6kmw(|hvS{o]]5gm-fߦVwEq-2 ܧ(4*8/?~grZjyex<|n+)ӶޚE5VsW4sLMݾ890PPao9^a/o{ӽңtS.8kaWR$:hf ] !_ps۸A2x,mC]8 -h`zٯjPܕ{7,vYZȟ\h&^Vehg#zM32"F>4锩p,B8%̕5nRހzafojlr$89XiXv0\tKZ%qKsUA aĭa22f4E{ӳRwl>생+1{2qS[3Tχ%,c5`z:ESd־M^j9;rB*(׼O7HH+h"2<5Q[yU%]A'zbU%jz7%d(d>%ȯ)PW 6.ȧ2/ %OJeK3 zul~.Õ/r8+h %B)}Y8ןНMf TJGx4uu;""\ ->'Ã\YNp[w]ݛgheT^D=YtDeuZf=Ua}SS蛫XeE? -:nxi) B $NO@*|sbsIƏj'sXK|b3u}G-4)~i܃5sgh@acz,ʏrVd>qj9mSe`(PS.cQw帇R9jȲ' c{>Tp]8wH -p.x`lUs[Mm95wu()SuĶr|hȕk8kోpvQx`3]'_!Kғ}ud_:8uo#Y -TuLZvv5kW_kWkW|]sZkWOkWOkak-oֵاֵڹ?e6 {E) -և-X9E׵ 08b,Ih[|dK&EʢȇRFhU}xΓEO?VrE*,H\ʱF|;,9/K]IJyqR>RdnKHhM$w52$$VOQ,YCf%Ik˞dSpSl6wu -+D0EOf6N{:W!ҩDE's-&sh ʳu_wj. -o*Z,=4hv'O]V4Z&TɌYa~~@S{Zh})m8.hX8~EZ 9!tٮȜIKu]˰ |Y^˛%D2FFH,.%D̞hf 4Uс*&37GqBo-6YcvAqA}бȱAb^Lx V^Ap%#S5ȤF\`r$ج_H1{l5rQ!@4"ldf$؁Kc_j 6#cɔ*r>C,OX#3@QB乖1vsR'ERc~~xyO`ˣendstream -endobj - -37928 0 obj -<>/P 1244 0 R/Type/Annot/A 37929 0 R/Subtype/Link/Rect[93.600502 259.269012 284.173004 278.949005]/Border[0 0 0]/H/N>> -endobj - -37929 0 obj -<> -endobj - -37930 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37931 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37932 0 obj -<> -endobj - -37933 0 obj -<> -endobj - -37934 0 obj -<> -endobj - -37935 0 obj -<> -endobj - -37936 0 obj -<> -endobj - -37937 0 obj -<> -endobj - -37938 0 obj -<> -endobj - -37939 0 obj -<> -endobj - -37940 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37941 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37942 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37943 0 obj -<> -stream -HWoοb?_䲗r^qvp`T"Uc;CR83"pz|-9\͛_/?r~LhJ)lVU6FcYIn\7unmJOFwb0JMR"T̃Znrbm9M*m}ӵxm|47q_|Y~|1J[<}v|f%z|LrpqKdt~-|K*l:y6I>%s*ѹe$!/G1`iYCXԻ<ŀe7{[e2Vpo{'w̽; =s{/s_ -Kܗ})/ }W}%gBh)MZ!R Y=ŐS XBj),=KRK1d YjZKH-Ő%g5Bj),=KRK1` ,FH-Ő%g5Bj),!C,FH-ŶRK1dqZ!{KH-Ő%gBj),=KRK1` ,VH-Ő%gBj),!C -,VH-ŀ%bܳZ!C -6qBj),bRK1dqCwO1` ,NH-Ő%guBj),!C ,NH-ŀ%bܳ:!C R Y{Z'bܳ:!&^H-ŐS XBj),b*rw6\mwb4JMR'eY&i7vWY1_m]]#Sտn i Y5LlY THqLgGr|` ~̫̞͍t~sx~O+zި|12畯BVt?^HPf%;^1_9qK(z`p#zPfdX 3dh -WPVUpVEY㬒iVɴVӪiUVELε(,E1lU-ʹ 2aZVвL -Zi9A1-'h9-ϴV!h7BS GAսb8 -ZPÖPbuo\bZfObuo6{{+=ŰX[)m -uO1l-VV{a&hBS [/Aսbz ZPæJbuo6U\bZvIbuK{'=ŰX;) uO1lq-VN{a#hwBS AսbؼZPöDbu%\bZÆCbuD1%a24~lC>nn.3cgY2+MJ߷MTuV0/tH;F&o/ˏ(MzVplh)Ci~kS]ead/g3-pWqE]t4s߬cvzk*ճ %1@2],^f6%qOnPߞl}7jP#W+:Aw}G}7t^8z6rviͪO4=xwO8:f𼁦6Ý i0,~p0vq_M:n8eo0b` csi2:ٸnX~,<0yym)"c̘~`J¶tvFX:"ws͵dŇ,UjbOw;z!:+Y;ԍsp_pp<.rNî<)涭7lֶnZяsO;ޖ6u5U |qtl4zN7f?y2 <̗Rt%=elx ɜV/CnNXM]sxٳuH?IF,x]'5=zCB@ llWӤ8 'nlN<;efn޾VrwYΝk%U;qdxn:'PE hcA@~7c]C6M^3<]8d&DDzp:0_cx,T0rLV]0-3<Y!21dx?>pT^Ywq^:/gc;1mO3^.Cm 2fĤp|A,2_-[grF MM#|ؾtmƇ< uzDwFKXmý]V >erIyn7&Lt5n|=wa endstream -endobj - -37944 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37945 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37946 0 obj -<> -endobj - -37947 0 obj -<> -endobj - -37948 0 obj -<> -endobj - -37949 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37950 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37951 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37952 0 obj -<> -stream -H|fſxV?/~yTPV[K83ǙMx<)TVλui&q6V4Ycr繙w}_ϸv`J\>7pC?G66QDR| -ުUYl`|}Sxx -kDq-PZKiDٵ(ހF -HoEz [ށNw S>S>S>3>3>s>s>s>  =HEzҋ`h Z%s-P`jFL5dz -L-׈0\# -Skr-P`jFH/րQ ZkS5@z1L-׈0\ Zҋ5`jFH/ր>`jFLϵ@Q2=׈(0\# -Skr(^LS˵@Q Z kDbj-Z -L-׈Z0\# -Skr-P`jFH/ւQ Z kȁQ2=kD\#JZr(^LS5@z1L-kDbjZҋu`j(0\# -Sr(^LS˵@Q ZkDbjZL-׈(0\#JQ2N%f(RXUt2Cg*˼*чUWSoWm}S?vg|wxx\bUݶnGyg,I)Oթ>+.Wg?~|Tm;έyr3pԧSxݪƤq cW lښ?7@C}Zpj|xl.t}~x$ /fx,I)誮'$.:S(Bxd}N?ß}tJzWeix˼=" };\SRS>t=û aj? -͙x>w6q{f/̦{UkJ0qS=nxsS8(`<ss.kk̆G=|AT\nh. m^`sHs|=4~D+.Pxx-tlNo6˸SR8T}n7=܀4ei)[IBw5;vsvf46ISJJ(pgԣ Lu?ںBpp((倗^x9Tx+^ʄW2\x+^*W -偗^xye5^xie^x{D =׈^kD/{z5QKހs(%zo@F\#Jzq-P\# -x[{D-=׈^kD/{ z5QKނs(%zoAF\# -x;{%({D=׈^kD/{z5QKށs(%z@Fw\# -x;{DS{%({%|V 7>; (g{qSij",&06öVo8a&+ƕz@谺8s UIM 'w}v<|'Oafְ3q{տ?~;tJV s~ʩ}8'At7nCxջJtVx⬶w;c?JIp_=Qܵ:b/ϙ$x.|SP/'r+^JW*2 xe+^ʁW. -Ux//<)M{ߒ^xi᥁^xeڴ-)zϵi[R k޷=צoI /{M{ߒ^\%%@6}K{Y{M{ߒ^\%%@6}KJxsmڴ-)zϵi[R k޷=צoI /{M{ߒ^\%Ž=צoI /{M{ߒ^\%%@6}KJxsmڴ-)zϵi[R k޷=צoI /{M{ߒ^)=צoI /{M{ߜOߘq+Pƙ8 -g~>k]w:˲<3~kTvCN])F]lϡ;fS_[ uIg: V‡vy%7Ƕ]7_7ayL'맦0zܬ?o'$ N:<[~jj;@WCrKV/jj3eX:wg4|'ypL|Gjhd4wx} )J|qI_\͡/oiU+ىnPAZQQx Pٓl'.K n88jHެgIkOJxU=趶`,nHuo"$KkIe|r X]3Eb |xֆ:"A GA&HYի O*if?VWRC?rQq1+_ -.f-;IlPsW2W55f;2\6mM4K#qԳQ= -V;58OY^WSVx)Ky=Ǩ~TT沆-R应'-4o T|D t% mtLՊ%_(ewW,XHP JhvqXU:S}!oF5[O;Kδe4/c;XUy:o;'}諝mre1cիn2q}IlJW0'9#D=kGɅfgXK}' %i@/.W*VdH@U0gڍ[p>YCCY^dcʼn";6!e,Fr Vǝ=)5p+ԫ)Àj t4quqz-$YQ1:Fe6fQ݃߼ 0{hendstream -endobj - -37953 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37954 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37955 0 obj -<> -endobj - -37956 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37957 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37958 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37959 0 obj -<> -stream -HWkoF_1b ɰi΃I8Ml1-`\zd[Gdrx9#ͼ>y$ON"b[zu3gǩ3]۬\Eִ&:~,}9,7]jMFOF踲XS-&ILiJ4yRjMNo7k3=ri2)bOq'oibڦnQQ]on}ىw&Yl?iܳ*Je{~ؙ&5ɼ<1&*};v|XFQJN9+Ę,1+,Zm^brSp{{^Wp>S>S>S>3>3>s>s>s KUg-(V{ Vb%,^b{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb{ZZ+1fVbȃJYڽĈZ+1ficv/1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+U@k%,^b{1K@k%,^6JYjm@k%,^6JYjm@k%,^6JYjm@k%,^6JYjm*JAk%,^b{1K/,IgUkETƺ2L'7*Y_iN2R~|s,us9ţ_N_[67m{ECr$·gz g.z3`Ɏ\HaMF~?98W/Di{6RKkeGlA/eEuoG#vS33>ݜ$bw͢}Y);5MIe$>$ٔvrD۬r:$G9]&YގklKÎC=]\%na>LJ2kn=clz_'?ŢWn'yG̎[6Y[6CS:}~v$.> MMuO|B;:/"v:{S -QF,`jSgvny`ڙqћg{7U؝Y܋a2_q/flnh҃?zŽNݒzy߷(qr5s:ݭٶ7l\C90%uG9^Wfl j׊td@wC9oGuc|j&fӊwh3~EZ)1f -J+R*hJ+ZʀVr+hJZ*VJU*hR%ZKbZ#ZViYeZNi9r@%,r@%,r@%,r@%,r@%,r@%,r@%,rA%,%1bKY@KރKY@KރKY@KރKY@KރKY@KރKY@KރKY@KރKY@KރKY@K>KYZKb}}}}}}}}} -r/1fi- ^bZe\eHWqe/'ET 0='H;-w3ګ1EJ~QNʒ8) -ɛ]f,gԙYܚE7d27+~<ңkYj .y6>e 0ǎ^&endstream -endobj - -37960 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37961 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37962 0 obj -<> -endobj - -37963 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37964 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37965 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37966 0 obj -<> -stream -HWmo8_2*$- -nE7=l|(IQ(2+K^K,PlwE*r󐜇3WO?]v I˗\EFO2Eʉ(X")%K%;}"m(#5.M9Utz]]]]䱏^/e,"NR9IdnWۭnWwxAE_->/L fu΁3y"M -ų tPwmX~S&"2Q -V6b %{7+'S"b2fJ D*?14MQ!Fy,eȷTη*Bg3(|Ym{{g{g{g{{{{{{{{y>Ga }/E^!U^!fh}&j}A}6 -6 -6@!mTK6Bj}6Bj}A!RD Pj}A!RD͠j)Z(D͠j)ZfP@QoD Qo3oZfP!{fP!{(D͠jZfP@ QoZfP@ Qo3(}Zַ -Qo3(}Zַ>P-CTַ>P-CT -a!m#mmBT *d *dַ>P-GT -a#mBT -a#mT6@!mT6Bj}6Bj}A!rDm D͠B Pj}A}AU$f^/e,,ɨJ$R&[,P@ej8mK#Y*c]Vٮ]Sn׼lMG X5n_znw3\fȋ#n-_),V7;/?#'dnw:MD'[-^PÜ9)-.v=vH3r9Or՗^gOe,ʔnQOdk"dY(^$l,xH=lcvް%YΖm׮l6)1豹}Co'Yz3N@ES~ɅMS=|!wG&uGBMэCz+"l -i!g>~-|oڶ~7OPog'~-Ywa0SnlxЁְ.*g[%=wv˝{7&D3\׺uy1ci6^Ez+p,h%Egp{.nϣw={"ШdBB[y̙ͧ\ug_Ӏ={X˪ہx܎[{\ɽ(QƹRN.3Lsmn uV{q^mʺ=B&BҹWO-4gpgv(G훫rgM ۫_?9.x" yi\r6疇n!:}ؖSrq?<]qlTv*.*E"%3:CDH^sG)g4kDچ-tH&<ɋb`ɕ{02){^HLj*sL`/h~[̗҄{# ko_q7M;fId4n4D%)M @-Rhn򘘫qJp̳jWG*պYŦ4;-!dq_'+9.a,&wui >_; r.ȧ돿~{ /IzBd"J(ҁI}xikaEXGSaq?Jm[kU]~3rs=zzkO=(չY$; з/_n~^~tMV͡ Y86ТYڒcږX},Yȸ/S%Jb>-sL{KWAF cu;Vȍ ڳIj+c>D3ͽƷ,' ҸsכmcJBN1:2kj%E.O aݰMW.>UvRJ8A2˧{e6D{?H8nݕ%i!qS41 (ƖkA"ۡ)q|+)3lcQtEz߉xCY,edz9io]c[S,,>r.lZhz)9nic,2m?}b^Y1@MfnG*1qN:>uhStIHIΈ4JWH+HWkW_W 2+SXA`ɲ=͒4Kj+VbŲeU,XN`9WJ+QT-Ƚr/5vʽKނK]r@.͒@.Rw Rc`;{ TȽX*^j,{r/5vʽKށK]r@.R RcfI\ Rc`{{ T=ȽX*^j,{r/5vʽKރK]rA.R Rc`' RcfI\ RcfP[ؽKf{Jh MMLB)u'ǧ,NA~;K .ժZGTa3c -u ӄX?7鑲^j2Wc.;ޭ5fżY޽}Or{96~vC*b<}ynQ+d լ#Wl3UVd e]l&j98=;۪?f(2XoYP:Σ[?,}}9ߝEcIw2?[{eiIĤ-oUlVU}`'@ mM!΅;v|04{p:P{^~ ΢:=\&L{<[޿S5`e-endstream -endobj - -37967 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37968 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37969 0 obj -<> -endobj - -37970 0 obj -<> -endobj - -37971 0 obj -<> -endobj - -37972 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37973 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37974 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37975 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37976 0 obj -<> -endobj - -37977 0 obj -<> -endobj - -37978 0 obj -<> -endobj - -37979 0 obj -<> -endobj - -37980 0 obj -<> -endobj - -37981 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37982 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37983 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -37984 0 obj -<> -stream -HWm_)}K"E" là%D[""pIj9;r8s8zvyf._^Q^:w$M"K+#lL<ӉURG6Jc$E#_S54_ݩ4z4;qi~Sⱏ^mCT"(E s<-ŦT0l"gܻoUbsly6N\]P_&4#(IqܝaC?E:QET,>[C*"*u( >Q跨S`d!*\%e">DYEK>@) -+ -kkk  [ [ [ g ,`1쳀}ΰ9> <`_0싀}/%þ ؗ @-#Ũ>@1>DQ!{ZC>PbTK}bUjPjQ @Q-!aV1>@1>D1*Fԇ(}ZŨŨŰTRjZ;GQ-!*dO}bTK} -SB(Fԇ(}ZͨŰTRRj5ZC>PfTK}bTK}bՌjQ @Q-Q-!aV3>D1jFw ZCTȞŨ>DPjQ @Q-!a0>@1>D1Fԇ(}ZèŨŰTkRj ZZC>PaTK}b5jYFԇ=Q-!*dO} -ٗIYF3w6znb{d:Q$YV9z9?z/޴ UEůZtsۨ4o>l”sJU&Ov{ld׵lTZ_Z1a;WC Y֍Zv2.▷;q]1ׅi$pK t;!ϴ# o@ne+>.@30I&늡 -tݮͽ_8ӅRy2 ݮx+^T'{pKM/U/N4 ;qDlؤԸ\ 7z[gU4ާ3:rnZ\7O'g49O?.aI>7NG&/"M >in{j7MvjLA=DeNe25-eLS!ql<D4Vs_K4tS)];(Lg^V02%=q}pgl9?Y lX ij8FT*WIaS!_I)@3FΛ\Wm5Rsºǥ!Ot [L`8a/_ETj8չI|ClxG8ǷXi5ퟟA7$n1&,_\r*sap "&]ϕ²\Ǯ%ko-TQmҩ sga w̗P5i|monӲ|:p7qI:SI$|`/zT\BBo'!Ș4^4ñiK|CxBS"j&2g!nlc\k/ /~nO_.szl٥y"j6pyR?҆@P9q H%7?2Ie*ćQ5 -Mv཈kF&Nhf2;yRFBL`K'Ra'Vj :1̬XLŷTԷױP0v4V\{|,Mr[Ԡ} -tad˵?%Ir}f"״1FkML%Ku*D̟c^+kf9g]t -aj$t b- -ß dMINdMF%CCkם[Gw}bk!ޜ3&9= .Tف ak0e"̊Pi~@õ!OO*7xrȜK,Y%\ULxsf렢=v\ʖ6,Rqf9j|b4 &Cqrv8̆VIQg Z㗃]{lܽ̾'u0nk6AsK=w:hʓdb)M -GRf$opIa ^eUIؔdM|sa $螖X <붯U|9`."GPHd 0]r5k44Oz='yoބN/BD;sZ>0# ͹́~פj72,y0B m~x'S\y [g* *4aZׇ%p7nκjRΎwQcYJW3Q5kD&M Gf;  vWe4LӘM3gK´q).sنJΏ&SP2xu1F}[тYjUN~1YPWMf1f'chR0yjBGq!\3.s:l$ߟɓ[u{ЁB,]vsKA -Gj}U"3s/T~p<2G(kG,7}=CW n?cΜwA蔺L <%?ovmB+r=Hzi)b7h{ ? $O~ 0=Qendstream -endobj - -37985 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37986 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37987 0 obj -<> -endobj - -37988 0 obj -<> -endobj - -37989 0 obj -<> -endobj - -37990 0 obj -<> -endobj - -37991 0 obj -<> -endobj - -37992 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -37993 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -37994 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -37995 0 obj -<> -stream -H4;0=+ %B0EBi:$@@YFgqy DG&Ŭa=Bk]vz_4uS$!1e6/3n'OA,endstream -endobj - -37996 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -37997 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -37998 0 obj -<> -endobj - -37999 0 obj -<> -endobj - -38000 0 obj -<> -endobj - -38001 0 obj -<> -endobj - -38002 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38003 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38004 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38005 0 obj -<> -stream -HrFy9u*T;ZLR$(>v 3=&ǎP;B}O>%ԧPxVc@cHPkRz;ގE֎!Ew\+ 1k%Z;Z;q$\kǐ";kPkRzǵpCPVc@cHJµv )BZI֎E֎!媷c@cHRz;Z;q"\kǐ";UkPkRzǵpCPVc@cH*µv )BZE֎E֎!Ew\1kZ; -4Z;ގE֎!媷cHPkRzǵpCPVc@cHjµv )BZM֎E֎!Ew\ 1k5Z;Z;q&\kǐ";Մk*0kRz;Z;ގ!Oyg|өbMAD&d#\Ϧ_l\5"t\v/U|/$uh9=>G>2 -#2eˬ:Dz,լ+IKSx$H:jp~{Oĺxa,2iCԋ_^Z/EGrLS 1bYe,yUV>ǚKguc66J9!0j@JUՙH&euiSq[IB.瞪 Řu 8Ę:l`TQ+6@{j,Nx:@O1Hjgnfeֳ2_>eaj>P`p,s_p!f{f0IjqX! 6%$XoQ~Caj·:;購{4"ikLk "z$ܖ9/rezÚ=…y-vBg`]?5䝒Ok=GVz?䟏Y6\gbrjQ\bMLNѲKq^]wrv*ctj?÷a.Ŧ,bM}JyYdbVQ7={%N~ճo,\r[ҧu]zVٿM -gP"mSnEZSkC>0stJFE ^Jr0gy70@_ì .7Mxwx>a 2^kZ[yewbŞYj\} ł 0zendstream -endobj - -38006 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38007 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38008 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38009 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38010 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38011 0 obj -<> -stream -HW]o۸}ׯӅ)bQ`m-@brVҴH-(RQppt>on}G/_67qB:̈85iE1$~x\*omS5my(mA]jݬ?2zYX$mlg&Y>DwߏǢޖB'۫w'|ǾhZeV T}D-İ3qQVDL6g$b/.80Sta>Ɔax"oCTo!ʳ!J(;!y(A{A{I{I{I{EW{EW{M{M{M{C7{C7`S}O i>#g`-->,'D Tm"Tm -6@m"j}jZ(B Q@PoC>P TEַ!`Vm"j}6D -B Q@Po;DPoCT޷PoCT޷!*dEַ!`Vm"j}6DJB Q@PoZ߆(}ZIַ!`Vm"TET+ 6DJB)B Q!{(B Q!{߆oZ߆(}ZEַ!`Vm"TET6D*B Pj}jZ߆(}ZEַPoC>P"TETC 6D}6D}BYkUps^5G<^" vxp\cl>Dw|*z%}^o~753Zij[˔I Ԗ}1 *dvyYu#D$ PѶusq!80[+q,gz߾-0%*^oDMdqVD)Hd'B\,1TU@DJ Z̻SDLL < I9YӳӞplfϨ^*+[ٴ-.5M{UA6Ci^dk]̄n{ߗ$bپp;qt j^N(@sۂ4qhg]FNeZ l#x,s -31l/tx8!kDs+Z /q+8+f0gۿTq8pOHd4yY%2J>gt5tNe"? Hf ͞ kS*D8CJ3GCYoG Lvw틪Gr|n/XA+g%^_/r貎~-1oۮoA)ϗTwuGwBcͱ/G \ z{ZOiگ"D'M %c]/w+,WʬA0SSQa [=uC=bd<7<YخIC"[˷/qPP%\~6JCm>G]H횪j-01;;O+9WЯB%\Wu UH뽏2Hs% O+Jd,Qri +lӿ"2 ԯ[Axfs804C1Cײwںq 5PB]F|> 6X̌ |zAf٧+gkLd.zD!$f*|5FkF*Px nwy' K7os' 4F&v6\/3|xt>zIk.|2ݾyu7Ͷ3ƦkXrȀCI!7hifW JJ7h;%s93v=>8dI3XY{PHiUUaWi$ae%,˰,aU "aUY .9ea \aI’ KbXR&,Ͱ4ae0,CX9 +gX9a ^1c͹ɽbr5bX$=֜ak&Xs.c͹ɽfr5bX$=֜ak&Xs.Erc͹ɽfr5bX$=֜ak&Xs.Erc͹ɽar5,=֜a&Xs.Eroc͹ɽar5bX$=֜a&Xs.Eroc͹ɽar5bX$=֜aL\5p1ǚsQV%2N?47'{Ȫj:+?iM{Xsw@~ GgM7n4p(|d[N^⩂'=5|jPpL(CFfmKkدn~ꂳBk V - 钹eT* Cvwh' ͉4ǮmꂵJmiKV#?6ͫW/_A,* 2c}8\߇UzA ɥy*߿z_}w.)+4䘾;s3A/@q\,˺nwRG+RzUTTB͈M{޵~]FŽ-͜f\v\ 8{y]V(_o]ӾUUaWi$ae%,˰,aU "aU.5vdX$Ò",Űai K3,MXa2 VΰrVNX"WLErc-^1Z[#ɽbrзEXLEXLEXLEXLEXLEXLEXLEXLEXL؅Y=B=B=B=B=B=B=B=B=B=B0+grз.brз[񍫝d(z;_7_:y!TnF>Wpʇc}R{\H#Yw5Mm - -'cx*׏#s\ ]~&]|ekEea&Ee24Y}= /k7-/nٌͷױ>.wM7և]Ʉ)2X& eR -QYi}ORC?-v{jђ}*Y˜E)uʲpBxkanw -~*.ӱ ,ex!{f -å__XMw -29ׯ]JҺ vBn:7׽DZs`n./}޸zm.D1o{5̑ -E877 x4l@- -ך)<WxE'Чa3 C8g޾8=9_wendstream -endobj - -38012 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38013 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38014 0 obj -<> -endobj - -38015 0 obj -<> -endobj - -38016 0 obj -<> -endobj - -38017 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38018 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38019 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38020 0 obj -<> -stream -HWko_7Ys|lh7M;0HKqΐdL3ggϬm<9} ~zyGd6A_U;ZN'VeAQ֑QNߕEW})7eVKVZgEtZK***sUlrUMl`Y7X:ufϟ+M;/~bbI5NX+u1V+jR6 -DPN@8&vD1d(,c8`Jn 7O1`Ye2Np{'w̽; =sO s>'}*OTp2>c3}g9s s>slf0FVZ!{!lj0CMbbܳR Y{6VZKZ!KpϦ -SK1d Zaj),aj),=Z+L-Ő%gSk6rR Y=ŀ%L-ŐS Y=ŀ%L-Ő%gS넩lj00CMbܳuR XR Y{6NZ!KpϦ SK1` SK1d :aj),=Z'L-Ŷb),aj),b),aj),=Z/L-Ő%gS녩lj0CMbbܳR Y{6^ZKZ!KpϦ SK1d zaj)aj),bb),>W1wFϊ(2@P4S65/~?~mU ?쮭r,?_̮V'ڕ݉zvgʼn2sDXfuRЋm{=aXSUI>8Qb[^9^䦭jX7K"'׮T?l6z;^+s1L' - A;`}HB=cٗZ ??(=MurTK,0 -X;O1RY)tN=k-6RU]Nu:=~0s*tÈ TO׃tw.߼}qv14&qK؋!׹%1ƒ'XŠz/|I{mCwdƔg__~e/D=yll>i?cѾ#/:W-b!Is:W]򤤙l+Uo7t4(!ڬauWÍ_`pv$MJ~~~w?n'26:W6*E:rO1dq-K=Őŵ!7~?+\:eTq=+3mUST۶T ʒ,lJ\UX \t岫L ֈcG*;ԟuUUw]vnYn[Uժ?x@xl*6+3Kt']u>҇jt}' -< uYPɒwmՕwm۴ջrܶ򸙋/M*W\ф\gߵbHaPuY#b|=V+W'{\v\u\/]3^,f'7j޲ܱ!GpirYBnHM~ecϠd>@gMgTH^vmă5pd$tC[arU-USd+{QnaŢ#c r$Iz\26VeEѩIѮ]Wnw'᪏x-7}f߱*`c&`CKi'2.dBo:"aT{7ɬni86a- .}!!YJx.B-3RO4-KmzÐ4=2za}ջ [b ,͍,PMK@#![_ -efg Rށԧb=L*LqANf Ψ06B8$)<h80HMKԱD `-)ߐ`<$vA)XFئ-['(*SR@j]Cfdpd#P9"iYTeE9\ U&8U!ltu -T0趱endstream -endobj - -38021 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38022 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38023 0 obj -<> -endobj - -38024 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38025 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38026 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38027 0 obj -<> -stream -HWnH}W4f_Ef_xi άelCD9H~VQ$%Wb.dNNW.'L}"OTP2>e3A}gS s>L}>YfZ"+b),!CWO1dqZ!KPRkR YzZ+bRK1d YjZ!KPRkR XBj),A=KRK1d YjZKH-Ő%gBj),A=KRKUR Y\=ŀ%b),bRK1d YjZ!KPRR XBj),A=KRK1d YjZKH-Ő%guBj),A=KRK1` ,NH-Ő%guBj)Z!R Y\=ŐS XBj),A=KRK1d YjZKH-Ő%gBj),A=KRK1` ,^H-Ő%gBj),!C ,^H-VQ"b),!CWO1dqAៃ*z9NSFM;4 j>N_Kunnf|ޞ|9hc lzӯ''LZmq]7Y,$''O]&zPY.XzYly/7ͰY+Ё޺lYy@dz[;?N?X c;aEG[}+CK~ I[yOrg/ 4aa x)65q:˓dQGeXcd\ֲ ``¿oA޲o_a߫r[/7>\S{bIٶXcw~ξ'} 76ējU-vyߍ5`:̄q:줉k#ʀb'9Ae=>b\31~(E+QZ˫3qb麙qlk2F'? V;鮩%7:((VzߟF Eu+f訃a(w?複n9 "BI!|a>{oAxu9FpuF3{D1d9SQ݊`<+-t6͓ ug%/qI6` chOּzO|] A.*8Jn""4'lx g 9Is3lV*Tjed`)c2endstream -endobj - -38028 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38029 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38030 0 obj -<> -endobj - -38031 0 obj -<> -endobj - -38032 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38033 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38034 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38035 0 obj -<> -stream -HWn8}WQ شH6$lIYm+ѥW|VM1.S,|.1?~x￿y6_ƋIrRfdJm0KX=]UǾڅ}ECflwp{ -$>,mFops-T|mq&P+/oxA8eqQds(r1i50?D8zoqBL8&( r9)Gr1dù8Y,E\] XP/

'SSSSSO}JO=>gS3O}N=9>S_=r´.p!Wb"\bջ|.,µ.,BZAŐE\+׺׺kZCs \b"\b"{k] Yzϵpp!PVu1d= -µ.p!Wb"\bջ|.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] Yzϵpp!PVu1d=Jµ. ZCŀEŐw1d] Xk] Yzϵ ZCsmBŀEŐE\u1d=&k] Xk] Yzϵ ZCsmBŀEŐE\u1d=&k] ZCŀEŐw1d VE,5mpE!K4-mFcn9O]اtvem:xYUv.m4 #+4ݳh~}kT\O3Fev6o dGZA1YgM*Gv55n5Y -iBzlk.yR;=#h×j|5 V{=U=,x9=;)ԳW)QrQ{3mAS'Q`|#,4N̲8I.<[D<˘8bRX\On>f8J9(wHajlx(+̓SN] %KSlwT%@h% ٜdNg;)a0XD$ fJ62-~3 %yTwi{ 4eGC0=(TmnVۇi`U5z'us:#]E_紛%FP%sHR(݋ISBEWk[V}g+p7Lct4m.oGy|u5_̕RCӗe|׍Ed]4͗w6 4ՀMM͉4s!sx&^&LAPbF/"Apݢ -{ ^vo֔KLQ,hVnm`*`aXvmbj[MeOB!lYZqK j8̹*SUǞ&0tX׃S -T,Qx稞2NX,~[tjN:IqEe QQ/2eUޢ13Ws0aD/"B%ZL7sEt<.$>/:3"w HStoBcD}(!A*LL=\Uq_C;bv6q XlMsO5x}GgZt?'h?y $BX~ﮗ#3=R*쵤m~ kr_C>Ǜ܄jFq"fJq8]CaϢQ(xBH8+@"=L(cl&m9y|ymvl[K q).zH}0Ro `9qC`W|݅Q6BeZV¯CLRY3)FÎyůT>yJ ?*A+ SdXI58-kJZ'(1\Zlxxi--K/4)2o6_>R6h5`r`(r.Q-5 -9D(D-6XVev|]""endstream -endobj - -38036 0 obj -<>/P 1381 0 R/Type/Annot/A 38159 0 R/Subtype/Link/Rect[93.5999985 567.229004 184.404007 586.908997]/Border[0 0 0]/H/N>> -endobj - -38037 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38038 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38039 0 obj -<> -endobj - -38040 0 obj -<> -endobj - -38041 0 obj -<> -endobj - -38042 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38043 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38044 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38045 0 obj -<> -stream -H|Wn}W4!6žblk# $C8-k9Kr,+A=U K!OxtNxO^߾HI+eD(U"Ku(ѹ bHQ.{mWU+%&[% - 1Eb B?F^äJ"y}vudUna[Uf.l>𹊤Lw~pkD&Ql!1/ NY~@GJ< O?N#@8]`P1`d=!OGmGEK铧6@)+kkk' c0}°O<)>ا c13}ư<> c3se[e{hm(FԆ(=Q-!gOmSRjZjCSbTKmbTKmb{Uj Q {OQ-Q-!aV16D1=*F(FԆ(ZŨŰTR.Ќj Q>{jZjCϞ峧6@16D1=jFԆ(ZͨŨŰTRj5ZjZjCSfTKmb{Ռj Pj Q {OQ-!aV3]`R|(FԆ(=!gOmbTKmb{5j Q {OQ-Q-!a06D1=F(FԆ(ZèŰTkRRj ZjCSaTKm aTKmSR|Ԇ(FlYrB}`'ZGJpx޻8c EÛ_6Tn(ԯApm+ʡjƌCw(9eQ*Y?hƈTQ>*"I57=4J\`Q&CۉTzsAc.x:`u) ǡCS/l!Hmg0N"s x^uU=kl&}Z%):o9: ]{ؿ?ӑoݷ?z`myX_siRs9pr>Y7`]@[5-KddVe$Xwr#J9)~pHdz9žwۗH{1 7NaxŊILXUG=CW4: v=clElSW njz τ]ݖ_@'d= ::ī{:5ƚxHcp 4o¦ľs= ^'G]_8 & vXع -pz>8^ 00'OE)v% -Ld9x5>61P{oˍ[u ń{?dFRkGM~15m^;h1(jE72L⛧Qo:.|X'Y\:[N̋CS ~^؃zgka^baOrô-Hƹ"Ƈd*=M2h"CMtI3elصӖQV0ؗ]uځc Yॐfps&AB%y`4hpj%g5\$C1/i_t/3|C*s`.9yLOX,,hv1gx 8y[7RyVübZL%vƻz$^qW/wNPuovO`~4-iռ-h߉;Bz;ccwVjڍ^žJJ8k-׫NI1SRb0חMXWcSCi^(? \:|x,u!.PO4i al$|rmnJ͋Uj͌]eT0$({sL$q 3 -]e0.FR4Z҈OI}<;ziH[u{^f09(?4#z*g6/x1t{.Z hj@.l$l&0 5vk>p oE~b>:|60x>=VТqg{50o1gW㌳T Wk.k$2I2p3:a23dȲpS nN.d~g=ዝHu~@-ZqtWn6+rW(RBObRE ߺ([ -,;C"%DR$gy_d4N`h<+٥݅~ r <"p$N{9=E&5!6W &2Կ,"J]fy<4JFӴޱ*!~TڝXT6#M^V@LR%+Oݫsh\ -χq$̎"wvП/e #d1ŕўGpHYb Z0"!z]DohQi׶ !ᡒ3qR\kP;OVx;.'t;ae!)i{j/t2ۤhl9?`nRn՛VAg| ~tks y&gg=`PF@?f3*N]Vn/ YNWS0Uh_E![%̯_t oz2=\]tv~6&3o[$o; Y2ɠ \Q~嶤.W2݆30GM 4"2ORcم[Q-,[63+8 :5}2Q QgxN "]nJ/.Ӈ{]7L!8n/9 S?g:.=L fBt e`GD}9{ -Ԯˡ-EQEu%U<*e9֗/;&N9 toU")&|?ڋo=\$onUJz5gsx%&r+ؒoLlg ՜} O;)ɒlON(QmfY)ekWbWMs1v( -%TBTbo6"Ĥb$K[{ls nhpK%]Y#Oօy%`T<78\ Y!=(גP@W>ͯ6X3e"z㙟0@JV̝ =35EǾPT|NAD+ 29}ԧ7 SpŞg$3y 92ųN)]DK7[Ebg`˚ވB'YGB%A5O֜ >B{a} -:K[tz}9RIs~éf? mb痻`#0endstream -endobj - -38046 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38047 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38048 0 obj -<> -endobj - -38049 0 obj -<> -endobj - -38050 0 obj -<> -endobj - -38051 0 obj -<> -endobj - -38052 0 obj -<> -endobj - -38053 0 obj -<> -endobj - -38054 0 obj -<> -endobj - -38055 0 obj -<> -endobj - -38056 0 obj -<> -endobj - -38057 0 obj -<> -endobj - -38058 0 obj -<> -endobj - -38059 0 obj -<> -endobj - -38060 0 obj -<> -endobj - -38061 0 obj -<> -endobj - -38062 0 obj -<> -endobj - -38063 0 obj -<> -endobj - -38064 0 obj -<> -endobj - -38065 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38066 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38067 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38068 0 obj -<> -stream -HW]:}ϯj_zVC߱"+X -$@(tgp;`4q҉]îOqթ]y[Nӛ_z8{şХ ~J͌S4}-kYqf[͋n]s:+vhn%z,/`˻C#@ Qy(!rTbC!P)w!r P`/3`/3`2`2`2`3`3`o2`o2`o2`o3`o3W*c_쫌#ػ#ػ''ghSۮjSr PjSr Q9(B QLPmjC>S$TE6!`VMm"gjSզ6D3JB QLPmjԆ(}ZI6!`VMmBMm٧6@Mm٧6DSզ6D3*B QLPmjԆ(}ZE6!`VMm"TETզ6D3*B PjSjԆ(}ZE6 -M6!*gE6!*gOm"TET զ6D3jB PjSj5Ԇ(}ZM6PmjC>S&TET զ6@Mm"gՄjSj5Զ+ Ԇ}jԆ}jCTޗ{8 WYϊ +vKˬl+Msȥ̀\V#>vG?-*+0_nϮ+ͮih_aw7$"mv)a~.*_ -x?`.TUlb0ߩ|.V0W@٘>m2ǹRU¤9pYzߛc,ªrĚ*` Q(W -Ո ,zWbAIO0>.ҨoS?ח8lO`nԗRL|u\\g[sd{߳t5=q}T*e@դ:&DSeXm}</Aն;BI@PA4=mWl\ uf [{^;CPޞ*7޳*r<[(J)x|%j=`V{Bv?찋Uݦ<9\lVJKkmv ,kpocpʄQXqಯ]l̞v_U<g_y9*U^ 0vD`֩__:Qwѱ;lxVm}jYHѳMԅ zNX#]A0ji d+(gww=fu =eV{ÚCp7ݞҸ?JRϢ9s8KXc^q¨Bqp}a훤yc3{ihK'Ĉ1&梽TSAꓩdo ) !2ђ籕n2Vb݆ߺ,їI""J@ŪWOx>a#`Q(!}{jmPq#XjC45$"&98YRCb3Mxtܺ =zY;0œ,h~488㷿qmaÝ͇˰ rHpLlb6b\q.;W%L21&/ƻKPcL.VŚ~":҉#}TRML(~ \<CΔ+;  pJbe qVd<<Kg50/]ߠaww? -S7<T[7"qPesd<]±&„Л{VWnMw[f]mtJm}#NQ^Y^rZ;-wgbO޽mM[N1sF)@#gXnN=fRx@vOs4O]EjՂUYyMiǟH ٲޅ/*T?R>v&LBb_oJglץTQ, :A0Z -gw%㎝_CS1+cJ&̜%jDZI0)v7(rDJ,+ǖ-,JS,y_r95N% #< YGʆzxWu(K6F#Y:^vUOy`#-[ -TDR?˴񹾬nbUTtn g&h5v2tf׵f/Ru{^}KQKu1v([2C\1 ,s"yOp/a:!H<=Ërn -10LHqPJyM V!5:ҐKvV,V鈐 Sp߸rIYspaK 60/ Yٞ?fwVמ˲}R$TW#"츊&MaI^IRWI]$ yI Rs4BY:9Xp?wc~u9G] դf?j %J%Lr؞Y#P=XfC.4)8f]|ۆk[opB1W,%p84꿒K@ :aFPOg`KN867H uFm)T\W6ksx* 3d\e5ݶMI`o -e徤GzQ ˧l>+WV/endstream -endobj - -38069 0 obj -<> -endobj - -38070 0 obj -<> -endobj - -38071 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38072 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38073 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38074 0 obj -<> -stream -HWn8}WQlZHvlN2X"q(ݴ[.ޖ=-^ti:d<>$:awo4Wo^G LYIbsqSD:nj_uCutOCjnxHq s2-M}Jv.aYД0vynf$iWꧮj}ժn7: f-@ Ҝi„j-}jmao#NX|i|OxG% `пmT329e)=My@1 -1`QCg QsD}y^"e^"e^"e@Q_KD}/g)bZk#4+TcB\c1 -f!2ĵ>Y q qi>p-C\c\f!2ĵ>Y q qi>p-C\c\Xqĵ>YzZӬPiVǀ4 Q#1Bk} Xk}Lk9Z,D}Zǀ4 Q#1Bk} Xk}Lk9Z,D}ZH 1 -f}LB>,ĵ>Yqi>p@\cB\c\+f! -ĵ>,ĵ>Yqi>p@\cB\c\+f! -ĵ>FZӬP qiV4+T_,E涍^m co#~(+IyoS2cnJ|UwPm;giX -:͔߽rzݔd%gf -y>Q);էf%IyPGCX2ڎn iS{4=pmz[ۯ`vn4 *MjD4 }=8!0}rd!jr;iٙt_Tz%ޡ~Ǻ,?zqE\[fwƂV!(AH&,I~=TlҜ6kf܅AJ5QX)?7in+@!.,N#4rKYQo|( AKg &pnvkTƅOD7$IKk!Ϛy}88.%ZC\]5Aŋk&o$cBJ]3?y,;@:xόU;isu{׻FƫC[7~H)$7QMC:JdK GdL= Y/ʶQ@c{< Ǧ?)Eo8["܋`E\, -pN8 ST6?b: v6+ch =8}YrSಒ&Y?Yb$)Mp4/t(VE5.r{N-חKIE -,|(zr 9!_89xmBZڐ Իt{ccPP@<۶;|,d?04צ~wV9ګda@@W:>ꁌކAiʅ_Ng)Snx'HGtLtJК󴜼YnC4 ߟOs}Еk:-pF:!rş肦|nohl&sHRțOtxPX`ܥRpt/GksG9vrs vB 4 T @"4y||:ǯԷ-D;,zq K؜ -_xtOE1_PS .t?h32?Wi VE9绁AN_eC!p䭕-9Ο -+tDً w t*]_,,"BL#{O i@ömBfIP)T -!w]?:LS9^hBj>/BI3{4? ߜ˙ wd"8-K2Fxa&d%^!khiieZ^PhS8)KBcn)uWz1UJ xr^`*ƧԨ5tmkwN◌I{vױ>DW>7V;o IP3|ݶOq%~*տ- Db,d9]f?cKՊ%L!UT蠘1gC(y.XܛompS(iY!dBjqW R/Q>&U[j&@D^}?lgf<7&^ S[jG#J׍B] VоVoI,)Ѩtsh6<F=.@O<(6RsK+E^/UK&yj! չߏؕ!Zt~JBuWͮ|3#d(|4ecg >ӝRCsS(nՋR;*:R;M`j$9$(vdYb,,* E*t1P2CG cf?ao:EoeMXDhyت{~i$V@['H>3K2:-71Cպ4M杻v<_@rFKCIno6rh.&^Q_0%qJ\Uܗq@&D:h&px"2npɌ?tj~Euv+QӮLn-^ -bO^DIc_y}evGw#?Q5eUw9zjVx1WKKFf; _hfi,eؼܣQe¯4Ǯ\$K#.dC20`.-@daKf ]a&UMTZ ˶DG9u>r3d )(Q3rIQlVLĨ}Uzm׺jJBR:۽WIQ4^JM~53T"KD_׺m¦;O|,#lƺQj%<(0.6vp2Cn^Gnw 8]Ndǰ%e/yԛٲż@9UMw"PtsuH̕r*V<({<,2n h[U;/cᔦ$d} 2K.nDx *HA/,k,ikGU9xsW/>QJ#^W/88ϨgByiP/&endstream -endobj - -38075 0 obj -<>/P 935 0 R/Type/Annot/A 38076 0 R/Subtype/Link/Rect[93.6003036 435.230011 298.140991 454.908997]/Border[0 0 0]/H/N>> -endobj - -38076 0 obj -<> -endobj - -38077 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38078 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38079 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38080 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38081 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38082 0 obj -<> -stream -HWk6_A`hė"A-6̠XTW3^Ro: :>$/﹤nKo޿%oxzT4!?DBKFT^@%9n?7uQ7y&ߓ&nȱ^Jv/I$Q]mhlw MiIN]Zei/nO&~'35{oX+N ns_a2?6i}}Q쳈-oNSGHܗ0y"4 ’>rx }&a KPxDڜ$!٘f(uYYa)u999;9;9;^8^8%^:%^:%^:CD}>BGQ9#D}䨏>FǎQ8DYJ!1rژfmL\6,ĵ6Yzǵ qiq-C\kcB\kcw\ژf!2ĵ6,ĵ6Yzǵ qiq-C\kcB\kcw\ژf!2ĵ6Vzqiƀ4Uoc媷1`!1B;kmLk9ZZ,DZ4 Q︖#1`!1B;kmLk9ZZ,DZ4 Q︖#kmL\6,ĵ6Yz,W qiq@\kcw\+ژf! -ĵ6Yzǵq qiq@\kcw\+ژf! -ĵ6YzǵqD\kc媷1`!1rۘf?IAhKλdwh`pxP! ÄJnӞ><ܧ]^W+a2I5C{Jtߩ@Z)nxI2<=ulQXPQ ,>*FTe*N$$ʦ }UWa Mfx22<+n䔶P_R{Z}]JUĴ=O^ 8ZGb - @p;ZߺnG]x>#{ʳpwn`Izw21>yCHꇾQflF; -Mkq:uQ-V -,Ri)?^ bKC9/Yx9nCR' cc; $ 2>3'Ht,ټUMFD4ki#M8YĚS|L#sϙeB wMzۮ,~R[2*SޝHw/mZe-99dK&8EMBOD׹ҝ/Zy3~ 5-dy{.gNJd~UCŒruD! 6(=Xq$FE}!z6ݙRս*դzab/ZLreuM -*geÙ/."r6I0I}I3(^%>^\@ ^>*^T'+&M fZ_xN3abifc8 -֬Y$'^-(/,&¦j+P3ey2)f7DGzZȎz -24bzI|gPm̫PX3el [ЬERIвy@/4@(&MAKѵ=?ԓD!Zjtsax61(& :Ȑ=ZzNeJ3֎ЁPIMᣩRIR!u=Su.K9ॺf 1,?ثҁv5~#3 -f/fw F.YYuYƄ#5-;? {wU1xs=&҅47K$ M]uL o - 04;GiS^UM`4B|74f~(EG}<Җ,˱me1W3"'ˇV8zW/*7U7|6Xw./td<3L,vJ!?JΨtA⥭z5Zx1*/ E4F24٢a9*Eݻu6!)*•X -3 r TJ?]6 -=幵Rˁ WJ+eKm< 8_ Uur\ ^Xse{9mo!9>9VuP8?:cn/7D0B- - >z8ԕ#66 -564#i8`Y* -O`T|4oW;֏_.rVϾe\PrL7/`!h UF. FB<TAU3CF zӟ{rΥW L4}E]-)\MZ쪁\<[?])$+Bͻa[rOh endstream -endobj - -38083 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38084 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38085 0 obj -<> -endobj - -38086 0 obj -<> -endobj - -38087 0 obj -<> -endobj - -38088 0 obj -<> -endobj - -38089 0 obj -<> -endobj - -38090 0 obj -<> -endobj - -38091 0 obj -<> -endobj - -38092 0 obj -<> -endobj - -38093 0 obj -<> -endobj - -38094 0 obj -<> -endobj - -38095 0 obj -<> -endobj - -38096 0 obj -<> -endobj - -38097 0 obj -<> -endobj - -38098 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38099 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38100 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38101 0 obj -<> -stream -H|WioH_ћR&ɇl& Q`(m1HE,{:, RuHV>o/^<Ȇؖ`Ǚ3yԙ0mȚDӡQ]߬ofoӷ\UtZ g..Ҕi0*W64L.yt\ڌxgbz=KnIj{6aUg+561хwMT,v) %_Ee~,L%ԜRplIbҗ,1+,Zm^brSp{{^Wp>S>S>S>3>3>s>s>s KUg-(V{ Vb%,^b{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb{ZZ+1fVbȃJYڽĈZ+1ficv/1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+U@k%,^b{1K@k%,^6JYjm@k%,^6JYjm@k%,^6JYjm@k%,^6JYjm*JAk%,^b{1 7YV&[AJRZhVPZ)JV -RLie@+SZ9ʕVrUBi@PZ%*V J%1fi-Ҳ@*-r@KށK0ȽĘTȽc1KiKY@KށK0`ȽĘTȽ1Kjy{1KkIrA%R Ah{{ T=ȽxDZ*^b<-{r/1>ʽ@KރK -rA%c֒x`Z*^b<0-r/1}@K>K@K>K@K>K@K>K@K>K@K>KZKbZ#7ROA˸,`w*zQEUe5eTn Nqf~LF4ly3ͣM/o|Lc/ikӛ7g~=~BlKN.uywWZӡ]3נQ%a=\OFM;&csxtiv{smu^n$'ǩI4vHz]?j mebD86Gmf7 YvmY_fmݟ&m3 ?KO [Ƕk E53=$=rG벛}?z60.]͇.emnkFzxՍ`|݊qrxzI`2;?W%"ۯ'{xiRu6ѢO^'f'P%>&֫7ۈ߾yt- -2Yu~B>tߛ%]d4Wtzf]ӗaQ+@(qd6NiclpӷVIvanڡYz!'uͣrGUu٬!M{5立f=#j [^qz6w;fFeM;.6jayS)t|=:v/E N=[L~ Ҧ]߃鄝NXMnm.oږfX}}i껥Y/&޹ûF󖶛b\ϳųgIm$irAC!Z;j3J|^:pO ?19{nd!nf7z?Uǂ-;*C? ^dhfo,Ц7Кx!VKhs/I$(vCӍ]{GcV XJ+ -J+ZJV2) heJ+ZʁV -U(hJZ*V)\$,%1bYeZVi9唖Z*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ#ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘTȽĘ$F,{1 h{1 h{1 h{1 h{1 h{1 h{1 h{1 h{1 hܧ c֒@%,UtÏtXQEpƚ2*60iICG7 ͐4xˇ^揗$,unЙŴ/ʊuY ~Rv3lPϣ?ukOl9~lQwOW[16w4R)#?3}GQ*mwbG&p޺v# -L,A$ֿ_p4h';=?'>C}pF6Q'#$ Ԗ a* YmEd"ׂD5E⿂%0iH!9뮆mS8jh`161NV\ ֭L'1R_˫J`u4:+R#5M: !. Ώn*>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38103 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38104 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38105 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38106 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38107 0 obj -<> -stream -HWko_1ȢU8c΃/l6جnR - BL%ʥh{E{CFȊ>[!rڪGe;}շDTTL?Q2*S)9$8Ft1E0dz72Vpo{'w̽; s{ܧO)s -S>g}&Ϙ\p3>gs}/s_ -KܳFVh-ŐS XBk),b),C -Vh-ŀ%bܳZC -R Y{Z+bܳZZ!KpZkR Y{Z+b {Kh-ŐS Y=ŀ%bܳ:C R Y{Z'bܳ:Z!KpZR Y{Z'bZK1d YkZ!KpZRlyCwO1` {!R Y{Z/bܳzZ!KpZR Y{Z/bZK1d YkZ!KpZR XBk),=kZK1d YkZmTh-ŐS XBk),bK]W wtFo\[e|%(/Iz|9Pg*J5Fl=J+OK'U݆V^eՌnFm;3EnDtwf];6=pyM~yާΞzѰ6@D$陚8MhB[uOORMꛦg&% xpE7Hx5=1^/an&l?V/]w;f? xۃJ=yaL+/E?@>Mڻ/ :IQTfNc0{i$gJ-0au]?euwfv 3ma^zs/2VĦ:TDtC9zHia`)wH~d YL,=";!@LWa5?!p}S.v;blcp)XvGœhh8UKê/f\cYGnVG]Ҿ/+v :⍺/X\O2}pĸ3-䣚֡tDUIaxz$^*^PP0V^t8Oݎm³/wCq_iu9ioQHeu;w×ղE=jM[mGaͺ|Kx=M'onzxcCzONE+}rIÊbayC7nܯ_VsȣeOգU('RJŴ噖dβ8]]|?}ÖNg.nex۪n16Xoa&S} -/r3:uX&8 Ys4~Bq˗]6mQW:P!i]((P4ﻒ^63|d}˞U_int}wwuqXOY  XډkO'᣽>V{?Wg>uﱜj?g;Z7n]nDqfymyM4ZMUV! X5 -HQFbM5kXU*`Ub5jj<+33kEĊ++ y>CK$ZE',> }`Ix3O{%X} -"gh1g -"gh y>CK,ZEg,> }`Yx3{%X} -"gh1g -"gh y_>CK"ZE,}`Ex3/{%X} -"bϬ%Zj}kG֯ᡫKl{"MutrmѧGˣrz|,[?]v4M5tendstream -endobj - -38108 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38109 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38110 0 obj -<> -endobj - -38111 0 obj -<> -endobj - -38112 0 obj -<> -endobj - -38113 0 obj -<> -endobj - -38114 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38115 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38116 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38117 0 obj -<> -stream -HmoF0pHhr^HCn~@+ӶvdQ e3͢hyxI\ח?ymY{VΔVmcJվ/~WEnZmTq~:n>oͮ?7k?x(.Gj)|IڪS]1M7_|l6ڕ}=_3ú?vq?x?;]ֶ6M\aEfzO)JSPkUxӔNş·-~+/wśEqXhUMj/Ů}_oO׽X=b$6t#Fn_FZo/nW?_}X+uWZ5OׯU5;W8⺀lhdYKh#N{5)7k꼚ŀ_zv{r8\?7:;8^ -/f0v^?7Q'0wrxW>)YM\e #,,GXX a5jVKX-ZjV:`y%&.%6s&X5a҄ rI,{%6s^jI\"ZRn3H,{%6s^jI\eH,{%6s^jI\"ZRn3H,{%6s^jI\"ZRn3H,{%6sI%ZRn3H,{%6s^jI\"ZRn3H,{%6s^jI\"ZRn3H%Y^jI\"ZRn׷؝0FYJۡ|_oO׽X="a]Mh0ޕntVz9'Ζh3R -x}(67>Z}~B7cⅺAXΖs៿"jB_oj9EfvlG_ !>.4*i?J]e #R^vQϯ^84(W]Ba[Ȗ8,'gd[+/̫ތ21V.rVX*XciK ,X*X%e]TEk>acE+bH`E b| 5ӚGXXi#b,V1{ZK=|U%|>*JӚGXXi#b,V1{ZK=|U%|>*|Ok>ac 5ӚGXXi#T=|U%|>*|Ok>ac 5ӚGXXi#b,V1{ZK=|U%|>*ӚGXXi磩(79$=rJ((|xTmQ5< i /¥U }52 ZECp:nXm!Qe0*_8kuvnw6O?È[ujև~4"&I^ax4HAhSTfJA /4/< -MS5OmFV7:vMVê l}RnuyOy iqlf~ʋNq{f[ =Ykv;iSMެ+6cArAvη0z0ֽC,\vU:Mf^^~ҾW IS_]ĩfn*2pke{ӹ[rn4/_V~]_g7I]̭T޶Fum+aq@_=Tgu^7ߴu6Kf zƩjY_7ߴtշ7u:-݉<`gت 4ipVD޲n-;>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38119 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38120 0 obj -<> -endobj - -38121 0 obj -<> -endobj - -38122 0 obj -<> -endobj - -38123 0 obj -<> -endobj - -38124 0 obj -<> -endobj - -38125 0 obj -<> -endobj - -38126 0 obj -<> -endobj - -38127 0 obj -<> -endobj - -38128 0 obj -<> -endobj - -38129 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38130 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38131 0 obj -<> -endobj - -38132 0 obj -<> -endobj - -38133 0 obj -<> -endobj - -38134 0 obj -<> -endobj - -38135 0 obj -<> -endobj - -38136 0 obj -<> -endobj - -38137 0 obj -<> -endobj - -38138 0 obj -<> -endobj - -38139 0 obj -<> -endobj - -38140 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38141 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38142 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38143 0 obj -<> -stream -HWk_1qCl.Erw3p@pAK\/=6zxc&%k]k'+TSS$(_<~_ߘ¼|쟙 M`bҙytff702k:].}}Ynݪov/^Ͳ5,&I&V];w>uԹn&ڟNv_wv5}F[792/RJ,+rۓN/ϝ30g\/dɗTR5ٻ,EI^$,Ĉef YwkyNwS=p{{^}PpG>Q}TKTKT+R+R+RkVkVpܫZPZ2Z+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhV{ Vb%,^b{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb,JYڽĈZ+1ficv/1bJYjm{Z+1bJYjm{Z+1bJYjm{Z+1bJYjm{Z+UAk%,^b{1 7wዲL@>a KiVZAiEVZQi@TZ%*V*UJi@VZ5ЪVZIi%+Ę$вJ-rJ-{r/6f)-{1 h;{ǰ1KiKY@KށK<`YJ ^bZ*^bi̒Z^bZqh{{T=ȽxZ*^b<-{r/1Qʽ(@KރKrA%R h{{X$,%1} @K>KGr@%ƣR |r@%@K>K߁}?-r/1~0Z*^b`$,%1~Z*>)` -w|e3̮4 =)cxlMܭâ5C<>KzJҟ.n߼Kouݯ{u^[_MlPi 'GG;S>u(&}?M%IVu96W#ۼ0tdvu5yh<7pV6O2vҺ-$p%g6Vgu۟\Sfw7U^|߽̤=;l2!|KYZKb}}}}}}}}}Ĉr/1fiDM --=e3kfYõq4ëOmkhϫXEV.Ѳr٭?M;,UWy ;Z5::ra=w5Dbņ*/ 8[Ovٵ[3}j?{rحÂ-wOc㻐Wޜ-ʻ?~iǷ|go^eNٛ5[vyczyp?7_n|\9Yt3,>ϫsJtص{k)=@7Mnu>t#[o<2 [ʊH򤱯,qe|gt0ZcA\T+p-uzy9ia,\ip>^=1ܴ~qnxln;}8MNXݐɧvnǯnA?@Piݮ5m߹C_Ed3|?g9JF(Ɔ&D#uj -}̓ɦD$G']~oKx {GjA|XSM -P4mZ@zQlVa[Fd'w\"e٧.}pf6z -ӥ:P!&F:pp.|9/b!"A!/{2E/(ö|ćsE QaU3'qVRE蒃2tVHW,-H9@ː'\0¿m| 6Y9ӻ֛xPBiFhXK>O_ v'7{$]hD_G,6M{A/HHTv꤬9,0$jT.O1Pʃ8UE'M>Gsl2 -jVKsw#;57$k 2 =qt&ʂݯ((>/1C{k7[T[H9Af)!yQnt!LcJ^mhiouGS z ƺh;a{g̫(xC&q*OdQO~WGY;Ej%t0jVJ -0{G"uww*}XCH1RZ81E)=G"\ZwB؇E2h< -J#0x bv<chu"}˧o NK(endstream -endobj - -38144 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38145 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38146 0 obj -<> -endobj - -38147 0 obj -<> -endobj - -38148 0 obj -<> -endobj - -38149 0 obj -<> -endobj - -38150 0 obj -<> -endobj - -38151 0 obj -<> -endobj - -38152 0 obj -<> -endobj - -38153 0 obj -<> -endobj - -38154 0 obj -<> -endobj - -38155 0 obj -<> -endobj - -38156 0 obj -<> -endobj - -38157 0 obj -<> -endobj - -38158 0 obj -<> -endobj - -38159 0 obj -<> -endobj - -38160 0 obj -<> -endobj - -38161 0 obj -<> -endobj - -38162 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38163 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38164 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38165 0 obj -<> -stream -HW6B6Z$A&mM&:h$l+gɮ%^!)Y&ǻ`#|$ G7Czu۟4~o"&cX"xg"Q<>T_q:bqG7V۲P7UnxEo͜}1H$ic cyZ&<74yNc\%l}v 󬘽ݔ:\}(Nf)5qEp>Hg69:hR| Yt>,B!K,_;cx'@='@ ԋ@ ԋ@ ԋ@$@$@"ԫ@"ԫ@"ԫ@}F> p-'\c"k} Xk} Yp!P1`1drµ>,B}ZNǀEǐE\ k9Zk"Aǐ1`1d} YzZC>p \c"k} Xk} Yp!PV1`1d -µ>,B}ZAǀEǐE\+kZk"Iǐ1`1d} YzZC>p$\c"k} Xk} Yp!PV1`1dJµ>,B}ZIǀEǐE\+ k%Zk"Eǐ1`1d} Yzhe¿IsDo|.cWj`xhdqxD3&<G c .rE_Zہ}zG:/Dbϳ6z2 H,l뱲Ϯo޶]Z~t}tekɬıu[n}"MR">ɄĒp.OBgոԣ)B͠Mv0L:"ɋTL틾n>{{"Qa}vQD}~pww®[k*^uf\qۗ`fNgwL ˦b-Spj7亁ŰOwWnga$.m -핋r[?,);hvC2"˒]iWGmv}qh$&pZV:p_\0.`:Q|1?+dl\\4"OUs_-@O2ϽQOK6ڰW菾i!屫Sof?>j*1#Sϡ611x9Ąm2n*/s&S.JD'@sQlc.3{MgvjwT)ӗ~Ϡz-]:G,Vrɳ4^\ -ȓk;#6SZosͻ{%Gٶ$jogRj!/C@dpyPȳ.c*R 3E!1dO]=ߢ\n2}UljpR[ 1o~vr>6CIrĽ]l^ٮ5 z 7rǃ/}|{.~0 S~@Fڣuh0=D0kWřEh:kMHV09 cE腞ҿ\y3*t3cC!d{ ׫onܛRB> SȌ'9g'&{*U -`%#v8{2C`=<M?T"O> sX)|F, HKSt_ZT 'DV$&"T-ba -UX4<7MZFr2?P^η2SrL8j߻~SM[B~bknSgn-냟yP'|.p!gçy1r]SvQu(ݶq ޯУHDQnRشhݠvBD-t&SnS 9˙3mLH2r.vG :G>Ҿ('x*aڛv >=&ELFTTDWG4b!EZ(0B90L;3LO -PabЕ,4#edߘCb bB=0 }J/0|Y_7uUTWI,grDyDEy*r(:[\R]{շ2tx|2Wn\m6DЛ+3٦(bSbT. a[U6#OlsHDm2Y,ґRw`5LEQ>15I{k~cO`Ɉ/Wz}1*8n$5~΅ ̥T ,u`alڔUyȊpj*0*)muv\pf_ddUS+{ x˙,lr{U;Ȯu @Zip[PvAǺfҺ/{DǕ$mqRܗZjUzr9SS0nٗ|kB>TtBw~3^psG}=Cu}Mf><:׀/gB ֜HYjK`}sHh>ֹ7jaDZz_ ~3hӁ֢|uJ:t9@E#0,Ch@L:$QLD BrHVH^I$G{-HYq+տ=2ǯn5R3_j3htpF|Uţ~._&엻~:0]8gV"6Y5/'? LD춲Ǥ@ rI|F_/)gU}usL`eˌŲRC8J0DT,_ )K<ќk  ΄,/;8/b<>Cw1Fjx*->b$ -DM3?7(X^p #rFĒ@ 9tY{ĭ$,V,"FC:7{S*[1ː"?{pÂ6iQZ<*%bpL#5r5蚙A6EӃF®T!W+j"OJsEh .pѭjoYI}8P6sOF|L+cC%4;i}kOQPT2n q.5%Oybt Ȩ! /&mف$Z}J'endstream -endobj - -38166 0 obj -<>/P 930 0 R/Type/Annot/A 38167 0 R/Subtype/Link/Rect[93.6001968 663.229004 244.535995 682.908997]/Border[0 0 0]/H/N>> -endobj - -38167 0 obj -<> -endobj - -38168 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38169 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38170 0 obj -<> -endobj - -38171 0 obj -[600 600 600 600 600 600 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600 600] -endobj - -38172 0 obj -<> -endobj - -38173 0 obj -<> -endobj - -38174 0 obj -<> -endobj - -38175 0 obj -<> -endobj - -38176 0 obj -<> -endobj - -38177 0 obj -<> -endobj - -38178 0 obj -<> -endobj - -38179 0 obj -<> -endobj - -38180 0 obj -<> -endobj - -38181 0 obj -<> -endobj - -38182 0 obj -<> -endobj - -38183 0 obj -<> -endobj - -38184 0 obj -<> -endobj - -38185 0 obj -<> -endobj - -38186 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38187 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38188 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38189 0 obj -<> -stream -HWkNak T\r_|qqM` Cx+Hpåo~_վn|c}=[D (wQ$Ph,բf./>,;eiiog?Mj6\M+heۖunn<69k?Xr?N5"Jb=8~k8#YD?WDmTT46t?&6zr -)G'(,ŀ5g Y^`QZs so{[e1Np{/̽{ =s -S>ܧ}&ϘLp1>cs}/s_YgPZՑZK1dqZ!{Kh-Ő%g5Bk),=kZK1` Fh-Ő%g5Bk),CFh-ŀ%bܳCXYCwO1` {!R Y{Z+bܳZZ!KpZkR Y{Z+bZK1d YkZ!KpZkR XBk),=kZK1d YkZՑZK1dqZ!{Kh-Ő%guBk),=kZK1` Nh-Ő%guBk),C Nh-ŀ%bܳ:C XyCwO1` {!/(Jp]GbVet,ZѬw_]͝?ZΟ$Nbsuf\@fHJ^\]~CpbR@z\]-gMU]r^ ӧ˟L{,x{vvߗ;,B-qBso]{_sU>TYUUv^ϔ+Uv߫l s6חU~z`?gi,Mm\[7A6N1di9A1-'h9-ϴV*hL+R ZiVδrA+gZU0B*IŐŵ(,-hi-ʹeX{!Kb7B),A-{#bX{!Kb7B),A-{+bZ{!KbB),A --{+bX{!KbB),A --{+bX{!KbwB),E1` -{'bX{!KbwB),A -{'bX{!KbwB),A -{/bZ{!kqQ.<Пl.{.8/')j^x~R+e,/ -3iC[k-셞N&3dxw+Y|=SVs7a&ഉ OzxQH~b}c5k ocɌҜ^.p1Y?ΒYwվ \糲;l݀uܽ[ -tQk8a$N2Q{n\_wae=<TЍ` FjƜW*7هW< =-,~e/ᩆAQ$68Rhq23SLTPҮ qϊ9GO7liˮA#ojs݃Uur^uǬfS5ìs.Ý(lz9sR9H2? [DW}ł=~ַC9Da?a049 ;r -]jyҡ#mUW}V^"?:4rimڔ9FUW0|9'~7GnPP4l`۵ q'ӀPaf=!Q|ir> l̺.`% …upCx {~`liڜ/R;cY=y0yy=0Y`i^,X!8FOIvy1gS@vqz ߬gbh -f9$pS Ddzu=/1o ڵR=..6cPIu{FwV!X7jδwwꉑ5,MxDR\q'vў%II㻛 dendstream -endobj - -38190 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38191 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38192 0 obj -<> -endobj - -38193 0 obj -<> -endobj - -38194 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38195 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38196 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38197 0 obj -<> -stream -HWێ8}WQ:l"J6Av&}ږ%$w#[%AX:9du? _0_zMO . L j)U 0X|,)Eה)_oUxZ~ա ׻A8t94!pB%q5I,Lfn%hW4euS1VeӰHd[=i`=Z)q; ~0p - K/}prq#c(,?ŀ%"EK鋧^y^y5^{5^{5^{ x xF}O>a'z˨z˨QzSF}O>cgQyydLKCR Yzq-Ő嫧|Z!QV1kZq-ŐŨ\R Yzϵq-ŀŸbb{Uk),FZŸbb\K1d1=*ƵCsb\KCR Yzq-Ő嫧|Z!QV3k5Zq-ŐŨ\R Yzϵq-ŀŸbb{Ռk),FZ͸bb\K1d1=jƵCsf\KC`R Yzq-Ő嫧|Z!Q0k Zq-ŐŨ\kR Yzϵq-ŀŸbb{5k),FZøbb\K1d1=ƵCsa\KC0|Z!WO1dpΙ0?!xkp/ u| n zdjD 46ެ߂P9Buۏ ~2XFI,b՛mayvt}j:- Hb8`hs8pSJDok&LkLۈOd4|\ mch.5}Ӽ6 qbXu ,the"2f|Sx8#&־$mI~GMSiqP|?f17|}w|1.VIys+kq9Ok>FJ|s8!SϬj "3XfA>~iAг\j8wLd} ,(btcRŽ#>=EՕ5֙ -oq -Pt Cnj62pz4 )"e:vq-O7sK hZY[ -nSElf -ryhHLX7 *M_Pȴ!A##AlǺ.t*;hmY=k/y{5vˉS祱-`3/FR tq67PV-M)IJb _n%rG4y:pzryhh`m-;i*?Ecom\9 ^?H0$=_-9l*5k?H+Ln7d܏&Zt4\WV?! ;s$|?<ջᷛCkh0[Xn H(r+e7pY _ 2n/Qa_5y3-1~=ڂ:Uy8RoϏ?>x63C̷_q[Q!짦Jm~3`)>2kޗIT8Z]ĉ -/{5lp9Cg9۟ۨ\\ʮ/#Xm[qz%\c #lj9#?zy6?Mv-Mm9> A -:>U;Uy\≥ߞIqo󰫎\C͸aYSa?}8ٌL(a)-He91;뉌9W*ة6DM] 1.҇¤Wvߏ05le -~BlQqčxXfp7UY*~asI#>'0 -]"j&جS>;` -E9Oq#jzܶ=GpU"%X)(=,P06b[KMJ,mOJg8b^̋ !*&6弗Y%dx"1R(o]>NSJ X,!I b4aܩ8pIKxkċ]_UWJkm.UXyVra3i {A6-XC 'ø[4DQ1QT0[ 1F? {m_i+խ;+79/dPwk9x'u@FApC H,o!ԏ&AܓtߒE#|INLS~ZR$.$w*Y4p(Ƚkc+|!Ng~1u^J \#'s N͡ӹЦnQݼx=t|Kox')>aX- jh[\"CD 2Rq9,:AO7GP@rH3?+vA.ִ9`I~W,4D_k%j{=WfJ߹n]L=:9a'ߩ"\;*SŪt(( Ix0G ]Q^嗀_FR1W)2ϧ94[TLVե]N#dn^(q$ 9"J8@mCg:tz0~%aH7Rd#8 }ڛx0Ҙ&BOj -mXW6M{s+;lQIT]%t11{H@gr1UtTRWuxT%^# -fe=!-av߄+E{lR2~)1yU%an]PHm܉/ap4m&R;*šufKQlY#Sʚüt[t;Pʪjyh$ltRᲺޱꑬP*P1H .u:FNxJ:aY]~oa#]ݾBC5~'Oû)Nx3?Jy{.U;CU9gxpaG~{s6E&"qvB'~= =-l#޳)2]U*MADI6撇"̓,bHӉ_k۳yi\ExW{vE jT!d ڂ:5Kw-Jl+|d0`x|imB%5*+HROV y߰><ýAxe~d3.ŜEVUwR)) -*50o4 -gh֭L&ŧrKSeIiA1 77w~:|k] Ң~s`FF/cq̠\c\Ik -kW8ӯ/|ųV].g|2mscF*lBHtՍٷÀgV?,|0͹rUq`Eġe0fCD!HA~9&v2' /jTTԔ!HB$>&=m -X#7weqi!?h|Gy;ұ;1s$"\E%ьQjnu{ȠˑǞ:̩ŝS*Yw9Qea9B*O9{x-ǭ]`Re*iqXfj ݳFMj{-ӛ{ Թendstream -endobj - -38198 0 obj -<>/P 609 0 R/Type/Annot/A 38201 0 R/Subtype/Link/Rect[93.6001968 663.229004 450.695007 682.908997]/Border[0 0 0]/H/N>> -endobj - -38199 0 obj -<>/P 609 0 R/Type/Annot/A 38200 0 R/Subtype/Link/Rect[93.6003036 526.429016 182.807999 546.109009]/Border[0 0 0]/H/N>> -endobj - -38200 0 obj -<> -endobj - -38201 0 obj -<> -endobj - -38202 0 obj -<> -endobj - -38203 0 obj -<> -endobj - -38204 0 obj -<> -endobj - -38205 0 obj -<> -endobj - -38206 0 obj -<> -endobj - -38207 0 obj -<> -endobj - -38208 0 obj -<> -endobj - -38209 0 obj -<> -endobj - -38210 0 obj -<> -endobj - -38211 0 obj -<> -endobj - -38212 0 obj -<> -endobj - -38213 0 obj -<> -endobj - -38214 0 obj -<> -endobj - -38215 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38216 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38217 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38218 0 obj -<> -stream -HWn8}@`_#7I  fqY [5:O($"p>:$<g__,fo޼]-*B1(,Mdk,|,5UӖǢo=kk.q L3 8cc9.}qctm?UtvUQ.vPso e 64M$2n9 Ee_  U\3q_5?$d`xPqjAIeVGa?2 -/1;څ  -]9Xz$C?s`ι/ŀ%S/S/ S/ S/ SSS S S SO}BO<)>ԧSSO}F<>BBYNŎ \bջ׺|.,_p!PVu1d= -µ.,µ.,BZAŐE\+׺׺kZCs \b"\b"{k] YzϵpIŐw1`u1d] YzZCs$\b"{k] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%Z;p!Wb"\bջ|.,µ.,BZEŐE\׺׺kZCs"\b"\b"{Uk] Yzϵpp!PVu1d=*µ.v 4ZCŀEŐw1dMdQ,W;U2vwG\(aIb|]qUEqͲbԇmyLo/eGBewOPEWӯnY8by0Qs7Phiy̐LS{]7!)t?0󾸜bjnq)l4UؗǢ;tm]?.t8K+v{d/[Htʗ a^D358nſj+UIZcMjwWp| "*o>mg88w|;NM;ZRܷy=Ty[ϳT{(NeO9Hd&Y5'(bsig~46h 15Y OuL\&.a|芩rP&RJE ~- /zogcS=L.|:yLB1<(^%=X[M>=oxVQe7rX:Zv7Ê;Ve59Mv֗g1Q,RBH$bo§BXƘΧdj`+d݅!vt7kCe{?UH_voNn1yǎ#8mG5vdyKٱ>ԑP$1Yx㽟Eya㉁qTMs -jv}n!3^N" LYD`"ŶO.<|E.w ;Hy1t+l^.:I…!O}UtH+JY F$J)\B! Jc3kj/Gr'LhuQ&"ņm.[_ -mDlWYy{96 C,Gutst35|9 ?Λ(5B1H hȱcwM˶EИU/:tbx +./Gq v_< -=h\laͣYk$\c owR*{mga}f5ऩt54L8X؏)#n.nB Z%zz(|`G.kx @57;Zt6lJ_%%'d)ᾣ>nB2QPNս?)Sy?<2LI5Q|QaedIqTgl=&?S{b`j:1s^i!ML!v6o{X+ʍQ8;1wU`xQwl|4r@B%pJ]v( D"b{S,HD]K>]ѶG󗘔.$NIBX9SP\/ }{V $)0在|}H'n%ؚhf++-ɖGjE0v}ป&?셣_X -jq6Mz Ei/*NpaPR bAV'1Z7{ Dˉ%&D B<ҟ^{Ad׬!UfT+w1gnN(D9 C_v KmVAZL)!@֟ 1Ţmg\TpI?LbQ^U/>NQ'lj-/N󨈚)9wQk6oGIM{'va؇Ykր+?nV݊ 'n]s>m/dMQU*/AntIȔn|`W4e--qjځVW^yWcQendstream -endobj - -38219 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38220 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38221 0 obj -<> -endobj - -38222 0 obj -<> -endobj - -38223 0 obj -<> -endobj - -38224 0 obj -<> -endobj - -38225 0 obj -<> -endobj - -38226 0 obj -<> -endobj - -38227 0 obj -<> -endobj - -38228 0 obj -<> -endobj - -38229 0 obj -<> -endobj - -38230 0 obj -<> -endobj - -38231 0 obj -<> -endobj - -38232 0 obj -<> -endobj - -38233 0 obj -<> -endobj - -38234 0 obj -<> -endobj - -38235 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38236 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38237 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38238 0 obj -<> -stream -HWmܶ_ k:ئKj@ 6|F nJI{Y;=C>~(۞|}C(꫗GE,M"Y$$D"9iu3#J"F*e_=дQm%mݽ.z6AFaT8c!DP>wBPaaa/a/a/)> ا4`/2`/2`/2`!쳀}9><`#}/¾+ -+}Y#T -Q33ZgP@Q3(}Z -Q3(}Z>P-GT>P-GT -a#}BT -a#}Tc$> ->@!}}}BT -aV }T+>@!}T+>Bj}>Bj}A! -DPj}A! -DϠjZwRDϠBPj}A}A}>BM>BM>@!}T"}T"}BT -a6ET -a6ET>Pm>Pm#T -Q33JR)n~I #LjQ<%H)9Foz] ytFܯq}Ov֩yyN2<]ԖG:g7uy8|pm6 -dTqyy_,/) -9Omԇ+h&I.# ,T&YȊ]oϽ&e7paG+&ْ>x:葻\BE dWM]^6]O磮 4O2q 0 Xl&D]6)R@.P&=2siܯ%HH ]-\V5 XsJog:2ӟǻFy(7J@_Mu4hjIt6NE&^Ȋ܏-viFy*:DfFRNJNtx*dс3M54fCFae^QS臘cbz}FʓBj ֏@;_SچY\U?7g=tpv聍u"-XGʔ-x%Y~63,yneħf2> -|u]!j}:.O4K[L$h pMܹmr:]u(46C>sw%>xz4?]"[$(>lo1hKvP۶Z?C~@];r83+ J^)\W߈ˀ\-9JK}Z&I-f1*A7T.=7wH_z$ufp\vWOX!Iiyey۸?ɦw;W^@!_ͥ#P%역A7nï=[B s|TV9MRB9vՖ*QöxuXl5' `㼟$"/N#L0 -NnЍÍ? +`-H;z  6-@ 4ZB-c8ʴ-{sҐ<8o/J+Vb%&pkǕgX#0xzb^M9oM>!#nä¿sc -D 4_TsQi+?eG6=|,U |KR^YgZ la1 'IZqsjzhŚуy&c?Ds!th[=x^E-OZo P155 Oz}2aajYxWzt?]55}w3D'ӨľIU߽ў a x\ۖ qlBYvfA2ۨ&_L"0ZH -=-AɵYr+`/p l9\uSw^e;%|3oHoZA|6XhܐR$McsdRlPC\{J/E]ޙ 3O$o?n$ӒIYd"R!+mLJ1>c$1~6+V=Tubj904] oe5K"zHG03uQ_@FK[r mjS#C͉(0EWLC+/#c抝2N}84oXs*}D4 uCkjfal=ҠL]Z0s$-5#a1ew\)Z,Vz`7U]sPᄑ-l05blxJULkE1W#mXa#.tv`k#kSdj\c̤#E&,ot\-ӗx)#0Ar90`ifɊ*4xi$׍!0W5%?jߪQ.F [/M?aFzOu/ ]鏇O||{_2WWendstream -endobj - -38239 0 obj -<>/P 779 0 R/Type/Annot/A 38240 0 R/Subtype/Link/Rect[93.6003036 257.628998 230.136002 277.308014]/Border[0 0 0]/H/N>> -endobj - -38240 0 obj -<> -endobj - -38241 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38242 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38243 0 obj -<> -endobj - -38244 0 obj -<> -endobj - -38245 0 obj -<> -endobj - -38246 0 obj -<> -endobj - -38247 0 obj -<> -endobj - -38248 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38249 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38250 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38251 0 obj -<> -stream -HkoFW Tȣ\xm8n , -ld*EL%ҥh}Hcs0"˯*/O߀W^9b8U4Wh" (j׷qjz]]]BWGӷguM@ eI4㘐 u4J_=bUa`0TO}*ا>Sf }su6JKud,PܞfH Y=iZJg5Bki(RBki(Y{Z#fH Y{Z#fYkZ!%fYkZJg5BkiZ )4 Y=͐ZK@ Vh-%سZ4CJh-%سZ4 `Zk )4 `Zk,P=kZK3,P=kZK@ Vh-֑ZK@q{!%f4 RBki( Y{Z'fH Y{Z'fYkZ!%fYkZJguBkiZJguBki( :Bki(nO3,Pܞf܁ƟouEC e)Ib}m졯unGzvb=>WwuLJq.V.&:<ü -^BYŏO>~t Uz?Ʋij/q-F+=M[WcΕ۪T>T2;$?gZ9[gF=j,ff%7=,h6f } ~a*Or\Uxē Cͻe9|Yl%|@:5*w?]ݗW8h2e+fa2l|~El0k{ӳ N96U Y\NpywITCJj5u:xO^VuSޔhЖië;tMw6f1P7׏rGuJ5Mgk۰ae8S7-eXFមe%~CE/J~;b6ɔGŭvqR?il Pm?'W(X:T>7߭,^uy}B8uW/{?gV&`3_VB -M⨪[8]v5~R -Οv x+Z^*lfMUC5h Miw W76N3U<|]/3x/p}6zzXOvE3_Wʷѷl6YabF=X0_PJ *r^cwHc/έřQv5|lV}T[U -NZaBN>G?A_endstream -endobj - -38252 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38253 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38254 0 obj -<> -endobj - -38255 0 obj -<> -endobj - -38256 0 obj -<> -endobj - -38257 0 obj -<> -endobj - -38258 0 obj -<> -endobj - -38259 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38260 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38261 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38262 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38263 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38264 0 obj -<> -stream -HWko8_—(iQHR7uy V3)QH+3HE\GWt'۷'NzT4&0d~$y2yG]g.3;-W&/&_;:3a띤QJO"O#iݎrkdĂs -T6,/ VM3Dh#sY<0O|g^eBYxIVKBP)Rea",[;xC3G=C3G=GsG=GsG=GsG@ G@ G}!>tԇQ/Q/Q!#G}>rLjQ#cG}O ,ELkcژbm XkmL\6XzZS,DZ Q︖!1`!1B;ekmLkZZS,DZ Q︖!1`!1B;ekmLkZ+<UocB\kc媷1rژb!rĵ6Xzǵq q)q-G\kcw\ژb!rĵ6Xzǵq q)q-G\kcw\X ĵ6XzZS,W)ƀ QV 1B;km XkmLkZS,DZƀ QV 1B;km XkmLkZS,DZ -/D\kc媷1`!1rۘbaQm)#R1b]D Ii. $Rz|_c_8R2 Fr[[bФKI ZepbffYYLwXsW5$H@+b\,j!n᭧) " *xU߼fFttu~^I"F(̌s.+i - nIn.8 X&`O2{#i ME -q-!kv ) tΏEɤ BѰoGL1-BH1I1Ȅk989#.:M鋅G>RZh V0w|p1w}aT l_U aúUaMU6 -OiVkٻ}#p;Hēj-ȥ汑mLAz88٥TSTx ;ukv闫rۣm,2S!aeh2 4>Mg9W'L,03A F<pJ'2SˤI=kt6OL^E8&|f{"ͽr9c:rZ\>J~s0\K^U⍵uWB -WAL M/QȬS);AEQ^EҦC=R/1l[tpm3Y%fgӋW_+4jH ڥ~JU/W$\& b"A1IL3JW7頒JB:A%xmP OIzx gח7W؝QNj_ aUKvOEkn3`'̵pu|V]*/7i-N< uVݫ$$VKJ?v3Dw{{5ܝܼ4f][=)݁1ms 1uzrUuKLd i䦺k'-շOPO -4Ee^+4eԏ~ l0SS.5cCv#ӡ  [j,qTyQ)e4u_q3EDOl]\ ˭קaiP -ѨJ$H@+Z\PyHg$b]d=XlAdY5"eԲ> ]KDgH%X{HHI*z&$[Gj(ι?;4m:L&Ҟd{&E *KOۧ>@'G|)G{M\Zߑ>֙#tg+~*X&wr>1s8LB{lhJӦ(唗5x0 5nj` Lۜ,XZu$f1f]w(ڱ<>tJsFe,@L1Mxmnz6[Kqn6eg*T P+߇ƿ!@PZh$ XF#;a'.C})IR! -4Ʌ -rg4Ye#C#+""7G|jU4?Z6ᘈ7bzbv\Ūc[c{vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G -k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 -uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! -zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km Tendstream -endobj - -38270 0 obj -<> -endobj - -38271 0 obj -<> -endobj - -38272 0 obj -<> -endobj - -38273 0 obj -<> -endobj - -38274 0 obj -<> -endobj - -38275 0 obj -<> -endobj - -38276 0 obj -<> -endobj - -38277 0 obj -<> -endobj - -38278 0 obj -<> -endobj - -38279 0 obj -<> -endobj - -38280 0 obj -<> -endobj - -38281 0 obj -<> -endobj - -38282 0 obj -<> -endobj - -38283 0 obj -<> -endobj - -38284 0 obj -<> -endobj - -38285 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38286 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38287 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38288 0 obj -<> -stream -HW۸B+D -8ۤƾ怤(h^+kK>Iޭ! XypWUO?=||\ycY (%H)$KT.i"Z<|/:Tuqm]Q],"SexXG݂& QĢqw˙:Nl8aqqEjyW*6 -v%g#2O89?|M FGp -aH;cba fYEy7aЏ)%lA3 $j{ۢ*oEH:+8,K0"v_4jom Iރ\Ưڭۉánhoѭ"# …0Є 6ANhhޏv.O F%F9 "FQ y΋ozkSrli=63'Œ­?_3Ai*B͜b)P"ywsmEֽjѺ?O}ek݆ʋr5tmKWTA|jG{Uv棭t -YO?3ʪCW ,h(v-L,Nq!'%IHL bIf$MJ68Ɔ겁}[fOxtˤjN2H!I7͡l|GMB5sAG6.se& - -REam -5>Ii <_S$1'l {9;j[Ugy7I#*Sęل2E˭# wU}ͥq:>4d7V[S[MSjJ@>ͽ}RsRw6`}j զ:<7K7c8ﰄLpY%!Do.tҹQ}V*a)tu,Ig@ WlvZ5\z׽'7sT{Qǎ2+0be/M5]trmøbǺ,D ,UmWOe*׽j&zVO'qUL L 0߉s<5sQ2;跙iiCE1.3|.|_#u((Zu8䲝XUn9Uȱbm1ojHNk16n (@J'X[KhDI0\hߣܹgPdci,U7TuuWix;f,含iÎ^|:rqǕ-ccnkw'Uwߪ)16GN!Yo6 -{Un{u>vZzjp r6)v;wc:0t|uQϮ3M,]uꅡowW%8#]gZOXi=rk7}LM>-1Ƃ70e f%<U~ JY6lL-A"<ՋTT9T4T^RoC})f\pWYߠl%.ⷫǥMV)k;Abx؉i -}fNܠT$0rO8&Lex:ݘNoK˃l._Ćep,?  |qaڷ ҖSq4`qk=nF{*~o"3K)  OD'l/F< M l'b6sޑԽvxxȬ,0;SQcz_ endstream -endobj - -38289 0 obj -<>/P 605 0 R/Type/Annot/A 38294 0 R/Subtype/Link/Rect[130.078995 539.020996 381.118011 673.916016]/Border[0 0 0]/H/N>> -endobj - -38290 0 obj -<>/P 605 0 R/Type/Annot/A 38293 0 R/Subtype/Link/Rect[93.5998993 434.627991 199.356003 454.308014]/Border[0 0 0]/H/N>> -endobj - -38291 0 obj -<>/P 605 0 R/Type/Annot/A 38292 0 R/Subtype/Link/Rect[93.6000977 250.628006 291.118988 270.308014]/Border[0 0 0]/H/N>> -endobj - -38292 0 obj -<> -endobj - -38293 0 obj -<> -endobj - -38294 0 obj -<> -endobj - -38295 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38296 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38297 0 obj -<> -endobj - -38298 0 obj -<> -endobj - -38299 0 obj -<> -endobj - -38300 0 obj -<> -endobj - -38301 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38302 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38303 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38304 0 obj -<> -stream -H|WkoF_1uTc΃I)ѭLL$ҥ(;"}H[zĔΜ93s%>kZ/U?$;2^*ɝNR"SUQ"JQ,gmy[˺)WE۔sՔgV]xb.2jLh,dRǓӌMxE{W7_&'OgKѮǟ&o,Og7mCLڱO'Q S:_~NXOu)V* -.68* -΢PN@8&vD1d(,c8`Jn 7O1`Ye2Np{'w̽; =sO s>'}*OTp2>c3}g9s s>sF(-VZK1dqZ!{Kh-Ő%gBk),=kZK1` Vh-Ő%gBk),C -Vh-ŀ%bܳZC -*rBk),bZK1dqCwO1` Nh-Ő%guBk),C Nh-ŀ%bܳ:C R Y{Z'bܳ:[E^h-ŐS XBk),b),C ^h-ŀ%bܳzC R Y{Z/bܳzZ!KpZR Y{Z/b(ZK1dqZ!C^o|DǓUFM;.TiPUt>::[, 5Y}uRWU1o˺:ДEO7;2:J%Ɠ0ptVcN3;j ;p;dvȉf_Lxi(&U#[guԫլߵ׳6U9 pWDk]4E3_5 oFd0\oڛvb3Z4cUv_mI֝+ac; =ܴxHlf0n6<"cy ǟe;s7Ӱ7l^aR=8osmΌBr^y7_Ax'.-a_ҌLLGk|[w02W8$ ٺtkĴ ,ΐf#5x Zw93,$FAv:H?n?^ݩݰR- V-b -iyA3-/hyZ JiVʴRA+eZ1LʘV.hL+rŐŵ(,#he-ôeX{!KbB),A --{+bX{!KbB),A --{'bZ{!KbwB),A -{'bX{!KbwB),A -{'bX{!KbB),E1` -{/bX{!KbB),A -{/bX{!KbB),A -D=Őŵ(,!C -:ໟ;/΃e8,rsYͦ OOBgU^ <і񋦩jy|")ZyPibQVz#ؼ{,$}]O_ۢTYj^WU1o/mMG?UfpXbU 2#sYTpTX:qyQoRF/C/:,.c>0nzصmi={~=knrYow80:5yٸ.Jb~;mWp@?COӱz=7:K6e {q6yko 9;. -<{d"dB|/ VnSo5þ]- V80VCq׷矤w,p,>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38306 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38307 0 obj -<> -endobj - -38308 0 obj -<> -endobj - -38309 0 obj -<> -endobj - -38310 0 obj -<> -endobj - -38311 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38312 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38313 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38314 0 obj -<> -stream -HWێ8}W}4el@:@2(JD"HLb1$?f[y]mܙ..ylWhHb0#9!&IYF!`mY^hgY Bҁٷ>Գ3E3uhчܚgu"6vwYI*3ጼH_[rP!. >D9y=g2 e8YfYa9^^%^%^%^^^5^5^5^D}OI>EԧQSD}Y>CgQsD}Yv@\c1`!1 -e} Xk}̲kZ,D}Zǀ, QV 1Bk} Xk}̲kZ,D}Zǀ, QV 1Bk}lIĵ>fYzZPYVǀ, QV"1Bk} Xk}̲k%Z,D}Zǀ, QV"1Bk} Xk}̲k%Z,D}ZvB\c1`!1 -e} Xk}̲kZ,D}Zǀ, QV!1BUk} Xk}̲kZ,D}Zǀ, QV!1BUk}liĵ>fYzZPYV>y+ϨE|:ᇋ&$IrEǍ_SgTKOr?/t؂唍{ 1ؚ)ۆ,ݮدls7)Uuϐ4͘?roHQx?wfݗ}^'w! !r2r&cSϷղV[Cpۛ~d-/οm7Tnx1dv/E|(;_7h9ɶ'|+l4n|q>+y?f"q=tF}>EӘU?4Ic)(@׃DqEK2  1]i1s*R1lsaCUe屍v{g?ox}׮NAn6f4fI -^Lg_Ǣ5w5,q.<4 NÉC$\4es%@2bp!$H996֦_/`}z{+K*Cf=3{y R?>=/xgTkwyf -ڍ6 Y_ZtrxwtdSp&mt3y悜GoSgL 6̹WmNw+e 6?eioQX2Oݎ1+]Vu.gr~Ĉմèj^+մa@0ܘϤl,y-g#Vת܈j_q*sA7>Jތwn.?+KsU&5M<^Ӑq-MSwhۧE+QNH+J2, b(ylJpd:s/)՝֦O8y>xl'7ƛn6 fwԾjֿ֧ ɴKUiłd[W,͞]уH>y8GdYY+r1[]^vՓȌS+\p9M3>9l.}r-|k&h(^׽5v0 )5 ڿ%Ε>R\nޙ)MulvrYj۶^CO[:uV"CVM@eKg)4!$Te;5߆f~ H10J'Z{;G6:u?O_L(c4_u1c1Aǰ6hYԭ@iFw*6n, GC!]58+ldfwAvrXO 9h&p4cGӮiσ5}rZE g41Z -l͡`pcejz܄=cV" OU[J=Rս5&V4}H{b030{IʢKw1(NQ!23^ ':;9@۬)2Hq =I@9?ΰT԰ٽdxhVLAEz뫝lLq/O:Ekc[v&g p N\\‹)1HCLpOSE\k^VF#230DIXSat[l{oܮX9 \a/Ξs7F6 P Φ`FG=u^<m#<&ۻVa%sJ`@<QH>s1evK,y9+JJXB=n&9!jx*+q_Kb6W@w\A36?MR#t38E{y>}onXYE4꒣ə nFbl\>΁?qÇi!J^Q1=]S,!P|U3Yb20C)Fl8q23֞6YbYN1WCC gt!.Pkңh̚DˬڝD"Lcw}=ƥI/ahO}i|p*r]ܿ'E\~/my7ٛ9Ny#Ps)#I11؃{1?-=} -0 endstream -endobj - -38315 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38316 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38317 0 obj -<> -endobj - -38318 0 obj -<> -endobj - -38319 0 obj -<> -endobj - -38320 0 obj -<> -endobj - -38321 0 obj -<> -endobj - -38322 0 obj -<> -endobj - -38323 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38324 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38325 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38326 0 obj -<> -stream -H[o+HzyȥE^EPeQK ߻(Y)Foki?o=4̆&C`bʙEt*+Mfdgot=[/| |fyv[gn66;k3ִYMJL"ƴ<͆ze&O\,s8y׾u?]+h+6<_~Dz*ʔ{|_YYحi:[™OƖg"}_w2YU"ʆ_YOE6KQz$ᱥW&Ko'5rY]BcW.Z^jr SHTz{ރ^ WHT>Q }T#HU -T -TUUUoToT'>jf-Z-3VjF.0RcN/5vR#Z WSJ] ZVjS+5vjjZ WSJ\`j.^MS+5vjjZ Lҫu`j.^MS+eJ]:Vj.^jS+5vjj=Z WSJ\`j.^MS+5vjj=Z Lҫ`j.^MS+5r@z5Lҫ`jZKJ]:إK\`j.^MmS+5vjjZ Lҫ `j.^MmS+5r@z5Lҫ `jF.0RcH6@z5LԖYS+5vR#ZKtT)鿣ek,ckW4›vks_ݺjؼm[{˟^;)MZ -E0ULEu}ȿb׽f3\.&ߜHeyr,,߲,b_v{6p.OGR]nÒ_Vݮ-֛n&)y w"/h&O|Y٣ɻL5|qeƅr| f1ؙu"~tƛ|cg~htczۚN,U[-bәMX72Ӿ[ ?NzwMnji^~3cd, U~l|nW گw)GDkyƣgn>ш*勖nW`>jyÉ#/5v%RXA`Ŋ+VT -*ŪRjŪVjQXI`%rfI]%5rYe*,XTX^j,{z/5vKށK]z@.RwRc`{{KF.{ T=X^j,{z/5vKރK]zA.RRc`{{ TإYR#X^j,z/5v}K>K]z@.RRc`{ TX^j, ^jҬT𖾱?m^zCOlYb]&:K7w}Gx- eXunb\Q-:q/*Wn5n0.n^=ǖe0k2#PN?+M?]nҎƖhOܬ 3_O|n Oplyʸ 6uD,8omƼf1љoU?zw >5~sۯo̴{0 l8Mն>ћm-L2ԍwyGD_N _>xW^lKݬo7v;OWkѽy<*~7 -tqW;uweem642t||Ýzlfժ1Otr. -# "gǫ|^ܽ^߽۬W9 -}Z,OD/,OmY:?:iJ/n{; ->:l?O7تH}_x_OU^[NYմ3slBQӨ娥0TxWZ3}Ob7TaJ%"uKZE:]p~gbD@Wumf|'ɲP\8_l*_t vuzWǽȥƮ\+(VXbEUVX`UUVX5`ՊVX `5+)V$Y,KF. XV,`YrKށK]z@.RwRc`;{ TX^j,{z/5viz/5vKރK]zA.RRc`{{ T=X^j,{z/5v}4KjK>K]z@.RRc`{ TX^j,z/5v}jq|$40VN_d`&æ??vpvƜs$cw5ر;ʱ;pe_gWd`8MvYjōyVuΎ/Z`1cP 2 4 O%RLz(͟o4W|BvM!M0ij$ؿzdp[dY(ԚeQD.I.l5B[ָ.T GѠRTys29 |OBT]QEgR0C p< 4lkuSJ)|5ERet+‚8< R8i34r EǧA qCwINMP})è# . /9W%%|`,oa -+d7j`"T׎1|ŮSz`A{zO<;{')p$5N '˽BW2 endstream -endobj - -38327 0 obj -<>/P 1403 0 R/Type/Annot/A 38328 0 R/Subtype/Link/Rect[93.6007004 467.32901 206.975998 487.007996]/Border[0 0 0]/H/N>> -endobj - -38328 0 obj -<> -endobj - -38329 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38330 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38331 0 obj -<> -endobj - -38332 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38333 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38334 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38335 0 obj -<> -stream -Hko۸W|sxݠ@fvۦ'5 $EJ–nן+9!_iܒ󳷗^<{ew@EH5O&T<IbJF4AD>d$8I׋m-,Emm-Ig/?0 -σ9焒CahaLD7LdLng6+rr }yq&Z/cZ^Ŝ.|3ʓR']¨m{~F- -_ۏY@8dƉ:@K.-F܁옡P3D([;x;C3G=C3G=GsG=GsG=GsG@ G@ GDKGDKGDKG}1>v'Q G}O -Q -QQQx"c!cr11C혡\v (ĵvPzǵ q3q-C\kǀB\k w\1C!2ĵv (ĵvPzǵ q3q-C\kǀB\k w\1C!2ĵvlpĵvPz;Z;f(W3ގ֎ -Q︖#cB;kPk혡k9Z;f(DZ֎֎ -Q︖#cB;kPk혡k9Z;f(DZ֎m֎UoǀB\k 媷cr11C! -ĵvPzǵq -q3q@\k w\+11C! -ĵvPzǵq -q3q@\k w\+ڱM 1CPk혡\vPzj&x>sN(?*Bc',ߞ̿LXX rVUCZ(EG͖E^mˢ$g{i*T]bec }y ذ: c~wsYu炎O 784[xϔ79Z@;כR-w̚* -'x - 4M˲(}dȷR5.:y +gB :.kp|DxL6+rR`NWP]ʒ~W\'PS}T;WUd9y N$m[,auV?na IuIMS6^6,x xcgmH(9ej1Տ|orw!1 # 9-mBq\o-2TPA-HpOS'N9;riI{|J*x2q%mIdeXyzJs٤%dwܑYB9|fIn +ww{nr[|j/jU+yKKn%X8;:|rw i:Ui[xWQ|]WbNҡO2ל31-=7 rm*qmRxEKD٥bw!JzNpq (Oty?M0m=>l3.=i:{mӃi6;0Rp@ c%O2wDbWc]т7ԂwҺ˫sOCl1{D.֋r鈈ٻnKUMVe[kQ%Ìf[M`w?ߞf?O*f@eXJEoZ"NYqЂ6X,x5^#$endstream -endobj - -38336 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38337 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38338 0 obj -<> -endobj - -38339 0 obj -<> -endobj - -38340 0 obj -<> -endobj - -38341 0 obj -<> -endobj - -38342 0 obj -<> -endobj - -38343 0 obj -<> -endobj - -38344 0 obj -<> -endobj - -38345 0 obj -<> -endobj - -38346 0 obj -<> -endobj - -38347 0 obj -<> -endobj - -38348 0 obj -<> -endobj - -38349 0 obj -<> -endobj - -38350 0 obj -<> -endobj - -38351 0 obj -<> -endobj - -38352 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38353 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38354 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38355 0 obj -<> -stream -HWm6_'h7IDZl4bk%o(R4M h|8g8O__?yRϢW 7 B&`y&-XWEX.f]ߪg}wuut[etl ,2 `}4],?09q>OfUi|sfaVL\\϶}_uՀ~R=lH&Ok`b?l"#Dh8-s|Eo#1Ƅ0<,*\yB> -s<$}{{{{{W{W{{{{Y>#g`s} y `_  >,'D}H> -cbEϢB(BgQ@P-Y>P T}"T}ET+bE -B(BgQ@P-Y>P T}"T}ET+bE -Bط$Z쳨=P-YT,*d}"T}ET+ bEJB(BgQ@P-Y>P$T}"T}ET+ bEJB(BgQ@P-Y>P$T}H> -cbEϢB(BgQ@P-Y>P"T}"T}ETbE*B(BgQ@P-Y>P"T}"T}ETbE*Bط4Z쳨=P-YT,*docb)}t]/qIƲ̰>zs(xY|sfajZ$H]:_ ˤnn:JUdy|ܳ["ʵ{ ޽êse=o~[ung=jHrK=W |y~Ov jΨ=D@Hiwm{ՖMq9d<3`7䴭wo:mv描/o~Ǜ+鸹bO|=fN~ҤIT;eSs9I}Lg\aF%ix~rـvPXevm `6iw+}U9{ ;<+gKvfe#vBU>?ѕhOORrPfJ&Zujϩ|8MOT'38MC䢘8Cp.iES$d) 9Բ<ͦKUҦrjzB`J"Vۦzv7vƚDP 3pIE1N{eH ֡LJU<֗)?vCn<"K j`Jl7DESjV+j6&)@p_횪XR#n㹸4 3Ԉ8O@*d4=v&;\,xc[v_yiLfX2pMRKo:f3A޻f`\˅{wDԾ0dvѳw*loh'DyW>"9dCΔ9jش5SpsX.6OG>|@e1_=~@/z[~H]/h tJ7T~r=`[W!sF- ٨jXPIrHᕒ{a[v xëmg.Y|z\(mCdBXwwz\$ǂQ!ʳ5arUeg\>|ר^we,*+u e(gUMՕx!^?zN'ﵧ(W_ua"SAEZLǻy5tޣl+5ח{qj>Su}ߕр!qAJNr&^wpBC (|ũbe"%m@O =ö=]}=R -+T$&+Se^@"hCCPcAC!HK ‡QsD3hlC[(3-hCU$i>^`.@ 6ҙbkq? ˏCμV6z=Z6t9=x.pBt9az|Af8΁ZzgA3 Z|LYW-%(yJ:3H匨<$.Sp_ 9 Kre1IlqȐa.q$$79 .#\i\]l&՗-r)qw~+6T9;^5=0@`W%V-zX-q<c$(R|vړe'z+!$ ޝi[At= Leu xGpfO޲{b: -!|gVwGŗ:# {_ttef"1cUY8|j1,$GȈk&J%C!hI-j i4*+=U lAZĀR; -(m!($fF^ӶpGngR7v3*Ti |0' QH \S’0e&=%є&8C0 aG$:>/P 1103 0 R/Type/Annot/A 38357 0 R/Subtype/Link/Rect[93.6001968 663.229004 222.108002 682.908997]/Border[0 0 0]/H/N>> -endobj - -38357 0 obj -<> -endobj - -38358 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38359 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38360 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38361 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38362 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38363 0 obj -<> -stream -HWkH_QۣN(-BKVF(8fjͣ۾"霜:u\>'ɝzpgJǏ<{*\VXU.˭jWMJjT2wͧnkMݷBM2}֪.y2K3*f$M -*DMUJ6IjK;}<ܘfl[ޛh9[ݢ:5y`s>mv~_xS Hv2Ez~3킴%:z"y"qUu+VKWd6:MN&! 9qv1b8YHÈn4ϱȲ-po{;Nw=p{{>s>s>s KKK++>A&#tϱ{KXdrXh{Z Z˱{Z Z1bcZ1bcEk-h-" cEk-h-Lj܋ZZmZ1bI,ZK{Eh-Lj܋:Z u,Z u#p/Z@k9Y#p/Z@k9F,^ցr,@k9F,^ցrXh&#tϱ{KXdrXh{ZZ˱{ZZ1bcZ1bcEk=h-" cEk=h-Lj܋zZmcĒ9Y#t1bI! !xMdLg3p$8eVΜmwijլez,)}9Q$~,q~!LjKhy兖Z^h@+Z9ʅV -UBh@Z%*V*UJhVZkY-8F,ű2@-в@ -- D-=LjD-=LjD-=LjD-=LjD-=LjD-=LjD-=LjD=Lj%8Y #w #w #w #w #w #w #w #w # #XdsX@KރsX@KރsX@KރsX@KރsX@KރsX@KރsX@KރsX@KރsX@K>" cĒZ! !?/'d:3*p+2:C8\hPeȱEʹv]*]wq-8bJ-0<ЙV z2 -M̯5yЌW_j3dKiYir&m'Uߞ^O ݙvMwz5.tΔ}W HvoA|lzC?,יt5`_,΍fyix̆x [p6^u륺z٩M\]vOcuQOhp` -@ hB+Z*V! -UhBZЪV%*U -@+p!q`pZFheZVhY%roA96G,rϱ8b -{ Khsl08XB cqZ  #`p`p=%@96G,rϱ8b -{ Khsl08XB cqZ  #`p=ŵ<=%@96G,rϱ8b -{ Khsl08XB cqZ  #`p=%@96G,sl08XB cq830 DZA9]fUOv/ku1M'c ef8aW7cD]?K*_Z֫f[//'o]N&:Sf:N-]=qzud{8Kys?<|MR,Zϯoͺni뙺)/ -Ԡt -( :e -koཝy)=G1z5};]Bnm.3G $ו|i锉Fm$?z醱aF;u xO\W'!dUU^L7uAcي a(\}_x0\#+hihI6,>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38365 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38366 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38367 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38368 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38369 0 obj -<> -stream -HWr|WLy*ґ/ʃrQ$$ˋ3$^Ǒ-Sn4SOL~~ճg_~͌&*TNV6Y.2*Yͺvmks.OﭺelRNUg1mbTe^z7nݨ ܒ)t;l\ܬy=9/p1~Wn\^Y͞Կ~ʜZ\>7C*6$ug1pN8&w1b8XHÈ{7FXbY -½p{'; ½p >}}} ܗ} ܗ} ܗ}W}W}p{YJ˱ufAk9F,cZ1bI#tϱ{Z Z1bcZ1bcEk-h- cEk-h-Lj܋ZZ%h-Lj܋ZZ [gcĒ9X#t1bIK,Z u#p/Z@k9X#p/Z@k9F,^ցr,@k9F,^ցrXhXbrXh{ZZ˱uAk9F,cZ1bI#tϱ{ZZ1bcZ1bcEk=h- cEk=h-Lj܋zZ%h-Lj܋zZ [gcĒ9X#t1bZFQ@5+@ - -@+*V! -UhBZЪV%*U Њ@+r-K-Kjq5eZFhYeZ"cwڐ%@9F,%roA9v7 YB cZ"cw֐%@9F,%roA9v7: Y\ˁsXRc4-{r1wȽ 2@Kށs%r@9F# -w h;{D=hZ"c4V-{r1+Lj%8F h{{(D==hZ"cD==!h{{; w%rA9F@Kރs̥Lj%8F@K>Gc*O8_glRVUg@P ^QQ:WWF=]^5Ӄq}KNҴf?=|W\neQf*GgW!7la;-7U˞-7їr1jhByvK&O&7]vMF=1^eײ+?p^*7S6t~_}HC;yɋƱ'TbvsYn.ԣ 8_Y}~1Oj?-Wޝ3OjxӂJ/ۇ=?Đ'n;q8~矟Aj6?\ 9cuueƜA1D~GkӯcS'BߓorU~y\Y[B!:|դϠ9WhI5-(燻q6't75}2 gnn%z>9FXB-/sXRcr1bIc8czX^g|ʨWݧFfOks:z<=en =1m;]uWZL/ZikUQv;.NU/pAUgY3ꚅnn8:tkyrtҜ;dvx&M7rza8}m.妻9[|Ӡ+OGq{L8ֺ4m'vQ1%vysIش&}Gv߸}6pLuR/Wͷk_]ǂǮ;_m3[ӗ:n.T=YslsfZmzV8$ύtm.,O7e !s3F_KX٬8CQxSdi jFg7\v1@5%*ҷv -J ќRZ]=gbA)ygXzE?[U)+^?ۧ0C9ŎDžةw)PW4:H3$ݲ:Q~`<γ4[䡴nmOar4{R>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38371 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38372 0 obj -<> -endobj - -38373 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38374 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38375 0 obj -<> -endobj - -38376 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38377 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38378 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38379 0 obj -<> -stream -HWnG|iHbǀ(kq0H#Z^539haXJ=UM?y&5ϟp'qѺOMV{Sf̛73MRs836ћnlNfwx,O,Ar4pqfpT4Ij*S) &EI}\i]UK[̠68M+ﻱ=?@vv8yUϦp:f٨i`oa[֥i|H3tֵ?%zɸԜ\K$UȭH)-uTp'U&9TҠHcNbrNƬ wy^Wp>A}T#p ϔ ϔ ϔϕϕ///// - -Wu$Vb%F,Z1K{ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZMZ+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkh&I{ Vb%,^b{Z+1fVb{Z+1fVb{Z+1fVb{Z+1fVb${ Vb%,UUEҿ$9$Ggaj jҖ@/ts'Io?6(y.lRlZh4^gVYz5n -N oo'lyB^+mQeu>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>Ĉr/1fi.UlEoǃ{C&t7-}~׆݊y W/NLҟm9ARh M{Ǧ=m+BkT{VХ%+ K\AnR&tp`޼9}')0qmYP:}aSz#Ma\j d]7=1<3CfGYp]W739M|0 XRˏUi_>,J[>re[,-M)6S/_}S -uyCwe]!\v?Cnݾ!ezt`g&׊踻 -zWԳLhl󸏞0! j[t'-o.`Ul:)mF hӇ <h~w}71~o.C^\NO~|1/O^54hӪ6\zo|m;1Qz9\RӖIs`({fVLlޙ+cL^p]_={=cNq;b씇`R:MŏK0:7?^OG(珦|XoB+buA_6[z[Jpz, w۝9fmgVBŧ׬첆BXuXx_,E+l;OQºNBJA{ s:wі=j]딙-誰wZd6*Hd\muYyLv.O ڲ/_h}8&I>z[uZ4aOI/OvN >endstream -endobj - -38380 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38381 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38382 0 obj -<> -endobj - -38383 0 obj -<> -endobj - -38384 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38385 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38386 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38387 0 obj -<> -stream -HWM8Wp1{$9$ `09tbmem9+m,["I`$+c^_EӱW~}7&I1WfsSŲTsXS&:1b誧~o]5Ւ5UrG"[ϚIX'61kLlKgeWk6UVdlB ]'bL*u_= 3%aEʅs OFϋa\ȿ$+vdR_a$؊%N\YXI8M clq1)t -m m2F6DYr2&*b*b :b :b :bo&bo&bo 6bo 6bo 6bӈ}JO#>g,b쳈}N#9>;;}YI6E6!*fE6!*fm"TETՆ6D#*B PjCjІ(}ZE6PmhC>R"TETՆ6@ m"GUjCjжK4І}hІ}hCT>PmhC>R&TET Ն6@ m"GՄjCj5(B QHPmhC>R&TE6!`V m"GՄjC.1jCb PjCb Q1(B QHPmhC>R!TE6!` m"G5jCՆ6D#B QHPmhІ(}ZC6!` m mه6@ mه6Dw&sK,du"OY:%k6uc釢Z|H+-l4/Rj$Osu] Pqd~P]WMϦZuWu~=Wu3]f7G6fk.rIĽh=C[zw -}m -y\>7 o$sHem}/]qqquu8fvh2-KVVl[_;n冡3WEWc2hǃ>|Gêd/]v|Oϒ9O5'ms_ }fЭf6P1,)) ،gYr(L1~&{~,L a\MNz0AGkk쫈 UDhcThǨx1-Ɓ4zû:sȝ/ѣ @8׷aj}}zͩ61񋋿}rP|Yl˥SVx{/9QBʜ~~ko-|)޸,۪~Z(pv%\(`=[-4TXܐ݄)}4}UН #Ag(Ƥ'$)CV4ŮvbÑs XOKA}WSz%~XO z/A5`s_F1#5Vwr8㎙;VpqmmrM.x$pҹrc _7j qf]a1Zew({M# /)y7岀,~0|P*\%Ӱt~IA)h.1me'^8HjR|L3Ԑ^]c5 -.]x>[dB~37Ǫ-o057fOp/x}? UBpӫZ(kpXԏSSY,..jn)%r)|2\0פaU߶'%7vPu5p 6"F/ug@SM'|}àP>OT'պ'2ڰ.8r/%EhegMa%Om%"񲋿]S`;K@hSU/U^]/y=./гd'vW`M$~7mT+p}6] XhuSLTG"fޖ,^u>.AΊǖUF;QӐ޷My V8Yzgୱz<~vr9ǀzT/M/8QdQ(.w 6>shD>2]J! _ QGqh+)}CUQoi3UQ:b+Mּz|ukkLJp^Y/Xbń;A|?L!-2b@JߥjbFĚ又e#A)B˿Aiƞ N0ݲn]P!P3c\OmV+F spq,"A(xgcB Y=qjd7ߓOl|q=ɳsFƱ#bEn ,1?hdz|1:SK ]NprZS?!)ռ\y Eޕ,}=c1].Vţ[M-u<I0o- y2 Q }ke>͞A@q%'~(nD(j< (FX$GFJ(Z`I-?⤱QC(_,Tdum^4^Y>W[|a J˜FT|vH4)İ6 -Y͔~2$gRqWE}^oVa\P"iB)k]MH'<bg~t>1pxa:(Mr`bMfd):"+ Uj2qf$x -(zk4 )P_tݬ@#k̠Vvķ䡕 x9H`5" @QnķOg?O5S`R pYˊuՐ:`H,#A7W⊹́/rx&8'8( z2y|XIx!GPW7gߓendstream -endobj - -38388 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38389 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38390 0 obj -<> -endobj - -38391 0 obj -<> -endobj - -38392 0 obj -<> -endobj - -38393 0 obj -<> -endobj - -38394 0 obj -<> -endobj - -38395 0 obj -<> -endobj - -38396 0 obj -<> -endobj - -38397 0 obj -<> -endobj - -38398 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38399 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38400 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38401 0 obj -<> -stream -HWkۺ_A_ņ+hMnrަ1p?$A]J.3$KxE5=>C WΚ~}ywHDH8RH -BvVbu]M/YSW~ ޮ`m"!KY -s8Lz|]})+vJpe(M[lt*J|X63?Ha| RbR:*/%rl2.O޵J^^^^^^>"G`yc}챏 >&`x}O >%{h]>j]| Pj]| Q>{(B Q{OPkCS$TEֵ!`Vum"{j]պ6D=JB Q{OPkZ׆(ZIֵ!`Vum@umٻ6@umٻ6D]պ6D=*B Q{OPkZ׆(ZEֵ!`Vum"TETպ6D=*B Pj]jZ׆(ZEֵMֵ!gEֵ!gwm"TET պ6D=jB Pj]j5Z׆(ZMֵPkCS&TET պ6@um"{Մj]j5Z׶ Z׆(kZ׆(kC>ij¿0oZPL6ao!S(Jzַ' GQ('uk.MB1:|]mUޕu.^Dڮn.D*(?6,w8Zo=oJE⛒f jS8}?q}-g# e`Ҳꊍ` H1h1N#rdܔJj95zJ'\^}^g6q̓2>ñ;/q(Ϸ}mVmv`~`TY%+(F-<4۳,ocr˗ˤ0.]RV)۔5}Hm@,oVX~5Mg\Srud>rK!Z&G K!|R@o'vP縫 I!ͳ=< 27Pn-5pk`DC?: -g1C>{31cpn݁DXK NR.0KDC*nhoQ#i?nm.M7Vp;rmکm.YU@+:^؆n܄N9a}Bir(I|R9J-)0rH -% *7eu,(T,^ OL?eK\XqV&2lQїjƱvx+_!5-fUϩG*9 {/eTk5Oa(ȹ뢨nZ2^#3շvSp*YvY?M \on_6/7~#HvϠ?kiq1>]8Gj}W'R6O?Vs]H!t }Sv _H?Jt֙=1tj(d&5Vx)L2&=R=Olcc'wx( }{t姧wb*9w\m.I /6q|x*玣_vϛ͛Aîc^@S̈kP"js!,S'd.OuG>*:@xլ~0Tfe~v2QXtN:) -lFMIJ}/J*{OVaq:±!levp(lDŽ8B{ ./}CeWݐ̜(Cqϯ^OBlO:PRZq2t`Ic*2R?n,]s`.gNub YJweK7+H\Js{aP.:< +Q?2%þA-r%w7S( N( f- ӵ%1O5IH(z/2.[W)?gJ= >‚"{$ p{[l~qFMdDjp) _7}먗UQd"s͈L9U1X`#mu/`dTQҹ b#n>ʅNvz/Tr"H dS1!W: eYkj}v3*~01"D$ -~9[ fl.0n~t }  -toa"uB[I+|c+`֦Nٷ؎4WeK\\ݑ6ņu fqliKK -mBALu=M-R57؎é~CAu>/P 630 0 R/Type/Annot/A 38403 0 R/Subtype/Link/Rect[93.6006012 600.828979 210.949005 620.508972]/Border[0 0 0]/H/N>> -endobj - -38403 0 obj -<> -endobj - -38404 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38405 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38406 0 obj -<> -endobj - -38407 0 obj -<> -endobj - -38408 0 obj -<> -endobj - -38409 0 obj -<> -endobj - -38410 0 obj -<> -endobj - -38411 0 obj -<> -endobj - -38412 0 obj -<> -endobj - -38413 0 obj -<> -endobj - -38414 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38415 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38416 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38417 0 obj -<> -stream -HWmoF_e@$N"X*6t;Waѳ33;{e^]v;o]).E`J+4_)8/Yqz\zכ+7?oB|QL] gikJ sܳŦҬ._;c Ľ_6@CJ~0o+ٚARbLMXcB\eԆ<\j9*!9(I{I{EW{EW{EW{M{M{C7{C7{C7{K{K{Gw{Gw{Gw{O{O@@4+ѦM! զ6DSզ6DSr PjSj%Ԇ(}ZI6PmjC>S$TET+ զ6@Mm"gjSj%(B QLPmjC>S$T6"TOm"TOm٧6@Mm"gUjSj(B QLPmjC>S"TE6!`VMm"gUjSզ6D3*B QLPmjPmjCT>PmjCT>!*gE6!`VMm"gՄjSզ6D3jB QLPmjԆ(}ZM6!`VMm"TET զ6D3jBmSB Q9(B Q9Ԇ}(Cq?WZ/ +|gLPZf7llbAJĔ^r q7V nbxW7U>ť4|/?q.k m؛^-^/mt6<`fTAfOU NNy(~a7ۻ!iXPe* 'a.T>bngkn@"78ͫB8xegǂxnힳjln_7m:NUCJsj/I Tu?+|%i/D^⇤ -=VOltJaC\rp\ᄡ8BM8ʾ`vڟj~qi8)^{nݬYUST-[={MJ;Iq^W O魶ͺt}>BSi}s[=9jGIJA2Q<xc,p#H.&20%CN0NV }f婾os:Hm1LOVЖ N< _ -9폶p4u4ps ,JAC<{Εe"V\3K .>3CNPxOˑ͡1^gls(]_}a>V0#Zpres0A_K܄2՗}.C%Xs 43kA8 M+u7R%z 3x@>u?>ȳWpMOJ9|;ۮh=h;i1 nΔ c`SCkH%РȢ_1JA>NIW7A9Y\35qsWq۩j<̪ĺ飓Vq,~SkcиyVS!~?K/cA>{] er\w5%/-%;.ŸMx(BU4ߪ5u6uTӄUe7"%#<@{U୙4&p78wXA>Hlxm@<~o Y`՛t/Tlj:Ӯa4M[tj s~>jႩ&S2nkp)c?6?u[ PXJӈ9NhWBBs;{"3Fi`aժ@A #K7 aZL1.x-"Fl p^3 -d=5S}t.7 %y߽36pU ޵?JJ+qyxE1z?pWq68~}e;3k og9;\6:)l\*Ƌ'<€V}b+>Yrw(aGLZ n1> ;w_n鈎Cc0vpgN -G VhTJ$e:r]B7;[*ASLTq*k׿´ˇק2Ar]Jv^pwTw:R"Ilv1& >[O )]KE(a$Oǂl;Jӱmu₪L);21PZQݪ,Jn?)p,kqSIJ _gUM.Q\QYF?bZ neX2 -3:U鐗:w{KL^R2%-:"_kiUǷ?R:^2N$)'L kH1޽}U:_y2BaC%#Ё0yl &܍s6wkL)~yFi ̲ZyngK륍,[R~Lh^zigb4Jf{C0#L>L_%uy}-\R<\>L_G,H/SRNYRcdV6\0ÂP֧ct!L-c 6f1 -"6#eo*l!;L H>g`9v}% -uBi9+ƉLY=QRȺ,/&Me~Byp9OC6)~mNMi8r~.\iK% dV#\>?_w -1 -B]wmr 8<6鴈Dt0 ef|.5? ab|]ǫ7 -5iMmAq<[}vh/rsS=5AǺfϨ].Ćl4|/h:xM -X9hjn]£, $h+a6"sCZ՗cSYoY0ؼ;u(4Sd097zzqɱ)ӌ -g[^34D%t$RFO ΢d6DDkJFi":YL2$%'YcJɕIg1ZA-;pI-&wZo8j{hn\ӏ$DO)L\A2`z:ghp0s (; Y`>&|tbirlTv.G<'v0kRSzzN̒EC%.9(LcrB DƉn|21 P Չӧiz_zCΪ]Bh7nzLO= SSSzI޲v"$13c!~`kra"PN58^ؗ><5KS/Ss:~R)coF oe8~WL2B6nb,$P!v7*yt8ÉNk!dPh;JJGO3Iő&>"й+S"]8B85xF[qs4DOC^v/9*ڝ>&tU8pgnlt+ts`0F'x@Cipnq/Mqv:7ۡ'-^P"GHLg6JNƘs&P'ĘB4kok#VC6FD3zAr<%j\~fe=>9 -otbLj;(sC/f oX ǜ>"(Cs?n]ЎϸU\Ӝ 04&94<`iZ^7tM &gARy^YHe]"fz݃ {yMmd3u_?cޝH]8xMnbnfFq9^Ԉ0H,{rĝEI+ئً{q/n{7NzkIګn}/Ul6@endstream -endobj - -38418 0 obj -<>/P 2920 0 R/Type/Annot/A 38761 0 R/Subtype/Link/Rect[226 670 238 678]/Border[0 0 0]/H/N>> -endobj - -38419 0 obj -<>/P 2920 0 R/Type/Annot/A 38759 0 R/Subtype/Link/Rect[250 640 267 649]/Border[0 0 0]/H/N>> -endobj - -38420 0 obj -<>/P 2920 0 R/Type/Annot/A 38757 0 R/Subtype/Link/Rect[267 640 279 648]/Border[0 0 0]/H/N>> -endobj - -38421 0 obj -<>/P 2920 0 R/Type/Annot/A 38755 0 R/Subtype/Link/Rect[215 630 223 638]/Border[0 0 0]/H/N>> -endobj - -38422 0 obj -<>/P 2920 0 R/Type/Annot/A 38753 0 R/Subtype/Link/Rect[200 620 208 628]/Border[0 0 0]/H/N>> -endobj - -38423 0 obj -<>/P 2920 0 R/Type/Annot/A 38751 0 R/Subtype/Link/Rect[235 600 252 609]/Border[0 0 0]/H/N>> -endobj - -38424 0 obj -<>/P 2920 0 R/Type/Annot/A 38749 0 R/Subtype/Link/Rect[252 600 264 608]/Border[0 0 0]/H/N>> -endobj - -38425 0 obj -<>/P 2920 0 R/Type/Annot/A 38747 0 R/Subtype/Link/Rect[203 590 219 599]/Border[0 0 0]/H/N>> -endobj - -38426 0 obj -<>/P 2920 0 R/Type/Annot/A 38745 0 R/Subtype/Link/Rect[220 590 232 598]/Border[0 0 0]/H/N>> -endobj - -38427 0 obj -<>/P 2920 0 R/Type/Annot/A 38743 0 R/Subtype/Link/Rect[221 580 233 588]/Border[0 0 0]/H/N>> -endobj - -38428 0 obj -<>/P 2920 0 R/Type/Annot/A 38741 0 R/Subtype/Link/Rect[202 570 216 578]/Border[0 0 0]/H/N>> -endobj - -38429 0 obj -<>/P 2920 0 R/Type/Annot/A 38739 0 R/Subtype/Link/Rect[218 570 232 578]/Border[0 0 0]/H/N>> -endobj - -38430 0 obj -<>/P 2920 0 R/Type/Annot/A 38737 0 R/Subtype/Link/Rect[234 570 250 579]/Border[0 0 0]/H/N>> -endobj - -38431 0 obj -<>/P 2920 0 R/Type/Annot/A 38735 0 R/Subtype/Link/Rect[251 570 265 578]/Border[0 0 0]/H/N>> -endobj - -38432 0 obj -<>/P 2920 0 R/Type/Annot/A 38733 0 R/Subtype/Link/Rect[267 570 284 579]/Border[0 0 0]/H/N>> -endobj - -38433 0 obj -<>/P 2920 0 R/Type/Annot/A 38731 0 R/Subtype/Link/Rect[284 570 298 578]/Border[0 0 0]/H/N>> -endobj - -38434 0 obj -<>/P 2920 0 R/Type/Annot/A 38729 0 R/Subtype/Link/Rect[151 560 165 568]/Border[0 0 0]/H/N>> -endobj - -38435 0 obj -<>/P 2920 0 R/Type/Annot/A 38727 0 R/Subtype/Link/Rect[167 560 181 568]/Border[0 0 0]/H/N>> -endobj - -38436 0 obj -<>/P 2920 0 R/Type/Annot/A 38725 0 R/Subtype/Link/Rect[183 560 199 569]/Border[0 0 0]/H/N>> -endobj - -38437 0 obj -<>/P 2920 0 R/Type/Annot/A 38723 0 R/Subtype/Link/Rect[200 560 212 568]/Border[0 0 0]/H/N>> -endobj - -38438 0 obj -<>/P 2920 0 R/Type/Annot/A 38721 0 R/Subtype/Link/Rect[189 550 201 558]/Border[0 0 0]/H/N>> -endobj - -38439 0 obj -<>/P 2920 0 R/Type/Annot/A 38719 0 R/Subtype/Link/Rect[225 540 241 549]/Border[0 0 0]/H/N>> -endobj - -38440 0 obj -<>/P 2920 0 R/Type/Annot/A 38717 0 R/Subtype/Link/Rect[242 540 254 548]/Border[0 0 0]/H/N>> -endobj - -38441 0 obj -<>/P 2920 0 R/Type/Annot/A 38715 0 R/Subtype/Link/Rect[230 530 244 538]/Border[0 0 0]/H/N>> -endobj - -38442 0 obj -<>/P 2920 0 R/Type/Annot/A 38713 0 R/Subtype/Link/Rect[246 530 260 538]/Border[0 0 0]/H/N>> -endobj - -38443 0 obj -<>/P 2920 0 R/Type/Annot/A 38711 0 R/Subtype/Link/Rect[262 530 276 538]/Border[0 0 0]/H/N>> -endobj - -38444 0 obj -<>/P 2920 0 R/Type/Annot/A 38709 0 R/Subtype/Link/Rect[278 530 292 538]/Border[0 0 0]/H/N>> -endobj - -38445 0 obj -<>/P 2920 0 R/Type/Annot/A 38707 0 R/Subtype/Link/Rect[294 530 306 538]/Border[0 0 0]/H/N>> -endobj - -38446 0 obj -<>/P 2920 0 R/Type/Annot/A 38706 0 R/Subtype/Link/Rect[189 520 206 529]/Border[0 0 0]/H/N>> -endobj - -38447 0 obj -<>/P 2920 0 R/Type/Annot/A 38705 0 R/Subtype/Link/Rect[207 520 219 528]/Border[0 0 0]/H/N>> -endobj - -38448 0 obj -<>/P 2920 0 R/Type/Annot/A 38704 0 R/Subtype/Link/Rect[172 500 189 509]/Border[0 0 0]/H/N>> -endobj - -38449 0 obj -<>/P 2920 0 R/Type/Annot/A 38703 0 R/Subtype/Link/Rect[189 500 203 508]/Border[0 0 0]/H/N>> -endobj - -38450 0 obj -<>/P 2920 0 R/Type/Annot/A 38702 0 R/Subtype/Link/Rect[205 500 217 508]/Border[0 0 0]/H/N>> -endobj - -38451 0 obj -<>/P 2920 0 R/Type/Annot/A 38701 0 R/Subtype/Link/Rect[176 490 186 498]/Border[0 0 0]/H/N>> -endobj - -38452 0 obj -<>/P 2920 0 R/Type/Annot/A 44508 0 R/Subtype/Link/Rect[188 490 202 498]/Border[0 0 0]/H/N>> -endobj - -38453 0 obj -<>/P 2920 0 R/Type/Annot/A 44786 0 R/Subtype/Link/Rect[204 490 218 498]/Border[0 0 0]/H/N>> -endobj - -38454 0 obj -<>/P 2920 0 R/Type/Annot/A 44117 0 R/Subtype/Link/Rect[220 490 234 498]/Border[0 0 0]/H/N>> -endobj - -38455 0 obj -<>/P 2920 0 R/Type/Annot/A 44179 0 R/Subtype/Link/Rect[236 490 250 498]/Border[0 0 0]/H/N>> -endobj - -38456 0 obj -<>/P 2920 0 R/Type/Annot/A 43007 0 R/Subtype/Link/Rect[252 490 268 499]/Border[0 0 0]/H/N>> -endobj - -38457 0 obj -<>/P 2920 0 R/Type/Annot/A 43881 0 R/Subtype/Link/Rect[269 490 283 498]/Border[0 0 0]/H/N>> -endobj - -38458 0 obj -<>/P 2920 0 R/Type/Annot/A 43613 0 R/Subtype/Link/Rect[285 490 299 498]/Border[0 0 0]/H/N>> -endobj - -38459 0 obj -<>/P 2920 0 R/Type/Annot/A 43912 0 R/Subtype/Link/Rect[151 480 167 489]/Border[0 0 0]/H/N>> -endobj - -38460 0 obj -<>/P 2920 0 R/Type/Annot/A 43862 0 R/Subtype/Link/Rect[168 480 182 488]/Border[0 0 0]/H/N>> -endobj - -38461 0 obj -<>/P 2920 0 R/Type/Annot/A 44376 0 R/Subtype/Link/Rect[184 480 198 488]/Border[0 0 0]/H/N>> -endobj - -38462 0 obj -<>/P 2920 0 R/Type/Annot/A 43887 0 R/Subtype/Link/Rect[200 480 214 488]/Border[0 0 0]/H/N>> -endobj - -38463 0 obj -<>/P 2920 0 R/Type/Annot/A 42763 0 R/Subtype/Link/Rect[216 480 232 489]/Border[0 0 0]/H/N>> -endobj - -38464 0 obj -<>/P 2920 0 R/Type/Annot/A 44386 0 R/Subtype/Link/Rect[233 480 247 488]/Border[0 0 0]/H/N>> -endobj - -38465 0 obj -<>/P 2920 0 R/Type/Annot/A 44236 0 R/Subtype/Link/Rect[249 480 263 488]/Border[0 0 0]/H/N>> -endobj - -38466 0 obj -<>/P 2920 0 R/Type/Annot/A 44087 0 R/Subtype/Link/Rect[265 480 279 488]/Border[0 0 0]/H/N>> -endobj - -38467 0 obj -<>/P 2920 0 R/Type/Annot/A 42779 0 R/Subtype/Link/Rect[281 480 295 488]/Border[0 0 0]/H/N>> -endobj - -38468 0 obj -<>/P 2920 0 R/Type/Annot/A 44246 0 R/Subtype/Link/Rect[297 480 311 488]/Border[0 0 0]/H/N>> -endobj - -38469 0 obj -<>/P 2920 0 R/Type/Annot/A 44092 0 R/Subtype/Link/Rect[151 470 167 479]/Border[0 0 0]/H/N>> -endobj - -38470 0 obj -<>/P 2920 0 R/Type/Annot/A 43430 0 R/Subtype/Link/Rect[168 470 182 478]/Border[0 0 0]/H/N>> -endobj - -38471 0 obj -<>/P 2920 0 R/Type/Annot/A 42038 0 R/Subtype/Link/Rect[184 470 198 478]/Border[0 0 0]/H/N>> -endobj - -38472 0 obj -<>/P 2920 0 R/Type/Annot/A 43720 0 R/Subtype/Link/Rect[200 470 214 478]/Border[0 0 0]/H/N>> -endobj - -38473 0 obj -<>/P 2920 0 R/Type/Annot/A 43694 0 R/Subtype/Link/Rect[216 470 230 478]/Border[0 0 0]/H/N>> -endobj - -38474 0 obj -<>/P 2920 0 R/Type/Annot/A 44035 0 R/Subtype/Link/Rect[232 470 246 478]/Border[0 0 0]/H/N>> -endobj - -38475 0 obj -<>/P 2920 0 R/Type/Annot/A 43172 0 R/Subtype/Link/Rect[248 470 262 478]/Border[0 0 0]/H/N>> -endobj - -38476 0 obj -<>/P 2920 0 R/Type/Annot/A 43833 0 R/Subtype/Link/Rect[264 470 278 478]/Border[0 0 0]/H/N>> -endobj - -38477 0 obj -<>/P 2920 0 R/Type/Annot/A 42948 0 R/Subtype/Link/Rect[280 470 294 478]/Border[0 0 0]/H/N>> -endobj - -38478 0 obj -<>/P 2920 0 R/Type/Annot/A 43344 0 R/Subtype/Link/Rect[296 470 310 478]/Border[0 0 0]/H/N>> -endobj - -38479 0 obj -<>/P 2920 0 R/Type/Annot/A 43852 0 R/Subtype/Link/Rect[151 460 165 468]/Border[0 0 0]/H/N>> -endobj - -38480 0 obj -<>/P 2920 0 R/Type/Annot/A 43810 0 R/Subtype/Link/Rect[167 460 181 468]/Border[0 0 0]/H/N>> -endobj - -38481 0 obj -<>/P 2920 0 R/Type/Annot/A 43779 0 R/Subtype/Link/Rect[183 460 199 469]/Border[0 0 0]/H/N>> -endobj - -38482 0 obj -<>/P 2920 0 R/Type/Annot/A 43742 0 R/Subtype/Link/Rect[200 460 214 468]/Border[0 0 0]/H/N>> -endobj - -38483 0 obj -<>/P 2920 0 R/Type/Annot/A 43703 0 R/Subtype/Link/Rect[216 460 230 468]/Border[0 0 0]/H/N>> -endobj - -38484 0 obj -<>/P 2920 0 R/Type/Annot/A 43671 0 R/Subtype/Link/Rect[232 460 244 468]/Border[0 0 0]/H/N>> -endobj - -38485 0 obj -<>/P 2920 0 R/Type/Annot/A 43169 0 R/Subtype/Link/Rect[215 450 227 458]/Border[0 0 0]/H/N>> -endobj - -38486 0 obj -<>/P 2920 0 R/Type/Annot/A 43452 0 R/Subtype/Link/Rect[213 440 227 448]/Border[0 0 0]/H/N>> -endobj - -38487 0 obj -<>/P 2920 0 R/Type/Annot/A 38897 0 R/Subtype/Link/Rect[229 440 243 448]/Border[0 0 0]/H/N>> -endobj - -38488 0 obj -<>/P 2920 0 R/Type/Annot/A 43520 0 R/Subtype/Link/Rect[245 440 257 448]/Border[0 0 0]/H/N>> -endobj - -38489 0 obj -<>/P 2920 0 R/Type/Annot/A 42996 0 R/Subtype/Link/Rect[176 420 193 429]/Border[0 0 0]/H/N>> -endobj - -38490 0 obj -<>/P 2920 0 R/Type/Annot/A 43275 0 R/Subtype/Link/Rect[194 420 208 428]/Border[0 0 0]/H/N>> -endobj - -38491 0 obj -<>/P 2920 0 R/Type/Annot/A 43415 0 R/Subtype/Link/Rect[210 420 224 428]/Border[0 0 0]/H/N>> -endobj - -38492 0 obj -<>/P 2920 0 R/Type/Annot/A 43366 0 R/Subtype/Link/Rect[226 420 238 428]/Border[0 0 0]/H/N>> -endobj - -38493 0 obj -<>/P 2920 0 R/Type/Annot/A 41341 0 R/Subtype/Link/Rect[185 410 199 418]/Border[0 0 0]/H/N>> -endobj - -38494 0 obj -<>/P 2920 0 R/Type/Annot/A 43276 0 R/Subtype/Link/Rect[201 410 213 418]/Border[0 0 0]/H/N>> -endobj - -38495 0 obj -<>/P 2920 0 R/Type/Annot/A 43235 0 R/Subtype/Link/Rect[173 400 183 408]/Border[0 0 0]/H/N>> -endobj - -38496 0 obj -<>/P 2920 0 R/Type/Annot/A 42876 0 R/Subtype/Link/Rect[185 400 197 408]/Border[0 0 0]/H/N>> -endobj - -38497 0 obj -<>/P 2920 0 R/Type/Annot/A 41451 0 R/Subtype/Link/Rect[169 390 182 398]/Border[0 0 0]/H/N>> -endobj - -38498 0 obj -<>/P 2920 0 R/Type/Annot/A 41959 0 R/Subtype/Link/Rect[184 390 198 398]/Border[0 0 0]/H/N>> -endobj - -38499 0 obj -<>/P 2920 0 R/Type/Annot/A 42435 0 R/Subtype/Link/Rect[200 390 214 398]/Border[0 0 0]/H/N>> -endobj - -38500 0 obj -<>/P 2920 0 R/Type/Annot/A 43030 0 R/Subtype/Link/Rect[216 390 230 398]/Border[0 0 0]/H/N>> -endobj - -38501 0 obj -<>/P 2920 0 R/Type/Annot/A 41428 0 R/Subtype/Link/Rect[232 390 246 398]/Border[0 0 0]/H/N>> -endobj - -38502 0 obj -<>/P 2920 0 R/Type/Annot/A 42486 0 R/Subtype/Link/Rect[248 390 262 398]/Border[0 0 0]/H/N>> -endobj - -38503 0 obj -<>/P 2920 0 R/Type/Annot/A 42929 0 R/Subtype/Link/Rect[264 390 278 398]/Border[0 0 0]/H/N>> -endobj - -38504 0 obj -<>/P 2920 0 R/Type/Annot/A 41635 0 R/Subtype/Link/Rect[280 390 294 398]/Border[0 0 0]/H/N>> -endobj - -38505 0 obj -<>/P 2920 0 R/Type/Annot/A 42861 0 R/Subtype/Link/Rect[296 390 310 398]/Border[0 0 0]/H/N>> -endobj - -38506 0 obj -<>/P 2920 0 R/Type/Annot/A 42834 0 R/Subtype/Link/Rect[151 380 165 388]/Border[0 0 0]/H/N>> -endobj - -38507 0 obj -<>/P 2920 0 R/Type/Annot/A 38895 0 R/Subtype/Link/Rect[167 380 181 388]/Border[0 0 0]/H/N>> -endobj - -38508 0 obj -<>/P 2920 0 R/Type/Annot/A 38888 0 R/Subtype/Link/Rect[183 380 197 388]/Border[0 0 0]/H/N>> -endobj - -38509 0 obj -<>/P 2920 0 R/Type/Annot/A 42173 0 R/Subtype/Link/Rect[199 380 211 388]/Border[0 0 0]/H/N>> -endobj - -38510 0 obj -<>/P 2920 0 R/Type/Annot/A 42680 0 R/Subtype/Link/Rect[300 370 308 378]/Border[0 0 0]/H/N>> -endobj - -38511 0 obj -<>/P 2920 0 R/Type/Annot/A 41665 0 R/Subtype/Link/Rect[173 360 183 368]/Border[0 0 0]/H/N>> -endobj - -38512 0 obj -<>/P 2920 0 R/Type/Annot/A 38883 0 R/Subtype/Link/Rect[185 360 195 368]/Border[0 0 0]/H/N>> -endobj - -38513 0 obj -<>/P 2920 0 R/Type/Annot/A 42569 0 R/Subtype/Link/Rect[197 360 213 369]/Border[0 0 0]/H/N>> -endobj - -38514 0 obj -<>/P 2920 0 R/Type/Annot/A 38896 0 R/Subtype/Link/Rect[214 360 227 368]/Border[0 0 0]/H/N>> -endobj - -38515 0 obj -<>/P 2920 0 R/Type/Annot/A 42096 0 R/Subtype/Link/Rect[229 360 241 368]/Border[0 0 0]/H/N>> -endobj - -38516 0 obj -<>/P 2920 0 R/Type/Annot/A 41865 0 R/Subtype/Link/Rect[179 350 193 358]/Border[0 0 0]/H/N>> -endobj - -38517 0 obj -<>/P 2920 0 R/Type/Annot/A 42403 0 R/Subtype/Link/Rect[195 350 207 358]/Border[0 0 0]/H/N>> -endobj - -38518 0 obj -<>/P 2920 0 R/Type/Annot/A 39523 0 R/Subtype/Link/Rect[188 340 202 348]/Border[0 0 0]/H/N>> -endobj - -38519 0 obj -<>/P 2920 0 R/Type/Annot/A 41935 0 R/Subtype/Link/Rect[204 340 218 348]/Border[0 0 0]/H/N>> -endobj - -38520 0 obj -<>/P 2920 0 R/Type/Annot/A 41652 0 R/Subtype/Link/Rect[220 340 237 349]/Border[0 0 0]/H/N>> -endobj - -38521 0 obj -<>/P 2920 0 R/Type/Annot/A 38904 0 R/Subtype/Link/Rect[238 340 249 348]/Border[0 0 0]/H/N>> -endobj - -38522 0 obj -<>/P 2920 0 R/Type/Annot/A 39524 0 R/Subtype/Link/Rect[200 330 208 338]/Border[0 0 0]/H/N>> -endobj - -38523 0 obj -<>/P 2920 0 R/Type/Annot/A 41507 0 R/Subtype/Link/Rect[212 320 226 328]/Border[0 0 0]/H/N>> -endobj - -38524 0 obj -<>/P 2920 0 R/Type/Annot/A 41684 0 R/Subtype/Link/Rect[228 320 242 328]/Border[0 0 0]/H/N>> -endobj - -38525 0 obj -<>/P 2920 0 R/Type/Annot/A 38905 0 R/Subtype/Link/Rect[244 320 256 328]/Border[0 0 0]/H/N>> -endobj - -38526 0 obj -<>/P 2920 0 R/Type/Annot/A 40753 0 R/Subtype/Link/Rect[183 310 195 318]/Border[0 0 0]/H/N>> -endobj - -38527 0 obj -<>/P 2920 0 R/Type/Annot/A 42001 0 R/Subtype/Link/Rect[183 300 195 308]/Border[0 0 0]/H/N>> -endobj - -38528 0 obj -<>/P 2920 0 R/Type/Annot/A 41962 0 R/Subtype/Link/Rect[183 290 195 298]/Border[0 0 0]/H/N>> -endobj - -38529 0 obj -<>/P 2920 0 R/Type/Annot/A 41272 0 R/Subtype/Link/Rect[183 280 195 288]/Border[0 0 0]/H/N>> -endobj - -38530 0 obj -<>/P 2920 0 R/Type/Annot/A 38898 0 R/Subtype/Link/Rect[192 270 206 278]/Border[0 0 0]/H/N>> -endobj - -38531 0 obj -<>/P 2920 0 R/Type/Annot/A 38890 0 R/Subtype/Link/Rect[208 270 225 279]/Border[0 0 0]/H/N>> -endobj - -38532 0 obj -<>/P 2920 0 R/Type/Annot/A 38881 0 R/Subtype/Link/Rect[225 270 239 278]/Border[0 0 0]/H/N>> -endobj - -38533 0 obj -<>/P 2920 0 R/Type/Annot/A 38877 0 R/Subtype/Link/Rect[241 270 253 278]/Border[0 0 0]/H/N>> -endobj - -38534 0 obj -<>/P 2920 0 R/Type/Annot/A 41688 0 R/Subtype/Link/Rect[192 260 206 268]/Border[0 0 0]/H/N>> -endobj - -38535 0 obj -<>/P 2920 0 R/Type/Annot/A 41429 0 R/Subtype/Link/Rect[208 260 220 268]/Border[0 0 0]/H/N>> -endobj - -38536 0 obj -<>/P 2920 0 R/Type/Annot/A 38886 0 R/Subtype/Link/Rect[192 250 202 258]/Border[0 0 0]/H/N>> -endobj - -38537 0 obj -<>/P 2920 0 R/Type/Annot/A 41561 0 R/Subtype/Link/Rect[204 250 214 258]/Border[0 0 0]/H/N>> -endobj - -38538 0 obj -<>/P 2920 0 R/Type/Annot/A 38875 0 R/Subtype/Link/Rect[216 250 226 258]/Border[0 0 0]/H/N>> -endobj - -38539 0 obj -<>/P 2920 0 R/Type/Annot/A 38899 0 R/Subtype/Link/Rect[228 250 238 258]/Border[0 0 0]/H/N>> -endobj - -38540 0 obj -<>/P 2920 0 R/Type/Annot/A 38892 0 R/Subtype/Link/Rect[240 250 250 258]/Border[0 0 0]/H/N>> -endobj - -38541 0 obj -<>/P 2920 0 R/Type/Annot/A 38885 0 R/Subtype/Link/Rect[252 250 266 258]/Border[0 0 0]/H/N>> -endobj - -38542 0 obj -<>/P 2920 0 R/Type/Annot/A 40696 0 R/Subtype/Link/Rect[268 250 282 258]/Border[0 0 0]/H/N>> -endobj - -38543 0 obj -<>/P 2920 0 R/Type/Annot/A 38874 0 R/Subtype/Link/Rect[284 250 298 258]/Border[0 0 0]/H/N>> -endobj - -38544 0 obj -<>/P 2920 0 R/Type/Annot/A 38902 0 R/Subtype/Link/Rect[151 240 165 248]/Border[0 0 0]/H/N>> -endobj - -38545 0 obj -<>/P 2920 0 R/Type/Annot/A 41263 0 R/Subtype/Link/Rect[167 240 181 248]/Border[0 0 0]/H/N>> -endobj - -38546 0 obj -<>/P 2920 0 R/Type/Annot/A 38887 0 R/Subtype/Link/Rect[183 240 197 248]/Border[0 0 0]/H/N>> -endobj - -38547 0 obj -<>/P 2920 0 R/Type/Annot/A 38880 0 R/Subtype/Link/Rect[199 240 213 248]/Border[0 0 0]/H/N>> -endobj - -38548 0 obj -<>/P 2920 0 R/Type/Annot/A 38876 0 R/Subtype/Link/Rect[215 240 229 248]/Border[0 0 0]/H/N>> -endobj - -38549 0 obj -<>/P 2920 0 R/Type/Annot/A 41131 0 R/Subtype/Link/Rect[231 240 245 248]/Border[0 0 0]/H/N>> -endobj - -38550 0 obj -<>/P 2920 0 R/Type/Annot/A 41100 0 R/Subtype/Link/Rect[247 240 263 249]/Border[0 0 0]/H/N>> -endobj - -38551 0 obj -<>/P 2920 0 R/Type/Annot/A 38891 0 R/Subtype/Link/Rect[264 240 278 248]/Border[0 0 0]/H/N>> -endobj - -38552 0 obj -<>/P 2920 0 R/Type/Annot/A 38884 0 R/Subtype/Link/Rect[280 240 294 248]/Border[0 0 0]/H/N>> -endobj - -38553 0 obj -<>/P 2920 0 R/Type/Annot/A 40712 0 R/Subtype/Link/Rect[296 240 308 248]/Border[0 0 0]/H/N>> -endobj - -38554 0 obj -<>/P 2920 0 R/Type/Annot/A 38926 0 R/Subtype/Link/Rect[189 230 197 238]/Border[0 0 0]/H/N>> -endobj - -38555 0 obj -<>/P 2920 0 R/Type/Annot/A 38903 0 R/Subtype/Link/Rect[221 220 238 229]/Border[0 0 0]/H/N>> -endobj - -38556 0 obj -<>/P 2920 0 R/Type/Annot/A 38893 0 R/Subtype/Link/Rect[239 220 253 228]/Border[0 0 0]/H/N>> -endobj - -38557 0 obj -<>/P 2920 0 R/Type/Annot/A 38889 0 R/Subtype/Link/Rect[255 220 269 228]/Border[0 0 0]/H/N>> -endobj - -38558 0 obj -<>/P 2920 0 R/Type/Annot/A 38882 0 R/Subtype/Link/Rect[271 220 285 228]/Border[0 0 0]/H/N>> -endobj - -38559 0 obj -<>/P 2920 0 R/Type/Annot/A 38878 0 R/Subtype/Link/Rect[287 220 301 228]/Border[0 0 0]/H/N>> -endobj - -38560 0 obj -<>/P 2920 0 R/Type/Annot/A 38872 0 R/Subtype/Link/Rect[151 210 165 218]/Border[0 0 0]/H/N>> -endobj - -38561 0 obj -<>/P 2920 0 R/Type/Annot/A 38870 0 R/Subtype/Link/Rect[167 210 181 218]/Border[0 0 0]/H/N>> -endobj - -38562 0 obj -<>/P 2920 0 R/Type/Annot/A 38894 0 R/Subtype/Link/Rect[183 210 195 218]/Border[0 0 0]/H/N>> -endobj - -38563 0 obj -<>/P 2920 0 R/Type/Annot/A 38867 0 R/Subtype/Link/Rect[188 200 202 208]/Border[0 0 0]/H/N>> -endobj - -38564 0 obj -<>/P 2920 0 R/Type/Annot/A 38865 0 R/Subtype/Link/Rect[204 200 218 208]/Border[0 0 0]/H/N>> -endobj - -38565 0 obj -<>/P 2920 0 R/Type/Annot/A 38879 0 R/Subtype/Link/Rect[220 200 234 208]/Border[0 0 0]/H/N>> -endobj - -38566 0 obj -<>/P 2920 0 R/Type/Annot/A 38873 0 R/Subtype/Link/Rect[236 200 250 208]/Border[0 0 0]/H/N>> -endobj - -38567 0 obj -<>/P 2920 0 R/Type/Annot/A 38871 0 R/Subtype/Link/Rect[252 200 269 209]/Border[0 0 0]/H/N>> -endobj - -38568 0 obj -<>/P 2920 0 R/Type/Annot/A 38869 0 R/Subtype/Link/Rect[270 200 284 208]/Border[0 0 0]/H/N>> -endobj - -38569 0 obj -<>/P 2920 0 R/Type/Annot/A 38868 0 R/Subtype/Link/Rect[286 200 298 208]/Border[0 0 0]/H/N>> -endobj - -38570 0 obj -<>/P 2920 0 R/Type/Annot/A 38866 0 R/Subtype/Link/Rect[202 190 216 198]/Border[0 0 0]/H/N>> -endobj - -38571 0 obj -<>/P 2920 0 R/Type/Annot/A 38864 0 R/Subtype/Link/Rect[218 190 230 198]/Border[0 0 0]/H/N>> -endobj - -38572 0 obj -<>/P 2920 0 R/Type/Annot/A 38863 0 R/Subtype/Link/Rect[216 180 230 188]/Border[0 0 0]/H/N>> -endobj - -38573 0 obj -<>/P 2920 0 R/Type/Annot/A 38862 0 R/Subtype/Link/Rect[232 180 244 188]/Border[0 0 0]/H/N>> -endobj - -38574 0 obj -<>/P 2920 0 R/Type/Annot/A 38861 0 R/Subtype/Link/Rect[207 170 221 178]/Border[0 0 0]/H/N>> -endobj - -38575 0 obj -<>/P 2920 0 R/Type/Annot/A 38860 0 R/Subtype/Link/Rect[223 170 235 178]/Border[0 0 0]/H/N>> -endobj - -38576 0 obj -<>/P 2920 0 R/Type/Annot/A 38859 0 R/Subtype/Link/Rect[192 160 206 168]/Border[0 0 0]/H/N>> -endobj - -38577 0 obj -<>/P 2920 0 R/Type/Annot/A 38858 0 R/Subtype/Link/Rect[208 160 222 168]/Border[0 0 0]/H/N>> -endobj - -38578 0 obj -<>/P 2920 0 R/Type/Annot/A 38857 0 R/Subtype/Link/Rect[224 160 238 168]/Border[0 0 0]/H/N>> -endobj - -38579 0 obj -<>/P 2920 0 R/Type/Annot/A 38856 0 R/Subtype/Link/Rect[240 160 252 168]/Border[0 0 0]/H/N>> -endobj - -38580 0 obj -<>/P 2920 0 R/Type/Annot/A 38855 0 R/Subtype/Link/Rect[193 150 207 158]/Border[0 0 0]/H/N>> -endobj - -38581 0 obj -<>/P 2920 0 R/Type/Annot/A 38854 0 R/Subtype/Link/Rect[209 150 221 158]/Border[0 0 0]/H/N>> -endobj - -38582 0 obj -<>/P 2920 0 R/Type/Annot/A 38853 0 R/Subtype/Link/Rect[391 670 405 678]/Border[0 0 0]/H/N>> -endobj - -38583 0 obj -<>/P 2920 0 R/Type/Annot/A 38852 0 R/Subtype/Link/Rect[407 670 419 678]/Border[0 0 0]/H/N>> -endobj - -38584 0 obj -<>/P 2920 0 R/Type/Annot/A 38851 0 R/Subtype/Link/Rect[391 660 405 668]/Border[0 0 0]/H/N>> -endobj - -38585 0 obj -<>/P 2920 0 R/Type/Annot/A 38850 0 R/Subtype/Link/Rect[407 660 419 668]/Border[0 0 0]/H/N>> -endobj - -38586 0 obj -<>/P 2920 0 R/Type/Annot/A 38849 0 R/Subtype/Link/Rect[391 650 405 658]/Border[0 0 0]/H/N>> -endobj - -38587 0 obj -<>/P 2920 0 R/Type/Annot/A 38848 0 R/Subtype/Link/Rect[407 650 419 658]/Border[0 0 0]/H/N>> -endobj - -38588 0 obj -<>/P 2920 0 R/Type/Annot/A 38847 0 R/Subtype/Link/Rect[391 640 405 648]/Border[0 0 0]/H/N>> -endobj - -38589 0 obj -<>/P 2920 0 R/Type/Annot/A 38846 0 R/Subtype/Link/Rect[407 640 421 648]/Border[0 0 0]/H/N>> -endobj - -38590 0 obj -<>/P 2920 0 R/Type/Annot/A 38845 0 R/Subtype/Link/Rect[423 640 439 649]/Border[0 0 0]/H/N>> -endobj - -38591 0 obj -<>/P 2920 0 R/Type/Annot/A 38844 0 R/Subtype/Link/Rect[440 640 452 648]/Border[0 0 0]/H/N>> -endobj - -38592 0 obj -<>/P 2920 0 R/Type/Annot/A 38843 0 R/Subtype/Link/Rect[386 630 398 638]/Border[0 0 0]/H/N>> -endobj - -38593 0 obj -<>/P 2920 0 R/Type/Annot/A 38842 0 R/Subtype/Link/Rect[400 620 414 628]/Border[0 0 0]/H/N>> -endobj - -38594 0 obj -<>/P 2920 0 R/Type/Annot/A 38841 0 R/Subtype/Link/Rect[416 620 430 628]/Border[0 0 0]/H/N>> -endobj - -38595 0 obj -<>/P 2920 0 R/Type/Annot/A 38840 0 R/Subtype/Link/Rect[432 620 446 628]/Border[0 0 0]/H/N>> -endobj - -38596 0 obj -<>/P 2920 0 R/Type/Annot/A 38839 0 R/Subtype/Link/Rect[448 620 465 629]/Border[0 0 0]/H/N>> -endobj - -38597 0 obj -<>/P 2920 0 R/Type/Annot/A 38838 0 R/Subtype/Link/Rect[465 620 477 628]/Border[0 0 0]/H/N>> -endobj - -38598 0 obj -<>/P 2920 0 R/Type/Annot/A 38837 0 R/Subtype/Link/Rect[405 610 421 619]/Border[0 0 0]/H/N>> -endobj - -38599 0 obj -<>/P 2920 0 R/Type/Annot/A 38836 0 R/Subtype/Link/Rect[422 610 434 618]/Border[0 0 0]/H/N>> -endobj - -38600 0 obj -<>/P 2920 0 R/Type/Annot/A 38835 0 R/Subtype/Link/Rect[397 600 411 608]/Border[0 0 0]/H/N>> -endobj - -38601 0 obj -<>/P 2920 0 R/Type/Annot/A 38834 0 R/Subtype/Link/Rect[413 600 425 608]/Border[0 0 0]/H/N>> -endobj - -38602 0 obj -<>/P 2920 0 R/Type/Annot/A 38833 0 R/Subtype/Link/Rect[378 580 386 588]/Border[0 0 0]/H/N>> -endobj - -38603 0 obj -<>/P 2920 0 R/Type/Annot/A 38832 0 R/Subtype/Link/Rect[405 570 419 578]/Border[0 0 0]/H/N>> -endobj - -38604 0 obj -<>/P 2920 0 R/Type/Annot/A 38831 0 R/Subtype/Link/Rect[421 570 433 578]/Border[0 0 0]/H/N>> -endobj - -38605 0 obj -<>/P 2920 0 R/Type/Annot/A 38830 0 R/Subtype/Link/Rect[410 560 424 568]/Border[0 0 0]/H/N>> -endobj - -38606 0 obj -<>/P 2920 0 R/Type/Annot/A 38829 0 R/Subtype/Link/Rect[426 560 440 568]/Border[0 0 0]/H/N>> -endobj - -38607 0 obj -<>/P 2920 0 R/Type/Annot/A 38828 0 R/Subtype/Link/Rect[442 560 456 568]/Border[0 0 0]/H/N>> -endobj - -38608 0 obj -<>/P 2920 0 R/Type/Annot/A 38827 0 R/Subtype/Link/Rect[458 560 474 569]/Border[0 0 0]/H/N>> -endobj - -38609 0 obj -<>/P 2920 0 R/Type/Annot/A 38826 0 R/Subtype/Link/Rect[475 560 487 568]/Border[0 0 0]/H/N>> -endobj - -38610 0 obj -<>/P 2920 0 R/Type/Annot/A 38825 0 R/Subtype/Link/Rect[397 550 409 558]/Border[0 0 0]/H/N>> -endobj - -38611 0 obj -<>/P 2920 0 R/Type/Annot/A 38824 0 R/Subtype/Link/Rect[400 540 412 548]/Border[0 0 0]/H/N>> -endobj - -38612 0 obj -<>/P 2920 0 R/Type/Annot/A 38823 0 R/Subtype/Link/Rect[413 530 421 538]/Border[0 0 0]/H/N>> -endobj - -38613 0 obj -<>/P 2920 0 R/Type/Annot/A 38822 0 R/Subtype/Link/Rect[387 520 399 528]/Border[0 0 0]/H/N>> -endobj - -38614 0 obj -<>/P 2920 0 R/Type/Annot/A 38821 0 R/Subtype/Link/Rect[401 510 415 518]/Border[0 0 0]/H/N>> -endobj - -38615 0 obj -<>/P 2920 0 R/Type/Annot/A 38820 0 R/Subtype/Link/Rect[417 510 429 518]/Border[0 0 0]/H/N>> -endobj - -38616 0 obj -<>/P 2920 0 R/Type/Annot/A 38819 0 R/Subtype/Link/Rect[402 500 411 509]/Border[0 0 0]/H/N>> -endobj - -38617 0 obj -<>/P 2920 0 R/Type/Annot/A 38818 0 R/Subtype/Link/Rect[411 500 417 508]/Border[0 0 0]/H/N>> -endobj - -38618 0 obj -<>/P 2920 0 R/Type/Annot/A 38817 0 R/Subtype/Link/Rect[419 500 425 508]/Border[0 0 0]/H/N>> -endobj - -38619 0 obj -<>/P 2920 0 R/Type/Annot/A 38816 0 R/Subtype/Link/Rect[427 500 437 508]/Border[0 0 0]/H/N>> -endobj - -38620 0 obj -<>/P 2920 0 R/Type/Annot/A 38815 0 R/Subtype/Link/Rect[439 500 449 508]/Border[0 0 0]/H/N>> -endobj - -38621 0 obj -<>/P 2920 0 R/Type/Annot/A 38814 0 R/Subtype/Link/Rect[451 500 461 508]/Border[0 0 0]/H/N>> -endobj - -38622 0 obj -<>/P 2920 0 R/Type/Annot/A 38813 0 R/Subtype/Link/Rect[463 500 473 508]/Border[0 0 0]/H/N>> -endobj - -38623 0 obj -<>/P 2920 0 R/Type/Annot/A 38812 0 R/Subtype/Link/Rect[475 500 485 508]/Border[0 0 0]/H/N>> -endobj - -38624 0 obj -<>/P 2920 0 R/Type/Annot/A 38811 0 R/Subtype/Link/Rect[487 500 501 508]/Border[0 0 0]/H/N>> -endobj - -38625 0 obj -<>/P 2920 0 R/Type/Annot/A 38810 0 R/Subtype/Link/Rect[359 490 375 499]/Border[0 0 0]/H/N>> -endobj - -38626 0 obj -<>/P 2920 0 R/Type/Annot/A 38809 0 R/Subtype/Link/Rect[375 490 389 498]/Border[0 0 0]/H/N>> -endobj - -38627 0 obj -<>/P 2920 0 R/Type/Annot/A 38808 0 R/Subtype/Link/Rect[391 490 405 498]/Border[0 0 0]/H/N>> -endobj - -38628 0 obj -<>/P 2920 0 R/Type/Annot/A 38807 0 R/Subtype/Link/Rect[407 490 421 498]/Border[0 0 0]/H/N>> -endobj - -38629 0 obj -<>/P 2920 0 R/Type/Annot/A 38806 0 R/Subtype/Link/Rect[423 490 437 498]/Border[0 0 0]/H/N>> -endobj - -38630 0 obj -<>/P 2920 0 R/Type/Annot/A 38805 0 R/Subtype/Link/Rect[439 490 456 499]/Border[0 0 0]/H/N>> -endobj - -38631 0 obj -<>/P 2920 0 R/Type/Annot/A 38804 0 R/Subtype/Link/Rect[456 490 470 498]/Border[0 0 0]/H/N>> -endobj - -38632 0 obj -<>/P 2920 0 R/Type/Annot/A 38803 0 R/Subtype/Link/Rect[472 490 486 498]/Border[0 0 0]/H/N>> -endobj - -38633 0 obj -<>/P 2920 0 R/Type/Annot/A 38802 0 R/Subtype/Link/Rect[488 490 502 498]/Border[0 0 0]/H/N>> -endobj - -38634 0 obj -<>/P 2920 0 R/Type/Annot/A 38801 0 R/Subtype/Link/Rect[504 490 518 498]/Border[0 0 0]/H/N>> -endobj - -38635 0 obj -<>/P 2920 0 R/Type/Annot/A 38800 0 R/Subtype/Link/Rect[359 480 373 488]/Border[0 0 0]/H/N>> -endobj - -38636 0 obj -<>/P 2920 0 R/Type/Annot/A 38799 0 R/Subtype/Link/Rect[375 480 389 488]/Border[0 0 0]/H/N>> -endobj - -38637 0 obj -<>/P 2920 0 R/Type/Annot/A 38798 0 R/Subtype/Link/Rect[391 480 405 488]/Border[0 0 0]/H/N>> -endobj - -38638 0 obj -<>/P 2920 0 R/Type/Annot/A 38797 0 R/Subtype/Link/Rect[407 480 419 488]/Border[0 0 0]/H/N>> -endobj - -38639 0 obj -<>/P 2920 0 R/Type/Annot/A 38796 0 R/Subtype/Link/Rect[367 470 375 478]/Border[0 0 0]/H/N>> -endobj - -38640 0 obj -<>/P 2920 0 R/Type/Annot/A 38795 0 R/Subtype/Link/Rect[398 460 415 469]/Border[0 0 0]/H/N>> -endobj - -38641 0 obj -<>/P 2920 0 R/Type/Annot/A 38794 0 R/Subtype/Link/Rect[415 460 429 468]/Border[0 0 0]/H/N>> -endobj - -38642 0 obj -<>/P 2920 0 R/Type/Annot/A 38793 0 R/Subtype/Link/Rect[431 460 445 468]/Border[0 0 0]/H/N>> -endobj - -38643 0 obj -<>/P 2920 0 R/Type/Annot/A 38792 0 R/Subtype/Link/Rect[447 460 459 468]/Border[0 0 0]/H/N>> -endobj - -38644 0 obj -<>/P 2920 0 R/Type/Annot/A 38791 0 R/Subtype/Link/Rect[410 450 422 458]/Border[0 0 0]/H/N>> -endobj - -38645 0 obj -<>/P 2920 0 R/Type/Annot/A 38790 0 R/Subtype/Link/Rect[372 412 388 421]/Border[0 0 0]/H/N>> -endobj - -38646 0 obj -<>/P 2920 0 R/Type/Annot/A 38789 0 R/Subtype/Link/Rect[389 412 401 420]/Border[0 0 0]/H/N>> -endobj - -38647 0 obj -<>/P 2920 0 R/Type/Annot/A 38788 0 R/Subtype/Link/Rect[378 402 395 411]/Border[0 0 0]/H/N>> -endobj - -38648 0 obj -<>/P 2920 0 R/Type/Annot/A 38787 0 R/Subtype/Link/Rect[395 402 407 410]/Border[0 0 0]/H/N>> -endobj - -38649 0 obj -<>/P 2920 0 R/Type/Annot/A 38786 0 R/Subtype/Link/Rect[397 392 413 401]/Border[0 0 0]/H/N>> -endobj - -38650 0 obj -<>/P 2920 0 R/Type/Annot/A 38785 0 R/Subtype/Link/Rect[414 392 426 400]/Border[0 0 0]/H/N>> -endobj - -38651 0 obj -<>/P 2920 0 R/Type/Annot/A 38784 0 R/Subtype/Link/Rect[400 382 417 391]/Border[0 0 0]/H/N>> -endobj - -38652 0 obj -<>/P 2920 0 R/Type/Annot/A 38783 0 R/Subtype/Link/Rect[418 382 430 390]/Border[0 0 0]/H/N>> -endobj - -38653 0 obj -<>/P 2920 0 R/Type/Annot/A 38782 0 R/Subtype/Link/Rect[419 372 433 380]/Border[0 0 0]/H/N>> -endobj - -38654 0 obj -<>/P 2920 0 R/Type/Annot/A 38781 0 R/Subtype/Link/Rect[435 372 449 380]/Border[0 0 0]/H/N>> -endobj - -38655 0 obj -<>/P 2920 0 R/Type/Annot/A 38780 0 R/Subtype/Link/Rect[451 372 465 380]/Border[0 0 0]/H/N>> -endobj - -38656 0 obj -<>/P 2920 0 R/Type/Annot/A 38779 0 R/Subtype/Link/Rect[467 372 481 380]/Border[0 0 0]/H/N>> -endobj - -38657 0 obj -<>/P 2920 0 R/Type/Annot/A 38778 0 R/Subtype/Link/Rect[483 372 497 380]/Border[0 0 0]/H/N>> -endobj - -38658 0 obj -<>/P 2920 0 R/Type/Annot/A 38777 0 R/Subtype/Link/Rect[499 372 513 380]/Border[0 0 0]/H/N>> -endobj - -38659 0 obj -<>/P 2920 0 R/Type/Annot/A 38776 0 R/Subtype/Link/Rect[359 362 373 370]/Border[0 0 0]/H/N>> -endobj - -38660 0 obj -<>/P 2920 0 R/Type/Annot/A 38775 0 R/Subtype/Link/Rect[375 362 389 370]/Border[0 0 0]/H/N>> -endobj - -38661 0 obj -<>/P 2920 0 R/Type/Annot/A 38774 0 R/Subtype/Link/Rect[391 362 405 370]/Border[0 0 0]/H/N>> -endobj - -38662 0 obj -<>/P 2920 0 R/Type/Annot/A 38773 0 R/Subtype/Link/Rect[407 362 423 371]/Border[0 0 0]/H/N>> -endobj - -38663 0 obj -<>/P 2920 0 R/Type/Annot/A 38772 0 R/Subtype/Link/Rect[424 362 436 370]/Border[0 0 0]/H/N>> -endobj - -38664 0 obj -<>/P 2920 0 R/Type/Annot/A 38771 0 R/Subtype/Link/Rect[397 352 409 360]/Border[0 0 0]/H/N>> -endobj - -38665 0 obj -<>/P 2920 0 R/Type/Annot/A 38770 0 R/Subtype/Link/Rect[382 342 396 350]/Border[0 0 0]/H/N>> -endobj - -38666 0 obj -<>/P 2920 0 R/Type/Annot/A 38769 0 R/Subtype/Link/Rect[398 342 410 350]/Border[0 0 0]/H/N>> -endobj - -38667 0 obj -<>/P 2920 0 R/Type/Annot/A 38768 0 R/Subtype/Link/Rect[408 332 416 340]/Border[0 0 0]/H/N>> -endobj - -38668 0 obj -<>/P 2920 0 R/Type/Annot/A 38767 0 R/Subtype/Link/Rect[396 322 408 330]/Border[0 0 0]/H/N>> -endobj - -38669 0 obj -<>/P 2920 0 R/Type/Annot/A 38766 0 R/Subtype/Link/Rect[405 312 417 320]/Border[0 0 0]/H/N>> -endobj - -38670 0 obj -<>/P 2920 0 R/Type/Annot/A 38765 0 R/Subtype/Link/Rect[389 292 401 300]/Border[0 0 0]/H/N>> -endobj - -38671 0 obj -<>/P 2920 0 R/Type/Annot/A 38764 0 R/Subtype/Link/Rect[399 282 411 290]/Border[0 0 0]/H/N>> -endobj - -38672 0 obj -<>/P 2920 0 R/Type/Annot/A 38763 0 R/Subtype/Link/Rect[387 272 404 281]/Border[0 0 0]/H/N>> -endobj - -38673 0 obj -<>/P 2920 0 R/Type/Annot/A 38762 0 R/Subtype/Link/Rect[405 272 417 280]/Border[0 0 0]/H/N>> -endobj - -38674 0 obj -<>/P 2920 0 R/Type/Annot/A 38760 0 R/Subtype/Link/Rect[443 262 451 270]/Border[0 0 0]/H/N>> -endobj - -38675 0 obj -<>/P 2920 0 R/Type/Annot/A 38758 0 R/Subtype/Link/Rect[399 252 416 261]/Border[0 0 0]/H/N>> -endobj - -38676 0 obj -<>/P 2920 0 R/Type/Annot/A 38756 0 R/Subtype/Link/Rect[416 252 428 260]/Border[0 0 0]/H/N>> -endobj - -38677 0 obj -<>/P 2920 0 R/Type/Annot/A 38754 0 R/Subtype/Link/Rect[434 242 446 250]/Border[0 0 0]/H/N>> -endobj - -38678 0 obj -<>/P 2920 0 R/Type/Annot/A 38752 0 R/Subtype/Link/Rect[397 232 413 241]/Border[0 0 0]/H/N>> -endobj - -38679 0 obj -<>/P 2920 0 R/Type/Annot/A 38750 0 R/Subtype/Link/Rect[414 232 426 240]/Border[0 0 0]/H/N>> -endobj - -38680 0 obj -<>/P 2920 0 R/Type/Annot/A 38748 0 R/Subtype/Link/Rect[425 222 437 230]/Border[0 0 0]/H/N>> -endobj - -38681 0 obj -<>/P 2920 0 R/Type/Annot/A 38746 0 R/Subtype/Link/Rect[410 212 427 221]/Border[0 0 0]/H/N>> -endobj - -38682 0 obj -<>/P 2920 0 R/Type/Annot/A 38744 0 R/Subtype/Link/Rect[428 212 440 220]/Border[0 0 0]/H/N>> -endobj - -38683 0 obj -<>/P 2920 0 R/Type/Annot/A 38742 0 R/Subtype/Link/Rect[399 202 416 211]/Border[0 0 0]/H/N>> -endobj - -38684 0 obj -<>/P 2920 0 R/Type/Annot/A 38740 0 R/Subtype/Link/Rect[416 202 428 210]/Border[0 0 0]/H/N>> -endobj - -38685 0 obj -<>/P 2920 0 R/Type/Annot/A 38738 0 R/Subtype/Link/Rect[395 192 412 201]/Border[0 0 0]/H/N>> -endobj - -38686 0 obj -<>/P 2920 0 R/Type/Annot/A 38736 0 R/Subtype/Link/Rect[413 192 425 200]/Border[0 0 0]/H/N>> -endobj - -38687 0 obj -<>/P 2920 0 R/Type/Annot/A 38734 0 R/Subtype/Link/Rect[419 182 431 190]/Border[0 0 0]/H/N>> -endobj - -38688 0 obj -<>/P 2920 0 R/Type/Annot/A 38732 0 R/Subtype/Link/Rect[378 172 392 180]/Border[0 0 0]/H/N>> -endobj - -38689 0 obj -<>/P 2920 0 R/Type/Annot/A 38730 0 R/Subtype/Link/Rect[394 172 406 180]/Border[0 0 0]/H/N>> -endobj - -38690 0 obj -<>/P 2920 0 R/Type/Annot/A 38728 0 R/Subtype/Link/Rect[429 162 445 171]/Border[0 0 0]/H/N>> -endobj - -38691 0 obj -<>/P 2920 0 R/Type/Annot/A 38726 0 R/Subtype/Link/Rect[446 162 458 170]/Border[0 0 0]/H/N>> -endobj - -38692 0 obj -<>/P 2920 0 R/Type/Annot/A 38724 0 R/Subtype/Link/Rect[396 152 410 160]/Border[0 0 0]/H/N>> -endobj - -38693 0 obj -<>/P 2920 0 R/Type/Annot/A 38722 0 R/Subtype/Link/Rect[412 152 426 160]/Border[0 0 0]/H/N>> -endobj - -38694 0 obj -<>/P 2920 0 R/Type/Annot/A 38720 0 R/Subtype/Link/Rect[428 152 442 160]/Border[0 0 0]/H/N>> -endobj - -38695 0 obj -<>/P 2920 0 R/Type/Annot/A 38718 0 R/Subtype/Link/Rect[444 152 458 160]/Border[0 0 0]/H/N>> -endobj - -38696 0 obj -<>/P 2920 0 R/Type/Annot/A 38716 0 R/Subtype/Link/Rect[460 152 472 160]/Border[0 0 0]/H/N>> -endobj - -38697 0 obj -<>/P 2920 0 R/Type/Annot/A 38714 0 R/Subtype/Link/Rect[500 588 510 597]/Border[0 0 0]/H/N>> -endobj - -38698 0 obj -<>/P 2920 0 R/Type/Annot/A 38712 0 R/Subtype/Link/Rect[359 578 376 587]/Border[0 0 0]/H/N>> -endobj - -38699 0 obj -<>/P 2920 0 R/Type/Annot/A 38710 0 R/Subtype/Link/Rect[371 330 386 339]/Border[0 0 0]/H/N>> -endobj - -38700 0 obj -<>/P 2920 0 R/Type/Annot/A 38708 0 R/Subtype/Link/Rect[388 330 407 339]/Border[0 0 0]/H/N>> -endobj - -38701 0 obj -<> -endobj - -38702 0 obj -<> -endobj - -38703 0 obj -<> -endobj - -38704 0 obj -<> -endobj - -38705 0 obj -<> -endobj - -38706 0 obj -<> -endobj - -38707 0 obj -<> -endobj - -38708 0 obj -<> -endobj - -38709 0 obj -<> -endobj - -38710 0 obj -<> -endobj - -38711 0 obj -<> -endobj - -38712 0 obj -<> -endobj - -38713 0 obj -<> -endobj - -38714 0 obj -<> -endobj - -38715 0 obj -<> -endobj - -38716 0 obj -<> -endobj - -38717 0 obj -<> -endobj - -38718 0 obj -<> -endobj - -38719 0 obj -<> -endobj - -38720 0 obj -<> -endobj - -38721 0 obj -<> -endobj - -38722 0 obj -<> -endobj - -38723 0 obj -<> -endobj - -38724 0 obj -<> -endobj - -38725 0 obj -<> -endobj - -38726 0 obj -<> -endobj - -38727 0 obj -<> -endobj - -38728 0 obj -<> -endobj - -38729 0 obj -<> -endobj - -38730 0 obj -<> -endobj - -38731 0 obj -<> -endobj - -38732 0 obj -<> -endobj - -38733 0 obj -<> -endobj - -38734 0 obj -<> -endobj - -38735 0 obj -<> -endobj - -38736 0 obj -<> -endobj - -38737 0 obj -<> -endobj - -38738 0 obj -<> -endobj - -38739 0 obj -<> -endobj - -38740 0 obj -<> -endobj - -38741 0 obj -<> -endobj - -38742 0 obj -<> -endobj - -38743 0 obj -<> -endobj - -38744 0 obj -<> -endobj - -38745 0 obj -<> -endobj - -38746 0 obj -<> -endobj - -38747 0 obj -<> -endobj - -38748 0 obj -<> -endobj - -38749 0 obj -<> -endobj - -38750 0 obj -<> -endobj - -38751 0 obj -<> -endobj - -38752 0 obj -<> -endobj - -38753 0 obj -<> -endobj - -38754 0 obj -<> -endobj - -38755 0 obj -<> -endobj - -38756 0 obj -<> -endobj - -38757 0 obj -<> -endobj - -38758 0 obj -<> -endobj - -38759 0 obj -<> -endobj - -38760 0 obj -<> -endobj - -38761 0 obj -<> -endobj - -38762 0 obj -<> -endobj - -38763 0 obj -<> -endobj - -38764 0 obj -<> -endobj - -38765 0 obj -<> -endobj - -38766 0 obj -<> -endobj - -38767 0 obj -<> -endobj - -38768 0 obj -<> -endobj - -38769 0 obj -<> -endobj - -38770 0 obj -<> -endobj - -38771 0 obj -<> -endobj - -38772 0 obj -<> -endobj - -38773 0 obj -<> -endobj - -38774 0 obj -<> -endobj - -38775 0 obj -<> -endobj - -38776 0 obj -<> -endobj - -38777 0 obj -<> -endobj - -38778 0 obj -<> -endobj - -38779 0 obj -<> -endobj - -38780 0 obj -<> -endobj - -38781 0 obj -<> -endobj - -38782 0 obj -<> -endobj - -38783 0 obj -<> -endobj - -38784 0 obj -<> -endobj - -38785 0 obj -<> -endobj - -38786 0 obj -<> -endobj - -38787 0 obj -<> -endobj - -38788 0 obj -<> -endobj - -38789 0 obj -<> -endobj - -38790 0 obj -<> -endobj - -38791 0 obj -<> -endobj - -38792 0 obj -<> -endobj - -38793 0 obj -<> -endobj - -38794 0 obj -<> -endobj - -38795 0 obj -<> -endobj - -38796 0 obj -<> -endobj - -38797 0 obj -<> -endobj - -38798 0 obj -<> -endobj - -38799 0 obj -<> -endobj - -38800 0 obj -<> -endobj - -38801 0 obj -<> -endobj - -38802 0 obj -<> -endobj - -38803 0 obj -<> -endobj - -38804 0 obj -<> -endobj - -38805 0 obj -<> -endobj - -38806 0 obj -<> -endobj - -38807 0 obj -<> -endobj - -38808 0 obj -<> -endobj - -38809 0 obj -<> -endobj - -38810 0 obj -<> -endobj - -38811 0 obj -<> -endobj - -38812 0 obj -<> -endobj - -38813 0 obj -<> -endobj - -38814 0 obj -<> -endobj - -38815 0 obj -<> -endobj - -38816 0 obj -<> -endobj - -38817 0 obj -<> -endobj - -38818 0 obj -<> -endobj - -38819 0 obj -<> -endobj - -38820 0 obj -<> -endobj - -38821 0 obj -<> -endobj - -38822 0 obj -<> -endobj - -38823 0 obj -<> -endobj - -38824 0 obj -<> -endobj - -38825 0 obj -<> -endobj - -38826 0 obj -<> -endobj - -38827 0 obj -<> -endobj - -38828 0 obj -<> -endobj - -38829 0 obj -<> -endobj - -38830 0 obj -<> -endobj - -38831 0 obj -<> -endobj - -38832 0 obj -<> -endobj - -38833 0 obj -<> -endobj - -38834 0 obj -<> -endobj - -38835 0 obj -<> -endobj - -38836 0 obj -<> -endobj - -38837 0 obj -<> -endobj - -38838 0 obj -<> -endobj - -38839 0 obj -<> -endobj - -38840 0 obj -<> -endobj - -38841 0 obj -<> -endobj - -38842 0 obj -<> -endobj - -38843 0 obj -<> -endobj - -38844 0 obj -<> -endobj - -38845 0 obj -<> -endobj - -38846 0 obj -<> -endobj - -38847 0 obj -<> -endobj - -38848 0 obj -<> -endobj - -38849 0 obj -<> -endobj - -38850 0 obj -<> -endobj - -38851 0 obj -<> -endobj - -38852 0 obj -<> -endobj - -38853 0 obj -<> -endobj - -38854 0 obj -<> -endobj - -38855 0 obj -<> -endobj - -38856 0 obj -<> -endobj - -38857 0 obj -<> -endobj - -38858 0 obj -<> -endobj - -38859 0 obj -<> -endobj - -38860 0 obj -<> -endobj - -38861 0 obj -<> -endobj - -38862 0 obj -<> -endobj - -38863 0 obj -<> -endobj - -38864 0 obj -<> -endobj - -38865 0 obj -<> -endobj - -38866 0 obj -<> -endobj - -38867 0 obj -<> -endobj - -38868 0 obj -<> -endobj - -38869 0 obj -<> -endobj - -38870 0 obj -<> -endobj - -38871 0 obj -<> -endobj - -38872 0 obj -<> -endobj - -38873 0 obj -<> -endobj - -38874 0 obj -<> -endobj - -38875 0 obj -<> -endobj - -38876 0 obj -<> -endobj - -38877 0 obj -<> -endobj - -38878 0 obj -<> -endobj - -38879 0 obj -<> -endobj - -38880 0 obj -<> -endobj - -38881 0 obj -<> -endobj - -38882 0 obj -<> -endobj - -38883 0 obj -<> -endobj - -38884 0 obj -<> -endobj - -38885 0 obj -<> -endobj - -38886 0 obj -<> -endobj - -38887 0 obj -<> -endobj - -38888 0 obj -<> -endobj - -38889 0 obj -<> -endobj - -38890 0 obj -<> -endobj - -38891 0 obj -<> -endobj - -38892 0 obj -<> -endobj - -38893 0 obj -<> -endobj - -38894 0 obj -<> -endobj - -38895 0 obj -<> -endobj - -38896 0 obj -<> -endobj - -38897 0 obj -<> -endobj - -38898 0 obj -<> -endobj - -38899 0 obj -<> -endobj - -38900 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38901 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38902 0 obj -<> -endobj - -38903 0 obj -<> -endobj - -38904 0 obj -<> -endobj - -38905 0 obj -<> -endobj - -38906 0 obj -<> -endobj - -38907 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38908 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38909 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38910 0 obj -<> -stream -HWioF_ꢀ4'4-"Q6H-AYAc<>,?-%ѧؔřgAfC?Y[xҟdzT>eBSJ6 BI/2?ѻL%ԜRpLIbI,,1+,m^be{[*wʽr{{+} -ܧ} -ܧ} -ܧ}g}g}}}}}} ܗ} ܫPZ-" Z+1fi ,Z1K{hĘܫZZ1 W ,Z1 WcpZkAk%XcpZkAk%,^ւJ,@k%,^ւJYj"rcv/{1KX`JYj{ZZ+{ZZ+1fVbZ+1fVbUkh VbUkhĘܫ:Z-"Z+1fi ,Z1K{hĘܫzZ1 W ,Z1 WcpZAk%XcpZAk%,^փJ,@k%,^փJYj"JAk%,^bZ+1ficpOR8nee珐!+V XJ-- 2J-,R ;֎YJ ^bZ*^bc1KiKY@KނKp:f)-{1 h[{N,@%,%1>-{r/1>-{r/1>-{r/1>-{r/1>-{r/1>-{r/1>|-{r/1>|-{r/1>V-{r/1>Vh-1KkI @KރK @KރK@KރK@KރK?ʽ-{r/1|Z*^bT=Ƚh{{֒hܧ e\$d=D!CYTn ㌲`m_%q.gz\OqzQ 8 vt57r6Mkze;?k܌c/e >NwŸ^Fd/~r..vsĖf=V -ex"Ou;6{ǫۖΦz9^TOO͆5V3zћgs6f9 dǦpeԮCȨqjy5h&؅I |]͛ -,w/Wl*tqs[f9gTظHۉ]/n4aw$O8gpw{؄|xև;}DMhQ;vh#]1"'v\q~N/x۳jM{o>/7/',endstream -endobj - -38911 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38912 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38913 0 obj -<> -endobj - -38914 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38915 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38916 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38917 0 obj -<> -stream -HWmoܸ_A ز" -W4]4=*^i$mEJ+(E>3O?|Eb/_]TD4'&H"y29O#Xo̰>ybr;s4_εR4*AP.wJ} P a< a<a=a=a=a/<a/< >'c }O=)>gc!3}<a/=a/=9>{Okֵi޵ -Qk(k(kZצQ{O Qk(Zֵ -Qk(ZֵiS-CTֵiS-CT4 -a節!umBT4 -a節!umTպ*j]F]պ6ٻ6ٻ6@!umTպ6B{j]պ6B{j]F!=rD Pj]F!=rDMj9Z(DMj9ZצQ{OQkֵi޵ -Qk(k(kZצQ{OQk(Zֵ -Qk(ZֵiS@TֵiS@T4 -aV umBT4 -aV umT+պ*Hպ6ٻ6@!umwmϣ<pY/~]@(%iE\W&'gTᣲN5UY{N>-ހs5b vd_eY~e^˗j5i^x*")ݻm;;-b}zs] -(4‘AB('eWnj= paIî_]Qq7.i8JPQ29(>mvY0.:3*w]o -&%y ƥh bOIڢR{bf*[U[E>뵓e$ %i;ӈ1Y,KxE2CS?w},aưAaeg#&pwRFnDbOrUVT۵ewMv d=uڎە*9sviOFnJiÝ*M{,IS>x@$OX˕]Z;1ZV\}lhjO8 -٨wՍzJG)$GTYĥL΄妪|@}S]gn39'-0x%#gs^tc&mߟj1vR~)̊mewna_ _T"Ji9:7= WIG44h+wnWC%Hpx\"hgy:'`f,0^s%2qŃ'Ej^!:(ܮْЗY\}*ug33y^< (? j~_*;P3`)X-Wߞe:m([6wd]J.0OcMȡxz=ل*bU[w]"O$rè}j;U74=޵Bߌ-?0$9)#sXr-3`Rv"?9 ĉґ*R:/}}EΦO'/p"28\ߪvOîy2|ڲ*Ec~؛usuգoT{Q"4q/2f|[LG7ŜZvk˭ Նۯ^ *<}o~_S@TNKܸuhrxѹ#{،zS^0OsEZPOΒ -x5L?%cĥWنG6)غle;?Py-̞7wZ{rJe7Mf1OmAQ +ɟ1xexTלt[%hv,j;Ȍ:݇`7%ko0s;&"xM)ny&h 68EFF/ P %)gnC1&a&Kx.75 Wɘp kN(a{cI/o/8Yn.qVm~ܖw3W,ᙗW9,#$el5Uo WpY+5ZݫZ5ہ`x {Ezaz.nF8f(ɲ8Nl")8yrdv Y^i (A@y 3kM@41$;>@*|y6<92ue{Igއfx*PLB<^f(b7ѲXnR -\SąT!W666[%*Q*#&es< {}73[eDhf|`G9l4:4n8f$Ap_ȃ@mѡFmF vSWQY _s{ܥ>[# UĬ֮,㺂*i#YG7 Wvtuw MHoM.:K hPBRPrʪ+1;bؼ& jO\RaFƢk{t0UI"q}5,ڥ"8mVRo;$P\i1t8,a[/9$KOl xIW3օmN ]P|uhR>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38919 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38920 0 obj -<> -endobj - -38921 0 obj -<> -endobj - -38922 0 obj -<> -endobj - -38923 0 obj -<> -endobj - -38924 0 obj -<> -endobj - -38925 0 obj -<> -endobj - -38926 0 obj -<> -endobj - -38927 0 obj -<> -endobj - -38928 0 obj -<> -endobj - -38929 0 obj -<> -endobj - -38930 0 obj -<> -endobj - -38931 0 obj -<> -endobj - -38932 0 obj -<> -endobj - -38933 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38934 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38935 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38936 0 obj -<> -stream -HWoF~l/hTVn:J0`g}g)dfa]:^|wua7WV$Er%,łE\}D -튠.?*S壼j+u[zu&_"Dzb?xVWm+.hYnD(ZV4Q -sU6Np3^ -ҩHШF=?[k -S:\ǪySj' FpHD4244݁^euY]>&h#SRzAq 68퍳qu7ן]x`1(!M'-Ͻbc!+eaemK 7.xc63vQ>2ON)g/ݧ8lV&Y701E]p(?cy~ܕβ.S&”$3־7I(|P˘,6edgM7+5[f6"6[NK~'y88f!b[sݝ验DjN%y3R;ǬIz1ZM~*D0fIŃ ED.pɢ(!!DG$3'&__>5skeC ;AZt//> dZRYQ:e( GɑO:O5 ANf.΂Zچ-] #:!Csv7RF]MGnώ[YNu{U͝FmhKZ.tdբB*+C[VBE]쁄Ϊksƒ6:?ܛ<@#:Qȍ\\< MoGֹSo23mLN#k^顙<wv,i.~;Ylbz-J9vcoԇYTů) sLҹ(B1p``̙r$!)ts {V[#8'CǪuKJYo_X^Cx&L>8׻L9iſ -K߻wDoV.$rZ==d&[[| a7Acl@1LآY$L0'ⲩs8eS{m:0O7մYF>/}Z;`N$8>gKplQrQdc^?azb6;GmT>tGuMi> :Nf qǗ;< o>r']^QSTkŭcS90,:<0eI KbXSq%A9b0OGP#g.B0ǐ4 -Y,p4 eQR)-p+lNîM0yp|KtWM1Yrwg?k Z*>ܽ\{ iCqX13N/}vD$t;AYdۜ+'_圽obBg(N!Թo#l|Υ=,C4^ue~ -K4hE,f{<8N]dE} xw OQxLRi:489fOKw?i4rn8w>E bMp$(=ضiq +!v -|IȤk/]޾ZV 0d8endstream -endobj - -38937 0 obj -<>/P 1541 0 R/Type/Annot/A 43535 0 R/Subtype/Link/Rect[130.078995 539.020996 364.972992 673.916016]/Border[0 0 0]/H/N>> -endobj - -38938 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38939 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38940 0 obj -<> -endobj - -38941 0 obj -<> -endobj - -38942 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38943 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38944 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38945 0 obj -<> -stream -HWmoԸ_S \űJt,E* $I¿>S -d<~|>>}V ӗ?'W[ Eb#$ђƂTYRDD$:}&YSRKAnlA8Y_G:a mGWleAN XBx^W'OGLZ+7Y]m=lCMۢS"Jb) w_#c "T{y |?{F$RST2& `]F696XÙ H>Xaw>,C9V|휇} XQ/Q/Q/Q/Q/ -Q -Q1>Lj8P#@F@F@}O > '$Po&Po&Po6Pog9bZGq9Vǀ+Tc1`!1Bk}̱kZZs,D}Z QV 1`!1Bk}̱kZZs,D}Z QV }$c} Xk}̱B>XzZs,D}Z QV"1`!1Bk}̱k%ZZs,D}Z QV"1`!1Bk}̱k%ZG -q9Vǀ+Tc1`!1BUk}̱kZZs,D}Z QV!1`!1BUk}̱kZZs,D}Z QV!}#1 -c}̱^t YPDzZ>:[GkANבiaCdDǖdihB*.\qw^_1QX"v -xnȫKB5rVy&L+Uc(.0+e^ Ը j7R.%mMcM7w0,NY&/ r-yxB9rXQ,fRɀ%9`e܊}۫7:22R10Vw 7r5kfEkHy}$pgpre!cLb<"؂c9ٗ"t˶]8}j9m<5 --]A@S;߲~5A3~32:ےpU'f?*rW_]vu6 d+ilKWo.+#ޔU+8-ba'Ab <~Ŋ& -Jgݖ_tUdCcf{;)u6m (D>j8;C.T<ѐqmnŦ?r!*rƝ3%ĢEWX7pv*17uyI!v5e66c^nD Հ @4TngCJ8wu==qpƠVio b8mu HhKq̳C ᏻ+.rB:[pig)}C6j>blXhAcC6,Į!.]ca6Dt7v9dJ$6/pe ,2i= vِP^6m@X"h{i顇B  SQ(;#ɉw浥S엧٧FyFyE>2Z %XZa #aޖj3-j7+W##ՠ/gDq{Y@K52`Zj0wVe^5m4}RẢR y(>A>~ާ@ny ye՚"pV XaVXauVXaXa 5VhXfeiM\tMưj 7,X&^k,{r5qɽךރkM\erA&.2 Z`{{ LȽeYZcȽX&^k,r5q}ך>kM\er@&.2 Z`{ LȽX&r5qYr5q=kM\erO Z`ȽX&r5q=kM\erO Z`ȽX&r5q} r5qYr5qYVt1FJ|cwsl=Cn:cL}ūiy8mz4dMlݒ}a q=ViZg\W?gns߷i{']eK:'jh(+Ug-VMTS&t)C㰪e\_׫kЇOﯾTWPgs*endstream -endobj - -38946 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38947 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38948 0 obj -<> -endobj - -38949 0 obj -<> -endobj - -38950 0 obj -<> -endobj - -38951 0 obj -<> -endobj - -38952 0 obj -<> -endobj - -38953 0 obj -[0] -endobj - -38954 0 obj -<>/ProcSet[/PDF/ImageB]/ExtGState<>>>/Subtype/Form/Filter/FlateDecode/BBox[250.625 179.761002 274.625 154.800995]/Matrix[1 0 0 1 0 0]>> -stream -H*w6PH/22ֳS 42ѳ4qML ̌L -M MM, Ls=s \ :Zendstream -endobj - -38955 0 obj -<> -endobj - -38956 0 obj -<> -stream -AdobedC - - - -   hd -  - 157st -"$2Aa!#%&'()*34689:BCDEFGHIJQRSTUVWXYZbcdefghijqruvwxyz?_􉌈+eѲI"]$+eѲI"]$+eѲI"]$+e$H". Pi|`h[`X#"1 -h,+jʀun/f~Y_V$gI}[3(gQ%l8q E -Y -kL|!uiCȠ"1Yj,Z(FYQ)Lg8:L5P4j[GNdžjtP-$*yHPUU@T.H"D@#GiDɌxu,O,BV%6gऽB[<Xٟ+w'> -,b@q~P{ld8y.eV mwY`LE:_=7^kc)a  °^QEd s[倵@.'a"۸R_`C@)/vPP;w -K(y%<›'|=!rpIkRbg0ƣU\Dc,"L_$H"D$@endstream -endobj - -38957 0 obj -[/ICCBased 38958 0 R] -endobj - -38958 0 obj -<> -stream -HV{PS?w$7\&. tk!@ .hZW붺]kG]wW:Fc묮uU;nD;|{s.B~vGu\}f jFӮb[͌&ǗƎۨ&MNSBXB\_BǮ=egN x1G-Bow3zcGIOIgj+_[ktpBg*Sy:ELFJYz%B dW ynӣ( ϲͪxw{g' -&p:D io-~uBgXw4afK̈wG:ݺ/<ӭ u932TId!M/pFWkF]͍WvVwVN6@gәUtwE<4խZޕִJYw9K+N"1KO޺ <ރj]MfP穳 "b`F] w-n/rf7ʗ⯟a -F* 浏=Hytz'3zc1b3i^Z&vUU7$TUS 6W}zR1b -W^Sq8:H&Q?q_3Z^38FvuD{xGU!V~ڶWzbk'ylib8Q%ֈ1q$<@($qp+ -q8dB~#Uew.x,ck-aeq^YPZ\Nw}\:P -d8FA !Ȓ9FO$wbe=+߇ƿ!@PZh$ XF#;a'.C})IR! -4Ʌ -rg4Ye#C#+""7G|jU4?Z6ᘈ7bzbv\Ūc[c{vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G -k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 -uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! -zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km Tendstream -endobj - -38959 0 obj -<> -endobj - -38960 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38961 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38962 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38963 0 obj -<> -stream -HWksJ_1["CU$ -66U@{l)Hrr~{Nu+>LOǴ߾b>{ձR V<, -$+Ϯ<2uZgXe1u-Xyof]U; Yx&7$r:&dE:95]QdΊOSWwX)Er}|ԦBDذOKؐs }M?gK%*2xI4KI\N8W c.1` fYڅpc XP/P/PPPPP>pQG}H!>tGQ#G}D1>vDŽQG}Bw<+blIµ,W=ƀEcǘe1,µ,BZIcEw\+ b Xk1fYzǵp-,PVb̲k%ZYq$\1`ŘeJµ,BZIcOŘe1,µ,W=,U1`Ře*µ,BZEc"\1";Uk1fYzǵp-ƀEcEw\b̲kZp-,PVŘe*µxp-,U1`Ře1fYzp-,PVŘejµZYq&\1";Մk1,µ,BZMcEw\ b Xk1fYzǵp-,PV b̲\ZYcOx$bͽùL~ao26`ΥC c2qKmc8رNV|QgEΦ"T&[e.H2yFC 𹆎 SR](T})zu')]^ ߘE}-nvM|-."kv]ܱ;Úfa[kÖir=UEfb]b8 - U7QU\I}zj&5 -%Vq|H.*<xvw;b!ْADv {hcA#H)C!A!_צz\S 6iM8LKCT^!Esߗ8dod !BAK>7̫W5+Vlc*2,YgÚ+İb:ßd3/M]`Pr9iXZ6ɳ-rXdI("uއڑZڰ4_cJvVlYaEcܥ).6R Ca.SP0C|'C#_'Wf$(lQ0O:ONT5WPKG0D)alu Y۳YC֟_M7`wIжn!zt.ҼvsoҪ2˞ei`SKP/kwyP}o7o":ڶ%Ѭt`ƣ51JǣE5uT(&gݕ:D86%zf+~VC9nؙV(nr#D0lfl'|w>FkHF1;/6I<0e(NEp -HkI&W ׾JFP!mPk!tUYirz^M$WZY3M(.otHv,o_vpA1>\7?;rrz.o`Fߤ7mM /EemwlUk6g< TL/e5Y1U4YL;oPKT61˷sCe(mW-^"_l?ۦMn ]͂͠7lI?nS - jvggGώ@@3x*rƓ~:tT)ʧJQ{޽~ JpdUGb4_dk>[c{G{9;;z`dow١M`.3,A:̲[ *ge^;7mb/]Kȣ'ZE|<9%`vATnҦ ,ү]V_C;ƚ˶ sNjU0_[S-z&D?avه3%SjXV;x-i<0%G)JQ|_>y0%(}-+.bHm:[t/z{Q+bXeЋ凇:)R!*`|t =bKˆ#P:dR X=2b+ X$c Y06"=2dcU<^0ڹi0m_B?T1<;gzݶa{E= d^ 0`] ܇IhbJ-9v7J&EZ"c 7 擐E #/0FPf2pU/(^&,S]{sx+ + YxRYZps=cW]E_iof@< ]WP/oG8QfIn7]hA%/6P>NR%ܲR.^.R .{gQ RO ڃwY1mBCd]q`h# \4c8d8@Sdhyڵ rLJ99f?뵞s*Q8-@Pr' I Uh՗r_|m@ -.sx"iEŠ,qz4|^8 ! ̓,6B5ImꎵX[#l㷣Ɯ"h}Sb<t(ԞC"["OUZ=Liq}T'UKtG1B irFP [6YaM=Ƀو>.Hp|ceն8C").JNlx$2IZi,m~'ev3 ڒ%]z?rһ[V~6WB0JTlݫ2F^k㷚 ;wuIQn"t3%(CF]4މY4/3o+]uoTu#-VH*7IEVF^})Q8.ZTi dК`F `L9P21_#/6'xYF#8ogmwLo}dus}u rFwJ0/]{r;vW2T)X#qΑݽ>TS/AȨ9 Nѣ⯉@\44v)^=2jYYXluz)5o_ cendstream -endobj - -38964 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38965 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38966 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38967 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38968 0 obj -<> -endobj - -38969 0 obj -<> -endobj - -38970 0 obj -<> -endobj - -38971 0 obj -<> -endobj - -38972 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38973 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38974 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38975 0 obj -<> -stream -HWmo8_*$r CZZVN!)Y&'=zH>33W3L짟~{V~}by)XU\ 6wv -qֲLw?Cihwlh_> 4fݖcf`f`MV5vFf5 = [^J6ݼ*CTWc)3:Ƙc" /dmJmQ TE6!`Vm"'jc6D -B QDPml2I6!*eE6!*em"TEOT+ 6DJB Pjcj%؆(}ZI6PmlC>Q$TEOT+ 6@m"'jcj%ePmlCT>PmlCT>!*eE6!`Vm"'Ujc6D*B QDPml؆(}ZE6!`Vm"TEOT6D*B4؆}l؆}lCT -6q} -1^ȕaeiض7inlx|~.X6E!lqY66,؞`ןEs]s<ۡn׻ca~?6O0y]gˢc* BOĽU^ ~{Jmh1v)T3L'Lax T!ri+OC9<<EW<*p{"*/ -#}kJ7o:/WhLIu^^̹٫!d~ԝS|Ԍ *k~8ӱݵxXۏvhc C֏9//6%]\7ov> AnjI6wËGt2E\j!|E{MyTeyshWI0+m0Pu @ S>[s!>Ynd_GFʹ bhAd PYM:H)s-jKA;!e'"_Gxï۹+.އzOWK:RkaUF -=0w:ZGhU%[mrsy}=EjY͸my G(|:!`Q2.N޿4ΨKљ^3UfH҇*=r=y5"I+k&KrS}ك!rltJk',vXGE ,wdzH%n.A&Ο|ץEލRBkŷ2ݤvO h \&4Ra^xGw^RRDWSHIwy'hy\Q%4qK]9dE0JGK%p =V3YIXCaִQry P- }ˁ|σHM9B.,^2zi**Zfo*P)!Z术_˻wciuޠ<;5߄zX֘9OnW<%岤}j5MX9VkE]-݃WW - nk(Z[v ReCi\n6>0NIݷjy7݈KfbQ7<\$I]A?+լۙމF\$ˇc'@88-pnDѲk msk@kצ8^p_ -?_J CZ&!\.HYw,v|^n*(OpU<1zAP?$rgurʮ,9 -̜Pmo ͐l}BQ^tq\4\CʁAc5,oa&E۝jS`x7"S(%j<!Imtzrp;zhm~MO158rEhC@q-";jpbV%P*B[Ry"Ƴ!qi>Վ c@Īwe0%KUpLJ#wF5"aOU~_ >uQbi8ta`7[o7naJtXӱc` P,.E''۩B`Ptէ6 -9b9d1J44 9T`ܕ<3Mf"+Ghޤ[eqHL8RVs_ǿL+WJtrt"ųNVGʔ3=J>muRX>[]/2;˽>|{HF: -@A -)qXs@sާ(LRh6qP7̎oKq y NWZ h6Ű,јW*(4e,WPpY,fmkҿf\qhw0zds=uؙ1H2~I ؿ ;_Wְ|#^8!/h$CY -m96i,66,[/noSqn ؏]G6дTJ\_9x){Z;iX|OeIdk`dxv Yc9C3*/vi+!.UF2G v'7s>׺EZ;ueQ8jDdnƬ#ې!b II%% US$9G1rKC q~joX&K} {tH%h AE.kk|[5QYw<[LseMq<_?l>;T됩pvc_29Ɠ<]wcpI -ύS3>#en3_|G@O -S0V"@6Zj%c(MP1(^p6M 5x: -=pLj6c"c'[ -NW27T<-,Uy]Jq˚03gIT(f#8Wi x6*Ka/y<wG$LUy>ZUq"Ab(J.[b3N`x>/P 945 0 R/Type/Annot/A 38977 0 R/Subtype/Link/Rect[93.5986023 243.628998 250.953995 263.308014]/Border[0 0 0]/H/N>> -endobj - -38977 0 obj -<> -endobj - -38978 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38979 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38980 0 obj -<> -endobj - -38981 0 obj -<> -endobj - -38982 0 obj -<> -endobj - -38983 0 obj -<> -endobj - -38984 0 obj -<> -endobj - -38985 0 obj -<> -endobj - -38986 0 obj -<> -endobj - -38987 0 obj -<> -stream -HdN#G=ObusK\`f 2̂OJ>nw7hSާN/}z|:N˷~,_Wf;grus3]~~1/_OW׿uriߧt{;~~xy>ί?|>c?>^i>7`/a_v۫xf/Nڟ9!ol<4<2:6#ofofofofollFyK*[Uvd^9r$Gy> -stream - q /X1 Do - Q q endstream -endobj - -38989 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38990 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38991 0 obj -<> -stream -HWk6_~3G7ФLEcXd"c%N^-idD\wH^$!_m߈I -$*4$KUuiDu56]KV\%1+\}\~kv;q_V$Rq]?i-]JREqg<ԟQBD6HPN Kȯ0g| -R`$CTdG9E)<KD@1 -1`1 g,P#@} 1"4+TcB\c1 -f!rĵ>Yq qi>p-G\c\f!rĵ>Yq qi>p-G\c\!k}LB>,ĵ>YzӬP qi>p@\c\+f! -ĵ>Yq qi>p@\c\+f! -ĵ>Yq"4+TcB\c1 -f!Jĵ>Yq qi>pD\c\+f!Jĵ>Yq qi>pD\c\+!Rk}LB>,ĵ>YzӬP}A$fuެFۨ0hJRSAև(gVӦ&ߕSMw߭֟}!tݽF%|rl6#9/ۮ7Hܭ٣r4>$ZMEνrt>oWW$0˯c[oy@9Mb;^T@E+kfe8af3a$؟ب_1ECu/.O"xE~{nڡCy5yt==#hƱx~5yH͊,?)w-WIܵYOyJY Go5$< -AJ G4Y4V>D#^ 6:h<Ƥݚ|58cy+X -rG´ze]I zRAc&VDAJOYNᎸΈ4pBE e!^ ~.4IXyflʽ>V){:m7oxy|8Œn0A˦y9l0st?ϋI.TFăj*e@TҙUG9atEAViI'{ M+FhFHKg",$BzzQr^f3ge|c/durP/͕fst`nXEY$jɯO`?/î{lFZUB0nfV2rh2s6`N`}9Ї+iNlWŤb7}7יWKgrxu{=WUkg{L2|{-5뀧p奼Iz"Ӌ e~jΘ*`lI}Ppb?\?7|[`?[{5qye;wxӝ\{FYن#~ 2oDKF'XNٴs*v~cېfsˆw ^5\O?`fI -=oL Ofb쳭1ztyIeǮk% O2 {*K\G_lBarC@7.pI}&b0iPV{i)g -6O8.7%9s1[8t9]Ce;c -5[.}4LtzLʶ:ۗ|Xvi2eby*8{aMEꊪˋf٦5ez>۹-?9`ؕWێ6}߯0oE7(܀ v@Y%ÒIO)p.24-Xm\Ͳ$z|`6GBSBg|o$ Y:,*6vܗ+[)WmR{yh?:[[ks4vOmvF6o71քJ0i畵TS{{m^OU`紃sVSۊך?Wb?1mK/>pL$J1.+/i rCW.<{r.pI-h% _`o=7UMG?ۓNQ`J$4ň_GN f,oj[P[0(R. BM6ikYL[ ;AP;]T1ORrKb8iZ^* ?2\N;4CCG>p9zZs g513gik8SwĔ尝rV<dŏ*f](NG)4PbVp"͋$͊djf$-XnzU"DL2R+8(S&A%ot@='S]D -'jWܶAvp,;յ1T&BMs( " f:Pl˜TY@"ՔL -2bpeW3DU aTPNGH^tm0]j Yz8&R)1ўtdEe@HI>=0.4Cꯜ.5b>p6]c;>cmfנdkR&@6p쩹 ɻ9g@kQGo܊ -V -kY ZC&lr )205Gˀ - BrF}ߑTIZ"ZBU:=nt΃7= SܲIui[鹱|K|;8 p?&̻}./To2ԑ]yRew[WPgx[P{pj׸msB R>J=[?/AŒp ȰJF8{7wQ%4å#.p+e҈+e҈+c+c+g+g``dʈdJ%1!*>@ KD\dd%H -P%{{C^2>D1\%{C^2>D1\%{C^2>D1\{CTE}btO}b"+Fԇ(+ҽbtO}b"+Fԇ(+ҽbtO}b"+Fԇ(+ҽbtO}b"+Fԇ(+ҽbtO}b"kFԇpE׌Q W{pE׌Q W{pE׌Q W{pE׌Q W{pEOSb.{CTU&hSL؟Ϛl iQm:d.;~G&H¶$` -``\˴g\<9awidW]uhV <_Wq^$ùJrO\x:-3W"Sɚxlx -e/Sshd;۷O^x)E<`oW)Aendstream -endobj - -38992 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -38993 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -38994 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -38995 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -38996 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -38997 0 obj -<> -stream -HWkolVp ؛DڦάĕM`|98f-׷5\UB"0)53^V2gUm$4٪c%؜Ul;|l7'WKfRdM>TpX;ME00!M-:x|Aͤ`GLi T-_Lpv ~gVeki.e\ϰ`RL1!2PjCT.JeT]|j$ˌ$ˌ"ث"ث"ث&댽&댽!؛!؛!؛%ی%ی#ػ#ػ#ػ''} ؇} ghS۲jSr PjSr Q9(B QLPmjC>S$TE6!`VMm"gjSզ6D3JB QLPmjԆ(}ZI6!`VMmJMm٧6@Mm٧6DSզ6D3*B QLPmjԆ(}ZE6!`VMm"TETզ6D3*B PjSjԆ(}ZE6-+M6!*gE6!*gOm"TET զ6D3jB PjSj5Ԇ(}ZM6PmjC>S&TET զ6@Mm"gՄjSj5Զ Ԇ}jԆ}jCT>!8wϧefRLl3!Cmu`\VO>6y~5 b7S#?_|cW7 ^uCwD*W+]:wl袻WZ3k>7(eWs?\p~gb(yaÜ C0T jC C0QgVC|}d0Mz4̞͆AOق%f:K&OɚډZ~(ɏW\GGBv)3j;xRJtz]:]0 06\=DȎ^=>NnoW?hK]vHZ8yg`3c2XϠs3 vfB10_x\zOM,|BKV2sv!4:UɏR06à m`ii/Y٬Q-rxj"tRgS~`%׃mmkfD$\häDߵI/,eˬ:Cvm#abhƐ!g7Dk'?%5Yڃ?ozla+W?_?nf˘A(k_v=88LVeRprY:]ڽI xV55;57Mءn -t >&'ZhkhTk´>6OmNa8ن2m^oKÎiPԪ5M(\TR گv7?vx k֥%5 "!;ᦘ#[SFlEZ9T$qIh-f/5˗/pႸ?Wbt7߽. 2"V -N:toߕy3A̛=xi<9[q;Û9xqފP*ǔG;up7y:˝Y4Msx͕ )ޤ;_צvJoRMn73(Og/8dM>+'k0ů]uUƁCyt 7 ~ 7CҠG4"H<84|Fͬ >pʶWLRЬsqlg&Y+ϔ99iȞܠ, -m4HoKJUm &%.dn!oqB\Zr>pT:)!ΑzR1P^P˞c\Ԁg.k!twVp|'ǧ.?7}fiJ{4{Y0v/j!2ṝ/QGCQߟlMe ]/qs4J&ԢEj.E'W_"M8Jy-kx\ζ3sA?No'wQ"Bd<ρs\XVEӔ>S9oP9]..:: -T,-ݏh3@YI4G2Nܠk~t8{?Lǥ$@dq:ps#T1GX= <2V;qB^md'N/%q1ȁ|Onbw7ǛwST^13"8 z6d:viM+@{PsOzqл -,f8aqmc [׀-+%h}̺EG>|" s2?"9n/k^/"]wfZpR;C(ü:rT48ɻ)lU{!&0|:@G`) or;R*ءY8;xZ\Z%i6leڰQڵMe? -5oɩc')i2TiUrT,g$&h2PiM[.;=I+L.ʆ23l(> -0*Q&u PnzU`PCՇ⨆sPA!խ5& O3]U%*Kbk3QE=;9SQ[j'N wڟٌh׮6A$`;Gʱ>acs ; !Uݛ-qGWK3x;VA9Ae]?w?O9tZ=F_Iy <Բ?+iIэf {N"}t}1:M̞Kg߫A4UrXm^H.4B~rxVB&[T#fIQe4t4b]LYDip7w/)VBԣvrU@~W Ubu:`6sc˧w C'7LL3mL!=M'[\]uve8c S1J,LuTW'Z4OJHX8|t/. A~ԤOuӊDMm\#(V*G*'Yiڒ4Y' M",{J:E܇~RTsP2Oȹ_X}x9j4(I)ڹlf66zB+>, ֗ۻ܃gy/ۦU~ؖn߽z\6N륜or4Xe!0ŷeQ] IWI'lg^ɱؒ -YV7g/`-endstream -endobj - -38998 0 obj -<>/P 2636 0 R/Type/Annot/A 43976 0 R/Subtype/Link/Rect[222 670 236 677]/Border[0 0 0]/H/N>> -endobj - -38999 0 obj -<>/P 2636 0 R/Type/Annot/A 44794 0 R/Subtype/Link/Rect[238 670 252 677]/Border[0 0 0]/H/N>> -endobj - -39000 0 obj -<>/P 2636 0 R/Type/Annot/A 43460 0 R/Subtype/Link/Rect[254 670 266 677]/Border[0 0 0]/H/N>> -endobj - -39001 0 obj -<>/P 2636 0 R/Type/Annot/A 39332 0 R/Subtype/Link/Rect[190 660 202 667]/Border[0 0 0]/H/N>> -endobj - -39002 0 obj -<>/P 2636 0 R/Type/Annot/A 43385 0 R/Subtype/Link/Rect[222 650 236 657]/Border[0 0 0]/H/N>> -endobj - -39003 0 obj -<>/P 2636 0 R/Type/Annot/A 39325 0 R/Subtype/Link/Rect[238 650 252 657]/Border[0 0 0]/H/N>> -endobj - -39004 0 obj -<>/P 2636 0 R/Type/Annot/A 39322 0 R/Subtype/Link/Rect[254 650 266 657]/Border[0 0 0]/H/N>> -endobj - -39005 0 obj -<>/P 2636 0 R/Type/Annot/A 43259 0 R/Subtype/Link/Rect[190 640 202 647]/Border[0 0 0]/H/N>> -endobj - -39006 0 obj -<>/P 2636 0 R/Type/Annot/A 39304 0 R/Subtype/Link/Rect[222 630 236 637]/Border[0 0 0]/H/N>> -endobj - -39007 0 obj -<>/P 2636 0 R/Type/Annot/A 39294 0 R/Subtype/Link/Rect[238 630 252 637]/Border[0 0 0]/H/N>> -endobj - -39008 0 obj -<>/P 2636 0 R/Type/Annot/A 43601 0 R/Subtype/Link/Rect[254 630 266 637]/Border[0 0 0]/H/N>> -endobj - -39009 0 obj -<>/P 2636 0 R/Type/Annot/A 43109 0 R/Subtype/Link/Rect[190 620 202 627]/Border[0 0 0]/H/N>> -endobj - -39010 0 obj -<>/P 2636 0 R/Type/Annot/A 44360 0 R/Subtype/Link/Rect[222 610 236 617]/Border[0 0 0]/H/N>> -endobj - -39011 0 obj -<>/P 2636 0 R/Type/Annot/A 43922 0 R/Subtype/Link/Rect[238 610 252 617]/Border[0 0 0]/H/N>> -endobj - -39012 0 obj -<>/P 2636 0 R/Type/Annot/A 44699 0 R/Subtype/Link/Rect[254 610 266 617]/Border[0 0 0]/H/N>> -endobj - -39013 0 obj -<>/P 2636 0 R/Type/Annot/A 43417 0 R/Subtype/Link/Rect[190 600 202 607]/Border[0 0 0]/H/N>> -endobj - -39014 0 obj -<>/P 2636 0 R/Type/Annot/A 43802 0 R/Subtype/Link/Rect[208 590 218 597]/Border[0 0 0]/H/N>> -endobj - -39015 0 obj -<>/P 2636 0 R/Type/Annot/A 39315 0 R/Subtype/Link/Rect[220 590 236 598]/Border[0 0 0]/H/N>> -endobj - -39016 0 obj -<>/P 2636 0 R/Type/Annot/A 42851 0 R/Subtype/Link/Rect[237 590 251 597]/Border[0 0 0]/H/N>> -endobj - -39017 0 obj -<>/P 2636 0 R/Type/Annot/A 43234 0 R/Subtype/Link/Rect[253 590 265 597]/Border[0 0 0]/H/N>> -endobj - -39018 0 obj -<>/P 2636 0 R/Type/Annot/A 42765 0 R/Subtype/Link/Rect[207 580 220 588]/Border[0 0 0]/H/N>> -endobj - -39019 0 obj -<>/P 2636 0 R/Type/Annot/A 39342 0 R/Subtype/Link/Rect[221 580 229 587]/Border[0 0 0]/H/N>> -endobj - -39020 0 obj -<>/P 2636 0 R/Type/Annot/A 39336 0 R/Subtype/Link/Rect[255 570 265 577]/Border[0 0 0]/H/N>> -endobj - -39021 0 obj -<>/P 2636 0 R/Type/Annot/A 42669 0 R/Subtype/Link/Rect[267 570 275 577]/Border[0 0 0]/H/N>> -endobj - -39022 0 obj -<>/P 2636 0 R/Type/Annot/A 42619 0 R/Subtype/Link/Rect[207 560 220 568]/Border[0 0 0]/H/N>> -endobj - -39023 0 obj -<>/P 2636 0 R/Type/Annot/A 39326 0 R/Subtype/Link/Rect[221 560 229 567]/Border[0 0 0]/H/N>> -endobj - -39024 0 obj -<>/P 2636 0 R/Type/Annot/A 42559 0 R/Subtype/Link/Rect[207 550 220 558]/Border[0 0 0]/H/N>> -endobj - -39025 0 obj -<>/P 2636 0 R/Type/Annot/A 44583 0 R/Subtype/Link/Rect[221 550 229 557]/Border[0 0 0]/H/N>> -endobj - -39026 0 obj -<>/P 2636 0 R/Type/Annot/A 42476 0 R/Subtype/Link/Rect[193 540 199 547]/Border[0 0 0]/H/N>> -endobj - -39027 0 obj -<>/P 2636 0 R/Type/Annot/A 43266 0 R/Subtype/Link/Rect[201 540 215 547]/Border[0 0 0]/H/N>> -endobj - -39028 0 obj -<>/P 2636 0 R/Type/Annot/A 44058 0 R/Subtype/Link/Rect[217 540 233 548]/Border[0 0 0]/H/N>> -endobj - -39029 0 obj -<>/P 2636 0 R/Type/Annot/A 44025 0 R/Subtype/Link/Rect[234 540 248 547]/Border[0 0 0]/H/N>> -endobj - -39030 0 obj -<>/P 2636 0 R/Type/Annot/A 43144 0 R/Subtype/Link/Rect[250 540 264 547]/Border[0 0 0]/H/N>> -endobj - -39031 0 obj -<>/P 2636 0 R/Type/Annot/A 39330 0 R/Subtype/Link/Rect[266 540 280 547]/Border[0 0 0]/H/N>> -endobj - -39032 0 obj -<>/P 2636 0 R/Type/Annot/A 43889 0 R/Subtype/Link/Rect[282 540 296 547]/Border[0 0 0]/H/N>> -endobj - -39033 0 obj -<>/P 2636 0 R/Type/Annot/A 42611 0 R/Subtype/Link/Rect[151 530 165 537]/Border[0 0 0]/H/N>> -endobj - -39034 0 obj -<>/P 2636 0 R/Type/Annot/A 39312 0 R/Subtype/Link/Rect[167 530 181 537]/Border[0 0 0]/H/N>> -endobj - -39035 0 obj -<>/P 2636 0 R/Type/Annot/A 43369 0 R/Subtype/Link/Rect[183 530 195 537]/Border[0 0 0]/H/N>> -endobj - -39036 0 obj -<>/P 2636 0 R/Type/Annot/A 39292 0 R/Subtype/Link/Rect[190 520 202 527]/Border[0 0 0]/H/N>> -endobj - -39037 0 obj -<>/P 2636 0 R/Type/Annot/A 39282 0 R/Subtype/Link/Rect[167 510 179 517]/Border[0 0 0]/H/N>> -endobj - -39038 0 obj -<>/P 2636 0 R/Type/Annot/A 39337 0 R/Subtype/Link/Rect[212 500 222 507]/Border[0 0 0]/H/N>> -endobj - -39039 0 obj -<>/P 2636 0 R/Type/Annot/A 41952 0 R/Subtype/Link/Rect[224 500 234 507]/Border[0 0 0]/H/N>> -endobj - -39040 0 obj -<>/P 2636 0 R/Type/Annot/A 39329 0 R/Subtype/Link/Rect[236 500 246 507]/Border[0 0 0]/H/N>> -endobj - -39041 0 obj -<>/P 2636 0 R/Type/Annot/A 41868 0 R/Subtype/Link/Rect[248 500 260 507]/Border[0 0 0]/H/N>> -endobj - -39042 0 obj -<>/P 2636 0 R/Type/Annot/A 39319 0 R/Subtype/Link/Rect[193 490 209 498]/Border[0 0 0]/H/N>> -endobj - -39043 0 obj -<>/P 2636 0 R/Type/Annot/A 43005 0 R/Subtype/Link/Rect[210 490 224 497]/Border[0 0 0]/H/N>> -endobj - -39044 0 obj -<>/P 2636 0 R/Type/Annot/A 39299 0 R/Subtype/Link/Rect[226 490 240 497]/Border[0 0 0]/H/N>> -endobj - -39045 0 obj -<>/P 2636 0 R/Type/Annot/A 39288 0 R/Subtype/Link/Rect[242 490 256 497]/Border[0 0 0]/H/N>> -endobj - -39046 0 obj -<>/P 2636 0 R/Type/Annot/A 39339 0 R/Subtype/Link/Rect[258 490 272 497]/Border[0 0 0]/H/N>> -endobj - -39047 0 obj -<>/P 2636 0 R/Type/Annot/A 39334 0 R/Subtype/Link/Rect[274 490 288 497]/Border[0 0 0]/H/N>> -endobj - -39048 0 obj -<>/P 2636 0 R/Type/Annot/A 42424 0 R/Subtype/Link/Rect[290 490 304 497]/Border[0 0 0]/H/N>> -endobj - -39049 0 obj -<>/P 2636 0 R/Type/Annot/A 43966 0 R/Subtype/Link/Rect[151 480 165 487]/Border[0 0 0]/H/N>> -endobj - -39050 0 obj -<>/P 2636 0 R/Type/Annot/A 42360 0 R/Subtype/Link/Rect[167 480 179 487]/Border[0 0 0]/H/N>> -endobj - -39051 0 obj -<>/P 2636 0 R/Type/Annot/A 44625 0 R/Subtype/Link/Rect[190 470 202 477]/Border[0 0 0]/H/N>> -endobj - -39052 0 obj -<>/P 2636 0 R/Type/Annot/A 44203 0 R/Subtype/Link/Rect[194 460 207 468]/Border[0 0 0]/H/N>> -endobj - -39053 0 obj -<>/P 2636 0 R/Type/Annot/A 39343 0 R/Subtype/Link/Rect[207 460 221 467]/Border[0 0 0]/H/N>> -endobj - -39054 0 obj -<>/P 2636 0 R/Type/Annot/A 42581 0 R/Subtype/Link/Rect[223 460 235 467]/Border[0 0 0]/H/N>> -endobj - -39055 0 obj -<>/P 2636 0 R/Type/Annot/A 39335 0 R/Subtype/Link/Rect[193 450 203 457]/Border[0 0 0]/H/N>> -endobj - -39056 0 obj -<>/P 2636 0 R/Type/Annot/A 42870 0 R/Subtype/Link/Rect[205 450 221 458]/Border[0 0 0]/H/N>> -endobj - -39057 0 obj -<>/P 2636 0 R/Type/Annot/A 39327 0 R/Subtype/Link/Rect[222 450 236 457]/Border[0 0 0]/H/N>> -endobj - -39058 0 obj -<>/P 2636 0 R/Type/Annot/A 42789 0 R/Subtype/Link/Rect[238 450 254 458]/Border[0 0 0]/H/N>> -endobj - -39059 0 obj -<>/P 2636 0 R/Type/Annot/A 39313 0 R/Subtype/Link/Rect[255 450 269 457]/Border[0 0 0]/H/N>> -endobj - -39060 0 obj -<>/P 2636 0 R/Type/Annot/A 39302 0 R/Subtype/Link/Rect[271 450 285 457]/Border[0 0 0]/H/N>> -endobj - -39061 0 obj -<>/P 2636 0 R/Type/Annot/A 41430 0 R/Subtype/Link/Rect[287 450 301 457]/Border[0 0 0]/H/N>> -endobj - -39062 0 obj -<>/P 2636 0 R/Type/Annot/A 41832 0 R/Subtype/Link/Rect[151 440 165 447]/Border[0 0 0]/H/N>> -endobj - -39063 0 obj -<>/P 2636 0 R/Type/Annot/A 42199 0 R/Subtype/Link/Rect[167 440 181 447]/Border[0 0 0]/H/N>> -endobj - -39064 0 obj -<>/P 2636 0 R/Type/Annot/A 43680 0 R/Subtype/Link/Rect[183 440 197 447]/Border[0 0 0]/H/N>> -endobj - -39065 0 obj -<>/P 2636 0 R/Type/Annot/A 44694 0 R/Subtype/Link/Rect[199 440 211 447]/Border[0 0 0]/H/N>> -endobj - -39066 0 obj -<>/P 2636 0 R/Type/Annot/A 43178 0 R/Subtype/Link/Rect[190 430 202 437]/Border[0 0 0]/H/N>> -endobj - -39067 0 obj -<>/P 2636 0 R/Type/Annot/A 42772 0 R/Subtype/Link/Rect[198 420 212 427]/Border[0 0 0]/H/N>> -endobj - -39068 0 obj -<>/P 2636 0 R/Type/Annot/A 43107 0 R/Subtype/Link/Rect[214 420 228 427]/Border[0 0 0]/H/N>> -endobj - -39069 0 obj -<>/P 2636 0 R/Type/Annot/A 39284 0 R/Subtype/Link/Rect[230 420 244 427]/Border[0 0 0]/H/N>> -endobj - -39070 0 obj -<>/P 2636 0 R/Type/Annot/A 39480 0 R/Subtype/Link/Rect[246 420 258 427]/Border[0 0 0]/H/N>> -endobj - -39071 0 obj -<>/P 2636 0 R/Type/Annot/A 39479 0 R/Subtype/Link/Rect[212 410 226 417]/Border[0 0 0]/H/N>> -endobj - -39072 0 obj -<>/P 2636 0 R/Type/Annot/A 39478 0 R/Subtype/Link/Rect[228 410 240 417]/Border[0 0 0]/H/N>> -endobj - -39073 0 obj -<>/P 2636 0 R/Type/Annot/A 39477 0 R/Subtype/Link/Rect[203 400 217 407]/Border[0 0 0]/H/N>> -endobj - -39074 0 obj -<>/P 2636 0 R/Type/Annot/A 39476 0 R/Subtype/Link/Rect[219 400 231 407]/Border[0 0 0]/H/N>> -endobj - -39075 0 obj -<>/P 2636 0 R/Type/Annot/A 39475 0 R/Subtype/Link/Rect[231 380 243 387]/Border[0 0 0]/H/N>> -endobj - -39076 0 obj -<>/P 2636 0 R/Type/Annot/A 39474 0 R/Subtype/Link/Rect[217 370 229 377]/Border[0 0 0]/H/N>> -endobj - -39077 0 obj -<>/P 2636 0 R/Type/Annot/A 39473 0 R/Subtype/Link/Rect[217 360 229 367]/Border[0 0 0]/H/N>> -endobj - -39078 0 obj -<>/P 2636 0 R/Type/Annot/A 39472 0 R/Subtype/Link/Rect[217 350 229 357]/Border[0 0 0]/H/N>> -endobj - -39079 0 obj -<>/P 2636 0 R/Type/Annot/A 39471 0 R/Subtype/Link/Rect[222 340 234 347]/Border[0 0 0]/H/N>> -endobj - -39080 0 obj -<>/P 2636 0 R/Type/Annot/A 39470 0 R/Subtype/Link/Rect[222 330 234 338]/Border[0 0 0]/H/N>> -endobj - -39081 0 obj -<>/P 2636 0 R/Type/Annot/A 39469 0 R/Subtype/Link/Rect[207 320 219 328]/Border[0 0 0]/H/N>> -endobj - -39082 0 obj -<>/P 2636 0 R/Type/Annot/A 39468 0 R/Subtype/Link/Rect[207 310 219 318]/Border[0 0 0]/H/N>> -endobj - -39083 0 obj -<>/P 2636 0 R/Type/Annot/A 39467 0 R/Subtype/Link/Rect[190 300 202 308]/Border[0 0 0]/H/N>> -endobj - -39084 0 obj -<>/P 2636 0 R/Type/Annot/A 39466 0 R/Subtype/Link/Rect[207 290 224 298]/Border[0 0 0]/H/N>> -endobj - -39085 0 obj -<>/P 2636 0 R/Type/Annot/A 39465 0 R/Subtype/Link/Rect[225 290 239 298]/Border[0 0 0]/H/N>> -endobj - -39086 0 obj -<>/P 2636 0 R/Type/Annot/A 39464 0 R/Subtype/Link/Rect[241 290 257 298]/Border[0 0 0]/H/N>> -endobj - -39087 0 obj -<>/P 2636 0 R/Type/Annot/A 39463 0 R/Subtype/Link/Rect[258 290 270 298]/Border[0 0 0]/H/N>> -endobj - -39088 0 obj -<>/P 2636 0 R/Type/Annot/A 39462 0 R/Subtype/Link/Rect[190 280 202 288]/Border[0 0 0]/H/N>> -endobj - -39089 0 obj -<>/P 2636 0 R/Type/Annot/A 39461 0 R/Subtype/Link/Rect[207 270 224 278]/Border[0 0 0]/H/N>> -endobj - -39090 0 obj -<>/P 2636 0 R/Type/Annot/A 39460 0 R/Subtype/Link/Rect[225 270 239 278]/Border[0 0 0]/H/N>> -endobj - -39091 0 obj -<>/P 2636 0 R/Type/Annot/A 39459 0 R/Subtype/Link/Rect[241 270 255 278]/Border[0 0 0]/H/N>> -endobj - -39092 0 obj -<>/P 2636 0 R/Type/Annot/A 39458 0 R/Subtype/Link/Rect[257 270 271 278]/Border[0 0 0]/H/N>> -endobj - -39093 0 obj -<>/P 2636 0 R/Type/Annot/A 39457 0 R/Subtype/Link/Rect[273 270 287 278]/Border[0 0 0]/H/N>> -endobj - -39094 0 obj -<>/P 2636 0 R/Type/Annot/A 39456 0 R/Subtype/Link/Rect[289 270 301 278]/Border[0 0 0]/H/N>> -endobj - -39095 0 obj -<>/P 2636 0 R/Type/Annot/A 39455 0 R/Subtype/Link/Rect[190 260 204 268]/Border[0 0 0]/H/N>> -endobj - -39096 0 obj -<>/P 2636 0 R/Type/Annot/A 39454 0 R/Subtype/Link/Rect[206 260 218 268]/Border[0 0 0]/H/N>> -endobj - -39097 0 obj -<>/P 2636 0 R/Type/Annot/A 39453 0 R/Subtype/Link/Rect[217 250 231 258]/Border[0 0 0]/H/N>> -endobj - -39098 0 obj -<>/P 2636 0 R/Type/Annot/A 39452 0 R/Subtype/Link/Rect[233 250 247 258]/Border[0 0 0]/H/N>> -endobj - -39099 0 obj -<>/P 2636 0 R/Type/Annot/A 39451 0 R/Subtype/Link/Rect[249 250 261 258]/Border[0 0 0]/H/N>> -endobj - -39100 0 obj -<>/P 2636 0 R/Type/Annot/A 39450 0 R/Subtype/Link/Rect[190 240 202 248]/Border[0 0 0]/H/N>> -endobj - -39101 0 obj -<>/P 2636 0 R/Type/Annot/A 39449 0 R/Subtype/Link/Rect[226 230 243 238]/Border[0 0 0]/H/N>> -endobj - -39102 0 obj -<>/P 2636 0 R/Type/Annot/A 39448 0 R/Subtype/Link/Rect[244 230 258 238]/Border[0 0 0]/H/N>> -endobj - -39103 0 obj -<>/P 2636 0 R/Type/Annot/A 39447 0 R/Subtype/Link/Rect[260 230 272 238]/Border[0 0 0]/H/N>> -endobj - -39104 0 obj -<>/P 2636 0 R/Type/Annot/A 39446 0 R/Subtype/Link/Rect[190 220 202 228]/Border[0 0 0]/H/N>> -endobj - -39105 0 obj -<>/P 2636 0 R/Type/Annot/A 39445 0 R/Subtype/Link/Rect[236 210 250 218]/Border[0 0 0]/H/N>> -endobj - -39106 0 obj -<>/P 2636 0 R/Type/Annot/A 39444 0 R/Subtype/Link/Rect[252 210 266 218]/Border[0 0 0]/H/N>> -endobj - -39107 0 obj -<>/P 2636 0 R/Type/Annot/A 39443 0 R/Subtype/Link/Rect[268 210 280 218]/Border[0 0 0]/H/N>> -endobj - -39108 0 obj -<>/P 2636 0 R/Type/Annot/A 39442 0 R/Subtype/Link/Rect[190 200 202 208]/Border[0 0 0]/H/N>> -endobj - -39109 0 obj -<>/P 2636 0 R/Type/Annot/A 39441 0 R/Subtype/Link/Rect[217 190 231 198]/Border[0 0 0]/H/N>> -endobj - -39110 0 obj -<>/P 2636 0 R/Type/Annot/A 39440 0 R/Subtype/Link/Rect[233 190 245 198]/Border[0 0 0]/H/N>> -endobj - -39111 0 obj -<>/P 2636 0 R/Type/Annot/A 39439 0 R/Subtype/Link/Rect[190 180 202 188]/Border[0 0 0]/H/N>> -endobj - -39112 0 obj -<>/P 2636 0 R/Type/Annot/A 39438 0 R/Subtype/Link/Rect[205 170 222 178]/Border[0 0 0]/H/N>> -endobj - -39113 0 obj -<>/P 2636 0 R/Type/Annot/A 39437 0 R/Subtype/Link/Rect[223 170 237 178]/Border[0 0 0]/H/N>> -endobj - -39114 0 obj -<>/P 2636 0 R/Type/Annot/A 39436 0 R/Subtype/Link/Rect[239 170 255 178]/Border[0 0 0]/H/N>> -endobj - -39115 0 obj -<>/P 2636 0 R/Type/Annot/A 39435 0 R/Subtype/Link/Rect[256 170 268 178]/Border[0 0 0]/H/N>> -endobj - -39116 0 obj -<>/P 2636 0 R/Type/Annot/A 39434 0 R/Subtype/Link/Rect[231 160 245 168]/Border[0 0 0]/H/N>> -endobj - -39117 0 obj -<>/P 2636 0 R/Type/Annot/A 39433 0 R/Subtype/Link/Rect[247 160 261 168]/Border[0 0 0]/H/N>> -endobj - -39118 0 obj -<>/P 2636 0 R/Type/Annot/A 39432 0 R/Subtype/Link/Rect[263 160 275 168]/Border[0 0 0]/H/N>> -endobj - -39119 0 obj -<>/P 2636 0 R/Type/Annot/A 39431 0 R/Subtype/Link/Rect[190 150 202 158]/Border[0 0 0]/H/N>> -endobj - -39120 0 obj -<>/P 2636 0 R/Type/Annot/A 39430 0 R/Subtype/Link/Rect[406 670 420 677]/Border[0 0 0]/H/N>> -endobj - -39121 0 obj -<>/P 2636 0 R/Type/Annot/A 39429 0 R/Subtype/Link/Rect[422 670 436 677]/Border[0 0 0]/H/N>> -endobj - -39122 0 obj -<>/P 2636 0 R/Type/Annot/A 39428 0 R/Subtype/Link/Rect[438 670 450 677]/Border[0 0 0]/H/N>> -endobj - -39123 0 obj -<>/P 2636 0 R/Type/Annot/A 39427 0 R/Subtype/Link/Rect[401 660 413 668]/Border[0 0 0]/H/N>> -endobj - -39124 0 obj -<>/P 2636 0 R/Type/Annot/A 39426 0 R/Subtype/Link/Rect[414 660 422 667]/Border[0 0 0]/H/N>> -endobj - -39125 0 obj -<>/P 2636 0 R/Type/Annot/A 39425 0 R/Subtype/Link/Rect[377 650 387 657]/Border[0 0 0]/H/N>> -endobj - -39126 0 obj -<>/P 2636 0 R/Type/Annot/A 39424 0 R/Subtype/Link/Rect[389 650 402 658]/Border[0 0 0]/H/N>> -endobj - -39127 0 obj -<>/P 2636 0 R/Type/Annot/A 39423 0 R/Subtype/Link/Rect[402 650 412 657]/Border[0 0 0]/H/N>> -endobj - -39128 0 obj -<>/P 2636 0 R/Type/Annot/A 39422 0 R/Subtype/Link/Rect[414 650 424 657]/Border[0 0 0]/H/N>> -endobj - -39129 0 obj -<>/P 2636 0 R/Type/Annot/A 39421 0 R/Subtype/Link/Rect[426 650 436 657]/Border[0 0 0]/H/N>> -endobj - -39130 0 obj -<>/P 2636 0 R/Type/Annot/A 39420 0 R/Subtype/Link/Rect[438 650 452 657]/Border[0 0 0]/H/N>> -endobj - -39131 0 obj -<>/P 2636 0 R/Type/Annot/A 39419 0 R/Subtype/Link/Rect[454 650 466 657]/Border[0 0 0]/H/N>> -endobj - -39132 0 obj -<>/P 2636 0 R/Type/Annot/A 39418 0 R/Subtype/Link/Rect[434 640 446 647]/Border[0 0 0]/H/N>> -endobj - -39133 0 obj -<>/P 2636 0 R/Type/Annot/A 39417 0 R/Subtype/Link/Rect[398 630 410 637]/Border[0 0 0]/H/N>> -endobj - -39134 0 obj -<>/P 2636 0 R/Type/Annot/A 39416 0 R/Subtype/Link/Rect[439 620 456 628]/Border[0 0 0]/H/N>> -endobj - -39135 0 obj -<>/P 2636 0 R/Type/Annot/A 39415 0 R/Subtype/Link/Rect[456 620 470 627]/Border[0 0 0]/H/N>> -endobj - -39136 0 obj -<>/P 2636 0 R/Type/Annot/A 39414 0 R/Subtype/Link/Rect[472 620 486 627]/Border[0 0 0]/H/N>> -endobj - -39137 0 obj -<>/P 2636 0 R/Type/Annot/A 39413 0 R/Subtype/Link/Rect[488 620 502 627]/Border[0 0 0]/H/N>> -endobj - -39138 0 obj -<>/P 2636 0 R/Type/Annot/A 39412 0 R/Subtype/Link/Rect[504 620 518 627]/Border[0 0 0]/H/N>> -endobj - -39139 0 obj -<>/P 2636 0 R/Type/Annot/A 39411 0 R/Subtype/Link/Rect[359 610 373 617]/Border[0 0 0]/H/N>> -endobj - -39140 0 obj -<>/P 2636 0 R/Type/Annot/A 39410 0 R/Subtype/Link/Rect[375 610 387 617]/Border[0 0 0]/H/N>> -endobj - -39141 0 obj -<>/P 2636 0 R/Type/Annot/A 39409 0 R/Subtype/Link/Rect[398 600 410 607]/Border[0 0 0]/H/N>> -endobj - -39142 0 obj -<>/P 2636 0 R/Type/Annot/A 39408 0 R/Subtype/Link/Rect[423 590 435 597]/Border[0 0 0]/H/N>> -endobj - -39143 0 obj -<>/P 2636 0 R/Type/Annot/A 39407 0 R/Subtype/Link/Rect[449 580 461 587]/Border[0 0 0]/H/N>> -endobj - -39144 0 obj -<>/P 2636 0 R/Type/Annot/A 39406 0 R/Subtype/Link/Rect[449 570 465 578]/Border[0 0 0]/H/N>> -endobj - -39145 0 obj -<>/P 2636 0 R/Type/Annot/A 39405 0 R/Subtype/Link/Rect[466 570 480 577]/Border[0 0 0]/H/N>> -endobj - -39146 0 obj -<>/P 2636 0 R/Type/Annot/A 39404 0 R/Subtype/Link/Rect[482 570 496 577]/Border[0 0 0]/H/N>> -endobj - -39147 0 obj -<>/P 2636 0 R/Type/Annot/A 39403 0 R/Subtype/Link/Rect[498 570 512 577]/Border[0 0 0]/H/N>> -endobj - -39148 0 obj -<>/P 2636 0 R/Type/Annot/A 39402 0 R/Subtype/Link/Rect[359 560 373 567]/Border[0 0 0]/H/N>> -endobj - -39149 0 obj -<>/P 2636 0 R/Type/Annot/A 39401 0 R/Subtype/Link/Rect[375 560 387 567]/Border[0 0 0]/H/N>> -endobj - -39150 0 obj -<>/P 2636 0 R/Type/Annot/A 39400 0 R/Subtype/Link/Rect[398 550 410 557]/Border[0 0 0]/H/N>> -endobj - -39151 0 obj -<>/P 2636 0 R/Type/Annot/A 39399 0 R/Subtype/Link/Rect[492 540 504 547]/Border[0 0 0]/H/N>> -endobj - -39152 0 obj -<>/P 2636 0 R/Type/Annot/A 39398 0 R/Subtype/Link/Rect[444 530 461 538]/Border[0 0 0]/H/N>> -endobj - -39153 0 obj -<>/P 2636 0 R/Type/Annot/A 39397 0 R/Subtype/Link/Rect[461 530 475 537]/Border[0 0 0]/H/N>> -endobj - -39154 0 obj -<>/P 2636 0 R/Type/Annot/A 39396 0 R/Subtype/Link/Rect[477 530 491 537]/Border[0 0 0]/H/N>> -endobj - -39155 0 obj -<>/P 2636 0 R/Type/Annot/A 39395 0 R/Subtype/Link/Rect[493 530 507 537]/Border[0 0 0]/H/N>> -endobj - -39156 0 obj -<>/P 2636 0 R/Type/Annot/A 39394 0 R/Subtype/Link/Rect[359 520 373 527]/Border[0 0 0]/H/N>> -endobj - -39157 0 obj -<>/P 2636 0 R/Type/Annot/A 39393 0 R/Subtype/Link/Rect[375 520 387 527]/Border[0 0 0]/H/N>> -endobj - -39158 0 obj -<>/P 2636 0 R/Type/Annot/A 39392 0 R/Subtype/Link/Rect[439 510 453 517]/Border[0 0 0]/H/N>> -endobj - -39159 0 obj -<>/P 2636 0 R/Type/Annot/A 39391 0 R/Subtype/Link/Rect[455 510 467 517]/Border[0 0 0]/H/N>> -endobj - -39160 0 obj -<>/P 2636 0 R/Type/Annot/A 39390 0 R/Subtype/Link/Rect[398 500 410 507]/Border[0 0 0]/H/N>> -endobj - -39161 0 obj -<>/P 2636 0 R/Type/Annot/A 39389 0 R/Subtype/Link/Rect[444 490 452 497]/Border[0 0 0]/H/N>> -endobj - -39162 0 obj -<>/P 2636 0 R/Type/Annot/A 39388 0 R/Subtype/Link/Rect[414 480 424 487]/Border[0 0 0]/H/N>> -endobj - -39163 0 obj -<>/P 2636 0 R/Type/Annot/A 39387 0 R/Subtype/Link/Rect[426 480 439 488]/Border[0 0 0]/H/N>> -endobj - -39164 0 obj -<>/P 2636 0 R/Type/Annot/A 39386 0 R/Subtype/Link/Rect[439 480 449 487]/Border[0 0 0]/H/N>> -endobj - -39165 0 obj -<>/P 2636 0 R/Type/Annot/A 39385 0 R/Subtype/Link/Rect[451 480 463 487]/Border[0 0 0]/H/N>> -endobj - -39166 0 obj -<>/P 2636 0 R/Type/Annot/A 39384 0 R/Subtype/Link/Rect[487 470 499 477]/Border[0 0 0]/H/N>> -endobj - -39167 0 obj -<>/P 2636 0 R/Type/Annot/A 39383 0 R/Subtype/Link/Rect[401 460 413 467]/Border[0 0 0]/H/N>> -endobj - -39168 0 obj -<>/P 2636 0 R/Type/Annot/A 39382 0 R/Subtype/Link/Rect[401 450 407 457]/Border[0 0 0]/H/N>> -endobj - -39169 0 obj -<>/P 2636 0 R/Type/Annot/A 39381 0 R/Subtype/Link/Rect[409 450 419 457]/Border[0 0 0]/H/N>> -endobj - -39170 0 obj -<>/P 2636 0 R/Type/Annot/A 39380 0 R/Subtype/Link/Rect[421 450 431 457]/Border[0 0 0]/H/N>> -endobj - -39171 0 obj -<>/P 2636 0 R/Type/Annot/A 39379 0 R/Subtype/Link/Rect[433 450 443 457]/Border[0 0 0]/H/N>> -endobj - -39172 0 obj -<>/P 2636 0 R/Type/Annot/A 39378 0 R/Subtype/Link/Rect[445 450 457 458]/Border[0 0 0]/H/N>> -endobj - -39173 0 obj -<>/P 2636 0 R/Type/Annot/A 39377 0 R/Subtype/Link/Rect[458 450 468 457]/Border[0 0 0]/H/N>> -endobj - -39174 0 obj -<>/P 2636 0 R/Type/Annot/A 39376 0 R/Subtype/Link/Rect[470 450 484 457]/Border[0 0 0]/H/N>> -endobj - -39175 0 obj -<>/P 2636 0 R/Type/Annot/A 39375 0 R/Subtype/Link/Rect[486 450 500 457]/Border[0 0 0]/H/N>> -endobj - -39176 0 obj -<>/P 2636 0 R/Type/Annot/A 39374 0 R/Subtype/Link/Rect[502 450 516 457]/Border[0 0 0]/H/N>> -endobj - -39177 0 obj -<>/P 2636 0 R/Type/Annot/A 39373 0 R/Subtype/Link/Rect[359 440 373 447]/Border[0 0 0]/H/N>> -endobj - -39178 0 obj -<>/P 2636 0 R/Type/Annot/A 39372 0 R/Subtype/Link/Rect[375 440 389 447]/Border[0 0 0]/H/N>> -endobj - -39179 0 obj -<>/P 2636 0 R/Type/Annot/A 39371 0 R/Subtype/Link/Rect[391 440 405 447]/Border[0 0 0]/H/N>> -endobj - -39180 0 obj -<>/P 2636 0 R/Type/Annot/A 39370 0 R/Subtype/Link/Rect[407 440 421 447]/Border[0 0 0]/H/N>> -endobj - -39181 0 obj -<>/P 2636 0 R/Type/Annot/A 39369 0 R/Subtype/Link/Rect[423 440 437 447]/Border[0 0 0]/H/N>> -endobj - -39182 0 obj -<>/P 2636 0 R/Type/Annot/A 39368 0 R/Subtype/Link/Rect[439 440 456 448]/Border[0 0 0]/H/N>> -endobj - -39183 0 obj -<>/P 2636 0 R/Type/Annot/A 39367 0 R/Subtype/Link/Rect[457 440 471 447]/Border[0 0 0]/H/N>> -endobj - -39184 0 obj -<>/P 2636 0 R/Type/Annot/A 39366 0 R/Subtype/Link/Rect[473 440 487 447]/Border[0 0 0]/H/N>> -endobj - -39185 0 obj -<>/P 2636 0 R/Type/Annot/A 39365 0 R/Subtype/Link/Rect[489 440 503 447]/Border[0 0 0]/H/N>> -endobj - -39186 0 obj -<>/P 2636 0 R/Type/Annot/A 39364 0 R/Subtype/Link/Rect[505 440 519 447]/Border[0 0 0]/H/N>> -endobj - -39187 0 obj -<>/P 2636 0 R/Type/Annot/A 39363 0 R/Subtype/Link/Rect[359 430 373 437]/Border[0 0 0]/H/N>> -endobj - -39188 0 obj -<>/P 2636 0 R/Type/Annot/A 39362 0 R/Subtype/Link/Rect[375 430 392 438]/Border[0 0 0]/H/N>> -endobj - -39189 0 obj -<>/P 2636 0 R/Type/Annot/A 39361 0 R/Subtype/Link/Rect[393 430 407 437]/Border[0 0 0]/H/N>> -endobj - -39190 0 obj -<>/P 2636 0 R/Type/Annot/A 39360 0 R/Subtype/Link/Rect[409 430 423 437]/Border[0 0 0]/H/N>> -endobj - -39191 0 obj -<>/P 2636 0 R/Type/Annot/A 39359 0 R/Subtype/Link/Rect[425 430 441 438]/Border[0 0 0]/H/N>> -endobj - -39192 0 obj -<>/P 2636 0 R/Type/Annot/A 39358 0 R/Subtype/Link/Rect[442 430 456 437]/Border[0 0 0]/H/N>> -endobj - -39193 0 obj -<>/P 2636 0 R/Type/Annot/A 39357 0 R/Subtype/Link/Rect[458 430 472 437]/Border[0 0 0]/H/N>> -endobj - -39194 0 obj -<>/P 2636 0 R/Type/Annot/A 39356 0 R/Subtype/Link/Rect[474 430 488 437]/Border[0 0 0]/H/N>> -endobj - -39195 0 obj -<>/P 2636 0 R/Type/Annot/A 39355 0 R/Subtype/Link/Rect[490 430 504 437]/Border[0 0 0]/H/N>> -endobj - -39196 0 obj -<>/P 2636 0 R/Type/Annot/A 39354 0 R/Subtype/Link/Rect[359 420 373 427]/Border[0 0 0]/H/N>> -endobj - -39197 0 obj -<>/P 2636 0 R/Type/Annot/A 39353 0 R/Subtype/Link/Rect[375 420 392 428]/Border[0 0 0]/H/N>> -endobj - -39198 0 obj -<>/P 2636 0 R/Type/Annot/A 39352 0 R/Subtype/Link/Rect[393 420 407 427]/Border[0 0 0]/H/N>> -endobj - -39199 0 obj -<>/P 2636 0 R/Type/Annot/A 39351 0 R/Subtype/Link/Rect[409 420 423 427]/Border[0 0 0]/H/N>> -endobj - -39200 0 obj -<>/P 2636 0 R/Type/Annot/A 39350 0 R/Subtype/Link/Rect[425 420 441 428]/Border[0 0 0]/H/N>> -endobj - -39201 0 obj -<>/P 2636 0 R/Type/Annot/A 39349 0 R/Subtype/Link/Rect[442 420 456 427]/Border[0 0 0]/H/N>> -endobj - -39202 0 obj -<>/P 2636 0 R/Type/Annot/A 39348 0 R/Subtype/Link/Rect[458 420 472 427]/Border[0 0 0]/H/N>> -endobj - -39203 0 obj -<>/P 2636 0 R/Type/Annot/A 39346 0 R/Subtype/Link/Rect[474 420 488 427]/Border[0 0 0]/H/N>> -endobj - -39204 0 obj -<>/P 2636 0 R/Type/Annot/A 39345 0 R/Subtype/Link/Rect[359 410 376 418]/Border[0 0 0]/H/N>> -endobj - -39205 0 obj -<>/P 2636 0 R/Type/Annot/A 39344 0 R/Subtype/Link/Rect[377 410 391 417]/Border[0 0 0]/H/N>> -endobj - -39206 0 obj -<>/P 2636 0 R/Type/Annot/A 39341 0 R/Subtype/Link/Rect[393 410 409 418]/Border[0 0 0]/H/N>> -endobj - -39207 0 obj -<>/P 2636 0 R/Type/Annot/A 39338 0 R/Subtype/Link/Rect[410 410 424 417]/Border[0 0 0]/H/N>> -endobj - -39208 0 obj -<>/P 2636 0 R/Type/Annot/A 39333 0 R/Subtype/Link/Rect[426 410 443 418]/Border[0 0 0]/H/N>> -endobj - -39209 0 obj -<>/P 2636 0 R/Type/Annot/A 39331 0 R/Subtype/Link/Rect[443 410 457 417]/Border[0 0 0]/H/N>> -endobj - -39210 0 obj -<>/P 2636 0 R/Type/Annot/A 39328 0 R/Subtype/Link/Rect[459 410 476 418]/Border[0 0 0]/H/N>> -endobj - -39211 0 obj -<>/P 2636 0 R/Type/Annot/A 39324 0 R/Subtype/Link/Rect[477 410 491 417]/Border[0 0 0]/H/N>> -endobj - -39212 0 obj -<>/P 2636 0 R/Type/Annot/A 39320 0 R/Subtype/Link/Rect[493 410 507 417]/Border[0 0 0]/H/N>> -endobj - -39213 0 obj -<>/P 2636 0 R/Type/Annot/A 39311 0 R/Subtype/Link/Rect[359 400 373 407]/Border[0 0 0]/H/N>> -endobj - -39214 0 obj -<>/P 2636 0 R/Type/Annot/A 39305 0 R/Subtype/Link/Rect[375 400 392 408]/Border[0 0 0]/H/N>> -endobj - -39215 0 obj -<>/P 2636 0 R/Type/Annot/A 39296 0 R/Subtype/Link/Rect[393 400 407 407]/Border[0 0 0]/H/N>> -endobj - -39216 0 obj -<>/P 2636 0 R/Type/Annot/A 39286 0 R/Subtype/Link/Rect[409 400 423 407]/Border[0 0 0]/H/N>> -endobj - -39217 0 obj -<>/P 2636 0 R/Type/Annot/A 39323 0 R/Subtype/Link/Rect[425 400 439 407]/Border[0 0 0]/H/N>> -endobj - -39218 0 obj -<>/P 2636 0 R/Type/Annot/A 39314 0 R/Subtype/Link/Rect[441 400 453 407]/Border[0 0 0]/H/N>> -endobj - -39219 0 obj -<>/P 2636 0 R/Type/Annot/A 39306 0 R/Subtype/Link/Rect[398 390 406 397]/Border[0 0 0]/H/N>> -endobj - -39220 0 obj -<>/P 2636 0 R/Type/Annot/A 39297 0 R/Subtype/Link/Rect[415 380 421 387]/Border[0 0 0]/H/N>> -endobj - -39221 0 obj -<>/P 2636 0 R/Type/Annot/A 39287 0 R/Subtype/Link/Rect[423 380 429 387]/Border[0 0 0]/H/N>> -endobj - -39222 0 obj -<>/P 2636 0 R/Type/Annot/A 39321 0 R/Subtype/Link/Rect[431 380 448 388]/Border[0 0 0]/H/N>> -endobj - -39223 0 obj -<>/P 2636 0 R/Type/Annot/A 39310 0 R/Subtype/Link/Rect[448 380 462 387]/Border[0 0 0]/H/N>> -endobj - -39224 0 obj -<>/P 2636 0 R/Type/Annot/A 39303 0 R/Subtype/Link/Rect[464 380 478 387]/Border[0 0 0]/H/N>> -endobj - -39225 0 obj -<>/P 2636 0 R/Type/Annot/A 44713 0 R/Subtype/Link/Rect[480 380 494 387]/Border[0 0 0]/H/N>> -endobj - -39226 0 obj -<>/P 2636 0 R/Type/Annot/A 44511 0 R/Subtype/Link/Rect[496 380 510 387]/Border[0 0 0]/H/N>> -endobj - -39227 0 obj -<>/P 2636 0 R/Type/Annot/A 39317 0 R/Subtype/Link/Rect[359 370 371 377]/Border[0 0 0]/H/N>> -endobj - -39228 0 obj -<>/P 2636 0 R/Type/Annot/A 44626 0 R/Subtype/Link/Rect[398 360 410 367]/Border[0 0 0]/H/N>> -endobj - -39229 0 obj -<>/P 2636 0 R/Type/Annot/A 39298 0 R/Subtype/Link/Rect[415 350 429 357]/Border[0 0 0]/H/N>> -endobj - -39230 0 obj -<>/P 2636 0 R/Type/Annot/A 39289 0 R/Subtype/Link/Rect[431 350 443 357]/Border[0 0 0]/H/N>> -endobj - -39231 0 obj -<>/P 2636 0 R/Type/Annot/A 44506 0 R/Subtype/Link/Rect[398 340 410 347]/Border[0 0 0]/H/N>> -endobj - -39232 0 obj -<>/P 2636 0 R/Type/Annot/A 44806 0 R/Subtype/Link/Rect[406 330 416 338]/Border[0 0 0]/H/N>> -endobj - -39233 0 obj -<>/P 2636 0 R/Type/Annot/A 39300 0 R/Subtype/Link/Rect[418 330 428 337]/Border[0 0 0]/H/N>> -endobj - -39234 0 obj -<>/P 2636 0 R/Type/Annot/A 39290 0 R/Subtype/Link/Rect[430 330 447 338]/Border[0 0 0]/H/N>> -endobj - -39235 0 obj -<>/P 2636 0 R/Type/Annot/A 39283 0 R/Subtype/Link/Rect[448 330 462 337]/Border[0 0 0]/H/N>> -endobj - -39236 0 obj -<>/P 2636 0 R/Type/Annot/A 44332 0 R/Subtype/Link/Rect[464 330 480 338]/Border[0 0 0]/H/N>> -endobj - -39237 0 obj -<>/P 2636 0 R/Type/Annot/A 39301 0 R/Subtype/Link/Rect[481 330 495 338]/Border[0 0 0]/H/N>> -endobj - -39238 0 obj -<>/P 2636 0 R/Type/Annot/A 39291 0 R/Subtype/Link/Rect[497 330 509 338]/Border[0 0 0]/H/N>> -endobj - -39239 0 obj -<>/P 2636 0 R/Type/Annot/A 39318 0 R/Subtype/Link/Rect[463 320 475 328]/Border[0 0 0]/H/N>> -endobj - -39240 0 obj -<>/P 2636 0 R/Type/Annot/A 39308 0 R/Subtype/Link/Rect[406 310 416 318]/Border[0 0 0]/H/N>> -endobj - -39241 0 obj -<>/P 2636 0 R/Type/Annot/A 44298 0 R/Subtype/Link/Rect[418 310 434 318]/Border[0 0 0]/H/N>> -endobj - -39242 0 obj -<>/P 2636 0 R/Type/Annot/A 44714 0 R/Subtype/Link/Rect[435 310 449 318]/Border[0 0 0]/H/N>> -endobj - -39243 0 obj -<>/P 2636 0 R/Type/Annot/A 39281 0 R/Subtype/Link/Rect[451 310 465 318]/Border[0 0 0]/H/N>> -endobj - -39244 0 obj -<>/P 2636 0 R/Type/Annot/A 39307 0 R/Subtype/Link/Rect[467 310 479 318]/Border[0 0 0]/H/N>> -endobj - -39245 0 obj -<>/P 2636 0 R/Type/Annot/A 44300 0 R/Subtype/Link/Rect[397 300 409 308]/Border[0 0 0]/H/N>> -endobj - -39246 0 obj -<>/P 2636 0 R/Type/Annot/A 39285 0 R/Subtype/Link/Rect[417 290 434 298]/Border[0 0 0]/H/N>> -endobj - -39247 0 obj -<>/P 2636 0 R/Type/Annot/A 44075 0 R/Subtype/Link/Rect[435 290 447 298]/Border[0 0 0]/H/N>> -endobj - -39248 0 obj -<>/P 2636 0 R/Type/Annot/A 43877 0 R/Subtype/Link/Rect[420 280 437 288]/Border[0 0 0]/H/N>> -endobj - -39249 0 obj -<>/P 2636 0 R/Type/Annot/A 43841 0 R/Subtype/Link/Rect[437 280 451 288]/Border[0 0 0]/H/N>> -endobj - -39250 0 obj -<>/P 2636 0 R/Type/Annot/A 44110 0 R/Subtype/Link/Rect[453 280 467 288]/Border[0 0 0]/H/N>> -endobj - -39251 0 obj -<>/P 2636 0 R/Type/Annot/A 43774 0 R/Subtype/Link/Rect[469 280 483 288]/Border[0 0 0]/H/N>> -endobj - -39252 0 obj -<>/P 2636 0 R/Type/Annot/A 43876 0 R/Subtype/Link/Rect[485 280 497 288]/Border[0 0 0]/H/N>> -endobj - -39253 0 obj -<>/P 2636 0 R/Type/Annot/A 43698 0 R/Subtype/Link/Rect[398 270 410 278]/Border[0 0 0]/H/N>> -endobj - -39254 0 obj -<>/P 2636 0 R/Type/Annot/A 44096 0 R/Subtype/Link/Rect[439 260 453 268]/Border[0 0 0]/H/N>> -endobj - -39255 0 obj -<>/P 2636 0 R/Type/Annot/A 43910 0 R/Subtype/Link/Rect[455 260 467 268]/Border[0 0 0]/H/N>> -endobj - -39256 0 obj -<>/P 2636 0 R/Type/Annot/A 39316 0 R/Subtype/Link/Rect[398 250 410 258]/Border[0 0 0]/H/N>> -endobj - -39257 0 obj -<>/P 2636 0 R/Type/Annot/A 44674 0 R/Subtype/Link/Rect[412 240 429 248]/Border[0 0 0]/H/N>> -endobj - -39258 0 obj -<>/P 2636 0 R/Type/Annot/A 39293 0 R/Subtype/Link/Rect[430 240 444 248]/Border[0 0 0]/H/N>> -endobj - -39259 0 obj -<>/P 2636 0 R/Type/Annot/A 44166 0 R/Subtype/Link/Rect[446 240 460 248]/Border[0 0 0]/H/N>> -endobj - -39260 0 obj -<>/P 2636 0 R/Type/Annot/A 44118 0 R/Subtype/Link/Rect[462 240 474 248]/Border[0 0 0]/H/N>> -endobj - -39261 0 obj -<>/P 2636 0 R/Type/Annot/A 43524 0 R/Subtype/Link/Rect[415 230 432 238]/Border[0 0 0]/H/N>> -endobj - -39262 0 obj -<>/P 2636 0 R/Type/Annot/A 39309 0 R/Subtype/Link/Rect[432 230 446 238]/Border[0 0 0]/H/N>> -endobj - -39263 0 obj -<>/P 2636 0 R/Type/Annot/A 43585 0 R/Subtype/Link/Rect[448 230 462 238]/Border[0 0 0]/H/N>> -endobj - -39264 0 obj -<>/P 2636 0 R/Type/Annot/A 44623 0 R/Subtype/Link/Rect[464 230 476 238]/Border[0 0 0]/H/N>> -endobj - -39265 0 obj -<>/P 2636 0 R/Type/Annot/A 39340 0 R/Subtype/Link/Rect[398 220 410 228]/Border[0 0 0]/H/N>> -endobj - -39266 0 obj -<>/P 2636 0 R/Type/Annot/A 39295 0 R/Subtype/Link/Rect[430 210 444 218]/Border[0 0 0]/H/N>> -endobj - -39267 0 obj -<>/P 2636 0 R/Type/Annot/A 43831 0 R/Subtype/Link/Rect[446 210 460 218]/Border[0 0 0]/H/N>> -endobj - -39268 0 obj -<>/P 2636 0 R/Type/Annot/A 43519 0 R/Subtype/Link/Rect[462 210 474 218]/Border[0 0 0]/H/N>> -endobj - -39269 0 obj -<>/P 2636 0 R/Type/Annot/A 43467 0 R/Subtype/Link/Rect[398 200 410 208]/Border[0 0 0]/H/N>> -endobj - -39270 0 obj -<>/P 2636 0 R/Type/Annot/A 43699 0 R/Subtype/Link/Rect[406 190 420 198]/Border[0 0 0]/H/N>> -endobj - -39271 0 obj -<>/P 2636 0 R/Type/Annot/A 44161 0 R/Subtype/Link/Rect[422 190 436 198]/Border[0 0 0]/H/N>> -endobj - -39272 0 obj -<>/P 2636 0 R/Type/Annot/A 43605 0 R/Subtype/Link/Rect[438 190 450 198]/Border[0 0 0]/H/N>> -endobj - -39273 0 obj -<>/P 2636 0 R/Type/Annot/A 44564 0 R/Subtype/Link/Rect[391 180 399 188]/Border[0 0 0]/H/N>> -endobj - -39274 0 obj -<>/P 2636 0 R/Type/Annot/A 42984 0 R/Subtype/Link/Rect[454 170 464 178]/Border[0 0 0]/H/N>> -endobj - -39275 0 obj -<>/P 2636 0 R/Type/Annot/A 44571 0 R/Subtype/Link/Rect[466 170 476 178]/Border[0 0 0]/H/N>> -endobj - -39276 0 obj -<>/P 2636 0 R/Type/Annot/A 39347 0 R/Subtype/Link/Rect[478 170 486 178]/Border[0 0 0]/H/N>> -endobj - -39277 0 obj -<>/P 2636 0 R/Type/Annot/A 44233 0 R/Subtype/Link/Rect[457 160 468 168]/Border[0 0 0]/H/N>> -endobj - -39278 0 obj -<>/P 2636 0 R/Type/Annot/A 44177 0 R/Subtype/Link/Rect[388 150 402 158]/Border[0 0 0]/H/N>> -endobj - -39279 0 obj -<>/P 2636 0 R/Type/Annot/A 42918 0 R/Subtype/Link/Rect[404 150 416 158]/Border[0 0 0]/H/N>> -endobj - -39280 0 obj -<>/P 2636 0 R/Type/Annot/A 42635 0 R/Subtype/Link/Rect[171 388 188 397]/Border[0 0 0]/H/N>> -endobj - -39281 0 obj -<> -endobj - -39282 0 obj -<> -endobj - -39283 0 obj -<> -endobj - -39284 0 obj -<> -endobj - -39285 0 obj -<> -endobj - -39286 0 obj -<> -endobj - -39287 0 obj -<> -endobj - -39288 0 obj -<> -endobj - -39289 0 obj -<> -endobj - -39290 0 obj -<> -endobj - -39291 0 obj -<> -endobj - -39292 0 obj -<> -endobj - -39293 0 obj -<> -endobj - -39294 0 obj -<> -endobj - -39295 0 obj -<> -endobj - -39296 0 obj -<> -endobj - -39297 0 obj -<> -endobj - -39298 0 obj -<> -endobj - -39299 0 obj -<> -endobj - -39300 0 obj -<> -endobj - -39301 0 obj -<> -endobj - -39302 0 obj -<> -endobj - -39303 0 obj -<> -endobj - -39304 0 obj -<> -endobj - -39305 0 obj -<> -endobj - -39306 0 obj -<> -endobj - -39307 0 obj -<> -endobj - -39308 0 obj -<> -endobj - -39309 0 obj -<> -endobj - -39310 0 obj -<> -endobj - -39311 0 obj -<> -endobj - -39312 0 obj -<> -endobj - -39313 0 obj -<> -endobj - -39314 0 obj -<> -endobj - -39315 0 obj -<> -endobj - -39316 0 obj -<> -endobj - -39317 0 obj -<> -endobj - -39318 0 obj -<> -endobj - -39319 0 obj -<> -endobj - -39320 0 obj -<> -endobj - -39321 0 obj -<> -endobj - -39322 0 obj -<> -endobj - -39323 0 obj -<> -endobj - -39324 0 obj -<> -endobj - -39325 0 obj -<> -endobj - -39326 0 obj -<> -endobj - -39327 0 obj -<> -endobj - -39328 0 obj -<> -endobj - -39329 0 obj -<> -endobj - -39330 0 obj -<> -endobj - -39331 0 obj -<> -endobj - -39332 0 obj -<> -endobj - -39333 0 obj -<> -endobj - -39334 0 obj -<> -endobj - -39335 0 obj -<> -endobj - -39336 0 obj -<> -endobj - -39337 0 obj -<> -endobj - -39338 0 obj -<> -endobj - -39339 0 obj -<> -endobj - -39340 0 obj -<> -endobj - -39341 0 obj -<> -endobj - -39342 0 obj -<> -endobj - -39343 0 obj -<> -endobj - -39344 0 obj -<> -endobj - -39345 0 obj -<> -endobj - -39346 0 obj -<> -endobj - -39347 0 obj -<> -endobj - -39348 0 obj -<> -endobj - -39349 0 obj -<> -endobj - -39350 0 obj -<> -endobj - -39351 0 obj -<> -endobj - -39352 0 obj -<> -endobj - -39353 0 obj -<> -endobj - -39354 0 obj -<> -endobj - -39355 0 obj -<> -endobj - -39356 0 obj -<> -endobj - -39357 0 obj -<> -endobj - -39358 0 obj -<> -endobj - -39359 0 obj -<> -endobj - -39360 0 obj -<> -endobj - -39361 0 obj -<> -endobj - -39362 0 obj -<> -endobj - -39363 0 obj -<> -endobj - -39364 0 obj -<> -endobj - -39365 0 obj -<> -endobj - -39366 0 obj -<> -endobj - -39367 0 obj -<> -endobj - -39368 0 obj -<> -endobj - -39369 0 obj -<> -endobj - -39370 0 obj -<> -endobj - -39371 0 obj -<> -endobj - -39372 0 obj -<> -endobj - -39373 0 obj -<> -endobj - -39374 0 obj -<> -endobj - -39375 0 obj -<> -endobj - -39376 0 obj -<> -endobj - -39377 0 obj -<> -endobj - -39378 0 obj -<> -endobj - -39379 0 obj -<> -endobj - -39380 0 obj -<> -endobj - -39381 0 obj -<> -endobj - -39382 0 obj -<> -endobj - -39383 0 obj -<> -endobj - -39384 0 obj -<> -endobj - -39385 0 obj -<> -endobj - -39386 0 obj -<> -endobj - -39387 0 obj -<> -endobj - -39388 0 obj -<> -endobj - -39389 0 obj -<> -endobj - -39390 0 obj -<> -endobj - -39391 0 obj -<> -endobj - -39392 0 obj -<> -endobj - -39393 0 obj -<> -endobj - -39394 0 obj -<> -endobj - -39395 0 obj -<> -endobj - -39396 0 obj -<> -endobj - -39397 0 obj -<> -endobj - -39398 0 obj -<> -endobj - -39399 0 obj -<> -endobj - -39400 0 obj -<> -endobj - -39401 0 obj -<> -endobj - -39402 0 obj -<> -endobj - -39403 0 obj -<> -endobj - -39404 0 obj -<> -endobj - -39405 0 obj -<> -endobj - -39406 0 obj -<> -endobj - -39407 0 obj -<> -endobj - -39408 0 obj -<> -endobj - -39409 0 obj -<> -endobj - -39410 0 obj -<> -endobj - -39411 0 obj -<> -endobj - -39412 0 obj -<> -endobj - -39413 0 obj -<> -endobj - -39414 0 obj -<> -endobj - -39415 0 obj -<> -endobj - -39416 0 obj -<> -endobj - -39417 0 obj -<> -endobj - -39418 0 obj -<> -endobj - -39419 0 obj -<> -endobj - -39420 0 obj -<> -endobj - -39421 0 obj -<> -endobj - -39422 0 obj -<> -endobj - -39423 0 obj -<> -endobj - -39424 0 obj -<> -endobj - -39425 0 obj -<> -endobj - -39426 0 obj -<> -endobj - -39427 0 obj -<> -endobj - -39428 0 obj -<> -endobj - -39429 0 obj -<> -endobj - -39430 0 obj -<> -endobj - -39431 0 obj -<> -endobj - -39432 0 obj -<> -endobj - -39433 0 obj -<> -endobj - -39434 0 obj -<> -endobj - -39435 0 obj -<> -endobj - -39436 0 obj -<> -endobj - -39437 0 obj -<> -endobj - -39438 0 obj -<> -endobj - -39439 0 obj -<> -endobj - -39440 0 obj -<> -endobj - -39441 0 obj -<> -endobj - -39442 0 obj -<> -endobj - -39443 0 obj -<> -endobj - -39444 0 obj -<> -endobj - -39445 0 obj -<> -endobj - -39446 0 obj -<> -endobj - -39447 0 obj -<> -endobj - -39448 0 obj -<> -endobj - -39449 0 obj -<> -endobj - -39450 0 obj -<> -endobj - -39451 0 obj -<> -endobj - -39452 0 obj -<> -endobj - -39453 0 obj -<> -endobj - -39454 0 obj -<> -endobj - -39455 0 obj -<> -endobj - -39456 0 obj -<> -endobj - -39457 0 obj -<> -endobj - -39458 0 obj -<> -endobj - -39459 0 obj -<> -endobj - -39460 0 obj -<> -endobj - -39461 0 obj -<> -endobj - -39462 0 obj -<> -endobj - -39463 0 obj -<> -endobj - -39464 0 obj -<> -endobj - -39465 0 obj -<> -endobj - -39466 0 obj -<> -endobj - -39467 0 obj -<> -endobj - -39468 0 obj -<> -endobj - -39469 0 obj -<> -endobj - -39470 0 obj -<> -endobj - -39471 0 obj -<> -endobj - -39472 0 obj -<> -endobj - -39473 0 obj -<> -endobj - -39474 0 obj -<> -endobj - -39475 0 obj -<> -endobj - -39476 0 obj -<> -endobj - -39477 0 obj -<> -endobj - -39478 0 obj -<> -endobj - -39479 0 obj -<> -endobj - -39480 0 obj -<> -endobj - -39481 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -39482 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -39483 0 obj -<> -endobj - -39484 0 obj -<> -endobj - -39485 0 obj -<> -endobj - -39486 0 obj -<> -endobj - -39487 0 obj -<> -endobj - -39488 0 obj -<> -endobj - -39489 0 obj -<> -endobj - -39490 0 obj -<> -endobj - -39491 0 obj -<> -endobj - -39492 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -39493 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -39494 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -39495 0 obj -<> -stream -HWko6_퇅\8cC&uд, Q:#9&NKItĢ^>oeۓ/޽|E/^>FLRV%Q)'Y*H%!b"ſOekjZ.\qE/VŊ ->*`$KrG^USg\%1K(ޯBǕ\L\=K6TfF^d4)3WHs䉰H[r>!"\A$7}Td `]E9E)<KD@1 -1`1<̰31`qD=sD= D D DKD KD +D -+D -+D -ԧ4P"@}> g,P#@} 1# +TcB\c1 -a!rĵ>fXq q>p-G\c\a!rĵ>fXq q>p-G\c\>k}̰B>,ĵ>fXz3P q>p@\c\+a! -ĵ>fXq q>p@\c\+a! -ĵ>fXq# +TcB\c1 -a!Jĵ>fXq q>pD\c\+a!Jĵ>fXq q>pD\c\+>Rk}̰B>,ĵ>fXz3P}A$zXE+v+#(g -MI~2rL^wo޶k%xT1XTV6*9MMkÂXmdeMدզKIL4ilml=cyܬuO>P2i"47/ՉRLr^"6OzpP wr9>߄df 设\4Xd'γ)83.rI (|(+ 3{+{ݺ6SHh>[z}n 7^UST}N]Pɸȣ \, O3XYYFt\ǐq&FUUuPzs~<l*HّfkxZ0caLPa=obH{og7g9Iz{zj|woacnoLWMw!#±$ѡӝxd%kčA_eN[bKo/pngYw71՟&f<ǹ%Ow8c4>):[k/V(1|=i vKhl4_6W=0Ci"೘iK!cjm -cRÖe.0 X6k֋bgn>e'S2ER?>r4/,<7=~Qly}R8:c~Nݑ#F晴Y+3RGBŃ/?=F=%hcSy -<\aBd$":'AwZ"Fav&)z5j`Y1yu~L"Q6pæZMT1X7RF>C zS+@πzq -MmlV Ar#DR/(e.x IB(bF-vfq3q.~Xn{V+\VwCsLĈ g ``'\@Y/e~yR~ܠ_Y |~4P Dc)4I=oroliynݬftWkM}+Uf>a Rp'$#+hǙA ݛ;m#U%Oâ|*ejSeŬVR֎HRm٘elr# QE&ԓb&fH5E,]r0e3չw)LG֯ݴMr(/Kaog㦁eON돾쑑ÅW?:ņ|lYO/*K*gL$V2{?ep0yaGXԖ@Z>G+^{Jw m~,xZ l/5pDrnܗ $0O>V;ëy˝[@^gZWDvmcٺ嫯յ`OYt *wOj7j1 BȢ䞶yR*`W0HG@k>Js"I[fCq)JY1rޤFK3dh#_GB`|w综e7wwo907닠">gfuu*~5Pv'Njhendstream -endobj - -39496 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -39497 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -39498 0 obj -<> -endobj - -39499 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -39500 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -39501 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -39502 0 obj -<> -stream -H4;0=+ %B0EBi:$@@YFgqy DG&Ŭa=Bk]vz_4uS$!1e6/3n'OA,endstream -endobj - -39503 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -39504 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -39505 0 obj -<> -endobj - -39506 0 obj -<> -endobj - -39507 0 obj -<> -endobj - -39508 0 obj -<> -endobj - -39509 0 obj -<> -endobj - -39510 0 obj -<> -endobj - -39511 0 obj -<> -endobj - -39512 0 obj -<> -endobj - -39513 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -39514 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -39515 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -39516 0 obj -<> -stream -HWaoNa )irwIwI֥N8yHte+$ z)E{cbY̒<U&zEr ^Vuu7ͪ}ǓW -9ؙM͠3﯌t-=#I >fz: IYU{jtUltvS.Fr0X<3"tqVcV:6(Z_IуE :ӉyeYѷrϜώ?YM|+~tg~=>?]ZK 6jInAOce zO^>pw_-%>SF)MK=&YY'q SU \UY_U˻#3ZLNM;}q)]O뀭/ZBFD9 N8/'팃MU=$4?=;3wGS(f\љ [?9~ys\P 5N.3 13+#blĜ>iO_eCڡY跔ͪ4;zmg?ѡAU0EjxE=)jY0E!l763yk=!v*P[G1ls4w㓣`z~G3~;9yҦc?6[c/]=kBqynzv3|qrߜ?6q6϶ ބ^=o7y(ӛvON?=9=zSBΪPgMWaKsEhwjFglո)'Oh7*GG>ݓַv45Wo'#kfl~LdVwqYN %cis} }y>in;tbf~dX⩓֬wbץMcT/ ]Ohѭvn{R_d¯WX_{}y֦vZ]56Il+f:UNHlwŕcy5>%򛧫)yjg&tЍ JmjokS˵ed@_I7'={solLӤ}AZbKiy啖Z^i%@+QZ JV -RTie@+SZʔVhVhVr\jQcKbZ#V bXiYeZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ#ȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘT=ȽĘ$F,{1 h{{1 h{{1 h{{1 h{{1 h{{1 h{{1 h{{1 h{{1 h' c֒@%,y~A=Ӡ:"C!=67ήTsbXѻDjwuYg_fYW3[0 'zӪendstream -endobj - -39517 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -39518 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -39519 0 obj -<> -endobj - -39520 0 obj -<> -endobj - -39521 0 obj -<> -endobj - -39522 0 obj -<> -endobj - -39523 0 obj -<> -endobj - -39524 0 obj -<> -endobj - -39525 0 obj -<> -endobj - -39526 0 obj -<> -endobj - -39527 0 obj -<> -endobj - -39528 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -39529 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -39530 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -39531 0 obj -<> -stream -HWmH_њ՝j14 -gƐ8Nnud<5BR]]v2>vٳ/2__&$ڥ:hMsܦިN$SWVJN?֫^ܬ6]w]P]93jJ_XUuI -QSYur>9fӪ㳉Rmwqalad\iW&-׷mӁ}Yo]AWU=bĦFP:S:JSRV: X%gI$'0ά qXr;E֒0by޵9Y7½po{+[ -½p{'{ ½ppp_p_p_p_p_p ^tVrlZKXdrX=Lj%s,@k9F,^րrXhXdrXh{ZZ˱{ZZ1bcZ1bcEk h-։{Eh-Lj%sX=" cEk-h-Lj܋ZZEh-Lj܋ZZ ,Z #p/ZkAk9Y#p/ZkAk9F,^ւrl8ZKXdrX=Lj%s,@k9F,^ցrXhXdrXh{ZZ˱{ZZ1bcZ1bcEkh-։{Eh-Lj%sX@:|!ں2 N` -r@ -@ hB+Z*V! -UhBZ -@+2hXZZhiZFh%ro@9v,r1b-{rϱ6f -{ h{1KhsX@Kހs8:Y\˂sXRc4-{ r1wȽ 2@Kނs%roA9F# - h[{D-=hZ"c4V-{ r1+Lj%8Fw h;{(D=hZ"ctZ"ctZ"ct|Z"ct|Z"ct0Z"ct0Z#Ƚi,rN^TiU9Uu >UCGUdK.VZondZ}tW?ݤ?>z[f (L妻XϷfŦzީG]7q$ч}ujEOն].ls+[״ђ2/5\2_tfQQżU_i˟*i+u=o۪Gh8=&ͥetpӲO?Vn6UTw0i!;HE]ONMw2>YB1?֧ WF,'cj[C;ƥsŻ~c{X_SD4lK&{X}j6e -e65b &?>}`_W괄Қ6.tnOg]JӚ6vAo?< Ǽ65lCZCcqz=oڦej뮎6_8RgVl:@ |^DP{]?|p6]=|(ZsgZ٫*Ms+r@ -@ -ʁV.r hBZ*V)JU - -@+p-I-Kjq,4BK-- 2B-{r1b-{r1b-{r1b-{r1b-{r1b-{r1b-{r1b-{ r1bI-E=LjD-=LjD-=LjD-=LjD-=LjD-=LjD-=LjD-=LjD-=LjD=Lj%8Y #w #w #w #w #w #w #w #w # #XdsXR+!7/aEV)ˤRܔ0?nn|I៖YiuiQz? |M]n馺lvۏOҨjweS?~dY[m7a2,8Ef8M;owq(:[9\𦿖%]^w"z[^4m-3;*;emS#~{2c>-L3'MlrV̎Ԗcɫh}@B: #3j#;B`Y%`ǒ{e$®p3 -6͕ gQ#zM.jF`25eoŮٴ,3nIu]pBjrF| lb]u˽!g&}(mn`(Q|wËkrG?wCSo#tCrtY|kw~ûej&URS:޿EZ{|VN0+z)Eyر +PU*5qBONf[ ^~aU׍ B&[ 歊f<&JĉM֐n !r̆~tRXc6&%@GgWs7|!cp[$MQú>7/)FktfMK \8+ﶊKSq(i//ox{ѩ87nX[tthDЋx05y0LȎ]9#*F\!I@# x|c,~̕* V)a*f ߀endstream -endobj - -39532 0 obj -<>/P 894 0 R/Type/Annot/A 39533 0 R/Subtype/Link/Rect[93.6004028 257.72699 258.937012 277.407013]/Border[0 0 0]/H/N>> -endobj - -39533 0 obj -<> -endobj - -39534 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -39535 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -39536 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -39537 0 obj -<> -stream -HWko8_22C`m'3l@RRRf+R׳(RQLJ=şšc?|կ,b/53DXC|fu@7f}5;T﷒=Up_%l$b9aLF[탻\wUSGȸX|YȌR+ZВGCP\/V@Όqi^uSWbgc|l6eSmqpEzF -\4<{{dG&"F/۰ W 1eyz ]Nsr#"\ Y~8>,Wx$KO$KO"+O"+O"+O&kO&kO}L=1>DŽSO}BO<)>ԧSSO}F<>S= -´.$ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%ZZCs$\b"{k]l(µ.,_p!Wbջ׺kZCs"\b"\b"{Uk] Yzϵpp!PVu1d=*µ.,µ.,BZEŐE\׺>Єk] YzZCŐw1`u1d=jµ.,BZMŀEŐE\ ׺k5ZZCs&\b"{Մk] Xk] Yzϵp!PVu}u1d] Xk] YzC>ykYsޭ*`@D=%IV.-{y`7BBdat(Egbk_V@ dc잋]тJ31iZhԥmn;*,]cqM/}ؽ -Ȝ'QWq3ʹ"9ƅHvۼ6}Yk-8 <8/]?rU}o}wj s!p#:e(HYDP%wHS߫Guk:I%k=[,Eg姰$j.Pt&^q6yt/ƺ9gsS={Qj`ִX<]t"fU;ghm//4˶5S~j8x-pI6G3>N ,-tPt0Ua/NH4N6v/x#dJ,J)|_B//h3 Î$!lIPbo8އD>w3;p2s35zî2ݮCd- QÕ%Q듈~7)x ϒ/`396%uKo%\G!л!}x[CxXڗG/k=>ΆsGޕKnꮨꖡCZn)GEr} fG-2PBhvOSXy,F?asYĿWf4 )Y]FuS+(ꏝ*Cce(_aGlu'9m -<v.jS)6lHJKGwۍ3v^{PӴa6ia&SO0)x:Dƞ0 .,b1qþj_dU#5t —5|=Ngzv-Ov lƭOSIϥm۫`{Sti>P<ی=;dStdUu٢ng=y6vxlvhYDw3x[oCL-|{w0_ؗb =Ofr e\s,EtR͗,xyri_yÒΫ ~3t92HKv'͒\ysu˅_"+|F]]QKHvɊz>+Ý" 5ƬjiQlE<~7;`'vf5 VOmG8|17 ?N/C6M tu<#rS<G+H]8lB^F{)v -Ihፉ9 Z4?`6(wExl\:`Bl{ի]&~KQ'|ٱ^kHӫ{!u-SFE#F/ht#q tse(؎V\B$H~7/DMœhQqGZ٣E+n? " -Mڛ((7F\2/ͤa]F\k&DN.u_,/еēi)J?`p} -_vݎ%ibFb& X'}= m>މOQ>ō -EoC}g1 ~_Z𪖳[wkmEv&bѾJA&A\'A_BUcӸ*-XX6Mw%3ECwdێFJus;9iXKش*g7nѬ 6alm:`gK\{<^0s4NQ)U(\Q S%ԯԻw U_չBnUr/+2j=F3D;D2;'˼$A]<[U$3a1gD? ;%eqR|BW?}? 3endstream -endobj - -39538 0 obj -<>/P 1368 0 R/Type/Annot/A 41859 0 R/Subtype/Link/Rect[93.6003036 525.22998 246.287994 544.909973]/Border[0 0 0]/H/N>> -endobj - -39539 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -39540 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -39541 0 obj -<> -endobj - -39542 0 obj -<> -endobj - -39543 0 obj -<> -endobj - -39544 0 obj -<> -endobj - -39545 0 obj -<> -endobj - -39546 0 obj -<> -endobj - -39547 0 obj -<> -endobj - -39548 0 obj -<> -endobj - -39549 0 obj -<> -endobj - -39550 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -39551 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -39552 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -39553 0 obj -<> -stream -HWo`O{Eh{9n`d&fOW}/EpHqfx9N<|觟~af9' 悠RМ4wzao~SC;SӨ4%~~?a0`R ^ =v ov+ ~+g<祰feJ?lsa`lĀxs~(K}-1rQpdLz]C5h0XNٓU*Ss/4'cHAxlh@(9ZaqRɝ-(3eiae!"R4z:hX}}xLWnu Z 8Aow.WĸDpS"zsG㹞tV|=q3 ~l3m`T+ܺӊ #KlmxujM9!Z b"Gu٣iN#v[먰2ʨZM x*dOULrZb}8۳H4vL}ҽ{i釛 Pus_N#2Ѩ 0=q ։8ҝI[P#<|*pӚ/{:,ׄCʭbS)CĹze'!CB$(6R[P1+ws?q+lš#0vw?=8!%|7`Ⱥ5jUnwQr.f#W1#y _Un@.x*8dccۮy%RCXqcGHk;a4+C+?&YwwZ^Y܂v);= ؜}T{eQa4"taa- ˤɜfibΘ +rXpo)EK %7pi_3Rf8M_BmD@~@{G&wfYkCc\`#3ڜ9K+ KFI%^[\8DY+U mM{ro/Yb cni$sMe^!?2[N3`u -l鬉ԭ|vs97Ln[ /ٛVgB/(HD.fpo5C2&V)&_wp5͉=@hq2:-mЦiY^B?5o]60/csi"H^12 Գ -tN)\ݶ,p|j$vbBaI^< 1uA\,zL@ٲ70vyp~닗ٓ e%Ou۪H7'(ԗ@$Α DPJXT -EG\7(`FL`QkY5JbRAQ0sі^ŷ}La _|I'|oe#\Gb:I]nZs$2(Gxc ۣPbrL:kE`pzeJEw:㾬WwWfTI~͜iQY\´|%*l%EH[CMcRw8˼ uIB}"79"Tt9*#}_WrB]6°Ym #)kt $u6)܊,"2վQ\*:^cuSRm4uudo ]j*_ߞ[!NKY  X]d6m|'W"Mޯ-b8Lw]EI4\qC\U!BaQXHR2m!0tɻhsþB<(~ĝ&]oLUqѿ`xMm<_{X#^C&b_JhEI>=>}y+x`endstream -endobj - -39554 0 obj -<>/P 943 0 R/Type/Annot/A 39559 0 R/Subtype/Link/Rect[130.078995 539.020996 221.744995 673.916016]/Border[0 0 0]/H/N>> -endobj - -39555 0 obj -<>/P 943 0 R/Type/Annot/A 39558 0 R/Subtype/Link/Rect[93.5999985 439.428009 199.356003 459.108002]/Border[0 0 0]/H/N>> -endobj - -39556 0 obj -<>/P 943 0 R/Type/Annot/A 39557 0 R/Subtype/Link/Rect[93.6001968 264.227997 230.951996 283.90799]/Border[0 0 0]/H/N>> -endobj - -39557 0 obj -<> -endobj - -39558 0 obj -<> -endobj - -39559 0 obj -<> -endobj - -39560 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -39561 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -39562 0 obj -<> -endobj - -39563 0 obj -<> -endobj - -39564 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -39565 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -39566 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -39567 0 obj -<> -stream -HWm6_^`ހ%+CŇHBkk,6fHJp!y~~m|MW"4U -KfbL\LI~MH49SռOдf]:4Oe0&VRnIJ+Lmi즦қW2㛌 ~y~k.Vt~Lۏp=Li)S7/Zو@? g‚vB~JS*x3xOyOJLfضIU\NǤBLc#@ Qt PBĨ@܅ɇ6@IK+++kkg,b쳈}F"9>Ҭ DD mه6@ mه6DCՆ6D#JB QHPmhІ(}ZI6!`V m"TET+ Ն6D#JB PjCj%І(}ZI6"Tm"Tmه6@ m"GUjCj(B QHPmhC>R"TE6!`V m"GUjCՆ6D#*B QHPmhkM6!*fE6!*fm"TET Ն6D#jB PjCj5І(}ZM6PmhC>R&TET Ն6@ m"GՄjCj5&І}hІ}hCT̾bUUÿUw&VRno߯懣ɢ00O0ih&?A箇~1Ng]jλ<܈rcFf8L4GVx mmvg*:1Z̃6tKdyAq+Y+`ZjA73="UyԟOF!]v+# Մ)0#/SNyx+Ż -pd+rs'B:SZ_B_^A*p>Tם{30[2Y̓>tӘ6]^l`Յ%x?*0:|@( -^ Ck)$`VqoԊ(sZBN - YPT9(d|V1itN6OL'ӅyrY Bݼd/Xu[vlϧۗHe臗#*8bglg&` -qYH{ - &BU\r_׭t~ƥ6/ZUr'7+ԯlRM[Ll|˪gHU >^0|˿]ݳ=z? wW<*y2üT~ r1]J&~^Rˀ9BY F긔Ρ|[:.$~oomcÏf2լxwWs]up${S ^&%UZ^g09bə&h[ewapM6j콬^7fJ Wo/#<,a~QtꟚ$IJ>:f6wj vg.O{&۟tz Jx^{[ϵa VC.aҹ KyK>;yDZWtdC igãX4kR:|Ú mC:k(LN=ƻY=8 k h' @+5 J|3Q67G+/LhxWO9B(\{ᇓ6tL;+ o\&cAJrVp8V<NRws)-!SvUzux-=[*q - -(D rhvݦ@ZZ[z-w%wo8DQH!f;/ h ^Fܡ'1h7\ J XW-.EY!c TOPE\q^vW7myA! ڮ鯫< 9ZG^L7rևQjLhR);͹g8yNxGE zVZqWd!"H @KCT-U+Azsb%!R’HEn Lz}B~n7̡EtW;If "&Mξ>.&Y\$ڏHUH+Ʈ6NjkAPN1R^At7gEiۜT?S\y }-eDGp'/3o ܃bT"56 xޔ%p$}ɯ3C a6.M-;92KV}h$,PlXF -GʿVp^|zڄPAͲM8JF/A՞~"RM)uIۆEXW R\*E<~)~/_J{>%Z_ER$pJ1<=mnꞄB|]pzS\eǓzMl4DulW*rP%=ٙOnXȴ9 +y:z}93ZFȇWC7wOUi۵fdrSj~ -Mz`g7=8_tTj!;wӇ?"!6DQ:yݦ߭kxZdT(-AQeonB3nX-)u/oښގp2MF 9Qe,v^2@ -g޺9A2?чnnV9caȚ -+1` );ĺI -}yNV;, kuKo>3/D2h k4jITpТmCib>|6PZbߎm ϩ"M:tdW xh&=Og] -9'= BX0X)/\mD>/P 627 0 R/Type/Annot/A 39569 0 R/Subtype/Link/Rect[93.6008987 294.428986 255.156006 314.108002]/Border[0 0 0]/H/N>> -endobj - -39569 0 obj -<> -endobj - -39570 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -39571 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -39572 0 obj -<> -endobj - -39573 0 obj -<> -endobj - -39574 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -39575 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -39576 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -39577 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -39578 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -39579 0 obj -<> -stream -HWnH}W (t/@`L63Gb Zm&x%yVQlJ.сDNW͎~}w7o.޽-W]Sjf*dΪHU]!XÊzQz,ݦMSYmq1+gbnI8 L[S*g͖~:}kz5ܖg~Vp@Η B`O] +ĜeX`RN9!2R!+Ob"g% J O1`IBKB+B+B+BkBkBBBB[B[B;B;B;B{B{BB}B}YA6Ŗ$\bէצr)\}pm!PVM1d3Jµ),µ),B}ZI6ŐE\+ צצk%C>s$\b"\b"gkS Y̵pm- E6ŐO1`M1dS YC>s"\b"gUkS XkS Y̵pm!PVM1`M1d3*µ),B}ZE6ŀE6ŐE\צk[pm!+Wb"\bէr),µ),B}ZM6ŐE\ צצk5C>s&\b"\b"gՄkS Y̵pmpm!PVM1d3jµ), CV>ŀE6ŐO1dCBЌÿeq1+g3E=2Yಘ\W0!yPGd^mwj7eg߳Og1KXQ6}iӥIbd)$ItLaK.&1K-iDF/»,dJ/aB ֱ_wiF/Hse^{}fyIhj~?eJ{9={e8<5OS4Sy1e̘2)ÔC{*Au5~9~~\ݰy2JKa!B;=&OS=:,(%3*GJo-\:B$|iq i`Qv)`~%JoqSV?=WjTn-(#1ڿ|_?3=j2ݯe~Ev^fVvqWo;Ze* =Ry.b#Ea}jutR1vte"ն^U@ȿ>fQ\~b >YugݦZF $Zkhʍ]%*QY;|X(eucFk6Ǚ6fqrWXmFs%t_pت?7lS ,U`MrBU|(Al2>ow?v99;}(}uw-#ENݻOl\g3\gurm}jK$v9. {W֮Eg'9'ZLlNjx]398 -Fns}`M}l^իZ럻_u4݀ -Ν'SH8AiT )&rڥH ue !\VR2GרR*I0>ʃ< -L` Hpy+`ߟq?ŗʀiSr|ScmZ5l}_z6BWza#od5+:AՏHnKMypC7VJ̑hX~@*DU%/ҵ||ܭS%n]auvlЍ{3*wJ8"{cgۇz.8BPp#g]RcP,*b=iei)}?$m/Bh?,"m0bXoXO ~(u"ajnv}?O!nI2B7+h>2jUY۰c^Ve>  -2Q_kt'?9|ծ a^UwU -KpXC/0~!QA9zęExud ߓR'[Թ>};4KL-Z%|Z//5. w?sˏ*3xzU]u6Å*9n/̑ \=75GyiTb^]>444Yp}\rϱ;CV[xXr/g}c=up߇x`Wf(MBTP\QPX?As۾ P1u8 -H>VՊ*[?4VWێG}W#ȲX"Z{e7p KXyA:NxiT)g!fU.d)7Tv~JL9& LloaɃ5F{fmR̔xLr\Zj5w9^2XXxW*┰є.iH%4wMES(]əkGQuYek@sȪm[w/!_xď5~B5^`S})Kbh5Y-Ϗa9Sa qfaۑGSFQ1u&U%:#BRZijѮ/Bnt99^>LF"tn.8b_I߲;%zX֋E)]rN8)YrwsB4t6+uND2biv|̵hYjy5D==]G4yx-h.^dw /r -j`w"ߚI|[H -!@9ur. s9:B#.=S,F ,ZϷ,8._kq0ZԳo=Ty^Nyn{Iga?|/rRI3*ƓJҚg^:%?',\CHgmiV`6{_:gvO:fp Be"6<ϲppPI$;Zϟ{a tƀʠiP`^ދk{0Y^5nk6*2~/ޡ@̃vnkj>+|wUɤ҅h -ܛURDba>[(jfPD0hТK=-VbE(kSn/{F7ذ,/zwV0[S.e;<:^%}T9!0?4g\2l;M߭W:Zۢf@Gfſc!jFCYcd L<<+2?i\㩓N_m tŶ){$iä'g[j80ai*EFz eNh`o# xPKU)2Fh˹\4竦:K9_y "lJ_QeBe~*:޼%DRm5)$}սUӝv|{*1ե4 ^G<_ͰX]{gn>kA Iuf)cia,z+'{Qa U?נhjR+C0}M0Yjܱdp4}{nn)bEB Tu]S|%1ð2m1fYrTKuqx<Ƴ| -A^%+Dlm-\|$VGq- 7.O񵻈y[b221*!?Bh\ww&` qendstream -endobj - -39580 0 obj -<>/P 2352 0 R/Type/Annot/A 40048 0 R/Subtype/Link/Rect[193 670 205 678]/Border[0 0 0]/H/N>> -endobj - -39581 0 obj -<>/P 2352 0 R/Type/Annot/A 40046 0 R/Subtype/Link/Rect[197 660 209 668]/Border[0 0 0]/H/N>> -endobj - -39582 0 obj -<>/P 2352 0 R/Type/Annot/A 40044 0 R/Subtype/Link/Rect[188 650 200 658]/Border[0 0 0]/H/N>> -endobj - -39583 0 obj -<>/P 2352 0 R/Type/Annot/A 40042 0 R/Subtype/Link/Rect[193 640 205 648]/Border[0 0 0]/H/N>> -endobj - -39584 0 obj -<>/P 2352 0 R/Type/Annot/A 40040 0 R/Subtype/Link/Rect[188 630 200 638]/Border[0 0 0]/H/N>> -endobj - -39585 0 obj -<>/P 2352 0 R/Type/Annot/A 40038 0 R/Subtype/Link/Rect[197 620 209 628]/Border[0 0 0]/H/N>> -endobj - -39586 0 obj -<>/P 2352 0 R/Type/Annot/A 40036 0 R/Subtype/Link/Rect[193 610 205 618]/Border[0 0 0]/H/N>> -endobj - -39587 0 obj -<>/P 2352 0 R/Type/Annot/A 40034 0 R/Subtype/Link/Rect[183 600 195 608]/Border[0 0 0]/H/N>> -endobj - -39588 0 obj -<>/P 2352 0 R/Type/Annot/A 40032 0 R/Subtype/Link/Rect[197 590 209 598]/Border[0 0 0]/H/N>> -endobj - -39589 0 obj -<>/P 2352 0 R/Type/Annot/A 40030 0 R/Subtype/Link/Rect[188 580 200 588]/Border[0 0 0]/H/N>> -endobj - -39590 0 obj -<>/P 2352 0 R/Type/Annot/A 40028 0 R/Subtype/Link/Rect[183 570 195 578]/Border[0 0 0]/H/N>> -endobj - -39591 0 obj -<>/P 2352 0 R/Type/Annot/A 40026 0 R/Subtype/Link/Rect[193 560 205 568]/Border[0 0 0]/H/N>> -endobj - -39592 0 obj -<>/P 2352 0 R/Type/Annot/A 40024 0 R/Subtype/Link/Rect[208 550 218 558]/Border[0 0 0]/H/N>> -endobj - -39593 0 obj -<>/P 2352 0 R/Type/Annot/A 40022 0 R/Subtype/Link/Rect[220 550 230 558]/Border[0 0 0]/H/N>> -endobj - -39594 0 obj -<>/P 2352 0 R/Type/Annot/A 40020 0 R/Subtype/Link/Rect[232 550 246 558]/Border[0 0 0]/H/N>> -endobj - -39595 0 obj -<>/P 2352 0 R/Type/Annot/A 40019 0 R/Subtype/Link/Rect[248 550 261 558]/Border[0 0 0]/H/N>> -endobj - -39596 0 obj -<>/P 2352 0 R/Type/Annot/A 40018 0 R/Subtype/Link/Rect[263 550 277 558]/Border[0 0 0]/H/N>> -endobj - -39597 0 obj -<>/P 2352 0 R/Type/Annot/A 40017 0 R/Subtype/Link/Rect[279 550 293 558]/Border[0 0 0]/H/N>> -endobj - -39598 0 obj -<>/P 2352 0 R/Type/Annot/A 40016 0 R/Subtype/Link/Rect[295 550 307 558]/Border[0 0 0]/H/N>> -endobj - -39599 0 obj -<>/P 2352 0 R/Type/Annot/A 40015 0 R/Subtype/Link/Rect[230 540 244 548]/Border[0 0 0]/H/N>> -endobj - -39600 0 obj -<>/P 2352 0 R/Type/Annot/A 40014 0 R/Subtype/Link/Rect[246 540 260 548]/Border[0 0 0]/H/N>> -endobj - -39601 0 obj -<>/P 2352 0 R/Type/Annot/A 40013 0 R/Subtype/Link/Rect[262 540 276 548]/Border[0 0 0]/H/N>> -endobj - -39602 0 obj -<>/P 2352 0 R/Type/Annot/A 40012 0 R/Subtype/Link/Rect[278 540 292 548]/Border[0 0 0]/H/N>> -endobj - -39603 0 obj -<>/P 2352 0 R/Type/Annot/A 40011 0 R/Subtype/Link/Rect[151 530 168 539]/Border[0 0 0]/H/N>> -endobj - -39604 0 obj -<>/P 2352 0 R/Type/Annot/A 40010 0 R/Subtype/Link/Rect[168 530 182 538]/Border[0 0 0]/H/N>> -endobj - -39605 0 obj -<>/P 2352 0 R/Type/Annot/A 40009 0 R/Subtype/Link/Rect[184 530 198 538]/Border[0 0 0]/H/N>> -endobj - -39606 0 obj -<>/P 2352 0 R/Type/Annot/A 40008 0 R/Subtype/Link/Rect[200 530 214 538]/Border[0 0 0]/H/N>> -endobj - -39607 0 obj -<>/P 2352 0 R/Type/Annot/A 40007 0 R/Subtype/Link/Rect[216 530 230 538]/Border[0 0 0]/H/N>> -endobj - -39608 0 obj -<>/P 2352 0 R/Type/Annot/A 40006 0 R/Subtype/Link/Rect[232 530 246 538]/Border[0 0 0]/H/N>> -endobj - -39609 0 obj -<>/P 2352 0 R/Type/Annot/A 40005 0 R/Subtype/Link/Rect[248 530 260 538]/Border[0 0 0]/H/N>> -endobj - -39610 0 obj -<>/P 2352 0 R/Type/Annot/A 40004 0 R/Subtype/Link/Rect[207 520 219 528]/Border[0 0 0]/H/N>> -endobj - -39611 0 obj -<>/P 2352 0 R/Type/Annot/A 40003 0 R/Subtype/Link/Rect[182 510 194 518]/Border[0 0 0]/H/N>> -endobj - -39612 0 obj -<>/P 2352 0 R/Type/Annot/A 40002 0 R/Subtype/Link/Rect[195 500 212 509]/Border[0 0 0]/H/N>> -endobj - -39613 0 obj -<>/P 2352 0 R/Type/Annot/A 40001 0 R/Subtype/Link/Rect[213 500 225 508]/Border[0 0 0]/H/N>> -endobj - -39614 0 obj -<>/P 2352 0 R/Type/Annot/A 40000 0 R/Subtype/Link/Rect[163 490 180 499]/Border[0 0 0]/H/N>> -endobj - -39615 0 obj -<>/P 2352 0 R/Type/Annot/A 39999 0 R/Subtype/Link/Rect[180 490 192 498]/Border[0 0 0]/H/N>> -endobj - -39616 0 obj -<>/P 2352 0 R/Type/Annot/A 39998 0 R/Subtype/Link/Rect[207 480 219 488]/Border[0 0 0]/H/N>> -endobj - -39617 0 obj -<>/P 2352 0 R/Type/Annot/A 39997 0 R/Subtype/Link/Rect[189 470 199 478]/Border[0 0 0]/H/N>> -endobj - -39618 0 obj -<>/P 2352 0 R/Type/Annot/A 39996 0 R/Subtype/Link/Rect[201 470 213 478]/Border[0 0 0]/H/N>> -endobj - -39619 0 obj -<>/P 2352 0 R/Type/Annot/A 39995 0 R/Subtype/Link/Rect[203 460 215 468]/Border[0 0 0]/H/N>> -endobj - -39620 0 obj -<>/P 2352 0 R/Type/Annot/A 39994 0 R/Subtype/Link/Rect[212 450 224 458]/Border[0 0 0]/H/N>> -endobj - -39621 0 obj -<>/P 2352 0 R/Type/Annot/A 39993 0 R/Subtype/Link/Rect[160 440 172 448]/Border[0 0 0]/H/N>> -endobj - -39622 0 obj -<>/P 2352 0 R/Type/Annot/A 39992 0 R/Subtype/Link/Rect[219 430 236 439]/Border[0 0 0]/H/N>> -endobj - -39623 0 obj -<>/P 2352 0 R/Type/Annot/A 39991 0 R/Subtype/Link/Rect[236 430 248 438]/Border[0 0 0]/H/N>> -endobj - -39624 0 obj -<>/P 2352 0 R/Type/Annot/A 39990 0 R/Subtype/Link/Rect[227 410 244 419]/Border[0 0 0]/H/N>> -endobj - -39625 0 obj -<>/P 2352 0 R/Type/Annot/A 39989 0 R/Subtype/Link/Rect[244 410 256 418]/Border[0 0 0]/H/N>> -endobj - -39626 0 obj -<>/P 2352 0 R/Type/Annot/A 39988 0 R/Subtype/Link/Rect[212 400 226 408]/Border[0 0 0]/H/N>> -endobj - -39627 0 obj -<>/P 2352 0 R/Type/Annot/A 39987 0 R/Subtype/Link/Rect[228 400 240 408]/Border[0 0 0]/H/N>> -endobj - -39628 0 obj -<>/P 2352 0 R/Type/Annot/A 39986 0 R/Subtype/Link/Rect[188 390 202 398]/Border[0 0 0]/H/N>> -endobj - -39629 0 obj -<>/P 2352 0 R/Type/Annot/A 39985 0 R/Subtype/Link/Rect[204 390 218 398]/Border[0 0 0]/H/N>> -endobj - -39630 0 obj -<>/P 2352 0 R/Type/Annot/A 39984 0 R/Subtype/Link/Rect[220 390 234 398]/Border[0 0 0]/H/N>> -endobj - -39631 0 obj -<>/P 2352 0 R/Type/Annot/A 39983 0 R/Subtype/Link/Rect[236 390 252 399]/Border[0 0 0]/H/N>> -endobj - -39632 0 obj -<>/P 2352 0 R/Type/Annot/A 39982 0 R/Subtype/Link/Rect[253 390 267 398]/Border[0 0 0]/H/N>> -endobj - -39633 0 obj -<>/P 2352 0 R/Type/Annot/A 39981 0 R/Subtype/Link/Rect[269 390 286 399]/Border[0 0 0]/H/N>> -endobj - -39634 0 obj -<>/P 2352 0 R/Type/Annot/A 39980 0 R/Subtype/Link/Rect[286 390 300 398]/Border[0 0 0]/H/N>> -endobj - -39635 0 obj -<>/P 2352 0 R/Type/Annot/A 39979 0 R/Subtype/Link/Rect[151 380 168 389]/Border[0 0 0]/H/N>> -endobj - -39636 0 obj -<>/P 2352 0 R/Type/Annot/A 39978 0 R/Subtype/Link/Rect[168 380 182 388]/Border[0 0 0]/H/N>> -endobj - -39637 0 obj -<>/P 2352 0 R/Type/Annot/A 39977 0 R/Subtype/Link/Rect[184 380 196 388]/Border[0 0 0]/H/N>> -endobj - -39638 0 obj -<>/P 2352 0 R/Type/Annot/A 39976 0 R/Subtype/Link/Rect[190 370 202 378]/Border[0 0 0]/H/N>> -endobj - -39639 0 obj -<>/P 2352 0 R/Type/Annot/A 39975 0 R/Subtype/Link/Rect[218 360 230 368]/Border[0 0 0]/H/N>> -endobj - -39640 0 obj -<>/P 2352 0 R/Type/Annot/A 39974 0 R/Subtype/Link/Rect[213 350 225 358]/Border[0 0 0]/H/N>> -endobj - -39641 0 obj -<>/P 2352 0 R/Type/Annot/A 39973 0 R/Subtype/Link/Rect[234 340 246 348]/Border[0 0 0]/H/N>> -endobj - -39642 0 obj -<>/P 2352 0 R/Type/Annot/A 39972 0 R/Subtype/Link/Rect[194 330 204 338]/Border[0 0 0]/H/N>> -endobj - -39643 0 obj -<>/P 2352 0 R/Type/Annot/A 39971 0 R/Subtype/Link/Rect[206 330 222 339]/Border[0 0 0]/H/N>> -endobj - -39644 0 obj -<>/P 2352 0 R/Type/Annot/A 39970 0 R/Subtype/Link/Rect[223 330 235 338]/Border[0 0 0]/H/N>> -endobj - -39645 0 obj -<>/P 2352 0 R/Type/Annot/A 39969 0 R/Subtype/Link/Rect[179 320 193 329]/Border[0 0 0]/H/N>> -endobj - -39646 0 obj -<>/P 2352 0 R/Type/Annot/A 39968 0 R/Subtype/Link/Rect[195 320 207 329]/Border[0 0 0]/H/N>> -endobj - -39647 0 obj -<>/P 2352 0 R/Type/Annot/A 39967 0 R/Subtype/Link/Rect[189 310 199 319]/Border[0 0 0]/H/N>> -endobj - -39648 0 obj -<>/P 2352 0 R/Type/Annot/A 39966 0 R/Subtype/Link/Rect[201 310 211 319]/Border[0 0 0]/H/N>> -endobj - -39649 0 obj -<>/P 2352 0 R/Type/Annot/A 39965 0 R/Subtype/Link/Rect[213 310 227 319]/Border[0 0 0]/H/N>> -endobj - -39650 0 obj -<>/P 2352 0 R/Type/Annot/A 39964 0 R/Subtype/Link/Rect[229 310 242 319]/Border[0 0 0]/H/N>> -endobj - -39651 0 obj -<>/P 2352 0 R/Type/Annot/A 39963 0 R/Subtype/Link/Rect[244 310 258 319]/Border[0 0 0]/H/N>> -endobj - -39652 0 obj -<>/P 2352 0 R/Type/Annot/A 39962 0 R/Subtype/Link/Rect[260 310 272 319]/Border[0 0 0]/H/N>> -endobj - -39653 0 obj -<>/P 2352 0 R/Type/Annot/A 39961 0 R/Subtype/Link/Rect[165 300 179 309]/Border[0 0 0]/H/N>> -endobj - -39654 0 obj -<>/P 2352 0 R/Type/Annot/A 39960 0 R/Subtype/Link/Rect[181 300 193 309]/Border[0 0 0]/H/N>> -endobj - -39655 0 obj -<>/P 2352 0 R/Type/Annot/A 39959 0 R/Subtype/Link/Rect[181 290 185 299]/Border[0 0 0]/H/N>> -endobj - -39656 0 obj -<>/P 2352 0 R/Type/Annot/A 39958 0 R/Subtype/Link/Rect[180 280 186 289]/Border[0 0 0]/H/N>> -endobj - -39657 0 obj -<>/P 2352 0 R/Type/Annot/A 39957 0 R/Subtype/Link/Rect[188 280 198 289]/Border[0 0 0]/H/N>> -endobj - -39658 0 obj -<>/P 2352 0 R/Type/Annot/A 39956 0 R/Subtype/Link/Rect[200 280 210 289]/Border[0 0 0]/H/N>> -endobj - -39659 0 obj -<>/P 2352 0 R/Type/Annot/A 39955 0 R/Subtype/Link/Rect[212 280 226 289]/Border[0 0 0]/H/N>> -endobj - -39660 0 obj -<>/P 2352 0 R/Type/Annot/A 39954 0 R/Subtype/Link/Rect[228 280 242 289]/Border[0 0 0]/H/N>> -endobj - -39661 0 obj -<>/P 2352 0 R/Type/Annot/A 39953 0 R/Subtype/Link/Rect[244 280 258 289]/Border[0 0 0]/H/N>> -endobj - -39662 0 obj -<>/P 2352 0 R/Type/Annot/A 39952 0 R/Subtype/Link/Rect[260 280 274 289]/Border[0 0 0]/H/N>> -endobj - -39663 0 obj -<>/P 2352 0 R/Type/Annot/A 39951 0 R/Subtype/Link/Rect[276 280 290 289]/Border[0 0 0]/H/N>> -endobj - -39664 0 obj -<>/P 2352 0 R/Type/Annot/A 39950 0 R/Subtype/Link/Rect[292 280 306 289]/Border[0 0 0]/H/N>> -endobj - -39665 0 obj -<>/P 2352 0 R/Type/Annot/A 39949 0 R/Subtype/Link/Rect[151 270 165 279]/Border[0 0 0]/H/N>> -endobj - -39666 0 obj -<>/P 2352 0 R/Type/Annot/A 39948 0 R/Subtype/Link/Rect[167 270 181 279]/Border[0 0 0]/H/N>> -endobj - -39667 0 obj -<>/P 2352 0 R/Type/Annot/A 39947 0 R/Subtype/Link/Rect[183 270 197 279]/Border[0 0 0]/H/N>> -endobj - -39668 0 obj -<>/P 2352 0 R/Type/Annot/A 39946 0 R/Subtype/Link/Rect[199 270 213 279]/Border[0 0 0]/H/N>> -endobj - -39669 0 obj -<>/P 2352 0 R/Type/Annot/A 39945 0 R/Subtype/Link/Rect[215 270 229 279]/Border[0 0 0]/H/N>> -endobj - -39670 0 obj -<>/P 2352 0 R/Type/Annot/A 39944 0 R/Subtype/Link/Rect[231 270 243 279]/Border[0 0 0]/H/N>> -endobj - -39671 0 obj -<>/P 2352 0 R/Type/Annot/A 39943 0 R/Subtype/Link/Rect[202 260 210 269]/Border[0 0 0]/H/N>> -endobj - -39672 0 obj -<>/P 2352 0 R/Type/Annot/A 39942 0 R/Subtype/Link/Rect[211 260 217 269]/Border[0 0 0]/H/N>> -endobj - -39673 0 obj -<>/P 2352 0 R/Type/Annot/A 39941 0 R/Subtype/Link/Rect[219 260 229 269]/Border[0 0 0]/H/N>> -endobj - -39674 0 obj -<>/P 2352 0 R/Type/Annot/A 39940 0 R/Subtype/Link/Rect[231 260 241 269]/Border[0 0 0]/H/N>> -endobj - -39675 0 obj -<>/P 2352 0 R/Type/Annot/A 39939 0 R/Subtype/Link/Rect[243 260 253 269]/Border[0 0 0]/H/N>> -endobj - -39676 0 obj -<>/P 2352 0 R/Type/Annot/A 39938 0 R/Subtype/Link/Rect[255 260 269 269]/Border[0 0 0]/H/N>> -endobj - -39677 0 obj -<>/P 2352 0 R/Type/Annot/A 39937 0 R/Subtype/Link/Rect[271 260 285 269]/Border[0 0 0]/H/N>> -endobj - -39678 0 obj -<>/P 2352 0 R/Type/Annot/A 39935 0 R/Subtype/Link/Rect[287 260 301 269]/Border[0 0 0]/H/N>> -endobj - -39679 0 obj -<>/P 2352 0 R/Type/Annot/A 39934 0 R/Subtype/Link/Rect[151 250 165 259]/Border[0 0 0]/H/N>> -endobj - -39680 0 obj -<>/P 2352 0 R/Type/Annot/A 39933 0 R/Subtype/Link/Rect[167 250 179 259]/Border[0 0 0]/H/N>> -endobj - -39681 0 obj -<>/P 2352 0 R/Type/Annot/A 39932 0 R/Subtype/Link/Rect[176 240 184 249]/Border[0 0 0]/H/N>> -endobj - -39682 0 obj -<>/P 2352 0 R/Type/Annot/A 39930 0 R/Subtype/Link/Rect[196 230 210 239]/Border[0 0 0]/H/N>> -endobj - -39683 0 obj -<>/P 2352 0 R/Type/Annot/A 39929 0 R/Subtype/Link/Rect[212 230 226 239]/Border[0 0 0]/H/N>> -endobj - -39684 0 obj -<>/P 2352 0 R/Type/Annot/A 39928 0 R/Subtype/Link/Rect[228 230 242 239]/Border[0 0 0]/H/N>> -endobj - -39685 0 obj -<>/P 2352 0 R/Type/Annot/A 39927 0 R/Subtype/Link/Rect[244 230 258 239]/Border[0 0 0]/H/N>> -endobj - -39686 0 obj -<>/P 2352 0 R/Type/Annot/A 39925 0 R/Subtype/Link/Rect[260 230 274 239]/Border[0 0 0]/H/N>> -endobj - -39687 0 obj -<>/P 2352 0 R/Type/Annot/A 39923 0 R/Subtype/Link/Rect[276 230 290 239]/Border[0 0 0]/H/N>> -endobj - -39688 0 obj -<>/P 2352 0 R/Type/Annot/A 39922 0 R/Subtype/Link/Rect[292 230 304 239]/Border[0 0 0]/H/N>> -endobj - -39689 0 obj -<>/P 2352 0 R/Type/Annot/A 39920 0 R/Subtype/Link/Rect[197 220 211 229]/Border[0 0 0]/H/N>> -endobj - -39690 0 obj -<>/P 2352 0 R/Type/Annot/A 39917 0 R/Subtype/Link/Rect[213 220 227 229]/Border[0 0 0]/H/N>> -endobj - -39691 0 obj -<>/P 2352 0 R/Type/Annot/A 39912 0 R/Subtype/Link/Rect[229 220 243 229]/Border[0 0 0]/H/N>> -endobj - -39692 0 obj -<>/P 2352 0 R/Type/Annot/A 39910 0 R/Subtype/Link/Rect[245 220 262 229]/Border[0 0 0]/H/N>> -endobj - -39693 0 obj -<>/P 2352 0 R/Type/Annot/A 39907 0 R/Subtype/Link/Rect[263 220 275 229]/Border[0 0 0]/H/N>> -endobj - -39694 0 obj -<>/P 2352 0 R/Type/Annot/A 39903 0 R/Subtype/Link/Rect[183 210 195 219]/Border[0 0 0]/H/N>> -endobj - -39695 0 obj -<>/P 2352 0 R/Type/Annot/A 39899 0 R/Subtype/Link/Rect[183 200 195 209]/Border[0 0 0]/H/N>> -endobj - -39696 0 obj -<>/P 2352 0 R/Type/Annot/A 39896 0 R/Subtype/Link/Rect[267 190 277 199]/Border[0 0 0]/H/N>> -endobj - -39697 0 obj -<>/P 2352 0 R/Type/Annot/A 39895 0 R/Subtype/Link/Rect[279 190 289 199]/Border[0 0 0]/H/N>> -endobj - -39698 0 obj -<>/P 2352 0 R/Type/Annot/A 39891 0 R/Subtype/Link/Rect[291 190 304 199]/Border[0 0 0]/H/N>> -endobj - -39699 0 obj -<>/P 2352 0 R/Type/Annot/A 39888 0 R/Subtype/Link/Rect[151 180 165 189]/Border[0 0 0]/H/N>> -endobj - -39700 0 obj -<>/P 2352 0 R/Type/Annot/A 39886 0 R/Subtype/Link/Rect[167 180 181 189]/Border[0 0 0]/H/N>> -endobj - -39701 0 obj -<>/P 2352 0 R/Type/Annot/A 39879 0 R/Subtype/Link/Rect[183 180 197 189]/Border[0 0 0]/H/N>> -endobj - -39702 0 obj -<>/P 2352 0 R/Type/Annot/A 39875 0 R/Subtype/Link/Rect[199 180 213 189]/Border[0 0 0]/H/N>> -endobj - -39703 0 obj -<>/P 2352 0 R/Type/Annot/A 39873 0 R/Subtype/Link/Rect[215 180 229 189]/Border[0 0 0]/H/N>> -endobj - -39704 0 obj -<>/P 2352 0 R/Type/Annot/A 39869 0 R/Subtype/Link/Rect[231 180 248 189]/Border[0 0 0]/H/N>> -endobj - -39705 0 obj -<>/P 2352 0 R/Type/Annot/A 39867 0 R/Subtype/Link/Rect[248 180 262 189]/Border[0 0 0]/H/N>> -endobj - -39706 0 obj -<>/P 2352 0 R/Type/Annot/A 39862 0 R/Subtype/Link/Rect[264 180 278 189]/Border[0 0 0]/H/N>> -endobj - -39707 0 obj -<>/P 2352 0 R/Type/Annot/A 39859 0 R/Subtype/Link/Rect[280 180 294 189]/Border[0 0 0]/H/N>> -endobj - -39708 0 obj -<>/P 2352 0 R/Type/Annot/A 39853 0 R/Subtype/Link/Rect[296 180 310 189]/Border[0 0 0]/H/N>> -endobj - -39709 0 obj -<>/P 2352 0 R/Type/Annot/A 39850 0 R/Subtype/Link/Rect[151 170 168 179]/Border[0 0 0]/H/N>> -endobj - -39710 0 obj -<>/P 2352 0 R/Type/Annot/A 39921 0 R/Subtype/Link/Rect[168 170 182 179]/Border[0 0 0]/H/N>> -endobj - -39711 0 obj -<>/P 2352 0 R/Type/Annot/A 39918 0 R/Subtype/Link/Rect[184 170 198 179]/Border[0 0 0]/H/N>> -endobj - -39712 0 obj -<>/P 2352 0 R/Type/Annot/A 44757 0 R/Subtype/Link/Rect[200 170 217 179]/Border[0 0 0]/H/N>> -endobj - -39713 0 obj -<>/P 2352 0 R/Type/Annot/A 44711 0 R/Subtype/Link/Rect[217 170 231 179]/Border[0 0 0]/H/N>> -endobj - -39714 0 obj -<>/P 2352 0 R/Type/Annot/A 40064 0 R/Subtype/Link/Rect[233 170 247 179]/Border[0 0 0]/H/N>> -endobj - -39715 0 obj -<>/P 2352 0 R/Type/Annot/A 39902 0 R/Subtype/Link/Rect[249 170 266 179]/Border[0 0 0]/H/N>> -endobj - -39716 0 obj -<>/P 2352 0 R/Type/Annot/A 39898 0 R/Subtype/Link/Rect[267 170 281 179]/Border[0 0 0]/H/N>> -endobj - -39717 0 obj -<>/P 2352 0 R/Type/Annot/A 44585 0 R/Subtype/Link/Rect[283 170 297 179]/Border[0 0 0]/H/N>> -endobj - -39718 0 obj -<>/P 2352 0 R/Type/Annot/A 39894 0 R/Subtype/Link/Rect[299 170 311 179]/Border[0 0 0]/H/N>> -endobj - -39719 0 obj -<>/P 2352 0 R/Type/Annot/A 39890 0 R/Subtype/Link/Rect[220 160 232 169]/Border[0 0 0]/H/N>> -endobj - -39720 0 obj -<>/P 2352 0 R/Type/Annot/A 44487 0 R/Subtype/Link/Rect[255 160 263 169]/Border[0 0 0]/H/N>> -endobj - -39721 0 obj -<>/P 2352 0 R/Type/Annot/A 39885 0 R/Subtype/Link/Rect[220 150 232 159]/Border[0 0 0]/H/N>> -endobj - -39722 0 obj -<>/P 2352 0 R/Type/Annot/A 39878 0 R/Subtype/Link/Rect[255 150 263 159]/Border[0 0 0]/H/N>> -endobj - -39723 0 obj -<>/P 2352 0 R/Type/Annot/A 39874 0 R/Subtype/Link/Rect[358 670 372 678]/Border[0 0 0]/H/N>> -endobj - -39724 0 obj -<>/P 2352 0 R/Type/Annot/A 44341 0 R/Subtype/Link/Rect[401 660 415 668]/Border[0 0 0]/H/N>> -endobj - -39725 0 obj -<>/P 2352 0 R/Type/Annot/A 39868 0 R/Subtype/Link/Rect[417 660 433 669]/Border[0 0 0]/H/N>> -endobj - -39726 0 obj -<>/P 2352 0 R/Type/Annot/A 39865 0 R/Subtype/Link/Rect[434 660 448 668]/Border[0 0 0]/H/N>> -endobj - -39727 0 obj -<>/P 2352 0 R/Type/Annot/A 44232 0 R/Subtype/Link/Rect[450 660 462 668]/Border[0 0 0]/H/N>> -endobj - -39728 0 obj -<>/P 2352 0 R/Type/Annot/A 39856 0 R/Subtype/Link/Rect[440 650 452 658]/Border[0 0 0]/H/N>> -endobj - -39729 0 obj -<>/P 2352 0 R/Type/Annot/A 39851 0 R/Subtype/Link/Rect[386 640 398 648]/Border[0 0 0]/H/N>> -endobj - -39730 0 obj -<>/P 2352 0 R/Type/Annot/A 44116 0 R/Subtype/Link/Rect[415 630 431 639]/Border[0 0 0]/H/N>> -endobj - -39731 0 obj -<>/P 2352 0 R/Type/Annot/A 39916 0 R/Subtype/Link/Rect[432 630 446 638]/Border[0 0 0]/H/N>> -endobj - -39732 0 obj -<>/P 2352 0 R/Type/Annot/A 39911 0 R/Subtype/Link/Rect[448 630 465 639]/Border[0 0 0]/H/N>> -endobj - -39733 0 obj -<>/P 2352 0 R/Type/Annot/A 39909 0 R/Subtype/Link/Rect[465 630 479 638]/Border[0 0 0]/H/N>> -endobj - -39734 0 obj -<>/P 2352 0 R/Type/Annot/A 39905 0 R/Subtype/Link/Rect[481 630 493 638]/Border[0 0 0]/H/N>> -endobj - -39735 0 obj -<>/P 2352 0 R/Type/Annot/A 39900 0 R/Subtype/Link/Rect[398 620 410 628]/Border[0 0 0]/H/N>> -endobj - -39736 0 obj -<>/P 2352 0 R/Type/Annot/A 43909 0 R/Subtype/Link/Rect[386 610 394 618]/Border[0 0 0]/H/N>> -endobj - -39737 0 obj -<>/P 2352 0 R/Type/Annot/A 44591 0 R/Subtype/Link/Rect[428 600 444 609]/Border[0 0 0]/H/N>> -endobj - -39738 0 obj -<>/P 2352 0 R/Type/Annot/A 39892 0 R/Subtype/Link/Rect[445 600 459 608]/Border[0 0 0]/H/N>> -endobj - -39739 0 obj -<>/P 2352 0 R/Type/Annot/A 43800 0 R/Subtype/Link/Rect[461 600 475 608]/Border[0 0 0]/H/N>> -endobj - -39740 0 obj -<>/P 2352 0 R/Type/Annot/A 39887 0 R/Subtype/Link/Rect[477 600 491 608]/Border[0 0 0]/H/N>> -endobj - -39741 0 obj -<>/P 2352 0 R/Type/Annot/A 39882 0 R/Subtype/Link/Rect[493 600 507 608]/Border[0 0 0]/H/N>> -endobj - -39742 0 obj -<>/P 2352 0 R/Type/Annot/A 39876 0 R/Subtype/Link/Rect[359 590 373 598]/Border[0 0 0]/H/N>> -endobj - -39743 0 obj -<>/P 2352 0 R/Type/Annot/A 44368 0 R/Subtype/Link/Rect[375 590 389 598]/Border[0 0 0]/H/N>> -endobj - -39744 0 obj -<>/P 2352 0 R/Type/Annot/A 39870 0 R/Subtype/Link/Rect[391 590 405 598]/Border[0 0 0]/H/N>> -endobj - -39745 0 obj -<>/P 2352 0 R/Type/Annot/A 44299 0 R/Subtype/Link/Rect[407 590 419 598]/Border[0 0 0]/H/N>> -endobj - -39746 0 obj -<>/P 2352 0 R/Type/Annot/A 43530 0 R/Subtype/Link/Rect[405 580 415 588]/Border[0 0 0]/H/N>> -endobj - -39747 0 obj -<>/P 2352 0 R/Type/Annot/A 39858 0 R/Subtype/Link/Rect[417 580 431 588]/Border[0 0 0]/H/N>> -endobj - -39748 0 obj -<>/P 2352 0 R/Type/Annot/A 39852 0 R/Subtype/Link/Rect[433 580 447 588]/Border[0 0 0]/H/N>> -endobj - -39749 0 obj -<>/P 2352 0 R/Type/Annot/A 44158 0 R/Subtype/Link/Rect[449 580 461 588]/Border[0 0 0]/H/N>> -endobj - -39750 0 obj -<>/P 2352 0 R/Type/Annot/A 39914 0 R/Subtype/Link/Rect[444 570 458 578]/Border[0 0 0]/H/N>> -endobj - -39751 0 obj -<>/P 2352 0 R/Type/Annot/A 44085 0 R/Subtype/Link/Rect[460 570 474 578]/Border[0 0 0]/H/N>> -endobj - -39752 0 obj -<>/P 2352 0 R/Type/Annot/A 44041 0 R/Subtype/Link/Rect[476 570 488 578]/Border[0 0 0]/H/N>> -endobj - -39753 0 obj -<>/P 2352 0 R/Type/Annot/A 39904 0 R/Subtype/Link/Rect[398 560 410 568]/Border[0 0 0]/H/N>> -endobj - -39754 0 obj -<>/P 2352 0 R/Type/Annot/A 43971 0 R/Subtype/Link/Rect[425 550 437 558]/Border[0 0 0]/H/N>> -endobj - -39755 0 obj -<>/P 2352 0 R/Type/Annot/A 39897 0 R/Subtype/Link/Rect[425 540 437 548]/Border[0 0 0]/H/N>> -endobj - -39756 0 obj -<>/P 2352 0 R/Type/Annot/A 39936 0 R/Subtype/Link/Rect[425 530 437 538]/Border[0 0 0]/H/N>> -endobj - -39757 0 obj -<>/P 2352 0 R/Type/Annot/A 43854 0 R/Subtype/Link/Rect[396 520 413 529]/Border[0 0 0]/H/N>> -endobj - -39758 0 obj -<>/P 2352 0 R/Type/Annot/A 44513 0 R/Subtype/Link/Rect[414 520 428 528]/Border[0 0 0]/H/N>> -endobj - -39759 0 obj -<>/P 2352 0 R/Type/Annot/A 39884 0 R/Subtype/Link/Rect[430 520 444 528]/Border[0 0 0]/H/N>> -endobj - -39760 0 obj -<>/P 2352 0 R/Type/Annot/A 44436 0 R/Subtype/Link/Rect[446 520 460 528]/Border[0 0 0]/H/N>> -endobj - -39761 0 obj -<>/P 2352 0 R/Type/Annot/A 43704 0 R/Subtype/Link/Rect[462 520 476 528]/Border[0 0 0]/H/N>> -endobj - -39762 0 obj -<>/P 2352 0 R/Type/Annot/A 39871 0 R/Subtype/Link/Rect[478 520 492 528]/Border[0 0 0]/H/N>> -endobj - -39763 0 obj -<>/P 2352 0 R/Type/Annot/A 43619 0 R/Subtype/Link/Rect[494 520 508 528]/Border[0 0 0]/H/N>> -endobj - -39764 0 obj -<>/P 2352 0 R/Type/Annot/A 39863 0 R/Subtype/Link/Rect[359 510 373 518]/Border[0 0 0]/H/N>> -endobj - -39765 0 obj -<>/P 2352 0 R/Type/Annot/A 39861 0 R/Subtype/Link/Rect[375 510 389 518]/Border[0 0 0]/H/N>> -endobj - -39766 0 obj -<>/P 2352 0 R/Type/Annot/A 39854 0 R/Subtype/Link/Rect[391 510 403 518]/Border[0 0 0]/H/N>> -endobj - -39767 0 obj -<>/P 2352 0 R/Type/Annot/A 39919 0 R/Subtype/Link/Rect[392 500 406 508]/Border[0 0 0]/H/N>> -endobj - -39768 0 obj -<>/P 2352 0 R/Type/Annot/A 39913 0 R/Subtype/Link/Rect[408 500 420 508]/Border[0 0 0]/H/N>> -endobj - -39769 0 obj -<>/P 2352 0 R/Type/Annot/A 43399 0 R/Subtype/Link/Rect[397 490 409 498]/Border[0 0 0]/H/N>> -endobj - -39770 0 obj -<>/P 2352 0 R/Type/Annot/A 39906 0 R/Subtype/Link/Rect[367 442 380 451]/Border[0 0 0]/H/N>> -endobj - -39771 0 obj -<>/P 2352 0 R/Type/Annot/A 39901 0 R/Subtype/Link/Rect[381 442 391 450]/Border[0 0 0]/H/N>> -endobj - -39772 0 obj -<>/P 2352 0 R/Type/Annot/A 43994 0 R/Subtype/Link/Rect[393 442 407 450]/Border[0 0 0]/H/N>> -endobj - -39773 0 obj -<>/P 2352 0 R/Type/Annot/A 42515 0 R/Subtype/Link/Rect[409 442 421 450]/Border[0 0 0]/H/N>> -endobj - -39774 0 obj -<>/P 2352 0 R/Type/Annot/A 44593 0 R/Subtype/Link/Rect[368 432 374 440]/Border[0 0 0]/H/N>> -endobj - -39775 0 obj -<>/P 2352 0 R/Type/Annot/A 42426 0 R/Subtype/Link/Rect[376 432 386 440]/Border[0 0 0]/H/N>> -endobj - -39776 0 obj -<>/P 2352 0 R/Type/Annot/A 43838 0 R/Subtype/Link/Rect[388 432 402 440]/Border[0 0 0]/H/N>> -endobj - -39777 0 obj -<>/P 2352 0 R/Type/Annot/A 39880 0 R/Subtype/Link/Rect[404 432 418 440]/Border[0 0 0]/H/N>> -endobj - -39778 0 obj -<>/P 2352 0 R/Type/Annot/A 40061 0 R/Subtype/Link/Rect[420 432 434 440]/Border[0 0 0]/H/N>> -endobj - -39779 0 obj -<>/P 2352 0 R/Type/Annot/A 43718 0 R/Subtype/Link/Rect[436 432 448 440]/Border[0 0 0]/H/N>> -endobj - -39780 0 obj -<>/P 2352 0 R/Type/Annot/A 42239 0 R/Subtype/Link/Rect[392 422 402 430]/Border[0 0 0]/H/N>> -endobj - -39781 0 obj -<>/P 2352 0 R/Type/Annot/A 39864 0 R/Subtype/Link/Rect[404 422 412 430]/Border[0 0 0]/H/N>> -endobj - -39782 0 obj -<>/P 2352 0 R/Type/Annot/A 42869 0 R/Subtype/Link/Rect[375 402 383 410]/Border[0 0 0]/H/N>> -endobj - -39783 0 obj -<>/P 2352 0 R/Type/Annot/A 39855 0 R/Subtype/Link/Rect[371 392 379 400]/Border[0 0 0]/H/N>> -endobj - -39784 0 obj -<>/P 2352 0 R/Type/Annot/A 42067 0 R/Subtype/Link/Rect[493 382 501 390]/Border[0 0 0]/H/N>> -endobj - -39785 0 obj -<>/P 2352 0 R/Type/Annot/A 44841 0 R/Subtype/Link/Rect[392 372 402 380]/Border[0 0 0]/H/N>> -endobj - -39786 0 obj -<>/P 2352 0 R/Type/Annot/A 42726 0 R/Subtype/Link/Rect[404 372 414 380]/Border[0 0 0]/H/N>> -endobj - -39787 0 obj -<>/P 2352 0 R/Type/Annot/A 41951 0 R/Subtype/Link/Rect[416 372 426 380]/Border[0 0 0]/H/N>> -endobj - -39788 0 obj -<>/P 2352 0 R/Type/Annot/A 43362 0 R/Subtype/Link/Rect[428 372 442 380]/Border[0 0 0]/H/N>> -endobj - -39789 0 obj -<>/P 2352 0 R/Type/Annot/A 44678 0 R/Subtype/Link/Rect[444 372 458 380]/Border[0 0 0]/H/N>> -endobj - -39790 0 obj -<>/P 2352 0 R/Type/Annot/A 41811 0 R/Subtype/Link/Rect[460 372 476 381]/Border[0 0 0]/H/N>> -endobj - -39791 0 obj -<>/P 2352 0 R/Type/Annot/A 42542 0 R/Subtype/Link/Rect[477 372 491 380]/Border[0 0 0]/H/N>> -endobj - -39792 0 obj -<>/P 2352 0 R/Type/Annot/A 43884 0 R/Subtype/Link/Rect[493 372 507 380]/Border[0 0 0]/H/N>> -endobj - -39793 0 obj -<>/P 2352 0 R/Type/Annot/A 39883 0 R/Subtype/Link/Rect[359 362 371 370]/Border[0 0 0]/H/N>> -endobj - -39794 0 obj -<>/P 2352 0 R/Type/Annot/A 39877 0 R/Subtype/Link/Rect[405 352 422 361]/Border[0 0 0]/H/N>> -endobj - -39795 0 obj -<>/P 2352 0 R/Type/Annot/A 42375 0 R/Subtype/Link/Rect[422 352 436 360]/Border[0 0 0]/H/N>> -endobj - -39796 0 obj -<>/P 2352 0 R/Type/Annot/A 39926 0 R/Subtype/Link/Rect[438 352 452 360]/Border[0 0 0]/H/N>> -endobj - -39797 0 obj -<>/P 2352 0 R/Type/Annot/A 39866 0 R/Subtype/Link/Rect[454 352 468 360]/Border[0 0 0]/H/N>> -endobj - -39798 0 obj -<>/P 2352 0 R/Type/Annot/A 41463 0 R/Subtype/Link/Rect[470 352 484 360]/Border[0 0 0]/H/N>> -endobj - -39799 0 obj -<>/P 2352 0 R/Type/Annot/A 39857 0 R/Subtype/Link/Rect[486 352 498 360]/Border[0 0 0]/H/N>> -endobj - -39800 0 obj -<>/P 2352 0 R/Type/Annot/A 39915 0 R/Subtype/Link/Rect[398 342 410 350]/Border[0 0 0]/H/N>> -endobj - -39801 0 obj -<>/P 2352 0 R/Type/Annot/A 43527 0 R/Subtype/Link/Rect[406 332 418 340]/Border[0 0 0]/H/N>> -endobj - -39802 0 obj -<>/P 2352 0 R/Type/Annot/A 39908 0 R/Subtype/Link/Rect[449 322 465 331]/Border[0 0 0]/H/N>> -endobj - -39803 0 obj -<>/P 2352 0 R/Type/Annot/A 41278 0 R/Subtype/Link/Rect[466 322 478 331]/Border[0 0 0]/H/N>> -endobj - -39804 0 obj -<>/P 2352 0 R/Type/Annot/A 42710 0 R/Subtype/Link/Rect[390 312 404 321]/Border[0 0 0]/H/N>> -endobj - -39805 0 obj -<>/P 2352 0 R/Type/Annot/A 44038 0 R/Subtype/Link/Rect[406 312 418 321]/Border[0 0 0]/H/N>> -endobj - -39806 0 obj -<>/P 2352 0 R/Type/Annot/A 39893 0 R/Subtype/Link/Rect[391 302 403 311]/Border[0 0 0]/H/N>> -endobj - -39807 0 obj -<>/P 2352 0 R/Type/Annot/A 39889 0 R/Subtype/Link/Rect[392 292 402 301]/Border[0 0 0]/H/N>> -endobj - -39808 0 obj -<>/P 2352 0 R/Type/Annot/A 39931 0 R/Subtype/Link/Rect[404 292 418 301]/Border[0 0 0]/H/N>> -endobj - -39809 0 obj -<>/P 2352 0 R/Type/Annot/A 39881 0 R/Subtype/Link/Rect[420 292 434 301]/Border[0 0 0]/H/N>> -endobj - -39810 0 obj -<>/P 2352 0 R/Type/Annot/A 40053 0 R/Subtype/Link/Rect[436 292 450 301]/Border[0 0 0]/H/N>> -endobj - -39811 0 obj -<>/P 2352 0 R/Type/Annot/A 39872 0 R/Subtype/Link/Rect[452 292 466 301]/Border[0 0 0]/H/N>> -endobj - -39812 0 obj -<>/P 2352 0 R/Type/Annot/A 39924 0 R/Subtype/Link/Rect[468 292 484 301]/Border[0 0 0]/H/N>> -endobj - -39813 0 obj -<>/P 2352 0 R/Type/Annot/A 42999 0 R/Subtype/Link/Rect[485 292 499 301]/Border[0 0 0]/H/N>> -endobj - -39814 0 obj -<>/P 2352 0 R/Type/Annot/A 39860 0 R/Subtype/Link/Rect[501 292 515 301]/Border[0 0 0]/H/N>> -endobj - -39815 0 obj -<>/P 2352 0 R/Type/Annot/A 40074 0 R/Subtype/Link/Rect[359 282 371 291]/Border[0 0 0]/H/N>> -endobj - -39816 0 obj -<>/P 2352 0 R/Type/Annot/A 40071 0 R/Subtype/Link/Rect[415 272 427 281]/Border[0 0 0]/H/N>> -endobj - -39817 0 obj -<>/P 2352 0 R/Type/Annot/A 40070 0 R/Subtype/Link/Rect[410 262 424 271]/Border[0 0 0]/H/N>> -endobj - -39818 0 obj -<>/P 2352 0 R/Type/Annot/A 40069 0 R/Subtype/Link/Rect[426 262 438 271]/Border[0 0 0]/H/N>> -endobj - -39819 0 obj -<>/P 2352 0 R/Type/Annot/A 40068 0 R/Subtype/Link/Rect[410 252 422 261]/Border[0 0 0]/H/N>> -endobj - -39820 0 obj -<>/P 2352 0 R/Type/Annot/A 40067 0 R/Subtype/Link/Rect[415 242 429 251]/Border[0 0 0]/H/N>> -endobj - -39821 0 obj -<>/P 2352 0 R/Type/Annot/A 40066 0 R/Subtype/Link/Rect[431 242 443 251]/Border[0 0 0]/H/N>> -endobj - -39822 0 obj -<>/P 2352 0 R/Type/Annot/A 40065 0 R/Subtype/Link/Rect[421 232 435 241]/Border[0 0 0]/H/N>> -endobj - -39823 0 obj -<>/P 2352 0 R/Type/Annot/A 40063 0 R/Subtype/Link/Rect[437 232 451 241]/Border[0 0 0]/H/N>> -endobj - -39824 0 obj -<>/P 2352 0 R/Type/Annot/A 40062 0 R/Subtype/Link/Rect[453 232 467 241]/Border[0 0 0]/H/N>> -endobj - -39825 0 obj -<>/P 2352 0 R/Type/Annot/A 40060 0 R/Subtype/Link/Rect[469 232 481 241]/Border[0 0 0]/H/N>> -endobj - -39826 0 obj -<>/P 2352 0 R/Type/Annot/A 40059 0 R/Subtype/Link/Rect[387 222 393 231]/Border[0 0 0]/H/N>> -endobj - -39827 0 obj -<>/P 2352 0 R/Type/Annot/A 40058 0 R/Subtype/Link/Rect[395 222 405 231]/Border[0 0 0]/H/N>> -endobj - -39828 0 obj -<>/P 2352 0 R/Type/Annot/A 40057 0 R/Subtype/Link/Rect[407 222 419 231]/Border[0 0 0]/H/N>> -endobj - -39829 0 obj -<>/P 2352 0 R/Type/Annot/A 40056 0 R/Subtype/Link/Rect[425 212 439 221]/Border[0 0 0]/H/N>> -endobj - -39830 0 obj -<>/P 2352 0 R/Type/Annot/A 40055 0 R/Subtype/Link/Rect[441 212 455 221]/Border[0 0 0]/H/N>> -endobj - -39831 0 obj -<>/P 2352 0 R/Type/Annot/A 40054 0 R/Subtype/Link/Rect[457 212 469 221]/Border[0 0 0]/H/N>> -endobj - -39832 0 obj -<>/P 2352 0 R/Type/Annot/A 40052 0 R/Subtype/Link/Rect[399 202 411 211]/Border[0 0 0]/H/N>> -endobj - -39833 0 obj -<>/P 2352 0 R/Type/Annot/A 40051 0 R/Subtype/Link/Rect[425 192 439 201]/Border[0 0 0]/H/N>> -endobj - -39834 0 obj -<>/P 2352 0 R/Type/Annot/A 40050 0 R/Subtype/Link/Rect[441 192 453 201]/Border[0 0 0]/H/N>> -endobj - -39835 0 obj -<>/P 2352 0 R/Type/Annot/A 40049 0 R/Subtype/Link/Rect[387 182 399 191]/Border[0 0 0]/H/N>> -endobj - -39836 0 obj -<>/P 2352 0 R/Type/Annot/A 40047 0 R/Subtype/Link/Rect[425 172 439 181]/Border[0 0 0]/H/N>> -endobj - -39837 0 obj -<>/P 2352 0 R/Type/Annot/A 40045 0 R/Subtype/Link/Rect[441 172 453 181]/Border[0 0 0]/H/N>> -endobj - -39838 0 obj -<>/P 2352 0 R/Type/Annot/A 40043 0 R/Subtype/Link/Rect[425 162 439 171]/Border[0 0 0]/H/N>> -endobj - -39839 0 obj -<>/P 2352 0 R/Type/Annot/A 40041 0 R/Subtype/Link/Rect[441 162 453 171]/Border[0 0 0]/H/N>> -endobj - -39840 0 obj -<>/P 2352 0 R/Type/Annot/A 40039 0 R/Subtype/Link/Rect[379 152 387 161]/Border[0 0 0]/H/N>> -endobj - -39841 0 obj -<>/P 2352 0 R/Type/Annot/A 40037 0 R/Subtype/Link/Rect[376 668 390 677]/Border[0 0 0]/H/N>> -endobj - -39842 0 obj -<>/P 2352 0 R/Type/Annot/A 40035 0 R/Subtype/Link/Rect[173 548 186 557]/Border[0 0 0]/H/N>> -endobj - -39843 0 obj -<>/P 2352 0 R/Type/Annot/A 40033 0 R/Subtype/Link/Rect[188 548 207 557]/Border[0 0 0]/H/N>> -endobj - -39844 0 obj -<>/P 2352 0 R/Type/Annot/A 40031 0 R/Subtype/Link/Rect[380 518 394 527]/Border[0 0 0]/H/N>> -endobj - -39845 0 obj -<>/P 2352 0 R/Type/Annot/A 40029 0 R/Subtype/Link/Rect[373 450 385 459]/Border[0 0 0]/H/N>> -endobj - -39846 0 obj -<>/P 2352 0 R/Type/Annot/A 40027 0 R/Subtype/Link/Rect[389 450 404 459]/Border[0 0 0]/H/N>> -endobj - -39847 0 obj -<>/P 2352 0 R/Type/Annot/A 40025 0 R/Subtype/Link/Rect[169 308 188 317]/Border[0 0 0]/H/N>> -endobj - -39848 0 obj -<>/P 2352 0 R/Type/Annot/A 40023 0 R/Subtype/Link/Rect[237 158 253 167]/Border[0 0 0]/H/N>> -endobj - -39849 0 obj -<>/P 2352 0 R/Type/Annot/A 40021 0 R/Subtype/Link/Rect[237 148 253 157]/Border[0 0 0]/H/N>> -endobj - -39850 0 obj -<> -endobj - -39851 0 obj -<> -endobj - -39852 0 obj -<> -endobj - -39853 0 obj -<> -endobj - -39854 0 obj -<> -endobj - -39855 0 obj -<> -endobj - -39856 0 obj -<> -endobj - -39857 0 obj -<> -endobj - -39858 0 obj -<> -endobj - -39859 0 obj -<> -endobj - -39860 0 obj -<> -endobj - -39861 0 obj -<> -endobj - -39862 0 obj -<> -endobj - -39863 0 obj -<> -endobj - -39864 0 obj -<> -endobj - -39865 0 obj -<> -endobj - -39866 0 obj -<> -endobj - -39867 0 obj -<> -endobj - -39868 0 obj -<> -endobj - -39869 0 obj -<> -endobj - -39870 0 obj -<> -endobj - -39871 0 obj -<> -endobj - -39872 0 obj -<> -endobj - -39873 0 obj -<> -endobj - -39874 0 obj -<> -endobj - -39875 0 obj -<> -endobj - -39876 0 obj -<> -endobj - -39877 0 obj -<> -endobj - -39878 0 obj -<> -endobj - -39879 0 obj -<> -endobj - -39880 0 obj -<> -endobj - -39881 0 obj -<> -endobj - -39882 0 obj -<> -endobj - -39883 0 obj -<> -endobj - -39884 0 obj -<> -endobj - -39885 0 obj -<> -endobj - -39886 0 obj -<> -endobj - -39887 0 obj -<> -endobj - -39888 0 obj -<> -endobj - -39889 0 obj -<> -endobj - -39890 0 obj -<> -endobj - -39891 0 obj -<> -endobj - -39892 0 obj -<> -endobj - -39893 0 obj -<> -endobj - -39894 0 obj -<> -endobj - -39895 0 obj -<> -endobj - -39896 0 obj -<> -endobj - -39897 0 obj -<> -endobj - -39898 0 obj -<> -endobj - -39899 0 obj -<> -endobj - -39900 0 obj -<> -endobj - -39901 0 obj -<> -endobj - -39902 0 obj -<> -endobj - -39903 0 obj -<> -endobj - -39904 0 obj -<> -endobj - -39905 0 obj -<> -endobj - -39906 0 obj -<> -endobj - -39907 0 obj -<> -endobj - -39908 0 obj -<> -endobj - -39909 0 obj -<> -endobj - -39910 0 obj -<> -endobj - -39911 0 obj -<> -endobj - -39912 0 obj -<> -endobj - -39913 0 obj -<> -endobj - -39914 0 obj -<> -endobj - -39915 0 obj -<> -endobj - -39916 0 obj -<> -endobj - -39917 0 obj -<> -endobj - -39918 0 obj -<> -endobj - -39919 0 obj -<> -endobj - -39920 0 obj -<> -endobj - -39921 0 obj -<> -endobj - -39922 0 obj -<> -endobj - -39923 0 obj -<> -endobj - -39924 0 obj -<> -endobj - -39925 0 obj -<> -endobj - -39926 0 obj -<> -endobj - -39927 0 obj -<> -endobj - -39928 0 obj -<> -endobj - -39929 0 obj -<> -endobj - -39930 0 obj -<> -endobj - -39931 0 obj -<> -endobj - -39932 0 obj -<> -endobj - -39933 0 obj -<> -endobj - -39934 0 obj -<> -endobj - -39935 0 obj -<> -endobj - -39936 0 obj -<> -endobj - -39937 0 obj -<> -endobj - -39938 0 obj -<> -endobj - -39939 0 obj -<> -endobj - -39940 0 obj -<> -endobj - -39941 0 obj -<> -endobj - -39942 0 obj -<> -endobj - -39943 0 obj -<> -endobj - -39944 0 obj -<> -endobj - -39945 0 obj -<> -endobj - -39946 0 obj -<> -endobj - -39947 0 obj -<> -endobj - -39948 0 obj -<> -endobj - -39949 0 obj -<> -endobj - -39950 0 obj -<> -endobj - -39951 0 obj -<> -endobj - -39952 0 obj -<> -endobj - -39953 0 obj -<> -endobj - -39954 0 obj -<> -endobj - -39955 0 obj -<> -endobj - -39956 0 obj -<> -endobj - -39957 0 obj -<> -endobj - -39958 0 obj -<> -endobj - -39959 0 obj -<> -endobj - -39960 0 obj -<> -endobj - -39961 0 obj -<> -endobj - -39962 0 obj -<> -endobj - -39963 0 obj -<> -endobj - -39964 0 obj -<> -endobj - -39965 0 obj -<> -endobj - -39966 0 obj -<> -endobj - -39967 0 obj -<> -endobj - -39968 0 obj -<> -endobj - -39969 0 obj -<> -endobj - -39970 0 obj -<> -endobj - -39971 0 obj -<> -endobj - -39972 0 obj -<> -endobj - -39973 0 obj -<> -endobj - -39974 0 obj -<> -endobj - -39975 0 obj -<> -endobj - -39976 0 obj -<> -endobj - -39977 0 obj -<> -endobj - -39978 0 obj -<> -endobj - -39979 0 obj -<> -endobj - -39980 0 obj -<> -endobj - -39981 0 obj -<> -endobj - -39982 0 obj -<> -endobj - -39983 0 obj -<> -endobj - -39984 0 obj -<> -endobj - -39985 0 obj -<> -endobj - -39986 0 obj -<> -endobj - -39987 0 obj -<> -endobj - -39988 0 obj -<> -endobj - -39989 0 obj -<> -endobj - -39990 0 obj -<> -endobj - -39991 0 obj -<> -endobj - -39992 0 obj -<> -endobj - -39993 0 obj -<> -endobj - -39994 0 obj -<> -endobj - -39995 0 obj -<> -endobj - -39996 0 obj -<> -endobj - -39997 0 obj -<> -endobj - -39998 0 obj -<> -endobj - -39999 0 obj -<> -endobj - -40000 0 obj -<> -endobj - -40001 0 obj -<> -endobj - -40002 0 obj -<> -endobj - -40003 0 obj -<> -endobj - -40004 0 obj -<> -endobj - -40005 0 obj -<> -endobj - -40006 0 obj -<> -endobj - -40007 0 obj -<> -endobj - -40008 0 obj -<> -endobj - -40009 0 obj -<> -endobj - -40010 0 obj -<> -endobj - -40011 0 obj -<> -endobj - -40012 0 obj -<> -endobj - -40013 0 obj -<> -endobj - -40014 0 obj -<> -endobj - -40015 0 obj -<> -endobj - -40016 0 obj -<> -endobj - -40017 0 obj -<> -endobj - -40018 0 obj -<> -endobj - -40019 0 obj -<> -endobj - -40020 0 obj -<> -endobj - -40021 0 obj -<> -endobj - -40022 0 obj -<> -endobj - -40023 0 obj -<> -endobj - -40024 0 obj -<> -endobj - -40025 0 obj -<> -endobj - -40026 0 obj -<> -endobj - -40027 0 obj -<> -endobj - -40028 0 obj -<> -endobj - -40029 0 obj -<> -endobj - -40030 0 obj -<> -endobj - -40031 0 obj -<> -endobj - -40032 0 obj -<> -endobj - -40033 0 obj -<> -endobj - -40034 0 obj -<> -endobj - -40035 0 obj -<> -endobj - -40036 0 obj -<> -endobj - -40037 0 obj -<> -endobj - -40038 0 obj -<> -endobj - -40039 0 obj -<> -endobj - -40040 0 obj -<> -endobj - -40041 0 obj -<> -endobj - -40042 0 obj -<> -endobj - -40043 0 obj -<> -endobj - -40044 0 obj -<> -endobj - -40045 0 obj -<> -endobj - -40046 0 obj -<> -endobj - -40047 0 obj -<> -endobj - -40048 0 obj -<> -endobj - -40049 0 obj -<> -endobj - -40050 0 obj -<> -endobj - -40051 0 obj -<> -endobj - -40052 0 obj -<> -endobj - -40053 0 obj -<> -endobj - -40054 0 obj -<> -endobj - -40055 0 obj -<> -endobj - -40056 0 obj -<> -endobj - -40057 0 obj -<> -endobj - -40058 0 obj -<> -endobj - -40059 0 obj -<> -endobj - -40060 0 obj -<> -endobj - -40061 0 obj -<> -endobj - -40062 0 obj -<> -endobj - -40063 0 obj -<> -endobj - -40064 0 obj -<> -endobj - -40065 0 obj -<> -endobj - -40066 0 obj -<> -endobj - -40067 0 obj -<> -endobj - -40068 0 obj -<> -endobj - -40069 0 obj -<> -endobj - -40070 0 obj -<> -endobj - -40071 0 obj -<> -endobj - -40072 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -40073 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -40074 0 obj -<> -endobj - -40075 0 obj -<> -endobj - -40076 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -40077 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -40078 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -40079 0 obj -<> -stream -HWko_1|"Gۗ 1N0]JM.\o =RnaqX[SvpߗAxq՛*V? QR(rRDN}CmXUpKՔCz5ݾna_վ^UɨDB8W63^4%EæSW Bڷlzظ<|Pj8J[hUÃ3_- DZUw >|FI#@(E&(SNF($,! ,=IyK 5s7{a0Vpo{+̽; sO)s -S>g}&ϘLp1>gs}/,ZRK1dqZ!{KH-Ő%gBj),=KRK1` ,ZH-Ő%gBj),!CV ,ZH-ŀ%bܳj!CV X!CwO1` {!R Y{Z#bܳ!Z!KpRkR Y{Z#bRK1d YjZ!KpRkR XBj),=KRK1d YjZRK1dqZ!{KH-Ő%gBj),=KRK1` ,VH-Ő%gBj),!C -,VH-ŀ%bܳZ!C -X8!CwO1` {!/(Ys/WjeTVwA *t4#Vmw6܆wRo7T? úkwzb՗.TPw Ja#RGLQTwA[7]_vn/$"7 n;/)`󑷯~{^%TFFHG!W8?wUM}'t‚0(鍌i ިUGr"1v>!XL -ZiYA2-'h9-ǴRA+eZ2LʘV&heL+r Z9*iVAt̵(,E1`%V´A+aZZLK ZPC^ uO1d ZPC^ uO1d ZPC^ uO1d ZPCuO1dq-Vbuol-VF{UbuoY-VF{iTbuoF-VF{9Sbuo3-VF{ Rbuo Őŵ(gCAսbx6X[)>AսbxX[)9AսbxX[)'5AսbxRX[)g0AսbxZCע-VNO!,\i"8'*guC?\]˒^E&Ջn鮆j۲Qݮڪv=ݶGd+>9И/4qiV9j:C0LnVw7ν;[+nshVʰێ5JY@H:reԮ6.pvЩCWC/|u}.QM4ݸ㜗s[B~~}sZngw֜/UK֋82P0$ͣ Wq -}b4`ko~]N~ cg(7r. >g -Rm-q|–:Gݲ{5)n.ָA }i_gnXw$<; nLxތaK֟=+otͦ.}þy=5 -_aQ׳>d Xn=4]etĝFfיRPvӶ7~FQz;~0a}0t-L>{qЧy5u8vcm累S9`;>[A+0o-,2He4M8[V~[pԭW!?>9Y+5{tnV̥yqӖ㞶q{諹yn~SG:6`$;K5q{x7֝YVF){J3MqzD -<='Qqh%}y$)숆1@۶ WQRA"Ek`f[u:-b)yTHZ hG}]@?k~©3_ [`r4G4g -MQ_V /$:mUE) Zc!Lit05.*| )}em`x>z*:!1DŽ5[%qh9op!b=\z'enORJ1O8࡟@*)Ќ^v&U_iƺ}^i2>/[ϥ-,U2 - <[̜Rs{sՕP%beA „/FOβZޞl *J@vs -&O.̱͞x=L"3*="yBSIt\h'_xO끥Xto,|kK}]>ԗ4M%qp׶;I?LAc{N\?yc [ !if_oO[ӸHD(TB -ثK&ΐ2Yx+) n="DyH`@ c|CG< =odv_&@Ue9MaA~ԣv.6Be46b.2JBnf^yr+Ejv=zX;Դyذ\5g2gi,__REBөC{Q.Y |7M'Am U.]8- 95? Lv)2ygByf/7(AsE5Kd\UipX?>/P 1399 0 R/Type/Annot/A 40081 0 R/Subtype/Link/Rect[93.6001968 193.528 244.535995 213.207993]/Border[0 0 0]/H/N>> -endobj - -40081 0 obj -<> -endobj - -40082 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -40083 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -40084 0 obj -<> -endobj - -40085 0 obj -<> -endobj - -40086 0 obj -<> -endobj - -40087 0 obj -<> -endobj - -40088 0 obj -[549 549 549 612 500] -endobj - -40089 0 obj -<> -stream -x]j0EY`Y[ -BPR^A~-,/)i -]ř;>&ޣ&3F0dӕJL}`mI8n %>Ȳr-M:u%ҭ!|.gJڽᵟbݷ6m{rU|n6"G}YI{K5M$Jϊ3R0JQ+Y$jx $qn2 Ixf4ks;G1%ȼux{s!7(|endstream -endobj - -40090 0 obj -<> -stream -xtTǿ3$6p H\b$ -HwBA(ZKhJ P1k)]1PJဢ -GJTҦh-RMzN9=53w1YdYR{5 /uW 3דImwh#411-d뢂ܖ֥uw;\ w%=uqt][#-[m)|Lm%MxSAQ$<" p|O8?u@"Ɂi«gŶ]rI8^;uvs՗ՇG~.LĠTxdɲ`B2y" ϙ`~;S's̿1{Y|F8˚>b3bb~|y1<|A.rhw~ j[,<|Q_:5a櫜+,bd`K^/{7P^{Z4(eed"ɦ- -/߆ߏxɺ /rQ@3Ȗ2W'ո>RJ -wpD_7mQXE;IUY4Z;Vai" -ķPM6QD]amO~:ɼ#:h -˼W߆%mq{jXWn,"ڦȣs[0j"ܴE¼\999y nLš",`bĜɜWj:! i̯320'2_ϖZ~'<9԰|s9y- -)kXdV0˙eRTPL L?[(Hf4Kˊr3H΁Mwvn"y8cKCj{0Ge23W%z )ĶH'@1=6ŲL衏A+-nf -3t1LoMޣHcJ~iަyydm4Q:SWm_Ɂd$Y8Cޝ+z]<;qJ1Om>]瘜7HkFB4̤.)e؈2Uֈ-J27cOV;ъrsj&2ᡷ\9ANsIl2.Ҭ=b/]-U~䘋ZqFop -Y >qL'ćr:E8jN.s^z"݋e$H>՟C)cdœDYM+ʜ\OjYb=p2.j!3V [[si'9kF8yC^ȝ\'P=.!54s:֚0*cS;p<="6#bգE͋Ɖ>\쳪TfqWӮUQ@aE>OTMno ^+T"u†׌D͡Qy9hJ(İuj8#L3П6tu~Z4V(DzDf_lnKngW6**"("_=Q?=u:'7v}-)1n)ggh0RlDq8ԅ;#4eSe -J)⋪h{7xmW -GzH_fJ?pp"T=P ("z;u$ p!0@A!۫ 9vMyFt=uGl4"lA!h5@O~Y#ÂȒM$cfYs 32` ) 9yG)fiv6;HkS"<#Em1P̹5v$2pbʇ,aiɞէ˪J }Oɬ*g40R}S5jgZ15vb{﯏ -9fpGp`nt+ˤt(JϬ*Eq鴪^zy*C6چaJ*KImYV9Zf6Y$1azz{^g9J%lQW:K-2tRC ,900%?Du-DZopuQmE2F&S?׮$HINrc.TH>Tt KDPbOSP[ڝPĂX7E*FQfK&\:=mjA.WRu}٠aIL`L{ n$UMvԤU!ZGIJʚȄZz%"#3#sj="Aq)P1fHd#RF-H+/ Th;I%qa9,9$<(.0ޟ;zRj0PvKh]\ד/{TґP6J} ҦQ\YV0i)y{d)(,T0@;喻Hs{"l'TȔmK,luRׇԇEwͪ-aѝsLendstream -endobj - -40091 0 obj -<> -endobj - -40092 0 obj -<> -endobj - -40093 0 obj -<> -endobj - -40094 0 obj -<> -endobj - -40095 0 obj -<> -endobj - -40096 0 obj -<> -endobj - -40097 0 obj -<> -endobj - -40098 0 obj -<> -endobj - -40099 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -40100 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -40101 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -40102 0 obj -<> -stream -HWێ8}W:l^ur L`"JlGۓߢH]L;c<,a?mO~ëw #ϟ|*;BJ ĒjA2#F#N*]*y_=}VoUtF.z7 l a$#I!]ݔE_55Y?`Yy?T0>Wʢiכl -2񔦩HD>81R?Ly.SrfC}@,6D8#`~adKLThenL,d3|̰| X,3,|휇} XQ/Q/Q/Q/Q/ -Q -QQQQ1>Lj8P @}O > ԧ4P"@}>,GLcH 1 -a}̰B>,ĵ>fXq>p@\cB\c\+a! -ĵ>,ĵ>fXq>p@\cB\c\+a! -ĵ>v$Z3P qV +TcB\c\+a!Jĵ>,ĵ>fXq>pD\cB\c\+a!Jĵ>,ĵ>fXq>pD\cH!1 -a}̰B>,ĵ>fX -q>pB\cB\c\a!*ĵ>,ĵ>fX -q>pB\cB\c\a!*ĵ>v4Z3P qV +T,ao1,Mt_dsq6cAUF8#C:Dј11nWM_˺<<4m啽h_6XDUCXnfna4mu_^3E^zdSfw:ߖfc%2Ⱥ]a};jcdvܝae;Unfn#b=oĄ~23cyȊMd -==>$Pͧ da}ђ!{Es0Na*߫~B}T H9ږ8q'".DZ 9(!h,EGDx{)"JJ85/7r&anct r!/Њf\?og4{1 LMljWۧNB} ->*s ̒uց-ouWvљ[*uJbtLJ]+ْz}a>FTzrN(r)yLDߴ ji$z>VGh8G.m)wvPoCi6y!;wkIp-~k6\}-_ RQt,TQH)k}[ Ew7ݶGC*g3FFb/E,i -ģpF-`k[Ƕ.O&ݝd -=|29hMfv1RJPf s3exZݾ+mݿ?ULq*]ɘ0wn~0+ A+hԒ J$/g<$K^'iuq@N7׭L|Fcc?@|8hU&gsUCKVƖ@ZnzRC/y9E%O:' c `d<5nto6 fK4&J =`bjj=<'> -=Ybeg Q`$jquK}?vsWǺ7Z~kr#c{ LBdw*y ZS&% |zyV3_C@I9KrYmH4 `S{p5| -oO77砛8~쮴2,r-T6/`A({IRd#&g's"z<0j~}͋~ux_IF$Nx?^c盄N )AtD@AwhC\(R r.\a w9їt.$ns-<{Wm$)|ŝ bD/$QPߠ& l Oȹ ]s2q2߷^Y:M"҄h1\)^-=A>"K[ $X-Vq<K=Dyᴻjv믫ǀ tkzrZh% ~=%d9f-K?o_UA-̅"KQ{`C_e~ -mlVpoզ˛$ (5 %Sn Թ,!\bFOrM!C2Jx^ -d⼬t^ %Xfܯ@\;O}R2{Nswrxq|[% -ƾɛ݅}}[EIdP8#z'j 9l85P/ ӌfMmaBuVr^O\[[sXÞ/ -i 6^kGHEOIPLT9۩ֿ8_{+ -RN^uJ ~]4#[]Dy8j/'HLPjni {UV 3^*Hy{ ul\P ="/|\Oq1=W |=,Ml,UT ^˜JU*5wHij; qIe*v3̫:N=nƈ5=hҏ.~\L -dȷW'Zat6ϛ;ģzS9]]Yw "\RK1\piK.piU2\%*pU WE*"\5U a 2 I Ԇ(ʕU0\*p K.p F Q ѽ`tp F Q ѽ`tp F Q ѽ`tp F Q ѽdtERݧ6D1\D}jCEt/ݧ6D1\D}jCEt/ݧ6D1\D}jCEt/ݧ6D1\D}jCEt/ݧ6D1\D}jCJmbtp+F Q ѽbtp+F Q ѽbtp+F Q ѽbtp+F Q ѽbtpkF Q+}jC21F2=B'|/ev* c=^eHWV)|"MͷM?S2,~Yot 6}iy > 3W̨Yy'}yg.h>||_Rendstream -endobj - -40103 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -40104 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -40105 0 obj -<> -endobj - -40106 0 obj -<> -endobj - -40107 0 obj -<> -endobj - -40108 0 obj -<> -endobj - -40109 0 obj -<> -endobj - -40110 0 obj -<> -endobj - -40111 0 obj -<>/Type/XObject/Height 32/Name/X>> -stream -H!! Dѩ(1pbx΅’p.$+)z߾d@h^WerY$wX{?qΕc#;ӽtbWZ)sendstream -endobj - -40112 0 obj -<> -endobj - -40113 0 obj -<> -endobj - -40114 0 obj -<> -endobj - -40115 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -40116 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -40117 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -40118 0 obj -<> -stream -HWn6}WQlY 0Y$<؃@ݚQKޖچ~DRR.CNU8?tǻ_$| 2K3晊SkI m56Ǿ͡6<6/2|v#7OA $af'E9Qȫ &Rm&bqBrPzGCUmxu#$|m뼻UrAW/c}pQLn)w{M?*[(7K]*e - '2?sL)1%Dy CJE|J.O%c/cccccc2S}ʰO=)>g c13}ΰ=9> c_0 }/<%þؗ {O-ɨ峧>@1>DQ>{ZCSdTK}b{jPjQ {OQ-!aV2>@1>D1=JFԇ(ZɨŨŰT+Rj%Z;Q-!gO}bTK}S|(Fԇ(ZŨŰTRRjZCSbTK}bTK}b{UjQ {OQ-Q-!aV1>D1=*Fw4ZCϞŨ峧>DPjQ {OQ-!aV3>@1>D1=jFԇ(ZͨŨŰTRj5ZZCSfTK}b{ՌjjQ>{ZCϞ/,u+s{>lۍS"<"#4,+!UkFdY4CU_d0^`OhMm~]m$VtF;Ke_>1hZ.3!צ{vdFre] צ? =pafj;¹pREo\M7mKjgRn_a 'KbMiن>z}Y A)\Bp=5xSkvg@3XӼp;rSCjO)cd#D -EN2IrfF5{|ez<;E  TeΡNUuыlX#boR1_,.nl%SJn1xVRM]1ue挺3  07ї!Mp״NFsv}/]]5UH^b[&CNVc~l޴KzI4B؊5H2N+TLާh䰹bv<.cͧ* ^Тlv>rV=UgĊVN5-mQ]=8stftO~>LT+=7nZ{w5~4h+$_fj,k5Vdx0Vq)V ~KN-(,n7W+}~*?lYY|]UWx;6eb>Bn41նp%s_Һ8/שKdd>'iKr6Je۪m: XW.ݡ5rO^y&*bH?=櫷fqgn>$X@`ދ-:QqecٯBzӡ91Pa _+bR c7l}W+B\-d{ÀPܵ?n&/~,5=@ԞŔ!q0)!Hr4{\K{׶4SJjXTRɼ.޶m0 -2 pNHkE."efW1P a}/{ҫ8LJDHzc"(_> ,N_wÇx[/SDva|mn8}Us_q]ywh}'[H~SoʏpC~acw/( 4Anp7(M!v9늪d~D`FR?_UtOr=tJn4躞aY5[fd)=ށFH̑z~v#;NU4fXoO7 "+&ܼ Ri=,\NUߛ/.uMnC3#c [?{~ĄeЉt~?˭oE&هćw.//SMQS-CBk״uoV /hѳ7ftXz诛eFм.er+ -*J* -*j,J׼KF 2+, XZ4`k{y`k{y`k{y`k{y`k{y`k{y`k{y`{ydq\ \.7 \.7 \.7 \.7 \.7 \.7 \.7 \.7 \. \.@]%roA]%roA]%roA]%roA]%roA]%roA]%roA]%roA]%rsͻ$kwIVumcG:tun0Owajq$'0ΒP껍P*Mgc5Zov4V&г[p4Kʲ*z&5&[nZk7XϳD+:$=n68"OXRZɪUXr~+LAMufSM&IuFVu<ܯBTߞ͝LR#{WLJ?ͦ˪nSUfatiԪkuXt?╤ 5S,S+j6/=Lٸ#d)gqj2tZ+\5p ,+X`倕 VX`UVX`U -V X`UU VX`ՀU V X5gM-5Zn 2+, XZ4`k{rc`sͅ k.%X \s. -7v =\hK@Bˍ]e@Bˍ]r5Zn,{rc`sͅ k.%X \s. -7v =\hK@Bˍ]r5Zn, r5Zn,{rc`sͅ k.%X \s. -7v =\hK@Bˍ]r5Zn,{rcg \s.wIQ=x363uu;zVKÔI^=Jʟ(2NRhÃ7Ø 1YBFefڱ\~/tjVendstream -endobj - -40119 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -40120 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -40121 0 obj -<> -endobj - -40122 0 obj -<> -endobj - -40123 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -40124 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -40125 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -40126 0 obj -<> -stream -HWk8ί#%uh?DkUV"B(*([Q)pl??n7! ՛Mb?KBX0<,T)lVapQPPۺ *>x n+ i9 B<̡0%Y=f}52Ӊ9MQgׇ̢4ne~n"(m@M~#,| -) ?}  2f:"=y>ȅ}Np(4ŀEr0N/ŀSSSSS O}O<Q/<Q/<Q/<Q/=Q/=)>ԧS"SO}<>S#=RĴ.v Z,_ qi4WbB\b\׺f!=2ĵ.,ĵ.Yzϵ qis-C\bB\b\׺f!=2ĵ.,ĵ.Yzϵ qis-C\bǀ#u1ջ׺f]L|.,ĵ.Yzϵqis-G\bB\b\׺f!=rĵ.,ĵ.Yzϵqis-G\bB\b\׺f!=rĵ.v ĵ.YzZ,_iŀ4 Q6A\b\ u1`!u1B{M׺f!=&k] Xk]Lkĵ.Yzϵ ZZ,DqismŎ@\bw1`!u1ջf8$$XWvK]FHYP$$MmmDL٧N!+u3>q>Gՠ hTSYhP Xuol߃-]f2 VIqOM s؅f3s,B=śošc QnT< -'<ŠyjE^VU䆬ȢH"ϱj΃67SCy0EsV_r~1j&bJ>vĢy4SWt+1dpګ$E^^U?0'Yܬ)9wJog{OqdD-,sS.3kfuY_bL\LӚ'\.\OcwmqGRh#y - ]\|QXc܄O -6YtnHsö Mxe@Up.m^Zqx"v9І\95>VѠ$U'1Qs)禑^b'>quauVac%m/8K4oTfZ֎C e2|a.L$otqͦ3̛վ)jx#F鹯>ga,ٮB鮨a"ljwnJ}npcZF//+[{:3ZY@lٓL,H gYU;'LRAǥ0.X4~+F/ǝsp^ڎac5V|9Q+22 fÛÛ3ڑN,[VyU?(3|:Z%2{?2<OE:TbK/ZKv7\/ܠ)ͧ>pyXN4,n S^ $sI:s:3 #ڋ2r^Wj^uXǍ5BϷVM]DoKu?e6`S~Ԩ)Yo-xRwcSk5.*;V]8"̅ƽV+;v\KvL/oʢ^ dZ2cvKfS?8KH뼟Pޙ<ڪ]q샪, qEw-> =,JHsЍ܉~:hz!*z41+P-YgZzOj>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -40128 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -40129 0 obj -<> -endobj - -40130 0 obj -<> -endobj - -40131 0 obj -<> -endobj - -40132 0 obj -<> -endobj - -40133 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -40134 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -40135 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -40136 0 obj -<> -stream -HW]6}ׯ / GnчiEƋ>$E[5,fLD=RUodW?Nͅe̔FN`mD%jh֯}7z5Wv%RL60I,0&+I*L~h&0TꑛqVkv[:%R8F,ջԺ(,zW= u~)usdOLdWXg{> Kʹ40nV 'kB96LECV<]K`2+.D,>Ā% 2R/ 2R*R*R*R :R :Ro&Ro&Ro&RH}N#"R_H}I/#%[B[B}YA6$\bȊՇ׆b!X}pm!PV 1d#Jµ!,µ!,B}ZI6ĐE\+ ׆׆k%C>r$\b"\b"GkC YȵpmE6Đ1` 1dC YC>r"\b"GUkC XkC Yȵpm!PV 1` 1d#*µ!,B}ZE6ĀE6ĐE\׆k;$pm!+Vb"\bȊՇb!,µ!,B}ZM6ĐE\ ׆׆k5C>r&\b"\b"GՄkC Yȵpmpm!PV 1d#jµ!vH CV>ĀE6Đ1d-jEs}H^ەK3VDd,-[龹]݈Ho[7˰Z\W}ޟ~\W2\)ŕ-Ӿ6WϴR DqbW'ENܧCkQp39]MNizEp#YN8E`5[*_Oy΂ḰVS:OF g}ͺr˸oJ}}:tm}4Lsq1K<_oqy0Р3<pU?(V\sle6UM{=M[ʇJf-ƂR2}մ|+<qi<|ٍ7=xfJ_޹N a BMå:%'mw4ioc9jYo(`H|G'u&t9gR" -֕~h )5r^sP{—v2 k^s:%|-DD' eE7)j)2:vwpyR'? z7z`AEe*`L\tM1`r'q90n_01eDS<4DyI1 e4 1U@㹔K버OORƮy׋1bj1(3kFg>[uPXx{ MP9p|n>$ -N%Pr:+\?̈U -C#bV-X~3V2BؠX]^k߮W7}yFa=>?QZZ܆}@H򛥇RR/*$!BO/;bFho8糞TkO=yZ0z۽?yk^%sdM" ӦlѧwnGđ۠pxL1TwY)ZZ23$"c(XYlFxR7>+cI yj{ $Z ͶzD+=KI4# W[[,nrv 9&6Șɒ8D͢=j}3^wE]L8`¹olIӥq1KmX٥NY R̮/ Ekx_9T]H XILYfኘ HIXѫ'Ps qɪQ,X ȑ0TK]IxH8 Nΐ, 5g0z켢PQ/U7LwMWsRʅvJ˃~kmcF(=1đ6vP`v?x_{؀=l{N_Q"Dbx{hl3 VK容2S{U¤i[CV -WO#{ STr1Qyr'qrKK/#\<1 x.L!*: vPCROrO@ljendstream -endobj - -40137 0 obj -<>/P 625 0 R/Type/Annot/A 40138 0 R/Subtype/Link/Rect[93.6004028 603.229004 189.744995 622.908997]/Border[0 0 0]/H/N>> -endobj - -40138 0 obj -<> -endobj - -40139 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -40140 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -40141 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -40142 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -40143 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -40144 0 obj -<> -stream -HWk۸__4ń#>v@lI"q X[8CM^OȊ:s.yHsu}[=L~}5O?|*#a2E\,9t;钌<$${w~կ]?{= mC6='crܭgAYmdDs2jnV_,M^)yϳo~}+KA˒_mI>*` 2?=lDPNeW%>edM% -s8s%sTaH!fXr!,bVVBC XQ#Q#Q/"Q/"Q/"Q/#Q/#9>Ā6 +Vb1`! 1BGkC̰k93,D}Z6 Q# 1`! 1BGkC̰k93,D}Z6 Q# }"׆aC XkC̰b!fX3,D}Z6 QV 1`! 1BGkC̰k3,D}Z6 QV 1`! 1BGkC̰k'qmV>Ā6 +Vb1`! 1BGkC̰k%3,D}Z6 QV" 1`! 1BGkC̰k%3,D}Z6 QV" }# 1ÊՇ׆aC̰b*$࿳aO^JFVjax(A RɇtEYzo>&/2UdՐS+8G90] 7/IJAѧnܰ,Ճn>K'sA&NA2w!ۮѠ(ic<ɍu~ο{OSBL"'MU{F( -*TeIㅀB;ifhޭQqfOa\TULY*Rꤴ9’,eƪںsjUJN /G^[}aם'#3WJǡթgЅpK6~ڦu=zlt]=\"XVE̱,r 3Wl4SG -!3sQX!iY*65%e:[kz7~4 uA?-7PWplO:Y| xY/ ~vM7J@x 87Us$6돤맭 }=p6Y -_V m%" f Lv#[V3XF-^־==kperPbYDHsh% ^Z~n7BL{ ^7:ߍO8yJxyEC?\%ϩ4[qZ -v6gߓ\0@˼͖WYvR+Is$ -$PLArM Gmۉ!?»W5l5Nե"EE*/eFڣE}P _ZE*ϨVgY@Fl$˗+5 "jEʓ|P_"u7hRaO\L9A$- Pl5l-C_ɖY]_MjN?/ۮ֚8~\۟Qpȅd3el?O6U?m$/4aMD39=5k Z2/% -D2 ʢge #PENh /d&eYmieޝ_DI|h )3 -0毁=3S%Iet  LAoȿqWC*lV2u2W=]DT"bpݍa>?}"ඎ$aA_ T?!Ea]>IbVx3J1= -omZQmQ?ʫmGrWҠ  EؕP=h0);qzSlUr!ԩ8U/fi @7? U񽝄N]Ӡ`x$I靷{&=ϊjv -)x/d5GLa/"!̒/l-6DazR@( #A#VTb98w]*4VÏ 3jŶ{:cC$?hqǁ`,5,xDjIY{TҍxmVW]֊τ`ZQD9XRļAZUplTmCu7+2/"}ꋔk >-|).=֣Ԓ׋(NcR}&@*E0N'G=SA﹓}Kdt B7Z?*z4ܗOB  ;OۣE%ҍb3bttDTb9CO -eK0A k{o#jùJv,C팘s}T/U䡘JwX֗A;6@qhU*l(Apן:Lp)˭>ٱ,p2ƫJ"jhkǖƂI<SܠB,b]Wbo}z$l+宭R֢)Ewo XOA&DWȆ@*HUp&}с5]z2pq0ۉކRTc -=kJ9%1OK04ل y+u).A/CS0*ӄi",_-rcWAiql8)>H)͙i#8`@¨|"$˟-O-endstream -endobj - -40145 0 obj -<>/P 1250 0 R/Type/Annot/A 40146 0 R/Subtype/Link/Rect[93.6001968 663.229004 209.207993 682.908997]/Border[0 0 0]/H/N>> -endobj - -40146 0 obj -<> -endobj - -40147 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -40148 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -40149 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -40150 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -40151 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -40152 0 obj -<> -stream -HWko_e@K 8NP%Q+y;C;ٙsfgOo&{-7oϒS1R+*5mJ8{H6_Lvz̗n3<9u$6y3NN^1Ɵ p |2=/^fKM&5|5˿#r8N8S.ӯJ%g }K2eSiwdaX$,dFpBp PBĨ(CBBC$^F%^F^E^E^E5^G5^G D D D-F-FEEE=G=G3}f!жL$І}hІ}hCT>PmhC>R$TET+ Ն6@ m"GjCj%(B QHPmhC>R$TE6!`V m"GjC2QjCb PjCb Q1(B QHPmhC>R"TE6!`V m"GUjCՆ6D#*B QHPmhІ(}ZE6!`V mD mه6@ mه6DCՆ6D#jB QHPmhІ(}ZM6!`V m"TET Ն6D#jB PjCj5І(}ZM6-C6!*fE6!*f,4?89l)3!2Lzzw94SW+>>=zg'H{^ɟwdjwu/uy1DWT3kKN)c?pp k=MvW;]mzsJ*L*Ǜ!>L< wJ3+RckwD4P_9ޔL;jg\7}oכls"|/†Svx8Z؛- obq흯WU@!Y`8bwb>3\}֫"|:{~wRSokgʃᇛmvEt&]E ax?Wqk"ocXI"]"0 nDH!HT92 -CW]>Z"7>C-WVޚ{{@a=DzAs?9TM7nD{]JfS+_|&[$s_w}|ZY۫+#]\ .3(+Tok 1+V)& -k:Z$@}&:vWGQ[V@9+z.h$q3e#+U>"8Z YkTɐ/WK3WS듇|ѭQ7D3c3Yɲ.cW){05c/Zܶ}ݽo]vUվKt|ت; -|lpu}u58֐_du+3 -g*.LxXj~W_o{=jy%+U>#цGG#u̗Df~:YMEѪF@ry⊎TcfopVӪ#vkYMM -z#EpTRIFL3\A39x@ͺyTT܍l9^DRwaLQcwΥBd[8R G6YvgEU AR4nU⊮p2u~-SW-l8sƀk'辍cq_F5lO LYh .mPt ¸pEDqj6Nހ{ -c=5{7vx1tBy10u M=c̙{n2;ƿ@Ak])"<۝' SG+  -Zu^ϸo୫jn(>Y䦳u[{WT+sZ7z8hۧcj-o`FZ򢔸TC D4g#5=m滼2H..#ipűțH=ߴvE]U`4::?V)= +, -2(H0k,{Ր4 ?%jTwEt[f9rY -=Q-9;l B{8p$2h-16%~OÔ#2(RY#ekRoUjcA׮tix+)ZB]y W*6FIM@]ϠS@꺋z:iqqI^yU,<ͷҒܑ iZF B F!:vD`3NNBq^F}o jȜt1lQ+moɊ]Mp7Ads"|oev{ro6oWnljwLKeUVrЋvV9C[;)Kz>+߿ǒ?em0x|\l|` ?ҫm#+TQɜ"U(q"@Ty@q -Bk̸J_,ٳ/3{v%)f+exF;20(4 4dw~>[PCogZaqkᡕa$ӣ0֩2&Z*tSowlhjI? kyv>g=/,^u΀vi]3?PX&~O%U*ҐR\,eUx|*nj(Ф5=YwX`(nZƕnpt03vykMWAns,9]d,:]G/Obvq&ÛӣϹP6%:Y Qe -%7Q~L*g HGx#f<˝{CͽVƣC2]ȮM>:=ST?1r= h}1LCc kmDu92Ȑ 0$ZECd}fiP:qDn*M l6u^sA0 5n(7u í<4߱?E}@8S2=y볷o>6 ƃ{3B_{BRF0dޝs:Yǣ@%-lh-GGd EX&p!\$_.?.cdjd^7'z[EPc2K=sG'~afn?~|z%=Z\Mxt ڟbCWyIgK\ Ui%"EU吪sGUnG1.&y#/nN`SU i'a4}]}GOdH(e俳A!T4nNj*փCBl-E%(Q8 l8q)&|j[Rmsl U6@&jݙG8z=q&/&/ޏ^+uPendstream -endobj - -40153 0 obj -<>/P 2081 0 R/Type/Annot/A 40549 0 R/Subtype/Link/Rect[216 670 230 678]/Border[0 0 0]/H/N>> -endobj - -40154 0 obj -<>/P 2081 0 R/Type/Annot/A 40546 0 R/Subtype/Link/Rect[232 670 246 678]/Border[0 0 0]/H/N>> -endobj - -40155 0 obj -<>/P 2081 0 R/Type/Annot/A 40544 0 R/Subtype/Link/Rect[248 670 260 678]/Border[0 0 0]/H/N>> -endobj - -40156 0 obj -<>/P 2081 0 R/Type/Annot/A 40540 0 R/Subtype/Link/Rect[190 660 202 668]/Border[0 0 0]/H/N>> -endobj - -40157 0 obj -<>/P 2081 0 R/Type/Annot/A 40535 0 R/Subtype/Link/Rect[244 650 261 659]/Border[0 0 0]/H/N>> -endobj - -40158 0 obj -<>/P 2081 0 R/Type/Annot/A 40530 0 R/Subtype/Link/Rect[261 650 273 658]/Border[0 0 0]/H/N>> -endobj - -40159 0 obj -<>/P 2081 0 R/Type/Annot/A 40526 0 R/Subtype/Link/Rect[190 640 204 648]/Border[0 0 0]/H/N>> -endobj - -40160 0 obj -<>/P 2081 0 R/Type/Annot/A 40523 0 R/Subtype/Link/Rect[206 640 218 648]/Border[0 0 0]/H/N>> -endobj - -40161 0 obj -<>/P 2081 0 R/Type/Annot/A 40518 0 R/Subtype/Link/Rect[219 630 231 638]/Border[0 0 0]/H/N>> -endobj - -40162 0 obj -<>/P 2081 0 R/Type/Annot/A 40513 0 R/Subtype/Link/Rect[296 620 304 628]/Border[0 0 0]/H/N>> -endobj - -40163 0 obj -<>/P 2081 0 R/Type/Annot/A 40509 0 R/Subtype/Link/Rect[197 610 209 618]/Border[0 0 0]/H/N>> -endobj - -40164 0 obj -<>/P 2081 0 R/Type/Annot/A 40505 0 R/Subtype/Link/Rect[202 600 219 609]/Border[0 0 0]/H/N>> -endobj - -40165 0 obj -<>/P 2081 0 R/Type/Annot/A 40501 0 R/Subtype/Link/Rect[219 600 233 608]/Border[0 0 0]/H/N>> -endobj - -40166 0 obj -<>/P 2081 0 R/Type/Annot/A 40497 0 R/Subtype/Link/Rect[235 600 252 609]/Border[0 0 0]/H/N>> -endobj - -40167 0 obj -<>/P 2081 0 R/Type/Annot/A 40493 0 R/Subtype/Link/Rect[253 600 267 608]/Border[0 0 0]/H/N>> -endobj - -40168 0 obj -<>/P 2081 0 R/Type/Annot/A 40491 0 R/Subtype/Link/Rect[269 600 283 608]/Border[0 0 0]/H/N>> -endobj - -40169 0 obj -<>/P 2081 0 R/Type/Annot/A 40487 0 R/Subtype/Link/Rect[285 600 299 608]/Border[0 0 0]/H/N>> -endobj - -40170 0 obj -<>/P 2081 0 R/Type/Annot/A 40485 0 R/Subtype/Link/Rect[151 590 168 599]/Border[0 0 0]/H/N>> -endobj - -40171 0 obj -<>/P 2081 0 R/Type/Annot/A 40481 0 R/Subtype/Link/Rect[168 590 182 598]/Border[0 0 0]/H/N>> -endobj - -40172 0 obj -<>/P 2081 0 R/Type/Annot/A 40478 0 R/Subtype/Link/Rect[184 590 198 598]/Border[0 0 0]/H/N>> -endobj - -40173 0 obj -<>/P 2081 0 R/Type/Annot/A 40474 0 R/Subtype/Link/Rect[200 590 212 598]/Border[0 0 0]/H/N>> -endobj - -40174 0 obj -<>/P 2081 0 R/Type/Annot/A 40470 0 R/Subtype/Link/Rect[207 580 221 588]/Border[0 0 0]/H/N>> -endobj - -40175 0 obj -<>/P 2081 0 R/Type/Annot/A 40467 0 R/Subtype/Link/Rect[223 580 240 589]/Border[0 0 0]/H/N>> -endobj - -40176 0 obj -<>/P 2081 0 R/Type/Annot/A 40464 0 R/Subtype/Link/Rect[240 580 254 588]/Border[0 0 0]/H/N>> -endobj - -40177 0 obj -<>/P 2081 0 R/Type/Annot/A 40461 0 R/Subtype/Link/Rect[256 580 268 588]/Border[0 0 0]/H/N>> -endobj - -40178 0 obj -<>/P 2081 0 R/Type/Annot/A 40457 0 R/Subtype/Link/Rect[197 570 209 578]/Border[0 0 0]/H/N>> -endobj - -40179 0 obj -<>/P 2081 0 R/Type/Annot/A 40454 0 R/Subtype/Link/Rect[207 560 219 568]/Border[0 0 0]/H/N>> -endobj - -40180 0 obj -<>/P 2081 0 R/Type/Annot/A 40452 0 R/Subtype/Link/Rect[193 550 209 559]/Border[0 0 0]/H/N>> -endobj - -40181 0 obj -<>/P 2081 0 R/Type/Annot/A 40448 0 R/Subtype/Link/Rect[210 550 224 558]/Border[0 0 0]/H/N>> -endobj - -40182 0 obj -<>/P 2081 0 R/Type/Annot/A 40444 0 R/Subtype/Link/Rect[226 550 238 558]/Border[0 0 0]/H/N>> -endobj - -40183 0 obj -<>/P 2081 0 R/Type/Annot/A 40441 0 R/Subtype/Link/Rect[202 540 216 548]/Border[0 0 0]/H/N>> -endobj - -40184 0 obj -<>/P 2081 0 R/Type/Annot/A 40438 0 R/Subtype/Link/Rect[218 540 232 548]/Border[0 0 0]/H/N>> -endobj - -40185 0 obj -<>/P 2081 0 R/Type/Annot/A 40435 0 R/Subtype/Link/Rect[234 540 248 548]/Border[0 0 0]/H/N>> -endobj - -40186 0 obj -<>/P 2081 0 R/Type/Annot/A 40433 0 R/Subtype/Link/Rect[250 540 264 548]/Border[0 0 0]/H/N>> -endobj - -40187 0 obj -<>/P 2081 0 R/Type/Annot/A 40431 0 R/Subtype/Link/Rect[266 540 280 548]/Border[0 0 0]/H/N>> -endobj - -40188 0 obj -<>/P 2081 0 R/Type/Annot/A 40428 0 R/Subtype/Link/Rect[282 540 296 548]/Border[0 0 0]/H/N>> -endobj - -40189 0 obj -<>/P 2081 0 R/Type/Annot/A 40426 0 R/Subtype/Link/Rect[151 530 168 539]/Border[0 0 0]/H/N>> -endobj - -40190 0 obj -<>/P 2081 0 R/Type/Annot/A 40422 0 R/Subtype/Link/Rect[168 530 182 538]/Border[0 0 0]/H/N>> -endobj - -40191 0 obj -<>/P 2081 0 R/Type/Annot/A 40547 0 R/Subtype/Link/Rect[184 530 196 538]/Border[0 0 0]/H/N>> -endobj - -40192 0 obj -<>/P 2081 0 R/Type/Annot/A 40591 0 R/Subtype/Link/Rect[212 520 226 528]/Border[0 0 0]/H/N>> -endobj - -40193 0 obj -<>/P 2081 0 R/Type/Annot/A 40539 0 R/Subtype/Link/Rect[228 520 240 528]/Border[0 0 0]/H/N>> -endobj - -40194 0 obj -<>/P 2081 0 R/Type/Annot/A 40534 0 R/Subtype/Link/Rect[198 510 210 518]/Border[0 0 0]/H/N>> -endobj - -40195 0 obj -<>/P 2081 0 R/Type/Annot/A 40529 0 R/Subtype/Link/Rect[172 500 186 508]/Border[0 0 0]/H/N>> -endobj - -40196 0 obj -<>/P 2081 0 R/Type/Annot/A 40525 0 R/Subtype/Link/Rect[188 500 200 508]/Border[0 0 0]/H/N>> -endobj - -40197 0 obj -<>/P 2081 0 R/Type/Annot/A 40522 0 R/Subtype/Link/Rect[197 490 209 498]/Border[0 0 0]/H/N>> -endobj - -40198 0 obj -<>/P 2081 0 R/Type/Annot/A 40517 0 R/Subtype/Link/Rect[226 480 240 488]/Border[0 0 0]/H/N>> -endobj - -40199 0 obj -<>/P 2081 0 R/Type/Annot/A 40512 0 R/Subtype/Link/Rect[242 480 256 488]/Border[0 0 0]/H/N>> -endobj - -40200 0 obj -<>/P 2081 0 R/Type/Annot/A 40508 0 R/Subtype/Link/Rect[258 480 272 488]/Border[0 0 0]/H/N>> -endobj - -40201 0 obj -<>/P 2081 0 R/Type/Annot/A 40504 0 R/Subtype/Link/Rect[274 480 288 488]/Border[0 0 0]/H/N>> -endobj - -40202 0 obj -<>/P 2081 0 R/Type/Annot/A 40499 0 R/Subtype/Link/Rect[290 480 302 488]/Border[0 0 0]/H/N>> -endobj - -40203 0 obj -<>/P 2081 0 R/Type/Annot/A 40495 0 R/Subtype/Link/Rect[236 470 248 478]/Border[0 0 0]/H/N>> -endobj - -40204 0 obj -<>/P 2081 0 R/Type/Annot/A 40492 0 R/Subtype/Link/Rect[236 460 248 468]/Border[0 0 0]/H/N>> -endobj - -40205 0 obj -<>/P 2081 0 R/Type/Annot/A 40490 0 R/Subtype/Link/Rect[216 450 233 459]/Border[0 0 0]/H/N>> -endobj - -40206 0 obj -<>/P 2081 0 R/Type/Annot/A 40486 0 R/Subtype/Link/Rect[234 450 246 458]/Border[0 0 0]/H/N>> -endobj - -40207 0 obj -<>/P 2081 0 R/Type/Annot/A 40483 0 R/Subtype/Link/Rect[190 440 202 448]/Border[0 0 0]/H/N>> -endobj - -40208 0 obj -<>/P 2081 0 R/Type/Annot/A 40479 0 R/Subtype/Link/Rect[194 430 208 438]/Border[0 0 0]/H/N>> -endobj - -40209 0 obj -<>/P 2081 0 R/Type/Annot/A 40476 0 R/Subtype/Link/Rect[210 430 227 439]/Border[0 0 0]/H/N>> -endobj - -40210 0 obj -<>/P 2081 0 R/Type/Annot/A 40472 0 R/Subtype/Link/Rect[227 430 239 438]/Border[0 0 0]/H/N>> -endobj - -40211 0 obj -<>/P 2081 0 R/Type/Annot/A 40468 0 R/Subtype/Link/Rect[212 420 226 428]/Border[0 0 0]/H/N>> -endobj - -40212 0 obj -<>/P 2081 0 R/Type/Annot/A 40465 0 R/Subtype/Link/Rect[228 420 242 428]/Border[0 0 0]/H/N>> -endobj - -40213 0 obj -<>/P 2081 0 R/Type/Annot/A 40462 0 R/Subtype/Link/Rect[244 420 258 428]/Border[0 0 0]/H/N>> -endobj - -40214 0 obj -<>/P 2081 0 R/Type/Annot/A 40458 0 R/Subtype/Link/Rect[260 420 276 429]/Border[0 0 0]/H/N>> -endobj - -40215 0 obj -<>/P 2081 0 R/Type/Annot/A 40455 0 R/Subtype/Link/Rect[277 420 289 428]/Border[0 0 0]/H/N>> -endobj - -40216 0 obj -<>/P 2081 0 R/Type/Annot/A 40453 0 R/Subtype/Link/Rect[190 410 202 418]/Border[0 0 0]/H/N>> -endobj - -40217 0 obj -<>/P 2081 0 R/Type/Annot/A 40449 0 R/Subtype/Link/Rect[212 400 228 409]/Border[0 0 0]/H/N>> -endobj - -40218 0 obj -<>/P 2081 0 R/Type/Annot/A 40445 0 R/Subtype/Link/Rect[229 400 243 408]/Border[0 0 0]/H/N>> -endobj - -40219 0 obj -<>/P 2081 0 R/Type/Annot/A 40442 0 R/Subtype/Link/Rect[245 400 257 408]/Border[0 0 0]/H/N>> -endobj - -40220 0 obj -<>/P 2081 0 R/Type/Annot/A 40439 0 R/Subtype/Link/Rect[190 390 202 398]/Border[0 0 0]/H/N>> -endobj - -40221 0 obj -<>/P 2081 0 R/Type/Annot/A 40437 0 R/Subtype/Link/Rect[196 380 204 388]/Border[0 0 0]/H/N>> -endobj - -40222 0 obj -<>/P 2081 0 R/Type/Annot/A 40434 0 R/Subtype/Link/Rect[236 370 252 379]/Border[0 0 0]/H/N>> -endobj - -40223 0 obj -<>/P 2081 0 R/Type/Annot/A 40432 0 R/Subtype/Link/Rect[253 370 265 378]/Border[0 0 0]/H/N>> -endobj - -40224 0 obj -<>/P 2081 0 R/Type/Annot/A 40551 0 R/Subtype/Link/Rect[202 360 219 369]/Border[0 0 0]/H/N>> -endobj - -40225 0 obj -<>/P 2081 0 R/Type/Annot/A 40425 0 R/Subtype/Link/Rect[219 360 231 368]/Border[0 0 0]/H/N>> -endobj - -40226 0 obj -<>/P 2081 0 R/Type/Annot/A 40421 0 R/Subtype/Link/Rect[255 350 272 359]/Border[0 0 0]/H/N>> -endobj - -40227 0 obj -<>/P 2081 0 R/Type/Annot/A 40543 0 R/Subtype/Link/Rect[272 350 284 358]/Border[0 0 0]/H/N>> -endobj - -40228 0 obj -<>/P 2081 0 R/Type/Annot/A 40538 0 R/Subtype/Link/Rect[207 340 223 349]/Border[0 0 0]/H/N>> -endobj - -40229 0 obj -<>/P 2081 0 R/Type/Annot/A 40533 0 R/Subtype/Link/Rect[224 340 238 348]/Border[0 0 0]/H/N>> -endobj - -40230 0 obj -<>/P 2081 0 R/Type/Annot/A 40528 0 R/Subtype/Link/Rect[240 340 254 348]/Border[0 0 0]/H/N>> -endobj - -40231 0 obj -<>/P 2081 0 R/Type/Annot/A 44671 0 R/Subtype/Link/Rect[256 340 268 348]/Border[0 0 0]/H/N>> -endobj - -40232 0 obj -<>/P 2081 0 R/Type/Annot/A 40521 0 R/Subtype/Link/Rect[190 330 202 339]/Border[0 0 0]/H/N>> -endobj - -40233 0 obj -<>/P 2081 0 R/Type/Annot/A 40516 0 R/Subtype/Link/Rect[216 320 230 329]/Border[0 0 0]/H/N>> -endobj - -40234 0 obj -<>/P 2081 0 R/Type/Annot/A 40511 0 R/Subtype/Link/Rect[232 320 246 329]/Border[0 0 0]/H/N>> -endobj - -40235 0 obj -<>/P 2081 0 R/Type/Annot/A 40507 0 R/Subtype/Link/Rect[248 320 265 329]/Border[0 0 0]/H/N>> -endobj - -40236 0 obj -<>/P 2081 0 R/Type/Annot/A 40503 0 R/Subtype/Link/Rect[266 320 278 329]/Border[0 0 0]/H/N>> -endobj - -40237 0 obj -<>/P 2081 0 R/Type/Annot/A 40498 0 R/Subtype/Link/Rect[190 310 202 319]/Border[0 0 0]/H/N>> -endobj - -40238 0 obj -<>/P 2081 0 R/Type/Annot/A 40494 0 R/Subtype/Link/Rect[221 300 235 309]/Border[0 0 0]/H/N>> -endobj - -40239 0 obj -<>/P 2081 0 R/Type/Annot/A 43028 0 R/Subtype/Link/Rect[237 300 251 309]/Border[0 0 0]/H/N>> -endobj - -40240 0 obj -<>/P 2081 0 R/Type/Annot/A 40488 0 R/Subtype/Link/Rect[253 300 267 309]/Border[0 0 0]/H/N>> -endobj - -40241 0 obj -<>/P 2081 0 R/Type/Annot/A 40484 0 R/Subtype/Link/Rect[269 300 281 309]/Border[0 0 0]/H/N>> -endobj - -40242 0 obj -<>/P 2081 0 R/Type/Annot/A 40480 0 R/Subtype/Link/Rect[190 290 202 299]/Border[0 0 0]/H/N>> -endobj - -40243 0 obj -<>/P 2081 0 R/Type/Annot/A 40477 0 R/Subtype/Link/Rect[212 280 228 289]/Border[0 0 0]/H/N>> -endobj - -40244 0 obj -<>/P 2081 0 R/Type/Annot/A 40473 0 R/Subtype/Link/Rect[229 280 243 289]/Border[0 0 0]/H/N>> -endobj - -40245 0 obj -<>/P 2081 0 R/Type/Annot/A 40469 0 R/Subtype/Link/Rect[245 280 259 289]/Border[0 0 0]/H/N>> -endobj - -40246 0 obj -<>/P 2081 0 R/Type/Annot/A 40466 0 R/Subtype/Link/Rect[261 280 273 289]/Border[0 0 0]/H/N>> -endobj - -40247 0 obj -<>/P 2081 0 R/Type/Annot/A 40463 0 R/Subtype/Link/Rect[190 270 202 279]/Border[0 0 0]/H/N>> -endobj - -40248 0 obj -<>/P 2081 0 R/Type/Annot/A 40459 0 R/Subtype/Link/Rect[217 260 229 269]/Border[0 0 0]/H/N>> -endobj - -40249 0 obj -<>/P 2081 0 R/Type/Annot/A 40456 0 R/Subtype/Link/Rect[221 250 235 259]/Border[0 0 0]/H/N>> -endobj - -40250 0 obj -<>/P 2081 0 R/Type/Annot/A 43967 0 R/Subtype/Link/Rect[237 250 249 259]/Border[0 0 0]/H/N>> -endobj - -40251 0 obj -<>/P 2081 0 R/Type/Annot/A 40450 0 R/Subtype/Link/Rect[150 240 160 249]/Border[0 0 0]/H/N>> -endobj - -40252 0 obj -<>/P 2081 0 R/Type/Annot/A 40446 0 R/Subtype/Link/Rect[162 240 174 249]/Border[0 0 0]/H/N>> -endobj - -40253 0 obj -<>/P 2081 0 R/Type/Annot/A 40443 0 R/Subtype/Link/Rect[192 230 206 239]/Border[0 0 0]/H/N>> -endobj - -40254 0 obj -<>/P 2081 0 R/Type/Annot/A 40557 0 R/Subtype/Link/Rect[208 230 222 239]/Border[0 0 0]/H/N>> -endobj - -40255 0 obj -<>/P 2081 0 R/Type/Annot/A 40436 0 R/Subtype/Link/Rect[224 230 241 239]/Border[0 0 0]/H/N>> -endobj - -40256 0 obj -<>/P 2081 0 R/Type/Annot/A 40553 0 R/Subtype/Link/Rect[242 230 256 239]/Border[0 0 0]/H/N>> -endobj - -40257 0 obj -<>/P 2081 0 R/Type/Annot/A 40430 0 R/Subtype/Link/Rect[258 230 272 239]/Border[0 0 0]/H/N>> -endobj - -40258 0 obj -<>/P 2081 0 R/Type/Annot/A 40427 0 R/Subtype/Link/Rect[274 230 290 239]/Border[0 0 0]/H/N>> -endobj - -40259 0 obj -<>/P 2081 0 R/Type/Annot/A 40424 0 R/Subtype/Link/Rect[291 230 305 239]/Border[0 0 0]/H/N>> -endobj - -40260 0 obj -<>/P 2081 0 R/Type/Annot/A 40542 0 R/Subtype/Link/Rect[151 220 165 229]/Border[0 0 0]/H/N>> -endobj - -40261 0 obj -<>/P 2081 0 R/Type/Annot/A 42222 0 R/Subtype/Link/Rect[167 220 184 229]/Border[0 0 0]/H/N>> -endobj - -40262 0 obj -<>/P 2081 0 R/Type/Annot/A 43514 0 R/Subtype/Link/Rect[184 220 198 229]/Border[0 0 0]/H/N>> -endobj - -40263 0 obj -<>/P 2081 0 R/Type/Annot/A 43465 0 R/Subtype/Link/Rect[200 220 217 229]/Border[0 0 0]/H/N>> -endobj - -40264 0 obj -<>/P 2081 0 R/Type/Annot/A 44691 0 R/Subtype/Link/Rect[218 220 232 229]/Border[0 0 0]/H/N>> -endobj - -40265 0 obj -<>/P 2081 0 R/Type/Annot/A 40520 0 R/Subtype/Link/Rect[234 220 250 229]/Border[0 0 0]/H/N>> -endobj - -40266 0 obj -<>/P 2081 0 R/Type/Annot/A 40514 0 R/Subtype/Link/Rect[251 220 265 229]/Border[0 0 0]/H/N>> -endobj - -40267 0 obj -<>/P 2081 0 R/Type/Annot/A 40579 0 R/Subtype/Link/Rect[267 220 279 229]/Border[0 0 0]/H/N>> -endobj - -40268 0 obj -<>/P 2081 0 R/Type/Annot/A 43260 0 R/Subtype/Link/Rect[190 210 202 219]/Border[0 0 0]/H/N>> -endobj - -40269 0 obj -<>/P 2081 0 R/Type/Annot/A 40500 0 R/Subtype/Link/Rect[197 200 209 209]/Border[0 0 0]/H/N>> -endobj - -40270 0 obj -<>/P 2081 0 R/Type/Annot/A 40496 0 R/Subtype/Link/Rect[180 190 184 199]/Border[0 0 0]/H/N>> -endobj - -40271 0 obj -<>/P 2081 0 R/Type/Annot/A 43141 0 R/Subtype/Link/Rect[240 180 257 189]/Border[0 0 0]/H/N>> -endobj - -40272 0 obj -<>/P 2081 0 R/Type/Annot/A 40489 0 R/Subtype/Link/Rect[258 180 270 189]/Border[0 0 0]/H/N>> -endobj - -40273 0 obj -<>/P 2081 0 R/Type/Annot/A 41687 0 R/Subtype/Link/Rect[190 170 202 179]/Border[0 0 0]/H/N>> -endobj - -40274 0 obj -<>/P 2081 0 R/Type/Annot/A 40482 0 R/Subtype/Link/Rect[212 160 226 169]/Border[0 0 0]/H/N>> -endobj - -40275 0 obj -<>/P 2081 0 R/Type/Annot/A 42983 0 R/Subtype/Link/Rect[228 160 242 169]/Border[0 0 0]/H/N>> -endobj - -40276 0 obj -<>/P 2081 0 R/Type/Annot/A 40475 0 R/Subtype/Link/Rect[244 160 256 169]/Border[0 0 0]/H/N>> -endobj - -40277 0 obj -<>/P 2081 0 R/Type/Annot/A 40471 0 R/Subtype/Link/Rect[395 670 409 678]/Border[0 0 0]/H/N>> -endobj - -40278 0 obj -<>/P 2081 0 R/Type/Annot/A 40566 0 R/Subtype/Link/Rect[411 670 423 678]/Border[0 0 0]/H/N>> -endobj - -40279 0 obj -<>/P 2081 0 R/Type/Annot/A 42844 0 R/Subtype/Link/Rect[507 660 515 668]/Border[0 0 0]/H/N>> -endobj - -40280 0 obj -<>/P 2081 0 R/Type/Annot/A 40460 0 R/Subtype/Link/Rect[414 620 428 628]/Border[0 0 0]/H/N>> -endobj - -40281 0 obj -<>/P 2081 0 R/Type/Annot/A 42757 0 R/Subtype/Link/Rect[430 620 444 628]/Border[0 0 0]/H/N>> -endobj - -40282 0 obj -<>/P 2081 0 R/Type/Annot/A 42723 0 R/Subtype/Link/Rect[446 620 460 628]/Border[0 0 0]/H/N>> -endobj - -40283 0 obj -<>/P 2081 0 R/Type/Annot/A 40451 0 R/Subtype/Link/Rect[462 620 474 628]/Border[0 0 0]/H/N>> -endobj - -40284 0 obj -<>/P 2081 0 R/Type/Annot/A 40447 0 R/Subtype/Link/Rect[399 610 405 618]/Border[0 0 0]/H/N>> -endobj - -40285 0 obj -<>/P 2081 0 R/Type/Annot/A 43883 0 R/Subtype/Link/Rect[407 610 416 619]/Border[0 0 0]/H/N>> -endobj - -40286 0 obj -<>/P 2081 0 R/Type/Annot/A 40440 0 R/Subtype/Link/Rect[417 610 427 618]/Border[0 0 0]/H/N>> -endobj - -40287 0 obj -<>/P 2081 0 R/Type/Annot/A 40554 0 R/Subtype/Link/Rect[429 610 443 618]/Border[0 0 0]/H/N>> -endobj - -40288 0 obj -<>/P 2081 0 R/Type/Annot/A 40626 0 R/Subtype/Link/Rect[445 610 459 618]/Border[0 0 0]/H/N>> -endobj - -40289 0 obj -<>/P 2081 0 R/Type/Annot/A 40429 0 R/Subtype/Link/Rect[461 610 477 619]/Border[0 0 0]/H/N>> -endobj - -40290 0 obj -<>/P 2081 0 R/Type/Annot/A 42397 0 R/Subtype/Link/Rect[478 610 492 618]/Border[0 0 0]/H/N>> -endobj - -40291 0 obj -<>/P 2081 0 R/Type/Annot/A 40423 0 R/Subtype/Link/Rect[494 610 508 618]/Border[0 0 0]/H/N>> -endobj - -40292 0 obj -<>/P 2081 0 R/Type/Annot/A 40537 0 R/Subtype/Link/Rect[359 600 373 608]/Border[0 0 0]/H/N>> -endobj - -40293 0 obj -<>/P 2081 0 R/Type/Annot/A 40532 0 R/Subtype/Link/Rect[375 600 392 609]/Border[0 0 0]/H/N>> -endobj - -40294 0 obj -<>/P 2081 0 R/Type/Annot/A 40672 0 R/Subtype/Link/Rect[392 600 404 608]/Border[0 0 0]/H/N>> -endobj - -40295 0 obj -<>/P 2081 0 R/Type/Annot/A 40671 0 R/Subtype/Link/Rect[412 590 421 599]/Border[0 0 0]/H/N>> -endobj - -40296 0 obj -<>/P 2081 0 R/Type/Annot/A 40670 0 R/Subtype/Link/Rect[422 590 426 598]/Border[0 0 0]/H/N>> -endobj - -40297 0 obj -<>/P 2081 0 R/Type/Annot/A 40669 0 R/Subtype/Link/Rect[394 580 406 588]/Border[0 0 0]/H/N>> -endobj - -40298 0 obj -<>/P 2081 0 R/Type/Annot/A 40668 0 R/Subtype/Link/Rect[410 570 420 578]/Border[0 0 0]/H/N>> -endobj - -40299 0 obj -<>/P 2081 0 R/Type/Annot/A 40667 0 R/Subtype/Link/Rect[422 570 432 578]/Border[0 0 0]/H/N>> -endobj - -40300 0 obj -<>/P 2081 0 R/Type/Annot/A 40666 0 R/Subtype/Link/Rect[434 570 444 578]/Border[0 0 0]/H/N>> -endobj - -40301 0 obj -<>/P 2081 0 R/Type/Annot/A 40665 0 R/Subtype/Link/Rect[446 570 456 578]/Border[0 0 0]/H/N>> -endobj - -40302 0 obj -<>/P 2081 0 R/Type/Annot/A 40664 0 R/Subtype/Link/Rect[458 570 470 578]/Border[0 0 0]/H/N>> -endobj - -40303 0 obj -<>/P 2081 0 R/Type/Annot/A 40663 0 R/Subtype/Link/Rect[437 560 449 568]/Border[0 0 0]/H/N>> -endobj - -40304 0 obj -<>/P 2081 0 R/Type/Annot/A 40662 0 R/Subtype/Link/Rect[394 550 406 558]/Border[0 0 0]/H/N>> -endobj - -40305 0 obj -<>/P 2081 0 R/Type/Annot/A 40661 0 R/Subtype/Link/Rect[386 540 400 548]/Border[0 0 0]/H/N>> -endobj - -40306 0 obj -<>/P 2081 0 R/Type/Annot/A 40660 0 R/Subtype/Link/Rect[402 540 414 548]/Border[0 0 0]/H/N>> -endobj - -40307 0 obj -<>/P 2081 0 R/Type/Annot/A 40659 0 R/Subtype/Link/Rect[433 530 443 538]/Border[0 0 0]/H/N>> -endobj - -40308 0 obj -<>/P 2081 0 R/Type/Annot/A 40658 0 R/Subtype/Link/Rect[445 530 457 538]/Border[0 0 0]/H/N>> -endobj - -40309 0 obj -<>/P 2081 0 R/Type/Annot/A 40657 0 R/Subtype/Link/Rect[410 520 422 528]/Border[0 0 0]/H/N>> -endobj - -40310 0 obj -<>/P 2081 0 R/Type/Annot/A 40656 0 R/Subtype/Link/Rect[418 510 426 518]/Border[0 0 0]/H/N>> -endobj - -40311 0 obj -<>/P 2081 0 R/Type/Annot/A 40655 0 R/Subtype/Link/Rect[455 500 467 508]/Border[0 0 0]/H/N>> -endobj - -40312 0 obj -<>/P 2081 0 R/Type/Annot/A 40654 0 R/Subtype/Link/Rect[391 490 405 498]/Border[0 0 0]/H/N>> -endobj - -40313 0 obj -<>/P 2081 0 R/Type/Annot/A 40653 0 R/Subtype/Link/Rect[407 490 419 498]/Border[0 0 0]/H/N>> -endobj - -40314 0 obj -<>/P 2081 0 R/Type/Annot/A 40652 0 R/Subtype/Link/Rect[409 480 423 488]/Border[0 0 0]/H/N>> -endobj - -40315 0 obj -<>/P 2081 0 R/Type/Annot/A 40651 0 R/Subtype/Link/Rect[425 480 441 489]/Border[0 0 0]/H/N>> -endobj - -40316 0 obj -<>/P 2081 0 R/Type/Annot/A 40650 0 R/Subtype/Link/Rect[442 480 454 488]/Border[0 0 0]/H/N>> -endobj - -40317 0 obj -<>/P 2081 0 R/Type/Annot/A 40649 0 R/Subtype/Link/Rect[433 470 445 478]/Border[0 0 0]/H/N>> -endobj - -40318 0 obj -<>/P 2081 0 R/Type/Annot/A 40648 0 R/Subtype/Link/Rect[403 460 417 468]/Border[0 0 0]/H/N>> -endobj - -40319 0 obj -<>/P 2081 0 R/Type/Annot/A 40647 0 R/Subtype/Link/Rect[419 460 433 468]/Border[0 0 0]/H/N>> -endobj - -40320 0 obj -<>/P 2081 0 R/Type/Annot/A 40646 0 R/Subtype/Link/Rect[435 460 449 468]/Border[0 0 0]/H/N>> -endobj - -40321 0 obj -<>/P 2081 0 R/Type/Annot/A 40645 0 R/Subtype/Link/Rect[451 460 465 468]/Border[0 0 0]/H/N>> -endobj - -40322 0 obj -<>/P 2081 0 R/Type/Annot/A 40644 0 R/Subtype/Link/Rect[467 460 484 469]/Border[0 0 0]/H/N>> -endobj - -40323 0 obj -<>/P 2081 0 R/Type/Annot/A 40643 0 R/Subtype/Link/Rect[484 460 498 468]/Border[0 0 0]/H/N>> -endobj - -40324 0 obj -<>/P 2081 0 R/Type/Annot/A 40642 0 R/Subtype/Link/Rect[500 460 512 468]/Border[0 0 0]/H/N>> -endobj - -40325 0 obj -<>/P 2081 0 R/Type/Annot/A 40641 0 R/Subtype/Link/Rect[387 450 401 458]/Border[0 0 0]/H/N>> -endobj - -40326 0 obj -<>/P 2081 0 R/Type/Annot/A 40640 0 R/Subtype/Link/Rect[403 450 415 458]/Border[0 0 0]/H/N>> -endobj - -40327 0 obj -<>/P 2081 0 R/Type/Annot/A 40639 0 R/Subtype/Link/Rect[392 440 406 448]/Border[0 0 0]/H/N>> -endobj - -40328 0 obj -<>/P 2081 0 R/Type/Annot/A 40638 0 R/Subtype/Link/Rect[408 440 420 448]/Border[0 0 0]/H/N>> -endobj - -40329 0 obj -<>/P 2081 0 R/Type/Annot/A 40637 0 R/Subtype/Link/Rect[425 430 437 438]/Border[0 0 0]/H/N>> -endobj - -40330 0 obj -<>/P 2081 0 R/Type/Annot/A 40636 0 R/Subtype/Link/Rect[405 420 418 429]/Border[0 0 0]/H/N>> -endobj - -40331 0 obj -<>/P 2081 0 R/Type/Annot/A 40635 0 R/Subtype/Link/Rect[418 420 428 428]/Border[0 0 0]/H/N>> -endobj - -40332 0 obj -<>/P 2081 0 R/Type/Annot/A 40634 0 R/Subtype/Link/Rect[430 420 440 428]/Border[0 0 0]/H/N>> -endobj - -40333 0 obj -<>/P 2081 0 R/Type/Annot/A 40633 0 R/Subtype/Link/Rect[442 420 456 428]/Border[0 0 0]/H/N>> -endobj - -40334 0 obj -<>/P 2081 0 R/Type/Annot/A 40632 0 R/Subtype/Link/Rect[458 420 472 428]/Border[0 0 0]/H/N>> -endobj - -40335 0 obj -<>/P 2081 0 R/Type/Annot/A 40631 0 R/Subtype/Link/Rect[474 420 488 428]/Border[0 0 0]/H/N>> -endobj - -40336 0 obj -<>/P 2081 0 R/Type/Annot/A 40630 0 R/Subtype/Link/Rect[490 420 504 428]/Border[0 0 0]/H/N>> -endobj - -40337 0 obj -<>/P 2081 0 R/Type/Annot/A 40629 0 R/Subtype/Link/Rect[359 410 373 418]/Border[0 0 0]/H/N>> -endobj - -40338 0 obj -<>/P 2081 0 R/Type/Annot/A 40628 0 R/Subtype/Link/Rect[375 410 389 418]/Border[0 0 0]/H/N>> -endobj - -40339 0 obj -<>/P 2081 0 R/Type/Annot/A 40627 0 R/Subtype/Link/Rect[391 410 403 418]/Border[0 0 0]/H/N>> -endobj - -40340 0 obj -<>/P 2081 0 R/Type/Annot/A 40625 0 R/Subtype/Link/Rect[398 400 410 408]/Border[0 0 0]/H/N>> -endobj - -40341 0 obj -<>/P 2081 0 R/Type/Annot/A 40624 0 R/Subtype/Link/Rect[425 390 437 399]/Border[0 0 0]/H/N>> -endobj - -40342 0 obj -<>/P 2081 0 R/Type/Annot/A 40623 0 R/Subtype/Link/Rect[438 390 448 398]/Border[0 0 0]/H/N>> -endobj - -40343 0 obj -<>/P 2081 0 R/Type/Annot/A 40622 0 R/Subtype/Link/Rect[450 390 460 398]/Border[0 0 0]/H/N>> -endobj - -40344 0 obj -<>/P 2081 0 R/Type/Annot/A 40621 0 R/Subtype/Link/Rect[462 390 472 398]/Border[0 0 0]/H/N>> -endobj - -40345 0 obj -<>/P 2081 0 R/Type/Annot/A 40620 0 R/Subtype/Link/Rect[474 390 482 398]/Border[0 0 0]/H/N>> -endobj - -40346 0 obj -<>/P 2081 0 R/Type/Annot/A 40619 0 R/Subtype/Link/Rect[415 380 425 388]/Border[0 0 0]/H/N>> -endobj - -40347 0 obj -<>/P 2081 0 R/Type/Annot/A 40618 0 R/Subtype/Link/Rect[427 380 437 388]/Border[0 0 0]/H/N>> -endobj - -40348 0 obj -<>/P 2081 0 R/Type/Annot/A 40617 0 R/Subtype/Link/Rect[439 380 453 388]/Border[0 0 0]/H/N>> -endobj - -40349 0 obj -<>/P 2081 0 R/Type/Annot/A 40616 0 R/Subtype/Link/Rect[455 380 469 388]/Border[0 0 0]/H/N>> -endobj - -40350 0 obj -<>/P 2081 0 R/Type/Annot/A 40615 0 R/Subtype/Link/Rect[471 380 484 388]/Border[0 0 0]/H/N>> -endobj - -40351 0 obj -<>/P 2081 0 R/Type/Annot/A 40614 0 R/Subtype/Link/Rect[486 380 503 389]/Border[0 0 0]/H/N>> -endobj - -40352 0 obj -<>/P 2081 0 R/Type/Annot/A 40613 0 R/Subtype/Link/Rect[503 380 517 388]/Border[0 0 0]/H/N>> -endobj - -40353 0 obj -<>/P 2081 0 R/Type/Annot/A 40612 0 R/Subtype/Link/Rect[359 370 373 378]/Border[0 0 0]/H/N>> -endobj - -40354 0 obj -<>/P 2081 0 R/Type/Annot/A 40611 0 R/Subtype/Link/Rect[375 370 392 379]/Border[0 0 0]/H/N>> -endobj - -40355 0 obj -<>/P 2081 0 R/Type/Annot/A 40610 0 R/Subtype/Link/Rect[392 370 406 378]/Border[0 0 0]/H/N>> -endobj - -40356 0 obj -<>/P 2081 0 R/Type/Annot/A 40609 0 R/Subtype/Link/Rect[408 370 422 378]/Border[0 0 0]/H/N>> -endobj - -40357 0 obj -<>/P 2081 0 R/Type/Annot/A 40608 0 R/Subtype/Link/Rect[424 370 438 378]/Border[0 0 0]/H/N>> -endobj - -40358 0 obj -<>/P 2081 0 R/Type/Annot/A 40607 0 R/Subtype/Link/Rect[440 370 452 378]/Border[0 0 0]/H/N>> -endobj - -40359 0 obj -<>/P 2081 0 R/Type/Annot/A 40606 0 R/Subtype/Link/Rect[396 360 410 368]/Border[0 0 0]/H/N>> -endobj - -40360 0 obj -<>/P 2081 0 R/Type/Annot/A 40605 0 R/Subtype/Link/Rect[412 360 428 369]/Border[0 0 0]/H/N>> -endobj - -40361 0 obj -<>/P 2081 0 R/Type/Annot/A 40604 0 R/Subtype/Link/Rect[429 360 441 368]/Border[0 0 0]/H/N>> -endobj - -40362 0 obj -<>/P 2081 0 R/Type/Annot/A 40603 0 R/Subtype/Link/Rect[396 350 412 359]/Border[0 0 0]/H/N>> -endobj - -40363 0 obj -<>/P 2081 0 R/Type/Annot/A 40602 0 R/Subtype/Link/Rect[413 350 427 358]/Border[0 0 0]/H/N>> -endobj - -40364 0 obj -<>/P 2081 0 R/Type/Annot/A 40601 0 R/Subtype/Link/Rect[429 350 443 358]/Border[0 0 0]/H/N>> -endobj - -40365 0 obj -<>/P 2081 0 R/Type/Annot/A 40600 0 R/Subtype/Link/Rect[445 350 457 358]/Border[0 0 0]/H/N>> -endobj - -40366 0 obj -<>/P 2081 0 R/Type/Annot/A 40599 0 R/Subtype/Link/Rect[403 340 413 348]/Border[0 0 0]/H/N>> -endobj - -40367 0 obj -<>/P 2081 0 R/Type/Annot/A 40598 0 R/Subtype/Link/Rect[415 340 425 348]/Border[0 0 0]/H/N>> -endobj - -40368 0 obj -<>/P 2081 0 R/Type/Annot/A 40597 0 R/Subtype/Link/Rect[427 340 437 348]/Border[0 0 0]/H/N>> -endobj - -40369 0 obj -<>/P 2081 0 R/Type/Annot/A 40596 0 R/Subtype/Link/Rect[439 340 449 348]/Border[0 0 0]/H/N>> -endobj - -40370 0 obj -<>/P 2081 0 R/Type/Annot/A 40595 0 R/Subtype/Link/Rect[451 340 464 349]/Border[0 0 0]/H/N>> -endobj - -40371 0 obj -<>/P 2081 0 R/Type/Annot/A 40594 0 R/Subtype/Link/Rect[465 340 475 348]/Border[0 0 0]/H/N>> -endobj - -40372 0 obj -<>/P 2081 0 R/Type/Annot/A 40593 0 R/Subtype/Link/Rect[477 340 487 348]/Border[0 0 0]/H/N>> -endobj - -40373 0 obj -<>/P 2081 0 R/Type/Annot/A 40592 0 R/Subtype/Link/Rect[489 340 502 348]/Border[0 0 0]/H/N>> -endobj - -40374 0 obj -<>/P 2081 0 R/Type/Annot/A 40590 0 R/Subtype/Link/Rect[504 340 518 348]/Border[0 0 0]/H/N>> -endobj - -40375 0 obj -<>/P 2081 0 R/Type/Annot/A 40589 0 R/Subtype/Link/Rect[359 330 373 338]/Border[0 0 0]/H/N>> -endobj - -40376 0 obj -<>/P 2081 0 R/Type/Annot/A 40587 0 R/Subtype/Link/Rect[375 330 389 338]/Border[0 0 0]/H/N>> -endobj - -40377 0 obj -<>/P 2081 0 R/Type/Annot/A 40586 0 R/Subtype/Link/Rect[391 330 405 338]/Border[0 0 0]/H/N>> -endobj - -40378 0 obj -<>/P 2081 0 R/Type/Annot/A 40585 0 R/Subtype/Link/Rect[407 330 421 339]/Border[0 0 0]/H/N>> -endobj - -40379 0 obj -<>/P 2081 0 R/Type/Annot/A 40584 0 R/Subtype/Link/Rect[423 330 437 338]/Border[0 0 0]/H/N>> -endobj - -40380 0 obj -<>/P 2081 0 R/Type/Annot/A 40583 0 R/Subtype/Link/Rect[439 330 453 338]/Border[0 0 0]/H/N>> -endobj - -40381 0 obj -<>/P 2081 0 R/Type/Annot/A 40582 0 R/Subtype/Link/Rect[455 330 469 339]/Border[0 0 0]/H/N>> -endobj - -40382 0 obj -<>/P 2081 0 R/Type/Annot/A 40581 0 R/Subtype/Link/Rect[471 330 483 338]/Border[0 0 0]/H/N>> -endobj - -40383 0 obj -<>/P 2081 0 R/Type/Annot/A 40580 0 R/Subtype/Link/Rect[434 320 446 329]/Border[0 0 0]/H/N>> -endobj - -40384 0 obj -<>/P 2081 0 R/Type/Annot/A 40578 0 R/Subtype/Link/Rect[458 310 470 319]/Border[0 0 0]/H/N>> -endobj - -40385 0 obj -<>/P 2081 0 R/Type/Annot/A 40577 0 R/Subtype/Link/Rect[468 300 478 309]/Border[0 0 0]/H/N>> -endobj - -40386 0 obj -<>/P 2081 0 R/Type/Annot/A 40576 0 R/Subtype/Link/Rect[480 300 494 309]/Border[0 0 0]/H/N>> -endobj - -40387 0 obj -<>/P 2081 0 R/Type/Annot/A 40575 0 R/Subtype/Link/Rect[496 300 509 309]/Border[0 0 0]/H/N>> -endobj - -40388 0 obj -<>/P 2081 0 R/Type/Annot/A 40574 0 R/Subtype/Link/Rect[359 290 371 299]/Border[0 0 0]/H/N>> -endobj - -40389 0 obj -<>/P 2081 0 R/Type/Annot/A 40573 0 R/Subtype/Link/Rect[379 280 385 289]/Border[0 0 0]/H/N>> -endobj - -40390 0 obj -<>/P 2081 0 R/Type/Annot/A 40572 0 R/Subtype/Link/Rect[387 280 397 289]/Border[0 0 0]/H/N>> -endobj - -40391 0 obj -<>/P 2081 0 R/Type/Annot/A 40571 0 R/Subtype/Link/Rect[399 280 413 289]/Border[0 0 0]/H/N>> -endobj - -40392 0 obj -<>/P 2081 0 R/Type/Annot/A 40570 0 R/Subtype/Link/Rect[415 280 429 289]/Border[0 0 0]/H/N>> -endobj - -40393 0 obj -<>/P 2081 0 R/Type/Annot/A 40569 0 R/Subtype/Link/Rect[431 280 445 289]/Border[0 0 0]/H/N>> -endobj - -40394 0 obj -<>/P 2081 0 R/Type/Annot/A 40568 0 R/Subtype/Link/Rect[447 280 459 289]/Border[0 0 0]/H/N>> -endobj - -40395 0 obj -<>/P 2081 0 R/Type/Annot/A 40567 0 R/Subtype/Link/Rect[413 270 427 279]/Border[0 0 0]/H/N>> -endobj - -40396 0 obj -<>/P 2081 0 R/Type/Annot/A 40565 0 R/Subtype/Link/Rect[429 270 443 279]/Border[0 0 0]/H/N>> -endobj - -40397 0 obj -<>/P 2081 0 R/Type/Annot/A 40564 0 R/Subtype/Link/Rect[445 270 459 279]/Border[0 0 0]/H/N>> -endobj - -40398 0 obj -<>/P 2081 0 R/Type/Annot/A 40563 0 R/Subtype/Link/Rect[461 270 475 279]/Border[0 0 0]/H/N>> -endobj - -40399 0 obj -<>/P 2081 0 R/Type/Annot/A 40562 0 R/Subtype/Link/Rect[477 270 489 279]/Border[0 0 0]/H/N>> -endobj - -40400 0 obj -<>/P 2081 0 R/Type/Annot/A 40561 0 R/Subtype/Link/Rect[416 260 432 269]/Border[0 0 0]/H/N>> -endobj - -40401 0 obj -<>/P 2081 0 R/Type/Annot/A 40560 0 R/Subtype/Link/Rect[433 260 445 269]/Border[0 0 0]/H/N>> -endobj - -40402 0 obj -<>/P 2081 0 R/Type/Annot/A 40559 0 R/Subtype/Link/Rect[392 250 402 259]/Border[0 0 0]/H/N>> -endobj - -40403 0 obj -<>/P 2081 0 R/Type/Annot/A 40558 0 R/Subtype/Link/Rect[404 250 414 259]/Border[0 0 0]/H/N>> -endobj - -40404 0 obj -<>/P 2081 0 R/Type/Annot/A 40556 0 R/Subtype/Link/Rect[416 250 433 259]/Border[0 0 0]/H/N>> -endobj - -40405 0 obj -<>/P 2081 0 R/Type/Annot/A 40555 0 R/Subtype/Link/Rect[433 250 447 259]/Border[0 0 0]/H/N>> -endobj - -40406 0 obj -<>/P 2081 0 R/Type/Annot/A 40588 0 R/Subtype/Link/Rect[449 250 463 259]/Border[0 0 0]/H/N>> -endobj - -40407 0 obj -<>/P 2081 0 R/Type/Annot/A 40552 0 R/Subtype/Link/Rect[465 250 477 259]/Border[0 0 0]/H/N>> -endobj - -40408 0 obj -<>/P 2081 0 R/Type/Annot/A 40550 0 R/Subtype/Link/Rect[401 240 415 249]/Border[0 0 0]/H/N>> -endobj - -40409 0 obj -<>/P 2081 0 R/Type/Annot/A 40548 0 R/Subtype/Link/Rect[417 240 433 249]/Border[0 0 0]/H/N>> -endobj - -40410 0 obj -<>/P 2081 0 R/Type/Annot/A 40545 0 R/Subtype/Link/Rect[434 240 446 249]/Border[0 0 0]/H/N>> -endobj - -40411 0 obj -<>/P 2081 0 R/Type/Annot/A 40541 0 R/Subtype/Link/Rect[386 202 398 211]/Border[0 0 0]/H/N>> -endobj - -40412 0 obj -<>/P 2081 0 R/Type/Annot/A 40536 0 R/Subtype/Link/Rect[396 192 408 201]/Border[0 0 0]/H/N>> -endobj - -40413 0 obj -<>/P 2081 0 R/Type/Annot/A 40531 0 R/Subtype/Link/Rect[410 182 422 191]/Border[0 0 0]/H/N>> -endobj - -40414 0 obj -<>/P 2081 0 R/Type/Annot/A 40527 0 R/Subtype/Link/Rect[401 172 413 181]/Border[0 0 0]/H/N>> -endobj - -40415 0 obj -<>/P 2081 0 R/Type/Annot/A 40524 0 R/Subtype/Link/Rect[396 162 408 171]/Border[0 0 0]/H/N>> -endobj - -40416 0 obj -<>/P 2081 0 R/Type/Annot/A 40519 0 R/Subtype/Link/Rect[396 152 408 161]/Border[0 0 0]/H/N>> -endobj - -40417 0 obj -<>/P 2081 0 R/Type/Annot/A 40515 0 R/Subtype/Link/Rect[371 648 383 657]/Border[0 0 0]/H/N>> -endobj - -40418 0 obj -<>/P 2081 0 R/Type/Annot/A 40510 0 R/Subtype/Link/Rect[387 648 402 657]/Border[0 0 0]/H/N>> -endobj - -40419 0 obj -<>/P 2081 0 R/Type/Annot/A 40506 0 R/Subtype/Link/Rect[403 638 416 647]/Border[0 0 0]/H/N>> -endobj - -40420 0 obj -<>/P 2081 0 R/Type/Annot/A 40502 0 R/Subtype/Link/Rect[418 638 433 647]/Border[0 0 0]/H/N>> -endobj - -40421 0 obj -<> -endobj - -40422 0 obj -<> -endobj - -40423 0 obj -<> -endobj - -40424 0 obj -<> -endobj - -40425 0 obj -<> -endobj - -40426 0 obj -<> -endobj - -40427 0 obj -<> -endobj - -40428 0 obj -<> -endobj - -40429 0 obj -<> -endobj - -40430 0 obj -<> -endobj - -40431 0 obj -<> -endobj - -40432 0 obj -<> -endobj - -40433 0 obj -<> -endobj - -40434 0 obj -<> -endobj - -40435 0 obj -<> -endobj - -40436 0 obj -<> -endobj - -40437 0 obj -<> -endobj - -40438 0 obj -<> -endobj - -40439 0 obj -<> -endobj - -40440 0 obj -<> -endobj - -40441 0 obj -<> -endobj - -40442 0 obj -<> -endobj - -40443 0 obj -<> -endobj - -40444 0 obj -<> -endobj - -40445 0 obj -<> -endobj - -40446 0 obj -<> -endobj - -40447 0 obj -<> -endobj - -40448 0 obj -<> -endobj - -40449 0 obj -<> -endobj - -40450 0 obj -<> -endobj - -40451 0 obj -<> -endobj - -40452 0 obj -<> -endobj - -40453 0 obj -<> -endobj - -40454 0 obj -<> -endobj - -40455 0 obj -<> -endobj - -40456 0 obj -<> -endobj - -40457 0 obj -<> -endobj - -40458 0 obj -<> -endobj - -40459 0 obj -<> -endobj - -40460 0 obj -<> -endobj - -40461 0 obj -<> -endobj - -40462 0 obj -<> -endobj - -40463 0 obj -<> -endobj - -40464 0 obj -<> -endobj - -40465 0 obj -<> -endobj - -40466 0 obj -<> -endobj - -40467 0 obj -<> -endobj - -40468 0 obj -<> -endobj - -40469 0 obj -<> -endobj - -40470 0 obj -<> -endobj - -40471 0 obj -<> -endobj - -40472 0 obj -<> -endobj - -40473 0 obj -<> -endobj - -40474 0 obj -<> -endobj - -40475 0 obj -<> -endobj - -40476 0 obj -<> -endobj - -40477 0 obj -<> -endobj - -40478 0 obj -<> -endobj - -40479 0 obj -<> -endobj - -40480 0 obj -<> -endobj - -40481 0 obj -<> -endobj - -40482 0 obj -<> -endobj - -40483 0 obj -<> -endobj - -40484 0 obj -<> -endobj - -40485 0 obj -<> -endobj - -40486 0 obj -<> -endobj - -40487 0 obj -<> -endobj - -40488 0 obj -<> -endobj - -40489 0 obj -<> -endobj - -40490 0 obj -<> -endobj - -40491 0 obj -<> -endobj - -40492 0 obj -<> -endobj - -40493 0 obj -<> -endobj - -40494 0 obj -<> -endobj - -40495 0 obj -<> -endobj - -40496 0 obj -<> -endobj - -40497 0 obj -<> -endobj - -40498 0 obj -<> -endobj - -40499 0 obj -<> -endobj - -40500 0 obj -<> -endobj - -40501 0 obj -<> -endobj - -40502 0 obj -<> -endobj - -40503 0 obj -<> -endobj - -40504 0 obj -<> -endobj - -40505 0 obj -<> -endobj - -40506 0 obj -<> -endobj - -40507 0 obj -<> -endobj - -40508 0 obj -<> -endobj - -40509 0 obj -<> -endobj - -40510 0 obj -<> -endobj - -40511 0 obj -<> -endobj - -40512 0 obj -<> -endobj - -40513 0 obj -<> -endobj - -40514 0 obj -<> -endobj - -40515 0 obj -<> -endobj - -40516 0 obj -<> -endobj - -40517 0 obj -<> -endobj - -40518 0 obj -<> -endobj - -40519 0 obj -<> -endobj - -40520 0 obj -<> -endobj - -40521 0 obj -<> -endobj - -40522 0 obj -<> -endobj - -40523 0 obj -<> -endobj - -40524 0 obj -<> -endobj - -40525 0 obj -<> -endobj - -40526 0 obj -<> -endobj - -40527 0 obj -<> -endobj - -40528 0 obj -<> -endobj - -40529 0 obj -<> -endobj - -40530 0 obj -<> -endobj - -40531 0 obj -<> -endobj - -40532 0 obj -<> -endobj - -40533 0 obj -<> -endobj - -40534 0 obj -<> -endobj - -40535 0 obj -<> -endobj - -40536 0 obj -<> -endobj - -40537 0 obj -<> -endobj - -40538 0 obj -<> -endobj - -40539 0 obj -<> -endobj - -40540 0 obj -<> -endobj - -40541 0 obj -<> -endobj - -40542 0 obj -<> -endobj - -40543 0 obj -<> -endobj - -40544 0 obj -<> -endobj - -40545 0 obj -<> -endobj - -40546 0 obj -<> -endobj - -40547 0 obj -<> -endobj - -40548 0 obj -<> -endobj - -40549 0 obj -<> -endobj - -40550 0 obj -<> -endobj - -40551 0 obj -<> -endobj - -40552 0 obj -<> -endobj - -40553 0 obj -<> -endobj - -40554 0 obj -<> -endobj - -40555 0 obj -<> -endobj - -40556 0 obj -<> -endobj - -40557 0 obj -<> -endobj - -40558 0 obj -<> -endobj - -40559 0 obj -<> -endobj - -40560 0 obj -<> -endobj - -40561 0 obj -<> -endobj - -40562 0 obj -<> -endobj - -40563 0 obj -<> -endobj - -40564 0 obj -<> -endobj - -40565 0 obj -<> -endobj - -40566 0 obj -<> -endobj - -40567 0 obj -<> -endobj - -40568 0 obj -<> -endobj - -40569 0 obj -<> -endobj - -40570 0 obj -<> -endobj - -40571 0 obj -<> -endobj - -40572 0 obj -<> -endobj - -40573 0 obj -<> -endobj - -40574 0 obj -<> -endobj - -40575 0 obj -<> -endobj - -40576 0 obj -<> -endobj - -40577 0 obj -<> -endobj - -40578 0 obj -<> -endobj - -40579 0 obj -<> -endobj - -40580 0 obj -<> -endobj - -40581 0 obj -<> -endobj - -40582 0 obj -<> -endobj - -40583 0 obj -<> -endobj - -40584 0 obj -<> -endobj - -40585 0 obj -<> -endobj - -40586 0 obj -<> -endobj - -40587 0 obj -<> -endobj - -40588 0 obj -<> -endobj - -40589 0 obj -<> -endobj - -40590 0 obj -<> -endobj - -40591 0 obj -<> -endobj - -40592 0 obj -<> -endobj - -40593 0 obj -<> -endobj - -40594 0 obj -<> -endobj - -40595 0 obj -<> -endobj - -40596 0 obj -<> -endobj - -40597 0 obj -<> -endobj - -40598 0 obj -<> -endobj - -40599 0 obj -<> -endobj - -40600 0 obj -<> -endobj - -40601 0 obj -<> -endobj - -40602 0 obj -<> -endobj - -40603 0 obj -<> -endobj - -40604 0 obj -<> -endobj - -40605 0 obj -<> -endobj - -40606 0 obj -<> -endobj - -40607 0 obj -<> -endobj - -40608 0 obj -<> -endobj - -40609 0 obj -<> -endobj - -40610 0 obj -<> -endobj - -40611 0 obj -<> -endobj - -40612 0 obj -<> -endobj - -40613 0 obj -<> -endobj - -40614 0 obj -<> -endobj - -40615 0 obj -<> -endobj - -40616 0 obj -<> -endobj - -40617 0 obj -<> -endobj - -40618 0 obj -<> -endobj - -40619 0 obj -<> -endobj - -40620 0 obj -<> -endobj - -40621 0 obj -<> -endobj - -40622 0 obj -<> -endobj - -40623 0 obj -<> -endobj - -40624 0 obj -<> -endobj - -40625 0 obj -<> -endobj - -40626 0 obj -<> -endobj - -40627 0 obj -<> -endobj - -40628 0 obj -<> -endobj - -40629 0 obj -<> -endobj - -40630 0 obj -<> -endobj - -40631 0 obj -<> -endobj - -40632 0 obj -<> -endobj - -40633 0 obj -<> -endobj - -40634 0 obj -<> -endobj - -40635 0 obj -<> -endobj - -40636 0 obj -<> -endobj - -40637 0 obj -<> -endobj - -40638 0 obj -<> -endobj - -40639 0 obj -<> -endobj - -40640 0 obj -<> -endobj - -40641 0 obj -<> -endobj - -40642 0 obj -<> -endobj - -40643 0 obj -<> -endobj - -40644 0 obj -<> -endobj - -40645 0 obj -<> -endobj - -40646 0 obj -<> -endobj - -40647 0 obj -<> -endobj - -40648 0 obj -<> -endobj - -40649 0 obj -<> -endobj - -40650 0 obj -<> -endobj - -40651 0 obj -<> -endobj - -40652 0 obj -<> -endobj - -40653 0 obj -<> -endobj - -40654 0 obj -<> -endobj - -40655 0 obj -<> -endobj - -40656 0 obj -<> -endobj - -40657 0 obj -<> -endobj - -40658 0 obj -<> -endobj - -40659 0 obj -<> -endobj - -40660 0 obj -<> -endobj - -40661 0 obj -<> -endobj - -40662 0 obj -<> -endobj - -40663 0 obj -<> -endobj - -40664 0 obj -<> -endobj - -40665 0 obj -<> -endobj - -40666 0 obj -<> -endobj - -40667 0 obj -<> -endobj - -40668 0 obj -<> -endobj - -40669 0 obj -<> -endobj - -40670 0 obj -<> -endobj - -40671 0 obj -<> -endobj - -40672 0 obj -<> -endobj - -40673 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -40674 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -40675 0 obj -<> -endobj - -40676 0 obj -<> -endobj - -40677 0 obj -<> -endobj - -40678 0 obj -<> -endobj - -40679 0 obj -<> -endobj - -40680 0 obj -<> -endobj - -40681 0 obj -<> -endobj - -40682 0 obj -<> -endobj - -40683 0 obj -<> -endobj - -40684 0 obj -<> -endobj - -40685 0 obj -<> -endobj - -40686 0 obj -<> -endobj - -40687 0 obj -<> -endobj - -40688 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -40689 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -40690 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -40691 0 obj -<> -stream -HWko8_0C fٶƻ@R ձ-4Ϳ{E=hA:><"/U]O_{f?|*_&Js-Y!Ҳ,ik} O4dUWm;۵*mHer˻ YjR12r,)Ζ_z/_ʮӳ gw>/ت,m:W=2 (vLm"HSA541`".1 MsLᙌH!x1+P; ԋH ԋH$H$H$H"ԫH"ԫH}N#9>r \b"\b"GkC Yȵpmpm!PV 1d# -µ!,µ!,B}ZA6ĐE\+׆.kC YCV>Đ1` 1d#Jµ!,B}ZI6ĀE6ĐE\+ ׆k%C>r$\b"GkC XkC Yȵpm!PV ]׆b!,µ!X}!+Vb"\b"GUkC Yȵpmpm!PV 1d#*µ!,µ!,B}ZE6ĐE\׆׆kC>r"\b$'\bȊՇ׆b!XafkverȔ˻"crꞠS"-Jy\/~م(xykTeL+9G K}к~L*N:+ɲR`GPLݦ\kJ&X~WͶj{ïE^[_uM^QSJYi{8W -/fz -l|Uߟo2./φP k_^X\>pj3V0=MNHYz z ,Ӱr/o~N)΅T޲E];Ѯqڡܹgq2χs)U͞]~ܻ_w{>5X;wn5{k׮5iX0t>3咉!]z[!YOYT_.Մ}Z3Iq=i DΈLg<=rB^5;ÐϳJ=DoR>޽ۆi^u=p+ի($}g߾v~/uŽ+:w'^A|;soXX V/Y1⮛4D3GrZ!,~nA.Z7OvUm'u>#qYz"RȊYݜ-A$K.4*n -Ds>QUZ2bG?Z|ؽkA ޮШhd;vb>IZmqn3{ ĥ/#֯DM=C zzz(c[4kZN})(p%z|' t.`s஭2W)osʌxVaع [yd - 7r֝ "ryj)8{.+\rN\yTcUw)Q -oCՂ84/26M~Ck.24VmRSbi耪&OFjG!aHUhe?j/PS>>H8@Yح{r<}`0 _h^ooDXMQfӸ!S\ə{V|RѣS/kZ]VD۳9CeИ?ET2 \=hf3o~Fz* -⫶>tS#=JsVf|ε' :dBn3-oSȳK/D[HX*ᦑÝsd)hq<-,1gD4Gvh\LԓKU.j {!VWT.r8g*=uuS^^щ% #7?[@=IbT*l_6=[,B'ȁQ -֠~P\ -Nn߽uGLO~NͩJh@0G0!k@ˁ?9rZp6M7ϙ#sΓaRH3.EH?o{&JH?қo_QdˠD|ՈA=מLUx)uwo[2.NX#n])kD&(5LywTy*݊ PRy5OVXYRS1:@\w:Ck%qҲB&Ov*&%7xtRfvNŎ(+d%sݶue"xƢ&Kzyl> ^`Eg;?l~F6LK764S=/0I'Cf~7+y-0 GWX/Nfs }$7 +S6^@pC jo[>m\ZnZ3n_<<^4r+@33j@3/M~W%Vf9K3㐰|]rӱE̗_f5Xݏ2tAuMbG*cK##h1ӖX&(hv秸9,`*x$B?AЋp2AՍA&\YowA*EI?,25OӇ=0l *\א,C;"vTT`e7c; G -ĆsIVHd 8gN -,(YyΫt M 6eʼn񪢤 ;_&.irZA]^ɒAwɓחAƒrciR>+e[ݾm Κ7<\SNDA`H*)gD?I&+Ѵ|E^Ύ ǍZIg7-ܝ"DG#TfXߡx[g@[pHrzm:8.6j֞ {!d_7~fl (ƽ|l -辇^#ϥmD@Lعevj?=y0 I.A2,)_V0[k0W1p(P/.mm/i/.QP>lVAJ2?^) Y T0E&ػ(g?¯Fcuc04ʆ/3sf::EPӂ]Z%' ԗ;D=HAm ,藯Tb`B_LsŬ(8]AA,eT3&%Edr[DY -$'L }фNumWb0c,\ﭼpZ=,O ?N;D ciƪpKҷtR ߡN YfWqYbێ\ĉv,adfK^և7!nLendstream -endobj - -40692 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -40693 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -40694 0 obj -<> -endobj - -40695 0 obj -[250 0 0 0 500 889 778 0 333 333 389 606 250 333 250 296 500 500 500 500 500 500 500 500 500 500 250 250 606 606 606 500 0 722 611 667 778 611 556 722 778 333 333 667 556 944 778 778 611 778 667 556 611 778 722 944 722 667 667 333 0 333 0 500 0 444 463 407 500 389 278 500 500 278 278 444 278 778 556 444 500 463 389 389 333 556 500 722 500 500 444 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 1000 0 0 0 278 0 0 0 0 0 0 0 0 528 545 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333] -endobj - -40696 0 obj -<> -endobj - -40697 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -40698 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -40699 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -40700 0 obj -<> -stream -Hmo)HƏ`V*v{VeHfY`63`ȌV݁뻸jЯ?^ ~͵CGBO9y>E@ -%4gXL0}q6dyxۢ(>^4}5e;b"hg}]Ar?R5n&*k~#bOn)B@ 0O`!G3 o?W?ͦ,w<= -Z8# +ɩ |1gwVrꢧ(Xp!Uq/GU٪--*_ -J`FTŚAj ē4RwVY]v9͐𠧦 Z΀7z1|zw{Ӣ P]fW)+"c0_]xB ;éJ!m~L\Lz|eXڷ> -KXˊuVdx.Q15ƋcVi|E8GY.]h'|lπ9p \^. 쩊,f9` <<8|,|d)f}}2%[^ j ^r8Uhq.XMwԋ_@ϥ EPx=CfO7K>~dMvs'ΒKrz.XmW&soUL,Q ɹd~G *[js{DX'unf9,gD,_.r"mC&+9}əmaOW\52?icbW>Rv 0rDZXjl˙tBuOmPw0y"6hd \;p -&-xҧ^'C]W䰯Uˆ:6x=0& )W_2ȚiA&݃)_7* n҈7qŰj -q쾤a/^<>sZ/s} <bg%s[D;ەCgPKnѩ}ޢcǹ.1DE NRzDO9SguFf4Pb`sXEKuS^c'zxyy(lEMYG!Gg=Y4#ǥ+4nM$A@pi$?tVzn@N#3\D@6E㘆PJwD'%1r"X&*PI,/J.AFcZa2K=HX -)qstHx+;e)љa|eȁcdɭnQHG=hC!-pL zgMXZӭ6f&?x۝AF=B5iYm,PM`иߧT$SrbUz "m;y.؇==Y/b?Cdd(XX(#jR%g ݦD'K9Lt0A(eVXp&vF(.rXڍ~R o[ۄ&]tǽdzm]@XRZd߈hnѲ>K7x2/J_{$L$O2.M! -I>4H;-|?ny8A,7EA,\R2yRE} 7`R1>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -40702 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -40703 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -40704 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -40705 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -40706 0 obj -<> -stream -H[oF+d+r/INV+0X*iݠ3h[$E`9c>>>>S>S>3>3l$kur\>=%kF.kR5r ^jZKRr ]BjF.KR5r ^jZKH-%{BjF.KR5t z/ZH-%{BjVFH-s ]BjF.k鹆.!\#@z/FH-%k!\#@r\Z#k!\CZKRkr\Z#ku`r\>=%kF.kR5r ^jZKRkr ]BjF.KR5r ^jZKH-%{BjF.KR5t z/VH-%{BjVNH-s ]BjF.k3es^Od: 2zD:S1I L`T6x?vIM}Zl47pڋ&C7a_l, cSmEJClpy|a8/]'v*<>E}g:R<*68_;̔Bݯf aj˿^wћӓl dSLJe6Ew:fcK}MtT 969Sm[A[ -8/Oϑ$J+4Wםc\7jac^A3] e_>J:mh+֎ ?^$Q*\Xe'8,B\:8ݺ<}[h{4zղgV8U]& -諼YTvbqY(~ϓuUl -hMEY}r/j!UR]N61qfqڃ6*ѻ>;^#>9B%ϐ{D%^ڽmKfeF衧A`1[Df%AGة{ZةͪT0lDkmh;V<1~5Jqx?H@o -W1ض]i X{bY6b6:{gv?6:?6.!Tk&ޖ(EԸ!-nPwQ-BߕӸϹkxx =gƲ*&@ E^CB^_ZZ^7_wu{|^Vew#{MpReow\ͻjOjA-/.{-}ӥHv{W1 ĩl}̷~EuWB;QD : ޮ˃%QC%Mg OmE-endstream -endobj - -40707 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -40708 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -40709 0 obj -<> -endobj - -40710 0 obj -<> -endobj - -40711 0 obj -<> -endobj - -40712 0 obj -<> -endobj - -40713 0 obj -<> -endobj - -40714 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -40715 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -40716 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -40717 0 obj -<> -stream -HWko_q )i_HN6@E[XД^=z:g\A,{4g8!/?y_Mb^xIgdClKC?]0i̙KiKY@KށKug@%,r@%v"ϒZ^bZrA%/@KރK_+ʽV-{r/1~aZ*^bT=ȽUh{{R M>R M֒xTȽxTȽxcTȽxcTȽx TȽx TȽx3 TȽx3 TȽx TȽx$,%1-侌˲ &~gѫ*:*kQ&OǙ2jM1#[$Ijr5Mo/_wr2qd{9Y<08ypmbK2/r=lƓyc>痃~= -3Um. ؛,=wi\:+?ͣh2ܬi:8b (a45)-}lV^Z^.ff J:in|yoՎI݉|BW)5O./tjl3jiʽ+>Jfdws(Hu|&$w&Whi*ý!Gz "= e[n&feChWЖ+r7n!k8`u;0r>H ى-=Lf9麙5^{?;/' þyܬݠ0~io8?t-N:='2:v30j(?ip;DjҖk; 7o?V}nZ(_A#C^nnyBvjlKYZKb}}}}}}}}} -r/1fi- ^bZSaί踲XS x$-Ӣ\k-bVǜ+m\X?vv=mfjz轿"G*1窇vdC{!)h)lcl -L)73~a6Tٸc ؒ 茋ϼ뮸"Sy#u6lXϰXP -$,nHo\ϠD0!J*6T.)v?^5x5/lRZ$}i#8`ik֫I$7hP=!]&\eeIKg}sJfynaw:yZQH(x{/H6GrNXժhW}бpUw ԜmcZs̅'bPm~3NuqwmDloI{5#??*E՗W#N,b{(xpu'ER$d[}Tu֗P:i&%ήe2PpQ\8G?Q\}Nu=2StY*"WmWjb%Qmj]+m]3Д!xX& -b!ddBb/C&_ -C6T:e8B뚂O&3q< @ʪ#At^t" )vt<a2C4&E@-$}DȡmlX=-, ҥTVbDaګ/#./WGJ>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -40719 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -40720 0 obj -<> -endobj - -40721 0 obj -<> -endobj - -40722 0 obj -<> -endobj - -40723 0 obj -<> -endobj - -40724 0 obj -<> -endobj - -40725 0 obj -<> -endobj - -40726 0 obj -<> -endobj - -40727 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -40728 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -40729 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -40730 0 obj -<> -stream -HWko6>MSĴHMEhb-)R.y(IX{%1u <$ﹼ%o:ח?zB7o޽]2bqx"Y(K֘VB`_!'>MQ))V?\KЮlVQ26+ L3 c4ئ\ocgqpljł':2ZdhMSqu>A&<:*ͧ*'JqNL'[ip ˕Nπzc}v8"TŐObg9bjbz驗zWzWzWz婏>"GP{cB}쩏 >!'PxSB}O >%ԧPy3B}ׄzׄzϳ0+IŐw1`u1d] YzZCs$\b"{k] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%Z+Wp!Wb"\bջ|.,µ.,BZEŐE\׺׺kZCs"\b"\b"{Uk] Yzϵpp!PVu1d=*µ.V"µ.,_p!Wbջ׺k#µ.,Bڈpp!P6"\b"{׺׺k#µ.,Bڈpp!P6"\b"{׺X ׺|.,µ.,_!W:b!]4fuH&X{~ K6&!/ cY͏ HS*9כO08L$k9*?0t` 9H l٢_050G#tXYƳDyEeevYUOE~<>muEwcc3Mծ,VF7OzݰQԝȅ/a$l؇= qbd5UWL|W~~3}xlay(feC%̡Gf_blcg\{ֶl;zBH׮,%\'r>>1mbsZ/> -G_<6.>s{2˫MB? vE-O{Hx=wى -u/l( 'H~|㝧0z >~2la}WiZ!~p`]XbiOvz6sWÅrIUi_O-٭TOv1{]'<͠QCixAU9Wt)qiM1=(r= de⦿09@]@O_t{Zڷ_!08U$[-#&& 5X.W JYSL5(%2.L-Ev&&}0N8K4!Y߹Pπ_3|.A_%X賍]p/3`ȻBT7^ѭ`Q6}gZza}~E^ ,K~Tzz^[?v~Öb{R(O#<,%z`|FB$ڥFvwBFsn5 яsPI ֠;9콑4%NX-͍6T<.59L pN@>-6ŎU~II^ܕ -P8J%Ǚ٫0EOX&r 21IQe"jƥKef{u阀3Dc;gQlic4֎I?UVTܞB[fk.J$O,d=[n_hĮ#iN<;QNJ. e]SnjlVwBE؏_: -OXV(M!"U0k ktH~;s/&&s};6hvGZQٯOydA*?r<" "Ek]Jѷ:~񣸳 /Oqb{ @S#[Fb$IEd< CPh ]O =7cnW7+~}cz|m)Em\jf[ y*`'.8=.Ƞ"a="+MK8a% L X*]bra4ntET2*OdDn;mL jЉz/7JS-,"8w&Rs ap$i||r)|YEy1 NAkCw7cN) -*-ؙyxdIJs4  P4էYJN\jEW9zK&4 Im2i ^Lݪj;|""5K#t {ٿ^v-rȸB+.FӁ >>=<ß0uiendstream -endobj - -40731 0 obj -<>/P 938 0 R/Type/Annot/A 40732 0 R/Subtype/Link/Rect[93.6001968 663.229004 184.404007 682.908997]/Border[0 0 0]/H/N>> -endobj - -40732 0 obj -<> -endobj - -40733 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -40734 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -40735 0 obj -<> -endobj - -40736 0 obj -<> -endobj - -40737 0 obj -<> -endobj - -40738 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -40739 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -40740 0 obj -<> -endobj - -40741 0 obj -<> -endobj - -40742 0 obj -<> -endobj - -40743 0 obj -<> -endobj - -40744 0 obj -<> -endobj - -40745 0 obj -<> -endobj - -40746 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -40747 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -40748 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -40749 0 obj -<> -stream -HW]oܶ}ׯ 8%@чiE-`JWҦwFV9Nu<3R7ͯoR㏯zqp.d g2тlk=D,=Cžݩnp+v_> -Gw͎)gCd`f`L5mVCݵi+"@ǡlj9Jv$59PFֆ#E…76*'pqNʬm[=F,iZ#4?dDOٯ0g{n?l"#Dh)-D&cd1!xʀc -1`q< Y`9^^%^%^%^^^5^5^5^3B}Y>'PsB}/E zC7zC< X µ>Pp!+Tc -kZC>p \c"\c"k} Ypp!PV1d -µ>,µ>,B}ZAǐE\+XIµ>Pp!+Tc -k%ZC>p$\c"\c"k} Ypp!PV1dJµ>,µ>,B}ZIǐE\+ X)µ>Pp!+Tc -kZC>p"\c"\c"Uk} Ypp!PV1d*µ>,µ>,B}ZEǐE\Xiµ>Pp!+TcȢ˲ޯ͓<-84]۪k2khY^5t~:m(U$2'Neu}^t"4FE]&|dϪYҮ ,K3di2]m?g/a?gq].JsJ2puR|" 0iIe"x"Ô -˄#fdQ8%;( -!_;b0 t~qPDqq!"9Jat`^a1RiҘ+@qV/ɓb})΢؎ a4&t0^b -ssHJ|Kxsq zM.kr K \ϖ ( ,lH/n.2\qi3Ѳ{(޴H  (i\4V9>JmuЅ꣠kı˷+6ܫm3e8φ5!IJnY3a 0ǖ5!k(|˚5JaqoW':UL6$6+}$͔>uR2mc&8{CKzIh|h. {e惛;ukqd>n. X\xhW:S'{{_mu޽kԵ){ž}Mh:+Sb5|KC2_T^O2I랾kt6`t)х ojŇ4y>`vkfw:5d)c= ϥX ±1;+LXD۶۩Q05KٛhQEd(e\'eh ~6ga'܇HQ+V)")̳?v>uon`l)aXu=I{www@"lu+^iשX`TmM W9jLGK%!TZS}uQC}_(/rf[X/HUަbx|&ǣ ОqG\Ͽ쩵Gv}+zKŕ(lfiM TsWlú7bUNsP>حPwM84BQg_K\ Mp+dƽǴ2UqY$\X;czH66rة;)?__nvԞ"2Ш_p‘r^<ɅY(k6m1퇓 -p=Y(jM2~=27a}Wr%<A§`"itLc!H센|/XF,fPptpn]:*"TE`׆:pmo<4e g#Gy4G#{ -j}"s؞qƸ˲ -O){"I)2{I&P3TŰP6W-aBBp< _Y=)QY8qXe,(++X~毩0;6:2`tF 4)up#9:yfr &lĎ .B?ڷlAcޕ^\F;LCe hWJ7$ iRLQH>e۪\pr@S<\MkBt%yn-t6s@2;~ <ߵ됁r7G[OwRřSf.)c$ p\QR1e2Kmx}Ytyuyj8˧3!6iwBw_V"2 -W3>߮OAgcendstream -endobj - -40750 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -40751 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -40752 0 obj -<> -endobj - -40753 0 obj -<> -endobj - -40754 0 obj -<> -endobj - -40755 0 obj -<> -endobj - -40756 0 obj -<> -endobj - -40757 0 obj -<> -endobj - -40758 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -40759 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -40760 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -40761 0 obj -<> -stream -HWko__d$X`bX bD[G4{.%$#+[(}yV>ᇷ~cVf?㇛?n,p2SVgFBX+koeMvS[w&;67oO7oo޲/2cJƸ+t*]sW̟VKA^ -AJZ^ vPg7|wn7}ӵnO}_쫯ގO+1ܷg!tλ,JaMvBSQy^DRqb,5mڼ㠠j-汞W%/ cLL)ql~V,X%[M:R ԪݮlwþT_OݽT|\1oMW*VoGc}ip/1(0h2~\=T㪚 -ŝq5NFQeI,\Y`ۓ{ -+L (F&iT!4OS#zڢt:Z0*pP.˒2WU@mnOC0iz?}n|`7, NJRص>%TGDAO+}yBfrsP !v]xhS -Yp゗x0a}0n|sԗ+#YJT)Ӻp2_Ws \Oq'xǷ0>|0OP\E$;A9t@m6#D=̘eGٞzߏUٜ텾\?L gYZ"Ӫ~@}"DZ$BH -8GBn!~e%"ڷrr*MOepj;pΤND -O}.Dj\ -9.8 904#ͷ>>|ohB0TY8OsD 1ө|}:54 +zcu{/䪜_ gUSRP4L"Ӂۮi1=w1\eJn^]N+ a5 cw[oN]C_l?oxy}=n=T״+SX0)2}Ja,Y0PٽE.G`0GͰrHHCP#oFWk$wZ) ,>U\+B,VBOOO: @K'-ˡaT]eՊyx lᅵ(a(o֙ekƹ*$(` L2%'z V ku;a@RjpGUrX\1$f3M\ㆢbji=38p\D*D\!~bN01OZP=/"e!CS,#i>mԡD&4}^ B/20wCW/ cNG\ĵQށ+&bޑGR*Xʞ  AX8_.E%532X~8]@T3#1n-= qJ)lr=|rl -%)308R%NK:AE]=H}d!ٯj^."k^wnu0gwo.9:o`Q[huJӫx L%O8`GL测]t\erG>"!4?/yq^#II[D/{rr~ɢ-Fu+7T_d3{L0Z `X̘`$}(X&i LB;#jReDS] .<I|2P*O:mctO$"|ӵjKYZg]]{QS;/T(yϑE8n[=2wbKQ/w_;E2/e2`(Д AA}@k2Hǵ Ḯ(lƬ?`s3JxJb6cPSOOs~DJ0g** Jy>6I e -u%1sQW9 Qz 6֊8DIMp6VHD8>lI]]!:x$I/y!Aؠ}.`V)fH8r0햦Ht ru -T07Mendstream -endobj - -40762 0 obj -<>/P 1812 0 R/Type/Annot/A 40989 0 R/Subtype/Link/Rect[130.078995 539.020996 197.787003 565.062988]/Border[0 0 0]/H/N>> -endobj - -40763 0 obj -<>/P 1812 0 R/Type/Annot/A 40987 0 R/Subtype/Link/Rect[129 327 156 336]/Border[0 0 0]/H/N>> -endobj - -40764 0 obj -<>/P 1812 0 R/Type/Annot/A 40985 0 R/Subtype/Link/Rect[160 327 172 336]/Border[0 0 0]/H/N>> -endobj - -40765 0 obj -<>/P 1812 0 R/Type/Annot/A 40982 0 R/Subtype/Link/Rect[129 317 158 326]/Border[0 0 0]/H/N>> -endobj - -40766 0 obj -<>/P 1812 0 R/Type/Annot/A 40979 0 R/Subtype/Link/Rect[181 317 189 326]/Border[0 0 0]/H/N>> -endobj - -40767 0 obj -<>/P 1812 0 R/Type/Annot/A 40975 0 R/Subtype/Link/Rect[129 307 156 316]/Border[0 0 0]/H/N>> -endobj - -40768 0 obj -<>/P 1812 0 R/Type/Annot/A 40972 0 R/Subtype/Link/Rect[160 307 172 316]/Border[0 0 0]/H/N>> -endobj - -40769 0 obj -<>/P 1812 0 R/Type/Annot/A 40970 0 R/Subtype/Link/Rect[129 297 156 306]/Border[0 0 0]/H/N>> -endobj - -40770 0 obj -<>/P 1812 0 R/Type/Annot/A 40968 0 R/Subtype/Link/Rect[160 297 170 306]/Border[0 0 0]/H/N>> -endobj - -40771 0 obj -<>/P 1812 0 R/Type/Annot/A 40966 0 R/Subtype/Link/Rect[172 297 182 306]/Border[0 0 0]/H/N>> -endobj - -40772 0 obj -<>/P 1812 0 R/Type/Annot/A 40964 0 R/Subtype/Link/Rect[184 297 194 306]/Border[0 0 0]/H/N>> -endobj - -40773 0 obj -<>/P 1812 0 R/Type/Annot/A 40963 0 R/Subtype/Link/Rect[196 297 210 306]/Border[0 0 0]/H/N>> -endobj - -40774 0 obj -<>/P 1812 0 R/Type/Annot/A 40960 0 R/Subtype/Link/Rect[212 297 229 306]/Border[0 0 0]/H/N>> -endobj - -40775 0 obj -<>/P 1812 0 R/Type/Annot/A 40958 0 R/Subtype/Link/Rect[230 297 244 306]/Border[0 0 0]/H/N>> -endobj - -40776 0 obj -<>/P 1812 0 R/Type/Annot/A 40956 0 R/Subtype/Link/Rect[246 297 260 306]/Border[0 0 0]/H/N>> -endobj - -40777 0 obj -<>/P 1812 0 R/Type/Annot/A 40954 0 R/Subtype/Link/Rect[262 297 276 306]/Border[0 0 0]/H/N>> -endobj - -40778 0 obj -<>/P 1812 0 R/Type/Annot/A 40951 0 R/Subtype/Link/Rect[278 297 292 306]/Border[0 0 0]/H/N>> -endobj - -40779 0 obj -<>/P 1812 0 R/Type/Annot/A 40948 0 R/Subtype/Link/Rect[294 297 308 306]/Border[0 0 0]/H/N>> -endobj - -40780 0 obj -<>/P 1812 0 R/Type/Annot/A 40946 0 R/Subtype/Link/Rect[151 287 165 296]/Border[0 0 0]/H/N>> -endobj - -40781 0 obj -<>/P 1812 0 R/Type/Annot/A 40944 0 R/Subtype/Link/Rect[167 287 181 296]/Border[0 0 0]/H/N>> -endobj - -40782 0 obj -<>/P 1812 0 R/Type/Annot/A 40942 0 R/Subtype/Link/Rect[183 287 197 296]/Border[0 0 0]/H/N>> -endobj - -40783 0 obj -<>/P 1812 0 R/Type/Annot/A 40940 0 R/Subtype/Link/Rect[199 287 213 296]/Border[0 0 0]/H/N>> -endobj - -40784 0 obj -<>/P 1812 0 R/Type/Annot/A 40937 0 R/Subtype/Link/Rect[215 287 229 296]/Border[0 0 0]/H/N>> -endobj - -40785 0 obj -<>/P 1812 0 R/Type/Annot/A 40935 0 R/Subtype/Link/Rect[231 287 243 296]/Border[0 0 0]/H/N>> -endobj - -40786 0 obj -<>/P 1812 0 R/Type/Annot/A 40932 0 R/Subtype/Link/Rect[129 277 156 286]/Border[0 0 0]/H/N>> -endobj - -40787 0 obj -<>/P 1812 0 R/Type/Annot/A 40930 0 R/Subtype/Link/Rect[179 277 192 286]/Border[0 0 0]/H/N>> -endobj - -40788 0 obj -<>/P 1812 0 R/Type/Annot/A 40927 0 R/Subtype/Link/Rect[192 277 202 286]/Border[0 0 0]/H/N>> -endobj - -40789 0 obj -<>/P 1812 0 R/Type/Annot/A 40926 0 R/Subtype/Link/Rect[204 277 214 286]/Border[0 0 0]/H/N>> -endobj - -40790 0 obj -<>/P 1812 0 R/Type/Annot/A 40923 0 R/Subtype/Link/Rect[216 277 226 286]/Border[0 0 0]/H/N>> -endobj - -40791 0 obj -<>/P 1812 0 R/Type/Annot/A 40920 0 R/Subtype/Link/Rect[228 277 242 286]/Border[0 0 0]/H/N>> -endobj - -40792 0 obj -<>/P 1812 0 R/Type/Annot/A 41016 0 R/Subtype/Link/Rect[244 277 258 286]/Border[0 0 0]/H/N>> -endobj - -40793 0 obj -<>/P 1812 0 R/Type/Annot/A 41015 0 R/Subtype/Link/Rect[260 277 274 286]/Border[0 0 0]/H/N>> -endobj - -40794 0 obj -<>/P 1812 0 R/Type/Annot/A 44768 0 R/Subtype/Link/Rect[276 277 290 286]/Border[0 0 0]/H/N>> -endobj - -40795 0 obj -<>/P 1812 0 R/Type/Annot/A 41012 0 R/Subtype/Link/Rect[292 277 306 286]/Border[0 0 0]/H/N>> -endobj - -40796 0 obj -<>/P 1812 0 R/Type/Annot/A 44697 0 R/Subtype/Link/Rect[151 267 165 276]/Border[0 0 0]/H/N>> -endobj - -40797 0 obj -<>/P 1812 0 R/Type/Annot/A 41008 0 R/Subtype/Link/Rect[167 267 181 276]/Border[0 0 0]/H/N>> -endobj - -40798 0 obj -<>/P 1812 0 R/Type/Annot/A 41007 0 R/Subtype/Link/Rect[183 267 197 276]/Border[0 0 0]/H/N>> -endobj - -40799 0 obj -<>/P 1812 0 R/Type/Annot/A 44589 0 R/Subtype/Link/Rect[199 267 213 276]/Border[0 0 0]/H/N>> -endobj - -40800 0 obj -<>/P 1812 0 R/Type/Annot/A 41003 0 R/Subtype/Link/Rect[215 267 229 276]/Border[0 0 0]/H/N>> -endobj - -40801 0 obj -<>/P 1812 0 R/Type/Annot/A 41001 0 R/Subtype/Link/Rect[231 267 245 276]/Border[0 0 0]/H/N>> -endobj - -40802 0 obj -<>/P 1812 0 R/Type/Annot/A 40999 0 R/Subtype/Link/Rect[247 267 261 276]/Border[0 0 0]/H/N>> -endobj - -40803 0 obj -<>/P 1812 0 R/Type/Annot/A 40996 0 R/Subtype/Link/Rect[263 267 275 276]/Border[0 0 0]/H/N>> -endobj - -40804 0 obj -<>/P 1812 0 R/Type/Annot/A 44413 0 R/Subtype/Link/Rect[183 257 193 266]/Border[0 0 0]/H/N>> -endobj - -40805 0 obj -<>/P 1812 0 R/Type/Annot/A 40992 0 R/Subtype/Link/Rect[195 257 203 266]/Border[0 0 0]/H/N>> -endobj - -40806 0 obj -<>/P 1812 0 R/Type/Annot/A 40990 0 R/Subtype/Link/Rect[186 247 196 256]/Border[0 0 0]/H/N>> -endobj - -40807 0 obj -<>/P 1812 0 R/Type/Annot/A 40988 0 R/Subtype/Link/Rect[198 247 210 256]/Border[0 0 0]/H/N>> -endobj - -40808 0 obj -<>/P 1812 0 R/Type/Annot/A 40986 0 R/Subtype/Link/Rect[129 237 156 246]/Border[0 0 0]/H/N>> -endobj - -40809 0 obj -<>/P 1812 0 R/Type/Annot/A 40983 0 R/Subtype/Link/Rect[198 237 208 246]/Border[0 0 0]/H/N>> -endobj - -40810 0 obj -<>/P 1812 0 R/Type/Annot/A 40980 0 R/Subtype/Link/Rect[210 237 220 246]/Border[0 0 0]/H/N>> -endobj - -40811 0 obj -<>/P 1812 0 R/Type/Annot/A 40977 0 R/Subtype/Link/Rect[222 237 232 246]/Border[0 0 0]/H/N>> -endobj - -40812 0 obj -<>/P 1812 0 R/Type/Annot/A 40974 0 R/Subtype/Link/Rect[234 237 248 246]/Border[0 0 0]/H/N>> -endobj - -40813 0 obj -<>/P 1812 0 R/Type/Annot/A 40971 0 R/Subtype/Link/Rect[250 237 264 246]/Border[0 0 0]/H/N>> -endobj - -40814 0 obj -<>/P 1812 0 R/Type/Annot/A 44057 0 R/Subtype/Link/Rect[266 237 280 246]/Border[0 0 0]/H/N>> -endobj - -40815 0 obj -<>/P 1812 0 R/Type/Annot/A 40967 0 R/Subtype/Link/Rect[282 237 296 246]/Border[0 0 0]/H/N>> -endobj - -40816 0 obj -<>/P 1812 0 R/Type/Annot/A 40965 0 R/Subtype/Link/Rect[151 227 165 236]/Border[0 0 0]/H/N>> -endobj - -40817 0 obj -<>/P 1812 0 R/Type/Annot/A 43960 0 R/Subtype/Link/Rect[167 227 181 236]/Border[0 0 0]/H/N>> -endobj - -40818 0 obj -<>/P 1812 0 R/Type/Annot/A 40961 0 R/Subtype/Link/Rect[183 227 197 236]/Border[0 0 0]/H/N>> -endobj - -40819 0 obj -<>/P 1812 0 R/Type/Annot/A 40959 0 R/Subtype/Link/Rect[199 227 213 236]/Border[0 0 0]/H/N>> -endobj - -40820 0 obj -<>/P 1812 0 R/Type/Annot/A 40957 0 R/Subtype/Link/Rect[215 227 229 236]/Border[0 0 0]/H/N>> -endobj - -40821 0 obj -<>/P 1812 0 R/Type/Annot/A 40955 0 R/Subtype/Link/Rect[231 227 245 236]/Border[0 0 0]/H/N>> -endobj - -40822 0 obj -<>/P 1812 0 R/Type/Annot/A 40952 0 R/Subtype/Link/Rect[247 227 259 236]/Border[0 0 0]/H/N>> -endobj - -40823 0 obj -<>/P 1812 0 R/Type/Annot/A 40949 0 R/Subtype/Link/Rect[188 189 200 198]/Border[0 0 0]/H/N>> -endobj - -40824 0 obj -<>/P 1812 0 R/Type/Annot/A 40947 0 R/Subtype/Link/Rect[192 179 206 188]/Border[0 0 0]/H/N>> -endobj - -40825 0 obj -<>/P 1812 0 R/Type/Annot/A 41017 0 R/Subtype/Link/Rect[208 179 222 188]/Border[0 0 0]/H/N>> -endobj - -40826 0 obj -<>/P 1812 0 R/Type/Annot/A 40941 0 R/Subtype/Link/Rect[224 179 238 188]/Border[0 0 0]/H/N>> -endobj - -40827 0 obj -<>/P 1812 0 R/Type/Annot/A 40939 0 R/Subtype/Link/Rect[240 179 254 188]/Border[0 0 0]/H/N>> -endobj - -40828 0 obj -<>/P 1812 0 R/Type/Annot/A 43534 0 R/Subtype/Link/Rect[256 179 270 188]/Border[0 0 0]/H/N>> -endobj - -40829 0 obj -<>/P 1812 0 R/Type/Annot/A 40934 0 R/Subtype/Link/Rect[272 179 286 188]/Border[0 0 0]/H/N>> -endobj - -40830 0 obj -<>/P 1812 0 R/Type/Annot/A 40931 0 R/Subtype/Link/Rect[151 169 167 178]/Border[0 0 0]/H/N>> -endobj - -40831 0 obj -<>/P 1812 0 R/Type/Annot/A 40929 0 R/Subtype/Link/Rect[168 169 182 178]/Border[0 0 0]/H/N>> -endobj - -40832 0 obj -<>/P 1812 0 R/Type/Annot/A 43390 0 R/Subtype/Link/Rect[184 169 198 178]/Border[0 0 0]/H/N>> -endobj - -40833 0 obj -<>/P 1812 0 R/Type/Annot/A 40924 0 R/Subtype/Link/Rect[200 169 217 178]/Border[0 0 0]/H/N>> -endobj - -40834 0 obj -<>/P 1812 0 R/Type/Annot/A 40921 0 R/Subtype/Link/Rect[217 169 231 178]/Border[0 0 0]/H/N>> -endobj - -40835 0 obj -<>/P 1812 0 R/Type/Annot/A 40918 0 R/Subtype/Link/Rect[233 169 247 178]/Border[0 0 0]/H/N>> -endobj - -40836 0 obj -<>/P 1812 0 R/Type/Annot/A 44832 0 R/Subtype/Link/Rect[249 169 263 178]/Border[0 0 0]/H/N>> -endobj - -40837 0 obj -<>/P 1812 0 R/Type/Annot/A 41014 0 R/Subtype/Link/Rect[265 169 277 178]/Border[0 0 0]/H/N>> -endobj - -40838 0 obj -<>/P 1812 0 R/Type/Annot/A 41011 0 R/Subtype/Link/Rect[189 159 206 168]/Border[0 0 0]/H/N>> -endobj - -40839 0 obj -<>/P 1812 0 R/Type/Annot/A 41010 0 R/Subtype/Link/Rect[207 159 219 168]/Border[0 0 0]/H/N>> -endobj - -40840 0 obj -<>/P 1812 0 R/Type/Annot/A 43088 0 R/Subtype/Link/Rect[202 149 208 158]/Border[0 0 0]/H/N>> -endobj - -40841 0 obj -<>/P 1812 0 R/Type/Annot/A 41005 0 R/Subtype/Link/Rect[210 149 216 158]/Border[0 0 0]/H/N>> -endobj - -40842 0 obj -<>/P 1812 0 R/Type/Annot/A 42990 0 R/Subtype/Link/Rect[218 149 228 158]/Border[0 0 0]/H/N>> -endobj - -40843 0 obj -<>/P 1812 0 R/Type/Annot/A 42959 0 R/Subtype/Link/Rect[230 149 240 158]/Border[0 0 0]/H/N>> -endobj - -40844 0 obj -<>/P 1812 0 R/Type/Annot/A 44531 0 R/Subtype/Link/Rect[242 149 252 158]/Border[0 0 0]/H/N>> -endobj - -40845 0 obj -<>/P 1812 0 R/Type/Annot/A 40997 0 R/Subtype/Link/Rect[254 149 268 158]/Border[0 0 0]/H/N>> -endobj - -40846 0 obj -<>/P 1812 0 R/Type/Annot/A 40994 0 R/Subtype/Link/Rect[270 149 287 158]/Border[0 0 0]/H/N>> -endobj - -40847 0 obj -<>/P 1812 0 R/Type/Annot/A 42818 0 R/Subtype/Link/Rect[288 149 302 158]/Border[0 0 0]/H/N>> -endobj - -40848 0 obj -<>/P 1812 0 R/Type/Annot/A 42770 0 R/Subtype/Link/Rect[151 139 165 148]/Border[0 0 0]/H/N>> -endobj - -40849 0 obj -<>/P 1812 0 R/Type/Annot/A 42743 0 R/Subtype/Link/Rect[167 139 181 148]/Border[0 0 0]/H/N>> -endobj - -40850 0 obj -<>/P 1812 0 R/Type/Annot/A 42701 0 R/Subtype/Link/Rect[183 139 194 148]/Border[0 0 0]/H/N>> -endobj - -40851 0 obj -<>/P 1812 0 R/Type/Annot/A 42673 0 R/Subtype/Link/Rect[405 357 419 366]/Border[0 0 0]/H/N>> -endobj - -40852 0 obj -<>/P 1812 0 R/Type/Annot/A 42631 0 R/Subtype/Link/Rect[421 357 435 366]/Border[0 0 0]/H/N>> -endobj - -40853 0 obj -<>/P 1812 0 R/Type/Annot/A 40976 0 R/Subtype/Link/Rect[437 357 451 366]/Border[0 0 0]/H/N>> -endobj - -40854 0 obj -<>/P 1812 0 R/Type/Annot/A 40973 0 R/Subtype/Link/Rect[453 357 469 366]/Border[0 0 0]/H/N>> -endobj - -40855 0 obj -<>/P 1812 0 R/Type/Annot/A 42528 0 R/Subtype/Link/Rect[470 357 484 366]/Border[0 0 0]/H/N>> -endobj - -40856 0 obj -<>/P 1812 0 R/Type/Annot/A 40969 0 R/Subtype/Link/Rect[486 357 500 366]/Border[0 0 0]/H/N>> -endobj - -40857 0 obj -<>/P 1812 0 R/Type/Annot/A 41018 0 R/Subtype/Link/Rect[502 357 516 366]/Border[0 0 0]/H/N>> -endobj - -40858 0 obj -<>/P 1812 0 R/Type/Annot/A 42392 0 R/Subtype/Link/Rect[359 347 373 356]/Border[0 0 0]/H/N>> -endobj - -40859 0 obj -<>/P 1812 0 R/Type/Annot/A 40962 0 R/Subtype/Link/Rect[375 347 391 356]/Border[0 0 0]/H/N>> -endobj - -40860 0 obj -<>/P 1812 0 R/Type/Annot/A 42337 0 R/Subtype/Link/Rect[392 347 406 356]/Border[0 0 0]/H/N>> -endobj - -40861 0 obj -<>/P 1812 0 R/Type/Annot/A 43911 0 R/Subtype/Link/Rect[408 347 422 356]/Border[0 0 0]/H/N>> -endobj - -40862 0 obj -<>/P 1812 0 R/Type/Annot/A 42245 0 R/Subtype/Link/Rect[424 347 436 356]/Border[0 0 0]/H/N>> -endobj - -40863 0 obj -<>/P 1812 0 R/Type/Annot/A 40953 0 R/Subtype/Link/Rect[397 337 409 346]/Border[0 0 0]/H/N>> -endobj - -40864 0 obj -<>/P 1812 0 R/Type/Annot/A 40950 0 R/Subtype/Link/Rect[405 327 421 336]/Border[0 0 0]/H/N>> -endobj - -40865 0 obj -<>/P 1812 0 R/Type/Annot/A 42124 0 R/Subtype/Link/Rect[422 327 436 336]/Border[0 0 0]/H/N>> -endobj - -40866 0 obj -<>/P 1812 0 R/Type/Annot/A 40945 0 R/Subtype/Link/Rect[438 327 452 336]/Border[0 0 0]/H/N>> -endobj - -40867 0 obj -<>/P 1812 0 R/Type/Annot/A 40943 0 R/Subtype/Link/Rect[454 327 468 336]/Border[0 0 0]/H/N>> -endobj - -40868 0 obj -<>/P 1812 0 R/Type/Annot/A 43634 0 R/Subtype/Link/Rect[470 327 484 336]/Border[0 0 0]/H/N>> -endobj - -40869 0 obj -<>/P 1812 0 R/Type/Annot/A 40938 0 R/Subtype/Link/Rect[486 327 498 336]/Border[0 0 0]/H/N>> -endobj - -40870 0 obj -<>/P 1812 0 R/Type/Annot/A 40936 0 R/Subtype/Link/Rect[397 317 409 326]/Border[0 0 0]/H/N>> -endobj - -40871 0 obj -<>/P 1812 0 R/Type/Annot/A 40933 0 R/Subtype/Link/Rect[383 307 391 316]/Border[0 0 0]/H/N>> -endobj - -40872 0 obj -<>/P 1812 0 R/Type/Annot/A 41835 0 R/Subtype/Link/Rect[372 287 389 296]/Border[0 0 0]/H/N>> -endobj - -40873 0 obj -<>/P 1812 0 R/Type/Annot/A 40928 0 R/Subtype/Link/Rect[389 287 401 296]/Border[0 0 0]/H/N>> -endobj - -40874 0 obj -<>/P 1812 0 R/Type/Annot/A 40925 0 R/Subtype/Link/Rect[380 277 397 286]/Border[0 0 0]/H/N>> -endobj - -40875 0 obj -<>/P 1812 0 R/Type/Annot/A 40922 0 R/Subtype/Link/Rect[397 277 409 286]/Border[0 0 0]/H/N>> -endobj - -40876 0 obj -<>/P 1812 0 R/Type/Annot/A 40919 0 R/Subtype/Link/Rect[395 267 407 276]/Border[0 0 0]/H/N>> -endobj - -40877 0 obj -<>/P 1812 0 R/Type/Annot/A 41013 0 R/Subtype/Link/Rect[397 257 411 266]/Border[0 0 0]/H/N>> -endobj - -40878 0 obj -<>/P 1812 0 R/Type/Annot/A 41555 0 R/Subtype/Link/Rect[413 257 425 266]/Border[0 0 0]/H/N>> -endobj - -40879 0 obj -<>/P 1812 0 R/Type/Annot/A 41009 0 R/Subtype/Link/Rect[411 247 423 256]/Border[0 0 0]/H/N>> -endobj - -40880 0 obj -<>/P 1812 0 R/Type/Annot/A 41006 0 R/Subtype/Link/Rect[406 237 420 246]/Border[0 0 0]/H/N>> -endobj - -40881 0 obj -<>/P 1812 0 R/Type/Annot/A 41004 0 R/Subtype/Link/Rect[422 237 434 246]/Border[0 0 0]/H/N>> -endobj - -40882 0 obj -<>/P 1812 0 R/Type/Annot/A 41002 0 R/Subtype/Link/Rect[400 227 414 236]/Border[0 0 0]/H/N>> -endobj - -40883 0 obj -<>/P 1812 0 R/Type/Annot/A 41000 0 R/Subtype/Link/Rect[416 227 433 236]/Border[0 0 0]/H/N>> -endobj - -40884 0 obj -<>/P 1812 0 R/Type/Annot/A 40998 0 R/Subtype/Link/Rect[434 227 446 236]/Border[0 0 0]/H/N>> -endobj - -40885 0 obj -<>/P 1812 0 R/Type/Annot/A 40995 0 R/Subtype/Link/Rect[377 217 389 226]/Border[0 0 0]/H/N>> -endobj - -40886 0 obj -<>/P 1812 0 R/Type/Annot/A 40993 0 R/Subtype/Link/Rect[410 207 424 216]/Border[0 0 0]/H/N>> -endobj - -40887 0 obj -<>/P 1812 0 R/Type/Annot/A 40991 0 R/Subtype/Link/Rect[426 207 440 216]/Border[0 0 0]/H/N>> -endobj - -40888 0 obj -<>/P 1812 0 R/Type/Annot/A 42855 0 R/Subtype/Link/Rect[442 207 456 216]/Border[0 0 0]/H/N>> -endobj - -40889 0 obj -<>/P 1812 0 R/Type/Annot/A 41019 0 R/Subtype/Link/Rect[458 207 470 216]/Border[0 0 0]/H/N>> -endobj - -40890 0 obj -<>/P 1812 0 R/Type/Annot/A 40984 0 R/Subtype/Link/Rect[397 197 409 206]/Border[0 0 0]/H/N>> -endobj - -40891 0 obj -<>/P 1812 0 R/Type/Annot/A 40981 0 R/Subtype/Link/Rect[424 187 438 196]/Border[0 0 0]/H/N>> -endobj - -40892 0 obj -<>/P 1812 0 R/Type/Annot/A 40978 0 R/Subtype/Link/Rect[440 187 452 196]/Border[0 0 0]/H/N>> -endobj - -40893 0 obj -<>/P 1812 0 R/Type/Annot/A 41044 0 R/Subtype/Link/Rect[397 177 409 186]/Border[0 0 0]/H/N>> -endobj - -40894 0 obj -<>/P 1812 0 R/Type/Annot/A 41043 0 R/Subtype/Link/Rect[408 167 425 176]/Border[0 0 0]/H/N>> -endobj - -40895 0 obj -<>/P 1812 0 R/Type/Annot/A 41042 0 R/Subtype/Link/Rect[425 167 437 176]/Border[0 0 0]/H/N>> -endobj - -40896 0 obj -<>/P 1812 0 R/Type/Annot/A 41041 0 R/Subtype/Link/Rect[416 157 433 166]/Border[0 0 0]/H/N>> -endobj - -40897 0 obj -<>/P 1812 0 R/Type/Annot/A 41040 0 R/Subtype/Link/Rect[434 157 448 166]/Border[0 0 0]/H/N>> -endobj - -40898 0 obj -<>/P 1812 0 R/Type/Annot/A 41039 0 R/Subtype/Link/Rect[450 157 464 166]/Border[0 0 0]/H/N>> -endobj - -40899 0 obj -<>/P 1812 0 R/Type/Annot/A 41038 0 R/Subtype/Link/Rect[466 157 480 166]/Border[0 0 0]/H/N>> -endobj - -40900 0 obj -<>/P 1812 0 R/Type/Annot/A 41037 0 R/Subtype/Link/Rect[482 157 496 166]/Border[0 0 0]/H/N>> -endobj - -40901 0 obj -<>/P 1812 0 R/Type/Annot/A 41036 0 R/Subtype/Link/Rect[498 157 512 166]/Border[0 0 0]/H/N>> -endobj - -40902 0 obj -<>/P 1812 0 R/Type/Annot/A 41035 0 R/Subtype/Link/Rect[359 147 373 156]/Border[0 0 0]/H/N>> -endobj - -40903 0 obj -<>/P 1812 0 R/Type/Annot/A 41034 0 R/Subtype/Link/Rect[375 147 389 156]/Border[0 0 0]/H/N>> -endobj - -40904 0 obj -<>/P 1812 0 R/Type/Annot/A 41033 0 R/Subtype/Link/Rect[391 147 405 156]/Border[0 0 0]/H/N>> -endobj - -40905 0 obj -<>/P 1812 0 R/Type/Annot/A 41032 0 R/Subtype/Link/Rect[407 147 421 156]/Border[0 0 0]/H/N>> -endobj - -40906 0 obj -<>/P 1812 0 R/Type/Annot/A 41031 0 R/Subtype/Link/Rect[423 147 437 156]/Border[0 0 0]/H/N>> -endobj - -40907 0 obj -<>/P 1812 0 R/Type/Annot/A 41030 0 R/Subtype/Link/Rect[439 147 455 156]/Border[0 0 0]/H/N>> -endobj - -40908 0 obj -<>/P 1812 0 R/Type/Annot/A 41029 0 R/Subtype/Link/Rect[456 147 470 156]/Border[0 0 0]/H/N>> -endobj - -40909 0 obj -<>/P 1812 0 R/Type/Annot/A 41028 0 R/Subtype/Link/Rect[472 147 486 156]/Border[0 0 0]/H/N>> -endobj - -40910 0 obj -<>/P 1812 0 R/Type/Annot/A 41027 0 R/Subtype/Link/Rect[488 147 502 156]/Border[0 0 0]/H/N>> -endobj - -40911 0 obj -<>/P 1812 0 R/Type/Annot/A 41026 0 R/Subtype/Link/Rect[504 147 516 156]/Border[0 0 0]/H/N>> -endobj - -40912 0 obj -<>/P 1812 0 R/Type/Annot/A 41025 0 R/Subtype/Link/Rect[163 316 180 324]/Border[0 0 0]/H/N>> -endobj - -40913 0 obj -<>/P 1812 0 R/Type/Annot/A 41024 0 R/Subtype/Link/Rect[161 276 178 284]/Border[0 0 0]/H/N>> -endobj - -40914 0 obj -<>/P 1812 0 R/Type/Annot/A 41023 0 R/Subtype/Link/Rect[165 256 181 264]/Border[0 0 0]/H/N>> -endobj - -40915 0 obj -<>/P 1812 0 R/Type/Annot/A 41022 0 R/Subtype/Link/Rect[180 236 197 244]/Border[0 0 0]/H/N>> -endobj - -40916 0 obj -<>/P 1812 0 R/Type/Annot/A 41021 0 R/Subtype/Link/Rect[167 246 184 254]/Border[0 0 0]/H/N>> -endobj - -40917 0 obj -<>/P 1812 0 R/Type/Annot/A 41020 0 R/Subtype/Link/Rect[161 236 178 244]/Border[0 0 0]/H/N>> -endobj - -40918 0 obj -<> -endobj - -40919 0 obj -<> -endobj - -40920 0 obj -<> -endobj - -40921 0 obj -<> -endobj - -40922 0 obj -<> -endobj - -40923 0 obj -<> -endobj - -40924 0 obj -<> -endobj - -40925 0 obj -<> -endobj - -40926 0 obj -<> -endobj - -40927 0 obj -<> -endobj - -40928 0 obj -<> -endobj - -40929 0 obj -<> -endobj - -40930 0 obj -<> -endobj - -40931 0 obj -<> -endobj - -40932 0 obj -<> -endobj - -40933 0 obj -<> -endobj - -40934 0 obj -<> -endobj - -40935 0 obj -<> -endobj - -40936 0 obj -<> -endobj - -40937 0 obj -<> -endobj - -40938 0 obj -<> -endobj - -40939 0 obj -<> -endobj - -40940 0 obj -<> -endobj - -40941 0 obj -<> -endobj - -40942 0 obj -<> -endobj - -40943 0 obj -<> -endobj - -40944 0 obj -<> -endobj - -40945 0 obj -<> -endobj - -40946 0 obj -<> -endobj - -40947 0 obj -<> -endobj - -40948 0 obj -<> -endobj - -40949 0 obj -<> -endobj - -40950 0 obj -<> -endobj - -40951 0 obj -<> -endobj - -40952 0 obj -<> -endobj - -40953 0 obj -<> -endobj - -40954 0 obj -<> -endobj - -40955 0 obj -<> -endobj - -40956 0 obj -<> -endobj - -40957 0 obj -<> -endobj - -40958 0 obj -<> -endobj - -40959 0 obj -<> -endobj - -40960 0 obj -<> -endobj - -40961 0 obj -<> -endobj - -40962 0 obj -<> -endobj - -40963 0 obj -<> -endobj - -40964 0 obj -<> -endobj - -40965 0 obj -<> -endobj - -40966 0 obj -<> -endobj - -40967 0 obj -<> -endobj - -40968 0 obj -<> -endobj - -40969 0 obj -<> -endobj - -40970 0 obj -<> -endobj - -40971 0 obj -<> -endobj - -40972 0 obj -<> -endobj - -40973 0 obj -<> -endobj - -40974 0 obj -<> -endobj - -40975 0 obj -<> -endobj - -40976 0 obj -<> -endobj - -40977 0 obj -<> -endobj - -40978 0 obj -<> -endobj - -40979 0 obj -<> -endobj - -40980 0 obj -<> -endobj - -40981 0 obj -<> -endobj - -40982 0 obj -<> -endobj - -40983 0 obj -<> -endobj - -40984 0 obj -<> -endobj - -40985 0 obj -<> -endobj - -40986 0 obj -<> -endobj - -40987 0 obj -<> -endobj - -40988 0 obj -<> -endobj - -40989 0 obj -<> -endobj - -40990 0 obj -<> -endobj - -40991 0 obj -<> -endobj - -40992 0 obj -<> -endobj - -40993 0 obj -<> -endobj - -40994 0 obj -<> -endobj - -40995 0 obj -<> -endobj - -40996 0 obj -<> -endobj - -40997 0 obj -<> -endobj - -40998 0 obj -<> -endobj - -40999 0 obj -<> -endobj - -41000 0 obj -<> -endobj - -41001 0 obj -<> -endobj - -41002 0 obj -<> -endobj - -41003 0 obj -<> -endobj - -41004 0 obj -<> -endobj - -41005 0 obj -<> -endobj - -41006 0 obj -<> -endobj - -41007 0 obj -<> -endobj - -41008 0 obj -<> -endobj - -41009 0 obj -<> -endobj - -41010 0 obj -<> -endobj - -41011 0 obj -<> -endobj - -41012 0 obj -<> -endobj - -41013 0 obj -<> -endobj - -41014 0 obj -<> -endobj - -41015 0 obj -<> -endobj - -41016 0 obj -<> -endobj - -41017 0 obj -<> -endobj - -41018 0 obj -<> -endobj - -41019 0 obj -<> -endobj - -41020 0 obj -<> -endobj - -41021 0 obj -<> -endobj - -41022 0 obj -<> -endobj - -41023 0 obj -<> -endobj - -41024 0 obj -<> -endobj - -41025 0 obj -<> -endobj - -41026 0 obj -<> -endobj - -41027 0 obj -<> -endobj - -41028 0 obj -<> -endobj - -41029 0 obj -<> -endobj - -41030 0 obj -<> -endobj - -41031 0 obj -<> -endobj - -41032 0 obj -<> -endobj - -41033 0 obj -<> -endobj - -41034 0 obj -<> -endobj - -41035 0 obj -<> -endobj - -41036 0 obj -<> -endobj - -41037 0 obj -<> -endobj - -41038 0 obj -<> -endobj - -41039 0 obj -<> -endobj - -41040 0 obj -<> -endobj - -41041 0 obj -<> -endobj - -41042 0 obj -<> -endobj - -41043 0 obj -<> -endobj - -41044 0 obj -<> -endobj - -41045 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41046 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41047 0 obj -<> -endobj - -41048 0 obj -<> -endobj - -41049 0 obj -<>/Type/XObject/Height 93/Name/X>> -stream -H?Kqߝ&EYFSEY"D VCJA4FCN[B- QFi[p)i=}KMCjkgQ}x֠~w+v[4rגp7+ sށŨYvm/p)@WLOKp~c%8 UTuug`#0#0#0#0Hc)>HmC;@/gX &^873p!|1p;ly̲K( ~^;Mm"}8 )J/&SLVe؊ӓ(S7ۏ, - n+]nnh3>ʰh}ɬ2Ѡb/)dendstream -endobj - -41050 0 obj -<> -endobj - -41051 0 obj -<> -endobj - -41052 0 obj -<> -endobj - -41053 0 obj -<> -endobj - -41054 0 obj -<> -endobj - -41055 0 obj -<> -endobj - -41056 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41057 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41058 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41059 0 obj -<> -stream -Hn_G^D*0ɶH-;.@vQ(6k֖TIF~+R^/R y&3HbuIEVwC9T_}shhڒZ fuUJ2bEA3)FS9.o6_j ڢQU3HR2O =ϳSMB"ivP5u0"^M9 "ЄȤD -%-贠N'ĴVȚQ( k,. L5A8e}98auKӡxԯ7kdٛ,yA%g<6zLԎ?@ƚ{9Q;XY*<7]ٶ%ܔ pAKUA -ri@hלk&?myH~ R]u4ߗ.&\.mlr4CBco[> 4&v7:9PퟯBTpljswR'$j'~tEz y:B}:ԓ&gSk:H#\^C):VCezr{l fxZp/[pZ@șQZ5x%Iʨ,R4͟^=%oa%# 4S7&i,kټwd\pbs4tc!uJ=fShƌ|szŹ\j> -𹪷~p @u3 n[rpWϞ6X1!Kd[ 4mt(#ɮ'1 qF^;(ﯮۼ~{y^4/ s[E4)9ȹ4j]XQqܠ:&n>|SS2K/{/m{Lv9P G@lɯY}`QIr^i֮+e3h#9JFf1c+[dY~|\Mr/;讦L e3ܞq, m``0sa7u$K@aut~k&Qv9^-X0F]]ZYjiB'~t-^`OY -#O.x4h9zĢ|wvճ6vXNJY|vw cdG'lOMSZ@ZG 0<TYU\ -q 9µkYZvU3^Gڄ;+K"Xkf뒊Q%e>nbwb 4s`IzpRU~<j8 ۛMTi) XDUηמ"27 7 -Jn~|$xH2Qt :A/z;%_sTAr+0]p@ƁB1j+ pqiR&ku1of -Zwıqiտ Tpendstream -endobj - -41060 0 obj -<>/P 1055 0 R/Type/Annot/A 41065 0 R/Subtype/Link/Rect[130.078995 539.020996 359.764008 673.916016]/Border[0 0 0]/H/N>> -endobj - -41061 0 obj -<>/P 1055 0 R/Type/Annot/A 41064 0 R/Subtype/Link/Rect[93.5999985 428.627991 199.356003 448.308014]/Border[0 0 0]/H/N>> -endobj - -41062 0 obj -<>/P 1055 0 R/Type/Annot/A 41063 0 R/Subtype/Link/Rect[93.6006012 260.627991 270.312012 280.308014]/Border[0 0 0]/H/N>> -endobj - -41063 0 obj -<> -endobj - -41064 0 obj -<> -endobj - -41065 0 obj -<> -endobj - -41066 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41067 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41068 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41069 0 obj -<> -stream -Hێ8tgR`M v@.qi۝}-JDUU'{ ##,^}sᄏ_R|^74ʶmZoZũoމC#]N4׿Kp<ۊӮwպ^ߌPb}t0Od}~^vǃz\[mZ-UWj뭘8ڨ Ԃ5qp$.e:[%L%5<{'zވMg|$cz.,ۦs(!FIC KǀRR((PXRT<׌zMF! Qoz˨De[1QwzG{F'=QD}`>2#QQ1gcZ7q-%1XzKUc@1űD1k5ZKV31Xĵq-%QO\Pkq,QzZ͸Ũ'Ռkq (Ƶ8(F=qf\cbjƵ8o ZKUc@1űDQ8(ǀb\cbƵ8(F=qa\c@1űD1k ZK01Xĵq-%QO\kPkq,QzZøŨ'5kqlXƵ8(ǀb\cq,QT=ŸŨ'kq,QzZ˸ǀb\cbZƵ8(F=qe\c@1űD1k-ZK21Xĵq-%QO\kؾqkq,QT=ŸEX - U}j\oF(mPk}~q;܉J~sɯO}~ٜ>T]hZ뭚{^e|mjpɝo?eȧe|O~W O0zM>jiiw֟ &VT jZIDyjcOߝ˷ew$.=&e >ϗY `~AL2=(.{%ѭ ]7QUMkT \yn@zI ũ8#+Q82F-7[3ʂ3\KFCOvBRAB| d uᵎ'',ҘґRL@(5R/h_⾤$} TF"*,gp'rGJaEJ914l %r)IrUk҆ƊR4h-#h-TQFΒVT xVPL\}9Cre -("ߘcynjaEEBM1QӚ-5Ur.Tɹ*yYSFb -*~⫊:yte GHTXHu*^Mq !T ԴoOԴ/UΉ*IEEW9fJ;W9fhәYQ;S֓rR.)/IDT,ԳpCr`?4 0Ь"~rՌO"eryj}5Lo'6ɞ-FIhn2f~aG٥q̡Q=SRF. s6c_׋*]cu.7$zzFCiHCWw3\sQ6[eM_y8^6[?!,J 6mtX˳:<'`U7cNb%RҔ[TEmlIiL-qA孳uAe+UTު}mA㡦$53U%%1=XQa9u_SRh(\ -,\2Ԕ҄GEYP2 ,g.kJ\-%VE2lAr}үd$]ȚR*%LuI)L@gu]P:LɎP!⾂}mP)LT:AT:>sSSe+*jZlAEL'sJT˚ʥEILTUEY<:S2TL ֥MEJ}hrҿʾWSen9u_SPӾ=Q޾B@T9'j'i_l)h_圛)IFOgfEu*LYO2z:gJ`$y?_ -T9-o]dЧ Br|Ao_A=]߼ (5I0

%Z78)dg`{Xw0W~j;P? !F-"p8iwxJd:spCyz>R6w>P6^B-onUn~?p6x% -3sǿm |ϯ޴#H6lO٢%z-Ė[~ÇDRVЋ59g&wwz5́o|I/W>Nbuj8ep|7I⭑OѤW6xCƪȲދtHH/z<*17F!X*>RQ0z/m;?HJ+ :\Ykwu\|BR&)À&Œņhtsf~M?6跉դxt(2\W -_+yߎCiOԽrZ}^"ܦ*OeTu"P\{?w|پYF^E-M!0uLݤXm<*-ʲϿlZ^e2q"xˌгz3?꟣GpȷĆ|X,,踦-?0Y#7Jƨ (5ф՞7En(̒$LĺhoQ70$6IHEepw?R(6q0ĝ8S?;P[\z*廆TT2%ٸ/r U+ UҀRT?Gu⮄7y0=(&s\F|EE/ 8^ƹy:*&U¢/e2-a ^Ĵ)γ3hBVek}ph?SJz*_F7#hΕ`{O ð]([@ZE6p൞eIмB{b& $ܤ;{k  $ kL88BJ i\O|%;Ge]'"( ;'Q  -`͘aEJxJUz,|aC%XɦB(zQkQ1Jϖaz }|x@2}9qK/ ǘbf aː f"=ݺ;Ov=7q(;NP_?E( ӒUE?idU\~6 f0QQ@әN/q\j@SʴM2f&B?yۃ9|r jzUĨID bfV;u|}@G^+xOQ \I󮾁RiF3Cr^(p`=u,²>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41071 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41072 0 obj -<> -endobj - -41073 0 obj -<> -endobj - -41074 0 obj -<> -endobj - -41075 0 obj -<> -endobj - -41076 0 obj -<> -endobj - -41077 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41078 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41079 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41080 0 obj -<> -stream -HWko۸_2|,Hnb{[*l+MI=iE*zt8<3䙡.M7/bϣ"& cXe$O]Qmem7 tG]uu{ej,ӌOS~*uD 3ChW/4Q.y<](W>&1aT fPr P(fP -A 6@q=s=   K K + -+ -+ -'$` 쓀}O)> ا4`!쳀}9>@ o;FQo3oZfP!{fP!{(D͠j9ZfP@QoZfP@Qo3(}Zַ -Qo3(}Zַ>P-GTַ>P-GT -a#mH mmBT *d *dַ>P@T -aV mBT -aV mT+6@!mT+6Bj}6Bj}A! -DID͠B Pj}A}A}6Bj}A!JD Pj}A!JD͠j%Z(D͠j%ZfP@QoZfP@Qo3(}Zַ#ַT޷ -Qo3o3}N<1=[Gkv+b#FG8Ix}>{\˪;vn}sejZPMk筮܄3uknr 7TMY_F)AM[7:]sP -TDUsnt7cV`|_7n 46]t )W-*H`N|n -Vٹ%޿x0<ʺr8T6dq,ܚOQݾaGʅ rr! ;<TNxNlBvJ!XJ0Ib6I5aWa8.Q3Bi7؉0n|X8 }(0&&`ٸaU<(+rfyOWo>*LTCYL#WHĂkU{ - IH>addi>+C=Z4Xre8Ib[&2yV1MSy۴PnI払" -P:@=F/+׹l{[O. 0FTɞgd';8~VĒ|J ͹ YjWB4v=#]lnT߻P^smWT];bY6~h$/ %3m-F^a$DNpi̺b v頍\$IgASWWpy`<%5,"dF2T FeD|Ns.sQf}q=j%9g7zei[񳩔#ew,wfMWAWU W:_D W_:+̓4IFd9dY&]?~|n?Ɣ2n+H2X(=^؆u2guq@=Ӽ՛3l .'h[L@* P? {QK<".d[[n{s R9|~6]9R9:oj;Է$2|wwƖ, sJãj}f}ހ}d>AEu!olb -7;{kH28Y&HIޕm׷mPvҜjF7AB~'U#ܼ~1DMi|񋣤4%v/֚>~W.k|6r~߼Ib\o\BPoI<] 7X?k74pCl%G}{z)s4khܓ]sc:gCw3^E;2q^޼]4O/"@t f1Uwߎqs*#|@oeE3iB., K)jl}>l\l5;b,Expi˔'\Ҹցwsq&U6+$uޅhv ,mH^"M gFVHIIXEannW03b\|vNw/zňùA~nғa+z aOd*qeBߡrY9&7x3ڭolXfz̬iKi䝁ݬ.NI ̞3 -[F}\Bkqި!aY5H+~63x6crK=1t-m!yD/4gXna~l֭̚3 c2.07Æ_܁\$C%4'Z88LG[.+.|n>K+%qa8? NY4\Հ/4f[96..٩iEL(=Փ6AU -j?HKsm^͎kTzBJB|JVY{df}-:hlH4xiW#<@3bzY5zYGKu0 -K͘殡^j3-kϝ{Nd(d{[QTo g. EoOI&E#*<|Al YM>S'sy1X+i!ivx/Z} g;L6a}(VZMj7G%!>AG te#&g)XJudRQM>h3!|2(SpL BKxܗsg2 fL o7PZ~519K)=Ry[RuW){eIR&<7̻X":-:( fcD Šo -#7<(/ -. ,VY]^axh!dbƯ1>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41082 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41083 0 obj -<> -endobj - -41084 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41085 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41086 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41087 0 obj -<> -stream -H|Wko8_O H0Ŧκk[ )$RFRf^>d˗A!yxy%u.޿Y/߾LYU)ҜE.R^G(#7qtYv]7o_V<utf뻨E+3.2^d7cӵ✫,X|];pY?⹫a{Ywz۱6 v8][x"bGtY.D㗘e{.8DreGUqUT)̩BN8, c.1`1fX`a팅1,NzNzAzAzAzIzIzEWzEWzEWPsB}/E P_KB}/ e"WPx>k1fXzp- +T1 -c Xk1fXp- Pb̰k9Z>p-'\1`Řarµ3,B}ZNc"\1"k1fXp- \1 -c Xk1fXzVc"\1"k1fXp-ƀEcE\+b̰kZp- PVŘa -µZ>p \1"k1$ZVc"\1 -c̰BZ>p$\1"k1,µ3,B}ZIcE\+ b Xk1fXp- PVb̰k%Z>p$\}b̰BZVcҪdf]5,^E,8_y^}tt8y9(RY#NoFO|c7gݷ{}@~n?'Jvcӵl03ǧ~DqGMJ -z>O1gSΒv㩷ZҌ۾~i& .kSix\ EU yLɧߖ_ܒ.eZk$T1.ۮvۮC}CQ,LJ*> 9LڝGfJ6=8gM{P9>攃joGf# +2_Q q 0O$ώ5X_f~]ϥi.*7si\KVy5[;a@E!f$7W`#ѻC\u,OB)0>_==C9mo?C; IJ:.[NK"tmPmGz[PǷ}n mRoݳXP)yGH>7[e~F_*,_m4]-`r-&z -^")JΨYnr ݹ3o^tT^Ǖ6 0T TwmAMkmjF_a_\,K-9DTS{aP_=Kǁ?xûn|42tlx:Rq) ).]me[cEuC08g,ޭ~EVdOd(G!kp;ڻl\|΍W+΁\gƛbenR#Wfך[X0CVIj˲ k3̇ы8R - ?.T'T<-XŃƏ?{^`F%|j2q I΄#-I@so# / 2Jkg"F j5iI/ FWQ.irK,19 -釜~)[ϑvU$O]Y$zCq})=#&4 1La^xfzi:.|9&ZU3ڊm-_CVl26UM-US)y>]P*MaFєHp⡬ -l|V%3/[Og(3<1KM<o_|yiW_O ןø)o 1^q'YMP0}́U_rKhV>1k -1/oÝ1ʊCX?e/7ﮤjTk~"MfMm'c$lg㔂k.;CCNاZEGۖRf7w3;ڋŌQs=ܜrS9W;{ض]§ikx ȪfPJ9OZB4DWXc30*FMFcW{^IHYq0A8z4LD}|,I 8 -gzM 7ztѵDQT Ԩ$[j:!}F/b{ۊlٌ)-">/P 429 0 R/Type/Annot/A 41091 0 R/Subtype/Link/Rect[93.6001968 591.229004 309.647003 610.908997]/Border[0 0 0]/H/N>> -endobj - -41089 0 obj -<>/P 429 0 R/Type/Annot/A 41090 0 R/Subtype/Link/Rect[129.600006 316.82901 324.372009 336.507996]/Border[0 0 0]/H/N>> -endobj - -41090 0 obj -<> -endobj - -41091 0 obj -<> -endobj - -41092 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41093 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41094 0 obj -<> -endobj - -41095 0 obj -<> -endobj - -41096 0 obj -<> -endobj - -41097 0 obj -<> -endobj - -41098 0 obj -<> -endobj - -41099 0 obj -<> -endobj - -41100 0 obj -<> -endobj - -41101 0 obj -<> -endobj - -41102 0 obj -<> -endobj - -41103 0 obj -<> -endobj - -41104 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41105 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41106 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41107 0 obj -<> -stream -HWm۸__ŞV|k\K5ࠕe[-$y_d`Cj !gftϢȫWw$7FFT4'?D*d)%#]4QBv%5~P?UoCjtut]YGwk 'QA$YJn_ L,aɘϫz|Y}q"i2[\G Xa#3LhB>B| rLB1ʳG1y= Mxmm4Dy6NiH޷!Y!Y#y#y#y^ E^ E^"e^"e^"e>Eاa3}Y>Cg{W{Was}Yַ#ַiT޷ -QoӨoӨoZߦQ@ Qo(}Zַ -Qo(}Zַi>P-CTַi>P-CT4 -a!mBT4 -a!mTc6 -6@!mmmBT4 -a#mT6@!mT6Bj}6Bj}F!rD Pj}F!rDMj9ZvZߦQ!{(DMBMB Pj}F! -DMjZ(DMjZߦQ@QoZߦQ@Qo(}Zַ -Qo(}Zַi>P@TێDT4*dַiT޷iT><$iyެ5EJۈ&ey4}^4Su՞=֍nc}(:t,v쫛/x>V3>lÍ"nO(qqs(YXUpp}1' + -iMfݜMy[-D[{1`T`ٝo;]¼hZyLc }>ihn!Ճh7/K !lRT%rBu@O| -bzm GT\ .?v8;$顺1\P=ܸe\=ܛwfh -i&KM_48yzH5"[!x 5I*'Ѥ/iSoGTlλ꺶J[$taUֆ7Ѫ\9ޔܦʲqpۨ#֗Qe)ME^Y7H`,p"}eH&%kq,1M 7rd#u]8R>s5qIŝ r`?A,=PaaL"8sS%|t؊>YTݷ]f(F`!!^SoJL&P%j(ȎΖY._ >Cع.Xu7T{^2ExQOC5fMByr$ecEυH+9oCt:ԥdHz]2]؞w!{bXVv62)%h$wۃisߛ0?γ[ăr-ObHN<3P3+!=Ns=./f"NZ,jM>Le͌;z<؉8m~EjyZ,a[5~AcbǶ,c MuG0!E yZXşL=lR<ު )(zYBy/^{psy;f.L.9B0/$#staкd"\']྽rnے3;­J ,n)M@衲hk -=`D)_]S$g'4t 6R sIi>upHQ湢sƄ,rn^̧"T6p棣2sF•dad*pV4mc0VMzލ7(٫7>re ,$3t$U>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41109 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41110 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41111 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41112 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41113 0 obj -<> -stream -Ho/$`vvw8q F {O~6W.6-η_f/vәxp(pu3O6|KߙscmzRW/UړГ6LZ^Nke-&H\:^kHzI '=$>>@HGHI#I!}Kҷ%[HߑHw$}{=ICD'HHzYKVkʑ՚0ֲLą&.L"S5q0LE:2Z.2ZISjM\$=L#S"S5q0LE:2Z.2ZISjM\$=L#SUjM\^kEVkZZv՚HzZOVk"aj=ZeZdj&.֓Zv՚HzZOVk"aj=ZeZdj&.֓ڪ -dj&.L"S5qaz k-jM\$=Lm S5q0LֲLE2ZISj-jM\$=Lm S5q0LֲLE2ZISjmUE2ZZv՚0Eқ'65GPKdW".` - - ++VVKX-ZjV:`'Xa%r &.diM5²eޑkm\JH&.‚;{kXEX{Gzq*]"ך zH6NK<ą,ɺCX{Oz5Yw zI& aA=d!,'ך(Z^k|ޓkM‚{{ZAX{Oz5Y+5q!Kk0>kM‚{*@X@z5Y zH&Z|‚{;aA񝰠^k`NX@z5y0Gą,#7aA#}SJ4Uͬfv['5mLu3[U.׋Ǜz\;=qx[gj\_O>o7SbuM?vN?/W3W.4drk@{_> zr=Yn/'MN36o^E\ݛػ:!L(g/M>yӯ`bg|zn?'/L1Yl_\O;1m<^M_jkޞ{4wxb^_Y9:oynr ^q+VV HXX"ZjV :`u'X=aJ+iytimK,aY`Y²r zH6n XZ7,{`Mt^k&XEzq,]"ڸ .Z7,{`Mt^k&XEzq,]"ڸ .`kmKH6n XZ7,{`Ҭ@zq,]"ڸ .`kmKH6n XZ7,{`Mt^k&XEzq,]"ڸ .͊Z7,{7AW y{Dӛbq}~yLUS7ٕ1rB>OO~Ud10{w՝O<3_3jrvܜmӋrwzi{xLR||z?| M-y#µcq> { u -R+!϶=Ϳ}˧Θ{ڦt/-?՘R4sM~gpz^{y>fBu ^Q7Z>\O~=6vmۖe*<9n ܺ[uw,թ;j?Yw#q;dq~멺S:;m=x.]۸Knf4wCσz}9ov&t};nB:R\ \ȤDPu/hKM// -Λa4>4gFԄ>t%j)d6Kj%=eS}i#,4_qw> W. P2Y~{Rs ?CuI'雴M iQiE [Ui/^RZ_KӬB*]?/>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41115 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41116 0 obj -<> -endobj - -41117 0 obj -<> -endobj - -41118 0 obj -<> -endobj - -41119 0 obj -<> -endobj - -41120 0 obj -<> -endobj - -41121 0 obj -<> -endobj - -41122 0 obj -<> -endobj - -41123 0 obj -<> -endobj - -41124 0 obj -<> -endobj - -41125 0 obj -<> -endobj - -41126 0 obj -<> -endobj - -41127 0 obj -<> -endobj - -41128 0 obj -<> -endobj - -41129 0 obj -<> -endobj - -41130 0 obj -<> -endobj - -41131 0 obj -<> -endobj - -41132 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41133 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41134 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41135 0 obj -<> -stream -HWm6_!h]&wAۤ(RM$[Բ|Έd^lL oՇ1}Wo^yW7)/T+ -dZ&<}Hxڦf[SkCNmr> *]2>1HԀϴ̫t%zl]zu#tq՗/3X*̈́ ٵ74M2"k]]7 Is:/^RȫUwH&;~41`.1a|H1&ƘsBB8Q Q@9ɇ6@ KKK++kkk"b_싈}I/#%ؗ2b_쫈}E"`o"`i m]"Ն6DCՆ6DCb PjCjІ(}ZA6PmhC>R TET+Ն6@ m"GjCj(B QHPmhC>R TںD mه6@ mه6DCՆ6D#JB QHPmhІ(}ZI6!`V m"TET+ Ն6D#JB PjCj%І(}ZI6u"Tm"Tmه6@ m"GUjCj(B QHPmhC>R"TE6!`V m"GUjCՆ6D#*B QHPmhM6!*fE6!*f7 ]rJnWLyOx> Ê(Ll\OH!xԌ?KY{.3 'R|]ӫUnPoi|=r7?ϰƍ`æyjM~՗/qtiimnu;'8Kh;? +ux[l-EΠqf"~qkR3 9;hUXYbv(Zk+uz -.Xn -9;cMUJVB,}֍pXW`%8@,ōJ,$}q7?dkx]gEɊ"3}$Vf5p7[dQ,C/n=]_HQdύ]i B˄C_Vp?.g#$Oj&_ǪdrYiFVM0u Y0m,U]gCC크/ʣ7w;x>#XCAW j0SZpū p*(Za9$ _g}G=k}g$TgƉM}r%N7^ZTI3)ļtKYeN n݂=,t |p܎un9\6)0$7> S yXhĄƖ3v*s<KT*63 >~bZe9nz;>m3sm88W8}~ f:s>}hF7/KW^hamiv]H" -8zcpUf>7uSj<ʅqFMXߏBT䋓7 ,P6p0t{k`,07z:ͩdĔ3ȯn+j#.v!$QiiOs#>FBs:S=60 1Fd^2#OF6U=݅('t.X [,ʕsʥx(A18+?nyJWղĤ^RۮYԵ -A̬7vMli6S9]sv6]K`yY'=v`ǬÐ2|v΅WEJW8Y^<rwcs^X$"nmmh]寮G[Yq/T tqf0mT>7VrYBKr'y#.>ЧK?%AYEs6IdgzFz2+*OݤfefПv0\$a=3{4#i~ -_k5RtsWunTYXB&Wb5<BU(& |[{3j^DqN -(2Gɸ503.]mLKeJΧ+J|ǟ5 -!G;GLbD§̲~U%>[bQ,gȜ ܬfJ gxx/1<,2_b?wvͤ^BLwץ}FRF:I{_ٺ{2p/l/0<l2kv5t_ C[o@ ҝN|K -;f392pB?ܹݭG_ f~c/1 %Bҥ?} f[Q.CI>?Hpe6P)ر9I|Z40Ҹtij[xPRdeu)juۆgeٲ {h׭źrR`C08rl, 'Q-VHȏ+HccM"hhE0N03 =id0h@|Z ;"j=onM{#.}u}+Fotˁ/cשPa>cOE}PHdIy2;oҀ(o@f(#gC?;n&v}֚QUa8{.K&/`#.?1@q?J0o,,6B55~Y1aGݐA6Pa}L%#w90yfEu\!G1u߱H\r]/ BRs{ugBX2KrCʦi~ǹ@'UVPggN6~Q9'oW2UְKubn Ū HvL[3X?Gh&Dh;u#ߌEprg/@`tW8DTt(Z!` 7]l56x[άKUեʼ}"J/96VӪlW2з-Lu=i{fD-pkiaӔ1O3<ȭ -TrEoJ7U\G;ܟ1̣'/`j /}%(yy0Ytes!&Ɍ[ }MzV/'DDT}WҺΞ_-=`,4MI (zn*e& bv)>'1{6eRτC눒0@*cBTi0(~)]BIguh-jU_ @A -=̍B ~3IxLVcf -Kq#S਌̨zTP}zM\uG05T(rݳogh9a7u=~m]0@/2LG_[ѿ|lܙw߾]13=$ 2Ez߽s)1욬AJP5NDk+iF%7"đ -=r'4"6YChְ^s1oҮido2A!ŭ[4W+2endstream -endobj - -41136 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41137 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41138 0 obj -<> -endobj - -41139 0 obj -<> -endobj - -41140 0 obj -<> -endobj - -41141 0 obj -<> -endobj - -41142 0 obj -<> -endobj - -41143 0 obj -[250 278 371 500 0 840 778 0 333 333 0 606 250 333 250 606 500 500 500 500 500 500 500 500 500 500 250 250 606 606 606 444 747 778 611 709 774 611 556 763 832 337 333 726 611 946 831 786 604 786 668 525 613 778 722 1000 667 667 667 333 606 333 0 500 0 500 553 444 611 479 333 556 582 291 234 556 291 883 582 546 601 560 395 424 326 603 565 834 516 556 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 479 0 0 0 0 0 0 287 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 606 0 0 747 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 1000 0 0 278 278 0 0 0 0 0 0 0 0 605 608 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333] -endobj - -41144 0 obj -<> -stream -xzwxW!+5zB`c:6Pl{mI:\ޛ 6cB'H JBn(=cg{9G{G Fxq79w}G{|콹ofۣ" 'c&VO2&x4='<|&[LbOSrbXAL'v+= b/1G",ل1O%y5!6fb>aJ,  '0'ۈO b XJ q #0!xb81HII ARb1xB"F^jMxk#‡xF#뉱1$DD A,$^0a-|k7g/#[ޥGVۨѳFidet?v,16xqh(ZBL曤cI?v&:M|0)lғI?H$R{ɋ'M.2sʆZLuZ9ir{}8Ùf?ͳ:2ojf7zΌ9)s.[FB/ h<+4̎ R2 -T @@B3jZ5u@sN诊a2 g@LDN!" M31DC< I{ۇPD~?ӪA>MHhI΢afǤ Ir/QљV1$p J5BWQ7\|<8TwXڭ+RO֢ Q4=i2@!6ZށT)pыԊRM_;]-i2'Bڧ)ֲn41c:< ia9ph4̝L46mN.+嬲{3 hoJQػA($XwPa)A zAܐmiɩ6׵]I:t>-i0ǣߡ#L -ed9m}W+V7|5 Y 5Bh׽tc In̹D!{X ouD­;4B4F?Sx]bľ> lCDtWN><~ნHs8ևwa+RtPx[R\D?1]b##$ ߃.GF4IǗ6UL44|벅 -Z9݇):ٟ[EG c s*@!"s Zha” 녩7*ӡ``0?62_ QAR>^ -BX )g7ažxmȐhca>W":C)(@u{su_y W -@8ˀ*Lb::>5j(/EѡHՃ1-("Aۃxh0 ˶t# pO,w GpxjR)#lYvt'1,{g']Q"6VRr7g U7X9 .67fm<7p/osp7)dro S-yG *72@E;᰾KϻpAU#\W5p3xD]bCwqq)GR] wH͕*~;A -J&KppG`?r*#Q#2ϨDJ!q LJ:RV۠RQ OT OUr<) Q{vPIW_gA_b,A)OlxT؈ R`K1H?m -u9(y(`kiZpo.ȓ 3ਘ0x`f"=ZSa> -@KWx*Kfj M!BإMUCzhZ4*4yyihԯ=k Ouiv$POe4@!jӾ%nS")`N6o葴F1Π.?՘h69@J|X&Zf  /^7QHa '6Sp j]rNT.DX- `f=/WfA3НQf`d ZB;{N苼/Yc<JN"CQ-24 h&qmcLq@3V^fr | lp.ʼnAz/%CۥWA`?C5<2%U*2R)hn{;8 +5y;L؂RCUgC -O-ZJ(@(G -|2# -k@pfݜY_y[b,X~5ÐBUt#B|1md7zr2L"@z'gUJc"}질}UVFZ[#֓1J Vm3^LIYh`Gz5lqIgNANs4U}ŦcLGSwriрԜ@ILpm! *E -CRf[[o9/fq҇+_A% O,˫gÉ虠CXz\ɅT\P}5+DThzr9>SˇWrAnщ2k4Y8>(",tχw.㪟qm:jI頛H8 tXyɊN]Z`~ǜ fD=vw.͟<%K?o;рTGdzV1 a|eYyv9TXpջ9 AjPjfbc=4ci/1hZHEd3 -I+VJtQ 6`@)^.KL#aq]><-WD̈JMgzX|zFcr#'$˻̻=9Z~8=nU4GxI\H]9/A{ -0@EZqچuلIrtyczxjd4|%זpu\Ornagnh@)U҃Z,@i'ku/(aJWDYx4! x -5^GtPsLiX6J^nj99CQP,Wd2r[tLvN&=< %*8f]-Vkܩ֪S+pAXFBzYW-/Ѡ#5hk{Cw:m>,Єg;:IqmlscpGPkںB i;Fʊy|76Uq^']WؾL -Ċ^98SH~o:޿:Q~Pq/C~x2 { -iyyDzi9Д5TesE2 amMt5Yr§!5>ߐ*:f]K..H[i`@_7 Q\ -Dũ!7TpItp(ՔuvarMbO}/֌[ -|A@lA/ ` XYi}޻SvCd*N߭Sg&bUR?z_mp`x8N_E -ʒ8nlfN2l`'?J^@JcTRlo,?uXg?Ac>( xL)P[$s`YZWSp:8Qg, -`N,A};,r-+ZzM)28;9 # nԖ)3$De4oVAukyhEp @Mb/ ڟrD6LBeR\ s!hӣ2\ÃweeOz -@#CB&IoHHfVIRBwk%ΕqtCzUr=vD;,Gj:] S8sH T2jqAAtX?WSy™?޸ W65[$j,(O{=mv;܎[C( +jXkT\O,08|nlY%&9YJx*lj+i@";B;:.1?C*i޻w/I;,i(8hmS_ ][d+*+z bJB8?*{/Ұ-z镵tp7!l*_igG ݘ,oD-\g>mc!f"pK|Pph SVS!uFsQޑ:pzxǚ"+%uᙑZ=b#(DEE^"?&Mс"4q,'qrsqsOCG%p3짽}}}+}U~X^0hK7Z7u 8B |7%: -A\J˚c)g7܁gHORIE-N٣qT0,3C0b=ŮZ'qX -xw(y 5a+vi/ʬz\g۶vܰKc\\(ol1C"3 |n-=kvlq -׋;:;K}f??#J8Vh@p FER'bYLBV]}]..=[0"a PfqզWQʎ UD%Dm^bd&UZ̀"5e94JD^Z-6T.5ot< -k%h˻7$c3&7mosEʋ x9Qhu#AZ(rJV iEѠLTcB -$e}yEz\=! ~h?;k♬"K t (eTjQ:1>3ثpݫWT%Å#Jc"6[pE?}k@<p)~Kx{1*qil/UR]]TT]R-3C/Ⴏy{ >u2 .ctM,1E.뒹O;0%E ʜn@=?, **ݓsGOFՙN^)(Xq m]dqIV'yuG|va1?!afIZ~C<5I;Sdv$1r*&=| ЧIYl]-8!03_ZRYօ  -W>!mM^8uGmxKrUz'|l@;_ bP,T /c: .HM"x0'|˫ҧV_YSuNZ+Mƛ@@A<Kr ֨3W2)ZPB tq ;0 U%h'CO -܍ sJDwP{GNR iѓ>6ZX[U%?Т5-=t߸ea=6o`Pk0գa -BB%d: ;5S - ;, P+zАUzŃ8\5GYXfn8-0GBSLԅ-5j7{kΟ@1<}<3EP*o: v 1š7ܛa`$ jBw(@/|Sý l?]7^XM Ńu g >vci_yXUdZssbĭ_|Qق; _ÞR/5>v MWaܤ3R&ebnxMAnQQ[g Aus2p`CcgPCA`MW‘Kܐхi:Mjrp%箔t W{CQ8ʵU*^Brg}E c;稣d%MuIOޣC@uXRWam(IH 1ihXNhAG?XS%{qz/3| ް[Wɲ.ѱ +lƊ.%*LЏUF{ܣ47>.f@wrŃ[߄V}iV&L.ѵakk8M9WH! ̢dr=AWueVCێy2rCs ٘7_gǫN?*v(q|Gȃ~x~] N/L1O|JEM`X6xB?ۍ2:MU@%c\vv) 5wh47ǏMBr$Zwa`0lsr[L ahTtrչ;+.HD,S*&$}^|#.Aٗk>.+9I{JQ{c/?dž<>%TwNi*?!O ҫn%@Ahyb@c3z=TM2l'K`3"I|i+ƞ{adE_m\F2_zx8\ g=ڈiu#CkSzsoKpW0/#E:~7r}{(FOhTXMp\[gg0>ZR;C w1D%6&~drYX burD!jʙ ga7Ed<:68PN¤D15A9rPM -9iFvBFu9[MesM31]M]j`]Ƀ Ѓ4nMI5A}y+?1az#[pwui頀) -PۃAc5Fqq+01| .?`c#}{sź]bԘ>TG[%4T]V >ܱz/i@4oxGK&p~j}k~]!] ӭ33'/Twd9r(֖shv ;clU`pu +m6ژlpCLnvI RM)P*T(5:E5л<"0 -)2l-ɖϜI5὇#Gz5kw'endstream -endobj - -41145 0 obj -<> -endobj - -41146 0 obj -<> -endobj - -41147 0 obj -<> -endobj - -41148 0 obj -<> -endobj - -41149 0 obj -<> -endobj - -41150 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41151 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41152 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41153 0 obj -<> -stream -HWkoV_q7 , x|\!iHEˢ AȴV,I =Gl1Aly4w8wFY7o3ywo&66+ΔOsg&\'ִ&YlCyv ]2],~ՙ>y]'~ƚ*tDIӔYem2sE18”f];>gUf~lf=r z7硙.mf1-U|$#OL9^mi?~H|̭nΜ̥I/RNVm I~Mb.9Qs+Ę/'1bYYcVXһڼĈ{;)ʽr{>(}}}}}} ܗ} ܗ} ܗ}W}W}r{Y J+m@k%,^b{1K@k%,^ցJYj@k%,^ցJYj@k%,^ցJYj@k%,^ցJYj6cv/1bJYڽĘKXcpZAk%,^փJXcpZAk%,^փJXcpZAk%,^փJXcpZAk%,^փJlZ1K@k%,^b%F,Z1 W cpZ@k%F,Z1 W cpZ@k%F,Z1 W cpZ@k%F,Z1 W cpZ@k%MrZ1K@k%,^bͭt|(b6Rd"bERZhVPZ9ʕVrUBi@PZ%*V JUJiU@RZhEVZ.Zc֒k@*- r@)-TȽ)KiKY@KށK~ ȽĘTȽ)KiKY@KށK~txZ*^b<-{r/1dʽ2@KރKGrA%# -R h{{T=ȽxZ*^bR wr@%Ə@K>Ḱ}?k-1KkI}rc0{rM^ɢJH0cJcmr>g[mn.3?U^\|tmu# }f.ٵpJJ^:kwüC2,Ǒq>lYy^C/K./M׷mf0}{[nz<]7yi~rKnSgJ;/ˏߥKϧ㊲J -A@~X7=\R4+[refO7h^4GчJV&ϳϺfv3{1NaW&Wseɲrs֛Y[)ۯw}491ާ=_jI/_si~\}~Zzf7Γ|Z~|3|?dFWemZ| (yg1[8ˣhdn7*>}d65_bd-glE?!ss;>vsux'pP(Eik횜9IO8|~ˮ7X4;Qoi{831rʫORx2xiEr|2-NkFϐqú@[sgTwuEOfslz!O+ ҭUv|0ޢ ϗejה{~ӗ=>Aj{ǧ]cV,VPZh\i@+WZ*V -URi@TZЪV*VTZhE2%1fi--,вJ-Rw cRw cRw cRw cRw cRw cRw cR c֒@%,rA%,rA%,rA%,rA%,rA%,rA%,rA%,rA%,r@%,%1bKY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>Ĉr/1fi4_ɢJ\фSUd뛮1U? V4n,H`WY,L~h{kL٭v{fnaL^C]Yfj -4:~og8>XChNo~fm>~8\嗦A~? u4_Mܯ=) -鈷Hs|j#ү'_ǛO}O7NcTlOlU(8uHwvqc{x:4.|mG7Ö kv_]6w{<܂P鍱v޶a Wp˧( -TCm%bˉP[B%*h}"4L'9S9cHضEX8 WH /,ȅf8W DDهYTziC8Q2tȱ*,d%tP,Tuh5+1B'";V%^pCVgl TfWDn!csO#0-ZuAH -Z;JgvnF0)S ^ -4򾂟3?fC[!d#Y UcTh(\AFtHS@aikۅJX3hUR$Q'Q4EgJʒI,mљ3ZJO5Y8>O_LM\dq8Ձ M@Y.i ھU^~;l} ,eJM_vs>XIm6 | oO@U90uHdG#:yHyLbԛ$Ê(m3zc`*Twnp&RDi\9۶kW -ijww\P2^Ǧo&`"l:jݻM{6D륞\ëd[3\v#Yyi0|W PiGM̈́+}lx~ps/t_endstream -endobj - -41154 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41155 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41156 0 obj -<> -endobj - -41157 0 obj -<> -endobj - -41158 0 obj -<> -endobj - -41159 0 obj -<> -endobj - -41160 0 obj -<> -endobj - -41161 0 obj -<> -endobj - -41162 0 obj -<> -endobj - -41163 0 obj -<> -endobj - -41164 0 obj -<> -endobj - -41165 0 obj -<> -endobj - -41166 0 obj -<> -endobj - -41167 0 obj -<> -endobj - -41168 0 obj -<> -endobj - -41169 0 obj -<> -endobj - -41170 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41171 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41172 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41173 0 obj -<> -stream -HWko__d Qė$fEnxbr[r^%fdH]>?CǾۻXʾW 7 B&`y&-ء͚(eg5nYʮ~n]{UwWPG7? |>.%M2Ζ )3@L[Zuu۰ŵibȕEH:z|ߕͺ<,_4lbSq&#u}׳f). ~f6y cG)U]57RY4Kx^Z"4=1`gSDï)[,"3`GFr H>p8!Ð PKE^E^e^e^e^U^U^u^u^u>#gPsB} y>'P_ B}7z70#Aǐ1`1d} YzZC>p \c"k} Xk} Yp!PV1`1d -µ>,B}ZAǀEǐE\+kZGp!+Tc"\c -B>,µ>,B}ZIǐE\+ k%ZC>p$\c"\c"k} Ypp!PV1dJµ>ZCVǀEǐ1d} Xk} Yp!PV1`1d*µ>,B}ZEǀEǐE\kZZC>p"\c"Uk}liµ>Pp!+Tc -՛X -&>n78[n"84\$cYfr=O͂:,~]~DgfuT /r+񕖗ۊ-cOH$oѶ]uMUk|핶iNUw0n+YNy(H/.έƦ:$Bݵs/ݶl_y!U"xqx\;$OT'ˤBMQ> -g\fL%pwovm^CW;,U9xK)JeԇNZ|:u -V2yrw.\eJQ.(WNM cЉ^W%uEǹ);z+?YMp!Wkvޖ۴]{>a?5'Yq]n$ Y*G7rS-xjV] bׅ[~S[ݧʶ#,/˭^Ojo~pqͣ=_T,ֶǗjUoh5#"cݢg[+Xa/qL2=J۩x/:O.$N8u `"P }RGՙ.IPw6=ó\OjNlk[{҉ ϵڷf2eAyzeWBNyg$s6.CP8n{рts@ &y,йk W5s"\ŕ{!tRn xr7cۗ]Mqa;wev?5u;+Oc}108햎 LkUԦ$IÇEz]UPh/Uu)ZD ;d:#9tʆRH zZsUqBi&2: &U+|Xm/dO`vݐ:w+W+ ;Feմ߀:r(QsB0Vw뽌~}'RO),9ޡˏ9G?so2^P}M1 #niQ? }ױY,4O1ǵO?7e|q2h>2`y,B5 :!\&\y H—ܽ_=[s} -L7~eԐg}5Tݣ&2d G\%rz/y -zo>,nl)~Ң+USr}y _ol >X&@VMtzU5Z$ba3j:WZFEw9A8]3C=IPÓܵ9/p>{⛗IZ$'4UrgE*)[Ӿϣbi܌i~gzJ7"QvaaeUx[j5iK)FM7[2f(S>te}X"Kd`2U̚VKeVo$jg=u0 )Za. vC}X,lZA*o?FЀ:+=݌4 {5\b=%\T/ƭei;)EH|zh)'ŠKuw| U]-Myfd>w (x&܍חqsؠq0MG R*G[]! 0iX"@P5%EZy* I M*ݚKtEReP`aK74ykގWieG+/4=5q{DZ_'QڙC, eZx'T̗=UV~9noUG*2Fu.TB`X|yl\H-@#*|$O8I(qd,')Loov6Ռ<ӎR?H!JG9>$Թ4K}u4^&@'r BS|˜RkR9܏A_u 9*H_? J-{>/P 621 0 R/Type/Annot/A 41175 0 R/Subtype/Link/Rect[93.5998001 226.358994 267.287994 246.039001]/Border[0 0 0]/H/N>> -endobj - -41175 0 obj -<> -endobj - -41176 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41177 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41178 0 obj -<> -endobj - -41179 0 obj -<> -endobj - -41180 0 obj -<> -endobj - -41181 0 obj -<> -endobj - -41182 0 obj -<> -endobj - -41183 0 obj -<> -endobj - -41184 0 obj -<> -endobj - -41185 0 obj -<> -endobj - -41186 0 obj -<> -endobj - -41187 0 obj -<> -endobj - -41188 0 obj -<> -endobj - -41189 0 obj -<> -endobj - -41190 0 obj -<> -endobj - -41191 0 obj -<> -endobj - -41192 0 obj -<> -endobj - -41193 0 obj -<> -endobj - -41194 0 obj -<> -endobj - -41195 0 obj -<> -endobj - -41196 0 obj -<> -endobj - -41197 0 obj -<> -endobj - -41198 0 obj -<> -endobj - -41199 0 obj -<> -endobj - -41200 0 obj -<> -endobj - -41201 0 obj -<> -endobj - -41202 0 obj -<> -endobj - -41203 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41204 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41205 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41206 0 obj -<> -stream -HWko8_.#$( -lb3:ZrR$rE*\璼|[WWiً?og"yƉdD:Je]3+ftr߷ыut_XL]4ֱ67 ψi_4ƑaM}VO]tist< e( YfYa) 999^^%^%^%^3D}Y>GQsD}WzWz׈z׈1UC\c1`!1 -e} Xk}̲kZ,D}Zǀ, Q!1Bek} Xk}̲kZ,D}Zǀ, Q!1Bek}8ZP qYV,+TcB\c\e!rĵ>,ĵ>fYqY>p-G\cB\c\e!rĵ>,ĵ>fYqY>p-G\cU$e} Xk}̲B>fYzZ,D}Z, QV 1`!1Bk}̲kZZ,D}Z, QV 1`!1Bk}̲kZ",+TcB\c1 -kq -^7Ub]x}ѴA&Ye:^Wѧw+vrִ#^f>6žtfߒ뿢')I5כxw>B%mzd!3SPt}zSTrᄐ~}]pFj0Ůa"T%7mṀ1u?]Tqn?.vØ JE9X0ozHIօ`rmRS)NĻ'z. B͓`ycz<3oeڮafi$SoW~⮁aї:iJNnά4&cG](Erq}NCMI9lݯ&/ySte})ۢ+k_I^#85`/;B羓w;<<[ŧrFUmYC(CRi;ЎC;e3f+ĉv=<>6 ٯ~{s^ -oU&rE1j\^-J+W·[)qd8R@y<87<쇏= ʶMzwn7)$g.l̙_WfPhR=pxq>My[eGsqsZ6=-d1cY4v`wg 9ϏL-y8|Ja Ø;+:4ƕР'&%z&wu>\ ?lle#80 _4؅]#e{dCr'~kpՅvSp{2;5'խ7kjN\RzJU\L)2^c5I1@lViJ]ҾԁIPN? y-(D 1I:WOg,X?zE -<|nҁǽTo{ ̚U -zk|>T:.G, -%>)GE -%rd0TO!Qyi'i4YTLe񕞙@$eT"* \ebXoQ٫U2P)Jyg~пD}0𥟐FgcR~b,E _ |mvW2"À3.6b䈖c5AP ?ׂg<$4T9g 7r*v>/P 444 0 R/Type/Annot/A 41208 0 R/Subtype/Link/Rect[129.600998 260.829987 244.992996 280.51001]/Border[0 0 0]/H/N>> -endobj - -41208 0 obj -<> -endobj - -41209 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41210 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41211 0 obj -<> -endobj - -41212 0 obj -<> -endobj - -41213 0 obj -<> -endobj - -41214 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41215 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41216 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41217 0 obj -<> -stream -HWn8}WpڀC7] @bg6A; ͶIm~"ui#uXS,^^=yɻw."&) %Q 'i"џbr1R}/]ӖrC2t}}XGk]F('1Ik4ȺV*?<1(pu}k@qbܮ:rxuTա.7Ͼ?Od*hyCDu{3e|n*HPN>o1#Q.,gYEyzdE7Q|Lbrb|A| Q͠3m{{{{{{{W{W{W{OI>A'aS}Oi>Cg as}f"ZVEQo3oZfP!{fP!{(D͠j9ZfP@QoZfP@Qo3(}Zַ -Qo3(}Zַ>P-GTַ>P-GT -a#mU$6 -6@!mmmBT -aV mT+6@!mT+6Bj}6Bj}A! -D Pj}A! -D͠jZVEQo3oZfP!{fP!{(D͠j%ZfP@QoZfP@Qo3(}Zַ -Qo3(}Zַ>PDTַ>PDT -aV"mU6 -6@!mmio1Tчutf%adX[\b&LɲeN %VlneK)]o4Q4O4qj*>Ƥ4;Z\r[h|>]j簂^ƸݑmӒCGJ ?np9̷swѣNC.<ͦ)y&SC4z\JI LMu]3tCURMݎ QW^oJYCc [4< n<6MU?<Y{B+[~H -K:dAhy,?]#AΥl\d~0 7?ob؉̊\TNYγP|_1C]ánǟ77}+)UhZ/~IJաӧRE9ܽƙA}Nf"g R.Ƕ~ P.Ԙkf) `M 4k*f.2f3롞(r^b$kL˸U]}wZ2TjžƉ8piya8G˲xydigfwGM+qIlܯ~~>.o <M$p~ =)TCp,>$Y!]9cx%L>/ʡ}]ґPeX':UsO=P\Nם U.䞏 -L0 -sCٍ9׵l"Az.8JA8 ZhdA&ӸK^̴c< -:9Sm-شW -if7:vQ]l…$WOec{Jh3u9[Q[oӦ.<d88,ȹxsrX| ūn 5²՛|mnx}5{X‡195y(CiM{Ja(׋-f nC>ذ _;j&WmX=OLT~z@w3nW_u qjʁu1MY)}ӻ4p<[*tpOV 8+6S`#YEycFٟ́I X-?t}۹1bS -G N.W L3*;of{o/d0*{6}uk:%3M{q*`+Y+`2v2EVg"8"44Q.nND%+pyG+=A§4ׯy(BnOL\0a<Z+M1lZ_5t51y -eI=y@XLs!0煯%ho!Q=yjԇGн׮lhM!Rl3q*\¤_\?ηC2;w<ٖ&&^`juAR0^!Aվ-7 .[xFo)D#*'0hY[HOeUQ#2dL#Y۴4z%猅%@ѕ$C铕m7͞Ud= OQOiqxO6$D%P,j?_Bf8=.x'⮸dT֌ ˸t1 c;5HfKӃn)!I1ͅPRuׂ:H[f]"R 3@T, -*q91J x>Y'"wuB_ -(uӦ4qi; zDSxV4 -nכb'~ HOo%zU8El'H<gj^{kSC]7r~0w5gӊ@4l.b=a4,)𙛴azG=pzyy?2qm7]e9}Ye LԬo."r(Y fXE;7dexɩn\n8jyffukNռclNPI3CYR}D W©=ڔ󔠢bjZTz͙8hݴS3?CO|R"5z\9#=F 2fOLv7IA8.4timvT)հ?JFC)BQa=|mSqB ziCꏯ~r)TIJQd&5>4rx$'/T9Rt(3>,@=Om1TE:a+t0v@3Emz;*:o>: @8K/ξmg3TC*H)6?B_VPL0\͕E1!2 qL -Nғ<,>MK3_6s=_kNhxT3yR4SȂEӍj&@OVOK -ZmNIu87<;/GO|'#+ â`zm+ofg 0:tendstream -endobj - -41218 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41219 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41220 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41221 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41222 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41223 0 obj -<> -stream -HWێ8}Wp//p7C.;sAMKޯߢ.6Y,wSaNxKu˗?yRo?0 /5JsɊ\LMÚ$ew`5K?}vuUr+&jX$eiV]u۰ z~+iR͎aJ-3ɋ3ͰȌ!:KscNxgn\ >H쑉3}٧)۰Ĩ fJK=$ cb211 HU66@ ͡2 6@IK+++kkg,b쳈}F"9>e&rEaQƇ#"ViQwlBgj48o!mqyޟr#u”iHrBES_e,8Z"<ឆD66r5.!$J -43:i\A\Cl8BA\ڵNYA갬Ty .oU-_jwViОp/R\ܟwa7Ħe&y)" `!)ucw úTB((a ]2!74>ihvAe"! l.ޙKY>z8; 9_Rr ILk -w;l*^>,˓z˻R {( 햍Wٷj`;:f8L$4=H(m=UL?[(s|:JsQ"Xm RJ/ (3YCzU3~q8v -Rǫj.nBk(ϹYibt9\/=O7"Bs|.G ɵIb31[4$r[\h[4.Grs@:~/6ij` -Z6ێj0ꫲq>vԈ;3x^)Ly*uk-"x=YU -*x`s9ltUnlX/p Xj3F毦uPT QnZvpoR9In^B{'܁]|冪Q?ܚfmBl7CƧnFlQ2O$ju ',[|˽,ȋK -}@ZC5 - oekuLD:"s8Fl3?C ^±Pg,xrzt[B 50PDGd9!E5~I{qW5՞C{ -?w Q?24Uy,b BGtZdci^ {DMv_jaliɵk3umȇR0wcrCxpMñXv,0GqԊ S k߼œZf6h\IU@f((pߝǛ|C:N -Ly|n zh!vpax\u ޶q zQ Z% -X,(Zl C(d8Yq ?$RK3jT bm*٧XǵAXDn~C+YS~kFJ^.O!7kI>EA;Ƴm53z0f냇 -: $_jSVA040VRšNaYfoݚߺ.WV^ ~% e$O2J2;σ܇Ypx~m2w߰6V*,O~hJ,9_=Wl5J @n\`.Xکf;j2a@vx~,DqÙ8ե=Z>j28դrj|yjFis\ϓmHeP\8w\5Bu9 `~_GF/sn,aC8*l]+7`yv d,&Rda譵o_|0ndlv(m;@N& 3^zr /;׈ȁCVs0Y8JO̱pkivTe~_N -f\by53o+ʌ{8| p%# ]`y%X.M ROD-3ݐOnx-{H&.??{Uy c"\-_zVEJ VX ʡ6M+-B}àgs(@<`e9AdU4u,lpWly^U. "r }NEE? iٌ4eL Nף^vma;P#sљi)-HlݴW]e=^v? 2 $k9֞ T[h\zDn愶!}{y -endstream -endobj - -41224 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41225 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41226 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41227 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41228 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41229 0 obj -<> -stream -HWk8.&o."\  tmJrf[?{bHvQԋ_U%WW86Ό3F5!CD}Tt-{x]oڅ?^-bVuaDyASIh%|񭧹K6i'ާٿCP7wjܤ]Żc_8ͩMy߅f좳f%0v>;zP:Q7N}bpR.>F>9ptbbQ XZs -,]knb2{a2Vpo{+̽; s -S>ܧ}*OLp1>cs}9s_ ̽{ YfZ"#b),!CwO1dqZ!KpRkR Y{Z#bRK1d YjZ!KpRkR XBj),=KRK1d YjZKH-Ő%g5Bj),=KRK]dR Y=ŀ%b),bRK1d YjZ!KpRkR XBj),=KRK1d YjZKH-Ő%gBj),=KRK1` ,VH-Ő%gBj)Z!R Y=ŐS XBj),=KRK1d YjZKH-Ő%guBj),=KRK1` ,NH-Ő%guBj),!C ,NH-vQ*b),!CwO1dq>;rZD )H'=8SYb}-6A͟;?+WfYhxhòZ?`m@{aɒI{o1'38tzMmhdnlmrU;8\ԣ4 t5bwþZ]I/MX1]OSLي80kz䒘&g%AGG~j]:Yg>;P=Z'24?:i]az@cz\.f'vfvvl݆p?|CZq&v֝){pp5Їe89xp/g͡->3+8mXG5徭¾S`yUk_K]{;eo*wxd&..Yͣj5./~z]UnmS?VXׂ,u3&~Qq/ =a.޶ +(ɚ/u血nqPDD"C{gHlLsgdZl6 6KZsh:+sӺ9XO)Tni/MTu?ݛ3N!z( -=ɬ.4IKHe;OXzpQv*B-xNg7PfnKhyDFi)i]d!ܷ~jGCYwM/XM~H63l9?Rwjcy ,X+X9c`B`U -JU2V%*ƪVXX5eٌ.΢2ea,+,cYroS ] -˽rO5t ,{+jX,V=%X{K`[!TCbwB.΢S ] ˽rO5t ,{'jX,N=%X{K`;!TCbwB.rS ] 8jrO5t ,{/jX,^=%X{K`{!TCbB.rS ] ˽rO5t ,\=YT{j]׵^.e~cuʨMFgyT@ -4×\̼}^?LSzm:ߙja~keA8bd,-;0Me߿[0̗7׮MސЍbT[ΖK -N} _<ϕ-AЀ7fgC:a̖}7ކCa7>(0bN'@Nݢkxo/nB{|-ˀә VrV8_ 9eӟ0avyнܪsan.>_Ü[V1\n`ϖ]Űݫa?@?}Pד q^7*>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41231 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41232 0 obj -<> -endobj - -41233 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41234 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41235 0 obj -<> -endobj - -41236 0 obj -<> -endobj - -41237 0 obj -<> -endobj - -41238 0 obj -<> -endobj - -41239 0 obj -<> -endobj - -41240 0 obj -<> -endobj - -41241 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41242 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41243 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41244 0 obj -<> -stream -HtWkoܶ_O 8(Gn4N 6)V˵Hߡ(i%r ^s83]t/nݐ͵$e)\04$ 9i콀BGQ9cD}쨏>FǎQ8D}O>E;eim8Z,W qi4UocB\kcw\ژf!rĵ6,ĵ6Yzǵqiq-G\kcB\kcw\ژf!rĵ6,ĵ6Yzǵqiq-G\kc'ژfm XkmL\6YzZ,DZ4 QV 1`!1B;kmLkZZ,DZ4 QV 1`!1B;kmLkZ<4UocB\kc媷1rژf!Jĵ6Yzǵq qiqD\kcw\+ژf!Jĵ6Yzǵq qiqD\kcw\+X先kmL\6,ĵ6Yz,W}J4$f^yWkbK 0҈Dq@֕௟9{ڛ֯S8O}BC֏mI^Wbw5HkȄ)ՏI6yV-ds^`]ݐNz_BPuÚYq|qX\>..^^^h xlyGMGqLTSF]_[thmu݌neXY_K rTW֜3x}_DLȿ8Qt~(7AeI|Ǹh 2b4qpBTKQ˳nSkÄEނ?X"R]S`ag~j~̉+tҴ>dzA9 -ƒxӈr4[,ԡ~lR 9Lؿ-R8VzO[7mR}ѳ1f,~]+e9[H ~C遥9>Z00q#?;O &"h2稀f׏4+T-&M5VbDq}b4<@]b˚D4B9嚋AMRqZ}WPβ<'ouE|kV;ov9NnN$ra9r!p>cA¨xƛ;Ӻ6?d `y(F *sjjhl}ež5z2/&4h-4=uX{6Nމgi ڙH $ۇyY7th|#4TFh]T({KEO! FnAJe -%~ԫt=, $Ji:WmK뺪"WSc0[z? B֔g‡ SIE|a轛 4w!!@Uw)HR˞8M_H󅾘:ibIHAdig!EK -YkJVB?՗3n7}ۨ~!wwm,/J؏q07b)@6Vi/^HTa^qc &1L)Grb=?OFVCaaZz&|Ac8\ eOE -7 $~t, ޯvc3<ñӛ];h $S>3̼4΋&Өإ_D&S7Rm -%DIS&Mc"{Q"jK?t!){% pޛ7/KZo/ T(._IzTX,*[`P0h/U@d].Xa~t kQ< }b4k+We+lGL*@yKc+Jy"խ,_SMDDZ[vZ;ΤL{.dqf٠"gH߁2Xto)av(zyQ[Lhјhq-t&у_PM5+=ş51+ΨrAZ.u0+WNRO8@z|q20bk+$(t۠K!n(77!ʈR`9||>6} j*ߪ, ]nT}|nOߤB:!1^]Y DeڅKP#\JJ {!mS\0:>[hR -J} Pv}a<8weحKcș~! lc bEwF)y}%>/P 1653 0 R/Type/Annot/A 41246 0 R/Subtype/Link/Rect[362.513 638.429016 479.713013 650.413025]/Border[0 0 0]/H/N>> -endobj - -41246 0 obj -<> -endobj - -41247 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41248 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41249 0 obj -<> -endobj - -41250 0 obj -<> -endobj - -41251 0 obj -<> -endobj - -41252 0 obj -<> -endobj - -41253 0 obj -<> -endobj - -41254 0 obj -<> -endobj - -41255 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41256 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41257 0 obj -<> -endobj - -41258 0 obj -<> -endobj - -41259 0 obj -<> -endobj - -41260 0 obj -<> -endobj - -41261 0 obj -<> -endobj - -41262 0 obj -<> -endobj - -41263 0 obj -<> -endobj - -41264 0 obj -<> -endobj - -41265 0 obj -<> -endobj - -41266 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41267 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41268 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41269 0 obj -<> -stream -HWێ8}WQ tMyHf1HA^Cw0m9VƖ:-du&dLUuw.w#׷K%LRV?DAsNt.⤫&ȗ$wNP޵;|铷n!)IF -RDglId~:5qEٌf_vQE6;2㔢 t~D]arC fCzܼ*KUo{0P -X> UQ#W3a} 3'I!r{N -}e8%IBLc2BEBQ͢ -3m{{{{{{{W{W{W{y>G{{{{7{7a_D }Y66YT> -Qmh}h}hfQHQmh(}Z6 -Qmh(}Z6Y>R-GT6Y>R-GT, -a# mBT, -a# mTՆs"Ն6ه6@! mmmBT, -aV mT+Ն6@! mT+Ն6BGjCՆ6BGjCE!# -D PjCE!# -D͢jvN$fQ1(D͢b͢b PjCE!#JD͢j%(D͢j%fQHQmhfQHQmh(}Z6 -Qmh(}Z6Y>RDTΉBT,*f6YT>YT̾EQH$w$l F;5yA6!m;rc}qzn>o>6#i-ClRRcd8n~nI<9]G0CYV̻շKxQ€/C~1tV{|T80Rni8Vng5vΆZvg/(O'?)g&Kqp \P\#a]ex nwQ!Ydfգ`T*r}՞tsFo2ЇɩV6e6c,]S Te)m91̩8.+r[%ئ܂|%z*|;9g9挍ju$ rzw>Qp5QjէⴱP!ԇi.p؅O׽\o' C,^⢥<ec2xme4_ų4jťA -ɠX[_5_9sEҷ3yLK(CdT = ضۡj'3II ) "`+D3;8naa3B_m~tqɇK궹 -]US5Ә϶+gz]\EsD~sg۶ mOm[q|vۖӋ7|r\X E^r} K AEzy7cfָ., k.J}qsnwk5^9"_˗>q?R5¦$1j Dgw2"2\00qA_޶ >\eT!ө|i2~sޕy9}MƸ5/eUcY؟s/HO|Svܻ۵y$MlGi2PLEԞO]Hm-=S\7_\5~w?`fT\S- s8:_ﻯ #P0Bkw@ۑ+a.-`o4L`s!F,WWzPfV{;a3lfAˎaf:WŲ_uՇ 8m3ydЭ)Ջ9( ;f@Yn W3H~"J4ٌŋ:l=ؒnCM>0R;μ -FԀ~Bn6M4Fuq2Ɩ[mA)~7kN'~#WFBV^p -;LL p2g|3W1J_9:z[՗ThQòml_dkkK[SdXGn{fVc2z)%Z;^ +' ]֧[Jh()ĤMt['4""kM!\{gFq=)~GMk7x~l!Tu΀ -ڿp{Oh_iOshbrL0\fPc}EEyW]o6}_RE,6nURVv#a# ɠtI=6&}웶2Ug禯/gTS  @~te)~8K#rE -Na‘ԓ1"I;qfدO}ol -oqۘw]JS6ڟuoBی/L8cRAG#'T:ƛkgB`M޼7:@rPdLsáB`׉ibs -P3I^; Qa$.<61@ѝѩm ~ajCXfCcĺu|.p &/w_ -NH 435{\'1ߜ(e4͟;{K눕i2)Y^b~-@+9JJMʁ{ߵlDlz䴸4QI>sFQG̏_j$5{ f`R*Om?} iǻr8}z/( wÎw^Sd0y2Pg.h+c4tR$ͼKg؂4T /X>m v]0 wOPy,YC%`yd -VSaثiޯp9ZԅBs0N~%56}DSr\B_nK)u$O -ݼtE7S4; &Nūz>o=>ᰱ?mf=a}wwOMww/1$Hϋ/PqaQEV̩" h8 0^$,om)EU*;# -Zs Ǖ}>Ufc׷ھ>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41271 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41272 0 obj -<> -endobj - -41273 0 obj -<> -endobj - -41274 0 obj -<> -endobj - -41275 0 obj -<> -endobj - -41276 0 obj -<> -endobj - -41277 0 obj -<> -endobj - -41278 0 obj -<> -endobj - -41279 0 obj -<> -endobj - -41280 0 obj -<> -endobj - -41281 0 obj -<> -endobj - -41282 0 obj -<> -endobj - -41283 0 obj -<> -endobj - -41284 0 obj -<> -endobj - -41285 0 obj -<> -endobj - -41286 0 obj -<> -endobj - -41287 0 obj -<> -endobj - -41288 0 obj -<> -endobj - -41289 0 obj -<> -endobj - -41290 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41291 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41292 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41293 0 obj -<> -stream -HWێ8}@`_do l 6<@melGonrTuS,-{_X޽>+ _I%Kbōdu|ae@c?X)ob"} Sܭ۵C2֏'š,R>_Ç|UVoBq?ĵZRpƙavNF\vNFbYk' B]@>P\&" V?"gU1VR=6YC`>:)smG96Dr'% c/ cccc c cocococc}L= >'c}JO=)>[[YAֵIֵ!gEֵ!gwm"TET+ պ6D=JB Pj]j%Z׆(ZIֵPkCS$TET+ պ6@um"{j]j%Zv -Z׆(kZ׆(kC޵PkCS"TETպ6@um"{Uj]jZ(B Q{OPkCS"TEֵ!`Vum"{Uj])Єj]| Pj]| Q>{(B Q{OPkCS&TEֵ!`Vum"{Մj]պ6D=jB Q{OPkZ׆(ZMֵ!`Vumumٻ6@umٻ6D-jpw -Z!`M#+zD!GHcǖOKVoaD R0vaX=c͎F${jmXս7%.qᠱeV.1%M EZGbdyfiē΢@>{ʊr]C(9L#MqD4@)n k !jPrI ~ᜆUӂP-.(&u9LzǪioe5oQ]6D۟o0Uit7#q2<zX:cSudQ36j&3c~:nv2]Ml):8" Dynm?R(S!t 3#S?:z%0K%6k~T4@"yS;iLW*P)wJjCYrZ|ܳcg΀6g8W xc*>Vcr.gpWC-nn lJtӟ|C!»czYg>|xG'ar]ꔧ:ϟ;Jb!GcrwnNlsh -Ì M>Lz9%%f%C`cm,=u .[x)n3>K]-j*9TC*)Jfq)4VZ=mh ށ?Q5nu0x.wf5sż4v@NQWJt댿S@/ \le& g;F(vAQ9r( 2w+Ol:yx7Pػa*Ě-]w_=%bAc_5:Z}|;>#|IHMH2u -wqUp@DzAA?U5FKQtlB MM>ff@8!J@P2;Ȼiӎ%Sj,HRQ - -R?Sz8s'xA /ETU"Xm<~e08yxjE?e8bTf`xE_K|1x]r"7V6{t -M!e#E -e.٤ᅲaGۯ9>q, .M^K(a0VWfeM3Prm zϯчT)RE -PYvbSdHJDi.3{o آEQ`8ՓXwF5nCSZ72.ͻHҎ q[g?A(<Մy(y\ EeXeT49VI` фƺVY5S1K&R;BtN,e -~@'@.[1jo ΠM﷡dNo(:Ym!&﷧WˈUALxkz "bsD -6?:_f rdϹ:_D?T]&,eQMfMXr.hV\t^ %H,ܳʉt!rfx9QߜPʽc= 'γ\ZϱDeG9tu}($[StaN̓`\}MOa_wVd}g<YTF{C_?+f-nkQ YYم)q4&Lw<"PmwokCVHO2_UXI1˸аHA[;㤇0zyȣ- ]x2>2E^ƥ}fCd۫_0m7OZN4?yG k8=}gz$f[+0z'"Q6ǭrvK\[܈ 4>nPn8X9A$0pRJwsϴ>mWh2n*oH$F !QR:t~qpR#'J`-Q$rJ?_-l_ڮݘ}uBLXfh0(=hb qk ШK48@ˆ\n+g /ѺP;,~OZX3>& Ȕ&}L^HZl$0,\+6yDOkP>nr}x3CF'f3 BJ o"'MP9 #>&eb2-&Ǫ;hqcz74 D{?t;=R̙E$ӧbJt)gQ#Po |Ya=݄bݔ%T'.LgZa/'mG֨ܯiR^Ȁq7M̋",5գ[!QgZDuZAqa|r/]XEwP]QDnLn1`I+8XtyKTר -NW!a#<*..| - )ݺI <_DRht@b"hq*|B, <~{헻`endstream -endobj - -41294 0 obj -<>/P 916 0 R/Type/Annot/A 41295 0 R/Subtype/Link/Rect[93.5998993 458.428986 222.934998 478.109009]/Border[0 0 0]/H/N>> -endobj - -41295 0 obj -<> -endobj - -41296 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41297 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41298 0 obj -<> -endobj - -41299 0 obj -<> -endobj - -41300 0 obj -<> -endobj - -41301 0 obj -<> -endobj - -41302 0 obj -<> -endobj - -41303 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41304 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41305 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41306 0 obj -<> -stream -HWko6.`?20(vm4M63AHB˶R4+izHME:!yxy%y.k:Oo^]3~U@HXũLX&>*!`̺)˺)vy[/k&؈?lsX3˴J"3c}BO<`o<`o<`o<)>اco co gaZ7 $Z7(Z7(CލpCs$\E\+ ׺1@uc"{kk%Z7(µn Q{ϵpCs$\E֍!`Vuc"{k.Pk|n Pk|n Q>{7(µn Q{ϵpCs"\E֍!`Vuc"{Uk׺1D=*µn Q{ϵpZ7(ZE֍!`Vuc@ucٻ1@ucٻ1D׺1D=jµn Q{ϵpZ7(ZM֍!`Vuc"\E\ ׺1D=jµn Pkk5Z7(ZM֍킘pCލpCލ!go#kf5&؈?lsQf| -D~V0$9=aWgqhYTgh fۿx}9nl5]juD `7e}ZE(lj͗>727nOk?>o[?](ţml&9M]bĢh㙕aޖϳ;t\J)_ /qj -a!Šicp֩<"/o܎("xCɘWYtQ" f=uϬ>t(}ST]¹-~a#9yCǚKe4; r2^ॄs8B~wf`4El%=]]`x124>#ډp-ePT?z6 4H>Kdz򼢥[3_V]F !}U1={Y,&qb,k\oj,xpDHn0Fxs(/.|֋Qbb _u; {ߝv?}oC{X>j[WPRo1n˾Sڡ6_UpRd[þ(L*_kԚG)hwAoXrZCA:L`L]ް뗸Wuuu}'0s{~DӅ^ @ d6󡄕+vYey[^QGЗwQ",B~vCBU9d޳סSTx(B|McxAq`1 ]mƋDu34zwjr8)L޶9ʄGQ2J_ջ;RTZ .8$4U\DH(PB ,=O-kXǀ,[pI@ -'(@5tet>TU`0%S:qb+G 39jBA(]XuGSKs 1T.f-QDe,f(( -lz[d^Ye ޯHҖ(K"2&gj<`.OpyG x,D!'fڸ꫐cx>-Pޡ -wNENrm)RnW{saOD]_;KpDbk^b-+I X2J>Qy-6? gGe?߯=\\pa[ݎnlW94˻?1К.H`O'O٨9.bH*GZ{yfQs)$[iߵqk Iu]E :دҭXF<8m zϯQ8#7%֑\q(; "=$vΛD=e1&Q9-%Ğ>6&UE|cޖqY)ۙ70lĈZNdKOV)M JtRLD\/ -9R;9r -1 Oaj&ToDHQL'wW -$A8>ĸfHhO`͋$ALH=#oQ'"]D+GuEjJ,CIqAyV/MZZ @AomϽ%|) -h76;Jܧ]h6+sOz&~42pѧjӂ/a.g Gvu;crB|o`BP O:Mմ< >2fTq4yЭf͗k_5dCӏFWw2 lQfò|i M03f Sߩ%ItǓ-,BuRG`M42@ѵ~aӯngK9K'T1?m(C.Kψ'>+HSVVOc>Ȥc]T. -p̓CP& B 9(Rt!{VA@REڧ(М8?ǣ*G"JPsj7 N&ۯY - - 9`lێyL]oz6]ƼO~rv`N,0Yxy1f۠U¼1ҐƵq\57Pa<|B%$3&U> w5uUנJ7̓ m2QY\A(l\ wmY! -$g&m .;/MZyWB5BgêÎ0,idDmZe2? `PM'UWP?N ^/,՛}sxD*xRs'7PUvbZʄi&IY1)wgSv4/M @;aPC'Oٿh?Lj*RxV I$؆8UY=ۈ`(s'lD³>9l#(GdjQeGT&y<~qbէ/uendstream -endobj - -41307 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41308 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41309 0 obj -<> -endobj - -41310 0 obj -<> -endobj - -41311 0 obj -<> -endobj - -41312 0 obj -<> -endobj - -41313 0 obj -<> -endobj - -41314 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41315 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41316 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41317 0 obj -<> -stream -HW]۶}ׯ}FD Cޢz{CZ^+זm)Y"Ǜ"؈9V!}/!ҷo>3qB,iKEzidc&M^f|cwnNv87uzn?}c&tO ,&50gZde=%6m=4]޽:h}~RvMU -9778WS34VבZY2c5G$c|Mn)L)_`!%Kwibd΄+1bL1g26D˅6@q4 -sm{{{{{W{W{{{{ y>'`_D }/Eľ$ؗ`_F D >,'DN Tm"Tmه6@ m"GjCj(B QHPmhC>R TE6!`V m"GjCՆ6D# -B QHPmh;%PmhCT>PmhCT>!*fE6!`V m"GjCՆ6D#JB QHPmhІ(}ZI6!`V m"TET+ Ն6D#JB(B Q1(B Q1І}hІ(}ZE6!`V m"TETՆ6D#*B PjCjІ(}ZE6PmhC>R"TETՆS Ն6DCՆ6DCbcTE>%-C<vpaXIf{+xlC"i84xhP_饄e.5_lg?KvCVm;̐`(M?]/cyaU Ge*X.3;oGv pY;^nl[g.lm'fߛ0FbFW,c+vB@ >0֡n(Ji32 UVqb6hO+.̦4*9Upyevݹ[^Rx^z//*DKgLO.@MlCrx4Ojt8jǞ! -BҍN.%&^JV@u{o77L/''hg8˕R_üdEfr];:{l1~kz -@93,}yэxnkfڽ~Z.BKpwW\w0N * f}m"YJ`$;Tbڰc3%+2 \סKB0Yr-0$Fu@NK\:%wg075"C|MNyU.)])^{gG[ҧGtR~!G*&W3}ǹ2Y,)Mq==R /\3=gSHmO2:}2^5R2OaTeP.wo`-:v#lYc@My e8X崤2?m!J㾐% -PȀZ /r!Oz投Yt%z9Y tC ,KHУ-3vIzu s;= dU iqޮJP̊ѥDZéCWu|ݵzBG%|MuXSF n!*Ju s$R^AW/L» P -e2:jnjUzJ@2zegpduo?Kr5\d5W.E:a:}>VC͆yOfPԘlv=I5yr^+gL 9[mnٌO ; l&յ:RwB4-w 6~wm_ip\m4#l3^?0&6ٕ]]_ɕh~s>j/2T MASMn&_,0~pCWPr_qwUu|V덱 B_]s;_ qb9̊n_sQKܕZV9쫴g%y~~ eH|NqLa>%`s,_>WMbV˅n)IWZ- V Ӊa{=y2[ww* -׾Lʹ\u{ZN✓T-+ -Muwzn@$R b'uS(f/j/%N?XVzgХL3ߡt3tW됮W'ߚ37os^5@_!pC6,Ţ=ǖZv"em %p87#'O0fB1NS 񉯻†'UX#֫i]F lRUG݁_mMj(ُ[G@"G/~ 4ĵ|d  c!ΖӄDRA:'MT7?eY 9T"ÿG4a7;T."(|9@m[Q>y'fVrylu(?lAXxh]WՌ%"zfDpfj; U Q3jwQ]T:}#}h "bU;}U Ҷv-w3ii2f!RdiFqH8b%QK`7rJ.9v;27OMl{{83Z[{"FHn=:">Ư=L&\1Voڏ2'IsI+oKV8<8VC͏cW DHuξ]HwǗb^}5O{ykK[~/Q)cӭioeY9v*VGs1۶[u\&u1l{ #% T>y,JFàƽnypu6zHh_2&4'~($ϻ( -D=ncg֥ <.pykʱN=R>>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41319 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41320 0 obj -<> -endobj - -41321 0 obj -<> -endobj - -41322 0 obj -<> -endobj - -41323 0 obj -<> -endobj - -41324 0 obj -<> -endobj - -41325 0 obj -<> -endobj - -41326 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41327 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41328 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41329 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41330 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41331 0 obj -<> -stream -HWko۸_*Cb4qSXަ0Eq+K^IN[\~zX9S\!y33< XޟT' b{tqnڌ , JbiX%YE"H'sF>0N`ać9ky$X'8<#GmMi} ~b'*ʣk=1OlSy} e=papoZ -f -'X>wLfD'+wGԘb|+jq $J_NR$FP*wJu P a4 a4a5a5a5a/4a/46{[co#mw4ػ{Wc"]w5{{Oc#}4KѪժ6٫6@!UmWmWmBT$ -a!UmTժ6@!UmTժ6BkejUժ6BkejUD!52D PjUD!52DMjZն28Z&Q:{(DMtMt PjUD!5rDMj9Z(DMj9Z&Q{MQjZ&Q{MQj(ZV -Qj(ZVI^S-GTV@T$JgVI^I^ -Qj(ZVI^S@TVI^S@T$ -aV UmBT$ -aV UmT+ժ6@!UmT+ժ6BkjUʰժ6٫6@!UmWmMg2I@P<ԪI2>OI9O6Y/4|X$xyqXi D&a_yO|1mK}<;<קW' "5-߷Un./Mg5lG\.$6L"/gUihMM?q8 4/@5¬U/&qܼnUݡnwVU=]떢´ v踁Sc5z= f]Z0\]`hCv;jwrCv2.L*ϧ2,DǢ NlQ3A{؞ߑ 06Ysb9<;۰zB= z?>P˲Wmr:k~w'ƣve !v oT0y{tv}j!cc\sy{|;7gss)snZ:v L@R+Wؚ fszG -?;z#ԕY#6ks5(QfO2* -Q:Hu&PfE(UZ9/*^4MS:D)M@B-ɟvv1o)՝j-rzPٝv;9l -m乸>Dp "-ߑ3u?O8[V/$&a]U,*WaӯTL>>o8jZT#F >8< = cIY=ƅ:zI'n(.˸$aEB"[MP@o)mvc_ep?^̮woq@yY:)ºq_8& Gdz aTT9IIy$+0F)ɖD^pK|6iz?󿸻)p^U1-PS;9rzƲ lf IS mLuzs;~Ø;ЕѮ#q֞ϓ-Ww4` >~;:bz7̦x뾫ԫ(֐?cLIUU$Ѥu>$P>.w["){8Q)K(scX&Q[nҰ.kYB5qڥVUuM'Ιkz>nX/urpCxEHׇ %Gj[tmHhSO$SC7eIa -.h73<4/.q_p|uj-#x@4ӉI JpN`{Ax*hZg/T w>GbEqwy2Ӭb\C&Sۅa/*?;96h\ܿ[{8b~,H-&_J9jVf?*~0'd9IsF|*s(TOeN\Fj9qttlq`֗B9&PS?V{<<1@i8V -%@M -mVCh9Qjwе7Sf&e w/5b2Sjيib"Ʃk]<胲3Ҝ8ԡ#.:u&@tx0Ni{e̡N,6`MTC!T̆P0&蕶[tOy>Ŧ:;HH.+ TDӼ䧼5e4.Oj&[wVUەmFed3ZOtށ?zazo=w0qTtfL k/ X ?}_]JSJ@oGֻc, tա B&T> M $sXV|شY ~گe"zu$6Ŭn#!׮U3Ep]zde Ѹ -:Y,a"#b!(GghO1endstream -endobj - -41332 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41333 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41334 0 obj -<> -endobj - -41335 0 obj -<> -endobj - -41336 0 obj -<> -endobj - -41337 0 obj -<> -endobj - -41338 0 obj -<> -endobj - -41339 0 obj -<> -endobj - -41340 0 obj -<> -endobj - -41341 0 obj -<> -endobj - -41342 0 obj -<> -endobj - -41343 0 obj -<> -endobj - -41344 0 obj -<> -endobj - -41345 0 obj -<> -endobj - -41346 0 obj -<> -endobj - -41347 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41348 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41349 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41350 0 obj -<> -stream -HW]oܸ}GM?$],xElSS,4V2#M%(Fz8^\R,ڞo7! DRASM&TfD_H%1JIE]W5m7}[_oyzIJA$OYXd6Ē2IӉw6c_5uGVLfgl?Lt8L%Heՙ! -yp0#SN¤jPdӳj4!'r5![iQ&!Ns|HKC8iYV8+MCYDX4 999^^%^%^%^3D}Y>GQsD}WzWz׈z׈)bZG qYVǀ,+Tc1`!1Bek}̲kZZ,D}Z, Q!1`!1Bek}̲kZZ,D}Z, Q!}e} Xk}̲B>fYzZ,D}Z, Q#1`!1Bk}̲k9ZZ,D}Z, Q#1`!1Bk}̲k9ZGqYVǀ,+Tc1`!1Bk}̲kZZ,D}Z, QV 1`!1Bk}̲kZZ,D}Z, QV }$e} Xk}̲B>fYzMւ$YzIJQ 8sVoSL)i.djz CJU<~xѮT|t̪M[}lvOQ#Cq&hz6T|YYrNE;mL3F`3}`1aà°ypgsn:wUf9> # hy3h;chNuCkXC$;[Ԍ/ͤux)cۍ//nlج8Vu0t.#ڍpRP>IWdJ-W.#h\뭣#sMSeyeф\S<1r9\#E[`vwsI%9M"/ -"rŮljT1[f]~r%9ͦ2\me r6L7xM\۔FhVN*Ncniб k yM]o5K s6?4;-e_%RzX[%ܐ #1U.b:Zr6"aQԘ l3f![cOꫦȹM$CMҜ1gzc5乩P}D~Tñ.c ޯ6D 0.eC=ӄR -K]<⯙Ƿv[=r]*;pk.WTK*J`-`C]sWᠵ7}=E?61+y??֥r]RI$YJv5Y=3?~<J`7[l lؾ@iP/Y(uXXڐaYgOQ ):b*{3:q2Ն?ӡ.ymέp*rW.9e4T~t^/T3cWX~m04?Ly/ |y%`Vu+WpFte[m@׷f wrz -yKԟؒӖiy%[؎/.  -> B - -bO -> -|>ϽElZsqXS(-SYX/V4,_ش\7tUHP8ݿllYFͼ>9LjRQW9 2sqsiJY2rꓲ4Z-Yn- Ny-J@N![+%SVrP^)R폌zju@ˑ΍XNZ=s,q/LC#bIÎ W+oV0ካ(`j.Leq4U gA%bTcj)C!]hqjWj@}W@WJ,䡤)چRDPke KH}d.M䱽sٙ3g@ъ|DaZsQ+& ~H2~4.߯*G0%xdfWpfDz;"cĤ%O&@fY1qMq. Qb.A6JI֋̼/CuU4ӏ@gQ9x]K ?NSR+A"^hW3!<JBxoDբ#*c4oI=qZ,<]  ,"ڎ7gT6"|mm - z|.sU/=܅z0T`ʚJc[ X;$OyYUTvrQ6љg:KxĴH˙3 Fᷢjvy^4!JٻMT{Vboz96s(tᓌ>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41352 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41353 0 obj -<> -endobj - -41354 0 obj -<> -endobj - -41355 0 obj -<> -endobj - -41356 0 obj -<> -endobj - -41357 0 obj -[278 0 0 0 0 0 0 0 0 0 0 0 278 333 278 278 556 556 556 556 556 556 556 556 556 556 333 0 0 0 0 611 0 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778 667 778 722 667 611 722 667 944 667 0 0 0 0 0 0 0 0 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611 611 611 389 556 333 611 556 778 556 556 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 556 1000 0 0 0 0 0 0 0 0 0 0 0 0 611] -endobj - -41358 0 obj -<> -stream -x| tTU9w95 UJR ܄!CD 2A@E DT[PTDmC1J!ЍSHHcQQT;B^뭿*=w:|,^tc31''7-IU M״ Vw!>8eq V3yCs\جʢY(Sg[|SnO;zqj_7馞17kv ߰8VveE=:'B!z2GN!D>eH% [ƕ~Gl:vVׂܱ a-8O)S$Dqc-SIfw`PPV."]G*ziRmyLWZUYI@VTH}IwP \GqjD;uTIk9eRyqvV'N*q7Ro8\@G:Qo/ڞGb[j'ʊ=qWi.=V,Ckhn~w't4\H!uJj?uke{#‡Y~%PQ}cgZHag+ u? ?'yV'|MFVjMNzVk`NJL:Mk23]_bNbׄ@:x%G ϐ'l9SNr :΢3 :N :NGtݟ*̊%++$ -ڶc/ᨎ#WNj)"C+O2lMjpI}FwRe_6+pKw]zzbUs1T jle}@`@Oo6}+ۗ+O*j:<E&V5Qi -5U]U3\j_UnV]׫hHHheVvvqDGl~+n IBI"(cV㺿Cwg)Y"-6TOB%$E>$*d+~)=̗4o R)*')!_v/~GRA*SM~V|7-ME>&F0!T:Π 39 -+@&dyN#!IDQt9 +׏kVpk|Av tI>ԑf|gɍVrn@4t<^Gv"=FOГKp\Z{mb~^p - >|b)Q.QPwv M%$ 8M̶);A:9@_9h, KKh:Υt#8I˽t/9B\j[f{O|.? VH& BQxXLqG|[xVJZs{N/oU^4{@_DRrRbqg1ND(ɩ - m 7 顚\V5aGe;5s&Lgu;St&JIinN*h?T -tc}Oe>ޥmjm3A\̪ @UЖYmU9C^ D!Fvv2i+Ψj*ڽ!lV4}ʄ`>7NBq=֡ܜmqwB5)u|S};ڰeCe_x~^ܪZ{v.mhSsvnUYi-jp[vz'cLhǞ"&Ь99]S|Uv2ëxJn [!rsY90%VmUlX($ h%짹M/xgH;SŴaM+49zOK8: -P;͆q垦=R;2_2vtq4Y,Mը f%nQ9.l֖z] gG'a0 wҕq-P0Ay0[L` i,K|"p[I$_"/K^!yp]!. &p[I$_"!H•8BU๒Ixp,aWa$A@S@[ĉ1"EYw\v'ـ 8ތsɣ؞{d ځ(Pm'+@oGyDV=W,8^s -lЮ '}78?d xE$p6\PM¸I@L,$Xŏ v cH/ƍ h- -?Z+SII'aNO&9aY@O -1j-ƨ7B`VJ +!oq3@<\X,㸻cwV$b*=5:yRwnXMz0԰WZA,-  x6"8'kIYY[$է=D$[he?O} ]4KU+(0y{b')<DZ+W eq[㮎- ⤕`YʓtA3x&v%jo+i8:ůqz B#B[ny{;BQ#;L"xʋt ]gw Hk^ -} -hH+ůbT snrRaH_b.+v8+*;^txivqR iIz\z#)nSlfqŸ5 [2~]gxog'j]PP@-l__{5="\0٬ >[GֱiI'*]uM DZ|3Q$ŝJr93=L&n/ -Lv`ĸ:q,=Eڷ罭E.jdrDaOShG!DV+Mr<v^HRg&mI6FHVooa8!9Π8mASr[ݮL5HWۃgr0Tҭgl)uOAB"!NY -xY*ʲA:~D\NRkcٺE׍J^oG4ueM%^XQV9fDeyf3fs=ݘB :N)q'o:nL, -J9-Mʫ2Mk]7OX - - }t]g']w#lF{hBv[T?b*d+e -tdb5W,MuS9{!^yuL/M̾a} 9oqV^7iBM#_YW?N7{"?_܆g&)US|IhL^#owȢhj^eY ޤ7h6&]d$ 9"v7e6 o=}rcdTR7RvH qqqTX`! mT߮~ vJ]OK7hɏ -ܢ轚NBQ\mvaw;ɾ-Nd5AJVⰛ -o)=HZG~DEN@{P_4r1憒Ơ4L1+%0kk2gI&3yi럣&UU~Ghh^p&`+{S=AͧN$9iFGL1O'9s'9lS2$ &  OXS -R)+S֥lMiO9r&ENɫ‘'j_X][ -BH )4=&iV[λyLk'oկnoxk3qt-5~nQ(reԟn^K6%Х:9s"OL̂l2Bmk+ wDM긟;3E#Z8YA^tDifN4WYtl>Fk2G4#|2MqSŢKO(==N#JئcSqW% -BP{pLH.(\t "y&~Iܒ38AKr2YRϡ̟6mƅ]G}U67Oi⤩S'MlZZ }G{o--}mj7sf5i",{fJQrU !-6`N8OVIĂDneĭ퉇$J9??+l v_:>v/p٬2ǺJ%G(%PwDGCTw>^pDCݰ{"~]8gϨgn14~c?_PFoX_ןJiLem1aƆpn -ˤ_NQ̐ z$="] oAKiY{o;)-A -$?qO"B;D&*Y^lByZN˟x 7/|i)ׇi4aw5ZYۅT zd$II 6,&Brrp0-3HOL}xos8LTV?wX+eqz;.Z疦~@qňAV<"SѰa(5,Mji3^(vH}!IeINǏ"o0Q4 Neq#&6$$"b -`4H|P1xM7.dF#"^M-]Z[VZL1Dp@¾v@}kృ?PrJVZKKePѠOAL)O[:S815LeE3U1? fZF &l1>DΛ_juq,J$+3fuV3ZecZ؛k,RʵE- /]eQ-0f $ -[  ,3s@̂N4-]ulMZH.Lj Ye0:;(Wk6莾.|kVKuլ <>9=.V2'Ws uI3%td|5uQx'౺;Q t:r*vɲ/W 7x"Ht\'0dGpt8J$F9ꢋ*?c>2!Odq={u¤w]6Q͉,F}![10P.SYæ:ra-&7gx3g! bKӜ^v+1<s'r -%nީcP&a7.Vr ,uR y]k0vDSq`lp9e8czjV]v a,/-Fsj,DqS.c`NdNOdN/\:>uT[X.ԕKsHm)ѶeL ^'t?EAyl>Ӗo$/_[8g:"Zddb#Eas9{:m#3ZDK=rL6gEx3*̣{8K4~FQ/:-|Pc) X)!|7 p$S9NM:l+ *鸰3!Fl|>YC$" 簶g6!pWFyAi>%@lF|;QC˕B6D<ѵDG/YW&%7{&k;^؟⤽_*^e#GǟP'h)-}xt1j~{=tO?zob{3Žt tę,|V |Nޜf<@e! b=Yl?t矷QN}]#w'pUԑsnPFZio x/+?֙z?x=Ȉ+ > 6xSEsWi>AKC ?7r8ۗk-ysr{ {.RsTƼ :hapLlZKKcLa!LحeLu6+!-_B~rY\o-pG1f6?`TOe[S4f.wVMuw:;>'wI]|kL _uJVpaG:$ɅtIN Nft>q z EW"e,Mbpɒ|=iìS%s͜3X$~==d=Y7ߕ,Y=iYޜIH<|=D_ShͰG98fMq;}<;\c5әKp^p<|7GOs,fLܺQ佟y?$D4(})Mc#X4#:x^+Qj5(0B[1ܿBL˟WZ0 <&c|hso (M*J1Z6jsk]֏#Ǧ?[m.̚Ƌ^;ND! "FYgX8="I:d73zLKB"^_/ɿ)&&}$Y%pR<)q46-gJ3mFƕ޸ 9wڌFe89Ed&z` 던LZ cV[8D^DB;ؽ/~N^y_-}+Zm %%n=Ix VbGPX68z67UQԣwU}=w$?' &_x*􇾤ٺ:nH ]Nni.}A6:avqq-xN%1rFN(5lbf|c0j6z@씣@AO$YQ4򲞧 o^Hz#M|:t,a0K\ښc ˲UDillaC&EnULXZ| lWS{jF"#wP"LFfSF -5T0dB_6 -yyYl`LIp YcN_G-P58WMzzjz 3,9a `P̶.̈-T4":҂ㆿJ{yT)H' pŘS2arsVAWw}7'&oae`C[mNV> q!7e]uU%4%ɇޜIg̲sa v J>`Měj@htR9lS6G=ѓu!+j)ٵ&4'yH>KXT^$mYrdCoUvFEώ{aqGg1~땪M.5sgo2,w:_wy8IHzWHM.d}ޔoLIQ;@ky4"v Z9(U chw!l`My.Xм01=3i0.GyCT A}*qMVϝx⽘jP%ݮ 6 ]XtS& $wU I9 >Mo T]xDϞ&XXiEٌB`)|Q-VewӃ, NbIl(r'Ҵ -٬d Y^yիV+#uIM'i8y~"_|7y}lP4ajB2Wkw7|xqUG -c74j1J Xuׇ-?2k,;ȯpMh}$_'gLjjvl5T؏~\ߜt{o8K|O|a Po}bxP+ksibmKGL-ȗR93ceJ 1+vZ xGB(ۧe&sߝ@bӑcttqUrv( -Q9 -s/Hr`A^>m?aoxG~ԫE~sh_Wڊ-Ci?p>V׈/AeJȅ:,S[]:a0ᗃ{d2@#蠍| vmZUҀ V!ƫI[xz&~tpКA*PW4bhR'S|(eA)xuhIh)LeY3eFʵC NД!ZKgϑM벲i/́3G>[‡"̃ҡpC/8!qx^[czNH|>J|4zi?[IX-lO -;Sx ٭otA"b;ym #“`V 7taL̛g mGcK}Zg Svp&_^*XOG^EhJZ%Siiw=q3ͼꉗǣ>:iKa76, ڷY~2T\,#@;}]+V4)G{c]o>E'>N,WͰM3*%}\j@ITkљ="/E {eުeZ5$aRvWhg)@e,o _|mTK.YDjsՓԖ*y˵P[Z}Cz[u0;A`gD;dx͒3,wCQ}=qo )*Cev)NHi䒍>C=x讗uƨ{ra~Id+yb){dW@xZ3V, S8p1lpg^kHm;}XKJ1_2#! `kE+)b"lUP!1YVt:[Qz5z!h47 3V+5Gx]RJd\ق˗c cNNHrզ\6͗g"Iq6ۛw٨km#ߋSj^p jو6I:+:cFO.o #P7aèsA/N[ʫ\G( rdC` j_vIrkNߔc{.$d2E -0餖Fق:a =PM[CʒD6^T%j6F۵+e9Uiz!@E>Xìv&u# a;r.F1PCMB|!Zl3[ri -`KV͞cOd=u)U>*ο,T\8 9L$320 1<&&"l-SXjJ酪.gDN45o;2p=LKye!3`/UH EBP% 3L M³彆[w _vS x1lG~o҇k F*H"V1hxj0`XIL7O,G=V ZdW5Hk}e}ji iC?Y#~G[hÞ:b7x<Z튾GZ M') † H6$%6s0 2K@ṷƍNoҙhdίӅm N$zr~k\삌,f f (W:ouIfgkOx.ct .JH2Ȋb1jelMk) 92.6ؕ5tWaU[^JˣqmIXtzzK,boJi5kBVo?'տ"YBo{Pؤ0g^ObW*=1Luz%&6LA,)0]'*bip!#\q\(~݌I|(aœ$%46{g\(,?'(òE.~%HI?~]0I[(# F)"T?@]8MNIK.ِK4,6v2+XIX,'>)Ezm, -lpB ̀A-JOOڪŷ m_S^5*݄ѱ|n/է;yNUwu`\\-Pߍ2 f8CI-{(NƐd1L' >pCX>T[WQ[=2ynKӛr+ϝTT -@ -LA @+A@[A}àOAgXgYAPH5VցA@A0FA @+A@[A}àOAg`Dd@ 4ZZ Z -j} -: j-Dri@zNzn]v=ھާWoz^u^uq^^u zzz{+zՇWWUUU׆@^5X#zU٫>W6r|Ug/zձp'7OUޫ>WW}fzgUW}n.UG߼B> {ЫW^^%7c,ˏh\^?OYendstream -endobj - -41359 0 obj -<> -stream - q /X5 Do - Q q endstream -endobj - -41360 0 obj -<>/ExtGState<>/Properties<>/ColorSpace<>/XObject<>>> -endobj - -41361 0 obj -<> -stream - Q q 1 0 0 1 50.580000 43.020000 cm -/X4 Do - Q endstream -endobj - -41362 0 obj -<> -stream -HW[o\~?/Φ#/v R- -7(ʖҦZe ~3CJm/A{fHp.4:)cRRN9^tF])=DG_W~.~_]v9W׻۫.^tQ;vuv> &w/T]׍׋mEnc߭JCfY auF=9+~ϴsuowqGuyM1bbůoWkffHf?KF'+A=cDpTnx;%3[vjيK^)ڪ^=_,WEW n䷪"Sc#ߪ/)}rmӹ|X8hG+D>1̫^Ww{ك1 i"? Tek09E6+_zƘQ*8%ÿw+ . SxygɻwdƺJXɑ\LteZ - jٻii<vf#of#;UMWSazltL)XJ7*5׺W~NmF2I;=␀qh6 :O= i4j,\.O:yec\h2K&8xjYKG 6f6@s[Xwu ;\řrp?ZF]0fH6#{*q [l3i:}3o?vSw1:cp?}Ϙvfl,s?=M5 -=.`%]|wճCSN >{pR+Pmn DxSpt-F!CPK F}$xbi3`Sx#8o2^g4 l! "Q}O-xAhee4-e9!*ˎZk}UNS'~Pk"Si8tSOquBPp~ɟ\]RG"ʬpjMfݹxxu%Sቩ% ?h`Cڋ6SUWY%zKmwUٷ҃ڀhW=ۋ -I"|WՁ<ʬ~D -EPTD~Nmb#"f9}wӶ L:M D$W[̱ͯOɹ40 iOG=sB`& (FޞQ ?ԟG)k?!:#p-egPqԊdOj0$pg̸ \ݬy:Йyʮ0a˖1  iqI -~1ݿ@< V"49V%='˫uD e]m}+Kq6x&R!,^a DsrF -ݔ%RsI1@GIHAQD7-Xic0" -wPGfQFi򦥑(6U VzL\&7M)mgkA8K9qKj@Zɀv{i='rue^s R303)M~#ae l-K\:'x1c9)|FH* - xË|hLsv K:*Ff0}VEz5Q@e-o";MYmqmIstBӢdž'k?'[8*kѕR"M !-KZ.'ʪs}#pB -֣}/S%F$'ȇ01M3Μtӄ9"֫m7+*m*Y‚f,  i^{Ȭ{ċѕȈ8'NJU1ѣ 9NPZpR1MOGR H;FWq:&֤;YG? cx/&yEYu$t#.yƤ\=-Wk[[݄ b48x){n/"iOV>yJ֑;eX(hBX+w@4jFc(M(+f`5ep*c R*1GN\j-NjZHQPE*HZ&'}f\5375߈j!RebR)3$>$ԥjId.#L$ZJ_#5Qəo\|ȹi&BէOI2ovLbuAu.d(R$G*&EݽNY P^KqX5lRZLϖ`% czWu O$Iv-΍ 'x\xJzZ,(qT 5",I1딵M^QfFX%@[MIv-n!ذFS(ZWEVQUipܲGe1.( bL&,I/58#"`a/ +"嚡82 Ly1.5=Fp2xIZb OIZtAhi&|-7zW~ toenqZ\5.[qָ k\WppV-.E -52stBӴ4+p^Ei[t5: 3fXc3|k_J9O_}ȪIqO b@Ē_zОIM'E4CSR)+6 X&*ehS1 c()1d |QO讁-r%ނ  V4qMU%Mf Ԩ_4Y}xCAc -YartwuE!Z2Yq_cYcP{썞yGOCixSu>)#O->!;DcfSWCNeCm66σQhz -9X!KpZ#n/6h4a)ŒSyM)\iڔ\c#W9ʤZ ڐzSOz_9 F:JT(H< -=eF] '^EWҋ~.v0:)e]>)h1lR" -OS|1I{25#NQ8f{n1}}~Xӟ R3OL Bi|`+ l1^tMcr-Ǿqy'~q;#_%m1ϔo~>r[{y6V'x컃3kƚYd\]wnuOX&sfzW=πqB M%D־P;* -I(ee 4>ҁ7R(b -+?Vֻ" rZR hkޭs;j~We dAʆ -r8h7rYH5@QWkY" ="`& 0^vRbbct,})e ];V1mҕtO,~@2vԬ~dXԱUj\2]+3"j MHץqpe-MgLxI5eVY_ L )ĔV)zNJԶ4Mtcrl!.va>kZZTojXǑEit!V&Ny}$pvZ++HҼB)5kp\! ʷ)ewPmӖEWKico4`2*j`h'n-yaP ){ _y4LNe.*& λCSeMV!ywMN/)N!/{ygvq6ao|1.nS[oE9M` uw1$[ovui|-[$-2 -[L.DҮfqf1mf1_bޭay}]V1oVқaPqHU6֑q//ReS# ((]OX DC(|A )ސ2pK/"8zfQ2A3F%k=k6yl謝:(ݟtuQYCiYWQV7;$R -dͲu;1'1a -/aQ(.ɶ1)bWܸ)#̯XAnuҍvrMn7ŝnEӭtWn}g[WQ&.\P gzZݩN5yAtZP~jeZl3oz͍IӍhҭ+ܠM]l;Nqz-t+;.|_|N1:,Ԥ ֵ+ٔHxFub<ʑm6XHDHbj2Pm# ȒkY!(^ E* -o¦AȌsV8b(zx`x‹+UMuno/F5-.hK4z@讪sqU覱WK]9g@^ϛ =- o}|n%@]>I"ΉywaL))idw:,C -j4A|LցTQ/P ؘbM5Hx潍G()>Jefm@q,cLXHSn)jTO1Eel!Bȟ ~s>.*T>K6[U/kx M.v)BVcJ$U,*? c)  U*˱qF!F=8rե򎠰}-PLEqwy~(BCC,Z_)2: ZIdC - y/"U䯽໪{_XtɶxdARmX,dU' 5P_M߆]|:,/o~,Y4kNhefjoy+*ǑXQ)M^^7-9d9S´[,\m|rNJ) ˚6'z| $U+ {U%+;嚥V|ƒB+J!6}qkQ* 9لb&XV[v#L2b,^2|_q_w;V?>^qqwx9q>^ζmp{xŽ_qWqzR;$ZrBnBEFI/}n|pV;[X:l,̚:.p/Ug?obNqϲӚ͍~|5m|`S Fyp</{6WUui:+a{uػ!dz}L nϝ?]nQ~T]Q%^Cݟpq[4΅a>1txN. ܯprG]:Wɞ[kAV悫.3wgK(9u* [*⦮V'=sC . uL?h kqx>=*8]sT2(j!m*DFvU5tP82%*Nט2?.k11,RR):$Cڡ+ ĝai*e!ڌmM6j/:,0U0Ovբ'Y_YS}hQּ03ɡh4 -l&B]C;R:Q4c+ }dyk57dLA#l7#1x|7<ev>p~iV@fip*U?7,b{2_j=~mQ}aSA6Yp'cYu{# (f,fYx, %q; -WfOO' W?)n*-BJF,\,c=0-r37Yf_qR &|ҶCNsl>A-Y9u+/*XL>¬kÑ jenMl{h'37wd0}8::{'mWgZ3m_U.e-%ZLdѯ\G)"ÿ;Ev%J5]t_mv1-+L]hc3 -zT~aw׼Q?TUYaVz%AqNCf";lЁNȆwaEAy 9[>S׵) 4Wr28cBV1oohbb9MeCԑos@T-ϗ_~%: ?ZƳ. mpPVM$O0%Jj`+zœx˜ᶦ1@ҩD%ظ.{Y"2DAEYRT!0]_$e -ƖHi- hD~(/Kc?.gه#-^Y5NR_"Hє(X4Vmy烝 =Ӂgr^iiT=8;"XSI?m6ks#>ڈ k$wϪN"ZqO.U957Pb5Py#$k§G愷4nYfK,䔢Ϻ׷`4fVKKV-:C OJ3 ,@+Eo؄zRUd Kԗ5K 3i@|d9;aSdF-(-EP!CS"DsS)ᆳϪWK=XKqH"upb8;YOL06\k0s'ld -eJ瓎-MH)oT|񒅑[P/{?(pm(aIK0 -&VҟVarۈƫ%Wu$&\{1^XbW'3q$ujAXd'*d3wj;I}l=Y&},edY$HV'Vrl(6A1IͱX'Nd x,7M2iddY;XփevuЬTZE?~󅼾^???3`Kԩayd龪t{B} 2w f"5{Qf!~y0|F3.*k\<{rpVZ FP I #!=^:,}mUcdGNjhsPmNo5̮mC(džQxlA+V((f >Q%vꉪ}!uw5QmT)E]J ō/U"y3"kt@҅up<5M+~^xQ,~M9qW0"(6ۍzЦ&ޫ8m ]~j -_$d;I{[Z5i8ͅfoq-YZ8\Zgrhc)i{VT,s[?w<:3FilBگuܵ- 2LRa] B8DP>5e-.i5LTzwdDU -%YɃ3 ܍=.S$ĬV2Z^^vVbdOV3P1Z%LhniJD2b"j7-Py &en)_S#-AE:KF8NL&[kvyJ"` EJ) M͔ -ʦY P)NP6Fђ|k): dO OR^"%ֲυlu` gVL - YRU֛npޙ֧z8;r"w<^Hiɪy74;{Uo:$ z~ -~")"66._>":z*#W4$E* cʠ D9x]P>(N6E"tI7Bv`(),4a{RzhfRܐ^Z= Bw:3B-7T -IT*Ax={,r./8\&mb,vaP gvAA&D-9>ofV!Co^\92TSN0+ -Hೌ J9n;lA>%K>7#|A ?|pAg`K> >ȿ=Mdz:"+"oIy#C$nj4V^S"Öڃ d`hE7QɏP(Ǎ? -.w +:-r0PnCkAG;Z$(/3 DVk6upyT| ,T0f‡x " ݁;-Oj qIN?2S"uFSK< D]2cY pN5.ȟ1\7րCI/":]]$ZSX2Tt@F['rQ>pG_Oנ#tZJ(a|]{O,T[V(>gW=+GYyruWκ.9Yx<ݎw&G%T^2-SY.t56}u9eq5°P4a>3CzH9bZS_\4-\5ʫȌN&uRoO3{JœVm(rIA aD緍X>c|<{Xe H?jcCZ,S[X Z%n*˅-B6Z8 rIB- fOq:-t ;⺶!MQנRƋ*CT+_Q?_׋NM₩~t@EN@(PKP|o-~k T=ߙz=.p)z'l"/V-Ȝ/B!BJ6 -'uP7s G=fֵN}]o%AHKLYswJdJ&6' Р!eAGIKO}}z :*C5@ZVADQL=E{1D9ӳ?Aư9>~Dn稜aUxR2V"h87&*Tv*49:bv &c0Tf5Yx2BV^eAC΀*Ns0,7XA3g&*y:2??"9yd؝D^j йW 3, &žfV^1>l>+MדbXDoCq}?]5֞N_ͦK4[[os3@ϳA']UFWl䛋f.c@'NN!Q8u3 u=efyBhsI{)3an`o&,xL,|<~t?$~Gui#=.9Tm; DԅГ -1lFW3W*B=9>z:P=yo2/6网S/xtÁ@599ǵdg|p"ڻI ߘ6uxJd=V}8C4S:%kCe0(.ߚ,mqbY .˟R oncg*⸲vZh RlZ/7;_ #kD_EzԴQwC:SYsg riczq:EejG5"&qvbl6mypn*#F gg),6( b连er8vػcU:|Y]?kxXPl߷QCX`zO[5 X~.bF[A4J9qaU1Qw I*,9:8H=ՊDU'o.1gSy2Ew{aŇ~}.{E &4;֢SKm50u幫2g5`cz3M[arR -je3RhtPR'[t}n<>&ZqyYvB#ӵXa␹qjlv'ugeO{mm}x)DSXIL̻d2497+kZKg:J]}#ξMFոjA+z2_2 -yx@VbYtO;ؓhʛROIkJ6 ^4I2ߥb{Rh_MF{џl,ec?8N62lO2KFhNYKXF6+7z6xt LϚO&#?KNr TO)'ҳ%*7*d.0oF- RI5k%K2ԲniTbO afP9#ˌ;멶#Zsy4l¹x+^x^Ωmֶ=z@T,S4 MCjRi3GPWo`ldu2Uճ97*]orzh+~TW$l7@(vmq[q5`ZaE?, yq(}Gfh:7r0䘚FEwX:ue^a 8 dzB+jL֡ Ah1fWE{m|u 0z:]Xs{ur/ L]ԸJ֙a.9O%$D2 };K{wU}(k| --[ߐ]lފXBpyxOgrKFeZcm^ y02b {f,@C`de!%\g+pJWGH\߹ѼBԕzV:!RB~#a?TBIH2TnỶ-zާ-Q$p/F ի4>T[;O;_eB/WOzSuT&2.ٛpNSmZ\[RJ=U8E/R[ra~޾x.ջ79ToTo}z`u;K#MJ'[!,:Bn0@,Uĥ GNυf6o /JslP0/5vcߏ9vs9v9v>rk9c7.I]:lPδ{X^l>f*!T ثRH'gIG 02EQ?76-"*zjnj"E뫿 E!8aq@ڨQ ͽjZ<]Gf/X]NPB5+5UE_ⵔ${c & AN6e0sjh+ZJGc2> -f/XjI)"7+yѶ\,юIwN?T~>&(G }3-AtpV)-b7r^9B. )_Ufzt*R:X5d՟,E: Tx=sӞ-^81~1'ЄuTnB{vc? 7 21W:5)= c(~v n[IK:7/RInxQUhit=4s\pp]) -/33]ɝKwW f'3`H2|pP=,qt=Tc^,uv4`zpwm)2׍Kq*0\a&+{1w"ыy -ƃ1!dFeK{ x4 <ܟ݄tN|qlGg`ȹ ٻ8H{چdO$}6\ƽulEsE|D'h6e=7L˪GC=gk@W?6H:[cdog,iS<ϣ`q42rhe .tԟpW3Jlk~S_sdoj\2(+ASl e:]|^kDu66Gs n1Z -Ͱwߒ>ta]?×^#:Ǔe3QyP@Б|9t#@|j#CWۺ_T[{(+Շ ;™28Fy3M -3_D[󴯖)PZPp` ScS]5䉀h>JTmMC\+3k(6gPy#n01^ FV'ԍ88E;w=ņFˤ_FٮYc )pZhB=n䱕%pM --Y*R6P=:1^-8pߧ%Qf As),>d )*h@ٯ3(Qϻ^dB5Eusc:gvlŽPw#ՙ$`G㷹Szz@Mۗ6VrDQN؝6oPINzQrN;7Nt"EwR؝xQŋvŃI -wh]c ,[-""gQwõ& 2eaR`@> WfDhe!ؿ1( f%/s[^| [|oϘ**;F|}"Cg܇ϋ{SA`7".pv{8 Ln[KȞVt#sysO堈b?hF7Jq bbv#ux`UL,x^ƭK'5$k̠oXu5 N3^|ΖlsU4U6Mf -8xPI*utdM30Bos5x ܫ2bi1vhZD3yCX -[%/GTgL}`Z83s> }{V{v'=Z=~t??S.::JzCjnіQ4I:bh_d{jmO2h&֐y5MbX -y¾*wL<ͷS q/}骜+ZVn xp+Nˈ´ŁMw1WўdU?\T=tuIqU(+2>^vر ƚjF5Y -H_(Ʃz_iΉoX0#+G3K4W$;8% qZژXtU=>s.؏ -kEH}v&8 ~6H.K]ӊӛS UzwO-|^ĿU"(GQpBt O(fG (xȑ&\dNom{Ukv \E|WMbQ=k=6i!0DUsmtDlH 6ޕЮCڪT $YVqyIEz1d\ -@:Lw덋+.F-8"ұp#7wvlL(dC̴Ը8M'j J6v; ]ص=W& 5.'4y77U nN;$_%TR ?X_K폧1r -7/0ԫk5ޑI]Tdbd\+`6fi=T 9K(mn'uI\b\@ӣd0[lF}ĥSU.(jWjc*]3ZU&05ہ e43A ӗslqJe`QDQ(Y*o8]nZxHхz~øg7 x[tT7iřX omБ8X&56Vܤ|Yy6H'"TP(Owڲ'i[-3I E {ahaN[;y중>U^2!ٵg.ScYa1!2L=AXyIU w ;R SjζcGBZ˯7u_gmHRج9[ -JX6n^ܳr9=a9)#O7JŢkͣ d;$ ́)}y(Fy7w_#:Vc2W5S&'flX븇7Ƹd,CZ/ i#*m >ۺƼ+:~q -%I,DrU"t^J$ss a3gT= hgԂrNV=WC @𝷴oqX'<Ԓ jJZ6˓wmPǜ <}}Y _SzB5IT)KuFNF}k Mן~W/<DŽfsz_)_zzirJ"!(ǁ~O]kNe\3Zrʍ~N H 3=Oo LkkwFD53!@hI/BDRiBP:zI6?w!dM.&k,6Ϡ0T@P?>0μ]iRjXM^ܵDˉB T6˳@ZwpcQB/A)W&WwKގt;頎kdHDVR%fFVq/J{ .2WR{f/|08G=*~c𒬋v{ x Z` ZPk7*ϋ|Ӯ\h]۫\GaZgP:9kW$_5H—^Rb<dGU.c=r FO&-Ktht.[?[>/cUެX8RK!;!$An'v$)V[@=Si͉EȭPH2d6Zk!/l6M؅ԑ (_7eYxٕr*DyJSM;\ĩ=ߟdSnNm_e@tZ/0os<^F_EP3]l#쒜f9Z}ؔ2(5jEr+S:8bEOA !jL&B&~ycR@M Tq9DtױBB,yRmy^Й͓|TaqgGFOڅ6}Ʃ+θCS -?2jM_㩿SixO=GG ԿDDS`Z/T,bFm:BJU+b U6nnwpnε ~Mz -pa!Hul]wf{V8]sbG -Y09X[}8z>7^@`i&pҊt>=vkޙ0^UBS4^7[+B WCrcp 1;ҮD&kgcP^W.gyԃngp8gBALgD%\>{Y!߈_gLz\ڝfґ v+z1 DeRQhfKU1>/Z[YIT*HMӐsP|$jn`9~A6;_ǏT EnCggB -:\06%|䫬G8*JO|E LڏYOHĨd寢HlBXojRc5oPvIJ; }I~>B -lM4/)?p ~j,ʁœDQ/UN@Ѹ3םΙ̰6ͭV dO+C1֫Ŋ`koڋ:;4#S ĕyY7ܐpVyHszޮA"APm ,už.>=\vHC6F)PKdHbUx@=8\gh}4-5c6=' [S[% cf-E|6Tsϡ8u?,dI9WSکŚ#76Stz)'mc9dl5\x}}h,Olɞ|c!|AC[w6 -4{Z|Ro59ߤ}n`/61Bzy'NT[vQwaj3L;cbA8-ݐ0,ƍSX -E*r_r::zqs!bE{XÄss[𑾺;ɻ,YdM>~Q36[||:ѱBX2YQ}WTz4ؾ}ٷzD̀WDF=?x0l'"2nY//=V ^ 0uʈڴ^L-0x @bdzX4#a~>!ꑼ٠GUBlQN Lu@K*b QH/<̓Kzi_ހd8J >ꝫ| ⳩B橫jc -쟈=0;)gcEgpw6\]`l1f#vaK bټ%NҀ@z=+gǷw*tr!@_68Ԥ*š:QɱK[T/PMZ?D03LS -؄I*nV ?c&qɶzH/5/*YY>3rRe5c-u>J 2ejsP++Қx vYAڜ4QL XU6RsypAо| LIfiCc -{'Mp.3} -&I,6 Ş -SWTe$T&bs P%ʊPp|Dt颼AA@McODM"NΞB1J]R>-)ep!n`SsK/25 Dy a;NE-hluatP6Qf͋9LG["bZ`evl{ɚq2۠a'ǿ4?NcR,gO03"u9q޹_N} ( -O!H"^g;[BD$Ztf?s  W;KLfdo -qJrrY.NR5j3N{ʯgԗ!QAR9.Mk 0'G !;&A8=bٜk(\%3wQ5o|#eLjQʳ}h)_5%*e]dXތ녯C^kBy75tr?4@p'U;aD~)Q$Y,sL -O]'OL6({3]f7Fn\K٘iv"P6pU-x#ED- ]@ -d8{>请=9;;)=vLKnR51gjOm1ú*_vpE HU*imOJ{m!\ClO9[D7 KN!hd͝^JojiI\[q]bA,S\,2tǥ~{&N/iWQ0YL.+eAnC>&?+ثh02 @ 8<F"|?&o*R є26*h8LY\g=s_jv7\j.d6p}0(a:2DH]uVMb7Y&x/Pc02uCp^ZW$m(K -40rjL51LJKCjۖסCm|__Nshy٨2|/ y$֣jbgQ:wEg8^:`\v&plpn͒4aRM&/}4Cߛf i.9q+g9ns.:s*gM}&,|@o ¬}DK -Bzz"oq6DXHz"n{hPu@ Q/*#X-Ǖ@b֐@U!ebsh -1s61I+jEIonAxAo\R>-8FdnGU3wcpoI@*)tR`PKc tJlJĦR5A)ED9C7w~z*_I`kvާ(LKUkZECr;vђF&VwJfGX&54MkgY6;!oYZqECw$CAc!z$32yIġʿ2g瘌"?E8;"uKY_ ͂qAX-"t&D5ߵ\5](`8*ia C.9 Az A? H5A Dk  !W!d !$5'_(rdgԙ(tQaCnnO5U}=(sJÕ%x`^h, ߕZ7S -}E>S}hpzVآS+Fj*-Ti## CEd {h]o!q"ꢌh<&59)ʕuÇῐUUxDJM<S#BԶEq?$Fæ捏Sgv7}?htWѲˮ= -)Z:O | !K= fl6= Tƾ쥏H"c% iAw_oMNFVJg>ȟ\\Yn{SN[XBs$o;q]?Ѳ$y -8ohMywu964XWɆ& c bYeb*RzwI e"[6M <Y,?\c.] ھ{ĩ*75pz WbJI?Ou\?ZWֱgX:/cY<[6eZhGdJJя$V*:QfSUu}HG%? -A9ҤD# 9ú.ێA&+4N0*ȫ%*6kI},)0X~8, \) ֥Q5SVh7CW Z5 53B5w;h -4JJ"EVТU(E.GJ7!nD$&~Χ=D[[2o$m%)encFNU%G \vaT ̴p+օR:YFW_a~) j"KcsR!VEz؉endŜʧ-AMՍg&uDxp#^TpT HWCM'~"W N/pKI`W5%`pDeiQ6vYp,dKѫ{`*"(yE5=CI5񦧷b_os(I -IU![G@<"]~s-6x^R7+QH% ĸ -DĔ* PݠL6( -7[Q,+y)F] lI~w?-jt+ -fjX%_S(׾>Wendstream -endobj - -41363 0 obj -<> -endobj - -41364 0 obj -<> -endobj - -41365 0 obj -<> -endobj - -41366 0 obj -<> -endobj - -41367 0 obj -<> -endobj - -41368 0 obj -<> -endobj - -41369 0 obj -<> -endobj - -41370 0 obj -<<>> -endobj - -41371 0 obj -<> -endobj - -41372 0 obj -[/Separation/Black/DeviceCMYK 41381 0 R] -endobj - -41373 0 obj -[/Separation/All/DeviceGray 41380 0 R] -endobj - -41374 0 obj -<> -stream -JFIFoAdobedC     $''''$25552;;;;;;;;;; o" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?TI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I][f>)oFK~W6[ѳߕ&l<4gI+??M-_yioFK~W6[ѳߕ&l<4gI+??M-_yioFK~W6[ѳԩ5vl<4gI+??M-_yioFK~W6[ѳߕ&l<4gI+??M-_yioFK~W6[ѳl"m0NXPJDitx߬?f:/O1Ce4>갟{$VGf.fyޕǴÚ0|Z__gK}4Q[cX ]-1~Fb[wO־A?agn4?Ӵ4xa$2s1Sr]z.=GI$I$I$AwX񺥕69EZmY>WKr}a,uޗY_뿽/,z_Yeۮ']O?enX+w9>W]?[;72c[c+rݬxkqI9:*d]enV[i 9xV8#Pc_GA[JX}hv.S\/ IsA0Ds WfGEsMI{O\& ?#V7NşV.>/W<1w\8qg|N_> -f*f?GּWzEN`mlP_c0e{кֽ{9(jdPcHWVf뢺ݑwtr{^}WGUv.=#gu[(f'% w5\XmUG=o"es©8r[Ks{0^D[Ş -Qt$:n1MUT^-T~5 zpu>Κa:;Mg]" wAg]ȫ&:YF;z~rf;`O- [SpvkC#QHVPs?_h '踜f'ןCC$8h LY𭪯I1GctgUwZk` bߑ)D7' WzoI5ct,Y iiꍓV@~NG@q^øU摨g tYVAfK^ݞ ?RϬ52^M!e OԱ7~7״1t>*~.-Jf'PT0nsTsrƮ_}MMpդ7*_N/ n=|2Rn-`q'_ο_K{lu,!#,}W)x[~$IjLw[kîic<T -m Jwy#AX=+sqK i> r>}SLsf'}PG_Q{tvwG|-zTֶ'`{&%Hԕ0{'8KO3]Uc#NLYL9UfCA#SuŬVrm<*6++϶&[]<}W]uv=H }S]׸lTJ\|N>Em 4A? -fK]C !t+=llvÌa7љSlIЏTp0j4~$򫷠tv\/n+9>;fɨӐ[kWtKEc4vt -`HyO<}OH}_!q?s)a4I-X`R?|@I${Kp -+_em1솒O}gSWb% %qC#4H'hN6Kki1ș,oo"7K{[qyȥ=<RF)k#?絿_E/oo"7K{[qyȥ=<RF)k#?絿_E/wo"7K{]qyȭzY}15#IDz [dlOYP{OvUQ%>W2l+fO:cA ƦV^w ~a.&Vu4}5++O78ې21bJM-2nWݯɹp;-oQjxi ˤλ]]moc,ޙsH IBmvu_̐`hT7l_Ԯg2 ePawoBიGq(-q:fq\W8`dӈJ` {O.l6oܼQe2@{abq5][b4jem%/She.^C(ޣņupSgc]N6ݏX㤟O[g2=\7,/]+5Y`m׏o M MUw9" ;"/ҵyє4]p^G?_dd)UXttxq,fxuz[pEWhCWNk/vSfI] i]WK@st` -֞79dߚuNCptުC 7ԥ9>67շ3 S{m.3%o+d>:+'~Almzg{3}vMlk+h C[Pkk[A67MA >FwJc]1i%_Ạы2C 6@I$\J>ՕV0vk 줙Oz$$'orCCVqF>N@v߲"'vmUIvSퟔ-ŗmmꕹuN$]&ew'&_ w%LK-1܅fe [Rv;ek8;`x8]6+.\ |+`|›*4x ?pNnM FQd`{ ,w.Ǧk)k\6Dm{_M.֖XW?rg]hTAc<=JxW;U@:v]:y# EO?J\6 ~d

]Sk{kpt!u]bƻet:6wV:7O*ŮVQ\mAUmM9`am8a}>C]? -[{(~ Ͳh zy=Gq(mnͯϴ OUqǪ{YCY)EX}1GqY'p#U^_lóM6YCnװĻS8;#(nok~gNqm׶(s_YCĎBcfu;K(f96XC #˙YNua;[ʱr]kwcY/tFj\ǤEle{G0 cSŮq˫i~ѐ!s $Ay˶#_B\]*Ѱ "O -o2fOyWF혀;OY/ÿ'i i%7J`iбOS_i6E;(e kH ÿ -?7:9sVs!Ăl;_V0[1.OnX: uoUkY}dmk4~ܪCOM%|ݳ@yrrDEu\ػD9ol_ԮnV !ǗΣg&My5Sv<"SLT]Fܞo- sCo;8T[m r;2OYƹX>Ke -ͷQ/Ǿ~Ůcv%wTb6h.$ަoھ}9Q0Kn0;׮ʈ&#D5yʦ]T'NU{񫡘emtJ7Qv7Q=D08X prjsxYKlmX-,|m#bޫ~^mn5- 91.~fVE2m$4 {'cil~V8 %o$,=<˞K&JP#k_JJKiɉkwGi -wSRiV5u!3(^=G?uO[[#H AtZDiS 8MnC,LvQٞ2 ӲIz)cmkyC}۠O~tԚ,$Xd\,`k't?DJJt?Wc?Ps8w%y~78X[`zЪt`A[J}(]MY5Lj-<~h|h3tq+5+ite,RZX_dmA~m41!h $VpQ-۶xwd?%:szVol1.">:r|}On,W)x[~"$y0j6+A OWypT@ԕȳ78MN9>*oؿ\IN$I$oGG mp[_z]W菂KF>LJE~5GRI$XV+ꣷZ -Tſ=ޞ;R16kg{o{t{O6n}2C9̀i?1ZZe5Z]bƻd`()/AwgPivKL348R6 uuF1 Ίfcs !'x}]+%zxmߣt -ݻy%Κك}7d%th |zs>5l$25mw+X˶#_BYS[omlB$®⋍^o<7i$I$ȑ)dUiקJ~ gP]ZgK - alH{m7Z1d5#{*魬 nf.e,v X|K BL5+NI '" W-xٸD$켧126ܙY52׵H{ y,v'Y'f%yY h'YNךX\`G }#OҿG~wYgn;O#I$/7%8J,]ʺ1gɝ$*y3ks+oѣpGW2 (f6#thkW?G򅸳su_Uʁ -E^WƆI$I$>G1>?נD-%r,> R 'T0}v$I$I$2I$X~qVv?\ r޹vCiz~Pno^>!y*6qA&UZzXI$I$L -%/Y~jPs?_}B{p&a8}v$I$I*]S,b8#;̿.+vExۭ;XIȳb_f.KڜX!gOYgպVSs.hkCpUn` 8!juoc`сT?Jhnp%/ۗy^/^>8dO]*;<hJzk6R:I$I$HvW]Sg3%o+`J{x'uK_{l_ԮI$I$PQS[.} fK+{sOaOZM{ѱsX>탻Rг_:,7kC 7 -zm;.cKx&Cnvxi$I$I$K?#}M]gK -k#BRݭ$$̒IQ1maA>iSUȭe'Bw@g׹ŃS?l9Z]bƻrI$I$7XWlIY[ϣnM(xhEc;v۷YMo>_7~{;~?h}p?6Gi~~w'|Gw_aoo<缭o/?h}4lXݸgOu]:?zKG- -E^v82Sx2J~(g$'̒x2J~(g$'̒x2J~(g$'̒x2^/gy~sWbԕȳ7ײqmdqendstream -endobj - -41375 0 obj -<> -stream -JFIFoAdobedC     $''''$25552;;;;;;;;;; o" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?TI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I`}q_ -svXNƼ0k2Z\=Qg&=Qg&=Qg&=Qg&=Qg&=Qg&Syiʋ?4tɳoS㖃y6jmo&߯0h"f8ׇQwkA?ߧ0h.7x438?eXj.Y>?[trm"ppn };1 -3?M-_yioFK~W6[ѳߕ&l<4gI+??M-_yioFK~W6[ѳߕ&l<4gI+??M-_yioFRY=csѧ_^=K}Gn=stI$I$I$A?FI$^{:??{xүf\,-htѝuj  sƢ shΝckCˣ]<59C\={`t32muXt:fLnsMnX蝥3kql:2!FDjzf3n+zo@f3MՊ=Z|HXAC\< %PKΑDPEڪ H'AGXO$Vڪ2X5yۉ3|Ḣ,i?c=<.=\w=>I#x#GHk) :kD6<zq2n&f}tݡf ̀dg?,nVtAs$p}R7eqH?dtrH-WVi}.2OCMx{htyOG¦ze"}VƮUnÃ}C?.z߬.O'οT}*Nܡ]]rKOꍝ5ZzPo][wmҽ3-?Wݟfo;v69x~P?swtZ2v2`D%VާӨn53"SJΧӪn 53%F<*_0vhmVz/;@|'1r oj4ݷEI$I$I/1$Iy㩒I$'ВdNdg_+z?s?CI$,<{#X~v_*~KaHs}=@%<{sp:ϴהZAӽ4*Y=6qq}OvMDuL{u%b֛&S}`Xbz->7h2I$_[Ӻ M~c}:Y@Y?aFMVbm!̓ż.D -t?3dI%pVF[ ^7 {~څ?Q~a}Zfmˡ lnt֯Sgc[OH!inө/c}SəOWY]5kysZNAr~u|~C_6Cѹ#qM/?+ceKE=$\UzJ?/ -<w|>_?:eyYZQ^\O}SߴWePC`0%,Zq˿qgqI IrBk}e4tg -Ͳ-"C+h:;-~ON{+yo{,;A鿵M}OR߲wy(_wΟfN-vc`F ǂSoAUoe,%-8|JǷ*z`0}4\nF*Q]GU]Jc%$@&8KoGÕ~UZg["2I$vnXGO즽F)*zc gUOIl;'bqnӎI2vu ]ly,58HQ5ꃣ݌o?nvx}GagܴQ񏺖:ڃ漏qq%` LzRs[·9{lvߢ=IXfKsrk653d[nSzM#߲KguS^gů\d=cS-ZY>T6j5Y7whAU{;"McA?FI$^{:={y7K uL"t"YX{u rG# SZ}=#`'9OJ[E;g}Oy~S[["t?g'}=c#'4es m|WoWJ}{ 164\k. JV z62-םOG0=/ -UO4uMx]^6.qpZ=B?\ų$T2>k&'W.zCNGPpO \|gQfޮqU6c-T^<`l[`ۻ~^^M{^3[et~}`uCuވ5Pt02w@ٝ>,lPC(n`h-JεzNFmȳ{Cqt49%s_+z?s?CI$=ko nL U2݂Zchѳ1܇e uF:>6pĥ2 ,*WOm$C^eT}w_,,n #ikMkapY%c;%ETqwJkUc뉧" y |Zo [LMndֵ `#$I/=?Ã=ؼq/$)Om!3AqSyNiykZ3Pf!I1xv -B"dL$k"G*+g_+z?s?CI$,ܪ2EUJGA1a۹v7n1xLޡ< -ֹqh|֖G `}OBOl <GD0<5L +1JB5K^c{@B9%bݦ7DR2N iN~pGy¼ : _|b2I$?8?݋ɺvM8ylɾ\V mf ntΞ%mMmhi~u`躦=`wg>Os*uc,>s~"_fE/Mm- ͬm |;M.s=B?h4:KIvgt[U`.^\fIKszsr./cL}#$%mٽ77 0\ 5vn:GYn/ 48 ~EgAy㓷pn3-ծ u6]UeF75:{J%;"ّ'sh[p7 g7F L%T0 o:=yU袃 -.s%[ "=NcߓcZYK;ZR]_}uOOɹ[UOykK\?WHc?W W҉4D2/tzc?ot ?e(2gV_ZQNK\Ɨh|U쿭7dY]Ŭ hL~\e]Ćh]?E5ZШ-(6>>J/Ck%/p]߮5P' ?h(?MIGICztW*mˠ9u֎ī$KO'v/I:djjso-вDj3[[u 'I.:j66> xA=]X5W{_X/^:s}ѩpKvq$%u4q% {y %/UWj[_?UaiQCBkY,S `!`Ljx+sW`M]7\˾,jN܇ϤV%K@ fQcni\!5'k>)]Pt {Dx]N8* dhлoCRI$Oa^8tQLxV\ѦᨈZMiJDi}:\Gҍ[\QtVkXCM<K:ޜL6.nvu[U5`4pd=㺱[֝`*wy%C-GَMs#S {*vQξk+!Gu/UWj[_?Vݻ9WX= Unm"N*:M- ux-=e4ko決 -+_Kkۨ +ROV2"jxZZ:}K'欿so|o5>NݤI=Y899YcKF6#z+467`F׆?hE ~j~.jI$^{:={xtJL8|i#VZ]fX2[phǸ5=g[Cm=5Tez{ ]k {%Fcvt>nn(e q扝T[:mu= BbtwӓSɺ=;KǦu05\rm5kBpYvS?5nI/=?Ã=ؼu$F4jcO}81 ·X='GY_M@ nQEnfCm5hkD`b״9icZL H-2ڭ4U;A$A+?6e{T:۪ hv->ы]2 0$A첬s@Pē+S_+?.cw{r6 m-'P!@`KsyzRj{ik=Oo 7RWkП]ykCA.<iTsStp4U}41s0;\Do-hK-kk COL4rF6?DO6MU~~ӯ< -Y*wFԒI%pM!-h#_V) ƒd`k煳ҳ+eNmb㦜qZxd{y+Š4 @Upp.cZH畞S}?=SX`w.-sa2%A%oU]n%H&.k c]0VQnڅɂ&'OhU}<5tA[}ouG"BC;# lKk#2> jGT(у2ieD L/5M}7F#k:8q@.L8ˇ`;~yC~e@ ev_W֑fm<nNk^9qtrua|2)Xև;=HX7kZrSnekaw%P:Yja{ ҺƐc@C|f+mʳ- xsD7۠lY[ 7Ѡ -9Vev>;]]$$UoR^)$A܀2JWFI%pk@8Fʭ{mo>zK-wq. Y1]Os,cC3[=2M!,h6j4oj>,m -#ilOeۈd@gcԐ ˓NK˞vx9p(Y\MrqkvndVPKnkN 3,٫0xdӏU[`$ö huy"Dt@Yt8j4UH(nZR[_}u; ]PsDƁfocY^Enh$ -Lz}/lyq2@>8swcdrhis8Ekf>$y -rF&Xtlh}sn+rikwƿ%Ƕ.s ȫN25Z\]4̼/ݐVjskv@*d۞ڋ5No)kl4 hV n1,>KJ(mk^#E?$Iy㣔z+{\{.cxcCuiiӏG5opqkHc> utCͭ }ykAZq[5փepacg 5F2bU1NCwR,5&VK 긲Ө<7SYnw0F|Պ˰}akik׺0r_UaLphV]unKi-_= qD;n:P9V`%' @c~j hD%LTAS!W}aYph #ü(.ct1@>'*Tm̱k/4!=ص9qlE{H#Xz]JV3:4~;Ac66y=j׸ݮ  -/e{c;.Xc=e3+~ȧ=ФI/=Ã=ؼy-7ksFɏiy00ɪyF˳(9W;<8fbK[[7m38*yGZpҲtx«j5 5>ka}JͣB*L77NxىO'!'۲m+g(O`Ur3oj -ž,ۣ\lO[,w[C'G6.h ̸[0V"Z#Q:SdI +x9 !O >ȇ>RI$Oa^:4V{ocD=xR:iq#Cqiǹ<}ʵyk`m6;wo)&k48%9n EDcF\ut Yn -ˋ@ɟ1H@uE3*6}=R}4jP`]*+k_+z?"[ۗ}Sg53sJMxLs=<$ -0A̝F-z`=BO7:u-?4z;7Ij-wkMYXbq4Yas4ϛqoiraS Dw@#,?L;A - q 1Su|5p#[WsXcF}$I/=Ã=ؼu80|ԛvϡ>efHTK9j} i\{+ O⁓dzXd|>c=_k~Ǎ`h{x!RLlKoGÕ~UZ\+w{r{z+؈:͍͇ܥ>/aYkZsT0 &k'JsZU^ 932N\_su k$@ȸdY+f9Lksmrji;AXeӍm76NOa*?=tw;B{qZHI -$2>3WCqg!WD}$I/>q=ؼwkܖx x{ <)4ܦyw3q'C$n{%&\ ?^{7ɶmwCܖx-?r[]~-[zA L)SMN{XW1s_T~.LZ~H [epcE!pI$\~{SX,B?}R7}Q?zCu3˼z]TYs~c:'ޑPsx;OH˼?wzTi!w9ǃS&O#*8QފΥԹ9WwNi[:ɻzmUm0;f$|b'uMoDvvL6woӈV>YٮӺvvU;{wwl707sCNʣc쿥Cn"|>OrʾAoR,Dz[]nl{䰏ʓ?eOHfgw~#f.nGĭ/}<~1=I$LN=v}x$l?}Dzޟ11҄6}߱αw>v;5?h/>}Ӎә#^%Y'~ų7O/1endstream -endobj - -41376 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41377 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-39.4199982 -52.7400017 642.419983 781.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41378 0 obj -<> -stream -JFIFHAdobedC     $''''$25552;;;;;;;;;; H" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?TIqC ;`y7?Yrtr_f?s(G%oܣܗ7?Yrtr_f?s(G%oܣܟG?L߹G?HϬ߹G?8Yrtr7Yrtr?_e?'_}e?YQnZT~ue6M~mpG4  M5}Q/[q҉}o_Kk~_h[E߾(-DoƷJ%5}Q/[q҉}o_Kk~_h[E߾(-DoƷJ%5}Q/[q҉}o_O,.{ĀO!qX:?P_Eaո2W=ޗKUB?oЏգJAYyV坦X*_Ծ]p #{iT_F^5Tgt -m8t#TT_OWGI/}+)%/=_$eڣ$쾕Tҿj_WSmQK_Jz?I~_OWGI/}+)%/=_$eڣ$쾕T䓎CHdUre!Հ=źG -6A ~ 'wP?ɤzn|0gI/B??3&n|GgM7]ZI$ȚVSj. 3 -^zoׄ?9zoD$O^h\Or>%HPOvmO9pKtPuErlׅPǀ̫o($4xh) ϏST -tI$ < Jɤ) $:EgA:#cDd):ƴI8H3{J_ -(J`w -0SBPj{XD5ͭpO]VZa%H'_AõOnst5yI -oŽs5CQ[IU;)c `Ȟʘ9SߕK_>ݕK_>ߓK^#K_>ߕK_>ߕK_>ߕK_>sK.i~wI -&NJI$V?{E_x}>zxz^?/AޗN)w ->#O/zpFz}\',q yޙy&H?މ[Y1޶S;I$I$I$%:h @%:fO(JJ3 `cr9f8?CB嘵hNU.&?gBu BP% BP% BP'h[N根Ls."ݛrnwxBI*]PM,+3j[Rڟj[%/M-6ږԶ-mFleW iE/#BH(X>ʃdEyL;X*DٝRT KXQ$΅Ax::U~Aq ytQF> | Xg?_jH'WtEm Ʌr]P.2LDU/?$8J(J3yVQ.X=1ŏQ^Z^J5a?t+i$Ԅ-A[eKM8 -Biƒ#I6DzbТZmKj[Rږ\A5V̿T0#[)5K*%AUy#` ʖIT@3"|U?4EVB(J(J2v; ׀@)lwvd].J][ĎGc t -&|Z -MR(J(J(I^>!j~w:I$IUjoH1")I& 8#!6R-АHj[a1hLZj[QqG E JAG- -IwpaE1CvW -ii*P< e6ߏU Tv -@JP% BP% BP GI젒IBH$& &HRs#>*MuQ!cOdbư.)(KSmКmDgh[ӾPi\c -$$L4 t"53 JD{jW -h2[O[H$I1ZG!-J -hI(I 'Df DI (1~Ei1'7r%DF(J(J(H5;[ӨYA$JI%_,KUᲈ$$D}SN<|Th%;/' F0;%"<KSBhS~}F*nunӃVT'Mb%4=ga1ѪDIH @Vj_ -h6yHDv?o͏RB|hɤvNH;L:M BP% B B_@"ФP% BP&)5kuP=&'XM$AU5R:@Q.RS`J[%> -.hn< -T7( -.nr{;FOyJPd8)Ahi1ieڢB3>RB{$% BP% BPP$# B:d;xLBm (J(JJQe%-m mKh_endstream -endobj - -41379 0 obj -<> -stream -JFIFdAdobedC     $''''$25552;;;;;;;;;; d" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?TI$I$I$I$'I$I$I$I$I2tI$I$I$I$'I$I$I$I$I2tI$I$I$I$'I$I$I$I$I2tI$I$I$I$'I$I$I$I$I2tI$I$I$I$'I$I$I$I$I2tI$I$I$I$'I$I$I$I$I2Ŀ3q}cX oOa}LX78Sr`[21k7 hY#ktΟV YhvXĴnl.p??7?b̫']`*. Bg.{ZƓ t_S/pBQ@1)p 7Vn[^4I$yWלK:psZ.}z[0-ofU~԰CB;<?lyøs,~sH^+dtNRu,dx>ϤG}Cc-衘ݦNǁu,<=n*˃P?Rٝ+ 5v XXn[FFKl@Wέof;2~FƼLƠ/Bb7"$It.ьX,~qu9Jx9uu:Ϣ׸4+vWgYe5usp5}JΤZEÏ/B8 FS57߃]@2{1H  x EI$.C:$t^W;K+ . }T-"YW4GLo?v7nGHqi ?g;bǺj}D7mrA:W%kee"I<c~6m{LarvɼZ+$E$I֟uWtAaӡh}&x}x8ԭcv%sx}{3l(8xEBp~Mkx%]+9GUѷ֯qWwoDI$/*^p:Kq^Pa|AM:H"!f`tunv.C`Qky_Uze971-<N;#"/f~t-kq_:}Npȿ"/vӃJzt[xO/AGõv1FDDI2ߕMX2;A{!ͩw D)R0zWCh~Οֵ h L$'_zӫ)c}͉K~zyv>EtݴBT]M c@ h<ww=oDI$/1:fIp# s[^O湺5⺈yAķ3%j+}VˉĪiׂ!nLu7fY(Ze63ɫDK'ܺ0uy<6ʲ*qcpٕ:WV asOZ]v?Q$L`W:AKdzޣvO=שz?X\*s-/7Lyf[ok"S]!Lw80._\fPUMNkit@^ BA ~^Q{[v90sAbY]<7txcG$eօcS?`yuTd`^:T7A]=!b}PWPksVƓ O1mUos|Q& -^iLh%E]~?zȈI&\Gm}"}WH𘔻& L . -Wa7"$Ir2i~kCt]&tLR%1)M tI {&O‹kv8""I$xkr2*m#0%(Mp&H%qv8""I$p]7bt}V.y5l!) FHL웝|S4ML]?Q$Lқt!4N" xptG$e;:絑Dqwf@ˋbA.i#Xܭ03{˹y5;6Ȟ.1|p:i"uEV {"!7vhaDP$ ۔.k41ԑ0l> @:4=oIdĘC~wȈI&\-϶Daq h}os,98?q.:}s 6X[(@ii0 hcOM1iH%_qٶ;(2[ 'MnqLG'5ݤs~nv>h8A>Hǁ]?Q$LîDj4hSm<ƉuK3kv8""I$qc=Ӟy& Ɖ L>v8WFDDI2b5LLyM h$RC(R3kv8""I$q7_M Wc7"$I~59AӸorz1šReCkA$SdS_{w6f&5ٸUvݽvv$k5ݎcvo],\v \ k2~<;@sP!Đ?&}awo'Itѭ ?H֖OJqSy=傹H%|Jr,:azGscR]?zȈI&\!:ZZI$$DMƟa ݄_ >C#Qev7TC5:YѰ߻kC4T}W9K]CDC [p͌uh`;;ƩC^Ll[|&XN?L> _I$.IyHl/O_p?)~<l/O_p?)~<l/O_p?) yLz. S5%$I2Ka$Zxyc1cv7<VboI&V$eUlCFOtgLf'Y;ãs ܧPY`-N?{cLflFRVG:I$WN:I$I$e`pI!(O BhJhJ(J:I$ $I$I$L8 I$I'I2xLI'ȣ$d# OI$]I-L8NI&PI$I$I$S$Lendstream -endobj - -41380 0 obj -<> -stream -h~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!  -  endstream -endobj - -41381 0 obj -<> -stream -hˮl۶ɶm۶m۶];1 nCІ1 o1l0m&_3Ll0LmӚf0l0m[,n KZҖ,o+ZVլn kZֱo6ln [ֶlo;vn{:qG:юq':NqӜ g:q.q\ -Wծq\7nqwqz< OzӞ</z^׼ oz>| _׾|?~endstream -endobj - -41382 0 obj -<> -endobj - -41383 0 obj -<> -stream -hބV PWf{P ɴMkWP"#k[FkQʁ@X<%r+ AXYc%io|}=1U[st$6I/.^jodb.&!4">2kW!D69!QjjNԅpqqY#i%%xOa$ – (‰ p$1  Hb!A@b.J2b&L\!)rA&d)Lɲ'͐ɾKN-J -nzAÊllmm:&p;cn7?=J;ڿTtO,wBP=oƞhkr -UG~ ApѩF:`ZGɩTg[.`ʎ/,<#[޳#!a2n^ͦgJpWKP~AQZ7Zڙk)Z)7+zr)>JpU(Q8*(dq.>x-M+_U,j y]s*fl3BT?DHA42(O՛$0 -d+Z@ڞ -9#Ld6\e24 GPؘwqXndYֺғ(D(~꣔ީ4sfd&c -KհCX>oʚȲwyWt'{m5ե#0vGeX=WM[ݢgk$J8(09f1D~,>A d3O?DMØvCA.@NׁB ^B3ҿ|?Wu}' -x:KϡR-.*ڵz"-(fA+ֆzhʁtAHC2l=Oz\v U#.r맳h? + Yks9_v W?4%CяE ġ̰j#ٌa (XhnLMŸ:F$G%.UAF,p’$P 09;+ɯ.la/;c66i}IJH7O N1%j$XV9 ^e)p`f4YiNEnXԉ*jI7Tk'$)+/gыHTZ8!¬NEU\jZK -(*gxh - ->;aIJ^b=ߑR`K&4Y& zΐa[g,l% -€']wW.3^a!ЈLb9h:(O#w:;-+isV4,x`xs^#?&<^:Gfl~v顸Z֊/H:]'7sX4e<Գvi'?(;TQjC%KKsJMQIHR`% qF2"whxw']:RCFZ*bD0\팓7Q<&ZJ\6&8CYJ2KghXP/rt{,T8cNERߨvX#%kMø~T鉓[kw -D]W5YTo<G#˶.)ȁRznf,@ɩG@YUͭ3 ٮƒJrpTørCY_?$Aᰫ66Ɯ6-mZ}^Ge,d"Sx}R03`3뫒bN׿ZU/fDy!? Eu)(G*]H?٠ (4NjFQ%zNWhbϟ),c~7LsK0#Ēux@43 FHmDaƟ/_*ǪirgBCLMp:k4?xw2x4D^b+0W=S\Z]H?9*.ӽF.^ -zF@2(NձEDv''rɻCِmy'vrdgJ;mVx3jy#մ}+g3>^ۧi1wX%[YxtkKKm#;#7` -f8L?}SݮMƵ*e&Ý;߃S=)hQUKt}e犎M. -c"FeD7E;3$~%2~{? w dWW]jn7,~uq0inơwo7l!N?yU]3܅^t~\YGǿ{}^0Cʪ4qęY Rڔ[[jzQBո,(t^ڱ~TQ+SO4C =e+Ƚf,e wocc*~O(ZUGTGUSYHECU%-K!`x,? endstream -endobj - -41384 0 obj -<> -endobj - -41385 0 obj -<> -stream -hpTǿM"?@ ۬@~ 6! ,$jEd!$Ajl[igձqZG@"3-`)evVGQ{]?i'ysϽ=m`€z]Q23ޒ%DcϭffDH%lAWz{ItGz` {¡wu|>Qc'^dݛ -Y |w cӬv;7͡`mU@a`\7o~ ->S#Sq;aqc81fC[B3R -/_a^ѹ0?u'⸱oSjp Xva^d\8ŵ3P5TlC?!к `ܸr 4[b++eJF6n,^9 137f5Bqb]! VqtyxAwZ Wqǡlj9M78E9+6qmuǛ[nlGZݞ`V,/|ΠϮe2t8XbapdB`Rp'Ԉ1ׯz=nzlYmmα41ё4\%&0S$\%P$oA1ƱFt`)vZRUҶc,"/#H,!repUF n ,_@<er3fFt́AYo~8هٲO$>9e@x2,>S,xop"EL$ct9фohۨ_USe7Y*y~}Z]5$w1})Ѳȝ,}~ rA=_;(>)?(?*1W;3*NƎ-Tnc[}긵!?w_K켛4gxYb,KݥΜ [i;U<:?`w9+/<9,RyÎ>;:U霒LSϷ;vO Bj+nC|-,!J%*e`6Qs$ ʑֶ::;BCюnHrM$rPh]aQ[ulF;m!ֿnJ5K="le F)mK{G0ui4i&Ԃ^ۦGb(y\=lmb[7mYNmkT={_ʟnʶC#B]r}~mQ=TbƉꚚ-V˧Ipc:<\M$mZ?ٍPS]Uyblc[* [r/eendstream -endobj - -41386 0 obj -<> -endobj - -41387 0 obj -<> -stream -h{{tŝnUѼZҌF#ifzYeYe˖%c˶Ǝm o6kY6%!d'YI֛첲&,؄,,YB\ݯGc&n򧮩鮮WnJqD$'V{!k~PҲ -(w5M;?q B{i=m/0!=܍ -6D#|۽-^"}۷3#d[^ۻI9\'oܶwf~?K؋WwcLb#Dя#1')vzWV]FAA?GND7~z$o/<*~I 2HF0XZD&V~b#ilX'ҿ 1GV&N+yЦdrxvIz->MhQN6N);N$W%woqPϏbt>yLN)X83=X;Ήip4p'ƒ'ԆGWNX9ɇ&N>2&OO,S8~pF}65`Q[:"vL8~RGO8s%,XUE~x_UPdEF?W֦ɩaTn_;Cva:TYŷTN^" 'cL"~%"YvĹ]hxPN @hv !@&H^xL7_i266y2!P8i6'#L#"T؂1km>І]x(d~GJ鿓F[Wyw^h¹GPw3Eln:'qa4yQؒS"uh Xpn ,gYs&=N_"Q :B|Uj8K{ YgfnW+H -Z[!?s'ffk{ǿ6U9㥅|{@_?*L3ۈ8#q +8G.p -`&-se)8_W(rA+ydui~,G5?41 g>B$&IuM{8 t7ʂx/}GI/}d^n }2^ t)CCj uS z:S篠7I>g2xyµFevϋ@ G}؋vьS'p>DҼO`@ٱ#\[a<]ȴO?\^?3pǟVkS58ǧ5}l#GRU'u\ L3UFR]O/ը#Gh!!!OgI #Z<>;GM㤆 n~@r l@ldsM{d߄6yÇ{y>'J~@A!hyN~!W>b1WE-3 0"Z(bՃ㷁Q EגMQ苎N5xoEشނ~ N[9\ --&6ROBȂ,o!_^s^ .{Rie"Ywe s9["ZFE!܃MM|H(?G@ȃSs -0e=x}]q^2i%<@'3 OS>ƚ7M(["9p-=[(e/bO(u2+eIϗ) -%Jo~ Eo~op믿A_(uT@L|M: c$i `&!"N0p `:`$wa+0*}4v6;M}4"vw` zEJD$/u|ʙiNF?ɦӘX{8`9WyV3Gqq9P?M*GU&X&^>crӐ9,()t(>QO[h'.e|0PK;۴jKamV/|q\.Gh2y9DbLWZ6m`f;7S+q5m?\T(g/6epEPR`\mIOdS惉ֆqc}RaŦȈyD]vqUuqsMmvv6%Ȋ% O -0zn0JF6+, ^u4'_`{^ !i3D F=GGpIãqx48<Ghsfp4rf meVmeVmeVmeVmeVme錘l衛(Y :Ʊ< -j'af2PQD 7lkhO+" -}'9e+9ŵoqH;/xoXcĎ6yy^xЖۮi -H)6սuVS`1i^}R=?o?/m$HrO#d3g5y6:g9,q2kմ╽M}ul~q.+?*_}65r /.GKrK|cgcCnUG4׶}]eLoh:гঋU=a> > ;!0|Ca> !0T5Y3Ƴ(qϫHU86'7(<ьB+6wBW267i&{$;e#Y~5u9/WW#9#y8V"! ;u;a4쐆ҰCvHi! ;a4\fSu `u.VX] : `u,^vVafTq1ⵊ(M`֤2H/2H/2H/2H/2H/Nzyot@Hs }ρ9>@HSIonxf̩~ nss,6qU|`(8m7`Պw]CF%!F}dwb%FΣͨ<[gR}ҢrZE-d]$*qZJ㿒I애⫅`@n[vr &ruZ3:RX45 ش:Jow -aM7s,{G,2?4eY˿C_&@mW3U$BEHȺ<7M)n -B)n -B)=pS|0.T:!fZҿt$3-l1n í9pU3ܞ+&do5Phm#-ta%%E5JۓFj*DeZ?7ϕ662l- '@Jɦ@*A,:{yձB;`b | x;e~|͠|PREߟIV/_=iCz +mr҈ -}sdU٭C\tNE'Ylvc-.:|q$>IXU3m .]-y*L$S}h 'p,#=σyp<a<8xσypK@Mf8_ J峙hcTXt]૫mLXbX[v,[Dmht{͂$^1+6*gb~CuOx1 E /O~L> 8\%賤Y>Kg ,A%}ϒ#?`kk"]«WN]u -\u -\u -\u -\u -\p ]ǞTEtzE@J > |/R8"WKͫzWULiQ<-Q9_MO/<1Wb~Qmmp -_>g}߆\Jli,?m&ΰ1=6e 'c䚗t_sc3\%7=!:cwt=ڐyɯm*zeUV!u}D-d8j6 8"ߖՔ6 0O ?a' ៰0󼵒4`\tڳ>=^|pOw]>w.僻|p]>/vvEe9ʟjݎ6?Mi]]ÎtcoCຉ{WHM?7ԆMu9oሑZT"cfVwEռGQ`,&nQu=4FF~Y40 nc&zE:FԖM[$2 MB&AРIh$4hRנIh$נIPP}&H>9X$aTⲃj*:CPo!ɜV#=]O^]L1;BNaS)bv -1;BN!fBNE]Y&2[K5OI݈}0?/n3<`]!՞+LdۢX>-\aNaODWf=t0Nxtؙq]ٶ=\@,+ Қ;vwc7r.,/}.XxbAwdp`LߠNs:i,凐*>S#4jn4>BeQs1pZ}~Rtb))P+j@RV -JZ)ڞ:grW?bm:Uf`'p8 |I_K^݃^o?\$B037>`ZLi}0>ݴ>֧-.\w89~9^t9Lį --lqAjQG-4{N70b7wQ_J. -1=Pe Y[@B 9ȉ G"Tao 8>c:CIK"V 4AߔϑV$I$L$L$L$L$L$3õ[<_4`&h aF&h aFt0A#L\#hf^Uy0y%LPhj+`GzA{!I#zD7K > |ȉړ!SZ,^Y: xNu56 +F|XUj6޺ -/&U®`(4z㙨7#)v%3A[6Pn _+%sj0|:ڙΰla;bU찊V*v*vXbFSUGXQ -^EW&:S- 8轳 -E]nǀ+ƨY8 @QD7ljޠm:c X繜wTxe fr6"ݹ4]uJd8 {(Z~- -!Ȟ,=>;V[cSt=RM^`Tm3s9︃u뒏E%zx;#mmdôA -/6V=w 5ynZYU_2mR9d6M>ݹl~s[EpO?.6p™kͽ} )@cllv? i]ojV -R9(wPQ-R9| - =䯽=!B 0i`8!ֻ}dv!eQJ$!XaT#\|#ǎ!D -Y14Ɲ>DHjB~n-;)"c+[Վl̿w.ŻxO /;oEi0?Or#BJ'!bs )[ېe]C+W]3v| drLM_y%h!rCu$iĚz{LbŽ|"YXY&R$ȹגXm#o~9쫚/ė wWZ+Ej`&eV64Z[, ie -MZـZلǴ2rl۫x(ypC7o;0ڷȁ]%]]&/KwLrC3{&Goܾ}ђtdmg;f`U;v$ݸNAz[{$9f8V_.72go8yp߾_4UdgP3>b U$])zXU^ف-Lꃸn1IFqevI ǧίށoW_?pdqCڊzv}f-{j 6aOChy~rY~$Zcǽ'p>"7;f˽ >rßf5n~pz_PrŤ9ck_$"N]|{gaB?V]e ^eendstream -endobj - -41388 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41389 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41390 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41391 0 obj -<> -stream -Hn7)x)]lŽƦ1 AnHޑo!J:0ɿWo~y?⧗ÿeG_[iqAO;1\c_?/wa~8nq7\p5F(1},"E AF1el)Fro/|N^L' p#/?_}cNK=vRj$,^Z)/kĐd?C -]`?:$D% p,St9J)JXCaJQ8fk^35Qo7zCF!-QozǨwDc;1QzOF} >QȨD}dG>1Qij1-͸2EPkq,ST=e1Xĵq-eQO\Pkq,SzZ͸2Ũ'Ռkq (Ƶ8)F=qf\cbjƵ8ZV3űL1k5Z; q-e1XzUc@1űL1k Z01Xĵq-eQO\kPkq,SzZø2Ũ'5kq (Ƶ8)F=qa\cbƵ8v,ZUc@1űLQ8)ǀb\cbZƵ8)F=qe\c@1űL1k-Z21Xĵq-eQO\kPkq,SzZ˸2Ũ'kq08Ƶ8)ǀb\cq,SMz9*- oVvZgKSJVHzs^Lդ[qK8sqfaxr`j4 6mw3ݷW'֟7xw/j !Lַڿd}解x׍rܨT6Q>Qg-pv[ئkT}X GϋPpKf]([ke9B%JTT4"*IIdD -S +P*Rʖ]k(ZJ%LB9OD)o0=T0 e;4"vT}ߖJP}yJRk U=0$U -PQiDE)U*RJb*ILYzR (Cr!6S2Q*K T$Pr(HrRޣܛ i!TT8_C%EdHvJvJGvCViCS|ړF[cH-QVwXk-"=r|wgCyڙ J4w&8=iSDjBՎPkwT UOҘR T=r=0UO̎'kKӷ)P$)z+z{h)I&rh"$ͧ -m4z8E4jwv{\j7TuBOQ}-UQ US+4TU;LKIMڭvjw)U;mGՎR~'j=zJܯIGS$ P))Ok=YUOҔ'~CYGvh=4d֛HKIC뭦;ToH <ݡzj(hͭ4qz l#_o #qz;m)Ertކ{Jܯ7뎪7𖒔r37_ eCδ~tTbi)E40IBpGha}>jryp"48Ϯ?~y>oLYgRŋ:6m|'G&'@m{G%y;Y$z,2o;`9f1 -Qߟf7^ -9)9+XWGyFî&"RiTh{1>:`Y&Ren[u*wy;RZ#=F_~?_w~|]RK Xm*uڲi\mzkmANC\[pʛ5W[p )~y6-ݨ`\F!cFK!S3~rp(3ՉL:Oj|4V]M |ZeC^6Xehi"$Kd5V|l"1?'.ϣkosm 뚳3&0Qh >s]9ٷTh??N/1}%4هIt//lg}?xX˛|vP~jOe2Sh9:Ol]p{Fe6%W^ aC ^z\}3~jz2Qy<v; K_WЩRXe/mMׄp&@AP2_7>L={qu`xԍ|{}6yZuZ˗[:*@ +&2SȔf؝h="_`ɿ/r!I\%`lcbG޷}[wFWjc -vSw7o -W|~]m'omoXLr22jmr9U_[%ؾZ",Vy0GL/sݻ٣AQx47n{~LV#>:vnfzAX-o}?I E<i_iq.zY@/$ ͲTdngac2Ds,܃R-$Nw^rlqmɂPEᆬm\by_HםJͯc1Ea/BZex;`< ;aX#a K( |CL(5'r(℀utYwn@YYEeBҗ;c%#^ݾJ ]*se%, A[&,',dʭ rJb y}Ѣ'iG-r"r7Î`,~)rp#69}1` -xh $gR 2xRo73N]|z%hH[=:s>xRt%7}T;:GU ERE -%t4*CD""3q5Fn}5 LI:oEjO7^@mM iB3|D*VbvnyMcpKBsC?rP(DrX?9%9^M&2ns|V2x3\Io뗚o:, U@SԟM}T7}Uы9vdNan(K0~iGj[*H2g<1 Yrx+I]4up3Mk]jz4LAoi϶A;p<4Q`n -w&Yܷ2pgt诧 RY -+ A?YBL*w ` ~]GGCO3Sk3 $E+n\d?\`QK%_NFp8YT4Uvy8t5? pjb0o YR'Ek? }_cdjWuys ih Wa^qij*ZTCT!պf㪩Xz"u^"sc MYt,xbBµuG芿֝" 4mkw$2ݡm:o"Xp([_(C";֎ V<]SI۬&QW^Tye=ԘAu2ѝ{}z lW>]ulM+Gӻ؂݉:Vk—R[գs:?[iE4xp1Kiqpj -RB5\_ g!2hcYe^CQi2F?׏ApLR -P\ߗe%Z/DXefU%lRz"]%%~@JAJʩE@Eŋtƽ;}*Xr.MT#e{٬_|"}( _\ Qtȓ2˧EjD (JҬnN"]>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41393 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41394 0 obj -<> -endobj - -41395 0 obj -<> -endobj - -41396 0 obj -<> -endobj - -41397 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41398 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41399 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41400 0 obj -<> -stream -HWmoF_}g}ˢqus4 aQɴTTJ%YLCIJr3y7ŋRΓ *^eӹUEtfUW'6I]bTz16b5z5356ɫ*T*$ē*5UZ&#q!LG޻hǜpr՛?Y::_nzsVo'E$;S|t>pAf2`T/$r-~NAT).?F%fQ'-sb,I8'HN`:A8YHÈn4ϱȲ-po{;Nw=p{{>3>3>3>s>s KK>A2#tϱ{KXdrXh{Z Z˱{Z Z1bcZ1bcEk-h-" cEk-h-Lj܋ZZ-Z1bI,ZK{Eh-Lj܋:Z u,Z u#p/Z@k9Y#p/Z@k9F,^ցr,@k9F,^ցrXh2#tϱ{KXdrXh{ZZ˱{ZZ1bcZ1bcEk=h-" cEk=h-Lj܋zZ- cĒ9Y#t1bIAJ'Ζɫ*TUFUI{8~sAUdte\/q)r͵dc}FQ5պrKմ$)9fZC.L)cBZ"c4-{r1|Lj%8F3 @bٿ0đf zG7:k=?э#!f0mzR.ɂׅ+4O;5~n4=Ml/?&rGg<Ls.ޟݷTd\/E}QBn#80Ӧ}^57Wc@ͼN3ʼnrnn+6J]lEQ/UW+3u~WcB|ե}u][v5:*~]u'W~O=؟;8hUo7y73Y׳ZOvO[˺ݪgN`'h]z&ղlM;gt<QOt3/GYiQUYVaeƏ?) R*F|wbU^~4 :d -B&[Bך/N;|aph=/OJ!o9#2*9qI1=\ZHc(tgp5uo0X7Q.$BT$WiP7{y֌P4`/K&M&G{2}}y~kD5(6}18f};v׋g\|_*d Y.8m<QRúQ=pcp/^."ZpE?K@E,L됃J2uxʉr:>r4,hw|ul=!]*^4RQ1Чl姗r"9 i[':Rh86d_noq[i0N嬂̢yW("=lү~H ]m Dd/)t\ViH3.MwHj;lFD.xE@+~OtGHJ9SVvoM ;khM3lP9$IVb%~7߭cTy/2[P9nUuy(FME @)䌥 k v_Giۯʩj.;P^ת1Q|i%)njwi1 8k،?LH.a޿?Ѳ_2D&ok"TId%YZWh`C}p^7xx\niSo:+B sHS$4)8b1"Q2uiJiX!Wru51v\ߎ(4tfgEMsUÍ dD-@NS IQ5q>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41402 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41403 0 obj -<> -endobj - -41404 0 obj -<> -endobj - -41405 0 obj -<> -endobj - -41406 0 obj -<> -endobj - -41407 0 obj -<> -endobj - -41408 0 obj -<> -endobj - -41409 0 obj -<> -endobj - -41410 0 obj -<> -endobj - -41411 0 obj -<> -endobj - -41412 0 obj -<> -endobj - -41413 0 obj -<> -endobj - -41414 0 obj -<> -endobj - -41415 0 obj -<> -endobj - -41416 0 obj -<> -endobj - -41417 0 obj -<> -endobj - -41418 0 obj -<> -endobj - -41419 0 obj -<> -endobj - -41420 0 obj -<> -endobj - -41421 0 obj -<> -endobj - -41422 0 obj -<> -endobj - -41423 0 obj -<> -endobj - -41424 0 obj -<> -endobj - -41425 0 obj -<> -endobj - -41426 0 obj -<> -endobj - -41427 0 obj -<> -endobj - -41428 0 obj -<> -endobj - -41429 0 obj -<> -endobj - -41430 0 obj -<> -endobj - -41431 0 obj -<> -endobj - -41432 0 obj -<> -endobj - -41433 0 obj -<> -endobj - -41434 0 obj -<> -endobj - -41435 0 obj -<> -endobj - -41436 0 obj -<> -endobj - -41437 0 obj -<> -endobj - -41438 0 obj -<> -endobj - -41439 0 obj -<> -endobj - -41440 0 obj -<> -endobj - -41441 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41442 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41443 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41444 0 obj -<> -stream -HWnH|W4f4phM2Ʊ\&Y -FlJCRsX,XRuuY?S/^v -ԯz}iT_TX?2*gUy*w~]V\)7Eה ՔZUgznVKa@*M6ĥ4S6w?jQ, O/ٻ=֏cs_]ьtze Sv F=*R& ύ'ڻҐrRI G(,ŀ5g Y޵),#7̽ --so{;c1>dC}܇s #>},Xp3>a}ܧOZ(-6ZK1dqZ!{Kh-Ő%g5Bk),=kZK1` Fh-Ő%g5Bk),CFh-ŀ%bܳCƳBk),bZK1dqCwO1` Vh-Ő%gBk),C -Vh-ŀ%bܳZC -R Y{Z+bܳZxNh-ŐS XBk),b),C Nh-ŀ%bܳ:C R Y{Z'bܳ:Z!KpZR Y{Z'b/ZK1dqZ!Oԩ UgQZe+/ -|86SuqA0Z_'&"_ϻz `/j~{U70|_%Ig|G%.o:ЬW@UA3+zx_TEq#\^\fgqt5*gPa__0F?V&yբOWQ`z -U37\$^`6=1?Qaj})f~ogz%9?FvXL*N6489^xɴ*_޻TV3kNb PyUwEz!0t~ 7^ngbyN=*] mjjNl/Ő -,-ǴV(hL+B ZӊiłV̴bA+fZ0DJV*hL+ReE1dq-K ZiiAK3-#he-{#bX{!Kb7B),A-{#bX{!Kb7B),A -ŀ%bX{!KbB),A --{+bX{!KbB),A --{+bX{!kQ XB),A -{'bX{!KbwB),A -{'bX{!KbwB),A>rO1dq-K=ŐŵR?MS7<*3=7 -V^É26~Rvx*M#|Y̊?Ց9 -vjU7*_8N-jY﨩 kGp;MiLm_e۵>c]/#>IfܢiE96*3iyӿ<;n)=/w&W2?ЉJڄ$gSNi_G;fNoXlo{@]4>NE;N}zW\ -y_xNOiYOX[)g÷acrqx̂N>?4&" 0)*igSGѧK&_1&xzqxtLa6{b^a_q,ccP;Ú`Y`n>Cγl8EЊuO -~4' -ÄpkE_ }Acv>]_ _5adn־щ˛(817]̚pgڶ.ň}ICm‹-P\&ۦ!'8=&[K!|χk8^P~残 nh=k{pv4V)GY?\\f?yBaNlj)́ n_;bxJ3Ga]t?nKdSBo.q0͊F~LH-Bb8|4Pmvj7%\FGC{%'7?<6~%>4jqa|~:TB=S -!(!"顈b emVZZXڮ_ڥff틗?>RnԼLo&Pv_MYujo&p]z@&7+H)j}4?m[$$eW@Vk2th5v%|hF9 -ݘ˳pxd0 / Aӥ-\&Q 1#t1tavO9nnn_my|MPN;XAz0Cnܧ ea7`bd99ofǣx5{YqfOw"zka_n+e'`) -p(2&.9P1r05)SwyBtIx0pTD;Oehw g[ (+ԆPGH)Ücz_6 ڏ6҉2jvWI -k>P,[筰J<|݇IP5t{A&a4qX"tsc4< -+< U~(hFCT- 2a\3\W!p -U -\%*qUWŸ*b\U3Z)Wr.C1@)K1.%p)ƕ \.L=!Jb.L=!Jb.L=!Jb.L=!Jbׂi Q%%p1kA4(^ 1D \LZ=!Jbׂi QӽtOc{Ct.{-%p1A4(EctOc{Cto.{#%p1A4(1D \LF=!Jb7i QӽtOcsA4(EctOc\uR׵=Y6aj=n)~v|%cx%%ܶüOv|n(݄iitR-H>q5OCDM4ng;udVe/*Sendstream -endobj - -41445 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41446 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41447 0 obj -<> -endobj - -41448 0 obj -[600 0 600 0 600 600 600 0 0 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 0 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 600 600 600 0 0 600 0 600 600 600 600 0 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600] -endobj - -41449 0 obj -<> -stream -x|{|TսZ{ye&G晙<2I2L&-)-GCNӸ_rKW_ێ GW]tڴj嚵qZux:w EL$r=QH QUX/}SjT]ؤͬ0ʭr.eYQe VWa̮Sf興hGnѹSy5V6ff(Y?; -\Y\%tiFtr9j,ҩt -.ڦDSdmGDm$҈6#"/t"@y/{DC6kϣw|Be>7#Ƕ,x"w7 D9N2cO,A[mO -WN6V$;ˍ7@" -ۜud6F9F~+/[HZkFHAMEj{RCS} -\s"J\Y.> Uz -#lSZXY$'T'ؽ Vx?+QWV#"|>m`m"9Ο3vcP$TF9 -V6E1Sbe!7 -\,]Ԁh+mGD\Eˇxȁhp="/=/ n]gR{3y(&OO %ɣ ָay"0{@v.yk2j#|yχgyQcX"κplFX?y/g"!rxNr;9HnMӶ`5-|4+6^D;mJw*x.xf@A|蹁5&湑@M޳\$9v]{|-א9+d5ǣ|Wd),ɥ,w,~ /m,żQ 9Nd>Qs4L@ay -ޥjAM^a!}:*H Ib>foI#deQm<-罅?oA&^,>Fi Gd&}l~8飷Ox["/<"|/ rpDyD%ZC^Fnɯ%BENȈp55kr5tG|l N1؟ҬO BPx." t>r?HU( ;L{@5Mt,U!QUt(}?p+|t x?7V(z'o{i'@q6q8>&!1\-" A72n NGEJJjEl^lgp2&L9bs{8K*4W}!zٚXm7"$JDVI!8yɓs{iWT''7x:uj|ɩXT?)w#Sg>E<^4Ξ7?kz# -i/n/#EZp݊ݸr݄H} HAb}!)H1\;l2)U?땕rc?%p]4 ͋oCt0(/Gbk[gҍH 0w~PǕ0e\Wd݁@W倢NB=$p?%Q#i[ ~G3ՂY0 -dաDryqEF/oFo +/#qP$J)46pL'.H7=~ M4L]3wNe~z{b@\+Z$IsV^muc{FTY2FeQ6 ʘ<hxppt#LJ.PNPZ3(eːC׍tLQJWPW96ʠd[y7~olOlwO[^s}׬EvUJF}7փA?^>~.לzGI@ݧm߈SrLDS*Z/V_hQvXols5dbhCM̻49ӉC31iM5C#C@Q (ʱ4 C2qV5M+`HW*G\em[ pPyU67dc ́=+y]zivmj 5tz9fO5^p-9>Szd-_:~|G"gj4)ΓT(uΔ&KJ)?ِML#jCsv|kGefҌ ]B[:im z6A_VQbuR^Ǻ#B&|j5}ꎉÇ/eB7J]rqW)p,}PV9=C&GeDU$A>JmkJe򻷩JߠW䮩QV+t=ⲕUhtb5`¨Mi4GuUZMJkPqOQV+,YBHP[Ĵc -MnA,ypa\Rh8z5AAdq18 b0gbi w;b:-sH^~$Qj "]"i.4-9}W+jlRTޢaW5!| Z$3HZ4itJלVN@]Uj0 - 6%tBJL:$=I@㵵X}M$vӉ6im,(11KWƚKrN4ktX @{|$6Z>l5]KW,3fϾ ۇq6ɦxc}P#33噁 5G&'z0D&餃pC@:е~)LdnW6 -Ѐl -% Æ 08Jlj@,xoxF>)JG]>Uy|]JS[RY/49R"f>gѠ0!*uF99:  R\%^ -Za :۶H/>,# 8@erC[b/ާW͑dsOSud=l%in2oWխp2 Ԁ]\V$Z-Eq=~«N TTKV!@ !A)j!)hR%u4hLbSG8)#Clü(񠏝=l51~I7ܫCT xٶָZpxO&0awy Zux>g|o2LDړ;ͥ=n_:5o0SoCFݮ6X葿.XY -<.#:xX_$A[(H@j5*h}DŽY5 q$ICDcq(0vlJd4"@RRBekVӓt{f,^:<)O5b#?߾a{spD¥SLɳ&3 -ͽn. -2*heҴLvp&EB\-Z2O^L/$vDi1"6Gbsh2逫P-K\IsѰL Ce^eW, W7rqhd aɤ2NFODB*rtU'*sEe]Uи@+/{SuNm5ݦ5jȻh4jX̛Ls5lwmG{7J8aOj!wڱ}t"j -x\Z~,jn݀-BCPl  >qb UR2PNC*|>ٵ"ɟ'썹V_nIIo.nnwJ5֚>f._qV4:J:8SJ͜HԠ_kYΝ_s:IgWiSJ a2>Q _P*;ϽTޘמ]pKtś6,§z:$3%O}"9 ;Yd :_h zustKt*il.V!Qm48B (c g9' 2T:H[α,t]7>S|S}>vE%:s)5 ^eeHjEJ(#,[N}'[}Z>窫̻ -l-3{Uk=tC-;.s]GKM[r9Ӗqk+T@/$Wj E>U+Π洝_u~FIA19#U0kTK%M p"Z;Dw3OTn)U]1gUB8[loȯ'KB$vPK7MY(˂ |K!ƪ -g D eM*ovA2ĜO0& (3|Éaha2#(֎8Kek|(/=wŊsr tCI|Z7mɫw}P`9ͲB1Tlk:l -{N(WTuM5tMX/REE'W@Sr&PA' w*j\kuh]| \AdIgj7éTX%Y)dcl6OR{,py \L:oa1j p)BgTb6LlTmˊSND-FѮ^yyGږd8+ Q"W -jtp UGϏKC>)p\[m)@qV Du_/0Œ! :e)i -830 -qlUp̿λ -T!k sUh&/X?3cѦ”)ec@,uCvs۾":mRWk9ް |kɠCUeʈ2;G>K FNrk+&n&f d[{9>*Nj!LN DU_fQ>i}|_C<3[@]˷n& OO[B&+N q"*%1A0UAqsMcևmVIb.Um? v*P2-aA6,SY{oT|L:-D)D uW/ݺ푭2_NL@}S>oj`k/ ݉ӅF/;س`a]yB ZN1|Oՠi<Z q"iIS ̳őq&0 !sb(˻l?6bTByg,C{)BUc+aCks쎃<$'vG&zݩ"vI}GEXZd.  ,ZUڋ{R Ǥ#q^]mBvhpbow-m4.1NSSDkOv_O-c\ߓk A.-{`q& pϒgm];W-(h\^֟˵j,oЪЪ̅^{饷b*Y꼎j ᢜn!f7H3FŪOӕhKxlmZzI*wVB--5g;Zj3ujρ=)#M 6xp"مAFS⮁X(T8x|p -4gWƱt-^$#cq)L{*<˘BO|jk?i-3LeF>>3[#=Z)I2< Ţ3x `p٦53=F,*eBQ}¬XIk -t!,5,Yd?%WƜd~)UhNS+5Trjr P@eքMji"9kM+LJ8zMbT1X .up60hlf!kh+eL&_Sba]< #j}mC)VF̐EINe.!%=nEuD(,Ec:XG: -:XD4>^F Æa.sB%3*dpHWl-+2!mŗq"]lߚJm-.HHg5l/=y49 -ܟ4 Dȶ&Er>讓M/$%sewLeȆRo #LJ6 }`sfz^ghԂ]T?WsJ k NLzvh+$RxIdEMi>2f=`$(,`= pK߹+^9#}/?{{׬x5}t}w nyhׂ̩DޥHii3ICEK&tX =)QNS Pm^co2)-Yi;ꤪJBJ^`&oJ'L$ vrq=5cS,å\ |׀mʓiǨ!g¬L!?֚Pq76 dBFMӆoݴТd@7Xmg-XЪm&iS+z|l@w@w >!t!?ICR)?0Jq ]cӢI-cY?BVH/;=+^#Z@ǣxh -<= QbrvBo+Z&^?,DQEf8Z&. \ljct]ᶘXX)$ ^o }kؠ=+&-\)?Gch v&jRn[hه}M/Mޛۼpym!6M9kQFhyO;l#bni}g Խ Pٸ]چ_\FE"vy{ j Uu;hD`8Xmd ^5 -.y9q]~*æq/frV%>=umuLi'K$S -FSߠEzۄlc'.3C]w1)dϊ*Ė=@mew"kTdlH=E٠~D2B.W[% 9r㽅tvl#ȣ95ɟLc"_o$C?dܖy"tu=31uefm/]A,^'J$$l5Ьl4=uV]/6֒uU-ўӨ>4X?x+_3B_żљb&S%EO^*uSRX[aSP{\^' VkVϜLؖe҇-rF&:56:~ mlFhĬzu,b' qqlpRr7{^I`8h w[A3:.Di0WZJCjx3fQ_{nb>uS"t0d -p-V6J#8_oeJNJϬVK3+FŸ.Vw\1VP$?|.P$4(N-l&TMi~>lj[HvZkҤ&FE&F>cƀGp0c\eK#!~l9 ԹShVn̥Ʉa<ѷW7{o &Ao~,ꚹ#vݻ~=7‹?N@z-ty#u؃N;xO&n}[:N%kI*0Hp3&/upa6Q=neE/{ۓz9վ:[f9\w{&R^Xd"cl_;7 "FNaG!:}@JH-9rk?)_36Bl(ﲊΫsclcr V:zʫ6dË |N,?좋|wG^Az>ODAt{߃4G :Q U$RDq}q;' 0$!20c9Ta&Q+(6%?sgZGbsofX3Tl4ref ْ4!8*jAg/,sZGlG v(lu}2f@׉َS˷ٶ6ڰ/D83Iq!\ Jo8bfQKA"BIp6q5TK4&#q: d+6kP)ͱM*(~r3<'G#Ϝ< -L־bY"ڷkQ^-.aR)Y*eXzrįByڣIj8WAA9 -B=Բ7X;v+eKsB{?9m-;0)qN4* ch3)}ܾby,֋S |@֖&!l<]֨G5P}$Z{$TN|uHڟ&<5kY ihqYP,AeHʅ==3N= -*  ޜ/HՎ<ɧ]y;`a0Ӟ`//~[4=Z 91DjBG_`s^c>~sZkj%=|hE6qNjSU4'kn@c=-=!9?]u=3f_| m9w>rGo_.+Y(.ݰD~t}leƤ/gz-f/ϕBe{av; PLU*WQ,Q\{y~&󁯷sUɍ²u?uӨ@c;G?voȟG'< g$4T FٮGԱA FƤ-Aݪp]$ ViL&g@E2ғa\`:+Zɉ3ԭ(8:; ty/*muR?/r[~yfl^,^,k`nJZ̓z05o;;W_}=l!|z7_-ECVfwrY-S48/ =j IYȍ3<- eMg^yڙ7xYuKLOxޗRӰܵ,vzqG{e%p> ɇ'dOk"j%zVz΃&F@)?DhCx knG.s~ -!@3Qz>C~)HG 98F' -\ 0s~S;2.X`L>lqPѦV2OeֶBЪO|sylw&YbpkS%3H;%yKw6ѷG(-lXTjc8v{*oWJnO7d3OHJfzz -mܳbFq؆ >ܧbMC%(i`qpAm㧏˜oTk(Ϙo1_1Y= >`{ϵ7޷8ݝ0d6C,ȱm|Ű> Xx,ؾxfގHcvԔf^nLRii|U7UMdXzFO_ D>f1M&:2 -Ibiz1|)0 -+.rUidoT"a:∹͆!**REdCU2lykQ.չVjv#rdh)TR p~ʝFP%j XO%-^Җ/tK<~ 7z'[Bs,olK% "L$ұ-["1'Ǚ2oW dF)⃿%I~Z4_8>O6jJ]r(Z&@*Y [,uG /_NF˘`CvܐknzW-Nq(!8jkHj :)z*]N|؈QLT5aE8c^3C]r~+|8Ŏ:}_ޛHǂ3:u/Mz<5p:'0#Ե\Mv+1- ¾N rpP٨%b -xZTcG_f#,.]={BVc V, -56俨UɭRPcXkQ[UH4R'7,|7pƊ7x;g~{lj՜՝_("jIHVSUun8|uf6<`8 7u8}8Nr"_\@ϙ3Nϼ7?ܳr՗-:ҽ%<|ZBچii?0qIB2#HHs E.mH;# #%$3R)ԋ4i ZBچii?0q! Ɍ@J#"AZf!@Bڏ4t?P"!Hi^9HK"݌t6HCH)>U@zLw\?{Wf1σ<΢ǾϢƎ矌~jxPcq̸:~{:ҏza\8Y'ww11'L5SէOW>Y?g\QDLYs玫W?h\}`\E:/W_:l\q 2YկWr\qyW_3v\}ݸ5WkWcݸgׅ]^=endstream -endobj - -41450 0 obj -<> -endobj - -41451 0 obj -<> -endobj - -41452 0 obj -<> -endobj - -41453 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41454 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41455 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41456 0 obj -<> -stream -HnG)ҾH ȅ#H`Eo_^vaw⧷V}^myQShUT=UYm/nw7w6_y7?>owۇO~;8͑OTfҳYV=(կ'ޫ8;\O% Te -g -av JPp*j712VPoz'wL; SzA}`ꃠ>0AP(L}G> SOgA}f고>3EP_"g5kdJq4P4V)*PBXjP4V)A=Z+T-%T-UJPϪ -UKcԳBPBXjP4V)A=Z+T-%T-UJPϪ -UKcԳB~rBXzJZWOci (jiRzVNZUƀ*%gU넪J Y:ji (jiRzVNZUƀ*%gU넪J Y:jil?yjiR\=%T-UJq4P4V)A=Z/T-UJPϪ UKc@ UKcԳBXjP4P4V)A=Z/T-UJPϪ UKc@ UKcԳBXjP4P4V)ƀ*XI!&QxK)^iO6Ƽsʨ͇)/lqYE_ff?xݼ}P˛ˏͧfҳYVaVחh&Uw.Σ9Aݟ/9owM1? ۭ̿{8{n3<2z#f gGzwUwwWԟg>&o풦ĦϏ䔟V|Uvؐ|5ُmcaLu|~r<&9~kr,J)f_1zBc Ʒc R93*DdH%81AS*GF UT!N@cN@s20D̜W UȬH(,{P0K3@\M\ 8΍T!蘫-V߁J*¨=לZ**QQp襑:8NB(cLԔ*QB(_9uea~Y̅ʆQ8w#_rbȔ*QQdTԯ_9,E,SWKb:mNәe:r{0W|Br,tα,t.WU罥Tb~`(2qE] +YWgKdˎe!|4P~O*!YgYu&~X9Q*3`$YxT!~y"{eJ%>h -SqG]3w5Yj -T_qH vÞ|/; -' D)ڴS&n qMeOijN; -'؁IN9Pi@aZ(Z몣 -k>PXgHgGG2PLy ڦ 0G6_ &UѸY탲=~QLl?[9;d 0,[AQ^Z]hg-|pq,M_f9ֆa*j=?MXP۫ʭ͜g\Y._/]twٱCqk`}afSARo 8t׏W {R/pPiFʞHX5sk*Tò ޟ"!Oȼt磹K|հn> -p{?S@sx!zݿ~8!O;h{8  Opq 9|,|wd ]Jb1(^BIS:6aN{RtIeZ0sDPGi*3, G43F]ąhI!*0TS -!8Y"2־g(xN,ńfpl8?"6AWʞ5Q1>37)_zǐ,#&|?Kt՝k/yV,.%69]UYLƓ,2fRBi7(9iqg2,ӌs37SY}^;NO/תVV>7].#~Dz7A [EA8 WlgN6D>`To>@2ArUhJN#9F"BF(<"׎@2~gqoC~x߾|GO2[endstream -endobj - -41457 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41458 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41459 0 obj -<> -endobj - -41460 0 obj -<> -endobj - -41461 0 obj -<> -endobj - -41462 0 obj -<> -endobj - -41463 0 obj -<> -endobj - -41464 0 obj -<> -endobj - -41465 0 obj -<> -endobj - -41466 0 obj -<> -endobj - -41467 0 obj -<> -endobj - -41468 0 obj -<> -endobj - -41469 0 obj -<> -endobj - -41470 0 obj -<> -endobj - -41471 0 obj -<> -endobj - -41472 0 obj -<> -endobj - -41473 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41474 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41475 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41476 0 obj -<> -stream -HWio8.`?ʀ-K9vIf0Zv++}"n5YEXX|<tG9L_?yBo߿Eq 1Kreu^̻S6T?w}u+P{n9{+zYV[IBVb,٪[YMu߱+>#V7}'ٚMod+h -s(@q=ws=w p p pac}BO >q'aS}JO>sga3}N9>wa_Fhm_qBQ.{(BQ.{ۇ(Zۇ(ZN!`猪}"TkEwT >DrBPjmj9Zۇ(ZNPCQ-'TkEwT ھjm\Pjm\Q.{(BQ{GPCQ TkE!`V}";jm>D -BQ{GPZۇ(ZA!`V}}r>@}r>Dm>DƄjmjcBPjmjcBQ{G1Z(BQ{G1Zۇ(ژPZۇ(ژPCQmL^B!eoE!eo/(b¿YەwZqXAҴ`ֻy ]\-?%8(K7kjl83BC3 u[vr({ediWNQFu3 0m{&ZVv&XuSf^.a3[c1o^=QEcxHټ1Kn=f/_aԕ|+ٍ2'!{xJ򸘗؍zB^Y|d`5@;|һdw}gV/oI-Q9IflU8<_POЂE-ӇE3vSx~av[KBH^t'vN=}?LOcRID %EaTƪk +h9TFEd1p9ꢀ+<wngC qBDMAx5XpyQpw~OJY-kPgq?Z9/zMjKӖlnld Jx`͆NjYxC7I3/Q=n%^(YmveWIVO5Q1^)Q_`:xz}j%@t)1_4ES?wNy2*6T&9AK>Q9v5ֈzgpqE lA9 -. 4:؏p'^XѫKvrdTJU!"qʲɲβE'o -zYb+&&Lsr4H1@:gTM"([o%fZZXߔD'<;SyqF['PhBE:QUo?In1.fLJv!N jʦQ౽SIxUޗS]p(SYaLJ" -qQ :khK@f^]iou\}M(1O←*9MjP۲qq58W˼Kݬ8ET0:wsYhfQTײ^t5si~BE*!{|uӒcЉ*P?괄K.i-f1"Jf.RKz ߢQJCǰP,N4~}ZMnjW$$ /,n[- rMLPxiZIl>dbAh)|.Z\|VWDT5`]"խLr,@הGs8?\pU1,J=ߕg"NDj*["r30y eՄ=ʣy{LЙ [s\kKKt]>t>U#/L]܀8?c>S-nėfaFUa#MӋb; HPKº.4YfޮɩRQ::S :`_UhK>xSy/')3Eǽl1>N=ʵ*D9]Z|~աi4J#ίj(TZPZzۆa=}슢͡HvC/F؈ #)J)zB$ER"?}+xq2 7ۍvgc)TA0b!AGZS --S+B4,= isHܡ YW:2JP ߵR;YnJQ!`CGM?l", 7 -8Hv韫2{ InLeր+P&"IC\|$&.J+*T.t @F-(>u0yS4<I0;ptavCpGr?2pI :aE{IDNϊTƹᩔрt9IH/\J J:ҳՉv4 )wBuZBNmI0Q2I) E2.fWPT˸u&V_oqlC'ύ;ȹn/4eJ{_`57 -f;؜t De5 K/xA;e}tH%%غ(dP ( 4K&U p`kں2&^)>W7/8endstream -endobj - -41477 0 obj -<>/P 437 0 R/Type/Annot/A 41486 0 R/Subtype/Link/Rect[129.600006 663.229004 198.179993 682.908997]/Border[0 0 0]/H/N>> -endobj - -41478 0 obj -<>/P 437 0 R/Type/Annot/A 41485 0 R/Subtype/Link/Rect[129.600006 507.229004 228.324005 526.908997]/Border[0 0 0]/H/N>> -endobj - -41479 0 obj -<>/P 437 0 R/Type/Annot/A 41484 0 R/Subtype/Link/Rect[129.600006 375.229004 206.315994 394.908997]/Border[0 0 0]/H/N>> -endobj - -41480 0 obj -<>/P 437 0 R/Type/Annot/A 41483 0 R/Subtype/Link/Rect[129.600006 219.227997 289.667999 238.908005]/Border[0 0 0]/H/N>> -endobj - -41481 0 obj -<>/P 437 0 R/Type/Annot/A 41482 0 R/Subtype/Link/Rect[145.919998 427.311005 463.751007 442.290985]/Border[0 0 0]/H/N>> -endobj - -41482 0 obj -<> -endobj - -41483 0 obj -<> -endobj - -41484 0 obj -<> -endobj - -41485 0 obj -<> -endobj - -41486 0 obj -<> -endobj - -41487 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41488 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41489 0 obj -<> -endobj - -41490 0 obj -<> -endobj - -41491 0 obj -<> -endobj - -41492 0 obj -<> -endobj - -41493 0 obj -<> -endobj - -41494 0 obj -<> -endobj - -41495 0 obj -<> -endobj - -41496 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41497 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41498 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41499 0 obj -<> -stream -HWko_1$.ǸVu-Xk%Wvn޹"#A9s8{;-[σo޿Uz7v*86ɍ*rdF-j.ҪQs=͟dluljDwWFݭU4QZU+4UF_z6:>3Yd_{YRWq{e7Ro7Z,C Y':M^^TQ5i9 ~ĨJcP|MՍi`]E>/9qtjcĒq,,+,]kice{#½po{+; w}g}g}g}}}}}} ܗ} ܗ½p{Y J˱id@k9F,cZ1bI#tϱ{ZZ1bcZ1bcEk h- cEk h-Lj܋Zh-Lj܋Z 5FcĒ9X#t1bI ,Z #p/ZkAk9X#p/ZkAk9F,^ւr,@k9F,^ւrXhX`rXh{Z Z˱i@k9F,cZ1bI#tϱ{ZZ1bcZ1bcEkh- cEkh-Lj܋:Zh-Lj܋:Z uFh-Lj%s,@k9F,cwܧ N<` -r@ heB+ZʁV.r hBZ*V)JU --@s-J-Kjq5ZZheZ"cݰvZ #7 ưCȽX7`=LjD =Ǻŵ,=Lj%8F qh[{ D-=hZ"c4-{ r1QȽ @Kނs%roA9Fc BjqXRc40-{r1Ƚ@KށsF%r@9F/@Kށs^Ƚ-{r1z}Z"cbD=\jqXRc D3{xJ?iUVm7\Oj}̕i7_{!9gdtRQVcǕI'La„}mHn&O$w;XLF`[&i-GCverwMnk;p%ύɪGFӳ9nɣG٣I3|6XWjl-c|h`I|> ?Wtss=_Б ITUEˋSut3?LY{v;_NGѩZ e6); zrnt -t}Rwן~>#'Mtڤiڢ[7܊CxPgYpYe= ^_ٺvlM7ف{Y_խzXVUեG72Mz&=O䮷&>,x}#gbos|X6vH.NOfݻUb>NpgG0$m/OOժ]h}a2Mʞx+/g-o쮽~l/YI< {|v7<^OVO~SܗOd-v N6ς=_œ#?W?,/~s;u9W?K4="zO^[k'l'ng0>-<CtV/ڇGl4OO+삞=K쑟uo;/~CkG#D@F,={Fs>i~njsg-=,/₉of;E z;SywsXZNh9V2Lh@+Z9ʅV -UBh@Z%*Z^hy幖ILj%8XhiZheȽȽȽȽȽȽȽȽ cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cĒZ ,{ h;{ h;{ h;{ h;{ h;{ h;{ h;{ h;{ hg #X`sXR'{yニU4QZU^ʫ,&\%aTy1$| 0z+ D'U:jeCݗb1fUYLoz֞ΗQKJB<^v:gJ~?%"oϬ|ٱ\Q8]fއvkfKZUf2~]Ë.b'߆7a[9_Yfh«mq+xRiZ Bɐd"Y'pngnϲN.e \?!IF?< }"T8IYCEdroU)EP/ٝ*K2tEkk5H^r#M4oV$ os%1pb^N٤T5}\IIt}ԟOHݞxr!)>⥉:V/5M)j^o~ԹSj%JLUN3gkׇK|HS+ze~xU=EL0 zV.)ȋq#Qٜ뾳?,aNuk̅ {?Yoʺ157Kp|-pADKh:*I3"PAFbe.y\p|4 :ȹG* -Ld39e,~&Wv;1R H2L.:4VႈՄǹhhxxFm nN(HLeg -}L1YFKZN(KkǏZŤ M -pP*~o(5Uaä9 <5Yr;S>7 -\t\Ȍ+l[}t2ĵSH{_O)8f52σO"'C}N<љ2TV8z&@`DÑór-r(^ȜS@d0%_ `Mm4@}:Sdbxb>1vcn5iqBSC}hC -qB,<-#.1 ?@G?pqRË/zU -4ePt3, @e3njްc"f9^xzф{h%. ,01w1]fYJյmêpo?Xj"(tEN~jxR"H,b-qhz 7aVOڬ6/6wO<_Diendstream -endobj - -41500 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41501 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41502 0 obj -<> -endobj - -41503 0 obj -<> -endobj - -41504 0 obj -<> -endobj - -41505 0 obj -<> -endobj - -41506 0 obj -<> -endobj - -41507 0 obj -<> -endobj - -41508 0 obj -<> -endobj - -41509 0 obj -<> -endobj - -41510 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41511 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41512 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41513 0 obj -<> -stream -HWmo8.?a7Q:,E..ʒWr˿^-rrXCrŧ>~x~wC"W7_璨DИ 8MAD#9 .>";/*:ߛcIKNMp -.VAY=)LHS&QBV az!*!Tw -"Z@PN~pޓGdC -&u0,ȵY?kc>ʱYBP.w| Pa=a=a/<a/<a/<a/=a/= -a< -a< -a<1>cccc }O<)>ا{O kQk(kZfQ>{fQ>{(D͢j9ZfQ{OQkZfQ{OQk(Zֵ -Qk(ZֵYS-GTֵYS-GT, -a節#um@ umwmBT,g,gֵYS@T, -aV umBT, -aV umT+պ6@!umT+պ6B{j]պ6B{j]E!= -DmHD͢| Pj]E]E]պ6B{j]E!=JD Pj]E!=JD͢j%Z(D͢j%ZfQ{OQkZfQ{OQk(ZֵֵY޵ -Qk(k(}J4$'}p -.VAY=i 4&jgg2'IxC۳W*d&@PltM0IJuySJ:Yv$19?VM~5(v,MX[JyDs*Y nXE4dšRgBaw]w]0IuNry#8<r۽.ڌ()4MxRpæ vzRh#aHYWQ{@g[,44d|Z^% `9*lEy@&TU9?mWkU NZtۢ_nmQ)ݹ5͂(3'3er&UIΏwS;#]dGc%2{g㨐GlWO  e]ٱ6c^ c?1kL|mf n^6]H6F6!DN(#dɛ<2 XLU09Vbi -a~. m"\ć X#A6E (Sf̦F?T%sv^(&[҄mHBp#B.{uVd_r\N:NE BSh[1'ST`|DCh:D@MTJػ0{pi)=Uut7%yBc،i1W˛SeӒ> -Ԓ -p6fyTOxt)i|c,Bi=HqXT*bĢOP_6 7YcW#3 7xqL;AOp h6u0N>z-}f_կK;"o~n̆%-[BrmMP>Cn@~)?L5uѴF' -LH'TFY韖}.÷_u2B#(~R\Np єKlY%BRub1s 0h*)YsD5|C^JNq>/]RO7cٷ0bTB٢G]n+&U,'4v˺_1rś[->#=KMo4΃`SHUjb0 m5x]hQ@eW?ڶX{+V8ӓ'!%.ףj:Y*קPڔul0SJ~]~x\䒤5X#ףpqD5 -6q€ؘT&$NdACal9/C_ͼ(؅t -2 JM]B%n}huUҌ`(o86ߨRt=Ta\vZYVvq+~5(-gL``Ho^`S l$oTPAhK.֬+4k]g e,9ª.6NT2 XLB 8M%[}}6yQT^6MA˦]׹4Pա*亻 @oQG݉.&@An.i0DYmWMo8WT@D ݢfa6'fbdHr/ItdZ Ù7ɽ> Va:g& pꞆeG Eֹ7nvog -+48"2VlaFyMY?uHE}%hHEr=$r6W`.w3){#{,OEȽElUj=$[uʍU?7kE ; CV@ʯM.Vg8s Li ,0uc-V"h.OPu*?F~sjN f47o4(!v{Kg^4ͩ;fQl -sgvћ.H$HRU۝\(,$QJX1:F"\|;c%W$ . r6ܬhBǛg\\GͿ| -Н1xDt ~3)zR:9DE!EXiFJrFu7<{3I~gP$l`^NDrN=K MTZAǺ(Ej Щ4d۳JeY-N J(di}5UMQRIrqc $`U=/!4b>!ἷqA,ulBM0L"1v\>vjV{0\DY$ ȥ}n`njVę91ϴ " Sh sŹ,AZmM1Gjey(`R:jH 3UPk!cacT˹ff}qsw}r0endstream -endobj - -41514 0 obj -<>/P 1650 0 R/Type/Annot/A 41515 0 R/Subtype/Link/Rect[180 321.428009 446.001007 333.411987]/Border[0 0 0]/H/N>> -endobj - -41515 0 obj -<> -endobj - -41516 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41517 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41518 0 obj -<> -endobj - -41519 0 obj -<> -endobj - -41520 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41521 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41522 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41523 0 obj -<> -stream -HW]oV|'RмB<$MQч(02e+T R2s&(jRs3?<~˫6yWџ - t3gǩ3*lE֬Mtq]ՋvPjfTn4ut3w,g6ILiJ4yR&8P-u5ӧ.M&~}$cr]-t9J̖Ҹp{$޾X#Nfcҁ,Xo6fdM3vuD|561g)1&*}G@}TrJ)&^$,Ĉef Y)`Ij#r{{+ʽr>()p*)p*)p*p)p)9p+9p+9p+p_(p_(%p_*%p:kAi%hĘKXcv/1fi#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 Wu#hĘܫ:Z1 WuDVb%F,Z1K{ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZmZ+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkh6Q -Z+1fi#hĘKY}eLB.7Yt19cl٤R83YV&8b̔;]W}M?ޞ9!ܙb{kZl}dGbfo&qR:3[A̺2N˲0YH{YcO]MDC;[l/*^&aj\4um_u,qb{;n:Y?OwFl\nZL*?slդZCR>~}VzG?>%Mm{Ӯ7kW]7 9"?[t{HWwW?4'{|:CYp6'q$C{JgM࣠'WjzJ 櫉He.=V0BzcV XJ+ -J+ZJV2) heJ+ZʁV -U(hJZ*V)\$,%1bYeZVi9唖Z*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ#ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘTȽĘ$F,{1 h{1 h{1 h{1 h{1 h{1 h{1 h{1 h{1 hܧ c֒@K>?q,){B7ИjIFɏ>VŗC3')OBcr O LrH<4͙kVO _M M\ju}j|̧`,V}ؙ4hRIM?>u!I:{ϺP,%2+oجl''suswOoҍ)"N]ZĭfWՋvP1MDqqǑlpyI寯YYhVC'T=_j>ņC KUaO҅毼|:>I,? iʥWi߻D{BΧsV XJ+ -J+ZJV2) heJ+ZʁV -U(hJZ*V)N9KbÔ;f)- Ҳ@*-r@KށKlr,r/aȽĆ)wRZ 1KiKlr,r/aȽĆ)w̒Z^bÔ;f)-{ S@%6Lc0YJ ^bÔ;f)-{ S@%6Lc0YJ ^bÔ;f)-{ S%ȽĆ)wRZ 1KiKlr,r/aȽĆ)wRZ 1KiKlr,r/aȽĆ)wRZ 1Kj 1KiKlrY{ʵ718G3CJgaWUNmy7Zqru.uF*.L3mw0-&ݬvcK7~$ 0~XECl}߱z{X.z.vBNͬM墬Klۄ߸_&w-O-f.f/†ѣLn\޿olQ,8?6>NWdɈ?ozSrnP= Ik_nC[(M=ݬk tjڿ\Iy8~Y, 5&^~mP$E˞k3E!Xtmԑ [;ˏW6H^G:$8I&t2́*hS+eiBa obG M:'/7?SeviSm6ߓߪ\\O-uY -SƖڄ=Y@>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41525 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41526 0 obj -<> -endobj - -41527 0 obj -<> -endobj - -41528 0 obj -<> -endobj - -41529 0 obj -<> -endobj - -41530 0 obj -<> -endobj - -41531 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41532 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41533 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41534 0 obj -<> -stream -H|Wko8_2(| ЦnlkKIN{H=L,TGsyyh_ܽ Y믯\<B8aX-u‡U\<}T4eV>tmpɐ AX9, b1% 6ӾD}WWBhhW<A@S_t(e?woߧU"s7ũ/[ȷۀ|xc|o9,|o,܇A.Xhe<yzMkp&=!ŀŹr0dijbzzᩗz驗z驗zWzWzׄzׄzׄzO>!'PzSB}O >#gPysB} g9aZ;p!Wb"\bջ|.,µ.,BZAŐE\+׺׺kZCs \b"\b"{k] Yzϵpp!PVu1d= -µ.v $ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%ZZCs$\b"{k](µ.,_p!Wbջ׺kZCs"\b"\b"{Uk] Yzϵpp!PVu1d=*µ.,µ.,BZEŐE\׺1Єk] YzZCŐ^ȿpQ+7BP/;Y#U y0 ĐՀj?e͓ug;+{b0&[0o\Nz噄hDUy -;F0;ujtީw*Đ$y X$%|0 -{{!D yz0ʹ(5 YԱo(ȁ_W/by%Sʧ򊶗RQ8H^Z(N48ILgՄmܸ؊^OFIk!kBuT>݁<ѿ)mEbb?qu5E*]/ V(7B@ϬhN2}O^NUaQ: -6ݑm,ePb;79ưj2*jXab}Y wjKN5۸ȋ۲nLrhGCw]:P:c^7%jnK"ڸJ~*J&TOD;K- ǰ8єKi - 4iWxiR/_pޏZBgO<;E~uܣ\ȓj󵢬w" -czdW:{]X&"б3=]nX#F*Q CC]P\m#Bb!dOGܴ'-cI2rb$^@׉uep>nU$fF)6|ʬئiJ@,weF68`$1F]%^ԄM0pkPڬҖ¢L[mfEDkz||ʡ,QL>~&ngK!D!6ŏ~Sy-ʹ0iKʨI#=݀cvU -*J9p`nXzj2+፿~-g|7\hBtgXL@ kp`K_2I~߿?|8AiPkeu7v] A *GZsֳ -ۖөL}jL5^Wvq"OtrUȅp:).PIUTHT+6v%<'BpKᕖDTNDp -QFڦbΙF)62D.W^FEkrʔ֊IˀW0D  w$>v>/P 426 0 R/Type/Annot/A 41536 0 R/Subtype/Link/Rect[129.602005 219.227997 192.973999 238.908005]/Border[0 0 0]/H/N>> -endobj - -41536 0 obj -<> -endobj - -41537 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41538 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41539 0 obj -<> -endobj - -41540 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41541 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41542 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41543 0 obj -<> -stream -HmkGϧ2܍B^1! GFk{m[)}*kT~W\9>ᄏO?)O* E3{-7⸛)')>LJtq=⸟Ue^[#XO "E AFӊSͪq]yAvjyy>i}wp#W>;9%g/vەJYe̴x'3kPRJ??~❘vaJaMNa&Q&!FIC }P,SvxJ35Q7zCF! Qoz˨Dc;1QzO{F'>QD}dG>2#QOzYŘf\cq (Ƶ8)2EPkq,SzZ͸2Ũ'Ռkq (Ƶ8)F=qf\cbjƵ8ZV3űL1k5Zq-eQO\Xĵq-&ø2EPkq,ST=e1Xĵq-eQO\kPkq,SzZø2Ũ'5kq (Ƶ8)F=qa\cbƵ8Z0űL1k Z;Lq-e1XzUc@1űL1k-Z21Xĵq-eQO\kPkq,SzZ˸2Ũ'kq (Ƶ8)F=qe\cbZƵ8vZUc@1űLQ8)nB^8#? 8 攒~tV(B4;~V,~SG9yne/c_/zG{Beig,ǧG!k?|=`mgG՛ޜ{o}FK=R}' Rù??I:g'UAbSJSJ -oBD :M(1e%j@)'1,CLyE)o )CTpRSQS*]$ 4g(/ RR*0TeEJSQ -j'TQ(m"2B@UP0`*R -("SMBTPQP x;,ޡPa3HQ/SyO%JAARʽ1ޘro$7*L{DŔ QW$;BEJs<}HR'IsLT u:QVZCv>T$;dFڑ[;~(e r)c)%1U@~Z)zJSvJv;vݰjg}GJav$Qu): Tj:N>U'*S@iD6Rm"u(MT=U0RSUUS TurGUT9EU+@ -S2bU*HI4m8PvTU+rOiJQT&UNO):vhZY;v߁]4!pT0R{MU'R$m龭%hRG@rߦmr`HQuR)rߦ΁iO)JوѦR2R*LI:w6 %)Ow~etTSPT!azL׋zk)(MAފ0]}ww/OeZv͗mʊH.Eg/z| Zx(foSe3a>Y f\ܵoR]?y(++ՅJ/`.V8="ʟo `Zdʯϕ,#:~-UzXVjW -\VJ·G򿕳-[D i2 o7v_reubw_^x:-?HPKz|޲_Í%2uᒸX75Ѫ5RC|g+v߀+իXKV&#m):]< -0ZU` qZCmFR={o2$G"87wz2߮_!tNxDN~nLܭ4s}hVuo:>5k uIׄiH9uXOq|c/u`ZC3?U| b/+71~?[M[sRt[tEE̗jtp]O;ұ/҅Uko7ԑciu%i%K&A'lSi޿ Zj3=2*C8jFNIܸ14^82Eڈ]X24EQ0@<>$EĒIVT2_̾عSv(D\.5L%C+Ms˔"`G%/ӳ ۳f0nO}W wkv"*=:͝j(e2ag&Nb^NMI!m=AE6,4̇>UGڝN.7\K@21*PuְlhO}:?{Oendstream -endobj - -41544 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41545 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41546 0 obj -<> -endobj - -41547 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41548 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41549 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41550 0 obj -<> -stream -HWkoF_1(B14Hl5] - Z%TT/}!^ɣ3gfdu+??{Wዟ)+U"ܿڊ 62" - s_|(wgK~Ymm],D]x/X5Eꝧ%[/qE")"?֛P:ҔyfWŪ68{ftƳuvaHiƿKH-B{'k/KL(un$KI('AB0XJQ€0,])jc׌{Mƽ! qo{˸Ľe[>`}q!>$C}HGq1#>f}̸q tV1Lk1,cŴc1,cŴcbܓj㞴V3Řc1i-ƀŸ'Lk1XLk1,=ifZ1`1Ik5Z9ZqOZb X{Zʹc[0{9Z{9ZqOZkb X{ZôcŴcbܓ㞴0Řc1i-ƀŸ'5Lk1XLk1,=iaZ1`1Ik Zm=˴c1XLk1,c1XLk1,=ieZ1`1Ik-Z9ZqOZkb X{Z˴cŴcbܓZ㞴2Řc1i-ƀŸ'Lk1u1bZ1`Qu$I'wzij魗"-cF4"zf>)VeϮ^WLϪُg駣@a`}iov>?y]m/~|0dt2,[.'kn2 }ݍ>_"]#/t@'oYM%]]e+%PNmH}x9Z#s]]-ux?Teg)?}mۃ}}ucb;SwE{V⧟xw_5./e%СLݴ -; [qXdպhDY iQ,+_gm%i(걉S]#ɟLu]INCS,bWvsl2_sx7?p$ټzc&dZcer>IlZ1>&%_nUGӊܐĵ6 pc X "ZѲD2ZhV@F+ Z! -VhED+b"3Z1ъh%VBF+ZڧZ˜c)FK-h)-M4Erc Xɽfr1`1Z$=ƀhk&Erc Xɽfr1`1Z$=ƀh&˜c1-{cbH {"7L1,F0-{cbH {"7L1,F0-{cZs,&Eroc Xɽer1`1Z$=ƀh[&Eroc Xɽer1`1Z$=ƀh[&Er0=ƀE$//;Oյ֋;8TF ; X\(_jo0Ni0q\R)9m͌jݛgVⶪE&Vƽ}"}z j{iq_n|P -avmܘj`}Yڽw:ۊ9>F{ K`7\yI{Aӽonr\`*hbsQ{/ݵbl[DTas:QFoz2k^Eʊ1Ǿ7:։8>˘4j,exbl>!18!^8Oۢ\v]"|:;: :G?Y J,˰샬;!b#Cwqw?~sG3gwUf7Ŧh{&oy^7eU>ի}ۦiY;;o^]/.?qk{twnN\9;5g|hnnq&Ūtiv6y=m~6ymE>hEsӇ묭E_ccD/(%p*0w']c UCyB0ƅYir9Yx2 -#;膬nw]oE17&iYgS4mխQ7\EU!W0X -T|s+ZOun gl_1*qIPӜijy3~A$qp&e`&Ff"bBX =skv8e9n-fEY :x9IlW "qQvs/ROrLpF$3_HAxC>$wy/6u~/G;7jz"}=l`)J&hLeIdE#jWZ'ǛNtcNq6w<>hAW軫O:SS!,׮?%gi7> ptj7%>c2#vQOZJ \`i%h -n\$dl& d9V>n0el/4Gd(kzw0(H:˪zzQf$aͨKr/o4|`lve8:JVx1PM0nNxsq#cDxvq<4C/ZЕɰ._EQDendstream -endobj - -41551 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41552 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41553 0 obj -<> -endobj - -41554 0 obj -<> -endobj - -41555 0 obj -<> -endobj - -41556 0 obj -<> -endobj - -41557 0 obj -<> -endobj - -41558 0 obj -<> -endobj - -41559 0 obj -<> -endobj - -41560 0 obj -<> -endobj - -41561 0 obj -<> -endobj - -41562 0 obj -<> -endobj - -41563 0 obj -<> -endobj - -41564 0 obj -<> -endobj - -41565 0 obj -<> -endobj - -41566 0 obj -<> -endobj - -41567 0 obj -<> -endobj - -41568 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41569 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41570 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41571 0 obj -<> -stream -HW]o6}ׯCd}-.@f}HBg$W{)R! Gԙ#0,e?W /JL2ɺ(eEc=5u쇦lDo -Wv}T )X1YlFz;5}ǮnD\$Շͯ YURǛptYZYz7Xu3n7ODU9}?|ưV]r4O5WeRDi =-͛H&=1 '*'"Hi6 T!8<ǐc#gPsB} y P_ B}/ e$ԗP_+B}YNH1d} Xk} YzCVǀEǐE\+kZZC>p \c"k} Xk} Yp!PV1`1d -µ>,B}ZAH1d} Xk} YzCVǀEǐE\+ k%ZZC>p$\c"k} Xk} Yp!PV1`1dJµ>,B}ZIH1d} Xk} YzCVǀEǐE\kZZC>p"\c"Uk} Xk} Yp!PV1`1d*µ>,B}ZE(#\c -B>P}TUX -VmDdm#\TIb6z7iOm[m+^ƺYmM踽頷(KY{Rwnzf[>l~]}$Qף>q{t{n&v eji@@ep6o? MBDfEoɵ%Ola402IZj?{9TUr_6orY$o}^ "O\yZrr,`n -Q~660Gcl]}hi 0S"( ->kks]M/^/[#eRgX78 V7,O$LVЌVYT5myryKe;kٍ,J/ "L4ٷC8["S? ϶]6pn42>=nSkh?IEYi {wI#f?5% }lZX!Hu=3yk_4SgfVEF5ǥJ=,,#q2Ua+V[֎9/os HKiuۛbJrs}(5 m~feƃç';qU<#lU&hY+j@{S+E v2@yW<*?*Ѝncb_H=8gzu%?I6{=v9WHՆ^XۆwxYwiYh*H0ͫ,&մ8{6JQ^a*kT4ULQ0} *\?ƫem+|tG΋raolk"ami+﷚MÓԦ&٬"pR*]U"&Bp=lƟВ~Ϙ+̯As%& -J_˦ X/:iuZ t]JJ|{v%Rk%hq!+^N8'Zׇ\n=º<*n8п HX8&Tr?<2{ٝ3l&v֙Nn\ ZNg -;.WRLK;bw[PC6`X7zX;FO5Vd)/ꭖMh<5|k)ZuaNBE*%F#Vr}\$} Ί=<$D]Rk+cU[CĬ_CXM%r6Pbε]͌'r1"LW vz*{ar `dNg;fppnxy!+{OTsȢk9 Uങ N+Ax;o|: e@,. qX[ ^β,Sg1>LhۼwJmqzLt .BVC}"c yvQFvc5aϭv0㵚Z|?BY鄜 -(b(<}WXa -S+R1~hlڛM*U>^r?4`aϩn\3YwYg6Vn*) -42 mͲzG%_)4s8U$94"^qf{{wfo4&&/M_ ǧ=xg?9ؠi` -l~t9*7O1(JH?}{受v/ 0aendstream -endobj - -41572 0 obj -<>/P 1044 0 R/Type/Annot/A 41573 0 R/Subtype/Link/Rect[93.6003036 433.628998 239.759995 453.30899]/Border[0 0 0]/H/N>> -endobj - -41573 0 obj -<> -endobj - -41574 0 obj -<> -endobj - -41575 0 obj -<> -endobj - -41576 0 obj -<> -endobj - -41577 0 obj -<> -endobj - -41578 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41579 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41580 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41581 0 obj -<> -stream -HWmo8_A(,^S z^ Ѣpm9q6~YYp~|8g+t83ٿ5zWwz$6JJ~jDVyfT>E Q3Q;>]>,ټnX5Fu -U24*Q4($*U4Uaaau.-ix_|Ynŭ:4ڻ_GOu}fhkY&s)ߍV4D'[YnzݣLw{~T_jdNp\<(e9䔌F8F,9+I$aJ{Oic{-k^ 7½po{#[ -} -ܧ} -ܧ} -ܧ}g}g}}}}}} ܗ} ܋&cĒ9X#t1bIs,Z ՠ#p/ZAk9X#p/ZAk9F,^Vṟ@k9F,^VrXhcrXh{Z Z˱y`@k9F,cZ1bI#t1{ZZ1bcZ1bcEk h- cEk h-Lj܋Z9h-Lj܋Z 5cĒ9X#t1bIs,Z #p/ZkAk9X#p/ZkAk9F,^ւṟ@k9F,^ւrXhcrXh{Z Z˱yrX= cĒ9F,^}WBYVƏxUв@ -- JV*R - heB+ZʁV.r hBZ*V)JUr-K-Kjq.k@+Z JZZhi%rA9uYB cZ"ckX%@9F,%rA9`uYB cZ"cSŵ =Lj%8F%ro@9F%ro@9F%ro@9F%ro@9FW%ro@9FW%ro@9F%ro@9F%ro@9F -%ro@9F -1bI-хh[{хh[{Uh[{Uh[{!h[{!h[{h[{h[{h[{\jqXRctZ")}eiUx*WUUM >T{U̓/akuسE3Y'qܟrtxXvmAxYun.OTg'T|tXm鍛>fhn4&:Xzb`bSD~b&εay;o[w -DMi4Dxhܪ'OW:A9_޹g#4~Pn7c]4Ao;5>9>S -N0%#7-򨈋bG.vk(إc$A}rxSjR]ί]=M$Y Eش^q@-7NKofolɣ׵7eÃ]Z]v'b4?xc~,~}ҵ;mۤg3ޘY8'>_SYfIy;g[oGĽvSt##å0wR`)1//EBѩwPcn},v˲{>7Y<'[ݧ866%˵:L<?UGqjiBs.&N1^-q@_شS&-FN+WVRߡHiIJj{pwǙo}$%AkX&}gV]nqhZ]I;=\'&̻2%.t;=.(JL4D4zF3pNCb-`>RzAʜ>QU sĢy8["M% $>5.XWQN,P<@2ByQzFK R7'!jFmlgx ]g,1 -j+z`:cUx_Փ*ו2/Yb [)EW٪Xo@@M0S0kۏpҪX,+,2?RRPpM;5Mmeo~&j@#q@bȬ{ߥ)"Da&Jjx/ n5&MHɀ/ .d(0;ìoqq"얧_v4os}w+i|oo$FRXYQ'h0kÝ'@@_COx&3BACSs7Cbh!,yiHs1nAI#'R KsX-֥Db?myQ~w:[%jYC*j˯Rx;9ME -fA_%<4r YB e]5,԰IsVJ0. CW>Ǧy2ai> q2@]6:xfjӄqd(AEivKAK(Yt2ϺՓ6y|(ƹoQxLD3$SER@PY :*$ViKRa`?2: -dja >p>6pHSG/ 0t ,Rk>$SߚQH_(DB"a) \倡pnKH2%4 ܤ_:ᔇd cP_VNSˠff4*;}:iT@&dA<=$E<Ɋv w]Ap<}RSW9"}00+ .r)BH[FRe>]_&Wc ^י$WU!hzn|%0G3j.{]O4dߣ?O@P'Z]>N|*9""Y199b¹]ȭy[.Ar)8Z}]Ol'pI8 m-襡`FjʍG;ї$g~mL FfxcެDBv:j:8áTp}f7)l(1 9*i6rVW ˩I}ޔm_ Y,#/ww[q}Ԯ/%}D!]ԅRgCs>ŕ5GVvĀ<M5)]hF@ K a$wp$ -҂y0Fڿ̈>/P 1528 0 R/Type/Annot/A 41583 0 R/Subtype/Link/Rect[396.09201 191.718994 519.603027 206.699005]/Border[0 0 0]/H/N>> -endobj - -41583 0 obj -<> -endobj - -41584 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41585 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41586 0 obj -<> -endobj - -41587 0 obj -<> -endobj - -41588 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41589 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41590 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41591 0 obj -<> -stream -H|Wko۸_2*CtwmS4^E!L֒4 II69)FCqŻ~xsu*|ugdĊr$Rdtjw,~*X\WrUoVCWmZ\~˃~qZ\`u(8( 8V"rU9x} |{!XIe-%m/h 6{Uf?ϫ?eG!'PxB}O >%ԧPy3B}>'P{ B}/gaZp!Wb"\bջ|.,µ.,BZNŐE\ ׺׺k9ZCs-'\b"\b"{k] Yzϵpp!P﹖u1d=rµ.V/ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d= -µ.,BZAŀEŐE\+׺kZZCs \b"{k]^Hµ.,_p!Wbջ׺k%ZCs$\b"\b"{k] Yzϵpp!PVu1d=Jµ.,µ.,BZIŐE\+ ׺XH׺|.,µ.,_!W_DEQ '^\XS( ҴVc#,_2!x^ˡj~WW].jYe-%mo1@lt]V`֭^aEŦ@U21ͯv -Z,mZAv[pؕ'eJ)nG6|W<`3˽%> -V*ͱk0j]Lfik%C;)f~T G wOrc[`>,($ܶzz8@UN_î=\~!S?}ZAiE|_##Ö6e3E L?!;i/vJ8bC\}=Uc6`(@+k -B}WuP5//H$i n[=, /զ<ʩ%2X,s-38 e#8n` (Kc/KdVO.4iU 8|&EIed'x&r^Γ -"fpxjH" >7+t G=_Xo?҃6q6n}.wdSN*ǔI9@fO#4Fso,/ +M{dџR},מBvaߙ#,ܼt$Jl#}k}I3 jW=5nxlU骵 -P(ьZa$='O<[D $*ޠ4LT*lFM%݆?=uFDO0"2#eoRBz3,txD.B)aYrz*/N -9,NE@ص;u*gaC=yg$F28[9i*ҶF(XaV8^3'.kѝa;deG NU>[ -vEj 8j# -V_R*ov̚38KKt܍  9u]ɉ2Fdpg ܜ}_'Y" ^^t Z#`j@z em?A"'nlqKir[cd"M''=4isf3~җ~ś'$w5:ukū"\v[_G\٘h?9kczJX3ltya6an3ED4xwnOFCh -K8>Sh˴Z:ey^c9V(Ժ/ed,J%LФ#~f?3Rf'S5OǦuߎ%)yL8aRppr eR 3/ kdU`JmcԌz}۲Z0B*ˢ,E f WU@ٲa=L}\}ZengN\9˙{8Yx2?[sNnUeL_o3qU%u4\eR cR,2ZQZߍq @;ہ{(6w'yιݞ]Gfl21*CԧAv.LB@UEp |܊%z44h;_L0ztꯔ(YK]{ -.=T;T\fvȎ>\]7㷿_/}~ã|Eqd**xUހI#e@jv##W8Lφ$<Ɩ# O 67l;xO) -=ZCQǦMpfX@n6pK)ξgGsyw Ywge"z6U&Q,5yG-)RdP w 9 n5Iܞ}3CqfI*Tpz-a#ę -m$ -p=X~2-#n=p`AdeD -Fp{ p>ذ{t=]RCmxRAEFv̀[f/<̯YP)}b(fAλXpbrUbƒՃ*ą6"\Пp7-؏5x$[;آ22oxiB[̽kIPI0yK; fiP$EnHZ~~x˧7l/qZ pendstream -endobj - -41592 0 obj -<>/P 440 0 R/Type/Annot/A 41595 0 R/Subtype/Link/Rect[93.6001968 663.229004 414.755005 682.908997]/Border[0 0 0]/H/N>> -endobj - -41593 0 obj -<>/P 440 0 R/Type/Annot/A 41594 0 R/Subtype/Link/Rect[93.6000977 423.229004 164.940002 442.908997]/Border[0 0 0]/H/N>> -endobj - -41594 0 obj -<> -endobj - -41595 0 obj -<> -endobj - -41596 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41597 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41598 0 obj -<> -endobj - -41599 0 obj -<> -endobj - -41600 0 obj -<> -endobj - -41601 0 obj -<> -endobj - -41602 0 obj -<> -endobj - -41603 0 obj -<> -endobj - -41604 0 obj -<> -endobj - -41605 0 obj -<> -endobj - -41606 0 obj -<> -endobj - -41607 0 obj -<> -endobj - -41608 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41609 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41610 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41611 0 obj -<> -stream -HWmo8_ -*ހhvq5"`l&V+K$Ǜ3"%Kp|H3!嗻?}-L_}ۻgdr3晈Sv:6A>,?VCߵuU=t6g>Mpa"d)(a$, 7 Eq>x wcޅ7oxD4e.<:p&G A=>"9dI?ߒpbIW:)}L`X"!*%P.w|P`=`=`/<`/<`/<`/=`/=)>اcS}F<>cs}N=c_K}I4ѺC պ>D]պ>D]|Pj]j9Zׇ(ZNPCS-'TET պ>@u}"{j]j9Z(BQ{OPCS-'T Tw}"Tw}ٻ>@u}"{j]jZ(BQ{OPCS TE!`Vu}"{j]պ>D= -BQ{OP;PCPC!gE!`Vu}"{j]պ>D=JBQ{OPZׇ(ZI!`Vu}"TET+ պ>D=JBj]|Pj]|Q>2.R [Cvm6,d)`8 7 zͿfAzb6oވ,ڶjv19y폪y6UۘFtmd&4f)w9Ԓ8in'UkŊrm s"Kf22/Tٵ{ګqM:Bc؃$:hvCNS (ЧYUUT/cB*8o8ƃ| UWύ]Lf*K3ۑvD&Ș%1~ȳI,]!;oZOc_haGc,ټ@ȥy|pGb^/M>!!cw=ʹ-q1W+KECe~0Ctiksb\;D3gPF^[\j&ch6ڣ4:/:JD)xC<2X9d^L'5&-}>0TNC=M0>e Py(.DO[HwUMŊĘ[;MhNym'6_ls{WMkC͡ZZ7,3@0A OFHdY :qBF GhT5J -~㾪lI`(s144n/}})Na`ܫc9p=S4Nrnn(  K[̴ݚ!rXcfVyv4s:uOQ`hL܁lEeSɔ4K-]ELmHs=]jBd~va}lMA<1luwL@Ƽ湉׎4[>#\EՌ-֤/yp^ 㭏aˢCoj \XُYI9`o&jpbUPjpQ,WHOhPż,X1hNIت#|fWߝ<\+zs1.ۉ7s,M$UH2_q;CT^3}n~@L@94s|x| -NbytB1TsRuz$2"mOqĄS3SQZM{zە'8e~S]_K6ѯ̋nBJeazԅTqRĨK=J>fDz\2-0:޲"QtUD盽m˖ⵇ6`{ݻc] WCNmba{wΆ"fY4g`q! *wh,(V(z7,޷ޮ -'\d+ -Q=߱fuЖ,<31Xm zϯ16DxmZm{0%q²P|p$lOypЇ y,$KS̰ ]差/_HsR 00{:].p߈wYѱ½cYE6U" ! Rj0R2*Im{BL#Iy)L۩#z.8OX/(GQzZ|sޞ/Km][f5' }7Jdw;`׬V,gb9ojV {,BA^@_w4"" s;:]Z#lq1Z#b G4 +4!B#cHidsFBFP##1Hȕ£$@DP,`elg%+`e l+۱d UCJhzXw{(FbI-7^&O8AOhÁ'Rنe67tZ;:B~Nj\5Ew\SdlA; E\S.yQi:F !"2.Q!dsQ!$DBư2"bTfY݄ "42aFF\=i$Dhd 52 #Ȳ/HFBFX#!5""5F c HFBFX#!5""5F c.9U [1+ =-ʯ؛%0hݠ-z "ݟȷ|LϝztvMA/_Q-_X|m}JKϡ/4׻iL~k+]X-hdDx -Wh}o#Luzλ)Ow )~Z>Ra8 /qy~w0zx)&/s vs$QQ6gF};}ZŃI}ycƘ@zzCEIcy5CX__% ]ҀE]qăq=ʹ2شy}:O\%?o "kyendstream -endobj - -41612 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41613 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41614 0 obj -<> -endobj - -41615 0 obj -<> -endobj - -41616 0 obj -<> -endobj - -41617 0 obj -<> -endobj - -41618 0 obj -<> -endobj - -41619 0 obj -<> -endobj - -41620 0 obj -<> -endobj - -41621 0 obj -<> -endobj - -41622 0 obj -<> -endobj - -41623 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41624 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41625 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41626 0 obj -<> -stream -HW]o}篘Z4I6 M"Vv`m3HE{IY:[13g !ŋm~wX^ -tqg6JJy2CA*\|*7E_}+_7eV+VK2XZ9L\堩8Sm-_47i#=.6Z[&Yxvy8DZǨfĠ62jt>_{u9Vk686 .SN992Őŧ,! ,]knb2{a2Vpo{+̽; s{{g}'O)s -S>ܧ}&ϘLp1>gs=JKm`R Y=ŀ%b),bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%g5Bk),=kZK1` Fh-Ő%g5Bk) Z!R Y=ŐS XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` Vh-Ő%gBk),C -Vh-ŶZK1dqZ!{Kh-Ő%guBk),=kZK1` Nh-Ő%guBk),C Nh-ŀ%bܳ:C 6Bk),bZK1dqCwGy;ÿ6x .KZ@PQ4Zn۔u.ת{Օ^w׋ /K#E9~yv}[Ru_qX{|?/>/S 5oz8Oa辞Fo({򁤺]g? >Mau/])esZG02 WͮUEޔ-LY|+c[~]wM-p EG 6lK7 nMiQ<V}쿃œz!MY6}sҀ$dռ/߽}3b/k*O͘ضMFmk۲>D.6 - nwz_z.a8CMW6$WacdM)6E5.S8 %~Fk o.W]}m͇K; ir3478ʏU pmOo-\bw˓oh8mYO 7^Wc-+qƳPu6UN[xbцM'm]`(8n|>yOU>{Ҟ3VjWV@I9||ȓSڲߵ~xXk_2a+2A^0&sP[7CaH1di9A1-'h9-ϴV"h%L+ -Z)JieVƴ2A+cZ3\ʩŐŵ(,-hi-ʹeX{!Kb7B),A-{#bX{!Kb7B),A-{+bZ{!KbB),A --{+bX{!KbB),A --{+bX{!KbwB),E1` -{'bX{!KbwB),A -{'bX{!KbwB),A -{/bZ{!kQnEt -_- -^g,<&8~U o90GeYtbf>ݔ>nmYETf.b$IHfՇ04ı CwZ[}m.>/ $;U˕:(N> NϙC52׬if<ٷUDY8m͙s}U%I̯a=<=Y"$q¼ -(Ѝ?=&l:5M.+c!&4*ի޻']ÃpP>[i gFt6NzdzGVq:oET78u%:T@zC&Wgݑ?'^k_&1S.3ܩ3|\Ty=oM0?g{|Vl,1v 33yt6lg QgIq2pS)bMͽp=Oqv(k*S);D#5ueEO$WO0VD9 Ci ` Ӥ՗U#!;`DT$gocFQLLJ\pOWӛ% -Pɞq6ߎ_re-\\LG DJmEz^ߕi@MsvN2fk" `X|u\ X3ܫnq'qk9c̲~e|g|VC24x@^ܳqG%hJUmTsH PEɣA=H)Okspqflں?vړ1XC\opJ}gTo_cendstream -endobj - -41627 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41628 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41629 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41630 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41631 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41632 0 obj -<> -stream -HW]oܶ}ׯУ|P!mhʚUJە6}gDIΦQ!qH?!;QV*M]iD"7?6s&M~zhݮ;6{?mzl>OoӤ*<%,"*gZ2Mצ7ﴓY)mzZ33oo6q+X[g]̅jB7jSbN_S%__KzIiR\hd}R+.TbS&Q PJ(bCcPR1yjf눽f눽a؛a؛a؛eۈeۈcػcػcػ}ΰ#9> "b_0싈}/"%þؗ 2b_1쫈}Ű4R>ьj Q1{jZjCT̞6@16D1#jFԆ(}ZͨŨŰTRj5ZjZjC>RfTKmbGՌj Pj Q HQ-!aV3}bRb(FԆ=!*fOmbTKmbG5j Q HQ-Q-!a06D1#F(FԆ(}ZèŰTkRRj ZjC>RaTKm26D Pj Q1{jCT̞ŨŰTkRj-ZjZjC>ReTKmbGj Pj Q HQ-!a26@16D1#ZFԆ(}Z˨cTKmSRbԆ}%>yI6Ot(9t%4ϫtOSoӛwZf/ݫ76$RBtMӵB=d_$(dNŏ6EigD^|KsZ\݋Ji˝RnZiE`[vM^Uf&Twx#צ`}LW!W# ™̘kQSw  Z#Y dqXR,UqdѰ~.g5~{{8=.a; pHirօ>fg>rkJnpkƊyAQ!q6cqm*2˕teq|NHUg؋쇗zg~á;ӄ}B4 y~S* WBV[f|[vN􍪾gp^}xn W]LN;~g?ȍqqạ%h 7h=7 lD&ei5`0O{iR͸B\q,L|ƥ}0M?O'PNx8E:ԔTJ7b C=Df* ӮMqmK9K\Tֹ(:c'PD=sxEvu~iiL8<ߦX!|KsĽq^l&aV7޲aRWMI;;V5Om=.|nyȢ6OodzYU좔90%TKb2^Z圄.(9W--aϿ_=B8+E]\ i+ai69fRX%SU(!*)jFAg K?S7YӡzM_3ow%R >[yYH/jӺ_NƨB`62ShgfKFᥭ~^S4 -*ۅ-BF3$9$ byKļ*M-E=kMZHl]{"v(.s7_HZy4|ௌ-PK<\bERrC6/cP_t~6L P)珕0hLnzFcK95O> -/X xߖ6/x"6]KԊq 0^;o l|\_`z| ;v`b9FSH`^iH_=){G*6BvvJķi!4un+NZʑgr*T -ar(dkV-,?yeچz¸ t޴s ̖ M>Z/"bf+ =t͡PMצ!OŬK] !iaf<qn0]&ތُB_<Pr}8nrߎ1wƊw\n@'/ԫOmntgYbz/WF;@iA*iʀb_vfe.E Kyfl%݆egP3N8Z@yַskד%%9 jz=:O I]eY:։(D*Awsnv}[?Us\00-ɔEgr2Ta!}U2ab?]j?dhP9{ƿwU"LDҮTz&KP<>:areP2 -WΤ bV6mA1i.+rDͅ"mŇ gQH#6Pwj`28]xPhƞDnݖ }@ ":J_v}%,eypB9s>ƀl@^*0ĞG2M ym6>LtV@C_iE" |c ;8s eΉM3+֔zQ6nA(G3#}OXoZ)YyY(_dӴ‘D郁WEd,"EU(v&gn*5 63b?UjhW] -"a>Ĕg՚f+ی^d90.V0IH7תޯhd|z&Nz7סġއjؤXpKZA nSڬ+>"pHb5H}֭<](@G5-mq'N8QrRf$ͼЙO宯,Q 16~6B͞KĮ*ہG֙5h1#~߿GyeݮP(>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41634 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41635 0 obj -<> -endobj - -41636 0 obj -<> -endobj - -41637 0 obj -<> -endobj - -41638 0 obj -<> -endobj - -41639 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41640 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41641 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41642 0 obj -<> -stream -HWێF}W4}þ q "Ìap$ mP'AUHdUɻ #ffoE۩۟U~ϯ"5N%RFQm|Tu@JW]UWͮi}ٵFUpQ:ZVi PO8:D1d(,9`J57O1`a0Vpo{+̽[ sO s>'}*OTp2>c3}g9s s =s,Z-RK1dqZ!{KH-Ő%g5Bj),=KRK1` ,FH-Ő%g5Bj),!C,FH-ŀ%bܳ!C>Bj),bRK1dqCwO1` ,VH-Ő%gBj),!C -,VH-ŀ%bܳZ!C -R Y{Z+bܳZ!NH-ŐS XBj),b),!C ,NH-ŀ%bܳ:!C R Y{Z'bܳ:!Z!KpRR Y{Z'b RK1dqZ!{yr^*wJ*Ȫ>]UJKoO?Wuw_f%]DGF,?>MM]j~Y]P5Y?^q{ 7ԓ -/O -'au o,/rcZ0DJV*hL+R ZiVδrA+gZ^L ZjkQ Y\bز -ZiiAK3-#he-VF{[%i uO1d ZP;7KbX)vn3,%=Ő%h7BS@.YT -uO1dq-a'hBS >Aսb ZPvNbuo6j{+=ŰQX[)- -uO1l-VV{as%hBS +E1dq-a$hwBS &Aսb ZPÆHbu:{'=ŰX;)M uO1lb-VN{a{"hwBS E1dq-a!hO~{??{8Wpn!N/-#ca (bu[yt妫{UM[ASTCy_5H{b~辿9&$Jrs+S5]S҇ᱬQsި1&n9c[,awl3zӰCnkƟiVi%Ҍs:r6].;K]-xBVuWS-6ܫ˳Hitq *kׇZqP&{-j ׀IM*rTj7*#* 7\1&bc268z>(nd\6mN[ݸոeUCvu ߟu;]NMO[ KxjJ(78{8-)a/L0f&1?塨;([[˧ixݕiD>>- -ONNz0}zR%9RsvC%ynJr^GfdPQO7]J X'a / jY]Iȇ+ -U93>Y@!j8?͏NuRx5G)[akP={gws°tN_ i_d+?rYᥛB{opڻ~[T6p?f.K.8\IL -|K^ap2\iV1 -gŀ]s; VUq+#(əi:]TϼMni@S=^W,;Fx,9dC%li)x} O{<<#/Xk6c]3O3u{ͬ;:>[ľmi ?D6)x#et}شu F1dyŴ嘖Ji%V´RA+eZ2Leӛ6E}~ňnHM|`[(*XRR%DF@RU{=wΙ(傕V.X`UV!X%`UVYf$Y>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41644 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41645 0 obj -<> -endobj - -41646 0 obj -<> -endobj - -41647 0 obj -<> -endobj - -41648 0 obj -<> -endobj - -41649 0 obj -<> -endobj - -41650 0 obj -<> -endobj - -41651 0 obj -<> -endobj - -41652 0 obj -<> -endobj - -41653 0 obj -<> -endobj - -41654 0 obj -<> -endobj - -41655 0 obj -<> -endobj - -41656 0 obj -<> -endobj - -41657 0 obj -<> -endobj - -41658 0 obj -<> -endobj - -41659 0 obj -<> -endobj - -41660 0 obj -<> -endobj - -41661 0 obj -<> -endobj - -41662 0 obj -<> -endobj - -41663 0 obj -<> -endobj - -41664 0 obj -<> -endobj - -41665 0 obj -<> -endobj - -41666 0 obj -<> -endobj - -41667 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41668 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41669 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41670 0 obj -<> -stream -HWmF_B"OHD b}N,Z 3]N߯yٱtJtO~ɯ_PZ=}T*.˭*rMZL5<]5u;S6ra&yV'\YeTH8V*tU>hf۶#tjM>ԯޅՑ^C['YszϛYpc AɖΑu3#U|_YU~JW*\tIUR#`\$UJr*1 Lj%Xd#Y #V,ice{+[ -w½p{'{ }p >9p 9p p_p_p_%p_ -%p_ -p_ p/:k@i9J,h-Lj%s,@k9F,cĒ9Y#p/ZkAk9F,^ւr,@k9F,^ւrXhXdrXh{Z Z˱{Z Z1bcārX=" cĒ9F,cZ1bcEkh-" cEkh-Lj܋:ZEh-Lj܋:Z u,Z u#p/Z@k9J]~}n۾meNΉl8!}7@g^3uI_]j36K:iƴ:n|1ԵKbCt>#>Т^4\Ig0֎g\n?sNVolfELʲ`L\ 1Dyh۽vOH7Gg]Yr\Cb\ - ;ƫMWp$Rda+ǪC=TۮT$RlÁ|v7OThTxj7QR|jȏGVuфI.umje#x׵:I /'yCۘL -Ado&Nḯldb~86#p Q{:yhG,qaiT-})]D?yiн 4n?5=?E;cRDrhW; :/ J)F -JT\<Y9L;X\Gh9? &OӂBgFt6w?/uo2赌Rrp.Bo+Ç.)0_*1tzwke%Qv!)@O"t 1JzѬlu4(GyЖʘO̲Ct/@?! ҔU_,REXa[ -~BXʞm?kMP\s\f-f:עY/B$BݻYލ9]u.dXn|"U-ɀ\q й4"$o!%?WgC}lP593g,lOg!'U+¡T߆ccһZU6Z `$]\Mm?S4, +E94ʹ֊YJdL ~DEzx}FGou 篟O!lendstream -endobj - -41671 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41672 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41673 0 obj -<> -endobj - -41674 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41675 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41676 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41677 0 obj -<> -stream -HWmo__d%z4-R>L{uYI[I}gHJ%gPg ןab?pX~?A"d.YZ(,Dr6w1{ -ְjWM͋zi4458{MpI,aǠ 1+Y >Yl!W Q>[&DT|Gvq8|wpe/xȤXwIdm4I, a1pB[?" ->/1{`A)'. İ ~ Ŕ>t0I,%ا`z3}>'`{s}/Ǿ `_zKلkkNֵ!gEֵ!gwm"TET պ6D=rB Pj]j9Z׆(ZNֵPkCS-'TET պ6@um"{j]j9ZPkC޵PkC޵!gEֵ!`Vum"{j]պ6D= -B Q{OPkZ׆(ZAֵ!`Vum"TET+պ6D= -B $Z׆(kZ׆(kC޵PkCS$TET+ պ6@um"{j]j%Z(B Q{OPkCS$TEֵ!`Vum"{j][j]| Pj]| Q>2*R[ 6כ g <I,JipTzn.6_!]8HipUL3h EReLϣ;O]||ZE腎7FMn_uvPثO/^KsmF GfTtqqnbM7]bEiWq'lQ<|r8zo;8!8G -36vLLpܝt>w݅ ˨x1{;=ݽ)K7+~`pW8^iW8J.^Uv}?.Qr?]-L\19"lqZQay&$rTHfq?T;pA w88uMdfڞR8HS̍`KZRxՄ'/inA7qZqDG-E}Vü/ݼ?X)"}ܫm{)iN[e˞øv|!0>~~<ʄ6%<4\e߫gQ b)0F̆\X`/uJap -KEe &'(8^B. vQD"KVlЂF2ucj_gfƳ9%6((o\c:f7V4G~4{׿: {5jvU[#8 <&R8S*Oϭ&;b ~W6=5P'b 8ɉfv;oݳVP4^( ALݕRZYf6\WΡGzY:voM;H-}A2?}몣硢VՈd7"ZjBU~+\Wƭm4bH采:{7sŶ8[VO}pKoS3e'8kalWB/gA59х} K7rWUHPhXs0P7zvg%鵟DR` j& \yV9[kU[s;X?"YX 0c6թjqMVHꃈȫpño>$*gVGkxUf*<=@/ PN>X&~T<#nFja2CNAp0S\c3@Յ tVҖо8_X Q +%*@Y]eD躓L+N5DFeS1UPAǸ$#pt5 c:h.v-[;gǶ2A6* J];6P}yK]XJsuVD]Ʊ" &K ҄|oGDj3r_H`oT1U4WxߨA6yf݀K$}4Yȑ0Ǻ_hF3Ҫ}]'l,>/P 774 0 R/Type/Annot/A 41679 0 R/Subtype/Link/Rect[93.6003036 370.028992 223.632996 389.709015]/Border[0 0 0]/H/N>> -endobj - -41679 0 obj -<> -endobj - -41680 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41681 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41682 0 obj -<> -endobj - -41683 0 obj -<> -endobj - -41684 0 obj -<> -endobj - -41685 0 obj -<> -endobj - -41686 0 obj -<> -endobj - -41687 0 obj -<> -endobj - -41688 0 obj -<> -endobj - -41689 0 obj -<> -endobj - -41690 0 obj -<> -endobj - -41691 0 obj -<> -endobj - -41692 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41693 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41694 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41695 0 obj -<> -stream -HWێF}W9yqb,cH IT$}oTx]NjNwӬOs￿/"ᇗ_%&LL.SUiU\&CR K4mw}n_ԭS*Y"ejh8Huaϴ*tOzCz"cՇ՛,y>mj))r鈓*yG7Z`J &L;<)4UQ(&+qg3 -z)eE; I>&M(s`6>°K&Za1aX!"T|lXL b7+&[3(* ^.r(ATlUCUyeȚۿֻ˹ܺOnBJ ncf yǀ걵$180svNWuvyٍc3ᲿoOn< ux2gsQO_AVfkH<660kܰH?=> Xw-_O/C@[ؙ?/}KL٠U F -"lPpӤ4wf7G`jEz<#rӾG υ̵ٌ۶ۺ,\J@hc-cZ傢+WN6@\f9xD5>&ɍƗxR4Y5;UWqr&.Ni(ݼRK!T)QcC\)FY&4 X϶J,ץtME/];7wnj3KoqV1ֱouw_d=:|u`f9(0bC+ -=`Ki]yOxa;ZW-g $*Q%*еT&,n`KA4am-B\hF͙h8Ԧ\Yװ@/,sĨ`Y 2C7šUE=?TT7*%!q =d.P?06|.{DܷS uۚK޶m⦶ӳU¤vBkaJ"i#Gs<:Wл1c/?{F6Vb˺(v!ۜ37 n{|\;ۡSg ѺYU{~VJð;\!$p9+Ŷ֗>u6p%TRxs9_zS^MЇWĻvpcWw?y\Ou\ -P?izflra1r YhmHZs!,x s9/{1YA>DfB.P %v۹Yt+|aJڭG=Ono~Blx"ҾЮEa3gp0ǃDB|gssVML_\B'ZJXCXJ$9[?i*?Fé|ɘO"EUK"`ve-r^ZC_ON?F59 E@Y wަ^:5q45>mRS=mُ^c2w!j|t6RKq õ{lӞק8@ ym|; ¶}X@yV;xFR2!`vm+HXuUu{{w۞Th4Hz@C SόfCf W`94di7a\LB%W{=<Cq%hj :D[eC#=$ntn<|} I*dS+JZfY`6$|A OP"'޺fGbǢ֔{淭+e<Z`~Pa"ۓlX j B7╙E;+mbeӀKmG2Y s;a΁hHޠ«\ҳt&ߋin8q1 d<]_GJ|g .f AB+媳"0tsI\7kj"8劥 Oj=DϺFճ; ~wfu\֭λzMЌnzIİ3P8ށtOEp/M.HOMHO#!F6( y9s8h6T@3sB9/!#N|b8 -E2_() sPàZmy˼Ȑ NCg f0|!ИFS7 9/O?T -*hon~vQ(|_Us{t!Y'Ґ,|Dr30@V "È2B5R~'Jx8"SlWOohEYtqgV^k'~bu0t*j nkn^Zly׳xZx\-%<<< I&BMzX?^\Ζ|)L SXB3`Nq -7*T ))J+|3qŃ+ʦ {D[ ʔ/%ȢgȣSjpsu}}s? 4 @nqG_ϟ.XCTo0)Q'Wek?+eYZXJY[W ^HIc-C)zY˽'VZۡJb?# >VapApϯ0p2ChRáU͟*'CzɥU/tnn>6endstream -endobj - -41696 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41697 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41698 0 obj -<> -endobj - -41699 0 obj -<> -endobj - -41700 0 obj -<> -endobj - -41701 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41702 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41703 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41704 0 obj -<> -stream -HWm۸.A+Ib.A\up@7A]_Ro&Ǿ+DCr宋_퇟4~ѿ#71+T 2dZĻ*=Fi񸎣TToMxWG7Dn͂1@469<-E'wղm|J4L]}]2bNY=x]}PN#4c1p_-G?/q >Lǘ0wK|5WqddH 6O .2ǘc< Oem -6@q<4sm{{{{{W{W{{{{Y>#g`s} y `_  >,'DۚHm -6@m -6D}6D -B Q@PoZ߆(}ZAַ!`Vm"TET+6D -B Pj}jZ߆(}ZAַ5$Tm"Tm -6@m"j}j%Z(B Q@PoC>P$TEַ!`Vm"j}6DJB Q@Pok"Eַ!*dEַ!*dm"TET6D*B Pj}jZ߆(}ZEַPoC>P"TET6@m"Uj}jZDPoCT޷PoCT޷!*do1F) MtnyXGRj/1O->dYe&^4Q{}DäY*FTłyg\0^ G^*9Ve JɡW2t]?€WwZWzx뿾)YtДtd"5#ӤEʲtl[>l*G$\ALu\ \NC@FJ9iqynm:w4OJ/R?۵l#$De<6n89J8SrI츀zƹrYrꋔٶZ_,MØweOozJAԙ}"B2PjwMټX(ߟU,r>f2fלTVU6n{Q*8r0g t GL$6BM3Wa mS}W5{)Pg`SoK^ERݷ{&/~.벫V. c=eUޖxUa5K== k{daRES, ֆ]*Jx \M\,С31A\E%ՌI>}|e)z#>@㏮$>._I#+9HB(n0sטF%ev/ϕٲh[ .?\z#.vJpdFwn+"fJbP;gM7&nhCSmznTe8T*onyQ)gMʰ^ab O+`߱1֧?+cd *O4[34D&t tq=U1.\+՟kg[vGv:<ٮrǂP1YTAPo~l]{l }Cyڦe:gmi`@|>X.lgbBau 0-Wo^KH̢BڔYrrvc@on*'FQn`GY2Dz}+~Ҝm'?㦧Ks}V ~xxih7>{mǞ2޿N|`|ܝ!h{sYѝPPD.g(>oA{vżǽ-m ӫSR't(,=W x?4M]:R.6!'H;x߃A%1|vorq.CBPS~Hs}bDw?P3]O뒦K9i/D,*MzmgIloÀvhbv|r1Ad7~OKK{{I?.25@S{oLQYH`8r/?=&"#/1E<+38A*I'Q(37me!4ПBzes  V_Y""GYRhLhDpY#r@ q0e'w~C8NH+ 8π kxDDa,J HS153d: WF'"c=c'%Oy7IyF.|W[k||tAŐ˩HrTh<rco'r -Z!In޼X\_B,2rYf9 GV3z!ʕ GIpGo>+&EC\pɷoifCP&dpì6V|䵑htJG)uKy%_媾d6^՘ȈڄRfeØi̎'ei2‘b̎+:>KIQ.3Dr1E1y@gΦ$_/^5i ¶7bp< -ٳg>B1 `6"S7T;=HTԇw@X7,',!8J͐kO\PvF#jy_k;U4q"pS|Hݗ_kwSlw -\ʃ}vMNPs}tbaAsLBuNC`% -N2܋~%PwI28|[MtHA-  ^,IǶj:'~G&U?(/14kޮoLy86{='mGS_4Xx& /8/vjJHo/_; oB$VJ⇴J1nnˮrˍd.$ˣ!xg| 6:~v -:4ANǑ"m,ujN4!ufC6tR(A 0hF -|̑08Ǯp0Q4K<'YNeRޜ|WͿ|[%BA<&` - p,.G,b{22񳈡;eycA #}y Ok5ڊ1gZ +YwԿ%6Lv$iC ḻE?ҪԬPf%WR52BnBuy\tՁ9PT [i SPikB6 -nXp *hPP5߲ůVmMn 8)tv5\^{vc0:uLjF껣OtBA뗿o䉘!b<(@߲[AH˒E1sp \ \%/vR taP[/ $F)xqY > -)s+5ѕzʓeaPO!wd8I*{PTEWȚXtn)~:Q9cFLO+ .q8WFXr.Lӄ[K`u$h| 9LbHo.I/hZ^>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41706 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41707 0 obj -<> -endobj - -41708 0 obj -<> -endobj - -41709 0 obj -<> -endobj - -41710 0 obj -<> -endobj - -41711 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41712 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41713 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41714 0 obj -<> -stream -H_ܶ) 20q{YńkN3Z{Ťk(k@1Z$I-Ÿ'LjZ%qORb-Q{Zͤk@1Z$I-Ÿ'LjZ%qORb-Q{Zͤk0Z{Ťk(k@1Z$I-Ÿ'5LjZ%qORkb-Q{Zäk@1Z$I-Ÿ'5LjZ%qORkb-Q{Zäk2Z{Ťk(k@1Z$I-Ÿ'LjZ%qORkb-Q{Zˤk@1Z$I-Ÿ'LjZ%qORkb-Q{Zˤk1Z{Ťk(rVa+-4ywt7g+|^^ 6w"L@Ƃ䅋Vli|}A^lij< fip<'M'{5Pe2Npw?ݯ-^O13Gq;ӟ_ Ub}vxkVFV{gM0ܦvWWۄ| KY{ՕY{_7*gd99a2}>j.0˶2nO*<܍?+W=Y^4M=sLBM`+O((ewSc 6Q+NjjQnybA6 -͙rm-><~]W 7ƻ"JrnheCrO/{(=LK,P,L/5*?*OFԾ*^NqC2V+ZЃՂVZ˫U,zM/-)v^V~{V~cPvBufji15ixJCB܏>7, ck0Ԧ)[eM[=]{zzyQy~a^ ԑΏvS;7 *^q.W~CZi?3pf|;\$O55mԀok}XgeT M j>CG)7cvnx@U>k_V\^srOV\mޢ<\W+_7+Mm#Wyϊ6[o} |%ϗgz @C@ydf ݇3ثh>ŷ?p.?|ݦ]TPg@bX g8@)cUɏ@;5uWf@JXB%ej*`PY ̊חC\O`4gp ϗ &d9#s/Ϛ2FK[b{Yz)VR>3xq>Kmȷ?OxzՄY 2kEəXS52,g@Ur.<ӳܶf-*>Z>IE;,"qV}{.ZDf侞+X> -w*rj(riPnVCcDS ^ }ՀኲPR鞴`j(15$` 1,C R%-EjB€(D)GH)2RYSv]Pr -f*(DPR* A +OHhЊ6ѓmDZWp,;ɺ/r*,Z=;RwUK-լz-r-BN0%77ԽؽsԽؽ Խu}9VT9 kJbv=JE^y^i~\GKJK[MK)ސ*޶\4ܷ7Es}s5{&ZJ[*ꮰPuXQei )TWh(H%Pe^Qewo)ZzR4]W0SSS` ''T9YJ+)rrⷔ򘪷K'ZR -Qa]|SzCjrZS=E-4ʍ#+N/ÅjV-::>}&֬Yc֨ iWEe;Qjk{?濩\1Fڙywt?$>ӭ -7w?tC0 JNeK =*_PfNFN~xm|<:kK1I @)P`(466ln=ٲƳH<$CA8bΉ=%4qnCBI.|w4~!A׋֐IhBoiVVSv3*~EEnx> -gkX'ÆI#d뒓|Ϋ"JvgoFh Ɖz|4 ា^0ΤTHE%EQ~@Gsnd+3 ~~입'WISdN&/eQ\ T*f޻~ytG9ϋT!74@Q*Jĸ|ðV`jY)5}^h+Yi+b0b4r/9K*\"I1&$p_oD=g̃p.FE>rBE2䌭tO(tJGΨTtJ] -}[),ޑ Czl)I8U_]5La fu)n%? -C,}{hŕ'٠βA0 #\V`ƀG x LhGhb3W^72E+'BWW>;[K/@[Pru$u@Y]=7P`FWzq 'tY tmJ!"tE5wrg8W+K}=k:(W47ʭ_JJIb4{ myhVe6@j 6ذue=5&x?&)% }IHnW J[t n~/-C]>BORJP0+96^twc=CeDz:7vaA&PKbbwO|fUU/f0Y;z~lja ~UeLINz#=Jr8I٢J{`D/⭄GU(wBenP\X5]hN -r,KM|߿z8안YǟȃH#Hb=`T-PAN;]guiɢ V;:kPƽYr]b@GCu3 AE)YdTR~)%W^b&4P==B -?S^|Q͍Q7a+oaQPѾ*R%W]}(h%KsPFE)#aBAp(iqǼ*Eo>}ݛ̇endstream -endobj - -41715 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41716 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41717 0 obj -<> -endobj - -41718 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41719 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41720 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41721 0 obj -<> -stream -HWm6_2phqIsE(M(D|_C$r)3<͟E7~_ #?#( /љ i"1rqR毪)z6mWKoWf?Kv#9'IYF6~}_#BXm>m]Jsz^ueW5ڿf eyNbf5z#hzHRA gwޑOH˄ -CeytehQ}LbrÙ @͠|8Q͠4sm{{{{{W{W{{{{OI>A'aS}Oi>Cg as}f9"ZvZfP!{(D͠B͠B Pj}A! -D͠jZ(D͠jZfP@QoZfP@Qo3(}Zַ -Qo3(}Zַ>P@TDT *dַT޷T޷ -Qo3(}Zַ>PDTַ>PDT -aV"mBT -aV"mT+6@!mT+6Bj}!Rj}A}6 -6 -6@!mT6BUj}6BUj}A!*D Pj}A!*D͠jZ(D͠jZfP@ -Qo;DQo3oZfP!{fP!yay^m-, '}h9MHd{n y =G\wnX}B?T޷n4np,b4(e\|K]T|ھ*d[J4ZL\ ׈y$Ss@mYܞGA:qWu!;`_qwicFs}4=UPWndlFzZCXu{/3+s8푀{R}u!p]WTn[GX99|pWFwgeg67yIB͊89zAjIfm{Oqv"8>Yߝ;RBdX$J,HTRPS2\Jt;>}5\rEu*+@ W2*gjR}qvmk(2 h7@ğH?;iK^d#8ލ -;4;H{})x5p$7 _P9tfP ՜\Cdvt75,^pw>@J& ?M]|幔Թ TܴY)t?m5TqcI ΍nQI\ -#u79nr Q5^* 8ْRg  عex[=w4v?t/F\9$!!%f93܇YNC'f"3\ȱtOswt93*S`QXvKT(xJ/K!2@-po꾷h s=/;8UGwYWY}4hɀ $ ؤ]3Mhܙo6<^K[;SH4_h>^&J -XQZYB7v$r}^ʲtqR,78Rq0O%9ES:rfG]vfߎFJW+zgGN0*"FbfcCLg?M-ө3S\W|Dą^+8tozxf:sMv:Tj5OqUGAY1cn\0tizy c=OkأTqP9!<|j%oj_ᱪd&&o& RTjlc;O/H@ ovu,xGҖ平 LGuPZ9.|t ]rxȎXv5ϠMfRHK+_p_/+_\O |P箮w.Dj*Jw֪?ղ D -#+%$z d(t#tlԖ KʍgȡDڒo7֐΋Ù3mEPnW YIuVLGb0 :N2|xA˦Bd*k-"Lw:=ӣ@37WuSuV h4tb'5K"VYm߿=%an#O -7IxGp^G,~ra!/"Yee\' _PⲾs d#hHQ@MY`2(hEԪ - _N+$26 X5[Hq]Y~5BdHSoU͠l" pMu>˜W)4aV:⠢;ΰ%O@Vx*@Γ1YPXKPIUDW$rP4P3קSp7b|a~4n@Ѵ㾽:3ʽ¢ -L pfJ,N>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41723 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41724 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41725 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41726 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41727 0 obj -<> -stream -HWk۶_A~G+$ EMA"+kQdrA=9$ W凞=}zW,fϞx27*b:Q"XH v( bvpVCY}u_lPPPWojÿH[` H 3q6Sx]}6lD81_}޼g*i:M ,VT 3!'`xS}O >%ا`y3}7{7{OkPkC޵PkC޵!gEֵ!`Vum"{j]պ6D= -B Q{OPkZ׆(ZAֵ!`Vum"TET+պ6D= -BmHB Q>{(B Q>{׆(kZ׆(ZIֵ!`Vum"TET+ պ6D=JB Pj]j%Z׆(ZIֵPkCS$TET+ պ}պ6D]պ6D]| Pj]jZ׆(ZEֵPkCS"TETպ6@um"{Uj]jZ(B Q{OPkCS"T&Twm"TwmٛX ->x 68|`Q’İ>yq|Gv\nzNyE)4;!i qaS#qNtYjK\DEPfE|h'acyMWmSĀN-dy3JH%&P)}VOr;]yDǨ(|X։.M':~6ƪAsܗ؍GDk=3iT8o<إP%eX{в)Tx_6}>kg@uu{h-a(deƊ=:ے==6Uo3@Fqʱ5=6>.EIUWme+U6 [B0 F2:]E)W%Enr9ȥ.d%OlvcI$3()x9Hud 8|r L,+k%Q_c\N_22`;7G^T} -< R^iYPNuI\e8ֵD -Htnkb"J9Pߏ[a ۋ {E`{bSɬ)!ݶhORnlބG{F]6G1'Gv0M01%%N4|2H# -'jsJ%qj(mlcwC+vto#LKJ Y@?^yơ}K?AvWd筋_m?Ï0rX#kYm۹¯e*_SbW{[%{;W$1_Ç,Xdp^}/', ]0-᧰y䘩2a mUM?FM" -7V͛c%l 4 `x'rS~50!Ծ8by=p%Q6qtBijVVA*qw}a_&a/\[A!D{hS0={YU*~Zj;g8IƔ˽CP,ze -Z{Do3nŷsCfƱkX켎 هnœ0 ㊔ᐫȦ3`])4"n!A0OK݌2EjaK>ԻN+0)6 1a,`9_0O8u%v*` -~Y ηeaGj &UE'nw(4Jo(жV]7tp D8zpQP88;{P세o= ¢1;dža)x-7nDMnnO cxJzPOV A7 UYx뇡uX%aip~gqCNءE)EV!Xi5ʡ0p7|DT:+|L>BWe -l^.O0~*uZ}^Yy^,9ݯ/+,YGgu-zD0*ф#EGvp47D!pF:^[.,ZoM[]KöŔb4<ӡ^ͺXiU+][kCm-*Z׾=r1*VT+v2p@MzZ%,I!VŔQUP+rBŮPoA0Gцͩ)Lo -4 w׶p;FOKs`AӐ@+w Ѿ9lEsaIL1pyQrO75㾝v^k2BՂ|'kDڭGp<76yM6ףQG=n+Ke\Vಌ+rƕ \9*qWJd\U2JW%pU \q9Q.q.jC6@)K1.%p)ƥ.͸tS.{-%p1kAԆ(^ 6D \LZ=!Jbׂ QӽtOm{jC6@ 6D \LF=!Jb7 QӽtOm{jCtoS.{#%p1AԆ(6D \LV=!sQS.{+%p1[AԆ( -6D \LV=!Jb QӽtOm{jCtoS.\=!sQS8Ks֗!T??nMǏSw - -޷}7]}Af|Fn`ȁPWfY }/ȔJ89w*ſ?$=czCM>%yi. fH3zܜOwO?$yBd=V*xC;ol~O6 0mendstream -endobj - -41728 0 obj -<>/P 926 0 R/Type/Annot/A 41729 0 R/Subtype/Link/Rect[93.6001968 663.229004 450.432007 682.908997]/Border[0 0 0]/H/N>> -endobj - -41729 0 obj -<> -endobj - -41730 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41731 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41732 0 obj -<> -endobj - -41733 0 obj -<> -endobj - -41734 0 obj -<> -endobj - -41735 0 obj -<> -endobj - -41736 0 obj -<> -endobj - -41737 0 obj -<> -endobj - -41738 0 obj -<> -endobj - -41739 0 obj -<> -endobj - -41740 0 obj -<> -endobj - -41741 0 obj -<> -endobj - -41742 0 obj -<> -endobj - -41743 0 obj -<> -endobj - -41744 0 obj -<> -endobj - -41745 0 obj -<> -endobj - -41746 0 obj -<> -endobj - -41747 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41748 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41749 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41750 0 obj -<> -stream -HWk8_) +qViGÀkHP$E:ؗ~ $9u|ﹹ>s.ٛHD?e-`\9IbA' K "#9 cY7/C 'ubgAY_)$HJRIHu"Z,d1M?'\EE۬Z1nCxw^0e\>#DS)]vlL-uQ֎J ayߟçlIrq#mE& `\r9IGr1ӹYfY -aŻ8{9{^x^x^x%^z%^z^y^y^ycD}쩏>A'QxD}׈z׈zO>E{ei]8Z,_ qY,WbB\b\׺e!=rĵ.,ĵ.fYzϵqYs-G\bB\b\׺e!=rĵ.,ĵ.fYzϵqYs-G\bE ׺e] Xk]̲|.fYzZ,DZ, QV u1`!u1B{k]̲kZZ,DZ, QV u1`!u1B{k]̲kZ+,WbB\bw1ջ׺e!=Jĵ.fYzϵq qYsD\b\+׺׺e!=Jĵ.fYzϵq qYsD\b\+׺X(ĵ.fYzZ,_Ym%$i*If"x$špN9UJEQ__eLlCh̋Wd(+/O?7fi8K9 |{Aޯ( -/˔FiLb5 2< 4ZU)D,1V K"xZჍHom͢NXxeMPZ Wxc?r#I˦16MV)k{nκ,ڗސ=C8l!ȥd%X悂ܘR 0ZFH)ڐm^-jӦ9U+6O@|yx0%1e;Rد2NaS!MW!7k^^ID$J!+צ|x0 -6f#^#+kveVRd%t0eCNe[eݩ˃Q_],i-*fȟ#-ZO2eMvՆ/CXy:jU݃$0]ǬZ#U6)hq#PU%VŪΪ)mݘPPztT4SS`r2jXu:]T+uJTKOHNecow> ;yҏ-dHkHd4f߽7X|G65Q[#>.9]D8'E;~;e& ԇS1U _k2 -5fhյK|UPR*dtLeL~Qce]Ʀ ^wloP|^ ->}|rL{gr` u”.Z!ݽ/y-ATvi 4Gs)ѬS~xx50դcZK~$h!EdrXkޚd:[ӀحI\/Y2pV܂5 s95cϰ-}rxVoYȯO! -S?aǒ#>)ڏКl(7{Jmgm08 tjXzʄ }9 --mgCSNcfkfG*'.+ o[8hᪿ9T_ l4 &0{"ddOaX#2qiXX,lU*r;jtFEjΕwnݓ|۶\--Cs͒X·mWOyy] w$+g6$̶uy]֦!,=qtݵorvXݿvEsE6(~#1\34qF5_gg777Vs]AzϲVc)` B%ẟpX -Kc!zNVHԲf)4zFG -2\.klض嶿BDDv.7Z֬iD*d2q7,lri -dM2 n)6-CR`M=K0\!ⴶX.HΠbgۧĦsnVTVS]evbpg~@jS"б[v[ӳ/oQSuP/_:K $_M̷S=îgM" qR?U DtTZ)4m"@ZY dה8o!QAI̐C̛7 $d9γny.86an.HQ`@7YMo&Mn@LOG\W$)$Jr6yFnC8m#cZ&T+в.iwm3cgZI`4pB 3@frc}ͨnlCʼPBevo lm'^ -ρ[ݘ8֭L~hP16ār$DvCݝvFDzwKyb,WWs6E wG?8ڸY_Ł&֟닔faB,#46{@gdD5#VZ*ȤK1pzB[i$]Иßw| dIYbPӾkk *'IK\7obOEY ([k 3. O'_"J1#4 $|hA -e]9 I.D]W]TC*0\ƒ-3 ,4e_Ҏ)(ԣZ#Qr$_if(^)4:{`>Ղ9P8 HL-RKVO4P!Qe= ϘO5aXcšJQQdjL'E:v=4mQ4R œ jTטSJ#TF#tjƮ}>뱳`G"AL+Wn\wrn\'Ro;޻Gd&S -_+V<k@߯Rw[mVeTet!_?ed;WdIXۼ޼!*pbozqU+WaC]pc+<#ьFA_T- Xc>/P 423 0 R/Type/Annot/A 41754 0 R/Subtype/Link/Rect[129.602005 381.631012 347.016998 401.309998]/Border[0 0 0]/H/N>> -endobj - -41752 0 obj -<>/P 423 0 R/Type/Annot/A 41753 0 R/Subtype/Link/Rect[132.931 426.513 324.763 441.493011]/Border[0 0 0]/H/N>> -endobj - -41753 0 obj -<> -endobj - -41754 0 obj -<> -endobj - -41755 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41756 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41757 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41758 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41759 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41760 0 obj -<> -stream -HWko_q py|u6^7H6nm.! mf*% CuFH JۨW>E꧟r'2^BWItjU:X5ѿ"udTfVmگryZumt̪uJsaQUTĪPETYrM\O/=ӌMy&gYOoզ馟C?6IAk=6rڪ;eb1K^}K.6 BqNYt S0 qXt ,c$aJ{7FX`Y -½p{'; ½ppppppppppp_p_cȂrX= cĒ9F,cZ1bcEk-h- cEk-h-Lj܋ZZh-Lj܋ZZ  ,Z #p/ZkAk96h-Lj%s,@k9F,cĒ9X#p/Z@k9F,^ցr,@k9F,^ցrXhX`rXh{ZZ˱{ZZ1bcȃrX= cĒ9F,cZ1bcEk=h- cEk=h-Lj܋zZh-Lj܋zZ  ,Z #p/ZAk96ZKX`rX=Lj%( -z)ʨ*2qTiy49VWfZ~ \s8؂>oo;e>UeP͎ݘXit'ikkd}[77^vsU›{ (ެ'=vlokbW;ڜIWMݞ;l?˜\?u{fsRQ9՝aNm2|/w #VXB-/=) -mDͺ\UǓEs7x`9C,g=OU]])W'/V*M#k<ݎJwN*'lY8JDǣRub_.6(l0rUG?N >>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41762 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41763 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41764 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41765 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41766 0 obj -<> -stream -HWmoܸ__dR S m{@Zk+]9+m!]i8s8?C>3^ZzOoފT|K$M"KWFdNr%lL]KlTGR4"{k]fSf)vMt]z].R,VQ %)lZ&z_˾iBei,Ӥga--- }/EdؗahV2MRB(FԆ=!*dOmbTKmbUj Q @Q-Q-!aV16D1*F(FԆ(}ZŨŰTRRjZjC>PbTKmH36D Pj Q!{jCTȞŨŰTRj5ZjZjC>PfTKmbՌj Pj Q @Q-!aV36@16D1jFԆ(}Zͨ6aTKm -SRBԆ=Q-!a06D1F(FԆ(}ZèŰTkRRj ZjC>PaTKmbTKmb5j Q @Q-mQ-!*dOmbTKm -SBeR)7.7EtX(!b "ϊD&l]-^tZ'/(DtͶ&~ln{D_.m6_G:܃GN) Kqp1i"S5w:o' *'Xd{mdR%iɹ_\$a12 NT!j5wz$EI 7ǯAd~ `ogpY2lb-dtO'59T!ʳ qڭu)rgH;~Y"֐8D$Wx},գ>)&a*\qzZI+vEX j3‹2x!\kӉ˾Zk߾s6ɼu<e!qCR@38w -t]!"MRY4@!jqvx)%pն(G߉fI` .v{MĪa~HI^Φ=?&ZIi!4*~OeT - ,x 'ׂ~R1Ң:sOА%aRG\0P'n,S^%˺ķ[1B,AboC0. g3 2T񴌇PaC@Fף?_ܜj@9UQW(GǮ]],ns? ¡,7+X0֖ -2CUXUa -c_Uap=| r;J*vFǯf{NZK<=ri9Pf`>w=83jd*)LR8<7>,5`n@/m 4C'Ei#|?34}bgӶ0'4'A: -NhrK(=I0CaU30>)V-gO*C;PձQǫn~{=]ƻF19hklzCz -Cf!NDTgv[)T~bC5|5-ۺdz(ECS2h-F#UdA+ucRLaKUdn!bO\.j/~vW;l®*/KlLO_^ BOB.saꚥ3*|xI'zoʱv\@:|Wo!r"s'nAz8H* Ys9= NoØCH2[_\/kXc -Vj(Y͝+׊)K>sK1ҟ?( d7|_~~^>$wiUF(hc7Q"m˂d#]]Hde -oh 3dSwsv˱5K^^8 L&9edCi:OozxPms Ȋba-vDmrGJc.1"%7oNin -(ANJDpmu˽r)D\kfRSKvFKoIUgO4Rϓ.= vo+Pm9J/Grpgqo49P gpjg9+@Md2Xc\n xKhG^ ~6Kf:g(|nu| X cv!Fٰ`(*Hl6iKv>.Q@i7cT`\!N#ŘMs@,U3UpO[nO +d39`n`]FIuS㈒ieM =:M]sg'Ǫ4,zV9w.,:ۇpXi=Uыo¥Ur~ hD?J g^?'OxѴU+i|/.Wm8rAOP5ZDN/* -uk$q8f)fQncl\5moHaݷWWendstream -endobj - -41767 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41768 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41769 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41770 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41771 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41772 0 obj -<> -stream -HWmoF_p:p( ߚ&䒴8lPdڢcJ*E=﷏$JE`W3\i۩||'/_:=.҅SInԨ,QbT[V V7V -&]z[uSum=SmL~6f*I/Ҫ -?I -UxMŹ* ̭9)o4;iD睅MY3?F<3I|9Tuӯm|u ӕ'e)OOCFF+y.bu¦Ip&(p|s -)GV8F,9w w%r@9F@Kށs^́ȽK-Kjq^}r_DEQ8Y*IYjUy;oQҤ 43m8<=(sˣH.{2f0䆟]y[MTTellU*jEWIyy&쑫#75j+Vwt?.-g_lo#Zq~s }Q=mY_y1$'Ez[smx88|:moOI?wpcIfM=8]wf֍11-9OmYou,mp~W-NU_թEOUGNO̠(:gͧ-Hֳթz:^!m5PVJixTlu751^F?nu8^~f}#3s' g1-.Muo>} ڮwOǽ}D}~]귟sA==5i{X;˨1?JvjǤtREjw0=n[zS5b7tumą?tz9)]ȍy6*m#R'۪SSwh>nhO$JEQ`s(b٦khw!䓇2Qws ydg9 +(^4+f4\pAz{ZL?RcP"#fܯz!2h6X7+p*nHeASpb)3xwYOخ|O&Ho" n "w yKpge}0;G"߯/N~4u4uNI$]KJ2(5ź+,ņMp iЫS #BbE,P95TH!C -Llq|\mTP+1`.5.4%$"way[&^qP?Am)+4uR/YU?V7.:ZmB3vW?01 )ln09c:& `jcd|ÌT]W*%)`à2 z;)H`[X^+¯N|O ܔ -Q/SDJ @鿐+ޓ/ܲ]FJ͸0a N:#}\wh{ˠV/`AdT9ut`Tv4^օ\06W?/)Ka I`>65ۺõ`vߑ@RL*ʆ߶ 4؃; gnQUވ]PBhĚlTvW_H)A/B.ۍB H+x @/g=''GOcb׻o߿_C;endstream -endobj - -41773 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41774 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41775 0 obj -<> -endobj - -41776 0 obj -<> -endobj - -41777 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41778 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41779 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41780 0 obj -<> -stream -HWm6_2oz9 -\6HѠ[Z`WVbK{mHEc!Ț?>3C޼㏯߾ E䊧eF~gMHEP޴;;ɞ6݊?%lH -VO%9 u۰+i8biK$aqݱyP7Xl\nUgvT6vۈ#g`s} y `hVmHm -6@m -6D}6DJB Q@PoZ߆(}ZIַ!`Vm"TET+ 6DJB Pj}j%Z߆(}ZIַ#Eַ!*dEַ!*dm"TET6D*B Pj}jZ߆(}ZEַPoC>P"TET6@m"Uj}jZv4Z߆oZ߆oCT޷PoC>P&TET 6@m"Մj}j5Z(B Q@PoC>P&TEַ!`Vm"Մj}12j}B Pj}B Q!EYFۭdm#f(OYl{*χjXJxRHݱeۖm^A)ͧ/QuU_U*<: oco. -P $ %zD1*\],aﳋ ~ZEe_󸲃],1~N:בbZge3ba=VlO0LӜyӜ\M>MMCj&_PqɓiL͓4wwƦ)` `yV|uo?~(Q5&2nIR(cxn3!=ڙuUAM¥ҁ6?#'4<-7D;|bu0/_>DSL_ Ŧ]{(1#|%!W.' -?]`WEH̬|a>VhFBiɜm} }ęb=oÃY7ۗ>%flcs*x4@lKwGcjbx+D+͉VQh icy`~&cI:)4mr6,Kpaх\8&hףp`ʰ8Ds]D 9gեR `Tϩ?vMvf[ejzۆa轿 ˒, =À޶KҸ4E-qP)QUHwPcJl4231>X;tG*LՍ}I,,k%3gCoʂ=~S -yƛOnZd -?1G8RD`b^Z®E|D7\"9Tn8icVʼn@͠a6,`!וƦMΠTR9ch'YwLGpUW@!<v)&1i}&@ Cr KbJ2Q -4)PXo8ޯގL:1|e' u+5 `Acw -f]4f>!уVϸ9ZEQZYڐX,mRRtD_qBgvArdK+ZW O/ÌJ#PFXa0,Jg"11xK}:h)#/lUchypjY83uѹnQəϫCwzsJ:N,<㜫FagؔJڻT`MV\KԃF_ Gv=0 -tTr;; G1۠fAut&\;cS.x=Sé$péT38' ƴZƢ%(Ц߭[O Ckh8?R] %BiXԧ[􃗲>l͏oW? -0m endstream -endobj - -41781 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41782 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41783 0 obj -<> -endobj - -41784 0 obj -<> -endobj - -41785 0 obj -<> -endobj - -41786 0 obj -<> -endobj - -41787 0 obj -<> -endobj - -41788 0 obj -<> -endobj - -41789 0 obj -<> -endobj - -41790 0 obj -<> -endobj - -41791 0 obj -<> -endobj - -41792 0 obj -<> -endobj - -41793 0 obj -<> -endobj - -41794 0 obj -<> -endobj - -41795 0 obj -<> -endobj - -41796 0 obj -<> -endobj - -41797 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41798 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41799 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41800 0 obj -<> -stream -HWF_GV tD\"E]Fʇv=`NakyUS㯿"7߿IJ_eb[4SqԪ6S$:S5XToS5>_U4DovNc#ƌsQĻS(+vL4IeSy#֩S[~~H}5 k/y۵c~ӕ_TY ,d=c`MsIc Є?zTşb)!?O{,U>O7@9K9.8‘B$!+b2d YaQR),ŨWzŨWzׁͨzׁͨzׁͨzè7zè7z˨z˨z˨Q3F}y>gQ F}/E1]1Jƴ;Eq-ŐR Yz!+TO1`1kZ!QV1R Yq-ŐŨ\R Xk),F}ZŸbbUk),ƵC>pb\K1d1*Ƶ;Eq-ŐR Yz!+TO1`1k5Z!QV3R Yq-ŐŨ\R Xk),F}Z͸bbՌk),ƵC>pf\K1d1jƵ;Eq-ŐR Yz!+TO1`1k Z!Q0R Yq-ŐŨ\kR Xk),F}Zøbb5k),ƵC>pa\K1d1Ƶ;Eq-ŐR Yz!+TR眉[5.M,c$ńigw!5@;~Cx~ӪY*Y&UcMy.W~nx|U -5:ӛir3l*܃=ѠNa1K65g2L75հ籣Sba`~)b!,RWYv \* -_!1,M9n-}4UVpUhŬ+L}#UW6wx8`qZAM Kp>ތH2 -\GL"O bߵcYxO}|Sp۸D|ItakbE͚ -O -1'<L^P/?VzjFz#CS;>04n'uv^_E wzk{)W$V6i1;Qf`Rيeap8)ݕ,B`rwM􏦞huy,kj\6ʹd[Be=UodkI50h -&ksٗcu B1K#{m! )W}.O d5+Th 뛗9Tv&0uDٟS9 -sn?tUv^\EeByYWxf>%,|ee@7vsc;( -2N@@J0|,sNU".E%s;͐inR&A,%ߡdWs5O=lηNU靺7ИT52pji}XdҐXj鱄56īNB>? Pe) P^9֎ 5M9 |FFT#J ,n[pc {xn& -!@`ɽPZ[}52[GBo T~,cHwհNX/͠؛ig8!iMa+ǥE2vt𷋴}$ٶO{#W<{!~42`,-J,6l)SCf?$=f:[y P_Xs,O_\yK]F;DWkp2EA590->վtn3ۮ1pM4#+kU1HيC٣ۏUWc\6麏.b>6 4a!ew})2 $^vʲR]lhj{*eA1&Sߪq -kt8&s0pqM0M\~}|AE1/O)h6CW"׊_ -L2|UHN+/r[&K!Oq㒧sz׋4M~[*_*C+_Ȩj@L*$ys;:R|_ -wfiyl+xR xVdjCC^pTsE(/QL:nںmr`.JgJX\i%8`y[$C6x>M-qnǫB|>כ?Tuʫ5U?ɡ[Ht曹_gk&dxrmk^5@Ge")Qzb XMCrQl9jK$Ǜ>~)$Ezs 9$g͉nM8<5\ ;b7E,b"<:A/eQe0/1zEO5ͮ3(G_:+cˤIމ.zVny -=.;zpFؾnJT!w>luu|o.Jinn+nY >2VFW*f(zyS'7k/cs՟tnwmS{nFz{,qo@zdڴQoYY 3jdɗBPqut2 A U>+D,I B~VvsIˇᲈNQ -"e=֟/x]!h"QP/]6BE{EP/iH~%ꌣ$i*c:TN1NyӒeϗNW5qw%$xrm#emCӑY(bϚ&ADϵQ;C -6mj_Y%C4 NVUPY9+֌3阴S6];:H]K_%@B6qC䦅Wi -2R|"%UV6kJsNY $PVuV|A ri!eYKn< j`67fs퐱檮 2PyѨ'X圭NJr'BP}a0@7O8S(BoƉϽdsd[ipMt,\ZrSXMtһe E-߿|cBendstream -endobj - -41801 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41802 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41803 0 obj -<> -endobj - -41804 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41805 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41806 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41807 0 obj -<> -stream -HWko:_~Tz(mӢ._CR-4]I((RS3CrpxEY/OūW߾IH+eD V"u)QfwBqI [V,Wf_|ee?W^ϽӹBڳ$VXS$a*[7irG a1#}̰1>v' a0}°O)>uا aoaof%#ZjzQ-!eOmbTKmrS\(FԆ(ZŨŰwTRRjZjCQbTKmbTKmb;Uj Q {GQ-Q-!aV16D1*FԶ4ZjC˞Ũ岧6D Pj Q {GQ-!aV36@16D1jFԆ(ZͨŨŰwTRj5ZjZjCQfTKmb;ՌjmFԆ(=Q-!eOmrSRj ZjCQaTKmbTKmb;5j Q {GQ-Q-!a06D1F(FԆ(ZèŰwTkR֋R\(FԆ(=!eok! [;ύbdؘ ql|.f󟈌(R8i({l/*I|)@IP.rB|w31ԘHD)dTߕ7ݭ*MԑBM&:t(3Dk UQ{P[`Bt4&8D!—* -}XP*H@J'StLf[I=:pm$%kHNFw0g8aՒXWfp&osYx%L*7plIhm%D&! *uK~/7>.(rQ)B -FdR㹼Qgn-i%zU t[v :d/\IY<_sM%P±Dž,kGaa҄]u#\b Z.f_֐D0_\abTVȱoo?tߚԾwW|xvʇpa7n9wggP\'ߚٗC({]z}u]Ջ~}>scUV|':eV,WqX c"MM96[*8p8n27+4!+Mqp;M^ ڦEVUiWjYY^iK +XA8bKy4m*͂ai<  Ք9]u4Kђ6c:sUf$9>Mc52tvmƪ@b@C -s_u&:b?yg+{!ǣoWhI튶5{HgڌN+ =hJo*n?t4u`u}zώsᒚon._9}?'YVSG>Ss і3Gh05㉓lsRULvP#{p8e{OLZON7KSLm7xd1ÅMB5#ѶoBִtF;mH]fUY6bf=~=+ЭqQweSpt=w%QO4=^" d/;vw>G\9N MxhSg|QGqX@2Ds]֋ܜ6[аK ]9-۰:(7BIp9 Ⱥ` xUNm~~B9n%xwNl{ El`i&8Is9lrN{ƫm+z̡3,ɲÀ0zYaKd%%"9(MBE -QfU&T+%n&bFٍ&7R -D$~g~L;I߱~l0p|pÁ`gV͓?}q!8sAlZ{eoQ I@`5.ds"VD[[ :p^`UJX!GfLRQur?o7{/?x)$n9zU;8NvW8P}wy'B"N)CBEQȪ39,7cܞf3MUU삟s28K"9z?||'#'endstream -endobj - -41808 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41809 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41810 0 obj -<> -endobj - -41811 0 obj -<> -endobj - -41812 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41813 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41814 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41815 0 obj -<> -stream -HWnH}'Џt o8mcmZj[L$RCQf[EY]3I'X}Ou#~s~{˓&QX$ADm?EΓʛ=VU]mSsQJmg3t&?k! I(23Eb8 Of_ZӤ䉊B/m'f&Ac24އȸey!s@{!C4}էP,8P<8LseXy^QNr2‘vHCbe YâڥtS XQQQQQQoQo>rGQ1#G}̨1>v'Q0G}¨O)>uԧQ13G}ƨw<+Rl)ƵCbb\K1d),W=ŀŸbb;Uk),FZŸbb\K1d1*ƵCqb\K1`1kZ!QV1R Yzǵq-ŐŨw\RliƵCbb\K1d),W=ŀŸbb;Ռk),FZ͸bb\K1d1jƵCqf\K1`1k5Z!QV3R Yzǵq-ŐŨw\RlƵCbb\K1d),W=ŀŸbb;5k),FZøbb\K1d1ƵCqa\K1`1k Z!Q0R Yzǵq-ŐŨw\kRlEk),W=ŀŸbrS Y,Ȳ̈ ޳w:bvɰA,8ϖd38HubQm0V2 6Iͮ>4{5F*P#=y/$Qҁ{u\څh*QnaEވͷhVVUu_wbm72^jUHᓣ(dǃt-Eb!$J݆+(q$5aU~}.T8M.cō]ߊNr*c.VߧR1%n Lt`&mN%bB[x51M ȶWlP'S*Pʖ1IX 10%Dq[Q*< dvC6 7\dGc4 C2鉂cy^Ve0/J`dY9rpM؏ Gi<\a*~ ,d:?@q"?]O!$ $Uȸß ?o X|E K*N6MQ}"ʊ?1AgKtLl󦗂{a2{mmun&/zhl]i'7qʥ}h\vG |f7vs}7l]+iMb@mB b aN ?ɗAwO rd$Lt4 -th2'KȓD!0o|Is %Q1e9&)q*#oUI`9j7]-fXG)5 ӱT uGeVeơ!n$Ėkl+!ٿt#L 3 v sk@i wX -Sݏ>o}n[u"aMǢݮmaY*!VrŃ:p-$Kdz0mɺ`) : <.I-vLfǎL -HCtAL Lwmu|wqʐ%Tm[{P4BKnm/f G@҄D9t+T)]p@0wBW—Pwl8InLDvdir9,PrgϞ?pˋ e1_oiv# ee60}Lxdxtˡߌ,4(31' 0F¡cϫw= v>:,ըZ_L8]U_BTpCh׃f]wBf9!(0LDG'ބO!\S}ٛp>ppOl*\3>p"p(޼pqǻكkG6vcE{(..wk9.wTYr|E>–|C{koRP xS 5?Nߟ]^^||p KSil{o1cMҒ[QVI;)!eh$JFpE0]MZMݶ ~DzD`P2IǬBwL7#?W5y9pkCoA2B -0 p²{Z$H~3m5D0m"mSn;L-Se&v;y,Kt:dfB`2Ɖwj36['/pv~B6jغbe#!>-pLׁI q -@FSzlik<ǺEOy8 {%.eU'!J%m¶RfW~=o8G.Zg<~fX`ZTgST@zCK؁v&ؾAJ֞(]6ҤN S.ʸ[pМ9湃T{l~J|W$!/gmi3^?Pwdv!Dű۟ۮ}l;{$~]؝ Rh*?%}+2͌/6jas ͠ڿFWuny1:!s4G֘I㞖t~RB~.5HW nZN<|C7cc5Ygb!Bg(IO+lsP-iTA~ڧnO#So䫫o} Uc:SY]U_FD-:|>Q2 hicU"Q j QP:TvK!P;84@ -jmOjj2u&#CvjɌ@#\IA*.vI^* 8(e-"$bdxȉJC󦮕 -80\ -UQ s (*2U>~9Q^PaY IqY0ٌdY gOC&Nי&廤QI%`TNgǟ˧ Fo{q+T'F1nB3mFN6~sZc~Uѵ+[`Oendstream -endobj - -41816 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41817 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41818 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41819 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41820 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41821 0 obj -<> -stream -HWnH}WiAq} 3 vfv8DjI*^oY]"pX<:}]X_{oݼ pxBI.Y*,,a_ - xs -S G˜fa X,iVBv} O O$KO$KO$KO"+O"+O}BO< >'SSO}JO=>gS3O}N=9>S_=r´;p-4W1`Řf1Yzp-4PVŘf= -µZis \1"{k1,µ,BZAcE\+b Xk1Yzϵp-4PV!k1Yzp-4W1c Xk1Yzϵp-4PVbLk%Zis$\1`Řf=Jµ,BZIc"\1"{k1Yzϵp-"\1c Xk1Yzic"\1"{Uk1Yzϵp-ƀEcE\bLkZp-4PVŘf=*µZis"\1"{Uk1vµ,_=ƀEcǘf V -c7 ׇ R<,j`pQ4L",c$d"\]AFwRnhlP1erG7u/ێUo,4,e&hOLV F<%Y3Z3}tpsaJf]PtA&YiUb/AҤ(f5R -&|u5ԃ۫}!tOWPz:BX 5W9TSvӋъr"a2L&-$Ϣpѽ}x0z!GxwzߣE4Ou#:3ci8K09="%0pkFI =m5:6?~htiC}Pn([br/ϕͣ9əb$=˨itϲB[Su4/BbG2[/;Lm2')剳fY0m#"ɡiK -R=K\Wں'nM_:ZlܖVH4n^v<2%ώU?cSjg-'{pwo+6%j%K.2M `wU͖xxs?)pW0Qu^ -а5r;mƮ{y +Uӛ -՜%;mwS%6Ǹ$ѥ_\BQAd q_ m>i+:ljn:*|P3Mk -tm鬇i/oE <=9]Mj#b>?*S("b=ބg3-6*<+-p-Gͦnbt85>dPŗqlk6KwL"MڧT1}ӒKSpՅ>.4Cftm2V;zڟ.pO{>>shoxש@.!\+gwu2Z!hm`NRM V) p? i]( .t`|Y"b\73mFKFKF166 fqv6[ Jlt<%%ܸVN "i3.ōo|;@dronWJ!wa|f낶~n{}yuy[^k*{ɵiwXSmάי{ c߬Ǧk7wF%C@eR]uhnF=at{J%&@ ' -1rkLތfU<ol9[ۯA4QyAóբZ}VW)wlao7ssQ9#"mD?«m[Wѝ("%ҷ6i:srzɶәӑlzSY(>A&$z Y2QƏSE.l=cr$$9f>zja\Pkc_ 31oXAEA/'Ok !HPjluWz*r!}[?re]!M$4N^%1[KVIrh R6AKi5ڷVh@sv YS@:eFk.AJٽv5 _]b4w+E5lk!kjI~KwQfAa^=;BS٥H$c:` M>w/O+e3uH3/n%O䁜"p/ P@Q&LI@#G+#tmܕϻ}us]W k:3[i(HPlImu_Pv̶ \f8KPIj7oj8yEDz9R+VD(g%|,?ERݲ=W(oGݖIEgy(YKK?Ùq|8T/!w} Z-i 1PqkE z ؞'sn}{i&X9{*3ŇQsewZ;jy{b~sP=m_ -URE]MU^7$>jbqm,T8=s~ҽM.}k͛sS5N+ܵ -6f7HnH.Tfȅ@ n7VInC~.!a8Ӝ -w;BW:}?y5=#\.5Mnh]6vmYS ~L}Kɇz@07, Ovl:}qF-VWp~{ZɧkWȢ(ɽrl6i,>V: I(|y_y4z(cv+2E_+IG;K\:k,!_ BGR W.rf;Tz.o06rQV ϋSlqDKp̓ b闔 -y,#aQ.2JWYuQRAb󜨋q7 _dTL{6s8OZAzXʏ(UA~~'H(& 8%.$AQxJdC'=.xb\l;^0{nܿW?^#endstream -endobj - -41822 0 obj -<>/P 432 0 R/Type/Annot/A 41829 0 R/Subtype/Link/Rect[129.600006 663.229004 208.307999 682.908997]/Border[0 0 0]/H/N>> -endobj - -41823 0 obj -<>/P 432 0 R/Type/Annot/A 41828 0 R/Subtype/Link/Rect[129.600998 279.229004 216.973007 298.90799]/Border[0 0 0]/H/N>> -endobj - -41824 0 obj -<>/P 432 0 R/Type/Annot/A 41827 0 R/Subtype/Link/Rect[182.666 158.128006 286.130005 170.112]/Border[0 0 0]/H/N>> -endobj - -41825 0 obj -<>/P 432 0 R/Type/Annot/A 41826 0 R/Subtype/Link/Rect[375.091003 148.128006 483.355011 160.112]/Border[0 0 0]/H/N>> -endobj - -41826 0 obj -<> -endobj - -41827 0 obj -<> -endobj - -41828 0 obj -<> -endobj - -41829 0 obj -<> -endobj - -41830 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41831 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41832 0 obj -<> -endobj - -41833 0 obj -<> -endobj - -41834 0 obj -<> -endobj - -41835 0 obj -<> -endobj - -41836 0 obj -<> -endobj - -41837 0 obj -<> -endobj - -41838 0 obj -<> -endobj - -41839 0 obj -<> -endobj - -41840 0 obj -<> -endobj - -41841 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41842 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41843 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41844 0 obj -<> -stream -HWo^ -Yqe4HC Ch%4(w(E{kqIϛrg$lөǏ'<Bg/gόצR֫.* U&VY.3ZM~mg]{<__76\mlUYMjsQEVErU*i2^fgͼk+5~hC>ߦ\,/ן.:PgE>/ta޴zuuJuڙp $#zCu'2יV}Q&W$[u1W U6$<2pϪ9Tcr'H#\ced1Xwcy%po{+; w½p{/{ }p }!}!ܗ})ܗ})ܗ})G> -}W}܋PZ-3 Z1bIK,ZK{%h-Lj܋ZZ K,Z #p/ZkAk9X#p/ZkAk9F,^ւr,@k9F,^ւrXh2s#tϱ{KXbrXh{ZZ˱{ZZ1bcZ1bcEkh- cEkh-Lj܋:Z-3Z1bIK,ZK{%h-Lj܋zZ K,Z #p/ZAk9X#p/ZAk9F,^փr,@k9F,^փrXh2 #tϱ{ W_T:(*"`U%<߲}: $on}oYwq텚ox:VU̗VG -~lMМJכ#yM!mv}[a$˓^'C|۶m7x5{u_mt鉺mCoeAMkMsʣ[U0X|8;fCv[ϓO/K(Rb;ׇzӑYAݡej6٪o^ٯ5=ia<ҏ7{dȭ.u|ʤoߑWpoGkWilW^ -Z:+O_s$Lo3_9ryaEYgI;5JMțcy,偖ZhyVZhUBh@Z%*V JVZhEUJhU@Z6Z#XbeZFhYeZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cĒZK,{ h;{ h;{ h;{ h;{ h;{ h;{ h;{ h;{ h{{Kjq,@9F,%rA9F,%rA9F,%rA9F,%rA9F,%rA9F,%rA9F,%rA9F,%rA9F,%r@9F,űVmo:+,ਬ7:^ҁ+_FE]У? 96ӱ2v0YWێani׷~ihtj.#fKTz_E Q_y8Ql껛r. %n}p_'kk6&6g}Afy ۔ F?rjKmݢfթ߿;뜍SƔ|6hnbERf׷͟:7-IR^iSɓ=]84+Ab5|:+u,̙4F}N]+kl3j[Q4DҏoJ˞a{E"!/ @ $R6RԂ]l9]}9?j=9gtT0٣P8Wڮ.^9 )c0[V'xds4! WɍK%U v Q> #*rc.Ϧyr# sMC VvZD16>z(;g WqdGnP>iE,2aTL+-cZYZ7Zv72xz<%}WͫK%ٛ>=KC n3ND -ho@75)pNۨ $Т#&/L8w5c1ZAsAthSyA F`D A &hAXE y"UHsJ?iL`aPl^Ws`ժendstream -endobj - -41845 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41846 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41847 0 obj -<> -endobj - -41848 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41849 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41850 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41851 0 obj -<> -stream -HkoHϯJLs=[Ԇ,QĶFhEPR6u\3I&TT>gįޛQ'Oz'ϤO?닿ET$|5Nܪ,Y❜ -?DVRNQS}-y]M˦ƲD"972Dx- pt.x9Z,E>6^wid-~Z%-9_^5|_V"vWT!BCx -\XeLc3b1}Ns>'>0 SZMaZHQ{Ŵg8PLkq)ƞ0Y{Zôg@1Y{ZôgbIk ZŴgbIk ZE'5LkqZE'5Lkq)ƞ0TX8PLkq)jHQ{ŴgbIk-ZE'LkqZE'Lkq)ƞ2PLkq)ƞ2Y{Z˴g@1Y{Z˴gbIk-ZMcZHQ{Ŵg8PLkq)ƞ1Y{ZǴg@1Y{ZǴgbIkZŴgbIkZE'uLkqZE'uLkq)ƞ1Tx8PLkq)jHQBNjTWLd1a $*72ʹte_)ev-Y >tE~rV?,l(gC8.M)JQ.kFer,]dʯFT뷯^ -0}Z_ɟovNUں,׃&Xj">xv`^Ne{u\ճxmU -\j7osv_6jpl]|ag<-9^p-rJ.z}KM5xF݃8)Nj'T=by]5p -SZ7vrީwꂢ_`mTNACf >dNYװ=ll06tp0|i|:i -| T~3plݵVޝ(bȦF%Y畆F{Wd-S+KN7Y؝+J --7o[jL;w/&᾽ [{9ܷOt3plݵMBzi'xd!]ǽǭkZ>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41853 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41854 0 obj -<> -endobj - -41855 0 obj -<> -endobj - -41856 0 obj -<> -endobj - -41857 0 obj -<> -endobj - -41858 0 obj -<> -endobj - -41859 0 obj -<> -endobj - -41860 0 obj -<> -endobj - -41861 0 obj -<> -endobj - -41862 0 obj -<> -endobj - -41863 0 obj -<> -endobj - -41864 0 obj -<> -endobj - -41865 0 obj -<> -endobj - -41866 0 obj -<> -endobj - -41867 0 obj -<> -endobj - -41868 0 obj -<> -endobj - -41869 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41870 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41871 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41872 0 obj -<> -stream -HmoWG:/4t7 4m"Ѷr%z\Q/{ cu|!uĹ0/WU_~y?v*8FՕ-Q.RdZ-UvG ?7f\wv9WevQ7u]QZY*.ծc7^]4̍./j~{~;ǸMsͻfQN#*tYYY:_ ~¨JHWWKPYUa|$ POU1 {ѥ&K.ǵZF.\<2<עˀF7 -HoEz [ނVw HDz{ރ^ ++kkkHDҋ`h ZKZtdzKZt@z1L-ҋ5`j]`jF.^LS5rbj ZEZ Skr\ Zkk0\#H/ր:`jF.kkF.kkZ0\#H/ւZt@z1L-ҋ`j]`jF.^LS5rbj-ZEZ Skr\ Z ḱdzEZKdzEZ Sr\ Zkk:0\#H/ցZt@z1L-ҋu`j]`jF.^LS5rbjZ3k]`jF.kw7*U[7QM\ ,'X`yUV%X`UUV-X5`ՂV#X `5+VY,KF5҂K ,#XD =ΛK@F.7\;oæ.Kހs k,{zϵi, z5rIhXk,{ z5mdKނs(%zoAF[\`[{D-=h[Xk,KFw\ `;{VD=h+XkXkXkXkXk`Xk`.Y\#dqKރއ"TKu]VZY *>|(v]6e_>ܾflD3qz.j֫ݰjبS>|Plm_6Ey^>5ua^h7ǿ?EC▩:s{Bn\vڛcJ0gV}d/=$&o?߽P~P慢Գxz?[w?gO C -3\mќ!z^ZpΫlOh%N/.0cٛʁ1 Sg仟M7lW3"Z:%og~H厨?Ǖy5^JݠKSd}ںN?ܢu?H.|:,+L_K·M8DSM~Ǒ㘸UIb #ЯIUkCC GįWN|ɦ+#$<<\\- -BKI'g=h/ aZG -02&HP-&:'m5p_;xJOΟ2zpN"0_ڸޟq|ϐGP}k -%X`9r ,/X`UUV%X5`ՂUV-X `5V#X` -eJ$kѥK ,-X`7\#`{ D =Xk,{z5rKހs\%zoAF.Zts\%zoAF.\#`[{ D-=Xk,{ z5rKނs\%z@F.Zts\%z@F.w\#`;{ D=Xk,{z5rKށs\%zAF.Zts\χau]QZי?ʫrxwoWWuɚr<~o3kvfvl[- 1N?[,}rӏxu&tR*_nq86;ptd X{(_x_")nn{y5m _"3]*/8c[ƕ7ߖ7UMW"d΀e6E. wz]:- k;@?:_4cć„xixIאz2qav3,<ˡwŤ:}1ެVw_^|ΡV]3sR 3m?[vfآj8~+x}wx_ Kn+-ze4?# T")R.RHb.l iy^b3ÇDRU;9o^Y#d/s)[*%bKx<`ZOGpyO;? (tP8#TۛQ12˷_I fJ.kV^zv89mqqET$Of yW=Sm^E*[kC՞>ɧɫ:lO6"#k",ɧ\章!lv4PFQr`C5Sn!7P4|a@Q2N -HPmA/a&Ej~-͚ ˪r\B͋m2ޟ1kxS Τ^/T&؄:xP[1$" ?,~-$ z^Wɔ.0~6J pn{SʌBd/mɤuy<УJx۫3jx1ZJw4cwj \21j69K 'mf_ɦkB4e|oXTAυi #NWP5vPLBS -xf8S6WoQ$+eEVw;ip,m LF{ʵJ#䭢2R77zq}μ[(姾/G ?!w4etazwvDEDBa  Yd@@C}!vAȪŷ%:'6@새9aJISrLLK:*"䚟3~HH\kVƅ=HQa'Ղۊ؀)^=W, e8oڲ ik(}y6,} {?֐ -aƐ8>dNTwݗaNS DLQyr05ۚ%Wwq⭻{TsηC@BNv^.IF_?~~LJ*Tendstream -endobj - -41873 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41874 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41875 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41876 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41877 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41878 0 obj -<> -stream -HWn8}WYH l`݋ EM+x~r-eY"p]>:!@^$"^~&o@EH33AbÄ4aH&>$TzVmWjʂtep#>x . #lo D$#IHm\oT1mC.^8ڰ]|~XEa3| {5.,L$3 ]Wǿ~\bq,w -1E  xB#; ~>ّ Ib(Q -,v1 rcscG91˝RC3=C3=Gs=Gs=Gs@ @ }=1>c }O<)>اc"SDKDK}<,EL!ucwcB\4g4g֍is-C\4 -a﹖!ucB\4 -a﹖!uc\׺1@!uc\׺1B{ek׺1B{ekݘF!=2ĵn8Z7Q>{7(ĵnL|nL|n PkݘF!=rĵnLk9Z7(ĵnLk9Z7Q{ϵqZ7Q{ϵq(Z֍ -q(Z֍is-G\@ ucwcB\4g4g֍is@\4 -aV ucB\4 -aV uc\+׺1@!uc\+׺1B{k׺1B{kݘF!= -ĵnbĵnL|n PkݘFݘFa/CIF"F4* ,$E[J7Ò0*CK8#:~;aEz뫷?pDȥ<'~"^6Wmwe@ 8 L%K7^oq%s]^YS8̄vŚ&&wJ[vGinM^Wrؔxy,Ve LNŢI]٪i0IRvp^c;/Ǧn 7*0EP.{VDtR:TUK s&_!wBB8\X!,ᱰg){C(ᶰ7¦ t'[key\'3u -[un;]j7yV BQl\0&N*Uw;".# 9h9f8bA@9WEg2yЁrɛFmEx2pq&1=7e]+5ɿt6jh4QLmwO^Wj!Q@l^U疋LL'ML#dܞj|RSͱy0F"!}tBh&{Ei -R5Y>#W)¦*|Ff׋ FO ɲ3RD;N>Ȧq^%;n@ $<9dV YhTq3-v;$zN6}OU<<7_7A>wVmc u_QJ I“fW#HY8hZ?` 6?nzK\8(ya:]]]IDn0%_0)}_IHKEn&,>UA625qe pl<8+Ͻ[eb3E~9)䁊oB"#'^݄^MhP ڻ0shV,z:=]VQ4($K^n%D5y6' ^ivhIZK;+󀨢ZJK8XqZF7d%\m%42_BK1PӶd32Z~N?;펱pͤ{p! t%Fۉ+ ~YuSM>*\ cNz^Bl؊äv34Qףa6 -::jxE`h$KPQs'^{iKcp['G;lɎTkJڙ1E`ƙ2 B$36(-)bF "?5GPOBZ(zdvr°\8=NUSpd[у\ IJ EkD2["8ek'3@)^)Y@ _U#r|i-G`Bb&VQm=ftaFWW066+:4D9f4 rL2Bp}¦Q_0M4}:}q ɿJR<.h $ 5|ntDgQϪjM"B Ƴ6U6b,N3x< R -X4!]+:egZ"',N x/1S~ڲoޤ[ʄPw $ZM/ *eo 4vM?FxݘA\D:@G6=2V$Xqkh>~ßчY1endstream -endobj - -41879 0 obj -<> -endobj - -41880 0 obj -<> -endobj - -41881 0 obj -<> -endobj - -41882 0 obj -<> -endobj - -41883 0 obj -<> -endobj - -41884 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41885 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41886 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41887 0 obj -<> -stream -HWk6_AtBć $m/a<2gF-KRE^'"\𒇼Ϻ٫WWKoxe2*璩R$9gE.Y?X!Xâzlwݶ뛝f}]aޮUQ -IY*iV&t-[*4ş!p%qMba8 {nO8R8:f,NzNzAzAzAzIzIzEWzEWzEWPsB}/E P_KB}/ e"WPx6#Lc1d} Xk} YzCVǀEǐE\ k9ZZC>p-'\c"k} Xk} Yp!P1`1drµ>,B}ZNv \c -B>Pp!PV1d -µ>,µ>,B}ZAǐE\+kZC>p \c"\c"k} Yp"Iǐ1`1d} YzZC>p$\c"k} Xk} Yp!PV1`1dJµ>,B}ZIǀEǐE\+ k%ZEp!+Tc"\c -BURUd)w֬wUtZ)=X J$9vQI/V̌Wgԡy^z(ȪcOGa#^IZqYtK* ljq(Ȋ'EOWUAvXk1ĤRVų ,`%K^ |"eM,X|XI6Tа[ið}IyeLU~_9S^.r5[2V橘X71kںmj`?}1c@jebX2f2M&Ǐfi b -#4)OQq (7< tMGg6u~ <\o6%/T"r؂Y?SFY~}qnS<2q$. }>e "AzvӖ:vѬ7ܥ2mv.vbma\o.!ΏlӿOh< 3թrG8hI?4JDzi`~lJHf&x(ԛ?lR/ 1'ZJNuIЗn^Ug;O0?Y7ǺHeVkac= 8vv@=ڛ  /RczB^=dj*08s%kFyƥ8R*Jo/&PxK^o -ym&M4ұ6ROhz{+׳"F(s*1dNm `=~ًI-25"pJaU#S,GjmwzK@[C 4ͭ(%'YK.wg(KUbS|@2 &/5zثzM݊|I(k PBTee3 ;h{B= ssX)_sM %F0|kEae)*Paj:#CYd>ĺ?? :jb%qLE2J/Ih"! gIԵH]4p`ɨ%psd~z $-Vjbʘ5#2YƠ](g/bAaΒ T~ u*Zm88mڋ'墷${9KDe(C!D% rlrMe)u@i[d6!9g@KxUL![nns8 F^jHeW:L'{Och !C.f;);ǟfmO/z5E0O 5jFden>-}!h -OȉW;0H|?J6uRDb`lZhZ#s^b)^$a- NxL=!݉tԥљf3 -10nM.w6_M+:aJ/cNS>)?7{Ui -pMC+Rix -1<$X#0G$24;T#_7¿wh㟢=Ե!N_j[GUYw߾~ i'endstream -endobj - -41888 0 obj -<>/P 909 0 R/Type/Annot/A 41889 0 R/Subtype/Link/Rect[93.6001968 663.229004 258.936005 682.908997]/Border[0 0 0]/H/N>> -endobj - -41889 0 obj -<> -endobj - -41890 0 obj -<> -endobj - -41891 0 obj -<> -endobj - -41892 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41893 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41894 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41895 0 obj -<> -stream -HWn }ﯨ /#*ս@lbF<@Ȇ1Z6ECmYɻb=!밊zWzZ(ׯIk`DF_bS(q_hQjqWvWî弸Vh1+,D bRE1_3ksS6^~odb|=T4^^m7ŧ># -VGfojൗ*aְi^(y҈B++$'?)q+d4⨈uʉaU|(che3!*_u"6DyEk6@[[[;;{{{}}ؗ 2c_2ˌ}ɰ/3a3a3a2aiV3uaRr(FԆ=!*gOmbTKmbg5j Q LQ-Q-!a06D13F(FԆ(}ZèŰTkRRj ZjC>SaTKm26D Pj Q9{jCTΞŨŰTkRj-ZjZjC>SeTKmbgj Pj Q LQ-!a26@16D13ZFԆ(}Z˨օcTKmSRrԆ=Q-!a16D13:F(FԆ(}ZǨŰTRRjZjC>ScTKmbTKmbguj Q LQ- Ϩ6@16D Q9$SJN(oz.^΋ -wV BHb.fPۋWz6JMje6}>6|q(777zٷsI2(<\֘YYo}nX -ttLaeڞX6)^:YFo&JF;'W%3qsRexShY+|{kvQ.6^׫&?;l.Lyc -_l*|~0V<-ޘz>)|#H|f!c][[mKiz D]P]v.UEm'T}W.I?6((=;nzUf:Ka=Yt (>ۗLcVdgHڐ4dm͘cX ۲ i\b(郓ʟ`׳˷%D5DIS@%VX|㚪ݺ8^a6_ qf̳-ۻV6mXmB[}kv}˴ې;h$&~V8&=ܷB/{_z)meۋ a8<3Xaɩ^*tRL|_7KюXVz0+{֦mM}lf>ǧa;}uW_gR'^gzm6/mI{z45?CV3K=!~` :b-W<.+sӌ炰t۠Į}|# E澫T * l@4%4'@eR&C'jӶ3a‰GBP?Q_'?vK,؉i@N0,|baߛ+0z7@S?5§Vp]{$׺ n_8+怎%2A?;9A%ld5ܲ k{0և;d%8CoDr6 wdkÏ%3ܟ?sΒ$=ef,\b)ap&"Y|C[%~';46!MKcKxLt΂ - >SeXO^{.GyY ⑘HjXB \H0zH@di awfb}МGw:՘sҌz`CS0SԘ3D0kn91X=}ƍ@=UeMh{§{˸2v.`?:VC$3V:N TS?ԘI1$<uRc9[c1&U`Ӯ\5Ok7n%e=tYA"ytܝ+`]/Su۞7k:zTh;ӕ]ӓʄ*c`o@}23Ce7#yFJRgZ*\5GVK+r}tV0 z;>9\G4z9_i.uYZc%>ma4$q{ײ `C Efzv0ղ8::D[y^ܲ{zdGcT7I=c;SLlv+մ}5ͮd|A<'Ϩ*^B}0<$LD?h0^ dZKQ +LDGc,e<83m)/3rK.*JݯP'(RO9(C[_zB`B |I_@w9|uё˃#'G>HM!Ц)g!.cLQ@ _Q;pB-Xb͵.izt`C*݀Z=\.&MBD,σ# ;-s(I!)~ p- `w9#ARvؐ*k +)h)Ю>WKP!iCk@?*D<IjbFb3YbJʏю:OE۝qY9s?(R}!$ݾ591ODz@BF pQjl4 ;<:`"?1wWW4VBuѻ=t&y(jg janNIe2"oO~uw?eW^:F%%)g˙TA/&4bAbul>|lƏ%f/tAS>GIgZ9j=gAȔ)~6SWgky ^vU]v|i>6Uù \uM{:dCv撓 -GܞN_}nX'$pl%>R_ͭŊ -?>qy_gl.j搶|ٸvYkܴJvc=o_F-hTjѦ{Y"s/XMM8\NDXTmo<-mUu~pF9@ N.836tIOD@$49.xd-8en}-oendstream -endobj - -41896 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41897 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41898 0 obj -<> -endobj - -41899 0 obj -<> -endobj - -41900 0 obj -<> -endobj - -41901 0 obj -<> -endobj - -41902 0 obj -<> -endobj - -41903 0 obj -<> -endobj - -41904 0 obj -<> -endobj - -41905 0 obj -<> -endobj - -41906 0 obj -<> -endobj - -41907 0 obj -<> -endobj - -41908 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41909 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41910 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41911 0 obj -<> -stream -HW]۶}ׯУHH(ФE@v@kkJlkg$ҢqRgfx8r?/yo~[ W.Ue])fdylCO(okknnSt*ެ۵(KQ ҕ|5z_ܭ~{~n[yZz{aU2%"ۧyh, giefydL ،v _낃wMQ(&s)x ޕwx- *& x]p&Ÿ*6D˥6@  J Om{{W{W{W{{{7{7{7{Uƾ"W`_gk} umm]3 -Bm_HB Q9(B Q9Ԇ}jԆ(}ZI6!`VMm"TET+ զ6D3JB PjSj%Ԇ(}ZI6PmjC>S$TET+ զ}զ6DSզ6DSr PjSjԆ(}ZE6PmjC>S"TETզ6@Mm"gUjSj(B QLPmjC>S"T&TOm"TOm٧6@Mm"gՄjSj5(B QLPmjC>S&TE6!`VMm"gՄjSզ6D3jB QLPmjPmjCT>PmjCT>!*gsN}f]ܮGYrX>GTV+n5<5CyZjՅ9ѡ]s4 O7®&m`>ElT-ЁͪǛ883m q~6O~_vaᇰn{lN}\v\#ۇ~ڡE:d (ì;Xx8c8TmqivSWi@K4n* LռLS ]]l@wڌPph vs=2TeëPYj䫮g:tzHnǫ422^lLJkY_ Lq:gڔ~d3N IVKG‹{%DKݏNT|90}de|vXX.} ։9X%ZVA6GV;ͬuDlWӁִ *J+/JF^.K~OwGo٦IyY@4;}il1ZeG4QPg4u%] i)JcNdgXIwT']7j?&/epd!nC1 s,֯<% ZppJ'ʉy"[ʚT}3a0n?gxW ]x:wc֥f Fl>5i B-4>>zs46g Z\%MGR fS2Q7_9z Кң: -bU8X x*^p᩠!A}C^eE4\xJJ"֩:C>!'#ZO$*#Phhk:w]p=㵋_o$4?ӦHr8uSZrnFi5l52g KļJ85[DʅJˬa2z/:vv[; 4F6ZQd:Tps۹d$ On7ݮךd>-ss{k VA4$-!"XA.j~堈XT.76xjOC P i3^5=n0>GϽzY,`/ ,Gii~EJ8vӓi(||<| vUVCsD!$Z=by:zn_On= -D(:T\oLPEn3ɒלw-Y5*C䷞Ӛ^{ZH 5n;6<ɷ`WQ,|ګ 7Yr/blq%k"D=6,=u+,oh+ #nAtVi`6|SWR,rm2aWqM9|&duo'1ya$M TC]? Te2jҞ{ۉ߶bD٥mӷn@<"5ۍևXDƤ?؋DŽ[6]}kl!g*8?>m ++r9KR#R -5:^iN0Z#]1J$r&LX檂$.gyڶA-(=Uy*%JbE&rq-yfoWb5ܺH;~&}H{<}AlbsD6%i0ym$)c=3.8j* p[-pX!$L1l,y$ pAU WDﮐua -e5pOr#{ho=Tf(JBe;Դ٣&{:O ŸgY>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41913 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41914 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41915 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41916 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41917 0 obj -<> -stream -HWmo6_Ah(עCp@ٕc+imo59C;~|8g8=o:կ~Eŋ߿ - -"cI%KbōdMeUO`% (yWCݔǢkk7}jj+>(&&`e,5Yl{ 7Ů+m.Bsy}}k-x~lDm[VzC/0Q̣,&df9aD\iD?KD~>ÿ},T̥Ԏ KC& d>&C)momG!E 6@IK+++kkcc}BO< >'cS}JO=>g{O-I,gm"Tm6cbE=JBfQ{OP-P-YS$TmET+ bbE=JBfQ{OP-P-YS$TmET+ b1Pj͢|(BfQ>{l(=P-YS"TmETbbE=*BfQ{OP-P-YS"TmETbbE=*BfQ{OP-M,gm"Tm6cbE=jBfQ{OP-P-YS&TmET bbE=jBfQ{OP-P-YS&TmET b10j͢|(BfQ>{l(}Ƴ,,W[A17z; BfwuӍF@Kh~AE00vctP7>:\Ju3m Sg]^`#.ש2?|eijΫu|rl.&t@€[Y}WEo_XWA$ -t]suldŞ,]cۼaO&fID%ko9 '␯6nYbwN Eą:/g`و4e-M94jݻ3",+y.,oh9§c.2]'"x*\!7N -PBlE P|2x -]x_qG-s47q -(ÁTTO] Tް~X%o|-Dˍfe9,hPCS4X/]QѕB 7K3S_-d蝧9I=Y<\%&.KlTm3jZE;z!$b b/ϵ& A$}Vø>KUS*=;6/XޱCCYM}8e {Oo cIҞ -L2'W>5<^ۍ`Pm>MWO¡ ^# .?ʻb$o*ؙ,{K<Ϧ\[@JZn6{f 5+#8ɣۭF :h_"Gɳuoo~'Ԭe&vEU0LnNծ+~-8Pr ^b}l¢?%",0mmqFX cY8=@{4km/E `mAC0Nv7h!?{BY=RΟ>fD,]#_CNmT/rm3{J7C>թ܅wYReuS?y}ff?rqrFmA`1̦S1N"iɼ3#{kj,[^Ϣ#LPsD}$a˼ ܭ `=Ky#ݾJ]KO*eYrQfE&.Un:Ͳ\H{>t)<0:WtKZMҘǶs\h.d -G0jdx5Tȶ3-Nr?Vr  o|!uOZ3)YAXKXr%Dԁ>ԙRšmӗo6^\ͨiu袾c5 ׎Է*$ j!M]e>3cc»sߗb8o :K@ Ǻ޵O7Xٲ_qLti8*a֧~Cu:JMe4)ۆ|{VnYn١7Qg.O!V3d/_[񲅍dԹrYY}ur_#4U/K%c3f&i -ތN&vq6Y1о|egÏi}J7C}Vp9B9ۤ!T8j.ZԔ11`.3×.vD(IAlDϹ`9NCK鮚az߯ѓ:w<+`AZeNKI2hӤI^ߋq{nRq LPg,d~1ƒ>i`6, -!Ίc5efn#b 6pAD'.`pmSYӓ\ݸ?`\U;X}zhՀ>{tWti Rr]? ݃`л)6ʮ.-vLdr'0MrnMi`y/endstream -endobj - -41918 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41919 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41920 0 obj -<> -endobj - -41921 0 obj -<> -endobj - -41922 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41923 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41924 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41925 0 obj -<> -stream -HWm6_!H|H-мAZ9`7Ė,9pfDʖɱs'9y˿/^,/_$NʹM_Rmd^,dEwi.i&jh/um6mI.+һ>yH.LyX%ԦLKf&ˡ,39gaBSB䆫idVOTLngvԚ9ejOd.ǔ}^gmXYBLwȱN&VclLFЇ8\1*!J;1(A{A{I{I{I{EW{EW{M{M{M`_D }/ eľ$ؗ`_F D D-F->,'D6 T}"T}ه>@ }"GjCj(BQHPmC>R TE6!`V }"GjCՆ>D# -BQHPm$PmCT>PmCT>!*fE6!`V }"GjCՆ>D#JBQHPmЇ(}ZI6!`V }"TET+ Ն>D#JBo(BQ1(BQ1Ї}Ї(}ZE6!`V }"TETՆ>D#*BPjCjЇ(}ZE6PmC>R"TETՆM Ն>DCՆ>DCb6֪$)OxEZ6]lM/r 3dݶ8G=zP㿿5wa"R)FVŧ [漜ɹ|RF.u;w];Fb0,ׇ)Df}{b>\X.]KYW]"uLn}B[. -j?ɪ~vPx;t`^|`+;<8~BfYu - SvsG\Ÿtm5TCoնܴۤ?\<#f&w9x͇~՟ Mvsk,Κ\ i]6j?޼༕`,q 1G%04F㤑z#|$KBGY=>O}K<8 Zd8%Z/C}vr<~Y3]~S' W Ų̱E{}콁MYhY=E O -5`~М`o0:_'>-}_WU -oz0wXCG=S`**4,:ç7r&m3mxGl*נ{HO]W"5Xkپon Sg|2d*p9"Υ092XW&}w7g;c_†Թ)Lty nimOp%.4ٖЙ(?R)sf:oxe 5j{oO<7n}m:U߼ZqO}VT^8 I -cLtpG:-Oy/o+O {?xh| _.z?EiKA}'͚k˩nu*44}Ѝg_* -G .АΥyPÃ1Ӎ .$.pH{Q߷`ۺ|􃁕Y`a-V"}  -sfGEFyQwYhZ8k~<7xj}FvӵRtIј8 fWbaqM=Vg -Y i+Fq446"+Ւe|Q^5=n@ίewmUzj=QH à#/EUXO2N54q^xk6*l#&?pghtRO-cafH.#aJAXCGԝU9&bRkjo.,#7@j$$貒qTZ06͐@FOqŦ<k3iߠٶ*/mڔ>kB+}uXmIo™Z%v@7VOm58q1םFL!q"0JSl;Ƶ0>܅˛ڣ-ra͍%sh68XyUyxo߬%DH'l'aaӒ)]>7?c&1~^_K`j5RFt {t!$5NiM4g{ANB.z94N)H")TܤWevʊ\v8cP[ܼ;FUZđsj'E-޶x\sys}[ 6H÷0.AtZmW@\̓_mZjvwQ]߂a_endstream -endobj - -41926 0 obj -<>/P 761 0 R/Type/Annot/A 41927 0 R/Subtype/Link/Rect[93.6003036 510.329987 222.408005 530.01001]/Border[0 0 0]/H/N>> -endobj - -41927 0 obj -<> -endobj - -41928 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41929 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41930 0 obj -<> -endobj - -41931 0 obj -<> -endobj - -41932 0 obj -<> -endobj - -41933 0 obj -<> -endobj - -41934 0 obj -<> -endobj - -41935 0 obj -<> -endobj - -41936 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41937 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41938 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41939 0 obj -<> -stream -HWmFί#+Y]SD9[ɞ\NZ[6sjUt$Tw/E"?3OߝSUuwoXV}}XGlv_(TTa_&&fjtŷ}BҔ4U,VLBl Sg+>_"L!W0Seɕ>y1, }r}bEY>D)esg%o a a/a/a/a/ a/ aaaac}L >q'a}JO)>uga2BqBQ.{(BQ.{ۇ(Zۇ(ZN!`猪}"TkEwT >DrBPjmj9Zۇ(ZNPCQ-'TkEwT ھ'>Dm>Dm\PjmjZۇ(ZAPCQ TkEwT+>@}";jmjZ(BQ{GPCQ TkN$Tk岷}"Tk岷}r>@}";jmj%Z(BQ{GPCQ$TkE!`V}";jm>DJBQ{GP;yPCPC!eYI?8yown}:ᑉ08w'1`2ݛ$Uw_v(wFY(t _v_2L"wou4McC(Q!#R~GTj3z9V1ǗX;7Te=9,D?z* e~&tyV٣Ps:i C  c>w z];e }z)K[wT|12]a -cuKqf<|0/]' =mU=em۪vMVۍ8&$_~9SOຮ-n{"+c[Ynܞк2&R*r?xIuj=dsҽLg&sܿ՛>oFf:cDdfhj jz`ega M6MDr .P$TtkMpWe|"-4UgT'0ph^[CeUn -eaaD -VH@{2G/L},KS(9f:k6Ll'Pwiljw2(~p_eѐEKciMO3B325kFIf0te 5[lb>7.&jn u|1uVs? y_weY7hk迼VY*^Ƽʡҋc|aơ'm(gahbZ2*E}w fZoUSCͱrsQɗk`xF;Geۅ[7 -y-å-n. vG7 ߷FaEYײJW!z-KJGhP(bIoKӼ9XiK!k.xXY*3^qKBi`L$Zx;u0qv.<2 -PB* e l g -@FMr dĉ,5ICkϣLuC\P6W܈їPMҫq+tTDc.M[ze&V Ir Crf8oTP,QȱGGcVWR)Ci\ciDD gqnym>VOM YFta'eض>M4'0UViHRv֪>[^.]3ivYSxrҶWmXo_Bђ8Nx'GptC/C&i|NR3J0]!"R \ctOmo! -<2q8t NFƂ* CJF˕626QUIԉjQ+̵V:t1V8,VM;| A溂EGjFQq+[; -,4`x=8EWtV?Dr|Ez1+ Z_’=#oJ P &X(.}gcPs֍jn"I&JNM˫$|C' HxFΙ,Gy`"gRO)dO`403sOa$6_6k5|ybPՄg( R33$&`TJ8 l*Yڅ1LQ.l/sƘh{ˢńMx+o AEkT.8G` )`S,jZDHkf[XVTs)HY/Vܖ2Su9z=ҹZ͊ԙKKN7^sj[fekΝZ lˈt^W VKW_О[m -P =Ʀ(u4Gej/?]]}`2ntendstream -endobj - -41940 0 obj -<>/P 1087 0 R/Type/Annot/A 41941 0 R/Subtype/Link/Rect[93.6001968 663.229004 223.139999 682.908997]/Border[0 0 0]/H/N>> -endobj - -41941 0 obj -<> -endobj - -41942 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41943 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41944 0 obj -<> -endobj - -41945 0 obj -<> -endobj - -41946 0 obj -<> -endobj - -41947 0 obj -<> -endobj - -41948 0 obj -<> -endobj - -41949 0 obj -<> -endobj - -41950 0 obj -<> -endobj - -41951 0 obj -<> -endobj - -41952 0 obj -<> -endobj - -41953 0 obj -<> -endobj - -41954 0 obj -<> -endobj - -41955 0 obj -<> -endobj - -41956 0 obj -<> -endobj - -41957 0 obj -<> -endobj - -41958 0 obj -<> -endobj - -41959 0 obj -<> -endobj - -41960 0 obj -<> -endobj - -41961 0 obj -<> -endobj - -41962 0 obj -<> -endobj - -41963 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41964 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41965 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41966 0 obj -<> -stream -HWn9}` c6} L.3H,`FGnZq﷊ݭ%)a*"ŋTVo^ )~ūeSU -pI3-̤NMW)H.>ԋm/׋YM\q|&SucӻE(E s\bL&gc.UjrWb+΍γbzl۽S2ZI40GbR-=,oG)nER,&~.2eR:)cLI0JDm6@) QAQJ Pa#a#ao"ao"ao"ao#ao#a"a"a">g ,b3}ΰ#9> "b_0싈}ɰ/#%>ҬbDKmD36D Pj Q1{jCT̞ŨŰTRj5ZjZjC>RfTKmbGՌj Pj Q HQ-!aV36@16D1#jFԆ(}ZͨږaTKmSRbԆ=Q-!a06D1#F(FԆ(}ZèŰTkRRj ZjC>RaTKmbTKmbG5j Q HQ--˨6@16D Q1{jZjC>ReTKmbGj Pj Q HQ-!a26@16D1#ZFԆ(}Z˨ŨŰTkRj-Zj[&Q-!*fOmbTKmS׉"heZ` g4N)wIᭅPKagŠ2,fu6}@!ܥBfד3t 0]qNm{,i&2Rn[xF @mz -͜%]ஔal`ErTIOOg޽}pxIztyD`hYN,+`7^~P]ԍ%Ljr[//L-tBlwKL -BovۍLs}e.\jQm1Č|ŶYև@r# k2 A|ϴt}so3yAPehY(QTgt. MXZ2Wpx&`p)t}_ΆqjpŨ"0=̰ >]v=;<uodM}x@b{8%z0RP=Nj(M6@]eZR8.1Mp%88*(z r:ܝ!әgQKȢh865nTAy"@]M0*Χz,8C+GdPEN2FLtBj;-'Hph NFnplñՏco;B?hnVJtXA߄ AX_Xz鈠 z.;n!#2]A I!z';D9_zNIGצ`(ب+IS -˒P {3mjZ*ݹPY5bDj@j}UF_jIYE?O+sJJ#LNnv[?-.bkwxW{T~~zo˘L,3~]R0 g}>Rʮp3tPfpkvEj#pzQS=7ƒ7ZjmM;dVoO3V{s ?g~1^(ᄒgT#gLlj;  Qja3nͫAwB=JC -iWaq"L ޜÊl ƥ.Jy.jxitvI>;{8$~jpY5 -MvTSEzD%uBNsa Q@54E4xE]lW1!Ht_uߟ:Dq2Y8Q\>_~SѬ[z0>~rWNӯnӥjv0 p0r+1EHR/oBi Cc]ܺ25*O׮7&# qrAV Uj x"&-gD(p1G"mujAr" Eb-Shm6JC*^;0zzmF ;72accRU&Ci|bF}-]9Ϊb;XKBŒ(;x eL9}Uc Xƕj8-CL cWGE\T3(8螚1R,'NGjri!]y^fdUwj_}prԐ"|oN>J}ecTnNM:{wE/._]=}1j!c|ge}I>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41968 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41969 0 obj -<> -endobj - -41970 0 obj -<> -endobj - -41971 0 obj -<> -endobj - -41972 0 obj -<> -endobj - -41973 0 obj -<> -endobj - -41974 0 obj -<> -endobj - -41975 0 obj -<> -endobj - -41976 0 obj -<> -endobj - -41977 0 obj -<> -endobj - -41978 0 obj -<> -endobj - -41979 0 obj -<> -endobj - -41980 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41981 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41982 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41983 0 obj -<> -stream -HWmoܸ_Z*&4EQAheRJZ;_ߡ^V9YC<Yۇrᅤ$׷ PSLR8aaX-u@‡e\YTY_>iSѷeep]v\WphpBBjX3L - B_(1qMSpI4)"}8lJy*<$cQ9Af #?Dc9$ [/$اc"SB+B+FkF{h])`j]A]պ6ٻ6ٻ6@!umTպ6B{ej]պ6B{ej]A!=2D Pj]A!=2D͠jZ(D͠jZfP{O Qk;Qk3(kZfP>{fP>{(D͠j9ZfP{OQkZfP{OQk3(Zֵ -Qk3(ZֵS-GTֵS-GT -a節#um@ umwmBT g gֵS@T -aV umBT -aV umT+պ6@!umT+պ6B{j]պ6B{j]A!= -DHD͠| Pj]A]Au!0?o~BJ3|h'ap -nw/p*ze ѯ<ʴ(Ș( 1&m+QWOE]M~\hcMxꋪ.æ3n3~Y\8]m<8h;2sz՚YA DezsX;!ؖOeU< jA,va~pQUU)H [&z;LچT!cAl.Sy9ϋ3fP)8{%V?[ ,Vem wlg_,E&R*SmwY7G)SQOEO8iUSqǙ6! ڠT6f,P@/cZ :ұZ͋ Ixw1)@ Vb;[S0PlVY;*7,p;YW=}Cbj/뇰˾*0]6}:s܊$uH2S -2Y]f8ZJ wVHDz~GA|YFys:A10Qs) ʹJ,yW޸RPa{;4EWC(4jFn(؁)Cr,6)8QlvcV?i 򵴰c1^Z1<= I&*jF&F(J'a:XuUTdE SlFÃ{Z!)㖃mC9Ir>ȅ$* ,s!p4Z2&pzqr¡2ʗHf$I" IR@0%"1ڒ"/$yu'߳x|>> y -OLKp8*e^;٘di ̣l">jǢ(t$z>ѩ[3eTZe2~04\ `l=jcCdP%Sh 4#r?旾dl&l< W]臦E2N;zaC PFYSE]PgU yCCpi$ˀ4O[3zK(jl:s 4 e"26sAIcQ l.HA/u' ھ2%k{h-JD.xUS1k/6[Gymѻ6%wI9Z EQP*IY H9=yDμM}Lwǃg0R{Llʁ^nSqre 7ݳqhx(لoxJY7zS4mP␫&h;D8L(ߘ*05ră8>.xc!I"6=yβi}F>|߯無[*+[֕UYo6- k!'8LO7N u.mBKXb),FMZ}c80Guh`9ɫJeJʙݸv 6"v1]=L^ Y|նzn솑jZfQ6(3p}vʮOݺL^̒z rBOit_tk|+,'.͓9OǞ@:1XN켶Ey<)Z+sZ*V;mچt#~vpe(;bilr6AmgPeT!&SA@;UeᷩYqܠsW+> XJ7xpl@6;`Bύ ?j.ݒv~V_R)n ^b 烤)cm~bhb2$NIq،a_[slK質WC\ &Lۥh%)Y]*Ӊ~x"g?zY Oe]_XBJP)?+Ke"bc (agm~Xs.bL͕D1X{E:>cp5#tԕF)SЍVeLG Kz8M`ugAםCN'>p~rImV-c}ؕN6mimq%zNl&Yq&ҵʥ@#8[4Z|R'Y&->H<&dž9Xp fa1P}.ps7MQԑ6[f -uE$CE}> -fii ۪-$I)Ij@S,fen~u۫߂endstream -endobj - -41984 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41985 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41986 0 obj -<> -endobj - -41987 0 obj -<> -endobj - -41988 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -41989 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -41990 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -41991 0 obj -<> -stream -HWmo_@PFBsHn.p񥇤\ڨH;0hyHI5.IA,jγ/yӱ/_ի?]\E0+әDFZ>*׀+yW~/.mݔkkO}m|ɯ%l adi.La\舏C7x.txbxT]|wUT/n}W4C -O2M?W;ρg -,J(̝s<J^^^^^^^^^>!'`xS}O >%ا`y3}7{7{O-A,gc"Tc1E= -B8fQ{OP-P-YS TcET+E= -B8fQ{OP-P-YS TcET+.jq̢|8(B8fQ>{(=P-YS$TcET+ E=JB8fQ{OP-P-YS$TcET+ E=JB8fQ{OP-E,gc"Tc1E=*B8fQ{OP-P-YS"TcETE=*B8fQ{OP-P-YS"TcET.Єjq̢|8(B8fQ>{(1o_+r<\1;|`$1l .[< -W/wAI)Zt*ƪ|W,֬M-w6oX zʪ+M*h (.ysY)Zm{ 7+RDisv+Ixy*R\w}m~ᾎ|8H ,!Eg2MzVڜxKu1:IHbt/ESqesb}dN^j;;;1xHK3;/Oad4Ox -zbr֏"d0Z#%Sv˚¢kl_ /'WgOG -?_NVT +WnN9N?QFIZ.OHxm?Ed"FSȳ/φsjMě%Hڑ=*,oaBH3365;) -ǎq)ʯ8E=N0vMDs+E'h(&Ch\Z!,pןزui!D$PbuEI@``]uyYAضAm6v[ߗWv%eRlMskvk*@r@_, Yum{nӳ̒ Ή* '@|[mђ&RNQ]17Mph$$pp@@C(גdIآmu8؇:]Z,3ɚ-BZGzL9Ó*&~uGYt5JÔA0[q~"lP_*"FLj \S[撓`- u?@'gρqb6io9~P̃=0kUIG6Mp~m"Ѹ~ZF*shݰn-Pt6U9򓜯FIwi)W]JXq;lSSݰˀWvr_ik-ȧ힊4R4Gtj>fQ sbeez΄ eS>w>ݧ;Tr@O𧳲O -71kx?0F!js$ H JnmSGo(P- tcG8WGjLd:kv5w$ߡN ^qh(4 -kC}>?`nuWgTg\K&U) -&˳n˕/ lIKG`;<UzjTz[{P J6sGڍrjOyMM f(Cl[!̓'8C6p?rUX%M2#"29׈N H& w48s)Z8}}tQp#9թ@3jq6G!3|uS `R~:eKTXkHQ!؋jS`J\[Ӈn}ȇϻx6|/ߪ~ d4"A~\n}_du )XQ)x M'Y9q%g+T>Gک-EWG!8Iendstream -endobj - -41992 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -41993 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -41994 0 obj -<> -endobj - -41995 0 obj -<> -endobj - -41996 0 obj -<> -endobj - -41997 0 obj -<> -endobj - -41998 0 obj -<> -endobj - -41999 0 obj -<> -endobj - -42000 0 obj -<> -endobj - -42001 0 obj -<> -endobj - -42002 0 obj -<> -endobj - -42003 0 obj -<> -endobj - -42004 0 obj -[250 0 0 0 0 0 0 0 0 0 0 0 0 0 250 0 500 500 500 500 500 500 500 500 500 500 250 0 0 0 0 0 0 778 667 722 833 0 556 0 0 389 0 0 0 0 833 0 0 0 0 611 667 778 0 0 667 0 0 0 0 0 0 0 0 500 611 0 611 500 389 556 611 333 0 611 333 889 611 556 0 0 389 444 333 611 556 833 500 556] -endobj - -42005 0 obj -<> -stream -xXw|W!̀,3H ,`J n6^elIw4-K"v=!B4ɒ)ȹ+&v7?#9s\5x%U[V1s__BhTkˣ#j7>^ -+~l#S1S?n?v35H$3qVOW /04u#?DQkA)-2tN#Gva~3\ƍEt0q)SMuYQDjDm&SSm4j;fPNj9ZAޢ~KVSoSku ?L#N>&?ӋY,áٙ: LB0M?|R/D4qbNR5֪U)Z.R# de|%*&O%jԑź*ԠuлQ9T7 (Ivkp$gz55Z!mp4vDhC$GCk)#yFtH{!>/P){ 4oݍ"Q: mZ]8)4Z]9 ڟ22C_2d+9PQ+^47;='CEh$0./o6+aU\DәPĂ>N'`7h7!`FAҊ4^g4[T#i; i}ΤR`Lr1Vno0U4 =)L7_P#7vߟ&7|#*T;k H& `N% S -^l`Ln.mtrQ,W`id{L3a&/ -VrdGa $xJu> ƃC=nnn xLy_| Y ?ӕ^֕xv\"C #O_W: ޵~Vtf~dXֆUE^e[ORvV^ŝj3;}yB<$`6v ݷH[3;'D0&؇ۘ@U -tZWcaQ[ׯ=BO1vm9exvNTW>,/m ^?`j20>ϫwoj4M[kD,Aq(+99O%PRóR5s}%H@0BtuZtE ^49'9H`(O·kH.atgۥ0Q]$K@A=8L|벗7>FsuZ` @RVtGv]G9D7Fw,S-vIE֛Qp U{h!n4H:YB!ma֎pEuI4O8ܛs -qowM"8 ZNwMI-'xDq$w/29YY4y/SB_iX)?DdL<$D$W $Bzx\ $Bpr>LނOḦ3rԨ-"(rߙ. -J #CؚD?-R5驧=i7Z뜃GPab#^C`hA(<:;@x>EsgvG0 :=zHiDaHzMulq\h6LN> S[+EФo3$UIJYuVRwɋn IJCSurm—-M}J<4}i?p;0X|HZTPZj -,b*)[1瓀* 4EmΒ286#0+F+K:{Fgs ͐ -d%b^wEݾw &cΤD"YxJ*^$G%`®YZ.K\f)9 ^rOQC"ʐssaGl7v\,Sxg5e\H\>jA{I'} # -,}>LNĨP5!Sj]Ag3h٤a:דqqQƚ 'FeF(6xni)F6Mf_xygWA}!؟p5Yi:K5Ϧ'lKXdNgSg5d :s -^`-/Gh6Afsht!6S7xM˩#*1[yGI3z`Nt1SpZn ي^I2I3 KȈ*t_2 vxo_soH{ot ` ,b(ߪ9i>"p9|$ -(IFe&f9d1.7W<|7DZfa\a8בvPK 䎁 -Ko9[I'kTp:%H2Lgfk=Sn,B--=}H'0MKic]k -e,^0o3/|MAW҉9r(ݞ504(5m 2yf:Y9B^D nxU"w?j0Dizf-] L?z# hJ$։+p>~8EXj/^?^y᪳C:/X+}o)! -k{*?t< bwjm:ru~iQd@C<):H؃T{B ^ LBR+ܿƮe\<;]XCܦrF)?&3KYo=1H2t}v* 폙K'. ڼ>ןwT=l#"n2+y?njVSxp1TAonN_ _ Sa 8ӌkQ(mk^dI&TZj- .2<1Mi#0c6T4:Wad3(RlR҂+@fL*đ_ z}uOfngX ( V~\&_0.HJA֢TơjDߐOLHF!};&GUvh*76E{={W.]DEYFuL矜"è0)K :(p9Р+K*1j dmQDْ6iC|W+C)ˊljd!%ձʄľU]H$ +a!R'96XQ~06|04'endstream -endobj - -42006 0 obj -<> -endobj - -42007 0 obj -<> -endobj - -42008 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42009 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42010 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42011 0 obj -<> -stream -HW]o8}ׯ/"U/}Abj`br-e%A%ӗ (R]=n߾Oa{cQԡU0KUldU&H@u\^ʡ^}hmW7aW׿|}_k -E EX@aDBH4!M,le$6z._pJci$1(3| -C9)G$#Q Yp>`2 jO1`IFKF+F+F+FkFkFFFFԧS2SO}ƨ<>gS3sO}Ψ=zϳ1-Ŏd\K1d),ƵCbS Xk),FZɸbb{k),ƵCsd\K1d1=JƵZ!QV2k%Zq-ŐŨ\+R Yzϵq-Ŏb\K1d),ƵCbS Xk),FZŸbb{Uk),ƵCsb\K1d1=*ƵZ!QV1kZq-ŐŨ\R Yzϵq-Ŏf\K1d),ƵCbS Xk),FZ͸bb{Ռk),ƵCsf\K1d1=jƵZ!QV3k5Zq-ŐŨ\R Yzϵq-Ŏa\K1d),ƵCbqQ:LnupP] EiZc}f[v @ބ9Uq.7# -=nOHetTz~V_1RiY7ecs}S=us|}&0?CuRE:Ocaܹ V4+os"UMhff_vf:-Q_ }l"oƾnYM{1ŕu)VJf7j /˥}TWqE4K fc8G/U5}^ Z@Lei 9޿ClTP&PV~z>ʑ@b*VnVYNOO}p%zNٞ:](; - -Ik,sg -h8L'U7;ۤ!N_ #sM*.6uw*>DEéf>ΝUȮ혬y+IkyKCٚO=dF#Ѿl~΅H_Tk -(ijo"`ɒ|}ҹ٩[؁bvm~O Qo|~>ՇmUMai#OB;_75aB`=/\Bhc&PwCM_OB aҜu2G1C31oa[6 y @np\7}^6sNB%[b]H`CrwHfl%s"olf^ ]#|h{8%|z|jXr5~ܥҪSMu_5rG)J0eWIid{y F]O.| -3_ bR+ NEke#3=-Ke._.N(S!S=TݮƋ;x.A+zW+ɡ4;}eg5PA)^L;Fk[sqׅ57%/1 |\"O(ESCہ679*rvWO2ɡa#sxXwN6^NWF=S'9 -5<Ӵ r鼽VUJHŝyjʛvzN0܁h9!=ZO fKz臦9;_Zԯ>\n}΃NbӌA!0oT(hB 1v_sYi i6ДWXeФїI | T9>8YaeѡS4CW;"$b=L54:*x\毾6G]-,d| P}VxEO3*e.vG'N@X$IȅsBSgAXdI"B OZKlJ<՜#If`ڊ7ri٤pł&! $4KpAdb䀩w@;[ -TȔ !>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42013 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42014 0 obj -<> -endobj - -42015 0 obj -<> -endobj - -42016 0 obj -<> -endobj - -42017 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42018 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42019 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42020 0 obj -<> -stream -H}oF uV9ȋ0(80xe3D.o,ifl>ܝYgFoNU~Q{`6OU:[NGV5eZ -T0:/gŪRճ媩ƪV]<*i$T* Sσa>fl͆88.yPç6 -gSj&V0ڡqٶe CPax7j`F9Ƀ&Ff=M VPWPMTXA }E8ƄATCOG5ѐf7PVHoYz+,; KBz{!g#!}GBK c>,}"OXDH>aS!}ҧBτK Yi6еTCPBR )jHTJZ!%g]kRBzֵVZ%t-ՐҳBR )!=Z+t-ՀjH YZkuj@ ]K5kеTCJHϺ -]KyR<=ՀjHTCPBR )!=Z't-ՐҳuBR (kujH Y:kеTCJHϺ ]K5kеTJZ!%g]넮RBzֵNZ/t-ՐеTCR<=ՀjH Yzkuj@ ]K5kеTCJHϺ ]K5RBzֵ^Z!%g]녮PBR )!=Z/t-ՐҳBRmDBR )j@ ]K5xz!g:2Bor<^(ϭ2*Y(xVI-t[\NgU3eL[MŠ/P-__ 3^ LSTgI4TԸX\8TuRO&C);ƹ, $o6у㡙a`֖'sPԲhJX~W9RX4!.Xm(EpGGusQTRo.-nR)ǫChzz?^7m K688>pp[Wi"/ >fjhWUӦf1or3푰~Vyt4ۃ=2"iu_q[T8nexݿԬ+f3U/E7ºyxjdwsSxlnݚnfr^|Uϟקo.O|4UZC;`eBfLZu UFX✑f0U q3KtǮ6XRtfQU1fCeU(Uʤ2ZfHǛp^gV wzc s]0,{ZG[>BDZV9d],VU1?fU99]k\10'|r^{yy7ʷgw7+ צxm)^X.b'͢J9eݤpv=MQb>63:;xB=߽Z<X86ߞۦC6pV0;8r8مjHeż噗<yEWļb+f^3DJW"x%+R -^)yeWFlȽPF2^yY2/+xBS )սjH ^PTCJbuoR{+=ՐX[ -uO5/VN{!ŽPTCJbuR{'=ՐX; uO5/VN{!%xwBS )սjH ^PTCJbuR܋j@ uO5/V^{!%xBS )սjH ^PTCJbuR{/=ՐX{ uO5/VPTC{Q (te?o/"F*OFƩWpt;\]42N|Q2 G;tFWIQZ6CqٶOt -5:,+aǏ|xgd0~w䠟&ȹ 7񪂤ݴU ^պi XΦE70`+G:3jfݢ.wvV b7]VVkCiI"mRl_9(?b1aVMt5SV -]߬sO]<.[~~=1:lc& Vn6Itu#bF<%>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42022 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42023 0 obj -<> -endobj - -42024 0 obj -<> -endobj - -42025 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42026 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42027 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42028 0 obj -<> -stream -HWko۸_ -*K`@_]qCS$$;#LE:>$94ƿv7q7#&SV?*EEx|_qeC&n>C=6OuOMSOMtg? ѫMtax}T$Y\Yo(QEy>9qxBLP< -(_~!zUk﮾nd!ҢKێLM췛(鱋{n[XHy,z,Q%+8+FUqQ|Nr*2| Yt>,B!K,_;cx'@='@ ԋ@ ԋ@ ԋ@$@$@"ԫ@"ԫ@"ԫ@}N9>"P_@}A/% ԗ2P_@}E<Xqµ>Pp!+Tc -k9ZC>p-'\c"\c"k} Ypp!P1drµ>,µ>,B}ZNǐE\ X µ>Pp!+Tc -kZC>p \c"\c"k} Ypp!PV1d -µ>,µ>,B}ZAǐE\+XIµ>Pp!+Tc -k%ZC>p$\c"\c"k} Ypp!PV1dJµ>,µ>,B}ZIǐE\+ X)µ>Pp!+Tc -WiUU2ߪmWfþśeK8ϫxF_^W/[59XH`^_}ݼ17\ȹ4駛_m"բ4['vĢis2`Ȁ?' -"&vri\6 -(r]u7e*EI!iB_/?~޾츜Ls طBzg[t_>Jl#WŊsŠ>5fKdnӏ&0 v!ҼZbw?̳6%v6`sB隖2GN4S0ce9F@ŏLb\~.pcՋ7 s^ ~l7&AȺA&]3Q'1@ǦGY~@54tݴؼ)-8EIZ>,=,UVE%TTkSVWeW;yлy+'Yy҄K̜C/S̙ZڂD*%EN92>[|Q:/-P\\Փ/ҬԢ宾 ~웹)(3 ?<"|E](^GǠ'TJ"~IQ͔Ra Tw v?nߪH[vVxe&+YCa:'bRP¡R94]-Mg8hvm@j{G^'6fw:_9FAzf͹M P%l1c8ag&] Nm tm9 K~*iZ@3}Be3ZXUA)ݶq о)+K>[i{ABTXYZV{4$r.Μ߮q&AWO)Wϙ- 9D̋ ~WM\28/WȤr=Q3_Vʴ>Iy\uZR)J ôeX45[B -jYk #?tɈEzl {{i/GUYU"m5= ( Zz+4Y!P[ha,&67pf![97<w*ܟf"0` Tg ċp$@{~6oФ]ʳ+Uqp54b'"B?v)ui]W`Zz!=}-}g罙Mǽ#ax+4BQ=v[0Fٓ(Mޤs?mK2%+bӵ|pj;_bzER2oQ{;U-vUQ{`F1/ό}ʞN -nXA@sXXy ~55‰VZJ/ x'82!f,`(y<6(ՅGDQk x"-i^vMz`T,w~V~O"Bv~ߟ(zNgs:uSg̓&!`II(LU7;x -ѻ  -`"(P:41׳/#,"y- -Gx:#8bk0*toMe3pǪ>r? {&KMNIy=?cӢAajݏ7"6[e^kZ>dzb2T׶qj,Cz=ƭY99G vފ=b||͋;w -x09Z): AyIx/;/v.ZLRPt~J`cb_/L أ+Q5#)ɣ>2VgWEVz'Qoxk<;c:oR| |if|ǿ\W :=QSAWsj[K,oV+pKS9nEblmЪْz`QMB,OF΃n!c -y, 8P$>k!):L\٦httsx~Ho/)zu.vB2 K+`=[KRRbVӈZ +ԣ0zeQ9`>[0:=Vz=C%fyQ4jD -;~q21Cav>RØKzut&J'2A 2A3c;iP-K@Us4Jk~0}B>] ]t&ռ&_m -A7Hqg| -6 -#ɪ8e[b/m١\^آiG#]inKoK;Mu,Ri>j (Hzv?o0S'?OUk$6N/ -;?:vk>H%=  -^ tjK__endstream -endobj - -42029 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42030 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42031 0 obj -<> -endobj - -42032 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42033 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42034 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42035 0 obj -<> -stream -HW]sH}ׯ偒WS SUGN4RBjk+ؾEN>}QVzK~z4M*ΜNJc2SA*^.Z6˦VeVsVs48OV5]9L\堩(SU4Lhnfl͆!|ԥ -rhP*=`yL99c"HCb2X`Qp[ --sw{;c3^pXp3>fc}'O s -S>ܧ}*OLp1>cs}{Y#b -{Kh-ŐS Y=ŀ%bܳZC -R Y{Z+bܳZZ!KpZkR Y{Z+bZK1d YkZ!KpZkRl8CwO1` {!R Y{Z'bܳ:Z!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZ/b),CwO1dqZ!KpZR Y{Z/bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%gBk),=kZKU {Kh-ŐS Y}<*?;UbLF5]HPpV%iZYUWżz>{?=RiKx芯eUlh6LڪVg*s jm߶rlf{qZд0Mxм61?ꦿ~>_//WEFɱϢ(KD7َ6ceQ&ݴ|p_O٪ [5.VyC*g[TբilD[&i֣a`y:9~](.Ueו$n}a++:x)qh]ևpٕjX°kI4_Wͤdh @mˮTkTbv12~Y\iѕZ)ۑz۷F ku"k+iΏD~_Md@g*,|trQ'#hyN߀+$8m=\p,fE@{=[ɱ cY՟zn4Wm~c؝a?UӹNdJ&A7a[d4Uk7U7N5ai7:6ۺ3&t"7fG׹2p $t˾EU/ʶSqW -ˢ,9w%\|TflP殸 >][0;Y4&q.|P>$)wU],q?m[o6c>i^,jmymF]q3)PU%T' oo65m$NEv- 4I}x`Mys!jClxҬs><2`87UQ_-a껣vh)^y],ȼÉuӯgÑ񷛖χ#ڛĕ&J6oҳZ\| -ןyl*)+́0 ,V9BCd T2wIbdP -5EɹhngldV:D,#P$43FQJ̀4jhagbbn@ih, ,MLDËC`j@ -Բb$A̜c#STjQ.@D2X¤*a! g obOybfIA&g` *]C\} Nendstream -endobj - -42036 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42037 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42038 0 obj -<> -endobj - -42039 0 obj -<> -endobj - -42040 0 obj -<> -endobj - -42041 0 obj -<> -endobj - -42042 0 obj -<> -endobj - -42043 0 obj -<> -endobj - -42044 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42045 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42046 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42047 0 obj -<> -stream -HWko8_ -2zE)3@SRVɿ{ERɛtE*q._ad/_^~zs%իoDRӒB1]H gk&uQ,g{Coơ].?\ v^We~,e]TB' +Y 1YGf=}.^.TY%[,ycݎ7YdXPnc~Ld,AzAzIzIzIzEWzEWzMׁzMׁzMׁP3B} y>'P B}/E$ԗPx6%LcH1d} Xk} YzCVǀEǐE\+kZZC>p \c"k} Xk} Yp!PV1`1d -µ>,B}ZA$\c -B>Pp!PV1dJµ>,µ>,B}ZIǐE\+ k%ZC>p$\c"\c"k} Yp#Eǐ1`1d} YzZC>p"\c"Uk} Xk} Yp!PV1`1d*µ>,B}ZEǀEǐE\kZGp!+Tc"\c -B%/R-}.d)4pg,JV}?~ܲc۾;ظmX=\T2o9؉;[/$w5TIxVh97hf}ۍƞ}3 KNͪ5;l$92T2'4ci&±>[T5\?k_%lsӦGvBY\owlp -p\H\xE B,)ۮƕ`+-8 _7ת=̱Ly-́=mJi -6Sv6a> -/FiWf8% k 0Jũ)hjڭ!'yqSk7$=tGo@Y<>3SJvO>$Z6?L6W|*^mb97\k1N+N G'8sB/@/J 㗇cݎ|ʻCT5 y:Q[`g6mkoa1)FA4tX3&jeV*=}MBv?MX]饛b-7U[ٟ*lB`]K?rĹPsB4mρ"g1ԴjL_=/R܀H }AUlh+ 5yЉC3 cNaYᄐ*5XC^^N 0dHendstream -endobj - -42048 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42049 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42050 0 obj -<> -endobj - -42051 0 obj -<> -endobj - -42052 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42053 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42054 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42055 0 obj -<> -stream -HW]oF}篘}YŚOrfS!n4M Vc%p%9\S{EK:>s y{z˟~PZ]\02I֫]U[Ԯ -V?jYh0juv\W٢ۮgSgo[iSn\[eT{[VIU(>vZStiMN>odB4IxЛv;M$Eܱhm&R-teHtpUhKVU>juʆ#.}$Ic$KnDZ2FFXܻ1<2Vp{;N=p>A}kk#pG>IOآ#tϱ{KXfrXh{Z Z˱{Z Z1bcZ1bcEk-h-2 cEk-h-Lj܋ZZ- -Z1bI,ZK{eh-Lj܋:Z u,Z u#p/Z@k9Y#p/Z@k9F,^ցr,@k9F,^ցrXhآ#tϱ{KXfrXh{ZZ˱{ZZ1bcZ1bcEk=h-2 cEk=h-Lj܋zZ-Z1bI,ZK{@#"`%Zhy偖ZhVZ5ЪV jFh5@ZhEVZ h%VZVK-Kjq5eZFhYeZ"ca%@9F,%roA9vÎYB cZ"c%@9F,%roA9vY\ˁsXRc4-{r1wȽ 2@Kށs%r@9F# -w h;{D=hZ"c4V-{r1+Lj%8F h{{(D==hZ"cD==!h{{; w%rA9F@Kރs̥Lj%8F@K>ܧ*Fou[QFE *?WCyT(>jurjw'۷cȆ1ɣ˜[^Nn>lgZenWkjnrS.V}fӞkEn?뛿ٺۨFy7j˓U}f;X>TO/W4}<q>eH$A<__<=_> [Yw @gmk6V۪}:utMJ&[&OG&ol̃krٽuw<FOwͼ[>ݮtP:^dm\e3vvZ,dnU1MurZl]83Ҕ"G+0D +JGK/$ B# l9;U~A~"e^Hgaΰ"%-Y,JۡӦ\(vYm{Rv*e)[{ -¼m:`Dq\a.=PSݼ"Yu)05*hp^nv%3]U^Q~0Lb0$4:nަvfrQ,2)Dn.#}7/oVg3B\.85 99`ۅ9H5_ݨ'ܔ+DC8 -[ rv^]Nb˜V_sq՝+FiA.V;y -A:̂n5JlNõU85 -dlʾw $She*"KzݷrjZ&ЍKYZ>Z7߾|/Nbendstream -endobj - -42056 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42057 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42058 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42059 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42060 0 obj -<> -endobj - -42061 0 obj -<> -endobj - -42062 0 obj -<> -endobj - -42063 0 obj -<> -endobj - -42064 0 obj -<> -endobj - -42065 0 obj -<> -endobj - -42066 0 obj -<> -endobj - -42067 0 obj -<> -endobj - -42068 0 obj -<> -endobj - -42069 0 obj -<> -endobj - -42070 0 obj -<> -endobj - -42071 0 obj -<> -endobj - -42072 0 obj -<> -endobj - -42073 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42074 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42075 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42076 0 obj -<> -stream -HW]۸}ׯ h$RG$ٴq3B#cm,+^eN":>\R,}{󇻏,d޽Ë c&3$$g~eg/b5nQb_ԇnuƾ.Y_{?s2OW߽^Di~ 'OY{yH.0g\ڜ' -C1dl XQ, Y`ڣoczzzzzᨏ >&ǎzIzIzIP8B}O >%ԧP:3B}>'Px6"Lkc \6,µ6,W!Uoc"\kc";km Yzǵpp!P︖1drµ6,µ6,BZNƐEw\ k9ZCq-'\kc'\6,µ6,W!Uoc"\kc";km Yzǵpp!PV1d -µ6,µ6,BZAƐEw\+kZCq \kc1dm Xkm YzCƀEƐEw\1dƄkm Xkm Yzǵ1ZCqmLƀEƐEw\1dƄkm Xkm Yzǵ1ZCqmLO1dm Xkm YzC>QS -^aicǭYdu>oE*EO<\̠h(K3p\j:O - -91278M2fXp]?͆i?/ P^Ն0<ɂ5]!!^:o2EQ4\^weDϳ̄SݖB񭞂; u|͌*G_-soBЛe6+/lM&Vo?~Cˏc 8/l1|wt [oFk'2 q֗\J'۫ϰe+ILmy!G5?aFS,O@y7is7gR|{k<,ޗ,7㒕Cc=Kt_Od/#14 FT Ǥn׋=8w^.:i2.맫Xd<y/w%Q=:ΤH,vW̄'٬lȠI&[ؠu OYK=.qvIa X.U SFGj-+tZx|rVQ7'F' -ܼL)w^9Y9O)}ixѩ9oԺ?@'%+";"(?|Ad"ȿOwQ@2&S: kt@H[4anq=3k$Q@$804ywa & `"+կBe9+>}wLM_lB61b9#[\Ts ;S6oTw7/r[wu`W$1Y<2/n연7բ "0$|UY -(fjsjhfKmN)hti%;TZ\F<-T9ΘG-g"_-l7TsT.iosߪQ%pSW{fh(X*ÊIsx 1 ogMu#04> xu?~?jztQ^_ci>0c'% Q޶YTGl֡^WK*˩H>/P 1234 0 R/Type/Annot/A 42078 0 R/Subtype/Link/Rect[129.600006 663.229004 270.864014 682.908997]/Border[0 0 0]/H/N>> -endobj - -42078 0 obj -<> -endobj - -42079 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42080 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42081 0 obj -<> -endobj - -42082 0 obj -<> -endobj - -42083 0 obj -<> -endobj - -42084 0 obj -<> -endobj - -42085 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42086 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42087 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42088 0 obj -<> -stream -HWiH_bTl#fafAjЅrwEZ|kX!pdd8ϲӧ<??yWd6A_U;ZN'V5UNmXEF*~SˮR=߭wM^k]=+|ʨ6 -0I -8W&]۪6gWWGNp)}.kCp&w9SLcggWŧEŀ"c]l~^X2+u>VKjR& -F!9pLbQ Xp,nb{[e1Np{'w̽{ =s>'}"OTp2>e3}gs s>}>YgPZm"+b),CwO1dqZ!KpZkR Y{Z+bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%gBk),=kZKMR Y=ŀ%b),bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%guBk),=kZK1` Nh-Ő%guBk)Z!R Y=ŐS XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` ^h-Ő%gBk),C ^h-6Q"b),CwO1dqAb=+|ʨ6z8XU,{t4bU1ʫū(&8'z68n֭9\VMu] &Y?TzuU|:w}j\q{P}qKp9K<3oa19:04'_QRr3f gŪ?!N!lTR%Iӛ`Ҹ\9t5ϰ|M>?ҋ_x`!7/ yw6ɥ|.%cVO3 nEC(|8w9R 6.v}cl$.ʭXv6jS.+v5]tn>g+)z>Emo)>q:mvqզvӁUVG\u}NAp:OƺDg98UabU}tH9i j w7a5]{ĻwUI=kx!q/Fz{7}2V,=f `x֢GUXb}0qdzUIlz1g]]0?-z15܃Pz)w$R/42Ig10]SnFqҩkh 'Y kmљM鵱pC׎{njsҶd;bU6(\\ӁQڗ1k^Nxn;|ZQkDz.J5Cl~.9]7[ ]woS.زKfE q귇Uqj_m8ȢOb󲢦Dl<&^Eնk`"`s44=M ٴ1΍&#2f[釐\nf"J=U1/:WpC4jv>{CG`/[ߕGVu[e}evӘ+hwN6 \zϷv .ܘ4 h"Eڬ2RĘ8S4c(_ML{tiB+mh7|()"CtȳskOOѝȘN4DG:R3/:)Н[|ep/MJjyCqNi9ҋ1 &]U{5 Z.ŲeUr+W -*P5`k Xk*TJŪR -*2+͒4KjJ+UR2eʽKހK]ro@.R7 Rc`{ T ȽX*^j, ^j, ^j, ^j, ^j, ^j, ^j, ^j, ^j, ^j, ^j,{ r/5vir/5vʽKނK]roA.R Rc`[{ T-ȽX*^j,{ r/5v}r/5vir/5viVT,sROMwg2.)O$5ϣUeIz_}Z~ߢs;:ꭋ}״Swy\ф{Է|mjELQÕQ4+1ZlJo8nҴ 5]S3#Ɋc,)˺M+3g_&jD\)߮,W*Oւ욇e}(ܿnjn`p__un'7_f2--C;9JrLⲒߊu8Wm7C;Ε~{?"N|йoms꦳s5};E\緗o8p5(Z{5`79?8~q|ꯖƽ8N-??9s$b~rH򬺽]x^Mt/ɧ&\&8<:/e[zkwxL#On siDwbo?}` 8endstream -endobj - -42089 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42090 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42091 0 obj -<> -endobj - -42092 0 obj -<> -endobj - -42093 0 obj -<> -endobj - -42094 0 obj -<> -endobj - -42095 0 obj -<> -endobj - -42096 0 obj -<> -endobj - -42097 0 obj -<> -endobj - -42098 0 obj -<> -endobj - -42099 0 obj -<> -endobj - -42100 0 obj -<> -endobj - -42101 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42102 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42103 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42104 0 obj -<> -stream -HWk_1uBZr|5?q q[2 ZL(qCR^;=#E=sJsӧo_Iٳ?~&S*JJb#"F*}WTyW~)^Uݔkʕj{m|.'Zl & U2TI.0{_ޫ™q?._rUt]N,|/AMO>W;Xԫi [P>| Z@)LsdP,s21c$!OG1`YCV$wcy --sow{;c1^p{/}$Hp1>bc}ǂO s>'}*OTp2>c3=JK]`R Y=ŀ%b),bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` Vh-Ő%gBk) Z!R Y=ŐS XBk),=kZK1d YkZKh-Ő%guBk),=kZK1` Nh-Ő%guBk),C Nh-vZK1dqZ!{Kh-Ő%gBk),=kZK1` ^h-Ő%gBk),C ^h-ŀ%bܳzC .R Y=ŀ%b),>Yyg]|.'Zl8|1KgNqì+]+5_u\]wW47gml c{R(7fe;|ykU|JΤX{JXlu3bZ]Wb=-pY92^Ɲ<%Q5Vx o7,lm$gVEJ4sxx;:Bǎh4=M8/}tN6lx΋]=!o]Ѡvyk| -|Qpׯ >/@[mY﯇aj8 tg] -wiþԉ|v0rد'/#97(WLpNj{]1>]?W78#n$dz`e7HvwEI;:; p2Wm.^ x{zzzt6&$O٣sX#^MÆ8Nj11x?3^BxyMCC^z"l^S3>N|>Su ],?s:VQ __}U l f~\nlܙ3~a$q};>Ut3k|/Jɻjl=PU;#_&.&su~۶wt. Rˮ̫|س}U eFMeՃ -@zl_ )L`1-/hy-ϴ"A+bZ1XЊV,hL+Z JiVʴ2A+cZQ-r-!kQ XF2LZiYA2-+h[!CroS Y˽rO1d Z,V=Ő%h[!CroS Y˽rO1d Z,N=Őŵ(,!CrS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1d Z,N=Ő%h;!CrS Y\brO1d Z,^=Ő%h{!CrS Y˽rO1d Z,^=Ő%h{!CrS Y˽rO1d Z,{!kQ XB),iUgZn8Ƒ6#[y*VPj\@Tְ]ob_aO4qNaOw:.uGHr'VFͳVFMӪ+u7q1:>ˁ&b[tm Lg>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42106 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42107 0 obj -<> -endobj - -42108 0 obj -<> -endobj - -42109 0 obj -<> -endobj - -42110 0 obj -<> -endobj - -42111 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42112 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42113 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42114 0 obj -<> -stream -HW]۸}ׯ>Fb@3M m Pd%D_v+"L0f$y(T'ilJ*P=vvU*IWw?3wypoP?Ld0&IuJ([?F0(2FL(!{Jw\bOַLFwX?γIN]qTg4ٿAC.ӳay!4"@<|ȆC&a(:Ȓ3`|2r29qbObg9fIjbbzgzzzzzzᩗz驗z驗z驏>FǞQxD}O>EԧQz3D}g)bZ4WbB\bw1ջ׺f!=2ĵ.Yzϵ q qis-C\b\׺׺f!=2ĵ.Yzϵ q qis-C\b\׺Xpĵ.YzZ,_iŀ4 Q﹖#u1B{k] Xk]Lk9Z,DZŀ4 Q﹖#u1B{k] Xk]Lk9Z,DZ@ u1ջ׺f]L|.,ĵ.Yzϵqis@\bB\b\+׺f!= -ĵ.,ĵ.Yzϵqis@\bB\b\+׺f!= -ĵ.Vqiŀ4Wb,ߢY<7A(8<(˜qF:xXqlْaȡ[tn&UCZmk1lyIN@٧1;Ju#N"CɳtfhFچj6ڐAuu{UO.Ϲf e,`?Yp2 93+8\YPtKCRv~睡s;WM5T6#B1?F:U*؈hn8wIY+gp`"+/wPE!Ŷ+dǬ>OƋot sOזq5ڧj a O `#:3=5IN?CL>.,EiƷsKn2cxF2&"Ca& z`x"\5(JRgylGBt5e3yߛNXE-x 0f|9hyzl1lky6YrpWOַ[=i|Ly2>;߫}546|I{u/!C|]`] v0=>>9`}UgW2OpixWzl[IKawj(9GIe1ʤX٫G0Wq[ث㸐U,(tσ zVN] -&dHk  S*ܗ;U+류nԳڷyQ7Od4;==G#菇C |LDabsuq= -jS mgQ-) q.:9VdI#/xovbAv\B{gBnQ6ܝ}ݨP3dbEWPZ+Hi)+?CWγˮ*wh1:js}YpطT*UͫmSt8L:G4a$W ۈ,^v -DH'A^O(՗{YÓ$\Ru.FHzPL$KLK?G+"1[ux)c>EEP4vJ~"J~b|6`_4A]Qc)#K^4q6ƀMsPMM:mx?GE?o.iΪ_h$^W߻{5̨p6{͇8^,>jdqRJŔ -vP{$唛ʹfO1Xڽ Ǿ+{ 1qvy)C0x:pJ7v`ZNx?T4Nd?9QXXN,Ed Kh4`To%\ɰ ,dxR򂞏8]G&rԀvx/)xNZ!|M_9lgMTHj۶=BGl ִ4Ӻv큒 SԈ5×P4]`~bu\O/>a86\"Kj]o&+K0Ai_ZYh'ylɞ,<АWaR&GKmJ-)LEfM[7(FY[[)3.l -3B%-%>dGlњ_Y*Q||0,?qET}`+rlUf5Y Q5Nׁk/'I=ؙeeeanjbg+&1Q`[>}&cvҕ+pڡy2dDgeДD>Q`s|S3fGolaX⋦]moZ,-O/ h:bɝ/>BH**S#Uts/*zXz,:嗿8+VuJ/{oleO4=扮m,0]pbmsl^kdY'2wREhzv:?Wܨr;~l \b˝ᩪXYXN^^z ; ~~;.T/QkU`鉔ogٵ>į2{ETA|pY̶^U/riɤ@o -I9o2) H^#Dhr[<;+v8<v:\іU6;nۗΠQI!SRPIH{,a)H0tVB+lY6fqCch' |54fcc* sH$jyLWZ!AJH=5̵zVȨ's!t@'Rrl2E9'>nr܄ONL>PLcq{]V~WD*5 ǯMT`J$VDT6~ș!^r;ÔOT:"ck7QQaHYFi:dCs+8 F(Ijv2,/X$r' -YT2%2e25Zۂ4UTlѥHE5eh"B9)l{rj"FۏCms Kb chZ3)Z>Tsks,+3AK{Tmˌ1Ha8kڗwm=f GW*Y(m3%QxrQ-+k%mcU}N{;䌖D׋Bpt"3鎏w}Nܽ+vefdBT2w9 mY8M5ުHvq*R=W+G:`)~lƸ -,QzߺbYo6{v-!V'cA%Jvq8{Т}B ~lZ?zW孲zozO%R%Gv56̺Гvcrqfasrn\k&}ҹkm͎×NWɦsC¦ݷ`>~ݯw 0ܵ||endstream -endobj - -42115 0 obj -<>/P 1379 0 R/Type/Annot/A 42120 0 R/Subtype/Link/Rect[93.6003036 540.330017 328.824005 560.01001]/Border[0 0 0]/H/N>> -endobj - -42116 0 obj -<>/P 1379 0 R/Type/Annot/A 42119 0 R/Subtype/Link/Rect[222.850998 187.828995 455.252014 199.813004]/Border[0 0 0]/H/N>> -endobj - -42117 0 obj -<>/P 1379 0 R/Type/Annot/A 42118 0 R/Subtype/Link/Rect[215.214996 179.744003 385.484985 186.5]/Border[0 0 0]/H/N>> -endobj - -42118 0 obj -<> -endobj - -42119 0 obj -<> -endobj - -42120 0 obj -<> -endobj - -42121 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42122 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42123 0 obj -<> -endobj - -42124 0 obj -<> -endobj - -42125 0 obj -<> -endobj - -42126 0 obj -<> -endobj - -42127 0 obj -<> -endobj - -42128 0 obj -<> -endobj - -42129 0 obj -<> -endobj - -42130 0 obj -<> -endobj - -42131 0 obj -<> -endobj - -42132 0 obj -<> -endobj - -42133 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42134 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42135 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42136 0 obj -<> -stream -HWk_1͇ -Y΋ÉM`uܠQ$-[Gzzݴ0gs/~n;?_Գg*~+&*4NV`ն-EF-Tqv9۫r]nxUvqq16V5)R^RIbը(یinH36hs)6z1 ߩnѽ?|>_f/źk']O?ek?*/O?g|/ -SR?gJU\mUC",~-R$9qLcĒq,,+n4ϱ̲-po{;Nw=p{{>A}pG>Q}p܋PZ - Z1bI,ZK{eh-Lj܋ZZ ,Z #p/ZkAk9Y#p/ZkAk9F,^ւr,@k9F,^ւrXhتp#tϱ{KXfrXh{ZZ˱{ZZ1bcZ1bcEkh-2 cEkh-Lj܋:Z -Z1bI,ZK{eh-Lj܋zZ ,Z #p/ZAk9Y#p/ZAk9F,^փr,@k9F,^փrXhت#tϱ{ Ww*?uT^` -@ -@+hBZЊ@+ -jV#J@+q-[I-Kjq5eZFhYeZ"camZ # ;aCȽy=LjD-=ΣӐŵ=Lj%8Fw qh;{ D=hZ"c4-{r1QȽ @Kށs%r@9Fcw BjqXRc40-{r1Ƚ@KރsF%rA9F|%rA9F|%rA9Fw%rA9Fw%rA9Fs%rA9Fs1bI-іhSJ^Uu*(7ETZ!|>j*ޔjت*/dx&;"7̸1 -}n\MfݪnZ.vܜv:_5:/XtϵQ37"yk֧5/*Н9r,RLo|~75)?/u78Ơ}[Ny'#y*:K~G̵֢͉>swvƼ7~bwݧh<Ƙ/a-s\kq3dg}n9?YS]toߤ-nn&j`c2uy^իwpr'ͻmMo滁;WE t=q6t{LFO.h[<ˢ3). ^z]+t;өGGrOut3ub whyّjr-P.oY.˝tݩ>^ Сg$ok\ӣcR onzj>mn<)qtBhӳ c;lϹ;䢮?UH\^\cSy*sl؇?}r,zI.#k6g@N&sH8b58nVb®M=%vƽ{P=u࢛_rN%L@\^M׳v&r_ɬ6ݮ;ᕁ6*n꼪ݬ8Wkc?حW{f.᝸ۿr-;=p3dxM&'XǼ=fғ/>9\ͧ~YRgcoȷLNo!]d|Xq~#yɇA>"cJ%sXRcr1bISJ~?͛bl2j|S :l7yv4u,'Vo -oG4|~8i [ou4\;..w -:RV .ܔ4\4Ϭc~So>A8S`W}?bmng:Z)88|;MgU/e( {~TY|h{hiO"@uL3LB'wfyf"$,nP!w $Vl o?O]멕ӯ3` endstream -endobj - -42137 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42138 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42139 0 obj -<> -endobj - -42140 0 obj -<> -endobj - -42141 0 obj -<> -endobj - -42142 0 obj -<> -endobj - -42143 0 obj -<> -endobj - -42144 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42145 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42146 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42147 0 obj -<> -stream -HW]oF}/9_$g!ihF@`$b*Q^7~%).]'gpU[~Yݻ?HMT֫P8YgNUjT'F*ڔmX}mvz[zur'Er0NK"$UQETyZ6:Ҍ ڜxg<+fC[_CIG&E_I -:H8. &N[L~>_RRItI'&@9s"1ŐoG1`YCVXԻ1<ŀe{;c1Np{/̽{>sgs s>}.ϙBp_0`>2Qp:kRlXCwO1` {!R Y{Z+bܳZZ!KpZkR Y{Z+bZK1d YkZ!KpZkR XBk),=kZK1d YkZm'b),CwO1dqZ!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%guBk),=kZKmR Y=ŀ%b),bZK1d YkZ!KpZR XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` ^h-Ő%gBk)MZ!R Y=ŐGc*."^,2jqĞ3B;&f9*P߶znFhSQ7:=f{x6Lh K%'ܥX,yH :KzStLo]0b^lSF?ն<5tՂt':D:Rϳ?oN}fSԪM1#64Dvm:HW6wVc YL32{Ww#춪Jn8HXSabT5!o -aWzE=y-~8> t?k1x9~0? Їצc~I%L3pPyy(6b RuJrXWj~,{ZAp1ra1͋]_ % Z Ysml&2mմ{>3nxk綎^08?>,.oܳ7 4s&{~EA9pg|CveqDVvwdC,0( 6z^ρW";[@y5=,~LTޯaDGroe20f 0=ܞ#>9=|>e#~;W_u/Z֙s*SW4¬߇rmw{dv|l'&vM< βP2ks 3b2gZYf'q޴B8a&B8ݧ*)mVD`_ 5Bs&~]"°* w8G=A/)5qFv,}큺Y÷3|hl6UF_[ˈ"O;-llhO6&\fe;>Uב p#W™p&=,߳c j?Y._nm˶R?3i@LkǀaAz,nE/]`xBZL˟`hHO.?mwxYo6׆H xu7Qm7O@0dEŴ噖< -V`ZA -L+2 ZiVδ -A`ZU0(hEHlʵ(,E1`A0-#he-˴roS Y˽rO1d Z,V=Ő%h[!CroS Y˽rO1d Z,V=Ő%h;!CעS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1dq-K=Ő%h{!CrS Y˽rO1d Z,^=Ő%h{!CrS Y˽rO1d Z,^=Ő%h!CעS Y\+>G~1:;ĞFbpS?J3\J۟i0dڳmdzjXkLW+cᴂaon_S W$~ވ gz_t/C2T}pmTv9ot۲nnf7s䟃V9l}nprs3?U E7{e2Ja Ơ1>IBHąa),ju Ѕ7mX]_=2 D,Nޗ|b0:lRsC\DD0``s~,%]8Yl6>Ægoy*0ڜeaΞRэ.@Ul%YAOt_MHkD ,&)usCu MM{\3#˶2~RH4:PБ:n l|9!>cSnnmSpXxpUj=re51HGjI1~0qƏ^endstream -endobj - -42148 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42149 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42150 0 obj -<> -endobj - -42151 0 obj -<> -endobj - -42152 0 obj -<> -endobj - -42153 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42154 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42155 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42156 0 obj -<> -stream -HWko:.`?ڀ/I,..Mnmovv $Ņj+~]IIQփ;.E*i|8<3/de~;_}*#*B10,e+_lD!`?uVn+M^ŒEpa.C] `-D0>Yl &".~4(9Fqlz!t4vSNVnz_|[7?WogHD1y "Bތ8<C C^' >o[8F)>7IFu0v1#\\8Q Q@9ɻ6@ KKK++kkkcc}BO< >'cS}JO=`o<`ium@umٻ6@umٻ6D]պ6D= -B Q{OPkZ׆(ZAֵ!`Vum"TET+պ6D= -B Pj]jZ׆(ZAֵmIֵ!gEֵ!gwm"TET+ պ6D=JB Pj]j%Z׆(ZIֵPkCS$TET+ պ6@um"{j]j%Z׶ Z׆(kZ׆(kC޵PkCS"TETպ6@um"{Uj]jZ(B Q{OPkCS"TEֵ!`Vum"{Uj]&Єj]| Pj]| Q>{cu .]2;<0aذ&Tu]et#BŒ ziP$1aIV&ٺٷuQ=prnirH -ӤgsM}#vyy?jK(Rcp@h_!" c;oxq4;FWK0PAڙ]-4&e2)02K1Id<*ZPVͪ5'nѾՏ-f͒Z>߿oߜ%Nɚ!OUt *!e |嬛aH#+kGwV R(g:<,VOJ *:n!%D:8SV#:3j{sC؏wo lj'#,n'*bX&?.DEvFzfr*3ηm; -ФQ7!-88`)Mܣ@&B*Q0Xӆ}$ @ڷvO8wq*7-iȹI^ -keO$Cp&=|aj.%؜Ն U1㡪t --iF<'@yYY!Wd|MP*gem+;|ޗTR@JmZl͹/]9j?mm|u,=ڴUl#?M]_lX^P` S6phߕu~64E^>n>_=Rj|/;)c[lԔԈUJ.|%#-q{+dڹ҇Aע`vj"]W0CR !#@c7wpfLEպoH!V8Q^=k+P 6kmXQȕ6c>jn0ҡ:Ó$Tlhwi1'ps2y[w/>QY޴ )/\0 nsqe$1ڶkM6+ _ fR#% 4M -'0UnJ2ChfX'ܨƢFQ R@4t^a*K]Y kaHדk%1G -Vz9{uQyu!ny%`IyH#WN!U Y <8qq$A:6r6Nx8͡svDfL_F70.\mFf]TECwƮ)ga5"'aGfja;aώ:ڙ=3y{A6~#\ȶN?bjĤkW39_vasy^>AF8:vBjlf싥Pf 2(m zϯQ(ڞA -Pdad:+ _r(Qѓ27μyS])9zu ͮL+1WiMVYAwÆC _Nm]FQrM]΁34]N̔<(P@~ƶy>YNK0!1{d$8Q!Sbԯ*H{;=}BzY\3Wx[So'jubc .Q!û:yT%|4-h9{jDՌ H|v>3ռiCq|# HaC -lyI>M!  <|UrC? GKV  Ok5~ -ytj]럓,-uQHr|$rW=&NkO jszvmut!H@kunJLt;,\gqݴUpNx/9ӾWQ -]dFKX,\X8 -DA2 _1弘QG L2cɏ};MP$96Qj:9fj$?rNJ\/pw D-4vx>y*to5|L" -$^3Km>q0n^ɦ7ABe2- mǥ*0:pjf!BCd3#iLF`7:Qk>+"OYG'RAYc7[?46PeF?Ml`8T $4߮43&w(DT#6S((5ZJ߲LTmG0шR@*aDjV $Ej=H%W^ѧ8 D֩Y1HL0]fqeP,Ÿ01R {w\}Uޟ\oU[m{_G^l2wF>>Oj>^1孃w endstream -endobj - -42157 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42158 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42159 0 obj -<> -endobj - -42160 0 obj -<> -endobj - -42161 0 obj -<> -endobj - -42162 0 obj -<> -endobj - -42163 0 obj -<> -endobj - -42164 0 obj -<> -endobj - -42165 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42166 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42167 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42168 0 obj -<> -stream -HWێ8}WQ=HM`: mvNP[tĒ:ܞb}DɖrO0>}:,C?_-/~&pB1(,Mdۛ߬ b9b̮'ݵ6Z}\z+.x -W^2V 1Yc4تB'W/M-i\O+z)t|xyۮzwR8~-{d`}Lu 5`GchcwbV I$4 g<]6ȵ}Npx,=!bg94rsw1` B BKBKBKB+B+BkBkBkB'SO}JO=)>ԧS3O}F<9>zϳ0Ձ \bջ׺|.,_p!PVu1d= -µ.,µ.,BZAŐE\+׺׺kZCs \b"\b"{k] YzϵpՁ$\bջ׺|.,_p!PVu1d=Jµ.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] YzϵpՁ"\bջ׺|.,_p!PVu1d=*µ.,µ.,BZEŐE\׺׺kZCs"\b"\b"{Uk] YzϵpՁ&\bջ׺|.,_}yX ͚:x -W+8[m%iIuϺv(}$W/:Ktݠ]v{vR8;5>ޝ:és'QL1Kg?]T6X?~%)Bd#BkQ$F9TM/D|vj6-hꋁ}Tk0)veؗ,HpMWtaO)k0\8 SLuhCugf)VQݝ-8+~lx`‡ \}ez3(0a4QyVk6"{ Ct$i|2ijnl"#vkdДF|[5wӏgͺBQEE(⹘P얊HMIQU?Lmf,sauXG!$J1# Bz䱞2#þ]xy>s'T."bSK[$.bV?Z,QR-{Q`_Ximc#0sxgk%.wGQcE$49'8Uap8' ơ' bQUV4DhÝg ^y;\0j{nN=Σ=U3uˎcs֩.2ы=Sy -%M17mK֬6!^ь_-m3#4nh*tnJPd%kz$dH$KExβ~~.=I {ڻ+)ۺ9CaE(jbźQ&Xػ<2<&=`[u -Gqs]s۸\O!npZDM_j 4~ Fx*"֡);a,Cn_wc>&>mQw(D@Į7Ei@oa?~p+B F+j3H)J}k,v^Cwny'3Cp{IlTY R&zw(8go̓^?9O@"룊A\Cow xj*ЬO9nky2x$ӌa [^$2?6ذwzA;d{S,i[&i+t1,h"YmMgƿfb<4M\d/Ts(\1J쾏c5c%$,A 2( /^Y+wTXf>L u -9Sr@@xG)x<ӧ||A:J;=wAb` طtU5$ܙPG+:֚Swxi6i]/»+WMo6Pы8!JiҴMܓ Wi$I\ 9|y{EVߴo 1Vb´;l=o+k(#s6Xa .<ϴƂPF4%χuT=Ex2ךfhϖN-px е9R0z)BS{c,%> -X @ Dȏ4Q -Jd?E`~^sBomMlUTl#Pw Tm|l!]ג21\CפN^Jă |~! **'5;+vG* OvEճ!hH' /ٌLV&^9?U1?IVQ\ApBpCĚSR<+Y۞ bO+-P|<==C1c?׷+ГTfyoO9=oV&nWZF~wjzoUQI{q>[Pe:,PxXi#*q59Vs7>0޻{bؼ 0i{w7^[vdmus؜I8SۡT IW ^rQayItlT(\$g:bJ/CL[x0We4י6  -@V f(E4oH1Edb2SE9tڰ 2^Y]2W6`U뷟}8=[VTsLW.ϐ`))+$ޛv\W䙐H!I}ÞH*[Rn. -Uy]o!f^}AR7H,QVyxArQBZBxfQ$sd3=(-EJw8K%h̯EOivj{ BL3==PUufoݭC4QYE¤6c :8l6w%q,nwnWwVMoF$dRϯ߼y^YPy>ogsc 5L/t-el/7-mвAˡя#I\E1)TJaܸ޺Żdn'fY _=fAR9}zePFFP&1Īv -SfPSPœi)~2WY -bC {Cȴ`@64R>@Eh$#97"*FYu}q6i`6^؜&ޭeAFyHX)x3ar2Iɏ=[Gr_rt)Й~:r6D%"~Lp)d h 5'e!m"?1<=/2zh(C5'u0_V$lfendstream -endobj - -42169 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42170 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42171 0 obj -<> -endobj - -42172 0 obj -<> -endobj - -42173 0 obj -<> -endobj - -42174 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42175 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42176 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42177 0 obj -<> -stream -HWo6/_Iȇ\Z+IEHS޸-hv8\[s7;݋_B/fVqFUͽQ&MY.3*ozYfPe6}m|Mgw]d5ݤPISUEPUv:,vu_LB>dFnf 5,Ӷ}m̰t_>u3_e{m6/ռ=^mtooFN&>KebtcvNfY4\F}UPH3}N?\e-sI*>dZrjх$ELjd1,<`qZK#po{#[ -½p{'; ½p{/ܗ})ܗ})W}%W}%W}%>} } ܋`h9 ZEt1bXdI,cS˱0,^LS1bXdbj ZEp/րr,{1L-" SkrX`j9YZc܋5`j9,ZEt1bXdI,cS˱Z0,^LS1bXdbj-ZEp/ւr,{1L-" SkrX`j9YZ c܋`j9ZEt1bXdI,cS˱:0,^LS1bXdbjZEp/ցr,{1L-" SrX`j9YZc܋u`j9˦UZ.zOPuNϣfle=oԃm_=8}tGw!te |ٞEo.jQtXCJ>:7O;ݣG.d c7 яov$y5hMۛ>n/ͺ},]SrF3xItďlIfqVkXVm"uAyjfU͆l?U}=;k\iԘ_Xڻ!g_1-~8yGbrбv_^?V7w@Eҹvs~mJŖE?hxIuH]pgNpO޾}:l۫a}C~*Zo;@,*ЛkoC&zK7sݴgDLfN|g >/kЮ|:nʻvsz^5~OJoi?q#Web)n#HyEOGSo#;&ɼ=Kv6![w/8Q |d G9?HzX0{OՑ$ӺdYbev4-뵯Z+I=PVTo8^ zM" -"e`L˶F?'DrB"9!2"Z=} h:Պ5,j1ݸbrHRmdDr(pO@[|Nd}b`i.-;F+էM0"ˢ2 +,jLzt&M&@EJ?( )7CięמZX/r"If~=ЀX"[uBXe}v- Y @s1$-@A b~DJM|+j> ЧY-\j}2N6Dӎ362epe+aDsL aa``:`9Jw7(Kk|&zK҈G'JHl^3H֞WPҗ6`y["$b)5qQX&mjgj3\Vzd @Pi?|'ݩGendstream -endobj - -42178 0 obj -<>/P 768 0 R/Type/Annot/A 42179 0 R/Subtype/Link/Rect[93.6004028 235.186996 339.40799 254.867004]/Border[0 0 0]/H/N>> -endobj - -42179 0 obj -<> -endobj - -42180 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42181 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42182 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42183 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42184 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42185 0 obj -<> -stream -HWێ8}Wpdo0 ``<@mJl#Jd, :>$uO? K?~qB1]$,dL5Q^"j쫡n}3tuut^:_/q~J$e%+aL[Xl:5 CI)rSnL߳+mny/D/=%/x?`;h,qRЄ9@<~d"ؙޱOSeQ)Dh'-y -GR22 | X,C&XvC>,AzAzIzIzIzEWzEWzMׁzMׁzMׁP3B} y>'P B}/E$ԗPxC$B>,µ>P!+Tc"\c"k} Ypp!PV1d -µ>,µ>,B}ZAǐE\+kZC>p \cH1d} Xk} YzCVǀEǐE\+ k%ZZC>p$\c"k} Xk} Yp!PV1`1dJµ>,B}ZI"\c -B>Pp!PV1d*µ>,µ>,B}ZEǐE\kZC>p"\c"\c"Uk} Yp"Mǐ1`1d} Y2)R-Czݯ8[?G$-[oOG<"d,J>D⏆^IQ]zL2_ϕ+mq/ &_X?e -pRhPlQ5n]~6M{z v>$C;knݺLJ^bz\D0]XO Ej9q<ןWDOk䫵}SY7C K_>nh8Vͯ%=J^>MMaU%|n~oSvkJ] <x[˩*(5ܴdbV-G? 3zcljkܰsi@jO{[ q'ᅗGԖP&g7+iq< "Q\=HS(&@~YEpJ*)ϼOB dHr8\fohjjj6gPd׋YNM˗}@E^.%O{spũvΙbLnCئjm%?ks n~T0H  -[vأj% -uh!09&#@~n~Ó(ku˘df*]KjBy@mI9Ƥ\ >vwkU9-UCTqS?E5f}\+.ONt/AA]7eUsWOl=$0"8I?s\݌HE"dW ks̡9pƈC\M0%KJl9ۿ. rg+7x$UM Ԋt o@} dcw] -'EaoJ?e?ܞIdtr5lJNݱm+\qv}t4Kws|\'NWbuO7t̸—$O9LS PXńp1!F)\_fݴé7,3BQc|]KT)\.Y]t -N‹A`a9zX!To2Z\HaCKs<<1e[k4hmayv>0Fi+jPrZW:mܳq2Bzۛ.`\~fJD3ô74KxizݾK$]$\jUZdytJKغ -&^3(ն )Qee6!1Ԑ@Pu,HR=[+ɡ}V9X|ђ`V4fQsŐ4uѸ g43jFl*a}8<4?EoKoX,oO1 RI)ѓG~̻'Q 0>ږ͓dDg Ole&Vӡ|sfVCz\=zIp7oRCI7Wa@*ooFp-zVXE-|(ڇk5R{Dd‰P@T-Ϟ(H뚆Q~_<6wz3䂦B:ULf&E_+Kxe/y'ۙjl5b1ӜPh j5S_jbnVkD\~zf~1BPooQe49v5 H짜6Qyu#},Jjeʹ'W;)0a=Y1'q,f |0DaLRz|Y_{UvWhMUO曒  fꀞ>Lp㏫  -p1M8NXyIIO.9hcQtP5|!"K:5c/'a[{\>~S2,Od=ڿDg߽?QP/MxY2. ;Y7Gy1~s- R^$jI - <{X@$ HhD#PIh19ǂ@} -n sX.LG|d!Y*ur  -@͍d+YD 2LUV {n 7Gd62sל*E4Qes A;UWA4cTZCdl]LŐ$JAj -d7endstream -endobj - -42186 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42187 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42188 0 obj -<> -endobj - -42189 0 obj -<> -endobj - -42190 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42191 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42192 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42193 0 obj -<> -stream -HWm۸_!_EMzMzw Z Z--94Cxs!gj<} g]y'/_]E_#/bP%KEiw&wDI|񸎣f[7snۮޙ_E|G/ȘMT@$.bY]qumnɊ ]|^=PLk~_Meno}{a3e&,)|^)/_(a܁j%LcĿA/msQ!S&4DJrlaFQ11D l0l yH%"`/"`/ 2`/ 2`/ 2`*`*` :` :` :`Ӏ}JO> g,`쳀}N9>"`_rBضZl=P-YT,*dm"TmET+bE -B(BfQ@P-Y>P Tm"TmET+bE -B(BfQ@P-Y>P TmH6 -cbE͢B(BfQ@P-Y>P$Tm"TmET+ bEJB(BfQ@P-Y>P$Tm"TmET+ bEJBضZl=P-YT,*dm"TmETbE*B(BfQ@P-Y>P"Tm"TmETbE*B(BfQ@P-Y>P"TmH6 -cbE͢B+B 7V:\E^ ?diEEW\,xel*~;C Ly,U9 ]}{L?~ҹYSܠf+D&Ys#d25lSw^p}hw~_z_o^寯. ֪Ft?52t¾p^P'e>E$Uu7ph%.IClc^|AǑv[7g:ǧzo͘-I+l[E+pXb'7)"(lrc% 'm!nOcqpp='-d_:;ѧ>]mω{x84cy|0p6SowzΝp<7ݭb86e=kX"O{ j\1foEz{D5+mƌrhwu{ӕ2xrQpj՘9)𴗮L uir@!V-c2| -I'G[SZ~@b|AlSd3G<[!`WG(48tzCLEj@I0c&j3mlڷp΍;Us!WBfsT.`\C7㹲}L>0*ǟSG:; bӭ]QD.ߵo>I=eG׸:9E|(vuE) -e*K7W p̦ӛ<֘frtdw~?a -6G -vk))b="ʆZw?UnF%P8sCٕpb:5W S#Htɒĸ5.vUv[In;x[bۻwԓ^F2zeqeBQQsW%pC=dtΚeYmbj:~2IV7C3wiMdun=2泌u{q/]Q 0e:Vmlǣ2g 4e[clg]2ەʙ.r/Sh**̡Kcs),E4Е81^5m0_cA`ɒ%4 -tž] -jR;n#eɖ)#Eŀ=#RU<4C a/?fYx_w9Uf3RcНƸ$=?m3N"ݾ8몎!ɢNη̵t= x1Gx MY*T@ tb/,w`8}90PEG9ݘǣ(NۑHlO1~<ǥfNDAI9hHT-njѺXL"'MFM§8cPV%_3H_*q ΈUhwy -9c &2\E]\L9 -N? KpdQ2"eTAW3 ]a& E-Ht.utvc1ABEr]jw޲~S9 Hgܷ!N2b3[Zۈ˾6Uvǩ,@ᙄ ƙ+ bxۤ9M1շendstream -endobj - -42194 0 obj -<>/P 1036 0 R/Type/Annot/A 42195 0 R/Subtype/Link/Rect[93.6001968 663.229004 220.955994 682.908997]/Border[0 0 0]/H/N>> -endobj - -42195 0 obj -<> -endobj - -42196 0 obj -<> -endobj - -42197 0 obj -<> -endobj - -42198 0 obj -<> -endobj - -42199 0 obj -<> -endobj - -42200 0 obj -<> -endobj - -42201 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42202 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42203 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42204 0 obj -<> -stream -HWkoܶ_2K(8i6.@rJv%_I%r6h!yș3GW_߼#)ǷﮣET$$/D<3HFzI(%% Ga }/EDؗah"}Lj!}}BT4*d4*di>P-CT4 -a!}BT4 -a!}T>@!}T>Bej}>Bej}F!2DqDOBPj}F}F}>Bj}F!rDPj}F!rDOj9Z(DOj9ZߧQ@QZߧQ@Q(}Z#iT -QӨӨZߧQ@Q(}Z -Q(}Zi>P@Ti>P@T4 -aV }BT4 -aV }T+c$> ->@!}}/,I῅YjCpBfIQp M d$J9F=b5J=TV&H TX5F^m6n̓l7]=,z& -go~ޤIZ2o3VjJf?xø+3&i"b90t0CP5[kjtaTGk0XWjT ƶYUo$Wk6<W2jHJHw_ Wl tvK!<_lzM{TḮ?jEяj̦[Wʙ)d]{ -\gRep3{`lOn,\ /d4_w#rc6a<ϗsפsߠ<{BA|dVKpD咠z[X!&~ 95㞀ZTo+xO!NaKLL`a|ExbW -MXU_U9 -I,V+hf Hrd1ԑS2ã bYѕqoGH\VH h2㛝!WSZ.'&g<%3_|`\nd2уesL[S)sf@܎?IYL1X3r ,o|D)Kʌ-&[W2BK()ӡ(31MQ;Ld~‚>E:/E=HS֟/fcu qiMT0~78\;9k&4?:F;1Np[ڰYt,jX6_*tM ⟛'Wx!3^qAP.'Mi"]qj}0Oa몝-@h`{gu1ӱe5 W7:U¬_@sH_WQ&o~0q7u׹4X+Io8_`e00s&1i;3fy êꨬeY͇_ y Bgà\t=$}n0-t`.;;쏓JLVPPr2! ٶ5S7ڷKTOgmnyс߰RH>RR+^%+ -xM(_N꣩k3O{rL@̏%kgjܶݿbT\ޜrUvS'ڢ$ΈDjE* P$'6@ht{Mo{Ka ۣ*UxM\.*dêmwiYFpF'Zj[8+VkL/db }],O4UŮ.¥q&I'b )zZqQb*w NAhWQH)uwT2el!T4du@Fhq}>府sZ) Z$>S5b9UfADBDV99OwL] ÈV0,qDDdٙb/Ҿ>-dbnX|$@hP `GJ+L97*C4?o9Gd^A W\\H _Apג;Z+@R#˭de邳9){>.$#N!B˸3LNUFO5yDUQ*1tU{ED-h3sk'HХ(c~vT߮ӇA# KˠKȹtS54 /Mނp l7kVĀh>2Oe yOo -%3Xt;TЖ"W^rޖ2pRmMHw6 & kv:К®0(ᦌrOt]5NT![`[/آ4/VV@kk=r,C00y<Pn@&Pr2rnP,Dv-O*c[@M[8ii3Z͖61WH9$q?bFLGvo`eb}>L&M0%d ͋$ԍs.4rMSI[Y&+z&س޴hAW6ADȟ_Y yauN;EcᲽ:0*wx5ZyF  ґzUֻ;)~/QcP0;Zfj;gKΉH:?0I2;ӑ~waQSI (dJzn BEvՋa7Vhk_/Th -U' (m삒ּMM=)"Y2DO >;ƙ9uIT'1]fcbUyp2®mqetJjMEd&͞dz. -ĂZjL<ֿE\ϤiewD[04bAdo3TŒfzek #<ӨJi /@tJ($< -])H]itOzcI-*MQ 2c+rk/i)LfZVN'._OUm‰z.v[hoZO vaty|@D뼏 O"Q/pX2wBqm̴ճݙc Pmó2=ҍv>eWT"v0ےR][n`4'12A`qL~>WG7'_8*8ʏ$ws*٫vvU6&<]j2W<7%c6wGǧz5 -|A2fẅF\ړ@ha@: dfu=7_Pu2-KYd% 0bL -57TLu\waLB03-m㞄l=TY] L/2K?KF0.,TUj(؀&,fCn)8։M[ h;\FF^m ׳sZdž]! -+3?\ 6:<{\ -mLć7x۱kXr(XDWO^%>ba{7P@c ԂaJ)񚩄d*c[,!נwW4p -B@[5{SPedtĕ =~V4B;䦹sla{+0sV83+y3xۂX3]D e [M3~x|?~Û?Gendstream -endobj - -42205 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42206 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42207 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42208 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42209 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42210 0 obj -<> -stream -HWks۸_Ԍ/>t3MnF;;%bV$e}/"+w tp<嗼n۷7W>We璨TИ$TqRy )Hp_I_U.JŊEpWN2\{AYn HF2$QJe2Mi+m,p~ݗ>Q8fzՂ42Wy+&C^`~J/<}&#&A&b[Y2v S.'9aH.fXp.,|BXv|.,zzzzzzzWzWzWQ{cD}O>A'QxSD}O>Cg Qy!u2k]̰|.,ĵ.fXz3,_ qs-G\b\׺׺a!=rĵ.fXzϵq qs-G\b\׺׺a!=rĵ.fXzϵq@\bw1`!u1ջa] Xk]̰kZ3,DZŀ QV u1B{k] Xk]̰kZ3,DZŀ QV u1B{k] $Z3,_ q WbB\b\+׺a!=Jĵ.,ĵ.fXzϵqsD\bB\b\+׺a!=Jĵ.,ĵ.fXzϵqsD\be׺a] Xk]̰|.fXfY&I&U_Kv/#MYa<1, GGQ tކed~nR^/XӀlۦul/>Z//?øK6VHE -W:n'*,8.4UJ3N -kd:~me-, .\rF3<'\rI3Haq6QKt,A}CaÈ˭nFw=V*ֺYš-ѸpFf F^1gJ$CPh1K1^lכ_b߯zeƶ?T=#vá`D4}6R,Ҍ$;Q:/K]g"\f̦ Tt|c]UL< o?槚;cn:+]ylPޕ-;P2hݱvK}ƭL %oRFLtR$gŌh"#xtN2WBs&1ldC~yϿb)xDtI*/+ 8' =V -.siB%Ai {a 4ێ G)UpP*pLx Sѕ WxJP$^RA=׿!TyNc -}A XU׺Pz.:;tzvWmi<ȁdu9qrim>KǦA5IrlUpAPOEɑZUW"Q*p#&2oO]R~@_⳶_>tH^yp8אVL]朏e1YsFi~T5lJꆇVϠ߇~&5}2})ap5]~ĺFEݗ.  ik o_g=#08-Sl:kLfURyT65O9@3*tnSphvYՃQu0v^3WHR] $-w*xWikAjvfiYz";wuQnYCؐ;xndUf^%oI4r2dbӑ6=\w!wy06?4bGI2mgK ht `;z7IծUO8$endstream -endobj - -42211 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42212 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42213 0 obj -<> -endobj - -42214 0 obj -<> -endobj - -42215 0 obj -<> -endobj - -42216 0 obj -<> -endobj - -42217 0 obj -<> -endobj - -42218 0 obj -<> -endobj - -42219 0 obj -<> -endobj - -42220 0 obj -<> -endobj - -42221 0 obj -<> -endobj - -42222 0 obj -<> -endobj - -42223 0 obj -<> -endobj - -42224 0 obj -<> -endobj - -42225 0 obj -<> -endobj - -42226 0 obj -<> -endobj - -42227 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42228 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42229 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42230 0 obj -<> -stream -HWkoV_q7@TP/ A)j] - L'J-ɕ=GD򜱻Cx!5s[˷Liūٯ Mw3u̺~6ˬ43k&^o翵/WW|nYϳSg>olMǢvOW7kHvӛwR/WN-XV-K{m\ͪ'YY9[|̭yOJ_;Si.L|UHJeß,*;R9IplIbIXjKzVp{;^W=p>A}T#pG++kkk>IO"scv/1bJYڽĘKXcpZ@k%,^ցJXcpZ@k%,^ցJXcpZ@k%,^ցJXcpZ@k%,^ցJlyZ1K@k%,^b%F,Z1 WcpZAk%F,Z1 WcpZAk%F,Z1 WcpZAk%F,Z1 WcpZAk%hĘKXcv/1fi#hĘܫZ1 W #hĘܫZ1 W #hĘܫZ1 W #hĘܫZ1 W [dVb%F,Z1K{skBEUrO> %2(V,VPZhVTZhEUJiU@RZ5ЪV jFi5@QZ h%VZZc֒_րUZhY倖SZh;{u!KiKY@KށK YJ ^bZ*^bkRZ cRw NC c֒_wʽ_wʽ_dʽ_dʽ_Qʽ_Qʽ_>ʽ_>ʽ_+ʽ_+Ę$r@%r@%Wr@%Wr@%Ƈ|r@%Ƈ|r@%wr@%wr@%sr@%s%1fi-hGT)O"{1Ɠ5L.':b*yd})Tfą̗OwYI4?"v;|>ŕpzmʼnllW|]̶z=_nt7CSG<_ u|JO`̿l)n6Kf[ VCg~/Ua]]nzw^<吼ܧ(]Nԓhing>USMp~T(jrMJG꼄Wv}1Q:zgO[4PIu0~||fWv=~YX}|vz斻a|K=s׾hk*in4zWYv"fWͮ >tFs/g짦p2 hCS}^O7߿lUyZZב³o\߳Do{kAu\ nW/8yiո:xr?Tz.Glbq߿zӉy||n-®m o;fm =zvJkoߥtd4ܸk̑\Zqa1bGZ-zl~=V;L Y-7ٮ~(Cᘇt`HޟyPd@B_m3`]P?J-;'#v7fk޾2F?O:s>^k:<[_Xmv]}O(\s -6wDI̲6},bm_\̗L{rFy>#w9LJSѰi;#W{Nz[Fy[riz=ެx2[beE[4\b F>`aocV,VPZhVTZhEUJiU@RZ5ЪV jFi5@QZ h%VZZc֒,вJ-rJ-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1fi- ^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ#ȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘT#ȽĘ$F,{1Kk"gG:d=sƚefwGyCk5G -٪ΧޕB?OJN=afz^nT9Ѹf8f=(W97wƓ0TtK |LpCz73@fۢv$Dcb]PpЗ#Vpd|u«dm:*+H$EY6ڢ@^DjdR0-! w1=?U..?2Zp*O&ա`ogy,ϣ*ȽwE}i=r؞o@VmjNݠ.w;fdʇ3h*z_^!H ,־AM~"Zd)QWWּ];Aċ;.&q|ve% BXSc'v`mߎqТ^h?h 3K-M]gmq㫌|/#_KF5ec]zdmY< MͳNtbpZb-_/,QcӀ'J3=9u|rApY1K\ea{,^c"Xb!2Z'e}+A Y|۾@otͪHk'.T`1yûwuMŝ;$w;L~a&lCyD{ jEpuD@I|\qxpUHB>i8Vtm.N Yi:rE$}sZ+]m!>\$g`5o훴_90I`Rw^r:6~qG55E#3K3B*6$iTs^HY![S9LO%?E߽q}IHnc*I'zl  XQJR.mGE -*\Tب|7MfQjqe%>A` WBc V˾E]Il4q&Acm!ϭbZ_( ,UAIPЍ9sc0yFMX7pE#Qc\&Z?Sendstream -endobj - -42231 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42232 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42233 0 obj -<> -endobj - -42234 0 obj -<> -endobj - -42235 0 obj -<> -endobj - -42236 0 obj -<> -endobj - -42237 0 obj -<> -endobj - -42238 0 obj -<> -endobj - -42239 0 obj -<> -endobj - -42240 0 obj -<> -endobj - -42241 0 obj -<> -endobj - -42242 0 obj -<> -endobj - -42243 0 obj -<> -endobj - -42244 0 obj -<> -endobj - -42245 0 obj -<> -endobj - -42246 0 obj -<> -endobj - -42247 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42248 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42249 0 obj -<> -endobj - -42250 0 obj -<> -endobj - -42251 0 obj -<> -endobj - -42252 0 obj -<> -endobj - -42253 0 obj -<> -endobj - -42254 0 obj -<> -endobj - -42255 0 obj -<> -endobj - -42256 0 obj -<> -endobj - -42257 0 obj -<> -endobj - -42258 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42259 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42260 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42261 0 obj -<> -stream -Hn7)x9b&   F=38z-6vU5YI寋?Vdz_z)/_t鴓: ㄏV#`78tN]1lW_ËpqMw#>zB]`%HS*{x3ϛ^\=3^-켕._yVǫ1Zɠ~NI=2[g_VwH {-޾WVti*査.{%D,p,St8JkJX2#QOD'F=fLc0űLQ8ZUcq (Ƶ8)F=qa\cbƵ8Z0űL1k Zq-eQO\kXĵq-Ÿ2Ũ'5kq,SzZøve\cq (Ƶ8)2EPkq,SzZ˸2Ũ'kq (Ƶ8)F=qe\cbZƵ8Z2űL1k-Zq-eQO\kXĵq-:Ǹ2EPkq,ST=e1Xĵq-eQO\Pkq,SzZǸ2Ũ'ukq (Ƶ8)F=qc\cb:Ƶ8Z1űL1kZuq-e1Xzw*#NQ'RrB_׻^?by1VzEZ*'nn֫氿Z~Kէ$yBׇ!3.;%N?ni.RDk1o( JWv"pAХ Z:O٤(`)M -cWV:kWjtvbn;Sc'_XF<hRxLٍHN1WvxC9o(`M=zmջD#*Kp%bHW"AiTDPU"hC*JP">QpTԈr'SV[\Ƙ -S.#^kH)_ִOJ -RцQ5Tt c*iJZV*(Txeign6٫orŧ2%9erdK]ڞj]t)kSi.dr#$Rnwk冪N+[nȱ,pYsSIGo/7w cA /ð/vss\~}'ߊXgǬǐ- -kpc>C09>%q plf=,{96x,?U/lxZî/^ϒ>><7e\?/WM أ*?^=졕mJ{HB6Vk|l}0`썣00kձ!2%;!O%$ΐ Mơ}Pݬm"UYxp#V<-z?-FHIG=L݆V:7gjCb[(bAlb`M2 ZebCr:8˫b O[#(&t+4FTrXmO[lC-%* ?Ե«"K+h͵J[꼌4Jw}w\CLIʍrj_Ef"^xkQv@9Kh:܄~=O jZmmUo|' -£ s\kΥUf7kGuǽGA($HiFTTLy vLH.;ʠl.WJF *7y< LD~8O@;΢VV|a9^'[a^XTd͑FEJGfîoMna%z*ƒoiyU˔lrVvaP~ u!'1&py=^i0܄Gv\NjY#R}K.a`;/aL>6pa(4ƥ)9WN)2k -{<}QMϒ#تSpVEO^k=~toendstream -endobj - -42262 0 obj -<>/P 410 0 R/Type/Annot/A 42263 0 R/Subtype/Link/Rect[93.6015015 186.431 184.406998 206.110992]/Border[0 0 0]/H/N>> -endobj - -42263 0 obj -<> -endobj - -42264 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42265 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42266 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42267 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42268 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42269 0 obj -<> -stream -HWmo6_ 2|(i( -n0x@mv00mk%Wt~"be7D_߽_E$zƘgqd EZ|v UOUˡzV˶n꠆*ZfѮ_,68f$," q9,c4 ;kMxX$Np ->}X}n^ Rv7m~ذ,ÜVenXjܳ@YGu -8]:f͆\(3(f <Ϭ)B9gh 63,r<#Ԗj&>t.ϳFOvJzioV -QVRJK3]a4)t4JYO5ϕ]ot}"x<{1P΢M]EKˣfr M qh -`S>1CXUb/ۋrW̮[ݶߜ(QYvU{g) wʞ#?orρKObS8&F4:I߉._Z'Y2{eub -Yޖ]QPOrL D)0;V}q2cwUS0~k'Bw !p: `%b8+{cD9W-X҄R/БTi-^I -8K!g!htd"ƨ4uƈ -Y*.SV|OfbbХQ]"9 O8j2r>ЦBDchc v4c!n(+s>[j, 7,ulP<`k*N-_Cq(KtZh=endstream -endobj - -42270 0 obj -<>/P 416 0 R/Type/Annot/A 42277 0 R/Subtype/Link/Rect[130.078995 498.917999 443.096985 673.916016]/Border[0 0 0]/H/N>> -endobj - -42271 0 obj -<>/P 416 0 R/Type/Annot/A 42276 0 R/Subtype/Link/Rect[93.5999985 416.627991 199.356003 436.308014]/Border[0 0 0]/H/N>> -endobj - -42272 0 obj -<>/P 416 0 R/Type/Annot/A 42275 0 R/Subtype/Link/Rect[93.5999985 236.628006 254.710999 256.308014]/Border[0 0 0]/H/N>> -endobj - -42273 0 obj -<>/P 416 0 R/Type/Annot/A 42274 0 R/Subtype/Link/Rect[129.600006 200.628006 202.307999 220.307999]/Border[0 0 0]/H/N>> -endobj - -42274 0 obj -<> -endobj - -42275 0 obj -<> -endobj - -42276 0 obj -<> -endobj - -42277 0 obj -<> -endobj - -42278 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42279 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42280 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42281 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42282 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42283 0 obj -<> -stream -HW]o}G*HVIr @\8hF@`$fjQ.I޴,?$rv8-G9oyݲ/\{/oFp biU.*:domޖߊ7c].w.nכhI1kTdlsbזNJ)+bpy#+EӔu1< ι/ή6_Hpفvkb3)X+gςYt•D?Kgc,ƸF -ͣp()Cy%P!yl"ث"ث&뀽&뀽&뀽!؛!؛%ۀ%ۀ%ۀ}BO > ا4`Ӏ}JO> g,`.`f%!Zl;DP-yTE<*dm6@6"UjͣjZlZl(}ZE<`V6@6"UjͣjZlZl(}ZE<`VŶC bG PjͣBQ!{lZl(}ZM<`V6@6"Մjͣj5ZlZl(}ZM<`V6@6"Մjͣj5Zl;DP-yTE<*dm6@6"5jͣj ZlZl(}ZC<`6@6"5jͣj ZlZl(}ZC<`ŶCd bG PjͣBQ!{ǝs 7yכh(& -X;3|Hx’ı!@DsVϠLW)8xf|G`TqIN'/F͸ty5NCɲWEB"Ou~Jо>|$6rt{nOG\W;p;6ٔ\%gq')Xi;yby]TE]%lD'n[cк#|;K֫,ߵO(;&)ޗ+C'͸a6El˫P~*Gj}6="A':'̯pdMJ6*>>og2c|2r[<-k1&,9Ii>Xv`:8p…`^JBfŕLp!33QJx 3`H*IR(a+^4t[F{9ܴ\ JqRԧUc}jU? Mmix(Y -a -};/9CǵGH&. GAO )tn?r_JO\q.?2@S`)8neO{Ye*9!{7}ZV \&S&ؐ:LsԕHq4;eeP&uJK'?ѩN9J FG6~}"x_돿4@x(^?S -*'KFttG3Fʁ?cԾlO F{l[6Ri鵙 -t,ƞ,?N\:=Tr}:ՙ9ߋ!INpUmQWX/M8zxwDHxIlѸSCYm >VY-ppoY5L7/HS -nQÛa&UxT7o8O{*A񉀗?m'G)+z~W./v\ Saν? &|gͥ6s ;_bg$L}sݥP6WVK]{@cfk']jH zIw|zB.4kNTNFݏzc20]R[9wǺ)|4,{Vin1n}7y3<^ [/f\_L&Ӝw#/лO\ڦc ㉍Wq80L^4NBpN7x _`bYbiDL׉h(j 8e(!|`L@J}͗@xR'07 1YDNoEYwuu+n B}c_hCv+&zMWW]endstream -endobj - -42284 0 obj -<>/P 1231 0 R/Type/Annot/A 42285 0 R/Subtype/Link/Rect[129.600006 663.229004 274.872009 682.908997]/Border[0 0 0]/H/N>> -endobj - -42285 0 obj -<> -endobj - -42286 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42287 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42288 0 obj -<> -endobj - -42289 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42290 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42291 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42292 0 obj -<> -stream -HWYoF~ׯG -p܋Ghp4m" VɵņJRR;{)0`ήfw8޼tswo,$Gr$2҄aAQP゠ --Z^tuW@}+Ejq""h`1 4 JD9Z5oXU0UaUXQkJ*pN|uɶP%ZY^^ ,5@9 go:CjC)Ps6(X:i6hcOKu$D6gS,+W9,V<=Oy& 8u9t ->7o N2ん}ٙVi'SP숐g)`ȧ@jQ*mq,NTԻRYY&Nkŗ$1Iu2q7$C75caQgumt5F( pO v`ZL Zqƍ3QV՚vhV 1t10K:Vv [FW*\/_f^1ߞos,ЧI.C"ĘO39؉f5͚0LNRO.BA/Qe>^.vldް֑ -] xG* REb یL2@Y^]U()߳Ige3VQN`e{A -Ah>Ѱ+6n!|֝-0ܥ.F:ZP 3]H qp\/(*eӕ [>=ͥ"ąv[w-zc{~ىP`δ.:4;+:( `\S]< Mɶv6K/1"\1nW6ie >g DXJ7tvXQ9 WfH(a-$` qyLp&N~"Z#$c\nLt"Ėdaf'Z+ǻsendstream -endobj - -42293 0 obj -<>/P 1082 0 R/Type/Annot/A 42297 0 R/Subtype/Link/Rect[130.078995 539.020996 306.118988 673.916016]/Border[0 0 0]/H/N>> -endobj - -42294 0 obj -<>/P 1082 0 R/Type/Annot/A 42296 0 R/Subtype/Link/Rect[93.5999985 428.627991 199.356003 448.308014]/Border[0 0 0]/H/N>> -endobj - -42295 0 obj -<>/P 1082 0 R/Type/Annot/A 44484 0 R/Subtype/Link/Rect[93.6001968 308.627991 224.591995 328.308014]/Border[0 0 0]/H/N>> -endobj - -42296 0 obj -<> -endobj - -42297 0 obj -<> -endobj - -42298 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42299 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42300 0 obj -<> -endobj - -42301 0 obj -<> -endobj - -42302 0 obj -<> -endobj - -42303 0 obj -<> -endobj - -42304 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42305 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42306 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42307 0 obj -<> -stream -H[o+\ #΍AIsvb}pC蘉..$̖DI{91ʚokIQ\|rxmJ^ªp:X5_jsfTf>ٴߛ|յfӵSյťUyksmQM%*&*JՋjtL7jِS`.?\}/ǿ)nUyfX͚-"a9`rmt^EU?՛D}>j -mC"}]d2{D1&K^ǵ2FF\<12<ג˂V HDz;ށN =HE>A }  KKK++#HEҋ5`h,ZKZrdzKZr@z1L-ҋ`j\`jF.^LS5rbj-Z%Z Skr\ Z kkZ0\#H/ւ"s`jF.kkF.kk:0\#H/ցZr@z1L-ҋu`j\`jF.^LS5rbjZ%Z Sr\ Zk̃dz%ZKdz%Z Sr\ Zkkz0\#H/փZr@z1L-ҋ`j\`jF.^LS5rbj=Z-k鹖\`jF.k风1zNƵʨ&3VO_PEUFm6sżQZmnK:\~ ]n.趙̚#}~=\{Ce)uP8?P K<`y+VXA -*BJ*R*J"`E95rIh,#X`YeKނs]z5rq k,{ zϵ8t =XkDžp,z5rIh,{z5ZKށs3w\ D=h,{z5ZKށsV*w\ -D=hY,{z5Z$k,Xk-8%zAF `{{Xk-%%zAFK `{{ѺXknH%Y\ED׍Ơ+UOUq K^j5ia,rܨ^C~M;Y?aX]6JyUm1z ^RҦOu}o:[M;o=WXj"}CUCo*9۬Qk6'ˠdysO8}~/6O?}(>M-W{m.THLٯF&Wgr}_Ę2 \{|NVof3QsNOW˛߆ݵ6p<߽{t;On7KRKOzwOO~{^5לx~{5fnid=4ڔn [ڛw}_>x&~pDx>}IX-;Efߢ>kF~]oC5EXS(фb韷y顙?ެ6/5kk]uro)2N:G~շ ]{RM7~UՏQK hZ3ள~yiekO ڲpk]jxR.`#ʾ}865afmwfQ3ݬ7p7ˎ6_8HA]b4ef֖G3$%l'P6q$>fpu[w-rz{=G;VLAZWMV*BNi&M*S׮; CĚUŬj+kҺOғ˵feA>^z80{ 3Qf|Z) 7B+ .*kB^I5ø4ILD  L.|MPg9,,}Zzd(h@Ic#Kɋ$d);L[}tdg=( 8*2fuT0 JZD1$N9zsk7e}۪ԘR@E10b^Gtj,RLXV 8&der+h뾯8Yfֺmu>BHNRJadEbdvFP9 jP#VUm-7LZU%oԝ%yWbxgϛj0AaJQaYHmySpNg^@i-SBqxCM18%H# 6DqSwF; 齩 xQڞj<XRGWy|=mZUy|rhl#*]4~'bIJ~AJ|Vh,R^v/WlfBYpOO?+dEJHbp3!dֺ!+3OHV'4PWlV0ݡrB1=o 1ʋYl6@hD0ۘ`y92ջ⨔mN>| iendstream -endobj - -42308 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42309 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42310 0 obj -<> -endobj - -42311 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42312 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42313 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42314 0 obj -<> -stream -HWێ8}WQ 8j&۹m3ٴYMw+ĒӓߢH]L':*S,^Q_~"_y<Ǣ`iNcTqeCD*CWZjf]Gx *V3Yhm_M|,!YJ7qD{&ݏ3643թF-<͔R@_#3ﶆXJ㧘d37xG))+̷wBBPaOaO a a aaaa/a/a/9><`/2`/2`/2`_ 싀}/ -a -ah }uD> ->@!}}}BT -a"}TK>@!}TK>Bj}>Bj}A!RDPj}A!RDϠj)ZWG Q3ZgP!{gP!{(DϠjZgP@ QZgP@ Q3(}Z -Q3(}Z>P-CT>P-CT -a!}u> ->@!}}}BT -a#}T>@!}T>Bj}>Bj}A!rDPj}A!rDϠj9ZWGQ3ZgP!{gP!{*xut&YL>zzl@Pqx]G低Q%Wo fPscCIuvz_#Uی]v{:5]1q 7ٕG;n|:\44dw{OZd"eQLuB)9!x#bRɨJ֏U7p\tP<Yt:@K4mo T}/q-D< kshFd*B'!8- <ͳ$îHvÊ~7iIW5[ϧg>-&v87v&lv{FEä=V4b63Y_VwӀXWMn]s`a`3ģ̭zHZ{v#Be»d1D۲>NCa)ew?;Ip=陚9{zqL IPVaqd۞;k>A7~QPf -r"DZK3FOS%_.xZ(Vc*.\2sBўi>¦߆` ږh'3ӂoJFG&Քq;:;x)Mg4왳áLFFN>?b$KI1ۣ'~_QT@_}^(@N΋ `J -jC[԰+kk1 f Y0 -)e|(T%>:Uc9KrB%j"wr8U-d XkәN]*yM@P%eGhۻNOB.o+)P琑.Xy*2 -)y?4MG\Wq =rvvƤÊ]|@LF_pq3Z4(KOy#=o/‡-^}x)St. -{^J~'KEa1iB;~l㿌WK6W萃XEqm9@-R`"Jm9}?rHJe;sDgy|cYAKe/4zBV׺(Db'܋s%\[= -&|rPH$`/AjOìs`AUwu$pghrT_jsf{W͎*C7anq`3< 893 -7jzQ(u?.Rǿgo7axO1YR=.Gdf^kw&w hOߩ5z]eq",,KяF&Hu -dM~Hi!F4q2+IsU7Em?͑RѲkuUQ/%ABXKoq>EJo .a3ÛI+\rQpY7f`5Zv"4R;AvB2S^R -r] Z9=88ChK:qiJ?3{0HM{)@+{8L~3412fTfk'%r --MmJ.e>3y -?(oF7cݼljL#DH"zҿ?N7ՑQU^6݂N)*Kgykb{AhKM9f&zo# pǶo̕AW>t yN-&@Y.jՀu谼4kznt.0&ko0e9OFy>YӏSFI\8Mtd!5XC3'yO -@/{4{%L碯K.FM,)b7ZY aV@R)qy) - g[*ky]j dzdw1XcCEǗO_?knVendstream -endobj - -42315 0 obj -<>/P 919 0 R/Type/Annot/A 42316 0 R/Subtype/Link/Rect[93.6003036 479.630005 230.136002 499.30899]/Border[0 0 0]/H/N>> -endobj - -42316 0 obj -<> -endobj - -42317 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42318 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42319 0 obj -<> -endobj - -42320 0 obj -<> -endobj - -42321 0 obj -<> -endobj - -42322 0 obj -<> -endobj - -42323 0 obj -<> -endobj - -42324 0 obj -<> -endobj - -42325 0 obj -<> -endobj - -42326 0 obj -<> -endobj - -42327 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42328 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42329 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42330 0 obj -<> -stream -HW]o8}ׯ>8@S`i)RlD - -Vlz3^%:C\rc?t _ R38,MTl$Vџ8G,ZGu^m){m E1(I8YcgXET[GӖvcKVLYAHc|DPDxlWuS.ŕ4|rws8NUľY]utu"0$vL6Rd&8{r;r<*<Gp| Yt>,!B!,_x$@$@"ԫ@"ԫ@"ԫ@&@&@!ԛ@!ԛ@!ԛ@}BO > ԧ4P@}JO> g,P@}N<+*k} YzZCVǐ1`1dJµ>,B}ZIǀEǐE\+ k%ZZC>p$\c"k} Xk} Yp!PVUB>,µ>P!+Tc"\c"Uk} Ypp!PV1d*µ>,µ>,B}ZEǐE\kZC>p"\cH1d} Xk} YzCVǀEǐE\ k5ZZC>p&\c"Մk} Xk} Yp!PV1`1djµ>,B}ZMV!\c -B>P}yt.B|L1q’$g*zo+nQf{!z-WwSv_fY J\">&).cpqK71-9۪r皋r-Na=wXwZ+ 88I;jrVYվBEvmu4U_=32^w/:mضTܞ`ެP>[Jwq#k9niH[O|{qcnvt1vU:{t'ݶpg.]e#hNZf2Δ7E5s=UIl=' 0]aᢠvk;:)oM|lkµ~ {,e_̂ i7մctWs@\A?i d*'丕]S޾V澭f[7f󪩶`}TÍ:mKf8II+989k<y?:q*pHn3%ƑsfѠ\KC68cآ3a%\K!@(Xg"JiD^C8IHR HU7 eىt.0 @I2bggKpכ4KF+y@HIg+$@J"iJ:#b3;săO*IV.Yğ@3^~ -ғ ,!d eO%;5&<ՕrkdϮ VmkۦK`}75\?5! 39n^ߩnoۂ 8CH4qn?8"{=\n>6k1-ۺ;z.}?.8vxĂkVtW[l8t8)iv[@eW.Gj`1+f=jC$qqYT.JrBm4TRˁ_pS P%$jw0*" -sH>B} XR,NXk0#y;&~]`o9iC\Z,O>)BA$ui6nf>)[c ߇\giN<yȗ~ 5[ x %Pz Xs 7Im Rb3842pIDÔ<A^}X$H,EAoؕn/+ä$p;{9 (G3~"VOljHG4N)ݳÁZ\H4Qp &3^5q@_D)_nQYn A"KeR{0 [N{3ofޘ:XT}ayV&&~gEB0o-X!Ge,#Ӕ*&AɹBV2Ty|"|5A+EftSۢ!R &01%94|dJd$W=H c!S:% b,j#鹣E_O E4rjG+"|<6u /{K>K N'̦ȐOdx1!@h0 E@3`턳j4Iτ`ncՆ<3(3ݺ,ɽ:_YCNu9!Z;)]s%dT5\.L_}:B@hWg+z]}1`Xp0_8p0^PBϑDd~)sߎ X EWq?D KVje_<%c 6$=ƺ -[l/`]ԁ -AxmpN7'ןN'%RPendstream -endobj - -42331 0 obj -<>/P 1376 0 R/Type/Annot/A 42332 0 R/Subtype/Link/Rect[93.6003036 368.778992 262.188995 388.459015]/Border[0 0 0]/H/N>> -endobj - -42332 0 obj -<> -endobj - -42333 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42334 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42335 0 obj -<> -endobj - -42336 0 obj -<> -endobj - -42337 0 obj -<> -endobj - -42338 0 obj -<> -endobj - -42339 0 obj -<> -endobj - -42340 0 obj -<> -endobj - -42341 0 obj -<> -endobj - -42342 0 obj -<> -endobj - -42343 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42344 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42345 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42346 0 obj -<> -stream -H{o秸ȶu(_duw[mZFXͬ%[wFds4?^y'3ϟON^1Wo^Glmi &-|9g>Nif%:1䴾KzujEݵͥihә34LGg^E%]$1)i0Et>:/f4g.MF6Gg7U;~~/4X{IX[iMoQB*;/t?E>v櫱9!g9HDb))"*pEe*=cLRcev ])pR#J@z{ޫ*J@>)H)H)HHH9H9H9HH_H_%H_%Hfւ"r`j.^jS+5vRcN/5r@z5Lҫu`jF.0RcHց@z5LVj:0RcHցJ] ZVj:0R[DLإK\`j.^jF.0RcHփ@z5LVjz0RcHփJ] ZVjz0R#Z WSJ] ZVj(tz LإK]:Vj0RcH6J] Vj0R#Z WSJ] VjS+5vjjZ WSJm`j.^jS+5vRcHo:~eeZ. -+VPRJ+U 2+Sr+W -*PJ*,hإYR`YŲeS,X^jK@.RwR{8 ]z/5vkR,{ TNCdy{KRR`{{AT= X^j|D,{z/5>>KރKzA -RRcfI]%5>0}K>Kz@GRR|RR|RRwRRwRRsRRs͒4Kj X)}eLBx^Mt5ӫ Ǚ21E4Y^nyRmxYC|}o͏`}M}QwY|<;3do|1}'".'/߿vv.XٟO:_/yeyo>󹰟,I WAW<]ٛuݚ擯mDJӭE_T^mu? V$q1XNyf,ns3ʼ0k|KۇmpP%ޱlegc`J ~ؙeqaHW3sr5+Xk+oӻ=+FO Ltx-~Zr5=jW ;ӭl|rdvwmع6#hACՂGq6F4*Һ.1U,(v0/4^Ѣو6ʰnoWѣ9gc_߿6w!P=nۏ@v$Cª}S@(]Q=G,؅8$?k>~]w?Ѱݦ&A[D/U-ڑE!sPu}#wY0O8zHGkQ/V:o=MG2ޫ1ٹo:)[^Ua}R)!7&qo =Dq˿;nMȲ~ۿj/5vXb -VX)`VX`eVX9`UVX`UVX%`͒4Kj䲀eU,XN`;{ TX^j,{z/5vKށK]z@.RRcfI\Rc`{{ T=X^j,{z/5vKރK]zA.RRc`{KF.{ TX^j,z/5v}K>K]z@.RRc`{ TS{KF.{Kʸ,˰{^_M~ƚUTl8b*qygvw.Ssik:4?/sbD$|2_oW%hziKZgRust 遯jfmzmVWf^uu".\Y네c[c[b.oۃQ}Y.?sfxj+eCς}\)_">3ؓ>I0Ƨˮ}Zvo_@͗zw>Bt]}A |8ljm?2r8SV<.^x"O[$ݡ.mu~aGwF~#C%0W7Rnzp }b>&Ll}F/ -idQ..ny'MSv+YUU.d,öJҕpNUR@#U5m?#m!PVRRt'%4Q6puLi$[!+ IʁKk f.43I,a$Od=5>ui5X=WCXN[2"`ZX! -}JnF$IUחL( ebOhxgi\PWծ9Et'62=cDHkD@5 w]X,Ddž\|6'6pot9>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42348 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42349 0 obj -<> -endobj - -42350 0 obj -<> -endobj - -42351 0 obj -<> -endobj - -42352 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42353 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42354 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42355 0 obj -<> -stream -HWko6_3-/=&i)Yt8(XHd;{Hi$N\Qgy/yțg}wXľͻB1_(SƂ% `m b7Ǽ/ͱi˪r2`.x n6/8 D,cɒ(e*PlZh㧈X8FR|VA,c!ȴ|Npx$=!bg94rsw1` B BKBKBKB+B+BkBkBkBDŽScO}BO< >'SSO}JO=>gzϳ0U \bջ׺|.,_p!PVu1d= -µ.,µ.,BZAŐE\+׺׺kZCs \b"\b"{k] YzϵpU$\bջ׺|.,_p!PVu1d=Jµ.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] YzϵpU"\bջ׺|.,_p!PVu1d=*µ.,µ.,BZEŐE\׺׺kZCs"\b"\b"{Uk] YzϵpU&\bջ׺|.,_}fYXfm7dm\da8c*?۾ljIڷkʾ~(?P۵}+lc{lbg_F^ R6UUخ7窣f-JW>ɢP'*;OMix|gt7b}qQ=QCYAIs*]:SuH0M'"[mALY.: TuNd2LF޶`ct\릾eحI~/:nۖi^r &iQtT0m ?nag-Bw\q4&Q +ǖ0Gigyz,9S= 8 w0;Ĭvʶ&1`ٌ)ٚ'KRuLa Nh{7 3~Ǣhuk۸Cqe^v`^ y`GhEɺ+5si_dġu!0VXHs+6;ǖ YCWb";8 .C_u ޠlSQ0҅L7'OtfC],wL~{bejo}*a{B1-o ~aM*M 0magnWe+yv5q?ƚ2/ڝDrRNlY;W3 LT St*ؖsyhs,ӱ*|lm3@W<f]])1"9)lX|~.V֌fţUntz*{mK8E،ܼ6Lņ5>8|yQ2GZR*9Cכ]eJ8ܲp9ӶtJe:tJ-8IY*lږlk?! h80`FSXYqmMOXlovsKZwusjMW7݅mg;SXHVa^BN#8a[άv[[ 9)/X-h9~/2χ{.3-{e 6pӽ~-l|·5J)B4<N^j%lTl)wˌ:d33? J2veʔJx4 {~ @|\&v:JFIV ` -ؕz6I`f -a;c)@soax:(6^EZvyj\us&6// ׺栈׽P c湫_QG9((* f2,HOF\ж|CkeF$%0s$c(x -^x `D^x -\Ȅy><9_11ϖiN7&lpe6W rAPWB%(* RLtPϑS:DB\#t}#w9*I[BL-'Yj7Xl։7@9j5%YxDŽgiμ(i'y O= ʴFp ϡ KI+>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42357 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42358 0 obj -<> -endobj - -42359 0 obj -<> -endobj - -42360 0 obj -<> -endobj - -42361 0 obj -<> -endobj - -42362 0 obj -<> -endobj - -42363 0 obj -<> -endobj - -42364 0 obj -<> -endobj - -42365 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42366 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42367 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42368 0 obj -<> -stream -HWko6_2KݢiƨNP(GɌ4;W^5ŢH:>${./os~ݛ,f?x.wUsLF`i"#-:SYł͡調]shtd*A67dmvA,g98cc\]m>4q#>Lܜ?WBCS~6]{aW2JS1Μm6A S`<~ d$31{ >_㇘mY$3=yCkXz$C?s`ι/ŀ%S/S/ S/ S/ SSS S S SO}BO<)>ԧSSO}F<>S=r´.v ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d= -µ.,BZAŀEŐE\+׺kZZCs \b"{k]Hµ.,_p!Wbջ׺k%ZCs$\b"\b"{k] Yzϵpp!PVu1d=Jµ.,µ.,BZIŐE\+ ׺1Pk] YzZCŐw1`u1d=*µ.,BZEŀEŐE\׺kZZCs"\b"{Uk] Xk] Yzϵp!PVuc ׺|.,µ.,_!WGy+fy n7͆g].(aI1x ?~ z%2>7ֶ˦_6W6.JD)i Sq|Z2|gLanolkuLLsU?EA8|s:@xy lSE7%#!|^Wý4QmgN8egθ,<5U=}7 w^[Q8PXP*yNZqWWd^띯T=sIvCGq6ScnۍqiO?],D=3\ `5g[y06ngU:եuwⰮ.l^ڏic3{iؑ]mTjP@Qr"Jey6_u2*j+e."ܫ)8A|X^ -F)!&`|?PF:USzw奄7`{a꽔IYnqhH,r zk[_/Nu6/S$-18jaSLtȶ!`c??6Cj,+U_ A~}w4d8!0bNKWc*31 (RUo1|o?9Nk81LXބMCvge\t(:-Vmyi[eUݾK7 H/yp (\zz D21 \&;VdEۯmguuM8W:Sv{c20QءvuP%_*XH"cUfYwco:{SwRLܯVM/_lR? p! puhREy*<}O'K#xkkr(ٻ/0OBߥ ׾2LBMIC&IOLXx@2 .5{_;#Ḽ?~B7+HFLKք,|.8&drǧs58D(2cnϿh87*"r:=l0SWJ W.eTjP4,[sXV|f7oH(h]~m -l4qxzыewlq2ώ3Em[G\x╆ig;jkζe*i?c1kՆ1؟^4k ;@/7=7hx\Eה͡dju([BkugfZ{ uZdj\%Ԭ_*v/, ~rKj ~, ;\:U2ojSEM5 i9+ZSnOexZͽs"C9$2 #q^*R m6Wez|h$peSwx_teN!OV%ȍ6TtgpUM - ИVWV#krfm)NCUcX{S&W\~mєSzC)JnQe})(\m -`aˑz$|PD yNоiuXOil@`ӋL@eC`d1EYV(ԍ#%\VVꢋfKIl@dpo7a;3sNcb(,".<:0mG쎶v/n1zQ\|}Br K[CnЂ`OH&7[FE`i(yOÚDuybb㌬+2D2G!PT,h)WLthQ5.32o) 2z^RV = )-tg#ը~k#f&˥=1}2rY=MDsr f&zT"zMkKL3s~5Bv.zrWu2_`)oHq&#L47A"Mwzwt8..FևOwπX/2 Yxši;sʞMeg#ۻ"=HHiK]u=|x>v(߮|EPѼ4 -¼D:"oyTE?/j]s@+`õ@T^qSE q3:yQMbrt`4 %??pޜW@#sm< Di[d*RTc(6Ϲ ݿ<%2"f Y*S҇(@N-#<y4vP)*3 2x#9shGrhB- n l*yYN%.KIh{rzs N%X^ E_˹3 B(G7L%ro1LaqM/f]#<;Lc+8J9%X{gyvwotpl\94z{ljV"r$ӺTsz#3+"],i*6֫]SUd.$(5jqB]Wmuzendstream -endobj - -42369 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42370 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42371 0 obj -<> -endobj - -42372 0 obj -<> -endobj - -42373 0 obj -<> -endobj - -42374 0 obj -<> -endobj - -42375 0 obj -<> -endobj - -42376 0 obj -<> -endobj - -42377 0 obj -<> -endobj - -42378 0 obj -<> -endobj - -42379 0 obj -<> -endobj - -42380 0 obj -<> -endobj - -42381 0 obj -<> -endobj - -42382 0 obj -<> -endobj - -42383 0 obj -<> -endobj - -42384 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42385 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42386 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42387 0 obj -<> -stream -Ho_bT847 ,85dffI+WdcgsxyG_&y)?~s3!OL}^:S>άf"+UfMkɺmvYljffoϜ^7acϝ-Rd1MUԦgg].ֹ~je+if{ ./ssLqxuyL/bh~lgbQ(nHȨɊnL9-63wHw\,2wHEͿY,KQz$᱅W&K/'5rY]BcW.Z^jr SHTz{ރ^ WHT>Q }T#HU/U/U -T -T -TUU'>jf-Z3VjF.0RcN/5vR#Z WSJ] ZVjS+5vjjZ WSJ\`j.^MS+5vjjZ Lҫu`j.^MS+yJ]:Vj.^jS+5vjj=Z WSJ\`j.^MS+5vjj=Z Lҫ`j.^MS+5r@z5Lҫ`j6ZKJ]:إK\`j.^MmS+5vjjZ Lҫ `j.^MmS+5r@z5Lҫ `jF.0RcH6@z5LYS+5vR#ZK@zsghC(TtVÞm"r%RXA`Ŋ+VTJ*T -*ŪRjŪVXI`%rfI]%5ެU, XV`9rz@vYw)X^j۰}bK]z@vw)X^j[}dy{KRR`{{FT=x#X^jE,{z/5ޢo>KރK7zA -RRmfI]%50}oK>Kz@[RR|RR|RRwRRwRRsRRs͒4Kj X>)` -yk,uCoyiʘr=0v<.9aП'q1v':|v|rUMO!y{N_yܚvOKf -uBpHGn5=~K]z@.RRc`{ TX^j,z/5v}4Kj4+1uOzYd=ƚ272mY|+_nvulf]ȝ>uM -m fi˖JGhf|^K^>nf53_߲l6"m@F/&=nFendstream -endobj - -42388 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42389 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42390 0 obj -<> -endobj - -42391 0 obj -<> -endobj - -42392 0 obj -<> -endobj - -42393 0 obj -<> -endobj - -42394 0 obj -<> -endobj - -42395 0 obj -<> -endobj - -42396 0 obj -<> -endobj - -42397 0 obj -<> -endobj - -42398 0 obj -<> -endobj - -42399 0 obj -<> -endobj - -42400 0 obj -<> -endobj - -42401 0 obj -<> -stream -H\n0 yCi%V?ZF@xٸ!A~Q>۟q<u:{Q׍w, ^Vvk۪WaĶuLGt8aOϮBEoahU?}煎ηcaM^jQGsزttތӒbS:+1c;C_Y bzrz|} -*KXǴG#If̴' Zx͜ -{=q*R>e}0aC R Xփ ̒<[-Nx\;p ;pFowýf؛of؛PCH?foo!6ϛ'x|ƾ5E~եendstream -endobj - -42402 0 obj -<> -stream -HWml[W~ϵ}Ďk__ڎ{mǎIti~eVڴ,]ӏe kYnIheT !U&鏭k;-jJ^ h'!~?}CSd#'pM^7I)̓SC,ж'zK88~&Ψ0GA2HY> - "^j%6:PE(@Q:P\ -E3[Al[AlV[Al^`b'f43aGT0ډkEU Ad1m&KU$,s\N~%eQ;t vcR_Շ-J*g_dì>ZF,mXnl"ͻ=Z&|qjWڽC kTW$Li\N1յ$; lE3RbrGUju C\*޺)| \=VL;Ʀt````0$/rLъrpw%sZ2EM@ZFg*-@#녭mM¸hdu87ۍ4 ;3'4hzsk% 0Q! \?|hS*qztЩ 7Wzigz%Iƒ-Ƕ蟋G<Ц8>;gWq=duYDp-Qt݁Rwt49 pq&ux.9oIy]he'ؗGv=WSkthfkUM+a_;v2S| zU,u2ITXO7w bGg\M+9Ȗ1?/Xy2PMp[ap1 0PpT0 -p IZl48d󔼿=i"|\&<\bd]/%֦6-?RRǶo9p=:@O*$ )ƒ`Wܮ_X]|ܛNkQ5|`GDF@0 L248}BB{nym)F*V -Uo -U$ > -7}wpܳT8ZLe/ e/~ˀ_69BFy3iwW-[ :._hїޑM\{vJ&fZ}| mUFVo~x~gƞ_b'8nIݺM(6mvEQ"H<BڧJ<.m%bEMzaxקٯ*ѝrRnhE)r%U3Я'8kEߢh#C8->?7ۄk -D@|M,jB5|M%*P{^`@`kX;vk9`P;0DmCԆ!ja0a0uq!?~6[>ޙ|I@+~+tApc9td mlȶlȶlȶlb6y[- u$j:iGu|!_G"_GQ.p,EAZW[Zc4$\[3GзnY%ꣳۃo/^컫답b'ߔZYiW+bW_\:~~j؅59ΤLN6\!lÛe} ˥bM${,/OW9=bX'0t`3[~ L p?e2*PT*PT -UE(@Q({k&HAYɦ0&l]xW]b'K5iM/y/]Ws8B(qI^:rsm|hp˦eݍzdJ̧4~upuJiv;:!%eHFL -*@ WKx,O* -`"*b"*b—&:/:Rx>G|t#9@S<$MIQ@ETT@ETT@EH(OR4P¾|g֊|:U)ew-s96'J^Ϭc{d [llqulllyڒ[IK-_RgzR,tӹgMKf.6ܢܨʋ%+Rf2W4 3StHňL-yј7Y:-C\ lm1ieus,=I^Fx:⦖rJNJ_Kw>-u6b^QqIWrCqmwV lZbSh{+<qƬFsXGx8p6 l lB:;j')]>-Bq 5Tb_qRdgӇA>Y# , De dig3Ѯ~?Ko, G}%n=i'6Yػfү"< d]>b6!oAģoV"ęq+8c;c;c;c;xilbW$"3ׯ`el9Mf,I40kTLXfN9 ,y66a3\?y਋+{>dV w!i$@4|&B@]AΈKkuԶj˴Z[9haq:\jq,)E͟L0i2{ow߾} c<>I10(D&`"&q`*+0300o2\YXJT5XZԡ˰/|+ЀX?_o+*B YÆUqnrvszs|]/ yHr @7A%P Nzؠ7z\ZiQzGz -R_AJy5ޥD[yVܗvġoPyTZF86i|[K7QNgsN{?(u: έ/m5f-ǝ;r9n+u -Zv Su2i'wl蘐'2_BJ#?+#?E`,$Pai$ƒfPLRRQX=TcC?S.!{>N"_\Hg??Iޚ;hMY[CZB=93˶5<ȃȵFQJs]kk}V~*edߪEm}2>M_5f9~lkd&N8lpnWaBo[nޠ8H\>J}z}A[>'c[gm} Mg3d; :yϜCzf{7p;ʸԱoQ1趔msZۘ}WqҏI;y:F0yVEJt^hߘ`|0GZٚ}{>7ιQݗ2WiOID_ 9&}E7<:Gn:NYfɯgDSLUsg$J,"t>IYtÈ鳲:0UDSM|IGZLa^:7CñT uG211ZiFSo)krwȴc=O磾.zuk\2o 1"xEC]=D.Eϐ#w -k[.Fȇ9|/_ 㳗DBD QAv6v6V^Vv>DIZ3w.1} -3Yfog}C·2&qz iɚOF;9x5=BWY۵u -|ggb眇9fb15P_Mp9-pF𯾦J=goT_qٹu'{C롣e%Ƿu |b|+il3(9(YPxK#Gvӝiycc1iX9Sp!?Aonch]a9OjEA޸yOpp|7r><˜xvD,Ko"_1w M Q61O,|}kDBLym ,TD~(endstream -endobj - -42403 0 obj -<> -endobj - -42404 0 obj -<> -endobj - -42405 0 obj -<> -endobj - -42406 0 obj -<> -endobj - -42407 0 obj -<> -endobj - -42408 0 obj -<> -endobj - -42409 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42410 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42411 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42412 0 obj -<> -stream -HWmo8_2(^^ ]14Eڴֲ|loFd)T!<}t짟n~{ ?z:oUs t&D41b 8+Yp]ݼwuSVkk[mj,g8[n,g98c*&a\O ¦wRFǰ^ekuŧ>W~ٚL"a8gav1 rmݹ6@q4rswm{{᱗{鱗{鱗{W{W{{{{O>!'`zS}O >#g`ys} f9!ZVPkC޵PkC޵!gEֵ!`Vum"{j]պ6D= -B Q{OPkZ׆(ZAֵ!`Vum"TET+պ6D= -B -$Z׆(kZ׆(kC޵PkCS$TET+ պ6@um"{j]j%Z(B Q{OPkCS$TEֵ!`Vum"{j][(B Q>{(B Q>{׆(kZ׆(ZEֵ!`Vum"TETպ6D=*B Pj]jZ׆(ZEֵPkCS"TETպ*Єj]| Pj]| Q><\͆*x nd-7A֛3)Q’Ul)WnX~ HfBlr3|Nak*;;,Y֦Ƕ31Tf]Y[k|("/iŧ)4c+5_ݾwڞĤH5uX}JelR\ڬ-fձi< !rkhYWvt_nM;#\ʓ0 MDEg3~f׍Dcw86Yx*'i>+td^au\Xob/8 ΫNQ8=4¯$ &=ܗ#HX{)2+[gI!N"8tt@uŹ@0{4# o0R$aavܯEԫd0$rr V]-j?VŸ5'NixrY45;Np82'x \g#SFCOs)<9XP }bWaW/Vŷ0 v~; LIB # '&,Q5EY'|]6u3FV0WYr^pP'9[Wl!m01yݚKYfS0$-x GHְU}ܭ]ukmTT@&ݔu7Ƕi >4%lX_xlۘ{1T zNncΊ崒HaqYM ÅPɕ="Mۚw9_;Dt;hu{)R -7 2+s7~-Q9+(51!x亿7z3Oy ~{j؎^6=l0B]l9qpOIdDҘB?۸:M]b7 gAn"0Q etF@nsnO]F -o35dAMnY-dr8nl'tѷaWI -䩅SEF]ovFA@R)nZ,'TBݡJ)*]/ ٻ͡_?&v_t'}`QJ!&ϥ"2_aHJH#XPAFiŋu4UvQLCE X7cveJAD`li9r7'o~endstream -endobj - -42413 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42414 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42415 0 obj -<> -endobj - -42416 0 obj -<> -endobj - -42417 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42418 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42419 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42420 0 obj -<> -stream -H|WmoF_ ]84yqIc<(0\ZK1Is﷏d󌃾3ݣӋW}Փ'^^su`WsrIΒ9'HN`[At,%aŽk-s, po{V-po{;N=p{{ KKK++>A"1#tϱ{KXdrXh{ZZ˱{ZZ1bcZ1bcEk h-" cEk h-Lj܋Z- Z1bI,ZK{Eh-Lj܋ZZ ,Z #p/ZkAk9Y#p/ZkAk9F,^ւr,@k9F,^ւrXh"q#tϱ{KXdrXh{ZZ˱{ZZ1bcZ1bcEkh-" cEkh-Lj܋:Z-Z1bI,ZK{U E U[l.N` -r@ -@ hBZ*V)JU - -hUBZ -@+2@K -2@Kހsl=LjD =džk>KhsX@Kހsl`=LjD =dž>kY{Kjq;@Kނs;@Kނs.2@Kނs.2@Kނs(@Kނs(@Kނs.@Kނs.@Kނs@KނsRcĒZ w  w w w C>w C>w ;w ;w 9w  D=}BNѯENZ+Y6OY -<^$R[yuȸQu./ 54puf?BN@;rȷ?/>3a\K||vUDonMŢ9{ߑL<\ѿwo^z^<Y? f7gp͌FSu=՛ӓong"#j:fcO/juQU붬_fq.p)z&Wfzޏ~^#n f<8=JO.G]6]W[77bu5ILoͲ?[iox,N/k|~>\VNnhSUEm7/@k?AB}(~hGa -Za}g/ߜroxs7dBrK6= #Im,xyګun7.vm%c1sny<m~iR3{<:qr6#6WI ݭ"alG}|O{X^Uvj\au۶7r5ofZwTy>qdR]gn~ۯA0u×;3̴=`W.ͳ|/sfvvټ[c}oR^mgzMʹ)Ez٩cSwSWƁT@a\u1:gl*ݣ[^R m20N͟(̘N6vN#pL+&_Q5=9l9 J>Vj,.mogqzgh`(nftc=өb7B @R}53)J8bT AaPA8C:IyR(}Nm^ -fFDDqhFpFݟwE'Ҕ!2_n  4jڏT_W[.O D76A@63vV*"n{k\g,JXmmы'-$"0ڙ6R(mZ\nx{ Mp41‰ Eg0&5/ -Rǩ\M rb2v6sjRrAB :@Yr}eTȨ>Sfἄ楉 _ȄV@dV2%e7en&ёj yZk=&,6jq`W81FEqRp_Ղ] ܿvPI -g@r0[2{ny)\lB0Pm,A'`Og}ɮ#-z(3r'o7_3ovi`?*v>1 2I -,ɼ0htKcw,c )N3:8ӭyRWcEIcp92$l"]5Ft 3 t!nRy·V%h] Y_-!ܕEd̄d偳#[c{2m8i>xw-2%BwP=WxQR 22 n[KFgT&F\F񪍹Fr!K#|>~A+,c:ol},ͼ7D{Q$E4NUZ p+R+̬cCQpEQlɈͩ[ X$8St!gD̫6+c@4>Y_~ \[endstream -endobj - -42421 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42422 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42423 0 obj -<> -endobj - -42424 0 obj -<> -endobj - -42425 0 obj -<> -endobj - -42426 0 obj -<> -endobj - -42427 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42428 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42429 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42430 0 obj -<> -stream -HWnH}Wt_yd l'-3I-I9|VQjR8˧ӗ?c/_^x-իo EITIG*45y_V -\'d]񘿩7uSyK7"^lqP0&yep;ɗ]QWl~% Pο,~0؛.VYs7iQjf ǟ/\1#xhtEPoLp -?/X( ~A6M<C_΍Je]$K$K"+"+"+&k&k!!!}D<>cc}L= >'cS}J<+Ӻ2k|n Pk|n Q>{7(µn Q{ϵpCs$\E֍!`Vuc"{k׺1D=Jµn Q{ϵpZ7(ZI֍!`Vuce׺1D׺1D|n PkkZ7(ZE֍pCs"\E\׺1@uc"{UkkZ7(µn Q{ϵpCs"\@ucٻ1@ucٻ1D׺1D=jµn Q{ϵpZ7(ZM֍!`Vuc"\E\ ׺1D=jµn Pkk5Z7(ZM֍!\wc"\wc"<=bnQFij ^/[1A҇&$,2)[f:-1aia|;7oJ>wQȖ/߇Lit9&~aWMɚ=$ #4Fg*!?\PLтQ sxlC."{*?  ovۮ+Ľ[<=~t!r3<:g L*S}mt+d: -yŒ YE…M}6W[.srP9Xa3cfLAp[yv/{"?OW2$ -#xdg*"PY Wۺ:D̫BLbn`Ja3/V;-B3 .k5Kh5 6A/ &mϗ%'C]2 -`RdzՏyNJ1"+#/0 L-}B<cl_-Xߕ͋ɻ*kX͛VP`SEw~OCS=+Aw\%C[ԉnhJCG)zT3TEGR'zn N|]7Ew|V9EUi/ kIkxhyr}' ~W-#*lOv6ヨ6bp0SEn\VWZd뺫'9匥 -ls@-mP-y5ZXO !eYak/Kmʚ´M\X4T=u\y;pj{smd=IQ]]_й^.0"5}€XU{.?i:LNFilef^,ȡ% 穅˪s -i*ZiF)s)8;p:vM|zꩳv0O)D8OޞL<=h=zOts<~kӞz`8ST6JݑX2bStO|M 8הԋ5EbzfwA][_t[BV?y[Pi4X|y+x-҄c+QW_O^4Z!O0 ֟6+N.Dѳ"^C|}f^/"4' " -.nwO^bW~ -q?iwmt'|zSz^<'פo^#X\2eݢM'-`sY'?XN#&P\cDQ<`(NJGcyldJ4Mued^MmS -K59s!\~ȸgiV{ahcoz?pCgBa9e0o3tQiF<]+>+~i_ੳrgs~y_vSce2yA#,pS*8Ɇ9*5,}kጷn nz6#n2LgtndJ)ZLlJL/(a%GWEsS U KunSW/#u./_)@1 k4#㶉Hin܆>jgUڝrhw:m(k-ǻ} ($" |ǵ8BdbޭĂ(( PDyԴLZhl1ɁNw'*gJC(R̘rL#McDSk{&{~0zun׷2WnP|6l*V5S*jy}P[3(^V0W7ʏǘY[ӦŨMŌ3쮇@ivhQ?2קW]rC_Xo\Lޗ㞤)h)a8RWg8G½aҭv%}SkZ&BBEcY|F- gLDR+&,Xv5;,!@JY/,Qjvq4A`>mݴd 5l5]y}e8>>>h"М NdL=",JWsJ,PKʱiiD(5by{qN]H-OWu9~{ +22Xqe&4K9_2X $J{[~X=oF&H -iw z ;}~ǹ^,=[]jeQ96$q9,̏SRfA%VհR:&L$ͪ$ڠ[cIM}+;oE01e}rBG`c.ʮ@EӯJOJe>G"{q\n*Xl'&LSכ iV̇z>+ͪuM/JtII~"|,FKHT>EJJ($p/X-_n >^^|zez@0xBgj.!$v֭^ʫ6JW$tEydcb蛿"GIP8|De3%YH̿)vK(Uҽl(8$u8:l9V<}cTQz\EaO_)(T(^FĀ` -hb3A"kjd{Q` -P]׀TƘ,ꐾm0л~'H$(v1= -gТԽq3 -Rw]9ŀJ<SkC ?SIlQ'v@me@h@[կ40f_͊褠6k<Ĺڟ?if﹎WWЖCٽ^Z&Ty-nӧi2WEj+*~syu,Xd=C`b5Kܢ*K -u(p-g2蚚K5]bVD$=jIDIcz4p펧oX=VKaߗPv"]w[rq>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42432 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42433 0 obj -<> -endobj - -42434 0 obj -<> -endobj - -42435 0 obj -<> -endobj - -42436 0 obj -<> -endobj - -42437 0 obj -<> -endobj - -42438 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42439 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42440 0 obj -<> -endobj - -42441 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42442 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42443 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42444 0 obj -<> -stream -HWێ8}WQE7`0If'H.6j%$U2Y,JCSUzw3LO?=q_FLY\y%҂e!Ҝǃ(F,n?Lw?C{Tn⡍}1z싈YE5,u\ÜqU='fj.^=DXHyy^E^E^E^e^e>'`s}/E `_K}/ e"W`_k} f!Zw8Z߇Z߇CTPC>P-'TET >@}"j}j9Z(BQ@PC>P-'TE!`}"j}1j}BPj}BQ!{(BQ@PC>P TE!`V}"j}>D -BQ@PZ߇(}ZA!`V}H} ->@} ->D}>DJBQ@PZ߇(}ZI!`V}"TET+ >DJBPj}j%Z߇(}ZIPCTPCT!*d_u]8 ssެ5"bw˴qQ='懲WLd75/[}^ܟ -TefK6~TY -MX)fQx* -V^?(_Վw) -Y%ԱyqX.FUvJm$Yՠce`yp\1K3Vy2O^n1/lNjyl1w54{3^9K b&x 'wcZ&8= .Pez v ׅRzN.ϰL9M3)t?궧&wWk^&/A]#&FQ;[ rRC< Tԁڦ^bAH }2r9]r/|zU&P`8>> O:|!̬/8s[9wS{tHmVF?(IО&ÊUF;_ Wai8< (?A603ݹ]#r/2VL$rRd4~ڻw#&bBK)l" td\`н!Ĝn>[u qeN0QmniWڣتtdƍ7f #dۚk\l9sN+LIU&H%D`z|0o -1js]v2vw;H8wRr3SH>`W\Vf^Vq]BmHe2Zs<;̵fcz9ȫ4zerP2E -|zKX7t㱝ݨ6ny/0NXzuC -!E -e˫4FXKhܐq-,ʰX.ʲH~3Ih,vq?L9fxypUl hp[:]ne_4-~p\No2z,#Yad4y@ґHYjV{1σ7oa{9:/S&Kka.+Ve5;ŘM`? .MQn^þN*%p>Ȫҙȫ9저9"թuf {XZs[!P}*7U&V [~@pB8UYM-SzaYVH[qGЇB%ޔ|FTQW% - ->$ʣ팍A-דdz.)myFnbZMH| oދߧH);8=EY,vCcHbxwϬ0zXav؟v>ڜVszopu-[o4Ds43u7aB=]H7D5mÍCav/ŷN5 _0BY|tpsRԨs j+3.V>`,@}ݽ.T[y}*,Gd2TP5[(u5[J5 >Z(qG E}/z(BP+BQ BQ BP+BQ{>g5VV >gU[XeZYeZXeZXeZYe29ɶ,e$RPG+8SU -_f?\ '<^J#R;%v,z|Tt6+HdhѶVfs@֟ -F" dNsTWbPe Qh*Z(JqZ}kђ F*Pb4Gu(f2 EYQŌUf(ŽY]l->g5VV%Uf(.+i -QXel!BQ{Z}j2X}ڪDxH|2yh XP6p#3C?iw-@'Q>ﶺS8]"[_jbaRuLD]Mgߤ6&5ҊSTw̢}i-t;6i,N V|̝yJ!/[ٲYbZՌߠEN]#FawOXJuuyjA50}<<<9ow~ϓP[Dgq2c>8a]M]){׏e8Ѩ.l{z[ ^;Oa\C:XLFm4|KMLB܅3IW6*'B =C,.1D48şaژRŰALB_z*]CiiϨ?-㜼~zwɅ0&a|7?z:Sm[Womر -gmWxYr FՊ2?8q?~$6ֺgM%?X\?K~(Ypjk<{ؔZA”C[l᲋rDч'22]5xsq??sZ8'_9Ї/~]-k+endstream -endobj - -42445 0 obj -<>/P 1228 0 R/Type/Annot/A 42448 0 R/Subtype/Link/Rect[93.5999985 536.028992 195.492004 555.708984]/Border[0 0 0]/H/N>> -endobj - -42446 0 obj -<>/P 1228 0 R/Type/Annot/A 42447 0 R/Subtype/Link/Rect[129.600006 426.82901 256.079987 446.509003]/Border[0 0 0]/H/N>> -endobj - -42447 0 obj -<> -endobj - -42448 0 obj -<> -endobj - -42449 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42450 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42451 0 obj -<> -endobj - -42452 0 obj -<> -endobj - -42453 0 obj -<> -endobj - -42454 0 obj -<> -endobj - -42455 0 obj -<> -endobj - -42456 0 obj -<> -endobj - -42457 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42458 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42459 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42460 0 obj -<> -stream -HWnH|W4/rȶ6 b Yf -,+˙>9aSSwZ+_LhSinTEV3z\>/Wy^ͦj5K?\TyҪ8$SAT<lPgzFk!;„=7^Ϊh,[i\>)`|:t#[TUzCԨߕԧ#|ԓJSRVy𜌓9'HN`YA8E֒0by޵9Y7½po{+[ -½p{'{ ½ppp_p_p_p_p_p ^tVrlZKXdrX=Lj%s,@k9F,^րrXhXdrXh{ZZ˱{ZZ1bcZ1bcEk h-{Eh-Lj%sX=" cEk-h-Lj܋ZZEh-Lj܋ZZ ,Z #p/ZkAk9Y#p/ZkAk9F,^ւrl8ZKXdrX=Lj%s,@k9F,^ցrXhXdrXh{ZZ˱{ZZ1bcZ1bcEkh-{Eh-Lj%sX] {ǿ~0}~='#YvhZjߩEK=]OjX׫YիrޝU?!WEcH7t;wCj5^MֳB-k\;hǖi15:W0w{W?g:>y\cHmcrσQYZMzr?-7ƌ;njt8d$3OR;V.8$zZ&i-Wlto ΂ 3]Jogx\Ƿ?¦ec<.s+sk5G;yUuPbZ?<ܦ1Nxf 6O73 GYқ=g78@|eeuّKmKle$3nap{f/z&MV4Ȅ6ihbbxp7gE\#6hTfRӎYь]` :( QqU>ͶVfiN Y],UdngtWY2.n;)G荢$0b?im'h*N(zw=VĞ_f!߬Yg}lЯA2FGy;MYi3ItNNxiMl0݆ҡ^ktx@;f sع{@m]j5'c9:wm}nT!$׈8Kδ/0.C@1Oh3Ws贼Rb ʽ#!gs)L FQW -ͺmS) wm\H\Jv7B3N8 {|.@4eG8bHT$տU4wDDy!1p3̑E A`ZrW۰ۘ~&'Q`EĿSSj9:V(atJ^]~iHUb -^Ƴ׻Ʊ/T^QHhy fUX8T{pO (P$}X`@hK/;!yχV񊯵 XClo -Đ'C[7OʏU,X) x1]A{e]*>n_8 }i8DPh`SXZ`S71ˋb tdG}6]A[jV% +R=\0^dO4(vR뭤295A -X@,68Yqrs5+שendstream -endobj - -42461 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42462 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42463 0 obj -<> -endobj - -42464 0 obj -<> -endobj - -42465 0 obj -<> -endobj - -42466 0 obj -<> -endobj - -42467 0 obj -<> -endobj - -42468 0 obj -<> -endobj - -42469 0 obj -<> -endobj - -42470 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42471 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42472 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42473 0 obj -<> -stream -HWێF}Wӂ22\ Ď؀Ś@f #fH,IYk,߷XUuxtU۫~/*V/_u@H -FQYjĨC@Z򻪯ͮiz:Q] K(mPCbU4U!\W嗁fGUŅQZI"}Qz/=nv_Z]$^X}*ߝ2eyb~{Nt7e$v='}"ODp0>eS}gs 3>}.ϙBp_0լbUK1dqPCwO1dqPCUbܳ5BR XBR Y{VFZ!KpϪUK1` UK1d Yj),=Z#T-ŀ%T-Ő%gUkjPVZ!{!jPCUbbܳBR Y{VVZKZ!KpϪ -UK1d YZj),j),=Z+T-Ő%gUk>pBR Y=ŀ%T-ŐS Y=ŀ%T-Ő%gU넪jPPCUbܳuBR XBR Y{VNZ!KpϪ UK1` UK1d Y:j),=Z'T-A"T-ŐS XBR Y=ŐQQN,ҪHPQ,*A7 _USvVWqxb|w = Ay^75\(ԋk.A㿋J-|Yo U_v^բCf\&>`|?~3)@o^M^&8b:mt^w0j-̪WM[ׇj@Tu=L8 R„&)?(Q[U#\6="y(oK~ń!߄͡`huAnN~oU?5غp;7 pԳ^(:{\^Ɂ& Mf;͏b9fFvV:f84[>ϫ~jZCߏ-v]A/x۞r1i[I'c@a[<9!H$^b>T6$ fjLֱ' UNշn~{ɐeJ?w|#ͶSB精VlmM _Tӄ\yFppX|qwss޳z\s3mMBtkV;v~۫@ѳjqe]tzMUwÔ:Vs{O7`'d84q}w1wwOq,MF'p= -so~"bHW9~ǡU5ӵo+{:G@lg&g߰Y VmBwRITQe*C2,og9#m`'~j=[<3MpCܐ>Xh*2"%%wfo˴YY>r`4o =iF|S90:vN_8pc-ˀ\6EFiQ 'YY&7E{- [iا_2ovѰô\}"[W`/{܄Mo9Fs ;_wwCluU_zW6m";?aݜQ'1Qepܪ{ߏ69?Uӛ8 D>E؎E -K) mrIIڢJVc'13{)K*w}TSSkKCJzVp5Dd[dq2F`A6\I&KAq{^Úhڰ24ZD\1h4j@@{ {3\HG M)|pq -y'#;0vVc[`D48QR[+^܅9ghU[pƑ4L8NŒyb,"oI0-`^j3Ӌrs1?߳V>~m4 x8L7w{ hN˽ WefhoUh}V#}}K%%+uG:0Bd_xLUbv$ax\Fr]Lx>vLJ/|:yCǎ͟tٞtճ`.5{#GJuUFoj#4hAlgW_Zbob0xRT7~R,_底#> PIꙜU"5tV*vZ- XŵՅb6dtUZn'q A\p'0 l a^T%5Q@ѠM0>|=d`P;ycP -J;fB)>u]FIY]&d%7  ? Aendstream -endobj - -42474 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42475 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42476 0 obj -<> -endobj - -42477 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42478 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42479 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42480 0 obj -<> -stream -HWێ|WtB _{I 2 YӖȉ Ӈgsj6 úfg?_ߩT|ɿ)U|^eܪ"w:jW'T&1QfuhկMka׬ծI?fEe>ZeTu *U5UUmt_,?ToⲊryΎ0pF]Wk4׹f"z\=}97,?wJ҈c|_o8mQTeoRIrmz&e16ۤ8qLcĒXd#Y #VXܻ1<"Vp{;N=p τ τ τυυ///>A/R/{YJ˱mbAk9F,cZ1bI#tϱ{Z Z1bcZ1bcEk-h-" cEk-h-Lj܋ZZEh-Lj܋ZZ &cĒ9Y#t1bI,Z u#p/Z@k9Y#p/Z@k9F,^ցr,@k9F,^ցrXhXdrXh{ZZ˱mAk9F,cZ1bI#tϱ{ZZ1bcZ1bcEk=h-" cEk=h-Lj܋zZEh-Lj܋zZ &h-Lj%s,@k9F,cQŁt!t'0Dz*Khy兖Z^he@+ZʄVr\h@Z*VZAhV JUkTjqXRc4-# 2B-+, {֦,r1b-{ rϱ1lZ # {,r1b-{ rϱiZcĒZqh;{ѸD=hZ"c4-{r1QȽ(@Kށs%r@9Fw h;{X!8F,1Ƚ @KރsF%rA9F |%rA9F@Kރs߁Ƚ=-{r1z0Z"c`.8F,1zZ"}˲*>ɫ*YTUFUI9T|׹ʳRQ6iכZ=Yy}?_WA~ Ti=vGvմٷZ5-mUV~?m>4/7|EHuC9Vْꅺv_r4NWXTGSn1nrV=YΟѪZ+v,׺MHy9lUwOusROsƫgϹNδ:ghsU/9LSxry$'gelfvA]ﺭ뮽ύ6Bx pي}ʇBۑnLXlWztx:y{մAjue"יt~I~޻`WfW6KߴPoէ[߉<~'N]{u?c-F^]xs1~V2m}qUÖ͆v綿( w{ .bC9rN#avxt:2owx;uJ 5jl\mf9񧡺jwuM_.8_%}rϟ~GxAfc*bR Hg{י/ot7#a6Y=]匾tiLn]t:(ʏۉQ1~윳&_w-4 VXM5FQv1<ԇ*I{| 1gfsznzJZhy偖ZʄV2\h@+Z*V -VZhURh@Z6Z#XdeZFhYeZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cĒZ,{ h;{ h;{ h;{ h;{ h;{ h;{ h;{ h;{ h{{Kjq,@9F,%rA9F,%rA9F,%rA9F,%rA9F,%rA9F,%rA9F,%rA9F,%rA9F,%rsXRcr1bIReaU,*)$pP -lHhCss=";,LuJSZ/iv?.鶟8&ޫOjcQ?R.NMPhA<> 1جk?z3SSսw_:Sֽ-8Y6K?+nw4 WK0R? FUU7=R޺6$Vl;~m`=Ǣ+bCPSI\[dS!֜Eۃ4͆ccGAJkQc3^ -sϯh{gQT`EA -6)H(W@g$DŽ/e7bQ$vPB;w)T N(UJf؏:_@P߄#Zf߶'?yZώL@q*6YZ>~!Uϔʽ_GOA6J16[i 7n<<4N=.mX2q: aZá6^Eb C"5$@mq,a{TCQ8K %+eF|A(`Q[{~wOҳIc -[7B^ېvn, YމLwqK#,X7IWcu+#P̚D -9ώ 8˧W.HmkT:&0Yʋ>7U} -T8odS>O6pW0?. OSv\dH856܋(WKN](zy-vu‚5؉g p蜗R a2;[g1'l A3N} `?`OW^h{\.Y=b~eUJVendstream -endobj - -42481 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42482 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42483 0 obj -<> -endobj - -42484 0 obj -<> -endobj - -42485 0 obj -<> -endobj - -42486 0 obj -<> -endobj - -42487 0 obj -<> -endobj - -42488 0 obj -<> -endobj - -42489 0 obj -<> -endobj - -42490 0 obj -<> -endobj - -42491 0 obj -<> -endobj - -42492 0 obj -<> -endobj - -42493 0 obj -<> -endobj - -42494 0 obj -<> -endobj - -42495 0 obj -<> -endobj - -42496 0 obj -<> -endobj - -42497 0 obj -<> -endobj - -42498 0 obj -<> -endobj - -42499 0 obj -<> -endobj - -42500 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42501 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42502 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42503 0 obj -<> -stream -HWko_q}ՍdMذhQ+02+$/E.{$9EȞ̝;f{~ZyˋMj/_#[>ɝ)rdδMWR)feEy۶uӵiW|E/謶WXSDmTi4:Kf=OieyzY-i'3{4~\uwMm]m}ߜtCᓢp#=Kݳ_QJsKęGcS~o\y2NK\GU1QIN9+Ę,1+,Zm^brSp{{^Wp>3>3>3>s>s KK+Ug-(֑{ Vb%,^b{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb{ZZ+1fVbȃJYڽĈZ+1ficv/1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+1bJYj{ZZ+u@k%,^b{1K@k%,^6JYjm@k%,^6JYjm@k%,^6JYjm@k%,^6JYjm:@k%,^b{1 7yև r"bU -J+2) heJ+ZʁV -U(hJZ*V*U) -hUR˥ZKbZa hYeUZh9倖ʽ0MYJ ^bZ*^b6e)-{1 h;{ ֔@%,r@%6NS c֒;@KރKrA%ƃ R Ah{{T=ȽxDZ*^b<|-{r/1>ʽ@KރK -%1fi-TȽx`Z*^b< --r/1}}}߁}߁}́}̵Ę$GnrWIUUgrƚ&C'$7yV%t=^GϜ=.M'IeR dȂ[Ш0-}g]m:yikwf%ʗI:lՁ_?v 43n~=C&ҌyO.vu=՘L.Y%n*{ݺnfq=t$,Oء I6P;,+|RyJ\K_t2M1;<57OnŸ>jw7T;ldGyw7VĔ5R(Uk;B{]>,ٳwഷͯяߠ(yRw6 tpR˼&Y.Zt FxX7?\nGZK|ǿ<\^r|Bϒ;R/iU0Y߳l:fnuîR -,ewbpue=O'wnlgy|Pm -WֻIu̾i/xXc}[\NΘupBO"IvrQ mi-M/Kz M ٨NtUT;b?7gP;]gn hZ:㨧?A~N*N^h75/cMǁGrGտ-d0e>{jlQ18S7fx/iX{.M|eG4JOfJ:#<ՙܿ$_Z~~_C nRL[ʍ/ڦ[nx]xu|~/*nMn n׀P^er=6N0{J;m=wģ#d1/mNWov@ǾPcꚡg틌9pwgQ~cct{<,`i>~Ϳzj~EI3=>a!Gx*RZhVPZʔV2\i@+WZ*V -URi@TZЪV*R%1fi--,вJ-Rw cRw cRw cRw cRw cRw cRw cR c֒@%,rA%,rA%,rA%,rA%,rA%,rA%,rA%,rA%,r@%,%1bKY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>Ĉr/1fiGp8?aEk>W4DhyϽK?єq? -Vbe\6vlo_À,23?э׋Nt]1YAyCx  -Dڵl zCՕzH.@{gyFC}zL(Z]B2E)<{q<`ӅfQr++]ܰʪRQ;lGG=T{J5 -kk P30jhm\l&GV2xXGH(d4b=RZA &32֒aj$%GHh$!r#8YX -\T4LMċj ìeۺ-SK0tU;طjhbh܆,f$s;'H4mMcG3˞)K8/暆`oV&q;F/Yx]%:Q|yewO? [\%Ţr~eVE pwWPW.fmlm@rТ|eby[+ } y>+1ɢh"J;XDŷ]t>"oܧL;R`2!ijMD|00,0pX+tfy\K?.xIBe_5c#Lk~CV('& VڳƳ9@ ftv%}$ojVI(_΋2Y'Q8#ʸjCUuU ?[pR2 MZBpMC;Ak+jՉ#"#n*TD2Uo ^k5L6&}&H&Cd|iJRZO,ElЉM熮͇n>E7*endstream -endobj - -42504 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42505 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42506 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42507 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42508 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42509 0 obj -<> -stream -HWkoF_1 Xc$@>`,6${/)RWn"|t̙9U^]~OJ7ot'2>1AWi̪ܧ}*OTp2>c3}9s s}!/ }ܳFVh-ŐS XBk),b),C -Vh-ŀ%bܳZC -R Y{Z+bܳZZ!KpZkR Y{Z+b {Kh-ŐS Y=ŀ%bܳ:C R Y{Z'bܳ:Z!KpZR Y{Z'bZK1d YkZ!KpZRlyCwO1` {!R Y{Z/bܳzZ!KpZR Y{Z/bZK1d YkZ!KpZR XBk),=kZK1d YkZmTh-ŐS XBk),bCBJmv]-GZGFw8|L, jn-K/e[w7mjϻCq0E<ݖ[-8eXR]U徹x'XOz;lP?iwYxt{"dag _Oc81;-1Vy}pIicٔO}19HLہprt:SRk,up k26Ig[=/WmU?@Kܷ=mUW[Y{gNgNV2$8׻YaQi_ _le !4 -dݜ&Mi_l/am1^.'n.aBL&NQ/M~ev {yNh; &¥u6܀ 3ERtp.$`&8^=X,4(T'~N~6΄Ӑ8]O)&~P1Ol$-ͤa~1NUfy:R'ifR3M򬘲þn8pܘ,pa[w[l!^O$>92ʾ5d!LfX{ۺ NXuVM_wrv` 7?3.haf-YJ?lº1">ԍu.7Ll ׻nO. -٬pȬ=?ē0kHNX7Xangg7e]2,2R;Nߊ"!#  {:y =sя&gwww|}=[٫ OέsJU:°RAK'2k0ߞىgג ~ŀ<1 ;r10K۩(oPsրL­~:"S͵dr3W,H aN6)B<(L[}Þ9Nn7Q/jWRӼCfjӵ;'qiX`<؁^RD{|j^>c=[u^>OϮK'WsOKman{y)4zG^/o"XN{OH\ΐ.Y)+d(+3\ʙV!hL -\bZ 2aZVвL -Zi9A1-'h9-ϴV*hL+R Z,V=9!h[!{!KbB),A ŀ%bX{!KbwB),A -{'bX{u(ŴS Y˽rO1d Z,N=Ő%h{!CעS Y˽rO1d Z,^=Ő%h{!CrS Y˽rO1d Z,^=Ő%h{!CrS Y}*bZ{!k8CO t.ի]W EGl3CtH,Sc,X^KSnU}U q7#f$׺0[xEV:ej2 Hgz|Y{ݝj HuGuS=%;»)'ZS^IOq{ VfOVۺ1 ݋mݦjMyYjY^֍?eD>bKӜ{{݊"@GA R*X!dA -;wNwofiWwue}߼̿ -8& -_ߏ0W/f]švyE%0YlZ䒬Urݪ;nUl[#FUV!VJ*XY6[J`EbEJ+X`ʂ+kX` >cf*Z$vk=fEObJ[J13-bcf*[Tҷ%voK3SI"=fE,{L%}XbJ13-de{L%}XbJ13-bcf*[Tҷ%voK3SI"=fE,{L%}XbJ{L%}XbJ[dZjc9vZnw|ۍ}޼kvzZ{p>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42511 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42512 0 obj -<> -endobj - -42513 0 obj -<> -endobj - -42514 0 obj -<> -endobj - -42515 0 obj -<> -endobj - -42516 0 obj -<> -endobj - -42517 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42518 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42519 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42520 0 obj -<> -stream -HtWioܶ_E{EfZN6h7(gF\FyHsI},_?~zz$8caB4aaL^xG.bb]_5b쫽WλۑOa(wdX5h=zqvLjQ#cG}O >qԧQ"SG}O>sgQ#sG}w7L)l`%ûS5GڐA"rQJ,1qH"'f,i4^LaxttEPhv(j͓oP ٶ:CEDx|M%7M2n -Mkm[į7g)kd=JMS_/f8C3Դz s&Xh'T:xgxp>;ݨijlu<ո?UBwHeg!OsyP+Vr9}2)7J< 1B]n{ٟL* LFBԙ܅þԹ$U;u_NL0't%Ba|sa)TnJO9Hc|_ ͓:ʖb_IrarC0yiduP$jSYycbhkZL ') |"(DCҕZa˹,FgꋌΦ_Ej^z|W\v4[̍ɏB@rC t陫D 2LL!02҈{>Cj&,]u{1 PCi;m_2,[:_RvPF+i>ږbo:G ۃr-wPWfdƋl"[g3޿$EYVr\* !Qv;4rCTЋae.v -7q9=EmuP9SյII:4Z7B_-CK7W]9`4ujƗdje50`tU<;ED*y)Sz` 6{TQ*K:͹չJSAl*74y@zb괅IDSMw&j\*_독Գ3X_.hv^|nZ-RQ4RLPkU^!mf.ȶ_W,OrRQ,EV=/SP v,5M򭄿 4axqW@8do.Wb8̪֡9/COE"5T. Fy?:H"KFPQpIClfwE -l4Bj1M`y䣛18 ->Z%tpO|[NfY^F -%%hhvXm{8xwuySxs:,8)/7An}> Z<:KnĹ*|*GBbsl1AN i6o\?*1ey Y -#sIB޽Y}objSvM5Ltrz'frٛ#?v wv]V>T -'e;*BZ{P|'`

X{:bT^(/7ӄr>`GcCU^S}& )BEwD,OP9mTYFQ-2 -Ğ'JQ17VW@!0ɭCu[R3 I'z 3%>. -OHwB\<}bj܈E?勷#]p |( kv -`rS4ll )avnxOZBqi6z˻jE@DLcVYl;TեX̢a^1ry3FܬW^󥺢NMB6D.vikRIfj(*%6}}iؔP` DâIi_kR85a&+Z) z|!3vs7+Q&Llc?6&i *dY*$Wf3Zg$jSd nIJ뭶ׇGiNm' ]b'ٷ$bHԦ.МVsf9&soxΐLug@A+yzzK'85TmÐ:O|?W +ގ/5 8D n"Xs/v:!W?w-PcX RE3fꀙrAhi}}~~fB@s)4d) L![yY ce w 8oJ{:an|n/|6ޔWk,Ƀ(4iW*  -oXJoҥ[_OxM5).vF_ŷҮ655.nX9ED[u&-aZN^`KrC˄EgJ, ~hY4(VW4Za'f_oʇ¹ՃPu+,WZ7:Qi/XB&"E%ߖُ7-X\5K n_p);4Q8cڌy2׵ 7Fkֲ+Fy^_3o;H =O/7z*q+h84lgI -Q7 pN %Êi:?RԹMIEu<%Nϰ^oF^YĘ Ac0\=OY}fendstream -endobj - -42521 0 obj -<>/P 418 0 R/Type/Annot/A 42524 0 R/Subtype/Link/Rect[129.602005 241.229004 237.001007 260.90799]/Border[0 0 0]/H/N>> -endobj - -42522 0 obj -<>/P 418 0 R/Type/Annot/A 42523 0 R/Subtype/Link/Rect[286.098999 409.729004 446.498993 421.713013]/Border[0 0 0]/H/N>> -endobj - -42523 0 obj -<> -endobj - -42524 0 obj -<> -endobj - -42525 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42526 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42527 0 obj -<> -endobj - -42528 0 obj -<> -endobj - -42529 0 obj -<> -endobj - -42530 0 obj -<> -endobj - -42531 0 obj -<> -endobj - -42532 0 obj -<> -endobj - -42533 0 obj -<> -endobj - -42534 0 obj -<> -endobj - -42535 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42536 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42537 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42538 0 obj -<> -stream -HWko_e.7$hV $A@K+($w/QC;)3sfﳪr"ť'/S+#DqPz ĭ'E.?6kܖU^ئWʽWJw_bR$HaMX"Lk 30B_/o -m7\k?q]olOQZzlS^yW^@s Ku|^޵`d!ݎ%"6D r%OmR {W { { { {7 {7 {>d؇a:#}䰏>fa;c}O>a'a:SYɈ -O16D Pj Q.{jC˞ŨŰwTRjZjZjCQbTKmb;Uj Pj Q {GQ-!aV16@16D1*FԆ(ZŨ -O36D Pj Q.{jC˞ŨŰwTRj5ZjZjCQfTKmb;Ռj Pj Q {GQ-!aV36@16D1jFԆ(Zͨ -06D Pj Q.{jC˞ŨŰwTkRj ZjZjCQaTKmb;5j Pj Q {GQ-!a06@16D1FԆ(Zè -/dTKmrSR\Ԇ(}ijD&U=_zK)OR~$(hJqLiXUg2Yج!Uvߏr68qMnwOEWyy{0dM^Ӧ:|3eir$VX̐ȰVs5d0ƵE~{׈}VMv;]y]e.jluq! ]f-@r&Ƥ# XgB)' :?.rIȷYտ'r >|u+.ʽݑ? -ו<5 -|:P24ǠnZ(AE@GntyPmZ8'_ֶ^U)iY)nuӐ0+­vvC ގ6e ^_Ϟ0pg{x -YBM\ "_J=k.*pEvnet)F#c1!Qrpp0PHHF!>l2_mfkK]ٿ 9V4?ǽp}evkXqOA`<lv,wܕ6R% Rb'FfJI_+e;uɟ -9 #O·b(}ִԆy:.y]=.[Ѕ#J:(2S? TS. Yu]\ty}xa}1ΘbO;#0!@XTͭO - ct}~IV]YSnW*ېG 0dn3;cH5VծXkE ChhPWo-_k@ErSio?L=6rwY.d1bcdclvQM$EM )0u=X>P8a$XN)/_̐B\|:aF*>Rd/\ę-nj9^ccKEvK6Z0KvnGik_?9|*ni%hP"![dc;"IQ (8:NSʤ (udn5'9_z:eI"ǚ2TN|dK .G'h,YVGrH\̌;v'#;ek78>k|(h"d@44(f_risRg6Ӫg]L&h]琄{kD[jok=.]mϱKy4LħcȨGjG&X{dbgF'fVsS+/\NB_V]LFwד ˛d6ؔ~΁V Pp"\o~k|!O՜KM):pId`U-zPefGY~oO5jbP[nTɟ_[=~pk+W/0{胭?Us?ZfpC:õ_K#\,|^|YP5{Tl9wބ(i2^ٸqjLiP#@ow RoF!L3ZCbmk.YAd8W onƕ؈&&3Xsfi*'yone4θE al_3؁p^*#^k$l4׸L%H>ؤ|^6myO?Sh7L$-ϴenrh$xj32A2rikTN޴h$1J~p< ^"[*0h5$oLrDh0)3]9x\Le#ʅG+QA*R1mY%bj@ R$mf&h&) _Sr=TKo Q֕qƄI0dE$ā %B{J>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42540 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42541 0 obj -<> -endobj - -42542 0 obj -<> -endobj - -42543 0 obj -<> -endobj - -42544 0 obj -<> -endobj - -42545 0 obj -<> -endobj - -42546 0 obj -<> -endobj - -42547 0 obj -<> -endobj - -42548 0 obj -<> -endobj - -42549 0 obj -<> -endobj - -42550 0 obj -<> -endobj - -42551 0 obj -<> -endobj - -42552 0 obj -<> -endobj - -42553 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42554 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42555 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42556 0 obj -<> -stream -HkoHWNrڐM6U\mbqALRəS@Z!;g9'iǽHxtY?7PV&FDȈPC]oaHiS~.eU2=kXYԙ,Hq )Xb@6N:"oj]ʎJf/X[Y8e؎uJ0~ȧjQ˛9b5c3lM2)~sy`/$`%J8 5!Vi%\ '=)(i<՜˟jRw͹BEٕᩆ.k^3ڣ7 CoC>C>#>#>c>c>c>>>S>SˬbBKyR͹|zI-՜˧sTCZ9CV3s1^j5ZI-՜RR͹z/I-Ťj{Lj\ ZͤjbRK5bj&Ts.KfRKy`R͹|zI-՜˧sTCZ9C0s1^j ZI-՜RkR͹z/I-Ťj{5Lj\ ZäjbRK5b&Ts.KaRKy`R͹|zI-՜˧sTCZ9C2s1^j-ZI-՜RkR͹z/I-Ťj{Lj\ ZˤjbRK5bZ&Ts.KeRKy2sTCZ9OO5S6y,S RD吮}*GRAg簛} %"ٰ\5TWy\ f3Far5{*!HW߾]N/U3I3PcY&-$}tM)`r^tq߾}۪aU,o Uk9:Z̎G*n[Vp`qȕq=7 ܼpVSL-so qO$ln50mR+礳e5/J -.`>=/˦B Mld׳Gmʝ>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42558 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42559 0 obj -<> -endobj - -42560 0 obj -<> -endobj - -42561 0 obj -<> -endobj - -42562 0 obj -<> -endobj - -42563 0 obj -<> -endobj - -42564 0 obj -<> -endobj - -42565 0 obj -<> -endobj - -42566 0 obj -<> -endobj - -42567 0 obj -<> -endobj - -42568 0 obj -<> -endobj - -42569 0 obj -<> -endobj - -42570 0 obj -<> -endobj - -42571 0 obj -<> -endobj - -42572 0 obj -<> -endobj - -42573 0 obj -<> -endobj - -42574 0 obj -<> -endobj - -42575 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42576 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42577 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42578 0 obj -<> -stream -HWoFŞCsHnh>P$H^CqõD%9|AzGY"!m(Lfgr}y%.r|Yٯfcfd_r5¬f|\g&Ğ9c*K4IiIi1y>?m/6>v̝-=9X.vu8{$M]wRϗm'B,–6γIV#s3_8DJ\,pʆ,#:;R9IplIbIXjKzVp{;^W=p>A}T#pG++kkk>IOfg}-6WJc#G#s۷o^zwd޽{w>ЛHFj@wuI[޴W݋?gW'kS~([7 4mv7ʱ''f:aӼ{/j9? [n -\,w1ا'^.rrBvvW`ۻS"]vnN;cV,VPZhVTZhEUJiU@RZ5ЪV jFi5@QZ h%VZZc֒,вJ-rJ-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1f-{r/1fi- ^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ#ȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘTȽĘT#ȽĘ$F,{1Kk"%:v['m֟M=sƚUfvjRK-blUS/B|ˢLjZi "j{R*j>ƴ4(b5[tͧ9}Y=)f;[86'ʋ!GQt B=z9l/[y[ܻNEGDTkTK -xﳛтJuj.r#S촪r^%m@\$ܦ@E=4=(6(U$G"Y`pd͛n#&n;P!Y[_od+k3\Pt|[[C k,Me'Pi˰Dz!S/60);bzf6ExqPQf>I+GC>N2$I4Ў [H* ܁ va$:P6L}^'c9u0 D`& *a8՜VGk<8VT>sh -VJSm\q=%LX<c0F'-5£)JLr I hf+3Xީc] VT -F!i\ ϻ'‡C9f8".QaOo߁V41`UG&-ln~/endstream -endobj - -42579 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42580 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42581 0 obj -<> -endobj - -42582 0 obj -<> -endobj - -42583 0 obj -<> -endobj - -42584 0 obj -<> -endobj - -42585 0 obj -<> -endobj - -42586 0 obj -<> -endobj - -42587 0 obj -<> -endobj - -42588 0 obj -<> -endobj - -42589 0 obj -<> -endobj - -42590 0 obj -<> -endobj - -42591 0 obj -<> -endobj - -42592 0 obj -<> -endobj - -42593 0 obj -<> -endobj - -42594 0 obj -<> -endobj - -42595 0 obj -<> -endobj - -42596 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42597 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42598 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42599 0 obj -<> -stream -HWko۸_("),h^t4{b3ZZJwFdy8HEuNޞ^DH,Ra -gJ䙎;}(HZD'G{ڬ]ݮ^]RbF\~VBmT$(E c<)|]Ϯ좫8:V&,VGTʸPfo_mg]ٵ}/Mf,C)Kt>@1<X؛HJ|2oa/J PHRsPNrJ‘HCV8ŀ%e" âڥ S XQQQQQ)> ԧ4Po&Po&Po&P1@}ƨ9>pb\K1d1*ƵDq-ŐR Yz!+TO1`1k5Z!QV3R Yq-ŐŨ\R Xk),F}Z͸bbՌk),ƵC>pf\K1d1jƵD)Z!+TO1`1BCVbb\K1d1צk),F}ڔq-ŀŸbbMR Y)Zq-ŐŨ\2kSƵZ!Q6e\K1d1צk) Z!+TO1`1BCV˲LE&&z5NRo#8<*LdY)h6?<ld= )I@rӸ,ޏCfBXYLzVmMݶuGǪ6nw$Yv*8/8ƬE>2 } (URRxh)NkNVν;&6;רD*r>y-*a/-XdmjzK?$)LOY7v(GyČܗ?_y>V,~٢l<-MU/u]:UqnJ/qÄvG8 .R*Ud-߲W d%]{ .53ldɀ%ryF -븺>_\rz<ú*5tJS)`Rߥ4'gMZ@\O,9?S1o tLom 5Gr/}M\\ȁ y"fU)u snʶCmFO29oVĆқ5W!k@3V8#t?4k2W!B}8}YPCwr3X cHa놻B Ps)bN5XndPr+laQPw)3; x `=UcW5ۃ녝&^j2M.pc{]x0EG$djֆ0f?4T:)Fjӫ|Ȳ8t =xTm3PڿjzE=ucuw0Mn*I#"gyҘbz*ڮ{$me{x,OU$Ä/0εo@hW_n+4o}4zqn~SA -?v3` @V.cqY_fk0 -x:'4P>Mn_5&?jed[2v@sˆ _Ur:.nئC_hۥ@ғN:Llredoi u\B>ZZs_ZAYַ[V j n`lĄ^Huj$|p>_|= -ϐ|:ݏ3-ud]/Є{c / בFhj 1lI~aOA6b@EH.xyMH3ɔLIE~ߺ%>`~Zx hy2J }(J"FӃ1v0L_lķEvW#g5fFSg&<ʋ L7 .Ĺ妜 :5( ^;^-8>U#.ƦL8`KQDax5|v CUvu+T~CXͯ<~j7EEF>ݮ\F -idCm.ov - 2醑>咎%8zY@S\];&U>ٜ5qe[+ vC86pM1NQE<=gj1U/R W:s5\϶ (Uˠ+mR&e}ő_z Juj_y¥rލz\Ɗ,ΒZ;b%%:6, %aӴ:I諵92d<@S0pb6ce (8&D"d"d`'1v ,)gN8? l86](3_I#6gmߪvobl Z amڍ4ȏ VgڌSuǍgd 󦷿[G;u0EBþ^NT#ߛD_ܱ] =nFe˧P G gvuݢ۩.A: e# 'it90;z=JlL ѧPMWDR9]i/ujs&NtRN.Ff~\޸oWnyWS'endstream -endobj - -42600 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42601 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42602 0 obj -<> -endobj - -42603 0 obj -<> -endobj - -42604 0 obj -<> -endobj - -42605 0 obj -<> -endobj - -42606 0 obj -<> -endobj - -42607 0 obj -<> -endobj - -42608 0 obj -<> -endobj - -42609 0 obj -<> -endobj - -42610 0 obj -<> -endobj - -42611 0 obj -<> -endobj - -42612 0 obj -<> -endobj - -42613 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42614 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42615 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42616 0 obj -<> -stream -HksFW~ɀ,ڋnӤ36)d2T[) WMӤg%dbWywk̫>ہ' Oe D*~Í'?W3*y]T>Up.Sw -$K/&>$`Mҵ׉o0b=_4 RBHsh\wuSo&"=ye}esO @/  -`a?k/72$v YmG5t)Y*`(]J<ՐR{W{׌{׌{׌{7{7{>`q8C}>bGq9#}丏>fǎq8ƽYɄjkO1\TCI-,座\TCI-,ŸwRRR{'I-ՐbRK5K1*&TIbRK5RR{'I-,ŸwRR )&TIbRK5K1*&T[{I-,座RLjf)=,座RLjf)ƽZͤjb;LjZYqV3Nj5Z!Ťjb;Ljf)ƽZͤjH1Nj5ZYqV33Ljf)=ՐbRK5Kf)=ՐbRK5K1&TIaRK5RR{'I-,ŸwRkR )&TIaRK5K1&TCI-,ŸwRkRR{'I-^jrS )&Tjr'"I>{5[{OS ҥHҵu/BH3x:AbeήI0ugrC6vɷ!rX$%juߦ/N6H*n|ۼV7H=m6OPuEu]:9w~~O?wu^r;~T3*yUmJxWB:=IkIK?C5g]ܢ.'Ë\=~\GFD{zӧ6s>WX -yBbqmfEsn}М=q|\u׎)k?4ᡵEvR>Ɂ}Tnw3}3T"m*0{8d8.|rJ8]Hh̟dO}.R9<\+~ -8?ZQ}6\Pow$m[7VC!sgCipDe%^osrSd85ZWogt ݩoѶlu61&&2psEn\o3_p|b|5_t??M}neYZ{=/'/ڃnesd~j̞Kߘ/Li-:ZN߹Lq$v 6Bi fېo`:u}s1/{c=w6=#*!n۷f'#)CMf2E390/ -8x?CZendstream -endobj - -42617 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42618 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42619 0 obj -<> -endobj - -42620 0 obj -<> -endobj - -42621 0 obj -<> -endobj - -42622 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42623 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42624 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42625 0 obj -<> -stream -HWێ|W4$v} k/by pf /9bTEV{}R㏯޼NMWYtnU;Yom/QJou5uo7MoWj&[吼Z$dQ -IUTMaYmUWmW>ʹܵf5^Ԯi5]W\̸j5yHҀ|\mN^TdԇVIrmt$U}ReSIN8&u1bq,,+,ice{+[ -w½p{'{ }g}g}g}}}}}} ܗ} ܗ}W}܋PZm Z1bI ,ZK{h-Lj܋ZZ  ,Z #p/ZkAk9X#p/ZkAk9F,^ւr,@k9F,^ւrXh&q#tϱ{KX`rXh{ZZ˱{ZZ1bcZ1bcEkh- cEkh-Lj܋:ZmZ1bI ,ZK{h-Lj܋zZ  ,Z #p/ZAk9X#p/ZAk9F,^փr,@k9F,^փrXh&@k9F,cZ1bI#pUHJq>B! VXB-/Ƚ@Kށs -1bI-D==h`Z"c4 --{r1Ƚ-{r1zZ"cD==h{{ы9 s1bI-+7@+]UWitI^-baQ*\Y~bnWuԻco\-rw:DDo= 8rv׵+V#ǙVh7|a)ttx O}XҰBKl|{:~9{2?îq?ՓzRRe(A夦nv\?MfY˳/RS^w/d>>lcTuǽ]mUOh__KӯtgjU/_/p;a)ԕɋӎǞ~,[6X㗮9 gp~pB?l,j]]o%^-5ͳ82xa/PiۺǍmqM=ɯO.4auG \n+o=q.[gN0w] ˚`ᯇDvf3d5b^Boz_fvhtnîiM&.isZx>NszLrzpDxcY'Y#vc+ѣJ͇/U҇a2HC2V?Ms:~l::km}7'n~z:>mzT"N7ݦ?"|majp^ aW|^ O[QU?aR7W u^=jNdLƫ`Q+ȡќV;#aFtN -}vWd˹L(9BM5*"]74˒6݋{o#e=T+BIBM"4'WLMWuߌ1pb!Ub㔛W8]^9f6/^L{918\m'ƍ Y٭E1`kۀ`e!1vıf2L7 s/pendstream -endobj - -42626 0 obj -<>/P 594 0 R/Type/Annot/A 42627 0 R/Subtype/Link/Rect[93.5998001 258.826996 250.824005 278.506989]/Border[0 0 0]/H/N>> -endobj - -42627 0 obj -<> -endobj - -42628 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42629 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42630 0 obj -<> -endobj - -42631 0 obj -<> -endobj - -42632 0 obj -<> -endobj - -42633 0 obj -<> -endobj - -42634 0 obj -<> -endobj - -42635 0 obj -<> -endobj - -42636 0 obj -<> -endobj - -42637 0 obj -<> -endobj - -42638 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42639 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42640 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42641 0 obj -<> -stream -HWm_EH}Kj[8]XŝuGW$}g&rv3;3{ϼnųgW/_ -(+U* -iGF:-"]PJ"mxU<m]nD]WokYp?P") E*RSa"Cp.6mYvJ%ҭ?f S-LjMʊu 64sͪ>|?a}~t]2ta$ρ`7Ywso#x*4;q1[&LaC >RG1I FQp(|!1(])<J3^300022111>bGayc}챏>fax}O>e{UhhFԆ(=Q-!gOmSRj5ZjCSfTKmbTKmb{Ռj Q {OQ-Q-!aV36D1=jF(FԆ(ZͨŰTR!0j Q>{jZjCϞ峧6@16D1=FԆ(ZèŨŰTkRj ZjZjCSaTKmb{5j Pj Q {OQ-!a0C`R|(FԆ(=!gOmbTKmb{j Q {OQ-Q-!a26D1=ZF(FԆ(Z˨ŰTkRRj-ZjCSeTKm16D Pj Q>{jC>iẐ,3Bl/ HDQ*CpRb4ۢmcnW1DUzvɏ[q=_: -WE}(~0hۺDf4VI(ӌS[43U t2L6Bҥ=Hi&i<(ZyQsuaצ,Z\kE\b(TM[iӞ~W&:. aa>Vhw:nڲ:6?\oaϭϾj7wEC..ZFqhfNi=BDp -Ѱ!BXi\% hNX*vgl{_=n[/s93C-w_q{?K^izǷ]ChMI6ϛa57phVS=uxϱe xP6(-._fp>st\D)!tn0 qޑ\.O),Jdm B2.p26=apOF6Z4ֆ3^rstB\/=$fb/ ˟*ļC^.f =$.sVŰjq_%p{,+jF(]uo9*H6VHe^Rh)OEz_ݝWg N TTCi0'jU}$,HA^,{_M:݆q 5ݨwX<a/u6.H[ 7ݬvŦ/<(H('n>eޭ <8]z,wb,uٗT VqY٫?~9Px<6P2QŶ tuZ} 7 Iᅢ3D:Z \@绡ð{OéTtFmCٶV:d+]GMNn~+>@ʠEØwru[EҐ W<^g .gaX<%9=,s1ISǘn塃}&p4\\:SMΡ"!$vODwS瓌n>fyD~ۼ>orj~$Ujܔn }oQ۲y]Ss_loteSn⑓YnhѷM?7XJlﺂ'uF-l1>S'5885gZZ"ZG;SJd]J:h 3F+ri(s޽u|2TOZ &2T@~!=](V~p v<#(/as0*rgc66\j%uF jhx6n~t QW>I-`،M@\K~}ϐCbM )^s9sR4$}C,z1I cK~X) ->p-KᚙIZd!9w/7V0 -?'%<СV:'5设o -uDJ\6٧\yY75t[8 +@6ͯ_RAk_5ӺЌp -]}Uv] Xי^i߈T詼]٤+SnJgb[kk孝xV%j=BwheYgpS!%@TÂsM$R+CkF wFh5x -3,uu V1gZB=l7_C2!WSUL `ʂ˖Hd%L`bΟT7c4oƞΌ.;h@A&xR:>mQ|ݑ" [ՄJkbaY+15m[}DELH'*%ɓ[t0L>+`weA׍-&4du|dwñQaՄ"&+~2e;j8!6~QVd }^3NZi_oǩH4 ,bɦt3ad -cM=oʭi!/yL@u\,΢/ 4C˂C2rKue~c.ɲ`6OEo .ZBIݷ?~}ZrBYӨwW[<2qW (RjS>,6DN<XuˮRPLxzY_ ʩtqSbdwŃ"7R<+޾-Q9vS+z|;OfLexJwѮM"Q2n -U3,}nPUD*$ʫrv )z,!LP噾^)hx[ХAѾb"̄m۝2k\&b/+>78nk -I'r*OI-%>t\E$tޫ%y >7up:Mdq]c*$_xkpJAHE;ЊBMdUÒIwg [`8.8 Dtsfە~> 5_(Dwg]{Rԝwc\"`Æ"q~R|) U¦Fte7N )FejA -Ũsw>^"bh0 -lpwxTXUA{z{:j`ٌF~Q5ozeh=ڙyknJx^#&t#<[7]("@\sUڒ'61C0E-AJ9 PcEY@DLӫ{$WVcu}cJԃe\VH%mu>|>'j;endstream -endobj - -42642 0 obj -<>/P 1342 0 R/Type/Annot/A 42645 0 R/Subtype/Link/Rect[93.6001968 663.229004 366.011993 682.908997]/Border[0 0 0]/H/N>> -endobj - -42643 0 obj -<>/P 1342 0 R/Type/Annot/A 42644 0 R/Subtype/Link/Rect[93.6013031 191.979004 262.130005 211.658997]/Border[0 0 0]/H/N>> -endobj - -42644 0 obj -<> -endobj - -42645 0 obj -<> -endobj - -42646 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42647 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42648 0 obj -<> -endobj - -42649 0 obj -<> -endobj - -42650 0 obj -<> -endobj - -42651 0 obj -<> -endobj - -42652 0 obj -<> -endobj - -42653 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42654 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42655 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42656 0 obj -<> -stream -HWko_>ɇ8i4&, -4 El%PӢ=WL\$ g g~?Fo.^>Sz鳋{] -ʦQeaܨIInf*}h~\-MT7KF/>uJɨWFiUOɔW>h2TH1fi> .~97jxnlcn߷Mm}7[M7\Ҧei"] mO1z~^'YXNN_$65ҙz~ ^O3uoA8w's8:1b8XZKÈ4ϱ2 po{ [Vp{;>s>s>s KKK++^"1#tϱ{KX`rXh{ZZ˱{ZZ1bcZ1bcEk h- cEk h-Lj܋Z- Z1bI ,ZK{h-Lj܋ZZ  ,Z #p/ZkAk9X#p/ZkAk9F,^ւr,@k9F,^ւrXh"q#tϱ{KX`rXh{ZZ˱{ZZ1bcZ1bcEkh- cEkh-Lj܋:Z-cĒ9X#t1b -g N<` -r@ hB+Z*V! -UhBZЪV%*U -@s-I-Kjq5ZZheZ"ca%@9F,%ro@9vÎYB cZ"c%@9F,%ro@9vY\˂sXRc4-{ r1wȽ 2@Kނs%roA9F# - h[{D-=hZ"c4V-{ r1+Lj%8Fw h;{(D=hZ"cZ"cZ"c}Z"c}Z"c1Z"c1Z#m}rSSY/:,u2kT*rQ"4N5<&G+NvUZ9@f2 -1wY5څo5zN]-oWU-~kI|j2ϛN-v~M&V_ke9=nC;}wyL]V}w?NpaqwCy yޭ_䩴iu5.pgcr:l?lݫ?=Vo54STaG74>]<)DݗqO+d1jK'"mI/Pnnxfj r:jw3dz94mmyDmԃ:PE'BsB+IyIE'ŮR.:Q}g|Y6?ğ?tڶCm/§ /-Y|WJm6ޅ1ypqLЫYLZK -?oH,SngGdwoD>A6LRF7yG갽M__gr}.6INuPz ʦ."}[3tݙZv 4iyPYlTN̮naj}ҌG!{wH3qc>:gP>? -ap]X_/1­*AߗCw&E/_?>1#muF-M/oF~;S߿{:<3nV=9{tIN=Vm ^/?Oa{hkny~va^}Nv;#,倖Zh9\h@+Z*V -URh@ZЪV*偖Zhye21bI-ZZhiZFh%ro@9F,%ro@9F,%ro@9F,%ro@9F,%ro@9F,%ro@9F,%ro@9F,%roA9F,űȽȽȽȽȽȽȽȽȽ cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"9=Lj%8X # -#n?:*i[y~S@W\Zml}^BdaxXUri>LDN7Τw)Йc\/- -cKOXws0݌0ȥa -bCo|7Gt7{7fy]æ -lh}W߬kpз/aNuJCcU ۆ_}Rϙݰ~}h<*m|>82E9E=EFt-DbԜ<ə7dӾۍطST 9gt:>c Q=|VE:M[ Xt=ùwvn).-葃ށ SqJ"gK7^kj5_b i& ۿR{CAw,cdE5#bUg -ξ,Q>x3vJ9GLة俾1%8H/gNZ!D+SĤ+|9fXrž!=Og11rIRV$+0>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42658 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42659 0 obj -<> -endobj - -42660 0 obj -<> -endobj - -42661 0 obj -<> -endobj - -42662 0 obj -<> -endobj - -42663 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42664 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42665 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42666 0 obj -<> -stream -HWn8}WQزxe70If p@me[RNS%RjN8Ydb؋^߼a1{՛"3_(3%`]5A*\(P}+_r-[&/qyrp0'Km.-C6J8 Vqlǂ\&0Sa[y2 .&1@ Q;(}cC&P.w} P`/<`/<`/=`/=`/=`<`<`=`=`= >'cS}JO=)>gc3}N=9,'D@umٻ6@umٻ6D]պ6D= -B Q{OPkZ׆(ZAֵ!`Vum"TET+պ6D= -B Pj]jZ׆(ZAֵՁ$Twm"Twmٻ6@um"{j]j%Z(B Q{OPkCS$TEֵ!`Vum"{j]պ6D=JB Q{OPkEֵ!gEֵ!gwm"TETպ6D=*B Pj]jZ׆(ZEֵPkCS"TETպ6@um"{Uj]jZVPkC޵PkC޵!gGy+ÿEw[6C <%I6unʋW@n|`ʣLke:3ZHDi]plC6J<$e*.x;k&䷲OmJۻ7oy1pҩt{(2H-P73R*Fq QjW0_*4ߋgZn6XPcZXC^rsm0ibJYdbF9_nM?tYxGs,gRi{ؗ`p-p~fOE) -ȝcqPʟcE<3t(#ӱx snj!U&ɉF_Y<OK8n\jA"fN%x<>lQTZvsnꎂ~ۛ_[`y(ϲ>uCҧU«fM'2JD,QaY䩊DzB݅v܍fqx{c:f -5cFֵ/oJ{}BP0ɇԷP֬.0APc^-XYIʒǐyc=¿ 0JlL54ӹUrk'Ӱ=vs-KK~mn9A,AK"cWSY8S$=Qs8%'vE%O>#y9>Qg6m OjϦ^t?@rm1am]<]홳XBN⩞򣈒\u7ǐ4uB(NT|1wkFa$3?nUx ٵ`Z~>CcܕXtHDMH7wv%}2@r9Qyq%t uiZ84 l%Hؾ,fB~~+u޲L:"qƜqԸiW ^p9H;C_Xuմk#zc\; ~q}*0ǀISs~Q9WC\PKm].>Ϥ=-eE dp - ;H"N:2a f[8|[/ɻ8Űj X=bAxMA&89ӾrimJ$|.cW V~ FL7m6=?bNtg^ja:s{y[.<' S SϚ7Cg饯дxpV')eOS4W޴Ǣ+Y}jRR:ŮvvA:K:L(;6@/BY 8^T%^ԁyЊu9̵tٍ3=UƉ|i߇CCPܒiI0߮1ȲiCЀTt6-b`I,pM!dҴhw Հ.c$Hy`@3?#5e`ιendstream -endobj - -42667 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42668 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42669 0 obj -<> -endobj - -42670 0 obj -<> -endobj - -42671 0 obj -<> -endobj - -42672 0 obj -<> -endobj - -42673 0 obj -<> -endobj - -42674 0 obj -<> -endobj - -42675 0 obj -<> -endobj - -42676 0 obj -<> -endobj - -42677 0 obj -<> -endobj - -42678 0 obj -<> -endobj - -42679 0 obj -<> -endobj - -42680 0 obj -<> -endobj - -42681 0 obj -<> -endobj - -42682 0 obj -<> -endobj - -42683 0 obj -<> -endobj - -42684 0 obj -<> -endobj - -42685 0 obj -<> -endobj - -42686 0 obj -<> -endobj - -42687 0 obj -<> -endobj - -42688 0 obj -<> -endobj - -42689 0 obj -<> -endobj - -42690 0 obj -<> -endobj - -42691 0 obj -<> -endobj - -42692 0 obj -<> -endobj - -42693 0 obj -<> -endobj - -42694 0 obj -<> -endobj - -42695 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42696 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42697 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42698 0 obj -<> -stream -HmWG-soE v40f-&"uyI^i3Ù9wE}FiW/yJWYܪ"wifU.cbTc}i«7mNMr[>~k~ʨCR ZU{Bj&kﶿ [Sn^Lo>/ŋ? o}}Qޯ% mS3~w-<ܷKV߃_V{T.OmemX mRe8Sh EG5" n 7O52Vpo{'w̽; s{gs 3>}.ϙBp_0` }ܗ/%s_ +ܳ!Tk+jZEZ{%jܳZ!T -PBj)=KRKH YjZ%jܳZ!T -PBj)=KRKH YjZRKHqTJH-"S-R=ՀRKH YjZEJpRR (!T Z,NH-ՀRKH YjZEJpRR (!T Z,NH- Z{%j)j@ Z,^H-"%gBjZEJpRR-R{Z/j@ Z,^H-"%gBjZEJpRR-R{Z/jm Z{%j)M4^:̽rV}JJM^n)I9ȥrڧ.Un{mMxlv9uw_nd^T͌N[8}G?<*m~HtjN̨O*zػڇ?z@Vh40 Z&M Co<Ů~jƕ\`Wk9_.ȲiОgU'R)~pvw `~-evjuIkDLk?*WzVWgڂ.VY|^+[fuԛLAK8 QR;J?/U;X+\)mf-DxUam赎Ki.Ѹ8{P/I6VXBw$j:,2[M(?5UyBr>}  *꾴=BUu_} q$s>7TfmE9Ms4pFQ -w{ *˹{Ԁ*tΨ3T+B>TApWkIRNB9fk2*NA%sRBcT)x]#Tjj@cNVTUr -ߺT TIrhKVf wZ›6&fAaVoIjNYYêr)KcZQX*_Ps?UvEaE^PXWV%5wEI4YSǓiEkV[Qs-)ǓuA黦4u'[$(L̒2-(L2´( -Kj+ -+̂*4(| -*,"/(kR -O'Œ2NLkjSnEi4黦4Ȼvq6scgi7COK> 1ާkI͝+6fE?3P?uż)nsȹ/Q3z=|+vb?iS.C/ =a y w/`sm>aEȃ.OAݽfS?cyp}zK/.3hl5Ə&2E} g_[4dwo:Öfwvb{pz&ƇpP 񇍝BU!nŭ*Y|PpC_pڏΟwls1'{|l>.S rqz?6}hՇgl7h=^Aw8⤕.x۵7&պX -k;M'Evv4cLNeT.>Tubp1mjh^旒&ʉ{6vu"!kT:UOuW3pH {L=^zGeXP2+|8bc}9If%](đθ0~-lP@LC/!as)sC1_dqs{٫^{$@ y8cۦHVov-A-| | ǬWy_ߏ&F]0 'vtw!x?]m8-#gWJwyՕYtSԭEJFIY 9q>43fLm,cvThM[۲b?F_ -(A;wUrm/6UaaKR3)kx)$QIi7D M!-)iEĆ2\c!&Đ˦2uC𬹘"Po?VUPlY%7>lo~n 0!`endstream -endobj - -42699 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42700 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42701 0 obj -<> -endobj - -42702 0 obj -<> -endobj - -42703 0 obj -<> -endobj - -42704 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42705 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42706 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42707 0 obj -<> -stream -HWَܸ}W!jZ-nZ2 `lcVdkH*s)R*80ں:uH._E?~z7$&?? F҄G^6S@IEU]WjW%?yWaOℒ1a$>Igd!D[e23CKU3E{ћkQ[3U ʹSqնB1`Y60_1r%4&| rDLB?qMrrr;sbbg9fIjbbzgzzzzzzᩗz驗z驗zO>A'QzSD}O>Cg QysD}g)bZk4WbB\bw1ջ׺f!=2ĵ.Yzϵ q qis-C\b\׺׺f!=2ĵ.Yzϵ q qis-C\b\׺Xpĵ.YzZ,_iŀ4 Q﹖#u1B{k] Xk]Lk9Z,DZŀ4 Q﹖#u1B{k] Xk]Lk9Z,DZŚ@ u1ջ׺f]L|.,ĵ.Yzϵqis@\bB\b\+׺f!= -ĵ.,ĵ.Yzϵqis@\bB\b\+׺f!= -ĵ.qiŀ4Wbϣ<*,>xӿd h<,$97ݑ\)\Պj fa͎E]X<=nלQjڡș'Ijź]S>HLsXjp g <,cDf\ y57hvZ >>W1 uE?.q!̽"7 Jŕ'5ͦE}d;~Glx6.DlFp"!:U/tQ@P8+m -UnZpf9n?+3ϦSZ ꫪuր]L1lN}K96a!7LB R Umj4Ϗ'7|?.5qiѽ4aNZ,n_W߽39jNn>M)H3 ܈wuVpkOnGa%)(wrX&P/+wHMXAڌ\ ;hmRr ͜kl4MS;Da5õ2^mqQݿ} mZ94icG̓ - Z_o ,Fw,"C;7u[YS$BP$W<_x7a[LGq8N8K9 ]u5Le 7k1f$hdeYÏȽ7vm98@ՒӁJh@q3Wr=ݔȱ7ovB ø:D83:4Ȃp-0mq ֙QHO~;:c 2-JsgL&!{ʎw ,4A}[}݅'dL< T>ۋۓoO<*#}Fuѣ9nNG˝qd㢽9ljC$ ;>Ą2̴ 9*(f8AUeF%3Vd2eCCcߐ }K\&(c#eJ.bpֱfs}mmgfQz c=W2]ML}><Ex]Ik*`6_B6hT;ҊZ?Byr'g&Kl]_CC2MOanxʷv ]]G[IVbx]֧ۡbk,- n-fs8F wF\V$KR+XE.SE=&`rYqtI6ƍK>Ұlz |DXStkX8x̣{j{)Ӹ -ܽ!EokwBmJ'گ^6þTt -)i0oX -M,b.$L;j:8c/ft | 1cpԧɑR[NdXP]6Ld-+籼PǕ!r}2^I4I)&He1ԗؙ1#~bSWYù+gIbN&Y`WOio{ʖ$|wm;Z3Ϸ= \=lEBl^44,N #}TwتJvZZno>'ɋE{i.Y'eq=F*@K,MNgḒX+~*dџ92NI!=+qx<1 ,I'aV -n|QŒlG}b#n P5aAQ1KWV"H!'V; YdYL=C*6to0l k,a!|A -X)I|9Hxtr4ŹV%ep7L -*7ɼ;bC("V3If =Vb5rڦ\`gfle\Q;I#cǾW E}ITCi&%| 4OW<^h\Z _/ .`^Xendstream -endobj - -42708 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42709 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42710 0 obj -<> -endobj - -42711 0 obj -<> -endobj - -42712 0 obj -<> -endobj - -42713 0 obj -<> -endobj - -42714 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42715 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42716 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42717 0 obj -<> -stream -HWko6_ (llt6@(M%H=v8{.9WmO~ȏ?~sqEyAHK -&:"F#Nj]we_?f״^m]~例^5"'뻨I)HcdbVoK`3S7R$,}zw/uXWe9{_oc[ׇQ>S$ 'y;3#2"qYn΀]t)BNq8 +ǀy0JPK E^ E^"e^"e^"e^!U^!U>A'QD}Oi>Eԧ Q3D}Y>GQ D}/g9bZGqVǀ +Tc1`!1Bk}̰kZZ3,D}Z QV 1`!1Bk}̰kZZ3,D}Z QV }$a} Xk}̰B>fXzZ3,D}Z QV"1`!1Bk}̰k%ZZ3,D}Z QV"1`!1Bk}̰k%ZG -qVǀ +Tc1`!1BUk}̰kZZ3,D}Z QV!1`!1BUk}̰kZZ3,D}Z QV!} 1 -a}̰B-Bj^GWkENwgGSYOz~wj[{ݺsk0R_usp;Yk>uޏs6W߭x骟0K2;i4T.֮ ӥ{mFJ K:-yd}4pwHPL][%KT%Lo 7lzؕA.кZףņ0*SuET!hixS- Ll6犇3CPUlD#da\Sۑr4ô!z`{:Zdv6I;+bݮӝ˿΅5ŰNY LINS&N*h.t|n!&]Ayh]^mOMZ8JT״8. <[b9ƆT-؄r/\[qԇ;8CP8D gNH& D$ =0M%@(R?7f p˅TP}7hhht_j7ȿq;D^*%:gɬR R@&Gy4Cl:A JQƉjpq!LߺN駊f*݌' -7o:'tj |yO&[}{ مm٥B$ԏiߦW3o~Tz9J=mgJ.. LHڍW^[˕-F߷ׇ^? D4ᳲ9t' 29?vq -_(2V[,nwȋ{=\*(˒i 8ڗb,@\"ŜuwJ)C|3~ -#]]&ſo^C!7m^rB^t,i\;mA{ۋG -lM2DsHKzgcH(~tPbuٝ;1 LX]ԐtN/QJm]mOzp'SGeW`Oy? AnPCQT|Ү =9Z86W^@zPd4gѤ{}XԠd!uQ d} f[kư=fFpt8 vu5\+1ߊ.ݓ}dlluVm},w,߮ﯣodendstream -endobj - -42718 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42719 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42720 0 obj -<> -endobj - -42721 0 obj -<> -endobj - -42722 0 obj -<> -endobj - -42723 0 obj -<> -endobj - -42724 0 obj -<> -endobj - -42725 0 obj -<> -endobj - -42726 0 obj -<> -endobj - -42727 0 obj -<> -endobj - -42728 0 obj -<> -endobj - -42729 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42730 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42731 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42732 0 obj -<> -stream -HW]H}{$ܮOW <Ќ îP+vC|$i@Zߺqұ=EZéSsN[/_zj_vN*8壭QM7jeQOV3U'b5_gnMzV|gԧM-[}iVM$J*eMQ}ng:{b|]]jL:wY{{wxԛv{u" vlסudѤk[ԕޑE^VF}SVgzVתH6Tg:H9'INb][At,%aŽk-s, po{V-po{;N=p{{>A}#pG>IOآ0#tϱ{KXfrXh{ZZ˱{ZZ1bcZ1bcEk h-2 cEk h-Lj܋Z- - Z1bI,ZK{eh-Lj܋ZZ ,Z #p/ZkAk9Y#p/ZkAk9F,^ւr,@k9F,^ւrXhآp#tϱ{KXfrXh{ZZ˱{ZZ1bcZ1bcEkh-2 cEkh-Lj܋:Z- -Z1bI,ZK{Mi!jFHtKh9儖ZNhy兖Z^hVZAh5@Z jVZQhEVZIh%Lj%8F5ZZheZ"cژ%@9F,%ro@9vؾ.l0ԘPY{[## -L,fŪ9Cϯ+7Y>}+Xכ7ȀU}4rq_W/ʿ[:y)GfuG[/e@Z]m'9ZM>煣x0iH-?zT7Ю=ꠝ|zǁpyR;2|efae|Ӂᣫfiᘻ7"AM^сyCέGp = qnC}X{ot>-'^d=!ʮMSy[*T>MϛHwo@.i&*[WWZNQfw=mϵ`xbWc?.~{dlmdyݼl_˟Ъ9NS#!Uj!`|+;lCٮ"6Z~CKd0=LoɆ* "?>w3gR_á?N#:9-hCOUFElnXy2]ưEMd/_ӟ .mf6|\lc5>\ӟ f֨c=w 3b?c]=x/ïm^ލ8mޟͬ/ݮXav#V,倖Zh9偖ZhyVZhFh5@ZhEVZ h%VZZ#XfiZZheZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cĒZ,{ h[{ h[{ h[{ h[{ h[{ h[{ h[{ h[{ h;{Kjq,@9F,%r@9F,%r@9F,%r@9F,%r@9F,%r@9F,%r@9F,%r@9F,%r@9F,%rA9F,űVRJ/fy[(ڛB*Zә[uCS~LwG'uU'C畁F#4vǑTncx@>YT1fS~M}>ӱVdحfVfL6{ejz="GRC<[`m[Pn vj;Ml\13#rҐR? 6xU}>OYgim&G0:ʲopLdyhXhYr~aN6mBJ#S4 `׼𯘘QNx2A%7j=3%u3Hw(Rb^gBDh=cr昢d)"`kdwǥ%)BEfgff'}bvXg̮Fk!\~k!a%BCre n0 r׮s+}T -#'& *cbaiMeC&y%umgJHSX4n]R:f8JA;u%YZ Vf3}.z :~F1HNM]F1Z+U@IB^ QR:Mqi:kTɑ(cQTx)9cEܫۀ*X2Lم)wI)pD:38txXU>78Q9m 2Mã@yXRp|Ў}97Vn3VS;e[AbvfUڦuJͰ&`nuQAQ>/w 0t"endstream -endobj - -42733 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42734 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42735 0 obj -<> -endobj - -42736 0 obj -<> -endobj - -42737 0 obj -<> -endobj - -42738 0 obj -<> -endobj - -42739 0 obj -<> -endobj - -42740 0 obj -<> -endobj - -42741 0 obj -<> -endobj - -42742 0 obj -<> -endobj - -42743 0 obj -<> -endobj - -42744 0 obj -<> -endobj - -42745 0 obj -<> -endobj - -42746 0 obj -<> -endobj - -42747 0 obj -<> -endobj - -42748 0 obj -<> -endobj - -42749 0 obj -<> -endobj - -42750 0 obj -<> -endobj - -42751 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42752 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42753 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42754 0 obj -<> -stream -HWkoܸ_2`C'&mA3p@=ʎHFC^'iZ!yxsy}u/\y__qpP,+e V2;RqְMM[fMt*^ϒq4L24Ɋd6ݦ.D7Voge"}c}pdU&V|qlnX}1JԹ,͓[ yVQ -(2纅EDGSeRay"2)-F8vчHg>Gqx*!+ǀy0dey(ǀ%"P/"P/ 2P/ 2P/ 2P*P*P@}F> ,B}ZAǀEǐE\+kZZC>p \c"k} Xk} Yp!PV6k} YzZCVǐ1`1dJµ>,B}ZIǀEǐE\+ k%ZZC>p$\c"k} Xk} Yp!PV6Rk} YzZCVǐ1`1d*µ>,B}ZEǀEǐE\kZZC>p"\c"Uk} Xk} Yp!PV6B>,µ>P!+Tb)[4mb]g8[G<58!b"),Vb_.x/YWy8.3-z+o7&Tsw՚!WeKY*o:C3@WjErBl Y.'}-+D`)3}YWkm{{}^ћO80f'T)z zHU…>߼?_.LJ-riv9N]u!5 M -#ggpY۸4;Ruv[hoM{lKn Tԧr,{<4XwsU^q=&&,IB/ط ݓHR՚-b4\tORu-(LPq*kט" STņS\ >Ofsm1*tz_f'f}wxnQ: -ncx`~i"uájty8ZJ75dv^՜Ky"IJD?!&+UxU0k#~GrXj;/:og/^ ӝ 00֭mW#O۽}.'ZmZ!}ʮFRGSS&tζh،pG-r•2feW(<K].fP}T[8>pkt"5xagk69%yqW4B;gXt9/KR}+p/` *_(aM6\jzi=.ԌcNEup+Գhѻ ӑ11-uzѡwIR+Ig[t(IS6!/I)^C6N? "6?CIy| }&EW?]6 0Nendstream -endobj - -42755 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42756 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42757 0 obj -<> -endobj - -42758 0 obj -<> -endobj - -42759 0 obj -<> -endobj - -42760 0 obj -<> -endobj - -42761 0 obj -<> -endobj - -42762 0 obj -<> -endobj - -42763 0 obj -<> -endobj - -42764 0 obj -<> -endobj - -42765 0 obj -<> -endobj - -42766 0 obj -<> -endobj - -42767 0 obj -<> -endobj - -42768 0 obj -<> -endobj - -42769 0 obj -<> -endobj - -42770 0 obj -<> -endobj - -42771 0 obj -<> -endobj - -42772 0 obj -<> -endobj - -42773 0 obj -<> -endobj - -42774 0 obj -<> -endobj - -42775 0 obj -<> -endobj - -42776 0 obj -<> -endobj - -42777 0 obj -<> -endobj - -42778 0 obj -<> -endobj - -42779 0 obj -<> -endobj - -42780 0 obj -<> -endobj - -42781 0 obj -<> -endobj - -42782 0 obj -<> -endobj - -42783 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42784 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42785 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42786 0 obj -<> -stream -HWm6_Z D(Ф4w!dBjm%nsd!؈?<$?jK~z˫Lh&\KJ1+*fdky|ͳͺ?Wvn~.]ݼrg7sE>8Sq,vWBTL]}=Uew:?6^YxU}+xܳᖉiVj5{=8X=bz.67b2egSI+?7+ 6sc\q#J@Q;l) -<(]<Je^e^U^U^U^u^uMMMmm¾$ؗ `_&K}U¾"W {Gw {GO4+b&jͣR(BQ){l=P-y>Q$TmEOT+ bbGJBQDP-P-y>Q$TmEOT+ bbGJBQDP-m2E<*em"Tm6JcbG*BQDP-P-y>Q"TmEOTbbG*BQDP-P-y>Q"TmEOTb&ӄjͣR(BQ){l=P-y>Q&TmEOT bbGjBQDP-P-y>Q&TmEOT bbGjBQDP-m2C<*em"Tm6J;9p^γM"?dvxͭu|}*^̯ᦘ\r ;ͨ}꾁INͮޏŪ 5_ŷchZWAUEW\g2+Q x] w4_ٔ~b~k~qxU`4w8Ϊpt%%8"WbP\aj\S1{?[vHY(7(+`cnt*~qJ{as`kLJn͞ߏ?(iew~uA=i0nsEv("voi&6wJ;>`oqTwhtz}3ac6Doy*EnhVB3s۷ˮ^}Jlv"f<J.H(U -5*+F%$=ؘ{''ԅcom"Ҕ"D)J+ I:\3Zyuf)q&YNN<AY (%_s]ؒ9u?p}QdRCՎV>02qlw1/8d(nuNhuI)FcklCe Ok|NtFwW5UU1!آ>q}ch˦OeA0.s#B3-n9@^P?,ulYxvhAl08mDA1>|ߙލ}3ԬkθCCPCx0Tj(ECY7y^W,P# -9|B3.wfȬFjZ1Rc@2'vE=`0J(Kjڼh1Se,o@ǡ atlyLqv;{s*ANŧqTY/'zEZ%4 E|KMh!%Q>iª_tlq x!­^f} -t8k}86DQbGXNxG<&"( -;ggq, -V:q1j*)Gs*4_*+y!b9Ǥ^K  %RtG)ա}],KA Q]|Rdm)rH ) 2ŸDϟ4'[w:!F[ILhZ" `cQ1j{yʐ!U?Yi֯fåDR%4Mt(5np\J-`\O L >}:臢9L5$"u=ͥ -V6cNm}lٜpeHqCqL.*1 u;{cq$/H2a2:q=}MgIi2TS!bt=-ל~p)Q~'.mn;'50F *h(o_\}TZ^'ba哈ts$rax+)LsnLJqz.pXbyw\(%rm(# Lk@"Wqj:bP9eQ+&i!@Cwbf-X%ae&Qkhz|5 c;E^@H=Ќ6 -9Om΄@cE6fu1 \$Lk`"7:8eڪd·`EzY[hnchLЍhdaL.=LrEi}aBzޛ)$b{kB --$7D pyDyށQp̈́̇t<҂ ;wO7wrǧWۈendstream -endobj - -42787 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42788 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42789 0 obj -<> -endobj - -42790 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42791 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42792 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42793 0 obj -<> -stream -HWmo6_Z*6@ -ݡp m٫j]'M͐z%gw1ɇ3 G/.2^~"#:R3S,Uf$7ɿ6!eoͦ>foooپM]CJ+Q1&YfaMVU]\O=ϸe!M&UJ]7lJ^sz7 {(*$Nlk2ɾ0{ cW8cUy& ,Kv-M{bM1U -m m"F6Dr"&% 2b/ 2b*b*b*b :b :bo&bo&bo&b}N#"b_싈}I/#%[[}YA6u$Tm"Tmه6@ m"GjCj%(B QHPmhC>R$TE6!`V m"GjCՆ6D#JB QHPmhE6!*fE6!*fm"TETՆ6D#*B PjCjІ(}ZE6PmhC>R"TETՆ6@ m"GUjCj%PmhCT>PmhCT>!*fE6!`V m"GՄjCՆ6D#jB QHPmhІ(}ZM6!`V m"TET Ն6D#jBK І}hІ}hCTfZ8 oMWfUxe9s˪.J/C.~X2/~3V]f|z7lTt[yzxlnk %3@_?_#(fNil,8:e>:u7ܰͦXA]m6G^ ϳ\r[.`K!n[no~Xv,\R6m*@bN_)YwE|JÂ,>G;6CЧ> =(,i{l7~x\7~9?a䷁At`^bi?CZ]`܂inNgs!l~3,c&&_$iOm"ԚshfIbJnܲV6>C4<7v 줳ԙ/u6֋yp1y?,P8ViiB.8*[k=8?zsnMsEC@3-|f|9*(Μ]?qƻ04Hئ91qIP; >Ϲ{gޓgyYu][ו" /6\[SoڿBw ZG3^>*01]ïTm=u!%UL\[G'þzWg 3b:n2ݡPNcu(;ez]a{V?ƕN0zKsD)Mu[*Tߩv'c+ wqu;A}lO'XJۇΗ$Fi+@E!FUZfS{B'Aɉ}L;4y t65B yr/㋞ё~P(bln 2Ѐݺ8p<]TvbCUrqW#_kň?P޶"K1: N-x@xf>Q\AC9?vqWjЋWm,T+_JZ LYuQżx9H\ʢKnn $)@gBU -M pfZ3iI߯ZNQHדs?,c2^{deoAYczL %0@؈uw(ti:W \WP@G,) -ZU,r5Ma)4$9{MUׂ^6&J1/:)τFBî50{@k>`p}ɦǖ[cU\!uݠ?]vN->!v yqqB -urvz9+rRBA3R"Փ)%h3JrusB pgdyo+A$4d0/W(O >>Yd|$T@uЧt0DE]$z8qɍe&gXh*G=Z]ŋ-]JU e{sRB,'/5Ľl,_"*g '/56zVv"6o>Vu;bUCU<}jK $rQt&RƗ(Z (wvTt6K7v% XFQ]ܵ UL ,n|f,sTcV0ECsL;1=1xT)Y:p*t/¹ -2-{ɼwf_j8ģ3d^TJ sQ2^m@}@"7z,[ @m@,dTR{x)ɖ7/%3ù9C[~zfuTUsҍS۶s-uUNAX `t$eE[(Jf4V>r8cxӫGx-Y,] I- |ۂ>fK~r/YŝL*|;9>uӞ)NL|=m_Z})JNe˦vBLqKWveScf_ߺ^7+lA 8ރJř*kܭ|KM^&,G 1۠on>4'/o:]f)6B"lΣ.!r,)'o~jA^sC0h>d*?ޒ6fow9E{N9]߸,a`)ck`kF{A6$bXb⳸6ܻVJDw3)<πEߗ. fSRj`f?\Lbԏ޿NJ3 >6B3%IG{/4;U2ZteUr3h8"(Vl+&-3E#l eUk!̂ ^E(8wpt{(bֿo9Z2o$, Rn %ROv]&1Ϯodt++7*Frtc 6/6HaflA"rxE؆;yaKh<ܗWQ<YDzY"9欠C̴|0t1 UD3;8qfצIC]@*#5#@Ifs-aI3y)zqbTN53%W>W݃jx=ޑh4.A~uAhr1\)*?_ 0Lendstream -endobj - -42794 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42795 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42796 0 obj -<> -endobj - -42797 0 obj -<> -endobj - -42798 0 obj -<> -endobj - -42799 0 obj -<> -endobj - -42800 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42801 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42802 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42803 0 obj -<> -stream -H[+N>Hv|Kn DP$ S]&$e(߻.#i0<>..MW?κ|ׯ^|ՆhRlMYYg͜iMvS ztvn6gon$w83jInjS)LVjެn_y뢫%U]ra.IS&FǷY|0.7AF3odu(OWBXf?guLZ0. -SzwR#9M (9^jDyޫ*}J@>*}J@'> O*}*}*} җ*} җ*} җ*}W*}W*} *} ҫu`h|m?e>T~ |uN)G:rЮol>lgKw?;:~zCY^M&~~%>6pƓ KgYƞcxsHymVf~.]ewstb4ܝψ}FT6}vTܸ's6)RgC4yM67.z:ֻVOVUϷhou~7[6~m7[vG{Lw@~pT|\"X-:f O̜9UΜF_K)z@RRc -x{1TԘ^^jL/z/5}SKjDK)zARRc -xG{1T#Ԙ^^jL/z/5}SK>K)z@ƔQRcJ{ն=_'gV0.6DOc~]ϗEc{xM0lgO:](uլ]OG)Z:71[gvngYOOW)F{,d])z}Ϥӑ<佣+mb慥{xC&|en6ݿr:6_^b;ǭ{짣G!RNQxC >m#-++eߘ]]¯NZJY`ގhO/د%z;[Utuz077mX"t<}tu].]::}z)^;txδ?PxŃ+~pu)9POnh(cOOkᏣ|v]dm9_uC -_8|ZZ3KEE{|?t.ڷ9`}>4o_7S:/zWiQn0517M,Ѕӵ&qA>-~/4$u|Nz6-0\ڋsrBvn6U{;::*|S5W^QyEW^Iy%W -UByT^%*W*UJyV^5𪥗ϵԘ^R#/r/S=g\N;".VՎWRg~XGp;~4nl*=<lqu4nf endstream -endobj - -42804 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42805 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42806 0 obj -<> -endobj - -42807 0 obj -<> -endobj - -42808 0 obj -<> -endobj - -42809 0 obj -<> -endobj - -42810 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42811 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42812 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42813 0 obj -<> -stream -HWk۸_A_bzCbضhMIPly-Jr_KQ2Ͻ<|Kyӱ/~,b^M{ 4_Y)H&ǒ5EUAJ8]xS<]SXS?| ^oU1@'3@NF۞Cʺb2BUm>oCVÔ0\lP:YqK+.L;P9#M1Y sH[~ޫ=ݽGBXtƘθY]~1lb{1>wgCdW&"3 g#gQ 1d2<&]C`b1> G˜ea XB,YVLv!|$KO$KO"+O"+O"+O&kO&kO}L=1>DŽSO}BO<)>ԧSSO}F<>BBYAc@Ře1,µ,_=,W1`Ře=Jµ,BZIc"\1"{k1fYzϵp-ƀEcE\+ b̲k%Zp-,PVŘe=Jµ;p-,W1`Ře1fYzp-,PVŘe=*µZYs"\1"{Uk1,µ,BZEcE\b Xk1fYzϵp-,PV9Єk1fYzp-,W1c Xk1fYzϵp-,PVb̲k5ZYs&\1`Ře=jµ,BZMc"\1"{Մk1fYzϵp-ALcb̲|,_"hmp*&xd$zC{]M`FU\uy-ʱS̬R.|jo'ط3dž - J/@^LSxS1F-W;:׷ -rlȶW$i?{+{LQaq([~SjWt!$L╨c!B<)qa},:}=w-Lf$M$3?Iq% -x;aIes+Hb̿;,^pD~w"%Tlr3O0oଙ7݈<9N&XtX$&ыw%5Vzhl&tg+|h4L:\߮‹XOyws߼t),y{Xx-cADTײ}?ڽ~)tus s@r!5x_-=-z~f@k\`E)QxًۡŝͶnw#-1z.UǃI `x'`%N8nVp났X -ɕ8sJeaTJ{?,eiPݑoFuCy ܴ3V,F'\A=Ke?k<fpLZ͡o.Yds$]D&9hN=E:Ϯk/nWVɫ[pd:Ziφ\@7 -tFru162ұz>k9 ~bjMOe;]{yʶ+@%I3h[ VW >־ 3^)HTOi`Qqо >Þco yPXI=,d##qu ݥݸu_ˤq# -w -ƹ #B\2- > -(eh{=.j{e#It#iU/+~u`f?qO)Mϩ{}chI)jgĘ~f x@q ?Wj!KFPr*D?]]#}wBBp[KzO\ɖ.?}hduje5/!E^*c6tm;ru.L t97A ԸLiڧ4_~zf GusZ]f8O;phRO~x9|f3NƳxq.n>'͇A~B`oyœǂX_QNtϱ7sWxن$gx^]}y(T3nB5Vlw5W}R'&Sn VCfE?@3LmeWB[VmՀb9Z(˺o-#$hq%e4ĠnوW||7]̟OX*1iv.3#P ͆>^BsYa mғayǹx\nG[K'_Kn#ۄ͝MC?N󪠢Xsc9v2{d5ќ3ްt6ºDk+b9r),XbU*V XbUU)VXbՀU+V Xb -+HkإYR#WXbU(,XT ȽX*^j,{r/5vʽKހK]ro@.R7 Rc`[{KF.{ T-ȽX*^j,{ r/5vʽKނK]roA.R Rc`[{ TȽإYR#ȽX*^j,{r/5vʽKށK]r@.Rw Rc`;{ TȽX*^j, ^jҬ@3>I oyDn|Y7pi[N}3pnclwٷ}⤭Ew/rsz6bzZp~LMΊs?lǯ'Ս65Yߑy=<7q}ƷNժizؽAT^oڞ4v&7yqeuciٚp),Xby+V XbU*VXbUU)V XbՀU+VXdjZ,[K -*B `2ro@VR,{Ų ^jl.Z,[K@VR,{Ų ^jl.ɲ Re+u)ȽbJ]r/XRbK-ԥX Re+u)ȽbJ]r/XRbK-ԥX Re+u)ȽbJ]@VR,{Ų ^jl.Z,[K@VR,{Ų ^jl.Z,[K@VR,{Ų$˃K-ԥX Rekzl_UwrM=S7pQݝcX>(+FIݿ.&oQVsMu捻ز6wC+Ϳ !ׄ"endstream -endobj - -42814 0 obj -<>/P 591 0 R/Type/Annot/A 42815 0 R/Subtype/Link/Rect[93.6009979 552.830017 364.03299 572.51001]/Border[0 0 0]/H/N>> -endobj - -42815 0 obj -<> -endobj - -42816 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42817 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42818 0 obj -<> -endobj - -42819 0 obj -<> -endobj - -42820 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42821 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42822 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42823 0 obj -<> -stream -HWkoF_164lMŖ|Ch[E9UaH$9sQ2qcv/1bJYڽĘKXcpZ@k%,^ցJXcpZ@k%,^ցJXcpZ@k%,^ցJXcpZ@k%,^ցJlxZ1K@k%,^b%F,Z1 WcpZAk%F,Z1 WcpZAk%F,Z1 WcpZAk%F,Z1 WcpZAk%LhĘKXcv/1fi#hĘܫZ1 W #hĘܫZ1 W #hĘܫZ1 W #hĘܫZ1 W [&hĘKXcv/1fЅte=0BȠXVZAiV -UBi@TZ%*V*UJi@VZ5ЪVZQiE˵Ę$Ɨ5eZVi9唖Z*^bژ@%,r@%vYJ ^bZ*^b ֘@%,r@%v:YR˃KYZKb|Z*^b|Z*^b|Z*^b|Z*^b|EZ*^b|EZ*^b|Z*^b|Z*^b|Z*^b|Zc֒_}_}_}_}}}߁}߁}́}̵Ę$Gnr_,LN?eIΚk$ NYi"f,w#<=vy%ɡΪdrMd0/7/`C&G94C\Weĭus⦯?yW3}.LYtC2Gw4a| ~Ϗv]`D̝F붿{խ.W CV nu+SNQ^_} GѻfNm~g{/&? {gq UvsDkf$=m7w1˜E$C >sS{㈛^^<=79,-\V 9灣t+12=z1 -ڬ_wmfb(nؿ5<6NcCMMTlݬBI{l6)Vͪ_6Ŧ7+svEw3u7ENB̪9yvmo>=cc ج谑Ic[ipuQKqLY>]_=o;i ?/Eۙ Gn?o鯻a{4@EȊMY}"7ȚIɏ*/*#ؐKΜ^=ſ/&c͛~ EY{r"f/?^h5^M@$>dn0dv9'}? bpbZwжlw*O:_%3{>IYVZAiV -UBi@TZ%*V*UJi@VZ5ЪVZQiE˵Ę$F, Ҳ@*-r@KށKY@KށKY@KށKY@KށKY@KށKY@KށKY@KށKY@KރKYZKbʽʽʽʽʽʽʽʽ}Ĉr/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-r/1f-^bZ#ȽĘbc +֟7Yc/J(opȋ,}#-»|ͅ.1YisminF붿{Vu8Uef]mݬ_:h.6/M;?|W/4iߺ'wv]VIN I@GN-;3S%=zbcz{}1&y"#z3U2Ҭ ==$ì{^w2@rra\㫲ȈQIl^O"wc+:ʾqd֊ĄLЫ &rp9? -hv}PU!(O#hBsߘCʺ2^Z/.$UM8@Ķ Ū<i.Kd|)uH#B/X<&楥8k3e)YȴR 9jPIL? =a"QN- uEtu5/'pAH]p)bGGQ}ꕹ9 -ص4G.QJk1i|06R>,{;72YJܷ?ҶQEEЁ*0)!ߒ3F]?~1~v>x* -K(V[Nev”I݋vc=fww~87Cϻkdum{|k$HE+@f<1ih9ςinc qFvP&X!vAY4|RrT; XֵFfVXNnY > Y0XU e,M&!4BG<ƧWZ%ᖸ5Jh}Qj6H5zInJ>hR0^`iXױ(18)rq#F¤kdŧ94 ˮ䛤R"PɍU)8X5ˆܫ}h Z˶1r&xuQvv3Y !Uϛq;Ku5X-{㥀q>s˅K#n2Zf/ 5~S0Df[2͙/yVC܌d5Q{}\##yjætcY<8~^-b>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42825 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42826 0 obj -<> -endobj - -42827 0 obj -<> -endobj - -42828 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42829 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42830 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42831 0 obj -<> -stream -H|W]J}WȬ?C>n6t}Dc`3[E7whpP.1?~|߼{7*e BLZĽ#?E<y5]_fm? ћMt_e>*aq 1߽%}|ZȲ,S&Wwiq0je)'*wMEm>D2sY'/,Q)Th -m2!*)CNq8ǐ.cPp!PV1d -µ>,µ>,B}ZAǐE\+kZC>p \c"\c"k} Yp$\c -B>Pp!PV1dJµ>,µ>,B}ZIǐE\+ k%ZC>p$\c"\c"k} Yp"\c -B>Pp!PV1d*µ>,µ>,B}ZEǐE\kZC>p"\c"\c"Uk} Yp&\c -B>P}ebVmDU<#7ۘ?fq񦍒BwN'ʁ ->^,Uv9tξ_T 3I0^4+ِnKl!2ػ$sB漛ۛF|Y/p -)p@s+W~qOEȖŗM5Vn&fWR ùO1n`տa|in:OZKL5/ۿ.0CKc:FHW;hcɡ젲?Amv^ Wl0 gi`I7mtCB<*tܓ׫TOU}L}Х -qNdR#$bڭzF/e4|QzM -:"cOAhNHlO'wk_ϩ|ym~sXsl܁ -]y*ejUn eyYGWxrroYn<%%tw>Y_}e:TgɱsWg2<ӺYxpNzݸr燜uZ)-+$Sy(1&Jd~dzq.g^6GAbaoJZ5pzqe3 |f>ю@a\d#|lD8>WŵDW`܌匇+z l`W0yjs2dQ8q`]d.|1nHq!fsmĥB!U "b "b &b &b VFʂX+ bD< VA*XbD2UJ?`a,CVǀʼnX<ʼnX<%XgZ(_u!(lݕIZL_ZJCFԲcAۆ}x澘puF:R;̘]{SKy2c -t)^fL.ˌ)Хw{1x/3@eƔQ{1x/3@eR{̘]{SKy2c -t)=^fL.ˌ)Х{1x/3ẗˌ)Х{1x/3@>eR̘]SKy2c -t)^fL.}ˌ)Хπ2cJwɌ(̘]C3՟$v@7?Om۱6yʌseF<|ڔ/gEh Oljrxw]7tN1t(,#V}HdSfWL瓽s]m>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42833 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42834 0 obj -<> -endobj - -42835 0 obj -<> -endobj - -42836 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42837 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42838 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42839 0 obj -<> -stream -HWkoH_1 ph΋$ qr{ Z@>AHD(4E-Śa55}|W/^r˗\$JKu¿)_47mGI2uhըz57jk~,ԮI4M^ϒlV -dRUTEV:TMg_;iTvu7Mό&msYž^M??ҢiN67h65a,ɂ#b :I 3KX{u)SKT6O:YIuRJ.sN%9 -Lj%X`i-Y #,]kice{#½po{+; w½p{/{ 9p 9p p_p_p_%p_ -%p_ -p_ p/jV:1j9F,ccĒ9F,ccEP#p/րX`{QT-Lj܋5j9Xj9F,^TU1bj ZZ Uk@rXZcĂ{ZK{Z UkArXZ ccEZP#p/ւX`{QT-Lj܋j9Xj9F,^TU1bj-ZcĒ9Xj9F,cĒ9Xj9F,^TU1bjZZ U@rXZccE:P#p/ցX`{QT-Lj܋uj9N C> ; ; 9 9 #7 #0 D=0 D= D= D= D= D=h D=h D= -D=*8F,1:-{r_UU9Nn,9ʹjvTG -NWiXߚbuXvJ^Ng_46KD&-zJχzrش^fWC[/)mL=/uZZjw^ݛ.lg2{珯͞\} 0[⸻̧ˮCz}w?^Y ͒˸!$a.D/?twǯw|sԞ )Ų퇭omצ\5%K.70e63w>?Ipwyo6$d?pn_f1t7B7Z5KgDzu(OG,~Ns3l'uF{ȴ(R=?LB>mb[-?O+5޷|jNlhLS8in>NQe~>]߮9Kusۿn|dh3}\Ϋ:{U֨}׷k5̃jOU+DsV--SoJ]KZOh[qبQTԓKMP&f2t<+ھÚM/ tZ8'n_dg;@}'O^E?ҟ/&3ӥ#ׅɪdn:fzRmuty*tUV)X`UUV%X`yujcb[M]K ,-X`2e -,+X`9rV.X9`UȽZlKހs-%ro@j7 \muZlK@j,{Ŷ k.ZlK@j,{Ŷ k.ZlK@j,rϵVS`s-%X \m5u =b[M]rϵVS`s-%X \m5u =b[M]rϵVS`s-Y9=b[M]rϵVǮ۪5Z rEYm3T6Gymup/,UT)O]~]SJ]}Vݦ[o_yw_?G=_62endstream -endobj - -42840 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42841 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42842 0 obj -<> -endobj - -42843 0 obj -<> -endobj - -42844 0 obj -<> -endobj - -42845 0 obj -<> -endobj - -42846 0 obj -<> -endobj - -42847 0 obj -<> -endobj - -42848 0 obj -<> -endobj - -42849 0 obj -<> -endobj - -42850 0 obj -<> -endobj - -42851 0 obj -<> -endobj - -42852 0 obj -<> -endobj - -42853 0 obj -<> -endobj - -42854 0 obj -<> -endobj - -42855 0 obj -<> -endobj - -42856 0 obj -<> -endobj - -42857 0 obj -<> -endobj - -42858 0 obj -<> -endobj - -42859 0 obj -<> -endobj - -42860 0 obj -<> -endobj - -42861 0 obj -<> -endobj - -42862 0 obj -<> -endobj - -42863 0 obj -<> -endobj - -42864 0 obj -<> -endobj - -42865 0 obj -<> -endobj - -42866 0 obj -<> -endobj - -42867 0 obj -<> -endobj - -42868 0 obj -<> -endobj - -42869 0 obj -<> -endobj - -42870 0 obj -<> -endobj - -42871 0 obj -<> -endobj - -42872 0 obj -<> -endobj - -42873 0 obj -<> -endobj - -42874 0 obj -<> -endobj - -42875 0 obj -<> -endobj - -42876 0 obj -<> -endobj - -42877 0 obj -<> -endobj - -42878 0 obj -<> -endobj - -42879 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42880 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42881 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42882 0 obj -<> -stream -HWksX_q7UCL>> n|X`YY&=tj)bOէuoՍzW*R/^|u7.ԹSqfĨ4alT]*mUb>jrEXepQ 8LTr(SE_[=iz˻]bg&zjeQdnX1nYݻX굆^cs&QJG{?Gj&N"#`| -srGGV8F,9cd1X1`qZK,F-po{ [Nwc>c>c>>>S>S>S>3>3>s>s^tVrlZKgrX=Lj%s̳@k9F,^րrXhgrXh{ZZ1{ZZ1bcZ1bcEk h-{yh-Lj%sX=< cEk-h-Lj܋ZZyh-Lj܋ZZ ,Z #p/ZkAk9Y#p/ZkAk9F,^ւrl8ZKgrX=Lj%s̳@k9F,^ցrXhgrXh{ZZ1{ZZ1bcZ1bcEkh-A Z1bI,ZK<ܩwu^@+ ʿՅF%iZ5Xz>5zPg&uao؛y&e=܉ þz\}~ΟZ7.F)Ͳ~PORf*q&tyhuE~ΩzjF͗T]yF#&mV~V΋~Y &wm?:_څFj/:j(NIx-CW]T0:{LhWщsjj]g|iՏfZjYjlԨ}{"N=Lz{DT:;(56ENO~xi~&6X]6{D=Ku*"M2ljNoF`yv5,ռu"_qnK~yWLo%ğGQV*C3+[5 V3GD`70OݞҍUzӳYs?u}{;UU9/S/:Z[mqIM(S:MFM9VebbtK\Aђaߩ{Cg{a!1b%rB-'b hB+ZJV"R -hB+ZʀV&r h\˧I8F,1@K - 2@-D =LjD =LjD =LjD =LjD =LjD =LjD =LjD-=Lj%8Y # # # # # # # # #w #gsX@KށsX@KށsX@KށsX@KށsX@KށsX@KށsX@KށsX@KށsX@K>< cĒZy_Ap>7m@ A^Ls3U./,@Ge,9>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42884 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42885 0 obj -<> -endobj - -42886 0 obj -<> -endobj - -42887 0 obj -<> -endobj - -42888 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42889 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42890 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42891 0 obj -<> -stream -HWmo_0p]6ɇ H.w-jEL-)]#&Loj-U.|we&{dʨf4VQŤ*]f]W[- :矚OdBQ2|ݺnۃլIwl!0Z'DR}d0;RzH.sUߔꧤ%?i5SYteaCR5.XUDɉc$KNDZ2FFXܻ1<Vp{;N=p>A}KK+++kk#p܋PZ-2 Z1bIK,ZK{%h-Lj܋ZZ K,Z #p/ZkAk9X#p/ZkAk9F,^ւr,@k9F,^ւrXh"s#tϱ{KXbrXh{ZZ˱{ZZ1bcZ1bcEkh- cEkh-Lj܋:Z-2Z1bIK,ZK{%h-Lj܋zZ K,Z #p/ZAk9X#p/ZAk9F,^փr,@k9F,^փrXh" #tϱ{ WT?(˨TDz%Ƚ]>Ƚ]+Ƚ]+Lj%8F%rA9F%rA9FW%rA9FW%rA9F|%rA9F|%rA9Fw%rA9Fw%rA9Fs%rA9Fs1bI-ёhX"{dMcQ<{J'TeEz,D/:''rȌ[˜_vnU_rۮU֋[-|Zr=PnՅ a`ϵUny?~g\-t*IЁ\۪z=.-a&s4E臧q#nzĵ>qFknU?Кa;Z}Dq6-Ogd}rtJ7?]15^Ջ_>~Lk"m5ӷm'!?9їRԢlw>kg*}r:o[՛t¥n<6U.ڈ׼x9nn)$י4VS;Pݙ>Ve?C/wlxL>xu>COPOiӗvMq™almgj 0>Cŭ~@|mOn2FUV}Y}V6Tevq]]ΗɹGͪ,'Ά.g4zb^=.gj5μ>h^{jOBuF.MU#v6uY&rubߝ#GSCFoϏkg?л.|^4TܴO&]`-=6cn"ޛErQA4k:S_`\^2^تDҀr<@sMǓ&ɍɷsSN0BM赓E - ;PBe]C! aesΦPKTVydV/޵[|PoVGśE.K\Ee4Y*'UUB+ 0A93"j]G7qֵP֬‘:gDwL'ՏȃZoD vJ]?ɘX\L=fIx@ g.`Cn ![7r5#^ g3y~gN. _Dܐ^n$^zC`8T cyFJX(cF5*;%/RE8hxz3mܲP!o-M"7 CTf8zO+qE䱺>sY]@l'uZuUK`f So'R?ĄwzT&z9o'nc&JkšOxpwavM'WL"y/@ɗo/|y<`>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42893 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42894 0 obj -<> -endobj - -42895 0 obj -<> -endobj - -42896 0 obj -<> -endobj - -42897 0 obj -<> -endobj - -42898 0 obj -<> -endobj - -42899 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42900 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42901 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42902 0 obj -<> -stream -HWmo8_2_.ib(n"Pm%Qϒ|Iߌ(p3<ſ]'޾{w._ "#L62V"JP(Ep]Wql]Yݮ\]\v}\.etD$wA")0*v[IQ6\\}_~:@uJMW+v823L3MweSg˟==gbXљֈ^!X1~Wl@K%E?`=kd:La*ȒadQ PQ䣈 QAQQ䓧6@)+kkk[[[ c3c}°O< >' c2S}ʰO=>g {O#ZjŨ峧6@16D Q>{jZjCSbTKmb{Uj Pj Q {OQ-!aV16@16D1=*FԆ(ZŨŨŰTRjZjͨ峧6@16D Q>{jZjCSfTKmb{Ռj Pj Q {OQ-!aV36@16D1=jFԆ(ZͨŨŰTRj5Zjè峧6@16D Q>{jZjCSaTKmb{5j Pj Q {OQ-!a06@16D1=FԆ(ZèŨŰTkRj Zj˨峧6@16D Q>LfYfDM*\VH,(MEgbY_C!ިt.ieW64w O02Ag'u8n}'c ہc=Q>mwy7}~43y0SbǙH'EjQ.!AJ>‹b=춙mݏMve{.efBL wxʫ8~Y˛%z,AⰧW -e'G>ۛ\~}8&Y6f=Dd#4:> ul@jo]t|1&aŷs{bɇw/2 \.z|x Fj${$cذ bh%A1( G4tzI& +z}[4_8=Tۉxg; iGoѹ^i;Xp1Qx"we%^TSY+a>kXJEڕJj~@{1? -8UNPg)ݯ+dvk5nVTnNr;I)RzX :2p -VDeH%mG:lZxGʆ}X$UpI&(6ԓ?T̵]tZ&ш2]u{WD"w]p5>.\;ǎwlxK1gRKF'5Ӟ6B|d5qW|Q8 OͶB;CNQA0t~;".#*a<m3 ۏzo1eD3b mqOՒԷϰf謽 =ہ#k^t}۔mn_ҵ FeUnr]/*PX vY;l Kg2$ioMAө g??dž!tEힱ[c<snu9N>޸2WUOr u!'yJ)dL'2C5BJU([A̫tРd7dD'iApiS-5 oۦ^ksoêwfm9«z -[~$P2 {&}bk6-^1&nl2se}Wpu|?5<Ny﫢&yq㡓8!\en(9ܕ 3Ctt1&ZiVYhVx{|wK0Hȃ?{&:׾c9s#[?8ҕxIi}C\ /CvPbҿנV]\hpA#zhV`Xm7$uo;'^u "0WG2KrۙKr㍠Gexs%\7W̕rkm{~ŒТ@\V<ԴPH -)cM,%պޙ98~0̧?9'V@ XYZ0-#XXF `YbYr ',OVZbk-Xc[{RK{+,{RK{',Yl 1K-", 1K-", 1K-", 1K-", 1K-"bf%,{RK{/,{RK{/,{RK{/,{RK{/,o0-=fŬP|=1ftv_}Gfw4/6ޣMb~o{u,N v>ܩnaxƫմKSrvSkuuq圎SzSmNϫm=Ttc6eV}xOzwzJ۸2 qo5x|*jռ~Ç~BA&z@}~,]m=Kr{[aͭs#V'Xz VO XXAs,E,#XXF `YbYr ',OVZbk-XcwO"{yoS{+,fy-b 1˻lKxY=eX{)[cwO"{S%,E,=fy-b 1˻l! 1˻lKxY=eX{)[cwO"{S%,E,=fy-b 1˻lKxY=e Y{s18|9+qİWkϷ_7_oCuYuSNqgOoan9^r۳iʣ˾y\pd7?ڴ]Lqj? -|W OY;oL.24C_ fmj5V7jSkeek@{oϾ.Ok痏/^'lFJendstream -endobj - -42903 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42904 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42905 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42906 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42907 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42908 0 obj -<> -stream -HW]oH|,sh?,؊fp - DJ .߯, &U!E۩WN?]X߁v -FQYjĨ >:mUӫr]tշY7m)Z -N/>u ΂әJ*0I򠩲8WMMf_{ӴI"]Eij5ya8|?P389b7r-@ql쮸DQOBmt01r}ȨGc~X-Umg#`| -|B9s<2Őŧ,!+XԻ<ŀe7{[e2Vpo{'w̽;>'}"ODp0>eS}gs 3>}.ϙ{/̽ܳjFh-ŐS XBk),b),CFh-ŀ%bܳCR Y{Z#bܳZ!KpZkR Y{Z#b -{Kh-ŐS Y=ŀ%bܳZC -R Y{Z+bܳZZ!KpZkR Y{Z+bZK1d YkZ!KpZkRl8CwO1` {!R Y{Z'bܳ:Z!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZmDh-ŐS XBk),b}w*GMvfFi5[~ (m|4#f n2J/'/,oڇy0gt1ёQxSqZ|\E]-u?V:"а<쫥z~<׻_'oήof' -|x>O^r媕+'jDJrX]78D(5I[R?o  ֶ][mC8|B= dpU<Բޞ_:$*-n,\U K|~.hdoX~oΦԏxsS.r*IJuRe{j[vm-|]+yPx?9!7ƒWoQt:'$)o[hj^baC'ew-!yl܆5 >'xfmjtm8߆,#ݓG˜zT w? n~H1dyŴ嘖Ji%V´RA+eZ2LʘV&heL+r Z9gZ^T\bZ4҂fZF2LZ,F=Ő%h!CroS Y˽rO1d Z,F=Ő%h!CroS Y˽rO1dq-K=Ő%h[!CroS Y˽rO1d Z,V=Ő%h[!CroS Y˽rO1d Z,V=Ő%h;!CעS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1d Z,N=Ő%h;!CrS Y}"bZ{!k{SvU~=+m$!΢4wC[*Ȩ~Ph36-l~݈]v=uȚ|zjwSEs'+UeQnZU[N𡮫ve>/@&=Mŝpy؋gr8٩z]Shɔ2C,0skypZu依h(;|ǨA2~>U(g~mpVt -~X]X-˺Vwh?;}PjwGqnQm.<aD݈:爩MdL7tq{e-i,,'}aH~ 8^%y(%)(q~<:\=ԋӘUQXwG#Ѱlۺyև:ʓؖ0]<;ԏ&9;~z~60}2ӴZ( o΀/S2:Ñ6I-v<;ĪzY-( N=]? œqDaNG.S[bCcfimIXX?w bn:>s&UhT݉pXj{a3{G7;;]36 a!C`G_9xLY;lpxɈώ (ÖՕߪazb7Ag6][[ gu_-3$lOSQFrt0㵲C7i2ٍ/*6íOjh}7qlGwçmoNs7cC^f5ݶa xW胡H|뜦@6@!VlXv}&) kyrv9[1.xGc.fw N&'tQCD@DDxIji%bF)>Su<>,PPbWעc3eįoyρ-nsȇQ@B}h˼U<3s}f>.gJdDO xlSUC*Jzjo]Kң׀ƕnyjx}ޜnO>eLK"'Ljdɑu: ږ©PW\6F#kA$&16auM5l)\X ɽgVV.q 08 =gi== .ku_ۜAF:B GX?MhPJ fo7eX}L4{=C9 ůUydi6 ]Aqvr9r0|׀82=M4܊r8shȕH# ɝ<JD$1WB^߻m[>/P 1070 0 R/Type/Annot/A 42910 0 R/Subtype/Link/Rect[93.6004028 221.908005 255.804993 241.587997]/Border[0 0 0]/H/N>> -endobj - -42910 0 obj -<> -endobj - -42911 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42912 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42913 0 obj -<> -endobj - -42914 0 obj -<> -endobj - -42915 0 obj -<> -endobj - -42916 0 obj -<> -endobj - -42917 0 obj -<> -endobj - -42918 0 obj -<> -endobj - -42919 0 obj -<> -endobj - -42920 0 obj -<> -endobj - -42921 0 obj -<> -endobj - -42922 0 obj -<> -endobj - -42923 0 obj -<> -endobj - -42924 0 obj -<> -endobj - -42925 0 obj -<> -endobj - -42926 0 obj -<> -endobj - -42927 0 obj -<> -endobj - -42928 0 obj -<> -endobj - -42929 0 obj -<> -endobj - -42930 0 obj -<> -endobj - -42931 0 obj -<> -endobj - -42932 0 obj -<> -endobj - -42933 0 obj -<> -endobj - -42934 0 obj -<> -endobj - -42935 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42936 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42937 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42938 0 obj -<> -stream -H|Wkoܶ_2CEHE-wgDJ%Ekx<" ~ waw?1S!2L g<3%ԧPy3B} >'P{ B}/^ꕧ^=2´.p!Wb"\bջ|.,µ.,BZNŐE\ ׺׺k9ZCs-'\b"\b"{k] Yzϵpp!P﹖u1d=rµ.p!Wb"\bջ|.,µ.,BZAŐE\+׺׺kZCs \b"\b"{k] Yzϵpp!PVu1d= -µ.p!Wb"\bջ|.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] Yzϵpp!PVu1d=Jµ.)ZCŀEŐw1dUaVao7fCnuDYMG,f,zYt2bUsp ϋl6T?e?uNbpSQy{8,9ya &c"9p9˱nw9Lo6ƱbE=[mS]Ʊ2ǽv{Ȝ8͙Zw6K}xЍnrZUvß64)a Hipx_Z_Cԣй=5I'f0v64o!% -rVo']IIR8WksaTY-60P>غ+3*pBٶMY3aΎ>u۱KbQΒ/jA6׏hG(x414>l˻lڴ%$|_noW*0;$5Rs.Qàa,?4e[2NPbi7 -ii}V\cכ@*UTl.<8QgCTG5ϮKll.V*a2p\moAVa"NL/L;O"UxC ,b*Qg#>Geky=w7ik䵳Hf>/ ½창, r0ZXJ*lOV &ԁaMP-xl+t:VyXU.4'zL -s(351 v*$\#hrbvȫVSx_}y@GU4MϦsߏ*ڵ+4tg=\W]v[(M@[nL܌v5,Io~]F;56ՕrF /~d: -DF8in+x [=ZT,tûVp'Y*.zM` at'OtAW0++]յCG(NfS`{tx; ,|"}NWM q%3^-;*Gt?_q5R"_$,lΆЀ jꖿ'EHȌ qDc}ٿ+Y'Hgw)Ղ F,4ߦ mRʒ2ar\|r1toױ6'o{!:t2=?ʺ)|)Q R @e|=xrIӉ.}7{NRѵvD1=Ì\{UEiR {G,5hҲ^\Jfs(K3b=_ͧv;3~\Vo4V!C{Eo(W ,.$+i&֚LyN'~ܗ ο,6 -şN5hoo:v|ՊeE@twpf܉6-߂`r^|<6)Yn(B(O9l ߽+:k_,Sެ5LXQ|ѕh=zҤHlF_Jx %֕ -~k z|<'7.SF`PJyvN}hWMݽ%`mBH6ZY8sE޺vJ OQS%#?1<Ѡ!!}K}8ݡqWt<~cte=͋Jw[DqgN:> 8LV(ܗdKP^ x/6SE99Q.Xuk`sPeEOh꫓}'<ŔЧk9fGLO6vendstream -endobj - -42939 0 obj -<>/P 407 0 R/Type/Annot/A 42940 0 R/Subtype/Link/Rect[93.6001968 663.229004 347.123993 682.908997]/Border[0 0 0]/H/N>> -endobj - -42940 0 obj -<> -endobj - -42941 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42942 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42943 0 obj -<> -endobj - -42944 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42945 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42946 0 obj -<> -endobj - -42947 0 obj -<> -endobj - -42948 0 obj -<> -endobj - -42949 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42950 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42951 0 obj -<> -endobj - -42952 0 obj -<> -endobj - -42953 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42954 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42955 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42956 0 obj -<> -stream -H}o秘ARwH spU\+0H;Ym"K9Z6#KR!B('0 ud+2V -Fn^^OmH-yQorXn+ȿQKz/V{P][~S7@qo芲j?i0\4Q \a ߪ{y\A~]c|h+pơV~ߏ5v f7z?t qM.k| ?_hXRlFUcCq{_`ph/1t KE@~'fCx}[ -Ipy) f)kư+ > - =fnBX.Nhݍщ?x'JV#l,`߹v-9q= !|Jc[]hB& -$N%].֓j{VE^ͫl8REy X\N-8QG| Vq7`446a#?JXcUԽX]JCr>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42958 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42959 0 obj -<> -endobj - -42960 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42961 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42962 0 obj -<> -endobj - -42963 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42964 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42965 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42966 0 obj -<> -stream -HWmoH_BZir -_zV: AWHhv$fgq~%c?ONfRTWWY׫gϦ^R^F_"bU86Ό3FuUQ5Qn"jMOŬV/E˪h̨U4J:aDy僦ʓBhR1M4;e\7˰בzP:Qu)QW*6M>G":|9^r< -Lj%X`i-Y #V -Xܻ<F7-po{ [VwpOOO τ τυυυ//{{cȀrX= cĒ9F,cZ1bcEk h- cEk h-Lj܋Zh-Lj܋Z 5 ,Z 5#p/Zk@k9,h-Lj%s,@k9F,cĒ9X#p/ZkAk9F,^ւr,@k9F,^ւrXhX`rXh{Z Z˱{Z Z1bcȁrX= cĒ9F,cZ1bcEkh- cEkh-Lj܋:Zh-Lj܋:Z u ,Z u#p/Z@k9RZKX`rX=Ljܫ.2lںD:%rB-'R -hB+ZʀV&r hBZ*V!T8G|B<&I&|*p+|OD.qpUsgߕo+]RLuռԢVuת[ɣ<=wl;0kTTAnSWj6koQ>epX~泛<7fp+sw'/=~Gs^!ף)&)Ea7}~ ->͞vaW^8}U_U|q6.ó nfckz~ K y#og݈n=ToN^hVl?kf )Qh\=`F&[NF,ِuW55˗G,><}18<<>1|b~T?nx -?N.&]WͺU&=: ?\g/5JusE{sy|ixc`d_H(v"ilM ÙFoHG"=:qXZNh9V -RThe@+ZʄVr\h@Z*Z^hy幖ILj%8XhiZheȽȽȽȽȽȽȽȽ cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cĒZ ,{ h;{ h;{ h;{ h;{ h;{ h;{ h;{ h;{ hܧ #X`sXR{9ᅥ2*H*|lpY> ׽dM*0򶢫Ŵ,8nW~3 1|r}m=%M&Wm|ۺY7w|ǜm>:*L6dl[f Y|ĽZ<^ľ~vnmrirH4glQGnt'v8z2:릫]Lﺺn@X-c~v8˵va~>:VOEh @Ќ5.fسKb[dJD"B6@ah]u~'wnP͹nȋ`Yc~^yo~T~iUKNKLT=&b7eQ{0VRuN.zPcodvspi LHafЧk K&֙3frZ_7U}z`G1LVڜ]pPw^HSsi~i ̞&U"Եg6MQz} ꪪtip:e @G6# -~8k} -(l}~%&ʻ~(G&FZ [BzS:?Squ]~{]7aݵEn1E.ځB|Y$ eGBu+Wn =Õ8aXF2텽FQB{:~l=?A{[au:Sm=+"$)bM %Տ[~DJ%J.s3Cװ=(Nԯ^TWuwup`nkuJPFrA&;:f(TW.*! f5`a%j5@\ȏvkwZڭRo.p >6ᷯPbG`_Vs+2s9BPƣt_- gꕫ%Nze2B<ˡ,0~%,G$j{f!w9[;IM`l+i̱MwP* 27~p'/{"G6\g?3KV6Vk)z[y?e¼*QX~AugJ6c$,>0=mڂ$ن-|oR8%NڕY*j9Q1ots\!ӎ*cd<^W -Ip_ud%SC@0_nz#!SOW^KETQĖ5Aq9/cc]:$FPq\e+5HEsJXS<]*OUx :Ʈ 8Om@TʡwE`|?KY{%xr+D1$`Hi`5FK‹]hi$pj#=lq%:f{\K3 T;P>mͽ#ڧ f/ؓUPۗ uV@m_lQѬ{zsv:fST$UR 9? b-_uBhB}@3%w_~f+ԣ$Uj~;44Cy-hN{ *|?$W흨 /%M!ehJ,EX y3.mS݆!ߥ*.LI@ڒbtR`V"hl -Ƶ+ g7GM< ]e 9|~ F7t鸉"?>{+`¤.-1ƶr;Mz09`²'0&=~x endstream -endobj - -42967 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42968 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42969 0 obj -<> -endobj - -42970 0 obj -<> -endobj - -42971 0 obj -<> -endobj - -42972 0 obj -<> -endobj - -42973 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -42974 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -42975 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -42976 0 obj -<> -stream -HWko_'iu/.ܧ}*OTp2>c3}9s s}!/{/̽ܳj!FFH-ŐS XBj),b),!C,FH-ŀ%bܳ!CR Y{Z#bܳ!Z!KpRkR Y{Z#b -{KH-ŐS Y=ŀ%bܳZ!C -R Y{Z+bܳZ!Z!KpRkR Y{Z+bRK1d YjZ!KpRkRl9!CwO1` {!R Y{Z'bܳ:!Z!KpRR Y{Z'bRK1d YjZ!KpRR XBj),=KRK1d YjZmTH-ŐS XBj),b}w*nW2X.jy%q+G2,Obhl-JfV}Pf]Uڅz]w볿8]踀q9aܮz{ZmJqpW~jwo}yb5yjB&LX<5}z$|BOc7?zPZ஦%(+TS*f{?V2t(g)+w3\ʙV!hL --ϴ婖IŐŵ(,-hi-ʹe ӲeZVвL Zi9A1TJV*hL+X)ݨuO1F-VF{a)h7BS LE1dq-a)hBS ;HAսb -ZPPbuov}{+=ŰX[) -uO1-VV{a&hBS ;5E1dq-a&hwBS {0Aսb] ZPJbuM{'=ŰoX;) uO1-VN{a#hwBS {E1dq-a#hO_\(*l\xS۠^:ŏcelc(ٰϋWjtfX -#20|ySD,|f -*lnG0@ -.gJ푡:;>YiG"39?W!Eٷ5mV_j_?jSޜ#9Ty{7fX<,uB uǛ0]8z2<afIcބ+9խK0pvnR}lj5 5؏A?p -s?Ip)hߵ<)^G'qLـ8C9㯢ON IN4'%yۆ_! WDR:t(.L,@2XHAF'e5s $٦[o]볓_ QlnDb5ǒf]Cvr$)_sپg_N\ю5RU3#]dl@*t@KSrBGFG`:Q=vݙZ'Kȼ2O df_+ۋO:: 3~p2PY$8z0 7jn""7iʨ!Lsz9k1$Lr_gDQjƻ/ \ℋ|tr^o5]/V 1 6a w !FV=a&O!I[ LƩ`q[݀X./'՞ 1TZGOӛMZ -}?r!{1vzMKDp<63`ٗ<,G CZUwЉԛ"'M\Id6݉U`$"0hB{]2"U0D} &4Ky2*j0ifÎ21[5~"謢p⭷::WAO3=ULLL( -狯|CPF1E$T -Y +2̖z$ mnA^n>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -42978 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -42979 0 obj -<> -endobj - -42980 0 obj -<> -endobj - -42981 0 obj -<> -endobj - -42982 0 obj -<> -endobj - -42983 0 obj -<> -endobj - -42984 0 obj -<> -endobj - -42985 0 obj -<> -endobj - -42986 0 obj -<> -endobj - -42987 0 obj -<> -endobj - -42988 0 obj -<> -endobj - -42989 0 obj -<> -endobj - -42990 0 obj -<> -endobj - -42991 0 obj -<> -endobj - -42992 0 obj -<> -endobj - -42993 0 obj -<> -endobj - -42994 0 obj -<> -endobj - -42995 0 obj -<> -endobj - -42996 0 obj -<> -endobj - -42997 0 obj -<> -endobj - -42998 0 obj -<> -endobj - -42999 0 obj -<> -endobj - -43000 0 obj -<> -endobj - -43001 0 obj -<> -endobj - -43002 0 obj -<> -endobj - -43003 0 obj -<> -endobj - -43004 0 obj -<> -endobj - -43005 0 obj -<> -endobj - -43006 0 obj -<> -endobj - -43007 0 obj -<> -endobj - -43008 0 obj -<> -endobj - -43009 0 obj -<> -endobj - -43010 0 obj -<> -endobj - -43011 0 obj -<> -endobj - -43012 0 obj -<> -endobj - -43013 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43014 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43015 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43016 0 obj -<> -stream -HWko_1q`H#΃ #Fh˕xHJ>#>$wn8-kƜm^ԛ7o߿ &WzgN'VӱUmW5An*\z(}[ʾ֪_邷biZerH*MFZ8X6ܜfĺw~SsGalU8(tak;-r>*6' -=eDu8mwe" T_"QAmcЉ2<up1䜓#Q Yu1E0dz72Vpo{'w̽; s{ǂ1s c>'}"OTp2>eS}gs s>ܳ!VH-ŐS XBj),b),!C -,VH-ŀ%bܳZ!C -R Y{Z+bܳZ!Z!KpRkR Y{Z+b {KH-ŐS Y=ŀ%bܳ:!C R Y{Z'bܳ:!Z!KpRR Y{Z'bRK1d YjZ!KpRRlx!CwO1` {!R Y{Z/bܳz!Z!KpRR Y{Z/bRK1d YjZ!KpRR XBj),=KRK1d YjZXH-ŐS XBj),bsWwro|uʨ68SpLщJRwux٨ŹMmxf>Zf_,3UgWTYr3,]~;t^rwW RE; 1r|k⣭pьڧ>7\5l%#'%sLJaYzZ0tsw>>T^M7th6վ.a'8[nߺ}]vk^-fjs"Xa&Quj| )гON DmPMM9$mYgxH&=D؏u?tO%t4Q;L|άħG97(,) -,;j,b1[ȹ-Yhր~ZvapPmNuծWU*qH{3g:d^,.YjGabVUgPouF}\=z3 1A%7 Wظcǭ>gnCV.3 G)զjረoZPAi4K/g)+U2Uuj]uQ}b}U]6ŮT/.$Ae6NEWztZřu}{ @/m8z1*387Y@Ez#cEs`n5hCrp|Zk+U㴇!4}s9S ~[V=\jk^X*ܱdGg:jVHSE{>_V alu>1*ؼ_sa]ڲ' 1}<7׭ZB嵲ՙf vm_; k՜^ڶ}ܜcUo1'3)Fm -o?TRݵXh?NpoNK# P} F"Z4~>7cT9+7gyV=Z5&8xa"8Nljƻm垶׳UYBF%lfҥM&S6,:Euw*tӋ}ʒ{Ipk#u1@?Чqʒ+gӰ?Fg>\~?U! |E^Je{3Ƅ&fݭBRP)W!o2ofZe@-Z{2wʗ2Kp%lM'8M vRr f0rYޓq"tOΟLz!dzҐY<U/u@u'Ũ;+8$|1+DLf(^{I d}r -ޒT'PuĆ&^; fڠ ot%Ug N'*D>%<PO$iP+&ͦxvY),~1;i`JXDN :DH;"Hnhsw=W,&endstream -endobj - -43017 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43018 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43019 0 obj -<> -endobj - -43020 0 obj -<> -endobj - -43021 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43022 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43023 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43024 0 obj -<> -stream -HWnG|C0eԷv%AdXqH$e'Y9R9dET]]SEv_sݛ/.~yc߿z:OM^,B{m_MXs8Ӛ_jo47Ͷ]7m06қ]j\Lݕ7L&65iVfNާbn:3yszw^ns[UgEszY6)r[dZw/[UNXӂLBW>wk&Clů.G*L\rjͩ٠HcNbrNƬwy^Wp>A}T#pϕϕϕ///// - -Wu['Vb%F,Z1K{ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZ VbUk=hĘܫzZZ+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhI{ Vb%,^b{Z+1fVb{Z+1fVb{Z+1fVb{Z+1fVb${ Vb%,|5t!P._"bՀ"ЊJ+r+hJZ*VJU*hJZҪVjU+hR[%1fi-e h9倖SZhy偖ʽ6f)-{1 h{{acʽ5f)-{1 h{{Nc - c֒_w}_w}_d}_d}_Q}_Q}_>}_>}_+}_+Ę$rA%rA%WrA%WrA%Ƈ|rA%Ƈ|rA%wrA%wrA%srA%s%1fi-h uVu4 .ɫir1::{|V"3ZLhmlw%ta1ASb$X96Ղ~Yݾ]>5??5۶7۫ңsNcg䴽>'Wx)Kcg ̞Esn4.>̏HX櫿v_flJXEWvt4/pXh1f{ӯ+yasNi괈ܵMϷ4+0:*4> g,}7M76L!i۵vjl.+iqܞfleiǟ?Mj2;Pu=̚w>܂Bl7W?]^Ҕ}MƖY>_4cP>T6YvX#dՈ}hnT,6]GOtf-Gj6>>cUdn0su-,iYrz6eqzIOk~p}a c.ގl!҃H\ f5{N˻E_a8<׵XM?}WcV/v9iӈt7IhmA=go#$;7T>z!a1o R>aPx U~<Kb̪KiEVZQi@+WZ9ʕV -UBi@TZ%*V*UJi@VZ5ЪZKbZ#ZNi9唖Z^iyrA%,rA%,rA%,rA%,rA%,rA%,rA%,r@%,%1bKY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KY@K>KYZKb}}}}}}}}}r/1fi- ^bZuVutX5M.g׉; U"]^΂;:S8\LfQ*_w.Gj<YL ߬dY(mOAE5t-p⪔n7y\9v/Ef_6X }!m?0f%2}9p|R#e.T^q_nmOvbM~??-݃ʳ]]sޝޭ6ߎ͵" 7< )ǽ{l -hd Ahɿ~8EpR,sPCb6_Y?<|>-ᗃ=MmwX=fRBH}Q/JU`7G* -悓2^K5ZeY_E^ʽqZuw?]%VdIx `YAO&OIDx_lTCoFvW[a#Ert@ nwY8s;Xe^Tݻے"ЭCGʄJJR$KoB=${ΗKdֻž6l -äԖיD"7wNN#97T|*y+bf$xc@e.:t]@œ;LNQesQ@|9?F@XBU6:u[56wg]n0.Y" ި)*7#XBYRNg.Y-YEʺ_~8HTh a\ƾ\CkߞjFYTfMעބ")J|-=+,/uߐ'e^1F" {ϨQYܾcOËb/z -wvl]ؒ%/7;jÆw;OsSw(.LoN۲ -5Ǜeֳ10#$>?|/}_ -nendstream -endobj - -43025 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43026 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43027 0 obj -<> -endobj - -43028 0 obj -<> -endobj - -43029 0 obj -<> -endobj - -43030 0 obj -<> -endobj - -43031 0 obj -<> -endobj - -43032 0 obj -<> -endobj - -43033 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43034 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43035 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43036 0 obj -<> -stream -HoHƿX!Te} CNjQK| 2ӚK^AoǩcgfR -:4< #ٻSwWX~ōPx|^C1Aj"&s΂aOJ=)EÚw)E]Hc\]) -5 &ׄ0zBozK-Co cw #w>b#B1 }Lc>& CO}Ч>eIfZ-ͤkX.&X(=ּI-Гj&XCORbͻb \ =IfR5p1$I-ּI-Гj&XCORbͻb \ =IfR5p1$I-֖aR5pQzyZc \kŤkbIj Z'5Lj]Lj.0zZäkŤkbIj Z'5Lj]Lj.0zZäk2(=ּI-E.J5bR5p1$I-ГZ&X.&XCORkb \ =IeR5bR5p1$I-ГZ&X.&XCORkb \ =IeReb \kŤkXOeV2x,SBl[|iP-Qlp:y}BBtn(xKAֵI<FM!?I&GbEՈcDm͢(ӑ%ƿ_嫘4i #Mbذ3%/Q m[UՔuRJQbuh -1//p.ۭ9a]ɤss1MGr1_cXS;xSE]onnu{[--}qU.fbE;PgelCݿ(y]\NGٱ4{ ->{+Џ%]+] g la#qWS]38:8:Pc骭jbO?bmU֛NC%QzSNnCbE>oZl^2TAiطFھ/:#6JBoxz߳Ruá߳qեhV.m;t"펠9H0nXxW((Os߉w)=$NFi6(V{/zp}DV4 MlOH^E]qF⦩Ʈ)o2lS꺁.fY ѷ`Ӫoc<;׳5 -n';Pu 8fr5<_;v 9uapyoc}w}X籶Q߼<:Fߨ3{ X o\,n.cUctv}pmwațXn$IˍdX:uҪȤ+kAsJe"#UW[s{=A*]٬lU/k=͂7'"O^Rendstream -endobj - -43037 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43038 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43039 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43040 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43041 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43042 0 obj -<> -stream -HW]o۸}ׯbm7iQ(6S\K7~gHJIq!Gsë~`ro,g W+ӕ -BfZI>]o g-Kc6>nۭ`"ZqxHjX$g5aNV[lTQ\']zǻ+ֿdO9^|Y|UYe'u8"3n=r {L#9{v%g+ԲȄy -ۤ. &ucL`x.#PhCT\h1*!J;1(A{A{I{I{I{EW{EW{M{M{M`_D }/ eľ$ؗ`_F+}Uľ&`i mD mه6@ mه6DCՆ6D# -B QHPmhІ(}ZA6!`V m"TET+Ն6D# -B PjCjІ(}ZA6mI6!*fE6!*fm"TET+ Ն6D#JB PjCj%І(}ZI6PmhC>R$TET+ Ն6@ m"GjCj%жMІ}hІ}hCT>PmhC>R"TETՆ6@ m"GUjCj(B QHPmhC>R"TE6!`V m"GUjC6фjCb PjCb Q1:Z "Z,$l7VkG-E.ū,E5_Wyld''^LT96IJ`%ZuV8}l6g;9?Ty&\N.''쐫\w̶gɰm3+6;j.x>=>n`Ă=56&U+Ϊ1B٘ݪ>"Ok9%M<]>tQtvC_hf_?ͲۭFt&[2%FˑEWE.q|u6v sgݵOf7ֆ9+bv -Q\@p HPin14.!,&9/gfn ~tmIs -V/7T—"S3f2ُFil*cvv.Ls $sgL'8$MTLjϭ8vtVZ#e)E5_w 9U8F\Tgn(ӔbD]1]՞ -jn6;ְRximU6dݞd9zs"@I±U34lx~4.+s&Bv_KT"+=ɀt^,CP+uԕsKX+?aJnizU0eEse:?s^>w[w*L,#l 'ޕ/x{*Asjn77J[Eڑ%uYBݶ&L-#LhjEړ %g ~Bo6~ȋ#=\xv،y ( N9췲澚a=ba7*=r0Ë1Wȴ8sy8C^HU+M e0I2eDX.\ԸxUh+şp=/B̡m&I@!+O*=_l0>}`d?<j'WlRK׻gga_ `VĂՇu3, bbd8xb -3XmEǵ /hl~J_SΠ6q߿lr)g:&9 <C_v WŸOwEQIK7컭ރy%ʿPpʎW8665%i&&ϸr>%\}j3L- wUg.֚-^jBMEVM]X z>^y(V+sawimikr.tejMzTf<'g7޴oX S3/<`N{9lUnr]fr64~ppߏS dh$l0bζ6kD&f3I/_ͺ<7,ӄm·dyxގ35󙫠p5~BMƱ?q\{h. -PN$Ҭ^nj] .Epе3qƫ7m +|Ev?{%!*mJ=T 8 -a;Q}ٵ׋537x -^$NLCD()Jm*2r.Gf -MlM'`;Q6 -$sxSuùyKwЙ4K{_I3ajvRq F@mS7,_k 7s*~*Rqa TZy-"1$=HPg6In48{pFۛ`ۜ 4?s''LbD 0jt&,=N 64L)Sht1 -Oٿ8&JΖH; 7T)))n/UvXL,`'d0$.fDžOu -/B$u8r|c$U4=ǥq_}g%Ե-^A=J a+}z-2[:hOF34%fIbL8fY\;! ?؅";cq^==?~y~!N`,ަfv&fH/S!Fb'S3Ij,8X3yL5dPBc%P־Lcg CŨlCSL]+2ӊ.BL24 Wp!&.%~9 ᗋB.|N,O]"\ȤRîJyߊe3SQ+.D&s,G)481}}~:/Ah]`h潵1!v -Njuf?l;Mzzm.8V;$³<GJgk1؃Tx 3K}M*U<ȞNH8;=ҳ>V]26{AiӏUQi]r^ *Z'vWFvj=h!eH~A6Ôa&F#4g+!G ^]6 |{eNdž"IE?q֝7_o7Bendstream -endobj - -43043 0 obj -<>/P 405 0 R/Type/Annot/A 43044 0 R/Subtype/Link/Rect[93.6001968 663.229004 202.248001 682.908997]/Border[0 0 0]/H/N>> -endobj - -43044 0 obj -<> -endobj - -43045 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43046 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43047 0 obj -<> -endobj - -43048 0 obj -<> -endobj - -43049 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43050 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43051 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43052 0 obj -<> -stream -HWn8}žB"AI26Ľ'nV[onvv0ȴ|p<$O+x釗o^ )?eg8qS%TV}.H(~*7E[}/_6f_mv_ľ>SXFOW-L"r-IO:ed/Ϊ4_.vm?|;DzC'GyI j kxX[H&ފ/REt+ f&:r$R$!+bJE0dYE'I(bRzWz׌z׌z׌z7z7zzzzOi>eԧQ3F}Y>gQ>l˜bH1BZ!+TO1d),ƵC>pb\K1d1*ƵZ!QV1kZq-ŐŨ\R Yq-ŀŸbbUk),F}ZŸbH3BZ!+TO1d),ƵC>pf\K1d1jƵZ!QV3k5Zq-ŐŨ\R Yq-ŀŸbbՌk),F}Z͸b0BZ!+TO1d),ƵC>pa\K1d1ƵZ!Q0k Zq-ŐŨ\kR Yq-ŀŸbb5k),F}Zøb2BZ!+TO1d]3BjXFOK#kÏq*ԉ6Z$2N2-e&yCu7mqc>rS/7H"|\8y$Ͷy^U.1Pl\E_CT:L#qf?|-Ÿ,VZenpb{iVk1-t]nNs V- IO ]zgzJbk~Z-U]=aCq/O꺨:Y0JtjbW/V\4h Z40ѡ-wNWsl6n!!>\"10L>Qիͺz)s "lT Vx1y|JxC1\7s|SuFϣNW$g<; ڊCV$2:bM4 -0sm)mb)%P2iAxsT[vN|oRO&z -zׇߝ3ed63o?G13%}"M-;3NpI.#{LI: %K -ۗ}k``DD"u(vGY>hF6jhO%V-n/BSHNi%7Wnvp:< &jxj@.#W4CTbl6]nH%7O%<%@`SI'P}uI*G̬fVb46TTj;ۀ퐟Zm9n -8| yجڜ?0&={Zt}2U!;kgXWiqv6ԡnE Wq˄;)ibB9׃uyXro ~á،~/67r"ӶrKϦ|-$SICEk5y?|sν'EQ]cvVO45p{]V:EYi rt g?/?tv|I{d3@kHW jM[v=44yAݛ(K$ǦP:^ |ߎO}Bb}Y+ۊR o.0ka, *7#?P wpG s ]5tNY#Ic8K/uy6 Xw&6B{_}]Fٿ.Ɍ4d_7w5i/ȥM1<N!^_&s~PjDilm2 .6XvP~X>~O*68q$t{v誄-m;#U>CrL tX?Mcͣ\zCjL [iIl7͘5f۔]S#<2N f'mL2pZp&هՐvfL:7d oPLIM(]O3?X.=lwoڥ=:eZҮMJJ`iWxX#_p4#&h5u][=}٫'2NP&c?EeUld=Ƿ.ꫲ:h 뫡ۥlΓn߬hW -TJIqo.1Z*tnƦvx0P*M&sx؇-ϲk H@Op`NT߽=2鯛vOo}:. ͣ3eJ i -cyۆ_ёAį1(2v(:tH6bHv>~ILt;uz@lڽ7 qF[z7 vvC+2WGRlS!3o8ix_RW:BbԎ-hcj97SmA1tE}2Q: lu -[)z3b )$&!dfږU-vO,58ɝR̠2OKw :~\r檅yB+U>/P 892 0 R/Type/Annot/A 43054 0 R/Subtype/Link/Rect[93.6001968 663.229004 266.135986 682.908997]/Border[0 0 0]/H/N>> -endobj - -43054 0 obj -<> -endobj - -43055 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43056 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43057 0 obj -<> -endobj - -43058 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43059 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43060 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43061 0 obj -<> -stream -HW]oܸ}ׯ`ph~J6CH4A<@ȶ+iR4yǛ"pD9<"!//>mO?xkȋ/_qEyF6&ZM#'.>]VuٷUA*R.z.6$ln a$#IRfȦ˲fOΞ bCϛ3W FtW~[n#H%OPl-y1@-cz5|ԯ<;%Wْ( zb>(KW.2syd@1 -1`q<̲4s1` D DKD KD KD +D -+D -kDkDkD'$P @}O)> ԧ4Po&Po&P!@}<X ĵ>fYzZPYVǀ, QV 1Bk} Xk}̲kZ,D}Zǀ, QV 1Bk} Xk}̲kZ,D}ZH"1 -e}̲B>,ĵ>fYqY>pD\cB\c\+e!Jĵ>,ĵ>fYqY>pD\cB\c\+e!Jĵ>VG -qYVǀ,+Tc1`!1BUk}̲kZZ,D}Z, QV!1`!1BUk}̲kZZ,D}Z, QV!:҈k}̲B>,ĵ>fYzP}F,SEbQ X Il(6ԜmYy\d C^Q.y*(nS -ƀթ4_}7F/҅1 5(I!W3aX|rڽT};=&nW!CZv[Ynsͤ짳ϛk_(m9ȗh&h5R:w(xZYj/fJS 3|{T%~B0^9ǜHBBjb]we7L7O}߹m~naʏDSӦ:yڵs/MYF|r' -!Pwěҏ8hw@2oʼ?_(S5\Sl\۩|̍G՚Fkfj`($:5_'Y[= vYuk)z/ Ԥl1nsj.rS}rz;r>?i!mh"Y[m -2ZG؜3`4Y,xFHWR-]]d -Z-u~|,.xۃ-(5Gh؇!YX}{:o:#׃Ak30% 0ǰBs1Ϡ1/ۺq?O7תmOڸhkQ/dz'\. s8.{{a?> A!A6N(MSl.OHDêxJaWAJp -^dߦ 225E  `CF,#ϫ٠31>qߟR>ЛEqrBfPW{@ط'o˓󥸤i:2f:* 4a[Eu=3 -B>Kƽ(t񩬂}?UْIJ OMmߺPۖu}U_r'uyCEO(ڱ9~D¹?[N : 6m&?n.G*{c",zWQk*XޔAzK*h}r\۳xߖrAkeƨث`뗆/?$>%=RnQliu? iA IZz۲ϫַzCyn)l-gtqqz5ksp 9fܢjbʱFb74ӥbsWծh mu὚^B;JLWqz}fo+ng0=ou'SPU ry 4&a@ֱ.Cl<.#y[5,]Mkp;yER zÓpl3/`RvXñ&xH,K8$Хjdh&† k -%?,M1 -*k~W!򂼿$ld&lv0*LBɤ`ʬ'KcB7IV*2jlI "V4 Dd5)D0 ዐX~&sQk 96Tp!xd] Jrȟgǔɒ$Zz}@*SC-]H.BdI#}?$Rc`hHϐy~$8Y: w)OBz9{Vۮp%vFWdLj8=܈TKk*ҟTQ[q&ҞVQ(_fڰ̵i NU \,+\HٱоƤ:XA}qliԀ3F? ;4M4+|k=Wg -3kB-) jfBCuSߵ̺0߾!^grҳ)GaOS=V]m:mR 8ޞnG=`58ƨኔ{ZFKTIbn~;ۓZ{555}1* )щf?\ۯTh-1|FI%UyʌZKvjxsx6X*<94X+FRObjBɝRU^D)IC8 ^jR0eUnAe,D}ib]Iy :A1A^b.h%UO֫ P,^FHw&6"XҌgޛE#~PyEӴ)6U63^3UxH~S:Itt㫴f -ҿVNY ׁH mF{C1jXt=s3qPa~IQf_l i?cȊa _#],rU􍨟pˣO,j@dO ]ݗ?bendstream -endobj - -43062 0 obj -<>/P 756 0 R/Type/Annot/A 43065 0 R/Subtype/Link/Rect[93.6001968 663.229004 300.286987 682.908997]/Border[0 0 0]/H/N>> -endobj - -43063 0 obj -<>/P 756 0 R/Type/Annot/A 43064 0 R/Subtype/Link/Rect[93.6006012 224.669998 227.617004 244.350006]/Border[0 0 0]/H/N>> -endobj - -43064 0 obj -<> -endobj - -43065 0 obj -<> -endobj - -43066 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43067 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43068 0 obj -<> -endobj - -43069 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43070 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43071 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43072 0 obj -<> -stream -HWkSJ_1MU"׭[%@ -foA*%(ײXIgZJ3=sG_&~PN;L,"7 s8),J#q"_XeRRfN!vcCFG'$D$w$Ν QsM4=5YbIsNG5஠^]TtA)'OsvR K}-!>GR!-2Ĵ&;qiĀ4Vobe71`!51B[kMLk9ZZ,DZ4 Qo#51`!51B[kMLk9ZZ,DZ4 Qo#5kMLl&,ĵ&Yz,[ qir@\kb\+ךךf!- -ĵ&Yz˵q qir@\kb\+ךךf!- -ĵ&Yz˵qD\kbe71`!51Ͳ՛fM XkMLk%Z,DZĀ4 QoV"51B[kM XkMLk%Z,DZĀ4 QoV"51B[kM,w<ĵ&YzZ,[imJY# fEnEP5͝sa$~t5R!Ĺ3yLlկG5]ҹ. xCgp&gJΊ3udLng.c,Kؘk+xzqyE0yT =%4YUFAgcQy^K{<<~練˃Xa QyAK{< >\ڧo/`Y]| ۛi#H`r~$ݤ`=n65'ml6:0'35F.{Z_o4u@Lsy@2 ##sp]V~бO w,[WYE\+,C.0$r"`t>fUyhBkH9gR.P4[ӆN5~&i˿$C2_jY95p6D ݠxVKsJ}]1çҦ2A^΅ _fҨ_w gJΊ=TEeI%\գt}V6zjj7F$YEVU<,OIU// tr1X2]mKj "܋Zt/6Ɉ}AGx  -C/IhC R!PQֺwƒۓ|4fJ`}wΝ4XYHǾލ9`sBp1a'68jp V {3Q"=~7 YB@1b*>&4==`nֈ62N5h Ez,e8,Nau22eBM*Hkj7^1{ H$O\#i\'_pƾsFWm~v4t(+788 *2mV,jZkh:\Ra<)qz6^i7>~vz_]jA}y< Y\%iѐuVlq"YF֎!L+k;㢞ܧ`,TG( /?v}ZMo ->w:6[WYce/(ՠn7|ZOi-`@0endstream -endobj - -43073 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43074 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43075 0 obj -<> -endobj - -43076 0 obj -<> -endobj - -43077 0 obj -<> -endobj - -43078 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43079 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43080 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43081 0 obj -<> -stream -HWο@*8~|8;mz 2F1(Y|6%œv Gpvi'^v7W/Rg?]E#4N&QyfoԶު6JmU˪k>Wz۬nն._\uegFiUDIUP4U\E٤s6>n6b.<6>m/_E#{ΛtiCxşQ -3+؎MW:UoԻZ(,1(g29ptjbQ XZs57O1`a0Vpo{+̽[ s{{g3>c3}9s s}!/ }ܳj[EFh-ŐS XBk),b),CFh-ŀ%bܳCR Y{Z#bܳZ!KpZkR Y{Z#b -{Kh-ŐS Y=ŀ%bܳZC -R Y{Z+bܳZZ!KpZkR Y{Z+bZK1d YkZ!KpZkRl9CwO1` {!R Y{Z'bܳ:Z!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZ"/b),CwO1dq! !8¿*zVFeVMҹI -ibUyۤH .q*!z⦻bwr=0'œ+}7ͲU?(--܈K]>j. WِK8P4>=>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43083 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43084 0 obj -<> -endobj - -43085 0 obj -<> -endobj - -43086 0 obj -<> -endobj - -43087 0 obj -<> -endobj - -43088 0 obj -<> -endobj - -43089 0 obj -<> -endobj - -43090 0 obj -<> -endobj - -43091 0 obj -<> -endobj - -43092 0 obj -<> -endobj - -43093 0 obj -<> -endobj - -43094 0 obj -<> -endobj - -43095 0 obj -<> -endobj - -43096 0 obj -<> -endobj - -43097 0 obj -<> -endobj - -43098 0 obj -<> -endobj - -43099 0 obj -<> -endobj - -43100 0 obj -<> -endobj - -43101 0 obj -<> -endobj - -43102 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43103 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43104 0 obj -<> -endobj - -43105 0 obj -<> -endobj - -43106 0 obj -<> -endobj - -43107 0 obj -<> -endobj - -43108 0 obj -<> -endobj - -43109 0 obj -<> -endobj - -43110 0 obj -<> -endobj - -43111 0 obj -<> -endobj - -43112 0 obj -<> -endobj - -43113 0 obj -<> -endobj - -43114 0 obj -<> -endobj - -43115 0 obj -<> -stream -xԽwU?>sιu^^wo^"⊴E"**F+*"Ă4h,qјHWԘhdcI63s`~̜93s=qeJr-Y/]Lq Zp@[B;_dY^3\%Bܞ_Xj'6=5rW Nڋ.YPn7C/Ϳ.lQeK/Yts\{/lQ?ABQ;I4* 1"1adkRގ>߼\C?I_uKK<ҧ~ Jޟ3JN{|JP ټµXHD|8y r3yyi҅zr/:^_ d!jrUAS.I=Ay93[YO[OBx.XY>K=,xy?VLB^.:pU\v6 }3gLHH yϵTCr?wj̓HU&S -K~y.pRRDή `{^;VMɿh?XY$3odZ-ߐc-"kQOr S$pMBoyY$_o~wR+|Ju#=XY$_N䟑f䟒5aO,^' Oxc#^#+'yױH-w~ҎҜ [MAP[#: 5k~"y -geJ^u,a餇QyL$_ZD"y܊><_LԱ9X%ɡ9\~ qs8&jD߰߰<Ϳhg4ÿc߰<&"HGI>O7?|7C$OyɣNy.G&1~+/+A~,V -d3qoقM}w3.Cw;8N\$3%$޷qde`s|=d=VMq܀:Er=o"xd-AZw,+{O\NVᅵ߱H<_F."eE +u/ e -\HF,Nw#.$B> y,odeB,OH n%hYMđKV~}!Dj[ɽTK? d'}+oxx_^rZQ/݋xEfQi?9Ht1}cf8xd=&w;Qw!l7"$NB'1#ԍ8BdA_qQ/:ػ odpCФ6"'#?~FٟBOV n| vҪN_髀B!lˠ SkF-d#p]#="lNN7 ԽB+xU~Hq#a -/|x?]\!<[:"])}_P 0[I>Š!U6*ԩ!J:+= YgetB:VAZzy|4BC~&I -r=dIB? A #d$hc݌9L!gLYХ&9_<鿮;'/kI&])$JTPܨخxW٢MSQOSZӠ_>=ZQSq}EΩqI}AsCp8&YVzq^&tǻΣKTG x:={}= .4- (rY4]}_(ISԧi9z^r5GU0,+TQH@IBH^׏h\,{/*_]L20_A/R7) tnGEv=ƣf&Gszb}]CmnUJaZ 巖չdIYK'AaeԨ3ƌ@gUY0^|^fLz_$pWJݤרE ]EG>s4qmmjhjD.v_\ows}bttt1wʓ{Wg řLR -IgVU )ϳ$L´1ΊI/ kl9kڙSƍS1It)Wj!rly͝^)"ƞѶ{ -(fP0si`: ^ lJX{jץ{ޓW$l v?GH]mWM(nz - -QUIQ=:0-tJz< =ZI^HaRܞʭCzR)~ +5mΧkR#Rb74R]Ӝv%ҩohD&&k0?O>.Tmg *s\i}Ib,(c9䋄 -dh&Mx/w|^R{}͆H&:lƘg[-Aݤd2MպfSzM4>ܨNL|ݲ↝DY)tI(+B0Fn _Ъy!RECwC ]S]Ƭe>uaVK:@} >#&F}Xן'+G!bOSؖxJY8iΜI3& Ja>1O]tǵؾv/PؾkwP]gw>SsTYpL}._%SNO-eͫVm"NXu++B"${ j>>n ڽq<: ŐFtjsi\r$5I1iI:/>X_o0+ 46Pb#tkyTKP5j NW͜9+fZ'~VWݻ8oN9JޢaG!Z_WSE>n4*JlRIj7vd{)Fj0U'y?hST,y[:l,(Ad+\IH^)YF9dLL(P,-pFOeS=J"^xUzI]r JUY1RW(Mw *ɨ-V#j4(ZŽ1 :Ig:q jT:VTY Q~XlIV ~I%XkB&hbРѩ.ouoIjw^h+LfsFv rr -MMTP4T $Bjpu.@/HC L G2"#L8L~^`TfS^=?Jk/oytut||8SB  $Xf4~)C=!ѮІ5<0չepL'WT[`{EehVa?<3H؝Hf:#}7 k; xגu%|KkMF{k*C륇[{w+wvw+vKOvDϪU>~NzNfjs1:UD*::NjG{01Pgztq]9wmh$␛*dY@=}m?bEXY/H~55) sy/&lMbr&ap@ФMlHN4(FJBi}&kא .@ H.+.LsĪ~}r+\5ih^eOibĤjT&QC.]B;f IZ(G*3\#Z2|,K/PjϮ1H$~(OO>}[t; @S1tM'RE5Y60mw=l҄|0bhG{nNQ_ .nU <]rO^|  AaK׍/dT3?}YO}d-=jVQtc nJN형i_x4Y28:l {b-~NT -[ÝNazPXh_^#VozqgبTBfЩA'j<ߋp^9Ή0򄏉q~yk.p?|NRO>x[˯|1c'9xd؇y aTEoB:,u=UT#t[u[+%tȳ -^%Z*Cn]>*ҧg0H/ɪL"7ё8J7pYP zi!t,p(Hr@VXz^mJlu(J<>"I7,Β;+"NS؝uOz**ivpF 6&6ȶ6צϲ?s   v{]5SgVJU\rDUAJ;_~\Z-ArjT1h@+]|ɺ/ZzKnaɒ4oѢ|.3. Ͽn-_pڅZ^mꎥrɇx~!Fy,H/+I4`x=OmxG|B]!U8܎llBRRJ--mm]Z+@T_e)9>Ç;Lw.$pp n`pf_6$'4\4~ggϗOw ⌚+nXE 1,j1D$f:V4h'5nI=kVꜾpFXMVPE| % -yi卂#J8N |&!Sx^#?FiPmISqfFcqhwj|ܞS , !#Ӕ\nȕC\LKչxY_v1WzD0m?}kRJ֏Ԇ>&X#$TeXig%59!59+U3@TF'G `=}e >8z=w<%+d`-.aomAvgj.\ f?dy]w )LN-aVC6,?T;7l+U~Y~)GkEˀ|WUYV I^5qsT'e MDa $n-Yۛ zECOž+B?e5jU&gc]{s@BMbѺځ"W?ɀ?=oA0$Dbr*اbuLE9i2Q^sqO<8D;Rny1n7:Il{|Y>d.=^W1jD0I7>O+} Di`jT3Tݡ^1KI)jMZf&/P\@\-VN8}\_UȘ1f%12cCU8:{€_cJj,00#+ifmn[߾&YL$D>ǎQ]0kZʋ7{%s̚;ռΟ Gw(+y>JN f'${q+>>)iUI;?{[lqϵb1ߌ\/]GU &+~TkL4ց. 0sipBC{R6tRZZխBϪ&AԺuJbz 8v8WTBJ*||1zE`|z"=Xƶh<Ϝ.E/l>q]  /w_x¸[S5t05 -*'YefnߌyUO_0f§jx82N9V_)Í=)U3TPH)O /b٫'=*G]aӬWK -p#e i< -c3f -=J,T S9S8T@` oN %07EB%g#FLJGBP8JN|B(P#1 Gh@,"eXJ. -h'ˈMxlRչ5s>x~nþ!XHDLM=BMLQ|l$?MŪsX'i7 fE4$,߶ 2n|[Yt:k֬LQecQ٭3YޭJL!1TѼ;X@G] ^aK1P*Op+J4 ` _M̄Bu6L3lF!$)#<87jK41aYh3fo{ -q#TMMFӅ`G3$jcIT)god*Tm>VUC5spY}e9.٠`Kla.<^Q#z#7@a>aŌG4hKđ6+[+,uVsVިQ*IRcN]D5p#ʗRcYUA~ߠ5~쥗K4_ ~b]'tOw۰jP0MkbXdjTT\Z#.QrX  (2CxCņ4e!7hEۅ`ĜTA>p}9BP3z!}ds+WX9&a+*i=! o87xdtQg.KG(5Ej#t5߬cen=6;ݷȶػطvrߍutS^vTn2`'X}ң騯L&ߒ_u C,S4 SyR*O132kOEz?\v̶+rȦ'ګto?ܳc{OP@tYF.p:Ѵ?j\{vf䁏>@D U"i6s/FUFm5#4iaDfcC6vZӖV #5jC#JRLT6ݐY]v&jaa@1DHЅQ:K 2ϒ65,]7Uf ReS R( \^Bk eMoܺtR-P$Qli;W7jkׂMYb$|Ѣ\6$AoC!oz+v ?SJ4<~m_;-c[׻~zw&alQZLD:JZj_U|a/'_I9Eƅ Z:VV֯l^XcYe\g`Fߍ֥5 y@<-NWk(lL$mJ*i3qo$yTFL /.LT3#{8t)~lƜ( -$#x*)VePwu?Yp7?ƫ& P&$z^['kmpss.1=m3sϘzs˛^^KOH - WΟ4hu~%y9pA+'6VQ?1tB|pr"4K88 18uVZW.siLD=ٔ^wH՛=PJGp:W1x.k2RÓ8$Lc5f>0-u *)ߋAK:(9̴z7OO0fZ$~Gd;%R:Qh'}8oO /4Dܘɤǀȁd"k L1HFU]\]{3.EfӠjk  m"6^Rd|I>* LbO\NP8Ru:y?i$8 ls봉 q 1Xx!DVS%B4ќvWy YJ4Z@B?0!ʆ>8l+R磶 Ƨܨ"Z\|__MKp"*9ػJ#dApY4/@M:DGC6dpjQewM",V1@L;Ew Žo5='i(bt -|U&8}zp&}ݦn3Q -L@%XȊDNkammNrB]7,jxچ8l$z .Pe`!y&gl[9| HEz>l#ğcYDLw!֦>5j^]!=hUA=]7җph /d,?imTd Nf d|.)&O9,|Jj4, -/_0GñqÂv)Zi*{ yS)?"Ǿ Gq'qNގ8P(M*V{,ӣ{K;n5 ;A]Q\w̭PaV{Ѻ/h^6`_aߏVzbX| # -Δ>Z Tf̽1e1_8裺@*y?=^x_≅?'e|7V0ME%ƈM`q /S[^;|38bH<\Bax Ai(*![,O8#!ը҈ _@t3&q?|?9W)6(qkG3vbm*ʼRد59n |8w|,bW}"Te"li`1wm}u p晛h|+>||XI>`ctƽ1au>i0V\ܙNg,\:D&W`uaTb?[%N9J짷\vE+Qπ2;YEgApQgKq~ |H:8\kD_/`q{?;%=˘ G6cp_ LǚB/@R\Dl#oЎ|Ȍnb›sjOleO?؅QW.`?t,X9so{ۆnupݘ ?aT9$@0ՆQU2dMq:- [3g2BhΨ8⒊UI6n[/*^g' Jv u㫱iT@I`)QgDۆ- Sw,ȁq㨉FZD!NyLB1_ W@9 -=U]f%.U _[ĭt2~2ޞN%.痟GK31y,F >8hޟp{q3A .Y'/։n^SЭb8+SKRG>(zebY + E|(A g쌨f5RBLC`,ĵ[9!'vcVzW ޞoi[>@v;B:8p8Jxbiws km? >8̯E(.S2*Kέt8.LaOij. /nѰMwOt{K$ -͢>ڵOTߺ*3ar&nޱzq6k8` =L^k\t̮N*#`Sv}-rs25f̫L'a̲Ђ^,Fi5@ •[ -~!dv`\laV ݻ#p/@e.E@uEkc%1bA*cfi,`nA xqx"^w,&ͿLcwL헞);cz26PD<=$\JǛ"3^bFq>! -c 1Qh#Jc֡#!n(谑} yKt>'﷙ -†Dx؞_7/uɫ !fxCko=0zi ٠)X!fQ} 09j2pFt|"N6VPDىq@Mc -R`D*+I :V\+VC+{ -OTx>M(A?L C^0f.zB0aAHBp0d(fV4Aj-8 W}cND2[8lI߂k*YR%azj$`Uw??/wm%%5.5_  @ šzF}vrZT(*},=y61P "ډq!;7p=wN58pbq ~5t _Xά3I=d/uJ}%>PUe%ؠ1#0)O/chVH֎XF&pt85?I^pomذw-y$A0e W3#yoj73Q@YϢe%8 s̈́ik$qAy@~xz\-mH~79LA/b(f{c2<)9 -3>` x38kĂ),T#tY;gSn}JX1|Ijcܾ( Q%1h"F_ɧށ'c&ʇK c̷Y+A$ q×ץ Y`S-F|1 g&@b;~$vR.SV̏%ܴ;+Pazq׉y e>EOҧ Avŗ` NbdɎx9W̼1X#TvhbhK#^Ag: [p.g+v=r=`sr#xu7 [о ^`(=<~8Wz9_ X]FSBTy>DK؉H -یcA gFq"iXEO81k6sށvuJp滨{x'a6 , AA;Yȸv"xmʘ/[E&[6ȝ% N)w31H&^}*㐷@ؗ[Z9f-#" c g<-[(2r %V`)nfU-xtm-(X @K@% J:b]!"~R+@(#nW&PrIc:=Ti AFX0:m"IIE1ZLՁǯH#I;ѹH'x$rQ, 6ΰNFlh ɄE*2^k~mb&~5d#pBs.+o)_/ V!RR];HCN[SCJx#Bjc Th(J!lծs8y`8_ywH05×f/Y|{ @EH2Z`:b7f0z%Y@9NE9jа\q K1K7Spʴbgc M[u |:^R fPx*+σJpU?"9s@GŚI3M' L]LpBA8UОS}<;g.걒E_jՐQ^2?ekB>gĭH$3Jب(jn,8 k0%^̫ )0.̞saPlYT+ۊdII"iD@6\fK8 J"3 L S{c,r*m%78N)-{q-!FyѦW&#45Np[]n:7b9wק3K׮,uJP(!TUPuMЂ -YP%PP5P -RYP%PP5P -*$Ȃ<("(2*:h&hQA$AAA ATA A4A SA$AAA ATA A4A -  -Jt~ߴZ³Ьc:ti||LS(~AiXNT/EArM!&>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43117 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43118 0 obj -<> -endobj - -43119 0 obj -<> -endobj - -43120 0 obj -<> -endobj - -43121 0 obj -<> -endobj - -43122 0 obj -<> -endobj - -43123 0 obj -<> -endobj - -43124 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43125 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43126 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43127 0 obj -<> -stream -H{o秘H!%1y1hi DE Xizx))nQw、$Xtx8s9۬ݚ/>o~zؐh &|Z8S>͝ifd:1z16?źmmmߜ$o&^8c*tDӔYe&|oʌO]l'l(B񀏾5׫b39sn2{md$R1n}Sgg2hοg$(ur ,oI%5c3 1/'5ՔИ%[K(;ށN W=HUz{>A }Ps>Ws>Ws>W P PKTKTKT+R+R#HUҫ`hLZ1K(0RcJS:ԈS+5@z5LԘ:0R# -LԘ:0Rc -WSJ(0Rc -WSJ)^MS+5J)^MS+5@z5LԖS+5tzVjLRcJQ`jHփS ZVjDS ZVjLjj=ZVjLjj=Z1ҫ`jFZ1ҫ`jHփ2 `jƔN/5J)^jLR# -LԘ0Rc -WSJ(0Rc -WSJ)^MmS+5J)^MmS+5@z5LԈS+5@z5LԘ0R[&9Z1K(0RcJS:}Lcd߃efM3L,LfA/Ŵ0Ed5Sgb}14UO,mׇ77m;h}Ζ{Y޵5RzT iYFO~q\U&{1nM^PaxKr8T.E`Rt2MG }Z܎|BۑgEA;4Ro3 NK[JwSP+ -+^ʁW -U(xʫ^*W*U) -xU+"eKjLi/eU^xY倗S^x;{1TԘ^^jL/{z/5SKށK)z@RRcJ{I({1T=Ԙ^^jL/{z/5SKރK)zARRc -x{{1TԘ^R# -^jL/z/5}xR ^jL/z/R^Rc -x{ݟZSK>K<:Wz/5 Ts}Ҝ{΋YLዴ j]dvӛ><_n95ux)TrdwO>.yZ=Gٶ,j;ipY6:{jֻ;t̙9jo; sѧ!.ҥa,gj:yItb+.sf;Z>VtS??域>|y ]/M]|*r\^l2v{ -p{>7M{yV j@Qz<#]ZYѷ?|F쭸^=﬽`C>7꿕܃ͩ1#3gQn`pzt[nB+MeIfI(WP^x\y+W^*W -URyT^W*WT^xE2%5Ԉ*/ r)/TԘ^^jL/{z/5SKށK)z@RwRc -x{{1FԘ^^jL/{z/5SKރK)zARRc -x{{1T=Ԙ^^jLi/z/5}SK>KtWN0+|L%ui+H qYFKK|qxv)rnJy6ݜ'^S1 u.wIz}E~\ yy1ś?A1fOJ2nCXa8p1z-1،}Bo-f#3;SWDeifJ쥩ʦޞf?.)3'~V][Q\mY*zRK]ޱP팆/\so7Y)J',:ٿ3eeendstream -endobj - -43128 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43129 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43130 0 obj -<> -endobj - -43131 0 obj -<> -endobj - -43132 0 obj -<> -endobj - -43133 0 obj -<> -endobj - -43134 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43135 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43136 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43137 0 obj -<> -stream -HW]oH|쓼9_l\ Ar8lx؇(hHCQf߯dC*kfſʮW?t囟U?kd6֫9X&N*M5QVQ.~e_U/u՛VE]SF(*W9h4T>>TnuĆxfbm٧- ,t3iz:֫mlnϊ>.ur/ɄX{ͩmVK{t/f0O8lR*"8|.6#W&VAU?JEK gtQ('眜pLbⷣ,!+,nb{[e1Np{'w̽{ =s}`}'O)s -S>ܧ}&ϘLp1>gs=JKMdR Y=ŀ%b),bZK1d YkZ!KpZkR XBk),=kZK1d YkZKh-Ő%gBk),=kZK1` Vh-Ő%gBk)Z!R Y=ŐS XBk),=kZK1d YkZKh-Ő%guBk),=kZK1` Nh-Ő%guBk),C Nh-6ZK1dqZ!{Kh-Ő%gBk),=kZK1` ^h-Ő%gBk),C ^h-ŀ%bܳzC & -Bk),bZK1dqCw<Ͻb(0ʨb#AD%i*6ϳhY_oϽ:{lۗ]ӳO[:; Y/|(V={&ՙJ ]uSp'6 koE_]mjԏl`amySng? 3vSapt\f>s@4OOF>ywWuVڊCxs\cL|{'z i۲`S$sr˺WH&&;8HH2so*ͽ*Tˮ*H9ًe뿲CRD4AʀmV7 ~\ʠcE.շjS͹jWc2z  -1z󟉇>`M[ uW-Mu:`V7얬8 I뭇‘Յe}>NU '%^ݫ<2O<(\`1-/hy-ϴVJi%V´RA+eZ2LʘV&heL+r Z9ղ1עŀe-ôe,Ӳ˽rO1d Z,V=Ő%h[!CroS Y˽rO1d Z,V=Ő%h[!CrS Y\brO1d Z,N=Ő%h;!CrS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1d Z,^=Őŵ(,!CrS Y˽rO1d Z,^=Ő%h{!CrS Y˽rO1d Z,^=Ő%h{!CrS Y\brO1dq\y?./EtQ^U,l3xU+(N]z*ebmc|an:zv2v]v9k/Q0S x4n"Ue1NX>/qT<15W#[/yhH,VI$a\}V=C^L6kW]#Wզm}WՁT6m]uo}n꯻v<v_WMuWu;4O {vRL4f!9q6L(\/oop}]6WV=V@ɭfaM݃4LgTmy8atU?ڂ/ʮ./գkarE쾳~pzjݷUjV˪nVqPe/m7{aT\Mu.z?y:3W>>:\//wKrPF6xLBuuǘ,d'ֱSjR#x|&4Λ3o:7Ç]}W&vr1'bhO{\_o K[ׯze |9H~Ɔ ? ;}KuSO'_ʫdGn9@FJ-1@$s,qNK|_qQZ&ɥYTs*Vz5QdU]Qk\gџtAKVĝJu8Vv@i6c#ZOA9/HK(R=c4.͋KYi$^Nˆ bp F00㘭dq@/03SrL_1 @,uגW0QYGt_롖}P ZE0Vzv2T۶Uk~9,8#kAt6F[Yh.^)ʄ VMt mp~Q+tP>,&~[N|k wpBJA7+"![ UF,5jsʠJ@>hDL}FylOF[&K6ϸyq(]qhT! 4O%JgֻZcZ7%iP :X-+tJ!!$؃a.׋5"QgwӹGa?ieh+9CA)+YlT:ce?ؽM} G-1݇;tpa5+meoåֲӠ"!zMeQXdzE<O ·[\qR~Ȧ b ⭣Yvq'(5 i~؎JeW(l\b$M?JQ "Y xK#os s kt ZMf*VyxΔ:wn8vq1]B,gܰ:8;0:+W|:/l`:do[U:0LͻL|cp^mTq4}1ڃ2/w"8g3h) -VDS6"'ib*ot-o~ eD -O~X8NHû bʃa>0NZ3{~!N dH$hq?>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43139 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43140 0 obj -<> -endobj - -43141 0 obj -<> -endobj - -43142 0 obj -<> -endobj - -43143 0 obj -<> -endobj - -43144 0 obj -<> -endobj - -43145 0 obj -<> -endobj - -43146 0 obj -<> -endobj - -43147 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43148 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43149 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43150 0 obj -<> -stream -H|WioH_~>xa&N&HL@ԶPFdUSAJ\^hoM\M\1~3}kV E"4Uej -&/͞ҴC=>NnjזMUӧ&&m3 n|__}۽(=(-ʭTljɯ뵯9*.Y#d -:zT:Ra _)RK6 M :QU'@yL99䄣#HC_bҚX`QZs so{[e1NpXp3>fc}'O s -S>ܧ}*OLp1>cs}{Y-b{KH-ŐS Y=ŀ%bܳ!CR Y{Z#bܳ!Z!KpRkR Y{Z#bRK1d YjZ!KpRkRlX!CwO1` {!R Y{Z+bܳZ!Z!KpRkR Y{Z+bRK1d YjZ!KpRkR XBj),=KRK1d YjZ'b),!CwO1dqZ!KpRR Y{Z'bRK1d YjZ!KpRR XBj),=KRK1d YjZKH-Ő%guBj),=KRKU {KH-ŐS Y}yT?G*x1 .g*fw:.:pnj ->Nf^Mfnlⷻү}M_ۑ٬>^EQU#hfoa &ן, j~:"fU GskwȶV$N{.6m6($, `u?k.ٶ#'Y٘\.zWUdQ'If uT cN'3Ma.;ܯ|qH7Vn9"Q4>Nߢ&M=&nO7ߏh궫VSUe}߃߬ʺ.۟І&9,=mܗ.ꩿϣ0jZ5~B@V[i&{]Z5Q KqetyF}hˏpWa?Da]B֔ -ˮ#=͸һ}phMSrtgt+t[PVՍY+ E?9;m닛=uVa;b> 5 CP[[Z̆Y|01h&cvwǻCb?UQ-幣.u׉dxzg]3g%0b:c~[G:,='aFG{74n>;^bMQ=?fMC2vw_㘺.6d1,Sأ =yY.'|NP9m[lVvxm:l6KʺlL:K_mW -niXr> I6sT6tίueӤDM>̆=.G~zZ~StZ3M8:1௤>1 h֜zT5 ZI|N\BYyY9eR -Z)ieVƴrA+gZS-q-!kQ XZLK ZiA0-#he-˴ercZ3XЊV"h7BS XBS Y{#=Ő%h7BS Y{+=Őŵ(,),AbX[),AbX[),AbX[),AbX[),AbZC }O1d ZC }O1d ZC }O1d ZC }O1d ZC>bZCCxw#f_̎^9?@I޽LV֋jI > S~)ݢn4# 793ead)Ǧ991 -u3JSLoÔHx#G7Idx=k%J#eUہhȦqhFL#a].o\ kҴ؆ّMuiօKϻ;xUmz~ݻTflC뢺E6͛o~]vȳ#X4]ҽ )ki>9э4*m|zUff2j^ -Ljxdwj>OY{Of՟\/۫W®$IT=S&Ġ EQϭnE:rp~ZE [c/Oq}>4:{a: -Ow ;_gC1"|MJF`bbw-*x+MwvvvئC-r/)ryO#>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43152 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43153 0 obj -<> -endobj - -43154 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43155 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43156 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43157 0 obj -<> -stream -HmoWLQxy#9`ACM9 -+M{%EٺIrΕ4gm;s~~˷Li^xpѺl诏&5VUɛm[Ӭ,Lqv9/7vjlٛKonwŴ883.Rl2yltU\b6'>WZwaX36y.z[fs'd<`bm_ܮg˽ezwNS,CLlzZP+"XoW g(͍)rOT6|\>edf`\$5FsS P2s:Ԉ W=HU>A }P#HUG>IO }RHT -T -TUUUoToT g>jfZ -VjLR# -LԘƔN/5J)^MS+5@z5LԈS+5@z5LԘz0R# -LԘz0Rc -WSJ(0Rc -WSJ)^MS+UJ)^jDS:ԘFZ1ҫ `jH6Q`jH6S VjDS VjLjjZVjLjjZ1ҫ `j*"Z1K(0RcJS:ԈS+5@z5LԘF0R# -LԘF0Rc -WSJ(0Rc -WSJ)^MmS+5J)^MmS+5@z5LVES+5tzVjLRcJ6MI^l>zt^@?[f*O[oɩo&nxXlWuɇ;2:E?lj6-ng77;~We78l?-{Ggzk9/ֵn_lnl/oONS'itlٿ\ ہ#fB?|m[Q4}궳k^&MpoyM yՀv!p|ÓR=V׻kCU1ϋۻPbs1TpI@b]*UZyu!c3{۵f~%˗}=wWSeRyW1.#?cT+*J+)W*U)xʫ^jW( +K/_j/1F^Ny9唗^^yyzARRc -x{{1T=Ԙ^^jL/{z/5SK>K)%5@RRc -x{1TԘ^^jL/z/5}SK>K)z@RRcJ{I({1T#Ԙ^^jL/z/5}SK>K)zARRc -xG{1TԘ^R# -^jLili^/ma~SP9K3"H{ or\Sasd?7̲gzOL f؊=Bp\H&zr~?in\ܴźݙ_.߾1WS7}^ov.^y?;z{ztu ]WW}Y\M9N&߾{>Ihcjg[w  ڮw11;ڤO`oOy覴ymw]_MN3(\=~~s*ͩO:{bzӢ3>Z36J14x24U4a$(MWm5zU Mc!jӾmjHmF*źUssEWG9^2(^^lksxmy$(bjjrY5e } ^`}l:e͝mӾ̴n>G,j/5.ޖG{=C㑾#[bGݨWԘʀR^xEWT^ x%啀WR^W*UZyV^ jW啁WV^xeK%5Ԉr)/+/T=Ԙ^^jL/{z/5SKރK)zARRc -x{1FԘ^^jL/z/5}SK>K)z@RRc -x{1TԘ^^jLi/z/5}SK>K)zARRc -xG{1T#Ԙ^^jL/z/5}SKjDK)m9?_ҏiq6uqf:/^nh3B{D[_mmWсձJB - l!VbQ[&vߑ%_$'O3řl}/jCOht qF7jNfG?0b8'yYrc!ֱ@PzMmf +ܢ2tgۊ`~Cg"V4FXRF˚a8X@JYm;&Il>9 HQ,s}өSj3UtR R]$KԸ>uu>:QZ1ɋ vɡa trN*?GJ=7vkT2I|\UC2R{dH2"1D:<&M'/?@-,CHE@z51B⎉]{o-*U*#޶URH1չ Scrk]9Jޫ3%wʗ&r1S."ҠOLw^5:;79Tso3Rf,ŕ7:}H}7)mQ*i('ci]zi%×c%n.OEMDzc`|Q txx -endstream -endobj - -43158 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43159 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43160 0 obj -<> -endobj - -43161 0 obj -<> -endobj - -43162 0 obj -<> -endobj - -43163 0 obj -<> -endobj - -43164 0 obj -<> -endobj - -43165 0 obj -<> -endobj - -43166 0 obj -<> -endobj - -43167 0 obj -<> -endobj - -43168 0 obj -<> -endobj - -43169 0 obj -<> -endobj - -43170 0 obj -<> -endobj - -43171 0 obj -<> -endobj - -43172 0 obj -<> -endobj - -43173 0 obj -<> -endobj - -43174 0 obj -<> -endobj - -43175 0 obj -<> -endobj - -43176 0 obj -<> -endobj - -43177 0 obj -<> -endobj - -43178 0 obj -<> -endobj - -43179 0 obj -<> -endobj - -43180 0 obj -<> -endobj - -43181 0 obj -<> -endobj - -43182 0 obj -<> -endobj - -43183 0 obj -<> -endobj - -43184 0 obj -<> -endobj - -43185 0 obj -<> -endobj - -43186 0 obj -<> -endobj - -43187 0 obj -<> -endobj - -43188 0 obj -<> -endobj - -43189 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43190 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43191 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43192 0 obj -<> -stream -HWm6_2Պ/z 6+ -]+gI$IY&'wgyO0?t0 7ɘ!2L g<3<T 9`aRjj7VMCSCܾ[Y} -JX$ ˰9<)mDl(yb<>GzGiݿjoQ͗e̋2;:Nj0c e$1GضnyxY~J_$܅A)0oR`e~e8Aǔ%6D˹6@1Rrg' c c/c/c/c/ c/ cS}JO=)>gc3}N=9>c_ }A/<%ؗ{OkkNֵ!gEֵ!gwm"TET պ6D=rB Pj]j9Z׆(ZNֵPkCS-'TET պ6@um"{j]j9ZPkC޵PkC޵!gEֵ!`Vum"{j]պ6D= -B Q{OPkZ׆(ZAֵ!`Vum"TET+պ6D= -B $Z׆(kZ׆(kC޵PkCS$TET+ պ6@um"{j]j%Z(B Q{OPkCS$TEֵ!`Vum"{j][j]| Pj]| Q>2.R [u6x n[pd6CS8 m9?ժnpó"z|~XYV9<".cD޽g)݅/q%< 77\Q5Sϩ2aÊy }tƣ!23Fq%1K\qgO#d"Jӄe{)7idQSy2KtI}uO;Ғ^}"␔fosU94_Ϫ'ήPu2Tm>=j4[L z?%.Z#DQj_)ī%UҬoW-!_M(g6z|k'9 w1"Q?_v#CR;p - s ͸'/MKǪC9[1,a/x6n|DeH"@@[}hBص-g8Dݶ}")q83\ΡYd7Shm:{t袅Iޱlz4dAE$+ rσV?+b;ӹjOQ*{Z*P*r"[Y3'q"UGNɠSw]A"nOZG7Yxޝá+e }ʓrNtߟzF/KO$LhPua6LM1=BvLODLSu]KR@oޏؕuEDqۑ}a'ۙ>]Yt(4n@+S\8na>> 2F xKr A%WCo3<.Ror!6o(k^0]?>/P 402 0 R/Type/Annot/A 43194 0 R/Subtype/Link/Rect[93.5995026 526.429016 172.283005 546.109009]/Border[0 0 0]/H/N>> -endobj - -43194 0 obj -<> -endobj - -43195 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43196 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43197 0 obj -<> -endobj - -43198 0 obj -<> -endobj - -43199 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43200 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43201 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43202 0 obj -<> -stream -H{o秘h lj^|LjÏڎ1h`Wz}8u\w}Gtt3s)ŻfW_y'? <^ty3PU:isKeIiUV"CD*"n~>5 -^~-7_G ؐpUKϱv,E׏rxtU L薋vykcпtM5uvF0sf,e:빺ݭ+饦m+wY5v{*8fsjw0E~t}zy%S|>{-RY5 o|3/iz=T?To}z:QfU;X.fݷ.<.\(G7rѷ(2?Xu(ygPuq\L7ůpJgzH-2|>7~SzKyq6׳phٓ??[Oz3eEheF,u:Ky͕ceB=4}4]=ͳٛ?TY'| -#4ݜf鑱gKu P5R|mܑ^^kE-]=WC>n.պYC./O K6+bt4Rӷ;\&,+mƭ,=fӬݏFMfeJo<߻8Cx;;x[-y_? N%@06sa[if;ޭq՟`,g~w) -dE>ap- }`~V2+_ۜ9I\Uˠ9? - r\,X^r+\ -*BJ*R*J` -8j$ke,#X`Y\#`[{ D-=Xk,{ z5rKނs\%z@F.Zts\%z@F.w\#`;{ D=Xk,{z5rKށs\%zAF.Zts\%zAF.\#`{{ D==Xk,{z5rKރs\%zs\ŵ$+d!|ᅪ/O63osxW?=d2::>wFR\Xl!z]o7m|>6rN?M-lYMnbtenΰvn68ptyc'Av~ԗT mWr蜓Q[9Trl,&Sf}^m7=՗_X38غFLYEdN#@tv<tt':Պbi1 @grj- gu^ zbF -d딆38t4ZEHFphK$`aEQ,.RkS4/|t32^g>ig&1J([S,뽂tJrn`9ba~N0{"P%L s@$eďyFI;W5srƴ΃_M#!x˻ga^"bҭƜEs&-hpn*1ʺt&)Sۜl@(yI=3S7VlOhFR7QǼ;gWy`}`keCU\P sΟG:Si8cqG@xi|2Y<Ѭ.,(W4 Rtϸ{<0\Q$!cvUI/< c񞁧4}YZT%=&mb;I[(*SʲmYv={M<3C](*Sމp͍FVb D*y;չM68<'M_aK3b@P97oyݎaa_>J`܆[ kם(3s+Оuҩқ︌lnr?Pۅo!)z6oe6XͪtǦtک-N>^|_فZ_endstream -endobj - -43203 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43204 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43205 0 obj -<> -endobj - -43206 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43207 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43208 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43209 0 obj -<> -stream -HWiܸ_ _4#^:66 f-J̿OHuKdc_z<^cOo޿իoDE\1^P.$Dgi&WFi-qGw͡;t}s4cqDw?~!z6gxJ$˸><-1JLo6L0qqɟBInol>\ezj6T'oi4(C% - D)0#D4 /iRfLh'-=FerOQ}LbJS||8QQ@9>@  K K K + -+ -kkkg,`쳀}N9><`_싀}A/% ؗ@;FPCTPCT!*dE!`V}"j}>D -BQ@PZ߇(}ZA!`V}"TET+>D -BIBQ!{(BQ!{߇Z߇(}ZI!`V}"TET+ >DJBPj}j%Z߇(}ZIPC>P$TET+ c>D}>D}BPj}jZ߇(}ZEPC>P"TET>@}"Uj}jZ(BQ@PC>P"T&T}"T} -ٗ,Koa&ld.*- LLƛciyk-ۿÕdpSDӎq6a} YYԺS5hlOPe1o8<|Q2 , ь~H[7t=3ᡴB'iҵ57_61Ee(E&JOB 䙐.,sk,QorP ;>*:Rie~߼2Zuw2GAaL=vu}5uw4Hm،9q?pkͪZqysVPj]m.\H;{].nb.$ēd[gtp|j}~} -`M.rLSd  לXe!%wA.9K⫀5nwƱ\"2K&;"!'?ᲄjq9U`A3] -&fz bp>]9>ڶЫzaކ04DE -IM\γT/v"Bkۍ{qv;#Dl %ROLO -&O$gQ\2M8#1k}b7dwnZ(Ns)F/3967l`OLT, Y*\,|cqR* ?uW3\]S~KEl/b:W*r KeJ`jeR Pw( ^.' -h;-Zi s{Od=W žB3vM»ܞ)b Oڱ9` y9Кw 0O-ԇmzь_8(wv'cؙaJkKǓ:0SLgfԁ_e[Rh54ۮiYx.bN4Rၷde-)Lo<ێ~P -ː(xRd"/žںt빛i| -[h /35bz'xE@)aZ\P8/o܈i@UD)+&+3xT[XV;K\Y:.yS`zs旤EqeGݎ*@'f.à'V퓽-aNg`LlLҭ4촋~mKx%վxʬ^e&/SxeHҗtta*k~ [sp6h=8ClQRrXx>ߴ/}T[P'T Y:D4"F'ŏN -y( 98A8R{5׃?Ē%x_,)G, v$~,4C58Cd˺=t0":_c 6Gxw -zݠ5(12 =N{}3 -67ioM'Ʉ]C=!K$z?&jJEU!WwYr! ޟ+!mҘa] pr'Tv֦RoՊK'NzlRmYxB%xQ./jLׇ㥲EpHbdWͮ>cj~(,DŒK}\,9ݡ1\s* K-ZK[?{S'R\OVͰfBMbFmL%D0ϐ*o[`'7BϿoWf,/Ǐ+S#Vz);gyM蔹\id tTʹk"G{ݽ,G -D%,~U<Yn_S B8C\[V$ ++)c[탮|Wxs k^fY"dB˗MJS -#jO<ԕ! |d- 1-i ZD,nbjIDD"k.0b&,^CYׯ#J Ţ0QK3&yVϳjj(UD)ileOю#nBM,{\yWF5жPqreDTW;fy \2'6 [X+;^dX] $!`o}u8;^x]\Ks~+_ -Yhendstream -endobj - -43210 0 obj -<>/P 585 0 R/Type/Annot/A 43211 0 R/Subtype/Link/Rect[93.6013031 490.569 246.300995 510.248993]/Border[0 0 0]/H/N>> -endobj - -43211 0 obj -<> -endobj - -43212 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43213 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43214 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43215 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43216 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43217 0 obj -<> -stream -HW]o}ׯ eC,OVyb2"_\c3 G(,>ŀ5g Yڵ),#7L --Soz;AcꝠ1>c3A}g9S sL}!/BP_0dKA}{Ag꽠eV X!CWO1` z!R YzZ#bԳ!Z!KPRkR YzZ#bRK1d YjZ!KPRkR XBj),A=KRK1d YjZuRK1dqZ!zKH-Ő%gBj),A=KRK1` ,VH-Ő%gBj),!C -,VH-ŀ%bԳZ!C -X9!CWO1` z!R YzZ'bԳ:!Z!KPRR YzZ'bRK1d YjZ!KPRR XBj),A=KRK1d YjZuQ&b),!CWO1dq>;g}E;QZD:]pxh\W.s3qסUk{u^.W>DiR^Iuk.4$&{Z||m~J𾟇%`M?/A`rl_1u8MPiIa ;f ~?Wiͧfl_z޸(mP=mm=Iv.-sOcmKa!KLK4Ƚ |וMp}X}LqVd_ja`Z|q훧>YDyraonN]lC[M #ح:ia|kLIxƧ>gϝxϠ.ΝXo/庄_(TO3;ywr8,Fm[z˶44taOWnE<ڽ:Ip&$p+"W;D&MROpӄCeڥ1DpNى_jnp%jC -깅!;lcթaxaoq; g=쎧qFGN9K8zm}9"XtQⳋ4ng!0dyj9cP˱ZP+c2VjBʅZ9U -VjV)*YRUZ^Y-/Iy-!עPKZZY-#2j1CPZF=Ő%b7),|O1d {!K|oS YB-{+b(,CP -ZV=Ő%b),|O1d {!K|oS YB-{+bj1[CP x-K=Ő%bw),|O1d {!K|S YB-{'bj1;CP ZN=Ő%bS Yŀ%b|w5 7w_D~%?TBw \;F}W=; pIw^'0{g誶OQ^M@WXZc{6U/r$pvC#AT&vg^h{Jwim׋In^ܚ 8#[OVvg~S3'os¡ -Wl3eWwn>Qy'Z3}c3=KKHU3ZD%DG;D9XGA K]r@.R Rc`{ TȽX*^j,UȽX*^j,r/5v}K>K]rA.R Rc`G{ T#ȽX* ȽإYR.{K-qo=M[0dfIz?imc4nCmWZ>sߕv74G#}^w9f4^YdsaTUJY[_nW753'*nJendstream -endobj - -43218 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43219 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43220 0 obj -<> -endobj - -43221 0 obj -<> -endobj - -43222 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43223 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43224 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43225 0 obj -<> -stream -H[oW4BZح\  A, DCICΩr6uo^>Li޼yeEh6ڛf34w33S{r\]]87w883-R~$iLWnq39{3Rk;/匿[?.XMˇm?[.6g/$a*k;'~eV8^CZWJ{3?)W٩lu^f$<Ti&!ք·ZCJiBUٝZ˔'=$>>@HGHI+I_A }Mא&kHߐ oH7$}[-IBD'HHzYGVk“՚P^k"S50քZZ Ez2Zdj)2Zdj&ISj-Sdj&ISjM(֓ZjM(֓՚P$=L'SyjM(LL՚P^kBazeLք"ajZ E2ZZ E2Z dj)2Z dj&ISj-Sdj&ISjM(6ڼdj&ZjM(L502EVkB0Lք"aj#ZeLք"aj#Z EF2ZZ EF2Zdj)2Zdj&ISjm^Tdj&ZjM(L5Hz䥨"u*_bT#4DjW^-j%^-x%+|^Z -& r列/OkM. zH&|Z;{xAbN^kr1'^@z5r/} ך\KkB2M^kr&^Hz5&/}$ך\>kM. zI&`Z-G{ՖxA#J^kriE/ ^Z(Wɦ)/Iq>8H{ΠJ6?̋fMg^oMcߜMNy >~{ormvl ƖnuglfsuFJ#u@[YbTm9M)^G|f{7Dlz{98}0#=mh0V3.<9Ǹ:ᥭSpjqّǜv:-_?Oo)橈٭:],&2ؘ&~^ql<W xWyfڼz|oBm q`%>誡%IYuxͿp2|+WW#e/>rL&"ՀWCjW ^-j+^x%KҚP襵L9/^xy˃W ^ -WH"xUīxUU/'ZH&{{ E^kB/} ךP襵LkM(ZxAք"^@z5>kM(ZxAք"^@z5>kM(Z -){ E^kB/}$ךP zI&G{ E^kB/}$ךP zI&G{ EքB/e^kBW)_Iq>qqfr[;5>]mvݙ˼ȽXN9/9ϧ)?Ё fߴxz>si7yvf6_=tnOrag&O8r~|oo*oV0~%Dubwpķі.?#.6֥E_~ݘ,$j}+A9^IT#4DjW^-j%^-x%+1a%S列/Gxy/^x -+W$^"U -*UWM^kJ2^kJ2^kJ2^kJrLimXIxkmXIxkmXIxkmXIxkmXIxkmXIxkmXIxkmXIxkmXIxkmXIƔZV1^ZV1^ZV1^ZV1^ZV1^ZV1^ZV1^ZV1^ZV1^ZV1*{ +ɘ/{ +1W>;֖ݏ-79?想E"q9:ch^1'[g*=ɶO?nW&랸&]kLr1Wwuzr˻W]BOgWw+eLP`f"d69\l&r["ȡnf",{m&r["ȡnf",{m&r["ȡnYV$ȡnf",{m&r["ȡnf",{m&r["ȡnf"eY=ٽDu Xd69\-{w ﲯa.ܦq_< -T\Աp8]]6qTe\n2gOw͏cΕys]< 0wFendstream -endobj - -43226 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43227 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43228 0 obj -<> -endobj - -43229 0 obj -<> -endobj - -43230 0 obj -<> -endobj - -43231 0 obj -<> -endobj - -43232 0 obj -<> -endobj - -43233 0 obj -<> -endobj - -43234 0 obj -<> -endobj - -43235 0 obj -<> -endobj - -43236 0 obj -<> -endobj - -43237 0 obj -<> -endobj - -43238 0 obj -<> -endobj - -43239 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43240 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43241 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43242 0 obj -<> -stream -HWm6.E{HhҢhE Ŧ7Jmg~͈- ǛHE>3pgH>:~{O_xӫ近4,c2-t8tjU|tћD|ɸg]ןݫv:>ѳ_nU|E/Wѳ|cQ ID\%ČsQī}hcnVY¤pov]|T<+WC7V.VYh)0ϫH@LKS?RĿAOu7qT,U]tbS:Qt()C!2(]ʐ<J1U^1U^3u^3u^3u0M0M2m2m2m>cgas}y>ga_ }/edhm)FԆ=Q-!*dOm -SRjZjC>PbTKmbTKmbUj Q @Q-Q-!aV16D1*F(FԆ(}ZŨŰTR>Ҍj Q!{jZjCTȞ6@16D1jFԆ(}ZͨŨŰTRj5ZjZjC>PfTKmbՌj Pj Q @Q-!aV3}dRB(FԆ=!*dOmbTKmb5j Q @Q-Q-!a06D1F(FԆ(}ZèŰTkRRj ZjC>PaTKm26D Pj Q!{jCTȾL˲4f>zV:j / RYeeGo)R)㛧J䶾oͻ\*U<[w7OZ7>SRūu,wCӼqCfI3l0wnZ%l~_n{є.Rh-q#2! _bsMO>$PγNE" -i%@LWge/}1ljeAxHse/72ʤ*g+ဠݍNTˏuUWՖ#.MzmOͺۦ?nj|T*n58 EWZȃ+I v\ikj8 -`0u(|3 *aM=,ez?~?@Y:mhzוL =`K'$WHwwJOrMq2KT/~w/ fz^b*-̒*"e`frhA7g̋,˼Xz=ejS --q9a넇пV)l3}MZDJK"oWj曕*cf匇CA-.6IK+6.0tן~257XVJ~%Ĺ,%I,B't㿾},".ǁc{$=ei-wEw3 -&4ط6lX9LM7ǒ#zF-x|*~~0lxS$'o-\;$_A%.b-\bxY,w6#+C]PS9*8Gx?x\d}XpU1zI̼|l*%"k}] 7&O4S3Z0nFh_6P)H*J Ic9ɮU#jk&`{MY^oz?u.sEVB||S@h\FBFI^5^4Zh5fs\ye,.Nb_Np-gO ,42waX*h nt9KxݪaW+70ڳǡЬx:K !YKW8]-~2˷VPȬ\m~:ٶ.Uue~8X"K (4tKĝ(cQ>l|e(u߫aiGu; eE(a;g)~/| ڏ?WǺsim ɬ]Ԅv'=qBLAn(fCEY#Aey]whM1C`P;wM?+LeK -<ަqOkWM6ЋRx(hz R`mQ -c%g>CJ͞4̛èNY -b¬ldW}6 vGUhvaCڙ jcE-y7g:8;`w:XH E dyQtSzٗ5C+-}uj>* WA)P߻alN[g#U|-d!N~yy"j$㳃ST?b|'Y!RyO1C<{ ~=:6 wz1er-混ЕMYޚU&AN!@"ΒX5pҡ̽WW]%pHnPIoK4uP)-܍ns{nr(W ibG?RzvXUz3/ݤ -@WW]g*m%.rϞvo8afV&Nmw;Loj̗h|1ҽ4^ZS1=^Yd7xlOK-/c>yR@H͒bcb΀0FF̏,w9H!S7y4tnK͹>ùL%G9*Izȉ%|H Ѓʺ\'pL+:g^zydXn[L 0~)QlC8ه%ЪPӣHܯt7 * C;^M{;!W -nU -̄\h|UNk/{uΦئ }=y.WH&97>/P 889 0 R/Type/Annot/A 43244 0 R/Subtype/Link/Rect[93.6001968 663.229004 197.628006 682.908997]/Border[0 0 0]/H/N>> -endobj - -43244 0 obj -<> -endobj - -43245 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43246 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43247 0 obj -<> -endobj - -43248 0 obj -<> -endobj - -43249 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43250 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43251 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43252 0 obj -<> -stream -HWێ8}W tye1`I;\xIhd9Ė=_U")d;YC)N: ??<?LDRP,i)fdzh]OH4}쪡o^Mny+O:]2zeZœi΋tOޭ6]zu# __'ֆ)%gv8L#Wx<2P ϘBĽZ'z(&ӇT73M*cL>)3.y&Ĕ1 0 m"F6Dr"&% 2b/ 2b*b*b*b :b :bo&bo&bo&b쳈}F"9>R$TET+ Ն}Ն6DCՆ6DCb PjCjІ(}ZE6PmhC>R"TETՆ6@ m"GUjCj(B QHPmhC>R"T&Tm"Tmه6@ m"GՄjCj5(B QHPmhC>R&TE6!`V m"GՄjCՆ6D#jB QHPmh'PmhCT>PmhCT>!*f_,uߢYv->Tm"h5P c - ~~:,%N\0p#4@w+&9ju] -۔ ! a$S% 2j6U{cx@xoho~ӸNwa!R2]6u ~.&(°nbCt\ -XIdtY<{Zs2v?Q1;.+,Ysf˵bkRpJP4K8we+ri -8&d!d de){W;޻h@?)\ԠY &6QV!WtٺmC5lbˌ(E`=Ly9O636|2O:չgCk؄KԪ%Lz&Pօ4ZnU^dKwl#(9Pr^Ҫ,5lI}u#%_/sR͘0՜9(7Fv|pjB&,^[w-`[jNףœ'RRj5ʌ 1x+/аPfӱ͸-5OF'= ʘ3bwź>Ё)0uAVӰw#:urRM^ziY>&CW?/l6bg6Y|WE9 Ǫ*(*jy3AO?>OPLyCAk:.54E*B|RG߲vVYTԝ;'F:ɗqwOry"Tendstream -endobj - -43253 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43254 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43255 0 obj -<> -endobj - -43256 0 obj -<> -endobj - -43257 0 obj -<> -endobj - -43258 0 obj -<> -endobj - -43259 0 obj -<> -endobj - -43260 0 obj -<> -endobj - -43261 0 obj -<> -endobj - -43262 0 obj -<> -endobj - -43263 0 obj -<> -endobj - -43264 0 obj -<> -endobj - -43265 0 obj -<> -endobj - -43266 0 obj -<> -endobj - -43267 0 obj -<> -endobj - -43268 0 obj -<> -endobj - -43269 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43270 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43271 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43272 0 obj -<> -stream -HWn8}Wph,^t!0\vf;qhe[V%oH݊`8*>$)b]yO?]yyJ$_z/&VʈqD8U\E(w.e_^\7Uw\G\+qE/V~VBmdaDXaO'6u(.44ŧ$Eg~]5=[6*&~赒4ڙ Emr ]%ұB& ~?%b/"XL & -8DבM)džK82b - YCVʰv)Cbԫ@bԫ@f@f@f@aԛ@aԛ@}ʨO)> ԧ4P1@}ƨ9>pb\K&Ҍk)P=ŀŸb -S Yzq-ŐŨ\R Yq-ŀŸbbՌk),F}Z͸bb\K1d1jƵC>pf\K1`1k5Z!QV3XƵCVbb\K1d)P=ŀŸbb5k),F}Zøbb\K1d1ƵC>pa\K1`1k Z!Q0R Yq-ŐŨ\kRRƵCVbb\K1d)PF$o6nb{dau,bDt._+?d,Mܼ=VLM{~};ܶg|!MǻW|UMyoFISjwb4εm4-b9c_o]5*|,IKϲW"׮[Aou?[n,QbS2,,>F9,MnoZUq %SjSwcpKlʃr`U#TߎOmC] MU43t뫦{6:NcwKU煹I&nh-TGfc'r}ܴW`R8Ԟ{zxM%Pb*c -_ø5 $mᰜ[n*ʶqb#6 vms*N&pY3é6,8Qy܍K?qzq6.c&d;dFBֳGj̇<2N0SɳeQM?禄5" D%5" ΌY&dV4'Y -Ŋ5!K֘)fֈ,F]^4Mhuk:(JH}Hun2v9XT(CQ[a cJB0( "jz?vJOӬә,#lUL‘Uԣ |;З2>'3COv>b4ȓP[u>°i;l*Xrm ?%MYwu;4Ơ?)#/\[ݪɍP6e4VtSLswH獖2 0@|]ǡ^ո>ثEw,rw'T9ONN7Aݩq_Æ(RczCeIrfƣ"UKY犪\0ԹF<(.C면+:Ŗa0,$k'V$~qi^+q#^4e^rae7n4mU4bd殞HP$r5S7U.xO zv5moJ}jo8}_NBUTN ֐*΅޽c޹t#l桯_m_ߒ5܆6Ir_"]ne҆\χ@\\2AN1 xv[<}im -^iwEJ!)9PȡJeQ$r즥wfW瞴y~#owfFe'#d+7`en&ۮYCu˷u3`բˌ7d}7D/+̡U]6b3_JTUq2NЕHN7_K[scg!!>k$-x[*t5#o|tQLEdl۞MwWo[-Hqlmʊ΄Mz4i#) -Nou_Y>r'/i, -`Oˤ@ -ͧӢ5[yzh!r~'s|ND4Inn>O2~Qf9]n=/j7 9KYDE>/`RyzGlf|B{26[XFk:?v cm=!{.zoZ/|nx.^G_>~}ʟ^t? }Hq1~{Ŀ<iZ$dVc&'*tznINjafU+3eOBOoqYLvԐL2|JG?$dlN;꺄Nb*Ki9唖ZNi@+UZ)JV2Li@+WZ9ʕV -UBi@TZ%*KbZ#VDieZ^bZ^bZ^bZ^bZ^bZ^bZ^bZ^bZ#Ę-Ę-Ę-Ę-Ę-Ę-Ę-Ę-ĘĘ$F,{1 h);{1 h);{1 h);{1 h);{1 h);{1 h);{1 h);{1 h);{1 h)ߧc֒%,UrB4XGuٌ*(+KoZjVo. >vs֟@u;lpuYoizzmOLa[J)܋幽|uvO:Yendstream -endobj - -43273 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43274 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43275 0 obj -<> -endobj - -43276 0 obj -<> -endobj - -43277 0 obj -<> -endobj - -43278 0 obj -<> -endobj - -43279 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43280 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43281 0 obj -<> -endobj - -43282 0 obj -<> -endobj - -43283 0 obj -<> -endobj - -43284 0 obj -<> -endobj - -43285 0 obj -<> -endobj - -43286 0 obj -<> -endobj - -43287 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43288 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43289 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43290 0 obj -<> -stream -HWkV_q?j&݇^I6U0찁P[ Rl e#if=~>l:}n7e۫|uuL_> ->EPoT(5*KmVU.ЪVjQCuZzYm=Sm\ݨ.x: .'zjV۠CbUk,dvg=iDz{^͝:$qXv_\vzM_g'/.Q#ړvKްO؏%_FF=*WGK}*(l 9}.";ApN!9 -Lj%q̳,+,]kice{#½po{+; w}'}'}'} -ܧ} -ܧ}g}g}g}}}}܋jPZ-Z1bI,ZK{yh-Lj܋Z 5,Z 5#p/Zk@k9Y#p/Zk@k9F,^րr̳@k9F,^րrXh2#t1{KgrXh{Z Z1{Z Z1bcZ1bcEk-h-< cEk-h-Lj܋ZZ-Z1bI,ZK{yh-Lj܋:Z u,Z u#p/Z@k9Y#p/Z@k9F,^ցr̳@k9F,^ցrXh2H@k9F,cZ1bI#p?nG񖪭;AH'X` -r@ h%B+ZJV*R - heB+ZʁV.r hBZ2@K -2@Kހsl8=LjD =džc)KhsX@Kހsl8`=LjD =dž)kY{Kjq;@Kނs;@Kނs2@Kނs2@Kނs(@Kނs(@Kނs@Kނs@Kނs@KނsRcĒZw w w w M>w M>w ;w ;w 9w h D"*©9:[O'dV۠GJ"ף&]m8ޚi~q/KqOg\Qv{utyW_0ҋz3OM_k?ד'^[4Q|m٪:X^?`ca;֑=pqse̐Qvկ.F8JAIr7ݛ~X{O> u?mUl7g$Y|6.?pǰjTWU7ڍ{2USuTݽ:uۮ-2[өn]>6|^[\Lu_mlֳm#ߺWߜ+0ٰ,?raXPl|SDģ%a_Am0{3, |v|oW~qtzQwBK*h}J3|Xwt$ڡ=Eߊv+GWesT"(?7+gn΃3NںN#VXB-'rB+ZJV"R -hB+ZʀV&r hBZ*VL,8F,1@K - 2@-D =LjD =LjD =LjD =LjD =LjD =LjD =LjD-=Lj%8Y # # # # # # # # #w #gsX@KށsX@KށsX@KށsX@KށsX@KށsX@KށsX@KށsX@KށsX@K>< cĒZ?f?|rVi5 f+`?ccau7쾥 p& n$^H"3IaÈ|!x>K~]iH= >y;MqY1&;UE_^,ǫ ;\_gvgQiaL)aW~@ *b p7tRID4ލI(CS!E"PVt+c'Jom4jDr&Nƿ[uL1 1Ncc7 UÇjq1EF.ԃzd$Ik`R[Sem͓GS|`_7u|٥E 18#-&!a)-\n8t7q&!8H}m;ryl1ʱڤt02H-<#'.Zt<.414ՉwkjMZ9q6YpK%j%FA{3F&*Wd -FjyVw#LյQEH Fi2[Ae Dqe۪~ujhF/Ip94b/zm.ly!C'e3*X饉oG绡M`5+[Xc lw0cȶřL $p -Fz?~-x/z-Yendstream -endobj - -43291 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43292 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43293 0 obj -<> -endobj - -43294 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43295 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43296 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43297 0 obj -<> -stream -HtWm8ί##%n`^V+mSn"E{UNJC{I: - vEфq]O_v޿ yo޽ -DD2uX"4QL˰3 x -ͩm{j6CWaW2|7`P Ix9 S:=r&{-5?,X$Lt{0P}Q*) 1|Zpp. H߂Ĉe {(&k(x}< O7S>&w0+O%r|.OJ^^^^>&`{5^{5^{5^{}O>%ا`zS}>#g`{sYAՁ$Tw}"Tw}ٻ>@u}"{j]j%Z(BQ{OPCS$TE!`Vu}"{j]պ>D=JBQ{OPE!gE!gw}"TETպ>D=*BPj]jZׇ(ZEPCS"TETպ>@u}"{Uj]jZW1Zׇ(Zׇ(CPCSmL!`6&TE!`6&TETu}"TETu}"{ պ>@u}"{ պ>D=Ƅj]_hBQ>{(BQ>{ׇ(}SX&)8sTf^ 뫶kdEi?ٚj8Zs8twYtMg]EYeC'sp@x#k)ȉN\;t6P܎)˦_0bH{Sѹk;*Ӻ1gWA`WP G+y4Rv4)+oKm\ũLBЫ+H.Xu tXBRk퉕B3.t=ӱ_M;۶QMK s x:sG<"=0~0dj*j1M3Y>qj+kچ`Ke9㹳03+R Gz;Weq:M`PtVÖL975{k]k,c~q3as.#ꡒg4T4Vx>I^ 3gj@y`YE3&cZjU?wLh-qt;.lb m1&k*d2}{ũ|A}Y }u0!F -64\q` dD.Z5p ,ܸhdgR?UTih\cnϋoI%0+kbh|֣zxln5FnpM\Q8cQ{m|/Cg .-DmB$SMwX-dUX:! A_X0]*͆/tf z:R2؛L`zs.(-eVdEYA;JRiɭg -wӥ}5P\<'kT -{8IZOT+Sqf|=]k[{Ѷf^wC{dYlJoc\+[9gzs!ybmЍ8`RLqQá>8YVk4־ڏKhY̓|dBk߂Ɇ|#AL—c iFϤEm}^L$> -98Vh=Wk7KUC5fqgAϹ1jk<:?c{Œ>gQ.m -Wi (@uC/[E/)Z. -7z ΐ)Μ쓩G:X/J+Ce:4|-ba|˷n嘱4[71h(zG}d Rf+tK tLuOcD]8_4wm@CG#ߊ?/g/_WۄO,;߿6鹫+gsqnr9.]4 #VfM{DUlJ74)NކFˏٜ`mry!v~`ɶ_473Ĕpp~ -[?=55>}:aL3Yw5}l&״f]1A?X^ٻz0 q݂+lRpEaU[}b04OMIx.;#*I^RՖzFF<MkY۝axx4} TG 5oi(9n$&SwEQgyn-xrه슮Uw{e*T6WzR,XN`9ŪVjjQjUZS:Wzɲf4KHe(,XbYR*R*R*R*R*R*R*ReU%k5V}|/k, -^XX𽬱 -+{Yc`)W*ReU|_K5V5Vi -^XX^XX^XX^XX^XX^XX^XX^XX^XX5𽬱JdT*ꋾo'Cؿ}2>k{Un*^~\fy)ao$d-fL=ceS,XNjZjFZjV:Nz^3UZLBJ `2eU, X^bJU|/k1 *RbZLBJe-&TXPR,{YI(UIV|/k1 *RbZLBJe-&TXPR,{YI(U)$ ^bJU|/k1 *Rd9{YI(U)$ ^bJU|/k1 *RbZLBJe-&TXPR,{YI(U)$$RbZLBS瓐˅(rGQ)ʊAYq|\f*qRuo䤒ͫl[d@?+cf|8f3oޟ?Ƥ7:tu~zFoϻz{#Vh&_rkT]v؂/ -'b>[]6`,Zf+?4e|3Di<]I%<{VgO 1Dendstream -endobj - -43298 0 obj -<>/P 400 0 R/Type/Annot/A 43299 0 R/Subtype/Link/Rect[260.144989 647.729004 425.345001 659.713013]/Border[0 0 0]/H/N>> -endobj - -43299 0 obj -<> -endobj - -43300 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43301 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43302 0 obj -<> -endobj - -43303 0 obj -<> -endobj - -43304 0 obj -<> -endobj - -43305 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43306 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43307 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43308 0 obj -<> -stream -HWko8_ -*|J0M-@R [IԱ%%7l7lE:>"{./>ogyHD T,UlWFW8Xt\]}[" )sDG&8& ~c_9[(Wi" ->7Q̀ut!'8c -1` < Y`څ$^%^^^^5^5^   SB}O i>#gP3B}zz y>'i}lIµ>Pp!+Tc -k%ZC>p$\c"\c"k} Ypp!PV1dJµ>,µ>,B}ZIǐE\+ &Rk} YzZCVǐ1`1d*µ>,B}ZEǀEǐE\kZZC>p"\c"Uk} Xk} Yp!PVM B>,µ>P!+Tc"\c"Մk} Ypp!PV1djµ>,µ>,B}ZMǐE\ k5ZC>p&\c1d} Xk} YzCV>O<׌ÿrYDg f-"{BI4gM/ʓ7`.d@6ɳl>UVNu$Z\wzUMN^ Nn[tkle\uc.jĊnhMU]9RC7a0wL>@~0'r\{,>6U!qۧ^ R,j =zKcrKvV\L&WXHQV=< T Pp>#H. mPSqLź)w.v[պ]pce^W}ߞǛ -G(yױN+ouh𸱸^lns;:xBۦmuyJ0nrTq8ܕnafՎ VPkvtxlX'W"{R qq_D(+qy4voiGC*wÛ$ɘ`Z`R8I! X\O! ,OD$OLSo<z@h Pĥ% W%=,A pԥ9 Ɵ,\b&c/_6bׯ?v캾ԥVU>o-ªpShaīS{SM2117͉=nB2Wm^_,~XWa\!x:;ڧ+7_e jH+,y?>4.֠=dJY|ơp TkYCϸdPefu - Q..>3):pgٮK̢.÷[si!!;2qy!I^f25AǯG )#(mYֽڪ`V%pn)4uQ*)t 7L{b wg3\ 7M IpљaD~:y_?~q ܩp+sJG3:OW -.f*r^LC?V<ӕܧdٔ -PE.lNN^㋚7?}/chuN*ŗx-Wg?|+1wdk,^Hk[T -EUhƵ;r'2v8㳶%a3 }683 & ]G*׉VN^]\|=xS,9xҕpz|(♌esXmUFYs."w/C~D/RJ5"ǥ%]0#K -fNRx (x {}( _碇a[㨋6.(ѶMOeQ)0* );4Kz:Ml4<S<\yGoce`o(@(滊L"3 Hrbal/ij>ޚRqIk8-Ubl)vyiwP +ui;%/iGP PɔOR3gˋѳ|ҁthFV`x6!bvbbTw TwaQ 'jo Ѭ[p@ O'5KYM![t(Ht<$V*K2ɥ/.f[vnS8 F&HA( (}`7rl\2R ̣k|bPSk;!}j#~0$RdHTsn,Lĭ~TmZ8M. a4Ԍ cDuGTZfPZ{M5qZY]hGt0BMWoz:AٿВ=-#:hJ|czbfivͰC:9t%fv'y;nP/9P]b_l~2aۻϷ?߱!1ES-wb6BR1$k8 ;wSWDeRFac)^aKժ=t,k_VᗓƧP*<'l3{@maDoΥ?&-۵]߫1YxԆ*1:` SH=y0ZJ4XSM!N / To_3bV ΫՁݳqsF?+ ZȺxnn):@4/L୿= huϕ=\ǘa::la - -NvMD;xVWCsw9ZMm(qkaW`L^.Q{TY%KӂDI+GKT&"8Kr}Qendstream -endobj - -43309 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43310 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43311 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43312 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43313 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43314 0 obj -<> -stream -HW]۸}`O_ 4_Mh؇LhlNĒg%y'{)Qty'mLD^CR7*xq_ް|+ \T,UHָo^%JnEW^\ה;֔?H]ڮnbmWIeb,ٶZ}\pg]^).# |㧄ʪK?qae ؘcG$*"a̳0,!b<,]X<ƀ% 2R/ 2R*R*R*R :R :Ro&Ro&Ro&RH}JO#>g,RH}N#9>[B[B}YAcJŘg1,µX=<+V1`Řg#Jµ,B}ZIc"\1"Gk1Yȵp-ƀEcE\+ b̳k%Zp-r"\1"GUk1,µ,B}ZEcE\b Xk1Yȵp-r&\1`Řg#jµ,B}ZMc"\1"GՄk1Yȵp-ƪ!\1ϊc Xk1YzyVrkf 5wvu&X{V񔥩ej\WOL1QH;cVeQLul hI/2l1lcRu%>*Dm%u).b탐Dz;fwp(ȒS;~H%CdH ?3sSpI&uC)/ [ۻ^P|Xi.wE޴]KuX3ȾOYwzSP4/@Q)Ew-%&_c?T,niuMD$"s$etR |m۫D#Aens)R﬋fGjXތ.]i2.ߚRPl1b).zAL`ٜj5Ϥ%IfxƼ'Vg8pb1N \e'*a󱯓auqNUѕx| -* 5< -`f6_ קjܮU*c\Te'} 2w"ciIDz)S|<89E|r-sSe %Ր4_sq/~4֟lSADڹ<dv "<4B#[M5paǙQg '΋` ,Ě"9 ,Xnb4|2d1efo֏nxxWvT,ǢJ<иúv.ܕ]K%?.{o:Ppzda2)PֽC||͇|R=!] k 6J$sw+ᴄ, -OȻ0O귔LϭkB7teSF7E7scZ(KPv٬ઑSX7jҜeeTyuˡތ9S[<Pv:{ &>@RcۛPFGYp+. -uQy\`z=້z?X]z(9GHgߧ% w5ܙ gK R?h%;C&>|O'ޜM՜Xv!<*PqlR֡1$˷)cy<^S1Xs>[nk0́ڀ|L羐jqsư207%|v/S۹*UPb1{S3ǃ`sK>"=?<!N?WK6W @Nm9A@ -Z[b[%g5=p4:UOKӁ'N0wr&<f[JӅ4TN-4 #NZM N]LTW"̤cPM]f8_rF5Š#Lj*mA8hm.@R܌<8KPcs=ua`Fz 3k 63A/=Ʒ$lg9m&34dD߭8< -}<59|&myKؒi2zj:Lu@p;/njp |yX֥ \]i{Owoi=C]o1$pYJ]RDENB4#:-b~wQZl%2I830ykVK^.!&<:,},PF)_eݴusg2ZÏ=siBcޛ Gbj% ` ($Sܼaܸ u+-Dz9Իa5C,LF-Em/:+nRiȜÉȝ iluiq-gG!]C$AQ:0ٯ$q.0{N좆h^a: -B[0;Cr`DJAkY$)zJ}Gzp$-0a4i"Ҵ`&wQ!;90M{=0V݋;:O1B*ut񘝋 -M5 Z(zz-c]d! F;T;x^*ڜezS(1_%- -) -v-5pfQWJ8ʹ e -Nˇ"RyJ>͛J~T$lh}Xi'y>UB+UVTibCܵchNT_'qRaP\>u.3.,XK5Ǜ)=*NJLg!=s.k1~#3߭2JLdB  &157hԘ.l@(cEmly}~N#V"FMCh ?Ne@ !5W`zLOe;QY`ꅢy{ujW~}/u3[!dR~oݿ5b6j.>OTJ*N1 `Mt*z4%m#*8,?Ҏ~4*msvղk`D2Uv|}TO[<_*uuJ7'#LO Ʋ(L9oqYOؒl纭N͛Q< o{((!, YSi S{kAF`bԼM=mC՘ }hhIhТ*n uWs agPh!LAXRrYJ2mX-xsܴ%tY'/f,Ds6Dߗ _fHh3ݿzϯ~ۼOqendstream -endobj - -43315 0 obj -<>/P 583 0 R/Type/Annot/A 43316 0 R/Subtype/Link/Rect[93.6001968 663.229004 364.032013 682.908997]/Border[0 0 0]/H/N>> -endobj - -43316 0 obj -<> -endobj - -43317 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43318 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43319 0 obj -<> -endobj - -43320 0 obj -<> -endobj - -43321 0 obj -<> -endobj - -43322 0 obj -<> -endobj - -43323 0 obj -<> -endobj - -43324 0 obj -<> -endobj - -43325 0 obj -<> -endobj - -43326 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43327 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43328 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43329 0 obj -<> -stream -HWko_1ph΋$@Mb;0V%F޹hj=NĢϜ9#l{2믯~{hJ)_47mjjdjhըcYͷ~omݷJMr¨uZ$ }mVۤ -dRUTEV6]ԫLgOa.R_Y׬/}l 90pN;}OK;W銷6qgy:{Hu .QߕAkA]~ԍJ*mRI.sN%9 -Lj%X`i-Y #,]kice{#½po{+; w½p{/{ 9p 9p p_p_p_%p_ -%p_ -p_ p/:Ai9M h-Lj%s,@k9F,cĒ9X#p/Zk@k9F,^րr,@k9F,^րrXhX`rXh{ZZ˱{ZZ1bcĂrX= cĒ9F,cZ1bcEk-h- cEk-h-Lj܋ZZh-Lj܋ZZ  ,Z #p/ZkAk9Mh-Lj%s,@k9F,cĒ9X#p/Z@k9F,^ցr,@k9F,^ցrXhX`rXh{ZZ˱{ZZ1bcărX= cĒ9F,Jr* N.W"9_,jqlKe\yr_ݦV0L̮Ouiκf[n]_^;~nwu/L7l =9]%a!j"dOF -ZNh9儖Z^hyVr\h@Z*V JURhU@ZЪɤLj%8XhiZheȽȽȽȽȽȽȽȽ cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cĒZ!h;{ D=h<Z"c4-{r1<Ƚ @KށsFJ%r@9F#%w ah;{Ѱ(8F,1Ƚ?qqRY:o?7V?-O4t_Ua+ѬiQL;%h"Qzy5*Eʿ{"͎u}{ė1qY6 o>|14L -f'_Mݪ_zU8㢰]=;Jl?h)S,]-{N@iy_t{SК-|?β"pNׂ]ōkw7ͭWIͭ=pIOpSm&\fP[mx:>R4~'qu7Ѻŗ@_M_ (bLOl>>Ӝ/YsZ=#anɲ@ʑz9{oYk纜7nͦp -_ҼRg*fk>YNjUspذCkәV[m NVEjM}-^o>OC3vcǃ>7pz׫ 붝>jtp[nvkuX60a3<[ktwJ{:Q=rc{up'dhTe<$9{|T+#zIW_w%b4+tZn" /_|~66+c'J7G -ٛ~23?wExqSwnӢ tK8%WsPZr= ?Mda>LܛO$^nqp&?.w%AGon.V98xLWcMN]&!nC fPQBq1J*:`KzX^Yߢd$K(iȢ4CPG)Mԛa!8㉦9_R9 ޢ4!иA nPb孔͋/:.c?Zj -P?W byٱ_H -pDiX{pb.p/XDrW29//W\p#IQџ1 }TH`fB5ijIJ)D`sn{a{; ŪZ6ftk뫢+}8 T9B |K;7Y9 U?qg}3:T-D0u(hCHDMJoa vl˧a [ٵ>ME(zh9T97.:pfJF*S`T"ukH!l%CZsHKSm@ZA*h^s)B&ʯyf:Ki CAU*Qb%^J5Q -J Ji$n &3(ǖOzJkVdъ_?(_w/ YG ҧ | Op c!nycc 46Ybp15[Dy(& +eh.">&y[n2g}T!ʘjEt$q܉">Q\vaA# [ Voob8V֛NZ6~oH/:GLŋieTE]Kw2 ;?<4ep0敼&#݊ulm7Mk~)?uIZ`dpA>ؐY"JF#@V#Vk%׸Vz5$Vo}WZKK׋}mR${> ͉L&ɱ-FwXֳ[Xbs`Sq>tCd^ mNR@'SUh@vV'+q[~e6 -=$*E@]H9΋JsAI$*^X}^"JbPHtwPٶR]t! f{x/=f3N^iu24PUe.6*``#h~wm7q#=s9{a؜sATbW"@L셤Y`G͞Xj? Wz](Pj2%bEh]hpS,OA \BlI.r6C Yi>>Ff6Oӟd|fO~Mn˗8ã㍙0gp+Qx߿y7߼O -vNendstream -endobj - -43330 0 obj -<>/P 904 0 R/Type/Annot/A 43331 0 R/Subtype/Link/Rect[93.6006012 355.088013 365.088989 374.768005]/Border[0 0 0]/H/N>> -endobj - -43331 0 obj -<> -endobj - -43332 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43333 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43334 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43335 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43336 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43337 0 obj -<> -stream -HWێ8}WQ $j0`sAŴg2@ m+%$J$,g*/HG~_yp_X(,KekjrǾX_?=W~cP@,s9]uײ"C.#uy~+QD*3>|wϊGʋ5^P?w]hB^H4q̗*-0MG|c)`gc D -߳ceA!H$){A>D\8QQ rsw}{{᱗{鱗{鱗{W{W{O>!'`xS}O >#g`y3} >'`_x YNA!gE!gw}"TET+պ>D= -BPj]jZׇ(ZAPCS TET+պ>@u}"{j]jZw$Zׇ(Zׇ(CPCS$TET+ պ>@u}"{j]j%Z(BQ{OPCS$TE!`Vu}"{j]!Pj]|Pj]|Q>{(BQ{OPCS"TE!`Vu}"{Uj]պ>D=*BQ{OPZׇ(ZE!`Vu} !Tw}"Tw}QQ¬Mp -1xGq!ئb<ᢈR^\ vI)3>,[V6CN|\j#bA[]h]`yqر'׏lܗ#k;VVcٱ kO!DYu$]8s=ٻ7RDw/87z`]|3/1L2lK}ZcC~/[5-`shrz'A8 Sas"9Fۍ ҳVq$/pdq8}|GyY +cr,1*JFhiv7;fx׎Y,l'nۏU!B]v I5ǮoF'kzb|?*sO|=ߖ}$ǻPzIƒ{Wbgawmazky&J4K3^-獉IJVYf̏#%@mQo%joބ2E~iTjaMF[5/Þ`Z2|)joxǍyoQW5j:#l. PG'=a ]_P8&7f1bja93L|zQ{XeMĿ& -'m= ^N8 skN{#o1`uӜ<Ϗ7 59%m\&(?s?`CXPIM ̀yISJ#f[;[tWf.J(*,;(*[$/LSܡ5[]W  -eF܌O8[G2[-9ʊcVe@ymm̏4%k0|e~Ei -N:e0%MPY[6C 8KoAV'̼§XW㴒J.@Gv9. *T@%1-q -|Q[&i6bbGrRm9SY bj=|%kRߒ9gtE}JOTx0*/%!;9k ԟ_H}t_>+3aԲX|=_K*]^}5- S͆{{Mf/bs~缠hHO#hLSd:CՍɻyp쇗_8om|8u8=v:^F,Ն9$ũ9eg#o}sSQDorru2z E5豖 Y 2zyd>nwTpz}\oOESX4 ŖJFPFipAMgѣK,( S *WQNGA9g9aE}RQI Ok@j*-ס8͘蠅V'}`2r* L{4WB{<8LU]BU SNKAT[IU}T0 -T5ZjRդ8*0UUAfvBUtLUB!($Q(@ I*p)I90 -BU>RKߞB9ErQ\jG-P(-ed COi="RJFOާTQfD*&}w-E/'4ގSRJR1 EYQ} ESSEUU*SQT|-6UڎPT{0Uk(-%E]3f.QRJݷK7u2\UrWFGi(r+=TuH-D>VPzJ1U(r ENQWwP`{J3()-ȥړ(ct{(t(t)ô77B4`Pz__ޭf~pĶ`GeT07aeF- ,68˩3JY?z:5BY1'h*:r]b:A0i7> Y6>9 n g_ƈ<`3{endstream -endobj - -43338 0 obj -<>/P 1063 0 R/Type/Annot/A 43339 0 R/Subtype/Link/Rect[93.6003036 578.030029 212.580002 597.710022]/Border[0 0 0]/H/N>> -endobj - -43339 0 obj -<> -endobj - -43340 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43341 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43342 0 obj -<> -endobj - -43343 0 obj -<> -endobj - -43344 0 obj -<> -endobj - -43345 0 obj -<> -endobj - -43346 0 obj -<> -endobj - -43347 0 obj -<> -endobj - -43348 0 obj -<> -endobj - -43349 0 obj -<> -endobj - -43350 0 obj -<> -endobj - -43351 0 obj -<> -endobj - -43352 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43353 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43354 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43355 0 obj -<> -stream -HWko8_A`8T_z4ċb"ӱfe)#「duѢhDG=m^,bo޼{p_Ne 2Ԃ& bg% .MWsTM[nMߖk2X{8[ &X2%QʖvqcljvJhE}Y~ؓU$(N'biϖ~I(l8q^ΫncA:CAi3\-PdLb s Co0 2BHQm%G@v9Gr1dӹ8Y,M\] XP/

DŽSO}BO< >ԧSSO}F<,'Lb@u1d] Xk] YzCŀEŐE\+׺kZZCs \b"{k] Xk] Yzϵp!PVu1`u1d= -µ.,BZAŶ$\bջ׺|.,_p!PVu1d=Jµ.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] YzϵpmEŐw1`u1d] YzZCs"\b"{Uk] Xk] Yzϵp!PVu1`u1d=*µ.,BZEŀEŐE\׺kZp!Wb"\bջ|Yeb5mn\,d-A:)kJ8p.nW;{E~clclξVeכm}T>ڳ/A(lYi.)0bma :H -E"܎튍m坣L^}y.t]8ϫtWBg8ul=+ÊMEoZ֙;gy;IIƐ M}HӐsg+v] ޵A-7ezW<ÃEJ7)fVTQX5н}/-X1brh{![){u`c`ըy`,ߞGG0n$Ş,p9"p[ -ࢶg ф'Ӗj| }5cnQNhOnliOԇfWǗì|T'ؑzlOCUU:],Z< +oZ{0Fa*\YZ8* -YE߰|bC55T6О!d!Ԟt<6te65M, uQpG QK*ڔ+?q%1=ViȢ:ͫGi6U;d9i9˟qL~bcLng<OaV#m`!6Smh?~Or7Zk7\L+:g-0P#%Q%6NP*1'uEb<16!NfLsv2"W;9 ]po̤wyUP4E1'V!Onv4Sm:/+DłG?%(aZ]rul|s aȺ6JO:gcFʷm @TYs !DmSH'8[[Mء\lG?b3X?^+<*INNlAߤ*$ p$ocӚ[y?!6oe1)sT2843” =*SUQ2v}o?^^OWWOKp4Dsr>4S_?}nVJݝt w9v1ԷJ`/ *%ᶻe 3~;m\}P:N3u{~۽ŦuH)dI .?앎ݸdUb;R6mǟgE֩!o~j1;mgjhT;Tطad|/ї[˜дE+b /8f[->*_6麼- fP2k'ɿk0Fau,ؙRKa$1Ս}v̴>ΫC}"LM}ߛWn6+5DRuwQ([آkJ1=!)uѕFg8lىMeI$q链.9[ݓ{OS~yMкԾ_ :Wu=8 Gry>Cm#ZZ1mڌWtUѺ^yIRUBCMI03g2Z7s ,ns0^#0pɆēIXrɯC,6kOiz.LysGƾr4 aIxN4n~z7{rc@˨8!JYB -- T1nd nc~|4* L !PH= )o4sس֦1vBisQ@.FqU&Y\i1Vwx妧W^/4l$;B N­70 C@0|w'Q6=Gpӥ:oA$xA -gq G -g`aY˘TOv̸\x+HgۏrΡiNQQHljsLz6t! ԅJ(:^N\mB\[d-:G3HꞰN?Nhdn_U߯*)@2>O9͹l-Mm&BabJD"Uݺ(kt24܀#Qv,vX!!-,V 7W;>[H HPQLrV?, Ī`R 嗿^~1endstream -endobj - -43356 0 obj -<>/P 1039 0 R/Type/Annot/A 43357 0 R/Subtype/Link/Rect[93.6004028 312.730011 253.645004 332.410004]/Border[0 0 0]/H/N>> -endobj - -43357 0 obj -<> -endobj - -43358 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43359 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43360 0 obj -<> -endobj - -43361 0 obj -<> -endobj - -43362 0 obj -<> -endobj - -43363 0 obj -<> -endobj - -43364 0 obj -<> -endobj - -43365 0 obj -<> -endobj - -43366 0 obj -<> -endobj - -43367 0 obj -<> -endobj - -43368 0 obj -<> -endobj - -43369 0 obj -<> -endobj - -43370 0 obj -<> -endobj - -43371 0 obj -<> -endobj - -43372 0 obj -<> -endobj - -43373 0 obj -<> -endobj - -43374 0 obj -<> -endobj - -43375 0 obj -<> -endobj - -43376 0 obj -<> -endobj - -43377 0 obj -<> -endobj - -43378 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43379 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43380 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43381 0 obj -<> -stream -HmoFW#c9v 4/:hAE"QRKL):;W/xS,T#ιͬ￿zE^?L;co\U*o~ͷY2m{7_]ׯ7Яyή~zg.{dW1ΛeE<11 yťeaWfgM[^~t?P;cT~4nɹxӧmٷw!ݜp\CPa{$ңٟ~>7^9vlH]:iO>B~.UʍNzvi - Gv}bnvnZY̻r濧~_ܼg_7׿\7?|oӬ:w}K bVFd壭:}Te׏~gh6TU:\bg+GxS277'|>3۴O'']}aC7Q{4;wSa^6YyzM0tϨ>>"p ,'X`y VX`UU V X`ՀU V X`E+r)%k,%,-X`2eKހs\%zo@F.7\#`{ D =Xk,{z5r$kz5rKނs\%zoAF.\#`[{ D-=Xk,{ z5r$kz5rKށs\%z@F.w\#`;{ D=Xk,{z5r$kz5rIVT1Fwx&ju,3a`> tp͚pnJvwjޮoiSu+?=m=J,<OQ?aػ1mg4l8&oVgjo+ud&L7Cwm VJɩ_fz񮥳-dݘ|]*vp8X_ZN.BbަMVn؞[M7vhmght*j#UfHGr(vCtC7JemkiLJ&u5^߉t|jMe9FHU8un. cjLݟvP?VxzqimH=.(f/,J_@J_lE% cIñMOq5RpZni K_w=9Lm:Xt]`?:JGoJ+ f>L͋fW\Mm>+LP3vN ~rN-짻ae1?qW1԰^~Zlo-P`E5u;_RK%"َy^~ҿ8 |>:xр%?XܚcVCow3(!!Xpizܞ gIQ, -M?Yz%,[YB&gb9:,/T - 2"dINù-ćup?#J^2iXe]%a: /}|#\D7._)!bo躲`žLO)* F \PeLBXzƇEIRW*i y{h<~AŶP tCaݤMLfёaLӶ\USv]BDJ7{zh,iߧV?N=&=w%#oqQ!I lEomY6PXS2BFK1Y]я -gZlx#  D'?|mCmWM}qУw;?1@oUfృPjPYjANr"uFoN$#}5}(eb_zs"ꚋ -4QWjUuݪe#>8E3bo#XaTW蝨A"dUf" ?uÝOhs8B J0GX8MI3z N'F0)s+ )RKZ'ZlW4Y\xIfUٺr?}KnrHSYgBX2TSGJKYd),F7 -$62"ˋO~z>7$וֹŕb -dYhzfb7ؙ23%{d%'y´oƬARjt@J)|XById@SLd>m5N)^q%%v|K/Ɲ&tV%Kl2f.^Wd - 0fVyb8aB瑝$dXt9$`14bfH]A$z>.pn %r!{@+Qr#&) _̃*6Ig[y܉|c[N-TrڶZDcyXMz xҰK3':0D&4YBV~J7=٣ /e't!$ X-_qAjz uagX` -+'TOc -e*EI -JEh7|C(h̀dIWuA`DE:ۛ"6x?~ӗ58endstream -endobj - -43382 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43383 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43384 0 obj -<> -endobj - -43385 0 obj -<> -endobj - -43386 0 obj -<> -endobj - -43387 0 obj -<> -endobj - -43388 0 obj -<> -endobj - -43389 0 obj -<> -endobj - -43390 0 obj -<> -endobj - -43391 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43392 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43393 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43394 0 obj -<> -stream -HWmo8_2|ۡ(Ф"{mh\B[-$9i7$K"G;ÙC>oYݒׯ>ܽ#ys&w)"a"i$HI -RwRlN -\}-MۺI]W6:Z$d,!CE9 6¾A.^^VOO~*ŷ*N8f[]s߮F1<,} τ3(_olHʈ<A !HCp&=k3(?k>ʱT\]^x^x%^z%^z%^z^y^yC}>D؇ay#}䱏>Fa{}O>Eاai#um@ umwmBT g gֵS@T -aV umBT -aV umT+պ6@!umT+պ6B{j]պ6B{j]A!= -DHD͠| Pj]A]A]պ6B{j]A!=JD Pj]A!=JD͠j%Z(D͠j%ZfP{OQkZfP{OQk3(Zֵֵ޵ -Qk3(k3(kZfP{O -Qk3(Zֵ -Qk3(ZֵSBTֵSBT -aV!umBT -aV!umTպC"umwmBT g g4Mao2:Zdpf"}jrh>c4caz/DHcm_ǵp) LdBVoo$F0Hdfg3/$Ґ&ЭIU)۟qؕ`U@^e:26Ûg{;.2_d=tvZ$_r4](yVce>܉prW4uM֝FEb>hcMTT0s|<UGl}=4>ЋWKgTEuMO]m9y sk716?%yCd?.q Aęxf,euV!MK틑'rcW3Ow 7?^G3+ʞ i߂k:\J$6Gca+^0 ]W|/)7'F7ͫ -8kUVtfQZ)<+mMTl!f>wRB7Y6>˪F: :MwL>b_Ay,qpLp|&eVW>zW5/֐kasXoc5w}8\IƢ`&T(( ՌhOW-&0aCĦ:8ps} mC5Pϝf3n>XS -vpSc}2R2N[F -f88\MrL+* gRsNR*bғl  sCڹb*^xL2Oyc(|ŋGB b`uۻF,m4Shp[ 1/zV?]a9ggʲ{Z9cj?r?x■RnƢНI1/]-QJ?Pu(RוWc^>z< , o?oНA^@lÿ@'t5]ac3h~g ߺַZ_Ӑ5k캮چwRA&QV]a FK%\r3h&9MRV>/k|&ӘۻeJ3f$|Lz~&ӹj hmc@s_Im.`#H$U$Hmh^ +K>K{E˩49p>ޓ]y#쉍F v =}gf+SI4D)p)->LJ,ahg3J6(u)v44Nē~7p~0Zf^fk\Is_w0*x!,qMYD/-HRpV&>OauV2OHk" A]K8%k&Zhuw=wjLoN/Sls2 7 spP=t2| -|B*HS͌n蟕͚õ7;'3֖yv۩(]Ǽ@nY}6!&}=7i̙ s -\Vnv<:]c~T`KVfnȥN9Q\kkA>Te+w/re^fkfssĄ75x#])~9+'5PvP.++/$tÁ@M]4rP 4͆Ӳ -v˰`u# >AdU,``7gEZ,p2ܼe8Ra j &Jd|oZOY/.&bx\g#*ԳZenО -Ш#6iwF cl*yfe[feaE(ϓ%홦]4D|+2fv-q%s6^4I:/M.>IkӛGB& 4SLvWEcﺒ>Տp3ySl`6ytpw1JWETNyتƯ \&{\z:Ց90T1뭌U""7锥J73>wAendstream -endobj - -43395 0 obj -<>/P 399 0 R/Type/Annot/A 43396 0 R/Subtype/Link/Rect[93.5998001 276.928986 237.623001 296.609009]/Border[0 0 0]/H/N>> -endobj - -43396 0 obj -<> -endobj - -43397 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43398 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43399 0 obj -<> -endobj - -43400 0 obj -<> -endobj - -43401 0 obj -<> -endobj - -43402 0 obj -<> -endobj - -43403 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43404 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43405 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43406 0 obj -<> -stream -HWێ8}WQ tؼ tv 0`>d@mӱ[d~DJ"T>,^N{ O?=]~1+2BLyX*D_#q9VCbc'3t6׏2Go7F|Q7Ax\%Čs^ěS)4Lyxya`J,Џy0 B딳b'yۦ|5g.el"^DL5RLƗX7 >ğ>xGʘL!/=EerQ2ĔFp||QQ) }{{W{W{W{{{O i>%ا`3}Y>'`s}/E `_K}YA"I!*dE!*d}"TET+ >DJBPj}j%Z߇(}ZIPC>P$TET+ >@}"j}j%ZwZ߇Z߇CTPC>P"TET>@}"Uj}jZ(BQ@PC>P"TE!`V}"Uj})҄j}BPj}BQ!{(BQ@PC>P&TE!`V}"Մj}>DjBQ@PZ߇(}ZM!`V}(%T}"T} -ٗ,Ks0&z؈/:fጫ{Suހ*L yq{9Lu? p9GDd Ѝt fp5L6ud*+8_80AFB}:o)K=eyyl_mMo -q(GKsɴf2fKqQr0 bF?pR \$ƯNYr@q[$v(Vo{:˥+z"BBAE4 W慭NXS@^h|O}5|&l~i,rUފV;myhsx:2"Ϲdf||'s*qicT$/̻pzbX)iW'g-N cy3RF|?\fo1ba(Z^OlYUE!@ZO8!sǡ /"D|\(aLxhx@ɠ}X&`!Cᮍ$ȯ -\ZTKēO"="nKb@_ pƸ_͸Ǯ|nmkoir|66,\\I>n>/:ʾPNάp/0T"P0Z ӯv x3Ϧq'`J-[T5lo{>C|0hH=Mp:]v -'nv8LVI;e*&s4M,#mO}덋Nc]W]r+&~pkI^m-3@Ǻ(0]Etoϱ3vs(Ql+}feJ%"(FAłKuv~w-xX4E vUQzt5u[!̈I]dG!P^h|( Y;.KBqoF/oJ~bSoB#sje3jL߇3\)3Mcb,)lUkPFm2NG[dR w#Nӵ}c ,PWdv3-@3o}Ĺ$|9X!G\; -H4 @X -,'8}{vg=qpN8^8$!J"8m*W &UHJ2n쳬fT‹ մ?E lM8>ء9?gjlוKkQR]c 9s~ay1@#˒@RGm*f}ܩ;? vj֤m8ϐjBUhX[Z&*e6A*K{ Zڰ;kpjBzھ{QbƐʒCQQs?M_aO-"3hQ]bs7*|aQd&9~l foAU DT4H%-1Bx|WqǓ+Iz_t3jYO,<Ά -2v{H`URb@{$L\9q|QkT<%tk}wDJ![޿e<ɾ gP%KsS6x3ڼ_yb>!EETD8 -Jʷ/\q)IU`кسxFq)U&scX[څJfG&Yz,#i.u$-+P}7Xz, r0hCO(QSF7Uhh[푇& ,6}1"+*0p1P)P?U:4Ԝ2Ⴭin|ޓ,m#\^EYe\iQ0uwUWۼlQuq.sm}1xb"d[υo? <+F$77IXsZ3/4Y5eVtY)sYˢ\XmHr]:Th[7Rm[D.@wdU|6ʉ\*n[ƌej-e#yZ -ZSIQU52#qrYŦU6$EUW| cݖaz]0qjьU{WȠT5鼊aNEq$U2<,ϖdJ;XA2owgv8a/uӱHZn`΢6-%B0,#Yc}kܯQ׿d:={2{kM֋Nצ@"n\LuiݮUh(3z1R౳`cHE סc&4v3O9?lV-m 3b:;yɁVcECfjEot:zK. Qُ-V*\wq'#Lwh%M>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43408 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43409 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43410 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43411 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43412 0 obj -<> -stream -HWis_1]q9pVV\$e3˅/I(h9t t,jofV=~?R^ -&S*JJb#"6AnJ+Vy[~)^V.E[ UOﭺi|n>9e:&T* S5_csGc6=r\lNroEiˊE vwf6kqUdx4zb C)pڪ{eB3 ުˏZ s)~,}EqNF8&tD1dQ Xp ,nb{[e1Np{'w̽{ =s #>G}$Xp3>f}'O s -S>ܧ}&ϘLp2kRlX!CwO1` {!R Y{Z+bܳZ!Z!KpRkR Y{Z+bRK1d YjZ!KpRkR XBj),=KRK1d YjZ'b),!CwO1dqZ!KpRR Y{Z'bRK1d YjZ!KpRR XBj),=KRK1d YjZKH-Ő%guBj),=KRKuR Y=ŀ%b),bRK1d YjZ!KpRR XBj),=KRK1d YjZKH-Ő%gBj),=KRK1` ,^H-Ő%gBj)"!CwO1` {!te^gpX/|nQ Uک:w:|12ڪ8B -x9)7lq@:^>|RE6o3 ^s{l$s0Nv_֖뢹+KQ,٩ju5)yJ\~jcN,s_ þbw5/3_NefpbοWEUm]Yx`^EYcQןnf@Uݙj:N#uk,M[n3>_HnW0c] o޽N.חW(pbS ^σPս -n4Ώ)L`1-/hy-ϴ"A+bZ1XЊV,hL+Z JiVʴ2A+cZQ-r-!kQ XF2LZiYA2-+hBS Y{+=Ő%hBS Y{+=Ő%hBS Y{+=Ő%hBS Y{'=Őŵ(,),AbX;),AbX;),AbX;),AbX;),AbZC }O1d ZC }O1d ZC }O1d ZC }O1d ZC>bZCte~L'|n>9e:H;8UG::sYօ|*O2_ݪPjnE3FE 7r ,ڲ`,aoH e7d).' -54,WD-Ïk Lź4mƤ}SN:_wM`Ul|'85<4)<xr08tv VK_kwu_#{jUݗۢZͲo~0kp7x ~_JG:IFVjqon` -XP_TުO(Vy@r.^Cه63 ?OL7}N[V5ΚE:x4!)fDY@^O7,Kޱdl0ܚ?p>y -<_,9mOaщk},' loXtZKְ}ѕrӪZNlvi؂u)xp`v[훺T%ʆz~_a-#I IN7VÓ\4r28]׼67U _@^))QbYv0.Y9/EFq^Mx;91>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43414 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43415 0 obj -<> -endobj - -43416 0 obj -<> -endobj - -43417 0 obj -<> -endobj - -43418 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43419 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43420 0 obj -<> -endobj - -43421 0 obj -<> -endobj - -43422 0 obj -<> -endobj - -43423 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43424 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43425 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43426 0 obj -<> -stream -HWkoF_1h8c΋)M<`Q02e3$W{/E)ԽM9s8sp}O?yJ??},#2^B_UȝNRU*ZEUtz^5eW^VݦMꪍNөdQET *T*Kr5]F ~21ؠ͞!VeӪCg4]7]|>t &IϦQ:HΗ /#U&Qo`/1Q**\m$eTdG@]DEs -1c$!G1`YCVXԻ1<ŀe{;c1Np{/̽{>sܧO)s 3>g}&Ϙ\p3>g }{Y#b -{KH-ŐS Y=ŀ%bܳZ!C -R Y{Z+bܳZ!Z!KpRkR Y{Z+bRK1d YjZ!KpRkRl9!CwO1` {!R Y{Z'bܳ:!Z!KpRR Y{Z'bRK1d YjZ!KpRR XBj),=KRK1d YjZ-#/b),!CwO1dqZ!KpRR Y{Z/bRK1d YjZ!KpRR XBj),=KRK1d YjZKH-Ő%gBj),=KRKeR Y=ŀ%b),EQxQsN)$= өJBMчryTjx欙|~3>1ժl&/0&d=_lW^v'KՁЪCxZ5Z^Vn]W{ہtSu=-ذb> mս4ƘK\}mBz)vKbz?Que-A)zu/׻Y\.w̓`\>VڵZ]Mݗlڮa۲%=U_x&Z~pqv ozh~Wn2_/o纩oت6% ޞ nš1XC} .nhlKllsKt5.s:U.9fYoK5e{D,#5#S'[>ufGVi#T36TwϹ7ZAvՓ9|uTz+TD( -Mn{Ssl\o$1]$Cnu?uo;.$d&lRhK0uVt fⓐf.<0K> fz>a7ڟȨԶq#r.n\ai6v1lr2xf*]^oܝM`c֮X76Q@p;wNx4bcy VZĐwǨSju.lMW,'KQ|, 4cJvx;\m!BzO/jhUAVBhJjt‘!vZ]Mg!~2o.t8;6 Oo!Np.vv7}">]g_puO1dq-K{!k<GM8?n'Ŏ_jv718ռ^Vf[@p3Ȳ.SyR_MwB8x69Q.WÕp۲I?8/[d$0L|Q_G=v|i퇭W]oa}]l"- u{0*]6y9&G/'j ?N!:GnO격6q{$ sm`jyݵU75H,D2xjaDTg{~P~cu_&/aL(eP)œON}?=\$h':/9 -/&X.Eś\?˝.U=L";vgl{۶8>¯ -TI"!Cnh@D-,([:ݟG#(c/oV嚙]Мr`S:&qzR|}Z9ڦ=,=L%ˉRљ!J%nH7kX9 _(:pW%)9X7#WxyZҞfe-iFxZ1{Z1{Z xZ xZ)zZ)zZyZQ-ZԆ^`%-iIFKzZ Ԇ^ǽd6b<%=q/ -{pOmhyK{jC/F^2Sz1Zע6b6b<=q -{pOmhy+{jC/F^1Sz1ZЋW Ԇ^ǽb6b<5=EmpOmhyk{jC/F^3Sz1ZЋ Ԇ^ǽf6b<5=q -{pOmhy{jC/_,t?7ZtΜ.sB=?ū?){Iu(۲uC&1RO%f:T HD[LQ?H'{$¾³y|llmmuY[DSCZf6)%-gxTS>h|W{q> E!\%4~&uJ'v`t)D]7ǷinMJc߆Ё4Q&L(NIsE-֛( KB)pB%t,0%pn^Efn?,9炷KwQe S'8 `yt4(i$qi&^!Zhu 6xA) V˛z -.4J'cut-jH+ UAfSy9%i[7"t2e&R~ w(t&:z{|mdi}~ۛ~ -UR~{]ԃӄ m&{:*x)g6&NړAn#M4NɮmF'6#^mUbUh; *8:$&p N(-R'3ܸL5 ŵ[_V` n5#F:cwC &Xb[ԛKaYBfARcuy% -N0(jh$Av'nWkuYU-/*.KPH-2~\,Z,A95_EMO[Z%bңpTP\ݢ 8e\JCnp+Ѱb5T :U3h#Uu -|1ow;\nW8pIMSMGxFύ.:rӍ+t( Sj6U/"%PѤoCLI%p=֦<yuy4Q=].lS[Ezhv`Q0 UV. -$*&؁W 91?(lSC27f3p%%u'ya"()+P43LG`,WvΊ1׵7փѺeZ N}u\Wb8?b9>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43428 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43429 0 obj -<> -endobj - -43430 0 obj -<> -endobj - -43431 0 obj -<> -endobj - -43432 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43433 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43434 0 obj -<> -endobj - -43435 0 obj -<> -endobj - -43436 0 obj -<> -endobj - -43437 0 obj -<> -endobj - -43438 0 obj -<> -endobj - -43439 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43440 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43441 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43442 0 obj -<> -stream -HWn8}W زx  &ؙ]; PԴ[]z%oD) VuH)nY#޼"ϯ߾ p_X0,Md k=U,zoF}U -na^=*g Ys4ؾ v\]O(Eq]`wq{FݘB>Xe5`OG7`D\&a(gQwAG>D\8QQ1rsw}{{᱗{鱗{鱗{W{W{屏 >&`{}O>%ا`zS}>#g`{sYN5 Tw}"Tw}ٻ>@u}"{j]jZ(BQ{OPCS TE!`Vu}"{j]պ>D= -BQ{OPkI!gE!gw}"TET+ պ>D=JBPj]j%Zׇ(ZIPCS$TET+ պ>@u}"{j]j%ZPCPC!gE!`Vu}"{Uj]պ>D=*BQ{OPZׇ(ZE!`Vu}"TETպ>D=*B bBQ>{(BQ>{ׇ(}yX,lv} \ K`?8 hl; _\8XeE]?#> -xۗ̂'"q]}tQYྛfv`yJ ncX][?6xxÅQv_}+c -.6]7O ɂq -y̅=nУ)cR#b֦˱錜IjEptl-x\“(LOqs8\c_};N&;(淍1K=IhTzZ|2(xEӥPaZ@*1nib*ZEdbFkw2i}2ЯMvjiL"靊#ņt,XHvuY*Tt0|Y[0 Y+ú$6l0dj4kM#B)btKSOܖ3kq  Xtӵ/&O,ڤY( nTnUCp%Y;q:}6/64nVN_0tbN14?zit66?6Ql(*Kej}ژjR{^w!*”C\f _Žp8L;t^vMVq?Nnthuob.|Ƨ9]Q g˖D\nv $U RڡM] `M1mآţA ,Xeל4M 8vA'g m5ܫͱ8Wv 2>}&,fhF0w9 ߢawx"v+%P?T(Jck$DS`weyR-ֽ1Lg4ׄƗ\/̳X=.հƁf"N]G|^ܰTIhLܷCE,Ѣ50UL]SV 88OYqn -$?( ySMdztIa{tCvN+d_ƫ7R߯ؾIWX*QNzUʽ]^]6Z`/˿7 O=g8p˒$tnx5 иO,8_c_v8^1Fjb_ޝ=+H=yX~eӱW_N}u%T67T#tfFGJrq뛲1ь#$&%u<&W --lbn)$GaLC(/] @= svV̭*6v>/P 396 0 R/Type/Annot/A 43444 0 R/Subtype/Link/Rect[93.6015015 429.229004 216.709 448.908997]/Border[0 0 0]/H/N>> -endobj - -43444 0 obj -<> -endobj - -43445 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43446 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43447 0 obj -<> -endobj - -43448 0 obj -<> -endobj - -43449 0 obj -<> -endobj - -43450 0 obj -<> -endobj - -43451 0 obj -<> -endobj - -43452 0 obj -<> -endobj - -43453 0 obj -<> -endobj - -43454 0 obj -<> -endobj - -43455 0 obj -<> -endobj - -43456 0 obj -<> -endobj - -43457 0 obj -<> -endobj - -43458 0 obj -<> -endobj - -43459 0 obj -<> -endobj - -43460 0 obj -<> -endobj - -43461 0 obj -<> -endobj - -43462 0 obj -<> -endobj - -43463 0 obj -<> -endobj - -43464 0 obj -<> -endobj - -43465 0 obj -<> -endobj - -43466 0 obj -<> -endobj - -43467 0 obj -<> -endobj - -43468 0 obj -<> -endobj - -43469 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43470 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43471 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43472 0 obj -<> -stream -Hooϧu+fvH7]5TmC!"^y;U9N֝y4y/eChRlM]YͲ(Ugn's{^狶[ϧf=/~zզx9*FgFE)M6t/ovڵ_}m׷>>S);|\B_onl5USsWDL? z5~*6_+z -k}ifȡ>OE{uI2Y3Y0 -SFsS P2s:Ԉ W=HU>A }P#HUG>IO }RHT -T -TUUUoToT g>jVjƒJ)^jDJ)^jLR# -VjLjVjLjVjDJ)^փJ)^փJ(Z1ҫzZ1ҫzZV+5@zZV+5@zZV+EjƔN/5jƔN/5tzV+5@zV+5@zV+5jHVjHVjFXԘjXԘjXԈS ZmS Zmڢ`RcJQ`RcJS:ԈS ZmS ZmQ`Rc -W`Rc -W`R# -VjLjVjLjVjDJ)^6J)^6JmQ$Z1K(Z1K)|1tSTz*{U鞲ur,:jV^5WFyeW^YzR{I)%5^Ny9唗^^yyW^AyW^QyEW^Iy%WT=x{{mRRzA7 KjLi/RR[z@Ƈ|z@Ƈ|z@wz@wz@sz@sz@Gnz@Gn%50 T#0 T# T# T# T# T#h T#h T# -T#ЪƔG}6MI~.l4rƙe eKOȌz;kfڏ''֒v}\]J[Mfӭ\V{llC=;_vfrj>驙l}-]Sϫ 1MiCܬa)x0]-7~͓ e(˛UVz)56Ͷیnvzw>ntƑ&)~wu<^`̯\W!?#NvMoMmjwGu|w_Úhf7O_L+L6>iXteL{ԕM};[QUMOGҍd}SmsG/opx*KԘ6mz5ekWY<nҗ_Mk^_l~d9>"{O,j ~epACS\t@dC)19#2B dNIl/^1`ATH6ƻ"8gxb2_.Eۡy&GgmG?3|Yq6T:5cCL߮G:UFwzh2-wa?=7%lنy@kV|Z*we.Ipe}OJz}L>\MYv9J< G'wx5t$yz(]yO;0STT5U+xʫ^jW2+,|ƔQx9倗S^xy偗W^xWP^xEWT^ x%啀WR^RR# -^jL/{z/5SK>K)%5@RRc -x{1TԘ^^jL/z/5}SK>K)z@RRcJ{I({1T#Ԙ^^jL/z/5}SK>K)zARRc -xG{1TԘ^R# -^jLilsqֽ/G]xhvrC@ .#߉N_m׭9󹘯 - -xt[/{78_C ZnZNc5'v~ܯޜ2?bendstream -endobj - -43473 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43474 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43475 0 obj -<> -endobj - -43476 0 obj -<> -endobj - -43477 0 obj -<> -endobj - -43478 0 obj -<> -endobj - -43479 0 obj -<> -endobj - -43480 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43481 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43482 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43483 0 obj -<> -stream -HWn8}žͫ.AmL$ ;ڭL[(DV{CyXS$/~͚<~kȋ/_ - *`.$o.ʇUr_tM .~ ^EʿJI $0&XL}p.+rLhYٗCD:j,R2g*%*0;h92I-$ i4#Pq ʸK -TL989f!= M - =bl=9T3F$H RBH,6>Ha\v1I g6smG96ιO޵J ^ ^"^"^"^!^!^#^#^#>D؇az#}䱏>BGa{c}O>A{h]>j]A]պ6ٻ6ٻ6@!umT+պ6B{j]պ6B{j]A!= -D Pj]A!= -D͠jZ(D͠jZfP{OQkQk3(kZfP>{fP>{(D͠j%ZfP{OQkZfP{OQk3(Zֵ -Qk3(ZֵSDTֵSDT -aV"um@!umwmBT g gֵSBT -aV!umBT -aV!umTպ6@!umTպ6B{Uj]պ6B{Uj]A!=*DmhD͠| Pj]A]A$" ͺ>x)* '&`4%IsYށ4$atnҗg9P8dbn ȌgHj}юpMUْgUf۪U~eֶg_w0OM#eLDX=|"?KƊ -(sG^Rn=kZEh)h=M6߉BΎ'tD9c-=ՇZ4w| t8u^heۖuՒ|[VlVarnav\܋{d")[M55g2ԉхϧKN 9xLǏGpo&E+7GUL;;+wŚq7`vW(ֶնShg2nW|Uww#3,[1XTlD>Gdi8 5.usRPSơc\uZ̶?Gg!RRq>hno>U/BrPͨ#T?+ZY5#ra} Pdtܬ/^(1TLhlwȺ>9e]P > Yhj!fl6eEqwx-$CF2:+)b3}H)BꍅVnAh܌M6HM0zLR4N{_e>L|Tdүo_t$/Ay4r +mD>?44ӦXIN86FMDZŘP-1JP'ss VÖ@;pNv ë -|1\mKJZ]nX8(߿UZ^|;*~kݡ+>VXM$GcI>+$w -RUC3T-1s\ewO\M<$4R1+Z0S,gA$[l¼A3۷vm_94ޘ}.7#f;:MvuxYX졬mIؽKG6['zioV+ w 21J u_~ǫW_}z"ΐ-0l@xжE_g2l+qޕE<@ME.Bn3j.b>wʙjx b8g308v -)vY3{_fg*5C:fqn*)b*yzL b^UVfnF{Êv0nU(H07/n҉Ow^W,4-f;%r -+o^%$'l^$<¾WrMUYίWח)6)%Pj-OCr7ؠt''d .lQO1τfnqf}tx>p Gp+q|o74INFhz~PH<`ϭC'8*~7 PNL9)M P~SR9FQ,yb*gId>s͊yXWC;\ 'x#>M_9zal}p<τ& -b -k϶4Qm/P3]cxLOHvUj -A?U D ?YlC_mQ [IOb؀mm7$Sd#)>μQ:#Sh^SP|Z(jOelEKӿ^ eRdJܹ` z 1?sdEa`5mƧN1@;6m6眭Fs:Oy5u?ôteiftS *2eE`^úW 9' |ORiK n<ӹTOçb_6AO/*k+'j_ -5`xc]t`}ԸgǙz܌\SߑSHkv6uz.,Iv`dPT+0sQ )'NjDG1:vnIZɒھ톏}lh+$Ll ݼ:K* w ݠ!'Pv+;R^E7$z tҋr?p/l'|NT?Sul_u7~,?ؕMG'_ -h,s-䆝Kr8_atͶ js[kVnCd-VpwxTxN7?f's\{%HCÞiz`5)y*Λ@t@b1r?<5m@&uglXfj3~eǧ292JY@8"=K)}UC'C>ȡ>MSRPj>,tˮoL26/pS-v5&pg2wѼ3S9CgXtY,MGl]y)$iSo&CД,5Lj{#긭M |0a(b"y(9s")i]q"ݻ*a3k8$J߹Y3*0I+Rzȡ=%0o! gvwi6oo/j(g(=Zb^Y!")@iO/QѡB_pjr3&vcƼIX!-Rns&0Qm -y>׻7߸LzX>v^܌U{Q* .0]xiǫR ޻Nu>:F y3ll{òox(ot(/qJ0IkZ^Zf;.,(efT0o^KJ!XJ? sP(O-eswǭQpE <+Uv:Bʐ͇WHG?&^R2-yfHg̝Q,Ԉɇf$j$8~+W+;{])~WQdw!Ple.q%Wq%WqWqWqeWqeWqWqWqWqW21B\<Tĥ.qiKG\ZtHZ=JtHZ=JtHZ=JtHF=*1HF=JtoHF=JtoHF=JtoHF=JtoHV=*1HV=JtoHV=JtoHV=JtoHV=JtoH{#Tc@ 1B\: 4 6]^:ڝEy>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43485 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43486 0 obj -<> -endobj - -43487 0 obj -<> -endobj - -43488 0 obj -<> -endobj - -43489 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43490 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43491 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43492 0 obj -<> -stream -HWmS۸_s1׻;;%{ﴝqDpױ؁v>KlKOq; 9GHM-ɯ %vv>5mZ&MV̠deX$!ɭH2y<ͷZ$&8y3gdUgqZ F,>P$I6>N".<#G̡}9| 5A`*J/0wـ͇l& `ԋK0o n2L,JCK_-%1́/?F Ԙr(rb˩,Kg)d9KnYyC3=C3=Gs=Gs=Gsͽ56;{Gs ͽw4.ܻ{Ws!=ͽ4{_s#}}4^ˬVCRbW1`!U1ݫdU XHjULZjZ,ĽZVŀV$ q!U1BkeHjU XHjULZjZ,ĽZVŀV$ q!U1BkeHjUlmp$*&Y{Z,ݽI^ŀV$ q#U1BkHjU XHjULZj9Z,ĽZVŀV$ q#U1BkHjU XHjULZj9Z,ĽZVֆV$KwbBRbW1ݫԪd!HjULZjm$*,$*&Y{-6Z,ĽZI II^KV$ qFRbBRbRk#U1BkԪpԪdU XHjULt*&Y &~z8 Z0bhÇ%pmLGq~fhiD;0ﹻxQQG]4(5^'].ѱM'KQ^QU ŠwODV6@[i;mC$k4METG÷@8^9id+{-=fOVr9>Ԫ{'ҹKUQ,/\[iڃ+R>*ɷd'У-yu"e1^HHx؂loiLLR C-4Fu+"q[~Uܴ\jE&gžDgޤb I`nɷeQkfޞl+Omp!4-)"JdT* -(1ʖ)LtCOQ,MsR>ъ-QCt2?]gofW0Y"dɋVsͣ2<6(إeOv/¯Į -޾ ]r3H?t9I}MMVy ۅDۨ([Ce혚HVFa:^Os+4M+ml@ۧ"djch%C%) h?@zVgl$nD`߃}̃mq6QQ+hn?Jsj@5uW.` 0V˧\O5tdv.BX4VB Ǘǟ<gw}8Z&!\ګzRTd/_ւuz~;|܋Eeˢ}U9S^h3Eo tsa|z5ml^Ljon@{rn0c T7ף}t:8Tjy /==;=t3WԷ1Yiׁsr|r' 6Zo.|a+.aʗB zƆ^ w5n$ -?ik ~Z]?+ 8;qu!Sj4nFe}Ub>&0I&Eql*:2S̮&WdOQ -ocIXFUwgc]M/m>ꒋKwz -*ʮ"?pڸxavL>Nzg1r I &NwE.6"N`pcU>ީދ#w݌y^z8LWT%YV|<>D#_rl 7;ݸ`W\v?!Msy~@ܘ" nݫ|_!Jj(Ox9sMS_Gxȶ7(vRu'vAR8{?6@mԗiyōHᵮ/X[P%@.Oή_/#_oR7Z|]Af'͋ T&#;5=cI,* A S.Cp,]Uk.(d%>1j,i%t* g=Cs~LU*)RY`"ȪG؈b`"D7 "LJ]fziQ!0Hq$X`24BQyi%8bm4=) -X/ht:s*p!endstream -endobj - -43493 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43494 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43495 0 obj -<> -endobj - -43496 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43497 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43498 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43499 0 obj -<> -stream -HW]F| /`|c ?qr1 ]à%JD$ʊuIn &U[Sv4Y:~E͛ih_TV$7mu&JKFE۪|ߵaTMG^EПjyxH򠩊T]ݦm+NO3e ?N'd*Tji^psN"3T~Dx]`ʿE61t)U+y'&. F#QO8:D1dQ XZs ,]knb2{a2Vpo{+̽; s 3>g}&Ϙ\p3>g }/s_ -Kܗ̽{ YfZ"#b),!CwO1dqZ!KpRkR Y{Z#bRK1d YjZ!KpRkR XBj),=KRK1d YjZKH-Ő%g5Bj),=KRK]dR Y=ŀ%b),bRK1d YjZ!KpRkR XBj),=KRK1d YjZKH-Ő%gBj),=KRK1` ,VH-Ő%gBj)Z!R Y=ŐS XBj),=KRK1d YjZKH-Ő%guBj),=KRK1` ,NH-Ő%guBj),!C ,NH-vQ&b),!CwO1dq>;.z Z]VݦmoftOT(oiU?oZ)tt`OA.ӽnXׇ ;b&ܼLN̈́^WH~&. ԉ 1> -<wOJZgFxn@:Wx2I3_LW0}g2Z4>tр.aX[R[2rLNp& M2OWإlhkxgLgFweVmO -mt`嶮B L( /\^d/k_BK3M*,L=U^:5mߴ婗S'+-g~2d!,u>M/-rꜞMwsy\$_:n@xڧ)(2f=Du ݺz0i|xܯnYYn04 lai{G|O(u~e+,J`4z6sNqL?:J.a[.UA ؤ´OGHcB$c7ak_B6Gko=~do9vUoO0Udm@6M?IaM -^UIon/I6R{i2nlxp8'?7t ^-.LmY9፫lNt6^ vMxwNXѭ"ʙ|WwLk]ِzWgqv[YN6;EbDn0^̖2WtZf+-V6It`c&^CK~鹿qơnx.aJiȰJ[6g=b1 5;DVV8CnMR~pzEgʭc3_n $&zNywZgJ;{]5G캏OY?q?w{3o=g /pOɃcVYA*ΗpR gÑ7JݶdhUCmÞ2y, |&!6[~{o q̯Ӎ&[gZL鵖:xh)1NJu\cX1|R-tv_>Kx|Ƞu3$`i9A1-'h9 ZiVδrA+gZU0B*V)hLJ-ϴ婖IŐŵ(,-hi-ʹeX),AսbX),AսbX),AսbX),AսbZPC -uO1d ZPC -uO1d ZPC -uO1d ZPC -uO1d ZPC uO1dq-K{!Kbu-VN{!Kbuwٶ6nDQ!]YHd]BӖ[X[F3d?99:Ȋ=B =B =B =B =B =B -=BKx-wtX8Z{M&~h7òQѫ ;O<:7h7{*OyCOťZ.x?rݦ:SYd=K/+zWכKBדzZOT[|Ϯު͟[V?}VTca]-_qlL]U`2e,+X`UVX`U -V X`9r VX`UUqe-EW-J+R+ 3{EW-Yt5,{EW-Yt5,{EW-Yt5,{EW-y] ghKy] ghKy] ghKy] ghKy] gh =Ϣі`,m =Ϣі`,m =Ϣі`,m =Ϣі`,m =Ϣі`,mqYt5,{EW;o}Q l )- k}RWp(gWFO}hƋ|ݲSyVhW;7~fYpi8C[OQ% >||PUS~IY*{o4⩙~~"ץ\woG&ӟ3L>7pdzC$-ϔg.lܡkY:~s /ӭ{_Mnwۨei%ܖͮMvJ=@uZ}wד~zendstream -endobj - -43500 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43501 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43502 0 obj -<> -endobj - -43503 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43504 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43505 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43506 0 obj -<> -stream -HWoFEphɽn.A}6b*Q6}O$ =32]/O/ޞLz,#.Aş)_47mjV͓L=$Z5*9}_Ok}.fVf&9}sc*y]%7JjxL*RUd`\v\}lOwm42N,Fj_ u{zw&NHq\ iAI,z"s4&Qߔe|/;s* 6O:YI$=`$sN8:1bq,,4ϱ2 po{ [Vp{;^=pυυ/////>cĀrX=" cĒ9F,cZ1bcEk h-" cEk h-Lj܋ZEh-Lj܋Z 5,Z 5#p/Zk@k96K,h-Lj%s,@k9F,cĒ9Y#p/ZkAk9F,^ւr,@k9F,^ւrXhXdrXh{Z Z˱{Z Z1bcārX=" cĒ9F,cZ1bcEkh-" cEkh-Lj܋:ZEh-Lj܋:Z u,Z u#p/Z@k96KkY{Kjq%roA9F Ah[{ D-=hDZ"c4-{ r1>Ƚ @Kނs -%roA9Fch`Z"c40-{r1Ƚ@Kށs^Ƚ-{r1z}Z"cD=h;{ыh{gYJN(I\>yT5K?5i\N/ʴN u -\bMZ%_0IlnjVwS]gשQyyw_/>.;Q&[T w-LGE;Nպng|nE;{_乞ѹEHMvK~>:9dYQErK^ $ _k۷km 66dDLeO /jgG70Z땾P/+uPF*en{g=|u2Du{^bYN.9@){$kV!449*ް} @+l2mט9XdmSzh,rF0F&H.L -u~rm 3q )fFL-#ab)Rg 02 )i})O'ZlM `Wnxms8 -CyqD2C߼xu1hFkq>h䰳+wflyɵ=CrS H@nϤm1aTѱyk#ԗ%)Xk饋D&xQ)̶zPk>N -y܃Uځi7?`LdhﮐXLTw 8 I?@}N -mb&xH<'X|m1 H g;kV۵63]mzaa 9ȍTf{c69cZ0?,iv}>D#5٩M/:cL262}Xؒbڒݵk8RV&lє A0X.P2ѣzM%!݁GkY8Λ>y'7^kwyδUM5nզ1S˂!ċaF3r-)gfF[jRq5xs&)@|A۴xEDkrGG:Cn.~C&ͽc{ۈ44"Y{ZٹI0ݿ]̳OAݭOq+_PQpPǥ -v0AUmbpwLi"1(Yho8jFDWp=KS9- s:8ݡ]s1hNJwիi#endstream -endobj - -43507 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43508 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43509 0 obj -<> -endobj - -43510 0 obj -<> -endobj - -43511 0 obj -<> -endobj - -43512 0 obj -<> -endobj - -43513 0 obj -<> -endobj - -43514 0 obj -<> -endobj - -43515 0 obj -<> -endobj - -43516 0 obj -<> -endobj - -43517 0 obj -<> -endobj - -43518 0 obj -<> -endobj - -43519 0 obj -<> -endobj - -43520 0 obj -<> -endobj - -43521 0 obj -<> -endobj - -43522 0 obj -<> -endobj - -43523 0 obj -<> -endobj - -43524 0 obj -<> -endobj - -43525 0 obj -<> -endobj - -43526 0 obj -<> -endobj - -43527 0 obj -<> -endobj - -43528 0 obj -<> -endobj - -43529 0 obj -<> -endobj - -43530 0 obj -<> -endobj - -43531 0 obj -<> -endobj - -43532 0 obj -<> -endobj - -43533 0 obj -<> -endobj - -43534 0 obj -<> -endobj - -43535 0 obj -<> -endobj - -43536 0 obj -<> -endobj - -43537 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43538 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43539 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43540 0 obj -<> -stream -HWmo8_ -*^mh.I(kYYK7!)ECr!u[~t(~O?gB'#S$QhWmgi4Qn~7мԷݦ5m=Ekf7|S?{7ŃD4_J$ʨ><-y;M^Ϳ[> i1>lzCD02)s5RnQ}tF4vm^}\%y.n3t -c&sDFH'>FwhJ%@ivVgfeV)CNI8"Ub -YCaXTxK2e^2e^1U^1U^1U^3u^3u0M0M0M>cgQsF}y>gQ_ F}/edi)$Z!+TO1`1BCVbb\K1d1JƵC>pd\K1`1k%Z!QV2R Yq-ŐŨ\+R Xk),F}Zɸbbk)Z!+TO1`1BCVbb\K1d1*ƵC>pb\K1`1kZ!QV1R Yq-ŐŨ\R Xk),F}ZŸbbUk)4Z!+TO1`1BCVbb\K1d1jƵC>pf\K1`1k5Z!QV3R Yq-ŐŨ\R Xk),F}Z͸bbՌk) Z!+TO1`1BCVLʲQ -NE;{7ŃD4_DjqxY&Yee4ogbw5~ʓBr$u546z_q[>R/:1> +o'cT&n1 oKmDDEt:+RSz)IV?Bݼpw% -2~5C=EdvSar+&*Ms=IiN׏js+r9= úvAQV(rn{j.{йg\/+>:뭏<=H_M?4ۧk\_󺣹+@ҤySvFW086{kdNcNѪEݰƭ+(4SbJYu;&NdˉRm=Z)q]<"+ii˸sKٝq';-̯ڸ˅ iŜŔyw\.ىx?0Y]5CB m#(85rXYrBgCg%]lFRA/?=|׋{fYq&5kɭDyVRb<7[+ʝlPd=Oű UFj'5W1I&x6ruq) _Hq&MRQ0>jRK}RE)G5gZ:9plq1$["Uʫ>G)sBǟOL,J%Ȥ:p|~xW&LKC2綻(B--l6>\TPh. /XH%X~/J6qUՌ6qfctVN6Mhw1d\ -JTxջڏZnֹfs{l"~P&(uܙpYwpګ:~vClᕞzFAVfנvϖ6m0 eQØv|/`YK{v3VOwHDwC NĪ:qb hRxz:V4g;TXWjw,n -ajA>~/#Zn~=߄7agVaNT 8(5pe6p=s>6K[dpJ\."I -:}CK")q`m|d 7<ú{ˇ.$7=Ank~n|ܿC^ӴuquH`4u/G -*5q=f\Hddt]:\Ǯ{q=1ޠ|>\L.~v߭ zrvX7uXc?Uv 2W &.p9G=Y£%nYV}5Ѥ6m)K׌eH. uҌհZ."E96H~o'iYw+{Bif1n71_\c7/t5@57+beg9#3";oO2ͧw2#r'Q6XPC\8k<=kyl:<,+i I1c"йn ~>Tp OחoU͊6qȱYI0Nc[?{_,#̯ |'cp]=?ۛv͸ #6#/ W:><=2/KC'hSVSi٩8/ն D+TE.\AZh06ln}"&O994 ߃B*e|!c&Fl/SήIw]h[5L -m%Wp嫷/)"xk*}Yi)Y:q<-R9.wg"l2Ad 5AJz$Smu&yivp7\9i@J|B1%SuKY$#aȁFR&$;yrѸO]m"m&6`tPlVf MaUYTÉʵ+elLSiRoٞ=F1 B62"&,h*4Mˠ)K::TYZIƌᖦ4ct#>b;`3Α==v,BH2<𓐓T߅UM"JK01ZʹY|͋YNU.cѪʃf5D%w&40&m4BʒR -gfOjڀ%_qvw -(ͺoR{Uh` O]W&$~$̔x*SDyF)Oo3.'x&+/(*s1\wA9~۹1&|eh}Z1E ̗#TN:G 4aԱqq|cJ~#(jz.W~ytOgA!IVHw8Z /3`<8Q -3сB&%y)z=֌޿ΥN-+@,qg3NJ<)mF$$ţ H8ZUAL3e|XkXx7>!Z@ sYZg\ζ"l0' Fu`h(2B "o r^&$hbJ$%H`2Ds3T)*B9%Z·JYRKS7KQOpPO,1ξcV|di*=-6A!ң`2uOKxD Ⱦ C"#:6^fb1t<_z}=΀ׯ}3xw! 6f!>> -endobj - -43544 0 obj -<> -endobj - -43545 0 obj -<> -endobj - -43546 0 obj -<> -endobj - -43547 0 obj -<> -endobj - -43548 0 obj -<> -endobj - -43549 0 obj -<> -endobj - -43550 0 obj -<> -endobj - -43551 0 obj -<> -endobj - -43552 0 obj -<> -endobj - -43553 0 obj -<> -endobj - -43554 0 obj -<> -endobj - -43555 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43556 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43557 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43558 0 obj -<> -stream -HWm6_ъ/ziܺw`i[lm%9͈V"GNz(Sp!ﲪa?t,`?sO+ #H`Ŏ^vg9.ɿeQVA7UfU]lW{VHj$`)KaN [ s SS{܇u;fE.KG>ktuizp y08˕<X+O3_!g5)`2E 4 -KC@: ۆ(7m.ʲ!*$P6w] P`/`/`/`/`/``!>t؇aC}D>rac}L >q'aS}Jw4 ڶ'6Dm6Dm\ PjmjZۆ(ZAֶPmCQ TkEwT+6@m";jmjZ(B Q{GPmCQ Tk$Tk岷m"Tk岷mr6@m";jmj%Z(B Q{GPmCQ$TkEֶ!`Vm";jm6DJB Q{GPm;xPmC޶PmC޶!eoEֶ!`Vm";Ujm6D*B Q{GPmZۆ(ZEֶ!`Vm"TkEwT6D*Bjm\ Pjm\ Q.OT ʻ\8[m=v(J-ޖ!+o^slMRt/hR1 kVcV}vbyFoXV 7RC -_s|)Mqo©ؾa!O9xOI~ત෧[4)~ 1r~zs}/͆^C)mW19SW"iͬӲe@š9:myӰG3t$g@>ga/(L,$  ?T:Ÿ9رD:SlQIеI|q G.uS]$Ӻ9UV!R)>P'~ &~,?qmˣ1d%￙V{;J5飮FoT&{Iad$kv+tUn>kanߏy }yGEye0x4͌ -Jd+?>.a)yu 3%4l&IÕ8uq+ͅv@"? CHرAAT - N -W"%ο.7z~zLF}UHvM9z U"6 }!P|p[}h g̶ aKύ*,*oA%c{~(d7nn- ([MHoO06>;w+E y| ȅpC e7\2pK&~G%znjINj9ec7q77 !1k~]Uu]}'+i>ȏXiH-?;#avJ]GY9v90hua7mNE3sTE9bt.2SgecvY?6`izrc*pywpۓq}6_wa1LJ2wxWu~[|c%b uiSO v@sAO& -֞4:GK$n;g'اJ“+Mt\?0:2N}9}d\%skv*.wYݍ"z{~݂k$8֢/Xޙ!j0ZVP"ÿ!rVX{}d]_tU`4#}CSe:a.1\sI=a<ƳkmqA(^C&p#sضƭ4_YghQo7k\C^ M& E{v'hۇ9@\oFn7Sߦhs;l'~~/(xGy=rkc W慕s({,eC>B?P*pIϿC5 arYRAYJ4jq9atY"K>Y|Z`|]9ΗspպEOP&x(=)Η^s&{Oevg8U8!_y3?*aS8" qJ?x EU[.7Bঝ9ԞFMRV" P9t֏[COA8rW'lv{5\R!W+endstream -endobj - -43559 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43560 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43561 0 obj -<> -endobj - -43562 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43563 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43564 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43565 0 obj -<> -stream -HWn}WtQ :]z"fa89T8}Z]< /{JOWש]"x/Z(\.3qEi/z!BJ,.QnCu_mvj[Jomof˛EHrNΖ?ZÔvqWѯզl+dTjuatddvt+W=skTn]ʹS"/lw0BIW)"7I#3.tf,>/rG1y FI Qr(B!1(]<J3u^3u0M0M0M2m2m1]1]1]>a'aS}Oi>eاa3}y>gUhmЌj Q!{jZjCTȞ6@16D1jFԆ(}ZͨŨŰTRj5ZjZjC>PfTKmbՌj Pj Q @Q-!aV306D Pj Q!{jCTȞŨŰTkRj ZjZjC>PaTKmb5j Pj Q @Q-!a06@16D1FԆ(}Zèڶ ˨6@16D Q!{jZjC>PeTKmbj Pj Q @Q-!a26@16D1ZFԆ(}Z˨ŨŰTkRj-Zj.ZjCTȞŨ6D8s+$7rixfM$rl*O7C-C&9d n0X \U':S}$AYdi>S\Ԇp9Cc8]:=֫Cc.һ6.:t>؈W6vbuĵ&*s;N(#Tl\6M8j]Էm ժl:&Z_vw]}1&YHw7_ @O ؔ1³,ZQLmї"wx)ЃG1dA0cuVK2ހz$!ʢ}u]vwMڵDb_;nD-V~\U7U} NJ6͡5LDXubar?zƀ1T,ñ]$]h"|_"&y<_})) 56N3.UȐH;iy1 -nwr0tBaWSM64dϢ)Kl/g~WDn6MZPU#* >PPTf,K:Ќb ,oiKLRNQ6AuPM4WQ:2%B㩵to[=$QnJG>yhwC*N$t\<ܵ(h |FGXqmʡnf۷|gّPku01x{3[v:N#,F@9EG]7*ͱlmS J5 1涞aU)k +ќwjƫݱ7}D .w_wպeWR^poby*>JL!%$Q)GUoC.o`<ƍ' -f,twK.+fIldF`#UQhh)O`Wm;CDyXZۄ§ <&OFP-cklZ1Ynҩ?iT$&joࡱ\re߬; kX59/$H4zsSCis{i am' 4ڭ+ȟ0m4$T)av99Ĺb{1Bc<8&Sy[ #LhࠨAwc฽ZȤYlt'5hK9Kʜ -([i-==>.8{#L6 -[< -ss^tu[nA[h/q52Qo'!TN1f:?gUXC'uAnCly 1AaBErR7x:Y>[Gabu['En1'"xEt/ D>DN/}ȕmb>SlqeQЭ{mF et:d8tP5|3B$Nueȝ,2tH8kڊZ'ӺoQi}:y8ծ8 D{"%Ů%ջ{Ug9!8$?*i$ܹ30eC\ !-ɏp3L/V384RO@o$jKBU!xFXN ө 鯠7]se>/QuS TܯkNl sxDTߢD dق,PYV, ZL1%Lsn52XXu+MH -bDO 1߶ ߪ#|fIb(C]Tё9bAʧ&H(`D䨓MwXΑ㙍O^ (j- -ooU|޷].Dg*Quv('LՀnM73u^ܠ޻7mBH2Ƙ PF$/zŌ/m8.|ϫuVهU0!o'Ҭ&4.M(JX!F?4J4OmH_m/x6Kl P 8`>x쀁|b2vbT4SBo@H @8dVV͆bj ?ܩs o/_ESu~úo'eSs;~~P -g?G2UHa֘[/kwxchbcc$+W|M(F<{ ddHwĖYD 0UD2uЂ*>(Ah"\;o?dpCsP!B3,T_Ŀ*bwC 9>i[UR<#ԐR13^`eIqt=L<>/P 579 0 R/Type/Annot/A 43567 0 R/Subtype/Link/Rect[93.6001968 663.229004 407.231995 682.908997]/Border[0 0 0]/H/N>> -endobj - -43567 0 obj -<> -endobj - -43568 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43569 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43570 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43571 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43572 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43573 0 obj -<> -stream -HWێ6}WQ5yx8@AܻyF͞ݒ:ٯ*4Y ƘCS,Vcw޿߾ -yBI.TY*DۀO0]ʱS׍ -:.?E!(`as]D*Mov'q|}ޕHX[i -D,YAw=\2&XG}=*,N[FE\" #fn6s c>K aP4 LrlȮCP$.1Lz ׇ(9(}CTB\]^x^x%^z%^z%^z^y^y}O>!'`zS}>#g`ys} Ǿ `iu}M պ>D]պ>D]|Pj]jZׇ(ZAPCS TET+պ>@u}"{j]jZ(BQ{OPCS T@u}ٻ>@u}ٻ>D]պ>D=JBQ{OPZׇ(ZI!`Vu}"TET+ պ>D=JBPj]j%Zׇ(ZI5"Tw}"Tw}ٻ>@u}"{Uj]jZ(BQ{OPCS"TE!`Vu}"{Uj]պ>D=*BQ{OPkPCPC!g_EQY5]pۉ|Nnh -a >F\2yeit g -~p ?, ĪLk4L͙ˡNccgjZvJKtGnG빴e;`e5];O͆ 8+ˮcy>(ӈ7,fwUmPJ3ܞ`I4L#NXx&VXG=Xss;j×"cBʸHs5OYV4V)p^/ݳJ.tj5$,nnvb|;̕q³de~,Gïn'VعX8) -ܒ0]t_N*R#KS_^ tAZjc%Ax2=Y֪pHP[C.UK=[tѷƾ 0&<6EtsI!DfFu !Z[cwfe:~5~.yy99LNcۗyDz:뾩 6T0a?$ϗ+9190Xwq"M4W<pkh|&1kaOj9}gL)|\S5VĐH`Ѵ%DOvˀ;6z<ymD mBb{3g`3Ƨq|=x>*/1ƾ:'%h4\sZe,{P _3)ۆʔf l*L04!0L}x Vo&cXv>|9.XټZ$+f9֑U3P(mW2i  `:ދPxˢ)&QMgH(o蕒i8%8dLwd#bLsgSz'lェ*c~aæe,TkuV >méTϝ>]uMc(vT6?a^eO)L2S-?ө49K8tev%lg W\e_V@٠߿3Ck8quXIv4~Ci[c i(EE<"PAW.eu{KOJJCk,iw3TyzZ“X-W2A -t8Sە|HT0vv?[3R -Y!SNAWz7 /O/>h&Fwܹ!=Ņ}l T@ kglu+fq -Qvryٺ9c0 ȈUSg?JcOq -&2|Q0#*@Q4&Oj oC{`sBGZaAn7;HT44w\xHT[@m_-Pp`!RE{jx6Yt_iso^|%_t;Oe"en%4BCk C0?ƾp v-h[^&E-f#HIX_P7ׯRI 4mAC;Q5yԷ>-)fp"Ʉ@8Fn)E²c|N{OBt3m7P=A?\NvYΊH-`}ЦY_/}Tckp>7woUۘrmMOz޵ In8<lFvJ"KyИf=itj_W&yt92́4"`F;rT}#/Ѳ\,`+9khM0o&«pij< ~xNlN;淽Uohul xSZ8:v. 7O;,䢁Z"|`{DL&9B>qiP:xd[Qꇁ~I\5{^4|5칧:o%JMaFtdMˈݙ}|-*C ,VRNlnGa%IMDlbL2&BVeH1(@<mZu=tbۆZLB03Iķ *;aCJ$u1= Iw,dN[X)/ݨMْ/Sݏ .KUh88]!Gfҿz>_Ssɤz=G;΃7Feus@̫?4<%n .0c?>/P 1059 0 R/Type/Annot/A 43575 0 R/Subtype/Link/Rect[93.6001968 663.229004 210.276001 682.908997]/Border[0 0 0]/H/N>> -endobj - -43575 0 obj -<> -endobj - -43576 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43577 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43578 0 obj -<> -endobj - -43579 0 obj -<> -endobj - -43580 0 obj -<> -endobj - -43581 0 obj -<> -endobj - -43582 0 obj -<> -endobj - -43583 0 obj -<> -endobj - -43584 0 obj -<> -endobj - -43585 0 obj -<> -endobj - -43586 0 obj -<> -endobj - -43587 0 obj -<> -endobj - -43588 0 obj -<> -endobj - -43589 0 obj -<> -endobj - -43590 0 obj -<> -endobj - -43591 0 obj -<> -endobj - -43592 0 obj -<> -endobj - -43593 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43594 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43595 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43596 0 obj -<> -stream -HWko۸_MR/.nōIQ(Ms!)K&)F!琜3]QvC/> Y믯\\żPa8a8aWM‡u\ڗCjmW7aWE!AAXXf,ׇ&jpJ$,Z}^~"sgծ|΂8K&)Yĩ4*׫W$I|ƴqۦG$rƬ(# B߮!<נ9@Er~Û,܆A!X$0yı"q1) g>D\8QQ rsw}{{᱗{鱗{鱗{W{W{O>!'`xS}O >#g`y3} >'`_x YNA!gE!gw}"TET+պ>D= -BPj]jZׇ(ZAPCS TET+պ>@u}"{j]jZw$Zׇ(Zׇ(CPCS$TET+ պ>@u}"{j]j%Z(BQ{OPCS$TE!`Vu}"{j]!Pj]|Pj]|Q>{(BQ{OPCS"TE!`Vu}"{Uj]պ>D=*BQ{OPZׇ(ZE!`Vu} !Tw}"Tw}qQ*doanup_d}Ã"N4-!89[j)8|}jի$jJ?~jgvRîV׿8U73~05EIj(%deZYq*i-LAD,7ˏ5f*1׆>[mf,g>{I,T!:n6! Opw.BC -5G2;r 9) -uZc'A/b\-eAykRx\[8K0 t -"'23&<_f9M -y>O6*;].ol9)X'2[zF('Oۺxg3O Y 01n - ]K6Gj>u0ki豣Fh{w>bo˭s*0V7[V0< 0݌ c8?θ9`ntnqguϮVs 7SR_4I.T kV2Kv1f?DDam]ˍ>][oЍL@sh]ӝAM{`C/+DԋU@A]x, 86ͬq~qƒZm]u 3""D#"A7p:)Yb9CšRX |4ӂi1S a5Vf'>{оSh@{hiXM_\P<wxu\_e)PdSْނiI[Y[S8<\CļNhU7v@nUqBѤ-Ҝ&0yg@c@r8wYnܬ,id'>ߵz$rLy@T,e?}wEy HNyey |^k3f Nu0'q!QGg+d\u]Ӟ/OОޟ ɀZE)0W T'31?錅f4 -q_P& cyj˽ 4~pWˮ6 ߯2S`PEf1+%q5&عiGXvXYICBnT.J;(a)R=.v\8 -]sHqXڻpŻ??mVO6GTYZ( iEK};" `9 xy'p%;Ay&1}( `\H#5HIU$LƮX* 'ANeO|>N B;y*HabwS9. i:{WAMs|D$M1%EEs=ڹjƌ'lfeu>WtBP"i&(K$НzzogXn/rͽ׷Kۉԛ= =gwDYr1A">)CmF\Nq=3L{"2E ܢOo8U/ʐTKAeAw"AujgdXj8a6\ߊ-nCv#KMjk<7$edGpW(#p$rG3 "Ņ`jR&PJةb#bX8Hѕ_ն-r97F% 9Y'&Ⱥ*mLf3Tu/V.YPso1sS&Km[ܼ>6E1&R?B eXw"zW ҄ogq92n'C'>yF܏|J4Q" -R=!CGf -)iK1,cD+13κT'fȭOE7ƿǿ5NA`62EQMիطX# g _uU2QYm:#B1 -eT`OLȬc]~AѨrVU_@\08=&2&w׸;7!`0aH<2gOуX=%d61YlNӮbXQrH!-8e`U8Xq) QjJ5jbl0 rfF |Vm¨~A29fn."wc#p hJS=w珱Ym^̱nd%<S.JՎ{{UEU_vtU*JG؃kcjz497Ɯm]aۭ>nP`23j[W?u0VD܄co/_z}gM&endstream -endobj - -43597 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43598 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43599 0 obj -<> -endobj - -43600 0 obj -<> -endobj - -43601 0 obj -<> -endobj - -43602 0 obj -<> -endobj - -43603 0 obj -<> -endobj - -43604 0 obj -<> -endobj - -43605 0 obj -<> -endobj - -43606 0 obj -<> -endobj - -43607 0 obj -<> -endobj - -43608 0 obj -<> -endobj - -43609 0 obj -<> -endobj - -43610 0 obj -<> -endobj - -43611 0 obj -<> -endobj - -43612 0 obj -<> -endobj - -43613 0 obj -<> -endobj - -43614 0 obj -<> -endobj - -43615 0 obj -<> -endobj - -43616 0 obj -<> -endobj - -43617 0 obj -<> -endobj - -43618 0 obj -<> -endobj - -43619 0 obj -<> -endobj - -43620 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43621 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43622 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43623 0 obj -<> -stream -HWkoܶ_2K(p67h$]ګt%9l;#R%m8f9G9廪_~|uƿGe BLy&qo?6Jۈu]7j̫ucƾ}]~-!z.wyJpe\šq>%f?]_<:Mf<{UZ1QLt,WKR'7ݿG1iVoO_G̘@MTgStǔ!0<ȷ!*tylyH޷JE^E^e^e^e^U^U^u^u^u>#g`s} y>'`_ }/ e$h}[ B Q!{(B Q!{߆oZ߆(}ZAַ!`Vm"TET+6D -B Pj}jZ߆(}ZAַPoC>P TET+&j}B Pj}B Q!{(B Q@PoC>P$TEַ!`Vm"j}6DJB Q@PoZ߆(}ZIַ!`VmM6D}6D}B Pj}jZ߆(}ZEַPoC>P"TET6@m"Uj}jZ(B Q@PoC>P"TۚHm -6@m -6DKVS.D X'3^|ٽ٠y.Xu9HMS Cj](m](m׷2yK(UIy4/P+:3cCcԃ}vxץJv)7+;hŇyjtmV9z)Q -&᪳?l@9g_zu٠s.W 2en]]aerR(ƋTK`ܸF 2 -M˺tR1-݇),n%FߪpqE'x+,I1&mǛ϶4U6)Hq;/ܖ`<,S+PXK蜁7n:Z)r>m,<_}2 :\O|0}uro3mWmZ[=Y[6Ui?^_KĐ!H!EZ,p[vtz6'Q6Dacv<+X&l~J7u+([Ч~9;3T<_}-ߧSh7ɱ=-4b;X뛪;usw2iIj_`IwnM?J7.f6D {"9+Fή$&i#m f)]*L$y,GK\|<%r~j]@WIG}Ғb քx&#9߀wMembJ)D2u|vJ)bq;sԆZT7㴳0TW q~iaU^pָ/ƿN㱻=bpɶϘ,X8/3ݺ}}3D -711?|D3X66:4?q- -w%Fb -]5t[x2xIuw7U&,Vٿ9 ?p>2i]q;7sftk_*8~#1T -`fC~ܟN?ǣii -d脠/H>5MLv'@ˎDZu<,&XZvY l`|ʂEm&LY \xɁN՘gTGWߥ>)ԄKst~Nuˊy=h^~^r='H$巫z^RlD'T~mX';V9uˊ|nI -4p>v_q~8Ÿpe]c[ >Jkl]A6Lو`B1 qs2p90/W8ǣO*J!9Sy)6 -2fp wJ5)+QS.yZ}j18J5<  @gMP]Ob%t9_%'Jv0rh\R?@ui:C{COhȤZU`ўF?]q{x.7"w * >rq|q'6XKЛ:?U ?X+⡃mQ m] hӴ>$ʶ]X~C"uG g8K iwڣΆn̍ALf = 8]yX8 Mlj $n-@a.h4`Snjѹ{ҳC-y7=U˩6@?m%A`MdJ,#Vj4:=E>R8c?l1HgFN:X̻ j"#BQG!dpϦSoHzDZ9$~$xe(xNd3TؤHp0 -<ņ`ҮM(D/=$pm8!Sz 794 [ljm'Kޒ.PDa"k5sHfƃS!Ci^c^fwVяiUOr޶ctL@)Fy(ѥ38 PLNQ K+b41>dzF!1ƌqO[#)\dO-| &q]Mt ̿$ 9 K9lt}Ș>ӂ%3,._DaȽiLcHY,x:40*Ӡøpg7:zg'PzLĜ@o/_q¥$Gb>MRW[So]L uQp gb;.M)r.w5sX)%Mv|LB -8⟇J#S=ʯ/*VzKWXy6S=3r+\y`ig*`VlN#${,|aIy0*55ĪH'0"D+2zJ~Uqcª<;fqbUQ[%wIW_'nx\yϯ3q!DgLCH_# ypO ut6¨Q*w訠]X~>|E;X9^(/qX:'g$Gpd3 >/d`uhFS&Zs,b'8/4SZW0 3w{uLF3;%\Nм=q:BE,y$-3AR;5U:a /d Pk_WƱ,9%>Bђm35a~q^60 :œCcu]Wk>:.P<2^cWr߮~!&AdJ}<)۫C}biK9Al)FPMv' D!'n;+ -uL]ÜK G[Sb(76$mJ N;IfuuDg @ 9}Rx-xJ0#aS̃Vh Eh2Y(nM9q>/P 1207 0 R/Type/Annot/A 43625 0 R/Subtype/Link/Rect[93.6001968 663.229004 244.979996 682.908997]/Border[0 0 0]/H/N>> -endobj - -43625 0 obj -<> -endobj - -43626 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43627 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43628 0 obj -<> -endobj - -43629 0 obj -<> -endobj - -43630 0 obj -<> -endobj - -43631 0 obj -<> -endobj - -43632 0 obj -<> -endobj - -43633 0 obj -<> -endobj - -43634 0 obj -<> -endobj - -43635 0 obj -<> -endobj - -43636 0 obj -<> -endobj - -43637 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43638 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43639 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43640 0 obj -<> -stream -HWkO_ی~ZIMHx B'=as("5UuO>EeM9ɟ:?AI&p1{M,:NN'gEV>4&ej0PYB$t8qH$<&HI|; ޺YmNk:b%|!q){U>D:=F#!^Pj@g8e86;r&[bIQB$;P{K3Cfm,ibqlntBmrEP:w16@1=33=3s=7s=7s=7 0 0ػ{`"]w 3{{`#} >7` DKDu궽626@!m -em -emBT -ao!m -7T6@!m -7T6Beju6BejuB! 2D PjuB! 2DMjZݶ8ZݦP&{(DMLML PjuB! rDMj9Z(DMj9ZݦP{CQnZݦP{CQnS(ZV -QnS(ZV)P-GT@TdV)^)^ -QnS(ZV)P@TV)P@T -aoV mBT -aoV m -7T+6@!m -7T+6Bjur626@!m -em -yow(f, -%RM~֫: ;N19> +IVuu}JWs>fz?DKn:7:~ܐǮm6Ei5ڰOtxB;W2jၠ ԣ"65;BgwEN|} {Xm–_'U\ d"l4;Gzy:ˬ(E ټ2݆*SbEIY2ᮏeGU'{GYV4\SlR?҇?߄?i¨o1[P;ѿC%M0s:68Fw rsTu`[`UK'|3MH6e|sBlص?sYEg>/=yN<$yRFu2U*;$'lKv)xٿ$.9 l{^ ;>ۛfdi G3e)Ae> }CP*QH* 8k$ |z4Dઓ`U &'Y<&3Üi$T)tyÃu܊(;<-gnMH`^P '`} 0pXC!]ۍCI15M/cioO1<Ke e0X5NvnGyD:߬TպkBj(۝g՞v޺ ?4gC }P!M۵r58bN0h]HZ/&01`4zKgzS,jg\=n[0ŝ}V*r5j}GK.֐-JvޭA̫~ч8Xay615IDžBL.zcL5mQ0` &g/.'z2Ǎ|9:Q]A&{Oo?x;x}qN_rUGlX59ǫX5_ ΩgȰ'6WQ2wCoڭgZ -f3cO@-zi70QmiQ<5x&ӻUQk )=o~zЗCĦLDIo*#qQv"hDe&%6{ j0D=wFY_.\N6}.!7JYcGJװUc40F_ǃ v , ;c`2WvAo8$lɳx?`x&Ҷ!=v.+]J-%ep²÷ 2& [-Hw`vvFh{ !K`y|F_'&EJ싳vN_TWwENI iWA`gr;e"5ܠvX޹`S.w@ѧ@G%0#5:dGfTߚ !!d7Wl!؟^@=O,Ӎ8a\>,B]fOKaq4gӱ}l[צA6f :Uijw~zaB @Sof/LR&D &_} fߕ=iGS.٥EF+Urau+O aGoQ]1dox4嬂jrb kOL-@浦D/t4B? 4b (: -q2SV`wM19Zy pAJs2eB  a/=HGqkFx")^Qx[YO1Dۅ??By:~TNKc,ew b - 0` %&\GJdYNYOJR1gԕ'T? -c"z}bKs[})l<8c{T̷%LU!!bjî@e@&Y;@-dKVU-u2}z^W endstream -endobj - -43641 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43642 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43643 0 obj -<> -endobj - -43644 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43645 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43646 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43647 0 obj -<> -stream -HWmoܸ.@ȅ#o.A\qȻTIZ_J]wѐpx﮿e){_"n/ӅL2L&Z(eg5~rwj-Mt_$ls$e`}gF]l05^IjlsB'|T萮Rn_e.^ W?^|޼gWL\ǡ,#MBHtq&>`ό޳OScY"4N |# M12ǘc< Oem -m<`}A/ }YNַ#Aַ!*dEַ!*dm"TET+6D -B Pj}jZ߆(}ZAַPoC>P TET+6@m"j}jZ߶$Z߆oZ߆oCT޷PoC>P$TET+ 6@m"j}j%Z(B Q@PoC>P$TEַ!`Vm"j}>Rj}B Pj}B Q!{(B Q@PoC>P"TEַ!`Vm"Uj}6D*B Q@PoZ߆(}ZEַ!`VmHm -6@m -6DMbQ,vDWE16wOG;Еm.s{h=E?t7OUÝD͖-d"aG_tI=Tn x99.L z|m}#eV<S\T|}g,FÌ0&Bρ(נ(iɣ<'}NAzy"Fhj~p\U M Vڦ3$d\#X?;3Ǐ?'ܽS[PvXߝO2*i~RIy"^9CrQ"at. } ll*\U;X:rb$S mh{dNj<4X8WKxlCE|NYq  bCWo˦y7X5l@hyܖ{;b2-H}{FUsiTuHK?T{z1!cUT.tNծzo3$R$`=H( B7KIƏS]5Qr]%\r4?O/ekM3cWML2=.+d:%Ll϶)?9*v!yx D}eg؟n1zJ5q 2/Z;3/f -T Ǯu ,ڥ\ƌQE&6*kn\ 1%ú'AəK8vo;9Ko;\%*q{&ث,'Ŵ`wvX`a%z Th8 --OWis˾s{.&s\lʗix& m*8(͒d/V g? fi/C_:^ÙJϾsSX0'-#o2|(SL\[QRtrZ|cmK{ͦŒ`l4ˡ|%o=6.3b6gncNp~UW\z*ϖ5& 7+%V(+Z%Vxy(kW.šrElx ЫiHiиU8+5^_p%;P TJڻy\d`|#[ܭTvuyT7'ch5o˺ wE"[H(hS.6JbeYV  -S=W͈4zy*T;ܖTCm8dvTgDqoǘuL8n"AF폸>p}*cED>T܆NMi8Q@M(\m;58ǎ}uPI!Tes))W+&fFvkpJ٭)Vkk.ۙ`L(JpaW;h:=0NXu&pΩO%(}wcrI+Ŷo`u`M4bj0uqSs:* \u(|ʱ@]\xч)49GbȩQ(~- lnt|o\.J0Sp_ '\Kڍpw*x.DpG^q,=a"AZc&UT[R?L-ԗbw[S5wٵqQ>bIn"Ӭ53EK & b9v!λv4љg$ѻ&actJUh+V V@^zbkX` k$(X#`EbEJ+!+wfbf #,O,/Xcf-"3k yYK{/ZE{=f, 1`^xYY3k y 1`3k y 1`3k y 1`3k y 1`3k yYY3k yYK ZE=f,>1`Ax{̬%X}cf-"3k y 10-=fbVj-Q{L?6?h3}a8ye;iž]oן. {r]~ GN6䧽qg+gݬ?~5rpyw~qM@tcgOD{/aC;BqyGVyI6̯__5w˗oo866.vLS+.'=mv/N<]-V [E?xgQsr* -nn~g>՛GݜV-b - - VO^zb 5kX`k$VH(XXI`%dͣYzuXN`9byE{=fe-b 1+CnKxYzuX{Ы[cV^"2W 1+CnKxYzuX{Ы[cV^"2W%Ǭ E,=fe-b 1+CnKxYzu YAxYzuX{Ы[cV^"2W%Ǭ E,=fe-b 1+CnKxYzuX{Ы[W%Ǭ ַ8,81ȟ}'_~m>i;X^|uOfjWo[ah!֌zڰtm#W۵]x)?ӓ?' 0sEendstream -endobj - -43648 0 obj -<>/P 1357 0 R/Type/Annot/A 43649 0 R/Subtype/Link/Rect[93.5995026 588.828979 260.243011 608.508972]/Border[0 0 0]/H/N>> -endobj - -43649 0 obj -<> -endobj - -43650 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43651 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43652 0 obj -<> -endobj - -43653 0 obj -<> -endobj - -43654 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43655 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43656 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43657 0 obj -<> -stream -HWm6_^`$PCC=z@Z[%w͈$Fr4~z݇,c?䯄 t)\"T'.sYÒׇjlCjz<5;vj_> <$oÖ)gۧĀf`NVd%۶ͧz76}mx}~Ԕ7_*Ғf>U&gYēsLa kšg 6R>sT f -/۳<&J|) Sbt11 mR TE6!`V m"GjCՆ6D# -B QHPmhkI6!*fE6!*fm"TET+ Ն6D#JB PjCj%І(}ZI6PmhC>R$TET+ Ն6@ m"GjCj%&PmhCT>PmhCT>!*fE6!`V m"GUjCՆ6D#*B QHPmhІ(}ZE6!`V m"TETՆ6D#*BM4І}hІ}hCTޤ26y?%llÃ"Ua6={#鎗z<2{|`ݗմI"~zWnhlEB -jQ?%(KU;!t*$_vQT;8NqzWi5QC]L\Su8{w),J)vVKoUxhk(R P*KyPE*XikA:b"`Gq ɳz/M_J>L/(Z^8SmQ+5HVSdo:,-ˀWE\qKK(҂~A\e$1  -Q7\q{2[!&v|.Sn°7$ B/'U6]56}Mt;J:d4SY8{Rכ'TB3fp>\ѵ?cuӮ3weZPik[ܰK990\>t0Ͽ>׎>MsKoPA$RII *F1{a~y^5L:hd^ͷf0 ~2"T MIm*̈́gp`xWЏO7%REpAT!9z#Cg»8'V}$dPuQ̧[ÁRO,3|ŘƐmm"-JA\9 ܣ_s2ԫ͓Zh[U8tZ@!s2LuRuS i<Ʃ'!'ֹ5%]}bx&W`w~W? 'nfsW4,Oǯ+=z<ڊyiv/vx]0Ŋ<0{bD$K83=84%Gy#x>f9W -heUޓ8Ӿ韦D݌qg -(7/J*P)( jh"L˗G: ^_]>i<{:V |q/=bL)AkW+ߪSS=[u"bfe -7Po{Zcd^a"'g&]32jo\>आ7܉Rmv[MNg؊ -6f ZP𾶛]\R\?>Ʋu6 9(HF7LW(]8дPSjF*7t(\\Ra7C0d9OE_j4 |Ṻ[|9JDRIH8Y`42*wQ[wDVp;DB5Sqж%4jMvpv%J247ȋ߹)\rs]lbSp wbAiu5%.q46|A[ס[aS-2КKp"2ϵLǪ8Ui- lv*Ua#ї<-gcս/ntdzAU>Kݹ5<.͊ŭ_b%Kn(WL͞2]}/[;hcOX=[Fԗvnjp]!bȱVl&x6n{~[6)*fsH-н(-Ò"%RLpi-4\l6:6EL^f uqC_q(L@|vQ7۲lTb@c;M9|g^7δzbkB~Fwe/8qon,G#%L7!Kt޺2õ9t0EFLE}*!U3(&ȥY↵_1k2;qt=mԌgW۵Q_xBB "R;4l(A;^M}ٷ$a#5S~`'VSA8!0uq]m1pfqgc)āftfr -)QP&/VCaIujb3 /4*] -А.{P>Gw-nA=>Pf쌵E1/ -mKqܯGM3,lk[ >8ɜML45~i]%(ӭ OBhPpaz4HpLfT 0X<.éXb:\͞H)_<X IW^JӒTO;ŕ5Ca\_]W_]`%ʥ,1N@_;.9r*Q6'A%{&O!] -tm%E;h/RRRT֞_"?BЦQ͉]OGpi0l*0@;.+&Ch" lv.[k>s1L;ŵ䖴x0 -vً Hbb;0SXb?VCRIiETx* raLT6}LQ(TI|Xc\9UwK'mv^^23bS5:׸)M3hL .0$?&Ϊ>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43659 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43660 0 obj -<> -endobj - -43661 0 obj -<> -endobj - -43662 0 obj -<> -endobj - -43663 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43664 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43665 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43666 0 obj -<> -stream -HW]oܶ}ׯУ 82?%(ZN6Jw%w%gP>u8fC͟qH揻ߧ$w? 9)D* %K& I6ir_滹ݱ9In>|bSn 4<&!N5LK!WWo#L(9q-l\3ﳮ6}^cdw];n>.xr*ZT"Uσ9AR/' 𜥧7%6M4/r&Qv<$<3O!F`((YT\h1*YDP!wJc P a" a"a#a#a#a/"a/"a/#a/#a/#¾"b_"ˈ}/#%¾++kk}Y66YT> -Qmh}h}hfQH Qmh(}Z6 -Qmh(}Z6Y>R-CT6Y>R-CT, -a! mBT, -a! mTՆCՆ6ه6@! mmmBT, -a# mTՆ6@! mTՆ6BGjCՆ6BGjCE!#rD PjCE!#rD͢j9vHfQ1(D͢b͢b PjCE!# -D͢j(D͢jfQHQmhfQHQmh(}Z6 -Qmh(}Z6Y>R@TDT,*f6YT>YT^Zkևvl_"1dyN7>LzN E[Cݵfh=l977UϦxOW_7W繒lզ/N6@{iw fk_ l
2'Tӻj3\mcT䤠` kqBv N(Vyu sx?Ʌ84&H$'likɁ"O7uzTpwr|PqL]E -yZ* J.&ۦ.0^!x;7kae5~fn]&_]_Pr&$%[6QW}ڰ3 x|\T$ܵZ]>MNID^0)MLNs&@P\.Cs@ett81"@nv^ﻧ1ό1] O]?ՄeqtwZNja甮FZG} H8'L kAHN &ffJIx? Jn^| N! /Cj1S;>*q1) ) sO6Ŷ9/YThiYA!tv5 "LOX:Zq53M_*}mdjKXQf:g_;I󳱖Ӯk^Lu{ݣ]{`gs^N˵d?_z ڿ^ܝY<^,| -ʽ8{͞sWz$sHNCإ|~i!Bf)5=sl/fP\Nur-sS| ٓJ'i*Z 3,@fmw<@~uOV}4Dj>bp_Ҷ㭤P7"~$ :2vl:b͓깩㣃"'R~rp!:f'[/iȼy# C*K7__]窦"gj#`͖&VJ;'O=Iծ9o%L<@vH({+7L.~?COciWzpf XtW/{ht\|EpoJNT(X=f,t Hocӆa8F& vk V7[{M)n^BΣ54 h\xܛO | `BRJrk7]9n[邾z'P_/Wxݬ{`0:U%DDfC&W9T;,ޏa3 N".F,BР/!ktw*'+X;{Ae\Po:+O -Wבf$/\. q]u<fSk?t>4}6=yaƫQ篠KQl wUSUڮԇFYVA"*M}1`ff pj[]Z;anPMRnN u|Xeߗ v&ҴKzZugLu檋k pcn d4(SQl|i(5Snwf=@<)Γн5 S-?`ODz9emۼ5vW MF(U}u#4ʼn./ -Z*DL; - G<0c[ۖՋQ}s6QZ=97c'( ܶ9PXghL)SH1j}TiOT* 7Q.1jY}x -+%-$|DفbV(O(Uc.LĊ{ PC -(%f{a[~j^ɭgҾA, i%+K.YxD. G`洑232PY}J옱MXuά,R c:"Ϊ#ً*V#RH|=#k%#uJ&3;yE1vDp:T*M۞ Wgy CK|<}Jo+^6e(nLxN2&Y~7cUhD*~2*:`""jtO -s_(D-:}ETг^umĵ K]KT)rX3QN#htS8B ^J;21ɦ|~GF%><ҼP;Saew,%ZEZҷuRĉ)|{!SI|yɜk;a}>r:Re>h5+pٕ`d R-M3{{fƿ>ԡQ!١/_)g]*u%mKފ<}o](m[l8P@%Qs^qЪ 2tC|݇5JԴk'9W=7p? 0-.j lqgeBӻݬ(l7aw@_CKՔ+08f4Xw@r0nVB乃ًؒY Y纭ҽZеVs5O 57BoL ` T'B/ ץ]@}p㡻d`TtÝN[БJ?blw覾l^ނ1 tڌ1CnHLƣ(W+gѮO#Z|`endstream -endobj - -43667 0 obj -<>/P 746 0 R/Type/Annot/A 43668 0 R/Subtype/Link/Rect[93.5995026 543.229004 307.487 562.908997]/Border[0 0 0]/H/N>> -endobj - -43668 0 obj -<> -endobj - -43669 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43670 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43671 0 obj -<> -endobj - -43672 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43673 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43674 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43675 0 obj -<> -stream -HWn8}WQl7yH2;H մ[vKv[%R-5Y GdaXHYc/!d᯿>+*E &Sf:o,| xXw}豯D86!7A f,7M9Xwmxu#qO',X\$j(usߕ}Yi$(gLXEj X1{אp_Y BHEvfwA3\\8Q Q rswm{{᱗{鱗{鱗{W{W{O>!'`xS}O >#g`y3} >'`_x YNֵ5 Twm"Twmٻ6@um"{j]jZ(B Q{OPkCS TEֵ!`Vum"{j]պ6D= -B Q{OPkkIֵ!gEֵ!gwm"TET+ պ6D=JB Pj]j%Z׆(ZIֵPkCS$TET+ պ6@um"{j]j%ZPkC޵PkC޵!gEֵ!`Vum"{Uj]պ6D=*B Q{OPkZ׆(ZEֵ!`Vum"TETպ6D=*B B Q>{(B Q>{׆(}EBVͪ m &Bn&;|a >GѸӶ5an> wgb= Lq<{ٖAn!YlU ~Hs~*x$xߗճf,8O_~Wq0LYTpU]Mg.y8)i0\$_v{qTF|| Mf4W?9Ili;fJ ṉ'нEsurig\&78LScdDJ|qN9 >V -4vD -3)c)е -]97[llolmӨ "qiNDQ7`T)N p,q\/ݳⰄE&3۵ ZvN3LI*]fLUSښ^q8ە/6q-Il4y[< l>*T&Uy.ϕ98URH8PɆ1O8+N_@îoyP[%\8L!Haunhpiu'0Ħ36[xT.q?19Spoh@c+/NKe̗.=(60&=f *ә`FZGNOn%r!*y]D +s/Nvk8UpFopTY}3g oSy uQٲ9e垠oNl -$芫rV^ ;wx `_%!LrB-u56dxWnw`2݈0A7< CgDta0284-(2'0>knb tw8YxEg3RkY^.J-`rEgz|l/w Rr4Nh9Ww.Yu1}\_>ƤQG.+dvQhvdf& yӍsh@|2zY8N%k>l!]zj0T&#O8L“k?L jg#D KV%3'VgўԀ _#"sY~<]̴@>;πv4wKQ\s)7 @ !(JDT-D`!" PI*pSVcTubZP?{=ρte)P<hk`f:4 -1!hg^+8'Jx2V,3IJOeF2KL[3NkٙTl -&Z{J[Zx˷q -+[K|6Z3ph:O*˽fhapQPzY{S$G;OW%%\O ծ] R DH(*P8)g۷x#T(FA&6Np%!He4m!qWsVܔOmg0 0O(a0Hq"1︂BW[Bzq`fL2ݶ{SuFKЯ訖%^:ْev tV%⣳{=C] i֛'"N$r-PNjt=OTbWMOdJ@8}IqhnɔԜAԼ. OϷLHk񄮣"S=ÔFS F•۹YY"E(3Mhx -L"NT_`Ep&F+09meBcHLKx7"[iB v[KB¼-'Hki(fCk& --r(|1C@dURIUĽԁ4∜4͊Ь+l'WNn?*Pӎ -R'aP=yXJ[DnZzN։s&5.~m-A ^,4}Ǜj7 bfpH/<9y Xtxn - kkk Jd kCR$egz8۪% !ҕې&*Ayx% -"MYA#o͟x~rvdk\ITRbw>ڶ-Of0h'EA{)Ř>鎃B;BQP+KT˅NIq|R@z(w&Rh(qP-BWvR,#+?NI=b?02 &Άwvv:!j?.q@+gXO_%DwPġ 0m$HT ݨcXqUTT?vzO 6Lhz8Xui.÷.Zzz1,n|ŊE^R|ҡ'b,8dtP эFeF57|bz{L?1r`*@UӤuwA/kۏ܄o@saG*4 0oSPD!_WykA$VYDɯ[ uP]D7oʛXo7")P3hB&:)BC l5+O;0fMd)w$)\:G" -jSDyVܫDH[~㡙Agp6|Pvhh5ւvyu?Nu%9f_]ܨ\^M㿈j[ birHLv(=Z:KBEh|ل -$Ufp׌ҵfy?8]uaؾw+Gd#BNKmp Ͽ~|߷o/#0endstream -endobj - -43676 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43677 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43678 0 obj -<> -endobj - -43679 0 obj -<> -endobj - -43680 0 obj -<> -endobj - -43681 0 obj -<> -endobj - -43682 0 obj -<> -endobj - -43683 0 obj -<> -endobj - -43684 0 obj -<> -endobj - -43685 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43686 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43687 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43688 0 obj -<> -stream -HW]o۸}ׯ,?EX,ͶE[ȉ[JJ %49bѵtrs"\b"\b"gUkS Y̵pmm -M6ŐO1`M1dS YC>s&\b"gՄkS XkS Y̵pm!PVM1`M1d3jµ),B}ZM6ŀE6ŐE\ צk5pm!+Wb"\bէr),µ),B}ZC6ŐE\kצצk C>s!\b"\b"g5kS Y̵pmpm!PM1d3µ)),CV>ŀE6ŐO1d=&q)^΋b͗yҳ]w}ӲU3).>A8<b%PMF-WmX9kUB lеYmiZm׏j3olȩ?n3E5uێA~?.|Y\UX]}5/WWvѯ`ACn;plo'53Pon{~r{`_i ڳ_n[|`.e&<_qS -ɇTr##Tq˼=t ˠWRi:0 /X@VbVU%dmNZf^U+Lg5W&舦'{lܵ6L'Kͅ/uLԫZbBC?#Ҩ(c1k,ʨ:sewLxs9 eF3ln4wT>)Nc|p:Ч> aaNcQNQҙcYZFWژKW[ҝ9YH?Zc>KWkw~j-!!%~NBFLr-8n|b2S OAN&DU$ XP5gǵ"2Zql(+eK@y$pq ,|H0-JFVpo1M+ wghPܲM^߅eI -[+XeߗCi(-Np2, Ebiwۛ/HSx3 ->Fwuv p9 >K  q3 gYĚ"gh)BUw -w'08R$4H˔` -phMnz`Zcѻu@Jl\Ր(woYa}e< DP$F6/ :T1 ?X{F*Ȁ,eZwV@C]6q"4l-$BG8 p6IB#0B`WsHO>&$+,~jv^j[4]ތ_-Xn,I>oGwo5}X6P&DN&>,d& ^ܷ BSɗOp8{܌PnFsKk;v>p쉤l9ѓG2.YRB}# EE!WP 4 k9܇d4O|#'p0xϸ ϕ3h6͆=h G$z.hWqDDvDZ,NYoQRyݤz}Zt8;\wYPr -u_cȡGT wf)TDnwq!ǻ c@bxxzj0w?{T'Yy* G=N8pHupJ1<|؇Y&lOh ao0pdZ4Z^}I{ZfU02xuo;S3A-&;21p46"/IW&.Neh9]$!Áks=3> 6YOH&Z& K Va+g0%>ovM7>e·ιxn}"K]QD=/)mU -tLjdѰi; 2%qWIyÙsZB9rޚ]J.Z\ɒ}uF,s`I+Q.b*$aFKirq\>U‚4 (hÊ$l"0 Q4T9 /0'e4Oڲ;|r~xrG:_ -W%wFZiu\E.KСIBR3ćfi_o4ugZ^ÄJ8 vȀdCmw;hGi_1ъ'eQrN|M GiD`09z>7\NڸߏjÁF~|jދz#p nxR;xm7fu.9mt~Jg']?`qyvPhjc$S9& 6v RQL%ȘFpUW@yD\\,Pѓ:\4Z)S(2 ?Gu V{:ItNo8v ߣl }y,,}ͻsNpčHOQDӊy+®m:" -D.֛̕1~U+EwZl}K%ksb6fJǍ^Pr}'R}ͻ<5,]-ߚsV!UIdLXW.F-󣍂BwVV.!77}"daS (JF!`teTSzLJ|elëU]Ǥ{Pq>} @uζ~nQD^ab͂^aB>3faqyI>@ӑ/[CΤ]{n?jeqB>9)Ȩ5YEj;4*2jl Sp:e8'.@ ikez kp: 0K`X&Q2V_r{=q+3EDsV$=:4 ײh6WcTiU|`<֢٥RTdnes:[$o;O7?~v (2qendstream -endobj - -43689 0 obj -<>/P 1624 0 R/Type/Annot/A 43690 0 R/Subtype/Link/Rect[157.783005 216.229996 424.674011 227.716995]/Border[0 0 0]/H/N>> -endobj - -43690 0 obj -<> -endobj - -43691 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43692 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43693 0 obj -<> -endobj - -43694 0 obj -<> -endobj - -43695 0 obj -<> -endobj - -43696 0 obj -<> -endobj - -43697 0 obj -<> -endobj - -43698 0 obj -<> -endobj - -43699 0 obj -<> -endobj - -43700 0 obj -<> -endobj - -43701 0 obj -<> -endobj - -43702 0 obj -<> -endobj - -43703 0 obj -<> -endobj - -43704 0 obj -<> -endobj - -43705 0 obj -<> -endobj - -43706 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43707 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43708 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43709 0 obj -<> -stream -HW[o8}ׯ$xхb^v-⫁>ErV4EE*j|<o)o޽e1o\E\3_(2JR%k} 8Yp)z5ݡUá.١n(ط>x -nWd6Eb9Yl B.a\$qwuSF$qXi>\}Y_8JsUԬVo~ν,*CU>?|_{d:c4Xz l3(9l> - *!P;>yl $K$K$K"+"+}BO< >'cS}JO=>gc3}N=9>kkYNv Tm6@6cA Pj͠jZl3(ZAE `V6"{j Pj͠jZl3(ZAE `V6"{jmHBfP>{lZl3(=E `V6"{j Pj͠j%Zl3(ZIE `V6"{j Pj͠j%Zl3(ZIv"Tm6@6cA Pj͠jZl3(ZEE `V6"{Uj Pj͠jZl3(ZEE `V6"{Ujm$j͠|(BfP>{l3(֊*]q<_4l BT ̒:VW WI>fjv@pZ<l[=Qs**8 r'c$| ̦:pA1=}ea=U_zTFZ@#,aWV}_Y Yʴ0{U5UyUq;; $D3[XDxF τ;}~"` efk2nVZ$><)6Byodb$2RNTDRša.N떚VIF*̋Q4EKKE:\Uq`E?&MS+ݾkv`dFv&zIGp]rV6`(gG|6Sm<9_ss(({CEOeaeڝ_uјH5F_]O LChw+or( r^P.STLxllSc 4~? m c[ug"7淉.]&(R.j8ڞͱi#;En}0%M&,%8~)M&*u<(hI|@(O6ϺkXg[Uk;W]Yo]p*:QXe6raY}iuF^&(Weq+\ 4{̉2U~RՄ­u *|'th>`8M=$p2L iu@Y|&Ӿp(ei$ʸ9us0T{Hf6 }9UEs,62%9lmgtnN-wl+pwҰTQH.VnKK4 .'B1ެ/F؁n8@X8t}@PN/HS8KW`<o9WR*gAjKb A찚|vK]QpI83[Ii%P?*`h !>UHTe[!x`Ui$XBOK'/Ze )%N uq\IJ#Kw,v)h̡Pqr~;}7l?_qYq -Y_ SG"t>^ͧކ3;#Y&c_Svkצӝ7-ohTz4ӗae/NPೳ, ?>.NNq -QDcQHEPd@!r,D\bDHCr8o._/X6Hj o U)l: AC—-֠dKRcؚNRoG4LwX;OX9Sc,g (YsYp٨D&F1\t{io>r#7-5Q*Y2AyR WTރ!0!Sjp[Q]ŜՇ^'伾'l:oHCDݫ] (KyyE4qEs0/ă%.&+Ń-,&yimo$uQ3HGr" 6Ι%ЭǑS5R̮SB3$Xi> -EG(SW OU4u62ęr2$dwdDSn"Z^^KbuG !4j10 -*ag'!zB䜩sT.giMB`X+JvA!uT`R>..A>Fy㙱g]GRGQ_hS6]on>O6pmx̴2i|渵:DJ҉Ʃn~OTKڜݻWnz؝[<`?=V&pHړYf8Xo|a$>ӗWټKxKO=m5Z - e4KVe9`I<7Ak-an׋>N7tEē] \1Z.mX&[Gb3NlxS Ym{. /hS|~{lT5e#F(RaM5n~WڛE<3ήUvvWǸ.<|m*J]%N*LqNLUE3ptJN MS2w.`34yB eweN'2MAZW@et ~@qP3WH$^táE&3W|xz_yjB endstream -endobj - -43710 0 obj -<>/P 570 0 R/Type/Annot/A 43711 0 R/Subtype/Link/Rect[93.5992966 422.428986 220.966995 442.109009]/Border[0 0 0]/H/N>> -endobj - -43711 0 obj -<> -endobj - -43712 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43713 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43714 0 obj -<> -endobj - -43715 0 obj -<> -endobj - -43716 0 obj -<> -endobj - -43717 0 obj -<> -endobj - -43718 0 obj -<> -endobj - -43719 0 obj -<> -endobj - -43720 0 obj -<> -endobj - -43721 0 obj -<> -endobj - -43722 0 obj -<> -endobj - -43723 0 obj -<> -endobj - -43724 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43725 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43726 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43727 0 obj -<> -stream -HtWi_q@2<@u6lob"Q::f)ʓE(jF|#X]]쮒س,<>&1/_u{dClKC]0i̙v| K;s91+>]JIۨG&䔚S -M"IYz:ZRޭ%F,;NW=p{{>A}PS>US>US>U3>S3>Ss>Ws>Ws>W P PKTK^uւJl9Z1K@k%,^b%F,Z1 WucpZ@k%F,Z1 WucpZ@k%F,Z1 WucpZ@k%F,Z1 WucpZ@k%ʽ>ʽ+ʽ+Ę$r@%r@%Gr@%Gr@%@K>K}?-r/1~|Z*^b`TȽ\kIYZKb TS2.2]]nWU4*kQy"z3eLcm4s[ngFElGJEwK\E[S&@\XEO_N5|zupI[+|P؅/8 Uշ/8OKYZKb}}}}}}}}} -r/1fi- ^bZe\e8=?WU4gQÅq t)c[σDFp'?׋Ynu0vj~kx[-tK:|ԍ&L{\0n!t7bO3iY8ǯӸn37 -%^0*S! g:ejHn /[}0ݞrwhVuk[s0>5nGk@?qJ?rjs{ڣbS^89/70܅wGQ7Ydq(zrY2ލ3tqyє`Jz`)uxODn5]?Ӭ)(>AtbHJ{Gxȩ|E\al3");M7( I]6mM:uLd*1P:FI..4$@?ۙ"jr(*C6 - (lK!"Qg׎IʠP~UJy[vnՎ -ܻSլP"ͮ]tv>`&Hv7eW7T[$&]jy3}岬}tB`8죒y!@q)++`—6XaY;~ %[e#eхkB75natA@7\i^Vj+K5ش⾵~Tk1Ro|Ԍ;R9W.ͥs[emӫ0niTOEUFN5loS u6Wxbyp_ˬ֞4&6ѕ*)X̺jǵ ؗvH)Y]0U,'.uaUH|T> - -mf"0fxxƙ(G};]_KMP^Ko$ڣ}vg2G,C_aaVe|k:3}ճ8]'(HC0px09M0]%a|X `i8]X %"+J#>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43729 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43730 0 obj -<> -endobj - -43731 0 obj -<> -endobj - -43732 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43733 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43734 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43735 0 obj -<> -stream -HWko6_~ -$ lhm.vP3Xh4n^ԋE*!yxsyyW~m_y{| T&Bq0M8,l) 0wq̻򱸮uSVEה)nX l-4ġ -qn6)v]YK&f$|~\QI1)O%_ק,yߟa =X-q(Q|11~w,>4a8܇ aF3cp(rQ#fӹ(YYa)Żyy9{9{9{^x^x%^z%^z%^zD}O>EԧQzSD}>CgzWz%eYt6~oMMşevWFyj'?._v;4EueBtf{" \sټ+I(pLtGO;lǢ*NBv5`PD4`Qqvt4&\thaT;t8N[oy3]TeML҅k6Y]"V܂&/ӡ˘RΤ%?qaf77o_|,$qt3s4-h]mDX]B'{"^x,1KO|l -tOk]8~azwQI -HHxhٳ>e)*Lt1B<1s== KvE54sYMmOU/x{ h-쪼l^J{碰]݂3E2_4ۼ$Fh5$DJK]M!6mvp |S@ >#l2*QR:VQ$\$\EJPձJ)N]Z}\.4ӾI t5,2)i)+n9혶C80ӷpZ"s` 132 hI{QOD>[@t{Y^$]tXgi=''/3}YtMiF2x&:m۫pC"JlG5lܐgb\dw,͢9z0E<]Bq QSN1 -Wx}x~{~g:Uɺl/IuҿE_\9B(0MlD^ G, -أ&|8doaZ䑉.EA%MXo^t!O7CcZ e :}'#X5')cӧ1ma{aÎ=P"D\eB I}ͬq%˟qRژ¬rn7 H|GԏC{(L 9@о<:u1$\K1^%CZ+4Y\@Xx -ϋ[szĦfPmnW<7936_AEpϋeɆ^ۼG6z'#lR T.Ci>knWU[9xF4xI*n5 BtaMĢev\`RJflj ] `:]a#ضP<y|!^ܜՂprxW%=ݎ-݁-[ߙ6YY65ƅ^K,E)}ELiYʠbJ. )y19)\(]%iHY4W?~LQĠY1pa2~MQ2`[^r7!߯zKJWգD l2NoQ^tk!krOqendstream -endobj - -43736 0 obj -<>/P 1355 0 R/Type/Annot/A 43737 0 R/Subtype/Link/Rect[93.5998993 555.229004 267.371002 574.908997]/Border[0 0 0]/H/N>> -endobj - -43737 0 obj -<> -endobj - -43738 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43739 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43740 0 obj -<> -endobj - -43741 0 obj -<> -endobj - -43742 0 obj -<> -endobj - -43743 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43744 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43745 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43746 0 obj -<> -stream -HW]۶}ׯp>.>$mECZU-m-9;#R<^QLJ!9g8>⧟~˛DTVWFRES%.c"E+?ݾoMǶ6Czo- -&D%*SY)6kƶ+eUڻϛm#{R}oǻWncʴZPߞiak4An,i~6XoNx2H_9[T:O*}!,T1"D1dQ XR,!2,]X<ŀ*R*R:R:R:Ro&Ro&Ro6Ro6Ro6R3H}Ψ#"R_0H}ɨ/#%W*R_1#Jƴ;$q-ŐR Yz!+VO1`1kZ!QV1R Yȵq-ŐŨ\R Xk),F}ZŸbbGUk),ƵC>rb\K1d1#*Ƶ;$q-ŐR Yz!+VO1`1k5Z!QV3R Yȵq-ŐŨ\R Xk),F}Z͸bbGՌk),ƵC>rf\K1d1#jƵ;$q-ŐR Yz!+VO1`1k Z!Q0R Yȵq-ŐŨ\kR Xk),F}ZøbbG5k),ƵC>ra\K1d1#Ƶ;$q-ŐR Yz!+V_UUE9$7F~B.ل>J<|\ cWq -Jգܱ6?Ʌܱsvux'U߸axy~M -j۹L^i0^w?~o;xiǧ8znb<^lo-,!KHs')ʵ^me6- )/}=@WE{篷rn;̜>4lq_zR -*ˤFiUzM rvZdբ~\3oΪoųrQ0 u1/w7 ۴afcCm3g{sM2Wp4&4CCtͦ)t7>n<}TvP&5'HEmJH@Ah,gY#߆}˅F:ں9c ]$E^{)8Wg}R[ȷ N,C/.%apS}; ToLfŪdB@Ԫ\/qz4oQ^n$ϡrw}!χУ~ػ_ [0D -V>I!9).>M?(Zх m -5nw.8ܿZMo6XsPI^“ek2_{r<6^Gj :uF46꺮ɜ&/SYX-pKO"/b:|[`U nիr 0Ȅpzn\L嘫Ȝ*j{sJezuI+1h]bҏamtQ~E ȯ%$ eN[s%>\# -*U:_j0_ֳ,՝ ?nB=NT*p^ppLw!o]XD = 5PA7szG;S%TEFRh%re \JTv-~fnJz&dv{{*˜H(bqΌhóm7>|(ˢ")}0OQbʊpҀXuM҄8P_.h kz?ް510Kee?TrK/~G}f4ءQ͔I2rm3@3m{"M?E˦cREړ4,-Hr`pr ̈́Vd(=mg%< -LqNޏC聳Q6#mݍ!xvR*a0–fHdC~x.3P假dLN]ӝɟU(@? /t͙$>WA۷ #A|8з5?)e62u1, T/oܠ[1^ R;* -B,J*e +=j޳Y !qa2,rN{xn Cݭ/>ٵi$XVsS>r̞=|pϋll;7WJvwK-"GcnFX JJˉkm24Ӷa9<\'fQ Q"b6?TD [ʤ")P8e\X4NCynzֻowb"ч]6dS++N)'YUcBbBFb*9~muU^z.ʴRz6n6_rKs܍~3jZ Ca0tr{cat^v@lЯlQEHڳ-՟Y2X,9j/HJAұ1/{n-|8N)= `vP=3wPU9w n̥cgwIͭ;!P,ynWA[!Dkyԃ -7`6+z2 Q@Y͑3+TsΙC38N~GKZGQ$%1dFG:C]cYL4-wX{R}C=T2EJ&Yhd*"GJT -ZKgRRC`iB͠cnN[$b&VůC^p8:ɫwo1Ӝ_3IdPBc0>n}RL6SU5ױmMݼ9u ;x6G:}!bsX?bҜήI+DBUQ{ǯ!_͜HiӇ,Ә7Z7Z!MROx#h_(oMr#*x]gC ;<Fr=lp8h Oi - -7!mCVU3Q3/ FX=m3A%d>6ʃIGo,rVR@-BL3]:ݯq2-Glj25 -ERVE^hJ98oȰE<\rxX#"r#VDiv"*Y16PS-^Y8tg4fuU%Bіk⅜"V=0P -"J{3q<]z^{B,Ug=yRj9ٝ"1Om}~s 7-G|YQruh 3E sZ٤ ZjgdSR_xb?V R A1Uܛnwm0$5sZɒZ/~O>O?&endstream -endobj - -43747 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43748 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43749 0 obj -<> -endobj - -43750 0 obj -<> -endobj - -43751 0 obj -<> -endobj - -43752 0 obj -<> -endobj - -43753 0 obj -<> -endobj - -43754 0 obj -<> -endobj - -43755 0 obj -<> -endobj - -43756 0 obj -<> -endobj - -43757 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43758 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43759 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43760 0 obj -<> -stream -HmoFW @6yl 6 @ P$:fjD7uw,{E>x^dݩg^~rWɿ2Ui*jFU -M/Hr%ѪUnҵ7˻庝7ݺuriԗMr'$>l+|TU^<{:\wrn8HYO{ciA%b93̨oJmQWs5Sef9O| we xx -kD(%4 -@Z\ Ho@z#[ފ"H@z';މH_H_H_%H_%H_H_H_H_5H_5H_"Ejд\'t-׈(е\#JQ2=kDk Zҋ5k(е\# -]k@r(^t]˵@Q ZkDk Z -t-׈Eе\# -]k@rmXе\#JZ@r(kD\ ZҋkFH/ւZ@r(^t]5@zѵt-kDk-Zҋk(е\# -]kAr(^t]˵y@r(k]5dz%s-PkFH/ցQ Zk]5@zѵt-׈E:е\ ZҋukFH/ցZ@r(^t]5@zѵt-IkD\ Z%s(g{ot'c*7ηzg*K$r4% "+mV둮dڅr}Ir4 6j.he:YPIlDnlO㰋ޮ:M&ѲԻoKy '!$4DΚȋ;]mX}Wc֯)Ki2?lwߨɚ匧_d"|Qs무݃5"w>?<ܟ7:+VG=_!Teq$̀-ֱňt\G.t]]Sra|jÓg -l=6=8b]U;o;1gIrY]ar߽~Fge¯̳ -aK/ǴLD:UF/u|| #ԅ6b8UO/L/W2!pnsn;}lU|*;_x/&p vuTuwów2~<2|?LoҺ2m]l.Iz.ъ:~rB1tji9-b㜦mfC%jwwi}e,v1ɖ>=, -.YBq7 ErB--ڑe5ۨu' -UBarBu&<}xiY Sf͍r!ùh*46 ypwB譐umKNMq}S_%%9F|b淧>_8$,9a er1z:qw&V|P63R>~$^u?b0`pz@73!α#m%F"b^df1q)|<*【^q\>ImrG莃5=j'n$,xh,y)ܚ߼>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43762 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43763 0 obj -<> -endobj - -43764 0 obj -<> -endobj - -43765 0 obj -<> -endobj - -43766 0 obj -<> -endobj - -43767 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43768 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43769 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43770 0 obj -<> -stream -HWm۶_NH;Ɨqnvb/%ꎉD^DL_@`69X=XTs;tXO͖{MrlOJ$e%+'ӂmJt&b}XoгyV^?VOynZbDw$?#MdL{>KJqiQZpH' 1e)HU -m m"F6Dr"&% 2b/ 2b*b*b*b :b :bo&bo&bo&b쳈}F"9>R$TET+ ՆcՆ6DCՆ6DCb PjCjІ(}ZE6PmhC>R"TETՆ6@ m"GUjCj(B QHPmhC>R"Tڎ&Tm"Tmه6@ m"GՄjCj5(B QHPmhC>R&TE6!`V m"GՄjCՆ6D#jB QHPmh;&PmhCT>PmhCT>!*f_,5K7o6f#`}R:o?\1Yiˮf/桭zKW%OUYM{fkq 6Yn%r-9H,-eCW#n(]ص=;.[${ql1FV#>! (a.Y&!()KUBpޯ=^rI8n -p_ٳfIyCyKteI~X4)'?o+BŊi-Uw60'd:=DH,ՙdr5%ͪQC xGeNqT NdgC65[bU8xXrZƒ.:4\%2 BRWUۼ8V 9b}:t_ѷ94<MVA_zD_{螐@þo.4̏Ы aPNܧzs k;f]Z(.|\$1-M8?=֭ ZmM'Xtf~^(ȫEJ՜_(9/̒RY}؍GszS /1j'(zz&̇U[ۻg}BUWո :ni|}U{FRgD;ϠQ4t.(\i;Ԇ9 -xEk mov]=Е@ 59Tm!\ΗNyO^^Wh?03% /R釨.Pc0g]=ɠ|"r-y*|``lCK#Ft[hT4̂FWMaA6x&æ zimu8;hrV%HӠ&-SFAR_{caUcFA..… pm}?f1 l+-Nh׼1LC~~z )Zjn0>Uge>iΖrr,KTrW8R%4 ͵3K)=ALJo ntY -qJsv}U?He|jx,/ ]v9("E ׊?%4Sj,Oa/J -1#>jޡ6/uùŸn`mS]|fa=X}ejQɥ=7OH׻ۦ бO!ԟm z_IIt,ݶNY ܭPYXV!bOJ8Cμfi].tTJf_8f~j -(y]݉ 7,ց-6ӡ l`_.G߮1=a qρ"q"J #N_Q/cL.$onڵ=e Fӥ{Hj;{:c`S-c9?dP%Q jU>.Touc퓁ν|;\:xtO%$_僑v ڿ :=}ik{`7w -r&V4Vz@5nFhN/NWV*_p-Dt0hz~m^ڇ:.]V[OOE,G`t;tIV<7|ZoTJE5 t(ӏK -Z0ͥk-% /|G/k-E3~IƖ'2 "b^EbD̓?Od7*Tay de&j2d#g$v$㬱8idH|q^\ ]:A\mb,r/O]<" -P*)Y5!i%!:J1&)Dqrчf 򅊇='lj,<Q9]n*Ey4yi^A,Z,TiD -PT+GΨs:馷\9OܔpD4b4+8oqzF[s7Qᖆ2/?P/.lz?j#+Ǎ\ 8˙CC;dԠST>w }e.Ap Γ^G:J ؼT 0ـ5*R .po`AR8oD}G4yV֫襴P?~~k4.2/ê![ldGdSsE?Ne)Ԝn ߐ5jqS'e -gO[\m RȀKcȼx6LOݎYZUW&Z]qSfJg -.lιsYv˛g ѹ=]y@YmNj5 Gp_'F*^endstream -endobj - -43771 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43772 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43773 0 obj -<> -endobj - -43774 0 obj -<> -endobj - -43775 0 obj -<> -endobj - -43776 0 obj -<> -endobj - -43777 0 obj -<> -endobj - -43778 0 obj -<> -endobj - -43779 0 obj -<> -endobj - -43780 0 obj -<> -endobj - -43781 0 obj -<> -endobj - -43782 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43783 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43784 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43785 0 obj -<> -stream -HWmOI>IvB/җ)v(  B^{glv/TLjfzpO~OlHm4W>-) ,䃙'JdpRߌVfr:6i2ԙ0 3 /HL44MUf8Kzx5]M˳8|@ΦE[~z?m1C[zzW˯k5v.Hl^z8L2Bh?%>u拱yG2s13D_.'߳$&9Mb.9Qs+Ę/'1bYYcVXһڼĈ{;)ʽr{>(}}}}}} ܗ} ܗ} ܗ}W}W}r{Y J+Y@k%,^b{1K@k%,^ցJYj@k%,^ցJYj@k%,^ցJYj@k%,^ցJYj,cv/1bJYڽĘKXcpZAk%,^փJXcpZAk%,^փJXcpZAk%,^փJXcpZAk%,^փJlZ1K@k%,^b%F,Z1 W cpZ@k%F,Z1 W cpZ@k%F,Z1 W cpZ@k%F,Z1 W cpZ@k%6KrZ1K@k%,^bC拢YC>t+ -@+(ʁVr+hJZ*VJU* -hUJZҊ@+*r֒Ҳ@*-r@KށKl{X범ȽĘTȽĶǰ.KiKY@KށKl{겔ȽĘTȽĶG.Kjy{1KkI;@KރK;@KރK2@KރK2@KރK(@KރK(@KރK@KރK@KރK@KރKZKbZR R R R |r@%/@K>K_߁}-r/1~1Z*^bb$,%1~Z*9}Lcd,y=Lá5 / )|p~7nz?$JKIq9n뗀4Swl4C\Ʋ*yYI}9旷"z6˲9RlF> <=8_ -Yng<,W}f+I>А5xY\ѲY=[,<2Ozfyͫc3rihѪn̙'y(mZ#|[66ߟ~9?OyNOەy:7}m~/˚1^ֳz3ϳԷÿO=%q.[l4% \ kӪlj7ߟh./'ݩۢCMwxq?_Z6PÃtrjxk3i0F g)\Z؍K[x91{fq[ӊ &rk_|89S_L,TzZKsܡTyٵNJߞuv󇓣!^_`^|Mzؘ̏Vj"lo'ow5/f&䞯f=<,/hes;C.n jv#m@Lo^|xu4Ev]1M6 Ouƃڝ6%ԶkCkQc#MSoa%$z7,kl׳X/47Ne{5rHSfLi͓??3N6v]4;j{O=s=3&o?^iw{;$e?n6٫Ŋ~Sw ,Ѓ{sgYoGo8z|J;@׋RoYGd@>f5;K[iChr|=tv+4Oegt4Ӥendstream -endobj - -43786 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43787 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43788 0 obj -<> -endobj - -43789 0 obj -<> -endobj - -43790 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43791 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43792 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43793 0 obj -<> -stream -HWko8_ -*Kf23Xl2E!L${-A「u(RLJ\^8wO?}?C߀ɘ2TSf&#l$|XX?MUtwXems epg>Mpa_ESa$ԡ>,MD˛ͷ&4UFcPV oqDEJ(O4s3@m`чCq̺b^/  k b, S% aEs$9~@g+ ->ZsaH.,8c>1_깧깧^ꅧ^ꅧ^ꅧ^ꥧ^ꥧ^ꕧ^ꕧ^ꕧ>%ԧPz3B}>#gP{sB}ׄzׄzϳ0'\bջ׺|.,_p!P﹖u1d=rµ.,µ.,BZNŐE\ ׺׺k9ZCs-'\b"\b"{k] YzϵpՁ \bջ׺|.,_p!PVu1d= -µ.,µ.,BZAŐE\+׺׺kZCs \b"\b"{k] YzϵpՁ$\bջ׺|.,_p!PVu1d=Jµ.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] YzϵpՁ"\bջ׺|.,_2Lߢnþʐ%=uiMO|e /G(UG{$]hU%)gq:sU:Ddڕ!0 K,%JLK=oe3mtn={w]',_ǓȄʆ$Fa1,Mz˹u> (4zkζ||kgZ[2, `dv`~M(mե36ʰ~q421)c'&XFSDW#l&s(ڵ oa2~EEߋr'Bm>yqd"[NYQu|14Wq)1o_N5gb1;&s}Ë>bVLYĴcl"޴sy>c+nՁ E #~^hCU6ccrR-u6y]@]T8|fFN rj4hS\XʯܖOdnܾ:T/;t@4ϴp1-Zऀ(e$܃YFe5Ď&ZfѦMu<DDxc` :/f(vwi>2앇%oq;콱~.j1 -TD{ &~esl&)to$r.%f2|ծrL5RcUf"^Ţl1^vo||@jW۝or!H'O$$^vyR>L>ǐ̡gFfnM>6m yX`ZUCtXNҰja\uO|tPd+ƣO㐽)" eƇQ$Ź^y M65~ϷL,>KYU5U<@/_džr /ƟFROfAR'al_X;QH|t}E,os?CPB2c368m |8HQ氇((h^ kI%' 9HZ,zҐ9o}+=G^ڕ"uWl1 tqbDu3On1Kc__Ocf; Shnw쎫b.9X %#tn|#rd]fLcT9eoYBX!_ЃD{^ -yxx<}@#GK?D77(iY2)ܹӪT]UC':S?4j:P!': 0ДsIfE(0C.kH**rC\v_\_Wmi(Uh梭68jrrn_Зq[=[-ݟL.$r&3v^iQ%Q&aٜ2jP+J=M#PwWgCo\}yc^ć_feiVz͝&ך'ʮ 2ʰ& Q;R|?@ȏy`{~xܶoZ6X~e9 -bvxO+x&5d(ݢ^S+`@/;߈E}sHʸ@ |_7U=BcU#žb:\QKz%=Pz\sR;6d73 - ҵf٭j Z i8ǎUV sY"R`x6QSh7OM:ڛXUUmY皇ClH8 6vCI9uQ;Euawh2 -D n*ʦi X4G5Pt ?eH9Iuh]Ԑɶypvu%I=|x1H6SPBi#}+Fn6yj;PXDtoVRvFFeJSB1M>/P 576 0 R/Type/Annot/A 43795 0 R/Subtype/Link/Rect[93.5995026 538.429016 191.626999 558.109009]/Border[0 0 0]/H/N>> -endobj - -43795 0 obj -<> -endobj - -43796 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43797 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43798 0 obj -<> -endobj - -43799 0 obj -<> -endobj - -43800 0 obj -<> -endobj - -43801 0 obj -<> -endobj - -43802 0 obj -<> -endobj - -43803 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43804 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43805 0 obj -<> -endobj - -43806 0 obj -<> -endobj - -43807 0 obj -<> -endobj - -43808 0 obj -<> -endobj - -43809 0 obj -<> -endobj - -43810 0 obj -<> -endobj - -43811 0 obj -<> -endobj - -43812 0 obj -<> -endobj - -43813 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43814 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43815 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43816 0 obj -<> -stream -HWm۸__E_^ @ d@+k쥿9NFpײɋ~#I˗w?~LKf䙠)'}c~io*79yMtaad,EI 63o6 LZ&ME&SfM@ Cܷͱ<nΫ\<}yYa?m.ӳjaџ#A9y",!|-(Oa6RpG*1*(|F6@1EاaS}Y>Cgas}y@a_^>,CDڈ#mmBT4*d4*dַi>P-GT4 -a#mBT4 -a#mT6@!mT6Bj}6Bj}F!rDZߦQ!{(DMBMB Pj}F! -DMjZ(DMjZߦQ@QoZߦQ@Qo(}Zַ -Qo(}Zַi>P@TH"mmBT4*d4*dַi>PDT4 -aV"mBT4 -aV"mT+6@!mT+6Bj}6Bj}F!JDRDMB Pj}F}FUJIŰjMta$adXb`\ьd"6;Mw$7ϹTlO +⺪֙A}=9(RT&44Ij\oo6 I,؅[3zKa3kEePν㼯m3崓1'I`47dsk i^(5A>QZPcs|ۮ.u;ݠXڗ}YMw+w\ -*o^6|Bd_ݟL-y ذɉApnj7D;<-,l% M0\ݙ4y6;դ9)DƩ>SEiF~+eP3rǯ: orAk[A&h7 #: -z4`2]6f 4b<>kg Ş\N޺t@ iYYp^}w~1Nf8fCXakNt[ȍR/:8+Dk( W)>p^'va@=,G3X._߽OKg$_R)g!+}4LFNND\0Ѩy01g&" #ؤA{9o`ȖKu}+2S3E6dg>B?}9֫s$-ܐ(Sб%v^0R?1Vq4V,jrSu Q1᮫J tPTdy^-J.w5%1}5s&' . @ #dΗT)]KF7!k!]ڥLL] 2 hհphywٲлo_"h*p3Ie7Sܵgx)4y99EuJ*8 9v}S~"3 `8u~}hy~#oPvi^S`k5Ctb|/y>؊ t'.R+[ -Mg>eP32䢱T}J@ql;ӆuկϦ2?h(i80 {fzh,{7N+63[ϯ"wS7W:{YV|h8Rcv -k[cmvAp* d%Bz/\]g_)ߎwՀeFqy8W8QHFΟcu8C{av]8S]o?A֘{hR؟_/]S"W{g/o*v QokGwq +rݖ"% 0_QњI/yqٲv#0\N{Bwf?Y߳afX&f -ؕѕstQ TZh5u)^lE֎C}O9hl}&{OJ&w6O3͡.CZNʢ2o -RoQfhV"T~OouYt@2juv4Qy6JYm4Dn}jvyF/#\AFj|d`7XuzѢÃo Hz]VhQGn_݊G\X\L)dre#K]w£Dӆ}N @6u#Wa"iF(ACC8nl&9GJwizX3z`ۣܛ>%v]DYfƿMlD^xU:1R,ʼ(9 3ci݂ >gڅLkWL 0+.ӺUňr^+gImG(v)1HkW&JCkʱ DiݸC!J g3r I5j&VS\)73rlPxhk >H)4U_ L"T9ӊgg|[ 4\b:^o/F}y/^оx 1$<=0up[T'xsg3`~P%Aj -ʁ?ǰ=}? Iendstream -endobj - -43817 0 obj -<>/P 1353 0 R/Type/Annot/A 43818 0 R/Subtype/Link/Rect[93.5995026 515.229004 256.28299 534.908997]/Border[0 0 0]/H/N>> -endobj - -43818 0 obj -<> -endobj - -43819 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43820 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43821 0 obj -<> -endobj - -43822 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43823 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43824 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43825 0 obj -<> -stream -HWko8_ -*K]t:z0 EL֖24~tE*<乼?_z+/*;*B1]ɬ,d/&9M8kXro̓ݾþY}\A>yJ.W`n0c2jBMҸy6&efDe?=x)t^uayvW"W d+^Wwv\g1s_4!ezw x"[s6,1Ȅq -Ĕ'6rL12"B XǬC&Xvc!,AzAzIzIzIzEWzEWzMבzMבzMבP_D B}/ e$ԗP_F+B}UM#r´!KCV>ĀE6Đ1dC XkC Yȵpm!PV 1` 1d# -µ!,B}ZA6ĀE6ĐE\+׆kC>r \b"GkClHµ!X}pm!+VbȊՇ׆k%C>r$\b"\b"GkC Yȵpmpm!PV 1d#Jµ!,µ!,B}ZI6ĐE\+ ׆.QkC YCV>Đ1` 1d#*µ!,B}ZE6ĀE6ĐE\׆kC>r"\b"GUkC XkC Yȵpm!PV ] ׆b!,µ!X}!+Vo2cb9]j\8[$W >S%c%g};4PGz îQ%MpJ/14M7vpga}z;wS?QJφe[ ؚ+=!s!YVφgi2%fj0ݒz1nI`csp]}n'ݽm'Um>1Y* P+ش F1G6zzY{{8MƫBy=n* -O(pW@ue#G[ N̵7Y)RTPҟfH 86)̖pV) -ӣu5{KaSE =y!33[<[d -5l;ٹ ZPy,?u!?;ݍ LUմ`1QM( -t..SD"+<$(}AV(X{}njn{5%H׮Ǎ{I),̸XT5ha̴>]`uU4  |?Mnj0P^nvt4G_IbU+xA W_Ն*QK PoL\yҘL?4=|"OS|>x` r9t§_9dghŚ{_[%xCMwlj:Riܺ'~Mi,a"ȝ>8(a'xiN8Z-L4a@ 7:֮ KI+Qd) - ݌3W>ըd*$z v!N(JU깴xϾ(MB*_Dg%^=z]Q7gaEao~i -bgiiGYJ2Y|@Ҙks8a $9x-ի,ɑJM~#moNt kݞ'Gn9f}/O˱5ȏK?jr#?3c *{>@VMׯrDҳTt)Da u;0cAS'V"|^@QWy3z f4?pxG].Y&8V,(q.'~rQ<)ۉ]OP;;e;PrNe! Էq bs{. : -X ы_rKt,~oOpPиs !^*~J>G]cL,Y6 -MO.6Wy98 nm^J*SK*l/TgIwi>eioX=Qe,aOeڼ/>j+.EY2<:\N")|adY|/,Bյ7;$' >4zzT>`,ad,wO͸J%X q$9#1A0=WHmқH]zdד(mzyĭ{>E? "ɱO3]1ҩsqa* 'zslU<*9MoFWYl/'.AoVxj{ ?>>/P 743 0 R/Type/Annot/A 43827 0 R/Subtype/Link/Rect[93.6004028 555.22998 222.408005 574.909973]/Border[0 0 0]/H/N>> -endobj - -43827 0 obj -<> -endobj - -43828 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43829 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43830 0 obj -<> -endobj - -43831 0 obj -<> -endobj - -43832 0 obj -<> -endobj - -43833 0 obj -<> -endobj - -43834 0 obj -<> -endobj - -43835 0 obj -<> -endobj - -43836 0 obj -<> -endobj - -43837 0 obj -<> -endobj - -43838 0 obj -<> -endobj - -43839 0 obj -<> -endobj - -43840 0 obj -<> -endobj - -43841 0 obj -<> -endobj - -43842 0 obj -<> -endobj - -43843 0 obj -<> -endobj - -43844 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43845 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43846 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43847 0 obj -<> -stream -HWn8}}h,$q1 lf/A eV<-uz[ER&gCSU?yS?7 1e -d<3(cEim967}]=*7? mteEca4ֱ><-.]|qUaiŧ{h LL-7CT/0R$_?t'lyViZ/F$vHx|YS?đYE:?&萣=KE@1d Y,E|팅} XPPP/P/P/P/P/PPP> g,P@}N9>"P_@&@&ei}lqµ>Pp!+Tc -k9ZC>p-'\c"\c"k} Ypp!P1drµ>,µ>,B}ZNǐE\ .k} YzZCVǐ1`1d -µ>,B}ZAǀEǐE\+kZZC>p \c"k} Xk} Yp!PV]$ B>,µ>P!+Tc"\c"k} Ypp!PV1dJµ>,µ>,B}ZIǐE\+ k%ZC>p$\cH1d} Xk} YzCV^'ZkoV6޲"f1bN8tEs_\ez`Ŧa}W_O6至|es{~Y&@U+V6H=BV$zQX~k'+7rn5Ε?{׺껇!L$_u]ZY8܏gg"ʮBl2>q\W_s 143v,/.[ 's7g6q*PW.RAX - m݄Agr:МL.tJ[a O:[vqngnpg\ѲŞl{^:`]`c0"l=Xmή$|@9&LeW|o9 -&"2d 鏇}7$| -0M.hZ<ͧ v(eyVud:ta75O+%|2]WAc߶q81$ [fc*f^ nrIʷ5K$ -5Zah z .sќx p.2x4OW2LiGfUج=u6+K;\ ^;C;|ySwMIUtq -lq\8n6R--]`o-=ԏݛ5qn, \D &yr᝝tmc;t-DݝI ܛϛWeuhlܗ`j6CppqLR?\ix}qS޹Zk.x˨ QμZ sh|\Ja~?JbWKo0HacJ)J"UJ.dfHytccfi/ˬ=?o`y6}Wyx{4!tHnSio7GC#?saPlBH9~b/6obD{!"L'Nk\#az"kԻ"O#IY@(vn) - [Jg{ lSROQjn ކ"Dفe0NFŘEZhY=w!/O(>#<RAq "r1*<6pд6q06|+dQo0]R$RE'h4zw*&o~&ZMz~?|dvpeu#?e_[_!Zmm!Pۅ\bn/2##ȚQC?:@6$޴>/P 897 0 R/Type/Annot/A 43849 0 R/Subtype/Link/Rect[93.6003036 198.828995 251.735992 218.509003]/Border[0 0 0]/H/N>> -endobj - -43849 0 obj -<> -endobj - -43850 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43851 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43852 0 obj -<> -endobj - -43853 0 obj -<> -endobj - -43854 0 obj -<> -endobj - -43855 0 obj -<> -endobj - -43856 0 obj -<> -endobj - -43857 0 obj -<> -endobj - -43858 0 obj -<> -endobj - -43859 0 obj -<> -endobj - -43860 0 obj -<> -endobj - -43861 0 obj -<> -endobj - -43862 0 obj -<> -endobj - -43863 0 obj -<> -endobj - -43864 0 obj -<> -endobj - -43865 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43866 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43867 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43868 0 obj -<> -stream -HWmoܸ_ WA&w=\z`eWJ>I>CQڥ#;pIgȇyf^?0޼yûHD \%dY#YWEcMm$X͢վ?wC5tuutGn&܈ls0 g+`LmUu۰ ix sg6`%DI5w*Ox* NnzPsڏZz(SB*KM1)RdLp+~߳OXT4F}"[Ǩ0SaW,*%DB62 -s"$m{{W{W{W{{{7{7{7{O i>%ا`3}Y>'` }/f!Zl;DP-YTE,*dm6@6"j͢j%ZlZl(}ZI,`V6@6"j͢j%ZlZl(}ZI,`VŶCbE Pj͢BfQ!{lZl(}ZE,`V6@6"Uj͢jZlZl(}ZE,`V6@6"Uj͢jZl;DP-YTE,*dm6@6"Մj͢j5ZlZl(}ZM,`V6@6"Մj͢j5ZlZl(}ZM,`VŶCdbE Pj͢BfQ!")B3?DfmnN/g/f`]i/M> ş*vg"rXv_oپn}ڼ_gj8/3=ʨZ&B9> WI~gpSq-᚛U\Jr. -]BL\ 3KLKQK^74z߲NJ Zoۯ :)3jwl1mvuWm{Å1%]kp )ssz_6 )2~Pq XY0=6e@5"Z(/pgvf)y]| B;.8./aG1CN]TyV?T*Vz>o`Ys}NͮJ*|3r]p$p*$MR|m{88Y[Fwrڂ8}MB #+=M~*Z/d5,X>΢i!J+ejvL᢯ogu,]4ֶuN3H56SۑPj5(#craU=֏gnG:ǵr3&bv1}\?sJfu;<4c9Gͧ[fUC%woyHv&~PⶁG$J@(pd;R;L02B-ϷV)gev -SE .UL/]F@<%]9|_<8=HaDt> BfX L=O&CQ 9F2Kˡ -pdpLmWSCHe!a5V=1Mx - h}&38W{sOxn}5Ʒw-^qԆ+RYE*mwRUUUՑa"!  3cqy!~{O;dnR3i@082 -#JN <Z/#^~Oo~~x:)3[Ǩ^5G|r=rDʭ[mҖJ]Si|6Y0BCJĴxGFȞ$fkĩ-N$ KY*JG[F^E -.P`ݨbxm -hSyK|THD I|˹&ch䢭U Ѣ~Me.`,0)%8۽Al}7B& O2 (\xɐ0_8I%:ѓ q&M"n= G-8*21>ڤki|zɲ;R'tLQ_ uq{4\TרʶVO_GJ' P͛OeQIdt=k K%ǚOC"M*@p JvhvtÄ9fZ or`p [."VK1qA9U/~ۦ;7"80W¼HD Q:z(U|jX }nl_=rs :M_%KMil||O_?/ z-̷WOr w%up9yGsA*ٕվNL%¥MbxBτKY}+.gVl"Hb]g4ZwlyiՏ\= !_jAjI2[Hg*zjU4>|yڲƥ>0ʕ{BW$f$̋4 #qjm$ -Ll4C_>ޱPh\6tcph?6tr)ɔ G(tI.uASsO?KKH)bmF仠nSmkUx$1.vd4MC%6ón tW lڎv., y!7@P!B0iL0dw'$Rqhus8VG&Se bn|ry50d:_dLsI(ƈtPn!ն]88ݸ\ ) &% &N.(0ޢU[^ӝ6ջzasik6=1>4ןoGXB"Xx"B$`+uרibFYےƲ҄|o(Yxwrn5nZhǧ6w 0BW2tendstream -endobj - -43869 0 obj -<>/P 574 0 R/Type/Annot/A 43870 0 R/Subtype/Link/Rect[93.6003036 480.329987 358.332001 500.009003]/Border[0 0 0]/H/N>> -endobj - -43870 0 obj -<> -endobj - -43871 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43872 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43873 0 obj -<> -endobj - -43874 0 obj -<> -endobj - -43875 0 obj -<> -endobj - -43876 0 obj -<> -endobj - -43877 0 obj -<> -endobj - -43878 0 obj -<> -endobj - -43879 0 obj -<> -endobj - -43880 0 obj -<> -endobj - -43881 0 obj -<> -endobj - -43882 0 obj -<> -endobj - -43883 0 obj -<> -endobj - -43884 0 obj -<> -endobj - -43885 0 obj -<> -endobj - -43886 0 obj -<> -endobj - -43887 0 obj -<> -endobj - -43888 0 obj -<> -endobj - -43889 0 obj -<> -endobj - -43890 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43891 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43892 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43893 0 obj -<> -stream -HWk8_i:?F#, megY5@RIR@y7FLݜ>]ܼ߮|N|o*<?$2 i ?PR_E⦩-sҖՋ=#ιN~bI`$$>I$[w_}% |^x1}Rn&h[]?]pAi:;ޏl=l ?R@f#3{En?8 =@O~,k'V@$09I E21ɲ31`Qj Lejobbzfgzfznznznzaza>@QXCD}h>BGQY#D}d>FǖQXDYj!51ɲ՛ךdMLl&,ĵ&&Yz˵ qIr-C\kbB\kb\ךd!-2ĵ&,ĵ&&Yz˵ qIr-C\kbB\kb\ךd!-2ĵ&V;qIĀ$Vobe71`!51B[kMLk9ZZ,DZ$ Qo#51`!51B[kMLk9ZZ,DZ$ Qo#5kMLl&,ĵ&&Yz,[ qIr@\kb\+ךךd!- -ĵ&&Yz˵q qIr@\kb\+ךךd!- -ĵ&&Yz˵qN$VobB\kbe71ɲ'^$"k:uҔJ ?%^H0!i{~.,r{tpԋBMSPeo߃QNM_7ݽ|bdݺ;rq r_M^ǿ*kelͱ*>}QeO:w1}.M)9cAfչCӒ>eC4v=r1/H[Efv -_ojoˬm> d<6-T ٞZ ɼOaO7w؋xLǖ{Î -9p@t?PomG\DVSc -NpOn+ S*LEjg?~~ p gfaq ƻ[ ̃AC*O|l^->]tᄐy?H1YMό%;ze! =}~(WO6"`F?(g8qφ-=ڶ|WK0CRAöU/UU\bm ɒ^7xuaysn8/N\"D0 @ĚL?VםpQ&+eYlG[&oc?i~)`EDvpJnD2d$K>r1y5 沪.*`p9.l׷6$2tՔ&+5BӍ@NTloqҥxrZ&-J1[X=yJӉ4r -39X/]PiNhtOAy];!M2%/(dW^eɩM.=2I40ԗr.ޞZ l'F:rQcO%K!ɗ5/S䲧d]uI$ vqYhmum)G"b=FrBMg>xl uo [dQwHwzpV-kix -`״n=L -x+cU/j3zxHj8m%@9Mq+k= '֬K(gw`]Swξ7Hgꬑ^k ;3[Aռ>t6Jв&̌ lRS} [ %+5Ca}^KѠ!^`WC3kV.+aVU!(M k^3-i󶘷,>ib؅&wW-k[ǭ^|U# 7 g`tA텎 --T [ɌTiVA/F/}w( -4=OLJ?uzendstream -endobj - -43894 0 obj -<>/P 1351 0 R/Type/Annot/A 43895 0 R/Subtype/Link/Rect[93.6004028 371.628998 223.740005 391.30899]/Border[0 0 0]/H/N>> -endobj - -43895 0 obj -<> -endobj - -43896 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43897 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43898 0 obj -<> -endobj - -43899 0 obj -<> -endobj - -43900 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43901 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43902 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43903 0 obj -<> -stream -HWmo8_ -($ lE{Ƌj+ZJrܯQRҢ=zp8G}Hŏ?|IH'e-t)g:JUVT|Et{-kulU}[E[G׿)nVJ~PBC H*p0BvQl2u<&M[=_j}\qql6xz.ܽ-4Vŷ塯Vunv@*Jbz%҉OB7XgFܿOFDNg0QZs|aFwB#Dm -Q QĆ(ˠ(w)C(ŰW{ŰW{Ͱ{Ͱ{Ͱ{ð7{ð7{˰{˰{˰a3}y>ga }/E1]1JFԶZjCTȞŨ6D Pj Q @Q-!aV16@16D1*FԆ(}ZŨŨŰTRjZjZjC>PbTKmbUjmiFԆ=Q-!*dOm -SRj5ZjC>PfTKmbTKmbՌj Q @Q-Q-!aV36D1jF(FԆ(}ZͨŰTR.2j Q!{jZjCTȞ6@16D1FԆ(}ZèŨŰTkRj ZjZjC>PaTKmb5j Pj Q @Q-!a0]dRB(FԆ=!*d)=w*^JHzG$Y&Zv}zlr#~/>]Lo.ޯ+or]U}y?l.NKq>ܽZŕ?"0S# /Lag]TKZ~ОL!RTY|ʸl/d½Y}Ǿf\5v; -vbSb -Bo^8Ѿ9aםeeI -kmљ[f0X=4-@9AZ2QKZ$qTbRIjNvmX24%X ukRJ"'^Cuk8ֺc;ʪl -g-)KL%RKuT m_ŧ Z*3B ,ԅ.ӄl w3CByxIX .I5| -2^nZNF%Zᾟ@|HHe1PAs*r)g#x jH]n@_d~o`dlT onlb#>^\CA]}uw@g+#w'u_۰$-wJ7/6" -WM!Nl[%SR)?NYN2E.4;vHzvy/~>Nq+z2H(- ٔܯ-~qvmjl84E56C4 frߏƾLa)O2k ]7\ ekBq@:YH2{kz\fcrLîjyP>Kox'|NpWe~lup$e_k 0,P%6$*~^9\B*֏j&C pQsK -/f;3 q4\}&x쾺]s 8Ɯ>T|VZ$b֑ldPdӽCC[j`w0UQtTp`}g%Nu>v]5-,k[ϣ_2O?]C"K*)Yd?l<5i5b+T֖kt%t  <U]5m +#v۝?g.շ Ơ8uWu^gC `s8lp?Ec։qYr7Z |q6՘)L2Wr@[F)JcfW_8 sGD;8(M=sB8dJ40ǂh&Ova[BNqt?nZmZfovtx;Y=^joGoʫq+|T $m6.9!HvRHZ"%ɤ ͛DB@ochB%|Lb C2]o vney%C&D>lNA㲙pcfrZ\ik8O~I3D ^;&ᖌ%y м1Q %u/}Ҕ5(NS5XrËBq rfYAv7%b%\H x S1 c%T|b -u$T"%UUƚC2- s)r@vs@/Ta-,a/Uc7zH9*BM)gEhm7?^kG}ӱكĴ)k,Ҏ!0/Dol# Raf%>r,Y+q)yX>-@4g KBTZݵ^9WY2(":6Ώ˘=F1 l+̊@H? F`VuԄijʫ=x@16q4lG2>o*tx#TيݐD]j>3<N/, 5EKr* b4q_۩^׌֒ӆ|^^P;7~2g,s+ᠷE 2*|؝^LWR':Y `gNJ,Z Zp.= $-v`<S,(gJk &vz~ẖwy 2lھ}$EPV;+1<^eNˇr>dC;x/^w$H}x2M2}#\y`c{R' ’4|Puonʲ+l?ʮ*=SٯBk,|؞;;h4a`DcMP7?n'- iendstream -endobj - -43904 0 obj -<>/P 1051 0 R/Type/Annot/A 43905 0 R/Subtype/Link/Rect[93.6010971 465.30899 184.404999 484.989014]/Border[0 0 0]/H/N>> -endobj - -43905 0 obj -<> -endobj - -43906 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43907 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43908 0 obj -<> -endobj - -43909 0 obj -<> -endobj - -43910 0 obj -<> -endobj - -43911 0 obj -<> -endobj - -43912 0 obj -<> -endobj - -43913 0 obj -<> -endobj - -43914 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43915 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43916 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43917 0 obj -<> -stream -HWk_1<0sClQ܈n_n>$-\)T oZo~Qz/څ+8g6LJFjD1ЪTߊ]ޖzWʪhJ{2]?j < )ŀ5g Yڵ),#7L --Soz;AcꝠ1>fcA}ǂO S>ԧL}*OTP2>c3A}{Ag꽠eV X!CWO1` z!R YzZ#bԳ!Z!KPRkR YzZ#bRK1d YjZ!KPRkR XBj),A=KRK1d YjZURK1dqZ!zKH-Ő%gBj),A=KRK1` ,VH-Ő%gBj),!C -,VH-ŀ%bԳZ!C -X8!CWO1` z!R YzZ'bԳ:!Z!KPRR YzZ'bRK1d YjZ!KPRR XBj),A=KRK1d YjZUA,b),!CWO1dq>; --(@G ?ކJUo:?,QhL-WB6 -3}}1 ˙О)r::6v>̐uf :/?M'<-k1D(A6-}3?nt(#~Nʥi"& +Jc3X%}[6jNj$|\0l\g^c^qXx{~))i\uށb` 3B^8,6SIݒe~-P+׮3Hնڲw N2< 74K798E"o_X9șen3VX?>\M&Lɨ+X%d-?[6hC@E '݉੄Pϟ= .1vm:OmwM_5e+7'y堖cuzh.^v;\9 pQp xޏx8=l6rߗ.~p?+݄4 LJ*{\/n̈́y,svy3x.nUfn|?m9:%ZE6-YSCf`ЙPLilPyu,l,?r|5b{țVLT;sTo&]>[C׋7!\<ڢ0q[K34 uqALu'WݺN۟πӑ'NSw;sS u2aEp -(q>/P 391 0 R/Type/Annot/A 43919 0 R/Subtype/Link/Rect[93.6006012 197.427002 279.852997 217.106995]/Border[0 0 0]/H/N>> -endobj - -43919 0 obj -<> -endobj - -43920 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43921 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43922 0 obj -<> -endobj - -43923 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43924 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43925 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43926 0 obj -<> -stream -Ht[o ?@$υ7$d 0@1+hH+QNҢ{,,.mYzIO?ߑ - }u3gǩ3:iE4&Qoy6ݮY]~>z;fsk먤$4%y<)|L>˾Z3}dRaqliqLB 88M8);2n%n|561gJ.%̯ۨM!*Sɔ)c 1/'5ՔИJ%[K(;ށN W=HUz{>A }PS>US>US>U3>S3>Ss>Ws>Ws>W P PKTK^ͬC+mJ)^jDS:ԘFZ1ҫu`jHցQ`jHցS ZVjDS ZVjLjjZVjLjjZ1ҫu`j\)!2( -+(JWR* xe+^ʁWr+xʫ^*WJUJ/h/1Ƈ5e^Vy9唗^^jOkJyK)z@t Ԙ^^jOkJyK)z@ttSKj|^^j|^^j|^^j|^^j|D^^j|D^^j|^^j|^^j|^^j|^RcJ{I K>K K>KK>KK>K}?/z/5~|^^jTx{SKj TS2.2xFol>ƚ:*G|,-c3F6rsXYpggș4mo/]Hݦ}vӏQB|iN+^7yq+ʻ]sfI"z.)8\SzVC)vSMT?ʬ2g]J;\ 2 lv1yb - KKWL_ {칩}ft]kjEx͂6|͇fj]~qEƞ W 7(^4ّ#z1yv[]mŢ}t=Yu»7aOWMAYd)h>YLS$zsGKiy}SaݐMxu6˩dq!c>~ylV^ǰ8p?>|ܻErdۭwPޟ[/^|t5  ι>ߚ~1`E`&]ӀnuaAw8iƻ4ˮ@5uѱE?lV/ o5cXqk_Їڻ 粍0QPF t1{cDyHkq^lŻ9U;ǧ` {|R9)wCjLR^xWP^)JW -RLye+S^9ʕWrUByP^%*W J%5Ԉ*/ r)/TԘ^^jL/{z/5SKށK)z@RwRc -x{{1FԘ^^jL/{z/5SKރK)zARRc -x{{1T=Ԙ^^jLi/z/5}SK>K)z@RRc -x{1TԘ^^jL/z/5} -z/5ԈSګ˲ KzX;fsk@\lj-'_e?/rb]6zջoaSn=+y_iբu'W߱z.ky# $!4OOC6yMm1v5t`;sS(Gx* xVݡ/+nkڈڜC>CgGW&<(v^g;H%u3_4Lz|ѴaGm˃ڭFvC=o6˪;-NbӞ>DTb*y!~'ncN갗.zYzlL-ݴÐj7o$ް0g_iV]oޥ?۸ +ԛ -\M.ݠhz -:Vז I4Ç,$ƙἿx۷ܾ6X‹.LU_d]z?>'G" -p" E$׾fb@7_\],0Sf};Ιt!"+5ɳ(m<(29li!}؃`V8"E<'7j-!I pC8.鴝ozL |ĉ± uFW[(đ.HBƱV\_V(Doo dJMczg[91#T2n&4 VI,$hA#k!.>tNOkopdJMJ%IV"ͫcH -{!]i9A򑂝pޒ %yk͞5sUjqQlL)%NV$7*r$MeӝFƥ's1MM2F@ߨQe}豏G%^ne8> f -OQƂ 6BA$z5]%^_.&X4Xa&[7f`NXeCGD)ιн֦STL^.a,I0h0cK(MaҢ}rE --#E $F=9 fb%Ǟ)cpjk8ےϻׅ% -'`D2z!]H)xzMԧS8z'D!e@[\! -a/>, RyZ!3\VƳiL ǁ:mfTǁQD_%@PʓQ x:ña -0:zn1>mnf Ifv+aL ,PELJq!5]nmc&qx{λ&s6LBlCgsnGD*$JI#+DC DHDCӅǵ, -*9.ȿy`v`v0Nq3@VJJ ȑ]~8*5qePe3?vC ߯fqL0 g/>ߓߟ(^ZW(&/Mޛ;w|p%^޸^t>׍Ͱ/UEb:gAE;fO `}wGSfbRM(,*:l9.(뼣[S$"Z!ifM - ׮&yjãTZG?m:DbLՁ!>[_Ͱ#Nj^@g lKE_~f6"axoϣ~}"F=zGE}pLV~՗ Sw~͞r/,(lh/G6NAr>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43928 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43929 0 obj -<> -endobj - -43930 0 obj -<> -endobj - -43931 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43932 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43933 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43934 0 obj -<> -stream -HWoX+Rĸ~_i h 2IR -Zq{ -+ 'c]ӧozn -oGϟee66kTϣ3.gȬMvKl1],Y^×'\&;l34Y&D*j̲AiC4bnI1o+swUY]Wnyy}$➴-X -a99|̍yKD_ -sfE*jeI$Ic Hc>Ĉef YwkyNwS=p{{^}PpG>Q}TKTKT+R+R+RkVkVpܫZPZ2Z+1fi#hĘKYڽĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhĈZ+1fVbUkhf{ Vb%,^b{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb{ZZ+1fVb,JYڽĈZ+1ficv/1bJYjm{Z+1bJYjm{Z+1bJYjm{Z+1bJYjm{Z+YAk%,^b{1KOyJ):eGMv4XӜg|^Lej4kO$[^27s}|a︝yEz?*rrq2v,3bNy׮鈶u+۵/uss֭&c?>4ㆬцOܘdsJ_m/a KcV,VPZhVTZhEURi@TZЪV*UZi@VZ h%VZZc֒@*- r@)-TȽv>KiKY@KށKl7ȽĘTȽv#>KiKY@KށKl7\x Z*^b<-{r/1ʽz@KރK8rA%CR  h{{xT=ȽxZ*^bKGr@%ƣ֒x(Z*vIaqP:?{G;cߏܪ[϶.ѼO6CΰgXbzᙫn 8`W?75zǟ'ks`~|z8嵉yn-oѤ6v=4[G*ڡI6ĭǷecWj=>. ঝӞ48NnFLJ*/w}@ nvF6-xyyoY{v`!OaﮖxGo'f6OMvnȭn a%>z(Qso@vxu]ҽz'V 3ݲ37tji~~a/b^yy%nI Oz򽳦WˣY7-nBAjIs0χK2xU-ʳVǽ˞|=Z iyG)8'ۿ?߼ΆZ;{)j}wG"w[1w6/Un94ސ~FӠ}'[k,r7 ~d#0}7z,Ѓٔa x:zw1i/.wmzhlsl<<懏6K~-;o?hۜGD5Hl.qCIo;vn+6%}=~Y`) -@+(Ҋ@+*hJZҪV*U)hJZJ@+)r֒ĈeUZhY倖SZh;{1 h;{1 h;{1 h;{1 h;{1 h;{1 h;{1 h{{1KkIX cR cR cR cR cR cR cR cR cR c֒@%,r@%,r@%,r@%,r@%,r@%,r@%,r@%,r@%,rA%,%1bKYZ+)p:J/GMvS5Ls6<#N5k^#*/VU!Ouk;oqnnCʴ[FxZ.&vy;w}a 0k7endstream -endobj - -43935 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43936 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43937 0 obj -<> -endobj - -43938 0 obj -<> -endobj - -43939 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43940 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43941 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43942 0 obj -<> -stream -HWrF|WL J`6d]q6JP$PCYwA9-V*"iМ_=ߪ\xWɟv*4NfQea3oT$.mU_rh?5mnoU&3vZJzI -QSyMVy?i{n6]{7n<}hfx~o7YYc$gW'yܞLכxt~~?ߨru`(WIByߒ9'HN`[Av,%aŽk-s, po{V-po{;N=p{{ KKK++>A&1#tϱ{KXdrXh{ZZ˱{ZZ1bcZ1bcEk h-" cEk h-Lj܋Zm Z1bI,ZK{Eh-Lj܋ZZ ,Z #p/ZkAk9Y#p/ZkAk9F,^ւr,@k9F,^ւrXh&q#tϱ{KXdrXh{ZZ˱{ZZ1bcZ1bcEkh-" cEkh-Lj܋:ZmZ1bI,ZK{@:CQ|jNqtKh9儖ZNhy兖Z^h@Z*V JURhU@ZЪVZAhɥLj%8FBK-- 2B-{rϱvZ #7 ;a,r1b-{rϱuZ #7 ;N,eA9F,1wȽ;@Kނs%roA9F  h[{шD-=hZ"c4|-{ r1+ȽRcĒZh;{D=hZ"c4 --{r1:-{r1:-{r1:-{r1:-{r1:-{r1:K-Kjq@Kރ܇,T}$/䢮Ҫ^%a$x -UQ&yjy_/o8UYy$k"W̸e47_Yިs5vv6;55\5ڮԮv7ݪe;,܆h|Ƒ~{ Z]5mߨSݪg*{zXV!̀Sf~Ǒ }]~mεvmv\q==a/:y)iLmUMfݛKV_G s.}ޑp~ȂY5`' w9qقrt^rL(ݱxs>Gw={ KS\|#j]ikُW!(bV}r7'[ۭYP*? -ikoxwx/jMWfl0=DPJ=>O>X[dḇ˧[VХ}{ϔ5v k?3c-:Yh=r'y3cfNNh%}tn;4[yuSVTM[yA]1/:zg<àaO #LjKh9儖ZNhy兖Z^h@Z*V JURhU@ZЪVZAhɥLj%8YhiZheȽȽȽȽȽȽȽȽ" cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cĒZ,{ h;{ h;{ h;{ h;{ h;{ h;{ h;{ h;{ h{{Kjq,@9F,ǯN.j)UGy?gio_-tQv7,F)4~o9(]̓nx~kf8"SS{C"]}m7G6.pstqF}3Լur6#z"\.VeVcNWr9Sf{zCxҸnky=? w {:QXwj?>n*qseJ&y&I7z[?ƫQ'E1Xa=T}RT9lxipiOǞ|R,RTAuތwaBd1Ynn]B(/5/-8OG6ro7;z%6?$iLj$`z"FV3U'{Xp7Qxϋ-}7! 8 ZJ ⃊eqPY۝Sma7P΋Lspޥ/Ka< Вզ3Y8l֧t?Q][?4}Fse{@+HCogF -7`P -!櫕Nu6@pAD[eFoIqZ԰X׆Bهh~7~Ϧ.N\ܝBKCfdvhJoYDIsv7 - ع^Ces.\s4x#]wpI`Pߵ mfFhhhqɉJs/ 8ɣ IU>Ci_YiZoPeK,6g_nǃآ}hUrN%O9V.vX¸ooe:v,^.!Z8v+PbD9"%\;αF3yHnrLʪt-N y -kLl]*PX>Z jO2#+b+s]Y'ËV ~^}{f+-%ղp³j@robdۣe꾻;5B7^jx~XxVuI? 7,?(.} -LFU"l4Y [k tr8ڪH` &d7ˠ~xY$+fܺ -< qUWO\]'K'(Q<]8mW e9`H_%%kOAc0[\rd=ԪOl5x,u7#M~'۟R2Pn{<Ϙ-Ej~"bH t r">h~Kz}+W ` 40_QUcdV}߿|_J endstream -endobj - -43943 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43944 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43945 0 obj -<> -endobj - -43946 0 obj -<> -endobj - -43947 0 obj -<> -endobj - -43948 0 obj -<> -endobj - -43949 0 obj -<> -endobj - -43950 0 obj -<> -endobj - -43951 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43952 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43953 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43954 0 obj -<> -stream -HWێF}Ws7^ F 06FFJ̬~O5/K6va,>]}{~}Hď?~&;&8U"KulDxEtPs=]}ވ~)zO%X$b,R7//aRXNO:W&َuwy'q[Am,7.\L2D:J`O9ұ/B&Ws""*t+8INǨ. cTXSD Fp:!ʳ2(!ybثbثf뀽f뀽f뀽a؛a؛eۀeۀeۀ}ʰO)> g ,`1쳀}ư9> <`_0싀}4+c6B}Pj}BP!{ZF(}ZŨַaV1m@1mbUj}jZZF(}ZŨַaV1m@1mbUj}jZv4ZFoQo#T޷*dۀbTŰT6B1jF (FP @Qo#>PfTۀbTŰT6B1jF (FP @Qo#>PfTێaTm@1m -6B}Pj}j ZF(}ZèַŨַa0mb5j}Pj}j ZF(}ZèַŨַa0mb5j}1j}B (FP!{F}EaD^GwkRwL?Rq*ҴctZ듸y%t72_Ue_MrE\bSU &]KNH%gm,C}g\X+}Oۦ/f"qIP9C3:rul^>N_z3>3c[7LJ-H`B]IN[Uz#n&t $FCS{3:9B&ib&j߾ _5I*lcnߟꇧH8.œc*0ʠ:3e~;vK<,F[=TC5/[c -8R~*bnOiPPeIql"m!6"KaAlR /tB.Pn,bL.Xn8Q\f^h}cYJ"kQ>wk&)U=NXk)DŽֺC|H##-$*͇,.bƨF%S,5M^'T2ؘ{y 5mnSuTlj[~tqM Nǩ9ZN,s+lAlq}eՐlm5zrh_rMpV^B= #jmbDAn,*"|&'muThU6O{Ь}]uC#:.RPtuȬZwh[Ӫ^<)MP[A>OO^s[ œz9.e1@w%8 -(9Ŗ@ߞ#A\s2.h,z}kJ-O|sH؜s ,>eUnI\WpsU82pu}SˢDI} -BWLyAo_ *s.WU7bȎg{'ZVn{u;s,S7^&;q\xA\"QtP.e7ænM&wWs \S_[m撚( oO_lB;W DC*n_Dt{V(vкki tK -Cz"?[w,f5- ry enRElVf8%nK8+ \)YZC:<]$G[,dTm-fhif83iQ\·弄:"ޯKlڮ&⧪V)Fm"ָ[lӉDRcsG ^ UTt_6m6խ8t`۶1P~_վ|A!3x䁾RPDg*80tqMAzDC>"g2/(+rH=uV-aOlp:h@@&_ <9Q!e׃z|)H1nV{ -}}D߷":Ht#5Jv9]:kRߪ5XCn -Ў2ٷa#J.@,oxWr+!?,ST# @qm:1YrΏq_d ⷛ=Ti9.:'6(MCU؈&yl3>ܖJL@M$=bwAI4'أ"RDVfH.@֚)`YɧT1,(ݣ68.i ޿-p{0Up~~ zM{jf{y8$y 02]^lbQ_|Gq? =ZR4$'MB*BsbI~,-[@Y^ނ;QQh㗯*Uw:Q !97rn~Wk GؖZ;-GY嗍@"' Ч[O0M*Mo:p燰 9pȤuo`j,s`lA?'EK>4`Ҙn뤇0O DCKeh#ⓈNB_hgB.fS/mCj7rG03B@ޝH&`)A޲ErP"YoVA,!|XB>؊[_y0ds K|ZӃ ˡv[*ccB\uWژ"J0HAB"6wz yJ u,%͉"th7H JAZCTMuL|E&ux6D((?'g\qg],lɋK(<&ȖJ۰u B#T)?ZfNͫ mَ6PfY?.]Ƅ7Ʌ!^`e8,gM0RP7>^/IR*N?z由i at>$7[9;#\_s'D) %{Km+I0w0/ſS}iLiqbq˪XrrbZ5*I]$R0KֲIc(T3BV(\oJ]( d'QY.0@Q2~s7efav`ïG:=޴XL~ꄩb' ϗYGN+owxfAڠo/ Oendstream -endobj - -43955 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43956 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43957 0 obj -<> -endobj - -43958 0 obj -<> -endobj - -43959 0 obj -<> -endobj - -43960 0 obj -<> -endobj - -43961 0 obj -<> -endobj - -43962 0 obj -<> -endobj - -43963 0 obj -<> -endobj - -43964 0 obj -<> -endobj - -43965 0 obj -<> -endobj - -43966 0 obj -<> -endobj - -43967 0 obj -<> -endobj - -43968 0 obj -<> -endobj - -43969 0 obj -<> -endobj - -43970 0 obj -<> -endobj - -43971 0 obj -<> -endobj - -43972 0 obj -<> -endobj - -43973 0 obj -<> -endobj - -43974 0 obj -<> -endobj - -43975 0 obj -<> -endobj - -43976 0 obj -<> -endobj - -43977 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43978 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43979 0 obj -<> -endobj - -43980 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43981 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43982 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43983 0 obj -<> -stream -HWmo6_AlZ|KQ";4 .U\I77#Q9E*!?e7Y~ϯ?#(_jfrSɲTq#Yg?X%1bP=]Uۡ_IG6F|TLCT5YlSGw;aW7$\$W6oOh-R|o*"[g]+(k6&@`45HqɞHo'}H؎EJ4R㷎le8D"F$*6D|Q Q@܅6@I K + -+ -+ -kk   ا4`Ӏ}F> g,`}N@o#Iַ!*dEַ!*dm"TET+ 6DJB Pj}j%Z߆(}ZIַPoC>P$TET+ 6@m"j}j%ZVGPoCT޷PoCT޷!*dEַ!`Vm"Uj}6D*B Q@PoZ߆(}ZEַ!`Vm"TET6D*B4Z߆oZ߆oCT޷PoC>P&TET 6@m"Մj}j5Z(B Q@PoC>P&TEַ!`Vm"Մj}[B Q!{(B Q!{߆},mDQ16HF;|S]aW7cwa6J͖-f)O)扱WOQFDpKq^^r]; vRi3[7#& 8;ȄܫʁOMpe<zNxVj=ohpq& K]#]+P lyJ_B-<`þ=>Y⚅G&Yyz4ȏrB,v kyLY:fgw3 uùM>;?mN zJpM:y¶WZR/clF'и wﱕ&ㅆp1~]ypv]|_Bv}9ol;dmܠm_P47t:%kx-aS h9GԆzD2s:AP6mh,r%.mfDԶū: +_?'ej*M޻x !܏iPp% c eIRL!y/꧃lA*FX7OMw9TmE7\LDۡgqgpA8 -g/ШV*c+xdU{L74E\nkH kŭwTQItfsZu#)xw -.2< -7~{˘{",Jau [x6Si\5n}F˶12ƆmA/$c > ԪbV# ͏WIeif8ݝSWO9pp`Y[OӁCdp*[ ĆX# <=bw`B|ByKr3!jD?^!2a -K$ElIu)Zá};cL8wε)`Ǧڗ v/jݐV3pff2^;n@_#R -c8CUU]T "Uovhzxƞ̼7F Ptں%|Ϣ!&؆h e]WlUv"wcmx@,,4i]sHׂYAE5sh5Lqľ=]:ӟwo} -s闣9*Z6{ʵ=$LY&q:׈FgkWTv6H֜WSI34ǡݿMidwZK0e?mkrt2Nf)Q" `e;]J4b1 -xlULք"/д?s*i^6-H- U,{ ^h9·{Y3~nfѶ@1JZȑg{=D, ^a$L ߇1p%(uXYZI#01Io dHn؎7do ZUGz9HfgBcY\Y**׊q,K " i7fI/x64C@+4# - 8IW{^ľ*gxggbt5,,Cù "bh%4<=?<}y|z+<"endstream -endobj - -43984 0 obj -<>/P 1049 0 R/Type/Annot/A 43985 0 R/Subtype/Link/Rect[93.6015015 196.828995 226.970001 216.509003]/Border[0 0 0]/H/N>> -endobj - -43985 0 obj -<> -endobj - -43986 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43987 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43988 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43989 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43990 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43991 0 obj -<> -stream -HWkX_qH`|_~h>5ѶѮPHģӛ8VTALnݲ]•y㵘ܭڛF&I~QfM.W>U{Jͦz2vrIK}l{4mc.t*:]An?wɣ -lͦ?guUgwFMnh俻AR{W&nlA:R} >CO+ah=M'|=gU%rB-'} -$ozG=\3RgMv/svuF[)N1 X2ę8_DK鳴?g^M~,&›J .g~o;ҺL~<.mpYd.6ǃŦ;W>3~uӛ^{{V6Ϲ[>x{?C2ֆ x;뵼Ycg-EΙWAO~xyT0#ݮBec##Y*dVifrjq3 ]Ϳ͇ϛM:#Ÿof֛-krCgu5iOlf&> ww뛵5ۯ=V}5~ꅑ' 0m8Splw -fOC!w۶oޢ(-9]A:yܤ2'ǕYv~9?W'ODC*ޅj;VQR.{Sz*lDoNSߵ_ͻ]Ķ{ȏl8g cZz㶁ݿBZ)R!iShrѮYag}?>KRRj ə)8dzy3m _*14v`R 8=1y5:0]'X J_''TEn++72sgv-4G'KEx"¸+S|^`EY,R64 [Mc$ɣ$]u¡ -6giZ@HHv=.rLehn쨟(f4s}nxX黠GuT{Jl`OѼ! Ah. Y~&Mbw\ϷF>H\KR %Y fK;-YM(VD~v,"{Z+mLuU /e_wUR8/;K(Q1@/]hgY/GH.IL{gYPȵ4wͪF ösl2npr/3K*^3Y)/ݸV -";9DdH<̀5rНj܆;?85e覾< ̆e&nI$䥉k"ƩW ^QCܟGq+G-]b8r8|')*񡚰r[T8BϪ (&<]]+_tjB7t;#(.ޥ~b-aZg}A^fwԂ/k.S n+XeRG%bUŅ̲]+Ebk~ *h뇾b_ -҉he R0v'!ͺ4>Dkׯ0n@xSNJr"*) NmMuP wlƁzGb4 0A8\ďZ/'а [I]ie[ʙ9fu)͐N\6N-s rrO5V u!?,ALtXkĝ(PY&HX=@pGIM'k4\^?aEPA9!ʶ)(ٗ;c>ʱ|k肱cyǭh+05zDFhuR*uU/eRMLI,/Ih3?)J!O2?5G-Y&AnD IA"%pL56vMk,#)|n1/[KZ"X V"Q=g=mhFQgT" ҆w$gqi\$:-Ӧ G gJ) WZ9&ďzwÓPS8ďYɰY8S3JHigNPL2,,*b/>3dԕ`24a^r>R7^O4ⱷJ3zg |ucABixgT% - -T69صf1(`!vܓby~߾F ]44r^IyN0{>B % asD-BSS88r.ѵy^ - O@eY -}L&Jo~o8aDg)ΗaR|Vwؖa*/"uʑ;)~yȸ6Td$;|}mjQVQhZ~lc/7W?(Ʋn+ 27endstream -endobj - -43992 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -43993 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -43994 0 obj -<> -endobj - -43995 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -43996 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -43997 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -43998 0 obj -<> -stream -HWko:_6(|z`/.pEmR$nIQ(,wF&GqP#ΜKZ?N>]3'_$ ӱCɢPZ*fٓ'Xμl\U*_*N>HNB|SLK%%,5Ycx0cDŒuԾg,2*wj͏泋A(9}Eܠ-<Kw~//&8 tGvG%*y/kKI\LbaW!}.!J(.y(I{I{EW{EW{EW`8}{{{ >$؇`9#}䰏>&`;}Of!Z۷$Zۇ(Zۇ(CPCQ$TkEwT+ >@}";jmj%Z(BQ{GPCQ$TkE!`V}";jmSjm\Pjm\Q.{(BQ{GPCQ"TkE!`V}";Ujm>D*BQ{GPZۇ(ZE!`V}/ Tk岷}"Tk岷}r>@}"; >Djm>DjmjBPjmjBQ{GZ(BQ{GZۇ(ڀPxPCPC!eIÿx dLqÏ0Lbͮ.?]*6@qg-]VrG!=t\'km(ldڟzt͈n.Xh]|ͲdzOy|Nƺ1m\UϏC^d1Ң3죎/l|WH_S݁cx>,X_v?@t~xC `TR1aD!(P]e`EjmlTrBgR7/lucvTX4`(t8xq Tpr%&r^<u#v29l՜ hee3]?w)1w *: -jlkbWǚjOk~–KFQ>},fC~<% Z-.:9$ I- 3_;WsEI5+] Voќ+!FwY[csnD\G;A@ -TyIhUvet- Z d9Y UsX&SPpǝ᠌ -ئce+[Z2zXa-u`_}.pk }hl?rୗBC!?IITyMYLI"/_#_e5rRhjra(C/]<=T)0*I]~[җ8J1̜8uC_A?ԡƧ@/00@q=_twYeI ̻+SVdUsv4nϲ"}X摛-SيCW{dja&C/vv.!Ho,xpl -ӟ((ci)˸/b4P%cd-6pok3 Mk›l 'sMKd/LV`aK &c=+ʺ5Ln?3^-@_ ⱻA6C(TM$Rw%֞4g#joNum=+aiq@SU3vpq͓QbCɇ:lDZoOr5p{K̠d\(UDߟݏ >F4vWt6=g=2&~Y QI| -\FRjjZJ^2=4ǩ` -"֐=E RCP=JiA2=W>@ -;{7ˤMݸLEq,u>8W9 d!ҠF'i_iA' {1#VV=YJJT 8]o -, Pu`ѷAcGT?L 7ßrdKI3âs(rL 5l9"}O(jxb$!+Ggy&e@SLK-c,?+lDzݡOU~ "{FY|{\{Xyj :\Zup^ %? -T܋ ̉ҘcgXX,D77&q,YLl3\є.%^IdѼl,]4F { c~68;n+b<4]ԾOCXRڗa#&I> G1(KZ?f{+f`,eB`2AG MMIt@}q*(A@qQJ!fS-E/1V . -{Oq]?w."xyҍ>V}@2<^}K#ʺ~]oyZ(wHA{O>` -lzqilaV/ Ncu -l Յ;Nfsm_VO,?~#>w7JIK(sSu# p6 n el߮o(EWY'RCxjዱLT_PTpѢ e2 .='B2u _FėNkD4 =͜7Y"OFف[ďǺuشî<{z /I<,4'lE` `?3!! M P6BWr{#<\tqC'Q +Dwv{}MdF7۫W`9[>endstream -endobj - -43999 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44000 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44001 0 obj -<> -endobj - -44002 0 obj -<> -endobj - -44003 0 obj -<> -endobj - -44004 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44005 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44006 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44007 0 obj -<> -stream -HWko6_2`K-z] Y(c:KzwE:sHK\^{O>|Hb>>TD4#&T/1ٓ I$+tTcIИ{$3,:> K",W;xC3O=C3O=GsO=GsO=GsO@ O@ ODKODKODKO}O< >ԧS"SO}O= -Q< -Q<>gzϳ1C\bw1`!u1ջa] Xk]̰kZ3,DZŀ Q﹖!u1B{ek] Xk]̰kZ3,DZŀ Q﹖!u1B{ek]8Z3,_ q WbB\b\׺a!=rĵ.,ĵ.fXzϵqs-G\bB\b\׺a!=rĵ.,ĵ.fXzϵqs-G\bu ׺a] Xk]̰|.fXzZ3,DZ QV u1`!u1B{k]̰kZZ3,DZ QV u1`!u1B{k]̰kZ WbB\bw1gQeߪY]p_dwh<,JHddWOc[krsGc'}y{뺳_E[?N Ua[OdsG -ޝdpF7abQ4x5ĖmUozo=F "ycDÔ/]8SbQ)"W~NH4QM6} Rc{^ȫjưmtCZ0bVҝƋ@,*y[EPdl h矟;3eѧbOtC(9NAJ$]OLÁ]x -OHc8wT1/(baG -VuzjY -]TKW}seovߋ*(fcԷW5Ye[{T -[A3][hKIFc{nECl"Vêkod Ÿu\4OyZommrE:Gq,37/㞼#0)tޝ%`8"-t7s|gnݞuI" g?`J6)apјe0+,iJ[~C&Kq6>˶}"T"n_:fЅ9/vK<'+_;]9t·;ϬiגKU1ks5vdUeGʆ<SaQ 0(W*;n<*|n2h']p%ʦ.{Lq/l6H#L pȋeo?IyS w,| /kKhOFHGM/q@r"%N&(7kh+67iٖX0p}$憜f>3'cP@ff?VK94xֶ1ǩ-nI+e7eit2sҌ/\8pf& \O8rP4R^GoqXW0F*B3Y)/ɘn40 -WKl:l|i]NO_s?1ն/ xEijHJ^qC.HBLL Ӗ0M~C) o^rՙ$;c>ۼ lƐ<mgq2cW"#;&V&t٘ot; e%ϥ~] :tǥn2G}dJCA<^+ĪFq8\0]?m׍-^4dk,+61s3~EHSIEQ AOID=o5_K] c՗x515118db4[O(:#tvrIH2 -3i>-CsR6sV[,><~n$|<ɰpP$= 5w\r@V4 <-XS'4(iXpWBTǹvJBvAeWZӳEPc]{9o6;j=[1u\Rw|*1_Og}._^F{;J|q,ߧoGگ -MqePH3uJ]X8TpR%t=*|mZS:a%] {~ -?«m+rtaYe=CI<o;;(9gOdJ(a^bv&4 l%Za fgq& z "cj,".U~جUT3e,rGܡTR)Hi5938EZTTÝ?:J7rrUdZ3 7TKtt5 jf7ARRe&P, eHTl, >! - 9!9{"LѮ/ݷN0 g9$c~vS"/l8ʭ$G!߮ˆKXX1nK2YU=]`ET>&3eFƆ;,w$ N_%LG+]J@IM8>Pah>޺މuó$6^2S؅)jd}tז}O#džp4]"ly;zV]NdO4I;;Dw)\`{=W7 -XuhkpDj<#"q Xg1h5 %VETnW*4:PaPcPOW,j>Bׅ8CJ?goGr60ZL5*LpRvܚx`$&6h)  ePqbʔ%PՉ -wxCẁzFL2&+yup6iv̥:CGE2G\jyG/D\I9yBOWߗj(KOZWLLOW،aRZE>QSP8JXi:TTg/}'EFIɍ$ m`hݥfq$.FfU56V l7bKrR+CٗN|FLKZAz/%L] + ׮?GL+ 7%>387&`BF,leI1!5D+KHz׎6 "Bmne2ۤ3b*)MZ2,WUc;d=NP}ٸCxSZ'0wjܰ~ڗ9tn6^"xj]Xi/@2gpJUcā7+M2c㪼s/Ǣ4P/0 -q9 Br6ǹ_%u,)֍*\yge?pBɽS3UҘX:յc⃁qa힄Xb0<)+xiKN(4AZ$#Ƃ!-ǬED*Y}5Vhz!"ICIE2<ryЯ% Wi/yTQX;MNz S8Qw邟eʎY:'qhakJZԠq5 im(E -Ch';Ou 97zm -}Bl6i|&|qIZD4]7hNlj 6ќ'6H}ݧ 0$, endstream -endobj - -44008 0 obj -<>/P 740 0 R/Type/Annot/A 44009 0 R/Subtype/Link/Rect[93.6000977 518.429016 222.936005 538.109009]/Border[0 0 0]/H/N>> -endobj - -44009 0 obj -<> -endobj - -44010 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44011 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44012 0 obj -<> -endobj - -44013 0 obj -<> -endobj - -44014 0 obj -<> -endobj - -44015 0 obj -<> -endobj - -44016 0 obj -<> -endobj - -44017 0 obj -<> -endobj - -44018 0 obj -<> -endobj - -44019 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44020 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44021 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44022 0 obj -<> -stream -HWko۸_ -2|I6]hEchBX]=|%9nC%rɓÙ!E6o7޼S_}cćsJq$H&+s߻i?eon2|7w[»Ygb%@L?_޷.[vy]WxH_}_|8%@LC]@aǼGLr)aЀqv.< -f&'>'}}B$o% (;/ mNrèpH6Yn:c.4+DXv\6,zzzzzzQ:CD}>BGQ9cD}쨏>FǎzWzWQ8DYJ#1rژfmL\6,ĵ6Yzǵqiq-G\kcB\kcw\ژf!rĵ6,ĵ6Yzǵqiq-G\kcB\kcw\ژf!rĵ6Vzqiƀ4Uoc媷1`!1B;kmLkZZ,DZ4 QV 1`!1B;kmLkZZ,DZ4 QV ғkmL\6,ĵ6Yz,W qiqD\kcw\+ژf!Jĵ6Yzǵq qiqD\kcw\+ژf!Jĵ6Yzǵq^4UocB\kc媷1r'$ISo\w`?S=|xȏbK[p\>E^ȫ۾Ϛ,\? &CY~9'!,QJ5ss+vTQvl5dλMߐ{KzHɧ#WyE| {baMZPI`քTHRHD$|U vu]oNîN)LnJ8x6S^7CoxIǾ&ɫWքs&ľ{nF=Xmu z2{a/ļBfP'BLfս,}MWiw`f s"+˫k,iDbZ^^cI,DxW2ŕz '&/ !U֘6ԡ6yePL!51~K!i=9[.kP`sˆbW'CBq5Nw(LJ -Ő` >㟿 ;x 4ڧ, W`q0C<$QjNI$cqT7̾5:E "JF:D>VLwݲl0Fצ)%|3'V&"J7HiE G=x k '0 ;?Q:hQ퍦pmv`ro (U6ۀӳq8Үwy>BIBf\R[Mp8 _0&B2PmV.\؋-&J˳a/4yicئk࣐v'՚b c]u g/fDFDY#2zsŢ9kD,;>~pu7K Ҫ#</"9|]ت'k/a~ RpM3n :?I;}YCnN|lk?e/?LDDLUj!|ٶ3,ʾ)VDZ}1`J=LDZu<<_2Pw8\DMr&Az6'\~}tHr:6~qPLW8ۄm&eiVk0[ -Z[+&0K7h2d0:`2AĸELwd9y?"N'[dZ0 ^y1tA,U"S塔o+$4AH8_|s~Wh*_jX}е4fCۢ(@?Oyf%Y/gQ&//JZM1UEQ8D}ś};vHtU86lG(1}v <RcXъDfPBIS7~0!p3ܝZb{|Q{]V\BӲhoShb3?yZ fuBƑS!]]Dhw0N͢턬Bys&5e;s=v)$&X~EEK%7^:_)VpIT_V?͢G=&1!3r^tUo]/>O Gendstream -endobj - -44023 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44024 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44025 0 obj -<> -endobj - -44026 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44027 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44028 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44029 0 obj -<> -stream -H|mW R ]eo>vYe,e]DK$c#yht¹l۩'O<{\i/O?K֫rYaUY,j$MĨJ6ns>s>  KKK++HDҋ5`hN,ZKZtdzKZt@z1L-ҋ`j]`jF.^LS5rbj-ZEZ Skr\ Z kkZ0\#H/ւ:q`jF.kkF.kk:0\#H/ցZt@z1L-ҋu`j]`jF.^LS5rbjZEZ Sr\ ZkădzEZKdzEZ Sr\ Zkkz0\#H/փZt@z1L-ҋ`j]`jF.^LS5rbj=ZL-%s-r\2=ҫ*^HQArDz -%X`yV.X9`UV!X`UV)X%`UV%X`U+VYVK%Y\`2e, Xk%X\#`[{ac`s\%zoAv`]z5r4vq$kt,{z5]dKށs.2%z@FWw\+ -`;{D=Xkt,{z5VH%Y\ `{{хD==*Xkt,{z5z,{z5z,{z5z|,{z5z|,{z5z0,{z5z0,KF܀%zއ, :kI8qquiTNާ!WKcN~|_ʓ gXKКPmf uպwjfOjj" -:[uYfRpUO)8[ӏQ4>~l:m7Nݻm{Sگ꾍cCİeN1ZnFܻ?}3dpwnեQF5m7ov)LFB:^F?{׿=__EmMN!kN+"|XnC+JU󙦫x5%rqBt_^6jovfVԇ 9?fy>zE8}vN7g738])7Μu Y5gteq!by\6EV֦#wcOݡ]f!8[),N5HQe~|Y~`1_oǯi:A+UfM=>ph4l`P#YpYzc6Bׯ= ;r|bUyi!ԓk 2 $0C}ݳمLSPF-ߴu}yg~27HP?۶44ߨ)b?dpiΏ~EK>6O'C`p)>㑚~5>xL~x2GF\ ,/X9`傕V.X`UV!X%`UV)X`UUV%X` -edq\ŵ2e, XV,`[{ D-=Xk,{ z5rKނs\%zoAF.w\#dq-@F.w\#`;{ D=Xk,{z5rKށs\%z@F.\#dq-@F.\#`{{ D==Xk,{z5rKރs\%zAF.AF.Zts\?<۟ƇurU[U|y|/J߇x2ENՇwFttm Jˊ1Ӫxt-8|念-V~2^ͼ[g͢-.^;mݨ(<)]ma1vb4.E}i櫩sEof{x.#:]]lfu?!N!2V6noL*q -M qD}!Ai[YtEnzN*R,j^K)bŦ< hidHN F$AVV'/ioO9s=I,ccUazq;+{8L햾e=pWE" Bg >C%)j |-g oUT>d8-0/ǧ]KI -!-رNPsc%*Om:P⽞>M鬿v3Q}GȸAزpЪ:S3:.y7,N_27qsw-7͉]ehBlץ"K oAuyR΃9cFs ݝҞ@n~k^lRQ{$bm9yq jk˘yEcU?fj#  -]!:M!2^^SËjl Aj֑7,9s^'fŷ:M# \\]HO$,+IQlSk j+A,+;փ6;`V5>JES0iґͪjx: n'.'T; %a䕇,ǥB dD#x92(=Mƴdqvpz::f]VՔ5dzW8AWӘ)hT"qɄ$(":4=9|퉽\5(3cf|́w!ΐu^:$~ -|~ʀϖB$g}\az !ۓ` {/x$jjc-}n}`ZLh㦷ApZTMz=ZbK;w\} 2}\($9ah*7h^$pRGј5-yroX) -a$$%ep&j\1g<<# etܔOFRFf؄@˾U:ڧ罟c0tTpU²؛ 7"# `-8hnG{kwv -`bQQA'jS5ܛȩ'Nj凜dixqv )q<*hȰ3S?8aN- -J -z<4&cӭ'I;Ģ47+sDu]@Ab z52Dח5fn}o39j_*R%25ٰvO/A"oDd)f<0uuUmKKLq¶bdiouMR, Xp7nnh妿/sOL/ $sendstream -endobj - -44030 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44031 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44032 0 obj -<> -endobj - -44033 0 obj -<> -endobj - -44034 0 obj -<> -endobj - -44035 0 obj -<> -endobj - -44036 0 obj -<> -endobj - -44037 0 obj -<> -endobj - -44038 0 obj -<> -endobj - -44039 0 obj -<> -endobj - -44040 0 obj -<> -endobj - -44041 0 obj -<> -endobj - -44042 0 obj -<> -endobj - -44043 0 obj -<> -endobj - -44044 0 obj -<> -endobj - -44045 0 obj -<> -endobj - -44046 0 obj -<> -endobj - -44047 0 obj -<> -endobj - -44048 0 obj -<> -endobj - -44049 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44050 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44051 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44052 0 obj -<> -stream -HW۸BEF+6$K8Akɒf;%wSYQoGrސgq//?y6NW^}10_.c$Dx|(_&J㻈U]~*뢫oں=T;TPE?~1z.W쫈Y &6g<^r9q`Ah1R< śvo5k)LjhOao:?!s1K7>ƛ82"K>w3>GFa 9qX*,+cb,d!̲ c XPPP/P/P/P/P/PPP> g,P :P :P :P@}NPoPx.k1fYzp-,+T1 -c Xk1fYp-,Pb̲k9ZY>p-'\1`Řerµ,B}ZNc"\1"k1fYp-v \1 -c Xk1fYzYVc"\1"k1fYp-ƀEcE\+b̲kZp-,PVŘe -µZY>p \1"k1$ZYVc"\1 -c̲BZY>p$\1"k1,µ,B}ZIcE\+ b Xk1fYp-,PVb̲k%ZY>p$\]b̲BZYVc71F)]z]WxuIgWjYZ8,Y(7ܵGKy+ooc)˦o/(B8eѕ o}?N.t/kqT%q\O;]{;˽\^$=)p+:&֔ DO?4=U7ex1+\$,OY6_z9׋4H\yDT^)-M]mP:#jm@lc;ug4%-ɂ~S%d#YU Kd2wvD& -wˆĤG,ⴜ9!E }+1gp٪?.Eht=2)Ö/Jaܳǚb *98:/ c}#`W,eհ C ة,y+cU/#*a"nr^_FPl0;ff}U޹öZoQlG:qor_6$lH~Ee מϡFgxwFL% -J.~/o\#=SV/895dP{O )J>M\Z4?f\5-5T/j<]_=2hUsV˹pT6r0v澾?K -o,??IqᯗDZ[;f$ڦ|T\2T].oL-nۃk\ .C2Lb-Moj)I 08b8S?-(EȺ}pW}]N!3 -u"%ӤږgLmqWaKɻc- -ط5[۾F@t쪵{ߴ]5 PqHqZ5PRx(ƾ.O6''ywSvj]tU;5Ǒ5S*q5rVw~eBu{9vx^^ 8nz3Y۳v -ގtt+͔F:̗(;j඘kؼHw>_n$ـ7U7RaA1Ԇ,aRSUT_P9-ն D+[lTui>4MHӦ ! ] %Cٿ^lR0@ ə3gB]Ǵxq30JdR9!]*{pj]@a;gGNB͍Nnlo;ؽ:6E{4Sx:uDD*vE -?hAF=Zu/欠/N=#gu -.YL\iX]!\Q)AtfRd /0+xv ľ4(u54D -kp,˺wKSh0R#DZqjZ;mRM]ŝXtOXnW5 5yml:ʕ5N@ׄTs_8pm%2c# &%Rs2IC_6ňD<'C[z׃_Ixl_jf<ÅO0 .갹8"4g<]m̐ߺЃ.!$wC=EۮO^Bfxj=cJj"7UMaZٕR㒦iP.(;hLYΚ -ף` ɠ?GWqc 3f&kF 5%9!xתy[gJ 0L -권0ndإhE$9i2Lt&lhYi:360ѕ 5]^u%Yp-v9Jawzx]$r˿(^K/Z/(()eZ9$gbƒ"(ݎ"w#9wӇwoXm͔BBdsY -S?tǪ~EÅH{2E*UNAoG:kL$ n\XgR癒g(ǒTStCtGW\quz)vɈs>ѱTHɾ80`rwNr'Ft͑2{Rs_x)~$ [\・* }C’WS@W&И0c|< _BhMS{0-^-䩰Ɓ>Ia9E2"]h%Xfu -jS/(LYNL5|Tt>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44054 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44055 0 obj -<> -endobj - -44056 0 obj -<> -endobj - -44057 0 obj -<> -endobj - -44058 0 obj -<> -endobj - -44059 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44060 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44061 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44062 0 obj -<> -stream -HWmo6_2$EKRe= ) -y*ݕ|͈Қ"g3Cru?ᄏ݇,g W7 Jf`e!3-XoX>aͿ';t}sclY$7?}~Hn C26wIrf1YWlsLje5" S|z#t~|F{?~}ScOWo~>D)^?lf@am?%2x~J_gXbd Ĕ+!bL126DӅ6@օ(MBC^D^D%^F%^F%^F^E^E5^G5^G5^G }/Eľ$ؗ`_FK}Uľ"W{C7{C4 цc"Ն6DCՆ6DCb PjCjІ(}ZA6PmhC>R TET+Ն6@ m"GjCj(B QHPmhC>R Tڎ$Tm"Tmه6@ m"GjCj%(B QHPmhC>R$TE6!`V m"GjCՆ6D#JB QHPmh;&PmhCT>PmhCT>!*fE6!`V m"GUjCՆ6D#*B QHPmhІ(}ZE6!`V m"TETՆ6D#*BhB Q1(B Q1ІɌ1nMr.ygy6[wh -VmI[wkY^0ϦgnǮz0CKYisťWq9 xr^C -6k0 -((|i]"+ Ac=;]\duJm+pZTW ma# -0A"t>QV7G y]n5/K104/ H." -1%uޕKH^|݂TZWGRzU=p4Ttab3untFWdΟmw:Ϟݸ^g 9^\\rvZf]",{xzJ՜Ӡjp=8iA,:\Rȿ$0.ܧjל3p5'4\x7aTg"4\MUNX*]:hLAZ\n_;^NJWծkno8ZPq_sC\nAC}h/T?r1Vh}e|SR+b9h*VFŪ`a<9,)2 癞.RڇYg+t: ._dz/D&GR$a7u)%OwAgϛZeb};Myy'-u؂6/u>]7?8qvܔV韶o8;9K>ݹꚇ((J3\O>H(Ռn ֵf]:sk\N -o@״x}iuޮy]{ZK f\vdpFη1 8@Ν?8bݷ@6E"N9i=0> H+:5}P!!kJm?d[jOi_<Pۮ}B uSAD+=\ЇuH&i-X;-Y'|sb{q4o88a zϯH-KH{HJT]n|$9av3x潔dϋ"5\l$ҷZI.: <wB 1EiP^M6!f܋V.9\"%1C8c3ǙLcPթ 0{jip"D6,R{3=wmSnܺ^8vi$QPVfgԐn# \n)C*H$BϋRa/>!lA4!'RP'ۦ1NGn \cyMK0&zvGXSel%t;QYӜR -d>xʤ#HW+҅a}L |.t_l&j)Y(#/Q0lN!j|.oOvhC~SYUuwD ϸfdCrs[>TR9dD4QB{ H3d:RV)a;ҭ6_b_ޭHI&x;UpTB1\h毞৪[OTf )#]$ӻ0b`3Ӡ3B)dkC9ԝaNWu]>)+e(55|%]T\$\S:?X"@jLmM"ޟvš붉{*˛? ]Ʃendstream -endobj - -44063 0 obj -<>/P 388 0 R/Type/Annot/A 44064 0 R/Subtype/Link/Rect[93.5999985 462.82901 232.931 482.509003]/Border[0 0 0]/H/N>> -endobj - -44064 0 obj -<> -endobj - -44065 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44066 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44067 0 obj -<> -endobj - -44068 0 obj -<> -endobj - -44069 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44070 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44071 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44072 0 obj -<> -stream -HWko8_(Kvfv(TN{IɲtytD7͇7޲o\H{ 2BHQjU%3 >Ɯd#0fY~8s0 k1` B BKBKBKB+B+BkBkBkBDŽScO}BO< >'SSO}JO=>gzϳ0-ƪ@Ře1,µ,_=,W1`Ře= -µ,BZAc"\1"{k1fYzϵp-ƀEcE\+b̲kZp-,PVŘe= -µIcb̲|,_=ƀEcE\+ b̲k%Zp-,PVŘe=JµZYs$\1"{k1,µ,BZIcE\+ b -ZYc"\1c̲|ZYs"\1"{Uk1,µ,BZEcE\b Xk1fYzϵp-,PVb̲kZYs"\*Єk1fYzp-,W1gaeEߤfɿr_8ز -Vצ-6eW*]to4;S[)Ҵ_2+Х>38lȻܱL -E嚝*Z.LqDy(dOANљM?ק1 3Yqd{č//.Fr-c+*ǿJ$$8 yr"&/١Uzgݰ;5x0'v^oП݆{FHtTT ['jqJSYr@B1ˆ8jj PPG[-֦mr2e0R!Jv d͙|)u M˲XgUQyDNroIJXخ5ݵM(Ђ`$Zgz~G*d~4cng)zh5aU<ɫgl7agH1I?,pբ( a۝M*o_ȳXA6nv״ ^H0{F"$ϺlZsYY¶?1wK;d/v=ɡ?)Q`tqiUN2wpK'9Wpu%a s/w6eXMRQUہ3.//q@mn:kʢ*YW)3N^tv瓫&@ـ]^(Nt0G=m\ěGqj.N!!ۈd$29&6jDBXdB5b*Pxpl [2Α`P"nݚpS" ,cr&B'!~~Ɍ$8Q\Eظd^LCOy;p2> mOS> ɼfvaY /Ǖ U"Tid*ZawAD4o5̥5~f:lO^؞w(OHl/y9:D#SR}6w:@JX P|pW9Y%-7$)qrI, -Ět՟s ) -4-ڹ3wB<h8R&!MǺzkMf $8fX{Ѯpj>K - ^:lͨԾf,V ^>={JnH٠zƒr;`CHg s1l*_uႋ'TSolzfӎkQaC%k-f]gk.D;fWP2} hpffL's,TJ = ?Rpjld VeU{qYWW2:kUZjqpEH5RMZA6/ʾ5 LWwi$]Pk PiPl7a] /HB'?԰vo*!d DuJᘌb9l ǁ;D"ƕtSۙk?{:,\2]}TLc=q4 U7]g?nUj5]^V}2"*4n9""GZ;<ىU\^ T蝬W֜ފ҉t0J҇ⲛ9r1A 0IC&{l - "# 2S kj?4)&~y7"S!G8$jnY%FBY KѪE '|/x1sŀ4ovD HNȤlj6LjdDrpO9 -mcyhaȤeJoh0 -Tag!Pjg4.nD+̑΂9(84>8ͽĆN]] - D#_ -ѷ<'W98dl`Co|A]X 0aL`Vendstream -endobj - -44073 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44074 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44075 0 obj -<> -endobj - -44076 0 obj -<> -endobj - -44077 0 obj -<> -endobj - -44078 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44079 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44080 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44081 0 obj -<> -stream -HW]o}篘a!f!t`S]}Ch[>4、hG 0,هgΜ3"]vyj?|._2K^}4ElMU[xӵ?.Md󿷛eoztlgl޸KoiD&DklY,@ 4 ymǼNj!z~.W[_䳋>4oun{!rp](\n̜4YN3_mi;~̂7r~ߚr2Y - 5oT,4' ˃"IYz:9 -ޝ%F,{^}Pp>Q}T P P PKTKT+R+R+RkVkVpܫ:PZm3Z+1fi#hĘKYڽĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hĶY{ Vb%,^b{Z+1fVb{Z+1fVb{Z+1fVb{Z+1fVb,JYڽĈZ+1ficv/1bJYjm{Z+1bJYjm{Z+1bJYjm{Z+1bJYjm{Z+mVJYڽĈZ+1ficvlJ)~>jny8Ls`zSV f7m(9E@x[v- ymW^n [k݋҉Ig}mŌf4ߙkC~%o-gߙ|qv$Yy[28[Muyyq-/&Ag;s~ܭ6mw¬w6Zyk/0-MuR/^{[_r(Wj10BFn鬛{Wӹ*Bts55*%}V49XΟMU$*8U{>e:m=ySK@)=Āwy[+FgXŐe5s/]=0zpCZi]?td9Rm jsBļc.׻} en -6&dpgAφ}hJ~mȿ[.y͒?plzq*rF'FсG?e(w];li|@ܷ:Ec1<{_'>q{E=Z?~܌>gϘU1;q&襓|lm3tS~k/Mx:PBhKƏmXKq<_ riO-y8ܷfxv1sC8ztЖ2]nWrj*8ќ>#dM IY5DC!6 ԛ&˭H;!FhpOdt!!|)1f%RZhEVTZ*V -URi@TZЪV*UZi@VZ h%VZ>Zc֒rJ->>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44083 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44084 0 obj -<> -endobj - -44085 0 obj -<> -endobj - -44086 0 obj -<> -endobj - -44087 0 obj -<> -endobj - -44088 0 obj -<> -endobj - -44089 0 obj -<> -endobj - -44090 0 obj -<> -endobj - -44091 0 obj -<> -endobj - -44092 0 obj -<> -endobj - -44093 0 obj -<> -endobj - -44094 0 obj -<> -endobj - -44095 0 obj -<> -endobj - -44096 0 obj -<> -endobj - -44097 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44098 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44099 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44100 0 obj -<> -stream -HWmoF_tѬo$!i4EdfjQ:QoIF"j<;;w/_*Է߾uxmJ[BtiUU:we͌jUvKs?oWз շ_ff\[el4IISUEf, 1sA!^v&nKfx\ܷgor|H!ϲ"MOC*-MUSV}XEWjpQ*p9Qr" Lj%Xb#Y #V,ice{+[ -w½p{'{ }p >%p_ -%p_ -p_ p_ p_ 5p_ 5p_ }Eg (-V{%h-Lj%sX= cEk-h-Lj܋ZZ%h-Lj܋ZZ K,Z #p/ZkAk9X#p/ZkAk9F,^ւrl9ZKXbrX=Lj%s,@k9F,^ցrXhXbrXh{ZZ˱{ZZ1bcZ1bcEkh-V{%h-Lj%sX= cEk=h-Lj܋zZ%h-Lj܋zZ K,Z #p/ZAk9X#p/ZAk9F,^փrlZKXbrX=LjܫG._e,TDz%4CߩQwQC׵m7mnz޽SN5}j]}OSmݑZ=ky~z޿]TyB8pËyή9;Ūbm.7*no.P{f Q+#&+}Wv1n.*qWHtE85e}>&<垦s~s7ۭZ/wofx\%3Xų 8q)3NIthuxna1^9X- -DFGZf?T_mF՗4;l=c -QWEk' t$̵>[S'Ц'mo31m:Lz";ӑ^idw }ȍgw*]Mc͘ -8t1q%zz]ņw帙Mhmso+to3h.f7`|M s8;[S9GNQ#V,偖ZhyVZhURh@ZЪV*UZh@ZhEVZZ#XbeZFhYeZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cĒZK,{ h;{ h;{ h;{ h;{ h;{ h;{ h;{ h;{ h{{Kjq,@9F,%rA9F,%rA9F,%rA9F,%rA9F,%rA9F,%rA9F,%rA9F,%rA9F,%r@9F,űV1h?=Yv93N5[ffwWeLSVUR?U"p2d]C7̈IEzlstm -{q-vWtñ>omyx3?>&ݢn>np₌b]/ݲ]ӫ(vt:C>w3ӮnoWz)~X6a].]RZICeK5[ɌAc󙙼|q )Y1s9INkz}vfެҮK橲T8 d%>/ ]D{nzs*;m[Ƥ-Ip>fjciӟEh[꿌Wn0+r! (rl( -CAی#T INҿ"'7o(nۥI]:T3/8י&c(j~ƿkL)ݺ[3P e Dej  -nW;E!L\;km'59ka/pܖWBTo[uφr%rڹd՘vרE!l` -vW - vZN=|S$TvCms!kGQa~NFO0&Z7Fa@<alHyP`ik>5-iTvsQRC\SB$ZCEU6MArtSyh٬ZdT&(ͣsEvn, itfjҏ75PXpV{U4EB5p7vy@ɽZtvN魝cyE.B٧n~Nd e1%[{c`LQZ& -/mzn|w >Nڢٓv2ky8lm`$ -F9s@Mp -r/E.00c9 E>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44102 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44103 0 obj -<> -endobj - -44104 0 obj -<> -endobj - -44105 0 obj -<> -endobj - -44106 0 obj -<> -endobj - -44107 0 obj -<> -endobj - -44108 0 obj -<> -endobj - -44109 0 obj -<> -endobj - -44110 0 obj -<> -endobj - -44111 0 obj -<> -endobj - -44112 0 obj -<> -endobj - -44113 0 obj -<> -endobj - -44114 0 obj -<> -endobj - -44115 0 obj -<> -endobj - -44116 0 obj -<> -endobj - -44117 0 obj -<> -endobj - -44118 0 obj -<> -endobj - -44119 0 obj -<> -endobj - -44120 0 obj -<> -endobj - -44121 0 obj -<> -endobj - -44122 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44123 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44124 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44125 0 obj -<> -stream -HWn8}Wp/CKHl`$` [m+#q~$[";Yӧ)~ڞ}{ǟY޽{ R<2 TX$\ BD`ys)-6-_{jI.00H 3'K”fuoUt +85uߥZ)s0ھ>UӾ -TØGnu"_A(2禂 H. B -͗mY`d̅U`Pׁ.pPz$C?+|!K,W{] XP/

DŽSO}BO< >ԧSSO!O!{ӺXµ.,_p!Wbջ׺kZCs \b"\b"{k] Yzϵpp!PVu1d= -µ.,µ.,BZAŐE\+׺XHµ.,_p!Wbջ׺k%ZCs$\b"\b"{k] Yzϵpp!PVu1d=Jµ.,µ.,BZIŐE\+ ׺X(µ.,_p!Wbջ׺kZCs"\b"\b"{Uk] Yzϵpp!PVu1d=*µ.,µ.,BZEŐE\׺Xhµ.,_p!WbnQ, -ޯut'Yֻ -cdž`u+XZxXp@؎D" -~xDhiE; ;JA2 rXSn+leKh9(\yHQ˾۰8CWV -m;zc 8"4bgY=5b3"S)nn ϋ03%e4}>g>vx:5ڬwМ^Бt\8Zڎq+1&*+a9̺˞'h[d_gYQfvpA{v:99$9x!BlE`ۛqY? U`<jVy{{qi_}77[gҊDS(b+.x*lavUlPF`(x(kjs0ڜNҰsu1endstream -endobj - -44126 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44127 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44128 0 obj -<> -endobj - -44129 0 obj -<> -endobj - -44130 0 obj -<> -endobj - -44131 0 obj -<> -endobj - -44132 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44133 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44134 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44135 0 obj -<> -stream -HWko6_2|( -4ɦhmY QH"ѐw҅a:>$/﹤]Gw-a_}/_.$3I G| ]sIM/MǺ5ޒc^!yI6$l&a$%IrVMܧv -RNͯ WqNيnUWL[ -S>3l>Oԥ 5eeY.Ie~n[Xω|%`+Ȏ$̨0+MhICNsʀÙH!fYt!,cVYFXvc!,zzzzzWzWzבzבzב QE3D}y>GQG D}/EDԗQy# 6kC̲b!,ĵ!fYX} qmY>r@\b\+׆׆e!# -ĵ!fYȵqm qmY>r@\b\+׆׆e!# -ĵ!fYȵqmD\b1`! 1ˊՇeC XkC̲k%,D}Z6Ā6, QV" 1BGkC XkC̲k%,D}Z6Ā6, QV" 1BGkCMX} qmYV>,+VbB\b\׆e!#*ĵ!,ĵ!fYȵ -qmY>rB\bB\b\׆e!#*ĵ!,ĵ!fYȵ -qmY>rB\bm׆eC XkC̲b!fYeUs&7݆SلÃf$JitrsEn58׺uCcVRGIjp nd%RR!sWXRp?\Te;蛇q7{ser19 Ts"ըѦvC(u\F3cU7{';2JUH%-!CCE:i̮x>VsE-_2PrLO0ՁWumNϽK47N qJ(: ǵK2c29l{jj$eyӮyRwQ5m?Q)$`w_ʈ"]m-m7\柺L"55y <,#V[,݀ bFӮea6|7[jҸ%ӮPm/.Abtkv{ Sb<=p sM -=`4Dzn%,WjdZK\Oa<i;dTpҗdC[vGvEs;ue:Wڌ MKRZQ¥U)Vrhэן޵S3PM((Sw}z5,bS70KOkxǓū.׫ӻpo+p`pyGR5y ;ׯ%2\4fHpO+ḩX2Vc8\ +Q)!^}5po, 0kzwJg2k{f=a[&.vZYpV%\/1)2`*Gj2'fI \Q.[}mc]qܝV^n[rZNw^3^g*͢7K EBmrE3m+c.4V;dž̾5/>iv%zA^|̋ wpdWÂon"R7n!P>PW]TjnQ vn{OtI::pUJnYRSXR|3fĔ|Lٜμs:1>|L܍^9 m+r -4׏'RjJ=xJ -5겋jP7gribvE{}iɃ oӳZef+UI#ʦhl5s"/UOqD%նѧDn }_=ŵe.ƅSf|j݂lB7u׀۶tH8tW'݃?ZY`>^&dl3d靰,1~UnYq^j -2S~4p["C;=T܄~kc5i:73MA&ݓZ( z}` ҂ =/ꔾQ u*ǒҍ]7 vc9d^L5!HƎgxp/_nycXi'NF^[r/p6SHqԳ(8>/7FZpwVi|k$wђ@*CSDJE@<^]J[ & -\|coL% cmAr)9_= s[:>*“ 0kQ[wγxן(I\F7G5x|[>^; Yń~|(RG#&y"ym[o3 pj`wgM?;cS)„78p;NlZHɎ""f)(8 X_H+#έyZ2XXN i\0̛D,-d;M*ʸr9O diL3* 6BZ:Vg<RZ`ݳqSQj>P aDxPkz(y1Bp;L[guy8Rdqֹl\[ 26 zֵɜ]q&of 쇚{`!/vˍ>22J_)<ɧ$gOU&Eop]~ep(Tw+^<@ œA]$ 0Lq ?ׅ/$3' ` mz-QK.hU?*endstream -endobj - -44136 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44137 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44138 0 obj -<> -endobj - -44139 0 obj -<> -endobj - -44140 0 obj -<> -endobj - -44141 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44142 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44143 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44144 0 obj -<> -stream -H[oGẈQߧ{N@ȔMC/$[=bWW$4fcϙ]Sg.~￿?~|=gni?}S0͸]w?z܌ſ7_7z\pof0Z +ތz\] .4&XsUWÙ|yli'}~fS21owƫw՛G3i#o:pݺ~R)~pZ -4e?~dƿG_&>oƷa 񰎊!MfmH3gck/k@iS)/P\ֽx^MM -m -m -m ] ] } } }>C>C~ϝYP?wgAܩةةOԩOgдv;ky-Sz^JZ^T2ի5L 껮5BZ]ky (ky-Skе)A}׵FZ^JZ^˔Z#t-eJPu׀2%]kw]k -]kPBZz^=%t-eJPu2% -]k@ ]kw]kL 껮BPBZ]Zky-Skее)A}׵VZ^˔Z+t-NZ^T׀2իLy (ky-Skе)A}׵NZ^JZ^˔Z't-eJPu׀2% ]kw]넮5L 껮uBZ]:kyvBZzе^=eJz3tz2nQGTv ߥ)F^VJWC\Cd<)7ng_.:v_W뇇qwzVoV}Lڂ -fsg_#_(1RFݤʆFLiK.+Mt< 79O> 0]Sf!?05EiN`f1:IJ O‘Fjr ט&LJJ4kC*ܬ[Nwd/zS S +yápyvp鄇|aٙ3ˣγ Q)3ٹ41مNsvӜx4q2ҳ$lIppɻ,[e&hpKƇχ3J,S'm >9l?aQt_zD[DNg}wwa=Cx;gp-[<N!8Ovwxt vr9Rӎ+F;oCߡh" 2OS^!Mxzssw}m.V+> KR=JB Uz_)R}zR=bzO)R}jFX= U'T񾡊[)zO}C Uo/7TRW_'T񾡊')^ -:Ls0 -d>f_ƿDzr0:ri_.Nr@ }YO]Uy.@<2Z/!b6ҖC9)¥RMX~dA8n yڇ̴_,fbaҴ_Mfcp˯]x3xM:hkxS\xZ5b4p0hm4hF0gH0p|cP|Pdvh( &xt(9Rj, jbxd,S"XL"b$hXc" XdI,F/Eq)%!7XÃyO3 Jm Whl[h..G:R`)uӯi;׋CϜzVS_{)MēO 8 ħ Drī6+S7s\M~бBIa1^I[7a~ 0da/` &!|1H=q&<-N|&a##5&J@H}@Pe-S ;+ 2 -|4#T pKaڀO нW7΁gu, `,' x4@330_EY.+L&sCg % r&mQJ Bce%//s ;Àwu8ݝQ[0,k/U>xrqhD@);}=FuM:ǐ! i~]Ay!X -TX'5eVMG]Wzአ8)Udp.IB(E8~IT D^8hHKFv8ǦP (5w=rʆN*AT^$&5Vnsb_?VLΧh5%b;4EN Ba m2CM(0}}W}6L3ߚׄm%+b[USz iIqi`aS8 5U2唼xK?w"j0,ϳ$MWݴQňɽ;\'G{bhSaDPc*1a -emyؾʈ/Ǔ>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44146 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44147 0 obj -<> -endobj - -44148 0 obj -<> -endobj - -44149 0 obj -<> -endobj - -44150 0 obj -<> -endobj - -44151 0 obj -<> -endobj - -44152 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44153 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44154 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44155 0 obj -<> -stream -HW6F+$EI@}bk%lwF,yf"%q8G__߿u{4 -rI ¤NcWL=&jUfWuJ7Z=Wa7*WMaLy!*J-śfշAݽ.[:w\6_,ǻԚr -SUCR_+EZ裡 âZ{uYfsu?.,خjL ->¿_wZě""eėW.yxG9sЮݮY~߅6lqԧ88m3hnDRU<(n6eWJV0}sFMi/2.-,),0F @ehB{I)B{$3Os7_o`|Cg7]10s B9_iORK 88mWbƆ*^>N -2w|Cd+ƺϫiS;I\l4+VG^YyhCXc!zC r8xۡ~s)  kW"{CCȥ{n(  dJ_VI{3(Ӽo;lxf&m3t< :$πqyü6tKڇ-+úrǰ\î9ˊo>uf]\8t?7B }ޡm3T0MuUͰװ]zF:,=7uj*݋jږӄG9}8Ai0vƳoPl!J#V/']ޖ!p>]=EEZiEAJ-Wjƶzb*a:!qA PЉwcnwn7M N/?S -y•=i~۲ $iYZ0j9h= x`7wi{-0v΍r -p^ (;sU}O@Fϔp^j07}xzC~B:K/jWUyYkj:vU}l5N -2VEy ߴBx՗¡_I85K˻Sw1Sa\ >y*@wѡmp󲄏q~CAÝ.~cMhؽ -U,$as:^C=rtvOj07%D7>oFXgq8,S|,x3!^;.YO[2[BWJ3m~ 6qG:(t㽁uPK% \ -U.bl2>OKߵK\fV;Ӯ] ~O£:XOλuܑTnw'k?5 -/{_ia&^%0?j }35`>`+@(r<]5%K+-\hR·vg}NG=+ǷX.yoM~__kGVE,a -q χc'V=ZB76 ->ɍBv! , -,eXrB,b9!c -!VbB*X%U -JbU,V%ĪX,/,byKg<ŐcQ X+gr!Vbi!fսbbBS YB,VZ{!K^ uO1d Xk),!{-=Ő%buXPCE1` uO1d X),!{#=Ő%buoXPCսbb7BS YB,VF{!KuO1d X[),bbbBS YB,VV{!K -uO1d X[),!{+=Ő%bu'e0 Et &k9ajDel+nN4<=={)VfMS}͚,Z-S͚ZfMQߛ5MJ/wU$DT/6*ȹY>]ng)r&m - Gg '=&~Q'X\Zg{Q}[_IFߎM2z$hx~[ cr^ -~ Yodʒ] MIMSBf= n6} tEuݳ<H;kX#͑tR׳mZHg0dWvykR2]Ey$=BԓrTS,wJi9[(FDzN9p,x pMt_9 5[);: `endstream -endobj - -44156 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44157 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44158 0 obj -<> -endobj - -44159 0 obj -<> -endobj - -44160 0 obj -<> -endobj - -44161 0 obj -<> -endobj - -44162 0 obj -<> -endobj - -44163 0 obj -<> -endobj - -44164 0 obj -<> -endobj - -44165 0 obj -<> -endobj - -44166 0 obj -<> -endobj - -44167 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44168 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44169 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44170 0 obj -<> -stream -HWoF^T~]]&FR'=\xQ`2e(%'o({dvސ;Cr1kw^Y꧟^|'.^SYiܨ"IfT[G&J]REWs}Ym޵˹j{ы*:QZUȇ!MUч}=-7<7Yd՛l汝Te9K{j!KDdԒ*J'?pWMt?oԇUybsXE#q8:1bq ,%a{ZX`7½po{+[ -w½pppppp_p_p_p_p_p{/{^tVrlZKX`rX=Lj%s,@k9F,^րrXhX`rXh{ZZ˱{ZZ1bcZ1bcEk h-֑{h-Lj%sX= cEk-h-Lj܋ZZh-Lj܋ZZ  ,Z #p/ZkAk9X#p/ZkAk9F,^ւrl9ZKX`rX=Lj%s,@k9F,^ցrXhX`rXh{ZZ˱{ZZ1bcZ1bcEkh-QZ1bI ,ZK{Eiyӎ;AC,XB-'rB+ZʀV&r hBZ*V!JU -hB-/<\ˤRcĒZBK-- 2B-{rϱvZ #7 a,r1b-{rϱuZ #7 N,eA9F,1:-{ r1:-{ r1:-{ r1:-{ r1:-{ r1:-{ r1:|-{ r1:|-{ r1:V-{ r1:VH-Kjq @Kށs @Kށs@Kށs@Kށs>Ƚ}-{r1|Z"cD=h;{чhg >;?Gы*:**|'3Q:[&ϵIcs] \F-LRSQ3eޞ|֨}f{lgQVMn~?lFjKnwO%gz&gK^ӥfӛn?i'#L/t6)!'&z@i.ssL.f33^HtdH8zuz#;Ň/]|L=vmz" z,MMڗ_{ M:PW2: <7., <\8lqja`1\j< "ܱOn0OspklH=DX\ Cɜ,/RMOXFӍ9fF~\9n6ޅ_ZZ_lu,zR.zngkzloՠ19ܕrn?o~۸5!ƍ8`E< v' -oNclz9ó~m=ސゼO\Ko;0 -g.kr}Gkc%rB-'2 heB+ZʁV. -UhBZ*V) cĒZ>޻~5|JUS^`΋xjMѺ?U&sg|,w8 /$wΜ\<6rA%m=kCltn~_okvD~@o˩c;VV&\0jشd|IX}>_lx@^;c;P%7' eYWUBx|LYZK}7&UXǘFhoؾL-t~9g -Zڞ*)\r -%Ύ, S &(BEV(.DpS(?[U0U$TCn FekaiJE/ޤEtFO,6Z&$Λη]iumg}1vN;k]&vRᱤIّHkP%l+sB6(%e i TRA֎t_;7zh{-%[{;@W8v>l>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44172 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44173 0 obj -<> -endobj - -44174 0 obj -<> -endobj - -44175 0 obj -<> -endobj - -44176 0 obj -<> -endobj - -44177 0 obj -<> -endobj - -44178 0 obj -<> -endobj - -44179 0 obj -<> -endobj - -44180 0 obj -<> -endobj - -44181 0 obj -<> -endobj - -44182 0 obj -<> -endobj - -44183 0 obj -<> -endobj - -44184 0 obj -<> -endobj - -44185 0 obj -<> -endobj - -44186 0 obj -<> -endobj - -44187 0 obj -<> -endobj - -44188 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44189 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44190 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44191 0 obj -<> -stream -HWmoܸ__EU @y; ʮ+$9n}[gȇC>3?m^x1^|D.0k*[2Չ`*<<}|:}[X[%Rs&Ϸ7$$1sLl{L7W宯]\*+6vzqfNNcyZB'lQidx֢?31²0.p)jEʍֳE r)1C&2=wGp!\&c۳+ ?VCr81.8BG lx9l1 -<(]ʘ<JU^U^u^u^uMMmmm>%ا`F3}Y>#g`Gs}w{wH-E<*fm"Tm6cbG#*BQHP-P-y>R"TmETbbG#*BQHP-P-y>R"TmETb1фjͣb(BQ1{l=P-y>R&TmET bbG#jBQHP-P-y>R&TmET bbG#jBQHP-C<*fm"Tm6cbG#BQHP-P-y>R!TmETkbbG#BQHP-P-y>R!TmETkb1jͣb(BQ1{l󨘽9[ w6yi&&b>xԱ1loKvqtwe{oMG;sk)5MU4hnBZ7.uxYwdwWUyN1>U; ¹MutnA?DH帅`F_<B}״}ުY| LzWM}>9yM{{:ms؏돫 -U oƟ "<8:3-V -qRn\8Ŷ;F@*7$*. )][6 !DĄ\)m> jvUJr?%\XPŖrL<5'x5p>>>M_w)uW8!;wtnq3M[/hTpqqg7op_Lkzi)b(PV8|gN}WU)[i:V˺ 9{`Tl#svڵClXe9O3rV;4G8d?1Ưc~Te&Cp؅7i pP\ջd/~_5w,\<({ak ñmѲ4M234źaP7xoh3RgV>. -CyZ#ffP\x"&UpbH_ \/pF~[,CCkPШкLThN m'4D=Ys`;UW!}STv{?i y"Zr38WhȝsViǾ<}9 oHԱCC8=?Zplj:H"^^P _|+i5H!WL YXS+96]m˙C諺aQh}Q@}(V6'N6UЧY<*Ʀ& ήYs|8:Ȥ]L_) cT!a*M2εo"wESq:f8 -2z.sJ3;owHe\п 9I-ƕA) P f>4*T ,iUMgŸpR.=N -xPp -gaOINTF| {|ɜ[6)e!|8_ԍ,|00RHBt4@ -?r"2Y=!0H0 -t6,8*GV_sg6) -rzhXEt |)=_Uy($&.1#]]L6Ю|JhVOKʮ2cMNSsDa 5;D+.QW !lcj}s_$K0YNFêS_[a/}Ϳ:BSG 0 -D]aƾp]BVC8]mh4ezyF吡=g4<9d: -6ႅr]; g;9wZcp!ЉMq.2 }w}HFkOex W*65n&? -՘u@Q)R3 I{nK)R- /U9D -=RO?WYV\20Wq%Nw&*W{E&'RKK4d@ЗD%_&kn@IPyCC+RjɏPSX;?YLUт&~xt%Bw"2-mºi01ha),;<}]o,1-A}DBYY-Z7 p8;jnX@qn_{7* Jtbgq!9^]#}'-1feY_ZC -XOr*nu/>}l oNKPipccP|z (My_h ?iti[126S+CQgX SZW%&CpT'WD~?,’"$' *q:`tB?r'i pU`ρ 5f㐒.dsO \,)OV 58."o'*vʹT4j+˟6>6}ڷ났s3/T}fʜ3d4)d1~j\DY kM>X#D4)&v^ 5"Dr{ o}ax|}}Uڲ4T/8>y0. S*üqib -MN2Rg7 ]p(d"2YwE0hBytӥ9zC&R K2iT8976ZWn.a4=Gcm’iM%2-sb -'drIȎ>v{b/]iְUhUQڊt:n>ڜЀ{ iRih,6h 8׉)۰n3SZ) RM# -~Ciw=Zk7y/{3#t:uj+!'/lMx6 zv&`]UUYmW XGq7Ƹb z "@2*wzq@y5^~B@LMv=,JL4 L~f+ua -ceykY G;=|ԑ܂S -}>ubt KfX2Ԉ5 ®wtkbxӠ› -pՏ endstream -endobj - -44192 0 obj -<>/P 568 0 R/Type/Annot/A 44193 0 R/Subtype/Link/Rect[93.6000977 483.230011 329.088013 502.910004]/Border[0 0 0]/H/N>> -endobj - -44193 0 obj -<> -endobj - -44194 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44195 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44196 0 obj -<> -endobj - -44197 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44198 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44199 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44200 0 obj -<> -stream -HWkܶ_`W+>`$pPEwCpw厤){Di$zsy璼[ o޼|o_z+*B$Q*X(3O bpVX '=]UJU=}p%lhH34ɲ8g:LGҸH"^7NrB""ə6lKlw+8|J6_?.a*QK˧@A 1d-kxހޏ#{K,2D 9ց61tr#t.,}!+!Xv}.,AzAzIzIzIzEWzEWPxB}O>%ԧPz3B}>#gP{sB}ׄzׄzϳ0Ձ \bջ׺|.,_p!PVu1d= -µ.,µ.,BZAŐE\+׺׺kZCs \b"\b"{k] YzϵpՁ$\bջ׺|.,_p!PVu1d=Jµ.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] YzϵpՁ"\bջ׺|.,_p!PVu1d=*µ.,µ.,BZEŐE\׺׺kZCs"\b"\b"{Uk] YzϵpABŐw1`u1d] Yzi걬n+!G8gpMRfpd<򏿼yOIPE<4 Ԧng~hʡN)烙t ,@7_?S+Ǫ)g6 )CUf~LC -+Jhg+ұ8Jؾds -HjNF?$,DB38d/y'E2C՗g3nnaia$4%Nm{V5ax*I1鷱kv+⹘#ö y$b/}[VਆqLVxUKU60pp<^bw4q2 ,y3{n58<9A7a( K]ƒ޾Y`V|i2<ù -y 2LTl -ey.2iV2؇)yXzgsGL.kgLQ>Q 6!knW5qzߋiw3/4h :?߅ V:Ol@-ްQb=Uqxըm%k]2aMC-VSy cVD.an˖ѻ4UvE8dzNkitx}۽su0|EKWz3= -L Va"%N:Ege+unE4~mKO]k>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44202 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44203 0 obj -<> -endobj - -44204 0 obj -<> -endobj - -44205 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44206 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44207 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44208 0 obj -<> -stream -HW]o۸}ׯ $%bmM7mƋ") -VږW;(&GvEjt|HRs٧^_~9p~_߼=LK2ANDPI]DeDgy.ռE)N$:02y4 M4I8#Et7)Z)WeTLG15') -Ԭo97Pd,\ݨ^|n^9]( -U@IMP{$('?'w_b2# -z3\D:M!G{ccb,dya)kg,czzzzzzzWzWzWzOI>A'QSD}Oi>Cg Q5^5>,CLc#1 -a}̰B>,ĵ>fXq>p-G\cB\c\a!rĵ>,ĵ>fXq>p-G\cB\c\a!rĵ>Z3P qV +TcB\c\+a! -ĵ>,ĵ>fXq>p@\cB\c\+a! -ĵ>,ĵ>fXq>p@\cH"1 -a}̰B>,ĵ>fXq>pD\cB\c\+a!Jĵ>,ĵ>fXq>pD\cB\c\+a!Jĵ>Z3P qV +TZ9tDg #L#0<4!IdޝPWpuFٖ~?a!.SNJl:ITߪIR(BS7RJl6UUIeV4Ӻ\jpjKQͅ6(M&8uMYM!_sūJv0e&`!:T_e׌M]uR9J)+´;i2`**$wuV+1h̝* -/BUQn(lvI&(4u"[G!:PGe!ٲԙԑJiQ6'h,E_N Uք{ [瘠>W̾<(TrԿ~ZjJ/Jl+Y^m!.(x.!CCl%ukkyL>,hrk]4l"iJ0qDp!6n6QySxŁe sZ(`c.`rǻOUZ>kiҟm3䛦q>^soj,Pt;bۦ2 -Y;Ug þXd{?B:u -A[%p0(L}&(Vq3eiS[|/ -%3;X(H|B~BeU^Wx@'.|d[m35ݶɑC58A>"Ph !a)9E8eN[!0qjؕpbi4bLV~+nTM?psmOދ0`^[gAw&zUҬ gYc3e/䍍I~jhb1˵.[#3)R38 HHͦH:H8@ Im'&8cxsrYY|\5Y -~O ÜFQXs3:%+N +g,XP>"Mɢ ]mEAЪJͩ 6'xLBon3 U/z#0 :z8XWya~8ǿS.^Nv0N;dN(3&Ld3_ue6"7Ŭ@4ɋ9yB fXSYZcR] " ѨAI:zn/ZG*BJ`I60W-$0GWLmGR`czwA1&2k Iz݀[_Xo{rݭt.3BNp[@vt$lPARE1ϊL'x.d@-DKIKS]+|:k٩/(Ek -Wpe?| w+7XHF/ڬF</H0pTR8\٤ |36#$8d҆B)*$1 ?&׏ǀD ٔZM!>EQ”M1iVPhm9|DlbďL]֘h@t3ukad Xۣ}eǶ|*=%|j3TIKM8܅H9s<ٴR!MH񌼦MA4vB"ݢ=?WڢdM55_ooݿz̠9!{B㨋HAţ-Kfe|^o>d #Ssb:}Cg ~a~hCNu80QăKt(ifzur Bod9X\YQR"oˋ? 0ecendstream -endobj - -44209 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44210 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44211 0 obj -<> -endobj - -44212 0 obj -<> -endobj - -44213 0 obj -<> -endobj - -44214 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44215 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44216 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44217 0 obj -<> -stream -HWko6_9C(qi4)l'(d m+c*i(D^Ou<乼=/7~$7?xzLRK&Fđ!'Kj/ #Qe)T9i o{; & HJRABvGׁ$$"&֝û暇{zUϪ}.W 1?yjM6Ayk{ a$}K@KEDy~V^һ.'8,4˝ƀCg,LBekgoczzzzzᨗz騗z>DԇQ:#D}䨏>FǎQ;cD}O>A'Q:SDY*#1rژfmL\6,ĵ6Yzǵqiq-G\kcB\kcw\ژf!rĵ6,ĵ6Yzǵqiq-G\kcB\kcw\ژf!rĵ6Vyqiƀ4Uoc媷1`!1B;kmLkZZ,DZ4 QV 1`!1B;kmLkZZ,DZ4 QV ʓkmL\6,ĵ6Yz,W qiqD\kcw\+ژf!Jĵ6Yzǵq qiqD\kcw\+ژf!Jĵ6YzǵqU^4UocB\kc媷1rէ4MSIhfmwwI=x'>ShDʻoJ͵ûL;u:pl'՚}\>VǬ4/QM_KfųN}WD7_vmѠ??@$ӉqY/U[0 "Q4rӟ4JM;ʪCƷ,ht}Vij2,'p8flԇcm=<[Q5BшK>nq; #{͚ҐGc=`7.xlxkKvꋻra?a8DzBYt&*7N<`4`rȳ^AO0uqۃXݸOyWvb<ݎ%$<T!ɯ풀<]HC!6cx:(HI]$9tz\ߞge%:Y>a KsvjwDg^CStЎܐYT]¯\g0 <4<5rfșNcx"IU'UM(X~H]&9ПNCAYDjLģ2L]t&;VLw#tj7k 2a4NB(cB -u2,juTod \HPDdH!Gkdx}Kd1^Y[p9kyi+oGRXs5;8F,88P7fy$s7ɧn?GWES3)xA1T,w>}sͤhy3fA7ͯǮyEw3EVUSy0 ړi"*'p/e9: jyߴ90}ҒWh ${Gsfs+"1kMu(fy`"!;KB?X]2`ɬFc݃"i7k kzˍ0T)3#'hO89N3.@(OD/*8ך7T\$TDߎhQ% !Y~ 5 G0f+q3>q;03|BSP!,.kE+uJSW$ Zՙ+{X#<˰|Rtb"Z/q -f82ZH=ZRd5٭#}r`4|lǡ#uC%-2cw;jc,ˆkyb,bg1>E39P >r 醯@2~9{n%.85? UXT(WE!^=k(tb .7! Ԕ)m*y߫Yq `bxJ*jS -~ g@g9s s1E8(| -uߟx§HlsWMpڹp -z9LcYN -G2PʞH՘gC,(ZU9g& EHJ3sPvqYM#BN%|,;wxE{j^6T -sPp's -P}r s_P<9y6'A8ߑ_U[]/ LS.Kj;򡁽&P a*m{#Cd0v5СCjp5r#QڿC ={ݐȏZ!ߌP^aF n1iͽ#\w ^-7:wOm2mI5\R9hRu2syEka~$]`?'7a .#sڹ3I(R(_I= ._@("BR>'S}*#> Te:OU5zX_ ʢ%Rѹ@UR*l<9T40%'d]au9,ƳN X|,Kɦ0R˜_?#YzTM:A\>8`fcXoRϢlts{;h> Нt4ÕV1:kc{ۮޟV %Fendstream -endobj - -44218 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44219 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44220 0 obj -<> -endobj - -44221 0 obj -<> -endobj - -44222 0 obj -<> -endobj - -44223 0 obj -<> -endobj - -44224 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44225 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44226 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44227 0 obj -<> -stream -HWێ8}WyѭU  ]Cw(+%-Oo~IYAGTuH֩*=>ի_'Bo~z0\U,E897{%|NiI[sm톜9|Iެ5(#]RJ*R%YTrb`r c\el­g~+ǟӦޒ=W4}wyan4XQ`}}hj2N(PҘ9qg(ޑlIR< -~XIBLcè@Mbw PŨQ -Aɇ6@q=s= KK+++R-GT6i>R-GT4 -a# mD mmBT4*f4*f6i>R@T4 -aV mBT4 -aV mT+Ն6@! mT+Ն6BGjCՆ6BGjCF!# -DHDMb PjCFCFCՆ6BGjCF!#JD PjCF!#JDMj%(DMj%ЦQHQmhЦQHQmh(}Z66iT> -QmhӨ}hӨ}UU% psLެFֻ~YNrUfIۆ: sSoK\n vSgnSW=a>O^ -beڜj\}XC -&3d;ZYgO;.gn8\f qé2\ьS -P2e?S6P>|&FD1hHTv[3\ohw?#ٜE&9#=\[yЌe'x& 6sƨ ɒb 6 -mʭ@=˂NfT0?Ѯ*gN} ?{aA\,WKw8 nu/r>71M)EVr11½ ޮ'7q?ˉV\5tw6Cwa9psh{6: %f9,F?~)dޏIb7 2aJOַ2Ұo 6pvvns98ç v ]h7Hr!rcGJBkoAϊR*M=4h76CW 5uA%gcoU^r.[L,C6VLWkL(³qmCr(y vȐY Tѻ/ S;6OL\o9G"@3,̟U7$2\'aLoحnh7~Іz74{GSENsPMkKґ]CloeUݎm{9 q}/L?]7@TϡqS̟|[:9OKQSfbLD$YQ;Mlm@E=Z-Gxh^;;IA-<1S"ʇL¦U / SBJ/+7y,+x<'rZVˌ! zle&(!27A)ۑ|"PEʲ.ܛ-0vYOBOuNvȌNa8N2ŸfDiu%cp ܴ9#%}ɴgf4_?ޒpB`DMn@2 e@՞b$ y?Rl$h?@2A|+4M ȦdKdw?Hg"P -IJbjμVe 4Dg:ѶwpK%^ II@̍زovJ9tBzqWdT-  -0} -^n3r1fxn7݈iz~קSlJ  9hS|olӤCML^,ShD éLs7Ns3jM2G5ZZ(YY!|6&?8b**Sl>$K4z 9UAuK\P¡+xnX*>x[hؙ9̉Ecs܋-[L<](9Ki‰7 &06enw3ࢅ 0R7' ěa5%7jj ޞV*V)oiMp)|u/}a[ EFAgM)OAy**~>rT .G,Q:5mԋQx/ؽLhOjuLP #m6h k$˓ɂ}w <)>ۡyZ(EzywЏ5BC/3-Vx%|npn޴#9]m Wd7)e)EtY6 -m!ERt!Er94 ucK"6>4bUO+?ƇX^0(cHAWgU^Xf:׉zM},=eTQyɅKYⓕ|. WmBq!zj}8B'KZ -&5]-0:O0]x.g9Y1*Q4p` ҡCyG5qȝ#F); -Z@<)AYQcM/EEGN)BJ |KgGTN˓&lcN=9-k~O[f&2:OOD1":a[Jfqb I87n[ ^/UyNzr֞]䎅D#dUh -nfUmn"smUԒc}w ,7\,O8<󥕛x]Zn۞}wF+osqc4>$^8 AO4 v!\ē&-Zy}  $KH" ,{ -s R=xXpR]ͬsHQ|KgTٖ4<{Η;PL#Y6$7nXXS-=QR_5==˱?n(Qѩpn -RKrjiLvusj+Z*li3U |J;k[CR.I\ 5evaSo/C;J5G7ڨUQ7ef6W(ك"U`#yqi|y G>=()5Ueͱ~e{Nt/yO{ ޫMbΚ̕ϽYΐspRorO>˫?^O]endstream -endobj - -44228 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44229 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44230 0 obj -<> -endobj - -44231 0 obj -<> -endobj - -44232 0 obj -<> -endobj - -44233 0 obj -<> -endobj - -44234 0 obj -<> -endobj - -44235 0 obj -<> -endobj - -44236 0 obj -<> -endobj - -44237 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44238 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44239 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44240 0 obj -<> -stream -H|{oXVq|~dBC2#Ѭ(jumgUtWt8){Ǥ'o5y"b[I g䙏Sg*4Qbn#kj|f^USGgnqt2WX3J$1)i0y4*w4}uil7Ov>h)mܚ_\ndyYmm?ݖr&dZ/qv>G mK69]ycgMJޙO_smgK 9|OE2R{J᱉W&Ko'5rY]BcW -\2:@z;ީ*JAz>*} -ҧ*} -ҧ*} -ҧ*}g*}g*}*}*}*}*}*} җ*} ҫ`h6ZKJ]:إK\`j.^MS+5vjjZ Lҫu`j.^MS+5r@z5Lҫu`jF.0RcHց@z5LS+5vR#ZKtz Lҫ`j.^MS+5r@z5Lҫ`jF.0RcHփ@z5LVjz0RcHփ< -`j.^jS+5vRcN/5r@z5Lҫ `jF.0RcH6@z5LVj0RcH6J] Vj0RG)ZKJ]:إӗqY$ktG'c{5&K>+dYih4LSݛgKރKizA0RRfI]%5>Z}K>KMz@Ƈ&RR`{qTX^j|,z/5>}a4Kj,TS0ۓG\1\ yL}sI;/8,Oo?<I2̇vӸab=EǙ]0AahLʵ<֘Cy՛2Z,̬^mj]KҤ6^O+[+̤d~ĬoCkW]Cu흙Ԝ>^߱^1CRIck}*Kt>dhTg26pǓf6],`aBAыW 6:}u嫋3g<^hYz(O=o4FI".wILh ,/{H 'hr>?@"vDLtߵ};mgO$F/C.^e.G&s,j+?6.^.F.cL'k&s ndv{^v@7ϐ[ Cu  .D)C4Oa ᷏>zm=X4zqw_>\7 -?>Vͻ/=QLz'G39.OvGһ[K٘..l>B+gZN?և=O?RcW \+(VX)`VX`eVX9`劕VX`UVX%`UV)Y.,KF. XV,`YrKށK]z@.RwRc`;{ TX^j,{z/5viz/5vKރK]zA.RRc`{{ T=X^j,{z/5v}4KjK>K]z@.RRc`{ TX^j,z/5v߶qj[ `AĘ?r,׏ĖaO$"")jLk5kLk5eLk5Օ$I|Hh?nW_Pg[Q;0?KW60r84}S߀;x @>{`!<Կ#K&a5$ -VRڃ!Fӕ4~w]y]޼s Ii[jcEhGs~f (#~ё\ L9O"?+7NBE^ WG='i]$}N G_>=,:'_ -rm:oލ>GR0wy9'K)~c,ck ADXС?y!{lN0Tp~zO$Rx≋x*$C ]}*E4-D9K(ikmP7M*ݲԛ+Xo0DklWξ-:ܪ+=O].'8끙BB.]A#^"NE޴$65QAQҪАB؉v}H5 -=MbBВ=Qe$lH ̫]xxA-{5viH8o덙7yJC{Bgqi$Eh-Ee%fh9oX]4ϥZEh]v2AK'^ԭ ǑD{,4nHd!Аe.;f "g 'q#M;S(* Oc fe?,0a .l j&BqCءj *Ф8v|A];Xup-`v|Y` endstream -endobj - -44241 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44242 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44243 0 obj -<> -endobj - -44244 0 obj -<> -endobj - -44245 0 obj -<> -endobj - -44246 0 obj -<> -endobj - -44247 0 obj -<> -endobj - -44248 0 obj -<> -endobj - -44249 0 obj -<> -endobj - -44250 0 obj -<> -endobj - -44251 0 obj -<> -endobj - -44252 0 obj -<> -endobj - -44253 0 obj -<> -endobj - -44254 0 obj -<> -endobj - -44255 0 obj -<> -endobj - -44256 0 obj -<> -endobj - -44257 0 obj -<> -endobj - -44258 0 obj -<> -endobj - -44259 0 obj -<> -endobj - -44260 0 obj -<> -endobj - -44261 0 obj -<> -endobj - -44262 0 obj -<> -endobj - -44263 0 obj -<> -endobj - -44264 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44265 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44266 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44267 0 obj -<> -stream -HWێ|W4 $ þ" -adіwoJ2\&hTivgzrϲekSz* `ծ~V}̨Neous>϶۴]P.'Yv=32jv]:w-T:2lM>DMn-JS$Q z]^o&/uW+I/Ow٫q]kźvqG9.}QMC. &h/O^̲\r.6@?dN[9F?\-UVBu򊮛.`ՁsjɩN8F,"b`qH, [Vwp{;^p>A/B/B/R/R/RJJZ{1 -6S1bI,0#t1bI,0#p/ւ{1L-" L-Lj܋`j9F,^LS˱S1bbj-Z Skr,rXZ cZ0dL-Lj%s,rX=Lj%s,rXZc:0,0#p/ց{1L-" L-Lj܋u`j9F,^LS˱S1bbjZ Srly0#tϱS1bI#tϱS1bbj=Z Sr,rXZcz0,0#p/փ{1L-" L-Lj܋`j9F,^LS˱MrX=" L-Lj%sX}*/^.6Yv=9e63KtVM6yK_ه5<'[;bLfVMrrj5#_m?Ǘ{M^ev(lFe[Z֞LT:գmǗ2wX5jOvu<-zz⋯Vӻj㎷na붽W۝2AŶ_6áQsB*+/YM7D1f`{Ye™St 2TC,偖ZhyVZhUBh@Z%*V JUJhU@Z5ЪV jes1bI-EZFheZVhY%roA9F,%roA9F,%roA9F,%roA9F,%roA9F,%roA9F,%roA9F,%r@9F,űȽȽKMYB cZ"ccMYB cZ"cceMYB cZ"ccMY\˃sXRcT ȽH%rA9Fh{{Q5Z"cTȽ>%rA9Fuh{{QZ"cTԀȽ51bI-QZ";EԽ#ܼ~~XQs#n vzDCtG~:6M'r>ksb?y;mU(n|oɣC߽yT=V9ۡR!X]sڽG?rc[:Mm _]qm|emq^;HIVlW}U'~Z擜2>sˏ?3r4/Y5` -@ -@+hBZ*V)JU - -hUBZЪV-jUssdqll)KheZFhYeZ"ccLYB ccLYB ccLYB ccLYB ccLYB ccLYB ccLY\ˁsll)Khsll)Khsll)Khsll)Khsll)Khsll)Khsll)Khsll)Khsll)Khsll)ky{M3e -{M3e -{M3e -{M3e -{M3e -{M3e -{M3e -{M3e -{M3e -{M3eqrϱi,rϱi^4;wWR&vvʳUա5j\N/aGpE}.8֣l2jZe/yI.9n&onwSSMwfO^=og.L~)CլO -*9wWWku烱./t.VnUsPg#vJ&~|?jzߞE:mŢ}l3"Jq=[6ynXa?x?/[un{'/LvqJϿmYTͧ[7 <'&ɺ猷Xz.>;\A.Ww.OOo?Dd\Vڝ^WƟ1yN>O1ZS9K'{OG:.W6Ⴋ}8~7㢛7>Jg 5'{6/yqH,E]%y}x;U Dt6(ȱm9EߒzJ7$%8+9ogK6XiXo C:]Y7CD}ߞd>=:crC4!8r(@9{+lKa9Szu4y`mSUP]ʹ<̧p>M| -i^1]Ov[q"Ϥ,4U,J;̀mn2WmXW$UW2؊MIo{|({zo[_qo*;}]ٶ!,qVh`DM0b0ɗ'h܍BVK5gܩo36>WoӠ500Z\C: d;i2{H/槐2^H[HwHޙ1gI -;"G"fccIK$Y„#g=l3%=yV}{:~Vƹkt(x-5"U3A}Ժ'i]=ؾgiZpܭ9,{X, -ؒftUMo6z0{JQi/:CC;ZY^xJ  ]󣢮_nT0i>] sP}킗cDWo5sO(a!nv Mc^Hw= ʻk,yQ/TGɶ zF "RAkz~hOue~wOP!Bn$1 -#WUv'W}bg9o2qE[d ίȒ>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44269 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44270 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44271 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44272 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44273 0 obj -<> -stream -HWmo8_6(|DbKhELmem%P/4Eј=C>$ >ه7?s  d*N$Kv.m#ξE,:E]>j]ʍw쏅dyV1$YfaLhd!'`S}O i>%ا`3}{@-m"I<*dm"Tm6 -cbGJBQ@P-P-y>P$TmET+ bbGJBQ@P-P-y>P$TmET+ b&RjͣB(BQ!{l=P-y>P"TmETbbG*BQ@P-P-y>P"TmETbbG*BQ@P-m"M<*dm"Tm6 -cbGjBQ@P-P-y>P&TmET bbGjBQ@P-P-y>P&TmET b&2jͣB(BQ!{l󨐽q7h.7y`~q’IJ|.>yVXZqqpXE&\Qʗle@G}]/nbq2\d3ozrXvE׸-u+_W}R?]tc.1m2i8yt۱rܶ[++|(vŲv=[[vX?9X [ otEz!S' #멓\zWjc%@On$f('7\jP9)v|_fXmj΀g@ ϝh 3n/_?^%3KeO"2Lܯlu3US -~]iF\ -ZmMG ebxQ?A,}}ϭU DNAŒxcB1^秜2ё5iک@1ƩzT/cd'buY}|N쁔FIқc1jnR=ڒdAVO\.|R -Pfuuh}pG^T -yqQ^:c|`a/#<}.: A7:7GB⪋kVo#}X}10M3 Lׯt*qqH%;*mnۃV#CؘD40Oo{%bߋ=Vi: SP -yO<) ԌvHjȬT0&3#ã<E&+ 7݇Ai?41 -8ĭWm7ta6/׉/kݲl>}5e4weC_~Խ}u0R37~_N@E' 3 7 g!8<}kP}_ͳܾknkiCz#NiGW̥BVR!YLF:x!+S[sXuOjlw> ۺwg/]Agi=s榔`߭zXbQ25;adzp1~zp-bdrJO{_84-DWc E]ӵAaG%: Z7ti#Ƿ۠HR{ wxL%k-%Ųv;:Rݧ µBIF#"MH`:dU`bW۪sv}rPMA/cb<Bs̵<-sYն\”sT+w

fg&IOx~U(^E@66@,G4Y$%9)39hTΥ]VCI 4~2ch2Hh+XJ ^.}vXS -+gDYŽ\x;.n.ӣ$IzmHK+8: Us|^PF-V̳)׭ܠ?|ĭ^cJZOucSKP2ty:~Əo&>ET;Gztn[lpO] 0@Th mh1PiFә "=LmA[")huȩb))hΟ8gǀBE ?vvi]= gwiJHK3-.}dgQ,g&F%Iu0FP+ݪ2ku hJ~@`15!{O.Q*2 f0]0 :f8jߑ{Hy^d:.A%۲葩e~_ffћ"@_b)e=l=yY@'F_=,"Z&E֫$`0y*EWjR5b}xk=-gDAˋ,4<#39EٸL[u3|ݙq-fT 3j~h܌ tf[֣ ! 0\I [{%zщ;͛z{xmSM%Ib MgB@TeYfv - }VrQ&VjLU gЈ -vmaK:VN6[" -5Oӵ/3J>ZK{ <_8$D'AUj~q?ek^^[̴endstream -endobj - -44274 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44275 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44276 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44277 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44278 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44279 0 obj -<> -stream -HWێ8}W tԼJ"v03 & >tbӱ2Ա~VIde]G"OyW:O7o_~8/_$_Sa/53J3LFKꄳω`Kn޻CU܋МNՆ[>ur %2 1Y >&w[骦fWϤ+aR{qf"k)Ҭ#u/OW/{eSS UKgš\`W9„MT*#0_ ٖ%Ve4<&6mbMȱ1UD -1dÅY,CBBC XP/#P/#P"P"P"P#P#Po"Po"Po">g,RH}N#9>"R_H%H%GiCHµ!X}pm!+VbȊՇ׆k%C>r$\b"\b"GkC Yȵpmpm!PV 1d#Jµ!,µ!,B}ZI6ĐE\+ ׆1QkC YCV>Đ1` 1d#*µ!,B}ZE6ĀE6ĐE\׆kC>r"\b"GUkC XkC Yȵpm!PV c ׆b!,µ!X}!+Vb"\b"GՄkC Yȵpmpm!PV 1d#jµ!,µ!,B}ZM6ĐE\ ׆׆k5C>r&\b 1dC XkC YCVަZ8[47:Y{[{B4cYfܭ>=u+Q8ׇf FJhGtqf1Yj_MsZIx*-z\mR-CO X&Or(\w*sy*ιQig39 aavږut것ؾ9lQ@0I ;sˮڔ[YO[y9Ss/CA .s)ȌȊTgV~=EJ<;׵8槦C\&W}B4c~;#hTvT i݆p9_ظ?uPnz}9.sz-I/3o_?^^bZZ ,j7X*3Nէ3{{0'롈E[3lz0r{GK.9.\"9]xc`_hՍ.R(44.Kdjw1))&\B&qq UC\K!Hphj(bi>-PB;"Ygޑet:B-32,-NqZLчq" ƈB/3im.d?d}̈́M-dWԍ}TŔNOPX1~d&< gK+װ٨up7z \o9+We?8yYpӘԷ~4~ߜ73XaU]0lT,!ElNUAAA|00-;#LH -XPܖ6e%F^Fdie2EE癗i$e|ʽIF%ȏz")u$S#0e1p -c ie.@sUHN,ȑ`\Q,qIiQ&%V&N+,ah[5ù~3"c`/=opmx -4ԧi& -ٳc[mOd"/ A0X"J/RK k+s -%*ewF6lE'-}" -xN覘=Wã ,殅|~W6\?x?Kbvme00LWcT ֦A.p@ΞyyKr mRxQaN5"XXIy&}PW ~}$`Q Tơ7% P_9T:pX3-?͉Ğg@16@{Wy }P= =BЀ%@hߛ0>C2 |Jds^Aږ)!BZinM"b 4M&H+by4/.aN)d_)I܎[$/e`! 3$%}x"-TMNXn{&Iq23c=,ɒ`gYI%E:Qێ2}; ~.x㊟"13hȮgq<5`Td ǥaJ9 QW24UcgYtz19I{ ?nv: xTuGnw7T^ݪ]Fa˙Z/MQJHR0IY8,&aF,2wd| uUc]Uu՛s`oUp.;F@URVڻjߕoݮtcWzsdUO!,Ĝ3bXJu*Ѧ/K =B\o>,E)RIRIIYLL"JH_QӘs2fan"CK=:ޢqIS9Lw1Ș5qQ-ϒ ˙g떵Z3k e=Rֿ2Gѳ%1F a\b0VxhP(R(ҷkAdJsvU~Tuw:\ b]j:ňѦO5^Ӥn6FD4ERbT bұM br,SS22C2GșMD`]kWed7#4޾È1>Z\d犫9-3WK(x|wy"@C@nq^;:}qհ&Q;W2Ϥӫ0a̬W9b8efia| -{'Hci;_sMj>af }ԒMN&}}U:TǷc0JyYhBE) ys^է %d~ʮJ Sɐw:ji5)Tf3OhO]bwh^ȤF7y f̋kt#,\ O_ThA x>f˧vw 0:|}8endstream -endobj - -44280 0 obj -<>/P 1198 0 R/Type/Annot/A 44281 0 R/Subtype/Link/Rect[93.6007004 220.429993 223.080994 240.110001]/Border[0 0 0]/H/N>> -endobj - -44281 0 obj -<> -endobj - -44282 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44283 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44284 0 obj -<> -endobj - -44285 0 obj -<> -endobj - -44286 0 obj -<> -endobj - -44287 0 obj -<> -endobj - -44288 0 obj -<> -endobj - -44289 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44290 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44291 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44292 0 obj -<> -stream -HWێ8}WQE`L& 0=;:@X-y$9II&+bEEb~xaσ&cV0-D0DSa$ǀu<[ǶOjmk~ga! 7I KInNcVۡnpu$" Qԩ8'q"p 4b)xiD6`!K Kc$l ݞ`ρyx Y~oI ($~OA:(SSDx ׆(:(|cCTJ\]8{9{^x^x^x%^z%^zS}O >%ا`y3} >'`{ }/Ǿ$ؗ`iumumٻ6@umٻ6D]պ6D=rB Q{OPkZ׆(ZNֵ!`節um"TET պ6D=rB Pj]j9Z׆(ZNֵAֵ!gEֵ!gwm"TET+պ6D= -B Pj]jZ׆(ZAֵPkCS TET+պ6@um"{j]jZv -$Z׆(kZ׆(kC޵PkCS$TET+ պ6@um"{j]j%Z(B Q{OPkCS$TEֵ!`Vum"{j])H պ6D]պ6D]|e\ hnOM𐅛=XG3|JgaE n]w7r*+gaK7J5So}ߴ;em;}0T{Iqjz'荑ШǨVS2Sjm }'x -uVǾ /_Ȅ<27\T1'Q}: UC6: l-Bh{Su&lHq -ЉGePq3뒜yy]40Ʌ>${8cbzr$z2}{5Ô&r:fwPo!C;o܎ ܜ@R޸btW@"7nO Y{"af1ӟ_KliUE?k=DAOgf՟q8C\dp3NYQN΀*̎7+!cPlr5-*$ yw7.UB2'=>L4HdXS.nDI$odX\{ZB]J>/hZŵ> l s8clE -X̗#Ws8Ō1_p9$w-! JL[cq39U.BU%l.D; ꟬}vGfEc@V9Pg(uޭb]pnyȝA4OqV2TXiX7.^–Ӎ#l 6"R=N`1Me-PL_֫+Y>$ {0#Ė IMYU$[V[b}zRE|'^~Z`VzBҁX.&$4ҁ(bA}ҁ)ᦥf[X\80MEŢGK4hE zT=p@4>FxqGyg+p-[3r^>ux`t]*L%Zv,gR'enzalmױ{O -=/ z#EuE+~#ԒLUf_8 1ϳ鞈,b::|M*~'7 u %UgáHf Ÿ |s3CGH&K4v|xa:=~1a_ߏ=o0L=;8,E`l#RV -\Zx9=Vw(, ΍yrW7%qDETv=ʶܰYvsXm%͛>䅀wn<1if\NMp#0X7YmGUEmYZƢŚS>G}T.N%;DĊ䇍5isw"SvHdnML5(W\np|˝W_Cl\.]DkYTTL品TB&+ T<\UTHt>xKG ֌哦pٓ"P Y9:Mq\Rj\bT7o_!*>fLD(o*0'Ltjm#6TFYA% ^Pic8V,K2 -%3gTxP8Z-99WmhUּWGCm,F F4YPVs~AY B(q=:ǵࢠ$W]#*G=ZpG(Pk;!BE @Q5BQ<[ՂJA)(VUE9e**J8:9N?GE20ҌR˜ ex EEtU8-BUzpQzaTe_ejXo1 &1 -gv Rb=$Ff=Ob=Щ(˚:)^cC(/sfy'+u(detCi-R0T[FcZ1J svs5ǣU,q%hYrlFd9^&2RQXNP(#$exBPl.ky s'hvAbtw\ YJ 5ڑͷ<ҨFі|\e?*1c7bG&:Ɣ ̏#{u+õ^Պ+M vd8 -6NPzRZNBrJ׮rU"$a9ejGꢭ3S Y M=.uN{3>q|3)my*7w -?ó26֞QǕdn4K~OVX؞w -@ 1<͝w *r/yw|#hw{ځ:f8qqڑR6a{Q A,{>v`GmdE4Fme2NWjwXjXmnU4Gpw#3endstream -endobj - -44293 0 obj -<>/P 560 0 R/Type/Annot/A 44294 0 R/Subtype/Link/Rect[93.6001968 663.229004 206.304001 682.908997]/Border[0 0 0]/H/N>> -endobj - -44294 0 obj -<> -endobj - -44295 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44296 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44297 0 obj -<> -endobj - -44298 0 obj -<> -endobj - -44299 0 obj -<> -endobj - -44300 0 obj -<> -endobj - -44301 0 obj -<> -endobj - -44302 0 obj -<> -endobj - -44303 0 obj -<> -endobj - -44304 0 obj -<> -endobj - -44305 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44306 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44307 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44308 0 obj -<> -stream -HWk6_}^%@; '!jwd˒֎?zh{s0֢jJ"%M>/U?Kd6Wit* NV5UuU])k~om5J5ut{2\N -$Q*@SeI*~_zS &~adT-w7ceݜ?OsoȟJM(QMO- i)_A3QWumSIrn";6H)pLbQ Xp -,nb{[e1Np{'w̽{ =s -S>ܧ}*O }>g}&ϘLp1>gs}/,F-ŶRK1dqZ!{KH-Ő%gBj),=KRK1` ,VH-Ő%gBj),!C -,VH-ŀ%bܳZ!C -6rBj),bRK1dqCwO1` ,NH-Ő%guBj),!C ,NH-ŀ%bܳ:!C R Y{Z'bܳ:!F^H-ŐS XBj),b),!C ,^H-ŀ%bܳz!C R Y{Z/bܳz!Z!KpRR Y{Z/b(RK1dqZ!BEUf6z.SF-osTFWr]EZ襁*Ň#Z'j=mWmv~;77Uw{\;63ms;4 U5Fr̮Vgr6|iƏպlJPkZxWo?jwwݺ~ۺ@oN -+5N|b9J(4dősS~I:J.1by)Tib6}; ltZv[ˍs\iatԦ*A8\\.vM~D& XӐN$:uGNxO͋."0afN9v(XW! !?6d$&{-vz7YǹF1^)[dk3w\:\~j1[ f e Nu| -Қݵi;G7le10ӟ?T2 H˦qS 2p6&fb~'t -gx$gPN0}!, m"31.A 7d\M8擔?l'hu ¦6Uo](VDV4d]xL6o)Ͻo9%7Oێu3K%ӌ\xBIXp-D^;hnԔvu|u٪~u*؇:=Ps6yӫ?aC_9O0u; Zǚ0Ѐ3X]k 4w[2u3~ix -5=y ^Yum _Z'FczmbGr'XVո [Xd3 3`yZx37itdX8Fx89%ELkWK{S+I"cC lzv8

GMhU;8e6InO'NG~5N [\nGCa:!~}[URvwztx4u|sPP@7]/Գg?޾]uP=-,8h>ڲ Y($hgÌ=؞f{ecK7y||ttuu$j'! !m4K% RLM*χXA ;pd$tOͻPǝ ,2>cW[0Į2& ʉ~L8&!\U bBƲWG`EZґ&te-iBDZEZEZ9GZ9GZUDZUDZ%UFZ%UZZ!X+İ%D%-iIBKFZЊ|/ ߇}!Њ|/ ߇}!Њ|/ ߇}!Њ|/ ߇}!+ -1,{ }aKhEWC ^B+"|bXZòЊ|߇V{E>İ%"+!e/^1,{ }akbòЊ| ߇V{M>İ%"k!e/^1,{ }aKhEׄC ^B+&|bXZ5òЊ| ߇V!+ -1,{ }uMYys~#D$E"dF3L_*L?vRAR3 ^PprHXI$[QcJJ*B,T~ڀLvC6Ƈr`b) _+xc%ICBQ"W,tTTn=Nt N_Dh} 'Z8n=2¨UƵyPo/GyjnV1 Ga,ic/P\/lsǞgqhTxTvA҉l[~P3 j?c 7#a)p;ƙ*L6:93j= -Ь,Y1?/)P3>|>A؆)|6D| Wz\An'~Nәrc<d9f-輒*-s ff_T_:{< -?(׃VN㑱6D88Jb\r\ۋĎG6oÝo?Warf:gnoOs߉&e"rlF<q3tAB^ٵop?2JJ[^w44e\R >WǗtv.[hT0xux+H7Ս;rWr+Iendstream -endobj - -44309 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44310 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44311 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44312 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44313 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44314 0 obj -<> -stream -HWmH_ѧ9AvݕEOҀF3M˞o?yq8rtvkOozr/O?˾dkUz* `UdQ,WיQ ongM-ͺ[TN_YugO6VU_e1MbTe^zOΚzѮc5:|_d.m'g]wR>ݪ:͚ԳvlȂ[yMA \ i9[~9mWer&)}N_󏹚,Bې>Y,GMv9Qr" Lj%Xb#Y #V,ice{+[ -w½p{'{ }p >p_p_%p_ -%p_ -%p_ -p_ p_ }Eg (-ǖ{%h-Lj%sX= cEk-h-Lj܋ZZ%h-Lj܋ZZ K,Z #p/ZkAk9X#p/ZkAk9F,^ւrl9ZKXbrX=Lj%s,@k9F,^ցrXhXbrXh{ZZ˱{ZZ1bcZ1bcEkh-ǖ{%h-Lj%sX= cEk=h-Lj܋zZ%h-Lj܋zZ K,Z #p/ZAk9X#p/ZAk9F,^փrlZKXbrX=Ljܫ*H?E̷T"`EZhy偖ZhVZ*V -URh@ZЪV*VZhEes1bI-a heZhYeȽ6f -{ h[{acȽ5f -{ h[{Ncr #wȽwȽdȽdȽQȽQȽ>Ƚ>Ƚ+Ƚ+Lj%8F%rA9F%rA9FG%rA9FG%rA9F|%rA9F|%rA9Fw%rA9Fw%rA9Fs%rA9Fs1bI-іhc^l=Ӻ6ʨ*[J;x]"DG|+uxp.Or-w߿[ ~25Y;߼{kt4bfM?Rn)'q0W/#>ի؈7FFe}^=p{FNkLK5gy\zC{|qt4xů;'/,f3bvfeyڬpXZ^hyVZAhV -UBh@Z%*V*UJhEVZk\jqXRceZheZh[{ h[{ h[{ h[{ h[{ h[{ h[{ h;{Kjq,@9F,%r@9F,%r@9F,%r@9F,%r@9F,%r@9F,%r@9F,%r@9F,%r@9F,%rA9F,űȽȽȽȽȽȽȽȽ} cĒZQvoLuvZ 2ʫ=0`wsN('ͷWE95+ظIi]1IuZ|3N_5MW&I{M;ix uwRMf뻎ݸ veb2o>8WmwbIngl_fu5!*WT[2p3]lM߶bu66vhF>\ӻX7޻ޗ:mF7ҧSjiX0ܛ2MRǜn0J!׶HL'ꊍLr,} -as6շݳ &U{~^n/u?b?>M,E`ѯѽJepl~tjq>@"H =H  -ڢmz~$G2I@Гp^f{Β@,lVqѿ1e"N&b4qRցi/<{ȜyIZa9ƊBbBҪRՍ)cXѫTG"Ѹ ->9“#$ \o8S21U1ˁrNFLE`i&ۚ4'(APw(`"Sg6l4F5ߋfe'0inrR :a?~y&$Ecu}%w<(9'V2=Kuj%t -{+ mٴv1K<뮳Mܚ^^%ޠ.[,">qVh NLJ&>kw'x)& rfY2_g1بi߲ڥ{黕?qA/)7YYc%Kݜ1 ]ixVںV|p07",}A"@lti,C^lyAzoYw*fn8M#0/33~ - X},Or?i $ \F~yxVv6C-Ѽ+ -dӍCF;z>ȓ7ޟ:W]s5ۅ}v/Nd+7`k豩,<=CLH׆<~55z{ZRb)p_*9 *hZ<^+1g*W00]p0PzA md C"r{Iu$#au,Nr欉|`(]<HF" o;>LY\<<4UQQ/GeI=S!g}Tٱ8<3N\ɭnYZQ>I1vvbPШşa1`7|/Ù؎fe27s &;_-ً~Rw005+I'rv)H`0У~fpB\ ~K -4KvBu}& -ذVbfxM{K<- xgtt>[&҆ -0EM]*2z8 ,>Sam'#۩;nش>lNx9yQtQDr< bX*ex!]xc^Hee\gikF{i F־0NDg| -~r"4&:<­G݈vHY1 7'VGb_?endstream -endobj - -44315 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44316 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44317 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44318 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44319 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44320 0 obj -<> -stream -H[o ?$4υ$ &t>DAHD=g:e{bKYZ[ֹmͳg?x2=!OLQt*}V8kmĚ$lҼݮ4]]\֙}b\NoH&Hk3$d逅1f]{cyEWnfy3_[?{[2}y=-< Қ=MrqS3g/Oy>7KD_f MN&LLͽƔ^NjDY)1UJfVQw*JAz{ޫ*}J@ } } }җ }җ }W }W }W } } }G>W3kJm80RcJQ`jƔN/5tzVjLjjZ1ҫu`jFZ1ҫu`jHցQ`jHցS ZVjDS ZVjLjjZmVjLR# -LԘƔN/5J)^MS+5@z5LԈS+5@z5LԘz0R# -LԘz0Rc -WSJ(0Rc -WSJ)^MS+MJ)^jDS:ԘFZ1ҫ `jH6Q`jH6S VjDS VjLjjZVjLjjZ1ҫ `jI -0RcJQ`jƔN/5t߃Mb\NX3]%6?}VfI_盛u3~"~.2bV3.^7ff7u]AiÓ۫Mgn st65/ *,>\;t}~ XmE:=Xs>sӾtYګoauwnz:l\.rxq~|X\p~@q5+}%*pUfғ/[`oXͶO9q3zJH $te/}^o})ИR^xWP^*W -URyT^W*UZyV^xEW^.^RcJ{I( */rKށK)z@RwRc -x;{1TԘ^^jL/{z/5SKjDK)zARRc -x{{1T=Ԙ^^jL/{z/5SKރK)z@ƔQRc -x{1T61@RR;oǔSK>K|pS ^jL/z/tLI^jLi/1x98xl<{zy8x -أ|z|NovڜNKIO4y?7.v2.w|tioWv{s O^̏wc[]7̾_vlx -Uu?ʊ`3oK.g@eV䟣 [٨jO;)O/mm}8nk\nWEN+޴u&2^s, w1M]?yU֮,[=KN_{joM_kqF!ukv?Ⱀ߻l:fGج]cg_ytc3ެַ/|G -=ׅ>{I7&g&=}{+[C:".WWO.]i49!!_nKcTe>)I7ݲ]qսqW{[eՀ~{ :z >OgnY͝=*m^Γϩ}^>6|9==wK.cz j6jz¹hG_V*i>BNw/,4_~<|Q̝z=w#UW;OގT5U1 -+ -U(xʫ^*W*U) -xUʫ^W"+(\ƔQxYeU^x9倗SKށK)z@RwRc -x;{1TԘ^^jL/{z/5ԈSKރK)zARRc -x{{1T=Ԙ^^jL/{z/5SK>K)%5@RRc -x{1TԘ^^jL/z/5}SK>K)z@R/@ƔQRcJ{,_Oir9fJ\WT6 - a%RK:Ȗ.L[Bl8!"ē={`7 O Dž[2j`(\MlkK=FBBgBK=\0B+e̿Skee - x%ρ5Ss7FƮ7h;<ӫAlGXwW wܰ } 2a_ֻqF d0H}b0L#3.Tq1%.фz Y[jIÖZOK*oEH\ڮ_/P\XRO"`~\ļ&Ptki 9\ K6Q_64R yS؀(&l9V`v) -WR<[ zsLm'xĨh/ RzD8py]?D̡746ma)s+ F _i^>?p -KsbOu@-53SG5L.)+>]nVRA {**O(;9vk<Ɔ'(xO^z0 kGa|a#39|ZEL1D}+PUUJy%RᢆJgהPt/|ʁJ0U <2m'Gо땆R63rDEJ} QƅtstPz ngQPzTy=gc$L:of|Oc* -Ha:σe%^ԙwv&`jwE1w[o Sz韽對[=>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44322 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44323 0 obj -<> -endobj - -44324 0 obj -<> -endobj - -44325 0 obj -<> -endobj - -44326 0 obj -<> -endobj - -44327 0 obj -<> -endobj - -44328 0 obj -<> -endobj - -44329 0 obj -<> -endobj - -44330 0 obj -<> -endobj - -44331 0 obj -<> -endobj - -44332 0 obj -<> -endobj - -44333 0 obj -<> -endobj - -44334 0 obj -<> -endobj - -44335 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44336 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44337 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44338 0 obj -<> -stream -HmoIeR/fb5v4KvȠmV!SMRl[_<}E뒡}4ElMU[x?2eLoݼߺj/u&{dƙKh$TymEv>Mjiƿ"ܺ|yC .uUuX:jz1n=Bly.g;RFW袻#ۛMkM˛~sX/(r|G;k2q:]Щʂָܼ#s)73PZ_S^E{*}J_J_J_J_J_J_J_J_J_J_J@'^ͬC+EJ)^jDS:ԘFZ1ҫ`jHփQ`jHփS ZVjDS ZVjLjj=ZVjLjj=Z1ҫ`jZ1K(0RcJS:ԈS+5@z5LԘ0R# -LԘ0Rc -WSJ(0Rc -WSJ)^MmS+5J)^MmS+5@z5LYS+5tzVjLRcJQ`jH6S VjDS VjLjj#ZVjLjj#Z1ҫ`jFZ1ҫ`jH6"+J)^jDS:ԘM)EG/Y6g/8li2f~۱݁8u'fit_li? ûrf-j_nzys*h}D5A(PÙ.qӿxmql}>Z]=f۫nzδ˽6wwgF)jMc|QsKM35GkB /FgWq/v,y>OLuκ.Ւofuv^9"N^utkӚad:Pa" H!Bp٤T+**W -U(xʫ^W*U)xʫ^J+)SKjD9唗^Nyy啗^^jL/{z/5SKރK)zARRc -x{{1TԘ^R# -^jL/z/5}SK>K)z@RRc -x{1TԘ^^jL/z/5ԈSK>K)zARRc -xG{1T#Ԙ^^jL/z/5}SKSKjåMS@ijElp{ofy^t߂^$xmeE)ٶ~j]<mˋv^LFt1\9E.>|@tU\~\rO zwM@F<E/'#N848~719[?#%\h;vӫvwy﷯ߟ}KKgʨb&|v>}|׷ޝ'O g>Uy[Ȏ/]Эp2z$ Ɇ[S<涸g(=19 @g[Ru̶_tts}`[G[.!Jl}@<1 }/_={?1)c~Zw0qtCVjERAvCՈKcM敭F.Wh| KW{:1~&_:>Y +xt>?(VhL%@)+*xʫ^*WJU* -xUʫ^WjU+J+I/k/1F^Ny9唗^^yyzARRc -x{{1T=Ԙ^^jL/{z/5SK>K)%5@RRc -x{1TԘ^^jL/z/5}SK>K)z@RRcJ{I({1T#Ԙ^^jL/z/5}SK>K)zARRc -xG{1T {1FԘ^ɦ/gMvڸ`id ׆,џE) f"qFny3,bqIw:wǫG9].p4rNWK0H%XU{CU atw"731,̣ϩ!Y_&uxfYoJ<$=0#oIٵJ'>R9j5:J$I2=0hI+Ec=nj $`+N47Z9r_ zIIn2 /vW qL"|b|@joE@9hڞT/YwCfΰm-1E],2 Tn{d+͂#Azr@WF=OٝuV?(AHQ?-υUa\KT^pݻ늗z%⼈`)E ;ԪN:5ñWpEIex;hAwnw1HU}Z943fn+ŗ?n,ټ ːSRE6_k'G\iM9hFq{GpzU? -ddeH슪 Ng׬ qendstream -endobj - -44339 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44340 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44341 0 obj -<> -endobj - -44342 0 obj -<> -endobj - -44343 0 obj -<> -endobj - -44344 0 obj -<> -endobj - -44345 0 obj -<> -endobj - -44346 0 obj -<> -endobj - -44347 0 obj -<> -endobj - -44348 0 obj -<> -endobj - -44349 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44350 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44351 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44352 0 obj -<> -stream -HWܶEgJbk4p#A@ -@*ٕ.Z_Pp\0΢>O8ׯo}[&W_L.aE8nX"F빧d+-BSxw[x9Rg}g+̤```,sG8CgbK9q cN1`IY`aR1,EWzEWzM׉zM׉zM׉zC7zC7zKzKzKP'sB}/E P_$KB}/ e]J´;dp-<+U1`Řg1Yzp-q"\1"'Uk1,µ,B}ZEcEO\b Xk1Yĵp-q&\1`Řgjµ,B}ZMc"\1"'Մk1Yĵp-!\1Jc Xk1YzyVc"\1"'5k1Yĵp-ƀEcEO\kb̳k Zp-q!\1"'5k1v,ZyVc"\1Jc̳R; oѬٛmvj&!b?l]Rش}shھ;Exqâw<¦eCiق\J.ad"ӼpiWMaOհC3kbbcM xyuI"^]~>m~sߪ>M/]lW.CS۾~oix%MƜ=G'[x,H޼}|"N5,oe͒?Ʈ -a!8r<~O칆(uq 2KcgBKcۜO4Zpl롹c@0l_'J;Q߇hbrz庞~E -K|ً^"ʟkUmJ(..?1!a#[Fh-ZEe.A q~ؼhp>vn~1Ԓ0'wa6̤6PBIe0n߅g8F>eeQc!|#zV= rx -׋)\B,-Xq+q/4I K^ekB=R9{rҬ:lLı lbϬdfݟgB8Wp -DepB<6TK. >*uY_vAEbi`-1g/.k` qbuj rEb 6^'&CF#ή>QE*t[`7'SJ"\eNnzא\6! :﫡PߧᡚR+ƺY^Ub IGh~ - |0S׏IIҗ1SZb}]Ʌv)f_{e&MuܷMLXY@3[|եy,><7Qy@kW}b.o,PݤϦ>uh;X ޜwB+IGv!p?B'H\r`! ru -v> -Kš+!oasQhZTmЉU ZwIO8?:袍|?׸_Qrkź_u -,/P:Cx% -o7qS3g?WKoFW.Adz*!0 -ʢl"d~;CMNv;oӸ_zT8$Drۿ9N79OLę+A<=KYp9̄=mTdܡk޹_/ͭj.W -suzmg;"awr$nn\R"Rׂ.;VӀ>r^}l Ud5zFޞ<IM:Hv<1G4S%Q˞y8cM۷v3N:/"5~#P=yQX6?}|eCǗ" g\^`Wٰ^.\x_БV* <ب - -O8@//'(|'^Dx 6`]vs}6oQoaג-b+`qh*r;=m~Dk%pۍeHI Ǡmp -;4\fғJnc2؜`v8_z7N?N_7̉wn}BqШ0K&qȚkB+CBP_ -"֥](uGԌLH>%eHDÿZWPF$"ھ9v6śz}u7qNP-ƒW'תE´=,<{9 }mSsqPR's(,ϫ+k?:,3OU;6DweFrSM)Rֱf9dZu7jp^|̗U&˼$ -4[ ,`\r]x, -#t|Bhxl%T}cb6eanlzXkP!H'q02?*4<hx%q *IQJy>¡#K<](5.,:p$3duV# ӕf@6օD,cTtOI9ː_z'Ql{ MzH_TB_{݃LP৺euw"Ur lU2aty:/Ut'*Y#r`=ߚLOOڴ{+-}U⇇#V 3ّ݇\Z;ne! g.0hLo>s\R:Rq8uE׼v2EVTJ<M|yT~Pnd(=_ ۛmځJJZ]3 A:u{04].O$#=xx&W5G7|^uv~xI@D,oj\NwY5U9:KT\ eQ*bĄ}`1l}[.R@D2)Մ.97wW7_ P(endstream -endobj - -44353 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44354 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44355 0 obj -<> -endobj - -44356 0 obj -<> -endobj - -44357 0 obj -<> -endobj - -44358 0 obj -<> -endobj - -44359 0 obj -<> -endobj - -44360 0 obj -<> -endobj - -44361 0 obj -<> -endobj - -44362 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44363 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44364 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44365 0 obj -<> -stream -HWko_inQn&Uv`0b*)I")8EǙ=-ח_=D_Y ,TJV+=Ξ= -ޘuEbcںY]xoo%{nw xRt؇aC}D>rac}L >q'aS}Jw4+bƓjϢ\(BgQ.{(=P-YQ$T}EwT+ bbEJBgQ{GP-P-YQ$T}EwT+ bbEJBgQ{GP-mrcbE*BgQ{GP-P-YQ"T}EwTbbE*BgQ{GP-P-YQ"T}EwTbӄjϢ\(BgQ.{(=P-YQ&T}EwT bbEjBgQ{GP-P-YQ&T}EwT bbEjBgQ{GP-mP-YE,e}O4M57;]G[~c4~H`rI7緗ǰpY[n{h$*J1Irɲr0֭ˬ5KU@|_:kvpp~l\E# hzcۘeoLٛ\tVG,8):<0NOlZ-QL(x1~D Ri7|RG,%@@(R ]x-0Y[}$|/mӻ^VE;僽_Yv:ցhT%$ L1U1i-nr"gplN~JV,0]Z9DW@7M/ ՄcS0èn)rlmۍeʼe7[9Y r~ת`4x -#pXUP .l]N4O<=J] l5o$ F+?GWָv[hPD𹫅v֚ݩ?[R{⥀:;Gr_ovdÊ!Չ *aо[/`UoU{kfHw(U1Ǫ#.%VcY%Y<ї})7Wgv7m0:nC@7?kͮ>@i=ӿ~#+H##M 2ƜM `;wtÝ\.ࠑ}G~0OU[5a@Kq~;apSı<h+k+(íڔPzD; FDգ_ί1P̮Y, -QÃyp<&'dNSJ MI D=ZxZ,5yS|XэVM|7kiMp!'84Gnis趇g _uoooz,0=[w p/Eh4UMDzNSU&vFw'6Xډhbx\ZٟWw?O~ϟǜ<V|;sSj\';b_ӚriN<ɶ]C eڡ*rgc̾Mݓ:C۷%;W l9~h`>D2-8h4-| َ/mQ "DEw.n?ykG-z~ZMoY]#qEwI w\AR(jzƁ轿GHylt v͢ -fXr})[)+{ș9odab#1vsGK%׉ι)95;pN&V&&_Y\N)s\ϯ?}`wm*6j]Ze6E,h%lc&Pd (%1J3 -*ƶ=D^aXlh3 szQ +=D=$ez~^55iR?ROg'li;aĽUͲ`wh:J9qTJFK'xڝ%„Q& (VԬ7Un0KhS9mɚKlѪ[Gu -7i"RKuP{I!|.5!:f>W5v+ -c׽=#!߮[لn!P2⮑YW JY Pl ;|WOQ y9;0xjTfm -$u5#/l{އWrxivۘd/=D&k J9$rT;f\8*TM=esѸ\0pl6/7s̫Bv'J#b{>_NTT@ /[޲m3gYthLXyF *0'~h9a,R.Gs HKƂ#{G4x(|l(ӡJFMK8)$⇲hN}4*SNgf&_K))@Ǜ%@FKYĿ8W^JCod,drKdz b"'uG{>endstream -endobj - -44366 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44367 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44368 0 obj -<> -endobj - -44369 0 obj -<> -endobj - -44370 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44371 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44372 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44373 0 obj -<> -stream -HW]o:}ׯ $ -?E {q4-hEEPl&QWYYn6PdE93Eד?xuPo^ELXN.DrS(N:}%MDCHIϦ*j+kwtet ':X0rX0'4#:&a͸7Sg3@$bvduں7Eا{{{ a3}y>Geh}[qD͢B Pj}E}E}6Bj}E!rD Pj}E!rD͢j9Z(D͢j9ZfQ@QoZfQ@Qo(}ZַՑ@T,*dַYT޷YT޷ -Qo(}ZַY>P@TַY>P@T, -aV mBT, -aV mT+6@!mT+6Bj}[ID͢B Pj}E}E}6Bj}E!JD Pj}E!JD͢j%Z(D͢j%ZfQ@QoZfQ@Qo(}ZַՑBT,*dַYT޷YT>O<¿EwSGoŚ}}`YI.Hd]G7= ٙxzlbs+ڑE7ܑ;s^=M_ q?ّͶ,zScq,o/޴?fn}.imi9H%rK YBbV<)eӨzy^~w/@~d6ٞ-eU[C 1mGӬI]t1>P3w6諾)ϣ~7J9S4n~ʙO2KNMӟ$!r l(L$\Ӣ39.- HJYoaN -Iyؔv}ꡘJD䁪wpP<;eд9EΓv60l*ڳ~. 7 F9o%z4Q'W&ÜMMQ3fb@(݆Iv/$obft7Μ3Nuw&ef8in \$uI(du -ňg"0>~wɗyp\p \L\N? FTޕMQ\Dy~޽ s3PtCd h+=o. ^jsW`+Hs= p>Y'a0.@,3c#X#cb Y2V\1R_ xG&Cٗ '{8ԟ1e*s)5fƻt4˱mZVm04\et?Yxn+p0ȏ( -&i/Ųp+N?uL(f]*rL-5Ct\9Mp{)-SWtՁLטEsrPPovήٕ t@gqήo훪uma]ZZ[\&wzW0X`Ê2,_Vq_&t7V.*͸,y+\B <TqVdTf߼ޞh>m6Br{mz}{ɠT=8o7 &UƹBy!uE(Hɶ.ozM[hr軰sy>eFB5A![9Q SIUw=NvtB -ՋEg,\U{%*g}E^2)r^D6;XC7t;3}_l!} -i,)g\,54QSa6{hZ{r].j 9/Rd|^,&A=wxlH(vÌ~}`& lsn<6=4e1D <#mP0M:.rMzUVֺ!L%NԩPaPBObcyUlXAgB):vzuaY]8y\>xuOJO :0\ҏt÷Z:HϘ l*rhܢF8lb*TX.Wg~}3RO{zpu|ްzh:7xsmaQ$wF :=`/΢X^Vdgs*!V#!,E25l*O|36ĖWu{ߗo!&ݫo_{9Spendstream -endobj - -44374 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44375 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44376 0 obj -<> -endobj - -44377 0 obj -<> -endobj - -44378 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44379 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44380 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44381 0 obj -<> -stream -HWko6_cŇ^@QI"i,v2=Hr%{IECGُ?\}xm?ீɈ!e"Jy"Jxثa!`aWTrԛuƾ¾~a^="B",0p;yIrKb,ĺǻO+ĻaT}Z=_|޿,xƗozۆi [50_9dq$}8BO8&( p -"q9)Gr1dù0u.,W;cx'sO='sO O O O$KO$KO}BO< >'SSO}JO=>gS3O}N=9>S_=2´.p!Wb"\bջ|.,µ.,BZNŐE\ ׺׺k9ZCs-'\b"\b"{k] Yzϵpp!P﹖u1d=rµ.p!Wb"\bջ|.,µ.,BZAŐE\+׺׺kZCs \b"\b"{k] Yzϵpp!PVu1d= -µ.p!Wb"\bջ|.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] Yzϵpp!PVu1d=Jµ. ZCŀEŐw1dꋨ( -oVMz\pCL0l‹Wݽz(ϧ> Gu:<{޽L-/DIJ݃/_"QlXP0yvSj.^ep5o FQmy1(HݹoիP-4b4 i}Wƣ ^_5Az9=Nz?vcg]fݒ*>NfXRȂv X/9TfEL|z7̣"q2ͪcJ,+x?z"S¤CYO|p΢&΍r*Fʗr!+"l;KX>>44<]D 0F/èm l;Kyz8,ꩾWz@fçd Cڸ_CB& -,*bp7QDET#Š,C"j҉6dv?{re£aLrKO.;<}T֧4 յTBKfz6ED,a&p|;kOa χcw-#m>z1[9Dq~ 6bݨ\mXXv6r('$32NtA5% 5XBi>s]7k[Y6LOf Ϝe(nOl+Q]nZ wlh;<||0Ɩm_T`9;^nŅmYw -XО^"`$52H:MXl1p Ś?Lfvt]+LQ716E.\xNU<1]ٰFRD]v38(ТV1l lV}838.x,tDjui-N#|8LRaT9]ehiԹ%D ̌ż{@\D329u~6椵g텹1na!Lw5K/88',-`Ru龕ֽاvy,1t1s$ _=$}nHO#b][c -XF/lM}mj'dzC(ޟbx_H;*&7%9 -^ͽ}IL^p;,=s;N=nEVLUGLNm1 j|:QGy&W~XPHbY-@*ߴdQ,5YUD HD9\/^gxǁ s,(=3n'kD}qfs(a*EsFT’h8r܁ov+Ī0 Pl.ZsM0˭}WPFw~L`2ANavg.>S\7L8&@\OV\Vㄭ{4^+&>?r,unC̋yr\z i9|O}G1Ǒ"R@3f3 w~\^,0SDRHyg>pP_`6ce)uFaf+tQ$v:㩮ϦXZҎ2b[Xn, q-W5l#ux0_B<Ep.^ Lش!Q)~32σk "]v%B6/`&JƓ4ݵb"@‹"" !aP^^~=LřL&=ڤp M,ϕ,DL'AxhqZrn10чaEdh|a0s_օ`v剫 oq}ANEu>@LwFSAavPO2?O=ڵdwk̓4+B,fiP">Z{,Kehsgg*Xu (h鍷3LݖĐEW/iH={`ϰ A-UO- AeehBwNWO7TwZhQ/H38v?ɝ%ͱcoA̠9裻dVZ{,tܬ 0w6q/퇙$t{[q~iQ|N$EE3[wNz6X1ZMSs}lͥ ҕ0X}qK;,ճ+& _ޅ -_58+%]b+z(@R=a - -Tx23Rg>VQcMKiMKLlz\\͂Jb̀T']X7m3~}-W|bal?")U~=a$JqHC$1s`M9nc)Lrh4e/c4z۶NwM)2tm6Y KC?K<?X@zvl9LHa])mx0-7pV\4hܯxłsɶD¤Dc[HsJ:vSaHTP^PP/ñAύcbRʄ(tMpsRsWgeT>Jv(?\RĂ@,+@Z+ɜZ(qTZQ@?V9,4IMEY:.c\a[!%vk9)saJ1DʙYL a>/P 383 0 R/Type/Annot/A 44383 0 R/Subtype/Link/Rect[93.6006012 493.82901 254.315994 513.508972]/Border[0 0 0]/H/N>> -endobj - -44383 0 obj -<> -endobj - -44384 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44385 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44386 0 obj -<> -endobj - -44387 0 obj -<> -endobj - -44388 0 obj -<> -endobj - -44389 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44390 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44391 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44392 0 obj -<> -stream -HW]۶}ׯ}]$nH[4-͍f3dKqQYQ3!؋o}wo}Dr\dea2'6SD#W}7_nFՏtJ^Wk%IpALQJɇM׊խ22}W0_?psf$E&sg߯4=7XɴxJ!'w)"qȴH!q°O'R1`4OGmR*F,ܕS4^G5^G D D Ds}y2m2m2mľ`a_DK}/eľdؗa_E+}w {w H-ͨ6@16D Q1{jZjC>RfTKmbGՌj Pj Q HQ-!aV36@16D1#jFԆ(}ZͨŨŰTRj5Zj;$Q-!*fOmbTKmSb(FԆ(}ZèŰTkRRj ZjC>RaTKmbTKmbG5j Q HQ-Q-!a06D1#FvHrFԆ=Q-!*fOmSRjsFԆ(}ڜQ-Q-!a6gTKmbGRRjsFԆ(}ڜQ-Q-!a6gTKmbGR!j Q1{jZjCT̞ws.͆CzZPb_d( -'և$2Zv3Cw<",;xj7}ӵA}4 r[H -9MI<WJ?ĦnfxuE-Z,֋mG|?!Ncm 6<^ KlVn3\TVRc{ HҮoo{VtDKA8RVMTղ!eZc'3@ !OC|ԝޗð6x6i`\$q:dtYk0_ bUU#T͘Fhs YúkJ`vK'˅)e@`Oa8%Uvu3zmxv͘`fݿZt+hEo3욥JZZ\/|)kUfjJ^f\™99XJ*neO]%gݘ80'7  -q8!'w}Nv&՛2V:f/q8 r\$R=~#|^EL%a+s=||5Iv B|PKU(H/P5 1+r'V ފ2xys\JvH;Nm;x<^ɭbYPZ,ܜSB.jJ:|bڋt]KЌޭ2zPH^ևo4p0\}Χ-V{ -^t76&^>s̆dA@7a8k8EKg.վEY@o΋Ȕ)pDCqzSɴ>P]Νƒۨl䚽UYQA/-_o]4O"٫6:B幋vլ -m\ KXxn[o˕PUaHm4Ǒ6}ZډiWT{B2&LiCxfϨBVљk?^^^ YQd\@ms-WDfpWBGSCұ/M5zJTuמ0F۰j4u!~hqK;o$V?ZQҵ{lTw %@RŋӅṎHڌDg%h86St#i CG/ |pT]4%ȄU)K qbi`5?h 4Uc|[K(VNER܅x ,\>݉ϙחK9n LF{4TƗr2qˡ[ۧO 'YY*~P*>~WFMdm -nd r)JfR 3ܲkN3|OdA}Wj5Q\9'^o6&$DaDSP L'J|U87mM]EݦENϤwep5ӵLf;NN?>P\fѳG܀];Y;"<jI4f_E8ц&4s;\-5ksc'L|r'z[ \bEd=4*p bvoҞLy#FS/>>G6 -j:g{*SbƵʠІjQ^(Pn-1ioHݠM;0Gv83^x_rRw$5u }x^HRS -jr`w*^JpTxQ Gx/rnSm?;v<nSn [ض~46)tDbAǶbTb zoHJvݷK"1ewE#y%C8\qU/f -:1 t1_IQwmT5uڪP1@Ԛc‚j*.{>/P 734 0 R/Type/Annot/A 44394 0 R/Subtype/Link/Rect[93.6001968 663.229004 215.735992 682.908997]/Border[0 0 0]/H/N>> -endobj - -44394 0 obj -<> -endobj - -44395 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44396 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44397 0 obj -<> -endobj - -44398 0 obj -<> -endobj - -44399 0 obj -<> -endobj - -44400 0 obj -<> -endobj - -44401 0 obj -<> -endobj - -44402 0 obj -<> -endobj - -44403 0 obj -<> -endobj - -44404 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44405 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44406 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44407 0 obj -<> -stream -HoſxHH۸`8A$S$*Z DLZ)we{;:OZoٳӏ޽6_%JlHme.X4w}6:ubMkͲ޷ߛWfۮm.y9KNgkfWIEd2y"+lL|pٷ1bjG|^˝>ɫvl_gO6{`m3v>%00WO363io9I*.QV*G2TQ2f*+HjLFSP2:Ԉr SHTz{ރ^ WHT>Q }T#HUUU/T/T/T/U/U -T -W3kJm80RcJQ`jƔN/5tzVjLjjZ1ҫu`jFZ1ҫu`jHցQ`jHցS ZVjDS ZVjLjjZVjLR# -LԘƔN/5J)^MS+5@z5LԈS+5@z5LԘz0R# -LԘz0Rc -WSJ(0Rc -WSJ)^MS+UJ)^jDS:ԘFZ1ҫ `jH6Q`jH6S VjDS VjLjjZVjLjjZ1ҫ `jJ"Z1K(0RcJS:}VULF=8t6sƚUbNʧVzuloKYJ?J3iU|^y/|J&P#t>٬V>kvuyِݯR/N. KKz"G5؈ӓq'Eoǽ7k˗nլzx|Ҝn,KMs+vwcz!NwA2<"uVfKϪɾ]5]lw@hn#r3g:}Z:lqśxX??6[g;buh?FGXx1r]@e_cvƾ>qh>iḧ.ɰݸ|,?a_q6Kt8Mu_g^tvz= Ə&?\  --247qjWw{^m6WRG@w`rmjP S0*ݽiE!n'{*/F|$Odivݝ]LͺxteEzQPO>dѢeZXNηEpmC9e8XN-2u6 َ_/;ie,|Z -J -P+ -+"+^ʁW -U(xʫ^*W*U) -xUeKjLi/eU^xY倗S^x;{1TԘ^^jL/{z/5SKށK)z@RRcJ{I({1T=Ԙ^^jL/{z/5SKރK)zARRc -x{{1TԘ^R# -^jL/z/5}SK>K)z@RRc -x{1TԘ^^jL/z/5ԈSګJ+~zكɪ?Ga/z<,=4~xʲcM0^nWX -NuEjmwa$VuYϣM4?Ʌ,힏]znM%ܖ3Wx*=Y\LJ˻/>|xr4S!g¥ 1l.&O!{yfjY{jmS@[,GI#8R< HI ppPjCJ-غ=_}C[w y(`CJ -y RJR%O[5h= -."2V&QR0>(c %Q4:Zmӄ{y>PRS$"]5jR$X%A!-'S$]+(JOlշmM܉_sSW;xQ;J^-qOn^Lҿ&l*jH -|Y JE/C"zYrJ3\Q0h1>bQmh6Dd,I@2/< r%b9uCDYK)N?⢮"B;2I쥪z'׬je,hvߦ)A>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44409 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44410 0 obj -<> -endobj - -44411 0 obj -<> -endobj - -44412 0 obj -<> -endobj - -44413 0 obj -<> -endobj - -44414 0 obj -<> -endobj - -44415 0 obj -<> -endobj - -44416 0 obj -<> -endobj - -44417 0 obj -<> -endobj - -44418 0 obj -<> -endobj - -44419 0 obj -<> -endobj - -44420 0 obj -<> -endobj - -44421 0 obj -<> -endobj - -44422 0 obj -<> -endobj - -44423 0 obj -<> -endobj - -44424 0 obj -<> -endobj - -44425 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44426 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44427 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44428 0 obj -<> -stream -HWko8_!`8SEm]L<I1Pl9VkKKN~/zA"\\璺oyWo.o޽ML$H/x3AOU)m>&,jWsݵz_z[>vɛerdMrE :]SMtO],@3 49.r$rIxx_..f[).D(6V=B 勷NSQ:F׿ %Rj &_Cz4)DF~hn'.M -rSFED -1Ê 1`1̰ -31`qD=sD= D D DKDKD+D+D+Dg,R!HFHFHFH}#9>"R_ #2Ĵ!O83X} qmV> +VbB\b\׆a!#rĵ!,ĵ!fXȵqm>r-G\bB\b\׆a!#rĵ!,ĵ!fXȵqm>r-G\bD 1ÊՇ׆aC̰b!,ĵ!fXȵqm>r@\bB\b\+׆a!# -ĵ!,ĵ!fXȵqm>r@\bB\b\+׆a!# -ĵ!O$3X} qmV> +VbB\b\+׆a!#Jĵ!,ĵ!fXȵqm>rD\bB\b\+׆a!#Jĵ!,ĵ!fXȵqm>rD\bD! 1ÊՇ׆aC̰b)B~f>yLtI8</HfY.ݢ9Czq(_ԝo0?oOo Uk7#ٰ$c g].XV}{Ay\S8CRoUyЀ(5|:пjM?-pX͐!L* -[i7v7qW"HNO=|2S p)F(ec.#=%g!ce7ZǮ./zHEaʷꫦ]/o"3(ԏ|EW-gnx깲DCtt1DXtv_řM7æ얣>Tiݬ;p÷0 * S)KW>.b^F<7kD۰yjWv]:)? x+[`7\*^WP?r)sKf/]ݖO7N,4ޔmXK8'PDMvw` |S僨l,ȉ;l3C? dŬ;+v fȧ6c^ntu#WZN> %ZZ>;Lf`p1 (DΌ3!wʳY𒻇Ac\vǪޅ3ϧᔪRL<Ia|fȧ\n{9[tvq2_Zs-˾\{MuZomSvkFiXWD s^0nq4,λX%ҒbqSLq^)(ܢg'8 TR8(r` -5v -]܋_DX tF T0<; CQمE-T˃.2Z77G5h{~P - wwNu=26w x].M׌A31?j68e<˱P0r[/i7Ƈ6Ԁ4m'EhJ(վ}Υ(9%JHlVƮY5_Ni+ ={vkX[$Ɠ>tҽ18Jɶ|링^2߀uG_;/qt?^ٙuZ4f dB-V'(\aF FR޶@RG]͌,3l&tٍp$PdacLEck, 2uPN\ߛyYmߝ&.lu1$qiI\FW]8}_}Ko/ivGFR2D(V{m6$'lsm_{lm=>*0;W촇+IOS4 htm(vX)45.*r@DAe@%A'?^Tg(3fĒr6x ؐ?i[S$ lFU8k6+oY+UhNYA$Nq\~U픾6JS0d=:Dy nXVB#cusP3kTK0 :i htUo[}{68$nkwge~(EN_TtNEW/ܫHϽt^[5疨^\+h|\N/ϷI zkHmC<URdڌ -))S俥EdU((эSG -#֐2ݍ)( ׻ Ω1FԵͩXS7M49L㻠N~Joz^/H2s5(2"̲ę2)2 -MK8y{:.M._,=<)&]3~mkX.(v绿?xy Q _hmutR@r:U&Aâo67guW.endstream -endobj - -44429 0 obj -<>/P 564 0 R/Type/Annot/A 44430 0 R/Subtype/Link/Rect[93.6006012 483.229004 477.64801 502.908997]/Border[0 0 0]/H/N>> -endobj - -44430 0 obj -<> -endobj - -44431 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44432 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44433 0 obj -<> -endobj - -44434 0 obj -<> -endobj - -44435 0 obj -<> -endobj - -44436 0 obj -<> -endobj - -44437 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44438 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44439 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44440 0 obj -<> -stream -HWkoN~g֋vYg6}TY~6nfi.d9e'?~4Ϣ+ +|.X6r"D11ŐŇ,!+,nb{[e1Np{'w̽{ =s}` }/%s_ -Kܗ}%Jp_1Qp(g5Bh)ȬZ!R Y=ŐS XBj),=KRK1d YjZKH-Ő%gBj),=KRK1` ,VH-Ő%gBj),!C -,VH-RK1dqZ!{KH-Ő%guBj),=KRK1` ,NH-Ő%guBj),!C ,NH-ŀ%bܳ:!C "Bj),bRK1dqCwO1` ,^H-Ő%gBj),!C ,^H-ŀ%bܳz!C R Y{Z/bܳz![dAH-ŐS XBj),b1\G"{5ήW|<ˌpxOyQ|>^ųRMj9Wcn47ͤ~=}Nj}i. -1)AGL*hfoަS?v^}ژ̛Ȭҕ]+2d9o6Sz>9YqfC: 5Ehz ӔiKE7;ZEeN堏[]J9! ,ͦͷ|ӷT+ D^vɼLi^-zC;yOL4۾I35(]g:?JGKg¨:ҽhԣT:=tէCv"qdBn赜fH/Us0z -͒sn^Ǽė%|O5BX5yd>'r߇O{z{3$,i+hZξ۴~,]xRƖE-hM_oX`=MZ .kuLAX2ƅs5y*4(h!ծ88%_uP⼬TtОʯ(a9XC=k}D-׷w)YFH8Ԙ6V"qN'S޷]1-и]uv.!" n`v.p|J_w0迺}g'W~0@+py0~{tt2b޾ppT̿p$VsWָK=uJ"k9=kB KNBdN">Hj#ͺ %9[.TGhW߉?ݍʛ4Ң^yj?MjuGxOX[lfy}菟4ZmK3G#ܠ"HIi6={Uh1 O\kK("p'MMMq:74{*|X(]j.xh=v moo޿?[(y0k8TEu,yig.MӦ+.[_xj\0`*8`Mi܏ 36yNߒdHOfWk hKSO+ERߤStxI4-l"~f̃F5߶]:r<S7o`tퟓEj"\QOϻj^]J`z˭@({E.F_WBbߓ? [eӟ?KNo Vkw%=mL? ,m'c~(_1icwgk}h-&&ICb5Z0Fm.½p73{jPU~rrz~|sz2g>0wԅ&a*Y iN@WOi0{\M χ5Gݓ{c/uDǤX)mɈ*LM5k]  _ӳoKWgX7W_6 ]}h',?1`26`OxoY* -RXA`J+UR+S 2+WrŊ+VT -*,,KF. XV,`YrʽKށK]r@.Rw Rc`;{ TȽX*^j,{r/5vir/5vʽKރK]rA.R Rc`{{ T=ȽX*^j,{r/5v}4KjK>K]r@.R Rc`{ TȽX*^j,r/5v}K>4Kj4HZm+5Z={5Q#25i.KC2۞㛫iilLϛnkxps]i&#nZ K=T |g>IryAKbz5Z e6]ʵ͵6cQi`\yendstream -endobj - -44441 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44442 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44443 0 obj -<> -endobj - -44444 0 obj -<> -endobj - -44445 0 obj -<> -endobj - -44446 0 obj -<> -endobj - -44447 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44448 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44449 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44450 0 obj -<> -stream -HWnH}W4/ 7^!`Eef  ߷MJduUu/>NחoD,՛_4%DGV}|u@J.7EW}/_7f_mn_ľ -.}V ^-B:I,rÚ"3WrUM-ϕCilultY=oC_,,>܇HƱ6oeGv.БB= S\}ŝrDJqm3&br6D PR(bCeP>yjb+b+fkfkfkaae[e[e[}°O< >ا c2S}ʰO=>g c3s}ΰ4+R6Pj Q>{jZjCϞ峧6@16D1=*FԆ(ZŨŨŰTRjZjZjCSbTKmb{Uj Pj Q {OQ-!aV1mR|(FԆ(=!gOmbTKmb{Ռj Q {OQ-Q-!aV36D1=jF(FԆ(ZͨŰTRRj5ZjCSfTKm06D Pj Q>{jCϞŨŰTkRj ZjZjCSaTKmb{5j Pj Q {OQ-!a06@16D1=FԆ(ZèڶeTKmSR|Ԇ(}ynD Mmj\,RH\ DH6nXu-{v4JDb5CVuy'ڇfMJ*nXs݋[e'8-b/~,aGm4,Գyb-U8!\˵VqJd - ua;_WF2Sñw-YɴP'm9U=wMf̜ov1c>KX8鬫,RF K9zGJ{1\eVeQa0vz*TOr'XcdVinLpZ7Dy 1MV. pge5nOK9ɫ٥|K5Zz~uEEݹQ_mn?z bL#)D2bt00pδ0uM8_1d Ȁokgƽ@T4qԇjp\{+Vo8lF[ס،oϙE@4ݵS夛'̤m?Q<@oa [`Fb,[pG9l:w_N`AJq6Ek7lf n֓G"r(G6mcfޙ -SݙGhO4tٳYd扶=6險úm`alf]llttn"At ӻU4 D+88G{H=rvMiA{xvܖS&gv޼yl3kq~ITcl}+|P4E,ґ}<ۦ5UKG/-@Z;~as'4r^ -aY}%[:M-x~,TY՟Zy87С22)R$P$ ) Vͤd"!H7.t9݊3~Đ:Nt]3eY ml% "5JB-gH je@B>}0^i b -cَ׵>UEIMmݪ #dd:WU6n ɊKAH)z#^S/Z}Pi[r#tG@:?8'o|w'LTS#]e FzgR[V] .WZrL00AV^7#Hө;ԵDcXo~?{]|ܒ/!!nE%/0ɤ_/!LOW0Z)Z=Cf4yLD3W1#Kɸʪuޅv yal;'??},u'z@Ftj2W+dySVfXvlQ -iywZnVۖR>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44452 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44453 0 obj -<> -endobj - -44454 0 obj -<> -endobj - -44455 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44456 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44457 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44458 0 obj -<> -stream -HnFE<Pse:/JrSiP؁T@]N6P:XuaIJ7k.to&u#~i0:9;Rxq|z(*'໶"JMk&XR|(D0瓦T.ʼ`J8 kD6 D -') zN~q]L(T-wݻMQ-LGTy>mͯ/y>60t#Me$FmeHP*'q<~NKXWPR` -kq^[8:qd?%;< -\G% p)z;P橈RTg@i^{kbo{C coa %>b#b1nj}Lc>& cO}'>eSb2)w#'ULiqVi-,ozjlI-:_6u1]S7#4ra=h51+|q #~T,^b/ЦR{yv>eTԬ}[;c%Ia,Bَwl/=r6-h ?REiEݱ`4z3qBŮKU+^TP .~=: mys_2_=?ǻ1.LZh^r2Wӵ5!Ku_~fSih.~ GdƏ})LًUl}֓zh1F.<<x64Ax;y_MefNC`?+|<ˆp{,-o"A8h G;{Vxunua -i8 JP׫ZJ+g9@i;촥6Ϸ^?VtnDLqz(0~;~*]k+W@^'o -"l6hx4G덅/<,Vv;:>U9zfxq쩆Ƕe{o2kxH?9,w?3G %N -푸;yؙg78O&ODY`Ql916; 99*sr˷'G)U+xȁ7ᱼo=̂$E -0-endstream -endobj - -44459 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44460 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44461 0 obj -<> -endobj - -44462 0 obj -<> -endobj - -44463 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44464 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44465 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44466 0 obj -<> -stream -HWko8_ -(K`0@vƻ[)8jmk)M3~CɛXCf?_~xw%ٯxy7*5bY!XYL o>:c?M3ua3m;%wW"X$lq0IjVØ+&ӫv9uC΅SɳO73Wi<uׯuo8:DsĐ1` 1d# -µ!,B}ZA6ĀE6ĐE\+׆kC>r \b"GkC XkC Yȵpm!PV m" ׆b!,µ!X}!+Vb"\b"GkC Yȵpmpm!PV 1d#Jµ!,µ!,B}ZI6ĐE\+ ׆׆k%C>r$\bD 1dC XkC YCV>ĀE6ĐE\׆kC>r"\b"GUkC XkC Yȵpm!PV 1` 1d#*µ!,B}ZE6Ķ&\bȊՇ׆b!X}uXmb\,qIxn`x2+XQlMҫv_!J#cGl9ezaZ]̵aƩΌamnmDZY{mgo꜌haoJD5rRp{ 'nW=T΂Q`QmuZyeXe[Ým<> n -8o{kknm0hm"+ӻ5fEPӡo]> Θ] C.1:t ܿ+3ӬQRd2Ǽ5VIc.T*Ӳ22;ʥ,aMWSA3ٖY9!wtqbI&y.K;a]Mڢgwdg%.L76 6F> я~b -_o,۩cYO0+ l_]]}.Af9uNV{Nnq~cu{^KYlP)Zs2ݠs@ a2s/n{GQ3n #.~P%vd.u2q3d ZgLnGbeᇄwCuGp2W91(<>^-`HnX ,R'Z.OOT/uiUhȏK?Dس -WٿY/^2Ytӷ]AXԻfb`YU6@3V"\CpV;8Zf9΋n{N:3evs_\dyQe^dRrx-ƿ9kff]_aZ8ٟH̅+~@ψ〜7tXфRԎP vsf_ea.qr UsP:K218/T~yrj._gUqM=?ARb$P܊(!PBT#I1&קrI{i$JY?̧tKLՖxv)>f5D@eTsO4ԉ>'8c N`JKV:ey%"`9%<`y%t0GY7DxdQP#(*h Xl{\UNP ֠ʟ..0y-oUԫиs}0'4MW{,4V^ڍv -NJj%ݯ`]3caNp`+*khyGܴYM؈are6P¾=s/[v2q5VePWCmy#6m{|Ke'뗶"?s׆Vmr#t?v*-=Z斅]x0_Guw[?f;{lItۜL;aY09lp] -Teh.^sșrgUrRc~ǵ$^Rp8;{"R֙p,ev<=߬ Ы:} ㄄W|љd֛A&vݴAPO aI`;|9u -8]t?P(kYygF`ll6;iIJ0b -˂]k jh V=k7vpLHdN&rQXq - --UEJފڦm6M t/]%Ò뤿,(c8yXQG!/uBtPB FJ wy}#wo>$rO:@nj;#2!͜HoB,=j݁?Q3N67Dž~<M-.5ӧlH4rGWʼ "\4iGNQMO c\S\JGޙ*tiQ0@}'@Öheݜ;ȗ.^dV/_ v:BکDK=o9=Uq>}\ ٙcwe@Zd${;PߙlFřT_c$V純8\;(v.u+\ZOA%G$ \7@/ysGۼZ?*eBԁQ|Ix_Sͫ}.,!I^U|<6'>5=?k? c /~.#y/1DϵkV{;4'ٕx2Jysp>k;pՐ -$VR}SsM06LG?5PD$;A fc? ׆u{MWf9B?uoX|e\ɒ^#|f> R ]h0q>Z@Azgr;8@Ή/< -l$}VyJ_2}ZZ.T> .YH+NPԂO~Cq߷f}G[ϊW"ns^s)"#ن73mmwܺ@]GyhNjhPTKd)nZiGU뽷JhT!=(=Ԑ*6Lknn|3AO/cs<k5eE&4%J+&,DhEB¬lGBwo^ r4rW"T~|#1{ -ڇ%)ep?WKX2qq$(en*<XTٶzi'*X[5ø8{_.jF=>Mpu?{y~2K"P^%8|q9$ _(5Rs.4\ߓ$>tǿ?p.e`jFPWhAV[,{us_-ox/D6i(}A("yZEw{4(|'Q$ V~JSR$e$\"z6gMjOF?9FZ7MRRI.}j aWBم2!T{C-(Mn1OFiAּt^[.¬({@B*V ULhP쓘jll.꿞R)'9>l98-L L*Yr:ncVei6sSz>97<}‚endstream -endobj - -44467 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44468 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44469 0 obj -<> -endobj - -44470 0 obj -<> -endobj - -44471 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44472 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44473 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44474 0 obj -<> -stream -HWkۺ_bK\In/6hڠH@kkJdɕu3"09^yh8:&gx8/E7rǐW1C_02NE2NDؕ?&`s* ^PںC9t6>MpeS", 3!7#L]¸Hb>tIBQ->y'}hൈz,ia_ Obo'L{ cCϰS wa4 4>A]8!p&=C>!*!P.w}P`/<`/<`/=`/=`/=`<`< >'c}JO=)>gc3}F<`=`=9>{O;PCPC!gE!`Vu}"{j]պ>D= -BQ{OPZׇ(ZA!`Vu}"TET+պ>D= -BHBQ>{(BQ>{ׇ(Zׇ(ZI!`Vu}"TET+ պ>D=JBPj]j%Zׇ(ZIPCS$TET+ պCպ>D]պ>D]|Pj]jZׇ(ZEPCS"TETպ>@u}"{Uj]jZ(BQ{OPCS"TAB!gE!g9ov臮8eNdt|1i66Xa$|^Ì/]q0%eZ[Om7m2\Cz^KB4E\p <]9l<BA,U5fޕ1_ʮO$0?0 l;0|&I-m gN@؉^)͖m = -_cϽ4k],=H{,l^^E=3(UT صnttj[?!= ]Ǯz8R jc%8URfGR)b!ݞRyV LzbZڷٱM+4(ܶ&Xu֡3(װVpaNЭHH51I}.ۃyaPխ1~V2nt$k;e,Eb8o`p.abq+sޤ91LsGuqj{j - -}I|!jcuW[4t&KDYa"%0Y`P?{cz- JMS>e/IɠY~t8bIL+.'K4>`9B'-_ SLTL@і,,'Y,[ao ñ.pSix9X=WJ{TJa_ K0W-\ڕ~7n{~V}=ښ?G}A4_n8Gvvp~ Y8+LOGD֎YMoO -,yX<xBiKLm~c~šuT$O8ݘlSo=8y8e3e59Dʠ]eO<z4lļAfnzPf/44ɼ*|!w,f܍1+ݸ<|f~8$7㑉%U_1e7Q~j .[s_U,yMSsʢ=x^^4Om]gLTd~8u / #Zvۆ]_!BH|T"hA`1Y.l)weR!AZ|U/ٚf}5Lz5S[/֥?kӭiaܮx~ł_A(1s/~4bbO}]o yk %d*DI/bp8T){- ʍе -T1P!K8\?<4ă%((vs&A Q˗u`)HRA%(9gZeAͬ_qR7H9mߛ})$̔iCTidTwWGMw G6Z7/@+Ӽ@1͏CKi_y94}Q-ϦP2/)og{MBcTO<^gPs; a= d)מA1ڣFH6W(NvјN@hi0=b oS'%lZcčP`8D>Z; =\CSh5ډ3ƑI]6wTZX# SzhWc0<mXj5x; (LIbw߿%?~mendstream -endobj - -44475 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44476 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44477 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44478 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44479 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44480 0 obj -<> -stream -HWߏ۸~_A/6hER6Cr᮸nhZ,m%9NHPGɏC~ݿ~$_HB޼yӻ?Mc* R" -g#>6JsDIMUS7k>+ynO?sBI$!HIA~AUcݵddCY\l?i$+&f/4] ʧUOP?e35tMH$YLR! Q^k91#B ~%D"ɳ ))t{dr4чH -#C04iT8!i@P>wJCP a aaaa)> ا4`/"`/"`/"`!쳀}9><`#}/¾K K}Y"iT -QӨӨZߧQ@ Q(}Z -Q(}Zi>P-CTi>P-CT4 -a!}BT4 -a!}TS> ->@!}}}BT4 -a#}T>@!}T>Bj}>Bj}F!rDPj}F!rDOj9ZwRDOBPj}F}F}>BM>BM>@!}T"}T"}BT4 -a6ET4 -a6ETi>Pmi>Pm"iT -QӨӨ)I¬N}t9dhbP&d$Stq$WLn6QYbUjX:C cQ=YGi~nfO=uxO b,KVVcݵ: -;AYt$&b;N}/O/zfADn ӌv<rPθKuf&C9k(O9 zTe3}VLlE0xovWplmLI$u',aש4I0e$3n2 -}@TޣjR (S;O/Ǻ::9yt=l+?MxF l[wi ;b0 [tko<-Vߺe4趒yeS{62IP瑴Hk+8;41NZ{P0okibWVl^U?Y|]$s]3n 8lzn)1>l>ʝ=Mb|XhRbφ&M)i?0R5D8{?ˊuxiodDHAn ~y|=r"W#Y{i뙙qꏳ ؠ)_9O4vY-qu$:<"My&GE'hլwN>cGToՓ|zGPȄBS P]HΔ,Bpaɓ%OEﻖ:Kﻢїp%OMh~3HSfMKoԝ[M,):Ⱦu^a~X'H a'3Xrj5:gi\xqXеy@{SU׽ԏćZpT-jS׍+Kx6Da{~Lwgg7; - U -" !M6&1{f9/,oyf/eNFvfG;Kg+YNZIECݤDƭZ+,X)`VX`eVXmj+VڊVX9`+(V Y.,qKdFbŊ+V,XN`)^f,ˌ[w{q x/3ne-R;̸X{Kye-͒2`)̸Xx/3n>ˌ[O2`)̸Xx/3n>ˌ[O2`)=^f,Q x/3ne-R{̸X{Ky2`)=^f,ˌ[{q x/3n>ˌ[%3je- -6c%_p&6Ÿ6jc4 չd:|\ߎLs0_}gQOe&++E<44fJGQz?:հ]DgNr2h137f;stCo)6X>YBddX>Ά|(^w.~Wv;&b g[= &+"_]71УM%ڴ?uy+ -niL_ܦˍcCt:6y:qTlaVS}n!Y$$ b)[AIy ɘva³S' zZBCIzO3LGMYٴ^|a}ou8X̧ޛUܙOm\7 z,)]+VYz PuE{yh5endstream -endobj - -44481 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44482 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44483 0 obj -<> -endobj - -44484 0 obj -<> -endobj - -44485 0 obj -<> -endobj - -44486 0 obj -<> -endobj - -44487 0 obj -<> -endobj - -44488 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44489 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44490 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44491 0 obj -<> -stream -Ht[oH+]@J6K$L&HY,VmztJT2bVQmV`0rta>bכ/W_~y?%C?}4ElMU[xk?&uLgjw_v׭~-ͮ~zj} ƙ*Kt$i6:4.n13_3[?7iaBYZWUbح-FH-{7GFW袻w-k;lqA.(r|ѱM]u]}7r;an\,Hyͯ,Ua}R!=I{<(إ/'5r9]BcW\2s:Az{ޫ*}J@G>*}*}*}*} җ*} җ*}W*}W*}W*} *} *}J@z5 ֙S+5vR#ZKtz Lҫ`j.^MS+5r@z5Lҫ`jF.0RcHփ@z5LVjz0RcHփ: `j.^jS+5vRcN/5r@z5Lҫ `jF.0RcH6@z5LVj0RcH6J] Vj0R[gLإK\`j.^jF.0RcH6@z5LVjF0RcH6J] VjF0R#Z WSJ] VjS+5vR#ZK@zЁAYhu!N!2*W.Ŋ+VT -*PJ*T -*ŪRjŪVXI`%fI]%5>S,XN<`yzApX ^j,{z/cԥXRc`{{=.KރK4uIV4Kj|,z/5>}dK>K2z@GRR# -`{TX^j|,z/5>VhإYR`G{T#(X^j|,z/5~,z/5~,z/5~|,z/5~|,z/5~0,z/5~0,KƏ܀z_'R&]WMv48\eh0oKSfmek,y2on=zba76K]z@.RRc`G{KF.{ T#X^j,z/5v}K>K]zA.RRc`G{ T {KF.{KR<>?WMv޸/Щ*H>#5<]PrٟW*zj'^/V+:k4^SQqbj;kbŧnvmt~gH:ft5[:y,V䆃 ݑq`yOM13z}kOoڿEӻǗ=*qy76qxncn!F(KJ?1koE.unC]՜\_ow;qti:bW5|.υ9cjnqx=7bI3M|~拜6z-եcfm?\jZmq;?MwH3qD [6J=_X"}gjz܄}G*e-W{hwJ &qE0°I}$6!ٞlgޛw}q:ڠ)_/ҁMf.ȱFK[Q/8 тh8H1#}h'!()Q@Bɘi[C]wwȡVt~e(Jq95.ԨbeTRc%i_7W*2R5SW\)?0z3"gKn={ЋQݽd4GiN=`l"2Ș:Ǎ,dŴۛ=z,eNpb? I;.FI -o{.m8 `w۶u!}sZ-s 4z'߿Oaǯ(<} c#^ coIUq;<1u۾Ky+.KVɊUr+VįfiX.i腴1C!0$<\@}@s իyy-e)sdзL]GaV5\cSЙfVHWWO֞*PQ$P_6oc4쭙~7Tgoy31uAD(eVH@;'@hv"P#d8Tώ+аAUтJ MP!ؾ3x'Kendstream -endobj - -44492 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44493 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44494 0 obj -<> -endobj - -44495 0 obj -<> -endobj - -44496 0 obj -<> -endobj - -44497 0 obj -<> -endobj - -44498 0 obj -<> -endobj - -44499 0 obj -<> -endobj - -44500 0 obj -<> -endobj - -44501 0 obj -<> -endobj - -44502 0 obj -<> -endobj - -44503 0 obj -<> -endobj - -44504 0 obj -<> -endobj - -44505 0 obj -<> -endobj - -44506 0 obj -<> -endobj - -44507 0 obj -<> -endobj - -44508 0 obj -<> -endobj - -44509 0 obj -<> -endobj - -44510 0 obj -<> -endobj - -44511 0 obj -<> -endobj - -44512 0 obj -<> -endobj - -44513 0 obj -<> -endobj - -44514 0 obj -<> -endobj - -44515 0 obj -<> -endobj - -44516 0 obj -<> -endobj - -44517 0 obj -<> -endobj - -44518 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44519 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44520 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44521 0 obj -<> -stream -HWn8}Wadyb v,6 r[lKU$%uNU}X<$TU'O/~?Й/53rɊ\eF}|`}C"X˒7zj6oݰofڷ[oK0&o6F%`E8X>YK钛}ڡgW6/`Ŋ~2NM7Z<:W<`-gZj -q 9 ł1uLXv0De=3g|%P]R']>LbL`W(!*^.JeT]|h$ˈ$ˈ"ث"ث"ث&눽&눽!؛!؛!؛}N#9>"b_싈}A/"%ؗ2b_쫈}E4+ц.jCb PjCb Q1(B QHPmhC>R$TE6!`V m"GjCՆ6D#JB QHPmhІ(}ZI6!`V m]Ն6DCՆ6DCb PjCjІ(}ZE6PmhC>R"TETՆ6@ m"GUjCj(B QHPmhC>R"TںD mه6@ mه6DCՆ6D#jB QHPmhІ(}ZM6!`V m"TET Ն6D#jB PjCj5І(}ZM6u!Tm"TmWYUUqw4vɛMrI&>YY*2-BVYb.I?Jm\l>'<@nf[Ɔ]\<;?m>޵ Qiؿ8SO Y۱R=9ڂ֙.p_Ʃ.a"3duQI3WwK`!m_h(TWf!s#YU| -avqg#}8Q7l8_o6>:ZEvfE[z/J`N.^~]\Brv躺svSƵ{ͳ1ԓ-o8_P7cc55h38,͊msׅ?W s;=ɿmaqwu_]b~ӡ~j\p_K_OoR0mRg+W]RJ]f'5w;W ,FoNY ɳ҆waEQqX -Y}fkcѮ6 >Hm᰽zAay\K;Rwb<=j乜ن[mh^y%(OﭽJ|j[#,P=*|/rF'~zWOE4_ za_a8g |8Ϛs ϱ f0Jν(@iZ,(3iV8wG"bv*JJD|\M~A&+L,m>L| -՛yw MPVv+@pa]̏Ͱ E b@{2B(ri\|-'h{7/w|LCeY,̺gsˌ=ӟgEY-D{~?OLju۳t!(F(6|iԌm! P1 -z\d:G3kjJq{r}늿+%||Vg<'b:so -rᰫ]{|vU6bfw gkWiǡ 5O .8!shıWWnO1.dDpܸ]/L(ܟ=zOP#$=q!L z]}m8S4#UZԀ7aGi@- x3 MvY#}8L&HdLi4 8B<ޤ0Xɡ!3UeK2ьݔ 9LarFΫ`X'p)`H/ٓj}ٵvڽؐAr/ " j=; -lu.%pif}Re\XX0 k. U&isz_9CbՋsV) ߓ\UTTJJ`auz - -vP@tá+hQRrOFU׍m K~4666wnGB! f`v^O:u[APY5AK:09"Qd}{rA>#YfKT ; 54}ڭYP % \Ok [g īZ* zE%qWa>^\ʢykq -uݗ*L6ɇNqn{y\}yhjyf~Yo7+cyz{|qMGƅig,j~2Ԡ]]]nw7v{O)"Ob(]Z/_'F~>MC(,TZr A W׫"ě=h`q@QAm{aw۽,7=LW<,Y~҅yA۾fYV eXvz6Otzݯcځc -6O>ӫrV$6P5=^6x] r-7GbM$΃qv?$^n]#Z%f Ps))"`Y;F7mtڂ$Y`C>8)vNJs68.F>O%Mg+X͘ݣn*xU&Gm=[PZǞp_5",OLWCrfl\G-qղ߮>Ͽ;K^endstream -endobj - -44522 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44523 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44524 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44525 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44526 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44527 0 obj -<> -stream -HWmoF_O2`/|Y\Qqw8 '(h+Qqo$rfdԓgg3{b۩_U~ǛxmWItjU:X-U12RMU˛vnJm[wчet4XerHTYe-~~~.ouqexqsuHչo܎dNNbomwU.z!n.$S}biŀ"\ͿFN[L~0gu5V* -.6Hq: - DQH('pN ;Fx:"ES XVPoz+L; Sz{AgA}'O S -S>ԧL}&ϘLP1>csA}A=LK:k),b\K1dqCWO1` ̵Vp-Ő%gk),C -̵Vp-ŀ%b3ZC -R YzZ+b3Z#'b),CWO1dqZ!KP\R YzZ'b\K1d kZ!KP\R Xk),A=s\K1d kZKp-Ő%guk),A=s\K:k),b\K1dqCWO1` ̵^p-Ő%gk),C ̵^p-ŀ%b3zC R YzZ/b3zDp-ŐS Xk),b!xß몎>,)=cNUE[ϴ$:Ñ|*z߬mԪlqdT(q\52?o[Y×W VJr 1% 1䱙٩RfUUb[rSŶ38 dש*[!#}YqǹoϽ`,ǪkXn/.?O"Y44s;@mAA|KaମD^€\bkM95aSc٭N NgY}P<>O2i(1OP8Q+7:s !yN3JвFX:| ѠfgJ}sjL>9@/򱝒?-88.]lׇsiS> ?vxޗua^uP1ș*3f:e7fc!eǣSú<%DW0-v[C~?w4.N1>qL/_v?Fks?)`Qpg}zJ*OH#3 4z>,_ʳhkt-V,__k׵Cs#^4s28@!`{4f:m_Y/8^VHcM<k_lvgg >'𞵰BҙCm(USt%*`yn`C?ն?V|ȳ6nƍYܷtx; /+1'>]~ތ? `0ڟ!j?zzܫcKαĿa ?n<nL7n,rg,t˙Y29&<nvf:tQKl ;3d-7\,҈@ X3=o!B9S/Y} &]&1&4.EP%r:sR\(86y{56}4Ĭd;֠H )å*n=X\,Mѡ ܍2hFZžk뢫0녁»Ši;nT -l]X8>y56ZH;N;Ǵ[㼄ΩC'1(kcb;.Ù=/ v_E%yFX4|&^{OKkzṪ#^TbJ•udxl[`E0dbeBʄX r+b,Vb+ecb(,#2,b -,eXrB,b9!c˳X^YDXսbbBS YB,VV{!K -uO1d X;),bbbwBS YB,VN{!K uO1d X;),!{'=Ő%buXPCսbbBji|J8QY|RP+CRJH"Ɓ^ol֓Səsfg/c2c"|oEpu|/ߛ1D\ f QWC |oEpu|/ߛ1D\ f QWC |oEpu|? |o2c"|oxEjp=hBTF `-/·iXmex6T*l*vdpcdH]Ebq)|Zpe^r E 5`J!UTEQ*^<X̰R?ܪ D^U4`>L5ZXޑڶ՟o_mR\+9CQ=0HbF嵐Z)/Q4h!-+L0@_ Ck>AS˶RUl*\вzjY8U2+"3И*$]*!ZJ6T̄G\xP A~@2I3FfóO:.UZ/i|j|>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44529 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44530 0 obj -<> -endobj - -44531 0 obj -<> -endobj - -44532 0 obj -<> -endobj - -44533 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44534 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44535 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44536 0 obj -<> -stream -HWmo6_2( ( -4ihepB^%OzYr|8gFyU~f)7?qB,23뢔G,wsy=5lhw7z>*#)+Y 9Ylwbqf@ĹN?}xz-4!*#P>wCP`/`/`/`/`/``> g,`쳀&뀽&}N9><`_싀}A/% ؗ@;EPCTPCT!*dE!`V}"j}>D -BQ@PZ߇(}ZA!`V}"TET+>D -BIBQ!{(BQ!{߇Z߇(}ZI!`V}"TET+ >DJBPj}j%Z߇(}ZIPC>P$TET+ S>D}>D}BPj}jZ߇(}ZEPC>P"TET>@}"Uj}jZ(BQ@PC>P"TNQF!*dE!*d/,KƬOQcDIa<)yR*˲ Jk7$ĹYGv9O4ȗֆ{mx&\gmS&v*02; z e&`x7!2!o>b_痐WB;.c6ޘr ify67^kX&X2wLIdk9y"`],kDH ˦d9 -bnp%sr5`G @Eovg}TWR2I۝̆+^yjfm *@ BbA .xv\p3VV=<ۺھ.(rܜUvIs&seq -^'rcphw\vbD[D66ܗ;b04~qQe*%!ɮSSOVZ&Y.C2HR}/?4zwZ En#e5RMͰQ|{-edEŝqᅥņEC! 8qe` k?&⩷ϳaHh-J( yrtHu6\pq<~dp3ˉ .s #q7 }"UM_-B¼ݝ7{S nט K1~7B5\^̓/WWRƻCl_f7xfPm5ԪLjrm]duJ !t">w V~Qq(*ҽLk*y;QOF՝M7sU6A8@qeߒtVu<P3 ڰ-رOO(@txln#HoNsyAj[]o - x -TҜ-Nd/~n>~r߫cC5tJ9.muXun',mQ\P"E3RmVX \-4J\$;T JJw1ӑRĿv> ,&{7%䄒PGRh}_=Z[&ܙ<,)dtx쟌adZ6ǧ޿d~Ɣr3?itHn3=Ǿ>:WMs0g3 #i>66qV`P 9ie~ۗ l .L>8 ICuKcмE-zX)9aZ, -:WDWAG溍ݕW<"̔NדtgJ7=IXk -Gx|i_J/,9JCD$[?,;1D#ǡQ걶ttvDf-o֠9S sC0F}X)G2-Tch[~\U*GTɠۜKWF!@ө {t%U#Su!n@yѻZj>RT_HY!Vg~01U *hC(Eu'N3T:BSgDYHcC-DtW9pҕ=cg50UyߪR, *EiJ)35wmM6MeA@xj+?]]A*>5v1UY-4GD0ཹn/_O+Uэ$ !s&^K^|0K16hMA<9bu]2`>w53I9xؗ 1 B\Dzy M(~ @mִ/-)l? 0]endstream -endobj - -44537 0 obj -<>/P 380 0 R/Type/Annot/A 44538 0 R/Subtype/Link/Rect[93.6001968 289.628998 194.147995 309.30899]/Border[0 0 0]/H/N>> -endobj - -44538 0 obj -<> -endobj - -44539 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44540 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44541 0 obj -<> -endobj - -44542 0 obj -<> -endobj - -44543 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44544 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44545 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44546 0 obj -<> -stream -HW]o6}ׯ/¥/ILj`dH~/EI#]gQK^\^-{Y^xew$4f&S<,M7yVF1+Xt1߮{~Ymm]Y]D\IvD/R|VL&0H,'K-wB}&b-k,ˆ?_/-;ExqYm}i@bnEjj d%Cv Xb8wt).#1{s -ްO1eU :3E6*slȱ#b0Xp! ae.D(czzWzWzWzׄzׄz7z7z7zOI>!'PSB}O i>#gP--> L]$ ḇBZ9Vcḇk%Z9>p$\1`ŘcJµs,B}ZIc"\1"k1Xp-ƀEcE\+ ḇk%Z"EcḇBsP=ƀEcE\ḇkZp-PVŘc*µZ9>p"\1"Uk1,µs,B}ZEcE\bliµsP=ƀEcǘc1,µs,B}ZMcE\ b Xk1Xp-PVḇk5Z9>p&\1`Řcjµs,B}ZMcŘc1,µsP=+ToV4׻2X.%l'0x%&-w⧢\o9{wj_-b\d"e}n?Cn|q Xf>LS.=WRbGvtiir ,KT -R6"*Rilο9u_#\%Bqv_39Ldf~%YUͪ;8?|Z≮ ;Oz>HH[8$/|؄>c#NX3&Ltb.0@.bL 4a#u9r%`A׋;\mE ۼljnnA(I\Yn;>՚TgЃB{8G?N0{!| -] ~ -œ ;yRrY5^N55t1 |MutU8;~dBK͌ur Cы|~ހ vэ[~SmjVAa(iYXtrW:1=X4Iq.jH%;t~8}s8Of]ߜx3j:#r1'sQ>ߋj?@cݏ~͔4mn5G7%$O0a*#<^β~`zf]O#^je6/[*xa6@AGb~/r%̴o-q)hLtJUYf$1ytG H4v2GZC?_5xVNG9yY993'sWH׻w' r:A*_T*<`L>Y)`7$= ZS8h[pz6MO Ij~ԧ+?9=&^.1=͕ & hjs֞Ia@ўt&.B̄$Ɇa2CDUB~u LgWGFPʒl=1L.j UA p4-Y'Oڣ&!|޽vH <\o}bT -Vu,M:Z[{tq1O\n 6G"DxGX>- W8Хzs W3#n~E4JS BDPݮp 嵿լnͪv%Ht=.z ;J6A ;ọl06aX#jC\(|+'ߎB[  .32kǁ394\uqT7 -TBXyL50g>gi&X{T^4%B:Կ[($wyHQWd%3P 819B cb`27I>/z6$$plE'`J=<2jhOcCEھs2<wknYqShtܴݪ-{s: *cy0iФ9c@+m@ S xQ|*˂(.̢8\g&&eޛ/p#+;W;2PqbǠ@LZ+9VL!]h\4ӳ#}K QîoW^zk{;5/eS-f7Ú ~-t;ENd$ ĞnYGCWt 1i 紽侟?xuy`Y`&GPG7heL/N+)FOqFI:ܨh5ߺ*s"nПZo*d%tI!+V 5oВ:-yT,FQҒAQLTUZp,1@7KDo|Vj={ p]Fqo,UQ!qEumld,["1{?4Ses\’_D*sզ0i ]ܯ뙮Z1 SzM⯈%b{AƩ,:J -54׵B;X{Z/C"eicOq@pv&YcyY#'.L{ M7] -> -|iP@-& 毰iƣ}940n~kPd-7>A!J;AYj]_?Q.0.[ v*lJ0i;wKSuc^ 5o)Iq_.6*->>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44548 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44549 0 obj -<> -endobj - -44550 0 obj -[549] -endobj - -44551 0 obj -<> -stream -x{tTǿ3w7!6)WE F6)c@4@HBD"R4Q,Mib)+P\ɡ,xTK-EZ"hHﮜ#ǻf~;sK"Q7ku\?RBO =-*:,ZY3vIQ_;&G֋!1X߰tEBψJh?cy+-y ʑiMK"s&UX~\8Di|.",vW|{qsRغ^,8;w厔NVQ݌t\3{w~؝z*QFH"kʊ%^2C~H~@^"M^$'/"#IKC'A#.5Y88Kg(ʜ0> d״1u.ޕk}o-{G2vu2YKZthQY^Xlcv>*J#6jUBck1XI -r9z߄%(M =~4r裏fck[p#Y٧\@֒9d%r6yfImfe0Er&y79Ε\AI_ S$~3>md L|+9,&'"By9,"o& 1FbFS. ?Cy*QG#&w#w]/+ʹ/r|OoݏEOђMW,\2j9&I ٝrA y dIF3[W~.>]ddُL%SHJDž-ܣDcj>[vtfrsE 9crvRwlTM>Hkl1Lăzwg UvMhSX/މnߍCrC>ӃгqD:- ZgcftL=YVݡP0ًPWx&$)muR+:z1g*[p;]ا}n'+lC1BgQ[+ϣ[ط8SBӎ|#W7´i FsTW\SQdڝfuzdN1Uubz>Ь/J^l;d>8YU'N%ڜ$3vP*~١v~47KNw9ΫKw\@r$.Rݙ22V]k4FAqt5]aH ?*ce*.97LnJ̕s9OMSJ[:7$a ,JCњ7-wEYU_K͜*q C15W<1 /_&uUs"V52)8j[#RBp '͎#]$5"#ܛAZ -.KPz4T+|`( Ίp3 D"qRxk5gJ#?1ACՎ9=E[[}rI=Ϋ -WICv ҸV`|֐ H;^;Ri ::W< -1}# d)F]fW] V)vhBx_;Y@ =Msw'{K#rCHCnp`lp6J3H:s= -QS,h&*+զކE6=ZmmYw<Bv'{(WꖽpIQW6T/^d#:endstream -endobj - -44552 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44553 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44554 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44555 0 obj -<> -stream -HtWmo_Z a&JD&"iq`dVW|\}o% yp7 O?=|}|~Jpϟ7lGD&$+4CM:46$?uM?uU'=tUtoo>o7[{d0?*HDOMZ|r - '|g3~ sZ4fzIR}8}l#)*9x.cKZvH;_Os? ^ !(K9TmΚ;#aImc}`a6^Hd"Dn$2.]6G}E蒙$') ^~oN'!=G?t/`=VAuՔeIvᛏH,|\K[ QAp1Zțz iwF;:pd2`QЩblxfI:T5dt2*g8KZ!Iu:u~ Kr>e<}S]^zx~pTFT09oқ$j7eq(~0cwvl <T|G<QW9;cy,U}qeK1zӻ8ny=<4UHܿU5cg,tIΊ,Bңo& 2L"s{-n9SФX0 (a{Z9fY(s]kq`cќ GuLzH}N"'b)f> .D}J c[IEe`fQ0kҔぽ񚂫fHd}i*܆.lmPǶ Ozc"~fq +0.Q1շnv! -|ka|tyVVF &]ʬ* Θٸ2J~8+OU܌9>Ls<NT- ܴad8{5c< l{/!_N&lHK1"p2CgVVfHpbaWUw^2xSvzPU݇ՈF/[o;]OIgXG<fHpzp7 -\ -O -ZyԻKmC$F`,tY -pZudP[,wO##Wd)/bq,%BFVS?1s׮5 -|/SnH],]6:ek Q.fl*x\hُVߥ Vd`Gܹ)l7_>nl/ʦ'endstream -endobj - -44556 0 obj -<>/P 731 0 R/Type/Annot/A 44561 0 R/Subtype/Link/Rect[130.078995 539.020996 318.097992 673.916016]/Border[0 0 0]/H/N>> -endobj - -44557 0 obj -<>/P 731 0 R/Type/Annot/A 44560 0 R/Subtype/Link/Rect[93.6001968 428.627991 199.356003 448.308014]/Border[0 0 0]/H/N>> -endobj - -44558 0 obj -<>/P 731 0 R/Type/Annot/A 44559 0 R/Subtype/Link/Rect[93.600502 296.627991 239.891998 316.308014]/Border[0 0 0]/H/N>> -endobj - -44559 0 obj -<> -endobj - -44560 0 obj -<> -endobj - -44561 0 obj -<> -endobj - -44562 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44563 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44564 0 obj -<> -endobj - -44565 0 obj -<> -endobj - -44566 0 obj -<> -endobj - -44567 0 obj -<> -endobj - -44568 0 obj -<> -endobj - -44569 0 obj -<> -endobj - -44570 0 obj -<> -endobj - -44571 0 obj -<> -endobj - -44572 0 obj -<> -endobj - -44573 0 obj -<> -endobj - -44574 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44575 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44576 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44577 0 obj -<> -stream -HWێ|W4j1/45:5@ag$NHjb="Q9Tجj(Nzu↑X~׷"oJrFe2Tp]TuSʮ֪no7z?.0I򠩲8W]Z/_{=iDz݆7ضjš,÷cW6O!gҺW~ bAt\~ ldԳұXmTmgg6 |B9s<2Őŧ,!+XԻ<ŀe7{[e2Vpo{'w̽;>'}"ODp0>eS}gs 3>}.ϙ{/̽ܳjFh-ŐS XBk),b),CFh-ŀ%bܳCR Y{Z#bܳZ!KpZkR Y{Z#b -{Kh-ŐS Y=ŀ%bܳZC -R Y{Z+bܳZZ!KpZkR Y{Z+bZK1d YkZ!KpZkRl8CwO1` {!R Y{Z'bܳ:Z!KpZR Y{Z'bZK1d YkZ!KpZR XBk),=kZK1d YkZDh-ŐS XBk),b}w*?.x UZ-8Qԫ. Ͷ*xa._'R3Oo[VidYh|zӷh4t7i>4]~\RI_Һn7|܆jx)uS})78SqCOGIjZ9M"'?eqPs0>jp=a[ g\֟LWMXp+ZGd5#bŋpA#6miġ-ۋY!IeuG5,isk6|},|.Ǔ~Ox=LxZ~/'$fYG Ԍ?\x&Fi֡lh]U(ʹ>x v=4dذǐu$c -i=aA`:S7#c`@}20U#cN=+F73d1EV.# ,wuǻ(o!D_wC.סI c›~4=`?ڰSIn6:!euե;F)l?+3HgpN -j1{]Xr@ -3p2 -\aWhl5QbGRTA^v[n.Ԥ'!rـj"1&ҧmcu>hN^qYAE4,6XNQ*\^nfOdz>E9 4:TNdFI:(8߶ʚSL,-!e){r0Z-}&֘a֝!R Y^`1-'h9-ǴA+aZ0TJV*hL+2 ZiVδ噖<21עŀ-ʹ 2˽rO1d Z,F=Ő%h!CroS Y˽rO1d Z,F=Ő%h!CroS Y\brO1d Z,V=Ő%h[!CroS Y˽rO1d Z,V=Ő%h[!CroS Y˽rO1d Z,N=Őŵ(,!CrS Y˽rO1d Z,N=Ő%h;!CrS Y˽rO1d Z,N=Ő%h;!Crŀ%bZ_ ] }v -?,goo~ o -^eo~=lCqj1zxݿ Z$FVb{ad#sqa_Fr6χmWtZ_w0r6DYÛ06F LtdV -7;WVûtd1}/{F9G߃ҫKAUýF%|Q% {tq`Sv۲|4!-~JWNi՝ZCVW긎 ->~$se&ʕMOZM=M^ -,2=-0g ?l%zU-^hXLD5JUQ?] S$ʏS=\izaِp_~Ժ8? I,V$ciUKfC껻a cQjeG'MG46y}PO C ,?«qWS-h9DM vf%-'(fx|'dP aLe.pY&\ Wp Wp c\.pU WpU Wp Wp WMTrQR.jdd%.p)K%\JtSD=!JtSD=!JtSD=!JtSD=!*6@16D1\5{jCÕ^36D1\5{jCÕ^36D1\5{jCÕ^36D1\5{jCÕ^36D1\ {jCTEmbtOmbFԆ(+ѽatOmbFԆ(+ѽatOmbFԆ(+ѽatOmbFԆ(+ѽatOmb[FԆrxZ&%4?~XɿT&Umpd -!Sr>L4*'VEnL{O[a|76c4(Wd¸2f14¬Rbj a84:O!U%ʪK|{i`Jtyڷ!qڜf=plmo;Y!R= qguva+^ni -|R,8+J|gc V>z ePh_uC]^^@ANz}> 8L Y -4 BhkBQ̒ )A U7B{+Lj&ҕ( -M8s٘b qn3`xk]X*)RGA%-ê^}BZ CO#[*̄`K`9/]/y P.~St t.| bi/=LCwֻg,E]ERAmRmfHIF.}߽}`]NOK66`9[Ni ۜuM,2]K Q (+`HcjL 5E[&%Aԋ!,]{Tz+5k5nzʼnt:Ee]#H@⽻,<*wBvdc5euj_2MMce1?imaCi&w8W.Dm<Cw_?/7_f8ߛzJpyW]FR*\. ZSukQ8Nk xhS;|k1w^>@X0.r/jR\R ;S(<8A G^tU[iUaa}Qq%%%IJa}MHpTPpEqᩅa1R(im~R45N.UڛnL iDZ=Kߴ:v(1m㗟~`endstream -endobj - -44578 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44579 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44580 0 obj -<> -endobj - -44581 0 obj -<> -endobj - -44582 0 obj -<> -endobj - -44583 0 obj -<> -endobj - -44584 0 obj -<> -endobj - -44585 0 obj -<> -endobj - -44586 0 obj -<> -endobj - -44587 0 obj -<> -endobj - -44588 0 obj -<> -endobj - -44589 0 obj -<> -endobj - -44590 0 obj -<> -endobj - -44591 0 obj -<> -endobj - -44592 0 obj -<> -endobj - -44593 0 obj -<> -endobj - -44594 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44595 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44596 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44597 0 obj -<> -stream -HWko۸_ -(C,H۴^lR4Z@R,\[I[^[nvċ \hMrg<8O?]?HTT1+u2. 24xec$6?5ϳѼힻMlM;7mtVƏMw~*U\q^FIaI})K;Ҭq=B橘z vJ wfٮfə̳k]*-Kg}f :`H2ΗCR"/,^QT0pfwUFUN9UȩGd* Q Ya8KE0d j"O1`IF KF +F -+F -+F -kFkFpd\K1d1JƵ[Fq-ŐR Yz!+TO1`1kZ!QV1R Yq-ŐŨ\R Xk),F}ZŸbbUk),ƵC>pb\K1d1*Ƶ[Fq-ŐR Yz!+TO1`1k5Z!QV3R Yq-ŐŨ\R Xk),F}Z͸bbՌk),ƵC>pf\K1d1jƵ[F9Z!+TO1`1BCVJq|Zb~".*Qr[ߣ,J, 5#\:ʑuvQ'Ssŋ-3Bg}tm?w۳͉0IǮ?6yl47ڟ M9JnI9Vʼ{\7 u+Yw$FjV)/mϾY-)"KUjgk'ߺieZO^ru36kcTf ֹجͬoJzwz8N -5Nn>\]y}2xpq5{>u^kmG1k̞]k=nlvEJY=a؈=ۭB6:"w'a8ЈXx>F#2"pXJ4c$^ZܫK"bmK62F}Sۧ}=ClrvUz}OGτeZHY}+`cGtlj`/3C& 4/$`8 -jc^; 8:\Cr8]'d6UҀt.Ds -cv~5D& ;١l-R$|OSg?Q._6 e߇>i&=>qֳ?(cácci`yiFaU4#ȕOlSdHH=}k*MXܤ94,T{ElueR(?]s?ᠾ6l%r\}=u?|rXc)}C4.c3Jzb;t -3g#vqt|d҃~H,!N`n|0-z.ᾘ)b rbJ7׎i[%{]2ovu“c8"~i]SH+{?JWiEq+k|*MKIuLjHBBgМ϶GAI-!$l5ڴG<<DE r2M/G,Vk7AT+d7&gW4zُn"yܔPe: D!o.% -ib鹧fkPwW /Y{$nU -0#z_*1dH`u{3\dkj7Dܣ({⌇m;b^b'g -dQ',K/x -ƒDOpKDOFO;n@d,g-G, u8!9GV[]\fft -t(zg.Z.E4vrv[1_t u7| ? A ƇxhW5.+KGvI7Fʲ$ @V,ye mAuH&)2dsR4GkT Kbh(o8a2xuWN6E]SV,P9Q'r=*hVe`^=^; -eFnxQN& ['^b4Lh@Zώ鳴{ouDMa}{/4]sVxT 8ʘQG܂R}_Ə͙*cS]&FE -zAJcoe -+e$`{9D+ŀdQ }]#9T 䪛}_g2K[baE9 7u81 (za @v@:45zo$ vEjְ, .rd)\{Ci0H×%2N"' V:4sN) {:ВX9-& *OJ͉A_Q",,_4aa4MXVo.DM& _D1Nش@WM{>S}w -0T[endstream -endobj - -44598 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44599 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44600 0 obj -<> -endobj - -44601 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44602 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44603 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44604 0 obj -<> -stream -HWko_1uyP$m8,Z4 - D<{)J=I Ñ|rrfxݘOLb?yvп.4Йlԙu,\G&Tuu=1:t&zYF^9cM9 -$1)HdInE+[?Yv{߻\zܘc&f}դݟ_uCz<]J+MMժ'rZ9Z;ZSx^F 9bs)"llb.>kCb&*0v)$9.";eTShN!86$1f$F,k5K`JKzVp{;^W=p>AOTOTOTC~ ϔ ϔ ϔϕϕ/W[DVb%F,Z1K{ VbUkhĘܫ:Z VbUkhĘܫ:Z VbUkhĘܫ:Z VbUkhĘܫ:Z-"Z+1fi#hĘKYڽĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hĈZ+1fVbUk=hQ{ Vb%,^b{Z+1fVb{Z+1fVb{Z+1fVb{Z+1fVb({ Vb%,|6cpX$[&G14K`*Kie@+SZʔVr\i@PZ*KĘ$eZVi9唖ZNiy啖Z^iVZAi@+UZ)Rw cRw ?ȽĘTȽ,A%,%1>0-{r/1>0-{r/1> --{r/1> --{r/1-{r/1-{r/1޾-{r/1޾-{r/1ޘ-{r/1ޘk-1KkI@K>K@K>K7@K>K7@K>K@K>K@K>K7@K>K7@K>K@K>KZKbZM+ROA(`9:YD/hPXS΢bK0 " 2"^Nwʜo_~TǙ?Mz=J|ZIZ5궹1Ȏ\ڹ,_+^3'fq /Nvol7틋cN]tsſ.M2%yP #Y>l^6:!ͱ,rtHvߏY;"P*'4ɱ?Ux3iiȃqs$ilw8ƨͣyjqznl^_mnFV߫ɨEhҴ[jMI&kN_>Gi3G!W;;GΝK:½V>2l }W>G6cߛܻx'.[Bgb'"$4Kqtcո3| ]/hBb-3}ILf'f]te;bu6X7=[s75%{^gw6;oLȻtcY/ =Ll W[ѪtskEG`!J\d w nu#2ON;v몙|I4Oy#5;z/>A?*Φqr̚o*I-v)]{oFϫu{-tFN5kbl/pd(6ٳ l"5z^RXm}66F!}14K`*Kie@+SZʔVr\i@PZ*KĘ$F, Ҳ@*-r@)-@+ -@+(hJ+Z*^bZ*^bZ*^bZ*^bZ*^bZ#ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘTȽĘ$F,{1 h{1 h{1 h{1 h{1 h{1 h{1 h{1 h{1 hܧ c֒@%,EʢW,AihlYpNN9t^Mn]A&cujTflUuk4Wl׼%?8n -0&F+endstream -endobj - -44605 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44606 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44607 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44608 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44609 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44610 0 obj -<> -stream -HW]o7}_GX}H P`٠PeVֲl;$Z7iPktt]_>+tJ8>p>ٺ{wqyeŗe\w^=/zܔM~f[mM_W7mvTbSl/v1BBh{8xT}dEJH=k7_YЩR@Bq7k)(v;];x 0)-Ѽz\ZFj=&Nibi1@?k᥍"h)b<;j|SJ?^b:)iq IBް&*5HT%j}g(W=r^{$ZzFΰ7ТBѶ%4ϩ8cShA]ܬ/`=;<eāp:ƨ4l$bսpK:ç?,}Oޡ~p<9qqϞ`"xxQNT[IQpUnFK-1m{t6'BJCWX(,4\pqqyh\H,>,3bž%mȲ1+-e -oYWK1\6tG uIz?Q̖ut֕Lǒ/msj<%=ߑ &jD e>}#A0ǑBGJ0ѯu1R_r|AXҢ*8Mgv/iZv:TfQO}!TSy*68LA\Z7L& tO\ςj2volr9*/%!(oSgb-N D|-HtR9>dq$a$Uؤ=]iԋsB.*7X1XVGדLxs3]jO ҕv^Y)xnHs` ݒ(:O)U;c)3/An SҾ8A{a$=|^ܞ 8PDQ h l~:CuSKVgu\IpBIgp<}9)v6Ki1}8-ZJK=ҢҚoYJcR -e+ NKʊpڐ}Na1;^lC'=kBYYӌtapƱf4 ubf4^YEoX*ѩ&ѻ*%ڣLdL$L$]g"dH7HQVHՙS&,2a8ڕƒlXGVYكX0 -˖<}ĝ#.2nϒc&ύLƗLX5NVYɿ:1Tvcy&g>FrU#mʘI[9rԸIM$uB^5%*VLaY4mg W, zF35KUΣ0@:R&KtAѭנCnpT{py\?PBs/娒kj}0Ի5LC mmVGO\v[d:;\461F-\jf^b/i <Z -\SVtP9+JAjmX|E -m-%Q4Tۙ%H8fw3F6 `DS *w -@+acnD)'%dJP5F93 /4xg2ah\=%@@Hxӥ]y72hlIxx/Â_Owt*M`BB#ꊪ6!^ p'ꇶ+n_zOm]y^ڪĺej r. x%25fE 7-%⇅edE1~ϭws"m/lc dgO⠍/qlu-Ʉ[rFQEײWѕ/?V3mOMGeW cTHh}eS ŘپO0ޛbP&^]0=M[KT]S@|ll3Vz*b%-@4<?Ec 3]Y] isOV62o&кV.]5ߪX[A_nJ̎/誶OMatRzZYX}I8& с\\CY4$Ng+IGY4G\Y .C@w8^guRNu]lcfdI@WQ1dOөg*8Pʍ80=MC܀fVV,EWƦImc:u`KFkT&PC$?L$#o}>'H7BZ63o!|&.fGm0[*oH~EcPU } k C' -iw>y 1몢*OD*^*YWi~ٱsH {]w(ڛQ5ڞWA[ܭ nm02eӞGW1]1_ݖZJCt^ҚuBGTe?łQ[vWҴ9;R;5q\{C̛rq,߷[D`ʆReYHWz}U&ܹ0I뛡IOK}*Cv~B0sd3mWңٔKM}-\N#&&}95qM,2q`*IlgÃɀOT"scW4av4˹MD[.A@u^~Vbĥ*KlXbgn{;ZzzLRAF+䙀4h8]ixg7HN5WI7#mS}vLr}gRw8v$iR%riFV&OMfڮ]BA!p/٬*(W>}\oKQ~uF廇7ޛo\rendstream -endobj - -44611 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44612 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44613 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44614 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44615 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44616 0 obj -<> -stream -HW]oܸ}ׯ`i~Jd!"i-I(3rtFrG8Nb\űcϞ]K&/^;K043ͭb2Չ`*\VRcu(ce*FOmb\o$&&3c\89$oӛrUM.]߼F{n(ti\ì"R9ť6/67'MVKbL -F ^۱+ # COnoC9>H#R!+.Ā%e -0dYj2bRzWzׄzׄzׄz7z7zzzzY>#gPGsB} y]]}#J´!vHCV>ĀE6Đ1dC XkC Yȵpm!PV 1` 1d#*µ!,B}ZE6ĀE6ĐE\׆kC>r"\b"GUkChµ!X}pm!+VbȊՇ׆k5C>r&\b"\b"GՄkC Yȵpmpm!PV 1d#jµ!,µ!,B}ZM6ĐE\ ׆!1kC YCV>Đ1` 1d#µ!,B}ZC6ĀE6ĐE\k׆k C>r!\b"G5kC XkC Yȵpm!P Cb ׆b!,µ!X}!etyD0-^&IMmw jʱ|HͷD(Rq͌j[ٗb*[I=wzn[P UzR:W,3y/oG05N6-7/ŕTO_o9s\ JǪ]z64฀&s(.Sg<"~Je\fF7_˲jS>Ô8i19eJ2r\+ȈČK*B%nq(Va8eE塸kҥz&r٥v)^#1kON+۲bvWM}U~VAMѲ'AD41}Вu޴Cvn)c7 PY4/[ M58 6(#40Z J"!Ȭie}cs}SF]y!$۶9}S8mL#%>~X/ն۸ D^EE]Eta @1"Z.3$EQ$Y!g8g0ڿ#tF"*4E*6,Z^T} ~",-? 1Rmf$8j=;{q}-={%>&& ks6ƼF5!AIrXZ՚NN8}}:S&qp1'.LX(Y.Z->9a&71'7 wi`ͅ^h9DQUyY7 bYYzoatL*`P1@%G+BYqe3 :!&k@R]eTeOfz.px? -0^Yc]]C%^b;{A3`nZW 0FbB3ǔ)^l;K%ARʃG&Y U6V 4; Ғa&5|yT;-2fCS-]M k Ȯi Iyc_Jh>$٦ء[z)N5f֋ej~+T7qرCgOi2> a$#\K&]~*Pr굺2rTl齗ǤIL_ӣz- s|c&p4 M(Fpg6 {XGg©K8q]Nt|lq_{cqAC{qloVz1q"bK^V-aZaAmq b֗ a8lhfY;V-rJT}_7&DO?fSPI/4qBOKsfK6f1-wꇒ.C̟^=^NX bhZtrQ݄N>ͺOͷ: i=6 ,xk8d #|%sW'@Gc$Pbs0)(+@+sVto i%w1L}aY܎//"7R^LRu{U/ю|\W^jV'$8t}fW˪Zb:/~rI_W>o\AbUPy\wycٟ?D,endstream -endobj - -44617 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44618 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44619 0 obj -<> -endobj - -44620 0 obj -<> -endobj - -44621 0 obj -<> -stream -H\n0 yCi%V?ZF@xٸ!A~Q>۟q<u:{Q׍w, ^Vvk۪WaĶuLGt8aOϮBEoahU?}煎ηcaM^jQGsزttތӒbS:+1c;C_Y bzrz|} -*KXǴG#If̴' Zx͜ -{=q*R>e}0aC R Xփ ̒<[-Nx\;p ;pFowýf؛of؛PCH?foo!6ϛ'x|ƾ5E~եendstream -endobj - -44622 0 obj -<> -endobj - -44623 0 obj -<> -endobj - -44624 0 obj -<> -endobj - -44625 0 obj -<> -endobj - -44626 0 obj -<> -endobj - -44627 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44628 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44629 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44630 0 obj -<> -stream -H|k>j W|HmW`72m+%W!(Y{0`yq|Wѷ>(6PAh?Ԝ,R)'E|M64*oj>4UӖ'ӷeYt6?l7O[hox,e$RmO>lr)bd bJ!T}Oa:zs^-L-ĦHkiZ%4ďoؖ^9lX2KȂ1sL M(,Tc?PI1>QReSW^z3Y)<Ӄ -$nΦvnqs-w5,oޡhJ̔y(Xv.ZS3 Ck.'`zyZpwOF |.5}G^UMߩ1peɜm!WRE, Ə62Ġ^,͘K~Av9jy( E4IcA>@Z[eZ;/k5Yڙ$TtQ}S\zet6ۙhW3Ye=@v:A׷蚷e\Mہ+vuhBL-P^P㏨ewT`SRWo~[[}[K?0|r"w$,=dEsgMwz:7]WV[svr Ϡ(q:.Z -><(bTsoۗݜ~c I*{ž:v,Vo.1{rzHh DwH)  JJ~~7!m֢K2PTE'k+FE4W"4$LΦ v5^AM.$3?6e9y-Asʈ;|Oh7ؒx!F㢁9|Ͼ@ӻ)Ql.lСBQWwYAs5糣LdIO"uCz΃{j~Xi|G5  %澯,ӐDcޙ>/SuR`Y>;Y:}M^gGy0}3`h=1+1WPc>{ g Tkk ƨc6 Vr0NxNX\LpӀ;| ^FIFeWOۨ9Mɵ\+acMc@ r5O)F4NV(Ycw:aβhЪ*($܎8*pvZ h9/vYeE^G,Bޟ^)ߪ 2Q@ G &2$,KlNO0eϦȫÂIlP="Z,I$i:']<.ѢCgNX Kr6qSSWͱkT^QH$P=#}&P>ׇ'[_K#AsޏXZoS==B`x*jbi1Ƒ}l?)|A]3!\?,TyTc9ڢfc<\K܅LJK!]h(PWwln +s`~ʙeƴQX%蛊sXl}b^0=nkK|!.riՌ(蛓*)V -WǮ5i1vմ0fIYH;> .Q7u_$Ӛ/=4eA@#6pnZ?E1C59]x#SHt2h(Px9!*{0߽5':,s͠1m^'5u͟0%IU}s^)?VӡYe `ĖЃ8ˇͯ Jgendstream -endobj - -44631 0 obj -<>/P 378 0 R/Type/Annot/A 44636 0 R/Subtype/Link/Rect[131.121002 539.020996 408.201996 673.916016]/Border[0 0 0]/H/N>> -endobj - -44632 0 obj -<>/P 378 0 R/Type/Annot/A 44635 0 R/Subtype/Link/Rect[93.6000977 416.627991 199.356003 436.308014]/Border[0 0 0]/H/N>> -endobj - -44633 0 obj -<>/P 378 0 R/Type/Annot/A 44634 0 R/Subtype/Link/Rect[93.5998001 236.628006 235.259003 256.308014]/Border[0 0 0]/H/N>> -endobj - -44634 0 obj -<> -endobj - -44635 0 obj -<> -endobj - -44636 0 obj -<> -endobj - -44637 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44638 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44639 0 obj -<> -endobj - -44640 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44641 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44642 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44643 0 obj -<> -stream -HWm6_2J|Hh"ŵW4.z-$fߌH29vz6 Gm}o%߿E*Yj"Hi2`Gm#IH*ZVz*6eV?~CxZܯ?yF$Id"1<금9ϖ/L\RX:~m6z7+]TOx4fX=Lv_<qwE>|?>7GǏ xI3, ?%6Z@|I4> _8 | 1ä@QtP=MCP```/`/`/`/`/```> g,`}N9>kk }ٔ;.8Z߇Z߇CTPC>P-'TET >@}"j}j9Z(BQ@PC>P-'TE!`}"j}q!>D}>D}BPj}jZ߇(}ZAPC>P TET+>@}"j}jZ(BQ@PC>P T I!*dE!*d}"TET+ >DJBPj}j%Z߇(}ZIPC>P$TET+ >@}"j}j%Zw\(BQ!{(BQ!{߇a%ofn7jţ4Zup#eQhu\w_i'ni Lt# =9K/Nx8%XUGW& |__ufˣOlϪ>}v>˯Ի2qMяQpܗC&ynj¸$,1jZK]rQo!^dmQ76ry1,Kx6M71UD.1۲?5a2jMôa|@$͔ukXE_5t}џ:ٍil<++s4͆MK6qVG<^_@Kv2h fbR0XTY(rTi]1 لYǂi뛊L0t:Qۢk\Q lN㩏vV;G];fIS]U$xlή)d*6N-S!g`9M1LDŦ?^܂_鼊dWq;t33GA!V&4'(jY\֮iUSq$f5Snݏ/WvZXT~ј`!?jjH9J^$e2aH0yU7O(j,a&Mt,Aٰ?>ǥ5k l>$.n2xZTu VT XΫJ7iBK &!Q}BgBÉƛiO*jZ6kK[_ϰ Q = Aog i_\ I9^\92W77XgXMph>hQ`2lqح<Ԫ]%>6]yx?-ѝ57;p،]NrM:=0tA6#ITÝ-"d gfS!lJ%I3X ]ǿw+1?3Z'_myGfl]UfrMߎS7ؖRu<0Ynve5 ?~+jkn3:(ؙ{Pӡl\DOS22~+!w }vPWp5VOg^0!!8T@ec\pw?jGµBXe̙CK!W,Na%*?cq(I&fX͵∭ ﰵ>SI -_:|_z٩ꪯCߡGJJeu@Zh7w*O>V2Wqrclt=?Éo=M(=A!xl3R{T!7+LL :X0%M\j')zO9 -+.GLCֹ[i{LӟH>6~[mmӶe4f8zLj!!W[vFvۥ8и!BWe?em+s}GĽ-< j2l -YE=g{_D C.I<\/>hh4HџwyTWO x<τ1EϯÓN?]/3v/e:pOվ~-;/puf6}O'|nvΧpg򗾶il^^b.L!Yw<Ǫqo4ޖ?a{]e[\`.W']sM^V:k"[]dn)E V:Ngst1X"EE Vd3XIf1eYƳbu1Jg,bnQg,bnjtV3sj`i{f{fn=3X=3,ӽIޤ{to}{f{fnE,힙[v v̭ZgKgKgVh`ij{f{fnu=3X=3z,,힙[ޤ{to} -=3X=3v v̭JgKgKgV33s+i`ij{f{fn=3X=3:,,힙[v v-toҽe7 =3X=3v v voqw6m\zegʺ ˟(mSIy[hׇMV'߅Х| f2BX_(?Dǭ-5,O3Hǭ> ) -GqM\??[-_"loeÍ!1̋Y˽u:ŸJӅmntri9Me3߲q:߶å-~.6M,.o.A_wXkܫ7Blpd\tǷ˵5]֒aMQ,bzE nt1,"YİFE Va 2$,YY`:Jg,bXt"YİE Vw_%],],],],VL&[{-ӽquaaaaaaaaatoҽe7>,],VX,,],],],],VX,,],L&[{33 -33}G.0^OCendstream -endobj - -44644 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44645 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44646 0 obj -<> -endobj - -44647 0 obj -<> -endobj - -44648 0 obj -<> -endobj - -44649 0 obj -<> -endobj - -44650 0 obj -<> -endobj - -44651 0 obj -<> -endobj - -44652 0 obj -<> -endobj - -44653 0 obj -<> -endobj - -44654 0 obj -<> -endobj - -44655 0 obj -<> -endobj - -44656 0 obj -<> -stream -HV{PS?w$7\&. tk!@ .hZW붺]kG]wW:Fc묮uU;nD;|{s.B~vGu\}f jFӮb[͌&ǗƎۨ&MNSBXB\_BǮ=egN x1G-Bow3zcGIOIgj+_[ktpBg*Sy:ELFJYz%B dW ynӣ( ϲͪxw{g' -&p:D io-~uBgXw4afK̈wG:ݺ/<ӭ u932TId!M/pFWkF]͍WvVwVN6@gәUtwE<4խZޕִJYw9K+N"1KO޺ <ރj]MfP穳 "b`F] w-n/rf7ʗ⯟a -F* 浏=Hytz'3zc1b3i^Z&vUU7$TUS 6W}zR1b -W^Sq8:H&Q?q_3Z^38FvuD{xGU!V~ڶWzbk'ylib8Q%ֈ1q$<@($qp+ -q8dB~#Uew.x,ck-aeq^YPZ\Nw}\:P -d8FA !Ȓ9FO$wbe=+߇ƿ!@PZh$ XF#;a'.C})IR! -4Ʌ -rg4Ye#C#+""7G|jU4?Z6ᘈ7bzbv\Ūc[c{vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G -k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 -uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! -zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km Tendstream -endobj - -44657 0 obj -<> -endobj - -44658 0 obj -<> -endobj - -44659 0 obj -<> -endobj - -44660 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44661 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44662 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44663 0 obj -<> -stream -H[+:ȋ/45{8 -1 ё(Hx俧IH甀).u(վW^|zgׯ6-1^֫t:ȝάɿT!1Qmv77 oz7fnYe> qT*R7ɗz7V]Y:36Ǹp׹<צ(Kgպo.:?eHrSo -7O:tWKN_퐾;.`Y#?͓)x\lY}8mգ2mǿ՗Z$\,:%7I(΄u9 gdcL5v\1bQxvcdxEʂV HDz;ށN =HE D D DEE/D/D/D/E/E>bf Zm kD\Z%s(kS5@z1L-׈Z0\Zҋ`jFH/ւZr(^LS5@z1L-"kDbj-Zҋ`jIZ%s-R`jFL5dzE -L-׈:0\# -Sr-R`jFH/ցQ ZkS5@z1L-׈:0\Zҋu`jFH/ց&`jFLϵHQ2=׈)0\# -Sr(^LS˵HQ ZkDbj=ZE -L-׈z0\# -Sr-R`jFH/փQ Zk$S5dzE -L-׈FLt49y$o|ʨ}bAcU5$_fU^bmfS_}N,^lWjtNM 0./E)\-so1Ws<ޏjj`Quxz,dBӅlLyꞨ!0ASO,HJ; 64d'1#QX]!}~{ٽ`3NG3h2 46K?}X'xPftAxM3wJ -,|u`dR!-8lϧϙR[n|yݟYvz977C;m|-O[tnuA2?L*=/C-͚KpK 6]EFi)۝nbܡjߍi<.cjwf׋MU5)g_\حds1Vj] n?1~yx>JoHBߐ\#*Jxy兗^^xe+^ʄWr\x^*W JURxW^{Tzq(ŵHe^FxYe^kD/{ z5QKނs(%zoAF\# -x[{D=׈^\=׈^kD/{z5QKށs(%z@Fw\# -x;{D=׈^kDI/E -kD/{z5QKރs(%zAF\# -x{{D==׈^kD/ kDI/E -kDI㣞~OFqx(s.և%=32Mg桭zzxt`+sŕ兕4-񩣯f~6Kz`=÷jŧ^QXcM|vh2p|j)}PkV]uط$=VaUvաՋg|G}iujs5;^))lŶ]v<>^Nk {u7ktO?({w{v*.Ui;Y*lmK+պXKs,ȴ?]J]åMbowFh{n+Ӟ.m4_igb$#ˈw4b$X)xQ|=7G]kQԇ'h9>h(PW -z!Ź֛=r\EҒd+%P#|9e1>mP_.To(FzXɃW0@Z?FN3J{70T#$02" =lf --d3Y(%d;dYV1?;v]!&%,cD]FOs{vk.9s)kI$ 0upϷ2(Enuz &IDkhiV!i%iʃ.AԷm=4&(@m:UTFJ&>&km̐<>d>Ŧ׺=Citn&*9M+m -P$"&/mKoϺ&M>:]v4OqX"b=ky&r;!ChNmwW8I02KHQ y\Y;F`gSgE W@2Xp'UwV}A73< Pʽ[yb| -b4tVW E˜,b7[1l(X(%ˍ~iu0.V D汐_4Z$,%9:,1j2B?<^d0֗LvcBVXʜcBj[k|̀joiqS`ĊQ Wt܅L~L%o-9@7-q(ITF=vx/)te;#Su<|+XVѐX z}M<|x.c"`n"%$8xk%072+bAM 6}/~S)!oLm CIdn#…$! +psOiLX'j6#Fךx>d<++<+`l8]31(T:bL\* <y9,(jH:g1"*b`{]5\HsULp"\gR,ƣ2K( BDK=huW+$$..R OG0–o|~s~ӽ>CӇ)ģn>B.];b$t"Ro}FTX[pI`GZ{RN O6SW2TҘxfv=,2䑤lN]VP"-&0r![!e-ELkU\PEH,or c0!X, -JEQh~*y׷w`6'iYBe[k=\]!Ji'FLgx>_m=?7 -0Pendstream -endobj - -44664 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44665 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44666 0 obj -<> -endobj - -44667 0 obj -<> -endobj - -44668 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44669 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44670 0 obj -<> -endobj - -44671 0 obj -<> -endobj - -44672 0 obj -<> -endobj - -44673 0 obj -<> -endobj - -44674 0 obj -<> -endobj - -44675 0 obj -<> -endobj - -44676 0 obj -<> -endobj - -44677 0 obj -<> -endobj - -44678 0 obj -<> -endobj - -44679 0 obj -<> -endobj - -44680 0 obj -<> -endobj - -44681 0 obj -<> -endobj - -44682 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44683 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44684 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44685 0 obj -<> -stream -HWm6_A j -$k-Z Lճ%g7CRL@l4=>Co#ww?a)o?#^1_(2+rdt+뢔=F,E]hz< ;=Ut%l*$e &+Ғӓgvu#4z;CU*n[?98};m W? uN$KDIy^+YD*Jnӳڿd"3){YT<KK|8s|Lb*S||8QQs}{{{{{W{W{Y>#g`s} y `_ }/ e$ؗ`_+}YN#A!*dE!*d}"TET+>D -BPj}jZ߇(}ZAPC>P TET+>@}"j}jZ߷$Z߇Z߇CTPC>P$TET+ >@}"j}j%Z(BQ@PC>P$TE!`V}"j}>Rj}BPj}BQ!{(BQ@PC>P"TE!`V}"Uj}>D*BQ@PZ߇(}ZE!`V}(#T}"T} -WIUUoa6*]qD7iSxKrb}(0JxP .SXx2M*G*d%3}KuySm9ՇKTeS~? և+^Ͷ\m7^_ؿbD\sVX,xDGا<Jn2png`vܚoW+'p'yq٧E (W(·]S[&KENKFz3ꃿB:qSef˄$-129Ax}1WCfj7Om%kU:M;<\5g¸]Š[ذǘ9o.g"o _#d"4f7q7&2nG\z~"s3z`u_љ/ ai\=p)6 d\ū\Dz,r=K^B_h -izŲRXfoаGS4noJaɌvVo3MBnܸG :q9..JaKB$d%Є~J2>tz^l~zgVVkɶZ?Dgk2 P)AYGI`4n_wf2CmoҚL0q{=YSn^_,Q"߽-L+syM,'+6Q9(R U -B@G*öW8JpwN ԄUY? Q-KUR63( $UZOh):N;(aӵyp-U{9usPXi?{tv*i5^3֜>J^@'J8a~*!יRgѐ+X)#/G<#i20N4}ٚ9J8"h|lxpdNIQ,FĻY,jMy g+vz +Yg)O,]׏na`C;tM6@ d4z-kxzϡQj5~c|2ɪsq+]ּ+ilUZ-4W7M+BNk<-F8 w9)e9пn/'m]/m4%SMP_{ݹ@~Pv9*[j~tچL3[yY -Fm 4m9ZkQjcRog~} O?;..ϛ~W̊Ttmh SE֟eV -*rT<)U Na7/Pgޑ Pfpr>mp6joI҉xQ3GcgnY3vGxvUfʊBUT& )[)Y*8ΐm/FE"e5iOG} z_z 3P֡5ye\%]_L哝/ aޔQ^32V@-z77n3 -6ʰ gT8R W2Gz1pKh)l+G!!4DTQr^S(F8᧟VO=?)؁E'vjx T -WKFWKhdY+e8R"y/ !f`47U?a`N[]]>}ZwuHDV?dI`Zn未ѰZ6E.q2 -!$RPgp[F3Oah' wUkGõjXJHf-1%GzG pTt>0Pctz)ES+qnN r>\$:*9 I$_C+0S;ܜ _R|?zCb\G1bxIu_]%x165R+/nH*#q]bf˨ ~G;޹*o>_w'.F194$b51:JvpOIcǜq)-c1V5}R!?ʦwNA(j1t(ӴqlB&E?*C&iN SV +uy…>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44687 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44688 0 obj -<> -endobj - -44689 0 obj -<> -endobj - -44690 0 obj -<> -endobj - -44691 0 obj -<> -endobj - -44692 0 obj -<> -endobj - -44693 0 obj -<> -endobj - -44694 0 obj -<> -endobj - -44695 0 obj -<> -endobj - -44696 0 obj -<> -endobj - -44697 0 obj -<> -endobj - -44698 0 obj -<> -endobj - -44699 0 obj -<> -endobj - -44700 0 obj -<> -endobj - -44701 0 obj -<> -endobj - -44702 0 obj -<> -endobj - -44703 0 obj -<> -endobj - -44704 0 obj -<> -endobj - -44705 0 obj -<> -endobj - -44706 0 obj -<> -endobj - -44707 0 obj -<> -endobj - -44708 0 obj -<> -endobj - -44709 0 obj -<> -endobj - -44710 0 obj -<> -endobj - -44711 0 obj -<> -endobj - -44712 0 obj -<> -endobj - -44713 0 obj -<> -endobj - -44714 0 obj -<> -endobj - -44715 0 obj -<> -endobj - -44716 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44717 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44718 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44719 0 obj -<> -stream -HWko8_A`8@/=vm[/:@RMje#HbEC<$/zuͯ,a_]gU b:q*XX ֙ k=FU,lr~wmv ]b]]챏.%&gMT +X},r-̯G:qc>cS=z)Ewr?㱉ɬk؞/\`" x>Gv5ak2ܖ΀: -9E)'2 a̲0,C,K,P<ƀ%"P/"P/ 2P/ 2P/ 2P*P*P :P :P :P@}JO> g,P@}N9>"P_r´Ep-,+T1`Ře1fYzp-,PVŘe -µZY>p \1"k1,µ,B}ZAcE\+b Xk1fYp-,PV.k1fYzp-,+T1 -c Xk1fYp-,PVb̲k%ZY>p$\1`ŘeJµ,B}ZIc"\1"k1fYp-v"\1 -c Xk1fYzYVc"\1"Uk1fYp-ƀEcE\b̲kZp-,PVŘe*µZY>p"\1"Uk14ZYVc"\1 -c̲BE\b UW2^oqD<q(,M Ew7u߲E84kC٬a[S=i;WwW<_+0U`oRyi}rhw*8STkq]Iz g' -;;n?Z~e'u>^f:OI oG{B#4krh6߂O#!A;0k\1P_$[;7E %K]Ȧ؇RL6"izlG&qlJ6 ]~f.ǖqiju| v1VcLPo.lGtrԭY8g;=ijX$=655szj]iLjjLYVҪF،'1O<=t?9nw{Xd0Y_]$0\ubmֹԻP".3?yh[TslT9HxM6S%}Tq*& n˅>U.C#eáυ&/]+!ʼܛUu/e꒹UsFmz +⢷9!Q^'Hy5 6mbwJ%Xg/GK37ŵRDž\1=K<kgGp :۸w,Af+3h{)}XAbɧ}Xmٰn/X5lm6X60|}:nW50f>;bb0 -KNU}Xwo_[aۓӝ_j=X5 J/\zc{ncfШ/h/L|b*V)d1x8& U#h~VM.h_‰a)T6 -b:lz` 0vbMYsJ)yJ&._6'ռ3Ԭbns鬚OOƕ+{si]5vI?WT'J(|q5 ,; vL9m5N ܽ~5],-3]5Ʒ Vq4&\ǙS~>~x0]cò`ۋSOZ]DO2mue.t;V~j8Ug, ڴ;g j9Q>l壁d~}Օ{,ϛ?s?XvL35Z/ʮqoiM3='Oav OMŸy:,ž/h$<}L2R鉸 %Xfp=qNg;$ 6Cؤ*G] Vm |_ᐋ:ƒlNB` C2;qC{&>_eIٜ\z_ܪRS - Կ&BȌ-L=J- '{)-26B86snzꏓ!1DAhk9уeXC -)o*W'7 Dѿ;)^&!uXS9"lW&4do+ib ek<^?hRd S8O -]6;KU.;?,*W]j -D{bsΚ0obljb27ESX]bt*xN?>/P 882 0 R/Type/Annot/A 44721 0 R/Subtype/Link/Rect[93.6007996 557.629028 300.287994 577.309021]/Border[0 0 0]/H/N>> -endobj - -44721 0 obj -<> -endobj - -44722 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44723 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44724 0 obj -<> -endobj - -44725 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44726 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44727 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44728 0 obj -<> -stream -HtW]s۶}4c:vjd:4I)%);%@Y֓q8:=m ᯿\| //&#V?a(a(a pPU~VmvzNWa;|-?"dbHasYm0ŏ(`Q\Hv v| -._ԪT8?I<)Lt6ԃnua'*_B7 ]_2 -F<۠up)|NpX,ԧSSO}F<>gSsO}N=zϳ0mNŐw1`u1d] YzZCs-'\b"{k] Xk] Yzϵp!P﹖u1`u1d=rµ.,BZNŀEŐE\ ׺k9Zp!Wb"\bջ|.,µ.,BZAŐE\+׺׺kZCs \b"\b"{k] Yzϵpp!PVu1d= -µ. $ZCŀEŐw1d] Xk] Yzϵp!PVu1`u1d=Jµ.,BZIŀEŐE\+ ׺k%ZZCs$\b"{k]l$k] YzZCŐ/(dÿl! # BDiE_gWsvΒKj~}q w{;/sJSu~\uTZКvor)n;K(mú}V'&wOOm7Qe`U4¨qL&x*) ګhV\6eƙO(d5Ս8Vwŏ vH9bW-z2mh"ݟؠ1WG{aCZ9 $3uSTyRRLRrY\8;#ɭ,2 UlZN"Gg'bO1_Td: wAM?Q ^u:1uٖ2mn5ƬC!v 2,y,fэ)2PN@V",ő@8z+dc`CM6`ZT7MǮÇkmszHIcJS,ɼ"XR'V_+{Z%i$K(OԓjBh E,p\sYʇjc_fmsuj44G6Ff1wIyST7;/͉oцpښj5+s7c'ag|cHjL *S16jOsX46K8&է/Y -~j#-⶞}xj؜N/PPI۾$*aGI -S,5!rW5- lX{Z#(]`7h(ʖ`u~pHIhHμy깗 o:OZzn=OSxQY#Mw49j6Z~["K &v;;NdU˙;2hճEҭEq;uX@wMNES"õ(<%cݻm@=ƋYpV5ӦY쫃f u ~&+pu ({j -5i cXбdMXIӓb=x%Q(u6~T= ;;HBȠEДvp#$\gR ZJ6ca*ocĜl² 6̂q(ô#;S?8xR(shp>n#cqV;,sh"2ح.+/\jwٝOëRv?/!i2 ejYdk\'q`ŷ5F8Έ(ԯʴbfмlu*u=%{V׵6}(g̭ ?9 pRmesW;oL}2 ҵ~[C5%c0NUBpi{w>ϥkGE"5oi"y)%3 ]Oa[鴑[ʠ,gMmY5Q&k~DlhTr^"5sk{AFd vFfQE!qMs +-,yh:btDͥd _v4eCECLQU$/kǛ nN{i$1B OW_!Xendstream -endobj - -44729 0 obj -<>/P 374 0 R/Type/Annot/A 44730 0 R/Subtype/Link/Rect[333.601013 254.210007 519.599976 271.890015]/Border[0 0 0]/H/N>> -endobj - -44730 0 obj -<> -endobj - -44731 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44732 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44733 0 obj -<> -endobj - -44734 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44735 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44736 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44737 0 obj -<> -stream -HW]o}H฿lj%.,.W7 d&NbvlgǞ n&V='N|ӱ_~9}sv_8 aPLg2JKi6EA̮J/yWgͺٔUm۔o 28]/q - $adie\bՕMN -i{RYdb[UdZ·q8{R_.8=i|*o1707wv9f,02MgY&`9H,?ƀŹBeis^x^x%^z%^z%^z^y^y5^{5^{5^{B}O>%ԧPzSB}>#gzC7zC< b -ZYc"\1c̲|ZYs \1"{k1,µ,BZAcE\+b Xk1fYzϵp-,PVb̲kZYs \*k1fYzp-,W1c Xk1fYzϵp-,PVb̲k%ZYs$\1`Ře=Jµ,BZIc"\1"{k1fYzϵp-ƪ@Ře1,µ,_=,W1`Ře=*µ,BZEc"\1"{Uk1fYzϵp-ƀEcE\b̲kZp-,PVŘe=*µMcb̲|,_1uUϗU&JXu7en7'< M^m}Ylث)캼+Zm[fnv6v'CƥAMNHȘۜN,S!"5gFy;>=#0oΗ_-Sq),뫲.Ip&Y )Q"X ':{%&Rqq/ջvR#2MepϖTZ&Y.fyd"1 $ڤQZ.ώOh: ,b7ߞ Y~7(ZA|3Z%pgW(iB= 8ZE{x䙝[xݧzX\v_||4?6~㱩&^\7*c1]4|puVQtf[e|ĭ2˟UG6҈;a?sL㏥"R^G*cRzVyԤ&RqxRnp,WG_}:mI`h*Q{2 #Έ9LcAYdpP^ xЈ*cк*n[VBs263dhy̓`%{"XA!OӸj{WUxlͰ\Id#ak!8+n1"B#f)+m1˲]m۶lj\Ų -.k}W|3xWUs7,.Y[^$Š@0#9' o'O4 ۪7}!Cȕ ~k]^_=Ϣ+*`:AV%,wJܩ'|K{vEe׬}0wnl놩Ia~Km0mEsቝ3۲ vMآU4nMVEWph*nNRK|wcE<:s-|1@OqV7-~"X-wNB쨥;ZO&i ?ν4rY_`7]qċ-Vy`VUY]1a=PЇ۶Ob;˶9<y&aJyGC>[w7-eJ"6͐l8Alr 2^q OhZ@G `Lbْ26Y-qiaoLᲙ)~@9 UlbdQ:aY#;Z-;] VYX%5>@ޢz 7Js5o&MI4^)ŎM8q{%A*WݏUvI "< Wmk=UBQv[B_UQ5{cW~P!XGRчl ? 5mR_@?[#5ŌͰ)60E'/8\#Zv"/`*%8(3 +У ޚ04]$Tc],p5\X_Z[ -ʴr5י+P ZWendstream -endobj - -44738 0 obj -<>/P 726 0 R/Type/Annot/A 44739 0 R/Subtype/Link/Rect[93.6003036 307.348999 184.404999 327.028992]/Border[0 0 0]/H/N>> -endobj - -44739 0 obj -<> -endobj - -44740 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44741 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44742 0 obj -<> -endobj - -44743 0 obj -<> -endobj - -44744 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44745 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44746 0 obj -<> -endobj - -44747 0 obj -<> -endobj - -44748 0 obj -<> -endobj - -44749 0 obj -<> -endobj - -44750 0 obj -<> -endobj - -44751 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44752 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44753 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44754 0 obj -<> -stream -HWmo6_Mox( -4N"uz9 -y-JJn^E㇜G<3/ձO/,/it)LjK-rV:y6I~NdKww=um.V&T*C Hi搬2[o 4iȜJ7t rqBvBf&|XڧKe뫷OТ(̾~د6IKw{?&Zk*g))K\( g%W6qr\q#3(8ŀ%e",âڥS XQ"Q"Q#Q#Q#Qo"Qo"Qo#Qo#Qo#9>rb\K1`1kZ!QV1R Yȵq-ŐŨ\R Xk),F}ZŸbbGUk)vH4Z!+VO1`1bCVbb\K1d1#jƵC>rf\K1`1k5Z!QV3R Yȵq-ŐŨ\R Xk),F}Z͸bbGՌk)vH Z!+VO1`1bCVbb\K1d1#ƵC>ra\K1`1k Z!Q0R Yȵq-ŐŨ\kR Xk),F}ZøbbG5k)vH,Z!+VO1`1bCV I3o1j#өL7e&26y.uԺX5O ),o_ZqwWǺ>a}x>Vj.& &SJQ89iYH- -^@(g76+̼[>Yؐj_iʉ<`-Ŧy.r7چg>o7D.JYxKVYFARV?vG@g(%tYʉv<+,mZvON8 -8g;-bbaE^Yb3RtX@0IH P̥sQk<;>r9%d槁Ø7Q̼0vǹCȵ7n}!MRׯf׸ݷ>ߵ -fHx?cx𩇣'ۺԇݲyNv >QsŁ-YS!&6^O'ukP}p =U^ Vd-=% -0O1Mbsdb UTS\XA/>6Áav -OGZfNjx=T\ -kOwm9 ϛ1F~?t'm ^r~Kf<&FMukt>JK Nf ݒ`Tq͛7髷uci֔TA]N瓠^=3Z,֙^#x[IXSf`Y;R$#\<_9]$^ -^dVCs\2BNTB%EVM38CC?n\lӻnƩPmm1 ݰ$ NDFJ{ծ #6#m 0VMfgv_/s}ѻ^jf|Q91 \ &˽P*SF2>lpU搰wllzpY>TO!А8n*I4z8IDq%&374Kx;!|Nwwi}n?q3U/(to.3r1?VMzUU2U 0x:rW¨~]znQI/b>Ty 6TyUޏàR f\+ Ylم_Yׯyu+ ȰE ]W\7}'Nxwΐ#$絃 S~7E}C7ޔ*_Ȧ6BiG-!j)Ex>+DC]l^Nu}^w ɫ_oq÷3@pRuJ[(p!yrrpہ߰:XKFq TVZ,< 蒢!F 2OXϖzOհ$(Ӡmq:ԘL]b#=Sz_}/g)\&w۶}bdfRZ.K\,-.gv*Dž; c5 cłXQuU, tV,n@˃Bẅ́iC^ WMo8WA⧄=E[n -졽(Mqr(x$μyF<3rK,D}B-pkkRn̰DhqlR<äzaU8;d3LPuE˜_j_DgU*~I -( -l^ _}<-0i|wS,1 ӻs]x-toQOC `>>g䰕DsЯ'?7z"vK/^mlG҃\؜3?wUmɦ! Tⶋ992|H12Tʏ%*Jtw/^6-¿Xd@eKebf^'RO+\L͈{p~ oǫy@bS*U3C*)# 'YեRsxCzWoOEfr>"AS4G>|h Hxm\Lff>f:HwXȑ7iM^/;yina{c(&F+l6X|xwax)\oZlxf(KY򑂴h4Ľ:2ˡPkqfذ;vͫBp8d+kjk:?BϨcMQی/5̴7|߯Au6phlXβn彴K/.MOwuH -JbG0N8-VU'!sWh@$ux]׾ϫgw ^Ѿ({0*(m] ]*VX!W[\KMay#:gZ>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44756 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44757 0 obj -<> -endobj - -44758 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44759 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44760 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44761 0 obj -<> -stream -HWߏ8~Gf1<$KNɝvt3QDh&͆nz:64PV]|.*+o]zo߰|ீ'/2TFJS} 8YpG}z6W.٩nKI26:b٦d9|.st>9_m<H`sy$3}[T[Fo4/#l^U'iǾZNS\E<'^&#n!C@2 a- rFB83}녡 \aLcr@fP P(d3(E0w}(A{A{I{I{I`x}W{W{W{O >%ا{M{M{M`y3} >'{hmBfP>{lZl3(=E `V6"{j Pj͠jZl3(ZAE `V6"{j Pj͠jZl3(ZA$Tm6@6cA Pj͠j%Zl3(ZIE `V6"{j Pj͠j%Zl3(ZIE `V6"{jm$j͠|(BfP>{l3(=P-SmB `6!Tm"TmET6"{MbbA=&j͠jB(BfP{O Zl3(ڄP-E gm"Tm6Q lXWvIg ww(eiDmAOS(J.Yٞ*R%Ag"fxi ے!y$y b}*85b!W?~ppR9Ǘ~Zb pc(8lSX-eQ|Z02dm} Cߙy:T}uC eT{x؝ x߇oju>U`_|,0lG|a>v3:w rpGݹ܍nqnmR؆eѣ'ztڦsZlb&/'Q㙗B |`y5S A7k=+:\4l[l+we %V>"Gُ}l:n~v>_5M`R=NBFM銓Y0n9-oP`M~SUY%9݉0qʌ˅,?ݏ-\ B AfiڝJ!O܏QO"B(NT'\AYMЖ<7tA;v<`;NOvxhD^Փ0/ ~"EtiN%ptMa*.EHZHsOj*# XD QWW#Mji62\Fq°,QlW}ys@sӖ_;f`sW{ַ Ϊ-;`0Ҵ7dr_{k\ PE)3,U粚fC5t,^>x'0ϻD x(w(-TXnC/Yw2V\1 v[7Ug`ogspBο`pX.y ІhՍk1L6\Qn:psg¥:@p '5b}{ۀees8`_=׆{\:3=ݵ~ 5Jxc*RB.|R%Z)U6œH?0 4v2z|r?.sy:7ï]]q5 0GP̵&>mχ-7;Q%P2Hެs=:\TT/|^\κ1}N\di3֏P(p>y[Chҿ͙]RicmD;L< -]D&Xz9PM/3^-=0_2/a*>($_+cf'1Qib4JhRm;}4dIM4+Y>T4Ao$GQzvX<̹ܽx5hrA[HND. ^V)+BZ['`-쨶w -POiiifZaeb_@Zo= 1:+)41DTy'͊+gttkC)bT0v#yKB4O MP4c4A0,7@@m+o E&G&ZjmxUve[n>)Pw -/*Xěp#.H7P@#E\ }k!ңN$r֌bXaj-MI W}۲ʲ]-0&{hPXUTjL]?'~@N_l<$̶,Y2XC}_epG%fV·Ŷ5BcMl-h`C)l^I#S$<<[i#BysSoaSýX4 ޓ@5Fa8Y<D-[>8N04פӟV巾l;t =:YXj͊,Bmm8t&ӗϏyN€~~ ,|atϥܡJF9睊SqOJ>t@=`0(0\گy+) ܩpIG_%N#)[2CTBBfqW+k^,Y2x&A[Q*Scpٮ8b1/R`0!,@T2Jn(ږ团d`-b).|u+^5|u >`l6 0eM]endstream -endobj - -44762 0 obj -<>/P 558 0 R/Type/Annot/A 44763 0 R/Subtype/Link/Rect[93.6020966 387.928986 217.992996 407.609009]/Border[0 0 0]/H/N>> -endobj - -44763 0 obj -<> -endobj - -44764 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44765 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44766 0 obj -<> -endobj - -44767 0 obj -<> -endobj - -44768 0 obj -<> -endobj - -44769 0 obj -<> -endobj - -44770 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44771 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44772 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44773 0 obj -<> -stream -HWk۶_2Պ/=@>Z]) LgZ%gΐ-(ѳ!m}~qDLYÿ\ƪi"AG>O8K vz:M|hyi^5(bQN+X3.2^wQRll`ƸJٌ{Hqj~W7\e4f8Դ6BdO7׋9Cfo/(FM-p,=~ś8Drd%~*. >BLaX&oCTηϝo'=' ؋ ؋ ؋$ˀ$ˀ"ث"ث"ث}N9>"`_싀}A/% ؗ2`_쫀}E4.j}B Pj}B Q!{(B Q@PoC>P-'TEַ!`m"j}6DrB Q@PoZ߆(}ZNַ!`m]$6D}6D}B Pj}jZ߆(}ZAַPoC>P TET+6@m"j}jZ(B Q@PoC>P TۺHm -6@m -6D}6DJB Q@PoZ߆(}ZIַ!`Vm"TET+ 6DJB Pj}j%Z߆(}ZIַu"Tm"Tm -WiUU2Űvf1ۈe x9]Lo۝^?}9M| oR@҂O PjO <U ~m=XJnt<1.^/#P6>4y*\in.DfCr2s{Gв/zc &8ɟ_d7^qp*<- y0 ʒA|ΙgYԣcX܌S=gv߇m0qZ[݀i MfTyGL pЄX.SVDfC2*,GZ0p#K8x!jZ&6z'UܣnjPz3ip Տwu{~~nN2Np,'U+'u3͸A-ɄT9޽,ތǾ |#]fp&a_OOד&(jdRo'<{L?jٴ64WURi@̖.̲5VAQOx,[R\ ϣ7edy UYF]Xmk Ok戠+i1/&,YZ΍ӂ/'$^P*<a^YH+3.np}6|6~m>gd}2pvʹ5̖v Vrչ¶@S JzBbSeVfkA.7`tkFՌ\Γݸ FC/`< &dbx6]y("M3@8l՜t銫,Pe؅ohTn8>0D -eb1 -sRB ;<|5t=+gnl>b>&=ŸX>gzNiU^LxUS(r`= { 2ǩ%]zyyq)-Oy X䳐e*yB&0:f!$ԾZ_L- VC}F>|!>~/&w -OǶ=7kQfX/4ô6J'O6Xu]Ujj%U`?VnlW?B`yrs#M -l֠t> 3 r -;Eτ0gyUl؟:"` g2#-=w㈾Bap Ԕ"o%݃md2ovoM}`}bq!ݼ\#.U!R5%(x{;˥Ri{uez1p -l7K1GhAEmoj~a ] JrxP&4̴,|x-ϗ]zǗuP cicdJ ??24[tRXTWA=_x`o޻mgRV5kLT TgW"N ^$ydof9SdrKcj$ʕ:х/oUQ0> Ujf HĀ4WY8"^l2+_<|2 -ˢot(0_~BPbӖPK:apćrvվJu# koܯ77'Š'T7kΞ>:tƨ0YQ PKM;RxGcDG Ѕƈ;Bv{J`<)2^Oh֑ -:s9F&LJ$-\)R󈯬\hQa:3 +D? 틓7/:1KsW8ŧpuxy\W#"#VQ.&2dv8tx0MPF"ձ]mpb$D+I`*:,q!ymxIa MaY8 #>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44775 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44776 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44777 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44778 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44779 0 obj -<> -stream -HWi8_2Vҵ 9fͦbӶ2:z,;[`tD>?E"y<ß~ݛ?π!/T2NE2NDxoa -O.Փ~ݩjTmSz'Cy ",0cyiNoU׆HXē8_}޼Jq"MxN+Gf y=FҘ3vQ&&`1Hw~ d,琳އY BH'oPwA`Ns -Lz$?ƀŹBa% k1` B BKBKBKB+B+B'SO}BO<)>ԧS3O}F<>SsO}A/<,'L&k1fXzp- W1c Xk1fXzϵp- PVb̰kZs \1`Řa= -µ3,BZAc"\1"{k1fXzϵp-ƚ@Řa1,µ3,_= W1`Řa=Jµ3,BZIc"\1"{k1fXzϵp-ƀEcE\+ b̰k%Zp- PVŘa=JµkEcb̰|3,_=ƀEcE\b̰kZp- PVŘa=*µZs"\1"{Uk1,µ3,BZEcE\b µ3,_=ƀEcǘaꋸ( -2(n&lD>lS8 Ӵ7MpV6Wප=>o/ZEcu<ڰۇtߗ׀ ܆sK'q- )Xav͖09VL">,]˥ nǜ۞cK_#Vjke,Y"ǁXB,OĪuoxo.8e *sWTE~[wTϗjWPH9wkڶy2msأ>?k^+ݞ^+Ic $ 7f" R0SIn:\Ƞ]c3k΢?~3;,h%^(?DkG}/X 5KuX6lzfx24'v,D ;z{sX$K7*9[{m؟ʪ.CO+Gp\q5eպJm=m7~g,o\P}X}wjJ}v:,eLYrR0aHR1Xh_%rX{i+vI$E602 X'<$Y:!q&Y2i6L $sʥ*9?[`H JkݏBV:]W~2&yVθ7XJRI=:"_T> m>;9t| -SX*5EhJ/8*jrmdϺ?t`mUeܦa8\ƀ.`95» ݋KYZN|v7%udJi,ޞFf_˙&39CS wކqU"9 >ywfE8v?wta8)Y%ӕZ cĠhfcmѕ8[s!g8f6c&\:>4߻NIlt2I Ek3(Ɉ,=_=6%q{1Tӱ (B4[=R)H# E# J*f**C"O엎O-ƇPʏ~v_jl{}g2kn?|2ulk@R29yhgQ˰cp-&EUL -4OQXYהbuaMŠ[ cLu`1Akzߏ[s=p  <R{L]PWVQZ sj;!NkQh%4;zE/@̨&+AS=\Vg`81z1 -=69j -Ay*y|HLٵ2Bݫ7d -o"Ncb^ :DT?qJ[.䋭i_Uyz6YC #:3i؆kRLC}`S"'q0X`Coo-Zq?QS'QHqf-4Q4&=H ,ۮ77}$%Du -H`Sz\0_H~'˦= )r>hqܩӏ0yi2?ֺhD."]K8Knv%"Kgv$\2 r4^12 cK }i @2e1@QYY0KYx81`~(:T7wu̜UcYA/ԥTx@XLuϋ3g?k -1Mnޥ1хiU2Ư ނ+ OD-9N5-deˮ,^dgǪѮd.M1;q ""YXN4xmtq埃.dhň m𥉇%6 )蔕*‚Sg˜V@2A/ӟ@Y~Ғ7ǹqNU4etϚ5<_Vj'+3wJӰ&/ (\㻛_N)endstream -endobj - -44780 0 obj -<>/P 1191 0 R/Type/Annot/A 44781 0 R/Subtype/Link/Rect[93.6007004 318.830994 201.625 338.510986]/Border[0 0 0]/H/N>> -endobj - -44781 0 obj -<> -endobj - -44782 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44783 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44784 0 obj -<> -endobj - -44785 0 obj -<> -endobj - -44786 0 obj -<> -endobj - -44787 0 obj -<> -endobj - -44788 0 obj -<> -endobj - -44789 0 obj -<> -endobj - -44790 0 obj -<> -endobj - -44791 0 obj -<> -endobj - -44792 0 obj -<> -endobj - -44793 0 obj -<> -endobj - -44794 0 obj -<> -endobj - -44795 0 obj -<> -endobj - -44796 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44797 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44798 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44799 0 obj -<> -stream -H|Wkk_$y\XXn̰8LkUh2d\>TuJ?aO_?~1*U)ҜE.RAG]/8>S?~hz&]tcŻ稂E+3.2Ƀn;T|}YRՌOpnY5Mf* .),OYeڢR8vQ26[$R,~ߗ,~J)W0SVUŅ=D1U< D} -}b,Dy>D)sg,$ <` <`/"`/"`/"`/ 2`/ 2`*`*`*`}N"`_싀}I/% W*`_2BqBQ!{(BQ!{߇Z߇(}ZN!`}"TET >DrBPj}j9Z߇(}ZNPC>P-'TET c$>D}>D}BPj}jZ߇(}ZAPC>P TET+>@}"j}jZ(BQ@PC>P T$T}"T} ->@}"j}j%Z(BQ@PC>P$TE!`V}"j}>DJBQ@P;FPCTPCT!*d_UU89Fwc#?<<*IWq%p}%Rhx3`i)y\7QJ -'&o;3nP=JV-멹4*6xYEQUbVX"Bm ހ Lη0klIy%<?iaeQpYŽ­&]/<IcsU -IXxrsWTperv60kVPv0+SzM<ݓ]_hֱnm^zNm$i>z"2[ - -UǼo?H.`vS|V|3u& ܤ{R MHܓ}>dޭN&X.DEjHʤHe*l=;:g'`+6d(h(弄7˥xEIe":*rV|AI"L@ۚBȲe_U:TfbYTGw)UdP$XWm;2ZPDlKSN_%sQ7yqa33Ȕ]6|S$w+|ʕk2KnC;_O6Wݙ2Bx#jU,1՚~~4IF{Zi^fS?njKujv:O:e>CEL%3h@T${Wù;ɖyfxy8@X\Mw\JG,7JPb^H~LScyJL:d,YV Gh@=}qN"Qɥ9HlKPY A,#4lZoܽ3AX4ma }B"--sHk -Urs@M Uޕ(wL22-fc -'TbfP2e0Z{7S?g{  @+ZM?d/\[zg}25ʸx0!_3B -=ۧEBxԟ {z;cj,0v˔Y},;YR_*`)E~[mڗ>F2Ujs\q Lb\gk>͟G׹_^4q}ǹ}g|^8•mPTKm+у9RVsV3Y0!<؜iZC-R'DN6ʹlZ{)?\12^5=n@_J]LkR+VmCO-M}1a.=̼ }Cj P%: ->) +6>{RFhކPw]1Vcw"$'xȖ=ٸ|99_C>J =T p rπdN5Eֳ?md1{T23Z T aTJ$+JTHssZ}E;kp`ˤtɐ̅89#A0Q {B FlfK^Dt~f[b°DEzcT@/rK&#f6UKD 7l$`Yܲ8iHBUTsfc*5L۲n_}+,qF}4߻Il_-~d˾WIpuOc(NU8@ C̒аV<Tl!v,).]k9L|/Q2_R?aqLO]e!窎/aVY"%{y{~z}b.Bsv}n>/P 1489 0 R/Type/Annot/A 44801 0 R/Subtype/Link/Rect[93.6008987 286.82901 206.712997 306.507996]/Border[0 0 0]/H/N>> -endobj - -44801 0 obj -<> -endobj - -44802 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44803 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44804 0 obj -<> -endobj - -44805 0 obj -<> -endobj - -44806 0 obj -<> -endobj - -44807 0 obj -<> -endobj - -44808 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44809 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44810 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44811 0 obj -<> -stream -HWoFEX$)8n\₃L ,ɕh'E%zo\ hvvv9#i?Lydd槟^9I~OlHm4W>-) ,䳙'NiMrtCs],Y-۩YO\ur\ gHd&H*SϒsaX]>ͺ<;އ%vyFWŴYt._wʦOY3}'7ۧ~8}fްܦa;rv5y^݆(2OX9/|$؟xzv73;1o} ,۪l~'*`Lf|o1wYgnjV[_]ZT&];50+-nyqn5Lo&KdvޙeZ/x4J2S/+jǫny?%Lãh/.@ ysin݌K"^ǃ?zdh^LtiesiiˋC;-Cbi]cm7B۴W$ M(eaoy,>Y]&/KպaޏҊԫ]iA;jmGo vKzj7mD(ii{UU8̼2+{eZ3{]l@ n5R[x>sb6> -?>=lSsO TO1PIZW]:7< zt}LZkJ|3 Yi1o}Cc^b̊ -J+r+hJZ*VJU*hJZҪV"ЊJ+(\$,%1bYeZVi9唖Z*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ*^bZ#ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘT=ȽĘTȽĘ$F,{1 h{1 h{1 h{1 h{1 h{1 h{1 h{1 h{1 h c֒@%,EGC񖾱^8cM}Tk P,-K{}l Q>˜1t\m5hf_L\Z,TabH'NR6[hͤ5|xyr@O7'eՑiodҵyYNŲo?r9kNBar{ߘ+f2љOfM:<ʳlo4rx *gS=|ut6/N~x9}X.uvN]o,j~M+ZL2ߛ -UoL-/OmNNN !uendstream -endobj - -44812 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44813 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44814 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44815 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44816 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44817 0 obj -<> -stream -HWkoܺ_O6D7$ M e\IvߡH=v8v A,!ߗm~ϓ7X~嫓W 7 -t!L<}Em7ImzWmfm>좋^gMd`&4y`]oV?DWr]Bqߌ/#z~z^u?z;G֩Lx*mm?]Ei\H&d'PsB}/E zC7zCjE]$Ře1,j1fYzYVc"cEVU1"U+ŘeꃪDb̲A -j1,j1fYjQ,B}PZZY>ZAT-,PT cHU1 -c XDb̲BP=ƀET-,PT$cEVU1`U1"U+ŘeꃪDb XDb̲AJj1fYj%QQ,B}PZY>ZIT-v"cŘe1fYzZY>ZET-,PT"c"cEVU1"UŘeꃪUDb̲A*j1,j1fYjQ,B}PZ"MT-,+T1`U1 -c̲B&1(¿z\Eǫ`6OF&2VK|vծc [ei\u=/+vz[Uwubo -hJhe_m vߚ-z۝a4Qqk6"-q~D)",1Pf$P3*`E|%DR(1Q/f:ee iE4mӉ1uyі;.{S4`k"+9`V7jtfbݔm\njwukƽrr4xKUrUb]`@X㵖ʭu^k}ZkʒL 2)4篵ghv"  L4;34ؓk0k#;~<Lz<|r?C4 I͟&UI#QshVȨ0U̚ifM{b+~W̚̚ĚW̚fqb`i~̚r?٘Yՙ]œZ9BK'jjmy`?1/mr1})̓U&T1. H̼M{6E.ebL6!dS6-<ݦQX5Ɉlҕ,]ario& 1&a )ϖ~yBrx YSdؘnn߿,B/qV?Y-lf VG+3e/e*f}*)^L^쿏 -1&a -)~uB>u[ii>VM85Y5rjrҪ<[XO*@UUY2r5mh?7us隹cͥqиGT>ˎθq  -$CV24Ɨbȹ"-q`P5[RUoGH>`]hʏrSusVwnlm#^7I7z}ke( .$c};vC]_yP&N2q_TmWw{zӴtmY/նIX4 '+"2MX);7(v{;C*=ӧX~~) /wޟO :1B/d\= c*%);gy){;D(;(P򦬷m!k^7mԠ/SAn%G/4@js;7t^@6jmO[\ؼݝ ^ͭ$AvCH= ы}Iﮪooھ^o]aXu}^7tO ,2: Ypz>Y|^O6ɖpiplj7Tf gb$5m0(ME[v£rq]^Tfܬw-I,w7Wߜs/'Z۶=Gib$go'3LU^tE"="e9.@ -:n\ȄlsE{GG!1LC!Z+̻_ĉZJj -^;F$Et(yH`nU1-\cmy`DMiVj7 >k v5v.Ω`:$T!ON#}p%>+pc0 laONYueB.u9LIAB56&c={ڰx)jFkS=PF5jBGw0 <~rZ t&ך)'~š[;ؘ277j6[Et3k[h֚T?| -yǩtWC$Gs@ܻ$t/ԩV}}+6/P) /ɼ4d৙^t<]5JR2=#T 1Ğ)V~!M`V΄Ћ:9Jj:9ޭmQ<ȱFqP ǩkW=#NOƧ`LP(:O|u6 2u.##3 EHiϨH`-=[B~h92z/V-W0nMIxjc5bXFCp͟+W<=$* DWa1_g :yV0`geOPuyY|٥z[UGM2iL"=V5(շe.3[qw &IK/{flWlި~,0p^W- ~ NLn4G޷J#ajirnʋ爠KCSC Pc7Q~fI2Q%Ǘ<}0Zendstream -endobj - -44818 0 obj -<> -endobj - -44819 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44820 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44821 0 obj -<> -endobj - -44822 0 obj -[606 0 0 250 0 0 0 0 500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 667 0 778 0 0 0 0 0 0 0 0 0 0 0 0 0 0 556] -endobj - -44823 0 obj -<> -stream -x]oLuA{J'``K A]d/&D2 fh - -Q\OPX3 -X`,:w|aFMo''yD(BD"Q|vFFVzKtPi<.=Y %{a>^'ϡlf4fE& 䊾@*obY<;RbSLyd % :&.N{>-Xl #FWf׷+&ع178!z1w; 4K -CS\OumPOA0OvVN w'PZ.7|>JlZ 2-2a*ӜJ1U;SYhq 3+*s/4P^xu@t*>U q -?q74}j5o`lx3 r+kEsP@]r;ٔ!]Ĥ6YLڸyʮK{:kX7~9 Ȱ >!N|BaI2Lʶ3e8 ?q88ɾ,tNq)p=ξ-f3ѾɿSPa+l(!@,0zֆbK ǽ%!H};IZ$7KwdX" Zendstream -endobj - -44824 0 obj -<> -endobj - -44825 0 obj -<> -endobj - -44826 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44827 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44828 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44829 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44830 0 obj -<> -endobj - -44831 0 obj -<> -endobj - -44832 0 obj -<> -endobj - -44833 0 obj -<> -endobj - -44834 0 obj -<> -endobj - -44835 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44836 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44837 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44838 0 obj -<> -stream -HyoFh )i1_Y&3]2 lJCѓO%W`Qf=[}O*Qޝ]GEګq*-lg6N_iժf^ |9_V}xc*:+RU9|HSIEt;i]vj|bd؎/-8j궚oy?V}UMZ;Е$j~\~.( *znFt~ -6_¿.QSy& NIAG<|/Xq(y9JkI1P<2<e@z#ވ"HoAz+;މw"} -ҧ"} -ҧ"} -ҧ"}g"}g"}"}"}"}"}"HAz1 -S5dz -L-׈FLϵ@Q ZkDbj Z -L-׈0\# -Skr-P`jFH/րQ ZkS5@z1L-׈0\[DL-׈(0\#JQ2=kDbj-Zҋ`j(0\# -Skr(^LS˵@Q Z kDbj-Z -L-׈Z0\# -Skrm90\#JZr(kD\ Zҋu`jFH/ցZr(^LS5@z1L-kDbjZҋu`j(0\# -Sr(^LS˵EQ2=kD\#Jީ$98YQZH'k9xg*˼*j4o{kv>kf˞$窬8B75ʨ,]u;jVuvj|dTۣvzXU=4j+` U;~n k5_.ư;]`S?+,f /)^$ 'X9!DuM'rs.ޓ]ϛ@Il2펗ӄJFEI[q8ki~$]=,o?.FOFyY۪nVͰ?ʌ>nzLKu -̙ɲXMMeO?ˌb.˰^z ^H8Be:1)4V\#Jx9儗^Nx+^)JW2Lx+^9ʅW -UBxy兗^{Dzq(ŵ@iॅ^Zxe^kD/{z5QKހs(%zo@F7\# -x{D-=׈^\ =׈^kD/{ z5QKނs(%zoAF\# -x[{D-=׈^kDI/ -kD/{z5QKށs(%z@Fw\# -x;{D=׈^k1ŽR{%FS%z&n~Ig~)[i^UOMxZ7ah8#l-؜vDH3&v:aE{ycRjAmӅ핡fxz=b,.^N/!nw)LmQln&ßMyqOzV%r4.vaxs;LFVCVTڕꖃ67Us5muj2~-i&EO5y V͞^v߫\\pr2|#tbXq٫T35./}~h=wZ]Nu5CPaF}w -[;Js¿\dٴ۵u}绰2U?V}U) Ӝ"y&tOG.[1| r~rƗl&vCNXm D顊G&@NxX,sy5O,"e<|Ƨ}2n P=30{ d>Axҳq2t8͌9Q/_F,*MZrݽY2wz>P=0Ә%cvӍBx1#PU7ϖVcIKL2]⑈u#FM^hi=VZ6`J$~zw?nW)%*u~ޜ'5P^H(VSkoơ]LR LFy.P ?ddb ?3NiVpb, :K|(xzojDXԢIDX㴞`^Ydlny!"U",:*1-hl}I.,^1Db~0 (sDUU#d]>Ӡ{\f_um:{Տ -S2;@kK?qxIrXt2+!Bd_uo1d1) -<4'Y I~v\szqE&*^y2sT{7ڸ'/ WI.LhwvrRp_=8!/Q7x> )>TR*aO:}`YusUy^m% 9thcYyI _\F:%.HD:u`as8u/vix ~wzЧR ~Mz0TT2vMf_CeuT鬒փdow_$*a5,J,neYx9`>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44840 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44841 0 obj -<> -endobj - -44842 0 obj -<> -endobj - -44843 0 obj -<> -endobj - -44844 0 obj -<> -endobj - -44845 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -44846 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -44847 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -44848 0 obj -<> -stream -HWkoܶ.~zE>$) mQE 8A kX;CJ9m,!q_ab?x,b/^|*3_Y)H&ǒ U;낈}Yp[Sz7P4%>]p$lw$b9aLF۵mxSSwJQݻ#Y:N7uS{eD WTv%[FiPqwD\,[O=10~؞Ja(gh ]Nsr#"\ Y~8>,Wx$KO$KO"+O"+O"+O&kO&kO}L=1>DŽSO}BO<)>ԧSSO}F<>S= -´.p!Wb"\bջ|.,µ.,BZIŐE\+ ׺׺k%ZCs$\b"\b"{k] Yzϵpp!PVu1d=Jµ.p!Wb"\bջ|.,µ.,BZEŐE\׺׺kZCs"\b"\b"{Uk] Yzϵpp!PVu1d=*µ.p!Wb"\bջ|.,µ.,BZMŐE\ ׺׺k5ZCs&\b"\b"{Մk] Yzϵpp!PVu1d=jµ.1ZCŀEŐw1dsfjmr\v "+7x',IrkPs.4 Muq.8qQE.dy"" Aw}SDΘX́7j;rD'mXU/o^ÔE4yrc" ,8nj4N̋]iqZhlqX?Z7=|NlߙYGˬޱ願Xa BùY'-LV}x,ؿH6VMqs8m[do*Yؽx*7u+/Jb}O4 <1287pB꾃%wNqmRg27fsy>ynwr8B02vOޝʪZpWb_+'k1j:URYw,̒$5ϧ'k#Pil}3s=а!U /vUQwN&`>)|@ToMˉX/X*iVmϻ-c<صLgu᜴A_U~ӍP 5|WCp&ˁ,t,AN_c#d;zWViq'#ͧm1}2KcF/=j:a7f'cذ)qԝ+ʿ4OT&s8WpG}D0},F'eBS!lZL(\%SM8\7ٲO- W(MlX+DQ(̢-]$0eKv2=f醭d6_Û? ziF=,1m:6}v,m% P-?m:43̶p~|{lFͽ|h瑍UY -kϝLir :3\!i$Vc? y_і}5#v5\+EZ80$OHzAqw'S::!wnjVnw#ě/4.h1Wb9Hx/]l'H)`CRK͚oqiVR"_*M1M\lQVHU] /X؀.T8PεY+g'"]݌C]_db)4VB2D&WUNp pPNB-𷪄RřTZwV fHڗ۾){:#:Y&ՕlފP§G|d-W/ںC;-5uUutv - k?7v<^ҭ^ni.agּC'^-gGNd -71Ed@c5OpWT,ӂ,|B/ ܳKqVd -hfG1 LdOD $O,C]>(fcṯr淺xĴ_=l2u4lPO9ԡj=90*Jmؚ^04%Tݣ<m CV%0}J] iv-² o"e9)DCp8Μa?LtAqvVl(hg9Τm 34eE=9R3M f)I%E6 l%˅s0xpnRp{j=Fϲ R̽\ߌ;s咖,ek&.۪HpEPn$fb"E*oׯT v (ϴtsV`loVγ W v+N!]&84 qN&E,ojl꺘eALSk_F߅r$L:Oq$'9O$hh!}7"sr,n[뇦./LB;gq&u3S'=Յ\0ɹ, B0`j}u@sefhcuá5>:֒OZT D6A hʳ+ʼn6J ޛ%jQZt_WA"acN%g-=b~Cqfmjh_/݉]t.6C/#] Zj [CTd=5xŻ_߾#z֕endstream -endobj - -44849 0 obj -<>/P 556 0 R/Type/Annot/A 44850 0 R/Subtype/Link/Rect[93.6001968 663.229004 181.080002 682.908997]/Border[0 0 0]/H/N>> -endobj - -44850 0 obj -<> -endobj - -44851 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -44852 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -44853 0 obj -<> -endobj - -44854 0 obj -<> -endobj - -44855 0 obj -<> -endobj - -44856 0 obj -<> -endobj - -44857 0 obj -<> -endobj - -44858 0 obj -<> -endobj - -44859 0 obj -<> -stream - - - - - - http://www.codemantra.com - The process that creates this PDF constitutes a trade secret of codeMantra, LLC and is protected by the copyright laws of the United States - - - 2013-09-01T03:17:48-06:00 - 2013-05-09T16:42:06-06:00 - 2013-09-01T03:17:48-06:00 - Quite Imposing 1.5d (EN) - - - uuid:69ad153e-9415-42af-89e9-e564eb821cb6 - uuid:343861ae-b990-11e2-a674-109add4446cd - - - application/pdf - - - Advanced Programming in the UNIX&#174; Environment - - - - - W. Richard Stevens - Stephen A. Rago - - - - - - - - - - - - - PDFKit.NET 4.0.12.0 - - 1.6 - - - -endstream -endobj - -44860 0 obj -<>/Pa12 46017 0 R/A5<>/Pa10 46018 0 R/Pa13 46019 0 R/A3 46020 0 R/A6<>/Pa1+1<>/A7<>/Pa0+1<>>> -endobj - -44861 0 obj -<> -endobj - -44862 0 obj -<

> -endobj - -44863 0 obj -<

> -endobj - -44864 0 obj -<> -endobj - -44865 0 obj -<> -endobj - -44866 0 obj -<> -endobj - -44867 0 obj -<> -endobj - -44868 0 obj -<> -endobj - -44869 0 obj -<> -endobj - -44870 0 obj -<> -endobj - -44871 0 obj -<> -endobj - -44872 0 obj -<> -endobj - -44873 0 obj -<> -endobj - -44874 0 obj -<> -endobj - -44875 0 obj -<> -endobj - -44876 0 obj -<> -endobj - -44877 0 obj -<> -endobj - -44878 0 obj -<> -endobj - -44879 0 obj -<> -endobj - -44880 0 obj -<> -endobj - -44881 0 obj -<> -endobj - -44882 0 obj -<> -endobj - -44883 0 obj -<> -endobj - -44884 0 obj -<> -endobj - -44885 0 obj -<> -endobj - -44886 0 obj -<> -endobj - -44887 0 obj -<> -endobj - -44888 0 obj -<> -endobj - -44889 0 obj -<> -endobj - -44890 0 obj -<> -endobj - -44891 0 obj -<> -endobj - -44892 0 obj -<> -endobj - -44893 0 obj -<> -endobj - -44894 0 obj -<> -endobj - -44895 0 obj -<> -endobj - -44896 0 obj -<

> -endobj - -44897 0 obj -<

> -endobj - -44898 0 obj -<

> -endobj - -44899 0 obj -<

> -endobj - -44900 0 obj -<

> -endobj - -44901 0 obj -<

> -endobj - -44902 0 obj -<

> -endobj - -44903 0 obj -<

> -endobj - -44904 0 obj -<

> -endobj - -44905 0 obj -<

> -endobj - -44906 0 obj -<

> -endobj - -44907 0 obj -<

> -endobj - -44908 0 obj -<

> -endobj - -44909 0 obj -<

> -endobj - -44910 0 obj -<

> -endobj - -44911 0 obj -<

> -endobj - -44912 0 obj -<

> -endobj - -44913 0 obj -<

> -endobj - -44914 0 obj -<

> -endobj - -44915 0 obj -<

> -endobj - -44916 0 obj -<

> -endobj - -44917 0 obj -<

> -endobj - -44918 0 obj -<

> -endobj - -44919 0 obj -<

> -endobj - -44920 0 obj -<

> -endobj - -44921 0 obj -<

> -endobj - -44922 0 obj -<

> -endobj - -44923 0 obj -<

> -endobj - -44924 0 obj -<

> -endobj - -44925 0 obj -<

> -endobj - -44926 0 obj -<

> -endobj - -44927 0 obj -<

> -endobj - -44928 0 obj -<

> -endobj - -44929 0 obj -<

> -endobj - -44930 0 obj -<

> -endobj - -44931 0 obj -<

> -endobj - -44932 0 obj -<

> -endobj - -44933 0 obj -<

> -endobj - -44934 0 obj -<

> -endobj - -44935 0 obj -<

> -endobj - -44936 0 obj -<

> -endobj - -44937 0 obj -<

> -endobj - -44938 0 obj -<

> -endobj - -44939 0 obj -<

> -endobj - -44940 0 obj -<

> -endobj - -44941 0 obj -<

> -endobj - -44942 0 obj -<

> -endobj - -44943 0 obj -<

> -endobj - -44944 0 obj -<

> -endobj - -44945 0 obj -<

> -endobj - -44946 0 obj -<

> -endobj - -44947 0 obj -<

> -endobj - -44948 0 obj -<

> -endobj - -44949 0 obj -<

> -endobj - -44950 0 obj -<

> -endobj - -44951 0 obj -<

> -endobj - -44952 0 obj -<

> -endobj - -44953 0 obj -<

> -endobj - -44954 0 obj -<

> -endobj - -44955 0 obj -<

> -endobj - -44956 0 obj -<

> -endobj - -44957 0 obj -<

> -endobj - -44958 0 obj -<

> -endobj - -44959 0 obj -<

> -endobj - -44960 0 obj -<

> -endobj - -44961 0 obj -<

> -endobj - -44962 0 obj -<

> -endobj - -44963 0 obj -<

> -endobj - -44964 0 obj -<

> -endobj - -44965 0 obj -<

> -endobj - -44966 0 obj -<

> -endobj - -44967 0 obj -<

> -endobj - -44968 0 obj -<

> -endobj - -44969 0 obj -<

> -endobj - -44970 0 obj -<

> -endobj - -44971 0 obj -<

> -endobj - -44972 0 obj -<

> -endobj - -44973 0 obj -<

> -endobj - -44974 0 obj -<

> -endobj - -44975 0 obj -<

> -endobj - -44976 0 obj -<

> -endobj - -44977 0 obj -<

> -endobj - -44978 0 obj -<

> -endobj - -44979 0 obj -<

> -endobj - -44980 0 obj -<

> -endobj - -44981 0 obj -<

> -endobj - -44982 0 obj -<

> -endobj - -44983 0 obj -<

> -endobj - -44984 0 obj -<

> -endobj - -44985 0 obj -<

> -endobj - -44986 0 obj -<

> -endobj - -44987 0 obj -<

> -endobj - -44988 0 obj -<

> -endobj - -44989 0 obj -<

> -endobj - -44990 0 obj -<

> -endobj - -44991 0 obj -<

> -endobj - -44992 0 obj -<

> -endobj - -44993 0 obj -<

> -endobj - -44994 0 obj -<

> -endobj - -44995 0 obj -<

> -endobj - -44996 0 obj -<

> -endobj - -44997 0 obj -<

> -endobj - -44998 0 obj -<

> -endobj - -44999 0 obj -<

> -endobj - -45000 0 obj -<

> -endobj - -45001 0 obj -<

> -endobj - -45002 0 obj -<

> -endobj - -45003 0 obj -<

> -endobj - -45004 0 obj -<

> -endobj - -45005 0 obj -<

> -endobj - -45006 0 obj -<

> -endobj - -45007 0 obj -<

> -endobj - -45008 0 obj -<

> -endobj - -45009 0 obj -<

> -endobj - -45010 0 obj -<

> -endobj - -45011 0 obj -<

> -endobj - -45012 0 obj -<

> -endobj - -45013 0 obj -<

> -endobj - -45014 0 obj -<

> -endobj - -45015 0 obj -<

> -endobj - -45016 0 obj -<

> -endobj - -45017 0 obj -<

> -endobj - -45018 0 obj -<

> -endobj - -45019 0 obj -<

> -endobj - -45020 0 obj -<

> -endobj - -45021 0 obj -<

> -endobj - -45022 0 obj -<

> -endobj - -45023 0 obj -<

> -endobj - -45024 0 obj -<

> -endobj - -45025 0 obj -<

> -endobj - -45026 0 obj -<

> -endobj - -45027 0 obj -<

> -endobj - -45028 0 obj -<

> -endobj - -45029 0 obj -<

> -endobj - -45030 0 obj -<

> -endobj - -45031 0 obj -<

> -endobj - -45032 0 obj -<

> -endobj - -45033 0 obj -<

> -endobj - -45034 0 obj -<

> -endobj - -45035 0 obj -<

> -endobj - -45036 0 obj -<

> -endobj - -45037 0 obj -<

> -endobj - -45038 0 obj -<

> -endobj - -45039 0 obj -<

> -endobj - -45040 0 obj -<

> -endobj - -45041 0 obj -<

> -endobj - -45042 0 obj -<

> -endobj - -45043 0 obj -<

> -endobj - -45044 0 obj -<

> -endobj - -45045 0 obj -<

> -endobj - -45046 0 obj -<

> -endobj - -45047 0 obj -<

> -endobj - -45048 0 obj -<

> -endobj - -45049 0 obj -<

> -endobj - -45050 0 obj -<

> -endobj - -45051 0 obj -<

> -endobj - -45052 0 obj -<

> -endobj - -45053 0 obj -<

> -endobj - -45054 0 obj -<

> -endobj - -45055 0 obj -<

> -endobj - -45056 0 obj -<

> -endobj - -45057 0 obj -<

> -endobj - -45058 0 obj -<

> -endobj - -45059 0 obj -<

> -endobj - -45060 0 obj -<

> -endobj - -45061 0 obj -<

> -endobj - -45062 0 obj -<

> -endobj - -45063 0 obj -<

> -endobj - -45064 0 obj -<

> -endobj - -45065 0 obj -<

> -endobj - -45066 0 obj -<

> -endobj - -45067 0 obj -<

> -endobj - -45068 0 obj -<

> -endobj - -45069 0 obj -<

> -endobj - -45070 0 obj -<

> -endobj - -45071 0 obj -<

> -endobj - -45072 0 obj -<

> -endobj - -45073 0 obj -<

> -endobj - -45074 0 obj -<

> -endobj - -45075 0 obj -<

> -endobj - -45076 0 obj -<

> -endobj - -45077 0 obj -<

> -endobj - -45078 0 obj -<

> -endobj - -45079 0 obj -<

> -endobj - -45080 0 obj -<

> -endobj - -45081 0 obj -<

> -endobj - -45082 0 obj -<

> -endobj - -45083 0 obj -<

> -endobj - -45084 0 obj -<

> -endobj - -45085 0 obj -<

> -endobj - -45086 0 obj -<

> -endobj - -45087 0 obj -<

> -endobj - -45088 0 obj -<

> -endobj - -45089 0 obj -<

> -endobj - -45090 0 obj -<

> -endobj - -45091 0 obj -<

> -endobj - -45092 0 obj -<

> -endobj - -45093 0 obj -<

> -endobj - -45094 0 obj -<

> -endobj - -45095 0 obj -<

> -endobj - -45096 0 obj -<

> -endobj - -45097 0 obj -<

> -endobj - -45098 0 obj -<

> -endobj - -45099 0 obj -<

> -endobj - -45100 0 obj -<

> -endobj - -45101 0 obj -<

> -endobj - -45102 0 obj -<

> -endobj - -45103 0 obj -<

> -endobj - -45104 0 obj -<

> -endobj - -45105 0 obj -<

> -endobj - -45106 0 obj -<

> -endobj - -45107 0 obj -<

> -endobj - -45108 0 obj -<

> -endobj - -45109 0 obj -<

> -endobj - -45110 0 obj -<

> -endobj - -45111 0 obj -<

> -endobj - -45112 0 obj -<

> -endobj - -45113 0 obj -<

> -endobj - -45114 0 obj -<

> -endobj - -45115 0 obj -<

> -endobj - -45116 0 obj -<

> -endobj - -45117 0 obj -<

> -endobj - -45118 0 obj -<

> -endobj - -45119 0 obj -<

> -endobj - -45120 0 obj -<

> -endobj - -45121 0 obj -<

> -endobj - -45122 0 obj -<

> -endobj - -45123 0 obj -<

> -endobj - -45124 0 obj -<

> -endobj - -45125 0 obj -<

> -endobj - -45126 0 obj -<

> -endobj - -45127 0 obj -<

> -endobj - -45128 0 obj -<

> -endobj - -45129 0 obj -<

> -endobj - -45130 0 obj -<

> -endobj - -45131 0 obj -<

> -endobj - -45132 0 obj -<

> -endobj - -45133 0 obj -<

> -endobj - -45134 0 obj -<

> -endobj - -45135 0 obj -<

> -endobj - -45136 0 obj -<

> -endobj - -45137 0 obj -<

> -endobj - -45138 0 obj -<

> -endobj - -45139 0 obj -<

> -endobj - -45140 0 obj -<

> -endobj - -45141 0 obj -<

> -endobj - -45142 0 obj -<

> -endobj - -45143 0 obj -<

> -endobj - -45144 0 obj -<

> -endobj - -45145 0 obj -<

> -endobj - -45146 0 obj -<

> -endobj - -45147 0 obj -<

> -endobj - -45148 0 obj -<

> -endobj - -45149 0 obj -<

> -endobj - -45150 0 obj -<

> -endobj - -45151 0 obj -<

> -endobj - -45152 0 obj -<

> -endobj - -45153 0 obj -<

> -endobj - -45154 0 obj -<

> -endobj - -45155 0 obj -<

> -endobj - -45156 0 obj -<

> -endobj - -45157 0 obj -<

> -endobj - -45158 0 obj -<

> -endobj - -45159 0 obj -<

> -endobj - -45160 0 obj -<

> -endobj - -45161 0 obj -<

> -endobj - -45162 0 obj -<

> -endobj - -45163 0 obj -<

> -endobj - -45164 0 obj -<

> -endobj - -45165 0 obj -<

> -endobj - -45166 0 obj -<

> -endobj - -45167 0 obj -<

> -endobj - -45168 0 obj -<

> -endobj - -45169 0 obj -<

> -endobj - -45170 0 obj -<

> -endobj - -45171 0 obj -<

> -endobj - -45172 0 obj -<

> -endobj - -45173 0 obj -<

> -endobj - -45174 0 obj -<

> -endobj - -45175 0 obj -<

> -endobj - -45176 0 obj -<

> -endobj - -45177 0 obj -<

> -endobj - -45178 0 obj -<

> -endobj - -45179 0 obj -<

> -endobj - -45180 0 obj -<

> -endobj - -45181 0 obj -<

> -endobj - -45182 0 obj -<

> -endobj - -45183 0 obj -<

> -endobj - -45184 0 obj -<

> -endobj - -45185 0 obj -<

> -endobj - -45186 0 obj -<

> -endobj - -45187 0 obj -<

> -endobj - -45188 0 obj -<

> -endobj - -45189 0 obj -<

> -endobj - -45190 0 obj -<

> -endobj - -45191 0 obj -<

> -endobj - -45192 0 obj -<

> -endobj - -45193 0 obj -<

> -endobj - -45194 0 obj -<

> -endobj - -45195 0 obj -<

> -endobj - -45196 0 obj -<

> -endobj - -45197 0 obj -<

> -endobj - -45198 0 obj -<

> -endobj - -45199 0 obj -<

> -endobj - -45200 0 obj -<

> -endobj - -45201 0 obj -<

> -endobj - -45202 0 obj -<

> -endobj - -45203 0 obj -<

> -endobj - -45204 0 obj -<

> -endobj - -45205 0 obj -<

> -endobj - -45206 0 obj -<

> -endobj - -45207 0 obj -<

> -endobj - -45208 0 obj -<

> -endobj - -45209 0 obj -<

> -endobj - -45210 0 obj -<

> -endobj - -45211 0 obj -<

> -endobj - -45212 0 obj -<

> -endobj - -45213 0 obj -<

> -endobj - -45214 0 obj -<

> -endobj - -45215 0 obj -<

> -endobj - -45216 0 obj -<

> -endobj - -45217 0 obj -<

> -endobj - -45218 0 obj -<

> -endobj - -45219 0 obj -<

> -endobj - -45220 0 obj -<

> -endobj - -45221 0 obj -<

> -endobj - -45222 0 obj -<

> -endobj - -45223 0 obj -<

> -endobj - -45224 0 obj -<

> -endobj - -45225 0 obj -<

> -endobj - -45226 0 obj -<

> -endobj - -45227 0 obj -<

> -endobj - -45228 0 obj -<

> -endobj - -45229 0 obj -<

> -endobj - -45230 0 obj -<

> -endobj - -45231 0 obj -<

> -endobj - -45232 0 obj -<

> -endobj - -45233 0 obj -<

> -endobj - -45234 0 obj -<

> -endobj - -45235 0 obj -<

> -endobj - -45236 0 obj -<

> -endobj - -45237 0 obj -<

> -endobj - -45238 0 obj -<

> -endobj - -45239 0 obj -<

> -endobj - -45240 0 obj -<

> -endobj - -45241 0 obj -<

> -endobj - -45242 0 obj -<

> -endobj - -45243 0 obj -<

> -endobj - -45244 0 obj -<

> -endobj - -45245 0 obj -<

> -endobj - -45246 0 obj -<

> -endobj - -45247 0 obj -<

> -endobj - -45248 0 obj -<

> -endobj - -45249 0 obj -<

> -endobj - -45250 0 obj -<

> -endobj - -45251 0 obj -<

> -endobj - -45252 0 obj -<

> -endobj - -45253 0 obj -<

> -endobj - -45254 0 obj -<

> -endobj - -45255 0 obj -<

> -endobj - -45256 0 obj -<

> -endobj - -45257 0 obj -<

> -endobj - -45258 0 obj -<

> -endobj - -45259 0 obj -<

> -endobj - -45260 0 obj -<

> -endobj - -45261 0 obj -<

> -endobj - -45262 0 obj -<

> -endobj - -45263 0 obj -<

> -endobj - -45264 0 obj -<

> -endobj - -45265 0 obj -<

> -endobj - -45266 0 obj -<

> -endobj - -45267 0 obj -<

> -endobj - -45268 0 obj -<

> -endobj - -45269 0 obj -<

> -endobj - -45270 0 obj -<

> -endobj - -45271 0 obj -<

> -endobj - -45272 0 obj -<

> -endobj - -45273 0 obj -<

> -endobj - -45274 0 obj -<

> -endobj - -45275 0 obj -<

> -endobj - -45276 0 obj -<

> -endobj - -45277 0 obj -<

> -endobj - -45278 0 obj -<

> -endobj - -45279 0 obj -<

> -endobj - -45280 0 obj -<

> -endobj - -45281 0 obj -<

> -endobj - -45282 0 obj -<

> -endobj - -45283 0 obj -<

> -endobj - -45284 0 obj -<

> -endobj - -45285 0 obj -<

> -endobj - -45286 0 obj -<

> -endobj - -45287 0 obj -<

> -endobj - -45288 0 obj -<

> -endobj - -45289 0 obj -<

> -endobj - -45290 0 obj -<

> -endobj - -45291 0 obj -<

> -endobj - -45292 0 obj -<

> -endobj - -45293 0 obj -<

> -endobj - -45294 0 obj -<

> -endobj - -45295 0 obj -<

> -endobj - -45296 0 obj -<

> -endobj - -45297 0 obj -<

> -endobj - -45298 0 obj -<

> -endobj - -45299 0 obj -<

> -endobj - -45300 0 obj -<

> -endobj - -45301 0 obj -<

> -endobj - -45302 0 obj -<

> -endobj - -45303 0 obj -<

> -endobj - -45304 0 obj -<

> -endobj - -45305 0 obj -<

> -endobj - -45306 0 obj -<

> -endobj - -45307 0 obj -<

> -endobj - -45308 0 obj -<

> -endobj - -45309 0 obj -<

> -endobj - -45310 0 obj -<

> -endobj - -45311 0 obj -<

> -endobj - -45312 0 obj -<

> -endobj - -45313 0 obj -<

> -endobj - -45314 0 obj -<

> -endobj - -45315 0 obj -<

> -endobj - -45316 0 obj -<

> -endobj - -45317 0 obj -<

> -endobj - -45318 0 obj -<

> -endobj - -45319 0 obj -<

> -endobj - -45320 0 obj -<

> -endobj - -45321 0 obj -<

> -endobj - -45322 0 obj -<

> -endobj - -45323 0 obj -<

> -endobj - -45324 0 obj -<

> -endobj - -45325 0 obj -<

> -endobj - -45326 0 obj -<

> -endobj - -45327 0 obj -<

> -endobj - -45328 0 obj -<

> -endobj - -45329 0 obj -<

> -endobj - -45330 0 obj -<

> -endobj - -45331 0 obj -<

> -endobj - -45332 0 obj -<

> -endobj - -45333 0 obj -<

> -endobj - -45334 0 obj -<

> -endobj - -45335 0 obj -<

> -endobj - -45336 0 obj -<

> -endobj - -45337 0 obj -<

> -endobj - -45338 0 obj -<

> -endobj - -45339 0 obj -<

> -endobj - -45340 0 obj -<

> -endobj - -45341 0 obj -<

> -endobj - -45342 0 obj -<

> -endobj - -45343 0 obj -<

> -endobj - -45344 0 obj -<

> -endobj - -45345 0 obj -<

> -endobj - -45346 0 obj -<

> -endobj - -45347 0 obj -<

> -endobj - -45348 0 obj -<

> -endobj - -45349 0 obj -<

> -endobj - -45350 0 obj -<

> -endobj - -45351 0 obj -<

> -endobj - -45352 0 obj -<

> -endobj - -45353 0 obj -<

> -endobj - -45354 0 obj -<

> -endobj - -45355 0 obj -<

> -endobj - -45356 0 obj -<

> -endobj - -45357 0 obj -<

> -endobj - -45358 0 obj -<

> -endobj - -45359 0 obj -<

> -endobj - -45360 0 obj -<

> -endobj - -45361 0 obj -<

> -endobj - -45362 0 obj -<

> -endobj - -45363 0 obj -<

> -endobj - -45364 0 obj -<

> -endobj - -45365 0 obj -<

> -endobj - -45366 0 obj -<

> -endobj - -45367 0 obj -<

> -endobj - -45368 0 obj -<

> -endobj - -45369 0 obj -<

> -endobj - -45370 0 obj -<

> -endobj - -45371 0 obj -<

> -endobj - -45372 0 obj -<

> -endobj - -45373 0 obj -<

> -endobj - -45374 0 obj -<

> -endobj - -45375 0 obj -<

> -endobj - -45376 0 obj -<

> -endobj - -45377 0 obj -<

> -endobj - -45378 0 obj -<

> -endobj - -45379 0 obj -<

> -endobj - -45380 0 obj -<

> -endobj - -45381 0 obj -<

> -endobj - -45382 0 obj -<

> -endobj - -45383 0 obj -<

> -endobj - -45384 0 obj -<

> -endobj - -45385 0 obj -<

> -endobj - -45386 0 obj -<

> -endobj - -45387 0 obj -<

> -endobj - -45388 0 obj -<

> -endobj - -45389 0 obj -<

> -endobj - -45390 0 obj -<

> -endobj - -45391 0 obj -<

> -endobj - -45392 0 obj -<

> -endobj - -45393 0 obj -<

> -endobj - -45394 0 obj -<

> -endobj - -45395 0 obj -<

> -endobj - -45396 0 obj -<

> -endobj - -45397 0 obj -<

> -endobj - -45398 0 obj -<

> -endobj - -45399 0 obj -<

> -endobj - -45400 0 obj -<

> -endobj - -45401 0 obj -<

> -endobj - -45402 0 obj -<

> -endobj - -45403 0 obj -<

> -endobj - -45404 0 obj -<

> -endobj - -45405 0 obj -<

> -endobj - -45406 0 obj -<

> -endobj - -45407 0 obj -<

> -endobj - -45408 0 obj -<

> -endobj - -45409 0 obj -<

> -endobj - -45410 0 obj -<

> -endobj - -45411 0 obj -<

> -endobj - -45412 0 obj -<

> -endobj - -45413 0 obj -<

> -endobj - -45414 0 obj -<

> -endobj - -45415 0 obj -<

> -endobj - -45416 0 obj -<

> -endobj - -45417 0 obj -<

> -endobj - -45418 0 obj -<

> -endobj - -45419 0 obj -<

> -endobj - -45420 0 obj -<

> -endobj - -45421 0 obj -<

> -endobj - -45422 0 obj -<

> -endobj - -45423 0 obj -<

> -endobj - -45424 0 obj -<

> -endobj - -45425 0 obj -<

> -endobj - -45426 0 obj -<

> -endobj - -45427 0 obj -<

> -endobj - -45428 0 obj -<

> -endobj - -45429 0 obj -<

> -endobj - -45430 0 obj -<

> -endobj - -45431 0 obj -<

> -endobj - -45432 0 obj -<

> -endobj - -45433 0 obj -<

> -endobj - -45434 0 obj -<

> -endobj - -45435 0 obj -<

> -endobj - -45436 0 obj -<

> -endobj - -45437 0 obj -<

> -endobj - -45438 0 obj -<

> -endobj - -45439 0 obj -<

> -endobj - -45440 0 obj -<

> -endobj - -45441 0 obj -<

> -endobj - -45442 0 obj -<

> -endobj - -45443 0 obj -<

> -endobj - -45444 0 obj -<

> -endobj - -45445 0 obj -<

> -endobj - -45446 0 obj -<

> -endobj - -45447 0 obj -<

> -endobj - -45448 0 obj -<

> -endobj - -45449 0 obj -<

> -endobj - -45450 0 obj -<

> -endobj - -45451 0 obj -<

> -endobj - -45452 0 obj -<

> -endobj - -45453 0 obj -<

> -endobj - -45454 0 obj -<

> -endobj - -45455 0 obj -<

> -endobj - -45456 0 obj -<

> -endobj - -45457 0 obj -<

> -endobj - -45458 0 obj -<

> -endobj - -45459 0 obj -<

> -endobj - -45460 0 obj -<

> -endobj - -45461 0 obj -<

> -endobj - -45462 0 obj -<

> -endobj - -45463 0 obj -<

> -endobj - -45464 0 obj -<

> -endobj - -45465 0 obj -<

> -endobj - -45466 0 obj -<

> -endobj - -45467 0 obj -<

> -endobj - -45468 0 obj -<

> -endobj - -45469 0 obj -<

> -endobj - -45470 0 obj -<

> -endobj - -45471 0 obj -<

> -endobj - -45472 0 obj -<

> -endobj - -45473 0 obj -<

> -endobj - -45474 0 obj -<

> -endobj - -45475 0 obj -<

> -endobj - -45476 0 obj -<

> -endobj - -45477 0 obj -<

> -endobj - -45478 0 obj -<

> -endobj - -45479 0 obj -<

> -endobj - -45480 0 obj -<

> -endobj - -45481 0 obj -<

> -endobj - -45482 0 obj -<

> -endobj - -45483 0 obj -<

> -endobj - -45484 0 obj -<

> -endobj - -45485 0 obj -<

> -endobj - -45486 0 obj -<

> -endobj - -45487 0 obj -<

> -endobj - -45488 0 obj -<

> -endobj - -45489 0 obj -<

> -endobj - -45490 0 obj -<

> -endobj - -45491 0 obj -<

> -endobj - -45492 0 obj -<

> -endobj - -45493 0 obj -<

> -endobj - -45494 0 obj -<

> -endobj - -45495 0 obj -<

> -endobj - -45496 0 obj -<

> -endobj - -45497 0 obj -<

> -endobj - -45498 0 obj -<

> -endobj - -45499 0 obj -<

> -endobj - -45500 0 obj -<

> -endobj - -45501 0 obj -<

> -endobj - -45502 0 obj -<

> -endobj - -45503 0 obj -<

> -endobj - -45504 0 obj -<

> -endobj - -45505 0 obj -<

> -endobj - -45506 0 obj -<

> -endobj - -45507 0 obj -<

> -endobj - -45508 0 obj -<

> -endobj - -45509 0 obj -<

> -endobj - -45510 0 obj -<

> -endobj - -45511 0 obj -<

> -endobj - -45512 0 obj -<

> -endobj - -45513 0 obj -<

> -endobj - -45514 0 obj -<

> -endobj - -45515 0 obj -<

> -endobj - -45516 0 obj -<

> -endobj - -45517 0 obj -<

> -endobj - -45518 0 obj -<

> -endobj - -45519 0 obj -<

> -endobj - -45520 0 obj -<

> -endobj - -45521 0 obj -<

> -endobj - -45522 0 obj -<

> -endobj - -45523 0 obj -<

> -endobj - -45524 0 obj -<

> -endobj - -45525 0 obj -<

> -endobj - -45526 0 obj -<

> -endobj - -45527 0 obj -<

> -endobj - -45528 0 obj -<

> -endobj - -45529 0 obj -<

> -endobj - -45530 0 obj -<

> -endobj - -45531 0 obj -<

> -endobj - -45532 0 obj -<

> -endobj - -45533 0 obj -<

> -endobj - -45534 0 obj -<

> -endobj - -45535 0 obj -<

> -endobj - -45536 0 obj -<

> -endobj - -45537 0 obj -<

> -endobj - -45538 0 obj -<

> -endobj - -45539 0 obj -<

> -endobj - -45540 0 obj -<

> -endobj - -45541 0 obj -<

> -endobj - -45542 0 obj -<

> -endobj - -45543 0 obj -<

> -endobj - -45544 0 obj -<

> -endobj - -45545 0 obj -<

> -endobj - -45546 0 obj -<

> -endobj - -45547 0 obj -<

> -endobj - -45548 0 obj -<

> -endobj - -45549 0 obj -<

> -endobj - -45550 0 obj -<

> -endobj - -45551 0 obj -<

> -endobj - -45552 0 obj -<

> -endobj - -45553 0 obj -<

> -endobj - -45554 0 obj -<

> -endobj - -45555 0 obj -<

> -endobj - -45556 0 obj -<

> -endobj - -45557 0 obj -<

> -endobj - -45558 0 obj -<

> -endobj - -45559 0 obj -<

> -endobj - -45560 0 obj -<

> -endobj - -45561 0 obj -<

> -endobj - -45562 0 obj -<

> -endobj - -45563 0 obj -<

> -endobj - -45564 0 obj -<

> -endobj - -45565 0 obj -<

> -endobj - -45566 0 obj -<

> -endobj - -45567 0 obj -<

> -endobj - -45568 0 obj -<

> -endobj - -45569 0 obj -<

> -endobj - -45570 0 obj -<

> -endobj - -45571 0 obj -<

> -endobj - -45572 0 obj -<

> -endobj - -45573 0 obj -<

> -endobj - -45574 0 obj -<

> -endobj - -45575 0 obj -<

> -endobj - -45576 0 obj -<

> -endobj - -45577 0 obj -<

> -endobj - -45578 0 obj -<

> -endobj - -45579 0 obj -<

> -endobj - -45580 0 obj -<

> -endobj - -45581 0 obj -<

> -endobj - -45582 0 obj -<

> -endobj - -45583 0 obj -<

> -endobj - -45584 0 obj -<

> -endobj - -45585 0 obj -<

> -endobj - -45586 0 obj -<

> -endobj - -45587 0 obj -<

> -endobj - -45588 0 obj -<

> -endobj - -45589 0 obj -<

> -endobj - -45590 0 obj -<

> -endobj - -45591 0 obj -<

> -endobj - -45592 0 obj -<

> -endobj - -45593 0 obj -<

> -endobj - -45594 0 obj -<

> -endobj - -45595 0 obj -<

> -endobj - -45596 0 obj -<

> -endobj - -45597 0 obj -<

> -endobj - -45598 0 obj -<

> -endobj - -45599 0 obj -<

> -endobj - -45600 0 obj -<

> -endobj - -45601 0 obj -<

> -endobj - -45602 0 obj -<

> -endobj - -45603 0 obj -<

> -endobj - -45604 0 obj -<

> -endobj - -45605 0 obj -<

> -endobj - -45606 0 obj -<

> -endobj - -45607 0 obj -<

> -endobj - -45608 0 obj -<

> -endobj - -45609 0 obj -<

> -endobj - -45610 0 obj -<

> -endobj - -45611 0 obj -<

> -endobj - -45612 0 obj -<

> -endobj - -45613 0 obj -<

> -endobj - -45614 0 obj -<

> -endobj - -45615 0 obj -<

> -endobj - -45616 0 obj -<

> -endobj - -45617 0 obj -<

> -endobj - -45618 0 obj -<

> -endobj - -45619 0 obj -<

> -endobj - -45620 0 obj -<

> -endobj - -45621 0 obj -<

> -endobj - -45622 0 obj -<

> -endobj - -45623 0 obj -<

> -endobj - -45624 0 obj -<

> -endobj - -45625 0 obj -<

> -endobj - -45626 0 obj -<

> -endobj - -45627 0 obj -<

> -endobj - -45628 0 obj -<

> -endobj - -45629 0 obj -<

> -endobj - -45630 0 obj -<

> -endobj - -45631 0 obj -<

> -endobj - -45632 0 obj -<

> -endobj - -45633 0 obj -<

> -endobj - -45634 0 obj -<

> -endobj - -45635 0 obj -<

> -endobj - -45636 0 obj -<

> -endobj - -45637 0 obj -<

> -endobj - -45638 0 obj -<

> -endobj - -45639 0 obj -<

> -endobj - -45640 0 obj -<

> -endobj - -45641 0 obj -<

> -endobj - -45642 0 obj -<

> -endobj - -45643 0 obj -<

> -endobj - -45644 0 obj -<

> -endobj - -45645 0 obj -<

> -endobj - -45646 0 obj -<

> -endobj - -45647 0 obj -<

> -endobj - -45648 0 obj -<

> -endobj - -45649 0 obj -<

> -endobj - -45650 0 obj -<

> -endobj - -45651 0 obj -<

> -endobj - -45652 0 obj -<

> -endobj - -45653 0 obj -<

> -endobj - -45654 0 obj -<

> -endobj - -45655 0 obj -<

> -endobj - -45656 0 obj -<

> -endobj - -45657 0 obj -<

> -endobj - -45658 0 obj -<

> -endobj - -45659 0 obj -<

> -endobj - -45660 0 obj -<

> -endobj - -45661 0 obj -<

> -endobj - -45662 0 obj -<

> -endobj - -45663 0 obj -<

> -endobj - -45664 0 obj -<

> -endobj - -45665 0 obj -<

> -endobj - -45666 0 obj -<

> -endobj - -45667 0 obj -<

> -endobj - -45668 0 obj -<

> -endobj - -45669 0 obj -<

> -endobj - -45670 0 obj -<

> -endobj - -45671 0 obj -<

> -endobj - -45672 0 obj -<

> -endobj - -45673 0 obj -<

> -endobj - -45674 0 obj -<

> -endobj - -45675 0 obj -<

> -endobj - -45676 0 obj -<

> -endobj - -45677 0 obj -<

> -endobj - -45678 0 obj -<

> -endobj - -45679 0 obj -<

> -endobj - -45680 0 obj -<

> -endobj - -45681 0 obj -<

> -endobj - -45682 0 obj -<

> -endobj - -45683 0 obj -<

> -endobj - -45684 0 obj -<

> -endobj - -45685 0 obj -<

> -endobj - -45686 0 obj -<

> -endobj - -45687 0 obj -<

> -endobj - -45688 0 obj -<

> -endobj - -45689 0 obj -<

> -endobj - -45690 0 obj -<

> -endobj - -45691 0 obj -<

> -endobj - -45692 0 obj -<

> -endobj - -45693 0 obj -<

> -endobj - -45694 0 obj -<

> -endobj - -45695 0 obj -<

> -endobj - -45696 0 obj -<

> -endobj - -45697 0 obj -<

> -endobj - -45698 0 obj -<

> -endobj - -45699 0 obj -<

> -endobj - -45700 0 obj -<

> -endobj - -45701 0 obj -<

> -endobj - -45702 0 obj -<

> -endobj - -45703 0 obj -<

> -endobj - -45704 0 obj -<

> -endobj - -45705 0 obj -<

> -endobj - -45706 0 obj -<

> -endobj - -45707 0 obj -<

> -endobj - -45708 0 obj -<

> -endobj - -45709 0 obj -<

> -endobj - -45710 0 obj -<

> -endobj - -45711 0 obj -<

> -endobj - -45712 0 obj -<

> -endobj - -45713 0 obj -<

> -endobj - -45714 0 obj -<

> -endobj - -45715 0 obj -<

> -endobj - -45716 0 obj -<

> -endobj - -45717 0 obj -<

> -endobj - -45718 0 obj -<

> -endobj - -45719 0 obj -<

> -endobj - -45720 0 obj -<

> -endobj - -45721 0 obj -<

> -endobj - -45722 0 obj -<

> -endobj - -45723 0 obj -<

> -endobj - -45724 0 obj -<

> -endobj - -45725 0 obj -<

> -endobj - -45726 0 obj -<

> -endobj - -45727 0 obj -<

> -endobj - -45728 0 obj -<

> -endobj - -45729 0 obj -<

> -endobj - -45730 0 obj -<

> -endobj - -45731 0 obj -<

> -endobj - -45732 0 obj -<

> -endobj - -45733 0 obj -<

> -endobj - -45734 0 obj -<

> -endobj - -45735 0 obj -<

> -endobj - -45736 0 obj -<

> -endobj - -45737 0 obj -<

> -endobj - -45738 0 obj -<

> -endobj - -45739 0 obj -<

> -endobj - -45740 0 obj -<

> -endobj - -45741 0 obj -<

> -endobj - -45742 0 obj -<

> -endobj - -45743 0 obj -<

> -endobj - -45744 0 obj -<

> -endobj - -45745 0 obj -<

> -endobj - -45746 0 obj -<

> -endobj - -45747 0 obj -<

> -endobj - -45748 0 obj -<

> -endobj - -45749 0 obj -<

> -endobj - -45750 0 obj -<

> -endobj - -45751 0 obj -<

> -endobj - -45752 0 obj -<

> -endobj - -45753 0 obj -<

> -endobj - -45754 0 obj -<

> -endobj - -45755 0 obj -<

> -endobj - -45756 0 obj -<

> -endobj - -45757 0 obj -<

> -endobj - -45758 0 obj -<

> -endobj - -45759 0 obj -<

> -endobj - -45760 0 obj -<

> -endobj - -45761 0 obj -<

> -endobj - -45762 0 obj -<

> -endobj - -45763 0 obj -<

> -endobj - -45764 0 obj -<

> -endobj - -45765 0 obj -<

> -endobj - -45766 0 obj -<

> -endobj - -45767 0 obj -<

> -endobj - -45768 0 obj -<

> -endobj - -45769 0 obj -<

> -endobj - -45770 0 obj -<

> -endobj - -45771 0 obj -<

> -endobj - -45772 0 obj -<

> -endobj - -45773 0 obj -<

> -endobj - -45774 0 obj -<

> -endobj - -45775 0 obj -<

> -endobj - -45776 0 obj -<

> -endobj - -45777 0 obj -<

> -endobj - -45778 0 obj -<

> -endobj - -45779 0 obj -<

> -endobj - -45780 0 obj -<

> -endobj - -45781 0 obj -<

> -endobj - -45782 0 obj -<

> -endobj - -45783 0 obj -<

> -endobj - -45784 0 obj -<

> -endobj - -45785 0 obj -<

> -endobj - -45786 0 obj -<

> -endobj - -45787 0 obj -<

> -endobj - -45788 0 obj -<

> -endobj - -45789 0 obj -<

> -endobj - -45790 0 obj -<

> -endobj - -45791 0 obj -<

> -endobj - -45792 0 obj -<

> -endobj - -45793 0 obj -<

> -endobj - -45794 0 obj -<

> -endobj - -45795 0 obj -<

> -endobj - -45796 0 obj -<

> -endobj - -45797 0 obj -<

> -endobj - -45798 0 obj -<

> -endobj - -45799 0 obj -<

> -endobj - -45800 0 obj -<

> -endobj - -45801 0 obj -<

> -endobj - -45802 0 obj -<

> -endobj - -45803 0 obj -<

> -endobj - -45804 0 obj -<

> -endobj - -45805 0 obj -<

> -endobj - -45806 0 obj -<

> -endobj - -45807 0 obj -<

> -endobj - -45808 0 obj -<

> -endobj - -45809 0 obj -<

> -endobj - -45810 0 obj -<

> -endobj - -45811 0 obj -<

> -endobj - -45812 0 obj -<

> -endobj - -45813 0 obj -<

> -endobj - -45814 0 obj -<

> -endobj - -45815 0 obj -<

> -endobj - -45816 0 obj -<

> -endobj - -45817 0 obj -<

> -endobj - -45818 0 obj -<

> -endobj - -45819 0 obj -<

> -endobj - -45820 0 obj -<

> -endobj - -45821 0 obj -<

> -endobj - -45822 0 obj -<

> -endobj - -45823 0 obj -<

> -endobj - -45824 0 obj -<

> -endobj - -45825 0 obj -<

> -endobj - -45826 0 obj -<

> -endobj - -45827 0 obj -<

> -endobj - -45828 0 obj -<

> -endobj - -45829 0 obj -<

> -endobj - -45830 0 obj -<

> -endobj - -45831 0 obj -<

> -endobj - -45832 0 obj -<

> -endobj - -45833 0 obj -<

> -endobj - -45834 0 obj -<

> -endobj - -45835 0 obj -<

> -endobj - -45836 0 obj -<

> -endobj - -45837 0 obj -<

> -endobj - -45838 0 obj -<

> -endobj - -45839 0 obj -<

> -endobj - -45840 0 obj -<

> -endobj - -45841 0 obj -<

> -endobj - -45842 0 obj -<

> -endobj - -45843 0 obj -<

> -endobj - -45844 0 obj -<

> -endobj - -45845 0 obj -<

> -endobj - -45846 0 obj -<

> -endobj - -45847 0 obj -<

> -endobj - -45848 0 obj -<

> -endobj - -45849 0 obj -<

> -endobj - -45850 0 obj -<

> -endobj - -45851 0 obj -<

> -endobj - -45852 0 obj -<

> -endobj - -45853 0 obj -<

> -endobj - -45854 0 obj -<

> -endobj - -45855 0 obj -<

> -endobj - -45856 0 obj -<

> -endobj - -45857 0 obj -<

> -endobj - -45858 0 obj -<

> -endobj - -45859 0 obj -<

> -endobj - -45860 0 obj -<

> -endobj - -45861 0 obj -<

> -endobj - -45862 0 obj -<

> -endobj - -45863 0 obj -<

> -endobj - -45864 0 obj -<

> -endobj - -45865 0 obj -<

> -endobj - -45866 0 obj -<

> -endobj - -45867 0 obj -<

> -endobj - -45868 0 obj -<

> -endobj - -45869 0 obj -<

> -endobj - -45870 0 obj -<

> -endobj - -45871 0 obj -<

> -endobj - -45872 0 obj -<

> -endobj - -45873 0 obj -<

> -endobj - -45874 0 obj -<

> -endobj - -45875 0 obj -<

> -endobj - -45876 0 obj -<

> -endobj - -45877 0 obj -<

> -endobj - -45878 0 obj -<

> -endobj - -45879 0 obj -<

> -endobj - -45880 0 obj -<

> -endobj - -45881 0 obj -<

> -endobj - -45882 0 obj -<

> -endobj - -45883 0 obj -<

> -endobj - -45884 0 obj -<

> -endobj - -45885 0 obj -<

> -endobj - -45886 0 obj -<

> -endobj - -45887 0 obj -<

> -endobj - -45888 0 obj -<

> -endobj - -45889 0 obj -<

> -endobj - -45890 0 obj -<

> -endobj - -45891 0 obj -<

> -endobj - -45892 0 obj -<

> -endobj - -45893 0 obj -<

> -endobj - -45894 0 obj -<

> -endobj - -45895 0 obj -<

> -endobj - -45896 0 obj -<

> -endobj - -45897 0 obj -<

> -endobj - -45898 0 obj -<

> -endobj - -45899 0 obj -<

> -endobj - -45900 0 obj -<

> -endobj - -45901 0 obj -<

> -endobj - -45902 0 obj -<

> -endobj - -45903 0 obj -<

> -endobj - -45904 0 obj -<

> -endobj - -45905 0 obj -<

> -endobj - -45906 0 obj -<

> -endobj - -45907 0 obj -<

> -endobj - -45908 0 obj -<

> -endobj - -45909 0 obj -<

> -endobj - -45910 0 obj -<

> -endobj - -45911 0 obj -<

> -endobj - -45912 0 obj -<

> -endobj - -45913 0 obj -<

> -endobj - -45914 0 obj -<

> -endobj - -45915 0 obj -<

> -endobj - -45916 0 obj -<
> -endobj - -45917 0 obj -<

> -endobj - -45918 0 obj -<

> -endobj - -45919 0 obj -<

> -endobj - -45920 0 obj -<

> -endobj - -45921 0 obj -<

> -endobj - -45922 0 obj -<

> -endobj - -45923 0 obj -</Pg 7 0 R/S/Span/K 24/P 45922 0 R>> -endobj - -45924 0 obj -<

> -endobj - -45925 0 obj -<

> -endobj - -45926 0 obj -</Pg 7 0 R/S/Span/K 31/P 45924 0 R>> -endobj - -45927 0 obj -<

> -endobj - -45928 0 obj -<

> -endobj - -45929 0 obj -<

> -endobj - -45930 0 obj -<

> -endobj - -45931 0 obj -</Pg 8 0 R/S/Span/K 45/P 45929 0 R>> -endobj - -45932 0 obj -<

> -endobj - -45933 0 obj -<

> -endobj - -45934 0 obj -<

> -endobj - -45935 0 obj -</Pg 8 0 R/S/Span/K 55/P 45933 0 R>> -endobj - -45936 0 obj -<

> -endobj - -45937 0 obj -<

> -endobj - -45938 0 obj -<

> -endobj - -45939 0 obj -<

> -endobj - -45940 0 obj -<> -endobj - -45941 0 obj -</Pg 9 0 R/S/Span/K 70/P 45940 0 R>> -endobj - -45942 0 obj -<> -endobj - -45943 0 obj -<> -endobj - -45944 0 obj -<

> -endobj - -45945 0 obj -<

> -endobj - -45946 0 obj -<

> -endobj - -45947 0 obj -<
> -endobj - -45948 0 obj -<
> -endobj - -45949 0 obj -<
> -endobj - -45950 0 obj -<> -endobj - -45951 0 obj -<> -endobj - -45952 0 obj -<

> -endobj - -45953 0 obj -<

> -endobj - -45954 0 obj -<> -endobj - -45955 0 obj -<> -endobj - -45956 0 obj -<> -endobj - -45957 0 obj -<

> -endobj - -45958 0 obj -<> -endobj - -45959 0 obj -<> -endobj - -45960 0 obj -<

> -endobj - -45961 0 obj -<

> -endobj - -45962 0 obj -<> -endobj - -45963 0 obj -<> -endobj - -45964 0 obj -<> -endobj - -45965 0 obj -<> -endobj - -45966 0 obj -<> -endobj - -45967 0 obj -<> -endobj - -45968 0 obj -<> -endobj - -45969 0 obj -<> -endobj - -45970 0 obj -<

> -endobj - -45971 0 obj -<

> -endobj - -45972 0 obj -<

> -endobj - -45973 0 obj -<

> -endobj - -45974 0 obj -<

> -endobj - -45975 0 obj -<

> -endobj - -45976 0 obj -<

> -endobj - -45977 0 obj -<

> -endobj - -45978 0 obj -<> -endobj - -45979 0 obj -<> -endobj - -45980 0 obj -</Pg 13335 0 R/S/Span/K 21/P 45976 0 R>> -endobj - -45981 0 obj -</Pg 13335 0 R/S/Span/K 23/P 45976 0 R>> -endobj - -45982 0 obj -<> -endobj - -45983 0 obj -<> -endobj - -45984 0 obj -<

> -endobj - -45985 0 obj -</K 14/Pg 13335 0 R>> -endobj - -45986 0 obj -<

> -endobj - -45987 0 obj -<

> -endobj - -45988 0 obj -<

> -endobj - -45989 0 obj -<

> -endobj - -45990 0 obj -<

> -endobj - -45991 0 obj -<

> -endobj - -45992 0 obj -<

> -endobj - -45993 0 obj -<

> -endobj - -45994 0 obj -</K 8/Pg 13335 0 R>> -endobj - -45995 0 obj -<

> -endobj - -45996 0 obj -<> -endobj - -45997 0 obj -<

> -endobj - -45998 0 obj -<

> -endobj - -45999 0 obj -<

> -endobj - -46000 0 obj -<> -endobj - -46001 0 obj -<

> -endobj - -46002 0 obj -<

> -endobj - -46003 0 obj -</K 28/Pg 13335 0 R>> -endobj - -46004 0 obj -<

> -endobj - -46005 0 obj -<

> -endobj - -46006 0 obj -<

> -endobj - -46007 0 obj -</K 32/Pg 13335 0 R>> -endobj - -46008 0 obj -<

> -endobj - -46009 0 obj -<> -endobj - -46010 0 obj -<> -endobj - -46011 0 obj -<> -endobj - -46012 0 obj -<> -endobj - -46013 0 obj -<> -endobj - -46014 0 obj -<> -endobj - -46015 0 obj -<> -endobj - -46016 0 obj -<> -endobj - -46017 0 obj -<> -endobj - -46018 0 obj -<> -endobj - -46019 0 obj -<> -endobj - -46020 0 obj -<> -endobj - -46021 0 obj -<> -endobj - -46022 0 obj -<> -endobj - -46023 0 obj -<> -endobj - -46024 0 obj -<> -endobj - -46025 0 obj -<> -endobj - -46026 0 obj -<> -endobj - -46027 0 obj -<> -endobj - -46028 0 obj -<> -endobj - -46029 0 obj -<> -endobj - -46030 0 obj -<> -endobj - -46031 0 obj -<> -endobj - -46032 0 obj -<> -endobj - -46033 0 obj -<> -endobj - -46034 0 obj -<> -endobj - -46035 0 obj -<> -endobj - -46036 0 obj -<> -endobj - -46037 0 obj -<> -endobj - -46038 0 obj -<> -endobj - -46039 0 obj -<> -endobj - -46040 0 obj -<> -endobj - -46041 0 obj -<> -endobj - -46042 0 obj -<> -endobj - -46043 0 obj -<> -endobj - -46044 0 obj -<> -endobj - -46045 0 obj -<> -endobj - -46046 0 obj -<> -endobj - -46047 0 obj -<> -endobj - -46048 0 obj -<> -endobj - -46049 0 obj -<> -endobj - -46050 0 obj -<> -endobj - -46051 0 obj -<> -endobj - -46052 0 obj -<> -endobj - -46053 0 obj -<> -endobj - -46054 0 obj -<> -endobj - -46055 0 obj -<> -endobj - -46056 0 obj -<> -endobj - -46057 0 obj -<> -endobj - -46058 0 obj -<> -endobj - -46059 0 obj -<> -endobj - -46060 0 obj -<> -endobj - -46061 0 obj -<
> -endobj - -46062 0 obj -<
> -endobj - -46063 0 obj -<
> -endobj - -46064 0 obj -<> -endobj - -46065 0 obj -<> -endobj - -46066 0 obj -<> -endobj - -46067 0 obj -<> -endobj - -46068 0 obj -<> -endobj - -46069 0 obj -<> -endobj - -46070 0 obj -<> -endobj - -46071 0 obj -<> -endobj - -46072 0 obj -<> -endobj - -46073 0 obj -<> -endobj - -46074 0 obj -<> -endobj - -46075 0 obj -<> -endobj - -46076 0 obj -<> -endobj - -46077 0 obj -<> -endobj - -46078 0 obj -<> -endobj - -46079 0 obj -<> -endobj - -46080 0 obj -<> -endobj - -46081 0 obj -<> -endobj - -46082 0 obj -<> -endobj - -46083 0 obj -<> -endobj - -46084 0 obj -<> -endobj - -46085 0 obj -<> -endobj - -46086 0 obj -<> -endobj - -46087 0 obj -<> -endobj - -46088 0 obj -<> -endobj - -46089 0 obj -<> -endobj - -46090 0 obj -<> -endobj - -46091 0 obj -<> -endobj - -46092 0 obj -<> -endobj - -46093 0 obj -<> -endobj - -46094 0 obj -<> -endobj - -46095 0 obj -<> -endobj - -46096 0 obj -<> -endobj - -46097 0 obj -<> -endobj - -46098 0 obj -<> -endobj - -46099 0 obj -<> -endobj - -46100 0 obj -<> -endobj - -46101 0 obj -<> -endobj - -46102 0 obj -<> -endobj - -46103 0 obj -<> -endobj - -46104 0 obj -<> -endobj - -46105 0 obj -<> -endobj - -46106 0 obj -<> -endobj - -46107 0 obj -<> -endobj - -46108 0 obj -<> -endobj - -46109 0 obj -<> -endobj - -46110 0 obj -<> -endobj - -46111 0 obj -<> -endobj - -46112 0 obj -<> -endobj - -46113 0 obj -<> -endobj - -46114 0 obj -<> -endobj - -46115 0 obj -<> -endobj - -46116 0 obj -<> -endobj - -46117 0 obj -<> -endobj - -46118 0 obj -<> -endobj - -46119 0 obj -<> -endobj - -46120 0 obj -<> -endobj - -46121 0 obj -<> -endobj - -46122 0 obj -<> -endobj - -46123 0 obj -<> -endobj - -46124 0 obj -<> -endobj - -46125 0 obj -<> -endobj - -46126 0 obj -<> -endobj - -46127 0 obj -<> -endobj - -46128 0 obj -<> -endobj - -46129 0 obj -<> -endobj - -46130 0 obj -<> -endobj - -46131 0 obj -<> -endobj - -46132 0 obj -<> -endobj - -46133 0 obj -<> -endobj - -46134 0 obj -<> -endobj - -46135 0 obj -<> -endobj - -46136 0 obj -<> -endobj - -46137 0 obj -<> -endobj - -46138 0 obj -<> -endobj - -46139 0 obj -<> -endobj - -46140 0 obj -<> -endobj - -46141 0 obj -<> -endobj - -46142 0 obj -<> -endobj - -46143 0 obj -<> -endobj - -46144 0 obj -<> -endobj - -46145 0 obj -<> -endobj - -46146 0 obj -<> -endobj - -46147 0 obj -<> -endobj - -46148 0 obj -<> -endobj - -46149 0 obj -<> -endobj - -46150 0 obj -<> -endobj - -46151 0 obj -<> -endobj - -46152 0 obj -<> -endobj - -46153 0 obj -<> -endobj - -46154 0 obj -<> -endobj - -46155 0 obj -<> -endobj - -46156 0 obj -<> -endobj - -46157 0 obj -<> -endobj - -46158 0 obj -<> -endobj - -46159 0 obj -<> -endobj - -46160 0 obj -<> -endobj - -46161 0 obj -<> -endobj - -46162 0 obj -<> -endobj - -46163 0 obj -<> -endobj - -46164 0 obj -<> -endobj - -46165 0 obj -<> -endobj - -46166 0 obj -<> -endobj - -46167 0 obj -<> -endobj - -46168 0 obj -<> -endobj - -46169 0 obj -<> -endobj - -46170 0 obj -<> -endobj - -46171 0 obj -<> -endobj - -46172 0 obj -<> -endobj - -46173 0 obj -<> -endobj - -46174 0 obj -<> -endobj - -46175 0 obj -<> -endobj - -46176 0 obj -<> -endobj - -46177 0 obj -<> -endobj - -46178 0 obj -<> -endobj - -46179 0 obj -<> -endobj - -46180 0 obj -<> -endobj - -46181 0 obj -<> -endobj - -46182 0 obj -<> -endobj - -46183 0 obj -<> -endobj - -46184 0 obj -<> -endobj - -46185 0 obj -<> -endobj - -46186 0 obj -<> -endobj - -46187 0 obj -<> -endobj - -46188 0 obj -<> -endobj - -46189 0 obj -<> -endobj - -46190 0 obj -<> -endobj - -46191 0 obj -<> -endobj - -46192 0 obj -<> -endobj - -46193 0 obj -<> -endobj - -46194 0 obj -<> -endobj - -46195 0 obj -<> -endobj - -46196 0 obj -<> -endobj - -46197 0 obj -<> -endobj - -46198 0 obj -<> -endobj - -46199 0 obj -<> -endobj - -46200 0 obj -<> -endobj - -46201 0 obj -<> -endobj - -46202 0 obj -<> -endobj - -46203 0 obj -<> -endobj - -46204 0 obj -<> -endobj - -46205 0 obj -<> -endobj - -46206 0 obj -<> -endobj - -46207 0 obj -<> -endobj - -46208 0 obj -<> -endobj - -46209 0 obj -<> -endobj - -46210 0 obj -<> -endobj - -46211 0 obj -<> -endobj - -46212 0 obj -<> -endobj - -46213 0 obj -<> -endobj - -46214 0 obj -<> -endobj - -46215 0 obj -<> -endobj - -46216 0 obj -<> -endobj - -46217 0 obj -<> -endobj - -46218 0 obj -<> -endobj - -46219 0 obj -<> -endobj - -46220 0 obj -<> -endobj - -46221 0 obj -<> -endobj - -46222 0 obj -<> -endobj - -46223 0 obj -<> -endobj - -46224 0 obj -<> -endobj - -46225 0 obj -<> -endobj - -46226 0 obj -<> -endobj - -46227 0 obj -<> -endobj - -46228 0 obj -<> -endobj - -46229 0 obj -<> -endobj - -46230 0 obj -<> -endobj - -46231 0 obj -<> -endobj - -46232 0 obj -<> -endobj - -46233 0 obj -<> -endobj - -46234 0 obj -<> -endobj - -46235 0 obj -<> -endobj - -46236 0 obj -<> -endobj - -46237 0 obj -<> -endobj - -46238 0 obj -<> -endobj - -46239 0 obj -<> -endobj - -46240 0 obj -<> -endobj - -46241 0 obj -<> -endobj - -46242 0 obj -<> -endobj - -46243 0 obj -<> -endobj - -46244 0 obj -<> -endobj - -46245 0 obj -<> -endobj - -46246 0 obj -<> -endobj - -46247 0 obj -<> -endobj - -46248 0 obj -<> -endobj - -46249 0 obj -<> -endobj - -46250 0 obj -<> -endobj - -46251 0 obj -<> -endobj - -46252 0 obj -<> -endobj - -46253 0 obj -<> -endobj - -46254 0 obj -<> -endobj - -46255 0 obj -<> -endobj - -46256 0 obj -<> -endobj - -46257 0 obj -<> -endobj - -46258 0 obj -<> -endobj - -46259 0 obj -<> -endobj - -46260 0 obj -<> -endobj - -46261 0 obj -<> -endobj - -46262 0 obj -<> -endobj - -46263 0 obj -<> -endobj - -46264 0 obj -<> -endobj - -46265 0 obj -<> -endobj - -46266 0 obj -<> -endobj - -46267 0 obj -<> -endobj - -46268 0 obj -<> -endobj - -46269 0 obj -<> -endobj - -46270 0 obj -<> -endobj - -46271 0 obj -<> -endobj - -46272 0 obj -<> -endobj - -46273 0 obj -<> -endobj - -46274 0 obj -<> -endobj - -46275 0 obj -<> -endobj - -46276 0 obj -<> -endobj - -46277 0 obj -<> -endobj - -46278 0 obj -<> -endobj - -46279 0 obj -<> -endobj - -46280 0 obj -<> -endobj - -46281 0 obj -<> -endobj - -46282 0 obj -<> -endobj - -46283 0 obj -<> -endobj - -46284 0 obj -<> -endobj - -46285 0 obj -<> -endobj - -46286 0 obj -<> -endobj - -46287 0 obj -<> -endobj - -46288 0 obj -<> -endobj - -46289 0 obj -<> -endobj - -46290 0 obj -<> -endobj - -46291 0 obj -<> -endobj - -46292 0 obj -<> -endobj - -46293 0 obj -<> -endobj - -46294 0 obj -<> -endobj - -46295 0 obj -<> -endobj - -46296 0 obj -<> -endobj - -46297 0 obj -<> -endobj - -46298 0 obj -<> -endobj - -46299 0 obj -<> -endobj - -46300 0 obj -<> -endobj - -46301 0 obj -<> -endobj - -46302 0 obj -<> -endobj - -46303 0 obj -<> -endobj - -46304 0 obj -<> -endobj - -46305 0 obj -<> -endobj - -46306 0 obj -<> -endobj - -46307 0 obj -<> -endobj - -46308 0 obj -<> -endobj - -46309 0 obj -<> -endobj - -46310 0 obj -<> -endobj - -46311 0 obj -<> -endobj - -46312 0 obj -<> -endobj - -46313 0 obj -<> -endobj - -46314 0 obj -<> -endobj - -46315 0 obj -<> -endobj - -46316 0 obj -<> -endobj - -46317 0 obj -<> -endobj - -46318 0 obj -<> -endobj - -46319 0 obj -<> -endobj - -46320 0 obj -<> -endobj - -46321 0 obj -<> -endobj - -46322 0 obj -<> -endobj - -46323 0 obj -<> -endobj - -46324 0 obj -<> -endobj - -46325 0 obj -<> -endobj - -46326 0 obj -<> -endobj - -46327 0 obj -<> -endobj - -46328 0 obj -<> -endobj - -46329 0 obj -<> -endobj - -46330 0 obj -<> -endobj - -46331 0 obj -<> -endobj - -46332 0 obj -<> -endobj - -46333 0 obj -<> -endobj - -46334 0 obj -<> -endobj - -46335 0 obj -<> -endobj - -46336 0 obj -<> -endobj - -46337 0 obj -<> -endobj - -46338 0 obj -<> -endobj - -46339 0 obj -<> -endobj - -46340 0 obj -<> -endobj - -46341 0 obj -<> -endobj - -46342 0 obj -<> -endobj - -46343 0 obj -<> -endobj - -46344 0 obj -<> -endobj - -46345 0 obj -<> -endobj - -46346 0 obj -<> -endobj - -46347 0 obj -<> -endobj - -46348 0 obj -<> -endobj - -46349 0 obj -<> -endobj - -46350 0 obj -<> -endobj - -46351 0 obj -<> -endobj - -46352 0 obj -<> -endobj - -46353 0 obj -<> -endobj - -46354 0 obj -<> -endobj - -46355 0 obj -<> -endobj - -46356 0 obj -<> -endobj - -46357 0 obj -<> -endobj - -46358 0 obj -<> -endobj - -46359 0 obj -<> -endobj - -46360 0 obj -<> -endobj - -46361 0 obj -<> -endobj - -46362 0 obj -<> -endobj - -46363 0 obj -<> -endobj - -46364 0 obj -<> -endobj - -46365 0 obj -<> -endobj - -46366 0 obj -<> -endobj - -46367 0 obj -<> -endobj - -46368 0 obj -<> -endobj - -46369 0 obj -<> -endobj - -46370 0 obj -<> -endobj - -46371 0 obj -<> -endobj - -46372 0 obj -<> -endobj - -46373 0 obj -<> -endobj - -46374 0 obj -<> -endobj - -46375 0 obj -<> -endobj - -46376 0 obj -<> -endobj - -46377 0 obj -<> -endobj - -46378 0 obj -<> -endobj - -46379 0 obj -<> -endobj - -46380 0 obj -<> -endobj - -46381 0 obj -<> -endobj - -46382 0 obj -<> -endobj - -46383 0 obj -<> -endobj - -46384 0 obj -<> -endobj - -46385 0 obj -<> -endobj - -46386 0 obj -<> -endobj - -46387 0 obj -<> -endobj - -46388 0 obj -<> -endobj - -46389 0 obj -<> -endobj - -46390 0 obj -<> -endobj - -46391 0 obj -<> -endobj - -46392 0 obj -<> -endobj - -46393 0 obj -<> -endobj - -46394 0 obj -<> -endobj - -46395 0 obj -<> -endobj - -46396 0 obj -<> -endobj - -46397 0 obj -<> -endobj - -46398 0 obj -<> -endobj - -46399 0 obj -<> -endobj - -46400 0 obj -<> -endobj - -46401 0 obj -<> -endobj - -46402 0 obj -<> -endobj - -46403 0 obj -<> -endobj - -46404 0 obj -<> -endobj - -46405 0 obj -<> -endobj - -46406 0 obj -<> -endobj - -46407 0 obj -<> -endobj - -46408 0 obj -<> -endobj - -46409 0 obj -<> -endobj - -46410 0 obj -<> -endobj - -46411 0 obj -<> -endobj - -46412 0 obj -<> -endobj - -46413 0 obj -<> -endobj - -46414 0 obj -<> -endobj - -46415 0 obj -<> -endobj - -46416 0 obj -<> -endobj - -46417 0 obj -<> -endobj - -46418 0 obj -<> -endobj - -46419 0 obj -<> -endobj - -46420 0 obj -<> -endobj - -46421 0 obj -<> -endobj - -46422 0 obj -<> -endobj - -46423 0 obj -<> -endobj - -46424 0 obj -<> -endobj - -46425 0 obj -<> -endobj - -46426 0 obj -<> -endobj - -46427 0 obj -<> -endobj - -46428 0 obj -<> -endobj - -46429 0 obj -<> -endobj - -46430 0 obj -<> -endobj - -46431 0 obj -<> -endobj - -46432 0 obj -<> -endobj - -46433 0 obj -<> -endobj - -46434 0 obj -<> -endobj - -46435 0 obj -<> -endobj - -46436 0 obj -<> -endobj - -46437 0 obj -<> -endobj - -46438 0 obj -<> -endobj - -46439 0 obj -<> -endobj - -46440 0 obj -<> -endobj - -46441 0 obj -<> -endobj - -46442 0 obj -<> -endobj - -46443 0 obj -<> -endobj - -46444 0 obj -<> -endobj - -46445 0 obj -<> -endobj - -46446 0 obj -<> -endobj - -46447 0 obj -<> -endobj - -46448 0 obj -<> -endobj - -46449 0 obj -<> -endobj - -46450 0 obj -<> -endobj - -46451 0 obj -<> -endobj - -46452 0 obj -<> -endobj - -46453 0 obj -<> -endobj - -46454 0 obj -<> -endobj - -46455 0 obj -<> -endobj - -46456 0 obj -<> -endobj - -46457 0 obj -<> -endobj - -46458 0 obj -<> -endobj - -46459 0 obj -<> -endobj - -46460 0 obj -<> -endobj - -46461 0 obj -<> -endobj - -46462 0 obj -<> -endobj - -46463 0 obj -<> -endobj - -46464 0 obj -<> -endobj - -46465 0 obj -<> -endobj - -46466 0 obj -<> -endobj - -46467 0 obj -<> -endobj - -46468 0 obj -<> -endobj - -46469 0 obj -<> -endobj - -46470 0 obj -<> -endobj - -46471 0 obj -<> -endobj - -46472 0 obj -<> -endobj - -46473 0 obj -<> -endobj - -46474 0 obj -<> -endobj - -46475 0 obj -<> -endobj - -46476 0 obj -<> -endobj - -46477 0 obj -<> -endobj - -46478 0 obj -<> -endobj - -46479 0 obj -<> -endobj - -46480 0 obj -<> -endobj - -46481 0 obj -<> -endobj - -46482 0 obj -<> -endobj - -46483 0 obj -<> -endobj - -46484 0 obj -<> -endobj - -46485 0 obj -<> -endobj - -46486 0 obj -<> -endobj - -46487 0 obj -<> -endobj - -46488 0 obj -<> -endobj - -46489 0 obj -<> -endobj - -46490 0 obj -<> -endobj - -46491 0 obj -<> -endobj - -46492 0 obj -<> -endobj - -46493 0 obj -<> -endobj - -46494 0 obj -<> -endobj - -46495 0 obj -<> -endobj - -46496 0 obj -<> -endobj - -46497 0 obj -<> -endobj - -46498 0 obj -<> -endobj - -46499 0 obj -<> -endobj - -46500 0 obj -<> -endobj - -46501 0 obj -<> -endobj - -46502 0 obj -<> -endobj - -46503 0 obj -<> -endobj - -46504 0 obj -<> -endobj - -46505 0 obj -<> -endobj - -46506 0 obj -<> -endobj - -46507 0 obj -<> -endobj - -46508 0 obj -<> -endobj - -46509 0 obj -<> -endobj - -46510 0 obj -<> -endobj - -46511 0 obj -<> -endobj - -46512 0 obj -<> -endobj - -46513 0 obj -<> -endobj - -46514 0 obj -<> -endobj - -46515 0 obj -<> -endobj - -46516 0 obj -<> -endobj - -46517 0 obj -<> -endobj - -46518 0 obj -<> -endobj - -46519 0 obj -<> -endobj - -46520 0 obj -<> -endobj - -46521 0 obj -<> -endobj - -46522 0 obj -<> -endobj - -46523 0 obj -<> -endobj - -46524 0 obj -<> -endobj - -46525 0 obj -<> -endobj - -46526 0 obj -<> -endobj - -46527 0 obj -<> -endobj - -46528 0 obj -<> -endobj - -46529 0 obj -<> -endobj - -46530 0 obj -<> -endobj - -46531 0 obj -<> -endobj - -46532 0 obj -<> -endobj - -46533 0 obj -<> -endobj - -46534 0 obj -<> -endobj - -46535 0 obj -<> -endobj - -46536 0 obj -<> -endobj - -46537 0 obj -<> -endobj - -46538 0 obj -<> -endobj - -46539 0 obj -<> -endobj - -46540 0 obj -<> -endobj - -46541 0 obj -<> -endobj - -46542 0 obj -<> -endobj - -46543 0 obj -<> -endobj - -46544 0 obj -<> -endobj - -46545 0 obj -<> -endobj - -46546 0 obj -<> -endobj - -46547 0 obj -<> -endobj - -46548 0 obj -<> -endobj - -46549 0 obj -<> -endobj - -46550 0 obj -<> -endobj - -46551 0 obj -<> -endobj - -46552 0 obj -<> -endobj - -46553 0 obj -<> -endobj - -46554 0 obj -<> -endobj - -46555 0 obj -<> -endobj - -46556 0 obj -<> -endobj - -46557 0 obj -<> -endobj - -46558 0 obj -<> -endobj - -46559 0 obj -<> -endobj - -46560 0 obj -<> -endobj - -46561 0 obj -<> -endobj - -46562 0 obj -<> -endobj - -46563 0 obj -<> -endobj - -46564 0 obj -<> -endobj - -46565 0 obj -<> -endobj - -46566 0 obj -<> -endobj - -46567 0 obj -<> -endobj - -46568 0 obj -<> -endobj - -46569 0 obj -<> -endobj - -46570 0 obj -<> -endobj - -46571 0 obj -<> -endobj - -46572 0 obj -<> -endobj - -46573 0 obj -<> -endobj - -46574 0 obj -<> -endobj - -46575 0 obj -<> -endobj - -46576 0 obj -<> -endobj - -46577 0 obj -<> -endobj - -46578 0 obj -<> -endobj - -46579 0 obj -<> -endobj - -46580 0 obj -<> -endobj - -46581 0 obj -<> -endobj - -46582 0 obj -<> -endobj - -46583 0 obj -<> -endobj - -46584 0 obj -<> -endobj - -46585 0 obj -<> -endobj - -46586 0 obj -<> -endobj - -46587 0 obj -<> -endobj - -46588 0 obj -<> -endobj - -46589 0 obj -<> -endobj - -46590 0 obj -<> -endobj - -46591 0 obj -<> -endobj - -46592 0 obj -<> -endobj - -46593 0 obj -<> -endobj - -46594 0 obj -<> -endobj - -46595 0 obj -<> -endobj - -46596 0 obj -<> -endobj - -46597 0 obj -<> -endobj - -46598 0 obj -<> -endobj - -46599 0 obj -<> -endobj - -46600 0 obj -<> -endobj - -46601 0 obj -<> -endobj - -46602 0 obj -<> -endobj - -46603 0 obj -<> -endobj - -46604 0 obj -<> -endobj - -46605 0 obj -<> -endobj - -46606 0 obj -<> -endobj - -46607 0 obj -<> -endobj - -46608 0 obj -<> -endobj - -46609 0 obj -<> -endobj - -46610 0 obj -<> -endobj - -46611 0 obj -<> -endobj - -46612 0 obj -<> -endobj - -46613 0 obj -<> -endobj - -46614 0 obj -<> -endobj - -46615 0 obj -<> -endobj - -46616 0 obj -<> -endobj - -46617 0 obj -<> -endobj - -46618 0 obj -<> -endobj - -46619 0 obj -<> -endobj - -46620 0 obj -<> -endobj - -46621 0 obj -<> -endobj - -46622 0 obj -<> -endobj - -46623 0 obj -<> -endobj - -46624 0 obj -<> -endobj - -46625 0 obj -<> -endobj - -46626 0 obj -<> -endobj - -46627 0 obj -<> -endobj - -46628 0 obj -<> -endobj - -46629 0 obj -<> -endobj - -46630 0 obj -<> -endobj - -46631 0 obj -<> -endobj - -46632 0 obj -<> -endobj - -46633 0 obj -<> -endobj - -46634 0 obj -<> -endobj - -46635 0 obj -<> -endobj - -46636 0 obj -<> -endobj - -46637 0 obj -<> -endobj - -46638 0 obj -<> -endobj - -46639 0 obj -<> -endobj - -46640 0 obj -<> -endobj - -46641 0 obj -<> -endobj - -46642 0 obj -<> -endobj - -46643 0 obj -<> -endobj - -46644 0 obj -<> -endobj - -46645 0 obj -<> -endobj - -46646 0 obj -<> -endobj - -46647 0 obj -<> -endobj - -46648 0 obj -<> -endobj - -46649 0 obj -<> -endobj - -46650 0 obj -<> -endobj - -46651 0 obj -<> -endobj - -46652 0 obj -<> -endobj - -46653 0 obj -<> -endobj - -46654 0 obj -<> -endobj - -46655 0 obj -<> -endobj - -46656 0 obj -<> -endobj - -46657 0 obj -<> -endobj - -46658 0 obj -<> -endobj - -46659 0 obj -<> -endobj - -46660 0 obj -<> -endobj - -46661 0 obj -<> -endobj - -46662 0 obj -<> -endobj - -46663 0 obj -<> -endobj - -46664 0 obj -<> -endobj - -46665 0 obj -<> -endobj - -46666 0 obj -<> -endobj - -46667 0 obj -<> -endobj - -46668 0 obj -<> -endobj - -46669 0 obj -<> -endobj - -46670 0 obj -<> -endobj - -46671 0 obj -<> -endobj - -46672 0 obj -<> -endobj - -46673 0 obj -<> -endobj - -46674 0 obj -<> -endobj - -46675 0 obj -<> -endobj - -46676 0 obj -<> -endobj - -46677 0 obj -<> -endobj - -46678 0 obj -<> -endobj - -46679 0 obj -<> -endobj - -46680 0 obj -<> -endobj - -46681 0 obj -<> -endobj - -46682 0 obj -<> -endobj - -46683 0 obj -<> -endobj - -46684 0 obj -<> -endobj - -46685 0 obj -<> -endobj - -46686 0 obj -<> -endobj - -46687 0 obj -<> -endobj - -46688 0 obj -<> -endobj - -46689 0 obj -<> -endobj - -46690 0 obj -<> -endobj - -46691 0 obj -<> -endobj - -46692 0 obj -<> -endobj - -46693 0 obj -<> -endobj - -46694 0 obj -<> -endobj - -46695 0 obj -<> -endobj - -46696 0 obj -<> -endobj - -46697 0 obj -<> -endobj - -46698 0 obj -<> -endobj - -46699 0 obj -<> -endobj - -46700 0 obj -<> -endobj - -46701 0 obj -<> -endobj - -46702 0 obj -<> -endobj - -46703 0 obj -<> -endobj - -46704 0 obj -<> -endobj - -46705 0 obj -<> -endobj - -46706 0 obj -<> -endobj - -46707 0 obj -<> -endobj - -46708 0 obj -<> -endobj - -46709 0 obj -<> -endobj - -46710 0 obj -<> -endobj - -46711 0 obj -<> -endobj - -46712 0 obj -<> -endobj - -46713 0 obj -<> -endobj - -46714 0 obj -<> -endobj - -46715 0 obj -<> -endobj - -46716 0 obj -<> -endobj - -46717 0 obj -<> -endobj - -46718 0 obj -<> -endobj - -46719 0 obj -<> -endobj - -46720 0 obj -<> -endobj - -46721 0 obj -<> -endobj - -46722 0 obj -<> -endobj - -46723 0 obj -<> -endobj - -46724 0 obj -<> -endobj - -46725 0 obj -<> -endobj - -46726 0 obj -<> -endobj - -46727 0 obj -<> -endobj - -46728 0 obj -<> -endobj - -46729 0 obj -<> -endobj - -46730 0 obj -<> -endobj - -46731 0 obj -<> -endobj - -46732 0 obj -<> -endobj - -46733 0 obj -<> -endobj - -46734 0 obj -<> -endobj - -46735 0 obj -<> -endobj - -46736 0 obj -<> -endobj - -46737 0 obj -<> -endobj - -46738 0 obj -<> -endobj - -46739 0 obj -<> -endobj - -46740 0 obj -<> -endobj - -46741 0 obj -<> -endobj - -46742 0 obj -<> -endobj - -46743 0 obj -<> -endobj - -xref -0 46744 -0000000000 65536 f -0000000017 00000 n -0000000238 00000 n -0000000460 00000 n -0000000910 00000 n -0000009807 00000 n -0000009977 00000 n -0000010236 00000 n -0000010495 00000 n -0000010754 00000 n -0000011013 00000 n -0000011273 00000 n -0000011533 00000 n -0000011777 00000 n -0000012037 00000 n -0000012281 00000 n -0000012321 00000 n -0000012361 00000 n -0000012401 00000 n -0000012441 00000 n -0000012481 00000 n -0000012521 00000 n -0000012561 00000 n -0000012601 00000 n -0000012641 00000 n -0000012681 00000 n -0000012721 00000 n -0000012761 00000 n -0000012801 00000 n -0000012841 00000 n -0000012881 00000 n -0000012921 00000 n -0000012961 00000 n -0000013001 00000 n -0000013041 00000 n -0000013477 00000 n -0000013517 00000 n -0000013557 00000 n -0000013597 00000 n -0000013637 00000 n -0000013677 00000 n -0000013717 00000 n -0000013757 00000 n -0000013797 00000 n -0000013837 00000 n -0000013877 00000 n -0000013917 00000 n -0000013957 00000 n -0000013997 00000 n -0000014037 00000 n -0000014077 00000 n -0000014117 00000 n -0000014157 00000 n -0000014197 00000 n -0000014237 00000 n -0000014277 00000 n -0000014317 00000 n -0000014357 00000 n -0000014397 00000 n -0000014437 00000 n -0000014477 00000 n -0000014517 00000 n -0000014557 00000 n -0000014597 00000 n -0000014637 00000 n -0000014677 00000 n -0000014717 00000 n -0000014757 00000 n -0000014797 00000 n -0000014837 00000 n -0000014877 00000 n -0000014917 00000 n -0000014957 00000 n -0000014997 00000 n -0000015037 00000 n -0000015077 00000 n -0000015723 00000 n -0000015763 00000 n -0000015803 00000 n -0000015843 00000 n -0000015883 00000 n -0000015923 00000 n -0000015963 00000 n -0000016003 00000 n -0000016043 00000 n -0000016083 00000 n -0000016123 00000 n -0000016163 00000 n -0000016203 00000 n -0000016243 00000 n -0000016283 00000 n -0000016323 00000 n -0000016363 00000 n -0000016403 00000 n -0000016443 00000 n -0000016483 00000 n -0000016523 00000 n -0000016563 00000 n -0000016603 00000 n -0000016643 00000 n -0000016683 00000 n -0000016724 00000 n -0000016765 00000 n -0000016806 00000 n -0000016847 00000 n -0000016888 00000 n -0000016929 00000 n -0000016970 00000 n -0000017011 00000 n -0000017052 00000 n -0000017093 00000 n -0000017134 00000 n -0000017175 00000 n -0000017782 00000 n -0000017823 00000 n -0000017864 00000 n -0000017905 00000 n -0000017946 00000 n -0000017987 00000 n -0000018028 00000 n -0000018069 00000 n -0000018110 00000 n -0000018151 00000 n -0000018192 00000 n -0000018233 00000 n -0000018274 00000 n -0000018315 00000 n -0000018356 00000 n -0000018397 00000 n -0000018438 00000 n -0000018479 00000 n -0000018520 00000 n -0000018561 00000 n -0000018602 00000 n -0000018643 00000 n -0000018684 00000 n -0000018725 00000 n -0000018766 00000 n -0000018807 00000 n -0000018848 00000 n -0000018889 00000 n -0000018930 00000 n -0000018971 00000 n -0000019012 00000 n -0000019053 00000 n -0000019094 00000 n -0000019135 00000 n -0000019176 00000 n -0000019217 00000 n -0000019258 00000 n -0000019299 00000 n -0000019340 00000 n -0000019967 00000 n -0000020008 00000 n -0000020049 00000 n -0000020090 00000 n -0000020131 00000 n -0000020172 00000 n -0000020213 00000 n -0000020254 00000 n -0000020295 00000 n -0000020336 00000 n -0000020377 00000 n -0000020418 00000 n -0000020459 00000 n -0000020500 00000 n -0000020541 00000 n -0000020582 00000 n -0000020623 00000 n -0000020664 00000 n -0000020705 00000 n -0000020746 00000 n -0000020787 00000 n -0000020828 00000 n -0000020869 00000 n -0000020910 00000 n -0000020951 00000 n -0000020992 00000 n -0000021033 00000 n -0000021074 00000 n -0000021115 00000 n -0000021156 00000 n -0000021197 00000 n -0000021238 00000 n -0000021279 00000 n -0000021320 00000 n -0000021361 00000 n -0000021402 00000 n -0000021443 00000 n -0000021484 00000 n -0000021525 00000 n -0000022152 00000 n -0000022193 00000 n -0000022234 00000 n -0000022275 00000 n -0000022316 00000 n -0000022357 00000 n -0000022398 00000 n -0000022439 00000 n -0000022480 00000 n -0000022521 00000 n -0000022562 00000 n -0000022603 00000 n -0000022644 00000 n -0000022685 00000 n -0000022726 00000 n -0000022767 00000 n -0000022808 00000 n -0000022849 00000 n -0000022890 00000 n -0000022931 00000 n -0000022972 00000 n -0000023013 00000 n -0000023054 00000 n -0000023095 00000 n -0000023136 00000 n -0000023177 00000 n -0000023218 00000 n -0000023259 00000 n -0000023300 00000 n -0000023341 00000 n -0000023382 00000 n -0000023423 00000 n -0000023464 00000 n -0000023506 00000 n -0000023548 00000 n -0000023590 00000 n -0000023632 00000 n -0000023674 00000 n -0000023716 00000 n -0000024343 00000 n -0000024385 00000 n -0000024427 00000 n -0000024469 00000 n -0000024511 00000 n -0000024553 00000 n -0000024595 00000 n -0000024637 00000 n -0000024679 00000 n -0000024721 00000 n -0000024763 00000 n -0000024805 00000 n -0000024847 00000 n -0000024889 00000 n -0000024931 00000 n -0000024973 00000 n -0000025015 00000 n -0000025057 00000 n -0000025099 00000 n -0000025141 00000 n -0000025183 00000 n -0000025225 00000 n -0000025267 00000 n -0000025309 00000 n -0000025351 00000 n -0000025393 00000 n -0000025435 00000 n -0000025477 00000 n -0000025519 00000 n -0000025561 00000 n -0000025603 00000 n -0000025645 00000 n -0000025687 00000 n -0000025729 00000 n -0000025771 00000 n -0000025813 00000 n -0000025855 00000 n -0000025897 00000 n -0000025939 00000 n -0000026567 00000 n -0000026609 00000 n -0000026651 00000 n -0000026693 00000 n -0000026735 00000 n -0000026777 00000 n -0000026819 00000 n -0000026861 00000 n -0000026903 00000 n -0000026945 00000 n -0000026987 00000 n -0000027029 00000 n -0000027071 00000 n -0000027113 00000 n -0000027155 00000 n -0000027197 00000 n -0000027239 00000 n -0000027281 00000 n -0000027323 00000 n -0000027365 00000 n -0000027407 00000 n -0000027449 00000 n -0000027491 00000 n -0000027533 00000 n -0000027575 00000 n -0000027617 00000 n -0000027659 00000 n -0000027701 00000 n -0000027743 00000 n -0000027785 00000 n -0000027827 00000 n -0000027869 00000 n -0000027911 00000 n -0000027953 00000 n -0000027995 00000 n -0000028037 00000 n -0000028079 00000 n -0000028121 00000 n -0000028163 00000 n -0000028791 00000 n -0000028833 00000 n -0000028875 00000 n -0000028917 00000 n -0000028959 00000 n -0000029001 00000 n -0000029043 00000 n -0000029085 00000 n -0000029127 00000 n -0000029169 00000 n -0000029211 00000 n -0000029253 00000 n -0000029295 00000 n -0000029337 00000 n -0000029379 00000 n -0000029421 00000 n -0000029463 00000 n -0000029505 00000 n -0000029547 00000 n -0000029589 00000 n -0000029631 00000 n -0000029673 00000 n -0000029715 00000 n -0000029757 00000 n -0000029799 00000 n -0000029841 00000 n -0000029883 00000 n -0000029925 00000 n -0000029967 00000 n -0000030009 00000 n -0000030051 00000 n -0000030093 00000 n -0000030135 00000 n -0000030177 00000 n -0000030219 00000 n -0000030261 00000 n -0000030303 00000 n -0000030345 00000 n -0000030387 00000 n -0000031015 00000 n -0000031057 00000 n -0000031099 00000 n -0000031141 00000 n -0000031183 00000 n -0000031225 00000 n -0000031267 00000 n -0000031309 00000 n -0000031351 00000 n -0000031393 00000 n -0000031731 00000 n -0000031771 00000 n -0000032029 00000 n -0000032269 00000 n -0000032309 00000 n -0000032577 00000 n -0000032817 00000 n -0000033075 00000 n -0000033298 00000 n -0000033338 00000 n -0000033596 00000 n -0000033836 00000 n -0000034114 00000 n -0000034337 00000 n -0000034377 00000 n -0000034635 00000 n -0000034875 00000 n -0000035115 00000 n -0000035373 00000 n -0000035413 00000 n -0000035453 00000 n -0000035493 00000 n -0000035771 00000 n -0000035811 00000 n -0000036069 00000 n -0000036309 00000 n -0000036349 00000 n -0000036607 00000 n -0000036847 00000 n -0000037087 00000 n -0000037327 00000 n -0000037367 00000 n -0000037625 00000 n -0000037865 00000 n -0000037905 00000 n -0000038163 00000 n -0000038403 00000 n -0000038643 00000 n -0000038883 00000 n -0000038923 00000 n -0000039181 00000 n -0000039421 00000 n -0000039461 00000 n -0000039719 00000 n -0000039977 00000 n -0000040017 00000 n -0000040275 00000 n -0000040515 00000 n -0000040555 00000 n -0000040813 00000 n -0000040853 00000 n -0000041111 00000 n -0000041351 00000 n -0000041391 00000 n -0000041649 00000 n -0000041889 00000 n -0000041929 00000 n -0000041969 00000 n -0000042009 00000 n -0000042049 00000 n -0000042337 00000 n -0000042377 00000 n -0000042645 00000 n -0000042885 00000 n -0000043125 00000 n -0000043365 00000 n -0000043405 00000 n -0000043673 00000 n -0000043913 00000 n -0000043953 00000 n -0000044211 00000 n -0000044251 00000 n -0000044291 00000 n -0000044559 00000 n -0000044599 00000 n -0000044639 00000 n -0000044927 00000 n -0000044967 00000 n -0000045007 00000 n -0000045047 00000 n -0000045087 00000 n -0000045385 00000 n -0000045425 00000 n -0000045465 00000 n -0000045733 00000 n -0000045773 00000 n -0000046031 00000 n -0000046071 00000 n -0000046329 00000 n -0000046569 00000 n -0000046809 00000 n -0000046849 00000 n -0000047107 00000 n -0000047147 00000 n -0000047405 00000 n -0000047645 00000 n -0000047885 00000 n -0000048125 00000 n -0000048365 00000 n -0000048605 00000 n -0000048845 00000 n -0000048885 00000 n -0000049143 00000 n -0000049383 00000 n -0000049623 00000 n -0000049863 00000 n -0000049903 00000 n -0000050161 00000 n -0000050401 00000 n -0000050641 00000 n -0000050881 00000 n -0000050921 00000 n -0000051179 00000 n -0000051219 00000 n -0000051259 00000 n -0000051527 00000 n -0000051767 00000 n -0000051807 00000 n -0000052065 00000 n -0000052105 00000 n -0000052145 00000 n -0000052185 00000 n -0000052463 00000 n -0000052503 00000 n -0000052761 00000 n -0000053001 00000 n -0000053241 00000 n -0000053481 00000 n -0000053521 00000 n -0000053561 00000 n -0000053601 00000 n -0000053879 00000 n -0000054119 00000 n -0000054359 00000 n -0000054599 00000 n -0000054839 00000 n -0000054879 00000 n -0000055137 00000 n -0000055177 00000 n -0000055217 00000 n -0000055485 00000 n -0000055726 00000 n -0000055766 00000 n -0000056025 00000 n -0000056266 00000 n -0000056507 00000 n -0000056547 00000 n -0000056806 00000 n -0000057047 00000 n -0000057087 00000 n -0000057346 00000 n -0000057587 00000 n -0000057627 00000 n -0000057886 00000 n -0000057926 00000 n -0000058185 00000 n -0000058426 00000 n -0000058667 00000 n -0000058908 00000 n -0000059149 00000 n -0000059190 00000 n -0000059449 00000 n -0000059490 00000 n -0000059749 00000 n -0000059990 00000 n -0000060031 00000 n -0000060290 00000 n -0000060531 00000 n -0000060754 00000 n -0000060795 00000 n -0000060836 00000 n -0000060877 00000 n -0000061156 00000 n -0000061397 00000 n -0000061438 00000 n -0000061697 00000 n -0000061938 00000 n -0000062179 00000 n -0000062220 00000 n -0000062479 00000 n -0000062520 00000 n -0000062779 00000 n -0000063020 00000 n -0000063061 00000 n -0000063320 00000 n -0000063361 00000 n -0000063620 00000 n -0000063861 00000 n -0000063902 00000 n -0000064161 00000 n -0000064402 00000 n -0000064443 00000 n -0000064702 00000 n -0000064943 00000 n -0000064984 00000 n -0000065243 00000 n -0000065284 00000 n -0000065543 00000 n -0000065784 00000 n -0000065825 00000 n -0000066084 00000 n -0000066125 00000 n -0000066384 00000 n -0000066425 00000 n -0000066684 00000 n -0000066925 00000 n -0000067166 00000 n -0000067207 00000 n -0000067466 00000 n -0000067707 00000 n -0000067948 00000 n -0000067989 00000 n -0000068248 00000 n -0000068289 00000 n -0000068548 00000 n -0000068789 00000 n -0000069030 00000 n -0000069071 00000 n -0000069330 00000 n -0000069371 00000 n -0000069630 00000 n -0000069871 00000 n -0000069912 00000 n -0000070171 00000 n -0000070412 00000 n -0000070653 00000 n -0000070694 00000 n -0000070953 00000 n -0000070994 00000 n -0000071253 00000 n -0000071494 00000 n -0000071735 00000 n -0000071976 00000 n -0000072217 00000 n -0000072258 00000 n -0000072517 00000 n -0000072758 00000 n -0000072799 00000 n -0000073058 00000 n -0000073299 00000 n -0000073540 00000 n -0000073581 00000 n -0000073622 00000 n -0000073891 00000 n -0000074132 00000 n -0000074373 00000 n -0000074414 00000 n -0000074455 00000 n -0000074496 00000 n -0000074775 00000 n -0000075016 00000 n -0000075057 00000 n -0000075098 00000 n -0000075367 00000 n -0000075608 00000 n -0000075849 00000 n -0000075890 00000 n -0000076149 00000 n -0000076390 00000 n -0000076431 00000 n -0000076690 00000 n -0000076931 00000 n -0000076972 00000 n -0000077231 00000 n -0000077272 00000 n -0000077531 00000 n -0000077772 00000 n -0000078013 00000 n -0000078054 00000 n -0000078313 00000 n -0000078354 00000 n -0000078613 00000 n -0000078854 00000 n -0000078895 00000 n -0000079154 00000 n -0000079395 00000 n -0000079636 00000 n -0000079877 00000 n -0000080118 00000 n -0000080159 00000 n -0000080418 00000 n -0000080659 00000 n -0000080900 00000 n -0000080941 00000 n -0000081200 00000 n -0000081441 00000 n -0000081682 00000 n -0000081923 00000 n -0000081964 00000 n -0000082223 00000 n -0000082464 00000 n -0000082705 00000 n -0000082746 00000 n -0000083005 00000 n -0000083046 00000 n -0000083325 00000 n -0000083548 00000 n -0000083589 00000 n -0000083630 00000 n -0000083671 00000 n -0000083950 00000 n -0000084191 00000 n -0000084432 00000 n -0000084673 00000 n -0000084714 00000 n -0000084973 00000 n -0000085014 00000 n -0000085273 00000 n -0000085314 00000 n -0000085573 00000 n -0000085614 00000 n -0000085873 00000 n -0000085914 00000 n -0000086173 00000 n -0000086214 00000 n -0000086473 00000 n -0000086514 00000 n -0000086773 00000 n -0000087014 00000 n -0000087055 00000 n -0000087314 00000 n -0000087555 00000 n -0000087796 00000 n -0000088037 00000 n -0000088278 00000 n -0000088519 00000 n -0000088760 00000 n -0000088801 00000 n -0000089060 00000 n -0000089101 00000 n -0000089142 00000 n -0000089183 00000 n -0000089462 00000 n -0000089503 00000 n -0000089762 00000 n -0000090003 00000 n -0000090244 00000 n -0000090485 00000 n -0000090726 00000 n -0000090767 00000 n -0000090808 00000 n -0000091077 00000 n -0000091118 00000 n -0000091377 00000 n -0000091618 00000 n -0000091659 00000 n -0000091918 00000 n -0000091959 00000 n -0000092218 00000 n -0000092459 00000 n -0000092700 00000 n -0000092741 00000 n -0000093000 00000 n -0000093241 00000 n -0000093482 00000 n -0000093523 00000 n -0000093782 00000 n -0000094023 00000 n -0000094264 00000 n -0000094505 00000 n -0000094746 00000 n -0000094987 00000 n -0000095228 00000 n -0000095269 00000 n -0000095528 00000 n -0000095769 00000 n -0000096010 00000 n -0000096251 00000 n -0000096492 00000 n -0000096533 00000 n -0000096792 00000 n -0000097033 00000 n -0000097074 00000 n -0000097115 00000 n -0000097156 00000 n -0000097435 00000 n -0000097676 00000 n -0000097717 00000 n -0000097976 00000 n -0000098217 00000 n -0000098458 00000 n -0000098699 00000 n -0000098940 00000 n -0000098981 00000 n -0000099240 00000 n -0000099481 00000 n -0000099522 00000 n -0000099781 00000 n -0000100022 00000 n -0000100063 00000 n -0000100322 00000 n -0000100563 00000 n -0000100804 00000 n -0000101045 00000 n -0000101286 00000 n -0000101527 00000 n -0000101568 00000 n -0000101827 00000 n -0000101868 00000 n -0000101909 00000 n -0000102178 00000 n -0000102419 00000 n -0000102660 00000 n -0000102901 00000 n -0000102942 00000 n -0000103201 00000 n -0000103442 00000 n -0000103683 00000 n -0000103924 00000 n -0000104165 00000 n -0000104406 00000 n -0000104447 00000 n -0000104706 00000 n -0000104947 00000 n -0000105188 00000 n -0000105429 00000 n -0000105670 00000 n -0000105711 00000 n -0000105970 00000 n -0000106211 00000 n -0000106470 00000 n -0000106711 00000 n -0000106752 00000 n -0000107011 00000 n -0000107252 00000 n -0000107493 00000 n -0000107734 00000 n -0000107975 00000 n -0000108016 00000 n -0000108275 00000 n -0000108516 00000 n -0000108757 00000 n -0000108998 00000 n -0000109239 00000 n -0000109480 00000 n -0000109521 00000 n -0000109780 00000 n -0000109821 00000 n -0000110080 00000 n -0000110321 00000 n -0000110562 00000 n -0000110803 00000 n -0000110844 00000 n -0000111103 00000 n -0000111344 00000 n -0000111385 00000 n -0000111644 00000 n -0000111885 00000 n -0000112108 00000 n -0000112149 00000 n -0000112190 00000 n -0000112231 00000 n -0000112510 00000 n -0000112751 00000 n -0000112992 00000 n -0000113233 00000 n -0000113474 00000 n -0000113515 00000 n -0000113774 00000 n -0000114015 00000 n -0000114256 00000 n -0000114297 00000 n -0000114556 00000 n -0000114797 00000 n -0000114838 00000 n -0000115097 00000 n -0000115138 00000 n -0000115397 00000 n -0000115638 00000 n -0000115679 00000 n -0000115938 00000 n -0000115979 00000 n -0000116238 00000 n -0000116479 00000 n -0000116720 00000 n -0000116961 00000 n -0000117002 00000 n -0000117261 00000 n -0000117502 00000 n -0000117743 00000 n -0000117984 00000 n -0000118025 00000 n -0000118284 00000 n -0000118525 00000 n -0000118766 00000 n -0000118807 00000 n -0000119066 00000 n -0000119307 00000 n -0000119348 00000 n -0000119607 00000 n -0000119648 00000 n -0000119689 00000 n -0000119730 00000 n -0000120009 00000 n -0000120250 00000 n -0000120491 00000 n -0000120732 00000 n -0000120973 00000 n -0000121214 00000 n -0000121455 00000 n -0000121696 00000 n -0000121937 00000 n -0000122178 00000 n -0000122219 00000 n -0000122478 00000 n -0000122719 00000 n -0000122960 00000 n -0000123001 00000 n -0000123260 00000 n -0000123301 00000 n -0000123560 00000 n -0000123801 00000 n -0000124042 00000 n -0000124083 00000 n -0000124342 00000 n -0000124583 00000 n -0000124624 00000 n -0000124883 00000 n -0000125124 00000 n -0000125365 00000 n -0000125406 00000 n -0000125665 00000 n -0000125706 00000 n -0000125965 00000 n -0000126206 00000 n -0000126247 00000 n -0000126506 00000 n -0000126747 00000 n -0000126988 00000 n -0000127229 00000 n -0000127470 00000 n -0000127711 00000 n -0000127752 00000 n -0000128011 00000 n -0000128252 00000 n -0000128293 00000 n -0000128552 00000 n -0000128593 00000 n -0000128852 00000 n -0000129093 00000 n -0000129134 00000 n -0000129393 00000 n -0000129634 00000 n -0000129875 00000 n -0000130116 00000 n -0000130357 00000 n -0000130598 00000 n -0000130639 00000 n -0000130898 00000 n -0000131139 00000 n -0000131380 00000 n -0000131621 00000 n -0000131662 00000 n -0000131921 00000 n -0000132162 00000 n -0000132403 00000 n -0000132644 00000 n -0000132885 00000 n -0000133126 00000 n -0000133167 00000 n -0000133426 00000 n -0000133667 00000 n -0000133708 00000 n -0000133967 00000 n -0000134208 00000 n -0000134449 00000 n -0000134690 00000 n -0000134931 00000 n -0000135172 00000 n -0000135213 00000 n -0000135472 00000 n -0000135713 00000 n -0000135954 00000 n -0000135995 00000 n -0000136254 00000 n -0000136295 00000 n -0000136554 00000 n -0000136795 00000 n -0000136836 00000 n -0000137095 00000 n -0000137336 00000 n -0000137377 00000 n -0000137636 00000 n -0000137877 00000 n -0000137918 00000 n -0000137959 00000 n -0000138000 00000 n -0000138279 00000 n -0000138320 00000 n -0000138579 00000 n -0000138620 00000 n -0000138879 00000 n -0000139120 00000 n -0000139361 00000 n -0000139402 00000 n -0000139661 00000 n -0000139902 00000 n -0000140143 00000 n -0000140384 00000 n -0000140625 00000 n -0000140866 00000 n -0000141107 00000 n -0000141348 00000 n -0000141589 00000 n -0000141630 00000 n -0000141889 00000 n -0000142130 00000 n -0000142171 00000 n -0000142430 00000 n -0000142671 00000 n -0000142912 00000 n -0000142953 00000 n -0000143212 00000 n -0000143453 00000 n -0000143694 00000 n -0000143935 00000 n -0000144176 00000 n -0000144217 00000 n -0000144476 00000 n -0000144717 00000 n -0000144758 00000 n -0000145017 00000 n -0000145258 00000 n -0000145499 00000 n -0000145740 00000 n -0000145781 00000 n -0000145822 00000 n -0000146091 00000 n -0000146332 00000 n -0000146573 00000 n -0000146814 00000 n -0000146855 00000 n -0000147114 00000 n -0000147155 00000 n -0000147414 00000 n -0000147655 00000 n -0000147896 00000 n -0000148137 00000 n -0000148178 00000 n -0000148437 00000 n -0000148678 00000 n -0000148901 00000 n -0000148942 00000 n -0000148983 00000 n -0000149025 00000 n -0000149305 00000 n -0000149347 00000 n -0000149607 00000 n -0000149849 00000 n -0000150091 00000 n -0000150333 00000 n -0000150375 00000 n -0000150417 00000 n -0000150687 00000 n -0000150929 00000 n -0000151171 00000 n -0000151413 00000 n -0000151655 00000 n -0000151897 00000 n -0000152139 00000 n -0000152381 00000 n -0000152623 00000 n -0000152665 00000 n -0000152925 00000 n -0000152967 00000 n -0000153227 00000 n -0000153269 00000 n -0000153529 00000 n -0000153571 00000 n -0000153831 00000 n -0000154073 00000 n -0000154315 00000 n -0000154557 00000 n -0000154599 00000 n -0000154859 00000 n -0000155101 00000 n -0000155343 00000 n -0000155585 00000 n -0000155827 00000 n -0000155869 00000 n -0000156129 00000 n -0000156371 00000 n -0000156413 00000 n -0000156673 00000 n -0000156915 00000 n -0000157157 00000 n -0000157399 00000 n -0000157441 00000 n -0000157701 00000 n -0000157943 00000 n -0000158185 00000 n -0000158427 00000 n -0000158469 00000 n -0000158729 00000 n -0000158771 00000 n -0000159031 00000 n -0000159073 00000 n -0000159115 00000 n -0000159157 00000 n -0000159437 00000 n -0000159679 00000 n -0000159921 00000 n -0000159963 00000 n -0000160223 00000 n -0000160465 00000 n -0000160707 00000 n -0000160749 00000 n -0000161009 00000 n -0000161251 00000 n -0000161493 00000 n -0000161735 00000 n -0000161777 00000 n -0000162037 00000 n -0000162079 00000 n -0000162339 00000 n -0000162581 00000 n -0000162823 00000 n -0000163065 00000 n -0000163307 00000 n -0000163349 00000 n -0000163609 00000 n -0000163651 00000 n -0000163911 00000 n -0000163953 00000 n -0000163995 00000 n -0000164037 00000 n -0000164317 00000 n -0000164559 00000 n -0000164801 00000 n -0000165043 00000 n -0000165085 00000 n -0000165345 00000 n -0000165587 00000 n -0000165829 00000 n -0000166071 00000 n -0000166313 00000 n -0000166555 00000 n -0000166797 00000 n -0000167039 00000 n -0000167281 00000 n -0000167523 00000 n -0000167765 00000 n -0000168007 00000 n -0000168249 00000 n -0000168491 00000 n -0000168733 00000 n -0000168775 00000 n -0000169035 00000 n -0000169277 00000 n -0000169319 00000 n -0000169579 00000 n -0000169821 00000 n -0000170063 00000 n -0000170305 00000 n -0000170347 00000 n -0000170607 00000 n -0000170849 00000 n -0000171091 00000 n -0000171133 00000 n -0000171393 00000 n -0000171435 00000 n -0000171477 00000 n -0000171747 00000 n -0000171789 00000 n -0000172049 00000 n -0000172291 00000 n -0000172533 00000 n -0000172775 00000 n -0000173017 00000 n -0000173259 00000 n -0000173501 00000 n -0000173743 00000 n -0000173985 00000 n -0000174227 00000 n -0000174269 00000 n -0000174529 00000 n -0000174771 00000 n -0000174813 00000 n -0000175073 00000 n -0000175315 00000 n -0000175357 00000 n -0000175617 00000 n -0000175859 00000 n -0000176101 00000 n -0000176343 00000 n -0000176585 00000 n -0000176827 00000 n -0000176869 00000 n -0000177129 00000 n -0000177371 00000 n -0000177413 00000 n -0000177455 00000 n -0000177725 00000 n -0000177767 00000 n -0000178027 00000 n -0000178269 00000 n -0000178511 00000 n -0000178753 00000 n -0000178995 00000 n -0000179237 00000 n -0000179479 00000 n -0000179521 00000 n -0000179781 00000 n -0000180023 00000 n -0000180265 00000 n -0000180507 00000 n -0000180749 00000 n -0000180991 00000 n -0000181233 00000 n -0000181275 00000 n -0000181535 00000 n -0000181777 00000 n -0000182019 00000 n -0000182261 00000 n -0000182303 00000 n -0000182563 00000 n -0000182805 00000 n -0000183047 00000 n -0000183289 00000 n -0000183331 00000 n -0000183373 00000 n -0000183643 00000 n -0000183885 00000 n -0000183927 00000 n -0000184187 00000 n -0000184229 00000 n -0000184271 00000 n -0000184541 00000 n -0000184783 00000 n -0000184825 00000 n -0000185085 00000 n -0000185327 00000 n -0000185569 00000 n -0000185811 00000 n -0000185853 00000 n -0000186113 00000 n -0000186355 00000 n -0000186597 00000 n -0000186839 00000 n -0000187081 00000 n -0000187323 00000 n -0000187365 00000 n -0000187625 00000 n -0000187867 00000 n -0000188109 00000 n -0000188351 00000 n -0000188593 00000 n -0000188835 00000 n -0000189077 00000 n -0000189319 00000 n -0000189361 00000 n -0000189621 00000 n -0000189863 00000 n -0000190105 00000 n -0000190347 00000 n -0000190589 00000 n -0000190831 00000 n -0000190873 00000 n -0000191133 00000 n -0000191375 00000 n -0000191417 00000 n -0000191677 00000 n -0000191919 00000 n -0000191961 00000 n -0000192003 00000 n -0000192273 00000 n -0000192315 00000 n -0000192575 00000 n -0000192817 00000 n -0000193059 00000 n -0000193101 00000 n -0000193143 00000 n -0000193413 00000 n -0000193655 00000 n -0000193697 00000 n -0000193957 00000 n -0000194199 00000 n -0000194241 00000 n -0000194501 00000 n -0000194743 00000 n -0000194985 00000 n -0000195227 00000 n -0000195469 00000 n -0000195711 00000 n -0000195953 00000 n -0000195995 00000 n -0000196255 00000 n -0000196297 00000 n -0000196557 00000 n -0000196799 00000 n -0000197041 00000 n -0000197283 00000 n -0000197525 00000 n -0000197567 00000 n -0000197827 00000 n -0000198069 00000 n -0000198311 00000 n -0000198553 00000 n -0000198795 00000 n -0000199037 00000 n -0000199279 00000 n -0000199521 00000 n -0000199763 00000 n -0000200005 00000 n -0000200247 00000 n -0000200489 00000 n -0000200731 00000 n -0000200773 00000 n -0000201033 00000 n -0000201275 00000 n -0000201517 00000 n -0000201559 00000 n -0000201819 00000 n -0000201861 00000 n -0000202121 00000 n -0000202163 00000 n -0000202423 00000 n -0000202465 00000 n -0000202507 00000 n -0000202549 00000 n -0000202829 00000 n -0000203071 00000 n -0000203313 00000 n -0000203555 00000 n -0000203797 00000 n -0000203839 00000 n -0000204099 00000 n -0000204141 00000 n -0000204401 00000 n -0000204643 00000 n -0000204885 00000 n -0000205127 00000 n -0000205369 00000 n -0000205611 00000 n -0000205853 00000 n -0000205895 00000 n -0000206155 00000 n -0000206397 00000 n -0000206639 00000 n -0000206881 00000 n -0000207123 00000 n -0000207365 00000 n -0000207607 00000 n -0000207849 00000 n -0000208091 00000 n -0000208333 00000 n -0000208575 00000 n -0000208617 00000 n -0000208877 00000 n -0000209119 00000 n -0000209361 00000 n -0000209603 00000 n -0000209845 00000 n -0000210087 00000 n -0000210129 00000 n -0000210389 00000 n -0000210631 00000 n -0000210873 00000 n -0000211115 00000 n -0000211357 00000 n -0000211599 00000 n -0000211841 00000 n -0000212083 00000 n -0000212325 00000 n -0000212567 00000 n -0000212609 00000 n -0000212869 00000 n -0000213111 00000 n -0000213153 00000 n -0000213195 00000 n -0000213237 00000 n -0000213517 00000 n -0000213759 00000 n -0000214001 00000 n -0000214243 00000 n -0000214485 00000 n -0000214727 00000 n -0000214969 00000 n -0000215011 00000 n -0000215271 00000 n -0000215513 00000 n -0000215755 00000 n -0000215997 00000 n -0000216239 00000 n -0000216281 00000 n -0000216323 00000 n -0000216593 00000 n -0000216835 00000 n -0000217077 00000 n -0000217319 00000 n -0000217561 00000 n -0000217803 00000 n -0000218045 00000 n -0000218287 00000 n -0000218329 00000 n -0000218589 00000 n -0000218631 00000 n -0000218891 00000 n -0000218933 00000 n -0000219193 00000 n -0000219235 00000 n -0000219495 00000 n -0000219737 00000 n -0000219979 00000 n -0000220221 00000 n -0000220463 00000 n -0000220705 00000 n -0000220747 00000 n -0000221007 00000 n -0000221249 00000 n -0000221491 00000 n -0000221533 00000 n -0000221793 00000 n -0000222035 00000 n -0000222277 00000 n -0000222519 00000 n -0000222761 00000 n -0000223003 00000 n -0000223245 00000 n -0000223287 00000 n -0000223547 00000 n -0000223789 00000 n -0000223831 00000 n -0000224111 00000 n -0000224153 00000 n -0000224413 00000 n -0000224637 00000 n -0000224679 00000 n -0000224721 00000 n -0000224763 00000 n -0000225043 00000 n -0000225285 00000 n -0000225527 00000 n -0000225769 00000 n -0000226011 00000 n -0000226253 00000 n -0000226495 00000 n -0000226537 00000 n -0000226797 00000 n -0000227039 00000 n -0000227281 00000 n -0000227523 00000 n -0000227565 00000 n -0000227825 00000 n -0000228067 00000 n -0000228309 00000 n -0000228351 00000 n -0000228611 00000 n -0000228853 00000 n -0000229095 00000 n -0000229337 00000 n -0000229379 00000 n -0000229639 00000 n -0000229881 00000 n -0000230123 00000 n -0000230365 00000 n -0000230607 00000 n -0000230849 00000 n -0000231091 00000 n -0000231133 00000 n -0000231393 00000 n -0000231435 00000 n -0000231695 00000 n -0000231937 00000 n -0000231979 00000 n -0000232021 00000 n -0000232063 00000 n -0000232343 00000 n -0000232385 00000 n -0000232655 00000 n -0000232897 00000 n -0000232939 00000 n -0000233199 00000 n -0000233441 00000 n -0000233683 00000 n -0000233925 00000 n -0000233967 00000 n -0000234227 00000 n -0000234469 00000 n -0000234511 00000 n -0000234771 00000 n -0000234813 00000 n -0000234855 00000 n -0000235125 00000 n -0000235367 00000 n -0000235609 00000 n -0000235851 00000 n -0000236093 00000 n -0000236335 00000 n -0000236577 00000 n -0000236819 00000 n -0000237061 00000 n -0000237303 00000 n -0000237545 00000 n -0000237787 00000 n -0000238029 00000 n -0000238271 00000 n -0000238513 00000 n -0000238755 00000 n -0000238997 00000 n -0000239239 00000 n -0000239481 00000 n -0000239723 00000 n -0000239965 00000 n -0000240207 00000 n -0000240449 00000 n -0000240691 00000 n -0000240933 00000 n -0000241175 00000 n -0000241417 00000 n -0000241659 00000 n -0000241701 00000 n -0000241961 00000 n -0000242203 00000 n -0000242445 00000 n -0000242687 00000 n -0000242929 00000 n -0000242971 00000 n -0000243231 00000 n -0000243473 00000 n -0000243697 00000 n -0000243739 00000 n -0000243781 00000 n -0000243823 00000 n -0000244103 00000 n -0000244373 00000 n -0000244615 00000 n -0000244657 00000 n -0000244917 00000 n -0000244959 00000 n -0000245219 00000 n -0000245461 00000 n -0000245503 00000 n -0000245763 00000 n -0000246005 00000 n -0000246247 00000 n -0000246489 00000 n -0000246731 00000 n -0000246973 00000 n -0000247215 00000 n -0000247457 00000 n -0000247699 00000 n -0000247941 00000 n -0000248183 00000 n -0000248425 00000 n -0000248667 00000 n -0000248909 00000 n -0000249151 00000 n -0000249393 00000 n -0000249635 00000 n -0000249877 00000 n -0000250119 00000 n -0000250361 00000 n -0000250603 00000 n -0000250845 00000 n -0000251087 00000 n -0000251329 00000 n -0000251571 00000 n -0000251813 00000 n -0000252055 00000 n -0000252297 00000 n -0000252539 00000 n -0000252781 00000 n -0000253023 00000 n -0000253265 00000 n -0000253507 00000 n -0000253749 00000 n -0000253991 00000 n -0000254233 00000 n -0000254475 00000 n -0000254717 00000 n -0000254959 00000 n -0000255219 00000 n -0000255461 00000 n -0000255703 00000 n -0000255945 00000 n -0000256187 00000 n -0000256429 00000 n -0000256671 00000 n -0000256913 00000 n -0000257155 00000 n -0000257197 00000 n -0000257457 00000 n -0000257681 00000 n -0000257723 00000 n -0000257983 00000 n -0000258225 00000 n -0000258467 00000 n -0000258709 00000 n -0000258951 00000 n -0000259193 00000 n -0000259435 00000 n -0000259677 00000 n -0000259919 00000 n -0000260161 00000 n -0000260403 00000 n -0000260645 00000 n -0000260887 00000 n -0000261129 00000 n -0000261371 00000 n -0000261613 00000 n -0000261855 00000 n -0000262097 00000 n -0000262339 00000 n -0000262581 00000 n -0000262823 00000 n -0000263065 00000 n -0000263307 00000 n -0000263549 00000 n -0000263791 00000 n -0000264033 00000 n -0000264275 00000 n -0000264517 00000 n -0000264759 00000 n -0000265001 00000 n -0000265243 00000 n -0000265485 00000 n -0000265727 00000 n -0000265969 00000 n -0000266211 00000 n -0000266453 00000 n -0000266695 00000 n -0000266937 00000 n -0000267179 00000 n -0000267421 00000 n -0000267663 00000 n -0000267905 00000 n -0000268147 00000 n -0000268389 00000 n -0000268631 00000 n -0000268873 00000 n -0000269115 00000 n -0000269357 00000 n -0000269599 00000 n -0000269823 00000 n -0000269865 00000 n -0000269907 00000 n -0000270177 00000 n -0000270419 00000 n -0000270661 00000 n -0000270703 00000 n -0000270963 00000 n -0000271205 00000 n -0000271447 00000 n -0000271689 00000 n -0000271931 00000 n -0000272173 00000 n -0000272415 00000 n -0000272457 00000 n -0000272717 00000 n -0000272959 00000 n -0000273201 00000 n -0000273443 00000 n -0000273685 00000 n -0000273927 00000 n -0000274169 00000 n -0000274411 00000 n -0000274653 00000 n -0000274895 00000 n -0000275137 00000 n -0000275379 00000 n -0000275621 00000 n -0000275863 00000 n -0000276105 00000 n -0000276347 00000 n -0000276589 00000 n -0000276831 00000 n -0000277073 00000 n -0000277333 00000 n -0000277575 00000 n -0000277817 00000 n -0000278059 00000 n -0000278301 00000 n -0000278543 00000 n -0000278785 00000 n -0000279027 00000 n -0000279269 00000 n -0000279511 00000 n -0000279753 00000 n -0000279995 00000 n -0000280237 00000 n -0000280479 00000 n -0000280721 00000 n -0000280963 00000 n -0000281205 00000 n -0000281447 00000 n -0000281689 00000 n -0000281931 00000 n -0000282173 00000 n -0000282415 00000 n -0000282639 00000 n -0000282681 00000 n -0000282941 00000 n -0000283183 00000 n -0000283443 00000 n -0000283743 00000 n -0000283985 00000 n -0000284245 00000 n -0000284487 00000 n -0000284711 00000 n -0000284753 00000 n -0000284796 00000 n -0000284839 00000 n -0000284882 00000 n -0000284925 00000 n -0000284968 00000 n -0000285012 00000 n -0000285055 00000 n -0000285098 00000 n -0000285141 00000 n -0000285184 00000 n -0000285227 00000 n -0000285270 00000 n -0000285313 00000 n -0000285356 00000 n -0000285399 00000 n -0000285442 00000 n -0000285485 00000 n -0000285529 00000 n -0000285573 00000 n -0000285617 00000 n -0000285661 00000 n -0000285705 00000 n -0000285749 00000 n -0000285792 00000 n -0000285835 00000 n -0000285878 00000 n -0000285921 00000 n -0000285964 00000 n -0000286007 00000 n -0000286050 00000 n -0000286093 00000 n -0000286136 00000 n -0000286179 00000 n -0000286222 00000 n -0000286265 00000 n -0000286308 00000 n -0000286352 00000 n -0000286396 00000 n -0000286440 00000 n -0000286484 00000 n -0000286528 00000 n -0000286571 00000 n -0000286614 00000 n -0000286657 00000 n -0000286701 00000 n -0000286744 00000 n -0000286787 00000 n -0000286830 00000 n -0000286873 00000 n -0000286916 00000 n -0000286959 00000 n -0000287002 00000 n -0000287045 00000 n -0000287088 00000 n -0000287131 00000 n -0000287175 00000 n -0000287219 00000 n -0000287263 00000 n -0000287307 00000 n -0000287351 00000 n -0000287395 00000 n -0000287438 00000 n -0000287481 00000 n -0000287524 00000 n -0000287567 00000 n -0000287610 00000 n -0000287653 00000 n -0000287696 00000 n -0000287739 00000 n -0000287782 00000 n -0000287825 00000 n -0000287868 00000 n -0000287911 00000 n -0000287955 00000 n -0000287999 00000 n -0000288042 00000 n -0000288085 00000 n -0000288128 00000 n -0000288171 00000 n -0000288214 00000 n -0000288257 00000 n -0000288300 00000 n -0000288343 00000 n -0000288386 00000 n -0000288429 00000 n -0000288472 00000 n -0000288516 00000 n -0000288560 00000 n -0000288603 00000 n -0000288646 00000 n -0000288690 00000 n -0000288734 00000 n -0000288778 00000 n -0000288822 00000 n -0000288866 00000 n -0000288910 00000 n -0000288954 00000 n -0000288998 00000 n -0000289042 00000 n -0000289086 00000 n -0000289130 00000 n -0000289173 00000 n -0000289216 00000 n -0000289259 00000 n -0000289302 00000 n -0000289345 00000 n -0000289389 00000 n -0000289432 00000 n -0000289475 00000 n -0000289518 00000 n -0000289561 00000 n -0000289604 00000 n -0000289647 00000 n -0000289690 00000 n -0000289733 00000 n -0000289776 00000 n -0000289819 00000 n -0000289862 00000 n -0000289905 00000 n -0000289948 00000 n -0000289991 00000 n -0000290034 00000 n -0000290077 00000 n -0000290121 00000 n -0000290165 00000 n -0000290209 00000 n -0000290253 00000 n -0000290297 00000 n -0000290341 00000 n -0000290385 00000 n -0000290429 00000 n -0000290473 00000 n -0000290517 00000 n -0000290561 00000 n -0000290605 00000 n -0000290649 00000 n -0000290693 00000 n -0000290737 00000 n -0000290781 00000 n -0000290825 00000 n -0000290869 00000 n -0000290913 00000 n -0000290957 00000 n -0000291001 00000 n -0000291045 00000 n -0000291089 00000 n -0000291133 00000 n -0000291177 00000 n -0000291221 00000 n -0000291264 00000 n -0000291307 00000 n -0000291350 00000 n -0000291393 00000 n -0000291436 00000 n -0000291479 00000 n -0000293289 00000 n -0000293333 00000 n -0000293377 00000 n -0000293421 00000 n -0000293465 00000 n -0000293509 00000 n -0000293553 00000 n -0000293597 00000 n -0000293641 00000 n -0000293685 00000 n -0000293728 00000 n -0000293771 00000 n -0000293815 00000 n -0000293859 00000 n -0000293903 00000 n -0000293947 00000 n -0000293991 00000 n -0000294035 00000 n -0000294079 00000 n -0000294123 00000 n -0000294167 00000 n -0000294211 00000 n -0000294255 00000 n -0000294299 00000 n -0000294343 00000 n -0000294387 00000 n -0000294431 00000 n -0000294475 00000 n -0000294518 00000 n -0000294561 00000 n -0000294604 00000 n -0000294648 00000 n -0000294692 00000 n -0000294736 00000 n -0000294780 00000 n -0000294824 00000 n -0000294868 00000 n -0000294912 00000 n -0000294956 00000 n -0000295000 00000 n -0000295044 00000 n -0000295088 00000 n -0000295131 00000 n -0000295174 00000 n -0000295218 00000 n -0000295262 00000 n -0000295306 00000 n -0000295350 00000 n -0000295394 00000 n -0000295438 00000 n -0000295482 00000 n -0000295526 00000 n -0000295570 00000 n -0000295614 00000 n -0000295658 00000 n -0000295702 00000 n -0000295746 00000 n -0000295790 00000 n -0000295834 00000 n -0000295877 00000 n -0000295921 00000 n -0000295965 00000 n -0000296009 00000 n -0000296053 00000 n -0000296097 00000 n -0000296141 00000 n -0000296185 00000 n -0000296229 00000 n -0000296273 00000 n -0000296316 00000 n -0000296360 00000 n -0000296404 00000 n -0000296448 00000 n -0000296492 00000 n -0000296536 00000 n -0000296580 00000 n -0000296624 00000 n -0000296668 00000 n -0000296712 00000 n -0000296756 00000 n -0000296800 00000 n -0000296843 00000 n -0000296887 00000 n -0000296931 00000 n -0000296975 00000 n -0000297019 00000 n -0000297062 00000 n -0000297106 00000 n -0000297150 00000 n -0000297194 00000 n -0000297238 00000 n -0000297282 00000 n -0000297326 00000 n -0000297370 00000 n -0000297414 00000 n -0000297458 00000 n -0000297502 00000 n -0000297546 00000 n -0000297590 00000 n -0000297633 00000 n -0000297676 00000 n -0000297719 00000 n -0000297762 00000 n -0000297805 00000 n -0000297848 00000 n -0000297891 00000 n -0000297934 00000 n -0000297977 00000 n -0000298020 00000 n -0000298063 00000 n -0000298106 00000 n -0000298149 00000 n -0000298192 00000 n -0000298236 00000 n -0000298280 00000 n -0000298324 00000 n -0000298367 00000 n -0000298410 00000 n -0000298453 00000 n -0000298497 00000 n -0000298541 00000 n -0000298585 00000 n -0000298629 00000 n -0000298673 00000 n -0000298717 00000 n -0000298761 00000 n -0000298805 00000 n -0000298848 00000 n -0000298892 00000 n -0000298936 00000 n -0000298980 00000 n -0000299024 00000 n -0000299067 00000 n -0000299110 00000 n -0000299153 00000 n -0000299196 00000 n -0000299239 00000 n -0000299283 00000 n -0000299327 00000 n -0000299371 00000 n -0000299415 00000 n -0000299459 00000 n -0000299503 00000 n -0000299546 00000 n -0000299589 00000 n -0000299633 00000 n -0000299676 00000 n -0000299719 00000 n -0000299762 00000 n -0000299805 00000 n -0000299848 00000 n -0000299891 00000 n -0000299935 00000 n -0000299978 00000 n -0000300022 00000 n -0000300065 00000 n -0000300109 00000 n -0000300152 00000 n -0000300195 00000 n -0000300238 00000 n -0000300281 00000 n -0000300324 00000 n -0000300368 00000 n -0000300412 00000 n -0000300456 00000 n -0000300500 00000 n -0000300543 00000 n -0000300587 00000 n -0000300631 00000 n -0000300675 00000 n -0000300719 00000 n -0000300763 00000 n -0000300807 00000 n -0000300850 00000 n -0000300894 00000 n -0000300937 00000 n -0000300981 00000 n -0000301024 00000 n -0000301067 00000 n -0000301110 00000 n -0000301153 00000 n -0000301196 00000 n -0000301239 00000 n -0000301282 00000 n -0000301325 00000 n -0000301368 00000 n -0000301412 00000 n -0000301456 00000 n -0000301499 00000 n -0000301542 00000 n -0000301585 00000 n -0000301628 00000 n -0000301671 00000 n -0000301714 00000 n -0000301757 00000 n -0000301800 00000 n -0000301843 00000 n -0000301886 00000 n -0000301929 00000 n -0000301972 00000 n -0000302015 00000 n -0000302058 00000 n -0000302101 00000 n -0000302144 00000 n -0000302187 00000 n -0000302230 00000 n -0000302274 00000 n -0000302318 00000 n -0000302362 00000 n -0000302406 00000 n -0000302450 00000 n -0000302494 00000 n -0000302538 00000 n -0000302582 00000 n -0000302625 00000 n -0000302668 00000 n -0000302711 00000 n -0000302754 00000 n -0000302797 00000 n -0000302840 00000 n -0000302883 00000 n -0000302926 00000 n -0000302969 00000 n -0000303012 00000 n -0000303055 00000 n -0000303099 00000 n -0000303143 00000 n -0000303187 00000 n -0000303231 00000 n -0000303275 00000 n -0000303319 00000 n -0000303362 00000 n -0000303405 00000 n -0000303448 00000 n -0000303491 00000 n -0000303534 00000 n -0000303577 00000 n -0000303620 00000 n -0000303663 00000 n -0000303706 00000 n -0000303749 00000 n -0000303793 00000 n -0000303837 00000 n -0000303880 00000 n -0000303923 00000 n -0000303966 00000 n -0000304009 00000 n -0000304052 00000 n -0000304095 00000 n -0000304138 00000 n -0000304181 00000 n -0000304224 00000 n -0000304267 00000 n -0000304310 00000 n -0000304354 00000 n -0000304398 00000 n -0000304441 00000 n -0000304484 00000 n -0000304527 00000 n -0000304571 00000 n -0000304615 00000 n -0000304659 00000 n -0000304703 00000 n -0000304747 00000 n -0000304791 00000 n -0000304834 00000 n -0000304877 00000 n -0000304920 00000 n -0000304963 00000 n -0000307893 00000 n -0000307937 00000 n -0000307981 00000 n -0000308025 00000 n -0000308069 00000 n -0000308113 00000 n -0000308157 00000 n -0000308201 00000 n -0000308245 00000 n -0000308289 00000 n -0000308333 00000 n -0000308377 00000 n -0000308421 00000 n -0000308464 00000 n -0000308507 00000 n -0000308550 00000 n -0000308593 00000 n -0000308636 00000 n -0000308680 00000 n -0000308724 00000 n -0000308767 00000 n -0000308810 00000 n -0000308853 00000 n -0000308896 00000 n -0000308939 00000 n -0000308982 00000 n -0000309025 00000 n -0000309068 00000 n -0000309111 00000 n -0000309154 00000 n -0000309198 00000 n -0000309242 00000 n -0000309286 00000 n -0000309330 00000 n -0000309374 00000 n -0000309417 00000 n -0000309460 00000 n -0000309504 00000 n -0000309547 00000 n -0000309590 00000 n -0000309633 00000 n -0000309676 00000 n -0000309720 00000 n -0000309764 00000 n -0000309808 00000 n -0000309852 00000 n -0000309896 00000 n -0000309940 00000 n -0000309984 00000 n -0000310027 00000 n -0000310071 00000 n -0000310115 00000 n -0000310159 00000 n -0000310203 00000 n -0000310247 00000 n -0000310291 00000 n -0000310335 00000 n -0000310379 00000 n -0000310423 00000 n -0000310467 00000 n -0000310510 00000 n -0000310553 00000 n -0000310596 00000 n -0000310639 00000 n -0000310682 00000 n -0000310725 00000 n -0000310769 00000 n -0000310813 00000 n -0000310856 00000 n -0000310899 00000 n -0000310942 00000 n -0000310985 00000 n -0000311029 00000 n -0000311073 00000 n -0000311116 00000 n -0000311159 00000 n -0000311202 00000 n -0000311245 00000 n -0000311288 00000 n -0000311331 00000 n -0000311374 00000 n -0000311417 00000 n -0000311460 00000 n -0000311503 00000 n -0000311546 00000 n -0000311589 00000 n -0000311633 00000 n -0000311677 00000 n -0000311721 00000 n -0000311765 00000 n -0000311809 00000 n -0000311853 00000 n -0000311896 00000 n -0000311939 00000 n -0000311982 00000 n -0000312025 00000 n -0000312068 00000 n -0000312111 00000 n -0000312154 00000 n -0000312197 00000 n -0000312240 00000 n -0000312284 00000 n -0000312327 00000 n -0000312371 00000 n -0000312415 00000 n -0000312459 00000 n -0000312503 00000 n -0000312547 00000 n -0000312591 00000 n -0000312635 00000 n -0000312679 00000 n -0000312723 00000 n -0000312767 00000 n -0000312811 00000 n -0000312855 00000 n -0000312899 00000 n -0000312943 00000 n -0000312986 00000 n -0000313029 00000 n -0000313072 00000 n -0000313115 00000 n -0000313158 00000 n -0000313201 00000 n -0000313244 00000 n -0000313287 00000 n -0000313330 00000 n -0000313373 00000 n -0000313416 00000 n -0000313460 00000 n -0000313504 00000 n -0000313548 00000 n -0000313592 00000 n -0000313636 00000 n -0000313680 00000 n -0000313724 00000 n -0000313768 00000 n -0000313812 00000 n -0000313856 00000 n -0000313900 00000 n -0000313944 00000 n -0000313987 00000 n -0000314030 00000 n -0000314073 00000 n -0000314116 00000 n -0000314159 00000 n -0000314203 00000 n -0000314247 00000 n -0000314291 00000 n -0000314335 00000 n -0000314379 00000 n -0000314422 00000 n -0000314466 00000 n -0000314510 00000 n -0000314554 00000 n -0000314598 00000 n -0000314642 00000 n -0000314686 00000 n -0000314729 00000 n -0000314772 00000 n -0000314815 00000 n -0000314858 00000 n -0000314901 00000 n -0000314944 00000 n -0000314987 00000 n -0000315031 00000 n -0000315075 00000 n -0000315119 00000 n -0000315162 00000 n -0000315205 00000 n -0000315248 00000 n -0000315291 00000 n -0000315335 00000 n -0000315379 00000 n -0000315423 00000 n -0000315467 00000 n -0000315510 00000 n -0000315553 00000 n -0000315596 00000 n -0000315640 00000 n -0000315684 00000 n -0000315728 00000 n -0000315772 00000 n -0000315816 00000 n -0000315860 00000 n -0000315904 00000 n -0000315948 00000 n -0000315992 00000 n -0000316036 00000 n -0000316080 00000 n -0000316124 00000 n -0000316168 00000 n -0000316211 00000 n -0000316254 00000 n -0000316297 00000 n -0000316341 00000 n -0000316384 00000 n -0000316427 00000 n -0000316470 00000 n -0000316513 00000 n -0000316556 00000 n -0000316600 00000 n -0000316643 00000 n -0000316686 00000 n -0000316729 00000 n -0000316772 00000 n -0000316815 00000 n -0000316858 00000 n -0000316901 00000 n -0000316944 00000 n -0000316987 00000 n -0000317030 00000 n -0000317073 00000 n -0000317116 00000 n -0000317159 00000 n -0000317202 00000 n -0000317245 00000 n -0000317288 00000 n -0000317331 00000 n -0000317375 00000 n -0000317419 00000 n -0000317463 00000 n -0000317506 00000 n -0000317550 00000 n -0000317594 00000 n -0000317638 00000 n -0000317682 00000 n -0000317726 00000 n -0000317769 00000 n -0000317812 00000 n -0000317855 00000 n -0000317898 00000 n -0000317941 00000 n -0000317984 00000 n -0000318028 00000 n -0000318072 00000 n -0000318116 00000 n -0000318160 00000 n -0000318204 00000 n -0000318248 00000 n -0000318292 00000 n -0000318336 00000 n -0000318380 00000 n -0000318424 00000 n -0000318468 00000 n -0000318512 00000 n -0000318556 00000 n -0000318600 00000 n -0000318643 00000 n -0000318686 00000 n -0000318729 00000 n -0000318773 00000 n -0000318817 00000 n -0000318861 00000 n -0000318905 00000 n -0000318949 00000 n -0000318993 00000 n -0000319036 00000 n -0000319080 00000 n -0000319124 00000 n -0000319168 00000 n -0000319212 00000 n -0000319255 00000 n -0000319298 00000 n -0000319341 00000 n -0000319384 00000 n -0000319427 00000 n -0000319470 00000 n -0000319513 00000 n -0000319556 00000 n -0000319599 00000 n -0000319642 00000 n -0000322592 00000 n -0000322635 00000 n -0000322679 00000 n -0000322723 00000 n -0000322767 00000 n -0000322810 00000 n -0000322854 00000 n -0000322898 00000 n -0000322942 00000 n -0000322985 00000 n -0000323029 00000 n -0000323073 00000 n -0000323117 00000 n -0000323160 00000 n -0000323204 00000 n -0000323248 00000 n -0000323292 00000 n -0000323335 00000 n -0000323378 00000 n -0000323421 00000 n -0000323465 00000 n -0000323508 00000 n -0000323551 00000 n -0000323594 00000 n -0000323637 00000 n -0000323680 00000 n -0000323723 00000 n -0000323766 00000 n -0000323809 00000 n -0000323852 00000 n -0000323895 00000 n -0000323938 00000 n -0000323981 00000 n -0000324024 00000 n -0000324067 00000 n -0000324110 00000 n -0000324153 00000 n -0000324197 00000 n -0000324241 00000 n -0000324284 00000 n -0000324328 00000 n -0000324371 00000 n -0000324414 00000 n -0000324457 00000 n -0000324500 00000 n -0000324543 00000 n -0000324586 00000 n -0000324629 00000 n -0000324672 00000 n -0000324715 00000 n -0000324759 00000 n -0000324803 00000 n -0000324847 00000 n -0000324891 00000 n -0000324934 00000 n -0000324977 00000 n -0000325020 00000 n -0000325064 00000 n -0000325107 00000 n -0000325150 00000 n -0000325193 00000 n -0000325236 00000 n -0000325279 00000 n -0000325322 00000 n -0000325365 00000 n -0000325408 00000 n -0000325452 00000 n -0000325496 00000 n -0000325540 00000 n -0000325583 00000 n -0000325626 00000 n -0000325670 00000 n -0000325714 00000 n -0000325758 00000 n -0000325802 00000 n -0000325846 00000 n -0000325890 00000 n -0000325934 00000 n -0000325977 00000 n -0000326020 00000 n -0000326063 00000 n -0000326106 00000 n -0000326149 00000 n -0000326192 00000 n -0000326235 00000 n -0000326278 00000 n -0000326321 00000 n -0000326365 00000 n -0000326409 00000 n -0000326453 00000 n -0000326497 00000 n -0000326541 00000 n -0000326585 00000 n -0000326629 00000 n -0000326673 00000 n -0000326717 00000 n -0000326761 00000 n -0000326805 00000 n -0000326849 00000 n -0000326893 00000 n -0000326937 00000 n -0000326981 00000 n -0000327025 00000 n -0000327069 00000 n -0000327113 00000 n -0000327157 00000 n -0000327201 00000 n -0000327245 00000 n -0000327289 00000 n -0000327333 00000 n -0000327377 00000 n -0000327421 00000 n -0000327465 00000 n -0000327509 00000 n -0000327553 00000 n -0000327597 00000 n -0000327641 00000 n -0000327685 00000 n -0000327729 00000 n -0000327773 00000 n -0000327817 00000 n -0000327861 00000 n -0000327905 00000 n -0000327948 00000 n -0000327992 00000 n -0000328036 00000 n -0000328079 00000 n -0000328122 00000 n -0000328165 00000 n -0000328208 00000 n -0000328251 00000 n -0000328294 00000 n -0000328337 00000 n -0000328380 00000 n -0000328423 00000 n -0000328466 00000 n -0000328509 00000 n -0000328552 00000 n -0000328595 00000 n -0000328638 00000 n -0000328681 00000 n -0000328724 00000 n -0000328768 00000 n -0000328812 00000 n -0000328855 00000 n -0000328898 00000 n -0000328941 00000 n -0000328984 00000 n -0000329027 00000 n -0000329071 00000 n -0000329115 00000 n -0000329159 00000 n -0000329203 00000 n -0000329246 00000 n -0000329289 00000 n -0000329332 00000 n -0000329375 00000 n -0000329418 00000 n -0000329462 00000 n -0000329506 00000 n -0000329550 00000 n -0000329593 00000 n -0000329637 00000 n -0000329680 00000 n -0000329723 00000 n -0000329766 00000 n -0000329809 00000 n -0000329852 00000 n -0000329895 00000 n -0000329938 00000 n -0000329981 00000 n -0000330024 00000 n -0000330067 00000 n -0000330110 00000 n -0000330153 00000 n -0000330196 00000 n -0000330239 00000 n -0000330282 00000 n -0000330325 00000 n -0000330368 00000 n -0000330412 00000 n -0000330456 00000 n -0000330500 00000 n -0000330544 00000 n -0000330588 00000 n -0000330632 00000 n -0000330676 00000 n -0000330720 00000 n -0000330764 00000 n -0000330808 00000 n -0000330852 00000 n -0000330896 00000 n -0000330940 00000 n -0000330984 00000 n -0000331028 00000 n -0000331072 00000 n -0000331116 00000 n -0000331160 00000 n -0000331204 00000 n -0000331248 00000 n -0000331292 00000 n -0000331336 00000 n -0000331380 00000 n -0000331424 00000 n -0000331468 00000 n -0000331512 00000 n -0000331556 00000 n -0000331600 00000 n -0000331644 00000 n -0000331688 00000 n -0000331732 00000 n -0000331776 00000 n -0000331820 00000 n -0000331864 00000 n -0000331908 00000 n -0000331952 00000 n -0000331996 00000 n -0000332040 00000 n -0000332084 00000 n -0000332128 00000 n -0000332172 00000 n -0000332216 00000 n -0000332259 00000 n -0000332302 00000 n -0000332345 00000 n -0000332388 00000 n -0000332431 00000 n -0000332475 00000 n -0000332519 00000 n -0000332563 00000 n -0000332607 00000 n -0000332650 00000 n -0000332694 00000 n -0000332738 00000 n -0000332782 00000 n -0000332825 00000 n -0000332868 00000 n -0000332911 00000 n -0000332954 00000 n -0000332998 00000 n -0000333042 00000 n -0000333086 00000 n -0000333130 00000 n -0000333173 00000 n -0000333217 00000 n -0000333261 00000 n -0000333305 00000 n -0000333349 00000 n -0000333392 00000 n -0000333436 00000 n -0000333480 00000 n -0000333524 00000 n -0000333568 00000 n -0000333612 00000 n -0000333656 00000 n -0000333700 00000 n -0000333744 00000 n -0000333788 00000 n -0000333832 00000 n -0000333876 00000 n -0000333920 00000 n -0000333964 00000 n -0000334008 00000 n -0000334052 00000 n -0000334096 00000 n -0000334140 00000 n -0000334184 00000 n -0000334228 00000 n -0000334272 00000 n -0000334316 00000 n -0000334360 00000 n -0000334404 00000 n -0000334448 00000 n -0000334492 00000 n -0000334536 00000 n -0000334580 00000 n -0000334623 00000 n -0000334666 00000 n -0000334709 00000 n -0000334752 00000 n -0000334795 00000 n -0000334839 00000 n -0000334883 00000 n -0000334926 00000 n -0000338006 00000 n -0000338049 00000 n -0000338093 00000 n -0000338137 00000 n -0000338180 00000 n -0000338223 00000 n -0000338267 00000 n -0000338311 00000 n -0000338354 00000 n -0000338397 00000 n -0000338440 00000 n -0000338483 00000 n -0000338527 00000 n -0000338571 00000 n -0000338615 00000 n -0000338659 00000 n -0000338703 00000 n -0000338747 00000 n -0000338791 00000 n -0000338835 00000 n -0000338879 00000 n -0000338923 00000 n -0000338967 00000 n -0000339011 00000 n -0000339055 00000 n -0000339099 00000 n -0000339143 00000 n -0000339187 00000 n -0000339231 00000 n -0000339275 00000 n -0000339319 00000 n -0000339362 00000 n -0000339405 00000 n -0000339448 00000 n -0000339491 00000 n -0000339534 00000 n -0000339577 00000 n -0000339620 00000 n -0000339663 00000 n -0000339706 00000 n -0000339749 00000 n -0000339792 00000 n -0000339835 00000 n -0000339878 00000 n -0000339921 00000 n -0000339964 00000 n -0000340007 00000 n -0000340050 00000 n -0000340093 00000 n -0000340136 00000 n -0000340179 00000 n -0000340223 00000 n -0000340267 00000 n -0000340311 00000 n -0000340355 00000 n -0000340399 00000 n -0000340443 00000 n -0000340487 00000 n -0000340531 00000 n -0000340575 00000 n -0000340619 00000 n -0000340663 00000 n -0000340707 00000 n -0000340751 00000 n -0000340795 00000 n -0000340839 00000 n -0000340883 00000 n -0000340927 00000 n -0000340971 00000 n -0000341015 00000 n -0000341059 00000 n -0000341103 00000 n -0000341147 00000 n -0000341191 00000 n -0000341235 00000 n -0000341279 00000 n -0000341322 00000 n -0000341366 00000 n -0000341409 00000 n -0000341453 00000 n -0000341496 00000 n -0000341539 00000 n -0000341582 00000 n -0000341625 00000 n -0000341668 00000 n -0000341711 00000 n -0000341754 00000 n -0000341797 00000 n -0000341841 00000 n -0000341885 00000 n -0000341929 00000 n -0000341973 00000 n -0000342017 00000 n -0000342060 00000 n -0000342103 00000 n -0000342146 00000 n -0000342189 00000 n -0000342232 00000 n -0000342275 00000 n -0000342318 00000 n -0000342362 00000 n -0000342405 00000 n -0000342448 00000 n -0000342492 00000 n -0000342536 00000 n -0000342579 00000 n -0000342623 00000 n -0000342667 00000 n -0000342711 00000 n -0000342755 00000 n -0000342799 00000 n -0000342843 00000 n -0000342887 00000 n -0000342931 00000 n -0000342975 00000 n -0000343019 00000 n -0000343063 00000 n -0000343107 00000 n -0000343151 00000 n -0000343194 00000 n -0000343237 00000 n -0000343280 00000 n -0000343323 00000 n -0000343366 00000 n -0000343409 00000 n -0000343452 00000 n -0000343495 00000 n -0000343538 00000 n -0000343581 00000 n -0000343624 00000 n -0000343667 00000 n -0000343711 00000 n -0000343755 00000 n -0000343799 00000 n -0000343843 00000 n -0000343887 00000 n -0000343931 00000 n -0000343974 00000 n -0000344017 00000 n -0000344060 00000 n -0000344103 00000 n -0000344146 00000 n -0000344189 00000 n -0000344232 00000 n -0000344275 00000 n -0000344319 00000 n -0000344362 00000 n -0000344405 00000 n -0000344449 00000 n -0000344493 00000 n -0000344537 00000 n -0000344581 00000 n -0000344625 00000 n -0000344669 00000 n -0000344713 00000 n -0000344757 00000 n -0000344801 00000 n -0000344845 00000 n -0000344889 00000 n -0000344932 00000 n -0000344975 00000 n -0000345018 00000 n -0000345062 00000 n -0000345105 00000 n -0000345149 00000 n -0000345193 00000 n -0000345237 00000 n -0000345281 00000 n -0000345325 00000 n -0000345369 00000 n -0000345413 00000 n -0000345457 00000 n -0000345501 00000 n -0000345545 00000 n -0000345589 00000 n -0000345632 00000 n -0000345676 00000 n -0000345720 00000 n -0000345764 00000 n -0000345808 00000 n -0000345852 00000 n -0000345896 00000 n -0000345940 00000 n -0000345984 00000 n -0000346028 00000 n -0000346071 00000 n -0000346115 00000 n -0000346159 00000 n -0000346203 00000 n -0000346247 00000 n -0000346291 00000 n -0000346335 00000 n -0000346379 00000 n -0000346423 00000 n -0000346466 00000 n -0000346509 00000 n -0000346553 00000 n -0000346597 00000 n -0000346641 00000 n -0000346684 00000 n -0000346727 00000 n -0000346770 00000 n -0000346813 00000 n -0000346856 00000 n -0000346899 00000 n -0000346942 00000 n -0000346985 00000 n -0000347028 00000 n -0000347071 00000 n -0000347114 00000 n -0000347157 00000 n -0000347200 00000 n -0000347243 00000 n -0000347286 00000 n -0000347329 00000 n -0000347372 00000 n -0000347415 00000 n -0000347458 00000 n -0000347501 00000 n -0000347544 00000 n -0000347587 00000 n -0000347631 00000 n -0000347674 00000 n -0000347718 00000 n -0000347762 00000 n -0000347806 00000 n -0000347850 00000 n -0000347893 00000 n -0000347937 00000 n -0000347981 00000 n -0000348025 00000 n -0000348069 00000 n -0000348113 00000 n -0000348157 00000 n -0000348201 00000 n -0000348245 00000 n -0000348289 00000 n -0000348333 00000 n -0000348377 00000 n -0000348421 00000 n -0000348465 00000 n -0000348509 00000 n -0000348553 00000 n -0000348597 00000 n -0000348641 00000 n -0000348685 00000 n -0000348729 00000 n -0000348773 00000 n -0000348816 00000 n -0000348860 00000 n -0000348903 00000 n -0000348946 00000 n -0000348990 00000 n -0000349033 00000 n -0000349076 00000 n -0000349120 00000 n -0000349164 00000 n -0000349207 00000 n -0000349251 00000 n -0000349295 00000 n -0000349339 00000 n -0000349383 00000 n -0000349427 00000 n -0000349471 00000 n -0000349515 00000 n -0000349559 00000 n -0000349603 00000 n -0000349647 00000 n -0000349691 00000 n -0000349735 00000 n -0000349779 00000 n -0000349823 00000 n -0000349867 00000 n -0000349910 00000 n -0000349953 00000 n -0000349996 00000 n -0000350039 00000 n -0000350082 00000 n -0000350126 00000 n -0000350170 00000 n -0000350213 00000 n -0000350256 00000 n -0000350299 00000 n -0000350342 00000 n -0000353422 00000 n -0000353465 00000 n -0000353509 00000 n -0000353553 00000 n -0000353597 00000 n -0000353641 00000 n -0000353685 00000 n -0000353729 00000 n -0000353773 00000 n -0000353817 00000 n -0000353861 00000 n -0000353905 00000 n -0000353949 00000 n -0000353993 00000 n -0000354037 00000 n -0000354081 00000 n -0000354125 00000 n -0000354169 00000 n -0000354213 00000 n -0000354257 00000 n -0000354301 00000 n -0000354345 00000 n -0000354389 00000 n -0000354433 00000 n -0000354477 00000 n -0000354521 00000 n -0000354565 00000 n -0000354609 00000 n -0000354653 00000 n -0000354697 00000 n -0000354741 00000 n -0000354785 00000 n -0000354829 00000 n -0000354873 00000 n -0000354917 00000 n -0000354961 00000 n -0000355005 00000 n -0000355049 00000 n -0000355093 00000 n -0000355137 00000 n -0000355181 00000 n -0000355225 00000 n -0000355269 00000 n -0000355313 00000 n -0000355357 00000 n -0000355401 00000 n -0000355445 00000 n -0000355489 00000 n -0000355533 00000 n -0000355577 00000 n -0000355621 00000 n -0000355665 00000 n -0000355709 00000 n -0000355753 00000 n -0000355797 00000 n -0000355841 00000 n -0000355885 00000 n -0000355929 00000 n -0000355973 00000 n -0000356017 00000 n -0000356061 00000 n -0000356105 00000 n -0000356149 00000 n -0000356193 00000 n -0000356237 00000 n -0000356281 00000 n -0000356325 00000 n -0000356369 00000 n -0000356413 00000 n -0000356457 00000 n -0000356501 00000 n -0000356545 00000 n -0000356589 00000 n -0000356633 00000 n -0000356677 00000 n -0000356721 00000 n -0000356765 00000 n -0000356809 00000 n -0000356853 00000 n -0000356897 00000 n -0000356941 00000 n -0000356985 00000 n -0000357029 00000 n -0000357073 00000 n -0000357117 00000 n -0000357161 00000 n -0000357205 00000 n -0000357249 00000 n -0000357293 00000 n -0000357337 00000 n -0000357381 00000 n -0000357425 00000 n -0000357469 00000 n -0000357513 00000 n -0000357557 00000 n -0000357601 00000 n -0000357645 00000 n -0000357689 00000 n -0000357733 00000 n -0000357777 00000 n -0000357821 00000 n -0000357865 00000 n -0000357909 00000 n -0000357953 00000 n -0000357997 00000 n -0000358041 00000 n -0000358085 00000 n -0000358129 00000 n -0000358173 00000 n -0000358217 00000 n -0000358261 00000 n -0000358305 00000 n -0000358349 00000 n -0000358393 00000 n -0000358437 00000 n -0000358481 00000 n -0000358525 00000 n -0000358569 00000 n -0000358613 00000 n -0000358657 00000 n -0000358701 00000 n -0000358745 00000 n -0000358789 00000 n -0000358833 00000 n -0000358877 00000 n -0000358921 00000 n -0000358965 00000 n -0000359009 00000 n -0000359053 00000 n -0000359097 00000 n -0000359141 00000 n -0000359185 00000 n -0000359229 00000 n -0000359273 00000 n -0000359317 00000 n -0000359361 00000 n -0000359405 00000 n -0000359449 00000 n -0000359493 00000 n -0000359537 00000 n -0000359581 00000 n -0000359625 00000 n -0000359669 00000 n -0000359713 00000 n -0000359757 00000 n -0000359801 00000 n -0000359845 00000 n -0000359889 00000 n -0000359933 00000 n -0000359977 00000 n -0000360021 00000 n -0000360065 00000 n -0000360109 00000 n -0000360153 00000 n -0000360197 00000 n -0000360241 00000 n -0000360285 00000 n -0000360329 00000 n -0000360373 00000 n -0000360417 00000 n -0000360461 00000 n -0000360505 00000 n -0000360549 00000 n -0000360593 00000 n -0000360637 00000 n -0000360681 00000 n -0000360725 00000 n -0000360769 00000 n -0000360813 00000 n -0000360857 00000 n -0000360901 00000 n -0000360945 00000 n -0000360989 00000 n -0000361033 00000 n -0000361077 00000 n -0000361121 00000 n -0000361165 00000 n -0000361209 00000 n -0000361253 00000 n -0000361297 00000 n -0000361341 00000 n -0000361385 00000 n -0000361429 00000 n -0000361473 00000 n -0000361517 00000 n -0000361561 00000 n -0000361605 00000 n -0000361649 00000 n -0000361693 00000 n -0000361737 00000 n -0000361781 00000 n -0000361825 00000 n -0000361869 00000 n -0000361913 00000 n -0000361957 00000 n -0000362001 00000 n -0000362045 00000 n -0000362089 00000 n -0000362133 00000 n -0000362177 00000 n -0000362221 00000 n -0000362265 00000 n -0000362309 00000 n -0000362353 00000 n -0000362397 00000 n -0000362441 00000 n -0000362484 00000 n -0000362527 00000 n -0000362570 00000 n -0000362613 00000 n -0000362657 00000 n -0000362701 00000 n -0000362745 00000 n -0000362788 00000 n -0000362831 00000 n -0000362875 00000 n -0000362918 00000 n -0000362961 00000 n -0000363004 00000 n -0000363047 00000 n -0000363090 00000 n -0000363133 00000 n -0000363177 00000 n -0000363221 00000 n -0000363265 00000 n -0000363309 00000 n -0000363353 00000 n -0000363397 00000 n -0000363440 00000 n -0000363483 00000 n -0000363526 00000 n -0000363570 00000 n -0000363613 00000 n -0000363656 00000 n -0000363699 00000 n -0000363742 00000 n -0000363785 00000 n -0000363828 00000 n -0000363871 00000 n -0000363914 00000 n -0000363958 00000 n -0000364002 00000 n -0000364045 00000 n -0000364088 00000 n -0000364131 00000 n -0000364174 00000 n -0000364218 00000 n -0000364262 00000 n -0000364305 00000 n -0000364348 00000 n -0000364392 00000 n -0000364435 00000 n -0000364479 00000 n -0000364523 00000 n -0000364567 00000 n -0000364610 00000 n -0000364653 00000 n -0000364696 00000 n -0000364739 00000 n -0000364783 00000 n -0000364826 00000 n -0000364870 00000 n -0000364913 00000 n -0000364957 00000 n -0000365000 00000 n -0000365043 00000 n -0000365086 00000 n -0000365129 00000 n -0000365172 00000 n -0000365215 00000 n -0000365258 00000 n -0000365302 00000 n -0000365346 00000 n -0000365390 00000 n -0000365433 00000 n -0000365477 00000 n -0000365521 00000 n -0000365564 00000 n -0000365608 00000 n -0000365651 00000 n -0000365694 00000 n -0000365737 00000 n -0000365781 00000 n -0000365825 00000 n -0000365868 00000 n -0000365911 00000 n -0000365954 00000 n -0000365997 00000 n -0000366040 00000 n -0000366083 00000 n -0000369223 00000 n -0000369266 00000 n -0000369309 00000 n -0000369352 00000 n -0000369395 00000 n -0000369438 00000 n -0000369481 00000 n -0000369524 00000 n -0000369567 00000 n -0000369610 00000 n -0000369653 00000 n -0000369696 00000 n -0000369739 00000 n -0000369782 00000 n -0000369825 00000 n -0000369868 00000 n -0000369911 00000 n -0000369954 00000 n -0000369997 00000 n -0000370040 00000 n -0000370083 00000 n -0000370126 00000 n -0000370169 00000 n -0000370212 00000 n -0000370256 00000 n -0000370299 00000 n -0000370342 00000 n -0000370385 00000 n -0000370428 00000 n -0000370471 00000 n -0000370514 00000 n -0000370557 00000 n -0000370600 00000 n -0000370643 00000 n -0000370686 00000 n -0000370729 00000 n -0000370772 00000 n -0000370815 00000 n -0000370858 00000 n -0000370901 00000 n -0000370944 00000 n -0000370987 00000 n -0000371030 00000 n -0000371073 00000 n -0000371116 00000 n -0000371159 00000 n -0000371203 00000 n -0000371246 00000 n -0000371289 00000 n -0000371332 00000 n -0000371375 00000 n -0000371418 00000 n -0000371462 00000 n -0000371506 00000 n -0000371549 00000 n -0000371592 00000 n -0000371635 00000 n -0000371679 00000 n -0000371723 00000 n -0000371767 00000 n -0000371811 00000 n -0000371855 00000 n -0000371899 00000 n -0000371942 00000 n -0000371986 00000 n -0000372030 00000 n -0000372074 00000 n -0000372118 00000 n -0000372161 00000 n -0000372205 00000 n -0000372248 00000 n -0000372291 00000 n -0000372334 00000 n -0000372378 00000 n -0000372422 00000 n -0000372465 00000 n -0000372509 00000 n -0000372553 00000 n -0000372597 00000 n -0000372641 00000 n -0000372685 00000 n -0000372728 00000 n -0000372771 00000 n -0000372815 00000 n -0000372858 00000 n -0000372901 00000 n -0000372944 00000 n -0000372987 00000 n -0000373030 00000 n -0000373073 00000 n -0000373116 00000 n -0000373159 00000 n -0000373202 00000 n -0000373245 00000 n -0000373288 00000 n -0000373332 00000 n -0000373376 00000 n -0000373420 00000 n -0000373464 00000 n -0000373508 00000 n -0000373552 00000 n -0000373596 00000 n -0000373640 00000 n -0000373683 00000 n -0000373726 00000 n -0000373769 00000 n -0000373812 00000 n -0000373855 00000 n -0000373898 00000 n -0000373941 00000 n -0000373985 00000 n -0000374029 00000 n -0000374073 00000 n -0000374117 00000 n -0000374161 00000 n -0000374205 00000 n -0000374249 00000 n -0000374293 00000 n -0000374337 00000 n -0000374381 00000 n -0000374425 00000 n -0000374469 00000 n -0000374513 00000 n -0000374557 00000 n -0000374600 00000 n -0000374644 00000 n -0000374687 00000 n -0000374730 00000 n -0000374774 00000 n -0000374818 00000 n -0000374862 00000 n -0000374906 00000 n -0000374949 00000 n -0000374992 00000 n -0000375036 00000 n -0000375080 00000 n -0000375124 00000 n -0000375168 00000 n -0000375212 00000 n -0000375256 00000 n -0000375300 00000 n -0000375344 00000 n -0000375388 00000 n -0000375432 00000 n -0000375476 00000 n -0000375520 00000 n -0000375564 00000 n -0000375608 00000 n -0000375651 00000 n -0000375695 00000 n -0000375738 00000 n -0000375781 00000 n -0000375824 00000 n -0000375867 00000 n -0000375911 00000 n -0000375954 00000 n -0000375997 00000 n -0000376040 00000 n -0000376084 00000 n -0000376128 00000 n -0000376172 00000 n -0000376216 00000 n -0000376260 00000 n -0000376304 00000 n -0000376348 00000 n -0000376392 00000 n -0000376435 00000 n -0000376479 00000 n -0000376523 00000 n -0000376567 00000 n -0000376611 00000 n -0000376655 00000 n -0000376699 00000 n -0000376743 00000 n -0000376787 00000 n -0000376831 00000 n -0000376875 00000 n -0000376919 00000 n -0000376963 00000 n -0000377007 00000 n -0000377051 00000 n -0000377095 00000 n -0000377139 00000 n -0000377183 00000 n -0000377227 00000 n -0000377271 00000 n -0000377315 00000 n -0000377358 00000 n -0000377401 00000 n -0000377444 00000 n -0000377488 00000 n -0000377532 00000 n -0000377575 00000 n -0000377618 00000 n -0000377662 00000 n -0000377706 00000 n -0000377750 00000 n -0000377793 00000 n -0000377836 00000 n -0000377879 00000 n -0000377922 00000 n -0000377965 00000 n -0000378008 00000 n -0000378051 00000 n -0000378094 00000 n -0000378137 00000 n -0000378180 00000 n -0000378223 00000 n -0000378266 00000 n -0000378310 00000 n -0000378354 00000 n -0000378397 00000 n -0000378440 00000 n -0000378483 00000 n -0000378526 00000 n -0000378569 00000 n -0000378612 00000 n -0000378655 00000 n -0000378698 00000 n -0000378741 00000 n -0000378784 00000 n -0000378827 00000 n -0000378870 00000 n -0000378913 00000 n -0000378956 00000 n -0000378999 00000 n -0000379042 00000 n -0000379085 00000 n -0000379128 00000 n -0000379172 00000 n -0000379216 00000 n -0000379260 00000 n -0000379304 00000 n -0000379348 00000 n -0000379392 00000 n -0000379436 00000 n -0000379480 00000 n -0000379524 00000 n -0000379568 00000 n -0000379611 00000 n -0000379654 00000 n -0000379697 00000 n -0000379740 00000 n -0000379784 00000 n -0000379828 00000 n -0000379872 00000 n -0000379916 00000 n -0000379960 00000 n -0000380004 00000 n -0000380048 00000 n -0000380092 00000 n -0000380135 00000 n -0000380178 00000 n -0000380221 00000 n -0000380264 00000 n -0000380307 00000 n -0000380350 00000 n -0000380393 00000 n -0000380436 00000 n -0000380479 00000 n -0000380523 00000 n -0000380567 00000 n -0000380611 00000 n -0000380655 00000 n -0000380699 00000 n -0000380743 00000 n -0000380787 00000 n -0000380831 00000 n -0000380875 00000 n -0000380919 00000 n -0000380962 00000 n -0000381005 00000 n -0000381048 00000 n -0000381091 00000 n -0000381134 00000 n -0000381178 00000 n -0000381222 00000 n -0000381266 00000 n -0000381310 00000 n -0000381354 00000 n -0000381398 00000 n -0000381442 00000 n -0000381485 00000 n -0000381528 00000 n -0000381572 00000 n -0000381616 00000 n -0000381660 00000 n -0000381704 00000 n -0000381747 00000 n -0000381790 00000 n -0000381834 00000 n -0000381878 00000 n -0000381922 00000 n -0000381965 00000 n -0000382009 00000 n -0000382053 00000 n -0000382097 00000 n -0000382140 00000 n -0000382183 00000 n -0000382227 00000 n -0000382271 00000 n -0000382314 00000 n -0000382358 00000 n -0000382402 00000 n -0000382446 00000 n -0000382490 00000 n -0000382534 00000 n -0000382578 00000 n -0000382622 00000 n -0000382666 00000 n -0000382710 00000 n -0000382753 00000 n -0000382796 00000 n -0000382840 00000 n -0000382884 00000 n -0000382927 00000 n -0000382971 00000 n -0000383015 00000 n -0000383059 00000 n -0000383102 00000 n -0000383145 00000 n -0000383189 00000 n -0000383233 00000 n -0000383276 00000 n -0000383319 00000 n -0000383362 00000 n -0000383405 00000 n -0000383449 00000 n -0000383493 00000 n -0000383537 00000 n -0000383580 00000 n -0000383623 00000 n -0000383667 00000 n -0000383711 00000 n -0000383754 00000 n -0000383798 00000 n -0000383841 00000 n -0000387451 00000 n -0000387495 00000 n -0000387539 00000 n -0000387583 00000 n -0000387627 00000 n -0000387670 00000 n -0000387713 00000 n -0000387756 00000 n -0000387799 00000 n -0000387842 00000 n -0000387885 00000 n -0000387929 00000 n -0000387973 00000 n -0000388017 00000 n -0000388061 00000 n -0000388104 00000 n -0000388147 00000 n -0000388190 00000 n -0000388233 00000 n -0000388276 00000 n -0000388319 00000 n -0000388362 00000 n -0000388405 00000 n -0000388448 00000 n -0000388491 00000 n -0000388534 00000 n -0000388577 00000 n -0000388620 00000 n -0000388663 00000 n -0000388706 00000 n -0000388749 00000 n -0000388792 00000 n -0000388835 00000 n -0000388878 00000 n -0000388921 00000 n -0000388964 00000 n -0000389007 00000 n -0000389050 00000 n -0000389093 00000 n -0000389137 00000 n -0000389180 00000 n -0000389223 00000 n -0000389266 00000 n -0000389309 00000 n -0000389352 00000 n -0000389396 00000 n -0000389439 00000 n -0000389482 00000 n -0000389526 00000 n -0000389570 00000 n -0000389614 00000 n -0000389657 00000 n -0000389700 00000 n -0000389743 00000 n -0000389786 00000 n -0000389829 00000 n -0000389872 00000 n -0000389915 00000 n -0000389958 00000 n -0000390001 00000 n -0000390044 00000 n -0000390087 00000 n -0000390130 00000 n -0000390173 00000 n -0000390216 00000 n -0000390260 00000 n -0000390303 00000 n -0000390346 00000 n -0000390389 00000 n -0000390432 00000 n -0000390475 00000 n -0000390518 00000 n -0000390561 00000 n -0000390604 00000 n -0000390647 00000 n -0000390691 00000 n -0000390734 00000 n -0000390777 00000 n -0000390821 00000 n -0000390864 00000 n -0000390907 00000 n -0000390950 00000 n -0000390993 00000 n -0000391036 00000 n -0000391079 00000 n -0000391123 00000 n -0000391167 00000 n -0000391211 00000 n -0000391255 00000 n -0000391299 00000 n -0000391343 00000 n -0000391387 00000 n -0000391431 00000 n -0000391475 00000 n -0000391519 00000 n -0000391563 00000 n -0000391607 00000 n -0000391651 00000 n -0000391695 00000 n -0000391739 00000 n -0000391783 00000 n -0000391827 00000 n -0000391871 00000 n -0000391915 00000 n -0000391959 00000 n -0000392003 00000 n -0000392047 00000 n -0000392091 00000 n -0000392135 00000 n -0000392179 00000 n -0000392222 00000 n -0000392266 00000 n -0000392310 00000 n -0000392353 00000 n -0000392396 00000 n -0000392439 00000 n -0000392482 00000 n -0000392525 00000 n -0000392568 00000 n -0000392612 00000 n -0000392655 00000 n -0000392699 00000 n -0000392743 00000 n -0000392787 00000 n -0000392831 00000 n -0000392875 00000 n -0000392919 00000 n -0000392963 00000 n -0000393007 00000 n -0000393051 00000 n -0000393095 00000 n -0000393139 00000 n -0000393182 00000 n -0000393226 00000 n -0000393270 00000 n -0000393314 00000 n -0000393358 00000 n -0000393402 00000 n -0000393446 00000 n -0000393490 00000 n -0000393534 00000 n -0000393578 00000 n -0000393622 00000 n -0000393666 00000 n -0000393709 00000 n -0000393752 00000 n -0000393795 00000 n -0000393838 00000 n -0000393881 00000 n -0000393924 00000 n -0000393967 00000 n -0000394010 00000 n -0000394053 00000 n -0000394096 00000 n -0000394139 00000 n -0000394182 00000 n -0000394225 00000 n -0000394268 00000 n -0000394311 00000 n -0000394354 00000 n -0000394397 00000 n -0000394440 00000 n -0000394483 00000 n -0000394526 00000 n -0000394569 00000 n -0000394612 00000 n -0000394655 00000 n -0000394698 00000 n -0000394741 00000 n -0000394784 00000 n -0000394827 00000 n -0000394870 00000 n -0000394913 00000 n -0000394956 00000 n -0000394999 00000 n -0000395042 00000 n -0000395086 00000 n -0000395130 00000 n -0000395174 00000 n -0000395218 00000 n -0000395262 00000 n -0000395306 00000 n -0000395350 00000 n -0000395394 00000 n -0000395438 00000 n -0000395482 00000 n -0000395526 00000 n -0000395570 00000 n -0000395614 00000 n -0000395658 00000 n -0000395702 00000 n -0000395746 00000 n -0000395790 00000 n -0000395834 00000 n -0000395878 00000 n -0000395922 00000 n -0000395966 00000 n -0000396010 00000 n -0000396054 00000 n -0000396098 00000 n -0000396142 00000 n -0000396186 00000 n -0000396230 00000 n -0000396274 00000 n -0000396318 00000 n -0000396362 00000 n -0000396406 00000 n -0000396450 00000 n -0000396494 00000 n -0000396538 00000 n -0000396582 00000 n -0000396625 00000 n -0000396668 00000 n -0000396711 00000 n -0000396754 00000 n -0000396797 00000 n -0000396841 00000 n -0000396885 00000 n -0000396928 00000 n -0000396972 00000 n -0000397016 00000 n -0000397059 00000 n -0000397102 00000 n -0000397146 00000 n -0000397189 00000 n -0000397233 00000 n -0000397277 00000 n -0000397321 00000 n -0000397365 00000 n -0000397409 00000 n -0000397453 00000 n -0000397497 00000 n -0000397541 00000 n -0000397585 00000 n -0000397628 00000 n -0000397672 00000 n -0000397716 00000 n -0000397760 00000 n -0000397803 00000 n -0000397847 00000 n -0000397890 00000 n -0000397933 00000 n -0000397976 00000 n -0000398019 00000 n -0000398062 00000 n -0000398105 00000 n -0000398148 00000 n -0000398191 00000 n -0000398235 00000 n -0000398278 00000 n -0000398321 00000 n -0000398364 00000 n -0000398407 00000 n -0000398450 00000 n -0000398493 00000 n -0000398536 00000 n -0000398579 00000 n -0000398622 00000 n -0000398665 00000 n -0000398708 00000 n -0000398751 00000 n -0000398794 00000 n -0000398837 00000 n -0000398881 00000 n -0000398925 00000 n -0000398969 00000 n -0000399012 00000 n -0000399055 00000 n -0000399098 00000 n -0000399141 00000 n -0000399184 00000 n -0000399227 00000 n -0000399270 00000 n -0000399313 00000 n -0000399356 00000 n -0000399399 00000 n -0000399442 00000 n -0000399486 00000 n -0000399530 00000 n -0000399573 00000 n -0000399617 00000 n -0000399661 00000 n -0000399704 00000 n -0000399747 00000 n -0000399790 00000 n -0000399834 00000 n -0000399878 00000 n -0000399922 00000 n -0000399965 00000 n -0000400009 00000 n -0000400053 00000 n -0000400097 00000 n -0000400140 00000 n -0000400183 00000 n -0000400226 00000 n -0000400269 00000 n -0000400312 00000 n -0000400355 00000 n -0000400398 00000 n -0000400441 00000 n -0000400484 00000 n -0000400527 00000 n -0000400570 00000 n -0000400613 00000 n -0000400656 00000 n -0000400699 00000 n -0000400742 00000 n -0000400785 00000 n -0000400828 00000 n -0000400871 00000 n -0000400914 00000 n -0000400957 00000 n -0000401000 00000 n -0000401043 00000 n -0000401086 00000 n -0000401129 00000 n -0000401172 00000 n -0000401215 00000 n -0000401258 00000 n -0000401301 00000 n -0000401344 00000 n -0000401387 00000 n -0000401430 00000 n -0000401473 00000 n -0000401516 00000 n -0000401559 00000 n -0000401602 00000 n -0000401645 00000 n -0000401688 00000 n -0000405218 00000 n -0000405261 00000 n -0000405304 00000 n -0000405348 00000 n -0000405392 00000 n -0000405436 00000 n -0000405480 00000 n -0000405524 00000 n -0000405568 00000 n -0000405612 00000 n -0000405656 00000 n -0000405700 00000 n -0000405744 00000 n -0000405788 00000 n -0000405832 00000 n -0000405876 00000 n -0000405920 00000 n -0000405964 00000 n -0000406008 00000 n -0000406052 00000 n -0000406096 00000 n -0000406140 00000 n -0000406184 00000 n -0000406228 00000 n -0000406272 00000 n -0000406316 00000 n -0000406360 00000 n -0000406403 00000 n -0000406446 00000 n -0000406489 00000 n -0000406532 00000 n -0000406575 00000 n -0000406618 00000 n -0000406661 00000 n -0000406704 00000 n -0000406747 00000 n -0000406790 00000 n -0000406833 00000 n -0000406876 00000 n -0000406919 00000 n -0000406963 00000 n -0000407007 00000 n -0000407051 00000 n -0000407095 00000 n -0000407139 00000 n -0000407183 00000 n -0000407227 00000 n -0000407271 00000 n -0000407314 00000 n -0000407357 00000 n -0000407400 00000 n -0000407443 00000 n -0000407486 00000 n -0000407529 00000 n -0000407572 00000 n -0000407615 00000 n -0000407658 00000 n -0000407701 00000 n -0000407744 00000 n -0000407787 00000 n -0000407830 00000 n -0000407873 00000 n -0000407916 00000 n -0000407959 00000 n -0000408002 00000 n -0000408046 00000 n -0000408090 00000 n -0000408133 00000 n -0000408176 00000 n -0000408219 00000 n -0000408262 00000 n -0000408305 00000 n -0000408348 00000 n -0000408391 00000 n -0000408434 00000 n -0000408477 00000 n -0000408521 00000 n -0000408564 00000 n -0000408607 00000 n -0000408650 00000 n -0000408693 00000 n -0000408737 00000 n -0000408781 00000 n -0000408824 00000 n -0000408868 00000 n -0000408912 00000 n -0000408955 00000 n -0000408998 00000 n -0000409041 00000 n -0000409084 00000 n -0000409127 00000 n -0000409170 00000 n -0000409213 00000 n -0000409256 00000 n -0000409299 00000 n -0000409343 00000 n -0000409386 00000 n -0000409429 00000 n -0000409472 00000 n -0000409515 00000 n -0000409558 00000 n -0000409601 00000 n -0000409644 00000 n -0000409687 00000 n -0000409730 00000 n -0000409773 00000 n -0000409816 00000 n -0000409859 00000 n -0000409902 00000 n -0000409945 00000 n -0000409988 00000 n -0000410032 00000 n -0000410076 00000 n -0000410120 00000 n -0000410163 00000 n -0000410206 00000 n -0000410249 00000 n -0000410292 00000 n -0000410335 00000 n -0000410378 00000 n -0000410421 00000 n -0000410464 00000 n -0000410507 00000 n -0000410550 00000 n -0000410593 00000 n -0000410636 00000 n -0000410679 00000 n -0000410722 00000 n -0000410765 00000 n -0000410808 00000 n -0000410851 00000 n -0000410894 00000 n -0000410937 00000 n -0000410980 00000 n -0000411023 00000 n -0000411066 00000 n -0000411109 00000 n -0000411153 00000 n -0000411197 00000 n -0000411241 00000 n -0000411285 00000 n -0000411329 00000 n -0000411373 00000 n -0000411417 00000 n -0000411461 00000 n -0000411505 00000 n -0000411549 00000 n -0000411593 00000 n -0000411637 00000 n -0000411680 00000 n -0000411723 00000 n -0000411767 00000 n -0000411811 00000 n -0000411855 00000 n -0000411899 00000 n -0000411943 00000 n -0000411986 00000 n -0000412029 00000 n -0000412072 00000 n -0000412115 00000 n -0000412158 00000 n -0000412202 00000 n -0000412246 00000 n -0000412290 00000 n -0000412333 00000 n -0000412376 00000 n -0000412419 00000 n -0000412463 00000 n -0000412506 00000 n -0000412550 00000 n -0000412594 00000 n -0000412638 00000 n -0000412682 00000 n -0000412725 00000 n -0000412768 00000 n -0000412811 00000 n -0000412855 00000 n -0000412898 00000 n -0000412941 00000 n -0000412984 00000 n -0000413027 00000 n -0000413070 00000 n -0000413113 00000 n -0000413157 00000 n -0000413201 00000 n -0000413245 00000 n -0000413288 00000 n -0000413331 00000 n -0000413374 00000 n -0000413417 00000 n -0000413461 00000 n -0000413504 00000 n -0000413547 00000 n -0000413590 00000 n -0000413633 00000 n -0000413676 00000 n -0000413720 00000 n -0000413764 00000 n -0000413807 00000 n -0000413850 00000 n -0000413893 00000 n -0000413936 00000 n -0000413980 00000 n -0000414023 00000 n -0000414066 00000 n -0000414109 00000 n -0000414152 00000 n -0000414195 00000 n -0000414238 00000 n -0000414281 00000 n -0000414324 00000 n -0000414367 00000 n -0000414411 00000 n -0000414455 00000 n -0000414499 00000 n -0000414543 00000 n -0000414586 00000 n -0000414629 00000 n -0000414672 00000 n -0000414715 00000 n -0000414758 00000 n -0000414801 00000 n -0000414844 00000 n -0000414887 00000 n -0000414930 00000 n -0000414973 00000 n -0000415016 00000 n -0000415059 00000 n -0000415103 00000 n -0000415147 00000 n -0000415191 00000 n -0000415235 00000 n -0000415279 00000 n -0000415323 00000 n -0000415367 00000 n -0000415411 00000 n -0000415455 00000 n -0000415499 00000 n -0000415543 00000 n -0000415587 00000 n -0000415631 00000 n -0000415675 00000 n -0000415719 00000 n -0000415763 00000 n -0000415807 00000 n -0000415851 00000 n -0000415894 00000 n -0000415937 00000 n -0000415980 00000 n -0000416023 00000 n -0000416066 00000 n -0000416109 00000 n -0000416152 00000 n -0000416196 00000 n -0000416240 00000 n -0000416284 00000 n -0000416327 00000 n -0000416370 00000 n -0000416413 00000 n -0000416456 00000 n -0000416499 00000 n -0000416542 00000 n -0000416586 00000 n -0000416630 00000 n -0000416674 00000 n -0000416718 00000 n -0000416762 00000 n -0000416806 00000 n -0000416850 00000 n -0000416894 00000 n -0000416938 00000 n -0000416982 00000 n -0000417026 00000 n -0000417070 00000 n -0000417113 00000 n -0000417156 00000 n -0000417199 00000 n -0000417243 00000 n -0000417287 00000 n -0000417330 00000 n -0000417373 00000 n -0000417416 00000 n -0000417459 00000 n -0000417503 00000 n -0000417547 00000 n -0000417591 00000 n -0000417635 00000 n -0000417679 00000 n -0000417723 00000 n -0000417767 00000 n -0000417811 00000 n -0000417855 00000 n -0000417898 00000 n -0000417942 00000 n -0000417986 00000 n -0000418030 00000 n -0000418074 00000 n -0000418118 00000 n -0000418162 00000 n -0000418206 00000 n -0000418250 00000 n -0000418294 00000 n -0000418338 00000 n -0000418382 00000 n -0000418426 00000 n -0000418470 00000 n -0000418514 00000 n -0000418558 00000 n -0000418602 00000 n -0000418646 00000 n -0000418690 00000 n -0000418734 00000 n -0000418778 00000 n -0000418822 00000 n -0000418866 00000 n -0000418910 00000 n -0000418953 00000 n -0000418996 00000 n -0000419040 00000 n -0000419083 00000 n -0000419127 00000 n -0000419171 00000 n -0000419215 00000 n -0000419259 00000 n -0000419303 00000 n -0000419347 00000 n -0000419391 00000 n -0000419434 00000 n -0000419477 00000 n -0000419520 00000 n -0000419563 00000 n -0000419606 00000 n -0000419650 00000 n -0000419694 00000 n -0000419738 00000 n -0000419781 00000 n -0000419824 00000 n -0000419867 00000 n -0000419910 00000 n -0000419953 00000 n -0000419996 00000 n -0000420039 00000 n -0000420082 00000 n -0000420125 00000 n -0000420169 00000 n -0000420213 00000 n -0000420257 00000 n -0000420300 00000 n -0000420343 00000 n -0000420386 00000 n -0000420429 00000 n -0000420472 00000 n -0000420515 00000 n -0000420559 00000 n -0000420603 00000 n -0000420647 00000 n -0000420691 00000 n -0000420735 00000 n -0000420779 00000 n -0000420822 00000 n -0000420865 00000 n -0000420908 00000 n -0000420951 00000 n -0000420994 00000 n -0000421037 00000 n -0000421080 00000 n -0000421124 00000 n -0000421168 00000 n -0000421212 00000 n -0000421256 00000 n -0000421300 00000 n -0000421344 00000 n -0000421388 00000 n -0000421432 00000 n -0000421476 00000 n -0000421519 00000 n -0000425519 00000 n -0000425562 00000 n -0000425605 00000 n -0000425648 00000 n -0000425691 00000 n -0000425734 00000 n -0000425778 00000 n -0000425821 00000 n -0000425864 00000 n -0000425907 00000 n -0000425951 00000 n -0000425995 00000 n -0000426038 00000 n -0000426081 00000 n -0000426125 00000 n -0000426168 00000 n -0000426212 00000 n -0000426256 00000 n -0000426299 00000 n -0000426342 00000 n -0000426386 00000 n -0000426430 00000 n -0000426473 00000 n -0000426516 00000 n -0000426560 00000 n -0000426603 00000 n -0000426646 00000 n -0000426689 00000 n -0000426732 00000 n -0000426775 00000 n -0000426818 00000 n -0000426861 00000 n -0000426904 00000 n -0000426947 00000 n -0000426990 00000 n -0000427033 00000 n -0000427076 00000 n -0000427120 00000 n -0000427164 00000 n -0000427208 00000 n -0000427252 00000 n -0000427296 00000 n -0000427340 00000 n -0000427384 00000 n -0000427428 00000 n -0000427472 00000 n -0000427516 00000 n -0000427560 00000 n -0000427604 00000 n -0000427648 00000 n -0000427692 00000 n -0000427736 00000 n -0000427780 00000 n -0000427823 00000 n -0000427867 00000 n -0000427911 00000 n -0000427954 00000 n -0000427998 00000 n -0000428042 00000 n -0000428086 00000 n -0000428129 00000 n -0000428172 00000 n -0000428215 00000 n -0000428258 00000 n -0000428301 00000 n -0000428344 00000 n -0000428387 00000 n -0000428430 00000 n -0000428473 00000 n -0000428517 00000 n -0000428561 00000 n -0000428605 00000 n -0000428649 00000 n -0000428692 00000 n -0000428735 00000 n -0000428778 00000 n -0000428821 00000 n -0000428864 00000 n -0000428907 00000 n -0000428950 00000 n -0000428993 00000 n -0000429036 00000 n -0000429079 00000 n -0000429122 00000 n -0000429165 00000 n -0000429208 00000 n -0000429251 00000 n -0000429294 00000 n -0000429337 00000 n -0000429380 00000 n -0000429423 00000 n -0000429466 00000 n -0000429509 00000 n -0000429553 00000 n -0000429596 00000 n -0000429639 00000 n -0000429682 00000 n -0000429725 00000 n -0000429768 00000 n -0000429811 00000 n -0000429854 00000 n -0000429897 00000 n -0000429941 00000 n -0000429985 00000 n -0000430029 00000 n -0000430073 00000 n -0000430117 00000 n -0000430160 00000 n -0000430203 00000 n -0000430246 00000 n -0000430289 00000 n -0000430332 00000 n -0000430375 00000 n -0000430418 00000 n -0000430461 00000 n -0000430504 00000 n -0000430547 00000 n -0000430590 00000 n -0000430634 00000 n -0000430677 00000 n -0000430720 00000 n -0000430763 00000 n -0000430806 00000 n -0000430849 00000 n -0000430892 00000 n -0000430935 00000 n -0000430978 00000 n -0000431021 00000 n -0000431064 00000 n -0000431107 00000 n -0000431150 00000 n -0000431193 00000 n -0000431236 00000 n -0000431280 00000 n -0000431324 00000 n -0000431368 00000 n -0000431412 00000 n -0000431456 00000 n -0000431500 00000 n -0000431544 00000 n -0000431588 00000 n -0000431632 00000 n -0000431676 00000 n -0000431720 00000 n -0000431764 00000 n -0000431808 00000 n -0000431851 00000 n -0000431894 00000 n -0000431937 00000 n -0000431980 00000 n -0000432023 00000 n -0000432066 00000 n -0000432109 00000 n -0000432152 00000 n -0000432195 00000 n -0000432239 00000 n -0000432282 00000 n -0000432325 00000 n -0000432368 00000 n -0000432411 00000 n -0000432454 00000 n -0000432497 00000 n -0000432540 00000 n -0000432583 00000 n -0000432626 00000 n -0000432669 00000 n -0000432712 00000 n -0000432755 00000 n -0000432798 00000 n -0000432841 00000 n -0000432884 00000 n -0000432927 00000 n -0000432970 00000 n -0000433013 00000 n -0000433056 00000 n -0000433100 00000 n -0000433144 00000 n -0000433188 00000 n -0000433231 00000 n -0000433274 00000 n -0000433318 00000 n -0000433362 00000 n -0000433405 00000 n -0000433448 00000 n -0000433491 00000 n -0000433534 00000 n -0000433577 00000 n -0000433620 00000 n -0000433663 00000 n -0000433706 00000 n -0000433749 00000 n -0000433792 00000 n -0000433836 00000 n -0000433880 00000 n -0000433924 00000 n -0000433968 00000 n -0000434012 00000 n -0000434055 00000 n -0000434098 00000 n -0000434141 00000 n -0000434185 00000 n -0000434228 00000 n -0000434271 00000 n -0000434315 00000 n -0000434359 00000 n -0000434403 00000 n -0000434447 00000 n -0000434491 00000 n -0000434535 00000 n -0000434579 00000 n -0000434623 00000 n -0000434667 00000 n -0000434711 00000 n -0000434755 00000 n -0000434798 00000 n -0000434841 00000 n -0000434885 00000 n -0000434928 00000 n -0000434971 00000 n -0000435015 00000 n -0000435058 00000 n -0000435102 00000 n -0000435145 00000 n -0000435188 00000 n -0000435231 00000 n -0000435274 00000 n -0000435317 00000 n -0000435360 00000 n -0000435403 00000 n -0000435446 00000 n -0000435489 00000 n -0000435532 00000 n -0000435576 00000 n -0000435620 00000 n -0000435664 00000 n -0000435708 00000 n -0000435752 00000 n -0000435796 00000 n -0000435840 00000 n -0000435883 00000 n -0000435926 00000 n -0000435969 00000 n -0000436012 00000 n -0000436055 00000 n -0000436098 00000 n -0000436141 00000 n -0000436184 00000 n -0000436227 00000 n -0000436270 00000 n -0000436313 00000 n -0000436356 00000 n -0000436399 00000 n -0000436443 00000 n -0000436487 00000 n -0000436531 00000 n -0000436575 00000 n -0000436619 00000 n -0000436663 00000 n -0000436707 00000 n -0000436751 00000 n -0000436794 00000 n -0000436837 00000 n -0000436881 00000 n -0000436924 00000 n -0000436967 00000 n -0000437010 00000 n -0000437053 00000 n -0000437096 00000 n -0000437139 00000 n -0000437182 00000 n -0000437225 00000 n -0000437268 00000 n -0000437311 00000 n -0000437354 00000 n -0000437397 00000 n -0000437440 00000 n -0000437483 00000 n -0000437526 00000 n -0000437569 00000 n -0000437612 00000 n -0000437655 00000 n -0000437698 00000 n -0000437741 00000 n -0000437784 00000 n -0000437827 00000 n -0000437870 00000 n -0000437913 00000 n -0000437956 00000 n -0000437999 00000 n -0000438042 00000 n -0000438085 00000 n -0000438128 00000 n -0000438171 00000 n -0000438214 00000 n -0000438257 00000 n -0000438300 00000 n -0000438343 00000 n -0000438386 00000 n -0000438429 00000 n -0000438472 00000 n -0000438515 00000 n -0000438559 00000 n -0000438603 00000 n -0000438647 00000 n -0000438691 00000 n -0000438735 00000 n -0000438779 00000 n -0000438823 00000 n -0000438867 00000 n -0000438911 00000 n -0000438955 00000 n -0000438999 00000 n -0000439043 00000 n -0000439087 00000 n -0000439131 00000 n -0000439175 00000 n -0000439219 00000 n -0000439263 00000 n -0000439307 00000 n -0000439351 00000 n -0000439395 00000 n -0000439439 00000 n -0000439483 00000 n -0000439527 00000 n -0000439571 00000 n -0000439615 00000 n -0000439659 00000 n -0000439703 00000 n -0000439747 00000 n -0000439791 00000 n -0000439835 00000 n -0000439879 00000 n -0000439923 00000 n -0000439967 00000 n -0000440011 00000 n -0000440055 00000 n -0000440099 00000 n -0000440143 00000 n -0000440187 00000 n -0000440231 00000 n -0000440275 00000 n -0000440319 00000 n -0000440363 00000 n -0000440407 00000 n -0000440451 00000 n -0000440495 00000 n -0000440539 00000 n -0000440583 00000 n -0000440627 00000 n -0000440671 00000 n -0000440715 00000 n -0000440758 00000 n -0000440801 00000 n -0000440844 00000 n -0000440887 00000 n -0000440931 00000 n -0000440975 00000 n -0000441018 00000 n -0000441061 00000 n -0000441104 00000 n -0000441147 00000 n -0000441190 00000 n -0000441233 00000 n -0000441276 00000 n -0000441319 00000 n -0000441363 00000 n -0000441407 00000 n -0000441451 00000 n -0000441494 00000 n -0000445424 00000 n -0000445467 00000 n -0000445510 00000 n -0000445553 00000 n -0000445596 00000 n -0000445639 00000 n -0000445682 00000 n -0000445725 00000 n -0000445768 00000 n -0000445811 00000 n -0000445854 00000 n -0000445897 00000 n -0000445941 00000 n -0000445984 00000 n -0000446027 00000 n -0000446070 00000 n -0000446113 00000 n -0000446156 00000 n -0000446200 00000 n -0000446243 00000 n -0000446286 00000 n -0000446329 00000 n -0000446372 00000 n -0000446415 00000 n -0000446458 00000 n -0000446501 00000 n -0000446544 00000 n -0000446587 00000 n -0000446631 00000 n -0000446675 00000 n -0000446719 00000 n -0000446763 00000 n -0000446807 00000 n -0000446851 00000 n -0000446895 00000 n -0000446939 00000 n -0000446983 00000 n -0000447027 00000 n -0000447071 00000 n -0000447114 00000 n -0000447158 00000 n -0000447202 00000 n -0000447246 00000 n -0000447290 00000 n -0000447334 00000 n -0000447378 00000 n -0000447422 00000 n -0000447466 00000 n -0000447510 00000 n -0000447553 00000 n -0000447596 00000 n -0000447639 00000 n -0000447682 00000 n -0000447725 00000 n -0000447769 00000 n -0000447812 00000 n -0000447855 00000 n -0000447898 00000 n -0000447941 00000 n -0000447984 00000 n -0000448027 00000 n -0000448070 00000 n -0000448113 00000 n -0000448156 00000 n -0000448199 00000 n -0000448242 00000 n -0000448286 00000 n -0000448330 00000 n -0000448374 00000 n -0000448418 00000 n -0000448462 00000 n -0000448506 00000 n -0000448550 00000 n -0000448594 00000 n -0000448638 00000 n -0000448682 00000 n -0000448725 00000 n -0000448769 00000 n -0000448813 00000 n -0000448857 00000 n -0000448900 00000 n -0000448943 00000 n -0000448986 00000 n -0000449029 00000 n -0000449072 00000 n -0000449115 00000 n -0000449158 00000 n -0000449201 00000 n -0000449244 00000 n -0000449287 00000 n -0000449330 00000 n -0000449373 00000 n -0000449416 00000 n -0000449459 00000 n -0000449502 00000 n -0000449545 00000 n -0000449588 00000 n -0000449631 00000 n -0000449674 00000 n -0000449717 00000 n -0000449760 00000 n -0000449803 00000 n -0000449846 00000 n -0000449889 00000 n -0000449932 00000 n -0000449975 00000 n -0000450018 00000 n -0000450061 00000 n -0000450104 00000 n -0000450147 00000 n -0000450190 00000 n -0000450233 00000 n -0000450276 00000 n -0000450319 00000 n -0000450362 00000 n -0000450405 00000 n -0000450448 00000 n -0000450491 00000 n -0000450534 00000 n -0000450577 00000 n -0000450620 00000 n -0000450663 00000 n -0000450706 00000 n -0000450749 00000 n -0000450792 00000 n -0000450835 00000 n -0000450878 00000 n -0000450921 00000 n -0000450964 00000 n -0000451007 00000 n -0000451050 00000 n -0000451093 00000 n -0000451136 00000 n -0000451179 00000 n -0000451222 00000 n -0000451265 00000 n -0000451308 00000 n -0000451351 00000 n -0000451394 00000 n -0000451437 00000 n -0000451480 00000 n -0000451523 00000 n -0000451566 00000 n -0000451609 00000 n -0000451652 00000 n -0000451695 00000 n -0000451738 00000 n -0000451781 00000 n -0000451824 00000 n -0000451867 00000 n -0000451910 00000 n -0000451953 00000 n -0000451996 00000 n -0000452039 00000 n -0000452082 00000 n -0000452126 00000 n -0000452170 00000 n -0000452214 00000 n -0000452258 00000 n -0000452302 00000 n -0000452346 00000 n -0000452390 00000 n -0000452434 00000 n -0000452478 00000 n -0000452522 00000 n -0000452566 00000 n -0000452610 00000 n -0000452654 00000 n -0000452698 00000 n -0000452742 00000 n -0000452786 00000 n -0000452830 00000 n -0000452874 00000 n -0000452918 00000 n -0000452962 00000 n -0000453006 00000 n -0000453050 00000 n -0000453094 00000 n -0000453138 00000 n -0000453182 00000 n -0000453226 00000 n -0000453270 00000 n -0000453314 00000 n -0000453358 00000 n -0000453402 00000 n -0000453446 00000 n -0000453490 00000 n -0000453534 00000 n -0000453578 00000 n -0000453622 00000 n -0000453666 00000 n -0000453710 00000 n -0000453754 00000 n -0000453798 00000 n -0000453842 00000 n -0000453886 00000 n -0000453930 00000 n -0000453974 00000 n -0000454018 00000 n -0000454062 00000 n -0000454106 00000 n -0000454150 00000 n -0000454194 00000 n -0000454238 00000 n -0000454281 00000 n -0000454324 00000 n -0000454367 00000 n -0000454411 00000 n -0000454454 00000 n -0000454498 00000 n -0000454541 00000 n -0000454585 00000 n -0000454628 00000 n -0000454671 00000 n -0000454714 00000 n -0000454757 00000 n -0000454800 00000 n -0000454843 00000 n -0000454887 00000 n -0000454930 00000 n -0000454973 00000 n -0000455016 00000 n -0000455059 00000 n -0000455103 00000 n -0000455146 00000 n -0000455189 00000 n -0000455232 00000 n -0000455275 00000 n -0000455319 00000 n -0000455363 00000 n -0000455407 00000 n -0000455450 00000 n -0000455493 00000 n -0000455536 00000 n -0000455579 00000 n -0000455623 00000 n -0000455667 00000 n -0000455711 00000 n -0000455755 00000 n -0000455799 00000 n -0000455842 00000 n -0000455886 00000 n -0000455930 00000 n -0000455974 00000 n -0000456018 00000 n -0000456062 00000 n -0000456106 00000 n -0000456150 00000 n -0000456193 00000 n -0000456237 00000 n -0000456281 00000 n -0000456325 00000 n -0000456369 00000 n -0000456413 00000 n -0000456456 00000 n -0000456499 00000 n -0000456543 00000 n -0000456587 00000 n -0000456631 00000 n -0000456675 00000 n -0000456719 00000 n -0000456762 00000 n -0000456805 00000 n -0000456848 00000 n -0000456891 00000 n -0000456935 00000 n -0000456978 00000 n -0000457021 00000 n -0000457064 00000 n -0000457107 00000 n -0000457150 00000 n -0000457193 00000 n -0000457237 00000 n -0000457281 00000 n -0000457325 00000 n -0000457369 00000 n -0000457413 00000 n -0000457457 00000 n -0000457501 00000 n -0000457545 00000 n -0000457589 00000 n -0000457633 00000 n -0000457677 00000 n -0000457721 00000 n -0000457765 00000 n -0000457808 00000 n -0000457851 00000 n -0000457894 00000 n -0000457937 00000 n -0000457981 00000 n -0000458024 00000 n -0000458067 00000 n -0000458110 00000 n -0000458153 00000 n -0000458196 00000 n -0000458239 00000 n -0000458282 00000 n -0000458326 00000 n -0000458370 00000 n -0000458414 00000 n -0000458458 00000 n -0000458502 00000 n -0000458546 00000 n -0000458590 00000 n -0000458633 00000 n -0000458676 00000 n -0000458719 00000 n -0000458763 00000 n -0000458806 00000 n -0000458849 00000 n -0000458892 00000 n -0000458936 00000 n -0000458979 00000 n -0000459023 00000 n -0000459067 00000 n -0000459111 00000 n -0000459155 00000 n -0000459199 00000 n -0000459242 00000 n -0000459285 00000 n -0000459328 00000 n -0000459372 00000 n -0000459416 00000 n -0000459460 00000 n -0000459503 00000 n -0000459547 00000 n -0000459591 00000 n -0000459635 00000 n -0000459678 00000 n -0000459721 00000 n -0000459764 00000 n -0000459807 00000 n -0000459850 00000 n -0000459893 00000 n -0000459937 00000 n -0000459981 00000 n -0000460025 00000 n -0000460069 00000 n -0000460113 00000 n -0000460156 00000 n -0000460199 00000 n -0000460243 00000 n -0000460287 00000 n -0000460331 00000 n -0000460375 00000 n -0000460419 00000 n -0000460463 00000 n -0000460507 00000 n -0000460551 00000 n -0000460594 00000 n -0000460638 00000 n -0000460681 00000 n -0000460724 00000 n -0000460767 00000 n -0000460811 00000 n -0000460855 00000 n -0000460898 00000 n -0000460941 00000 n -0000460984 00000 n -0000461028 00000 n -0000461071 00000 n -0000461114 00000 n -0000461157 00000 n -0000461200 00000 n -0000461244 00000 n -0000461288 00000 n -0000461331 00000 n -0000461375 00000 n -0000461419 00000 n -0000461463 00000 n -0000461507 00000 n -0000461551 00000 n -0000461595 00000 n -0000461639 00000 n -0000461683 00000 n -0000461726 00000 n -0000461769 00000 n -0000461812 00000 n -0000461855 00000 n -0000465885 00000 n -0000465929 00000 n -0000465973 00000 n -0000466017 00000 n -0000466061 00000 n -0000466105 00000 n -0000466149 00000 n -0000466193 00000 n -0000466236 00000 n -0000466279 00000 n -0000466322 00000 n -0000466366 00000 n -0000466410 00000 n -0000466454 00000 n -0000466497 00000 n -0000466540 00000 n -0000466583 00000 n -0000466626 00000 n -0000466670 00000 n -0000466714 00000 n -0000466758 00000 n -0000466801 00000 n -0000466844 00000 n -0000466888 00000 n -0000466932 00000 n -0000466976 00000 n -0000467020 00000 n -0000467064 00000 n -0000467108 00000 n -0000467152 00000 n -0000467196 00000 n -0000467240 00000 n -0000467284 00000 n -0000467328 00000 n -0000467372 00000 n -0000467416 00000 n -0000467460 00000 n -0000467504 00000 n -0000467548 00000 n -0000467592 00000 n -0000467636 00000 n -0000467680 00000 n -0000467724 00000 n -0000467767 00000 n -0000467810 00000 n -0000467853 00000 n -0000467896 00000 n -0000467939 00000 n -0000467983 00000 n -0000468027 00000 n -0000468071 00000 n -0000468115 00000 n -0000468158 00000 n -0000468201 00000 n -0000468244 00000 n -0000468287 00000 n -0000468330 00000 n -0000468374 00000 n -0000468418 00000 n -0000468462 00000 n -0000468505 00000 n -0000468549 00000 n -0000468593 00000 n -0000468637 00000 n -0000468681 00000 n -0000468724 00000 n -0000468768 00000 n -0000468812 00000 n -0000468856 00000 n -0000468900 00000 n -0000468943 00000 n -0000468986 00000 n -0000469029 00000 n -0000469072 00000 n -0000469115 00000 n -0000469159 00000 n -0000469203 00000 n -0000469247 00000 n -0000469290 00000 n -0000469333 00000 n -0000469377 00000 n -0000469421 00000 n -0000469465 00000 n -0000469508 00000 n -0000469551 00000 n -0000469594 00000 n -0000469637 00000 n -0000469680 00000 n -0000469723 00000 n -0000469767 00000 n -0000469811 00000 n -0000469855 00000 n -0000469899 00000 n -0000469943 00000 n -0000469987 00000 n -0000470031 00000 n -0000470075 00000 n -0000470118 00000 n -0000470162 00000 n -0000470206 00000 n -0000470249 00000 n -0000470292 00000 n -0000470335 00000 n -0000470378 00000 n -0000470422 00000 n -0000470466 00000 n -0000470509 00000 n -0000470552 00000 n -0000470595 00000 n -0000470638 00000 n -0000470681 00000 n -0000470724 00000 n -0000470767 00000 n -0000470811 00000 n -0000470855 00000 n -0000470898 00000 n -0000470941 00000 n -0000470985 00000 n -0000471029 00000 n -0000471072 00000 n -0000471116 00000 n -0000471160 00000 n -0000471203 00000 n -0000471247 00000 n -0000471291 00000 n -0000471334 00000 n -0000471378 00000 n -0000471422 00000 n -0000471465 00000 n -0000471508 00000 n -0000471551 00000 n -0000471595 00000 n -0000471639 00000 n -0000471683 00000 n -0000471727 00000 n -0000471771 00000 n -0000471815 00000 n -0000471859 00000 n -0000471903 00000 n -0000471947 00000 n -0000471990 00000 n -0000472033 00000 n -0000472076 00000 n -0000472119 00000 n -0000472163 00000 n -0000472207 00000 n -0000472251 00000 n -0000472295 00000 n -0000472339 00000 n -0000472382 00000 n -0000472426 00000 n -0000472469 00000 n -0000472512 00000 n -0000472556 00000 n -0000472600 00000 n -0000472644 00000 n -0000472688 00000 n -0000472732 00000 n -0000472775 00000 n -0000472819 00000 n -0000472863 00000 n -0000472907 00000 n -0000472951 00000 n -0000472995 00000 n -0000473039 00000 n -0000473083 00000 n -0000473127 00000 n -0000473171 00000 n -0000473215 00000 n -0000473259 00000 n -0000473303 00000 n -0000473347 00000 n -0000473391 00000 n -0000473435 00000 n -0000473479 00000 n -0000473523 00000 n -0000473567 00000 n -0000473611 00000 n -0000473655 00000 n -0000473699 00000 n -0000473743 00000 n -0000473787 00000 n -0000473831 00000 n -0000473875 00000 n -0000473919 00000 n -0000473963 00000 n -0000474007 00000 n -0000474051 00000 n -0000474095 00000 n -0000474139 00000 n -0000474183 00000 n -0000474227 00000 n -0000474271 00000 n -0000474314 00000 n -0000474357 00000 n -0000474401 00000 n -0000474445 00000 n -0000474489 00000 n -0000474533 00000 n -0000474576 00000 n -0000474620 00000 n -0000474664 00000 n -0000474707 00000 n -0000474750 00000 n -0000474793 00000 n -0000474836 00000 n -0000474879 00000 n -0000474922 00000 n -0000474966 00000 n -0000475009 00000 n -0000475052 00000 n -0000475095 00000 n -0000475138 00000 n -0000475181 00000 n -0000475224 00000 n -0000475267 00000 n -0000475310 00000 n -0000475353 00000 n -0000475396 00000 n -0000475440 00000 n -0000475484 00000 n -0000475528 00000 n -0000475571 00000 n -0000475614 00000 n -0000475657 00000 n -0000475700 00000 n -0000475744 00000 n -0000475788 00000 n -0000475831 00000 n -0000475875 00000 n -0000475919 00000 n -0000475963 00000 n -0000476007 00000 n -0000476051 00000 n -0000476095 00000 n -0000476139 00000 n -0000476183 00000 n -0000476226 00000 n -0000476269 00000 n -0000476313 00000 n -0000476357 00000 n -0000476401 00000 n -0000476445 00000 n -0000476489 00000 n -0000476533 00000 n -0000476577 00000 n -0000476621 00000 n -0000476665 00000 n -0000476709 00000 n -0000476753 00000 n -0000476797 00000 n -0000476840 00000 n -0000476883 00000 n -0000476927 00000 n -0000476971 00000 n -0000479761 00000 n -0000479804 00000 n -0000479847 00000 n -0000479890 00000 n -0000479933 00000 n -0000479976 00000 n -0000480019 00000 n -0000480062 00000 n -0000480105 00000 n -0000480149 00000 n -0000480193 00000 n -0000480237 00000 n -0000480281 00000 n -0000480324 00000 n -0000480367 00000 n -0000480411 00000 n -0000480455 00000 n -0000480498 00000 n -0000480541 00000 n -0000480584 00000 n -0000480627 00000 n -0000480670 00000 n -0000480714 00000 n -0000480758 00000 n -0000480802 00000 n -0000480846 00000 n -0000480889 00000 n -0000480933 00000 n -0000480977 00000 n -0000481020 00000 n -0000481063 00000 n -0000481106 00000 n -0000481149 00000 n -0000481192 00000 n -0000481236 00000 n -0000481280 00000 n -0000481324 00000 n -0000481368 00000 n -0000481411 00000 n -0000481454 00000 n -0000481497 00000 n -0000481540 00000 n -0000481583 00000 n -0000481627 00000 n -0000481670 00000 n -0000481714 00000 n -0000481758 00000 n -0000481802 00000 n -0000481846 00000 n -0000481890 00000 n -0000481934 00000 n -0000481978 00000 n -0000482022 00000 n -0000482066 00000 n -0000482110 00000 n -0000482154 00000 n -0000482198 00000 n -0000482241 00000 n -0000482284 00000 n -0000482327 00000 n -0000482371 00000 n -0000482415 00000 n -0000482458 00000 n -0000482502 00000 n -0000482546 00000 n -0000482590 00000 n -0000482633 00000 n -0000482676 00000 n -0000482719 00000 n -0000482763 00000 n -0000482806 00000 n -0000482849 00000 n -0000482892 00000 n -0000482935 00000 n -0000482979 00000 n -0000483023 00000 n -0000483066 00000 n -0000483109 00000 n -0000483152 00000 n -0000483195 00000 n -0000483238 00000 n -0000483282 00000 n -0000483325 00000 n -0000483368 00000 n -0000483411 00000 n -0000483454 00000 n -0000483497 00000 n -0000483540 00000 n -0000483583 00000 n -0000483626 00000 n -0000483669 00000 n -0000483713 00000 n -0000483757 00000 n -0000483801 00000 n -0000483845 00000 n -0000483889 00000 n -0000483933 00000 n -0000483977 00000 n -0000484021 00000 n -0000484065 00000 n -0000484109 00000 n -0000484153 00000 n -0000484196 00000 n -0000484239 00000 n -0000484283 00000 n -0000484327 00000 n -0000484371 00000 n -0000484414 00000 n -0000484457 00000 n -0000484500 00000 n -0000484543 00000 n -0000484587 00000 n -0000484630 00000 n -0000484674 00000 n -0000484717 00000 n -0000484760 00000 n -0000484804 00000 n -0000484847 00000 n -0000484891 00000 n -0000484935 00000 n -0000484978 00000 n -0000485021 00000 n -0000485064 00000 n -0000485107 00000 n -0000485150 00000 n -0000485194 00000 n -0000485238 00000 n -0000485282 00000 n -0000485325 00000 n -0000485368 00000 n -0000485411 00000 n -0000485454 00000 n -0000485498 00000 n -0000485542 00000 n -0000485585 00000 n -0000485628 00000 n -0000485671 00000 n -0000485714 00000 n -0000485757 00000 n -0000485800 00000 n -0000485843 00000 n -0000485886 00000 n -0000485929 00000 n -0000485972 00000 n -0000486015 00000 n -0000486058 00000 n -0000486101 00000 n -0000486144 00000 n -0000486187 00000 n -0000486230 00000 n -0000486273 00000 n -0000486317 00000 n -0000486361 00000 n -0000486404 00000 n -0000486447 00000 n -0000486490 00000 n -0000486533 00000 n -0000486576 00000 n -0000486619 00000 n -0000486662 00000 n -0000486705 00000 n -0000486748 00000 n -0000486792 00000 n -0000486835 00000 n -0000486878 00000 n -0000486921 00000 n -0000486964 00000 n -0000487007 00000 n -0000487050 00000 n -0000487093 00000 n -0000487136 00000 n -0000487179 00000 n -0000487222 00000 n -0000487265 00000 n -0000487308 00000 n -0000487351 00000 n -0000487394 00000 n -0000487437 00000 n -0000487481 00000 n -0000487525 00000 n -0000487568 00000 n -0000487612 00000 n -0000487656 00000 n -0000487700 00000 n -0000487744 00000 n -0000487788 00000 n -0000487832 00000 n -0000487876 00000 n -0000487920 00000 n -0000487963 00000 n -0000488006 00000 n -0000488049 00000 n -0000488092 00000 n -0000488135 00000 n -0000488178 00000 n -0000488221 00000 n -0000488265 00000 n -0000488309 00000 n -0000488352 00000 n -0000488395 00000 n -0000488438 00000 n -0000488481 00000 n -0000488524 00000 n -0000488568 00000 n -0000488611 00000 n -0000488655 00000 n -0000488698 00000 n -0000488741 00000 n -0000488784 00000 n -0000488827 00000 n -0000488870 00000 n -0000488913 00000 n -0000488956 00000 n -0000488999 00000 n -0000489042 00000 n -0000489085 00000 n -0000489128 00000 n -0000489171 00000 n -0000489214 00000 n -0000489257 00000 n -0000489300 00000 n -0000489343 00000 n -0000489387 00000 n -0000489430 00000 n -0000489473 00000 n -0000489516 00000 n -0000489559 00000 n -0000489602 00000 n -0000489646 00000 n -0000489690 00000 n -0000489734 00000 n -0000489778 00000 n -0000489822 00000 n -0000489866 00000 n -0000489909 00000 n -0000489952 00000 n -0000489995 00000 n -0000490038 00000 n -0000490081 00000 n -0000490124 00000 n -0000492764 00000 n -0000492807 00000 n -0000492851 00000 n -0000492894 00000 n -0000492938 00000 n -0000492982 00000 n -0000493026 00000 n -0000493070 00000 n -0000493114 00000 n -0000493158 00000 n -0000493202 00000 n -0000493246 00000 n -0000493290 00000 n -0000493334 00000 n -0000493378 00000 n -0000493422 00000 n -0000493465 00000 n -0000493509 00000 n -0000493553 00000 n -0000493597 00000 n -0000493640 00000 n -0000493684 00000 n -0000493728 00000 n -0000493772 00000 n -0000493816 00000 n -0000493860 00000 n -0000493904 00000 n -0000493948 00000 n -0000493992 00000 n -0000494036 00000 n -0000494080 00000 n -0000494124 00000 n -0000494167 00000 n -0000494211 00000 n -0000494255 00000 n -0000494299 00000 n -0000494343 00000 n -0000494387 00000 n -0000494431 00000 n -0000494475 00000 n -0000494519 00000 n -0000494563 00000 n -0000494606 00000 n -0000494649 00000 n -0000494693 00000 n -0000494736 00000 n -0000494779 00000 n -0000494822 00000 n -0000494866 00000 n -0000494910 00000 n -0000494954 00000 n -0000494998 00000 n -0000495042 00000 n -0000495086 00000 n -0000495130 00000 n -0000495174 00000 n -0000495218 00000 n -0000495262 00000 n -0000495305 00000 n -0000495349 00000 n -0000495393 00000 n -0000495437 00000 n -0000495481 00000 n -0000495525 00000 n -0000495569 00000 n -0000495613 00000 n -0000495657 00000 n -0000495701 00000 n -0000495745 00000 n -0000495788 00000 n -0000495831 00000 n -0000495874 00000 n -0000495917 00000 n -0000495960 00000 n -0000496003 00000 n -0000496046 00000 n -0000496089 00000 n -0000496133 00000 n -0000496177 00000 n -0000496220 00000 n -0000496263 00000 n -0000496306 00000 n -0000496350 00000 n -0000496394 00000 n -0000496437 00000 n -0000496480 00000 n -0000496524 00000 n -0000496568 00000 n -0000496612 00000 n -0000496656 00000 n -0000496700 00000 n -0000496743 00000 n -0000496786 00000 n -0000496830 00000 n -0000496874 00000 n -0000496918 00000 n -0000496962 00000 n -0000497006 00000 n -0000497050 00000 n -0000497094 00000 n -0000497138 00000 n -0000497182 00000 n -0000497226 00000 n -0000497270 00000 n -0000497313 00000 n -0000497356 00000 n -0000497399 00000 n -0000497442 00000 n -0000497485 00000 n -0000497528 00000 n -0000497571 00000 n -0000497614 00000 n -0000497657 00000 n -0000497700 00000 n -0000497743 00000 n -0000497786 00000 n -0000497829 00000 n -0000497872 00000 n -0000497915 00000 n -0000497958 00000 n -0000498002 00000 n -0000498046 00000 n -0000498090 00000 n -0000498134 00000 n -0000498178 00000 n -0000498221 00000 n -0000498264 00000 n -0000498307 00000 n -0000498350 00000 n -0000498394 00000 n -0000498438 00000 n -0000498482 00000 n -0000498526 00000 n -0000498570 00000 n -0000498614 00000 n -0000498658 00000 n -0000498702 00000 n -0000498746 00000 n -0000498790 00000 n -0000498834 00000 n -0000498878 00000 n -0000498922 00000 n -0000498966 00000 n -0000499010 00000 n -0000499054 00000 n -0000499098 00000 n -0000499142 00000 n -0000499185 00000 n -0000499229 00000 n -0000499273 00000 n -0000499316 00000 n -0000499359 00000 n -0000499402 00000 n -0000499445 00000 n -0000499488 00000 n -0000499531 00000 n -0000499574 00000 n -0000499617 00000 n -0000499660 00000 n -0000499703 00000 n -0000499746 00000 n -0000499789 00000 n -0000499832 00000 n -0000499875 00000 n -0000499918 00000 n -0000499961 00000 n -0000500005 00000 n -0000500049 00000 n -0000500093 00000 n -0000500137 00000 n -0000500180 00000 n -0000500223 00000 n -0000500267 00000 n -0000500311 00000 n -0000500355 00000 n -0000500399 00000 n -0000500443 00000 n -0000500487 00000 n -0000500531 00000 n -0000500574 00000 n -0000500617 00000 n -0000500660 00000 n -0000500703 00000 n -0000500746 00000 n -0000500789 00000 n -0000500832 00000 n -0000500875 00000 n -0000500918 00000 n -0000500961 00000 n -0000501004 00000 n -0000501048 00000 n -0000501091 00000 n -0000501134 00000 n -0000501177 00000 n -0000501220 00000 n -0000501264 00000 n -0000501308 00000 n -0000501352 00000 n -0000501396 00000 n -0000501439 00000 n -0000501483 00000 n -0000501527 00000 n -0000501571 00000 n -0000501615 00000 n -0000501658 00000 n -0000501701 00000 n -0000501744 00000 n -0000501787 00000 n -0000501830 00000 n -0000501874 00000 n -0000501918 00000 n -0000501962 00000 n -0000502006 00000 n -0000502050 00000 n -0000502094 00000 n -0000502138 00000 n -0000502182 00000 n -0000502226 00000 n -0000502269 00000 n -0000502312 00000 n -0000502355 00000 n -0000504805 00000 n -0000504849 00000 n -0000504893 00000 n -0000504936 00000 n -0000504979 00000 n -0000505022 00000 n -0000505066 00000 n -0000505109 00000 n -0000505152 00000 n -0000505195 00000 n -0000505238 00000 n -0000505281 00000 n -0000505324 00000 n -0000505367 00000 n -0000505410 00000 n -0000505453 00000 n -0000505497 00000 n -0000505541 00000 n -0000505585 00000 n -0000505629 00000 n -0000505673 00000 n -0000505717 00000 n -0000505761 00000 n -0000505805 00000 n -0000505849 00000 n -0000505893 00000 n -0000505937 00000 n -0000505981 00000 n -0000506025 00000 n -0000506069 00000 n -0000506113 00000 n -0000506157 00000 n -0000506201 00000 n -0000506245 00000 n -0000506288 00000 n -0000506331 00000 n -0000506374 00000 n -0000506417 00000 n -0000506460 00000 n -0000506503 00000 n -0000506546 00000 n -0000506589 00000 n -0000506632 00000 n -0000506675 00000 n -0000506718 00000 n -0000506762 00000 n -0000506806 00000 n -0000506850 00000 n -0000506894 00000 n -0000506938 00000 n -0000506982 00000 n -0000507026 00000 n -0000507070 00000 n -0000507114 00000 n -0000507158 00000 n -0000507202 00000 n -0000507246 00000 n -0000507290 00000 n -0000507333 00000 n -0000507376 00000 n -0000507419 00000 n -0000507463 00000 n -0000507507 00000 n -0000507551 00000 n -0000507595 00000 n -0000507639 00000 n -0000507683 00000 n -0000507727 00000 n -0000507771 00000 n -0000507815 00000 n -0000507859 00000 n -0000507903 00000 n -0000507947 00000 n -0000507991 00000 n -0000508035 00000 n -0000508079 00000 n -0000508123 00000 n -0000508167 00000 n -0000508211 00000 n -0000508255 00000 n -0000508299 00000 n -0000508343 00000 n -0000508387 00000 n -0000508431 00000 n -0000508475 00000 n -0000508519 00000 n -0000508563 00000 n -0000508607 00000 n -0000508651 00000 n -0000508695 00000 n -0000508739 00000 n -0000508783 00000 n -0000508827 00000 n -0000508871 00000 n -0000508915 00000 n -0000508959 00000 n -0000509003 00000 n -0000509047 00000 n -0000509091 00000 n -0000509135 00000 n -0000509179 00000 n -0000509223 00000 n -0000509267 00000 n -0000509311 00000 n -0000509355 00000 n -0000509399 00000 n -0000509443 00000 n -0000509487 00000 n -0000509531 00000 n -0000509575 00000 n -0000509619 00000 n -0000509663 00000 n -0000509707 00000 n -0000509751 00000 n -0000509795 00000 n -0000509839 00000 n -0000509883 00000 n -0000509927 00000 n -0000509971 00000 n -0000510015 00000 n -0000510059 00000 n -0000510103 00000 n -0000510147 00000 n -0000510191 00000 n -0000510235 00000 n -0000510279 00000 n -0000510323 00000 n -0000510367 00000 n -0000510411 00000 n -0000510455 00000 n -0000510498 00000 n -0000510542 00000 n -0000510586 00000 n -0000510630 00000 n -0000510674 00000 n -0000510718 00000 n -0000510762 00000 n -0000510806 00000 n -0000510850 00000 n -0000510894 00000 n -0000510938 00000 n -0000510982 00000 n -0000511026 00000 n -0000511070 00000 n -0000511114 00000 n -0000511158 00000 n -0000511202 00000 n -0000511246 00000 n -0000511290 00000 n -0000511334 00000 n -0000511377 00000 n -0000511420 00000 n -0000511464 00000 n -0000511507 00000 n -0000511550 00000 n -0000511593 00000 n -0000511637 00000 n -0000511680 00000 n -0000511724 00000 n -0000511768 00000 n -0000511812 00000 n -0000511856 00000 n -0000511900 00000 n -0000511944 00000 n -0000511988 00000 n -0000512032 00000 n -0000512076 00000 n -0000512120 00000 n -0000512164 00000 n -0000512208 00000 n -0000512252 00000 n -0000512296 00000 n -0000512340 00000 n -0000512384 00000 n -0000512428 00000 n -0000512472 00000 n -0000512516 00000 n -0000512560 00000 n -0000512604 00000 n -0000512648 00000 n -0000512692 00000 n -0000512736 00000 n -0000512780 00000 n -0000512824 00000 n -0000512868 00000 n -0000512911 00000 n -0000512954 00000 n -0000512997 00000 n -0000513040 00000 n -0000513083 00000 n -0000513126 00000 n -0000513169 00000 n -0000513212 00000 n -0000513255 00000 n -0000513298 00000 n -0000513341 00000 n -0000513384 00000 n -0000513427 00000 n -0000513470 00000 n -0000513513 00000 n -0000513557 00000 n -0000513601 00000 n -0000513644 00000 n -0000513687 00000 n -0000513731 00000 n -0000513775 00000 n -0000513819 00000 n -0000513863 00000 n -0000513907 00000 n -0000513950 00000 n -0000513994 00000 n -0000514037 00000 n -0000514080 00000 n -0000514124 00000 n -0000514167 00000 n -0000514210 00000 n -0000514253 00000 n -0000514296 00000 n -0000514339 00000 n -0000514382 00000 n -0000514425 00000 n -0000514468 00000 n -0000514511 00000 n -0000514554 00000 n -0000514597 00000 n -0000514641 00000 n -0000514685 00000 n -0000514728 00000 n -0000514771 00000 n -0000514814 00000 n -0000514857 00000 n -0000514900 00000 n -0000514943 00000 n -0000514986 00000 n -0000515029 00000 n -0000515073 00000 n -0000515117 00000 n -0000515161 00000 n -0000515205 00000 n -0000515249 00000 n -0000515293 00000 n -0000515337 00000 n -0000515381 00000 n -0000515425 00000 n -0000515469 00000 n -0000515513 00000 n -0000515557 00000 n -0000515600 00000 n -0000515643 00000 n -0000515686 00000 n -0000515729 00000 n -0000515772 00000 n -0000515815 00000 n -0000515858 00000 n -0000515901 00000 n -0000515944 00000 n -0000515987 00000 n -0000516030 00000 n -0000516073 00000 n -0000516116 00000 n -0000516159 00000 n -0000516202 00000 n -0000516245 00000 n -0000516289 00000 n -0000516333 00000 n -0000516377 00000 n -0000516421 00000 n -0000516465 00000 n -0000516509 00000 n -0000516553 00000 n -0000516597 00000 n -0000516640 00000 n -0000516683 00000 n -0000516726 00000 n -0000516769 00000 n -0000516812 00000 n -0000516856 00000 n -0000516900 00000 n -0000516944 00000 n -0000516988 00000 n -0000517032 00000 n -0000517076 00000 n -0000517120 00000 n -0000517164 00000 n -0000517208 00000 n -0000517252 00000 n -0000517295 00000 n -0000517339 00000 n -0000517382 00000 n -0000517426 00000 n -0000517470 00000 n -0000517513 00000 n -0000517556 00000 n -0000517599 00000 n -0000517643 00000 n -0000517687 00000 n -0000517731 00000 n -0000517775 00000 n -0000517818 00000 n -0000517861 00000 n -0000517904 00000 n -0000517947 00000 n -0000517990 00000 n -0000518033 00000 n -0000518076 00000 n -0000518120 00000 n -0000518164 00000 n -0000518208 00000 n -0000518252 00000 n -0000518296 00000 n -0000518340 00000 n -0000518384 00000 n -0000518428 00000 n -0000518472 00000 n -0000518516 00000 n -0000518559 00000 n -0000518603 00000 n -0000518647 00000 n -0000518690 00000 n -0000518733 00000 n -0000518776 00000 n -0000518819 00000 n -0000522279 00000 n -0000522323 00000 n -0000522366 00000 n -0000522409 00000 n -0000522452 00000 n -0000522495 00000 n -0000522538 00000 n -0000522581 00000 n -0000522624 00000 n -0000522667 00000 n -0000522710 00000 n -0000522754 00000 n -0000522797 00000 n -0000522840 00000 n -0000522883 00000 n -0000522926 00000 n -0000522969 00000 n -0000523012 00000 n -0000523055 00000 n -0000523098 00000 n -0000523141 00000 n -0000523184 00000 n -0000523227 00000 n -0000523270 00000 n -0000523313 00000 n -0000523357 00000 n -0000523400 00000 n -0000523443 00000 n -0000523486 00000 n -0000523530 00000 n -0000523574 00000 n -0000523618 00000 n -0000523661 00000 n -0000523704 00000 n -0000523748 00000 n -0000523792 00000 n -0000523835 00000 n -0000523879 00000 n -0000523923 00000 n -0000523966 00000 n -0000524010 00000 n -0000524054 00000 n -0000524097 00000 n -0000524141 00000 n -0000524185 00000 n -0000524229 00000 n -0000524273 00000 n -0000524317 00000 n -0000524361 00000 n -0000524404 00000 n -0000524447 00000 n -0000524490 00000 n -0000524533 00000 n -0000524577 00000 n -0000524621 00000 n -0000524665 00000 n -0000524708 00000 n -0000524751 00000 n -0000524794 00000 n -0000524837 00000 n -0000524880 00000 n -0000524923 00000 n -0000524966 00000 n -0000525009 00000 n -0000525052 00000 n -0000525095 00000 n -0000525138 00000 n -0000525181 00000 n -0000525224 00000 n -0000525267 00000 n -0000525310 00000 n -0000525353 00000 n -0000525396 00000 n -0000525439 00000 n -0000525482 00000 n -0000525525 00000 n -0000525568 00000 n -0000525611 00000 n -0000525654 00000 n -0000525698 00000 n -0000525742 00000 n -0000525785 00000 n -0000525828 00000 n -0000525871 00000 n -0000525914 00000 n -0000525957 00000 n -0000526000 00000 n -0000526043 00000 n -0000526086 00000 n -0000526129 00000 n -0000526172 00000 n -0000526215 00000 n -0000526258 00000 n -0000526301 00000 n -0000526344 00000 n -0000526387 00000 n -0000526430 00000 n -0000526473 00000 n -0000526516 00000 n -0000526559 00000 n -0000526602 00000 n -0000526645 00000 n -0000526688 00000 n -0000526731 00000 n -0000526774 00000 n -0000526817 00000 n -0000526860 00000 n -0000526903 00000 n -0000526947 00000 n -0000526991 00000 n -0000527034 00000 n -0000527077 00000 n -0000527120 00000 n -0000527163 00000 n -0000527206 00000 n -0000527249 00000 n -0000527292 00000 n -0000527336 00000 n -0000527379 00000 n -0000527422 00000 n -0000527465 00000 n -0000527508 00000 n -0000527552 00000 n -0000527595 00000 n -0000527638 00000 n -0000527681 00000 n -0000527724 00000 n -0000527767 00000 n -0000527810 00000 n -0000527853 00000 n -0000527896 00000 n -0000527939 00000 n -0000527982 00000 n -0000528025 00000 n -0000528068 00000 n -0000528111 00000 n -0000528154 00000 n -0000528197 00000 n -0000528240 00000 n -0000528283 00000 n -0000528326 00000 n -0000528369 00000 n -0000528412 00000 n -0000528455 00000 n -0000528498 00000 n -0000528541 00000 n -0000528584 00000 n -0000528627 00000 n -0000528670 00000 n -0000528713 00000 n -0000528756 00000 n -0000528799 00000 n -0000528842 00000 n -0000528885 00000 n -0000528928 00000 n -0000528971 00000 n -0000529014 00000 n -0000529057 00000 n -0000529100 00000 n -0000529143 00000 n -0000529186 00000 n -0000529229 00000 n -0000529272 00000 n -0000529315 00000 n -0000529358 00000 n -0000529401 00000 n -0000529444 00000 n -0000529487 00000 n -0000529530 00000 n -0000529573 00000 n -0000529616 00000 n -0000529659 00000 n -0000529702 00000 n -0000529745 00000 n -0000529788 00000 n -0000529831 00000 n -0000529874 00000 n -0000529917 00000 n -0000529960 00000 n -0000530003 00000 n -0000530046 00000 n -0000530089 00000 n -0000530132 00000 n -0000530175 00000 n -0000530218 00000 n -0000530261 00000 n -0000530304 00000 n -0000530347 00000 n -0000530390 00000 n -0000530433 00000 n -0000530476 00000 n -0000530519 00000 n -0000530562 00000 n -0000530605 00000 n -0000530648 00000 n -0000530691 00000 n -0000530734 00000 n -0000530777 00000 n -0000530820 00000 n -0000530863 00000 n -0000530906 00000 n -0000530949 00000 n -0000530992 00000 n -0000531035 00000 n -0000531078 00000 n -0000531121 00000 n -0000531164 00000 n -0000531207 00000 n -0000531250 00000 n -0000531293 00000 n -0000531336 00000 n -0000531379 00000 n -0000531422 00000 n -0000531465 00000 n -0000531508 00000 n -0000531551 00000 n -0000531595 00000 n -0000531639 00000 n -0000531683 00000 n -0000531727 00000 n -0000531771 00000 n -0000531815 00000 n -0000531859 00000 n -0000531903 00000 n -0000531947 00000 n -0000531991 00000 n -0000532035 00000 n -0000532079 00000 n -0000532123 00000 n -0000532167 00000 n -0000532211 00000 n -0000532255 00000 n -0000532299 00000 n -0000532343 00000 n -0000532387 00000 n -0000532431 00000 n -0000532475 00000 n -0000532519 00000 n -0000532563 00000 n -0000532607 00000 n -0000532651 00000 n -0000532695 00000 n -0000532739 00000 n -0000532783 00000 n -0000532827 00000 n -0000532871 00000 n -0000532915 00000 n -0000532959 00000 n -0000533003 00000 n -0000533047 00000 n -0000533091 00000 n -0000533135 00000 n -0000533179 00000 n -0000533223 00000 n -0000533267 00000 n -0000533311 00000 n -0000533355 00000 n -0000533399 00000 n -0000533443 00000 n -0000533487 00000 n -0000533531 00000 n -0000533575 00000 n -0000533619 00000 n -0000533663 00000 n -0000533707 00000 n -0000533751 00000 n -0000533795 00000 n -0000533839 00000 n -0000533883 00000 n -0000533927 00000 n -0000533971 00000 n -0000534015 00000 n -0000534059 00000 n -0000534103 00000 n -0000534147 00000 n -0000534191 00000 n -0000534235 00000 n -0000534278 00000 n -0000534322 00000 n -0000534366 00000 n -0000534410 00000 n -0000534454 00000 n -0000534498 00000 n -0000534542 00000 n -0000534585 00000 n -0000534629 00000 n -0000534673 00000 n -0000534717 00000 n -0000534761 00000 n -0000534805 00000 n -0000534849 00000 n -0000534893 00000 n -0000534937 00000 n -0000534981 00000 n -0000535025 00000 n -0000535069 00000 n -0000535113 00000 n -0000535156 00000 n -0000535199 00000 n -0000535242 00000 n -0000535286 00000 n -0000535330 00000 n -0000535373 00000 n -0000535417 00000 n -0000535460 00000 n -0000535503 00000 n -0000535546 00000 n -0000535589 00000 n -0000535632 00000 n -0000535675 00000 n -0000535718 00000 n -0000535762 00000 n -0000535806 00000 n -0000535850 00000 n -0000535893 00000 n -0000535937 00000 n -0000535981 00000 n -0000536025 00000 n -0000536069 00000 n -0000536113 00000 n -0000536157 00000 n -0000536201 00000 n -0000536245 00000 n -0000536289 00000 n -0000536333 00000 n -0000536377 00000 n -0000536421 00000 n -0000536464 00000 n -0000536507 00000 n -0000536550 00000 n -0000536593 00000 n -0000536636 00000 n -0000540196 00000 n -0000540240 00000 n -0000540284 00000 n -0000540328 00000 n -0000540372 00000 n -0000540416 00000 n -0000540459 00000 n -0000540502 00000 n -0000540545 00000 n -0000540588 00000 n -0000540632 00000 n -0000540676 00000 n -0000540720 00000 n -0000540764 00000 n -0000540808 00000 n -0000540852 00000 n -0000540896 00000 n -0000540940 00000 n -0000540984 00000 n -0000541028 00000 n -0000541072 00000 n -0000541116 00000 n -0000541160 00000 n -0000541204 00000 n -0000541248 00000 n -0000541292 00000 n -0000541336 00000 n -0000541380 00000 n -0000541424 00000 n -0000541468 00000 n -0000541512 00000 n -0000541556 00000 n -0000541600 00000 n -0000541644 00000 n -0000541688 00000 n -0000541732 00000 n -0000541776 00000 n -0000541820 00000 n -0000541864 00000 n -0000541908 00000 n -0000541952 00000 n -0000541996 00000 n -0000542040 00000 n -0000542083 00000 n -0000542126 00000 n -0000542169 00000 n -0000542212 00000 n -0000542255 00000 n -0000542298 00000 n -0000542341 00000 n -0000542384 00000 n -0000542427 00000 n -0000542470 00000 n -0000542513 00000 n -0000542556 00000 n -0000542600 00000 n -0000542644 00000 n -0000542687 00000 n -0000542730 00000 n -0000542773 00000 n -0000542816 00000 n -0000542859 00000 n -0000542902 00000 n -0000542945 00000 n -0000542988 00000 n -0000543031 00000 n -0000543074 00000 n -0000543117 00000 n -0000543160 00000 n -0000543204 00000 n -0000543248 00000 n -0000543292 00000 n -0000543336 00000 n -0000543380 00000 n -0000543424 00000 n -0000543468 00000 n -0000543511 00000 n -0000543554 00000 n -0000543597 00000 n -0000543640 00000 n -0000543683 00000 n -0000543726 00000 n -0000543769 00000 n -0000543813 00000 n -0000543857 00000 n -0000543901 00000 n -0000543945 00000 n -0000543989 00000 n -0000544033 00000 n -0000544077 00000 n -0000544121 00000 n -0000544165 00000 n -0000544209 00000 n -0000544253 00000 n -0000544297 00000 n -0000544341 00000 n -0000544385 00000 n -0000544428 00000 n -0000544471 00000 n -0000544514 00000 n -0000544558 00000 n -0000544602 00000 n -0000544646 00000 n -0000544690 00000 n -0000544734 00000 n -0000544778 00000 n -0000544822 00000 n -0000544866 00000 n -0000544910 00000 n -0000544954 00000 n -0000544998 00000 n -0000545042 00000 n -0000545086 00000 n -0000545130 00000 n -0000545174 00000 n -0000545218 00000 n -0000545262 00000 n -0000545306 00000 n -0000545350 00000 n -0000545394 00000 n -0000545438 00000 n -0000545482 00000 n -0000545526 00000 n -0000545570 00000 n -0000545614 00000 n -0000545658 00000 n -0000545702 00000 n -0000545746 00000 n -0000545790 00000 n -0000545834 00000 n -0000545877 00000 n -0000545920 00000 n -0000545963 00000 n -0000546006 00000 n -0000546049 00000 n -0000546092 00000 n -0000546135 00000 n -0000546178 00000 n -0000546221 00000 n -0000546264 00000 n -0000546307 00000 n -0000546350 00000 n -0000546393 00000 n -0000546436 00000 n -0000546479 00000 n -0000546522 00000 n -0000546565 00000 n -0000546609 00000 n -0000546652 00000 n -0000546695 00000 n -0000546738 00000 n -0000546781 00000 n -0000546824 00000 n -0000546867 00000 n -0000546911 00000 n -0000546955 00000 n -0000546998 00000 n -0000547042 00000 n -0000547086 00000 n -0000547130 00000 n -0000547174 00000 n -0000547218 00000 n -0000547262 00000 n -0000547306 00000 n -0000547350 00000 n -0000547394 00000 n -0000547438 00000 n -0000547482 00000 n -0000547526 00000 n -0000547570 00000 n -0000547614 00000 n -0000547658 00000 n -0000547702 00000 n -0000547745 00000 n -0000547788 00000 n -0000547831 00000 n -0000547874 00000 n -0000547917 00000 n -0000547960 00000 n -0000548003 00000 n -0000548046 00000 n -0000548089 00000 n -0000548132 00000 n -0000548175 00000 n -0000548218 00000 n -0000548261 00000 n -0000548304 00000 n -0000548348 00000 n -0000548392 00000 n -0000548435 00000 n -0000548478 00000 n -0000548521 00000 n -0000548564 00000 n -0000548607 00000 n -0000548650 00000 n -0000548693 00000 n -0000548736 00000 n -0000548779 00000 n -0000548822 00000 n -0000548865 00000 n -0000548908 00000 n -0000548952 00000 n -0000548996 00000 n -0000549040 00000 n -0000549084 00000 n -0000549128 00000 n -0000549172 00000 n -0000549216 00000 n -0000549260 00000 n -0000549304 00000 n -0000549348 00000 n -0000549392 00000 n -0000549436 00000 n -0000549480 00000 n -0000549524 00000 n -0000549568 00000 n -0000549611 00000 n -0000549654 00000 n -0000549697 00000 n -0000549740 00000 n -0000549783 00000 n -0000549826 00000 n -0000549869 00000 n -0000549912 00000 n -0000549956 00000 n -0000550000 00000 n -0000550043 00000 n -0000550086 00000 n -0000550129 00000 n -0000550172 00000 n -0000550215 00000 n -0000550258 00000 n -0000550301 00000 n -0000550344 00000 n -0000550387 00000 n -0000550430 00000 n -0000550473 00000 n -0000550516 00000 n -0000550559 00000 n -0000550602 00000 n -0000550645 00000 n -0000550688 00000 n -0000550731 00000 n -0000550774 00000 n -0000550817 00000 n -0000550860 00000 n -0000550903 00000 n -0000550946 00000 n -0000550989 00000 n -0000551032 00000 n -0000551075 00000 n -0000551118 00000 n -0000551161 00000 n -0000551204 00000 n -0000551247 00000 n -0000551290 00000 n -0000551333 00000 n -0000551376 00000 n -0000551419 00000 n -0000551462 00000 n -0000551505 00000 n -0000551548 00000 n -0000551591 00000 n -0000551634 00000 n -0000551677 00000 n -0000551720 00000 n -0000551763 00000 n -0000551806 00000 n -0000551849 00000 n -0000551892 00000 n -0000551935 00000 n -0000551978 00000 n -0000552021 00000 n -0000552064 00000 n -0000552107 00000 n -0000552150 00000 n -0000552193 00000 n -0000552236 00000 n -0000552279 00000 n -0000552322 00000 n -0000552365 00000 n -0000552408 00000 n -0000552451 00000 n -0000552494 00000 n -0000552537 00000 n -0000552580 00000 n -0000552623 00000 n -0000552666 00000 n -0000552709 00000 n -0000552752 00000 n -0000552795 00000 n -0000552838 00000 n -0000552881 00000 n -0000552924 00000 n -0000552967 00000 n -0000553010 00000 n -0000553053 00000 n -0000553096 00000 n -0000553139 00000 n -0000553182 00000 n -0000553225 00000 n -0000553269 00000 n -0000553313 00000 n -0000553357 00000 n -0000553401 00000 n -0000553445 00000 n -0000553489 00000 n -0000553533 00000 n -0000553577 00000 n -0000553621 00000 n -0000553665 00000 n -0000553709 00000 n -0000553753 00000 n -0000553797 00000 n -0000553841 00000 n -0000553885 00000 n -0000553929 00000 n -0000553973 00000 n -0000554017 00000 n -0000554061 00000 n -0000554105 00000 n -0000554149 00000 n -0000554193 00000 n -0000554237 00000 n -0000554281 00000 n -0000554325 00000 n -0000554369 00000 n -0000554413 00000 n -0000554457 00000 n -0000554501 00000 n -0000554545 00000 n -0000554589 00000 n -0000554633 00000 n -0000554677 00000 n -0000554721 00000 n -0000554765 00000 n -0000554809 00000 n -0000554853 00000 n -0000554897 00000 n -0000554941 00000 n -0000554985 00000 n -0000555029 00000 n -0000555072 00000 n -0000555115 00000 n -0000555158 00000 n -0000555201 00000 n -0000555244 00000 n -0000558954 00000 n -0000558997 00000 n -0000559041 00000 n -0000559085 00000 n -0000559128 00000 n -0000559171 00000 n -0000559214 00000 n -0000559257 00000 n -0000559300 00000 n -0000559343 00000 n -0000559386 00000 n -0000559429 00000 n -0000559472 00000 n -0000559515 00000 n -0000559558 00000 n -0000559601 00000 n -0000559644 00000 n -0000559687 00000 n -0000559730 00000 n -0000559773 00000 n -0000559816 00000 n -0000559859 00000 n -0000559902 00000 n -0000559945 00000 n -0000559988 00000 n -0000560031 00000 n -0000560075 00000 n -0000560119 00000 n -0000560163 00000 n -0000560207 00000 n -0000560251 00000 n -0000560295 00000 n -0000560339 00000 n -0000560383 00000 n -0000560427 00000 n -0000560471 00000 n -0000560515 00000 n -0000560559 00000 n -0000560603 00000 n -0000560647 00000 n -0000560691 00000 n -0000560735 00000 n -0000560778 00000 n -0000560821 00000 n -0000560864 00000 n -0000560907 00000 n -0000560951 00000 n -0000560995 00000 n -0000561038 00000 n -0000561081 00000 n -0000561124 00000 n -0000561168 00000 n -0000561212 00000 n -0000561256 00000 n -0000561299 00000 n -0000561342 00000 n -0000561385 00000 n -0000561428 00000 n -0000561471 00000 n -0000561514 00000 n -0000561557 00000 n -0000561600 00000 n -0000561643 00000 n -0000561686 00000 n -0000561729 00000 n -0000561772 00000 n -0000561815 00000 n -0000561858 00000 n -0000561901 00000 n -0000561944 00000 n -0000561987 00000 n -0000562031 00000 n -0000562075 00000 n -0000562119 00000 n -0000562163 00000 n -0000562207 00000 n -0000562251 00000 n -0000562295 00000 n -0000562339 00000 n -0000562383 00000 n -0000562427 00000 n -0000562471 00000 n -0000562515 00000 n -0000562559 00000 n -0000562603 00000 n -0000562647 00000 n -0000562691 00000 n -0000562735 00000 n -0000562779 00000 n -0000562823 00000 n -0000562867 00000 n -0000562911 00000 n -0000562955 00000 n -0000562999 00000 n -0000563043 00000 n -0000563086 00000 n -0000563130 00000 n -0000563173 00000 n -0000563217 00000 n -0000563261 00000 n -0000563305 00000 n -0000563349 00000 n -0000563393 00000 n -0000563437 00000 n -0000563481 00000 n -0000563525 00000 n -0000563569 00000 n -0000563613 00000 n -0000563657 00000 n -0000563701 00000 n -0000563745 00000 n -0000563789 00000 n -0000563832 00000 n -0000563875 00000 n -0000563918 00000 n -0000563961 00000 n -0000564005 00000 n -0000564048 00000 n -0000564091 00000 n -0000564134 00000 n -0000564177 00000 n -0000564221 00000 n -0000564264 00000 n -0000564307 00000 n -0000564350 00000 n -0000564394 00000 n -0000564437 00000 n -0000564480 00000 n -0000564524 00000 n -0000564567 00000 n -0000564610 00000 n -0000564653 00000 n -0000564697 00000 n -0000564740 00000 n -0000564783 00000 n -0000564826 00000 n -0000564869 00000 n -0000564912 00000 n -0000564955 00000 n -0000564998 00000 n -0000565042 00000 n -0000565086 00000 n -0000565129 00000 n -0000565173 00000 n -0000565217 00000 n -0000565261 00000 n -0000565304 00000 n -0000565348 00000 n -0000565392 00000 n -0000565436 00000 n -0000565479 00000 n -0000565522 00000 n -0000565565 00000 n -0000565608 00000 n -0000565651 00000 n -0000565695 00000 n -0000565739 00000 n -0000565783 00000 n -0000565827 00000 n -0000565871 00000 n -0000565914 00000 n -0000565957 00000 n -0000566001 00000 n -0000566045 00000 n -0000566089 00000 n -0000566133 00000 n -0000566177 00000 n -0000566221 00000 n -0000566265 00000 n -0000566309 00000 n -0000566353 00000 n -0000566397 00000 n -0000566440 00000 n -0000566484 00000 n -0000566528 00000 n -0000566572 00000 n -0000566616 00000 n -0000566660 00000 n -0000566704 00000 n -0000566747 00000 n -0000566790 00000 n -0000566833 00000 n -0000566876 00000 n -0000566920 00000 n -0000566964 00000 n -0000567007 00000 n -0000567050 00000 n -0000567093 00000 n -0000567136 00000 n -0000567179 00000 n -0000567222 00000 n -0000567265 00000 n -0000567308 00000 n -0000567351 00000 n -0000567394 00000 n -0000567438 00000 n -0000567482 00000 n -0000567525 00000 n -0000567568 00000 n -0000567611 00000 n -0000567654 00000 n -0000567697 00000 n -0000567741 00000 n -0000567784 00000 n -0000567827 00000 n -0000567870 00000 n -0000567914 00000 n -0000567957 00000 n -0000568000 00000 n -0000568043 00000 n -0000568086 00000 n -0000568129 00000 n -0000568173 00000 n -0000568217 00000 n -0000568261 00000 n -0000568305 00000 n -0000568349 00000 n -0000568392 00000 n -0000568436 00000 n -0000568480 00000 n -0000568524 00000 n -0000568567 00000 n -0000568610 00000 n -0000568653 00000 n -0000568696 00000 n -0000568740 00000 n -0000568784 00000 n -0000568827 00000 n -0000568871 00000 n -0000568915 00000 n -0000568958 00000 n -0000569001 00000 n -0000569045 00000 n -0000569088 00000 n -0000569131 00000 n -0000569174 00000 n -0000569217 00000 n -0000569261 00000 n -0000569304 00000 n -0000569347 00000 n -0000569390 00000 n -0000569433 00000 n -0000569477 00000 n -0000569521 00000 n -0000569565 00000 n -0000569609 00000 n -0000569653 00000 n -0000569697 00000 n -0000569741 00000 n -0000569785 00000 n -0000569829 00000 n -0000569873 00000 n -0000569917 00000 n -0000569961 00000 n -0000570004 00000 n -0000570047 00000 n -0000570090 00000 n -0000570133 00000 n -0000570176 00000 n -0000570220 00000 n -0000570264 00000 n -0000570308 00000 n -0000570352 00000 n -0000570396 00000 n -0000570440 00000 n -0000570484 00000 n -0000570528 00000 n -0000570572 00000 n -0000570615 00000 n -0000570658 00000 n -0000570702 00000 n -0000570746 00000 n -0000570790 00000 n -0000570834 00000 n -0000570877 00000 n -0000570921 00000 n -0000570964 00000 n -0000571007 00000 n -0000571050 00000 n -0000571094 00000 n -0000571138 00000 n -0000571182 00000 n -0000571226 00000 n -0000571270 00000 n -0000571314 00000 n -0000571358 00000 n -0000571402 00000 n -0000571445 00000 n -0000571489 00000 n -0000571533 00000 n -0000571577 00000 n -0000571621 00000 n -0000571665 00000 n -0000571709 00000 n -0000571753 00000 n -0000571797 00000 n -0000571841 00000 n -0000571885 00000 n -0000571929 00000 n -0000571972 00000 n -0000572015 00000 n -0000572058 00000 n -0000572101 00000 n -0000572144 00000 n -0000572187 00000 n -0000572230 00000 n -0000572273 00000 n -0000575583 00000 n -0000575627 00000 n -0000575671 00000 n -0000575715 00000 n -0000575759 00000 n -0000575803 00000 n -0000575847 00000 n -0000575891 00000 n -0000575935 00000 n -0000575979 00000 n -0000576023 00000 n -0000576067 00000 n -0000576111 00000 n -0000576155 00000 n -0000576199 00000 n -0000576243 00000 n -0000576287 00000 n -0000576331 00000 n -0000576375 00000 n -0000576419 00000 n -0000576463 00000 n -0000576507 00000 n -0000576551 00000 n -0000576595 00000 n -0000576639 00000 n -0000576683 00000 n -0000576727 00000 n -0000576771 00000 n -0000576815 00000 n -0000576859 00000 n -0000576903 00000 n -0000576947 00000 n -0000576991 00000 n -0000577035 00000 n -0000577079 00000 n -0000577123 00000 n -0000577167 00000 n -0000577211 00000 n -0000577255 00000 n -0000577299 00000 n -0000577343 00000 n -0000577387 00000 n -0000577431 00000 n -0000577475 00000 n -0000577518 00000 n -0000577562 00000 n -0000577606 00000 n -0000577650 00000 n -0000577694 00000 n -0000577738 00000 n -0000577782 00000 n -0000577826 00000 n -0000577870 00000 n -0000577914 00000 n -0000577958 00000 n -0000578002 00000 n -0000578046 00000 n -0000578090 00000 n -0000578134 00000 n -0000578178 00000 n -0000578222 00000 n -0000578266 00000 n -0000578310 00000 n -0000578354 00000 n -0000578398 00000 n -0000578442 00000 n -0000578485 00000 n -0000578528 00000 n -0000578571 00000 n -0000578614 00000 n -0000578657 00000 n -0000578701 00000 n -0000578744 00000 n -0000578787 00000 n -0000578830 00000 n -0000578873 00000 n -0000578916 00000 n -0000578959 00000 n -0000579002 00000 n -0000579045 00000 n -0000579088 00000 n -0000579132 00000 n -0000579176 00000 n -0000579220 00000 n -0000579264 00000 n -0000579308 00000 n -0000579352 00000 n -0000579395 00000 n -0000579438 00000 n -0000579482 00000 n -0000579526 00000 n -0000579569 00000 n -0000579613 00000 n -0000579656 00000 n -0000579699 00000 n -0000579743 00000 n -0000579786 00000 n -0000579829 00000 n -0000579873 00000 n -0000579917 00000 n -0000579960 00000 n -0000580003 00000 n -0000580046 00000 n -0000580090 00000 n -0000580134 00000 n -0000580177 00000 n -0000580220 00000 n -0000580263 00000 n -0000580307 00000 n -0000580350 00000 n -0000580394 00000 n -0000580437 00000 n -0000580480 00000 n -0000580524 00000 n -0000580567 00000 n -0000580610 00000 n -0000580653 00000 n -0000580696 00000 n -0000580740 00000 n -0000580784 00000 n -0000580828 00000 n -0000580871 00000 n -0000580914 00000 n -0000580957 00000 n -0000581000 00000 n -0000581043 00000 n -0000581086 00000 n -0000581129 00000 n -0000581172 00000 n -0000581215 00000 n -0000581258 00000 n -0000581301 00000 n -0000581344 00000 n -0000581388 00000 n -0000581432 00000 n -0000581476 00000 n -0000581519 00000 n -0000581562 00000 n -0000581606 00000 n -0000581650 00000 n -0000581694 00000 n -0000581738 00000 n -0000581782 00000 n -0000581826 00000 n -0000581870 00000 n -0000581914 00000 n -0000581957 00000 n -0000582001 00000 n -0000582045 00000 n -0000582089 00000 n -0000582132 00000 n -0000582175 00000 n -0000582219 00000 n -0000582262 00000 n -0000582305 00000 n -0000582348 00000 n -0000582391 00000 n -0000582434 00000 n -0000582477 00000 n -0000582520 00000 n -0000582563 00000 n -0000582606 00000 n -0000582650 00000 n -0000582694 00000 n -0000582738 00000 n -0000582782 00000 n -0000582826 00000 n -0000582869 00000 n -0000582913 00000 n -0000582957 00000 n -0000583001 00000 n -0000583045 00000 n -0000583089 00000 n -0000583133 00000 n -0000583177 00000 n -0000583220 00000 n -0000583263 00000 n -0000583306 00000 n -0000583349 00000 n -0000583392 00000 n -0000583435 00000 n -0000583479 00000 n -0000583523 00000 n -0000583567 00000 n -0000583611 00000 n -0000583655 00000 n -0000583699 00000 n -0000583743 00000 n -0000583787 00000 n -0000583831 00000 n -0000583875 00000 n -0000583918 00000 n -0000583961 00000 n -0000584004 00000 n -0000584047 00000 n -0000584090 00000 n -0000584133 00000 n -0000584176 00000 n -0000584219 00000 n -0000584262 00000 n -0000584305 00000 n -0000584348 00000 n -0000584391 00000 n -0000584434 00000 n -0000584477 00000 n -0000584520 00000 n -0000584564 00000 n -0000584608 00000 n -0000584651 00000 n -0000584694 00000 n -0000587035 00000 n -0000587078 00000 n -0000587122 00000 n -0000587166 00000 n -0000587209 00000 n -0000587252 00000 n -0000587295 00000 n -0000587338 00000 n -0000587381 00000 n -0000587424 00000 n -0000587467 00000 n -0000587511 00000 n -0000587555 00000 n -0000587599 00000 n -0000587643 00000 n -0000587687 00000 n -0000587731 00000 n -0000587775 00000 n -0000587819 00000 n -0000587863 00000 n -0000587907 00000 n -0000587951 00000 n -0000587995 00000 n -0000588039 00000 n -0000588083 00000 n -0000588127 00000 n -0000588171 00000 n -0000588214 00000 n -0000588257 00000 n -0000588300 00000 n -0000588343 00000 n -0000588386 00000 n -0000588430 00000 n -0000588473 00000 n -0000588516 00000 n -0000588559 00000 n -0000588603 00000 n -0000588647 00000 n -0000588691 00000 n -0000588734 00000 n -0000588778 00000 n -0000588822 00000 n -0000588866 00000 n -0000588909 00000 n -0000588952 00000 n -0000588995 00000 n -0000589038 00000 n -0000589081 00000 n -0000589125 00000 n -0000589169 00000 n -0000589213 00000 n -0000589257 00000 n -0000589300 00000 n -0000589343 00000 n -0000589386 00000 n -0000589430 00000 n -0000589474 00000 n -0000589518 00000 n -0000589561 00000 n -0000589604 00000 n -0000589648 00000 n -0000589692 00000 n -0000589736 00000 n -0000589780 00000 n -0000589824 00000 n -0000589868 00000 n -0000589912 00000 n -0000589956 00000 n -0000590000 00000 n -0000590043 00000 n -0000590086 00000 n -0000590129 00000 n -0000590173 00000 n -0000590217 00000 n -0000590261 00000 n -0000590305 00000 n -0000590349 00000 n -0000590393 00000 n -0000590436 00000 n -0000590479 00000 n -0000590522 00000 n -0000590565 00000 n -0000590608 00000 n -0000590652 00000 n -0000590696 00000 n -0000590740 00000 n -0000590784 00000 n -0000590828 00000 n -0000590872 00000 n -0000590916 00000 n -0000590960 00000 n -0000591004 00000 n -0000591047 00000 n -0000591090 00000 n -0000591133 00000 n -0000591176 00000 n -0000591219 00000 n -0000591262 00000 n -0000591305 00000 n -0000591348 00000 n -0000591391 00000 n -0000591434 00000 n -0000591477 00000 n -0000591520 00000 n -0000591563 00000 n -0000591606 00000 n -0000591649 00000 n -0000591692 00000 n -0000591735 00000 n -0000591778 00000 n -0000591821 00000 n -0000591864 00000 n -0000591907 00000 n -0000591950 00000 n -0000591993 00000 n -0000592036 00000 n -0000592079 00000 n -0000592122 00000 n -0000592165 00000 n -0000592209 00000 n -0000592253 00000 n -0000592297 00000 n -0000592341 00000 n -0000592385 00000 n -0000592429 00000 n -0000592473 00000 n -0000592517 00000 n -0000592561 00000 n -0000592605 00000 n -0000592649 00000 n -0000592693 00000 n -0000592737 00000 n -0000592781 00000 n -0000592825 00000 n -0000592869 00000 n -0000592913 00000 n -0000592957 00000 n -0000593001 00000 n -0000593045 00000 n -0000593089 00000 n -0000593133 00000 n -0000593177 00000 n -0000593221 00000 n -0000593265 00000 n -0000593309 00000 n -0000593353 00000 n -0000593397 00000 n -0000593441 00000 n -0000593485 00000 n -0000593529 00000 n -0000593573 00000 n -0000593617 00000 n -0000593661 00000 n -0000593705 00000 n -0000593749 00000 n -0000593793 00000 n -0000593837 00000 n -0000593881 00000 n -0000593925 00000 n -0000593969 00000 n -0000594013 00000 n -0000594056 00000 n -0000594099 00000 n -0000594142 00000 n -0000594186 00000 n -0000594229 00000 n -0000594272 00000 n -0000594315 00000 n -0000594359 00000 n -0000594402 00000 n -0000594446 00000 n -0000594490 00000 n -0000594534 00000 n -0000594577 00000 n -0000594620 00000 n -0000594663 00000 n -0000594706 00000 n -0000594749 00000 n -0000594792 00000 n -0000594835 00000 n -0000594878 00000 n -0000594922 00000 n -0000594966 00000 n -0000595010 00000 n -0000595054 00000 n -0000595097 00000 n -0000595141 00000 n -0000595185 00000 n -0000595229 00000 n -0000595273 00000 n -0000595317 00000 n -0000595361 00000 n -0000595405 00000 n -0000595449 00000 n -0000595492 00000 n -0000595535 00000 n -0000595578 00000 n -0000595621 00000 n -0000595664 00000 n -0000595707 00000 n -0000595750 00000 n -0000595794 00000 n -0000595838 00000 n -0000595882 00000 n -0000595926 00000 n -0000595970 00000 n -0000596014 00000 n -0000596057 00000 n -0000596101 00000 n -0000596144 00000 n -0000596187 00000 n -0000596230 00000 n -0000596274 00000 n -0000596318 00000 n -0000596361 00000 n -0000596404 00000 n -0000596447 00000 n -0000596491 00000 n -0000596535 00000 n -0000596579 00000 n -0000596623 00000 n -0000596667 00000 n -0000596711 00000 n -0000596755 00000 n -0000596799 00000 n -0000596842 00000 n -0000596885 00000 n -0000596928 00000 n -0000596972 00000 n -0000597016 00000 n -0000597060 00000 n -0000597103 00000 n -0000597146 00000 n -0000597189 00000 n -0000597232 00000 n -0000597275 00000 n -0000597318 00000 n -0000597362 00000 n -0000597406 00000 n -0000597450 00000 n -0000597494 00000 n -0000597538 00000 n -0000597582 00000 n -0000597626 00000 n -0000597669 00000 n -0000597712 00000 n -0000597755 00000 n -0000597798 00000 n -0000597841 00000 n -0000597885 00000 n -0000597929 00000 n -0000597973 00000 n -0000598017 00000 n -0000598061 00000 n -0000598105 00000 n -0000598149 00000 n -0000598193 00000 n -0000598237 00000 n -0000598281 00000 n -0000598325 00000 n -0000598369 00000 n -0000598413 00000 n -0000598457 00000 n -0000598500 00000 n -0000598543 00000 n -0000598586 00000 n -0000598630 00000 n -0000598674 00000 n -0000598717 00000 n -0000598760 00000 n -0000598803 00000 n -0000598846 00000 n -0000598889 00000 n -0000598932 00000 n -0000598975 00000 n -0000599018 00000 n -0000599061 00000 n -0000599104 00000 n -0000599147 00000 n -0000599190 00000 n -0000599234 00000 n -0000599278 00000 n -0000599321 00000 n -0000599364 00000 n -0000599407 00000 n -0000599450 00000 n -0000599493 00000 n -0000599536 00000 n -0000599579 00000 n -0000599622 00000 n -0000599666 00000 n -0000599710 00000 n -0000599754 00000 n -0000599798 00000 n -0000599842 00000 n -0000599886 00000 n -0000599929 00000 n -0000599973 00000 n -0000600017 00000 n -0000600061 00000 n -0000600104 00000 n -0000600147 00000 n -0000600190 00000 n -0000600233 00000 n -0000600276 00000 n -0000600319 00000 n -0000600362 00000 n -0000600405 00000 n -0000600449 00000 n -0000600493 00000 n -0000600537 00000 n -0000600581 00000 n -0000600624 00000 n -0000600668 00000 n -0000600711 00000 n -0000600755 00000 n -0000600799 00000 n -0000600843 00000 n -0000600886 00000 n -0000600929 00000 n -0000600972 00000 n -0000601015 00000 n -0000601058 00000 n -0000601101 00000 n -0000601144 00000 n -0000601188 00000 n -0000601232 00000 n -0000601276 00000 n -0000601320 00000 n -0000601364 00000 n -0000601407 00000 n -0000601450 00000 n -0000601493 00000 n -0000601536 00000 n -0000601579 00000 n -0000601622 00000 n -0000601665 00000 n -0000601708 00000 n -0000601751 00000 n -0000601794 00000 n -0000601837 00000 n -0000601880 00000 n -0000601923 00000 n -0000601967 00000 n -0000602011 00000 n -0000602055 00000 n -0000602099 00000 n -0000602143 00000 n -0000602187 00000 n -0000602231 00000 n -0000602275 00000 n -0000602319 00000 n -0000602363 00000 n -0000602407 00000 n -0000602451 00000 n -0000602495 00000 n -0000602538 00000 n -0000602581 00000 n -0000602624 00000 n -0000602667 00000 n -0000602710 00000 n -0000606561 00000 n -0000606605 00000 n -0000606649 00000 n -0000606693 00000 n -0000606736 00000 n -0000606779 00000 n -0000606823 00000 n -0000606866 00000 n -0000606909 00000 n -0000606952 00000 n -0000606996 00000 n -0000607040 00000 n -0000607084 00000 n -0000607127 00000 n -0000607170 00000 n -0000607213 00000 n -0000607256 00000 n -0000607299 00000 n -0000607342 00000 n -0000607385 00000 n -0000607429 00000 n -0000607472 00000 n -0000607515 00000 n -0000607558 00000 n -0000607601 00000 n -0000607644 00000 n -0000607687 00000 n -0000607730 00000 n -0000607773 00000 n -0000607816 00000 n -0000607859 00000 n -0000607902 00000 n -0000607945 00000 n -0000607989 00000 n -0000608033 00000 n -0000608076 00000 n -0000608119 00000 n -0000608162 00000 n -0000608205 00000 n -0000608248 00000 n -0000608291 00000 n -0000608334 00000 n -0000608377 00000 n -0000608420 00000 n -0000608463 00000 n -0000608506 00000 n -0000608549 00000 n -0000608592 00000 n -0000608636 00000 n -0000608680 00000 n -0000608723 00000 n -0000608766 00000 n -0000608809 00000 n -0000608852 00000 n -0000608895 00000 n -0000608938 00000 n -0000608981 00000 n -0000609025 00000 n -0000609068 00000 n -0000609111 00000 n -0000609154 00000 n -0000609197 00000 n -0000609240 00000 n -0000609283 00000 n -0000609326 00000 n -0000609369 00000 n -0000609412 00000 n -0000609455 00000 n -0000609499 00000 n -0000609543 00000 n -0000609586 00000 n -0000609629 00000 n -0000609672 00000 n -0000609715 00000 n -0000609758 00000 n -0000609801 00000 n -0000609844 00000 n -0000609887 00000 n -0000609931 00000 n -0000609974 00000 n -0000610017 00000 n -0000610060 00000 n -0000610103 00000 n -0000610146 00000 n -0000610189 00000 n -0000610232 00000 n -0000610275 00000 n -0000610318 00000 n -0000610361 00000 n -0000610404 00000 n -0000610447 00000 n -0000610490 00000 n -0000610534 00000 n -0000610578 00000 n -0000610622 00000 n -0000610666 00000 n -0000610710 00000 n -0000610754 00000 n -0000610797 00000 n -0000610840 00000 n -0000610883 00000 n -0000610926 00000 n -0000610969 00000 n -0000611012 00000 n -0000611055 00000 n -0000611098 00000 n -0000611141 00000 n -0000611185 00000 n -0000611229 00000 n -0000611272 00000 n -0000611315 00000 n -0000611358 00000 n -0000611402 00000 n -0000611446 00000 n -0000611490 00000 n -0000611534 00000 n -0000611578 00000 n -0000611622 00000 n -0000611666 00000 n -0000611710 00000 n -0000611754 00000 n -0000611797 00000 n -0000611840 00000 n -0000611883 00000 n -0000611926 00000 n -0000611969 00000 n -0000612012 00000 n -0000612055 00000 n -0000612098 00000 n -0000612141 00000 n -0000612184 00000 n -0000612227 00000 n -0000612270 00000 n -0000612313 00000 n -0000612356 00000 n -0000612399 00000 n -0000612442 00000 n -0000612485 00000 n -0000612528 00000 n -0000612571 00000 n -0000612614 00000 n -0000612658 00000 n -0000612702 00000 n -0000612746 00000 n -0000612789 00000 n -0000612832 00000 n -0000612875 00000 n -0000612918 00000 n -0000612961 00000 n -0000613004 00000 n -0000613047 00000 n -0000613090 00000 n -0000613134 00000 n -0000613178 00000 n -0000613222 00000 n -0000613265 00000 n -0000613308 00000 n -0000613351 00000 n -0000613394 00000 n -0000613437 00000 n -0000613480 00000 n -0000613523 00000 n -0000613566 00000 n -0000613610 00000 n -0000613654 00000 n -0000613697 00000 n -0000613740 00000 n -0000613783 00000 n -0000613827 00000 n -0000613871 00000 n -0000613915 00000 n -0000613959 00000 n -0000614003 00000 n -0000614047 00000 n -0000614091 00000 n -0000614135 00000 n -0000614179 00000 n -0000614223 00000 n -0000614267 00000 n -0000614310 00000 n -0000614353 00000 n -0000614396 00000 n -0000614440 00000 n -0000614484 00000 n -0000614528 00000 n -0000614572 00000 n -0000614616 00000 n -0000614660 00000 n -0000614704 00000 n -0000614748 00000 n -0000614792 00000 n -0000614836 00000 n -0000614880 00000 n -0000614924 00000 n -0000614968 00000 n -0000615012 00000 n -0000615055 00000 n -0000615099 00000 n -0000615142 00000 n -0000615185 00000 n -0000615228 00000 n -0000615272 00000 n -0000615315 00000 n -0000615358 00000 n -0000615401 00000 n -0000615444 00000 n -0000615487 00000 n -0000615530 00000 n -0000615574 00000 n -0000615618 00000 n -0000615662 00000 n -0000615706 00000 n -0000615750 00000 n -0000615794 00000 n -0000615838 00000 n -0000615882 00000 n -0000615926 00000 n -0000615970 00000 n -0000616014 00000 n -0000616058 00000 n -0000616102 00000 n -0000616146 00000 n -0000616190 00000 n -0000616234 00000 n -0000616278 00000 n -0000616322 00000 n -0000616366 00000 n -0000616410 00000 n -0000616454 00000 n -0000616498 00000 n -0000616542 00000 n -0000616586 00000 n -0000616630 00000 n -0000616674 00000 n -0000616718 00000 n -0000616762 00000 n -0000616806 00000 n -0000616850 00000 n -0000616894 00000 n -0000616938 00000 n -0000616982 00000 n -0000617026 00000 n -0000617070 00000 n -0000617114 00000 n -0000617158 00000 n -0000617201 00000 n -0000617245 00000 n -0000617289 00000 n -0000617333 00000 n -0000617377 00000 n -0000617421 00000 n -0000617465 00000 n -0000617509 00000 n -0000617553 00000 n -0000617597 00000 n -0000617641 00000 n -0000617685 00000 n -0000617729 00000 n -0000617772 00000 n -0000617816 00000 n -0000617860 00000 n -0000617904 00000 n -0000617948 00000 n -0000617992 00000 n -0000618036 00000 n -0000618080 00000 n -0000618124 00000 n -0000618168 00000 n -0000618211 00000 n -0000618254 00000 n -0000618297 00000 n -0000618340 00000 n -0000618384 00000 n -0000618428 00000 n -0000618472 00000 n -0000618516 00000 n -0000618560 00000 n -0000618604 00000 n -0000618648 00000 n -0000618692 00000 n -0000618736 00000 n -0000618780 00000 n -0000618824 00000 n -0000618868 00000 n -0000618912 00000 n -0000618956 00000 n -0000619000 00000 n -0000619044 00000 n -0000619088 00000 n -0000619132 00000 n -0000619176 00000 n -0000619219 00000 n -0000619262 00000 n -0000619305 00000 n -0000619348 00000 n -0000619392 00000 n -0000619436 00000 n -0000619480 00000 n -0000619524 00000 n -0000619567 00000 n -0000619610 00000 n -0000619653 00000 n -0000619696 00000 n -0000619739 00000 n -0000619782 00000 n -0000619825 00000 n -0000619868 00000 n -0000619911 00000 n -0000619954 00000 n -0000619997 00000 n -0000620040 00000 n -0000620083 00000 n -0000620126 00000 n -0000620169 00000 n -0000620212 00000 n -0000620256 00000 n -0000620300 00000 n -0000620344 00000 n -0000620388 00000 n -0000620432 00000 n -0000620476 00000 n -0000620520 00000 n -0000620563 00000 n -0000620606 00000 n -0000620649 00000 n -0000620693 00000 n -0000620737 00000 n -0000620780 00000 n -0000620823 00000 n -0000620866 00000 n -0000620910 00000 n -0000620953 00000 n -0000620996 00000 n -0000621039 00000 n -0000621082 00000 n -0000621125 00000 n -0000621168 00000 n -0000624779 00000 n -0000624822 00000 n -0000624865 00000 n -0000624908 00000 n -0000624951 00000 n -0000624994 00000 n -0000625037 00000 n -0000625080 00000 n -0000625123 00000 n -0000625166 00000 n -0000625209 00000 n -0000625252 00000 n -0000625295 00000 n -0000625338 00000 n -0000625381 00000 n -0000625424 00000 n -0000625467 00000 n -0000625510 00000 n -0000625553 00000 n -0000625596 00000 n -0000625639 00000 n -0000625682 00000 n -0000625726 00000 n -0000625770 00000 n -0000625813 00000 n -0000625856 00000 n -0000625899 00000 n -0000625942 00000 n -0000625985 00000 n -0000626028 00000 n -0000626071 00000 n -0000626114 00000 n -0000626157 00000 n -0000626201 00000 n -0000626244 00000 n -0000626287 00000 n -0000626330 00000 n -0000626373 00000 n -0000626416 00000 n -0000626459 00000 n -0000626502 00000 n -0000626545 00000 n -0000626588 00000 n -0000626631 00000 n -0000626674 00000 n -0000626717 00000 n -0000626761 00000 n -0000626804 00000 n -0000626847 00000 n -0000626890 00000 n -0000626933 00000 n -0000626976 00000 n -0000627019 00000 n -0000627063 00000 n -0000627107 00000 n -0000627151 00000 n -0000627195 00000 n -0000627238 00000 n -0000627281 00000 n -0000627325 00000 n -0000627369 00000 n -0000627412 00000 n -0000627455 00000 n -0000627498 00000 n -0000627541 00000 n -0000627584 00000 n -0000627627 00000 n -0000627670 00000 n -0000627713 00000 n -0000627756 00000 n -0000627799 00000 n -0000627842 00000 n -0000627885 00000 n -0000627928 00000 n -0000627971 00000 n -0000628014 00000 n -0000628057 00000 n -0000628100 00000 n -0000628143 00000 n -0000628186 00000 n -0000628229 00000 n -0000628272 00000 n -0000628315 00000 n -0000628358 00000 n -0000628401 00000 n -0000628444 00000 n -0000628487 00000 n -0000628530 00000 n -0000628573 00000 n -0000628617 00000 n -0000628661 00000 n -0000628704 00000 n -0000628747 00000 n -0000628790 00000 n -0000628833 00000 n -0000628876 00000 n -0000628919 00000 n -0000628962 00000 n -0000629005 00000 n -0000629048 00000 n -0000629091 00000 n -0000629134 00000 n -0000629177 00000 n -0000629221 00000 n -0000629264 00000 n -0000629308 00000 n -0000629351 00000 n -0000629394 00000 n -0000629437 00000 n -0000629480 00000 n -0000629523 00000 n -0000629566 00000 n -0000629610 00000 n -0000629653 00000 n -0000629696 00000 n -0000629739 00000 n -0000629782 00000 n -0000629825 00000 n -0000629868 00000 n -0000629911 00000 n -0000629955 00000 n -0000629998 00000 n -0000630041 00000 n -0000630084 00000 n -0000630127 00000 n -0000630170 00000 n -0000630213 00000 n -0000630256 00000 n -0000630299 00000 n -0000630342 00000 n -0000630385 00000 n -0000630429 00000 n -0000630472 00000 n -0000630515 00000 n -0000630558 00000 n -0000630601 00000 n -0000630644 00000 n -0000630687 00000 n -0000630730 00000 n -0000630773 00000 n -0000630816 00000 n -0000630859 00000 n -0000630902 00000 n -0000630945 00000 n -0000630988 00000 n -0000631032 00000 n -0000631076 00000 n -0000631119 00000 n -0000631162 00000 n -0000631205 00000 n -0000632946 00000 n -0000632989 00000 n -0000633033 00000 n -0000633077 00000 n -0000633120 00000 n -0000633164 00000 n -0000633208 00000 n -0000633252 00000 n -0000633296 00000 n -0000633339 00000 n -0000633382 00000 n -0000633426 00000 n -0000633469 00000 n -0000633512 00000 n -0000633555 00000 n -0000633598 00000 n -0000633641 00000 n -0000633684 00000 n -0000633727 00000 n -0000633771 00000 n -0000633814 00000 n -0000633857 00000 n -0000633901 00000 n -0000633945 00000 n -0000633989 00000 n -0000634033 00000 n -0000634077 00000 n -0000634121 00000 n -0000634165 00000 n -0000634209 00000 n -0000634253 00000 n -0000634297 00000 n -0000634341 00000 n -0000634385 00000 n -0000634429 00000 n -0000634473 00000 n -0000634517 00000 n -0000634561 00000 n -0000634605 00000 n -0000634649 00000 n -0000634693 00000 n -0000634737 00000 n -0000634781 00000 n -0000634825 00000 n -0000634869 00000 n -0000634913 00000 n -0000634956 00000 n -0000634999 00000 n -0000635042 00000 n -0000635085 00000 n -0000635128 00000 n -0000635171 00000 n -0000635214 00000 n -0000635257 00000 n -0000635300 00000 n -0000635343 00000 n -0000635386 00000 n -0000635429 00000 n -0000635472 00000 n -0000635515 00000 n -0000635558 00000 n -0000635601 00000 n -0000635644 00000 n -0000635687 00000 n -0000635731 00000 n -0000635775 00000 n -0000635819 00000 n -0000635863 00000 n -0000635906 00000 n -0000635950 00000 n -0000635994 00000 n -0000636038 00000 n -0000636082 00000 n -0000636126 00000 n -0000636170 00000 n -0000636214 00000 n -0000636258 00000 n -0000636302 00000 n -0000636346 00000 n -0000636390 00000 n -0000636434 00000 n -0000636478 00000 n -0000636522 00000 n -0000636566 00000 n -0000636610 00000 n -0000636653 00000 n -0000636696 00000 n -0000636739 00000 n -0000636782 00000 n -0000636826 00000 n -0000636870 00000 n -0000636913 00000 n -0000636956 00000 n -0000636999 00000 n -0000637042 00000 n -0000637086 00000 n -0000637129 00000 n -0000637172 00000 n -0000637215 00000 n -0000637258 00000 n -0000637301 00000 n -0000637344 00000 n -0000637387 00000 n -0000637430 00000 n -0000637473 00000 n -0000637516 00000 n -0000637559 00000 n -0000637602 00000 n -0000637645 00000 n -0000637688 00000 n -0000637731 00000 n -0000637774 00000 n -0000637817 00000 n -0000637860 00000 n -0000637903 00000 n -0000637946 00000 n -0000637989 00000 n -0000638032 00000 n -0000638075 00000 n -0000638119 00000 n -0000638162 00000 n -0000638205 00000 n -0000638248 00000 n -0000638291 00000 n -0000638334 00000 n -0000638377 00000 n -0000638420 00000 n -0000638463 00000 n -0000638506 00000 n -0000638549 00000 n -0000638592 00000 n -0000638635 00000 n -0000638678 00000 n -0000638721 00000 n -0000638764 00000 n -0000638807 00000 n -0000638850 00000 n -0000638893 00000 n -0000638936 00000 n -0000638979 00000 n -0000639022 00000 n -0000639065 00000 n -0000639108 00000 n -0000639151 00000 n -0000639194 00000 n -0000639237 00000 n -0000639280 00000 n -0000639324 00000 n -0000639367 00000 n -0000639410 00000 n -0000639453 00000 n -0000639496 00000 n -0000639539 00000 n -0000639582 00000 n -0000639625 00000 n -0000639668 00000 n -0000639711 00000 n -0000639754 00000 n -0000639798 00000 n -0000639842 00000 n -0000639886 00000 n -0000639930 00000 n -0000639974 00000 n -0000640018 00000 n -0000640062 00000 n -0000640106 00000 n -0000640149 00000 n -0000640192 00000 n -0000640235 00000 n -0000640278 00000 n -0000640322 00000 n -0000640365 00000 n -0000640408 00000 n -0000640452 00000 n -0000640495 00000 n -0000640538 00000 n -0000640581 00000 n -0000640624 00000 n -0000640668 00000 n -0000640712 00000 n -0000640756 00000 n -0000640799 00000 n -0000640842 00000 n -0000640885 00000 n -0000640929 00000 n -0000640973 00000 n -0000641017 00000 n -0000641061 00000 n -0000641105 00000 n -0000641149 00000 n -0000641192 00000 n -0000641235 00000 n -0000641279 00000 n -0000641323 00000 n -0000641367 00000 n -0000641411 00000 n -0000641455 00000 n -0000641499 00000 n -0000641543 00000 n -0000641587 00000 n -0000641631 00000 n -0000641675 00000 n -0000641719 00000 n -0000641763 00000 n -0000641807 00000 n -0000641851 00000 n -0000641895 00000 n -0000641939 00000 n -0000641982 00000 n -0000642025 00000 n -0000642068 00000 n -0000642111 00000 n -0000642154 00000 n -0000642198 00000 n -0000642242 00000 n -0000642286 00000 n -0000642330 00000 n -0000642374 00000 n -0000642418 00000 n -0000642462 00000 n -0000642505 00000 n -0000642549 00000 n -0000642593 00000 n -0000642637 00000 n -0000642681 00000 n -0000642725 00000 n -0000642769 00000 n -0000642813 00000 n -0000642857 00000 n -0000642901 00000 n -0000642945 00000 n -0000642988 00000 n -0000643031 00000 n -0000643075 00000 n -0000643118 00000 n -0000643161 00000 n -0000643204 00000 n -0000643248 00000 n -0000643291 00000 n -0000643335 00000 n -0000643379 00000 n -0000643422 00000 n -0000643466 00000 n -0000643510 00000 n -0000643554 00000 n -0000643598 00000 n -0000643642 00000 n -0000643686 00000 n -0000643730 00000 n -0000643774 00000 n -0000643818 00000 n -0000643862 00000 n -0000643906 00000 n -0000643950 00000 n -0000643994 00000 n -0000644038 00000 n -0000644082 00000 n -0000644126 00000 n -0000644170 00000 n -0000644214 00000 n -0000644258 00000 n -0000644302 00000 n -0000644346 00000 n -0000644390 00000 n -0000644434 00000 n -0000644478 00000 n -0000644521 00000 n -0000647432 00000 n -0000647476 00000 n -0000647520 00000 n -0000647564 00000 n -0000647608 00000 n -0000647652 00000 n -0000647696 00000 n -0000647740 00000 n -0000647784 00000 n -0000647828 00000 n -0000647872 00000 n -0000647916 00000 n -0000647960 00000 n -0000648004 00000 n -0000648048 00000 n -0000648092 00000 n -0000648135 00000 n -0000648178 00000 n -0000648221 00000 n -0000648264 00000 n -0000648307 00000 n -0000648350 00000 n -0000648393 00000 n -0000648436 00000 n -0000648479 00000 n -0000648522 00000 n -0000648565 00000 n -0000648608 00000 n -0000648651 00000 n -0000648694 00000 n -0000648738 00000 n -0000648782 00000 n -0000648826 00000 n -0000648869 00000 n -0000648913 00000 n -0000648957 00000 n -0000649001 00000 n -0000649044 00000 n -0000649087 00000 n -0000649131 00000 n -0000649174 00000 n -0000649217 00000 n -0000649261 00000 n -0000649305 00000 n -0000649348 00000 n -0000649391 00000 n -0000649434 00000 n -0000649478 00000 n -0000649521 00000 n -0000649565 00000 n -0000649609 00000 n -0000649653 00000 n -0000649697 00000 n -0000649741 00000 n -0000649785 00000 n -0000649829 00000 n -0000649873 00000 n -0000649917 00000 n -0000649961 00000 n -0000650005 00000 n -0000650049 00000 n -0000650093 00000 n -0000650136 00000 n -0000650179 00000 n -0000650222 00000 n -0000650266 00000 n -0000650309 00000 n -0000650352 00000 n -0000650396 00000 n -0000650439 00000 n -0000650482 00000 n -0000650526 00000 n -0000650570 00000 n -0000650613 00000 n -0000650656 00000 n -0000650699 00000 n -0000650743 00000 n -0000650787 00000 n -0000650830 00000 n -0000650873 00000 n -0000650917 00000 n -0000650961 00000 n -0000651005 00000 n -0000651048 00000 n -0000651091 00000 n -0000651134 00000 n -0000651178 00000 n -0000651222 00000 n -0000651266 00000 n -0000651309 00000 n -0000651352 00000 n -0000651396 00000 n -0000651440 00000 n -0000651484 00000 n -0000651528 00000 n -0000651571 00000 n -0000651614 00000 n -0000651657 00000 n -0000651701 00000 n -0000651745 00000 n -0000651789 00000 n -0000651833 00000 n -0000651877 00000 n -0000651921 00000 n -0000651964 00000 n -0000652007 00000 n -0000652050 00000 n -0000652093 00000 n -0000652136 00000 n -0000652179 00000 n -0000652222 00000 n -0000652265 00000 n -0000652309 00000 n -0000652353 00000 n -0000652397 00000 n -0000652441 00000 n -0000652485 00000 n -0000652529 00000 n -0000652573 00000 n -0000652617 00000 n -0000652661 00000 n -0000652704 00000 n -0000652748 00000 n -0000652792 00000 n -0000652836 00000 n -0000652880 00000 n -0000652923 00000 n -0000652966 00000 n -0000653010 00000 n -0000653053 00000 n -0000653096 00000 n -0000653139 00000 n -0000653182 00000 n -0000653225 00000 n -0000653268 00000 n -0000653311 00000 n -0000653354 00000 n -0000653397 00000 n -0000653440 00000 n -0000653484 00000 n -0000653528 00000 n -0000653572 00000 n -0000653615 00000 n -0000653659 00000 n -0000653703 00000 n -0000653747 00000 n -0000653790 00000 n -0000653833 00000 n -0000653876 00000 n -0000653919 00000 n -0000653962 00000 n -0000654005 00000 n -0000654049 00000 n -0000654093 00000 n -0000654136 00000 n -0000654180 00000 n -0000654224 00000 n -0000654268 00000 n -0000654312 00000 n -0000654356 00000 n -0000654400 00000 n -0000654444 00000 n -0000654488 00000 n -0000654532 00000 n -0000654576 00000 n -0000654620 00000 n -0000654664 00000 n -0000654708 00000 n -0000654752 00000 n -0000654796 00000 n -0000654840 00000 n -0000654884 00000 n -0000654928 00000 n -0000654972 00000 n -0000655016 00000 n -0000657007 00000 n -0000657051 00000 n -0000657095 00000 n -0000657139 00000 n -0000657183 00000 n -0000657227 00000 n -0000657271 00000 n -0000657315 00000 n -0000657359 00000 n -0000657403 00000 n -0000657447 00000 n -0000657491 00000 n -0000657535 00000 n -0000657579 00000 n -0000657623 00000 n -0000657667 00000 n -0000657711 00000 n -0000657755 00000 n -0000657799 00000 n -0000657843 00000 n -0000657887 00000 n -0000657931 00000 n -0000657975 00000 n -0000658019 00000 n -0000658062 00000 n -0000658105 00000 n -0000658148 00000 n -0000658191 00000 n -0000658234 00000 n -0000658278 00000 n -0000658322 00000 n -0000658365 00000 n -0000658408 00000 n -0000658451 00000 n -0000658494 00000 n -0000658538 00000 n -0000658582 00000 n -0000658626 00000 n -0000658670 00000 n -0000658713 00000 n -0000658756 00000 n -0000658799 00000 n -0000658842 00000 n -0000658885 00000 n -0000658928 00000 n -0000658972 00000 n -0000659016 00000 n -0000659060 00000 n -0000659104 00000 n -0000659148 00000 n -0000659192 00000 n -0000659235 00000 n -0000659278 00000 n -0000659321 00000 n -0000659364 00000 n -0000659407 00000 n -0000659450 00000 n -0000659493 00000 n -0000659536 00000 n -0000659579 00000 n -0000659623 00000 n -0000659667 00000 n -0000659711 00000 n -0000659755 00000 n -0000659799 00000 n -0000659843 00000 n -0000659887 00000 n -0000659931 00000 n -0000659975 00000 n -0000660019 00000 n -0000660063 00000 n -0000660107 00000 n -0000660151 00000 n -0000660195 00000 n -0000660239 00000 n -0000660282 00000 n -0000660326 00000 n -0000660370 00000 n -0000660414 00000 n -0000660458 00000 n -0000660502 00000 n -0000660546 00000 n -0000660590 00000 n -0000660634 00000 n -0000660677 00000 n -0000660720 00000 n -0000660763 00000 n -0000660806 00000 n -0000660849 00000 n -0000660892 00000 n -0000660936 00000 n -0000660980 00000 n -0000661024 00000 n -0000661068 00000 n -0000661112 00000 n -0000661156 00000 n -0000661200 00000 n -0000661244 00000 n -0000661287 00000 n -0000661330 00000 n -0000661373 00000 n -0000661416 00000 n -0000661459 00000 n -0000661502 00000 n -0000661545 00000 n -0000661588 00000 n -0000661631 00000 n -0000661674 00000 n -0000661717 00000 n -0000661760 00000 n -0000661803 00000 n -0000661846 00000 n -0000661889 00000 n -0000661932 00000 n -0000661976 00000 n -0000662020 00000 n -0000662064 00000 n -0000662108 00000 n -0000662152 00000 n -0000662196 00000 n -0000662240 00000 n -0000662284 00000 n -0000662328 00000 n -0000662372 00000 n -0000662416 00000 n -0000662460 00000 n -0000662504 00000 n -0000662548 00000 n -0000662591 00000 n -0000662635 00000 n -0000662679 00000 n -0000662723 00000 n -0000662767 00000 n -0000662811 00000 n -0000662855 00000 n -0000662899 00000 n -0000662943 00000 n -0000662987 00000 n -0000663031 00000 n -0000663074 00000 n -0000663118 00000 n -0000663162 00000 n -0000663205 00000 n -0000663249 00000 n -0000663293 00000 n -0000663337 00000 n -0000663381 00000 n -0000663425 00000 n -0000663469 00000 n -0000663513 00000 n -0000663557 00000 n -0000663601 00000 n -0000663645 00000 n -0000663689 00000 n -0000663733 00000 n -0000663776 00000 n -0000663819 00000 n -0000663862 00000 n -0000663905 00000 n -0000663948 00000 n -0000663991 00000 n -0000664034 00000 n -0000664077 00000 n -0000664120 00000 n -0000664164 00000 n -0000664207 00000 n -0000664250 00000 n -0000664293 00000 n -0000664337 00000 n -0000664380 00000 n -0000664423 00000 n -0000664467 00000 n -0000664510 00000 n -0000664553 00000 n -0000664596 00000 n -0000664639 00000 n -0000664682 00000 n -0000664725 00000 n -0000664768 00000 n -0000664811 00000 n -0000664854 00000 n -0000664897 00000 n -0000664941 00000 n -0000664984 00000 n -0000665027 00000 n -0000665070 00000 n -0000665113 00000 n -0000665157 00000 n -0000665200 00000 n -0000665243 00000 n -0000665286 00000 n -0000665330 00000 n -0000665373 00000 n -0000665417 00000 n -0000665461 00000 n -0000665505 00000 n -0000665549 00000 n -0000665593 00000 n -0000665637 00000 n -0000665681 00000 n -0000665725 00000 n -0000665769 00000 n -0000665813 00000 n -0000665857 00000 n -0000665901 00000 n -0000665944 00000 n -0000665987 00000 n -0000668298 00000 n -0000668341 00000 n -0000668384 00000 n -0000668427 00000 n -0000668470 00000 n -0000668513 00000 n -0000668556 00000 n -0000668599 00000 n -0000668642 00000 n -0000668686 00000 n -0000668730 00000 n -0000668773 00000 n -0000668816 00000 n -0000668859 00000 n -0000668902 00000 n -0000668945 00000 n -0000668988 00000 n -0000669031 00000 n -0000669074 00000 n -0000669117 00000 n -0000669161 00000 n -0000669205 00000 n -0000669249 00000 n -0000669293 00000 n -0000669337 00000 n -0000669381 00000 n -0000669425 00000 n -0000669469 00000 n -0000669513 00000 n -0000669557 00000 n -0000669601 00000 n -0000669645 00000 n -0000669689 00000 n -0000669733 00000 n -0000669777 00000 n -0000669820 00000 n -0000669864 00000 n -0000669908 00000 n -0000669952 00000 n -0000669996 00000 n -0000670039 00000 n -0000670083 00000 n -0000670127 00000 n -0000670171 00000 n -0000670215 00000 n -0000670259 00000 n -0000670303 00000 n -0000670347 00000 n -0000670391 00000 n -0000670435 00000 n -0000670479 00000 n -0000670523 00000 n -0000670567 00000 n -0000670611 00000 n -0000670655 00000 n -0000670699 00000 n -0000670743 00000 n -0000670787 00000 n -0000670831 00000 n -0000670875 00000 n -0000670919 00000 n -0000670963 00000 n -0000671007 00000 n -0000671051 00000 n -0000671095 00000 n -0000671139 00000 n -0000671183 00000 n -0000671227 00000 n -0000671271 00000 n -0000671315 00000 n -0000671358 00000 n -0000671402 00000 n -0000671445 00000 n -0000671488 00000 n -0000671531 00000 n -0000671574 00000 n -0000671617 00000 n -0000671661 00000 n -0000671705 00000 n -0000671748 00000 n -0000671791 00000 n -0000671834 00000 n -0000671878 00000 n -0000671922 00000 n -0000671966 00000 n -0000672009 00000 n -0000672053 00000 n -0000672097 00000 n -0000672141 00000 n -0000672185 00000 n -0000672229 00000 n -0000672273 00000 n -0000672317 00000 n -0000672361 00000 n -0000672404 00000 n -0000672447 00000 n -0000672490 00000 n -0000672534 00000 n -0000672578 00000 n -0000672622 00000 n -0000672665 00000 n -0000672709 00000 n -0000672752 00000 n -0000672795 00000 n -0000672839 00000 n -0000672883 00000 n -0000672926 00000 n -0000672970 00000 n -0000673014 00000 n -0000673058 00000 n -0000673102 00000 n -0000673145 00000 n -0000673188 00000 n -0000673231 00000 n -0000673274 00000 n -0000673317 00000 n -0000673360 00000 n -0000673404 00000 n -0000673448 00000 n -0000673492 00000 n -0000673536 00000 n -0000673579 00000 n -0000673622 00000 n -0000673665 00000 n -0000673708 00000 n -0000673751 00000 n -0000673794 00000 n -0000673837 00000 n -0000673880 00000 n -0000673924 00000 n -0000673968 00000 n -0000674012 00000 n -0000674056 00000 n -0000674100 00000 n -0000674144 00000 n -0000674187 00000 n -0000674230 00000 n -0000674273 00000 n -0000674317 00000 n -0000674361 00000 n -0000674405 00000 n -0000674448 00000 n -0000674491 00000 n -0000674534 00000 n -0000674578 00000 n -0000674621 00000 n -0000674664 00000 n -0000674707 00000 n -0000674750 00000 n -0000674793 00000 n -0000674837 00000 n -0000674881 00000 n -0000674925 00000 n -0000674969 00000 n -0000675013 00000 n -0000675057 00000 n -0000675101 00000 n -0000675145 00000 n -0000675188 00000 n -0000675231 00000 n -0000675274 00000 n -0000675317 00000 n -0000675360 00000 n -0000675403 00000 n -0000675446 00000 n -0000675489 00000 n -0000675532 00000 n -0000675575 00000 n -0000675618 00000 n -0000675661 00000 n -0000675704 00000 n -0000675747 00000 n -0000675790 00000 n -0000675833 00000 n -0000675876 00000 n -0000675919 00000 n -0000675962 00000 n -0000676005 00000 n -0000676048 00000 n -0000676091 00000 n -0000676134 00000 n -0000676177 00000 n -0000676220 00000 n -0000676263 00000 n -0000676306 00000 n -0000676349 00000 n -0000676392 00000 n -0000676435 00000 n -0000676479 00000 n -0000676523 00000 n -0000676567 00000 n -0000676611 00000 n -0000676655 00000 n -0000676699 00000 n -0000676743 00000 n -0000676787 00000 n -0000676831 00000 n -0000676875 00000 n -0000676919 00000 n -0000676963 00000 n -0000677007 00000 n -0000677051 00000 n -0000677095 00000 n -0000677139 00000 n -0000677183 00000 n -0000677227 00000 n -0000677271 00000 n -0000677315 00000 n -0000677359 00000 n -0000677403 00000 n -0000677447 00000 n -0000677491 00000 n -0000677535 00000 n -0000677579 00000 n -0000677623 00000 n -0000677667 00000 n -0000677711 00000 n -0000677755 00000 n -0000677799 00000 n -0000677843 00000 n -0000677887 00000 n -0000677931 00000 n -0000677975 00000 n -0000678019 00000 n -0000678063 00000 n -0000678107 00000 n -0000678151 00000 n -0000678195 00000 n -0000678239 00000 n -0000678283 00000 n -0000678327 00000 n -0000678371 00000 n -0000678415 00000 n -0000678459 00000 n -0000678503 00000 n -0000678547 00000 n -0000678591 00000 n -0000678635 00000 n -0000678679 00000 n -0000678723 00000 n -0000678767 00000 n -0000678811 00000 n -0000678855 00000 n -0000678899 00000 n -0000678943 00000 n -0000678987 00000 n -0000679031 00000 n -0000679075 00000 n -0000679119 00000 n -0000679162 00000 n -0000679206 00000 n -0000679250 00000 n -0000679293 00000 n -0000679336 00000 n -0000679379 00000 n -0000679422 00000 n -0000679466 00000 n -0000679510 00000 n -0000679554 00000 n -0000679598 00000 n -0000679641 00000 n -0000679685 00000 n -0000679729 00000 n -0000679773 00000 n -0000679817 00000 n -0000679860 00000 n -0000679903 00000 n -0000679946 00000 n -0000679989 00000 n -0000680032 00000 n -0000680075 00000 n -0000680118 00000 n -0000680161 00000 n -0000680205 00000 n -0000680248 00000 n -0000680291 00000 n -0000680334 00000 n -0000680377 00000 n -0000680421 00000 n -0000680464 00000 n -0000680508 00000 n -0000680552 00000 n -0000680596 00000 n -0000680640 00000 n -0000680684 00000 n -0000680728 00000 n -0000680772 00000 n -0000680816 00000 n -0000680860 00000 n -0000680904 00000 n -0000680948 00000 n -0000680992 00000 n -0000681036 00000 n -0000681080 00000 n -0000681124 00000 n -0000681168 00000 n -0000681212 00000 n -0000681255 00000 n -0000681298 00000 n -0000681341 00000 n -0000681385 00000 n -0000681429 00000 n -0000681473 00000 n -0000681517 00000 n -0000681561 00000 n -0000681605 00000 n -0000681649 00000 n -0000681693 00000 n -0000681737 00000 n -0000681781 00000 n -0000681825 00000 n -0000681869 00000 n -0000681913 00000 n -0000681957 00000 n -0000682001 00000 n -0000682045 00000 n -0000682088 00000 n -0000682131 00000 n -0000682174 00000 n -0000682217 00000 n -0000682260 00000 n -0000682303 00000 n -0000682346 00000 n -0000682389 00000 n -0000682432 00000 n -0000682476 00000 n -0000682519 00000 n -0000682562 00000 n -0000682605 00000 n -0000682648 00000 n -0000682691 00000 n -0000682734 00000 n -0000682777 00000 n -0000682820 00000 n -0000682863 00000 n -0000682906 00000 n -0000682949 00000 n -0000682992 00000 n -0000683035 00000 n -0000683078 00000 n -0000683121 00000 n -0000683164 00000 n -0000683207 00000 n -0000683250 00000 n -0000683293 00000 n -0000683337 00000 n -0000683381 00000 n -0000683424 00000 n -0000683467 00000 n -0000683510 00000 n -0000683553 00000 n -0000683596 00000 n -0000683640 00000 n -0000683684 00000 n -0000683728 00000 n -0000683772 00000 n -0000683816 00000 n -0000683860 00000 n -0000683904 00000 n -0000683948 00000 n -0000683991 00000 n -0000684035 00000 n -0000684079 00000 n -0000684123 00000 n -0000684167 00000 n -0000684211 00000 n -0000684254 00000 n -0000684297 00000 n -0000688218 00000 n -0000688262 00000 n -0000688305 00000 n -0000688349 00000 n -0000688393 00000 n -0000688437 00000 n -0000688481 00000 n -0000688525 00000 n -0000688569 00000 n -0000688613 00000 n -0000688657 00000 n -0000688701 00000 n -0000688745 00000 n -0000688789 00000 n -0000688833 00000 n -0000688877 00000 n -0000688921 00000 n -0000688965 00000 n -0000689008 00000 n -0000689052 00000 n -0000689096 00000 n -0000689140 00000 n -0000689184 00000 n -0000689228 00000 n -0000689271 00000 n -0000689315 00000 n -0000689359 00000 n -0000689403 00000 n -0000689447 00000 n -0000689491 00000 n -0000689535 00000 n -0000689579 00000 n -0000689623 00000 n -0000689667 00000 n -0000689710 00000 n -0000689753 00000 n -0000689796 00000 n -0000689839 00000 n -0000689882 00000 n -0000689925 00000 n -0000689968 00000 n -0000690011 00000 n -0000690054 00000 n -0000690097 00000 n -0000690140 00000 n -0000690183 00000 n -0000690226 00000 n -0000690269 00000 n -0000690312 00000 n -0000690355 00000 n -0000690398 00000 n -0000690441 00000 n -0000690484 00000 n -0000690527 00000 n -0000690571 00000 n -0000690614 00000 n -0000690657 00000 n -0000690701 00000 n -0000690744 00000 n -0000690787 00000 n -0000690830 00000 n -0000690873 00000 n -0000690917 00000 n -0000690960 00000 n -0000691004 00000 n -0000691048 00000 n -0000691092 00000 n -0000691136 00000 n -0000691179 00000 n -0000691222 00000 n -0000691265 00000 n -0000691308 00000 n -0000691352 00000 n -0000691395 00000 n -0000691438 00000 n -0000691481 00000 n -0000691524 00000 n -0000691568 00000 n -0000691611 00000 n -0000691655 00000 n -0000691699 00000 n -0000691743 00000 n -0000691787 00000 n -0000691831 00000 n -0000691875 00000 n -0000691919 00000 n -0000691963 00000 n -0000692007 00000 n -0000692051 00000 n -0000692095 00000 n -0000692138 00000 n -0000692181 00000 n -0000692224 00000 n -0000692267 00000 n -0000692310 00000 n -0000692353 00000 n -0000692396 00000 n -0000692439 00000 n -0000692482 00000 n -0000692525 00000 n -0000692568 00000 n -0000692611 00000 n -0000692655 00000 n -0000692699 00000 n -0000692742 00000 n -0000692785 00000 n -0000692828 00000 n -0000692871 00000 n -0000692914 00000 n -0000692957 00000 n -0000693000 00000 n -0000693043 00000 n -0000693086 00000 n -0000693129 00000 n -0000693172 00000 n -0000693215 00000 n -0000693258 00000 n -0000693301 00000 n -0000693344 00000 n -0000693387 00000 n -0000693430 00000 n -0000693473 00000 n -0000693516 00000 n -0000693559 00000 n -0000693602 00000 n -0000693646 00000 n -0000693690 00000 n -0000693734 00000 n -0000693778 00000 n -0000693822 00000 n -0000693866 00000 n -0000693910 00000 n -0000693954 00000 n -0000693998 00000 n -0000694042 00000 n -0000694086 00000 n -0000694130 00000 n -0000694174 00000 n -0000694218 00000 n -0000694262 00000 n -0000694305 00000 n -0000694348 00000 n -0000694391 00000 n -0000694435 00000 n -0000694478 00000 n -0000694521 00000 n -0000694564 00000 n -0000694608 00000 n -0000694651 00000 n -0000694694 00000 n -0000694737 00000 n -0000694780 00000 n -0000694823 00000 n -0000694866 00000 n -0000694909 00000 n -0000694952 00000 n -0000694995 00000 n -0000695039 00000 n -0000695083 00000 n -0000695127 00000 n -0000695171 00000 n -0000695214 00000 n -0000695258 00000 n -0000695301 00000 n -0000695344 00000 n -0000695388 00000 n -0000695432 00000 n -0000695475 00000 n -0000695518 00000 n -0000695561 00000 n -0000695604 00000 n -0000695647 00000 n -0000695690 00000 n -0000695733 00000 n -0000695776 00000 n -0000695819 00000 n -0000695862 00000 n -0000695905 00000 n -0000695948 00000 n -0000695991 00000 n -0000696035 00000 n -0000696078 00000 n -0000696121 00000 n -0000696164 00000 n -0000696207 00000 n -0000696250 00000 n -0000696293 00000 n -0000696336 00000 n -0000696379 00000 n -0000696423 00000 n -0000696467 00000 n -0000696510 00000 n -0000696553 00000 n -0000696596 00000 n -0000696639 00000 n -0000696682 00000 n -0000696725 00000 n -0000696768 00000 n -0000696811 00000 n -0000696854 00000 n -0000696897 00000 n -0000696940 00000 n -0000696983 00000 n -0000697026 00000 n -0000697069 00000 n -0000697112 00000 n -0000697155 00000 n -0000697198 00000 n -0000697241 00000 n -0000697285 00000 n -0000697329 00000 n -0000697373 00000 n -0000697417 00000 n -0000697461 00000 n -0000697505 00000 n -0000697549 00000 n -0000697593 00000 n -0000697637 00000 n -0000697680 00000 n -0000697723 00000 n -0000697766 00000 n -0000697809 00000 n -0000697852 00000 n -0000697895 00000 n -0000697938 00000 n -0000697981 00000 n -0000698025 00000 n -0000698069 00000 n -0000698112 00000 n -0000698155 00000 n -0000698198 00000 n -0000698241 00000 n -0000698284 00000 n -0000698327 00000 n -0000698370 00000 n -0000698413 00000 n -0000698456 00000 n -0000698499 00000 n -0000698543 00000 n -0000698586 00000 n -0000698630 00000 n -0000698674 00000 n -0000698717 00000 n -0000698761 00000 n -0000698805 00000 n -0000698849 00000 n -0000698893 00000 n -0000698937 00000 n -0000698980 00000 n -0000699023 00000 n -0000699066 00000 n -0000699109 00000 n -0000699153 00000 n -0000699197 00000 n -0000699241 00000 n -0000699284 00000 n -0000699327 00000 n -0000699370 00000 n -0000699413 00000 n -0000699456 00000 n -0000699499 00000 n -0000699543 00000 n -0000699587 00000 n -0000699631 00000 n -0000699675 00000 n -0000699719 00000 n -0000699763 00000 n -0000699806 00000 n -0000699849 00000 n -0000699892 00000 n -0000699935 00000 n -0000699979 00000 n -0000700023 00000 n -0000700066 00000 n -0000700109 00000 n -0000700152 00000 n -0000700195 00000 n -0000700238 00000 n -0000700281 00000 n -0000700324 00000 n -0000700367 00000 n -0000700410 00000 n -0000703471 00000 n -0000703514 00000 n -0000703557 00000 n -0000703600 00000 n -0000703643 00000 n -0000703686 00000 n -0000703730 00000 n -0000703774 00000 n -0000703817 00000 n -0000703860 00000 n -0000703903 00000 n -0000703946 00000 n -0000703990 00000 n -0000704033 00000 n -0000704076 00000 n -0000704119 00000 n -0000704162 00000 n -0000704205 00000 n -0000704248 00000 n -0000704291 00000 n -0000704334 00000 n -0000704377 00000 n -0000704421 00000 n -0000704464 00000 n -0000704507 00000 n -0000704550 00000 n -0000704593 00000 n -0000704637 00000 n -0000704681 00000 n -0000704725 00000 n -0000704769 00000 n -0000704813 00000 n -0000704857 00000 n -0000704901 00000 n -0000704944 00000 n -0000704987 00000 n -0000705030 00000 n -0000705074 00000 n -0000705117 00000 n -0000705160 00000 n -0000705203 00000 n -0000705246 00000 n -0000705289 00000 n -0000705333 00000 n -0000705377 00000 n -0000705420 00000 n -0000705463 00000 n -0000705506 00000 n -0000705549 00000 n -0000705592 00000 n -0000705635 00000 n -0000705678 00000 n -0000705721 00000 n -0000705764 00000 n -0000705807 00000 n -0000705850 00000 n -0000705893 00000 n -0000705936 00000 n -0000705979 00000 n -0000706022 00000 n -0000706065 00000 n -0000706108 00000 n -0000706151 00000 n -0000706195 00000 n -0000706239 00000 n -0000706283 00000 n -0000706327 00000 n -0000706370 00000 n -0000706413 00000 n -0000706456 00000 n -0000706500 00000 n -0000706544 00000 n -0000706587 00000 n -0000706630 00000 n -0000706673 00000 n -0000706716 00000 n -0000706759 00000 n -0000706802 00000 n -0000706846 00000 n -0000706890 00000 n -0000706934 00000 n -0000706978 00000 n -0000707022 00000 n -0000707066 00000 n -0000707110 00000 n -0000707153 00000 n -0000707197 00000 n -0000707241 00000 n -0000707285 00000 n -0000707329 00000 n -0000707372 00000 n -0000707415 00000 n -0000707458 00000 n -0000707501 00000 n -0000707544 00000 n -0000707587 00000 n -0000707631 00000 n -0000707674 00000 n -0000707718 00000 n -0000707761 00000 n -0000707805 00000 n -0000707848 00000 n -0000707891 00000 n -0000707934 00000 n -0000707978 00000 n -0000708022 00000 n -0000708066 00000 n -0000708110 00000 n -0000708154 00000 n -0000708198 00000 n -0000708242 00000 n -0000708286 00000 n -0000708329 00000 n -0000708372 00000 n -0000708415 00000 n -0000708458 00000 n -0000708501 00000 n -0000708544 00000 n -0000708587 00000 n -0000708630 00000 n -0000708673 00000 n -0000708716 00000 n -0000708759 00000 n -0000708802 00000 n -0000708845 00000 n -0000708889 00000 n -0000708933 00000 n -0000708977 00000 n -0000709021 00000 n -0000709065 00000 n -0000709108 00000 n -0000709151 00000 n -0000709194 00000 n -0000709238 00000 n -0000709282 00000 n -0000709326 00000 n -0000709369 00000 n -0000709412 00000 n -0000709455 00000 n -0000709498 00000 n -0000709541 00000 n -0000709584 00000 n -0000709627 00000 n -0000709670 00000 n -0000709713 00000 n -0000709756 00000 n -0000709799 00000 n -0000709842 00000 n -0000709885 00000 n -0000709928 00000 n -0000709971 00000 n -0000710014 00000 n -0000710057 00000 n -0000710100 00000 n -0000710143 00000 n -0000710187 00000 n -0000710231 00000 n -0000710274 00000 n -0000710317 00000 n -0000710360 00000 n -0000710404 00000 n -0000710448 00000 n -0000710492 00000 n -0000710536 00000 n -0000710579 00000 n -0000710622 00000 n -0000710666 00000 n -0000710709 00000 n -0000710752 00000 n -0000710795 00000 n -0000710839 00000 n -0000710883 00000 n -0000710927 00000 n -0000710971 00000 n -0000711015 00000 n -0000711059 00000 n -0000711102 00000 n -0000711145 00000 n -0000711188 00000 n -0000711232 00000 n -0000711276 00000 n -0000711320 00000 n -0000711364 00000 n -0000711408 00000 n -0000711452 00000 n -0000711496 00000 n -0000711540 00000 n -0000711584 00000 n -0000711628 00000 n -0000711672 00000 n -0000711716 00000 n -0000711760 00000 n -0000711804 00000 n -0000711848 00000 n -0000711892 00000 n -0000711936 00000 n -0000711979 00000 n -0000712022 00000 n -0000712065 00000 n -0000712108 00000 n -0000712151 00000 n -0000712195 00000 n -0000712239 00000 n -0000712283 00000 n -0000712327 00000 n -0000712371 00000 n -0000712415 00000 n -0000712459 00000 n -0000712503 00000 n -0000712547 00000 n -0000712591 00000 n -0000712635 00000 n -0000712679 00000 n -0000712723 00000 n -0000712767 00000 n -0000712811 00000 n -0000712855 00000 n -0000712899 00000 n -0000712943 00000 n -0000712987 00000 n -0000713031 00000 n -0000713075 00000 n -0000715536 00000 n -0000715580 00000 n -0000715624 00000 n -0000715668 00000 n -0000715712 00000 n -0000715756 00000 n -0000715800 00000 n -0000715844 00000 n -0000715888 00000 n -0000715932 00000 n -0000715976 00000 n -0000716020 00000 n -0000716064 00000 n -0000716108 00000 n -0000716152 00000 n -0000716196 00000 n -0000716239 00000 n -0000716283 00000 n -0000716327 00000 n -0000716371 00000 n -0000716415 00000 n -0000716459 00000 n -0000716503 00000 n -0000716547 00000 n -0000716590 00000 n -0000716634 00000 n -0000716678 00000 n -0000716722 00000 n -0000716766 00000 n -0000716810 00000 n -0000716854 00000 n -0000716898 00000 n -0000716942 00000 n -0000716986 00000 n -0000717030 00000 n -0000717074 00000 n -0000717118 00000 n -0000717162 00000 n -0000717206 00000 n -0000717250 00000 n -0000717294 00000 n -0000717338 00000 n -0000717382 00000 n -0000717426 00000 n -0000717470 00000 n -0000717514 00000 n -0000717558 00000 n -0000717602 00000 n -0000717646 00000 n -0000717690 00000 n -0000717733 00000 n -0000717776 00000 n -0000717820 00000 n -0000717864 00000 n -0000717908 00000 n -0000717952 00000 n -0000717996 00000 n -0000718040 00000 n -0000718084 00000 n -0000718128 00000 n -0000718172 00000 n -0000718216 00000 n -0000718259 00000 n -0000718303 00000 n -0000718347 00000 n -0000718391 00000 n -0000718435 00000 n -0000718479 00000 n -0000718523 00000 n -0000718567 00000 n -0000718611 00000 n -0000718655 00000 n -0000718699 00000 n -0000718743 00000 n -0000718787 00000 n -0000718831 00000 n -0000718875 00000 n -0000718919 00000 n -0000718963 00000 n -0000719007 00000 n -0000719051 00000 n -0000719095 00000 n -0000719139 00000 n -0000719183 00000 n -0000719226 00000 n -0000719269 00000 n -0000719313 00000 n -0000719357 00000 n -0000719401 00000 n -0000719445 00000 n -0000719489 00000 n -0000719533 00000 n -0000719576 00000 n -0000719620 00000 n -0000719664 00000 n -0000719708 00000 n -0000719752 00000 n -0000719796 00000 n -0000719840 00000 n -0000719884 00000 n -0000719928 00000 n -0000719972 00000 n -0000720016 00000 n -0000720060 00000 n -0000720104 00000 n -0000720148 00000 n -0000720192 00000 n -0000720236 00000 n -0000720280 00000 n -0000720324 00000 n -0000720368 00000 n -0000720412 00000 n -0000720456 00000 n -0000720500 00000 n -0000720544 00000 n -0000720588 00000 n -0000720632 00000 n -0000720676 00000 n -0000720720 00000 n -0000720764 00000 n -0000720808 00000 n -0000720851 00000 n -0000720895 00000 n -0000720939 00000 n -0000720983 00000 n -0000721027 00000 n -0000721071 00000 n -0000721115 00000 n -0000721159 00000 n -0000721203 00000 n -0000721246 00000 n -0000721290 00000 n -0000721334 00000 n -0000721378 00000 n -0000721422 00000 n -0000721466 00000 n -0000721510 00000 n -0000721554 00000 n -0000721598 00000 n -0000721642 00000 n -0000721686 00000 n -0000721730 00000 n -0000721774 00000 n -0000721818 00000 n -0000721862 00000 n -0000721906 00000 n -0000721950 00000 n -0000721994 00000 n -0000722038 00000 n -0000722082 00000 n -0000722126 00000 n -0000722170 00000 n -0000722214 00000 n -0000722258 00000 n -0000722302 00000 n -0000722346 00000 n -0000722390 00000 n -0000722434 00000 n -0000722478 00000 n -0000722522 00000 n -0000722566 00000 n -0000722609 00000 n -0000722652 00000 n -0000722695 00000 n -0000722738 00000 n -0000722781 00000 n -0000722824 00000 n -0000722868 00000 n -0000722912 00000 n -0000722955 00000 n -0000722998 00000 n -0000723041 00000 n -0000723084 00000 n -0000723128 00000 n -0000723172 00000 n -0000723216 00000 n -0000723260 00000 n -0000723304 00000 n -0000723348 00000 n -0000723392 00000 n -0000723435 00000 n -0000723478 00000 n -0000723521 00000 n -0000723564 00000 n -0000723608 00000 n -0000723652 00000 n -0000723696 00000 n -0000723740 00000 n -0000723784 00000 n -0000723827 00000 n -0000723870 00000 n -0000723913 00000 n -0000723957 00000 n -0000724001 00000 n -0000724045 00000 n -0000724089 00000 n -0000724133 00000 n -0000724176 00000 n -0000724219 00000 n -0000724262 00000 n -0000724305 00000 n -0000724348 00000 n -0000724391 00000 n -0000724434 00000 n -0000724478 00000 n -0000724522 00000 n -0000724565 00000 n -0000724609 00000 n -0000724653 00000 n -0000724697 00000 n -0000724741 00000 n -0000724785 00000 n -0000724828 00000 n -0000724871 00000 n -0000724914 00000 n -0000724957 00000 n -0000725001 00000 n -0000725044 00000 n -0000725087 00000 n -0000725130 00000 n -0000725173 00000 n -0000725216 00000 n -0000725260 00000 n -0000725304 00000 n -0000725348 00000 n -0000725392 00000 n -0000725436 00000 n -0000725479 00000 n -0000725522 00000 n -0000725565 00000 n -0000725608 00000 n -0000725651 00000 n -0000725695 00000 n -0000725738 00000 n -0000725781 00000 n -0000725824 00000 n -0000725868 00000 n -0000725912 00000 n -0000725955 00000 n -0000725998 00000 n -0000726041 00000 n -0000726084 00000 n -0000726127 00000 n -0000726170 00000 n -0000726213 00000 n -0000726256 00000 n -0000726299 00000 n -0000726342 00000 n -0000726385 00000 n -0000726428 00000 n -0000726472 00000 n -0000726516 00000 n -0000726560 00000 n -0000726603 00000 n -0000726646 00000 n -0000726689 00000 n -0000726732 00000 n -0000726775 00000 n -0000726819 00000 n -0000726863 00000 n -0000726907 00000 n -0000726950 00000 n -0000726993 00000 n -0000727036 00000 n -0000727079 00000 n -0000727122 00000 n -0000727165 00000 n -0000727208 00000 n -0000727251 00000 n -0000727294 00000 n -0000727337 00000 n -0000727380 00000 n -0000727423 00000 n -0000727466 00000 n -0000727509 00000 n -0000727552 00000 n -0000727595 00000 n -0000727638 00000 n -0000727681 00000 n -0000727725 00000 n -0000727768 00000 n -0000727811 00000 n -0000730872 00000 n -0000730916 00000 n -0000730960 00000 n -0000731004 00000 n -0000731048 00000 n -0000731092 00000 n -0000731136 00000 n -0000731180 00000 n -0000731223 00000 n -0000731266 00000 n -0000731309 00000 n -0000731352 00000 n -0000731395 00000 n -0000731439 00000 n -0000731483 00000 n -0000731527 00000 n -0000731570 00000 n -0000731613 00000 n -0000731657 00000 n -0000731701 00000 n -0000731744 00000 n -0000731787 00000 n -0000731830 00000 n -0000731873 00000 n -0000731916 00000 n -0000731959 00000 n -0000732002 00000 n -0000732045 00000 n -0000732088 00000 n -0000732131 00000 n -0000732175 00000 n -0000732219 00000 n -0000732263 00000 n -0000732306 00000 n -0000732349 00000 n -0000732392 00000 n -0000732435 00000 n -0000732478 00000 n -0000732521 00000 n -0000732565 00000 n -0000732609 00000 n -0000732653 00000 n -0000732697 00000 n -0000732741 00000 n -0000732784 00000 n -0000732827 00000 n -0000732871 00000 n -0000732915 00000 n -0000732959 00000 n -0000733003 00000 n -0000733046 00000 n -0000733089 00000 n -0000733132 00000 n -0000733175 00000 n -0000733218 00000 n -0000733261 00000 n -0000733304 00000 n -0000733347 00000 n -0000733390 00000 n -0000733434 00000 n -0000733477 00000 n -0000733520 00000 n -0000733563 00000 n -0000733606 00000 n -0000733649 00000 n -0000733692 00000 n -0000733735 00000 n -0000733778 00000 n -0000733821 00000 n -0000733864 00000 n -0000733907 00000 n -0000733950 00000 n -0000733993 00000 n -0000734036 00000 n -0000734079 00000 n -0000734122 00000 n -0000734165 00000 n -0000734208 00000 n -0000734252 00000 n -0000734296 00000 n -0000734340 00000 n -0000734384 00000 n -0000734428 00000 n -0000734471 00000 n -0000734514 00000 n -0000734557 00000 n -0000734600 00000 n -0000734643 00000 n -0000734686 00000 n -0000734730 00000 n -0000734774 00000 n -0000734818 00000 n -0000734862 00000 n -0000734905 00000 n -0000734948 00000 n -0000734991 00000 n -0000735034 00000 n -0000735077 00000 n -0000735120 00000 n -0000735164 00000 n -0000735208 00000 n -0000735252 00000 n -0000735295 00000 n -0000735338 00000 n -0000735381 00000 n -0000735424 00000 n -0000735467 00000 n -0000735510 00000 n -0000735554 00000 n -0000735597 00000 n -0000735641 00000 n -0000735685 00000 n -0000735729 00000 n -0000735772 00000 n -0000735815 00000 n -0000735859 00000 n -0000735904 00000 n -0000735949 00000 n -0000735994 00000 n -0000736039 00000 n -0000736084 00000 n -0000736129 00000 n -0000736173 00000 n -0000736217 00000 n -0000736261 00000 n -0000736305 00000 n -0000736349 00000 n -0000736394 00000 n -0000736438 00000 n -0000736482 00000 n -0000736526 00000 n -0000736570 00000 n -0000736614 00000 n -0000736658 00000 n -0000736702 00000 n -0000736746 00000 n -0000736791 00000 n -0000736836 00000 n -0000736880 00000 n -0000736924 00000 n -0000736969 00000 n -0000737014 00000 n -0000737059 00000 n -0000737104 00000 n -0000737149 00000 n -0000737194 00000 n -0000737239 00000 n -0000737284 00000 n -0000737329 00000 n -0000737374 00000 n -0000737419 00000 n -0000737464 00000 n -0000737509 00000 n -0000737554 00000 n -0000737599 00000 n -0000737644 00000 n -0000737689 00000 n -0000737734 00000 n -0000737779 00000 n -0000737824 00000 n -0000737869 00000 n -0000737914 00000 n -0000737959 00000 n -0000738004 00000 n -0000738048 00000 n -0000738092 00000 n -0000738136 00000 n -0000738181 00000 n -0000738226 00000 n -0000738271 00000 n -0000738316 00000 n -0000738361 00000 n -0000738406 00000 n -0000738451 00000 n -0000738495 00000 n -0000738539 00000 n -0000738583 00000 n -0000738627 00000 n -0000738671 00000 n -0000738715 00000 n -0000738759 00000 n -0000738803 00000 n -0000738847 00000 n -0000738891 00000 n -0000738936 00000 n -0000738980 00000 n -0000739024 00000 n -0000739068 00000 n -0000739112 00000 n -0000739156 00000 n -0000739200 00000 n -0000739244 00000 n -0000739288 00000 n -0000739332 00000 n -0000739376 00000 n -0000739420 00000 n -0000739464 00000 n -0000739508 00000 n -0000739552 00000 n -0000739597 00000 n -0000739641 00000 n -0000739685 00000 n -0000739729 00000 n -0000739773 00000 n -0000739817 00000 n -0000739861 00000 n -0000739905 00000 n -0000739949 00000 n -0000739993 00000 n -0000740037 00000 n -0000740081 00000 n -0000740125 00000 n -0000740169 00000 n -0000740213 00000 n -0000740258 00000 n -0000740303 00000 n -0000740348 00000 n -0000740393 00000 n -0000740438 00000 n -0000740483 00000 n -0000740528 00000 n -0000740573 00000 n -0000740618 00000 n -0000740662 00000 n -0000740706 00000 n -0000740750 00000 n -0000740794 00000 n -0000740838 00000 n -0000740882 00000 n -0000740926 00000 n -0000740970 00000 n -0000741014 00000 n -0000741059 00000 n -0000741104 00000 n -0000741149 00000 n -0000741194 00000 n -0000741239 00000 n -0000741283 00000 n -0000741327 00000 n -0000741371 00000 n -0000741415 00000 n -0000741459 00000 n -0000741503 00000 n -0000741547 00000 n -0000741591 00000 n -0000741635 00000 n -0000741679 00000 n -0000741724 00000 n -0000741769 00000 n -0000741814 00000 n -0000741859 00000 n -0000741904 00000 n -0000741949 00000 n -0000741993 00000 n -0000742037 00000 n -0000742081 00000 n -0000742125 00000 n -0000742169 00000 n -0000742213 00000 n -0000742257 00000 n -0000742301 00000 n -0000742345 00000 n -0000742389 00000 n -0000742433 00000 n -0000742477 00000 n -0000742521 00000 n -0000742565 00000 n -0000742609 00000 n -0000742653 00000 n -0000742697 00000 n -0000742741 00000 n -0000742785 00000 n -0000742830 00000 n -0000745802 00000 n -0000745846 00000 n -0000745890 00000 n -0000745934 00000 n -0000745978 00000 n -0000746022 00000 n -0000746066 00000 n -0000746111 00000 n -0000746155 00000 n -0000746199 00000 n -0000746243 00000 n -0000746287 00000 n -0000746331 00000 n -0000746375 00000 n -0000746419 00000 n -0000746464 00000 n -0000746509 00000 n -0000746554 00000 n -0000746599 00000 n -0000746644 00000 n -0000746688 00000 n -0000746732 00000 n -0000746776 00000 n -0000746821 00000 n -0000746866 00000 n -0000746910 00000 n -0000746954 00000 n -0000746998 00000 n -0000747042 00000 n -0000747086 00000 n -0000747130 00000 n -0000747174 00000 n -0000747218 00000 n -0000747262 00000 n -0000747306 00000 n -0000747350 00000 n -0000747394 00000 n -0000747438 00000 n -0000747482 00000 n -0000747527 00000 n -0000747572 00000 n -0000747617 00000 n -0000747662 00000 n -0000747707 00000 n -0000747752 00000 n -0000747796 00000 n -0000747840 00000 n -0000747884 00000 n -0000747928 00000 n -0000747972 00000 n -0000748016 00000 n -0000748060 00000 n -0000748104 00000 n -0000748148 00000 n -0000748192 00000 n -0000748236 00000 n -0000748280 00000 n -0000748324 00000 n -0000748368 00000 n -0000748412 00000 n -0000748456 00000 n -0000748501 00000 n -0000748545 00000 n -0000748589 00000 n -0000748633 00000 n -0000748677 00000 n -0000748721 00000 n -0000748765 00000 n -0000748809 00000 n -0000748853 00000 n -0000748897 00000 n -0000748942 00000 n -0000748986 00000 n -0000749030 00000 n -0000749074 00000 n -0000749118 00000 n -0000749162 00000 n -0000749206 00000 n -0000749250 00000 n -0000749294 00000 n -0000749338 00000 n -0000749382 00000 n -0000749426 00000 n -0000749470 00000 n -0000749515 00000 n -0000749560 00000 n -0000749605 00000 n -0000749650 00000 n -0000749695 00000 n -0000749740 00000 n -0000749785 00000 n -0000749830 00000 n -0000749874 00000 n -0000749918 00000 n -0000749962 00000 n -0000750006 00000 n -0000750050 00000 n -0000750094 00000 n -0000750138 00000 n -0000750182 00000 n -0000750226 00000 n -0000750270 00000 n -0000750314 00000 n -0000750358 00000 n -0000750402 00000 n -0000750446 00000 n -0000750490 00000 n -0000750535 00000 n -0000750580 00000 n -0000750625 00000 n -0000750670 00000 n -0000750715 00000 n -0000750760 00000 n -0000750804 00000 n -0000750848 00000 n -0000750892 00000 n -0000750937 00000 n -0000750982 00000 n -0000751026 00000 n -0000751070 00000 n -0000751114 00000 n -0000751158 00000 n -0000751202 00000 n -0000751246 00000 n -0000751290 00000 n -0000751334 00000 n -0000751378 00000 n -0000751422 00000 n -0000751466 00000 n -0000751510 00000 n -0000751555 00000 n -0000751599 00000 n -0000751643 00000 n -0000751687 00000 n -0000751731 00000 n -0000751776 00000 n -0000751821 00000 n -0000751866 00000 n -0000751911 00000 n -0000751956 00000 n -0000752001 00000 n -0000752046 00000 n -0000752090 00000 n -0000752134 00000 n -0000752178 00000 n -0000752222 00000 n -0000752266 00000 n -0000752310 00000 n -0000752355 00000 n -0000752400 00000 n -0000752444 00000 n -0000752488 00000 n -0000752532 00000 n -0000752576 00000 n -0000752620 00000 n -0000752664 00000 n -0000752708 00000 n -0000752753 00000 n -0000752798 00000 n -0000752842 00000 n -0000752886 00000 n -0000752930 00000 n -0000752974 00000 n -0000753018 00000 n -0000753062 00000 n -0000753106 00000 n -0000753151 00000 n -0000753195 00000 n -0000753239 00000 n -0000753283 00000 n -0000753327 00000 n -0000753371 00000 n -0000753415 00000 n -0000753459 00000 n -0000753503 00000 n -0000753547 00000 n -0000753591 00000 n -0000753635 00000 n -0000753679 00000 n -0000753723 00000 n -0000753767 00000 n -0000753811 00000 n -0000753855 00000 n -0000753899 00000 n -0000753944 00000 n -0000753989 00000 n -0000754034 00000 n -0000754079 00000 n -0000754124 00000 n -0000754169 00000 n -0000754214 00000 n -0000754259 00000 n -0000754304 00000 n -0000754349 00000 n -0000754394 00000 n -0000754439 00000 n -0000754484 00000 n -0000754528 00000 n -0000754572 00000 n -0000754616 00000 n -0000754661 00000 n -0000754706 00000 n -0000754751 00000 n -0000754796 00000 n -0000754840 00000 n -0000754884 00000 n -0000754928 00000 n -0000754972 00000 n -0000755016 00000 n -0000755060 00000 n -0000755104 00000 n -0000755148 00000 n -0000755193 00000 n -0000755237 00000 n -0000755281 00000 n -0000755325 00000 n -0000755369 00000 n -0000755413 00000 n -0000755457 00000 n -0000755501 00000 n -0000755545 00000 n -0000755589 00000 n -0000755633 00000 n -0000755677 00000 n -0000755721 00000 n -0000755765 00000 n -0000755809 00000 n -0000755854 00000 n -0000755898 00000 n -0000755942 00000 n -0000755986 00000 n -0000756030 00000 n -0000756074 00000 n -0000756118 00000 n -0000756162 00000 n -0000756206 00000 n -0000756250 00000 n -0000756294 00000 n -0000756338 00000 n -0000756382 00000 n -0000756426 00000 n -0000756470 00000 n -0000756514 00000 n -0000756558 00000 n -0000756602 00000 n -0000756646 00000 n -0000756690 00000 n -0000756734 00000 n -0000756778 00000 n -0000756822 00000 n -0000756866 00000 n -0000756910 00000 n -0000756954 00000 n -0000756998 00000 n -0000757042 00000 n -0000757086 00000 n -0000757130 00000 n -0000757175 00000 n -0000757220 00000 n -0000757265 00000 n -0000757310 00000 n -0000757355 00000 n -0000757399 00000 n -0000757443 00000 n -0000757487 00000 n -0000757531 00000 n -0000757575 00000 n -0000757619 00000 n -0000757664 00000 n -0000757709 00000 n -0000757753 00000 n -0000757797 00000 n -0000757841 00000 n -0000757885 00000 n -0000757929 00000 n -0000757973 00000 n -0000758017 00000 n -0000758061 00000 n -0000758105 00000 n -0000758149 00000 n -0000758193 00000 n -0000758238 00000 n -0000758283 00000 n -0000758328 00000 n -0000758373 00000 n -0000758417 00000 n -0000758461 00000 n -0000758505 00000 n -0000758549 00000 n -0000758593 00000 n -0000758637 00000 n -0000758681 00000 n -0000758725 00000 n -0000758770 00000 n -0000758814 00000 n -0000758858 00000 n -0000758902 00000 n -0000758946 00000 n -0000758990 00000 n -0000759034 00000 n -0000759078 00000 n -0000759122 00000 n -0000759166 00000 n -0000759210 00000 n -0000759254 00000 n -0000759298 00000 n -0000759343 00000 n -0000759388 00000 n -0000759433 00000 n -0000759477 00000 n -0000759521 00000 n -0000759565 00000 n -0000759609 00000 n -0000759653 00000 n -0000759697 00000 n -0000759741 00000 n -0000759785 00000 n -0000759829 00000 n -0000759874 00000 n -0000759919 00000 n -0000759964 00000 n -0000760009 00000 n -0000760054 00000 n -0000760099 00000 n -0000760144 00000 n -0000760189 00000 n -0000760234 00000 n -0000760278 00000 n -0000760322 00000 n -0000760367 00000 n -0000760412 00000 n -0000760457 00000 n -0000760501 00000 n -0000760545 00000 n -0000760589 00000 n -0000760633 00000 n -0000760677 00000 n -0000760721 00000 n -0000760765 00000 n -0000760809 00000 n -0000760853 00000 n -0000760897 00000 n -0000760941 00000 n -0000760985 00000 n -0000761029 00000 n -0000761074 00000 n -0000761119 00000 n -0000761164 00000 n -0000761209 00000 n -0000761253 00000 n -0000761297 00000 n -0000761341 00000 n -0000761385 00000 n -0000761429 00000 n -0000761473 00000 n -0000761517 00000 n -0000761561 00000 n -0000761605 00000 n -0000761649 00000 n -0000761693 00000 n -0000761737 00000 n -0000761781 00000 n -0000761825 00000 n -0000761869 00000 n -0000761913 00000 n -0000761957 00000 n -0000762001 00000 n -0000762045 00000 n -0000762089 00000 n -0000762133 00000 n -0000762177 00000 n -0000762221 00000 n -0000762265 00000 n -0000762309 00000 n -0000762354 00000 n -0000762399 00000 n -0000762444 00000 n -0000762489 00000 n -0000762534 00000 n -0000762579 00000 n -0000762624 00000 n -0000762668 00000 n -0000762712 00000 n -0000762756 00000 n -0000762800 00000 n -0000762844 00000 n -0000762888 00000 n -0000762932 00000 n -0000762976 00000 n -0000763020 00000 n -0000763064 00000 n -0000763109 00000 n -0000763153 00000 n -0000763197 00000 n -0000763241 00000 n -0000763285 00000 n -0000763329 00000 n -0000763373 00000 n -0000763417 00000 n -0000763461 00000 n -0000763505 00000 n -0000763549 00000 n -0000763593 00000 n -0000763637 00000 n -0000763681 00000 n -0000763725 00000 n -0000763769 00000 n -0000763813 00000 n -0000763858 00000 n -0000763903 00000 n -0000763948 00000 n -0000768300 00000 n -0000768344 00000 n -0000768388 00000 n -0000768432 00000 n -0000768476 00000 n -0000768520 00000 n -0000768564 00000 n -0000768608 00000 n -0000768652 00000 n -0000768696 00000 n -0000768740 00000 n -0000768784 00000 n -0000768828 00000 n -0000768873 00000 n -0000768918 00000 n -0000768963 00000 n -0000769008 00000 n -0000769052 00000 n -0000769096 00000 n -0000769140 00000 n -0000769184 00000 n -0000769228 00000 n -0000769272 00000 n -0000769316 00000 n -0000769360 00000 n -0000769405 00000 n -0000769449 00000 n -0000769493 00000 n -0000769537 00000 n -0000769581 00000 n -0000769625 00000 n -0000769670 00000 n -0000769714 00000 n -0000769758 00000 n -0000769802 00000 n -0000769846 00000 n -0000769890 00000 n -0000769934 00000 n -0000769978 00000 n -0000770023 00000 n -0000770068 00000 n -0000770113 00000 n -0000770158 00000 n -0000770203 00000 n -0000770248 00000 n -0000770293 00000 n -0000770338 00000 n -0000770383 00000 n -0000770427 00000 n -0000770471 00000 n -0000770515 00000 n -0000770560 00000 n -0000770604 00000 n -0000770648 00000 n -0000770692 00000 n -0000770736 00000 n -0000770780 00000 n -0000770824 00000 n -0000770868 00000 n -0000770912 00000 n -0000770956 00000 n -0000771000 00000 n -0000771044 00000 n -0000771089 00000 n -0000771134 00000 n -0000771179 00000 n -0000771224 00000 n -0000771268 00000 n -0000771312 00000 n -0000771356 00000 n -0000771400 00000 n -0000771444 00000 n -0000771488 00000 n -0000771532 00000 n -0000771576 00000 n -0000771620 00000 n -0000771664 00000 n -0000771708 00000 n -0000771752 00000 n -0000771796 00000 n -0000771840 00000 n -0000771885 00000 n -0000771929 00000 n -0000771973 00000 n -0000772017 00000 n -0000772062 00000 n -0000772106 00000 n -0000772150 00000 n -0000772194 00000 n -0000772238 00000 n -0000772282 00000 n -0000772327 00000 n -0000772372 00000 n -0000772417 00000 n -0000772461 00000 n -0000772505 00000 n -0000772549 00000 n -0000772593 00000 n -0000772637 00000 n -0000772681 00000 n -0000772725 00000 n -0000772769 00000 n -0000772813 00000 n -0000772857 00000 n -0000772902 00000 n -0000772946 00000 n -0000772990 00000 n -0000773034 00000 n -0000773078 00000 n -0000773122 00000 n -0000773166 00000 n -0000773210 00000 n -0000773254 00000 n -0000773299 00000 n -0000773344 00000 n -0000773389 00000 n -0000773434 00000 n -0000773479 00000 n -0000773524 00000 n -0000773569 00000 n -0000773614 00000 n -0000773659 00000 n -0000773703 00000 n -0000773747 00000 n -0000773791 00000 n -0000773835 00000 n -0000773879 00000 n -0000773924 00000 n -0000773969 00000 n -0000774014 00000 n -0000774059 00000 n -0000774104 00000 n -0000774149 00000 n -0000774193 00000 n -0000774237 00000 n -0000774281 00000 n -0000774325 00000 n -0000774369 00000 n -0000774413 00000 n -0000774457 00000 n -0000774502 00000 n -0000774546 00000 n -0000774590 00000 n -0000774634 00000 n -0000774678 00000 n -0000774722 00000 n -0000774767 00000 n -0000774812 00000 n -0000774857 00000 n -0000774902 00000 n -0000774947 00000 n -0000774991 00000 n -0000775035 00000 n -0000775079 00000 n -0000775123 00000 n -0000775167 00000 n -0000775211 00000 n -0000775256 00000 n -0000775301 00000 n -0000775345 00000 n -0000775389 00000 n -0000775433 00000 n -0000775477 00000 n -0000775521 00000 n -0000775566 00000 n -0000775611 00000 n -0000775655 00000 n -0000775699 00000 n -0000775743 00000 n -0000775787 00000 n -0000775831 00000 n -0000775875 00000 n -0000775920 00000 n -0000775965 00000 n -0000776010 00000 n -0000776054 00000 n -0000776099 00000 n -0000776143 00000 n -0000776188 00000 n -0000776232 00000 n -0000776277 00000 n -0000776322 00000 n -0000776366 00000 n -0000776410 00000 n -0000776454 00000 n -0000776498 00000 n -0000776542 00000 n -0000776586 00000 n -0000776631 00000 n -0000776675 00000 n -0000776719 00000 n -0000776763 00000 n -0000776808 00000 n -0000776852 00000 n -0000776896 00000 n -0000776941 00000 n -0000776986 00000 n -0000777030 00000 n -0000777074 00000 n -0000777118 00000 n -0000777163 00000 n -0000777207 00000 n -0000777251 00000 n -0000777295 00000 n -0000777340 00000 n -0000777384 00000 n -0000777428 00000 n -0000777473 00000 n -0000777517 00000 n -0000777561 00000 n -0000777605 00000 n -0000777649 00000 n -0000777693 00000 n -0000777737 00000 n -0000777781 00000 n -0000777825 00000 n -0000777869 00000 n -0000777913 00000 n -0000777957 00000 n -0000778001 00000 n -0000778045 00000 n -0000778089 00000 n -0000778133 00000 n -0000778177 00000 n -0000778221 00000 n -0000778265 00000 n -0000778309 00000 n -0000778353 00000 n -0000778397 00000 n -0000778441 00000 n -0000778485 00000 n -0000778529 00000 n -0000778574 00000 n -0000778619 00000 n -0000778664 00000 n -0000778708 00000 n -0000778752 00000 n -0000778796 00000 n -0000778841 00000 n -0000778886 00000 n -0000778930 00000 n -0000778974 00000 n -0000779018 00000 n -0000779063 00000 n -0000779107 00000 n -0000779151 00000 n -0000779195 00000 n -0000779239 00000 n -0000779284 00000 n -0000779328 00000 n -0000779372 00000 n -0000779416 00000 n -0000779460 00000 n -0000779504 00000 n -0000779548 00000 n -0000779592 00000 n -0000779636 00000 n -0000779680 00000 n -0000779725 00000 n -0000779770 00000 n -0000779815 00000 n -0000779859 00000 n -0000779903 00000 n -0000779947 00000 n -0000779991 00000 n -0000780035 00000 n -0000780079 00000 n -0000780123 00000 n -0000780167 00000 n -0000780211 00000 n -0000780255 00000 n -0000780299 00000 n -0000780343 00000 n -0000780387 00000 n -0000780431 00000 n -0000780475 00000 n -0000780519 00000 n -0000780563 00000 n -0000780607 00000 n -0000780651 00000 n -0000780695 00000 n -0000780740 00000 n -0000780785 00000 n -0000780830 00000 n -0000780875 00000 n -0000780920 00000 n -0000780965 00000 n -0000781010 00000 n -0000781055 00000 n -0000781100 00000 n -0000781145 00000 n -0000781190 00000 n -0000781235 00000 n -0000781279 00000 n -0000781323 00000 n -0000781368 00000 n -0000781412 00000 n -0000781457 00000 n -0000781502 00000 n -0000781547 00000 n -0000781592 00000 n -0000781637 00000 n -0000781681 00000 n -0000781726 00000 n -0000781770 00000 n -0000781814 00000 n -0000781859 00000 n -0000781904 00000 n -0000781948 00000 n -0000781993 00000 n -0000782038 00000 n -0000782083 00000 n -0000782128 00000 n -0000782173 00000 n -0000782218 00000 n -0000782263 00000 n -0000782308 00000 n -0000782353 00000 n -0000782398 00000 n -0000782443 00000 n -0000782488 00000 n -0000782533 00000 n -0000782578 00000 n -0000782623 00000 n -0000782668 00000 n -0000782713 00000 n -0000782758 00000 n -0000782803 00000 n -0000782848 00000 n -0000782893 00000 n -0000782938 00000 n -0000782982 00000 n -0000783027 00000 n -0000783072 00000 n -0000783117 00000 n -0000783162 00000 n -0000783207 00000 n -0000783252 00000 n -0000783297 00000 n -0000783342 00000 n -0000783387 00000 n -0000783432 00000 n -0000783477 00000 n -0000783522 00000 n -0000783567 00000 n -0000783612 00000 n -0000783657 00000 n -0000783702 00000 n -0000783746 00000 n -0000787478 00000 n -0000787523 00000 n -0000787568 00000 n -0000787613 00000 n -0000787657 00000 n -0000787702 00000 n -0000787747 00000 n -0000787792 00000 n -0000787837 00000 n -0000787882 00000 n -0000787927 00000 n -0000787971 00000 n -0000788015 00000 n -0000788060 00000 n -0000788105 00000 n -0000788150 00000 n -0000788195 00000 n -0000788240 00000 n -0000788285 00000 n -0000788330 00000 n -0000788375 00000 n -0000788420 00000 n -0000788465 00000 n -0000788510 00000 n -0000788555 00000 n -0000788599 00000 n -0000788643 00000 n -0000788688 00000 n -0000788733 00000 n -0000788778 00000 n -0000788823 00000 n -0000788868 00000 n -0000788913 00000 n -0000788958 00000 n -0000789003 00000 n -0000789048 00000 n -0000789093 00000 n -0000789138 00000 n -0000789183 00000 n -0000789228 00000 n -0000789273 00000 n -0000789318 00000 n -0000789363 00000 n -0000789408 00000 n -0000789453 00000 n -0000789498 00000 n -0000789543 00000 n -0000789588 00000 n -0000789633 00000 n -0000789678 00000 n -0000789723 00000 n -0000789768 00000 n -0000789812 00000 n -0000789857 00000 n -0000789902 00000 n -0000789947 00000 n -0000789992 00000 n -0000790037 00000 n -0000790082 00000 n -0000790127 00000 n -0000790172 00000 n -0000790217 00000 n -0000790262 00000 n -0000790307 00000 n -0000790352 00000 n -0000790397 00000 n -0000790442 00000 n -0000790487 00000 n -0000790532 00000 n -0000790577 00000 n -0000790622 00000 n -0000790666 00000 n -0000790710 00000 n -0000790754 00000 n -0000790798 00000 n -0000790842 00000 n -0000790886 00000 n -0000790930 00000 n -0000790974 00000 n -0000791018 00000 n -0000791062 00000 n -0000791106 00000 n -0000791150 00000 n -0000791194 00000 n -0000791238 00000 n -0000791282 00000 n -0000791326 00000 n -0000791370 00000 n -0000791414 00000 n -0000791458 00000 n -0000791502 00000 n -0000791546 00000 n -0000791590 00000 n -0000791634 00000 n -0000791678 00000 n -0000791722 00000 n -0000791766 00000 n -0000791810 00000 n -0000791854 00000 n -0000791898 00000 n -0000791942 00000 n -0000791986 00000 n -0000792030 00000 n -0000792074 00000 n -0000792118 00000 n -0000792162 00000 n -0000792206 00000 n -0000792250 00000 n -0000792294 00000 n -0000792338 00000 n -0000792382 00000 n -0000792426 00000 n -0000792470 00000 n -0000792514 00000 n -0000792558 00000 n -0000792602 00000 n -0000792646 00000 n -0000792690 00000 n -0000792734 00000 n -0000792778 00000 n -0000792822 00000 n -0000792866 00000 n -0000792910 00000 n -0000792954 00000 n -0000792998 00000 n -0000793042 00000 n -0000793086 00000 n -0000793130 00000 n -0000793174 00000 n -0000793218 00000 n -0000793262 00000 n -0000793306 00000 n -0000793350 00000 n -0000793394 00000 n -0000793438 00000 n -0000793482 00000 n -0000793526 00000 n -0000793570 00000 n -0000793614 00000 n -0000793658 00000 n -0000793702 00000 n -0000793747 00000 n -0000793792 00000 n -0000793837 00000 n -0000793882 00000 n -0000793927 00000 n -0000793972 00000 n -0000794017 00000 n -0000794062 00000 n -0000794107 00000 n -0000794152 00000 n -0000794197 00000 n -0000794242 00000 n -0000794287 00000 n -0000794332 00000 n -0000794377 00000 n -0000794422 00000 n -0000794467 00000 n -0000794512 00000 n -0000794557 00000 n -0000794602 00000 n -0000794647 00000 n -0000794692 00000 n -0000794737 00000 n -0000794782 00000 n -0000794827 00000 n -0000794872 00000 n -0000794917 00000 n -0000794962 00000 n -0000795007 00000 n -0000795052 00000 n -0000795097 00000 n -0000795142 00000 n -0000795187 00000 n -0000795232 00000 n -0000795277 00000 n -0000795322 00000 n -0000795367 00000 n -0000795412 00000 n -0000795457 00000 n -0000795502 00000 n -0000795547 00000 n -0000795592 00000 n -0000795637 00000 n -0000795682 00000 n -0000795727 00000 n -0000795772 00000 n -0000795817 00000 n -0000795862 00000 n -0000795907 00000 n -0000795952 00000 n -0000795997 00000 n -0000796042 00000 n -0000796087 00000 n -0000796132 00000 n -0000796177 00000 n -0000796222 00000 n -0000796267 00000 n -0000796312 00000 n -0000796357 00000 n -0000796402 00000 n -0000796447 00000 n -0000796492 00000 n -0000796537 00000 n -0000796582 00000 n -0000796627 00000 n -0000796672 00000 n -0000796717 00000 n -0000796762 00000 n -0000796806 00000 n -0000796850 00000 n -0000796894 00000 n -0000796939 00000 n -0000796983 00000 n -0000797027 00000 n -0000797071 00000 n -0000797115 00000 n -0000797160 00000 n -0000797205 00000 n -0000797249 00000 n -0000797294 00000 n -0000797339 00000 n -0000797384 00000 n -0000797429 00000 n -0000797474 00000 n -0000797519 00000 n -0000797564 00000 n -0000797609 00000 n -0000797654 00000 n -0000797699 00000 n -0000797744 00000 n -0000797789 00000 n -0000797834 00000 n -0000797879 00000 n -0000797924 00000 n -0000797969 00000 n -0000798014 00000 n -0000798059 00000 n -0000798104 00000 n -0000798149 00000 n -0000798194 00000 n -0000798239 00000 n -0000798284 00000 n -0000798329 00000 n -0000798373 00000 n -0000798418 00000 n -0000798462 00000 n -0000798507 00000 n -0000798552 00000 n -0000798596 00000 n -0000798641 00000 n -0000798686 00000 n -0000798731 00000 n -0000798776 00000 n -0000798820 00000 n -0000798864 00000 n -0000798909 00000 n -0000798953 00000 n -0000798997 00000 n -0000799041 00000 n -0000799085 00000 n -0000799129 00000 n -0000799173 00000 n -0000799217 00000 n -0000799261 00000 n -0000799306 00000 n -0000799351 00000 n -0000799395 00000 n -0000799439 00000 n -0000799484 00000 n -0000799529 00000 n -0000799574 00000 n -0000799618 00000 n -0000799662 00000 n -0000799706 00000 n -0000799750 00000 n -0000799794 00000 n -0000799838 00000 n -0000799882 00000 n -0000799926 00000 n -0000799970 00000 n -0000800014 00000 n -0000800059 00000 n -0000800104 00000 n -0000800149 00000 n -0000800193 00000 n -0000800237 00000 n -0000800281 00000 n -0000800325 00000 n -0000800369 00000 n -0000800413 00000 n -0000800457 00000 n -0000800501 00000 n -0000800545 00000 n -0000800589 00000 n -0000800633 00000 n -0000800677 00000 n -0000800722 00000 n -0000800766 00000 n -0000800810 00000 n -0000800854 00000 n -0000800898 00000 n -0000800943 00000 n -0000800988 00000 n -0000801033 00000 n -0000801078 00000 n -0000801123 00000 n -0000801168 00000 n -0000801212 00000 n -0000801256 00000 n -0000801300 00000 n -0000801344 00000 n -0000801388 00000 n -0000801432 00000 n -0000801476 00000 n -0000801520 00000 n -0000801564 00000 n -0000801608 00000 n -0000801652 00000 n -0000801696 00000 n -0000801740 00000 n -0000801784 00000 n -0000801828 00000 n -0000801872 00000 n -0000801916 00000 n -0000801960 00000 n -0000802004 00000 n -0000802049 00000 n -0000802094 00000 n -0000802139 00000 n -0000802184 00000 n -0000802229 00000 n -0000802274 00000 n -0000802319 00000 n -0000802364 00000 n -0000802409 00000 n -0000802454 00000 n -0000802499 00000 n -0000802543 00000 n -0000802587 00000 n -0000802631 00000 n -0000802675 00000 n -0000802719 00000 n -0000802763 00000 n -0000802807 00000 n -0000802851 00000 n -0000802895 00000 n -0000802939 00000 n -0000802983 00000 n -0000803028 00000 n -0000803073 00000 n -0000803118 00000 n -0000803163 00000 n -0000803208 00000 n -0000803253 00000 n -0000803298 00000 n -0000803343 00000 n -0000803388 00000 n -0000803433 00000 n -0000803478 00000 n -0000803523 00000 n -0000803568 00000 n -0000803612 00000 n -0000803657 00000 n -0000803702 00000 n -0000803747 00000 n -0000803792 00000 n -0000803837 00000 n -0000803881 00000 n -0000803925 00000 n -0000803969 00000 n -0000804014 00000 n -0000804059 00000 n -0000804103 00000 n -0000804148 00000 n -0000804192 00000 n -0000804236 00000 n -0000804281 00000 n -0000804325 00000 n -0000804370 00000 n -0000804415 00000 n -0000804460 00000 n -0000804504 00000 n -0000804548 00000 n -0000804593 00000 n -0000804638 00000 n -0000804683 00000 n -0000804728 00000 n -0000804773 00000 n -0000804818 00000 n -0000804862 00000 n -0000804906 00000 n -0000804950 00000 n -0000804994 00000 n -0000805038 00000 n -0000805083 00000 n -0000805128 00000 n -0000805173 00000 n -0000805217 00000 n -0000805261 00000 n -0000805305 00000 n -0000805349 00000 n -0000805393 00000 n -0000805437 00000 n -0000805481 00000 n -0000805526 00000 n -0000805571 00000 n -0000805616 00000 n -0000805661 00000 n -0000805706 00000 n -0000805751 00000 n -0000805796 00000 n -0000805841 00000 n -0000805886 00000 n -0000805931 00000 n -0000805976 00000 n -0000806021 00000 n -0000806066 00000 n -0000806111 00000 n -0000806156 00000 n -0000806201 00000 n -0000806246 00000 n -0000806290 00000 n -0000806335 00000 n -0000806379 00000 n -0000806423 00000 n -0000806467 00000 n -0000806511 00000 n -0000806555 00000 n -0000806599 00000 n -0000806643 00000 n -0000806687 00000 n -0000806731 00000 n -0000806776 00000 n -0000806821 00000 n -0000806866 00000 n -0000806910 00000 n -0000806954 00000 n -0000806998 00000 n -0000807042 00000 n -0000807086 00000 n -0000811738 00000 n -0000811782 00000 n -0000811826 00000 n -0000811871 00000 n -0000811915 00000 n -0000811959 00000 n -0000812003 00000 n -0000812047 00000 n -0000812091 00000 n -0000812135 00000 n -0000812180 00000 n -0000812225 00000 n -0000812270 00000 n -0000812314 00000 n -0000812358 00000 n -0000812402 00000 n -0000812446 00000 n -0000812490 00000 n -0000812534 00000 n -0000812578 00000 n -0000812623 00000 n -0000812668 00000 n -0000812713 00000 n -0000812758 00000 n -0000812803 00000 n -0000812848 00000 n -0000812893 00000 n -0000812938 00000 n -0000812983 00000 n -0000813028 00000 n -0000813073 00000 n -0000813118 00000 n -0000813163 00000 n -0000813208 00000 n -0000813253 00000 n -0000813297 00000 n -0000813341 00000 n -0000813386 00000 n -0000813431 00000 n -0000813476 00000 n -0000813521 00000 n -0000813566 00000 n -0000813611 00000 n -0000813655 00000 n -0000813699 00000 n -0000813743 00000 n -0000813787 00000 n -0000813831 00000 n -0000813876 00000 n -0000813921 00000 n -0000813966 00000 n -0000814011 00000 n -0000814056 00000 n -0000814101 00000 n -0000814146 00000 n -0000814191 00000 n -0000814235 00000 n -0000814279 00000 n -0000814324 00000 n -0000814369 00000 n -0000814414 00000 n -0000814459 00000 n -0000814503 00000 n -0000814547 00000 n -0000814591 00000 n -0000814635 00000 n -0000814679 00000 n -0000814723 00000 n -0000814767 00000 n -0000814812 00000 n -0000814857 00000 n -0000814902 00000 n -0000814947 00000 n -0000814992 00000 n -0000815037 00000 n -0000815082 00000 n -0000815127 00000 n -0000815172 00000 n -0000815217 00000 n -0000815262 00000 n -0000815307 00000 n -0000815352 00000 n -0000815397 00000 n -0000815441 00000 n -0000815485 00000 n -0000815530 00000 n -0000815575 00000 n -0000815620 00000 n -0000815665 00000 n -0000815710 00000 n -0000815755 00000 n -0000815800 00000 n -0000815845 00000 n -0000815889 00000 n -0000815933 00000 n -0000815978 00000 n -0000816023 00000 n -0000816067 00000 n -0000816111 00000 n -0000816155 00000 n -0000816199 00000 n -0000816244 00000 n -0000816289 00000 n -0000816334 00000 n -0000816379 00000 n -0000816424 00000 n -0000816469 00000 n -0000816514 00000 n -0000816559 00000 n -0000816604 00000 n -0000816649 00000 n -0000816694 00000 n -0000816739 00000 n -0000816784 00000 n -0000816829 00000 n -0000816874 00000 n -0000816919 00000 n -0000816964 00000 n -0000817009 00000 n -0000817054 00000 n -0000817099 00000 n -0000817144 00000 n -0000817189 00000 n -0000817234 00000 n -0000817279 00000 n -0000817323 00000 n -0000817368 00000 n -0000817413 00000 n -0000817457 00000 n -0000817501 00000 n -0000817545 00000 n -0000817589 00000 n -0000817633 00000 n -0000817678 00000 n -0000817723 00000 n -0000817767 00000 n -0000817811 00000 n -0000817855 00000 n -0000817899 00000 n -0000817944 00000 n -0000817988 00000 n -0000818033 00000 n -0000818077 00000 n -0000818121 00000 n -0000818166 00000 n -0000818211 00000 n -0000818256 00000 n -0000818301 00000 n -0000818346 00000 n -0000818391 00000 n -0000818436 00000 n -0000818481 00000 n -0000818525 00000 n -0000818569 00000 n -0000818613 00000 n -0000818658 00000 n -0000818702 00000 n -0000818747 00000 n -0000818792 00000 n -0000818837 00000 n -0000818882 00000 n -0000818927 00000 n -0000818971 00000 n -0000819016 00000 n -0000819061 00000 n -0000819106 00000 n -0000819151 00000 n -0000819196 00000 n -0000819240 00000 n -0000819285 00000 n -0000819330 00000 n -0000819374 00000 n -0000819418 00000 n -0000819462 00000 n -0000819507 00000 n -0000819552 00000 n -0000819597 00000 n -0000819642 00000 n -0000819687 00000 n -0000819731 00000 n -0000819775 00000 n -0000819819 00000 n -0000819864 00000 n -0000819909 00000 n -0000819953 00000 n -0000819997 00000 n -0000820041 00000 n -0000820085 00000 n -0000820129 00000 n -0000820173 00000 n -0000820217 00000 n -0000820261 00000 n -0000820305 00000 n -0000820349 00000 n -0000820393 00000 n -0000820437 00000 n -0000820481 00000 n -0000820525 00000 n -0000820569 00000 n -0000820613 00000 n -0000820657 00000 n -0000820701 00000 n -0000820745 00000 n -0000820789 00000 n -0000820833 00000 n -0000820877 00000 n -0000820921 00000 n -0000820965 00000 n -0000821009 00000 n -0000821053 00000 n -0000821097 00000 n -0000821141 00000 n -0000821185 00000 n -0000821229 00000 n -0000821273 00000 n -0000821317 00000 n -0000821361 00000 n -0000821405 00000 n -0000821449 00000 n -0000821493 00000 n -0000821537 00000 n -0000821581 00000 n -0000821625 00000 n -0000821669 00000 n -0000821713 00000 n -0000821757 00000 n -0000821801 00000 n -0000821845 00000 n -0000821889 00000 n -0000821933 00000 n -0000821977 00000 n -0000822021 00000 n -0000822065 00000 n -0000822109 00000 n -0000822153 00000 n -0000822197 00000 n -0000822241 00000 n -0000822285 00000 n -0000822329 00000 n -0000822373 00000 n -0000822417 00000 n -0000822461 00000 n -0000822505 00000 n -0000822549 00000 n -0000822593 00000 n -0000822637 00000 n -0000822681 00000 n -0000822725 00000 n -0000822769 00000 n -0000822813 00000 n -0000822858 00000 n -0000822903 00000 n -0000822948 00000 n -0000822993 00000 n -0000823038 00000 n -0000823083 00000 n -0000823128 00000 n -0000823173 00000 n -0000823218 00000 n -0000823263 00000 n -0000823308 00000 n -0000823353 00000 n -0000823398 00000 n -0000823443 00000 n -0000823488 00000 n -0000823533 00000 n -0000823578 00000 n -0000823623 00000 n -0000823668 00000 n -0000823713 00000 n -0000823758 00000 n -0000823803 00000 n -0000823848 00000 n -0000823893 00000 n -0000823938 00000 n -0000823983 00000 n -0000824028 00000 n -0000824073 00000 n -0000824118 00000 n -0000824163 00000 n -0000824208 00000 n -0000824253 00000 n -0000824298 00000 n -0000824343 00000 n -0000824388 00000 n -0000824433 00000 n -0000824478 00000 n -0000824523 00000 n -0000824568 00000 n -0000824613 00000 n -0000824658 00000 n -0000824703 00000 n -0000824748 00000 n -0000824793 00000 n -0000824838 00000 n -0000824882 00000 n -0000824926 00000 n -0000824970 00000 n -0000825014 00000 n -0000825058 00000 n -0000825102 00000 n -0000825146 00000 n -0000825190 00000 n -0000825234 00000 n -0000825278 00000 n -0000825322 00000 n -0000825366 00000 n -0000825410 00000 n -0000825454 00000 n -0000825498 00000 n -0000825542 00000 n -0000825586 00000 n -0000825630 00000 n -0000825675 00000 n -0000825720 00000 n -0000825765 00000 n -0000825810 00000 n -0000825855 00000 n -0000825900 00000 n -0000825945 00000 n -0000825990 00000 n -0000826034 00000 n -0000826078 00000 n -0000826123 00000 n -0000826167 00000 n -0000826211 00000 n -0000826255 00000 n -0000826299 00000 n -0000826343 00000 n -0000826387 00000 n -0000826431 00000 n -0000826476 00000 n -0000826521 00000 n -0000826565 00000 n -0000826609 00000 n -0000826653 00000 n -0000826697 00000 n -0000826741 00000 n -0000826785 00000 n -0000826829 00000 n -0000826873 00000 n -0000826917 00000 n -0000826961 00000 n -0000827005 00000 n -0000827050 00000 n -0000827095 00000 n -0000827140 00000 n -0000827185 00000 n -0000827230 00000 n -0000827274 00000 n -0000827318 00000 n -0000827362 00000 n -0000827406 00000 n -0000827450 00000 n -0000827494 00000 n -0000827538 00000 n -0000827582 00000 n -0000827626 00000 n -0000827670 00000 n -0000827714 00000 n -0000827758 00000 n -0000827802 00000 n -0000827846 00000 n -0000827890 00000 n -0000827934 00000 n -0000827978 00000 n -0000828022 00000 n -0000828066 00000 n -0000828110 00000 n -0000828154 00000 n -0000828198 00000 n -0000828242 00000 n -0000828286 00000 n -0000828331 00000 n -0000828376 00000 n -0000828421 00000 n -0000828466 00000 n -0000828511 00000 n -0000828556 00000 n -0000828601 00000 n -0000828646 00000 n -0000828691 00000 n -0000828736 00000 n -0000828780 00000 n -0000828825 00000 n -0000828870 00000 n -0000828914 00000 n -0000828958 00000 n -0000829002 00000 n -0000829046 00000 n -0000829090 00000 n -0000829134 00000 n -0000829178 00000 n -0000829222 00000 n -0000829266 00000 n -0000829310 00000 n -0000829354 00000 n -0000829398 00000 n -0000829442 00000 n -0000829486 00000 n -0000829530 00000 n -0000829574 00000 n -0000829618 00000 n -0000829662 00000 n -0000829706 00000 n -0000829750 00000 n -0000829794 00000 n -0000834106 00000 n -0000834150 00000 n -0000834194 00000 n -0000834238 00000 n -0000834282 00000 n -0000834326 00000 n -0000834370 00000 n -0000834414 00000 n -0000834458 00000 n -0000834502 00000 n -0000834546 00000 n -0000834590 00000 n -0000834634 00000 n -0000834678 00000 n -0000834723 00000 n -0000834768 00000 n -0000834812 00000 n -0000834856 00000 n -0000834900 00000 n -0000834945 00000 n -0000834989 00000 n -0000835033 00000 n -0000835077 00000 n -0000835121 00000 n -0000835166 00000 n -0000835210 00000 n -0000835254 00000 n -0000835298 00000 n -0000835342 00000 n -0000835386 00000 n -0000835430 00000 n -0000835474 00000 n -0000835518 00000 n -0000835562 00000 n -0000835606 00000 n -0000835651 00000 n -0000835695 00000 n -0000835739 00000 n -0000835783 00000 n -0000835827 00000 n -0000835871 00000 n -0000835915 00000 n -0000835959 00000 n -0000836003 00000 n -0000836047 00000 n -0000836091 00000 n -0000836135 00000 n -0000836179 00000 n -0000836223 00000 n -0000836267 00000 n -0000836311 00000 n -0000836355 00000 n -0000836399 00000 n -0000836443 00000 n -0000836487 00000 n -0000836531 00000 n -0000836575 00000 n -0000836619 00000 n -0000836663 00000 n -0000836707 00000 n -0000836751 00000 n -0000836795 00000 n -0000836839 00000 n -0000836884 00000 n -0000836929 00000 n -0000836974 00000 n -0000837019 00000 n -0000837064 00000 n -0000837109 00000 n -0000837154 00000 n -0000837199 00000 n -0000837244 00000 n -0000837289 00000 n -0000837334 00000 n -0000837379 00000 n -0000837424 00000 n -0000837468 00000 n -0000837512 00000 n -0000837557 00000 n -0000837602 00000 n -0000837646 00000 n -0000837690 00000 n -0000837734 00000 n -0000837779 00000 n -0000837823 00000 n -0000837868 00000 n -0000837913 00000 n -0000837958 00000 n -0000838003 00000 n -0000838048 00000 n -0000838093 00000 n -0000838138 00000 n -0000838183 00000 n -0000838228 00000 n -0000838273 00000 n -0000838318 00000 n -0000838363 00000 n -0000838408 00000 n -0000838453 00000 n -0000838498 00000 n -0000838543 00000 n -0000838588 00000 n -0000838633 00000 n -0000838678 00000 n -0000838723 00000 n -0000838767 00000 n -0000838811 00000 n -0000838855 00000 n -0000838899 00000 n -0000838943 00000 n -0000838987 00000 n -0000839031 00000 n -0000839075 00000 n -0000839119 00000 n -0000839164 00000 n -0000839209 00000 n -0000839254 00000 n -0000839299 00000 n -0000839343 00000 n -0000839388 00000 n -0000839432 00000 n -0000839476 00000 n -0000839520 00000 n -0000839564 00000 n -0000839609 00000 n -0000839653 00000 n -0000839697 00000 n -0000839741 00000 n -0000839785 00000 n -0000839829 00000 n -0000839873 00000 n -0000839917 00000 n -0000839961 00000 n -0000840005 00000 n -0000840049 00000 n -0000840093 00000 n -0000840137 00000 n -0000840181 00000 n -0000840225 00000 n -0000840270 00000 n -0000840314 00000 n -0000840358 00000 n -0000840402 00000 n -0000840446 00000 n -0000840490 00000 n -0000840534 00000 n -0000840579 00000 n -0000840624 00000 n -0000840669 00000 n -0000840713 00000 n -0000840757 00000 n -0000840801 00000 n -0000840845 00000 n -0000840889 00000 n -0000840933 00000 n -0000840977 00000 n -0000841021 00000 n -0000841065 00000 n -0000841109 00000 n -0000841153 00000 n -0000841197 00000 n -0000841241 00000 n -0000841285 00000 n -0000841330 00000 n -0000841375 00000 n -0000841420 00000 n -0000841465 00000 n -0000841510 00000 n -0000841554 00000 n -0000841598 00000 n -0000841642 00000 n -0000841686 00000 n -0000841730 00000 n -0000841774 00000 n -0000841818 00000 n -0000841862 00000 n -0000841906 00000 n -0000841951 00000 n -0000841996 00000 n -0000842041 00000 n -0000842086 00000 n -0000842131 00000 n -0000842176 00000 n -0000842221 00000 n -0000842266 00000 n -0000842311 00000 n -0000842356 00000 n -0000842401 00000 n -0000842446 00000 n -0000842491 00000 n -0000842535 00000 n -0000842580 00000 n -0000842624 00000 n -0000842668 00000 n -0000842712 00000 n -0000842756 00000 n -0000842800 00000 n -0000842845 00000 n -0000842890 00000 n -0000842935 00000 n -0000842979 00000 n -0000843023 00000 n -0000843068 00000 n -0000843112 00000 n -0000843156 00000 n -0000843200 00000 n -0000843245 00000 n -0000843290 00000 n -0000843335 00000 n -0000843380 00000 n -0000843425 00000 n -0000843470 00000 n -0000843515 00000 n -0000843560 00000 n -0000843605 00000 n -0000843649 00000 n -0000843693 00000 n -0000843737 00000 n -0000843782 00000 n -0000843827 00000 n -0000843871 00000 n -0000843915 00000 n -0000843959 00000 n -0000844004 00000 n -0000844049 00000 n -0000844094 00000 n -0000844139 00000 n -0000844184 00000 n -0000844228 00000 n -0000844272 00000 n -0000844317 00000 n -0000844362 00000 n -0000844407 00000 n -0000844451 00000 n -0000844495 00000 n -0000844539 00000 n -0000844584 00000 n -0000844629 00000 n -0000844674 00000 n -0000844719 00000 n -0000844763 00000 n -0000844808 00000 n -0000844853 00000 n -0000844898 00000 n -0000844943 00000 n -0000844988 00000 n -0000845033 00000 n -0000845078 00000 n -0000845123 00000 n -0000845168 00000 n -0000845213 00000 n -0000845258 00000 n -0000845303 00000 n -0000845348 00000 n -0000845393 00000 n -0000845438 00000 n -0000845482 00000 n -0000845526 00000 n -0000845570 00000 n -0000845615 00000 n -0000845660 00000 n -0000845704 00000 n -0000845748 00000 n -0000845792 00000 n -0000845837 00000 n -0000845882 00000 n -0000845926 00000 n -0000845971 00000 n -0000846016 00000 n -0000846061 00000 n -0000846106 00000 n -0000846150 00000 n -0000846195 00000 n -0000846240 00000 n -0000846285 00000 n -0000846330 00000 n -0000846375 00000 n -0000846420 00000 n -0000846465 00000 n -0000846510 00000 n -0000846555 00000 n -0000846600 00000 n -0000846645 00000 n -0000846690 00000 n -0000846735 00000 n -0000846780 00000 n -0000846824 00000 n -0000846868 00000 n -0000849990 00000 n -0000850034 00000 n -0000850078 00000 n -0000850123 00000 n -0000850168 00000 n -0000850213 00000 n -0000850258 00000 n -0000850303 00000 n -0000850347 00000 n -0000850391 00000 n -0000850436 00000 n -0000850481 00000 n -0000850526 00000 n -0000850571 00000 n -0000850616 00000 n -0000850661 00000 n -0000850706 00000 n -0000850751 00000 n -0000850796 00000 n -0000850841 00000 n -0000850886 00000 n -0000850931 00000 n -0000850976 00000 n -0000851021 00000 n -0000851066 00000 n -0000851111 00000 n -0000851155 00000 n -0000851199 00000 n -0000851243 00000 n -0000851287 00000 n -0000851331 00000 n -0000851375 00000 n -0000851420 00000 n -0000851465 00000 n -0000851509 00000 n -0000851554 00000 n -0000851599 00000 n -0000851643 00000 n -0000851687 00000 n -0000851731 00000 n -0000851775 00000 n -0000851820 00000 n -0000851865 00000 n -0000851910 00000 n -0000851955 00000 n -0000852000 00000 n -0000852045 00000 n -0000852090 00000 n -0000852134 00000 n -0000852179 00000 n -0000852223 00000 n -0000852267 00000 n -0000852311 00000 n -0000852355 00000 n -0000852399 00000 n -0000852444 00000 n -0000852489 00000 n -0000852534 00000 n -0000852579 00000 n -0000852624 00000 n -0000852669 00000 n -0000852714 00000 n -0000852758 00000 n -0000852803 00000 n -0000852847 00000 n -0000852891 00000 n -0000852935 00000 n -0000852980 00000 n -0000853025 00000 n -0000853070 00000 n -0000853115 00000 n -0000853160 00000 n -0000853205 00000 n -0000853250 00000 n -0000853294 00000 n -0000853339 00000 n -0000853383 00000 n -0000853427 00000 n -0000853472 00000 n -0000853517 00000 n -0000853562 00000 n -0000853607 00000 n -0000853651 00000 n -0000853695 00000 n -0000853740 00000 n -0000853785 00000 n -0000853830 00000 n -0000853875 00000 n -0000853920 00000 n -0000853965 00000 n -0000854009 00000 n -0000854053 00000 n -0000854097 00000 n -0000854141 00000 n -0000854185 00000 n -0000854230 00000 n -0000854275 00000 n -0000854320 00000 n -0000854365 00000 n -0000854410 00000 n -0000854455 00000 n -0000854500 00000 n -0000854544 00000 n -0000854588 00000 n -0000854632 00000 n -0000854676 00000 n -0000854720 00000 n -0000854764 00000 n -0000854808 00000 n -0000854852 00000 n -0000854896 00000 n -0000854940 00000 n -0000854984 00000 n -0000855028 00000 n -0000855072 00000 n -0000855116 00000 n -0000855160 00000 n -0000855204 00000 n -0000855248 00000 n -0000855293 00000 n -0000855338 00000 n -0000855383 00000 n -0000855428 00000 n -0000855473 00000 n -0000855518 00000 n -0000855563 00000 n -0000855608 00000 n -0000855653 00000 n -0000855698 00000 n -0000855743 00000 n -0000855788 00000 n -0000855833 00000 n -0000855878 00000 n -0000855923 00000 n -0000855968 00000 n -0000856013 00000 n -0000856058 00000 n -0000856103 00000 n -0000856148 00000 n -0000856193 00000 n -0000856238 00000 n -0000856283 00000 n -0000856327 00000 n -0000856371 00000 n -0000856416 00000 n -0000856461 00000 n -0000856506 00000 n -0000856551 00000 n -0000856596 00000 n -0000856641 00000 n -0000856686 00000 n -0000856731 00000 n -0000856776 00000 n -0000856821 00000 n -0000856866 00000 n -0000856911 00000 n -0000856956 00000 n -0000857001 00000 n -0000857046 00000 n -0000857091 00000 n -0000857135 00000 n -0000857180 00000 n -0000857225 00000 n -0000857270 00000 n -0000857314 00000 n -0000857358 00000 n -0000857403 00000 n -0000857448 00000 n -0000857493 00000 n -0000857538 00000 n -0000857583 00000 n -0000857628 00000 n -0000857672 00000 n -0000857716 00000 n -0000857761 00000 n -0000857806 00000 n -0000857851 00000 n -0000857896 00000 n -0000857941 00000 n -0000857986 00000 n -0000858030 00000 n -0000858074 00000 n -0000858119 00000 n -0000858164 00000 n -0000858209 00000 n -0000858254 00000 n -0000858299 00000 n -0000858344 00000 n -0000858389 00000 n -0000858434 00000 n -0000858479 00000 n -0000858524 00000 n -0000858569 00000 n -0000858614 00000 n -0000858659 00000 n -0000858704 00000 n -0000858749 00000 n -0000858794 00000 n -0000858839 00000 n -0000858884 00000 n -0000858929 00000 n -0000858974 00000 n -0000859019 00000 n -0000859063 00000 n -0000859107 00000 n -0000859152 00000 n -0000859196 00000 n -0000859240 00000 n -0000859284 00000 n -0000859328 00000 n -0000859372 00000 n -0000859417 00000 n -0000859462 00000 n -0000859507 00000 n -0000859552 00000 n -0000859597 00000 n -0000859642 00000 n -0000859686 00000 n -0000859730 00000 n -0000859774 00000 n -0000859818 00000 n -0000859862 00000 n -0000859907 00000 n -0000859952 00000 n -0000859997 00000 n -0000860041 00000 n -0000860085 00000 n -0000860130 00000 n -0000860175 00000 n -0000860219 00000 n -0000860263 00000 n -0000860308 00000 n -0000860353 00000 n -0000860398 00000 n -0000860443 00000 n -0000860487 00000 n -0000860531 00000 n -0000860575 00000 n -0000860619 00000 n -0000860664 00000 n -0000860709 00000 n -0000860754 00000 n -0000860799 00000 n -0000860844 00000 n -0000860888 00000 n -0000860932 00000 n -0000860976 00000 n -0000861020 00000 n -0000861064 00000 n -0000861108 00000 n -0000861152 00000 n -0000861196 00000 n -0000861240 00000 n -0000861284 00000 n -0000861328 00000 n -0000861372 00000 n -0000861416 00000 n -0000861460 00000 n -0000861504 00000 n -0000861548 00000 n -0000861592 00000 n -0000861636 00000 n -0000861680 00000 n -0000861724 00000 n -0000861768 00000 n -0000861812 00000 n -0000861856 00000 n -0000861900 00000 n -0000861944 00000 n -0000861989 00000 n -0000862034 00000 n -0000862079 00000 n -0000862124 00000 n -0000862169 00000 n -0000862214 00000 n -0000862258 00000 n -0000862302 00000 n -0000862346 00000 n -0000862390 00000 n -0000862434 00000 n -0000862478 00000 n -0000862523 00000 n -0000862568 00000 n -0000862613 00000 n -0000862658 00000 n -0000862702 00000 n -0000862746 00000 n -0000862790 00000 n -0000862835 00000 n -0000862880 00000 n -0000862924 00000 n -0000862968 00000 n -0000863012 00000 n -0000863056 00000 n -0000863100 00000 n -0000863144 00000 n -0000863188 00000 n -0000863232 00000 n -0000863276 00000 n -0000863321 00000 n -0000863365 00000 n -0000863409 00000 n -0000863453 00000 n -0000863497 00000 n -0000863541 00000 n -0000863586 00000 n -0000863630 00000 n -0000863674 00000 n -0000863718 00000 n -0000863762 00000 n -0000863806 00000 n -0000863850 00000 n -0000863894 00000 n -0000863938 00000 n -0000863982 00000 n -0000864026 00000 n -0000864070 00000 n -0000864115 00000 n -0000864160 00000 n -0000864205 00000 n -0000864250 00000 n -0000864294 00000 n -0000864338 00000 n -0000864382 00000 n -0000864426 00000 n -0000864470 00000 n -0000864514 00000 n -0000864559 00000 n -0000864603 00000 n -0000864647 00000 n -0000864691 00000 n -0000864736 00000 n -0000864781 00000 n -0000864826 00000 n -0000864871 00000 n -0000864916 00000 n -0000864961 00000 n -0000865006 00000 n -0000865051 00000 n -0000865096 00000 n -0000865140 00000 n -0000868792 00000 n -0000868837 00000 n -0000868881 00000 n -0000868926 00000 n -0000868970 00000 n -0000869014 00000 n -0000869059 00000 n -0000869104 00000 n -0000869149 00000 n -0000869194 00000 n -0000869239 00000 n -0000869284 00000 n -0000869329 00000 n -0000869374 00000 n -0000869419 00000 n -0000869464 00000 n -0000869509 00000 n -0000869554 00000 n -0000869599 00000 n -0000869643 00000 n -0000869687 00000 n -0000869732 00000 n -0000869777 00000 n -0000869822 00000 n -0000869867 00000 n -0000869912 00000 n -0000869957 00000 n -0000870002 00000 n -0000870047 00000 n -0000870092 00000 n -0000870136 00000 n -0000870180 00000 n -0000870224 00000 n -0000870269 00000 n -0000870313 00000 n -0000870357 00000 n -0000870401 00000 n -0000870445 00000 n -0000870490 00000 n -0000870534 00000 n -0000870578 00000 n -0000870622 00000 n -0000870666 00000 n -0000870710 00000 n -0000870754 00000 n -0000870799 00000 n -0000870843 00000 n -0000870887 00000 n -0000870931 00000 n -0000870975 00000 n -0000871019 00000 n -0000871064 00000 n -0000871108 00000 n -0000871153 00000 n -0000871198 00000 n -0000871242 00000 n -0000871287 00000 n -0000871332 00000 n -0000871376 00000 n -0000871420 00000 n -0000871465 00000 n -0000871510 00000 n -0000871555 00000 n -0000871600 00000 n -0000871645 00000 n -0000871690 00000 n -0000871735 00000 n -0000871780 00000 n -0000871825 00000 n -0000871870 00000 n -0000871915 00000 n -0000871959 00000 n -0000872004 00000 n -0000872048 00000 n -0000872092 00000 n -0000872136 00000 n -0000872181 00000 n -0000872225 00000 n -0000872269 00000 n -0000872313 00000 n -0000872357 00000 n -0000872401 00000 n -0000872445 00000 n -0000872490 00000 n -0000872535 00000 n -0000872580 00000 n -0000872624 00000 n -0000872669 00000 n -0000872714 00000 n -0000872759 00000 n -0000872804 00000 n -0000872849 00000 n -0000872894 00000 n -0000872939 00000 n -0000872984 00000 n -0000873028 00000 n -0000873072 00000 n -0000873116 00000 n -0000873161 00000 n -0000873206 00000 n -0000873251 00000 n -0000873296 00000 n -0000873341 00000 n -0000873386 00000 n -0000873431 00000 n -0000873475 00000 n -0000873519 00000 n -0000873563 00000 n -0000873608 00000 n -0000873653 00000 n -0000873698 00000 n -0000873743 00000 n -0000873788 00000 n -0000873833 00000 n -0000873878 00000 n -0000873923 00000 n -0000873968 00000 n -0000874013 00000 n -0000874058 00000 n -0000874103 00000 n -0000874148 00000 n -0000874193 00000 n -0000874238 00000 n -0000874283 00000 n -0000874328 00000 n -0000874373 00000 n -0000874417 00000 n -0000874461 00000 n -0000874505 00000 n -0000874549 00000 n -0000874593 00000 n -0000874638 00000 n -0000874682 00000 n -0000874726 00000 n -0000874770 00000 n -0000874815 00000 n -0000874859 00000 n -0000874903 00000 n -0000874947 00000 n -0000874991 00000 n -0000875035 00000 n -0000875079 00000 n -0000875123 00000 n -0000875168 00000 n -0000875213 00000 n -0000875257 00000 n -0000875301 00000 n -0000875345 00000 n -0000875389 00000 n -0000875433 00000 n -0000875477 00000 n -0000875521 00000 n -0000875566 00000 n -0000875611 00000 n -0000875655 00000 n -0000875699 00000 n -0000875743 00000 n -0000875787 00000 n -0000875831 00000 n -0000875875 00000 n -0000875919 00000 n -0000875963 00000 n -0000876007 00000 n -0000876051 00000 n -0000876096 00000 n -0000876141 00000 n -0000876185 00000 n -0000876229 00000 n -0000876273 00000 n -0000876317 00000 n -0000876361 00000 n -0000876405 00000 n -0000876449 00000 n -0000876493 00000 n -0000876537 00000 n -0000876581 00000 n -0000876625 00000 n -0000876669 00000 n -0000876713 00000 n -0000876757 00000 n -0000876801 00000 n -0000876846 00000 n -0000876890 00000 n -0000876935 00000 n -0000876979 00000 n -0000877023 00000 n -0000877067 00000 n -0000877111 00000 n -0000877155 00000 n -0000877199 00000 n -0000877244 00000 n -0000877289 00000 n -0000877334 00000 n -0000877379 00000 n -0000877423 00000 n -0000877467 00000 n -0000877512 00000 n -0000877557 00000 n -0000877602 00000 n -0000877646 00000 n -0000877690 00000 n -0000877734 00000 n -0000877778 00000 n -0000880050 00000 n -0000880094 00000 n -0000880138 00000 n -0000880182 00000 n -0000880226 00000 n -0000880270 00000 n -0000880314 00000 n -0000880358 00000 n -0000880402 00000 n -0000880446 00000 n -0000880490 00000 n -0000880534 00000 n -0000880579 00000 n -0000880624 00000 n -0000880669 00000 n -0000880714 00000 n -0000880759 00000 n -0000880804 00000 n -0000880849 00000 n -0000880894 00000 n -0000880939 00000 n -0000880984 00000 n -0000881029 00000 n -0000881074 00000 n -0000881119 00000 n -0000881164 00000 n -0000881208 00000 n -0000881252 00000 n -0000881296 00000 n -0000881340 00000 n -0000881385 00000 n -0000881429 00000 n -0000881474 00000 n -0000881519 00000 n -0000881564 00000 n -0000881609 00000 n -0000881654 00000 n -0000881699 00000 n -0000881744 00000 n -0000881789 00000 n -0000881834 00000 n -0000881879 00000 n -0000881924 00000 n -0000881969 00000 n -0000882014 00000 n -0000882059 00000 n -0000882104 00000 n -0000882148 00000 n -0000882193 00000 n -0000882238 00000 n -0000882282 00000 n -0000882326 00000 n -0000882370 00000 n -0000882415 00000 n -0000882459 00000 n -0000882503 00000 n -0000882548 00000 n -0000882593 00000 n -0000882638 00000 n -0000882683 00000 n -0000882728 00000 n -0000882772 00000 n -0000882817 00000 n -0000882862 00000 n -0000882907 00000 n -0000882952 00000 n -0000882997 00000 n -0000883042 00000 n -0000883087 00000 n -0000883132 00000 n -0000883177 00000 n -0000883221 00000 n -0000883265 00000 n -0000883309 00000 n -0000883353 00000 n -0000883397 00000 n -0000883441 00000 n -0000883485 00000 n -0000883529 00000 n -0000883573 00000 n -0000883617 00000 n -0000883661 00000 n -0000883705 00000 n -0000883749 00000 n -0000883793 00000 n -0000883837 00000 n -0000883881 00000 n -0000883925 00000 n -0000883969 00000 n -0000884013 00000 n -0000884057 00000 n -0000884101 00000 n -0000884145 00000 n -0000884189 00000 n -0000884234 00000 n -0000884279 00000 n -0000884324 00000 n -0000884369 00000 n -0000884414 00000 n -0000884459 00000 n -0000884504 00000 n -0000884549 00000 n -0000884594 00000 n -0000884639 00000 n -0000884683 00000 n -0000884727 00000 n -0000884771 00000 n -0000884815 00000 n -0000884859 00000 n -0000884903 00000 n -0000884947 00000 n -0000884991 00000 n -0000885035 00000 n -0000885079 00000 n -0000885123 00000 n -0000885167 00000 n -0000885211 00000 n -0000885255 00000 n -0000885299 00000 n -0000885343 00000 n -0000885387 00000 n -0000885431 00000 n -0000885475 00000 n -0000885520 00000 n -0000885565 00000 n -0000885609 00000 n -0000885654 00000 n -0000885699 00000 n -0000885743 00000 n -0000885787 00000 n -0000885831 00000 n -0000885875 00000 n -0000885919 00000 n -0000885963 00000 n -0000886008 00000 n -0000886052 00000 n -0000886096 00000 n -0000886140 00000 n -0000886184 00000 n -0000886229 00000 n -0000886274 00000 n -0000886318 00000 n -0000886362 00000 n -0000886406 00000 n -0000886450 00000 n -0000886494 00000 n -0000886538 00000 n -0000886582 00000 n -0000886627 00000 n -0000886672 00000 n -0000886716 00000 n -0000886760 00000 n -0000886804 00000 n -0000886848 00000 n -0000886892 00000 n -0000886937 00000 n -0000886982 00000 n -0000887027 00000 n -0000887071 00000 n -0000887115 00000 n -0000887159 00000 n -0000887203 00000 n -0000887247 00000 n -0000887291 00000 n -0000887335 00000 n -0000887380 00000 n -0000887424 00000 n -0000887469 00000 n -0000887514 00000 n -0000887559 00000 n -0000887604 00000 n -0000887649 00000 n -0000887694 00000 n -0000887739 00000 n -0000887784 00000 n -0000887828 00000 n -0000887872 00000 n -0000887916 00000 n -0000887960 00000 n -0000888004 00000 n -0000888048 00000 n -0000888092 00000 n -0000888136 00000 n -0000888180 00000 n -0000888224 00000 n -0000888268 00000 n -0000888312 00000 n -0000888356 00000 n -0000888400 00000 n -0000888444 00000 n -0000888488 00000 n -0000888532 00000 n -0000888576 00000 n -0000888621 00000 n -0000888666 00000 n -0000888711 00000 n -0000888756 00000 n -0000888800 00000 n -0000888845 00000 n -0000888889 00000 n -0000888934 00000 n -0000888979 00000 n -0000889024 00000 n -0000889069 00000 n -0000889114 00000 n -0000889159 00000 n -0000889204 00000 n -0000889249 00000 n -0000889294 00000 n -0000889338 00000 n -0000889382 00000 n -0000889426 00000 n -0000889470 00000 n -0000889515 00000 n -0000889560 00000 n -0000889604 00000 n -0000889649 00000 n -0000889693 00000 n -0000889737 00000 n -0000889781 00000 n -0000889826 00000 n -0000889870 00000 n -0000889915 00000 n -0000889960 00000 n -0000890005 00000 n -0000890050 00000 n -0000890095 00000 n -0000890140 00000 n -0000890185 00000 n -0000890230 00000 n -0000890274 00000 n -0000890319 00000 n -0000890364 00000 n -0000890409 00000 n -0000890454 00000 n -0000890499 00000 n -0000890543 00000 n -0000890587 00000 n -0000890631 00000 n -0000890675 00000 n -0000890719 00000 n -0000890764 00000 n -0000890809 00000 n -0000890854 00000 n -0000890898 00000 n -0000890942 00000 n -0000890986 00000 n -0000891030 00000 n -0000891075 00000 n -0000891120 00000 n -0000891165 00000 n -0000891209 00000 n -0000891253 00000 n -0000891297 00000 n -0000891341 00000 n -0000891385 00000 n -0000891430 00000 n -0000891474 00000 n -0000891519 00000 n -0000891564 00000 n -0000891609 00000 n -0000891653 00000 n -0000891697 00000 n -0000891741 00000 n -0000891786 00000 n -0000891830 00000 n -0000891874 00000 n -0000891919 00000 n -0000891963 00000 n -0000892007 00000 n -0000892051 00000 n -0000892096 00000 n -0000895058 00000 n -0000895103 00000 n -0000895148 00000 n -0000895193 00000 n -0000895238 00000 n -0000895283 00000 n -0000895328 00000 n -0000895373 00000 n -0000895418 00000 n -0000895463 00000 n -0000895508 00000 n -0000895553 00000 n -0000895598 00000 n -0000895643 00000 n -0000895688 00000 n -0000895733 00000 n -0000895778 00000 n -0000895823 00000 n -0000895867 00000 n -0000895911 00000 n -0000895955 00000 n -0000895999 00000 n -0000896043 00000 n -0000896087 00000 n -0000896131 00000 n -0000896175 00000 n -0000896219 00000 n -0000896263 00000 n -0000896307 00000 n -0000896351 00000 n -0000896395 00000 n -0000896439 00000 n -0000896483 00000 n -0000896527 00000 n -0000896571 00000 n -0000896615 00000 n -0000896659 00000 n -0000896703 00000 n -0000896747 00000 n -0000896791 00000 n -0000896836 00000 n -0000896881 00000 n -0000896926 00000 n -0000896971 00000 n -0000897016 00000 n -0000897061 00000 n -0000897105 00000 n -0000897149 00000 n -0000897193 00000 n -0000897237 00000 n -0000897281 00000 n -0000897325 00000 n -0000897369 00000 n -0000897414 00000 n -0000897459 00000 n -0000897504 00000 n -0000897549 00000 n -0000897594 00000 n -0000897639 00000 n -0000897683 00000 n -0000897728 00000 n -0000897772 00000 n -0000897816 00000 n -0000897860 00000 n -0000897905 00000 n -0000897949 00000 n -0000897993 00000 n -0000898037 00000 n -0000898081 00000 n -0000898126 00000 n -0000898171 00000 n -0000898216 00000 n -0000898261 00000 n -0000898306 00000 n -0000898351 00000 n -0000898395 00000 n -0000898440 00000 n -0000898484 00000 n -0000898528 00000 n -0000898572 00000 n -0000898616 00000 n -0000898660 00000 n -0000898704 00000 n -0000898748 00000 n -0000898792 00000 n -0000898836 00000 n -0000898880 00000 n -0000898924 00000 n -0000898968 00000 n -0000899012 00000 n -0000899056 00000 n -0000899100 00000 n -0000899144 00000 n -0000899188 00000 n -0000899232 00000 n -0000899276 00000 n -0000899321 00000 n -0000899366 00000 n -0000899411 00000 n -0000899456 00000 n -0000899501 00000 n -0000899546 00000 n -0000899591 00000 n -0000899636 00000 n -0000899681 00000 n -0000899726 00000 n -0000899771 00000 n -0000899815 00000 n -0000899860 00000 n -0000899904 00000 n -0000899948 00000 n -0000899992 00000 n -0000900036 00000 n -0000900080 00000 n -0000900124 00000 n -0000900168 00000 n -0000900212 00000 n -0000900257 00000 n -0000900302 00000 n -0000900347 00000 n -0000900392 00000 n -0000900437 00000 n -0000900481 00000 n -0000900525 00000 n -0000900570 00000 n -0000900614 00000 n -0000900659 00000 n -0000900703 00000 n -0000900747 00000 n -0000900792 00000 n -0000900837 00000 n -0000900882 00000 n -0000900927 00000 n -0000900972 00000 n -0000901017 00000 n -0000901062 00000 n -0000901107 00000 n -0000901152 00000 n -0000901196 00000 n -0000901240 00000 n -0000901284 00000 n -0000901328 00000 n -0000901373 00000 n -0000901417 00000 n -0000901461 00000 n -0000901505 00000 n -0000901549 00000 n -0000901593 00000 n -0000901637 00000 n -0000901681 00000 n -0000901725 00000 n -0000901769 00000 n -0000901814 00000 n -0000901859 00000 n -0000901903 00000 n -0000901947 00000 n -0000901992 00000 n -0000902037 00000 n -0000902082 00000 n -0000902127 00000 n -0000902172 00000 n -0000902217 00000 n -0000902261 00000 n -0000902306 00000 n -0000902351 00000 n -0000902396 00000 n -0000902441 00000 n -0000902486 00000 n -0000902531 00000 n -0000902576 00000 n -0000902621 00000 n -0000902665 00000 n -0000902710 00000 n -0000902754 00000 n -0000902798 00000 n -0000902842 00000 n -0000902886 00000 n -0000902930 00000 n -0000902974 00000 n -0000903019 00000 n -0000903063 00000 n -0000903108 00000 n -0000903153 00000 n -0000903198 00000 n -0000903243 00000 n -0000903287 00000 n -0000903332 00000 n -0000903376 00000 n -0000903421 00000 n -0000903466 00000 n -0000903510 00000 n -0000903554 00000 n -0000903598 00000 n -0000903643 00000 n -0000903687 00000 n -0000903731 00000 n -0000903775 00000 n -0000903819 00000 n -0000903863 00000 n -0000903907 00000 n -0000903951 00000 n -0000903995 00000 n -0000904039 00000 n -0000904083 00000 n -0000904127 00000 n -0000904171 00000 n -0000904215 00000 n -0000904259 00000 n -0000904303 00000 n -0000904347 00000 n -0000904391 00000 n -0000904435 00000 n -0000904479 00000 n -0000904523 00000 n -0000904567 00000 n -0000904611 00000 n -0000904655 00000 n -0000904699 00000 n -0000904743 00000 n -0000904787 00000 n -0000904831 00000 n -0000904875 00000 n -0000904919 00000 n -0000904963 00000 n -0000905007 00000 n -0000905051 00000 n -0000905095 00000 n -0000905140 00000 n -0000905185 00000 n -0000905230 00000 n -0000905275 00000 n -0000905320 00000 n -0000905365 00000 n -0000905410 00000 n -0000905455 00000 n -0000905500 00000 n -0000905545 00000 n -0000905590 00000 n -0000905635 00000 n -0000905680 00000 n -0000905725 00000 n -0000905770 00000 n -0000905815 00000 n -0000905860 00000 n -0000905905 00000 n -0000905950 00000 n -0000905995 00000 n -0000906040 00000 n -0000906085 00000 n -0000906130 00000 n -0000906175 00000 n -0000906220 00000 n -0000906265 00000 n -0000906310 00000 n -0000906355 00000 n -0000906400 00000 n -0000906445 00000 n -0000906490 00000 n -0000906535 00000 n -0000906580 00000 n -0000906625 00000 n -0000906670 00000 n -0000906715 00000 n -0000906760 00000 n -0000906805 00000 n -0000906850 00000 n -0000906895 00000 n -0000906940 00000 n -0000906985 00000 n -0000907030 00000 n -0000907075 00000 n -0000907120 00000 n -0000907165 00000 n -0000907210 00000 n -0000907255 00000 n -0000907300 00000 n -0000907345 00000 n -0000907389 00000 n -0000907434 00000 n -0000907479 00000 n -0000907524 00000 n -0000907569 00000 n -0000907614 00000 n -0000907659 00000 n -0000907704 00000 n -0000907749 00000 n -0000907794 00000 n -0000907839 00000 n -0000907884 00000 n -0000907929 00000 n -0000907974 00000 n -0000908019 00000 n -0000908064 00000 n -0000908109 00000 n -0000908154 00000 n -0000908199 00000 n -0000908244 00000 n -0000908288 00000 n -0000908332 00000 n -0000908376 00000 n -0000908421 00000 n -0000908466 00000 n -0000908511 00000 n -0000908556 00000 n -0000908601 00000 n -0000908646 00000 n -0000908691 00000 n -0000908736 00000 n -0000908781 00000 n -0000908826 00000 n -0000908871 00000 n -0000908916 00000 n -0000908961 00000 n -0000909006 00000 n -0000909051 00000 n -0000909096 00000 n -0000909141 00000 n -0000909185 00000 n -0000909229 00000 n -0000909273 00000 n -0000909317 00000 n -0000909361 00000 n -0000912823 00000 n -0000912868 00000 n -0000912913 00000 n -0000912958 00000 n -0000913003 00000 n -0000913048 00000 n -0000913093 00000 n -0000913138 00000 n -0000913183 00000 n -0000913228 00000 n -0000913273 00000 n -0000913318 00000 n -0000913362 00000 n -0000913406 00000 n -0000913450 00000 n -0000913494 00000 n -0000913538 00000 n -0000913582 00000 n -0000913626 00000 n -0000913670 00000 n -0000913715 00000 n -0000913760 00000 n -0000913804 00000 n -0000913848 00000 n -0000913893 00000 n -0000913937 00000 n -0000913982 00000 n -0000914027 00000 n -0000914071 00000 n -0000914115 00000 n -0000914159 00000 n -0000914204 00000 n -0000914248 00000 n -0000914292 00000 n -0000914336 00000 n -0000914380 00000 n -0000914424 00000 n -0000914468 00000 n -0000914512 00000 n -0000914556 00000 n -0000914600 00000 n -0000914644 00000 n -0000914688 00000 n -0000914732 00000 n -0000914776 00000 n -0000914820 00000 n -0000914864 00000 n -0000914908 00000 n -0000914952 00000 n -0000914996 00000 n -0000915040 00000 n -0000915084 00000 n -0000915129 00000 n -0000915173 00000 n -0000915217 00000 n -0000915261 00000 n -0000915305 00000 n -0000915349 00000 n -0000915393 00000 n -0000915437 00000 n -0000915481 00000 n -0000915525 00000 n -0000915569 00000 n -0000915613 00000 n -0000915657 00000 n -0000915701 00000 n -0000915745 00000 n -0000915789 00000 n -0000915833 00000 n -0000915877 00000 n -0000915921 00000 n -0000915965 00000 n -0000916009 00000 n -0000916053 00000 n -0000916097 00000 n -0000916141 00000 n -0000916185 00000 n -0000916229 00000 n -0000916273 00000 n -0000916317 00000 n -0000916361 00000 n -0000916405 00000 n -0000916449 00000 n -0000916493 00000 n -0000916537 00000 n -0000916581 00000 n -0000916625 00000 n -0000916669 00000 n -0000916713 00000 n -0000916757 00000 n -0000916801 00000 n -0000916845 00000 n -0000916890 00000 n -0000916935 00000 n -0000916980 00000 n -0000917025 00000 n -0000917070 00000 n -0000917115 00000 n -0000917160 00000 n -0000917205 00000 n -0000917250 00000 n -0000917295 00000 n -0000917340 00000 n -0000917385 00000 n -0000917430 00000 n -0000917475 00000 n -0000917520 00000 n -0000917565 00000 n -0000917610 00000 n -0000917655 00000 n -0000917700 00000 n -0000917745 00000 n -0000917790 00000 n -0000917835 00000 n -0000917880 00000 n -0000917925 00000 n -0000917970 00000 n -0000918015 00000 n -0000918060 00000 n -0000918105 00000 n -0000918150 00000 n -0000918195 00000 n -0000918240 00000 n -0000918285 00000 n -0000918330 00000 n -0000918375 00000 n -0000918420 00000 n -0000918464 00000 n -0000918508 00000 n -0000918552 00000 n -0000918596 00000 n -0000918640 00000 n -0000918684 00000 n -0000918729 00000 n -0000918773 00000 n -0000918817 00000 n -0000918861 00000 n -0000920473 00000 n -0000920698 00000 n -0000920923 00000 n -0000921148 00000 n -0000921373 00000 n -0000921598 00000 n -0000921910 00000 n -0000921952 00000 n -0000921995 00000 n -0000922038 00000 n -0000922081 00000 n -0000922124 00000 n -0000922167 00000 n -0000922210 00000 n -0000922253 00000 n -0000922296 00000 n -0000922339 00000 n -0000922382 00000 n -0000922425 00000 n -0000922468 00000 n -0000922511 00000 n -0000922554 00000 n -0000922597 00000 n -0000922640 00000 n -0000922683 00000 n -0000922726 00000 n -0000922769 00000 n -0000922812 00000 n -0000922855 00000 n -0000922898 00000 n -0000922941 00000 n -0000922984 00000 n -0000923027 00000 n -0000923070 00000 n -0000923113 00000 n -0000923156 00000 n -0000923199 00000 n -0000923242 00000 n -0000923285 00000 n -0000923328 00000 n -0000923371 00000 n -0000923414 00000 n -0000923457 00000 n -0000923500 00000 n -0000923543 00000 n -0000923586 00000 n -0000923629 00000 n -0000923672 00000 n -0000923715 00000 n -0000923758 00000 n -0000923801 00000 n -0000923844 00000 n -0000923887 00000 n -0000923930 00000 n -0000923973 00000 n -0000924016 00000 n -0000924059 00000 n -0000924102 00000 n -0000924145 00000 n -0000924188 00000 n -0000924231 00000 n -0000924274 00000 n -0000924317 00000 n -0000924360 00000 n -0000924403 00000 n -0000924446 00000 n -0000924489 00000 n -0000924532 00000 n -0000924575 00000 n -0000924618 00000 n -0000924661 00000 n -0000924704 00000 n -0000924747 00000 n -0000924790 00000 n -0000924833 00000 n -0000924876 00000 n -0000924919 00000 n -0000924962 00000 n -0000925005 00000 n -0000925048 00000 n -0000925091 00000 n -0000925134 00000 n -0000925177 00000 n -0000925220 00000 n -0000925263 00000 n -0000925306 00000 n -0000925349 00000 n -0000925392 00000 n -0000925435 00000 n -0000925478 00000 n -0000925521 00000 n -0000925564 00000 n -0000925607 00000 n -0000925650 00000 n -0000925693 00000 n -0000925736 00000 n -0000925779 00000 n -0000925822 00000 n -0000925865 00000 n -0000925908 00000 n -0000925951 00000 n -0000925994 00000 n -0000926037 00000 n -0000926080 00000 n -0000926123 00000 n -0000926166 00000 n -0000926209 00000 n -0000926252 00000 n -0000926295 00000 n -0000926338 00000 n -0000926381 00000 n -0000926424 00000 n -0000926467 00000 n -0000926510 00000 n -0000926553 00000 n -0000926596 00000 n -0000926639 00000 n -0000926682 00000 n -0000926725 00000 n -0000926768 00000 n -0000926811 00000 n -0000926854 00000 n -0000926897 00000 n -0000926940 00000 n -0000926983 00000 n -0000927026 00000 n -0000927069 00000 n -0000927112 00000 n -0000927155 00000 n -0000927198 00000 n -0000927241 00000 n -0000927284 00000 n -0000927327 00000 n -0000927370 00000 n -0000927413 00000 n -0000927456 00000 n -0000927499 00000 n -0000927542 00000 n -0000927585 00000 n -0000927628 00000 n -0000927671 00000 n -0000927714 00000 n -0000927757 00000 n -0000927800 00000 n -0000927843 00000 n -0000927886 00000 n -0000927929 00000 n -0000927972 00000 n -0000928015 00000 n -0000928058 00000 n -0000928101 00000 n -0000928144 00000 n -0000928187 00000 n -0000928230 00000 n -0000928273 00000 n -0000928316 00000 n -0000928359 00000 n -0000928402 00000 n -0000928445 00000 n -0000928488 00000 n -0000928531 00000 n -0000928574 00000 n -0000928617 00000 n -0000928660 00000 n -0000928703 00000 n -0000928746 00000 n -0000928789 00000 n -0000928832 00000 n -0000928875 00000 n -0000928918 00000 n -0000928961 00000 n -0000929004 00000 n -0000929047 00000 n -0000929090 00000 n -0000929133 00000 n -0000929176 00000 n -0000929219 00000 n -0000929262 00000 n -0000929305 00000 n -0000929348 00000 n -0000929391 00000 n -0000929434 00000 n -0000929477 00000 n -0000929520 00000 n -0000929563 00000 n -0000929606 00000 n -0000929649 00000 n -0000929692 00000 n -0000929735 00000 n -0000929778 00000 n -0000929821 00000 n -0000929864 00000 n -0000929907 00000 n -0000929950 00000 n -0000929993 00000 n -0000930036 00000 n -0000930079 00000 n -0000930122 00000 n -0000930165 00000 n -0000930208 00000 n -0000930251 00000 n -0000930294 00000 n -0000930337 00000 n -0000930380 00000 n -0000930423 00000 n -0000930466 00000 n -0000930509 00000 n -0000930552 00000 n -0000930595 00000 n -0000930638 00000 n -0000930681 00000 n -0000930725 00000 n -0000930769 00000 n -0000930813 00000 n -0000930857 00000 n -0000930901 00000 n -0000930945 00000 n -0000930989 00000 n -0000931033 00000 n -0000931077 00000 n -0000931121 00000 n -0000931165 00000 n -0000931209 00000 n -0000931253 00000 n -0000931297 00000 n -0000931341 00000 n -0000931385 00000 n -0000931429 00000 n -0000931473 00000 n -0000931517 00000 n -0000931561 00000 n -0000931605 00000 n -0000931649 00000 n -0000931693 00000 n -0000931737 00000 n -0000931781 00000 n -0000931825 00000 n -0000931869 00000 n -0000931913 00000 n -0000931957 00000 n -0000932001 00000 n -0000932045 00000 n -0000932089 00000 n -0000932133 00000 n -0000932177 00000 n -0000932221 00000 n -0000932265 00000 n -0000932309 00000 n -0000932353 00000 n -0000932397 00000 n -0000932441 00000 n -0000932485 00000 n -0000932529 00000 n -0000932573 00000 n -0000932617 00000 n -0000932661 00000 n -0000932705 00000 n -0000932749 00000 n -0000932793 00000 n -0000932837 00000 n -0000932881 00000 n -0000932925 00000 n -0000932969 00000 n -0000933013 00000 n -0000933057 00000 n -0000933101 00000 n -0000933145 00000 n -0000933189 00000 n -0000933233 00000 n -0000933277 00000 n -0000933321 00000 n -0000933365 00000 n -0000933409 00000 n -0000933453 00000 n -0000933497 00000 n -0000933541 00000 n -0000933585 00000 n -0000933629 00000 n -0000933673 00000 n -0000933717 00000 n -0000933761 00000 n -0000933805 00000 n -0000933849 00000 n -0000933893 00000 n -0000933937 00000 n -0000933981 00000 n -0000934025 00000 n -0000934069 00000 n -0000934113 00000 n -0000934157 00000 n -0000934201 00000 n -0000934245 00000 n -0000934289 00000 n -0000934333 00000 n -0000934377 00000 n -0000934421 00000 n -0000934465 00000 n -0000934509 00000 n -0000934553 00000 n -0000934597 00000 n -0000934641 00000 n -0000934685 00000 n -0000934729 00000 n -0000934773 00000 n -0000934817 00000 n -0000934861 00000 n -0000934905 00000 n -0000934949 00000 n -0000934993 00000 n -0000935037 00000 n -0000935081 00000 n -0000935125 00000 n -0000935169 00000 n -0000935213 00000 n -0000935257 00000 n -0000935301 00000 n -0000935345 00000 n -0000935389 00000 n -0000935433 00000 n -0000935477 00000 n -0000935521 00000 n -0000935565 00000 n -0000935609 00000 n -0000935653 00000 n -0000935697 00000 n -0000935741 00000 n -0000935785 00000 n -0000935829 00000 n -0000935873 00000 n -0000935917 00000 n -0000935961 00000 n -0000936005 00000 n -0000936049 00000 n -0000936093 00000 n -0000936137 00000 n -0000936181 00000 n -0000936225 00000 n -0000936269 00000 n -0000936313 00000 n -0000936357 00000 n -0000936401 00000 n -0000936445 00000 n -0000936489 00000 n -0000936533 00000 n -0000936577 00000 n -0000936621 00000 n -0000936665 00000 n -0000936709 00000 n -0000936753 00000 n -0000936797 00000 n -0000936841 00000 n -0000936885 00000 n -0000936929 00000 n -0000936973 00000 n -0000937017 00000 n -0000937061 00000 n -0000937105 00000 n -0000937149 00000 n -0000937193 00000 n -0000937238 00000 n -0000937283 00000 n -0000937328 00000 n -0000937373 00000 n -0000937418 00000 n -0000937463 00000 n -0000937508 00000 n -0000937540 00000 n -0000937608 00000 n -0000937828 00000 n -0000937927 00000 n -0000941828 00000 n -0000941896 00000 n -0000942175 00000 n -0000942274 00000 n -0000944210 00000 n -0000944377 00000 n -0000944544 00000 n -0000944711 00000 n -0000944779 00000 n -0000944999 00000 n -0000945098 00000 n -0000947485 00000 n -0000947553 00000 n -0000947773 00000 n -0000947872 00000 n -0000950439 00000 n -0000950507 00000 n -0000950741 00000 n -0000950840 00000 n -0000955350 00000 n -0000955418 00000 n -0000955695 00000 n -0000955794 00000 n -0000959709 00000 n -0000959875 00000 n -0000959943 00000 n -0000960163 00000 n -0000960262 00000 n -0000963394 00000 n -0000963533 00000 n -0000963672 00000 n -0000963811 00000 n -0000963950 00000 n -0000964089 00000 n -0000964228 00000 n -0000964367 00000 n -0000964506 00000 n -0000964645 00000 n -0000964784 00000 n -0000964923 00000 n -0000965062 00000 n -0000965201 00000 n -0000965340 00000 n -0000965479 00000 n -0000965618 00000 n -0000965757 00000 n -0000965896 00000 n -0000966035 00000 n -0000966174 00000 n -0000966313 00000 n -0000966452 00000 n -0000966591 00000 n -0000966730 00000 n -0000966869 00000 n -0000967008 00000 n -0000967147 00000 n -0000967286 00000 n -0000967425 00000 n -0000967564 00000 n -0000967703 00000 n -0000967842 00000 n -0000967981 00000 n -0000968120 00000 n -0000968259 00000 n -0000968398 00000 n -0000968537 00000 n -0000968676 00000 n -0000968815 00000 n -0000968954 00000 n -0000969093 00000 n -0000969232 00000 n -0000969371 00000 n -0000969510 00000 n -0000969649 00000 n -0000969788 00000 n -0000969927 00000 n -0000970066 00000 n -0000970205 00000 n -0000970344 00000 n -0000970483 00000 n -0000970622 00000 n -0000970761 00000 n -0000970900 00000 n -0000971039 00000 n -0000971178 00000 n -0000971317 00000 n -0000971456 00000 n -0000971595 00000 n -0000971734 00000 n -0000971873 00000 n -0000972012 00000 n -0000972151 00000 n -0000972290 00000 n -0000972429 00000 n -0000972568 00000 n -0000972707 00000 n -0000972846 00000 n -0000972985 00000 n -0000973124 00000 n -0000973263 00000 n -0000973402 00000 n -0000973541 00000 n -0000973680 00000 n -0000973819 00000 n -0000973958 00000 n -0000974097 00000 n -0000974236 00000 n -0000974375 00000 n -0000974514 00000 n -0000974653 00000 n -0000974792 00000 n -0000974931 00000 n -0000975070 00000 n -0000975209 00000 n -0000975348 00000 n -0000975487 00000 n -0000975626 00000 n -0000975765 00000 n -0000975904 00000 n -0000976043 00000 n -0000976182 00000 n -0000976321 00000 n -0000976460 00000 n -0000976599 00000 n -0000976738 00000 n -0000976877 00000 n -0000977016 00000 n -0000977155 00000 n -0000977294 00000 n -0000977433 00000 n -0000977572 00000 n -0000977711 00000 n -0000977850 00000 n -0000977989 00000 n -0000978128 00000 n -0000978267 00000 n -0000978406 00000 n -0000978545 00000 n -0000978684 00000 n -0000978823 00000 n -0000978962 00000 n -0000979101 00000 n -0000979240 00000 n -0000979379 00000 n -0000979518 00000 n -0000979657 00000 n -0000979796 00000 n -0000979935 00000 n -0000980074 00000 n -0000980213 00000 n -0000980352 00000 n -0000980491 00000 n -0000980630 00000 n -0000980769 00000 n -0000980908 00000 n -0000981047 00000 n -0000981186 00000 n -0000981325 00000 n -0000981464 00000 n -0000981603 00000 n -0000981742 00000 n -0000981881 00000 n -0000982020 00000 n -0000982159 00000 n -0000982298 00000 n -0000982437 00000 n -0000982576 00000 n -0000982715 00000 n -0000982854 00000 n -0000982993 00000 n -0000983132 00000 n -0000983271 00000 n -0000983410 00000 n -0000983549 00000 n -0000983688 00000 n -0000983827 00000 n -0000983966 00000 n -0000984105 00000 n -0000984244 00000 n -0000984383 00000 n -0000984522 00000 n -0000984661 00000 n -0000984800 00000 n -0000984939 00000 n -0000985078 00000 n -0000985217 00000 n -0000985356 00000 n -0000985495 00000 n -0000985634 00000 n -0000985773 00000 n -0000985912 00000 n -0000986051 00000 n -0000986190 00000 n -0000986329 00000 n -0000986468 00000 n -0000986607 00000 n -0000986746 00000 n -0000986885 00000 n -0000987024 00000 n -0000987163 00000 n -0000987302 00000 n -0000987441 00000 n -0000987580 00000 n -0000987719 00000 n -0000987858 00000 n -0000987997 00000 n -0000988136 00000 n -0000988275 00000 n -0000988414 00000 n -0000988553 00000 n -0000988692 00000 n -0000988831 00000 n -0000988970 00000 n -0000989109 00000 n -0000989248 00000 n -0000989387 00000 n -0000989526 00000 n -0000989665 00000 n -0000989804 00000 n -0000989943 00000 n -0000990082 00000 n -0000990221 00000 n -0000990360 00000 n -0000990499 00000 n -0000990638 00000 n -0000990777 00000 n -0000990916 00000 n -0000991055 00000 n -0000991194 00000 n -0000991333 00000 n -0000991472 00000 n -0000991611 00000 n -0000991750 00000 n -0000991889 00000 n -0000992028 00000 n -0000992071 00000 n -0000992114 00000 n -0000992157 00000 n -0000992200 00000 n -0000992268 00000 n -0000992517 00000 n -0000992616 00000 n -0000996930 00000 n -0000996998 00000 n -0000997247 00000 n -0000997346 00000 n -0001001217 00000 n -0001001285 00000 n -0001001505 00000 n -0001001604 00000 n -0001005281 00000 n -0001005349 00000 n -0001005642 00000 n -0001005741 00000 n -0001008011 00000 n -0001008177 00000 n -0001008343 00000 n -0001008509 00000 n -0001008675 00000 n -0001008841 00000 n -0001009007 00000 n -0001009173 00000 n -0001009339 00000 n -0001009505 00000 n -0001009671 00000 n -0001009837 00000 n -0001010003 00000 n -0001010168 00000 n -0001010332 00000 n -0001010497 00000 n -0001010662 00000 n -0001010827 00000 n -0001010993 00000 n -0001011159 00000 n -0001011325 00000 n -0001011491 00000 n -0001011656 00000 n -0001011822 00000 n -0001011987 00000 n -0001012153 00000 n -0001012319 00000 n -0001012485 00000 n -0001012648 00000 n -0001012814 00000 n -0001012980 00000 n -0001013146 00000 n -0001013312 00000 n -0001013478 00000 n -0001013644 00000 n -0001013810 00000 n -0001013976 00000 n -0001014141 00000 n -0001014307 00000 n -0001014349 00000 n -0001014391 00000 n -0001014433 00000 n -0001014475 00000 n -0001014518 00000 n -0001014586 00000 n -0001014806 00000 n -0001014905 00000 n -0001019145 00000 n -0001019318 00000 n -0001019492 00000 n -0001019662 00000 n -0001019993 00000 n -0001020415 00000 n -0001020447 00000 n -0001020617 00000 n -0001020663 00000 n -0001020731 00000 n -0001020951 00000 n -0001021050 00000 n -0001023308 00000 n -0001023639 00000 n -0001024061 00000 n -0001024129 00000 n -0001024364 00000 n -0001024463 00000 n -0001028157 00000 n -0001028332 00000 n -0001028663 00000 n -0001029085 00000 n -0001029127 00000 n -0001029195 00000 n -0001030080 00000 n -0001030178 00000 n -0001046930 00000 n -0001046994 00000 n -0001047062 00000 n -0001047296 00000 n -0001047395 00000 n -0001051787 00000 n -0001051949 00000 n -0001052280 00000 n -0001052702 00000 n -0001052770 00000 n -0001052990 00000 n -0001053089 00000 n -0001054773 00000 n -0001055104 00000 n -0001055526 00000 n -0001055594 00000 n -0001055814 00000 n -0001055913 00000 n -0001060076 00000 n -0001060407 00000 n -0001060829 00000 n -0001060897 00000 n -0001061117 00000 n -0001061216 00000 n -0001065045 00000 n -0001065376 00000 n -0001065798 00000 n -0001065903 00000 n -0001065971 00000 n -0001066219 00000 n -0001066318 00000 n -0001067366 00000 n -0001067530 00000 n -0001067695 00000 n -0001067859 00000 n -0001068023 00000 n -0001068188 00000 n -0001068352 00000 n -0001068516 00000 n -0001068680 00000 n -0001068845 00000 n -0001069010 00000 n -0001069175 00000 n -0001069339 00000 n -0001069504 00000 n -0001069669 00000 n -0001069834 00000 n -0001069999 00000 n -0001070164 00000 n -0001070329 00000 n -0001070494 00000 n -0001070535 00000 n -0001070603 00000 n -0001070866 00000 n -0001070965 00000 n -0001073143 00000 n -0001073318 00000 n -0001073649 00000 n -0001074071 00000 n -0001074139 00000 n -0001074388 00000 n -0001074487 00000 n -0001078404 00000 n -0001078571 00000 n -0001078738 00000 n -0001078915 00000 n -0001079246 00000 n -0001079668 00000 n -0001079736 00000 n -0001079985 00000 n -0001080084 00000 n -0001083888 00000 n -0001084219 00000 n -0001084641 00000 n -0001084709 00000 n -0001084943 00000 n -0001085042 00000 n -0001087880 00000 n -0001088046 00000 n -0001088212 00000 n -0001088543 00000 n -0001088965 00000 n -0001089033 00000 n -0001089267 00000 n -0001089366 00000 n -0001094878 00000 n -0001095209 00000 n -0001095631 00000 n -0001095699 00000 n -0001095962 00000 n -0001096061 00000 n -0001100070 00000 n -0001100401 00000 n -0001100823 00000 n -0001100891 00000 n -0001101125 00000 n -0001101224 00000 n -0001104953 00000 n -0001105120 00000 n -0001105451 00000 n -0001105873 00000 n -0001105941 00000 n -0001106190 00000 n -0001106289 00000 n -0001110951 00000 n -0001111117 00000 n -0001111448 00000 n -0001111870 00000 n -0001111938 00000 n -0001112186 00000 n -0001112285 00000 n -0001116100 00000 n -0001116266 00000 n -0001116597 00000 n -0001117019 00000 n -0001117087 00000 n -0001117453 00000 n -0001117521 00000 n -0001118616 00000 n -0001119813 00000 n -0001120881 00000 n -0001122078 00000 n -0001123063 00000 n -0001124333 00000 n -0001125622 00000 n -0001126902 00000 n -0001126970 00000 n -0001127233 00000 n -0001127332 00000 n -0001131939 00000 n -0001132102 00000 n -0001132170 00000 n -0001132419 00000 n -0001132518 00000 n -0001134481 00000 n -0001134549 00000 n -0001134798 00000 n -0001134897 00000 n -0001139103 00000 n -0001139171 00000 n -0001139406 00000 n -0001139505 00000 n -0001143228 00000 n -0001143296 00000 n -0001143516 00000 n -0001143615 00000 n -0001146372 00000 n -0001146415 00000 n -0001146458 00000 n -0001146526 00000 n -0001146746 00000 n -0001146845 00000 n -0001149976 00000 n -0001150115 00000 n -0001150254 00000 n -0001150393 00000 n -0001150532 00000 n -0001150671 00000 n -0001150810 00000 n -0001150949 00000 n -0001151088 00000 n -0001151227 00000 n -0001151366 00000 n -0001151505 00000 n -0001151644 00000 n -0001151783 00000 n -0001151922 00000 n -0001152061 00000 n -0001152200 00000 n -0001152339 00000 n -0001152478 00000 n -0001152617 00000 n -0001152756 00000 n -0001152895 00000 n -0001153034 00000 n -0001153173 00000 n -0001153312 00000 n -0001153451 00000 n -0001153590 00000 n -0001153729 00000 n -0001153868 00000 n -0001154007 00000 n -0001154146 00000 n -0001154285 00000 n -0001154424 00000 n -0001154563 00000 n -0001154702 00000 n -0001154841 00000 n -0001154980 00000 n -0001155119 00000 n -0001155258 00000 n -0001155397 00000 n -0001155536 00000 n -0001155675 00000 n -0001155814 00000 n -0001155953 00000 n -0001156092 00000 n -0001156231 00000 n -0001156370 00000 n -0001156509 00000 n -0001156648 00000 n -0001156787 00000 n -0001156926 00000 n -0001157065 00000 n -0001157204 00000 n -0001157343 00000 n -0001157482 00000 n -0001157621 00000 n -0001157760 00000 n -0001157899 00000 n -0001158038 00000 n -0001158177 00000 n -0001158316 00000 n -0001158455 00000 n -0001158594 00000 n -0001158733 00000 n -0001158872 00000 n -0001159011 00000 n -0001159150 00000 n -0001159289 00000 n -0001159428 00000 n -0001159567 00000 n -0001159706 00000 n -0001159845 00000 n -0001159984 00000 n -0001160123 00000 n -0001160262 00000 n -0001160401 00000 n -0001160540 00000 n -0001160679 00000 n -0001160818 00000 n -0001160957 00000 n -0001161096 00000 n -0001161235 00000 n -0001161374 00000 n -0001161513 00000 n -0001161652 00000 n -0001161791 00000 n -0001161930 00000 n -0001162069 00000 n -0001162208 00000 n -0001162347 00000 n -0001162486 00000 n -0001162625 00000 n -0001162764 00000 n -0001162903 00000 n -0001163042 00000 n -0001163181 00000 n -0001163320 00000 n -0001163459 00000 n -0001163598 00000 n -0001163737 00000 n -0001163876 00000 n -0001164015 00000 n -0001164154 00000 n -0001164293 00000 n -0001164432 00000 n -0001164571 00000 n -0001164710 00000 n -0001164849 00000 n -0001164988 00000 n -0001165127 00000 n -0001165266 00000 n -0001165405 00000 n -0001165544 00000 n -0001165683 00000 n -0001165822 00000 n -0001165961 00000 n -0001166100 00000 n -0001166239 00000 n -0001166378 00000 n -0001166517 00000 n -0001166656 00000 n -0001166795 00000 n -0001166934 00000 n -0001167073 00000 n -0001167212 00000 n -0001167351 00000 n -0001167490 00000 n -0001167629 00000 n -0001167768 00000 n -0001167907 00000 n -0001168046 00000 n -0001168185 00000 n -0001168324 00000 n -0001168463 00000 n -0001168602 00000 n -0001168741 00000 n -0001168880 00000 n -0001169019 00000 n -0001169158 00000 n -0001169297 00000 n -0001169436 00000 n -0001169575 00000 n -0001169714 00000 n -0001169853 00000 n -0001169992 00000 n -0001170131 00000 n -0001170270 00000 n -0001170409 00000 n -0001170548 00000 n -0001170687 00000 n -0001170826 00000 n -0001170965 00000 n -0001171104 00000 n -0001171243 00000 n -0001171382 00000 n -0001171521 00000 n -0001171660 00000 n -0001171799 00000 n -0001171938 00000 n -0001172077 00000 n -0001172216 00000 n -0001172355 00000 n -0001172494 00000 n -0001172633 00000 n -0001172772 00000 n -0001172911 00000 n -0001173050 00000 n -0001173189 00000 n -0001173328 00000 n -0001173467 00000 n -0001173606 00000 n -0001173745 00000 n -0001173884 00000 n -0001174023 00000 n -0001174162 00000 n -0001174493 00000 n -0001174915 00000 n -0001174958 00000 n -0001175001 00000 n -0001175069 00000 n -0001175332 00000 n -0001175431 00000 n -0001179488 00000 n -0001179655 00000 n -0001179986 00000 n -0001180408 00000 n -0001180451 00000 n -0001180519 00000 n -0001180768 00000 n -0001180867 00000 n -0001184871 00000 n -0001185202 00000 n -0001185624 00000 n -0001185692 00000 n -0001185941 00000 n -0001186040 00000 n -0001189850 00000 n -0001190016 00000 n -0001190347 00000 n -0001190769 00000 n -0001190837 00000 n -0001191057 00000 n -0001191156 00000 n -0001194434 00000 n -0001194765 00000 n -0001195187 00000 n -0001195230 00000 n -0001195273 00000 n -0001195341 00000 n -0001195561 00000 n -0001195660 00000 n -0001199374 00000 n -0001199705 00000 n -0001200127 00000 n -0001200195 00000 n -0001200430 00000 n -0001200529 00000 n -0001204660 00000 n -0001204991 00000 n -0001205413 00000 n -0001205456 00000 n -0001205524 00000 n -0001205759 00000 n -0001205858 00000 n -0001209171 00000 n -0001209502 00000 n -0001209924 00000 n -0001209967 00000 n -0001210010 00000 n -0001210078 00000 n -0001210327 00000 n -0001210426 00000 n -0001213130 00000 n -0001213297 00000 n -0001213365 00000 n -0001213600 00000 n -0001213699 00000 n -0001217521 00000 n -0001217564 00000 n -0001217607 00000 n -0001217675 00000 n -0001217938 00000 n -0001218037 00000 n -0001221248 00000 n -0001221413 00000 n -0001221744 00000 n -0001222166 00000 n -0001222208 00000 n -0001222251 00000 n -0001222319 00000 n -0001222582 00000 n -0001222681 00000 n -0001226706 00000 n -0001227037 00000 n -0001227459 00000 n -0001227502 00000 n -0001227570 00000 n -0001227833 00000 n -0001227932 00000 n -0001230490 00000 n -0001230821 00000 n -0001231243 00000 n -0001231311 00000 n -0001231545 00000 n -0001231644 00000 n -0001235480 00000 n -0001235646 00000 n -0001235977 00000 n -0001236399 00000 n -0001236442 00000 n -0001236485 00000 n -0001236553 00000 n -0001236802 00000 n -0001236901 00000 n -0001240765 00000 n -0001240932 00000 n -0001241000 00000 n -0001241220 00000 n -0001241319 00000 n -0001242980 00000 n -0001243311 00000 n -0001243733 00000 n -0001243801 00000 n -0001244065 00000 n -0001244164 00000 n -0001245877 00000 n -0001246044 00000 n -0001246211 00000 n -0001246378 00000 n -0001246560 00000 n -0001246742 00000 n -0001247073 00000 n -0001247495 00000 n -0001247563 00000 n -0001247811 00000 n -0001247910 00000 n -0001251673 00000 n -0001251840 00000 n -0001252171 00000 n -0001252593 00000 n -0001252661 00000 n -0001252911 00000 n -0001253010 00000 n -0001255080 00000 n -0001255244 00000 n -0001255411 00000 n -0001255742 00000 n -0001256164 00000 n -0001256232 00000 n -0001256452 00000 n -0001256551 00000 n -0001260309 00000 n -0001260640 00000 n -0001261062 00000 n -0001261105 00000 n -0001261148 00000 n -0001261216 00000 n -0001261436 00000 n -0001261535 00000 n -0001265183 00000 n -0001265514 00000 n -0001265936 00000 n -0001265979 00000 n -0001266047 00000 n -0001266296 00000 n -0001266395 00000 n -0001270721 00000 n -0001270886 00000 n -0001271217 00000 n -0001271639 00000 n -0001271682 00000 n -0001271750 00000 n -0001271970 00000 n -0001272069 00000 n -0001276175 00000 n -0001276506 00000 n -0001276928 00000 n -0001276996 00000 n -0001277259 00000 n -0001277358 00000 n -0001281357 00000 n -0001281523 00000 n -0001281854 00000 n -0001282276 00000 n -0001282344 00000 n -0001282579 00000 n -0001282678 00000 n -0001286075 00000 n -0001286118 00000 n -0001286186 00000 n -0001286421 00000 n -0001286520 00000 n -0001291280 00000 n -0001291611 00000 n -0001292033 00000 n -0001292101 00000 n -0001292321 00000 n -0001292420 00000 n -0001296649 00000 n -0001296980 00000 n -0001297402 00000 n -0001297445 00000 n -0001297513 00000 n -0001297761 00000 n -0001297860 00000 n -0001301512 00000 n -0001301675 00000 n -0001302006 00000 n -0001302428 00000 n -0001302471 00000 n -0001302539 00000 n -0001302788 00000 n -0001302887 00000 n -0001307370 00000 n -0001307701 00000 n -0001308123 00000 n -0001308166 00000 n -0001308234 00000 n -0001308497 00000 n -0001308596 00000 n -0001311316 00000 n -0001311647 00000 n -0001312069 00000 n -0001312137 00000 n -0001312386 00000 n -0001312485 00000 n -0001316358 00000 n -0001316525 00000 n -0001316856 00000 n -0001317278 00000 n -0001317321 00000 n -0001317389 00000 n -0001317579 00000 n -0001317678 00000 n -0001317896 00000 n -0001318283 00000 n -0001318614 00000 n -0001319036 00000 n -0001319078 00000 n -0001319155 00000 n -0001319223 00000 n -0001319443 00000 n -0001319542 00000 n -0001323102 00000 n -0001323241 00000 n -0001323380 00000 n -0001323519 00000 n -0001323658 00000 n -0001323797 00000 n -0001323936 00000 n -0001324075 00000 n -0001324214 00000 n -0001324353 00000 n -0001324492 00000 n -0001324631 00000 n -0001324770 00000 n -0001324909 00000 n -0001325048 00000 n -0001325187 00000 n -0001325326 00000 n -0001325465 00000 n -0001325604 00000 n -0001325743 00000 n -0001325882 00000 n -0001326021 00000 n -0001326160 00000 n -0001326299 00000 n -0001326438 00000 n -0001326577 00000 n -0001326716 00000 n -0001326855 00000 n -0001326994 00000 n -0001327133 00000 n -0001327272 00000 n -0001327411 00000 n -0001327550 00000 n -0001327689 00000 n -0001327828 00000 n -0001327967 00000 n -0001328106 00000 n -0001328245 00000 n -0001328384 00000 n -0001328523 00000 n -0001328662 00000 n -0001328801 00000 n -0001328940 00000 n -0001329079 00000 n -0001329218 00000 n -0001329357 00000 n -0001329496 00000 n -0001329635 00000 n -0001329774 00000 n -0001329913 00000 n -0001330052 00000 n -0001330191 00000 n -0001330330 00000 n -0001330469 00000 n -0001330608 00000 n -0001330747 00000 n -0001330886 00000 n -0001331025 00000 n -0001331164 00000 n -0001331303 00000 n -0001331442 00000 n -0001331581 00000 n -0001331720 00000 n -0001331859 00000 n -0001331998 00000 n -0001332137 00000 n -0001332276 00000 n -0001332415 00000 n -0001332554 00000 n -0001332693 00000 n -0001332832 00000 n -0001332971 00000 n -0001333110 00000 n -0001333249 00000 n -0001333388 00000 n -0001333527 00000 n -0001333666 00000 n -0001333805 00000 n -0001333944 00000 n -0001334083 00000 n -0001334222 00000 n -0001334361 00000 n -0001334500 00000 n -0001334639 00000 n -0001334778 00000 n -0001334917 00000 n -0001335056 00000 n -0001335195 00000 n -0001335334 00000 n -0001335473 00000 n -0001335612 00000 n -0001335751 00000 n -0001335890 00000 n -0001336029 00000 n -0001336168 00000 n -0001336307 00000 n -0001336446 00000 n -0001336585 00000 n -0001336724 00000 n -0001336863 00000 n -0001337002 00000 n -0001337141 00000 n -0001337280 00000 n -0001337419 00000 n -0001337558 00000 n -0001337697 00000 n -0001337836 00000 n -0001337975 00000 n -0001338114 00000 n -0001338253 00000 n -0001338392 00000 n -0001338531 00000 n -0001338670 00000 n -0001338809 00000 n -0001338948 00000 n -0001339087 00000 n -0001339226 00000 n -0001339365 00000 n -0001339504 00000 n -0001339643 00000 n -0001339782 00000 n -0001339921 00000 n -0001340060 00000 n -0001340199 00000 n -0001340338 00000 n -0001340477 00000 n -0001340616 00000 n -0001340755 00000 n -0001340894 00000 n -0001341033 00000 n -0001341172 00000 n -0001341311 00000 n -0001341450 00000 n -0001341589 00000 n -0001341728 00000 n -0001341867 00000 n -0001342006 00000 n -0001342145 00000 n -0001342284 00000 n -0001342423 00000 n -0001342562 00000 n -0001342701 00000 n -0001342840 00000 n -0001342979 00000 n -0001343118 00000 n -0001343257 00000 n -0001343396 00000 n -0001343535 00000 n -0001343674 00000 n -0001343813 00000 n -0001343856 00000 n -0001343899 00000 n -0001343942 00000 n -0001343985 00000 n -0001344028 00000 n -0001344071 00000 n -0001344114 00000 n -0001344445 00000 n -0001344867 00000 n -0001344935 00000 n -0001345184 00000 n -0001345283 00000 n -0001348569 00000 n -0001348900 00000 n -0001349322 00000 n -0001349390 00000 n -0001349625 00000 n -0001349724 00000 n -0001353824 00000 n -0001354155 00000 n -0001354577 00000 n -0001354620 00000 n -0001354663 00000 n -0001354731 00000 n -0001354965 00000 n -0001355064 00000 n -0001359557 00000 n -0001359888 00000 n -0001360310 00000 n -0001360378 00000 n -0001360642 00000 n -0001360741 00000 n -0001363081 00000 n -0001363248 00000 n -0001363415 00000 n -0001363746 00000 n -0001364168 00000 n -0001364211 00000 n -0001364254 00000 n -0001364297 00000 n -0001364340 00000 n -0001364408 00000 n -0001364642 00000 n -0001364741 00000 n -0001368209 00000 n -0001368375 00000 n -0001368706 00000 n -0001369128 00000 n -0001369196 00000 n -0001369416 00000 n -0001369515 00000 n -0001373465 00000 n -0001373796 00000 n -0001374218 00000 n -0001374261 00000 n -0001374329 00000 n -0001374593 00000 n -0001374692 00000 n -0001376443 00000 n -0001376606 00000 n -0001376772 00000 n -0001376831 00000 n -0001377162 00000 n -0001377584 00000 n -0001377652 00000 n -0001377887 00000 n -0001377986 00000 n -0001382604 00000 n -0001382935 00000 n -0001383357 00000 n -0001383425 00000 n -0001383659 00000 n -0001383758 00000 n -0001387353 00000 n -0001387520 00000 n -0001387687 00000 n -0001388018 00000 n -0001388440 00000 n -0001388508 00000 n -0001388743 00000 n -0001388842 00000 n -0001391274 00000 n -0001391414 00000 n -0001391554 00000 n -0001391694 00000 n -0001391834 00000 n -0001391974 00000 n -0001392114 00000 n -0001392254 00000 n -0001392394 00000 n -0001392534 00000 n -0001392674 00000 n -0001392814 00000 n -0001392954 00000 n -0001393094 00000 n -0001393234 00000 n -0001393374 00000 n -0001393514 00000 n -0001393654 00000 n -0001393794 00000 n -0001393934 00000 n -0001394074 00000 n -0001394214 00000 n -0001394354 00000 n -0001394494 00000 n -0001394634 00000 n -0001394774 00000 n -0001394914 00000 n -0001395054 00000 n -0001395194 00000 n -0001395334 00000 n -0001395474 00000 n -0001395614 00000 n -0001395754 00000 n -0001395894 00000 n -0001396034 00000 n -0001396174 00000 n -0001396314 00000 n -0001396454 00000 n -0001396594 00000 n -0001396734 00000 n -0001396874 00000 n -0001397014 00000 n -0001397154 00000 n -0001397294 00000 n -0001397434 00000 n -0001397574 00000 n -0001397714 00000 n -0001397854 00000 n -0001397994 00000 n -0001398134 00000 n -0001398274 00000 n -0001398414 00000 n -0001398554 00000 n -0001398694 00000 n -0001398834 00000 n -0001398974 00000 n -0001399114 00000 n -0001399254 00000 n -0001399394 00000 n -0001399534 00000 n -0001399674 00000 n -0001399814 00000 n -0001399954 00000 n -0001400094 00000 n -0001400234 00000 n -0001400374 00000 n -0001400514 00000 n -0001400654 00000 n -0001400794 00000 n -0001400934 00000 n -0001401074 00000 n -0001401214 00000 n -0001401354 00000 n -0001401494 00000 n -0001401634 00000 n -0001401774 00000 n -0001401914 00000 n -0001402054 00000 n -0001402194 00000 n -0001402334 00000 n -0001402474 00000 n -0001402614 00000 n -0001402754 00000 n -0001402894 00000 n -0001403034 00000 n -0001403174 00000 n -0001403314 00000 n -0001403454 00000 n -0001403594 00000 n -0001403734 00000 n -0001403874 00000 n -0001404014 00000 n -0001404154 00000 n -0001404294 00000 n -0001404434 00000 n -0001404574 00000 n -0001404714 00000 n -0001404854 00000 n -0001404994 00000 n -0001405134 00000 n -0001405274 00000 n -0001405414 00000 n -0001405554 00000 n -0001405694 00000 n -0001405834 00000 n -0001405974 00000 n -0001406114 00000 n -0001406254 00000 n -0001406394 00000 n -0001406534 00000 n -0001406674 00000 n -0001406814 00000 n -0001406954 00000 n -0001407094 00000 n -0001407234 00000 n -0001407374 00000 n -0001407514 00000 n -0001407654 00000 n -0001407794 00000 n -0001407934 00000 n -0001408074 00000 n -0001408214 00000 n -0001408354 00000 n -0001408494 00000 n -0001408634 00000 n -0001408774 00000 n -0001408914 00000 n -0001409054 00000 n -0001409194 00000 n -0001409334 00000 n -0001409474 00000 n -0001409614 00000 n -0001409754 00000 n -0001409894 00000 n -0001410034 00000 n -0001410174 00000 n -0001410314 00000 n -0001410358 00000 n -0001410402 00000 n -0001410446 00000 n -0001410490 00000 n -0001410534 00000 n -0001410578 00000 n -0001410622 00000 n -0001410666 00000 n -0001410710 00000 n -0001410754 00000 n -0001410798 00000 n -0001410842 00000 n -0001410886 00000 n -0001410929 00000 n -0001410973 00000 n -0001411016 00000 n -0001411084 00000 n -0001411334 00000 n -0001411433 00000 n -0001413104 00000 n -0001413271 00000 n -0001413438 00000 n -0001413605 00000 n -0001413936 00000 n -0001414358 00000 n -0001414401 00000 n -0001414469 00000 n -0001414732 00000 n -0001414831 00000 n -0001418814 00000 n -0001418981 00000 n -0001419312 00000 n -0001419734 00000 n -0001419802 00000 n -0001420022 00000 n -0001420121 00000 n -0001424120 00000 n -0001424451 00000 n -0001424873 00000 n -0001424915 00000 n -0001424983 00000 n -0001425203 00000 n -0001425302 00000 n -0001427954 00000 n -0001428285 00000 n -0001428707 00000 n -0001428751 00000 n -0001428819 00000 n -0001429054 00000 n -0001429153 00000 n -0001432440 00000 n -0001432771 00000 n -0001433193 00000 n -0001433261 00000 n -0001433524 00000 n -0001433623 00000 n -0001436436 00000 n -0001436767 00000 n -0001437189 00000 n -0001437257 00000 n -0001437491 00000 n -0001437590 00000 n -0001441896 00000 n -0001442063 00000 n -0001442394 00000 n -0001442816 00000 n -0001442859 00000 n -0001442927 00000 n -0001443176 00000 n -0001443275 00000 n -0001446524 00000 n -0001446855 00000 n -0001447277 00000 n -0001447345 00000 n -0001447579 00000 n -0001447678 00000 n -0001451224 00000 n -0001451555 00000 n -0001451977 00000 n -0001452020 00000 n -0001452063 00000 n -0001452106 00000 n -0001452150 00000 n -0001452218 00000 n -0001452438 00000 n -0001452537 00000 n -0001456480 00000 n -0001456811 00000 n -0001457233 00000 n -0001457301 00000 n -0001457535 00000 n -0001457634 00000 n -0001461228 00000 n -0001461559 00000 n -0001461981 00000 n -0001462049 00000 n -0001462270 00000 n -0001462369 00000 n -0001464403 00000 n -0001464734 00000 n -0001465156 00000 n -0001465199 00000 n -0001465267 00000 n -0001465502 00000 n -0001465601 00000 n -0001470383 00000 n -0001470522 00000 n -0001470661 00000 n -0001470800 00000 n -0001470939 00000 n -0001471078 00000 n -0001471217 00000 n -0001471356 00000 n -0001471495 00000 n -0001471634 00000 n -0001471773 00000 n -0001471912 00000 n -0001472051 00000 n -0001472190 00000 n -0001472329 00000 n -0001472468 00000 n -0001472607 00000 n -0001472746 00000 n -0001472885 00000 n -0001473024 00000 n -0001473163 00000 n -0001473302 00000 n -0001473441 00000 n -0001473580 00000 n -0001473719 00000 n -0001473858 00000 n -0001473997 00000 n -0001474136 00000 n -0001474275 00000 n -0001474414 00000 n -0001474553 00000 n -0001474692 00000 n -0001474831 00000 n -0001474970 00000 n -0001475109 00000 n -0001475248 00000 n -0001475387 00000 n -0001475526 00000 n -0001475665 00000 n -0001475804 00000 n -0001475943 00000 n -0001476082 00000 n -0001476221 00000 n -0001476360 00000 n -0001476499 00000 n -0001476638 00000 n -0001476777 00000 n -0001476916 00000 n -0001477055 00000 n -0001477194 00000 n -0001477333 00000 n -0001477472 00000 n -0001477611 00000 n -0001477750 00000 n -0001477889 00000 n -0001478028 00000 n -0001478167 00000 n -0001478306 00000 n -0001478445 00000 n -0001478584 00000 n -0001478723 00000 n -0001478862 00000 n -0001479001 00000 n -0001479140 00000 n -0001479279 00000 n -0001479418 00000 n -0001479557 00000 n -0001479696 00000 n -0001479835 00000 n -0001479974 00000 n -0001480113 00000 n -0001480252 00000 n -0001480391 00000 n -0001480530 00000 n -0001480669 00000 n -0001480808 00000 n -0001480947 00000 n -0001481086 00000 n -0001481225 00000 n -0001481364 00000 n -0001481503 00000 n -0001481642 00000 n -0001481781 00000 n -0001481920 00000 n -0001482059 00000 n -0001482198 00000 n -0001482337 00000 n -0001482476 00000 n -0001482615 00000 n -0001482754 00000 n -0001482893 00000 n -0001483032 00000 n -0001483171 00000 n -0001483310 00000 n -0001483449 00000 n -0001483588 00000 n -0001483727 00000 n -0001483866 00000 n -0001484005 00000 n -0001484144 00000 n -0001484283 00000 n -0001484422 00000 n -0001484561 00000 n -0001484700 00000 n -0001484839 00000 n -0001484978 00000 n -0001485117 00000 n -0001485256 00000 n -0001485395 00000 n -0001485534 00000 n -0001485673 00000 n -0001485812 00000 n -0001485951 00000 n -0001486090 00000 n -0001486229 00000 n -0001486368 00000 n -0001486507 00000 n -0001486646 00000 n -0001486785 00000 n -0001486924 00000 n -0001487063 00000 n -0001487202 00000 n -0001487341 00000 n -0001487480 00000 n -0001487619 00000 n -0001487758 00000 n -0001487897 00000 n -0001488036 00000 n -0001488175 00000 n -0001488314 00000 n -0001488453 00000 n -0001488592 00000 n -0001488731 00000 n -0001488870 00000 n -0001489009 00000 n -0001489148 00000 n -0001489287 00000 n -0001489426 00000 n -0001489565 00000 n -0001489704 00000 n -0001489843 00000 n -0001489982 00000 n -0001490121 00000 n -0001490260 00000 n -0001490399 00000 n -0001490538 00000 n -0001490677 00000 n -0001490816 00000 n -0001490955 00000 n -0001491094 00000 n -0001491233 00000 n -0001491372 00000 n -0001491511 00000 n -0001491650 00000 n -0001491789 00000 n -0001491928 00000 n -0001492067 00000 n -0001492206 00000 n -0001492345 00000 n -0001492484 00000 n -0001492623 00000 n -0001492762 00000 n -0001492901 00000 n -0001493040 00000 n -0001493179 00000 n -0001493318 00000 n -0001493457 00000 n -0001493596 00000 n -0001493735 00000 n -0001493874 00000 n -0001494013 00000 n -0001494152 00000 n -0001494291 00000 n -0001494430 00000 n -0001494569 00000 n -0001494708 00000 n -0001494847 00000 n -0001494986 00000 n -0001495125 00000 n -0001495264 00000 n -0001495403 00000 n -0001495542 00000 n -0001495681 00000 n -0001495820 00000 n -0001495959 00000 n -0001496098 00000 n -0001496237 00000 n -0001496376 00000 n -0001496515 00000 n -0001496654 00000 n -0001496793 00000 n -0001496932 00000 n -0001497071 00000 n -0001497210 00000 n -0001497349 00000 n -0001497488 00000 n -0001497627 00000 n -0001497766 00000 n -0001497905 00000 n -0001498044 00000 n -0001498183 00000 n -0001498322 00000 n -0001498461 00000 n -0001498600 00000 n -0001498739 00000 n -0001498878 00000 n -0001499017 00000 n -0001499156 00000 n -0001499295 00000 n -0001499434 00000 n -0001499573 00000 n -0001499712 00000 n -0001499851 00000 n -0001499990 00000 n -0001500129 00000 n -0001500268 00000 n -0001500407 00000 n -0001500546 00000 n -0001500685 00000 n -0001500824 00000 n -0001500963 00000 n -0001501102 00000 n -0001501241 00000 n -0001501380 00000 n -0001501519 00000 n -0001501658 00000 n -0001501797 00000 n -0001501936 00000 n -0001502075 00000 n -0001502214 00000 n -0001502353 00000 n -0001502492 00000 n -0001502631 00000 n -0001502770 00000 n -0001502909 00000 n -0001503048 00000 n -0001503187 00000 n -0001503326 00000 n -0001503465 00000 n -0001503604 00000 n -0001503743 00000 n -0001503882 00000 n -0001504021 00000 n -0001504160 00000 n -0001504299 00000 n -0001504438 00000 n -0001504577 00000 n -0001504716 00000 n -0001504855 00000 n -0001504994 00000 n -0001505133 00000 n -0001505272 00000 n -0001505411 00000 n -0001505550 00000 n -0001505689 00000 n -0001505828 00000 n -0001505967 00000 n -0001506106 00000 n -0001506245 00000 n -0001506384 00000 n -0001506523 00000 n -0001506662 00000 n -0001506801 00000 n -0001506940 00000 n -0001507079 00000 n -0001507218 00000 n -0001507357 00000 n -0001507496 00000 n -0001507635 00000 n -0001507774 00000 n -0001507913 00000 n -0001508052 00000 n -0001508191 00000 n -0001508330 00000 n -0001508469 00000 n -0001508608 00000 n -0001508747 00000 n -0001508886 00000 n -0001509025 00000 n -0001509164 00000 n -0001509303 00000 n -0001509442 00000 n -0001509581 00000 n -0001509720 00000 n -0001509859 00000 n -0001509998 00000 n -0001510137 00000 n -0001510276 00000 n -0001510415 00000 n -0001510554 00000 n -0001510693 00000 n -0001510832 00000 n -0001510971 00000 n -0001511110 00000 n -0001511249 00000 n -0001511388 00000 n -0001511527 00000 n -0001511666 00000 n -0001511805 00000 n -0001511944 00000 n -0001512083 00000 n -0001512222 00000 n -0001512361 00000 n -0001512500 00000 n -0001512639 00000 n -0001512778 00000 n -0001512917 00000 n -0001513056 00000 n -0001513195 00000 n -0001513334 00000 n -0001513473 00000 n -0001513612 00000 n -0001513751 00000 n -0001513890 00000 n -0001514029 00000 n -0001514168 00000 n -0001514307 00000 n -0001514446 00000 n -0001514585 00000 n -0001514724 00000 n -0001514863 00000 n -0001515002 00000 n -0001515141 00000 n -0001515280 00000 n -0001515419 00000 n -0001515558 00000 n -0001515697 00000 n -0001515836 00000 n -0001515975 00000 n -0001516114 00000 n -0001516253 00000 n -0001516392 00000 n -0001516531 00000 n -0001516670 00000 n -0001516809 00000 n -0001516948 00000 n -0001517087 00000 n -0001517130 00000 n -0001517173 00000 n -0001517216 00000 n -0001517259 00000 n -0001517302 00000 n -0001517345 00000 n -0001517388 00000 n -0001517431 00000 n -0001517474 00000 n -0001517517 00000 n -0001517560 00000 n -0001517603 00000 n -0001517646 00000 n -0001517689 00000 n -0001517732 00000 n -0001517775 00000 n -0001517818 00000 n -0001517861 00000 n -0001517904 00000 n -0001517947 00000 n -0001517990 00000 n -0001518033 00000 n -0001518076 00000 n -0001518119 00000 n -0001518162 00000 n -0001518205 00000 n -0001518248 00000 n -0001518291 00000 n -0001518622 00000 n -0001519044 00000 n -0001519087 00000 n -0001519130 00000 n -0001519173 00000 n -0001519216 00000 n -0001519284 00000 n -0001519533 00000 n -0001519632 00000 n -0001524075 00000 n -0001524242 00000 n -0001524573 00000 n -0001524995 00000 n -0001525063 00000 n -0001525326 00000 n -0001525425 00000 n -0001529165 00000 n -0001529496 00000 n -0001529918 00000 n -0001529962 00000 n -0001530005 00000 n -0001530048 00000 n -0001530091 00000 n -0001530159 00000 n -0001530393 00000 n -0001530492 00000 n -0001534340 00000 n -0001534671 00000 n -0001535093 00000 n -0001535161 00000 n -0001535381 00000 n -0001535480 00000 n -0001538812 00000 n -0001539143 00000 n -0001539565 00000 n -0001539608 00000 n -0001539676 00000 n -0001539910 00000 n -0001540009 00000 n -0001543907 00000 n -0001544073 00000 n -0001544404 00000 n -0001544826 00000 n -0001544869 00000 n -0001544937 00000 n -0001545186 00000 n -0001545285 00000 n -0001548685 00000 n -0001548848 00000 n -0001549179 00000 n -0001549601 00000 n -0001549669 00000 n -0001549889 00000 n -0001549988 00000 n -0001551640 00000 n -0001551971 00000 n -0001552393 00000 n -0001552437 00000 n -0001552505 00000 n -0001552754 00000 n -0001552853 00000 n -0001556812 00000 n -0001556974 00000 n -0001557305 00000 n -0001557727 00000 n -0001557771 00000 n -0001557814 00000 n -0001557857 00000 n -0001557925 00000 n -0001558145 00000 n -0001558244 00000 n -0001562895 00000 n -0001563226 00000 n -0001563648 00000 n -0001563716 00000 n -0001563993 00000 n -0001564092 00000 n -0001568478 00000 n -0001568644 00000 n -0001568975 00000 n -0001569397 00000 n -0001569465 00000 n -0001569728 00000 n -0001569827 00000 n -0001572441 00000 n -0001572772 00000 n -0001573194 00000 n -0001573238 00000 n -0001573281 00000 n -0001573324 00000 n -0001573367 00000 n -0001573435 00000 n -0001573669 00000 n -0001573768 00000 n -0001577754 00000 n -0001577921 00000 n -0001578252 00000 n -0001578674 00000 n -0001578717 00000 n -0001578785 00000 n -0001579005 00000 n -0001579104 00000 n -0001583357 00000 n -0001583688 00000 n -0001584110 00000 n -0001584178 00000 n -0001584412 00000 n -0001584511 00000 n -0001587664 00000 n -0001587995 00000 n -0001588417 00000 n -0001588460 00000 n -0001588528 00000 n -0001588776 00000 n -0001588875 00000 n -0001591245 00000 n -0001591411 00000 n -0001591577 00000 n -0001591743 00000 n -0001591909 00000 n -0001592075 00000 n -0001592241 00000 n -0001592407 00000 n -0001592573 00000 n -0001592739 00000 n -0001592905 00000 n -0001593071 00000 n -0001593236 00000 n -0001593401 00000 n -0001593566 00000 n -0001593731 00000 n -0001593896 00000 n -0001594062 00000 n -0001594228 00000 n -0001594391 00000 n -0001594557 00000 n -0001594723 00000 n -0001594889 00000 n -0001595055 00000 n -0001595221 00000 n -0001595387 00000 n -0001595553 00000 n -0001595718 00000 n -0001595884 00000 n -0001596050 00000 n -0001596216 00000 n -0001596382 00000 n -0001596548 00000 n -0001596714 00000 n -0001596880 00000 n -0001597046 00000 n -0001597212 00000 n -0001597378 00000 n -0001597544 00000 n -0001597586 00000 n -0001597628 00000 n -0001597670 00000 n -0001597712 00000 n -0001597754 00000 n -0001597796 00000 n -0001597838 00000 n -0001597880 00000 n -0001597923 00000 n -0001597991 00000 n -0001598227 00000 n -0001598326 00000 n -0001600852 00000 n -0001601018 00000 n -0001601349 00000 n -0001601771 00000 n -0001601814 00000 n -0001601858 00000 n -0001601901 00000 n -0001601969 00000 n -0001602175 00000 n -0001602274 00000 n -0001606440 00000 n -0001606771 00000 n -0001607193 00000 n -0001607236 00000 n -0001607279 00000 n -0001607347 00000 n -0001607581 00000 n -0001607680 00000 n -0001612037 00000 n -0001612368 00000 n -0001612790 00000 n -0001612858 00000 n -0001613092 00000 n -0001613191 00000 n -0001616267 00000 n -0001616433 00000 n -0001616764 00000 n -0001617186 00000 n -0001617230 00000 n -0001617273 00000 n -0001617315 00000 n -0001617358 00000 n -0001617401 00000 n -0001617469 00000 n -0001617689 00000 n -0001617788 00000 n -0001619522 00000 n -0001619853 00000 n -0001620275 00000 n -0001620343 00000 n -0001620563 00000 n -0001620662 00000 n -0001622903 00000 n -0001623234 00000 n -0001623656 00000 n -0001623699 00000 n -0001623767 00000 n -0001624016 00000 n -0001624115 00000 n -0001627989 00000 n -0001628031 00000 n -0001628099 00000 n -0001628347 00000 n -0001628446 00000 n -0001630843 00000 n -0001631174 00000 n -0001631596 00000 n -0001631664 00000 n -0001631899 00000 n -0001631998 00000 n -0001636539 00000 n -0001636870 00000 n -0001637292 00000 n -0001637360 00000 n -0001637623 00000 n -0001637722 00000 n -0001641602 00000 n -0001641768 00000 n -0001641934 00000 n -0001641976 00000 n -0001642018 00000 n -0001642349 00000 n -0001642771 00000 n -0001642839 00000 n -0001643116 00000 n -0001643215 00000 n -0001647509 00000 n -0001647674 00000 n -0001647742 00000 n -0001647962 00000 n -0001648061 00000 n -0001651784 00000 n -0001652115 00000 n -0001652537 00000 n -0001652580 00000 n -0001652648 00000 n -0001652882 00000 n -0001652981 00000 n -0001657094 00000 n -0001657260 00000 n -0001657591 00000 n -0001658013 00000 n -0001658056 00000 n -0001658124 00000 n -0001658401 00000 n -0001658500 00000 n -0001662660 00000 n -0001662991 00000 n -0001663413 00000 n -0001663455 00000 n -0001663498 00000 n -0001663566 00000 n -0001663829 00000 n -0001663928 00000 n -0001666395 00000 n -0001666726 00000 n -0001667148 00000 n -0001667216 00000 n -0001667436 00000 n -0001667535 00000 n -0001671188 00000 n -0001671519 00000 n -0001671941 00000 n -0001672009 00000 n -0001672243 00000 n -0001672342 00000 n -0001676029 00000 n -0001676360 00000 n -0001676782 00000 n -0001676825 00000 n -0001676868 00000 n -0001676936 00000 n -0001677185 00000 n -0001677284 00000 n -0001681942 00000 n -0001682109 00000 n -0001682440 00000 n -0001682862 00000 n -0001682930 00000 n -0001683164 00000 n -0001683263 00000 n -0001684579 00000 n -0001684745 00000 n -0001684911 00000 n -0001685077 00000 n -0001685243 00000 n -0001685409 00000 n -0001685575 00000 n -0001685741 00000 n -0001685907 00000 n -0001686073 00000 n -0001686115 00000 n -0001686157 00000 n -0001686199 00000 n -0001686241 00000 n -0001686413 00000 n -0001686744 00000 n -0001687166 00000 n -0001687396 00000 n -0001687936 00000 n -0001702729 00000 n -0001702797 00000 n -0001703017 00000 n -0001703116 00000 n -0001706667 00000 n -0001706998 00000 n -0001707420 00000 n -0001707488 00000 n -0001707722 00000 n -0001707821 00000 n -0001712680 00000 n -0001712848 00000 n -0001713179 00000 n -0001713601 00000 n -0001713644 00000 n -0001713687 00000 n -0001713755 00000 n -0001713990 00000 n -0001714089 00000 n -0001718239 00000 n -0001718378 00000 n -0001718517 00000 n -0001718656 00000 n -0001718795 00000 n -0001718934 00000 n -0001719073 00000 n -0001719212 00000 n -0001719351 00000 n -0001719490 00000 n -0001719629 00000 n -0001719768 00000 n -0001719907 00000 n -0001720046 00000 n -0001720185 00000 n -0001720324 00000 n -0001720463 00000 n -0001720602 00000 n -0001720741 00000 n -0001720880 00000 n -0001721019 00000 n -0001721158 00000 n -0001721297 00000 n -0001721436 00000 n -0001721575 00000 n -0001721714 00000 n -0001721853 00000 n -0001721992 00000 n -0001722131 00000 n -0001722270 00000 n -0001722409 00000 n -0001722548 00000 n -0001722687 00000 n -0001722826 00000 n -0001722965 00000 n -0001723104 00000 n -0001723243 00000 n -0001723382 00000 n -0001723521 00000 n -0001723660 00000 n -0001723799 00000 n -0001723938 00000 n -0001724077 00000 n -0001724216 00000 n -0001724355 00000 n -0001724494 00000 n -0001724633 00000 n -0001724772 00000 n -0001724911 00000 n -0001725050 00000 n -0001725189 00000 n -0001725328 00000 n -0001725467 00000 n -0001725606 00000 n -0001725745 00000 n -0001725884 00000 n -0001726023 00000 n -0001726162 00000 n -0001726301 00000 n -0001726440 00000 n -0001726579 00000 n -0001726718 00000 n -0001726857 00000 n -0001726996 00000 n -0001727135 00000 n -0001727274 00000 n -0001727413 00000 n -0001727552 00000 n -0001727691 00000 n -0001727830 00000 n -0001727969 00000 n -0001728108 00000 n -0001728247 00000 n -0001728386 00000 n -0001728525 00000 n -0001728664 00000 n -0001728803 00000 n -0001728942 00000 n -0001729081 00000 n -0001729220 00000 n -0001729359 00000 n -0001729498 00000 n -0001729637 00000 n -0001729776 00000 n -0001729915 00000 n -0001730054 00000 n -0001730193 00000 n -0001730332 00000 n -0001730471 00000 n -0001730610 00000 n -0001730749 00000 n -0001730888 00000 n -0001731027 00000 n -0001731166 00000 n -0001731305 00000 n -0001731444 00000 n -0001731583 00000 n -0001731722 00000 n -0001731861 00000 n -0001732000 00000 n -0001732139 00000 n -0001732278 00000 n -0001732417 00000 n -0001732556 00000 n -0001732695 00000 n -0001732834 00000 n -0001732973 00000 n -0001733112 00000 n -0001733251 00000 n -0001733390 00000 n -0001733529 00000 n -0001733668 00000 n -0001733807 00000 n -0001733946 00000 n -0001734085 00000 n -0001734224 00000 n -0001734363 00000 n -0001734502 00000 n -0001734641 00000 n -0001734780 00000 n -0001734919 00000 n -0001735058 00000 n -0001735197 00000 n -0001735336 00000 n -0001735475 00000 n -0001735614 00000 n -0001735753 00000 n -0001735892 00000 n -0001736031 00000 n -0001736170 00000 n -0001736309 00000 n -0001736448 00000 n -0001736587 00000 n -0001736726 00000 n -0001736865 00000 n -0001737004 00000 n -0001737143 00000 n -0001737282 00000 n -0001737421 00000 n -0001737560 00000 n -0001737699 00000 n -0001737838 00000 n -0001737977 00000 n -0001738116 00000 n -0001738255 00000 n -0001738394 00000 n -0001738533 00000 n -0001738672 00000 n -0001738811 00000 n -0001738950 00000 n -0001739089 00000 n -0001739228 00000 n -0001739367 00000 n -0001739506 00000 n -0001739645 00000 n -0001739784 00000 n -0001739923 00000 n -0001740062 00000 n -0001740201 00000 n -0001740340 00000 n -0001740479 00000 n -0001740618 00000 n -0001740757 00000 n -0001740896 00000 n -0001741035 00000 n -0001741174 00000 n -0001741313 00000 n -0001741452 00000 n -0001741591 00000 n -0001741730 00000 n -0001741869 00000 n -0001742008 00000 n -0001742147 00000 n -0001742286 00000 n -0001742425 00000 n -0001742564 00000 n -0001742703 00000 n -0001742842 00000 n -0001742981 00000 n -0001743120 00000 n -0001743259 00000 n -0001743398 00000 n -0001743537 00000 n -0001743676 00000 n -0001743815 00000 n -0001743954 00000 n -0001744093 00000 n -0001744232 00000 n -0001744371 00000 n -0001744510 00000 n -0001744649 00000 n -0001744788 00000 n -0001744927 00000 n -0001745066 00000 n -0001745205 00000 n -0001745344 00000 n -0001745483 00000 n -0001745622 00000 n -0001745761 00000 n -0001745900 00000 n -0001746039 00000 n -0001746178 00000 n -0001746317 00000 n -0001746456 00000 n -0001746595 00000 n -0001746734 00000 n -0001746873 00000 n -0001747012 00000 n -0001747151 00000 n -0001747290 00000 n -0001747333 00000 n -0001747376 00000 n -0001747419 00000 n -0001747462 00000 n -0001747505 00000 n -0001747548 00000 n -0001747591 00000 n -0001747634 00000 n -0001747677 00000 n -0001747720 00000 n -0001747763 00000 n -0001747806 00000 n -0001747849 00000 n -0001747892 00000 n -0001747935 00000 n -0001747978 00000 n -0001748021 00000 n -0001748064 00000 n -0001748107 00000 n -0001748150 00000 n -0001748193 00000 n -0001748236 00000 n -0001748279 00000 n -0001748322 00000 n -0001748365 00000 n -0001748408 00000 n -0001748451 00000 n -0001748494 00000 n -0001748537 00000 n -0001748580 00000 n -0001748623 00000 n -0001748666 00000 n -0001748709 00000 n -0001748752 00000 n -0001748795 00000 n -0001748838 00000 n -0001748881 00000 n -0001748924 00000 n -0001748967 00000 n -0001749010 00000 n -0001749053 00000 n -0001749096 00000 n -0001749139 00000 n -0001749182 00000 n -0001749225 00000 n -0001749268 00000 n -0001749311 00000 n -0001749354 00000 n -0001749397 00000 n -0001749440 00000 n -0001749483 00000 n -0001749526 00000 n -0001749569 00000 n -0001749612 00000 n -0001749655 00000 n -0001749698 00000 n -0001750029 00000 n -0001750451 00000 n -0001750494 00000 n -0001750562 00000 n -0001750782 00000 n -0001750881 00000 n -0001752951 00000 n -0001753282 00000 n -0001753704 00000 n -0001753772 00000 n -0001753992 00000 n -0001754091 00000 n -0001758400 00000 n -0001758731 00000 n -0001759153 00000 n -0001759221 00000 n -0001759455 00000 n -0001759554 00000 n -0001763511 00000 n -0001763677 00000 n -0001764008 00000 n -0001764430 00000 n -0001764473 00000 n -0001764516 00000 n -0001764559 00000 n -0001764602 00000 n -0001764645 00000 n -0001764688 00000 n -0001764731 00000 n -0001764774 00000 n -0001764842 00000 n -0001765076 00000 n -0001765175 00000 n -0001769407 00000 n -0001769738 00000 n -0001770160 00000 n -0001770204 00000 n -0001770247 00000 n -0001770291 00000 n -0001770359 00000 n -0001770579 00000 n -0001770678 00000 n -0001773051 00000 n -0001773382 00000 n -0001773804 00000 n -0001773847 00000 n -0001773915 00000 n -0001774163 00000 n -0001774262 00000 n -0001777033 00000 n -0001777364 00000 n -0001777786 00000 n -0001777854 00000 n -0001778103 00000 n -0001778202 00000 n -0001782131 00000 n -0001782297 00000 n -0001782339 00000 n -0001782670 00000 n -0001783092 00000 n -0001783135 00000 n -0001783203 00000 n -0001783423 00000 n -0001783522 00000 n -0001785304 00000 n -0001785635 00000 n -0001786057 00000 n -0001786101 00000 n -0001786144 00000 n -0001786185 00000 n -0001786227 00000 n -0001786295 00000 n -0001786544 00000 n -0001786643 00000 n -0001790833 00000 n -0001791164 00000 n -0001791586 00000 n -0001791629 00000 n -0001791697 00000 n -0001791960 00000 n -0001792059 00000 n -0001794550 00000 n -0001794881 00000 n -0001795303 00000 n -0001795371 00000 n -0001795634 00000 n -0001795733 00000 n -0001799973 00000 n -0001800304 00000 n -0001800726 00000 n -0001800769 00000 n -0001800812 00000 n -0001800880 00000 n -0001801114 00000 n -0001801213 00000 n -0001804716 00000 n -0001804883 00000 n -0001805214 00000 n -0001805636 00000 n -0001805704 00000 n -0001805924 00000 n -0001806023 00000 n -0001808764 00000 n -0001809095 00000 n -0001809517 00000 n -0001809560 00000 n -0001809798 00000 n -0001810090 00000 n -0001813210 00000 n -0001813252 00000 n -0001813320 00000 n -0001813540 00000 n -0001813639 00000 n -0001816367 00000 n -0001816698 00000 n -0001817120 00000 n -0001817163 00000 n -0001817206 00000 n -0001817274 00000 n -0001817494 00000 n -0001817593 00000 n -0001819230 00000 n -0001819561 00000 n -0001819983 00000 n -0001820051 00000 n -0001820271 00000 n -0001820370 00000 n -0001824652 00000 n -0001824791 00000 n -0001824930 00000 n -0001825069 00000 n -0001825208 00000 n -0001825347 00000 n -0001825486 00000 n -0001825625 00000 n -0001825764 00000 n -0001825903 00000 n -0001826042 00000 n -0001826181 00000 n -0001826320 00000 n -0001826459 00000 n -0001826598 00000 n -0001826737 00000 n -0001826876 00000 n -0001827015 00000 n -0001827154 00000 n -0001827293 00000 n -0001827432 00000 n -0001827571 00000 n -0001827710 00000 n -0001827849 00000 n -0001827988 00000 n -0001828127 00000 n -0001828266 00000 n -0001828405 00000 n -0001828544 00000 n -0001828683 00000 n -0001828822 00000 n -0001828961 00000 n -0001829100 00000 n -0001829239 00000 n -0001829378 00000 n -0001829517 00000 n -0001829656 00000 n -0001829795 00000 n -0001829934 00000 n -0001830073 00000 n -0001830212 00000 n -0001830351 00000 n -0001830490 00000 n -0001830629 00000 n -0001830768 00000 n -0001830907 00000 n -0001831046 00000 n -0001831185 00000 n -0001831324 00000 n -0001831463 00000 n -0001831602 00000 n -0001831741 00000 n -0001831880 00000 n -0001832019 00000 n -0001832158 00000 n -0001832297 00000 n -0001832436 00000 n -0001832575 00000 n -0001832714 00000 n -0001832853 00000 n -0001832992 00000 n -0001833131 00000 n -0001833270 00000 n -0001833409 00000 n -0001833548 00000 n -0001833687 00000 n -0001833826 00000 n -0001833965 00000 n -0001834104 00000 n -0001834243 00000 n -0001834382 00000 n -0001834521 00000 n -0001834660 00000 n -0001834799 00000 n -0001834938 00000 n -0001835077 00000 n -0001835216 00000 n -0001835355 00000 n -0001835494 00000 n -0001835633 00000 n -0001835772 00000 n -0001835911 00000 n -0001836050 00000 n -0001836189 00000 n -0001836328 00000 n -0001836467 00000 n -0001836606 00000 n -0001836745 00000 n -0001836884 00000 n -0001837023 00000 n -0001837162 00000 n -0001837301 00000 n -0001837440 00000 n -0001837579 00000 n -0001837718 00000 n -0001837857 00000 n -0001837996 00000 n -0001838135 00000 n -0001838274 00000 n -0001838413 00000 n -0001838552 00000 n -0001838691 00000 n -0001838830 00000 n -0001838969 00000 n -0001839108 00000 n -0001839247 00000 n -0001839386 00000 n -0001839525 00000 n -0001839664 00000 n -0001839803 00000 n -0001839942 00000 n -0001840081 00000 n -0001840220 00000 n -0001840359 00000 n -0001840498 00000 n -0001840637 00000 n -0001840776 00000 n -0001840915 00000 n -0001841054 00000 n -0001841193 00000 n -0001841332 00000 n -0001841471 00000 n -0001841610 00000 n -0001841749 00000 n -0001841888 00000 n -0001842027 00000 n -0001842166 00000 n -0001842305 00000 n -0001842444 00000 n -0001842583 00000 n -0001842722 00000 n -0001842861 00000 n -0001843000 00000 n -0001843139 00000 n -0001843278 00000 n -0001843417 00000 n -0001843556 00000 n -0001843695 00000 n -0001843834 00000 n -0001843973 00000 n -0001844112 00000 n -0001844251 00000 n -0001844390 00000 n -0001844529 00000 n -0001844668 00000 n -0001844807 00000 n -0001844946 00000 n -0001845085 00000 n -0001845224 00000 n -0001845363 00000 n -0001845502 00000 n -0001845641 00000 n -0001845780 00000 n -0001845919 00000 n -0001846058 00000 n -0001846197 00000 n -0001846336 00000 n -0001846475 00000 n -0001846614 00000 n -0001846753 00000 n -0001846892 00000 n -0001847031 00000 n -0001847170 00000 n -0001847309 00000 n -0001847448 00000 n -0001847587 00000 n -0001847726 00000 n -0001847865 00000 n -0001848004 00000 n -0001848143 00000 n -0001848282 00000 n -0001848421 00000 n -0001848560 00000 n -0001848699 00000 n -0001848838 00000 n -0001848977 00000 n -0001849116 00000 n -0001849255 00000 n -0001849394 00000 n -0001849533 00000 n -0001849672 00000 n -0001849811 00000 n -0001849950 00000 n -0001850089 00000 n -0001850228 00000 n -0001850367 00000 n -0001850506 00000 n -0001850645 00000 n -0001850784 00000 n -0001850923 00000 n -0001851062 00000 n -0001851201 00000 n -0001851340 00000 n -0001851479 00000 n -0001851618 00000 n -0001851757 00000 n -0001851896 00000 n -0001852035 00000 n -0001852174 00000 n -0001852313 00000 n -0001852452 00000 n -0001852591 00000 n -0001852730 00000 n -0001852869 00000 n -0001853008 00000 n -0001853147 00000 n -0001853286 00000 n -0001853425 00000 n -0001853564 00000 n -0001853703 00000 n -0001853842 00000 n -0001853981 00000 n -0001854120 00000 n -0001854259 00000 n -0001854398 00000 n -0001854537 00000 n -0001854676 00000 n -0001854815 00000 n -0001854954 00000 n -0001855093 00000 n -0001855232 00000 n -0001855371 00000 n -0001855510 00000 n -0001855649 00000 n -0001855788 00000 n -0001855927 00000 n -0001856066 00000 n -0001856205 00000 n -0001856344 00000 n -0001856483 00000 n -0001856622 00000 n -0001856761 00000 n -0001856900 00000 n -0001857039 00000 n -0001857178 00000 n -0001857317 00000 n -0001857456 00000 n -0001857595 00000 n -0001857734 00000 n -0001857873 00000 n -0001858012 00000 n -0001858151 00000 n -0001858290 00000 n -0001858429 00000 n -0001858568 00000 n -0001858707 00000 n -0001858846 00000 n -0001858985 00000 n -0001859124 00000 n -0001859263 00000 n -0001859402 00000 n -0001859541 00000 n -0001859680 00000 n -0001859819 00000 n -0001859958 00000 n -0001860097 00000 n -0001860236 00000 n -0001860375 00000 n -0001860514 00000 n -0001860653 00000 n -0001860792 00000 n -0001860931 00000 n -0001861070 00000 n -0001861209 00000 n -0001861348 00000 n -0001861487 00000 n -0001861626 00000 n -0001861765 00000 n -0001861904 00000 n -0001862043 00000 n -0001862182 00000 n -0001862321 00000 n -0001862460 00000 n -0001862599 00000 n -0001862738 00000 n -0001862877 00000 n -0001863016 00000 n -0001863155 00000 n -0001863294 00000 n -0001863433 00000 n -0001863572 00000 n -0001863711 00000 n -0001863850 00000 n -0001863989 00000 n -0001864128 00000 n -0001864267 00000 n -0001864406 00000 n -0001864545 00000 n -0001864684 00000 n -0001864823 00000 n -0001864962 00000 n -0001865101 00000 n -0001865240 00000 n -0001865379 00000 n -0001865518 00000 n -0001865657 00000 n -0001865796 00000 n -0001865935 00000 n -0001866074 00000 n -0001866213 00000 n -0001866352 00000 n -0001866491 00000 n -0001866630 00000 n -0001866769 00000 n -0001866908 00000 n -0001867047 00000 n -0001867186 00000 n -0001867517 00000 n -0001867939 00000 n -0001868007 00000 n -0001868256 00000 n -0001868355 00000 n -0001871706 00000 n -0001871774 00000 n -0001872023 00000 n -0001872122 00000 n -0001876877 00000 n -0001876920 00000 n -0001876961 00000 n -0001877004 00000 n -0001877047 00000 n -0001877090 00000 n -0001877133 00000 n -0001877201 00000 n -0001877421 00000 n -0001877520 00000 n -0001880136 00000 n -0001880467 00000 n -0001880889 00000 n -0001880957 00000 n -0001881220 00000 n -0001881319 00000 n -0001885922 00000 n -0001886088 00000 n -0001886419 00000 n -0001886841 00000 n -0001886909 00000 n -0001887158 00000 n -0001887257 00000 n -0001891025 00000 n -0001891356 00000 n -0001891778 00000 n -0001891821 00000 n -0001891863 00000 n -0001891931 00000 n -0001892151 00000 n -0001892250 00000 n -0001895477 00000 n -0001895518 00000 n -0001895561 00000 n -0001895629 00000 n -0001895863 00000 n -0001895962 00000 n -0001900632 00000 n -0001900799 00000 n -0001901130 00000 n -0001901552 00000 n -0001901595 00000 n -0001901638 00000 n -0001901681 00000 n -0001901749 00000 n -0001901983 00000 n -0001902082 00000 n -0001906580 00000 n -0001906911 00000 n -0001907333 00000 n -0001907401 00000 n -0001907650 00000 n -0001907749 00000 n -0001912768 00000 n -0001913099 00000 n -0001913521 00000 n -0001913564 00000 n -0001913605 00000 n -0001913673 00000 n -0001913922 00000 n -0001914021 00000 n -0001918390 00000 n -0001918721 00000 n -0001919143 00000 n -0001919186 00000 n -0001919229 00000 n -0001919272 00000 n -0001919340 00000 n -0001919574 00000 n -0001919673 00000 n -0001923122 00000 n -0001923289 00000 n -0001923620 00000 n -0001924042 00000 n -0001924085 00000 n -0001924128 00000 n -0001924196 00000 n -0001924430 00000 n -0001924529 00000 n -0001927556 00000 n -0001927887 00000 n -0001928309 00000 n -0001928377 00000 n -0001928626 00000 n -0001928725 00000 n -0001931874 00000 n -0001932205 00000 n -0001932627 00000 n -0001932695 00000 n -0001932945 00000 n -0001933044 00000 n -0001935339 00000 n -0001935505 00000 n -0001935836 00000 n -0001936258 00000 n -0001936299 00000 n -0001936342 00000 n -0001936410 00000 n -0001936630 00000 n -0001936729 00000 n -0001940075 00000 n -0001940406 00000 n -0001940828 00000 n -0001940871 00000 n -0001940914 00000 n -0001940982 00000 n -0001941231 00000 n -0001941330 00000 n -0001945691 00000 n -0001945857 00000 n -0001946188 00000 n -0001946610 00000 n -0001946653 00000 n -0001946721 00000 n -0001946970 00000 n -0001947069 00000 n -0001951014 00000 n -0001951345 00000 n -0001951767 00000 n -0001951810 00000 n -0001951878 00000 n -0001952127 00000 n -0001952226 00000 n -0001956379 00000 n -0001956710 00000 n -0001957132 00000 n -0001957173 00000 n -0001957216 00000 n -0001957259 00000 n -0001957327 00000 n -0001957604 00000 n -0001957703 00000 n -0001961886 00000 n -0001962051 00000 n -0001962382 00000 n -0001962804 00000 n -0001962847 00000 n -0001962915 00000 n -0001963164 00000 n -0001963263 00000 n -0001967050 00000 n -0001967217 00000 n -0001967548 00000 n -0001967970 00000 n -0001968013 00000 n -0001968081 00000 n -0001968316 00000 n -0001968415 00000 n -0001971673 00000 n -0001972004 00000 n -0001972426 00000 n -0001972494 00000 n -0001972684 00000 n -0001972783 00000 n -0001973001 00000 n -0001973332 00000 n -0001973754 00000 n -0001973797 00000 n -0001973838 00000 n -0001973881 00000 n -0001973949 00000 n -0001974169 00000 n -0001974268 00000 n -0001977407 00000 n -0001977738 00000 n -0001978160 00000 n -0001978203 00000 n -0001978246 00000 n -0001978314 00000 n -0001978534 00000 n -0001978633 00000 n -0001981866 00000 n -0001982197 00000 n -0001982619 00000 n -0001982662 00000 n -0001982705 00000 n -0001982773 00000 n -0001983022 00000 n -0001983121 00000 n -0001986952 00000 n -0001987119 00000 n -0001987450 00000 n -0001987872 00000 n -0001987915 00000 n -0001987958 00000 n -0001988001 00000 n -0001988044 00000 n -0001988112 00000 n -0001988361 00000 n -0001988460 00000 n -0001992797 00000 n -0001992963 00000 n -0001993294 00000 n -0001993716 00000 n -0001993759 00000 n -0001993827 00000 n -0001994062 00000 n -0001994161 00000 n -0001998577 00000 n -0001998908 00000 n -0001999330 00000 n -0001999398 00000 n -0001999633 00000 n -0001999732 00000 n -0002004386 00000 n -0002004717 00000 n -0002005139 00000 n -0002005182 00000 n -0002005225 00000 n -0002005268 00000 n -0002005336 00000 n -0002005585 00000 n -0002005684 00000 n -0002009466 00000 n -0002009629 00000 n -0002009792 00000 n -0002009958 00000 n -0002010289 00000 n -0002010711 00000 n -0002010779 00000 n -0002011056 00000 n -0002011155 00000 n -0002015095 00000 n -0002015257 00000 n -0002015588 00000 n -0002016010 00000 n -0002016078 00000 n -0002016326 00000 n -0002016425 00000 n -0002020765 00000 n -0002021096 00000 n -0002021518 00000 n -0002021561 00000 n -0002021604 00000 n -0002021647 00000 n -0002021690 00000 n -0002021733 00000 n -0002021801 00000 n -0002022021 00000 n -0002022120 00000 n -0002025681 00000 n -0002026012 00000 n -0002026434 00000 n -0002026477 00000 n -0002026520 00000 n -0002026588 00000 n -0002026808 00000 n -0002026907 00000 n -0002031735 00000 n -0002032066 00000 n -0002032488 00000 n -0002032556 00000 n -0002032804 00000 n -0002032903 00000 n -0002037162 00000 n -0002037493 00000 n -0002037915 00000 n -0002037983 00000 n -0002038276 00000 n -0002038375 00000 n -0002039962 00000 n -0002040126 00000 n -0002040457 00000 n -0002040879 00000 n -0002040922 00000 n -0002040990 00000 n -0002041224 00000 n -0002041323 00000 n -0002045958 00000 n -0002046125 00000 n -0002046456 00000 n -0002046878 00000 n -0002046921 00000 n -0002046989 00000 n -0002047209 00000 n -0002047308 00000 n -0002051451 00000 n -0002051618 00000 n -0002051784 00000 n -0002052115 00000 n -0002052537 00000 n -0002052580 00000 n -0002052623 00000 n -0002052691 00000 n -0002052926 00000 n -0002053025 00000 n -0002057280 00000 n -0002057611 00000 n -0002058033 00000 n -0002058076 00000 n -0002058144 00000 n -0002058407 00000 n -0002058506 00000 n -0002062336 00000 n -0002062667 00000 n -0002063089 00000 n -0002063157 00000 n -0002063405 00000 n -0002063504 00000 n -0002067507 00000 n -0002067673 00000 n -0002068004 00000 n -0002068426 00000 n -0002068469 00000 n -0002068512 00000 n -0002068555 00000 n -0002068623 00000 n -0002068843 00000 n -0002068942 00000 n -0002073186 00000 n -0002073517 00000 n -0002073939 00000 n -0002073982 00000 n -0002074025 00000 n -0002074093 00000 n -0002074327 00000 n -0002074426 00000 n -0002078570 00000 n -0002078737 00000 n -0002078904 00000 n -0002079235 00000 n -0002079657 00000 n -0002079725 00000 n -0002079945 00000 n -0002080044 00000 n -0002081788 00000 n -0002082119 00000 n -0002082541 00000 n -0002082584 00000 n -0002082652 00000 n -0002082929 00000 n -0002083028 00000 n -0002086455 00000 n -0002086621 00000 n -0002086952 00000 n -0002087374 00000 n -0002087705 00000 n -0002088127 00000 n -0002088170 00000 n -0002088213 00000 n -0002088256 00000 n -0002088324 00000 n -0002088574 00000 n -0002088673 00000 n -0002090585 00000 n -0002090752 00000 n -0002090919 00000 n -0002091086 00000 n -0002091417 00000 n -0002091839 00000 n -0002091882 00000 n -0002091950 00000 n -0002092170 00000 n -0002092269 00000 n -0002095360 00000 n -0002095691 00000 n -0002096113 00000 n -0002096156 00000 n -0002096224 00000 n -0002096474 00000 n -0002096573 00000 n -0002098872 00000 n -0002099038 00000 n -0002099369 00000 n -0002099791 00000 n -0002099859 00000 n -0002100093 00000 n -0002100192 00000 n -0002103781 00000 n -0002104112 00000 n -0002104534 00000 n -0002104577 00000 n -0002104620 00000 n -0002104663 00000 n -0002104731 00000 n -0002104966 00000 n -0002105065 00000 n -0002108915 00000 n -0002109246 00000 n -0002109668 00000 n -0002109711 00000 n -0002109779 00000 n -0002109999 00000 n -0002110098 00000 n -0002111680 00000 n -0002112011 00000 n -0002112433 00000 n -0002112476 00000 n -0002112544 00000 n -0002112793 00000 n -0002112892 00000 n -0002117517 00000 n -0002117684 00000 n -0002118015 00000 n -0002118437 00000 n -0002118480 00000 n -0002118523 00000 n -0002118591 00000 n -0002118781 00000 n -0002118880 00000 n -0002119098 00000 n -0002119429 00000 n -0002119851 00000 n -0002119894 00000 n -0002119937 00000 n -0002120005 00000 n -0002120195 00000 n -0002120294 00000 n -0002120512 00000 n -0002120843 00000 n -0002121265 00000 n -0002121308 00000 n -0002121376 00000 n -0002121625 00000 n -0002121724 00000 n -0002125361 00000 n -0002125692 00000 n -0002126114 00000 n -0002126182 00000 n -0002126431 00000 n -0002126530 00000 n -0002130218 00000 n -0002130549 00000 n -0002130971 00000 n -0002131039 00000 n -0002131273 00000 n -0002131372 00000 n -0002135041 00000 n -0002135372 00000 n -0002135794 00000 n -0002135837 00000 n -0002135880 00000 n -0002135923 00000 n -0002135966 00000 n -0002136009 00000 n -0002136077 00000 n -0002136297 00000 n -0002136396 00000 n -0002140651 00000 n -0002140982 00000 n -0002141404 00000 n -0002141472 00000 n -0002141721 00000 n -0002141820 00000 n -0002146703 00000 n -0002146866 00000 n -0002147197 00000 n -0002147619 00000 n -0002147662 00000 n -0002147730 00000 n -0002147950 00000 n -0002148049 00000 n -0002150226 00000 n -0002150557 00000 n -0002150979 00000 n -0002151047 00000 n -0002151296 00000 n -0002151395 00000 n -0002155940 00000 n -0002156271 00000 n -0002156693 00000 n -0002156736 00000 n -0002156804 00000 n -0002157038 00000 n -0002157137 00000 n -0002160686 00000 n -0002161017 00000 n -0002161439 00000 n -0002161482 00000 n -0002161525 00000 n -0002161568 00000 n -0002161636 00000 n -0002161871 00000 n -0002161970 00000 n -0002165895 00000 n -0002166226 00000 n -0002166648 00000 n -0002166716 00000 n -0002166951 00000 n -0002167050 00000 n -0002171368 00000 n -0002171699 00000 n -0002172121 00000 n -0002172189 00000 n -0002172452 00000 n -0002172551 00000 n -0002176462 00000 n -0002176627 00000 n -0002176958 00000 n -0002177380 00000 n -0002177423 00000 n -0002177491 00000 n -0002177726 00000 n -0002177825 00000 n -0002183050 00000 n -0002183093 00000 n -0002183136 00000 n -0002183204 00000 n -0002183424 00000 n -0002183523 00000 n -0002187827 00000 n -0002188158 00000 n -0002188580 00000 n -0002188623 00000 n -0002188691 00000 n -0002188911 00000 n -0002189010 00000 n -0002191739 00000 n -0002192070 00000 n -0002192492 00000 n -0002192535 00000 n -0002192577 00000 n -0002192620 00000 n -0002192662 00000 n -0002192705 00000 n -0002192773 00000 n -0002193022 00000 n -0002193121 00000 n -0002196835 00000 n -0002197002 00000 n -0002197333 00000 n -0002197755 00000 n -0002197823 00000 n -0002198086 00000 n -0002198185 00000 n -0002201408 00000 n -0002201739 00000 n -0002202161 00000 n -0002202229 00000 n -0002202464 00000 n -0002202563 00000 n -0002206514 00000 n -0002206654 00000 n -0002206794 00000 n -0002206934 00000 n -0002207074 00000 n -0002207214 00000 n -0002207354 00000 n -0002207494 00000 n -0002207634 00000 n -0002207774 00000 n -0002207914 00000 n -0002208054 00000 n -0002208194 00000 n -0002208334 00000 n -0002208474 00000 n -0002208614 00000 n -0002208754 00000 n -0002208894 00000 n -0002209034 00000 n -0002209174 00000 n -0002209314 00000 n -0002209454 00000 n -0002209594 00000 n -0002209734 00000 n -0002209874 00000 n -0002210014 00000 n -0002210154 00000 n -0002210294 00000 n -0002210434 00000 n -0002210574 00000 n -0002210714 00000 n -0002210854 00000 n -0002210994 00000 n -0002211134 00000 n -0002211274 00000 n -0002211414 00000 n -0002211554 00000 n -0002211694 00000 n -0002211834 00000 n -0002211974 00000 n -0002212114 00000 n -0002212254 00000 n -0002212394 00000 n -0002212534 00000 n -0002212674 00000 n -0002212814 00000 n -0002212954 00000 n -0002213094 00000 n -0002213234 00000 n -0002213374 00000 n -0002213514 00000 n -0002213654 00000 n -0002213794 00000 n -0002213934 00000 n -0002214074 00000 n -0002214214 00000 n -0002214354 00000 n -0002214494 00000 n -0002214634 00000 n -0002214774 00000 n -0002214914 00000 n -0002215054 00000 n -0002215194 00000 n -0002215334 00000 n -0002215474 00000 n -0002215614 00000 n -0002215754 00000 n -0002215894 00000 n -0002216034 00000 n -0002216174 00000 n -0002216314 00000 n -0002216454 00000 n -0002216594 00000 n -0002216734 00000 n -0002216874 00000 n -0002217014 00000 n -0002217154 00000 n -0002217294 00000 n -0002217434 00000 n -0002217574 00000 n -0002217714 00000 n -0002217854 00000 n -0002217994 00000 n -0002218134 00000 n -0002218274 00000 n -0002218414 00000 n -0002218554 00000 n -0002218694 00000 n -0002218834 00000 n -0002218974 00000 n -0002219114 00000 n -0002219254 00000 n -0002219394 00000 n -0002219534 00000 n -0002219674 00000 n -0002219814 00000 n -0002219954 00000 n -0002220094 00000 n -0002220234 00000 n -0002220374 00000 n -0002220514 00000 n -0002220654 00000 n -0002220794 00000 n -0002220934 00000 n -0002221074 00000 n -0002221214 00000 n -0002221354 00000 n -0002221494 00000 n -0002221634 00000 n -0002221774 00000 n -0002221914 00000 n -0002222054 00000 n -0002222194 00000 n -0002222334 00000 n -0002222474 00000 n -0002222614 00000 n -0002222754 00000 n -0002222894 00000 n -0002223034 00000 n -0002223174 00000 n -0002223314 00000 n -0002223454 00000 n -0002223594 00000 n -0002223734 00000 n -0002223874 00000 n -0002224014 00000 n -0002224154 00000 n -0002224294 00000 n -0002224434 00000 n -0002224574 00000 n -0002224714 00000 n -0002224854 00000 n -0002224994 00000 n -0002225134 00000 n -0002225274 00000 n -0002225414 00000 n -0002225554 00000 n -0002225694 00000 n -0002225834 00000 n -0002225974 00000 n -0002226114 00000 n -0002226254 00000 n -0002226394 00000 n -0002226534 00000 n -0002226674 00000 n -0002226814 00000 n -0002226954 00000 n -0002227094 00000 n -0002227234 00000 n -0002227374 00000 n -0002227514 00000 n -0002227654 00000 n -0002227794 00000 n -0002227934 00000 n -0002228074 00000 n -0002228214 00000 n -0002228354 00000 n -0002228494 00000 n -0002228634 00000 n -0002228774 00000 n -0002228914 00000 n -0002229054 00000 n -0002229194 00000 n -0002229334 00000 n -0002229474 00000 n -0002229614 00000 n -0002229754 00000 n -0002229894 00000 n -0002230034 00000 n -0002230174 00000 n -0002230314 00000 n -0002230454 00000 n -0002230594 00000 n -0002230734 00000 n -0002230874 00000 n -0002231014 00000 n -0002231154 00000 n -0002231294 00000 n -0002231434 00000 n -0002231574 00000 n -0002231714 00000 n -0002231854 00000 n -0002231994 00000 n -0002232134 00000 n -0002232274 00000 n -0002232414 00000 n -0002232554 00000 n -0002232694 00000 n -0002232834 00000 n -0002232974 00000 n -0002233114 00000 n -0002233254 00000 n -0002233394 00000 n -0002233534 00000 n -0002233674 00000 n -0002233814 00000 n -0002233954 00000 n -0002234094 00000 n -0002234234 00000 n -0002234374 00000 n -0002234514 00000 n -0002234654 00000 n -0002234794 00000 n -0002234934 00000 n -0002235074 00000 n -0002235214 00000 n -0002235354 00000 n -0002235494 00000 n -0002235634 00000 n -0002235774 00000 n -0002235914 00000 n -0002236054 00000 n -0002236194 00000 n -0002236334 00000 n -0002236474 00000 n -0002236614 00000 n -0002236754 00000 n -0002236894 00000 n -0002237034 00000 n -0002237174 00000 n -0002237314 00000 n -0002237454 00000 n -0002237594 00000 n -0002237734 00000 n -0002237874 00000 n -0002238014 00000 n -0002238154 00000 n -0002238294 00000 n -0002238434 00000 n -0002238574 00000 n -0002238714 00000 n -0002238854 00000 n -0002238994 00000 n -0002239134 00000 n -0002239274 00000 n -0002239414 00000 n -0002239554 00000 n -0002239694 00000 n -0002239834 00000 n -0002239974 00000 n -0002240114 00000 n -0002240254 00000 n -0002240394 00000 n -0002240534 00000 n -0002240674 00000 n -0002240814 00000 n -0002240954 00000 n -0002241094 00000 n -0002241234 00000 n -0002241374 00000 n -0002241514 00000 n -0002241654 00000 n -0002241794 00000 n -0002241934 00000 n -0002242074 00000 n -0002242214 00000 n -0002242354 00000 n -0002242494 00000 n -0002242634 00000 n -0002242774 00000 n -0002242914 00000 n -0002243054 00000 n -0002243194 00000 n -0002243334 00000 n -0002243474 00000 n -0002243614 00000 n -0002243754 00000 n -0002243894 00000 n -0002244034 00000 n -0002244174 00000 n -0002244314 00000 n -0002244454 00000 n -0002244594 00000 n -0002244638 00000 n -0002244682 00000 n -0002244725 00000 n -0002244769 00000 n -0002244812 00000 n -0002244856 00000 n -0002244900 00000 n -0002244943 00000 n -0002244987 00000 n -0002245031 00000 n -0002245074 00000 n -0002245118 00000 n -0002245161 00000 n -0002245205 00000 n -0002245248 00000 n -0002245292 00000 n -0002245335 00000 n -0002245379 00000 n -0002245422 00000 n -0002245466 00000 n -0002245510 00000 n -0002245553 00000 n -0002245597 00000 n -0002245640 00000 n -0002245684 00000 n -0002245728 00000 n -0002245772 00000 n -0002245815 00000 n -0002245859 00000 n -0002245903 00000 n -0002245947 00000 n -0002245991 00000 n -0002246035 00000 n -0002246079 00000 n -0002246123 00000 n -0002246167 00000 n -0002246211 00000 n -0002246255 00000 n -0002246586 00000 n -0002247008 00000 n -0002247052 00000 n -0002247095 00000 n -0002247138 00000 n -0002247206 00000 n -0002247441 00000 n -0002247540 00000 n -0002251181 00000 n -0002251512 00000 n -0002251934 00000 n -0002251978 00000 n -0002252046 00000 n -0002252266 00000 n -0002252365 00000 n -0002256416 00000 n -0002256747 00000 n -0002257169 00000 n -0002257212 00000 n -0002257255 00000 n -0002257323 00000 n -0002257557 00000 n -0002257656 00000 n -0002260721 00000 n -0002261052 00000 n -0002261474 00000 n -0002261805 00000 n -0002262227 00000 n -0002262270 00000 n -0002262313 00000 n -0002262356 00000 n -0002262399 00000 n -0002262467 00000 n -0002262687 00000 n -0002262786 00000 n -0002266064 00000 n -0002266395 00000 n -0002266817 00000 n -0002266861 00000 n -0002266929 00000 n -0002267149 00000 n -0002267248 00000 n -0002268822 00000 n -0002269153 00000 n -0002269575 00000 n -0002269643 00000 n -0002269892 00000 n -0002269991 00000 n -0002274782 00000 n -0002275113 00000 n -0002275535 00000 n -0002275578 00000 n -0002275646 00000 n -0002275895 00000 n -0002275994 00000 n -0002279295 00000 n -0002279461 00000 n -0002279504 00000 n -0002279572 00000 n -0002279849 00000 n -0002279948 00000 n -0002284275 00000 n -0002284440 00000 n -0002284771 00000 n -0002285193 00000 n -0002285236 00000 n -0002285304 00000 n -0002285524 00000 n -0002285623 00000 n -0002288104 00000 n -0002288435 00000 n -0002288857 00000 n -0002288901 00000 n -0002288944 00000 n -0002288987 00000 n -0002289055 00000 n -0002289289 00000 n -0002289388 00000 n -0002293039 00000 n -0002293205 00000 n -0002293536 00000 n -0002293958 00000 n -0002294001 00000 n -0002294044 00000 n -0002294112 00000 n -0002294346 00000 n -0002294445 00000 n -0002297796 00000 n -0002297963 00000 n -0002298294 00000 n -0002298716 00000 n -0002298759 00000 n -0002298803 00000 n -0002298871 00000 n -0002299120 00000 n -0002299219 00000 n -0002301126 00000 n -0002301457 00000 n -0002301879 00000 n -0002301947 00000 n -0002302181 00000 n -0002302280 00000 n -0002305682 00000 n -0002306013 00000 n -0002306435 00000 n -0002306503 00000 n -0002306723 00000 n -0002306822 00000 n -0002309619 00000 n -0002309950 00000 n -0002310372 00000 n -0002310415 00000 n -0002310483 00000 n -0002310732 00000 n -0002310831 00000 n -0002315977 00000 n -0002316308 00000 n -0002316730 00000 n -0002316773 00000 n -0002316816 00000 n -0002316860 00000 n -0002316928 00000 n -0002317177 00000 n -0002317276 00000 n -0002320916 00000 n -0002321079 00000 n -0002321410 00000 n -0002321832 00000 n -0002321875 00000 n -0002321943 00000 n -0002322206 00000 n -0002322305 00000 n -0002326421 00000 n -0002326585 00000 n -0002326627 00000 n -0002326958 00000 n -0002327380 00000 n -0002327448 00000 n -0002327697 00000 n -0002327796 00000 n -0002330823 00000 n -0002330990 00000 n -0002331033 00000 n -0002331364 00000 n -0002331786 00000 n -0002331854 00000 n -0002332103 00000 n -0002332202 00000 n -0002335676 00000 n -0002335842 00000 n -0002336173 00000 n -0002336595 00000 n -0002336638 00000 n -0002336681 00000 n -0002336749 00000 n -0002336969 00000 n -0002337068 00000 n -0002341439 00000 n -0002341770 00000 n -0002342192 00000 n -0002342235 00000 n -0002342278 00000 n -0002342346 00000 n -0002342595 00000 n -0002342694 00000 n -0002347090 00000 n -0002347421 00000 n -0002347843 00000 n -0002347911 00000 n -0002348160 00000 n -0002348259 00000 n -0002351746 00000 n -0002351912 00000 n -0002352243 00000 n -0002352665 00000 n -0002352708 00000 n -0002352751 00000 n -0002352819 00000 n -0002353009 00000 n -0002353108 00000 n -0002353326 00000 n -0002353369 00000 n -0002353437 00000 n -0002353686 00000 n -0002353785 00000 n -0002357770 00000 n -0002358101 00000 n -0002358523 00000 n -0002358567 00000 n -0002358610 00000 n -0002358678 00000 n -0002358927 00000 n -0002359026 00000 n -0002363045 00000 n -0002363376 00000 n -0002363798 00000 n -0002363841 00000 n -0002363909 00000 n -0002364158 00000 n -0002364257 00000 n -0002368182 00000 n -0002368349 00000 n -0002368680 00000 n -0002369102 00000 n -0002369145 00000 n -0002369188 00000 n -0002369256 00000 n -0002369476 00000 n -0002369575 00000 n -0002371486 00000 n -0002371817 00000 n -0002372239 00000 n -0002372282 00000 n -0002372326 00000 n -0002372369 00000 n -0002372411 00000 n -0002372454 00000 n -0002372498 00000 n -0002372566 00000 n -0002372786 00000 n -0002372885 00000 n -0002374801 00000 n -0002375132 00000 n -0002375554 00000 n -0002375622 00000 n -0002375885 00000 n -0002375984 00000 n -0002379465 00000 n -0002379796 00000 n -0002380218 00000 n -0002380261 00000 n -0002380304 00000 n -0002380347 00000 n -0002380415 00000 n -0002380650 00000 n -0002380749 00000 n -0002384695 00000 n -0002385026 00000 n -0002385448 00000 n -0002385516 00000 n -0002385736 00000 n -0002385835 00000 n -0002387622 00000 n -0002387953 00000 n -0002388375 00000 n -0002388419 00000 n -0002388462 00000 n -0002388505 00000 n -0002388573 00000 n -0002388793 00000 n -0002388892 00000 n -0002392189 00000 n -0002392520 00000 n -0002392942 00000 n -0002392985 00000 n -0002393028 00000 n -0002393096 00000 n -0002393316 00000 n -0002393415 00000 n -0002395423 00000 n -0002395754 00000 n -0002396176 00000 n -0002396219 00000 n -0002396287 00000 n -0002396521 00000 n -0002396620 00000 n -0002400691 00000 n -0002401022 00000 n -0002401444 00000 n -0002401512 00000 n -0002401760 00000 n -0002401859 00000 n -0002405354 00000 n -0002405685 00000 n -0002406107 00000 n -0002406150 00000 n -0002406193 00000 n -0002406237 00000 n -0002406280 00000 n -0002406348 00000 n -0002406597 00000 n -0002406696 00000 n -0002411389 00000 n -0002411556 00000 n -0002411887 00000 n -0002412309 00000 n -0002412352 00000 n -0002412394 00000 n -0002412437 00000 n -0002412505 00000 n -0002412725 00000 n -0002412824 00000 n -0002414640 00000 n -0002414971 00000 n -0002415393 00000 n -0002415436 00000 n -0002415479 00000 n -0002415547 00000 n -0002415795 00000 n -0002415894 00000 n -0002418534 00000 n -0002418700 00000 n -0002418866 00000 n -0002419032 00000 n -0002419198 00000 n -0002419364 00000 n -0002419530 00000 n -0002419696 00000 n -0002419862 00000 n -0002420028 00000 n -0002420194 00000 n -0002420360 00000 n -0002420526 00000 n -0002420691 00000 n -0002420857 00000 n -0002421023 00000 n -0002421189 00000 n -0002421355 00000 n -0002421521 00000 n -0002421687 00000 n -0002421853 00000 n -0002422019 00000 n -0002422185 00000 n -0002422351 00000 n -0002422516 00000 n -0002422682 00000 n -0002422845 00000 n -0002423011 00000 n -0002423177 00000 n -0002423343 00000 n -0002423509 00000 n -0002423675 00000 n -0002423841 00000 n -0002424007 00000 n -0002424173 00000 n -0002424339 00000 n -0002424505 00000 n -0002424671 00000 n -0002424837 00000 n -0002424879 00000 n -0002424921 00000 n -0002424963 00000 n -0002425005 00000 n -0002425047 00000 n -0002425089 00000 n -0002425131 00000 n -0002425173 00000 n -0002425215 00000 n -0002425257 00000 n -0002425299 00000 n -0002425341 00000 n -0002425383 00000 n -0002425425 00000 n -0002425467 00000 n -0002425509 00000 n -0002425551 00000 n -0002425593 00000 n -0002425635 00000 n -0002425677 00000 n -0002425719 00000 n -0002425761 00000 n -0002425803 00000 n -0002425845 00000 n -0002426176 00000 n -0002426598 00000 n -0002426640 00000 n -0002426683 00000 n -0002426751 00000 n -0002427014 00000 n -0002427113 00000 n -0002431011 00000 n -0002431176 00000 n -0002431218 00000 n -0002431549 00000 n -0002431971 00000 n -0002432039 00000 n -0002432273 00000 n -0002432372 00000 n -0002434870 00000 n -0002435036 00000 n -0002435202 00000 n -0002435368 00000 n -0002435534 00000 n -0002435700 00000 n -0002435866 00000 n -0002436032 00000 n -0002436198 00000 n -0002436364 00000 n -0002436530 00000 n -0002436696 00000 n -0002436862 00000 n -0002437027 00000 n -0002437193 00000 n -0002437359 00000 n -0002437525 00000 n -0002437691 00000 n -0002437852 00000 n -0002438018 00000 n -0002438183 00000 n -0002438349 00000 n -0002438515 00000 n -0002438681 00000 n -0002438847 00000 n -0002439013 00000 n -0002439179 00000 n -0002439345 00000 n -0002439510 00000 n -0002439676 00000 n -0002439842 00000 n -0002440008 00000 n -0002440174 00000 n -0002440339 00000 n -0002440505 00000 n -0002440667 00000 n -0002440833 00000 n -0002440999 00000 n -0002441165 00000 n -0002441207 00000 n -0002441249 00000 n -0002441291 00000 n -0002441333 00000 n -0002441375 00000 n -0002441417 00000 n -0002441459 00000 n -0002441502 00000 n -0002441545 00000 n -0002441613 00000 n -0002441833 00000 n -0002441932 00000 n -0002445030 00000 n -0002445361 00000 n -0002445783 00000 n -0002445826 00000 n -0002445869 00000 n -0002445912 00000 n -0002445955 00000 n -0002446023 00000 n -0002446286 00000 n -0002446385 00000 n -0002451117 00000 n -0002451283 00000 n -0002451614 00000 n -0002452036 00000 n -0002452079 00000 n -0002452122 00000 n -0002452190 00000 n -0002452454 00000 n -0002452553 00000 n -0002454331 00000 n -0002454497 00000 n -0002454664 00000 n -0002454995 00000 n -0002455417 00000 n -0002455460 00000 n -0002455791 00000 n -0002456213 00000 n -0002456256 00000 n -0002456324 00000 n -0002456572 00000 n -0002456671 00000 n -0002459958 00000 n -0002460289 00000 n -0002460711 00000 n -0002460754 00000 n -0002460798 00000 n -0002460866 00000 n -0002461086 00000 n -0002461185 00000 n -0002465137 00000 n -0002465468 00000 n -0002465890 00000 n -0002465958 00000 n -0002466178 00000 n -0002466277 00000 n -0002468073 00000 n -0002468404 00000 n -0002468826 00000 n -0002468869 00000 n -0002468912 00000 n -0002468955 00000 n -0002468999 00000 n -0002469042 00000 n -0002469085 00000 n -0002469153 00000 n -0002469401 00000 n -0002469500 00000 n -0002473751 00000 n -0002474082 00000 n -0002474504 00000 n -0002474835 00000 n -0002475257 00000 n -0002475300 00000 n -0002475368 00000 n -0002475588 00000 n -0002475687 00000 n -0002478712 00000 n -0002479043 00000 n -0002479465 00000 n -0002479508 00000 n -0002479551 00000 n -0002479619 00000 n -0002479839 00000 n -0002479938 00000 n -0002485004 00000 n -0002485335 00000 n -0002485757 00000 n -0002485800 00000 n -0002485843 00000 n -0002485887 00000 n -0002485930 00000 n -0002485998 00000 n -0002486188 00000 n -0002486287 00000 n -0002486505 00000 n -0002486836 00000 n -0002487258 00000 n -0002487301 00000 n -0002487632 00000 n -0002488054 00000 n -0002488097 00000 n -0002488428 00000 n -0002488850 00000 n -0002488918 00000 n -0002489138 00000 n -0002489237 00000 n -0002493197 00000 n -0002493528 00000 n -0002493950 00000 n -0002493993 00000 n -0002494036 00000 n -0002494080 00000 n -0002494123 00000 n -0002494191 00000 n -0002494425 00000 n -0002494524 00000 n -0002498088 00000 n -0002498419 00000 n -0002498841 00000 n -0002498909 00000 n -0002499157 00000 n -0002499256 00000 n -0002501723 00000 n -0002501889 00000 n -0002502055 00000 n -0002502221 00000 n -0002502387 00000 n -0002502553 00000 n -0002502719 00000 n -0002502885 00000 n -0002503051 00000 n -0002503217 00000 n -0002503383 00000 n -0002503549 00000 n -0002503715 00000 n -0002503881 00000 n -0002504047 00000 n -0002504212 00000 n -0002504378 00000 n -0002504544 00000 n -0002504710 00000 n -0002504876 00000 n -0002505042 00000 n -0002505207 00000 n -0002505372 00000 n -0002505537 00000 n -0002505702 00000 n -0002505868 00000 n -0002506034 00000 n -0002506200 00000 n -0002506366 00000 n -0002506531 00000 n -0002506697 00000 n -0002506863 00000 n -0002507029 00000 n -0002507195 00000 n -0002507361 00000 n -0002507527 00000 n -0002507693 00000 n -0002507859 00000 n -0002508025 00000 n -0002508356 00000 n -0002508778 00000 n -0002508821 00000 n -0002508863 00000 n -0002508931 00000 n -0002509165 00000 n -0002509264 00000 n -0002512678 00000 n -0002512844 00000 n -0002512886 00000 n -0002513217 00000 n -0002513639 00000 n -0002513707 00000 n -0002513956 00000 n -0002514055 00000 n -0002518491 00000 n -0002518822 00000 n -0002519244 00000 n -0002519287 00000 n -0002519331 00000 n -0002519374 00000 n -0002519418 00000 n -0002519486 00000 n -0002519721 00000 n -0002519820 00000 n -0002523794 00000 n -0002524125 00000 n -0002524547 00000 n -0002524590 00000 n -0002524633 00000 n -0002524701 00000 n -0002524964 00000 n -0002525063 00000 n -0002526351 00000 n -0002526682 00000 n -0002527104 00000 n -0002527147 00000 n -0002527190 00000 n -0002527258 00000 n -0002527478 00000 n -0002527577 00000 n -0002531408 00000 n -0002531739 00000 n -0002532161 00000 n -0002532492 00000 n -0002532914 00000 n -0002532958 00000 n -0002533001 00000 n -0002533069 00000 n -0002533318 00000 n -0002533417 00000 n -0002537169 00000 n -0002537336 00000 n -0002537667 00000 n -0002538089 00000 n -0002538132 00000 n -0002538175 00000 n -0002538243 00000 n -0002538492 00000 n -0002538591 00000 n -0002542643 00000 n -0002542974 00000 n -0002543396 00000 n -0002543439 00000 n -0002543482 00000 n -0002543525 00000 n -0002543569 00000 n -0002543612 00000 n -0002543654 00000 n -0002543697 00000 n -0002543741 00000 n -0002543784 00000 n -0002543827 00000 n -0002543869 00000 n -0002543937 00000 n -0002544200 00000 n -0002544299 00000 n -0002546722 00000 n -0002547053 00000 n -0002547475 00000 n -0002547543 00000 n -0002547763 00000 n -0002547862 00000 n -0002551953 00000 n -0002552284 00000 n -0002552706 00000 n -0002552749 00000 n -0002552817 00000 n -0002553037 00000 n -0002553136 00000 n -0002556826 00000 n -0002557157 00000 n -0002557579 00000 n -0002557622 00000 n -0002557665 00000 n -0002557709 00000 n -0002557777 00000 n -0002558012 00000 n -0002558111 00000 n -0002562150 00000 n -0002562481 00000 n -0002562903 00000 n -0002563234 00000 n -0002563656 00000 n -0002563699 00000 n -0002563767 00000 n -0002564002 00000 n -0002564101 00000 n -0002567657 00000 n -0002567988 00000 n -0002568410 00000 n -0002568453 00000 n -0002568496 00000 n -0002568540 00000 n -0002568583 00000 n -0002568627 00000 n -0002568670 00000 n -0002568713 00000 n -0002568781 00000 n -0002569016 00000 n -0002569115 00000 n -0002573513 00000 n -0002573844 00000 n -0002574266 00000 n -0002574334 00000 n -0002574554 00000 n -0002574653 00000 n -0002578725 00000 n -0002579056 00000 n -0002579478 00000 n -0002579546 00000 n -0002579795 00000 n -0002579894 00000 n -0002581936 00000 n -0002582267 00000 n -0002582689 00000 n -0002582732 00000 n -0002582800 00000 n -0002583020 00000 n -0002583119 00000 n -0002587173 00000 n -0002587504 00000 n -0002587926 00000 n -0002587969 00000 n -0002588013 00000 n -0002588056 00000 n -0002588124 00000 n -0002588387 00000 n -0002588486 00000 n -0002593054 00000 n -0002593385 00000 n -0002593807 00000 n -0002593850 00000 n -0002593918 00000 n -0002594153 00000 n -0002594252 00000 n -0002598568 00000 n -0002598899 00000 n -0002599321 00000 n -0002599364 00000 n -0002599407 00000 n -0002599450 00000 n -0002599493 00000 n -0002599537 00000 n -0002599580 00000 n -0002599623 00000 n -0002599666 00000 n -0002599709 00000 n -0002599777 00000 n -0002600026 00000 n -0002600125 00000 n -0002604800 00000 n -0002604963 00000 n -0002605294 00000 n -0002605716 00000 n -0002605784 00000 n -0002606004 00000 n -0002606103 00000 n -0002609929 00000 n -0002610260 00000 n -0002610682 00000 n -0002610725 00000 n -0002610793 00000 n -0002611071 00000 n -0002611170 00000 n -0002613722 00000 n -0002613888 00000 n -0002614054 00000 n -0002614220 00000 n -0002614386 00000 n -0002614552 00000 n -0002614718 00000 n -0002614884 00000 n -0002615050 00000 n -0002615216 00000 n -0002615382 00000 n -0002615548 00000 n -0002615714 00000 n -0002615880 00000 n -0002616046 00000 n -0002616212 00000 n -0002616378 00000 n -0002616544 00000 n -0002616710 00000 n -0002616876 00000 n -0002617042 00000 n -0002617208 00000 n -0002617374 00000 n -0002617540 00000 n -0002617705 00000 n -0002617871 00000 n -0002618037 00000 n -0002618203 00000 n -0002618369 00000 n -0002618535 00000 n -0002618701 00000 n -0002618867 00000 n -0002619033 00000 n -0002619199 00000 n -0002619365 00000 n -0002619530 00000 n -0002619696 00000 n -0002619862 00000 n -0002620028 00000 n -0002620070 00000 n -0002620112 00000 n -0002620154 00000 n -0002620196 00000 n -0002620238 00000 n -0002620280 00000 n -0002620322 00000 n -0002620364 00000 n -0002620406 00000 n -0002620448 00000 n -0002620490 00000 n -0002620532 00000 n -0002620574 00000 n -0002620616 00000 n -0002620658 00000 n -0002620700 00000 n -0002620742 00000 n -0002620784 00000 n -0002620826 00000 n -0002620868 00000 n -0002620910 00000 n -0002620952 00000 n -0002620994 00000 n -0002621036 00000 n -0002621078 00000 n -0002621409 00000 n -0002621831 00000 n -0002621899 00000 n -0002622206 00000 n -0002622305 00000 n -0002624284 00000 n -0002624450 00000 n -0002624616 00000 n -0002624782 00000 n -0002624824 00000 n -0002624866 00000 n -0002624908 00000 n -0002625239 00000 n -0002625661 00000 n -0002625704 00000 n -0002625747 00000 n -0002625790 00000 n -0002625834 00000 n -0002625877 00000 n -0002626208 00000 n -0002626630 00000 n -0002626673 00000 n -0002626716 00000 n -0002626759 00000 n -0002626803 00000 n -0002626871 00000 n -0002627106 00000 n -0002627205 00000 n -0002631112 00000 n -0002631443 00000 n -0002631865 00000 n -0002631908 00000 n -0002632214 00000 n -0002632607 00000 n -0002633100 00000 n -0002633514 00000 n -0002633625 00000 n -0002633738 00000 n -0002633879 00000 n -0002653361 00000 n -0002681366 00000 n -0002681408 00000 n -0002681478 00000 n -0003001517 00000 n -0003001921 00000 n -0003002215 00000 n -0003315152 00000 n -0003315424 00000 n -0003315764 00000 n -0003315807 00000 n -0003315875 00000 n -0003316095 00000 n -0003316194 00000 n -0003320194 00000 n -0003320525 00000 n -0003320947 00000 n -0003320990 00000 n -0003321033 00000 n -0003321077 00000 n -0003321120 00000 n -0003321188 00000 n -0003321422 00000 n -0003321521 00000 n -0003324210 00000 n -0003324541 00000 n -0003324963 00000 n -0003325006 00000 n -0003325049 00000 n -0003325117 00000 n -0003325351 00000 n -0003325450 00000 n -0003329130 00000 n -0003329297 00000 n -0003329628 00000 n -0003330050 00000 n -0003330118 00000 n -0003330381 00000 n -0003330480 00000 n -0003334884 00000 n -0003335050 00000 n -0003335092 00000 n -0003335423 00000 n -0003335845 00000 n -0003335913 00000 n -0003336133 00000 n -0003336232 00000 n -0003340688 00000 n -0003341019 00000 n -0003341441 00000 n -0003341509 00000 n -0003341729 00000 n -0003341828 00000 n -0003344964 00000 n -0003345295 00000 n -0003345717 00000 n -0003345760 00000 n -0003345803 00000 n -0003345846 00000 n -0003345889 00000 n -0003345957 00000 n -0003346268 00000 n -0003346367 00000 n -0003349067 00000 n -0003349233 00000 n -0003349399 00000 n -0003349565 00000 n -0003349731 00000 n -0003349897 00000 n -0003350063 00000 n -0003350229 00000 n -0003350395 00000 n -0003350561 00000 n -0003350727 00000 n -0003350893 00000 n -0003351059 00000 n -0003351225 00000 n -0003351391 00000 n -0003351557 00000 n -0003351723 00000 n -0003351888 00000 n -0003352054 00000 n -0003352220 00000 n -0003352386 00000 n -0003352552 00000 n -0003352718 00000 n -0003352884 00000 n -0003353050 00000 n -0003353216 00000 n -0003353382 00000 n -0003353548 00000 n -0003353714 00000 n -0003353880 00000 n -0003354046 00000 n -0003354212 00000 n -0003354378 00000 n -0003354544 00000 n -0003354710 00000 n -0003354876 00000 n -0003355042 00000 n -0003355083 00000 n -0003355124 00000 n -0003355455 00000 n -0003355877 00000 n -0003355920 00000 n -0003355963 00000 n -0003356031 00000 n -0003356294 00000 n -0003356393 00000 n -0003358635 00000 n -0003358966 00000 n -0003359388 00000 n -0003359431 00000 n -0003359474 00000 n -0003359542 00000 n -0003359762 00000 n -0003359861 00000 n -0003361612 00000 n -0003361943 00000 n -0003362365 00000 n -0003362408 00000 n -0003362451 00000 n -0003362495 00000 n -0003362538 00000 n -0003362581 00000 n -0003362649 00000 n -0003362884 00000 n -0003362983 00000 n -0003365783 00000 n -0003365851 00000 n -0003366100 00000 n -0003366199 00000 n -0003369905 00000 n -0003370072 00000 n -0003370239 00000 n -0003370570 00000 n -0003370992 00000 n -0003371060 00000 n -0003371280 00000 n -0003371379 00000 n -0003375293 00000 n -0003375624 00000 n -0003376046 00000 n -0003376089 00000 n -0003376157 00000 n -0003376377 00000 n -0003376476 00000 n -0003377743 00000 n -0003378074 00000 n -0003378496 00000 n -0003378539 00000 n -0003378607 00000 n -0003378827 00000 n -0003378926 00000 n -0003383335 00000 n -0003383666 00000 n -0003384088 00000 n -0003384131 00000 n -0003384174 00000 n -0003384218 00000 n -0003384261 00000 n -0003384304 00000 n -0003384347 00000 n -0003384415 00000 n -0003384693 00000 n -0003384792 00000 n -0003387138 00000 n -0003387299 00000 n -0003387464 00000 n -0003387628 00000 n -0003387793 00000 n -0003387958 00000 n -0003388123 00000 n -0003388288 00000 n -0003388453 00000 n -0003388617 00000 n -0003388782 00000 n -0003388947 00000 n -0003389112 00000 n -0003389276 00000 n -0003389440 00000 n -0003389604 00000 n -0003389768 00000 n -0003389931 00000 n -0003390095 00000 n -0003390259 00000 n -0003390423 00000 n -0003390587 00000 n -0003390751 00000 n -0003390915 00000 n -0003391079 00000 n -0003391243 00000 n -0003391408 00000 n -0003391573 00000 n -0003391738 00000 n -0003391903 00000 n -0003392068 00000 n -0003392233 00000 n -0003392398 00000 n -0003392563 00000 n -0003392728 00000 n -0003392892 00000 n -0003393057 00000 n -0003393218 00000 n -0003393383 00000 n -0003393548 00000 n -0003393713 00000 n -0003393754 00000 n -0003394085 00000 n -0003394507 00000 n -0003394838 00000 n -0003395260 00000 n -0003395303 00000 n -0003395371 00000 n -0003395634 00000 n -0003395733 00000 n -0003397881 00000 n -0003398212 00000 n -0003398634 00000 n -0003398702 00000 n -0003398922 00000 n -0003399021 00000 n -0003402725 00000 n -0003403056 00000 n -0003403478 00000 n -0003403521 00000 n -0003403589 00000 n -0003403837 00000 n -0003403936 00000 n -0003406983 00000 n -0003407314 00000 n -0003407736 00000 n -0003407780 00000 n -0003407823 00000 n -0003407866 00000 n -0003407934 00000 n -0003408169 00000 n -0003408268 00000 n -0003412577 00000 n -0003412908 00000 n -0003413330 00000 n -0003413398 00000 n -0003413618 00000 n -0003413717 00000 n -0003417520 00000 n -0003417851 00000 n -0003418273 00000 n -0003418316 00000 n -0003418359 00000 n -0003418402 00000 n -0003418445 00000 n -0003418488 00000 n -0003418556 00000 n -0003418791 00000 n -0003418890 00000 n -0003423442 00000 n -0003423485 00000 n -0003423528 00000 n -0003423596 00000 n -0003423845 00000 n -0003423944 00000 n -0003427822 00000 n -0003427988 00000 n -0003428030 00000 n -0003428361 00000 n -0003428783 00000 n -0003428826 00000 n -0003428869 00000 n -0003428937 00000 n -0003429186 00000 n -0003429285 00000 n -0003433016 00000 n -0003433059 00000 n -0003433127 00000 n -0003433347 00000 n -0003433446 00000 n -0003437579 00000 n -0003437910 00000 n -0003438332 00000 n -0003438375 00000 n -0003438443 00000 n -0003438706 00000 n -0003438805 00000 n -0003441128 00000 n -0003441459 00000 n -0003441881 00000 n -0003441924 00000 n -0003441968 00000 n -0003442036 00000 n -0003442285 00000 n -0003442384 00000 n -0003445586 00000 n -0003445917 00000 n -0003446339 00000 n -0003446382 00000 n -0003446425 00000 n -0003446493 00000 n -0003446713 00000 n -0003446812 00000 n -0003451686 00000 n -0003452017 00000 n -0003452439 00000 n -0003452507 00000 n -0003452756 00000 n -0003452855 00000 n -0003456919 00000 n -0003457250 00000 n -0003457672 00000 n -0003457715 00000 n -0003457758 00000 n -0003457800 00000 n -0003457843 00000 n -0003457886 00000 n -0003457929 00000 n -0003457972 00000 n -0003458016 00000 n -0003458059 00000 n -0003458102 00000 n -0003458145 00000 n -0003458188 00000 n -0003458230 00000 n -0003458273 00000 n -0003458341 00000 n -0003458561 00000 n -0003458660 00000 n -0003462684 00000 n -0003463015 00000 n -0003463437 00000 n -0003463480 00000 n -0003463548 00000 n -0003465083 00000 n -0003465182 00000 n -0003502740 00000 n -0003503256 00000 n -0003504014 00000 n -0003504557 00000 n -0003505305 00000 n -0003505430 00000 n -0003505553 00000 n -0003505677 00000 n -0003505799 00000 n -0003505824 00000 n -0003505940 00000 n -0003520559 00000 n -0003520890 00000 n -0003521667 00000 n -0003522089 00000 n -0003522455 00000 n -0003522691 00000 n -0003523091 00000 n -0003526613 00000 n -0003526926 00000 n -0003527105 00000 n -0003527492 00000 n -0003529559 00000 n -0003529865 00000 n -0003530039 00000 n -0003530425 00000 n -0003532552 00000 n -0003532817 00000 n -0003532936 00000 n -0003533294 00000 n -0003534736 00000 n -0003534779 00000 n -0003534823 00000 n -0003534891 00000 n -0003535154 00000 n -0003535253 00000 n -0003537678 00000 n -0003538009 00000 n -0003538431 00000 n -0003538474 00000 n -0003538517 00000 n -0003538585 00000 n -0003538862 00000 n -0003538961 00000 n -0003542780 00000 n -0003542944 00000 n -0003542987 00000 n -0003543318 00000 n -0003543740 00000 n -0003543808 00000 n -0003544043 00000 n -0003544142 00000 n -0003548029 00000 n -0003548360 00000 n -0003548782 00000 n -0003548825 00000 n -0003548868 00000 n -0003548911 00000 n -0003548954 00000 n -0003549022 00000 n -0003549242 00000 n -0003549341 00000 n -0003552444 00000 n -0003552775 00000 n -0003553197 00000 n -0003553240 00000 n -0003553283 00000 n -0003553326 00000 n -0003553369 00000 n -0003553437 00000 n -0003553716 00000 n -0003553815 00000 n -0003556142 00000 n -0003556308 00000 n -0003556473 00000 n -0003556639 00000 n -0003556681 00000 n -0003556723 00000 n -0003556765 00000 n -0003557096 00000 n -0003557518 00000 n -0003557561 00000 n -0003557603 00000 n -0003557671 00000 n -0003557905 00000 n -0003558004 00000 n -0003560974 00000 n -0003561305 00000 n -0003561727 00000 n -0003561770 00000 n -0003561814 00000 n -0003561857 00000 n -0003561900 00000 n -0003561968 00000 n -0003562231 00000 n -0003562330 00000 n -0003566579 00000 n -0003566910 00000 n -0003567332 00000 n -0003567375 00000 n -0003567418 00000 n -0003567460 00000 n -0003567528 00000 n -0003567777 00000 n -0003567876 00000 n -0003571078 00000 n -0003571245 00000 n -0003571576 00000 n -0003571998 00000 n -0003572041 00000 n -0003572109 00000 n -0003572329 00000 n -0003572428 00000 n -0003576133 00000 n -0003576464 00000 n -0003576886 00000 n -0003576954 00000 n -0003577174 00000 n -0003577273 00000 n -0003579605 00000 n -0003579936 00000 n -0003580358 00000 n -0003580401 00000 n -0003580445 00000 n -0003580486 00000 n -0003580529 00000 n -0003580572 00000 n -0003580903 00000 n -0003581325 00000 n -0003581368 00000 n -0003581411 00000 n -0003581479 00000 n -0003582624 00000 n -0003582723 00000 n -0003582942 00000 n -0003583273 00000 n -0003583695 00000 n -0003583738 00000 n -0003583780 00000 n -0003583822 00000 n -0003583865 00000 n -0003583909 00000 n -0003583952 00000 n -0003583995 00000 n -0003584063 00000 n -0003584326 00000 n -0003584425 00000 n -0003588398 00000 n -0003588729 00000 n -0003589151 00000 n -0003589194 00000 n -0003589237 00000 n -0003589279 00000 n -0003589322 00000 n -0003589390 00000 n -0003589624 00000 n -0003589723 00000 n -0003593553 00000 n -0003593884 00000 n -0003594306 00000 n -0003594374 00000 n -0003594637 00000 n -0003594736 00000 n -0003597264 00000 n -0003597595 00000 n -0003598017 00000 n -0003598085 00000 n -0003598334 00000 n -0003598433 00000 n -0003603425 00000 n -0003603592 00000 n -0003603923 00000 n -0003604345 00000 n -0003604388 00000 n -0003604431 00000 n -0003604474 00000 n -0003604542 00000 n -0003604791 00000 n -0003604890 00000 n -0003608021 00000 n -0003608089 00000 n -0003608366 00000 n -0003608465 00000 n -0003612653 00000 n -0003612817 00000 n -0003612860 00000 n -0003613191 00000 n -0003613613 00000 n -0003613656 00000 n -0003613699 00000 n -0003613767 00000 n -0003613987 00000 n -0003614086 00000 n -0003618751 00000 n -0003619082 00000 n -0003619504 00000 n -0003619547 00000 n -0003619590 00000 n -0003619633 00000 n -0003619701 00000 n -0003619936 00000 n -0003620035 00000 n -0003620270 00000 n -0003621476 00000 n -0003621807 00000 n -0003622229 00000 n -0003622297 00000 n -0003622517 00000 n -0003622616 00000 n -0003626477 00000 n -0003626808 00000 n -0003627230 00000 n -0003627298 00000 n -0003627547 00000 n -0003627646 00000 n -0003630432 00000 n -0003630598 00000 n -0003630929 00000 n -0003631351 00000 n -0003631394 00000 n -0003631437 00000 n -0003631479 00000 n -0003631522 00000 n -0003631590 00000 n -0003631824 00000 n -0003631923 00000 n -0003635001 00000 n -0003635332 00000 n -0003635754 00000 n -0003635822 00000 n -0003636042 00000 n -0003636141 00000 n -0003638694 00000 n -0003639025 00000 n -0003639447 00000 n -0003639490 00000 n -0003639533 00000 n -0003639601 00000 n -0003639864 00000 n -0003639963 00000 n -0003642396 00000 n -0003642727 00000 n -0003643149 00000 n -0003643192 00000 n -0003643260 00000 n -0003643847 00000 n -0003643946 00000 n -0003667769 00000 n -0003668272 00000 n -0003668625 00000 n -0003669013 00000 n -0003670065 00000 n -0003671095 00000 n -0003671517 00000 n -0003672657 00000 n -0003673675 00000 n -0003674006 00000 n -0003674372 00000 n -0003677557 00000 n -0003677600 00000 n -0003677642 00000 n -0003677710 00000 n -0003677930 00000 n -0003678029 00000 n -0003682211 00000 n -0003682254 00000 n -0003682298 00000 n -0003682341 00000 n -0003682409 00000 n -0003682793 00000 n -0003682892 00000 n -0003687132 00000 n -0003687175 00000 n -0003688379 00000 n -0003689585 00000 n -0003689916 00000 n -0003690338 00000 n -0003690370 00000 n -0003690477 00000 n -0003690520 00000 n -0003690588 00000 n -0003690836 00000 n -0003690935 00000 n -0003694458 00000 n -0003694789 00000 n -0003695211 00000 n -0003695279 00000 n -0003695513 00000 n -0003695612 00000 n -0003699668 00000 n -0003699834 00000 n -0003699876 00000 n -0003699919 00000 n -0003699961 00000 n -0003700004 00000 n -0003700072 00000 n -0003700365 00000 n -0003700464 00000 n -0003702768 00000 n -0003702934 00000 n -0003703100 00000 n -0003703265 00000 n -0003703596 00000 n -0003704018 00000 n -0003704061 00000 n -0003704105 00000 n -0003704173 00000 n -0003704393 00000 n -0003704492 00000 n -0003706589 00000 n -0003706920 00000 n -0003707342 00000 n -0003707385 00000 n -0003707453 00000 n -0003707701 00000 n -0003707800 00000 n -0003712021 00000 n -0003712352 00000 n -0003712774 00000 n -0003712817 00000 n -0003712885 00000 n -0003713148 00000 n -0003713247 00000 n -0003715399 00000 n -0003715730 00000 n -0003716152 00000 n -0003716195 00000 n -0003716237 00000 n -0003716305 00000 n -0003716525 00000 n -0003716624 00000 n -0003717943 00000 n -0003718274 00000 n -0003718696 00000 n -0003718739 00000 n -0003718782 00000 n -0003718825 00000 n -0003718868 00000 n -0003718911 00000 n -0003718979 00000 n -0003719199 00000 n -0003719298 00000 n -0003723351 00000 n -0003723682 00000 n -0003724104 00000 n -0003724147 00000 n -0003724215 00000 n -0003724464 00000 n -0003724563 00000 n -0003728639 00000 n -0003728970 00000 n -0003729392 00000 n -0003729435 00000 n -0003729478 00000 n -0003729521 00000 n -0003729564 00000 n -0003729632 00000 n -0003729866 00000 n -0003729965 00000 n -0003733277 00000 n -0003733443 00000 n -0003733774 00000 n -0003734196 00000 n -0003734264 00000 n -0003734498 00000 n -0003734597 00000 n -0003738410 00000 n -0003738577 00000 n -0003738620 00000 n -0003738663 00000 n -0003738731 00000 n -0003738951 00000 n -0003739050 00000 n -0003742161 00000 n -0003742492 00000 n -0003742914 00000 n -0003742957 00000 n -0003743000 00000 n -0003743068 00000 n -0003743303 00000 n -0003743402 00000 n -0003746947 00000 n -0003747278 00000 n -0003747700 00000 n -0003747768 00000 n -0003748031 00000 n -0003748130 00000 n -0003750665 00000 n -0003750996 00000 n -0003751418 00000 n -0003751461 00000 n -0003751504 00000 n -0003751546 00000 n -0003751589 00000 n -0003751633 00000 n -0003751676 00000 n -0003751744 00000 n -0003751964 00000 n -0003752063 00000 n -0003755209 00000 n -0003755540 00000 n -0003755962 00000 n -0003756005 00000 n -0003756073 00000 n -0003756293 00000 n -0003756392 00000 n -0003759849 00000 n -0003760180 00000 n -0003760602 00000 n -0003760670 00000 n -0003760919 00000 n -0003761018 00000 n -0003765016 00000 n -0003765347 00000 n -0003765769 00000 n -0003765837 00000 n -0003766893 00000 n -0003766992 00000 n -0003773020 00000 n -0003773079 00000 n -0003773426 00000 n -0003774124 00000 n -0003774302 00000 n -0003774771 00000 n -0003774951 00000 n -0003777010 00000 n -0003777341 00000 n -0003794211 00000 n -0003794633 00000 n -0003794887 00000 n -0003795281 00000 n -0003795595 00000 n -0003795914 00000 n -0003796439 00000 n -0003796834 00000 n -0003800481 00000 n -0003800747 00000 n -0003807776 00000 n -0003808208 00000 n -0003808276 00000 n -0003808496 00000 n -0003808595 00000 n -0003812724 00000 n -0003813055 00000 n -0003813477 00000 n -0003813520 00000 n -0003813564 00000 n -0003813605 00000 n -0003813648 00000 n -0003813691 00000 n -0003813734 00000 n -0003813777 00000 n -0003815537 00000 n -0003816858 00000 n -0003833069 00000 n -0003833137 00000 n -0003833372 00000 n -0003833471 00000 n -0003836815 00000 n -0003837146 00000 n -0003837568 00000 n -0003837611 00000 n -0003837654 00000 n -0003837698 00000 n -0003837741 00000 n -0003837809 00000 n -0003838029 00000 n -0003838128 00000 n -0003841197 00000 n -0003841528 00000 n -0003841950 00000 n -0003841993 00000 n -0003842061 00000 n -0003842324 00000 n -0003842423 00000 n -0003844653 00000 n -0003844984 00000 n -0003845406 00000 n -0003845449 00000 n -0003845492 00000 n -0003845560 00000 n -0003846644 00000 n -0003846743 00000 n -0003864362 00000 n -0003864427 00000 n -0003864573 00000 n -0003864773 00000 n -0003865179 00000 n -0003865629 00000 n -0003866047 00000 n -0003866378 00000 n -0003866800 00000 n -0003866913 00000 n -0003867024 00000 n -0003867135 00000 n -0003868888 00000 n -0003869357 00000 n -0003882313 00000 n -0003882596 00000 n -0003883076 00000 n -0003892648 00000 n -0003892968 00000 n -0003893381 00000 n -0003895193 00000 n -0003895506 00000 n -0003895812 00000 n -0003896224 00000 n -0003896748 00000 n -0003896780 00000 n -0003897256 00000 n -0003897534 00000 n -0003897607 00000 n -0003902223 00000 n -0003902305 00000 n -0003902373 00000 n -0003902621 00000 n -0003902720 00000 n -0003906696 00000 n -0003906862 00000 n -0003907193 00000 n -0003907615 00000 n -0003907658 00000 n -0003907700 00000 n -0003907743 00000 n -0003907811 00000 n -0003908088 00000 n -0003908187 00000 n -0003911990 00000 n -0003912156 00000 n -0003912198 00000 n -0003912529 00000 n -0003912951 00000 n -0003912994 00000 n -0003913062 00000 n -0003913252 00000 n -0003913351 00000 n -0003913569 00000 n -0003913900 00000 n -0003914322 00000 n -0003914365 00000 n -0003914407 00000 n -0003914450 00000 n -0003914518 00000 n -0003914781 00000 n -0003914880 00000 n -0003918552 00000 n -0003918883 00000 n -0003919305 00000 n -0003919348 00000 n -0003919392 00000 n -0003919460 00000 n -0003919723 00000 n -0003919822 00000 n -0003922245 00000 n -0003922576 00000 n -0003922998 00000 n -0003923041 00000 n -0003923109 00000 n -0003923329 00000 n -0003923428 00000 n -0003926944 00000 n -0003927275 00000 n -0003927697 00000 n -0003927740 00000 n -0003927783 00000 n -0003927826 00000 n -0003927894 00000 n -0003928157 00000 n -0003928256 00000 n -0003930636 00000 n -0003930967 00000 n -0003931389 00000 n -0003931720 00000 n -0003932142 00000 n -0003932186 00000 n -0003932254 00000 n -0003932488 00000 n -0003932587 00000 n -0003936209 00000 n -0003936540 00000 n -0003936962 00000 n -0003937005 00000 n -0003937048 00000 n -0003937116 00000 n -0003937336 00000 n -0003937435 00000 n -0003941301 00000 n -0003941632 00000 n -0003942054 00000 n -0003942098 00000 n -0003942141 00000 n -0003942182 00000 n -0003942250 00000 n -0003942484 00000 n -0003942583 00000 n -0003946858 00000 n -0003947024 00000 n -0003947066 00000 n -0003947397 00000 n -0003947819 00000 n -0003947887 00000 n -0003948164 00000 n -0003948263 00000 n -0003952705 00000 n -0003952871 00000 n -0003952913 00000 n -0003953244 00000 n -0003953666 00000 n -0003953709 00000 n -0003953752 00000 n -0003953795 00000 n -0003953863 00000 n -0003954083 00000 n -0003954182 00000 n -0003958736 00000 n -0003958875 00000 n -0003959014 00000 n -0003959153 00000 n -0003959292 00000 n -0003959431 00000 n -0003959570 00000 n -0003959709 00000 n -0003959848 00000 n -0003959987 00000 n -0003960126 00000 n -0003960265 00000 n -0003960404 00000 n -0003960543 00000 n -0003960682 00000 n -0003960821 00000 n -0003960960 00000 n -0003961099 00000 n -0003961238 00000 n -0003961377 00000 n -0003961516 00000 n -0003961655 00000 n -0003961794 00000 n -0003961933 00000 n -0003962072 00000 n -0003962211 00000 n -0003962350 00000 n -0003962489 00000 n -0003962628 00000 n -0003962767 00000 n -0003962906 00000 n -0003963045 00000 n -0003963184 00000 n -0003963323 00000 n -0003963462 00000 n -0003963601 00000 n -0003963740 00000 n -0003963879 00000 n -0003964018 00000 n -0003964157 00000 n -0003964296 00000 n -0003964435 00000 n -0003964574 00000 n -0003964713 00000 n -0003964852 00000 n -0003964991 00000 n -0003965130 00000 n -0003965269 00000 n -0003965408 00000 n -0003965547 00000 n -0003965686 00000 n -0003965825 00000 n -0003965964 00000 n -0003966103 00000 n -0003966242 00000 n -0003966381 00000 n -0003966520 00000 n -0003966659 00000 n -0003966798 00000 n -0003966937 00000 n -0003967076 00000 n -0003967215 00000 n -0003967354 00000 n -0003967493 00000 n -0003967632 00000 n -0003967771 00000 n -0003967910 00000 n -0003968049 00000 n -0003968188 00000 n -0003968327 00000 n -0003968466 00000 n -0003968605 00000 n -0003968744 00000 n -0003968883 00000 n -0003969022 00000 n -0003969161 00000 n -0003969300 00000 n -0003969439 00000 n -0003969578 00000 n -0003969717 00000 n -0003969856 00000 n -0003969995 00000 n -0003970134 00000 n -0003970273 00000 n -0003970412 00000 n -0003970551 00000 n -0003970690 00000 n -0003970829 00000 n -0003970968 00000 n -0003971107 00000 n -0003971246 00000 n -0003971385 00000 n -0003971524 00000 n -0003971663 00000 n -0003971802 00000 n -0003971941 00000 n -0003972080 00000 n -0003972219 00000 n -0003972358 00000 n -0003972497 00000 n -0003972636 00000 n -0003972775 00000 n -0003972914 00000 n -0003973053 00000 n -0003973192 00000 n -0003973331 00000 n -0003973470 00000 n -0003973609 00000 n -0003973748 00000 n -0003973887 00000 n -0003974026 00000 n -0003974165 00000 n -0003974304 00000 n -0003974443 00000 n -0003974582 00000 n -0003974721 00000 n -0003974860 00000 n -0003974999 00000 n -0003975138 00000 n -0003975277 00000 n -0003975416 00000 n -0003975555 00000 n -0003975694 00000 n -0003975833 00000 n -0003975972 00000 n -0003976111 00000 n -0003976250 00000 n -0003976389 00000 n -0003976528 00000 n -0003976667 00000 n -0003976806 00000 n -0003976945 00000 n -0003977084 00000 n -0003977223 00000 n -0003977362 00000 n -0003977501 00000 n -0003977640 00000 n -0003977779 00000 n -0003977918 00000 n -0003978057 00000 n -0003978196 00000 n -0003978335 00000 n -0003978474 00000 n -0003978613 00000 n -0003978752 00000 n -0003978891 00000 n -0003979030 00000 n -0003979169 00000 n -0003979308 00000 n -0003979447 00000 n -0003979586 00000 n -0003979725 00000 n -0003979864 00000 n -0003980003 00000 n -0003980142 00000 n -0003980281 00000 n -0003980420 00000 n -0003980559 00000 n -0003980698 00000 n -0003980837 00000 n -0003980976 00000 n -0003981115 00000 n -0003981254 00000 n -0003981393 00000 n -0003981532 00000 n -0003981671 00000 n -0003981810 00000 n -0003981949 00000 n -0003982088 00000 n -0003982227 00000 n -0003982366 00000 n -0003982505 00000 n -0003982644 00000 n -0003982783 00000 n -0003982922 00000 n -0003983061 00000 n -0003983200 00000 n -0003983339 00000 n -0003983478 00000 n -0003983617 00000 n -0003983756 00000 n -0003983895 00000 n -0003984034 00000 n -0003984173 00000 n -0003984312 00000 n -0003984451 00000 n -0003984590 00000 n -0003984729 00000 n -0003984868 00000 n -0003985007 00000 n -0003985146 00000 n -0003985285 00000 n -0003985424 00000 n -0003985563 00000 n -0003985702 00000 n -0003985841 00000 n -0003985980 00000 n -0003986119 00000 n -0003986258 00000 n -0003986397 00000 n -0003986536 00000 n -0003986675 00000 n -0003986814 00000 n -0003986953 00000 n -0003987092 00000 n -0003987231 00000 n -0003987370 00000 n -0003987509 00000 n -0003987648 00000 n -0003987787 00000 n -0003987926 00000 n -0003988065 00000 n -0003988204 00000 n -0003988343 00000 n -0003988482 00000 n -0003988621 00000 n -0003988760 00000 n -0003988899 00000 n -0003989038 00000 n -0003989177 00000 n -0003989316 00000 n -0003989455 00000 n -0003989594 00000 n -0003989733 00000 n -0003989872 00000 n -0003990011 00000 n -0003990150 00000 n -0003990289 00000 n -0003990428 00000 n -0003990567 00000 n -0003990706 00000 n -0003990845 00000 n -0003990984 00000 n -0003991123 00000 n -0003991262 00000 n -0003991401 00000 n -0003991540 00000 n -0003991679 00000 n -0003991818 00000 n -0003991957 00000 n -0003992096 00000 n -0003992235 00000 n -0003992374 00000 n -0003992513 00000 n -0003992652 00000 n -0003992791 00000 n -0003992930 00000 n -0003993069 00000 n -0003993208 00000 n -0003993347 00000 n -0003993486 00000 n -0003993625 00000 n -0003993764 00000 n -0003993903 00000 n -0003994042 00000 n -0003994181 00000 n -0003994320 00000 n -0003994459 00000 n -0003994598 00000 n -0003994737 00000 n -0003994876 00000 n -0003995015 00000 n -0003995154 00000 n -0003995293 00000 n -0003995432 00000 n -0003995571 00000 n -0003995710 00000 n -0003995849 00000 n -0003995988 00000 n -0003996127 00000 n -0003996266 00000 n -0003996405 00000 n -0003996544 00000 n -0003996683 00000 n -0003996822 00000 n -0003996961 00000 n -0003997100 00000 n -0003997239 00000 n -0003997378 00000 n -0003997517 00000 n -0003997656 00000 n -0003997795 00000 n -0003997934 00000 n -0003998073 00000 n -0003998212 00000 n -0003998351 00000 n -0003998490 00000 n -0003998629 00000 n -0003998768 00000 n -0003998907 00000 n -0003999046 00000 n -0003999185 00000 n -0003999324 00000 n -0003999463 00000 n -0003999602 00000 n -0003999741 00000 n -0003999880 00000 n -0004000019 00000 n -0004000158 00000 n -0004000297 00000 n -0004000436 00000 n -0004000575 00000 n -0004000714 00000 n -0004000853 00000 n -0004000992 00000 n -0004001131 00000 n -0004001270 00000 n -0004001409 00000 n -0004001548 00000 n -0004001687 00000 n -0004001826 00000 n -0004001965 00000 n -0004002104 00000 n -0004002243 00000 n -0004002382 00000 n -0004002521 00000 n -0004002660 00000 n -0004002799 00000 n -0004002938 00000 n -0004003077 00000 n -0004003216 00000 n -0004003355 00000 n -0004003494 00000 n -0004003633 00000 n -0004003772 00000 n -0004003911 00000 n -0004004050 00000 n -0004004189 00000 n -0004004328 00000 n -0004004371 00000 n -0004004414 00000 n -0004004457 00000 n -0004004500 00000 n -0004004543 00000 n -0004004586 00000 n -0004004629 00000 n -0004004672 00000 n -0004004715 00000 n -0004004758 00000 n -0004004801 00000 n -0004004844 00000 n -0004004887 00000 n -0004004930 00000 n -0004004973 00000 n -0004005016 00000 n -0004005059 00000 n -0004005102 00000 n -0004005145 00000 n -0004005188 00000 n -0004005231 00000 n -0004005274 00000 n -0004005317 00000 n -0004005360 00000 n -0004005403 00000 n -0004005446 00000 n -0004005489 00000 n -0004005532 00000 n -0004005575 00000 n -0004005618 00000 n -0004005661 00000 n -0004005704 00000 n -0004005747 00000 n -0004005790 00000 n -0004005833 00000 n -0004005876 00000 n -0004005919 00000 n -0004005962 00000 n -0004006005 00000 n -0004006048 00000 n -0004006091 00000 n -0004006134 00000 n -0004006177 00000 n -0004006220 00000 n -0004006263 00000 n -0004006306 00000 n -0004006349 00000 n -0004006392 00000 n -0004006435 00000 n -0004006478 00000 n -0004006521 00000 n -0004006564 00000 n -0004006607 00000 n -0004006650 00000 n -0004006693 00000 n -0004006736 00000 n -0004006779 00000 n -0004006822 00000 n -0004006865 00000 n -0004006908 00000 n -0004006951 00000 n -0004006994 00000 n -0004007037 00000 n -0004007080 00000 n -0004007123 00000 n -0004007166 00000 n -0004007209 00000 n -0004007252 00000 n -0004007295 00000 n -0004007338 00000 n -0004007381 00000 n -0004007424 00000 n -0004007467 00000 n -0004007510 00000 n -0004007553 00000 n -0004007596 00000 n -0004007639 00000 n -0004007682 00000 n -0004007725 00000 n -0004007768 00000 n -0004007811 00000 n -0004007854 00000 n -0004007897 00000 n -0004007940 00000 n -0004007983 00000 n -0004008026 00000 n -0004008069 00000 n -0004008112 00000 n -0004008155 00000 n -0004008198 00000 n -0004008241 00000 n -0004008284 00000 n -0004008327 00000 n -0004008370 00000 n -0004008413 00000 n -0004008456 00000 n -0004008499 00000 n -0004008542 00000 n -0004008585 00000 n -0004008628 00000 n -0004008671 00000 n -0004008714 00000 n -0004008757 00000 n -0004008800 00000 n -0004008843 00000 n -0004008886 00000 n -0004008929 00000 n -0004008972 00000 n -0004009015 00000 n -0004009058 00000 n -0004009101 00000 n -0004009144 00000 n -0004009187 00000 n -0004009230 00000 n -0004009273 00000 n -0004009316 00000 n -0004009359 00000 n -0004009402 00000 n -0004009445 00000 n -0004009488 00000 n -0004009531 00000 n -0004009574 00000 n -0004009617 00000 n -0004009660 00000 n -0004009703 00000 n -0004009746 00000 n -0004009789 00000 n -0004009832 00000 n -0004009875 00000 n -0004009918 00000 n -0004009961 00000 n -0004010004 00000 n -0004010047 00000 n -0004010090 00000 n -0004010133 00000 n -0004010176 00000 n -0004010219 00000 n -0004010262 00000 n -0004010305 00000 n -0004010348 00000 n -0004010391 00000 n -0004010434 00000 n -0004010477 00000 n -0004010520 00000 n -0004010563 00000 n -0004010606 00000 n -0004010649 00000 n -0004010692 00000 n -0004010735 00000 n -0004010778 00000 n -0004010821 00000 n -0004010864 00000 n -0004010907 00000 n -0004010950 00000 n -0004010993 00000 n -0004011036 00000 n -0004011079 00000 n -0004011122 00000 n -0004011165 00000 n -0004011208 00000 n -0004011251 00000 n -0004011294 00000 n -0004011337 00000 n -0004011380 00000 n -0004011423 00000 n -0004011466 00000 n -0004011509 00000 n -0004011552 00000 n -0004011595 00000 n -0004011638 00000 n -0004011681 00000 n -0004011724 00000 n -0004011767 00000 n -0004011810 00000 n -0004011853 00000 n -0004011896 00000 n -0004011939 00000 n -0004011982 00000 n -0004012025 00000 n -0004012068 00000 n -0004012111 00000 n -0004012154 00000 n -0004012197 00000 n -0004012528 00000 n -0004012950 00000 n -0004012993 00000 n -0004013061 00000 n -0004013296 00000 n -0004013395 00000 n -0004017154 00000 n -0004017485 00000 n -0004017907 00000 n -0004017950 00000 n -0004017994 00000 n -0004018037 00000 n -0004018105 00000 n -0004018325 00000 n -0004018424 00000 n -0004021490 00000 n -0004021821 00000 n -0004022243 00000 n -0004022286 00000 n -0004022354 00000 n -0004022588 00000 n -0004022687 00000 n -0004026377 00000 n -0004026542 00000 n -0004026610 00000 n -0004026859 00000 n -0004026958 00000 n -0004030883 00000 n -0004031214 00000 n -0004031636 00000 n -0004031704 00000 n -0004031967 00000 n -0004032066 00000 n -0004034609 00000 n -0004034940 00000 n -0004035362 00000 n -0004035405 00000 n -0004035448 00000 n -0004035516 00000 n -0004035736 00000 n -0004035835 00000 n -0004039979 00000 n -0004040310 00000 n -0004040732 00000 n -0004040776 00000 n -0004040818 00000 n -0004040861 00000 n -0004040904 00000 n -0004041235 00000 n -0004041657 00000 n -0004041700 00000 n -0004041768 00000 n -0004042003 00000 n -0004042102 00000 n -0004046349 00000 n -0004046489 00000 n -0004046629 00000 n -0004046769 00000 n -0004046909 00000 n -0004047049 00000 n -0004047189 00000 n -0004047329 00000 n -0004047469 00000 n -0004047609 00000 n -0004047749 00000 n -0004047889 00000 n -0004048029 00000 n -0004048169 00000 n -0004048309 00000 n -0004048449 00000 n -0004048589 00000 n -0004048729 00000 n -0004048869 00000 n -0004049009 00000 n -0004049149 00000 n -0004049289 00000 n -0004049429 00000 n -0004049569 00000 n -0004049709 00000 n -0004049849 00000 n -0004049989 00000 n -0004050129 00000 n -0004050269 00000 n -0004050409 00000 n -0004050549 00000 n -0004050689 00000 n -0004050829 00000 n -0004050969 00000 n -0004051109 00000 n -0004051249 00000 n -0004051389 00000 n -0004051529 00000 n -0004051669 00000 n -0004051809 00000 n -0004051949 00000 n -0004052089 00000 n -0004052229 00000 n -0004052369 00000 n -0004052509 00000 n -0004052649 00000 n -0004052789 00000 n -0004052929 00000 n -0004053069 00000 n -0004053209 00000 n -0004053349 00000 n -0004053489 00000 n -0004053629 00000 n -0004053769 00000 n -0004053909 00000 n -0004054049 00000 n -0004054189 00000 n -0004054329 00000 n -0004054469 00000 n -0004054609 00000 n -0004054749 00000 n -0004054889 00000 n -0004055029 00000 n -0004055169 00000 n -0004055309 00000 n -0004055449 00000 n -0004055589 00000 n -0004055729 00000 n -0004055869 00000 n -0004056009 00000 n -0004056149 00000 n -0004056289 00000 n -0004056429 00000 n -0004056569 00000 n -0004056709 00000 n -0004056849 00000 n -0004056989 00000 n -0004057129 00000 n -0004057269 00000 n -0004057409 00000 n -0004057549 00000 n -0004057689 00000 n -0004057829 00000 n -0004057969 00000 n -0004058109 00000 n -0004058249 00000 n -0004058389 00000 n -0004058529 00000 n -0004058669 00000 n -0004058809 00000 n -0004058949 00000 n -0004059089 00000 n -0004059229 00000 n -0004059369 00000 n -0004059509 00000 n -0004059649 00000 n -0004059789 00000 n -0004059929 00000 n -0004060069 00000 n -0004060209 00000 n -0004060349 00000 n -0004060489 00000 n -0004060629 00000 n -0004060769 00000 n -0004060909 00000 n -0004061049 00000 n -0004061189 00000 n -0004061329 00000 n -0004061469 00000 n -0004061609 00000 n -0004061749 00000 n -0004061889 00000 n -0004062029 00000 n -0004062169 00000 n -0004062309 00000 n -0004062449 00000 n -0004062589 00000 n -0004062729 00000 n -0004062869 00000 n -0004063009 00000 n -0004063149 00000 n -0004063289 00000 n -0004063429 00000 n -0004063569 00000 n -0004063709 00000 n -0004063849 00000 n -0004063989 00000 n -0004064129 00000 n -0004064269 00000 n -0004064409 00000 n -0004064549 00000 n -0004064689 00000 n -0004064829 00000 n -0004064969 00000 n -0004065109 00000 n -0004065249 00000 n -0004065389 00000 n -0004065529 00000 n -0004065669 00000 n -0004065809 00000 n -0004065949 00000 n -0004066089 00000 n -0004066229 00000 n -0004066369 00000 n -0004066509 00000 n -0004066649 00000 n -0004066789 00000 n -0004066929 00000 n -0004067069 00000 n -0004067209 00000 n -0004067349 00000 n -0004067489 00000 n -0004067629 00000 n -0004067769 00000 n -0004067909 00000 n -0004068049 00000 n -0004068189 00000 n -0004068329 00000 n -0004068469 00000 n -0004068609 00000 n -0004068749 00000 n -0004068889 00000 n -0004069029 00000 n -0004069169 00000 n -0004069309 00000 n -0004069449 00000 n -0004069589 00000 n -0004069729 00000 n -0004069869 00000 n -0004070009 00000 n -0004070149 00000 n -0004070289 00000 n -0004070429 00000 n -0004070569 00000 n -0004070709 00000 n -0004070849 00000 n -0004070989 00000 n -0004071129 00000 n -0004071269 00000 n -0004071409 00000 n -0004071549 00000 n -0004071689 00000 n -0004071829 00000 n -0004071969 00000 n -0004072109 00000 n -0004072249 00000 n -0004072389 00000 n -0004072529 00000 n -0004072669 00000 n -0004072809 00000 n -0004072949 00000 n -0004073089 00000 n -0004073229 00000 n -0004073369 00000 n -0004073509 00000 n -0004073649 00000 n -0004073789 00000 n -0004073929 00000 n -0004074069 00000 n -0004074209 00000 n -0004074349 00000 n -0004074489 00000 n -0004074629 00000 n -0004074769 00000 n -0004074909 00000 n -0004075049 00000 n -0004075189 00000 n -0004075329 00000 n -0004075469 00000 n -0004075609 00000 n -0004075749 00000 n -0004075889 00000 n -0004076029 00000 n -0004076169 00000 n -0004076309 00000 n -0004076449 00000 n -0004076589 00000 n -0004076729 00000 n -0004076869 00000 n -0004077009 00000 n -0004077149 00000 n -0004077289 00000 n -0004077429 00000 n -0004077569 00000 n -0004077709 00000 n -0004077849 00000 n -0004077989 00000 n -0004078129 00000 n -0004078269 00000 n -0004078409 00000 n -0004078549 00000 n -0004078689 00000 n -0004078829 00000 n -0004078969 00000 n -0004079109 00000 n -0004079249 00000 n -0004079389 00000 n -0004079529 00000 n -0004079669 00000 n -0004079809 00000 n -0004079949 00000 n -0004080089 00000 n -0004080229 00000 n -0004080369 00000 n -0004080509 00000 n -0004080649 00000 n -0004080789 00000 n -0004080929 00000 n -0004081069 00000 n -0004081209 00000 n -0004081349 00000 n -0004081489 00000 n -0004081629 00000 n -0004081769 00000 n -0004081909 00000 n -0004082049 00000 n -0004082189 00000 n -0004082329 00000 n -0004082469 00000 n -0004082609 00000 n -0004082749 00000 n -0004082889 00000 n -0004083029 00000 n -0004083169 00000 n -0004083309 00000 n -0004083449 00000 n -0004083589 00000 n -0004083729 00000 n -0004083869 00000 n -0004084009 00000 n -0004084149 00000 n -0004084289 00000 n -0004084429 00000 n -0004084569 00000 n -0004084709 00000 n -0004084849 00000 n -0004084989 00000 n -0004085129 00000 n -0004085269 00000 n -0004085409 00000 n -0004085549 00000 n -0004085689 00000 n -0004085829 00000 n -0004085969 00000 n -0004086109 00000 n -0004086249 00000 n -0004086389 00000 n -0004086529 00000 n -0004086669 00000 n -0004086809 00000 n -0004086949 00000 n -0004087089 00000 n -0004087229 00000 n -0004087369 00000 n -0004087509 00000 n -0004087649 00000 n -0004087789 00000 n -0004087929 00000 n -0004088069 00000 n -0004088209 00000 n -0004088349 00000 n -0004088489 00000 n -0004088629 00000 n -0004088769 00000 n -0004088909 00000 n -0004089049 00000 n -0004089189 00000 n -0004089329 00000 n -0004089469 00000 n -0004089609 00000 n -0004089749 00000 n -0004089889 00000 n -0004090029 00000 n -0004090169 00000 n -0004090309 00000 n -0004090449 00000 n -0004090589 00000 n -0004090729 00000 n -0004090869 00000 n -0004091009 00000 n -0004091149 00000 n -0004091289 00000 n -0004091333 00000 n -0004091377 00000 n -0004091421 00000 n -0004091465 00000 n -0004091509 00000 n -0004091553 00000 n -0004091597 00000 n -0004091641 00000 n -0004091685 00000 n -0004091729 00000 n -0004091773 00000 n -0004091817 00000 n -0004091861 00000 n -0004091905 00000 n -0004091949 00000 n -0004091993 00000 n -0004092037 00000 n -0004092081 00000 n -0004092125 00000 n -0004092169 00000 n -0004092213 00000 n -0004092257 00000 n -0004092301 00000 n -0004092345 00000 n -0004092389 00000 n -0004092433 00000 n -0004092477 00000 n -0004092521 00000 n -0004092565 00000 n -0004092609 00000 n -0004092653 00000 n -0004092697 00000 n -0004092741 00000 n -0004092785 00000 n -0004092829 00000 n -0004092873 00000 n -0004092917 00000 n -0004092961 00000 n -0004093005 00000 n -0004093049 00000 n -0004093093 00000 n -0004093137 00000 n -0004093181 00000 n -0004093225 00000 n -0004093269 00000 n -0004093313 00000 n -0004093357 00000 n -0004093401 00000 n -0004093445 00000 n -0004093489 00000 n -0004093533 00000 n -0004093577 00000 n -0004093621 00000 n -0004093665 00000 n -0004093709 00000 n -0004093753 00000 n -0004093797 00000 n -0004093841 00000 n -0004093885 00000 n -0004093929 00000 n -0004093973 00000 n -0004094017 00000 n -0004094061 00000 n -0004094105 00000 n -0004094149 00000 n -0004094193 00000 n -0004094237 00000 n -0004094281 00000 n -0004094325 00000 n -0004094369 00000 n -0004094413 00000 n -0004094457 00000 n -0004094501 00000 n -0004094545 00000 n -0004094589 00000 n -0004094633 00000 n -0004094964 00000 n -0004095386 00000 n -0004095429 00000 n -0004095472 00000 n -0004095514 00000 n -0004095557 00000 n -0004095601 00000 n -0004095644 00000 n -0004095687 00000 n -0004095755 00000 n -0004095975 00000 n -0004096074 00000 n -0004098974 00000 n -0004099305 00000 n -0004099727 00000 n -0004099768 00000 n -0004099811 00000 n -0004099855 00000 n -0004099923 00000 n -0004100172 00000 n -0004100271 00000 n -0004103996 00000 n -0004104162 00000 n -0004104493 00000 n -0004104915 00000 n -0004104983 00000 n -0004105246 00000 n -0004105345 00000 n -0004107757 00000 n -0004108088 00000 n -0004108510 00000 n -0004108553 00000 n -0004108595 00000 n -0004108638 00000 n -0004108682 00000 n -0004108750 00000 n -0004108984 00000 n -0004109083 00000 n -0004113081 00000 n -0004113412 00000 n -0004113834 00000 n -0004113877 00000 n -0004113920 00000 n -0004113963 00000 n -0004114005 00000 n -0004114073 00000 n -0004114293 00000 n -0004114392 00000 n -0004118370 00000 n -0004118701 00000 n -0004119123 00000 n -0004119164 00000 n -0004119232 00000 n -0004119452 00000 n -0004119551 00000 n -0004123636 00000 n -0004123776 00000 n -0004123916 00000 n -0004124056 00000 n -0004124196 00000 n -0004124336 00000 n -0004124476 00000 n -0004124616 00000 n -0004124756 00000 n -0004124896 00000 n -0004125036 00000 n -0004125176 00000 n -0004125316 00000 n -0004125456 00000 n -0004125596 00000 n -0004125736 00000 n -0004125876 00000 n -0004126016 00000 n -0004126156 00000 n -0004126296 00000 n -0004126436 00000 n -0004126576 00000 n -0004126716 00000 n -0004126856 00000 n -0004126996 00000 n -0004127136 00000 n -0004127276 00000 n -0004127416 00000 n -0004127556 00000 n -0004127696 00000 n -0004127836 00000 n -0004127976 00000 n -0004128116 00000 n -0004128256 00000 n -0004128396 00000 n -0004128536 00000 n -0004128676 00000 n -0004128816 00000 n -0004128956 00000 n -0004129096 00000 n -0004129236 00000 n -0004129376 00000 n -0004129516 00000 n -0004129656 00000 n -0004129796 00000 n -0004129936 00000 n -0004130076 00000 n -0004130216 00000 n -0004130356 00000 n -0004130496 00000 n -0004130636 00000 n -0004130776 00000 n -0004130916 00000 n -0004131056 00000 n -0004131196 00000 n -0004131336 00000 n -0004131476 00000 n -0004131616 00000 n -0004131756 00000 n -0004131896 00000 n -0004132036 00000 n -0004132176 00000 n -0004132316 00000 n -0004132456 00000 n -0004132596 00000 n -0004132736 00000 n -0004132876 00000 n -0004133016 00000 n -0004133156 00000 n -0004133296 00000 n -0004133436 00000 n -0004133576 00000 n -0004133716 00000 n -0004133856 00000 n -0004133996 00000 n -0004134136 00000 n -0004134276 00000 n -0004134416 00000 n -0004134556 00000 n -0004134696 00000 n -0004134836 00000 n -0004134976 00000 n -0004135116 00000 n -0004135256 00000 n -0004135396 00000 n -0004135536 00000 n -0004135676 00000 n -0004135816 00000 n -0004135956 00000 n -0004136096 00000 n -0004136236 00000 n -0004136376 00000 n -0004136516 00000 n -0004136656 00000 n -0004136796 00000 n -0004136936 00000 n -0004137076 00000 n -0004137216 00000 n -0004137356 00000 n -0004137496 00000 n -0004137636 00000 n -0004137776 00000 n -0004137916 00000 n -0004138056 00000 n -0004138196 00000 n -0004138336 00000 n -0004138476 00000 n -0004138616 00000 n -0004138756 00000 n -0004138896 00000 n -0004139036 00000 n -0004139176 00000 n -0004139316 00000 n -0004139456 00000 n -0004139596 00000 n -0004139736 00000 n -0004139876 00000 n -0004140016 00000 n -0004140156 00000 n -0004140296 00000 n -0004140436 00000 n -0004140576 00000 n -0004140716 00000 n -0004140856 00000 n -0004140996 00000 n -0004141136 00000 n -0004141276 00000 n -0004141416 00000 n -0004141556 00000 n -0004141696 00000 n -0004141836 00000 n -0004141976 00000 n -0004142116 00000 n -0004142256 00000 n -0004142396 00000 n -0004142536 00000 n -0004142676 00000 n -0004142816 00000 n -0004142956 00000 n -0004143096 00000 n -0004143236 00000 n -0004143376 00000 n -0004143516 00000 n -0004143656 00000 n -0004143796 00000 n -0004143936 00000 n -0004144076 00000 n -0004144216 00000 n -0004144356 00000 n -0004144496 00000 n -0004144636 00000 n -0004144776 00000 n -0004144916 00000 n -0004145056 00000 n -0004145196 00000 n -0004145336 00000 n -0004145476 00000 n -0004145616 00000 n -0004145756 00000 n -0004145896 00000 n -0004146036 00000 n -0004146176 00000 n -0004146316 00000 n -0004146456 00000 n -0004146596 00000 n -0004146736 00000 n -0004146876 00000 n -0004147016 00000 n -0004147156 00000 n -0004147296 00000 n -0004147436 00000 n -0004147576 00000 n -0004147716 00000 n -0004147856 00000 n -0004147996 00000 n -0004148136 00000 n -0004148276 00000 n -0004148416 00000 n -0004148556 00000 n -0004148696 00000 n -0004148836 00000 n -0004148976 00000 n -0004149116 00000 n -0004149256 00000 n -0004149396 00000 n -0004149536 00000 n -0004149676 00000 n -0004149816 00000 n -0004149956 00000 n -0004150096 00000 n -0004150236 00000 n -0004150376 00000 n -0004150516 00000 n -0004150656 00000 n -0004150796 00000 n -0004150936 00000 n -0004151076 00000 n -0004151216 00000 n -0004151356 00000 n -0004151496 00000 n -0004151636 00000 n -0004151776 00000 n -0004151916 00000 n -0004152056 00000 n -0004152196 00000 n -0004152336 00000 n -0004152476 00000 n -0004152616 00000 n -0004152756 00000 n -0004152896 00000 n -0004153036 00000 n -0004153176 00000 n -0004153316 00000 n -0004153456 00000 n -0004153596 00000 n -0004153736 00000 n -0004153876 00000 n -0004154016 00000 n -0004154156 00000 n -0004154296 00000 n -0004154436 00000 n -0004154576 00000 n -0004154716 00000 n -0004154856 00000 n -0004154996 00000 n -0004155136 00000 n -0004155276 00000 n -0004155416 00000 n -0004155556 00000 n -0004155696 00000 n -0004155836 00000 n -0004155976 00000 n -0004156116 00000 n -0004156256 00000 n -0004156396 00000 n -0004156536 00000 n -0004156676 00000 n -0004156816 00000 n -0004156956 00000 n -0004157096 00000 n -0004157236 00000 n -0004157376 00000 n -0004157516 00000 n -0004157656 00000 n -0004157796 00000 n -0004157936 00000 n -0004158076 00000 n -0004158216 00000 n -0004158356 00000 n -0004158496 00000 n -0004158636 00000 n -0004158776 00000 n -0004158916 00000 n -0004159056 00000 n -0004159196 00000 n -0004159336 00000 n -0004159476 00000 n -0004159616 00000 n -0004159756 00000 n -0004159896 00000 n -0004160036 00000 n -0004160176 00000 n -0004160316 00000 n -0004160456 00000 n -0004160596 00000 n -0004160736 00000 n -0004160876 00000 n -0004161016 00000 n -0004161156 00000 n -0004161296 00000 n -0004161436 00000 n -0004161576 00000 n -0004161620 00000 n -0004161664 00000 n -0004161708 00000 n -0004161752 00000 n -0004161796 00000 n -0004161840 00000 n -0004161884 00000 n -0004161928 00000 n -0004161972 00000 n -0004162016 00000 n -0004162060 00000 n -0004162104 00000 n -0004162148 00000 n -0004162192 00000 n -0004162236 00000 n -0004162280 00000 n -0004162324 00000 n -0004162368 00000 n -0004162412 00000 n -0004162456 00000 n -0004162500 00000 n -0004162544 00000 n -0004162588 00000 n -0004162632 00000 n -0004162676 00000 n -0004162720 00000 n -0004162764 00000 n -0004162808 00000 n -0004162852 00000 n -0004162896 00000 n -0004162940 00000 n -0004162984 00000 n -0004163028 00000 n -0004163072 00000 n -0004163116 00000 n -0004163160 00000 n -0004163204 00000 n -0004163248 00000 n -0004163292 00000 n -0004163336 00000 n -0004163380 00000 n -0004163424 00000 n -0004163468 00000 n -0004163512 00000 n -0004163556 00000 n -0004163600 00000 n -0004163644 00000 n -0004163688 00000 n -0004163732 00000 n -0004163776 00000 n -0004163820 00000 n -0004163864 00000 n -0004163908 00000 n -0004163952 00000 n -0004163996 00000 n -0004164040 00000 n -0004164084 00000 n -0004164128 00000 n -0004164172 00000 n -0004164216 00000 n -0004164260 00000 n -0004164304 00000 n -0004164348 00000 n -0004164392 00000 n -0004164436 00000 n -0004164480 00000 n -0004164524 00000 n -0004164568 00000 n -0004164612 00000 n -0004164656 00000 n -0004164700 00000 n -0004164744 00000 n -0004164788 00000 n -0004164832 00000 n -0004164876 00000 n -0004164920 00000 n -0004164964 00000 n -0004165008 00000 n -0004165052 00000 n -0004165096 00000 n -0004165140 00000 n -0004165184 00000 n -0004165228 00000 n -0004165272 00000 n -0004165316 00000 n -0004165360 00000 n -0004165404 00000 n -0004165448 00000 n -0004165492 00000 n -0004165536 00000 n -0004165580 00000 n -0004165624 00000 n -0004165668 00000 n -0004165712 00000 n -0004165756 00000 n -0004165800 00000 n -0004165844 00000 n -0004165888 00000 n -0004165932 00000 n -0004165976 00000 n -0004166020 00000 n -0004166064 00000 n -0004166108 00000 n -0004166152 00000 n -0004166196 00000 n -0004166240 00000 n -0004166284 00000 n -0004166328 00000 n -0004166372 00000 n -0004166416 00000 n -0004166460 00000 n -0004166504 00000 n -0004166548 00000 n -0004166592 00000 n -0004166636 00000 n -0004166680 00000 n -0004166724 00000 n -0004166768 00000 n -0004166812 00000 n -0004166856 00000 n -0004166900 00000 n -0004167231 00000 n -0004167653 00000 n -0004167697 00000 n -0004167740 00000 n -0004167782 00000 n -0004167826 00000 n -0004167869 00000 n -0004167912 00000 n -0004167956 00000 n -0004167999 00000 n -0004168042 00000 n -0004168086 00000 n -0004168129 00000 n -0004168197 00000 n -0004168474 00000 n -0004168573 00000 n -0004172283 00000 n -0004172449 00000 n -0004172491 00000 n -0004172822 00000 n -0004173244 00000 n -0004173287 00000 n -0004173330 00000 n -0004173372 00000 n -0004173440 00000 n -0004173660 00000 n -0004173759 00000 n -0004177693 00000 n -0004177832 00000 n -0004177971 00000 n -0004178110 00000 n -0004178249 00000 n -0004178388 00000 n -0004178527 00000 n -0004178666 00000 n -0004178805 00000 n -0004178944 00000 n -0004179083 00000 n -0004179222 00000 n -0004179361 00000 n -0004179500 00000 n -0004179639 00000 n -0004179778 00000 n -0004179917 00000 n -0004180056 00000 n -0004180195 00000 n -0004180334 00000 n -0004180473 00000 n -0004180612 00000 n -0004180751 00000 n -0004180890 00000 n -0004181029 00000 n -0004181168 00000 n -0004181307 00000 n -0004181446 00000 n -0004181585 00000 n -0004181724 00000 n -0004181863 00000 n -0004182002 00000 n -0004182141 00000 n -0004182280 00000 n -0004182419 00000 n -0004182558 00000 n -0004182697 00000 n -0004182836 00000 n -0004182975 00000 n -0004183114 00000 n -0004183253 00000 n -0004183392 00000 n -0004183531 00000 n -0004183670 00000 n -0004183809 00000 n -0004183948 00000 n -0004184087 00000 n -0004184226 00000 n -0004184365 00000 n -0004184504 00000 n -0004184643 00000 n -0004184782 00000 n -0004184921 00000 n -0004185060 00000 n -0004185199 00000 n -0004185338 00000 n -0004185477 00000 n -0004185616 00000 n -0004185755 00000 n -0004185894 00000 n -0004186033 00000 n -0004186172 00000 n -0004186311 00000 n -0004186450 00000 n -0004186589 00000 n -0004186728 00000 n -0004186867 00000 n -0004187006 00000 n -0004187145 00000 n -0004187284 00000 n -0004187423 00000 n -0004187562 00000 n -0004187701 00000 n -0004187840 00000 n -0004187979 00000 n -0004188118 00000 n -0004188257 00000 n -0004188396 00000 n -0004188535 00000 n -0004188674 00000 n -0004188813 00000 n -0004188952 00000 n -0004189091 00000 n -0004189230 00000 n -0004189369 00000 n -0004189508 00000 n -0004189647 00000 n -0004189786 00000 n -0004189925 00000 n -0004190064 00000 n -0004190203 00000 n -0004190342 00000 n -0004190481 00000 n -0004190620 00000 n -0004190759 00000 n -0004190898 00000 n -0004191037 00000 n -0004191176 00000 n -0004191315 00000 n -0004191454 00000 n -0004191593 00000 n -0004191732 00000 n -0004191871 00000 n -0004192010 00000 n -0004192149 00000 n -0004192288 00000 n -0004192427 00000 n -0004192566 00000 n -0004192705 00000 n -0004192844 00000 n -0004192983 00000 n -0004193122 00000 n -0004193261 00000 n -0004193400 00000 n -0004193539 00000 n -0004193678 00000 n -0004193817 00000 n -0004193956 00000 n -0004194095 00000 n -0004194234 00000 n -0004194373 00000 n -0004194512 00000 n -0004194651 00000 n -0004194790 00000 n -0004194929 00000 n -0004195068 00000 n -0004195207 00000 n -0004195346 00000 n -0004195485 00000 n -0004195624 00000 n -0004195763 00000 n -0004195902 00000 n -0004196041 00000 n -0004196180 00000 n -0004196319 00000 n -0004196458 00000 n -0004196597 00000 n -0004196736 00000 n -0004196875 00000 n -0004197014 00000 n -0004197153 00000 n -0004197292 00000 n -0004197431 00000 n -0004197570 00000 n -0004197709 00000 n -0004197848 00000 n -0004197987 00000 n -0004198126 00000 n -0004198265 00000 n -0004198404 00000 n -0004198543 00000 n -0004198682 00000 n -0004198821 00000 n -0004198960 00000 n -0004199099 00000 n -0004199238 00000 n -0004199377 00000 n -0004199516 00000 n -0004199655 00000 n -0004199794 00000 n -0004199933 00000 n -0004200072 00000 n -0004200211 00000 n -0004200350 00000 n -0004200489 00000 n -0004200628 00000 n -0004200767 00000 n -0004200906 00000 n -0004201045 00000 n -0004201184 00000 n -0004201323 00000 n -0004201462 00000 n -0004201601 00000 n -0004201740 00000 n -0004201879 00000 n -0004202018 00000 n -0004202157 00000 n -0004202296 00000 n -0004202435 00000 n -0004202574 00000 n -0004202713 00000 n -0004202852 00000 n -0004202991 00000 n -0004203130 00000 n -0004203269 00000 n -0004203408 00000 n -0004203547 00000 n -0004203686 00000 n -0004203825 00000 n -0004203964 00000 n -0004204103 00000 n -0004204242 00000 n -0004204381 00000 n -0004204520 00000 n -0004204659 00000 n -0004204798 00000 n -0004204937 00000 n -0004205076 00000 n -0004205215 00000 n -0004205354 00000 n -0004205493 00000 n -0004205632 00000 n -0004205771 00000 n -0004205910 00000 n -0004206049 00000 n -0004206188 00000 n -0004206327 00000 n -0004206466 00000 n -0004206605 00000 n -0004206744 00000 n -0004206883 00000 n -0004207022 00000 n -0004207161 00000 n -0004207300 00000 n -0004207439 00000 n -0004207578 00000 n -0004207717 00000 n -0004207856 00000 n -0004207995 00000 n -0004208134 00000 n -0004208273 00000 n -0004208412 00000 n -0004208551 00000 n -0004208690 00000 n -0004208829 00000 n -0004208968 00000 n -0004209107 00000 n -0004209246 00000 n -0004209385 00000 n -0004209524 00000 n -0004209663 00000 n -0004209802 00000 n -0004209941 00000 n -0004210080 00000 n -0004210219 00000 n -0004210358 00000 n -0004210497 00000 n -0004210636 00000 n -0004210775 00000 n -0004210914 00000 n -0004211053 00000 n -0004211192 00000 n -0004211331 00000 n -0004211470 00000 n -0004211609 00000 n -0004211748 00000 n -0004211887 00000 n -0004212026 00000 n -0004212165 00000 n -0004212304 00000 n -0004212443 00000 n -0004212582 00000 n -0004212721 00000 n -0004212860 00000 n -0004212999 00000 n -0004213138 00000 n -0004213277 00000 n -0004213416 00000 n -0004213555 00000 n -0004213694 00000 n -0004213833 00000 n -0004213972 00000 n -0004214111 00000 n -0004214250 00000 n -0004214389 00000 n -0004214528 00000 n -0004214667 00000 n -0004214806 00000 n -0004214945 00000 n -0004215084 00000 n -0004215223 00000 n -0004215362 00000 n -0004215501 00000 n -0004215640 00000 n -0004215779 00000 n -0004215918 00000 n -0004216057 00000 n -0004216196 00000 n -0004216335 00000 n -0004216474 00000 n -0004216613 00000 n -0004216752 00000 n -0004216891 00000 n -0004217030 00000 n -0004217169 00000 n -0004217308 00000 n -0004217447 00000 n -0004217586 00000 n -0004217725 00000 n -0004217864 00000 n -0004217907 00000 n -0004217950 00000 n -0004217993 00000 n -0004218036 00000 n -0004218079 00000 n -0004218122 00000 n -0004218165 00000 n -0004218208 00000 n -0004218251 00000 n -0004218294 00000 n -0004218337 00000 n -0004218380 00000 n -0004218423 00000 n -0004218466 00000 n -0004218509 00000 n -0004218552 00000 n -0004218595 00000 n -0004218638 00000 n -0004218681 00000 n -0004218724 00000 n -0004218767 00000 n -0004218810 00000 n -0004218853 00000 n -0004218896 00000 n -0004218939 00000 n -0004218982 00000 n -0004219025 00000 n -0004219068 00000 n -0004219111 00000 n -0004219154 00000 n -0004219197 00000 n -0004219240 00000 n -0004219283 00000 n -0004219326 00000 n -0004219369 00000 n -0004219412 00000 n -0004219455 00000 n -0004219498 00000 n -0004219541 00000 n -0004219584 00000 n -0004219627 00000 n -0004219670 00000 n -0004219713 00000 n -0004219756 00000 n -0004219799 00000 n -0004219842 00000 n -0004219885 00000 n -0004219928 00000 n -0004219971 00000 n -0004220014 00000 n -0004220057 00000 n -0004220100 00000 n -0004220143 00000 n -0004220186 00000 n -0004220229 00000 n -0004220272 00000 n -0004220315 00000 n -0004220358 00000 n -0004220401 00000 n -0004220444 00000 n -0004220487 00000 n -0004220530 00000 n -0004220573 00000 n -0004220616 00000 n -0004220659 00000 n -0004220702 00000 n -0004220745 00000 n -0004220788 00000 n -0004220831 00000 n -0004220874 00000 n -0004220917 00000 n -0004220960 00000 n -0004221003 00000 n -0004221046 00000 n -0004221089 00000 n -0004221132 00000 n -0004221175 00000 n -0004221218 00000 n -0004221261 00000 n -0004221304 00000 n -0004221347 00000 n -0004221390 00000 n -0004221433 00000 n -0004221476 00000 n -0004221519 00000 n -0004221562 00000 n -0004221605 00000 n -0004221648 00000 n -0004221691 00000 n -0004221734 00000 n -0004221777 00000 n -0004221820 00000 n -0004221863 00000 n -0004221906 00000 n -0004221949 00000 n -0004221992 00000 n -0004222035 00000 n -0004222078 00000 n -0004222121 00000 n -0004222164 00000 n -0004222207 00000 n -0004222250 00000 n -0004222293 00000 n -0004222336 00000 n -0004222379 00000 n -0004222422 00000 n -0004222465 00000 n -0004222508 00000 n -0004222551 00000 n -0004222594 00000 n -0004222637 00000 n -0004222680 00000 n -0004222723 00000 n -0004222766 00000 n -0004222809 00000 n -0004222852 00000 n -0004222895 00000 n -0004222938 00000 n -0004222981 00000 n -0004223024 00000 n -0004223067 00000 n -0004223110 00000 n -0004223153 00000 n -0004223196 00000 n -0004223239 00000 n -0004223282 00000 n -0004223325 00000 n -0004223368 00000 n -0004223411 00000 n -0004223454 00000 n -0004223497 00000 n -0004223540 00000 n -0004223583 00000 n -0004223626 00000 n -0004223669 00000 n -0004223712 00000 n -0004223755 00000 n -0004223798 00000 n -0004223841 00000 n -0004223884 00000 n -0004223927 00000 n -0004223970 00000 n -0004224301 00000 n -0004224723 00000 n -0004224766 00000 n -0004224809 00000 n -0004224852 00000 n -0004224895 00000 n -0004224938 00000 n -0004225006 00000 n -0004225255 00000 n -0004225354 00000 n -0004227388 00000 n -0004227719 00000 n -0004228141 00000 n -0004228185 00000 n -0004228228 00000 n -0004228967 00000 n -0004229010 00000 n -0004231236 00000 n -0004231304 00000 n -0004231552 00000 n -0004231651 00000 n -0004235469 00000 n -0004235635 00000 n -0004235677 00000 n -0004236008 00000 n -0004236430 00000 n -0004236472 00000 n -0004236540 00000 n -0004236760 00000 n -0004236859 00000 n -0004241693 00000 n -0004242024 00000 n -0004242446 00000 n -0004242514 00000 n -0004242749 00000 n -0004242848 00000 n -0004247033 00000 n -0004247173 00000 n -0004247313 00000 n -0004247453 00000 n -0004247593 00000 n -0004247733 00000 n -0004247873 00000 n -0004248013 00000 n -0004248153 00000 n -0004248293 00000 n -0004248433 00000 n -0004248573 00000 n -0004248713 00000 n -0004248853 00000 n -0004248993 00000 n -0004249133 00000 n -0004249273 00000 n -0004249413 00000 n -0004249553 00000 n -0004249693 00000 n -0004249833 00000 n -0004249973 00000 n -0004250113 00000 n -0004250253 00000 n -0004250393 00000 n -0004250533 00000 n -0004250673 00000 n -0004250813 00000 n -0004250953 00000 n -0004251093 00000 n -0004251233 00000 n -0004251373 00000 n -0004251513 00000 n -0004251653 00000 n -0004251793 00000 n -0004251933 00000 n -0004252073 00000 n -0004252213 00000 n -0004252353 00000 n -0004252493 00000 n -0004252633 00000 n -0004252773 00000 n -0004252913 00000 n -0004253053 00000 n -0004253193 00000 n -0004253333 00000 n -0004253473 00000 n -0004253613 00000 n -0004253753 00000 n -0004253893 00000 n -0004254033 00000 n -0004254173 00000 n -0004254313 00000 n -0004254453 00000 n -0004254593 00000 n -0004254733 00000 n -0004254873 00000 n -0004255013 00000 n -0004255153 00000 n -0004255293 00000 n -0004255433 00000 n -0004255573 00000 n -0004255713 00000 n -0004255853 00000 n -0004255993 00000 n -0004256133 00000 n -0004256273 00000 n -0004256413 00000 n -0004256553 00000 n -0004256693 00000 n -0004256833 00000 n -0004256973 00000 n -0004257113 00000 n -0004257253 00000 n -0004257393 00000 n -0004257533 00000 n -0004257673 00000 n -0004257813 00000 n -0004257953 00000 n -0004258093 00000 n -0004258233 00000 n -0004258373 00000 n -0004258513 00000 n -0004258653 00000 n -0004258793 00000 n -0004258933 00000 n -0004259073 00000 n -0004259213 00000 n -0004259353 00000 n -0004259493 00000 n -0004259633 00000 n -0004259773 00000 n -0004259913 00000 n -0004260053 00000 n -0004260193 00000 n -0004260333 00000 n -0004260473 00000 n -0004260613 00000 n -0004260753 00000 n -0004260893 00000 n -0004261033 00000 n -0004261173 00000 n -0004261313 00000 n -0004261453 00000 n -0004261593 00000 n -0004261733 00000 n -0004261873 00000 n -0004262013 00000 n -0004262153 00000 n -0004262293 00000 n -0004262433 00000 n -0004262573 00000 n -0004262713 00000 n -0004262853 00000 n -0004262993 00000 n -0004263133 00000 n -0004263273 00000 n -0004263413 00000 n -0004263553 00000 n -0004263693 00000 n -0004263833 00000 n -0004263973 00000 n -0004264113 00000 n -0004264253 00000 n -0004264393 00000 n -0004264533 00000 n -0004264673 00000 n -0004264813 00000 n -0004264953 00000 n -0004265093 00000 n -0004265233 00000 n -0004265373 00000 n -0004265513 00000 n -0004265653 00000 n -0004265793 00000 n -0004265933 00000 n -0004266073 00000 n -0004266213 00000 n -0004266353 00000 n -0004266493 00000 n -0004266633 00000 n -0004266773 00000 n -0004266913 00000 n -0004267053 00000 n -0004267193 00000 n -0004267333 00000 n -0004267473 00000 n -0004267613 00000 n -0004267753 00000 n -0004267893 00000 n -0004268033 00000 n -0004268173 00000 n -0004268313 00000 n -0004268453 00000 n -0004268593 00000 n -0004268733 00000 n -0004268873 00000 n -0004269013 00000 n -0004269153 00000 n -0004269293 00000 n -0004269433 00000 n -0004269573 00000 n -0004269713 00000 n -0004269853 00000 n -0004269993 00000 n -0004270133 00000 n -0004270273 00000 n -0004270413 00000 n -0004270553 00000 n -0004270693 00000 n -0004270833 00000 n -0004270973 00000 n -0004271113 00000 n -0004271253 00000 n -0004271393 00000 n -0004271533 00000 n -0004271673 00000 n -0004271813 00000 n -0004271953 00000 n -0004272093 00000 n -0004272233 00000 n -0004272373 00000 n -0004272513 00000 n -0004272653 00000 n -0004272793 00000 n -0004272933 00000 n -0004273073 00000 n -0004273213 00000 n -0004273353 00000 n -0004273493 00000 n -0004273633 00000 n -0004273773 00000 n -0004273913 00000 n -0004274053 00000 n -0004274193 00000 n -0004274333 00000 n -0004274473 00000 n -0004274613 00000 n -0004274753 00000 n -0004274893 00000 n -0004275033 00000 n -0004275173 00000 n -0004275313 00000 n -0004275357 00000 n -0004275401 00000 n -0004275445 00000 n -0004275489 00000 n -0004275533 00000 n -0004275577 00000 n -0004275621 00000 n -0004275665 00000 n -0004275709 00000 n -0004275753 00000 n -0004275797 00000 n -0004275841 00000 n -0004275885 00000 n -0004275929 00000 n -0004275973 00000 n -0004276017 00000 n -0004276061 00000 n -0004276105 00000 n -0004276149 00000 n -0004276193 00000 n -0004276237 00000 n -0004276281 00000 n -0004276325 00000 n -0004276369 00000 n -0004276413 00000 n -0004276457 00000 n -0004276501 00000 n -0004276545 00000 n -0004276589 00000 n -0004276633 00000 n -0004276677 00000 n -0004276721 00000 n -0004276765 00000 n -0004276809 00000 n -0004276853 00000 n -0004276897 00000 n -0004276941 00000 n -0004276985 00000 n -0004277029 00000 n -0004277073 00000 n -0004277117 00000 n -0004277161 00000 n -0004277205 00000 n -0004277249 00000 n -0004277293 00000 n -0004277337 00000 n -0004277381 00000 n -0004277425 00000 n -0004277469 00000 n -0004277513 00000 n -0004277557 00000 n -0004277601 00000 n -0004277645 00000 n -0004277689 00000 n -0004277733 00000 n -0004277777 00000 n -0004277821 00000 n -0004277865 00000 n -0004277909 00000 n -0004277953 00000 n -0004277997 00000 n -0004278041 00000 n -0004278085 00000 n -0004278129 00000 n -0004278173 00000 n -0004278217 00000 n -0004278261 00000 n -0004278305 00000 n -0004278349 00000 n -0004278393 00000 n -0004278437 00000 n -0004278481 00000 n -0004278525 00000 n -0004278569 00000 n -0004278613 00000 n -0004278657 00000 n -0004278701 00000 n -0004278745 00000 n -0004278789 00000 n -0004278833 00000 n -0004278877 00000 n -0004278921 00000 n -0004278965 00000 n -0004279009 00000 n -0004279053 00000 n -0004279097 00000 n -0004279141 00000 n -0004279185 00000 n -0004279229 00000 n -0004279273 00000 n -0004279317 00000 n -0004279361 00000 n -0004279405 00000 n -0004279449 00000 n -0004279493 00000 n -0004279537 00000 n -0004279581 00000 n -0004279625 00000 n -0004279669 00000 n -0004280000 00000 n -0004280422 00000 n -0004280466 00000 n -0004280534 00000 n -0004280768 00000 n -0004280867 00000 n -0004284716 00000 n -0004285047 00000 n -0004285469 00000 n -0004285800 00000 n -0004286222 00000 n -0004286265 00000 n -0004286333 00000 n -0004286596 00000 n -0004286695 00000 n -0004289166 00000 n -0004289209 00000 n -0004289253 00000 n -0004289296 00000 n -0004289340 00000 n -0004289383 00000 n -0004289426 00000 n -0004292645 00000 n -0004292686 00000 n -0004292729 00000 n -0004292770 00000 n -0004292813 00000 n -0004292881 00000 n -0004293158 00000 n -0004293257 00000 n -0004297560 00000 n -0004297891 00000 n -0004298313 00000 n -0004298382 00000 n -0004300342 00000 n -0004300442 00000 n -0004317319 00000 n -0004317384 00000 n -0004317822 00000 n -0004318018 00000 n -0004318349 00000 n -0004318521 00000 n -0004319432 00000 n -0004321820 00000 n -0004322242 00000 n -0004322853 00000 n -0004324645 00000 n -0004325274 00000 n -0004333702 00000 n -0004334822 00000 n -0004349255 00000 n -0004364068 00000 n -0004365914 00000 n -0004367061 00000 n -0004367348 00000 n -0004367646 00000 n -0004370938 00000 n -0004370981 00000 n -0004371024 00000 n -0004371092 00000 n -0004371341 00000 n -0004371440 00000 n -0004375685 00000 n -0004376016 00000 n -0004376438 00000 n -0004376482 00000 n -0004376525 00000 n -0004376593 00000 n -0004376828 00000 n -0004376927 00000 n -0004380968 00000 n -0004381299 00000 n -0004381721 00000 n -0004381764 00000 n -0004381807 00000 n -0004381851 00000 n -0004381919 00000 n -0004382153 00000 n -0004382252 00000 n -0004387399 00000 n -0004387442 00000 n -0004387486 00000 n -0004387529 00000 n -0004387572 00000 n -0004387615 00000 n -0004387683 00000 n -0004387932 00000 n -0004388031 00000 n -0004391897 00000 n -0004392228 00000 n -0004392650 00000 n -0004392693 00000 n -0004392761 00000 n -0004392981 00000 n -0004393080 00000 n -0004398333 00000 n -0004398664 00000 n -0004399086 00000 n -0004399128 00000 n -0004399171 00000 n -0004399239 00000 n -0004399459 00000 n -0004399558 00000 n -0004404207 00000 n -0004404538 00000 n -0004404960 00000 n -0004405003 00000 n -0004405334 00000 n -0004405756 00000 n -0004405800 00000 n -0004405843 00000 n -0004405886 00000 n -0004405954 00000 n -0004406174 00000 n -0004406273 00000 n -0004410871 00000 n -0004411011 00000 n -0004411151 00000 n -0004411291 00000 n -0004411431 00000 n -0004411571 00000 n -0004411711 00000 n -0004411851 00000 n -0004411991 00000 n -0004412131 00000 n -0004412271 00000 n -0004412411 00000 n -0004412551 00000 n -0004412691 00000 n -0004412831 00000 n -0004412971 00000 n -0004413111 00000 n -0004413251 00000 n -0004413391 00000 n -0004413531 00000 n -0004413671 00000 n -0004413811 00000 n -0004413951 00000 n -0004414091 00000 n -0004414231 00000 n -0004414371 00000 n -0004414511 00000 n -0004414651 00000 n -0004414791 00000 n -0004414931 00000 n -0004415071 00000 n -0004415211 00000 n -0004415351 00000 n -0004415491 00000 n -0004415631 00000 n -0004415771 00000 n -0004415911 00000 n -0004416051 00000 n -0004416191 00000 n -0004416331 00000 n -0004416471 00000 n -0004416611 00000 n -0004416751 00000 n -0004416891 00000 n -0004417031 00000 n -0004417171 00000 n -0004417311 00000 n -0004417451 00000 n -0004417591 00000 n -0004417731 00000 n -0004417871 00000 n -0004418011 00000 n -0004418151 00000 n -0004418291 00000 n -0004418431 00000 n -0004418571 00000 n -0004418711 00000 n -0004418851 00000 n -0004418991 00000 n -0004419131 00000 n -0004419271 00000 n -0004419411 00000 n -0004419551 00000 n -0004419691 00000 n -0004419831 00000 n -0004419971 00000 n -0004420111 00000 n -0004420251 00000 n -0004420391 00000 n -0004420531 00000 n -0004420671 00000 n -0004420811 00000 n -0004420951 00000 n -0004421091 00000 n -0004421231 00000 n -0004421371 00000 n -0004421511 00000 n -0004421651 00000 n -0004421791 00000 n -0004421931 00000 n -0004422071 00000 n -0004422211 00000 n -0004422351 00000 n -0004422491 00000 n -0004422631 00000 n -0004422771 00000 n -0004422911 00000 n -0004423051 00000 n -0004423191 00000 n -0004423331 00000 n -0004423471 00000 n -0004423611 00000 n -0004423751 00000 n -0004423891 00000 n -0004424031 00000 n -0004424171 00000 n -0004424311 00000 n -0004424451 00000 n -0004424591 00000 n -0004424731 00000 n -0004424871 00000 n -0004425011 00000 n -0004425151 00000 n -0004425291 00000 n -0004425431 00000 n -0004425571 00000 n -0004425711 00000 n -0004425851 00000 n -0004425991 00000 n -0004426131 00000 n -0004426271 00000 n -0004426411 00000 n -0004426551 00000 n -0004426691 00000 n -0004426831 00000 n -0004426971 00000 n -0004427111 00000 n -0004427251 00000 n -0004427391 00000 n -0004427531 00000 n -0004427671 00000 n -0004427811 00000 n -0004427951 00000 n -0004428091 00000 n -0004428231 00000 n -0004428371 00000 n -0004428511 00000 n -0004428651 00000 n -0004428791 00000 n -0004428931 00000 n -0004429071 00000 n -0004429211 00000 n -0004429351 00000 n -0004429491 00000 n -0004429631 00000 n -0004429771 00000 n -0004429911 00000 n -0004430051 00000 n -0004430191 00000 n -0004430331 00000 n -0004430471 00000 n -0004430611 00000 n -0004430751 00000 n -0004430891 00000 n -0004431031 00000 n -0004431171 00000 n -0004431311 00000 n -0004431451 00000 n -0004431591 00000 n -0004431731 00000 n -0004431871 00000 n -0004432011 00000 n -0004432151 00000 n -0004432291 00000 n -0004432431 00000 n -0004432571 00000 n -0004432711 00000 n -0004432851 00000 n -0004432991 00000 n -0004433131 00000 n -0004433271 00000 n -0004433411 00000 n -0004433551 00000 n -0004433691 00000 n -0004433831 00000 n -0004433971 00000 n -0004434111 00000 n -0004434251 00000 n -0004434391 00000 n -0004434531 00000 n -0004434671 00000 n -0004434811 00000 n -0004434951 00000 n -0004435091 00000 n -0004435231 00000 n -0004435371 00000 n -0004435511 00000 n -0004435651 00000 n -0004435791 00000 n -0004435931 00000 n -0004436071 00000 n -0004436211 00000 n -0004436351 00000 n -0004436491 00000 n -0004436631 00000 n -0004436771 00000 n -0004436911 00000 n -0004437051 00000 n -0004437191 00000 n -0004437331 00000 n -0004437471 00000 n -0004437611 00000 n -0004437751 00000 n -0004437891 00000 n -0004438031 00000 n -0004438171 00000 n -0004438311 00000 n -0004438451 00000 n -0004438591 00000 n -0004438731 00000 n -0004438871 00000 n -0004439011 00000 n -0004439151 00000 n -0004439291 00000 n -0004439431 00000 n -0004439571 00000 n -0004439711 00000 n -0004439851 00000 n -0004439991 00000 n -0004440131 00000 n -0004440271 00000 n -0004440411 00000 n -0004440551 00000 n -0004440691 00000 n -0004440831 00000 n -0004440971 00000 n -0004441111 00000 n -0004441251 00000 n -0004441391 00000 n -0004441531 00000 n -0004441671 00000 n -0004441811 00000 n -0004441951 00000 n -0004442091 00000 n -0004442231 00000 n -0004442371 00000 n -0004442511 00000 n -0004442651 00000 n -0004442791 00000 n -0004442931 00000 n -0004443071 00000 n -0004443211 00000 n -0004443351 00000 n -0004443491 00000 n -0004443631 00000 n -0004443771 00000 n -0004443911 00000 n -0004444051 00000 n -0004444191 00000 n -0004444331 00000 n -0004444471 00000 n -0004444611 00000 n -0004444751 00000 n -0004444891 00000 n -0004445031 00000 n -0004445171 00000 n -0004445311 00000 n -0004445451 00000 n -0004445591 00000 n -0004445731 00000 n -0004445871 00000 n -0004446011 00000 n -0004446151 00000 n -0004446291 00000 n -0004446431 00000 n -0004446571 00000 n -0004446711 00000 n -0004446851 00000 n -0004446991 00000 n -0004447131 00000 n -0004447271 00000 n -0004447411 00000 n -0004447551 00000 n -0004447691 00000 n -0004447831 00000 n -0004447971 00000 n -0004448111 00000 n -0004448251 00000 n -0004448391 00000 n -0004448531 00000 n -0004448671 00000 n -0004448811 00000 n -0004448951 00000 n -0004449091 00000 n -0004449231 00000 n -0004449371 00000 n -0004449511 00000 n -0004449651 00000 n -0004449791 00000 n -0004449931 00000 n -0004450071 00000 n -0004450211 00000 n -0004450351 00000 n -0004450491 00000 n -0004450631 00000 n -0004450771 00000 n -0004450911 00000 n -0004451051 00000 n -0004451191 00000 n -0004451331 00000 n -0004451471 00000 n -0004451611 00000 n -0004451751 00000 n -0004451891 00000 n -0004452031 00000 n -0004452171 00000 n -0004452311 00000 n -0004452451 00000 n -0004452591 00000 n -0004452731 00000 n -0004452871 00000 n -0004453011 00000 n -0004453151 00000 n -0004453291 00000 n -0004453431 00000 n -0004453571 00000 n -0004453711 00000 n -0004453851 00000 n -0004453991 00000 n -0004454131 00000 n -0004454271 00000 n -0004454411 00000 n -0004454551 00000 n -0004454691 00000 n -0004454831 00000 n -0004454971 00000 n -0004455111 00000 n -0004455251 00000 n -0004455391 00000 n -0004455531 00000 n -0004455671 00000 n -0004455811 00000 n -0004455951 00000 n -0004456091 00000 n -0004456231 00000 n -0004456371 00000 n -0004456511 00000 n -0004456651 00000 n -0004456791 00000 n -0004456931 00000 n -0004457071 00000 n -0004457211 00000 n -0004457351 00000 n -0004457491 00000 n -0004457631 00000 n -0004457771 00000 n -0004457911 00000 n -0004458051 00000 n -0004458191 00000 n -0004458331 00000 n -0004458471 00000 n -0004458515 00000 n -0004458559 00000 n -0004458603 00000 n -0004458647 00000 n -0004458691 00000 n -0004458735 00000 n -0004458779 00000 n -0004458823 00000 n -0004458867 00000 n -0004458911 00000 n -0004458955 00000 n -0004458999 00000 n -0004459043 00000 n -0004459087 00000 n -0004459131 00000 n -0004459175 00000 n -0004459219 00000 n -0004459263 00000 n -0004459307 00000 n -0004459351 00000 n -0004459395 00000 n -0004459439 00000 n -0004459483 00000 n -0004459527 00000 n -0004459571 00000 n -0004459615 00000 n -0004459659 00000 n -0004459703 00000 n -0004459747 00000 n -0004459791 00000 n -0004459835 00000 n -0004459879 00000 n -0004459923 00000 n -0004459967 00000 n -0004460011 00000 n -0004460055 00000 n -0004460099 00000 n -0004460143 00000 n -0004460187 00000 n -0004460231 00000 n -0004460275 00000 n -0004460319 00000 n -0004460363 00000 n -0004460407 00000 n -0004460451 00000 n -0004460495 00000 n -0004460539 00000 n -0004460583 00000 n -0004460627 00000 n -0004460671 00000 n -0004460715 00000 n -0004460759 00000 n -0004460803 00000 n -0004460847 00000 n -0004460891 00000 n -0004460935 00000 n -0004460979 00000 n -0004461023 00000 n -0004461067 00000 n -0004461111 00000 n -0004461155 00000 n -0004461199 00000 n -0004461243 00000 n -0004461287 00000 n -0004461331 00000 n -0004461375 00000 n -0004461419 00000 n -0004461463 00000 n -0004461507 00000 n -0004461551 00000 n -0004461595 00000 n -0004461639 00000 n -0004461683 00000 n -0004461727 00000 n -0004461771 00000 n -0004461815 00000 n -0004461859 00000 n -0004461903 00000 n -0004461947 00000 n -0004461991 00000 n -0004462035 00000 n -0004462079 00000 n -0004462123 00000 n -0004462167 00000 n -0004462211 00000 n -0004462255 00000 n -0004462299 00000 n -0004462343 00000 n -0004462387 00000 n -0004462431 00000 n -0004462475 00000 n -0004462519 00000 n -0004462563 00000 n -0004462607 00000 n -0004462651 00000 n -0004462695 00000 n -0004462739 00000 n -0004462783 00000 n -0004462827 00000 n -0004462871 00000 n -0004462915 00000 n -0004462959 00000 n -0004463003 00000 n -0004463047 00000 n -0004463091 00000 n -0004463135 00000 n -0004463179 00000 n -0004463223 00000 n -0004463267 00000 n -0004463311 00000 n -0004463355 00000 n -0004463399 00000 n -0004463443 00000 n -0004463487 00000 n -0004463531 00000 n -0004463575 00000 n -0004463619 00000 n -0004463663 00000 n -0004463707 00000 n -0004463751 00000 n -0004463795 00000 n -0004463839 00000 n -0004463883 00000 n -0004463927 00000 n -0004463971 00000 n -0004464015 00000 n -0004464059 00000 n -0004464103 00000 n -0004464147 00000 n -0004464191 00000 n -0004464235 00000 n -0004464279 00000 n -0004464323 00000 n -0004464367 00000 n -0004464411 00000 n -0004464455 00000 n -0004464499 00000 n -0004464543 00000 n -0004464587 00000 n -0004464631 00000 n -0004464675 00000 n -0004464719 00000 n -0004464763 00000 n -0004464807 00000 n -0004464851 00000 n -0004464895 00000 n -0004464939 00000 n -0004464983 00000 n -0004465027 00000 n -0004465071 00000 n -0004465115 00000 n -0004465159 00000 n -0004465203 00000 n -0004465247 00000 n -0004465291 00000 n -0004465335 00000 n -0004465379 00000 n -0004465423 00000 n -0004465467 00000 n -0004465511 00000 n -0004465555 00000 n -0004465599 00000 n -0004465643 00000 n -0004465687 00000 n -0004465731 00000 n -0004465775 00000 n -0004465819 00000 n -0004465863 00000 n -0004465907 00000 n -0004465951 00000 n -0004465995 00000 n -0004466039 00000 n -0004466083 00000 n -0004466127 00000 n -0004466171 00000 n -0004466215 00000 n -0004466259 00000 n -0004466303 00000 n -0004466347 00000 n -0004466391 00000 n -0004466722 00000 n -0004467144 00000 n -0004467188 00000 n -0004467231 00000 n -0004467274 00000 n -0004467317 00000 n -0004467359 00000 n -0004467402 00000 n -0004467445 00000 n -0004467488 00000 n -0004467556 00000 n -0004467805 00000 n -0004467904 00000 n -0004469665 00000 n -0004469996 00000 n -0004470418 00000 n -0004470486 00000 n -0004470735 00000 n -0004470834 00000 n -0004474580 00000 n -0004474746 00000 n -0004474788 00000 n -0004475119 00000 n -0004475541 00000 n -0004475584 00000 n -0004475652 00000 n -0004475915 00000 n -0004476014 00000 n -0004479774 00000 n -0004479940 00000 n -0004479982 00000 n -0004480313 00000 n -0004480735 00000 n -0004481066 00000 n -0004481488 00000 n -0004481532 00000 n -0004481576 00000 n -0004481619 00000 n -0004481662 00000 n -0004481705 00000 n -0004481748 00000 n -0004481791 00000 n -0004481834 00000 n -0004481902 00000 n -0004482165 00000 n -0004482264 00000 n -0004486077 00000 n -0004486408 00000 n -0004486830 00000 n -0004486873 00000 n -0004486941 00000 n -0004487209 00000 n -0004487308 00000 n -0004487683 00000 n -0004487883 00000 n -0004489089 00000 n -0004490291 00000 n -0004490622 00000 n -0004491044 00000 n -0004492365 00000 n -0004494173 00000 n -0004495494 00000 n -0004508274 00000 n -0004508580 00000 n -0004508622 00000 n -0004508690 00000 n -0004508939 00000 n -0004509038 00000 n -0004511833 00000 n -0004512164 00000 n -0004512586 00000 n -0004512654 00000 n -0004512874 00000 n -0004512973 00000 n -0004516816 00000 n -0004517147 00000 n -0004517569 00000 n -0004517612 00000 n -0004517656 00000 n -0004517699 00000 n -0004517767 00000 n -0004518001 00000 n -0004518100 00000 n -0004520496 00000 n -0004520539 00000 n -0004520583 00000 n -0004520626 00000 n -0004520669 00000 n -0004520713 00000 n -0004520781 00000 n -0004521015 00000 n -0004521114 00000 n -0004525029 00000 n -0004525196 00000 n -0004525527 00000 n -0004525949 00000 n -0004525992 00000 n -0004526035 00000 n -0004526103 00000 n -0004526338 00000 n -0004526437 00000 n -0004530804 00000 n -0004530944 00000 n -0004531084 00000 n -0004531224 00000 n -0004531364 00000 n -0004531504 00000 n -0004531644 00000 n -0004531784 00000 n -0004531924 00000 n -0004532064 00000 n -0004532204 00000 n -0004532344 00000 n -0004532484 00000 n -0004532624 00000 n -0004532764 00000 n -0004532904 00000 n -0004533044 00000 n -0004533184 00000 n -0004533324 00000 n -0004533464 00000 n -0004533604 00000 n -0004533744 00000 n -0004533884 00000 n -0004534024 00000 n -0004534164 00000 n -0004534304 00000 n -0004534444 00000 n -0004534584 00000 n -0004534724 00000 n -0004534864 00000 n -0004535004 00000 n -0004535144 00000 n -0004535284 00000 n -0004535424 00000 n -0004535564 00000 n -0004535704 00000 n -0004535844 00000 n -0004535984 00000 n -0004536124 00000 n -0004536264 00000 n -0004536404 00000 n -0004536544 00000 n -0004536684 00000 n -0004536824 00000 n -0004536964 00000 n -0004537104 00000 n -0004537244 00000 n -0004537384 00000 n -0004537524 00000 n -0004537664 00000 n -0004537804 00000 n -0004537944 00000 n -0004538084 00000 n -0004538224 00000 n -0004538364 00000 n -0004538504 00000 n -0004538644 00000 n -0004538784 00000 n -0004538924 00000 n -0004539064 00000 n -0004539204 00000 n -0004539344 00000 n -0004539484 00000 n -0004539624 00000 n -0004539764 00000 n -0004539904 00000 n -0004540044 00000 n -0004540184 00000 n -0004540324 00000 n -0004540464 00000 n -0004540604 00000 n -0004540744 00000 n -0004540884 00000 n -0004541024 00000 n -0004541164 00000 n -0004541304 00000 n -0004541444 00000 n -0004541584 00000 n -0004541724 00000 n -0004541864 00000 n -0004542004 00000 n -0004542144 00000 n -0004542284 00000 n -0004542424 00000 n -0004542564 00000 n -0004542704 00000 n -0004542844 00000 n -0004542984 00000 n -0004543124 00000 n -0004543264 00000 n -0004543404 00000 n -0004543544 00000 n -0004543684 00000 n -0004543824 00000 n -0004543964 00000 n -0004544104 00000 n -0004544244 00000 n -0004544384 00000 n -0004544524 00000 n -0004544664 00000 n -0004544804 00000 n -0004544944 00000 n -0004545084 00000 n -0004545224 00000 n -0004545364 00000 n -0004545504 00000 n -0004545644 00000 n -0004545784 00000 n -0004545924 00000 n -0004546064 00000 n -0004546204 00000 n -0004546344 00000 n -0004546484 00000 n -0004546624 00000 n -0004546764 00000 n -0004546904 00000 n -0004547044 00000 n -0004547184 00000 n -0004547324 00000 n -0004547464 00000 n -0004547604 00000 n -0004547744 00000 n -0004547884 00000 n -0004548024 00000 n -0004548164 00000 n -0004548304 00000 n -0004548444 00000 n -0004548584 00000 n -0004548724 00000 n -0004548864 00000 n -0004549004 00000 n -0004549144 00000 n -0004549284 00000 n -0004549424 00000 n -0004549564 00000 n -0004549704 00000 n -0004549844 00000 n -0004549984 00000 n -0004550124 00000 n -0004550264 00000 n -0004550404 00000 n -0004550544 00000 n -0004550684 00000 n -0004550824 00000 n -0004550964 00000 n -0004551104 00000 n -0004551244 00000 n -0004551384 00000 n -0004551524 00000 n -0004551664 00000 n -0004551804 00000 n -0004551944 00000 n -0004552084 00000 n -0004552224 00000 n -0004552364 00000 n -0004552504 00000 n -0004552644 00000 n -0004552784 00000 n -0004552924 00000 n -0004553064 00000 n -0004553204 00000 n -0004553344 00000 n -0004553484 00000 n -0004553624 00000 n -0004553764 00000 n -0004553904 00000 n -0004554044 00000 n -0004554184 00000 n -0004554324 00000 n -0004554464 00000 n -0004554604 00000 n -0004554744 00000 n -0004554884 00000 n -0004555024 00000 n -0004555164 00000 n -0004555304 00000 n -0004555444 00000 n -0004555584 00000 n -0004555724 00000 n -0004555864 00000 n -0004556004 00000 n -0004556144 00000 n -0004556284 00000 n -0004556424 00000 n -0004556564 00000 n -0004556704 00000 n -0004556844 00000 n -0004556984 00000 n -0004557124 00000 n -0004557264 00000 n -0004557404 00000 n -0004557544 00000 n -0004557684 00000 n -0004557824 00000 n -0004557964 00000 n -0004558104 00000 n -0004558244 00000 n -0004558384 00000 n -0004558524 00000 n -0004558664 00000 n -0004558804 00000 n -0004558944 00000 n -0004559084 00000 n -0004559224 00000 n -0004559364 00000 n -0004559504 00000 n -0004559644 00000 n -0004559784 00000 n -0004559924 00000 n -0004560064 00000 n -0004560204 00000 n -0004560344 00000 n -0004560484 00000 n -0004560624 00000 n -0004560764 00000 n -0004560904 00000 n -0004561044 00000 n -0004561184 00000 n -0004561324 00000 n -0004561464 00000 n -0004561604 00000 n -0004561744 00000 n -0004561884 00000 n -0004562024 00000 n -0004562164 00000 n -0004562304 00000 n -0004562444 00000 n -0004562584 00000 n -0004562724 00000 n -0004562864 00000 n -0004563004 00000 n -0004563144 00000 n -0004563284 00000 n -0004563424 00000 n -0004563564 00000 n -0004563704 00000 n -0004563844 00000 n -0004563984 00000 n -0004564124 00000 n -0004564264 00000 n -0004564404 00000 n -0004564544 00000 n -0004564684 00000 n -0004564824 00000 n -0004564964 00000 n -0004565104 00000 n -0004565244 00000 n -0004565384 00000 n -0004565524 00000 n -0004565664 00000 n -0004565804 00000 n -0004565944 00000 n -0004566084 00000 n -0004566224 00000 n -0004566364 00000 n -0004566504 00000 n -0004566644 00000 n -0004566784 00000 n -0004566924 00000 n -0004567064 00000 n -0004567204 00000 n -0004567344 00000 n -0004567484 00000 n -0004567624 00000 n -0004567764 00000 n -0004567904 00000 n -0004568044 00000 n -0004568184 00000 n -0004568324 00000 n -0004568464 00000 n -0004568604 00000 n -0004568744 00000 n -0004568884 00000 n -0004569024 00000 n -0004569164 00000 n -0004569304 00000 n -0004569444 00000 n -0004569584 00000 n -0004569724 00000 n -0004569864 00000 n -0004570004 00000 n -0004570144 00000 n -0004570284 00000 n -0004570424 00000 n -0004570564 00000 n -0004570704 00000 n -0004570844 00000 n -0004570984 00000 n -0004571028 00000 n -0004571072 00000 n -0004571116 00000 n -0004571160 00000 n -0004571204 00000 n -0004571248 00000 n -0004571292 00000 n -0004571336 00000 n -0004571380 00000 n -0004571424 00000 n -0004571468 00000 n -0004571512 00000 n -0004571556 00000 n -0004571600 00000 n -0004571644 00000 n -0004571688 00000 n -0004571732 00000 n -0004571776 00000 n -0004571820 00000 n -0004571864 00000 n -0004571908 00000 n -0004571952 00000 n -0004571996 00000 n -0004572040 00000 n -0004572084 00000 n -0004572128 00000 n -0004572172 00000 n -0004572216 00000 n -0004572260 00000 n -0004572304 00000 n -0004572348 00000 n -0004572392 00000 n -0004572436 00000 n -0004572480 00000 n -0004572524 00000 n -0004572568 00000 n -0004572612 00000 n -0004572656 00000 n -0004572700 00000 n -0004572744 00000 n -0004572788 00000 n -0004572832 00000 n -0004572876 00000 n -0004572920 00000 n -0004572964 00000 n -0004573008 00000 n -0004573052 00000 n -0004573096 00000 n -0004573140 00000 n -0004573184 00000 n -0004573228 00000 n -0004573272 00000 n -0004573316 00000 n -0004573360 00000 n -0004573404 00000 n -0004573448 00000 n -0004573492 00000 n -0004573536 00000 n -0004573580 00000 n -0004573624 00000 n -0004573668 00000 n -0004573712 00000 n -0004573756 00000 n -0004573800 00000 n -0004573844 00000 n -0004573888 00000 n -0004573932 00000 n -0004573976 00000 n -0004574020 00000 n -0004574064 00000 n -0004574108 00000 n -0004574152 00000 n -0004574196 00000 n -0004574240 00000 n -0004574284 00000 n -0004574328 00000 n -0004574372 00000 n -0004574416 00000 n -0004574460 00000 n -0004574504 00000 n -0004574548 00000 n -0004574592 00000 n -0004574636 00000 n -0004574680 00000 n -0004574724 00000 n -0004574768 00000 n -0004574812 00000 n -0004574856 00000 n -0004574900 00000 n -0004574944 00000 n -0004574988 00000 n -0004575032 00000 n -0004575076 00000 n -0004575120 00000 n -0004575164 00000 n -0004575208 00000 n -0004575252 00000 n -0004575296 00000 n -0004575340 00000 n -0004575384 00000 n -0004575428 00000 n -0004575472 00000 n -0004575516 00000 n -0004575560 00000 n -0004575604 00000 n -0004575648 00000 n -0004575692 00000 n -0004575736 00000 n -0004575780 00000 n -0004575824 00000 n -0004575868 00000 n -0004575912 00000 n -0004575956 00000 n -0004576000 00000 n -0004576044 00000 n -0004576088 00000 n -0004576132 00000 n -0004576176 00000 n -0004576220 00000 n -0004576264 00000 n -0004576308 00000 n -0004576352 00000 n -0004576396 00000 n -0004576440 00000 n -0004576484 00000 n -0004576528 00000 n -0004576572 00000 n -0004576616 00000 n -0004576660 00000 n -0004576704 00000 n -0004576748 00000 n -0004576792 00000 n -0004576836 00000 n -0004576880 00000 n -0004576924 00000 n -0004576968 00000 n -0004577012 00000 n -0004577056 00000 n -0004577100 00000 n -0004577144 00000 n -0004577188 00000 n -0004577232 00000 n -0004577276 00000 n -0004577320 00000 n -0004577364 00000 n -0004577408 00000 n -0004577452 00000 n -0004577496 00000 n -0004577540 00000 n -0004577584 00000 n -0004577628 00000 n -0004577672 00000 n -0004577716 00000 n -0004577760 00000 n -0004577804 00000 n -0004577848 00000 n -0004577892 00000 n -0004577936 00000 n -0004577980 00000 n -0004578024 00000 n -0004578068 00000 n -0004578112 00000 n -0004578156 00000 n -0004578200 00000 n -0004578244 00000 n -0004578288 00000 n -0004578332 00000 n -0004578376 00000 n -0004578420 00000 n -0004578464 00000 n -0004578508 00000 n -0004578552 00000 n -0004578596 00000 n -0004578640 00000 n -0004578684 00000 n -0004578728 00000 n -0004578772 00000 n -0004578816 00000 n -0004578860 00000 n -0004578904 00000 n -0004578948 00000 n -0004578992 00000 n -0004579036 00000 n -0004579080 00000 n -0004579124 00000 n -0004579168 00000 n -0004579212 00000 n -0004579256 00000 n -0004579300 00000 n -0004579344 00000 n -0004579388 00000 n -0004579432 00000 n -0004579476 00000 n -0004579520 00000 n -0004579564 00000 n -0004579608 00000 n -0004579652 00000 n -0004579696 00000 n -0004579740 00000 n -0004579784 00000 n -0004579828 00000 n -0004579872 00000 n -0004579916 00000 n -0004579960 00000 n -0004580004 00000 n -0004580048 00000 n -0004580092 00000 n -0004580136 00000 n -0004580180 00000 n -0004580224 00000 n -0004580268 00000 n -0004580312 00000 n -0004580356 00000 n -0004580400 00000 n -0004580444 00000 n -0004580488 00000 n -0004580532 00000 n -0004580576 00000 n -0004580620 00000 n -0004580664 00000 n -0004580708 00000 n -0004580752 00000 n -0004580796 00000 n -0004580840 00000 n -0004580884 00000 n -0004581215 00000 n -0004581637 00000 n -0004581681 00000 n -0004581749 00000 n -0004582012 00000 n -0004582111 00000 n -0004584498 00000 n -0004584829 00000 n -0004585251 00000 n -0004585294 00000 n -0004585338 00000 n -0004585380 00000 n -0004585423 00000 n -0004585491 00000 n -0004585711 00000 n -0004585810 00000 n -0004589893 00000 n -0004590224 00000 n -0004590646 00000 n -0004590689 00000 n -0004590733 00000 n -0004590775 00000 n -0004590843 00000 n -0004591092 00000 n -0004591191 00000 n -0004593025 00000 n -0004593356 00000 n -0004593778 00000 n -0004593821 00000 n -0004593864 00000 n -0004593932 00000 n -0004594181 00000 n -0004594280 00000 n -0004597960 00000 n -0004598291 00000 n -0004598713 00000 n -0004599044 00000 n -0004599466 00000 n -0004599509 00000 n -0004599577 00000 n -0004599840 00000 n -0004599939 00000 n -0004603950 00000 n -0004604281 00000 n -0004604703 00000 n -0004604746 00000 n -0004604789 00000 n -0004604832 00000 n -0004604875 00000 n -0004604943 00000 n -0004605211 00000 n -0004605310 00000 n -0004606574 00000 n -0004607772 00000 n -0004608103 00000 n -0004608525 00000 n -0004608612 00000 n -0004609943 00000 n -0004609985 00000 n -0004610053 00000 n -0004610301 00000 n -0004610400 00000 n -0004613318 00000 n -0004613485 00000 n -0004613528 00000 n -0004613859 00000 n -0004614281 00000 n -0004614324 00000 n -0004614368 00000 n -0004614436 00000 n -0004614656 00000 n -0004614755 00000 n -0004618494 00000 n -0004618825 00000 n -0004619247 00000 n -0004619290 00000 n -0004619333 00000 n -0004619376 00000 n -0004619419 00000 n -0004619463 00000 n -0004619506 00000 n -0004619550 00000 n -0004619593 00000 n -0004619636 00000 n -0004619704 00000 n -0004619939 00000 n -0004620038 00000 n -0004624422 00000 n -0004624562 00000 n -0004624702 00000 n -0004624842 00000 n -0004624982 00000 n -0004625122 00000 n -0004625262 00000 n -0004625402 00000 n -0004625542 00000 n -0004625682 00000 n -0004625822 00000 n -0004625962 00000 n -0004626102 00000 n -0004626242 00000 n -0004626382 00000 n -0004626522 00000 n -0004626662 00000 n -0004626802 00000 n -0004626942 00000 n -0004627082 00000 n -0004627222 00000 n -0004627362 00000 n -0004627502 00000 n -0004627642 00000 n -0004627782 00000 n -0004627922 00000 n -0004628062 00000 n -0004628202 00000 n -0004628342 00000 n -0004628482 00000 n -0004628622 00000 n -0004628762 00000 n -0004628902 00000 n -0004629042 00000 n -0004629182 00000 n -0004629322 00000 n -0004629462 00000 n -0004629602 00000 n -0004629742 00000 n -0004629882 00000 n -0004630022 00000 n -0004630162 00000 n -0004630302 00000 n -0004630442 00000 n -0004630582 00000 n -0004630722 00000 n -0004630862 00000 n -0004631002 00000 n -0004631142 00000 n -0004631282 00000 n -0004631422 00000 n -0004631562 00000 n -0004631702 00000 n -0004631842 00000 n -0004631982 00000 n -0004632122 00000 n -0004632262 00000 n -0004632402 00000 n -0004632542 00000 n -0004632682 00000 n -0004632822 00000 n -0004632962 00000 n -0004633102 00000 n -0004633242 00000 n -0004633382 00000 n -0004633522 00000 n -0004633662 00000 n -0004633802 00000 n -0004633942 00000 n -0004634082 00000 n -0004634222 00000 n -0004634362 00000 n -0004634502 00000 n -0004634642 00000 n -0004634782 00000 n -0004634922 00000 n -0004635062 00000 n -0004635202 00000 n -0004635342 00000 n -0004635482 00000 n -0004635622 00000 n -0004635762 00000 n -0004635902 00000 n -0004636042 00000 n -0004636182 00000 n -0004636322 00000 n -0004636462 00000 n -0004636602 00000 n -0004636742 00000 n -0004636882 00000 n -0004637022 00000 n -0004637162 00000 n -0004637302 00000 n -0004637442 00000 n -0004637582 00000 n -0004637722 00000 n -0004637862 00000 n -0004638002 00000 n -0004638142 00000 n -0004638282 00000 n -0004638422 00000 n -0004638562 00000 n -0004638702 00000 n -0004638842 00000 n -0004638982 00000 n -0004639122 00000 n -0004639262 00000 n -0004639402 00000 n -0004639542 00000 n -0004639682 00000 n -0004639822 00000 n -0004639962 00000 n -0004640102 00000 n -0004640242 00000 n -0004640382 00000 n -0004640522 00000 n -0004640662 00000 n -0004640802 00000 n -0004640942 00000 n -0004641082 00000 n -0004641222 00000 n -0004641362 00000 n -0004641502 00000 n -0004641642 00000 n -0004641782 00000 n -0004641922 00000 n -0004642062 00000 n -0004642202 00000 n -0004642342 00000 n -0004642482 00000 n -0004642622 00000 n -0004642762 00000 n -0004642902 00000 n -0004643042 00000 n -0004643182 00000 n -0004643322 00000 n -0004643462 00000 n -0004643602 00000 n -0004643742 00000 n -0004643882 00000 n -0004644022 00000 n -0004644162 00000 n -0004644302 00000 n -0004644442 00000 n -0004644582 00000 n -0004644722 00000 n -0004644862 00000 n -0004645002 00000 n -0004645142 00000 n -0004645282 00000 n -0004645422 00000 n -0004645562 00000 n -0004645702 00000 n -0004645842 00000 n -0004645982 00000 n -0004646122 00000 n -0004646262 00000 n -0004646402 00000 n -0004646542 00000 n -0004646682 00000 n -0004646822 00000 n -0004646962 00000 n -0004647102 00000 n -0004647242 00000 n -0004647382 00000 n -0004647522 00000 n -0004647662 00000 n -0004647802 00000 n -0004647942 00000 n -0004648082 00000 n -0004648222 00000 n -0004648362 00000 n -0004648502 00000 n -0004648642 00000 n -0004648782 00000 n -0004648922 00000 n -0004649062 00000 n -0004649202 00000 n -0004649342 00000 n -0004649482 00000 n -0004649622 00000 n -0004649762 00000 n -0004649902 00000 n -0004650042 00000 n -0004650182 00000 n -0004650322 00000 n -0004650462 00000 n -0004650602 00000 n -0004650742 00000 n -0004650882 00000 n -0004651022 00000 n -0004651162 00000 n -0004651302 00000 n -0004651442 00000 n -0004651582 00000 n -0004651722 00000 n -0004651862 00000 n -0004652002 00000 n -0004652142 00000 n -0004652282 00000 n -0004652422 00000 n -0004652562 00000 n -0004652702 00000 n -0004652842 00000 n -0004652982 00000 n -0004653122 00000 n -0004653262 00000 n -0004653402 00000 n -0004653542 00000 n -0004653682 00000 n -0004653822 00000 n -0004653962 00000 n -0004654102 00000 n -0004654242 00000 n -0004654382 00000 n -0004654522 00000 n -0004654662 00000 n -0004654802 00000 n -0004654942 00000 n -0004655082 00000 n -0004655222 00000 n -0004655362 00000 n -0004655502 00000 n -0004655642 00000 n -0004655782 00000 n -0004655922 00000 n -0004656062 00000 n -0004656202 00000 n -0004656342 00000 n -0004656482 00000 n -0004656622 00000 n -0004656762 00000 n -0004656902 00000 n -0004657042 00000 n -0004657182 00000 n -0004657322 00000 n -0004657462 00000 n -0004657602 00000 n -0004657742 00000 n -0004657882 00000 n -0004658022 00000 n -0004658162 00000 n -0004658302 00000 n -0004658442 00000 n -0004658582 00000 n -0004658722 00000 n -0004658862 00000 n -0004659002 00000 n -0004659142 00000 n -0004659282 00000 n -0004659422 00000 n -0004659562 00000 n -0004659702 00000 n -0004659842 00000 n -0004659982 00000 n -0004660122 00000 n -0004660262 00000 n -0004660402 00000 n -0004660542 00000 n -0004660682 00000 n -0004660822 00000 n -0004660962 00000 n -0004661102 00000 n -0004661242 00000 n -0004661382 00000 n -0004661522 00000 n -0004661662 00000 n -0004661802 00000 n -0004661942 00000 n -0004662082 00000 n -0004662222 00000 n -0004662362 00000 n -0004662502 00000 n -0004662642 00000 n -0004662782 00000 n -0004662922 00000 n -0004663062 00000 n -0004663202 00000 n -0004663342 00000 n -0004663482 00000 n -0004663622 00000 n -0004663762 00000 n -0004663902 00000 n -0004664042 00000 n -0004664182 00000 n -0004664322 00000 n -0004664462 00000 n -0004664602 00000 n -0004664742 00000 n -0004664882 00000 n -0004665022 00000 n -0004665162 00000 n -0004665302 00000 n -0004665442 00000 n -0004665582 00000 n -0004665722 00000 n -0004665862 00000 n -0004666002 00000 n -0004666142 00000 n -0004666282 00000 n -0004666422 00000 n -0004666562 00000 n -0004666702 00000 n -0004666842 00000 n -0004666982 00000 n -0004667122 00000 n -0004667262 00000 n -0004667402 00000 n -0004667542 00000 n -0004667682 00000 n -0004667822 00000 n -0004667962 00000 n -0004668102 00000 n -0004668242 00000 n -0004668382 00000 n -0004668522 00000 n -0004668662 00000 n -0004668802 00000 n -0004668942 00000 n -0004669082 00000 n -0004669222 00000 n -0004669362 00000 n -0004669502 00000 n -0004669642 00000 n -0004669782 00000 n -0004669922 00000 n -0004670062 00000 n -0004670202 00000 n -0004670342 00000 n -0004670482 00000 n -0004670622 00000 n -0004670762 00000 n -0004670902 00000 n -0004671042 00000 n -0004671182 00000 n -0004671322 00000 n -0004671462 00000 n -0004671602 00000 n -0004671742 00000 n -0004671882 00000 n -0004672022 00000 n -0004672162 00000 n -0004672302 00000 n -0004672442 00000 n -0004672582 00000 n -0004672722 00000 n -0004672862 00000 n -0004673002 00000 n -0004673142 00000 n -0004673282 00000 n -0004673422 00000 n -0004673562 00000 n -0004673702 00000 n -0004673842 00000 n -0004673982 00000 n -0004674122 00000 n -0004674262 00000 n -0004674402 00000 n -0004674542 00000 n -0004674682 00000 n -0004674822 00000 n -0004674962 00000 n -0004675102 00000 n -0004675242 00000 n -0004675382 00000 n -0004675522 00000 n -0004675662 00000 n -0004675802 00000 n -0004675942 00000 n -0004676082 00000 n -0004676222 00000 n -0004676362 00000 n -0004676502 00000 n -0004676642 00000 n -0004676782 00000 n -0004676922 00000 n -0004677062 00000 n -0004677202 00000 n -0004677342 00000 n -0004677482 00000 n -0004677622 00000 n -0004677762 00000 n -0004677902 00000 n -0004678042 00000 n -0004678182 00000 n -0004678322 00000 n -0004678462 00000 n -0004678602 00000 n -0004678742 00000 n -0004678882 00000 n -0004679022 00000 n -0004679162 00000 n -0004679302 00000 n -0004679442 00000 n -0004679582 00000 n -0004679722 00000 n -0004679862 00000 n -0004680002 00000 n -0004680142 00000 n -0004680282 00000 n -0004680422 00000 n -0004680562 00000 n -0004680702 00000 n -0004680842 00000 n -0004680982 00000 n -0004681122 00000 n -0004681262 00000 n -0004681306 00000 n -0004681350 00000 n -0004681394 00000 n -0004681438 00000 n -0004681482 00000 n -0004681526 00000 n -0004681570 00000 n -0004681614 00000 n -0004681658 00000 n -0004681702 00000 n -0004681746 00000 n -0004681790 00000 n -0004681834 00000 n -0004681878 00000 n -0004681922 00000 n -0004681966 00000 n -0004682010 00000 n -0004682054 00000 n -0004682098 00000 n -0004682142 00000 n -0004682186 00000 n -0004682230 00000 n -0004682274 00000 n -0004682318 00000 n -0004682362 00000 n -0004682406 00000 n -0004682450 00000 n -0004682494 00000 n -0004682538 00000 n -0004682582 00000 n -0004682626 00000 n -0004682670 00000 n -0004682714 00000 n -0004682758 00000 n -0004682802 00000 n -0004682846 00000 n -0004682890 00000 n -0004682934 00000 n -0004682978 00000 n -0004683022 00000 n -0004683066 00000 n -0004683110 00000 n -0004683154 00000 n -0004683198 00000 n -0004683242 00000 n -0004683286 00000 n -0004683330 00000 n -0004683374 00000 n -0004683418 00000 n -0004683462 00000 n -0004683506 00000 n -0004683550 00000 n -0004683594 00000 n -0004683638 00000 n -0004683682 00000 n -0004683726 00000 n -0004683770 00000 n -0004683814 00000 n -0004683858 00000 n -0004683902 00000 n -0004683946 00000 n -0004683990 00000 n -0004684034 00000 n -0004684078 00000 n -0004684122 00000 n -0004684166 00000 n -0004684210 00000 n -0004684254 00000 n -0004684298 00000 n -0004684342 00000 n -0004684386 00000 n -0004684430 00000 n -0004684474 00000 n -0004684518 00000 n -0004684562 00000 n -0004684606 00000 n -0004684650 00000 n -0004684694 00000 n -0004684738 00000 n -0004684782 00000 n -0004684826 00000 n -0004684870 00000 n -0004684914 00000 n -0004684958 00000 n -0004685002 00000 n -0004685046 00000 n -0004685090 00000 n -0004685134 00000 n -0004685178 00000 n -0004685222 00000 n -0004685266 00000 n -0004685310 00000 n -0004685354 00000 n -0004685398 00000 n -0004685442 00000 n -0004685486 00000 n -0004685530 00000 n -0004685574 00000 n -0004685618 00000 n -0004685662 00000 n -0004685706 00000 n -0004685750 00000 n -0004685794 00000 n -0004685838 00000 n -0004685882 00000 n -0004685926 00000 n -0004685970 00000 n -0004686014 00000 n -0004686058 00000 n -0004686102 00000 n -0004686146 00000 n -0004686190 00000 n -0004686234 00000 n -0004686278 00000 n -0004686322 00000 n -0004686366 00000 n -0004686410 00000 n -0004686454 00000 n -0004686498 00000 n -0004686542 00000 n -0004686586 00000 n -0004686630 00000 n -0004686674 00000 n -0004686718 00000 n -0004686762 00000 n -0004686806 00000 n -0004686850 00000 n -0004686894 00000 n -0004686938 00000 n -0004686982 00000 n -0004687026 00000 n -0004687070 00000 n -0004687114 00000 n -0004687158 00000 n -0004687202 00000 n -0004687246 00000 n -0004687290 00000 n -0004687334 00000 n -0004687378 00000 n -0004687422 00000 n -0004687466 00000 n -0004687510 00000 n -0004687554 00000 n -0004687598 00000 n -0004687642 00000 n -0004687686 00000 n -0004687730 00000 n -0004687774 00000 n -0004687818 00000 n -0004687862 00000 n -0004687906 00000 n -0004687950 00000 n -0004687994 00000 n -0004688038 00000 n -0004688082 00000 n -0004688126 00000 n -0004688170 00000 n -0004688214 00000 n -0004688258 00000 n -0004688302 00000 n -0004688346 00000 n -0004688390 00000 n -0004688434 00000 n -0004688478 00000 n -0004688522 00000 n -0004688566 00000 n -0004688610 00000 n -0004688654 00000 n -0004688698 00000 n -0004688742 00000 n -0004688786 00000 n -0004688830 00000 n -0004688874 00000 n -0004688918 00000 n -0004688962 00000 n -0004689006 00000 n -0004689050 00000 n -0004689094 00000 n -0004689138 00000 n -0004689182 00000 n -0004689226 00000 n -0004689270 00000 n -0004689314 00000 n -0004689358 00000 n -0004689402 00000 n -0004689446 00000 n -0004689490 00000 n -0004689534 00000 n -0004689578 00000 n -0004689622 00000 n -0004689666 00000 n -0004689710 00000 n -0004689754 00000 n -0004689798 00000 n -0004689842 00000 n -0004689886 00000 n -0004689930 00000 n -0004689974 00000 n -0004690018 00000 n -0004690062 00000 n -0004690106 00000 n -0004690150 00000 n -0004690194 00000 n -0004690238 00000 n -0004690282 00000 n -0004690326 00000 n -0004690370 00000 n -0004690414 00000 n -0004690458 00000 n -0004690502 00000 n -0004690546 00000 n -0004690590 00000 n -0004690634 00000 n -0004690678 00000 n -0004690722 00000 n -0004690766 00000 n -0004690810 00000 n -0004690854 00000 n -0004690898 00000 n -0004690942 00000 n -0004690986 00000 n -0004691030 00000 n -0004691074 00000 n -0004691118 00000 n -0004691162 00000 n -0004691206 00000 n -0004691250 00000 n -0004691294 00000 n -0004691338 00000 n -0004691382 00000 n -0004691426 00000 n -0004691470 00000 n -0004691514 00000 n -0004691558 00000 n -0004691602 00000 n -0004691646 00000 n -0004691690 00000 n -0004691734 00000 n -0004691778 00000 n -0004691822 00000 n -0004691866 00000 n -0004691910 00000 n -0004691954 00000 n -0004691998 00000 n -0004692042 00000 n -0004692086 00000 n -0004692130 00000 n -0004692174 00000 n -0004692218 00000 n -0004692262 00000 n -0004692306 00000 n -0004692350 00000 n -0004692394 00000 n -0004692438 00000 n -0004692482 00000 n -0004692526 00000 n -0004692570 00000 n -0004692614 00000 n -0004692658 00000 n -0004692702 00000 n -0004692746 00000 n -0004692790 00000 n -0004692834 00000 n -0004692878 00000 n -0004692922 00000 n -0004692966 00000 n -0004693010 00000 n -0004693054 00000 n -0004693098 00000 n -0004693142 00000 n -0004693186 00000 n -0004693230 00000 n -0004693274 00000 n -0004693318 00000 n -0004693362 00000 n -0004693406 00000 n -0004693450 00000 n -0004693494 00000 n -0004693825 00000 n -0004694247 00000 n -0004694291 00000 n -0004694334 00000 n -0004694378 00000 n -0004694421 00000 n -0004694465 00000 n -0004694508 00000 n -0004694551 00000 n -0004694619 00000 n -0004694868 00000 n -0004694967 00000 n -0004698830 00000 n -0004699161 00000 n -0004699583 00000 n -0004699626 00000 n -0004699694 00000 n -0004699943 00000 n -0004700042 00000 n -0004701983 00000 n -0004702314 00000 n -0004702736 00000 n -0004702779 00000 n -0004702822 00000 n -0004702865 00000 n -0004702908 00000 n -0004702976 00000 n -0004703239 00000 n -0004703338 00000 n -0004707544 00000 n -0004707710 00000 n -0004708041 00000 n -0004708463 00000 n -0004708531 00000 n -0004708780 00000 n -0004708879 00000 n -0004713757 00000 n -0004714088 00000 n -0004714510 00000 n -0004714553 00000 n -0004714595 00000 n -0004714639 00000 n -0004714681 00000 n -0004714724 00000 n -0004714792 00000 n -0004715012 00000 n -0004715111 00000 n -0004718704 00000 n -0004719035 00000 n -0004719457 00000 n -0004719525 00000 n -0004719745 00000 n -0004719844 00000 n -0004723641 00000 n -0004723972 00000 n -0004724394 00000 n -0004724437 00000 n -0004724505 00000 n -0004724739 00000 n -0004724838 00000 n -0004729209 00000 n -0004729540 00000 n -0004729962 00000 n -0004730005 00000 n -0004730048 00000 n -0004730116 00000 n -0004730445 00000 n -0004730544 00000 n -0004732547 00000 n -0004733760 00000 n -0004734182 00000 n -0004734330 00000 n -0004734661 00000 n -0004736483 00000 n -0004737806 00000 n -0004750784 00000 n -0004750852 00000 n -0004751101 00000 n -0004751200 00000 n -0004754968 00000 n -0004755130 00000 n -0004755296 00000 n -0004755338 00000 n -0004755380 00000 n -0004755711 00000 n -0004756133 00000 n -0004756176 00000 n -0004756220 00000 n -0004756263 00000 n -0004756306 00000 n -0004756349 00000 n -0004756392 00000 n -0004756435 00000 n -0004756478 00000 n -0004756546 00000 n -0004756766 00000 n -0004756865 00000 n -0004762074 00000 n -0004762214 00000 n -0004762354 00000 n -0004762494 00000 n -0004762634 00000 n -0004762774 00000 n -0004762914 00000 n -0004763054 00000 n -0004763194 00000 n -0004763334 00000 n -0004763474 00000 n -0004763614 00000 n -0004763754 00000 n -0004763894 00000 n -0004764034 00000 n -0004764174 00000 n -0004764314 00000 n -0004764454 00000 n -0004764594 00000 n -0004764734 00000 n -0004764874 00000 n -0004765014 00000 n -0004765154 00000 n -0004765294 00000 n -0004765434 00000 n -0004765574 00000 n -0004765714 00000 n -0004765854 00000 n -0004765994 00000 n -0004766134 00000 n -0004766274 00000 n -0004766414 00000 n -0004766554 00000 n -0004766694 00000 n -0004766834 00000 n -0004766974 00000 n -0004767114 00000 n -0004767254 00000 n -0004767394 00000 n -0004767534 00000 n -0004767674 00000 n -0004767814 00000 n -0004767954 00000 n -0004768094 00000 n -0004768234 00000 n -0004768374 00000 n -0004768514 00000 n -0004768654 00000 n -0004768794 00000 n -0004768934 00000 n -0004769074 00000 n -0004769214 00000 n -0004769354 00000 n -0004769494 00000 n -0004769634 00000 n -0004769774 00000 n -0004769914 00000 n -0004770054 00000 n -0004770194 00000 n -0004770334 00000 n -0004770474 00000 n -0004770614 00000 n -0004770754 00000 n -0004770894 00000 n -0004771034 00000 n -0004771174 00000 n -0004771314 00000 n -0004771454 00000 n -0004771594 00000 n -0004771734 00000 n -0004771874 00000 n -0004772014 00000 n -0004772154 00000 n -0004772294 00000 n -0004772434 00000 n -0004772574 00000 n -0004772714 00000 n -0004772854 00000 n -0004772994 00000 n -0004773134 00000 n -0004773274 00000 n -0004773414 00000 n -0004773554 00000 n -0004773694 00000 n -0004773834 00000 n -0004773974 00000 n -0004774114 00000 n -0004774254 00000 n -0004774394 00000 n -0004774534 00000 n -0004774674 00000 n -0004774814 00000 n -0004774954 00000 n -0004775094 00000 n -0004775234 00000 n -0004775374 00000 n -0004775514 00000 n -0004775654 00000 n -0004775794 00000 n -0004775934 00000 n -0004776074 00000 n -0004776214 00000 n -0004776354 00000 n -0004776494 00000 n -0004776634 00000 n -0004776774 00000 n -0004776914 00000 n -0004777054 00000 n -0004777194 00000 n -0004777334 00000 n -0004777474 00000 n -0004777614 00000 n -0004777754 00000 n -0004777894 00000 n -0004778034 00000 n -0004778174 00000 n -0004778314 00000 n -0004778454 00000 n -0004778594 00000 n -0004778734 00000 n -0004778874 00000 n -0004779014 00000 n -0004779154 00000 n -0004779294 00000 n -0004779434 00000 n -0004779574 00000 n -0004779714 00000 n -0004779854 00000 n -0004779994 00000 n -0004780134 00000 n -0004780274 00000 n -0004780414 00000 n -0004780554 00000 n -0004780694 00000 n -0004780834 00000 n -0004780974 00000 n -0004781114 00000 n -0004781254 00000 n -0004781394 00000 n -0004781534 00000 n -0004781674 00000 n -0004781814 00000 n -0004781954 00000 n -0004782094 00000 n -0004782234 00000 n -0004782374 00000 n -0004782514 00000 n -0004782654 00000 n -0004782794 00000 n -0004782934 00000 n -0004783074 00000 n -0004783214 00000 n -0004783354 00000 n -0004783494 00000 n -0004783634 00000 n -0004783774 00000 n -0004783914 00000 n -0004784054 00000 n -0004784194 00000 n -0004784334 00000 n -0004784474 00000 n -0004784614 00000 n -0004784754 00000 n -0004784894 00000 n -0004785034 00000 n -0004785174 00000 n -0004785314 00000 n -0004785454 00000 n -0004785594 00000 n -0004785734 00000 n -0004785874 00000 n -0004786014 00000 n -0004786154 00000 n -0004786294 00000 n -0004786434 00000 n -0004786574 00000 n -0004786714 00000 n -0004786854 00000 n -0004786994 00000 n -0004787134 00000 n -0004787274 00000 n -0004787414 00000 n -0004787554 00000 n -0004787694 00000 n -0004787834 00000 n -0004787974 00000 n -0004788114 00000 n -0004788254 00000 n -0004788394 00000 n -0004788534 00000 n -0004788674 00000 n -0004788814 00000 n -0004788954 00000 n -0004789094 00000 n -0004789234 00000 n -0004789374 00000 n -0004789514 00000 n -0004789654 00000 n -0004789794 00000 n -0004789934 00000 n -0004790074 00000 n -0004790214 00000 n -0004790354 00000 n -0004790494 00000 n -0004790634 00000 n -0004790774 00000 n -0004790914 00000 n -0004791054 00000 n -0004791194 00000 n -0004791334 00000 n -0004791474 00000 n -0004791614 00000 n -0004791754 00000 n -0004791894 00000 n -0004792034 00000 n -0004792174 00000 n -0004792314 00000 n -0004792454 00000 n -0004792594 00000 n -0004792734 00000 n -0004792874 00000 n -0004793014 00000 n -0004793154 00000 n -0004793294 00000 n -0004793434 00000 n -0004793574 00000 n -0004793714 00000 n -0004793854 00000 n -0004793994 00000 n -0004794134 00000 n -0004794274 00000 n -0004794414 00000 n -0004794554 00000 n -0004794694 00000 n -0004794834 00000 n -0004794974 00000 n -0004795114 00000 n -0004795254 00000 n -0004795394 00000 n -0004795534 00000 n -0004795674 00000 n -0004795814 00000 n -0004795954 00000 n -0004796094 00000 n -0004796234 00000 n -0004796374 00000 n -0004796514 00000 n -0004796654 00000 n -0004796794 00000 n -0004796934 00000 n -0004797074 00000 n -0004797214 00000 n -0004797354 00000 n -0004797494 00000 n -0004797634 00000 n -0004797774 00000 n -0004797914 00000 n -0004798054 00000 n -0004798194 00000 n -0004798334 00000 n -0004798474 00000 n -0004798614 00000 n -0004798754 00000 n -0004798894 00000 n -0004799034 00000 n -0004799174 00000 n -0004799314 00000 n -0004799454 00000 n -0004799594 00000 n -0004799734 00000 n -0004799874 00000 n -0004800014 00000 n -0004800154 00000 n -0004800294 00000 n -0004800434 00000 n -0004800574 00000 n -0004800714 00000 n -0004800854 00000 n -0004800994 00000 n -0004801134 00000 n -0004801274 00000 n -0004801414 00000 n -0004801554 00000 n -0004801694 00000 n -0004801834 00000 n -0004801974 00000 n -0004802114 00000 n -0004802254 00000 n -0004802394 00000 n -0004802534 00000 n -0004802674 00000 n -0004802814 00000 n -0004802954 00000 n -0004803094 00000 n -0004803234 00000 n -0004803374 00000 n -0004803514 00000 n -0004803654 00000 n -0004803794 00000 n -0004803934 00000 n -0004804074 00000 n -0004804214 00000 n -0004804354 00000 n -0004804494 00000 n -0004804634 00000 n -0004804774 00000 n -0004804914 00000 n -0004805054 00000 n -0004805194 00000 n -0004805334 00000 n -0004805474 00000 n -0004805614 00000 n -0004805754 00000 n -0004805894 00000 n -0004806034 00000 n -0004806174 00000 n -0004806314 00000 n -0004806454 00000 n -0004806594 00000 n -0004806734 00000 n -0004806874 00000 n -0004807014 00000 n -0004807154 00000 n -0004807294 00000 n -0004807434 00000 n -0004807574 00000 n -0004807714 00000 n -0004807854 00000 n -0004807994 00000 n -0004808134 00000 n -0004808274 00000 n -0004808414 00000 n -0004808554 00000 n -0004808694 00000 n -0004808834 00000 n -0004808974 00000 n -0004809114 00000 n -0004809254 00000 n -0004809394 00000 n -0004809534 00000 n -0004809674 00000 n -0004809814 00000 n -0004809954 00000 n -0004810094 00000 n -0004810234 00000 n -0004810374 00000 n -0004810514 00000 n -0004810654 00000 n -0004810794 00000 n -0004810934 00000 n -0004811074 00000 n -0004811214 00000 n -0004811354 00000 n -0004811494 00000 n -0004811634 00000 n -0004811774 00000 n -0004811914 00000 n -0004812054 00000 n -0004812194 00000 n -0004812334 00000 n -0004812474 00000 n -0004812614 00000 n -0004812754 00000 n -0004812894 00000 n -0004813034 00000 n -0004813174 00000 n -0004813314 00000 n -0004813454 00000 n -0004813594 00000 n -0004813734 00000 n -0004813874 00000 n -0004814014 00000 n -0004814154 00000 n -0004814294 00000 n -0004814434 00000 n -0004814574 00000 n -0004814714 00000 n -0004814854 00000 n -0004814994 00000 n -0004815134 00000 n -0004815274 00000 n -0004815414 00000 n -0004815554 00000 n -0004815694 00000 n -0004815834 00000 n -0004815974 00000 n -0004816114 00000 n -0004816254 00000 n -0004816394 00000 n -0004816534 00000 n -0004816674 00000 n -0004816814 00000 n -0004816954 00000 n -0004817094 00000 n -0004817234 00000 n -0004817374 00000 n -0004817514 00000 n -0004817654 00000 n -0004817794 00000 n -0004817934 00000 n -0004818074 00000 n -0004818214 00000 n -0004818354 00000 n -0004818494 00000 n -0004818634 00000 n -0004818774 00000 n -0004818914 00000 n -0004819054 00000 n -0004819194 00000 n -0004819334 00000 n -0004819474 00000 n -0004819614 00000 n -0004819754 00000 n -0004819894 00000 n -0004820034 00000 n -0004820174 00000 n -0004820314 00000 n -0004820454 00000 n -0004820594 00000 n -0004820734 00000 n -0004820874 00000 n -0004821014 00000 n -0004821154 00000 n -0004821294 00000 n -0004821434 00000 n -0004821574 00000 n -0004821714 00000 n -0004821854 00000 n -0004821994 00000 n -0004822134 00000 n -0004822274 00000 n -0004822414 00000 n -0004822554 00000 n -0004822694 00000 n -0004822834 00000 n -0004822974 00000 n -0004823114 00000 n -0004823254 00000 n -0004823394 00000 n -0004823534 00000 n -0004823674 00000 n -0004823718 00000 n -0004823762 00000 n -0004823806 00000 n -0004823850 00000 n -0004823894 00000 n -0004823938 00000 n -0004823982 00000 n -0004824026 00000 n -0004824070 00000 n -0004824114 00000 n -0004824158 00000 n -0004824202 00000 n -0004824246 00000 n -0004824290 00000 n -0004824334 00000 n -0004824378 00000 n -0004824422 00000 n -0004824466 00000 n -0004824510 00000 n -0004824554 00000 n -0004824598 00000 n -0004824642 00000 n -0004824686 00000 n -0004824730 00000 n -0004824774 00000 n -0004824818 00000 n -0004824862 00000 n -0004824906 00000 n -0004824950 00000 n -0004824994 00000 n -0004825038 00000 n -0004825082 00000 n -0004825126 00000 n -0004825170 00000 n -0004825214 00000 n -0004825258 00000 n -0004825302 00000 n -0004825346 00000 n -0004825390 00000 n -0004825434 00000 n -0004825478 00000 n -0004825522 00000 n -0004825566 00000 n -0004825610 00000 n -0004825654 00000 n -0004825698 00000 n -0004825742 00000 n -0004825786 00000 n -0004825830 00000 n -0004825874 00000 n -0004825918 00000 n -0004825962 00000 n -0004826006 00000 n -0004826050 00000 n -0004826094 00000 n -0004826138 00000 n -0004826182 00000 n -0004826226 00000 n -0004826270 00000 n -0004826314 00000 n -0004826358 00000 n -0004826402 00000 n -0004826446 00000 n -0004826490 00000 n -0004826534 00000 n -0004826578 00000 n -0004826622 00000 n -0004826666 00000 n -0004826710 00000 n -0004826754 00000 n -0004826798 00000 n -0004826842 00000 n -0004826886 00000 n -0004826930 00000 n -0004826974 00000 n -0004827018 00000 n -0004827062 00000 n -0004827106 00000 n -0004827150 00000 n -0004827194 00000 n -0004827238 00000 n -0004827282 00000 n -0004827326 00000 n -0004827370 00000 n -0004827414 00000 n -0004827458 00000 n -0004827502 00000 n -0004827546 00000 n -0004827590 00000 n -0004827634 00000 n -0004827678 00000 n -0004827722 00000 n -0004827766 00000 n -0004827810 00000 n -0004827854 00000 n -0004827898 00000 n -0004827942 00000 n -0004827986 00000 n -0004828030 00000 n -0004828074 00000 n -0004828118 00000 n -0004828162 00000 n -0004828206 00000 n -0004828250 00000 n -0004828294 00000 n -0004828338 00000 n -0004828382 00000 n -0004828426 00000 n -0004828470 00000 n -0004828514 00000 n -0004828558 00000 n -0004828602 00000 n -0004828646 00000 n -0004828690 00000 n -0004828734 00000 n -0004828778 00000 n -0004828822 00000 n -0004828866 00000 n -0004828910 00000 n -0004828954 00000 n -0004828998 00000 n -0004829042 00000 n -0004829086 00000 n -0004829130 00000 n -0004829174 00000 n -0004829218 00000 n -0004829262 00000 n -0004829306 00000 n -0004829350 00000 n -0004829394 00000 n -0004829438 00000 n -0004829482 00000 n -0004829526 00000 n -0004829570 00000 n -0004829614 00000 n -0004829658 00000 n -0004829702 00000 n -0004829746 00000 n -0004829790 00000 n -0004829834 00000 n -0004829878 00000 n -0004829922 00000 n -0004829966 00000 n -0004830010 00000 n -0004830054 00000 n -0004830098 00000 n -0004830142 00000 n -0004830186 00000 n -0004830230 00000 n -0004830274 00000 n -0004830318 00000 n -0004830362 00000 n -0004830406 00000 n -0004830450 00000 n -0004830494 00000 n -0004830538 00000 n -0004830582 00000 n -0004830626 00000 n -0004830670 00000 n -0004830714 00000 n -0004830758 00000 n -0004830802 00000 n -0004830846 00000 n -0004830890 00000 n -0004830934 00000 n -0004830978 00000 n -0004831022 00000 n -0004831066 00000 n -0004831110 00000 n -0004831154 00000 n -0004831198 00000 n -0004831242 00000 n -0004831286 00000 n -0004831330 00000 n -0004831374 00000 n -0004831418 00000 n -0004831462 00000 n -0004831506 00000 n -0004831550 00000 n -0004831594 00000 n -0004831638 00000 n -0004831682 00000 n -0004831726 00000 n -0004831770 00000 n -0004831814 00000 n -0004831858 00000 n -0004831902 00000 n -0004831946 00000 n -0004831990 00000 n -0004832034 00000 n -0004832078 00000 n -0004832122 00000 n -0004832166 00000 n -0004832210 00000 n -0004832254 00000 n -0004832298 00000 n -0004832342 00000 n -0004832386 00000 n -0004832430 00000 n -0004832474 00000 n -0004832518 00000 n -0004832562 00000 n -0004832606 00000 n -0004832650 00000 n -0004832694 00000 n -0004832738 00000 n -0004832782 00000 n -0004832826 00000 n -0004832870 00000 n -0004832914 00000 n -0004832958 00000 n -0004833002 00000 n -0004833046 00000 n -0004833090 00000 n -0004833134 00000 n -0004833178 00000 n -0004833222 00000 n -0004833266 00000 n -0004833310 00000 n -0004833354 00000 n -0004833398 00000 n -0004833442 00000 n -0004833486 00000 n -0004833530 00000 n -0004833574 00000 n -0004833618 00000 n -0004833662 00000 n -0004833706 00000 n -0004833750 00000 n -0004833794 00000 n -0004833838 00000 n -0004833882 00000 n -0004833926 00000 n -0004833970 00000 n -0004834014 00000 n -0004834058 00000 n -0004834102 00000 n -0004834146 00000 n -0004834190 00000 n -0004834234 00000 n -0004834278 00000 n -0004834322 00000 n -0004834366 00000 n -0004834410 00000 n -0004834454 00000 n -0004834498 00000 n -0004834542 00000 n -0004834586 00000 n -0004834630 00000 n -0004834674 00000 n -0004834718 00000 n -0004834762 00000 n -0004834806 00000 n -0004834850 00000 n -0004834894 00000 n -0004834938 00000 n -0004834982 00000 n -0004835026 00000 n -0004835070 00000 n -0004835114 00000 n -0004835158 00000 n -0004835202 00000 n -0004835246 00000 n -0004835290 00000 n -0004835334 00000 n -0004835378 00000 n -0004835422 00000 n -0004835466 00000 n -0004835510 00000 n -0004835554 00000 n -0004835598 00000 n -0004835642 00000 n -0004835686 00000 n -0004835730 00000 n -0004835774 00000 n -0004835818 00000 n -0004835862 00000 n -0004835906 00000 n -0004835950 00000 n -0004835994 00000 n -0004836038 00000 n -0004836082 00000 n -0004836126 00000 n -0004836170 00000 n -0004836214 00000 n -0004836258 00000 n -0004836302 00000 n -0004836346 00000 n -0004836390 00000 n -0004836434 00000 n -0004836478 00000 n -0004836522 00000 n -0004836566 00000 n -0004836610 00000 n -0004836654 00000 n -0004836698 00000 n -0004836742 00000 n -0004836786 00000 n -0004836830 00000 n -0004836874 00000 n -0004836918 00000 n -0004836962 00000 n -0004837006 00000 n -0004837050 00000 n -0004837094 00000 n -0004837138 00000 n -0004837182 00000 n -0004837226 00000 n -0004837270 00000 n -0004837314 00000 n -0004837358 00000 n -0004837402 00000 n -0004837446 00000 n -0004837490 00000 n -0004837534 00000 n -0004837578 00000 n -0004837622 00000 n -0004837666 00000 n -0004837710 00000 n -0004837754 00000 n -0004837798 00000 n -0004837842 00000 n -0004837886 00000 n -0004837930 00000 n -0004837974 00000 n -0004838018 00000 n -0004838062 00000 n -0004838106 00000 n -0004838150 00000 n -0004838194 00000 n -0004838238 00000 n -0004838282 00000 n -0004838613 00000 n -0004839035 00000 n -0004839079 00000 n -0004839123 00000 n -0004839165 00000 n -0004839209 00000 n -0004839252 00000 n -0004839296 00000 n -0004839340 00000 n -0004839384 00000 n -0004839425 00000 n -0004839468 00000 n -0004839511 00000 n -0004839555 00000 n -0004839623 00000 n -0004839886 00000 n -0004839985 00000 n -0004843561 00000 n -0004843724 00000 n -0004843766 00000 n -0004844097 00000 n -0004844519 00000 n -0004844587 00000 n -0004844836 00000 n -0004844935 00000 n -0004846896 00000 n -0004847227 00000 n -0004847649 00000 n -0004847691 00000 n -0004847735 00000 n -0004847778 00000 n -0004847821 00000 n -0004847889 00000 n -0004848124 00000 n -0004848223 00000 n -0004852542 00000 n -0004852873 00000 n -0004853295 00000 n -0004853338 00000 n -0004853381 00000 n -0004853423 00000 n -0004853465 00000 n -0004853736 00000 n -0004854153 00000 n -0004854221 00000 n -0004854441 00000 n -0004854540 00000 n -0004857356 00000 n -0004857687 00000 n -0004858109 00000 n -0004858153 00000 n -0004858196 00000 n -0004858264 00000 n -0004858513 00000 n -0004858612 00000 n -0004863112 00000 n -0004863278 00000 n -0004863320 00000 n -0004863651 00000 n -0004864073 00000 n -0004864141 00000 n -0004864361 00000 n -0004864460 00000 n -0004866544 00000 n -0004866875 00000 n -0004867297 00000 n -0004867341 00000 n -0004867409 00000 n -0004867629 00000 n -0004867728 00000 n -0004871978 00000 n -0004872309 00000 n -0004872731 00000 n -0004872774 00000 n -0004872859 00000 n -0004872902 00000 n -0004872945 00000 n -0004872989 00000 n -0004873057 00000 n -0004873277 00000 n -0004873376 00000 n -0004878007 00000 n -0004878338 00000 n -0004878760 00000 n -0004878804 00000 n -0004878872 00000 n -0004879107 00000 n -0004879206 00000 n -0004883591 00000 n -0004883731 00000 n -0004883871 00000 n -0004884011 00000 n -0004884151 00000 n -0004884291 00000 n -0004884431 00000 n -0004884571 00000 n -0004884711 00000 n -0004884851 00000 n -0004884991 00000 n -0004885131 00000 n -0004885271 00000 n -0004885411 00000 n -0004885551 00000 n -0004885691 00000 n -0004885831 00000 n -0004885971 00000 n -0004886111 00000 n -0004886251 00000 n -0004886391 00000 n -0004886531 00000 n -0004886671 00000 n -0004886811 00000 n -0004886951 00000 n -0004887091 00000 n -0004887231 00000 n -0004887371 00000 n -0004887511 00000 n -0004887651 00000 n -0004887791 00000 n -0004887931 00000 n -0004888071 00000 n -0004888211 00000 n -0004888351 00000 n -0004888491 00000 n -0004888631 00000 n -0004888771 00000 n -0004888911 00000 n -0004889051 00000 n -0004889191 00000 n -0004889331 00000 n -0004889471 00000 n -0004889611 00000 n -0004889751 00000 n -0004889891 00000 n -0004890031 00000 n -0004890171 00000 n -0004890311 00000 n -0004890451 00000 n -0004890591 00000 n -0004890731 00000 n -0004890871 00000 n -0004891011 00000 n -0004891151 00000 n -0004891291 00000 n -0004891431 00000 n -0004891571 00000 n -0004891711 00000 n -0004891851 00000 n -0004891991 00000 n -0004892131 00000 n -0004892271 00000 n -0004892411 00000 n -0004892551 00000 n -0004892691 00000 n -0004892831 00000 n -0004892971 00000 n -0004893111 00000 n -0004893251 00000 n -0004893391 00000 n -0004893531 00000 n -0004893671 00000 n -0004893811 00000 n -0004893951 00000 n -0004894091 00000 n -0004894231 00000 n -0004894371 00000 n -0004894511 00000 n -0004894651 00000 n -0004894791 00000 n -0004894931 00000 n -0004895071 00000 n -0004895211 00000 n -0004895351 00000 n -0004895491 00000 n -0004895631 00000 n -0004895771 00000 n -0004895911 00000 n -0004896051 00000 n -0004896191 00000 n -0004896331 00000 n -0004896471 00000 n -0004896611 00000 n -0004896751 00000 n -0004896891 00000 n -0004897031 00000 n -0004897171 00000 n -0004897311 00000 n -0004897451 00000 n -0004897591 00000 n -0004897731 00000 n -0004897871 00000 n -0004898011 00000 n -0004898151 00000 n -0004898291 00000 n -0004898431 00000 n -0004898571 00000 n -0004898711 00000 n -0004898851 00000 n -0004898991 00000 n -0004899131 00000 n -0004899271 00000 n -0004899411 00000 n -0004899551 00000 n -0004899691 00000 n -0004899831 00000 n -0004899971 00000 n -0004900111 00000 n -0004900251 00000 n -0004900391 00000 n -0004900531 00000 n -0004900671 00000 n -0004900811 00000 n -0004900951 00000 n -0004901091 00000 n -0004901231 00000 n -0004901371 00000 n -0004901511 00000 n -0004901651 00000 n -0004901791 00000 n -0004901931 00000 n -0004902071 00000 n -0004902211 00000 n -0004902351 00000 n -0004902491 00000 n -0004902631 00000 n -0004902771 00000 n -0004902911 00000 n -0004903051 00000 n -0004903191 00000 n -0004903331 00000 n -0004903471 00000 n -0004903611 00000 n -0004903751 00000 n -0004903891 00000 n -0004904031 00000 n -0004904171 00000 n -0004904311 00000 n -0004904451 00000 n -0004904591 00000 n -0004904731 00000 n -0004904871 00000 n -0004905011 00000 n -0004905151 00000 n -0004905291 00000 n -0004905431 00000 n -0004905571 00000 n -0004905711 00000 n -0004905851 00000 n -0004905991 00000 n -0004906131 00000 n -0004906271 00000 n -0004906411 00000 n -0004906551 00000 n -0004906691 00000 n -0004906831 00000 n -0004906971 00000 n -0004907111 00000 n -0004907251 00000 n -0004907391 00000 n -0004907531 00000 n -0004907671 00000 n -0004907811 00000 n -0004907951 00000 n -0004908091 00000 n -0004908231 00000 n -0004908371 00000 n -0004908511 00000 n -0004908651 00000 n -0004908791 00000 n -0004908931 00000 n -0004909071 00000 n -0004909211 00000 n -0004909351 00000 n -0004909491 00000 n -0004909631 00000 n -0004909771 00000 n -0004909911 00000 n -0004910051 00000 n -0004910191 00000 n -0004910331 00000 n -0004910471 00000 n -0004910611 00000 n -0004910751 00000 n -0004910891 00000 n -0004911031 00000 n -0004911171 00000 n -0004911311 00000 n -0004911451 00000 n -0004911591 00000 n -0004911731 00000 n -0004911871 00000 n -0004912011 00000 n -0004912151 00000 n -0004912291 00000 n -0004912431 00000 n -0004912571 00000 n -0004912711 00000 n -0004912851 00000 n -0004912991 00000 n -0004913131 00000 n -0004913271 00000 n -0004913411 00000 n -0004913551 00000 n -0004913691 00000 n -0004913831 00000 n -0004913971 00000 n -0004914111 00000 n -0004914251 00000 n -0004914391 00000 n -0004914531 00000 n -0004914671 00000 n -0004914811 00000 n -0004914951 00000 n -0004915091 00000 n -0004915231 00000 n -0004915371 00000 n -0004915511 00000 n -0004915651 00000 n -0004915791 00000 n -0004915931 00000 n -0004916071 00000 n -0004916211 00000 n -0004916351 00000 n -0004916491 00000 n -0004916631 00000 n -0004916771 00000 n -0004916911 00000 n -0004917051 00000 n -0004917191 00000 n -0004917331 00000 n -0004917471 00000 n -0004917611 00000 n -0004917751 00000 n -0004917891 00000 n -0004918031 00000 n -0004918171 00000 n -0004918311 00000 n -0004918451 00000 n -0004918591 00000 n -0004918731 00000 n -0004918871 00000 n -0004919011 00000 n -0004919151 00000 n -0004919291 00000 n -0004919431 00000 n -0004919571 00000 n -0004919711 00000 n -0004919851 00000 n -0004919991 00000 n -0004920131 00000 n -0004920271 00000 n -0004920411 00000 n -0004920551 00000 n -0004920691 00000 n -0004920831 00000 n -0004920971 00000 n -0004921111 00000 n -0004921251 00000 n -0004921391 00000 n -0004921531 00000 n -0004921671 00000 n -0004921811 00000 n -0004921951 00000 n -0004922091 00000 n -0004922231 00000 n -0004922371 00000 n -0004922511 00000 n -0004922651 00000 n -0004922791 00000 n -0004922931 00000 n -0004923071 00000 n -0004923211 00000 n -0004923351 00000 n -0004923491 00000 n -0004923631 00000 n -0004923771 00000 n -0004923911 00000 n -0004924051 00000 n -0004924191 00000 n -0004924331 00000 n -0004924471 00000 n -0004924611 00000 n -0004924751 00000 n -0004924891 00000 n -0004925031 00000 n -0004925171 00000 n -0004925311 00000 n -0004925451 00000 n -0004925591 00000 n -0004925731 00000 n -0004925871 00000 n -0004926011 00000 n -0004926151 00000 n -0004926291 00000 n -0004926431 00000 n -0004926571 00000 n -0004926711 00000 n -0004926851 00000 n -0004926991 00000 n -0004927131 00000 n -0004927271 00000 n -0004927411 00000 n -0004927551 00000 n -0004927691 00000 n -0004927831 00000 n -0004927971 00000 n -0004928111 00000 n -0004928251 00000 n -0004928391 00000 n -0004928531 00000 n -0004928671 00000 n -0004928811 00000 n -0004928951 00000 n -0004929091 00000 n -0004929231 00000 n -0004929371 00000 n -0004929511 00000 n -0004929651 00000 n -0004929791 00000 n -0004929931 00000 n -0004930071 00000 n -0004930211 00000 n -0004930351 00000 n -0004930491 00000 n -0004930631 00000 n -0004930771 00000 n -0004930911 00000 n -0004931051 00000 n -0004931191 00000 n -0004931331 00000 n -0004931471 00000 n -0004931611 00000 n -0004931751 00000 n -0004931891 00000 n -0004932031 00000 n -0004932171 00000 n -0004932311 00000 n -0004932355 00000 n -0004932399 00000 n -0004932443 00000 n -0004932487 00000 n -0004932531 00000 n -0004932575 00000 n -0004932619 00000 n -0004932663 00000 n -0004932707 00000 n -0004932751 00000 n -0004932795 00000 n -0004932839 00000 n -0004932883 00000 n -0004932927 00000 n -0004932971 00000 n -0004933015 00000 n -0004933059 00000 n -0004933103 00000 n -0004933147 00000 n -0004933191 00000 n -0004933235 00000 n -0004933279 00000 n -0004933323 00000 n -0004933367 00000 n -0004933411 00000 n -0004933455 00000 n -0004933499 00000 n -0004933543 00000 n -0004933587 00000 n -0004933631 00000 n -0004933675 00000 n -0004933719 00000 n -0004933763 00000 n -0004933807 00000 n -0004933851 00000 n -0004933895 00000 n -0004933939 00000 n -0004933983 00000 n -0004934027 00000 n -0004934071 00000 n -0004934115 00000 n -0004934159 00000 n -0004934203 00000 n -0004934247 00000 n -0004934291 00000 n -0004934335 00000 n -0004934379 00000 n -0004934423 00000 n -0004934467 00000 n -0004934511 00000 n -0004934555 00000 n -0004934599 00000 n -0004934643 00000 n -0004934687 00000 n -0004934731 00000 n -0004934775 00000 n -0004934819 00000 n -0004934863 00000 n -0004934907 00000 n -0004934951 00000 n -0004934995 00000 n -0004935039 00000 n -0004935083 00000 n -0004935127 00000 n -0004935171 00000 n -0004935215 00000 n -0004935259 00000 n -0004935303 00000 n -0004935347 00000 n -0004935391 00000 n -0004935435 00000 n -0004935479 00000 n -0004935523 00000 n -0004935567 00000 n -0004935611 00000 n -0004935655 00000 n -0004935699 00000 n -0004935743 00000 n -0004935787 00000 n -0004935831 00000 n -0004935875 00000 n -0004935919 00000 n -0004935963 00000 n -0004936007 00000 n -0004936051 00000 n -0004936095 00000 n -0004936139 00000 n -0004936183 00000 n -0004936227 00000 n -0004936271 00000 n -0004936315 00000 n -0004936359 00000 n -0004936403 00000 n -0004936447 00000 n -0004936491 00000 n -0004936535 00000 n -0004936579 00000 n -0004936623 00000 n -0004936667 00000 n -0004936711 00000 n -0004936755 00000 n -0004936799 00000 n -0004936843 00000 n -0004936887 00000 n -0004936931 00000 n -0004936975 00000 n -0004937019 00000 n -0004937063 00000 n -0004937107 00000 n -0004937151 00000 n -0004937195 00000 n -0004937239 00000 n -0004937283 00000 n -0004937327 00000 n -0004937371 00000 n -0004937415 00000 n -0004937459 00000 n -0004937503 00000 n -0004937547 00000 n -0004937591 00000 n -0004937635 00000 n -0004937679 00000 n -0004937723 00000 n -0004937767 00000 n -0004937811 00000 n -0004937855 00000 n -0004937899 00000 n -0004937943 00000 n -0004937987 00000 n -0004938031 00000 n -0004938075 00000 n -0004938119 00000 n -0004938163 00000 n -0004938207 00000 n -0004938251 00000 n -0004938295 00000 n -0004938339 00000 n -0004938383 00000 n -0004938427 00000 n -0004938471 00000 n -0004938515 00000 n -0004938559 00000 n -0004938603 00000 n -0004938647 00000 n -0004938691 00000 n -0004938735 00000 n -0004938779 00000 n -0004938823 00000 n -0004938867 00000 n -0004938911 00000 n -0004938955 00000 n -0004938999 00000 n -0004939043 00000 n -0004939087 00000 n -0004939131 00000 n -0004939175 00000 n -0004939219 00000 n -0004939263 00000 n -0004939307 00000 n -0004939351 00000 n -0004939395 00000 n -0004939439 00000 n -0004939483 00000 n -0004939527 00000 n -0004939571 00000 n -0004939615 00000 n -0004939659 00000 n -0004939703 00000 n -0004939747 00000 n -0004939791 00000 n -0004939835 00000 n -0004939879 00000 n -0004939923 00000 n -0004939967 00000 n -0004940011 00000 n -0004940055 00000 n -0004940099 00000 n -0004940143 00000 n -0004940187 00000 n -0004940231 00000 n -0004940275 00000 n -0004940319 00000 n -0004940363 00000 n -0004940407 00000 n -0004940451 00000 n -0004940495 00000 n -0004940539 00000 n -0004940583 00000 n -0004940627 00000 n -0004940671 00000 n -0004940715 00000 n -0004940759 00000 n -0004940803 00000 n -0004940847 00000 n -0004940891 00000 n -0004940935 00000 n -0004940979 00000 n -0004941023 00000 n -0004941067 00000 n -0004941111 00000 n -0004941155 00000 n -0004941199 00000 n -0004941243 00000 n -0004941287 00000 n -0004941331 00000 n -0004941375 00000 n -0004941419 00000 n -0004941463 00000 n -0004941507 00000 n -0004941551 00000 n -0004941595 00000 n -0004941639 00000 n -0004941683 00000 n -0004941727 00000 n -0004941771 00000 n -0004941815 00000 n -0004941859 00000 n -0004941903 00000 n -0004941947 00000 n -0004941991 00000 n -0004942035 00000 n -0004942079 00000 n -0004942123 00000 n -0004942167 00000 n -0004942211 00000 n -0004942255 00000 n -0004942299 00000 n -0004942343 00000 n -0004942387 00000 n -0004942431 00000 n -0004942475 00000 n -0004942519 00000 n -0004942850 00000 n -0004943272 00000 n -0004943316 00000 n -0004943360 00000 n -0004943404 00000 n -0004943448 00000 n -0004943516 00000 n -0004943736 00000 n -0004943835 00000 n -0004947903 00000 n -0004948234 00000 n -0004948656 00000 n -0004948700 00000 n -0004948743 00000 n -0004948786 00000 n -0004948830 00000 n -0004948873 00000 n -0004948916 00000 n -0004948960 00000 n -0004949003 00000 n -0004949047 00000 n -0004949090 00000 n -0004949158 00000 n -0004949435 00000 n -0004949534 00000 n -0004953589 00000 n -0004953754 00000 n -0004953796 00000 n -0004954127 00000 n -0004954549 00000 n -0004954592 00000 n -0004954636 00000 n -0004954679 00000 n -0004954721 00000 n -0004954764 00000 n -0004954808 00000 n -0004954851 00000 n -0004954893 00000 n -0004955089 00000 n -0004955527 00000 n -0004955977 00000 n -0004956400 00000 n -0004956731 00000 n -0004957037 00000 n -0004957338 00000 n -0004958616 00000 n -0004960561 00000 n -0004962434 00000 n -0004996207 00000 n -0004997388 00000 n -0004997505 00000 n -0004997622 00000 n -0004997695 00000 n -0004997768 00000 n -0004997792 00000 n -0004998120 00000 n -0004998200 00000 n -0004999679 00000 n -0004999721 00000 n -0005002785 00000 n -0005003368 00000 n -0005003959 00000 n -0005004439 00000 n -0005004737 00000 n -0005004780 00000 n -0005004848 00000 n -0005005068 00000 n -0005005167 00000 n -0005008944 00000 n -0005009275 00000 n -0005009697 00000 n -0005009765 00000 n -0005009985 00000 n -0005010084 00000 n -0005011752 00000 n -0005012083 00000 n -0005012505 00000 n -0005012548 00000 n -0005012592 00000 n -0005012660 00000 n -0005012894 00000 n -0005012993 00000 n -0005017415 00000 n -0005017581 00000 n -0005017623 00000 n -0005017954 00000 n -0005018376 00000 n -0005018420 00000 n -0005018463 00000 n -0005018506 00000 n -0005018574 00000 n -0005018823 00000 n -0005018922 00000 n -0005022414 00000 n -0005022579 00000 n -0005022621 00000 n -0005022952 00000 n -0005023374 00000 n -0005023417 00000 n -0005023459 00000 n -0005023503 00000 n -0005023547 00000 n -0005023589 00000 n -0005023657 00000 n -0005023906 00000 n -0005024005 00000 n -0005028654 00000 n -0005028821 00000 n -0005028864 00000 n -0005029195 00000 n -0005029617 00000 n -0005029660 00000 n -0005029704 00000 n -0005029747 00000 n -0005029790 00000 n -0005029834 00000 n -0005029877 00000 n -0005029921 00000 n -0005029989 00000 n -0005030209 00000 n -0005030308 00000 n -0005034902 00000 n -0005035042 00000 n -0005035182 00000 n -0005035322 00000 n -0005035462 00000 n -0005035602 00000 n -0005035742 00000 n -0005035882 00000 n -0005036022 00000 n -0005036162 00000 n -0005036302 00000 n -0005036442 00000 n -0005036582 00000 n -0005036722 00000 n -0005036862 00000 n -0005037002 00000 n -0005037142 00000 n -0005037282 00000 n -0005037422 00000 n -0005037562 00000 n -0005037702 00000 n -0005037842 00000 n -0005037982 00000 n -0005038122 00000 n -0005038262 00000 n -0005038402 00000 n -0005038542 00000 n -0005038682 00000 n -0005038822 00000 n -0005038962 00000 n -0005039102 00000 n -0005039242 00000 n -0005039382 00000 n -0005039522 00000 n -0005039662 00000 n -0005039802 00000 n -0005039942 00000 n -0005040082 00000 n -0005040222 00000 n -0005040362 00000 n -0005040502 00000 n -0005040642 00000 n -0005040782 00000 n -0005040922 00000 n -0005041062 00000 n -0005041202 00000 n -0005041342 00000 n -0005041482 00000 n -0005041622 00000 n -0005041762 00000 n -0005041902 00000 n -0005042042 00000 n -0005042182 00000 n -0005042322 00000 n -0005042462 00000 n -0005042602 00000 n -0005042742 00000 n -0005042882 00000 n -0005043022 00000 n -0005043162 00000 n -0005043302 00000 n -0005043442 00000 n -0005043582 00000 n -0005043722 00000 n -0005043862 00000 n -0005044002 00000 n -0005044142 00000 n -0005044282 00000 n -0005044422 00000 n -0005044562 00000 n -0005044702 00000 n -0005044842 00000 n -0005044982 00000 n -0005045122 00000 n -0005045262 00000 n -0005045402 00000 n -0005045542 00000 n -0005045682 00000 n -0005045822 00000 n -0005045962 00000 n -0005046102 00000 n -0005046242 00000 n -0005046382 00000 n -0005046522 00000 n -0005046662 00000 n -0005046802 00000 n -0005046942 00000 n -0005047082 00000 n -0005047222 00000 n -0005047362 00000 n -0005047502 00000 n -0005047642 00000 n -0005047782 00000 n -0005047922 00000 n -0005048062 00000 n -0005048202 00000 n -0005048342 00000 n -0005048482 00000 n -0005048622 00000 n -0005048762 00000 n -0005048902 00000 n -0005049042 00000 n -0005049182 00000 n -0005049322 00000 n -0005049462 00000 n -0005049602 00000 n -0005049742 00000 n -0005049882 00000 n -0005050022 00000 n -0005050162 00000 n -0005050302 00000 n -0005050442 00000 n -0005050582 00000 n -0005050722 00000 n -0005050862 00000 n -0005051002 00000 n -0005051142 00000 n -0005051282 00000 n -0005051422 00000 n -0005051562 00000 n -0005051702 00000 n -0005051842 00000 n -0005051982 00000 n -0005052122 00000 n -0005052262 00000 n -0005052402 00000 n -0005052542 00000 n -0005052682 00000 n -0005052822 00000 n -0005052962 00000 n -0005053102 00000 n -0005053242 00000 n -0005053382 00000 n -0005053522 00000 n -0005053662 00000 n -0005053802 00000 n -0005053942 00000 n -0005054082 00000 n -0005054222 00000 n -0005054362 00000 n -0005054502 00000 n -0005054642 00000 n -0005054782 00000 n -0005054922 00000 n -0005055062 00000 n -0005055202 00000 n -0005055342 00000 n -0005055482 00000 n -0005055622 00000 n -0005055762 00000 n -0005055902 00000 n -0005056042 00000 n -0005056182 00000 n -0005056322 00000 n -0005056462 00000 n -0005056602 00000 n -0005056742 00000 n -0005056882 00000 n -0005057022 00000 n -0005057162 00000 n -0005057302 00000 n -0005057442 00000 n -0005057582 00000 n -0005057722 00000 n -0005057862 00000 n -0005058002 00000 n -0005058142 00000 n -0005058282 00000 n -0005058422 00000 n -0005058562 00000 n -0005058702 00000 n -0005058842 00000 n -0005058982 00000 n -0005059122 00000 n -0005059262 00000 n -0005059402 00000 n -0005059542 00000 n -0005059682 00000 n -0005059822 00000 n -0005059962 00000 n -0005060102 00000 n -0005060242 00000 n -0005060382 00000 n -0005060522 00000 n -0005060662 00000 n -0005060802 00000 n -0005060942 00000 n -0005061082 00000 n -0005061222 00000 n -0005061362 00000 n -0005061502 00000 n -0005061642 00000 n -0005061782 00000 n -0005061922 00000 n -0005062062 00000 n -0005062202 00000 n -0005062342 00000 n -0005062482 00000 n -0005062622 00000 n -0005062762 00000 n -0005062902 00000 n -0005063042 00000 n -0005063182 00000 n -0005063322 00000 n -0005063462 00000 n -0005063602 00000 n -0005063742 00000 n -0005063882 00000 n -0005064022 00000 n -0005064162 00000 n -0005064302 00000 n -0005064442 00000 n -0005064582 00000 n -0005064722 00000 n -0005064862 00000 n -0005065002 00000 n -0005065142 00000 n -0005065282 00000 n -0005065422 00000 n -0005065562 00000 n -0005065702 00000 n -0005065842 00000 n -0005065982 00000 n -0005066122 00000 n -0005066262 00000 n -0005066402 00000 n -0005066542 00000 n -0005066682 00000 n -0005066822 00000 n -0005066962 00000 n -0005067102 00000 n -0005067242 00000 n -0005067382 00000 n -0005067522 00000 n -0005067662 00000 n -0005067802 00000 n -0005067942 00000 n -0005068082 00000 n -0005068222 00000 n -0005068362 00000 n -0005068502 00000 n -0005068642 00000 n -0005068782 00000 n -0005068922 00000 n -0005069062 00000 n -0005069202 00000 n -0005069342 00000 n -0005069482 00000 n -0005069622 00000 n -0005069762 00000 n -0005069902 00000 n -0005070042 00000 n -0005070182 00000 n -0005070322 00000 n -0005070462 00000 n -0005070602 00000 n -0005070742 00000 n -0005070882 00000 n -0005071022 00000 n -0005071162 00000 n -0005071302 00000 n -0005071442 00000 n -0005071582 00000 n -0005071722 00000 n -0005071862 00000 n -0005072002 00000 n -0005072142 00000 n -0005072282 00000 n -0005072422 00000 n -0005072562 00000 n -0005072702 00000 n -0005072842 00000 n -0005072982 00000 n -0005073122 00000 n -0005073262 00000 n -0005073402 00000 n -0005073542 00000 n -0005073682 00000 n -0005073822 00000 n -0005073962 00000 n -0005074102 00000 n -0005074242 00000 n -0005074382 00000 n -0005074522 00000 n -0005074662 00000 n -0005074802 00000 n -0005074942 00000 n -0005075082 00000 n -0005075222 00000 n -0005075362 00000 n -0005075502 00000 n -0005075642 00000 n -0005075782 00000 n -0005075922 00000 n -0005076062 00000 n -0005076202 00000 n -0005076342 00000 n -0005076482 00000 n -0005076622 00000 n -0005076762 00000 n -0005076902 00000 n -0005077042 00000 n -0005077182 00000 n -0005077322 00000 n -0005077462 00000 n -0005077602 00000 n -0005077742 00000 n -0005077882 00000 n -0005078022 00000 n -0005078162 00000 n -0005078302 00000 n -0005078442 00000 n -0005078582 00000 n -0005078722 00000 n -0005078862 00000 n -0005079002 00000 n -0005079142 00000 n -0005079282 00000 n -0005079422 00000 n -0005079562 00000 n -0005079702 00000 n -0005079842 00000 n -0005079982 00000 n -0005080122 00000 n -0005080262 00000 n -0005080402 00000 n -0005080542 00000 n -0005080682 00000 n -0005080822 00000 n -0005080962 00000 n -0005081102 00000 n -0005081242 00000 n -0005081382 00000 n -0005081522 00000 n -0005081662 00000 n -0005081802 00000 n -0005081942 00000 n -0005082082 00000 n -0005082222 00000 n -0005082362 00000 n -0005082502 00000 n -0005082642 00000 n -0005082782 00000 n -0005082922 00000 n -0005083062 00000 n -0005083202 00000 n -0005083342 00000 n -0005083482 00000 n -0005083622 00000 n -0005083762 00000 n -0005083902 00000 n -0005084042 00000 n -0005084182 00000 n -0005084322 00000 n -0005084462 00000 n -0005084602 00000 n -0005084742 00000 n -0005084882 00000 n -0005085022 00000 n -0005085162 00000 n -0005085302 00000 n -0005085442 00000 n -0005085582 00000 n -0005085722 00000 n -0005085862 00000 n -0005086002 00000 n -0005086142 00000 n -0005086282 00000 n -0005086422 00000 n -0005086562 00000 n -0005086702 00000 n -0005086842 00000 n -0005086982 00000 n -0005087122 00000 n -0005087262 00000 n -0005087402 00000 n -0005087542 00000 n -0005087682 00000 n -0005087822 00000 n -0005087962 00000 n -0005088102 00000 n -0005088242 00000 n -0005088382 00000 n -0005088522 00000 n -0005088662 00000 n -0005088802 00000 n -0005088942 00000 n -0005089082 00000 n -0005089222 00000 n -0005089362 00000 n -0005089502 00000 n -0005089642 00000 n -0005089782 00000 n -0005089922 00000 n -0005090062 00000 n -0005090202 00000 n -0005090342 00000 n -0005090482 00000 n -0005090622 00000 n -0005090762 00000 n -0005090902 00000 n -0005091042 00000 n -0005091182 00000 n -0005091322 00000 n -0005091462 00000 n -0005091602 00000 n -0005091742 00000 n -0005091882 00000 n -0005092022 00000 n -0005092162 00000 n -0005092302 00000 n -0005092346 00000 n -0005092390 00000 n -0005092434 00000 n -0005092478 00000 n -0005092522 00000 n -0005092566 00000 n -0005092610 00000 n -0005092654 00000 n -0005092698 00000 n -0005092742 00000 n -0005092786 00000 n -0005092830 00000 n -0005092874 00000 n -0005092918 00000 n -0005092962 00000 n -0005093006 00000 n -0005093050 00000 n -0005093094 00000 n -0005093138 00000 n -0005093182 00000 n -0005093226 00000 n -0005093270 00000 n -0005093314 00000 n -0005093358 00000 n -0005093402 00000 n -0005093446 00000 n -0005093490 00000 n -0005093534 00000 n -0005093578 00000 n -0005093622 00000 n -0005093666 00000 n -0005093710 00000 n -0005093754 00000 n -0005093798 00000 n -0005093842 00000 n -0005093886 00000 n -0005093930 00000 n -0005093974 00000 n -0005094018 00000 n -0005094062 00000 n -0005094106 00000 n -0005094150 00000 n -0005094194 00000 n -0005094238 00000 n -0005094282 00000 n -0005094326 00000 n -0005094370 00000 n -0005094414 00000 n -0005094458 00000 n -0005094502 00000 n -0005094546 00000 n -0005094590 00000 n -0005094634 00000 n -0005094678 00000 n -0005094722 00000 n -0005094766 00000 n -0005094810 00000 n -0005094854 00000 n -0005094898 00000 n -0005094942 00000 n -0005094986 00000 n -0005095030 00000 n -0005095074 00000 n -0005095118 00000 n -0005095162 00000 n -0005095206 00000 n -0005095250 00000 n -0005095294 00000 n -0005095338 00000 n -0005095382 00000 n -0005095426 00000 n -0005095470 00000 n -0005095514 00000 n -0005095558 00000 n -0005095602 00000 n -0005095646 00000 n -0005095690 00000 n -0005095734 00000 n -0005095778 00000 n -0005095822 00000 n -0005095866 00000 n -0005095910 00000 n -0005095954 00000 n -0005095998 00000 n -0005096042 00000 n -0005096086 00000 n -0005096130 00000 n -0005096174 00000 n -0005096218 00000 n -0005096262 00000 n -0005096306 00000 n -0005096350 00000 n -0005096394 00000 n -0005096438 00000 n -0005096482 00000 n -0005096526 00000 n -0005096570 00000 n -0005096614 00000 n -0005096658 00000 n -0005096702 00000 n -0005096746 00000 n -0005096790 00000 n -0005096834 00000 n -0005096878 00000 n -0005096922 00000 n -0005096966 00000 n -0005097010 00000 n -0005097054 00000 n -0005097098 00000 n -0005097142 00000 n -0005097186 00000 n -0005097230 00000 n -0005097274 00000 n -0005097318 00000 n -0005097362 00000 n -0005097406 00000 n -0005097450 00000 n -0005097494 00000 n -0005097538 00000 n -0005097582 00000 n -0005097626 00000 n -0005097670 00000 n -0005097714 00000 n -0005097758 00000 n -0005097802 00000 n -0005097846 00000 n -0005097890 00000 n -0005097934 00000 n -0005097978 00000 n -0005098022 00000 n -0005098066 00000 n -0005098110 00000 n -0005098154 00000 n -0005098198 00000 n -0005098242 00000 n -0005098286 00000 n -0005098330 00000 n -0005098374 00000 n -0005098418 00000 n -0005098462 00000 n -0005098506 00000 n -0005098550 00000 n -0005098594 00000 n -0005098638 00000 n -0005098682 00000 n -0005098726 00000 n -0005098770 00000 n -0005098814 00000 n -0005098858 00000 n -0005098902 00000 n -0005098946 00000 n -0005098990 00000 n -0005099034 00000 n -0005099078 00000 n -0005099122 00000 n -0005099166 00000 n -0005099210 00000 n -0005099254 00000 n -0005099298 00000 n -0005099342 00000 n -0005099386 00000 n -0005099430 00000 n -0005099474 00000 n -0005099518 00000 n -0005099562 00000 n -0005099606 00000 n -0005099650 00000 n -0005099694 00000 n -0005099738 00000 n -0005099782 00000 n -0005099826 00000 n -0005099870 00000 n -0005099914 00000 n -0005099958 00000 n -0005100002 00000 n -0005100046 00000 n -0005100090 00000 n -0005100134 00000 n -0005100178 00000 n -0005100222 00000 n -0005100266 00000 n -0005100310 00000 n -0005100354 00000 n -0005100398 00000 n -0005100442 00000 n -0005100486 00000 n -0005100530 00000 n -0005100574 00000 n -0005100618 00000 n -0005100662 00000 n -0005100706 00000 n -0005100750 00000 n -0005100794 00000 n -0005100838 00000 n -0005100882 00000 n -0005100926 00000 n -0005100970 00000 n -0005101014 00000 n -0005101058 00000 n -0005101102 00000 n -0005101146 00000 n -0005101190 00000 n -0005101234 00000 n -0005101278 00000 n -0005101322 00000 n -0005101366 00000 n -0005101410 00000 n -0005101454 00000 n -0005101498 00000 n -0005101542 00000 n -0005101586 00000 n -0005101630 00000 n -0005101674 00000 n -0005101718 00000 n -0005101762 00000 n -0005101806 00000 n -0005101850 00000 n -0005101894 00000 n -0005101938 00000 n -0005101982 00000 n -0005102026 00000 n -0005102070 00000 n -0005102114 00000 n -0005102158 00000 n -0005102202 00000 n -0005102246 00000 n -0005102290 00000 n -0005102334 00000 n -0005102378 00000 n -0005102422 00000 n -0005102466 00000 n -0005102510 00000 n -0005102554 00000 n -0005102598 00000 n -0005102642 00000 n -0005102686 00000 n -0005102730 00000 n -0005102774 00000 n -0005102818 00000 n -0005102862 00000 n -0005102906 00000 n -0005102950 00000 n -0005102994 00000 n -0005103038 00000 n -0005103082 00000 n -0005103126 00000 n -0005103170 00000 n -0005103214 00000 n -0005103258 00000 n -0005103302 00000 n -0005103346 00000 n -0005103390 00000 n -0005103434 00000 n -0005103478 00000 n -0005103522 00000 n -0005103566 00000 n -0005103610 00000 n -0005103654 00000 n -0005103698 00000 n -0005103742 00000 n -0005103786 00000 n -0005103830 00000 n -0005103874 00000 n -0005103918 00000 n -0005103962 00000 n -0005104006 00000 n -0005104050 00000 n -0005104094 00000 n -0005104138 00000 n -0005104182 00000 n -0005104226 00000 n -0005104270 00000 n -0005104314 00000 n -0005104358 00000 n -0005104402 00000 n -0005104446 00000 n -0005104490 00000 n -0005104534 00000 n -0005104578 00000 n -0005104622 00000 n -0005104666 00000 n -0005104710 00000 n -0005104754 00000 n -0005104798 00000 n -0005104842 00000 n -0005104886 00000 n -0005104930 00000 n -0005104974 00000 n -0005105018 00000 n -0005105062 00000 n -0005105106 00000 n -0005105150 00000 n -0005105194 00000 n -0005105238 00000 n -0005105282 00000 n -0005105326 00000 n -0005105370 00000 n -0005105414 00000 n -0005105458 00000 n -0005105502 00000 n -0005105546 00000 n -0005105590 00000 n -0005105634 00000 n -0005105678 00000 n -0005105722 00000 n -0005105766 00000 n -0005105810 00000 n -0005105854 00000 n -0005105898 00000 n -0005105942 00000 n -0005105986 00000 n -0005106030 00000 n -0005106074 00000 n -0005106118 00000 n -0005106162 00000 n -0005106206 00000 n -0005106250 00000 n -0005106294 00000 n -0005106338 00000 n -0005106382 00000 n -0005106426 00000 n -0005106470 00000 n -0005106514 00000 n -0005106558 00000 n -0005106602 00000 n -0005106646 00000 n -0005106690 00000 n -0005106734 00000 n -0005106778 00000 n -0005106822 00000 n -0005106866 00000 n -0005106910 00000 n -0005106954 00000 n -0005106998 00000 n -0005107042 00000 n -0005107086 00000 n -0005107130 00000 n -0005107174 00000 n -0005107218 00000 n -0005107262 00000 n -0005107306 00000 n -0005107350 00000 n -0005107394 00000 n -0005107438 00000 n -0005107482 00000 n -0005107526 00000 n -0005107570 00000 n -0005107614 00000 n -0005107658 00000 n -0005107702 00000 n -0005107746 00000 n -0005107790 00000 n -0005107834 00000 n -0005107878 00000 n -0005107922 00000 n -0005107966 00000 n -0005108010 00000 n -0005108054 00000 n -0005108098 00000 n -0005108429 00000 n -0005108851 00000 n -0005108895 00000 n -0005108939 00000 n -0005108982 00000 n -0005109025 00000 n -0005109068 00000 n -0005109136 00000 n -0005109371 00000 n -0005109470 00000 n -0005114050 00000 n -0005114381 00000 n -0005114803 00000 n -0005114846 00000 n -0005114890 00000 n -0005114934 00000 n -0005114977 00000 n -0005115020 00000 n -0005115063 00000 n -0005115107 00000 n -0005115151 00000 n -0005115219 00000 n -0005115439 00000 n -0005115538 00000 n -0005119003 00000 n -0005119334 00000 n -0005119756 00000 n -0005119824 00000 n -0005119950 00000 n -0005120018 00000 n -0005120127 00000 n -0005231813 00000 n -0005232228 00000 n -0005232530 00000 n -0005232598 00000 n -0005232847 00000 n -0005232946 00000 n -0005234856 00000 n -0005235187 00000 n -0005235609 00000 n -0005235653 00000 n -0005235696 00000 n -0005235739 00000 n -0005235783 00000 n -0005235827 00000 n -0005235895 00000 n -0005236172 00000 n -0005236271 00000 n -0005240258 00000 n -0005240424 00000 n -0005240590 00000 n -0005240632 00000 n -0005240674 00000 n -0005241005 00000 n -0005241427 00000 n -0005241470 00000 n -0005241514 00000 n -0005241582 00000 n -0005241845 00000 n -0005241944 00000 n -0005246142 00000 n -0005246304 00000 n -0005246346 00000 n -0005246677 00000 n -0005247099 00000 n -0005247143 00000 n -0005247186 00000 n -0005247230 00000 n -0005247273 00000 n -0005247341 00000 n -0005247590 00000 n -0005247689 00000 n -0005251464 00000 n -0005251795 00000 n -0005252217 00000 n -0005252285 00000 n -0005252505 00000 n -0005252604 00000 n -0005255279 00000 n -0005255610 00000 n -0005256032 00000 n -0005256076 00000 n -0005256120 00000 n -0005256164 00000 n -0005256208 00000 n -0005256251 00000 n -0005256295 00000 n -0005256338 00000 n -0005256382 00000 n -0005256426 00000 n -0005256469 00000 n -0005256512 00000 n -0005256556 00000 n -0005256598 00000 n -0005256641 00000 n -0005256709 00000 n -0005256972 00000 n -0005257071 00000 n -0005260947 00000 n -0005261113 00000 n -0005261155 00000 n -0005261486 00000 n -0005261908 00000 n -0005261952 00000 n -0005262020 00000 n -0005262255 00000 n -0005262354 00000 n -0005265579 00000 n -0005265910 00000 n -0005266332 00000 n -0005266375 00000 n -0005266443 00000 n -0005266692 00000 n -0005266791 00000 n -0005268657 00000 n -0005268988 00000 n -0005269410 00000 n -0005269454 00000 n -0005269496 00000 n -0005269539 00000 n -0005269582 00000 n -0005269625 00000 n -0005269669 00000 n -0005269713 00000 n -0005269756 00000 n -0005269799 00000 n -0005269842 00000 n -0005269910 00000 n -0005270187 00000 n -0005270286 00000 n -0005274327 00000 n -0005274493 00000 n -0005274535 00000 n -0005274866 00000 n -0005275288 00000 n -0005275330 00000 n -0005275373 00000 n -0005275417 00000 n -0005275461 00000 n -0005275529 00000 n -0005275778 00000 n -0005275877 00000 n -0005280082 00000 n -0005280248 00000 n -0005280290 00000 n -0005280621 00000 n -0005281043 00000 n -0005281086 00000 n -0005281154 00000 n -0005281431 00000 n -0005281530 00000 n -0005285906 00000 n -0005286070 00000 n -0005286113 00000 n -0005286444 00000 n -0005286866 00000 n -0005286909 00000 n -0005286953 00000 n -0005286996 00000 n -0005287039 00000 n -0005287082 00000 n -0005287125 00000 n -0005287456 00000 n -0005287878 00000 n -0005287921 00000 n -0005287964 00000 n -0005288008 00000 n -0005288051 00000 n -0005288382 00000 n -0005288804 00000 n -0005288872 00000 n -0005289107 00000 n -0005289206 00000 n -0005293295 00000 n -0005293434 00000 n -0005293573 00000 n -0005293712 00000 n -0005293851 00000 n -0005293990 00000 n -0005294129 00000 n -0005294268 00000 n -0005294407 00000 n -0005294546 00000 n -0005294685 00000 n -0005294824 00000 n -0005294963 00000 n -0005295102 00000 n -0005295241 00000 n -0005295380 00000 n -0005295519 00000 n -0005295658 00000 n -0005295797 00000 n -0005295936 00000 n -0005296075 00000 n -0005296214 00000 n -0005296353 00000 n -0005296492 00000 n -0005296631 00000 n -0005296770 00000 n -0005296909 00000 n -0005297048 00000 n -0005297187 00000 n -0005297326 00000 n -0005297465 00000 n -0005297604 00000 n -0005297743 00000 n -0005297882 00000 n -0005298021 00000 n -0005298160 00000 n -0005298299 00000 n -0005298438 00000 n -0005298577 00000 n -0005298716 00000 n -0005298855 00000 n -0005298994 00000 n -0005299133 00000 n -0005299272 00000 n -0005299411 00000 n -0005299550 00000 n -0005299689 00000 n -0005299828 00000 n -0005299967 00000 n -0005300106 00000 n -0005300245 00000 n -0005300384 00000 n -0005300523 00000 n -0005300662 00000 n -0005300801 00000 n -0005300940 00000 n -0005301079 00000 n -0005301218 00000 n -0005301357 00000 n -0005301496 00000 n -0005301635 00000 n -0005301774 00000 n -0005301913 00000 n -0005302052 00000 n -0005302191 00000 n -0005302330 00000 n -0005302469 00000 n -0005302608 00000 n -0005302747 00000 n -0005302886 00000 n -0005303025 00000 n -0005303164 00000 n -0005303303 00000 n -0005303442 00000 n -0005303581 00000 n -0005303720 00000 n -0005303859 00000 n -0005303998 00000 n -0005304137 00000 n -0005304276 00000 n -0005304415 00000 n -0005304554 00000 n -0005304693 00000 n -0005304832 00000 n -0005304971 00000 n -0005305110 00000 n -0005305249 00000 n -0005305388 00000 n -0005305527 00000 n -0005305666 00000 n -0005305805 00000 n -0005305944 00000 n -0005306083 00000 n -0005306222 00000 n -0005306361 00000 n -0005306500 00000 n -0005306639 00000 n -0005306778 00000 n -0005306917 00000 n -0005307056 00000 n -0005307195 00000 n -0005307334 00000 n -0005307473 00000 n -0005307612 00000 n -0005307751 00000 n -0005307890 00000 n -0005308029 00000 n -0005308168 00000 n -0005308307 00000 n -0005308446 00000 n -0005308585 00000 n -0005308724 00000 n -0005308863 00000 n -0005309002 00000 n -0005309141 00000 n -0005309280 00000 n -0005309419 00000 n -0005309558 00000 n -0005309697 00000 n -0005309836 00000 n -0005309975 00000 n -0005310114 00000 n -0005310253 00000 n -0005310392 00000 n -0005310531 00000 n -0005310670 00000 n -0005310809 00000 n -0005310948 00000 n -0005311087 00000 n -0005311226 00000 n -0005311365 00000 n -0005311504 00000 n -0005311643 00000 n -0005311782 00000 n -0005311921 00000 n -0005312060 00000 n -0005312199 00000 n -0005312338 00000 n -0005312477 00000 n -0005312616 00000 n -0005312755 00000 n -0005312894 00000 n -0005313033 00000 n -0005313172 00000 n -0005313311 00000 n -0005313450 00000 n -0005313589 00000 n -0005313728 00000 n -0005313867 00000 n -0005314006 00000 n -0005314145 00000 n -0005314284 00000 n -0005314423 00000 n -0005314562 00000 n -0005314701 00000 n -0005314840 00000 n -0005314979 00000 n -0005315118 00000 n -0005315257 00000 n -0005315396 00000 n -0005315535 00000 n -0005315674 00000 n -0005315813 00000 n -0005315952 00000 n -0005316091 00000 n -0005316230 00000 n -0005316369 00000 n -0005316508 00000 n -0005316647 00000 n -0005316786 00000 n -0005316925 00000 n -0005317064 00000 n -0005317203 00000 n -0005317342 00000 n -0005317481 00000 n -0005317620 00000 n -0005317759 00000 n -0005317898 00000 n -0005318037 00000 n -0005318176 00000 n -0005318315 00000 n -0005318454 00000 n -0005318593 00000 n -0005318732 00000 n -0005318871 00000 n -0005319010 00000 n -0005319149 00000 n -0005319288 00000 n -0005319427 00000 n -0005319566 00000 n -0005319705 00000 n -0005319844 00000 n -0005319983 00000 n -0005320122 00000 n -0005320261 00000 n -0005320400 00000 n -0005320539 00000 n -0005320678 00000 n -0005320817 00000 n -0005320956 00000 n -0005321095 00000 n -0005321234 00000 n -0005321373 00000 n -0005321512 00000 n -0005321651 00000 n -0005321790 00000 n -0005321929 00000 n -0005322068 00000 n -0005322207 00000 n -0005322346 00000 n -0005322485 00000 n -0005322624 00000 n -0005322763 00000 n -0005322902 00000 n -0005323041 00000 n -0005323180 00000 n -0005323319 00000 n -0005323458 00000 n -0005323597 00000 n -0005323736 00000 n -0005323875 00000 n -0005324014 00000 n -0005324153 00000 n -0005324292 00000 n -0005324431 00000 n -0005324570 00000 n -0005324709 00000 n -0005324848 00000 n -0005324987 00000 n -0005325126 00000 n -0005325265 00000 n -0005325404 00000 n -0005325543 00000 n -0005325682 00000 n -0005325821 00000 n -0005325960 00000 n -0005326099 00000 n -0005326238 00000 n -0005326377 00000 n -0005326516 00000 n -0005326655 00000 n -0005326794 00000 n -0005326933 00000 n -0005327072 00000 n -0005327211 00000 n -0005327350 00000 n -0005327489 00000 n -0005327628 00000 n -0005327767 00000 n -0005327906 00000 n -0005328045 00000 n -0005328184 00000 n -0005328323 00000 n -0005328462 00000 n -0005328601 00000 n -0005328740 00000 n -0005328879 00000 n -0005329018 00000 n -0005329157 00000 n -0005329296 00000 n -0005329435 00000 n -0005329574 00000 n -0005329713 00000 n -0005329852 00000 n -0005329991 00000 n -0005330130 00000 n -0005330269 00000 n -0005330408 00000 n -0005330547 00000 n -0005330686 00000 n -0005330825 00000 n -0005330964 00000 n -0005331103 00000 n -0005331242 00000 n -0005331381 00000 n -0005331520 00000 n -0005331659 00000 n -0005331798 00000 n -0005331937 00000 n -0005332076 00000 n -0005332215 00000 n -0005332354 00000 n -0005332397 00000 n -0005332440 00000 n -0005332483 00000 n -0005332526 00000 n -0005332569 00000 n -0005332612 00000 n -0005332655 00000 n -0005332698 00000 n -0005332741 00000 n -0005332784 00000 n -0005332827 00000 n -0005332870 00000 n -0005332913 00000 n -0005332956 00000 n -0005332999 00000 n -0005333042 00000 n -0005333085 00000 n -0005333128 00000 n -0005333171 00000 n -0005333214 00000 n -0005333257 00000 n -0005333300 00000 n -0005333343 00000 n -0005333386 00000 n -0005333429 00000 n -0005333472 00000 n -0005333515 00000 n -0005333558 00000 n -0005333601 00000 n -0005333644 00000 n -0005333687 00000 n -0005333730 00000 n -0005333773 00000 n -0005333816 00000 n -0005333859 00000 n -0005333902 00000 n -0005333945 00000 n -0005333988 00000 n -0005334031 00000 n -0005334074 00000 n -0005334117 00000 n -0005334160 00000 n -0005334203 00000 n -0005334246 00000 n -0005334289 00000 n -0005334332 00000 n -0005334375 00000 n -0005334418 00000 n -0005334461 00000 n -0005334504 00000 n -0005334547 00000 n -0005334590 00000 n -0005334633 00000 n -0005334676 00000 n -0005334719 00000 n -0005334762 00000 n -0005334805 00000 n -0005334848 00000 n -0005334891 00000 n -0005334934 00000 n -0005334977 00000 n -0005335020 00000 n -0005335063 00000 n -0005335106 00000 n -0005335149 00000 n -0005335192 00000 n -0005335235 00000 n -0005335278 00000 n -0005335321 00000 n -0005335364 00000 n -0005335407 00000 n -0005335450 00000 n -0005335493 00000 n -0005335536 00000 n -0005335579 00000 n -0005335622 00000 n -0005335665 00000 n -0005335708 00000 n -0005335751 00000 n -0005335794 00000 n -0005335837 00000 n -0005335880 00000 n -0005335923 00000 n -0005335966 00000 n -0005336009 00000 n -0005336052 00000 n -0005336095 00000 n -0005336138 00000 n -0005336181 00000 n -0005336224 00000 n -0005336267 00000 n -0005336310 00000 n -0005336353 00000 n -0005336396 00000 n -0005336439 00000 n -0005336482 00000 n -0005336525 00000 n -0005336568 00000 n -0005336611 00000 n -0005336654 00000 n -0005336697 00000 n -0005336740 00000 n -0005336783 00000 n -0005336826 00000 n -0005336869 00000 n -0005336912 00000 n -0005336955 00000 n -0005336998 00000 n -0005337041 00000 n -0005337084 00000 n -0005337127 00000 n -0005337170 00000 n -0005337213 00000 n -0005337256 00000 n -0005337299 00000 n -0005337342 00000 n -0005337385 00000 n -0005337428 00000 n -0005337471 00000 n -0005337514 00000 n -0005337557 00000 n -0005337600 00000 n -0005337643 00000 n -0005337686 00000 n -0005337729 00000 n -0005337772 00000 n -0005337815 00000 n -0005337858 00000 n -0005337901 00000 n -0005337944 00000 n -0005337987 00000 n -0005338030 00000 n -0005338073 00000 n -0005338116 00000 n -0005338159 00000 n -0005338202 00000 n -0005338245 00000 n -0005338288 00000 n -0005338331 00000 n -0005338374 00000 n -0005338417 00000 n -0005338460 00000 n -0005338503 00000 n -0005338546 00000 n -0005338589 00000 n -0005338632 00000 n -0005338675 00000 n -0005338718 00000 n -0005338761 00000 n -0005338804 00000 n -0005338847 00000 n -0005338890 00000 n -0005338933 00000 n -0005338976 00000 n -0005339019 00000 n -0005339062 00000 n -0005339105 00000 n -0005339148 00000 n -0005339191 00000 n -0005339234 00000 n -0005339277 00000 n -0005339320 00000 n -0005339363 00000 n -0005339406 00000 n -0005339449 00000 n -0005339492 00000 n -0005339535 00000 n -0005339578 00000 n -0005339621 00000 n -0005339664 00000 n -0005339707 00000 n -0005339750 00000 n -0005339793 00000 n -0005339836 00000 n -0005339879 00000 n -0005339922 00000 n -0005339965 00000 n -0005340008 00000 n -0005340051 00000 n -0005340094 00000 n -0005340137 00000 n -0005340180 00000 n -0005340223 00000 n -0005340266 00000 n -0005340309 00000 n -0005340352 00000 n -0005340395 00000 n -0005340438 00000 n -0005340481 00000 n -0005340524 00000 n -0005340567 00000 n -0005340610 00000 n -0005340653 00000 n -0005340696 00000 n -0005340739 00000 n -0005340782 00000 n -0005340825 00000 n -0005340868 00000 n -0005340911 00000 n -0005340954 00000 n -0005340997 00000 n -0005341040 00000 n -0005341083 00000 n -0005341126 00000 n -0005341169 00000 n -0005341212 00000 n -0005341255 00000 n -0005341298 00000 n -0005341341 00000 n -0005341384 00000 n -0005341427 00000 n -0005341470 00000 n -0005341513 00000 n -0005341556 00000 n -0005341599 00000 n -0005341642 00000 n -0005341685 00000 n -0005341728 00000 n -0005341771 00000 n -0005341814 00000 n -0005342145 00000 n -0005342567 00000 n -0005342610 00000 n -0005342653 00000 n -0005342695 00000 n -0005342738 00000 n -0005342781 00000 n -0005342824 00000 n -0005342868 00000 n -0005342936 00000 n -0005343156 00000 n -0005343255 00000 n -0005346720 00000 n -0005346763 00000 n -0005346807 00000 n -0005346850 00000 n -0005346894 00000 n -0005346937 00000 n -0005347005 00000 n -0005347268 00000 n -0005347367 00000 n -0005351216 00000 n -0005351382 00000 n -0005351424 00000 n -0005351755 00000 n -0005352177 00000 n -0005352220 00000 n -0005352262 00000 n -0005352306 00000 n -0005352349 00000 n -0005352393 00000 n -0005352437 00000 n -0005352505 00000 n -0005352739 00000 n -0005352838 00000 n -0005355965 00000 n -0005356296 00000 n -0005356718 00000 n -0005356761 00000 n -0005356829 00000 n -0005357063 00000 n -0005357162 00000 n -0005361818 00000 n -0005362149 00000 n -0005362571 00000 n -0005362614 00000 n -0005362682 00000 n -0005362931 00000 n -0005363030 00000 n -0005367109 00000 n -0005367440 00000 n -0005367862 00000 n -0005367905 00000 n -0005367948 00000 n -0005367991 00000 n -0005368035 00000 n -0005368078 00000 n -0005368122 00000 n -0005368190 00000 n -0005368410 00000 n -0005368509 00000 n -0005372627 00000 n -0005372766 00000 n -0005372905 00000 n -0005373044 00000 n -0005373183 00000 n -0005373322 00000 n -0005373461 00000 n -0005373600 00000 n -0005373739 00000 n -0005373878 00000 n -0005374017 00000 n -0005374156 00000 n -0005374295 00000 n -0005374434 00000 n -0005374573 00000 n -0005374712 00000 n -0005374851 00000 n -0005374990 00000 n -0005375129 00000 n -0005375268 00000 n -0005375407 00000 n -0005375546 00000 n -0005375685 00000 n -0005375824 00000 n -0005375963 00000 n -0005376102 00000 n -0005376241 00000 n -0005376380 00000 n -0005376519 00000 n -0005376658 00000 n -0005376797 00000 n -0005376936 00000 n -0005377075 00000 n -0005377214 00000 n -0005377353 00000 n -0005377492 00000 n -0005377631 00000 n -0005377770 00000 n -0005377909 00000 n -0005378048 00000 n -0005378187 00000 n -0005378326 00000 n -0005378465 00000 n -0005378604 00000 n -0005378743 00000 n -0005378882 00000 n -0005379021 00000 n -0005379160 00000 n -0005379299 00000 n -0005379438 00000 n -0005379577 00000 n -0005379716 00000 n -0005379855 00000 n -0005379994 00000 n -0005380133 00000 n -0005380272 00000 n -0005380411 00000 n -0005380550 00000 n -0005380689 00000 n -0005380828 00000 n -0005380967 00000 n -0005381106 00000 n -0005381245 00000 n -0005381384 00000 n -0005381523 00000 n -0005381662 00000 n -0005381801 00000 n -0005381940 00000 n -0005382079 00000 n -0005382218 00000 n -0005382357 00000 n -0005382496 00000 n -0005382635 00000 n -0005382774 00000 n -0005382913 00000 n -0005383052 00000 n -0005383191 00000 n -0005383330 00000 n -0005383469 00000 n -0005383608 00000 n -0005383747 00000 n -0005383886 00000 n -0005384025 00000 n -0005384164 00000 n -0005384303 00000 n -0005384442 00000 n -0005384581 00000 n -0005384720 00000 n -0005384859 00000 n -0005384998 00000 n -0005385137 00000 n -0005385276 00000 n -0005385415 00000 n -0005385554 00000 n -0005385693 00000 n -0005385832 00000 n -0005385971 00000 n -0005386110 00000 n -0005386249 00000 n -0005386388 00000 n -0005386527 00000 n -0005386666 00000 n -0005386805 00000 n -0005386944 00000 n -0005387083 00000 n -0005387222 00000 n -0005387361 00000 n -0005387500 00000 n -0005387639 00000 n -0005387778 00000 n -0005387917 00000 n -0005388056 00000 n -0005388195 00000 n -0005388334 00000 n -0005388473 00000 n -0005388612 00000 n -0005388751 00000 n -0005388890 00000 n -0005389029 00000 n -0005389168 00000 n -0005389307 00000 n -0005389446 00000 n -0005389585 00000 n -0005389724 00000 n -0005389863 00000 n -0005390002 00000 n -0005390141 00000 n -0005390280 00000 n -0005390419 00000 n -0005390558 00000 n -0005390697 00000 n -0005390836 00000 n -0005390975 00000 n -0005391114 00000 n -0005391253 00000 n -0005391392 00000 n -0005391531 00000 n -0005391670 00000 n -0005391809 00000 n -0005391948 00000 n -0005392087 00000 n -0005392226 00000 n -0005392365 00000 n -0005392504 00000 n -0005392643 00000 n -0005392782 00000 n -0005392921 00000 n -0005393060 00000 n -0005393199 00000 n -0005393338 00000 n -0005393477 00000 n -0005393616 00000 n -0005393755 00000 n -0005393894 00000 n -0005394033 00000 n -0005394172 00000 n -0005394311 00000 n -0005394450 00000 n -0005394589 00000 n -0005394728 00000 n -0005394867 00000 n -0005395006 00000 n -0005395145 00000 n -0005395284 00000 n -0005395423 00000 n -0005395562 00000 n -0005395701 00000 n -0005395840 00000 n -0005395979 00000 n -0005396118 00000 n -0005396257 00000 n -0005396396 00000 n -0005396535 00000 n -0005396674 00000 n -0005396813 00000 n -0005396952 00000 n -0005397091 00000 n -0005397230 00000 n -0005397369 00000 n -0005397508 00000 n -0005397647 00000 n -0005397786 00000 n -0005397925 00000 n -0005398064 00000 n -0005398203 00000 n -0005398342 00000 n -0005398481 00000 n -0005398620 00000 n -0005398759 00000 n -0005398898 00000 n -0005399037 00000 n -0005399176 00000 n -0005399315 00000 n -0005399454 00000 n -0005399593 00000 n -0005399732 00000 n -0005399871 00000 n -0005400010 00000 n -0005400149 00000 n -0005400288 00000 n -0005400427 00000 n -0005400566 00000 n -0005400705 00000 n -0005400844 00000 n -0005400983 00000 n -0005401122 00000 n -0005401261 00000 n -0005401400 00000 n -0005401539 00000 n -0005401678 00000 n -0005401817 00000 n -0005401956 00000 n -0005402095 00000 n -0005402234 00000 n -0005402373 00000 n -0005402512 00000 n -0005402651 00000 n -0005402790 00000 n -0005402929 00000 n -0005403068 00000 n -0005403207 00000 n -0005403346 00000 n -0005403389 00000 n -0005403432 00000 n -0005403475 00000 n -0005403518 00000 n -0005403561 00000 n -0005403604 00000 n -0005403647 00000 n -0005403690 00000 n -0005403733 00000 n -0005403776 00000 n -0005403819 00000 n -0005403862 00000 n -0005403905 00000 n -0005403948 00000 n -0005403991 00000 n -0005404034 00000 n -0005404077 00000 n -0005404120 00000 n -0005404163 00000 n -0005404206 00000 n -0005404249 00000 n -0005404292 00000 n -0005404335 00000 n -0005404378 00000 n -0005404421 00000 n -0005404464 00000 n -0005404507 00000 n -0005404550 00000 n -0005404593 00000 n -0005404636 00000 n -0005404679 00000 n -0005404722 00000 n -0005404765 00000 n -0005404808 00000 n -0005404851 00000 n -0005404894 00000 n -0005404937 00000 n -0005404980 00000 n -0005405023 00000 n -0005405066 00000 n -0005405109 00000 n -0005405152 00000 n -0005405195 00000 n -0005405238 00000 n -0005405281 00000 n -0005405324 00000 n -0005405367 00000 n -0005405410 00000 n -0005405453 00000 n -0005405496 00000 n -0005405539 00000 n -0005405582 00000 n -0005405625 00000 n -0005405668 00000 n -0005405711 00000 n -0005405754 00000 n -0005405797 00000 n -0005405840 00000 n -0005405883 00000 n -0005405926 00000 n -0005405969 00000 n -0005406012 00000 n -0005406055 00000 n -0005406098 00000 n -0005406141 00000 n -0005406184 00000 n -0005406227 00000 n -0005406270 00000 n -0005406313 00000 n -0005406356 00000 n -0005406399 00000 n -0005406442 00000 n -0005406485 00000 n -0005406528 00000 n -0005406571 00000 n -0005406614 00000 n -0005406657 00000 n -0005406700 00000 n -0005406743 00000 n -0005406786 00000 n -0005406829 00000 n -0005406872 00000 n -0005406915 00000 n -0005406958 00000 n -0005407001 00000 n -0005407044 00000 n -0005407087 00000 n -0005407130 00000 n -0005407173 00000 n -0005407216 00000 n -0005407259 00000 n -0005407302 00000 n -0005407345 00000 n -0005407388 00000 n -0005407431 00000 n -0005407474 00000 n -0005407517 00000 n -0005407560 00000 n -0005407603 00000 n -0005407646 00000 n -0005407689 00000 n -0005407732 00000 n -0005407775 00000 n -0005407818 00000 n -0005407861 00000 n -0005407904 00000 n -0005407947 00000 n -0005407990 00000 n -0005408033 00000 n -0005408076 00000 n -0005408119 00000 n -0005408162 00000 n -0005408205 00000 n -0005408248 00000 n -0005408291 00000 n -0005408334 00000 n -0005408377 00000 n -0005408420 00000 n -0005408463 00000 n -0005408506 00000 n -0005408549 00000 n -0005408592 00000 n -0005408635 00000 n -0005408678 00000 n -0005408721 00000 n -0005408764 00000 n -0005408807 00000 n -0005408850 00000 n -0005408893 00000 n -0005408936 00000 n -0005408979 00000 n -0005409022 00000 n -0005409065 00000 n -0005409108 00000 n -0005409151 00000 n -0005409194 00000 n -0005409237 00000 n -0005409280 00000 n -0005409323 00000 n -0005409366 00000 n -0005409409 00000 n -0005409452 00000 n -0005409495 00000 n -0005409538 00000 n -0005409581 00000 n -0005409624 00000 n -0005409667 00000 n -0005409710 00000 n -0005409753 00000 n -0005409796 00000 n -0005409839 00000 n -0005409882 00000 n -0005409925 00000 n -0005409968 00000 n -0005410011 00000 n -0005410054 00000 n -0005410097 00000 n -0005410140 00000 n -0005410183 00000 n -0005410226 00000 n -0005410269 00000 n -0005410312 00000 n -0005410355 00000 n -0005410398 00000 n -0005410441 00000 n -0005410484 00000 n -0005410527 00000 n -0005410570 00000 n -0005410613 00000 n -0005410656 00000 n -0005410699 00000 n -0005410742 00000 n -0005410785 00000 n -0005410828 00000 n -0005410871 00000 n -0005410914 00000 n -0005410957 00000 n -0005411000 00000 n -0005411043 00000 n -0005411086 00000 n -0005411129 00000 n -0005411172 00000 n -0005411215 00000 n -0005411546 00000 n -0005411968 00000 n -0005412011 00000 n -0005412055 00000 n -0005412098 00000 n -0005412141 00000 n -0005412184 00000 n -0005412227 00000 n -0005412270 00000 n -0005412313 00000 n -0005412373 00000 n -0005412416 00000 n -0005412459 00000 n -0005412503 00000 n -0005412547 00000 n -0005412589 00000 n -0005412657 00000 n -0005412906 00000 n -0005413005 00000 n -0005416788 00000 n -0005417119 00000 n -0005417541 00000 n -0005417584 00000 n -0005417628 00000 n -0005417696 00000 n -0005417959 00000 n -0005418058 00000 n -0005421863 00000 n -0005422027 00000 n -0005422070 00000 n -0005422401 00000 n -0005422823 00000 n -0005422867 00000 n -0005422935 00000 n -0005423184 00000 n -0005423283 00000 n -0005427851 00000 n -0005428016 00000 n -0005428058 00000 n -0005428389 00000 n -0005428811 00000 n -0005428854 00000 n -0005428897 00000 n -0005428965 00000 n -0005429228 00000 n -0005429327 00000 n -0005433068 00000 n -0005433233 00000 n -0005433275 00000 n -0005433606 00000 n -0005434028 00000 n -0005434071 00000 n -0005434115 00000 n -0005434158 00000 n -0005434226 00000 n -0005434475 00000 n -0005434574 00000 n -0005438336 00000 n -0005438667 00000 n -0005439089 00000 n -0005439133 00000 n -0005439176 00000 n -0005439220 00000 n -0005439288 00000 n -0005439537 00000 n -0005439636 00000 n -0005442221 00000 n -0005442552 00000 n -0005442974 00000 n -0005443017 00000 n -0005443061 00000 n -0005443129 00000 n -0005443364 00000 n -0005443463 00000 n -0005447938 00000 n -0005448077 00000 n -0005448216 00000 n -0005448355 00000 n -0005448494 00000 n -0005448633 00000 n -0005448772 00000 n -0005448911 00000 n -0005449050 00000 n -0005449189 00000 n -0005449328 00000 n -0005449467 00000 n -0005449606 00000 n -0005449745 00000 n -0005449884 00000 n -0005450023 00000 n -0005450162 00000 n -0005450301 00000 n -0005450440 00000 n -0005450579 00000 n -0005450718 00000 n -0005450857 00000 n -0005450996 00000 n -0005451135 00000 n -0005451274 00000 n -0005451413 00000 n -0005451552 00000 n -0005451691 00000 n -0005451830 00000 n -0005451969 00000 n -0005452108 00000 n -0005452247 00000 n -0005452386 00000 n -0005452525 00000 n -0005452664 00000 n -0005452803 00000 n -0005452942 00000 n -0005453081 00000 n -0005453220 00000 n -0005453359 00000 n -0005453498 00000 n -0005453637 00000 n -0005453776 00000 n -0005453915 00000 n -0005454054 00000 n -0005454193 00000 n -0005454332 00000 n -0005454471 00000 n -0005454610 00000 n -0005454749 00000 n -0005454888 00000 n -0005455027 00000 n -0005455166 00000 n -0005455305 00000 n -0005455444 00000 n -0005455583 00000 n -0005455722 00000 n -0005455861 00000 n -0005456000 00000 n -0005456139 00000 n -0005456278 00000 n -0005456417 00000 n -0005456556 00000 n -0005456695 00000 n -0005456834 00000 n -0005456973 00000 n -0005457112 00000 n -0005457251 00000 n -0005457390 00000 n -0005457529 00000 n -0005457668 00000 n -0005457807 00000 n -0005457946 00000 n -0005458085 00000 n -0005458224 00000 n -0005458363 00000 n -0005458502 00000 n -0005458641 00000 n -0005458780 00000 n -0005458919 00000 n -0005459058 00000 n -0005459197 00000 n -0005459336 00000 n -0005459475 00000 n -0005459614 00000 n -0005459753 00000 n -0005459892 00000 n -0005460031 00000 n -0005460170 00000 n -0005460309 00000 n -0005460448 00000 n -0005460587 00000 n -0005460726 00000 n -0005460865 00000 n -0005461004 00000 n -0005461143 00000 n -0005461282 00000 n -0005461421 00000 n -0005461560 00000 n -0005461699 00000 n -0005461838 00000 n -0005461977 00000 n -0005462116 00000 n -0005462255 00000 n -0005462394 00000 n -0005462533 00000 n -0005462672 00000 n -0005462811 00000 n -0005462950 00000 n -0005463089 00000 n -0005463228 00000 n -0005463367 00000 n -0005463506 00000 n -0005463645 00000 n -0005463784 00000 n -0005463923 00000 n -0005464062 00000 n -0005464201 00000 n -0005464340 00000 n -0005464479 00000 n -0005464618 00000 n -0005464757 00000 n -0005464896 00000 n -0005465035 00000 n -0005465174 00000 n -0005465313 00000 n -0005465452 00000 n -0005465591 00000 n -0005465730 00000 n -0005465869 00000 n -0005466008 00000 n -0005466147 00000 n -0005466286 00000 n -0005466425 00000 n -0005466564 00000 n -0005466703 00000 n -0005466842 00000 n -0005466981 00000 n -0005467120 00000 n -0005467259 00000 n -0005467398 00000 n -0005467537 00000 n -0005467676 00000 n -0005467815 00000 n -0005467954 00000 n -0005468093 00000 n -0005468232 00000 n -0005468371 00000 n -0005468510 00000 n -0005468649 00000 n -0005468788 00000 n -0005468927 00000 n -0005469066 00000 n -0005469205 00000 n -0005469344 00000 n -0005469483 00000 n -0005469622 00000 n -0005469761 00000 n -0005469900 00000 n -0005470039 00000 n -0005470178 00000 n -0005470317 00000 n -0005470456 00000 n -0005470595 00000 n -0005470734 00000 n -0005470873 00000 n -0005471012 00000 n -0005471151 00000 n -0005471290 00000 n -0005471429 00000 n -0005471568 00000 n -0005471707 00000 n -0005471846 00000 n -0005471985 00000 n -0005472124 00000 n -0005472263 00000 n -0005472402 00000 n -0005472541 00000 n -0005472680 00000 n -0005472819 00000 n -0005472958 00000 n -0005473097 00000 n -0005473236 00000 n -0005473375 00000 n -0005473514 00000 n -0005473653 00000 n -0005473792 00000 n -0005473931 00000 n -0005474070 00000 n -0005474209 00000 n -0005474348 00000 n -0005474487 00000 n -0005474626 00000 n -0005474765 00000 n -0005474904 00000 n -0005475043 00000 n -0005475182 00000 n -0005475321 00000 n -0005475460 00000 n -0005475599 00000 n -0005475738 00000 n -0005475877 00000 n -0005476016 00000 n -0005476155 00000 n -0005476294 00000 n -0005476433 00000 n -0005476572 00000 n -0005476711 00000 n -0005476850 00000 n -0005476989 00000 n -0005477128 00000 n -0005477267 00000 n -0005477406 00000 n -0005477545 00000 n -0005477684 00000 n -0005477823 00000 n -0005477962 00000 n -0005478101 00000 n -0005478240 00000 n -0005478379 00000 n -0005478518 00000 n -0005478657 00000 n -0005478796 00000 n -0005478935 00000 n -0005479074 00000 n -0005479213 00000 n -0005479352 00000 n -0005479491 00000 n -0005479630 00000 n -0005479769 00000 n -0005479908 00000 n -0005480047 00000 n -0005480186 00000 n -0005480325 00000 n -0005480464 00000 n -0005480603 00000 n -0005480742 00000 n -0005480881 00000 n -0005481020 00000 n -0005481159 00000 n -0005481298 00000 n -0005481437 00000 n -0005481576 00000 n -0005481715 00000 n -0005481854 00000 n -0005481993 00000 n -0005482132 00000 n -0005482271 00000 n -0005482410 00000 n -0005482549 00000 n -0005482688 00000 n -0005482827 00000 n -0005482966 00000 n -0005483105 00000 n -0005483244 00000 n -0005483383 00000 n -0005483522 00000 n -0005483661 00000 n -0005483800 00000 n -0005483939 00000 n -0005484078 00000 n -0005484217 00000 n -0005484356 00000 n -0005484495 00000 n -0005484634 00000 n -0005484773 00000 n -0005484912 00000 n -0005485051 00000 n -0005485190 00000 n -0005485329 00000 n -0005485468 00000 n -0005485607 00000 n -0005485746 00000 n -0005485885 00000 n -0005486024 00000 n -0005486163 00000 n -0005486302 00000 n -0005486441 00000 n -0005486580 00000 n -0005486719 00000 n -0005486858 00000 n -0005486997 00000 n -0005487040 00000 n -0005487083 00000 n -0005487126 00000 n -0005487169 00000 n -0005487212 00000 n -0005487255 00000 n -0005487298 00000 n -0005487341 00000 n -0005487384 00000 n -0005487427 00000 n -0005487470 00000 n -0005487513 00000 n -0005487556 00000 n -0005487599 00000 n -0005487642 00000 n -0005487685 00000 n -0005487728 00000 n -0005487771 00000 n -0005487814 00000 n -0005487857 00000 n -0005487900 00000 n -0005487943 00000 n -0005487986 00000 n -0005488029 00000 n -0005488072 00000 n -0005488115 00000 n -0005488158 00000 n -0005488201 00000 n -0005488244 00000 n -0005488287 00000 n -0005488330 00000 n -0005488373 00000 n -0005488416 00000 n -0005488459 00000 n -0005488502 00000 n -0005488545 00000 n -0005488588 00000 n -0005488631 00000 n -0005488674 00000 n -0005488717 00000 n -0005488760 00000 n -0005488803 00000 n -0005488846 00000 n -0005488889 00000 n -0005488932 00000 n -0005488975 00000 n -0005489018 00000 n -0005489061 00000 n -0005489104 00000 n -0005489147 00000 n -0005489190 00000 n -0005489233 00000 n -0005489276 00000 n -0005489319 00000 n -0005489362 00000 n -0005489405 00000 n -0005489448 00000 n -0005489491 00000 n -0005489534 00000 n -0005489577 00000 n -0005489620 00000 n -0005489663 00000 n -0005489706 00000 n -0005489749 00000 n -0005489792 00000 n -0005489835 00000 n -0005489878 00000 n -0005489921 00000 n -0005489964 00000 n -0005490007 00000 n -0005490050 00000 n -0005490093 00000 n -0005490136 00000 n -0005490179 00000 n -0005490222 00000 n -0005490265 00000 n -0005490308 00000 n -0005490351 00000 n -0005490394 00000 n -0005490437 00000 n -0005490480 00000 n -0005490523 00000 n -0005490566 00000 n -0005490609 00000 n -0005490652 00000 n -0005490695 00000 n -0005490738 00000 n -0005490781 00000 n -0005490824 00000 n -0005490867 00000 n -0005490910 00000 n -0005490953 00000 n -0005490996 00000 n -0005491039 00000 n -0005491082 00000 n -0005491125 00000 n -0005491168 00000 n -0005491211 00000 n -0005491254 00000 n -0005491297 00000 n -0005491340 00000 n -0005491383 00000 n -0005491426 00000 n -0005491469 00000 n -0005491512 00000 n -0005491555 00000 n -0005491598 00000 n -0005491641 00000 n -0005491684 00000 n -0005491727 00000 n -0005491770 00000 n -0005491813 00000 n -0005491856 00000 n -0005491899 00000 n -0005491942 00000 n -0005491985 00000 n -0005492028 00000 n -0005492071 00000 n -0005492114 00000 n -0005492157 00000 n -0005492200 00000 n -0005492243 00000 n -0005492286 00000 n -0005492329 00000 n -0005492372 00000 n -0005492415 00000 n -0005492458 00000 n -0005492501 00000 n -0005492544 00000 n -0005492587 00000 n -0005492630 00000 n -0005492673 00000 n -0005492716 00000 n -0005492759 00000 n -0005492802 00000 n -0005492845 00000 n -0005492888 00000 n -0005492931 00000 n -0005492974 00000 n -0005493017 00000 n -0005493060 00000 n -0005493103 00000 n -0005493146 00000 n -0005493189 00000 n -0005493232 00000 n -0005493275 00000 n -0005493318 00000 n -0005493361 00000 n -0005493404 00000 n -0005493447 00000 n -0005493490 00000 n -0005493533 00000 n -0005493576 00000 n -0005493619 00000 n -0005493662 00000 n -0005493705 00000 n -0005493748 00000 n -0005493791 00000 n -0005493834 00000 n -0005493877 00000 n -0005493920 00000 n -0005493963 00000 n -0005494006 00000 n -0005494049 00000 n -0005494092 00000 n -0005494135 00000 n -0005494178 00000 n -0005494221 00000 n -0005494264 00000 n -0005494307 00000 n -0005494350 00000 n -0005494393 00000 n -0005494436 00000 n -0005494479 00000 n -0005494522 00000 n -0005494565 00000 n -0005494608 00000 n -0005494651 00000 n -0005494694 00000 n -0005494737 00000 n -0005494780 00000 n -0005494823 00000 n -0005494866 00000 n -0005494909 00000 n -0005494952 00000 n -0005494995 00000 n -0005495038 00000 n -0005495081 00000 n -0005495124 00000 n -0005495167 00000 n -0005495210 00000 n -0005495253 00000 n -0005495296 00000 n -0005495339 00000 n -0005495382 00000 n -0005495425 00000 n -0005495468 00000 n -0005495511 00000 n -0005495554 00000 n -0005495597 00000 n -0005495640 00000 n -0005495683 00000 n -0005495726 00000 n -0005495769 00000 n -0005495812 00000 n -0005495855 00000 n -0005495898 00000 n -0005495941 00000 n -0005495984 00000 n -0005496027 00000 n -0005496070 00000 n -0005496113 00000 n -0005496156 00000 n -0005496199 00000 n -0005496242 00000 n -0005496285 00000 n -0005496328 00000 n -0005496371 00000 n -0005496414 00000 n -0005496457 00000 n -0005496500 00000 n -0005496543 00000 n -0005496586 00000 n -0005496629 00000 n -0005496672 00000 n -0005496715 00000 n -0005496758 00000 n -0005496801 00000 n -0005496844 00000 n -0005496887 00000 n -0005496930 00000 n -0005496973 00000 n -0005497016 00000 n -0005497059 00000 n -0005497102 00000 n -0005497145 00000 n -0005497188 00000 n -0005497231 00000 n -0005497274 00000 n -0005497317 00000 n -0005497360 00000 n -0005497403 00000 n -0005497446 00000 n -0005497489 00000 n -0005497532 00000 n -0005497575 00000 n -0005497618 00000 n -0005497661 00000 n -0005497704 00000 n -0005497747 00000 n -0005497790 00000 n -0005497833 00000 n -0005497876 00000 n -0005497919 00000 n -0005497962 00000 n -0005498005 00000 n -0005498048 00000 n -0005498091 00000 n -0005498134 00000 n -0005498177 00000 n -0005498220 00000 n -0005498263 00000 n -0005498306 00000 n -0005498349 00000 n -0005498392 00000 n -0005498723 00000 n -0005499145 00000 n -0005499188 00000 n -0005499231 00000 n -0005499299 00000 n -0005499548 00000 n -0005499647 00000 n -0005504420 00000 n -0005504585 00000 n -0005504627 00000 n -0005504958 00000 n -0005505380 00000 n -0005505423 00000 n -0005505466 00000 n -0005505509 00000 n -0005505552 00000 n -0005505596 00000 n -0005505661 00000 n -0005505704 00000 n -0005505748 00000 n -0005505792 00000 n -0005505836 00000 n -0005505879 00000 n -0005505922 00000 n -0005505966 00000 n -0005506010 00000 n -0005506078 00000 n -0005506327 00000 n -0005506426 00000 n -0005510244 00000 n -0005510409 00000 n -0005510451 00000 n -0005510782 00000 n -0005511204 00000 n -0005511272 00000 n -0005511506 00000 n -0005511605 00000 n -0005515066 00000 n -0005515232 00000 n -0005515275 00000 n -0005515606 00000 n -0005516028 00000 n -0005516071 00000 n -0005516114 00000 n -0005516182 00000 n -0005516402 00000 n -0005516501 00000 n -0005518131 00000 n -0005518462 00000 n -0005518884 00000 n -0005518927 00000 n -0005518971 00000 n -0005519014 00000 n -0005519057 00000 n -0005519100 00000 n -0005519144 00000 n -0005519187 00000 n -0005519255 00000 n -0005519517 00000 n -0005519616 00000 n -0005523486 00000 n -0005523817 00000 n -0005524239 00000 n -0005524283 00000 n -0005524325 00000 n -0005524369 00000 n -0005524412 00000 n -0005524455 00000 n -0005524498 00000 n -0005524541 00000 n -0005524585 00000 n -0005524629 00000 n -0005524672 00000 n -0005524740 00000 n -0005524974 00000 n -0005525073 00000 n -0005529169 00000 n -0005529500 00000 n -0005529922 00000 n -0005529966 00000 n -0005530010 00000 n -0005530053 00000 n -0005530097 00000 n -0005530165 00000 n -0005530385 00000 n -0005530484 00000 n -0005534969 00000 n -0005535300 00000 n -0005535722 00000 n -0005535765 00000 n -0005535833 00000 n -0005536053 00000 n -0005536152 00000 n -0005540504 00000 n -0005540643 00000 n -0005540782 00000 n -0005540921 00000 n -0005541060 00000 n -0005541199 00000 n -0005541338 00000 n -0005541477 00000 n -0005541616 00000 n -0005541755 00000 n -0005541894 00000 n -0005542033 00000 n -0005542172 00000 n -0005542311 00000 n -0005542450 00000 n -0005542589 00000 n -0005542728 00000 n -0005542867 00000 n -0005543006 00000 n -0005543145 00000 n -0005543284 00000 n -0005543423 00000 n -0005543562 00000 n -0005543701 00000 n -0005543840 00000 n -0005543979 00000 n -0005544118 00000 n -0005544257 00000 n -0005544396 00000 n -0005544535 00000 n -0005544674 00000 n -0005544813 00000 n -0005544952 00000 n -0005545091 00000 n -0005545230 00000 n -0005545369 00000 n -0005545508 00000 n -0005545647 00000 n -0005545786 00000 n -0005545925 00000 n -0005546064 00000 n -0005546203 00000 n -0005546342 00000 n -0005546481 00000 n -0005546620 00000 n -0005546759 00000 n -0005546898 00000 n -0005547037 00000 n -0005547176 00000 n -0005547315 00000 n -0005547454 00000 n -0005547593 00000 n -0005547732 00000 n -0005547871 00000 n -0005548010 00000 n -0005548149 00000 n -0005548288 00000 n -0005548427 00000 n -0005548566 00000 n -0005548705 00000 n -0005548844 00000 n -0005548983 00000 n -0005549122 00000 n -0005549261 00000 n -0005549400 00000 n -0005549539 00000 n -0005549678 00000 n -0005549817 00000 n -0005549956 00000 n -0005550095 00000 n -0005550234 00000 n -0005550373 00000 n -0005550512 00000 n -0005550651 00000 n -0005550790 00000 n -0005550929 00000 n -0005551068 00000 n -0005551207 00000 n -0005551346 00000 n -0005551485 00000 n -0005551624 00000 n -0005551763 00000 n -0005551902 00000 n -0005552041 00000 n -0005552180 00000 n -0005552319 00000 n -0005552458 00000 n -0005552597 00000 n -0005552736 00000 n -0005552875 00000 n -0005553014 00000 n -0005553153 00000 n -0005553292 00000 n -0005553431 00000 n -0005553570 00000 n -0005553709 00000 n -0005553848 00000 n -0005553987 00000 n -0005554126 00000 n -0005554265 00000 n -0005554404 00000 n -0005554543 00000 n -0005554682 00000 n -0005554821 00000 n -0005554960 00000 n -0005555099 00000 n -0005555238 00000 n -0005555377 00000 n -0005555516 00000 n -0005555655 00000 n -0005555794 00000 n -0005555933 00000 n -0005556072 00000 n -0005556211 00000 n -0005556350 00000 n -0005556489 00000 n -0005556628 00000 n -0005556767 00000 n -0005556906 00000 n -0005557045 00000 n -0005557184 00000 n -0005557323 00000 n -0005557462 00000 n -0005557601 00000 n -0005557740 00000 n -0005557879 00000 n -0005558018 00000 n -0005558157 00000 n -0005558296 00000 n -0005558435 00000 n -0005558574 00000 n -0005558713 00000 n -0005558852 00000 n -0005558991 00000 n -0005559130 00000 n -0005559269 00000 n -0005559408 00000 n -0005559547 00000 n -0005559686 00000 n -0005559825 00000 n -0005559964 00000 n -0005560103 00000 n -0005560242 00000 n -0005560381 00000 n -0005560520 00000 n -0005560659 00000 n -0005560798 00000 n -0005560937 00000 n -0005561076 00000 n -0005561215 00000 n -0005561354 00000 n -0005561493 00000 n -0005561632 00000 n -0005561771 00000 n -0005561910 00000 n -0005562049 00000 n -0005562188 00000 n -0005562327 00000 n -0005562466 00000 n -0005562605 00000 n -0005562744 00000 n -0005562883 00000 n -0005563022 00000 n -0005563161 00000 n -0005563300 00000 n -0005563439 00000 n -0005563578 00000 n -0005563717 00000 n -0005563856 00000 n -0005563995 00000 n -0005564134 00000 n -0005564273 00000 n -0005564412 00000 n -0005564551 00000 n -0005564690 00000 n -0005564829 00000 n -0005564968 00000 n -0005565107 00000 n -0005565246 00000 n -0005565385 00000 n -0005565524 00000 n -0005565663 00000 n -0005565802 00000 n -0005565941 00000 n -0005566080 00000 n -0005566219 00000 n -0005566358 00000 n -0005566497 00000 n -0005566636 00000 n -0005566775 00000 n -0005566914 00000 n -0005567053 00000 n -0005567192 00000 n -0005567331 00000 n -0005567470 00000 n -0005567609 00000 n -0005567748 00000 n -0005567887 00000 n -0005568026 00000 n -0005568165 00000 n -0005568304 00000 n -0005568443 00000 n -0005568582 00000 n -0005568721 00000 n -0005568860 00000 n -0005568999 00000 n -0005569138 00000 n -0005569277 00000 n -0005569416 00000 n -0005569555 00000 n -0005569694 00000 n -0005569833 00000 n -0005569972 00000 n -0005570111 00000 n -0005570250 00000 n -0005570389 00000 n -0005570528 00000 n -0005570667 00000 n -0005570806 00000 n -0005570945 00000 n -0005571084 00000 n -0005571223 00000 n -0005571362 00000 n -0005571501 00000 n -0005571640 00000 n -0005571779 00000 n -0005571918 00000 n -0005572057 00000 n -0005572196 00000 n -0005572335 00000 n -0005572474 00000 n -0005572613 00000 n -0005572752 00000 n -0005572891 00000 n -0005573030 00000 n -0005573169 00000 n -0005573308 00000 n -0005573447 00000 n -0005573586 00000 n -0005573725 00000 n -0005573864 00000 n -0005574003 00000 n -0005574142 00000 n -0005574281 00000 n -0005574420 00000 n -0005574559 00000 n -0005574698 00000 n -0005574837 00000 n -0005574976 00000 n -0005575115 00000 n -0005575254 00000 n -0005575393 00000 n -0005575532 00000 n -0005575671 00000 n -0005575810 00000 n -0005575949 00000 n -0005576088 00000 n -0005576227 00000 n -0005576366 00000 n -0005576505 00000 n -0005576644 00000 n -0005576783 00000 n -0005576922 00000 n -0005577061 00000 n -0005577200 00000 n -0005577339 00000 n -0005577478 00000 n -0005577617 00000 n -0005577756 00000 n -0005577895 00000 n -0005578034 00000 n -0005578173 00000 n -0005578312 00000 n -0005578451 00000 n -0005578590 00000 n -0005578729 00000 n -0005578868 00000 n -0005579007 00000 n -0005579146 00000 n -0005579285 00000 n -0005579424 00000 n -0005579563 00000 n -0005579702 00000 n -0005579841 00000 n -0005579980 00000 n -0005580119 00000 n -0005580258 00000 n -0005580397 00000 n -0005580536 00000 n -0005580675 00000 n -0005580814 00000 n -0005580953 00000 n -0005581092 00000 n -0005581231 00000 n -0005581370 00000 n -0005581509 00000 n -0005581648 00000 n -0005581787 00000 n -0005581926 00000 n -0005582065 00000 n -0005582204 00000 n -0005582343 00000 n -0005582482 00000 n -0005582621 00000 n -0005582760 00000 n -0005582899 00000 n -0005583038 00000 n -0005583177 00000 n -0005583316 00000 n -0005583455 00000 n -0005583594 00000 n -0005583733 00000 n -0005583872 00000 n -0005584011 00000 n -0005584150 00000 n -0005584289 00000 n -0005584428 00000 n -0005584567 00000 n -0005584706 00000 n -0005584845 00000 n -0005584984 00000 n -0005585123 00000 n -0005585262 00000 n -0005585401 00000 n -0005585540 00000 n -0005585679 00000 n -0005585818 00000 n -0005585957 00000 n -0005586096 00000 n -0005586235 00000 n -0005586374 00000 n -0005586513 00000 n -0005586652 00000 n -0005586791 00000 n -0005586930 00000 n -0005587069 00000 n -0005587208 00000 n -0005587347 00000 n -0005587486 00000 n -0005587625 00000 n -0005587764 00000 n -0005587903 00000 n -0005588042 00000 n -0005588181 00000 n -0005588320 00000 n -0005588459 00000 n -0005588598 00000 n -0005588737 00000 n -0005588876 00000 n -0005589015 00000 n -0005589154 00000 n -0005589293 00000 n -0005589432 00000 n -0005589571 00000 n -0005589710 00000 n -0005589849 00000 n -0005589988 00000 n -0005590127 00000 n -0005590266 00000 n -0005590405 00000 n -0005590544 00000 n -0005590683 00000 n -0005590822 00000 n -0005590961 00000 n -0005591100 00000 n -0005591239 00000 n -0005591378 00000 n -0005591517 00000 n -0005591560 00000 n -0005591603 00000 n -0005591646 00000 n -0005591689 00000 n -0005591732 00000 n -0005591775 00000 n -0005591818 00000 n -0005591861 00000 n -0005591904 00000 n -0005591947 00000 n -0005591990 00000 n -0005592033 00000 n -0005592076 00000 n -0005592119 00000 n -0005592162 00000 n -0005592205 00000 n -0005592248 00000 n -0005592291 00000 n -0005592334 00000 n -0005592377 00000 n -0005592420 00000 n -0005592463 00000 n -0005592506 00000 n -0005592549 00000 n -0005592592 00000 n -0005592635 00000 n -0005592678 00000 n -0005592721 00000 n -0005592764 00000 n -0005592807 00000 n -0005592850 00000 n -0005592893 00000 n -0005592936 00000 n -0005592979 00000 n -0005593022 00000 n -0005593065 00000 n -0005593108 00000 n -0005593151 00000 n -0005593194 00000 n -0005593237 00000 n -0005593280 00000 n -0005593323 00000 n -0005593366 00000 n -0005593409 00000 n -0005593452 00000 n -0005593495 00000 n -0005593538 00000 n -0005593581 00000 n -0005593624 00000 n -0005593667 00000 n -0005593710 00000 n -0005593753 00000 n -0005593796 00000 n -0005593839 00000 n -0005593882 00000 n -0005593925 00000 n -0005593968 00000 n -0005594011 00000 n -0005594054 00000 n -0005594097 00000 n -0005594140 00000 n -0005594183 00000 n -0005594226 00000 n -0005594269 00000 n -0005594312 00000 n -0005594355 00000 n -0005594398 00000 n -0005594441 00000 n -0005594484 00000 n -0005594527 00000 n -0005594570 00000 n -0005594613 00000 n -0005594656 00000 n -0005594699 00000 n -0005594742 00000 n -0005594785 00000 n -0005594828 00000 n -0005594871 00000 n -0005594914 00000 n -0005594957 00000 n -0005595000 00000 n -0005595043 00000 n -0005595086 00000 n -0005595129 00000 n -0005595172 00000 n -0005595215 00000 n -0005595258 00000 n -0005595301 00000 n -0005595344 00000 n -0005595387 00000 n -0005595430 00000 n -0005595473 00000 n -0005595516 00000 n -0005595559 00000 n -0005595602 00000 n -0005595645 00000 n -0005595688 00000 n -0005595731 00000 n -0005595774 00000 n -0005595817 00000 n -0005595860 00000 n -0005595903 00000 n -0005595946 00000 n -0005595989 00000 n -0005596032 00000 n -0005596075 00000 n -0005596118 00000 n -0005596161 00000 n -0005596204 00000 n -0005596247 00000 n -0005596290 00000 n -0005596333 00000 n -0005596376 00000 n -0005596419 00000 n -0005596462 00000 n -0005596505 00000 n -0005596548 00000 n -0005596591 00000 n -0005596634 00000 n -0005596677 00000 n -0005596720 00000 n -0005596763 00000 n -0005596806 00000 n -0005596849 00000 n -0005596892 00000 n -0005596935 00000 n -0005596978 00000 n -0005597021 00000 n -0005597064 00000 n -0005597107 00000 n -0005597150 00000 n -0005597193 00000 n -0005597236 00000 n -0005597279 00000 n -0005597322 00000 n -0005597365 00000 n -0005597408 00000 n -0005597451 00000 n -0005597494 00000 n -0005597537 00000 n -0005597580 00000 n -0005597623 00000 n -0005597666 00000 n -0005597709 00000 n -0005597752 00000 n -0005597795 00000 n -0005597838 00000 n -0005597881 00000 n -0005597924 00000 n -0005597967 00000 n -0005598010 00000 n -0005598053 00000 n -0005598096 00000 n -0005598139 00000 n -0005598182 00000 n -0005598225 00000 n -0005598268 00000 n -0005598311 00000 n -0005598354 00000 n -0005598397 00000 n -0005598440 00000 n -0005598483 00000 n -0005598526 00000 n -0005598569 00000 n -0005598612 00000 n -0005598655 00000 n -0005598698 00000 n -0005598741 00000 n -0005598784 00000 n -0005598827 00000 n -0005598870 00000 n -0005598913 00000 n -0005598956 00000 n -0005598999 00000 n -0005599042 00000 n -0005599085 00000 n -0005599128 00000 n -0005599171 00000 n -0005599214 00000 n -0005599257 00000 n -0005599300 00000 n -0005599343 00000 n -0005599386 00000 n -0005599429 00000 n -0005599472 00000 n -0005599515 00000 n -0005599558 00000 n -0005599601 00000 n -0005599644 00000 n -0005599687 00000 n -0005599730 00000 n -0005599773 00000 n -0005599816 00000 n -0005599859 00000 n -0005599902 00000 n -0005599945 00000 n -0005599988 00000 n -0005600031 00000 n -0005600074 00000 n -0005600117 00000 n -0005600160 00000 n -0005600203 00000 n -0005600246 00000 n -0005600289 00000 n -0005600332 00000 n -0005600375 00000 n -0005600418 00000 n -0005600461 00000 n -0005600504 00000 n -0005600547 00000 n -0005600590 00000 n -0005600633 00000 n -0005600676 00000 n -0005600719 00000 n -0005600762 00000 n -0005600805 00000 n -0005600848 00000 n -0005600891 00000 n -0005600934 00000 n -0005600977 00000 n -0005601020 00000 n -0005601063 00000 n -0005601106 00000 n -0005601149 00000 n -0005601192 00000 n -0005601235 00000 n -0005601278 00000 n -0005601321 00000 n -0005601364 00000 n -0005601407 00000 n -0005601450 00000 n -0005601493 00000 n -0005601536 00000 n -0005601579 00000 n -0005601622 00000 n -0005601665 00000 n -0005601708 00000 n -0005601751 00000 n -0005601794 00000 n -0005601837 00000 n -0005601880 00000 n -0005601923 00000 n -0005601966 00000 n -0005602009 00000 n -0005602052 00000 n -0005602095 00000 n -0005602138 00000 n -0005602181 00000 n -0005602224 00000 n -0005602267 00000 n -0005602310 00000 n -0005602353 00000 n -0005602396 00000 n -0005602439 00000 n -0005602482 00000 n -0005602525 00000 n -0005602568 00000 n -0005602611 00000 n -0005602654 00000 n -0005602697 00000 n -0005602740 00000 n -0005602783 00000 n -0005602826 00000 n -0005602869 00000 n -0005602912 00000 n -0005602955 00000 n -0005602998 00000 n -0005603041 00000 n -0005603084 00000 n -0005603127 00000 n -0005603170 00000 n -0005603213 00000 n -0005603256 00000 n -0005603299 00000 n -0005603342 00000 n -0005603385 00000 n -0005603428 00000 n -0005603471 00000 n -0005603514 00000 n -0005603557 00000 n -0005603600 00000 n -0005603643 00000 n -0005603686 00000 n -0005603729 00000 n -0005603772 00000 n -0005603815 00000 n -0005603858 00000 n -0005603901 00000 n -0005603944 00000 n -0005603987 00000 n -0005604030 00000 n -0005604073 00000 n -0005604116 00000 n -0005604159 00000 n -0005604202 00000 n -0005604245 00000 n -0005604288 00000 n -0005604331 00000 n -0005604374 00000 n -0005604417 00000 n -0005604460 00000 n -0005604503 00000 n -0005604546 00000 n -0005604589 00000 n -0005604632 00000 n -0005604675 00000 n -0005604718 00000 n -0005604761 00000 n -0005604804 00000 n -0005604847 00000 n -0005604890 00000 n -0005604933 00000 n -0005604976 00000 n -0005605019 00000 n -0005605062 00000 n -0005605105 00000 n -0005605148 00000 n -0005605191 00000 n -0005605234 00000 n -0005605277 00000 n -0005605320 00000 n -0005605363 00000 n -0005605406 00000 n -0005605449 00000 n -0005605492 00000 n -0005605535 00000 n -0005605578 00000 n -0005605621 00000 n -0005605664 00000 n -0005605707 00000 n -0005605750 00000 n -0005605793 00000 n -0005605836 00000 n -0005605879 00000 n -0005606210 00000 n -0005606632 00000 n -0005606675 00000 n -0005606718 00000 n -0005606761 00000 n -0005606804 00000 n -0005606848 00000 n -0005606891 00000 n -0005606934 00000 n -0005606976 00000 n -0005607018 00000 n -0005607061 00000 n -0005607103 00000 n -0005607146 00000 n -0005607190 00000 n -0005607233 00000 n -0005607276 00000 n -0005607319 00000 n -0005607387 00000 n -0005607636 00000 n -0005607735 00000 n -0005610638 00000 n -0005610969 00000 n -0005611391 00000 n -0005611434 00000 n -0005611478 00000 n -0005611521 00000 n -0005611564 00000 n -0005611607 00000 n -0005611650 00000 n -0005611694 00000 n -0005611762 00000 n -0005612011 00000 n -0005612110 00000 n -0005616050 00000 n -0005616381 00000 n -0005616803 00000 n -0005616871 00000 n -0005617120 00000 n -0005617219 00000 n -0005621265 00000 n -0005621596 00000 n -0005622018 00000 n -0005622060 00000 n -0005622104 00000 n -0005622435 00000 n -0005622857 00000 n -0005622925 00000 n -0005623145 00000 n -0005623244 00000 n -0005627259 00000 n -0005627590 00000 n -0005628012 00000 n -0005628080 00000 n -0005628343 00000 n -0005628442 00000 n -0005633043 00000 n -0005633374 00000 n -0005633796 00000 n -0005633840 00000 n -0005633883 00000 n -0005633926 00000 n -0005633969 00000 n -0005634037 00000 n -0005634257 00000 n -0005634356 00000 n -0005636038 00000 n -0005636369 00000 n -0005636791 00000 n -0005636834 00000 n -0005636878 00000 n -0005636921 00000 n -0005636965 00000 n -0005637008 00000 n -0005637052 00000 n -0005637120 00000 n -0005637369 00000 n -0005637468 00000 n -0005641750 00000 n -0005642081 00000 n -0005642503 00000 n -0005642546 00000 n -0005642589 00000 n -0005642632 00000 n -0005642674 00000 n -0005642717 00000 n -0005642759 00000 n -0005642803 00000 n -0005642847 00000 n -0005642915 00000 n -0005643135 00000 n -0005643234 00000 n -0005647012 00000 n -0005647343 00000 n -0005647765 00000 n -0005647808 00000 n -0005647851 00000 n -0005647919 00000 n -0005648139 00000 n -0005648238 00000 n -0005651108 00000 n -0005651439 00000 n -0005651861 00000 n -0005651904 00000 n -0005651972 00000 n -0005652221 00000 n -0005652320 00000 n -0005656036 00000 n -0005656367 00000 n -0005656789 00000 n -0005656833 00000 n -0005656876 00000 n -0005656919 00000 n -0005656962 00000 n -0005657006 00000 n -0005657050 00000 n -0005657094 00000 n -0005657137 00000 n -0005657181 00000 n -0005657249 00000 n -0005657469 00000 n -0005657568 00000 n -0005661395 00000 n -0005661726 00000 n -0005662148 00000 n -0005662190 00000 n -0005662233 00000 n -0005662301 00000 n -0005662521 00000 n -0005662620 00000 n -0005664690 00000 n -0005665021 00000 n -0005665443 00000 n -0005665487 00000 n -0005665818 00000 n -0005666240 00000 n -0005666283 00000 n -0005666326 00000 n -0005666394 00000 n -0005666614 00000 n -0005666713 00000 n -0005668580 00000 n -0005668911 00000 n -0005669333 00000 n -0005669401 00000 n -0005669678 00000 n -0005669777 00000 n -0005673779 00000 n -0005673945 00000 n -0005674111 00000 n -0005674277 00000 n -0005674319 00000 n -0005674361 00000 n -0005674403 00000 n -0005674734 00000 n -0005675156 00000 n -0005675200 00000 n -0005675243 00000 n -0005675286 00000 n -0005675330 00000 n -0005675373 00000 n -0005675416 00000 n -0005675747 00000 n -0005676169 00000 n -0005676212 00000 n -0005676255 00000 n -0005676299 00000 n -0005676341 00000 n -0005676385 00000 n -0005676428 00000 n -0005676472 00000 n -0005676516 00000 n -0005676558 00000 n -0005676601 00000 n -0005676644 00000 n -0005676688 00000 n -0005676732 00000 n -0005676775 00000 n -0005676819 00000 n -0005676862 00000 n -0005676906 00000 n -0005676949 00000 n -0005676992 00000 n -0005677035 00000 n -0005677079 00000 n -0005677122 00000 n -0005677190 00000 n -0005677410 00000 n -0005677509 00000 n -0005679646 00000 n -0005679977 00000 n -0005680399 00000 n -0005680443 00000 n -0005680511 00000 n -0005680760 00000 n -0005680859 00000 n -0005685561 00000 n -0005685727 00000 n -0005685769 00000 n -0005686100 00000 n -0005686522 00000 n -0005686590 00000 n -0005686854 00000 n -0005686953 00000 n -0005688999 00000 n -0005689165 00000 n -0005689331 00000 n -0005689497 00000 n -0005689539 00000 n -0005689581 00000 n -0005689623 00000 n -0005689954 00000 n -0005690376 00000 n -0005690444 00000 n -0005690664 00000 n -0005690763 00000 n -0005693800 00000 n -0005694131 00000 n -0005694553 00000 n -0005694597 00000 n -0005694641 00000 n -0005694684 00000 n -0005694727 00000 n -0005694770 00000 n -0005694814 00000 n -0005694857 00000 n -0005694901 00000 n -0005694969 00000 n -0005695204 00000 n -0005695303 00000 n -0005699527 00000 n -0005699666 00000 n -0005699805 00000 n -0005699944 00000 n -0005700083 00000 n -0005700222 00000 n -0005700361 00000 n -0005700500 00000 n -0005700639 00000 n -0005700778 00000 n -0005700917 00000 n -0005701056 00000 n -0005701195 00000 n -0005701334 00000 n -0005701473 00000 n -0005701612 00000 n -0005701751 00000 n -0005701890 00000 n -0005702029 00000 n -0005702168 00000 n -0005702307 00000 n -0005702446 00000 n -0005702585 00000 n -0005702724 00000 n -0005702863 00000 n -0005703002 00000 n -0005703141 00000 n -0005703280 00000 n -0005703419 00000 n -0005703558 00000 n -0005703697 00000 n -0005703836 00000 n -0005703975 00000 n -0005704114 00000 n -0005704253 00000 n -0005704392 00000 n -0005704531 00000 n -0005704670 00000 n -0005704809 00000 n -0005704948 00000 n -0005705087 00000 n -0005705226 00000 n -0005705365 00000 n -0005705504 00000 n -0005705643 00000 n -0005705782 00000 n -0005705921 00000 n -0005706060 00000 n -0005706199 00000 n -0005706338 00000 n -0005706477 00000 n -0005706616 00000 n -0005706755 00000 n -0005706894 00000 n -0005707033 00000 n -0005707172 00000 n -0005707311 00000 n -0005707450 00000 n -0005707589 00000 n -0005707728 00000 n -0005707867 00000 n -0005708006 00000 n -0005708145 00000 n -0005708284 00000 n -0005708423 00000 n -0005708562 00000 n -0005708701 00000 n -0005708840 00000 n -0005708979 00000 n -0005709118 00000 n -0005709257 00000 n -0005709396 00000 n -0005709535 00000 n -0005709674 00000 n -0005709813 00000 n -0005709952 00000 n -0005710091 00000 n -0005710230 00000 n -0005710369 00000 n -0005710508 00000 n -0005710647 00000 n -0005710786 00000 n -0005710925 00000 n -0005711064 00000 n -0005711203 00000 n -0005711342 00000 n -0005711481 00000 n -0005711620 00000 n -0005711759 00000 n -0005711898 00000 n -0005712037 00000 n -0005712176 00000 n -0005712315 00000 n -0005712454 00000 n -0005712593 00000 n -0005712732 00000 n -0005712871 00000 n -0005713010 00000 n -0005713149 00000 n -0005713288 00000 n -0005713427 00000 n -0005713566 00000 n -0005713705 00000 n -0005713844 00000 n -0005713983 00000 n -0005714122 00000 n -0005714261 00000 n -0005714400 00000 n -0005714539 00000 n -0005714678 00000 n -0005714817 00000 n -0005714956 00000 n -0005715095 00000 n -0005715234 00000 n -0005715373 00000 n -0005715512 00000 n -0005715651 00000 n -0005715790 00000 n -0005715929 00000 n -0005716068 00000 n -0005716207 00000 n -0005716346 00000 n -0005716485 00000 n -0005716624 00000 n -0005716763 00000 n -0005716902 00000 n -0005717041 00000 n -0005717180 00000 n -0005717319 00000 n -0005717458 00000 n -0005717597 00000 n -0005717736 00000 n -0005717875 00000 n -0005718014 00000 n -0005718153 00000 n -0005718292 00000 n -0005718431 00000 n -0005718570 00000 n -0005718709 00000 n -0005718848 00000 n -0005718987 00000 n -0005719126 00000 n -0005719265 00000 n -0005719404 00000 n -0005719543 00000 n -0005719682 00000 n -0005719821 00000 n -0005719960 00000 n -0005720099 00000 n -0005720238 00000 n -0005720377 00000 n -0005720516 00000 n -0005720655 00000 n -0005720794 00000 n -0005720933 00000 n -0005721072 00000 n -0005721211 00000 n -0005721350 00000 n -0005721489 00000 n -0005721628 00000 n -0005721767 00000 n -0005721906 00000 n -0005722045 00000 n -0005722184 00000 n -0005722323 00000 n -0005722462 00000 n -0005722601 00000 n -0005722740 00000 n -0005722879 00000 n -0005723018 00000 n -0005723157 00000 n -0005723296 00000 n -0005723435 00000 n -0005723574 00000 n -0005723713 00000 n -0005723852 00000 n -0005723991 00000 n -0005724130 00000 n -0005724269 00000 n -0005724408 00000 n -0005724547 00000 n -0005724686 00000 n -0005724825 00000 n -0005724964 00000 n -0005725103 00000 n -0005725242 00000 n -0005725381 00000 n -0005725520 00000 n -0005725659 00000 n -0005725798 00000 n -0005725937 00000 n -0005726076 00000 n -0005726215 00000 n -0005726354 00000 n -0005726493 00000 n -0005726632 00000 n -0005726771 00000 n -0005726910 00000 n -0005727049 00000 n -0005727188 00000 n -0005727327 00000 n -0005727466 00000 n -0005727605 00000 n -0005727744 00000 n -0005727883 00000 n -0005728022 00000 n -0005728161 00000 n -0005728300 00000 n -0005728439 00000 n -0005728578 00000 n -0005728717 00000 n -0005728856 00000 n -0005728995 00000 n -0005729134 00000 n -0005729273 00000 n -0005729412 00000 n -0005729551 00000 n -0005729690 00000 n -0005729829 00000 n -0005729968 00000 n -0005730107 00000 n -0005730246 00000 n -0005730385 00000 n -0005730524 00000 n -0005730663 00000 n -0005730802 00000 n -0005730941 00000 n -0005731080 00000 n -0005731219 00000 n -0005731358 00000 n -0005731497 00000 n -0005731636 00000 n -0005731775 00000 n -0005731914 00000 n -0005732053 00000 n -0005732192 00000 n -0005732331 00000 n -0005732470 00000 n -0005732609 00000 n -0005732748 00000 n -0005732887 00000 n -0005733026 00000 n -0005733165 00000 n -0005733304 00000 n -0005733443 00000 n -0005733582 00000 n -0005733721 00000 n -0005733860 00000 n -0005733999 00000 n -0005734138 00000 n -0005734277 00000 n -0005734416 00000 n -0005734555 00000 n -0005734694 00000 n -0005734833 00000 n -0005734972 00000 n -0005735111 00000 n -0005735250 00000 n -0005735389 00000 n -0005735528 00000 n -0005735667 00000 n -0005735806 00000 n -0005735945 00000 n -0005736084 00000 n -0005736223 00000 n -0005736362 00000 n -0005736501 00000 n -0005736544 00000 n -0005736587 00000 n -0005736630 00000 n -0005736673 00000 n -0005736716 00000 n -0005736759 00000 n -0005736802 00000 n -0005736845 00000 n -0005736888 00000 n -0005736931 00000 n -0005736974 00000 n -0005737017 00000 n -0005737060 00000 n -0005737103 00000 n -0005737146 00000 n -0005737189 00000 n -0005737232 00000 n -0005737275 00000 n -0005737318 00000 n -0005737361 00000 n -0005737404 00000 n -0005737447 00000 n -0005737490 00000 n -0005737533 00000 n -0005737576 00000 n -0005737619 00000 n -0005737662 00000 n -0005737705 00000 n -0005737748 00000 n -0005737791 00000 n -0005737834 00000 n -0005737877 00000 n -0005737920 00000 n -0005737963 00000 n -0005738006 00000 n -0005738049 00000 n -0005738092 00000 n -0005738135 00000 n -0005738178 00000 n -0005738221 00000 n -0005738264 00000 n -0005738307 00000 n -0005738350 00000 n -0005738393 00000 n -0005738436 00000 n -0005738479 00000 n -0005738522 00000 n -0005738565 00000 n -0005738608 00000 n -0005738651 00000 n -0005738694 00000 n -0005738737 00000 n -0005738780 00000 n -0005738823 00000 n -0005738866 00000 n -0005738909 00000 n -0005738952 00000 n -0005738995 00000 n -0005739038 00000 n -0005739081 00000 n -0005739124 00000 n -0005739167 00000 n -0005739210 00000 n -0005739253 00000 n -0005739296 00000 n -0005739339 00000 n -0005739382 00000 n -0005739425 00000 n -0005739468 00000 n -0005739511 00000 n -0005739554 00000 n -0005739597 00000 n -0005739640 00000 n -0005739683 00000 n -0005739726 00000 n -0005739769 00000 n -0005739812 00000 n -0005739855 00000 n -0005739898 00000 n -0005739941 00000 n -0005739984 00000 n -0005740027 00000 n -0005740070 00000 n -0005740113 00000 n -0005740156 00000 n -0005740199 00000 n -0005740242 00000 n -0005740285 00000 n -0005740328 00000 n -0005740371 00000 n -0005740414 00000 n -0005740457 00000 n -0005740500 00000 n -0005740543 00000 n -0005740586 00000 n -0005740629 00000 n -0005740672 00000 n -0005740715 00000 n -0005740758 00000 n -0005740801 00000 n -0005740844 00000 n -0005740887 00000 n -0005740930 00000 n -0005740973 00000 n -0005741016 00000 n -0005741059 00000 n -0005741102 00000 n -0005741145 00000 n -0005741188 00000 n -0005741231 00000 n -0005741274 00000 n -0005741317 00000 n -0005741360 00000 n -0005741403 00000 n -0005741446 00000 n -0005741489 00000 n -0005741532 00000 n -0005741575 00000 n -0005741618 00000 n -0005741661 00000 n -0005741704 00000 n -0005741747 00000 n -0005741790 00000 n -0005741833 00000 n -0005741876 00000 n -0005741919 00000 n -0005741962 00000 n -0005742005 00000 n -0005742048 00000 n -0005742091 00000 n -0005742134 00000 n -0005742177 00000 n -0005742220 00000 n -0005742263 00000 n -0005742306 00000 n -0005742349 00000 n -0005742392 00000 n -0005742435 00000 n -0005742478 00000 n -0005742521 00000 n -0005742564 00000 n -0005742607 00000 n -0005742650 00000 n -0005742693 00000 n -0005742736 00000 n -0005742779 00000 n -0005742822 00000 n -0005742865 00000 n -0005742908 00000 n -0005742951 00000 n -0005742994 00000 n -0005743037 00000 n -0005743080 00000 n -0005743123 00000 n -0005743166 00000 n -0005743209 00000 n -0005743252 00000 n -0005743295 00000 n -0005743338 00000 n -0005743381 00000 n -0005743424 00000 n -0005743467 00000 n -0005743510 00000 n -0005743553 00000 n -0005743596 00000 n -0005743639 00000 n -0005743682 00000 n -0005743725 00000 n -0005743768 00000 n -0005743811 00000 n -0005743854 00000 n -0005743897 00000 n -0005743940 00000 n -0005743983 00000 n -0005744026 00000 n -0005744069 00000 n -0005744112 00000 n -0005744155 00000 n -0005744198 00000 n -0005744241 00000 n -0005744284 00000 n -0005744327 00000 n -0005744370 00000 n -0005744413 00000 n -0005744456 00000 n -0005744499 00000 n -0005744542 00000 n -0005744585 00000 n -0005744628 00000 n -0005744671 00000 n -0005744714 00000 n -0005744757 00000 n -0005744800 00000 n -0005744843 00000 n -0005744886 00000 n -0005744929 00000 n -0005744972 00000 n -0005745015 00000 n -0005745058 00000 n -0005745101 00000 n -0005745144 00000 n -0005745187 00000 n -0005745230 00000 n -0005745273 00000 n -0005745316 00000 n -0005745359 00000 n -0005745402 00000 n -0005745445 00000 n -0005745488 00000 n -0005745531 00000 n -0005745574 00000 n -0005745617 00000 n -0005745660 00000 n -0005745991 00000 n -0005746413 00000 n -0005746456 00000 n -0005746499 00000 n -0005746542 00000 n -0005746585 00000 n -0005746628 00000 n -0005746671 00000 n -0005746714 00000 n -0005746757 00000 n -0005746800 00000 n -0005746842 00000 n -0005746885 00000 n -0005746953 00000 n -0005747202 00000 n -0005747301 00000 n -0005752296 00000 n -0005752627 00000 n -0005753049 00000 n -0005753092 00000 n -0005753136 00000 n -0005753178 00000 n -0005753221 00000 n -0005753289 00000 n -0005753552 00000 n -0005753651 00000 n -0005758255 00000 n -0005758422 00000 n -0005758465 00000 n -0005758509 00000 n -0005758552 00000 n -0005758596 00000 n -0005758639 00000 n -0005758683 00000 n -0005758726 00000 n -0005758768 00000 n -0005758811 00000 n -0005758853 00000 n -0005758921 00000 n -0005759111 00000 n -0005759210 00000 n -0005759428 00000 n -0005759759 00000 n -0005760181 00000 n -0005760225 00000 n -0005760269 00000 n -0005760313 00000 n -0005760381 00000 n -0005760615 00000 n -0005760714 00000 n -0005765608 00000 n -0005765773 00000 n -0005765815 00000 n -0005766146 00000 n -0005766568 00000 n -0005766612 00000 n -0005766680 00000 n -0005766957 00000 n -0005767056 00000 n -0005770970 00000 n -0005771301 00000 n -0005771723 00000 n -0005771791 00000 n -0005772040 00000 n -0005772139 00000 n -0005775665 00000 n -0005775996 00000 n -0005776418 00000 n -0005776461 00000 n -0005776504 00000 n -0005776548 00000 n -0005776616 00000 n -0005776865 00000 n -0005776964 00000 n -0005780305 00000 n -0005780636 00000 n -0005781058 00000 n -0005781102 00000 n -0005781145 00000 n -0005781189 00000 n -0005781233 00000 n -0005781301 00000 n -0005781521 00000 n -0005781620 00000 n -0005785113 00000 n -0005785444 00000 n -0005785866 00000 n -0005785910 00000 n -0005785953 00000 n -0005785997 00000 n -0005786039 00000 n -0005786082 00000 n -0005786126 00000 n -0005786194 00000 n -0005786429 00000 n -0005786528 00000 n -0005791142 00000 n -0005791473 00000 n -0005791895 00000 n -0005791939 00000 n -0005791983 00000 n -0005792027 00000 n -0005792071 00000 n -0005792115 00000 n -0005792158 00000 n -0005792201 00000 n -0005792244 00000 n -0005792312 00000 n -0005792561 00000 n -0005792660 00000 n -0005797873 00000 n -0005798204 00000 n -0005798626 00000 n -0005798669 00000 n -0005798711 00000 n -0005798754 00000 n -0005798797 00000 n -0005798841 00000 n -0005798885 00000 n -0005798953 00000 n -0005799201 00000 n -0005799300 00000 n -0005803751 00000 n -0005804082 00000 n -0005804504 00000 n -0005804572 00000 n -0005804792 00000 n -0005804891 00000 n -0005807627 00000 n -0005807958 00000 n -0005808380 00000 n -0005808424 00000 n -0005808492 00000 n -0005808755 00000 n -0005808854 00000 n -0005810903 00000 n -0005811234 00000 n -0005811656 00000 n -0005811700 00000 n -0005811744 00000 n -0005811812 00000 n -0005812076 00000 n -0005812175 00000 n -0005814063 00000 n -0005814230 00000 n -0005814397 00000 n -0005814564 00000 n -0005814607 00000 n -0005814650 00000 n -0005814693 00000 n -0005815024 00000 n -0005815446 00000 n -0005815489 00000 n -0005815532 00000 n -0005815575 00000 n -0005815619 00000 n -0005815662 00000 n -0005815705 00000 n -0005815749 00000 n -0005815791 00000 n -0005815835 00000 n -0005815878 00000 n -0005815946 00000 n -0005816195 00000 n -0005816294 00000 n -0005820537 00000 n -0005820868 00000 n -0005821290 00000 n -0005821333 00000 n -0005821401 00000 n -0005821636 00000 n -0005821735 00000 n -0005825812 00000 n -0005826143 00000 n -0005826565 00000 n -0005826633 00000 n -0005826882 00000 n -0005826981 00000 n -0005830306 00000 n -0005830472 00000 n -0005830638 00000 n -0005830804 00000 n -0005830873 00000 n -0005830931 00000 n -0005830973 00000 n -0005831304 00000 n -0005831726 00000 n -0005831770 00000 n -0005831814 00000 n -0005831858 00000 n -0005831901 00000 n -0005831945 00000 n -0005831988 00000 n -0005832031 00000 n -0005832074 00000 n -0005832117 00000 n -0005832185 00000 n -0005832419 00000 n -0005832518 00000 n -0005836630 00000 n -0005836797 00000 n -0005836964 00000 n -0005837022 00000 n -0005837065 00000 n -0005837396 00000 n -0005837818 00000 n -0005837862 00000 n -0005837906 00000 n -0005839671 00000 n -0005840994 00000 n -0005863117 00000 n -0005863160 00000 n -0005863202 00000 n -0005863245 00000 n -0005863289 00000 n -0005863332 00000 n -0005863400 00000 n -0005863635 00000 n -0005863734 00000 n -0005868345 00000 n -0005868676 00000 n -0005869098 00000 n -0005869142 00000 n -0005869186 00000 n -0005869228 00000 n -0005869271 00000 n -0005869339 00000 n -0005869573 00000 n -0005869672 00000 n -0005872632 00000 n -0005872799 00000 n -0005873130 00000 n -0005873552 00000 n -0005873595 00000 n -0005873639 00000 n -0005873683 00000 n -0005876351 00000 n -0005876395 00000 n -0005876438 00000 n -0005876482 00000 n -0005876550 00000 n -0005876813 00000 n -0005876912 00000 n -0005879431 00000 n -0005879762 00000 n -0005880184 00000 n -0005880228 00000 n -0005880296 00000 n -0005880545 00000 n -0005880644 00000 n -0005884652 00000 n -0005884983 00000 n -0005885405 00000 n -0005885448 00000 n -0005885516 00000 n -0005885765 00000 n -0005885864 00000 n -0005889547 00000 n -0005889878 00000 n -0005890300 00000 n -0005890368 00000 n -0005890645 00000 n -0005890744 00000 n -0005894695 00000 n -0005894861 00000 n -0005894903 00000 n -0005895234 00000 n -0005895656 00000 n -0005895699 00000 n -0005895743 00000 n -0005895786 00000 n -0005895829 00000 n -0005895873 00000 n -0005895917 00000 n -0005895961 00000 n -0005896004 00000 n -0005896047 00000 n -0005896091 00000 n -0005896134 00000 n -0005896178 00000 n -0005896246 00000 n -0005896525 00000 n -0005896624 00000 n -0005898769 00000 n -0005898936 00000 n -0005899103 00000 n -0005899270 00000 n -0005899313 00000 n -0005899356 00000 n -0005899399 00000 n -0005899730 00000 n -0005900152 00000 n -0005900220 00000 n -0005900455 00000 n -0005900554 00000 n -0005905041 00000 n -0005905180 00000 n -0005905319 00000 n -0005905458 00000 n -0005905597 00000 n -0005905736 00000 n -0005905875 00000 n -0005906014 00000 n -0005906153 00000 n -0005906292 00000 n -0005906431 00000 n -0005906570 00000 n -0005906709 00000 n -0005906848 00000 n -0005906987 00000 n -0005907126 00000 n -0005907265 00000 n -0005907404 00000 n -0005907543 00000 n -0005907682 00000 n -0005907821 00000 n -0005907960 00000 n -0005908099 00000 n -0005908238 00000 n -0005908377 00000 n -0005908516 00000 n -0005908655 00000 n -0005908794 00000 n -0005908933 00000 n -0005909072 00000 n -0005909211 00000 n -0005909350 00000 n -0005909489 00000 n -0005909628 00000 n -0005909767 00000 n -0005909906 00000 n -0005910045 00000 n -0005910184 00000 n -0005910323 00000 n -0005910462 00000 n -0005910601 00000 n -0005910740 00000 n -0005910879 00000 n -0005911018 00000 n -0005911157 00000 n -0005911296 00000 n -0005911435 00000 n -0005911574 00000 n -0005911713 00000 n -0005911852 00000 n -0005911991 00000 n -0005912130 00000 n -0005912269 00000 n -0005912408 00000 n -0005912547 00000 n -0005912686 00000 n -0005912825 00000 n -0005912964 00000 n -0005913103 00000 n -0005913242 00000 n -0005913381 00000 n -0005913520 00000 n -0005913659 00000 n -0005913798 00000 n -0005913937 00000 n -0005914076 00000 n -0005914215 00000 n -0005914354 00000 n -0005914493 00000 n -0005914632 00000 n -0005914771 00000 n -0005914910 00000 n -0005915049 00000 n -0005915188 00000 n -0005915327 00000 n -0005915466 00000 n -0005915605 00000 n -0005915744 00000 n -0005915883 00000 n -0005916022 00000 n -0005916161 00000 n -0005916300 00000 n -0005916439 00000 n -0005916578 00000 n -0005916717 00000 n -0005916856 00000 n -0005916995 00000 n -0005917134 00000 n -0005917273 00000 n -0005917412 00000 n -0005917551 00000 n -0005917690 00000 n -0005917829 00000 n -0005917968 00000 n -0005918107 00000 n -0005918246 00000 n -0005918385 00000 n -0005918524 00000 n -0005918663 00000 n -0005918802 00000 n -0005918941 00000 n -0005919080 00000 n -0005919219 00000 n -0005919358 00000 n -0005919497 00000 n -0005919636 00000 n -0005919775 00000 n -0005919914 00000 n -0005920053 00000 n -0005920192 00000 n -0005920331 00000 n -0005920470 00000 n -0005920609 00000 n -0005920748 00000 n -0005920887 00000 n -0005921026 00000 n -0005921165 00000 n -0005921304 00000 n -0005921443 00000 n -0005921582 00000 n -0005921721 00000 n -0005921860 00000 n -0005921999 00000 n -0005922138 00000 n -0005922277 00000 n -0005922416 00000 n -0005922555 00000 n -0005922694 00000 n -0005922833 00000 n -0005922972 00000 n -0005923111 00000 n -0005923250 00000 n -0005923389 00000 n -0005923528 00000 n -0005923667 00000 n -0005923806 00000 n -0005923945 00000 n -0005924084 00000 n -0005924223 00000 n -0005924362 00000 n -0005924501 00000 n -0005924640 00000 n -0005924779 00000 n -0005924918 00000 n -0005925057 00000 n -0005925196 00000 n -0005925335 00000 n -0005925474 00000 n -0005925613 00000 n -0005925752 00000 n -0005925891 00000 n -0005926030 00000 n -0005926169 00000 n -0005926308 00000 n -0005926447 00000 n -0005926586 00000 n -0005926725 00000 n -0005926864 00000 n -0005927003 00000 n -0005927142 00000 n -0005927281 00000 n -0005927420 00000 n -0005927559 00000 n -0005927698 00000 n -0005927837 00000 n -0005927976 00000 n -0005928115 00000 n -0005928254 00000 n -0005928393 00000 n -0005928532 00000 n -0005928671 00000 n -0005928810 00000 n -0005928949 00000 n -0005929088 00000 n -0005929227 00000 n -0005929366 00000 n -0005929505 00000 n -0005929644 00000 n -0005929783 00000 n -0005929922 00000 n -0005930061 00000 n -0005930200 00000 n -0005930339 00000 n -0005930478 00000 n -0005930617 00000 n -0005930756 00000 n -0005930895 00000 n -0005931034 00000 n -0005931173 00000 n -0005931312 00000 n -0005931451 00000 n -0005931590 00000 n -0005931729 00000 n -0005931868 00000 n -0005932007 00000 n -0005932146 00000 n -0005932285 00000 n -0005932424 00000 n -0005932563 00000 n -0005932702 00000 n -0005932841 00000 n -0005932980 00000 n -0005933119 00000 n -0005933258 00000 n -0005933397 00000 n -0005933536 00000 n -0005933675 00000 n -0005933814 00000 n -0005933953 00000 n -0005934092 00000 n -0005934231 00000 n -0005934370 00000 n -0005934509 00000 n -0005934648 00000 n -0005934787 00000 n -0005934926 00000 n -0005935065 00000 n -0005935204 00000 n -0005935343 00000 n -0005935482 00000 n -0005935621 00000 n -0005935760 00000 n -0005935899 00000 n -0005936038 00000 n -0005936177 00000 n -0005936316 00000 n -0005936455 00000 n -0005936594 00000 n -0005936733 00000 n -0005936872 00000 n -0005937011 00000 n -0005937150 00000 n -0005937289 00000 n -0005937428 00000 n -0005937567 00000 n -0005937706 00000 n -0005937845 00000 n -0005937984 00000 n -0005938123 00000 n -0005938262 00000 n -0005938401 00000 n -0005938540 00000 n -0005938679 00000 n -0005938818 00000 n -0005938957 00000 n -0005939096 00000 n -0005939235 00000 n -0005939374 00000 n -0005939513 00000 n -0005939652 00000 n -0005939791 00000 n -0005939930 00000 n -0005940069 00000 n -0005940208 00000 n -0005940347 00000 n -0005940486 00000 n -0005940625 00000 n -0005940764 00000 n -0005940903 00000 n -0005941042 00000 n -0005941181 00000 n -0005941320 00000 n -0005941459 00000 n -0005941598 00000 n -0005941737 00000 n -0005941876 00000 n -0005942015 00000 n -0005942154 00000 n -0005942293 00000 n -0005942432 00000 n -0005942571 00000 n -0005942710 00000 n -0005942849 00000 n -0005942988 00000 n -0005943127 00000 n -0005943266 00000 n -0005943405 00000 n -0005943544 00000 n -0005943683 00000 n -0005943822 00000 n -0005943961 00000 n -0005944100 00000 n -0005944239 00000 n -0005944378 00000 n -0005944517 00000 n -0005944656 00000 n -0005944795 00000 n -0005944934 00000 n -0005945073 00000 n -0005945212 00000 n -0005945351 00000 n -0005945490 00000 n -0005945629 00000 n -0005945768 00000 n -0005945907 00000 n -0005946046 00000 n -0005946185 00000 n -0005946324 00000 n -0005946463 00000 n -0005946602 00000 n -0005946741 00000 n -0005946880 00000 n -0005947019 00000 n -0005947158 00000 n -0005947297 00000 n -0005947436 00000 n -0005947575 00000 n -0005947714 00000 n -0005947853 00000 n -0005947992 00000 n -0005948131 00000 n -0005948270 00000 n -0005948409 00000 n -0005948548 00000 n -0005948687 00000 n -0005948826 00000 n -0005948965 00000 n -0005949104 00000 n -0005949243 00000 n -0005949382 00000 n -0005949521 00000 n -0005949660 00000 n -0005949799 00000 n -0005949938 00000 n -0005950077 00000 n -0005950216 00000 n -0005950355 00000 n -0005950494 00000 n -0005950633 00000 n -0005950772 00000 n -0005950911 00000 n -0005951050 00000 n -0005951189 00000 n -0005951328 00000 n -0005951467 00000 n -0005951606 00000 n -0005951745 00000 n -0005951884 00000 n -0005952023 00000 n -0005952162 00000 n -0005952301 00000 n -0005952440 00000 n -0005952579 00000 n -0005952718 00000 n -0005952857 00000 n -0005952996 00000 n -0005953135 00000 n -0005953274 00000 n -0005953413 00000 n -0005953552 00000 n -0005953691 00000 n -0005953830 00000 n -0005953969 00000 n -0005954108 00000 n -0005954247 00000 n -0005954386 00000 n -0005954525 00000 n -0005954664 00000 n -0005954803 00000 n -0005954942 00000 n -0005955081 00000 n -0005955124 00000 n -0005955167 00000 n -0005955210 00000 n -0005955253 00000 n -0005955296 00000 n -0005955339 00000 n -0005955382 00000 n -0005955425 00000 n -0005955468 00000 n -0005955511 00000 n -0005955554 00000 n -0005955597 00000 n -0005955640 00000 n -0005955683 00000 n -0005955726 00000 n -0005955769 00000 n -0005955812 00000 n -0005955855 00000 n -0005955898 00000 n -0005955941 00000 n -0005955984 00000 n -0005956027 00000 n -0005956070 00000 n -0005956113 00000 n -0005956156 00000 n -0005956199 00000 n -0005956242 00000 n -0005956285 00000 n -0005956328 00000 n -0005956371 00000 n -0005956414 00000 n -0005956457 00000 n -0005956500 00000 n -0005956543 00000 n -0005956586 00000 n -0005956629 00000 n -0005956672 00000 n -0005956715 00000 n -0005956758 00000 n -0005956801 00000 n -0005956844 00000 n -0005956887 00000 n -0005956930 00000 n -0005956973 00000 n -0005957016 00000 n -0005957059 00000 n -0005957102 00000 n -0005957145 00000 n -0005957188 00000 n -0005957231 00000 n -0005957274 00000 n -0005957317 00000 n -0005957360 00000 n -0005957403 00000 n -0005957446 00000 n -0005957489 00000 n -0005957532 00000 n -0005957575 00000 n -0005957618 00000 n -0005957661 00000 n -0005957704 00000 n -0005957747 00000 n -0005957790 00000 n -0005957833 00000 n -0005957876 00000 n -0005957919 00000 n -0005957962 00000 n -0005958005 00000 n -0005958048 00000 n -0005958091 00000 n -0005958134 00000 n -0005958177 00000 n -0005958220 00000 n -0005958263 00000 n -0005958306 00000 n -0005958349 00000 n -0005958392 00000 n -0005958435 00000 n -0005958478 00000 n -0005958521 00000 n -0005958564 00000 n -0005958607 00000 n -0005958650 00000 n -0005958693 00000 n -0005958736 00000 n -0005958779 00000 n -0005958822 00000 n -0005958865 00000 n -0005958908 00000 n -0005958951 00000 n -0005958994 00000 n -0005959037 00000 n -0005959080 00000 n -0005959123 00000 n -0005959166 00000 n -0005959209 00000 n -0005959252 00000 n -0005959295 00000 n -0005959338 00000 n -0005959381 00000 n -0005959424 00000 n -0005959467 00000 n -0005959510 00000 n -0005959553 00000 n -0005959596 00000 n -0005959639 00000 n -0005959682 00000 n -0005959725 00000 n -0005959768 00000 n -0005959811 00000 n -0005959854 00000 n -0005959897 00000 n -0005959940 00000 n -0005959983 00000 n -0005960026 00000 n -0005960069 00000 n -0005960112 00000 n -0005960155 00000 n -0005960198 00000 n -0005960241 00000 n -0005960284 00000 n -0005960327 00000 n -0005960370 00000 n -0005960413 00000 n -0005960456 00000 n -0005960499 00000 n -0005960542 00000 n -0005960585 00000 n -0005960628 00000 n -0005960671 00000 n -0005960714 00000 n -0005960757 00000 n -0005960800 00000 n -0005960843 00000 n -0005960886 00000 n -0005960929 00000 n -0005960972 00000 n -0005961015 00000 n -0005961058 00000 n -0005961101 00000 n -0005961144 00000 n -0005961187 00000 n -0005961230 00000 n -0005961273 00000 n -0005961316 00000 n -0005961359 00000 n -0005961402 00000 n -0005961445 00000 n -0005961488 00000 n -0005961531 00000 n -0005961574 00000 n -0005961617 00000 n -0005961660 00000 n -0005961703 00000 n -0005961746 00000 n -0005961789 00000 n -0005961832 00000 n -0005961875 00000 n -0005961918 00000 n -0005961961 00000 n -0005962004 00000 n -0005962047 00000 n -0005962090 00000 n -0005962133 00000 n -0005962176 00000 n -0005962219 00000 n -0005962262 00000 n -0005962305 00000 n -0005962348 00000 n -0005962391 00000 n -0005962434 00000 n -0005962477 00000 n -0005962520 00000 n -0005962563 00000 n -0005962606 00000 n -0005962649 00000 n -0005962692 00000 n -0005962735 00000 n -0005962778 00000 n -0005962821 00000 n -0005962864 00000 n -0005962907 00000 n -0005962950 00000 n -0005962993 00000 n -0005963036 00000 n -0005963079 00000 n -0005963122 00000 n -0005963165 00000 n -0005963208 00000 n -0005963251 00000 n -0005963294 00000 n -0005963337 00000 n -0005963380 00000 n -0005963423 00000 n -0005963466 00000 n -0005963509 00000 n -0005963552 00000 n -0005963595 00000 n -0005963638 00000 n -0005963681 00000 n -0005963724 00000 n -0005963767 00000 n -0005963810 00000 n -0005963853 00000 n -0005963896 00000 n -0005963939 00000 n -0005963982 00000 n -0005964025 00000 n -0005964068 00000 n -0005964111 00000 n -0005964154 00000 n -0005964197 00000 n -0005964240 00000 n -0005964283 00000 n -0005964326 00000 n -0005964369 00000 n -0005964412 00000 n -0005964455 00000 n -0005964498 00000 n -0005964541 00000 n -0005964584 00000 n -0005964627 00000 n -0005964670 00000 n -0005964713 00000 n -0005964756 00000 n -0005964799 00000 n -0005964842 00000 n -0005964885 00000 n -0005964928 00000 n -0005964971 00000 n -0005965014 00000 n -0005965057 00000 n -0005965100 00000 n -0005965143 00000 n -0005965186 00000 n -0005965229 00000 n -0005965272 00000 n -0005965315 00000 n -0005965358 00000 n -0005965401 00000 n -0005965444 00000 n -0005965487 00000 n -0005965530 00000 n -0005965573 00000 n -0005965616 00000 n -0005965659 00000 n -0005965702 00000 n -0005965745 00000 n -0005965788 00000 n -0005965831 00000 n -0005965874 00000 n -0005965917 00000 n -0005965960 00000 n -0005966003 00000 n -0005966046 00000 n -0005966089 00000 n -0005966132 00000 n -0005966175 00000 n -0005966218 00000 n -0005966261 00000 n -0005966304 00000 n -0005966347 00000 n -0005966390 00000 n -0005966433 00000 n -0005966476 00000 n -0005966519 00000 n -0005966562 00000 n -0005966605 00000 n -0005966648 00000 n -0005966691 00000 n -0005966734 00000 n -0005966777 00000 n -0005966820 00000 n -0005966863 00000 n -0005966906 00000 n -0005966949 00000 n -0005966992 00000 n -0005967035 00000 n -0005967078 00000 n -0005967121 00000 n -0005967164 00000 n -0005967207 00000 n -0005967250 00000 n -0005967293 00000 n -0005967336 00000 n -0005967379 00000 n -0005967422 00000 n -0005967465 00000 n -0005967508 00000 n -0005967551 00000 n -0005967594 00000 n -0005967637 00000 n -0005967680 00000 n -0005967723 00000 n -0005967766 00000 n -0005967809 00000 n -0005967852 00000 n -0005967895 00000 n -0005967938 00000 n -0005967981 00000 n -0005968024 00000 n -0005968067 00000 n -0005968110 00000 n -0005968153 00000 n -0005968196 00000 n -0005968239 00000 n -0005968282 00000 n -0005968325 00000 n -0005968368 00000 n -0005968411 00000 n -0005968454 00000 n -0005968497 00000 n -0005968540 00000 n -0005968583 00000 n -0005968626 00000 n -0005968669 00000 n -0005968712 00000 n -0005968755 00000 n -0005968798 00000 n -0005968841 00000 n -0005968884 00000 n -0005968927 00000 n -0005968970 00000 n -0005969013 00000 n -0005969056 00000 n -0005969099 00000 n -0005969142 00000 n -0005969185 00000 n -0005969228 00000 n -0005969271 00000 n -0005969314 00000 n -0005969357 00000 n -0005969400 00000 n -0005969443 00000 n -0005969486 00000 n -0005969529 00000 n -0005969572 00000 n -0005969615 00000 n -0005969658 00000 n -0005969701 00000 n -0005969744 00000 n -0005969787 00000 n -0005969830 00000 n -0005969873 00000 n -0005969916 00000 n -0005969959 00000 n -0005970002 00000 n -0005970045 00000 n -0005970376 00000 n -0005970798 00000 n -0005970841 00000 n -0005970884 00000 n -0005970928 00000 n -0005970996 00000 n -0005971245 00000 n -0005971344 00000 n -0005975517 00000 n -0005975848 00000 n -0005976270 00000 n -0005976313 00000 n -0005976356 00000 n -0005976400 00000 n -0005976443 00000 n -0005976486 00000 n -0005976554 00000 n -0005976788 00000 n -0005976887 00000 n -0005980508 00000 n -0005980675 00000 n -0005980718 00000 n -0005981049 00000 n -0005981471 00000 n -0005981514 00000 n -0005981845 00000 n -0005982267 00000 n -0005982311 00000 n -0005982355 00000 n -0005982398 00000 n -0005982442 00000 n -0005982486 00000 n -0005982530 00000 n -0005982598 00000 n -0005982861 00000 n -0005982960 00000 n -0005984836 00000 n -0005985167 00000 n -0005985589 00000 n -0005985632 00000 n -0005985675 00000 n -0005985743 00000 n -0005985992 00000 n -0005986091 00000 n -0005989789 00000 n -0005990120 00000 n -0005990542 00000 n -0005990586 00000 n -0005992341 00000 n -0005992385 00000 n -0005992453 00000 n -0005992702 00000 n -0005992801 00000 n -0005995983 00000 n -0005996314 00000 n -0005996736 00000 n -0005996780 00000 n -0005996823 00000 n -0005996867 00000 n -0005996935 00000 n -0005997214 00000 n -0005997313 00000 n -0005999715 00000 n -0005999881 00000 n -0006000047 00000 n -0006000213 00000 n -0006000255 00000 n -0006000297 00000 n -0006000339 00000 n -0006000670 00000 n -0006001092 00000 n -0006001135 00000 n -0006001179 00000 n -0006001222 00000 n -0006001266 00000 n -0006001310 00000 n -0006001353 00000 n -0006001397 00000 n -0006001441 00000 n -0006001509 00000 n -0006001772 00000 n -0006001871 00000 n -0006005744 00000 n -0006006075 00000 n -0006006497 00000 n -0006006709 00000 n -0006021082 00000 n -0006021125 00000 n -0006021169 00000 n -0006021213 00000 n -0006021281 00000 n -0006021530 00000 n -0006021629 00000 n -0006025411 00000 n -0006025577 00000 n -0006025619 00000 n -0006025950 00000 n -0006026372 00000 n -0006026415 00000 n -0006026458 00000 n -0006026501 00000 n -0006026544 00000 n -0006026587 00000 n -0006029806 00000 n -0006029849 00000 n -0006029893 00000 n -0006029961 00000 n -0006030224 00000 n -0006030323 00000 n -0006034480 00000 n -0006034647 00000 n -0006034690 00000 n -0006035021 00000 n -0006035443 00000 n -0006035487 00000 n -0006035530 00000 n -0006035574 00000 n -0006035618 00000 n -0006035661 00000 n -0006035729 00000 n -0006035993 00000 n -0006036092 00000 n -0006038113 00000 n -0006038279 00000 n -0006038445 00000 n -0006038608 00000 n -0006038650 00000 n -0006038692 00000 n -0006038734 00000 n -0006039065 00000 n -0006039487 00000 n -0006039530 00000 n -0006039573 00000 n -0006039616 00000 n -0006039660 00000 n -0006039728 00000 n -0006039991 00000 n -0006040090 00000 n -0006042351 00000 n -0006042682 00000 n -0006043104 00000 n -0006043172 00000 n -0006043421 00000 n -0006043520 00000 n -0006047013 00000 n -0006047344 00000 n -0006047766 00000 n -0006047834 00000 n -0006048055 00000 n -0006048154 00000 n -0006051160 00000 n -0006051491 00000 n -0006051913 00000 n -0006051956 00000 n -0006052024 00000 n -0006052273 00000 n -0006052372 00000 n -0006055857 00000 n -0006056188 00000 n -0006056610 00000 n -0006056941 00000 n -0006057363 00000 n -0006057694 00000 n -0006058116 00000 n -0006058159 00000 n -0006058202 00000 n -0006058244 00000 n -0006058288 00000 n -0006058500 00000 n -0006058560 00000 n -0006058646 00000 n -0006058690 00000 n -0006058733 00000 n -0006058777 00000 n -0006058821 00000 n -0006059183 00000 n -0006059224 00000 n -0006059267 00000 n -0006059311 00000 n -0006059379 00000 n -0006059613 00000 n -0006059712 00000 n -0006062234 00000 n -0006062400 00000 n -0006062442 00000 n -0006062773 00000 n -0006063195 00000 n -0006063238 00000 n -0006063281 00000 n -0006063325 00000 n -0006063368 00000 n -0006063412 00000 n -0006063455 00000 n -0006063523 00000 n -0006063743 00000 n -0006063842 00000 n -0006067411 00000 n -0006067742 00000 n -0006068164 00000 n -0006068208 00000 n -0006068252 00000 n -0006068295 00000 n -0006068363 00000 n -0006068553 00000 n -0006068652 00000 n -0006068870 00000 n -0006069201 00000 n -0006069623 00000 n -0006069666 00000 n -0006069710 00000 n -0006069753 00000 n -0006069797 00000 n -0006069840 00000 n -0006069884 00000 n -0006069928 00000 n -0006069971 00000 n -0006070014 00000 n -0006070082 00000 n -0006070345 00000 n -0006070444 00000 n -0006072417 00000 n -0006072748 00000 n -0006073170 00000 n -0006073213 00000 n -0006073256 00000 n -0006073324 00000 n -0006073573 00000 n -0006073672 00000 n -0006078006 00000 n -0006078171 00000 n -0006078213 00000 n -0006078544 00000 n -0006078966 00000 n -0006079009 00000 n -0006079103 00000 n -0006079191 00000 n -0006079235 00000 n -0006079279 00000 n -0006079320 00000 n -0006079363 00000 n -0006079407 00000 n -0006079475 00000 n -0006079695 00000 n -0006079794 00000 n -0006083690 00000 n -0006084021 00000 n -0006084443 00000 n -0006084486 00000 n -0006084554 00000 n -0006084774 00000 n -0006084873 00000 n -0006088964 00000 n -0006089103 00000 n -0006089242 00000 n -0006089381 00000 n -0006089520 00000 n -0006089659 00000 n -0006089798 00000 n -0006089937 00000 n -0006090076 00000 n -0006090215 00000 n -0006090354 00000 n -0006090493 00000 n -0006090632 00000 n -0006090771 00000 n -0006090910 00000 n -0006091049 00000 n -0006091188 00000 n -0006091327 00000 n -0006091466 00000 n -0006091605 00000 n -0006091744 00000 n -0006091883 00000 n -0006092022 00000 n -0006092161 00000 n -0006092300 00000 n -0006092439 00000 n -0006092578 00000 n -0006092717 00000 n -0006092856 00000 n -0006092995 00000 n -0006093134 00000 n -0006093273 00000 n -0006093412 00000 n -0006093551 00000 n -0006093690 00000 n -0006093829 00000 n -0006093968 00000 n -0006094107 00000 n -0006094246 00000 n -0006094385 00000 n -0006094524 00000 n -0006094663 00000 n -0006094802 00000 n -0006094941 00000 n -0006095080 00000 n -0006095219 00000 n -0006095358 00000 n -0006095497 00000 n -0006095636 00000 n -0006095775 00000 n -0006095914 00000 n -0006096053 00000 n -0006096192 00000 n -0006096331 00000 n -0006096470 00000 n -0006096609 00000 n -0006096748 00000 n -0006096887 00000 n -0006097026 00000 n -0006097165 00000 n -0006097304 00000 n -0006097443 00000 n -0006097582 00000 n -0006097721 00000 n -0006097860 00000 n -0006097999 00000 n -0006098138 00000 n -0006098277 00000 n -0006098416 00000 n -0006098555 00000 n -0006098694 00000 n -0006098833 00000 n -0006098972 00000 n -0006099111 00000 n -0006099250 00000 n -0006099389 00000 n -0006099528 00000 n -0006099667 00000 n -0006099806 00000 n -0006099945 00000 n -0006100084 00000 n -0006100223 00000 n -0006100362 00000 n -0006100501 00000 n -0006100640 00000 n -0006100779 00000 n -0006100918 00000 n -0006101057 00000 n -0006101196 00000 n -0006101335 00000 n -0006101474 00000 n -0006101613 00000 n -0006101752 00000 n -0006101891 00000 n -0006102030 00000 n -0006102169 00000 n -0006102308 00000 n -0006102447 00000 n -0006102586 00000 n -0006102725 00000 n -0006102864 00000 n -0006103003 00000 n -0006103142 00000 n -0006103281 00000 n -0006103420 00000 n -0006103559 00000 n -0006103698 00000 n -0006103837 00000 n -0006103976 00000 n -0006104115 00000 n -0006104254 00000 n -0006104393 00000 n -0006104532 00000 n -0006104671 00000 n -0006104810 00000 n -0006104949 00000 n -0006105088 00000 n -0006105227 00000 n -0006105366 00000 n -0006105505 00000 n -0006105644 00000 n -0006105783 00000 n -0006105922 00000 n -0006106061 00000 n -0006106200 00000 n -0006106339 00000 n -0006106478 00000 n -0006106617 00000 n -0006106756 00000 n -0006106895 00000 n -0006107034 00000 n -0006107173 00000 n -0006107312 00000 n -0006107451 00000 n -0006107590 00000 n -0006107729 00000 n -0006107868 00000 n -0006108007 00000 n -0006108146 00000 n -0006108285 00000 n -0006108424 00000 n -0006108563 00000 n -0006108702 00000 n -0006108841 00000 n -0006108980 00000 n -0006109119 00000 n -0006109258 00000 n -0006109397 00000 n -0006109536 00000 n -0006109675 00000 n -0006109814 00000 n -0006109953 00000 n -0006110092 00000 n -0006110231 00000 n -0006110370 00000 n -0006110509 00000 n -0006110648 00000 n -0006110787 00000 n -0006110926 00000 n -0006111065 00000 n -0006111204 00000 n -0006111343 00000 n -0006111482 00000 n -0006111621 00000 n -0006111760 00000 n -0006111899 00000 n -0006112038 00000 n -0006112177 00000 n -0006112316 00000 n -0006112455 00000 n -0006112594 00000 n -0006112733 00000 n -0006112872 00000 n -0006113011 00000 n -0006113150 00000 n -0006113289 00000 n -0006113428 00000 n -0006113567 00000 n -0006113706 00000 n -0006113845 00000 n -0006113984 00000 n -0006114123 00000 n -0006114262 00000 n -0006114401 00000 n -0006114540 00000 n -0006114679 00000 n -0006114818 00000 n -0006114957 00000 n -0006115096 00000 n -0006115235 00000 n -0006115374 00000 n -0006115513 00000 n -0006115652 00000 n -0006115791 00000 n -0006115930 00000 n -0006116069 00000 n -0006116208 00000 n -0006116347 00000 n -0006116486 00000 n -0006116625 00000 n -0006116764 00000 n -0006116903 00000 n -0006117042 00000 n -0006117181 00000 n -0006117320 00000 n -0006117459 00000 n -0006117598 00000 n -0006117737 00000 n -0006117876 00000 n -0006118015 00000 n -0006118154 00000 n -0006118293 00000 n -0006118432 00000 n -0006118571 00000 n -0006118710 00000 n -0006118849 00000 n -0006118988 00000 n -0006119127 00000 n -0006119266 00000 n -0006119405 00000 n -0006119544 00000 n -0006119683 00000 n -0006119822 00000 n -0006119961 00000 n -0006120100 00000 n -0006120239 00000 n -0006120378 00000 n -0006120517 00000 n -0006120656 00000 n -0006120795 00000 n -0006120934 00000 n -0006121073 00000 n -0006121212 00000 n -0006121351 00000 n -0006121490 00000 n -0006121629 00000 n -0006121768 00000 n -0006121907 00000 n -0006122046 00000 n -0006122185 00000 n -0006122324 00000 n -0006122463 00000 n -0006122602 00000 n -0006122741 00000 n -0006122880 00000 n -0006123019 00000 n -0006123158 00000 n -0006123297 00000 n -0006123436 00000 n -0006123575 00000 n -0006123714 00000 n -0006123853 00000 n -0006123992 00000 n -0006124131 00000 n -0006124270 00000 n -0006124409 00000 n -0006124548 00000 n -0006124687 00000 n -0006124826 00000 n -0006124965 00000 n -0006125104 00000 n -0006125243 00000 n -0006125382 00000 n -0006125521 00000 n -0006125660 00000 n -0006125799 00000 n -0006125938 00000 n -0006126077 00000 n -0006126216 00000 n -0006126355 00000 n -0006126494 00000 n -0006126633 00000 n -0006126772 00000 n -0006126911 00000 n -0006127050 00000 n -0006127189 00000 n -0006127328 00000 n -0006127467 00000 n -0006127606 00000 n -0006127745 00000 n -0006127884 00000 n -0006128023 00000 n -0006128162 00000 n -0006128301 00000 n -0006128440 00000 n -0006128579 00000 n -0006128718 00000 n -0006128857 00000 n -0006128996 00000 n -0006129135 00000 n -0006129274 00000 n -0006129413 00000 n -0006129552 00000 n -0006129691 00000 n -0006129830 00000 n -0006129969 00000 n -0006130108 00000 n -0006130247 00000 n -0006130386 00000 n -0006130525 00000 n -0006130664 00000 n -0006130803 00000 n -0006130942 00000 n -0006131081 00000 n -0006131220 00000 n -0006131359 00000 n -0006131498 00000 n -0006131637 00000 n -0006131776 00000 n -0006131915 00000 n -0006132054 00000 n -0006132193 00000 n -0006132332 00000 n -0006132471 00000 n -0006132610 00000 n -0006132749 00000 n -0006132888 00000 n -0006133027 00000 n -0006133166 00000 n -0006133305 00000 n -0006133444 00000 n -0006133583 00000 n -0006133722 00000 n -0006133861 00000 n -0006134000 00000 n -0006134139 00000 n -0006134278 00000 n -0006134417 00000 n -0006134556 00000 n -0006134695 00000 n -0006134834 00000 n -0006134973 00000 n -0006135112 00000 n -0006135251 00000 n -0006135390 00000 n -0006135529 00000 n -0006135668 00000 n -0006135807 00000 n -0006135946 00000 n -0006136085 00000 n -0006136224 00000 n -0006136363 00000 n -0006136502 00000 n -0006136641 00000 n -0006136780 00000 n -0006136919 00000 n -0006137058 00000 n -0006137101 00000 n -0006137144 00000 n -0006137187 00000 n -0006137230 00000 n -0006137273 00000 n -0006137316 00000 n -0006137359 00000 n -0006137402 00000 n -0006137445 00000 n -0006137488 00000 n -0006137531 00000 n -0006137574 00000 n -0006137617 00000 n -0006137660 00000 n -0006137703 00000 n -0006137746 00000 n -0006137789 00000 n -0006137832 00000 n -0006137875 00000 n -0006137918 00000 n -0006137961 00000 n -0006138004 00000 n -0006138047 00000 n -0006138090 00000 n -0006138133 00000 n -0006138176 00000 n -0006138219 00000 n -0006138262 00000 n -0006138305 00000 n -0006138348 00000 n -0006138391 00000 n -0006138434 00000 n -0006138477 00000 n -0006138520 00000 n -0006138563 00000 n -0006138606 00000 n -0006138649 00000 n -0006138692 00000 n -0006138735 00000 n -0006138778 00000 n -0006138821 00000 n -0006138864 00000 n -0006138907 00000 n -0006138950 00000 n -0006138993 00000 n -0006139036 00000 n -0006139079 00000 n -0006139122 00000 n -0006139165 00000 n -0006139208 00000 n -0006139251 00000 n -0006139294 00000 n -0006139337 00000 n -0006139380 00000 n -0006139423 00000 n -0006139466 00000 n -0006139509 00000 n -0006139552 00000 n -0006139595 00000 n -0006139638 00000 n -0006139681 00000 n -0006139724 00000 n -0006139767 00000 n -0006139810 00000 n -0006139853 00000 n -0006139896 00000 n -0006139939 00000 n -0006139982 00000 n -0006140025 00000 n -0006140068 00000 n -0006140111 00000 n -0006140154 00000 n -0006140197 00000 n -0006140240 00000 n -0006140283 00000 n -0006140326 00000 n -0006140369 00000 n -0006140412 00000 n -0006140455 00000 n -0006140498 00000 n -0006140541 00000 n -0006140584 00000 n -0006140627 00000 n -0006140670 00000 n -0006140713 00000 n -0006140756 00000 n -0006140799 00000 n -0006140842 00000 n -0006140885 00000 n -0006140928 00000 n -0006140971 00000 n -0006141014 00000 n -0006141057 00000 n -0006141100 00000 n -0006141143 00000 n -0006141186 00000 n -0006141229 00000 n -0006141272 00000 n -0006141315 00000 n -0006141358 00000 n -0006141401 00000 n -0006141444 00000 n -0006141487 00000 n -0006141530 00000 n -0006141573 00000 n -0006141616 00000 n -0006141659 00000 n -0006141702 00000 n -0006141745 00000 n -0006141788 00000 n -0006141831 00000 n -0006141874 00000 n -0006141917 00000 n -0006141960 00000 n -0006142003 00000 n -0006142046 00000 n -0006142089 00000 n -0006142132 00000 n -0006142175 00000 n -0006142218 00000 n -0006142261 00000 n -0006142304 00000 n -0006142347 00000 n -0006142390 00000 n -0006142433 00000 n -0006142476 00000 n -0006142519 00000 n -0006142562 00000 n -0006142605 00000 n -0006142648 00000 n -0006142691 00000 n -0006142734 00000 n -0006142777 00000 n -0006142820 00000 n -0006142863 00000 n -0006142906 00000 n -0006142949 00000 n -0006142992 00000 n -0006143035 00000 n -0006143078 00000 n -0006143121 00000 n -0006143164 00000 n -0006143207 00000 n -0006143250 00000 n -0006143293 00000 n -0006143336 00000 n -0006143379 00000 n -0006143422 00000 n -0006143465 00000 n -0006143508 00000 n -0006143551 00000 n -0006143594 00000 n -0006143637 00000 n -0006143680 00000 n -0006143723 00000 n -0006143766 00000 n -0006143809 00000 n -0006143852 00000 n -0006143895 00000 n -0006143938 00000 n -0006143981 00000 n -0006144024 00000 n -0006144067 00000 n -0006144110 00000 n -0006144153 00000 n -0006144196 00000 n -0006144239 00000 n -0006144282 00000 n -0006144325 00000 n -0006144368 00000 n -0006144411 00000 n -0006144454 00000 n -0006144497 00000 n -0006144540 00000 n -0006144583 00000 n -0006144626 00000 n -0006144669 00000 n -0006144712 00000 n -0006144755 00000 n -0006144798 00000 n -0006144841 00000 n -0006144884 00000 n -0006144927 00000 n -0006144970 00000 n -0006145013 00000 n -0006145056 00000 n -0006145099 00000 n -0006145142 00000 n -0006145185 00000 n -0006145228 00000 n -0006145271 00000 n -0006145314 00000 n -0006145357 00000 n -0006145400 00000 n -0006145443 00000 n -0006145486 00000 n -0006145529 00000 n -0006145572 00000 n -0006145615 00000 n -0006145658 00000 n -0006145701 00000 n -0006145744 00000 n -0006145787 00000 n -0006145830 00000 n -0006145873 00000 n -0006145916 00000 n -0006145959 00000 n -0006146002 00000 n -0006146045 00000 n -0006146088 00000 n -0006146131 00000 n -0006146174 00000 n -0006146217 00000 n -0006146260 00000 n -0006146303 00000 n -0006146346 00000 n -0006146389 00000 n -0006146432 00000 n -0006146475 00000 n -0006146518 00000 n -0006146561 00000 n -0006146604 00000 n -0006146647 00000 n -0006146690 00000 n -0006146733 00000 n -0006146776 00000 n -0006146819 00000 n -0006146862 00000 n -0006146905 00000 n -0006146948 00000 n -0006146991 00000 n -0006147034 00000 n -0006147077 00000 n -0006147120 00000 n -0006147163 00000 n -0006147206 00000 n -0006147249 00000 n -0006147292 00000 n -0006147335 00000 n -0006147378 00000 n -0006147421 00000 n -0006147464 00000 n -0006147507 00000 n -0006147550 00000 n -0006147593 00000 n -0006147636 00000 n -0006147679 00000 n -0006147722 00000 n -0006147765 00000 n -0006147808 00000 n -0006147851 00000 n -0006147894 00000 n -0006147937 00000 n -0006147980 00000 n -0006148023 00000 n -0006148066 00000 n -0006148109 00000 n -0006148152 00000 n -0006148195 00000 n -0006148238 00000 n -0006148281 00000 n -0006148324 00000 n -0006148367 00000 n -0006148410 00000 n -0006148453 00000 n -0006148496 00000 n -0006148539 00000 n -0006148582 00000 n -0006148625 00000 n -0006148668 00000 n -0006148711 00000 n -0006148754 00000 n -0006148797 00000 n -0006148840 00000 n -0006148883 00000 n -0006148926 00000 n -0006148969 00000 n -0006149012 00000 n -0006149055 00000 n -0006149098 00000 n -0006149141 00000 n -0006149184 00000 n -0006149227 00000 n -0006149270 00000 n -0006149313 00000 n -0006149356 00000 n -0006149399 00000 n -0006149442 00000 n -0006149485 00000 n -0006149528 00000 n -0006149571 00000 n -0006149614 00000 n -0006149657 00000 n -0006149700 00000 n -0006149743 00000 n -0006149786 00000 n -0006149829 00000 n -0006149872 00000 n -0006149915 00000 n -0006149958 00000 n -0006150001 00000 n -0006150044 00000 n -0006150087 00000 n -0006150130 00000 n -0006150173 00000 n -0006150216 00000 n -0006150259 00000 n -0006150302 00000 n -0006150345 00000 n -0006150388 00000 n -0006150431 00000 n -0006150474 00000 n -0006150517 00000 n -0006150560 00000 n -0006150603 00000 n -0006150646 00000 n -0006150689 00000 n -0006150732 00000 n -0006150775 00000 n -0006150818 00000 n -0006150861 00000 n -0006150904 00000 n -0006150947 00000 n -0006150990 00000 n -0006151033 00000 n -0006151076 00000 n -0006151119 00000 n -0006151162 00000 n -0006151205 00000 n -0006151248 00000 n -0006151291 00000 n -0006151334 00000 n -0006151377 00000 n -0006151420 00000 n -0006151463 00000 n -0006151794 00000 n -0006152216 00000 n -0006152259 00000 n -0006152303 00000 n -0006152347 00000 n -0006152390 00000 n -0006152458 00000 n -0006152707 00000 n -0006152806 00000 n -0006156621 00000 n -0006156952 00000 n -0006157374 00000 n -0006157418 00000 n -0006157461 00000 n -0006157504 00000 n -0006157548 00000 n -0006157591 00000 n -0006157635 00000 n -0006157703 00000 n -0006157937 00000 n -0006158036 00000 n -0006161670 00000 n -0006161836 00000 n -0006161879 00000 n -0006162210 00000 n -0006162632 00000 n -0006162676 00000 n -0006162719 00000 n -0006162787 00000 n -0006163036 00000 n -0006163135 00000 n -0006166699 00000 n -0006166865 00000 n -0006166907 00000 n -0006167238 00000 n -0006167660 00000 n -0006167728 00000 n -0006168005 00000 n -0006168104 00000 n -0006172288 00000 n -0006172619 00000 n -0006173041 00000 n -0006173084 00000 n -0006173127 00000 n -0006173171 00000 n -0006173214 00000 n -0006173282 00000 n -0006173559 00000 n -0006173658 00000 n -0006177331 00000 n -0006177498 00000 n -0006177541 00000 n -0006177872 00000 n -0006178294 00000 n -0006178338 00000 n -0006178381 00000 n -0006178424 00000 n -0006178492 00000 n -0006178741 00000 n -0006178840 00000 n -0006181035 00000 n -0006181366 00000 n -0006181788 00000 n -0006181832 00000 n -0006181875 00000 n -0006181918 00000 n -0006181986 00000 n -0006182235 00000 n -0006182334 00000 n -0006185876 00000 n -0006186207 00000 n -0006186629 00000 n -0006186673 00000 n -0006186717 00000 n -0006186761 00000 n -0006186804 00000 n -0006186848 00000 n -0006186892 00000 n -0006186934 00000 n -0006186976 00000 n -0006187019 00000 n -0006187087 00000 n -0006187336 00000 n -0006187435 00000 n -0006191109 00000 n -0006191276 00000 n -0006191443 00000 n -0006191486 00000 n -0006191529 00000 n -0006191860 00000 n -0006192282 00000 n -0006192325 00000 n -0006192369 00000 n -0006192413 00000 n -0006192457 00000 n -0006192525 00000 n -0006192773 00000 n -0006192872 00000 n -0006195728 00000 n -0006196059 00000 n -0006196481 00000 n -0006196549 00000 n -0006196798 00000 n -0006196897 00000 n -0006200940 00000 n -0006201105 00000 n -0006201271 00000 n -0006201313 00000 n -0006201355 00000 n -0006201686 00000 n -0006202108 00000 n -0006202151 00000 n -0006202193 00000 n -0006202237 00000 n -0006202280 00000 n -0006202348 00000 n -0006202597 00000 n -0006202696 00000 n -0006206568 00000 n -0006206899 00000 n -0006207321 00000 n -0006207364 00000 n -0006207408 00000 n -0006207452 00000 n -0006207495 00000 n -0006207539 00000 n -0006207607 00000 n -0006207827 00000 n -0006207926 00000 n -0006212418 00000 n -0006212749 00000 n -0006213171 00000 n -0006213215 00000 n -0006213283 00000 n -0006213518 00000 n -0006213617 00000 n -0006218397 00000 n -0006218536 00000 n -0006218675 00000 n -0006218814 00000 n -0006218953 00000 n -0006219092 00000 n -0006219231 00000 n -0006219370 00000 n -0006219509 00000 n -0006219648 00000 n -0006219787 00000 n -0006219926 00000 n -0006220065 00000 n -0006220204 00000 n -0006220343 00000 n -0006220482 00000 n -0006220621 00000 n -0006220760 00000 n -0006220899 00000 n -0006221038 00000 n -0006221177 00000 n -0006221316 00000 n -0006221455 00000 n -0006221594 00000 n -0006221733 00000 n -0006221872 00000 n -0006222011 00000 n -0006222150 00000 n -0006222289 00000 n -0006222428 00000 n -0006222567 00000 n -0006222706 00000 n -0006222845 00000 n -0006222984 00000 n -0006223123 00000 n -0006223262 00000 n -0006223401 00000 n -0006223540 00000 n -0006223679 00000 n -0006223818 00000 n -0006223957 00000 n -0006224096 00000 n -0006224235 00000 n -0006224374 00000 n -0006224513 00000 n -0006224652 00000 n -0006224791 00000 n -0006224930 00000 n -0006225069 00000 n -0006225208 00000 n -0006225347 00000 n -0006225486 00000 n -0006225625 00000 n -0006225764 00000 n -0006225903 00000 n -0006226042 00000 n -0006226181 00000 n -0006226320 00000 n -0006226459 00000 n -0006226598 00000 n -0006226737 00000 n -0006226876 00000 n -0006227015 00000 n -0006227154 00000 n -0006227293 00000 n -0006227432 00000 n -0006227571 00000 n -0006227710 00000 n -0006227849 00000 n -0006227988 00000 n -0006228127 00000 n -0006228266 00000 n -0006228405 00000 n -0006228544 00000 n -0006228683 00000 n -0006228822 00000 n -0006228961 00000 n -0006229100 00000 n -0006229239 00000 n -0006229378 00000 n -0006229517 00000 n -0006229656 00000 n -0006229795 00000 n -0006229934 00000 n -0006230073 00000 n -0006230212 00000 n -0006230351 00000 n -0006230490 00000 n -0006230629 00000 n -0006230768 00000 n -0006230907 00000 n -0006231046 00000 n -0006231185 00000 n -0006231324 00000 n -0006231463 00000 n -0006231602 00000 n -0006231741 00000 n -0006231880 00000 n -0006232019 00000 n -0006232158 00000 n -0006232297 00000 n -0006232436 00000 n -0006232575 00000 n -0006232714 00000 n -0006232853 00000 n -0006232992 00000 n -0006233131 00000 n -0006233270 00000 n -0006233409 00000 n -0006233548 00000 n -0006233687 00000 n -0006233826 00000 n -0006233965 00000 n -0006234104 00000 n -0006234243 00000 n -0006234382 00000 n -0006234521 00000 n -0006234660 00000 n -0006234799 00000 n -0006234938 00000 n -0006235077 00000 n -0006235216 00000 n -0006235355 00000 n -0006235494 00000 n -0006235633 00000 n -0006235772 00000 n -0006235911 00000 n -0006236050 00000 n -0006236189 00000 n -0006236328 00000 n -0006236467 00000 n -0006236606 00000 n -0006236745 00000 n -0006236884 00000 n -0006237023 00000 n -0006237162 00000 n -0006237301 00000 n -0006237440 00000 n -0006237579 00000 n -0006237718 00000 n -0006237857 00000 n -0006237996 00000 n -0006238135 00000 n -0006238274 00000 n -0006238413 00000 n -0006238552 00000 n -0006238691 00000 n -0006238830 00000 n -0006238969 00000 n -0006239108 00000 n -0006239247 00000 n -0006239386 00000 n -0006239525 00000 n -0006239664 00000 n -0006239803 00000 n -0006239942 00000 n -0006240081 00000 n -0006240220 00000 n -0006240359 00000 n -0006240498 00000 n -0006240637 00000 n -0006240776 00000 n -0006240915 00000 n -0006241054 00000 n -0006241193 00000 n -0006241332 00000 n -0006241471 00000 n -0006241610 00000 n -0006241749 00000 n -0006241888 00000 n -0006242027 00000 n -0006242166 00000 n -0006242305 00000 n -0006242444 00000 n -0006242583 00000 n -0006242722 00000 n -0006242861 00000 n -0006243000 00000 n -0006243139 00000 n -0006243278 00000 n -0006243417 00000 n -0006243556 00000 n -0006243695 00000 n -0006243834 00000 n -0006243973 00000 n -0006244112 00000 n -0006244251 00000 n -0006244390 00000 n -0006244529 00000 n -0006244668 00000 n -0006244807 00000 n -0006244946 00000 n -0006245085 00000 n -0006245224 00000 n -0006245363 00000 n -0006245502 00000 n -0006245641 00000 n -0006245780 00000 n -0006245919 00000 n -0006246058 00000 n -0006246197 00000 n -0006246336 00000 n -0006246475 00000 n -0006246614 00000 n -0006246753 00000 n -0006246892 00000 n -0006247031 00000 n -0006247170 00000 n -0006247309 00000 n -0006247448 00000 n -0006247587 00000 n -0006247726 00000 n -0006247865 00000 n -0006248004 00000 n -0006248143 00000 n -0006248282 00000 n -0006248421 00000 n -0006248560 00000 n -0006248699 00000 n -0006248838 00000 n -0006248977 00000 n -0006249116 00000 n -0006249255 00000 n -0006249394 00000 n -0006249533 00000 n -0006249672 00000 n -0006249811 00000 n -0006249950 00000 n -0006250089 00000 n -0006250228 00000 n -0006250367 00000 n -0006250506 00000 n -0006250645 00000 n -0006250784 00000 n -0006250923 00000 n -0006251062 00000 n -0006251201 00000 n -0006251340 00000 n -0006251479 00000 n -0006251618 00000 n -0006251757 00000 n -0006251896 00000 n -0006252035 00000 n -0006252174 00000 n -0006252313 00000 n -0006252452 00000 n -0006252591 00000 n -0006252730 00000 n -0006252869 00000 n -0006253008 00000 n -0006253147 00000 n -0006253286 00000 n -0006253425 00000 n -0006253564 00000 n -0006253703 00000 n -0006253842 00000 n -0006253981 00000 n -0006254120 00000 n -0006254259 00000 n -0006254398 00000 n -0006254537 00000 n -0006254676 00000 n -0006254815 00000 n -0006254954 00000 n -0006255093 00000 n -0006255232 00000 n -0006255371 00000 n -0006255510 00000 n -0006255649 00000 n -0006255788 00000 n -0006255927 00000 n -0006256066 00000 n -0006256205 00000 n -0006256344 00000 n -0006256483 00000 n -0006256622 00000 n -0006256761 00000 n -0006256900 00000 n -0006257039 00000 n -0006257178 00000 n -0006257317 00000 n -0006257456 00000 n -0006257595 00000 n -0006257734 00000 n -0006257873 00000 n -0006258012 00000 n -0006258151 00000 n -0006258290 00000 n -0006258429 00000 n -0006258568 00000 n -0006258707 00000 n -0006258846 00000 n -0006258985 00000 n -0006259124 00000 n -0006259263 00000 n -0006259402 00000 n -0006259541 00000 n -0006259680 00000 n -0006259819 00000 n -0006259958 00000 n -0006260097 00000 n -0006260236 00000 n -0006260375 00000 n -0006260514 00000 n -0006260653 00000 n -0006260792 00000 n -0006260931 00000 n -0006261070 00000 n -0006261209 00000 n -0006261348 00000 n -0006261487 00000 n -0006261626 00000 n -0006261765 00000 n -0006261904 00000 n -0006262043 00000 n -0006262182 00000 n -0006262321 00000 n -0006262460 00000 n -0006262599 00000 n -0006262738 00000 n -0006262877 00000 n -0006263016 00000 n -0006263155 00000 n -0006263294 00000 n -0006263433 00000 n -0006263572 00000 n -0006263711 00000 n -0006263850 00000 n -0006263989 00000 n -0006264128 00000 n -0006264267 00000 n -0006264406 00000 n -0006264449 00000 n -0006264492 00000 n -0006264535 00000 n -0006264578 00000 n -0006264621 00000 n -0006264664 00000 n -0006264707 00000 n -0006264750 00000 n -0006264793 00000 n -0006264836 00000 n -0006264879 00000 n -0006264922 00000 n -0006264965 00000 n -0006265008 00000 n -0006265051 00000 n -0006265094 00000 n -0006265137 00000 n -0006265180 00000 n -0006265223 00000 n -0006265266 00000 n -0006265309 00000 n -0006265352 00000 n -0006265395 00000 n -0006265438 00000 n -0006265481 00000 n -0006265524 00000 n -0006265567 00000 n -0006265610 00000 n -0006265653 00000 n -0006265696 00000 n -0006265739 00000 n -0006265782 00000 n -0006265825 00000 n -0006265868 00000 n -0006265911 00000 n -0006265954 00000 n -0006265997 00000 n -0006266040 00000 n -0006266083 00000 n -0006266126 00000 n -0006266169 00000 n -0006266212 00000 n -0006266255 00000 n -0006266298 00000 n -0006266341 00000 n -0006266384 00000 n -0006266427 00000 n -0006266470 00000 n -0006266513 00000 n -0006266556 00000 n -0006266599 00000 n -0006266642 00000 n -0006266685 00000 n -0006266728 00000 n -0006266771 00000 n -0006266814 00000 n -0006266857 00000 n -0006266900 00000 n -0006266943 00000 n -0006266986 00000 n -0006267029 00000 n -0006267072 00000 n -0006267115 00000 n -0006267158 00000 n -0006267201 00000 n -0006267244 00000 n -0006267287 00000 n -0006267330 00000 n -0006267373 00000 n -0006267416 00000 n -0006267459 00000 n -0006267502 00000 n -0006267545 00000 n -0006267588 00000 n -0006267631 00000 n -0006267674 00000 n -0006267717 00000 n -0006267760 00000 n -0006267803 00000 n -0006267846 00000 n -0006267889 00000 n -0006267932 00000 n -0006267975 00000 n -0006268018 00000 n -0006268061 00000 n -0006268104 00000 n -0006268147 00000 n -0006268190 00000 n -0006268233 00000 n -0006268276 00000 n -0006268319 00000 n -0006268362 00000 n -0006268405 00000 n -0006268448 00000 n -0006268491 00000 n -0006268534 00000 n -0006268577 00000 n -0006268620 00000 n -0006268663 00000 n -0006268706 00000 n -0006268749 00000 n -0006268792 00000 n -0006268835 00000 n -0006268878 00000 n -0006268921 00000 n -0006268964 00000 n -0006269007 00000 n -0006269050 00000 n -0006269093 00000 n -0006269136 00000 n -0006269179 00000 n -0006269222 00000 n -0006269265 00000 n -0006269308 00000 n -0006269351 00000 n -0006269394 00000 n -0006269437 00000 n -0006269480 00000 n -0006269523 00000 n -0006269566 00000 n -0006269609 00000 n -0006269652 00000 n -0006269695 00000 n -0006269738 00000 n -0006269781 00000 n -0006269824 00000 n -0006269867 00000 n -0006269910 00000 n -0006269953 00000 n -0006269996 00000 n -0006270039 00000 n -0006270082 00000 n -0006270125 00000 n -0006270168 00000 n -0006270211 00000 n -0006270254 00000 n -0006270297 00000 n -0006270340 00000 n -0006270383 00000 n -0006270426 00000 n -0006270469 00000 n -0006270512 00000 n -0006270555 00000 n -0006270598 00000 n -0006270641 00000 n -0006270684 00000 n -0006270727 00000 n -0006270770 00000 n -0006270813 00000 n -0006270856 00000 n -0006270899 00000 n -0006270942 00000 n -0006270985 00000 n -0006271028 00000 n -0006271071 00000 n -0006271114 00000 n -0006271157 00000 n -0006271200 00000 n -0006271243 00000 n -0006271286 00000 n -0006271329 00000 n -0006271372 00000 n -0006271415 00000 n -0006271458 00000 n -0006271501 00000 n -0006271544 00000 n -0006271587 00000 n -0006271630 00000 n -0006271673 00000 n -0006271716 00000 n -0006271759 00000 n -0006271802 00000 n -0006271845 00000 n -0006271888 00000 n -0006271931 00000 n -0006271974 00000 n -0006272017 00000 n -0006272060 00000 n -0006272103 00000 n -0006272146 00000 n -0006272189 00000 n -0006272232 00000 n -0006272275 00000 n -0006272318 00000 n -0006272361 00000 n -0006272404 00000 n -0006272447 00000 n -0006272490 00000 n -0006272533 00000 n -0006272576 00000 n -0006272619 00000 n -0006272662 00000 n -0006272705 00000 n -0006272748 00000 n -0006272791 00000 n -0006272834 00000 n -0006272877 00000 n -0006272920 00000 n -0006272963 00000 n -0006273006 00000 n -0006273049 00000 n -0006273092 00000 n -0006273135 00000 n -0006273178 00000 n -0006273221 00000 n -0006273264 00000 n -0006273307 00000 n -0006273350 00000 n -0006273393 00000 n -0006273436 00000 n -0006273479 00000 n -0006273522 00000 n -0006273565 00000 n -0006273608 00000 n -0006273651 00000 n -0006273694 00000 n -0006273737 00000 n -0006273780 00000 n -0006273823 00000 n -0006273866 00000 n -0006273909 00000 n -0006273952 00000 n -0006273995 00000 n -0006274038 00000 n -0006274081 00000 n -0006274124 00000 n -0006274167 00000 n -0006274210 00000 n -0006274253 00000 n -0006274296 00000 n -0006274339 00000 n -0006274382 00000 n -0006274425 00000 n -0006274468 00000 n -0006274511 00000 n -0006274554 00000 n -0006274597 00000 n -0006274640 00000 n -0006274683 00000 n -0006274726 00000 n -0006274769 00000 n -0006274812 00000 n -0006274855 00000 n -0006274898 00000 n -0006274941 00000 n -0006274984 00000 n -0006275027 00000 n -0006275070 00000 n -0006275113 00000 n -0006275156 00000 n -0006275199 00000 n -0006275242 00000 n -0006275285 00000 n -0006275328 00000 n -0006275371 00000 n -0006275414 00000 n -0006275457 00000 n -0006275500 00000 n -0006275543 00000 n -0006275586 00000 n -0006275629 00000 n -0006275672 00000 n -0006275715 00000 n -0006275758 00000 n -0006275801 00000 n -0006275844 00000 n -0006275887 00000 n -0006275930 00000 n -0006275973 00000 n -0006276016 00000 n -0006276059 00000 n -0006276102 00000 n -0006276145 00000 n -0006276188 00000 n -0006276231 00000 n -0006276274 00000 n -0006276317 00000 n -0006276360 00000 n -0006276403 00000 n -0006276446 00000 n -0006276489 00000 n -0006276532 00000 n -0006276575 00000 n -0006276618 00000 n -0006276661 00000 n -0006276704 00000 n -0006276747 00000 n -0006276790 00000 n -0006276833 00000 n -0006276876 00000 n -0006276919 00000 n -0006276962 00000 n -0006277005 00000 n -0006277048 00000 n -0006277091 00000 n -0006277134 00000 n -0006277177 00000 n -0006277220 00000 n -0006277263 00000 n -0006277306 00000 n -0006277349 00000 n -0006277392 00000 n -0006277435 00000 n -0006277478 00000 n -0006277521 00000 n -0006277564 00000 n -0006277607 00000 n -0006277650 00000 n -0006277693 00000 n -0006277736 00000 n -0006277779 00000 n -0006277822 00000 n -0006277865 00000 n -0006277908 00000 n -0006277951 00000 n -0006277994 00000 n -0006278037 00000 n -0006278080 00000 n -0006278411 00000 n -0006278833 00000 n -0006278876 00000 n -0006278917 00000 n -0006278961 00000 n -0006279005 00000 n -0006279073 00000 n -0006279321 00000 n -0006279420 00000 n -0006282590 00000 n -0006282756 00000 n -0006282798 00000 n -0006283129 00000 n -0006283551 00000 n -0006283595 00000 n -0006283663 00000 n -0006283883 00000 n -0006283982 00000 n -0006285729 00000 n -0006286060 00000 n -0006286482 00000 n -0006286525 00000 n -0006286569 00000 n -0006286612 00000 n -0006286656 00000 n -0006286700 00000 n -0006286744 00000 n -0006286787 00000 n -0006286831 00000 n -0006286875 00000 n -0006286919 00000 n -0006286962 00000 n -0006287030 00000 n -0006287250 00000 n -0006287349 00000 n -0006289369 00000 n -0006289700 00000 n -0006290122 00000 n -0006290190 00000 n -0006290424 00000 n -0006290523 00000 n -0006294935 00000 n -0006295102 00000 n -0006295145 00000 n -0006295476 00000 n -0006295898 00000 n -0006295966 00000 n -0006296229 00000 n -0006296328 00000 n -0006298625 00000 n -0006298956 00000 n -0006299378 00000 n -0006299421 00000 n -0006299464 00000 n -0006299508 00000 n -0006299551 00000 n -0006299594 00000 n -0006299662 00000 n -0006299925 00000 n -0006300024 00000 n -0006303896 00000 n -0006304227 00000 n -0006304649 00000 n -0006304692 00000 n -0006304760 00000 n -0006305023 00000 n -0006305122 00000 n -0006308816 00000 n -0006308982 00000 n -0006309313 00000 n -0006309735 00000 n -0006309803 00000 n -0006310037 00000 n -0006310136 00000 n -0006313283 00000 n -0006313450 00000 n -0006313493 00000 n -0006313824 00000 n -0006314246 00000 n -0006314290 00000 n -0006314333 00000 n -0006314377 00000 n -0006314421 00000 n -0006314465 00000 n -0006314508 00000 n -0006314576 00000 n -0006314825 00000 n -0006314924 00000 n -0006319243 00000 n -0006319574 00000 n -0006319996 00000 n -0006320064 00000 n -0006320284 00000 n -0006320383 00000 n -0006325037 00000 n -0006325176 00000 n -0006325315 00000 n -0006325454 00000 n -0006325593 00000 n -0006325732 00000 n -0006325871 00000 n -0006326010 00000 n -0006326149 00000 n -0006326288 00000 n -0006326427 00000 n -0006326566 00000 n -0006326705 00000 n -0006326844 00000 n -0006326983 00000 n -0006327122 00000 n -0006327261 00000 n -0006327400 00000 n -0006327539 00000 n -0006327678 00000 n -0006327817 00000 n -0006327956 00000 n -0006328095 00000 n -0006328234 00000 n -0006328373 00000 n -0006328512 00000 n -0006328651 00000 n -0006328790 00000 n -0006328929 00000 n -0006329068 00000 n -0006329207 00000 n -0006329346 00000 n -0006329485 00000 n -0006329624 00000 n -0006329763 00000 n -0006329902 00000 n -0006330041 00000 n -0006330180 00000 n -0006330319 00000 n -0006330458 00000 n -0006330597 00000 n -0006330736 00000 n -0006330875 00000 n -0006331014 00000 n -0006331153 00000 n -0006331292 00000 n -0006331431 00000 n -0006331570 00000 n -0006331709 00000 n -0006331848 00000 n -0006331987 00000 n -0006332126 00000 n -0006332265 00000 n -0006332404 00000 n -0006332543 00000 n -0006332682 00000 n -0006332821 00000 n -0006332960 00000 n -0006333099 00000 n -0006333238 00000 n -0006333377 00000 n -0006333516 00000 n -0006333655 00000 n -0006333794 00000 n -0006333933 00000 n -0006334072 00000 n -0006334211 00000 n -0006334350 00000 n -0006334489 00000 n -0006334628 00000 n -0006334767 00000 n -0006334906 00000 n -0006335045 00000 n -0006335184 00000 n -0006335323 00000 n -0006335462 00000 n -0006335601 00000 n -0006335740 00000 n -0006335879 00000 n -0006336018 00000 n -0006336157 00000 n -0006336296 00000 n -0006336435 00000 n -0006336574 00000 n -0006336713 00000 n -0006336852 00000 n -0006336991 00000 n -0006337130 00000 n -0006337269 00000 n -0006337408 00000 n -0006337547 00000 n -0006337686 00000 n -0006337825 00000 n -0006337964 00000 n -0006338103 00000 n -0006338242 00000 n -0006338381 00000 n -0006338520 00000 n -0006338659 00000 n -0006338798 00000 n -0006338937 00000 n -0006339076 00000 n -0006339215 00000 n -0006339354 00000 n -0006339493 00000 n -0006339632 00000 n -0006339771 00000 n -0006339910 00000 n -0006340049 00000 n -0006340188 00000 n -0006340327 00000 n -0006340466 00000 n -0006340605 00000 n -0006340744 00000 n -0006340883 00000 n -0006341022 00000 n -0006341161 00000 n -0006341300 00000 n -0006341439 00000 n -0006341578 00000 n -0006341717 00000 n -0006341856 00000 n -0006341995 00000 n -0006342134 00000 n -0006342273 00000 n -0006342412 00000 n -0006342551 00000 n -0006342690 00000 n -0006342829 00000 n -0006342968 00000 n -0006343107 00000 n -0006343246 00000 n -0006343385 00000 n -0006343524 00000 n -0006343663 00000 n -0006343802 00000 n -0006343941 00000 n -0006344080 00000 n -0006344219 00000 n -0006344358 00000 n -0006344497 00000 n -0006344636 00000 n -0006344775 00000 n -0006344914 00000 n -0006345053 00000 n -0006345192 00000 n -0006345331 00000 n -0006345470 00000 n -0006345609 00000 n -0006345748 00000 n -0006345887 00000 n -0006346026 00000 n -0006346165 00000 n -0006346304 00000 n -0006346443 00000 n -0006346582 00000 n -0006346721 00000 n -0006346860 00000 n -0006346999 00000 n -0006347138 00000 n -0006347277 00000 n -0006347416 00000 n -0006347555 00000 n -0006347694 00000 n -0006347833 00000 n -0006347972 00000 n -0006348111 00000 n -0006348250 00000 n -0006348389 00000 n -0006348528 00000 n -0006348667 00000 n -0006348806 00000 n -0006348945 00000 n -0006349084 00000 n -0006349223 00000 n -0006349362 00000 n -0006349501 00000 n -0006349640 00000 n -0006349779 00000 n -0006349918 00000 n -0006350057 00000 n -0006350196 00000 n -0006350335 00000 n -0006350474 00000 n -0006350613 00000 n -0006350752 00000 n -0006350891 00000 n -0006351030 00000 n -0006351169 00000 n -0006351308 00000 n -0006351447 00000 n -0006351586 00000 n -0006351725 00000 n -0006351864 00000 n -0006352003 00000 n -0006352142 00000 n -0006352281 00000 n -0006352420 00000 n -0006352559 00000 n -0006352698 00000 n -0006352837 00000 n -0006352976 00000 n -0006353115 00000 n -0006353254 00000 n -0006353393 00000 n -0006353532 00000 n -0006353671 00000 n -0006353810 00000 n -0006353949 00000 n -0006354088 00000 n -0006354227 00000 n -0006354366 00000 n -0006354505 00000 n -0006354644 00000 n -0006354783 00000 n -0006354922 00000 n -0006355061 00000 n -0006355200 00000 n -0006355339 00000 n -0006355478 00000 n -0006355617 00000 n -0006355756 00000 n -0006355895 00000 n -0006356034 00000 n -0006356173 00000 n -0006356312 00000 n -0006356451 00000 n -0006356590 00000 n -0006356729 00000 n -0006356868 00000 n -0006357007 00000 n -0006357146 00000 n -0006357285 00000 n -0006357424 00000 n -0006357563 00000 n -0006357702 00000 n -0006357841 00000 n -0006357980 00000 n -0006358119 00000 n -0006358258 00000 n -0006358397 00000 n -0006358536 00000 n -0006358675 00000 n -0006358814 00000 n -0006358953 00000 n -0006359092 00000 n -0006359231 00000 n -0006359370 00000 n -0006359509 00000 n -0006359648 00000 n -0006359787 00000 n -0006359926 00000 n -0006360065 00000 n -0006360204 00000 n -0006360343 00000 n -0006360482 00000 n -0006360621 00000 n -0006360760 00000 n -0006360899 00000 n -0006361038 00000 n -0006361177 00000 n -0006361316 00000 n -0006361455 00000 n -0006361594 00000 n -0006361733 00000 n -0006361872 00000 n -0006362011 00000 n -0006362150 00000 n -0006362289 00000 n -0006362428 00000 n -0006362567 00000 n -0006362706 00000 n -0006362845 00000 n -0006362984 00000 n -0006363123 00000 n -0006363262 00000 n -0006363401 00000 n -0006363540 00000 n -0006363679 00000 n -0006363818 00000 n -0006363957 00000 n -0006364096 00000 n -0006364235 00000 n -0006364374 00000 n -0006364513 00000 n -0006364652 00000 n -0006364791 00000 n -0006364930 00000 n -0006365069 00000 n -0006365208 00000 n -0006365347 00000 n -0006365486 00000 n -0006365625 00000 n -0006365764 00000 n -0006365903 00000 n -0006366042 00000 n -0006366181 00000 n -0006366320 00000 n -0006366459 00000 n -0006366598 00000 n -0006366737 00000 n -0006366876 00000 n -0006367015 00000 n -0006367154 00000 n -0006367293 00000 n -0006367432 00000 n -0006367571 00000 n -0006367710 00000 n -0006367849 00000 n -0006367988 00000 n -0006368127 00000 n -0006368266 00000 n -0006368405 00000 n -0006368544 00000 n -0006368683 00000 n -0006368822 00000 n -0006368961 00000 n -0006369100 00000 n -0006369239 00000 n -0006369378 00000 n -0006369517 00000 n -0006369656 00000 n -0006369699 00000 n -0006369742 00000 n -0006369785 00000 n -0006369828 00000 n -0006369871 00000 n -0006369914 00000 n -0006369957 00000 n -0006370000 00000 n -0006370043 00000 n -0006370086 00000 n -0006370129 00000 n -0006370172 00000 n -0006370215 00000 n -0006370258 00000 n -0006370301 00000 n -0006370344 00000 n -0006370387 00000 n -0006370430 00000 n -0006370473 00000 n -0006370516 00000 n -0006370559 00000 n -0006370602 00000 n -0006370645 00000 n -0006370688 00000 n -0006370731 00000 n -0006370774 00000 n -0006370817 00000 n -0006370860 00000 n -0006370903 00000 n -0006370946 00000 n -0006370989 00000 n -0006371032 00000 n -0006371075 00000 n -0006371118 00000 n -0006371161 00000 n -0006371204 00000 n -0006371247 00000 n -0006371290 00000 n -0006371333 00000 n -0006371376 00000 n -0006371419 00000 n -0006371462 00000 n -0006371505 00000 n -0006371548 00000 n -0006371591 00000 n -0006371634 00000 n -0006371677 00000 n -0006371720 00000 n -0006371763 00000 n -0006371806 00000 n -0006371849 00000 n -0006371892 00000 n -0006371935 00000 n -0006371978 00000 n -0006372021 00000 n -0006372064 00000 n -0006372107 00000 n -0006372150 00000 n -0006372193 00000 n -0006372236 00000 n -0006372279 00000 n -0006372322 00000 n -0006372365 00000 n -0006372408 00000 n -0006372451 00000 n -0006372494 00000 n -0006372537 00000 n -0006372580 00000 n -0006372623 00000 n -0006372666 00000 n -0006372709 00000 n -0006372752 00000 n -0006372795 00000 n -0006372838 00000 n -0006372881 00000 n -0006372924 00000 n -0006372967 00000 n -0006373010 00000 n -0006373053 00000 n -0006373096 00000 n -0006373139 00000 n -0006373182 00000 n -0006373225 00000 n -0006373268 00000 n -0006373311 00000 n -0006373354 00000 n -0006373397 00000 n -0006373440 00000 n -0006373483 00000 n -0006373526 00000 n -0006373569 00000 n -0006373612 00000 n -0006373655 00000 n -0006373698 00000 n -0006373741 00000 n -0006373784 00000 n -0006373827 00000 n -0006373870 00000 n -0006373913 00000 n -0006373956 00000 n -0006373999 00000 n -0006374042 00000 n -0006374085 00000 n -0006374128 00000 n -0006374171 00000 n -0006374214 00000 n -0006374257 00000 n -0006374300 00000 n -0006374343 00000 n -0006374386 00000 n -0006374429 00000 n -0006374472 00000 n -0006374515 00000 n -0006374558 00000 n -0006374601 00000 n -0006374644 00000 n -0006374687 00000 n -0006374730 00000 n -0006374773 00000 n -0006374816 00000 n -0006374859 00000 n -0006374902 00000 n -0006374945 00000 n -0006374988 00000 n -0006375031 00000 n -0006375074 00000 n -0006375117 00000 n -0006375160 00000 n -0006375203 00000 n -0006375246 00000 n -0006375289 00000 n -0006375332 00000 n -0006375375 00000 n -0006375418 00000 n -0006375461 00000 n -0006375504 00000 n -0006375547 00000 n -0006375590 00000 n -0006375633 00000 n -0006375676 00000 n -0006375719 00000 n -0006375762 00000 n -0006375805 00000 n -0006375848 00000 n -0006375891 00000 n -0006375934 00000 n -0006375977 00000 n -0006376020 00000 n -0006376063 00000 n -0006376106 00000 n -0006376149 00000 n -0006376192 00000 n -0006376235 00000 n -0006376278 00000 n -0006376321 00000 n -0006376364 00000 n -0006376407 00000 n -0006376450 00000 n -0006376493 00000 n -0006376536 00000 n -0006376579 00000 n -0006376622 00000 n -0006376665 00000 n -0006376708 00000 n -0006376751 00000 n -0006376794 00000 n -0006376837 00000 n -0006376880 00000 n -0006376923 00000 n -0006376966 00000 n -0006377009 00000 n -0006377052 00000 n -0006377095 00000 n -0006377138 00000 n -0006377181 00000 n -0006377224 00000 n -0006377267 00000 n -0006377310 00000 n -0006377353 00000 n -0006377396 00000 n -0006377439 00000 n -0006377482 00000 n -0006377525 00000 n -0006377568 00000 n -0006377611 00000 n -0006377654 00000 n -0006377697 00000 n -0006377740 00000 n -0006377783 00000 n -0006377826 00000 n -0006377869 00000 n -0006377912 00000 n -0006377955 00000 n -0006377998 00000 n -0006378041 00000 n -0006378084 00000 n -0006378127 00000 n -0006378170 00000 n -0006378213 00000 n -0006378256 00000 n -0006378299 00000 n -0006378342 00000 n -0006378385 00000 n -0006378428 00000 n -0006378471 00000 n -0006378514 00000 n -0006378557 00000 n -0006378600 00000 n -0006378643 00000 n -0006378686 00000 n -0006378729 00000 n -0006378772 00000 n -0006378815 00000 n -0006378858 00000 n -0006378901 00000 n -0006378944 00000 n -0006378987 00000 n -0006379030 00000 n -0006379073 00000 n -0006379116 00000 n -0006379159 00000 n -0006379202 00000 n -0006379245 00000 n -0006379288 00000 n -0006379331 00000 n -0006379374 00000 n -0006379417 00000 n -0006379460 00000 n -0006379503 00000 n -0006379546 00000 n -0006379589 00000 n -0006379632 00000 n -0006379675 00000 n -0006379718 00000 n -0006379761 00000 n -0006379804 00000 n -0006379847 00000 n -0006379890 00000 n -0006379933 00000 n -0006379976 00000 n -0006380019 00000 n -0006380062 00000 n -0006380105 00000 n -0006380148 00000 n -0006380191 00000 n -0006380234 00000 n -0006380277 00000 n -0006380320 00000 n -0006380363 00000 n -0006380406 00000 n -0006380449 00000 n -0006380492 00000 n -0006380535 00000 n -0006380578 00000 n -0006380621 00000 n -0006380664 00000 n -0006380707 00000 n -0006380750 00000 n -0006380793 00000 n -0006380836 00000 n -0006380879 00000 n -0006380922 00000 n -0006380965 00000 n -0006381008 00000 n -0006381051 00000 n -0006381094 00000 n -0006381137 00000 n -0006381180 00000 n -0006381223 00000 n -0006381266 00000 n -0006381309 00000 n -0006381352 00000 n -0006381395 00000 n -0006381438 00000 n -0006381481 00000 n -0006381524 00000 n -0006381567 00000 n -0006381610 00000 n -0006381653 00000 n -0006381696 00000 n -0006381739 00000 n -0006381782 00000 n -0006381825 00000 n -0006381868 00000 n -0006381911 00000 n -0006381954 00000 n -0006381997 00000 n -0006382040 00000 n -0006382083 00000 n -0006382126 00000 n -0006382169 00000 n -0006382212 00000 n -0006382255 00000 n -0006382298 00000 n -0006382341 00000 n -0006382384 00000 n -0006382427 00000 n -0006382470 00000 n -0006382513 00000 n -0006382556 00000 n -0006382599 00000 n -0006382642 00000 n -0006382685 00000 n -0006382728 00000 n -0006382771 00000 n -0006382814 00000 n -0006382857 00000 n -0006382900 00000 n -0006382943 00000 n -0006382986 00000 n -0006383029 00000 n -0006383072 00000 n -0006383115 00000 n -0006383158 00000 n -0006383201 00000 n -0006383244 00000 n -0006383287 00000 n -0006383330 00000 n -0006383661 00000 n -0006384083 00000 n -0006384126 00000 n -0006384168 00000 n -0006384212 00000 n -0006384256 00000 n -0006384324 00000 n -0006384544 00000 n -0006384643 00000 n -0006386906 00000 n -0006387237 00000 n -0006387659 00000 n -0006387703 00000 n -0006387746 00000 n -0006387814 00000 n -0006388034 00000 n -0006388133 00000 n -0006389559 00000 n -0006389890 00000 n -0006390312 00000 n -0006390356 00000 n -0006390399 00000 n -0006390442 00000 n -0006390484 00000 n -0006390528 00000 n -0006390572 00000 n -0006390615 00000 n -0006390657 00000 n -0006390700 00000 n -0006391031 00000 n -0006391453 00000 n -0006391497 00000 n -0006391541 00000 n -0006391609 00000 n -0006391858 00000 n -0006391957 00000 n -0006395663 00000 n -0006395994 00000 n -0006396416 00000 n -0006396459 00000 n -0006396502 00000 n -0006396570 00000 n -0006396847 00000 n -0006396946 00000 n -0006401520 00000 n -0006401851 00000 n -0006402273 00000 n -0006402341 00000 n -0006402561 00000 n -0006402660 00000 n -0006406512 00000 n -0006406843 00000 n -0006407265 00000 n -0006407309 00000 n -0006407352 00000 n -0006407420 00000 n -0006407669 00000 n -0006407768 00000 n -0006412052 00000 n -0006412383 00000 n -0006412805 00000 n -0006412848 00000 n -0006412916 00000 n -0006413151 00000 n -0006413250 00000 n -0006415454 00000 n -0006415785 00000 n -0006416207 00000 n -0006416251 00000 n -0006416294 00000 n -0006416338 00000 n -0006416382 00000 n -0006416450 00000 n -0006416685 00000 n -0006416784 00000 n -0006420361 00000 n -0006420692 00000 n -0006421114 00000 n -0006421182 00000 n -0006421416 00000 n -0006421515 00000 n -0006426150 00000 n -0006426481 00000 n -0006426903 00000 n -0006426947 00000 n -0006427015 00000 n -0006427250 00000 n -0006427349 00000 n -0006431716 00000 n -0006431855 00000 n -0006431994 00000 n -0006432133 00000 n -0006432272 00000 n -0006432411 00000 n -0006432550 00000 n -0006432689 00000 n -0006432828 00000 n -0006432967 00000 n -0006433106 00000 n -0006433245 00000 n -0006433384 00000 n -0006433523 00000 n -0006433662 00000 n -0006433801 00000 n -0006433940 00000 n -0006434079 00000 n -0006434218 00000 n -0006434357 00000 n -0006434496 00000 n -0006434635 00000 n -0006434774 00000 n -0006434913 00000 n -0006435052 00000 n -0006435191 00000 n -0006435330 00000 n -0006435469 00000 n -0006435608 00000 n -0006435747 00000 n -0006435886 00000 n -0006436025 00000 n -0006436164 00000 n -0006436303 00000 n -0006436442 00000 n -0006436581 00000 n -0006436720 00000 n -0006436859 00000 n -0006436998 00000 n -0006437137 00000 n -0006437276 00000 n -0006437415 00000 n -0006437554 00000 n -0006437693 00000 n -0006437832 00000 n -0006437971 00000 n -0006438110 00000 n -0006438249 00000 n -0006438388 00000 n -0006438527 00000 n -0006438666 00000 n -0006438805 00000 n -0006438944 00000 n -0006439083 00000 n -0006439222 00000 n -0006439361 00000 n -0006439500 00000 n -0006439639 00000 n -0006439778 00000 n -0006439917 00000 n -0006440056 00000 n -0006440195 00000 n -0006440334 00000 n -0006440473 00000 n -0006440612 00000 n -0006440751 00000 n -0006440890 00000 n -0006441029 00000 n -0006441168 00000 n -0006441307 00000 n -0006441446 00000 n -0006441585 00000 n -0006441724 00000 n -0006441863 00000 n -0006442002 00000 n -0006442141 00000 n -0006442280 00000 n -0006442419 00000 n -0006442558 00000 n -0006442697 00000 n -0006442836 00000 n -0006442975 00000 n -0006443114 00000 n -0006443253 00000 n -0006443392 00000 n -0006443531 00000 n -0006443670 00000 n -0006443809 00000 n -0006443948 00000 n -0006444087 00000 n -0006444226 00000 n -0006444365 00000 n -0006444504 00000 n -0006444643 00000 n -0006444782 00000 n -0006444921 00000 n -0006445060 00000 n -0006445199 00000 n -0006445338 00000 n -0006445477 00000 n -0006445616 00000 n -0006445755 00000 n -0006445894 00000 n -0006446033 00000 n -0006446172 00000 n -0006446311 00000 n -0006446450 00000 n -0006446589 00000 n -0006446728 00000 n -0006446867 00000 n -0006447006 00000 n -0006447145 00000 n -0006447284 00000 n -0006447423 00000 n -0006447562 00000 n -0006447701 00000 n -0006447840 00000 n -0006447979 00000 n -0006448118 00000 n -0006448257 00000 n -0006448396 00000 n -0006448535 00000 n -0006448674 00000 n -0006448813 00000 n -0006448952 00000 n -0006449091 00000 n -0006449230 00000 n -0006449369 00000 n -0006449508 00000 n -0006449647 00000 n -0006449786 00000 n -0006449925 00000 n -0006450064 00000 n -0006450203 00000 n -0006450342 00000 n -0006450481 00000 n -0006450620 00000 n -0006450759 00000 n -0006450898 00000 n -0006451037 00000 n -0006451176 00000 n -0006451315 00000 n -0006451454 00000 n -0006451593 00000 n -0006451732 00000 n -0006451871 00000 n -0006452010 00000 n -0006452149 00000 n -0006452288 00000 n -0006452427 00000 n -0006452566 00000 n -0006452705 00000 n -0006452844 00000 n -0006452983 00000 n -0006453122 00000 n -0006453261 00000 n -0006453400 00000 n -0006453539 00000 n -0006453678 00000 n -0006453817 00000 n -0006453956 00000 n -0006454095 00000 n -0006454234 00000 n -0006454373 00000 n -0006454512 00000 n -0006454651 00000 n -0006454790 00000 n -0006454929 00000 n -0006455068 00000 n -0006455207 00000 n -0006455346 00000 n -0006455485 00000 n -0006455624 00000 n -0006455763 00000 n -0006455902 00000 n -0006456041 00000 n -0006456180 00000 n -0006456319 00000 n -0006456458 00000 n -0006456597 00000 n -0006456736 00000 n -0006456875 00000 n -0006457014 00000 n -0006457153 00000 n -0006457292 00000 n -0006457431 00000 n -0006457570 00000 n -0006457709 00000 n -0006457848 00000 n -0006457987 00000 n -0006458126 00000 n -0006458265 00000 n -0006458404 00000 n -0006458543 00000 n -0006458682 00000 n -0006458821 00000 n -0006458960 00000 n -0006459099 00000 n -0006459238 00000 n -0006459377 00000 n -0006459516 00000 n -0006459655 00000 n -0006459794 00000 n -0006459933 00000 n -0006460072 00000 n -0006460211 00000 n -0006460350 00000 n -0006460489 00000 n -0006460628 00000 n -0006460767 00000 n -0006460906 00000 n -0006461045 00000 n -0006461184 00000 n -0006461323 00000 n -0006461462 00000 n -0006461601 00000 n -0006461740 00000 n -0006461879 00000 n -0006462018 00000 n -0006462157 00000 n -0006462296 00000 n -0006462339 00000 n -0006462382 00000 n -0006462425 00000 n -0006462468 00000 n -0006462511 00000 n -0006462554 00000 n -0006462597 00000 n -0006462640 00000 n -0006462683 00000 n -0006462726 00000 n -0006462769 00000 n -0006462812 00000 n -0006462855 00000 n -0006462898 00000 n -0006462941 00000 n -0006462984 00000 n -0006463027 00000 n -0006463070 00000 n -0006463113 00000 n -0006463156 00000 n -0006463199 00000 n -0006463242 00000 n -0006463285 00000 n -0006463328 00000 n -0006463371 00000 n -0006463414 00000 n -0006463457 00000 n -0006463500 00000 n -0006463543 00000 n -0006463586 00000 n -0006463629 00000 n -0006463672 00000 n -0006463715 00000 n -0006463758 00000 n -0006463801 00000 n -0006463844 00000 n -0006463887 00000 n -0006463930 00000 n -0006463973 00000 n -0006464016 00000 n -0006464059 00000 n -0006464102 00000 n -0006464145 00000 n -0006464188 00000 n -0006464231 00000 n -0006464274 00000 n -0006464317 00000 n -0006464360 00000 n -0006464403 00000 n -0006464446 00000 n -0006464489 00000 n -0006464532 00000 n -0006464575 00000 n -0006464618 00000 n -0006464661 00000 n -0006464704 00000 n -0006464747 00000 n -0006464790 00000 n -0006464833 00000 n -0006464876 00000 n -0006464919 00000 n -0006464962 00000 n -0006465005 00000 n -0006465048 00000 n -0006465091 00000 n -0006465134 00000 n -0006465177 00000 n -0006465220 00000 n -0006465263 00000 n -0006465306 00000 n -0006465349 00000 n -0006465392 00000 n -0006465435 00000 n -0006465478 00000 n -0006465521 00000 n -0006465564 00000 n -0006465607 00000 n -0006465650 00000 n -0006465693 00000 n -0006465736 00000 n -0006465779 00000 n -0006465822 00000 n -0006465865 00000 n -0006465908 00000 n -0006465951 00000 n -0006465994 00000 n -0006466037 00000 n -0006466080 00000 n -0006466123 00000 n -0006466166 00000 n -0006466209 00000 n -0006466252 00000 n -0006466295 00000 n -0006466338 00000 n -0006466381 00000 n -0006466424 00000 n -0006466467 00000 n -0006466510 00000 n -0006466553 00000 n -0006466596 00000 n -0006466639 00000 n -0006466682 00000 n -0006466725 00000 n -0006466768 00000 n -0006466811 00000 n -0006466854 00000 n -0006466897 00000 n -0006466940 00000 n -0006466983 00000 n -0006467026 00000 n -0006467069 00000 n -0006467112 00000 n -0006467155 00000 n -0006467198 00000 n -0006467241 00000 n -0006467284 00000 n -0006467327 00000 n -0006467370 00000 n -0006467413 00000 n -0006467456 00000 n -0006467499 00000 n -0006467542 00000 n -0006467585 00000 n -0006467628 00000 n -0006467671 00000 n -0006467714 00000 n -0006467757 00000 n -0006467800 00000 n -0006467843 00000 n -0006467886 00000 n -0006467929 00000 n -0006467972 00000 n -0006468015 00000 n -0006468058 00000 n -0006468101 00000 n -0006468144 00000 n -0006468187 00000 n -0006468230 00000 n -0006468273 00000 n -0006468316 00000 n -0006468359 00000 n -0006468402 00000 n -0006468445 00000 n -0006468488 00000 n -0006468531 00000 n -0006468574 00000 n -0006468617 00000 n -0006468660 00000 n -0006468703 00000 n -0006468746 00000 n -0006468789 00000 n -0006468832 00000 n -0006468875 00000 n -0006468918 00000 n -0006468961 00000 n -0006469004 00000 n -0006469047 00000 n -0006469090 00000 n -0006469133 00000 n -0006469176 00000 n -0006469219 00000 n -0006469262 00000 n -0006469305 00000 n -0006469348 00000 n -0006469391 00000 n -0006469434 00000 n -0006469477 00000 n -0006469520 00000 n -0006469563 00000 n -0006469606 00000 n -0006469649 00000 n -0006469692 00000 n -0006469735 00000 n -0006469778 00000 n -0006469821 00000 n -0006469864 00000 n -0006469907 00000 n -0006469950 00000 n -0006469993 00000 n -0006470036 00000 n -0006470079 00000 n -0006470122 00000 n -0006470165 00000 n -0006470208 00000 n -0006470251 00000 n -0006470294 00000 n -0006470337 00000 n -0006470380 00000 n -0006470423 00000 n -0006470466 00000 n -0006470509 00000 n -0006470552 00000 n -0006470595 00000 n -0006470638 00000 n -0006470681 00000 n -0006470724 00000 n -0006470767 00000 n -0006470810 00000 n -0006470853 00000 n -0006470896 00000 n -0006470939 00000 n -0006470982 00000 n -0006471025 00000 n -0006471068 00000 n -0006471111 00000 n -0006471154 00000 n -0006471197 00000 n -0006471240 00000 n -0006471283 00000 n -0006471326 00000 n -0006471369 00000 n -0006471412 00000 n -0006471455 00000 n -0006471498 00000 n -0006471541 00000 n -0006471584 00000 n -0006471627 00000 n -0006471670 00000 n -0006471713 00000 n -0006472044 00000 n -0006472466 00000 n -0006472509 00000 n -0006472553 00000 n -0006472594 00000 n -0006472638 00000 n -0006472681 00000 n -0006472725 00000 n -0006472769 00000 n -0006472812 00000 n -0006472855 00000 n -0006472899 00000 n -0006472942 00000 n -0006473273 00000 n -0006473695 00000 n -0006473738 00000 n -0006473782 00000 n -0006473850 00000 n -0006474113 00000 n -0006474212 00000 n -0006477894 00000 n -0006478059 00000 n -0006478101 00000 n -0006478432 00000 n -0006478854 00000 n -0006478898 00000 n -0006478942 00000 n -0006478986 00000 n -0006479027 00000 n -0006479071 00000 n -0006479115 00000 n -0006479158 00000 n -0006479202 00000 n -0006479246 00000 n -0006479314 00000 n -0006479549 00000 n -0006479648 00000 n -0006484165 00000 n -0006484496 00000 n -0006484918 00000 n -0006484962 00000 n -0006485005 00000 n -0006485073 00000 n -0006485336 00000 n -0006485435 00000 n -0006487911 00000 n -0006488242 00000 n -0006488664 00000 n -0006488707 00000 n -0006488775 00000 n -0006488995 00000 n -0006489094 00000 n -0006492515 00000 n -0006492846 00000 n -0006493268 00000 n -0006493312 00000 n -0006493380 00000 n -0006493643 00000 n -0006493742 00000 n -0006497175 00000 n -0006497341 00000 n -0006497383 00000 n -0006497714 00000 n -0006498136 00000 n -0006498407 00000 n -0006498887 00000 n -0006501359 00000 n -0006501402 00000 n -0006501445 00000 n -0006501489 00000 n -0006501557 00000 n -0006501805 00000 n -0006501904 00000 n -0006506141 00000 n -0006506472 00000 n -0006506894 00000 n -0006506938 00000 n -0006507006 00000 n -0006507241 00000 n -0006507340 00000 n -0006511257 00000 n -0006511396 00000 n -0006511535 00000 n -0006511674 00000 n -0006511813 00000 n -0006511952 00000 n -0006512091 00000 n -0006512230 00000 n -0006512369 00000 n -0006512508 00000 n -0006512647 00000 n -0006512786 00000 n -0006512925 00000 n -0006513064 00000 n -0006513203 00000 n -0006513342 00000 n -0006513481 00000 n -0006513620 00000 n -0006513759 00000 n -0006513898 00000 n -0006514037 00000 n -0006514176 00000 n -0006514315 00000 n -0006514454 00000 n -0006514593 00000 n -0006514732 00000 n -0006514871 00000 n -0006515010 00000 n -0006515149 00000 n -0006515288 00000 n -0006515427 00000 n -0006515566 00000 n -0006515705 00000 n -0006515844 00000 n -0006515983 00000 n -0006516122 00000 n -0006516261 00000 n -0006516400 00000 n -0006516539 00000 n -0006516678 00000 n -0006516817 00000 n -0006516956 00000 n -0006517095 00000 n -0006517234 00000 n -0006517373 00000 n -0006517512 00000 n -0006517651 00000 n -0006517790 00000 n -0006517929 00000 n -0006518068 00000 n -0006518207 00000 n -0006518346 00000 n -0006518485 00000 n -0006518624 00000 n -0006518763 00000 n -0006518902 00000 n -0006519041 00000 n -0006519180 00000 n -0006519319 00000 n -0006519458 00000 n -0006519597 00000 n -0006519736 00000 n -0006519875 00000 n -0006520014 00000 n -0006520153 00000 n -0006520292 00000 n -0006520431 00000 n -0006520570 00000 n -0006520709 00000 n -0006520848 00000 n -0006520987 00000 n -0006521126 00000 n -0006521265 00000 n -0006521404 00000 n -0006521543 00000 n -0006521682 00000 n -0006521821 00000 n -0006521960 00000 n -0006522099 00000 n -0006522238 00000 n -0006522377 00000 n -0006522516 00000 n -0006522655 00000 n -0006522794 00000 n -0006522933 00000 n -0006523072 00000 n -0006523211 00000 n -0006523350 00000 n -0006523489 00000 n -0006523628 00000 n -0006523767 00000 n -0006523906 00000 n -0006524045 00000 n -0006524184 00000 n -0006524323 00000 n -0006524462 00000 n -0006524601 00000 n -0006524740 00000 n -0006524879 00000 n -0006525018 00000 n -0006525157 00000 n -0006525296 00000 n -0006525435 00000 n -0006525574 00000 n -0006525713 00000 n -0006525852 00000 n -0006525991 00000 n -0006526130 00000 n -0006526269 00000 n -0006526408 00000 n -0006526547 00000 n -0006526686 00000 n -0006526825 00000 n -0006526964 00000 n -0006527103 00000 n -0006527242 00000 n -0006527381 00000 n -0006527520 00000 n -0006527659 00000 n -0006527798 00000 n -0006527937 00000 n -0006528076 00000 n -0006528215 00000 n -0006528354 00000 n -0006528493 00000 n -0006528632 00000 n -0006528771 00000 n -0006528910 00000 n -0006529049 00000 n -0006529188 00000 n -0006529327 00000 n -0006529466 00000 n -0006529605 00000 n -0006529744 00000 n -0006529883 00000 n -0006530022 00000 n -0006530161 00000 n -0006530300 00000 n -0006530439 00000 n -0006530578 00000 n -0006530717 00000 n -0006530856 00000 n -0006530995 00000 n -0006531134 00000 n -0006531273 00000 n -0006531412 00000 n -0006531551 00000 n -0006531690 00000 n -0006531829 00000 n -0006531968 00000 n -0006532107 00000 n -0006532246 00000 n -0006532385 00000 n -0006532524 00000 n -0006532663 00000 n -0006532802 00000 n -0006532941 00000 n -0006533080 00000 n -0006533219 00000 n -0006533358 00000 n -0006533497 00000 n -0006533636 00000 n -0006533775 00000 n -0006533914 00000 n -0006534053 00000 n -0006534192 00000 n -0006534331 00000 n -0006534470 00000 n -0006534609 00000 n -0006534748 00000 n -0006534887 00000 n -0006535026 00000 n -0006535165 00000 n -0006535304 00000 n -0006535443 00000 n -0006535582 00000 n -0006535721 00000 n -0006535860 00000 n -0006535999 00000 n -0006536138 00000 n -0006536277 00000 n -0006536416 00000 n -0006536555 00000 n -0006536694 00000 n -0006536833 00000 n -0006536972 00000 n -0006537111 00000 n -0006537250 00000 n -0006537389 00000 n -0006537528 00000 n -0006537667 00000 n -0006537806 00000 n -0006537945 00000 n -0006538084 00000 n -0006538223 00000 n -0006538362 00000 n -0006538501 00000 n -0006538640 00000 n -0006538779 00000 n -0006538918 00000 n -0006539057 00000 n -0006539196 00000 n -0006539335 00000 n -0006539474 00000 n -0006539613 00000 n -0006539752 00000 n -0006539891 00000 n -0006540030 00000 n -0006540169 00000 n -0006540308 00000 n -0006540447 00000 n -0006540586 00000 n -0006540725 00000 n -0006540864 00000 n -0006541003 00000 n -0006541142 00000 n -0006541281 00000 n -0006541420 00000 n -0006541559 00000 n -0006541698 00000 n -0006541837 00000 n -0006541976 00000 n -0006542115 00000 n -0006542254 00000 n -0006542393 00000 n -0006542532 00000 n -0006542671 00000 n -0006542810 00000 n -0006542949 00000 n -0006543088 00000 n -0006543227 00000 n -0006543366 00000 n -0006543505 00000 n -0006543644 00000 n -0006543783 00000 n -0006543922 00000 n -0006544061 00000 n -0006544200 00000 n -0006544339 00000 n -0006544478 00000 n -0006544521 00000 n -0006544564 00000 n -0006544607 00000 n -0006544650 00000 n -0006544693 00000 n -0006544736 00000 n -0006544779 00000 n -0006544822 00000 n -0006544865 00000 n -0006544908 00000 n -0006544951 00000 n -0006544994 00000 n -0006545037 00000 n -0006545080 00000 n -0006545123 00000 n -0006545166 00000 n -0006545209 00000 n -0006545252 00000 n -0006545295 00000 n -0006545338 00000 n -0006545381 00000 n -0006545424 00000 n -0006545467 00000 n -0006545510 00000 n -0006545553 00000 n -0006545596 00000 n -0006545639 00000 n -0006545682 00000 n -0006545725 00000 n -0006545768 00000 n -0006545811 00000 n -0006545854 00000 n -0006545897 00000 n -0006545940 00000 n -0006545983 00000 n -0006546026 00000 n -0006546069 00000 n -0006546112 00000 n -0006546155 00000 n -0006546198 00000 n -0006546241 00000 n -0006546284 00000 n -0006546327 00000 n -0006546370 00000 n -0006546413 00000 n -0006546456 00000 n -0006546499 00000 n -0006546542 00000 n -0006546585 00000 n -0006546628 00000 n -0006546671 00000 n -0006546714 00000 n -0006546757 00000 n -0006546800 00000 n -0006546843 00000 n -0006546886 00000 n -0006546929 00000 n -0006546972 00000 n -0006547015 00000 n -0006547058 00000 n -0006547101 00000 n -0006547144 00000 n -0006547187 00000 n -0006547230 00000 n -0006547273 00000 n -0006547316 00000 n -0006547359 00000 n -0006547402 00000 n -0006547445 00000 n -0006547488 00000 n -0006547531 00000 n -0006547574 00000 n -0006547617 00000 n -0006547660 00000 n -0006547703 00000 n -0006547746 00000 n -0006547789 00000 n -0006547832 00000 n -0006547875 00000 n -0006547918 00000 n -0006547961 00000 n -0006548004 00000 n -0006548047 00000 n -0006548090 00000 n -0006548133 00000 n -0006548176 00000 n -0006548219 00000 n -0006548262 00000 n -0006548305 00000 n -0006548348 00000 n -0006548391 00000 n -0006548434 00000 n -0006548477 00000 n -0006548520 00000 n -0006548563 00000 n -0006548606 00000 n -0006548649 00000 n -0006548692 00000 n -0006548735 00000 n -0006548778 00000 n -0006548821 00000 n -0006548864 00000 n -0006548907 00000 n -0006548950 00000 n -0006548993 00000 n -0006549036 00000 n -0006549079 00000 n -0006549122 00000 n -0006549165 00000 n -0006549208 00000 n -0006549251 00000 n -0006549294 00000 n -0006549337 00000 n -0006549380 00000 n -0006549423 00000 n -0006549466 00000 n -0006549509 00000 n -0006549552 00000 n -0006549595 00000 n -0006549638 00000 n -0006549681 00000 n -0006549724 00000 n -0006549767 00000 n -0006549810 00000 n -0006549853 00000 n -0006549896 00000 n -0006549939 00000 n -0006549982 00000 n -0006550025 00000 n -0006550068 00000 n -0006550111 00000 n -0006550154 00000 n -0006550197 00000 n -0006550240 00000 n -0006550283 00000 n -0006550326 00000 n -0006550369 00000 n -0006550412 00000 n -0006550455 00000 n -0006550498 00000 n -0006550541 00000 n -0006550584 00000 n -0006550627 00000 n -0006550670 00000 n -0006550713 00000 n -0006550756 00000 n -0006550799 00000 n -0006550842 00000 n -0006550885 00000 n -0006550928 00000 n -0006550971 00000 n -0006551014 00000 n -0006551057 00000 n -0006551100 00000 n -0006551143 00000 n -0006551186 00000 n -0006551229 00000 n -0006551272 00000 n -0006551315 00000 n -0006551358 00000 n -0006551401 00000 n -0006551444 00000 n -0006551487 00000 n -0006551530 00000 n -0006551573 00000 n -0006551616 00000 n -0006551659 00000 n -0006551702 00000 n -0006551745 00000 n -0006551788 00000 n -0006551831 00000 n -0006551874 00000 n -0006551917 00000 n -0006551960 00000 n -0006552003 00000 n -0006552046 00000 n -0006552089 00000 n -0006552132 00000 n -0006552175 00000 n -0006552218 00000 n -0006552261 00000 n -0006552304 00000 n -0006552347 00000 n -0006552390 00000 n -0006552433 00000 n -0006552476 00000 n -0006552519 00000 n -0006552562 00000 n -0006552605 00000 n -0006552648 00000 n -0006552691 00000 n -0006552734 00000 n -0006552777 00000 n -0006552820 00000 n -0006552863 00000 n -0006552906 00000 n -0006552949 00000 n -0006552992 00000 n -0006553035 00000 n -0006553078 00000 n -0006553121 00000 n -0006553164 00000 n -0006553207 00000 n -0006553250 00000 n -0006553293 00000 n -0006553336 00000 n -0006553379 00000 n -0006553422 00000 n -0006553465 00000 n -0006553508 00000 n -0006553551 00000 n -0006553594 00000 n -0006553637 00000 n -0006553680 00000 n -0006553723 00000 n -0006553766 00000 n -0006553809 00000 n -0006553852 00000 n -0006553895 00000 n -0006553938 00000 n -0006553981 00000 n -0006554024 00000 n -0006554067 00000 n -0006554110 00000 n -0006554153 00000 n -0006554196 00000 n -0006554239 00000 n -0006554282 00000 n -0006554325 00000 n -0006554368 00000 n -0006554411 00000 n -0006554454 00000 n -0006554497 00000 n -0006554540 00000 n -0006554583 00000 n -0006554626 00000 n -0006554669 00000 n -0006555000 00000 n -0006555422 00000 n -0006555465 00000 n -0006555507 00000 n -0006555575 00000 n -0006555824 00000 n -0006555923 00000 n -0006559060 00000 n -0006559391 00000 n -0006559813 00000 n -0006559856 00000 n -0006559899 00000 n -0006559943 00000 n -0006559986 00000 n -0006560030 00000 n -0006560073 00000 n -0006560116 00000 n -0006560160 00000 n -0006560203 00000 n -0006560247 00000 n -0006560315 00000 n -0006560549 00000 n -0006560648 00000 n -0006563789 00000 n -0006564120 00000 n -0006564542 00000 n -0006564610 00000 n -0006564844 00000 n -0006564943 00000 n -0006568128 00000 n -0006568459 00000 n -0006568881 00000 n -0006568925 00000 n -0006568969 00000 n -0006569013 00000 n -0006569056 00000 n -0006569099 00000 n -0006569143 00000 n -0006569186 00000 n -0006569229 00000 n -0006569273 00000 n -0006569341 00000 n -0006569590 00000 n -0006569689 00000 n -0006572543 00000 n -0006572874 00000 n -0006573296 00000 n -0006573339 00000 n -0006573382 00000 n -0006573425 00000 n -0006573469 00000 n -0006573513 00000 n -0006573581 00000 n -0006573801 00000 n -0006573900 00000 n -0006577429 00000 n -0006577760 00000 n -0006578182 00000 n -0006578226 00000 n -0006578269 00000 n -0006578337 00000 n -0006578614 00000 n -0006578713 00000 n -0006582879 00000 n -0006583043 00000 n -0006583086 00000 n -0006583417 00000 n -0006583839 00000 n -0006583883 00000 n -0006583926 00000 n -0006583969 00000 n -0006584012 00000 n -0006584343 00000 n -0006584765 00000 n -0006584809 00000 n -0006584852 00000 n -0006584895 00000 n -0006584937 00000 n -0006585005 00000 n -0006585225 00000 n -0006585324 00000 n -0006588798 00000 n -0006588937 00000 n -0006589076 00000 n -0006589215 00000 n -0006589354 00000 n -0006589493 00000 n -0006589632 00000 n -0006589771 00000 n -0006589910 00000 n -0006590049 00000 n -0006590188 00000 n -0006590327 00000 n -0006590466 00000 n -0006590605 00000 n -0006590744 00000 n -0006590883 00000 n -0006591022 00000 n -0006591161 00000 n -0006591300 00000 n -0006591439 00000 n -0006591578 00000 n -0006591717 00000 n -0006591856 00000 n -0006591995 00000 n -0006592134 00000 n -0006592273 00000 n -0006592412 00000 n -0006592551 00000 n -0006592690 00000 n -0006592829 00000 n -0006592968 00000 n -0006593107 00000 n -0006593246 00000 n -0006593385 00000 n -0006593524 00000 n -0006593663 00000 n -0006593802 00000 n -0006593941 00000 n -0006594080 00000 n -0006594219 00000 n -0006594358 00000 n -0006594497 00000 n -0006594636 00000 n -0006594775 00000 n -0006594914 00000 n -0006595053 00000 n -0006595192 00000 n -0006595331 00000 n -0006595470 00000 n -0006595609 00000 n -0006595748 00000 n -0006595887 00000 n -0006596026 00000 n -0006596165 00000 n -0006596304 00000 n -0006596443 00000 n -0006596582 00000 n -0006596721 00000 n -0006596860 00000 n -0006596999 00000 n -0006597138 00000 n -0006597277 00000 n -0006597416 00000 n -0006597555 00000 n -0006597694 00000 n -0006597833 00000 n -0006597972 00000 n -0006598111 00000 n -0006598250 00000 n -0006598389 00000 n -0006598528 00000 n -0006598667 00000 n -0006598806 00000 n -0006598945 00000 n -0006599084 00000 n -0006599223 00000 n -0006599362 00000 n -0006599501 00000 n -0006599640 00000 n -0006599779 00000 n -0006599918 00000 n -0006600057 00000 n -0006600196 00000 n -0006600335 00000 n -0006600474 00000 n -0006600613 00000 n -0006600752 00000 n -0006600891 00000 n -0006601030 00000 n -0006601169 00000 n -0006601308 00000 n -0006601447 00000 n -0006601586 00000 n -0006601725 00000 n -0006601864 00000 n -0006602003 00000 n -0006602142 00000 n -0006602281 00000 n -0006602420 00000 n -0006602559 00000 n -0006602698 00000 n -0006602837 00000 n -0006602976 00000 n -0006603115 00000 n -0006603254 00000 n -0006603393 00000 n -0006603532 00000 n -0006603671 00000 n -0006603810 00000 n -0006603949 00000 n -0006604088 00000 n -0006604227 00000 n -0006604366 00000 n -0006604505 00000 n -0006604644 00000 n -0006604783 00000 n -0006604922 00000 n -0006605061 00000 n -0006605200 00000 n -0006605339 00000 n -0006605478 00000 n -0006605617 00000 n -0006605756 00000 n -0006605895 00000 n -0006606034 00000 n -0006606173 00000 n -0006606312 00000 n -0006606451 00000 n -0006606590 00000 n -0006606729 00000 n -0006606868 00000 n -0006607007 00000 n -0006607146 00000 n -0006607285 00000 n -0006607424 00000 n -0006607563 00000 n -0006607702 00000 n -0006607841 00000 n -0006607980 00000 n -0006608119 00000 n -0006608258 00000 n -0006608397 00000 n -0006608536 00000 n -0006608675 00000 n -0006608814 00000 n -0006608953 00000 n -0006609092 00000 n -0006609231 00000 n -0006609370 00000 n -0006609509 00000 n -0006609648 00000 n -0006609787 00000 n -0006609926 00000 n -0006610065 00000 n -0006610204 00000 n -0006610343 00000 n -0006610482 00000 n -0006610621 00000 n -0006610760 00000 n -0006610899 00000 n -0006611038 00000 n -0006611177 00000 n -0006611316 00000 n -0006611455 00000 n -0006611594 00000 n -0006611733 00000 n -0006611872 00000 n -0006612011 00000 n -0006612150 00000 n -0006612289 00000 n -0006612428 00000 n -0006612567 00000 n -0006612706 00000 n -0006612845 00000 n -0006612984 00000 n -0006613123 00000 n -0006613262 00000 n -0006613401 00000 n -0006613540 00000 n -0006613679 00000 n -0006613818 00000 n -0006613957 00000 n -0006614096 00000 n -0006614235 00000 n -0006614374 00000 n -0006614513 00000 n -0006614652 00000 n -0006614791 00000 n -0006614930 00000 n -0006615069 00000 n -0006615208 00000 n -0006615347 00000 n -0006615486 00000 n -0006615625 00000 n -0006615764 00000 n -0006615903 00000 n -0006616042 00000 n -0006616181 00000 n -0006616320 00000 n -0006616459 00000 n -0006616598 00000 n -0006616737 00000 n -0006616876 00000 n -0006617015 00000 n -0006617154 00000 n -0006617293 00000 n -0006617432 00000 n -0006617571 00000 n -0006617710 00000 n -0006617849 00000 n -0006617988 00000 n -0006618127 00000 n -0006618266 00000 n -0006618405 00000 n -0006618544 00000 n -0006618683 00000 n -0006618822 00000 n -0006618961 00000 n -0006619100 00000 n -0006619239 00000 n -0006619378 00000 n -0006619517 00000 n -0006619656 00000 n -0006619795 00000 n -0006619934 00000 n -0006620073 00000 n -0006620212 00000 n -0006620351 00000 n -0006620490 00000 n -0006620629 00000 n -0006620768 00000 n -0006620907 00000 n -0006621046 00000 n -0006621185 00000 n -0006621324 00000 n -0006621463 00000 n -0006621602 00000 n -0006621741 00000 n -0006621880 00000 n -0006622019 00000 n -0006622158 00000 n -0006622297 00000 n -0006622436 00000 n -0006622575 00000 n -0006622714 00000 n -0006622853 00000 n -0006622992 00000 n -0006623131 00000 n -0006623270 00000 n -0006623409 00000 n -0006623548 00000 n -0006623687 00000 n -0006623826 00000 n -0006623965 00000 n -0006624104 00000 n -0006624147 00000 n -0006624190 00000 n -0006624233 00000 n -0006624276 00000 n -0006624319 00000 n -0006624362 00000 n -0006624405 00000 n -0006624448 00000 n -0006624491 00000 n -0006624534 00000 n -0006624577 00000 n -0006624620 00000 n -0006624663 00000 n -0006624706 00000 n -0006624749 00000 n -0006624792 00000 n -0006624835 00000 n -0006624878 00000 n -0006624921 00000 n -0006624964 00000 n -0006625007 00000 n -0006625050 00000 n -0006625093 00000 n -0006625136 00000 n -0006625179 00000 n -0006625222 00000 n -0006625265 00000 n -0006625308 00000 n -0006625351 00000 n -0006625394 00000 n -0006625437 00000 n -0006625480 00000 n -0006625523 00000 n -0006625566 00000 n -0006625609 00000 n -0006625652 00000 n -0006625695 00000 n -0006625738 00000 n -0006625781 00000 n -0006625824 00000 n -0006625867 00000 n -0006625910 00000 n -0006625953 00000 n -0006625996 00000 n -0006626039 00000 n -0006626082 00000 n -0006626125 00000 n -0006626168 00000 n -0006626211 00000 n -0006626254 00000 n -0006626297 00000 n -0006626340 00000 n -0006626383 00000 n -0006626426 00000 n -0006626469 00000 n -0006626512 00000 n -0006626555 00000 n -0006626598 00000 n -0006626641 00000 n -0006626684 00000 n -0006626727 00000 n -0006626770 00000 n -0006626813 00000 n -0006626856 00000 n -0006626899 00000 n -0006626942 00000 n -0006626985 00000 n -0006627028 00000 n -0006627071 00000 n -0006627114 00000 n -0006627157 00000 n -0006627200 00000 n -0006627243 00000 n -0006627286 00000 n -0006627329 00000 n -0006627372 00000 n -0006627415 00000 n -0006627458 00000 n -0006627501 00000 n -0006627544 00000 n -0006627587 00000 n -0006627630 00000 n -0006627673 00000 n -0006627716 00000 n -0006627759 00000 n -0006627802 00000 n -0006627845 00000 n -0006627888 00000 n -0006627931 00000 n -0006627974 00000 n -0006628017 00000 n -0006628060 00000 n -0006628103 00000 n -0006628146 00000 n -0006628189 00000 n -0006628232 00000 n -0006628275 00000 n -0006628318 00000 n -0006628361 00000 n -0006628404 00000 n -0006628447 00000 n -0006628490 00000 n -0006628533 00000 n -0006628576 00000 n -0006628619 00000 n -0006628662 00000 n -0006628705 00000 n -0006628748 00000 n -0006628791 00000 n -0006628834 00000 n -0006628877 00000 n -0006628920 00000 n -0006628963 00000 n -0006629006 00000 n -0006629049 00000 n -0006629092 00000 n -0006629135 00000 n -0006629178 00000 n -0006629221 00000 n -0006629264 00000 n -0006629307 00000 n -0006629350 00000 n -0006629393 00000 n -0006629436 00000 n -0006629479 00000 n -0006629522 00000 n -0006629565 00000 n -0006629608 00000 n -0006629651 00000 n -0006629694 00000 n -0006629737 00000 n -0006629780 00000 n -0006629823 00000 n -0006629866 00000 n -0006629909 00000 n -0006629952 00000 n -0006629995 00000 n -0006630038 00000 n -0006630081 00000 n -0006630124 00000 n -0006630167 00000 n -0006630210 00000 n -0006630253 00000 n -0006630296 00000 n -0006630339 00000 n -0006630382 00000 n -0006630425 00000 n -0006630468 00000 n -0006630511 00000 n -0006630554 00000 n -0006630597 00000 n -0006630640 00000 n -0006630683 00000 n -0006630726 00000 n -0006630769 00000 n -0006630812 00000 n -0006630855 00000 n -0006630898 00000 n -0006630941 00000 n -0006630984 00000 n -0006631027 00000 n -0006631070 00000 n -0006631113 00000 n -0006631156 00000 n -0006631199 00000 n -0006631242 00000 n -0006631285 00000 n -0006631328 00000 n -0006631371 00000 n -0006631414 00000 n -0006631457 00000 n -0006631500 00000 n -0006631543 00000 n -0006631586 00000 n -0006631629 00000 n -0006631672 00000 n -0006631715 00000 n -0006631758 00000 n -0006631801 00000 n -0006631844 00000 n -0006631887 00000 n -0006631930 00000 n -0006631973 00000 n -0006632016 00000 n -0006632059 00000 n -0006632102 00000 n -0006632145 00000 n -0006632188 00000 n -0006632231 00000 n -0006632274 00000 n -0006632317 00000 n -0006632360 00000 n -0006632403 00000 n -0006632446 00000 n -0006632489 00000 n -0006632532 00000 n -0006632575 00000 n -0006632618 00000 n -0006632661 00000 n -0006632704 00000 n -0006632747 00000 n -0006632790 00000 n -0006632833 00000 n -0006632876 00000 n -0006632919 00000 n -0006632962 00000 n -0006633005 00000 n -0006633048 00000 n -0006633091 00000 n -0006633134 00000 n -0006633177 00000 n -0006633220 00000 n -0006633263 00000 n -0006633306 00000 n -0006633349 00000 n -0006633392 00000 n -0006633435 00000 n -0006633478 00000 n -0006633521 00000 n -0006633564 00000 n -0006633607 00000 n -0006633650 00000 n -0006633693 00000 n -0006633736 00000 n -0006633779 00000 n -0006633822 00000 n -0006633865 00000 n -0006633908 00000 n -0006633951 00000 n -0006633994 00000 n -0006634037 00000 n -0006634080 00000 n -0006634123 00000 n -0006634166 00000 n -0006634209 00000 n -0006634252 00000 n -0006634295 00000 n -0006634338 00000 n -0006634381 00000 n -0006634424 00000 n -0006634467 00000 n -0006634510 00000 n -0006634553 00000 n -0006634596 00000 n -0006634639 00000 n -0006634682 00000 n -0006634725 00000 n -0006634768 00000 n -0006634811 00000 n -0006634854 00000 n -0006634897 00000 n -0006634940 00000 n -0006634983 00000 n -0006635314 00000 n -0006635736 00000 n -0006635779 00000 n -0006635847 00000 n -0006636081 00000 n -0006636180 00000 n -0006638783 00000 n -0006639114 00000 n -0006639536 00000 n -0006639579 00000 n -0006639623 00000 n -0006639691 00000 n -0006639940 00000 n -0006640039 00000 n -0006643714 00000 n -0006644045 00000 n -0006644467 00000 n -0006644509 00000 n -0006644553 00000 n -0006644596 00000 n -0006644639 00000 n -0006644683 00000 n -0006644727 00000 n -0006644771 00000 n -0006644814 00000 n -0006644882 00000 n -0006645102 00000 n -0006645201 00000 n -0006649289 00000 n -0006649620 00000 n -0006650042 00000 n -0006650086 00000 n -0006650129 00000 n -0006650197 00000 n -0006650417 00000 n -0006650516 00000 n -0006652922 00000 n -0006653253 00000 n -0006653675 00000 n -0006653719 00000 n -0006653761 00000 n -0006653805 00000 n -0006653848 00000 n -0006653892 00000 n -0006654163 00000 n -0006654562 00000 n -0006656059 00000 n -0006656103 00000 n -0006656146 00000 n -0006656190 00000 n -0006656234 00000 n -0006656277 00000 n -0006656320 00000 n -0006656388 00000 n -0006656622 00000 n -0006656721 00000 n -0006659041 00000 n -0006659372 00000 n -0006659794 00000 n -0006659838 00000 n -0006659881 00000 n -0006659924 00000 n -0006659968 00000 n -0006660011 00000 n -0006660079 00000 n -0006660342 00000 n -0006660441 00000 n -0006662705 00000 n -0006663036 00000 n -0006663458 00000 n -0006663501 00000 n -0006663545 00000 n -0006663589 00000 n -0006663631 00000 n -0006663699 00000 n -0006663919 00000 n -0006664018 00000 n -0006665590 00000 n -0006665921 00000 n -0006666343 00000 n -0006666386 00000 n -0006666430 00000 n -0006666498 00000 n -0006666747 00000 n -0006666846 00000 n -0006670489 00000 n -0006670820 00000 n -0006671242 00000 n -0006671286 00000 n -0006671329 00000 n -0006671397 00000 n -0006671646 00000 n -0006671745 00000 n -0006676285 00000 n -0006676450 00000 n -0006676492 00000 n -0006676823 00000 n -0006677245 00000 n -0006677288 00000 n -0006677332 00000 n -0006677375 00000 n -0006677419 00000 n -0006677462 00000 n -0006677506 00000 n -0006677574 00000 n -0006677794 00000 n -0006677893 00000 n -0006681946 00000 n -0006682085 00000 n -0006682224 00000 n -0006682363 00000 n -0006682502 00000 n -0006682641 00000 n -0006682780 00000 n -0006682919 00000 n -0006683058 00000 n -0006683197 00000 n -0006683336 00000 n -0006683475 00000 n -0006683614 00000 n -0006683753 00000 n -0006683892 00000 n -0006684031 00000 n -0006684170 00000 n -0006684309 00000 n -0006684448 00000 n -0006684587 00000 n -0006684726 00000 n -0006684865 00000 n -0006685004 00000 n -0006685143 00000 n -0006685282 00000 n -0006685421 00000 n -0006685560 00000 n -0006685699 00000 n -0006685838 00000 n -0006685977 00000 n -0006686116 00000 n -0006686255 00000 n -0006686394 00000 n -0006686533 00000 n -0006686672 00000 n -0006686811 00000 n -0006686950 00000 n -0006687089 00000 n -0006687228 00000 n -0006687367 00000 n -0006687506 00000 n -0006687645 00000 n -0006687784 00000 n -0006687923 00000 n -0006688062 00000 n -0006688201 00000 n -0006688340 00000 n -0006688479 00000 n -0006688618 00000 n -0006688757 00000 n -0006688896 00000 n -0006689035 00000 n -0006689174 00000 n -0006689313 00000 n -0006689452 00000 n -0006689591 00000 n -0006689730 00000 n -0006689869 00000 n -0006690008 00000 n -0006690147 00000 n -0006690286 00000 n -0006690425 00000 n -0006690564 00000 n -0006690703 00000 n -0006690842 00000 n -0006690981 00000 n -0006691120 00000 n -0006691259 00000 n -0006691398 00000 n -0006691537 00000 n -0006691676 00000 n -0006691815 00000 n -0006691954 00000 n -0006692093 00000 n -0006692232 00000 n -0006692371 00000 n -0006692510 00000 n -0006692649 00000 n -0006692788 00000 n -0006692927 00000 n -0006693066 00000 n -0006693205 00000 n -0006693344 00000 n -0006693483 00000 n -0006693622 00000 n -0006693761 00000 n -0006693900 00000 n -0006694039 00000 n -0006694178 00000 n -0006694317 00000 n -0006694456 00000 n -0006694595 00000 n -0006694734 00000 n -0006694873 00000 n -0006695012 00000 n -0006695151 00000 n -0006695290 00000 n -0006695429 00000 n -0006695568 00000 n -0006695707 00000 n -0006695846 00000 n -0006695985 00000 n -0006696124 00000 n -0006696263 00000 n -0006696402 00000 n -0006696541 00000 n -0006696680 00000 n -0006696819 00000 n -0006696958 00000 n -0006697097 00000 n -0006697236 00000 n -0006697375 00000 n -0006697514 00000 n -0006697653 00000 n -0006697792 00000 n -0006697931 00000 n -0006698070 00000 n -0006698209 00000 n -0006698348 00000 n -0006698487 00000 n -0006698626 00000 n -0006698765 00000 n -0006698904 00000 n -0006699043 00000 n -0006699182 00000 n -0006699321 00000 n -0006699460 00000 n -0006699599 00000 n -0006699738 00000 n -0006699877 00000 n -0006700016 00000 n -0006700155 00000 n -0006700294 00000 n -0006700433 00000 n -0006700572 00000 n -0006700711 00000 n -0006700850 00000 n -0006700989 00000 n -0006701128 00000 n -0006701267 00000 n -0006701406 00000 n -0006701545 00000 n -0006701684 00000 n -0006701823 00000 n -0006701962 00000 n -0006702101 00000 n -0006702240 00000 n -0006702379 00000 n -0006702518 00000 n -0006702657 00000 n -0006702796 00000 n -0006702935 00000 n -0006703074 00000 n -0006703213 00000 n -0006703352 00000 n -0006703491 00000 n -0006703630 00000 n -0006703769 00000 n -0006703908 00000 n -0006704047 00000 n -0006704186 00000 n -0006704325 00000 n -0006704464 00000 n -0006704603 00000 n -0006704742 00000 n -0006704881 00000 n -0006705020 00000 n -0006705159 00000 n -0006705298 00000 n -0006705437 00000 n -0006705576 00000 n -0006705715 00000 n -0006705854 00000 n -0006705993 00000 n -0006706132 00000 n -0006706271 00000 n -0006706410 00000 n -0006706549 00000 n -0006706688 00000 n -0006706827 00000 n -0006706966 00000 n -0006707105 00000 n -0006707244 00000 n -0006707383 00000 n -0006707522 00000 n -0006707661 00000 n -0006707800 00000 n -0006707939 00000 n -0006708078 00000 n -0006708217 00000 n -0006708356 00000 n -0006708495 00000 n -0006708634 00000 n -0006708773 00000 n -0006708912 00000 n -0006709051 00000 n -0006709190 00000 n -0006709329 00000 n -0006709468 00000 n -0006709607 00000 n -0006709746 00000 n -0006709885 00000 n -0006710024 00000 n -0006710163 00000 n -0006710302 00000 n -0006710441 00000 n -0006710580 00000 n -0006710719 00000 n -0006710858 00000 n -0006710997 00000 n -0006711136 00000 n -0006711275 00000 n -0006711414 00000 n -0006711553 00000 n -0006711692 00000 n -0006711831 00000 n -0006711970 00000 n -0006712109 00000 n -0006712248 00000 n -0006712387 00000 n -0006712526 00000 n -0006712665 00000 n -0006712804 00000 n -0006712943 00000 n -0006713082 00000 n -0006713221 00000 n -0006713360 00000 n -0006713499 00000 n -0006713638 00000 n -0006713777 00000 n -0006713916 00000 n -0006714055 00000 n -0006714194 00000 n -0006714333 00000 n -0006714472 00000 n -0006714611 00000 n -0006714750 00000 n -0006714889 00000 n -0006715028 00000 n -0006715167 00000 n -0006715306 00000 n -0006715445 00000 n -0006715584 00000 n -0006715723 00000 n -0006715862 00000 n -0006716001 00000 n -0006716140 00000 n -0006716279 00000 n -0006716418 00000 n -0006716557 00000 n -0006716696 00000 n -0006716835 00000 n -0006716974 00000 n -0006717113 00000 n -0006717252 00000 n -0006717391 00000 n -0006717530 00000 n -0006717669 00000 n -0006717808 00000 n -0006717947 00000 n -0006718086 00000 n -0006718225 00000 n -0006718364 00000 n -0006718503 00000 n -0006718642 00000 n -0006718781 00000 n -0006718920 00000 n -0006719059 00000 n -0006719198 00000 n -0006719337 00000 n -0006719476 00000 n -0006719615 00000 n -0006719754 00000 n -0006719893 00000 n -0006720032 00000 n -0006720171 00000 n -0006720310 00000 n -0006720449 00000 n -0006720588 00000 n -0006720727 00000 n -0006720866 00000 n -0006721005 00000 n -0006721144 00000 n -0006721283 00000 n -0006721422 00000 n -0006721561 00000 n -0006721700 00000 n -0006721839 00000 n -0006721978 00000 n -0006722117 00000 n -0006722256 00000 n -0006722395 00000 n -0006722534 00000 n -0006722673 00000 n -0006722812 00000 n -0006722951 00000 n -0006723090 00000 n -0006723229 00000 n -0006723368 00000 n -0006723507 00000 n -0006723646 00000 n -0006723785 00000 n -0006723924 00000 n -0006724063 00000 n -0006724202 00000 n -0006724341 00000 n -0006724480 00000 n -0006724619 00000 n -0006724758 00000 n -0006724897 00000 n -0006725036 00000 n -0006725175 00000 n -0006725314 00000 n -0006725453 00000 n -0006725592 00000 n -0006725731 00000 n -0006725870 00000 n -0006726009 00000 n -0006726148 00000 n -0006726287 00000 n -0006726426 00000 n -0006726565 00000 n -0006726704 00000 n -0006726843 00000 n -0006726982 00000 n -0006727121 00000 n -0006727260 00000 n -0006727399 00000 n -0006727538 00000 n -0006727677 00000 n -0006727816 00000 n -0006727955 00000 n -0006728094 00000 n -0006728233 00000 n -0006728372 00000 n -0006728511 00000 n -0006728650 00000 n -0006728789 00000 n -0006728928 00000 n -0006729067 00000 n -0006729206 00000 n -0006729345 00000 n -0006729484 00000 n -0006729623 00000 n -0006729762 00000 n -0006729901 00000 n -0006730040 00000 n -0006730179 00000 n -0006730318 00000 n -0006730457 00000 n -0006730596 00000 n -0006730735 00000 n -0006730874 00000 n -0006731013 00000 n -0006731152 00000 n -0006731291 00000 n -0006731430 00000 n -0006731569 00000 n -0006731708 00000 n -0006731847 00000 n -0006731986 00000 n -0006732125 00000 n -0006732264 00000 n -0006732403 00000 n -0006732542 00000 n -0006732681 00000 n -0006732820 00000 n -0006732959 00000 n -0006733098 00000 n -0006733237 00000 n -0006733376 00000 n -0006733515 00000 n -0006733654 00000 n -0006733793 00000 n -0006733932 00000 n -0006734071 00000 n -0006734210 00000 n -0006734349 00000 n -0006734488 00000 n -0006734531 00000 n -0006734574 00000 n -0006734617 00000 n -0006734660 00000 n -0006734703 00000 n -0006734746 00000 n -0006734789 00000 n -0006734832 00000 n -0006734875 00000 n -0006734918 00000 n -0006734961 00000 n -0006735004 00000 n -0006735047 00000 n -0006735090 00000 n -0006735133 00000 n -0006735176 00000 n -0006735219 00000 n -0006735262 00000 n -0006735305 00000 n -0006735348 00000 n -0006735391 00000 n -0006735434 00000 n -0006735477 00000 n -0006735520 00000 n -0006735563 00000 n -0006735606 00000 n -0006735649 00000 n -0006735692 00000 n -0006735735 00000 n -0006735778 00000 n -0006735821 00000 n -0006735864 00000 n -0006735907 00000 n -0006735950 00000 n -0006735993 00000 n -0006736036 00000 n -0006736079 00000 n -0006736122 00000 n -0006736165 00000 n -0006736208 00000 n -0006736251 00000 n -0006736294 00000 n -0006736337 00000 n -0006736380 00000 n -0006736423 00000 n -0006736466 00000 n -0006736509 00000 n -0006736552 00000 n -0006736595 00000 n -0006736638 00000 n -0006736681 00000 n -0006736724 00000 n -0006736767 00000 n -0006736810 00000 n -0006736853 00000 n -0006736896 00000 n -0006736939 00000 n -0006736982 00000 n -0006737025 00000 n -0006737068 00000 n -0006737111 00000 n -0006737154 00000 n -0006737197 00000 n -0006737240 00000 n -0006737283 00000 n -0006737326 00000 n -0006737369 00000 n -0006737412 00000 n -0006737455 00000 n -0006737498 00000 n -0006737541 00000 n -0006737584 00000 n -0006737627 00000 n -0006737670 00000 n -0006737713 00000 n -0006737756 00000 n -0006737799 00000 n -0006737842 00000 n -0006737885 00000 n -0006737928 00000 n -0006737971 00000 n -0006738014 00000 n -0006738057 00000 n -0006738100 00000 n -0006738143 00000 n -0006738186 00000 n -0006738229 00000 n -0006738272 00000 n -0006738315 00000 n -0006738358 00000 n -0006738401 00000 n -0006738444 00000 n -0006738487 00000 n -0006738530 00000 n -0006738573 00000 n -0006738616 00000 n -0006738659 00000 n -0006738702 00000 n -0006738745 00000 n -0006738788 00000 n -0006738831 00000 n -0006738874 00000 n -0006738917 00000 n -0006738960 00000 n -0006739003 00000 n -0006739046 00000 n -0006739089 00000 n -0006739132 00000 n -0006739175 00000 n -0006739218 00000 n -0006739261 00000 n -0006739304 00000 n -0006739347 00000 n -0006739390 00000 n -0006739433 00000 n -0006739476 00000 n -0006739519 00000 n -0006739562 00000 n -0006739605 00000 n -0006739648 00000 n -0006739691 00000 n -0006739734 00000 n -0006739777 00000 n -0006739820 00000 n -0006739863 00000 n -0006739906 00000 n -0006739949 00000 n -0006739992 00000 n -0006740035 00000 n -0006740078 00000 n -0006740121 00000 n -0006740164 00000 n -0006740207 00000 n -0006740250 00000 n -0006740293 00000 n -0006740336 00000 n -0006740379 00000 n -0006740422 00000 n -0006740465 00000 n -0006740508 00000 n -0006740551 00000 n -0006740594 00000 n -0006740637 00000 n -0006740680 00000 n -0006740723 00000 n -0006740766 00000 n -0006740809 00000 n -0006740852 00000 n -0006740895 00000 n -0006740938 00000 n -0006740981 00000 n -0006741024 00000 n -0006741067 00000 n -0006741110 00000 n -0006741153 00000 n -0006741196 00000 n -0006741239 00000 n -0006741282 00000 n -0006741325 00000 n -0006741368 00000 n -0006741411 00000 n -0006741454 00000 n -0006741497 00000 n -0006741540 00000 n -0006741583 00000 n -0006741626 00000 n -0006741669 00000 n -0006741712 00000 n -0006741755 00000 n -0006741798 00000 n -0006741841 00000 n -0006741884 00000 n -0006741927 00000 n -0006741970 00000 n -0006742013 00000 n -0006742056 00000 n -0006742099 00000 n -0006742142 00000 n -0006742185 00000 n -0006742228 00000 n -0006742271 00000 n -0006742314 00000 n -0006742357 00000 n -0006742400 00000 n -0006742443 00000 n -0006742486 00000 n -0006742529 00000 n -0006742572 00000 n -0006742615 00000 n -0006742658 00000 n -0006742701 00000 n -0006742744 00000 n -0006742787 00000 n -0006742830 00000 n -0006742873 00000 n -0006742916 00000 n -0006742959 00000 n -0006743002 00000 n -0006743045 00000 n -0006743088 00000 n -0006743131 00000 n -0006743174 00000 n -0006743217 00000 n -0006743260 00000 n -0006743303 00000 n -0006743346 00000 n -0006743389 00000 n -0006743432 00000 n -0006743475 00000 n -0006743518 00000 n -0006743561 00000 n -0006743604 00000 n -0006743647 00000 n -0006743690 00000 n -0006743733 00000 n -0006743776 00000 n -0006743819 00000 n -0006743862 00000 n -0006743905 00000 n -0006743948 00000 n -0006743991 00000 n -0006744034 00000 n -0006744077 00000 n -0006744120 00000 n -0006744163 00000 n -0006744206 00000 n -0006744249 00000 n -0006744292 00000 n -0006744335 00000 n -0006744378 00000 n -0006744421 00000 n -0006744464 00000 n -0006744507 00000 n -0006744550 00000 n -0006744593 00000 n -0006744636 00000 n -0006744679 00000 n -0006744722 00000 n -0006744765 00000 n -0006744808 00000 n -0006744851 00000 n -0006744894 00000 n -0006744937 00000 n -0006744980 00000 n -0006745023 00000 n -0006745066 00000 n -0006745109 00000 n -0006745152 00000 n -0006745195 00000 n -0006745238 00000 n -0006745281 00000 n -0006745324 00000 n -0006745367 00000 n -0006745410 00000 n -0006745453 00000 n -0006745496 00000 n -0006745539 00000 n -0006745582 00000 n -0006745625 00000 n -0006745668 00000 n -0006745711 00000 n -0006745754 00000 n -0006745797 00000 n -0006745840 00000 n -0006745883 00000 n -0006745926 00000 n -0006745969 00000 n -0006746012 00000 n -0006746055 00000 n -0006746098 00000 n -0006746141 00000 n -0006746184 00000 n -0006746227 00000 n -0006746270 00000 n -0006746313 00000 n -0006746356 00000 n -0006746399 00000 n -0006746442 00000 n -0006746485 00000 n -0006746528 00000 n -0006746571 00000 n -0006746614 00000 n -0006746657 00000 n -0006746700 00000 n -0006746743 00000 n -0006746786 00000 n -0006746829 00000 n -0006746872 00000 n -0006746915 00000 n -0006746958 00000 n -0006747001 00000 n -0006747044 00000 n -0006747087 00000 n -0006747130 00000 n -0006747173 00000 n -0006747216 00000 n -0006747259 00000 n -0006747302 00000 n -0006747345 00000 n -0006747388 00000 n -0006747431 00000 n -0006747474 00000 n -0006747517 00000 n -0006747560 00000 n -0006747603 00000 n -0006747646 00000 n -0006747689 00000 n -0006747732 00000 n -0006747775 00000 n -0006747818 00000 n -0006747861 00000 n -0006747904 00000 n -0006747947 00000 n -0006747990 00000 n -0006748033 00000 n -0006748076 00000 n -0006748119 00000 n -0006748162 00000 n -0006748205 00000 n -0006748248 00000 n -0006748291 00000 n -0006748334 00000 n -0006748377 00000 n -0006748420 00000 n -0006748463 00000 n -0006748506 00000 n -0006748549 00000 n -0006748592 00000 n -0006748635 00000 n -0006748678 00000 n -0006748721 00000 n -0006748764 00000 n -0006748807 00000 n -0006748850 00000 n -0006748893 00000 n -0006748936 00000 n -0006748979 00000 n -0006749022 00000 n -0006749065 00000 n -0006749108 00000 n -0006749151 00000 n -0006749194 00000 n -0006749237 00000 n -0006749280 00000 n -0006749323 00000 n -0006749366 00000 n -0006749409 00000 n -0006749452 00000 n -0006749495 00000 n -0006749538 00000 n -0006749581 00000 n -0006749624 00000 n -0006749667 00000 n -0006749710 00000 n -0006749753 00000 n -0006749796 00000 n -0006749839 00000 n -0006749882 00000 n -0006749925 00000 n -0006749968 00000 n -0006750011 00000 n -0006750054 00000 n -0006750097 00000 n -0006750140 00000 n -0006750183 00000 n -0006750226 00000 n -0006750269 00000 n -0006750312 00000 n -0006750355 00000 n -0006750686 00000 n -0006751108 00000 n -0006751151 00000 n -0006751194 00000 n -0006751237 00000 n -0006751281 00000 n -0006751325 00000 n -0006751393 00000 n -0006751656 00000 n -0006751755 00000 n -0006756486 00000 n -0006756817 00000 n -0006757239 00000 n -0006757283 00000 n -0006757326 00000 n -0006757370 00000 n -0006757413 00000 n -0006757456 00000 n -0006757524 00000 n -0006757773 00000 n -0006757872 00000 n -0006762068 00000 n -0006762399 00000 n -0006762821 00000 n -0006762864 00000 n -0006762908 00000 n -0006762952 00000 n -0006762995 00000 n -0006763063 00000 n -0006763283 00000 n -0006763382 00000 n -0006767092 00000 n -0006767423 00000 n -0006767845 00000 n -0006767888 00000 n -0006767931 00000 n -0006767975 00000 n -0006768019 00000 n -0006768087 00000 n -0006768321 00000 n -0006768420 00000 n -0006771529 00000 n -0006771860 00000 n -0006772282 00000 n -0006772517 00000 n -0006772757 00000 n -0006774737 00000 n -0006774780 00000 n -0006774848 00000 n -0006775068 00000 n -0006775167 00000 n -0006777190 00000 n -0006777521 00000 n -0006777943 00000 n -0006777987 00000 n -0006778030 00000 n -0006778098 00000 n -0006778318 00000 n -0006778417 00000 n -0006782230 00000 n -0006782561 00000 n -0006782983 00000 n -0006783027 00000 n -0006783071 00000 n -0006783114 00000 n -0006783158 00000 n -0006783201 00000 n -0006783244 00000 n -0006783312 00000 n -0006783532 00000 n -0006783631 00000 n -0006788376 00000 n -0006788515 00000 n -0006788654 00000 n -0006788793 00000 n -0006788932 00000 n -0006789071 00000 n -0006789210 00000 n -0006789349 00000 n -0006789488 00000 n -0006789627 00000 n -0006789766 00000 n -0006789905 00000 n -0006790044 00000 n -0006790183 00000 n -0006790322 00000 n -0006790461 00000 n -0006790600 00000 n -0006790739 00000 n -0006790878 00000 n -0006791017 00000 n -0006791156 00000 n -0006791295 00000 n -0006791434 00000 n -0006791573 00000 n -0006791712 00000 n -0006791851 00000 n -0006791990 00000 n -0006792129 00000 n -0006792268 00000 n -0006792407 00000 n -0006792546 00000 n -0006792685 00000 n -0006792824 00000 n -0006792963 00000 n -0006793102 00000 n -0006793241 00000 n -0006793380 00000 n -0006793519 00000 n -0006793658 00000 n -0006793797 00000 n -0006793936 00000 n -0006794075 00000 n -0006794214 00000 n -0006794353 00000 n -0006794492 00000 n -0006794631 00000 n -0006794770 00000 n -0006794909 00000 n -0006795048 00000 n -0006795187 00000 n -0006795326 00000 n -0006795465 00000 n -0006795604 00000 n -0006795743 00000 n -0006795882 00000 n -0006796021 00000 n -0006796160 00000 n -0006796299 00000 n -0006796438 00000 n -0006796577 00000 n -0006796716 00000 n -0006796855 00000 n -0006796994 00000 n -0006797133 00000 n -0006797272 00000 n -0006797411 00000 n -0006797550 00000 n -0006797689 00000 n -0006797828 00000 n -0006797967 00000 n -0006798106 00000 n -0006798245 00000 n -0006798384 00000 n -0006798523 00000 n -0006798662 00000 n -0006798801 00000 n -0006798940 00000 n -0006799079 00000 n -0006799218 00000 n -0006799357 00000 n -0006799496 00000 n -0006799635 00000 n -0006799774 00000 n -0006799913 00000 n -0006800052 00000 n -0006800191 00000 n -0006800330 00000 n -0006800469 00000 n -0006800608 00000 n -0006800747 00000 n -0006800886 00000 n -0006801025 00000 n -0006801164 00000 n -0006801303 00000 n -0006801442 00000 n -0006801581 00000 n -0006801720 00000 n -0006801859 00000 n -0006801998 00000 n -0006802137 00000 n -0006802276 00000 n -0006802415 00000 n -0006802554 00000 n -0006802693 00000 n -0006802832 00000 n -0006802971 00000 n -0006803110 00000 n -0006803249 00000 n -0006803388 00000 n -0006803527 00000 n -0006803666 00000 n -0006803805 00000 n -0006803944 00000 n -0006804083 00000 n -0006804222 00000 n -0006804361 00000 n -0006804500 00000 n -0006804639 00000 n -0006804778 00000 n -0006804917 00000 n -0006805056 00000 n -0006805195 00000 n -0006805334 00000 n -0006805473 00000 n -0006805612 00000 n -0006805751 00000 n -0006805890 00000 n -0006806029 00000 n -0006806168 00000 n -0006806307 00000 n -0006806446 00000 n -0006806585 00000 n -0006806724 00000 n -0006806863 00000 n -0006807002 00000 n -0006807141 00000 n -0006807280 00000 n -0006807419 00000 n -0006807558 00000 n -0006807697 00000 n -0006807836 00000 n -0006807975 00000 n -0006808114 00000 n -0006808253 00000 n -0006808392 00000 n -0006808531 00000 n -0006808670 00000 n -0006808809 00000 n -0006808948 00000 n -0006809087 00000 n -0006809226 00000 n -0006809365 00000 n -0006809504 00000 n -0006809643 00000 n -0006809782 00000 n -0006809921 00000 n -0006810060 00000 n -0006810199 00000 n -0006810338 00000 n -0006810477 00000 n -0006810616 00000 n -0006810755 00000 n -0006810894 00000 n -0006811033 00000 n -0006811172 00000 n -0006811311 00000 n -0006811450 00000 n -0006811589 00000 n -0006811728 00000 n -0006811867 00000 n -0006812006 00000 n -0006812145 00000 n -0006812284 00000 n -0006812423 00000 n -0006812562 00000 n -0006812701 00000 n -0006812840 00000 n -0006812979 00000 n -0006813118 00000 n -0006813257 00000 n -0006813396 00000 n -0006813535 00000 n -0006813674 00000 n -0006813813 00000 n -0006813952 00000 n -0006814091 00000 n -0006814230 00000 n -0006814369 00000 n -0006814508 00000 n -0006814647 00000 n -0006814786 00000 n -0006814925 00000 n -0006815064 00000 n -0006815203 00000 n -0006815342 00000 n -0006815481 00000 n -0006815620 00000 n -0006815759 00000 n -0006815898 00000 n -0006816037 00000 n -0006816176 00000 n -0006816315 00000 n -0006816454 00000 n -0006816593 00000 n -0006816732 00000 n -0006816871 00000 n -0006817010 00000 n -0006817149 00000 n -0006817288 00000 n -0006817427 00000 n -0006817566 00000 n -0006817705 00000 n -0006817844 00000 n -0006817983 00000 n -0006818122 00000 n -0006818261 00000 n -0006818400 00000 n -0006818539 00000 n -0006818678 00000 n -0006818817 00000 n -0006818956 00000 n -0006819095 00000 n -0006819234 00000 n -0006819373 00000 n -0006819512 00000 n -0006819651 00000 n -0006819790 00000 n -0006819929 00000 n -0006820068 00000 n -0006820207 00000 n -0006820346 00000 n -0006820485 00000 n -0006820624 00000 n -0006820763 00000 n -0006820902 00000 n -0006821041 00000 n -0006821180 00000 n -0006821319 00000 n -0006821458 00000 n -0006821597 00000 n -0006821736 00000 n -0006821875 00000 n -0006822014 00000 n -0006822153 00000 n -0006822292 00000 n -0006822431 00000 n -0006822570 00000 n -0006822709 00000 n -0006822848 00000 n -0006822987 00000 n -0006823126 00000 n -0006823265 00000 n -0006823404 00000 n -0006823543 00000 n -0006823682 00000 n -0006823821 00000 n -0006823960 00000 n -0006824099 00000 n -0006824238 00000 n -0006824377 00000 n -0006824516 00000 n -0006824655 00000 n -0006824794 00000 n -0006824933 00000 n -0006825072 00000 n -0006825211 00000 n -0006825350 00000 n -0006825489 00000 n -0006825628 00000 n -0006825767 00000 n -0006825906 00000 n -0006826045 00000 n -0006826184 00000 n -0006826323 00000 n -0006826462 00000 n -0006826601 00000 n -0006826740 00000 n -0006826879 00000 n -0006827018 00000 n -0006827157 00000 n -0006827296 00000 n -0006827435 00000 n -0006827574 00000 n -0006827713 00000 n -0006827852 00000 n -0006827991 00000 n -0006828130 00000 n -0006828269 00000 n -0006828408 00000 n -0006828547 00000 n -0006828686 00000 n -0006828825 00000 n -0006828964 00000 n -0006829103 00000 n -0006829242 00000 n -0006829381 00000 n -0006829520 00000 n -0006829659 00000 n -0006829798 00000 n -0006829937 00000 n -0006830076 00000 n -0006830215 00000 n -0006830354 00000 n -0006830493 00000 n -0006830632 00000 n -0006830771 00000 n -0006830910 00000 n -0006831049 00000 n -0006831188 00000 n -0006831327 00000 n -0006831466 00000 n -0006831605 00000 n -0006831744 00000 n -0006831883 00000 n -0006832022 00000 n -0006832161 00000 n -0006832300 00000 n -0006832439 00000 n -0006832578 00000 n -0006832717 00000 n -0006832856 00000 n -0006832995 00000 n -0006833134 00000 n -0006833273 00000 n -0006833412 00000 n -0006833551 00000 n -0006833690 00000 n -0006833829 00000 n -0006833968 00000 n -0006834107 00000 n -0006834246 00000 n -0006834385 00000 n -0006834524 00000 n -0006834663 00000 n -0006834802 00000 n -0006834941 00000 n -0006835080 00000 n -0006835219 00000 n -0006835358 00000 n -0006835497 00000 n -0006835636 00000 n -0006835775 00000 n -0006835914 00000 n -0006836053 00000 n -0006836192 00000 n -0006836331 00000 n -0006836470 00000 n -0006836609 00000 n -0006836748 00000 n -0006836887 00000 n -0006837026 00000 n -0006837165 00000 n -0006837304 00000 n -0006837443 00000 n -0006837582 00000 n -0006837721 00000 n -0006837860 00000 n -0006837999 00000 n -0006838138 00000 n -0006838277 00000 n -0006838416 00000 n -0006838555 00000 n -0006838694 00000 n -0006838833 00000 n -0006838972 00000 n -0006839111 00000 n -0006839250 00000 n -0006839389 00000 n -0006839528 00000 n -0006839571 00000 n -0006839614 00000 n -0006839657 00000 n -0006839700 00000 n -0006839743 00000 n -0006839786 00000 n -0006839829 00000 n -0006839872 00000 n -0006839915 00000 n -0006839958 00000 n -0006840001 00000 n -0006840044 00000 n -0006840087 00000 n -0006840130 00000 n -0006840173 00000 n -0006840216 00000 n -0006840259 00000 n -0006840302 00000 n -0006840345 00000 n -0006840388 00000 n -0006840431 00000 n -0006840474 00000 n -0006840517 00000 n -0006840560 00000 n -0006840603 00000 n -0006840646 00000 n -0006840689 00000 n -0006840732 00000 n -0006840775 00000 n -0006840818 00000 n -0006840861 00000 n -0006840904 00000 n -0006840947 00000 n -0006840990 00000 n -0006841033 00000 n -0006841076 00000 n -0006841119 00000 n -0006841162 00000 n -0006841205 00000 n -0006841248 00000 n -0006841291 00000 n -0006841334 00000 n -0006841377 00000 n -0006841420 00000 n -0006841463 00000 n -0006841506 00000 n -0006841549 00000 n -0006841592 00000 n -0006841635 00000 n -0006841678 00000 n -0006841721 00000 n -0006841764 00000 n -0006841807 00000 n -0006841850 00000 n -0006841893 00000 n -0006841936 00000 n -0006841979 00000 n -0006842022 00000 n -0006842065 00000 n -0006842108 00000 n -0006842151 00000 n -0006842194 00000 n -0006842237 00000 n -0006842280 00000 n -0006842323 00000 n -0006842366 00000 n -0006842409 00000 n -0006842452 00000 n -0006842495 00000 n -0006842538 00000 n -0006842581 00000 n -0006842624 00000 n -0006842667 00000 n -0006842710 00000 n -0006842753 00000 n -0006842796 00000 n -0006842839 00000 n -0006842882 00000 n -0006842925 00000 n -0006842968 00000 n -0006843011 00000 n -0006843054 00000 n -0006843097 00000 n -0006843140 00000 n -0006843183 00000 n -0006843226 00000 n -0006843269 00000 n -0006843312 00000 n -0006843355 00000 n -0006843398 00000 n -0006843441 00000 n -0006843484 00000 n -0006843527 00000 n -0006843570 00000 n -0006843613 00000 n -0006843656 00000 n -0006843699 00000 n -0006843742 00000 n -0006843785 00000 n -0006843828 00000 n -0006843871 00000 n -0006843914 00000 n -0006843957 00000 n -0006844000 00000 n -0006844043 00000 n -0006844086 00000 n -0006844129 00000 n -0006844172 00000 n -0006844215 00000 n -0006844258 00000 n -0006844301 00000 n -0006844344 00000 n -0006844387 00000 n -0006844430 00000 n -0006844473 00000 n -0006844516 00000 n -0006844559 00000 n -0006844602 00000 n -0006844645 00000 n -0006844688 00000 n -0006844731 00000 n -0006844774 00000 n -0006844817 00000 n -0006844860 00000 n -0006844903 00000 n -0006844946 00000 n -0006844989 00000 n -0006845032 00000 n -0006845075 00000 n -0006845118 00000 n -0006845161 00000 n -0006845204 00000 n -0006845247 00000 n -0006845290 00000 n -0006845333 00000 n -0006845376 00000 n -0006845419 00000 n -0006845462 00000 n -0006845505 00000 n -0006845548 00000 n -0006845591 00000 n -0006845634 00000 n -0006845677 00000 n -0006845720 00000 n -0006845763 00000 n -0006845806 00000 n -0006845849 00000 n -0006845892 00000 n -0006845935 00000 n -0006845978 00000 n -0006846021 00000 n -0006846064 00000 n -0006846107 00000 n -0006846150 00000 n -0006846193 00000 n -0006846236 00000 n -0006846279 00000 n -0006846322 00000 n -0006846365 00000 n -0006846408 00000 n -0006846451 00000 n -0006846494 00000 n -0006846537 00000 n -0006846580 00000 n -0006846623 00000 n -0006846666 00000 n -0006846709 00000 n -0006846752 00000 n -0006846795 00000 n -0006846838 00000 n -0006846881 00000 n -0006846924 00000 n -0006846967 00000 n -0006847010 00000 n -0006847053 00000 n -0006847096 00000 n -0006847139 00000 n -0006847182 00000 n -0006847225 00000 n -0006847268 00000 n -0006847311 00000 n -0006847354 00000 n -0006847397 00000 n -0006847440 00000 n -0006847483 00000 n -0006847526 00000 n -0006847569 00000 n -0006847612 00000 n -0006847655 00000 n -0006847698 00000 n -0006847741 00000 n -0006847784 00000 n -0006847827 00000 n -0006847870 00000 n -0006847913 00000 n -0006847956 00000 n -0006847999 00000 n -0006848042 00000 n -0006848085 00000 n -0006848128 00000 n -0006848171 00000 n -0006848214 00000 n -0006848257 00000 n -0006848300 00000 n -0006848343 00000 n -0006848386 00000 n -0006848429 00000 n -0006848472 00000 n -0006848515 00000 n -0006848558 00000 n -0006848601 00000 n -0006848644 00000 n -0006848687 00000 n -0006848730 00000 n -0006848773 00000 n -0006848816 00000 n -0006848859 00000 n -0006848902 00000 n -0006848945 00000 n -0006848988 00000 n -0006849031 00000 n -0006849074 00000 n -0006849117 00000 n -0006849160 00000 n -0006849203 00000 n -0006849246 00000 n -0006849289 00000 n -0006849332 00000 n -0006849375 00000 n -0006849418 00000 n -0006849461 00000 n -0006849504 00000 n -0006849547 00000 n -0006849590 00000 n -0006849633 00000 n -0006849676 00000 n -0006849719 00000 n -0006849762 00000 n -0006849805 00000 n -0006849848 00000 n -0006849891 00000 n -0006849934 00000 n -0006849977 00000 n -0006850020 00000 n -0006850063 00000 n -0006850106 00000 n -0006850149 00000 n -0006850192 00000 n -0006850235 00000 n -0006850278 00000 n -0006850321 00000 n -0006850364 00000 n -0006850407 00000 n -0006850450 00000 n -0006850493 00000 n -0006850536 00000 n -0006850579 00000 n -0006850622 00000 n -0006850665 00000 n -0006850708 00000 n -0006850751 00000 n -0006850794 00000 n -0006850837 00000 n -0006850880 00000 n -0006850923 00000 n -0006850966 00000 n -0006851009 00000 n -0006851052 00000 n -0006851095 00000 n -0006851138 00000 n -0006851181 00000 n -0006851224 00000 n -0006851267 00000 n -0006851310 00000 n -0006851353 00000 n -0006851396 00000 n -0006851439 00000 n -0006851482 00000 n -0006851525 00000 n -0006851568 00000 n -0006851611 00000 n -0006851654 00000 n -0006851697 00000 n -0006851740 00000 n -0006851783 00000 n -0006851826 00000 n -0006851869 00000 n -0006851912 00000 n -0006851955 00000 n -0006851998 00000 n -0006852041 00000 n -0006852084 00000 n -0006852127 00000 n -0006852170 00000 n -0006852213 00000 n -0006852256 00000 n -0006852299 00000 n -0006852342 00000 n -0006852385 00000 n -0006852428 00000 n -0006852471 00000 n -0006852514 00000 n -0006852557 00000 n -0006852600 00000 n -0006852643 00000 n -0006852686 00000 n -0006852729 00000 n -0006852772 00000 n -0006852815 00000 n -0006852858 00000 n -0006852901 00000 n -0006852944 00000 n -0006852987 00000 n -0006853030 00000 n -0006853073 00000 n -0006853116 00000 n -0006853159 00000 n -0006853202 00000 n -0006853245 00000 n -0006853288 00000 n -0006853331 00000 n -0006853374 00000 n -0006853417 00000 n -0006853460 00000 n -0006853503 00000 n -0006853546 00000 n -0006853589 00000 n -0006853632 00000 n -0006853675 00000 n -0006853718 00000 n -0006853761 00000 n -0006853804 00000 n -0006853847 00000 n -0006853890 00000 n -0006853933 00000 n -0006853976 00000 n -0006854019 00000 n -0006854062 00000 n -0006854105 00000 n -0006854148 00000 n -0006854191 00000 n -0006854234 00000 n -0006854277 00000 n -0006854320 00000 n -0006854363 00000 n -0006854406 00000 n -0006854449 00000 n -0006854492 00000 n -0006854535 00000 n -0006854578 00000 n -0006854621 00000 n -0006854664 00000 n -0006854707 00000 n -0006854750 00000 n -0006854793 00000 n -0006854836 00000 n -0006854879 00000 n -0006854922 00000 n -0006854965 00000 n -0006855008 00000 n -0006855051 00000 n -0006855094 00000 n -0006855137 00000 n -0006855180 00000 n -0006855223 00000 n -0006855554 00000 n -0006855976 00000 n -0006856019 00000 n -0006856062 00000 n -0006856106 00000 n -0006856150 00000 n -0006856194 00000 n -0006856238 00000 n -0006856306 00000 n -0006856569 00000 n -0006856668 00000 n -0006858683 00000 n -0006859014 00000 n -0006859436 00000 n -0006859478 00000 n -0006859522 00000 n -0006859566 00000 n -0006859609 00000 n -0006859653 00000 n -0006859721 00000 n -0006859984 00000 n -0006860083 00000 n -0006864569 00000 n -0006864735 00000 n -0006864777 00000 n -0006865108 00000 n -0006865530 00000 n -0006865573 00000 n -0006865616 00000 n -0006865660 00000 n -0006865704 00000 n -0006865748 00000 n -0006865791 00000 n -0006865835 00000 n -0006865879 00000 n -0006865921 00000 n -0006865965 00000 n -0006866008 00000 n -0006866051 00000 n -0006866094 00000 n -0006866137 00000 n -0006866181 00000 n -0006866224 00000 n -0006866268 00000 n -0006866311 00000 n -0006866355 00000 n -0006866423 00000 n -0006866672 00000 n -0006866771 00000 n -0006870373 00000 n -0006870704 00000 n -0006871126 00000 n -0006871169 00000 n -0006871237 00000 n -0006871471 00000 n -0006871570 00000 n -0006875234 00000 n -0006875565 00000 n -0006875987 00000 n -0006876031 00000 n -0006876074 00000 n -0006876142 00000 n -0006876377 00000 n -0006876476 00000 n -0006879932 00000 n -0006880263 00000 n -0006880685 00000 n -0006880753 00000 n -0006881003 00000 n -0006881102 00000 n -0006885157 00000 n -0006885344 00000 n -0006885675 00000 n -0006886097 00000 n -0006886327 00000 n -0006886353 00000 n -0006886414 00000 n -0006886693 00000 n -0006896727 00000 n -0006897058 00000 n -0006897480 00000 n -0006897548 00000 n -0006897796 00000 n -0006897895 00000 n -0006901047 00000 n -0006901378 00000 n -0006901800 00000 n -0006901842 00000 n -0006901885 00000 n -0006901953 00000 n -0006902173 00000 n -0006902272 00000 n -0006906370 00000 n -0006906509 00000 n -0006906648 00000 n -0006906787 00000 n -0006906926 00000 n -0006907065 00000 n -0006907204 00000 n -0006907343 00000 n -0006907482 00000 n -0006907621 00000 n -0006907760 00000 n -0006907899 00000 n -0006908038 00000 n -0006908177 00000 n -0006908316 00000 n -0006908455 00000 n -0006908594 00000 n -0006908733 00000 n -0006908872 00000 n -0006909011 00000 n -0006909150 00000 n -0006909289 00000 n -0006909428 00000 n -0006909567 00000 n -0006909706 00000 n -0006909845 00000 n -0006909984 00000 n -0006910123 00000 n -0006910262 00000 n -0006910401 00000 n -0006910540 00000 n -0006910679 00000 n -0006910818 00000 n -0006910957 00000 n -0006911096 00000 n -0006911235 00000 n -0006911374 00000 n -0006911513 00000 n -0006911652 00000 n -0006911791 00000 n -0006911930 00000 n -0006912069 00000 n -0006912208 00000 n -0006912347 00000 n -0006912486 00000 n -0006912625 00000 n -0006912764 00000 n -0006912903 00000 n -0006913042 00000 n -0006913181 00000 n -0006913320 00000 n -0006913459 00000 n -0006913598 00000 n -0006913737 00000 n -0006913876 00000 n -0006914015 00000 n -0006914154 00000 n -0006914293 00000 n -0006914432 00000 n -0006914571 00000 n -0006914710 00000 n -0006914849 00000 n -0006914988 00000 n -0006915127 00000 n -0006915266 00000 n -0006915405 00000 n -0006915544 00000 n -0006915683 00000 n -0006915822 00000 n -0006915961 00000 n -0006916100 00000 n -0006916239 00000 n -0006916378 00000 n -0006916517 00000 n -0006916656 00000 n -0006916795 00000 n -0006916934 00000 n -0006917073 00000 n -0006917212 00000 n -0006917351 00000 n -0006917490 00000 n -0006917629 00000 n -0006917768 00000 n -0006917907 00000 n -0006918046 00000 n -0006918185 00000 n -0006918324 00000 n -0006918463 00000 n -0006918602 00000 n -0006918741 00000 n -0006918880 00000 n -0006919019 00000 n -0006919158 00000 n -0006919297 00000 n -0006919436 00000 n -0006919575 00000 n -0006919714 00000 n -0006919853 00000 n -0006919992 00000 n -0006920131 00000 n -0006920270 00000 n -0006920409 00000 n -0006920548 00000 n -0006920687 00000 n -0006920826 00000 n -0006920965 00000 n -0006921104 00000 n -0006921243 00000 n -0006921382 00000 n -0006921521 00000 n -0006921660 00000 n -0006921799 00000 n -0006921938 00000 n -0006922077 00000 n -0006922216 00000 n -0006922355 00000 n -0006922494 00000 n -0006922633 00000 n -0006922772 00000 n -0006922911 00000 n -0006923050 00000 n -0006923189 00000 n -0006923328 00000 n -0006923467 00000 n -0006923606 00000 n -0006923745 00000 n -0006923884 00000 n -0006924023 00000 n -0006924162 00000 n -0006924301 00000 n -0006924440 00000 n -0006924579 00000 n -0006924718 00000 n -0006924857 00000 n -0006924996 00000 n -0006925135 00000 n -0006925274 00000 n -0006925413 00000 n -0006925552 00000 n -0006925691 00000 n -0006925830 00000 n -0006925969 00000 n -0006926108 00000 n -0006926247 00000 n -0006926386 00000 n -0006926525 00000 n -0006926664 00000 n -0006926803 00000 n -0006926942 00000 n -0006927081 00000 n -0006927220 00000 n -0006927359 00000 n -0006927498 00000 n -0006927637 00000 n -0006927776 00000 n -0006927915 00000 n -0006928054 00000 n -0006928193 00000 n -0006928332 00000 n -0006928471 00000 n -0006928610 00000 n -0006928749 00000 n -0006928888 00000 n -0006929027 00000 n -0006929166 00000 n -0006929305 00000 n -0006929444 00000 n -0006929583 00000 n -0006929722 00000 n -0006929861 00000 n -0006930000 00000 n -0006930139 00000 n -0006930278 00000 n -0006930417 00000 n -0006930556 00000 n -0006930695 00000 n -0006930834 00000 n -0006930973 00000 n -0006931112 00000 n -0006931251 00000 n -0006931390 00000 n -0006931529 00000 n -0006931668 00000 n -0006931807 00000 n -0006931946 00000 n -0006932085 00000 n -0006932224 00000 n -0006932363 00000 n -0006932502 00000 n -0006932641 00000 n -0006932780 00000 n -0006932919 00000 n -0006933058 00000 n -0006933197 00000 n -0006933336 00000 n -0006933475 00000 n -0006933614 00000 n -0006933753 00000 n -0006933892 00000 n -0006934031 00000 n -0006934170 00000 n -0006934309 00000 n -0006934448 00000 n -0006934587 00000 n -0006934726 00000 n -0006934865 00000 n -0006935004 00000 n -0006935143 00000 n -0006935282 00000 n -0006935421 00000 n -0006935560 00000 n -0006935699 00000 n -0006935838 00000 n -0006935977 00000 n -0006936116 00000 n -0006936255 00000 n -0006936394 00000 n -0006936533 00000 n -0006936672 00000 n -0006936811 00000 n -0006936950 00000 n -0006937089 00000 n -0006937228 00000 n -0006937367 00000 n -0006937506 00000 n -0006937645 00000 n -0006937784 00000 n -0006937923 00000 n -0006938062 00000 n -0006938201 00000 n -0006938340 00000 n -0006938479 00000 n -0006938618 00000 n -0006938757 00000 n -0006938896 00000 n -0006939035 00000 n -0006939174 00000 n -0006939313 00000 n -0006939452 00000 n -0006939591 00000 n -0006939730 00000 n -0006939869 00000 n -0006940008 00000 n -0006940147 00000 n -0006940286 00000 n -0006940425 00000 n -0006940564 00000 n -0006940703 00000 n -0006940842 00000 n -0006940981 00000 n -0006941120 00000 n -0006941259 00000 n -0006941398 00000 n -0006941537 00000 n -0006941676 00000 n -0006941815 00000 n -0006941954 00000 n -0006942093 00000 n -0006942232 00000 n -0006942371 00000 n -0006942510 00000 n -0006942649 00000 n -0006942788 00000 n -0006942927 00000 n -0006943066 00000 n -0006943205 00000 n -0006943344 00000 n -0006943483 00000 n -0006943622 00000 n -0006943761 00000 n -0006943900 00000 n -0006944039 00000 n -0006944178 00000 n -0006944317 00000 n -0006944456 00000 n -0006944595 00000 n -0006944734 00000 n -0006944873 00000 n -0006945012 00000 n -0006945151 00000 n -0006945290 00000 n -0006945429 00000 n -0006945568 00000 n -0006945707 00000 n -0006945846 00000 n -0006945985 00000 n -0006946124 00000 n -0006946263 00000 n -0006946402 00000 n -0006946541 00000 n -0006946680 00000 n -0006946819 00000 n -0006946958 00000 n -0006947097 00000 n -0006947236 00000 n -0006947375 00000 n -0006947514 00000 n -0006947653 00000 n -0006947792 00000 n -0006947931 00000 n -0006948070 00000 n -0006948209 00000 n -0006948348 00000 n -0006948487 00000 n -0006948626 00000 n -0006948765 00000 n -0006948904 00000 n -0006949043 00000 n -0006949182 00000 n -0006949321 00000 n -0006949460 00000 n -0006949599 00000 n -0006949738 00000 n -0006949877 00000 n -0006950016 00000 n -0006950155 00000 n -0006950294 00000 n -0006950433 00000 n -0006950572 00000 n -0006950711 00000 n -0006950850 00000 n -0006950989 00000 n -0006951128 00000 n -0006951267 00000 n -0006951406 00000 n -0006951545 00000 n -0006951684 00000 n -0006951823 00000 n -0006951962 00000 n -0006952101 00000 n -0006952240 00000 n -0006952379 00000 n -0006952518 00000 n -0006952657 00000 n -0006952796 00000 n -0006952935 00000 n -0006953074 00000 n -0006953213 00000 n -0006953352 00000 n -0006953491 00000 n -0006953630 00000 n -0006953769 00000 n -0006953908 00000 n -0006954047 00000 n -0006954186 00000 n -0006954325 00000 n -0006954464 00000 n -0006954603 00000 n -0006954742 00000 n -0006954881 00000 n -0006955020 00000 n -0006955159 00000 n -0006955298 00000 n -0006955437 00000 n -0006955576 00000 n -0006955715 00000 n -0006955854 00000 n -0006955993 00000 n -0006956132 00000 n -0006956271 00000 n -0006956410 00000 n -0006956549 00000 n -0006956688 00000 n -0006956827 00000 n -0006956966 00000 n -0006957105 00000 n -0006957244 00000 n -0006957383 00000 n -0006957522 00000 n -0006957661 00000 n -0006957800 00000 n -0006957939 00000 n -0006958078 00000 n -0006958217 00000 n -0006958356 00000 n -0006958495 00000 n -0006958538 00000 n -0006958581 00000 n -0006958624 00000 n -0006958667 00000 n -0006958710 00000 n -0006958753 00000 n -0006958796 00000 n -0006958839 00000 n -0006958882 00000 n -0006958925 00000 n -0006958968 00000 n -0006959011 00000 n -0006959054 00000 n -0006959097 00000 n -0006959140 00000 n -0006959183 00000 n -0006959226 00000 n -0006959269 00000 n -0006959312 00000 n -0006959355 00000 n -0006959398 00000 n -0006959441 00000 n -0006959484 00000 n -0006959527 00000 n -0006959570 00000 n -0006959613 00000 n -0006959656 00000 n -0006959699 00000 n -0006959742 00000 n -0006959785 00000 n -0006959828 00000 n -0006959871 00000 n -0006959914 00000 n -0006959957 00000 n -0006960000 00000 n -0006960043 00000 n -0006960086 00000 n -0006960129 00000 n -0006960172 00000 n -0006960215 00000 n -0006960258 00000 n -0006960301 00000 n -0006960344 00000 n -0006960387 00000 n -0006960430 00000 n -0006960473 00000 n -0006960516 00000 n -0006960559 00000 n -0006960602 00000 n -0006960645 00000 n -0006960688 00000 n -0006960731 00000 n -0006960774 00000 n -0006960817 00000 n -0006960860 00000 n -0006960903 00000 n -0006960946 00000 n -0006960989 00000 n -0006961032 00000 n -0006961075 00000 n -0006961118 00000 n -0006961161 00000 n -0006961204 00000 n -0006961247 00000 n -0006961290 00000 n -0006961333 00000 n -0006961376 00000 n -0006961419 00000 n -0006961462 00000 n -0006961505 00000 n -0006961548 00000 n -0006961591 00000 n -0006961634 00000 n -0006961677 00000 n -0006961720 00000 n -0006961763 00000 n -0006961806 00000 n -0006961849 00000 n -0006961892 00000 n -0006961935 00000 n -0006961978 00000 n -0006962021 00000 n -0006962064 00000 n -0006962107 00000 n -0006962150 00000 n -0006962193 00000 n -0006962236 00000 n -0006962279 00000 n -0006962322 00000 n -0006962365 00000 n -0006962408 00000 n -0006962451 00000 n -0006962494 00000 n -0006962537 00000 n -0006962580 00000 n -0006962623 00000 n -0006962666 00000 n -0006962709 00000 n -0006962752 00000 n -0006962795 00000 n -0006962838 00000 n -0006962881 00000 n -0006962924 00000 n -0006962967 00000 n -0006963010 00000 n -0006963053 00000 n -0006963096 00000 n -0006963139 00000 n -0006963182 00000 n -0006963225 00000 n -0006963268 00000 n -0006963311 00000 n -0006963354 00000 n -0006963397 00000 n -0006963440 00000 n -0006963483 00000 n -0006963526 00000 n -0006963569 00000 n -0006963612 00000 n -0006963655 00000 n -0006963698 00000 n -0006963741 00000 n -0006963784 00000 n -0006963827 00000 n -0006963870 00000 n -0006963913 00000 n -0006963956 00000 n -0006963999 00000 n -0006964042 00000 n -0006964085 00000 n -0006964128 00000 n -0006964171 00000 n -0006964214 00000 n -0006964257 00000 n -0006964300 00000 n -0006964343 00000 n -0006964386 00000 n -0006964429 00000 n -0006964472 00000 n -0006964515 00000 n -0006964558 00000 n -0006964601 00000 n -0006964644 00000 n -0006964687 00000 n -0006964730 00000 n -0006964773 00000 n -0006964816 00000 n -0006964859 00000 n -0006964902 00000 n -0006964945 00000 n -0006964988 00000 n -0006965031 00000 n -0006965074 00000 n -0006965117 00000 n -0006965160 00000 n -0006965203 00000 n -0006965246 00000 n -0006965289 00000 n -0006965332 00000 n -0006965375 00000 n -0006965418 00000 n -0006965461 00000 n -0006965504 00000 n -0006965547 00000 n -0006965590 00000 n -0006965633 00000 n -0006965676 00000 n -0006965719 00000 n -0006965762 00000 n -0006965805 00000 n -0006965848 00000 n -0006965891 00000 n -0006965934 00000 n -0006965977 00000 n -0006966020 00000 n -0006966063 00000 n -0006966106 00000 n -0006966149 00000 n -0006966192 00000 n -0006966235 00000 n -0006966278 00000 n -0006966321 00000 n -0006966364 00000 n -0006966407 00000 n -0006966450 00000 n -0006966493 00000 n -0006966536 00000 n -0006966579 00000 n -0006966622 00000 n -0006966665 00000 n -0006966708 00000 n -0006966751 00000 n -0006966794 00000 n -0006966837 00000 n -0006966880 00000 n -0006966923 00000 n -0006966966 00000 n -0006967009 00000 n -0006967052 00000 n -0006967095 00000 n -0006967138 00000 n -0006967181 00000 n -0006967224 00000 n -0006967267 00000 n -0006967310 00000 n -0006967353 00000 n -0006967396 00000 n -0006967439 00000 n -0006967482 00000 n -0006967525 00000 n -0006967568 00000 n -0006967611 00000 n -0006967654 00000 n -0006967697 00000 n -0006967740 00000 n -0006967783 00000 n -0006967826 00000 n -0006967869 00000 n -0006967912 00000 n -0006967955 00000 n -0006967998 00000 n -0006968041 00000 n -0006968084 00000 n -0006968127 00000 n -0006968170 00000 n -0006968213 00000 n -0006968256 00000 n -0006968299 00000 n -0006968342 00000 n -0006968385 00000 n -0006968428 00000 n -0006968471 00000 n -0006968514 00000 n -0006968557 00000 n -0006968600 00000 n -0006968643 00000 n -0006968686 00000 n -0006968729 00000 n -0006968772 00000 n -0006968815 00000 n -0006968858 00000 n -0006968901 00000 n -0006968944 00000 n -0006968987 00000 n -0006969030 00000 n -0006969073 00000 n -0006969116 00000 n -0006969159 00000 n -0006969202 00000 n -0006969245 00000 n -0006969288 00000 n -0006969331 00000 n -0006969374 00000 n -0006969417 00000 n -0006969460 00000 n -0006969503 00000 n -0006969546 00000 n -0006969589 00000 n -0006969632 00000 n -0006969675 00000 n -0006969718 00000 n -0006969761 00000 n -0006969804 00000 n -0006969847 00000 n -0006969890 00000 n -0006969933 00000 n -0006969976 00000 n -0006970019 00000 n -0006970062 00000 n -0006970105 00000 n -0006970148 00000 n -0006970191 00000 n -0006970234 00000 n -0006970277 00000 n -0006970320 00000 n -0006970363 00000 n -0006970406 00000 n -0006970449 00000 n -0006970492 00000 n -0006970535 00000 n -0006970578 00000 n -0006970621 00000 n -0006970664 00000 n -0006970707 00000 n -0006970750 00000 n -0006970793 00000 n -0006970836 00000 n -0006970879 00000 n -0006970922 00000 n -0006970965 00000 n -0006971008 00000 n -0006971051 00000 n -0006971094 00000 n -0006971137 00000 n -0006971180 00000 n -0006971223 00000 n -0006971266 00000 n -0006971309 00000 n -0006971352 00000 n -0006971395 00000 n -0006971438 00000 n -0006971481 00000 n -0006971524 00000 n -0006971567 00000 n -0006971610 00000 n -0006971653 00000 n -0006971696 00000 n -0006971739 00000 n -0006971782 00000 n -0006971825 00000 n -0006971868 00000 n -0006971911 00000 n -0006971954 00000 n -0006971997 00000 n -0006972040 00000 n -0006972083 00000 n -0006972126 00000 n -0006972169 00000 n -0006972212 00000 n -0006972255 00000 n -0006972298 00000 n -0006972341 00000 n -0006972384 00000 n -0006972427 00000 n -0006972470 00000 n -0006972513 00000 n -0006972556 00000 n -0006972599 00000 n -0006972642 00000 n -0006972685 00000 n -0006972728 00000 n -0006972771 00000 n -0006972814 00000 n -0006972857 00000 n -0006972900 00000 n -0006972943 00000 n -0006972986 00000 n -0006973029 00000 n -0006973072 00000 n -0006973115 00000 n -0006973158 00000 n -0006973201 00000 n -0006973244 00000 n -0006973287 00000 n -0006973330 00000 n -0006973373 00000 n -0006973416 00000 n -0006973459 00000 n -0006973502 00000 n -0006973545 00000 n -0006973588 00000 n -0006973631 00000 n -0006973674 00000 n -0006973717 00000 n -0006973760 00000 n -0006973803 00000 n -0006973846 00000 n -0006973889 00000 n -0006973932 00000 n -0006973975 00000 n -0006974018 00000 n -0006974061 00000 n -0006974104 00000 n -0006974147 00000 n -0006974190 00000 n -0006974233 00000 n -0006974276 00000 n -0006974319 00000 n -0006974362 00000 n -0006974405 00000 n -0006974736 00000 n -0006975158 00000 n -0006975201 00000 n -0006975244 00000 n -0006975287 00000 n -0006975330 00000 n -0006975374 00000 n -0006975417 00000 n -0006975459 00000 n -0006975503 00000 n -0006975546 00000 n -0006975589 00000 n -0006975633 00000 n -0006975677 00000 n -0006975720 00000 n -0006975763 00000 n -0006975807 00000 n -0006975850 00000 n -0006975894 00000 n -0006975936 00000 n -0006975980 00000 n -0006976023 00000 n -0006976066 00000 n -0006976110 00000 n -0006976153 00000 n -0006976221 00000 n -0006976441 00000 n -0006976540 00000 n -0006978649 00000 n -0006978980 00000 n -0006979402 00000 n -0006979444 00000 n -0006979488 00000 n -0006979532 00000 n -0006979575 00000 n -0006979643 00000 n -0006979863 00000 n -0006979962 00000 n -0006982299 00000 n -0006982630 00000 n -0006983052 00000 n -0006983096 00000 n -0006983139 00000 n -0006983207 00000 n -0006983470 00000 n -0006983569 00000 n -0006987302 00000 n -0006987468 00000 n -0006987510 00000 n -0006987841 00000 n -0006988263 00000 n -0006988306 00000 n -0006988350 00000 n -0006988394 00000 n -0006988438 00000 n -0006988481 00000 n -0006988549 00000 n -0006988812 00000 n -0006988911 00000 n -0006992913 00000 n -0006993244 00000 n -0006993666 00000 n -0006993734 00000 n -0006993997 00000 n -0006994096 00000 n -0006998715 00000 n -0006998881 00000 n -0006998923 00000 n -0006999254 00000 n -0006999676 00000 n -0006999718 00000 n -0006999762 00000 n -0006999805 00000 n -0006999873 00000 n -0007000165 00000 n -0007000264 00000 n -0007004051 00000 n -0007004218 00000 n -0007004261 00000 n -0007004592 00000 n -0007005014 00000 n -0007005058 00000 n -0007005102 00000 n -0007005146 00000 n -0007005189 00000 n -0007005233 00000 n -0007005276 00000 n -0007005319 00000 n -0007005363 00000 n -0007005431 00000 n -0007005666 00000 n -0007005765 00000 n -0007010550 00000 n -0007010881 00000 n -0007011303 00000 n -0007011347 00000 n -0007011388 00000 n -0007011432 00000 n -0007011476 00000 n -0007011519 00000 n -0007011563 00000 n -0007011631 00000 n -0007011866 00000 n -0007011965 00000 n -0007015780 00000 n -0007016111 00000 n -0007016533 00000 n -0007016576 00000 n -0007016619 00000 n -0007016662 00000 n -0007016706 00000 n -0007016750 00000 n -0007016791 00000 n -0007016835 00000 n -0007016878 00000 n -0007016922 00000 n -0007016966 00000 n -0007017010 00000 n -0007017078 00000 n -0007017298 00000 n -0007017397 00000 n -0007020756 00000 n -0007021087 00000 n -0007021509 00000 n -0007021553 00000 n -0007021596 00000 n -0007021664 00000 n -0007021912 00000 n -0007022011 00000 n -0007025834 00000 n -0007026165 00000 n -0007026587 00000 n -0007026630 00000 n -0007026674 00000 n -0007026718 00000 n -0007026786 00000 n -0007027021 00000 n -0007027120 00000 n -0007030498 00000 n -0007030829 00000 n -0007031251 00000 n -0007031319 00000 n -0007031554 00000 n -0007031653 00000 n -0007035641 00000 n -0007035972 00000 n -0007036394 00000 n -0007036437 00000 n -0007036480 00000 n -0007036524 00000 n -0007036592 00000 n -0007036826 00000 n -0007036925 00000 n -0007040527 00000 n -0007040858 00000 n -0007041280 00000 n -0007041348 00000 n -0007041583 00000 n -0007041682 00000 n -0007046754 00000 n -0007047085 00000 n -0007047507 00000 n -0007047550 00000 n -0007047594 00000 n -0007047637 00000 n -0007047705 00000 n -0007047940 00000 n -0007048039 00000 n -0007052534 00000 n -0007052673 00000 n -0007052812 00000 n -0007052951 00000 n -0007053090 00000 n -0007053229 00000 n -0007053368 00000 n -0007053507 00000 n -0007053646 00000 n -0007053785 00000 n -0007053924 00000 n -0007054063 00000 n -0007054202 00000 n -0007054341 00000 n -0007054480 00000 n -0007054619 00000 n -0007054758 00000 n -0007054897 00000 n -0007055036 00000 n -0007055175 00000 n -0007055314 00000 n -0007055453 00000 n -0007055592 00000 n -0007055731 00000 n -0007055870 00000 n -0007056009 00000 n -0007056148 00000 n -0007056287 00000 n -0007056426 00000 n -0007056565 00000 n -0007056704 00000 n -0007056843 00000 n -0007056982 00000 n -0007057121 00000 n -0007057260 00000 n -0007057399 00000 n -0007057538 00000 n -0007057677 00000 n -0007057816 00000 n -0007057955 00000 n -0007058094 00000 n -0007058233 00000 n -0007058372 00000 n -0007058511 00000 n -0007058650 00000 n -0007058789 00000 n -0007058928 00000 n -0007059067 00000 n -0007059206 00000 n -0007059345 00000 n -0007059484 00000 n -0007059623 00000 n -0007059762 00000 n -0007059901 00000 n -0007060040 00000 n -0007060179 00000 n -0007060318 00000 n -0007060457 00000 n -0007060596 00000 n -0007060735 00000 n -0007060874 00000 n -0007061013 00000 n -0007061152 00000 n -0007061291 00000 n -0007061430 00000 n -0007061569 00000 n -0007061708 00000 n -0007061847 00000 n -0007061986 00000 n -0007062125 00000 n -0007062264 00000 n -0007062403 00000 n -0007062542 00000 n -0007062681 00000 n -0007062820 00000 n -0007062959 00000 n -0007063098 00000 n -0007063237 00000 n -0007063376 00000 n -0007063515 00000 n -0007063654 00000 n -0007063793 00000 n -0007063932 00000 n -0007064071 00000 n -0007064210 00000 n -0007064349 00000 n -0007064488 00000 n -0007064627 00000 n -0007064766 00000 n -0007064905 00000 n -0007065044 00000 n -0007065183 00000 n -0007065322 00000 n -0007065461 00000 n -0007065600 00000 n -0007065739 00000 n -0007065878 00000 n -0007066017 00000 n -0007066156 00000 n -0007066295 00000 n -0007066434 00000 n -0007066573 00000 n -0007066712 00000 n -0007066851 00000 n -0007066990 00000 n -0007067129 00000 n -0007067268 00000 n -0007067407 00000 n -0007067546 00000 n -0007067685 00000 n -0007067824 00000 n -0007067963 00000 n -0007068102 00000 n -0007068241 00000 n -0007068380 00000 n -0007068519 00000 n -0007068658 00000 n -0007068797 00000 n -0007068936 00000 n -0007069075 00000 n -0007069214 00000 n -0007069353 00000 n -0007069492 00000 n -0007069631 00000 n -0007069770 00000 n -0007069909 00000 n -0007070048 00000 n -0007070187 00000 n -0007070326 00000 n -0007070465 00000 n -0007070604 00000 n -0007070743 00000 n -0007070882 00000 n -0007071021 00000 n -0007071160 00000 n -0007071299 00000 n -0007071438 00000 n -0007071577 00000 n -0007071716 00000 n -0007071855 00000 n -0007071994 00000 n -0007072133 00000 n -0007072272 00000 n -0007072411 00000 n -0007072550 00000 n -0007072689 00000 n -0007072828 00000 n -0007072967 00000 n -0007073106 00000 n -0007073245 00000 n -0007073384 00000 n -0007073523 00000 n -0007073662 00000 n -0007073801 00000 n -0007073940 00000 n -0007074079 00000 n -0007074218 00000 n -0007074357 00000 n -0007074496 00000 n -0007074635 00000 n -0007074774 00000 n -0007074913 00000 n -0007075052 00000 n -0007075191 00000 n -0007075330 00000 n -0007075469 00000 n -0007075608 00000 n -0007075747 00000 n -0007075886 00000 n -0007076025 00000 n -0007076164 00000 n -0007076303 00000 n -0007076442 00000 n -0007076581 00000 n -0007076720 00000 n -0007076859 00000 n -0007076998 00000 n -0007077137 00000 n -0007077276 00000 n -0007077415 00000 n -0007077554 00000 n -0007077693 00000 n -0007077832 00000 n -0007077971 00000 n -0007078110 00000 n -0007078249 00000 n -0007078388 00000 n -0007078527 00000 n -0007078666 00000 n -0007078805 00000 n -0007078944 00000 n -0007079083 00000 n -0007079222 00000 n -0007079361 00000 n -0007079500 00000 n -0007079639 00000 n -0007079778 00000 n -0007079917 00000 n -0007080056 00000 n -0007080195 00000 n -0007080334 00000 n -0007080473 00000 n -0007080612 00000 n -0007080751 00000 n -0007080890 00000 n -0007081029 00000 n -0007081168 00000 n -0007081307 00000 n -0007081446 00000 n -0007081585 00000 n -0007081724 00000 n -0007081863 00000 n -0007082002 00000 n -0007082141 00000 n -0007082280 00000 n -0007082419 00000 n -0007082558 00000 n -0007082697 00000 n -0007082836 00000 n -0007082975 00000 n -0007083114 00000 n -0007083253 00000 n -0007083392 00000 n -0007083531 00000 n -0007083670 00000 n -0007083809 00000 n -0007083948 00000 n -0007084087 00000 n -0007084226 00000 n -0007084365 00000 n -0007084504 00000 n -0007084643 00000 n -0007084782 00000 n -0007084921 00000 n -0007085060 00000 n -0007085199 00000 n -0007085338 00000 n -0007085477 00000 n -0007085616 00000 n -0007085755 00000 n -0007085894 00000 n -0007086033 00000 n -0007086172 00000 n -0007086311 00000 n -0007086450 00000 n -0007086589 00000 n -0007086728 00000 n -0007086867 00000 n -0007087006 00000 n -0007087145 00000 n -0007087284 00000 n -0007087423 00000 n -0007087562 00000 n -0007087701 00000 n -0007087840 00000 n -0007087979 00000 n -0007088118 00000 n -0007088257 00000 n -0007088396 00000 n -0007088535 00000 n -0007088674 00000 n -0007088813 00000 n -0007088952 00000 n -0007089091 00000 n -0007089230 00000 n -0007089369 00000 n -0007089508 00000 n -0007089647 00000 n -0007089786 00000 n -0007089925 00000 n -0007090064 00000 n -0007090203 00000 n -0007090342 00000 n -0007090481 00000 n -0007090620 00000 n -0007090759 00000 n -0007090898 00000 n -0007091037 00000 n -0007091176 00000 n -0007091315 00000 n -0007091454 00000 n -0007091593 00000 n -0007091732 00000 n -0007091871 00000 n -0007092010 00000 n -0007092149 00000 n -0007092288 00000 n -0007092427 00000 n -0007092566 00000 n -0007092705 00000 n -0007092844 00000 n -0007092983 00000 n -0007093122 00000 n -0007093261 00000 n -0007093400 00000 n -0007093539 00000 n -0007093678 00000 n -0007093817 00000 n -0007093956 00000 n -0007094095 00000 n -0007094234 00000 n -0007094373 00000 n -0007094512 00000 n -0007094651 00000 n -0007094790 00000 n -0007094929 00000 n -0007095068 00000 n -0007095207 00000 n -0007095346 00000 n -0007095485 00000 n -0007095624 00000 n -0007095763 00000 n -0007095902 00000 n -0007096041 00000 n -0007096180 00000 n -0007096319 00000 n -0007096458 00000 n -0007096597 00000 n -0007096736 00000 n -0007096875 00000 n -0007097014 00000 n -0007097153 00000 n -0007097292 00000 n -0007097431 00000 n -0007097570 00000 n -0007097709 00000 n -0007097848 00000 n -0007097987 00000 n -0007098126 00000 n -0007098265 00000 n -0007098404 00000 n -0007098543 00000 n -0007098682 00000 n -0007098821 00000 n -0007098960 00000 n -0007099099 00000 n -0007099238 00000 n -0007099281 00000 n -0007099324 00000 n -0007099367 00000 n -0007099410 00000 n -0007099453 00000 n -0007099496 00000 n -0007099539 00000 n -0007099582 00000 n -0007099625 00000 n -0007099668 00000 n -0007099711 00000 n -0007099754 00000 n -0007099797 00000 n -0007099840 00000 n -0007099883 00000 n -0007099926 00000 n -0007099969 00000 n -0007100012 00000 n -0007100055 00000 n -0007100098 00000 n -0007100141 00000 n -0007100184 00000 n -0007100227 00000 n -0007100270 00000 n -0007100313 00000 n -0007100356 00000 n -0007100399 00000 n -0007100442 00000 n -0007100485 00000 n -0007100528 00000 n -0007100571 00000 n -0007100614 00000 n -0007100657 00000 n -0007100700 00000 n -0007100743 00000 n -0007100786 00000 n -0007100829 00000 n -0007100872 00000 n -0007100915 00000 n -0007100958 00000 n -0007101001 00000 n -0007101044 00000 n -0007101087 00000 n -0007101130 00000 n -0007101173 00000 n -0007101216 00000 n -0007101259 00000 n -0007101302 00000 n -0007101345 00000 n -0007101388 00000 n -0007101431 00000 n -0007101474 00000 n -0007101517 00000 n -0007101560 00000 n -0007101603 00000 n -0007101646 00000 n -0007101689 00000 n -0007101732 00000 n -0007101775 00000 n -0007101818 00000 n -0007101861 00000 n -0007101904 00000 n -0007101947 00000 n -0007101990 00000 n -0007102033 00000 n -0007102076 00000 n -0007102119 00000 n -0007102162 00000 n -0007102205 00000 n -0007102248 00000 n -0007102291 00000 n -0007102334 00000 n -0007102377 00000 n -0007102420 00000 n -0007102463 00000 n -0007102506 00000 n -0007102549 00000 n -0007102592 00000 n -0007102635 00000 n -0007102678 00000 n -0007102721 00000 n -0007102764 00000 n -0007102807 00000 n -0007102850 00000 n -0007102893 00000 n -0007102936 00000 n -0007102979 00000 n -0007103022 00000 n -0007103065 00000 n -0007103108 00000 n -0007103151 00000 n -0007103194 00000 n -0007103237 00000 n -0007103280 00000 n -0007103323 00000 n -0007103366 00000 n -0007103409 00000 n -0007103452 00000 n -0007103495 00000 n -0007103538 00000 n -0007103581 00000 n -0007103624 00000 n -0007103667 00000 n -0007103710 00000 n -0007103753 00000 n -0007103796 00000 n -0007103839 00000 n -0007103882 00000 n -0007103925 00000 n -0007103968 00000 n -0007104011 00000 n -0007104054 00000 n -0007104097 00000 n -0007104140 00000 n -0007104183 00000 n -0007104226 00000 n -0007104269 00000 n -0007104312 00000 n -0007104355 00000 n -0007104398 00000 n -0007104441 00000 n -0007104484 00000 n -0007104527 00000 n -0007104570 00000 n -0007104613 00000 n -0007104656 00000 n -0007104699 00000 n -0007104742 00000 n -0007104785 00000 n -0007104828 00000 n -0007104871 00000 n -0007104914 00000 n -0007104957 00000 n -0007105000 00000 n -0007105043 00000 n -0007105086 00000 n -0007105129 00000 n -0007105172 00000 n -0007105215 00000 n -0007105258 00000 n -0007105301 00000 n -0007105344 00000 n -0007105387 00000 n -0007105430 00000 n -0007105473 00000 n -0007105516 00000 n -0007105559 00000 n -0007105602 00000 n -0007105645 00000 n -0007105688 00000 n -0007105731 00000 n -0007105774 00000 n -0007105817 00000 n -0007105860 00000 n -0007105903 00000 n -0007105946 00000 n -0007105989 00000 n -0007106032 00000 n -0007106075 00000 n -0007106118 00000 n -0007106161 00000 n -0007106204 00000 n -0007106247 00000 n -0007106290 00000 n -0007106333 00000 n -0007106376 00000 n -0007106419 00000 n -0007106462 00000 n -0007106505 00000 n -0007106548 00000 n -0007106591 00000 n -0007106634 00000 n -0007106677 00000 n -0007106720 00000 n -0007106763 00000 n -0007106806 00000 n -0007106849 00000 n -0007106892 00000 n -0007106935 00000 n -0007106978 00000 n -0007107021 00000 n -0007107064 00000 n -0007107107 00000 n -0007107150 00000 n -0007107193 00000 n -0007107236 00000 n -0007107279 00000 n -0007107322 00000 n -0007107365 00000 n -0007107408 00000 n -0007107451 00000 n -0007107494 00000 n -0007107537 00000 n -0007107580 00000 n -0007107623 00000 n -0007107666 00000 n -0007107709 00000 n -0007107752 00000 n -0007107795 00000 n -0007107838 00000 n -0007107881 00000 n -0007107924 00000 n -0007107967 00000 n -0007108010 00000 n -0007108053 00000 n -0007108096 00000 n -0007108139 00000 n -0007108182 00000 n -0007108225 00000 n -0007108268 00000 n -0007108311 00000 n -0007108354 00000 n -0007108397 00000 n -0007108440 00000 n -0007108483 00000 n -0007108526 00000 n -0007108569 00000 n -0007108612 00000 n -0007108655 00000 n -0007108698 00000 n -0007108741 00000 n -0007108784 00000 n -0007108827 00000 n -0007108870 00000 n -0007108913 00000 n -0007108956 00000 n -0007108999 00000 n -0007109042 00000 n -0007109085 00000 n -0007109128 00000 n -0007109171 00000 n -0007109214 00000 n -0007109257 00000 n -0007109300 00000 n -0007109343 00000 n -0007109386 00000 n -0007109429 00000 n -0007109472 00000 n -0007109515 00000 n -0007109558 00000 n -0007109601 00000 n -0007109644 00000 n -0007109687 00000 n -0007109730 00000 n -0007109773 00000 n -0007109816 00000 n -0007109859 00000 n -0007109902 00000 n -0007109945 00000 n -0007109988 00000 n -0007110031 00000 n -0007110099 00000 n -0007110319 00000 n -0007110418 00000 n -0007113431 00000 n -0007113762 00000 n -0007114184 00000 n -0007114227 00000 n -0007114271 00000 n -0007114314 00000 n -0007114382 00000 n -0007114617 00000 n -0007114716 00000 n -0007117393 00000 n -0007117724 00000 n -0007118146 00000 n -0007118188 00000 n -0007118232 00000 n -0007118274 00000 n -0007118318 00000 n -0007118360 00000 n -0007118402 00000 n -0007118446 00000 n -0007118488 00000 n -0007118530 00000 n -0007118573 00000 n -0007118615 00000 n -0007118658 00000 n -0007118726 00000 n -0007118974 00000 n -0007119073 00000 n -0007123387 00000 n -0007123554 00000 n -0007123885 00000 n -0007124307 00000 n -0007124349 00000 n -0007124417 00000 n -0007124666 00000 n -0007124765 00000 n -0007129117 00000 n -0007129161 00000 n -0007129203 00000 n -0007129245 00000 n -0007129287 00000 n -0007129330 00000 n -0007129372 00000 n -0007129414 00000 n -0007129482 00000 n -0007129731 00000 n -0007129830 00000 n -0007134181 00000 n -0007134348 00000 n -0007134679 00000 n -0007135101 00000 n -0007135144 00000 n -0007135212 00000 n -0007135461 00000 n -0007135560 00000 n -0007139997 00000 n -0007140328 00000 n -0007140750 00000 n -0007140792 00000 n -0007140835 00000 n -0007140878 00000 n -0007140920 00000 n -0007140964 00000 n -0007141006 00000 n -0007141050 00000 n -0007141094 00000 n -0007141136 00000 n -0007141178 00000 n -0007141220 00000 n -0007141262 00000 n -0007141330 00000 n -0007141550 00000 n -0007141649 00000 n -0007145351 00000 n -0007145419 00000 n -0007145654 00000 n -0007145753 00000 n -0007149701 00000 n -0007150032 00000 n -0007150454 00000 n -0007150747 00000 n -0007150789 00000 n -0007150831 00000 n -0007150873 00000 n -0007150941 00000 n -0007151161 00000 n -0007151260 00000 n -0007155106 00000 n -0007155150 00000 n -0007155192 00000 n -0007155260 00000 n -0007155509 00000 n -0007155608 00000 n -0007160007 00000 n -0007160338 00000 n -0007160760 00000 n -0007160803 00000 n -0007160847 00000 n -0007160891 00000 n -0007160959 00000 n -0007161179 00000 n -0007161278 00000 n -0007163057 00000 n -0007163388 00000 n -0007163810 00000 n -0007163852 00000 n -0007163896 00000 n -0007163938 00000 n -0007163982 00000 n -0007164050 00000 n -0007164270 00000 n -0007164369 00000 n -0007168753 00000 n -0007169084 00000 n -0007169506 00000 n -0007169548 00000 n -0007169616 00000 n -0007169879 00000 n -0007169978 00000 n -0007172279 00000 n -0007172610 00000 n -0007173032 00000 n -0007173075 00000 n -0007173117 00000 n -0007173160 00000 n -0007173204 00000 n -0007173247 00000 n -0007173290 00000 n -0007173358 00000 n -0007173578 00000 n -0007173677 00000 n -0007177914 00000 n -0007178245 00000 n -0007178667 00000 n -0007178711 00000 n -0007178754 00000 n -0007178796 00000 n -0007178840 00000 n -0007178881 00000 n -0007178924 00000 n -0007178992 00000 n -0007179241 00000 n -0007179340 00000 n -0007183517 00000 n -0007183560 00000 n -0007183604 00000 n -0007183648 00000 n -0007183691 00000 n -0007183735 00000 n -0007185511 00000 n -0007185554 00000 n -0007185622 00000 n -0007185842 00000 n -0007185941 00000 n -0007189957 00000 n -0007190288 00000 n -0007190710 00000 n -0007190778 00000 n -0007191041 00000 n -0007191140 00000 n -0007193417 00000 n -0007193748 00000 n -0007194170 00000 n -0007194238 00000 n -0007194458 00000 n -0007194557 00000 n -0007198529 00000 n -0007198860 00000 n -0007199282 00000 n -0007199326 00000 n -0007199370 00000 n -0007199414 00000 n -0007199458 00000 n -0007199500 00000 n -0007199542 00000 n -0007199586 00000 n -0007199629 00000 n -0007199672 00000 n -0007199714 00000 n -0007199757 00000 n -0007199801 00000 n -0007199844 00000 n -0007199886 00000 n -0007199928 00000 n -0007199970 00000 n -0007200013 00000 n -0007200081 00000 n -0007200330 00000 n -0007200429 00000 n -0007203318 00000 n -0007203649 00000 n -0007204071 00000 n -0007204113 00000 n -0007204444 00000 n -0007204866 00000 n -0007204909 00000 n -0007204951 00000 n -0007204993 00000 n -0007205324 00000 n -0007205746 00000 n -0007205789 00000 n -0007205832 00000 n -0007205874 00000 n -0007205917 00000 n -0007205961 00000 n -0007206003 00000 n -0007206045 00000 n -0007206087 00000 n -0007206129 00000 n -0007206170 00000 n -0007206212 00000 n -0007206256 00000 n -0007206299 00000 n -0007206341 00000 n -0007206385 00000 n -0007206429 00000 n -0007206470 00000 n -0007206512 00000 n -0007206556 00000 n -0007206598 00000 n -0007206642 00000 n -0007206684 00000 n -0007206728 00000 n -0007206772 00000 n -0007206816 00000 n -0007206859 00000 n -0007206903 00000 n -0007206971 00000 n -0007207191 00000 n -0007207290 00000 n -0007212355 00000 n -0007212399 00000 n -0007212443 00000 n -0007212485 00000 n -0007212527 00000 n -0007212571 00000 n -0007212615 00000 n -0007212683 00000 n -0007212873 00000 n -0007212972 00000 n -0007213190 00000 n -0007213521 00000 n -0007213943 00000 n -0007213987 00000 n -0007214031 00000 n -0007214099 00000 n -0007214333 00000 n -0007214432 00000 n -0007217644 00000 n -0007217811 00000 n -0007217879 00000 n -0007218114 00000 n -0007218213 00000 n -0007222342 00000 n -0007222673 00000 n -0007223095 00000 n -0007223139 00000 n -0007223182 00000 n -0007223225 00000 n -0007223269 00000 n -0007223313 00000 n -0007223357 00000 n -0007223401 00000 n -0007223469 00000 n -0007223689 00000 n -0007223788 00000 n -0007227600 00000 n -0007227931 00000 n -0007228353 00000 n -0007228395 00000 n -0007228438 00000 n -0007228482 00000 n -0007228526 00000 n -0007228594 00000 n -0007228814 00000 n -0007228913 00000 n -0007230823 00000 n -0007231154 00000 n -0007231576 00000 n -0007231620 00000 n -0007231663 00000 n -0007231707 00000 n -0007231751 00000 n -0007231795 00000 n -0007231839 00000 n -0007231882 00000 n -0007231926 00000 n -0007231969 00000 n -0007232013 00000 n -0007232057 00000 n -0007232101 00000 n -0007232144 00000 n -0007232188 00000 n -0007232231 00000 n -0007232275 00000 n -0007232319 00000 n -0007232650 00000 n -0007233072 00000 n -0007233115 00000 n -0007233159 00000 n -0007233203 00000 n -0007233246 00000 n -0007233290 00000 n -0007233333 00000 n -0007233377 00000 n -0007233421 00000 n -0007233503 00000 n -0007233547 00000 n -0007233615 00000 n -0007233850 00000 n -0007233949 00000 n -0007238371 00000 n -0007238538 00000 n -0007238698 00000 n -0007238858 00000 n -0007239025 00000 n -0007239192 00000 n -0007239270 00000 n -0007239326 00000 n -0007239381 00000 n -0007239436 00000 n -0007239492 00000 n -0007239823 00000 n -0007240245 00000 n -0007240576 00000 n -0007240998 00000 n -0007241041 00000 n -0007241085 00000 n -0007241129 00000 n -0007241173 00000 n -0007241216 00000 n -0007241260 00000 n -0007241303 00000 n -0007241347 00000 n -0007241390 00000 n -0007241434 00000 n -0007241477 00000 n -0007241521 00000 n -0007241565 00000 n -0007241608 00000 n -0007241676 00000 n -0007241910 00000 n -0007242009 00000 n -0007245796 00000 n -0007245840 00000 n -0007245884 00000 n -0007245928 00000 n -0007246259 00000 n -0007246681 00000 n -0007246724 00000 n -0007246792 00000 n -0007247027 00000 n -0007247126 00000 n -0007251501 00000 n -0007251832 00000 n -0007252254 00000 n -0007252298 00000 n -0007252342 00000 n -0007252386 00000 n -0007252430 00000 n -0007252474 00000 n -0007252518 00000 n -0007252562 00000 n -0007252606 00000 n -0007252674 00000 n -0007252910 00000 n -0007253009 00000 n -0007255337 00000 n -0007255504 00000 n -0007255547 00000 n -0007255878 00000 n -0007256300 00000 n -0007256368 00000 n -0007256617 00000 n -0007256716 00000 n -0007260005 00000 n -0007260336 00000 n -0007260758 00000 n -0007260826 00000 n -0007261060 00000 n -0007261159 00000 n -0007265129 00000 n -0007265295 00000 n -0007265339 00000 n -0007265407 00000 n -0007265627 00000 n -0007265726 00000 n -0007269613 00000 n -0007269944 00000 n -0007270366 00000 n -0007270410 00000 n -0007270454 00000 n -0007270497 00000 n -0007270565 00000 n -0007270755 00000 n -0007270854 00000 n -0007271072 00000 n -0007271403 00000 n -0007271825 00000 n -0007271869 00000 n -0007272200 00000 n -0007272622 00000 n -0007272666 00000 n -0007272734 00000 n -0007272997 00000 n -0007273096 00000 n -0007277593 00000 n -0007277760 00000 n -0007277803 00000 n -0007278134 00000 n -0007278556 00000 n -0007278600 00000 n -0007278643 00000 n -0007278687 00000 n -0007278730 00000 n -0007278774 00000 n -0007278818 00000 n -0007278862 00000 n -0007278930 00000 n -0007279179 00000 n -0007279278 00000 n -0007283671 00000 n -0007283739 00000 n -0007284002 00000 n -0007284101 00000 n -0007287645 00000 n -0007287976 00000 n -0007288398 00000 n -0007288442 00000 n -0007288486 00000 n -0007288530 00000 n -0007288574 00000 n -0007288618 00000 n -0007288661 00000 n -0007288704 00000 n -0007289035 00000 n -0007289457 00000 n -0007289501 00000 n -0007289545 00000 n -0007289589 00000 n -0007289632 00000 n -0007289676 00000 n -0007289717 00000 n -0007289761 00000 n -0007289805 00000 n -0007289873 00000 n -0007290122 00000 n -0007290221 00000 n -0007294655 00000 n -0007294698 00000 n -0007294742 00000 n -0007294810 00000 n -0007295030 00000 n -0007295129 00000 n -0007298810 00000 n -0007299141 00000 n -0007299563 00000 n -0007299607 00000 n -0007299651 00000 n -0007299692 00000 n -0007299735 00000 n -0007299779 00000 n -0007299847 00000 n -0007300082 00000 n -0007300181 00000 n -0007303730 00000 n -0007304061 00000 n -0007304483 00000 n -0007304527 00000 n -0007304571 00000 n -0007304615 00000 n -0007304656 00000 n -0007304699 00000 n -0007304742 00000 n -0007304810 00000 n -0007305030 00000 n -0007305129 00000 n -0007306917 00000 n -0007307248 00000 n -0007307670 00000 n -0007307714 00000 n -0007307757 00000 n -0007307801 00000 n -0007307869 00000 n -0007308118 00000 n -0007308217 00000 n -0007313143 00000 n -0007313474 00000 n -0007313896 00000 n -0007313940 00000 n -0007314008 00000 n -0007314271 00000 n -0007314370 00000 n -0007317893 00000 n -0007318059 00000 n -0007318102 00000 n -0007318433 00000 n -0007318855 00000 n -0007318898 00000 n -0007318942 00000 n -0007318986 00000 n -0007319029 00000 n -0007319072 00000 n -0007319116 00000 n -0007319160 00000 n -0007319204 00000 n -0007319272 00000 n -0007319506 00000 n -0007319605 00000 n -0007322975 00000 n -0007323306 00000 n -0007323728 00000 n -0007323772 00000 n -0007323816 00000 n -0007323857 00000 n -0007323925 00000 n -0007324159 00000 n -0007324258 00000 n -0007328031 00000 n -0007328362 00000 n -0007328784 00000 n -0007328828 00000 n -0007328896 00000 n -0007329116 00000 n -0007329215 00000 n -0007331508 00000 n -0007331839 00000 n -0007332261 00000 n -0007332305 00000 n -0007332373 00000 n -0007332593 00000 n -0007332692 00000 n -0007336255 00000 n -0007336586 00000 n -0007337008 00000 n -0007337052 00000 n -0007337096 00000 n -0007337139 00000 n -0007337470 00000 n -0007337892 00000 n -0007338223 00000 n -0007338645 00000 n -0007338689 00000 n -0007338733 00000 n -0007338777 00000 n -0007338821 00000 n -0007338862 00000 n -0007338930 00000 n -0007339164 00000 n -0007339263 00000 n -0007342669 00000 n -0007343000 00000 n -0007343422 00000 n -0007343465 00000 n -0007343509 00000 n -0007343552 00000 n -0007343595 00000 n -0007343639 00000 n -0007343707 00000 n -0007343897 00000 n -0007343996 00000 n -0007344214 00000 n -0007344545 00000 n -0007344967 00000 n -0007345011 00000 n -0007345055 00000 n -0007345099 00000 n -0007345143 00000 n -0007345211 00000 n -0007345474 00000 n -0007345573 00000 n -0007348008 00000 n -0007348339 00000 n -0007348761 00000 n -0007348829 00000 n -0007349064 00000 n -0007349163 00000 n -0007353665 00000 n -0007353996 00000 n -0007354418 00000 n -0007354462 00000 n -0007354506 00000 n -0007354549 00000 n -0007354617 00000 n -0007354851 00000 n -0007354950 00000 n -0007357754 00000 n -0007358085 00000 n -0007358507 00000 n -0007358550 00000 n -0007358618 00000 n -0007358867 00000 n -0007358966 00000 n -0007361843 00000 n -0007362174 00000 n -0007362596 00000 n -0007362640 00000 n -0007362684 00000 n -0007362752 00000 n -0007362986 00000 n -0007363085 00000 n -0007366468 00000 n -0007366635 00000 n -0007366966 00000 n -0007367388 00000 n -0007367431 00000 n -0007367475 00000 n -0007367518 00000 n -0007367586 00000 n -0007367806 00000 n -0007367905 00000 n -0007371789 00000 n -0007372120 00000 n -0007372542 00000 n -0007372585 00000 n -0007372628 00000 n -0007372672 00000 n -0007372716 00000 n -0007372760 00000 n -0007372804 00000 n -0007372847 00000 n -0007372891 00000 n -0007372935 00000 n -0007372978 00000 n -0007373021 00000 n -0007373065 00000 n -0007373108 00000 n -0007373152 00000 n -0007373196 00000 n -0007373240 00000 n -0007373283 00000 n -0007373351 00000 n -0007373600 00000 n -0007373699 00000 n -0007378014 00000 n -0007378057 00000 n -0007378100 00000 n -0007378168 00000 n -0007378417 00000 n -0007378516 00000 n -0007382671 00000 n -0007382837 00000 n -0007382879 00000 n -0007383210 00000 n -0007383632 00000 n -0007383700 00000 n -0007383935 00000 n -0007384034 00000 n -0007387394 00000 n -0007387725 00000 n -0007388147 00000 n -0007388191 00000 n -0007388234 00000 n -0007388277 00000 n -0007388320 00000 n -0007388363 00000 n -0007388406 00000 n -0007388450 00000 n -0007388493 00000 n -0007388536 00000 n -0007388579 00000 n -0007388623 00000 n -0007388666 00000 n -0007388709 00000 n -0007388777 00000 n -0007388997 00000 n -0007389096 00000 n -0007392129 00000 n -0007392460 00000 n -0007392882 00000 n -0007392950 00000 n -0007393184 00000 n -0007393283 00000 n -0007396509 00000 n -0007396840 00000 n -0007397262 00000 n -0007397305 00000 n -0007397349 00000 n -0007397392 00000 n -0007397436 00000 n -0007397504 00000 n -0007397753 00000 n -0007397852 00000 n -0007401757 00000 n -0007402088 00000 n -0007402510 00000 n -0007402553 00000 n -0007402596 00000 n -0007402639 00000 n -0007402683 00000 n -0007402727 00000 n -0007402770 00000 n -0007402813 00000 n -0007402856 00000 n -0007402899 00000 n -0007403230 00000 n -0007403652 00000 n -0007403696 00000 n -0007403740 00000 n -0007403783 00000 n -0007403826 00000 n -0007403868 00000 n -0007403911 00000 n -0007403952 00000 n -0007403995 00000 n -0007404039 00000 n -0007404107 00000 n -0007404341 00000 n -0007404440 00000 n -0007407990 00000 n -0007408321 00000 n -0007408743 00000 n -0007408786 00000 n -0007408829 00000 n -0007408872 00000 n -0007408916 00000 n -0007408960 00000 n -0007409003 00000 n -0007409047 00000 n -0007409088 00000 n -0007409131 00000 n -0007409175 00000 n -0007409219 00000 n -0007409263 00000 n -0007409306 00000 n -0007409349 00000 n -0007409393 00000 n -0007409434 00000 n -0007409502 00000 n -0007409779 00000 n -0007409878 00000 n -0007413995 00000 n -0007414161 00000 n -0007414203 00000 n -0007414534 00000 n -0007414956 00000 n -0007415168 00000 n -0007415812 00000 n -0007415855 00000 n -0007415898 00000 n -0007415942 00000 n -0007415985 00000 n -0007416029 00000 n -0007416073 00000 n -0007416116 00000 n -0007416157 00000 n -0007416201 00000 n -0007416245 00000 n -0007416288 00000 n -0007416332 00000 n -0007416375 00000 n -0007416419 00000 n -0007416487 00000 n -0007416707 00000 n -0007416806 00000 n -0007420470 00000 n -0007420801 00000 n -0007421223 00000 n -0007421267 00000 n -0007421311 00000 n -0007421379 00000 n -0007421628 00000 n -0007421727 00000 n -0007426271 00000 n -0007426437 00000 n -0007426603 00000 n -0007426645 00000 n -0007426687 00000 n -0007426730 00000 n -0007426774 00000 n -0007426817 00000 n -0007426860 00000 n -0007426904 00000 n -0007426947 00000 n -0007426988 00000 n -0007427032 00000 n -0007427076 00000 n -0007427120 00000 n -0007427161 00000 n -0007427204 00000 n -0007427248 00000 n -0007427316 00000 n -0007427551 00000 n -0007427650 00000 n -0007431945 00000 n -0007432276 00000 n -0007432698 00000 n -0007432741 00000 n -0007432785 00000 n -0007432829 00000 n -0007432873 00000 n -0007432915 00000 n -0007432959 00000 n -0007433002 00000 n -0007433046 00000 n -0007433089 00000 n -0007433132 00000 n -0007433176 00000 n -0007433218 00000 n -0007433260 00000 n -0007433304 00000 n -0007433372 00000 n -0007433635 00000 n -0007433734 00000 n -0007437481 00000 n -0007437647 00000 n -0007437689 00000 n -0007438020 00000 n -0007438442 00000 n -0007438486 00000 n -0007438530 00000 n -0007438574 00000 n -0007438618 00000 n -0007438662 00000 n -0007438730 00000 n -0007438950 00000 n -0007439049 00000 n -0007440867 00000 n -0007441198 00000 n -0007441620 00000 n -0007441661 00000 n -0007441704 00000 n -0007441748 00000 n -0007441790 00000 n -0007441834 00000 n -0007442165 00000 n -0007442587 00000 n -0007442655 00000 n -0007442889 00000 n -0007442988 00000 n -0007446334 00000 n -0007446500 00000 n -0007446542 00000 n -0007446873 00000 n -0007447295 00000 n -0007450555 00000 n -0007450599 00000 n -0007450643 00000 n -0007450686 00000 n -0007450730 00000 n -0007450773 00000 n -0007450816 00000 n -0007450860 00000 n -0007450904 00000 n -0007450948 00000 n -0007450992 00000 n -0007451036 00000 n -0007451080 00000 n -0007451121 00000 n -0007451164 00000 n -0007451208 00000 n -0007451276 00000 n -0007451555 00000 n -0007451654 00000 n -0007453958 00000 n -0007454124 00000 n -0007454290 00000 n -0007454456 00000 n -0007454498 00000 n -0007454540 00000 n -0007454582 00000 n -0007454913 00000 n -0007455335 00000 n -0007455377 00000 n -0007455421 00000 n -0007455464 00000 n -0007455507 00000 n -0007455575 00000 n -0007455809 00000 n -0007455908 00000 n -0007458491 00000 n -0007458822 00000 n -0007459244 00000 n -0007459288 00000 n -0007459332 00000 n -0007459376 00000 n -0007459419 00000 n -0007459487 00000 n -0007459736 00000 n -0007459835 00000 n -0007463426 00000 n -0007463757 00000 n -0007464179 00000 n -0007464222 00000 n -0007464266 00000 n -0007464310 00000 n -0007464353 00000 n -0007464397 00000 n -0007464441 00000 n -0007464509 00000 n -0007464757 00000 n -0007464856 00000 n -0007468013 00000 n -0007468179 00000 n -0007468222 00000 n -0007468553 00000 n -0007468975 00000 n -0007469019 00000 n -0007469087 00000 n -0007469350 00000 n -0007469449 00000 n -0007471722 00000 n -0007472053 00000 n -0007472475 00000 n -0007472519 00000 n -0007472563 00000 n -0007472604 00000 n -0007472648 00000 n -0007472691 00000 n -0007472735 00000 n -0007472779 00000 n -0007472823 00000 n -0007472866 00000 n -0007472910 00000 n -0007472954 00000 n -0007472998 00000 n -0007473041 00000 n -0007473085 00000 n -0007473153 00000 n -0007473387 00000 n -0007473486 00000 n -0007477732 00000 n -0007477899 00000 n -0007477942 00000 n -0007478273 00000 n -0007478695 00000 n -0007478763 00000 n -0007478983 00000 n -0007479082 00000 n -0007481984 00000 n -0007482315 00000 n -0007482737 00000 n -0007482805 00000 n -0007483054 00000 n -0007483153 00000 n -0007486075 00000 n -0007486406 00000 n -0007486828 00000 n -0007486871 00000 n -0007487202 00000 n -0007487624 00000 n -0007487667 00000 n -0007487735 00000 n -0007487955 00000 n -0007488054 00000 n -0007490596 00000 n -0007490927 00000 n -0007491349 00000 n -0007491391 00000 n -0007491435 00000 n -0007491503 00000 n -0007491752 00000 n -0007491851 00000 n -0007495886 00000 n -0007496217 00000 n -0007496639 00000 n -0007496682 00000 n -0007496723 00000 n -0007496766 00000 n -0007496810 00000 n -0007496853 00000 n -0007496896 00000 n -0007496940 00000 n -0007496983 00000 n -0007497051 00000 n -0007497300 00000 n -0007497399 00000 n -0007501210 00000 n -0007501376 00000 n -0007501418 00000 n -0007501749 00000 n -0007502171 00000 n -0007502214 00000 n -0007502258 00000 n -0007502302 00000 n -0007502345 00000 n -0007502389 00000 n -0007502433 00000 n -0007502477 00000 n -0007502521 00000 n -0007502589 00000 n -0007502824 00000 n -0007502923 00000 n -0007507603 00000 n -0007507742 00000 n -0007507881 00000 n -0007508020 00000 n -0007508159 00000 n -0007508298 00000 n -0007508437 00000 n -0007508576 00000 n -0007508715 00000 n -0007508854 00000 n -0007508993 00000 n -0007509132 00000 n -0007509271 00000 n -0007509410 00000 n -0007509549 00000 n -0007509688 00000 n -0007509827 00000 n -0007509966 00000 n -0007510105 00000 n -0007510244 00000 n -0007510383 00000 n -0007510522 00000 n -0007510661 00000 n -0007510800 00000 n -0007510939 00000 n -0007511078 00000 n -0007511217 00000 n -0007511356 00000 n -0007511495 00000 n -0007511634 00000 n -0007511773 00000 n -0007511912 00000 n -0007512051 00000 n -0007512190 00000 n -0007512329 00000 n -0007512468 00000 n -0007512607 00000 n -0007512746 00000 n -0007512885 00000 n -0007513024 00000 n -0007513163 00000 n -0007513302 00000 n -0007513441 00000 n -0007513580 00000 n -0007513719 00000 n -0007513858 00000 n -0007513997 00000 n -0007514136 00000 n -0007514275 00000 n -0007514414 00000 n -0007514553 00000 n -0007514692 00000 n -0007514831 00000 n -0007514970 00000 n -0007515109 00000 n -0007515248 00000 n -0007515387 00000 n -0007515526 00000 n -0007515665 00000 n -0007515804 00000 n -0007515943 00000 n -0007516082 00000 n -0007516221 00000 n -0007516360 00000 n -0007516499 00000 n -0007516638 00000 n -0007516777 00000 n -0007516916 00000 n -0007517055 00000 n -0007517194 00000 n -0007517333 00000 n -0007517472 00000 n -0007517611 00000 n -0007517750 00000 n -0007517889 00000 n -0007518028 00000 n -0007518167 00000 n -0007518306 00000 n -0007518445 00000 n -0007518584 00000 n -0007518723 00000 n -0007518862 00000 n -0007519001 00000 n -0007519140 00000 n -0007519279 00000 n -0007519418 00000 n -0007519557 00000 n -0007519696 00000 n -0007519835 00000 n -0007519974 00000 n -0007520113 00000 n -0007520252 00000 n -0007520391 00000 n -0007520530 00000 n -0007520669 00000 n -0007520808 00000 n -0007520947 00000 n -0007521086 00000 n -0007521225 00000 n -0007521364 00000 n -0007521503 00000 n -0007521642 00000 n -0007521781 00000 n -0007521920 00000 n -0007522059 00000 n -0007522198 00000 n -0007522337 00000 n -0007522476 00000 n -0007522615 00000 n -0007522754 00000 n -0007522893 00000 n -0007523032 00000 n -0007523171 00000 n -0007523310 00000 n -0007523449 00000 n -0007523588 00000 n -0007523727 00000 n -0007523866 00000 n -0007524005 00000 n -0007524144 00000 n -0007524283 00000 n -0007524422 00000 n -0007524561 00000 n -0007524700 00000 n -0007524839 00000 n -0007524978 00000 n -0007525117 00000 n -0007525256 00000 n -0007525395 00000 n -0007525534 00000 n -0007525673 00000 n -0007525812 00000 n -0007525951 00000 n -0007526090 00000 n -0007526229 00000 n -0007526368 00000 n -0007526507 00000 n -0007526646 00000 n -0007526785 00000 n -0007526924 00000 n -0007527063 00000 n -0007527202 00000 n -0007527341 00000 n -0007527480 00000 n -0007527619 00000 n -0007527758 00000 n -0007527897 00000 n -0007528036 00000 n -0007528175 00000 n -0007528314 00000 n -0007528453 00000 n -0007528592 00000 n -0007528731 00000 n -0007528870 00000 n -0007529009 00000 n -0007529148 00000 n -0007529287 00000 n -0007529426 00000 n -0007529565 00000 n -0007529704 00000 n -0007529843 00000 n -0007529982 00000 n -0007530121 00000 n -0007530260 00000 n -0007530399 00000 n -0007530538 00000 n -0007530677 00000 n -0007530816 00000 n -0007530955 00000 n -0007531094 00000 n -0007531233 00000 n -0007531372 00000 n -0007531511 00000 n -0007531650 00000 n -0007531789 00000 n -0007531928 00000 n -0007532067 00000 n -0007532206 00000 n -0007532345 00000 n -0007532484 00000 n -0007532623 00000 n -0007532762 00000 n -0007532901 00000 n -0007533040 00000 n -0007533179 00000 n -0007533318 00000 n -0007533457 00000 n -0007533596 00000 n -0007533735 00000 n -0007533874 00000 n -0007534013 00000 n -0007534152 00000 n -0007534291 00000 n -0007534430 00000 n -0007534569 00000 n -0007534708 00000 n -0007534847 00000 n -0007534986 00000 n -0007535125 00000 n -0007535264 00000 n -0007535403 00000 n -0007535542 00000 n -0007535681 00000 n -0007535820 00000 n -0007535959 00000 n -0007536098 00000 n -0007536237 00000 n -0007536376 00000 n -0007536515 00000 n -0007536654 00000 n -0007536793 00000 n -0007536932 00000 n -0007537071 00000 n -0007537210 00000 n -0007537349 00000 n -0007537488 00000 n -0007537627 00000 n -0007537766 00000 n -0007537905 00000 n -0007538044 00000 n -0007538183 00000 n -0007538322 00000 n -0007538461 00000 n -0007538600 00000 n -0007538739 00000 n -0007538878 00000 n -0007539017 00000 n -0007539156 00000 n -0007539295 00000 n -0007539434 00000 n -0007539573 00000 n -0007539712 00000 n -0007539851 00000 n -0007539990 00000 n -0007540129 00000 n -0007540268 00000 n -0007540407 00000 n -0007540546 00000 n -0007540685 00000 n -0007540824 00000 n -0007540963 00000 n -0007541102 00000 n -0007541241 00000 n -0007541380 00000 n -0007541519 00000 n -0007541658 00000 n -0007541797 00000 n -0007541936 00000 n -0007542075 00000 n -0007542214 00000 n -0007542353 00000 n -0007542492 00000 n -0007542631 00000 n -0007542770 00000 n -0007542909 00000 n -0007543048 00000 n -0007543187 00000 n -0007543326 00000 n -0007543465 00000 n -0007543604 00000 n -0007543743 00000 n -0007543882 00000 n -0007544021 00000 n -0007544160 00000 n -0007544299 00000 n -0007544438 00000 n -0007544577 00000 n -0007544716 00000 n -0007544855 00000 n -0007544994 00000 n -0007545133 00000 n -0007545272 00000 n -0007545411 00000 n -0007545550 00000 n -0007545689 00000 n -0007545828 00000 n -0007545967 00000 n -0007546106 00000 n -0007546245 00000 n -0007546384 00000 n -0007546523 00000 n -0007546662 00000 n -0007546801 00000 n -0007546940 00000 n -0007546983 00000 n -0007547026 00000 n -0007547069 00000 n -0007547112 00000 n -0007547155 00000 n -0007547198 00000 n -0007547241 00000 n -0007547284 00000 n -0007547327 00000 n -0007547370 00000 n -0007547413 00000 n -0007547456 00000 n -0007547499 00000 n -0007547542 00000 n -0007547585 00000 n -0007547628 00000 n -0007547671 00000 n -0007547714 00000 n -0007547757 00000 n -0007547800 00000 n -0007547843 00000 n -0007547886 00000 n -0007547929 00000 n -0007547972 00000 n -0007548015 00000 n -0007548058 00000 n -0007548101 00000 n -0007548144 00000 n -0007548187 00000 n -0007548230 00000 n -0007548273 00000 n -0007548316 00000 n -0007548359 00000 n -0007548402 00000 n -0007548445 00000 n -0007548488 00000 n -0007548531 00000 n -0007548574 00000 n -0007548617 00000 n -0007548660 00000 n -0007548703 00000 n -0007548746 00000 n -0007548789 00000 n -0007548832 00000 n -0007548875 00000 n -0007548918 00000 n -0007548961 00000 n -0007549004 00000 n -0007549047 00000 n -0007549090 00000 n -0007549133 00000 n -0007549176 00000 n -0007549219 00000 n -0007549262 00000 n -0007549305 00000 n -0007549348 00000 n -0007549391 00000 n -0007549434 00000 n -0007549477 00000 n -0007549520 00000 n -0007549563 00000 n -0007549606 00000 n -0007549649 00000 n -0007549692 00000 n -0007549735 00000 n -0007549778 00000 n -0007549821 00000 n -0007549864 00000 n -0007549907 00000 n -0007549950 00000 n -0007549993 00000 n -0007550036 00000 n -0007550079 00000 n -0007550122 00000 n -0007550165 00000 n -0007550208 00000 n -0007550251 00000 n -0007550294 00000 n -0007550337 00000 n -0007550380 00000 n -0007550423 00000 n -0007550466 00000 n -0007550509 00000 n -0007550552 00000 n -0007550595 00000 n -0007550638 00000 n -0007550681 00000 n -0007550724 00000 n -0007550767 00000 n -0007550810 00000 n -0007550853 00000 n -0007550896 00000 n -0007550939 00000 n -0007550982 00000 n -0007551025 00000 n -0007551068 00000 n -0007551111 00000 n -0007551154 00000 n -0007551197 00000 n -0007551240 00000 n -0007551283 00000 n -0007551326 00000 n -0007551369 00000 n -0007551412 00000 n -0007551455 00000 n -0007551498 00000 n -0007551541 00000 n -0007551584 00000 n -0007551627 00000 n -0007551670 00000 n -0007551713 00000 n -0007551756 00000 n -0007551799 00000 n -0007551842 00000 n -0007551885 00000 n -0007551928 00000 n -0007551971 00000 n -0007552014 00000 n -0007552057 00000 n -0007552100 00000 n -0007552143 00000 n -0007552186 00000 n -0007552229 00000 n -0007552272 00000 n -0007552315 00000 n -0007552358 00000 n -0007552401 00000 n -0007552444 00000 n -0007552487 00000 n -0007552530 00000 n -0007552573 00000 n -0007552616 00000 n -0007552659 00000 n -0007552702 00000 n -0007552745 00000 n -0007552788 00000 n -0007552831 00000 n -0007552874 00000 n -0007552917 00000 n -0007552960 00000 n -0007553003 00000 n -0007553046 00000 n -0007553089 00000 n -0007553132 00000 n -0007553175 00000 n -0007553218 00000 n -0007553261 00000 n -0007553304 00000 n -0007553347 00000 n -0007553390 00000 n -0007553433 00000 n -0007553476 00000 n -0007553519 00000 n -0007553562 00000 n -0007553605 00000 n -0007553648 00000 n -0007553691 00000 n -0007553734 00000 n -0007553777 00000 n -0007553820 00000 n -0007553863 00000 n -0007553906 00000 n -0007553949 00000 n -0007553992 00000 n -0007554035 00000 n -0007554078 00000 n -0007554121 00000 n -0007554164 00000 n -0007554207 00000 n -0007554250 00000 n -0007554293 00000 n -0007554336 00000 n -0007554379 00000 n -0007554422 00000 n -0007554465 00000 n -0007554508 00000 n -0007554551 00000 n -0007554594 00000 n -0007554637 00000 n -0007554680 00000 n -0007554723 00000 n -0007554766 00000 n -0007554809 00000 n -0007554852 00000 n -0007554895 00000 n -0007554938 00000 n -0007554981 00000 n -0007555024 00000 n -0007555067 00000 n -0007555110 00000 n -0007555153 00000 n -0007555196 00000 n -0007555239 00000 n -0007555282 00000 n -0007555325 00000 n -0007555368 00000 n -0007555411 00000 n -0007555454 00000 n -0007555497 00000 n -0007555828 00000 n -0007556250 00000 n -0007556293 00000 n -0007556336 00000 n -0007556379 00000 n -0007556422 00000 n -0007556465 00000 n -0007556533 00000 n -0007556753 00000 n -0007556852 00000 n -0007558895 00000 n -0007559226 00000 n -0007559648 00000 n -0007559691 00000 n -0007559759 00000 n -0007560008 00000 n -0007560107 00000 n -0007563803 00000 n -0007564134 00000 n -0007564556 00000 n -0007564599 00000 n -0007564642 00000 n -0007564685 00000 n -0007564728 00000 n -0007564771 00000 n -0007564815 00000 n -0007564858 00000 n -0007564901 00000 n -0007564944 00000 n -0007564988 00000 n -0007565032 00000 n -0007565076 00000 n -0007565120 00000 n -0007565188 00000 n -0007565481 00000 n -0007565580 00000 n -0007567355 00000 n -0007567522 00000 n -0007567853 00000 n -0007568275 00000 n -0007568319 00000 n -0007568362 00000 n -0007568430 00000 n -0007568664 00000 n -0007568763 00000 n -0007572493 00000 n -0007572824 00000 n -0007573246 00000 n -0007573289 00000 n -0007573333 00000 n -0007573376 00000 n -0007573420 00000 n -0007573464 00000 n -0007573488 00000 n -0007573817 00000 n -0007573897 00000 n -0007575431 00000 n -0007575473 00000 n -0007578733 00000 n -0007578774 00000 n -0007578842 00000 n -0007579091 00000 n -0007579190 00000 n -0007582870 00000 n -0007583201 00000 n -0007583623 00000 n -0007583954 00000 n -0007584376 00000 n -0007584419 00000 n -0007584463 00000 n -0007584507 00000 n -0007584550 00000 n -0007584618 00000 n -0007584867 00000 n -0007584966 00000 n -0007589577 00000 n -0007589743 00000 n -0007589785 00000 n -0007590116 00000 n -0007590538 00000 n -0007590582 00000 n -0007590626 00000 n -0007590669 00000 n -0007590713 00000 n -0007590757 00000 n -0007590801 00000 n -0007590842 00000 n -0007592165 00000 n -0007592233 00000 n -0007592482 00000 n -0007592581 00000 n -0007597132 00000 n -0007597463 00000 n -0007597885 00000 n -0007597953 00000 n -0007598173 00000 n -0007598272 00000 n -0007602190 00000 n -0007602329 00000 n -0007602468 00000 n -0007602607 00000 n -0007602746 00000 n -0007602885 00000 n -0007603024 00000 n -0007603163 00000 n -0007603302 00000 n -0007603441 00000 n -0007603580 00000 n -0007603719 00000 n -0007603858 00000 n -0007603997 00000 n -0007604136 00000 n -0007604275 00000 n -0007604414 00000 n -0007604553 00000 n -0007604692 00000 n -0007604831 00000 n -0007604970 00000 n -0007605109 00000 n -0007605248 00000 n -0007605387 00000 n -0007605526 00000 n -0007605665 00000 n -0007605804 00000 n -0007605943 00000 n -0007606082 00000 n -0007606221 00000 n -0007606360 00000 n -0007606499 00000 n -0007606638 00000 n -0007606777 00000 n -0007606916 00000 n -0007607055 00000 n -0007607194 00000 n -0007607333 00000 n -0007607472 00000 n -0007607611 00000 n -0007607750 00000 n -0007607889 00000 n -0007608028 00000 n -0007608167 00000 n -0007608306 00000 n -0007608445 00000 n -0007608584 00000 n -0007608723 00000 n -0007608862 00000 n -0007609001 00000 n -0007609140 00000 n -0007609279 00000 n -0007609418 00000 n -0007609557 00000 n -0007609696 00000 n -0007609835 00000 n -0007609974 00000 n -0007610113 00000 n -0007610252 00000 n -0007610391 00000 n -0007610530 00000 n -0007610669 00000 n -0007610808 00000 n -0007610947 00000 n -0007611086 00000 n -0007611225 00000 n -0007611364 00000 n -0007611503 00000 n -0007611642 00000 n -0007611781 00000 n -0007611920 00000 n -0007612059 00000 n -0007612198 00000 n -0007612337 00000 n -0007612476 00000 n -0007612615 00000 n -0007612754 00000 n -0007612893 00000 n -0007613032 00000 n -0007613171 00000 n -0007613310 00000 n -0007613449 00000 n -0007613588 00000 n -0007613727 00000 n -0007613866 00000 n -0007614005 00000 n -0007614144 00000 n -0007614283 00000 n -0007614422 00000 n -0007614561 00000 n -0007614700 00000 n -0007614839 00000 n -0007614978 00000 n -0007615117 00000 n -0007615256 00000 n -0007615395 00000 n -0007615534 00000 n -0007615673 00000 n -0007615812 00000 n -0007615951 00000 n -0007616090 00000 n -0007616229 00000 n -0007616368 00000 n -0007616507 00000 n -0007616646 00000 n -0007616785 00000 n -0007616924 00000 n -0007617063 00000 n -0007617202 00000 n -0007617341 00000 n -0007617480 00000 n -0007617619 00000 n -0007617758 00000 n -0007617897 00000 n -0007618036 00000 n -0007618175 00000 n -0007618314 00000 n -0007618453 00000 n -0007618592 00000 n -0007618731 00000 n -0007618870 00000 n -0007619009 00000 n -0007619148 00000 n -0007619287 00000 n -0007619426 00000 n -0007619565 00000 n -0007619704 00000 n -0007619843 00000 n -0007619982 00000 n -0007620121 00000 n -0007620260 00000 n -0007620399 00000 n -0007620538 00000 n -0007620677 00000 n -0007620816 00000 n -0007620955 00000 n -0007621094 00000 n -0007621233 00000 n -0007621372 00000 n -0007621511 00000 n -0007621650 00000 n -0007621789 00000 n -0007621928 00000 n -0007622067 00000 n -0007622206 00000 n -0007622345 00000 n -0007622484 00000 n -0007622623 00000 n -0007622762 00000 n -0007622901 00000 n -0007623040 00000 n -0007623179 00000 n -0007623318 00000 n -0007623457 00000 n -0007623596 00000 n -0007623735 00000 n -0007623874 00000 n -0007624013 00000 n -0007624152 00000 n -0007624291 00000 n -0007624430 00000 n -0007624569 00000 n -0007624708 00000 n -0007624847 00000 n -0007624986 00000 n -0007625125 00000 n -0007625264 00000 n -0007625403 00000 n -0007625542 00000 n -0007625681 00000 n -0007625820 00000 n -0007625959 00000 n -0007626098 00000 n -0007626237 00000 n -0007626376 00000 n -0007626515 00000 n -0007626654 00000 n -0007626793 00000 n -0007626932 00000 n -0007627071 00000 n -0007627210 00000 n -0007627349 00000 n -0007627488 00000 n -0007627627 00000 n -0007627766 00000 n -0007627905 00000 n -0007628044 00000 n -0007628183 00000 n -0007628322 00000 n -0007628461 00000 n -0007628600 00000 n -0007628739 00000 n -0007628878 00000 n -0007629017 00000 n -0007629156 00000 n -0007629295 00000 n -0007629434 00000 n -0007629573 00000 n -0007629712 00000 n -0007629851 00000 n -0007629990 00000 n -0007630129 00000 n -0007630268 00000 n -0007630407 00000 n -0007630546 00000 n -0007630685 00000 n -0007630824 00000 n -0007630963 00000 n -0007631102 00000 n -0007631241 00000 n -0007631380 00000 n -0007631519 00000 n -0007631658 00000 n -0007631797 00000 n -0007631936 00000 n -0007632075 00000 n -0007632214 00000 n -0007632353 00000 n -0007632492 00000 n -0007632631 00000 n -0007632770 00000 n -0007632909 00000 n -0007633048 00000 n -0007633187 00000 n -0007633326 00000 n -0007633465 00000 n -0007633604 00000 n -0007633743 00000 n -0007633882 00000 n -0007634021 00000 n -0007634160 00000 n -0007634299 00000 n -0007634438 00000 n -0007634577 00000 n -0007634716 00000 n -0007634855 00000 n -0007634994 00000 n -0007635133 00000 n -0007635272 00000 n -0007635411 00000 n -0007635550 00000 n -0007635689 00000 n -0007635828 00000 n -0007635967 00000 n -0007636106 00000 n -0007636245 00000 n -0007636384 00000 n -0007636523 00000 n -0007636662 00000 n -0007636801 00000 n -0007636940 00000 n -0007637079 00000 n -0007637218 00000 n -0007637357 00000 n -0007637496 00000 n -0007637635 00000 n -0007637774 00000 n -0007637913 00000 n -0007638052 00000 n -0007638191 00000 n -0007638330 00000 n -0007638469 00000 n -0007638608 00000 n -0007638747 00000 n -0007638886 00000 n -0007639025 00000 n -0007639164 00000 n -0007639303 00000 n -0007639442 00000 n -0007639581 00000 n -0007639720 00000 n -0007639859 00000 n -0007639998 00000 n -0007640137 00000 n -0007640276 00000 n -0007640415 00000 n -0007640554 00000 n -0007640693 00000 n -0007640832 00000 n -0007640971 00000 n -0007641110 00000 n -0007641249 00000 n -0007641388 00000 n -0007641527 00000 n -0007641570 00000 n -0007641613 00000 n -0007641656 00000 n -0007641699 00000 n -0007641742 00000 n -0007641785 00000 n -0007641828 00000 n -0007641871 00000 n -0007641914 00000 n -0007641957 00000 n -0007642000 00000 n -0007642043 00000 n -0007642086 00000 n -0007642129 00000 n -0007642172 00000 n -0007642215 00000 n -0007642258 00000 n -0007642301 00000 n -0007642344 00000 n -0007642387 00000 n -0007642430 00000 n -0007642473 00000 n -0007642516 00000 n -0007642559 00000 n -0007642602 00000 n -0007642645 00000 n -0007642688 00000 n -0007642731 00000 n -0007642774 00000 n -0007642817 00000 n -0007642860 00000 n -0007642903 00000 n -0007642946 00000 n -0007642989 00000 n -0007643032 00000 n -0007643075 00000 n -0007643118 00000 n -0007643161 00000 n -0007643204 00000 n -0007643247 00000 n -0007643290 00000 n -0007643333 00000 n -0007643376 00000 n -0007643419 00000 n -0007643462 00000 n -0007643505 00000 n -0007643548 00000 n -0007643591 00000 n -0007643634 00000 n -0007643677 00000 n -0007643720 00000 n -0007643763 00000 n -0007643806 00000 n -0007643849 00000 n -0007643892 00000 n -0007643935 00000 n -0007643978 00000 n -0007644021 00000 n -0007644064 00000 n -0007644107 00000 n -0007644150 00000 n -0007644193 00000 n -0007644236 00000 n -0007644279 00000 n -0007644322 00000 n -0007644365 00000 n -0007644408 00000 n -0007644451 00000 n -0007644494 00000 n -0007644537 00000 n -0007644580 00000 n -0007644623 00000 n -0007644666 00000 n -0007644709 00000 n -0007644752 00000 n -0007644795 00000 n -0007644838 00000 n -0007644881 00000 n -0007644924 00000 n -0007644967 00000 n -0007645010 00000 n -0007645053 00000 n -0007645096 00000 n -0007645139 00000 n -0007645182 00000 n -0007645225 00000 n -0007645268 00000 n -0007645311 00000 n -0007645354 00000 n -0007645397 00000 n -0007645440 00000 n -0007645483 00000 n -0007645526 00000 n -0007645569 00000 n -0007645612 00000 n -0007645655 00000 n -0007645698 00000 n -0007645741 00000 n -0007645784 00000 n -0007645827 00000 n -0007645870 00000 n -0007645913 00000 n -0007645956 00000 n -0007645999 00000 n -0007646042 00000 n -0007646085 00000 n -0007646128 00000 n -0007646171 00000 n -0007646214 00000 n -0007646257 00000 n -0007646300 00000 n -0007646343 00000 n -0007646386 00000 n -0007646429 00000 n -0007646472 00000 n -0007646515 00000 n -0007646558 00000 n -0007646601 00000 n -0007646644 00000 n -0007646687 00000 n -0007646730 00000 n -0007646773 00000 n -0007646816 00000 n -0007646859 00000 n -0007646902 00000 n -0007646945 00000 n -0007646988 00000 n -0007647031 00000 n -0007647074 00000 n -0007647117 00000 n -0007647160 00000 n -0007647203 00000 n -0007647246 00000 n -0007647289 00000 n -0007647332 00000 n -0007647375 00000 n -0007647418 00000 n -0007647461 00000 n -0007647504 00000 n -0007647547 00000 n -0007647590 00000 n -0007647633 00000 n -0007647676 00000 n -0007647719 00000 n -0007647762 00000 n -0007647805 00000 n -0007647848 00000 n -0007647891 00000 n -0007647934 00000 n -0007647977 00000 n -0007648020 00000 n -0007648063 00000 n -0007648106 00000 n -0007648149 00000 n -0007648192 00000 n -0007648235 00000 n -0007648278 00000 n -0007648321 00000 n -0007648364 00000 n -0007648407 00000 n -0007648450 00000 n -0007648493 00000 n -0007648536 00000 n -0007648579 00000 n -0007648622 00000 n -0007648665 00000 n -0007648708 00000 n -0007648751 00000 n -0007648794 00000 n -0007648837 00000 n -0007648880 00000 n -0007648923 00000 n -0007648966 00000 n -0007649009 00000 n -0007649052 00000 n -0007649095 00000 n -0007649138 00000 n -0007649181 00000 n -0007649224 00000 n -0007649267 00000 n -0007649310 00000 n -0007649353 00000 n -0007649396 00000 n -0007649439 00000 n -0007649482 00000 n -0007649525 00000 n -0007649568 00000 n -0007649611 00000 n -0007649654 00000 n -0007649697 00000 n -0007649740 00000 n -0007649783 00000 n -0007649826 00000 n -0007649869 00000 n -0007649912 00000 n -0007649955 00000 n -0007649998 00000 n -0007650041 00000 n -0007650084 00000 n -0007650127 00000 n -0007650458 00000 n -0007650880 00000 n -0007650923 00000 n -0007650967 00000 n -0007651010 00000 n -0007651051 00000 n -0007651095 00000 n -0007651138 00000 n -0007651181 00000 n -0007651225 00000 n -0007651269 00000 n -0007651337 00000 n -0007651614 00000 n -0007651713 00000 n -0007655487 00000 n -0007655818 00000 n -0007656240 00000 n -0007656284 00000 n -0007656352 00000 n -0007656542 00000 n -0007656641 00000 n -0007656859 00000 n -0007657190 00000 n -0007657612 00000 n -0007657656 00000 n -0007657700 00000 n -0007657743 00000 n -0007657787 00000 n -0007657831 00000 n -0007657874 00000 n -0007657918 00000 n -0007657959 00000 n -0007658027 00000 n -0007658247 00000 n -0007658346 00000 n -0007660759 00000 n -0007661090 00000 n -0007661512 00000 n -0007661555 00000 n -0007661598 00000 n -0007661641 00000 n -0007661685 00000 n -0007661728 00000 n -0007661771 00000 n -0007661814 00000 n -0007661857 00000 n -0007661901 00000 n -0007661969 00000 n -0007662246 00000 n -0007662345 00000 n -0007665348 00000 n -0007665513 00000 n -0007665555 00000 n -0007665623 00000 n -0007665857 00000 n -0007665956 00000 n -0007670276 00000 n -0007670442 00000 n -0007670773 00000 n -0007671195 00000 n -0007671239 00000 n -0007671282 00000 n -0007671325 00000 n -0007671369 00000 n -0007671413 00000 n -0007671457 00000 n -0007671500 00000 n -0007671543 00000 n -0007671587 00000 n -0007671655 00000 n -0007671920 00000 n -0007672019 00000 n -0007674105 00000 n -0007674271 00000 n -0007674437 00000 n -0007674602 00000 n -0007674644 00000 n -0007674686 00000 n -0007674728 00000 n -0007675059 00000 n -0007675481 00000 n -0007675523 00000 n -0007675567 00000 n -0007675635 00000 n -0007675884 00000 n -0007675983 00000 n -0007680487 00000 n -0007680653 00000 n -0007680695 00000 n -0007681026 00000 n -0007681448 00000 n -0007681491 00000 n -0007681534 00000 n -0007681865 00000 n -0007682287 00000 n -0007682355 00000 n -0007682590 00000 n -0007682689 00000 n -0007686818 00000 n -0007686957 00000 n -0007687096 00000 n -0007687235 00000 n -0007687374 00000 n -0007687513 00000 n -0007687652 00000 n -0007687791 00000 n -0007687930 00000 n -0007688069 00000 n -0007688208 00000 n -0007688347 00000 n -0007688486 00000 n -0007688625 00000 n -0007688764 00000 n -0007688903 00000 n -0007689042 00000 n -0007689181 00000 n -0007689320 00000 n -0007689459 00000 n -0007689598 00000 n -0007689737 00000 n -0007689876 00000 n -0007690015 00000 n -0007690154 00000 n -0007690293 00000 n -0007690432 00000 n -0007690571 00000 n -0007690710 00000 n -0007690849 00000 n -0007690988 00000 n -0007691127 00000 n -0007691266 00000 n -0007691405 00000 n -0007691544 00000 n -0007691683 00000 n -0007691822 00000 n -0007691961 00000 n -0007692100 00000 n -0007692239 00000 n -0007692378 00000 n -0007692517 00000 n -0007692656 00000 n -0007692795 00000 n -0007692934 00000 n -0007693073 00000 n -0007693212 00000 n -0007693351 00000 n -0007693490 00000 n -0007693629 00000 n -0007693768 00000 n -0007693907 00000 n -0007694046 00000 n -0007694185 00000 n -0007694324 00000 n -0007694463 00000 n -0007694602 00000 n -0007694741 00000 n -0007694880 00000 n -0007695019 00000 n -0007695158 00000 n -0007695297 00000 n -0007695436 00000 n -0007695575 00000 n -0007695714 00000 n -0007695853 00000 n -0007695992 00000 n -0007696131 00000 n -0007696270 00000 n -0007696409 00000 n -0007696548 00000 n -0007696687 00000 n -0007696826 00000 n -0007696965 00000 n -0007697104 00000 n -0007697243 00000 n -0007697382 00000 n -0007697521 00000 n -0007697660 00000 n -0007697799 00000 n -0007697938 00000 n -0007698077 00000 n -0007698216 00000 n -0007698355 00000 n -0007698494 00000 n -0007698633 00000 n -0007698772 00000 n -0007698911 00000 n -0007699050 00000 n -0007699189 00000 n -0007699328 00000 n -0007699467 00000 n -0007699606 00000 n -0007699745 00000 n -0007699884 00000 n -0007700023 00000 n -0007700162 00000 n -0007700301 00000 n -0007700440 00000 n -0007700579 00000 n -0007700718 00000 n -0007700857 00000 n -0007700996 00000 n -0007701135 00000 n -0007701274 00000 n -0007701413 00000 n -0007701552 00000 n -0007701691 00000 n -0007701830 00000 n -0007701969 00000 n -0007702108 00000 n -0007702247 00000 n -0007702386 00000 n -0007702525 00000 n -0007702664 00000 n -0007702803 00000 n -0007702942 00000 n -0007703081 00000 n -0007703220 00000 n -0007703359 00000 n -0007703498 00000 n -0007703637 00000 n -0007703776 00000 n -0007703915 00000 n -0007704054 00000 n -0007704193 00000 n -0007704332 00000 n -0007704471 00000 n -0007704610 00000 n -0007704749 00000 n -0007704888 00000 n -0007705027 00000 n -0007705166 00000 n -0007705305 00000 n -0007705444 00000 n -0007705583 00000 n -0007705722 00000 n -0007705861 00000 n -0007706000 00000 n -0007706139 00000 n -0007706278 00000 n -0007706417 00000 n -0007706556 00000 n -0007706695 00000 n -0007706834 00000 n -0007706973 00000 n -0007707112 00000 n -0007707251 00000 n -0007707390 00000 n -0007707529 00000 n -0007707668 00000 n -0007707807 00000 n -0007707946 00000 n -0007708085 00000 n -0007708224 00000 n -0007708363 00000 n -0007708502 00000 n -0007708641 00000 n -0007708780 00000 n -0007708919 00000 n -0007709058 00000 n -0007709197 00000 n -0007709336 00000 n -0007709475 00000 n -0007709614 00000 n -0007709753 00000 n -0007709892 00000 n -0007710031 00000 n -0007710170 00000 n -0007710309 00000 n -0007710448 00000 n -0007710587 00000 n -0007710726 00000 n -0007710865 00000 n -0007711004 00000 n -0007711143 00000 n -0007711282 00000 n -0007711421 00000 n -0007711560 00000 n -0007711699 00000 n -0007711838 00000 n -0007711977 00000 n -0007712116 00000 n -0007712255 00000 n -0007712394 00000 n -0007712533 00000 n -0007712672 00000 n -0007712811 00000 n -0007712950 00000 n -0007713089 00000 n -0007713228 00000 n -0007713367 00000 n -0007713506 00000 n -0007713645 00000 n -0007713784 00000 n -0007713923 00000 n -0007714062 00000 n -0007714201 00000 n -0007714340 00000 n -0007714479 00000 n -0007714618 00000 n -0007714757 00000 n -0007714896 00000 n -0007715035 00000 n -0007715174 00000 n -0007715313 00000 n -0007715452 00000 n -0007715591 00000 n -0007715730 00000 n -0007715869 00000 n -0007716008 00000 n -0007716147 00000 n -0007716286 00000 n -0007716425 00000 n -0007716564 00000 n -0007716703 00000 n -0007716842 00000 n -0007716981 00000 n -0007717120 00000 n -0007717259 00000 n -0007717398 00000 n -0007717537 00000 n -0007717676 00000 n -0007717815 00000 n -0007717954 00000 n -0007718093 00000 n -0007718232 00000 n -0007718371 00000 n -0007718510 00000 n -0007718649 00000 n -0007718788 00000 n -0007718927 00000 n -0007719066 00000 n -0007719205 00000 n -0007719344 00000 n -0007719483 00000 n -0007719622 00000 n -0007719761 00000 n -0007719900 00000 n -0007720039 00000 n -0007720178 00000 n -0007720317 00000 n -0007720456 00000 n -0007720595 00000 n -0007720734 00000 n -0007720873 00000 n -0007721012 00000 n -0007721151 00000 n -0007721290 00000 n -0007721429 00000 n -0007721568 00000 n -0007721707 00000 n -0007721846 00000 n -0007721985 00000 n -0007722124 00000 n -0007722263 00000 n -0007722402 00000 n -0007722541 00000 n -0007722680 00000 n -0007722819 00000 n -0007722958 00000 n -0007723097 00000 n -0007723236 00000 n -0007723375 00000 n -0007723514 00000 n -0007723653 00000 n -0007723792 00000 n -0007723931 00000 n -0007724070 00000 n -0007724209 00000 n -0007724348 00000 n -0007724391 00000 n -0007724434 00000 n -0007724477 00000 n -0007724520 00000 n -0007724563 00000 n -0007724606 00000 n -0007724649 00000 n -0007724692 00000 n -0007724735 00000 n -0007724778 00000 n -0007724821 00000 n -0007724864 00000 n -0007724907 00000 n -0007724950 00000 n -0007724993 00000 n -0007725036 00000 n -0007725079 00000 n -0007725122 00000 n -0007725165 00000 n -0007725208 00000 n -0007725251 00000 n -0007725294 00000 n -0007725337 00000 n -0007725380 00000 n -0007725423 00000 n -0007725466 00000 n -0007725509 00000 n -0007725552 00000 n -0007725595 00000 n -0007725638 00000 n -0007725681 00000 n -0007725724 00000 n -0007725767 00000 n -0007725810 00000 n -0007725853 00000 n -0007725896 00000 n -0007725939 00000 n -0007725982 00000 n -0007726025 00000 n -0007726068 00000 n -0007726111 00000 n -0007726154 00000 n -0007726197 00000 n -0007726240 00000 n -0007726283 00000 n -0007726326 00000 n -0007726369 00000 n -0007726412 00000 n -0007726455 00000 n -0007726498 00000 n -0007726541 00000 n -0007726584 00000 n -0007726627 00000 n -0007726670 00000 n -0007726713 00000 n -0007726756 00000 n -0007726799 00000 n -0007726842 00000 n -0007726885 00000 n -0007726928 00000 n -0007726971 00000 n -0007727014 00000 n -0007727057 00000 n -0007727100 00000 n -0007727143 00000 n -0007727186 00000 n -0007727229 00000 n -0007727272 00000 n -0007727315 00000 n -0007727358 00000 n -0007727401 00000 n -0007727444 00000 n -0007727487 00000 n -0007727530 00000 n -0007727573 00000 n -0007727616 00000 n -0007727659 00000 n -0007727702 00000 n -0007727745 00000 n -0007727788 00000 n -0007727831 00000 n -0007727874 00000 n -0007727917 00000 n -0007727960 00000 n -0007728003 00000 n -0007728046 00000 n -0007728089 00000 n -0007728132 00000 n -0007728175 00000 n -0007728218 00000 n -0007728261 00000 n -0007728304 00000 n -0007728347 00000 n -0007728390 00000 n -0007728433 00000 n -0007728476 00000 n -0007728519 00000 n -0007728562 00000 n -0007728605 00000 n -0007728648 00000 n -0007728691 00000 n -0007728734 00000 n -0007728777 00000 n -0007728820 00000 n -0007728863 00000 n -0007728906 00000 n -0007728949 00000 n -0007728992 00000 n -0007729035 00000 n -0007729078 00000 n -0007729121 00000 n -0007729164 00000 n -0007729207 00000 n -0007729250 00000 n -0007729293 00000 n -0007729336 00000 n -0007729379 00000 n -0007729422 00000 n -0007729465 00000 n -0007729508 00000 n -0007729551 00000 n -0007729594 00000 n -0007729637 00000 n -0007729680 00000 n -0007729723 00000 n -0007729766 00000 n -0007729809 00000 n -0007729852 00000 n -0007729895 00000 n -0007729938 00000 n -0007729981 00000 n -0007730024 00000 n -0007730067 00000 n -0007730110 00000 n -0007730153 00000 n -0007730196 00000 n -0007730239 00000 n -0007730282 00000 n -0007730325 00000 n -0007730368 00000 n -0007730411 00000 n -0007730454 00000 n -0007730497 00000 n -0007730540 00000 n -0007730583 00000 n -0007730626 00000 n -0007730669 00000 n -0007730712 00000 n -0007730755 00000 n -0007730798 00000 n -0007730841 00000 n -0007730884 00000 n -0007730927 00000 n -0007730970 00000 n -0007731013 00000 n -0007731056 00000 n -0007731099 00000 n -0007731142 00000 n -0007731185 00000 n -0007731228 00000 n -0007731271 00000 n -0007731314 00000 n -0007731357 00000 n -0007731400 00000 n -0007731443 00000 n -0007731486 00000 n -0007731529 00000 n -0007731572 00000 n -0007731615 00000 n -0007731658 00000 n -0007731701 00000 n -0007731744 00000 n -0007731787 00000 n -0007731830 00000 n -0007731873 00000 n -0007731916 00000 n -0007731959 00000 n -0007732002 00000 n -0007732045 00000 n -0007732088 00000 n -0007732131 00000 n -0007732174 00000 n -0007732217 00000 n -0007732260 00000 n -0007732303 00000 n -0007732346 00000 n -0007732389 00000 n -0007732432 00000 n -0007732475 00000 n -0007732518 00000 n -0007732561 00000 n -0007732604 00000 n -0007732647 00000 n -0007732690 00000 n -0007732733 00000 n -0007732776 00000 n -0007732819 00000 n -0007732862 00000 n -0007732905 00000 n -0007732948 00000 n -0007732991 00000 n -0007733034 00000 n -0007733077 00000 n -0007733120 00000 n -0007733163 00000 n -0007733206 00000 n -0007733249 00000 n -0007733292 00000 n -0007733335 00000 n -0007733378 00000 n -0007733421 00000 n -0007733464 00000 n -0007733507 00000 n -0007733550 00000 n -0007733593 00000 n -0007733636 00000 n -0007733679 00000 n -0007733722 00000 n -0007733765 00000 n -0007733808 00000 n -0007733851 00000 n -0007733894 00000 n -0007734225 00000 n -0007734647 00000 n -0007734690 00000 n -0007734734 00000 n -0007734802 00000 n -0007735065 00000 n -0007735164 00000 n -0007739314 00000 n -0007739478 00000 n -0007739521 00000 n -0007739852 00000 n -0007740274 00000 n -0007740317 00000 n -0007740361 00000 n -0007740405 00000 n -0007740640 00000 n -0007740682 00000 n -0007741011 00000 n -0007743735 00000 n -0007743777 00000 n -0007743820 00000 n -0007743864 00000 n -0007743907 00000 n -0007743951 00000 n -0007743995 00000 n -0007744039 00000 n -0007744082 00000 n -0007744150 00000 n -0007744384 00000 n -0007744483 00000 n -0007749000 00000 n -0007749331 00000 n -0007749753 00000 n -0007749796 00000 n -0007749839 00000 n -0007749882 00000 n -0007749925 00000 n -0007749966 00000 n -0007750010 00000 n -0007750355 00000 n -0007750398 00000 n -0007750442 00000 n -0007750485 00000 n -0007750553 00000 n -0007750773 00000 n -0007750872 00000 n -0007755374 00000 n -0007755705 00000 n -0007756127 00000 n -0007756171 00000 n -0007756215 00000 n -0007756283 00000 n -0007756503 00000 n -0007756602 00000 n -0007759198 00000 n -0007759529 00000 n -0007759951 00000 n -0007759995 00000 n -0007760039 00000 n -0007760082 00000 n -0007760123 00000 n -0007760191 00000 n -0007760440 00000 n -0007760539 00000 n -0007763953 00000 n -0007764119 00000 n -0007764161 00000 n -0007764492 00000 n -0007764914 00000 n -0007764982 00000 n -0007765245 00000 n -0007765344 00000 n -0007769942 00000 n -0007770109 00000 n -0007770152 00000 n -0007770483 00000 n -0007770905 00000 n -0007770973 00000 n -0007771208 00000 n -0007771307 00000 n -0007775730 00000 n -0007775869 00000 n -0007776008 00000 n -0007776147 00000 n -0007776286 00000 n -0007776425 00000 n -0007776564 00000 n -0007776703 00000 n -0007776842 00000 n -0007776981 00000 n -0007777120 00000 n -0007777259 00000 n -0007777398 00000 n -0007777537 00000 n -0007777676 00000 n -0007777815 00000 n -0007777954 00000 n -0007778093 00000 n -0007778232 00000 n -0007778371 00000 n -0007778510 00000 n -0007778649 00000 n -0007778788 00000 n -0007778927 00000 n -0007779066 00000 n -0007779205 00000 n -0007779344 00000 n -0007779483 00000 n -0007779622 00000 n -0007779761 00000 n -0007779900 00000 n -0007780039 00000 n -0007780178 00000 n -0007780317 00000 n -0007780456 00000 n -0007780595 00000 n -0007780734 00000 n -0007780873 00000 n -0007781012 00000 n -0007781151 00000 n -0007781290 00000 n -0007781429 00000 n -0007781568 00000 n -0007781707 00000 n -0007781846 00000 n -0007781985 00000 n -0007782124 00000 n -0007782263 00000 n -0007782402 00000 n -0007782541 00000 n -0007782680 00000 n -0007782819 00000 n -0007782958 00000 n -0007783097 00000 n -0007783236 00000 n -0007783375 00000 n -0007783514 00000 n -0007783653 00000 n -0007783792 00000 n -0007783931 00000 n -0007784070 00000 n -0007784209 00000 n -0007784348 00000 n -0007784487 00000 n -0007784626 00000 n -0007784765 00000 n -0007784904 00000 n -0007785043 00000 n -0007785182 00000 n -0007785321 00000 n -0007785460 00000 n -0007785599 00000 n -0007785738 00000 n -0007785877 00000 n -0007786016 00000 n -0007786155 00000 n -0007786294 00000 n -0007786433 00000 n -0007786572 00000 n -0007786711 00000 n -0007786850 00000 n -0007786989 00000 n -0007787128 00000 n -0007787267 00000 n -0007787406 00000 n -0007787545 00000 n -0007787684 00000 n -0007787823 00000 n -0007787962 00000 n -0007788101 00000 n -0007788240 00000 n -0007788379 00000 n -0007788518 00000 n -0007788657 00000 n -0007788796 00000 n -0007788935 00000 n -0007789074 00000 n -0007789213 00000 n -0007789352 00000 n -0007789491 00000 n -0007789630 00000 n -0007789769 00000 n -0007789908 00000 n -0007790047 00000 n -0007790186 00000 n -0007790325 00000 n -0007790464 00000 n -0007790603 00000 n -0007790742 00000 n -0007790881 00000 n -0007791020 00000 n -0007791159 00000 n -0007791298 00000 n -0007791437 00000 n -0007791576 00000 n -0007791715 00000 n -0007791854 00000 n -0007791993 00000 n -0007792132 00000 n -0007792271 00000 n -0007792410 00000 n -0007792549 00000 n -0007792688 00000 n -0007792827 00000 n -0007792966 00000 n -0007793105 00000 n -0007793244 00000 n -0007793383 00000 n -0007793522 00000 n -0007793661 00000 n -0007793800 00000 n -0007793939 00000 n -0007794078 00000 n -0007794217 00000 n -0007794356 00000 n -0007794495 00000 n -0007794634 00000 n -0007794773 00000 n -0007794912 00000 n -0007795051 00000 n -0007795190 00000 n -0007795329 00000 n -0007795468 00000 n -0007795607 00000 n -0007795746 00000 n -0007795885 00000 n -0007796024 00000 n -0007796163 00000 n -0007796302 00000 n -0007796441 00000 n -0007796580 00000 n -0007796719 00000 n -0007796858 00000 n -0007796997 00000 n -0007797136 00000 n -0007797275 00000 n -0007797414 00000 n -0007797553 00000 n -0007797692 00000 n -0007797831 00000 n -0007797970 00000 n -0007798109 00000 n -0007798248 00000 n -0007798387 00000 n -0007798526 00000 n -0007798665 00000 n -0007798804 00000 n -0007798943 00000 n -0007799082 00000 n -0007799221 00000 n -0007799360 00000 n -0007799499 00000 n -0007799638 00000 n -0007799777 00000 n -0007799916 00000 n -0007800055 00000 n -0007800194 00000 n -0007800333 00000 n -0007800472 00000 n -0007800611 00000 n -0007800750 00000 n -0007800889 00000 n -0007801028 00000 n -0007801167 00000 n -0007801306 00000 n -0007801445 00000 n -0007801584 00000 n -0007801723 00000 n -0007801862 00000 n -0007802001 00000 n -0007802140 00000 n -0007802279 00000 n -0007802418 00000 n -0007802557 00000 n -0007802696 00000 n -0007802835 00000 n -0007802974 00000 n -0007803113 00000 n -0007803252 00000 n -0007803391 00000 n -0007803530 00000 n -0007803669 00000 n -0007803808 00000 n -0007803947 00000 n -0007804086 00000 n -0007804225 00000 n -0007804364 00000 n -0007804503 00000 n -0007804642 00000 n -0007804781 00000 n -0007804920 00000 n -0007805059 00000 n -0007805198 00000 n -0007805337 00000 n -0007805476 00000 n -0007805615 00000 n -0007805754 00000 n -0007805893 00000 n -0007806032 00000 n -0007806171 00000 n -0007806310 00000 n -0007806449 00000 n -0007806588 00000 n -0007806727 00000 n -0007806866 00000 n -0007807005 00000 n -0007807144 00000 n -0007807283 00000 n -0007807422 00000 n -0007807561 00000 n -0007807700 00000 n -0007807839 00000 n -0007807978 00000 n -0007808117 00000 n -0007808256 00000 n -0007808395 00000 n -0007808534 00000 n -0007808673 00000 n -0007808812 00000 n -0007808951 00000 n -0007809090 00000 n -0007809229 00000 n -0007809368 00000 n -0007809507 00000 n -0007809646 00000 n -0007809785 00000 n -0007809924 00000 n -0007810063 00000 n -0007810202 00000 n -0007810341 00000 n -0007810480 00000 n -0007810619 00000 n -0007810758 00000 n -0007810897 00000 n -0007811036 00000 n -0007811175 00000 n -0007811314 00000 n -0007811453 00000 n -0007811592 00000 n -0007811731 00000 n -0007811870 00000 n -0007812009 00000 n -0007812148 00000 n -0007812287 00000 n -0007812426 00000 n -0007812565 00000 n -0007812704 00000 n -0007812843 00000 n -0007812982 00000 n -0007813025 00000 n -0007813068 00000 n -0007813111 00000 n -0007813154 00000 n -0007813197 00000 n -0007813240 00000 n -0007813283 00000 n -0007813326 00000 n -0007813369 00000 n -0007813412 00000 n -0007813455 00000 n -0007813498 00000 n -0007813541 00000 n -0007813584 00000 n -0007813627 00000 n -0007813670 00000 n -0007813713 00000 n -0007813756 00000 n -0007813799 00000 n -0007813842 00000 n -0007813885 00000 n -0007813928 00000 n -0007813971 00000 n -0007814014 00000 n -0007814057 00000 n -0007814100 00000 n -0007814143 00000 n -0007814186 00000 n -0007814229 00000 n -0007814272 00000 n -0007814315 00000 n -0007814358 00000 n -0007814401 00000 n -0007814444 00000 n -0007814487 00000 n -0007814530 00000 n -0007814573 00000 n -0007814616 00000 n -0007814659 00000 n -0007814702 00000 n -0007814745 00000 n -0007814788 00000 n -0007814831 00000 n -0007814874 00000 n -0007814917 00000 n -0007814960 00000 n -0007815003 00000 n -0007815046 00000 n -0007815089 00000 n -0007815132 00000 n -0007815175 00000 n -0007815218 00000 n -0007815261 00000 n -0007815304 00000 n -0007815347 00000 n -0007815390 00000 n -0007815433 00000 n -0007815476 00000 n -0007815519 00000 n -0007815562 00000 n -0007815605 00000 n -0007815648 00000 n -0007815691 00000 n -0007815734 00000 n -0007815777 00000 n -0007815820 00000 n -0007815863 00000 n -0007815906 00000 n -0007815949 00000 n -0007815992 00000 n -0007816035 00000 n -0007816078 00000 n -0007816121 00000 n -0007816164 00000 n -0007816207 00000 n -0007816250 00000 n -0007816293 00000 n -0007816336 00000 n -0007816379 00000 n -0007816422 00000 n -0007816465 00000 n -0007816508 00000 n -0007816551 00000 n -0007816594 00000 n -0007816637 00000 n -0007816680 00000 n -0007816723 00000 n -0007816766 00000 n -0007816809 00000 n -0007816852 00000 n -0007816895 00000 n -0007816938 00000 n -0007816981 00000 n -0007817024 00000 n -0007817067 00000 n -0007817110 00000 n -0007817153 00000 n -0007817196 00000 n -0007817239 00000 n -0007817282 00000 n -0007817325 00000 n -0007817368 00000 n -0007817411 00000 n -0007817454 00000 n -0007817497 00000 n -0007817540 00000 n -0007817583 00000 n -0007817626 00000 n -0007817669 00000 n -0007817712 00000 n -0007817755 00000 n -0007817798 00000 n -0007817841 00000 n -0007817884 00000 n -0007817927 00000 n -0007817970 00000 n -0007818013 00000 n -0007818056 00000 n -0007818099 00000 n -0007818142 00000 n -0007818185 00000 n -0007818228 00000 n -0007818271 00000 n -0007818314 00000 n -0007818357 00000 n -0007818400 00000 n -0007818443 00000 n -0007818486 00000 n -0007818529 00000 n -0007818572 00000 n -0007818615 00000 n -0007818658 00000 n -0007818701 00000 n -0007818744 00000 n -0007818787 00000 n -0007818830 00000 n -0007818873 00000 n -0007818916 00000 n -0007818959 00000 n -0007819002 00000 n -0007819045 00000 n -0007819088 00000 n -0007819131 00000 n -0007819174 00000 n -0007819217 00000 n -0007819260 00000 n -0007819303 00000 n -0007819346 00000 n -0007819389 00000 n -0007819432 00000 n -0007819475 00000 n -0007819518 00000 n -0007819561 00000 n -0007819604 00000 n -0007819647 00000 n -0007819690 00000 n -0007819733 00000 n -0007819776 00000 n -0007819819 00000 n -0007819862 00000 n -0007819905 00000 n -0007819948 00000 n -0007819991 00000 n -0007820034 00000 n -0007820077 00000 n -0007820120 00000 n -0007820163 00000 n -0007820206 00000 n -0007820249 00000 n -0007820292 00000 n -0007820335 00000 n -0007820378 00000 n -0007820421 00000 n -0007820464 00000 n -0007820507 00000 n -0007820550 00000 n -0007820593 00000 n -0007820636 00000 n -0007820679 00000 n -0007820722 00000 n -0007820765 00000 n -0007820808 00000 n -0007820851 00000 n -0007820894 00000 n -0007820937 00000 n -0007820980 00000 n -0007821023 00000 n -0007821066 00000 n -0007821109 00000 n -0007821152 00000 n -0007821195 00000 n -0007821238 00000 n -0007821281 00000 n -0007821324 00000 n -0007821367 00000 n -0007821410 00000 n -0007821453 00000 n -0007821496 00000 n -0007821539 00000 n -0007821582 00000 n -0007821625 00000 n -0007821668 00000 n -0007821711 00000 n -0007821754 00000 n -0007821797 00000 n -0007821840 00000 n -0007821883 00000 n -0007821926 00000 n -0007821969 00000 n -0007822012 00000 n -0007822055 00000 n -0007822098 00000 n -0007822141 00000 n -0007822184 00000 n -0007822227 00000 n -0007822270 00000 n -0007822313 00000 n -0007822356 00000 n -0007822399 00000 n -0007822442 00000 n -0007822485 00000 n -0007822528 00000 n -0007822571 00000 n -0007822614 00000 n -0007822657 00000 n -0007822700 00000 n -0007822743 00000 n -0007822786 00000 n -0007822829 00000 n -0007822872 00000 n -0007822915 00000 n -0007822958 00000 n -0007823001 00000 n -0007823044 00000 n -0007823087 00000 n -0007823130 00000 n -0007823173 00000 n -0007823216 00000 n -0007823259 00000 n -0007823302 00000 n -0007823345 00000 n -0007823388 00000 n -0007823431 00000 n -0007823474 00000 n -0007823517 00000 n -0007823560 00000 n -0007823603 00000 n -0007823646 00000 n -0007823689 00000 n -0007823732 00000 n -0007823775 00000 n -0007823818 00000 n -0007824149 00000 n -0007824571 00000 n -0007824612 00000 n -0007824656 00000 n -0007824699 00000 n -0007824743 00000 n -0007824787 00000 n -0007824831 00000 n -0007824874 00000 n -0007824918 00000 n -0007824962 00000 n -0007825005 00000 n -0007825049 00000 n -0007825091 00000 n -0007825135 00000 n -0007825203 00000 n -0007825423 00000 n -0007825522 00000 n -0007830610 00000 n -0007830941 00000 n -0007831363 00000 n -0007831406 00000 n -0007832039 00000 n -0007832082 00000 n -0007832150 00000 n -0007832370 00000 n -0007832469 00000 n -0007836133 00000 n -0007836464 00000 n -0007836886 00000 n -0007836954 00000 n -0007837174 00000 n -0007837273 00000 n -0007839058 00000 n -0007839389 00000 n -0007839811 00000 n -0007839855 00000 n -0007839898 00000 n -0007839942 00000 n -0007839985 00000 n -0007840028 00000 n -0007840096 00000 n -0007840316 00000 n -0007840415 00000 n -0007843870 00000 n -0007844201 00000 n -0007844623 00000 n -0007844667 00000 n -0007844711 00000 n -0007844754 00000 n -0007844798 00000 n -0007844842 00000 n -0007844884 00000 n -0007844928 00000 n -0007844996 00000 n -0007845230 00000 n -0007845329 00000 n -0007849124 00000 n -0007849290 00000 n -0007849332 00000 n -0007849663 00000 n -0007850085 00000 n -0007850128 00000 n -0007850171 00000 n -0007850214 00000 n -0007850545 00000 n -0007850967 00000 n -0007851010 00000 n -0007851052 00000 n -0007851095 00000 n -0007851139 00000 n -0007851182 00000 n -0007851225 00000 n -0007851293 00000 n -0007851513 00000 n -0007851612 00000 n -0007856632 00000 n -0007856963 00000 n -0007857385 00000 n -0007857429 00000 n -0007857472 00000 n -0007857515 00000 n -0007857559 00000 n -0007857603 00000 n -0007857646 00000 n -0007857714 00000 n -0007857964 00000 n -0007858063 00000 n -0007860745 00000 n -0007860912 00000 n -0007861051 00000 n -0007861190 00000 n -0007861329 00000 n -0007861468 00000 n -0007861607 00000 n -0007861746 00000 n -0007861885 00000 n -0007862024 00000 n -0007862163 00000 n -0007862302 00000 n -0007862441 00000 n -0007862580 00000 n -0007862719 00000 n -0007862858 00000 n -0007862997 00000 n -0007863136 00000 n -0007863275 00000 n -0007863414 00000 n -0007863553 00000 n -0007863692 00000 n -0007863831 00000 n -0007863970 00000 n -0007864109 00000 n -0007864248 00000 n -0007864387 00000 n -0007864526 00000 n -0007864665 00000 n -0007864804 00000 n -0007864943 00000 n -0007865082 00000 n -0007865221 00000 n -0007865360 00000 n -0007865499 00000 n -0007865638 00000 n -0007865777 00000 n -0007865916 00000 n -0007866055 00000 n -0007866194 00000 n -0007866333 00000 n -0007866472 00000 n -0007866611 00000 n -0007866750 00000 n -0007866889 00000 n -0007867028 00000 n -0007867167 00000 n -0007867306 00000 n -0007867445 00000 n -0007867584 00000 n -0007867723 00000 n -0007867862 00000 n -0007868001 00000 n -0007868140 00000 n -0007868279 00000 n -0007868418 00000 n -0007868557 00000 n -0007868696 00000 n -0007868835 00000 n -0007868974 00000 n -0007869113 00000 n -0007869252 00000 n -0007869391 00000 n -0007869530 00000 n -0007869669 00000 n -0007869808 00000 n -0007869947 00000 n -0007870086 00000 n -0007870225 00000 n -0007870364 00000 n -0007870503 00000 n -0007870642 00000 n -0007870781 00000 n -0007870920 00000 n -0007871059 00000 n -0007871198 00000 n -0007871337 00000 n -0007871476 00000 n -0007871615 00000 n -0007871754 00000 n -0007871893 00000 n -0007872032 00000 n -0007872171 00000 n -0007872310 00000 n -0007872449 00000 n -0007872588 00000 n -0007872727 00000 n -0007872866 00000 n -0007873005 00000 n -0007873144 00000 n -0007873283 00000 n -0007873422 00000 n -0007873561 00000 n -0007873700 00000 n -0007873839 00000 n -0007873978 00000 n -0007874117 00000 n -0007874256 00000 n -0007874395 00000 n -0007874534 00000 n -0007874673 00000 n -0007874812 00000 n -0007874951 00000 n -0007875090 00000 n -0007875229 00000 n -0007875368 00000 n -0007875507 00000 n -0007875646 00000 n -0007875785 00000 n -0007875924 00000 n -0007876063 00000 n -0007876202 00000 n -0007876341 00000 n -0007876480 00000 n -0007876619 00000 n -0007876758 00000 n -0007876897 00000 n -0007877036 00000 n -0007877175 00000 n -0007877314 00000 n -0007877453 00000 n -0007877592 00000 n -0007877731 00000 n -0007877870 00000 n -0007878009 00000 n -0007878148 00000 n -0007878287 00000 n -0007878426 00000 n -0007878565 00000 n -0007878704 00000 n -0007878843 00000 n -0007878982 00000 n -0007879121 00000 n -0007879260 00000 n -0007879399 00000 n -0007879538 00000 n -0007879677 00000 n -0007879816 00000 n -0007879955 00000 n -0007880094 00000 n -0007880233 00000 n -0007880372 00000 n -0007880511 00000 n -0007880650 00000 n -0007880789 00000 n -0007880928 00000 n -0007881067 00000 n -0007881206 00000 n -0007881345 00000 n -0007881484 00000 n -0007881623 00000 n -0007881762 00000 n -0007881901 00000 n -0007882040 00000 n -0007882179 00000 n -0007882318 00000 n -0007882457 00000 n -0007882500 00000 n -0007882543 00000 n -0007882586 00000 n -0007882629 00000 n -0007882672 00000 n -0007882715 00000 n -0007882758 00000 n -0007882801 00000 n -0007882844 00000 n -0007882887 00000 n -0007882930 00000 n -0007882973 00000 n -0007883016 00000 n -0007883059 00000 n -0007883102 00000 n -0007883145 00000 n -0007883188 00000 n -0007883231 00000 n -0007883274 00000 n -0007883317 00000 n -0007883360 00000 n -0007883403 00000 n -0007883446 00000 n -0007883489 00000 n -0007883532 00000 n -0007883575 00000 n -0007883618 00000 n -0007883661 00000 n -0007883704 00000 n -0007883747 00000 n -0007883790 00000 n -0007883833 00000 n -0007883876 00000 n -0007883919 00000 n -0007883962 00000 n -0007884005 00000 n -0007884048 00000 n -0007884091 00000 n -0007884134 00000 n -0007884177 00000 n -0007884220 00000 n -0007884263 00000 n -0007884306 00000 n -0007884349 00000 n -0007884392 00000 n -0007884435 00000 n -0007884478 00000 n -0007884521 00000 n -0007884564 00000 n -0007884607 00000 n -0007884650 00000 n -0007884693 00000 n -0007884736 00000 n -0007884779 00000 n -0007884822 00000 n -0007884865 00000 n -0007884908 00000 n -0007884951 00000 n -0007884994 00000 n -0007885037 00000 n -0007885080 00000 n -0007885123 00000 n -0007885166 00000 n -0007885209 00000 n -0007885252 00000 n -0007885295 00000 n -0007885338 00000 n -0007885381 00000 n -0007885424 00000 n -0007885467 00000 n -0007885510 00000 n -0007885553 00000 n -0007885596 00000 n -0007885639 00000 n -0007885682 00000 n -0007885725 00000 n -0007885768 00000 n -0007885811 00000 n -0007885854 00000 n -0007885897 00000 n -0007885940 00000 n -0007885983 00000 n -0007886026 00000 n -0007886069 00000 n -0007886112 00000 n -0007886155 00000 n -0007886198 00000 n -0007886241 00000 n -0007886284 00000 n -0007886327 00000 n -0007886370 00000 n -0007886413 00000 n -0007886456 00000 n -0007886499 00000 n -0007886542 00000 n -0007886585 00000 n -0007886628 00000 n -0007886671 00000 n -0007886714 00000 n -0007886757 00000 n -0007886800 00000 n -0007886843 00000 n -0007886886 00000 n -0007886929 00000 n -0007886972 00000 n -0007887015 00000 n -0007887058 00000 n -0007887101 00000 n -0007887144 00000 n -0007887187 00000 n -0007887230 00000 n -0007887273 00000 n -0007887316 00000 n -0007887359 00000 n -0007887402 00000 n -0007887445 00000 n -0007887488 00000 n -0007887531 00000 n -0007887574 00000 n -0007887617 00000 n -0007887660 00000 n -0007887703 00000 n -0007887746 00000 n -0007887789 00000 n -0007887832 00000 n -0007887875 00000 n -0007887918 00000 n -0007888249 00000 n -0007888671 00000 n -0007888714 00000 n -0007888758 00000 n -0007889392 00000 n -0007889433 00000 n -0007889477 00000 n -0007889521 00000 n -0007889564 00000 n -0007889608 00000 n -0007889652 00000 n -0007889720 00000 n -0007889999 00000 n -0007890098 00000 n -0007892036 00000 n -0007892203 00000 n -0007892370 00000 n -0007892537 00000 n -0007892580 00000 n -0007892623 00000 n -0007892666 00000 n -0007892734 00000 n -0007892997 00000 n -0007893096 00000 n -0007897653 00000 n -0007897984 00000 n -0007898406 00000 n -0007898449 00000 n -0007898493 00000 n -0007898537 00000 n -0007898581 00000 n -0007898624 00000 n -0007898692 00000 n -0007898912 00000 n -0007899011 00000 n -0007902826 00000 n -0007903157 00000 n -0007903579 00000 n -0007903623 00000 n -0007903691 00000 n -0007903911 00000 n -0007904010 00000 n -0007908166 00000 n -0007908332 00000 n -0007908497 00000 n -0007908539 00000 n -0007908581 00000 n -0007908912 00000 n -0007909334 00000 n -0007909377 00000 n -0007909421 00000 n -0007909464 00000 n -0007909507 00000 n -0007909551 00000 n -0007909595 00000 n -0007909638 00000 n -0007909682 00000 n -0007909725 00000 n -0007909768 00000 n -0007909836 00000 n -0007910085 00000 n -0007910184 00000 n -0007914086 00000 n -0007914417 00000 n -0007914839 00000 n -0007914907 00000 n -0007915127 00000 n -0007915226 00000 n -0007919833 00000 n -0007920164 00000 n -0007920586 00000 n -0007920629 00000 n -0007920673 00000 n -0007920715 00000 n -0007920759 00000 n -0007920802 00000 n -0007920845 00000 n -0007920888 00000 n -0007920932 00000 n -0007920975 00000 n -0007921016 00000 n -0007921060 00000 n -0007921103 00000 n -0007921146 00000 n -0007921190 00000 n -0007921234 00000 n -0007921277 00000 n -0007921345 00000 n -0007921594 00000 n -0007921693 00000 n -0007925995 00000 n -0007926326 00000 n -0007926748 00000 n -0007926828 00000 n -0007926962 00000 n -0007927005 00000 n -0007927048 00000 n -0007927277 00000 n -0007927925 00000 n -0007937124 00000 n -0007937167 00000 n -0007937211 00000 n -0007937255 00000 n -0007937297 00000 n -0007937341 00000 n -0007937409 00000 n -0007937658 00000 n -0007937757 00000 n -0007941157 00000 n -0007941488 00000 n -0007941910 00000 n -0007941953 00000 n -0007941996 00000 n -0007942037 00000 n -0007942081 00000 n -0007942124 00000 n -0007942168 00000 n -0007942211 00000 n -0007942254 00000 n -0007942298 00000 n -0007942341 00000 n -0007942385 00000 n -0007942429 00000 n -0007942471 00000 n -0007942515 00000 n -0007942583 00000 n -0007942846 00000 n -0007942945 00000 n -0007947256 00000 n -0007947422 00000 n -0007947464 00000 n -0007947795 00000 n -0007948217 00000 n -0007948260 00000 n -0007948303 00000 n -0007948346 00000 n -0007948390 00000 n -0007948433 00000 n -0007948476 00000 n -0007948517 00000 n -0007948561 00000 n -0007948604 00000 n -0007948648 00000 n -0007948691 00000 n -0007948735 00000 n -0007948778 00000 n -0007948822 00000 n -0007948866 00000 n -0007948910 00000 n -0007948954 00000 n -0007948996 00000 n -0007949040 00000 n -0007949083 00000 n -0007949126 00000 n -0007949169 00000 n -0007949213 00000 n -0007949256 00000 n -0007949315 00000 n -0007949383 00000 n -0007949631 00000 n -0007949730 00000 n -0007953811 00000 n -0007953976 00000 n -0007954018 00000 n -0007954349 00000 n -0007954771 00000 n -0007954814 00000 n -0007954858 00000 n -0007954901 00000 n -0007954969 00000 n -0007955218 00000 n -0007955317 00000 n -0007959353 00000 n -0007959684 00000 n -0007960106 00000 n -0007960174 00000 n -0007960423 00000 n -0007960522 00000 n -0007964985 00000 n -0007965316 00000 n -0007965738 00000 n -0007965806 00000 n -0007966055 00000 n -0007966154 00000 n -0007969842 00000 n -0007970173 00000 n -0007970595 00000 n -0007970639 00000 n -0007970970 00000 n -0007971392 00000 n -0007971435 00000 n -0007971479 00000 n -0007971521 00000 n -0007971565 00000 n -0007971609 00000 n -0007971652 00000 n -0007971720 00000 n -0007971955 00000 n -0007972054 00000 n -0007976566 00000 n -0007976730 00000 n -0007976791 00000 n -0007977122 00000 n -0007977544 00000 n -0007977587 00000 n -0007977630 00000 n -0007977674 00000 n -0007977717 00000 n -0007977760 00000 n -0007977803 00000 n -0007978134 00000 n -0007978556 00000 n -0007978597 00000 n -0007978640 00000 n -0007978683 00000 n -0007978726 00000 n -0007978770 00000 n -0007978814 00000 n -0007978857 00000 n -0007978900 00000 n -0007978944 00000 n -0007979012 00000 n -0007979247 00000 n -0007979346 00000 n -0007983464 00000 n -0007983795 00000 n -0007984217 00000 n -0007984260 00000 n -0007984304 00000 n -0007984346 00000 n -0007984390 00000 n -0007984434 00000 n -0007984477 00000 n -0007984520 00000 n -0007984564 00000 n -0007984608 00000 n -0007984651 00000 n -0007984695 00000 n -0007984736 00000 n -0007984780 00000 n -0007984823 00000 n -0007984867 00000 n -0007984911 00000 n -0007984954 00000 n -0007984997 00000 n -0007985065 00000 n -0007985313 00000 n -0007985412 00000 n -0007989582 00000 n -0007989748 00000 n -0007989790 00000 n -0007990121 00000 n -0007990543 00000 n -0007990587 00000 n -0007990631 00000 n -0007990673 00000 n -0007990717 00000 n -0007990760 00000 n -0007990828 00000 n -0007991063 00000 n -0007991162 00000 n -0007995269 00000 n -0007995600 00000 n -0007996022 00000 n -0007996065 00000 n -0007996109 00000 n -0007996152 00000 n -0007996195 00000 n -0007996238 00000 n -0007996306 00000 n -0007996555 00000 n -0007996654 00000 n -0008000657 00000 n -0008000988 00000 n -0008001410 00000 n -0008001453 00000 n -0008001496 00000 n -0008001539 00000 n -0008001583 00000 n -0008001627 00000 n -0008001671 00000 n -0008002002 00000 n -0008002424 00000 n -0008002492 00000 n -0008002712 00000 n -0008002811 00000 n -0008006495 00000 n -0008006826 00000 n -0008007248 00000 n -0008007291 00000 n -0008007335 00000 n -0008007379 00000 n -0008007421 00000 n -0008007465 00000 n -0008007509 00000 n -0008007552 00000 n -0008007595 00000 n -0008007639 00000 n -0008007682 00000 n -0008007725 00000 n -0008007768 00000 n -0008007812 00000 n -0008007880 00000 n -0008008129 00000 n -0008008228 00000 n -0008011810 00000 n -0008012141 00000 n -0008012563 00000 n -0008012606 00000 n -0008012650 00000 n -0008012694 00000 n -0008012930 00000 n -0008013475 00000 n -0008027542 00000 n -0008027610 00000 n -0008028304 00000 n -0008028403 00000 n -0008065437 00000 n -0008065935 00000 n -0008066112 00000 n -0008066610 00000 n -0008066699 00000 n -0008066785 00000 n -0008066872 00000 n -0008066960 00000 n -0008066985 00000 n -0008067094 00000 n -0008067155 00000 n -0008067214 00000 n -0008079120 00000 n -0008091378 00000 n -0008091800 00000 n -0008092131 00000 n -0008096002 00000 n -0008100304 00000 n -0008100735 00000 n -0008101317 00000 n -0008101706 00000 n -0008104644 00000 n -0008104918 00000 n -0008107619 00000 n -0008107893 00000 n -0008117490 00000 n -0008117558 00000 n -0008117821 00000 n -0008117920 00000 n -0008122557 00000 n -0008122888 00000 n -0008123310 00000 n -0008123353 00000 n -0008123397 00000 n -0008123441 00000 n -0008123509 00000 n -0008123743 00000 n -0008123842 00000 n -0008127706 00000 n -0008128037 00000 n -0008128459 00000 n -0008128503 00000 n -0008128546 00000 n -0008128588 00000 n -0008128632 00000 n -0008128676 00000 n -0008128719 00000 n -0008128762 00000 n -0008128805 00000 n -0008128848 00000 n -0008128891 00000 n -0008128934 00000 n -0008128977 00000 n -0008129021 00000 n -0008129064 00000 n -0008129108 00000 n -0008129151 00000 n -0008129195 00000 n -0008129239 00000 n -0008129283 00000 n -0008129327 00000 n -0008129371 00000 n -0008129415 00000 n -0008129459 00000 n -0008129503 00000 n -0008129547 00000 n -0008129590 00000 n -0008129633 00000 n -0008129676 00000 n -0008129720 00000 n -0008129763 00000 n -0008129806 00000 n -0008129849 00000 n -0008129893 00000 n -0008129936 00000 n -0008129979 00000 n -0008130023 00000 n -0008130067 00000 n -0008130110 00000 n -0008130178 00000 n -0008130412 00000 n -0008130511 00000 n -0008134575 00000 n -0008134906 00000 n -0008135328 00000 n -0008135545 00000 n -0008136155 00000 n -0008152246 00000 n -0008152289 00000 n -0008152332 00000 n -0008152376 00000 n -0008152444 00000 n -0008152707 00000 n -0008152806 00000 n -0008157894 00000 n -0008158225 00000 n -0008158647 00000 n -0008158689 00000 n -0008158733 00000 n -0008158777 00000 n -0008158820 00000 n -0008158863 00000 n -0008158906 00000 n -0008158950 00000 n -0008158992 00000 n -0008159035 00000 n -0008159078 00000 n -0008159122 00000 n -0008159165 00000 n -0008159209 00000 n -0008159253 00000 n -0008159321 00000 n -0008159555 00000 n -0008159654 00000 n -0008162960 00000 n -0008163126 00000 n -0008163292 00000 n -0008163458 00000 n -0008163624 00000 n -0008163790 00000 n -0008163879 00000 n -0008163921 00000 n -0008163963 00000 n -0008164005 00000 n -0008164047 00000 n -0008164378 00000 n -0008164800 00000 n -0008164843 00000 n -0008164887 00000 n -0008164930 00000 n -0008164974 00000 n -0008165017 00000 n -0008165061 00000 n -0008165105 00000 n -0008165173 00000 n -0008165393 00000 n -0008165492 00000 n -0008169466 00000 n -0008169797 00000 n -0008170219 00000 n -0008170262 00000 n -0008170305 00000 n -0008170349 00000 n -0008170392 00000 n -0008170435 00000 n -0008170478 00000 n -0008170521 00000 n -0008170564 00000 n -0008170632 00000 n -0008170867 00000 n -0008170966 00000 n -0008175146 00000 n -0008175306 00000 n -0008175398 00000 n -0008175729 00000 n -0008176151 00000 n -0008176195 00000 n -0008176239 00000 n -0008176307 00000 n -0008176541 00000 n -0008176640 00000 n -0008180475 00000 n -0008180806 00000 n -0008181228 00000 n -0008181271 00000 n -0008181315 00000 n -0008181358 00000 n -0008181402 00000 n -0008181444 00000 n -0008181512 00000 n -0008181747 00000 n -0008181846 00000 n -0008186673 00000 n -0008186839 00000 n -0008186881 00000 n -0008187212 00000 n -0008187634 00000 n -0008187678 00000 n -0008187746 00000 n -0008187995 00000 n -0008188094 00000 n -0008193087 00000 n -0008193418 00000 n -0008193840 00000 n -0008193883 00000 n -0008193951 00000 n -0008194214 00000 n -0008194313 00000 n -0008197266 00000 n -0008197597 00000 n -0008198019 00000 n -0008198063 00000 n -0008198106 00000 n -0008198149 00000 n -0008198192 00000 n -0008198235 00000 n -0008198279 00000 n -0008198322 00000 n -0008198365 00000 n -0008198408 00000 n -0008198452 00000 n -0008198495 00000 n -0008198538 00000 n -0008198582 00000 n -0008198625 00000 n -0008198669 00000 n -0008198737 00000 n -0008199000 00000 n -0008199099 00000 n -0008203025 00000 n -0008203191 00000 n -0008203234 00000 n -0008203278 00000 n -0008203321 00000 n -0008203364 00000 n -0008203407 00000 n -0008203475 00000 n -0008203710 00000 n -0008203809 00000 n -0008208240 00000 n -0008208406 00000 n -0008208466 00000 n -0008208797 00000 n -0008209219 00000 n -0008209263 00000 n -0008209306 00000 n -0008209374 00000 n -0008209608 00000 n -0008209707 00000 n -0008214049 00000 n -0008214215 00000 n -0008214381 00000 n -0008214423 00000 n -0008214465 00000 n -0008214796 00000 n -0008215218 00000 n -0008215261 00000 n -0008215304 00000 n -0008215347 00000 n -0008215390 00000 n -0008215434 00000 n -0008215478 00000 n -0008215521 00000 n -0008215565 00000 n -0008215608 00000 n -0008215651 00000 n -0008215719 00000 n -0008215954 00000 n -0008216053 00000 n -0008220499 00000 n -0008220830 00000 n -0008221252 00000 n -0008221295 00000 n -0008221339 00000 n -0008221382 00000 n -0008221426 00000 n -0008221468 00000 n -0008221512 00000 n -0008221556 00000 n -0008221599 00000 n -0008221642 00000 n -0008221710 00000 n -0008221959 00000 n -0008222058 00000 n -0008225242 00000 n -0008225573 00000 n -0008225995 00000 n -0008226063 00000 n -0008226298 00000 n -0008226397 00000 n -0008230845 00000 n -0008231176 00000 n -0008231598 00000 n -0008231641 00000 n -0008231685 00000 n -0008231728 00000 n -0008231771 00000 n -0008231839 00000 n -0008232102 00000 n -0008232201 00000 n -0008235751 00000 n -0008236082 00000 n -0008236504 00000 n -0008236547 00000 n -0008236590 00000 n -0008236634 00000 n -0008236678 00000 n -0008236721 00000 n -0008236765 00000 n -0008236808 00000 n -0008236851 00000 n -0008236894 00000 n -0008236937 00000 n -0008236980 00000 n -0008237024 00000 n -0008237067 00000 n -0008237111 00000 n -0008237155 00000 n -0008237197 00000 n -0008237241 00000 n -0008237285 00000 n -0008237329 00000 n -0008237372 00000 n -0008237415 00000 n -0008237458 00000 n -0008237526 00000 n -0008237746 00000 n -0008237845 00000 n -0008241455 00000 n -0008241786 00000 n -0008242208 00000 n -0008242252 00000 n -0008242320 00000 n -0008242569 00000 n -0008242668 00000 n -0008246293 00000 n -0008246459 00000 n -0008246501 00000 n -0008246832 00000 n -0008247254 00000 n -0008247297 00000 n -0008247340 00000 n -0008247383 00000 n -0008247426 00000 n -0008247469 00000 n -0008247512 00000 n -0008247555 00000 n -0008247598 00000 n -0008247641 00000 n -0008247684 00000 n -0008247752 00000 n -0008247987 00000 n -0008248086 00000 n -0008252229 00000 n -0008252560 00000 n -0008252982 00000 n -0008253026 00000 n -0008253069 00000 n -0008253113 00000 n -0008253181 00000 n -0008253416 00000 n -0008253515 00000 n -0008258032 00000 n -0008258363 00000 n -0008258785 00000 n -0008258829 00000 n -0008258873 00000 n -0008258916 00000 n -0008258959 00000 n -0008259027 00000 n -0008259262 00000 n -0008259361 00000 n -0008264063 00000 n -0008264394 00000 n -0008264816 00000 n -0008264859 00000 n -0008264927 00000 n -0008265176 00000 n -0008265275 00000 n -0008269439 00000 n -0008269770 00000 n -0008270192 00000 n -0008270260 00000 n -0008270523 00000 n -0008270622 00000 n -0008274803 00000 n -0008274969 00000 n -0008275011 00000 n -0008275342 00000 n -0008275764 00000 n -0008275807 00000 n -0008275851 00000 n -0008275894 00000 n -0008275937 00000 n -0008275981 00000 n -0008276025 00000 n -0008276069 00000 n -0008276112 00000 n -0008276155 00000 n -0008276198 00000 n -0008276241 00000 n -0008276285 00000 n -0008276329 00000 n -0008276373 00000 n -0008276417 00000 n -0008276485 00000 n -0008276734 00000 n -0008276833 00000 n -0008280725 00000 n -0008280891 00000 n -0008281048 00000 n -0008281116 00000 n -0008281158 00000 n -0008281489 00000 n -0008281911 00000 n -0008281979 00000 n -0008282213 00000 n -0008282312 00000 n -0008284548 00000 n -0008284879 00000 n -0008285301 00000 n -0008285369 00000 n -0008285618 00000 n -0008285717 00000 n -0008289359 00000 n -0008289690 00000 n -0008290112 00000 n -0008290180 00000 n -0008290400 00000 n -0008290499 00000 n -0008294339 00000 n -0008294670 00000 n -0008295092 00000 n -0008295136 00000 n -0008295179 00000 n -0008295247 00000 n -0008295481 00000 n -0008295580 00000 n -0008299408 00000 n -0008299739 00000 n -0008300161 00000 n -0008300204 00000 n -0008300248 00000 n -0008300291 00000 n -0008300335 00000 n -0008300378 00000 n -0008300421 00000 n -0008300464 00000 n -0008300508 00000 n -0008300551 00000 n -0008300594 00000 n -0008300637 00000 n -0008300681 00000 n -0008300725 00000 n -0008300768 00000 n -0008300836 00000 n -0008301071 00000 n -0008301170 00000 n -0008305945 00000 n -0008306276 00000 n -0008306698 00000 n -0008306742 00000 n -0008306810 00000 n -0008307087 00000 n -0008307186 00000 n -0008310827 00000 n -0008311158 00000 n -0008311580 00000 n -0008311623 00000 n -0008311666 00000 n -0008311734 00000 n -0008311969 00000 n -0008312068 00000 n -0008315509 00000 n -0008315840 00000 n -0008316262 00000 n -0008316330 00000 n -0008316579 00000 n -0008316678 00000 n -0008321415 00000 n -0008321581 00000 n -0008321746 00000 n -0008321906 00000 n -0008322069 00000 n -0008322128 00000 n -0008322186 00000 n -0008322228 00000 n -0008322270 00000 n -0008322601 00000 n -0008323023 00000 n -0008323066 00000 n -0008323110 00000 n -0008323153 00000 n -0008323196 00000 n -0008323239 00000 n -0008323282 00000 n -0008323325 00000 n -0008323369 00000 n -0008323412 00000 n -0008323480 00000 n -0008323729 00000 n -0008323828 00000 n -0008326977 00000 n -0008327308 00000 n -0008327730 00000 n -0008327774 00000 n -0008327842 00000 n -0008328062 00000 n -0008328161 00000 n -0008329752 00000 n -0008330083 00000 n -0008330505 00000 n -0008330549 00000 n -0008330592 00000 n -0008330635 00000 n -0008330678 00000 n -0008330722 00000 n -0008330765 00000 n -0008330808 00000 n -0008330852 00000 n -0008330896 00000 n -0008330939 00000 n -0008330983 00000 n -0008331026 00000 n -0008331069 00000 n -0008331113 00000 n -0008331156 00000 n -0008331224 00000 n -0008331444 00000 n -0008331543 00000 n -0008335375 00000 n -0008335706 00000 n -0008336128 00000 n -0008336196 00000 n -0008336416 00000 n -0008336515 00000 n -0008340302 00000 n -0008340346 00000 n -0008340389 00000 n -0008340432 00000 n -0008340475 00000 n -0008340518 00000 n -0008340586 00000 n -0008340863 00000 n -0008340962 00000 n -0008344510 00000 n -0008344676 00000 n -0008344718 00000 n -0008344761 00000 n -0008344805 00000 n -0008344873 00000 n -0008345150 00000 n -0008345249 00000 n -0008349154 00000 n -0008349485 00000 n -0008349907 00000 n -0008349950 00000 n -0008349993 00000 n -0008350037 00000 n -0008350080 00000 n -0008350123 00000 n -0008350166 00000 n -0008350210 00000 n -0008350254 00000 n -0008350298 00000 n -0008350341 00000 n -0008350409 00000 n -0008350643 00000 n -0008350742 00000 n -0008354667 00000 n -0008354998 00000 n -0008355420 00000 n -0008355488 00000 n -0008355723 00000 n -0008355822 00000 n -0008358790 00000 n -0008359121 00000 n -0008359543 00000 n -0008359587 00000 n -0008359630 00000 n -0008359698 00000 n -0008359975 00000 n -0008360074 00000 n -0008363681 00000 n -0008363846 00000 n -0008363888 00000 n -0008364219 00000 n -0008364641 00000 n -0008364685 00000 n -0008364728 00000 n -0008364772 00000 n -0008364815 00000 n -0008364858 00000 n -0008364901 00000 n -0008364969 00000 n -0008365218 00000 n -0008365317 00000 n -0008369490 00000 n -0008369657 00000 n -0008369700 00000 n -0008370031 00000 n -0008370453 00000 n -0008370497 00000 n -0008370540 00000 n -0008370584 00000 n -0008370627 00000 n -0008370670 00000 n -0008370714 00000 n -0008370757 00000 n -0008370800 00000 n -0008370843 00000 n -0008370887 00000 n -0008370930 00000 n -0008370973 00000 n -0008371016 00000 n -0008371059 00000 n -0008371103 00000 n -0008371146 00000 n -0008371189 00000 n -0008371233 00000 n -0008371276 00000 n -0008371344 00000 n -0008371593 00000 n -0008371692 00000 n -0008374703 00000 n -0008375034 00000 n -0008375456 00000 n -0008375500 00000 n -0008375543 00000 n -0008375587 00000 n -0008375631 00000 n -0008375674 00000 n -0008375718 00000 n -0008375762 00000 n -0008375806 00000 n -0008375850 00000 n -0008375893 00000 n -0008375936 00000 n -0008376004 00000 n -0008376238 00000 n -0008376337 00000 n -0008380347 00000 n -0008380678 00000 n -0008381100 00000 n -0008381143 00000 n -0008381187 00000 n -0008381255 00000 n -0008381490 00000 n -0008381589 00000 n -0008384105 00000 n -0008384436 00000 n -0008384858 00000 n -0008384901 00000 n -0008384944 00000 n -0008384988 00000 n -0008385030 00000 n -0008385073 00000 n -0008385117 00000 n -0008385161 00000 n -0008385204 00000 n -0008385247 00000 n -0008385474 00000 n -0008385766 00000 n -0008390741 00000 n -0008390784 00000 n -0008390828 00000 n -0008390896 00000 n -0008391131 00000 n -0008391230 00000 n -0008395574 00000 n -0008395905 00000 n -0008396327 00000 n -0008396370 00000 n -0008396413 00000 n -0008396457 00000 n -0008396525 00000 n -0008396759 00000 n -0008396858 00000 n -0008399460 00000 n -0008399791 00000 n -0008400213 00000 n -0008400257 00000 n -0008400300 00000 n -0008400368 00000 n -0008400616 00000 n -0008400715 00000 n -0008405214 00000 n -0008405545 00000 n -0008405967 00000 n -0008406011 00000 n -0008406079 00000 n -0008406299 00000 n -0008406398 00000 n -0008409203 00000 n -0008409534 00000 n -0008409956 00000 n -0008409999 00000 n -0008410042 00000 n -0008410085 00000 n -0008410129 00000 n -0008410172 00000 n -0008410216 00000 n -0008410284 00000 n -0008410533 00000 n -0008410632 00000 n -0008414367 00000 n -0008414698 00000 n -0008415120 00000 n -0008415164 00000 n -0008415207 00000 n -0008415275 00000 n -0008415495 00000 n -0008415594 00000 n -0008419162 00000 n -0008419493 00000 n -0008419915 00000 n -0008420246 00000 n -0008420668 00000 n -0008420711 00000 n -0008420754 00000 n -0008420797 00000 n -0008420841 00000 n -0008420885 00000 n -0008420929 00000 n -0008420972 00000 n -0008421015 00000 n -0008421058 00000 n -0008421102 00000 n -0008421145 00000 n -0008421188 00000 n -0008421231 00000 n -0008421299 00000 n -0008421548 00000 n -0008421647 00000 n -0008425562 00000 n -0008425729 00000 n -0008425772 00000 n -0008426103 00000 n -0008426525 00000 n -0008426568 00000 n -0008426611 00000 n -0008426655 00000 n -0008426699 00000 n -0008426767 00000 n -0008427001 00000 n -0008427100 00000 n -0008430774 00000 n -0008431105 00000 n -0008431527 00000 n -0008431570 00000 n -0008431613 00000 n -0008431657 00000 n -0008431700 00000 n -0008431744 00000 n -0008431787 00000 n -0008431831 00000 n -0008431875 00000 n -0008431918 00000 n -0008431961 00000 n -0008432029 00000 n -0008432263 00000 n -0008432362 00000 n -0008435091 00000 n -0008435422 00000 n -0008435844 00000 n -0008435887 00000 n -0008435930 00000 n -0008435973 00000 n -0008436017 00000 n -0008436085 00000 n -0008436348 00000 n -0008436447 00000 n -0008440762 00000 n -0008440928 00000 n -0008441095 00000 n -0008441257 00000 n -0008441329 00000 n -0008441414 00000 n -0008441457 00000 n -0008441788 00000 n -0008442210 00000 n -0008442253 00000 n -0008442296 00000 n -0008442339 00000 n -0008442382 00000 n -0008442425 00000 n -0008442468 00000 n -0008442512 00000 n -0008442556 00000 n -0008442599 00000 n -0008442642 00000 n -0008442710 00000 n -0008442930 00000 n -0008443029 00000 n -0008446317 00000 n -0008446648 00000 n -0008447070 00000 n -0008447113 00000 n -0008447157 00000 n -0008447201 00000 n -0008447245 00000 n -0008447289 00000 n -0008447357 00000 n -0008447606 00000 n -0008447705 00000 n -0008450750 00000 n -0008451081 00000 n -0008451503 00000 n -0008451547 00000 n -0008451590 00000 n -0008451633 00000 n -0008451701 00000 n -0008451907 00000 n -0008452006 00000 n -0008456183 00000 n -0008456514 00000 n -0008456936 00000 n -0008456980 00000 n -0008457023 00000 n -0008457066 00000 n -0008457109 00000 n -0008457152 00000 n -0008457196 00000 n -0008457264 00000 n -0008457513 00000 n -0008457612 00000 n -0008461852 00000 n -0008462183 00000 n -0008462605 00000 n -0008462648 00000 n -0008462691 00000 n -0008462734 00000 n -0008462802 00000 n -0008463065 00000 n -0008463164 00000 n -0008466700 00000 n -0008466865 00000 n -0008466907 00000 n -0008467238 00000 n -0008467660 00000 n -0008467728 00000 n -0008467963 00000 n -0008468062 00000 n -0008471713 00000 n -0008472044 00000 n -0008472466 00000 n -0008472509 00000 n -0008472552 00000 n -0008472620 00000 n -0008472869 00000 n -0008472968 00000 n -0008476609 00000 n -0008476776 00000 n -0008476819 00000 n -0008476863 00000 n -0008476907 00000 n -0008476951 00000 n -0008476994 00000 n -0008477037 00000 n -0008477105 00000 n -0008477353 00000 n -0008477452 00000 n -0008482409 00000 n -0008482740 00000 n -0008483162 00000 n -0008483230 00000 n -0008483465 00000 n -0008483564 00000 n -0008486061 00000 n -0008486392 00000 n -0008486814 00000 n -0008486858 00000 n -0008486901 00000 n -0008486944 00000 n -0008486987 00000 n -0008487031 00000 n -0008487074 00000 n -0008487118 00000 n -0008487161 00000 n -0008487204 00000 n -0008487247 00000 n -0008487291 00000 n -0008487334 00000 n -0008487377 00000 n -0008487420 00000 n -0008487488 00000 n -0008487708 00000 n -0008487807 00000 n -0008491516 00000 n -0008491847 00000 n -0008492269 00000 n -0008492312 00000 n -0008492355 00000 n -0008492399 00000 n -0008492443 00000 n -0008492487 00000 n -0008492530 00000 n -0008492573 00000 n -0008492616 00000 n -0008492659 00000 n -0008492703 00000 n -0008492746 00000 n -0008492789 00000 n -0008492832 00000 n -0008492875 00000 n -0008493206 00000 n -0008493628 00000 n -0008493671 00000 n -0008493715 00000 n -0008493759 00000 n -0008493802 00000 n -0008493846 00000 n -0008493889 00000 n -0008493933 00000 n -0008493977 00000 n -0008494021 00000 n -0008494089 00000 n -0008494338 00000 n -0008494437 00000 n -0008498119 00000 n -0008498282 00000 n -0008498324 00000 n -0008498655 00000 n -0008499077 00000 n -0008499145 00000 n -0008499395 00000 n -0008499494 00000 n -0008501163 00000 n -0008501329 00000 n -0008501495 00000 n -0008501661 00000 n -0008501827 00000 n -0008501869 00000 n -0008501911 00000 n -0008501953 00000 n -0008501995 00000 n -0008502326 00000 n -0008502748 00000 n -0008502816 00000 n -0008503050 00000 n -0008503149 00000 n -0008505835 00000 n -0008506002 00000 n -0008506045 00000 n -0008506376 00000 n -0008506798 00000 n -0008506841 00000 n -0008506909 00000 n -0008507188 00000 n -0008507287 00000 n -0008509075 00000 n -0008509242 00000 n -0008509409 00000 n -0008509576 00000 n -0008509619 00000 n -0008509662 00000 n -0008509993 00000 n -0008510415 00000 n -0008510458 00000 n -0008510501 00000 n -0008510545 00000 n -0008510588 00000 n -0008510656 00000 n -0008510876 00000 n -0008510975 00000 n -0008514823 00000 n -0008515154 00000 n -0008515576 00000 n -0008515619 00000 n -0008515687 00000 n -0008515950 00000 n -0008516049 00000 n -0008520408 00000 n -0008520573 00000 n -0008520615 00000 n -0008520946 00000 n -0008521368 00000 n -0008521411 00000 n -0008521455 00000 n -0008521498 00000 n -0008521542 00000 n -0008521586 00000 n -0008521630 00000 n -0008521674 00000 n -0008521717 00000 n -0008521785 00000 n -0008522048 00000 n -0008522147 00000 n -0008525726 00000 n -0008525893 00000 n -0008525936 00000 n -0008526267 00000 n -0008526689 00000 n -0008526732 00000 n -0008526776 00000 n -0008526819 00000 n -0008526862 00000 n -0008526906 00000 n -0008526949 00000 n -0008526992 00000 n -0008527036 00000 n -0008527104 00000 n -0008527338 00000 n -0008527437 00000 n -0008530552 00000 n -0008530883 00000 n -0008531305 00000 n -0008531348 00000 n -0008531391 00000 n -0008531434 00000 n -0008531502 00000 n -0008531737 00000 n -0008531836 00000 n -0008535537 00000 n -0008535868 00000 n -0008536290 00000 n -0008536333 00000 n -0008536377 00000 n -0008536420 00000 n -0008536464 00000 n -0008536507 00000 n -0008536550 00000 n -0008536594 00000 n -0008536662 00000 n -0008536897 00000 n -0008536996 00000 n -0008541056 00000 n -0008541387 00000 n -0008541809 00000 n -0008541852 00000 n -0008541895 00000 n -0008541938 00000 n -0008541982 00000 n -0008542025 00000 n -0008542068 00000 n -0008542111 00000 n -0008542154 00000 n -0008542197 00000 n -0008542241 00000 n -0008542285 00000 n -0008542329 00000 n -0008542372 00000 n -0008542440 00000 n -0008542660 00000 n -0008542759 00000 n -0008545308 00000 n -0008545639 00000 n -0008546061 00000 n -0008546105 00000 n -0008546148 00000 n -0008546191 00000 n -0008546234 00000 n -0008546277 00000 n -0008546320 00000 n -0008546364 00000 n -0008546407 00000 n -0008546450 00000 n -0008546491 00000 n -0008546782 00000 n -0008547225 00000 n -0008555102 00000 n -0008555145 00000 n -0008555187 00000 n -0008555230 00000 n -0008555273 00000 n -0008555317 00000 n -0008555360 00000 n -0008555428 00000 n -0008555648 00000 n -0008555747 00000 n -0008559091 00000 n -0008559422 00000 n -0008559844 00000 n -0008559887 00000 n -0008559931 00000 n -0008559999 00000 n -0008560234 00000 n -0008560333 00000 n -0008564663 00000 n -0008564994 00000 n -0008565416 00000 n -0008565460 00000 n -0008565503 00000 n -0008565546 00000 n -0008565589 00000 n -0008565657 00000 n -0008565892 00000 n -0008565991 00000 n -0008570296 00000 n -0008570627 00000 n -0008571049 00000 n -0008571130 00000 n -0008571174 00000 n -0008571217 00000 n -0008571260 00000 n -0008571303 00000 n -0008571634 00000 n -0008572056 00000 n -0008572100 00000 n -0008572168 00000 n -0008572417 00000 n -0008572516 00000 n -0008576688 00000 n -0008576855 00000 n -0008577021 00000 n -0008577064 00000 n -0008577107 00000 n -0008577438 00000 n -0008577860 00000 n -0008577903 00000 n -0008577947 00000 n -0008577991 00000 n -0008578034 00000 n -0008578078 00000 n -0008578121 00000 n -0008578189 00000 n -0008578409 00000 n -0008578508 00000 n -0008582040 00000 n -0008582371 00000 n -0008582793 00000 n -0008582836 00000 n -0008582880 00000 n -0008582923 00000 n -0008582967 00000 n -0008583010 00000 n -0008583054 00000 n -0008583097 00000 n -0008583165 00000 n -0008583385 00000 n -0008583484 00000 n -0008587017 00000 n -0008587348 00000 n -0008587770 00000 n -0008587813 00000 n -0008587881 00000 n -0008588115 00000 n -0008588214 00000 n -0008591616 00000 n -0008591947 00000 n -0008592369 00000 n -0008592413 00000 n -0008592457 00000 n -0008592500 00000 n -0008592543 00000 n -0008592586 00000 n -0008592629 00000 n -0008592673 00000 n -0008592716 00000 n -0008592759 00000 n -0008592803 00000 n -0008592847 00000 n -0008592890 00000 n -0008592933 00000 n -0008592976 00000 n -0008593019 00000 n -0008593062 00000 n -0008593106 00000 n -0008593174 00000 n -0008593394 00000 n -0008593493 00000 n -0008597285 00000 n -0008597616 00000 n -0008598038 00000 n -0008598106 00000 n -0008598340 00000 n -0008598439 00000 n -0008601631 00000 n -0008601962 00000 n -0008602384 00000 n -0008602428 00000 n -0008602472 00000 n -0008602515 00000 n -0008602558 00000 n -0008602601 00000 n -0008602669 00000 n -0008602903 00000 n -0008603002 00000 n -0008607720 00000 n -0008607885 00000 n -0008608051 00000 n -0008608121 00000 n -0008608163 00000 n -0008608494 00000 n -0008608916 00000 n -0008608959 00000 n -0008609002 00000 n -0008609045 00000 n -0008609088 00000 n -0008609131 00000 n -0008609174 00000 n -0008609218 00000 n -0008609262 00000 n -0008609330 00000 n -0008609579 00000 n -0008609678 00000 n -0008613503 00000 n -0008613834 00000 n -0008614256 00000 n -0008614299 00000 n -0008614342 00000 n -0008614385 00000 n -0008614428 00000 n -0008614472 00000 n -0008614515 00000 n -0008614558 00000 n -0008614602 00000 n -0008614646 00000 n -0008614690 00000 n -0008614734 00000 n -0008614778 00000 n -0008614846 00000 n -0008615066 00000 n -0008615165 00000 n -0008616953 00000 n -0008617284 00000 n -0008617706 00000 n -0008617749 00000 n -0008617793 00000 n -0008617836 00000 n -0008617879 00000 n -0008617922 00000 n -0008617966 00000 n -0008618009 00000 n -0008618052 00000 n -0008618096 00000 n -0008618140 00000 n -0008618183 00000 n -0008618226 00000 n -0008618270 00000 n -0008618313 00000 n -0008618356 00000 n -0008618400 00000 n -0008618468 00000 n -0008618688 00000 n -0008618787 00000 n -0008622511 00000 n -0008622842 00000 n -0008623264 00000 n -0008623307 00000 n -0008623350 00000 n -0008623394 00000 n -0008623437 00000 n -0008623481 00000 n -0008623524 00000 n -0008623567 00000 n -0008623610 00000 n -0008623653 00000 n -0008623696 00000 n -0008623739 00000 n -0008623782 00000 n -0008623825 00000 n -0008623866 00000 n -0008623910 00000 n -0008623978 00000 n -0008624198 00000 n -0008624297 00000 n -0008628492 00000 n -0008628823 00000 n -0008629245 00000 n -0008629288 00000 n -0008629332 00000 n -0008629375 00000 n -0008629418 00000 n -0008629462 00000 n -0008629506 00000 n -0008629549 00000 n -0008629593 00000 n -0008629637 00000 n -0008629680 00000 n -0008629723 00000 n -0008629791 00000 n -0008630011 00000 n -0008630110 00000 n -0008631941 00000 n -0008632272 00000 n -0008632694 00000 n -0008632737 00000 n -0008632780 00000 n -0008632824 00000 n -0008632892 00000 n -0008633126 00000 n -0008633225 00000 n -0008637546 00000 n -0008637712 00000 n -0008637754 00000 n -0008638085 00000 n -0008638507 00000 n -0008638550 00000 n -0008638593 00000 n -0008638636 00000 n -0008638679 00000 n -0008638723 00000 n -0008638766 00000 n -0008638810 00000 n -0008638854 00000 n -0008638922 00000 n -0008639185 00000 n -0008639284 00000 n -0008643543 00000 n -0008643710 00000 n -0008643877 00000 n -0008643920 00000 n -0008643963 00000 n -0008644294 00000 n -0008644716 00000 n -0008644759 00000 n -0008644803 00000 n -0008644846 00000 n -0008644889 00000 n -0008644933 00000 n -0008645001 00000 n -0008645221 00000 n -0008645320 00000 n -0008648864 00000 n -0008649195 00000 n -0008649617 00000 n -0008649661 00000 n -0008649705 00000 n -0008649749 00000 n -0008649792 00000 n -0008649860 00000 n -0008650094 00000 n -0008650193 00000 n -0008654984 00000 n -0008655315 00000 n -0008655737 00000 n -0008655780 00000 n -0008655823 00000 n -0008655867 00000 n -0008655910 00000 n -0008655953 00000 n -0008655996 00000 n -0008656039 00000 n -0008656082 00000 n -0008656125 00000 n -0008656169 00000 n -0008656213 00000 n -0008656256 00000 n -0008656299 00000 n -0008656343 00000 n -0008656387 00000 n -0008656430 00000 n -0008656474 00000 n -0008656517 00000 n -0008656561 00000 n -0008656605 00000 n -0008656649 00000 n -0008656693 00000 n -0008656735 00000 n -0008656778 00000 n -0008656822 00000 n -0008656865 00000 n -0008656933 00000 n -0008657153 00000 n -0008657252 00000 n -0008660869 00000 n -0008661200 00000 n -0008661622 00000 n -0008661665 00000 n -0008661708 00000 n -0008661750 00000 n -0008661818 00000 n -0008662081 00000 n -0008662180 00000 n -0008666383 00000 n -0008666714 00000 n -0008667136 00000 n -0008667179 00000 n -0008667222 00000 n -0008667263 00000 n -0008667307 00000 n -0008667375 00000 n -0008667609 00000 n -0008667708 00000 n -0008669896 00000 n -0008670227 00000 n -0008670649 00000 n -0008670693 00000 n -0008670736 00000 n -0008670780 00000 n -0008670823 00000 n -0008670867 00000 n -0008670910 00000 n -0008670953 00000 n -0008670996 00000 n -0008671040 00000 n -0008671108 00000 n -0008671328 00000 n -0008671427 00000 n -0008675369 00000 n -0008675700 00000 n -0008676122 00000 n -0008676166 00000 n -0008676210 00000 n -0008676252 00000 n -0008676295 00000 n -0008676339 00000 n -0008676383 00000 n -0008676426 00000 n -0008676469 00000 n -0008676512 00000 n -0008676555 00000 n -0008676599 00000 n -0008676643 00000 n -0008676686 00000 n -0008676730 00000 n -0008676773 00000 n -0008676816 00000 n -0008676884 00000 n -0008677133 00000 n -0008677232 00000 n -0008680700 00000 n -0008681031 00000 n -0008681453 00000 n -0008681496 00000 n -0008681539 00000 n -0008681583 00000 n -0008681627 00000 n -0008681670 00000 n -0008681714 00000 n -0008681757 00000 n -0008681799 00000 n -0008681842 00000 n -0008681885 00000 n -0008681929 00000 n -0008681972 00000 n -0008682015 00000 n -0008682058 00000 n -0008682101 00000 n -0008682144 00000 n -0008682187 00000 n -0008682231 00000 n -0008682274 00000 n -0008682317 00000 n -0008682361 00000 n -0008682405 00000 n -0008682448 00000 n -0008682492 00000 n -0008682535 00000 n -0008682578 00000 n -0008682646 00000 n -0008682866 00000 n -0008682965 00000 n -0008686977 00000 n -0008687308 00000 n -0008687730 00000 n -0008687773 00000 n -0008687841 00000 n -0008688090 00000 n -0008688189 00000 n -0008692731 00000 n -0008693062 00000 n -0008693484 00000 n -0008693528 00000 n -0008693571 00000 n -0008693615 00000 n -0008693659 00000 n -0008693727 00000 n -0008693961 00000 n -0008694060 00000 n -0008697202 00000 n -0008697533 00000 n -0008697955 00000 n -0008697998 00000 n -0008698040 00000 n -0008698084 00000 n -0008698127 00000 n -0008698195 00000 n -0008698472 00000 n -0008698571 00000 n -0008702931 00000 n -0008703095 00000 n -0008703137 00000 n -0008703468 00000 n -0008703890 00000 n -0008703933 00000 n -0008703976 00000 n -0008704044 00000 n -0008704264 00000 n -0008704363 00000 n -0008708363 00000 n -0008708694 00000 n -0008709116 00000 n -0008709159 00000 n -0008709203 00000 n -0008709271 00000 n -0008709520 00000 n -0008709619 00000 n -0008712998 00000 n -0008713329 00000 n -0008713751 00000 n -0008713794 00000 n -0008713837 00000 n -0008713905 00000 n -0008714125 00000 n -0008714224 00000 n -0008718310 00000 n -0008718641 00000 n -0008719063 00000 n -0008719107 00000 n -0008719150 00000 n -0008719193 00000 n -0008719236 00000 n -0008719280 00000 n -0008719324 00000 n -0008719368 00000 n -0008719411 00000 n -0008719453 00000 n -0008719496 00000 n -0008719540 00000 n -0008719583 00000 n -0008719626 00000 n -0008719669 00000 n -0008719712 00000 n -0008719756 00000 n -0008719799 00000 n -0008719840 00000 n -0008719884 00000 n -0008719927 00000 n -0008719970 00000 n -0008720014 00000 n -0008720057 00000 n -0008720100 00000 n -0008720144 00000 n -0008720187 00000 n -0008720231 00000 n -0008720274 00000 n -0008720317 00000 n -0008720361 00000 n -0008720404 00000 n -0008720447 00000 n -0008720489 00000 n -0008720532 00000 n -0008720575 00000 n -0008720618 00000 n -0008720661 00000 n -0008720729 00000 n -0008720949 00000 n -0008721048 00000 n -0008723510 00000 n -0008723841 00000 n -0008724263 00000 n -0008724305 00000 n -0008724348 00000 n -0008724392 00000 n -0008724460 00000 n -0008724680 00000 n -0008724779 00000 n -0008728484 00000 n -0008728815 00000 n -0008729237 00000 n -0008729280 00000 n -0008729324 00000 n -0008729367 00000 n -0008729411 00000 n -0008729454 00000 n -0008729522 00000 n -0008729742 00000 n -0008729841 00000 n -0008733653 00000 n -0008733984 00000 n -0008734406 00000 n -0008734474 00000 n -0008734723 00000 n -0008734822 00000 n -0008738340 00000 n -0008738507 00000 n -0008738550 00000 n -0008738881 00000 n -0008739303 00000 n -0008739346 00000 n -0008739389 00000 n -0008739433 00000 n -0008739477 00000 n -0008739521 00000 n -0008739564 00000 n -0008739608 00000 n -0008739651 00000 n -0008739693 00000 n -0008739737 00000 n -0008739780 00000 n -0008739823 00000 n -0008739866 00000 n -0008739909 00000 n -0008739952 00000 n -0008739995 00000 n -0008740038 00000 n -0008740081 00000 n -0008740124 00000 n -0008740167 00000 n -0008740211 00000 n -0008740255 00000 n -0008740323 00000 n -0008740572 00000 n -0008740671 00000 n -0008745426 00000 n -0008745592 00000 n -0008745634 00000 n -0008745965 00000 n -0008746387 00000 n -0008746431 00000 n -0008746762 00000 n -0008747184 00000 n -0008747227 00000 n -0008747269 00000 n -0008747312 00000 n -0008747643 00000 n -0008748065 00000 n -0008748109 00000 n -0008748152 00000 n -0008748220 00000 n -0008748440 00000 n -0008748539 00000 n -0008750636 00000 n -0008750967 00000 n -0008751389 00000 n -0008751432 00000 n -0008751763 00000 n -0008752185 00000 n -0008752228 00000 n -0008752296 00000 n -0008752516 00000 n -0008752615 00000 n -0008756876 00000 n -0008757207 00000 n -0008757629 00000 n -0008757672 00000 n -0008757713 00000 n -0008757756 00000 n -0008757799 00000 n -0008757867 00000 n -0008758087 00000 n -0008758186 00000 n -0008761681 00000 n -0008762012 00000 n -0008762434 00000 n -0008762478 00000 n -0008762521 00000 n -0008762564 00000 n -0008762608 00000 n -0008762651 00000 n -0008762694 00000 n -0008762737 00000 n -0008762780 00000 n -0008762824 00000 n -0008762867 00000 n -0008762910 00000 n -0008762953 00000 n -0008762996 00000 n -0008763039 00000 n -0008763082 00000 n -0008763123 00000 n -0008763167 00000 n -0008763210 00000 n -0008763254 00000 n -0008763297 00000 n -0008763340 00000 n -0008763383 00000 n -0008763427 00000 n -0008763470 00000 n -0008763514 00000 n -0008763558 00000 n -0008763601 00000 n -0008763645 00000 n -0008763688 00000 n -0008763732 00000 n -0008763774 00000 n -0008763817 00000 n -0008763861 00000 n -0008763904 00000 n -0008763972 00000 n -0008764192 00000 n -0008764291 00000 n -0008767250 00000 n -0008767581 00000 n -0008768003 00000 n -0008768046 00000 n -0008768089 00000 n -0008768157 00000 n -0008768377 00000 n -0008768476 00000 n -0008772807 00000 n -0008773138 00000 n -0008773560 00000 n -0008773603 00000 n -0008773646 00000 n -0008773706 00000 n -0008773749 00000 n -0008773793 00000 n -0008773836 00000 n -0008773904 00000 n -0008774124 00000 n -0008774223 00000 n -0008775997 00000 n -0008776328 00000 n -0008776750 00000 n -0008776818 00000 n -0008777081 00000 n -0008777180 00000 n -0008780850 00000 n -0008781016 00000 n -0008781058 00000 n -0008781389 00000 n -0008781811 00000 n -0008781854 00000 n -0008781898 00000 n -0008781966 00000 n -0008782243 00000 n -0008782342 00000 n -0008785814 00000 n -0008785980 00000 n -0008786022 00000 n -0008786353 00000 n -0008786775 00000 n -0008786819 00000 n -0008786887 00000 n -0008787164 00000 n -0008787263 00000 n -0008791230 00000 n -0008791396 00000 n -0008791562 00000 n -0008791604 00000 n -0008791646 00000 n -0008791977 00000 n -0008792399 00000 n -0008792443 00000 n -0008792511 00000 n -0008792746 00000 n -0008792845 00000 n -0008796014 00000 n -0008796345 00000 n -0008796767 00000 n -0008796811 00000 n -0008796853 00000 n -0008796896 00000 n -0008796964 00000 n -0008797184 00000 n -0008797283 00000 n -0008799787 00000 n -0008800118 00000 n -0008800540 00000 n -0008800583 00000 n -0008800627 00000 n -0008800670 00000 n -0008800713 00000 n -0008800756 00000 n -0008800799 00000 n -0008800842 00000 n -0008800886 00000 n -0008800929 00000 n -0008800970 00000 n -0008801014 00000 n -0008801057 00000 n -0008801100 00000 n -0008801143 00000 n -0008801187 00000 n -0008801230 00000 n -0008801272 00000 n -0008801315 00000 n -0008801646 00000 n -0008802068 00000 n -0008802112 00000 n -0008802156 00000 n -0008802200 00000 n -0008802243 00000 n -0008802285 00000 n -0008802328 00000 n -0008802372 00000 n -0008802415 00000 n -0008802458 00000 n -0008802501 00000 n -0008802544 00000 n -0008823559 00000 n -0008823890 00000 n -0008824312 00000 n -0008824353 00000 n -0008824397 00000 n -0008824439 00000 n -0008824483 00000 n -0008824527 00000 n -0008824571 00000 n -0008824639 00000 n -0008824859 00000 n -0008824958 00000 n -0008828070 00000 n -0008828401 00000 n -0008828823 00000 n -0008828866 00000 n -0008828909 00000 n -0008828952 00000 n -0008828996 00000 n -0008829064 00000 n -0008829299 00000 n -0008829398 00000 n -0008833574 00000 n -0008833905 00000 n -0008834327 00000 n -0008834371 00000 n -0008834414 00000 n -0008834456 00000 n -0008834499 00000 n -0008834542 00000 n -0008834586 00000 n -0008834629 00000 n -0008834697 00000 n -0008834931 00000 n -0008835030 00000 n -0008837875 00000 n -0008838206 00000 n -0008838628 00000 n -0008838671 00000 n -0008838739 00000 n -0008838959 00000 n -0008839058 00000 n -0008842307 00000 n -0008842638 00000 n -0008843060 00000 n -0008843103 00000 n -0008843147 00000 n -0008843190 00000 n -0008843233 00000 n -0008843277 00000 n -0008843320 00000 n -0008843364 00000 n -0008843407 00000 n -0008843451 00000 n -0008843494 00000 n -0008843538 00000 n -0008843580 00000 n -0008843623 00000 n -0008843667 00000 n -0008843711 00000 n -0008843754 00000 n -0008843797 00000 n -0008843840 00000 n -0008843883 00000 n -0008843926 00000 n -0008843970 00000 n -0008844012 00000 n -0008844055 00000 n -0008844099 00000 n -0008844143 00000 n -0008844186 00000 n -0008844230 00000 n -0008844273 00000 n -0008844317 00000 n -0008844385 00000 n -0008844634 00000 n -0008844733 00000 n -0008848690 00000 n -0008848856 00000 n -0008848898 00000 n -0008849229 00000 n -0008849651 00000 n -0008849694 00000 n -0008849738 00000 n -0008849806 00000 n -0008850026 00000 n -0008850125 00000 n -0008854378 00000 n -0008854709 00000 n -0008855131 00000 n -0008855173 00000 n -0008855241 00000 n -0008855504 00000 n -0008855603 00000 n -0008859545 00000 n -0008859708 00000 n -0008859750 00000 n -0008860081 00000 n -0008860503 00000 n -0008860571 00000 n -0008860791 00000 n -0008860890 00000 n -0008864470 00000 n -0008864801 00000 n -0008865223 00000 n -0008865267 00000 n -0008865310 00000 n -0008865378 00000 n -0008865598 00000 n -0008865697 00000 n -0008869003 00000 n -0008869334 00000 n -0008869756 00000 n -0008869799 00000 n -0008869842 00000 n -0008869886 00000 n -0008869929 00000 n -0008869972 00000 n -0008870016 00000 n -0008870059 00000 n -0008870102 00000 n -0008870145 00000 n -0008870189 00000 n -0008870232 00000 n -0008870300 00000 n -0008870563 00000 n -0008870662 00000 n -0008874420 00000 n -0008874586 00000 n -0008874628 00000 n -0008874959 00000 n -0008875381 00000 n -0008875424 00000 n -0008875468 00000 n -0008875536 00000 n -0008875756 00000 n -0008875855 00000 n -0008879701 00000 n -0008880032 00000 n -0008880454 00000 n -0008880497 00000 n -0008880541 00000 n -0008880584 00000 n -0008880626 00000 n -0008880669 00000 n -0008880712 00000 n -0008880755 00000 n -0008880799 00000 n -0008880842 00000 n -0008880885 00000 n -0008880928 00000 n -0008880971 00000 n -0008881015 00000 n -0008881058 00000 n -0008881126 00000 n -0008881360 00000 n -0008881459 00000 n -0008885296 00000 n -0008885627 00000 n -0008886049 00000 n -0008886092 00000 n -0008886135 00000 n -0008886178 00000 n -0008886222 00000 n -0008886553 00000 n -0008886975 00000 n -0008887018 00000 n -0008887061 00000 n -0008887104 00000 n -0008887148 00000 n -0008887191 00000 n -0008887235 00000 n -0008887303 00000 n -0008887523 00000 n -0008887622 00000 n -0008890996 00000 n -0008891327 00000 n -0008891749 00000 n -0008891791 00000 n -0008891859 00000 n -0008892122 00000 n -0008892221 00000 n -0008896801 00000 n -0008896967 00000 n -0008897038 00000 n -0008897369 00000 n -0008897791 00000 n -0008897834 00000 n -0008897877 00000 n -0008897920 00000 n -0008897988 00000 n -0008898237 00000 n -0008898336 00000 n -0008902045 00000 n -0008902376 00000 n -0008902798 00000 n -0008902866 00000 n -0008903143 00000 n -0008903242 00000 n -0008908106 00000 n -0008908272 00000 n -0008908314 00000 n -0008908645 00000 n -0008909067 00000 n -0008909109 00000 n -0008909152 00000 n -0008909193 00000 n -0008909237 00000 n -0008909280 00000 n -0008909324 00000 n -0008909367 00000 n -0008909435 00000 n -0008909683 00000 n -0008909782 00000 n -0008914099 00000 n -0008914265 00000 n -0008914307 00000 n -0008914638 00000 n -0008915060 00000 n -0008915128 00000 n -0008915362 00000 n -0008915461 00000 n -0008919759 00000 n -0008919926 00000 n -0008919969 00000 n -0008920300 00000 n -0008920722 00000 n -0008920765 00000 n -0008920809 00000 n -0008920852 00000 n -0008920896 00000 n -0008920940 00000 n -0008920983 00000 n -0008921025 00000 n -0008921069 00000 n -0008921112 00000 n -0008921155 00000 n -0008921223 00000 n -0008921472 00000 n -0008921571 00000 n -0008925437 00000 n -0008925604 00000 n -0008925647 00000 n -0008925978 00000 n -0008926400 00000 n -0008926443 00000 n -0008926486 00000 n -0008926529 00000 n -0008926572 00000 n -0008926615 00000 n -0008926659 00000 n -0008926702 00000 n -0008926746 00000 n -0008926789 00000 n -0008926832 00000 n -0008926876 00000 n -0008926919 00000 n -0008926962 00000 n -0008927005 00000 n -0008927049 00000 n -0008927093 00000 n -0008927136 00000 n -0008927180 00000 n -0008927248 00000 n -0008927468 00000 n -0008927567 00000 n -0008931628 00000 n -0008931959 00000 n -0008932381 00000 n -0008932423 00000 n -0008932466 00000 n -0008932509 00000 n -0008932553 00000 n -0008932596 00000 n -0008932639 00000 n -0008932682 00000 n -0008932750 00000 n -0008932999 00000 n -0008933098 00000 n -0008937628 00000 n -0008937794 00000 n -0008937836 00000 n -0008938167 00000 n -0008938589 00000 n -0008938632 00000 n -0008938675 00000 n -0008938718 00000 n -0008938761 00000 n -0008938829 00000 n -0008939078 00000 n -0008939177 00000 n -0008943898 00000 n -0008944229 00000 n -0008944651 00000 n -0008944719 00000 n -0008944968 00000 n -0008945067 00000 n -0008947862 00000 n -0008948193 00000 n -0008948615 00000 n -0008948658 00000 n -0008948701 00000 n -0008948744 00000 n -0008949075 00000 n -0008949497 00000 n -0008949540 00000 n -0008949582 00000 n -0008949626 00000 n -0008949694 00000 n -0008949942 00000 n -0008950041 00000 n -0008954576 00000 n -0008954907 00000 n -0008955329 00000 n -0008955373 00000 n -0008955416 00000 n -0008955459 00000 n -0008955790 00000 n -0008956212 00000 n -0008956254 00000 n -0008956297 00000 n -0008956341 00000 n -0008956384 00000 n -0008956427 00000 n -0008956495 00000 n -0008956743 00000 n -0008956842 00000 n -0008961093 00000 n -0008961256 00000 n -0008961298 00000 n -0008961629 00000 n -0008962051 00000 n -0008962094 00000 n -0008962135 00000 n -0008962179 00000 n -0008962222 00000 n -0008962265 00000 n -0008962308 00000 n -0008962351 00000 n -0008962393 00000 n -0008962437 00000 n -0008962481 00000 n -0008962525 00000 n -0008962569 00000 n -0008962612 00000 n -0008962655 00000 n -0008962698 00000 n -0008962742 00000 n -0008962785 00000 n -0008962828 00000 n -0008962871 00000 n -0008962914 00000 n -0008962957 00000 n -0008963000 00000 n -0008963068 00000 n -0008963288 00000 n -0008963387 00000 n -0008965903 00000 n -0008966234 00000 n -0008966656 00000 n -0008966700 00000 n -0008966743 00000 n -0008966787 00000 n -0008966830 00000 n -0008966874 00000 n -0008966942 00000 n -0008967205 00000 n -0008967304 00000 n -0008971897 00000 n -0008972228 00000 n -0008972650 00000 n -0008972694 00000 n -0008972737 00000 n -0008972781 00000 n -0008972849 00000 n -0008973069 00000 n -0008973168 00000 n -0008976070 00000 n -0008976401 00000 n -0008976823 00000 n -0008976867 00000 n -0008976935 00000 n -0008977198 00000 n -0008977297 00000 n -0008981048 00000 n -0008981379 00000 n -0008981801 00000 n -0008981844 00000 n -0008981912 00000 n -0008982146 00000 n -0008982245 00000 n -0008986330 00000 n -0008986661 00000 n -0008987083 00000 n -0008987126 00000 n -0008987169 00000 n -0008987213 00000 n -0008987256 00000 n -0008987299 00000 n -0008987342 00000 n -0008987385 00000 n -0008987429 00000 n -0008987472 00000 n -0008987516 00000 n -0008987559 00000 n -0008987602 00000 n -0008987645 00000 n -0008987688 00000 n -0008987732 00000 n -0008987775 00000 n -0008987818 00000 n -0008987862 00000 n -0008987905 00000 n -0008987949 00000 n -0008987992 00000 n -0008988035 00000 n -0008988079 00000 n -0008988122 00000 n -0008988165 00000 n -0008988208 00000 n -0008988251 00000 n -0008988294 00000 n -0008988362 00000 n -0008988611 00000 n -0008988710 00000 n -0008992887 00000 n -0008993218 00000 n -0008993640 00000 n -0008993683 00000 n -0008993724 00000 n -0008993768 00000 n -0008993812 00000 n -0008993855 00000 n -0008993899 00000 n -0008993943 00000 n -0008993986 00000 n -0008994030 00000 n -0008994073 00000 n -0008994117 00000 n -0008994161 00000 n -0008994229 00000 n -0008994464 00000 n -0008994563 00000 n -0008997870 00000 n -0008998201 00000 n -0008998623 00000 n -0008998667 00000 n -0008998735 00000 n -0008999012 00000 n -0008999111 00000 n -0009002884 00000 n -0009003050 00000 n -0009003092 00000 n -0009003423 00000 n -0009003845 00000 n -0009003913 00000 n -0009004147 00000 n -0009004246 00000 n -0009008605 00000 n -0009008772 00000 n -0009008815 00000 n -0009009146 00000 n -0009009568 00000 n -0009009610 00000 n -0009009653 00000 n -0009009697 00000 n -0009009740 00000 n -0009009783 00000 n -0009009826 00000 n -0009009869 00000 n -0009009912 00000 n -0009009955 00000 n -0009009996 00000 n -0009010040 00000 n -0009010083 00000 n -0009010126 00000 n -0009010169 00000 n -0009010211 00000 n -0009010279 00000 n -0009010527 00000 n -0009010626 00000 n -0009014734 00000 n -0009015065 00000 n -0009015487 00000 n -0009015530 00000 n -0009015573 00000 n -0009015616 00000 n -0009015659 00000 n -0009015703 00000 n -0009015747 00000 n -0009015790 00000 n -0009015834 00000 n -0009015877 00000 n -0009015920 00000 n -0009015963 00000 n -0009016007 00000 n -0009016050 00000 n -0009016093 00000 n -0009016136 00000 n -0009016179 00000 n -0009016222 00000 n -0009016264 00000 n -0009016307 00000 n -0009016348 00000 n -0009016391 00000 n -0009016459 00000 n -0009016708 00000 n -0009016807 00000 n -0009021281 00000 n -0009021448 00000 n -0009021491 00000 n -0009021822 00000 n -0009022244 00000 n -0009022287 00000 n -0009022331 00000 n -0009022374 00000 n -0009022417 00000 n -0009022461 00000 n -0009022504 00000 n -0009022547 00000 n -0009022591 00000 n -0009022634 00000 n -0009022702 00000 n -0009022951 00000 n -0009023050 00000 n -0009026290 00000 n -0009026621 00000 n -0009027043 00000 n -0009027087 00000 n -0009027155 00000 n -0009027418 00000 n -0009027517 00000 n -0009031325 00000 n -0009031492 00000 n -0009031535 00000 n -0009031866 00000 n -0009032288 00000 n -0009032331 00000 n -0009032374 00000 n -0009032442 00000 n -0009032691 00000 n -0009032790 00000 n -0009036908 00000 n -0009037239 00000 n -0009037661 00000 n -0009037704 00000 n -0009037747 00000 n -0009037788 00000 n -0009037856 00000 n -0009038133 00000 n -0009038232 00000 n -0009042341 00000 n -0009042504 00000 n -0009042546 00000 n -0009042877 00000 n -0009043299 00000 n -0009043342 00000 n -0009043410 00000 n -0009043630 00000 n -0009043729 00000 n -0009048742 00000 n -0009049073 00000 n -0009049495 00000 n -0009049538 00000 n -0009049581 00000 n -0009049624 00000 n -0009049668 00000 n -0009049711 00000 n -0009049754 00000 n -0009049798 00000 n -0009049866 00000 n -0009050115 00000 n -0009050214 00000 n -0009054057 00000 n -0009054224 00000 n -0009054305 00000 n -0009054636 00000 n -0009055058 00000 n -0009055102 00000 n -0009055145 00000 n -0009055188 00000 n -0009055231 00000 n -0009055274 00000 n -0009055317 00000 n -0009055360 00000 n -0009055403 00000 n -0009055447 00000 n -0009055491 00000 n -0009055534 00000 n -0009055577 00000 n -0009055620 00000 n -0009055688 00000 n -0009055937 00000 n -0009056036 00000 n -0009060428 00000 n -0009060594 00000 n -0009060636 00000 n -0009060967 00000 n -0009061389 00000 n -0009061432 00000 n -0009061475 00000 n -0009061519 00000 n -0009061563 00000 n -0009061606 00000 n -0009061649 00000 n -0009061692 00000 n -0009061735 00000 n -0009061778 00000 n -0009061821 00000 n -0009061889 00000 n -0009062109 00000 n -0009062208 00000 n -0009066106 00000 n -0009066437 00000 n -0009066859 00000 n -0009066901 00000 n -0009066944 00000 n -0009067012 00000 n -0009067275 00000 n -0009067374 00000 n -0009070785 00000 n -0009070952 00000 n -0009070995 00000 n -0009071326 00000 n -0009071748 00000 n -0009071792 00000 n -0009071836 00000 n -0009071879 00000 n -0009071947 00000 n -0009072182 00000 n -0009072281 00000 n -0009077080 00000 n -0009077411 00000 n -0009077833 00000 n -0009077876 00000 n -0009077920 00000 n -0009077963 00000 n -0009078007 00000 n -0009078050 00000 n -0009078094 00000 n -0009078138 00000 n -0009078182 00000 n -0009078250 00000 n -0009078498 00000 n -0009078597 00000 n -0009081870 00000 n -0009082201 00000 n -0009082623 00000 n -0009082666 00000 n -0009082709 00000 n -0009082752 00000 n -0009082795 00000 n -0009082863 00000 n -0009083112 00000 n -0009083211 00000 n -0009087149 00000 n -0009087480 00000 n -0009087902 00000 n -0009087945 00000 n -0009087988 00000 n -0009088031 00000 n -0009088074 00000 n -0009088115 00000 n -0009088159 00000 n -0009088202 00000 n -0009088245 00000 n -0009088288 00000 n -0009088356 00000 n -0009088576 00000 n -0009088675 00000 n -0009091466 00000 n -0009091797 00000 n -0009092219 00000 n -0009092262 00000 n -0009092306 00000 n -0009092374 00000 n -0009092623 00000 n -0009092722 00000 n -0009096965 00000 n -0009097131 00000 n -0009097173 00000 n -0009097504 00000 n -0009097926 00000 n -0009097970 00000 n -0009098013 00000 n -0009098056 00000 n -0009098099 00000 n -0009098142 00000 n -0009098473 00000 n -0009098895 00000 n -0009098938 00000 n -0009098981 00000 n -0009099023 00000 n -0009099066 00000 n -0009099110 00000 n -0009099153 00000 n -0009099196 00000 n -0009099240 00000 n -0009099308 00000 n -0009099571 00000 n -0009099670 00000 n -0009103849 00000 n -0009104015 00000 n -0009104058 00000 n -0009104389 00000 n -0009104811 00000 n -0009104854 00000 n -0009104922 00000 n -0009105170 00000 n -0009105269 00000 n -0009109432 00000 n -0009109597 00000 n -0009109639 00000 n -0009109970 00000 n -0009110392 00000 n -0009110435 00000 n -0009110478 00000 n -0009110521 00000 n -0009110564 00000 n -0009110608 00000 n -0009110651 00000 n -0009110693 00000 n -0009110736 00000 n -0009110779 00000 n -0009110822 00000 n -0009110865 00000 n -0009110908 00000 n -0009110951 00000 n -0009110995 00000 n -0009111063 00000 n -0009111326 00000 n -0009111425 00000 n -0009115250 00000 n -0009115416 00000 n -0009115458 00000 n -0009115789 00000 n -0009116211 00000 n -0009116254 00000 n -0009116297 00000 n -0009116340 00000 n -0009116383 00000 n -0009116427 00000 n -0009116470 00000 n -0009116513 00000 n -0009116557 00000 n -0009116601 00000 n -0009116645 00000 n -0009116688 00000 n -0009116731 00000 n -0009116773 00000 n -0009116841 00000 n -0009117118 00000 n -0009117217 00000 n -0009121291 00000 n -0009121457 00000 n -0009121499 00000 n -0009121830 00000 n -0009122252 00000 n -0009122295 00000 n -0009122337 00000 n -0009122380 00000 n -0009122423 00000 n -0009122466 00000 n -0009122509 00000 n -0009122553 00000 n -0009122597 00000 n -0009122640 00000 n -0009122683 00000 n -0009122726 00000 n -0009122769 00000 n -0009122812 00000 n -0009122856 00000 n -0009122899 00000 n -0009122942 00000 n -0009122985 00000 n -0009123053 00000 n -0009123301 00000 n -0009123400 00000 n -0009126986 00000 n -0009127152 00000 n -0009127195 00000 n -0009127526 00000 n -0009127948 00000 n -0009127992 00000 n -0009128036 00000 n -0009128104 00000 n -0009128338 00000 n -0009128437 00000 n -0009132396 00000 n -0009132562 00000 n -0009132605 00000 n -0009132936 00000 n -0009133358 00000 n -0009133401 00000 n -0009133444 00000 n -0009133487 00000 n -0009133530 00000 n -0009133573 00000 n -0009133616 00000 n -0009133684 00000 n -0009133933 00000 n -0009134032 00000 n -0009138568 00000 n -0009138734 00000 n -0009138776 00000 n -0009139107 00000 n -0009139529 00000 n -0009139572 00000 n -0009139640 00000 n -0009139888 00000 n -0009139987 00000 n -0009144284 00000 n -0009144615 00000 n -0009145037 00000 n -0009145080 00000 n -0009145124 00000 n -0009145192 00000 n -0009145426 00000 n -0009145525 00000 n -0009148168 00000 n -0009148499 00000 n -0009148921 00000 n -0009148964 00000 n -0009149008 00000 n -0009149076 00000 n -0009149325 00000 n -0009149424 00000 n -0009153523 00000 n -0009153854 00000 n -0009154276 00000 n -0009154319 00000 n -0009154362 00000 n -0009154406 00000 n -0009154450 00000 n -0009154493 00000 n -0009154535 00000 n -0009154603 00000 n -0009154823 00000 n -0009154922 00000 n -0009159015 00000 n -0009159346 00000 n -0009159768 00000 n -0009159812 00000 n -0009159855 00000 n -0009159898 00000 n -0009159941 00000 n -0009159984 00000 n -0009160027 00000 n -0009160071 00000 n -0009160115 00000 n -0009160158 00000 n -0009160201 00000 n -0009160244 00000 n -0009160288 00000 n -0009160331 00000 n -0009160375 00000 n -0009160418 00000 n -0009160461 00000 n -0009160505 00000 n -0009160548 00000 n -0009160590 00000 n -0009160633 00000 n -0009160964 00000 n -0009161386 00000 n -0009161429 00000 n -0009161497 00000 n -0009161760 00000 n -0009161859 00000 n -0009165578 00000 n -0009165745 00000 n -0009165788 00000 n -0009166119 00000 n -0009166541 00000 n -0009166609 00000 n -0009166843 00000 n -0009166942 00000 n -0009171369 00000 n -0009171700 00000 n -0009172122 00000 n -0009172165 00000 n -0009172233 00000 n -0009172468 00000 n -0009172567 00000 n -0009176580 00000 n -0009176911 00000 n -0009177333 00000 n -0009177377 00000 n -0009177420 00000 n -0009177464 00000 n -0009177532 00000 n -0009177795 00000 n -0009177894 00000 n -0009182799 00000 n -0009182965 00000 n -0009183007 00000 n -0009183338 00000 n -0009183760 00000 n -0009183803 00000 n -0009183846 00000 n -0009183890 00000 n -0009183933 00000 n -0009183975 00000 n -0009184018 00000 n -0009184061 00000 n -0009184129 00000 n -0009184392 00000 n -0009184491 00000 n -0009187605 00000 n -0009187936 00000 n -0009188358 00000 n -0009188401 00000 n -0009188469 00000 n -0009188718 00000 n -0009188817 00000 n -0009193152 00000 n -0009193483 00000 n -0009193905 00000 n -0009193948 00000 n -0009193992 00000 n -0009194036 00000 n -0009194079 00000 n -0009194122 00000 n -0009194165 00000 n -0009194208 00000 n -0009194251 00000 n -0009194294 00000 n -0009194337 00000 n -0009194381 00000 n -0009194425 00000 n -0009194468 00000 n -0009194512 00000 n -0009194555 00000 n -0009194598 00000 n -0009194640 00000 n -0009194708 00000 n -0009194971 00000 n -0009195070 00000 n -0009199311 00000 n -0009199642 00000 n -0009200064 00000 n -0009200107 00000 n -0009200150 00000 n -0009200193 00000 n -0009200236 00000 n -0009200304 00000 n -0009200553 00000 n -0009200652 00000 n -0009204342 00000 n -0009204504 00000 n -0009204546 00000 n -0009204877 00000 n -0009205299 00000 n -0009205342 00000 n -0009205385 00000 n -0009205453 00000 n -0009205673 00000 n -0009205772 00000 n -0009209266 00000 n -0009209597 00000 n -0009210019 00000 n -0009210062 00000 n -0009210105 00000 n -0009210149 00000 n -0009210217 00000 n -0009210437 00000 n -0009210536 00000 n -0009212640 00000 n -0009212971 00000 n -0009213393 00000 n -0009213436 00000 n -0009213479 00000 n -0009213523 00000 n -0009213566 00000 n -0009213610 00000 n -0009213653 00000 n -0009213695 00000 n -0009213738 00000 n -0009213781 00000 n -0009213825 00000 n -0009213868 00000 n -0009213911 00000 n -0009213954 00000 n -0009214022 00000 n -0009214242 00000 n -0009214341 00000 n -0009217840 00000 n -0009218171 00000 n -0009218593 00000 n -0009218636 00000 n -0009218678 00000 n -0009218722 00000 n -0009218766 00000 n -0009218809 00000 n -0009218852 00000 n -0009218896 00000 n -0009218939 00000 n -0009218982 00000 n -0009219025 00000 n -0009219068 00000 n -0009219112 00000 n -0009219156 00000 n -0009219199 00000 n -0009219242 00000 n -0009219285 00000 n -0009219329 00000 n -0009219372 00000 n -0009219415 00000 n -0009219483 00000 n -0009219732 00000 n -0009219831 00000 n -0009223738 00000 n -0009224069 00000 n -0009224491 00000 n -0009224534 00000 n -0009224576 00000 n -0009224620 00000 n -0009224664 00000 n -0009224732 00000 n -0009224967 00000 n -0009225066 00000 n -0009229975 00000 n -0009230306 00000 n -0009230728 00000 n -0009230771 00000 n -0009230814 00000 n -0009230858 00000 n -0009230926 00000 n -0009231146 00000 n -0009231245 00000 n -0009236131 00000 n -0009236462 00000 n -0009236884 00000 n -0009236928 00000 n -0009236971 00000 n -0009237015 00000 n -0009237058 00000 n -0009237102 00000 n -0009237170 00000 n -0009237419 00000 n -0009237518 00000 n -0009240704 00000 n -0009241035 00000 n -0009241457 00000 n -0009241500 00000 n -0009241544 00000 n -0009241587 00000 n -0009241630 00000 n -0009241673 00000 n -0009241716 00000 n -0009241759 00000 n -0009241802 00000 n -0009241845 00000 n -0009241913 00000 n -0009242133 00000 n -0009242232 00000 n -0009245992 00000 n -0009246323 00000 n -0009246745 00000 n -0009246787 00000 n -0009246831 00000 n -0009246874 00000 n -0009246917 00000 n -0009246960 00000 n -0009247003 00000 n -0009247046 00000 n -0009247090 00000 n -0009247134 00000 n -0009247177 00000 n -0009247220 00000 n -0009247264 00000 n -0009247307 00000 n -0009247350 00000 n -0009247393 00000 n -0009247461 00000 n -0009247738 00000 n -0009247837 00000 n -0009252142 00000 n -0009252308 00000 n -0009252350 00000 n -0009252681 00000 n -0009253103 00000 n -0009253146 00000 n -0009253214 00000 n -0009253463 00000 n -0009253562 00000 n -0009257313 00000 n -0009257644 00000 n -0009258066 00000 n -0009258109 00000 n -0009258152 00000 n -0009258220 00000 n -0009258440 00000 n -0009258539 00000 n -0009262432 00000 n -0009262763 00000 n -0009263185 00000 n -0009263229 00000 n -0009263272 00000 n -0009263315 00000 n -0009263383 00000 n -0009263632 00000 n -0009263731 00000 n -0009266765 00000 n -0009267096 00000 n -0009267518 00000 n -0009267561 00000 n -0009267605 00000 n -0009267649 00000 n -0009267693 00000 n -0009267761 00000 n -0009267996 00000 n -0009268095 00000 n -0009272486 00000 n -0009272817 00000 n -0009273239 00000 n -0009273282 00000 n -0009273325 00000 n -0009273368 00000 n -0009273411 00000 n -0009273455 00000 n -0009273498 00000 n -0009273541 00000 n -0009273609 00000 n -0009273829 00000 n -0009273928 00000 n -0009277755 00000 n -0009278086 00000 n -0009278508 00000 n -0009278551 00000 n -0009278595 00000 n -0009278639 00000 n -0009278682 00000 n -0009278725 00000 n -0009278768 00000 n -0009278810 00000 n -0009278853 00000 n -0009278897 00000 n -0009278941 00000 n -0009278985 00000 n -0009279029 00000 n -0009279072 00000 n -0009279116 00000 n -0009279159 00000 n -0009279202 00000 n -0009279245 00000 n -0009279288 00000 n -0009279368 00000 n -0009279410 00000 n -0009279454 00000 n -0009279522 00000 n -0009279785 00000 n -0009279884 00000 n -0009283816 00000 n -0009284147 00000 n -0009284569 00000 n -0009284637 00000 n -0009284872 00000 n -0009284971 00000 n -0009289393 00000 n -0009289724 00000 n -0009290146 00000 n -0009290214 00000 n -0009290463 00000 n -0009290562 00000 n -0009295062 00000 n -0009295229 00000 n -0009295272 00000 n -0009295603 00000 n -0009296025 00000 n -0009296068 00000 n -0009296112 00000 n -0009296155 00000 n -0009296198 00000 n -0009296242 00000 n -0009296310 00000 n -0009296559 00000 n -0009296658 00000 n -0009301644 00000 n -0009301810 00000 n -0009301852 00000 n -0009302183 00000 n -0009302605 00000 n -0009302648 00000 n -0009302691 00000 n -0009302734 00000 n -0009302777 00000 n -0009302821 00000 n -0009302864 00000 n -0009302907 00000 n -0009302949 00000 n -0009303017 00000 n -0009303266 00000 n -0009303365 00000 n -0009307563 00000 n -0009307894 00000 n -0009308316 00000 n -0009308384 00000 n -0009308604 00000 n -0009308703 00000 n -0009312704 00000 n -0009313035 00000 n -0009313457 00000 n -0009313525 00000 n -0009313788 00000 n -0009313887 00000 n -0009317362 00000 n -0009317693 00000 n -0009318115 00000 n -0009318159 00000 n -0009318203 00000 n -0009318246 00000 n -0009318289 00000 n -0009318332 00000 n -0009318376 00000 n -0009318420 00000 n -0009318463 00000 n -0009318507 00000 n -0009318550 00000 n -0009318593 00000 n -0009318637 00000 n -0009318705 00000 n -0009318939 00000 n -0009319038 00000 n -0009322421 00000 n -0009322752 00000 n -0009323174 00000 n -0009323217 00000 n -0009323260 00000 n -0009323304 00000 n -0009323347 00000 n -0009323390 00000 n -0009323432 00000 n -0009323475 00000 n -0009323518 00000 n -0009323586 00000 n -0009323835 00000 n -0009323934 00000 n -0009328104 00000 n -0009328435 00000 n -0009328857 00000 n -0009328901 00000 n -0009328944 00000 n -0009328988 00000 n -0009329032 00000 n -0009329076 00000 n -0009329119 00000 n -0009329162 00000 n -0009329230 00000 n -0009329450 00000 n -0009329549 00000 n -0009333987 00000 n -0009334318 00000 n -0009334740 00000 n -0009334783 00000 n -0009334826 00000 n -0009334894 00000 n -0009335170 00000 n -0009335269 00000 n -0009339594 00000 n -0009339925 00000 n -0009340347 00000 n -0009340390 00000 n -0009340433 00000 n -0009340501 00000 n -0009340750 00000 n -0009340849 00000 n -0009345484 00000 n -0009345649 00000 n -0009345691 00000 n -0009346022 00000 n -0009346444 00000 n -0009346487 00000 n -0009346530 00000 n -0009346573 00000 n -0009346641 00000 n -0009346918 00000 n -0009347017 00000 n -0009351875 00000 n -0009352041 00000 n -0009352083 00000 n -0009352414 00000 n -0009352836 00000 n -0009352879 00000 n -0009352921 00000 n -0009352965 00000 n -0009353006 00000 n -0009353050 00000 n -0009353093 00000 n -0009353136 00000 n -0009353204 00000 n -0009353438 00000 n -0009353537 00000 n -0009357272 00000 n -0009357603 00000 n -0009358025 00000 n -0009358067 00000 n -0009358110 00000 n -0009358153 00000 n -0009358196 00000 n -0009358239 00000 n -0009358282 00000 n -0009358325 00000 n -0009358369 00000 n -0009358412 00000 n -0009358455 00000 n -0009358498 00000 n -0009358542 00000 n -0009358585 00000 n -0009358628 00000 n -0009358669 00000 n -0009358737 00000 n -0009359014 00000 n -0009359113 00000 n -0009363536 00000 n -0009363701 00000 n -0009363743 00000 n -0009364074 00000 n -0009364496 00000 n -0009364540 00000 n -0009364583 00000 n -0009364626 00000 n -0009364669 00000 n -0009364737 00000 n -0009364986 00000 n -0009365085 00000 n -0009368770 00000 n -0009369101 00000 n -0009369523 00000 n -0009369566 00000 n -0009369609 00000 n -0009369652 00000 n -0009369695 00000 n -0009369763 00000 n -0009369998 00000 n -0009370097 00000 n -0009373957 00000 n -0009374288 00000 n -0009374710 00000 n -0009374753 00000 n -0009374797 00000 n -0009374865 00000 n -0009375085 00000 n -0009375184 00000 n -0009376852 00000 n -0009377183 00000 n -0009377605 00000 n -0009377648 00000 n -0009377691 00000 n -0009377759 00000 n -0009378008 00000 n -0009378107 00000 n -0009382325 00000 n -0009382656 00000 n -0009383078 00000 n -0009383121 00000 n -0009383164 00000 n -0009383232 00000 n -0009383467 00000 n -0009383566 00000 n -0009386863 00000 n -0009387194 00000 n -0009387616 00000 n -0009387684 00000 n -0009387933 00000 n -0009388032 00000 n -0009391638 00000 n -0009391969 00000 n -0009392391 00000 n -0009392432 00000 n -0009392475 00000 n -0009392519 00000 n -0009392562 00000 n -0009392605 00000 n -0009392673 00000 n -0009392922 00000 n -0009393021 00000 n -0009396420 00000 n -0009396751 00000 n -0009397173 00000 n -0009397215 00000 n -0009397258 00000 n -0009397301 00000 n -0009397344 00000 n -0009397388 00000 n -0009397432 00000 n -0009397475 00000 n -0009397518 00000 n -0009397561 00000 n -0009397605 00000 n -0009397648 00000 n -0009397692 00000 n -0009397735 00000 n -0009397779 00000 n -0009397822 00000 n -0009397865 00000 n -0009397908 00000 n -0009397951 00000 n -0009397994 00000 n -0009398037 00000 n -0009398080 00000 n -0009398123 00000 n -0009398166 00000 n -0009398210 00000 n -0009398278 00000 n -0009398512 00000 n -0009398611 00000 n -0009403688 00000 n -0009404019 00000 n -0009404441 00000 n -0009404509 00000 n -0009404743 00000 n -0009404842 00000 n -0009408433 00000 n -0009408764 00000 n -0009409186 00000 n -0009409229 00000 n -0009409272 00000 n -0009409315 00000 n -0009409383 00000 n -0009409632 00000 n -0009409731 00000 n -0009413157 00000 n -0009413322 00000 n -0009413364 00000 n -0009413695 00000 n -0009414117 00000 n -0009414158 00000 n -0009414202 00000 n -0009414270 00000 n -0009414519 00000 n -0009414618 00000 n -0009419380 00000 n -0009419711 00000 n -0009420133 00000 n -0009420369 00000 n -0009420395 00000 n -0009422551 00000 n -0009422619 00000 n -0009422898 00000 n -0009422997 00000 n -0009425284 00000 n -0009425450 00000 n -0009425616 00000 n -0009425781 00000 n -0009425823 00000 n -0009425865 00000 n -0009425907 00000 n -0009426238 00000 n -0009426660 00000 n -0009426703 00000 n -0009426746 00000 n -0009426789 00000 n -0009426832 00000 n -0009426875 00000 n -0009426918 00000 n -0009426961 00000 n -0009427004 00000 n -0009427048 00000 n -0009427091 00000 n -0009427159 00000 n -0009427393 00000 n -0009427492 00000 n -0009431674 00000 n -0009432005 00000 n -0009432427 00000 n -0009432468 00000 n -0009432510 00000 n -0009432554 00000 n -0009432597 00000 n -0009432640 00000 n -0009432683 00000 n -0009432725 00000 n -0009432768 00000 n -0009432811 00000 n -0009432854 00000 n -0009432897 00000 n -0009432940 00000 n -0009432984 00000 n -0009433027 00000 n -0009433095 00000 n -0009433315 00000 n -0009433414 00000 n -0009437840 00000 n -0009438171 00000 n -0009438593 00000 n -0009438637 00000 n -0009438705 00000 n -0009438925 00000 n -0009439024 00000 n -0009441672 00000 n -0009442003 00000 n -0009442425 00000 n -0009442493 00000 n -0009442728 00000 n -0009442827 00000 n -0009447895 00000 n -0009448226 00000 n -0009448648 00000 n -0009448716 00000 n -0009448965 00000 n -0009449064 00000 n -0009452973 00000 n -0009453304 00000 n -0009453726 00000 n -0009453770 00000 n -0009453813 00000 n -0009454256 00000 n -0009454299 00000 n -0009454342 00000 n -0009454386 00000 n -0009454429 00000 n -0009454472 00000 n -0009454540 00000 n -0009454805 00000 n -0009454904 00000 n -0009457013 00000 n -0009457179 00000 n -0009457345 00000 n -0009457511 00000 n -0009457553 00000 n -0009457595 00000 n -0009457637 00000 n -0009457968 00000 n -0009458390 00000 n -0009458433 00000 n -0009458501 00000 n -0009458735 00000 n -0009458834 00000 n -0009462823 00000 n -0009463154 00000 n -0009463576 00000 n -0009463619 00000 n -0009463662 00000 n -0009463706 00000 n -0009463749 00000 n -0009463793 00000 n -0009463837 00000 n -0009463880 00000 n -0009463924 00000 n -0009463968 00000 n -0009464011 00000 n -0009467271 00000 n -0009467314 00000 n -0009467358 00000 n -0009467399 00000 n -0009467467 00000 n -0009467715 00000 n -0009467814 00000 n -0009472106 00000 n -0009472437 00000 n -0009472859 00000 n -0009472903 00000 n -0009472946 00000 n -0009473277 00000 n -0009473699 00000 n -0009473742 00000 n -0009473785 00000 n -0009473828 00000 n -0009473871 00000 n -0009473914 00000 n -0009473957 00000 n -0009474001 00000 n -0009474044 00000 n -0009474087 00000 n -0009474131 00000 n -0009474175 00000 n -0009474218 00000 n -0009474286 00000 n -0009474549 00000 n -0009474648 00000 n -0009478890 00000 n -0009479221 00000 n -0009479643 00000 n -0009479686 00000 n -0009479727 00000 n -0009479771 00000 n -0009479814 00000 n -0009479857 00000 n -0009479900 00000 n -0009479943 00000 n -0009479986 00000 n -0009480029 00000 n -0009480072 00000 n -0009480115 00000 n -0009480158 00000 n -0009480201 00000 n -0009480245 00000 n -0009480288 00000 n -0009480331 00000 n -0009480375 00000 n -0009480418 00000 n -0009480462 00000 n -0009480506 00000 n -0009480547 00000 n -0009480590 00000 n -0009480633 00000 n -0009480676 00000 n -0009480719 00000 n -0009480762 00000 n -0009480805 00000 n -0009480848 00000 n -0009480916 00000 n -0009481193 00000 n -0009481292 00000 n -0009485242 00000 n -0009485408 00000 n -0009485450 00000 n -0009485781 00000 n -0009486203 00000 n -0009486246 00000 n -0009486314 00000 n -0009486563 00000 n -0009486662 00000 n -0009490393 00000 n -0009490559 00000 n -0009490627 00000 n -0009490958 00000 n -0009491380 00000 n -0009491424 00000 n -0009491492 00000 n -0009491740 00000 n -0009491839 00000 n -0009494643 00000 n -0009494809 00000 n -0009494851 00000 n -0009495182 00000 n -0009495604 00000 n -0009495648 00000 n -0009495692 00000 n -0009496023 00000 n -0009496445 00000 n -0009496488 00000 n -0009496531 00000 n -0009496574 00000 n -0009496615 00000 n -0009496659 00000 n -0009496727 00000 n -0009496947 00000 n -0009497046 00000 n -0009501367 00000 n -0009501698 00000 n -0009502120 00000 n -0009502163 00000 n -0009502231 00000 n -0009502508 00000 n -0009502607 00000 n -0009506451 00000 n -0009506617 00000 n -0009506659 00000 n -0009506990 00000 n -0009507412 00000 n -0009507455 00000 n -0009507498 00000 n -0009507541 00000 n -0009507584 00000 n -0009507652 00000 n -0009507887 00000 n -0009507986 00000 n -0009512482 00000 n -0009512813 00000 n -0009513235 00000 n -0009513303 00000 n -0009513537 00000 n -0009513636 00000 n -0009517474 00000 n -0009517638 00000 n -0009517681 00000 n -0009518012 00000 n -0009518434 00000 n -0009518477 00000 n -0009518521 00000 n -0009518564 00000 n -0009518608 00000 n -0009518651 00000 n -0009518695 00000 n -0009518738 00000 n -0009518781 00000 n -0009518822 00000 n -0009518866 00000 n -0009518909 00000 n -0009518952 00000 n -0009519020 00000 n -0009519254 00000 n -0009519353 00000 n -0009522756 00000 n -0009522922 00000 n -0009522965 00000 n -0009523296 00000 n -0009523718 00000 n -0009523761 00000 n -0009523804 00000 n -0009523847 00000 n -0009523891 00000 n -0009523959 00000 n -0009524179 00000 n -0009524278 00000 n -0009526591 00000 n -0009526922 00000 n -0009527344 00000 n -0009527412 00000 n -0009527676 00000 n -0009527775 00000 n -0009531993 00000 n -0009532171 00000 n -0009532502 00000 n -0009532924 00000 n -0009533155 00000 n -0009533273 00000 n -0009534359 00000 n -0009534403 00000 n -0009534446 00000 n -0009534777 00000 n -0009535199 00000 n -0009535530 00000 n -0009535952 00000 n -0009535996 00000 n -0009536037 00000 n -0009536080 00000 n -0009536124 00000 n -0009536167 00000 n -0009536235 00000 n -0009536469 00000 n -0009536568 00000 n -0009540312 00000 n -0009540643 00000 n -0009541065 00000 n -0009541108 00000 n -0009541151 00000 n -0009541194 00000 n -0009541237 00000 n -0009541305 00000 n -0009541553 00000 n -0009541652 00000 n -0009545929 00000 n -0009546095 00000 n -0009546137 00000 n -0009546468 00000 n -0009546890 00000 n -0009546933 00000 n -0009547028 00000 n -0009547177 00000 n -0009547312 00000 n -0009547382 00000 n -0009547426 00000 n -0009549932 00000 n -0009550285 00000 n -0009550597 00000 n -0009550668 00000 n -0009550728 00000 n -0009551069 00000 n -0009553470 00000 n -0009553932 00000 n -0009554394 00000 n -0009554885 00000 n -0009555381 00000 n -0009555877 00000 n -0009556373 00000 n -0009556869 00000 n -0009557365 00000 n -0009557861 00000 n -0009558357 00000 n -0009558853 00000 n -0009559349 00000 n -0009559845 00000 n -0009560341 00000 n -0009560837 00000 n -0009561333 00000 n -0009561829 00000 n -0009562325 00000 n -0009562821 00000 n -0009563317 00000 n -0009563813 00000 n -0009564309 00000 n -0009564805 00000 n -0009565301 00000 n -0009565797 00000 n -0009566293 00000 n -0009566789 00000 n -0009567285 00000 n -0009567781 00000 n -0009569105 00000 n -0009569165 00000 n -0009569225 00000 n -0009569285 00000 n -0009569345 00000 n -0009569405 00000 n -0009569465 00000 n -0009569525 00000 n -0009569585 00000 n -0009569645 00000 n -0009569705 00000 n -0009569765 00000 n -0009569825 00000 n -0009569885 00000 n -0009569945 00000 n -0009570005 00000 n -0009570065 00000 n -0009570125 00000 n -0009570185 00000 n -0009570245 00000 n -0009570305 00000 n -0009570365 00000 n -0009570425 00000 n -0009570485 00000 n -0009570545 00000 n -0009570605 00000 n -0009570665 00000 n -0009570725 00000 n -0009570785 00000 n -0009570845 00000 n -0009570905 00000 n -0009570965 00000 n -0009571025 00000 n -0009571085 00000 n -0009571145 00000 n -0009571205 00000 n -0009571265 00000 n -0009571325 00000 n -0009571385 00000 n -0009571445 00000 n -0009571505 00000 n -0009571565 00000 n -0009571625 00000 n -0009571685 00000 n -0009571745 00000 n -0009571805 00000 n -0009571865 00000 n -0009571925 00000 n -0009571985 00000 n -0009572045 00000 n -0009572105 00000 n -0009572165 00000 n -0009572225 00000 n -0009572285 00000 n -0009572345 00000 n -0009572405 00000 n -0009572465 00000 n -0009572525 00000 n -0009572585 00000 n -0009572645 00000 n -0009572705 00000 n -0009572765 00000 n -0009572825 00000 n -0009572885 00000 n -0009572945 00000 n -0009573005 00000 n -0009573065 00000 n -0009573125 00000 n -0009573185 00000 n -0009573245 00000 n -0009573305 00000 n -0009573365 00000 n -0009573425 00000 n -0009573485 00000 n -0009573545 00000 n -0009573605 00000 n -0009573665 00000 n -0009573725 00000 n -0009573785 00000 n -0009573845 00000 n -0009573905 00000 n -0009573965 00000 n -0009574025 00000 n -0009574085 00000 n -0009574145 00000 n -0009574205 00000 n -0009574265 00000 n -0009574325 00000 n -0009574385 00000 n -0009574445 00000 n -0009574505 00000 n -0009574565 00000 n -0009574625 00000 n -0009574685 00000 n -0009574745 00000 n -0009574805 00000 n -0009574865 00000 n -0009574925 00000 n -0009574985 00000 n -0009575045 00000 n -0009575105 00000 n -0009575165 00000 n -0009575225 00000 n -0009575285 00000 n -0009575345 00000 n -0009575405 00000 n -0009575465 00000 n -0009575525 00000 n -0009575585 00000 n -0009575645 00000 n -0009575705 00000 n -0009575765 00000 n -0009575825 00000 n -0009575885 00000 n -0009575945 00000 n -0009576005 00000 n -0009576065 00000 n -0009576125 00000 n -0009576185 00000 n -0009576245 00000 n -0009576305 00000 n -0009576365 00000 n -0009576425 00000 n -0009576485 00000 n -0009576545 00000 n -0009576605 00000 n -0009576665 00000 n -0009576725 00000 n -0009576785 00000 n -0009576845 00000 n -0009576905 00000 n -0009576965 00000 n -0009577025 00000 n -0009577085 00000 n -0009577145 00000 n -0009577205 00000 n -0009577265 00000 n -0009577325 00000 n -0009577385 00000 n -0009577445 00000 n -0009577505 00000 n -0009577565 00000 n -0009577625 00000 n -0009577685 00000 n -0009577745 00000 n -0009577805 00000 n -0009577865 00000 n -0009577925 00000 n -0009577985 00000 n -0009578045 00000 n -0009578105 00000 n -0009578165 00000 n -0009578225 00000 n -0009578285 00000 n -0009578345 00000 n -0009578405 00000 n -0009578465 00000 n -0009578525 00000 n -0009578585 00000 n -0009578645 00000 n -0009578705 00000 n -0009578765 00000 n -0009578825 00000 n -0009578885 00000 n -0009578945 00000 n -0009579005 00000 n -0009579065 00000 n -0009579125 00000 n -0009579185 00000 n -0009579245 00000 n -0009579305 00000 n -0009579365 00000 n -0009579425 00000 n -0009579485 00000 n -0009579545 00000 n -0009579605 00000 n -0009579665 00000 n -0009579725 00000 n -0009579785 00000 n -0009579845 00000 n -0009579905 00000 n -0009579965 00000 n -0009580025 00000 n -0009580085 00000 n -0009580145 00000 n -0009580205 00000 n -0009580265 00000 n -0009580325 00000 n -0009580385 00000 n -0009580445 00000 n -0009580505 00000 n -0009580565 00000 n -0009580625 00000 n -0009580685 00000 n -0009580745 00000 n -0009580805 00000 n -0009580865 00000 n -0009580925 00000 n -0009580985 00000 n -0009581045 00000 n -0009581105 00000 n -0009581165 00000 n -0009581225 00000 n -0009581285 00000 n -0009581345 00000 n -0009581405 00000 n -0009581465 00000 n -0009581525 00000 n -0009581585 00000 n -0009581645 00000 n -0009581705 00000 n -0009581765 00000 n -0009581825 00000 n -0009581885 00000 n -0009581945 00000 n -0009582005 00000 n -0009582065 00000 n -0009582125 00000 n -0009582185 00000 n -0009582245 00000 n -0009582305 00000 n -0009582365 00000 n -0009582425 00000 n -0009582485 00000 n -0009582545 00000 n -0009582604 00000 n -0009582663 00000 n -0009582722 00000 n -0009582781 00000 n -0009582841 00000 n -0009582901 00000 n -0009582961 00000 n -0009583021 00000 n -0009583081 00000 n -0009583141 00000 n -0009583201 00000 n -0009583261 00000 n -0009583321 00000 n -0009583381 00000 n -0009583441 00000 n -0009583501 00000 n -0009583561 00000 n -0009583621 00000 n -0009583681 00000 n -0009583741 00000 n -0009583801 00000 n -0009583861 00000 n -0009583921 00000 n -0009583981 00000 n -0009584041 00000 n -0009584101 00000 n -0009584161 00000 n -0009584221 00000 n -0009584281 00000 n -0009584341 00000 n -0009584401 00000 n -0009584461 00000 n -0009584520 00000 n -0009584579 00000 n -0009584638 00000 n -0009584697 00000 n -0009584756 00000 n -0009584815 00000 n -0009584874 00000 n -0009584933 00000 n -0009584992 00000 n -0009585051 00000 n -0009585110 00000 n -0009585169 00000 n -0009585228 00000 n -0009585287 00000 n -0009585346 00000 n -0009585405 00000 n -0009585464 00000 n -0009585523 00000 n -0009585582 00000 n -0009585641 00000 n -0009585700 00000 n -0009585759 00000 n -0009585818 00000 n -0009585877 00000 n -0009585936 00000 n -0009585995 00000 n -0009586054 00000 n -0009586113 00000 n -0009586172 00000 n -0009586231 00000 n -0009586290 00000 n -0009586349 00000 n -0009586408 00000 n -0009586467 00000 n -0009586526 00000 n -0009586585 00000 n -0009586644 00000 n -0009586703 00000 n -0009586762 00000 n -0009586821 00000 n -0009586880 00000 n -0009586939 00000 n -0009586998 00000 n -0009587057 00000 n -0009587116 00000 n -0009587175 00000 n -0009587234 00000 n -0009587293 00000 n -0009587352 00000 n -0009587411 00000 n -0009587470 00000 n -0009587529 00000 n -0009587588 00000 n -0009587647 00000 n -0009587706 00000 n -0009587765 00000 n -0009587824 00000 n -0009587883 00000 n -0009587942 00000 n -0009588001 00000 n -0009588060 00000 n -0009588119 00000 n -0009588178 00000 n -0009588237 00000 n -0009588296 00000 n -0009588355 00000 n -0009588414 00000 n -0009588473 00000 n -0009588532 00000 n -0009588591 00000 n -0009588650 00000 n -0009588709 00000 n -0009588768 00000 n -0009588827 00000 n -0009588886 00000 n -0009588945 00000 n -0009589004 00000 n -0009589063 00000 n -0009589122 00000 n -0009589181 00000 n -0009589240 00000 n -0009589299 00000 n -0009589358 00000 n -0009589417 00000 n -0009589476 00000 n -0009589535 00000 n -0009589594 00000 n -0009589653 00000 n -0009589712 00000 n -0009589771 00000 n -0009589830 00000 n -0009589889 00000 n -0009589948 00000 n -0009590007 00000 n -0009590066 00000 n -0009590125 00000 n -0009590184 00000 n -0009590243 00000 n -0009590302 00000 n -0009590361 00000 n -0009590420 00000 n -0009590479 00000 n -0009590538 00000 n -0009590597 00000 n -0009590656 00000 n -0009590715 00000 n -0009590774 00000 n -0009590833 00000 n -0009590892 00000 n -0009590951 00000 n -0009591010 00000 n -0009591069 00000 n -0009591128 00000 n -0009591187 00000 n -0009591246 00000 n -0009591305 00000 n -0009591364 00000 n -0009591423 00000 n -0009591482 00000 n -0009591541 00000 n -0009591600 00000 n -0009591659 00000 n -0009591718 00000 n -0009591777 00000 n -0009591836 00000 n -0009591895 00000 n -0009591954 00000 n -0009592013 00000 n -0009592072 00000 n -0009592131 00000 n -0009592190 00000 n -0009592249 00000 n -0009592308 00000 n -0009592367 00000 n -0009592426 00000 n -0009592485 00000 n -0009592544 00000 n -0009592603 00000 n -0009592662 00000 n -0009592721 00000 n -0009592780 00000 n -0009592839 00000 n -0009592898 00000 n -0009592957 00000 n -0009593016 00000 n -0009593075 00000 n -0009593134 00000 n -0009593193 00000 n -0009593252 00000 n -0009593311 00000 n -0009593370 00000 n -0009593429 00000 n -0009593488 00000 n -0009593547 00000 n -0009593606 00000 n -0009593665 00000 n -0009593724 00000 n -0009593783 00000 n -0009593842 00000 n -0009593901 00000 n -0009593960 00000 n -0009594019 00000 n -0009594078 00000 n -0009594137 00000 n -0009594196 00000 n -0009594255 00000 n -0009594314 00000 n -0009594373 00000 n -0009594432 00000 n -0009594491 00000 n -0009594550 00000 n -0009594609 00000 n -0009594668 00000 n -0009594727 00000 n -0009594786 00000 n -0009594845 00000 n -0009594904 00000 n -0009594963 00000 n -0009595022 00000 n -0009595081 00000 n -0009595140 00000 n -0009595199 00000 n -0009595258 00000 n -0009595317 00000 n -0009595376 00000 n -0009595435 00000 n -0009595494 00000 n -0009595553 00000 n -0009595612 00000 n -0009595671 00000 n -0009595730 00000 n -0009595789 00000 n -0009595848 00000 n -0009595907 00000 n -0009595966 00000 n -0009596025 00000 n -0009596084 00000 n -0009596143 00000 n -0009596202 00000 n -0009596261 00000 n -0009596320 00000 n -0009596379 00000 n -0009596438 00000 n -0009596497 00000 n -0009596556 00000 n -0009596615 00000 n -0009596674 00000 n -0009596733 00000 n -0009596792 00000 n -0009596851 00000 n -0009596910 00000 n -0009596969 00000 n -0009597028 00000 n -0009597087 00000 n -0009597146 00000 n -0009597205 00000 n -0009597264 00000 n -0009597323 00000 n -0009597382 00000 n -0009597441 00000 n -0009597500 00000 n -0009597559 00000 n -0009597618 00000 n -0009597677 00000 n -0009597736 00000 n -0009597795 00000 n -0009597854 00000 n -0009597913 00000 n -0009597972 00000 n -0009598031 00000 n -0009598090 00000 n -0009598149 00000 n -0009598208 00000 n -0009598267 00000 n -0009598326 00000 n -0009598385 00000 n -0009598444 00000 n -0009598503 00000 n -0009598562 00000 n -0009598621 00000 n -0009598680 00000 n -0009598739 00000 n -0009598798 00000 n -0009598857 00000 n -0009598916 00000 n -0009598975 00000 n -0009599034 00000 n -0009599093 00000 n -0009599152 00000 n -0009599211 00000 n -0009599270 00000 n -0009599329 00000 n -0009599388 00000 n -0009599447 00000 n -0009599506 00000 n -0009599565 00000 n -0009609792 00000 n -0009609850 00000 n -0009609908 00000 n -0009609967 00000 n -0009610026 00000 n -0009610085 00000 n -0009610144 00000 n -0009610203 00000 n -0009610262 00000 n -0009610321 00000 n -0009610380 00000 n -0009610439 00000 n -0009610498 00000 n -0009610557 00000 n -0009610616 00000 n -0009610675 00000 n -0009610734 00000 n -0009610793 00000 n -0009610852 00000 n -0009610911 00000 n -0009610970 00000 n -0009611029 00000 n -0009611088 00000 n -0009611147 00000 n -0009611206 00000 n -0009611265 00000 n -0009611324 00000 n -0009611383 00000 n -0009611442 00000 n -0009611501 00000 n -0009611560 00000 n -0009611619 00000 n -0009611678 00000 n -0009611737 00000 n -0009611796 00000 n -0009611855 00000 n -0009611914 00000 n -0009611973 00000 n -0009612032 00000 n -0009612091 00000 n -0009612150 00000 n -0009612209 00000 n -0009612268 00000 n -0009612327 00000 n -0009612386 00000 n -0009612445 00000 n -0009612504 00000 n -0009612563 00000 n -0009612622 00000 n -0009612681 00000 n -0009612740 00000 n -0009612799 00000 n -0009612858 00000 n -0009612917 00000 n -0009612976 00000 n -0009613035 00000 n -0009613094 00000 n -0009613153 00000 n -0009613212 00000 n -0009613271 00000 n -0009613330 00000 n -0009613389 00000 n -0009613448 00000 n -0009613507 00000 n -0009613566 00000 n -0009613625 00000 n -0009613684 00000 n -0009613743 00000 n -0009613802 00000 n -0009613861 00000 n -0009613920 00000 n -0009613979 00000 n -0009614038 00000 n -0009614097 00000 n -0009614156 00000 n -0009614215 00000 n -0009614274 00000 n -0009614333 00000 n -0009614392 00000 n -0009614451 00000 n -0009614510 00000 n -0009614569 00000 n -0009614628 00000 n -0009614687 00000 n -0009614746 00000 n -0009614805 00000 n -0009614864 00000 n -0009614923 00000 n -0009614982 00000 n -0009615041 00000 n -0009615100 00000 n -0009615159 00000 n -0009615218 00000 n -0009615277 00000 n -0009615336 00000 n -0009615395 00000 n -0009615454 00000 n -0009615513 00000 n -0009615572 00000 n -0009615631 00000 n -0009615690 00000 n -0009615749 00000 n -0009615808 00000 n -0009615867 00000 n -0009615926 00000 n -0009615985 00000 n -0009616044 00000 n -0009616103 00000 n -0009616162 00000 n -0009616221 00000 n -0009616280 00000 n -0009616339 00000 n -0009616398 00000 n -0009616457 00000 n -0009616516 00000 n -0009616575 00000 n -0009616634 00000 n -0009616693 00000 n -0009616752 00000 n -0009616811 00000 n -0009616870 00000 n -0009616929 00000 n -0009616988 00000 n -0009617047 00000 n -0009617106 00000 n -0009617165 00000 n -0009617224 00000 n -0009617283 00000 n -0009617342 00000 n -0009617401 00000 n -0009617460 00000 n -0009617519 00000 n -0009617578 00000 n -0009617637 00000 n -0009617696 00000 n -0009617755 00000 n -0009617814 00000 n -0009617873 00000 n -0009617932 00000 n -0009617991 00000 n -0009618050 00000 n -0009618109 00000 n -0009618168 00000 n -0009618227 00000 n -0009618286 00000 n -0009618345 00000 n -0009618404 00000 n -0009618463 00000 n -0009618522 00000 n -0009618581 00000 n -0009618640 00000 n -0009618699 00000 n -0009618758 00000 n -0009618817 00000 n -0009618876 00000 n -0009618935 00000 n -0009618994 00000 n -0009619053 00000 n -0009619112 00000 n -0009619171 00000 n -0009619230 00000 n -0009619289 00000 n -0009619348 00000 n -0009619407 00000 n -0009619466 00000 n -0009619525 00000 n -0009619584 00000 n -0009619643 00000 n -0009619702 00000 n -0009619761 00000 n -0009619820 00000 n -0009619879 00000 n -0009619938 00000 n -0009619997 00000 n -0009620056 00000 n -0009620115 00000 n -0009620174 00000 n -0009620233 00000 n -0009620292 00000 n -0009620351 00000 n -0009620410 00000 n -0009620469 00000 n -0009620528 00000 n -0009620587 00000 n -0009620646 00000 n -0009620705 00000 n -0009620764 00000 n -0009620823 00000 n -0009620882 00000 n -0009620942 00000 n -0009621002 00000 n -0009621062 00000 n -0009621122 00000 n -0009621182 00000 n -0009621242 00000 n -0009621302 00000 n -0009621362 00000 n -0009621422 00000 n -0009621482 00000 n -0009621542 00000 n -0009621602 00000 n -0009621662 00000 n -0009621722 00000 n -0009621782 00000 n -0009621842 00000 n -0009621902 00000 n -0009621962 00000 n -0009622022 00000 n -0009622082 00000 n -0009622142 00000 n -0009622202 00000 n -0009622262 00000 n -0009622322 00000 n -0009622382 00000 n -0009622442 00000 n -0009622502 00000 n -0009622562 00000 n -0009622622 00000 n -0009622682 00000 n -0009622742 00000 n -0009622802 00000 n -0009622862 00000 n -0009622922 00000 n -0009622982 00000 n -0009623042 00000 n -0009623102 00000 n -0009623162 00000 n -0009623222 00000 n -0009623282 00000 n -0009623342 00000 n -0009623402 00000 n -0009623462 00000 n -0009623522 00000 n -0009623582 00000 n -0009623642 00000 n -0009623702 00000 n -0009623762 00000 n -0009623822 00000 n -0009623882 00000 n -0009623942 00000 n -0009624002 00000 n -0009624062 00000 n -0009624122 00000 n -0009624182 00000 n -0009624242 00000 n -0009624302 00000 n -0009624362 00000 n -0009624422 00000 n -0009624482 00000 n -0009624542 00000 n -0009624602 00000 n -0009624662 00000 n -0009624722 00000 n -0009624782 00000 n -0009624842 00000 n -0009624902 00000 n -0009624962 00000 n -0009625022 00000 n -0009625082 00000 n -0009625142 00000 n -0009625202 00000 n -0009625262 00000 n -0009625322 00000 n -0009625382 00000 n -0009625442 00000 n -0009625502 00000 n -0009625562 00000 n -0009625622 00000 n -0009625682 00000 n -0009625742 00000 n -0009625802 00000 n -0009625862 00000 n -0009625922 00000 n -0009625982 00000 n -0009626042 00000 n -0009626102 00000 n -0009626162 00000 n -0009626222 00000 n -0009626282 00000 n -0009626342 00000 n -0009626402 00000 n -0009626462 00000 n -0009626522 00000 n -0009626582 00000 n -0009626642 00000 n -0009626702 00000 n -0009626762 00000 n -0009626822 00000 n -0009626882 00000 n -0009626942 00000 n -0009627002 00000 n -0009627062 00000 n -0009627122 00000 n -0009627182 00000 n -0009627242 00000 n -0009627302 00000 n -0009627362 00000 n -0009627422 00000 n -0009627482 00000 n -0009627542 00000 n -0009627602 00000 n -0009627662 00000 n -0009627722 00000 n -0009627782 00000 n -0009627842 00000 n -0009627902 00000 n -0009627962 00000 n -0009628022 00000 n -0009628082 00000 n -0009628142 00000 n -0009628202 00000 n -0009628262 00000 n -0009628322 00000 n -0009628382 00000 n -0009628442 00000 n -0009628502 00000 n -0009628562 00000 n -0009628622 00000 n -0009628682 00000 n -0009628742 00000 n -0009628802 00000 n -0009628862 00000 n -0009628922 00000 n -0009628982 00000 n -0009629042 00000 n -0009629102 00000 n -0009629162 00000 n -0009629222 00000 n -0009629282 00000 n -0009629342 00000 n -0009629402 00000 n -0009629462 00000 n -0009629522 00000 n -0009629582 00000 n -0009629642 00000 n -0009629702 00000 n -0009629762 00000 n -0009629822 00000 n -0009629882 00000 n -0009629942 00000 n -0009630002 00000 n -0009630062 00000 n -0009630122 00000 n -0009630182 00000 n -0009630242 00000 n -0009630302 00000 n -0009630362 00000 n -0009630422 00000 n -0009630482 00000 n -0009630542 00000 n -0009630602 00000 n -0009630662 00000 n -0009630722 00000 n -0009630782 00000 n -0009630842 00000 n -0009630902 00000 n -0009630962 00000 n -0009631022 00000 n -0009631082 00000 n -0009631142 00000 n -0009631202 00000 n -0009631262 00000 n -0009631322 00000 n -0009631382 00000 n -0009631442 00000 n -0009631502 00000 n -0009631562 00000 n -0009631622 00000 n -0009631682 00000 n -0009631742 00000 n -0009631802 00000 n -0009631862 00000 n -0009631922 00000 n -0009631982 00000 n -0009632042 00000 n -0009632102 00000 n -0009632162 00000 n -0009632222 00000 n -0009632282 00000 n -0009632342 00000 n -0009632402 00000 n -0009632462 00000 n -0009632522 00000 n -0009632582 00000 n -0009632642 00000 n -0009632702 00000 n -0009632762 00000 n -0009632822 00000 n -0009632882 00000 n -0009632942 00000 n -0009633002 00000 n -0009633062 00000 n -0009633122 00000 n -0009633182 00000 n -0009633242 00000 n -0009633302 00000 n -0009633362 00000 n -0009633422 00000 n -0009633482 00000 n -0009633542 00000 n -0009633602 00000 n -0009633662 00000 n -0009633722 00000 n -0009633782 00000 n -0009633842 00000 n -0009633902 00000 n -0009633962 00000 n -0009634022 00000 n -0009634082 00000 n -0009634142 00000 n -0009634202 00000 n -0009634262 00000 n -0009634322 00000 n -0009634382 00000 n -0009634442 00000 n -0009634502 00000 n -0009634562 00000 n -0009634622 00000 n -0009634682 00000 n -0009634742 00000 n -0009634802 00000 n -0009634862 00000 n -0009634922 00000 n -0009634982 00000 n -0009635042 00000 n -0009635102 00000 n -0009635162 00000 n -0009635222 00000 n -0009635282 00000 n -0009635342 00000 n -0009635402 00000 n -0009635462 00000 n -0009635522 00000 n -0009635582 00000 n -0009635642 00000 n -0009635702 00000 n -0009635762 00000 n -0009635822 00000 n -0009635882 00000 n -0009635942 00000 n -0009636002 00000 n -0009636062 00000 n -0009636122 00000 n -0009636182 00000 n -0009636242 00000 n -0009636302 00000 n -0009636362 00000 n -0009636422 00000 n -0009636482 00000 n -0009636542 00000 n -0009636602 00000 n -0009636662 00000 n -0009636722 00000 n -0009636782 00000 n -0009636842 00000 n -0009636902 00000 n -0009636962 00000 n -0009637022 00000 n -0009637082 00000 n -0009637142 00000 n -0009637202 00000 n -0009637262 00000 n -0009637322 00000 n -0009637382 00000 n -0009637442 00000 n -0009637502 00000 n -0009637562 00000 n -0009637622 00000 n -0009637682 00000 n -0009637742 00000 n -0009637802 00000 n -0009637862 00000 n -0009637922 00000 n -0009637982 00000 n -0009638042 00000 n -0009638102 00000 n -0009638162 00000 n -0009638222 00000 n -0009638282 00000 n -0009638342 00000 n -0009638402 00000 n -0009638462 00000 n -0009638522 00000 n -0009638582 00000 n -0009638642 00000 n -0009638702 00000 n -0009638762 00000 n -0009638822 00000 n -0009638882 00000 n -0009638942 00000 n -0009639002 00000 n -0009639062 00000 n -0009639122 00000 n -0009639182 00000 n -0009639242 00000 n -0009639302 00000 n -0009639363 00000 n -0009639424 00000 n -0009639485 00000 n -0009639546 00000 n -0009639607 00000 n -0009639668 00000 n -0009639729 00000 n -0009639790 00000 n -0009639851 00000 n -0009639912 00000 n -0009639973 00000 n -0009640062 00000 n -0009640131 00000 n -0009640214 00000 n -0009640287 00000 n -0009640364 00000 n -0009640441 00000 n -0009640537 00000 n -0009640624 00000 n -0009640703 00000 n -0009640825 00000 n -0009640888 00000 n -0009640967 00000 n -0009641040 00000 n -0009641111 00000 n -0009641218 00000 n -0009641281 00000 n -0009641360 00000 n -0009641437 00000 n -0009641553 00000 n -0009641616 00000 n -0009641695 00000 n -0009641772 00000 n -0009641875 00000 n -0009641938 00000 n -0009642015 00000 n -0009642118 00000 n -0009642197 00000 n -0009642267 00000 n -0009642345 00000 n -0009642418 00000 n -0009642696 00000 n -0009642755 00000 n -0009642812 00000 n -0009642875 00000 n -0009642938 00000 n -0009642992 00000 n -0009643085 00000 n -0009643141 00000 n -0009643197 00000 n -0009643289 00000 n -0009643345 00000 n -0009643437 00000 n -0009643567 00000 n -0009643642 00000 n -0009643718 00000 n -0009643775 00000 n -0009643903 00000 n -0009643979 00000 n -0009644055 00000 n -0009644131 00000 n -0009644207 00000 n -0009644307 00000 n -0009644398 00000 n -0009644493 00000 n -0009644585 00000 n -0009644711 00000 n -0009644822 00000 n -0009644923 00000 n -0009645044 00000 n -0009645130 00000 n -0009645210 00000 n -0009645323 00000 n -0009645403 00000 n -0009645477 00000 n -0009645524 00000 n -0009645607 00000 n -0009645690 00000 n -0009645764 00000 n -0009645812 00000 n -0009645879 00000 n -0009645967 00000 n -0009646034 00000 n -0009646101 00000 n -0009646168 00000 n -0009646235 00000 n -0009646302 00000 n -0009646369 00000 n -0009646435 00000 n -0009646501 00000 n -0009646588 00000 n -0009646654 00000 n -0009646727 00000 n -0009646793 00000 n -0009646859 00000 n -0009646925 00000 n -0009646973 00000 n -0009647114 00000 n -0009647181 00000 n -0009647269 00000 n -0009647336 00000 n -0009647403 00000 n -0009647470 00000 n -0009647558 00000 n -0009647625 00000 n -0009647719 00000 n -0009647803 00000 n -0009647859 00000 n -0009647937 00000 n -0009647999 00000 n -0009648080 00000 n -0009648142 00000 n -0009648208 00000 n -0009648283 00000 n -0009648348 00000 n -0009648413 00000 n -0009648460 00000 n -0009648545 00000 n -0009648668 00000 n -0009648712 00000 n -0009648834 00000 n -0009648933 00000 n -0009648977 00000 n -0009649098 00000 n -0009649142 00000 n -0009649262 00000 n -0009649306 00000 n -0009649470 00000 n -0009649514 00000 n -0009649607 00000 n -0009649791 00000 n -0009649835 00000 n -0009649924 00000 n -0009649968 00000 n -0009650099 00000 n -0009650143 00000 n -0009650251 00000 n -0009650295 00000 n -0009650398 00000 n -0009650442 00000 n -0009650557 00000 n -0009650601 00000 n -0009650711 00000 n -0009650755 00000 n -0009650873 00000 n -0009650917 00000 n -0009651029 00000 n -0009651073 00000 n -0009651190 00000 n -0009651234 00000 n -0009651340 00000 n -0009651384 00000 n -0009651497 00000 n -0009651541 00000 n -0009651585 00000 n -0009651619 00000 n -0009651651 00000 n -0009651680 00000 n -0009651709 00000 n -0009651744 00000 n -0009651822 00000 n -0009651866 00000 n -0009651944 00000 n -0009652048 00000 n -0009652092 00000 n -0009652185 00000 n -0009652229 00000 n -0009652322 00000 n -0009652366 00000 n -0009652459 00000 n -0009652503 00000 n -0009652596 00000 n -0009652640 00000 n -0009652733 00000 n -0009652777 00000 n -0009652870 00000 n -0009652914 00000 n -0009653007 00000 n -0009653051 00000 n -0009653144 00000 n -0009653188 00000 n -0009653281 00000 n -0009653325 00000 n -0009653418 00000 n -0009653462 00000 n -0009653555 00000 n -0009653599 00000 n -0009653692 00000 n -0009653736 00000 n -0009653829 00000 n -0009653873 00000 n -0009653966 00000 n -0009654010 00000 n -0009654103 00000 n -0009654147 00000 n -0009654240 00000 n -0009654284 00000 n -0009654377 00000 n -0009654421 00000 n -0009654514 00000 n -0009654558 00000 n -0009654651 00000 n -0009654695 00000 n -0009654788 00000 n -0009654832 00000 n -0009654925 00000 n -0009654969 00000 n -0009655062 00000 n -0009655106 00000 n -0009655199 00000 n -0009655243 00000 n -0009655336 00000 n -0009655380 00000 n -0009655424 00000 n -0009655468 00000 n -0009655603 00000 n -0009655647 00000 n -0009655816 00000 n -0009655912 00000 n -0009655956 00000 n -0009656060 00000 n -0009656183 00000 n -0009656227 00000 n -0009656271 00000 n -0009656315 00000 n -0009656495 00000 n -0009656589 00000 n -0009656633 00000 n -0009656722 00000 n -0009656885 00000 n -0009656929 00000 n -0009657037 00000 n -0009657081 00000 n -0009657194 00000 n -0009657238 00000 n -0009657366 00000 n -0009657410 00000 n -0009657537 00000 n -0009657581 00000 n -0009657625 00000 n -0009657719 00000 n -0009657763 00000 n -0009657853 00000 n -0009658013 00000 n -0009658107 00000 n -0009658151 00000 n -0009658240 00000 n -0009658397 00000 n -0009658441 00000 n -0009658549 00000 n -0009658593 00000 n -0009658701 00000 n -0009658745 00000 n -0009658862 00000 n -0009658906 00000 n -0009659014 00000 n -0009659058 00000 n -0009659184 00000 n -0009659228 00000 n -0009659348 00000 n -0009659392 00000 n -0009659500 00000 n -0009659544 00000 n -0009659648 00000 n -0009659692 00000 n -0009659736 00000 n -0009659780 00000 n -0009659894 00000 n -0009659938 00000 n -0009660056 00000 n -0009660100 00000 n -0009660208 00000 n -0009660252 00000 n -0009660366 00000 n -0009660410 00000 n -0009660538 00000 n -0009660582 00000 n -0009660687 00000 n -0009660731 00000 n -0009660775 00000 n -0009660869 00000 n -0009660913 00000 n -0009661003 00000 n -0009661159 00000 n -0009661203 00000 n -0009661330 00000 n -0009661374 00000 n -0009661492 00000 n -0009661536 00000 n -0009661651 00000 n -0009661695 00000 n -0009661807 00000 n -0009661851 00000 n -0009661971 00000 n -0009662015 00000 n -0009662134 00000 n -0009662178 00000 n -0009662294 00000 n -0009662338 00000 n -0009662447 00000 n -0009662491 00000 n -0009662609 00000 n -0009662653 00000 n -0009662789 00000 n -0009662833 00000 n -0009662954 00000 n -0009662998 00000 n -0009663103 00000 n -0009663147 00000 n -0009663191 00000 n -0009663285 00000 n -0009663329 00000 n -0009663418 00000 n -0009663582 00000 n -0009663626 00000 n -0009663748 00000 n -0009663792 00000 n -0009663914 00000 n -0009663958 00000 n -0009664079 00000 n -0009664123 00000 n -0009664238 00000 n -0009664282 00000 n -0009664438 00000 n -0009664533 00000 n -0009664577 00000 n -0009664621 00000 n -0009664665 00000 n -0009664759 00000 n -0009664803 00000 n -0009664892 00000 n -0009665063 00000 n -0009665157 00000 n -0009665201 00000 n -0009665291 00000 n -0009665448 00000 n -0009665492 00000 n -0009665621 00000 n -0009665665 00000 n -0009665778 00000 n -0009665822 00000 n -0009665933 00000 n -0009665977 00000 n -0009666087 00000 n -0009666131 00000 n -0009666252 00000 n -0009666296 00000 n -0009666443 00000 n -0009666540 00000 n -0009666584 00000 n -0009666702 00000 n -0009666817 00000 n -0009666861 00000 n -0009666974 00000 n -0009667018 00000 n -0009667132 00000 n -0009667176 00000 n -0009667220 00000 n -0009667264 00000 n -0009667308 00000 n -0009667352 00000 n -0009667477 00000 n -0009667521 00000 n -0009667635 00000 n -0009667679 00000 n -0009667789 00000 n -0009667833 00000 n -0009667940 00000 n -0009667984 00000 n -0009668095 00000 n -0009668139 00000 n -0009668266 00000 n -0009668310 00000 n -0009668429 00000 n -0009668473 00000 n -0009668592 00000 n -0009668636 00000 n -0009668755 00000 n -0009668799 00000 n -0009668903 00000 n -0009668947 00000 n -0009669049 00000 n -0009669093 00000 n -0009669201 00000 n -0009669245 00000 n -0009669368 00000 n -0009669412 00000 n -0009669514 00000 n -0009669558 00000 n -0009669602 00000 n -0009669696 00000 n -0009669740 00000 n -0009669829 00000 n -0009669989 00000 n -0009670033 00000 n -0009670147 00000 n -0009670191 00000 n -0009670314 00000 n -0009670358 00000 n -0009670481 00000 n -0009670525 00000 n -0009670646 00000 n -0009670690 00000 n -0009670809 00000 n -0009670853 00000 n -0009670977 00000 n -0009671021 00000 n -0009671134 00000 n -0009671178 00000 n -0009671290 00000 n -0009671334 00000 n -0009671461 00000 n -0009671505 00000 n -0009671618 00000 n -0009671662 00000 n -0009671773 00000 n -0009671817 00000 n -0009671929 00000 n -0009671973 00000 n -0009672017 00000 n -0009672111 00000 n -0009672155 00000 n -0009672244 00000 n -0009672403 00000 n -0009672447 00000 n -0009672566 00000 n -0009672610 00000 n -0009672725 00000 n -0009672769 00000 n -0009672889 00000 n -0009672933 00000 n -0009673043 00000 n -0009673087 00000 n -0009673196 00000 n -0009673240 00000 n -0009673359 00000 n -0009673403 00000 n -0009673447 00000 n -0009673541 00000 n -0009673585 00000 n -0009673675 00000 n -0009673827 00000 n -0009673871 00000 n -0009673984 00000 n -0009674028 00000 n -0009674141 00000 n -0009674185 00000 n -0009674301 00000 n -0009674395 00000 n -0009674439 00000 n -0009674528 00000 n -0009674680 00000 n -0009674724 00000 n -0009674835 00000 n -0009674879 00000 n -0009674996 00000 n -0009675040 00000 n -0009675147 00000 n -0009675191 00000 n -0009675308 00000 n -0009675352 00000 n -0009675480 00000 n -0009675524 00000 n -0009675655 00000 n -0009675699 00000 n -0009675814 00000 n -0009675858 00000 n -0009675981 00000 n -0009676025 00000 n -0009676139 00000 n -0009676183 00000 n -0009676293 00000 n -0009676337 00000 n -0009676381 00000 n -0009676425 00000 n -0009676532 00000 n -0009676576 00000 n -0009676685 00000 n -0009676729 00000 n -0009676847 00000 n -0009676891 00000 n -0009677028 00000 n -0009677072 00000 n -0009677193 00000 n -0009677237 00000 n -0009677368 00000 n -0009677412 00000 n -0009677529 00000 n -0009677573 00000 n -0009677679 00000 n -0009677723 00000 n -0009677842 00000 n -0009677886 00000 n -0009678001 00000 n -0009678045 00000 n -0009678157 00000 n -0009678201 00000 n -0009678319 00000 n -0009678363 00000 n -0009678475 00000 n -0009678519 00000 n -0009678563 00000 n -0009678657 00000 n -0009678701 00000 n -0009678791 00000 n -0009678956 00000 n -0009679000 00000 n -0009679122 00000 n -0009679166 00000 n -0009679283 00000 n -0009679327 00000 n -0009679442 00000 n -0009679486 00000 n -0009679631 00000 n -0009679675 00000 n -0009679788 00000 n -0009679832 00000 n -0009679944 00000 n -0009679988 00000 n -0009680105 00000 n -0009680149 00000 n -0009680281 00000 n -0009680325 00000 n -0009680441 00000 n -0009680485 00000 n -0009680602 00000 n -0009680646 00000 n -0009680764 00000 n -0009680808 00000 n -0009680917 00000 n -0009680961 00000 n -0009681084 00000 n -0009681128 00000 n -0009681249 00000 n -0009681293 00000 n -0009681431 00000 n -0009681475 00000 n -0009681588 00000 n -0009681632 00000 n -0009681748 00000 n -0009681792 00000 n -0009681913 00000 n -0009681957 00000 n -0009682072 00000 n -0009682116 00000 n -0009682228 00000 n -0009682272 00000 n -0009682384 00000 n -0009682428 00000 n -0009682472 00000 n -0009682565 00000 n -0009682609 00000 n -0009682698 00000 n -0009682857 00000 n -0009682901 00000 n -0009683020 00000 n -0009683064 00000 n -0009683184 00000 n -0009683228 00000 n -0009683351 00000 n -0009683395 00000 n -0009683502 00000 n -0009683546 00000 n -0009683686 00000 n -0009683730 00000 n -0009683846 00000 n -0009683890 00000 n -0009683994 00000 n -0009684038 00000 n -0009684148 00000 n -0009684192 00000 n -0009684302 00000 n -0009684346 00000 n -0009684457 00000 n -0009684501 00000 n -0009684545 00000 n -0009684638 00000 n -0009684682 00000 n -0009684771 00000 n -0009684934 00000 n -0009684978 00000 n -0009685088 00000 n -0009685132 00000 n -0009685247 00000 n -0009685291 00000 n -0009685407 00000 n -0009685451 00000 n -0009685566 00000 n -0009685610 00000 n -0009685722 00000 n -0009685766 00000 n -0009685880 00000 n -0009685924 00000 n -0009686052 00000 n -0009686096 00000 n -0009686207 00000 n -0009686251 00000 n -0009686362 00000 n -0009686406 00000 n -0009686527 00000 n -0009686571 00000 n -0009686682 00000 n -0009686726 00000 n -0009686848 00000 n -0009686892 00000 n -0009687002 00000 n -0009687046 00000 n -0009687156 00000 n -0009687200 00000 n -0009687309 00000 n -0009687353 00000 n -0009687468 00000 n -0009687512 00000 n -0009687556 00000 n -0009687649 00000 n -0009687693 00000 n -0009687782 00000 n -0009687959 00000 n -0009688052 00000 n -0009688096 00000 n -0009688185 00000 n -0009688349 00000 n -0009688393 00000 n -0009688512 00000 n -0009688556 00000 n -0009688686 00000 n -0009688730 00000 n -0009688855 00000 n -0009688899 00000 n -0009689016 00000 n -0009689060 00000 n -0009689173 00000 n -0009689217 00000 n -0009689329 00000 n -0009689373 00000 n -0009689498 00000 n -0009689542 00000 n -0009689654 00000 n -0009689698 00000 n -0009689816 00000 n -0009689860 00000 n -0009689975 00000 n -0009690019 00000 n -0009690128 00000 n -0009690172 00000 n -0009690216 00000 n -0009690260 00000 n -0009690377 00000 n -0009690421 00000 n -0009690533 00000 n -0009690577 00000 n -0009690689 00000 n -0009690733 00000 n -0009690855 00000 n -0009690899 00000 n -0009691018 00000 n -0009691062 00000 n -0009691168 00000 n -0009691212 00000 n -0009691324 00000 n -0009691368 00000 n -0009691477 00000 n -0009691521 00000 n -0009691565 00000 n -0009691658 00000 n -0009691702 00000 n -0009691791 00000 n -0009691956 00000 n -0009692000 00000 n -0009692125 00000 n -0009692169 00000 n -0009692280 00000 n -0009692324 00000 n -0009692436 00000 n -0009692480 00000 n -0009692599 00000 n -0009692643 00000 n -0009692753 00000 n -0009692797 00000 n -0009692914 00000 n -0009692958 00000 n -0009693064 00000 n -0009693108 00000 n -0009693227 00000 n -0009693271 00000 n -0009693385 00000 n -0009693429 00000 n -0009693553 00000 n -0009693597 00000 n -0009693709 00000 n -0009693753 00000 n -0009693858 00000 n -0009693902 00000 n -0009694049 00000 n -0009694093 00000 n -0009694213 00000 n -0009694257 00000 n -0009694301 00000 n -0009694394 00000 n -0009694438 00000 n -0009694527 00000 n -0009694679 00000 n -0009694723 00000 n -0009694859 00000 n -0009694903 00000 n -0009695020 00000 n -0009695064 00000 n -0009695196 00000 n -0009695240 00000 n -0009695356 00000 n -0009695400 00000 n -0009695532 00000 n -0009695576 00000 n -0009695714 00000 n -0009695758 00000 n -0009695865 00000 n -0009695909 00000 n -0009696041 00000 n -0009696085 00000 n -0009696196 00000 n -0009696240 00000 n -0009696366 00000 n -0009696410 00000 n -0009696559 00000 n -0009696603 00000 n -0009696712 00000 n -0009696756 00000 n -0009696868 00000 n -0009696912 00000 n -0009697018 00000 n -0009697062 00000 n -0009697204 00000 n -0009697248 00000 n -0009697355 00000 n -0009697399 00000 n -0009697532 00000 n -0009697576 00000 n -0009697686 00000 n -0009697730 00000 n -0009697856 00000 n -0009697900 00000 n -0009698034 00000 n -0009698127 00000 n -0009698171 00000 n -0009698260 00000 n -0009698304 00000 n -0009698423 00000 n -0009698467 00000 n -0009698591 00000 n -0009698635 00000 n -0009698741 00000 n -0009698785 00000 n -0009698922 00000 n -0009698966 00000 n -0009699010 00000 n -0009699054 00000 n -0009699158 00000 n -0009699202 00000 n -0009699313 00000 n -0009699357 00000 n -0009699468 00000 n -0009699512 00000 n -0009699645 00000 n -0009699689 00000 n -0009699808 00000 n -0009699852 00000 n -0009699966 00000 n -0009700010 00000 n -0009700119 00000 n -0009700163 00000 n -0009700273 00000 n -0009700317 00000 n -0009700427 00000 n -0009700471 00000 n -0009700580 00000 n -0009700624 00000 n -0009700734 00000 n -0009700778 00000 n -0009700888 00000 n -0009700932 00000 n -0009701042 00000 n -0009701086 00000 n -0009701207 00000 n -0009701251 00000 n -0009701363 00000 n -0009701407 00000 n -0009701451 00000 n -0009701544 00000 n -0009701588 00000 n -0009701677 00000 n -0009701721 00000 n -0009701846 00000 n -0009701890 00000 n -0009702013 00000 n -0009702057 00000 n -0009702172 00000 n -0009702216 00000 n -0009702319 00000 n -0009702363 00000 n -0009702505 00000 n -0009702600 00000 n -0009702644 00000 n -0009702755 00000 n -0009702896 00000 n -0009702940 00000 n -0009703080 00000 n -0009703124 00000 n -0009703232 00000 n -0009703276 00000 n -0009703386 00000 n -0009703430 00000 n -0009703474 00000 n -0009703518 00000 n -0009703681 00000 n -0009703787 00000 n -0009703831 00000 n -0009703932 00000 n -0009704088 00000 n -0009704132 00000 n -0009704237 00000 n -0009704281 00000 n -0009704387 00000 n -0009704431 00000 n -0009704534 00000 n -0009704578 00000 n -0009704683 00000 n -0009704727 00000 n -0009704831 00000 n -0009704875 00000 n -0009704919 00000 n -0009705007 00000 n -0009705051 00000 n -0009705138 00000 n -0009705182 00000 n -0009705309 00000 n -0009705353 00000 n -0009705461 00000 n -0009705505 00000 n -0009705549 00000 n - -trailer -<<20D01D95D6595E4FB76FC5DD628561C5>]>> - -startxref -9705593 -%%EOF -2 0 obj <> endobj 3 0 obj <> endobj 5 0 obj <>>>/Rotate 0/Type/Page>> endobj 6 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text/ImageC]/XObject<>>>/Rotate 0/Type/Page>> endobj 7 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 0/Type/Page>> endobj 8 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1/Type/Page>> endobj 9 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 2/Type/Page>> endobj 10 0 obj <>/Font<>/ProcSet[/PDF/Text/ImageB]/XObject<>>>/Rotate 0/Type/Page>> endobj 11 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/Type/Page>> endobj 12 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/Type/Page>> endobj 13 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 3/Type/Page>> endobj 14 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/Type/Page>> endobj 34 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 4/Type/Page>> endobj 75 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 5/Type/Page>> endobj 112 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 6/Type/Page>> endobj 151 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 7/Type/Page>> endobj 190 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 8/Type/Page>> endobj 229 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 9/Type/Page>> endobj 268 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 10/Type/Page>> endobj 307 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 11/Type/Page>> endobj 346 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 12/Type/Page>> endobj 356 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 13/Type/Page>> endobj 358 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 14/Type/Page>> endobj 359 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 15/Type/Page>> endobj 361 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 16/Type/Page>> endobj 362 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 17/Type/Page>> endobj 363 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 18/Type/Page>> endobj 364 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/Type/Page>> endobj 366 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 20/Type/Page>> endobj 367 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 21/Type/Page>> endobj 368 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 22/Type/Page>> endobj 369 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/Type/Page>> endobj 371 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 24/Type/Page>> endobj 372 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 25/Type/Page>> endobj 373 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 26/Type/Page>> endobj 374 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 27/Type/Page>> endobj 378 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 28/Type/Page>> endobj 380 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 29/Type/Page>> endobj 381 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 30/Type/Page>> endobj 383 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 31/Type/Page>> endobj 384 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 32/Type/Page>> endobj 385 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 33/Type/Page>> endobj 386 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 34/Type/Page>> endobj 388 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 35/Type/Page>> endobj 389 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 36/Type/Page>> endobj 391 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 37/Type/Page>> endobj 392 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 38/Type/Page>> endobj 393 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 39/Type/Page>> endobj 394 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 40/Type/Page>> endobj 396 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 41/Type/Page>> endobj 397 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 42/Type/Page>> endobj 399 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 43/Type/Page>> endobj 400 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 44/Type/Page>> endobj 402 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 45/Type/Page>> endobj 403 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 46/Type/Page>> endobj 405 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 47/Type/Page>> endobj 407 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 48/Type/Page>> endobj 408 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 49/Type/Page>> endobj 410 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 50/Type/Page>> endobj 411 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 51/Type/Page>> endobj 416 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 52/Type/Page>> endobj 418 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 53/Type/Page>> endobj 419 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 54/Type/Page>> endobj 420 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 55/Type/Page>> endobj 421 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 56/Type/Page>> endobj 423 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 57/Type/Page>> endobj 424 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 58/Type/Page>> endobj 426 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 59/Type/Page>> endobj 429 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 60/Type/Page>> endobj 432 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 61/Type/Page>> endobj 437 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 62/Type/Page>> endobj 440 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 63/Type/Page>> endobj 442 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 64/Type/Page>> endobj 444 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 65/Type/Page>> endobj 445 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 66/Type/Page>> endobj 446 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 67/Type/Page>> endobj 448 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 68/Type/Page>> endobj 450 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 69/Type/Page>> endobj 451 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 70/Type/Page>> endobj 452 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 71/Type/Page>> endobj 453 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 72/Type/Page>> endobj 454 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 73/Type/Page>> endobj 455 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 74/Type/Page>> endobj 456 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 75/Type/Page>> endobj 458 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 76/Type/Page>> endobj 459 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 77/Type/Page>> endobj 460 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 78/Type/Page>> endobj 461 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 79/Type/Page>> endobj 463 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 80/Type/Page>> endobj 464 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 81/Type/Page>> endobj 465 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 82/Type/Page>> endobj 466 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 83/Type/Page>> endobj 468 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 84/Type/Page>> endobj 471 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 85/Type/Page>> endobj 472 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 86/Type/Page>> endobj 474 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 87/Type/Page>> endobj 478 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 88/Type/Page>> endobj 480 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 89/Type/Page>> endobj 481 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 90/Type/Page>> endobj 482 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 91/Type/Page>> endobj 483 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 92/Type/Page>> endobj 487 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 93/Type/Page>> endobj 488 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 94/Type/Page>> endobj 489 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 95/Type/Page>> endobj 490 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 96/Type/Page>> endobj 491 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 97/Type/Page>> endobj 493 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 98/Type/Page>> endobj 496 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 99/Type/Page>> endobj 497 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 100/Type/Page>> endobj 499 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 101/Type/Page>> endobj 500 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 102/Type/Page>> endobj 501 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 103/Type/Page>> endobj 503 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 104/Type/Page>> endobj 504 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 105/Type/Page>> endobj 506 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 106/Type/Page>> endobj 507 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 107/Type/Page>> endobj 509 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 108/Type/Page>> endobj 511 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 109/Type/Page>> endobj 512 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 110/Type/Page>> endobj 513 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 111/Type/Page>> endobj 514 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 112/Type/Page>> endobj 515 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 113/Type/Page>> endobj 517 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 114/Type/Page>> endobj 519 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 115/Type/Page>> endobj 520 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 116/Type/Page>> endobj 522 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 117/Type/Page>> endobj 523 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 118/Type/Page>> endobj 524 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/Type/Page>> endobj 528 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 120/Type/Page>> endobj 529 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 121/Type/Page>> endobj 531 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 122/Type/Page>> endobj 532 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 123/Type/Page>> endobj 533 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 124/Type/Page>> endobj 535 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 125/Type/Page>> endobj 537 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 126/Type/Page>> endobj 538 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 127/Type/Page>> endobj 540 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 128/Type/Page>> endobj 542 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 129/Type/Page>> endobj 543 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 130/Type/Page>> endobj 545 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 131/Type/Page>> endobj 546 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 132/Type/Page>> endobj 548 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 133/Type/Page>> endobj 549 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 134/Type/Page>> endobj 551 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 135/Type/Page>> endobj 553 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 136/Type/Page>> endobj 554 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 137/Type/Page>> endobj 556 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 138/Type/Page>> endobj 558 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 139/Type/Page>> endobj 560 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 140/Type/Page>> endobj 561 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 141/Type/Page>> endobj 562 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 142/Type/Page>> endobj 564 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 143/Type/Page>> endobj 565 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 144/Type/Page>> endobj 566 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 145/Type/Page>> endobj 568 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 146/Type/Page>> endobj 570 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 147/Type/Page>> endobj 571 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 148/Type/Page>> endobj 572 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 149/Type/Page>> endobj 574 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 150/Type/Page>> endobj 576 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 151/Type/Page>> endobj 577 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 152/Type/Page>> endobj 579 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 153/Type/Page>> endobj 580 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 154/Type/Page>> endobj 581 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 155/Type/Page>> endobj 583 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 156/Type/Page>> endobj 585 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 157/Type/Page>> endobj 586 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 158/Type/Page>> endobj 587 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 159/Type/Page>> endobj 588 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 160/Type/Page>> endobj 589 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 161/Type/Page>> endobj 591 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 162/Type/Page>> endobj 592 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 163/Type/Page>> endobj 594 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 164/Type/Page>> endobj 595 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 165/Type/Page>> endobj 596 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 166/Type/Page>> endobj 599 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 167/Type/Page>> endobj 600 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 168/Type/Page>> endobj 601 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 169/Type/Page>> endobj 605 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 170/Type/Page>> endobj 606 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 171/Type/Page>> endobj 609 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 172/Type/Page>> endobj 610 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 173/Type/Page>> endobj 611 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 174/Type/Page>> endobj 613 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 175/Type/Page>> endobj 614 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 176/Type/Page>> endobj 616 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 177/Type/Page>> endobj 617 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 178/Type/Page>> endobj 619 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 179/Type/Page>> endobj 621 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 180/Type/Page>> endobj 622 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 181/Type/Page>> endobj 623 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 182/Type/Page>> endobj 625 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 183/Type/Page>> endobj 627 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 184/Type/Page>> endobj 628 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 185/Type/Page>> endobj 630 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 186/Type/Page>> endobj 631 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 187/Type/Page>> endobj 632 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 188/Type/Page>> endobj 633 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 189/Type/Page>> endobj 634 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 190/Type/Page>> endobj 636 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 191/Type/Page>> endobj 637 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 192/Type/Page>> endobj 638 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 193/Type/Page>> endobj 640 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 194/Type/Page>> endobj 641 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 195/Type/Page>> endobj 642 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 196/Type/Page>> endobj 643 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 197/Type/Page>> endobj 645 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 198/Type/Page>> endobj 646 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 199/Type/Page>> endobj 647 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 200/Type/Page>> endobj 649 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 201/Type/Page>> endobj 651 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 202/Type/Page>> endobj 652 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/Type/Page>> endobj 656 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 204/Type/Page>> endobj 657 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 205/Type/Page>> endobj 658 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 206/Type/Page>> endobj 659 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 207/Type/Page>> endobj 661 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 208/Type/Page>> endobj 663 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 209/Type/Page>> endobj 665 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 210/Type/Page>> endobj 667 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 211/Type/Page>> endobj 669 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 212/Type/Page>> endobj 671 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 213/Type/Page>> endobj 673 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 214/Type/Page>> endobj 674 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 215/Type/Page>> endobj 676 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 216/Type/Page>> endobj 677 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 217/Type/Page>> endobj 678 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 218/Type/Page>> endobj 679 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 219/Type/Page>> endobj 680 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 220/Type/Page>> endobj 681 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 221/Type/Page>> endobj 682 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 222/Type/Page>> endobj 684 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 223/Type/Page>> endobj 688 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 224/Type/Page>> endobj 690 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 225/Type/Page>> endobj 691 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 226/Type/Page>> endobj 692 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 227/Type/Page>> endobj 693 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 228/Type/Page>> endobj 694 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 229/Type/Page>> endobj 697 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 230/Type/Page>> endobj 699 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 231/Type/Page>> endobj 700 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 232/Type/Page>> endobj 702 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 233/Type/Page>> endobj 704 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 234/Type/Page>> endobj 705 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 235/Type/Page>> endobj 706 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 236/Type/Page>> endobj 708 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 237/Type/Page>> endobj 709 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 238/Type/Page>> endobj 710 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 239/Type/Page>> endobj 712 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 240/Type/Page>> endobj 713 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 241/Type/Page>> endobj 714 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 242/Type/Page>> endobj 715 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 243/Type/Page>> endobj 716 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 244/Type/Page>> endobj 717 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 245/Type/Page>> endobj 718 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 246/Type/Page>> endobj 720 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 247/Type/Page>> endobj 721 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 248/Type/Page>> endobj 722 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 249/Type/Page>> endobj 723 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 250/Type/Page>> endobj 724 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 251/Type/Page>> endobj 726 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 252/Type/Page>> endobj 727 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 253/Type/Page>> endobj 731 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 254/Type/Page>> endobj 732 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 255/Type/Page>> endobj 734 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 256/Type/Page>> endobj 735 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 257/Type/Page>> endobj 736 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 258/Type/Page>> endobj 737 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 259/Type/Page>> endobj 738 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 260/Type/Page>> endobj 740 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 261/Type/Page>> endobj 741 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 262/Type/Page>> endobj 743 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 263/Type/Page>> endobj 744 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 264/Type/Page>> endobj 746 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 265/Type/Page>> endobj 747 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 266/Type/Page>> endobj 748 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 267/Type/Page>> endobj 749 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 268/Type/Page>> endobj 750 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 269/Type/Page>> endobj 751 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 270/Type/Page>> endobj 753 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 271/Type/Page>> endobj 756 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 272/Type/Page>> endobj 757 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 273/Type/Page>> endobj 758 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 274/Type/Page>> endobj 759 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 275/Type/Page>> endobj 761 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 276/Type/Page>> endobj 762 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 277/Type/Page>> endobj 763 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 278/Type/Page>> endobj 764 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 279/Type/Page>> endobj 765 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 280/Type/Page>> endobj 766 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 281/Type/Page>> endobj 768 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 282/Type/Page>> endobj 769 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 283/Type/Page>> endobj 770 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 284/Type/Page>> endobj 771 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 285/Type/Page>> endobj 772 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 286/Type/Page>> endobj 774 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 287/Type/Page>> endobj 775 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 288/Type/Page>> endobj 776 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 289/Type/Page>> endobj 777 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 290/Type/Page>> endobj 779 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 291/Type/Page>> endobj 780 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 292/Type/Page>> endobj 781 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 293/Type/Page>> endobj 782 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 294/Type/Page>> endobj 783 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 295/Type/Page>> endobj 785 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 296/Type/Page>> endobj 786 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 297/Type/Page>> endobj 787 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 298/Type/Page>> endobj 788 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 299/Type/Page>> endobj 789 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 300/Type/Page>> endobj 790 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 301/Type/Page>> endobj 792 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 302/Type/Page>> endobj 794 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 303/Type/Page>> endobj 795 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 304/Type/Page>> endobj 796 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 305/Type/Page>> endobj 797 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 306/Type/Page>> endobj 799 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 307/Type/Page>> endobj 800 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 308/Type/Page>> endobj 802 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 309/Type/Page>> endobj 803 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 310/Type/Page>> endobj 804 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/Type/Page>> endobj 808 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 312/Type/Page>> endobj 809 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 313/Type/Page>> endobj 810 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 314/Type/Page>> endobj 811 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 315/Type/Page>> endobj 812 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 316/Type/Page>> endobj 814 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 317/Type/Page>> endobj 815 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 318/Type/Page>> endobj 816 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 319/Type/Page>> endobj 818 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 320/Type/Page>> endobj 819 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 321/Type/Page>> endobj 821 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 322/Type/Page>> endobj 823 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 323/Type/Page>> endobj 824 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 324/Type/Page>> endobj 826 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 325/Type/Page>> endobj 828 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 326/Type/Page>> endobj 829 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 327/Type/Page>> endobj 830 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 328/Type/Page>> endobj 831 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 329/Type/Page>> endobj 833 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 330/Type/Page>> endobj 834 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 331/Type/Page>> endobj 835 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 332/Type/Page>> endobj 836 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 333/Type/Page>> endobj 838 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 334/Type/Page>> endobj 839 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 335/Type/Page>> endobj 840 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 336/Type/Page>> endobj 842 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 337/Type/Page>> endobj 843 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 338/Type/Page>> endobj 845 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 339/Type/Page>> endobj 849 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 340/Type/Page>> endobj 850 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 341/Type/Page>> endobj 851 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 342/Type/Page>> endobj 852 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 343/Type/Page>> endobj 853 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 344/Type/Page>> endobj 854 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 345/Type/Page>> endobj 855 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 346/Type/Page>> endobj 856 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 347/Type/Page>> endobj 857 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 348/Type/Page>> endobj 858 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 349/Type/Page>> endobj 860 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 350/Type/Page>> endobj 861 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 351/Type/Page>> endobj 862 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 352/Type/Page>> endobj 864 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 353/Type/Page>> endobj 866 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 354/Type/Page>> endobj 867 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 355/Type/Page>> endobj 868 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 356/Type/Page>> endobj 870 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 357/Type/Page>> endobj 871 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 358/Type/Page>> endobj 873 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 359/Type/Page>> endobj 874 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 360/Type/Page>> endobj 875 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 361/Type/Page>> endobj 877 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 362/Type/Page>> endobj 879 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 363/Type/Page>> endobj 880 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 364/Type/Page>> endobj 882 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 365/Type/Page>> endobj 883 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 366/Type/Page>> endobj 884 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 367/Type/Page>> endobj 885 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 368/Type/Page>> endobj 886 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 369/Type/Page>> endobj 887 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 370/Type/Page>> endobj 889 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 371/Type/Page>> endobj 890 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 372/Type/Page>> endobj 892 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 373/Type/Page>> endobj 894 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 374/Type/Page>> endobj 895 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 375/Type/Page>> endobj 897 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 376/Type/Page>> endobj 898 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 377/Type/Page>> endobj 899 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 378/Type/Page>> endobj 900 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 379/Type/Page>> endobj 901 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 380/Type/Page>> endobj 902 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 381/Type/Page>> endobj 904 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 382/Type/Page>> endobj 905 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 383/Type/Page>> endobj 906 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 384/Type/Page>> endobj 907 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 385/Type/Page>> endobj 909 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 386/Type/Page>> endobj 910 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 387/Type/Page>> endobj 911 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 388/Type/Page>> endobj 912 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 389/Type/Page>> endobj 913 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 390/Type/Page>> endobj 914 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 391/Type/Page>> endobj 916 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 392/Type/Page>> endobj 917 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 393/Type/Page>> endobj 919 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 394/Type/Page>> endobj 920 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 395/Type/Page>> endobj 921 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 396/Type/Page>> endobj 922 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 397/Type/Page>> endobj 923 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 398/Type/Page>> endobj 924 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 399/Type/Page>> endobj 926 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 400/Type/Page>> endobj 927 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 401/Type/Page>> endobj 928 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 402/Type/Page>> endobj 930 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 403/Type/Page>> endobj 932 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 404/Type/Page>> endobj 933 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 405/Type/Page>> endobj 935 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 406/Type/Page>> endobj 936 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 407/Type/Page>> endobj 938 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 408/Type/Page>> endobj 939 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 409/Type/Page>> endobj 943 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 410/Type/Page>> endobj 945 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 411/Type/Page>> endobj 947 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 412/Type/Page>> endobj 948 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 413/Type/Page>> endobj 949 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 414/Type/Page>> endobj 951 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 415/Type/Page>> endobj 952 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 416/Type/Page>> endobj 953 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 417/Type/Page>> endobj 954 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 418/Type/Page>> endobj 955 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 419/Type/Page>> endobj 956 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 420/Type/Page>> endobj 957 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 421/Type/Page>> endobj 958 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 422/Type/Page>> endobj 959 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 423/Type/Page>> endobj 961 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 424/Type/Page>> endobj 962 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 425/Type/Page>> endobj 964 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 426/Type/Page>> endobj 965 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 427/Type/Page>> endobj 966 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 428/Type/Page>> endobj 968 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 429/Type/Page>> endobj 969 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 430/Type/Page>> endobj 970 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 431/Type/Page>> endobj 971 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 432/Type/Page>> endobj 972 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 433/Type/Page>> endobj 974 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 434/Type/Page>> endobj 975 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 435/Type/Page>> endobj 977 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 436/Type/Page>> endobj 978 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 437/Type/Page>> endobj 979 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 438/Type/Page>> endobj 980 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 439/Type/Page>> endobj 983 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 440/Type/Page>> endobj 984 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 441/Type/Page>> endobj 985 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 442/Type/Page>> endobj 986 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 443/Type/Page>> endobj 988 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 444/Type/Page>> endobj 990 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 445/Type/Page>> endobj 991 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 446/Type/Page>> endobj 992 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 447/Type/Page>> endobj 993 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 448/Type/Page>> endobj 995 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 449/Type/Page>> endobj 996 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 450/Type/Page>> endobj 997 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/Type/Page>> endobj 1001 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 452/Type/Page>> endobj 1003 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 453/Type/Page>> endobj 1004 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 454/Type/Page>> endobj 1005 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 455/Type/Page>> endobj 1006 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 456/Type/Page>> endobj 1009 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 457/Type/Page>> endobj 1010 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 458/Type/Page>> endobj 1011 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 459/Type/Page>> endobj 1012 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 460/Type/Page>> endobj 1013 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 461/Type/Page>> endobj 1014 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 462/Type/Page>> endobj 1015 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 463/Type/Page>> endobj 1016 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 464/Type/Page>> endobj 1017 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 465/Type/Page>> endobj 1019 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 466/Type/Page>> endobj 1021 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 467/Type/Page>> endobj 1023 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 468/Type/Page>> endobj 1025 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 469/Type/Page>> endobj 1026 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 470/Type/Page>> endobj 1027 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 471/Type/Page>> endobj 1028 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 472/Type/Page>> endobj 1030 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 473/Type/Page>> endobj 1031 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 474/Type/Page>> endobj 1032 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 475/Type/Page>> endobj 1033 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 476/Type/Page>> endobj 1034 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 477/Type/Page>> endobj 1036 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 478/Type/Page>> endobj 1037 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 479/Type/Page>> endobj 1039 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 480/Type/Page>> endobj 1040 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 481/Type/Page>> endobj 1041 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 482/Type/Page>> endobj 1042 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 483/Type/Page>> endobj 1044 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 484/Type/Page>> endobj 1045 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 485/Type/Page>> endobj 1046 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 486/Type/Page>> endobj 1047 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 487/Type/Page>> endobj 1049 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 488/Type/Page>> endobj 1051 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 489/Type/Page>> endobj 1055 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 490/Type/Page>> endobj 1056 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 491/Type/Page>> endobj 1057 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 492/Type/Page>> endobj 1059 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 493/Type/Page>> endobj 1060 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 494/Type/Page>> endobj 1061 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 495/Type/Page>> endobj 1063 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 496/Type/Page>> endobj 1064 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 497/Type/Page>> endobj 1065 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 498/Type/Page>> endobj 1066 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 499/Type/Page>> endobj 1068 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 500/Type/Page>> endobj 1070 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 501/Type/Page>> endobj 1071 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 502/Type/Page>> endobj 1072 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 503/Type/Page>> endobj 1073 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 504/Type/Page>> endobj 1074 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 505/Type/Page>> endobj 1076 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 506/Type/Page>> endobj 1078 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 507/Type/Page>> endobj 1082 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 508/Type/Page>> endobj 1083 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 509/Type/Page>> endobj 1084 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 510/Type/Page>> endobj 1085 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 511/Type/Page>> endobj 1087 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 512/Type/Page>> endobj 1088 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 513/Type/Page>> endobj 1089 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 514/Type/Page>> endobj 1090 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 515/Type/Page>> endobj 1091 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 516/Type/Page>> endobj 1092 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 517/Type/Page>> endobj 1093 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 518/Type/Page>> endobj 1094 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 519/Type/Page>> endobj 1095 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 520/Type/Page>> endobj 1096 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 521/Type/Page>> endobj 1097 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 522/Type/Page>> endobj 1098 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 523/Type/Page>> endobj 1099 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 524/Type/Page>> endobj 1100 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 525/Type/Page>> endobj 1101 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 526/Type/Page>> endobj 1103 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 527/Type/Page>> endobj 1104 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 528/Type/Page>> endobj 1106 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 529/Type/Page>> endobj 1107 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 530/Type/Page>> endobj 1108 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 531/Type/Page>> endobj 1109 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 532/Type/Page>> endobj 1111 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 533/Type/Page>> endobj 1112 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 534/Type/Page>> endobj 1113 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 535/Type/Page>> endobj 1115 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 536/Type/Page>> endobj 1118 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 537/Type/Page>> endobj 1120 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 538/Type/Page>> endobj 1121 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 539/Type/Page>> endobj 1122 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 540/Type/Page>> endobj 1123 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 541/Type/Page>> endobj 1124 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 542/Type/Page>> endobj 1125 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 543/Type/Page>> endobj 1126 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 544/Type/Page>> endobj 1127 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 545/Type/Page>> endobj 1128 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 546/Type/Page>> endobj 1129 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 547/Type/Page>> endobj 1131 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 548/Type/Page>> endobj 1132 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 549/Type/Page>> endobj 1134 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 550/Type/Page>> endobj 1135 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 551/Type/Page>> endobj 1137 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 552/Type/Page>> endobj 1138 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 553/Type/Page>> endobj 1139 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 554/Type/Page>> endobj 1140 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 555/Type/Page>> endobj 1141 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 556/Type/Page>> endobj 1142 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 557/Type/Page>> endobj 1144 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 558/Type/Page>> endobj 1145 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 559/Type/Page>> endobj 1148 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 560/Type/Page>> endobj 1150 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 561/Type/Page>> endobj 1151 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 562/Type/Page>> endobj 1152 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 563/Type/Page>> endobj 1153 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 564/Type/Page>> endobj 1154 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 565/Type/Page>> endobj 1155 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 566/Type/Page>> endobj 1156 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 567/Type/Page>> endobj 1158 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 568/Type/Page>> endobj 1159 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 569/Type/Page>> endobj 1160 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 570/Type/Page>> endobj 1161 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 571/Type/Page>> endobj 1162 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 572/Type/Page>> endobj 1163 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 573/Type/Page>> endobj 1164 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 574/Type/Page>> endobj 1166 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 575/Type/Page>> endobj 1167 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 576/Type/Page>> endobj 1168 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 577/Type/Page>> endobj 1169 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 578/Type/Page>> endobj 1171 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 579/Type/Page>> endobj 1172 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 580/Type/Page>> endobj 1173 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 581/Type/Page>> endobj 1174 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 582/Type/Page>> endobj 1177 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 583/Type/Page>> endobj 1178 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 584/Type/Page>> endobj 1180 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 585/Type/Page>> endobj 1183 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 586/Type/Page>> endobj 1184 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 587/Type/Page>> endobj 1186 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 588/Type/Page>> endobj 1187 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 589/Type/Page>> endobj 1188 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 590/Type/Page>> endobj 1189 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 591/Type/Page>> endobj 1191 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 592/Type/Page>> endobj 1192 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 593/Type/Page>> endobj 1193 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 594/Type/Page>> endobj 1194 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 595/Type/Page>> endobj 1195 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 596/Type/Page>> endobj 1196 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 597/Type/Page>> endobj 1198 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 598/Type/Page>> endobj 1199 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 599/Type/Page>> endobj 1200 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 600/Type/Page>> endobj 1201 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 601/Type/Page>> endobj 1202 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 602/Type/Page>> endobj 1203 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 603/Type/Page>> endobj 1204 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 604/Type/Page>> endobj 1205 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 605/Type/Page>> endobj 1207 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 606/Type/Page>> endobj 1208 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 607/Type/Page>> endobj 1209 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 608/Type/Page>> endobj 1210 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 609/Type/Page>> endobj 1211 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 610/Type/Page>> endobj 1212 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 611/Type/Page>> endobj 1214 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 612/Type/Page>> endobj 1215 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 613/Type/Page>> endobj 1217 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 614/Type/Page>> endobj 1218 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 615/Type/Page>> endobj 1221 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 616/Type/Page>> endobj 1223 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 617/Type/Page>> endobj 1224 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 618/Type/Page>> endobj 1225 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 619/Type/Page>> endobj 1228 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 620/Type/Page>> endobj 1229 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 621/Type/Page>> endobj 1231 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 622/Type/Page>> endobj 1232 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 623/Type/Page>> endobj 1234 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 624/Type/Page>> endobj 1235 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 625/Type/Page>> endobj 1236 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 626/Type/Page>> endobj 1237 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 627/Type/Page>> endobj 1238 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 628/Type/Page>> endobj 1239 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 629/Type/Page>> endobj 1240 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 630/Type/Page>> endobj 1242 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 631/Type/Page>> endobj 1244 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 632/Type/Page>> endobj 1245 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 633/Type/Page>> endobj 1246 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 634/Type/Page>> endobj 1247 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 635/Type/Page>> endobj 1248 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 636/Type/Page>> endobj 1250 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 637/Type/Page>> endobj 1251 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 638/Type/Page>> endobj 1252 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 639/Type/Page>> endobj 1253 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 640/Type/Page>> endobj 1254 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 641/Type/Page>> endobj 1255 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 642/Type/Page>> endobj 1256 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 643/Type/Page>> endobj 1257 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 644/Type/Page>> endobj 1258 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 645/Type/Page>> endobj 1259 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 646/Type/Page>> endobj 1260 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 647/Type/Page>> endobj 1261 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 648/Type/Page>> endobj 1262 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 649/Type/Page>> endobj 1264 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 650/Type/Page>> endobj 1265 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 651/Type/Page>> endobj 1266 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 652/Type/Page>> endobj 1268 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 653/Type/Page>> endobj 1270 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 654/Type/Page>> endobj 1272 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 655/Type/Page>> endobj 1276 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 656/Type/Page>> endobj 1277 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 657/Type/Page>> endobj 1278 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 658/Type/Page>> endobj 1279 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 659/Type/Page>> endobj 1280 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 660/Type/Page>> endobj 1282 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 661/Type/Page>> endobj 1284 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 662/Type/Page>> endobj 1285 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 663/Type/Page>> endobj 1286 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 664/Type/Page>> endobj 1287 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 665/Type/Page>> endobj 1288 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 666/Type/Page>> endobj 1289 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 667/Type/Page>> endobj 1290 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 668/Type/Page>> endobj 1292 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 669/Type/Page>> endobj 1293 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 670/Type/Page>> endobj 1294 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 671/Type/Page>> endobj 1295 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 672/Type/Page>> endobj 1296 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 673/Type/Page>> endobj 1297 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 674/Type/Page>> endobj 1298 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 675/Type/Page>> endobj 1299 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 676/Type/Page>> endobj 1300 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 677/Type/Page>> endobj 1301 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 678/Type/Page>> endobj 1302 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 679/Type/Page>> endobj 1304 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 680/Type/Page>> endobj 1305 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 681/Type/Page>> endobj 1306 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 682/Type/Page>> endobj 1307 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 683/Type/Page>> endobj 1308 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 684/Type/Page>> endobj 1309 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 685/Type/Page>> endobj 1311 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 686/Type/Page>> endobj 1312 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 687/Type/Page>> endobj 1313 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 688/Type/Page>> endobj 1314 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 689/Type/Page>> endobj 1315 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 690/Type/Page>> endobj 1316 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 691/Type/Page>> endobj 1317 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 692/Type/Page>> endobj 1318 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 693/Type/Page>> endobj 1319 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 694/Type/Page>> endobj 1320 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 695/Type/Page>> endobj 1322 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 696/Type/Page>> endobj 1323 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 697/Type/Page>> endobj 1327 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 698/Type/Page>> endobj 1328 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 699/Type/Page>> endobj 1329 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 700/Type/Page>> endobj 1330 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 701/Type/Page>> endobj 1331 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 702/Type/Page>> endobj 1332 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 703/Type/Page>> endobj 1333 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 704/Type/Page>> endobj 1335 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 705/Type/Page>> endobj 1336 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 706/Type/Page>> endobj 1337 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 707/Type/Page>> endobj 1338 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 708/Type/Page>> endobj 1339 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 709/Type/Page>> endobj 1342 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 710/Type/Page>> endobj 1343 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 711/Type/Page>> endobj 1344 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 712/Type/Page>> endobj 1345 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 713/Type/Page>> endobj 1346 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 714/Type/Page>> endobj 1347 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 715/Type/Page>> endobj 1348 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 716/Type/Page>> endobj 1349 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 717/Type/Page>> endobj 1351 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 718/Type/Page>> endobj 1353 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 719/Type/Page>> endobj 1355 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 720/Type/Page>> endobj 1357 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 721/Type/Page>> endobj 1358 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 722/Type/Page>> endobj 1359 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 723/Type/Page>> endobj 1360 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 724/Type/Page>> endobj 1361 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 725/Type/Page>> endobj 1362 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 726/Type/Page>> endobj 1364 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 727/Type/Page>> endobj 1365 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 728/Type/Page>> endobj 1366 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 729/Type/Page>> endobj 1368 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 730/Type/Page>> endobj 1369 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 731/Type/Page>> endobj 1370 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 732/Type/Page>> endobj 1371 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 733/Type/Page>> endobj 1372 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 734/Type/Page>> endobj 1373 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 735/Type/Page>> endobj 1374 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 736/Type/Page>> endobj 1376 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 737/Type/Page>> endobj 1377 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 738/Type/Page>> endobj 1379 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 739/Type/Page>> endobj 1381 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 740/Type/Page>> endobj 1382 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/Type/Page>> endobj 1386 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 742/Type/Page>> endobj 1387 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 743/Type/Page>> endobj 1388 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 744/Type/Page>> endobj 1389 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 745/Type/Page>> endobj 1390 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 746/Type/Page>> endobj 1391 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 747/Type/Page>> endobj 1392 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 748/Type/Page>> endobj 1394 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 749/Type/Page>> endobj 1395 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 750/Type/Page>> endobj 1396 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 751/Type/Page>> endobj 1397 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 752/Type/Page>> endobj 1399 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 753/Type/Page>> endobj 1400 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 754/Type/Page>> endobj 1401 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 755/Type/Page>> endobj 1403 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 756/Type/Page>> endobj 1404 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 757/Type/Page>> endobj 1405 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 758/Type/Page>> endobj 1406 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 759/Type/Page>> endobj 1408 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 760/Type/Page>> endobj 1409 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 761/Type/Page>> endobj 1410 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 762/Type/Page>> endobj 1411 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 763/Type/Page>> endobj 1412 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 764/Type/Page>> endobj 1413 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 765/Type/Page>> endobj 1414 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 766/Type/Page>> endobj 1416 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 767/Type/Page>> endobj 1418 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 768/Type/Page>> endobj 1419 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 769/Type/Page>> endobj 1423 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 770/Type/Page>> endobj 1425 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 771/Type/Page>> endobj 1426 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 772/Type/Page>> endobj 1428 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 773/Type/Page>> endobj 1429 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 774/Type/Page>> endobj 1430 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 775/Type/Page>> endobj 1431 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 776/Type/Page>> endobj 1433 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 777/Type/Page>> endobj 1434 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 778/Type/Page>> endobj 1436 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 779/Type/Page>> endobj 1439 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 780/Type/Page>> endobj 1440 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 781/Type/Page>> endobj 1441 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 782/Type/Page>> endobj 1442 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 783/Type/Page>> endobj 1443 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 784/Type/Page>> endobj 1444 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 785/Type/Page>> endobj 1445 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 786/Type/Page>> endobj 1446 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 787/Type/Page>> endobj 1447 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 788/Type/Page>> endobj 1448 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 789/Type/Page>> endobj 1449 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 790/Type/Page>> endobj 1450 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 791/Type/Page>> endobj 1451 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 792/Type/Page>> endobj 1452 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 793/Type/Page>> endobj 1453 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 794/Type/Page>> endobj 1454 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 795/Type/Page>> endobj 1455 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 796/Type/Page>> endobj 1456 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 797/Type/Page>> endobj 1457 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 798/Type/Page>> endobj 1458 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 799/Type/Page>> endobj 1459 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 800/Type/Page>> endobj 1460 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 801/Type/Page>> endobj 1461 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 802/Type/Page>> endobj 1462 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 803/Type/Page>> endobj 1463 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 804/Type/Page>> endobj 1464 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 805/Type/Page>> endobj 1465 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 806/Type/Page>> endobj 1466 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 807/Type/Page>> endobj 1468 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 808/Type/Page>> endobj 1469 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 809/Type/Page>> endobj 1470 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 810/Type/Page>> endobj 1471 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 811/Type/Page>> endobj 1472 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 812/Type/Page>> endobj 1474 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 813/Type/Page>> endobj 1475 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 814/Type/Page>> endobj 1476 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/Type/Page>> endobj 1480 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 816/Type/Page>> endobj 1481 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 817/Type/Page>> endobj 1482 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 818/Type/Page>> endobj 1484 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 819/Type/Page>> endobj 1486 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 820/Type/Page>> endobj 1487 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 821/Type/Page>> endobj 1489 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 822/Type/Page>> endobj 1490 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 823/Type/Page>> endobj 1491 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 824/Type/Page>> endobj 1492 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 825/Type/Page>> endobj 1493 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 826/Type/Page>> endobj 1494 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 827/Type/Page>> endobj 1495 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 828/Type/Page>> endobj 1496 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 829/Type/Page>> endobj 1497 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 830/Type/Page>> endobj 1498 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 831/Type/Page>> endobj 1499 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 832/Type/Page>> endobj 1500 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 833/Type/Page>> endobj 1501 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 834/Type/Page>> endobj 1502 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 835/Type/Page>> endobj 1503 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 836/Type/Page>> endobj 1504 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 837/Type/Page>> endobj 1505 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 838/Type/Page>> endobj 1506 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 839/Type/Page>> endobj 1507 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 840/Type/Page>> endobj 1508 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 841/Type/Page>> endobj 1509 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 842/Type/Page>> endobj 1510 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 843/Type/Page>> endobj 1511 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 844/Type/Page>> endobj 1512 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 845/Type/Page>> endobj 1513 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 846/Type/Page>> endobj 1514 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 847/Type/Page>> endobj 1515 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 848/Type/Page>> endobj 1516 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 849/Type/Page>> endobj 1517 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 850/Type/Page>> endobj 1518 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 851/Type/Page>> endobj 1519 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 852/Type/Page>> endobj 1520 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 853/Type/Page>> endobj 1521 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 854/Type/Page>> endobj 1522 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 855/Type/Page>> endobj 1523 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 856/Type/Page>> endobj 1524 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 857/Type/Page>> endobj 1525 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 858/Type/Page>> endobj 1526 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 859/Type/Page>> endobj 1527 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 860/Type/Page>> endobj 1528 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 861/Type/Page>> endobj 1529 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 862/Type/Page>> endobj 1530 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 863/Type/Page>> endobj 1531 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 864/Type/Page>> endobj 1532 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 865/Type/Page>> endobj 1533 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 866/Type/Page>> endobj 1534 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 867/Type/Page>> endobj 1535 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 868/Type/Page>> endobj 1536 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 869/Type/Page>> endobj 1538 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 870/Type/Page>> endobj 1539 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/Type/Page>> endobj 1541 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 872/Type/Page>> endobj 1542 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 873/Type/Page>> endobj 1543 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 874/Type/Page>> endobj 1544 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 875/Type/Page>> endobj 1545 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 876/Type/Page>> endobj 1546 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 877/Type/Page>> endobj 1547 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 878/Type/Page>> endobj 1548 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 879/Type/Page>> endobj 1549 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 880/Type/Page>> endobj 1550 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 881/Type/Page>> endobj 1551 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 882/Type/Page>> endobj 1552 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 883/Type/Page>> endobj 1553 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 884/Type/Page>> endobj 1554 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 885/Type/Page>> endobj 1555 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 886/Type/Page>> endobj 1556 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 887/Type/Page>> endobj 1557 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 888/Type/Page>> endobj 1558 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 889/Type/Page>> endobj 1559 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 890/Type/Page>> endobj 1560 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 891/Type/Page>> endobj 1561 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 892/Type/Page>> endobj 1562 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 893/Type/Page>> endobj 1563 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 894/Type/Page>> endobj 1564 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 895/Type/Page>> endobj 1565 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 896/Type/Page>> endobj 1566 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 897/Type/Page>> endobj 1567 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 898/Type/Page>> endobj 1568 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 899/Type/Page>> endobj 1569 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 900/Type/Page>> endobj 1570 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 901/Type/Page>> endobj 1571 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 902/Type/Page>> endobj 1572 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 903/Type/Page>> endobj 1573 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 904/Type/Page>> endobj 1574 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 905/Type/Page>> endobj 1575 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 906/Type/Page>> endobj 1576 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 907/Type/Page>> endobj 1577 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 908/Type/Page>> endobj 1578 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 909/Type/Page>> endobj 1579 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 910/Type/Page>> endobj 1580 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 911/Type/Page>> endobj 1581 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 912/Type/Page>> endobj 1582 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 913/Type/Page>> endobj 1583 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 914/Type/Page>> endobj 1584 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 915/Type/Page>> endobj 1585 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 916/Type/Page>> endobj 1586 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 917/Type/Page>> endobj 1587 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 918/Type/Page>> endobj 1588 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 919/Type/Page>> endobj 1589 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 920/Type/Page>> endobj 1590 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/Type/Page>> endobj 1593 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 922/Type/Page>> endobj 1594 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 923/Type/Page>> endobj 1595 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 924/Type/Page>> endobj 1597 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 925/Type/Page>> endobj 1598 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 926/Type/Page>> endobj 1599 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 927/Type/Page>> endobj 1600 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 928/Type/Page>> endobj 1601 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 929/Type/Page>> endobj 1602 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 930/Type/Page>> endobj 1603 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 931/Type/Page>> endobj 1605 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 932/Type/Page>> endobj 1606 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 933/Type/Page>> endobj 1607 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 934/Type/Page>> endobj 1608 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 935/Type/Page>> endobj 1609 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 936/Type/Page>> endobj 1610 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 937/Type/Page>> endobj 1611 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 938/Type/Page>> endobj 1612 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 939/Type/Page>> endobj 1613 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 940/Type/Page>> endobj 1614 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 941/Type/Page>> endobj 1615 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 942/Type/Page>> endobj 1616 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 943/Type/Page>> endobj 1617 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 944/Type/Page>> endobj 1618 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 945/Type/Page>> endobj 1619 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 946/Type/Page>> endobj 1620 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 947/Type/Page>> endobj 1621 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 948/Type/Page>> endobj 1622 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 949/Type/Page>> endobj 1623 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 950/Type/Page>> endobj 1624 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 951/Type/Page>> endobj 1625 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 952/Type/Page>> endobj 1626 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 953/Type/Page>> endobj 1627 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 954/Type/Page>> endobj 1628 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 955/Type/Page>> endobj 1629 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 956/Type/Page>> endobj 1630 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 957/Type/Page>> endobj 1631 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 958/Type/Page>> endobj 1632 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 959/Type/Page>> endobj 1633 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 960/Type/Page>> endobj 1634 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 961/Type/Page>> endobj 1635 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 962/Type/Page>> endobj 1636 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 963/Type/Page>> endobj 1637 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 964/Type/Page>> endobj 1638 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 965/Type/Page>> endobj 1639 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 966/Type/Page>> endobj 1640 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 967/Type/Page>> endobj 1641 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 968/Type/Page>> endobj 1642 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 969/Type/Page>> endobj 1643 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 970/Type/Page>> endobj 1644 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 971/Type/Page>> endobj 1645 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 972/Type/Page>> endobj 1646 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/Type/Page>> endobj 1648 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 974/Type/Page>> endobj 1649 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 975/Type/Page>> endobj 1650 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 976/Type/Page>> endobj 1651 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 977/Type/Page>> endobj 1652 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 978/Type/Page>> endobj 1653 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 979/Type/Page>> endobj 1654 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 980/Type/Page>> endobj 1655 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/Type/Page>> endobj 1812 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 982/Type/Page>> endobj 2081 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 983/Type/Page>> endobj 2352 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 984/Type/Page>> endobj 2636 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 985/Type/Page>> endobj 2920 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 986/Type/Page>> endobj 3210 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 987/Type/Page>> endobj 3547 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 988/Type/Page>> endobj 3876 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 989/Type/Page>> endobj 4252 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 990/Type/Page>> endobj 4621 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 991/Type/Page>> endobj 5000 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 992/Type/Page>> endobj 5255 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 993/Type/Page>> endobj 5495 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 994/Type/Page>> endobj 5716 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 995/Type/Page>> endobj 6038 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 996/Type/Page>> endobj 6370 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 997/Type/Page>> endobj 6717 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 998/Type/Page>> endobj 7024 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 999/Type/Page>> endobj 7234 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1000/Type/Page>> endobj 7595 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1001/Type/Page>> endobj 7932 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1002/Type/Page>> endobj 8082 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1003/Type/Page>> endobj 8349 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1004/Type/Page>> endobj 8524 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1005/Type/Page>> endobj 8731 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1006/Type/Page>> endobj 9099 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1007/Type/Page>> endobj 9381 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1008/Type/Page>> endobj 9603 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1009/Type/Page>> endobj 9885 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1010/Type/Page>> endobj 10158 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1011/Type/Page>> endobj 10569 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1012/Type/Page>> endobj 10918 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1013/Type/Page>> endobj 11359 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1014/Type/Page>> endobj 11766 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1015/Type/Page>> endobj 12054 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1016/Type/Page>> endobj 12395 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1017/Type/Page>> endobj 12598 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1018/Type/Page>> endobj 12870 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1019/Type/Page>> endobj 13192 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1020/Type/Page>> endobj 13329 0 obj <>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/StructParents 1021/Type/Page>> endobj 13330 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/XObject<>>>/Rotate 0/Type/Page>> endobj 13331 0 obj <>/Font<>/ProcSet[/PDF/Text/ImageB]/XObject<>>>/Rotate 0/Type/Page>> endobj 13332 0 obj <>/Font<>/ProcSet[/PDF/Text/ImageB]/XObject<>>>/Rotate 0/Type/Page>> endobj 13333 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text/ImageB]/Properties<>/XObject<>>>/Rotate 0/Type/Page>> endobj 13334 0 obj <>/Font<>/ProcSet[/PDF/Text/ImageB]/Properties<>/XObject<>>>/Rotate 0/Type/Page>> endobj 13335 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text/ImageC]/Properties<>/XObject<>>>/Rotate 0/StructParents 1022/TrimBox[0 0 540 720]/Type/Page>> endobj 14004 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14005 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14013 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14014 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14020 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14021 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14033 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14034 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14039 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14040 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14045 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14046 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14051 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14052 0 obj <>/Subtype/Form/Type/XObject>>stream -H**2P0P050Գ0Q03735R(J -WJ*$ L,\ CA@F/Pm{)D((M64635v -Ca -endstream endobj 14053 0 obj <> endobj 14083 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14084 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14092 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14093 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14098 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14099 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14106 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14107 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14112 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14113 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14118 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14119 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14125 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14126 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14132 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14133 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14139 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14140 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14353 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14354 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14362 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14363 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14369 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14370 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14376 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14377 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14382 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14383 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14390 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14391 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14396 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14397 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14403 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14404 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14423 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14424 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14431 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14432 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14438 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14439 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14445 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14446 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14458 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14459 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14469 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14470 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14476 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14477 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14484 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14485 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14490 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14491 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14498 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14499 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14506 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14507 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14513 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14514 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14520 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14521 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14531 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14532 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14537 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14538 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14545 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14546 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14552 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14553 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14559 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14560 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14566 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14567 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14574 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14575 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14738 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14739 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14744 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14745 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14750 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14751 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14758 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14759 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14766 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14767 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14777 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14778 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14783 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14784 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14793 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14794 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14799 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14800 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14807 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14808 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14972 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14973 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14980 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14981 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14986 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14987 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 14993 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 14994 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15000 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15001 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15006 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15007 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15013 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15014 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15020 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15021 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15026 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15027 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15036 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15037 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15042 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15043 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15048 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15049 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15419 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15420 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15430 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15431 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15436 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15437 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15446 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15447 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15452 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15453 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15460 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15461 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15468 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15469 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15474 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15475 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15482 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15483 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15491 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15492 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15498 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15499 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15504 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15505 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15515 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15516 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15522 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15523 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15528 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15529 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15587 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15588 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15596 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15597 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15604 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15605 0 obj <>/Subtype/Form/Type/XObject>>stream -H**2P0P050Գ0Q03735R(J -WJ*$ L,\ CA@F/Pm{)D((M64635v -Ca -endstream endobj 15611 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15612 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15622 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15623 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15628 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15629 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15640 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15641 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15646 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15647 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15656 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15657 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15667 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15668 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15675 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15676 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15682 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15683 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15690 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15691 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15696 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15697 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15702 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15703 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15711 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15712 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15731 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15732 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15740 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15741 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 15747 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 15748 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16020 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16021 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16027 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16028 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16033 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16034 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16040 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16041 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16054 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16055 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16063 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16064 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16070 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16071 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16078 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16079 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16085 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16086 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16095 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16096 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16102 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16103 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16108 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16109 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16117 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16118 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16123 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16124 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16134 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16135 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16142 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16143 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16454 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16455 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16474 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16475 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16481 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16482 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16487 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16488 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16502 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16503 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16511 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16512 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16517 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16518 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16525 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16526 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16535 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16536 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16543 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16544 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16549 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16550 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16556 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16557 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16564 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16565 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16573 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16574 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16580 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16581 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16587 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16588 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16597 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16598 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16605 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16606 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16612 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16613 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16618 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16619 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16627 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16628 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16635 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16636 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16644 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16645 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16655 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16656 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16662 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16663 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16668 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16669 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16680 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16681 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16687 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16688 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16693 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16694 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16704 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16705 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16712 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16713 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16718 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16719 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16725 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16726 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16733 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16734 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16742 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16743 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16750 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16751 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16757 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16758 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16764 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16765 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16773 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16774 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16783 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16784 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16789 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16790 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16797 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16798 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16799 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16800 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16811 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16812 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16818 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16819 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16826 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16827 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16832 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16833 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16841 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16842 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16848 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16849 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16856 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16857 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16864 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16865 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16872 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16873 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16879 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16880 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16885 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16886 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16891 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16892 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16902 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16903 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16909 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16910 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16916 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16917 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16922 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16923 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16929 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16930 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16938 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16939 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16944 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16945 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16951 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16952 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16964 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16965 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16971 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16972 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16983 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16984 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 16989 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 16990 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17305 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17306 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17314 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17315 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17321 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17322 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17329 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17330 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17331 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17332 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17341 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17342 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17348 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17349 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17354 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17355 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17368 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17369 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17375 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17376 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17385 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17386 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17394 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17395 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17402 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17403 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17408 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17409 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17414 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17415 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17421 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17422 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17431 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17432 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17440 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17441 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17448 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17449 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17455 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17456 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17463 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17464 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17471 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17472 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17478 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17479 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17491 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17492 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17499 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17500 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17507 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17508 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17515 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17516 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17527 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17528 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17533 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17534 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17542 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17543 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17548 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17549 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17557 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17558 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17565 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17566 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17572 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17573 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17578 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17579 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17589 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17590 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17598 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17599 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17668 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17669 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17678 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17679 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17735 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17736 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17746 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17747 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17756 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17757 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17759 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17760 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17766 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17767 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17774 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17775 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17780 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17781 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17792 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17793 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17794 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17795 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17801 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17802 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17809 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17810 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17819 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17820 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17822 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17823 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17825 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17826 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17831 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17832 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17841 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17842 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17885 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17886 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17895 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17896 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17901 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17902 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17911 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17912 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17919 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17920 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17927 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17928 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17929 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17930 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17938 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17939 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17946 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17947 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17963 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17964 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17969 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17970 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17976 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17977 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17985 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17986 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17987 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17988 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 17994 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 17995 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18007 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18008 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18013 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18014 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18019 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18020 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18026 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18027 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18035 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18036 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18042 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18043 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18058 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18059 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18064 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18065 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18134 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18135 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18146 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18147 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18153 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18154 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18163 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18164 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18178 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18179 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @ -endstream endobj 18188 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18189 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18198 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18199 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18207 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18208 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18215 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18216 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18221 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18222 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18227 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18228 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18275 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18276 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18283 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18284 0 obj <>/Subtype/Form/Type/XObject>>stream -H**2P0P050Գ0Q03735R(J -WJ*$ L,\ CA@F/Pm{)D((M64635v -Ca -endstream endobj 18291 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18292 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18308 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18309 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18314 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18315 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18321 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18322 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18328 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18329 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18381 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18382 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18383 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18384 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18390 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18391 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18396 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18397 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18403 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18404 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18412 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18413 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18418 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18419 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18437 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18438 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18450 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18451 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18457 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18458 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18465 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18466 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18473 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18474 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18479 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18480 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18499 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18500 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18517 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18519 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18542 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18543 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18552 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18553 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18558 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18559 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18568 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18569 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18584 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18585 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18592 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18593 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18602 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18603 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18612 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18613 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18619 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18620 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18625 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18626 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18632 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18633 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18640 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18641 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18653 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18654 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18663 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18664 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18669 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18670 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18676 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18677 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18691 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18692 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18699 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18700 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18709 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18710 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18715 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18716 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18722 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18723 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18732 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18733 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18738 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18739 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18746 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18747 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18758 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18761 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18780 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18781 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18789 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18790 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18807 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18808 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18815 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18816 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18822 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18823 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18829 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18830 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18837 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18838 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18848 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18849 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18855 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18856 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18866 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18867 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18879 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18880 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18887 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18888 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18893 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18894 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18905 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18906 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18912 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18913 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18918 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18919 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18931 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18933 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18948 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18949 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18964 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18965 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18974 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18975 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18981 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18982 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 18995 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 18996 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19024 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19025 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19035 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19036 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19042 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19043 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19051 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19052 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19059 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19060 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19066 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19067 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19075 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19076 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19077 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19078 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19084 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19085 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19092 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19093 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19103 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19104 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19111 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19112 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19631 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19632 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19638 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19639 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19647 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19648 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19659 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19660 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19665 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19666 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19673 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19674 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 19679 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 19680 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 20083 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 20084 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 20096 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 20097 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 20106 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 20107 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 20112 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 20113 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 20122 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 20123 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 20132 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 20133 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 20531 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 20532 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 20550 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 20551 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 20990 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 20991 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21001 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21002 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21014 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21015 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21021 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21022 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21328 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21329 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21335 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21336 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21337 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21338 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21359 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21360 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21368 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21372 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21391 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21392 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21399 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21400 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21417 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21418 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21424 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21425 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21432 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21433 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21435 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21436 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21964 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21965 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21978 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21979 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21986 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21987 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 21995 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21996 0 obj <>/Subtype/Form/Type/XObject>>stream -H**2P0P050Գ0Q03735R(J -WJ*$ L,\ CA@F/Pm{)D((M64635v -Ca -endstream endobj 21997 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 21998 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 22011 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 22012 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 22021 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 22022 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 22033 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 22034 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 22039 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 22040 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 22058 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 22059 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 22578 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 22579 0 obj <>/Subtype/Form/Type/XObject>>stream -H**2P0P050Գ0Q03735R(J -WJ*$ L,\ CA@F/Pm{)D((M64635v -Ca -endstream endobj 22585 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 22586 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 22595 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 22596 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 22604 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 22605 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 22612 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 22613 0 obj <>/Subtype/Form/Type/XObject>>stream -H**2P0P050Գ0Q03735R(J -WJ*$ L,\ CA@F/Pm{)D((M64635v -Ca -endstream endobj 22614 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 22615 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 22621 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 22622 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 22632 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 22633 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 22643 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 22644 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 22651 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 22652 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 23350 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 23351 0 obj <>/Subtype/Form/Type/XObject>>stream -H**2P0P050Գ0Q03735R(J -WJ*$ L,\ CA@F/Pm{)D((M64635v -Ca -endstream endobj 23363 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 23364 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 23370 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 23371 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 23381 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 23382 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 23387 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 23388 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 23398 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 23399 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 23404 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 23405 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 23411 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 23412 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 23420 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 23421 0 obj <>/Subtype/Form>>stream -H* -0 -endstream endobj 23422 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 23434 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 23435 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24220 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24221 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24240 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24241 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24246 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24247 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24256 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24257 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24268 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24269 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24278 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24279 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24284 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24285 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24291 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24292 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24302 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24303 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24889 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24890 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24899 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24900 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24917 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24918 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24930 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24931 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24932 0 obj <>/ExtGState<>>>/Subtype/Form>>stream -H*w6PH.V0PP(NwrӋL ,L - ,  tBQ*WW @ U -endstream endobj 24933 0 obj <>/ExtGState<>>>/Subtype/Form>>stream -H*w6PH.V0PP(NwrӋ L  LtBQ*WW @! -endstream endobj 24958 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24959 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24964 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24965 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24974 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24975 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24985 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24986 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 24998 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 24999 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 25780 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 25781 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 25791 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 25792 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 25805 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 25806 0 obj <>/Subtype/Form/Type/XObject>>stream -H**2P0P050Գ0Q03735R(J -WJ*$ L,\ CA@F/Pm{)D((M64635v -Ca -endstream endobj 25812 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 25813 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @ -endstream endobj 25818 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 25819 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 25833 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 25834 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 25843 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 25844 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 25853 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 25854 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 25859 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 25860 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 25881 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 25882 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 25888 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 25889 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 25895 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 25896 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 25913 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 25914 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 25925 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 25926 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 25934 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 25935 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 25942 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 25943 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 25948 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 25949 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 26455 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 26456 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 26479 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 26480 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 26491 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 26492 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 26498 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 26499 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 26505 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 26506 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 26921 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 26922 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 26941 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 26942 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 26951 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 26952 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 26960 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 26961 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 26970 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 26971 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 26979 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 26980 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 26988 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 26989 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 27542 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 27543 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 27552 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 27553 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 27574 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 27575 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 27582 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 27583 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 27590 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 27591 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 27603 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 27604 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 27619 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 27620 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 27629 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 27630 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28337 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28338 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28359 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28360 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28372 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28373 0 obj <>/Subtype/Form/Type/XObject>>stream -H**2P0P050Գ0Q03735R(J -WJ*$ L,\ CA@F/Pm{)D((M64635v -Ca -endstream endobj 28378 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28379 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28382 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28383 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28388 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28389 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28394 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28395 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28404 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28405 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28416 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28417 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28430 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28431 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28438 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28439 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28445 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28446 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28460 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28461 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28468 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28469 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28471 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28472 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28479 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28480 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28491 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28492 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28499 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28500 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28527 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28528 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28536 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28537 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28548 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28549 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 28554 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 28555 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29047 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29048 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29064 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29065 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29089 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29090 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29100 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29101 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29107 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29108 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29113 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29114 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29122 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29123 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29132 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29133 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29144 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29145 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29158 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29159 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29170 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29171 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29176 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29177 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29183 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29184 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29197 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29198 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29213 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29214 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29220 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29221 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29232 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29233 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29251 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29252 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29267 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29268 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29278 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29279 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29291 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29292 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29298 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29299 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29305 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29306 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29313 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29314 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 29337 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 29338 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30051 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30052 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30060 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30061 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30073 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30074 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30076 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30077 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30088 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30089 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30096 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30097 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30105 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30106 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30120 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30121 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30134 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30135 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30147 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30148 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30163 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30164 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30180 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30181 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30190 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30191 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30196 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30197 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30202 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30203 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30209 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30210 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30211 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30212 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30213 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30214 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30236 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30237 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30248 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30249 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30257 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30258 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30272 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30273 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30282 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30283 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30296 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30297 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30984 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30985 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 30994 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 30995 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31008 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31009 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31018 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31019 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31024 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31025 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31036 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31037 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31045 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31046 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31054 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31055 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31073 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31074 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31083 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31084 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31093 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31094 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31103 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31104 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31114 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31115 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31770 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31771 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31782 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31783 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31789 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31790 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31806 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31807 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31814 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31815 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31820 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31821 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31831 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31832 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31839 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31840 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31847 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31848 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 31859 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 31860 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 32504 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 32505 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 32514 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 32515 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 32522 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 32523 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 32533 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 32534 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 32541 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 32542 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 32549 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 32550 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 32555 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 32556 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 32563 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 32564 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 32570 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 32571 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 32580 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 32581 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 32586 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 32587 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 33032 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 33033 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 33045 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 33046 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 33055 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 33056 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 33070 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 33071 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 33078 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 33079 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 33085 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 33086 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 33094 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 33095 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 33106 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 33107 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 33589 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 33590 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 33597 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 33598 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 33613 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 33614 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 33619 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 33620 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 33634 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 33635 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 33645 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 33646 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 33655 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 33656 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 33661 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 33662 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 34178 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 34179 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 34185 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 34186 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 34193 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 34194 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 34207 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 34208 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 34215 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 34216 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 34235 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 34236 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 34246 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 34247 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 34256 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 34257 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 34264 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 34265 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 34274 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 34275 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 35033 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 35034 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 35044 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 35045 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 35055 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 35056 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 35065 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 35066 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 35075 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 35076 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 35085 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 35086 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 35093 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 35094 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 35838 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 35839 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 35850 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 35851 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 35863 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 35864 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 35888 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 35889 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 35895 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 35896 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 35903 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 35904 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 35910 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 35911 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 35917 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 35918 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 35923 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 35924 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 36676 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 36677 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 36705 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 36706 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 36715 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 36716 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 36725 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 36726 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 36736 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 36737 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 36744 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 36745 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 36755 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 36756 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 36769 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 36770 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 36781 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 36782 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 36798 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 36799 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 36806 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 36807 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 36815 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 36816 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 36821 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 36822 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 36830 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 36831 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 36836 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 36837 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37436 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37437 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37445 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37446 0 obj <>/Subtype/Form/Type/XObject>>stream -H**2P0P050Գ0Q03735R(J -WJ*$ L,\ CA@F/Pm{)D((M64635v -Ca -endstream endobj 37464 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37465 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37483 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37484 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37490 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37491 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37512 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37513 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37528 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37529 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37537 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37538 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37547 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37548 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37554 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37555 0 obj <>/Subtype/Form/Type/XObject>>stream -H**2P0P050Գ0Q03735R(J -WJ*$ L,\ CA@F/Pm{)D((M64635v -Ca -endstream endobj 37566 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37567 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37589 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37590 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37595 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37596 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37601 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37602 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37624 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37625 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37627 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37628 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37632 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37633 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37675 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37676 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37688 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37689 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37701 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37702 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37711 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37712 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37730 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37731 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37756 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37757 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37758 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37759 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37781 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37782 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37788 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37789 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37804 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37805 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37810 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37811 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37822 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37823 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37831 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37832 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37834 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37835 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37843 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37844 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37860 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37861 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37869 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37870 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37889 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37890 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37900 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37901 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37912 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37913 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37921 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37922 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37930 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37931 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37944 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37945 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37953 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37954 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37960 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37961 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37967 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37968 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37972 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37973 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37974 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37975 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37985 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37986 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 37996 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 37997 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38006 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38007 0 obj <>/Subtype/Form/Type/XObject>>stream -H**2P0P050Գ0Q03735R(J -WJ*$ L,\ CA@F/Pm{)D((M64635v -Ca -endstream endobj 38012 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38013 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38021 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38022 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38028 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38029 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38037 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38038 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38046 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38047 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38077 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38078 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38083 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38084 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38102 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38103 0 obj <>/Subtype/Form/Type/XObject>>stream -H**2P0P050Գ0Q03735R(J -WJ*$ L,\ CA@F/Pm{)D((M64635v -Ca -endstream endobj 38108 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38109 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38118 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38119 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38129 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38130 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38144 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38145 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38168 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38169 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38190 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38191 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38219 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38220 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38241 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38242 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38252 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38253 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38259 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38260 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38267 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38268 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38295 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38296 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38305 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38306 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38315 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38316 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38329 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38330 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38336 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38337 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38358 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38359 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38364 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38365 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38370 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38371 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38373 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38374 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38380 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38381 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38388 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38389 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38404 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38405 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38900 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38901 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38911 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38912 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38918 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38919 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38938 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38939 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38946 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38947 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38964 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38965 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38966 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38967 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38978 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38979 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 38992 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 38993 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 39481 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 39482 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 39496 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 39497 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 39503 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 39504 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 39517 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 39518 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 39539 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 39540 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 39560 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 39561 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 39570 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 39571 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 39574 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 39575 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 40072 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 40073 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 40082 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 40083 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 40103 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 40104 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 40119 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 40120 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 40127 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 40128 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 40139 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 40140 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 40147 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 40148 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 40673 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 40674 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 40692 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 40693 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 40701 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 40702 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 40707 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 40708 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 40718 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 40719 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 40733 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 40734 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 40738 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 40739 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 40750 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 40751 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41045 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41046 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41070 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41071 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41081 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41082 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41092 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41093 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41108 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41109 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41114 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41115 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41136 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41137 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41154 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41155 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41176 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41177 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41209 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41210 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41218 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41219 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41224 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41225 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41230 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41231 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41233 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41234 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41247 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41248 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41255 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41256 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41270 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41271 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41296 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41297 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41307 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41308 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41318 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41319 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41326 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41327 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41332 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41333 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41351 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41352 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41376 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41377 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41392 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41393 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41401 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41402 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41445 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41446 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41457 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41458 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41487 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41488 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41500 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41501 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41516 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41517 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41524 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41525 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41537 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41538 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41544 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41545 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41551 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41552 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41584 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41585 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41596 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41597 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41612 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41613 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41627 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41628 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41633 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41634 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41643 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41644 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41671 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41672 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41680 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41681 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41696 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41697 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41705 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41706 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41715 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41716 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41722 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41723 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41730 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41731 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41755 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41756 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41761 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41762 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41767 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41768 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41773 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41774 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41781 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41782 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41801 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41802 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41808 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41809 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41816 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41817 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41830 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41831 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41845 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41846 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41852 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41853 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41873 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41874 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41896 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41897 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41912 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41913 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41918 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41919 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41928 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41929 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41942 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41943 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41967 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41968 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41984 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41985 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 41992 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 41993 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42012 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42013 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42021 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42022 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42029 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42030 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42036 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42037 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42048 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42049 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42056 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42057 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42058 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42059 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42079 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42080 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42089 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42090 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42105 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42106 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42121 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42122 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42137 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42138 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42148 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42149 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42157 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42158 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42169 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42170 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42180 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42181 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42186 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42187 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42205 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42206 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42211 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42212 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42231 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42232 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42247 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42248 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42264 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42265 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42278 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42279 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42286 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42287 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42298 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42299 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42308 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42309 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42317 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42318 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42333 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42334 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42347 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42348 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42356 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42357 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42369 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42370 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42388 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42389 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42413 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42414 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42421 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42422 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42431 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42432 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42438 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42439 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42449 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42450 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42461 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42462 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42474 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42475 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42481 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42482 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42504 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42505 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42510 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42511 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42525 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42526 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42539 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42540 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42557 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42558 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42579 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42580 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42600 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42601 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42617 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42618 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42628 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42629 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42646 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42647 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42657 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42658 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42667 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42668 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42699 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42700 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42708 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42709 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42718 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42719 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42733 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42734 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42755 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42756 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42787 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42788 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42794 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42795 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42804 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42805 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42816 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42817 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42824 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42825 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42832 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42833 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42840 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42841 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42883 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42884 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42892 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42893 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42903 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42904 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42911 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42912 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42941 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42942 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42944 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42945 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42949 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42950 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42957 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42958 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42960 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42961 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42967 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42968 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 42977 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 42978 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43017 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43018 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43025 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43026 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43037 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43038 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43045 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43046 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43055 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43056 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43066 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43067 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43073 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43074 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43082 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43083 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43102 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43103 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43116 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43117 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43128 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43129 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43138 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43139 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43151 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43152 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43158 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43159 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43195 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43196 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43203 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43204 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43212 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43213 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43218 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43219 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43226 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43227 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43245 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43246 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43253 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43254 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43273 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43274 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43279 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43280 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43291 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43292 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43300 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43301 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43309 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43310 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43317 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43318 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43332 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43333 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43340 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43341 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43358 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43359 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43382 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43383 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43397 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43398 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43407 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43408 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43413 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43414 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43418 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43419 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43427 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43428 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43432 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43433 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43445 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43446 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43473 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43474 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43484 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43485 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43493 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43494 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43500 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43501 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43507 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43508 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43541 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43542 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43559 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43560 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43568 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43569 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43576 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43577 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43597 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43598 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43626 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43627 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43641 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43642 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43650 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43651 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43658 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43659 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43669 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43670 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43676 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43677 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43691 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43692 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43712 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43713 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43728 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43729 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43738 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43739 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43747 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43748 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43761 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43762 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43771 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43772 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43786 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43787 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43796 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43797 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43803 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43804 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43819 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43820 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43828 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43829 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43850 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43851 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43871 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43872 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43896 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43897 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43906 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43907 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43920 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43921 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43927 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43928 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43935 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43936 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43943 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43944 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43955 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43956 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43977 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43978 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43986 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43987 0 obj <>/Subtype/Form/Type/XObject>>stream -H**2P0P050Գ0Q03735R(J -WJ*$ L,\ CA@F/Pm{)D((M64635v -Ca -endstream endobj 43992 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 43993 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 43999 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44000 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44010 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44011 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44023 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44024 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44030 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44031 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44053 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44054 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44065 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44066 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44073 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44074 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44082 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44083 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44101 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44102 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44126 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44127 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44136 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44137 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44145 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44146 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44156 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44157 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44171 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44172 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44194 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44195 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44201 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44202 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44209 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44210 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44218 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44219 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44228 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44229 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44241 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44242 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44268 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44269 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44274 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44275 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44282 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44283 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44295 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44296 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44309 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44310 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44315 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44316 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44321 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44322 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44339 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44340 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44353 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44354 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44366 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44367 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44374 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44375 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44384 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44385 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44395 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44396 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44408 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44409 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44431 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44432 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44441 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44442 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44451 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44452 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44459 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44460 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44467 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44468 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44475 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44476 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44481 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44482 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44492 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44493 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44522 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44523 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44528 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44529 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44539 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44540 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44547 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44548 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44562 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44563 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44578 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44579 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44598 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44599 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44605 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44606 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44611 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44612 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44617 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44618 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44637 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44638 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44644 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44645 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44664 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44665 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44668 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44669 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44686 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44687 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44722 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44723 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44731 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44732 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44740 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44741 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44744 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44745 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44755 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44756 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44764 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44765 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44774 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44775 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44782 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44783 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44802 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44803 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44812 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44813 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44819 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44820 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44826 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44827 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44828 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44829 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44839 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44840 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44851 0 obj <>/ProcSet[/PDF/Text]>>/Subtype/Form/Type/XObject>>stream -H*r -2Pt.xK4XHBH -FAIfHkW @I -endstream endobj 44852 0 obj <>/Subtype/Form/Type/XObject>>stream -H* -0 -endstream endobj 44859 0 obj <>stream - - - - - http://www.codemantra.com - The process that creates this PDF constitutes a trade secret of codeMantra, LLC and is protected by the copyright laws of the United States - - - 2013-09-01T17:46:17+08:00 - 2013-05-09T16:42:06 - 2013-09-01T17:46:17+08:00 - Quite Imposing 1.5d (EN) - - - uuid:69ad153e-9415-42af-89e9-e564eb821cb6 - uuid:5abb7bcc-6cd5-46b1-a8a5-05a94ae40262 - - - application/pdf - - - Advanced Programming in the UNIX® Environment - - - - - W. Richard Stevens - Stephen A. Rago - - - - - - - - - - - - - PDFKit.NET 4.0.12.0 - - 1.6 - - - - - - - - - - - - - - - - - - - - - - - - - -endstream endobj 46744 0 obj <>/Font<>>>/Fields[]>> endobj 46745 0 obj <>stream -q -/Fm0 Do -Q -q -0 0 540 425.25 re -W n -/Figure <>BDC -Q -q -0 419.25 540 300.75 re -W n -q -/GS0 gs -540.0000153 0 0 302.7561951 0 418.2853241 cm -/Im0 Do -Q -EMC -/Span <>BDC -Q -q -0 0 540 720 re -W n -BT -0 0 0 0 k -/GS0 gs -/T1_0 1 Tf -22 0 0 22 257.75 384 Tm -[(Y)92(ou love our titles)]TJ -ET -EMC -BT -/Span <>BDC -0 0 0 1 k -/GS1 gs -/T1_1 1 Tf -12 0 0 12 425.6343 384 Tm -( )Tj -EMC -/Span <>BDC -10 0 0 10 428.9703 384 Tm -(and you love to )Tj -EMC -/Span <>BDC --17.122 -1.4 Td -(share them with your colleagues and friends...why )Tj -EMC -/Span <>BDC -0 -1.4 TD -(not earn some $$ doing it!)Tj -EMC -/Span <>BDC -0 -1.976 TD -(If you have a website, blog, or even a Facebook )Tj -EMC -/Span <>BDC -0 -1.4 TD -(page, you can start earning money by putting )Tj -EMC -/Span <>BDC -( )Tj -EMC -/Span <>BDC -T* -(InformIT links on your page. )Tj -EMC -/Span <>BDC -0 -1.976 TD -(Whenever a visitor clicks on these links and makes )Tj -EMC -/Span <>BDC -0 -1.4 TD -(a purchase on informit.com, you earn commissions* )Tj -EMC -/Span <>BDC -T* -(on all sales!)Tj -EMC -/Span <>BDC -0 -1.976 TD -(Every sale you bring to our site will earn you a )Tj -EMC -/Span <>BDC -( )Tj -EMC -/Span <>BDC -0 -1.4 TD -(commission. All you have to do is post the links to )Tj -EMC -/Span <>BDC -T* -(the titles you want, as many as you want, and we\222ll )Tj -EMC -/Span <>BDC -0 -1.44 TD -(take care of the rest.)Tj -EMC -/Span <>BDC -12 0 0 12 257.75 183.92 Tm -( )Tj -EMC -ET -/Span <>BDC -BT -0 0 0 0 k -/GS0 gs -/T1_0 1 Tf -21 0 0 21 257.75 158.72 Tm -(APPL)Tj -/Span <>BDC -2 0 Td -(Y)Tj -EMC -( )Tj -/Span <>BDC -(A)Tj -EMC -(ND GET ST)Tj -/Span <>BDC -6.1 0 Td -(A)Tj -EMC -[(R)-6(TED!)]TJ -ET -EMC -BT -/Span <>BDC -0 0 0 1 k -/GS1 gs -/T1_1 1 Tf -12 0 0 12 257.75 136.96 Tm -[(It\222)55(s quick and easy to apply)74(. )]TJ -EMC -/Span <>BDC -( )Tj -EMC -/Span <>BDC -0 -1.333 TD -[(T)74(o learn more go to: )]TJ -EMC -/Span <>BDC -( )Tj -EMC -/Span <>BDC -/T1_2 1 Tf -0 -1.333 TD -[(http://www)55(.informit.com/af\037liates/)]TJ -EMC -/Span <>BDC -/T1_1 1 Tf -6 0 0 6 257.75 88.96 Tm -[(*V)49(alid for all books, eBooks and video sales at www)55(.informit.com)]TJ -EMC -ET -/Figure <>BDC -Q -q -31.5 419.25 508.5 300.75 re -W n -q -/GS0 gs -509.4699707 0 0 302.7561951 31.5 418.2853241 cm -/Im1 Do -Q -EMC -/Span <>BDC -Q -q -0 0 540 720 re -W n -BT -0 0 0 0 k -/GS0 gs -/T1_0 1 Tf -31 0 0 31 36 540.75 Tm -(JOIN THE )Tj -ET -EMC -BT -/Span <>BDC -/T1_0 1 Tf -28 0 0 28 165.1753 540.75 Tm -( )Tj -EMC -/Span <>BDC -/T1_3 1 Tf -47 0 0 47 36 494.75 Tm -(INFORM)Tj -EMC -ET -/Span <>BDC -BT -/Span <>BDC -0.15 1 1 0 k -/T1_3 1 Tf -47 0 0 47 229.3106 494.75 Tm -(I)Tj -EMC -(T)Tj -ET -EMC -BT -/Span <>BDC -0 0.17 0.62 0 k -/T1_3 1 Tf -28 0 0 28 271.1406 494.75 Tm -( )Tj -EMC -/Span <>BDC -( )Tj -EMC -ET -/Span <>BDC -BT -0 0 0 0 k -/T1_0 1 Tf -31 0 0 31 36 457.55 Tm -(AFFILI)Tj -/Span <>BDC -(A)Tj -EMC -3.042 0 Td -(TE )Tj -/Span <>BDC -(T)Tj -EMC -(E)Tj -/Span <>BDC -(A)Tj -EMC -(M!)Tj -ET -EMC -/Figure <>BDC -/PlacedGraphic /MC0 BDC -Q -0 0 0 0 k -/GS0 gs -373.274 61.609 7.584 -24.97 re -373.274 67.063 7.584 -3.835 re -f -q -373.274 36 130.726 31.064 re -W n -q -1 0 0 1 383.2012 61.6094 cm -0 0 m -7.585 0 l -7.585 -1.918 l -7.67 -1.918 l -8.267 -0.682 9.971 0.639 12.272 0.639 c -15.468 0.639 17.428 -1.449 17.428 -6.008 c -17.428 -24.97 l -9.843 -24.97 l -9.843 -6.264 l -9.843 -5.497 9.63 -4.474 8.65 -4.474 c -7.627 -4.474 7.585 -5.539 7.585 -6.307 c -7.585 -24.97 l -0 -24.97 l -h -f -Q -q -1 0 0 1 402.2482 61.6094 cm -0 0 m -1.576 0 l -1.747 4.432 3.196 5.454 7.883 5.454 c -11.249 5.454 l -11.249 1.619 l -10.098 1.619 l -8.863 1.619 7.883 1.364 7.712 0 c -11.42 0 l -11.42 -4.091 l -9.161 -4.091 l -9.161 -24.97 l -1.576 -24.97 l -1.576 -4.091 l -0 -4.091 l -h -f -Q -q -1 0 0 1 422.403 42.7752 cm -0 0 m -0 -0.852 0.426 -1.662 1.364 -1.662 c -2.301 -1.662 2.727 -0.852 2.727 0 c -2.727 13.209 l -2.727 14.061 2.301 14.871 1.364 14.871 c -0.426 14.871 0 14.061 0 13.209 c -h --7.585 11.207 m --7.585 17.683 -2.812 19.473 1.364 19.473 c -5.539 19.473 10.312 17.683 10.312 11.207 c -10.312 1.492 l -10.312 -4.985 5.539 -6.775 1.364 -6.775 c --2.812 -6.775 -7.585 -4.985 -7.585 1.492 c -h -f -Q -q -1 0 0 1 434.8018 61.6094 cm -0 0 m -7.329 0 l -7.329 -3.196 l -7.414 -3.196 l -8.139 -0.81 10.397 0.469 12.101 0.639 c -12.101 -8.437 l -11.675 -8.395 11.249 -8.352 10.823 -8.352 c -8.778 -8.352 7.585 -9.673 7.585 -11.633 c -7.585 -24.97 l -0 -24.97 l -h -f -Q -q -1 0 0 1 448.5647 61.6094 cm -0 0 m -7.585 0 l -7.585 -1.918 l -7.67 -1.918 l -8.011 -1.108 8.778 -0.469 9.63 -0.043 c -10.482 0.426 11.462 0.639 12.272 0.639 c -14.659 0.639 16.107 -0.938 16.788 -2.216 c -18.11 -0.725 19.644 0.639 21.774 0.639 c -24.97 0.639 26.93 -1.449 26.93 -6.008 c -26.93 -24.97 l -19.345 -24.97 l -19.345 -6.264 l -19.345 -5.497 19.132 -4.474 18.153 -4.474 c -17.172 -4.474 17.129 -5.539 17.129 -6.307 c -17.129 -24.97 l -9.801 -24.97 l -9.801 -6.264 l -9.801 -5.497 9.587 -4.474 8.65 -4.474 c -7.627 -4.474 7.585 -5.539 7.585 -6.307 c -7.585 -24.97 l -0 -24.97 l -h -f -Q -0 1 1 0 k -477.539 67.063 7.84 -30.424 re -f -q -1 0 0 1 491.5148 60.9276 cm -0 0 m --4.644 0 l --4.644 6.136 l -12.485 6.136 l -12.485 0 l -7.84 0 l -7.84 -24.288 l -0 -24.288 l -h -f -Q -EMC -EMC -/Figure <>BDC -/PlacedGraphic BMC -Q -q -139.91 36 50.333 17.572 re -W n -q -1 0 0 1 149.0037 46.0223 cm -0 g -0 0 m --0.54 0.518 -1.28 0.864 -2.109 0.864 c --2.732 0.864 -3.618 0.501 -3.734 -0.225 c --3.854 -0.985 -2.985 -1.279 -2.427 -1.469 c --1.604 -1.728 l -0.125 -2.264 1.38 -3.18 1.045 -5.288 c -0.84 -6.584 0.318 -7.914 -0.859 -8.795 c --2.015 -9.659 -3.438 -10.022 -4.751 -10.022 c --6.393 -10.022 -7.912 -9.469 -9.095 -8.536 c --7.21 -5.806 l --6.481 -6.549 -5.575 -7.154 -4.417 -7.154 c --3.622 -7.154 -2.713 -6.756 -2.567 -5.841 c --2.417 -4.89 -3.695 -4.562 -4.388 -4.355 c --6.418 -3.75 -7.73 -3.197 -7.33 -0.674 c --6.911 1.97 -4.753 3.698 -2.144 3.698 c --0.831 3.698 0.71 3.283 1.764 2.627 c -h -f -Q -q -1 0 0 1 166.3052 49.3746 cm -0 g -0 0 m -3.335 0 l -4.875 -6.964 l -8.778 0 l -12.148 0 l -12.052 -13.029 l -8.666 -13.029 l -8.904 -5.53 l -8.87 -5.53 l -4.553 -13.029 l -3.205 -13.029 l -1.404 -5.53 l -1.37 -5.53 l --0.908 -13.029 l --4.277 -13.029 l -h -f -Q -q -1 0 0 1 188.478 46.0223 cm -0 g -0 0 m --0.54 0.518 -1.28 0.864 -2.109 0.864 c --2.732 0.864 -3.618 0.501 -3.734 -0.225 c --3.854 -0.985 -2.985 -1.279 -2.427 -1.469 c --1.604 -1.728 l -0.125 -2.264 1.379 -3.18 1.045 -5.288 c -0.84 -6.584 0.318 -7.914 -0.859 -8.795 c --2.015 -9.659 -3.438 -10.022 -4.751 -10.022 c --6.393 -10.022 -7.912 -9.469 -9.095 -8.536 c --7.21 -5.806 l --6.481 -6.549 -5.575 -7.154 -4.417 -7.154 c --3.622 -7.154 -2.713 -6.756 -2.567 -5.841 c --2.417 -4.89 -3.695 -4.562 -4.388 -4.355 c --6.418 -3.75 -7.73 -3.197 -7.33 -0.674 c --6.911 1.97 -4.753 3.698 -2.144 3.698 c --0.831 3.698 0.711 3.283 1.764 2.627 c -h -f -Q -q -1 0 0 1 153.1497 36.5224 cm -0 g -0 0 m --4.766 0 l -8.4 17.049 l -8.4 0 l -4.594 0 l -4.603 6.643 l -h -f -Q -EMC -EMC -/Figure <>BDC -/PlacedGraphic /MC1 BDC -Q -q -83 36 41.724 36.32 re -W n -q -1 0 0 1 83.6872 45.4468 cm -0 0.91 0.76 0 k -0 0 m -0 -1.436 l -2.361 -1.436 l -2.664 -1.436 2.808 -1.356 2.808 -1.005 c -2.808 -0.432 l -2.808 -0.089 2.673 0 2.361 0 c -h --0.687 0.536 m -2.633 0.536 l -3.231 0.536 3.503 0.312 3.503 -0.263 c -3.503 -1.181 l -3.503 -1.755 3.231 -1.979 2.633 -1.979 c -0 -1.979 l -0 -3.584 l --0.687 -3.584 l --0.687 0.536 l -f -Q -q -1 0 0 1 89.5597 45.4468 cm -0 0.91 0.76 0 k -0 0 m -0 -1.444 l -2.361 -1.444 l -2.664 -1.444 2.809 -1.372 2.809 -1.021 c -2.809 -0.422 l -2.809 -0.079 2.664 0 2.361 0 c -h --0.686 0.536 m -2.633 0.536 l -3.231 0.536 3.503 0.312 3.503 -0.263 c -3.503 -1.181 l -3.503 -1.755 3.231 -1.979 2.633 -1.979 c -2.025 -1.979 l -3.909 -3.584 l -2.888 -3.584 l -1.213 -1.979 l -0 -1.979 l -0 -3.584 l --0.686 -3.584 l --0.686 0.536 l -f -Q -q -1 0 0 1 94.9528 45.9826 cm -0 0.91 0.76 0 k -0 0 m -3.966 0 l -3.966 -0.551 l -0.686 -0.551 l -0.686 -1.7 l -2.689 -1.7 l -2.689 -2.243 l -0.686 -2.243 l -0.686 -3.551 l -3.998 -3.551 l -3.998 -4.119 l -0 -4.119 l -h -f -Q -q -1 0 0 1 100.5861 45.9826 cm -0 0.91 0.76 0 k -0 0 m -0.432 0 l -3.512 -2.753 l -3.655 -2.88 3.814 -3.057 3.98 -3.272 c -3.916 -2.891 3.916 -2.555 3.916 -2.26 c -3.916 0 l -4.55 0 l -4.55 -4.119 l -4.164 -4.119 l -0.997 -1.254 l -0.877 -1.142 0.718 -1.022 0.582 -0.79 c -0.621 -1.094 0.631 -1.389 0.631 -1.693 c -0.631 -4.119 l -0 -4.119 l -0 0 l -f -Q -q -1 0 0 1 108.8675 41.8633 cm -0 0.91 0.76 0 k -0 0 m --0.685 0 l --0.685 3.559 l --2.568 3.559 l --2.568 4.119 l -1.892 4.119 l -1.892 3.559 l -0 3.559 l -h -f -Q -0 0.91 0.76 0 k -111.917 41.863 0.686 4.119 re -f -q -1 0 0 1 115.3708 45.4227 cm -0 0 m -0 -2.984 l -2.857 -2.984 l -2.857 -1.955 l -3.544 -2.097 l -3.544 -2.586 l -3.544 -3.35 3.327 -3.559 2.586 -3.559 c -0.279 -3.559 l --0.463 -3.559 -0.686 -3.342 -0.686 -2.586 c --0.686 -0.415 l --0.686 0.345 -0.463 0.56 0.279 0.56 c -2.586 0.56 l -3.327 0.56 3.544 0.351 3.544 -0.415 c -3.544 -0.805 l -2.857 -0.932 l -2.857 0 l -0 0 l -f -Q -q -1 0 0 1 120.7253 45.9826 cm -0 0 m -3.966 0 l -3.966 -0.551 l -0.686 -0.551 l -0.686 -1.7 l -2.689 -1.7 l -2.689 -2.243 l -0.686 -2.243 l -0.686 -3.551 l -3.998 -3.551 l -3.998 -4.119 l -0 -4.119 l -h -f -Q -q -1 0 0 1 93.0741 40.1174 cm -0 0 0 1 k -0 0 m -0.687 0 l -0.687 -1.683 l -3.934 -1.683 l -3.934 0 l -4.621 0 l -4.621 -4.117 l -3.934 -4.117 l -3.934 -2.249 l -0.687 -2.249 l -0.687 -4.117 l -0 -4.117 l -h -f -Q -q -1 0 0 1 102.7388 37.5409 cm -0 0 0 1 k -0 0 m --1.111 2.105 l --2.22 0 l -h --1.461 2.577 m --0.728 2.577 l -1.562 -1.54 l -0.803 -1.54 l -0.277 -0.528 l --2.507 -0.528 l --3.033 -1.54 l --3.712 -1.54 l -h -f -Q -q -1 0 0 1 105.6327 40.1174 cm -0 0 0 1 k -0 0 m -0.687 0 l -0.687 -3.542 l -3.806 -3.542 l -3.806 -4.117 l -0 -4.117 l -h -f -Q -q -1 0 0 1 110.8446 40.1174 cm -0 0 0 1 k -0 0 m -0.685 0 l -0.685 -3.542 l -3.806 -3.542 l -3.806 -4.117 l -0 -4.117 l -h -f -Q -q -1 0 0 1 101.6141 68.4607 cm -0 0 m -0.039 0.201 0.062 0.407 0.062 0.619 c -0.062 2.407 -1.39 3.86 -3.179 3.86 c --4.971 3.86 -6.421 2.407 -6.421 0.619 c --6.421 -1.171 -4.971 -2.624 -3.179 -2.624 c --2.538 -2.624 -1.946 -2.432 -1.442 -2.111 c --1.27 -1.222 -0.738 -0.468 0 0 c -f -Q -q -1 0 0 1 108.2584 72.3134 cm -0 0 m --1.789 0 -3.241 -1.453 -3.241 -3.244 c --3.241 -3.446 -3.218 -3.642 -3.181 -3.833 c --2.448 -4.309 -1.921 -5.07 -1.756 -5.963 c --1.249 -6.29 -0.649 -6.484 0 -6.484 c -1.793 -6.484 3.242 -5.034 3.242 -3.244 c -3.242 -1.453 1.793 0 0 0 c -f -Q -q -1 0 0 1 108.2891 64.7917 cm -0 0 m --0.989 0 -1.864 -0.453 -2.459 -1.152 c --2.484 -1.152 l --3.079 -1.872 -3.965 -2.34 -4.973 -2.34 c --5.99 -2.34 -6.888 -1.86 -7.482 -1.128 c --8.077 -0.457 -8.928 -0.024 -9.895 -0.024 c --11.684 -0.024 -13.135 -1.476 -13.135 -3.265 c --13.135 -5.058 -11.684 -6.507 -9.895 -6.507 c --8.979 -6.507 -8.168 -6.117 -7.577 -5.507 c --6.991 -4.679 -6.03 -4.134 -4.936 -4.134 c --3.841 -4.134 -2.879 -4.681 -2.291 -5.512 c --1.706 -6.106 -0.902 -6.485 0 -6.485 c -1.788 -6.485 3.24 -5.035 3.24 -3.244 c -3.24 -1.455 1.788 0 0 0 c -f -Q -q -1 0 0 1 108.2173 57.199 cm -0 0 0 1 k -0 0 m --0.641 0 -1.235 -0.192 -1.736 -0.514 c --1.909 -1.403 -2.443 -2.157 -3.178 -2.627 c --3.219 -2.828 -3.24 -3.032 -3.24 -3.244 c --3.24 -5.032 -1.789 -6.486 0 -6.486 c -1.791 -6.486 3.24 -5.032 3.24 -3.244 c -3.24 -1.453 1.791 0 0 0 c -f -Q -q -1 0 0 1 100.1486 56.681 cm -0 0 m --0.508 0.328 -1.108 0.525 -1.756 0.525 c --3.546 0.525 -4.998 -0.927 -4.998 -2.718 c --4.998 -4.506 -3.546 -5.959 -1.756 -5.959 c -0.033 -5.959 1.485 -4.506 1.485 -2.718 c -1.485 -2.514 1.461 -2.318 1.424 -2.125 c -0.693 -1.649 0.164 -0.889 0 0 c -f -Q -EMC -EMC -/Figure <>BDC -/PlacedGraphic BMC -Q -q -1 0 0 1 51.4209 70.879 cm -0 0.91 0.761 0 k -0 0 m -3.445 -5.424 l --3.444 -5.424 l -h -f -Q -q -1 0 0 1 47.1519 59.1036 cm -0 0.91 0.761 0 k -0 0 m -3.421 5.436 l --3.467 5.412 l -h -f -Q -q -1 0 0 1 55.4956 59.0196 cm -0 0.91 0.761 0 k -0 0 m -3.422 5.436 l --3.468 5.412 l -h -f -Q -q -36 36 31.298 34.879 re -W n -q -1 0 0 1 37.9546 50.6231 cm -0 0 0 1 k -0 0 m -1.086 2.501 l -2.122 0 l -h -2.629 -1.229 m -2.751 -1.515 2.812 -1.724 2.812 -1.857 c -2.812 -1.956 2.769 -2.04 2.682 -2.109 c -2.595 -2.179 2.428 -2.219 2.182 -2.231 c -2.182 -2.404 l -4.641 -2.404 l -4.641 -2.231 l -4.388 -2.216 4.191 -2.147 4.049 -2.025 c -3.908 -1.902 3.75 -1.634 3.577 -1.222 c -1.441 3.918 l -1.265 3.918 l --0.937 -1.162 l --1.125 -1.61 -1.297 -1.907 -1.452 -2.053 c --1.528 -2.126 -1.696 -2.186 -1.955 -2.231 c --1.955 -2.404 l --0.005 -2.404 l --0.005 -2.231 l --0.304 -2.21 -0.498 -2.164 -0.587 -2.093 c --0.677 -2.021 -0.722 -1.939 -0.722 -1.845 c --0.722 -1.727 -0.67 -1.548 -0.567 -1.309 c --0.144 -0.332 l -2.259 -0.332 l -2.629 -1.229 l -f -Q -q -1 0 0 1 44.8447 48.6041 cm -0 0 0 1 k -0 0 m --0.327 0 -0.623 0.162 -0.889 0.487 c --1.155 0.812 -1.288 1.28 -1.288 1.89 c --1.288 2.495 -1.15 2.954 -0.875 3.268 c --0.667 3.506 -0.43 3.626 -0.164 3.626 c --0.021 3.626 0.125 3.583 0.274 3.497 c -0.423 3.411 0.543 3.283 0.634 3.114 c -0.725 2.944 0.779 2.755 0.798 2.545 c -0.798 0.419 l -0.541 0.14 0.275 0 0 0 c -0.798 -0.504 m -1.009 -0.504 l -2.259 0 l -2.208 0.16 l -2.07 0.107 1.959 0.082 1.877 0.082 c -1.809 0.082 1.75 0.103 1.7 0.146 c -1.649 0.189 1.612 0.264 1.589 0.373 c -1.566 0.481 1.555 0.782 1.555 1.275 c -1.555 6.109 l -1.348 6.109 l -0.094 5.605 l -0.153 5.445 l -0.286 5.494 0.391 5.519 0.471 5.519 c -0.544 5.519 0.606 5.499 0.655 5.459 c -0.704 5.419 0.74 5.345 0.763 5.235 c -0.786 5.126 0.798 4.833 0.798 4.356 c -0.798 3.551 l -0.557 3.795 0.253 3.918 -0.115 3.918 c --0.709 3.918 -1.194 3.67 -1.572 3.174 c --1.949 2.678 -2.138 2.131 -2.138 1.534 c --2.138 0.936 -1.967 0.447 -1.626 0.066 c --1.286 -0.314 -0.887 -0.504 -0.431 -0.504 c --0.205 -0.504 0.005 -0.458 0.2 -0.365 c -0.394 -0.272 0.593 -0.116 0.798 0.102 c -0.798 -0.504 l -f -Q -q -1 0 0 1 49.5195 48.6041 cm -0 0 0 1 k -0 0 m --0.327 0 -0.623 0.162 -0.889 0.487 c --1.154 0.812 -1.287 1.28 -1.287 1.89 c --1.287 2.495 -1.15 2.954 -0.875 3.268 c --0.667 3.506 -0.429 3.626 -0.164 3.626 c --0.022 3.626 0.124 3.583 0.274 3.497 c -0.423 3.411 0.544 3.283 0.634 3.114 c -0.725 2.944 0.78 2.755 0.798 2.545 c -0.798 0.419 l -0.541 0.14 0.275 0 0 0 c -0.798 -0.504 m -1.009 -0.504 l -2.259 0 l -2.208 0.16 l -2.07 0.107 1.96 0.082 1.877 0.082 c -1.809 0.082 1.75 0.103 1.7 0.146 c -1.649 0.189 1.612 0.264 1.589 0.373 c -1.566 0.481 1.555 0.782 1.555 1.275 c -1.555 6.109 l -1.348 6.109 l -0.094 5.605 l -0.154 5.445 l -0.286 5.494 0.392 5.519 0.471 5.519 c -0.544 5.519 0.606 5.499 0.655 5.459 c -0.704 5.419 0.74 5.345 0.763 5.235 c -0.786 5.126 0.798 4.833 0.798 4.356 c -0.798 3.551 l -0.557 3.795 0.253 3.918 -0.115 3.918 c --0.709 3.918 -1.194 3.67 -1.572 3.174 c --1.949 2.678 -2.137 2.131 -2.137 1.534 c --2.137 0.936 -1.967 0.447 -1.626 0.066 c --1.286 -0.314 -0.887 -0.504 -0.43 -0.504 c --0.205 -0.504 0.005 -0.458 0.2 -0.365 c -0.395 -0.272 0.594 -0.116 0.798 0.102 c -0.798 -0.504 l -f -Q -q -1 0 0 1 53.1084 54.7135 cm -0 0 0 1 k -0 0 m -0.128 0 0.237 -0.045 0.328 -0.135 c -0.417 -0.225 0.463 -0.335 0.463 -0.462 c -0.463 -0.591 0.417 -0.701 0.328 -0.792 c -0.237 -0.884 0.128 -0.93 0 -0.93 c --0.128 -0.93 -0.238 -0.884 -0.33 -0.792 c --0.421 -0.701 -0.467 -0.591 -0.467 -0.462 c --0.467 -0.335 -0.422 -0.225 -0.332 -0.135 c --0.242 -0.045 -0.131 0 0 0 c -0.383 -2.191 m -0.383 -5.551 l -0.383 -5.815 0.402 -5.989 0.439 -6.076 c -0.477 -6.163 0.532 -6.228 0.605 -6.271 c -0.679 -6.313 0.813 -6.335 1.007 -6.335 c -1.007 -6.495 l --1.011 -6.495 l --1.011 -6.335 l --0.808 -6.335 -0.671 -6.315 -0.602 -6.275 c --0.532 -6.236 -0.477 -6.17 -0.435 -6.079 c --0.395 -5.987 -0.374 -5.812 -0.374 -5.551 c --0.374 -3.944 l --0.374 -3.484 -0.388 -3.186 -0.415 -3.05 c --0.436 -2.951 -0.47 -2.883 -0.516 -2.845 c --0.561 -2.807 -0.624 -2.787 -0.703 -2.787 c --0.789 -2.787 -0.892 -2.81 -1.014 -2.855 c --1.078 -2.696 l -0.182 -2.191 l -0.383 -2.191 l -f -Q -q -1 0 0 1 57.3379 52.5221 cm -0 0 0 1 k -0 0 m -0 -1.421 l --0.16 -1.421 l --0.273 -0.974 -0.42 -0.669 -0.598 -0.508 c --0.776 -0.346 -1.003 -0.266 -1.278 -0.266 c --1.488 -0.266 -1.657 -0.322 -1.786 -0.435 c --1.915 -0.547 -1.979 -0.671 -1.979 -0.809 c --1.979 -0.979 -1.934 -1.124 -1.842 -1.247 c --1.754 -1.371 -1.565 -1.504 -1.276 -1.644 c --0.609 -1.967 l -0.009 -2.268 0.319 -2.665 0.319 -3.156 c -0.319 -3.536 0.175 -3.841 -0.113 -4.074 c --0.4 -4.306 -0.722 -4.422 -1.078 -4.422 c --1.333 -4.422 -1.625 -4.379 -1.954 -4.293 c --2.054 -4.265 -2.136 -4.25 -2.2 -4.25 c --2.27 -4.25 -2.325 -4.286 -2.364 -4.356 c --2.523 -4.356 l --2.523 -2.869 l --2.364 -2.869 l --2.279 -3.295 -2.117 -3.617 -1.877 -3.833 c --1.637 -4.049 -1.368 -4.157 -1.07 -4.157 c --0.86 -4.157 -0.689 -4.096 -0.557 -3.972 c --0.425 -3.849 -0.359 -3.701 -0.359 -3.528 c --0.359 -3.318 -0.433 -3.142 -0.58 -2.999 c --0.727 -2.856 -1.022 -2.675 -1.463 -2.456 c --1.905 -2.237 -2.194 -2.04 -2.332 -1.863 c --2.468 -1.69 -2.537 -1.472 -2.537 -1.207 c --2.537 -0.864 -2.42 -0.577 -2.185 -0.346 c --1.95 -0.115 -1.646 0 -1.273 0 c --1.11 0 -0.911 -0.035 -0.678 -0.104 c --0.523 -0.15 -0.42 -0.172 -0.369 -0.172 c --0.32 -0.172 -0.282 -0.162 -0.255 -0.141 c --0.228 -0.12 -0.196 -0.073 -0.16 0 c -0 0 l -f -Q -q -1 0 0 1 61.0283 51.7916 cm -0 0 0 1 k -0 0 m -0.319 -0.426 0.479 -1.01 0.479 -1.753 c -0.479 -2.347 0.383 -2.765 0.192 -3.008 c -0 -3.252 -0.244 -3.373 -0.539 -3.373 c --0.934 -3.373 -1.253 -3.152 -1.496 -2.712 c --1.737 -2.27 -1.858 -1.746 -1.858 -1.136 c --1.858 -0.759 -1.808 -0.45 -1.707 -0.21 c --1.607 0.03 -1.476 0.198 -1.313 0.295 c --1.15 0.39 -0.988 0.439 -0.826 0.439 c --0.492 0.439 -0.216 0.293 0 0 c --1.671 0.46 m --1.982 0.279 -2.232 -0.001 -2.423 -0.378 c --2.613 -0.757 -2.708 -1.137 -2.708 -1.52 c --2.708 -2.045 -2.552 -2.519 -2.238 -2.94 c --1.867 -3.441 -1.366 -3.692 -0.735 -3.692 c --0.349 -3.692 0.003 -3.595 0.317 -3.401 c -0.632 -3.206 0.88 -2.918 1.06 -2.536 c -1.239 -2.153 1.329 -1.774 1.329 -1.401 c -1.329 -0.87 1.166 -0.399 0.84 0.011 c -0.457 0.491 -0.051 0.73 -0.685 0.73 c --1.032 0.73 -1.361 0.64 -1.671 0.46 c -f -Q -q -1 0 0 1 64.1772 51.6397 cm -0 0 0 1 k -0 0 m -0.49 0.588 0.957 0.882 1.401 0.882 c -1.63 0.882 1.826 0.825 1.99 0.711 c -2.155 0.597 2.286 0.409 2.383 0.147 c -2.45 -0.035 2.483 -0.315 2.483 -0.693 c -2.483 -2.478 l -2.483 -2.743 2.505 -2.924 2.547 -3.018 c -2.581 -3.095 2.635 -3.154 2.709 -3.197 c -2.783 -3.24 2.921 -3.261 3.121 -3.261 c -3.121 -3.421 l -1.049 -3.421 l -1.049 -3.261 l -1.136 -3.261 l -1.331 -3.261 1.467 -3.231 1.546 -3.172 c -1.623 -3.113 1.678 -3.025 1.708 -2.909 c -1.72 -2.863 1.727 -2.719 1.727 -2.478 c -1.727 -0.764 l -1.727 -0.383 1.677 -0.106 1.578 0.066 c -1.479 0.238 1.313 0.325 1.08 0.325 c -0.718 0.325 0.358 0.126 0 -0.269 c -0 -2.478 l -0 -2.762 0.017 -2.938 0.05 -3.005 c -0.092 -3.094 0.15 -3.158 0.225 -3.2 c -0.299 -3.241 0.45 -3.261 0.677 -3.261 c -0.677 -3.421 l --1.381 -3.421 l --1.381 -3.261 l --1.291 -3.261 l --1.082 -3.261 -0.94 -3.207 -0.867 -3.099 c --0.794 -2.99 -0.757 -2.783 -0.757 -2.478 c --0.757 -0.924 l --0.757 -0.417 -0.768 -0.109 -0.792 0.001 c --0.814 0.112 -0.849 0.188 -0.896 0.228 c --0.944 0.267 -1.007 0.287 -1.086 0.287 c --1.172 0.287 -1.274 0.264 -1.392 0.218 c --1.461 0.378 l --0.197 0.882 l -0 0.882 l -0 0 l -f -Q -q -1 0 0 1 46.7554 44.2081 cm -0 0 0 1 k -0 0 m -0 -0.173 l --0.161 -0.173 -0.292 -0.202 -0.393 -0.259 c --0.493 -0.317 -0.589 -0.425 -0.68 -0.582 c --0.741 -0.689 -0.837 -0.942 -0.968 -1.343 c --2.707 -6.322 l --2.891 -6.322 l --4.293 -2.387 l --5.689 -6.322 l --5.863 -6.322 l --7.688 -1.186 l --7.825 -0.806 -7.911 -0.581 -7.948 -0.512 c --8.009 -0.397 -8.092 -0.312 -8.197 -0.256 c --8.302 -0.201 -8.444 -0.173 -8.624 -0.173 c --8.624 0 l --6.339 0 l --6.339 -0.173 l --6.448 -0.173 l --6.61 -0.173 -6.733 -0.209 -6.818 -0.283 c --6.904 -0.356 -6.946 -0.444 -6.946 -0.548 c --6.946 -0.655 -6.879 -0.901 -6.745 -1.285 c --5.53 -4.761 l --4.501 -1.807 l --4.69 -1.276 l --4.836 -0.863 l --4.9 -0.711 -4.972 -0.579 -5.051 -0.463 c --5.091 -0.406 -5.14 -0.357 -5.197 -0.318 c --5.274 -0.264 -5.35 -0.224 -5.426 -0.2 c --5.484 -0.182 -5.576 -0.173 -5.7 -0.173 c --5.7 0 l --3.29 0 l --3.29 -0.173 l --3.454 -0.173 l --3.625 -0.173 -3.75 -0.209 -3.828 -0.282 c --3.907 -0.354 -3.947 -0.453 -3.947 -0.577 c --3.947 -0.732 -3.878 -1.001 -3.741 -1.386 c --2.555 -4.75 l --1.365 -1.341 l --1.231 -0.965 -1.164 -0.705 -1.164 -0.559 c --1.164 -0.489 -1.186 -0.424 -1.23 -0.364 c --1.274 -0.303 -1.33 -0.261 -1.397 -0.237 c --1.512 -0.194 -1.663 -0.173 -1.849 -0.173 c --1.849 0 l -0 0 l -f -Q -q -1 0 0 1 47.0444 40.6353 cm -0 0 0 1 k -0 0 m --0.003 -0.618 0.147 -1.102 0.45 -1.453 c -0.753 -1.804 1.109 -1.979 1.518 -1.979 c -1.791 -1.979 2.028 -1.905 2.229 -1.757 c -2.43 -1.609 2.6 -1.351 2.736 -0.983 c -2.882 -1.074 l -2.818 -1.498 2.633 -1.88 2.326 -2.223 c -2.019 -2.565 1.634 -2.736 1.173 -2.736 c -0.671 -2.736 0.242 -2.541 -0.115 -2.151 c --0.472 -1.761 -0.651 -1.238 -0.651 -0.579 c --0.651 0.134 -0.467 0.689 -0.101 1.088 c -0.265 1.487 0.725 1.687 1.277 1.687 c -1.746 1.687 2.13 1.534 2.431 1.228 c -2.732 0.921 2.882 0.512 2.882 0 c -h -0 0.266 m -1.926 0.266 l -1.911 0.53 1.879 0.717 1.83 0.826 c -1.755 0.995 1.642 1.127 1.492 1.224 c -1.342 1.32 1.185 1.368 1.022 1.368 c -0.771 1.368 0.546 1.271 0.348 1.077 c -0.149 0.882 0.033 0.612 0 0.266 c -f -Q -q -1 0 0 1 53.2002 42.3224 cm -0 0 0 1 k -0 0 m -0 -1.421 l --0.159 -1.421 l --0.273 -0.974 -0.419 -0.669 -0.598 -0.508 c --0.776 -0.346 -1.003 -0.266 -1.278 -0.266 c --1.488 -0.266 -1.657 -0.322 -1.786 -0.435 c --1.915 -0.547 -1.979 -0.672 -1.979 -0.809 c --1.979 -0.979 -1.934 -1.125 -1.842 -1.247 c --1.754 -1.372 -1.565 -1.503 -1.276 -1.644 c --0.609 -1.967 l -0.009 -2.268 0.319 -2.665 0.319 -3.156 c -0.319 -3.536 0.175 -3.842 -0.113 -4.074 c --0.4 -4.307 -0.722 -4.423 -1.078 -4.423 c --1.333 -4.423 -1.626 -4.38 -1.954 -4.293 c --2.054 -4.265 -2.136 -4.25 -2.2 -4.25 c --2.27 -4.25 -2.325 -4.286 -2.364 -4.356 c --2.523 -4.356 l --2.523 -2.869 l --2.364 -2.869 l --2.279 -3.295 -2.117 -3.617 -1.877 -3.833 c --1.637 -4.049 -1.368 -4.157 -1.07 -4.157 c --0.86 -4.157 -0.69 -4.096 -0.557 -3.973 c --0.425 -3.849 -0.358 -3.702 -0.358 -3.528 c --0.358 -3.318 -0.433 -3.142 -0.58 -2.999 c --0.727 -2.856 -1.022 -2.675 -1.463 -2.456 c --1.905 -2.237 -2.195 -2.04 -2.332 -1.863 c --2.469 -1.69 -2.537 -1.472 -2.537 -1.207 c --2.537 -0.864 -2.419 -0.577 -2.185 -0.346 c --1.95 -0.116 -1.646 0 -1.273 0 c --1.11 0 -0.912 -0.035 -0.678 -0.105 c --0.523 -0.15 -0.42 -0.173 -0.369 -0.173 c --0.32 -0.173 -0.282 -0.162 -0.255 -0.141 c --0.228 -0.12 -0.196 -0.073 -0.159 0 c -0 0 l -f -Q -q -1 0 0 1 55.5898 44.5138 cm -0 0 0 1 k -0 0 m -0 -5.552 l -0 -5.814 0.019 -5.989 0.058 -6.074 c -0.096 -6.16 0.155 -6.225 0.233 -6.269 c -0.313 -6.314 0.461 -6.335 0.678 -6.335 c -0.678 -6.495 l --1.381 -6.495 l --1.381 -6.335 l --1.187 -6.335 -1.054 -6.315 -0.983 -6.275 c --0.912 -6.236 -0.857 -6.17 -0.816 -6.079 c --0.777 -5.987 -0.757 -5.812 -0.757 -5.552 c --0.757 -1.753 l --0.757 -1.276 -0.767 -0.983 -0.788 -0.875 c --0.81 -0.765 -0.844 -0.691 -0.891 -0.651 c --0.938 -0.611 -0.997 -0.591 -1.07 -0.591 c --1.149 -0.591 -1.249 -0.616 -1.37 -0.664 c --1.447 -0.505 l --0.204 0 l -0 0 l -f -Q -q -1 0 0 1 57.7783 41.712 cm -0 0 0 1 k -0 0 m -0.198 0.194 0.423 0.292 0.675 0.292 c -0.838 0.292 0.995 0.243 1.145 0.147 c -1.295 0.051 1.407 -0.082 1.483 -0.25 c -1.531 -0.359 1.563 -0.546 1.579 -0.811 c --0.347 -0.811 l --0.314 -0.465 -0.199 -0.194 0 0 c -2.535 -1.077 m -2.535 -0.564 2.384 -0.155 2.083 0.151 c -1.782 0.457 1.398 0.61 0.93 0.61 c -0.376 0.61 -0.083 0.411 -0.449 0.012 c --0.815 -0.387 -0.998 -0.943 -0.998 -1.656 c --0.998 -2.314 -0.819 -2.838 -0.462 -3.228 c --0.105 -3.618 0.324 -3.813 0.825 -3.813 c -1.287 -3.813 1.671 -3.642 1.979 -3.299 c -2.286 -2.957 2.471 -2.574 2.535 -2.15 c -2.389 -2.06 l -2.252 -2.428 2.083 -2.686 1.881 -2.834 c -1.68 -2.981 1.443 -3.056 1.17 -3.056 c -0.761 -3.056 0.406 -2.88 0.103 -2.529 c --0.2 -2.178 -0.351 -1.694 -0.347 -1.077 c -2.535 -1.077 l -f -Q -q -1 0 0 1 60.6509 42.2027 cm -0 0 0 1 k -0 0 m -1.954 0 l -1.954 -0.16 l -1.859 -0.16 l -1.722 -0.16 1.619 -0.189 1.55 -0.25 c -1.482 -0.31 1.448 -0.385 1.448 -0.474 c -1.448 -0.594 1.497 -0.761 1.598 -0.974 c -2.619 -3.094 l -3.55 -0.773 l -3.602 -0.646 3.628 -0.52 3.628 -0.396 c -3.628 -0.341 3.618 -0.299 3.596 -0.271 c -3.572 -0.237 3.534 -0.21 3.482 -0.19 c -3.43 -0.169 3.339 -0.16 3.208 -0.16 c -3.208 0 l -4.562 0 l -4.562 -0.16 l -4.449 -0.172 4.362 -0.196 4.302 -0.233 c -4.24 -0.27 4.174 -0.339 4.101 -0.439 c -4.073 -0.482 4.021 -0.6 3.945 -0.793 c -2.251 -4.98 l -2.086 -5.383 1.871 -5.688 1.604 -5.894 c -1.337 -6.1 1.081 -6.203 0.835 -6.203 c -0.654 -6.203 0.506 -6.151 0.391 -6.048 c -0.275 -5.945 0.217 -5.827 0.217 -5.694 c -0.217 -5.567 0.259 -5.465 0.343 -5.389 c -0.427 -5.311 0.542 -5.273 0.689 -5.273 c -0.789 -5.273 0.926 -5.304 1.1 -5.367 c -1.222 -5.411 1.297 -5.432 1.328 -5.432 c -1.419 -5.432 1.519 -5.386 1.627 -5.292 c -1.736 -5.199 1.845 -5.018 1.954 -4.751 c -2.248 -4.02 l -0.745 -0.866 l -0.699 -0.77 0.626 -0.651 0.525 -0.508 c -0.449 -0.4 0.387 -0.327 0.338 -0.29 c -0.268 -0.24 0.155 -0.197 0 -0.16 c -0 0 l -f -Q -EMC -EMC -Q -q -0 g -/GS2 gs -/Fm1 Do -Q - -endstream endobj 46746 0 obj <> endobj 46747 0 obj <> endobj 46748 0 obj <> endobj 46749 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(994)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(writew_lock)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(489,)-250(491, 759, 763, 769,)]TJ --4.317 -1.25 Td -(771)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(772, 777, 787, 897)Tj -/TT0 1 Tf --4.866 -1.25 Td -(wscanf)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(WSTOPPED)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(244)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(WSTOPSIG)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(239)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(240)Tj -/TT0 1 Tf --11.84 -1.25 Td -(WTERMSIG)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(239)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(240)Tj -/TT0 1 Tf --11.84 -1.25 Td -(wtmp)Tj -/T1_1 1 Tf -2.817 0 Td -[(\336le, )-250(186)]TJ -3.708 0.09 Td -(\320)Tj -0.583 -0.09 Td -(187, 312, 923)Tj --0.05 Tc -7.108 -1.25 Td -(Wu)Tj -0 Tc 1.553 0 Td -(lf, W)Tj -0.25 Tc 2.032 0 Td -(.A)Tj -0 Tc 1.278 0 Td -[(., )-250(953)]TJ -/TT0 1 Tf --4.863 -1.25 Td -(WUNTRACED)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(242)]TJ --5.817 -4.75 Td -[(x86, )-250(xxi)]TJ -/TT0 1 Tf -0 -1.25 TD -(xargs)Tj -/T1_1 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(252)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(XCASE)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(691)]TJ --3.417 -1.25 Td -[(Xenix, )-250(33,)-250(485, 726)]TJ -/TT0 1 Tf -T* -(xinetd)Tj -/T1_1 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(293)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(X_OK)Tj -/T1_1 1 Tf -2.817 0 Td -[(constant, )-250(102)]TJ --2.817 -1.25 Td -[(X/Open, )-250(xxvi,)-250(31, 953)]TJ -T* -[(X/Open Curses,)-500(32)]TJ -T* -[(X/Open Portability Guide,)-500(31)]TJ -13.48 0.09 Td -(\320)Tj -0.583 -0.09 Td -(32)Tj --12.714 -1.25 Td -(Issue 3,)Tj -/T1_2 1 Tf -3.767 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(XPG3)Tj --5.184 -1.25 Td -(Issue 4,)Tj -/T1_2 1 Tf -3.767 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(XPG4)Tj -/TT0 1 Tf --6.534 -1.25 Td -(_XOPEN_CRYPT)Tj -/T1_1 1 Tf -7.617 0 Td -[(constant, )-250(31,)-250(57)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(_XOPEN_IOV_MAX)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(41)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(_XOPEN_NAME_MAX)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(41)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(_XOPEN_PATH_MAX)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(41)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(_XOPEN_REALTIME)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(31,)-250(57)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(_XOPEN_REALTIME_THREADS)Tj -/T1_1 1 Tf -14.217 0 Td -[(constant, )-250(31,)-250(57)]TJ -/TT0 1 Tf --14.217 -1.25 Td -(_XOPEN_SHM)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(_XOPEN_SOURCE)Tj -/T1_1 1 Tf -8.217 0 Td -[(constant, )-250(57)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(58)Tj -/TT0 1 Tf --14.363 -1.25 Td -(_XOPEN_UNIX)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(30)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(31, 57)Tj -/TT0 1 Tf --13.163 -1.25 Td -(_XOPEN_VERSION)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(57)]TJ --8.817 -1.25 Td -(XPG3)Tj -2.784 0.04 Td -(\()Tj -0.333 -0.04 Td -(X/Open Portability Guide, Issue 3)Tj -15.164 0.04 Td -(\))Tj -0.5 Tc 0.333 -0.04 Td -(,x)Tj -0 Tc 1.266 0 Td -(xxi,)Tj --17.18 -1.25 Td -(33, 953)Tj --2.7 -1.25 Td -(XPG4)Tj -2.784 0.04 Td -(\()Tj -0.333 -0.04 Td -(X/Open Portability Guide, Issue 4)Tj -15.164 0.04 Td -(\))Tj -0.5 Tc 0.333 -0.04 Td -(,3)Tj -0 Tc 1.25 0 Td -(2, 54)Tj --19.864 -1.25 Td -[(XSI, )-250(30)]TJ -3.362 0.09 Td -(\320)Tj -0.583 -0.09 Td -(31, 53)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(54, 57, 94, 107, 109, 131)Tj -10.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(132, 143,)Tj --15.079 -1.25 Td -(161, 163, 168)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(169, 180, 183, 21)55(1)]TJ -7.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(212, 220, 222,)Tj --14.278 -1.25 Td -(239, 242, 244)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(245, 252, 257, 276, 293, 315, 317,)Tj --6.166 -1.25 Td -(322, 329, 333, 350)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(352, 377, 429, 431, 442,)Tj --8.166 -1.25 Td -(469)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(472, 485, 521, 526, 528, 534, 553,)Tj --2.167 -1.25 Td -(562)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(563, 566, 571, 576, 578, 587)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(588, 666,)Tj --14.333 -1.25 Td -(676, 685, 687, 689)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(691, 722, 724, 744, 910)Tj --10.867 -1.25 Td -[(XSI IPC,)-500(556)]TJ -5.762 0.09 Td -(\320)Tj -0.583 -0.09 Td -(560)Tj -/TT0 1 Tf --6.346 -1.25 Td -(XTABS)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(690)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(691)Tj --0.055 Tc -10.063 -4.75 Td -(Yi)Tj -0 Tc 0.903 0 Td -[(git, O.,)-500(744, 952)]TJ --0.903 -4.75 Td -[(zombie, )-250(237)]TJ -5.585 0.09 Td -(\320)Tj -0.583 -0.09 Td -(238, 242, 283, 333, 351, 923)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46750 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(xxvi)Tj -/T1_1 1 Tf -3.889 0 Td -[(Pr)18(eface )-250(to )-250(the )-250(Second )-250(Edition)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -0.883 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245A)Tj -0 Tc 2.267 0 Td -[(fter )-5(4.4BSD )-5(was )-5(r)18(eleased, )-5(the )-5(Computing )-5(Science )-5(Resear)18(ch )-5(Gr)17(oup)]TJ -29.208 0.04 Td -(\()Tj -0.333 -0.04 Td -(CSRG)Tj -2.665 0.04 Td -(\))Tj -0.588 -0.04 Td -[(fr)18(om)]TJ --33.572 -1.2 Td -[(the )-504(University )-504(of )-504(California )-504(at )-504(Berkeley )-504(decided )-504(to )-504(put )-504(an )-504(end )-504(to )-504(its)]TJ -0 -1.2 TD -[(development )-248(of )-248(the )-248(UNIX )-248(operating )-248(system, )-248(but )-248(several )-248(dif)20(fer)18(ent )-248(gr)18(oups )-248(of)]TJ --0 -1.2 Td -(volunteers still maintain publicly available versions.)Tj -0.883 Tc -1.489 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-120(intr)18(oduction )-120(of )-120(Linux, )-120(supported )-120(by )-120(thousands )-120(of )-120(volunteers, )-120(has )-120(made )-120(it)]TJ --0.613 -1.2 Td -[(possible )-100(for )-100(anyone )-100(with )-100(a )-100(computer )-100(to )-100(r)8(un )-100(an )-100(operating )-100(system )-100(similar )-100(to )-100(the)]TJ -T* -[(UNIX )-364(System, )-364(with )-364(fr)18(eely )-364(available )-364(sour)18(ce )-364(code )-364(for )-364(the )-364(newest )-364(har)19(dwar)18(e)]TJ -T* -[(devices. )-287(The)-288(success )-37(of )-37(Linux )-37(is )-37(something )-37(of )-37(a )-37(curiosity)]TJ -0.2872 Tc 25.304 0 Td -(,g)Tj -0 Tc 1.093 0 Td -[(iven )-37(that )-37(several )-37(fr)17(ee)]TJ --26.397 -1.2 Td -(BSD alternatives ar)Tj -0.25 Tc 8.445 0 Td -(er)Tj -0 Tc 1.106 0 Td -(eadily available.)Tj -0.883 Tc -11.04 -1.6 Td -(\245C)Tj -0 Tc 2.198 0 Td -[(ontinuing )-45(its )-45(tr)18(end )-45(as )-45(an )-45(innovative )-45(company)]TJ -0.2946 Tc 20.277 0 Td -(,A)Tj -0 Tc 1.323 0 Td -[(pple )-45(Computer )-45(abandoned )-45(its)]TJ --22.308 -1.2 Td -[(old )-9(Mac )-9(operating )-9(system )-9(and )-9(r)18(eplaced )-9(it )-9(with )-9(one )-9(based )-9(on )-9(Mach )-9(and )-9(Fr)23(eeBSD.)]TJ --3.289 -1.92 Td -[(Thus, )-129(I\325ve )-129(tried )-129(to )-129(update )-129(the )-129(information )-129(pr)18(esented )-129(in )-129(this )-129(book )-129(to )-129(r)18(e\337ect )-129(these )-129(four)]TJ -T* -(platforms.)Tj -1.8 -1.2 Td -[(After )-5(Rich )-5(wr)18(ote)]TJ -/T1_2 1 Tf -7.624 0 Td -[(Advanced )-5(Pr)18(ogramming )-5(in )-5(the )-5(UNIX )-5(Envir)17(onment)]TJ -/T1_1 1 Tf -21.237 0 Td -[(in )-5(1992, )-5(I )-5(got )-5(rid )-5(of)]TJ --30.661 -1.2 Td -[(most )-66(of )-66(my )-66(UNIX )-66(pr)17(ogrammer )176(\325s)-316(manuals. )-316(T)]TJ -0.3163 Tc 20.202 0 Td -(ot)Tj -0 Tc 1.188 0 Td -[(his )-66(day)]TJ -0.3163 Tc 3.169 0 Td -(,t)Tj -0 Tc 0.892 0 Td -[(he )-66(two )-66(books )-66(I )-66(keep )-66(closest )-66(to)]TJ --25.452 -1.2 Td -[(my )-30(desk )-30(ar)]TJ -0.2799 Tc 4.946 0 Td -(ead)Tj -0 Tc 2.15 0 Td -[(ictionary )-30(and )-30(a )-30(copy )-30(of)]TJ -/T1_2 1 Tf -10.549 0 Td -[(Advanced )-30(Pr)18(ogramming )-30(in )-30(the )-30(UNIX )-30(Envir)19(onment)]TJ -/T1_1 1 Tf -(.)Tj -0.25 Tc -17.645 -1.2 Td -(Ih)Tj -0 Tc 1.169 0 Td -[(ope you \336nd this r)18(evision equally useful.)]TJ -/TT0 1 Tf --4.769 -2.76 Td -[(Chang )268(es)-278(fr)20(om the Fir)15(st Edition)]TJ -/T1_1 1 Tf -3.6 -2.16 Td -[(Rich\325s )-26(work )-26(holds )-26(up )-26(well.)-526(I\325ve )-26(tried )-26(not )-26(to )-26(change )-26(his )-26(original )-26(vision )-26(for )-26(this )-26(book, )-26(but)]TJ -0.2875 Tc T* -(al)Tj -0 Tc 1.079 0 Td -[(ot )-37(has )-37(happened )-37(in )-37(13 )-37(years.)-537(This )-37(is )-37(especially )-37(tr)8(ue )-37(with )-37(the )-37(standar)18(ds )-37(that )-37(af)18(fect )-37(the)]TJ --1.079 -1.2 Td -[(UNIX pr)18(ogramming interface.)]TJ -1.8 -1.2 Td -[(Thr)18(oughout )-76(the )-76(book, )-76(I\325ve )-76(updated )-76(interfaces )-76(that )-76(have )-76(changed )-76(fr)18(om )-76(the )-76(ongoing)]TJ --1.8 -1.2 Td -[(ef)18(forts )-305(in )-305(standar)18(ds )-305(or)17(ganizations. )-555(This)-555(is )-305(most )-305(noticeable )-305(in )-305(Chapter )-305(2, )-305(since )-305(its)]TJ --0 -1.2 Td -[(primary )-43(topic )-43(is )-43(standar)18(ds. )-293(The)-293(2001 )-43(version )-43(of )-43(the )-43(POSIX.1 )-43(standar)18(d, )-43(which )-43(we )-43(use )-43(in)]TJ -T* -[(this )-186(r)18(evision, )-186(is )-186(much )-186(mor)]TJ -0.4362 Tc 12.206 0 Td -(ec)Tj -0 Tc 1.359 0 Td -[(ompr)18(ehensive )-186(than )-186(the )-186(1990 )-186(version )-186(on )-186(which )-186(the )-186(\336rst)]TJ --13.565 -1.2 Td -[(edition )-155(of )-155(this )-155(book )-155(was )-155(based.)-656(The )-155(1990 )-155(ISO )-155(C )-155(standar)]TJ -0.4053 Tc 26.057 0 Td -(dw)Tj -0 Tc 1.85 0 Td -[(as )-155(updated )-155(in )-155(1999, )-155(and)]TJ --27.908 -1.2 Td -[(some changes af)18(fect the interfaces in the POSIX.1 standar)18(d.)]TJ -0.5062 Tc 1.8 -1.2 Td -(Al)Tj -0 Tc 1.575 0 Td -[(ot )-256(mor)]TJ -0.5062 Tc 3.184 0 Td -(ei)Tj -0 Tc 1.276 0 Td -[(nterfaces )-256(ar)]TJ -0.5062 Tc 5.345 0 Td -(en)Tj -0 Tc 1.567 0 Td -[(ow )-256(cover)18(ed )-256(by )-256(the )-256(POSIX.1 )-256(speci\336cation.)-757(The )-256(base)]TJ --14.748 -1.2 Td -[(speci\336cations )-3(of )-3(the )-3(Single )-3(UNIX )-3(Speci\336cation )-3(\(published )-3(by )-3(The )-3(Open )-3(Gr)13(oup, )-4(formerly)]TJ -T* -[(X/Open\) )-340(have )-340(been )-340(mer)18(ged )-340(with )-340(POSIX.1.)-840(POSIX.1 )-340(now )-340(includes )-340(several )-340(1003.1)]TJ -T* -[(standar)18(ds and draft standar)18(ds that wer)]TJ -0.25 Tc 17.242 0 Td -(ef)Tj -0 Tc 1.062 0 Td -[(ormerly published separately)111(.)]TJ --16.504 -1.2 Td -[(Accor)18(dingly)]TJ -0.7424 Tc 5.365 0 Td -(,I)Tj -0 Tc 1.329 0 Td -[(\325ve )-492(added )-492(chapters )-492(to )-492(cover )-492(some )-492(new )-492(topics.)-995(Thr)18(eads )-492(and)]TJ --8.494 -1.2 Td -[(multithr)18(eaded )-7(pr)18(ogramming )-7(ar)]TJ -0.2566 Tc 13.919 0 Td -(ei)Tj -0 Tc 1.027 0 Td -[(mportant )-7(concepts )-7(because )-7(they )-7(pr)18(esent )-7(a )-7(cleaner )-7(way)]TJ --14.946 -1.2 Td -[(for pr)18(ogrammers to deal with concurr)18(ency and asynchr)18(ony)111(.)]TJ -1.8 -1.2 Td -[(The )-288(socket )-288(interface )-288(is )-288(now )-288(part )-288(of )-288(POSIX.1.)-788(It )-288(pr)18(ovides )-288(a )-288(single )-288(interface )-288(to)]TJ --1.8 -1.2 Td -[(interpr)18(ocess )-176(communication)]TJ -13.142 0.04 Td -(\()Tj -0.333 -0.04 Td -(IPC)Tj -1.65 0.04 Td -(\))Tj -0.4264 Tc 0.333 -0.04 Td -(,r)Tj -0 Tc 1.053 0 Td -[(egar)18(dless )-176(of )-176(the )-176(location )-176(of )-176(the )-176(pr)18(ocess, )-176(and )-176(is )-176(a)]TJ --16.511 -1.2 Td -(natural extension of the IPC chapters.)Tj -1.8 -1.2 Td -[(I\325ve )-46(omitted )-46(most )-46(of )-46(the )-46(r)18(eal-time )-46(interfaces )-46(that )-46(appear )-46(in )-46(POSIX.1.)-552(These )-47(ar)]TJ -0.2966 Tc 34.642 0 Td -(eb)Tj -0 Tc 1.329 0 Td -(est)Tj --37.771 -1.2 Td -[(tr)18(eated )-204(in )-204(a )-204(text )-204(devoted )-204(to )-204(r)18(eal-time )-204(pr)17(ogramming. )-454(One)-454(such )-204(book )-204(appears )-204(in )-204(the)]TJ -T* -[(bibliography)111(.)]TJ -1.8 -1.2 Td -[(I\325ve )-59(updated )-59(the )-59(case )-59(studies )-59(in )-59(the )-59(last )-59(chapters )-59(to )-59(cover )-59(mor)]TJ -0.3096 Tc 27.846 0 Td -(er)Tj -0 Tc 1.166 0 Td -[(elevant )-60(r)18(eal-world)]TJ --30.811 -1.2 Td -[(examples. )-376(For)-377(example, )-126(few )-126(systems )-126(these )-126(days )-126(ar)]TJ -0.3763 Tc 23.223 0 Td -(ec)Tj -0 Tc 1.299 0 Td -[(onnected )-126(to )-126(a )-126(PostScript )-126(printer)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46751 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 370.578 708 Tm -[(Pr)18(eface )-250(to )-250(the )-250(First )-250(Edition)]TJ -/T1_1 1 Tf -14.725 0 Td -(xxxi)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Systems Used to T)60(est the Examples)]TJ -/T1_0 1 Tf -3.6 -2.4 Td -[(Unfortunately )-215(all )-215(operating )-215(systems )-215(ar)]TJ -0.4649 Tc 17.908 0 Td -(em)Tj -0 Tc 1.827 0 Td -[(oving )-215(tar)18(gets. )-465(Unix)-465(is )-215(no )-215(exception.)-715(The)]TJ --19.735 -1.2 Td -[(following )-65(diagram )-65(shows )-65(the )-65(r)17(ecent )-65(evolution )-65(of )-65(the )-65(various )-65(versions )-65(of )-65(System )-65(V )-65(and)]TJ -0 -1.2 TD -(4.xBSD.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1356.25 5534.25 cm -0 0 m -540 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 154.5814 546.5744 Tm -(1986)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1896.25 5534.25 cm -0 0 m -540 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 208.5625 546.5416 Tm -(1987)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2436.25 5534.25 cm -0 0 m -540 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 262.537 546.5088 Tm -(1988)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2976.25 5534.25 cm -0 0 m -540 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 316.505 546.476 Tm -(1989)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3516.25 5534.25 cm -0 0 m -540 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 370.4666 546.4432 Tm -(1990)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4056.25 5534.25 cm -0 0 m -540 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 424.4217 546.4105 Tm -(1991)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4596.25 5534.25 cm -0 0 m -540 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 478.3703 546.3777 Tm -(1992)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1356.25 5498.25 cm -0 0 m -0 72 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1896.25 5498.25 cm -0 0 m -0 72 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2436.25 5498.25 cm -0 0 m -0 72 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2976.25 5498.25 cm -0 0 m -0 72 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3516.25 5498.25 cm -0 0 m -0 72 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4056.25 5498.25 cm -0 0 m -0 72 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4596.25 5498.25 cm -0 0 m -0 72 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5136.25 5498.25 cm -0 0 m -0 72 l -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 153.6 560.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 1536 5606 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1536.25 5678.25 cm -0 0 m -0 216 l -S -Q -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 140.8754 592.2845 Tm -(4.3BSD)Tj -ET -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 270.6 560.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 2706 5606 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 5678.25 cm -0 0 m -0 216 l -S -Q -Q -BT -/T1_0 1 Tf -7.9947 0 0 7.9947 246.2854 592.249 Tm -[(4.3BSD T)92(ahoe)]TJ -ET -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 324.6 560.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 3246 5606 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 5678.25 cm -0 0 m -0 72 l -S -Q -Q -BT -/T1_0 1 Tf -7.9942 0 0 7.9942 306.1955 577.8238 Tm -(BSD Net 1)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 387.6 560.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 3876 5606 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3876.25 5678.25 cm -0 0 m -0 216 l -S -Q -Q -BT -/T1_0 1 Tf -7.9938 0 0 7.9938 364.5755 592.1779 Tm -(4.3BSD Reno)Tj -ET -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 432.6 560.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 4326 5606 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4326.25 5678.25 cm -0 0 m -0 72 l -S -Q -Q -BT -/T1_0 1 Tf -7.9933 0 0 7.9933 414.068 577.7545 Tm -(BSD Net 2)Tj -ET -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 495.6 560.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 4956 5606 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4956.25 5678.25 cm -0 0 m -0 216 l -S -Q -Q -BT -/T1_0 1 Tf -7.9928 0 0 7.9928 479.752 592.1068 Tm -(4.4BSD ?)Tj -ET -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 473.136 560.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 4731.3599 5606 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4731.25 5678.25 cm -0 0 m -0 360 l -S -Q -Q -BT -/T1_1 1 Tf -8.9914 0 0 8.9914 455.1039 606.4575 Tm -(4.3)Tj -/TT1 1 Tf -1.25 0.1 Td -(+)Tj -/T1_1 1 Tf -0.549 -0.1 Td -(BSD)Tj -ET -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 162.6 539 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 1626 5390 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1626.25 5318.25 cm -0 0 m -0 -72 l -S -Q -Q -BT -/T1_0 1 Tf -7.9918 0 0 7.9918 149.7871 517.3121 Tm -(SVR3.0)Tj -ET -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 216.6 539 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 2166 5390 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 5318.25 cm -0 0 m -0 -72 l -S -Q -Q -BT -/T1_0 1 Tf -7.9914 0 0 7.9914 203.7199 517.281 Tm -(SVR3.1)Tj -ET -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 270.6 539 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 2706 5390 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 5318.25 cm -0 0 m -0 -72 l -S -Q -Q -BT -/T1_0 1 Tf -7.9909 0 0 7.9909 257.6461 517.25 Tm -(SVR3.2)Tj -ET -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 378.6 539 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 3786 5390 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 5318.25 cm -0 0 m -0 -72 l -S -Q -Q -BT -/T1_0 1 Tf -7.9904 0 0 7.9904 368.4975 517.2189 Tm -(SVR4)Tj -ET -q -0.9988007 0 0 0.9988007 0 0 cm -q 1 0 0 1 293.136 546.2 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -1 j 1 J -q 1 0 0 1 2931.3601 5462 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2931.25 5390.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2931.25 5306.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2931.25 5222.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2931.25 5138.25 cm -0 0 m -0 -36 l -S -Q -Q -BT -/T1_0 1 Tf -7.9899 0 0 7.9899 282.6436 502.806 Tm -(XPG3)Tj -ET -q -0.9987408 0 0 0.9987408 0 0 cm -q 1 0 0 1 347.136 546.2 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -1 j 1 J -q 1 0 0 1 3471.3601 5462 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3471.25 5390.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3471.25 5306.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3471.25 5222.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3471.25 5138.25 cm -0 0 m -0 -36 l -S -Q -Q -BT -/T1_0 1 Tf -7.9894 0 0 7.9894 332.9762 502.7759 Tm -(ANSI C)Tj -ET -q -0.9986808 0 0 0.9986808 0 0 cm -q 1 0 0 1 401.136 546.2 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -1 j 1 J -q 1 0 0 1 4011.3601 5462 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4011.25 5390.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4011.25 5306.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4011.25 5222.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4011.25 5138.25 cm -0 0 m -0 -36 l -S -Q -Q -BT -/T1_0 1 Tf -7.989 0 0 7.989 385.927 502.7457 Tm -(POSIX.1)Tj -9.9862 0 0 9.9862 129.4213 481.1358 Tm -[(4.xBSD )-208(ar)]TJ -0.4583 Tc 4.511 0 Td -(et)Tj -0 Tc 1.263 0 Td -[(he )-208(various )-208(systems )-208(fr)18(om )-208(the )-208(Computer )-208(Systems )-208(Resear)16(ch )-208(Gr)18(oup )-208(at )-208(the)]TJ --5.775 -1.2 Td -[(University )-23(of )-23(California )-23(at )-23(Berkeley)]TJ -0.523 Tc 15.657 0 Td -(.T)Tj -0 Tc 1.386 0 Td -[(his )-23(gr)18(oup )-23(also )-23(distributes )-23(the )-23(BSD )-23(Net )-23(1 )-23(and )-23(BSD)]TJ --17.043 -1.2 Td -[(Net )-15(2 )-15(r)18(eleases )167(\321 )167(publicly)-266(available )-15(sour)18(ce )-15(code )-15(fr)18(om )-15(the )-15(4.xBSD )-15(systems.)-515(SVRx )-15(r)18(efers )-15(to)]TJ --0 -1.2 Td -[(System )-124(V )-124(Release )-124(x )-124(fr)18(om )-124(A)75(T&T)]TJ -0.6238 Tc 14.393 0 Td -(.X)Tj -0 Tc 1.541 0 Td -[(PG3 )-124(is )-124(the )-124(X/Open )-124(Portability )-124(Guide, )-124(Issue )-124(3, )-124(and)]TJ --15.934 -1.2 Td -[(ANSI )-126(C )-126(is )-126(the )-126(ANSI )-126(standar)]TJ -0.3763 Tc 12.955 0 Td -(df)Tj -0 Tc 1.32 0 Td -[(or )-126(the )-126(C )-126(pr)18(ogramming )-126(language.)-626(POSIX.1 )-126(is )-126(the )-126(IEEE)]TJ --14.275 -1.2 Td -[(and )-58(ISO )-58(standar)]TJ -0.308 Tc 7.277 0 Td -(df)Tj -0 Tc 1.252 0 Td -[(or )-58(the )-58(interface )-58(to )-58(a )-58(Unix-like )-58(system.)]TJ --0.092 Tc 17.393 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-58(have )-58(mor)18(e)-308(to)-308(say )-58(about)]TJ --27.309 -1.2 Td -[(these dif)18(fer)18(ent standar)18(ds and the various versions of Unix in Sections 2.2 and 2.3.)]TJ -/T1_1 1 Tf -5.4 -2.2 Td -[(In )-172(this )-172(text )-172(we )-172(use )-172(the )-172(term)]TJ -/T1_2 1 Tf -13.786 0 Td -(4.3)Tj -1.25 0.08 Td -(+)Tj -0.606 -0.08 Td -(BSD)Tj -/T1_1 1 Tf -2.423 0 Td -[(to )-172(refer )-172(to )-172(the )-172(Unix )-172(system )-172(from)]TJ --18.066 -1.2 Td -(Berkeley that is somewhere between the BSD Net 2 release and 4.4BSD.)Tj -/T1_0 1 Tf -7.989 0 0 7.989 183.3463 355.3095 Tm -[(At )-31(the )-31(time )-31(of )-31(this )-31(writing, )-31(4.4BSD )-31(was )-31(not )-31(r)18(eleased, )-31(so )-31(the )-31(system )-31(could )-31(not )-31(be )-31(called )-31(4.4BSD.)]TJ -0 -1.25 TD -[(Nevertheless )-356(a )-356(simple )-356(name )-356(was )-356(needed )-356(to )-356(r)18(efer )-356(to )-356(this )-356(system )-356(and)]TJ -/T1_3 1 Tf -34.154 0 Td -(4.3)Tj -1.25 0.08 Td -(+)Tj -0.606 -0.08 Td -(BSD)Tj -/T1_0 1 Tf -2.551 0 Td -[(is )-356(used)]TJ --38.562 -1.25 Td -[(thr)18(oughout the text.)]TJ -9.9862 0 0 9.9862 129.421 317.3619 Tm -[(Most of the examples in this text have been r)8(un on four dif)18(fer)18(ent versions of Unix:)]TJ -1.8 -2.4 Td -[(1. )-633(Unix)-395(System )-145(V/386 )-145(Release )-145(4.0 )-145(V)112(ersion )-145(2.0 )-145(\(\324)37(\324vanilla )-145(SVR4\325)37(\325\) )-145(fr)18(om )-145(U.H. )-145(Corp.)]TJ -1.633 -1.16 Td -(\()Tj -0.333 -0.04 Td -(UHC)Tj -2.319 0.04 Td -(\))Tj -0.333 -0.04 Td -[(,)-250(on)-250(an)-250(Intel 80386 pr)18(ocessor)74(.)]TJ --4.618 -1.6 Td -[(2. )-633(4.3)]TJ -2.883 0.08 Td -(+)Tj -0.606 -0.08 Td -[(BSD )-32(at )-32(the )-32(Computer )-32(Systems )-32(Resear)18(ch )-32(Gr)18(oup, )-32(Computer )-32(Science )-32(Division,)]TJ --1.856 -1.2 Td -[(University of California at Berkeley)111(,)-250(on)-250(a)-250(Hewlett Packar)]TJ -0.25 Tc 24.991 0 Td -(dw)Tj -0 Tc 1.695 0 Td -(orkstation.)Tj --28.319 -1.6 Td -[(3. )-633(BSD/386)-273(\(a )-23(derivative )-23(of )-23(the )-23(BSD )-23(Net )-23(2 )-23(r)18(elease\) )-23(fr)18(om )-23(Berkeley )-23(Softwar)]TJ -0.2734 Tc 33.092 0 Td -(eD)Tj -0 Tc 1.526 0 Td -(esign,)Tj --32.985 -1.2 Td -[(Inc., )-26(on )-26(an )-26(Intel )-26(80386 )-26(pr)19(ocessor)]TJ -0.5258 Tc 14.129 0 Td -(.T)Tj -0 Tc 1.389 0 Td -[(his )-26(system )-26(is )-26(almost )-26(identical )-26(to )-26(what )-26(we )-26(call)]TJ --15.518 -1.2 Td -(4.3)Tj -1.25 0.08 Td -(+)Tj -0.606 -0.08 Td -(BSD.)Tj --3.489 -1.6 Td -[(4. )-633(SunOS)-564(4.1.1 )-314(and )-314(4.1.2 )-314(\(systems )-314(with )-314(a )-314(str)18(ong )-314(Berkeley )-314(heritage )-314(but )-314(many)]TJ -1.633 -1.2 Td -[(System V featur)18(es\) fr)18(om Sun Micr)18(osystems, on a SP)92(ARCstation SLC.)]TJ --3.433 -2.4 Td -[(Numer)18(ous )-131(timing )-131(tests )-131(ar)]TJ -0.3811 Tc 11.674 0 Td -(ep)Tj --0.018 Tc 1.461 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vided )-131(in )-131(the )-131(text )-131(and )-131(the )-131(systems )-131(used )-131(for )-131(the )-131(test )-131(ar)17(e)]TJ --14.058 -1.2 Td -(identi\336ed.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46752 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Pr)4(ef)15(ace)]TJ -/TT0 1 Tf -10 0 0 10 93.6 422.4 Tm -[(Intr)20(oduction)]TJ -/T1_1 1 Tf -3.6 -2.4 Td -[(It\325s )-182(been )-182(almost )-182(eight )-182(years )-182(since )-182(I )-182(\336rst )-182(updated)]TJ -/T1_2 1 Tf -22.939 0 Td -[(Advanced )-182(Pr)18(ogramming )-182(in )-182(the )-182(UNIX)]TJ --22.939 -1.2 Td -[(Envir)18(onment)]TJ -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 6.372 0 Td -[(nd alr)18(eady so much has changed.)]TJ -0.883 Tc -4.572 -1.8 Td -(\245B)Tj -0 Tc 2.1 0 Td -(efor)Tj -0.556 Tc 1.735 0 Td -(et)Tj -0 Tc 1.361 0 Td -[(he )-306(second )-306(edition )-306(was )-306(published, )-306(The )-306(Open )-306(Gr)18(oup )-306(cr)18(eated )-306(a )-306(2004)]TJ --3.707 -1.2 Td -[(edition )-33(of )-33(the )-33(Single )-33(UNIX )-33(Speci\336cation, )-33(folding )-33(in )-33(the )-33(changes )-33(fr)18(om )-33(two )-33(sets )-33(of)]TJ -0 -1.2 TD -[(corrigenda. )-287(In)-288(2008, )-37(The )-37(Open )-37(Gr)18(oup )-37(cr)18(eated )-37(a )-37(new )-37(version )-37(of )-37(the )-37(Single )-37(UNIX)]TJ -T* -[(Speci\336cation, )-523(updating )-523(the )-523(base )-523(de\336nitions, )-523(adding )-523(new )-523(interfaces, )-523(and)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(moving )-207(obsolete )-207(ones. )-207(This )-207(was )-207(called )-207(the )-207(2008 )-207(version )-207(of )-207(POSIX.1, )-207(which)]TJ --0.856 -1.2 Td -[(included )-33(version )-33(7 )-33(of )-33(the )-33(Base )-33(Speci\336cation )-33(and )-33(was )-33(published )-33(in )-33(2009.)-533(In )-33(2010,)]TJ -T* -[(this )-72(was )-72(bundled )-72(with )-72(an )-72(updated )-72(curses )-72(interface )-72(and )-72(r)18(eissued )-72(as )-72(version )-72(4 )-72(of)]TJ -T* -(the Single UNIX Speci\336cation.)Tj -0.883 Tc -1.489 -1.6 Td -(\245V)Tj -0 Tc 2.1 0 Td -[(ersions )-38(10.5, )-38(10.6, )-38(and )-38(10.8 )-38(of )-38(the )-38(Mac )-38(OS )-38(X )-38(operating )-38(system, )-38(r)3(unning )-38(on )-38(Intel)]TJ --0.611 -1.2 Td -[(pr)18(ocessors, have been certi\336ed to be UNIX\250 systems by The Open Gr)18(oup.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245A)Tj -0 Tc 2.267 0 Td -[(pple )-271(Computer )-271(discontinued )-271(development )-271(of )-271(Mac )-271(OS )-271(X )-271(for )-271(the )-271(PowerPC)]TJ --0.778 -1.2 Td -[(platform. )-451(Fr)18(om )-201(Release )-201(10.6 )-201(\(Snow )-201(Leopar)16(d\) )-201(onwar)18(d, )-201(new )-201(operating )-201(system)]TJ -0 -1.2 Td -(versions ar)Tj -0.25 Tc 4.833 0 Td -(er)Tj -0 Tc 1.106 0 Td -[(eleased for the x86 platform only)111(.)]TJ -0.883 Tc -7.428 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-12(Solaris )-12(operating )-12(system )-12(was )-12(r)17(eleased )-12(in )-12(open )-12(sour)18(ce )-12(form )-12(to )-12(try )-12(to )-12(compete)]TJ --0.613 -1.2 Td -[(with )-66(the )-66(popularity )-66(of )-66(the )-66(open )-66(sour)18(ce )-66(model )-66(followed )-66(by )-66(Fr)18(eeBSD, )-66(Linux, )-66(and)]TJ -T* -[(Mac )-292(OS )-292(X.)-792(After )-292(Oracle )-292(Corporation )-292(bought )-292(Sun )-292(Micr)16(osystems )-292(in )-292(2010, )-292(it)]TJ -T* -[(discontinued )-114(the )-114(development )-114(of )-114(OpenSolaris.)-613(Instead, )-114(the )-114(Solaris )-114(community)]TJ -T* -[(formed )-285(the )-285(Illumos )-285(pr)18(oject )-285(to )-285(continue )-285(open )-285(sour)18(ce )-285(development )-285(based )-285(on)]TJ -T* -[(OpenSolaris. )-250(For)-250(mor)]TJ -0.25 Tc 9.723 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(nformation, see)Tj -/TT1 1 Tf -7.116 0 Td -(http://www.illumos.org)Tj -/T1_1 1 Tf -(.)Tj -/T1_3 1 Tf -9 0 0 9 507.6036 114 Tm -(xxi)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46753 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -24 0 0 24 129.6 545.576 Tm -(Contents)Tj -/TT0 1 Tf -10 0 0 10 129.6 446.3998 Tm -(Fore)Tj --0.02 Tc 2.152 0 Td -[(wo)-20(rd )-40(t)]TJ -0.278 Tc 2.96 0 Td -(ot)Tj -0 Tc 1.222 0 Td -(he Second Edition)Tj -27.908 0 Td -(xix)Tj --34.242 -2.47 Td -(Preface )Tj -34.242 0 Td -(xxi)Tj --34.242 -2.47 Td -(Preface to the Second Edition)Tj -34.098 0 Td -(xxv)Tj --34.098 -2.47 Td -[(Preface to the Fir)15(st Edition)]TJ -34.098 0 Td -(xxix)Tj --34.098 -2.47 Td -[(Chapter )-278(1.)-2032(UNIX )-278(System )-278(Over)-10(vie)]TJ -16.53 Tc 17.922 0 Td -(w1)Tj -/TT1 1 Tf -0 Tc -15.402 -1.82 Td -[(1.1 )-3012(Introduction)-2160(1)]TJ -0 -1.3 TD -[(1.2 )-3012(UNIX)-556(Architecture )-1882(1)]TJ -T* -[(1.3 )-3012(Logging)-556(In )-1882(2)]TJ -T* -[(1.4 )-3012(Files)-556(and )-278(Director)-15(ies )-1882(4)]TJ --0 -1.3 Td -[(1.5 )-3012(Input)-556(and )-278(Output)-2160(8)]TJ -0 -1.3 Td -[(1.6 )-3012(Prog)]TJ --0.01 Tc 6.782 0 Td -(ra)Tj -0 Tc 0.879 0 Td -[(ms )-278(and )-278(Processes)-2160(10)]TJ --7.661 -1.3 Td -[(1.7 )-3012(Error)-556(Handling )-1882(14)]TJ -T* -[(1.8 )-3012(User)-556(Identi\336cation )-1882(16)]TJ -T* -[(1.9 )-3012(Signals)-2160(18)]TJ -T* -[(1.10 )-2456(Time)]TJ --0.07 Tc 7.458 0 Td -(Va)Tj -0 Tc 1.153 0 Td -[(lues )-1882(20)]TJ --8.611 -1.3 Td -[(1.11 )-2456(System)-556(Calls )-278(and )-278(Libr)10(ar )248(y)-556(Functions )-1882(21)]TJ --0 -1.3 Td -[(1.12 )-2456(Summar)]TJ -2.16 Tc 8.488 0 Td -(y2)Tj -0 Tc 3.216 0 Td -(3)Tj -/TT0 1 Tf --14.224 -2.47 Td -[(Chapter )-278(2.)-2032(UNIX )-278(Standar)20(dization )-278(and )-278(Implementations)]TJ -34.674 0 Td -(25)Tj -/TT1 1 Tf --32.154 -1.82 Td -[(2.1 )-3012(Introduction)-2160(25)]TJ -/T1_1 1 Tf -9 0 0 9 512.1025 112.9998 Tm -(ix)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46754 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(2)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(UNIX )-280(Standar)6(diza )275(tion)-560(and)]TJ -0 -1.667 TD -[(Implementa )275(tions)]TJ -/TT0 1 Tf -12 0 0 12 93.6 422.3998 Tm -[(2.1 )-1332(Intr)20(oduction)]TJ -/T1_2 1 Tf -10 0 0 10 129.6 398.3998 Tm -[(Much )-76(work )-76(has )-76(gone )-76(into )-76(standar)18(dizing )-76(the )-76(UNIX )-76(pr)18(ogramming )-76(envir)18(onment )-76(and )-76(the)]TJ -0.5132 Tc 0 -1.2 TD -(Cp)Tj --0.018 Tc 1.823 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(gramming )-263(language.)-763(Although )-263(applications )-263(have )-263(always )-263(been )-263(quite )-263(portable)]TJ --2.746 -1.2 Td -[(acr)18(oss )-5(dif)18(fer)18(ent )-5(versions )-5(of )-5(the )-5(UNIX )-5(operating )-5(system, )-5(the )-5(pr)18(oliferation )-5(of )-5(versions )-5(and)]TJ -T* -[(dif)18(fer)18(ences )-68(during )-68(the )-68(1980s )-68(led )-68(many )-68(lar)18(ge )-68(users, )-68(such )-68(as )-68(the )-68(U.S. )-68(government, )-68(to )-68(call)]TJ -T* -[(for standar)18(dization.)]TJ -1.8 -1.2 Td -[(In )-139(this )-139(chapter )-139(we )-139(\336rst )-139(look )-139(at )-139(the )-139(various )-139(standar)20(dization )-139(ef)18(forts )-139(that )-139(have )-139(been)]TJ --1.8 -1.2 Td -[(under )-102(way )-102(over )-102(the )-102(past )-102(two )-102(and )-102(a )-102(half )-102(decades.)]TJ --0.092 Tc 22.955 0 Td -[(We )-286(t)]TJ -0 Tc 2.065 0 Td -[(hen )-102(discuss )-102(the )-102(ef)18(fects )-102(of )-102(these)]TJ --25.02 -1.2 Td -[(UNIX )-351(pr)18(ogramming )-351(standar)19(ds )-350(on )-350(the )-350(operating )-350(system )-350(implementations )-350(that )-350(ar)15(e)]TJ -T* -[(described )-261(in )-261(this )-261(book.)-763(An )-261(important )-261(part )-261(of )-261(all )-261(the )-261(standar)18(dization )-261(ef)18(forts )-261(is )-261(the)]TJ -T* -[(speci\336cation )-10(of )-10(various )-10(limits )-10(that )-10(each )-10(implementation )-10(must )-10(de\336ne, )-10(so )-10(we )-10(look )-10(at )-10(these)]TJ -T* -(limits and the various ways to determine their values.)Tj -/TT0 1 Tf -12 0 0 12 93.6 242.3998 Tm -[(2.2 )-1332(UNIX)-556(Standar)20(dization)]TJ -3 -3 Td -[(2.2.1 )-556(ISO)-556(C)]TJ -/T1_2 1 Tf -10 0 0 10 129.6 182.3998 Tm -[(In )-397(late )-397(1989, )-397(ANSI )-397(Standar)]TJ -0.647 Tc 13.245 0 Td -(dX)Tj -0 Tc 1.925 0 Td -(3.159)Tj -2.25 0.09 Td -(-)Tj -0.333 -0.09 Td -[(1989 )-397(for )-397(the )-397(C )-397(pr)18(ogramming )-397(language )-397(was)]TJ --17.753 -1.2 Td -[(appr)18(oved. )-731(This)-732(standar)]TJ -0.7314 Tc 11.473 0 Td -(dw)Tj -0 Tc 2.176 0 Td -[(as )-481(also )-481(adopted )-481(as )-481(International )-481(Standar)]TJ -0.7313 Tc 20.097 0 Td -(dI)Tj -0 Tc 1.679 0 Td -(SO/IEC)Tj --35.426 -1.2 Td -[(9899:1990. )-328(ANSI)-328(is )-78(the )-78(American )-78(National )-78(Standar)18(ds )-78(Institute, )-78(the )-78(U.S. )-78(member )-78(in )-78(the)]TJ -T* -[(International )-122(Or)18(ganization )-122(for )-122(Standar)18(dization)]TJ -21.404 0.04 Td -(\()Tj -0.333 -0.04 Td -(ISO)Tj -1.648 0.04 Td -(\))Tj -0.622 Tc 0.333 -0.04 Td -(.I)Tj -0 Tc 1.209 0 Td -[(EC )-122(stands )-122(for )-122(the )-122(International)]TJ --24.927 -1.2 Td -[(Electr)18(otechnical Commission.)]TJ -/T1_3 1 Tf -9 0 0 9 510.5997 113.9998 Tm -(25)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46755 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(x)Tj -/T1_1 1 Tf -2.5 0 Td -(Contents)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 154.7907 667.9599 Tm -[(2.2 )-3012(UNIX)-556(Standardization )-1882(25)]TJ -0 -1.3 TD -[(2.2.1 )-3978(ISO)]TJ -2.16 Tc 8.759 0 Td -(C2)Tj -0 Tc 3.438 0 Td -(5)Tj --12.197 -1.3 Td -[(2.2.2 )-3978(IEEE)-556(POSIX )-1882(26)]TJ -T* -[(2.2.3 )-3978(The)-556(Single )-278(UNIX )-278(Speci\336cation)-2160(30)]TJ --0 -1.3 Td -[(2.2.4 )-3978(FIPS)-2160(32)]TJ -T* -[(2.3 )-3012(UNIX)-556(System )-278(Implementations)-2160(33)]TJ -T* -[(2.3.1 )-3978(UNIX)-556(System )-278(V )-278(Release )-278(4)-2160(33)]TJ -T* -[(2.3.2 )-3978(4.4BSD)-2160(34)]TJ -T* -[(2.3.3 )-3978(F)45(reeBSD )-1882(34)]TJ -T* -[(2.3.4 )-3978(Lin)10(ux )-1882(35)]TJ -T* -[(2.3.5 )-3978(Mac)-556(OS )-278(X)-2160(35)]TJ -0 -1.3 Td -[(2.3.6 )-3978(Solar)-15(is )-1882(35)]TJ -T* -[(2.3.7 )-3978(Other)-556(UNIX )-278(Systems)-2160(35)]TJ --0 -1.3 Td -[(2.4 )-3012(Relationship)-556(of )-278(Standards )-278(and )-278(Implementations)-2160(36)]TJ -T* -[(2.5 )-3012(Limits)-2160(36)]TJ -T* -[(2.5.1 )-3978(ISO)]TJ -0.556 Tc 8.759 0 Td -(CL)Tj -0 Tc 1.834 0 Td -[(imits )-1882(37)]TJ --10.593 -1.3 Td -[(2.5.2 )-3978(POSIX)-556(Limits )-1882(38)]TJ -T* -[(2.5.3 )-3978(XSI)-556(Limits )-1882(41)]TJ -T* -(2.5.4)Tj -/TT1 1 Tf -6.48 0 Td -(sysconf)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -5.034 0 Td -(pathconf)Tj -/TT0 1 Tf -0.556 Tc (,a)Tj -0 Tc 6.19 0 Td -(nd)Tj -/TT1 1 Tf -1.668 0 Td -(fpathconf)Tj -/TT0 1 Tf --11.092 -1.3 Td -[(Functions )-1882(42)]TJ --8.28 -1.3 Td -[(2.5.5 )-3978(Indeter)-25(minate )-278(Runtime )-278(Limits)-2160(49)]TJ -0 -1.3 Td -[(2.6 )-3012(Options)-2160(53)]TJ -T* -[(2.7 )-3012(F)30(eature )-278(T)120(est )-278(Macros)-2160(57)]TJ -0 -1.3 Td -[(2.8 )-3012(Pr)-15(imitiv)]TJ -0.556 Tc 7.947 0 Td -(eS)Tj -0 Tc 1.779 0 Td -[(ystem )-278(Data )-278(T)120(ypes )-1882(58)]TJ --9.726 -1.3 Td -[(2.9 )-3012(Diff)30(erences )-278(Betw)10(een )-278(Standards)-2160(58)]TJ -T* -[(2.10 )-2456(Summar)]TJ -2.16 Tc 8.488 0 Td -(y6)Tj -0 Tc 3.216 0 Td -(0)Tj -/TT2 1 Tf --14.224 -2.47 Td -[(Chapter )-278(3.)-2032(File )-278(I/O)]TJ -34.674 0 Td -(61)Tj -/TT0 1 Tf --32.154 -1.82 Td -[(3.1 )-3012(Introduction)-2160(61)]TJ -T* -[(3.2 )-3012(File)-556(Descr )263(iptors)-2160(61)]TJ -0 -1.3 Td -(3.3)Tj -/TT1 1 Tf -4.68 0 Td -(open)Tj -/TT0 1 Tf -2.956 0 Td -(and)Tj -/TT1 1 Tf -2.224 0 Td -(openat)Tj -/TT0 1 Tf -4.156 0 Td -[(Functions )-1882(62)]TJ --14.016 -1.3 Td -(3.4)Tj -/TT1 1 Tf -4.68 0 Td -(creat)Tj -/TT0 1 Tf -3.556 0 Td -[(Function )-1882(66)]TJ --8.236 -1.3 Td -(3.5)Tj -/TT1 1 Tf -4.68 0 Td -(close)Tj -/TT0 1 Tf -3.556 0 Td -[(Function )-1882(66)]TJ --8.236 -1.3 Td -(3.6)Tj -/TT1 1 Tf -4.68 0 Td -(lseek)Tj -/TT0 1 Tf -3.556 0 Td -[(Function )-1882(66)]TJ --8.236 -1.3 Td -(3.7)Tj -/TT1 1 Tf -4.68 0 Td -(read)Tj -/TT0 1 Tf -2.956 0 Td -[(Function )-1882(71)]TJ --7.636 -1.3 Td -(3.8)Tj -/TT1 1 Tf -4.68 0 Td -(write)Tj -/TT0 1 Tf -3.556 0 Td -[(Function )-1882(72)]TJ --8.236 -1.3 Td -[(3.9 )-3012(I/O)-556(Ef\336ciency )-1882(72)]TJ -T* -[(3.10 )-2456(File)-556(Shar )263(ing)-2160(74)]TJ -0 -1.3 Td -[(3.11 )-2456(Atomic)-556(Oper)10(ations )-1882(77)]TJ -T* -(3.12)Tj -/TT1 1 Tf -4.68 0 Td -(dup)Tj -/TT0 1 Tf -2.356 0 Td -(and)Tj -/TT1 1 Tf -2.224 0 Td -(dup2)Tj -/TT0 1 Tf -2.956 0 Td -[(Functions )-1882(79)]TJ --12.216 -1.3 Td -(3.13)Tj -/TT1 1 Tf -4.68 0 Td -(sync)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -3.234 0 Td -(fsync)Tj -/TT0 1 Tf -0.556 Tc (,a)Tj -0 Tc 4.39 0 Td -(nd)Tj -/TT1 1 Tf -1.668 0 Td -(fdatasync)Tj -/TT0 1 Tf -5.956 0 Td -[(Functions )-1882(81)]TJ --19.928 -1.3 Td -(3.14)Tj -/TT1 1 Tf -4.68 0 Td -(fcntl)Tj -/TT0 1 Tf -3.556 0 Td -[(Function )-1882(82)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46756 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(82)Tj -/T1_1 1 Tf -3 0 Td -[(File )-250(I/O)]TJ -39.741 0 Td -[(Chapter )-250(3)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -(3.14)Tj -/TT1 1 Tf -3 0 Td -(fcntl)Tj -/TT0 1 Tf -3.556 0 Td -(Function)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -(The)Tj -/TT2 1 Tf -1.924 0 Td -(fcntl)Tj -/T1_1 1 Tf -3.25 0 Td -[(function can change the pr)18(operties of a \336le that is alr)18(eady open.)]TJ -/TT2 1 Tf -8.9995 0 0 8.9995 147.5911 622.2627 Tm -(#include )Tj -0 -2.021 TD -(int fcntl\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(fd)Tj -/TT2 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(cmd)Tj -/TT2 1 Tf -0.6 Tc (,.)Tj -0 Tc 3.485 0 Td -(.. /* int)Tj -/T1_2 1 Tf -6 0 Td -[(ar)18(g)]TJ -/TT2 1 Tf -1.915 0 Td -(*/ \);)Tj -/T1_1 1 Tf --10.745 -2.021 Td -(Returns: depends on)Tj -/T1_2 1 Tf -9.392 0 Td -(cmd)Tj -/T1_1 1 Tf -1.935 0 Td -(if OK \(see following\),)Tj -/TT3 1 Tf -9.704 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5814.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 561.8526 Tm -[(In )-72(the )-72(examples )-72(in )-72(this )-72(section, )-72(the )-72(thir)]TJ -0.3218 Tc 17.532 0 Td -(da)Tj --0.018 Tc 1.433 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument )-72(is )-72(always )-72(an )-72(integer)]TJ -0.3218 Tc 12.096 0 Td -(,c)Tj -0 Tc 1.016 0 Td -[(orr)18(esponding)]TJ --33.01 -1.2 Td -[(to )-18(the )-18(comment )-18(in )-18(the )-18(function )-18(pr)18(ototype )-18(just )-18(shown.)-520(When )-18(we )-18(describe )-18(r)18(ecor)]TJ -0.2681 Tc 34.855 0 Td -(dl)Tj -0 Tc 1.17 0 Td -(ocking)Tj --36.025 -1.2 Td -(in Section 14.3, however)Tj -0.25 Tc 10.622 0 Td -(,t)Tj -0 Tc 0.826 0 Td -(he thir)Tj -0.25 Tc 2.887 0 Td -(da)Tj --0.018 Tc 1.361 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument becomes a pointer to a str)8(uctur)18(e.)]TJ --14.829 -1.2 Td -(The)Tj -/TT2 1 Tf -1.924 0 Td -(fcntl)Tj -/T1_1 1 Tf -3.25 0 Td -[(function is used for \336ve dif)18(fer)18(ent purposes.)]TJ --5.174 -2.04 Td -[(1. )-633(Duplicate)-250(an existing descriptor \()]TJ -/T1_2 1 Tf -(cmd)Tj -/T1_1 1 Tf -18.269 0 Td -(=)Tj -/TT2 1 Tf -0.856 0 Td -(F_DUPFD)Tj -/T1_1 1 Tf -4.45 0 Td -(or)Tj -/TT2 1 Tf -1.191 0 Td -(F_DUPFD_CLOEXEC)Tj -/T1_1 1 Tf -(\))Tj --24.766 -1.6 Td -[(2. )-633(Get/set)-250(\336le descriptor \337ags \()]TJ -/T1_2 1 Tf -(cmd)Tj -/T1_1 1 Tf -16.279 0 Td -(=)Tj -/TT2 1 Tf -0.856 0 Td -(F_GETFD)Tj -/T1_1 1 Tf -4.45 0 Td -(or)Tj -/TT2 1 Tf -1.191 0 Td -(F_SETFD)Tj -/T1_1 1 Tf -(\))Tj --22.776 -1.6 Td -[(3. )-633(Get/set)-250(\336le status \337ags \()]TJ -/T1_2 1 Tf -(cmd)Tj -/T1_1 1 Tf -14.37 0 Td -(=)Tj -/TT2 1 Tf -0.856 0 Td -(F_GETFL)Tj -/T1_1 1 Tf -4.45 0 Td -(or)Tj -/TT2 1 Tf -1.191 0 Td -(F_SETFL)Tj -/T1_1 1 Tf -(\))Tj --20.867 -1.6 Td -[(4. )-633(Get/set)-250(asynchr)18(onous I/O ownership \()]TJ -/T1_2 1 Tf -(cmd)Tj -/T1_1 1 Tf -20.933 0 Td -(=)Tj -/TT2 1 Tf -0.856 0 Td -(F_GETOWN)Tj -/T1_1 1 Tf -5.05 0 Td -(or)Tj -/TT2 1 Tf -1.191 0 Td -(F_SETOWN)Tj -/T1_1 1 Tf -(\))Tj --28.03 -1.6 Td -[(5. )-633(Get/set)]TJ --0.018 Tc 5.286 0 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.25 Tc 1.367 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(ocks \()Tj -/T1_2 1 Tf -(cmd)Tj -/T1_1 1 Tf -4.488 0 Td -(=)Tj -/TT2 1 Tf -0.856 0 Td -(F_GETLK)Tj -/T1_1 1 Tf -(,)Tj -/TT2 1 Tf -4.7 0 Td -(F_SETLK)Tj -/T1_1 1 Tf -0.25 Tc (,o)Tj -0 Tc 5.246 0 Td -(r)Tj -/TT2 1 Tf -0.645 0 Td -(F_SETLKW)Tj -/T1_1 1 Tf -(\))Tj --0.092 Tc -26.396 -2.4 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-117(now )-117(describe )-117(the )-117(\336rst )-117(8 )-117(of )-117(these )-117(1)53(1)]TJ -/T1_2 1 Tf -17.555 0 Td -(cmd)Tj -/T1_1 1 Tf -2.052 0 Td -[(values. )-367(\(W)92(e\325ll )-117(wait )-117(until )-117(Section )-117(14.3 )-117(to)]TJ --20.994 -1.2 Td -[(describe )-27(the )-27(last )-27(3, )-27(which )-27(deal )-27(with )-27(r)15(ecor)]TJ -0.2773 Tc 18.166 0 Td -(dl)Tj -0 Tc 1.179 0 Td -[(ocking.\) )-277(Refer)-278(to )-27(Figur)]TJ -0.2773 Tc 10.249 0 Td -(e3)Tj -0 Tc 1.256 0 Td -[(.7, )-27(as )-27(we\325ll )-27(discuss)]TJ --30.85 -1.2 Td -[(both )-170(the )-170(\336le )-170(descriptor )-170(\337ags )-170(associated )-170(with )-170(each )-170(\336le )-170(descriptor )-170(in )-170(the )-170(pr)18(ocess )-170(table)]TJ -0 -1.2 TD -[(entry and the \336le status \337ags associated with each \336le table en\ try)111(.)]TJ -/TT2 1 Tf -0 -2.4 TD -(F_DUPFD)Tj -/T1_1 1 Tf -10.2 0 Td -[(Duplicate )-391(the )-391(\336le )-391(descriptor)]TJ -/T1_2 1 Tf -14.147 0 Td -(fd)Tj -/T1_1 1 Tf -0.8909 Tc (.T)Tj -0 Tc 2.532 0 Td -[(he )-391(new )-391(\336le )-391(descriptor )-391(is)]TJ --0.018 Tc -16.678 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turned )-66(as )-66(the )-66(value )-66(of )-66(the )-66(function.)-566(It )-66(is )-66(the )-66(lowest-number)17(ed)]TJ --0.856 -1.2 Td -[(descriptor )-153(that )-153(is )-153(not )-153(alr)20(eady )-152(open, )-152(and )-152(that )-152(is )-152(gr)18(eater )-152(than )-152(or)]TJ -0 -1.2 TD -[(equal )-282(to )-282(the )-282(thir)]TJ -0.5323 Tc 7.865 0 Td -(da)Tj --0.018 Tc 1.643 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument )-282(\(taken )-282(as )-282(an )-282(integer\).)-782(The )-282(new)]TJ --10.441 -1.2 Td -[(descriptor )-371(shar)18(es )-371(the )-371(same )-371(\336le )-371(table )-371(entry )-371(as)]TJ -/T1_2 1 Tf -22.722 0 Td -(fd)Tj -/T1_1 1 Tf -0.8706 Tc (.\()Tj -0 Tc 2.232 0 Td -[(Refer )-371(to)]TJ --24.953 -1.2 Td -(Figur)Tj -0.5935 Tc 2.383 0 Td -(e3)Tj -0 Tc 1.572 0 Td -[(.9.\) )-593(But)-594(the )-344(new )-344(descriptor )-344(has )-344(its )-344(own )-344(set )-344(of )-344(\336le)]TJ --3.956 -1.2 Td -[(descriptor )-369(\337ags, )-369(and )-369(its)]TJ -/TT2 1 Tf -12.059 0 Td -(FD_CLOEXEC)Tj -/T1_1 1 Tf -6.619 0 Td -[(\336le )-369(descriptor )-369(\337ag )-369(is)]TJ --18.678 -1.2 Td -[(clear)18(ed. )-423(\(This)-422(means )-173(that )-173(the )-173(descriptor )-173(is )-173(left )-173(open )-173(acr)18(oss )-173(an)]TJ -/TT2 1 Tf -T* -(exec)Tj -/T1_1 1 Tf -0.25 Tc (,w)Tj -0 Tc 3.734 0 Td -(hich we discuss in Chapter 8.\))Tj -/TT2 1 Tf --13.934 -1.72 Td -(F_DUPFD_CLOEXEC)Tj -/T1_1 1 Tf -10.2 0 Td -[(Duplicate )-442(the )-442(\336le )-442(descriptor )-442(and )-442(set )-442(the)]TJ -/TT2 1 Tf -20.733 0 Td -(FD_CLOEXEC)Tj -/T1_1 1 Tf -6.692 0 Td -(\336le)Tj --27.425 -1.2 Td -[(descriptor )-120(\337ag )-120(associated )-120(with )-120(the )-120(new )-120(descriptor)]TJ -0.6203 Tc 22.695 0 Td -(.R)Tj -0 Tc 1.538 0 Td -[(eturns )-120(the)]TJ --24.233 -1.2 Td -[(new \336le descriptor)74(.)]TJ -/TT2 1 Tf --10.2 -1.72 Td -(F_GETFD)Tj -/T1_1 1 Tf -10.2 0 Td -[(Return )-30(the )-30(\336le )-30(descriptor )-30(\337ags )-30(for)]TJ -/T1_2 1 Tf -15.37 0 Td -(fd)Tj -/T1_1 1 Tf -1.058 0 Td -[(as )-30(the )-30(value )-30(of )-30(the )-30(function.)]TJ --16.428 -1.2 Td -[(Curr)18(ently)]TJ -0.9363 Tc 4.207 0 Td -(,o)Tj -0 Tc 1.732 0 Td -[(nly )-686(one )-686(\336le )-686(descriptor )-686(\337ag )-686(is )-686(de\336ned: )-686(the)]TJ -/TT2 1 Tf --5.939 -1.2 Td -(FD_CLOEXEC)Tj -/T1_1 1 Tf -6.25 0 Td -(\337ag.)Tj -/TT2 1 Tf --16.45 -1.72 Td -(F_SETFD)Tj -/T1_1 1 Tf -10.2 0 Td -[(Set )-42(the )-42(\336le )-42(descriptor )-42(\337ags )-42(for)]TJ -/T1_2 1 Tf -13.721 0 Td -(fd)Tj -/T1_1 1 Tf -0.5425 Tc (.T)Tj -0 Tc 2.184 0 Td -[(he )-42(new )-42(\337ag )-42(value )-42(is )-42(set )-42(fr)16(om)]TJ --15.905 -1.2 Td -(the thir)Tj -0.25 Tc 3.213 0 Td -(da)Tj --0.018 Tc 1.361 0 Td -(rg)Tj -0 Tc 0.933 0 Td -(ument \(taken as an integer\).)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46757 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(3.13)]TJ -/TT0 1 Tf -24.986 0 Td -(sync)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.15 0 Td -(fsync)Tj -/T1_0 1 Tf -0.5 Tc (,a)Tj -0 Tc 4.25 0 Td -(nd)Tj -/TT0 1 Tf -1.693 0 Td -(fdatasync)Tj -/T1_0 1 Tf -5.9 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(81)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(1.)Tj -/TT0 1 Tf -1.633 0 Td -(dup2)Tj -/T1_0 1 Tf -2.728 0 Td -[(is )-78(an )-78(atomic )-78(operation, )-78(wher)17(eas )-78(the )-78(alternate )-78(form )-78(involves )-78(two )-78(function)]TJ --2.728 -1.2 Td -[(calls. )-311(It)-310(is )-61(possible )-61(in )-61(the )-61(latter )-61(case )-61(to )-61(have )-61(a )-61(signal )-61(catcher )-61(called )-61(between )-61(the)]TJ -/TT0 1 Tf -0 -1.2 TD -(close)Tj -/T1_0 1 Tf -3.495 0 Td -[(and )-245(the)]TJ -/TT0 1 Tf -4.07 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.495 0 Td -[(that )-245(could )-245(modify )-245(the )-245(\336le )-245(descriptors.)-744(\(W)]TJ -0.495 Tc 19.857 0 Td -(ed)Tj -0 Tc 1.585 0 Td -(escribe)Tj --32.502 -1.2 Td -[(signals )-233(in )-233(Chapter )-233(10.\))-733(The )-233(same )-233(pr)20(oblem )-233(could )-233(occur )-233(if )-233(a )-233(dif)20(fer)18(ent )-233(thr)18(ead)]TJ --0 -1.2 Td -[(changes the \336le descriptors.)-500(\(W)]TJ -0.25 Tc 14.006 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(escribe thr)18(eads in Chapter 1)55(1.\))]TJ --16.979 -2.08 Td -[(2. )-633(Ther)]TJ -0.25 Tc 3.684 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(s)]TJ -0 Tc 1.53 0 Td -(ome)Tj -/TT0 1 Tf -2.158 0 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -[(dif)18(fer)18(ences between)]TJ -/TT0 1 Tf -9.046 0 Td -(dup2)Tj -/T1_0 1 Tf -2.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(fcntl)Tj -/T1_0 1 Tf -(.)Tj -7.9995 0 0 7.9995 183.5884 580.1652 Tm -(The)Tj -/TT0 1 Tf -1.93 0 Td -(dup2)Tj -/T1_0 1 Tf -2.656 0 Td -[(system )-6(call )-6(originated )-6(with )-6(V)111(ersion )-6(7 )-6(and )-6(pr)18(opagated )-6(thr)18(ough )-6(the )-6(BSD )-6(r)18(eleases. )-256(The)]TJ -/TT0 1 Tf --4.586 -1.25 Td -(fcntl)Tj -/T1_0 1 Tf -3.36 0 Td -[(method )-110(for )-110(duplicating )-110(\336le )-110(descriptors )-110(appear)18(ed )-110(with )-110(System )-110(III )-110(and )-110(continued )-110(with)]TJ --3.36 -1.25 Td -[(System )-3(V)]TJ -0.5029 Tc 4.039 0 Td -(.S)Tj -0 Tc 1.278 0 Td -[(VR3.2 )-3(picked )-3(up )-3(the)]TJ -/TT0 1 Tf -9.225 0 Td -(dup2)Tj -/T1_0 1 Tf -2.653 0 Td -[(function, )-3(and )-3(4.2BSD )-3(picked )-3(up )-3(the)]TJ -/TT0 1 Tf -15.9 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.253 0 Td -[(function )-3(and)]TJ --36.347 -1.25 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(F_DUPFD)Tj -/T1_0 1 Tf -4.45 0 Td -(functionality)Tj -0.5 Tc 5.56 0 Td -(.P)Tj -0 Tc 1.354 0 Td -[(OSIX.1 r)18(equir)18(es both)]TJ -/TT0 1 Tf -9.412 0 Td -(dup2)Tj -/T1_0 1 Tf -2.65 0 Td -(and the)Tj -/TT0 1 Tf -3.58 0 Td -(F_DUPFD)Tj -/T1_0 1 Tf -4.45 0 Td -(featur)Tj -0.25 Tc 2.618 0 Td -(eo)Tj -0 Tc 1.275 0 Td -(f)Tj -/TT0 1 Tf -0.583 0 Td -(fcntl)Tj -/T1_0 1 Tf -(.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5942 514.1691 Tm -(3.13)Tj -/TT2 1 Tf -3 0 Td -(sync)Tj -/TT1 1 Tf -(,)Tj -/TT2 1 Tf -3.234 0 Td -(fsync)Tj -/TT1 1 Tf -0.556 Tc (,a)Tj -0 Tc 4.39 0 Td -(nd)Tj -/TT2 1 Tf -1.778 0 Td -(fdatasync)Tj -/TT1 1 Tf -5.956 0 Td -(Functions)Tj -/T1_0 1 Tf --0.09 Tc 9.9994 0 0 9.9994 129.5917 494.9703 Tm -(Tr)Tj -0 Tc 0.918 0 Td -[(aditional )-91(implementations )-91(of )-91(the )-91(UNIX )-91(System )-91(have )-91(a )-91(buf)16(fer )-91(cache )-91(or )-91(page )-91(cache )-91(in)]TJ --0.918 -1.2 Td -[(the )-53(kernel )-53(thr)18(ough )-53(which )-53(most )-53(disk )-53(I/O )-53(passes.)-553(When )-53(we )-53(write )-53(data )-53(to )-53(a )-53(\336le, )-53(the )-53(data)]TJ -T* -[(is )-12(normally )-12(copied )-12(by )-12(the )-12(kernel )-12(into )-12(one )-12(of )-12(its )-12(buf)14(fers )-12(and )-12(queued )-12(for )-12(writing )-12(to )-12(disk )-12(at)]TJ -T* -[(some )-142(later )-142(time.)-643(This )-142(is )-142(called)]TJ -/T1_2 1 Tf -14.397 0 Td -[(delayed )-142(write)]TJ -/T1_0 1 Tf -0.6423 Tc (.\()Tj -0 Tc 6.729 0 Td -[(Chapter )-142(3 )-142(of )-142(Bach)]TJ -8.677 0.04 Td -([)Tj -0.333 -0.04 Td -(1986)Tj -2 0.04 Td -(])Tj -0.725 -0.04 Td -[(discusses )-142(this)]TJ --32.861 -1.2 Td -[(buf)18(fer cache in detail.\))]TJ -1.8 -1.2 Td -[(The )-59(kernel )-59(eventually )-59(writes )-59(all )-59(the )-59(delayed-write )-59(blocks )-59(to )-59(disk, )-59(normally )-59(when )-59(it)]TJ --1.8 -1.2 Td -[(needs )-128(to )-128(r)18(euse )-128(the )-128(buf)18(fer )-128(for )-128(some )-128(other )-128(disk )-128(block.)]TJ --0.092 Tc 24.36 0 Td -[(To )-312(e)]TJ -0 Tc 1.924 0 Td -(nsur)Tj -0.378 Tc 1.986 0 Td -(ec)Tj -0 Tc 1.301 0 Td -[(onsistency )-128(of )-128(the )-128(\336le)]TJ --29.571 -1.2 Td -[(system )-18(on )-18(disk )-18(with )-18(the )-18(contents )-18(of )-18(the )-18(buf)18(fer )-18(cache, )-18(the)]TJ -/TT0 1 Tf -25.204 0 Td -(sync)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -2.918 0 Td -(fsync)Tj -/T1_0 1 Tf -0.2675 Tc (,a)Tj -0 Tc 4.018 0 Td -(nd)Tj -/TT0 1 Tf -1.461 0 Td -(fdatasync)Tj -/T1_0 1 Tf --33.6 -1.2 Td -(functions ar)Tj -0.25 Tc 5.258 0 Td -(ep)Tj --0.018 Tc 1.33 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(vided.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 376.2774 Tm -(#include )Tj -0 -1.783 TD -(int fsync\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj --8.4 -1.783 Td -(int fdatasync\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -16.051 -1.783 Td -(Returns: 0 if OK,)Tj -/TT3 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --34.464 -1.783 Td -(void sync\(void\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3076.25 cm -0 0 m -0 777 l -3900 777 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 288.0654 Tm -(The)Tj -/TT0 1 Tf -1.932 0 Td -(sync)Tj -/T1_0 1 Tf -2.658 0 Td -[(function )-8(simply )-8(queues )-8(all )-8(the )-8(modi\336ed )-8(block )-8(buf)18(fers )-8(for )-8(writing )-8(and )-8(r)13(eturns;)]TJ --4.591 -1.2 Td -(it does not wait for the disk writes to take place.)Tj -1.8 -1.2 Td -[(The )-16(function)]TJ -/TT0 1 Tf -5.913 0 Td -(sync)Tj -/T1_0 1 Tf -2.666 0 Td -[(is )-16(normally )-16(called )-16(periodically )-16(\(usually )-16(every )-16(30 )-16(seconds\) )-16(fr)18(om )-16(a)]TJ --10.379 -1.2 Td -[(system )-88(daemon, )-88(often )-88(called)]TJ -/TT0 1 Tf -13.179 0 Td -(update)Tj -/T1_0 1 Tf -0.5885 Tc (.T)Tj -0 Tc 5.051 0 Td -[(his )-88(guarantees )-88(r)17(egular )-89(\337ushing )-89(of )-89(the )-89(kernel\325s)]TJ --18.23 -1.2 Td -[(block buf)18(fers. )-250(The)-250(command)]TJ -/TT0 1 Tf -13.115 0 Td -(sync)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(also calls the)Tj -/TT0 1 Tf -5.848 0 Td -(sync)Tj -/T1_0 1 Tf -2.65 0 Td -(function.)Tj --23.629 -1.2 Td -[(The )-135(function)]TJ -/TT0 1 Tf -6.151 0 Td -(fsync)Tj -/T1_0 1 Tf --0.018 Tc 3.385 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fers )-135(only )-135(to )-135(a )-135(single )-135(\336le, )-135(speci\336ed )-135(by )-135(the )-135(\336le )-135(descriptor)]TJ -/T1_2 1 Tf -25.779 0 Td -(fd)Tj -/T1_0 1 Tf -(,)Tj --37.972 -1.2 Td -[(and )-60(waits )-60(for )-60(the )-60(disk )-60(writes )-60(to )-60(complete )-60(befor)]TJ -0.3097 Tc 21.046 0 Td -(er)Tj -0 Tc 1.166 0 Td -[(eturning. )-310(This)-309(function )-60(is )-60(used )-60(when)]TJ --22.211 -1.2 Td -[(an )-52(application, )-52(such )-52(as )-52(a )-52(database, )-52(needs )-52(to )-52(be )-52(sur)]TJ -0.3022 Tc 22.528 0 Td -(et)Tj -0 Tc 1.107 0 Td -[(hat )-52(the )-52(modi\336ed )-52(blocks )-52(have )-52(been)]TJ --23.635 -1.2 Td -(written to the disk.)Tj -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -1.938 0 Td -(fdatasync)Tj -/T1_0 1 Tf -5.664 0 Td -[(function )-14(is )-14(similar )-14(to)]TJ -/TT0 1 Tf -9.425 0 Td -(fsync)Tj -/T1_0 1 Tf -0.2641 Tc (,b)Tj -0 Tc 4.067 0 Td -[(ut )-14(it )-14(af)18(fects )-14(only )-14(the )-14(data )-14(portions )-14(of)]TJ -0.25 Tc -22.895 -1.2 Td -(a\336)Tj -0 Tc 1.355 0 Td -[(le. )-250(W)55(ith)]TJ -/TT0 1 Tf -3.914 0 Td -(fsync)Tj -/T1_0 1 Tf -0.25 Tc (,t)Tj -0 Tc 3.826 0 Td -(he \336le\325s attributes ar)Tj -0.25 Tc 8.988 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(lso updated synchr)18(onously)111(.)]TJ -7.999 0 0 7.999 183.5782 148.0822 Tm -[(All )-37(four )-37(of )-37(the )-37(platforms )-37(described )-37(in )-37(this )-37(book )-37(support)]TJ -/TT0 1 Tf -25.152 0 Td -(sync)Tj -/T1_0 1 Tf -2.687 0 Td -(and)Tj -/TT0 1 Tf -1.98 0 Td -(fsync)Tj -/T1_0 1 Tf -0.537 Tc (.H)Tj -0 Tc 4.619 0 Td -(owever)Tj -0.287 Tc 3.224 0 Td -(,F)Tj --0.018 Tc 1.093 0 Td -(re)Tj -0 Tc 0.856 0 Td -(eBSD)Tj --39.611 -1.25 Td -(8.0 does not support)Tj -/TT0 1 Tf -9.26 0 Td -(fdatasync)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46758 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(3.12)]TJ -/TT0 1 Tf -32.586 0 Td -(dup)Tj -/T1_0 1 Tf -2.3 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(dup2)Tj -/T1_0 1 Tf -2.9 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(79)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(Calling)Tj -/TT0 1 Tf -3.482 0 Td -(pwrite)Tj -/T1_0 1 Tf -3.862 0 Td -[(is )-12(equivalent )-12(to )-12(calling)]TJ -/TT0 1 Tf -10.265 0 Td -(lseek)Tj -/T1_0 1 Tf -3.262 0 Td -[(followed )-12(by )-12(a )-12(call )-12(to)]TJ -/TT0 1 Tf -9.248 0 Td -(write)Tj -/T1_0 1 Tf -0.2619 Tc (,w)Tj -0 Tc 4.346 0 Td -[(ith )-12(similar)]TJ --34.464 -1.2 Td -(exceptions.)Tj -/TT1 1 Tf --3.6 -2.88 Td -(Creating a File)Tj -/T1_0 1 Tf --0.092 Tc 3.6 -2.4 Td -[(We )-251(s)]TJ -0 Tc 2.128 0 Td -[(aw )-67(another )-67(example )-67(of )-67(an )-67(atomic )-67(operation )-67(when )-67(we )-67(described )-67(the)]TJ -/TT0 1 Tf -30.662 0 Td -(O_CREAT)Tj -/T1_0 1 Tf -4.517 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(O_EXCL)Tj -/T1_0 1 Tf -3.966 0 Td -[(options )-116(for )-116(the)]TJ -/TT0 1 Tf -7.074 0 Td -(open)Tj -/T1_0 1 Tf -2.766 0 Td -[(function. )-366(When)-365(both )-116(of )-116(these )-116(options )-116(ar)]TJ -0.3657 Tc 18.413 0 Td -(es)Tj -0 Tc 1.269 0 Td -[(peci\336ed, )-116(the)]TJ -/TT0 1 Tf --33.487 -1.2 Td -(open)Tj -/T1_0 1 Tf -2.733 0 Td -[(will )-83(fail )-83(if )-83(the )-83(\336le )-83(alr)19(eady )-83(exists.)]TJ --0.092 Tc 15.112 0 Td -[(We )-267(a)]TJ -0 Tc 2.22 0 Td -[(lso )-83(said )-83(that )-83(the )-83(check )-83(for )-83(the )-83(existence )-83(of)]TJ --20.065 -1.2 Td -[(the )-65(\336le )-65(and )-65(the )-65(cr)18(eation )-65(of )-65(the )-65(\336le )-65(was )-65(performed )-65(as )-65(an )-65(atomic )-65(operation.)-565(If )-65(we )-65(didn\325t)]TJ -0 -1.2 TD -(have this atomic operation, we might try)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 535.8678 Tm -(if \(\(fd = open\(path, O_WRONLY\)\) < 0\) {)Tj -2.4 -1.189 Td -(if \(errno == ENOENT\) {)Tj -2.4 -1.189 Td -(if \(\(fd = creat\(path, mode\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("creat error"\);)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(err_sys\("open error"\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 439.3736 Tm -[(The )-84(pr)18(oblem )-84(occurs )-84(if )-84(the )-84(\336le )-84(is )-84(cr)18(eated )-84(by )-84(another )-84(pr)18(ocess )-84(between )-84(the)]TJ -/TT0 1 Tf -32.852 0 Td -(open)Tj -/T1_0 1 Tf -2.734 0 Td -[(and )-84(the)]TJ -/TT0 1 Tf --35.586 -1.2 Td -(creat)Tj -/T1_0 1 Tf -0.5414 Tc (.I)Tj -0.2914 Tc 4.128 0 Td -(ft)Tj -0 Tc 0.95 0 Td -[(he )-41(\336le )-41(is )-41(cr)18(eated )-41(by )-41(another )-41(pr)18(ocess )-41(between )-41(these )-41(two )-41(function )-41(calls, )-41(and )-41(if)]TJ --5.079 -1.2 Td -[(that )-100(other )-100(pr)18(ocess )-100(writes )-100(something )-100(to )-100(the )-100(\336le, )-100(that )-100(data )-100(is )-100(erased )-100(when )-100(this)]TJ -/TT0 1 Tf -34.935 0 Td -(creat)Tj -/T1_0 1 Tf -3.35 0 Td -(is)Tj --38.285 -1.2 Td -[(executed. )-571(Combining)-571(the )-321(test )-321(for )-321(existence )-321(and )-321(the )-321(cr)18(eation )-321(into )-321(a )-321(single )-321(atomic)]TJ -T* -[(operation avoids this pr)18(oblem.)]TJ -1.8 -1.2 Td -[(In )-71(general, )-71(the )-71(term)]TJ -/T1_2 1 Tf -9.205 0 Td -[(atomic )-71(operation)]TJ -/T1_0 1 Tf --0.018 Tc 7.103 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fers )-71(to )-71(an )-71(operation )-71(that )-71(might )-71(be )-71(composed)]TJ --18.964 -1.2 Td -[(of )-246(multiple )-246(steps.)-745(If )-246(the )-246(operation )-246(is )-246(performed )-246(atomically)]TJ -0.4957 Tc 27.64 0 Td -(,e)Tj -0 Tc 1.225 0 Td -[(ither )-246(all )-246(the )-246(steps )-246(ar)19(e)]TJ --28.865 -1.2 Td -[(performed )-78(\(on )-78(success\) )-78(or )-78(none )-78(ar)]TJ -0.3284 Tc 15.408 0 Td -(ep)Tj -0 Tc 1.408 0 Td -[(erformed )-78(\(on )-78(failur)17(e\). )-328(It)-329(must )-78(not )-78(be )-78(possible )-78(for)]TJ --16.816 -1.2 Td -[(only )-2(a )-2(subset )-2(of )-2(the )-2(steps )-2(to )-2(be )-2(performed.)]TJ --0.092 Tc 19.2 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-2(r)18(eturn )-2(to )-2(the )-2(topic )-2(of )-2(atomic )-2(operations)]TJ --20.587 -1.2 Td -(when we describe the)Tj -/TT0 1 Tf -9.853 0 Td -(link)Tj -/T1_0 1 Tf -2.65 0 Td -[(function \(Section 4.15\) and r)18(ecor)]TJ -0.25 Tc 14.232 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(ocking \(Section 14.3\).)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5939 295.3823 Tm -(3.12)Tj -/TT2 1 Tf -3 0 Td -(dup)Tj -/TT1 1 Tf -2.356 0 Td -(and)Tj -/TT2 1 Tf -2.334 0 Td -(dup2)Tj -/TT1 1 Tf -2.956 0 Td -(Functions)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5917 271.3837 Tm -(An existing \336le descriptor is duplicated by either of the following f\ unctions:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5906 254.6847 Tm -(#include )Tj -0 -2.021 TD -(int dup\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj --7.2 -2.021 Td -(int dup2\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(fd2)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -5.291 -2.021 Td -[(Both r)18(eturn: new \336le descriptor if OK,)]TJ -/TT3 1 Tf -16.995 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1956.25 cm -0 0 m -0 681 l -3900 681 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 182.1081 Tm -[(The )-245(new )-245(\336le )-245(descriptor )-245(r)18(eturned )-245(by)]TJ -/TT0 1 Tf -17.39 0 Td -(dup)Tj -/T1_0 1 Tf -2.296 0 Td -[(is )-245(guaranteed )-245(to )-245(be )-245(the )-245(lowest-number)16(ed)]TJ --19.685 -1.2 Td -[(available )-4(\336le )-4(descriptor)]TJ -0.5045 Tc 10.292 0 Td -(.W)Tj -0 Tc 1.699 0 Td -(ith)Tj -/TT0 1 Tf -1.454 0 Td -(dup2)Tj -/T1_0 1 Tf -[(,)-255(we)-255(s)1(pecify )-5(the )-5(value )-5(of )-5(the )-5(new )-5(descriptor )-5(with )-5(the)]TJ -/T1_2 1 Tf --13.445 -1.2 Td -(fd2)Tj -/T1_0 1 Tf -1.556 0 Td -[(ar)18(gument. )-277(If)]TJ -/T1_2 1 Tf -6.031 0 Td -(fd2)Tj -/T1_0 1 Tf -1.555 0 Td -[(is )-27(alr)18(eady )-27(open, )-27(it )-27(is )-27(\336rst )-27(closed.)-530(If)]TJ -/T1_2 1 Tf -15.753 0 Td -(fd)Tj -/T1_0 1 Tf -1.055 0 Td -(equals)Tj -/T1_2 1 Tf -3.134 0 Td -(fd2)Tj -/T1_0 1 Tf -0.2774 Tc (,t)Tj -0 Tc 2.131 0 Td -(hen)Tj -/TT0 1 Tf -1.92 0 Td -(dup2)Tj -/T1_0 1 Tf --0.018 Tc 2.677 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -/T1_2 1 Tf --36.67 -1.2 Td -(fd2)Tj -/T1_0 1 Tf -1.546 0 Td -[(without )-18(closing )-18(it.)-517(Otherwise, )-18(the)]TJ -/TT0 1 Tf -15.331 0 Td -(FD_CLOEXEC)Tj -/T1_0 1 Tf -6.268 0 Td -[(\336le )-18(descriptor )-18(\337ag )-18(is )-18(clear)18(ed )-18(for)]TJ -/T1_2 1 Tf -14.328 0 Td -(fd2)Tj -/T1_0 1 Tf -(,)Tj --37.472 -1.2 Td -(so that)Tj -/T1_2 1 Tf -3.204 0 Td -(fd2)Tj -/T1_0 1 Tf -1.528 0 Td -[(is left open if the pr)18(ocess calls)]TJ -/TT0 1 Tf -13.358 0 Td -(exec)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46759 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(3.1)]TJ -30.2473 Tc 4.888 0 Td -(1A)Tj -0 Tc 31.525 0 Td -[(tomic )-250(Operations)]TJ -/T1_1 1 Tf -9.92 0 Td -(77)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -0.883 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245A)Tj -0 Tc 2.267 0 Td -[(fter )-189(each)]TJ -/TT0 1 Tf -4.417 0 Td -(write)Tj -/T1_0 1 Tf -3.439 0 Td -[(is )-189(complete, )-189(the )-189(curr)18(ent )-189(\336le )-189(of)18(fset )-189(in )-189(the )-189(\336le )-189(table )-189(entry )-189(is)]TJ --8.634 -1.2 Td -[(incr)18(emented )-33(by )-33(the )-33(number )-33(of )-33(bytes )-33(written.)-533(If )-33(this )-33(causes )-33(the )-33(curr)18(ent )-33(\336le )-33(of)18(fset)]TJ --0 -1.2 Td -[(to )-45(exceed )-45(the )-45(curr)18(ent )-45(\336le )-45(size, )-45(the )-45(curr)17(ent )-45(\336le )-45(size )-45(in )-45(the )-45(i-node )-45(table )-45(entry )-45(is )-45(set)]TJ -0 -1.2 TD -[(to the curr)18(ent \336le of)18(fset \(for example, the \336le is extended\).)]TJ -0.883 Tc -1.489 -1.6 Td -(\245I)Tj -0.3027 Tc 1.826 0 Td -(fa\336)Tj -0 Tc 2.043 0 Td -[(le )-53(is )-53(opened )-53(with )-53(the)]TJ -/TT0 1 Tf -9.716 0 Td -(O_APPEND)Tj -/T1_0 1 Tf -5.103 0 Td -[(\337ag, )-53(a )-53(corr)18(esponding )-53(\337ag )-53(is )-53(set )-53(in )-53(the )-53(\336le)]TJ --17.199 -1.2 Td -[(status )-17(\337ags )-17(of )-17(the )-17(\336le )-17(table )-17(entry)]TJ -0.5167 Tc 14.308 0 Td -(.E)Tj -0 Tc 1.378 0 Td -[(ach )-17(time )-17(a)]TJ -/TT0 1 Tf -4.805 0 Td -(write)Tj -/T1_0 1 Tf -3.267 0 Td -[(is )-17(performed )-17(for )-17(a )-17(\336le )-17(with)]TJ --23.758 -1.2 Td -[(this )-50(append )-50(\337ag )-50(set, )-50(the )-50(curr)18(ent )-50(\336le )-50(of)18(fset )-50(in )-50(the )-50(\336le )-50(table )-50(entry )-50(is )-50(\336rst )-50(set )-50(to )-50(the)]TJ -T* -[(curr)18(ent )-235(\336le )-235(size )-235(fr)18(om )-235(the )-235(i-node )-235(table )-235(entry)]TJ -0.7347 Tc 20.412 0 Td -(.T)Tj -0 Tc 1.598 0 Td -[(his )-235(for)18(ces )-235(every)]TJ -/TT0 1 Tf -7.828 0 Td -(write)Tj -/T1_0 1 Tf -3.485 0 Td -[(to )-235(be)]TJ --33.322 -1.2 Td -[(appended to the curr)18(ent end of \336le.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245I)Tj -0.2539 Tc 1.826 0 Td -(fa\336)Tj -0 Tc 1.946 0 Td -[(le )-4(is )-4(positioned )-4(to )-4(its )-4(curr)18(ent )-4(end )-4(of )-4(\336le )-4(using)]TJ -/TT0 1 Tf -20.222 0 Td -(lseek)Tj -/T1_0 1 Tf -0.2539 Tc (,a)Tj -0 Tc 4.004 0 Td -[(ll )-4(that )-4(happens )-4(is )-4(the)]TJ --26.509 -1.2 Td -[(curr)18(ent )-161(\336le )-161(of)18(fset )-161(in )-161(the )-161(\336le )-161(table )-161(entry )-161(is )-161(set )-161(to )-161(the )-161(curr)18(ent )-161(\336le )-161(size )-161(fr)14(om )-161(the)]TJ -0 -1.2 Td -[(i-node )-55(table )-55(entry)]TJ -0.555 Tc 7.828 0 Td -(.\()Tj -0 Tc 1.138 0 Td -[(Note )-55(that )-55(this )-55(is )-55(not )-55(the )-55(same )-55(as )-55(if )-55(the )-55(\336le )-55(was )-55(opened )-55(with)]TJ --8.966 -1.2 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(O_APPEND)Tj -/T1_0 1 Tf -5.05 0 Td -[(\337ag, as we will see in Section 3.1)55(1.\))]TJ -0.883 Tc -8.176 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.435 0 Td -(lseek)Tj -/T1_0 1 Tf -3.374 0 Td -[(function )-124(modi\336es )-124(only )-124(the )-124(curr)18(ent )-124(\336le )-124(of)18(fset )-124(in )-124(the )-124(\336le )-124(table )-124(entry)110(.)]TJ --5.422 -1.2 Td -(No I/O takes place.)Tj --1.489 -2.4 Td -[(It )-97(is )-97(possible )-97(for )-97(mor)]TJ -0.3466 Tc 9.453 0 Td -(et)Tj -0 Tc 1.152 0 Td -[(han )-96(one )-96(\336le )-96(descriptor )-96(entry )-96(to )-96(point )-96(to )-96(the )-96(same )-96(\336le )-96(table)]TJ --12.405 -1.2 Td -[(entry)111(,)-292(as)-292(we\325ll )-42(see )-42(when )-42(we )-42(discuss )-42(the)]TJ -/TT0 1 Tf -17.692 0 Td -(dup)Tj -/T1_0 1 Tf -2.092 0 Td -[(function )-42(in )-42(Section )-42(3.12.)-542(This )-42(also )-42(happens)]TJ --19.784 -1.2 Td -[(after )-24(a)]TJ -/TT0 1 Tf -3.081 0 Td -(fork)Tj -/T1_0 1 Tf -2.674 0 Td -[(when )-24(the )-24(par)18(ent )-24(and )-24(the )-24(child )-24(shar)]TJ -0.2738 Tc 15.554 0 Td -(et)Tj -0 Tc 1.079 0 Td -[(he )-24(same )-24(\336le )-24(table )-24(entry )-24(for )-24(each )-24(open)]TJ --22.387 -1.2 Td -(descriptor \(Section 8.3\).)Tj -1.8 -1.2 Td -[(Note )-190(the )-190(dif)18(fer)18(ence )-190(in )-190(scope )-190(between )-190(the )-190(\336le )-190(descriptor )-190(\337ags )-190(and )-190(the )-190(\336le )-190(status)]TJ --1.8 -1.2 Td -[(\337ags. )-250(The)-251(former apply only to a single descriptor in a single pr)18(ocess, wher)18(eas the latter)]TJ -T* -[(apply )-46(to )-46(all )-46(descriptors )-46(in )-46(any )-46(pr)18(ocess )-46(that )-46(point )-46(to )-46(the )-46(given )-46(\336le )-46(table )-46(entry)]TJ -0.546 Tc 33.952 0 Td -(.W)Tj -0 Tc 1.796 0 Td -[(hen )-46(we)]TJ --35.748 -1.2 Td -[(describe )-37(the)]TJ -/TT0 1 Tf -5.637 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.287 0 Td -[(function )-37(in )-37(Section )-37(3.14, )-37(we\325ll )-37(see )-37(how )-37(to )-37(fetch )-37(and )-37(modify )-37(both )-37(the)]TJ --8.924 -1.2 Td -(\336le descriptor \337ags and the \336le status \337ags.)Tj -1.8 -1.2 Td -[(Everything )-280(that )-280(we\325ve )-280(described )-280(so )-280(far )-280(in )-280(this )-280(section )-280(works )-280(\336ne )-280(for )-280(multiple)]TJ --1.8 -1.2 Td -[(pr)18(ocesses )-79(that )-79(ar)]TJ -0.3288 Tc 7.467 0 Td -(er)Tj -0 Tc 1.185 0 Td -[(eading )-79(the )-79(same )-79(\336le.)-579(Each )-79(pr)18(ocess )-79(has )-79(its )-79(own )-79(\336le )-79(table )-79(entry )-79(with)]TJ --8.651 -1.2 Td -[(its )-305(own )-305(curr)18(ent )-305(\336le )-305(of)16(fset. )-555(Unexpected)]TJ --0.018 Tc 19.135 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sults )-306(can )-306(arise, )-306(however)]TJ -0.5556 Tc 11.406 0 Td -(,w)Tj -0 Tc 1.64 0 Td -[(hen )-306(multiple)]TJ --33.036 -1.2 Td -[(pr)18(ocesses )-237(write )-237(to )-237(the )-237(same )-237(\336le.)]TJ --0.092 Tc 15.866 0 Td -[(To )-421(s)]TJ -0 Tc 1.978 0 Td -[(ee )-237(how )-237(to )-237(avoid )-237(some )-237(surprises, )-237(we )-237(need )-237(to)]TJ --17.844 -1.2 Td -(understand the concept of atomic operations.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5947 272.9836 Tm -[(3.11 )-776(Atomic)-556(Operations)]TJ -9.9994 0 0 9.9994 93.5947 244.1853 Tm -(Appending to a File)Tj -/T1_0 1 Tf -3.6 -2.16 Td -[(Consider )-98(a )-98(single )-98(pr)18(ocess )-98(that )-98(wants )-98(to )-98(append )-98(to )-98(the )-98(end )-98(of )-98(a )-98(\336le.)-597(Older )-98(versions )-98(of)]TJ -T* -[(the )-138(UNIX )-138(System )-138(didn\325t )-138(support )-138(the)]TJ -/TT0 1 Tf -17.1 0 Td -(O_APPEND)Tj -/T1_0 1 Tf -5.187 0 Td -[(option )-137(to)]TJ -/TT0 1 Tf -4.539 0 Td -(open)Tj -/T1_0 1 Tf -[(,)-387(so)-387(t)-1(he )-137(pr)18(ogram )-137(was)]TJ --26.827 -1.2 Td -(coded as follows:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 181.8891 Tm -(if \(lseek\(fd, 0L, 2\) < 0\))Tj -20.4 0 Td -(/* position to EOF */)Tj --18.6 -1.189 Td -(err_sys\("lseek error"\);)Tj --1.8 -1.189 Td -[(if \(write\(fd, buf, 100\) != 100\))-1800(/* and write */)]TJ -1.8 -1.189 Td -(err_sys\("write error"\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46760 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(74)Tj -/T1_1 1 Tf -3 0 Td -[(File )-250(I/O)]TJ -39.741 0 Td -[(Chapter )-250(3)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-111(r)18(eturn )-111(to )-111(this )-111(timing )-111(example )-111(later )-111(in )-111(the )-111(text.)-615(In )-111(Section )-111(3.14, )-111(we )-111(show )-111(the)]TJ --3.187 -1.2 Td -[(ef)18(fect )-168(of )-168(synchr)18(onous )-168(writes; )-168(in )-168(Section )-168(5.8, )-168(we )-168(compar)]TJ -0.4178 Tc 25.493 0 Td -(et)Tj -0 Tc 1.223 0 Td -[(hese )-168(unbuf)18(fer)18(ed )-168(I/O )-168(times)]TJ --26.715 -1.2 Td -(with the standar)Tj -0.25 Tc 7.24 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O library)111(.)]TJ -7.9995 0 0 7.9995 183.5887 624.9625 Tm -(Bewar)Tj -0.3601 Tc 2.801 0 Td -(ew)Tj -0 Tc 1.673 0 Td -[(hen )-110(trying )-110(to )-110(measur)]TJ -0.3603 Tc 9.567 0 Td -(et)Tj -0 Tc 1.165 0 Td -[(he )-110(performance )-110(of )-110(pr)18(ograms )-110(that )-110(r)18(ead )-110(and )-110(write )-110(\336les.)-612(The)]TJ --15.207 -1.25 Td -[(operating )-141(system )-141(will )-141(try )-141(to )-141(cache )-141(the )-141(\336le )-141(incor)18(e, )-141(so )-141(if )-141(you )-141(measur)]TJ -0.3914 Tc 30.666 0 Td -(et)Tj -0 Tc 1.196 0 Td -[(he )-141(performance )-141(of )-141(the)]TJ --31.862 -1.25 Td -[(pr)18(ogram )-474(r)18(epeatedly)]TJ -0.724 Tc 9.17 0 Td -(,t)Tj -0 Tc 1.3 0 Td -[(he )-474(successive )-474(timings )-474(will )-474(likely )-474(be )-474(better )-474(than )-474(the )-474(\336rst.)-975(This)]TJ --10.47 -1.25 Td -[(impr)18(ovement )-46(occurs )-46(because )-46(the )-46(\336rst )-46(r)8(un )-46(causes )-46(the )-46(\336le )-46(to )-46(be )-46(enter)15(ed )-46(into )-46(the )-46(system\325s )-46(cache,)]TJ -0 -1.25 TD -[(and )-25(successive )-25(r)8(uns )-25(access )-25(the )-25(\336le )-25(fr)18(om )-25(the )-25(system\325s )-25(cache )-25(instead )-25(of )-25(fr)18(om )-25(the )-25(disk.)-525(\(The )-25(term)]TJ -/T1_2 1 Tf -T* -[(incor)18(e)]TJ -/T1_1 1 Tf -2.827 0 Td -(means)Tj -/T1_2 1 Tf -3.25 0 Td -[(in )-132(main )-132(memory)]TJ -/T1_1 1 Tf -0.6323 Tc (.B)Tj -0 Tc 8.426 0 Td -[(ack )-132(in )-132(the )-132(day)]TJ -0.3821 Tc 6.463 0 Td -(,ac)Tj -0 Tc 1.958 0 Td -[(omputer )176(\325s)-382(main )-132(memory )-132(was )-132(built )-132(out )-132(of)]TJ --22.924 -1.25 Td -[(ferrite )-62(cor)18(e. )-312(This)-312(is )-62(wher)]TJ -0.312 Tc 11.189 0 Td -(et)Tj -0 Tc 1.117 0 Td -[(he )-62(phrase )-62(\324)37(\324cor)]TJ -0.312 Tc 6.552 0 Td -(ed)Tj -0 Tc 1.402 0 Td -(ump\325)Tj -0.312 Tc 2.328 0 Td -(\325c)Tj -0 Tc 1.034 0 Td -[(omes )-62(fr)18(om: )-62(the )-62(main )-62(memory )-62(image )-62(of )-62(a)]TJ --23.622 -1.25 Td -[(pr)18(ogram stor)18(ed in a \336le on disk for diagnosis.\))]TJ --0 -1.875 Td -[(In )-174(the )-174(tests )-174(r)18(eported )-174(in )-174(Figur)]TJ -0.4238 Tc 13.474 0 Td -(e3)Tj -0 Tc 1.403 0 Td -[(.6, )-174(each )-174(r)8(un )-174(with )-174(a )-174(dif)19(fer)18(ent )-174(buf)18(fer )-174(size )-174(was )-174(made )-174(using )-174(a)]TJ --14.877 -1.25 Td -[(dif)18(fer)18(ent )-166(copy )-166(of )-166(the )-166(\336le )-166(so )-166(that )-166(the )-166(curr)16(ent )-166(r)8(un )-166(didn\325t )-166(\336nd )-166(the )-166(data )-166(in )-166(the )-166(cache )-166(fr)18(om )-166(the)]TJ -T* -[(pr)18(evious )-7(r)8(un. )-257(The)-257(\336les )-7(ar)]TJ -0.2573 Tc 11.337 0 Td -(el)Tj -0 Tc 1.027 0 Td -[(ar)18(ge )-7(enough )-7(that )-7(they )-7(all )-7(don\325t )-7(r)18(emain )-7(in )-7(the )-7(cache )-7(\(the )-7(test )-7(system)]TJ --12.364 -1.25 Td -[(was con\336gur)18(ed with 6 GB of RAM\).)]TJ -/TT0 1 Tf -11.9993 0 0 11.9993 93.5936 473.9716 Tm -[(3.10 )-776(File)-556(Sharing)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5914 449.973 Tm -[(The )-51(UNIX )-51(System )-51(supports )-51(the )-51(sharing )-51(of )-51(open )-51(\336les )-51(among )-51(dif)16(fer)18(ent )-51(pr)18(ocesses. )-301(Befor)18(e)]TJ --0 -1.2 Td -[(describing )-19(the)]TJ -/TT1 1 Tf -6.551 0 Td -(dup)Tj -/T1_1 1 Tf -2.069 0 Td -[(function, )-19(we )-19(need )-19(to )-19(describe )-19(this )-19(sharing.)]TJ --0.092 Tc 19.304 0 Td -[(To )-203(d)]TJ -0.2689 Tc 1.947 0 Td -(ot)Tj -0 Tc 1.141 0 Td -[(his, )-19(we\325ll )-19(examine)]TJ --31.012 -1.2 Td -[(the data str)8(uctur)18(es used by the kernel for all I/O.)]TJ -7.9995 0 0 7.9995 183.5881 405.9756 Tm -[(The )-19(following )-19(description )-19(is )-19(conceptual; )-19(it )-19(may )-19(or )-19(may )-19(not )-19(match )-19(a )-19(particular )-19(implementation.)]TJ -T* -[(Refer )-118(to )-118(Bach)]TJ -6.467 0.04 Td -([)Tj -0.333 -0.04 Td -(1986)Tj -2 0.04 Td -(])Tj -0.701 -0.04 Td -[(for )-118(a )-118(discussion )-118(of )-118(these )-118(str)7(uctur)18(es )-118(in )-118(System )-118(V)]TJ -0.6181 Tc 21.58 0 Td -(.M)Tj -0 Tc 1.814 0 Td -[(cKusick )-118(et )-118(al.)]TJ -6.438 0.04 Td -([)Tj -0.333 -0.04 Td -(1996)Tj -2 0.04 Td -(])Tj --41.667 -1.29 Td -[(describe )-32(these )-32(str)8(uctur)18(es )-32(in )-32(4.4BSD.)-532(McKusick )-32(and )-32(Neville-Neil)]TJ -28.728 0.04 Td -([)Tj -0.333 -0.04 Td -(2005)Tj -2 0.04 Td -(])Tj -0.615 -0.04 Td -[(cover )-32(Fr)18(eeBSD )-32(5.2.)-533(For)]TJ -0.5548 Tc -31.676 -1.25 Td -(as)Tj -0 Tc 1.479 0 Td -[(imilar )-305(discussion )-305(of )-305(Solaris, )-305(see )-305(McDougall )-305(and )-305(Maur)20(o)]TJ -26.828 0.04 Td -([)Tj -0.333 -0.04 Td -(2007)Tj -2 0.04 Td -(])Tj -0.8046 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.668 0 Td -[(he )-305(Linux )-305(2.6 )-305(kernel)]TJ --32.64 -1.25 Td -[(ar)18(chitectur)18(e)-250(is)-250(discussed in Bovet and Cesati)]TJ -19.826 0.04 Td -([)Tj -0.333 -0.04 Td -(2006)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -(.)Tj -9.9994 0 0 9.9994 147.5895 342.9794 Tm -[(The )-22(kernel )-22(uses )-22(thr)18(ee )-22(data )-22(str)8(uctur)18(es )-22(to )-22(r)18(epr)18(esent )-22(an )-22(open )-22(\336le, )-22(and )-22(the )-22(r)18(elationships)]TJ --1.8 -1.2 Td -[(among )-12(them )-12(determine )-12(the )-12(ef)18(fect )-12(one )-12(pr)18(ocess )-12(has )-12(on )-12(another )-12(with )-12(r)17(egar)18(d)-262(to)-262(\336le )-12(sharing.)]TJ --0 -2.28 Td -[(1. )-633(Every)-288(pr)18(ocess )-38(has )-38(an )-38(entry )-38(in )-38(the )-38(pr)18(ocess )-38(table.)]TJ --0.055 Tc 23.254 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(thin )-38(each )-38(pr)18(ocess )-38(table )-38(entry )-38(is )-38(a)]TJ --22.857 -1.2 Td -[(table )-61(of )-61(open )-61(\336le )-61(descriptors, )-61(which )-61(we )-61(can )-61(think )-61(of )-61(as )-61(a )-61(vector)]TJ -0.3108 Tc 28.421 0 Td -(,w)Tj -0 Tc 1.395 0 Td -[(ith )-61(one )-61(entry )-61(per)]TJ --29.816 -1.2 Td -(descriptor)Tj -0.5 Tc 4.438 0 Td -(.A)Tj -0 Tc 1.528 0 Td -[(ssociated with each \336le descriptor ar)18(e)]TJ --5.966 -1.6 Td -[(\(a\) )-633(The)-250(\336le descriptor \337ags \(close-on-exec; r)18(efer to Figur)]TJ -0.25 Tc 25.245 0 Td -(e3)Tj -0 Tc 1.229 0 Td -(.7 and Section 3.14\))Tj --26.474 -1.6 Td -[(\(b\) )-580(A)-250(pointer to a \336le table entry)]TJ --1.633 -2.28 Td -[(2. )-633(The)-250(kernel maintains a \336le table for all open \336les.)-500(Each \336le table entry contains)]TJ -1.633 -1.6 Td -[(\(a\) )-633(The)-611(\336le )-361(status )-361(\337ags )-361(for )-361(the )-361(\336le, )-361(such )-361(as )-361(r)14(ead, )-362(write, )-362(append, )-362(sync, )-362(and)]TJ -2.049 -1.2 Td -[(nonblocking; mor)18(e)-250(on)-250(these in Section 3.14)]TJ --2.049 -1.6 Td -[(\(b\) )-580(The)-250(curr)18(ent \336le of)18(fset)]TJ -0 -1.6 TD -[(\(c\) )-689(A)-250(pointer to the v-node table entry for the \336le)]TJ --1.633 -2.28 Td -[(3. )-633(Each)-266(open )-16(\336le )-16(\(or )-16(device\) )-16(has )-16(a )-16(v-node )-16(str)7(uctur)]TJ -0.2662 Tc 22.571 0 Td -(et)Tj -0 Tc 1.071 0 Td -[(hat )-16(contains )-16(information )-16(about )-16(the)]TJ --22.009 -1.2 Td -[(type )-167(of )-167(\336le )-167(and )-167(pointers )-167(to )-167(functions )-167(that )-167(operate )-167(on )-167(the )-167(\336le.)-667(For )-167(most )-167(\336les, )-167(the)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46761 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(72)Tj -/T1_1 1 Tf -3 0 Td -[(File )-250(I/O)]TJ -39.741 0 Td -[(Chapter )-250(3)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -(3.8)Tj -/TT1 1 Tf -3 0 Td -(write)Tj -/TT0 1 Tf -3.556 0 Td -(Function)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 647.3612 Tm -(Data is written to an open \336le with the)Tj -/TT2 1 Tf -17.255 0 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -(function.)Tj -/TT2 1 Tf -8.9995 0 0 8.9995 147.5911 629.4622 Tm -(#include )Tj -0 -2.021 TD -(ssize_t write\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(fd)Tj -/TT2 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst void *)Tj -/T1_2 1 Tf -(buf)Tj -/TT2 1 Tf -0.6 Tc (,s)Tj -0 Tc 9.697 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT2 1 Tf -(\);)Tj -/T1_1 1 Tf --10.019 -2.021 Td -(Returns: number of bytes written if OK,)Tj -/TT3 1 Tf -17.808 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5886.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 573.8511 Tm -[(The )-279(r)18(eturn )-279(value )-279(is )-279(usually )-279(equal )-279(to )-279(the)]TJ -/T1_2 1 Tf -19.782 0 Td -(nbytes)Tj -/T1_1 1 Tf -3.159 0 Td -[(ar)18(gument; )-279(otherwise, )-279(an )-279(err)18(or )-279(has)]TJ --22.941 -1.2 Td -[(occurr)18(ed. )-268(A)-268(common )-18(cause )-18(for )-18(a)]TJ -/TT2 1 Tf -14.894 0 Td -(write)Tj -/T1_1 1 Tf -3.268 0 Td -[(err)18(or )-18(is )-18(either )-18(\336lling )-18(up )-18(a )-18(disk )-18(or )-18(exceeding )-18(the)]TJ --18.162 -1.2 Td -[(\336le size limit for a given pr)18(ocess \(Section 7.1)]TJ -0.25 Tc 19.414 0 Td -(1a)Tj -0 Tc 1.25 0 Td -[(nd Exer)18(cise 10.1)55(1\).)]TJ --18.864 -1.2 Td -[(For )-288(a )-288(r)18(egular )-288(\336le, )-288(the )-288(write )-288(operation )-288(starts )-288(at )-288(the )-288(\336le\325s )-288(curr)18(ent )-288(of)22(fset. )-538(If)-538(the)]TJ -/TT2 1 Tf --1.8 -1.2 Td -(O_APPEND)Tj -/T1_1 1 Tf -5.132 0 Td -[(option )-82(was )-82(speci\336ed )-82(when )-82(the )-82(\336le )-82(was )-82(opened, )-82(the )-82(\336le\325s )-82(of)17(fset )-82(is )-82(set )-82(to )-82(the)]TJ --5.132 -1.2 Td -[(curr)18(ent )-54(end )-54(of )-54(\336le )-54(befor)]TJ -0.3045 Tc 10.638 0 Td -(ee)Tj -0 Tc 1.262 0 Td -[(ach )-54(write )-54(operation.)-554(After )-54(a )-54(successful )-54(write, )-54(the )-54(\336le\325s )-54(of)14(fset)]TJ --11.9 -1.2 Td -[(is incr)18(emented by the number of bytes actually written.)]TJ -/TT0 1 Tf -11.9986 0 0 11.9986 93.5888 468.2638 Tm -[(3.9 )-1332(I/O)-556(Ef\336cienc)10(y)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 446.6664 Tm -[(The pr)18(ogram in Figur)]TJ -0.25 Tc 9.538 0 Td -(e3)Tj -0 Tc 1.229 0 Td -(.5 copies a \336le, using only the)Tj -/TT2 1 Tf -13.228 0 Td -(read)Tj -/T1_1 1 Tf -2.65 0 Td -(and)Tj -/TT2 1 Tf -1.943 0 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -(functions.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4395.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT2 1 Tf -8.9984 0 0 8.9984 129.5767 429.9416 Tm -(#include "apue.h")Tj -0 -1.902 TD -[(#define BUFFSIZE)-2400(4096)]TJ -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(n;)]TJ -T* -[(char )-1800(buf[BUFFSIZE];)]TJ -0 -1.902 TD -(while \(\(n = read\(STDIN_FILENO, buf, BUFFSIZE\)\) > 0\))Tj -2.4 -1.189 Td -(if \(write\(STDOUT_FILENO, buf, n\) != n\))Tj -2.4 -1.189 Td -(err_sys\("write error"\);)Tj --4.8 -1.902 Td -(if \(n < 0\))Tj -2.4 -1.189 Td -(err_sys\("read error"\);)Tj --2.4 -1.902 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2540.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 232.5482 237.9609 Tm -(Figure 3.5)Tj -/T1_1 1 Tf -5.195 0 Td -(Copy standar)Tj -0.25 Tc 5.982 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput to standar)Tj -0.25 Tc 6.804 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput)Tj -9.9976 0 0 9.9976 129.5689 213.9666 Tm -[(The following caveats apply to this pr)18(ogram.)]TJ -0.883 Tc 1.8 -1.8 Td -(\245I)Tj -0.2831 Tc 1.826 0 Td -(tr)Tj -0 Tc 0.986 0 Td -[(eads )-33(fr)18(om )-33(standar)]TJ -0.2831 Tc 8.039 0 Td -(di)Tj -0 Tc 1.185 0 Td -[(nput )-33(and )-33(writes )-33(to )-33(standar)]TJ -0.2831 Tc 11.878 0 Td -(do)Tj -0 Tc 1.44 0 Td -[(utput, )-33(assuming )-33(that )-33(these)]TJ --23.866 -1.2 Td -[(have )-263(been )-263(set )-263(up )-263(by )-263(the )-263(shell )-263(befor)]TJ -0.5127 Tc 17.092 0 Td -(et)Tj -0 Tc 1.318 0 Td -[(his )-263(pr)18(ogram )-263(is )-263(executed.)-763(Indeed, )-263(all)]TJ --18.41 -1.2 Td -[(normal )-20(UNIX )-20(system )-20(shells )-20(pr)18(ovide )-20(a )-20(way )-20(to )-20(open )-20(a )-20(\336le )-20(for )-20(r)23(eading )-19(on )-19(standar)17(d)]TJ -0 -1.2 Td -[(input )-195(and )-195(to )-195(cr)18(eate )-195(\(or )-195(r)18(ewrite\) )-195(a )-195(\336le )-195(on )-195(standar)]TJ -0.4447 Tc 22.686 0 Td -(do)Tj -0 Tc 1.602 0 Td -[(utput. )-445(This)-444(pr)18(events )-195(the)]TJ --24.288 -1.2 Td -[(pr)18(ogram )-56(fr)18(om )-56(having )-56(to )-56(open )-56(the )-56(input )-56(and )-56(output )-56(\336les, )-56(and )-56(allows )-56(the )-56(user )-56(to)]TJ -0 -1.2 TD -[(take advantage of the shell\325s I/O r)18(edir)18(ection facilities.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46762 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(3.7)]TJ -/TT0 1 Tf -37.503 0 Td -(read)Tj -/T1_0 1 Tf -2.9 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(71)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -(3.7)Tj -/TT2 1 Tf -3 0 Td -(read)Tj -/TT1 1 Tf -2.956 0 Td -(Function)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 647.3612 Tm -[(Data is r)18(ead fr)18(om an open \336le with the)]TJ -/TT0 1 Tf -17.256 0 Td -(read)Tj -/T1_0 1 Tf -2.65 0 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 629.4622 Tm -(#include )Tj -0 -2.14 TD -(ssize_t read\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 2.578 0 Td -(oid *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 6.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --8.467 -2.14 Td -[(Returns: number of bytes r)18(ead, 0 if end of \336le,)]TJ -/TT3 1 Tf -20.456 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5865.25 cm -0 0 m -0 520 l -3900 520 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 571.7114 Tm -[(If )-178(the)]TJ -/TT0 1 Tf -2.913 0 Td -(read)Tj -/T1_0 1 Tf -2.828 0 Td -[(is )-178(successful, )-178(the )-178(number )-178(of )-178(bytes )-178(r)18(ead )-178(is )-178(r)17(eturned. )-428(If)-428(the )-178(end )-178(of )-178(\336le )-178(is)]TJ --5.741 -1.2 Td -[(encounter)18(ed, 0 is r)18(eturned.)]TJ -1.8 -1.2 Td -(Ther)Tj -0.3345 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.314 0 Td -[(re )-121(s)]TJ -0 Tc 1.614 0 Td -[(everal )-84(cases )-84(in )-84(which )-84(the )-84(number )-84(of )-84(bytes )-84(actually )-84(r)14(ead )-84(is )-84(less )-84(than )-84(the)]TJ --6.779 -1.2 Td -[(amount r)18(equested:)]TJ -0.883 Tc 1.8 -2.04 Td -(\245W)Tj -0 Tc 2.489 0 Td -[(hen )-316(r)18(eading )-316(fr)18(om )-316(a )-316(r)17(egular )-316(\336le, )-316(if )-316(the )-316(end )-316(of )-316(\336le )-316(is )-316(r)18(eached )-316(befor)]TJ -0.5664 Tc 32.279 0 Td -(et)Tj -0 Tc 1.371 0 Td -(he)Tj --0.018 Tc -34.65 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quested )-52(number )-52(of )-52(bytes )-52(has )-52(been )-52(r)15(ead. )-302(For)-303(example, )-52(if )-52(30 )-52(bytes )-52(r)18(emain )-52(until)]TJ --0.856 -1.2 Td -[(the )-58(end )-58(of )-58(\336le )-58(and )-58(we )-58(try )-58(to )-58(r)18(ead )-58(100 )-58(bytes,)]TJ -/TT0 1 Tf -19.909 0 Td -(read)Tj -/T1_0 1 Tf --0.018 Tc 2.708 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-58(30.)-558(The )-58(next )-58(time )-58(we)]TJ --23.473 -1.2 Td -(call)Tj -/TT0 1 Tf -1.776 0 Td -(read)Tj -/T1_0 1 Tf -[(,)-250(it)-250(will r)18(eturn 0 \(end of \336le\).)]TJ -0.883 Tc -3.265 -1.6 Td -(\245W)Tj -0 Tc 2.489 0 Td -[(hen )-11(r)18(eading )-11(fr)18(om )-11(a )-11(terminal )-11(device.)-514(Normally)111(,)-261(up)-261(to)-261(o)-1(ne )-11(line )-11(is )-11(r)18(ead )-11(at )-11(a )-11(time.)]TJ --1 -1.2 Td -[(\(W)92(e\325ll see how to change this default in Chapter 18.\))]TJ -0.883 Tc -1.489 -1.6 Td -(\245W)Tj -0 Tc 2.489 0 Td -[(hen )-171(r)18(eading )-171(fr)18(om )-171(a )-171(network.)-671(Buf)18(fering )-171(within )-171(the )-171(network )-171(may )-171(cause )-171(less)]TJ --1 -1.2 Td -[(than the r)18(equested amount to be r)18(eturned.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245W)Tj -0 Tc 2.489 0 Td -[(hen )-274(r)18(eading )-274(fr)18(om )-274(a )-274(pipe )-274(or )-274(FIFO.)-774(If )-274(the )-274(pipe )-274(contains )-274(fewer )-274(bytes )-274(than)]TJ --0.018 Tc -1 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(quested,)Tj -/TT0 1 Tf -3.982 0 Td -(read)Tj -/T1_0 1 Tf -2.65 0 Td -[(will r)18(eturn only what is available.)]TJ -0.883 Tc -8.977 -1.6 Td -(\245W)Tj -0 Tc 2.489 0 Td -[(hen )-242(r)18(eading )-242(fr)18(om )-242(a )-242(r)18(ecor)18(d-oriented )-242(device.)-742(Some )-242(r)18(ecor)18(d-oriented )-242(devices,)]TJ --1 -1.2 Td -[(such as magnetic tape, can r)18(eturn up to a single r)18(ecor)18(d)-250(at)-250(a)-250(time.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245W)Tj -0 Tc 2.489 0 Td -[(hen )-171(interr)8(upted )-171(by )-171(a )-171(signal )-171(and )-171(a )-171(partial )-171(amount )-171(of )-171(data )-171(has )-171(alr)22(eady )-171(been)]TJ --0.018 Tc -1 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad. )-250(W)]TJ -0.25 Tc 2.769 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(iscuss this further in Section 10.5.)Tj --6.454 -2.4 Td -[(The )-80(r)18(ead )-80(operation )-80(starts )-80(at )-80(the )-80(\336le\325s )-80(curr)18(ent )-80(of)20(fset. )-330(Befor)]TJ -0.3297 Tc 26.034 0 Td -(eas)Tj -0 Tc 2.062 0 Td -[(uccessful )-80(r)18(eturn, )-80(the)]TJ --29.897 -1.2 Td -[(of)18(fset is incr)18(emented by the number of bytes actually r)18(ead.)]TJ -1.8 -1.2 Td -[(POSIX.1 )-306(changed )-306(the )-306(pr)18(ototype )-306(for )-306(this )-306(function )-306(in )-306(several )-306(ways.)-806(The )-306(classic)]TJ --1.8 -1.2 Td -(de\336nition is)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.583 262.6485 Tm -(int read\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(har *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -0.6 Tc (,u)Tj -0 Tc 6.097 0 Td -(nsigned)Tj -/T1_2 1 Tf -4.8 0 Td -(nbytes)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -0.883 Tc 9.9988 0 0 9.9988 147.5829 242.2509 Tm -(\245F)Tj -0 Tc 2.045 0 Td -[(irst, )-14(the )-14(second )-14(ar)17(gument )-14(was )-14(changed )-14(fr)17(om)]TJ -/TT0 1 Tf -19.967 0 Td -[(char )267(*)]TJ -/T1_0 1 Tf -3.598 0 Td -(to)Tj -/TT0 1 Tf -1.136 0 Td -[(void )267(*)]TJ -/T1_0 1 Tf -3.598 0 Td -[(to )-14(be )-14(consistent)]TJ --28.854 -1.2 Td -(with ISO C: the type)Tj -/TT0 1 Tf -9.239 0 Td -[(void )267(*)]TJ -/T1_0 1 Tf -3.583 0 Td -(is used for generic pointers.)Tj -0.883 Tc -14.311 -1.6 Td -(\245N)Tj -0 Tc 2.32 0 Td -[(ext, )-17(the )-17(r)18(eturn )-17(value )-17(was )-17(r)20(equir)18(ed )-17(to )-17(be )-17(a )-17(signed )-17(integer )-17(\()]TJ -/TT0 1 Tf -25.414 0 Td -(ssize_t)Tj -/T1_0 1 Tf -[(\))-266(to)-266(r)17(eturn )-16(a)]TJ --26.245 -1.2 Td -(positive byte count, 0 \(for end of \336le\), or)Tj -/TT3 1 Tf -17.995 0 Td -(!)Tj -/T1_0 1 Tf -0.25 Tc (1\()Tj -0 Tc 1.632 0 Td -[(for an err)18(or\).)]TJ -0.883 Tc -21.116 -1.6 Td -(\245F)Tj -0 Tc 2.045 0 Td -(inally)Tj -0.3134 Tc 2.4 0 Td -(,t)Tj -0 Tc 0.889 0 Td -[(he )-63(thir)]TJ -0.3134 Tc 2.95 0 Td -(da)Tj --0.018 Tc 1.424 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument )-63(historically )-63(has )-63(been )-63(an )-63(unsigned )-63(integer)]TJ -0.3134 Tc 21.533 0 Td -(,t)Tj -0.3135 Tc 0.889 0 Td -(oa)Tj -0 Tc 1.359 0 Td -[(llow )-63(a)]TJ --32.935 -1.2 Td -(16)Tj -1 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-146(implementation )-146(to )-146(r)18(ead )-146(or )-146(write )-146(up )-146(to )-146(65,534 )-146(bytes )-146(at )-146(a )-146(time.)]TJ --0.055 Tc 30.451 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-146(the)]TJ --33.02 -1.2 Td -[(1990 )-3(POSIX.1 )-3(standar)18(d, )-3(the )-3(primitive )-3(system )-3(data )-3(type)]TJ -/TT0 1 Tf -24.376 0 Td -(ssize_t)Tj -/T1_0 1 Tf -4.453 0 Td -[(was )-3(intr)18(oduced)]TJ --28.83 -1.2 Td -[(to )-77(pr)18(ovide )-77(the )-77(signed )-77(r)20(eturn )-76(value, )-76(and )-76(the )-76(unsigned)]TJ -/TT0 1 Tf -24.269 0 Td -(size_t)Tj -/T1_0 1 Tf -3.926 0 Td -[(was )-76(used )-76(for )-76(the)]TJ --28.195 -1.2 Td -(thir)Tj -0.25 Tc 1.576 0 Td -(da)Tj --0.018 Tc 1.361 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument. )-250(\(Recall)-250(the)]TJ -/TT0 1 Tf -8.516 0 Td -(SSIZE_MAX)Tj -/T1_0 1 Tf -5.65 0 Td -[(constant fr)18(om Section 2.5.2.\))]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46763 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(66)Tj -/T1_1 1 Tf -3 0 Td -[(File )-250(I/O)]TJ -39.741 0 Td -[(Chapter )-250(3)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -(3.4)Tj -/TT1 1 Tf -3 0 Td -(creat)Tj -/TT0 1 Tf -3.556 0 Td -(Function)Tj -/T1_1 1 Tf -0.25 Tc 9.9994 0 0 9.9994 129.5922 647.3612 Tm -(An)Tj -0 Tc 1.61 0 Td -[(ew \336le can also be cr)18(eated by calling the)]TJ -/TT2 1 Tf -17.924 0 Td -(creat)Tj -/T1_1 1 Tf -3.25 0 Td -(function.)Tj -/TT2 1 Tf -8.9995 0 0 8.9995 147.5911 627.0624 Tm -(#include )Tj -0 -1.783 TD -(int creat\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT2 1 Tf -0.6 Tc (,m)Tj -0 Tc 16.777 0 Td -(ode_t)Tj -/T1_2 1 Tf -3.6 0 Td -(mode)Tj -/TT2 1 Tf -(\);)Tj -/T1_1 1 Tf --9.118 -1.783 Td -(Returns: \336le descriptor opened for write-only if OK,)Tj -/TT3 1 Tf -23.205 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5905.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 570.9315 Tm -(Note that this function is equivalent to)Tj -/TT2 1 Tf -8.9989 0 0 8.9989 147.5823 554.2335 Tm -(open\()Tj -/T1_2 1 Tf -(path)Tj -/TT2 1 Tf -0.6 Tc (,O)Tj -0 Tc 6.577 0 Td -(_WRONLY | O_CREAT | O_TRUNC,)Tj -/T1_2 1 Tf -17.4 0 Td -(mode)Tj -/TT2 1 Tf -(\);)Tj -/T1_1 1 Tf -7.999 0 0 7.999 183.5778 534.2359 Tm -[(Historically)111(,)-267(in)-267(e)1(arly )-17(versions )-17(of )-17(the )-17(UNIX )-17(System, )-17(the )-17(second )-17(ar)18(gument )-17(to)]TJ -/TT2 1 Tf -33.298 0 Td -(open)Tj -/T1_1 1 Tf -2.667 0 Td -[(could )-16(be )-16(only)]TJ --35.965 -1.25 Td -[(0, )-145(1, )-145(or )-145(2.)-643(Ther)]TJ -0.3946 Tc 7.07 0 Td -(ew)Tj -0 Tc 1.708 0 Td -[(as )-145(no )-145(way )-145(to)]TJ -/TT2 1 Tf -6.392 0 Td -(open)Tj -/T1_1 1 Tf -0.3946 Tc 2.795 0 Td -(a\336)Tj -0 Tc 1.5 0 Td -[(le )-145(that )-145(didn\325t )-145(alr)18(eady )-145(exist.)-644(Ther)18(efor)18(e, )-145(a )-145(separate)]TJ --19.465 -1.25 Td -[(system )-55(call,)]TJ -/TT2 1 Tf -5.479 0 Td -(creat)Tj -/T1_1 1 Tf -0.3051 Tc (,w)Tj -0 Tc 4.389 0 Td -[(as )-55(needed )-55(to )-55(cr)18(eate )-55(new )-55(\336les.)]TJ --0.055 Tc 13.667 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-55(the)]TJ -/TT2 1 Tf -2.905 0 Td -(O_CREAT)Tj -/T1_1 1 Tf -4.505 0 Td -(and)Tj -/TT2 1 Tf -1.998 0 Td -(O_TRUNC)Tj -/T1_1 1 Tf -4.505 0 Td -(options)Tj --38.684 -1.25 Td -[(now pr)18(ovided by)]TJ -/TT2 1 Tf -7.902 0 Td -(open)Tj -/T1_1 1 Tf -0.25 Tc (,as)Tj -0 Tc 4.074 0 Td -(eparate)Tj -/TT2 1 Tf -3.53 0 Td -(creat)Tj -/T1_1 1 Tf -3.25 0 Td -(function is no longer needed.)Tj --0.092 Tc 9.9988 0 0 9.9988 129.5845 486.2416 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-337(show )-337(how )-337(to )-337(specify)]TJ -/T1_2 1 Tf -12.144 0 Td -(mode)Tj -/T1_1 1 Tf -2.698 0 Td -[(in )-337(Section )-337(4.5 )-337(when )-337(we )-337(describe )-337(a )-337(\336le\325s )-337(access)]TJ --16.229 -1.2 Td -(permissions in detail.)Tj -1.8 -1.2 Td -[(One )-133(de\336ciency )-133(with)]TJ -/TT2 1 Tf -9.521 0 Td -(creat)Tj -/T1_1 1 Tf -3.384 0 Td -[(is )-133(that )-133(the )-133(\336le )-133(is )-133(opened )-133(only )-133(for )-133(writing.)-637(Befor)]TJ -0.3835 Tc 22.046 0 Td -(et)Tj -0 Tc 1.189 0 Td -(he)Tj --37.939 -1.2 Td -[(new )-7(version )-7(of)]TJ -/TT2 1 Tf -6.828 0 Td -(open)Tj -/T1_1 1 Tf -2.657 0 Td -[(was )-7(pr)18(ovided, )-7(if )-7(we )-7(wer)]TJ -0.2573 Tc 10.745 0 Td -(ec)Tj --0.018 Tc 1.18 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ating )-7(a )-7(temporary )-7(\336le )-7(that )-7(we )-7(wanted)]TJ --22.266 -1.2 Td -[(to )-129(write )-129(and )-129(then )-129(r)16(ead )-129(back, )-129(we )-129(had )-129(to )-129(call)]TJ -/TT2 1 Tf -20.326 0 Td -(creat)Tj -/T1_1 1 Tf -(,)Tj -/TT2 1 Tf -3.629 0 Td -(close)Tj -/T1_1 1 Tf -0.3793 Tc (,a)Tj -0 Tc 4.129 0 Td -[(nd )-129(then)]TJ -/TT2 1 Tf -3.921 0 Td -(open)Tj -/T1_1 1 Tf -0.6293 Tc (.A)Tj -0 Tc 4.437 0 Td -(better)Tj --36.442 -1.2 Td -(way is to use the)Tj -/TT2 1 Tf -7.62 0 Td -(open)Tj -/T1_1 1 Tf -2.65 0 Td -(function, as in)Tj -/TT2 1 Tf -8.9989 0 0 8.9989 147.5828 409.5508 Tm -(open\()Tj -/T1_2 1 Tf -(path)Tj -/TT2 1 Tf -0.6 Tc (,O)Tj -0 Tc 6.577 0 Td -(_RDWR | O_CREAT | O_TRUNC,)Tj -/T1_2 1 Tf -16.2 0 Td -(mode)Tj -/TT2 1 Tf -(\);)Tj -/TT0 1 Tf -11.9986 0 0 11.9986 93.5891 381.9542 Tm -(3.5)Tj -/TT1 1 Tf -3 0 Td -(close)Tj -/TT0 1 Tf -3.556 0 Td -(Function)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5847 360.3568 Tm -(An open \336le is closed by calling the)Tj -/TT2 1 Tf -15.904 0 Td -(close)Tj -/T1_1 1 Tf -3.25 0 Td -(function.)Tj -/TT2 1 Tf -8.9989 0 0 8.9989 147.5826 341.259 Tm -(#include )Tj -T* -(int close\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(fd)Tj -/TT2 1 Tf -(\);)Tj -/T1_1 1 Tf -18.451 -1.783 Td -(Returns: 0 if OK,)Tj -/TT3 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3047.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 288.748 Tm -[(Closing )-41(a )-41(\336le )-41(also )-41(r)18(eleases )-41(any )-41(r)16(ecor)]TJ -0.2913 Tc 16.097 0 Td -(dl)Tj -0 Tc 1.193 0 Td -[(ocks )-41(that )-41(the )-41(pr)18(ocess )-41(may )-41(have )-41(on )-41(the )-41(\336le.)]TJ --0.092 Tc 19.463 0 Td -(We)Tj -0 Tc 1.387 0 Td -(\325ll)Tj --38.14 -1.2 Td -(discuss this point further in Section 14.3.)Tj -1.8 -1.2 Td -[(When )-220(a )-220(pr)17(ocess )-220(terminates, )-220(all )-220(of )-220(its )-220(open )-220(\336les )-220(ar)]TJ -0.4703 Tc 23.492 0 Td -(ec)Tj -0 Tc 1.393 0 Td -[(losed )-220(automatically )-220(by )-220(the)]TJ --26.685 -1.2 Td -[(kernel. )-285(Many)-285(pr)18(ograms )-35(take )-35(advantage )-35(of )-35(this )-35(fact )-35(and )-35(don\325t )-35(explicitly )-35(close )-35(open )-35(\336les.)]TJ -0 -1.2 TD -[(See the pr)18(ogram in Figur)]TJ -0.25 Tc 10.984 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(.4, for example.)Tj -/TT0 1 Tf -11.9978 0 0 11.9978 93.5837 214.3614 Tm -(3.6)Tj -/TT1 1 Tf -3 0 Td -(lseek)Tj -/TT0 1 Tf -3.556 0 Td -(Function)Tj -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5772 192.7653 Tm -[(Every )-76(open )-76(\336le )-76(has )-76(an )-76(associated )-76(\324)36(\324curr)18(ent )-76(\336le )-76(of)18(fset,\325)]TJ -0.3261 Tc 23.945 0 Td -(\325n)Tj -0 Tc 1.186 0 Td -[(ormally )-76(a )-76(non-negative )-76(integer)]TJ --25.131 -1.2 Td -[(that )-116(measur)18(es )-116(the )-116(number )-116(of )-116(bytes )-116(fr)18(om )-116(the )-116(beginning )-116(of )-116(the )-116(\336le.)]TJ -30.539 0.04 Td -(\()Tj --0.092 Tc 0.333 -0.04 Td -[(We )-301(d)]TJ -0 Tc 2.364 0 Td -[(escribe )-116(some)]TJ --33.237 -1.2 Td -[(exceptions )-367(to )-367(the )-367(\324)38(\324non-negative\325)]TJ -0.6166 Tc 15.378 0 Td -(\325q)Tj -0 Tc 1.455 0 Td -[(uali\336er )-366(later )-366(in )-366(this )-366(section.\))-866(Read )-366(and )-366(write)]TJ --16.832 -1.2 Td -[(operations )-13(normally )-13(start )-13(at )-13(the )-13(curr)18(ent )-13(\336le )-13(of)18(fset )-13(and )-13(cause )-13(the )-13(of)14(fset )-13(to )-13(be )-13(incr)17(emented)]TJ -0 -1.2 Td -[(by )-46(the )-46(number )-46(of )-46(bytes )-46(r)18(ead )-46(or )-46(written.)-546(By )-46(default, )-46(this )-46(of)20(fset )-46(is )-46(initialized )-46(to )-46(0 )-46(when )-46(a)]TJ -T* -(\336le is opened, unless the)Tj -/TT2 1 Tf -11.078 0 Td -(O_APPEND)Tj -/T1_1 1 Tf -5.05 0 Td -(option is speci\336ed.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46764 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(62)Tj -/T1_1 1 Tf -3 0 Td -[(File )-250(I/O)]TJ -39.741 0 Td -[(Chapter )-250(3)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(By )-193(convention, )-193(UNIX )-193(System )-193(shells )-193(associate )-193(\336le )-193(descriptor )-193(0 )-193(with )-193(the )-193(standar)20(d)]TJ --1.8 -1.2 Td -[(input )-54(of )-54(a )-54(pr)18(ocess, )-54(\336le )-54(descriptor )-54(1 )-54(with )-54(the )-54(standar)]TJ -0.3045 Tc 23.195 0 Td -(do)Tj -0 Tc 1.461 0 Td -[(utput, )-54(and )-54(\336le )-54(descriptor )-54(2 )-54(with)]TJ --24.656 -1.2 Td -[(the )-121(standar)]TJ -0.3713 Tc 5.078 0 Td -(de)Tj -0 Tc 1.461 0 Td -[(rr)18(or)]TJ -0.6213 Tc 1.639 0 Td -(.T)Tj -0 Tc 1.484 0 Td -[(his )-121(convention )-121(is )-121(used )-121(by )-121(the )-121(shells )-121(and )-121(many )-121(applications; )-121(it )-121(is)]TJ --9.663 -1.2 Td -[(not )-27(a )-27(featur)18(e)-277(of)-277(the )-27(UNIX )-27(kernel.)-527(Nevertheless, )-27(many )-27(applications )-27(would )-27(br)17(eak )-27(if )-27(these)]TJ -0 -1.2 Td -[(associations wer)18(en\325t followed.)]TJ -1.8 -1.2 Td -[(Although )-68(their )-68(values )-68(ar)]TJ -0.3178 Tc 11.029 0 Td -(es)Tj -0 Tc 1.221 0 Td -[(tandar)18(dized )-68(by )-68(POSIX.1, )-68(the )-68(magic )-68(numbers )-68(0, )-68(1, )-68(and )-68(2)]TJ --14.05 -1.2 Td -[(should )-370(be )-370(r)18(eplaced )-370(in )-370(POSIX-compliant )-370(applications )-370(with )-370(the )-370(symbolic )-370(constants)]TJ -/TT0 1 Tf -0 -1.2 TD -(STDIN_FILENO)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -8.196 0 Td -(STDOUT_FILENO)Tj -/T1_1 1 Tf -0.7465 Tc (,a)Tj -0 Tc 9.296 0 Td -(nd)Tj -/TT0 1 Tf -1.939 0 Td -(STDERR_FILENO)Tj -/T1_1 1 Tf -8.546 0 Td -[(to )-496(impr)18(ove )-496(r)17(eadability)111(.)]TJ --27.979 -1.2 Td -(These constants ar)Tj -0.25 Tc 8.108 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(e\336ned in the)Tj -/TT0 1 Tf -5.766 0 Td -()Tj -/T1_1 1 Tf -6.25 0 Td -[(header)74(.)]TJ --19.664 -1.2 Td -[(File )-223(descriptors )-223(range )-223(fr)18(om )-223(0 )-223(thr)20(ough)]TJ -/TT0 1 Tf -18.112 0 Td -(OPEN_MAX)Tj -/TT1 1 Tf -(!)Tj -/TT0 1 Tf -(1)Tj -/T1_1 1 Tf -0.7226 Tc (.\()Tj -0 Tc 7.255 0 Td -[(Recall )-223(Figur)]TJ -0.4726 Tc 5.529 0 Td -(e2)Tj -0 Tc 1.452 0 Td -[(.1)55(1.\) )-473(Early)]TJ --34.146 -1.2 Td -[(historical )-157(implementations )-157(of )-157(the )-157(UNIX )-157(System )-157(had )-157(an )-157(upper )-157(limit )-157(of )-157(19, )-157(allowing )-157(a)]TJ -T* -[(maximum )-110(of )-110(20 )-110(open )-110(\336les )-110(per )-110(pr)18(ocess, )-110(but )-110(many )-110(systems )-110(subsequently )-110(incr)18(eased )-110(this)]TJ -T* -(limit to 63.)Tj --0.055 Tc 7.9995 0 0 7.9995 183.5885 504.9697 Tm -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-58(Fr)18(eeBSD )-58(8.0, )-58(Linux )-58(3.2.0, )-58(Mac )-58(OS )-58(X )-58(10.6.8, )-58(and )-58(Solaris )-58(10, )-58(the )-58(limit )-58(is )-58(essentially )-58(in\336nite,)]TJ --1.236 -1.25 Td -[(bounded )-3(by )-3(the )-3(amount )-3(of )-3(memory )-3(on )-3(the )-3(system, )-3(the )-3(size )-3(of )-3(an )-3(integer)]TJ -0.2529 Tc 31.762 0 Td -(,a)Tj -0 Tc 1.003 0 Td -[(nd )-3(any )-3(har)]TJ -0.2529 Tc 4.796 0 Td -(da)Tj -0 Tc 1.364 0 Td -[(nd )-3(soft)]TJ --38.925 -1.25 Td -[(limits con\336gur)18(ed by the system administrator)74(.)]TJ -/TT2 1 Tf -11.9993 0 0 11.9993 93.5938 450.9729 Tm -(3.3)Tj -/TT3 1 Tf -3 0 Td -(open)Tj -/TT2 1 Tf -2.956 0 Td -(and)Tj -/TT3 1 Tf -2.334 0 Td -(openat)Tj -/TT2 1 Tf -4.156 0 Td -(Functions)Tj -/T1_1 1 Tf -0.25 Tc 9.9994 0 0 9.9994 129.5912 426.9744 Tm -(A\336)Tj -0 Tc 1.633 0 Td -[(le is opened or cr)18(eated by calling either the)]TJ -/TT0 1 Tf -19.193 0 Td -(open)Tj -/T1_1 1 Tf -2.65 0 Td -(function or the)Tj -/TT0 1 Tf -6.785 0 Td -(openat)Tj -/T1_1 1 Tf -3.85 0 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5902 410.2754 Tm -(#include )Tj -0 -2.021 TD -(int open\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 16.177 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(o\337ag)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 3.733 0 Td -(.. /* mode_t)Tj -/T1_2 1 Tf -7.8 0 Td -(mode)Tj -/TT0 1 Tf -2.711 0 Td -(*/ \);)Tj --32.221 -2.021 Td -(int openat\(int)Tj -/T1_2 1 Tf -9 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 10.177 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(o\337ag)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 3.733 0 Td -(.. /* mode_t)Tj -/T1_2 1 Tf -7.8 0 Td -(mode)Tj -/TT0 1 Tf -2.711 0 Td -(*/ \);)Tj -/T1_1 1 Tf --18.185 -2.021 Td -[(Both r)18(eturn: \336le descriptor if OK,)]TJ -/TT1 1 Tf -14.85 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3512.25 cm -0 0 m -0 681 l -3900 681 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5844 337.6895 Tm -[(We )-247(s)]TJ -0 Tc 2.124 0 Td -[(how )-63(the )-63(last )-63(ar)18(gument )-63(as)]TJ -/TT0 1 Tf -11.685 0 Td -(...)Tj -/T1_1 1 Tf -0.313 Tc (,w)Tj -0 Tc 3.197 0 Td -[(hich )-63(is )-63(the )-63(ISO )-63(C )-63(way )-63(to )-63(specify )-63(that )-63(the )-63(number)]TJ --17.006 -1.2 Td -[(and )-30(types )-30(of )-30(the )-30(r)18(emaining )-30(ar)18(guments )-30(may )-30(vary)]TJ -0.5298 Tc 21.419 0 Td -(.F)Tj -0 Tc 1.336 0 Td -[(or )-30(these )-30(functions, )-30(the )-30(last )-30(ar)19(gument)]TJ --22.755 -1.2 Td -[(is )-224(used )-224(only )-224(when )-224(a )-224(new )-224(\336le )-224(is )-224(being )-224(cr)18(eated, )-224(as )-224(we )-224(describe )-224(later)]TJ -0.7237 Tc 31.683 0 Td -(.W)Tj -0.4737 Tc 1.882 0 Td -(es)Tj -0 Tc 1.377 0 Td -[(how )-224(this)]TJ --34.941 -1.2 Td -[(ar)18(gument as a comment in the pr)18(ototype.)]TJ -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.065 0 Td -(path)Tj -/T1_1 1 Tf -2.168 0 Td -[(parameter )-141(is )-141(the )-141(name )-141(of )-141(the )-141(\336le )-141(to )-141(open )-141(or )-141(cr)19(eate. )-391(This)-391(function )-141(has )-141(a)]TJ --6.033 -1.2 Td -[(multitude )-246(of )-246(options, )-246(which )-246(ar)]TJ -0.4961 Tc 14.452 0 Td -(es)Tj -0 Tc 1.399 0 Td -[(peci\336ed )-246(by )-246(the)]TJ -/T1_2 1 Tf -7.494 0 Td -(o\337ag)Tj -/T1_1 1 Tf -2.429 0 Td -[(ar)18(gument. )-496(This)-496(ar)18(gument )-246(is)]TJ --25.775 -1.2 Td -[(formed )-29(by )-29(ORing )-29(together )-29(one )-29(or )-29(mor)20(e)-279(of)-279(t)1(he )-29(following )-29(constants )-29(fr)18(om )-29(the)]TJ -/TT0 1 Tf -33.6 0 Td -()Tj -/T1_1 1 Tf --33.6 -1.2 Td -(header:)Tj -/TT0 1 Tf -0 -1.92 TD -(O_RDONLY)Tj -/T1_1 1 Tf -7.2 0 Td -[(Open for r)18(eading only)111(.)]TJ -/TT0 1 Tf --7.2 -1.6 Td -(O_WRONLY)Tj -/T1_1 1 Tf -7.2 0 Td -[(Open for writing only)111(.)]TJ -/TT0 1 Tf --7.2 -1.6 Td -(O_RDWR)Tj -/T1_1 1 Tf -7.2 0 Td -[(Open for r)18(eading and writing.)]TJ -7.999 0 0 7.999 219.5724 182.5081 Tm -[(Most )-44(implementations )-44(de\336ne)]TJ -/TT0 1 Tf -13.366 0 Td -(O_RDONLY)Tj -/T1_1 1 Tf -5.094 0 Td -[(as )-44(0,)]TJ -/TT0 1 Tf -2.263 0 Td -(O_WRONLY)Tj -/T1_1 1 Tf -5.094 0 Td -[(as )-44(1, )-44(and)]TJ -/TT0 1 Tf -4.251 0 Td -(O_RDWR)Tj -/T1_1 1 Tf -3.895 0 Td -[(as )-45(2, )-45(for)]TJ --33.963 -1.25 Td -[(compatibility with older pr)18(ograms.)]TJ -/TT0 1 Tf -9.9988 0 0 9.9988 129.583 150.5119 Tm -(O_EXEC)Tj -/T1_1 1 Tf -7.2 0 Td -[(Open for execute only)111(.)]TJ -/TT0 1 Tf --7.2 -1.6 Td -(O_SEARCH)Tj -/T1_1 1 Tf -7.2 0 Td -[(Open for sear)18(ch only \(applies to dir)18(ectories\).)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46765 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(3)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(File )-280(I/O)]TJ -/TT0 1 Tf -12 0 0 12 93.6 434.4 Tm -[(3.1 )-1332(Intr)20(oduction)]TJ -/T1_2 1 Tf --0.092 Tc 10 0 0 10 129.6 410.4 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-60(start )-60(our )-60(discussion )-60(of )-60(the )-60(UNIX )-60(System )-60(by )-60(describing )-60(the )-60(functions )-60(available )-60(for)]TJ --1.387 -1.2 Td -[(\336le )-7(I/O)]TJ -0.0833 Tc 3.444 0 Td -(\321o)Tj -0 Tc 1.629 0 Td -[(pen )-7(a )-7(\336le, )-7(r)18(ead )-7(a )-7(\336le, )-7(write )-7(a )-7(\336le, )-7(and )-7(so )-7(on.)-508(Most )-7(\336le )-7(I/O )-7(on )-7(a )-7(UNIX )-7(system)]TJ --5.074 -1.2 Td -[(can )-126(be )-126(performed )-126(using )-126(only )-126(\336ve )-126(functions:)]TJ -/TT1 1 Tf -20.375 0 Td -(open)Tj -/T1_2 1 Tf -(,)Tj -/TT1 1 Tf -3.026 0 Td -(read)Tj -/T1_2 1 Tf -(,)Tj -/TT1 1 Tf -3.026 0 Td -(write)Tj -/T1_2 1 Tf -(,)Tj -/TT1 1 Tf -3.626 0 Td -(lseek)Tj -/T1_2 1 Tf -0.3764 Tc (,a)Tj -0 Tc 4.126 0 Td -(nd)Tj -/TT1 1 Tf -1.569 0 Td -(close)Tj -/T1_2 1 Tf -(.)Tj --0.092 Tc -35.75 -1.2 Td -[(We )-184(t)]TJ -0 Tc 1.963 0 Td -[(hen examine the ef)18(fect of various buf)18(fer sizes on the)]TJ -/TT1 1 Tf -23.15 0 Td -(read)Tj -/T1_2 1 Tf -2.65 0 Td -(and)Tj -/TT1 1 Tf -1.943 0 Td -(write)Tj -/T1_2 1 Tf -3.25 0 Td -(functions.)Tj --31.156 -1.2 Td -[(The )-171(functions )-171(described )-171(in )-171(this )-171(chapter )-171(ar)]TJ -0.4208 Tc 19.317 0 Td -(eo)Tj -0 Tc 1.446 0 Td -[(ften )-171(r)18(eferr)18(ed )-171(to )-171(as)]TJ -/T1_3 1 Tf -8.729 0 Td -[(unbuffer)18(ed )-171(I/O)]TJ -/T1_2 1 Tf -0.4208 Tc (,i)Tj -0 Tc 7.126 0 Td -(n)Tj --38.418 -1.2 Td -[(contrast )-267(to )-267(the )-267(standar)]TJ -0.5166 Tc 10.672 0 Td -(dI)Tj -0 Tc 1.465 0 Td -[(/O )-267(r)18(outines, )-267(which )-267(we )-267(describe )-267(in )-267(Chapter )-267(5.)-764(The )-267(term)]TJ -/T1_3 1 Tf --12.136 -1.2 Td -[(unbuffer)18(ed)]TJ -/T1_2 1 Tf -4.696 0 Td -[(means )-110(that )-110(each)]TJ -/TT1 1 Tf -7.686 0 Td -(read)Tj -/T1_2 1 Tf -2.76 0 Td -(or)Tj -/TT1 1 Tf -1.301 0 Td -(write)Tj -/T1_2 1 Tf -3.36 0 Td -[(invokes )-110(a )-110(system )-110(call )-110(in )-110(the )-110(kernel.)-608(These)]TJ --19.802 -1.2 Td -[(unbuf)18(fer)18(ed )-67(I/O )-67(functions )-67(ar)]TJ -0.3172 Tc 12.623 0 Td -(en)Tj -0 Tc 1.378 0 Td -[(ot )-67(part )-67(of )-67(ISO )-67(C, )-67(but )-67(ar)]TJ -0.3172 Tc 10.442 0 Td -(ep)Tj -0 Tc 1.397 0 Td -[(art )-67(of )-67(POSIX.1 )-67(and )-67(the )-67(Single)]TJ --25.841 -1.2 Td -(UNIX Speci\336cation.)Tj -1.8 -1.2 Td -[(Whenever )-273(we )-273(describe )-273(the )-273(sharing )-273(of )-273(r)16(esour)18(ces )-273(among )-273(multiple )-273(pr)18(ocesses, )-273(the)]TJ --1.8 -1.2 Td -[(concept )-242(of )-242(an )-242(atomic )-242(operation )-242(becomes )-242(important.)]TJ --0.092 Tc 24.838 0 Td -[(We )-426(e)]TJ -0 Tc 2.358 0 Td -[(xamine )-242(this )-242(concept )-242(with)]TJ --0.018 Tc -27.196 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(gar)18(d)-271(to)-271(\336)-1(le )-21(I/O )-21(and )-21(the )-21(ar)18(guments )-21(to )-21(the)]TJ -/TT1 1 Tf -18.532 0 Td -(open)Tj -/T1_2 1 Tf -2.671 0 Td -[(function. )-271(This)-272(leads )-21(to )-21(a )-21(discussion )-21(of)]TJ --22.059 -1.2 Td -[(how )-165(\336les )-165(ar)]TJ -0.4155 Tc 5.469 0 Td -(es)Tj -0 Tc 1.319 0 Td -[(har)18(ed )-165(among )-165(multiple )-165(pr)18(ocesses )-165(and )-165(which )-165(kernel )-165(data )-165(str)4(uctur)18(es )-165(ar)18(e)]TJ --6.787 -1.2 Td -[(involved. )-363(After)-364(describing )-113(these )-113(featur)18(es, )-113(we )-113(describe )-113(the)]TJ -/TT1 1 Tf -26.71 0 Td -(dup)Tj -/T1_2 1 Tf -(,)Tj -/TT1 1 Tf -2.413 0 Td -(fcntl)Tj -/T1_2 1 Tf -(,)Tj -/TT1 1 Tf -3.613 0 Td -(sync)Tj -/T1_2 1 Tf -(,)Tj -/TT1 1 Tf -3.013 0 Td -(fsync)Tj -/T1_2 1 Tf -(,)Tj --35.75 -1.2 Td -(and)Tj -/TT1 1 Tf -1.943 0 Td -(ioctl)Tj -/T1_2 1 Tf -3.25 0 Td -(functions.)Tj -/TT0 1 Tf -12 0 0 12 93.6009 206.4 Tm -[(3.2 )-1332(File)-556(Descriptor)15(s)]TJ -/T1_2 1 Tf --0.092 Tc 10 0 0 10 129.6009 182.4 Tm -[(To )-363(t)]TJ -0 Tc 1.822 0 Td -[(he )-179(kernel, )-179(all )-179(open )-179(\336les )-179(ar)]TJ -0.4292 Tc 12.205 0 Td -(er)Tj -0 Tc 1.285 0 Td -[(eferr)18(ed )-179(to )-179(by )-179(\336le )-179(descriptors.)]TJ -0.4292 Tc 14.091 0 Td -(A\336)Tj -0 Tc 1.812 0 Td -[(le )-179(descriptor )-179(is )-179(a)]TJ --31.215 -1.2 Td -[(non-negative )-166(integer)]TJ -0.666 Tc 9.271 0 Td -(.W)Tj -0 Tc 1.916 0 Td -[(hen )-166(we )-166(open )-166(an )-166(existing )-166(\336le )-166(or )-166(cr)18(eate )-166(a )-166(new )-166(\336le, )-166(the )-166(kernel)]TJ --0.018 Tc -11.187 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-227(a )-227(\336le )-227(descriptor )-227(to )-227(the )-227(pr)18(ocess. )-477(When)-477(we )-227(want )-227(to )-227(r)18(ead )-227(or )-227(write )-227(a )-227(\336le, )-227(we)]TJ --0.856 -1.2 Td -[(identify )-194(the )-194(\336le )-194(with )-194(the )-194(\336le )-194(descriptor )-194(that )-194(was )-194(r)16(eturned )-194(by)]TJ -/TT1 1 Tf -28.877 0 Td -(open)Tj -/T1_2 1 Tf -2.844 0 Td -(or)Tj -/TT1 1 Tf -1.385 0 Td -(creat)Tj -/T1_2 1 Tf -3.444 0 Td -[(as )-194(an)]TJ --36.55 -1.2 Td -[(ar)18(gument to either)]TJ -/TT1 1 Tf -8.48 0 Td -(read)Tj -/T1_2 1 Tf -2.65 0 Td -(or)Tj -/TT1 1 Tf -1.191 0 Td -(write)Tj -/T1_2 1 Tf -(.)Tj -/T1_4 1 Tf -9 0 0 9 510.6017 114 Tm -(61)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46766 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(60)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(2.10 )-776(Summar)-10(y)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(Much )-86(has )-86(happened )-86(with )-86(the )-86(standar)18(dization )-86(of )-86(the )-86(UNIX )-86(pr)18(ogramming )-86(envir)22(onment)]TJ -0 -1.2 TD -[(over )-3(the )-3(past )-3(two )-3(and )-3(a )-3(half )-3(decades.)]TJ --0.092 Tc 16.902 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-3(described )-3(the )-3(dominant )-3(standar)17(ds )167(\321 )167(ISO)-254(C,)]TJ --18.289 -1.2 Td -[(POSIX, )-87(and )-87(the )-87(Single )-87(UNIX )-87(Speci\336cation)]TJ -0.0833 Tc 18.989 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -[(nd )-87(their )-87(ef)18(fect )-87(on )-87(the )-87(four )-87(platforms )-87(that)]TJ --20.573 -1.2 Td -[(we\325ll )-11(examine )-11(in )-11(this )-11(text)]TJ -0.0833 Tc 11.173 0 Td -(\321F)Tj --0.018 Tc 1.639 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-11(Linux, )-11(Mac )-11(OS )-11(X, )-11(and )-11(Solaris.)-511(These )-11(standar)18(ds )-11(try)]TJ --13.668 -1.2 Td -[(to )-45(de\336ne )-45(certain )-45(parameters )-45(that )-45(can )-45(change )-45(with )-45(each )-45(implementation, )-45(but )-45(we\325ve )-45(seen)]TJ -T* -[(that )-345(these )-345(limits )-345(ar)]TJ -0.5947 Tc 9.191 0 Td -(ei)Tj -0 Tc 1.365 0 Td -[(mperfect. )-595(W)92(e\325ll )-345(encounter )-345(many )-345(of )-345(these )-345(limits )-345(and )-345(magic)]TJ --10.556 -1.2 Td -[(constants as we pr)18(oceed thr)18(ough the text.)]TJ -1.8 -1.2 Td -[(The )-102(bibliography )-102(speci\336es )-102(how )-102(to )-102(obtain )-102(copies )-102(of )-102(the )-102(standar)22(ds )-101(discussed )-101(in )-101(this)]TJ --1.8 -1.2 Td -[(chapter)74(.)]TJ -/TT0 1 Tf -11.9993 0 0 11.9993 129.592 506.9696 Tm -[(Ex)10(er)20(cises)]TJ -/T1_0 1 Tf -8.9995 0 0 8.9995 129.592 485.9708 Tm -(2.1)Tj -/T1_1 1 Tf --0.092 Tc 2.602 0 Td -[(We )-320(m)]TJ -0 Tc 2.656 0 Td -[(entioned )-136(in )-136(Section )-136(2.8 )-136(that )-136(some )-136(of )-136(the )-136(primitive )-136(system )-136(data )-136(types )-136(ar)]TJ -0.3857 Tc 32.586 0 Td -(ed)Tj -0 Tc 1.476 0 Td -[(e\336ned )-136(in)]TJ --36.717 -1.222 Td -(mor)Tj -0.4543 Tc 1.806 0 Td -(et)Tj -0 Tc 1.259 0 Td -[(han )-204(one )-204(header)]TJ -0.7042 Tc 7.152 0 Td -(.F)Tj -0 Tc 1.51 0 Td -[(or )-204(example, )-204(in )-204(Fr)18(eeBSD )-204(8.0,)]TJ -/TT1 1 Tf -13.385 0 Td -(size_t)Tj -/T1_1 1 Tf -4.054 0 Td -[(is )-204(de\336ned )-204(in )-204(29 )-204(dif)17(fer)18(ent)]TJ --29.167 -1.222 Td -[(headers. )-360(Because)-361(all )-110(29 )-110(headers )-110(could )-110(be )-110(included )-110(in )-110(a )-110(pr)15(ogram )-111(and )-111(because )-111(ISO )-111(C )-111(does)]TJ -0 -1.222 Td -(not allow multiple)Tj -/TT1 1 Tf -8.431 0 Td -(typedef)Tj -/T1_1 1 Tf -0.25 Tc (sf)Tj -0 Tc 5.207 0 Td -(or the same name, how must the headers be written?)Tj -/T1_0 1 Tf --16.24 -1.667 Td -(2.2)Tj -/T1_1 1 Tf -2.602 0 Td -[(Examine )-282(your )-282(system\325s )-282(headers )-282(and )-282(list )-282(the )-282(actual )-282(data )-282(types )-282(used )-282(to )-282(implement )-282(the)]TJ -0 -1.222 TD -(primitive system data types.)Tj -/T1_0 1 Tf --2.602 -1.667 Td -(2.3)Tj -/T1_1 1 Tf -2.602 0 Td -[(Update )-240(the )-240(pr)18(ogram )-240(in )-240(Figur)]TJ -0.4903 Tc 13.757 0 Td -(e2)Tj -0 Tc 1.469 0 Td -[(.17 )-240(to )-240(avoid )-240(the )-240(needless )-240(pr)18(ocessing )-240(that )-240(occurs )-240(when)]TJ -/TT1 1 Tf --15.227 -1.222 Td -(sysconf)Tj -/T1_1 1 Tf --0.018 Tc 4.45 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -/TT1 1 Tf -2.58 0 Td -(LONG_MAX)Tj -/T1_1 1 Tf -5.05 0 Td -(as the limit for)Tj -/TT1 1 Tf -6.667 0 Td -(OPEN_MAX)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46767 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(58)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(This )-52(causes )-52(the )-52(featur)]TJ -0.3019 Tc 9.695 0 Td -(et)Tj -0 Tc 1.107 0 Td -[(est )-52(macr)18(o)-302(to)-302(be)-302(de\336ned )-52(befor)]TJ -0.3019 Tc 13.048 0 Td -(ea)Tj -0 Tc 1.281 0 Td -[(ny )-52(header )-52(\336les )-52(ar)]TJ -0.302 Tc 7.766 0 Td -(ei)Tj -0 Tc 1.072 0 Td -[(ncluded )-52(by)]TJ --33.968 -1.2 Td -[(the )-42(C )-42(pr)18(ogram. )-292(If)-291(we )-42(want )-42(to )-42(use )-42(only )-42(the )-42(POSIX.1 )-42(de\336nitions, )-42(we )-42(can )-42(also )-42(set )-42(the )-42(\336rst)]TJ -0 -1.2 TD -[(line of a sour)18(ce \336le to)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 628.2623 Tm -[(#define _POSIX_C_SOURCE)-1200(200809L)]TJ -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5912 610.2634 Tm -[(To )-261(e)]TJ -0 Tc 1.873 0 Td -[(nable )-77(the )-77(XSI )-77(option )-77(of )-77(V)111(ersion )-77(4 )-77(of )-77(the )-77(Single )-77(UNIX )-77(Speci\336cation, )-77(we )-77(need )-77(to)]TJ --3.673 -1.2 Td -[(de\336ne )-132(the )-132(constant)]TJ -/TT0 1 Tf -9.02 0 Td -(_XOPEN_SOURCE)Tj -/T1_1 1 Tf -8.182 0 Td -[(to )-132(be )-132(700.)-632(Besides )-132(enabling )-132(the )-132(XSI )-132(option, )-132(this)]TJ --17.203 -1.2 Td -[(has )-177(the )-177(same )-177(ef)18(fect )-177(as )-177(de\336ning)]TJ -/TT0 1 Tf -14.749 0 Td -(_POSIX_C_SOURCE)Tj -/T1_1 1 Tf -9.427 0 Td -[(to )-177(be )-177(200809L )-177(as )-177(far )-177(as )-177(POSIX.1)]TJ --24.176 -1.2 Td -(functionality is concerned.)Tj -1.8 -1.2 Td -[(The )-242(Single )-242(UNIX )-242(Speci\336cation )-242(de\336nes )-242(the)]TJ -/TT0 1 Tf -20.164 0 Td -(c99)Tj -/T1_1 1 Tf -2.292 0 Td -[(utility )-242(as )-242(the )-242(interface )-242(to )-242(the )-242(C)]TJ --24.256 -1.2 Td -[(compilation envir)18(onment. )-250(W)55(ith it we can compile a \336le as follows:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 533.568 Tm -(c99 -D_XOPEN_SOURCE=700 file.c -o file)Tj -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.592 515.5691 Tm -[(To )-386(e)]TJ -0 Tc 1.998 0 Td -[(nable )-202(the )-202(1999 )-202(ISO )-202(C )-202(extensions )-202(in )-202(the)]TJ -/TT0 1 Tf -18.671 0 Td -(gcc)Tj -/T1_1 1 Tf -0.4517 Tc 2.252 0 Td -(Cc)Tj -0 Tc 1.605 0 Td -[(ompiler)74(,)-452(we)-452(u)1(se )-202(the)]TJ -/TT0 1 Tf -9.675 0 Td -(-std=c99)Tj -/T1_1 1 Tf --34.2 -1.2 Td -(option, as in)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 486.8708 Tm -(gcc -D_XOPEN_SOURCE=700 -std=c99 file.c -o file)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5945 450.8729 Tm -[(2.8 )-1332(Primitive)-556(System )-278(Data )-278(T)60(ypes)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5926 426.8744 Tm -(Historically)Tj -0.5551 Tc 5.076 0 Td -(,c)Tj -0 Tc 1.249 0 Td -[(ertain )-305(C )-305(data )-305(types )-305(have )-305(been )-305(associated )-305(with )-305(certain )-305(UNIX )-305(system)]TJ --6.325 -1.2 Td -[(variables. )-305(For)-304(example, )-55(major )-55(and )-55(minor )-55(device )-55(numbers )-55(have )-55(historically )-55(been )-55(stor)22(ed)]TJ -0 -1.2 Td -[(in )-12(a )-12(16)]TJ -2.897 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-12(short )-12(integer)]TJ -0.2618 Tc 7.001 0 Td -(,w)Tj -0 Tc 1.346 0 Td -[(ith )-12(8 )-12(bits )-12(for )-12(the )-12(major )-12(device )-12(number )-12(and )-12(8 )-12(bits )-12(for )-12(the )-12(minor)]TJ --11.576 -1.2 Td -[(device )-120(number)]TJ -0.6203 Tc 6.66 0 Td -(.B)Tj -0 Tc 1.481 0 Td -[(ut )-120(many )-120(lar)18(ger )-120(systems )-120(need )-120(mor)]TJ -0.3703 Tc 15.373 0 Td -(et)Tj -0 Tc 1.175 0 Td -[(han )-120(256 )-120(values )-120(for )-120(these )-120(device)]TJ --24.689 -1.2 Td -[(numbers, )-68(so )-68(a )-68(dif)19(fer)18(ent )-68(technique )-68(is )-68(needed.)-568(\(Indeed, )-68(the )-68(32)]TJ -27.163 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-68(version )-68(of )-68(Solaris )-68(uses)]TJ --27.496 -1.2 Td -[(32 bits for the device number: 14 bits for the major and 18 bits for the\ minor)74(.\))]TJ -1.8 -1.2 Td -[(The )-100(header)]TJ -/TT0 1 Tf -5.421 0 Td -()Tj -/T1_1 1 Tf -8.15 0 Td -[(de\336nes )-100(some )-100(implementation-dependent )-100(data )-100(types,)]TJ --15.371 -1.2 Td -[(called )-207(the)]TJ -/T1_2 1 Tf -4.917 0 Td -[(primitive )-207(system )-207(data )-207(types)]TJ -/T1_1 1 Tf -0.7072 Tc 11.705 0 Td -(.M)Tj -0 Tc 1.903 0 Td -[(or)18(e)-457(of)-457(these )-207(data )-207(types )-207(ar)]TJ -0.4571 Tc 12.057 0 Td -(ed)Tj -0 Tc 1.547 0 Td -[(e\336ned )-207(in )-207(other)]TJ --32.129 -1.2 Td -[(headers )-216(as )-216(well.)-716(These )-216(data )-216(types )-216(ar)]TJ -0.4664 Tc 17.364 0 Td -(ed)Tj -0 Tc 1.556 0 Td -[(e\336ned )-216(in )-216(the )-216(headers )-216(with )-216(the )-216(C)]TJ -/TT0 1 Tf -15.88 0 Td -(typedef)Tj -/T1_1 1 Tf --34.8 -1.2 Td -(facility)Tj -0.5611 Tc 2.921 0 Td -(.M)Tj -0 Tc 1.757 0 Td -[(ost )-61(end )-61(in)]TJ -/TT0 1 Tf -4.774 0 Td -(_t)Tj -/T1_1 1 Tf -0.5611 Tc (.F)Tj -0 Tc 2.567 0 Td -(igur)Tj -0.3111 Tc 1.827 0 Td -(e2)Tj -0 Tc 1.29 0 Td -[(.21 )-61(lists )-61(many )-61(of )-61(the )-61(primitive )-61(system )-61(data )-61(types )-61(that)]TJ --15.137 -1.2 Td -(we\325ll encounter in this text.)Tj -1.8 -1.2 Td -[(By )-382(de\336ning )-382(these )-382(data )-382(types )-382(this )-382(way)110(,)-632(we)-632(do)-632(n)-1(ot )-382(build )-382(into )-382(our )-382(pr)17(ograms)]TJ --1.8 -1.2 Td -[(implementation )-64(details )-64(that )-64(can )-64(change )-64(fr)18(om )-64(one )-64(system )-64(to )-64(another)]TJ -0.5636 Tc 30.254 0 Td -(.W)Tj -0.3136 Tc 1.722 0 Td -(ed)Tj -0 Tc 1.404 0 Td -[(escribe )-64(what)]TJ --33.38 -1.2 Td -(each of these data types is used for when we encounter them later in the\ text.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5955 234.8859 Tm -[(2.9 )-1332(Diff)10(erences )-278(Between )-278(Standar)20(ds)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5932 210.8873 Tm -[(All )-361(in )-361(all, )-361(these )-361(various )-361(standar)16(ds )-361(\336t )-361(together )-361(nicely)]TJ -0.8615 Tc 25.577 0 Td -(.O)Tj -0 Tc 1.897 0 Td -[(ur )-361(main )-361(concern )-361(is )-361(any)]TJ --27.475 -1.2 Td -[(dif)18(fer)18(ences )-134(between )-134(the )-134(ISO )-134(C )-134(standar)]TJ -0.3841 Tc 17.53 0 Td -(da)Tj -0 Tc 1.495 0 Td -[(nd )-134(POSIX.1, )-134(since )-134(the )-134(Base )-134(Speci\336cations )-134(of)]TJ --19.026 -1.2 Td -[(the )-347(Single )-347(UNIX )-347(Speci\336cation )-347(and )-347(POSIX.1 )-347(ar)]TJ -0.5971 Tc 22.18 0 Td -(eo)Tj -0 Tc 1.622 0 Td -[(ne )-347(and )-347(the )-347(same.)-847(Con\337icts )-347(ar)18(e)]TJ --23.802 -1.2 Td -[(unintended, )-90(but )-90(if )-90(they )-90(should )-90(arise, )-90(POSIX.1 )-90(defers )-90(to )-90(the )-90(ISO )-90(C )-90(standar)22(d. )-340(However)74(,)]TJ -T* -(ther)Tj -0.25 Tc 1.764 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(s)]TJ -0 Tc 1.53 0 Td -[(ome dif)18(fer)18(ences.)]TJ --2.723 -1.2 Td -[(ISO )-179(C )-179(de\336nes )-179(the )-179(function)]TJ -/TT0 1 Tf -12.775 0 Td -(clock)Tj -/T1_1 1 Tf -3.429 0 Td -[(to )-179(r)18(eturn )-179(the )-179(amount )-179(of )-179(CPU )-179(time )-179(used )-179(by )-179(a)]TJ --18.004 -1.2 Td -[(pr)18(ocess. )-273(The)-273(value )-23(r)18(eturned )-23(is )-23(a)]TJ -/TT0 1 Tf -14.611 0 Td -(clock_t)Tj -/T1_1 1 Tf -4.473 0 Td -[(value, )-23(but )-23(ISO )-23(C )-23(doesn\325t )-23(specify )-23(its )-23(units.)]TJ --0.092 Tc 18.85 0 Td -(To)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46768 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.7)]TJ -35.026 0 Td -(Featur)Tj -0.5 Tc 2.841 0 Td -(eT)Tj -0 Tc 1.5 0 Td -[(est )-250(Macr)18(os)]TJ -/T1_1 1 Tf -6.966 0 Td -(57)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(Figur)Tj -0.3163 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.295 0 Td -[(.20 )-66(shows )-66(several )-66(con\336guration )-66(options )-66(and )-66(their )-66(corr)18(esponding )-66(values )-66(on)]TJ --5.478 -1.2 Td -[(the )-224(four )-224(sample )-224(systems )-224(we )-224(discuss )-224(in )-224(this )-224(text.)-724(An )-224(entry )-224(is )-224(\324)41(\324unsupported\325)37(\325)-474(if)-474(the)]TJ -0 -1.2 Td -[(system )-21(de\336nes )-21(the )-21(symbolic )-21(constant )-21(but )-21(it )-21(has )-21(a )-21(value )-21(of)]TJ -/TT0 1 Tf -25.778 0 Td -(!)Tj -/T1_0 1 Tf -[(1, )-21(or )-21(if )-21(it )-21(has )-21(a )-21(value )-21(of )-21(0 )-21(but)]TJ --25.778 -1.2 Td -[(the )-75(corr)18(esponding)]TJ -/TT1 1 Tf -8.472 0 Td -(sysconf)Tj -/T1_0 1 Tf -4.526 0 Td -(or)Tj -/TT1 1 Tf -1.266 0 Td -(pathconf)Tj -/T1_0 1 Tf -5.126 0 Td -[(call )-75(r)18(eturned)]TJ -/TT0 1 Tf -6.029 0 Td -(!)Tj -/T1_0 1 Tf -[(1. )-325(It)-326(is )-76(inter)18(esting )-76(to )-76(see )-76(that)]TJ --25.419 -1.2 Td -[(some )-83(system )-83(implementations )-83(haven\325t )-83(yet )-83(caught )-83(up )-83(to )-83(the )-83(latest )-83(version )-83(of )-83(the )-83(Single)]TJ -0 -1.2 TD -(UNIX Speci\336cation.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1400.25 5866.25 cm -0 0 m -3692 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 440.1112 574.5311 Tm -(Solaris 10)Tj --21.738 -1.25 Td -[(Fr)18(eeBSD )-2819(Linux)-2785(Mac OS X)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4069.25 5706.25 cm -0 0 m -1023 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9986 0 0 7.9986 424.6915 558.4995 Tm -[(UFS )-3571(PCFS)]TJ -/T1_0 1 Tf --1.458 -1.25 Td -[(\336le system)-1554(\336le system)]TJ --17.079 0.625 Td -[(8.0)-4646(3.2.0)-4021(10.6.8)]TJ --10.862 1.25 Td -(Limit)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1400.25 5446.25 cm -0 0 m -3692 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1400.25 5426.25 cm -0 0 m -3692 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9981 0 0 7.9981 143.9454 534.4717 Tm -(_POSIX_CHOWN_RESTRICTED)Tj -/T1_0 1 Tf -5.771 Tc 19.571 0 Td -(11)Tj -0 Tc 10.097 0 Td -[(2001)55(12 )]TJ -8.716 0 Td -(1 )Tj -6.271 0 Td -(1)Tj -/TT1 1 Tf --44.655 -1.25 Td -(_POSIX_JOB_CONTROL)Tj -/T1_0 1 Tf -5.771 Tc 19.571 0 Td -(11)Tj -0 Tc 10.097 0 Td -[(2001)55(12 )]TJ -8.716 0 Td -(1 )Tj -6.271 0 Td -(1)Tj -/TT1 1 Tf --44.655 -1.25 Td -(_POSIX_NO_TRUNC)Tj -/T1_0 1 Tf -5.771 Tc 19.571 0 Td -(11)Tj -0 Tc 10.097 0 Td -[(2001)55(12 )]TJ -8.716 0 Td -[(1)-500(unsupported)]TJ -/TT1 1 Tf --38.384 -1.25 Td -(_POSIX_SAVED_IDS)Tj -/T1_0 1 Tf -14.3 0 Td -(unsupported )Tj -11.542 0 Td -[(1)-3326(2001)55(12 )]TJ -12.542 0 Td -(1 )Tj -6.271 0 Td -(1)Tj -/TT1 1 Tf --44.655 -1.25 Td -(_POSIX_THREADS)Tj -/T1_0 1 Tf -17.126 0 Td -[(2001)55(12 )-3021(200809)-3326(2001)55(12 )-3076(2001)55(12 )-3076(2001)55(12)]TJ -/TT1 1 Tf --17.126 -1.25 Td -(_POSIX_VDISABLE)Tj -/T1_0 1 Tf -18.571 0 Td -(255 )Tj -7.271 0 Td -[(0)-4771(255 )]TJ -12.542 0 Td -(0 )Tj -6.271 0 Td -(0)Tj -/TT1 1 Tf --44.655 -1.25 Td -(_POSIX_VERSION)Tj -/T1_0 1 Tf -17.126 0 Td -[(2001)55(12 )-3021(200809)-3326(2001)55(12 )-3076(2001)55(12 )-3076(2001)55(12)]TJ -/TT1 1 Tf --17.126 -1.25 Td -(_XOPEN_UNIX)Tj -/T1_0 1 Tf -14.3 0 Td -(unsupported )Tj -11.542 0 Td -(1 )Tj -6.271 0 Td -(1 )Tj -6.271 0 Td -(1 )Tj -6.271 0 Td -(1)Tj -/TT1 1 Tf --44.655 -1.25 Td -(_XOPEN_VERSION)Tj -/T1_0 1 Tf -14.3 0 Td -[(unsupported )-4521(700 )-4521(600 )-4521(600 )-4521(600)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1400.25 4506.25 cm -0 0 m -3692 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4570.25 4506.25 cm -0 0 m -0 1200 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4069.25 4506.25 cm -0 0 m -0 1360 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3567.25 4506.25 cm -0 0 m -0 1360 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3065.25 4506.25 cm -0 0 m -0 1360 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2564.25 4506.25 cm -0 0 m -0 1360 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5092.25 4506.25 cm -0 0 m -0 1360 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1400.25 4506.25 cm -0 0 m -0 1360 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 240.8437 432.4702 Tm -(Figure 2.20)Tj -/T1_0 1 Tf -5.695 0 Td -(Examples of con\336guration options)Tj -9.997 0 0 9.997 147.5559 404.8785 Tm -[(Note )-122(that)]TJ -/TT1 1 Tf -4.659 0 Td -(pathconf)Tj -/T1_0 1 Tf --0.018 Tc 5.172 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-122(a )-122(value )-122(of)]TJ -/TT0 1 Tf -7.633 0 Td -(!)Tj -/T1_0 1 Tf -0.3716 Tc (1f)Tj -0 Tc 1.754 0 Td -(or)Tj -/TT1 1 Tf -1.313 0 Td -(_PC_NO_TRUNC)Tj -/T1_0 1 Tf -7.572 0 Td -[(when )-122(used )-122(with )-122(a)]TJ --30.758 -1.2 Td -[(\336le )-58(fr)18(om )-58(a )-58(PCFS )-58(\336le )-58(system )-58(on )-58(Solaris.)-556(The )-58(PCFS )-58(\336le )-58(system )-58(supports )-58(the )-58(DOS )-58(format)]TJ -T* -[(\(for )-65(\337oppy )-65(disks\), )-65(and )-65(DOS )-65(\336lenames )-65(ar)]TJ -0.3149 Tc 18.195 0 Td -(es)Tj -0 Tc 1.218 0 Td -[(ilently )-65(tr)8(uncated )-65(to )-65(the )-65(8.3 )-65(format )-65(limit )-65(that)]TJ --19.413 -1.2 Td -[(the DOS \336le system r)18(equir)18(es.)]TJ -/TT2 1 Tf -11.9964 0 0 11.9964 93.5726 332.9001 Tm -[(2.7 )-1332(Feature)]TJ --0.06 Tc 7.168 0 Td -(Te)Tj -0 Tc 1.107 0 Td -[(st )-278(Macr)20(os)]TJ -/T1_0 1 Tf -9.997 0 0 9.997 129.5616 311.3066 Tm -[(The )-82(headers )-82(de\336ne )-82(numer)18(ous )-82(POSIX.1 )-82(and )-82(XSI )-82(symbols, )-82(as )-82(we\325ve )-82(described.)-582(Even )-82(so,)]TJ -T* -[(most )-23(implementations )-23(can )-23(add )-23(their )-23(own )-23(de\336nitions )-23(to )-23(these )-23(headers, )-23(in )-23(addition )-23(to )-23(the)]TJ -T* -[(POSIX.1 )-70(and )-70(XSI )-70(de\336nitions.)-570(If )-70(we )-70(want )-70(to )-70(compile )-70(a )-70(pr)18(ogram )-70(so )-70(that )-70(it )-70(depends )-70(only)]TJ -T* -[(on )-441(the )-441(POSIX )-441(de\336nitions )-441(and )-441(doesn\325t )-441(con\337ict )-441(with )-441(any )-441(implementation-de\336ned)]TJ -T* -[(constants, )-23(we )-23(need )-23(to )-23(de\336ne )-23(the )-23(constant)]TJ -/TT1 1 Tf -18.523 0 Td -(_POSIX_C_SOURCE)Tj -/T1_0 1 Tf -0.5228 Tc (.A)Tj -0 Tc 10.551 0 Td -[(ll )-23(the )-23(POSIX.1 )-23(headers)]TJ --29.073 -1.2 Td -[(use )-779(this )-779(constant )-779(to )-779(exclude )-779(any )-779(implementation-de\336ned )-779(de\336nitions )-779(when)]TJ -/TT1 1 Tf -T* -(_POSIX_C_SOURCE)Tj -/T1_0 1 Tf -9.25 0 Td -(is de\336ned.)Tj -7.9976 0 0 7.9976 183.5452 219.3342 Tm -[(Older )-242(versions )-242(of )-242(the )-242(POSIX.1 )-242(standar)]TJ -0.4921 Tc 17.984 0 Td -(dd)Tj -0 Tc 1.714 0 Td -[(e\336ned )-242(the)]TJ -/TT1 1 Tf -5.127 0 Td -(_POSIX_SOURCE)Tj -/T1_0 1 Tf -8.292 0 Td -[(constant. )-492(This)-492(was)]TJ --33.118 -1.25 Td -(superseded by the)Tj -/TT1 1 Tf -8.352 0 Td -(_POSIX_C_SOURCE)Tj -/T1_0 1 Tf -9.25 0 Td -(constant in the 2001 version of POSIX.1.)Tj -9.997 0 0 9.997 147.5561 187.3438 Tm -[(The )-338(constants)]TJ -/TT1 1 Tf -7.004 0 Td -(_POSIX_C_SOURCE)Tj -/T1_0 1 Tf -9.588 0 Td -(and)Tj -/TT1 1 Tf -2.281 0 Td -(_XOPEN_SOURCE)Tj -/T1_0 1 Tf -8.388 0 Td -(ar)Tj -0.5879 Tc 0.877 0 Td -(ec)Tj -0 Tc 1.511 0 Td -(alled)Tj -/T1_2 1 Tf -2.76 0 Td -(featur)Tj -0.5879 Tc 2.371 0 Td -(et)Tj -0 Tc 1.31 0 Td -(est)Tj --37.889 -1.2 Td -[(macr)18(os)]TJ -/T1_0 1 Tf -0.5039 Tc (.A)Tj -0 Tc 4.365 0 Td -[(ll )-4(featur)]TJ -0.2539 Tc 3.454 0 Td -(et)Tj -0 Tc 1.059 0 Td -[(est )-4(macr)18(os )-4(begin )-4(with )-4(an )-4(underscor)19(e. )-254(When)-254(used, )-4(they )-4(ar)]TJ -0.2538 Tc 25.534 0 Td -(et)Tj -0 Tc 1.059 0 Td -(ypically)Tj --35.47 -1.2 Td -(de\336ned in the)Tj -/TT1 1 Tf -6.377 0 Td -(cc)Tj -/T1_0 1 Tf -1.45 0 Td -(command, as in)Tj -/TT1 1 Tf -8.9973 0 0 8.9973 147.556 146.656 Tm -(cc -D_POSIX_C_SOURCE=200809L file.c)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46769 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.6)]TJ -40.777 0 Td -(Options)Tj -/T1_1 1 Tf -5.556 0 Td -(53)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(For )-43(example, )-43(we )-43(can )-43(use )-43(the)]TJ -/TT0 1 Tf -12.986 0 Td -(ulimit)Tj -/T1_0 1 Tf -3.893 0 Td -[(command )-43(built )-43(into )-43(the )-43(Bourne-again )-43(shell )-43(to)]TJ --18.679 -1.2 Td -[(change )-130(the )-130(maximum )-130(number )-130(of )-130(\336les )-130(our )-130(pr)18(ocesses )-130(can )-130(have )-130(open )-130(at )-130(one )-130(time.)-624(This)]TJ -0 -1.2 TD -[(generally )-436(r)18(equir)18(es )-436(special )-436(\(super)8(user\) )-436(privileges )-436(if )-436(the )-436(limit )-436(is )-436(to )-436(be )-436(ef)16(fectively)]TJ -T* -[(unlimited. )-457(But)-458(once )-207(set )-207(to )-207(in\336nite,)]TJ -/TT0 1 Tf -16.7 0 Td -(sysconf)Tj -/T1_0 1 Tf -4.657 0 Td -[(will )-207(r)18(eport)]TJ -/TT0 1 Tf -5.346 0 Td -(LONG_MAX)Tj -/T1_0 1 Tf -5.257 0 Td -[(as )-207(the )-207(limit )-207(for)]TJ -/TT0 1 Tf --31.961 -1.2 Td -(OPEN_MAX)Tj -/T1_0 1 Tf -0.5068 Tc (.A)Tj -0 Tc 6.592 0 Td -[(pr)18(ogram )-7(that )-7(r)18(elies )-7(on )-7(this )-7(value )-7(as )-7(the )-7(upper )-7(bound )-7(of )-7(\336le )-7(descriptors )-7(to)]TJ --6.592 -1.2 Td -[(close, )-79(as )-79(shown )-79(in )-79(Figur)]TJ -0.3288 Tc 10.898 0 Td -(e2)Tj -0 Tc 1.308 0 Td -[(.17, )-79(will )-79(waste )-79(a )-79(lot )-79(of )-79(time )-79(trying )-79(to )-79(close )-79(2,147,483,647 )-79(\336le)]TJ --12.205 -1.2 Td -[(descriptors, most of which ar)18(en\325t even in use.)]TJ -1.8 -1.2 Td -[(Systems )-95(that )-95(support )-95(the )-95(XSI )-95(option )-95(in )-95(the )-95(Single )-95(UNIX )-95(Speci\336cation )-95(will )-95(pr)22(ovide)]TJ --1.8 -1.2 Td -(the)Tj -/TT0 1 Tf -1.918 0 Td -(getrlimit)Tj -/T1_0 1 Tf -5.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.864 -0.04 Td -[(function )-281(\(Section )-281(7.1)56(1\). )-531(It)-530(can )-281(be )-281(used )-281(to )-281(r)19(eturn )-281(the )-281(maximum)]TJ --9.014 -1.2 Td -[(number )-37(of )-37(descriptors )-37(that )-37(a )-37(pr)18(ocess )-37(can )-37(have )-37(open.)]TJ --0.055 Tc 23.783 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-37(it, )-37(we )-37(can )-37(detect )-37(that )-37(ther)]TJ -0.2872 Tc 12.5 0 Td -(ei)Tj -0 Tc 1.057 0 Td -(s)Tj --38.576 -1.2 Td -[(no )-73(con\336gur)18(ed )-73(upper )-73(bound )-73(to )-73(the )-73(number )-73(of )-73(open )-73(\336les )-73(our )-73(pr)17(ocesses )-73(can )-73(open, )-73(so )-73(we)]TJ -T* -[(can avoid this pr)18(oblem.)]TJ -7.9995 0 0 7.9995 183.5891 514.5691 Tm -(The)Tj -/TT0 1 Tf -1.981 0 Td -(OPEN_MAX)Tj -/T1_0 1 Tf -5.107 0 Td -[(value )-57(is )-57(called )-57(r)8(untime )-57(invariant )-57(by )-57(POSIX, )-57(meaning )-57(that )-57(its )-57(value )-57(should )-57(not)]TJ --7.088 -1.25 Td -[(change )-98(during )-98(the )-98(lifetime )-98(of )-98(a )-98(pr)16(ocess. )-348(But)-349(on )-98(systems )-98(that )-98(support )-98(the )-98(XSI )-98(option, )-98(we )-98(can)]TJ -0 -1.25 Td -[(call )-21(the)]TJ -/TT0 1 Tf -3.454 0 Td -(setrlimit)Tj -/T1_0 1 Tf -5.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.604 -0.04 Td -[(function )-21(\(Section )-21(7.1)55(1\) )-21(to )-21(change )-21(this )-21(value )-21(for )-21(a )-21(r)11(unning )-21(pr)18(ocess. )-271(\(This)]TJ --10.291 -1.25 Td -[(value )-86(can )-86(also )-86(be )-86(changed )-86(fr)18(om )-86(the )-86(C )-86(shell )-86(with )-86(the)]TJ -/TT0 1 Tf -23.934 0 Td -(limit)Tj -/T1_0 1 Tf -3.336 0 Td -[(command, )-86(and )-86(fr)18(om )-86(the )-86(Bourne,)]TJ --27.271 -1.25 Td -[(Bourne-again, )-95(Debian )-95(Almquist, )-95(and )-95(Korn )-95(shells )-95(with )-95(the)]TJ -/TT0 1 Tf -26.43 0 Td -(ulimit)Tj -/T1_0 1 Tf -3.946 0 Td -[(command.\) )-345(If)-346(our )-95(system)]TJ --30.375 -1.25 Td -[(supports )-39(this )-39(functionality)111(,)-289(we)-289(could )-39(change )-39(the )-39(function )-39(in )-39(Figur)]TJ -0.2889 Tc 29.254 0 Td -(e2)Tj -0 Tc 1.268 0 Td -[(.17 )-39(to )-39(call)]TJ -/TT0 1 Tf -4.515 0 Td -(sysconf)Tj -/T1_0 1 Tf -4.489 0 Td -(every)Tj --39.526 -1.25 Td -(time it is called, not just the \336rst time.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5946 419.5748 Tm -[(2.6 )-1332(Options)]TJ -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5924 397.9761 Tm -[(We )-326(s)]TJ -0 Tc 2.203 0 Td -[(aw )-142(the )-142(list )-142(of )-142(POSIX.1 )-142(options )-142(in )-142(Figur)]TJ -0.3921 Tc 17.918 0 Td -(e2)Tj -0 Tc 1.371 0 Td -[(.5 )-142(and )-142(discussed )-142(XSI )-142(option )-142(gr)18(oups )-142(in)]TJ --21.492 -1.2 Td -[(Section )-225(2.2.3.)-725(If )-225(we )-225(ar)18(e)-475(to)-475(write )-225(portable )-225(applications )-225(that )-225(depend )-225(on )-225(any )-225(of )-225(these)]TJ -0 -1.2 Td -[(optionally )-333(supported )-333(featur)18(es, )-333(we )-333(need )-333(a )-333(portable )-333(way )-333(to )-333(determine )-333(whether )-333(an)]TJ -T* -(implementation supports a given option.)Tj -1.8 -1.2 Td -[(Just as with limits \(Section 2.5\), POSIX.1 de\336nes thr)18(ee ways to do this.)]TJ -0 -1.92 TD -[(1. )-633(Compile-time)-250(options ar)]TJ -0.25 Tc 12.438 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(e\336ned in)Tj -/TT0 1 Tf -4.129 0 Td -()Tj -/T1_0 1 Tf -(.)Tj --17.907 -1.6 Td -[(2. )-633(Runtime)-333(options )-83(that )-83(ar)]TJ -0.3327 Tc 12.39 0 Td -(en)Tj -0 Tc 1.394 0 Td -[(ot )-83(associated )-83(with )-83(a )-83(\336le )-83(or )-83(a )-83(dir)18(ectory )-83(ar)]TJ -0.3326 Tc 18.33 0 Td -(ei)Tj -0 Tc 1.103 0 Td -(denti\336ed)Tj --31.583 -1.2 Td -(with the)Tj -/TT0 1 Tf -3.92 0 Td -(sysconf)Tj -/T1_0 1 Tf -4.45 0 Td -(function.)Tj --10.003 -1.6 Td -[(3. )-633(Runtime)-317(options )-67(that )-67(ar)]TJ -0.3167 Tc 12.342 0 Td -(ea)Tj -0 Tc 1.296 0 Td -[(ssociated )-67(with )-67(a )-67(\336le )-67(or )-67(a )-67(dir)18(ectory )-67(ar)]TJ -0.3168 Tc 16.514 0 Td -(ed)Tj -0 Tc 1.407 0 Td -[(iscover)18(ed )-67(by)]TJ --29.925 -1.2 Td -(calling either the)Tj -/TT0 1 Tf -7.644 0 Td -(pathconf)Tj -/T1_0 1 Tf -5.05 0 Td -(or the)Tj -/TT0 1 Tf -2.828 0 Td -(fpathconf)Tj -/T1_0 1 Tf -5.65 0 Td -(function.)Tj --22.805 -1.92 Td -[(The )-60(options )-60(include )-60(the )-60(symbols )-60(listed )-60(in )-60(the )-60(thir)]TJ -0.3095 Tc 22.09 0 Td -(dc)Tj -0 Tc 1.364 0 Td -[(olumn )-59(of )-59(Figur)]TJ -0.3095 Tc 6.786 0 Td -(e2)Tj -0 Tc 1.289 0 Td -[(.5, )-59(as )-59(well )-59(as)]TJ --33.329 -1.2 Td -[(the )-69(symbols )-69(listed )-69(in )-69(Figur)18(es )-69(2.19 )-69(and )-69(2.18.)-569(If )-69(the )-69(symbolic )-69(constant )-69(is )-69(not )-69(de\336ned, )-69(we)]TJ -0 -1.2 TD -[(must )-236(use)]TJ -/TT0 1 Tf -4.715 0 Td -(sysconf)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.936 0 Td -(pathconf)Tj -/T1_0 1 Tf -0.4863 Tc (,o)Tj -0 Tc 6.082 0 Td -(r)Tj -/TT0 1 Tf -0.881 0 Td -(fpathconf)Tj -/T1_0 1 Tf -5.886 0 Td -[(to )-236(determine )-236(whether )-236(the )-236(option )-236(is)]TJ --22.501 -1.2 Td -[(supported. )-348(In)-348(this )-98(case, )-98(the)]TJ -/T1_2 1 Tf -12.851 0 Td -(name)Tj -/T1_0 1 Tf -2.515 0 Td -[(ar)18(gument )-98(to )-98(the )-98(function )-98(is )-98(formed )-98(by )-98(r)18(eplacing )-98(the)]TJ -/TT0 1 Tf --15.366 -1.2 Td -(_POSIX)Tj -/T1_0 1 Tf -3.883 0 Td -[(at )-33(the )-33(beginning )-33(of )-33(the )-33(symbol )-33(with)]TJ -/TT0 1 Tf -16.217 0 Td -(_SC)Tj -/T1_0 1 Tf -2.083 0 Td -(or)Tj -/TT0 1 Tf -1.224 0 Td -(_PC)Tj -/T1_0 1 Tf -0.5328 Tc (.F)Tj -0 Tc 3.139 0 Td -[(or )-33(constants )-33(that )-33(begin )-33(with)]TJ -/TT0 1 Tf --26.546 -1.2 Td -(_XOPEN)Tj -/T1_0 1 Tf -0.3234 Tc (,t)Tj -0 Tc 4.499 0 Td -(he)Tj -/T1_2 1 Tf -1.384 0 Td -(name)Tj -/T1_0 1 Tf -2.49 0 Td -[(ar)18(gument )-73(is )-73(formed )-73(by )-73(pr)18(epending )-73(the )-73(string )-73(with)]TJ -/TT0 1 Tf -23.117 0 Td -(_SC)Tj -/T1_0 1 Tf -2.124 0 Td -(or)Tj -/TT0 1 Tf -1.264 0 Td -(_PC)Tj -/T1_0 1 Tf -0.5735 Tc (.F)Tj -0 Tc 3.179 0 Td -(or)Tj --38.059 -1.2 Td -[(example, )-188(if )-188(the )-188(constant)]TJ -/TT0 1 Tf -11.491 0 Td -(_POSIX_RAW_SOCKETS)Tj -/T1_0 1 Tf -11.238 0 Td -[(is )-188(unde\336ned, )-188(we )-188(can )-188(call)]TJ -/TT0 1 Tf -12.071 0 Td -(sysconf)Tj -/T1_0 1 Tf --34.8 -1.2 Td -[(with )-84(the)]TJ -/T1_2 1 Tf -4.087 0 Td -(name)Tj -/T1_0 1 Tf -2.501 0 Td -[(ar)18(gument )-84(set )-84(to)]TJ -/TT0 1 Tf -7.408 0 Td -(_SC_RAW_SOCKETS)Tj -/T1_0 1 Tf -9.334 0 Td -[(to )-84(determine )-84(whether )-84(the )-84(platform)]TJ --23.329 -1.2 Td -[(supports )-136(the )-136(raw )-136(sockets )-136(option.)-635(If )-136(the )-136(constant)]TJ -/TT0 1 Tf -22.501 0 Td -(_XOPEN_UNIX)Tj -/T1_0 1 Tf -6.986 0 Td -[(is )-136(unde\336ned, )-136(we )-136(can)]TJ --29.487 -1.2 Td -(call)Tj -/TT0 1 Tf -1.872 0 Td -(sysconf)Tj -/T1_0 1 Tf -4.546 0 Td -[(with )-96(the)]TJ -/T1_2 1 Tf -4.112 0 Td -(name)Tj -/T1_0 1 Tf -2.513 0 Td -[(ar)18(gument )-96(set )-96(to)]TJ -/TT0 1 Tf -7.445 0 Td -(_SC_XOPEN_UNIX)Tj -/T1_0 1 Tf -8.746 0 Td -[(to )-96(determine )-96(whether)]TJ --29.234 -1.2 Td -(the platform supports the XSI option interfaces.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46770 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.5)]TJ -41.507 0 Td -(Limits)Tj -/T1_1 1 Tf -4.826 0 Td -(49)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1520.25 6670.25 cm -0 0 m -3452 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 428.1383 654.9607 Tm -(Solaris 10)Tj --21.738 -1.25 Td -[(Fr)18(eeBSD )-2819(Linux)-2785(Mac OS X)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3949.25 6510.25 cm -0 0 m -1023 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 412.7185 638.9233 Tm -[(UFS )-3571(PCFS)]TJ -/T1_0 1 Tf --1.458 -1.25 Td -[(\336le system)-1554(\336le system)]TJ --17.079 0.625 Td -[(8.0)-4646(3.2.0)-4021(10.6.8)]TJ --9.362 1.25 Td -(Limit)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1520.25 6250.25 cm -0 0 m -3452 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1520.25 6230.25 cm -0 0 m -3452 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 155.9519 614.8893 Tm -(ARG_MAX)Tj -/T1_0 1 Tf -13.821 0 Td -[(262,144 )-2021(2,097,152)-3021(262,144 )-2021(2,096,640 )-2021(2,096,640)]TJ -/TT0 1 Tf --13.821 -1.25 Td -(ATEXIT_MAX)Tj -/T1_0 1 Tf -16.071 0 Td -[(32 )-271(2,147,483,647 )-271(2,147,483,647)-2811(no limit)-2811(no limit)]TJ -/TT0 1 Tf --16.071 -1.25 Td -(CHARCLASS_NAME_MAX)Tj -/T1_0 1 Tf -12.44 0 Td -[(no symbol)-4021(2,048 )]TJ -16.173 0 Td -(14 )Tj -6.271 0 Td -(14 )Tj -6.271 0 Td -(14)Tj -/TT0 1 Tf --41.155 -1.25 Td -(CHILD_MAX)Tj -/T1_0 1 Tf -14.821 0 Td -[(1,760 )-3326(47,21)]TJ -4.771 Tc 8.021 0 Td -(12)Tj -0 Tc 5.771 0 Td -[(66 )-3771(8,021 )-3771(8,021)]TJ --28.613 -1.25 Td -(clock ticks/second)Tj -15.571 0 Td -[(128 )-4521(100 )-4521(100 )-4521(100 )-4521(100)]TJ -/TT0 1 Tf --15.571 -1.25 Td -(COLL_WEIGHTS_MAX)Tj -/T1_0 1 Tf -4.771 Tc 16.571 0 Td -(02)Tj -0 Tc 5.771 0 Td -(55 )Tj -6.771 0 Td -(2)Tj -5.771 0 Td -(10 )Tj -6.271 0 Td -(10)Tj -/TT0 1 Tf --41.155 -1.25 Td -(FILESIZEBITS)Tj -/T1_0 1 Tf -16.071 0 Td -(64 )Tj -6.271 0 Td -(64 )Tj -6.271 0 Td -(64 )Tj -6.271 0 Td -[(41)-500(unsupported)]TJ -/TT0 1 Tf --34.884 -1.25 Td -(HOST_NAME_MAX)Tj -/T1_0 1 Tf -15.571 0 Td -(255 )Tj -6.771 0 Td -[(64)-4771(255 )-4521(255 )-4521(255)]TJ -/TT0 1 Tf --22.342 -1.25 Td -(IOV_MAX)Tj -/T1_0 1 Tf -14.821 0 Td -[(1,024 )-3771(1,024)-4271(1024 )]TJ -20.063 0 Td -(16 )Tj -6.271 0 Td -(16)Tj -/TT0 1 Tf --41.155 -1.25 Td -(LINE_MAX)Tj -/T1_0 1 Tf -14.821 0 Td -[(2,048 )-3771(2,048 )-3771(2,048 )-3771(2,048 )-3771(2,048)]TJ -/TT0 1 Tf --14.821 -1.25 Td -(LINK_MAX)Tj -/T1_0 1 Tf -14.321 0 Td -[(32,767 )-3271(65,000 )-3271(32,767 )-3271(32,767)]TJ -27.334 0 Td -(1)Tj -/TT0 1 Tf --41.655 -1.25 Td -(LOGIN_NAME_MAX)Tj -/T1_0 1 Tf -16.071 0 Td -[(17 )-4521(256 )-4521(255)]TJ -5.771 Tc 19.313 0 Td -(99)Tj -/TT0 1 Tf -0 Tc -35.384 -1.25 Td -(MAX_CANON)Tj -/T1_0 1 Tf -15.571 0 Td -[(255 )-4521(255)-4021(1,024 )-4521(256 )-4521(256)]TJ -/TT0 1 Tf --15.571 -1.25 Td -(MAX_INPUT)Tj -/T1_0 1 Tf -15.571 0 Td -[(255 )-4521(255)-4021(1,024 )-4521(512 )-4521(512)]TJ -/TT0 1 Tf --15.571 -1.25 Td -(NAME_MAX)Tj -/T1_0 1 Tf -15.571 0 Td -[(255 )-4521(255 )-4521(255 )-4521(255)]TJ -26.084 0 Td -(8)Tj -/TT0 1 Tf --41.655 -1.25 Td -(NGROUPS_MAX)Tj -/T1_0 1 Tf -14.821 0 Td -[(1,023 )-3271(65,536)]TJ -13.792 0 Td -(16 )Tj -6.271 0 Td -(16 )Tj -6.271 0 Td -(16)Tj -/TT0 1 Tf --41.155 -1.25 Td -(OPEN_MAX)Tj -/T1_0 1 Tf -14.821 0 Td -[(3,520 )-3771(1,024)-4771(256 )-4521(256 )-4521(256)]TJ -/TT0 1 Tf --14.821 -1.25 Td -(PAGESIZE)Tj -/T1_0 1 Tf -14.821 0 Td -[(4,096 )-3771(4,096 )-3771(4,096 )-3771(8,192 )-3771(8,192)]TJ -/TT0 1 Tf --14.821 -1.25 Td -(PAGE_SIZE)Tj -/T1_0 1 Tf -14.821 0 Td -[(4,096 )-3771(4,096 )-3771(4,096 )-3771(8,192 )-3771(8,192)]TJ -/TT0 1 Tf --14.821 -1.25 Td -(PATH_MAX)Tj -/T1_0 1 Tf -14.821 0 Td -[(1,024 )-3771(4,096 )-3771(1,024 )-3771(1,024 )-3771(1,024)]TJ -/TT0 1 Tf --14.821 -1.25 Td -(PIPE_BUF)Tj -/T1_0 1 Tf -15.571 0 Td -[(512 )-3771(4,096)-4771(512 )-3771(5,120 )-3771(5,120)]TJ -/TT0 1 Tf --15.571 -1.25 Td -(RE_DUP_MAX)Tj -/T1_0 1 Tf -15.571 0 Td -[(255 )-3271(32,767)-4771(255 )-4521(255 )-4521(255)]TJ -/TT0 1 Tf --15.571 -1.25 Td -(STREAM_MAX)Tj -/T1_0 1 Tf -14.821 0 Td -(3,520 )Tj -7.521 0 Td -(16 )Tj -6.271 0 Td -[(20)-4771(256 )-4521(256)]TJ -/TT0 1 Tf --28.613 -1.25 Td -(SYMLINK_MAX)Tj -/T1_0 1 Tf -14.821 0 Td -[(1,024 )-2561(no)-250(limit )-4521(255)-4021(1,024 )-3771(1,024)]TJ -/TT0 1 Tf --14.821 -1.25 Td -(SYMLOOP_MAX)Tj -/T1_0 1 Tf -16.071 0 Td -[(32 )-2561(no)-250(limit )]TJ -12.542 0 Td -(32 )Tj -6.271 0 Td -(20 )Tj -6.271 0 Td -(20)Tj -/TT0 1 Tf --41.155 -1.25 Td -(TTY_NAME_MAX)Tj -/T1_0 1 Tf -15.571 0 Td -(255 )Tj -6.771 0 Td -[(32)-4771(255 )-4521(128 )-4521(128)]TJ -/TT0 1 Tf --22.342 -1.25 Td -(TZNAME_MAX)Tj -/T1_0 1 Tf -15.571 0 Td -(255 )Tj -7.271 0 Td -[(6)-4771(255 )-2561(no)-250(limit )-2561(no)-250(limit)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1520.25 3510.25 cm -0 0 m -3452 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4450.25 3510.25 cm -0 0 m -0 3000 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3949.25 3510.25 cm -0 0 m -0 3160 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3447.25 3510.25 cm -0 0 m -0 3160 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2945.25 3510.25 cm -0 0 m -0 3160 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2444.25 3510.25 cm -0 0 m -0 3160 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4972.25 3510.25 cm -0 0 m -0 3160 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1520.25 3510.25 cm -0 0 m -0 3160 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 244.0974 332.9201 Tm -(Figure 2.15)Tj -/T1_0 1 Tf -5.695 0 Td -(Examples of con\336guration limits)Tj -/TT1 1 Tf -11.9971 0 0 11.9971 129.5691 301.7276 Tm -[(2.5.5 )-556(Indeterminate)-556(Runtime )-278(Limits)]TJ -/T1_0 1 Tf --0.092 Tc 9.9976 0 0 9.9976 129.5691 280.1328 Tm -[(We )-208(m)]TJ -0 Tc 2.544 0 Td -[(entioned )-24(that )-24(some )-24(of )-24(the )-24(limits )-24(can )-24(be )-24(indeterminate.)-523(The )-24(pr)18(oblem )-24(we )-24(encounter)]TJ --2.544 -1.2 Td -[(is )-130(that )-130(if )-130(these )-130(limits )-130(ar)18(en\325t )-130(de\336ned )-130(in )-130(the)]TJ -/TT0 1 Tf -19.455 0 Td -()Tj -/T1_0 1 Tf -6.38 0 Td -[(header)74(,)-380(we)-380(c)1(an\325t )-130(use )-130(them )-130(at)]TJ --25.835 -1.2 Td -[(compile )-56(time.)-556(But )-56(they )-56(might )-56(not )-56(be )-56(de\336ned )-56(at )-56(r)9(untime )-56(if )-56(their )-56(value )-56(is )-56(indeterminate!)]TJ -0 -1.2 TD -[(Let\325s )-78(look )-78(at )-78(two )-78(speci\336c )-78(cases: )-78(allocating )-78(storage )-78(for )-78(a )-78(pathname )-78(and )-78(determining )-78(the)]TJ -T* -(number of \336le descriptors.)Tj -/TT1 1 Tf --0.03 Tc -3.6 -2.64 Td -(Pa)Tj -0 Tc 1.193 0 Td -(thnames)Tj -/T1_0 1 Tf -2.407 -1.92 Td -[(Many )-10(pr)18(ograms )-10(need )-10(to )-10(allocate )-10(storage )-10(for )-10(a )-10(pathname.)]TJ --0.09 Tc 25.557 0 Td -(Ty)Tj -0 Tc 1.079 0 Td -(pically)Tj -0.2598 Tc 2.863 0 Td -(,t)Tj -0 Tc 0.836 0 Td -[(he )-10(storage )-10(has )-10(been)]TJ --30.335 -1.2 Td -[(allocated )-136(at )-136(compile )-136(time, )-136(and )-136(various )-136(magic )-136(numbers)]TJ -0.0833 Tc 24.974 0 Td -(\321f)Tj -0 Tc 1.416 0 Td -[(ew )-136(of )-136(which )-136(ar)]TJ -0.3861 Tc 6.96 0 Td -(et)Tj -0 Tc 1.191 0 Td -[(he )-136(corr)18(ect)]TJ --34.542 -1.2 Td -[(value )167(\321 )167(have)-372(been )-121(used )-121(by )-121(dif)18(fer)18(ent )-121(pr)18(ograms )-121(as )-121(the )-121(array )-121(size: )-121(256, )-121(512, )-121(1024, )-121(or )-121(the)]TJ -T* -(standar)Tj -0.564 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.512 0 Td -[(/O )-314(constant)]TJ -/TT0 1 Tf -6.25 0 Td -(BUFSIZ)Tj -/T1_0 1 Tf -0.814 Tc (.T)Tj -0 Tc 5.277 0 Td -[(he )-314(4.3BSD )-314(constant)]TJ -/TT0 1 Tf -9.643 0 Td -(MAXPATHLEN)Tj -/T1_0 1 Tf -6.564 0 Td -[(in )-314(the )-314(header)]TJ -/TT0 1 Tf --32.566 -1.2 Td -()Tj -/T1_0 1 Tf -8.05 0 Td -[(is the corr)18(ect value, but many 4.3BSD applications didn\325t use it.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46771 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(42)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 129.5922 668.9599 Tm -(2.5.4)Tj -/TT1 1 Tf -3.058 0 Td -(sysconf)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -5.034 0 Td -(pathconf)Tj -/TT0 1 Tf -0.556 Tc (,a)Tj -0 Tc 6.19 0 Td -(nd)Tj -/TT1 1 Tf -1.778 0 Td -(fpathconf)Tj -/TT0 1 Tf -5.956 0 Td -(Functions)Tj -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.592 644.9613 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-110(listed )-110(various )-110(minimum )-110(values )-110(that )-110(an )-110(implementation )-110(must )-110(support, )-110(but )-110(how)]TJ --1.387 -1.2 Td -[(do )-55(we )-55(\336nd )-55(out )-55(the )-55(limits )-55(that )-55(a )-55(particular )-55(system )-55(actually )-55(supports?)-557(As )-55(we )-55(mentioned)]TJ -0 -1.2 TD -(earlier)Tj -0.5952 Tc 2.756 0 Td -(,s)Tj -0 Tc 1.269 0 Td -[(ome )-345(of )-345(these )-345(limits )-345(might )-345(be )-345(available )-345(at )-345(compile )-345(time; )-345(others )-345(must )-345(be)]TJ --4.025 -1.2 Td -[(determined )-45(at )-45(r)8(untime. )-295(W)92(e\325ve )-45(also )-45(mentioned )-45(that )-45(some )-45(limits )-45(don\325t )-45(change )-45(in )-45(a )-45(given)]TJ -T* -[(system, )-75(wher)18(eas )-75(others )-75(can )-75(change )-75(because )-75(they )-75(ar)]TJ -0.3248 Tc 23.014 0 Td -(ea)Tj -0 Tc 1.304 0 Td -[(ssociated )-75(with )-75(a )-75(\336le )-75(or )-75(dir)19(ectory)111(.)]TJ --24.318 -1.2 Td -[(The r)8(untime limits ar)]TJ -0.25 Tc 9.358 0 Td -(eo)Tj -0 Tc 1.275 0 Td -[(btained by calling one of the following thr)18(ee functions.)]TJ -/TT2 1 Tf -8.9995 0 0 8.9995 147.5909 568.2659 Tm -(#include )Tj -0 -1.902 TD -(long sysconf\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(name)Tj -/TT2 1 Tf -(\);)Tj --10.2 -1.902 Td -(long pathconf\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT2 1 Tf -0.6 Tc (,i)Tj -0 Tc 21.344 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(name)Tj -/TT2 1 Tf -(\);)Tj --23.144 -1.902 Td -(long fpathconf\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(fd)Tj -/TT2 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(name)Tj -/TT2 1 Tf -(\);)Tj -/T1_1 1 Tf --5.476 -1.902 Td -[(All thr)18(ee r)18(eturn: corr)18(esponding value if OK,)]TJ -/TT3 1 Tf -19.623 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or \(see later\))]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4953.25 cm -0 0 m -0 820 l -3900 820 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 481.7622 Tm -[(The )-263(dif)18(fer)18(ence )-263(between )-263(the )-263(last )-263(two )-263(functions )-263(is )-263(that )-263(one )-263(takes )-263(a )-263(pathname )-263(as )-263(its)]TJ -0 -1.2 TD -[(ar)18(gument and the other takes a \336le descriptor ar)18(gument.)]TJ -1.8 -1.2 Td -(Figur)Tj -0.3792 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.358 0 Td -(.1)Tj -0.3792 Tc 0.695 0 Td -(1l)Tj -0 Tc 1.17 0 Td -[(ists )-129(the)]TJ -/T1_2 1 Tf -3.61 0 Td -(name)Tj -/T1_1 1 Tf -2.546 0 Td -[(ar)18(guments )-129(that)]TJ -/TT2 1 Tf -7.222 0 Td -(sysconf)Tj -/T1_1 1 Tf -4.579 0 Td -[(uses )-129(to )-129(identify )-129(system )-129(limits.)]TJ --25.365 -1.2 Td -[(Constants )-229(beginning )-229(with)]TJ -/TT2 1 Tf -12.361 0 Td -(_SC_)Tj -/T1_1 1 Tf -2.879 0 Td -(ar)Tj -0.4791 Tc 0.877 0 Td -(eu)Tj -0 Tc 1.561 0 Td -[(sed )-229(as )-229(ar)18(guments )-229(to)]TJ -/TT2 1 Tf -9.956 0 Td -(sysconf)Tj -/T1_1 1 Tf -4.679 0 Td -[(to )-229(identify )-229(the)]TJ --0.008 Tc -32.314 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(ntime )-166(limit.)-666(Figur)]TJ -0.4159 Tc 8.358 0 Td -(e2)Tj -0 Tc 1.395 0 Td -[(.12 )-166(lists )-166(the)]TJ -/T1_2 1 Tf -5.641 0 Td -(name)Tj -/T1_1 1 Tf -2.583 0 Td -[(ar)18(guments )-166(that )-166(ar)]TJ -0.4158 Tc 8.173 0 Td -(eu)Tj -0 Tc 1.498 0 Td -[(sed )-166(by)]TJ -/TT2 1 Tf -3.455 0 Td -(pathconf)Tj -/T1_1 1 Tf -5.216 0 Td -(and)Tj -/TT2 1 Tf --37.307 -1.2 Td -(fpathconf)Tj -/T1_1 1 Tf -5.894 0 Td -[(to )-244(identify )-244(system )-244(limits.)-744(Constants )-244(beginning )-244(with)]TJ -/TT2 1 Tf -24.825 0 Td -(_PC_)Tj -/T1_1 1 Tf -2.895 0 Td -(ar)Tj -0.4946 Tc 0.877 0 Td -(eu)Tj -0 Tc 1.577 0 Td -[(sed )-245(as)]TJ --36.067 -1.2 Td -[(ar)18(guments to)]TJ -/TT2 1 Tf -6.102 0 Td -(pathconf)Tj -/T1_1 1 Tf -5.05 0 Td -(and)Tj -/TT2 1 Tf -1.943 0 Td -(fpathconf)Tj -/T1_1 1 Tf -5.65 0 Td -[(to identify the r)8(untime limit.)]TJ --0.092 Tc -16.945 -1.2 Td -[(We )-426(n)]TJ -0 Tc 2.461 0 Td -[(eed )-242(to )-242(look )-242(in )-242(mor)]TJ -0.4924 Tc 9.029 0 Td -(ed)Tj -0 Tc 1.582 0 Td -[(etail )-242(at )-242(the )-242(dif)17(fer)18(ent )-242(r)18(eturn )-242(values )-242(fr)18(om )-242(these )-242(thr)17(ee)]TJ --14.872 -1.2 Td -(functions.)Tj -1.8 -1.92 Td -[(1. )-633(All)-337(thr)18(ee )-87(functions )-87(r)17(eturn)]TJ -/TT3 1 Tf -13.479 0 Td -(!)Tj -/T1_1 1 Tf -0.3375 Tc (1a)Tj -0 Tc 1.886 0 Td -[(nd )-87(set)]TJ -/TT2 1 Tf -3.097 0 Td -(errno)Tj -/T1_1 1 Tf -3.338 0 Td -(to)Tj -/TT2 1 Tf -1.209 0 Td -(EINVAL)Tj -/T1_1 1 Tf -3.938 0 Td -[(if )-88(the)]TJ -/T1_2 1 Tf -2.686 0 Td -(name)Tj -/T1_1 1 Tf -2.505 0 Td -[(isn\325t )-88(one )-88(of)]TJ --30.505 -1.2 Td -[(the )-138(appr)18(opriate )-138(constants.)-638(The )-138(thir)]TJ -0.3883 Tc 16.061 0 Td -(dc)Tj -0 Tc 1.443 0 Td -[(olumn )-138(in )-138(Figur)17(es )-138(2.1)]TJ -0.3882 Tc 9.424 0 Td -(1a)Tj -0 Tc 1.388 0 Td -[(nd )-138(2.12 )-138(lists )-138(the)]TJ --28.317 -1.2 Td -[(limit constants we\325ll deal with thr)18(oughout the r)18(est of this book.)]TJ --1.633 -1.6 Td -[(2. )-633(Some)]TJ -/T1_2 1 Tf -4.354 0 Td -(name)Tj -/T1_1 1 Tf -0.2875 Tc (sc)Tj -0 Tc 3.322 0 Td -[(an )-37(r)18(eturn )-37(either )-37(the )-37(value )-37(of )-37(the )-37(variable )-37(\(a )-37(r)18(eturn )-37(value)]TJ -/TT3 1 Tf -25.256 0 Td -(")Tj -/T1_1 1 Tf -0.836 0 Td -[(0\) )-37(or )-37(an)]TJ --32.136 -1.2 Td -[(indication )-73(that )-73(the )-73(value )-73(is )-73(indeterminate.)-573(An )-73(indeterminate )-73(value )-73(is )-73(indicated)]TJ -T* -[(by r)18(eturning)]TJ -/TT3 1 Tf -5.8 0 Td -(!)Tj -/T1_1 1 Tf -0.25 Tc (1a)Tj -0 Tc 1.799 0 Td -(nd not changing the value of)Tj -/TT2 1 Tf -12.944 0 Td -(errno)Tj -/T1_1 1 Tf -(.)Tj --22.176 -1.6 Td -[(3. )-633(The)-343(value )-93(r)18(eturned )-93(for)]TJ -/TT2 1 Tf -12.244 0 Td -(_SC_CLK_TCK)Tj -/T1_1 1 Tf -6.943 0 Td -[(is )-93(the )-93(number )-93(of )-93(clock )-93(ticks )-93(per )-93(second,)]TJ --17.554 -1.2 Td -[(for use with the r)18(eturn values fr)18(om the)]TJ -/TT2 1 Tf -17.35 0 Td -(times)Tj -/T1_1 1 Tf -3.25 0 Td -(function \(Section 8.17\).)Tj --22.233 -1.92 Td -[(Some )-102(r)18(estrictions )-102(apply )-102(to )-102(the)]TJ -/TT2 1 Tf -13.908 0 Td -(pathconf)Tj -/T1_2 1 Tf -5.152 0 Td -(pathname)Tj -/T1_1 1 Tf -4.296 0 Td -[(ar)18(gument )-102(and )-102(the)]TJ -/TT2 1 Tf -8.443 0 Td -(fpathconf)Tj -/T1_2 1 Tf --33.6 -1.2 Td -(fd)Tj -/T1_1 1 Tf -1.028 0 Td -[(ar)18(gument. )-250(If)-250(any of these r)18(estrictions isn\325t met, the r)18(esults ar)]TJ -0.25 Tc 26.715 0 Td -(eu)Tj -0 Tc 1.332 0 Td -(nde\336ned.)Tj --27.275 -1.92 Td -[(1. )-633(The)]TJ --0.018 Tc 3.923 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(enced )-366(\336le )-366(for)]TJ -/TT2 1 Tf -8.281 0 Td -(_PC_MAX_CANON)Tj -/T1_1 1 Tf -8.416 0 Td -(and)Tj -/TT2 1 Tf -2.309 0 Td -(_PC_MAX_INPUT)Tj -/T1_1 1 Tf -8.416 0 Td -[(must )-366(be )-366(a)]TJ --30.567 -1.2 Td -(terminal \336le.)Tj --1.633 -1.6 Td -[(2. )-633(The)]TJ --0.018 Tc 3.562 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(enced )-5(\336le )-5(for)]TJ -/TT2 1 Tf -7.198 0 Td -(_PC_LINK_MAX)Tj -/T1_1 1 Tf -7.455 0 Td -(and)Tj -/TT2 1 Tf -1.948 0 Td -(_PC_TIMESTAMP_RESOLUTION)Tj -/T1_1 1 Tf -14.655 0 Td -(can)Tj --34.041 -1.2 Td -[(be )-13(either )-13(a )-13(\336le )-13(or )-13(a )-13(dir)16(ectory)]TJ -0.5134 Tc 12.394 0 Td -(.I)Tj -0.2634 Tc 1.1 0 Td -(ft)Tj -0 Tc 0.922 0 Td -[(he )-13(r)18(efer)18(enced )-13(\336le )-13(is )-13(a )-13(dir)16(ectory)]TJ -0.2635 Tc 13.522 0 Td -(,t)Tj -0 Tc 0.839 0 Td -[(he )-13(r)18(eturn )-13(value)]TJ --28.779 -1.2 Td -[(applies to the dir)18(ectory itself, not to the \336lename entries within the dir)18(ectory)111(.)]TJ --1.633 -1.6 Td -[(3. )-633(The)]TJ --0.018 Tc 3.79 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(enced )-233(\336le )-233(for)]TJ -/TT2 1 Tf -7.881 0 Td -(_PC_FILESIZEBITS)Tj -/T1_1 1 Tf -10.083 0 Td -(and)Tj -/TT2 1 Tf -2.176 0 Td -(_PC_NAME_MAX)Tj -/T1_1 1 Tf -7.682 0 Td -[(must )-232(be )-232(a)]TJ --30.834 -1.2 Td -[(dir)18(ectory)]TJ -0.5 Tc 3.914 0 Td -(.T)Tj -0 Tc 1.363 0 Td -[(he r)18(eturn value applies to \336lenames within the dir)18(ectory)111(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46772 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.5)]TJ -41.507 0 Td -(Limits)Tj -/T1_1 1 Tf -4.826 0 Td -(41)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Each )-447(of )-447(the )-447(25 )-447(invariant )-447(minimum )-447(values )-447(in )-447(Figur)]TJ -0.6974 Tc 25.548 0 Td -(e2)Tj -0 Tc 1.676 0 Td -[(.8 )-447(has )-447(an )-447(associated)]TJ --29.025 -1.2 Td -[(implementation )-13(value )-13(whose )-13(name )-13(is )-13(formed )-13(by )-13(r)18(emoving )-13(the)]TJ -/TT0 1 Tf -27.908 0 Td -(_POSIX_)Tj -/T1_0 1 Tf -4.463 0 Td -[(pr)18(e\336x )-13(fr)18(om )-13(the)]TJ --32.371 -1.2 Td -[(name )-86(in )-86(Figur)]TJ -0.3359 Tc 6.372 0 Td -(e2)Tj -0 Tc 1.315 0 Td -[(.8. )-336(The)-336(names )-86(without )-86(the )-86(leading)]TJ -/TT0 1 Tf -16.012 0 Td -(_POSIX_)Tj -/T1_0 1 Tf -4.536 0 Td -(wer)Tj -0.336 Tc 1.69 0 Td -(ei)Tj -0 Tc 1.106 0 Td -[(ntended )-86(to )-86(be )-86(the)]TJ --31.031 -1.2 Td -[(actual )-95(values )-95(that )-95(a )-95(given )-95(implementation )-95(supports.)-595(\(These )-95(25 )-95(implementation )-95(values)]TJ -0 -1.2 TD -(ar)Tj -0.481 Tc 0.877 0 Td -(ef)Tj --0.018 Tc 1.293 0 Td -(ro)Tj -0.481 Tc 0.923 0 Td -(mi)Tj -0 Tc 1.655 0 Td -[(tems )-231(1, )-231(4, )-231(5, )-231(and )-231(7 )-231(fr)18(om )-231(our )-231(list )-231(earlier )-231(in )-231(this )-231(section: )-231(2 )-231(of )-231(the )-231(r)7(untime)]TJ --4.748 -1.2 Td -[(incr)18(easable )-98(values, )-98(15 )-98(of )-98(the )-98(r)8(untime )-98(invariant )-98(values, )-98(and )-98(7 )-98(of )-98(the )-98(pathname )-98(variable)]TJ -T* -[(values, )-22(along )-22(with)]TJ -/TT0 1 Tf -8.437 0 Td -(SSIZE_MAX)Tj -/T1_0 1 Tf -5.672 0 Td -[(fr)18(om )-22(the )-22(numeric )-22(values.\))-522(The )-22(pr)16(oblem )-22(is )-22(that )-22(not )-22(all )-22(of)]TJ --14.11 -1.2 Td -(the 25 implementation values ar)Tj -0.25 Tc 14.186 0 Td -(eg)Tj -0 Tc 1.285 0 Td -(uaranteed to be de\336ned in the)Tj -/TT0 1 Tf -13.506 0 Td -()Tj -/T1_0 1 Tf -6.25 0 Td -[(header)74(.)]TJ --33.427 -1.2 Td -[(For )-17(example, )-17(a )-17(particular )-17(value )-17(may )-17(not )-17(be )-17(included )-17(in )-17(the )-17(header )-17(if )-17(its )-17(actual )-17(value)]TJ --1.8 -1.2 Td -[(for )-44(a )-44(given )-44(pr)17(ocess )-45(depends )-45(on )-45(the )-45(amount )-45(of )-45(memory )-45(on )-45(the )-45(system.)-545(If )-45(the )-45(values )-45(ar)23(e)]TJ -0 -1.2 Td -[(not )-215(de\336ned )-215(in )-215(the )-215(header)72(,)-465(we)-465(c)-1(an\325t )-215(use )-215(them )-215(as )-215(array )-215(bounds )-215(at )-215(compile )-215(time.)]TJ --0.092 Tc 37.933 0 Td -(To)Tj -0 Tc -37.933 -1.2 Td -[(determine )-226(the )-226(actual )-226(implementation )-226(value )-226(at )-226(r)8(untime, )-226(POSIX.1 )-226(decided )-226(to )-226(pr)16(ovide)]TJ -T* -[(thr)18(ee )-108(functions )-108(for )-108(us )-108(to )-108(call)-85(\321)]TJ -/TT0 1 Tf -14.031 0 Td -(sysconf)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.808 0 Td -(pathconf)Tj -/T1_0 1 Tf -0.3583 Tc (,a)Tj -0 Tc 5.908 0 Td -(nd)Tj -/TT0 1 Tf -1.551 0 Td -(fpathconf)Tj -/T1_0 1 Tf -0.6083 Tc (.T)Tj -0 Tc 6.871 0 Td -(her)Tj -0.3583 Tc 1.438 0 Td -(ei)Tj -0.3582 Tc 1.128 0 Td -(ss)Tj -0 Tc 1.206 0 Td -[(till )-108(a)]TJ --36.943 -1.2 Td -[(pr)18(oblem, )-15(however)]TJ -0.2653 Tc 8.051 0 Td -(,b)Tj -0 Tc 1.068 0 Td -[(ecause )-15(some )-15(of )-15(the )-15(values )-15(ar)]TJ -0.2654 Tc 12.593 0 Td -(ed)Tj -0 Tc 1.355 0 Td -[(e\336ned )-15(by )-15(POSIX.1 )-15(as )-15(being )-15(possibly)]TJ --0.037 Tc -23.068 -1.2 Td -(\324\324)Tj -0 Tc 0.519 0 Td -(indeterminate\325)Tj -0.3826 Tc 6.465 0 Td -(\325\()Tj -0 Tc 0.994 0 Td -[(logically )-133(in\336nite\).)-632(This )-132(means )-132(that )-132(the )-132(value )-132(has )-132(no )-132(practical )-132(upper)]TJ --7.978 -1.2 Td -[(bound. )-281(On)-282(Solaris, )-31(for )-31(example, )-31(the )-31(number )-31(of )-31(functions )-31(you )-31(can )-31(r)18(egister )-31(with)]TJ -/TT0 1 Tf -35.4 0 Td -(atexit)Tj -/T1_0 1 Tf --35.4 -1.2 Td -[(to )-37(be )-37(r)8(un )-37(when )-37(a )-37(pr)18(ocess )-37(ends )-37(is )-37(limited )-37(only )-37(by )-37(the )-37(amount )-37(of )-37(memory )-37(on )-37(the )-37(system.)]TJ -T* -(Thus)Tj -/TT0 1 Tf -2.509 0 Td -(ATEXIT_MAX)Tj -/T1_0 1 Tf -6.287 0 Td -[(is )-37(consider)18(ed )-37(indeterminate )-37(on )-37(Solaris.)]TJ --0.092 Tc 17.82 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-37(r)18(eturn )-37(to )-37(this )-37(pr)16(oblem)]TJ --28.003 -1.2 Td -[(of indeterminate r)8(untime limits in Section 2.5.5.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 129.5917 416.975 Tm -[(2.5.3 )-556(XSI)-556(Limits)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5917 392.9764 Tm -[(The )-412(XSI )-412(option )-412(also )-412(de\336nes )-412(constants )-412(r)16(epr)18(esenting )-412(implementation )-412(limits.)-913(They)]TJ -T* -(include:)Tj -1.8 -1.92 Td -[(1. )-633(Minimum)-250(values: the \336ve constants in Figur)]TJ -0.25 Tc 21.17 0 Td -(e2)Tj -0 Tc 1.229 0 Td -(.10)Tj --22.399 -1.6 Td -[(2. )-633(Runtime)-250(invariant values, possibly indeterminate:)]TJ -/TT0 1 Tf -24.019 0 Td -(IOV_MAX)Tj -/T1_0 1 Tf -4.45 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(PAGE_SIZE)Tj -/T1_0 1 Tf --32.212 -1.92 Td -[(The )-128(minimum )-128(values )-128(ar)]TJ -0.3778 Tc 10.962 0 Td -(el)Tj -0 Tc 1.148 0 Td -[(isted )-128(in )-128(Figur)]TJ -0.3778 Tc 6.143 0 Td -(e2)Tj -0 Tc 1.357 0 Td -[(.10. )-378(The)-378(last )-128(two )-128(illustrate )-128(the )-128(situation )-128(in)]TJ --19.609 -1.2 Td -[(which )-215(the )-215(POSIX.1 )-215(minimums )-215(wer)]TJ -0.4647 Tc 16.178 0 Td -(et)Tj -0 Tc 1.27 0 Td -[(oo )-215(small)]TJ -0.0833 Tc 4.029 0 Td -(\321p)Tj --0.018 Tc 1.684 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sumably )-215(to )-215(allow )-215(for )-215(embedded)]TJ --24.017 -1.2 Td -[(POSIX.1 )-180(implementations)]TJ -0.0833 Tc 11.666 0 Td -(\321s)Tj -0.4299 Tc 1.507 0 Td -(os)Tj -0 Tc 1.4 0 Td -[(ymbols )-180(with )-180(lar)18(ger )-180(minimum )-180(values )-180(wer)]TJ -0.43 Tc 19.001 0 Td -(ea)Tj -0 Tc 1.409 0 Td -[(dded )-180(for)]TJ --34.984 -1.2 Td -(XSI-conforming systems.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1448.25 2646.25 cm -0 0 m -3596 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 402.0597 256.5692 Tm -(Minimum)Tj --1.413 -1.25 Td -(acceptable value)Tj --27.096 0.625 Td -(Name)Tj -13.895 0 Td -(Description)Tj --0.09 Tc 21.006 0 Td -(Ty)Tj -0 Tc 1.079 0 Td -(pical value)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1448.25 2426.25 cm -0 0 m -3596 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1448.25 2406.25 cm -0 0 m -3596 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 148.7772 232.5581 Tm -(NL_LANGMAX)Tj -/T1_0 1 Tf -36.555 0 Td -(14 )Tj -6.394 0 Td -(14)Tj --33.449 0 Td -(maximum number of bytes in)Tj -/TT0 1 Tf -13.394 0 Td -(LANG)Tj -/T1_0 1 Tf --11.144 -1.25 Td -[(envir)18(onment variable)]TJ -/TT0 1 Tf --11.75 -1.25 Td -(NZERO)Tj -/T1_0 1 Tf -36.555 0 Td -(20 )Tj -6.394 0 Td -(20)Tj --33.449 0 Td -[(default pr)18(ocess priority)]TJ -/TT0 1 Tf --9.5 -1.25 Td -(_XOPEN_IOV_MAX)Tj -/T1_0 1 Tf -36.555 0 Td -(16 )Tj -6.394 0 Td -(16)Tj --33.449 0 Td -(maximum number of)Tj -/TT0 1 Tf -9.683 0 Td -(iovec)Tj -/T1_0 1 Tf -3.25 0 Td -[(str)8(uctur)18(es that)]TJ --10.683 -1.25 Td -(can be used with)Tj -/TT0 1 Tf -7.708 0 Td -(readv)Tj -/T1_0 1 Tf -3.25 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(writev)Tj --23.899 -1.25 Td -(_XOPEN_NAME_MAX)Tj -/T1_0 1 Tf -36.055 0 Td -[(255 )-4644(255)]TJ --26.555 0 Td -(number of bytes in a \336lename)Tj -/TT0 1 Tf --9.5 -1.25 Td -(_XOPEN_PATH_MAX)Tj -/T1_0 1 Tf -35.305 0 Td -[(1,024 )-3894(1,024)]TJ --25.805 0 Td -(number of bytes in a pathname)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1448.25 1686.25 cm -0 0 m -3596 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4512.25 1686.25 cm -0 0 m -0 960 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3888.25 1686.25 cm -0 0 m -0 960 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2228.25 1686.25 cm -0 0 m -0 960 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5044.25 1686.25 cm -0 0 m -0 960 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1448.25 1686.25 cm -0 0 m -0 960 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 229.9808 150.5639 Tm -(Figure 2.10)Tj -/T1_0 1 Tf -5.695 0 Td -[(XSI minimum values fr)18(om)]TJ -/TT0 1 Tf -11.946 0 Td -()Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46773 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(38)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(particular )-164(system )-164(uses )-164(signed )-164(characters.)]TJ --0.092 Tc 19.37 0 Td -[(We )-348(s)]TJ -0 Tc 2.225 0 Td -[(ee )-164(that)]TJ -/TT0 1 Tf -3.52 0 Td -(CHAR_MIN)Tj -/T1_1 1 Tf -5.214 0 Td -(equals)Tj -/TT0 1 Tf -3.271 0 Td -(SCHAR_MIN)Tj -/T1_1 1 Tf --33.6 -1.2 Td -[(and )-182(that)]TJ -/TT0 1 Tf -4.292 0 Td -(CHAR_MAX)Tj -/T1_1 1 Tf -5.232 0 Td -(equals)Tj -/TT0 1 Tf -3.289 0 Td -(SCHAR_MAX)Tj -/T1_1 1 Tf -0.6824 Tc (.I)Tj -0.4325 Tc 6.669 0 Td -(ft)Tj -0 Tc 1.091 0 Td -[(he )-182(system )-182(uses )-182(unsigned )-182(characters, )-182(we)]TJ --20.574 -1.2 Td -(would have)Tj -/TT0 1 Tf -5.511 0 Td -(CHAR_MIN)Tj -/T1_1 1 Tf -5.05 0 Td -(equal to 0 and)Tj -/TT0 1 Tf -6.498 0 Td -(CHAR_MAX)Tj -/T1_1 1 Tf -5.05 0 Td -(equal to)Tj -/TT0 1 Tf -3.805 0 Td -(UCHAR_MAX)Tj -/T1_1 1 Tf -(.)Tj --24.114 -1.2 Td -[(The )-300(\337oating-point )-300(data )-300(types )-300(in )-300(the )-300(header)]TJ -/TT0 1 Tf -21.241 0 Td -()Tj -/T1_1 1 Tf -5.95 0 Td -[(have )-300(a )-300(similar )-300(set )-300(of)]TJ --28.991 -1.2 Td -[(de\336nitions. )-250(Anyone)-250(doing serious \337oating-point work should examine this \336le.)]TJ -1.8 -1.2 Td -[(Although )-22(the )-22(ISO )-22(C )-22(standar)]TJ -0.2716 Tc 12.414 0 Td -(ds)Tj -0 Tc 1.307 0 Td -[(peci\336es )-22(minimum )-22(acceptable )-22(values )-22(for )-22(integral )-22(data)]TJ --15.521 -1.2 Td -[(types, )-345(POSIX.1 )-345(makes )-345(extensions )-345(to )-345(the )-345(C )-345(standar)20(d. )-595(T)]TJ -0.5946 Tc 26.474 0 Td -(oc)Tj -0 Tc 1.585 0 Td -[(onform )-345(to )-345(POSIX.1, )-345(an)]TJ --28.058 -1.2 Td -[(implementation )-472(must )-472(support )-472(a )-472(minimum )-472(value )-472(of )-472(2,147,483,647 )-472(for)]TJ -/TT0 1 Tf -34.55 0 Td -(INT_MAX)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf --34.55 -1.2 Td -(!)Tj -/T1_1 1 Tf -[(2,147,483,647 )-469(for)]TJ -/TT0 1 Tf -9.011 0 Td -(INT_MIN)Tj -/T1_1 1 Tf -0.7189 Tc (,a)Tj -0 Tc 5.669 0 Td -[(nd )-469(4,294,967,295 )-469(for)]TJ -/TT0 1 Tf -10.374 0 Td -(UINT_MAX)Tj -/T1_1 1 Tf -0.9688 Tc (.B)Tj -0 Tc 6.63 0 Td -[(ecause )-469(POSIX.1)]TJ --0.018 Tc -31.683 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(es )-78(implementations )-78(to )-78(support )-78(an )-78(8)]TJ -17.807 0.09 Td -(-)Tj -0.333 -0.09 Td -(bit)Tj -/TT0 1 Tf -1.498 0 Td -(char)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.978 0 Td -(CHAR_BIT)Tj -/T1_1 1 Tf -5.128 0 Td -[(must )-78(be )-78(8,)]TJ -/TT0 1 Tf -5.001 0 Td -(SCHAR_MIN)Tj -/T1_1 1 Tf --33.6 -1.2 Td -(must be)Tj -/TT1 1 Tf -3.768 0 Td -(!)Tj -/T1_1 1 Tf -(128,)Tj -/TT0 1 Tf -2.549 0 Td -(SCHAR_MAX)Tj -/T1_1 1 Tf -5.65 0 Td -(must be 127, and)Tj -/TT0 1 Tf -7.711 0 Td -(UCHAR_MAX)Tj -/T1_1 1 Tf -5.65 0 Td -(must be 255.)Tj --23.528 -1.2 Td -[(Another )-61(ISO )-61(C )-61(constant )-61(that )-61(we\325ll )-61(encounter )-61(is)]TJ -/TT0 1 Tf -21.319 0 Td -(FOPEN_MAX)Tj -/T1_1 1 Tf -0.3108 Tc (,t)Tj -0 Tc 6.287 0 Td -[(he )-61(minimum )-61(number)]TJ --29.406 -1.2 Td -[(of )-55(standar)]TJ -0.3053 Tc 4.504 0 Td -(dI)Tj -0 Tc 1.253 0 Td -[(/O )-55(str)18(eams )-55(that )-55(the )-55(implementation )-55(guarantees )-55(can )-55(be )-55(open )-55(at )-55(once.)-559(This)]TJ --5.758 -1.2 Td -[(constant )-61(is )-61(found )-61(in )-61(the)]TJ -/TT0 1 Tf -10.935 0 Td -()Tj -/T1_1 1 Tf -5.711 0 Td -(header)Tj -0.3109 Tc 2.972 0 Td -(,a)Tj -0 Tc 1.061 0 Td -[(nd )-61(its )-61(minimum )-61(value )-61(is )-61(8.)-561(The )-61(POSIX.1)]TJ --20.678 -1.2 Td -(value)Tj -/TT0 1 Tf -2.688 0 Td -(STREAM_MAX)Tj -/T1_1 1 Tf -[(,)-250(if)-250(de\336ned, must have the same value as)]TJ -/TT0 1 Tf -24.138 0 Td -(FOPEN_MAX)Tj -/T1_1 1 Tf -(.)Tj --25.026 -1.2 Td -[(ISO )-291(C )-291(also )-291(de\336nes )-291(the )-291(constant)]TJ -/TT0 1 Tf -15.659 0 Td -(TMP_MAX)Tj -/T1_1 1 Tf -4.741 0 Td -(in)Tj -/TT0 1 Tf -1.414 0 Td -()Tj -/T1_1 1 Tf -0.7907 Tc (.I)Tj -0 Tc 6.778 0 Td -[(t)-541(is)-541(t)1(he )-291(maximum)]TJ --30.391 -1.2 Td -[(number )-23(of )-23(unique )-23(\336lenames )-23(generated )-23(by )-23(the)]TJ -/TT0 1 Tf -20.547 0 Td -(tmpnam)Tj -/T1_1 1 Tf -3.873 0 Td -[(function. )-273(W)92(e\325ll )-23(have )-23(mor)]TJ -0.2727 Tc 11.204 0 Td -(et)Tj -0.2726 Tc 1.078 0 Td -(os)Tj -0 Tc 1.243 0 Td -(ay)Tj --37.944 -1.2 Td -(about this constant in Section 5.13.)Tj -1.8 -1.2 Td -[(Although )-132(ISO )-132(C )-132(de\336nes )-132(the )-132(constant)]TJ -/TT0 1 Tf -17.209 0 Td -(FILENAME_MAX)Tj -/T1_1 1 Tf -[(,)-382(we)-382(avoid )-132(using )-132(it, )-132(because)]TJ --19.009 -1.2 Td -[(POSIX.1 )-344(pr)18(ovides )-344(better )-344(alternatives )-344(\()]TJ -/TT0 1 Tf -17.987 0 Td -(NAME_MAX)Tj -/T1_1 1 Tf -5.394 0 Td -(and)Tj -/TT0 1 Tf -2.287 0 Td -(PATH_MAX)Tj -/T1_1 1 Tf -[(\). )-594(W)92(e\325ll )-344(see )-344(these)]TJ --25.667 -1.2 Td -[(constants shortly)111(.)]TJ -1.8 -1.2 Td -(Figur)Tj -0.331 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.31 0 Td -[(.7 )-81(shows )-81(the )-81(values )-81(of)]TJ -/TT0 1 Tf -10.344 0 Td -(FILENAME_MAX)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -7.781 0 Td -(FOPEN_MAX)Tj -/T1_1 1 Tf -0.3311 Tc (,a)Tj -0 Tc 6.481 0 Td -(nd)Tj -/TT0 1 Tf -1.524 0 Td -(TMP_MAX)Tj -/T1_1 1 Tf -4.531 0 Td -[(on )-81(the)]TJ --36.154 -1.2 Td -(four platforms we discuss in this book.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2038.25 3814.25 cm -0 0 m -2416 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 274.1631 373.3552 Tm -[(Fr)18(eeBSD )-2048(Linux)-2014(Mac OS X)-1830(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-3625(3.2.0)-3250(10.6.8 )-3500(10)]TJ --7.176 0.625 Td -(Limit)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2038.25 3594.25 cm -0 0 m -2416 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2038.25 3574.25 cm -0 0 m -2416 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 207.7626 349.3371 Tm -(FOPEN_MAX)Tj -/T1_1 1 Tf -11.7 0 Td -[(20 )-4250(16 )-4250(20 )-4250(20)]TJ -/TT0 1 Tf --11.7 -1.25 Td -(TMP_MAX)Tj -/T1_1 1 Tf -7.7 0 Td -[(308,915,776 )-2000(238,328)-500(308,915,776 )-2500(17,576)]TJ -/TT0 1 Tf --7.7 -1.25 Td -(FILENAME_MAX)Tj -/T1_1 1 Tf -10.7 0 Td -[(1024 )-3250(4096 )-3250(1024 )-3250(1024)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2038.25 3254.25 cm -0 0 m -2416 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3994.25 3254.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3554.25 3254.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3114.25 3254.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2674.25 3254.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4454.25 3254.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2038.25 3254.25 cm -0 0 m -0 560 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 248.1404 307.3262 Tm -(Figure 2.7)Tj -/T1_1 1 Tf -5.195 0 Td -(ISO limits on various platforms)Tj -/TT2 1 Tf -11.9971 0 0 11.9971 129.5691 266.536 Tm -[(2.5.2 )-556(POSIX)-556(Limits)]TJ -/T1_1 1 Tf -9.9976 0 0 9.9976 129.5691 242.5418 Tm -[(POSIX.1 )-352(de\336nes )-352(numer)18(ous )-352(constants )-352(that )-352(deal )-352(with )-352(implementation )-352(limits )-352(of )-352(the)]TJ -0 -1.2 TD -[(operating )-70(system.)-570(Unfortunately)]TJ -0.3202 Tc 14.694 0 Td -(,t)Tj -0 Tc 0.896 0 Td -[(his )-70(is )-70(one )-70(of )-70(the )-70(mor)]TJ -0.3203 Tc 9.292 0 Td -(ec)Tj -0 Tc 1.243 0 Td -[(onfusing )-70(aspects )-70(of )-70(POSIX.1.)]TJ --26.126 -1.2 Td -[(Although )-40(POSIX.1 )-40(de\336nes )-40(numer)18(ous )-40(limits )-40(and )-40(constants, )-40(we\325ll )-40(concern )-40(ourselves )-40(with)]TJ -T* -[(only )-167(the )-167(ones )-167(that )-167(af)18(fect )-167(the )-167(base )-167(POSIX.1 )-167(interfaces.)-667(These )-167(limits )-167(and )-167(constants )-167(ar)14(e)]TJ -T* -(divided into the following seven categories:)Tj -1.8 -2.16 Td -[(1. )-633(Numerical)-250(limits:)]TJ -/TT0 1 Tf -9.606 0 Td -(LONG_BIT)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -5.3 0 Td -(SSIZE_MAX)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 6.4 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(WORD_BIT)Tj -/T1_1 1 Tf --22.749 -1.6 Td -[(2. )-633(Minimum)-250(values: the 25 constants in Figur)]TJ -0.25 Tc 20.521 0 Td -(e2)Tj -0 Tc 1.229 0 Td -(.8)Tj --21.75 -1.6 Td -[(3. )-633(Maximum)-250(value:)]TJ -/TT0 1 Tf -9.443 0 Td -(_POSIX_CLOCKRES_MIN)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46774 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.5)]TJ -41.507 0 Td -(Limits)Tj -/T1_1 1 Tf -4.826 0 Td -(37)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(2. )-633(Runtime)-250(limits not associated with a \336le or dir)18(ectory \(the)]TJ -/TT0 1 Tf -27.064 0 Td -(sysconf)Tj -/T1_0 1 Tf -4.45 0 Td -(function\))Tj --31.514 -1.48 Td -[(3. )-633(Runtime)-308(limits )-58(that )-58(ar)]TJ -0.3082 Tc 11.507 0 Td -(ea)Tj -0 Tc 1.287 0 Td -[(ssociated )-58(with )-58(a )-58(\336le )-58(or )-58(a )-58(dir)17(ectory )-58(\(the)]TJ -/TT0 1 Tf -17.605 0 Td -(pathconf)Tj -/T1_0 1 Tf -5.108 0 Td -(and)Tj -/TT0 1 Tf --33.874 -1.2 Td -(fpathconf)Tj -/T1_0 1 Tf -5.65 0 Td -(functions\))Tj --0.092 Tc -9.083 -1.68 Td -[(To )-222(f)]TJ -0 Tc 1.688 0 Td -[(urther )-38(confuse )-38(things, )-38(if )-38(a )-38(particular )-38(r)7(untime )-38(limit )-38(does )-38(not )-38(vary )-38(on )-38(a )-38(given )-38(system,)]TJ --1.688 -1.2 Td -[(it )-150(can )-150(be )-150(de\336ned )-150(statically )-150(in )-150(a )-150(header)]TJ -0.6502 Tc 17.637 0 Td -(.I)Tj -0 Tc 1.237 0 Td -[(f)-400(it)-400(is)-400(n)-1(ot )-150(de\336ned )-150(in )-150(a )-150(header)]TJ -0.4002 Tc 13.632 0 Td -(,h)Tj -0 Tc 1.232 0 Td -(owever)Tj -0.4002 Tc 3.224 0 Td -(,t)Tj -0 Tc 0.976 0 Td -(he)Tj --37.939 -1.2 Td -[(application )-153(must )-153(call )-153(one )-153(of )-153(the )-153(thr)18(ee)]TJ -/TT0 1 Tf -17.672 0 Td -(conf)Tj -/T1_0 1 Tf -2.803 0 Td -[(functions )-153(\(which )-153(we )-153(describe )-153(shortly\) )-153(to)]TJ --20.475 -1.2 Td -[(determine its value at r)8(untime.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 5694.25 cm -0 0 m -3917 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 348.7661 561.3326 Tm -(Minimum)Tj --1.413 -1.25 Td -(acceptable value)Tj --23.834 0.625 Td -(Name)Tj -10.453 0 Td -(Description)Tj --0.09 Tc 27.136 0 Td -(Ty)Tj -0 Tc 1.079 0 Td -(pical value)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 5474.25 cm -0 0 m -3917 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 5454.25 cm -0 0 m -3917 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 133.576 537.3033 Tm -(CHAR_BIT)Tj -/T1_0 1 Tf -7.5 0 Td -(bits in a)Tj -/TT0 1 Tf -3.717 0 Td -(char)Tj -/T1_0 1 Tf -12.549 Tc 23.198 0 Td -(88)Tj -/TT0 1 Tf -0 Tc -34.415 -1.25 Td -(CHAR_MAX)Tj -/T1_0 1 Tf -7.5 0 Td -(max value of)Tj -/TT0 1 Tf -5.966 0 Td -(char)Tj -/T1_0 1 Tf -17.16 0 Td -(\(see later\))Tj -15.838 0 Td -(127)Tj -/TT0 1 Tf --46.464 -1.25 Td -(CHAR_MIN)Tj -/T1_0 1 Tf -7.5 0 Td -(min value of)Tj -/TT0 1 Tf -5.823 0 Td -(char)Tj -/T1_0 1 Tf -17.303 0 Td -(\(see later\))Tj -/TT1 1 Tf -15.289 0 Td -(!)Tj -/T1_0 1 Tf -(128)Tj -/TT0 1 Tf --45.915 -1.25 Td -(SCHAR_MAX)Tj -/T1_0 1 Tf -7.5 0 Td -(max value of)Tj -/TT0 1 Tf -5.966 0 Td -(signed char)Tj -/T1_0 1 Tf -19.949 0 Td -(127 )Tj -13.049 0 Td -(127)Tj -/TT0 1 Tf --46.464 -1.25 Td -(SCHAR_MIN)Tj -/T1_0 1 Tf -7.5 0 Td -(min value of)Tj -/TT0 1 Tf -5.823 0 Td -(signed char)Tj -/TT1 1 Tf -19.543 0 Td -(!)Tj -/T1_0 1 Tf -(127)Tj -/TT1 1 Tf -13.049 0 Td -(!)Tj -/T1_0 1 Tf -(128)Tj -/TT0 1 Tf --45.915 -1.25 Td -(UCHAR_MAX)Tj -/T1_0 1 Tf -7.5 0 Td -(max value of)Tj -/TT0 1 Tf -5.966 0 Td -(unsigned char)Tj -/T1_0 1 Tf -19.949 0 Td -(255 )Tj -13.049 0 Td -(255)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 4834.25 cm -0 0 m -3917 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 133.5679 475.2859 Tm -(INT_MAX)Tj -/T1_0 1 Tf -7.5 0 Td -(max value of)Tj -/TT0 1 Tf -5.966 0 Td -(int)Tj -/T1_0 1 Tf -18.699 0 Td -(32,767 )Tj -10.049 0 Td -(2,147,483,647)Tj -/TT0 1 Tf --42.214 -1.25 Td -(INT_MIN)Tj -/T1_0 1 Tf -7.5 0 Td -(min value of)Tj -/TT0 1 Tf -5.823 0 Td -(int)Tj -/TT1 1 Tf -18.293 0 Td -(!)Tj -/T1_0 1 Tf -(32,767)Tj -/TT1 1 Tf -10.049 0 Td -(!)Tj -/T1_0 1 Tf -(2,147,483,648)Tj -/TT0 1 Tf --41.665 -1.25 Td -(UINT_MAX)Tj -/T1_0 1 Tf -7.5 0 Td -(max value of)Tj -/TT0 1 Tf -5.966 0 Td -(unsigned int)Tj -/T1_0 1 Tf -18.699 0 Td -(65,535 )Tj -10.049 0 Td -(4,294,967,295)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 4514.25 cm -0 0 m -3917 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 133.5599 443.267 Tm -(SHRT_MAX)Tj -/T1_0 1 Tf -7.5 0 Td -(max value of)Tj -/TT0 1 Tf -5.966 0 Td -(short)Tj -/T1_0 1 Tf -18.699 0 Td -(32,767 )Tj -13.049 0 Td -(32,767)Tj -/TT0 1 Tf --45.214 -1.25 Td -(SHRT_MIN)Tj -/T1_0 1 Tf -7.5 0 Td -(min value of)Tj -/TT0 1 Tf -5.823 0 Td -(short)Tj -/TT1 1 Tf -18.293 0 Td -(!)Tj -/T1_0 1 Tf -(32,767)Tj -/TT1 1 Tf -13.049 0 Td -(!)Tj -/T1_0 1 Tf -(32,768)Tj -/TT0 1 Tf --44.665 -1.25 Td -(USHRT_MAX)Tj -/T1_0 1 Tf -7.5 0 Td -(max value of)Tj -/TT0 1 Tf -5.966 0 Td -(unsigned short)Tj -/T1_0 1 Tf -18.699 0 Td -(65,535 )Tj -13.049 0 Td -(65,535)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 4194.25 cm -0 0 m -3917 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 133.5519 411.2519 Tm -(LONG_MAX)Tj -/T1_0 1 Tf -7.5 0 Td -(max value of)Tj -/TT0 1 Tf -5.966 0 Td -(long)Tj -/T1_0 1 Tf -15.699 0 Td -(2,147,483,647 )Tj -13.049 0 Td -(2,147,483,647)Tj -/TT0 1 Tf --42.214 -1.25 Td -(LONG_MIN)Tj -/T1_0 1 Tf -7.5 0 Td -(min value of)Tj -/TT0 1 Tf -5.823 0 Td -(long)Tj -/TT1 1 Tf -15.293 0 Td -(!)Tj -/T1_0 1 Tf -(2,147,483,647)Tj -/TT1 1 Tf -13.049 0 Td -(!)Tj -/T1_0 1 Tf -(2,147,483,648)Tj -/TT0 1 Tf --41.665 -1.25 Td -(ULONG_MAX)Tj -/T1_0 1 Tf -7.5 0 Td -(max value of)Tj -/TT0 1 Tf -5.966 0 Td -(unsigned long)Tj -/T1_0 1 Tf -15.699 0 Td -(4,294,967,295 )Tj -13.049 0 Td -(4,294,967,295)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 3874.25 cm -0 0 m -3917 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 133.5439 379.2407 Tm -(LLONG_MAX)Tj -/T1_0 1 Tf -7.5 0 Td -(max value of)Tj -/TT0 1 Tf -5.966 0 Td -(long long)Tj -/T1_0 1 Tf -10.449 0 Td -[(9,223,372,036,854,775,807 )-1799(9,223,372,036,854,775,807)]TJ -/TT0 1 Tf --23.915 -1.25 Td -(LLONG_MIN)Tj -/T1_0 1 Tf -7.5 0 Td -(min value of)Tj -/TT0 1 Tf -5.823 0 Td -(long long)Tj -/TT1 1 Tf -10.043 0 Td -(!)Tj -/T1_0 1 Tf -(9,223,372,036,854,775,807)Tj -/TT1 1 Tf -13.049 0 Td -(!)Tj -/T1_0 1 Tf -(9,223,372,036,854,775,808)Tj -/TT0 1 Tf --36.415 -1.25 Td -(ULLONG_MAX)Tj -/T1_0 1 Tf -7.5 0 Td -(max value of)Tj -/TT0 1 Tf -5.966 0 Td -(unsigned)Tj -/T1_0 1 Tf -9.949 0 Td -[(18,446,744,073,709,551,615 )-1299(18,446,744,073,709,551,615)]TJ -/TT0 1 Tf --14.665 -1.25 Td -(long long)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 3454.25 cm -0 0 m -3917 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 133.5359 337.2381 Tm -(MB_LEN_MAX)Tj -/T1_0 1 Tf -7.5 0 Td -(max number of bytes in a)Tj -12.549 Tc 26.915 0 Td -(16)Tj -0 Tc -25.665 -1.25 Td -(multibyte character constant)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 3234.25 cm -0 0 m -3917 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4189.25 3234.25 cm -0 0 m -0 2460 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3145.25 3234.25 cm -0 0 m -0 2460 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1876.25 3234.25 cm -0 0 m -0 2460 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5213.25 3234.25 cm -0 0 m -0 2460 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 3234.25 cm -0 0 m -0 2460 l -S -Q -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 228.6205 305.2351 Tm -(Figure 2.6)Tj -/T1_0 1 Tf -5.195 0 Td -[(Sizes of integral values fr)18(om)]TJ -/TT0 1 Tf -12.769 0 Td -()Tj -/TT2 1 Tf -11.9935 0 0 11.9935 129.5302 269.2546 Tm -[(2.5.1 )-556(ISO)]TJ -0.556 Tc 5.337 0 Td -(CL)Tj -0 Tc 1.889 0 Td -(imits)Tj -/T1_0 1 Tf -9.9946 0 0 9.9946 129.5302 247.6662 Tm -[(All )-24(of )-24(the )-24(compile-time )-24(limits )-24(de\336ned )-24(by )-24(ISO )-24(C )-24(ar)]TJ -0.2743 Tc 22.158 0 Td -(ed)Tj -0 Tc 1.364 0 Td -[(e\336ned )-24(in )-24(the )-24(\336le)]TJ -/TT0 1 Tf -7.489 0 Td -()Tj -/T1_0 1 Tf -6.274 0 Td -(\(see)Tj --37.285 -1.2 Td -(Figur)Tj -0.486 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.465 0 Td -[(.6\). )-486(These)-486(constants )-236(don\325t )-236(change )-236(in )-236(a )-236(given )-236(system.)-736(The )-236(thir)]TJ -0.4859 Tc 29.347 0 Td -(dc)Tj -0 Tc 1.541 0 Td -[(olumn )-236(in)]TJ --34.736 -1.2 Td -(Figur)Tj -0.2835 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.262 0 Td -[(.6 )-33(shows )-33(the )-33(minimum )-33(acceptable )-33(values )-33(fr)15(om )-34(the )-34(ISO )-34(C )-34(standar)20(d. )-284(This)-283(allows)]TJ --3.646 -1.2 Td -[(for )-348(a )-348(system )-348(with )-348(16)]TJ -10.29 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-348(integers )-348(using )-348(one\325s-complement )-348(arithmetic.)-848(The )-348(fourth)]TJ --10.623 -1.2 Td -[(column )-333(shows )-333(the )-333(values )-333(fr)19(om )-333(a )-333(Linux )-333(system )-333(with )-333(32)]TJ -27.02 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-333(integers )-333(using )-333(two\325s-)]TJ --27.353 -1.2 Td -[(complement )-185(arithmetic.)-686(Note )-185(that )-185(none )-185(of )-185(the )-185(unsigned )-185(data )-185(types )-185(has )-185(a )-185(minimum)]TJ -0 -1.2 TD -[(value, )-27(as )-27(this )-27(value )-27(must )-27(be )-27(0 )-27(for )-27(an )-27(unsigned )-27(data )-27(type.)-527(On )-27(a )-27(64)]TJ -29.074 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-27(system, )-27(the )-27(values)]TJ --29.407 -1.2 Td -(for)Tj -/TT0 1 Tf -1.524 0 Td -(long)Tj -/T1_0 1 Tf -2.65 0 Td -(integer maximums match the maximum values for)Tj -/TT0 1 Tf -22.658 0 Td -[(long )350(long)]TJ -/T1_0 1 Tf -5.3 0 Td -(integers.)Tj --30.332 -1.2 Td -[(One )-251(dif)18(fer)18(ence )-251(that )-251(we )-251(will )-251(encounter )-251(is )-251(whether )-251(a )-251(system )-251(pr)18(ovides )-251(signed )-251(or)]TJ --1.8 -1.2 Td -[(unsigned )-233(character )-233(values.)-732(Fr)18(om )-233(the )-233(fourth )-233(column )-233(in )-233(Figur)]TJ -0.4827 Tc 28.555 0 Td -(e2)Tj -0 Tc 1.462 0 Td -[(.6, )-233(we )-233(see )-233(that )-233(this)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46775 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(36)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(2.4 )-1332(Relationship)-556(of )-278(Standar)20(ds )-278(and )-278(Implementations)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(The )-41(standar)18(ds )-42(that )-42(we\325ve )-42(mentioned )-42(de\336ne )-42(a )-42(subset )-42(of )-42(any )-42(actual )-42(system.)-542(The )-42(focus )-42(of)]TJ -0 -1.2 TD -[(this )-38(book )-38(is )-38(on )-38(four )-38(r)18(eal )-38(systems: )-38(Fr)18(eeBSD )-38(8.0, )-38(Linux )-38(3.2.0, )-38(Mac )-38(OS )-38(X )-38(10.6.8, )-38(and )-38(Solaris)]TJ -T* -[(10. )-386(Although)-386(only )-136(Mac )-136(OS )-136(X )-136(and )-136(Solaris )-136(can )-136(call )-136(themselves )-136(UNIX )-136(systems, )-136(all )-136(four)]TJ -T* -[(pr)18(ovide )-67(a )-67(similar )-67(pr)18(ogramming )-67(envir)19(onment. )-317(Because)-316(all )-67(four )-67(ar)]TJ -0.3166 Tc 29.316 0 Td -(eP)Tj -0 Tc 1.4 0 Td -[(OSIX )-67(compliant )-67(to)]TJ --30.716 -1.2 Td -[(varying )-253(degr)18(ees, )-253(we )-253(will )-253(also )-253(concentrate )-253(on )-253(the )-253(featur)18(es )-253(r)16(equir)18(ed )-253(by )-253(the )-253(POSIX.1)]TJ --0 -1.2 Td -[(standar)18(d, )-223(noting )-223(any )-223(dif)19(fer)18(ences )-223(between )-223(POSIX )-223(and )-223(the )-223(actual )-223(implementations )-223(of)]TJ --0 -1.2 Td -[(these )-155(four )-155(systems.)-655(Those )-155(featur)18(es )-155(and )-155(r)18(outines )-155(that )-155(ar)]TJ -0.4046 Tc 25.517 0 Td -(es)Tj -0 Tc 1.308 0 Td -[(peci\336c )-155(to )-155(only )-155(a )-155(particular)]TJ --26.824 -1.2 Td -[(implementation )-134(ar)]TJ -0.3841 Tc 8.321 0 Td -(ec)Tj -0 Tc 1.307 0 Td -[(learly )-134(marked.)]TJ --0.092 Tc 7.204 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-134(also )-134(note )-134(any )-134(featur)18(es )-134(that )-134(ar)]TJ -0.384 Tc 14.629 0 Td -(er)Tj -0 Tc 1.24 0 Td -[(equir)18(ed )-134(on)]TJ --34.088 -1.2 Td -(UNIX systems but ar)Tj -0.25 Tc 9.238 0 Td -(eo)Tj -0 Tc 1.275 0 Td -(ptional on other POSIX-conforming systems.)Tj --8.713 -1.2 Td -[(Be )-90(awar)]TJ -0.3403 Tc 3.641 0 Td -(et)Tj -0 Tc 1.145 0 Td -[(hat )-90(the )-90(implementations )-90(pr)18(ovide )-90(backwar)]TJ -0.3403 Tc 18.874 0 Td -(dc)Tj -0 Tc 1.395 0 Td -[(ompatibility )-90(for )-90(featur)18(es )-90(in)]TJ --26.856 -1.2 Td -[(earlier )-182(r)18(eleases, )-182(such )-182(as )-182(SVR3.2 )-182(and )-182(4.3BSD.)-682(For )-182(example, )-182(Solaris )-182(supports )-182(both )-182(the)]TJ -T* -[(POSIX.1 )-45(speci\336cation )-45(for )-45(nonblocking )-45(I/O )-45(\()]TJ -/TT1 1 Tf -19.54 0 Td -(O_NONBLOCK)Tj -/T1_1 1 Tf -0.2946 Tc (\)a)Tj -0 Tc 7.128 0 Td -[(nd )-45(the )-45(traditional )-45(System )-45(V)]TJ --26.668 -1.2 Td -[(method )-163(\()]TJ -/TT1 1 Tf -(O_NDELAY)Tj -/T1_1 1 Tf -[(\). )-413(In)-412(this )-163(text, )-163(we\325ll )-163(use )-163(only )-163(the )-163(POSIX.1 )-163(featur)20(e, )-163(although )-163(we\325ll)]TJ --0 -1.2 Td -[(mention )-164(the )-164(nonstandar)]TJ -0.4139 Tc 10.934 0 Td -(df)Tj -0 Tc 1.358 0 Td -(eatur)Tj -0.4139 Tc 2.285 0 Td -(et)Tj -0 Tc 1.219 0 Td -[(hat )-164(it )-164(r)18(eplaces. )-414(Similarly)]TJ -0.4139 Tc 11.274 0 Td -(,b)Tj -0 Tc 1.217 0 Td -[(oth )-164(SVR3.2 )-164(and )-164(4.3BSD)]TJ --28.286 -1.2 Td -[(pr)18(ovided )-8(r)18(eliable )-8(signals )-8(in )-8(a )-8(way )-8(that )-8(dif)18(fers )-8(fr)18(om )-8(the )-8(POSIX.1 )-8(standar)21(d. )-258(In)-257(Chapter )-8(10)]TJ -0 -1.2 Td -(we describe only the POSIX.1 signal mechanism.)Tj -/TT0 1 Tf -11.9993 0 0 11.9993 93.5943 428.9743 Tm -[(2.5 )-1332(Limits)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5921 404.9757 Tm -[(The )-90(implementations )-90(de\336ne )-90(many )-90(magic )-90(numbers )-90(and )-90(constants.)-594(Many )-91(of )-91(these )-91(have)]TJ -T* -[(been )-53(har)]TJ -0.3026 Tc 3.855 0 Td -(dc)Tj -0 Tc 1.358 0 Td -[(oded )-53(into )-53(pr)18(ograms )-53(or )-53(wer)]TJ -0.3025 Tc 12.115 0 Td -(ed)Tj -0 Tc 1.392 0 Td -[(etermined )-52(using )-52(ad )-52(hoc )-52(techniques.)]TJ --0.055 Tc 16.447 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-52(the)]TJ --36.403 -1.2 Td -[(various )-134(standar)18(dization )-134(ef)18(forts )-134(that )-134(we\325ve )-134(described, )-134(mor)]TJ -0.384 Tc 26.125 0 Td -(ep)Tj -0 Tc 1.464 0 Td -[(ortable )-134(methods )-134(ar)]TJ -0.384 Tc 8.586 0 Td -(en)Tj -0 Tc 1.445 0 Td -(ow)Tj --37.62 -1.2 Td -[(pr)18(ovided )-11(to )-11(determine )-11(these )-11(magic )-11(numbers )-11(and )-11(implementation-de\336ned )-11(limits, )-11(gr)22(eatly)]TJ -T* -[(impr)18(oving the portability of softwar)]TJ -0.25 Tc 15.974 0 Td -(ew)Tj -0 Tc 1.563 0 Td -[(ritten for the UNIX envir)18(onment.)]TJ --0.09 Tc -15.737 -1.2 Td -(Tw)Tj -0.25 Tc 1.357 0 Td -(ot)Tj -0 Tc 1.122 0 Td -(ypes of limits ar)Tj -0.25 Tc 7.072 0 Td -(en)Tj -0 Tc 1.311 0 Td -(eeded:)Tj --10.862 -1.68 Td -[(1. )-633(Compile-time)-250(limits \(e.g., what\325s the lar)18(gest value of a short integer?\))]TJ -0 -1.48 TD -[(2. )-633(Runtime)-250(limits \(e.g., how many bytes in a \336lename?\))]TJ --1.8 -1.68 Td -[(Compile-time )-34(limits )-34(can )-34(be )-34(de\336ned )-34(in )-34(headers )-34(that )-34(any )-34(pr)18(ogram )-34(can )-34(include )-34(at )-34(compile)]TJ -0 -1.2 TD -[(time. )-263(But)]TJ --0.008 Tc 4.545 0 Td -(ru)Tj -0 Tc 0.99 0 Td -[(ntime )-13(limits )-13(r)18(equir)]TJ -0.2628 Tc 8.28 0 Td -(et)Tj -0 Tc 1.068 0 Td -[(he )-13(pr)18(ocess )-13(to )-13(call )-13(a )-13(function )-13(to )-13(obtain )-13(the )-13(limit\325s )-13(value.)]TJ --13.082 -1.2 Td -(Additionally)Tj -0.5264 Tc 5.563 0 Td -(,s)Tj -0 Tc 1.2 0 Td -[(ome )-276(limits )-276(can )-276(be )-276(\336xed )-276(on )-276(a )-276(given )-276(implementation)]TJ -0.0833 Tc 24.639 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -[(nd )-276(could)]TJ --34.785 -1.2 Td -[(ther)18(efor)18(e)-402(be)-402(de\336ned )-152(statically )-152(in )-152(a )-152(header)]TJ -0.0833 Tc 19.24 0 Td -(\321y)Tj -0 Tc 1.639 0 Td -[(et )-152(vary )-152(on )-152(another )-152(implementation )-152(and)]TJ --20.879 -1.2 Td -[(would )-15(r)18(equir)]TJ -0.2646 Tc 5.837 0 Td -(ear)Tj -0 Tc 1.895 0 Td -[(untime )-15(function )-15(call.)-514(An )-15(example )-15(of )-15(this )-15(type )-15(of )-15(limit )-15(is )-15(the )-15(maximum)]TJ --7.732 -1.2 Td -[(number )-191(of )-191(bytes )-191(in )-191(a )-191(\336lename.)-688(Befor)]TJ -0.4405 Tc 17.394 0 Td -(eS)Tj -0 Tc 1.444 0 Td -[(VR4, )-190(System )-190(V )-190(historically )-190(allowed )-190(only )-190(14)]TJ --18.838 -1.2 Td -[(bytes )-78(in )-78(a )-78(\336lename, )-78(wher)18(eas )-78(BSD-derived )-78(systems )-78(incr)18(eased )-78(this )-78(number )-78(to )-78(255.)-578(Most)]TJ -T* -[(UNIX )-47(System )-47(implementations )-47(these )-47(days )-47(support )-47(multiple )-47(\336le )-47(system )-47(types, )-47(and )-47(each)]TJ -T* -[(type )-51(has )-51(its )-51(own )-51(limit.)-550(This )-51(is )-51(the )-51(case )-51(of )-51(a )-51(r)8(untime )-51(limit )-51(that )-51(depends )-51(on )-51(wher)19(e)-301(in)-301(the)]TJ -T* -[(\336le )-2(system )-2(the )-2(\336le )-2(in )-2(question )-2(is )-2(located.)]TJ -0.2521 Tc 18.342 0 Td -(A\336)Tj -0 Tc 1.635 0 Td -[(lename )-2(in )-2(the )-2(r)18(oot )-2(\336le )-2(system, )-2(for )-2(example,)]TJ --19.977 -1.2 Td -[(could )-210(have )-210(a )-210(14)]TJ -7.5 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-210(limit, )-210(wher)19(eas )-210(a )-210(\336lename )-210(in )-210(another )-210(\336le )-210(system )-210(could )-210(have )-210(a)]TJ --7.833 -1.2 Td -(255)Tj -1.5 0.09 Td -(-)Tj -0.333 -0.09 Td -(byte limit.)Tj --0.092 Tc -0.033 -1.2 Td -[(To )-184(s)]TJ -0 Tc 1.741 0 Td -[(olve these pr)18(oblems, thr)18(ee types of limits ar)]TJ -0.25 Tc 19.216 0 Td -(ep)Tj --0.018 Tc 1.33 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(vided:)Tj --23.21 -1.68 Td -[(1. )-633(Compile-time)-250(limits \(headers\))]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46776 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.3)]TJ -29.997 0 Td -[(UNIX )-250(System )-250(Implementations)]TJ -/T1_1 1 Tf -16.336 0 Td -(35)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 129.5922 668.9599 Tm -[(2.3.4 )-556(Lin)10(ux)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 647.3612 Tm -[(Linux )-49(is )-49(an )-49(operating )-49(system )-49(that )-49(pr)18(ovides )-49(a )-49(rich )-49(pr)18(ogramming )-49(envir)18(onment )-49(similar )-49(to)]TJ -0 -1.2 TD -[(that )-272(of )-272(a )-272(UNIX )-272(System; )-272(it )-272(is )-272(fr)18(eely )-272(available )-272(under )-272(the )-272(GNU )-272(Public )-272(License.)-779(The)]TJ -T* -[(popularity )-77(of )-77(Linux )-77(is )-77(somewhat )-77(of )-77(a )-77(phenomenon )-77(in )-77(the )-77(computer )-77(industry)]TJ -0.5767 Tc 34.529 0 Td -(.L)Tj -0 Tc 1.438 0 Td -[(inux )-77(is)]TJ --35.966 -1.2 Td -[(distinguished by often being the \336rst operating system to support new\ har)18(dwar)18(e.)]TJ -1.8 -1.2 Td -[(Linux )-269(was )-269(cr)19(eated )-269(in )-269(1991 )-269(by )-269(Linus )-269(T)92(orvalds )-269(as )-269(a )-269(r)18(eplacement )-269(for )-269(MINIX.)-765(A)]TJ --1.8 -1.2 Td -[(grass-r)18(oots )-474(ef)18(fort )-474(then )-474(sprang )-474(up, )-474(wher)18(eby )-474(many )-474(developers )-474(acr)18(oss )-474(the )-474(world)]TJ -T* -[(volunteer)18(ed their time to use and enhance it.)]TJ -1.8 -1.2 Td -[(The )-111(Ubuntu )-111(12.04 )-111(distribution )-111(of )-111(Linux )-111(was )-111(one )-111(of )-111(the )-111(operating )-111(systems )-111(used )-111(to)]TJ --1.8 -1.2 Td -[(test )-176(the )-176(examples )-176(in )-176(this )-176(book.)-676(That )-176(distribution )-176(uses )-176(the )-176(3.2.0 )-176(version )-176(of )-176(the )-176(Linux)]TJ -T* -(operating system kernel.)Tj -/TT0 1 Tf -11.9993 0 0 11.9993 129.5923 512.9692 Tm -[(2.3.5 )-556(Mac)-556(OS )-278(X)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5923 491.3705 Tm -[(Mac )-265(OS )-265(X )-265(is )-265(based )-265(on )-265(entir)18(ely )-265(dif)17(fer)18(ent )-265(technology )-265(than )-265(prior )-265(versions.)-765(The )-265(cor)18(e)]TJ -T* -[(operating )-33(system )-33(is )-33(called )-33(\324)35(\324Darwin,\325)]TJ -0.2836 Tc 16.219 0 Td -(\325a)Tj -0 Tc 1.062 0 Td -[(nd )-34(is )-34(based )-34(on )-34(a )-34(combination )-34(of )-34(the )-34(Mach )-34(kernel)]TJ --17.281 -1.2 Td -[(\(Accetta )-36(et )-36(al.)]TJ -6.335 0.04 Td -([)Tj -0.333 -0.04 Td -(1986)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -[(\), )-36(the )-36(Fr)18(eeBSD )-36(operating )-36(system, )-36(and )-36(an )-36(object-oriented )-36(framework)]TJ --9.001 -1.2 Td -[(for )-77(drivers )-77(and )-77(other )-77(kernel )-77(extensions.)-577(As )-77(of )-77(version )-77(10.5, )-77(the )-77(Intel )-77(port )-77(of )-77(Mac )-77(OS )-77(X)]TJ -T* -[(has )-100(been )-100(certi\336ed )-100(to )-100(be )-100(a )-100(UNIX )-100(system.)-601(\(For )-100(mor)]TJ -0.3501 Tc 22.626 0 Td -(ei)Tj -0 Tc 1.12 0 Td -[(nformation )-100(on )-100(UNIX )-100(certi\336cation,)]TJ --23.746 -1.2 Td -(see)Tj -/TT1 1 Tf -1.632 0 Td -(http://www.opengroup.org/certification/idx/unix.html)Tj -/T1_0 1 Tf -(.\))Tj -0.168 -1.2 Td -[(Mac )-74(OS )-74(X )-74(version )-74(10.6.8)]TJ -11.273 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Darwin )-75(10.8.0)]TJ -6.201 0.04 Td -(\))Tj -0.658 -0.04 Td -[(was )-75(used )-75(as )-75(one )-75(of )-75(the )-75(operating )-75(systems)]TJ --20.264 -1.2 Td -(to test the examples in this book.)Tj -/TT0 1 Tf -11.9993 0 0 11.9993 129.5924 380.9771 Tm -[(2.3.6 )-556(Solaris)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5924 359.3784 Tm -[(Solaris )-306(is )-306(the )-306(version )-306(of )-306(the )-306(UNIX )-306(System )-306(developed )-306(by )-306(Sun )-306(Micr)18(osystems )-306(\(now)]TJ -T* -[(Oracle\). )-292(Solaris)-293(is )-42(based )-42(on )-42(System )-42(V )-42(Release )-42(4, )-42(but )-42(includes )-42(mor)]TJ -0.2924 Tc 29.324 0 Td -(et)Tj -0 Tc 1.097 0 Td -[(han )-42(\336fteen )-42(years )-42(of)]TJ --30.422 -1.2 Td -[(enhancements )-389(fr)18(om )-389(the )-389(engineers )-389(at )-389(Sun )-389(Micr)16(osystems. )-639(It)-640(is )-389(ar)18(guably )-389(the )-389(only)]TJ -0 -1.2 Td -[(commer)18(cially )-295(successful )-295(SVR4 )-295(descendant, )-295(and )-295(is )-295(formally )-295(certi\336ed )-295(to )-295(be )-295(a )-295(UNIX)]TJ -T* -(system.)Tj -1.8 -1.2 Td -[(In )-196(2005, )-196(Sun )-196(Micr)19(osystems )-196(r)18(eleased )-196(most )-196(of )-196(the )-196(Solaris )-196(operating )-196(system )-196(sour)20(ce)]TJ --1.8 -1.2 Td -[(code )-253(to )-253(the )-253(public )-253(as )-253(part )-253(of )-253(the )-253(OpenSolaris )-253(open )-253(sour)18(ce )-253(operating )-253(system )-253(in )-253(an)]TJ -T* -[(attempt to build an external developer community ar)18(ound Solaris.)]TJ -1.8 -1.2 Td -[(The )-214(Solaris )-214(10 )-214(UNIX )-214(system )-214(was )-214(one )-214(of )-214(the )-214(operating )-214(systems )-214(used )-214(to )-214(test )-214(the)]TJ --1.8 -1.2 Td -(examples in this book.)Tj -/TT0 1 Tf -11.9993 0 0 11.9993 129.5924 224.9865 Tm -[(2.3.7 )-556(Other)-556(UNIX )-278(Systems)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5924 203.3878 Tm -(Other versions of the UNIX system that have been certi\336ed in the past\ include)Tj -0.883 Tc 1.8 -2.04 Td -(\245A)Tj -0 Tc 2.267 0 Td -(IX, IBM\325s version of the UNIX System)Tj -0.883 Tc -2.267 -1.6 Td -(\245H)Tj -0 Tc 2.321 0 Td -(P)Tj -0.604 0.09 Td -(-)Tj -0.333 -0.09 Td -[(UX, Hewlett-Packar)18(d\325s version of the UNIX System)]TJ -0.883 Tc -3.258 -1.6 Td -(\245I)Tj -0 Tc 1.826 0 Td -(RIX, the UNIX System version shipped by Silicon Graphics)Tj -0.883 Tc -1.826 -1.6 Td -(\245U)Tj -0 Tc 2.267 0 Td -[(nixW)92(ar)18(e, the UNIX System descended fr)18(om SVR4 sold by SCO)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46777 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(34)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 129.5922 668.9599 Tm -[(2.3.2 )-556(4.4BSD)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 647.3612 Tm -[(The )-148(Berkeley )-148(Softwar)]TJ -0.3976 Tc 9.756 0 Td -(eD)Tj -0 Tc 1.651 0 Td -(istribution)Tj -5.026 0.04 Td -(\()Tj -0.333 -0.04 Td -(BSD)Tj -1.91 0.04 Td -(\))Tj --0.018 Tc 0.731 -0.04 Td -(re)Tj -0 Tc 0.856 0 Td -[(leases )-148(wer)]TJ -0.3976 Tc 4.685 0 Td -(ep)Tj --0.018 Tc 1.478 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(duced )-148(and )-148(distributed )-148(by)]TJ --27.347 -1.2 Td -[(the )-317(Computer )-317(Systems )-317(Resear)18(ch )-317(Gr)18(oup)]TJ -19.224 0.04 Td -(\()Tj -0.333 -0.04 Td -(CSRG)Tj -2.665 0.04 Td -(\))Tj -0.9 -0.04 Td -[(at )-317(the )-317(University )-317(of )-317(California )-317(at)]TJ --23.122 -1.2 Td -[(Berkeley; )-14(4.2BSD )-14(was )-14(r)19(eleased )-14(in )-14(1983 )-14(and )-14(4.3BSD )-14(in )-14(1986.)-514(Both )-14(of )-14(these )-14(r)18(eleases )-14(ran )-14(on)]TJ -0 -1.2 TD -[(the )-23(V)111(AX )-23(minicomputer)]TJ -0.5235 Tc 10.24 0 Td -(.T)Tj -0 Tc 1.386 0 Td -[(he )-23(next )-23(r)17(elease, )-23(4.3BSD )-23(T)92(ahoe )-23(in )-23(1988, )-23(also )-23(ran )-23(on )-23(a )-23(particular)]TJ --11.626 -1.2 Td -[(minicomputer )-72(called )-72(the )-72(T)93(ahoe. )-322(\(The)-321(book )-72(by )-72(Lef)18(\337er )-72(et )-72(al.)]TJ -26.722 0.04 Td -([)Tj -0.333 -0.04 Td -(1989)Tj -2 0.04 Td -(])Tj -0.655 -0.04 Td -[(describes )-72(the )-72(4.3BSD)]TJ --0.092 Tc -29.71 -1.2 Td -(Ta)Tj -0 Tc 1.021 0 Td -[(hoe )-94(r)18(elease.\) )-344(This)-344(was )-94(followed )-94(in )-94(1990 )-94(with )-94(the )-94(4.3BSD )-94(Reno )-94(r)20(elease; )-94(4.3BSD )-94(Reno)]TJ --1.021 -1.2 Td -[(supported many of the POSIX.1 featur)18(es.)]TJ -1.8 -1.2 Td -[(The )-320(original )-320(BSD )-320(systems )-320(contained )-320(pr)18(oprietary )-320(A)74(T&T )-320(sour)18(ce )-320(code )-320(and )-320(wer)21(e)]TJ --1.8 -1.2 Td -[(cover)18(ed )-152(by )-152(A)74(T&T )-152(licenses.)]TJ --0.092 Tc 12.841 0 Td -[(To )-336(o)]TJ -0 Tc 2.015 0 Td -[(btain )-152(the )-152(sour)18(ce )-152(code )-152(to )-152(the )-152(BSD )-152(system )-152(you )-152(had )-152(to)]TJ --14.856 -1.2 Td -[(have )-70(a )-70(UNIX )-70(sour)18(ce )-70(license )-70(fr)18(om )-70(A)74(T&T)]TJ -0.57 Tc 17.795 0 Td -(.T)Tj -0 Tc 1.433 0 Td -[(his )-70(changed )-70(as )-70(mor)]TJ -0.32 Tc 8.741 0 Td -(ea)Tj -0 Tc 1.299 0 Td -[(nd )-70(mor)18(e)-320(of)-320(the )-70(A)74(T&T)]TJ --29.268 -1.2 Td -[(sour)18(ce )-109(code )-109(was )-109(r)18(eplaced )-109(over )-109(the )-109(years )-109(with )-109(non-A)74(T&T )-109(sour)17(ce )-109(code )-109(and )-109(as )-109(many )-109(of)]TJ -T* -[(the new featur)18(es added to the Berkeley system wer)]TJ -0.25 Tc 22.502 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(erived fr)18(om non-A)74(T&T sour)18(ces.)]TJ --22.042 -1.2 Td -[(In )-10(1989, )-10(Berkeley )-10(identi\336ed )-10(much )-10(of )-10(the )-10(non-A)74(T&T )-10(sour)18(ce )-10(code )-10(in )-10(the )-10(4.3BSD )-10(T)92(ahoe)]TJ --0.018 Tc -1.8 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(lease )-165(and )-165(made )-165(it )-165(publicly )-165(available )-165(as )-165(the )-165(BSD )-165(Networking )-165(Softwar)17(e, )-165(Release )-165(1.0.)]TJ --0.856 -1.2 Td -[(Release )-44(2.0 )-44(of )-44(the )-44(BSD )-44(Networking )-44(Softwar)]TJ -0.2941 Tc 19.347 0 Td -(ef)Tj -0 Tc 1.106 0 Td -[(ollowed )-44(in )-44(1991, )-44(which )-44(was )-44(derived )-44(fr)17(om)]TJ --20.453 -1.2 Td -[(the )-186(4.3BSD )-186(Reno )-186(r)18(elease. )-436(The)-436(intent )-186(was )-186(that )-186(most, )-186(if )-186(not )-186(all, )-186(of )-186(the )-186(4.4BSD )-186(system)]TJ -T* -[(would )-26(be )-26(fr)18(ee )-26(of )-26(A)74(T&T )-26(license )-26(r)18(estrictions, )-26(thus )-26(making )-26(the )-26(sour)17(ce )-26(code )-26(available )-26(to )-26(all.)]TJ -1.8 -1.2 Td -(4.4BSD)Tj -3.16 0.09 Td -(-)Tj -0.333 -0.09 Td -[(Lite )-140(was )-140(intended )-140(to )-140(be )-140(the )-140(\336nal )-140(r)18(elease )-140(fr)18(om )-140(the )-140(CSRG.)-640(Its )-140(intr)18(oduction)]TJ --5.293 -1.2 Td -[(was )-165(delayed, )-165(however)]TJ -0.4146 Tc 10.17 0 Td -(,b)Tj -0 Tc 1.218 0 Td -[(ecause )-165(of )-165(legal )-165(battles )-165(with )-165(USL.)-665(Once )-165(the )-165(legal )-165(dif)21(fer)18(ences)]TJ --11.388 -1.2 Td -(wer)Tj -0.489 Tc 1.69 0 Td -(er)Tj -0 Tc 1.345 0 Td -[(esolved, )-239(4.4BSD)]TJ -7.294 0.09 Td -(-)Tj -0.333 -0.09 Td -[(Lite )-239(was )-239(r)18(eleased )-239(in )-239(1994, )-239(fully )-239(unencumber)18(ed, )-239(so )-239(no )-239(UNIX)]TJ --10.662 -1.2 Td -[(sour)18(ce )-65(license )-65(was )-65(needed )-65(to )-65(r)18(eceive )-65(it.)-565(The )-65(CSRG )-65(followed )-65(this )-65(with )-65(a )-65(bug-\336x )-65(r)14(elease)]TJ -T* -[(in )-213(1995.)-713(This )-213(r)18(elease, )-213(4.4BSD)]TJ -13.576 0.09 Td -(-)Tj -0.333 -0.09 Td -[(Lite, )-213(r)18(elease )-213(2, )-213(was )-213(the )-213(\336nal )-213(version )-213(of )-213(BSD )-213(fr)18(om )-213(the)]TJ --13.909 -1.2 Td -[(CSRG. )-250(\(This)-250(version of BSD is described in the book by McKusick et al.)]TJ -31.831 0.04 Td -([)Tj -0.333 -0.04 Td -(1996)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -(.\))Tj --32.697 -1.2 Td -[(The )-23(UNIX )-23(system )-23(development )-23(done )-23(at )-23(Berkeley )-23(started )-23(with )-23(PDP)]TJ -29.648 0.09 Td -(-)Tj --0.055 Tc 0.333 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -[(s, )-23(then )-23(moved)]TJ --32.726 -1.2 Td -[(to )-112(the )-112(V)111(AX )-112(minicomputer)]TJ -0.3621 Tc 11.651 0 Td -(,a)Tj -0 Tc 1.112 0 Td -[(nd )-112(then )-112(to )-112(other )-112(so-called )-112(workstations.)-613(During )-112(the )-112(early)]TJ --12.763 -1.2 Td -[(1990s, )-436(support )-436(was )-436(pr)18(ovided )-436(to )-436(Berkeley )-436(for )-436(the )-436(popular )-436(80386)]TJ -31.596 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-436(personal)]TJ --31.929 -1.2 Td -[(computers, )-78(leading )-78(to )-78(what )-78(is )-78(called )-78(386BSD.)-578(This )-78(support )-78(was )-78(pr)18(ovided )-78(by )-78(Bill )-78(Jolitz)]TJ -T* -[(and )-158(was )-158(documented )-158(in )-158(a )-158(series )-158(of )-158(monthly )-158(articles )-158(in)]TJ -/T1_2 1 Tf -25.626 0 Td -(Dr)Tj -0.4079 Tc 1.093 0 Td -(.D)Tj -0 Tc 1.436 0 Td -(obb\325)Tj -0.4079 Tc 1.593 0 Td -(sJ)Tj -0 Tc 1.13 0 Td -(ournal)Tj -/T1_1 1 Tf -3.075 0 Td -[(thr)18(oughout)]TJ --33.953 -1.2 Td -[(1991. )-250(Much)-250(of this code appear)18(ed in the BSD Networking Softwar)18(e, Release 2.0.)]TJ -/TT0 1 Tf -11.9993 0 0 11.9993 129.5933 284.9829 Tm -[(2.3.3 )-556(FreeBSD)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5933 263.3842 Tm -[(Fr)18(eeBSD )-304(is )-304(based )-304(on )-304(the )-304(4.4BSD)]TJ -15.528 0.09 Td -(-)Tj -0.333 -0.09 Td -[(Lite )-304(operating )-304(system.)-804(The )-304(Fr)18(eeBSD )-304(pr)18(oject )-304(was)]TJ --15.861 -1.2 Td -[(formed )-158(to )-158(carry )-158(on )-158(the )-158(BSD )-158(line )-158(after )-158(the )-158(Computing )-158(Science )-158(Resear)18(ch )-158(Gr)18(oup )-158(at )-158(the)]TJ -T* -[(University )-49(of )-49(California )-49(at )-49(Berkeley )-49(decided )-49(to )-49(end )-49(its )-49(work )-49(on )-49(the )-49(BSD )-49(versions )-49(of )-49(the)]TJ -T* -[(UNIX operating system, and the 386BSD pr)18(oject seemed to be neglected for too long.)]TJ -1.8 -1.2 Td -[(All )-42(softwar)]TJ -0.2919 Tc 4.992 0 Td -(ep)Tj --0.018 Tc 1.372 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(duced )-42(by )-42(the )-42(Fr)18(eeBSD )-42(pr)18(oject )-42(is )-42(fr)19(eely )-42(available )-42(in )-42(both )-42(binary )-42(and)]TJ --9.087 -1.2 Td -[(sour)18(ce )-31(forms.)-531(The )-31(Fr)18(eeBSD )-31(8.0 )-31(operating )-31(system )-31(was )-31(one )-31(of )-31(the )-31(four )-31(operating )-31(systems)]TJ -T* -(used to test the examples in this book.)Tj -7.9995 0 0 7.9995 179.9908 171.3897 Tm -[(Several )-606(other )-606(BSD)]TJ -9.185 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-606(fr)18(ee )-606(operating )-606(systems )-606(ar)]TJ -0.8565 Tc 16.33 0 Td -(ea)Tj -0 Tc 1.835 0 Td -[(vailable. )-856(The)-857(NetBSD )-606(pr)18(oject)]TJ --27.683 -1.25 Td -(\()Tj -/TT1 1 Tf -(http://www.netbsd.org)Tj -/T1_1 1 Tf -[(\))-528(is)-528(s)-1(imilar )-278(to )-278(the )-278(Fr)17(eeBSD )-278(pr)18(oject, )-278(but )-278(emphasizes )-278(portability)]TJ -0 -1.25 Td -[(between )-120(har)18(dwar)]TJ -0.3705 Tc 7.884 0 Td -(ep)Tj -0 Tc 1.45 0 Td -[(latforms. )-370(The)-371(OpenBSD )-120(pr)18(oject )-120(\()]TJ -/TT1 1 Tf -15.052 0 Td -(http://www.openbsd.org)Tj -/T1_1 1 Tf -[(\))-370(is)-370(s)-1(imilar)]TJ --24.386 -1.25 Td -[(to Fr)18(eeBSD but places a gr)18(eater emphasis on security)111(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46778 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.3)]TJ -29.997 0 Td -[(UNIX )-250(System )-250(Implementations)]TJ -/T1_1 1 Tf -16.336 0 Td -(33)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-269(ef)18(fect )-269(of )-269(the )-269(POSIX.1 )-269(FIPS )-269(was )-269(to )-269(r)17(equir)]TJ -0.5192 Tc 21.478 0 Td -(ea)Tj -0 Tc 1.498 0 Td -[(ny )-269(vendor )-269(that )-269(wished )-269(to )-269(sell)]TJ --24.776 -1.2 Td -[(POSIX.1-compliant )-143(computer )-143(systems )-143(to )-143(the )-143(U.S. )-143(government )-143(to )-143(support )-143(some )-143(of )-143(the)]TJ -0 -1.2 TD -[(optional )-20(featur)18(es )-20(of )-20(POSIX.1.)-520(The )-20(POSIX.1 )-20(FIPS )-20(has )-20(since )-20(been )-20(withdrawn, )-20(so )-20(we )-20(won\325t)]TJ -T* -(consider it further in this text.)Tj -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 596.9642 Tm -[(2.3 )-1332(UNIX)-556(System )-278(Implementations)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 575.3655 Tm -[(The )-632(pr)18(evious )-632(section )-632(described )-632(ISO )-632(C, )-632(IEEE )-632(POSIX, )-632(and )-632(the )-632(Single )-632(UNIX)]TJ -T* -[(Speci\336cation )167(\321 )167(thr)17(ee )-597(standar)18(ds )-597(originally )-597(cr)17(eated )-597(by )-597(independent )-597(or)17(ganizations.)]TJ --0 -1.2 Td -[(Standar)18(ds, )-102(however)]TJ -0.3519 Tc 8.864 0 Td -(,a)Tj --0.018 Tc 1.102 0 Td -[(re )-138(i)]TJ -0 Tc 1.499 0 Td -[(nterface )-102(speci\336cations.)-602(How )-102(do )-102(these )-102(standar)18(ds )-102(r)18(elate )-102(to )-102(the)]TJ --0.018 Tc -11.465 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(al )-608(world?)-1108(These )-608(standar)18(ds )-608(ar)]TJ -0.8584 Tc 15.405 0 Td -(et)Tj -0 Tc 1.663 0 Td -[(aken )-608(by )-608(vendors )-608(and )-608(turned )-608(into )-608(actual)]TJ --17.924 -1.2 Td -[(implementations. )-474(In)-474(this )-224(book, )-224(we )-224(ar)]TJ -0.4741 Tc 17.537 0 Td -(ei)Tj -0 Tc 1.244 0 Td -[(nter)18(ested )-224(in )-224(both )-224(these )-224(standar)18(ds )-224(and )-224(their)]TJ --18.781 -1.2 Td -(implementation.)Tj -1.8 -1.2 Td -[(Section )-67(1.1 )-67(of )-67(McKusick )-67(et )-67(al.)]TJ -13.504 0.04 Td -([)Tj -0.333 -0.04 Td -(1996)Tj -2 0.04 Td -(])Tj -0.65 -0.04 Td -[(gives )-67(a )-67(detailed )-67(history )-67(\(and )-67(a )-67(nice )-67(pictur)18(e\) )-67(of)]TJ --18.287 -1.2 Td -[(the )-256(UNIX )-256(System )-256(family )-256(tr)18(ee. )-506(Everything)-506(starts )-256(fr)18(om )-256(the )-256(Sixth )-256(Edition)]TJ -34.135 0.04 Td -(\()Tj -0.333 -0.04 Td -(1976)Tj -2 0.04 Td -(\))Tj -0.839 -0.04 Td -(and)Tj --37.307 -1.2 Td -[(Seventh )-42(Edition)]TJ -7.379 0.04 Td -(\()Tj -0.333 -0.04 Td -(1979)Tj -2 0.04 Td -(\))Tj -0.625 -0.04 Td -[(of )-42(the )-42(UNIX )-42(T)55(ime-Sharing )-42(System )-42(on )-42(the )-42(PDP)]TJ -20.585 0.09 Td -(-)Tj --0.055 Tc 0.333 -0.09 Td -[(11 )-152(\()]TJ -0 Tc 1.569 0 Td -[(usually )-41(called)]TJ --0.111 Tc -32.825 -1.2 Td -(Ve)Tj -0 Tc 1.09 0 Td -[(rsion )-79(6 )-79(and )-79(V)111(ersion )-79(7, )-79(r)18(espectively\). )-329(These)-329(wer)]TJ -0.329 Tc 21.224 0 Td -(et)Tj -0 Tc 1.134 0 Td -[(he )-79(\336rst )-79(r)18(eleases )-79(widely )-79(distributed)]TJ --23.448 -1.2 Td -[(outside of Bell Laboratories.)-500(Thr)18(ee branches of the tr)18(ee evolved.)]TJ -1.8 -1.92 Td -[(1. )-633(One)-448(at )-198(A)74(T&T )-198(that )-198(led )-198(to )-198(System )-198(III )-198(and )-198(System )-198(V)]TJ -0.4478 Tc 25.163 0 Td -(,t)Tj -0 Tc 1.024 0 Td -[(he )-198(so-called )-198(commer)18(cial)]TJ --24.554 -1.2 Td -(versions of the UNIX System.)Tj --1.633 -1.6 Td -[(2. )-633(One)-690(at )-440(the )-440(University )-440(of )-440(California )-440(at )-440(Berkeley )-440(that )-440(led )-440(to )-440(the )-440(4.xBSD)]TJ -1.633 -1.2 Td -(implementations.)Tj --1.633 -1.6 Td -[(3. )-633(The)]TJ --0.018 Tc 3.617 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sear)18(ch )-60(version )-60(of )-60(the )-60(UNIX )-60(System, )-60(developed )-60(at )-60(the )-60(Computing )-60(Science)]TJ --2.84 -1.2 Td -[(Resear)18(ch )-78(Center )-78(of )-78(A)74(T&T )-78(Bell )-78(Laboratories, )-78(that )-78(led )-78(to )-78(the )-78(UNIX )-78(T)56(ime-Sharing)]TJ --0 -1.2 Td -(System 8th Edition, 9th Edition, and ended with the 10th Edition in 1990\ .)Tj -/TT0 1 Tf -11.9993 0 0 11.9993 129.5924 322.5806 Tm -[(2.3.1 )-556(UNIX)-556(System )-278(V )-278(Release )-278(4)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5924 300.9819 Tm -[(UNIX )-69(System )-69(V )-69(Release )-69(4)]TJ -11.942 0.04 Td -(\()Tj -0.333 -0.04 Td -(SVR4)Tj -2.415 0.04 Td -(\))Tj -0.652 -0.04 Td -[(was )-69(a )-69(pr)18(oduct )-69(of )-69(A)75(T&T\325s )-69(UNIX )-69(System )-69(Laboratories)]TJ --15.342 -1.2 Td -[(\(USL, )-165(formerly )-165(A)75(T&T\325s )-165(UNIX )-165(Softwar)]TJ -0.4148 Tc 17.498 0 Td -(eO)Tj -0 Tc 1.68 0 Td -[(peration\). )-415(SVR4)-415(mer)18(ged )-165(functionality )-165(fr)18(om)]TJ --0.074 Tc -19.178 -1.2 Td -(AT)Tj -0 Tc 1.317 0 Td -[(&T )-207(UNIX )-207(System )-207(V )-207(Release )-207(3.2)]TJ -15.233 0.04 Td -(\()Tj -0.333 -0.04 Td -(SVR3.2)Tj -3.165 0.04 Td -(\))Tj -0.4573 Tc 0.333 -0.04 Td -(,t)Tj -0 Tc 1.033 0 Td -[(he )-207(SunOS )-207(operating )-207(system )-207(fr)18(om )-207(Sun)]TJ --21.415 -1.2 Td -[(Micr)18(osystems, )-264(the )-264(4.3BSD )-264(r)18(elease )-264(fr)16(om )-264(the )-264(University )-264(of )-264(California, )-264(and )-264(the )-264(Xenix)]TJ -0 -1.2 Td -[(system )-308(fr)18(om )-308(Micr)18(osoft )-308(into )-308(one )-308(coher)18(ent )-308(operating )-308(system.)-808(\(Xenix )-308(was )-308(originally)]TJ -T* -[(developed )-116(fr)18(om )-116(V)111(ersion )-116(7, )-116(with )-116(many )-116(featur)18(es )-116(later )-116(taken )-116(fr)14(om )-117(System )-117(V)130(.\) )-367(The)-366(SVR4)]TJ -T* -[(sour)18(ce )-40(code )-40(was )-40(r)19(eleased )-40(in )-40(late )-40(1989, )-40(with )-40(the )-40(\336rst )-40(end-user )-40(copies )-40(becoming )-40(available)]TJ -T* -[(during )-213(1990.)-713(SVR4 )-213(conformed )-213(to )-213(both )-213(the )-213(POSIX )-213(1003.1 )-213(standar)]TJ -0.4634 Tc 30.198 0 Td -(da)Tj -0 Tc 1.574 0 Td -[(nd )-213(the )-213(X/Open)]TJ --31.772 -1.2 Td -(Portability Guide, Issue 3)Tj -11.443 0.04 Td -(\()Tj -0.333 -0.04 Td -(XPG3)Tj -2.534 0.04 Td -(\))Tj -0.333 -0.04 Td -(.)Tj --0.074 Tc -12.843 -1.2 Td -(AT)Tj -0 Tc 1.317 0 Td -[(&T )-349(also )-349(published )-349(the )-349(System )-349(V )-349(Interface )-349(De\336nition)]TJ -26.036 0.04 Td -(\()Tj -0.333 -0.04 Td -(SVID)Tj -2.358 0.04 Td -(\))Tj -0.933 -0.04 Td -[([A)74(T&T )-349(1989].)]TJ --32.777 -1.2 Td -[(Issue )-125(3 )-125(of )-125(the )-125(SVID )-125(speci\336ed )-125(the )-125(functionality )-125(that )-125(an )-125(operating )-125(system )-125(must )-125(of)18(fer )-125(to)]TJ -T* -[(qualify )-7(as )-7(a )-7(conforming )-7(implementation )-7(of )-7(UNIX )-7(System )-7(V )-7(Release )-7(4.)-509(As )-7(with )-7(POSIX.1,)]TJ -T* -[(the )-18(SVID )-18(speci\336ed )-18(an )-18(interface, )-18(not )-18(an )-18(implementation.)-516(No )-18(distinction )-18(was )-18(made )-18(in )-18(the)]TJ -T* -[(SVID )-123(between )-123(system )-123(calls )-123(and )-123(library )-123(functions.)-623(The )-123(r)15(efer)18(ence )-123(manual )-123(for )-123(an )-123(actual)]TJ -0 -1.2 Td -[(implementation of SVR4 must be consulted to see this distinction [A)74(T&T 1990e].)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46779 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(32)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-197(\336rst )-197(version )-197(of )-197(the )-197(Single )-197(UNIX )-197(Speci\336cation )-197(was )-197(published )-197(by )-197(X/Open )-197(in)]TJ --1.8 -1.2 Td -[(1994. )-330(It)-330(was )-80(also )-80(known )-80(as )-80(\324)37(\324Spec )-80(1)56(170,\325)]TJ -0.3299 Tc 18.019 0 Td -(\325b)Tj -0 Tc 1.161 0 Td -[(ecause )-80(it )-80(contained )-80(r)18(oughly )-80(1,170 )-80(interfaces.)]TJ --19.179 -1.2 Td -[(It )-63(gr)18(ew )-63(out )-63(of )-63(the )-63(Common )-63(Open )-63(Softwar)]TJ -0.3135 Tc 18.882 0 Td -(eE)Tj -0 Tc 1.404 0 Td -[(nvir)18(onment)]TJ -5.526 0.04 Td -(\()Tj -0.333 -0.04 Td -(COSE)Tj -2.631 0.04 Td -(\))Tj -0.646 -0.04 Td -[(initiative, )-63(whose )-63(goal)]TJ --29.423 -1.2 Td -[(was )-432(to )-432(impr)18(ove )-432(application )-432(portability )-432(acr)18(oss )-432(all )-432(implementations )-432(of )-432(the )-432(UNIX)]TJ -0 -1.2 TD -[(operating )-261(system.)-761(The )-261(COSE )-261(gr)19(oup )167(\321 )167(Sun,)-511(IBM, )-261(HP)]TJ -0.5106 Tc 24.498 0 Td -(,N)Tj -0 Tc 1.592 0 Td -[(ovell/USL, )-261(and )-261(OSF)]TJ -0.0833 Tc 9.606 0 Td -(\321w)Tj -0 Tc 1.917 0 Td -(ent)Tj --37.613 -1.2 Td -[(further )-71(than )-71(endorsing )-71(standar)18(ds )-71(by )-71(including )-71(interfaces )-71(used )-71(by )-71(common )-71(commer)13(cial)]TJ -T* -[(applications. )-353(The)]TJ --0.018 Tc 8.276 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sulting )-103(1,170 )-103(interfaces )-103(wer)]TJ -0.3526 Tc 12.324 0 Td -(es)Tj -0 Tc 1.256 0 Td -[(elected )-103(fr)18(om )-103(these )-103(applications, )-103(and)]TJ --22.712 -1.2 Td -[(also )-10(included )-10(the )-10(X/Open )-10(Common )-10(Application )-10(Envir)20(onment)]TJ -27.823 0.04 Td -(\()Tj -0.333 -0.04 Td -(CAE)Tj -2.098 0.04 Td -(\))Tj -0.2597 Tc 0.333 -0.04 Td -(,I)Tj -0 Tc 0.847 0 Td -[(ssue )-10(4 )-10(\(known )-10(as)]TJ --0.037 Tc -31.434 -1.2 Td -(\324\324)Tj -0 Tc 0.519 0 Td -[(XPG4\325)37(\325)-336(as)-336(a)-336(historical )-86(r)18(efer)18(ence )-86(to )-86(its )-86(pr)18(edecessor)]TJ -0.3361 Tc 22.047 0 Td -(,t)Tj -0 Tc 0.912 0 Td -[(he )-86(X/Open )-86(Portability )-86(Guide\), )-86(the)]TJ --23.478 -1.2 Td -[(System )-340(V )-340(Interface )-340(De\336nition)]TJ -14.625 0.04 Td -(\()Tj -0.333 -0.04 Td -(SVID)Tj -2.358 0.04 Td -(\))Tj -0.5897 Tc 0.333 -0.04 Td -(,E)Tj -0 Tc 1.451 0 Td -[(dition )-340(3, )-340(Level )-340(1 )-340(interfaces, )-340(and )-340(the )-340(OSF)]TJ --19.099 -1.2 Td -[(Application Envir)18(onment Speci\336cation)]TJ -17.459 0.04 Td -(\()Tj -0.333 -0.04 Td -(AES)Tj -1.914 0.04 Td -(\))Tj -0.583 -0.04 Td -(Full Use interfaces.)Tj --18.489 -1.2 Td -[(The )-125(second )-125(version )-125(of )-125(the )-125(Single )-125(UNIX )-125(Speci\336cation )-125(was )-125(published )-125(by )-125(The )-125(Open)]TJ --1.8 -1.2 Td -[(Gr)18(oup )-66(in )-66(1997.)-566(The )-66(new )-66(version )-66(added )-66(support )-66(for )-66(thr)20(eads, )-66(r)18(eal-time )-66(interfaces, )-66(64)]TJ -37.497 0.09 Td -(-)Tj -0.333 -0.09 Td -(bit)Tj --37.83 -1.2 Td -[(pr)18(ocessing, lar)18(ge \336les, and enhanced multibyte character pr)18(ocessing.)]TJ -1.8 -1.2 Td -[(The )-107(thir)]TJ -0.3571 Tc 3.607 0 Td -(dv)Tj -0 Tc 1.533 0 Td -[(ersion )-107(of )-107(the )-107(Single )-107(UNIX )-107(Speci\336cation)]TJ -18.097 0.04 Td -(\()Tj -0.333 -0.04 Td -(SUSv3)Tj -2.893 0.04 Td -(\))Tj -0.69 -0.04 Td -[(was )-107(published )-107(by )-107(The)]TJ --28.953 -1.2 Td -[(Open )-80(Gr)18(oup )-80(in )-80(2001.)-580(The )-80(Base )-80(Speci\336cations )-80(of )-80(SUSv3 )-80(ar)]TJ -0.3297 Tc 26.073 0 Td -(et)Tj -0 Tc 1.135 0 Td -[(he )-80(same )-80(as )-80(IEEE )-80(Standar)19(d)]TJ --27.208 -1.2 Td -(1003.1)Tj -2.75 0.09 Td -(-)Tj -0.333 -0.09 Td -[(2001 )-18(and )-18(ar)]TJ -0.2679 Tc 5.106 0 Td -(ed)Tj -0 Tc 1.358 0 Td -[(ivided )-18(into )-18(four )-18(sections: )-18(Base )-18(De\336nitions, )-18(System )-18(Interfaces, )-18(Shell)]TJ --9.547 -1.2 Td -[(and )-17(Utilities, )-17(and )-17(Rationale.)-517(SUSv3 )-17(also )-17(includes )-17(X/Open )-17(Curses )-17(Issue )-17(4, )-17(V)111(ersion )-17(2, )-17(but)]TJ -T* -(this speci\336cation is not part of POSIX.1.)Tj -1.8 -1.2 Td -[(In )-224(2002, )-224(ISO )-224(appr)18(oved )-224(the )-224(IEEE )-224(Standar)]TJ -0.4738 Tc 18.918 0 Td -(d1)Tj -0 Tc 1.585 0 Td -(003.1)Tj -2.25 0.09 Td -(-)Tj -0.333 -0.09 Td -[(2001 )-224(as )-224(International )-224(Standar)19(d)]TJ --24.886 -1.2 Td -[(ISO/IEC )-196(9945:2002.)-696(The )-196(Open )-196(Gr)18(oup )-196(updated )-196(the )-196(1003.1 )-196(standar)]TJ -0.4462 Tc 30.43 0 Td -(da)Tj -0 Tc 1.557 0 Td -[(gain )-196(in )-196(2003 )-196(to)]TJ --31.987 -1.2 Td -[(include )-31(technical )-31(corr)18(ections, )-31(and )-31(ISO )-31(appr)18(oved )-31(this )-31(as )-31(International )-31(Standar)]TJ -0.2808 Tc 34.197 0 Td -(dI)Tj -0 Tc 1.229 0 Td -(SO/IEC)Tj --35.426 -1.2 Td -[(9945:2003. )-424(In)-425(April )-174(2004, )-174(The )-174(Open )-174(Gr)16(oup )-175(published )-175(the )-175(Single )-175(UNIX )-175(Speci\336cation,)]TJ --0.111 Tc 0 -1.2 Td -(Ve)Tj -0 Tc 1.09 0 Td -[(rsion )-88(3, )-88(2004 )-88(Edition.)-588(It )-88(mer)18(ged )-88(mor)]TJ -0.3384 Tc 16.63 0 Td -(et)Tj -0 Tc 1.143 0 Td -[(echnical )-88(corr)18(ections )-88(into )-88(the )-88(main )-88(text )-88(of )-88(the)]TJ --18.864 -1.2 Td -[(standar)18(d.)]TJ -1.8 -1.2 Td -[(In )-45(2008, )-45(the )-45(Single )-45(UNIX )-45(Speci\336cation )-45(was )-45(updated, )-45(including )-45(corr)22(ections )-45(and )-45(new)]TJ --1.8 -1.2 Td -[(interfaces, )-489(r)18(emoving )-489(obsolete )-489(interfaces, )-489(and )-489(marking )-489(other )-489(interfaces )-489(as )-489(being)]TJ -T* -[(obsolescent )-99(in )-99(pr)18(eparation )-99(for )-99(futur)]TJ -0.3487 Tc 16.075 0 Td -(er)Tj -0 Tc 1.205 0 Td -[(emoval. )-349(Additionally)]TJ -0.3487 Tc 9.676 0 Td -(,s)Tj -0 Tc 1.023 0 Td -[(ome )-99(pr)18(eviously )-99(optional)]TJ --27.978 -1.2 Td -[(interfaces )-85(wer)]TJ -0.3348 Tc 6.278 0 Td -(ep)Tj --0.018 Tc 1.415 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(moted )-85(to )-85(nonoptional )-85(status, )-85(including )-85(asynchr)19(onous )-85(I/O, )-85(barriers,)]TJ --8.616 -1.2 Td -[(clock )-218(selection, )-218(memory-mapped )-218(\336les, )-218(memory )-218(pr)17(otection, )-218(r)18(eader\320writer )-218(locks, )-218(r)17(eal-)]TJ -T* -[(time )-175(signals, )-175(POSIX )-175(semaphor)17(es, )-175(spin )-175(locks, )-175(thr)18(ead-safe )-175(functions, )-175(thr)18(eads, )-175(timeouts,)]TJ -T* -[(and )-15(timers.)-515(The )-15(r)18(esulting )-15(standar)]TJ -0.2648 Tc 14.973 0 Td -(di)Tj -0.2649 Tc 1.167 0 Td -(sk)Tj -0 Tc 1.245 0 Td -[(nown )-15(as )-15(Issue )-15(7 )-15(of )-15(the )-15(Base )-15(Speci\336cations, )-15(and )-15(is)]TJ --17.385 -1.2 Td -[(the )-201(same )-201(as )-201(POSIX.1)]TJ -9.618 0.09 Td -(-)Tj -0.333 -0.09 Td -[(2008. )-451(The)-450(Open )-201(Gr)18(oup )-201(bundled )-201(this )-201(version )-201(with )-201(an )-201(updated)]TJ --9.951 -1.2 Td -[(X/Open )-317(Curses )-317(speci\336cation )-317(and )-317(r)20(eleased )-317(them )-317(as )-317(version )-317(4 )-317(of )-317(the )-317(Single )-317(UNIX)]TJ -T* -(Speci\336cation in 2010.)Tj --0.092 Tc 9.757 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll r)18(efer to this as SUSv4.)]TJ -/TT0 1 Tf -11.9993 0 0 11.9993 129.5939 224.9865 Tm -[(2.2.4 )-556(FIPS)]TJ -/T1_2 1 Tf -9.9994 0 0 9.9994 129.5939 200.9879 Tm -(FIPS)Tj -/T1_1 1 Tf -2.369 0 Td -[(stands )-63(for )-63(Federal )-63(Information )-63(Pr)18(ocessing )-63(Standar)18(d. )-313(It)-313(was )-63(published )-63(by )-63(the )-63(U.S.)]TJ --2.369 -1.2 Td -[(government, )-26(which )-26(used )-26(it )-26(for )-26(the )-26(pr)16(ocur)18(ement )-26(of )-26(computer )-26(systems.)-527(FIPS )-26(151)]TJ -35.202 0.09 Td -(-)Tj -0.333 -0.09 Td -(1)Tj -0.776 0.04 Td -(\()Tj -0.333 -0.04 Td -(April)Tj --36.644 -1.2 Td -(1989)Tj -2 0.04 Td -(\))Tj -0.637 -0.04 Td -[(was )-54(based )-54(on )-54(the )-54(IEEE )-54(Standar)]TJ -0.3038 Tc 13.95 0 Td -(d1)Tj -0 Tc 1.415 0 Td -(003.1)Tj -2.25 0.09 Td -(-)Tj -0.333 -0.09 Td -[(1988 )-54(and )-54(a )-54(draft )-54(of )-54(the )-54(ANSI )-54(C )-54(standar)20(d.)]TJ --20.585 -1.2 Td -[(This )-124(was )-124(followed )-124(by )-124(FIPS )-124(151)]TJ -14.102 0.09 Td -(-)Tj -0.333 -0.09 Td -(2)Tj -0.875 0.04 Td -(\()Tj -0.333 -0.04 Td -[(May )-125(1993)]TJ -4.377 0.04 Td -(\))Tj -0.3746 Tc 0.333 -0.04 Td -(,w)Tj -0 Tc 1.459 0 Td -[(hich )-125(was )-125(based )-125(on )-125(the )-125(IEEE )-125(Standar)20(d)]TJ --21.811 -1.2 Td -(1003.1)Tj -2.75 0.09 Td -(-)Tj -0.333 -0.09 Td -[(1990. )-467(FIPS)-468(151)]TJ -6.957 0.09 Td -(-)Tj -0.4673 Tc 0.333 -0.09 Td -(2r)Tj -0 Tc 1.344 0 Td -[(equir)18(ed )-217(some )-217(featur)18(es )-217(that )-217(POSIX.1 )-217(listed )-217(as )-217(optional.)-719(All)]TJ --11.717 -1.2 Td -(these options wer)Tj -0.25 Tc 7.796 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(ncluded as mandatory in POSIX.1)Tj -14.986 0.09 Td -(-)Tj -0.333 -0.09 Td -(2001.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46780 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(30)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1541.25 6670.25 cm -0 0 m -3410 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 238.8777 658.9605 Tm -[(Fr)18(eeBSD )-250(Linux )-250(Mac)-250(OS X)-500(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-1827(3.2.0)-1735(10.6.8 )-2170(10)]TJ --8.224 0.625 Td -(Header)Tj -28.007 0 Td -(Description)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1541.25 6450.25 cm -0 0 m -3410 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1541.25 6430.25 cm -0 0 m -3410 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 158.073 634.9238 Tm -()Tj -/T1_1 1 Tf -3.096 Tc 11.698 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245m)Tj -0 Tc 3.172 0 Td -[(essage display str)8(uctur)18(es)]TJ -/TT0 1 Tf --26.727 -1.25 Td -()Tj -/T1_1 1 Tf -3.096 Tc 11.698 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245\336)Tj -0 Tc 2.894 0 Td -[(le tr)18(ee walking \(Section 4.22\))]TJ -/TT0 1 Tf --26.449 -1.25 Td -()Tj -/T1_1 1 Tf -3.096 Tc 11.698 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245p)Tj -0 Tc 2.89 0 Td -(athname management functions)Tj -/TT0 1 Tf --26.445 -1.25 Td -()Tj -/T1_1 1 Tf -7.0815 Tc 11.698 0 Td -(\245\245)Tj -1.683 Tc 11.858 0 Td -(\245d)Tj -0 Tc 2.9 0 Td -(atabase operations)Tj -/TT0 1 Tf --26.455 -1.25 Td -()Tj -/T1_1 1 Tf -3.096 Tc 11.698 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245s)Tj -0 Tc 2.713 0 Td -[(ear)18(ch tables)]TJ -/TT0 1 Tf --26.268 -1.25 Td -()Tj -/T1_1 1 Tf -3.096 Tc 11.698 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245s)Tj -0 Tc 2.713 0 Td -[(ystem err)18(or logging \(Section 13.4\))]TJ -/TT0 1 Tf --26.268 -1.25 Td -()Tj -/T1_1 1 Tf -3.3795 Tc 15.4 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc 10.444 0 Td -(user accounting database)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1541.25 5710.25 cm -0 0 m -3410 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 158.0635 562.8987 Tm -()Tj -/T1_1 1 Tf -3.096 Tc 11.698 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245I)Tj -0 Tc 2.626 0 Td -(PC \(Section 15.6\))Tj -/TT0 1 Tf --26.181 -1.25 Td -()Tj -/T1_1 1 Tf -3.096 Tc 11.698 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245X)Tj -0 Tc 2.956 0 Td -(SI message queues \(Section 15.7\))Tj -/TT0 1 Tf --26.511 -1.25 Td -()Tj -/T1_1 1 Tf -3.096 Tc 11.698 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245r)Tj -0 Tc 2.666 0 Td -[(esour)18(ce operations \(Section 7.1)55(1\))]TJ -/TT0 1 Tf --26.221 -1.25 Td -()Tj -/T1_1 1 Tf -3.096 Tc 11.698 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245X)Tj -0 Tc 2.956 0 Td -[(SI semaphor)18(es \(Section 15.8\))]TJ -/TT0 1 Tf --26.511 -1.25 Td -()Tj -/T1_1 1 Tf -3.096 Tc 11.698 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245X)Tj -0 Tc 2.956 0 Td -[(SI shar)18(ed memory \(Section 15.9\))]TJ -/TT0 1 Tf --26.511 -1.25 Td -()Tj -/T1_1 1 Tf -3.096 Tc 11.698 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245t)Tj -0 Tc 2.615 0 Td -(ime types)Tj -/TT0 1 Tf --26.17 -1.25 Td -()Tj -/T1_1 1 Tf -3.096 Tc 11.698 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245v)Tj -0 Tc 2.854 0 Td -(ector I/O operations \(Section 14.6\))Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1541.25 4990.25 cm -0 0 m -3410 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3628.25 4990.25 cm -0 0 m -0 1680 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2369.25 4990.25 cm -0 0 m -0 1680 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4951.25 4990.25 cm -0 0 m -0 1680 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1541.25 4990.25 cm -0 0 m -0 1680 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 214.3525 480.8846 Tm -(Figure 2.3)Tj -/T1_1 1 Tf -5.195 0 Td -[(XSI option headers de\336ned by the POSIX standar)18(d)]TJ -9.9976 0 0 9.9976 147.5648 454.4909 Tm -[(After )-134(mor)]TJ -0.384 Tc 4.501 0 Td -(et)Tj -0 Tc 1.189 0 Td -[(han )-134(twenty )-134(years )-134(of )-134(work, )-134(the )-134(standar)18(ds )-134(ar)]TJ -0.3839 Tc 19.887 0 Td -(em)Tj -0 Tc 1.746 0 Td -(atur)Tj -0.3839 Tc 1.806 0 Td -(ea)Tj -0 Tc 1.363 0 Td -[(nd )-134(stable.)-634(The)]TJ --32.292 -1.2 Td -[(POSIX.1 )-19(standar)18(d)-269(is)-269(m)1(aintained )-19(by )-19(an )-19(open )-19(working )-19(gr)18(oup )-19(known )-19(as )-19(the )-19(Austin )-19(Gr)21(oup)]TJ -0 -1.2 Td -(\()Tj -/TT0 1 Tf -(http://www.opengroup.org/austin)Tj -/T1_1 1 Tf -[(\). )-416(T)]TJ -0.4164 Tc 20.703 0 Td -(oe)Tj -0 Tc 1.441 0 Td -(nsur)Tj -0.4164 Tc 1.986 0 Td -(et)Tj -0 Tc 1.221 0 Td -[(hat )-166(they )-166(ar)]TJ -0.4164 Tc 5.061 0 Td -(es)Tj -0 Tc 1.319 0 Td -[(till )-166(r)18(elevant, )-166(the)]TJ --31.732 -1.2 Td -[(standar)18(ds need to be either updated or r)18(eaf)18(\336rmed every so often.)]TJ -/TT1 1 Tf -11.9971 0 0 11.9971 129.5697 387.307 Tm -[(2.2.3 )-556(The)-556(Single )-278(UNIX )-278(Speci\336cation)]TJ -/T1_1 1 Tf -9.9976 0 0 9.9976 129.5697 366.9119 Tm -[(The )-65(Single )-65(UNIX )-65(Speci\336cation, )-65(a )-65(superset )-65(of )-65(the )-65(POSIX.1 )-65(standar)21(d, )-65(speci\336es )-65(additional)]TJ -0 -1.2 TD -[(interfaces )-51(that )-51(extend )-51(the )-51(functionality )-51(pr)18(ovided )-51(by )-51(the )-51(POSIX.1 )-51(speci\336cation.)-555(POSIX.1)]TJ -T* -(is equivalent to the Base Speci\336cations portion of the Single UNIX Sp\ eci\336cation.)Tj -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.051 0 Td -[(X/Open )-127(System )-127(Interfaces)]TJ -/T1_1 1 Tf -11.223 0.04 Td -(\()Tj -0.333 -0.04 Td -(XSI)Tj -1.529 0.04 Td -(\))Tj -0.71 -0.04 Td -[(option )-127(in )-127(POSIX.1 )-127(describes )-127(optional )-127(interfaces)]TJ --17.646 -1.2 Td -[(and )-590(de\336nes )-590(which )-590(optional )-590(portions )-590(of )-590(POSIX.1 )-590(must )-590(be )-590(supported )-590(for )-590(an)]TJ -T* -[(implementation )-319(to )-319(be )-319(deemed)]TJ -/T1_2 1 Tf -14.782 0 Td -[(XSI )-319(conforming)]TJ -/T1_1 1 Tf -0.819 Tc (.T)Tj -0 Tc 8.492 0 Td -[(hese )-319(include )-319(\336le )-319(synchr)18(onization,)]TJ --23.274 -1.2 Td -[(thr)18(ead )-15(stack )-15(addr)18(ess )-15(and )-15(size )-15(attributes, )-15(thr)18(ead )-15(pr)15(ocess-shar)18(ed )-15(synchr)18(onization, )-15(and )-15(the)]TJ -/TT0 1 Tf -0 -1.2 Td -(_XOPEN_UNIX)Tj -/T1_1 1 Tf -6.926 0 Td -[(symbolic )-76(constant )-76(\(marked )-76(\324)37(\324SUS )-76(mandatory\325)35(\325)-326(in)-326(F)-1(igur)]TJ -0.3265 Tc 24.455 0 Td -(e2)Tj -0 Tc 1.306 0 Td -[(.5\). )-326(Only)-327(XSI-)]TJ --32.687 -1.2 Td -(conforming implementations can be called UNIX systems.)Tj -7.9981 0 0 7.9981 183.5564 250.9398 Tm -[(The )-61(Open )-61(Gr)18(oup )-61(owns )-61(the )-61(UNIX )-61(trademark )-61(and )-61(uses )-61(the )-61(Single )-61(UNIX )-61(Speci\336cation )-61(to )-61(de\336ne)]TJ -0 -1.25 TD -[(the )-34(interfaces )-34(an )-34(implementation )-34(must )-34(support )-34(to )-34(call )-34(itself )-34(a )-34(UNIX )-34(system.)]TJ --0.111 Tc 34.172 0 Td -(Ve)Tj -0 Tc 1.09 0 Td -[(ndors )-34(must )-34(\336le)]TJ --35.262 -1.25 Td -[(conformance )-18(statements, )-18(pass )-18(test )-18(suites )-18(to )-18(verify )-18(conformance, )-18(and )-18(license )-18(the )-18(right )-18(to )-18(use )-18(the)]TJ -T* -(UNIX trademark.)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1867.25 2022.25 cm -0 0 m -2758 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 242.6352 194.1417 Tm -[(Fr)18(eeBSD )-250(Linux )-250(Mac)-250(OS X)-500(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-1827(3.2.0)-1735(10.6.8 )-2170(10)]TJ --6.423 0.625 Td -(Header)Tj -23.93 0 Td -(Description)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1867.25 1802.25 cm -0 0 m -2758 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1867.25 1782.25 cm -0 0 m -2758 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 190.6394 170.1387 Tm -()Tj -/T1_1 1 Tf -3.096 Tc 8.098 0 Td -[(\245\245 )-1108(\245)]TJ -0 Tc 14.147 0 Td -(message queues)Tj -/TT0 1 Tf --22.244 -1.25 Td -()Tj -/T1_1 1 Tf -3.096 Tc 8.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245r)Tj -0 Tc 2.666 0 Td -(eal-time spawn interface)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1867.25 1562.25 cm -0 0 m -2758 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3666.25 1562.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2407.25 1562.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4625.25 1562.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1867.25 1562.25 cm -0 0 m -0 460 l -S -Q -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 217.3047 139.3415 Tm -(Figure 2.4)Tj -/T1_1 1 Tf -5.195 0 Td -[(Optional headers de\336ned by the POSIX standar)18(d)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46781 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(26)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-178(C )-178(standar)]TJ -0.4282 Tc 6.559 0 Td -(di)Tj -0.4283 Tc 1.33 0 Td -(sn)Tj -0 Tc 1.434 0 Td -[(ow )-178(maintained )-178(and )-178(developed )-178(by )-178(the )-178(ISO/IEC )-178(international)]TJ --11.124 -1.2 Td -[(standar)18(dization )-130(working )-130(gr)18(oup )-130(for )-130(the )-130(C )-130(pr)18(ogramming )-130(language, )-130(known )-130(as )-130(ISO/IEC)]TJ -0 -1.2 TD -[(JTC1/SC22/WG14, )-90(or )-90(WG14 )-90(for )-90(short.)-591(The )-90(intent )-90(of )-90(the )-90(ISO )-90(C )-90(standar)16(d)-340(is)-340(to)-340(p)]TJ --0.018 Tc 36.131 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(vide)Tj --37.054 -1.2 Td -[(portability )-77(of )-77(conforming )-77(C )-77(pr)18(ograms )-77(to )-77(a )-77(wide )-77(variety )-77(of )-77(operating )-77(systems, )-77(not )-77(only)]TJ -T* -[(the )-231(UNIX )-231(System.)-731(This )-231(standar)]TJ -0.4811 Tc 14.847 0 Td -(dd)Tj -0 Tc 1.703 0 Td -[(e\336nes )-231(not )-231(only )-231(the )-231(syntax )-231(and )-231(semantics )-231(of )-231(the)]TJ --16.55 -1.2 Td -[(pr)18(ogramming )-206(language )-206(but )-206(also )-206(a )-206(standar)]TJ -0.4565 Tc 19.582 0 Td -(dl)Tj -0 Tc 1.359 0 Td -[(ibrary )-206([Chapter )-206(7 )-206(of )-206(ISO )-206(1999; )-206(Plauger)]TJ --20.941 -1.2 Td -[(1992; )-48(Appendix )-48(B )-48(of )-48(Kernighan )-48(and )-48(Ritchie )-48(1988].)-552(This )-49(library )-49(is )-49(important )-49(because )-49(all)]TJ -T* -[(contemporary )-240(UNIX )-240(systems, )-240(such )-240(as )-240(the )-240(ones )-240(described )-240(in )-240(this )-240(book, )-240(pr)16(ovide )-240(the)]TJ -T* -[(library r)18(outines that ar)]TJ -0.25 Tc 9.97 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(peci\336ed in the C standar)18(d.)]TJ --9.323 -1.2 Td -[(In )-213(1999, )-213(the )-213(ISO )-213(C )-213(standar)]TJ -0.4632 Tc 12.549 0 Td -(dw)Tj -0 Tc 1.908 0 Td -[(as )-213(updated )-213(and )-213(appr)18(oved )-213(as )-213(ISO/IEC )-213(9899:1999,)]TJ --16.257 -1.2 Td -[(lar)18(gely )-194(to )-194(impr)18(ove )-194(support )-194(for )-194(applications )-194(that )-194(perform )-194(numerical )-194(pr)21(ocessing. )-444(The)]TJ -0 -1.2 Td -[(changes )-30(don\325t )-30(af)19(fect )-30(the )-30(POSIX )-30(interfaces )-30(described )-30(in )-30(this )-30(book, )-30(except )-30(for )-30(the )-30(addition)]TJ -T* -[(of )-32(the)]TJ -/TT0 1 Tf -2.829 0 Td -(restrict)Tj -/T1_1 1 Tf -5.082 0 Td -[(keywor)18(d)-282(to)-282(s)1(ome )-32(of )-32(the )-32(function )-32(pr)20(ototypes. )-282(This)-281(keywor)18(d)-282(is)-282(u)1(sed )-32(to)]TJ --7.911 -1.2 Td -[(tell )-1(the )-1(compiler )-1(which )-1(pointer )-1(r)16(efer)18(ences )-1(can )-1(be )-1(optimized, )-1(by )-1(indicating )-1(that )-1(the )-1(object)]TJ -0 -1.2 Td -[(to which the pointer r)18(efers is accessed in the function only via that pointer)74(.)]TJ -1.8 -1.2 Td -[(Since )-103(1999, )-103(thr)18(ee )-103(technical )-103(corrigenda )-103(have )-103(been )-103(published )-103(to )-103(corr)18(ect )-103(err)18(ors )-103(in )-103(the)]TJ --1.8 -1.2 Td -[(ISO )-109(C )-109(standar)]TJ -0.0833 Tc 6.396 0 Td -(d\321o)Tj -0 Tc 2.324 0 Td -[(ne )-110(in )-110(2001, )-110(one )-110(in )-110(2004, )-110(and )-110(one )-110(in )-110(2007.)-610(As )-110(with )-110(most )-110(standar)23(ds,)]TJ --8.72 -1.2 Td -[(ther)18(e)-392(is)-392(a)-392(delay )-142(between )-142(the )-142(standar)18(d\325s )-142(appr)18(oval )-142(and )-142(the )-142(modi\336cation )-142(of )-142(softwar)]TJ -0.392 Tc 37.257 0 Td -(et)Tj -0 Tc 1.197 0 Td -(o)Tj --38.454 -1.2 Td -[(conform )-12(to )-12(it.)-512(As )-12(each )-12(vendor)-74(\325s )-12(compilation )-12(systems )-12(evolve, )-12(they )-12(add )-12(mor)]TJ -0.2623 Tc 33.226 0 Td -(es)Tj -0 Tc 1.165 0 Td -[(upport )-12(for)]TJ --34.392 -1.2 Td -[(the latest version of the ISO C standar)18(d.)]TJ -0.4674 Tc 7.9995 0 0 7.9995 183.5906 422.9746 Tm -(As)Tj -0 Tc 1.669 0 Td -[(ummary )-217(of )-217(the )-217(curr)18(ent )-217(level )-217(of )-217(conformance )-217(of)]TJ -/TT0 1 Tf -22.628 0 Td -(gcc)Tj -/T1_1 1 Tf -2.267 0 Td -[(to )-217(the )-217(1999 )-217(version )-217(of )-217(the )-217(ISO )-217(C)]TJ --26.565 -1.25 Td -[(standar)18(d)-842(is)-842(a)-1(vailable )-592(at)]TJ -/TT0 1 Tf -12.812 0 Td -(http://gcc.gnu.org/c99status.html)Tj -/T1_1 1 Tf -1.0926 Tc (.A)Tj -0 Tc 21.921 0 Td -[(lthough )-593(the )-593(C)]TJ --34.733 -1.25 Td -(standar)Tj -0.3988 Tc 3.32 0 Td -(dw)Tj -0 Tc 1.844 0 Td -[(as )-149(updated )-149(in )-149(201)56(1, )-149(we )-149(deal )-149(only )-149(with )-149(the )-149(1999 )-149(version )-149(in )-149(this )-149(text, )-149(because )-149(the)]TJ --5.164 -1.25 Td -[(other standar)18(ds haven\325t yet caught up with the r)18(elevant changes.)]TJ -9.9994 0 0 9.9994 147.5927 372.9776 Tm -[(The )-30(ISO )-30(C )-30(library )-30(can )-30(be )-30(divided )-30(into )-30(24 )-30(ar)18(eas, )-30(based )-30(on )-30(the )-30(headers )-30(de\336ned )-30(by )-30(the)]TJ --1.8 -1.2 Td -(standar)Tj -0.4715 Tc 3.32 0 Td -(d\()Tj -0 Tc 1.416 0 Td -[(see )-221(Figur)]TJ -0.4714 Tc 4.236 0 Td -(e2)Tj -0 Tc 1.45 0 Td -[(.1\). )-471(The)-472(POSIX.1 )-221(standar)]TJ -0.4714 Tc 11.66 0 Td -(di)Tj -0 Tc 1.373 0 Td -[(ncludes )-221(these )-221(headers, )-221(as )-221(well )-221(as)]TJ --23.456 -1.2 Td -[(others. )-718(As)-719(Figur)]TJ -0.7183 Tc 8.274 0 Td -(e2)Tj -0 Tc 1.697 0 Td -[(.1 )-468(shows, )-468(all )-468(of )-468(these )-468(headers )-468(ar)]TJ -0.7183 Tc 16.718 0 Td -(es)Tj -0 Tc 1.621 0 Td -[(upported )-468(by )-468(the )-468(four)]TJ --28.31 -1.2 Td -(implementations)Tj -7.894 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Fr)18(eeBSD )-159(8.0, )-159(Linux )-159(3.2.0, )-159(Mac )-159(OS )-159(X )-159(10.6.8, )-159(and )-159(Solaris )-159(10)]TJ -26.532 0.04 Td -(\))Tj -0.742 -0.04 Td -[(that )-159(ar)18(e)]TJ --35.501 -1.2 Td -[(described later in this chapter)74(.)]TJ -7.9995 0 0 7.9995 183.5903 306.9816 Tm -[(The )-160(ISO )-160(C )-160(headers )-160(depend )-160(on )-160(which )-160(version )-160(of )-160(the )-160(C )-160(compiler )-160(is )-160(used )-160(with )-160(the )-160(operating)]TJ -0 -1.25 TD -[(system. )-281(Fr)18(eeBSD )-31(8.0 )-31(ships )-31(with )-31(version )-31(4.2.1 )-31(of)]TJ -/TT0 1 Tf -21.411 0 Td -(gcc)Tj -/T1_1 1 Tf -0.2814 Tc (,S)Tj -0 Tc 2.856 0 Td -[(olaris )-31(10 )-31(ships )-31(with )-31(version )-31(3.4.3 )-31(of)]TJ -/TT0 1 Tf -15.933 0 Td -(gcc)Tj -/T1_1 1 Tf --40.2 -1.25 Td -[(\(in )-226(addition )-226(to )-226(its )-226(own )-226(C )-226(compiler )-226(in )-226(Sun )-226(Studio\), )-226(Ubuntu )-226(12.04)]TJ -30.949 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Linux )-226(3.2.0)]TJ -5.079 0.04 Td -(\))Tj -0.809 -0.04 Td -[(ships )-226(with)]TJ --37.169 -1.25 Td -(version 4.6.3 of)Tj -/TT0 1 Tf -6.911 0 Td -(gcc)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 2.8 0 Td -(nd Mac OS X 10.6.8 ships with both versions 4.0.1 and 4.2.1 of)Tj -/TT0 1 Tf -27.451 0 Td -(gcc)Tj -/T1_1 1 Tf -(.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 129.5936 246.9852 Tm -[(2.2.2 )-556(IEEE)-556(POSIX)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5936 222.9866 Tm -[(POSIX )-139(is )-139(a )-139(family )-139(of )-139(standar)18(ds )-139(initially )-139(developed )-139(by )-139(the )-139(IEEE )-139(\(Institute )-139(of )-139(Electrical)]TJ -0 -1.2 TD -[(and )-126(Electr)18(onics )-126(Engineers\).)-626(POSIX )-126(stands )-126(for )-126(Portable )-126(Operating )-126(System )-126(Interface.)-625(It)]TJ -T* -[(originally )-387(r)18(eferr)18(ed )-387(only )-387(to )-387(the )-387(IEEE )-387(Standar)]TJ -0.6367 Tc 21.474 0 Td -(d1)Tj -0 Tc 1.748 0 Td -(003.1)Tj -2.25 0.09 Td -(-)Tj -0.333 -0.09 Td -[(1988 )167(\321 )167(the)-637(operating )-387(system)]TJ --25.805 -1.2 Td -[(interface )167(\321 )167(but)-264(was )-13(later )-13(extended )-13(to )-13(include )-13(many )-13(of )-13(the )-13(standar)14(ds )-14(and )-14(draft )-14(standar)19(ds)]TJ --0 -1.2 Td -(with the 1003 designation, including the shell and utilities)Tj -25.828 0.04 Td -(\()Tj -0.333 -0.04 Td -(1003.2)Tj -2.75 0.04 Td -(\))Tj -0.333 -0.04 Td -(.)Tj --27.444 -1.2 Td -[(Of )-132(speci\336c )-132(inter)18(est )-132(to )-132(this )-132(book )-132(is )-132(the )-132(1003.1 )-132(operating )-132(system )-132(interface )-132(standar)19(d,)]TJ --1.8 -1.2 Td -[(whose )-113(goal )-113(is )-113(to )-113(pr)18(omote )-113(the )-113(portability )-113(of )-113(applications )-113(among )-113(various )-113(UNIX )-113(System)]TJ -T* -[(envir)18(onments. )-605(This)-606(standar)]TJ -0.6055 Tc 13.057 0 Td -(dd)Tj -0 Tc 1.827 0 Td -[(e\336nes )-355(the )-355(services )-355(that )-355(an )-355(operating )-355(system )-355(must)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46782 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1.12)]TJ -39.988 0 Td -(Summary)Tj -/T1_1 1 Tf -6.345 0 Td -(23)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -3102 6134 864 288 re -S -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 333.488 631.0021 Tm -(application)Tj -1.446 -1.25 Td -(code)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2526 5486 864 288 re -S -Q -BT -/T1_0 1 Tf -0.25 Tc 7.999 0 0 7.999 280.0064 566.1721 Tm -(Cl)Tj -0 Tc 1.25 0 Td -(ibrary)Tj --1.345 -1.25 Td -(functions)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2598 4910 1296 216 re -S -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 303.3774 499.95 Tm -(system calls)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2598 4406 1296 720 re -S -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 393.3056 474.726 Tm -(kernel)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5342.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5416.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5490.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5564.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5639.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5713.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5787.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5862.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5936.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 6010.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 6084.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 6158.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 6232.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 6307.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 6381.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 6456.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 6530.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2452.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2523.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2593.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2664.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2735.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2805.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2875.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2946.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3016.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3087.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3157.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3228.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3298.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3369.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3439.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3510.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3581.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3650.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3721.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3792.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3862.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3933.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4003.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4074.25 6566.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 6492.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 6417.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 6343.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 6269.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 6194.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 6120.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 6046.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5972.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5898.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5823.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5749.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5675.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5600.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5526.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5452.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5378.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4039.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3969.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3898.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3828.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3757.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3686.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3617.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3546.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3475.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3405.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3334.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3264.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3193.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3123.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3052.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2982.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2911.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2840.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2771.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2700.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2629.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2559.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2488.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 5342.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 414.8755 593.4619 Tm -[(user pr)18(ocess)]TJ -ET -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 339 613.4 cm -0 0 m --4.392 -5.976 l --6.696 -3.24 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 3390 6134 cm -0 0 m --43.92 -59.76 l --66.96 -32.4 l -h -S -Q -Q -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 295.8 577.4 cm -0 0 m -4.392 5.976 l -6.696 3.24 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 2958 5774 cm -0 0 m -43.92 59.76 l -66.96 32.4 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3334.25 6088.25 cm -0 0 m --321 -268 l -S -Q -Q -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 295.8 548.6 cm -0 0 m -3.168 -6.696 l --0.36 -7.416 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 2958 5486 cm -0 0 m -31.68 -66.96 l --3.6 -74.16 l -h -S -Q -Q -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 303 512.6 cm -0 0 m --3.168 6.696 l -0.36 7.416 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3030 5126 cm -0 0 m --31.68 66.96 l -3.6 74.16 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2972.25 5415.25 cm -0 0 m -44 -219 l -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 367.8 613.4 cm -0 0 m -0.216 -7.416 l --3.312 -6.696 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 3678 6134 cm -0 0 m -2.16 -74.16 l --33.12 -66.96 l -h -S -Q -Q -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 346.2 512.6 cm -0 0 m --0.216 7.416 l -3.312 6.696 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 3462 5126 cm -0 0 m --2.16 74.16 l -33.12 66.96 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3663.25 6063.25 cm -0 0 m --186 -867 l -S -Q -Q -BT -/T1_1 1 Tf -7.9947 0 0 7.9947 203.3218 415.1259 Tm -(Figure 1.12)Tj -/T1_0 1 Tf -5.695 0 Td -[(Dif)18(fer)18(ence between C library functions and system calls)]TJ -9.9934 0 0 9.9934 129.5147 383.9465 Tm -[(we )-87(compar)]TJ -0.3371 Tc 5.001 0 Td -(et)Tj -0 Tc 1.142 0 Td -[(he )-87(unbuf)18(fer)18(ed )-87(I/O )-87(functions )-87(\(Chapter )-87(3\) )-87(and )-87(the )-87(standar)]TJ -0.3372 Tc 25.711 0 Td -(dI)Tj -0 Tc 1.285 0 Td -[(/O )-87(functions)]TJ --33.14 -1.2 Td -(\(Chapter 5\).)Tj -1.8 -1.2 Td -[(The )-110(pr)18(ocess )-110(contr)18(ol )-110(system )-110(calls )-110(\()]TJ -/TT0 1 Tf -15.258 0 Td -(fork)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.01 0 Td -(exec)Tj -/T1_0 1 Tf -0.3604 Tc (,a)Tj -0 Tc 3.51 0 Td -(nd)Tj -/TT0 1 Tf -1.553 0 Td -(waitpid)Tj -/T1_0 1 Tf -0.3603 Tc (\)a)Tj --0.018 Tc 5.393 0 Td -[(re )-146(u)]TJ -0 Tc 1.819 0 Td -[(sually )-110(invoked)]TJ --32.345 -1.2 Td -[(by )-86(the )-86(user)-74(\325s )-86(application )-86(code )-86(dir)19(ectly)]TJ -0.5858 Tc 17.169 0 Td -(.\()Tj -0 Tc 1.169 0 Td -[(Recall )-86(the )-86(bar)18(e-bones )-86(shell )-86(in )-86(Figur)]TJ -0.3359 Tc 15.888 0 Td -(e1)Tj -0 Tc 1.315 0 Td -[(.7.\) )-336(But)]TJ --35.541 -1.2 Td -[(some )-115(library )-115(r)18(outines )-115(exist )-115(to )-115(simplify )-115(certain )-115(common )-115(cases: )-115(the)]TJ -/TT0 1 Tf -29.977 0 Td -(system)Tj -/T1_0 1 Tf -3.965 0 Td -(and)Tj -/TT0 1 Tf -2.058 0 Td -(popen)Tj -/T1_0 1 Tf --36 -1.2 Td -[(library )-211(r)18(outines, )-211(for )-211(example.)-713(In )-212(Section )-212(8.13, )-212(we\325ll )-212(show )-212(an )-212(implementation )-212(of )-212(the)]TJ -/TT0 1 Tf -0 -1.2 TD -(system)Tj -/T1_0 1 Tf -3.888 0 Td -[(function )-37(that )-37(invokes )-37(the )-37(basic )-37(pr)18(ocess )-37(contr)18(ol )-37(system )-37(calls.)]TJ --0.092 Tc 27.019 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-37(enhance )-37(this)]TJ --32.294 -1.2 Td -[(example in Section 10.18 to handle signals corr)18(ectly)111(.)]TJ --0.092 Tc 1.8 -1.2 Td -[(To )-225(d)]TJ -0 Tc 1.969 0 Td -[(e\336ne )-41(the )-41(interface )-41(to )-41(the )-41(UNIX )-41(System )-41(that )-41(most )-41(pr)18(ogrammers )-41(use, )-41(we )-41(have )-41(to)]TJ --3.769 -1.2 Td -[(describe )-89(both )-89(the )-89(system )-89(calls )-89(and )-89(some )-89(of )-89(the )-89(library )-89(functions.)-584(If )-88(we )-88(described )-88(only)]TJ -T* -(the)Tj -/TT0 1 Tf -1.92 0 Td -(sbrk)Tj -/T1_0 1 Tf -2.933 0 Td -[(system )-283(call, )-283(for )-283(example, )-283(we )-283(would )-283(skip )-283(the )-283(mor)]TJ -0.533 Tc 23.667 0 Td -(ep)Tj --0.018 Tc 1.613 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(grammer)18(-friendly)]TJ -/TT0 1 Tf --31.056 -1.2 Td -(malloc)Tj -/T1_0 1 Tf -4.021 0 Td -[(library )-170(function )-170(that )-170(many )-170(applications )-170(use.)-673(In )-170(this )-170(text, )-170(we\325ll )-170(use )-170(the )-170(term)]TJ -/T1_2 1 Tf --4.02 -1.2 Td -(function)Tj -/T1_0 1 Tf -3.661 0 Td -[(to )-3(r)18(efer )-3(to )-3(both )-3(system )-3(calls )-3(and )-3(library )-3(functions, )-3(except )-3(when )-3(the )-3(distinction )-3(is)]TJ --3.661 -1.2 Td -[(necessary)111(.)]TJ -/TT1 1 Tf -11.9921 0 0 11.9921 93.5381 192.0732 Tm -[(1.12 )-776(Summar)-10(y)]TJ -/T1_0 1 Tf -9.9934 0 0 9.9934 129.5144 168.089 Tm -[(This )-90(chapter )-90(has )-90(pr)18(ovided )-90(a )-90(short )-90(tour )-90(of )-90(the )-90(UNIX )-90(System.)]TJ --0.092 Tc 27.774 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-89(described )-89(some )-89(of)]TJ --29.161 -1.2 Td -[(the )-26(fundamental )-26(terms )-26(that )-26(we\325ll )-26(encounter )-26(over )-26(and )-26(over )-26(again.)]TJ --0.092 Tc 29.278 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-26(seen )-26(numer)18(ous)]TJ --30.665 -1.2 Td -[(small )-86(examples )-86(of )-86(UNIX )-86(pr)18(ograms )-86(to )-86(give )-86(us )-86(a )-86(feel )-86(for )-86(what )-86(the )-86(r)15(emainder )-86(of )-86(the )-86(text)]TJ -T* -(talks about.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46783 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1.1)]TJ -22.1893 Tc 4.888 0 Td -(1S)Tj -0 Tc 23.214 0 Td -[(ystem )-250(Calls )-250(and )-250(Library )-250(Functions)]TJ -/T1_1 1 Tf -18.231 0 Td -(21)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(1.11 )-776(System)-556(Calls )-278(and )-278(Librar)]TJ -0.556 Tc 15.237 0 Td -(yF)Tj -0 Tc 1.723 0 Td -(unctions)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 642.5614 Tm -[(All )-69(operating )-69(systems )-69(pr)18(ovide )-69(service )-69(points )-69(thr)18(ough )-69(which )-69(pr)18(ograms )-69(r)18(equest )-69(services)]TJ -0 -1.2 TD -[(fr)18(om )-246(the )-246(kernel.)-747(All )-246(implementations )-246(of )-246(the )-246(UNIX )-246(System )-246(pr)18(ovide )-246(a )-246(well-de\336ned,)]TJ -T* -[(limited )-346(number )-346(of )-346(entry )-346(points )-346(dir)18(ectly )-346(into )-346(the )-346(kernel )-346(called)]TJ -/T1_2 1 Tf -30.519 0 Td -[(system )-346(calls)]TJ -/T1_0 1 Tf -5.766 0 Td -[(\(r)18(ecall)]TJ --36.285 -1.2 Td -(Figur)Tj -0.4077 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.387 0 Td -[(.1\). )-408(V)111(ersion )-158(7 )-158(of )-158(the )-158(Resear)19(ch )-158(UNIX )-158(System )-158(pr)18(ovided )-158(about )-158(50 )-158(system )-158(calls,)]TJ --3.77 -1.2 Td -[(4.4BSD )-143(pr)18(ovided )-143(about )-143(1)55(10, )-143(and )-143(SVR4 )-143(had )-143(ar)17(ound )-143(120.)-643(The )-143(exact )-143(number )-143(of )-143(system)]TJ -T* -[(calls )-25(varies )-25(depending )-25(on )-25(the )-25(operating )-25(system )-25(version.)-523(Mor)]TJ -0.2749 Tc 27.128 0 Td -(er)Tj -0 Tc 1.131 0 Td -[(ecent )-25(systems )-25(have )-25(seen)]TJ --28.259 -1.2 Td -[(incr)18(edible )-51(gr)18(owth )-51(in )-51(the )-51(number )-51(of )-51(supported )-51(system )-51(calls.)-551(Linux )-51(3.2.0 )-51(has )-51(380 )-51(system)]TJ -T* -[(calls and Fr)18(eeBSD 8.0 has over 450.)]TJ -1.8 -1.2 Td -[(The )-163(system )-163(call )-163(interface )-163(has )-163(always )-163(been )-163(documented )-163(in )-163(Section )-163(2 )-163(of )-163(the)]TJ -/T1_2 1 Tf -34.589 0 Td -(UNIX)Tj --36.389 -1.2 Td -[(Pr)18(ogrammer )213(\325)]TJ -0.8514 Tc 5.353 0 Td -(sM)Tj -0 Tc 2.184 0 Td -(anual)Tj -/T1_0 1 Tf -1.1014 Tc (.I)Tj -0 Tc 3.966 0 Td -[(ts )-601(de\336nition )-601(is )-601(in )-601(the )-601(C )-601(language, )-601(no )-601(matter )-601(which)]TJ --11.504 -1.2 Td -[(implementation )-32(technique )-32(is )-32(actually )-32(used )-32(on )-32(any )-32(given )-32(system )-32(to )-32(invoke )-32(a )-32(system )-32(call.)]TJ -T* -[(This )-63(dif)18(fers )-63(fr)18(om )-63(many )-63(older )-63(operating )-63(systems, )-63(which )-63(traditionally )-63(de\336ned )-63(the )-63(kernel)]TJ -T* -(entry points in the assembly language of the machine.)Tj -1.8 -1.2 Td -[(The )-91(technique )-91(used )-91(on )-91(UNIX )-91(systems )-91(is )-91(for )-91(each )-91(system )-91(call )-91(to )-91(have )-91(a )-91(function )-91(of)]TJ --1.8 -1.2 Td -[(the )-41(same )-41(name )-41(in )-41(the )-41(standar)]TJ -0.2913 Tc 13.154 0 Td -(dCl)Tj -0 Tc 2.194 0 Td -(ibrary)Tj -0.5413 Tc 2.579 0 Td -(.T)Tj -0 Tc 1.404 0 Td -[(he )-41(user )-41(pr)18(ocess )-41(calls )-41(this )-41(function, )-41(using )-41(the)]TJ --19.331 -1.2 Td -(standar)Tj -0.283 Tc 3.32 0 Td -(dCc)Tj -0 Tc 2.33 0 Td -[(alling )-33(sequence.)-533(This )-33(function )-33(then )-33(invokes )-33(the )-33(appr)18(opriate )-33(kernel )-33(service,)]TJ --5.65 -1.2 Td -[(using )-10(whatever )-10(technique )-10(is )-10(r)18(equir)18(ed )-10(on )-10(the )-10(system.)-510(For )-10(example, )-10(the )-10(function )-10(may )-10(put)]TJ -T* -[(one )-79(or )-79(mor)19(e)-329(of)-329(the )-79(C )-79(ar)18(guments )-79(into )-79(general )-79(r)18(egisters )-79(and )-79(then )-79(execute )-79(some )-79(machine)]TJ -T* -[(instr)8(uction )-72(that )-72(generates )-72(a )-72(softwar)]TJ -0.3223 Tc 15.885 0 Td -(ei)Tj -0 Tc 1.092 0 Td -[(nterr)8(upt )-72(in )-72(the )-72(kernel.)-572(For )-72(our )-72(purposes, )-72(we )-72(can)]TJ --16.978 -1.2 Td -(consider the system calls to be C functions.)Tj -1.8 -1.2 Td -[(Section )-235(3 )-235(of )-235(the)]TJ -/T1_2 1 Tf -7.901 0 Td -[(UNIX )-235(Pr)18(ogrammer )213(\325)]TJ -0.4854 Tc 8.449 0 Td -(sM)Tj -0 Tc 1.818 0 Td -(anual)Tj -/T1_0 1 Tf -2.763 0 Td -[(de\336nes )-235(the )-235(general-purpose )-235(library)]TJ --22.732 -1.2 Td -[(functions )-20(available )-20(to )-20(pr)19(ogrammers. )-270(These)-269(functions )-20(ar)18(en\325t )-20(entry )-20(points )-20(into )-20(the )-20(kernel,)]TJ -T* -[(although )-115(they )-115(may )-115(invoke )-115(one )-115(or )-115(mor)20(e)-365(of)-365(t)1(he )-115(kernel\325s )-115(system )-115(calls.)-615(For )-115(example, )-115(the)]TJ -/TT1 1 Tf -T* -(printf)Tj -/T1_0 1 Tf -3.998 0 Td -[(function )-148(may )-148(use )-148(the)]TJ -/TT1 1 Tf -10.131 0 Td -(write)Tj -/T1_0 1 Tf -3.398 0 Td -[(system )-148(call )-148(to )-148(output )-148(a )-148(string, )-148(but )-148(the)]TJ -/TT1 1 Tf -17.873 0 Td -(strcpy)Tj -/T1_0 1 Tf --35.4 -1.2 Td -[(\(copy )-4(a )-4(string\) )-4(and)]TJ -/TT1 1 Tf -8.598 0 Td -(atoi)Tj -/T1_0 1 Tf -2.654 0 Td -[(\(convert )-4(ASCII )-4(to )-4(integer\) )-4(functions )-4(don\325t )-4(involve )-4(the )-4(kernel )-4(at)]TJ --11.253 -1.2 Td -(all.)Tj -1.8 -1.2 Td -[(Fr)18(om )-98(an )-98(implementor)-75(\325s )-98(point )-98(of )-98(view)]TJ -0.3483 Tc 17.02 0 Td -(,t)Tj -0 Tc 0.924 0 Td -[(he )-98(distinction )-98(between )-98(a )-98(system )-98(call )-98(and )-98(a)]TJ --19.744 -1.2 Td -[(library )-112(function )-112(is )-112(fundamental.)-613(Fr)18(om )-112(a )-112(user)-74(\325s )-112(perspective, )-112(however)]TJ -0.3624 Tc 31.171 0 Td -(,t)Tj -0 Tc 0.938 0 Td -[(he )-112(dif)18(fer)18(ence )-112(is)]TJ --32.109 -1.2 Td -[(not )-29(as )-29(critical.)-528(Fr)18(om )-29(our )-29(perspective )-29(in )-29(this )-29(text, )-29(both )-29(system )-29(calls )-29(and )-29(library )-29(functions)]TJ -0 -1.2 Td -[(appear )-62(as )-62(normal )-62(C )-62(functions.)-560(Both )-62(exist )-62(to )-62(pr)18(ovide )-62(services )-62(for )-62(application )-62(pr)20(ograms.)]TJ --0.092 Tc T* -[(We )-492(s)]TJ -0 Tc 2.369 0 Td -[(hould )-308(r)18(ealize, )-308(however)]TJ -0.5579 Tc 10.722 0 Td -(,t)Tj -0 Tc 1.134 0 Td -[(hat )-308(we )-308(can )-308(r)18(eplace )-308(the )-308(library )-308(functions, )-308(if )-308(desir)20(ed,)]TJ --14.225 -1.2 Td -[(wher)18(eas the system calls usually cannot be r)18(eplaced.)]TJ -1.8 -1.2 Td -[(Consider )-91(the )-91(memory )-91(allocation )-91(function)]TJ -/TT1 1 Tf -18.893 0 Td -(malloc)Tj -/T1_0 1 Tf -3.941 0 Td -[(as )-91(an )-91(example.)-590(Ther)]TJ -0.3408 Tc 9.328 0 Td -(ea)Tj --0.018 Tc 1.32 0 Td -[(re )-127(m)]TJ -0 Tc 2.08 0 Td -(any)Tj --37.362 -1.2 Td -[(ways )-9(to )-9(do )-9(memory )-9(allocation )-9(and )-9(its )-9(associated )-9(garbage )-9(collection )-9(\(best )-9(\336t, )-9(\336rst )-9(\336t, )-9(and)]TJ -T* -[(so )-164(on\).)-663(No )-164(single )-164(technique )-164(is )-164(optimal )-164(for )-164(all )-164(pr)19(ograms. )-414(The)-414(UNIX )-164(system )-164(call )-164(that)]TJ --0 -1.2 Td -[(handles )-225(memory )-225(allocation,)]TJ -/TT1 1 Tf -13.202 0 Td -(sbrk)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.333 -0.04 Td -[(,)-475(is)-475(n)1(ot )-225(a )-225(general-purpose )-225(memory )-225(manager)]TJ -0.7247 Tc 20.594 0 Td -(.I)Tj -0 Tc 1.312 0 Td -(t)Tj --38.674 -1.2 Td -[(incr)18(eases )-72(or )-72(decr)18(eases )-72(the )-72(addr)18(ess )-72(space )-72(of )-72(the )-72(pr)18(ocess )-72(by )-72(a )-72(speci\336ed )-72(number )-72(of )-72(bytes.)]TJ -T* -[(How )-221(that )-221(space )-221(is )-221(managed )-221(is )-221(up )-221(to )-221(the )-221(pr)22(ocess. )-470(The)-471(memory )-220(allocation )-220(function,)]TJ -/TT1 1 Tf --0 -1.2 Td -(malloc)Tj -/T1_0 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.3028 Tc 0.333 -0.04 Td -(,i)Tj -0 Tc 0.844 0 Td -[(mplements )-53(one )-53(particular )-53(type )-53(of )-53(allocation.)-552(If )-53(we )-53(don\325t )-53(like )-53(its )-53(operation,)]TJ --5.61 -1.2 Td -[(we )-19(can )-19(de\336ne )-19(our )-19(own)]TJ -/TT1 1 Tf -10.445 0 Td -(malloc)Tj -/T1_0 1 Tf -3.869 0 Td -[(function, )-19(which )-19(will )-19(pr)18(obably )-19(use )-19(the)]TJ -/TT1 1 Tf -16.88 0 Td -(sbrk)Tj -/T1_0 1 Tf -2.669 0 Td -[(system )-19(call.)]TJ --33.863 -1.2 Td -[(In )-521(fact, )-521(numer)18(ous )-521(softwar)]TJ -0.7714 Tc 12.923 0 Td -(ep)Tj -0 Tc 1.851 0 Td -[(ackages )-521(implement )-521(their )-521(own )-521(memory )-521(allocation)]TJ --14.775 -1.2 Td -[(algorithms )-92(with )-92(the)]TJ -/TT1 1 Tf -9.24 0 Td -(sbrk)Tj -/T1_0 1 Tf -2.742 0 Td -[(system )-92(call.)-592(Figur)]TJ -0.3421 Tc 8.185 0 Td -(e1)Tj -0 Tc 1.321 0 Td -(.1)Tj -0.3421 Tc 0.695 0 Td -(1s)Tj -0 Tc 1.266 0 Td -[(hows )-92(the )-92(r)18(elationship )-92(between )-92(the)]TJ --23.45 -1.2 Td -(application, the)Tj -/TT1 1 Tf -7.11 0 Td -(malloc)Tj -/T1_0 1 Tf -3.85 0 Td -(function, and the)Tj -/TT1 1 Tf -7.787 0 Td -(sbrk)Tj -/T1_0 1 Tf -2.65 0 Td -(system call.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46784 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(20)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(System )-250(Overview)]TJ -39.741 0 Td -[(Chapter )-250(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(1.10 )-776(Time)]TJ --0.06 Tc 5.89 0 Td -(Va)Tj -0 Tc 1.163 0 Td -(lues)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5923 644.9613 Tm -(Historically)Tj -0.25 Tc 5.076 0 Td -(,U)Tj -0 Tc 1.278 0 Td -[(NIX systems have maintained two dif)18(fer)18(ent time values:)]TJ --4.554 -1.92 Td -[(1. )-633(Calendar)-530(time. )-530(This)-531(value )-281(counts )-281(the )-281(number )-281(of )-281(seconds )-281(since )-281(the )-281(Epoch:)]TJ -1.633 -1.2 Td -[(00:00:00 )-146(January )-146(1, )-146(1970, )-146(Coor)18(dinated )-146(Universal )-146(T)57(ime)]TJ -24.832 0.04 Td -(\()Tj -0.333 -0.04 Td -(UTC)Tj -2.1 0.04 Td -(\))Tj -0.6455 Tc 0.333 -0.04 Td -(.\()Tj -0 Tc 1.229 0 Td -[(Older )-145(manuals)]TJ --0.018 Tc -28.827 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer )-106(to )-106(UTC )-106(as )-106(Gr)18(eenwich )-106(Mean )-106(T)55(ime.\) )-356(These)-356(time )-106(values )-106(ar)]TJ -0.3561 Tc 27.341 0 Td -(eu)Tj -0 Tc 1.438 0 Td -[(sed )-106(to )-106(r)18(ecor)18(d)]TJ --29.635 -1.2 Td -(the time when a \336le was last modi\336ed, for example.)Tj -0 -1.56 TD -(The primitive system data type)Tj -/TT1 1 Tf -14.037 0 Td -(time_t)Tj -/T1_1 1 Tf -3.85 0 Td -(holds these time values.)Tj --19.52 -1.6 Td -[(2. )-633(Pr)18(ocess )-101(time.)-602(This )-101(is )-101(also )-101(called )-101(CPU )-101(time )-101(and )-101(measur)18(es )-101(the )-101(central )-101(pr)15(ocessor)]TJ --0.018 Tc 1.633 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ces )-197(used )-197(by )-197(a )-197(pr)17(ocess. )-447(Pr)18(ocess )-197(time )-197(is )-197(measur)18(ed )-197(in )-197(clock )-197(ticks, )-197(which)]TJ --0.856 -1.2 Td -(have historically been 50, 60, or 100 ticks per second.)Tj -T* -[(The )-71(primitive )-71(system )-71(data )-71(type)]TJ -/TT1 1 Tf -14.391 0 Td -(clock_t)Tj -/T1_1 1 Tf -4.521 0 Td -[(holds )-71(these )-71(time )-71(values.)-570(\(W)92(e\325ll )-71(show)]TJ --18.912 -1.2 Td -[(how )-55(to )-55(obtain )-55(the )-55(number )-55(of )-55(clock )-55(ticks )-55(per )-55(second )-55(with )-55(the)]TJ -/TT1 1 Tf -27.355 0 Td -(sysconf)Tj -/T1_1 1 Tf -4.505 0 Td -(function)Tj --31.86 -1.2 Td -(in Section 2.5.4.\))Tj --1.633 -1.92 Td -[(When )-94(we )-94(measur)]TJ -0.3443 Tc 7.911 0 Td -(et)Tj -0 Tc 1.149 0 Td -[(he )-94(execution )-94(time )-94(of )-94(a )-94(pr)17(ocess, )-94(as )-94(in )-94(Section )-94(3.9, )-94(we\325ll )-94(see )-94(that)]TJ --10.86 -1.2 Td -[(the UNIX System maintains thr)18(ee values for a pr)18(ocess:)]TJ -0.75 Tc 1.8 -1.8 Td -(\245C)Tj -0 Tc 2.065 0 Td -(lock time)Tj -0.75 Tc -2.065 -1.2 Td -(\245U)Tj -0 Tc 2.134 0 Td -(ser CPU time)Tj -0.75 Tc -2.134 -1.2 Td -(\245S)Tj -0 Tc 1.881 0 Td -(ystem CPU time)Tj --3.681 -1.8 Td -[(The )-41(clock )-41(time, )-41(sometimes )-41(called)]TJ -/T1_2 1 Tf -14.991 0 Td -[(wall )-41(clock )-41(time)]TJ -/T1_1 1 Tf -[(,)-291(is)-291(the )-41(amount )-41(of )-41(time )-41(the )-41(pr)18(ocess )-41(takes)]TJ --14.991 -1.2 Td -[(to )-3(r)8(un, )-3(and )-3(its )-3(value )-3(depends )-3(on )-3(the )-3(number )-3(of )-3(other )-3(pr)18(ocesses )-3(being )-3(r)8(un )-3(on )-3(the )-3(system.)]TJ -0 -1.2 TD -[(Whenever )-13(we )-13(r)17(eport )-13(the )-13(clock )-13(time, )-13(the )-13(measur)18(ements )-13(ar)]TJ -0.2634 Tc 25.305 0 Td -(em)Tj -0 Tc 1.625 0 Td -[(ade )-13(with )-13(no )-13(other )-13(activities)]TJ --26.93 -1.2 Td -(on the system.)Tj -1.8 -1.2 Td -[(The )-8(user )-8(CPU )-8(time )-8(is )-8(the )-8(CPU )-8(time )-8(attributed )-8(to )-8(user )-8(instr)4(uctions. )-258(The)-259(system )-8(CPU)]TJ --1.8 -1.2 Td -[(time )-55(is )-55(the )-55(CPU )-55(time )-55(attributed )-55(to )-55(the )-55(kernel )-55(when )-55(it )-55(executes )-55(on )-55(behalf )-55(of )-55(the )-55(pr)21(ocess.)]TJ -T* -[(For )-14(example, )-14(whenever )-14(a )-14(pr)18(ocess )-14(executes )-14(a )-14(system )-14(service, )-14(such )-14(as)]TJ -/TT1 1 Tf -30.231 0 Td -(read)Tj -/T1_1 1 Tf -2.664 0 Td -(or)Tj -/TT1 1 Tf -1.204 0 Td -(write)Tj -/T1_1 1 Tf -0.2635 Tc (,t)Tj -0 Tc 3.839 0 Td -(he)Tj --37.939 -1.2 Td -[(time )-96(spent )-96(within )-96(the )-96(kernel )-96(performing )-96(that )-96(system )-96(service )-96(is )-96(char)18(ged )-96(to )-96(the )-96(pr)14(ocess.)]TJ -T* -(The sum of user CPU time and system CPU time is often called the)Tj -/T1_2 1 Tf -29.773 0 Td -(CPU time)Tj -/T1_1 1 Tf -(.)Tj --27.973 -1.2 Td -[(It )-176(is )-176(easy )-176(to )-176(measur)]TJ -0.4262 Tc 9.18 0 Td -(et)Tj -0 Tc 1.231 0 Td -[(he )-176(clock )-176(time, )-176(user )-176(time, )-176(and )-176(system )-176(time )-176(of )-176(any )-176(pr)16(ocess:)]TJ --12.211 -1.2 Td -[(simply )-57(execute )-57(the)]TJ -/TT1 1 Tf -8.679 0 Td -(time)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.64 -0.04 Td -[(command, )-57(with )-57(the )-57(ar)19(gument )-57(to )-57(the)]TJ -/TT1 1 Tf -16.524 0 Td -(time)Tj -/T1_1 1 Tf -2.707 0 Td -[(command )-57(being)]TJ --31.783 -1.2 Td -[(the command we want to measur)18(e. )-250(For)-250(example:)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.5904 254.6847 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(cd /usr/include)Tj -/TT1 1 Tf --1.2 -1.189 Td -($)Tj -/TT2 1 Tf -1.2 0 Td -(time -p grep _POSIX_SOURCE */*.h > /dev/null)Tj -/TT1 1 Tf --1.2 -2.021 Td -[(real )-1800(0m0.81s)]TJ -0 -1.189 TD -[(user )-1800(0m0.11s)]TJ -T* -[(sys )-2400(0m0.07s)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5915 186.399 Tm -[(The )-80(output )-80(format )-80(fr)18(om )-80(the)]TJ -/TT1 1 Tf -12.836 0 Td -(time)Tj -/T1_1 1 Tf -2.729 0 Td -[(command )-79(depends )-79(on )-79(the )-79(shell )-79(being )-79(used, )-79(because)]TJ --15.566 -1.2 Td -[(some )-28(shells )-28(don\325t )-28(r)8(un)]TJ -/TT1 1 Tf -9.85 0 Td -(/usr/bin/time)Tj -/T1_1 1 Tf -0.2782 Tc (,b)Tj -0 Tc 8.881 0 Td -[(ut )-28(instead )-28(have )-28(a )-28(separate )-28(built-in )-28(function )-28(to)]TJ --18.732 -1.2 Td -(measur)Tj -0.25 Tc 3.266 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(he time it takes commands to r)8(un.)]TJ --2.521 -1.2 Td -[(In )-121(Section )-121(8.17, )-121(we\325ll )-121(see )-121(how )-121(to )-121(obtain )-121(these )-121(thr)18(ee )-121(times )-121(fr)18(om )-121(a )-121(r)4(unning )-121(pr)18(ocess.)]TJ --1.8 -1.2 Td -[(The general topic of times and dates is cover)18(ed in Section 6.10.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46785 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(18)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(System )-250(Overview)]TJ -39.741 0 Td -[(Chapter )-250(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Supplementar )268(y)-278(Gr)20(oup IDs)]TJ -/T1_1 1 Tf -3.6 -2.64 Td -[(In )-248(addition )-248(to )-248(the )-248(gr)18(oup )-248(ID )-248(speci\336ed )-248(in )-248(the )-248(passwor)]TJ -0.4981 Tc 25.113 0 Td -(d\336)Tj -0 Tc 1.714 0 Td -[(le )-248(for )-248(a )-248(login )-248(name, )-248(most)]TJ --26.827 -1.2 Td -[(versions )-199(of )-199(the )-199(UNIX )-199(System )-199(allow )-199(a )-199(user )-199(to )-199(belong )-199(to )-199(other )-199(gr)20(oups. )-449(This)-449(practice)]TJ -0 -1.2 TD -[(started )-184(with )-184(4.2BSD, )-184(which )-184(allowed )-184(a )-184(user )-184(to )-184(belong )-184(to )-184(up )-184(to )-184(16 )-184(additional )-184(gr)17(oups.)]TJ -T* -(These)Tj -/T1_2 1 Tf -3.324 0 Td -[(supplementary )-497(gr)18(oup )-497(IDs)]TJ -/T1_1 1 Tf -12.114 0 Td -(ar)Tj -0.7474 Tc 0.877 0 Td -(eo)Tj -0 Tc 1.772 0 Td -[(btained )-497(at )-497(login )-497(time )-497(by )-497(r)16(eading )-497(the )-497(\336le)]TJ -/TT1 1 Tf --18.088 -1.2 Td -(/etc/group)Tj -/T1_1 1 Tf -6.281 0 Td -[(and )-30(\336nding )-30(the )-30(\336rst )-30(16 )-30(entries )-30(that )-30(list )-30(the )-30(user )-30(as )-30(a )-30(member)]TJ -0.5305 Tc 26.775 0 Td -(.A)Tj -0 Tc 1.559 0 Td -[(s)-280(we)-280(s)-1(hall)]TJ --34.614 -1.2 Td -[(see )-75(in )-75(the )-75(next )-75(chapter)]TJ -0.3253 Tc 10.099 0 Td -(,P)Tj -0 Tc 1.179 0 Td -[(OSIX )-75(r)18(equir)18(es )-75(that )-75(a )-75(system )-75(support )-75(at )-75(least )-75(8 )-75(supplementary)]TJ --11.278 -1.2 Td -[(gr)18(oups per pr)18(ocess, but most systems support at least 16.)]TJ -/TT0 1 Tf -11.9993 0 0 11.9993 93.5938 532.1681 Tm -[(1.9 )-1332(Signals)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5916 505.7697 Tm -[(Signals )-73(ar)]TJ -0.3232 Tc 4.369 0 Td -(eat)Tj -0 Tc 1.951 0 Td -[(echnique )-73(used )-73(to )-73(notify )-73(a )-73(pr)17(ocess )-73(that )-73(some )-73(condition )-73(has )-73(occurr)18(ed. )-323(For)]TJ --6.321 -1.2 Td -[(example, )-56(if )-56(a )-56(pr)18(ocess )-56(divides )-56(by )-56(zer)18(o, )-56(the )-56(signal )-56(whose )-56(name )-56(is)]TJ -/TT1 1 Tf -28.673 0 Td -(SIGFPE)Tj -/T1_1 1 Tf -3.906 0 Td -(\(\337oating-point)Tj --32.579 -1.2 Td -[(exception\) )-171(is )-171(sent )-171(to )-171(the )-171(pr)19(ocess. )-421(The)-421(pr)18(ocess )-171(has )-171(thr)18(ee )-171(choices )-171(for )-171(dealing )-171(with )-171(the)]TJ -0 -1.2 Td -(signal.)Tj -1.8 -2.4 Td -[(1. )-633(Ignor)]TJ -0.4984 Tc 4.031 0 Td -(et)Tj -0 Tc 1.303 0 Td -[(he )-248(signal.)-748(This )-248(option )-248(isn\325t )-248(r)16(ecommended )-248(for )-248(signals )-248(that )-248(denote )-248(a)]TJ --3.701 -1.2 Td -[(har)18(dwar)]TJ -0.4065 Tc 3.781 0 Td -(ee)Tj -0 Tc 1.364 0 Td -[(xception, )-156(such )-156(as )-156(dividing )-156(by )-156(zer)16(o)-406(or)-406(r)17(efer)18(encing )-156(memory )-156(outside)]TJ --5.145 -1.2 Td -[(the addr)18(ess space of the pr)18(ocess, as the r)18(esults ar)]TJ -0.25 Tc 21.434 0 Td -(eu)Tj -0 Tc 1.332 0 Td -(nde\336ned.)Tj --24.399 -1.6 Td -[(2. )-633(Let)-414(the )-164(default )-164(action )-164(occur)]TJ -0.6638 Tc 14.281 0 Td -(.F)Tj -0 Tc 1.47 0 Td -[(or )-164(a )-164(divide-by-zer)]TJ -0.4138 Tc 8.248 0 Td -(oc)Tj -0 Tc 1.404 0 Td -[(ondition, )-164(the )-164(default )-164(is )-164(to)]TJ --23.769 -1.2 Td -[(terminate the pr)18(ocess.)]TJ --1.633 -1.6 Td -[(3. )-633(Pr)18(ovide )-12(a )-12(function )-12(that )-12(is )-12(called )-12(when )-12(the )-12(signal )-12(occurs )-12(\(this )-12(is )-12(called )-12(\324)34(\324catching\325)37(\325)]TJ -1.633 -1.2 Td -[(the )-140(signal\).)-641(By )-140(pr)18(oviding )-140(a )-140(function )-140(of )-140(our )-140(own, )-140(we\325ll )-140(know )-140(when )-140(the )-140(signal)]TJ -T* -(occurs and we can handle it as we wish.)Tj --1.633 -2.4 Td -[(Many )-213(conditions )-213(generate )-213(signals.)]TJ --0.09 Tc 16.445 0 Td -(Tw)Tj -0.4635 Tc 1.357 0 Td -(ot)Tj -0 Tc 1.336 0 Td -[(erminal )-213(keys, )-213(called )-213(the)]TJ -/T1_2 1 Tf -11.543 0 Td -[(interrupt )-213(key)]TJ -/T1_1 1 Tf -(\321)Tj --32.481 -1.2 Td -[(often )-148(the )-148(DELETE )-148(key )-148(or )-148(Contr)18(ol-C )167(\321 )167(and)-399(the)]TJ -/T1_2 1 Tf -21.468 0 Td -[(quit )-148(key)]TJ -/T1_1 1 Tf -[(\321often )-148(Contr)18(ol-backslash )167(\321 )167(ar)17(e)]TJ --21.468 -1.2 Td -[(used )-35(to )-35(interr)8(upt )-35(the )-35(curr)18(ently )-35(r)8(unning )-35(pr)18(ocess. )-285(Another)-285(way )-35(to )-35(generate )-35(a )-35(signal )-35(is )-35(by)]TJ -T* -[(calling )-85(the)]TJ -/TT1 1 Tf -5.012 0 Td -(kill)Tj -/T1_1 1 Tf -2.735 0 Td -[(function. )-335(W)]TJ -0.3352 Tc 5.45 0 Td -(ec)Tj -0 Tc 1.258 0 Td -[(an )-85(call )-85(this )-85(function )-85(fr)17(om )-85(a )-85(pr)18(ocess )-85(to )-85(send )-85(a )-85(signal )-85(to)]TJ --14.456 -1.2 Td -[(another )-79(pr)18(ocess. )-329(Naturally)]TJ -0.3288 Tc 12.045 0 Td -(,t)Tj -0 Tc 0.905 0 Td -(her)Tj -0.3288 Tc 1.438 0 Td -(ea)Tj --0.018 Tc 1.308 0 Td -[(re )-115(l)]TJ -0 Tc 1.476 0 Td -[(imitations: )-79(we )-79(have )-79(to )-79(be )-79(the )-79(owner )-79(of )-79(the )-79(other)]TJ --17.171 -1.2 Td -[(pr)18(ocess \(or the super)8(user\) to be able to send it a signal.)]TJ -/TT0 1 Tf --3.6 -3.12 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(Recall )-99(the )-99(bar)18(e-bones )-99(shell )-99(example )-99(\(Figur)]TJ -0.3491 Tc 19.163 0 Td -(e1)Tj -0 Tc 1.328 0 Td -[(.7\). )-349(If)-349(we )-99(invoke )-99(this )-99(pr)18(ogram )-99(and )-99(pr)17(ess)]TJ --20.492 -1.2 Td -[(the )-253(interr)8(upt )-253(key)]TJ -0.5029 Tc 7.863 0 Td -(,t)Tj -0 Tc 1.079 0 Td -[(he )-253(pr)18(ocess )-253(terminates )-253(because )-253(the )-253(default )-253(action )-253(for )-253(this )-253(signal,)]TJ --8.942 -1.2 Td -(named)Tj -/TT1 1 Tf -3.443 0 Td -(SIGINT)Tj -/T1_1 1 Tf -[(,)-388(is)-388(to)-388(terminate )-138(the )-138(pr)18(ocess. )-388(The)-388(pr)18(ocess )-138(hasn\325t )-138(told )-138(the )-138(kernel )-138(to )-138(do)]TJ --3.443 -1.2 Td -[(anything other than the default with this signal, so the pr)18(ocess terminates.)]TJ --0.092 Tc 1.8 -1.2 Td -[(To )-258(c)]TJ -0 Tc 1.835 0 Td -[(atch )-74(this )-74(signal, )-74(the )-74(pr)18(ogram )-74(needs )-74(to )-74(call )-74(the)]TJ -/TT1 1 Tf -20.892 0 Td -(signal)Tj -/T1_1 1 Tf -3.924 0 Td -[(function, )-74(specifying )-74(the)]TJ --28.451 -1.2 Td -[(name )-204(of )-204(the )-204(function )-204(to )-204(call )-204(when )-204(the)]TJ -/TT1 1 Tf -18.313 0 Td -(SIGINT)Tj -/T1_1 1 Tf -4.054 0 Td -[(signal )-204(is )-204(generated.)-705(The )-204(function )-204(is)]TJ --22.367 -1.2 Td -(named)Tj -/TT1 1 Tf -3.37 0 Td -(sig_int)Tj -/T1_1 1 Tf -0.3153 Tc (;w)Tj -0 Tc 5.599 0 Td -[(hen )-65(it\325s )-65(called, )-65(it )-65(just )-65(prints )-65(a )-65(message )-65(and )-65(a )-65(new )-65(pr)15(ompt. )-315(Adding)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46786 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(16)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(System )-250(Overview)]TJ -39.741 0 Td -[(Chapter )-250(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Note )-106(that )-106(we )-106(pass )-106(the )-106(name )-106(of )-106(the )-106(pr)16(ogram\321)]TJ -/TT0 1 Tf -(argv[0])Tj -/T1_1 1 Tf -0.3563 Tc (,w)Tj -0 Tc 26.623 0 Td -[(hose )-106(value )-106(is)]TJ -/TT0 1 Tf -6.253 0 Td -(./a.out)Tj -/T1_1 1 Tf -(\321as)Tj --32.876 -1.2 Td -[(the )-37(ar)18(gument )-37(to)]TJ -/TT0 1 Tf -7.426 0 Td -(perror)Tj -/T1_1 1 Tf -0.537 Tc (.T)Tj -0 Tc 5 0 Td -[(his )-37(is )-37(a )-37(standar)]TJ -0.2869 Tc 6.693 0 Td -(dc)Tj -0 Tc 1.342 0 Td -[(onvention )-37(in )-37(the )-37(UNIX )-37(System.)-537(By )-37(doing)]TJ --20.461 -1.2 Td -[(this, if the pr)18(ogram is executed as part of a pipeline, as in)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5914 628.2623 Tm -(prog1 < inputfile | prog2 | prog3 > outputfile)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5925 610.2634 Tm -(we ar)Tj -0.25 Tc 2.44 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(ble to tell which of the thr)18(ee pr)18(ograms generated a particular err)18(or message.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 6103.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 586.2296 Tm -[(Instead )-19(of )-19(calling )-19(either)]TJ -/TT0 1 Tf -10.719 0 Td -(strerror)Tj -/T1_1 1 Tf -5.069 0 Td -(or)Tj -/TT0 1 Tf -1.209 0 Td -(perror)Tj -/T1_1 1 Tf -3.869 0 Td -[(dir)18(ectly)]TJ -0.2685 Tc 3.264 0 Td -(,t)Tj -0 Tc 0.844 0 Td -[(he )-18(examples )-18(in )-18(this )-18(text )-18(use)]TJ --26.774 -1.2 Td -[(the )-256(err)18(or )-256(functions )-256(shown )-256(in )-256(Appendix )-256(B.)-757(These )-256(functions )-256(let )-256(us )-256(use )-256(the )-256(variable)]TJ -0 -1.2 TD -[(ar)18(gument list facility of ISO C to handle err)18(or conditions with a single C statement.)]TJ -/TT1 1 Tf --3.6 -2.64 Td -[(Err)20(or Reco)20(ver )268(y)]TJ -/T1_1 1 Tf -3.6 -1.92 Td -[(The )-8(err)18(ors )-8(de\336ned )-8(in)]TJ -/TT0 1 Tf -9.564 0 Td -()Tj -/T1_1 1 Tf -5.658 0 Td -[(can )-8(be )-8(divided )-8(into )-8(two )-8(categories: )-8(fatal )-8(and )-8(nonfatal.)]TJ -0.2511 Tc -15.222 -1.2 Td -(Af)Tj -0 Tc 1.362 0 Td -[(atal )-1(err)18(or )-1(has )-1(no )-1(r)18(ecovery )-1(action.)-501(The )-1(best )-1(we )-1(can )-1(do )-1(is )-1(print )-1(an )-1(err)17(or )-1(message )-1(on )-1(the)]TJ --1.362 -1.2 Td -[(user )176(\325s)-423(scr)18(een )-173(or )-173(to )-173(a )-173(log )-173(\336le, )-173(and )-173(then )-173(exit.)-671(Nonfatal )-173(err)18(ors, )-173(on )-173(the )-173(other )-173(hand, )-173(can)]TJ -T* -[(sometimes )-94(be )-94(dealt )-94(with )-94(mor)]TJ -0.344 Tc 13.189 0 Td -(er)Tj -0 Tc 1.2 0 Td -(obustly)Tj -0.594 Tc 3.188 0 Td -(.M)Tj -0 Tc 1.79 0 Td -[(ost )-94(nonfatal )-94(err)18(ors )-94(ar)]TJ -0.344 Tc 9.481 0 Td -(et)Tj -0 Tc 1.149 0 Td -(emporary)Tj -0.344 Tc 4.244 0 Td -(,s)Tj -0 Tc 1.018 0 Td -[(uch )-94(as )-94(a)]TJ --0.018 Tc -35.259 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ce shortage, and might not occur when ther)18(e)-250(is)-250(less activity on the system.)]TJ -0.944 -1.2 Td -[(Resour)18(ce-r)18(elated )-351(nonfatal )-351(err)18(ors )-351(include)]TJ -/TT0 1 Tf -19.397 0 Td -(EAGAIN)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.451 0 Td -(ENFILE)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.451 0 Td -(ENOBUFS)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -5.051 0 Td -(ENOLCK)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --35.15 -1.2 Td -(ENOSPC)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.303 0 Td -(EWOULDBLOCK)Tj -/T1_1 1 Tf -0.4532 Tc (,a)Tj -0 Tc 7.803 0 Td -[(nd )-203(sometimes)]TJ -/TT0 1 Tf -6.834 0 Td -(ENOMEM)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -4.553 0 Td -(EBUSY)Tj -/T1_1 1 Tf -3.453 0 Td -[(can )-203(be )-203(tr)18(eated )-203(as )-203(nonfatal)]TJ --26.947 -1.2 Td -[(when )-16(it )-16(indicates )-16(that )-16(a )-16(shar)18(ed )-16(r)16(esour)18(ce )-16(is )-16(in )-16(use.)-518(Sometimes,)]TJ -/TT0 1 Tf -27.588 0 Td -(EINTR)Tj -/T1_1 1 Tf -3.266 0 Td -[(can )-16(be )-16(tr)18(eated )-16(as )-16(a)]TJ --30.855 -1.2 Td -[(nonfatal err)18(or when it interr)8(upts a slow system call \(mor)18(e)-250(on)-250(this in Section 10.5\).)]TJ -1.8 -1.2 Td -[(The )-10(typical )-10(r)18(ecovery )-10(action )-10(for )-10(a )-10(r)16(esour)18(ce-r)18(elated )-10(nonfatal )-10(err)18(or )-10(is )-10(to )-10(delay )-10(and )-10(r)15(etry)]TJ --1.8 -1.2 Td -(later)Tj -0.6407 Tc 1.917 0 Td -(.T)Tj -0 Tc 1.504 0 Td -[(his )-141(technique )-141(can )-141(be )-141(applied )-141(in )-141(other )-141(cir)20(cumstances. )-391(For)-390(example, )-141(if )-141(an )-141(err)19(or)]TJ --3.421 -1.2 Td -[(indicates )-10(that )-10(a )-10(network )-10(connection )-10(is )-10(no )-10(longer )-10(functioning, )-10(it )-10(might )-10(be )-10(possible )-10(for )-10(the)]TJ -T* -[(application )-3(to )-3(delay )-3(a )-3(short )-3(time )-3(and )-3(then )-3(r)16(eestablish )-3(the )-3(connection.)-503(Some )-3(applications)]TJ -T* -[(use )-414(an )-414(exponential )-414(backof)]TJ -0.6636 Tc 12.686 0 Td -(fa)Tj -0 Tc 1.497 0 Td -[(lgorithm, )-414(waiting )-414(a )-414(longer )-414(period )-414(of )-414(time )-414(in )-414(each)]TJ --14.182 -1.2 Td -(subsequent iteration.)Tj -1.8 -1.2 Td -[(Ultimately)111(,)-403(it)-403(is)-403(up)-403(to)-403(the )-153(application )-153(developer )-153(to )-153(determine )-153(the )-153(cases )-153(wher)]TJ -0.4029 Tc 35.236 0 Td -(ea)Tj -0 Tc 1.382 0 Td -(n)Tj --38.418 -1.2 Td -[(application )-24(can )-24(r)18(ecover )-24(fr)18(om )-24(an )-24(err)19(or)]TJ -0.5239 Tc 16.492 0 Td -(.I)Tj -0.2739 Tc 1.111 0 Td -(far)Tj -0 Tc 1.758 0 Td -[(easonable )-24(r)18(ecovery )-24(strategy )-24(can )-24(be )-24(used, )-24(we)]TJ --19.361 -1.2 Td -[(can impr)18(ove the r)18(obustness of our application by avoiding an abnormal exit.)]TJ -/TT1 1 Tf -11.9986 0 0 11.9986 93.5883 282.6661 Tm -[(1.8 )-1332(User)-556(Identi\336cation)]TJ -9.9988 0 0 9.9988 93.5883 258.669 Tm -(User ID)Tj -/T1_1 1 Tf -3.6 -1.8 Td -(The)Tj -/T1_2 1 Tf -1.996 0 Td -[(user )-72(ID)]TJ -/T1_1 1 Tf -3.477 0 Td -[(fr)18(om )-72(our )-72(entry )-72(in )-72(the )-72(passwor)]TJ -0.3216 Tc 13.596 0 Td -(d\336)Tj -0 Tc 1.538 0 Td -[(le )-72(is )-72(a )-72(numeric )-72(value )-72(that )-72(identi\336es )-72(us )-72(to)]TJ --20.606 -1.2 Td -[(the )-45(system.)-545(This )-45(user )-45(ID )-45(is )-45(assigned )-45(by )-45(the )-45(system )-45(administrator )-45(when )-45(our )-45(login )-45(name)]TJ -T* -[(is )-20(assigned, )-20(and )-20(we )-20(cannot )-20(change )-20(it.)-518(The )-20(user )-20(ID )-20(is )-20(normally )-20(assigned )-20(to )-20(be )-20(unique )-20(for)]TJ -T* -[(every )-139(user)]TJ -0.6393 Tc 4.69 0 Td -(.W)Tj -0 Tc 1.797 0 Td -[(e\325ll )-139(see )-139(how )-139(the )-139(kernel )-139(uses )-139(the )-139(user )-139(ID )-139(to )-139(check )-139(whether )-139(we )-139(have )-139(the)]TJ --6.488 -1.2 Td -[(appr)18(opriate permissions to perform certain operations.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-329(c)]TJ -0 Tc 2.226 0 Td -[(all )-145(the )-145(user )-145(whose )-145(user )-145(ID )-145(is )-145(0 )-145(either)]TJ -/T1_2 1 Tf --0.018 Tc 17.57 0 Td -(ro)Tj -0 Tc 0.815 0 Td -(ot)Tj -/T1_1 1 Tf -1.172 0 Td -[(or )-145(the)]TJ -/T1_2 1 Tf -3.118 0 Td -(superuser)Tj -/T1_1 1 Tf -0.6451 Tc (.T)Tj -0 Tc 5.454 0 Td -[(he )-145(entry )-145(in )-145(the)]TJ --32.156 -1.2 Td -(passwor)Tj -0.2859 Tc 3.706 0 Td -(d\336)Tj -0 Tc 1.502 0 Td -[(le )-36(normally )-36(has )-36(a )-36(login )-36(name )-36(of)]TJ -/TT0 1 Tf -14.41 0 Td -(root)Tj -/T1_1 1 Tf -0.2859 Tc (,a)Tj -0 Tc 3.436 0 Td -[(nd )-36(we )-36(r)18(efer )-36(to )-36(the )-36(special )-36(privileges)]TJ --23.054 -1.2 Td -[(of )-7(this )-7(user )-7(as )-7(super)7(user )-7(privileges.)-507(As )-7(we\325ll )-7(see )-7(in )-7(Chapter )-7(4, )-7(if )-7(a )-7(pr)18(ocess )-7(has )-7(super)7(user)]TJ -T* -[(privileges, )-54(most )-54(\336le )-54(permission )-54(checks )-54(ar)]TJ -0.3043 Tc 18.419 0 Td -(eb)Tj -0 Tc 1.336 0 Td -[(ypassed. )-304(Some)-305(operating )-54(system )-54(functions)]TJ --19.756 -1.2 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(er)Tj -0 Tc 1.106 0 Td -[(estricted to the super)8(user)]TJ -0.5 Tc 11.105 0 Td -(.T)Tj -0 Tc 1.363 0 Td -[(he super)8(user has fr)18(ee r)18(ein over the system.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46787 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(14)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(System )-250(Overview)]TJ -39.741 0 Td -[(Chapter )-250(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Threads and Thread IDs)Tj -/T1_1 1 Tf -3.6 -2.04 Td -(Usually)Tj -0.4834 Tc 3.332 0 Td -(,ap)Tj --0.018 Tc 2.318 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-233(has )-233(only )-233(one )-233(thr)18(ead )-233(of )-233(contr)16(ol )167(\321 )167(one)-484(set )-233(of )-233(machine )-233(instr)7(uctions)]TJ --6.573 -1.2 Td -[(executing )-91(at )-91(a )-91(time.)-591(Some )-91(pr)18(oblems )-91(ar)]TJ -0.3412 Tc 17.592 0 Td -(ee)Tj -0 Tc 1.299 0 Td -[(asier )-91(to )-91(solve )-91(when )-91(mor)]TJ -0.3412 Tc 10.914 0 Td -(et)Tj -0 Tc 1.146 0 Td -[(han )-91(one )-91(thr)18(ead )-91(of)]TJ --30.951 -1.2 Td -[(contr)18(ol )-51(can )-51(operate )-51(on )-51(dif)16(fer)18(ent )-51(parts )-51(of )-51(the )-51(pr)16(oblem. )-301(Additionally)]TJ -0.3014 Tc 29.903 0 Td -(,m)Tj -0 Tc 1.434 0 Td -[(ultiple )-51(thr)18(eads )-51(of)]TJ --31.337 -1.2 Td -[(contr)18(ol can exploit the parallelism possible on multipr)18(ocessor systems.)]TJ -1.8 -1.2 Td -[(All )-100(thr)18(eads )-100(within )-100(a )-100(pr)20(ocess )-100(shar)]TJ -0.3497 Tc 14.991 0 Td -(et)Tj -0 Tc 1.155 0 Td -[(he )-100(same )-100(addr)18(ess )-100(space, )-100(\336le )-100(descriptors, )-100(stacks,)]TJ --17.946 -1.2 Td -[(and )-193(pr)18(ocess-r)18(elated )-193(attributes.)-693(Each )-193(thr)18(ead )-193(executes )-193(on )-193(its )-193(own )-193(stack, )-193(although )-193(any)]TJ -0 -1.2 TD -[(thr)18(ead )-176(can )-176(access )-176(the )-176(stacks )-176(of )-176(other )-176(thr)18(eads )-176(in )-176(the )-176(same )-176(pr)16(ocess. )-426(Because)-426(they )-176(can)]TJ --0 -1.2 Td -[(access )-65(the )-65(same )-65(memory)]TJ -0.315 Tc 10.964 0 Td -(,t)Tj -0 Tc 0.891 0 Td -[(he )-65(thr)18(eads )-65(need )-65(to )-65(synchr)18(onize )-65(access )-65(to )-65(shar)18(ed )-65(data )-65(among)]TJ --11.855 -1.2 Td -(themselves to avoid inconsistencies.)Tj -1.8 -1.2 Td -[(Like )-130(pr)18(ocesses, )-130(thr)18(eads )-130(ar)]TJ -0.3798 Tc 11.7 0 Td -(ei)Tj -0 Tc 1.15 0 Td -[(denti\336ed )-130(by )-130(IDs.)-629(Thr)18(ead )-130(IDs, )-130(however)]TJ -0.3799 Tc 17.78 0 Td -(,a)Tj --0.018 Tc 1.13 0 Td -[(re )-166(l)]TJ -0 Tc 1.527 0 Td -[(ocal )-130(to )-130(a)]TJ --35.087 -1.2 Td -[(pr)18(ocess. )-423(A)-423(thr)18(ead )-173(ID )-173(fr)18(om )-173(one )-173(pr)18(ocess )-173(has )-173(no )-173(meaning )-173(in )-173(another )-173(pr)18(ocess. )-423(W)]TJ -0.423 Tc 36.592 0 Td -(eu)Tj -0 Tc 1.505 0 Td -(se)Tj --38.097 -1.2 Td -[(thr)18(ead IDs to r)18(efer to speci\336c thr)18(eads as we manipulate the thr)18(eads within a pr)18(ocess.)]TJ -1.8 -1.2 Td -[(Functions )-302(to )-302(contr)18(ol )-302(thr)18(eads )-302(parallel )-302(those )-302(used )-302(to )-302(contr)18(ol )-302(pr)19(ocesses. )-552(Because)]TJ --1.8 -1.2 Td -[(thr)18(eads )-72(wer)]TJ -0.3221 Tc 5.311 0 Td -(ea)Tj -0 Tc 1.301 0 Td -[(dded )-72(to )-72(the )-72(UNIX )-72(System )-72(long )-72(after )-72(the )-72(pr)17(ocess )-72(model )-72(was )-72(established,)]TJ --6.612 -1.2 Td -(however)Tj -0.307 Tc 3.806 0 Td -(,t)Tj -0 Tc 0.883 0 Td -[(he )-57(thr)18(ead )-57(model )-57(and )-57(the )-57(pr)18(ocess )-57(model )-57(have )-57(some )-57(complicated )-57(interactions,)]TJ --4.689 -1.2 Td -(as we shall see in Chapter 12.)Tj -/TT0 1 Tf -11.9993 0 0 11.9993 93.5957 434.9739 Tm -[(1.7 )-1332(Err)20(or )-278(Handling)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5935 413.3752 Tm -[(When )-123(an )-123(err)18(or )-123(occurs )-123(in )-123(one )-123(of )-123(the )-123(UNIX )-123(System )-123(functions, )-123(a )-123(negative )-123(value )-123(is )-123(often)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(turned, )-102(and )-102(the )-102(integer)]TJ -/TT1 1 Tf -10.844 0 Td -(errno)Tj -/T1_1 1 Tf -3.352 0 Td -[(is )-102(usually )-102(set )-102(to )-102(a )-102(value )-102(that )-102(tells )-102(why)]TJ -0.6024 Tc 17.247 0 Td -(.F)Tj -0 Tc 1.408 0 Td -[(or )-102(example,)]TJ --33.708 -1.2 Td -(the)Tj -/TT1 1 Tf -1.758 0 Td -(open)Tj -/T1_1 1 Tf -2.771 0 Td -[(function )-121(r)18(eturns )-121(either )-121(a )-121(non-negative )-121(\336le )-121(descriptor )-121(if )-121(all )-121(is )-121(OK )-121(or)]TJ -/TT2 1 Tf -30.975 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-371(if)-371(a)1(n)]TJ --35.504 -1.2 Td -[(err)18(or )-197(occurs.)-697(An )-197(err)18(or )-197(fr)19(om)]TJ -/TT1 1 Tf -13.473 0 Td -(open)Tj -/T1_1 1 Tf -2.847 0 Td -[(has )-197(about )-197(15 )-197(possible)]TJ -/TT1 1 Tf -10.43 0 Td -(errno)Tj -/T1_1 1 Tf -3.447 0 Td -[(values, )-197(such )-197(as )-197(\336le)]TJ --30.196 -1.2 Td -[(doesn\325t )-120(exist, )-120(permission )-120(pr)18(oblem, )-120(and )-120(so )-120(on.)-620(Some )-120(functions )-120(use )-120(a )-120(convention )-120(other)]TJ -T* -[(than )-9(r)18(eturning )-9(a )-9(negative )-9(value.)-509(For )-9(example, )-9(most )-9(functions )-9(that )-9(r)18(eturn )-9(a )-9(pointer )-9(to )-9(an)]TJ -T* -[(object r)18(eturn a null pointer to indicate an err)18(or)74(.)]TJ -1.8 -1.2 Td -[(The )-136(\336le)]TJ -/TT1 1 Tf -3.821 0 Td -()Tj -/T1_1 1 Tf -5.786 0 Td -[(de\336nes )-136(the )-136(symbol)]TJ -/TT1 1 Tf -8.978 0 Td -(errno)Tj -/T1_1 1 Tf -3.386 0 Td -[(and )-136(constants )-136(for )-136(each )-136(value )-136(that)]TJ -/TT1 1 Tf --23.772 -1.2 Td -(errno)Tj -/T1_1 1 Tf -3.308 0 Td -[(can )-57(assume.)-557(Each )-57(of )-57(these )-57(constants )-57(begins )-57(with )-57(the )-57(character)]TJ -/TT1 1 Tf -28.244 0 Td -(E)Tj -/T1_1 1 Tf -0.5575 Tc (.A)Tj -0 Tc 2.186 0 Td -[(lso, )-57(the )-57(\336rst)]TJ --33.737 -1.2 Td -[(page )-66(of )-66(Section )-66(2 )-66(of )-66(the )-66(UNIX )-66(system )-66(manuals, )-66(named)]TJ -/TT1 1 Tf -24.925 0 Td -(intro)Tj -/T1_1 1 Tf -[(\(2\), )-66(usually )-66(lists )-66(all )-66(these)]TJ --24.925 -1.2 Td -[(err)18(or )-34(constants.)-534(For )-34(example, )-34(if)]TJ -/TT1 1 Tf -14.386 0 Td -(errno)Tj -/T1_1 1 Tf -3.284 0 Td -[(is )-34(equal )-34(to )-34(the )-34(constant)]TJ -/TT1 1 Tf -10.557 0 Td -(EACCES)Tj -/T1_1 1 Tf -0.284 Tc (,t)Tj -0 Tc 4.46 0 Td -[(his )-34(indicates )-34(a)]TJ --32.687 -1.2 Td -[(permission pr)18(oblem, such as insuf)18(\336cient permission to open the r)18(equested \336le.)]TJ -7.9995 0 0 7.9995 183.5905 261.3843 Tm -[(On Linux, the err)18(or constants ar)]TJ -0.25 Tc 14.081 0 Td -(el)Tj -0 Tc 1.02 0 Td -(isted in the)Tj -/TT1 1 Tf -5.141 0 Td -(errno)Tj -/T1_1 1 Tf -(\(3\) manual page.)Tj -9.9994 0 0 9.9994 147.5929 241.3855 Tm -[(POSIX )-69(and )-69(ISO )-69(C )-69(de\336ne)]TJ -/TT1 1 Tf -11.321 0 Td -(errno)Tj -/T1_1 1 Tf -3.319 0 Td -[(as )-69(a )-69(symbol )-69(expanding )-69(into )-69(a )-69(modi\336able )-69(lvalue )-69(of)]TJ --16.44 -1.2 Td -[(type )-59(integer)]TJ -0.5595 Tc 5.306 0 Td -(.T)Tj -0 Tc 1.423 0 Td -[(his )-59(can )-59(be )-59(either )-59(an )-59(integer )-59(that )-59(contains )-59(the )-59(err)14(or )-60(number )-60(or )-60(a )-60(function)]TJ --6.728 -1.2 Td -[(that r)18(eturns a pointer to the err)18(or number)]TJ -0.5 Tc 18.262 0 Td -(.T)Tj -0 Tc 1.363 0 Td -(he historical de\336nition is)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5933 200.688 Tm -(extern int errno;)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5944 182.689 Tm -[(But )-4(in )-4(an )-4(envir)18(onment )-4(that )-4(supports )-4(thr)18(eads, )-4(the )-4(pr)18(ocess )-4(addr)20(ess )-4(space )-4(is )-4(shar)18(ed )-4(among)]TJ -T* -[(multiple )-146(thr)18(eads, )-146(and )-146(each )-146(thr)17(ead )-146(needs )-146(its )-146(own )-146(local )-146(copy )-146(of)]TJ -/TT1 1 Tf -28.923 0 Td -(errno)Tj -/T1_1 1 Tf -3.396 0 Td -[(to )-146(pr)18(event )-146(one)]TJ --32.319 -1.2 Td -[(thr)18(ead )-306(fr)18(om )-306(interfering )-306(with )-306(another)]TJ -0.8059 Tc 17.316 0 Td -(.L)Tj -0 Tc 1.667 0 Td -[(inux, )-306(for )-306(example, )-306(supports )-306(multithr)18(eaded)]TJ --18.983 -1.2 Td -(access to)Tj -/TT1 1 Tf -4.087 0 Td -(errno)Tj -/T1_1 1 Tf -3.25 0 Td -(by de\336ning it as)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46788 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(10)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(System )-250(Overview)]TJ -39.741 0 Td -[(Chapter )-250(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Standar)Tj -0.278 Tc 3.703 0 Td -(dI)Tj -0 Tc 1.167 0 Td -(/O)Tj -/T1_1 1 Tf --1.27 -1.92 Td -[(The )-392(standar)]TJ -0.6421 Tc 5.636 0 Td -(dI)Tj -0 Tc 1.59 0 Td -[(/O )-392(functions )-392(pr)18(ovide )-392(a )-392(buf)18(fer)18(ed )-392(interface )-392(to )-392(the )-392(unbuf)18(fer)18(ed )-392(I/O)]TJ --7.226 -1.2 Td -[(functions. )-339(Using)-340(standar)]TJ -0.3395 Tc 11.261 0 Td -(dI)Tj -0 Tc 1.288 0 Td -[(/O )-89(r)18(elieves )-89(us )-89(fr)18(om )-89(having )-89(to )-89(choose )-89(optimal )-89(buf)18(fer )-89(sizes,)]TJ --12.549 -1.2 Td -[(such )-36(as )-36(the)]TJ -/TT1 1 Tf -5.224 0 Td -(BUFFSIZE)Tj -/T1_1 1 Tf -5.086 0 Td -[(constant )-36(in )-36(Figur)]TJ -0.2865 Tc 7.559 0 Td -(e1)Tj -0 Tc 1.266 0 Td -[(.4. )-286(The)-287(standar)]TJ -0.2866 Tc 6.817 0 Td -(dI)Tj -0 Tc 1.235 0 Td -[(/O )-37(functions )-37(also )-37(simplify)]TJ --27.186 -1.2 Td -[(dealing )-117(with )-117(lines )-117(of )-117(input )-117(\(a )-117(common )-117(occurr)15(ence )-117(in )-117(UNIX )-117(applications\).)-618(The)]TJ -/TT1 1 Tf -36 0 Td -(fgets)Tj -/T1_1 1 Tf --36 -1.2 Td -[(function, )-214(for )-214(example, )-214(r)18(eads )-214(an )-214(entir)]TJ -0.464 Tc 17.078 0 Td -(el)Tj -0 Tc 1.234 0 Td -[(ine. )-464(The)]TJ -/TT1 1 Tf -4.454 0 Td -(read)Tj -/T1_1 1 Tf -2.864 0 Td -[(function, )-214(in )-214(contrast, )-214(r)18(eads )-214(a)]TJ --25.63 -1.2 Td -[(speci\336ed )-198(number )-198(of )-198(bytes.)-699(As )-198(we )-198(shall )-198(see )-198(in )-198(Section )-198(5.4, )-198(the )-198(standar)]TJ -0.4482 Tc 32.783 0 Td -(dI)Tj -0 Tc 1.396 0 Td -[(/O )-198(library)]TJ --34.179 -1.2 Td -[(pr)18(ovides functions that let us contr)18(ol the style of buf)18(fering used by the library)111(.)]TJ -1.8 -1.2 Td -[(The )-370(most )-370(common )-370(standar)]TJ -0.62 Tc 12.917 0 Td -(dI)Tj -0 Tc 1.568 0 Td -[(/O )-370(function )-370(is)]TJ -/TT1 1 Tf -7.674 0 Td -(printf)Tj -/T1_1 1 Tf -0.87 Tc (.I)Tj -0.62 Tc 5.057 0 Td -(np)Tj --0.018 Tc 1.803 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(grams )-370(that )-370(call)]TJ -/TT1 1 Tf --31.742 -1.2 Td -(printf)Tj -/T1_1 1 Tf -0.4109 Tc (,w)Tj -0 Tc 5.095 0 Td -[(e\325ll )-161(always )-161(include)]TJ -/TT1 1 Tf -8.978 0 Td -()Tj -/T1_1 1 Tf -0.0833 Tc 5.483 0 Td -(\321n)Tj -0 Tc 1.665 0 Td -[(ormally )-161(by )-161(including)]TJ -/TT1 1 Tf -10.054 0 Td -(apue.h)Tj -/T1_1 1 Tf -0.0833 Tc 3.683 0 Td -(\321a)Tj -0.4108 Tc 1.583 0 Td -(st)Tj -0 Tc 1.161 0 Td -(his)Tj --37.703 -1.2 Td -[(header contains the function pr)18(ototypes for all the standar)]TJ -0.25 Tc 25.68 0 Td -(dI)Tj -0 Tc 1.198 0 Td -(/O functions.)Tj -/TT0 1 Tf --30.478 -2.4 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.04 Td -[(The )-41(pr)18(ogram )-41(in )-41(Figur)]TJ -0.291 Tc 9.661 0 Td -(e1)Tj -0 Tc 1.27 0 Td -[(.5, )-41(which )-41(we\325ll )-41(examine )-41(in )-41(mor)]TJ -0.291 Tc 13.77 0 Td -(ed)Tj -0 Tc 1.381 0 Td -[(etail )-41(in )-41(Section )-41(5.8, )-41(is )-41(like )-41(the)]TJ --26.082 -1.2 Td -[(pr)18(evious )-46(pr)18(ogram )-46(that )-46(called)]TJ -/TT1 1 Tf -13.279 0 Td -(read)Tj -/T1_1 1 Tf -2.696 0 Td -(and)Tj -/TT1 1 Tf -1.989 0 Td -(write)Tj -/T1_1 1 Tf -0.5462 Tc (.T)Tj -0 Tc 4.409 0 Td -[(his )-46(pr)18(ogram )-46(copies )-46(standar)]TJ -0.2961 Tc 12.148 0 Td -(di)Tj -0 Tc 1.198 0 Td -[(nput )-46(to)]TJ --35.72 -1.2 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(do)Tj -0 Tc 1.407 0 Td -[(utput and can copy any r)18(egular \336le.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4662.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 456.6442 Tm -(#include "apue.h")Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-2400(c;)]TJ -0 -1.783 TD -(while \(\(c = getc\(stdin\)\) != EOF\))Tj -2.4 -1.189 Td -(if \(putc\(c, stdout\) == EOF\))Tj -2.4 -1.189 Td -(err_sys\("output error"\);)Tj --4.8 -1.783 Td -(if \(ferror\(stdin\)\))Tj -2.4 -1.189 Td -(err_sys\("input error"\);)Tj --2.4 -1.783 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3128.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 196.1047 296.7446 Tm -(Figure 1.5)Tj -/T1_1 1 Tf -5.195 0 Td -(Copy standar)Tj -0.25 Tc 5.982 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput to standar)Tj -0.25 Tc 6.804 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput, using standar)Tj -0.25 Tc 8.985 0 Td -(dI)Tj -0 Tc 1.198 0 Td -(/O)Tj -9.9982 0 0 9.9982 129.5768 272.7489 Tm -[(The )-51(function)]TJ -/TT1 1 Tf -5.983 0 Td -(getc)Tj -/T1_1 1 Tf --0.018 Tc 2.701 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ads )-51(one )-51(character )-51(at )-51(a )-51(time, )-51(and )-51(this )-51(character )-51(is )-51(written )-51(by)]TJ -/TT1 1 Tf -26.811 0 Td -(putc)Tj -/T1_1 1 Tf -(.)Tj --36.35 -1.2 Td -[(After )-128(the )-128(last )-128(byte )-128(of )-128(input )-128(has )-128(been )-128(r)16(ead,)]TJ -/TT1 1 Tf -19.655 0 Td -(getc)Tj -/T1_1 1 Tf --0.018 Tc 2.778 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-128(the )-128(constant)]TJ -/TT1 1 Tf -8.582 0 Td -(EOF)Tj -/T1_1 1 Tf -2.178 0 Td -[(\(de\336ned )-128(in)]TJ -/TT1 1 Tf --34.049 -1.2 Td -()Tj -/T1_1 1 Tf -[(\). )-353(The)-354(standar)]TJ -0.3535 Tc 11.934 0 Td -(dI)Tj -0 Tc 1.301 0 Td -[(/O )-103(constants)]TJ -/TT1 1 Tf -6.253 0 Td -(stdin)Tj -/T1_1 1 Tf -3.354 0 Td -(and)Tj -/TT1 1 Tf -2.046 0 Td -(stdout)Tj -/T1_1 1 Tf -3.954 0 Td -(ar)Tj -0.3535 Tc 0.877 0 Td -(ea)Tj -0 Tc 1.332 0 Td -[(lso )-103(de\336ned )-103(in )-103(the)]TJ -/TT1 1 Tf --31.051 -1.2 Td -()Tj -/T1_1 1 Tf -5.65 0 Td -[(header and r)18(efer to the standar)]TJ -0.25 Tc 13.631 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput and standar)Tj -0.25 Tc 7.625 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2368.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9971 0 0 11.9971 93.5775 203.1492 Tm -[(1.6 )-1332(Pr)20(ograms )-278(and )-278(Pr)20(ocesses)]TJ -9.9976 0 0 9.9976 93.5774 176.7556 Tm -[(Pr)20(ogram)]TJ -/T1_1 1 Tf -3.6 -1.92 Td -(A)Tj -/T1_2 1 Tf -1.121 0 Td -[(pr)18(ogram)]TJ -/T1_1 1 Tf -3.769 0 Td -[(is )-93(an )-93(executable )-93(\336le )-93(r)18(esiding )-93(on )-93(disk )-93(in )-93(a )-93(dir)21(ectory)]TJ -0.5927 Tc 22.834 0 Td -(.A)Tj -0 Tc 1.963 0 Td -[(pr)18(ogram )-93(is )-93(r)18(ead )-93(into)]TJ --29.687 -1.2 Td -[(memory )-103(and )-103(is )-103(executed )-103(by )-103(the )-103(kernel )-103(as )-103(a )-103(r)17(esult )-103(of )-103(one )-103(of )-103(the )-103(seven)]TJ -/TT1 1 Tf -31.866 0 Td -(exec)Tj -/T1_1 1 Tf -2.753 0 Td -(functions.)Tj --0.092 Tc -34.619 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -(\325ll cover these functions in Section 8.10.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46789 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(8)Tj -/T1_1 1 Tf -2.5 0 Td -[(UNIX )-250(System )-250(Overview)]TJ -40.241 0 Td -[(Chapter )-250(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf --0.06 Tc 9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Wo)Tj -0 Tc 1.495 0 Td -[(rking Director)-10(y)]TJ -/T1_1 1 Tf -2.105 -1.92 Td -[(Every )-201(pr)18(ocess )-201(has )-201(a)]TJ -/T1_2 1 Tf -9.713 0 Td -[(working )-201(dir)18(ectory)]TJ -/T1_1 1 Tf -0.4515 Tc (,s)Tj -0 Tc 8.521 0 Td -[(ometimes )-201(called )-201(the)]TJ -/T1_2 1 Tf -9.669 0 Td -[(curr)18(ent )-201(working )-201(dir)17(ectory)]TJ -/T1_1 1 Tf -(.)Tj --27.902 -1.2 Td -[(This )-90(is )-90(the )-90(dir)18(ectory )-90(fr)17(om )-90(which )-90(all )-90(r)18(elative )-90(pathnames )-90(ar)]TJ -0.3402 Tc 26.115 0 Td -(ei)Tj -0 Tc 1.11 0 Td -[(nterpr)18(eted. )-340(A)-340(pr)18(ocess )-90(can)]TJ --27.225 -1.2 Td -[(change its working dir)18(ectory with the)]TJ -/TT1 1 Tf -16.889 0 Td -(chdir)Tj -/T1_1 1 Tf -3.25 0 Td -(function.)Tj --18.339 -1.2 Td -[(For )-138(example, )-138(the )-138(r)18(elative )-138(pathname)]TJ -/TT1 1 Tf -16.584 0 Td -(doc/memo/joe)Tj -/T1_1 1 Tf --0.018 Tc 7.588 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fers )-138(to )-138(the )-138(\336le )-138(or )-138(dir)18(ectory)]TJ -/TT1 1 Tf --26.829 -1.2 Td -(joe)Tj -/T1_1 1 Tf -[(,)-324(in)-324(the )-74(dir)18(ectory)]TJ -/TT1 1 Tf -9.631 0 Td -(memo)Tj -/T1_1 1 Tf -[(,)-324(in)-324(the )-74(dir)18(ectory)]TJ -/TT1 1 Tf -10.231 0 Td -(doc)Tj -/T1_1 1 Tf -0.3241 Tc (,w)Tj -0 Tc 3.208 0 Td -[(hich )-74(must )-74(be )-74(a )-74(dir)18(ectory )-74(within )-74(the)]TJ --23.071 -1.2 Td -[(working )-157(dir)18(ectory)]TJ -0.657 Tc 8.081 0 Td -(.F)Tj --0.018 Tc 1.463 0 Td -(ro)Tj -0.407 Tc 0.923 0 Td -(ml)Tj -0 Tc 1.581 0 Td -[(ooking )-157(just )-157(at )-157(this )-157(pathname, )-157(we )-157(know )-157(that )-157(both)]TJ -/TT1 1 Tf -23.052 0 Td -(doc)Tj -/T1_1 1 Tf -2.207 0 Td -(and)Tj -/TT1 1 Tf --37.307 -1.2 Td -(memo)Tj -/T1_1 1 Tf -2.738 0 Td -[(have )-88(to )-88(be )-88(dir)18(ectories, )-88(but )-88(we )-88(can\325t )-88(tell )-88(whether)]TJ -/TT1 1 Tf -21.976 0 Td -(joe)Tj -/T1_1 1 Tf -2.138 0 Td -[(is )-88(a )-88(\336le )-88(or )-88(a )-88(dir)18(ectory)]TJ -0.5881 Tc 9.636 0 Td -(.T)Tj -0 Tc 1.451 0 Td -(he)Tj --37.939 -1.2 Td -(pathname)Tj -/TT1 1 Tf -4.782 0 Td -(/usr/lib/lint)Tj -/T1_1 1 Tf -8.129 0 Td -[(is )-79(an )-79(absolute )-79(pathname )-79(that )-79(r)18(efers )-79(to )-79(the )-79(\336le )-79(or )-79(dir)13(ectory)]TJ -/TT1 1 Tf --12.912 -1.2 Td -(lint)Tj -/T1_1 1 Tf -2.65 0 Td -[(in the dir)18(ectory)]TJ -/TT1 1 Tf -7.035 0 Td -(lib)Tj -/T1_1 1 Tf -[(,)-250(in)-250(the dir)18(ectory)]TJ -/TT1 1 Tf -9.335 0 Td -(usr)Tj -/T1_1 1 Tf -0.25 Tc (,w)Tj -0 Tc 3.134 0 Td -[(hich is in the r)18(oot dir)18(ectory)111(.)]TJ -/TT0 1 Tf --25.754 -2.28 Td -[(Home Director)-10(y)]TJ -/T1_1 1 Tf -3.6 -1.92 Td -[(When )-48(we )-48(log )-48(in, )-48(the )-48(working )-48(dir)16(ectory )-48(is )-48(set )-48(to )-48(our)]TJ -/T1_2 1 Tf -23.286 0 Td -[(home )-48(dir)18(ectory)]TJ -/T1_1 1 Tf -0.5483 Tc (.O)Tj -0 Tc 7.605 0 Td -[(ur )-48(home )-48(dir)17(ectory)]TJ --30.891 -1.2 Td -[(is obtained fr)18(om our entry in the passwor)]TJ -0.25 Tc 18.34 0 Td -(d\336)Tj -0 Tc 1.466 0 Td -(le \(Section 1.3\).)Tj -/TT0 1 Tf -11.9993 0 0 11.9993 93.5942 468.5719 Tm -[(1.5 )-1332(Input)-556(and )-278(Output)]TJ -9.9994 0 0 9.9994 93.5942 442.1735 Tm -[(File Descriptor)15(s)]TJ -/T1_1 1 Tf -3.6 -1.92 Td -[(File )-11(descriptors )-11(ar)]TJ -0.2609 Tc 7.952 0 Td -(en)Tj -0 Tc 1.322 0 Td -[(ormally )-11(small )-11(non-negative )-11(integers )-11(that )-11(the )-11(kernel )-11(uses )-11(to )-11(identify)]TJ --9.274 -1.2 Td -[(the )-55(\336les )-55(accessed )-55(by )-55(a )-55(pr)17(ocess. )-305(Whenever)-305(it )-55(opens )-55(an )-55(existing )-55(\336le )-55(or )-55(cr)17(eates )-55(a )-55(new )-55(\336le,)]TJ -0 -1.2 TD -[(the kernel r)18(eturns a \336le descriptor that we use when we want to r)18(ead or write the \336le.)]TJ -/TT0 1 Tf --3.6 -2.28 Td -(Standar)Tj -0.278 Tc 3.703 0 Td -(dI)Tj -0 Tc 1.167 0 Td -(nput, Standar)Tj -0.278 Tc 6.425 0 Td -(dO)Tj -0 Tc 1.667 0 Td -(utput, and Standar)Tj -0.278 Tc 8.814 0 Td -(dE)Tj -0 Tc 1.556 0 Td -[(rr)20(or)]TJ -/T1_1 1 Tf --19.732 -1.92 Td -[(By )-291(convention, )-291(all )-291(shells )-291(open )-291(thr)17(ee )-291(descriptors )-291(whenever )-291(a )-291(new )-291(pr)18(ogram )-291(is )-291(r)6(un:)]TJ -T* -(standar)Tj -0.3726 Tc 3.32 0 Td -(di)Tj -0 Tc 1.275 0 Td -[(nput, )-123(standar)]TJ -0.3726 Tc 6.055 0 Td -(do)Tj -0 Tc 1.53 0 Td -[(utput, )-123(and )-123(standar)]TJ -0.3725 Tc 8.467 0 Td -(de)Tj -0 Tc 1.462 0 Td -[(rr)18(or)]TJ -0.6225 Tc 1.639 0 Td -(.I)Tj -0.3725 Tc 1.209 0 Td -(fn)Tj -0 Tc 1.288 0 Td -[(othing )-122(special )-122(is )-122(done, )-122(as )-122(in)]TJ --26.244 -1.2 Td -(the simple command)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5907 317.3509 Tm -(ls)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5918 300.4218 Tm -[(then )-74(all )-74(thr)18(ee )-74(ar)]TJ -0.3242 Tc 7.144 0 Td -(ec)Tj -0 Tc 1.247 0 Td -[(onnected )-74(to )-74(the )-74(terminal.)-574(Most )-74(shells )-74(pr)18(ovide )-74(a )-74(way )-74(to )-74(r)15(edir)18(ect )-74(any)]TJ --8.391 -1.2 Td -[(or all of these thr)18(ee descriptors to any \336le.)-500(For example,)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.591 272.7937 Tm -(ls > file.list)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5921 255.8646 Tm -[(executes )-337(the)]TJ -/TT1 1 Tf -6.311 0 Td -(ls)Tj -/T1_1 1 Tf -1.787 0 Td -[(command )-337(with )-337(its )-337(standar)]TJ -0.5867 Tc 12.603 0 Td -(do)Tj -0 Tc 1.744 0 Td -[(utput )-337(r)18(edir)18(ected )-337(to )-337(the )-337(\336le )-337(named)]TJ -/TT1 1 Tf --22.444 -1.2 Td -(file.list)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf --3.6 -2.28 Td -[(Unb)20(uff)10(ered I/O)]TJ -/T1_1 1 Tf -3.6 -1.92 Td -[(Unbuf)18(fer)18(ed )-83(I/O )-83(is )-83(pr)18(ovided )-83(by )-83(the )-83(functions)]TJ -/TT1 1 Tf -20.592 0 Td -(open)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -2.983 0 Td -(read)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -2.983 0 Td -(write)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -3.583 0 Td -(lseek)Tj -/T1_1 1 Tf -0.333 Tc (,a)Tj -0 Tc 4.083 0 Td -(nd)Tj -/TT1 1 Tf -1.526 0 Td -(close)Tj -/T1_1 1 Tf -(.)Tj --35.75 -1.2 Td -(These functions all work with \336le descriptors.)Tj -/TT0 1 Tf --3.6 -2.16 Td -(Example)Tj -/T1_1 1 Tf -3.6 -1.92 Td -[(If )-58(we\325r)]TJ -0.3078 Tc 2.946 0 Td -(ew)Tj -0 Tc 1.621 0 Td -[(illing )-58(to )-58(r)18(ead )-58(fr)19(om )-58(the )-58(standar)]TJ -0.3077 Tc 13.526 0 Td -(di)Tj -0 Tc 1.21 0 Td -[(nput )-58(and )-58(write )-58(to )-58(the )-58(standar)]TJ -0.3077 Tc 13.248 0 Td -(do)Tj -0 Tc 1.465 0 Td -[(utput, )-58(then)]TJ --34.014 -1.2 Td -[(the pr)18(ogram in Figur)]TJ -0.25 Tc 9.251 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(.4 copies any r)18(egular \336le on a UNIX system.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46790 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(4)Tj -/T1_1 1 Tf -2.5 0 Td -[(UNIX )-250(System )-250(Overview)]TJ -40.241 0 Td -[(Chapter )-250(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(The )-224(default )-224(shell )-224(used )-224(by )-224(dif)18(fer)18(ent )-224(Linux )-224(distributions )-224(varies.)-724(Some )-224(distributions )-224(use )-224(the)]TJ -0 -1.25 Td -[(Bourne-again )-19(shell.)-519(Others )-19(use )-19(the )-19(BSD )-19(r)18(eplacement )-19(for )-19(the )-19(Bourne )-19(shell, )-19(called)]TJ -/TT0 1 Tf -35.819 0 Td -(dash)Tj -/T1_1 1 Tf -2.669 0 Td -(\(Debian)Tj --38.488 -1.25 Td -[(Almquist )-279(shell, )-279(originally )-279(written )-279(by )-279(Kenneth )-279(Almquist )-279(and )-279(later )-279(ported )-279(to )-279(Linux\).)-781(The)]TJ -0 -1.25 TD -[(default )-326(user )-326(shell )-326(in )-326(Fr)18(eeBSD )-326(is )-326(derived )-326(fr)18(om )-326(the )-326(Almquist )-326(shell.)-826(The )-326(default )-326(shell )-326(in)]TJ -T* -[(Mac OS X)-394(is )-144(the )-144(Bourne-again )-144(shell.)-645(Solaris, )-144(having )-144(its )-144(heritage )-144(in )-144(both )-144(BSD )-144(and )-144(System )-144(V)127(,)]TJ -T* -[(pr)18(ovides )-244(all )-244(the )-244(shells )-244(shown )-244(in )-244(Figur)]TJ -0.4945 Tc 18.045 0 Td -(e1)Tj -0 Tc 1.473 0 Td -[(.2. )-494(Fr)18(ee )-244(ports )-244(of )-244(the )-244(shells )-244(ar)]TJ -0.4945 Tc 14.034 0 Td -(ea)Tj -0 Tc 1.473 0 Td -[(vailable )-244(on )-244(the)]TJ --35.026 -1.25 Td -(Internet.)Tj -0 -2.125 Td -[(Thr)18(oughout )-116(the )-116(text, )-116(we )-116(will )-116(use )-116(par)18(enthetical )-116(notes )-116(such )-116(as )-116(this )-116(to )-116(describe )-116(historical )-116(notes)]TJ -T* -[(and )-302(to )-302(compar)]TJ -0.5524 Tc 7.021 0 Td -(ed)Tj -0 Tc 1.642 0 Td -[(if)18(fer)18(ent )-302(implementations )-302(of )-302(the )-302(UNIX )-302(System.)-802(Often )-302(the )-302(r)18(eason )-302(for )-302(a)]TJ --8.663 -1.25 Td -[(particular implementation technique becomes clear when the historical r)18(easons ar)]TJ -0.25 Tc 36.082 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(escribed.)Tj -9.9994 0 0 9.9994 147.5917 555.9666 Tm -[(Thr)18(oughout )-142(this )-142(text, )-142(we\325ll )-142(show )-142(interactive )-142(shell )-142(examples )-142(to )-142(execute )-142(a )-142(pr)17(ogram)]TJ --1.8 -1.2 Td -[(that )-136(we\325ve )-136(developed.)-636(These )-136(examples )-136(use )-136(featur)19(es )-136(common )-136(to )-136(the )-136(Bourne )-136(shell, )-136(the)]TJ -0 -1.2 TD -(Korn shell, and the Bourne-again shell.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5949 499.57 Tm -[(1.4 )-1332(Files)-556(and )-278(Directories)]TJ -9.9994 0 0 9.9994 93.5949 475.5715 Tm -(File System)Tj -/T1_1 1 Tf -3.6 -2.04 Td -[(The )-58(UNIX )-58(\336le )-58(system )-58(is )-58(a )-58(hierar)18(chical )-58(arrangement )-58(of )-58(dir)18(ectories )-58(and )-58(\336les.)-563(Everything)]TJ -T* -[(starts in the dir)18(ectory called)]TJ -/T1_2 1 Tf --0.018 Tc 12.546 0 Td -(ro)Tj -0 Tc 0.815 0 Td -(ot)Tj -/T1_1 1 Tf -0.25 Tc (,w)Tj -0 Tc 2.111 0 Td -(hose name is the single character)Tj -/TT0 1 Tf -14.765 0 Td -(/)Tj -/T1_1 1 Tf -(.)Tj --28.437 -1.2 Td -(A)Tj -/T1_2 1 Tf -1.136 0 Td -[(dir)18(ectory)]TJ -/T1_1 1 Tf -3.969 0 Td -[(is )-108(a )-108(\336le )-108(that )-108(contains )-108(dir)18(ectory )-108(entries.)-605(Logically)]TJ -0.3576 Tc 21.998 0 Td -(,w)Tj -0.3575 Tc 1.442 0 Td -(ec)Tj -0 Tc 1.281 0 Td -[(an )-107(think )-107(of )-107(each)]TJ --31.625 -1.2 Td -[(dir)18(ectory )-437(entry )-437(as )-437(containing )-437(a )-437(\336lename )-437(along )-437(with )-437(a )-437(str)4(uctur)18(e)-688(of)-688(i)1(nformation)]TJ -0 -1.2 Td -[(describing )-24(the )-24(attributes )-24(of )-24(the )-24(\336le.)-521(The )-23(attributes )-23(of )-23(a )-23(\336le )-23(ar)]TJ -0.2735 Tc 26.914 0 Td -(es)Tj -0 Tc 1.176 0 Td -[(uch )-23(things )-23(as )-23(the )-23(type )-23(of)]TJ --28.09 -1.2 Td -[(\336le )-48(\(r)18(egular )-48(\336le, )-48(dir)18(ectory\), )-48(the )-48(size )-48(of )-48(the )-48(\336le, )-48(the )-48(owner )-48(of )-48(the )-48(\336le, )-48(permissions )-48(for )-48(the)]TJ -T* -[(\336le )-36(\(whether )-36(other )-36(users )-36(may )-36(access )-36(this )-36(\336le\), )-36(and )-36(when )-36(the )-36(\336le )-36(was )-36(last )-36(modi\336ed.)-542(The)]TJ -/TT0 1 Tf -T* -(stat)Tj -/T1_1 1 Tf -3.056 0 Td -(and)Tj -/TT0 1 Tf -2.349 0 Td -(fstat)Tj -/T1_1 1 Tf -3.656 0 Td -[(functions )-406(r)18(eturn )-406(a )-406(str)7(uctur)18(e)-657(of)-657(i)1(nformation )-407(containing )-407(all )-407(the)]TJ --9.062 -1.2 Td -[(attributes of a \336le.)-500(In Chapter 4, we\325ll examine all the attributes of a \336le in gr)18(eat detail.)]TJ --0.092 Tc 7.9995 0 0 7.9995 183.5896 339.1796 Tm -[(We )-241(m)]TJ -0 Tc 2.577 0 Td -[(ake )-57(a )-57(distinction )-57(between )-57(the )-57(logical )-57(view )-57(of )-57(a )-57(dir)18(ectory )-57(entry )-57(and )-57(the )-57(way )-57(it )-57(is )-57(actually)]TJ --2.577 -1.25 Td -[(stor)18(ed )-261(on )-261(disk.)-761(Most )-261(implementations )-261(of )-261(UNIX )-261(\336le )-261(systems )-261(don\325t )-261(stor)]TJ -0.5108 Tc 33.506 0 Td -(ea)Tj -0 Tc 1.49 0 Td -[(ttributes )-261(in )-261(the)]TJ --34.995 -1.25 Td -[(dir)18(ectory )-18(entries )-18(themselves, )-18(because )-18(of )-18(the )-18(dif)20(\336culty )-18(of )-18(keeping )-18(them )-18(in )-18(synch )-18(when )-18(a )-18(\336le )-18(has)]TJ -0 -1.25 TD -(multiple har)Tj -0.25 Tc 5.474 0 Td -(dl)Tj -0 Tc 1.152 0 Td -[(inks. )-250(This)-250(will become clear when we discuss har)]TJ -0.25 Tc 21.933 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(inks in Chapter 4.)Tj -/TT1 1 Tf -9.9994 0 0 9.9994 93.5951 285.1829 Tm -(Filename)Tj -/T1_1 1 Tf -3.6 -2.04 Td -[(The )-233(names )-233(in )-233(a )-233(dir)18(ectory )-233(ar)]TJ -0.483 Tc 13.232 0 Td -(ec)Tj -0 Tc 1.406 0 Td -(alled)Tj -/T1_2 1 Tf -2.655 0 Td -(\336lenames)Tj -/T1_1 1 Tf -0.733 Tc (.T)Tj -0 Tc 5.347 0 Td -[(he )-233(only )-233(two )-233(characters )-233(that )-233(cannot)]TJ --22.64 -1.2 Td -[(appear )-265(in )-265(a )-265(\336lename )-265(ar)]TJ -0.5146 Tc 11.203 0 Td -(et)Tj -0 Tc 1.32 0 Td -[(he )-265(slash )-265(character )-265(\()]TJ -/TT0 1 Tf -9.224 0 Td -(/)Tj -/T1_1 1 Tf -0.5146 Tc (\)a)Tj -0 Tc 1.948 0 Td -[(nd )-264(the )-264(null )-264(character)]TJ -0.7645 Tc 9.881 0 Td -(.T)Tj -0 Tc 1.627 0 Td -[(he )-264(slash)]TJ --35.203 -1.2 Td -[(separates )-136(the )-136(\336lenames )-136(that )-136(form )-136(a )-136(pathname )-136(\(described )-136(next\) )-136(and )-136(the )-136(null )-136(character)]TJ -0 -1.2 TD -[(terminates )-135(a )-135(pathname.)-635(Nevertheless, )-135(it\325s )-135(good )-135(practice )-135(to )-135(r)20(estrict )-135(the )-135(characters )-135(in )-135(a)]TJ -T* -[(\336lename )-132(to )-132(a )-132(subset )-132(of )-132(the )-132(normal )-132(printing )-132(characters.)-635(\(If )-132(we )-132(use )-132(some )-132(of )-132(the )-132(shell\325s)]TJ -T* -[(special )-194(characters )-194(in )-194(the )-194(\336lename, )-194(we )-194(have )-194(to )-194(use )-194(the )-194(shell\325s )-194(quoting )-194(mechanism )-194(to)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(ence )-110(the )-110(\336lename, )-110(and )-110(this )-110(can )-110(get )-110(complicated.\))-607(Indeed, )-110(for )-110(portability)]TJ -0.3597 Tc 33.865 0 Td -(,P)Tj -0 Tc 1.214 0 Td -(OSIX.1)Tj --0.018 Tc -35.935 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(commends )-177(r)18(estricting )-177(\336lenames )-177(to )-177(consist )-177(of )-177(the )-177(following )-177(characters: )-177(letters )-177(\()]TJ -/TT0 1 Tf -36.094 0 Td -(a-z)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --36.95 -1.2 Td -(A-Z)Tj -/T1_1 1 Tf -(\), numbers \()Tj -/TT0 1 Tf -(0-9)Tj -/T1_1 1 Tf -(\), period \()Tj -/TT0 1 Tf -(.)Tj -/T1_1 1 Tf -(\), dash \()Tj -/TT0 1 Tf -(-)Tj -/T1_1 1 Tf -(\), and underscor)Tj -0.25 Tc 25.244 0 Td -(e\()Tj -/TT0 1 Tf -0 Tc 1.229 0 Td -(_)Tj -/T1_1 1 Tf -0.767 0 Td -(\).)Tj --0.09 Tc -25.439 -1.2 Td -(Tw)Tj -0.439 Tc 1.357 0 Td -(o\336)Tj -0 Tc 1.59 0 Td -[(lenames )-189(ar)]TJ -0.439 Tc 4.954 0 Td -(ea)Tj -0 Tc 1.418 0 Td -[(utomatically )-189(cr)18(eated )-189(whenever )-189(a )-189(new )-189(dir)18(ectory )-189(is )-189(cr)18(eated:)]TJ -/TT0 1 Tf -27.281 0 Td -(.)Tj -/T1_1 1 Tf --38.4 -1.2 Td -(\(called)Tj -/T1_2 1 Tf -3.209 0 Td -(dot)Tj -/T1_1 1 Tf -0.2599 Tc (\)a)Tj -0 Tc 2.37 0 Td -(nd)Tj -/TT0 1 Tf -1.453 0 Td -(..)Tj -/T1_1 1 Tf -1.46 0 Td -(\(called)Tj -/T1_2 1 Tf -3.209 0 Td -(dot-dot)Tj -/T1_1 1 Tf -[(\). )-260(Dot)]TJ --0.018 Tc 5.886 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fers )-10(to )-10(the )-10(curr)18(ent )-10(dir)19(ectory)]TJ -0.2598 Tc 12.049 0 Td -(,a)Tj -0 Tc 1.01 0 Td -[(nd )-10(dot-dot )-10(r)18(efers)]TJ --31.501 -1.2 Td -[(to the par)18(ent dir)18(ectory)]TJ -0.5 Tc 9.788 0 Td -(.I)Tj -0.25 Tc 1.087 0 Td -(nt)Tj -0 Tc 1.158 0 Td -[(he r)18(oot dir)18(ectory)]TJ -0.25 Tc 7.27 0 Td -(,d)Tj -0 Tc 1.111 0 Td -(ot-dot is the same as dot.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46791 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(2)Tj -/T1_1 1 Tf -2.5 0 Td -[(UNIX )-250(System )-250(Overview)]TJ -40.241 0 Td -[(Chapter )-250(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.99994 0 0 0.99994 0 0 cm -0.801 g -q 1 0 0 1 360.6 591.8 cm -0 0 m -0 -19.882 -16.118 -36 -36 -36 c --55.882 -36 -72 -19.882 -72 0 c --72 19.882 -55.882 36 -36 36 c --16.118 36 0 19.882 0 0 c -f -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3606 5918 cm -0 0 m -0 -198.82 -161.18 -360 -360 -360 c --558.82 -360 -720 -198.82 -720 0 c --720 198.82 -558.82 360 -360 360 c --161.18 360 0 198.82 0 0 c -h -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3606.25 5918.25 cm -0 0 m -180 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246 5378 cm -0 0 m -298.23 0 540 241.77 540 540 c -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706 5918 cm -0 0 m -0 -298.23 241.77 -540 540 -540 c -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246 6458 cm -0 0 m --298.23 0 -540 -241.77 -540 -540 c -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 6458.25 cm -0 0 m -0 -180 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2886.25 5918.25 cm -0 0 m --180 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3966 5918 cm -0 0 m -0 -397.64 -322.36 -720 -720 -720 c --1117.64 -720 -1440 -397.64 -1440 0 c --1440 397.64 -1117.64 720 -720 720 c --322.36 720 0 397.64 0 0 c -h -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 297.1283 548.9741 Tm -[(library r)18(outines)]TJ --1.555 9.076 Td -(shell)Tj -2.286 3.627 Td -(applications)Tj -ET -q -0.99988 0 0 0.99988 0 0 cm -1 g -q 1 0 0 1 346.2 591.8 cm -0 0 m -0 -11.929 -9.671 -21.6 -21.6 -21.6 c --33.529 -21.6 -43.2 -11.929 -43.2 0 c --43.2 11.929 -33.529 21.6 -21.6 21.6 c --9.671 21.6 0 11.929 0 0 c -f -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 302.3957 615.5261 Tm -[(system )-250(calls)]TJ -1.38 -3.195 Td -(kernel)Tj -/T1_0 1 Tf --10.708 -11.93 Td -(Figure 1.1)Tj -/T1_1 1 Tf -5.195 0 Td -[(Ar)18(chitectur)18(e)-250(of)-250(the UNIX operating system)]TJ -9.9988 0 0 9.9988 129.5846 463.3444 Tm -[(interface, )-121(but )-121(applications )-121(ar)]TJ -0.3709 Tc 12.948 0 Td -(ef)Tj --0.018 Tc 1.183 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(e)-371(to)-371(use )-121(both.)-621(\(W)]TJ -0.3708 Tc 8.089 0 Td -(et)Tj -0 Tc 1.176 0 Td -[(alk )-121(mor)]TJ -0.3708 Tc 3.524 0 Td -(ea)Tj -0 Tc 1.35 0 Td -[(bout )-121(system )-121(calls )-121(and)]TJ --29.125 -1.2 Td -[(library )-183(functions )-183(in )-183(Section )-183(1.1)56(1.\) )-433(The)-432(shell )-183(is )-183(a )-183(special )-183(application )-183(that )-183(pr)18(ovides )-183(an)]TJ --0 -1.2 Td -[(interface for r)8(unning other applications.)]TJ -1.8 -1.2 Td -[(In )-258(a )-258(br)19(oad )-258(sense, )-258(an )-258(operating )-258(system )-258(consists )-258(of )-258(the )-258(kernel )-258(and )-258(all )-258(the )-258(other)]TJ --1.8 -1.2 Td -(softwar)Tj -0.4243 Tc 3.34 0 Td -(et)Tj -0 Tc 1.229 0 Td -[(hat )-174(makes )-174(a )-174(computer )-174(useful )-174(and )-174(gives )-174(the )-174(computer )-174(its )-174(personality)]TJ -0.6744 Tc 31.596 0 Td -(.T)Tj -0 Tc 1.537 0 Td -(his)Tj --37.703 -1.2 Td -[(other )-383(softwar)]TJ -0.6327 Tc 6.301 0 Td -(ei)Tj -0 Tc 1.403 0 Td -[(ncludes )-383(system )-383(utilities, )-383(applications, )-383(shells, )-383(libraries )-383(of )-383(common)]TJ --7.703 -1.2 Td -(functions, and so on.)Tj -1.8 -1.2 Td -[(For )-53(example, )-53(Linux )-53(is )-53(the )-53(kernel )-53(used )-53(by )-53(the )-53(GNU )-53(operating )-53(system.)-548(Some )-53(people)]TJ --0.018 Tc -1.8 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer )-24(to )-24(this )-24(combination )-24(as )-24(the )-24(GNU/Linux )-24(operating )-24(system, )-24(but )-24(it )-24(is )-24(mor)]TJ -0.2736 Tc 32.66 0 Td -(ec)Tj -0 Tc 1.197 0 Td -(ommonly)Tj --0.018 Tc -34.713 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ferr)18(ed )-50(to )-50(as )-50(simply )-50(Linux.)-552(Although )-50(this )-50(usage )-50(may )-50(not )-50(be )-50(corr)18(ect )-50(in )-50(a )-50(strict )-50(sense, )-50(it)]TJ --0.856 -1.2 Td -[(is )-115(understandable, )-115(given )-115(the )-115(dual )-115(meaning )-115(of )-115(the )-115(phrase)]TJ -/T1_2 1 Tf -26.167 0 Td -[(operating )-115(system)]TJ -/T1_1 1 Tf -0.6146 Tc (.\()Tj -0 Tc 8.173 0 Td -[(It )-115(also )-115(has)]TJ --34.341 -1.2 Td -(the advantage of being mor)Tj -0.25 Tc 12.152 0 Td -(es)Tj -0 Tc 1.153 0 Td -(uccinct.\))Tj -/TT0 1 Tf -11.9986 0 0 11.9986 93.5887 295.3646 Tm -[(1.3 )-1332(Log)10(ging )-278(In)]TJ -9.9988 0 0 9.9988 93.5887 266.568 Tm -(Login Name)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(When )-14(we )-14(log )-14(in )-14(to )-14(a )-14(UNIX )-14(system, )-14(we )-14(enter )-14(our )-14(login )-14(name, )-14(followed )-14(by )-14(our )-14(passwor)20(d.)]TJ -0 -1.2 TD -[(The )-361(system )-361(then )-361(looks )-361(up )-361(our )-361(login )-361(name )-361(in )-361(its )-361(passwor)]TJ -0.6113 Tc 28.289 0 Td -(d\336)Tj -0 Tc 1.827 0 Td -[(le, )-361(usually )-361(the )-361(\336le)]TJ -/TT1 1 Tf --30.116 -1.2 Td -(/etc/passwd)Tj -/T1_1 1 Tf -0.569 Tc (.I)Tj -0 Tc 7.756 0 Td -[(f)-319(we)-319(look )-69(at )-69(our )-69(entry )-69(in )-69(the )-69(passwor)]TJ -0.3191 Tc 16.812 0 Td -(d\336)Tj -0 Tc 1.535 0 Td -[(le, )-69(we )-69(see )-69(that )-69(it\325s )-69(composed)]TJ --26.103 -1.2 Td -[(of )-95(seven )-95(colon-separated )-95(\336elds: )-95(the )-95(login )-95(name, )-95(encrypted )-95(passwor)15(d, )-95(numeric )-95(user )-95(ID)]TJ -0 -1.16 TD -(\()Tj -0.333 -0.04 Td -(205)Tj -1.5 0.04 Td -(\))Tj -0.2689 Tc 0.333 -0.04 Td -(,n)Tj -0 Tc 1.101 0 Td -[(umeric )-19(gr)18(oup )-19(ID)]TJ -7.696 0.04 Td -(\()Tj -0.333 -0.04 Td -(105)Tj -1.5 0.04 Td -(\))Tj -0.2689 Tc 0.333 -0.04 Td -(,ac)Tj -0 Tc 1.732 0 Td -[(omment )-19(\336eld, )-19(home )-19(dir)18(ectory )-19(\()]TJ -/TT1 1 Tf -(/home/sar)Tj -/T1_1 1 Tf -[(\), )-19(and )-19(shell)]TJ --14.86 -1.2 Td -[(pr)18(ogram \()]TJ -/TT1 1 Tf -(/bin/ksh)Tj -/T1_1 1 Tf -(\).)Tj -/TT1 1 Tf -8.9989 0 0 8.9989 147.5829 165.8801 Tm -(sar:x:205:105:Stephen Rago:/home/sar:/bin/ksh)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5829 147.8823 Tm -[(All )-104(contemporary )-104(systems )-104(have )-104(moved )-104(the )-104(encrypted )-104(passwor)18(d)-354(to)-354(a)-354(dif)18(fer)18(ent )-104(\336le.)]TJ --1.8 -1.2 Td -(In Chapter 6, we\325ll look at these \336les and some functions to acces\ s them.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46792 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(1)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(UNIX )-280(System )-280(Ov)20(er )240(vie)20(w)]TJ -/TT0 1 Tf -12 0 0 12 93.6001 422.4 Tm -[(1.1 )-1332(Intr)20(oduction)]TJ -/T1_2 1 Tf -10 0 0 10 129.6001 398.4 Tm -[(All )-50(operating )-50(systems )-50(pr)18(ovide )-50(services )-50(for )-50(pr)18(ograms )-50(they )-50(r)10(un. )-300(T)90(ypical )-50(services )-50(include)]TJ -0 -1.2 Td -[(executing )-73(a )-73(new )-73(pr)18(ogram, )-73(opening )-73(a )-73(\336le, )-73(r)19(eading )-73(a )-73(\336le, )-73(allocating )-73(a )-73(r)18(egion )-73(of )-73(memory)112(,)]TJ -0 -1.2 TD -[(getting )-192(the )-192(curr)18(ent )-192(time )-192(of )-192(day)]TJ -0.4419 Tc 14.333 0 Td -(,a)Tj -0 Tc 1.192 0 Td -[(nd )-192(so )-192(on.)-692(The )-192(focus )-192(of )-192(this )-192(text )-192(is )-192(to )-192(describe )-192(the)]TJ --15.524 -1.2 Td -[(services pr)18(ovided by various versions of the UNIX operating system.)]TJ -1.8 -1.2 Td -[(Describing )-296(the )-296(UNIX )-296(System )-296(in )-296(a )-296(strictly )-296(linear )-296(fashion, )-296(without )-296(any )-296(forwar)20(d)]TJ --0.018 Tc -1.8 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(ences )-160(to )-160(terms )-160(that )-160(haven\325t )-160(been )-160(described )-160(yet, )-160(is )-160(nearly )-160(impossible )-160(\(and )-160(would)]TJ --0.856 -1.2 Td -[(pr)18(obably )-43(be )-43(boring\).)-543(This )-43(chapter )-43(pr)17(ovides )-43(a )-43(whirlwind )-43(tour )-43(of )-43(the )-43(UNIX )-43(System )-43(fr)16(om)]TJ -0.3034 Tc T* -(ap)Tj --0.018 Tc 1.404 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(grammer )176(\325s)-303(perspective. )-303(W)92(e\325ll )-53(give )-53(some )-53(brief )-53(descriptions )-53(and )-53(examples )-53(of )-53(terms)]TJ --2.327 -1.2 Td -[(and )-21(concepts )-21(that )-21(appear )-21(thr)17(oughout )-21(the )-21(text.)]TJ --0.092 Tc 20.829 0 Td -[(We )-205(d)]TJ -0 Tc 2.269 0 Td -[(escribe )-21(these )-21(featur)18(es )-21(in )-21(much )-21(mor)17(e)]TJ --23.098 -1.2 Td -[(detail )-80(in )-80(later )-80(chapters.)-580(This )-80(chapter )-80(also )-80(pr)18(ovides )-80(an )-80(intr)18(oduction )-80(to )-80(and )-80(overview )-80(of)]TJ -T* -[(the services pr)18(ovided by the UNIX System for pr)18(ogrammers new to this envir)18(onment.)]TJ -/TT0 1 Tf -12 0 0 12 93.5998 242.4 Tm -[(1.2 )-1332(UNIX)-556(Ar)]TJ --0.01 Tc 7.036 0 Td -(ch)Tj -0 Tc 1.157 0 Td -(itecture)Tj -/T1_2 1 Tf -10 0 0 10 129.5998 218.4 Tm -[(In )-122(a )-122(strict )-122(sense, )-122(an )-122(operating )-122(system )-122(can )-122(be )-122(de\336ned )-122(as )-122(the )-122(softwar)]TJ -0.3716 Tc 30.749 0 Td -(et)Tj -0 Tc 1.177 0 Td -[(hat )-122(contr)18(ols )-122(the)]TJ --31.926 -1.2 Td -[(har)18(dwar)]TJ -0.628 Tc 3.781 0 Td -(er)Tj -0 Tc 1.484 0 Td -[(esour)18(ces )-378(of )-378(the )-378(computer )-378(and )-378(pr)18(ovides )-378(an )-378(envir)18(onment )-378(under )-378(which)]TJ --5.265 -1.2 Td -[(pr)18(ograms )-49(can )-49(r)8(un. )-299(Generally)111(,)-299(we)-299(call )-49(this )-49(softwar)]TJ -0.299 Tc 22.25 0 Td -(et)Tj -0 Tc 1.104 0 Td -(he)Tj -/T1_3 1 Tf -1.36 0 Td -(kernel)Tj -/T1_2 1 Tf -0.299 Tc (,s)Tj -0 Tc 3.418 0 Td -[(ince )-49(it )-49(is )-49(r)18(elatively )-49(small)]TJ --28.132 -1.2 Td -[(and )-128(r)18(esides )-128(at )-128(the )-128(cor)]TJ -0.3778 Tc 9.869 0 Td -(eo)Tj -0.3779 Tc 1.403 0 Td -(ft)Tj -0 Tc 1.037 0 Td -[(he )-128(envir)18(onment. )-378(Figur)]TJ -0.3779 Tc 10.392 0 Td -(e1)Tj -0 Tc 1.357 0 Td -[(.1 )-128(shows )-128(a )-128(diagram )-128(of )-128(the )-128(UNIX)]TJ --24.058 -1.2 Td -[(System ar)18(chitectur)18(e.)]TJ -1.8 -1.2 Td -[(The )-85(interface )-85(to )-85(the )-85(kernel )-85(is )-85(a )-85(layer )-85(of )-85(softwar)]TJ -0.3345 Tc 21.21 0 Td -(ec)Tj -0 Tc 1.258 0 Td -[(alled )-84(the)]TJ -/T1_3 1 Tf -4.228 0 Td -[(system )-84(calls)]TJ -/T1_2 1 Tf -5.243 0 Td -[(\(the )-84(shaded)]TJ --33.739 -1.2 Td -[(portion )-27(in )-27(Figur)]TJ -0.2771 Tc 7.097 0 Td -(e1)Tj -0 Tc 1.256 0 Td -[(.1\). )-277(Libraries)-277(of )-27(common )-27(functions )-27(ar)]TJ -0.2771 Tc 16.679 0 Td -(eb)Tj -0 Tc 1.309 0 Td -[(uilt )-27(on )-27(top )-27(of )-27(the )-27(system )-27(call)]TJ -/T1_4 1 Tf -9 0 0 9 515.0992 114 Tm -(1)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46793 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Pr)4(ef)15(ace )-280(to )-280(the )-280(Fir)-20(st )-280(Edition)]TJ -/TT0 1 Tf -10 0 0 10 93.5999 446.3998 Tm -[(Intr)20(oduction)]TJ -/T1_1 1 Tf -3.6 -2.4 Td -[(This )-178(book )-178(describes )-178(the )-178(pr)18(ogramming )-178(interface )-178(to )-178(the )-178(Unix )-178(system)]TJ -0.0833 Tc 31.055 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-178(system )-178(call)]TJ --32.464 -1.2 Td -[(interface )-98(and )-98(many )-98(of )-98(the )-98(functions )-98(pr)18(ovided )-98(in )-98(the )-98(standar)]TJ -0.3478 Tc 27.232 0 Td -(dCl)Tj -0 Tc 2.307 0 Td -(ibrary)Tj -0.5978 Tc 2.579 0 Td -(.I)Tj -0 Tc 1.185 0 Td -[(t)-348(is)-348(intended)]TJ --33.302 -1.2 Td -[(for anyone writing pr)18(ograms that r)8(un under Unix.)]TJ -1.8 -1.2 Td -[(Like )-194(most )-194(operating )-194(systems, )-194(Unix )-194(pr)18(ovides )-194(numer)18(ous )-194(services )-194(to )-194(the )-194(pr)16(ograms)]TJ --1.8 -1.2 Td -[(that )-195(ar)]TJ -0.445 Tc 3.056 0 Td -(er)Tj -0 Tc 1.311 0 Td -[(unning )167(\321 )167(open)]TJ -0.445 Tc 7.016 0 Td -(a\336)Tj -0 Tc 1.55 0 Td -[(le, )-195(r)18(ead )-195(a )-195(\336le, )-195(start )-195(a )-195(new )-195(pr)18(ogram, )-195(allocate )-195(a )-195(r)18(egion )-195(of)]TJ --12.933 -1.2 Td -(memory)Tj -0.3778 Tc 3.631 0 Td -(,g)Tj -0 Tc 1.184 0 Td -[(et )-128(the )-128(curr)18(ent )-128(time-of-day)]TJ -0.3778 Tc 11.611 0 Td -(,a)Tj -0 Tc 1.128 0 Td -[(nd )-128(so )-128(on.)-627(This )-128(has )-128(been )-128(termed )-128(the)]TJ -/T1_2 1 Tf -16.883 0 Td -[(system )-128(call)]TJ --34.437 -1.2 Td -(interface)Tj -/T1_1 1 Tf -0.7104 Tc (.A)Tj -0 Tc 5.201 0 Td -(dditionally)Tj -0.4604 Tc 4.785 0 Td -(,t)Tj -0 Tc 1.036 0 Td -[(he )-210(standar)]TJ -0.4604 Tc 4.841 0 Td -(dCl)Tj -0 Tc 2.532 0 Td -[(ibrary )-210(pr)18(ovides )-210(numer)18(ous )-210(functions )-210(that )-210(ar)16(e)]TJ --18.396 -1.2 Td -[(used )-147(by )-147(almost )-147(every )-147(C )-147(pr)16(ogram )-148(\(format )-148(a )-148(variable\325s )-148(value )-148(for )-148(output, )-148(compar)]TJ -0.3976 Tc 36.418 0 Td -(et)Tj -0 Tc 1.203 0 Td -(wo)Tj --37.62 -1.2 Td -(strings, etc.\).)Tj -1.8 -1.2 Td -[(The )-57(system )-57(call )-57(interface )-57(and )-57(the )-57(library )-57(r)18(outines )-57(have )-57(traditionally )-57(been )-57(described)]TJ --1.8 -1.2 Td -[(in )-77(Sections )-77(2 )-77(and )-77(3 )-77(of )-77(the)]TJ -/T1_2 1 Tf -11.737 0 Td -[(Unix )-77(Pr)18(ogrammer )213(\325)]TJ -0.3269 Tc 7.792 0 Td -(sM)Tj -0 Tc 1.66 0 Td -(anual)Tj -/T1_1 1 Tf -0.5769 Tc (.T)Tj -0 Tc 3.718 0 Td -[(his )-77(book )-77(is )-77(not )-77(a )-77(duplication )-77(of)]TJ --24.906 -1.2 Td -[(these )-34(sections.)-534(Examples )-34(and )-34(rationale )-34(ar)]TJ -0.2843 Tc 18.512 0 Td -(em)Tj -0 Tc 1.646 0 Td -[(issing )-34(fr)18(om )-34(the)]TJ -/T1_2 1 Tf -6.947 0 Td -[(Unix )-34(Pr)18(ogrammer )213(\325)]TJ -0.2842 Tc 7.749 0 Td -(sM)Tj -0 Tc 1.617 0 Td -(anual)Tj -/T1_1 1 Tf -(,)Tj --36.472 -1.2 Td -[(and that\325s what this book pr)18(ovides.)]TJ -/TT0 1 Tf --3.6 -2.4 Td -[(Unix Standar)20(ds)]TJ -/T1_1 1 Tf -3.6 -2.4 Td -[(The )-100(pr)18(oliferation )-100(of )-100(dif)18(fer)18(ent )-100(versions )-100(of )-100(Unix )-100(during )-100(the )-100(1980s )-100(has )-100(been )-100(temper)18(ed )-100(by)]TJ --0 -1.2 Td -[(the )-273(various )-273(international )-273(standar)18(ds )-273(that )-273(wer)]TJ -0.5234 Tc 20.798 0 Td -(es)Tj -0 Tc 1.426 0 Td -[(tarted )-273(during )-273(the )-273(late )-273(1980s.)-774(These)]TJ --22.224 -1.2 Td -[(include )-143(the )-143(ANSI )-143(standar)]TJ -0.3936 Tc 11.66 0 Td -(df)Tj -0 Tc 1.338 0 Td -[(or )-144(the )-144(C )-144(pr)18(ogramming )-144(language, )-144(the )-144(IEEE )-144(POSIX )-144(family)]TJ --12.997 -1.2 Td -(\(still being developed\), and the X/Open portability guide.)Tj -1.8 -1.2 Td -[(This )-373(book )-373(also )-373(describes )-373(these )-373(standar)19(ds. )-623(But)-623(instead )-373(of )-373(just )-373(describing )-373(the)]TJ --1.8 -1.2 Td -[(standar)18(ds )-119(by )-119(themselves, )-119(we )-119(describe )-119(them )-119(in )-119(r)18(elation )-119(to )-119(popular )-119(implementations )-119(of)]TJ -0 -1.2 TD -[(the )-71(standar)18(ds )167(\321 )167(System)]TJ -0.3207 Tc 10.743 0 Td -(VR)Tj -0 Tc 1.711 0 Td -[(elease )-71(4 )-71(and )-71(the )-71(forthcoming )-71(4.4BSD.)-571(This )-71(pr)18(ovides )-71(a )-71(r)21(eal-)]TJ --12.454 -1.2 Td -[(world )-85(description, )-85(which )-85(is )-85(often )-85(lacking )-85(fr)17(om )-85(the )-85(standar)]TJ -0.3352 Tc 26.378 0 Td -(di)Tj -0 Tc 1.237 0 Td -[(tself )-85(and )-85(fr)18(om )-85(books )-85(that)]TJ --27.615 -1.2 Td -[(describe only the standar)18(d.)]TJ -/T1_3 1 Tf -9 0 0 9 503.1039 113.9998 Tm -(xxix)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46794 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Pr)4(ef)15(ace )-280(to )-280(the )-280(Second )-280(Edition)]TJ -/TT0 1 Tf -10 0 0 10 93.5999 434.4 Tm -[(Intr)20(oduction)]TJ -/T1_1 1 Tf -3.6 -2.16 Td -[(Rich )-478(Stevens )-478(and )-478(I )-478(\336rst )-478(met )-478(thr)16(ough )-478(an )-478(e-mail )-478(exchange )-478(when )-478(I )-478(r)18(eported )-478(a)]TJ -0 -1.2 TD -[(typographical )-125(err)18(or )-125(in )-125(his )-125(\336rst )-125(book,)]TJ -/T1_2 1 Tf -17 0 Td -[(UNIX )-124(Network )-124(Pr)17(ogramming)]TJ -/T1_1 1 Tf -0.6245 Tc (.H)Tj -0.3745 Tc 14.214 0 Td -(eu)Tj -0 Tc 1.456 0 Td -[(sed )-124(to )-124(kid )-124(me)]TJ --32.67 -1.2 Td -[(about )-1(being )-1(the )-1(person )-1(to )-1(send )-1(him )-1(his )-1(\336rst )-1(errata )-1(notice )-1(for )-1(the )-1(book.)-501(Until )-1(his )-1(death )-1(in)]TJ -T* -[(1999, )-247(we )-247(exchanged )-247(e-mail )-247(irr)17(egularly)]TJ -0.4972 Tc 17.701 0 Td -(,u)Tj -0 Tc 1.35 0 Td -[(sually )-247(when )-247(one )-247(of )-247(us )-247(had )-247(a )-247(question )-247(we)]TJ --19.051 -1.2 Td -[(thought )-87(the )-87(other )-87(might )-87(be )-87(able )-87(to )-87(answer)]TJ -0.5876 Tc 19.103 0 Td -(.W)Tj -0.3376 Tc 1.746 0 Td -(em)Tj -0 Tc 1.7 0 Td -[(et )-88(for )-88(dinner )-88(at )-88(USENIX )-88(confer)20(ences)]TJ --22.549 -1.2 Td -[(and when Rich was teaching in the ar)18(ea.)]TJ -1.8 -1.2 Td -[(Rich )-81(Stevens )-81(was )-81(a )-81(friend )-81(who )-81(always )-81(conducted )-81(himself )-81(as )-81(a )-81(gentleman.)-586(When )-81(I)]TJ --1.8 -1.2 Td -[(wr)18(ote)]TJ -/T1_2 1 Tf -3.006 0 Td -[(UNIX )-194(System )-194(V )-194(Network )-194(Pr)20(ogramming)]TJ -/T1_1 1 Tf -17.644 0 Td -[(in )-194(1993, )-194(I )-194(intended )-194(it )-194(to )-194(be )-194(a )-194(System )-194(V)]TJ --20.65 -1.2 Td -[(version )-51(of )-51(Rich\325s)]TJ -/T1_2 1 Tf -7.752 0 Td -[(UNIX )-51(Network )-51(Pr)18(ogramming)]TJ -/T1_1 1 Tf -0.5512 Tc (.A)Tj -0.3012 Tc 13.941 0 Td -(sw)Tj -0 Tc 1.559 0 Td -[(as )-51(his )-51(natur)18(e, )-51(Rich )-51(gladly )-51(r)18(eviewed)]TJ --23.251 -1.2 Td -[(chapters )-19(for )-19(me, )-19(and )-19(tr)18(eated )-19(me )-19(not )-19(as )-19(a )-19(competitor)]TJ -0.2693 Tc 22.854 0 Td -(,b)Tj -0 Tc 1.072 0 Td -[(ut )-19(as )-19(a )-19(colleague.)]TJ --0.092 Tc 8.119 0 Td -[(We )-203(o)]TJ -0 Tc 2.202 0 Td -[(ften )-19(talked)]TJ --34.248 -1.2 Td -[(about )-87(collaborating )-87(on )-87(a )-87(STREAMS )-87(version )-87(of )-87(his)]TJ -/T1_2 1 Tf -22.8 0 Td -[(TCP/IP )-87(Illustrated)]TJ -/T1_1 1 Tf -8.026 0 Td -[(book. )-337(Had)-338(events)]TJ --30.826 -1.2 Td -[(been )-183(dif)18(fer)18(ent, )-183(we )-183(might )-183(have )-183(actually )-183(done )-183(it, )-183(but )-183(since )-183(Rich )-183(is )-183(no )-183(longer )-183(with )-183(us,)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -(vising)Tj -/T1_2 1 Tf -3.12 0 Td -[(Advanced )-161(Pr)18(ogramming )-161(in )-161(the )-161(UNIX )-161(Envir)17(onment)]TJ -/T1_1 1 Tf -22.173 0 Td -[(is )-161(the )-161(closest )-161(I\325ll )-161(ever )-161(get )-161(to)]TJ --26.149 -1.2 Td -(writing a book with him.)Tj -1.8 -1.2 Td -[(When )-178(the )-178(editors )-178(at )-178(Addison-W)92(esley )-178(told )-178(me )-178(that )-178(they )-178(wanted )-178(to )-178(update )-178(Rich\325s)]TJ --1.8 -1.2 Td -[(book, )-57(I )-57(thought )-57(that )-57(ther)]TJ -0.307 Tc 11.035 0 Td -(ew)Tj -0 Tc 1.62 0 Td -[(ouldn\325t )-57(be )-57(too )-57(much )-57(to )-57(change.)-557(Even )-57(after )-57(13 )-57(years, )-57(Rich\325s)]TJ --12.655 -1.2 Td -[(work )-80(still )-80(holds )-80(up )-80(well.)-580(But )-80(the )-80(UNIX )-80(industry )-80(is )-80(vastly )-80(dif)13(fer)18(ent )-81(today )-81(fr)18(om )-81(what )-81(it)]TJ --0 -1.2 Td -(was when the book was \336rst published.)Tj -0.883 Tc 1.8 -1.92 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-122(System )-122(V )-122(variants )-122(ar)]TJ -0.3718 Tc 10.924 0 Td -(es)Tj -0 Tc 1.275 0 Td -[(lowly )-122(being )-122(r)18(eplaced )-122(by )-122(Linux.)-622(The )-122(major )-122(system)]TJ --12.811 -1.2 Td -[(vendors )-108(that )-108(ship )-108(their )-108(har)18(dwar)]TJ -0.3582 Tc 14.52 0 Td -(ew)Tj -0 Tc 1.671 0 Td -[(ith )-108(their )-108(own )-108(versions )-108(of )-108(the )-108(UNIX )-108(System)]TJ --16.192 -1.2 Td -[(have )-21(either )-21(made )-21(Linux )-21(ports )-21(available )-21(or )-21(announced )-21(support )-21(for )-21(Linux.)-520(Solaris)]TJ -T* -[(is )-15(per)18(haps )-15(the )-15(last )-15(descendant )-15(of )-15(UNIX )-15(System )-15(V )-15(Release )-15(4 )-15(with )-15(any )-15(appr)12(eciable)]TJ -T* -[(market shar)18(e.)]TJ -/T1_3 1 Tf -9 0 0 9 505.5959 114 Tm -(xxv)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46795 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -24 0 0 24 129.6 545.576 Tm -(For)Tj --0.02 Tc 1.436 0 Td -(ew)Tj -0 Tc 1.39 0 Td -[(or)6(d)-560(to)-560(the )-280(Second )-280(Edition)]TJ -/T1_1 1 Tf -10 0 0 10 129.6005 434.4 Tm -[(At )-42(some )-42(point )-42(during )-42(nearly )-42(every )-42(interview )-42(I )-42(give, )-42(as )-42(well )-42(as )-42(in )-42(question )-42(periods )-42(after)]TJ -0 -1.2 TD -[(talks, )-27(I )-27(get )-27(asked )-27(some )-27(variant )-27(of )-27(the )-27(same )-27(question: )-27(\324)37(\324Did )-27(you )-27(expect )-27(Unix )-27(to )-27(last )-27(for )-27(so)]TJ -T* -(long?\325)Tj -0.6421 Tc 2.66 0 Td -(\325A)Tj -0 Tc 1.698 0 Td -[(nd )-142(of )-142(course )-142(the )-142(answer )-142(is )-142(always )-142(the )-142(same: )-142(No, )-142(we )-142(didn\325t )-142(quite )-142(anticipate)]TJ --4.358 -1.2 Td -[(what )-216(has )-216(happened. )-216(Even )-216(the )-216(observation )-216(that )-216(the )-216(system, )-216(in )-216(some )-216(form, )-216(has )-216(been)]TJ -T* -[(ar)18(ound )-145(for )-145(well )-145(mor)]TJ -0.3948 Tc 9.378 0 Td -(et)Tj -0 Tc 1.2 0 Td -[(han )-145(half )-145(the )-145(lifetime )-145(of )-145(the )-145(commer)19(cial )-145(computing )-145(industry )-145(is)]TJ --10.578 -1.2 Td -(now dated.)Tj -1.8 -1.2 Td -[(The )-398(course )-398(of )-398(developments )-398(has )-398(been )-398(turbulent )-398(and )-398(complicated. )-398(Computer)]TJ --1.8 -1.2 Td -[(technology )-360(has )-360(changed )-360(gr)18(eatly )-360(since )-360(the )-360(early )-360(1970s, )-360(most )-360(notably )-360(in )-360(universal)]TJ -T* -[(networking, )-219(ubiquitous )-219(graphics, )-219(and )-219(r)18(eadily )-219(available )-219(personal )-219(computing, )-219(but )-219(the)]TJ -T* -[(system )-505(has )-505(somehow )-505(managed )-505(to )-505(accommodate )-505(all )-505(of )-505(these )-505(phenomena. )-505(The)]TJ -T* -[(commer)18(cial )-97(envir)18(onment, )-97(although )-97(today )-97(dominated )-97(on )-97(the )-97(desktop )-97(by )-97(Micr)18(osoft )-97(and)]TJ -T* -[(Intel, )-89(has )-89(in )-89(some )-89(ways )-89(moved )-89(fr)17(om )-89(single-supplier )-89(to )-89(multiple )-89(sour)18(ces )-89(and, )-89(in )-89(r)17(ecent)]TJ -T* -[(years, to incr)18(easing r)18(eliance on public standar)18(ds and on fr)18(eely available sour)18(ce.)]TJ -1.8 -1.2 Td -(Fortunately)Tj -0.2928 Tc 5.049 0 Td -(,U)Tj -0 Tc 1.321 0 Td -[(nix, )-43(consider)18(ed )-43(as )-43(a )-43(phenomenon )-43(and )-43(not )-43(just )-43(a )-43(brand, )-43(has )-43(been )-43(able)]TJ --8.17 -1.2 Td -[(to )-54(move )-54(with )-54(and )-54(even )-54(lead )-54(this )-54(wave.)]TJ --0.074 Tc 17.989 0 Td -(AT)Tj -0 Tc 1.317 0 Td -[(&T )-54(in )-54(the )-54(1970s )-54(and )-54(1980s )-54(was )-54(pr)19(otective )-54(of)]TJ --19.306 -1.2 Td -[(the )-299(actual )-299(Unix )-299(sour)18(ce )-299(code, )-299(but )-299(encouraged )-299(standar)21(dization )-299(ef)18(forts )-299(based )-299(on )-299(the)]TJ -T* -[(system\325s )-218(interfaces )-218(and )-218(languages.)-720(For )-218(example, )-218(the )-218(SVID)]TJ -0.0833 Tc 27.334 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-218(System )-218(V )-218(Interface)]TJ --28.744 -1.2 Td -[(De\336nition )167(\321 )167(was)-334(published )-84(by )-84(A)74(T&T)]TJ -0.3339 Tc 16.58 0 Td -(,a)Tj -0 Tc 1.084 0 Td -[(nd )-84(it )-84(became )-84(the )-84(basis )-84(for )-84(the )-84(POSIX )-84(work )-84(and)]TJ --17.664 -1.2 Td -[(its )-19(follow-ons.)-519(As )-19(it )-19(happened, )-19(Unix )-19(was )-19(able )-19(to )-19(adapt )-19(rather )-19(gracefully )-19(to )-19(a )-19(networked)]TJ -T* -[(envir)18(onment )-4(and, )-4(per)18(haps )-4(less )-4(elegantly)]TJ -0.2539 Tc 17.782 0 Td -(,b)Tj -0 Tc 1.057 0 Td -[(ut )-4(still )-4(adequately)111(,)-254(to)-254(a)-254(graphical )-4(one.)-504(And )-4(as)]TJ --18.839 -1.2 Td -[(it )-1(also )-1(happened, )-1(the )-1(basic )-1(Unix )-1(kernel )-1(interface )-1(and )-1(many )-1(of )-1(its )-1(characteristic )-1(user)17(-level)]TJ -T* -[(tools )-522(wer)]TJ -0.772 Tc 4.595 0 Td -(ei)Tj -0 Tc 1.542 0 Td -[(ncorporated )-522(into )-522(the )-522(technological )-522(foundations )-522(of )-522(the )-522(open-sour)18(ce)]TJ --6.137 -1.2 Td -(movement.)Tj -1.8 -1.2 Td -[(It )-316(is )-316(important )-316(that )-316(papers )-316(and )-316(writings )-316(about )-316(the )-316(Unix )-316(system )-316(wer)]TJ -0.5665 Tc 33.05 0 Td -(ea)Tj -0 Tc 1.546 0 Td -(lways)Tj --36.395 -1.2 Td -[(encouraged, )-106(even )-106(while )-106(the )-106(softwar)16(e)-356(of)-356(t)-1(he )-106(system )-106(itself )-106(was )-106(pr)16(oprietary)]TJ -0.3565 Tc 33.014 0 Td -(,f)Tj -0 Tc 0.939 0 Td -[(or )-106(example)]TJ --33.954 -1.2 Td -[(Maurice )-7(Bach\325s )-7(book,)]TJ -/T1_2 1 Tf -9.72 0 Td -[(The )-7(Design )-7(of )-7(the )-7(Unix )-7(Operating )-7(System)]TJ -/T1_1 1 Tf -0.5071 Tc 17.101 0 Td -(.I)Tj -0.2571 Tc 1.094 0 Td -(nf)Tj -0 Tc 1.172 0 Td -[(act, )-7(I )-7(would )-7(claim )-7(that)]TJ -/T1_3 1 Tf -9 0 0 9 507.6039 114 Tm -(xix)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46796 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -34.357 0 Td -[(Chapter )-250(9)-750(Solutions)]TJ -/T1_1 1 Tf -11.476 0 Td -(923)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(8.6)Tj -/T1_0 1 Tf -2.602 0 Td -[(The pr)18(ogram in Figur)]TJ -0.25 Tc 9.538 0 Td -(eC)Tj -0 Tc 1.438 0 Td -[(.10 cr)18(eates a zombie.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1556.25 6618.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1596.25 6618.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 155.6013 652.2207 Tm -(#include "apue.h")Tj -0 -2.14 TD -(#ifdef SOLARIS)Tj -0 -1.189 TD -[(#define PSCMD)-1800("ps -a -o pid,ppid,s,tty,comm")]TJ -T* -(#else)Tj -T* -[(#define PSCMD)-1800("ps -o pid,ppid,state,tty,command")]TJ -T* -(#endif)Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(pid_t )-1200(pid;)]TJ -0 -2.14 TD -(if \(\(pid = fork\(\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj --2.4 -1.189 Td -[(else if \(pid == 0\))-3600(/* child */)]TJ -2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -2.14 Td -(/* parent */)Tj -0 -1.189 TD -(sleep\(4\);)Tj -T* -(system\(PSCMD\);)Tj -0 -2.14 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1556.25 4121.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1596.25 4121.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 233.072 396.0267 Tm -(Figure C.10)Tj -/T1_0 1 Tf -5.917 0 Td -[(Cr)18(eate a zombie and look at its status with)]TJ -/TT0 1 Tf -19.007 0 Td -(ps)Tj -/T1_0 1 Tf -9.9982 0 0 9.9982 155.5919 362.4328 Tm -(Zombies ar)Tj -0.25 Tc 4.97 0 Td -(eu)Tj -0 Tc 1.332 0 Td -(sually designated by)Tj -/TT0 1 Tf -9.383 0 Td -(ps)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(with a status of)Tj -/TT0 1 Tf -7.015 0 Td -(Z)Tj -/T1_0 1 Tf -(:)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 173.5889 345.7358 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --0.6 -1.189 Td -[(PID )-600(PPID)]TJ -0.6 Tc 6 0 Td -(ST)Tj -4.2 Tc 1.8 0 Td -(TC)Tj -0 Tc 5.4 0 Td -(OMMAND)Tj --13.8 -1.189 Td -[(2369 )-600(2208)]TJ -0.6 Tc 6.6 0 Td -(Sp)Tj -0 Tc 1.8 0 Td -[(ts/2 )-1800(-bash)]TJ --8.4 -1.189 Td -[(7230 )-600(2369)]TJ -0.6 Tc 6.6 0 Td -(Sp)Tj -0 Tc 1.8 0 Td -[(ts/2 )-1800(./a.out)]TJ --8.4 -1.189 Td -[(7231 )-600(7230)]TJ -0.6 Tc 6.6 0 Td -(Zp)Tj -0 Tc 1.8 0 Td -[(ts/2 )-1800([a.out])-600()]TJ --8.4 -1.189 Td -[(7232 )-600(7230)]TJ -0.6 Tc 6.6 0 Td -(Sp)Tj -0 Tc 1.8 0 Td -[(ts/2 )-1800(sh)-600(-c ps -o pid,ppid,state,tty,command)]TJ --8.4 -1.189 Td -[(7233 )-600(7232)]TJ -0.6 Tc 6.6 0 Td -(Rp)Tj -0 Tc 1.8 0 Td -[(ts/2 )-1800(ps)-600(-o pid,ppid,state,tty,command)]TJ -/TT2 1 Tf -9.9982 0 0 9.9982 93.5833 241.9544 Tm -[(Chapter )-278(9)]TJ -/T1_1 1 Tf -3.6 -2.8 Td -(9.1)Tj -/T1_0 1 Tf -2.602 0 Td -(The)Tj -/TT0 1 Tf -2.151 0 Td -(init)Tj -/T1_0 1 Tf -2.877 0 Td -[(pr)18(ocess )-227(learns )-227(when )-227(a )-227(terminal )-227(user )-227(logs )-227(out, )-227(because)]TJ -/TT0 1 Tf -25.913 0 Td -(init)Tj -/T1_0 1 Tf -2.878 0 Td -[(is )-227(the)]TJ --33.819 -1.2 Td -[(par)18(ent )-156(of )-156(the )-156(login )-156(shell )-156(and )-156(r)18(eceives )-156(the)]TJ -/TT0 1 Tf -19.328 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.606 0 Td -[(signal )-156(when )-156(the )-156(login )-156(shell)]TJ --23.934 -1.2 Td -(terminates.)Tj -0 -1.8 TD -[(For )-65(a )-65(network )-65(login, )-65(however)72(,)]TJ -/TT0 1 Tf -13.864 0 Td -(init)Tj -/T1_0 1 Tf -2.716 0 Td -[(is )-65(not )-65(involved.)-565(Instead, )-65(the )-65(login )-65(entries )-65(in)]TJ --16.58 -1.2 Td -(the)Tj -/TT0 1 Tf -1.892 0 Td -(utmp)Tj -/T1_0 1 Tf -2.905 0 Td -(and)Tj -/TT0 1 Tf -2.198 0 Td -(wtmp)Tj -/T1_0 1 Tf -2.905 0 Td -[(\336les, )-255(and )-255(their )-255(corr)18(esponding )-255(logout )-255(entries, )-255(ar)]TJ -0.5046 Tc 22.248 0 Td -(eu)Tj -0 Tc 1.587 0 Td -(sually)Tj --33.733 -1.2 Td -[(written )-63(by )-63(the )-63(pr)17(ocess )-63(that )-63(handles )-63(the )-63(login )-63(and )-63(detects )-63(the )-63(logout )-63(\()]TJ -/TT0 1 Tf -31.012 0 Td -(telnetd)Tj -/T1_0 1 Tf -4.514 0 Td -(in)Tj --35.525 -1.2 Td -(our example\).)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46797 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.14)]TJ -/TT0 1 Tf -34.003 0 Td -(sigaction)Tj -/T1_0 1 Tf -5.9 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(351)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 6670.25 cm -0 0 m -3910 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 217.8109 658.9605 Tm -[(Fr)18(eeBSD )-250(Linux )-250(Mac)-250(OS X)-500(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-1827(3.2.0)-1735(10.6.8 )-2170(10)]TJ --9.77 0.625 Td -[(Option)-3034(SUS)]TJ -32.462 0 Td -(Description)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 6450.25 cm -0 0 m -3910 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 6430.25 cm -0 0 m -3910 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 133.584 634.9238 Tm -(SA_INTERRUPT)Tj -/T1_0 1 Tf -15.828 0 Td -(\245)Tj -10.444 0 Td -[(System calls interr)8(upted by this signal ar)]TJ -0.25 Tc 17.977 0 Td -(en)Tj -0 Tc 1.311 0 Td -(ot)Tj --19.287 -1.25 Td -[(automatically r)18(estarted \(the XSI default for)]TJ -/TT0 1 Tf -0 -1.25 TD -(sigaction)Tj -/T1_0 1 Tf -[(\). )-250(See)-250(Section 10.5 for mor)18(e)]TJ -T* -(information.)Tj -/TT0 1 Tf --26.272 -2.188 Td -(SA_NOCLDSTOP)Tj -/T1_0 1 Tf -2.7085 Tc 8.811 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -(If)Tj -/T1_2 1 Tf -0.92 0 Td -(signo)Tj -/T1_0 1 Tf -2.417 0 Td -(is)Tj -/TT0 1 Tf -0.965 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -[(,)-250(do)-250(not generate this signal)]TJ --4.302 -1.25 Td -[(when a child pr)18(ocess stops \(job contr)18(ol\). )-250(This)]TJ -T* -(signal is still generated, of course, when a child)Tj -T* -(terminates \(but see the)Tj -/TT0 1 Tf -10.269 0 Td -(SA_NOCLDWAIT)Tj -/T1_0 1 Tf -7.45 0 Td -(option)Tj --17.719 -1.25 Td -[(below\). )-250(When)-250(the XSI option is supported,)]TJ -/TT0 1 Tf -T* -(SIGCHLD)Tj -/T1_0 1 Tf -4.45 0 Td -(won\325t be sent when a stopped child)Tj --4.45 -1.25 Td -(continues if this \337ag is set.)Tj -/TT0 1 Tf --26.272 -2.188 Td -(SA_NOCLDWAIT)Tj -/T1_0 1 Tf -2.7085 Tc 8.811 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -(If)Tj -/T1_2 1 Tf -0.92 0 Td -(signo)Tj -/T1_0 1 Tf -2.417 0 Td -(is)Tj -/TT0 1 Tf -0.965 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -0.25 Tc (,t)Tj -0 Tc 5.026 0 Td -[(his option pr)18(events the)]TJ --9.328 -1.25 Td -[(system fr)18(om cr)18(eating zombie pr)18(ocesses when)]TJ -T* -[(childr)18(en of the calling pr)18(ocess terminate.)-500(If it)]TJ -T* -(subsequently calls)Tj -/TT0 1 Tf -8.33 0 Td -(wait)Tj -/T1_0 1 Tf -0.25 Tc (,t)Tj -0 Tc 3.226 0 Td -[(he calling pr)18(ocess)]TJ --11.556 -1.25 Td -[(blocks until all its child pr)18(ocesses have)]TJ -T* -[(terminated and then r)18(eturns)]TJ -/TT1 1 Tf -12.72 0 Td -(!)Tj -/T1_0 1 Tf -0.25 Tc (1w)Tj -0 Tc 2.133 0 Td -(ith)Tj -/TT0 1 Tf -1.449 0 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -(set)Tj --19.552 -1.25 Td -(to)Tj -/TT0 1 Tf -1.122 0 Td -(ECHILD)Tj -/T1_0 1 Tf -0.5 Tc (.\()Tj -0 Tc 4.683 0 Td -(Recall Section 10.7.\))Tj -/TT0 1 Tf --32.077 -2.188 Td -(SA_NODEFER)Tj -/T1_0 1 Tf -2.7085 Tc 8.811 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -(When this signal is caught, the signal is not)Tj -T* -(automatically blocked by the system while the)Tj -T* -(signal-catching function executes \(unless the)Tj -T* -(signal is also included in)Tj -/TT0 1 Tf -11.155 0 Td -(sa_mask)Tj -/T1_0 1 Tf -[(\). )-250(Note)-250(that)]TJ --11.155 -1.25 Td -[(this type of operation corr)18(esponds to the earlier)]TJ -T* -[(unr)18(eliable signals.)]TJ -/TT0 1 Tf --26.272 -2.188 Td -(SA_ONSTACK)Tj -/T1_0 1 Tf -8.35 0 Td -[(XSI )-1997(\245)]TJ -3.3795 Tc 7.478 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc 10.445 0 Td -[(If an alternative stack has been declar)18(ed with)]TJ -/TT0 1 Tf -T* -(sigaltstack)Tj -/T1_0 1 Tf -6.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.25 Tc 0.333 -0.04 Td -(,t)Tj -0 Tc 0.826 0 Td -[(his signal is deliver)18(ed to the)]TJ --8.592 -1.25 Td -[(pr)18(ocess on the alternative stack.)]TJ -/TT0 1 Tf --26.272 -2.188 Td -(SA_RESETHAND)Tj -/T1_0 1 Tf -2.7085 Tc 8.811 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -[(The disposition for this signal is r)18(eset to)]TJ -/TT0 1 Tf -T* -(SIG_DFL)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 5.2 0 Td -(nd the)Tj -/TT0 1 Tf -3.08 0 Td -(SA_SIGINFO)Tj -/T1_0 1 Tf -6.25 0 Td -[(\337ag is clear)18(ed)]TJ --14.53 -1.25 Td -[(on entry to the signal-catching function.)-500(Note)]TJ -T* -[(that this type of operation corr)18(esponds to the)]TJ -T* -[(earlier unr)18(eliable signals.)-500(The disposition for)]TJ -T* -(the two signals)Tj -/TT0 1 Tf -6.911 0 Td -(SIGILL)Tj -/T1_0 1 Tf -3.85 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(SIGTRAP)Tj -/T1_0 1 Tf -4.45 0 Td -(can\325t be)Tj --0.018 Tc -17.154 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(set automatically)Tj -0.25 Tc 7.425 0 Td -(,h)Tj -0 Tc 1.082 0 Td -(owever)Tj -0.5 Tc 3.224 0 Td -(.S)Tj -0 Tc 1.275 0 Td -(etting this \337ag)Tj --13.862 -1.25 Td -(can optionally cause)Tj -/TT0 1 Tf -9.256 0 Td -(sigaction)Tj -/T1_0 1 Tf -5.65 0 Td -(to behave as if)Tj -/TT0 1 Tf --14.906 -1.25 Td -(SA_NODEFER)Tj -/T1_0 1 Tf -6.25 0 Td -(is also set.)Tj -/TT0 1 Tf --32.522 -2.188 Td -(SA_RESTART)Tj -/T1_0 1 Tf -2.7085 Tc 8.811 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -[(System calls interr)8(upted by this signal ar)18(e)]TJ -T* -[(automatically r)18(estarted. )-250(\(Refer)-250(to Section 10.5.\))]TJ -/TT0 1 Tf --26.272 -2.188 Td -(SA_SIGINFO)Tj -/T1_0 1 Tf -2.7085 Tc 8.811 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -[(This option pr)18(ovides additional information to a)]TJ -T* -(signal handler: a pointer to a)Tj -/TT0 1 Tf -12.926 0 Td -(siginfo)Tj -/T1_0 1 Tf -4.45 0 Td -[(str)8(uctur)18(e)]TJ --17.376 -1.25 Td -[(and a pointer to an identi\336er for the pr)18(ocess)]TJ -T* -(context.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 1685.25 cm -0 0 m -3910 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3418.25 1685.25 cm -0 0 m -0 4985 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2158.25 1685.25 cm -0 0 m -0 4985 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1952.25 1685.25 cm -0 0 m -0 4985 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5206.25 1685.25 cm -0 0 m -0 4985 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 1685.25 cm -0 0 m -0 4985 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 200.3039 150.4729 Tm -(Figure 10.16)Tj -/T1_0 1 Tf -6.195 0 Td -(Option \337ags \()Tj -/TT0 1 Tf -(sa_flags)Tj -/T1_0 1 Tf -0.25 Tc (\)f)Tj -0 Tc 11.769 0 Td -(or the handling of each signal)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46798 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.7)]TJ -/TT0 1 Tf -35.279 0 Td -(SIGCLD)Tj -/T1_0 1 Tf -4.1 0 Td -(Semantics)Tj -/T1_1 1 Tf -6.454 0 Td -(333)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-5(semantics )-5(of )-5(the )-5(BSD)]TJ -/TT0 1 Tf -11.479 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.455 0 Td -[(signal )-5(ar)]TJ -0.2553 Tc 3.776 0 Td -(en)Tj -0 Tc 1.316 0 Td -[(ormal, )-5(in )-5(the )-5(sense )-5(that )-5(its )-5(semantics)]TJ --22.827 -1.2 Td -(ar)Tj -0.2712 Tc 0.877 0 Td -(es)Tj -0 Tc 1.174 0 Td -[(imilar )-21(to )-21(those )-21(of )-21(all )-21(other )-21(signals.)-521(When )-21(the )-21(signal )-21(occurs, )-21(the )-21(status )-21(of )-21(a )-21(child )-21(has)]TJ --2.051 -1.2 Td -[(changed, )-314(and )-314(we )-314(need )-314(to )-314(call )-314(one )-314(of )-314(the)]TJ -/TT0 1 Tf -20.505 0 Td -(wait)Tj -/T1_0 1 Tf -2.964 0 Td -[(functions )-314(to )-314(determine )-314(what )-314(has)]TJ --23.469 -1.2 Td -(happened.)Tj -1.8 -1.2 Td -[(System )-153(V)]TJ -0.403 Tc 4.189 0 Td -(,h)Tj -0 Tc 1.235 0 Td -(owever)Tj -0.403 Tc 3.224 0 Td -(,h)Tj -0 Tc 1.235 0 Td -[(as )-153(traditionally )-153(handled )-153(the)]TJ -/TT0 1 Tf -13.085 0 Td -(SIGCLD)Tj -/T1_0 1 Tf -4.003 0 Td -[(signal )-153(dif)18(fer)18(ently )-153(fr)18(om)]TJ --28.771 -1.2 Td -[(other )-680(signals.)-1180(SVR4)]TJ -10.171 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-680(systems )-680(continue )-680(this )-680(questionable )-680(tradition )-680(\(i.e.,)]TJ --10.504 -1.2 Td -[(compatibility )-112(constraint\) )-112(if )-112(we )-112(set )-112(its )-112(disposition )-112(using )-112(either)]TJ -/TT0 1 Tf -28.053 0 Td -(signal)Tj -/T1_0 1 Tf -3.962 0 Td -(or)Tj -/TT0 1 Tf -1.303 0 Td -(sigset)Tj -/T1_0 1 Tf -3.962 0 Td -(\(the)Tj --37.28 -1.2 Td -(older)Tj -0.267 Tc 2.248 0 Td -(,S)Tj -0 Tc 1.042 0 Td -[(VR3-compatible )-17(functions )-17(to )-17(set )-17(the )-17(disposition )-17(of )-17(a )-17(signal\).)-517(This )-17(older )-17(handling)]TJ --3.29 -1.2 Td -(of)Tj -/TT0 1 Tf -1.129 0 Td -(SIGCLD)Tj -/T1_0 1 Tf -3.85 0 Td -(consists of the following behavior:)Tj --3.179 -2.16 Td -[(1. )-633(If)-288(the )-38(pr)18(ocess )-38(speci\336cally )-38(sets )-38(its )-38(disposition )-38(to)]TJ -/TT0 1 Tf -22.718 0 Td -(SIG_IGN)Tj -/T1_0 1 Tf -0.2885 Tc (,c)Tj -0 Tc 5.182 0 Td -[(hildr)18(en )-38(of )-38(the )-38(calling)]TJ --26.268 -1.2 Td -[(pr)18(ocess )-95(will )-95(not )-95(generate )-95(zombie )-95(pr)19(ocesses. )-345(Note)-345(that )-95(this )-95(is )-95(dif)18(fer)18(ent )-95(fr)18(om )-95(its)]TJ -0 -1.2 TD -[(default )-78(action )-78(\()]TJ -/TT0 1 Tf -(SIG_DFL)Tj -/T1_0 1 Tf -[(\), )-78(which )-78(fr)18(om )-78(Figur)]TJ -0.3281 Tc 19.844 0 Td -(e1)Tj -0 Tc 1.307 0 Td -[(0.1 )-78(is )-78(to )-78(be )-78(ignor)18(ed. )-328(Instead,)-328(on)]TJ --21.151 -1.2 Td -[(termination, )-96(the )-96(status )-96(of )-96(these )-96(child )-96(pr)16(ocesses )-96(is )-96(discar)17(ded. )-346(If)-347(it )-96(subsequently)]TJ --0 -1.2 Td -[(calls )-289(one )-289(of )-289(the)]TJ -/TT0 1 Tf -7.981 0 Td -(wait)Tj -/T1_0 1 Tf -2.939 0 Td -[(functions, )-289(the )-289(calling )-289(pr)17(ocess )-289(will )-289(block )-289(until )-289(all )-289(its)]TJ --10.921 -1.2 Td -[(childr)18(en )-32(have )-32(terminated, )-32(and )-32(then)]TJ -/TT0 1 Tf -15.976 0 Td -(wait)Tj -/T1_0 1 Tf --0.018 Tc 2.682 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -/TT1 1 Tf -2.612 0 Td -(!)Tj -/T1_0 1 Tf -0.2818 Tc (1w)Tj -0 Tc 2.165 0 Td -(ith)Tj -/TT0 1 Tf -1.481 0 Td -(errno)Tj -/T1_0 1 Tf -3.282 0 Td -[(set )-32(to)]TJ -/TT0 1 Tf -2.665 0 Td -(ECHILD)Tj -/T1_0 1 Tf -(.)Tj --31.717 -1.2 Td -[(\(The )-80(default )-80(disposition )-80(of )-80(this )-80(signal )-80(is )-80(to )-80(be )-80(ignor)19(ed, )-80(but )-80(this )-80(default )-80(will )-80(not)]TJ -T* -[(cause )-101(the )-101(pr)18(eceding )-101(semantics )-101(to )-101(occur)]TJ -0.6009 Tc 17.594 0 Td -(.I)Tj -0 Tc 1.188 0 Td -[(nstead, )-101(we )-101(speci\336cally )-101(have )-101(to )-101(set )-101(its)]TJ --18.782 -1.2 Td -(disposition to)Tj -/TT0 1 Tf -6.305 0 Td -(SIG_IGN)Tj -/T1_0 1 Tf -(.\))Tj -7.9995 0 0 7.9995 201.5882 435.3739 Tm -[(POSIX.1 )-144(does )-144(not )-144(specify )-144(what )-144(happens )-144(when)]TJ -/TT0 1 Tf -21.559 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.594 0 Td -[(is )-144(ignor)18(ed, )-144(so )-144(this )-144(behavior )-144(is)]TJ --26.153 -1.25 Td -[(allowed. )-250(The)-250(XSI option r)18(equir)18(es this behavior to be supported for)]TJ -/TT0 1 Tf -29.785 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -(.)Tj --29.785 -2.5 Td -[(4.4BSD )-102(always )-102(generates )-102(zombies )-102(if)]TJ -/TT0 1 Tf -16.543 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.552 0 Td -[(is )-102(ignor)18(ed. )-352(If)-351(we )-102(want )-102(to )-102(avoid )-102(zombies,)]TJ --21.095 -1.25 Td -[(we )-15(have )-15(to)]TJ -/TT0 1 Tf -5.106 0 Td -(wait)Tj -/T1_0 1 Tf -2.665 0 Td -[(for )-15(our )-15(childr)18(en. )-265(W)55(ith )-15(SVR4, )-15(if )-15(either)]TJ -/TT0 1 Tf -16.815 0 Td -(signal)Tj -/T1_0 1 Tf -3.865 0 Td -(or)Tj -/TT0 1 Tf -1.206 0 Td -(sigset)Tj -/T1_0 1 Tf -3.865 0 Td -[(is )-15(called )-15(to )-15(set)]TJ --33.523 -1.25 Td -[(the )-340(disposition )-340(of)]TJ -/TT0 1 Tf -8.969 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.79 0 Td -[(to )-340(be )-340(ignor)18(ed, )-340(zombies )-340(ar)]TJ -0.59 Tc 12.509 0 Td -(en)Tj -0 Tc 1.651 0 Td -[(ever )-340(generated.)-840(All )-340(four)]TJ --27.918 -1.25 Td -[(platforms described in this book follow SVR4 in this behavior)74(.)]TJ --0.055 Tc 0 -2.5 TD -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj -/TT0 1 Tf -1.287 0 Td -(sigaction)Tj -/T1_0 1 Tf -[(,)-379(we)-379(can )-129(set )-129(the)]TJ -/TT0 1 Tf -13 0 Td -(SA_NOCLDWAIT)Tj -/T1_0 1 Tf -7.579 0 Td -[(\337ag )-129(\(Figur)]TJ -0.379 Tc 4.759 0 Td -(e1)Tj -0 Tc 1.358 0 Td -[(0.16\) )-129(to )-129(avoid )-129(zombies.)]TJ --29.219 -1.25 Td -(This action is also supported on all four platforms.)Tj -9.9994 0 0 9.9994 147.5906 321.3807 Tm -[(2. )-633(If)-285(we )-35(set )-35(the )-35(disposition )-35(of)]TJ -/TT0 1 Tf -13.753 0 Td -(SIGCLD)Tj -/T1_0 1 Tf -3.885 0 Td -[(to )-35(be )-35(caught, )-35(the )-35(kernel )-35(immediately )-35(checks)]TJ --16.005 -1.2 Td -[(whether )-190(any )-190(child )-190(pr)18(ocesses )-190(ar)]TJ -0.4403 Tc 14.37 0 Td -(er)Tj -0 Tc 1.296 0 Td -[(eady )-190(to )-190(be)]TJ -/TT0 1 Tf -5.371 0 Td -(wait)Tj -/T1_0 1 Tf -[(ed )-190(for )-190(and, )-190(if )-190(so, )-190(calls )-190(the)]TJ -/TT0 1 Tf --21.037 -1.2 Td -(SIGCLD)Tj -/T1_0 1 Tf -3.85 0 Td -[(handler)74(.)]TJ --7.283 -2.28 Td -[(Item )-2(2 )-2(changes )-2(the )-2(way )-2(we )-2(have )-2(to )-2(write )-2(a )-2(signal )-2(handler )-2(for )-2(this )-2(signal, )-2(as )-2(illustrated )-2(in)]TJ -0 -1.2 TD -(the following example.)Tj -/TT2 1 Tf --3.6 -3.12 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(Recall )-82(fr)18(om )-82(Section )-82(10.4 )-82(that )-82(the )-82(\336rst )-82(thing )-82(to )-82(do )-82(on )-82(entry )-82(to )-82(a )-82(signal )-82(handler )-82(is )-82(to )-82(call)]TJ -/TT0 1 Tf -T* -(signal)Tj -/T1_0 1 Tf -4.084 0 Td -[(again, )-233(to )-233(r)17(eestablish )-234(the )-234(handler)]TJ -0.7336 Tc 14.964 0 Td -(.\()Tj -0 Tc 1.317 0 Td -[(This )-234(action )-234(is )-234(intended )-234(to )-234(minimize )-234(the)]TJ --20.364 -1.2 Td -[(window )-2(of )-2(time )-2(when )-2(the )-2(signal )-2(is )-2(r)17(eset )-2(back )-2(to )-2(its )-2(default )-2(and )-2(could )-2(get )-2(lost.\))]TJ --0.092 Tc 34.975 0 Td -[(We )-186(s)]TJ -0 Tc 2.063 0 Td -(how)Tj --37.038 -1.2 Td -[(this )-48(in )-48(Figur)]TJ -0.2978 Tc 5.475 0 Td -(e1)Tj -0 Tc 1.277 0 Td -[(0.6. )-298(This)-298(pr)18(ogram )-48(doesn\325t )-48(work )-48(on )-48(traditional )-48(System )-48(V )-48(platforms.)-547(The)]TJ --6.751 -1.2 Td -[(output )-131(is )-131(a )-131(continual )-131(string )-131(of)]TJ -/TT0 1 Tf -14.125 0 Td -[(SIGCLD )219(received)]TJ -/T1_0 1 Tf -9.162 0 Td -[(lines. )-381(Eventually)]TJ -0.3811 Tc 7.641 0 Td -(,t)Tj -0 Tc 0.957 0 Td -[(he )-131(pr)18(ocess )-131(r)8(uns)]TJ --31.886 -1.2 Td -[(out of stack space and terminates abnormally)111(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46799 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Chapter )-250(8)]TJ -39.788 0 Td -[(Exer)18(cises)]TJ -/T1_1 1 Tf -6.045 0 Td -(283)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(exec)Tj -/T1_0 1 Tf -2.954 0 Td -[(functions: )-304(interpr)18(eter )-304(\336les )-304(and )-304(how )-304(they )-304(operate.)-807(An )-304(understanding )-304(of )-304(the)]TJ --2.954 -1.2 Td -[(various )-294(user )-294(IDs )-294(and )-294(gr)18(oup )-294(IDs )-294(that )-294(ar)]TJ -0.5436 Tc 19.087 0 Td -(ep)Tj --0.018 Tc 1.624 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vided )167(\321 )167(r)17(eal, )-294(ef)18(fective, )-294(and )-294(saved)]TJ -0.0833 Tc 15.568 0 Td -(\321i)Tj -0 Tc 1.374 0 Td -(s)Tj --38.576 -1.2 Td -[(critical to writing safe set-user)18(-ID pr)18(ograms.)]TJ -1.8 -1.2 Td -[(Given )-47(an )-47(understanding )-47(of )-47(a )-47(single )-47(pr)18(ocess )-47(and )-47(its )-47(childr)18(en, )-47(in )-47(the )-47(next )-47(chapter )-47(we)]TJ --1.8 -1.2 Td -[(examine )-61(the )-61(r)18(elationship )-61(of )-61(a )-61(pr)18(ocess )-61(to )-61(other )-61(pr)16(ocesses )167(\321 )167(sessions)-312(and )-61(job )-61(contr)17(ol. )-311(W)92(e)]TJ -0 -1.2 TD -[(then complete our discussion of pr)18(ocesses in Chapter 10 when we describe signals.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 129.5923 560.9663 Tm -[(Ex)10(er)20(cises)]TJ -/T1_1 1 Tf -8.9995 0 0 8.9995 129.5923 539.9676 Tm -(8.1)Tj -/T1_0 1 Tf -2.602 0 Td -[(In )-76(Figur)]TJ -0.3259 Tc 3.628 0 Td -(e8)Tj -0 Tc 1.305 0 Td -[(.3, )-76(we )-76(said )-76(that )-76(r)18(eplacing )-76(the )-76(call )-76(to)]TJ -/TT0 1 Tf -16.386 0 Td -(_exit)Tj -/T1_0 1 Tf -3.326 0 Td -[(with )-76(a )-76(call )-76(to)]TJ -/TT0 1 Tf -6.234 0 Td -(exit)Tj -/T1_0 1 Tf -2.726 0 Td -[(might )-76(cause )-76(the)]TJ --33.605 -1.222 Td -(standar)Tj -0.4797 Tc 3.32 0 Td -(do)Tj -0 Tc 1.637 0 Td -[(utput )-230(to )-230(be )-230(closed )-230(and)]TJ -/TT0 1 Tf -11.249 0 Td -(printf)Tj -/T1_0 1 Tf -4.08 0 Td -[(to )-230(r)18(eturn)]TJ -/TT2 1 Tf -4.593 0 Td -(!)Tj -/T1_0 1 Tf -[(1. )-480(Modify)-479(the )-230(pr)18(ogram )-230(to )-230(check)]TJ --24.879 -1.222 Td -[(whether )-89(your )-89(implementation )-89(behaves )-89(this )-89(way)]TJ -0.589 Tc 21.517 0 Td -(.I)Tj -0 Tc 1.176 0 Td -[(f)-339(it)-339(does )-89(not, )-89(how )-89(can )-89(you )-89(simulate )-89(this)]TJ --22.693 -1.222 Td -(behavior?)Tj -/T1_1 1 Tf --2.602 -1.667 Td -(8.2)Tj -/T1_0 1 Tf -2.602 0 Td -[(Recall )-391(the )-391(typical )-391(arrangement )-391(of )-391(memory )-391(in )-391(Figur)]TJ -0.6407 Tc 25.108 0 Td -(e7)Tj -0 Tc 1.62 0 Td -[(.6. )-641(Because)-640(the )-391(stack )-391(frames)]TJ --26.727 -1.222 Td -[(corr)18(esponding )-202(to )-202(each )-202(function )-202(call )-202(ar)]TJ -0.4523 Tc 17.683 0 Td -(eu)Tj -0 Tc 1.534 0 Td -[(sually )-202(stor)18(ed )-202(in )-202(the )-202(stack, )-202(and )-202(because )-202(after )-202(a)]TJ -/TT0 1 Tf --19.217 -1.222 Td -(vfork)Tj -/T1_0 1 Tf -3.305 0 Td -[(the )-56(child )-56(r)8(uns )-56(in )-56(the )-56(addr)18(ess )-56(space )-56(of )-56(the )-56(par)18(ent, )-56(what )-56(happens )-56(if )-56(the )-56(call )-56(to)]TJ -/TT0 1 Tf -34.426 0 Td -(vfork)Tj -/T1_0 1 Tf --37.731 -1.222 Td -[(is )-70(fr)18(om )-70(a )-70(function )-70(other )-70(than)]TJ -/TT0 1 Tf -13.3 0 Td -(main)Tj -/T1_0 1 Tf -2.72 0 Td -[(and )-70(the )-70(child )-70(does )-70(a )-70(r)18(eturn )-70(fr)18(om )-70(this )-70(function )-70(after )-70(the)]TJ -/TT0 1 Tf --16.02 -1.222 Td -(vfork)Tj -/T1_0 1 Tf -0.5 Tc (?W)Tj -0 Tc 4.87 0 Td -[(rite a test pr)18(ogram to verify this, and draw a pictur)18(e)-250(of)-250(what\325s happening.)]TJ -/T1_1 1 Tf --7.472 -1.667 Td -(8.3)Tj -/T1_0 1 Tf -2.602 0 Td -[(Rewrite )-248(the )-248(pr)18(ogram )-248(in )-248(Figur)]TJ -0.4976 Tc 13.963 0 Td -(e8)Tj -0 Tc 1.477 0 Td -[(.6 )-248(to )-248(use)]TJ -/TT0 1 Tf -4.621 0 Td -(waitid)Tj -/T1_0 1 Tf -4.098 0 Td -[(instead )-248(of)]TJ -/TT0 1 Tf -5.087 0 Td -(wait)Tj -/T1_0 1 Tf -0.7477 Tc (.I)Tj -0 Tc 3.735 0 Td -[(nstead )-248(of )-248(calling)]TJ -/TT0 1 Tf --32.98 -1.222 Td -(pr_exit)Tj -/T1_0 1 Tf -0.25 Tc (,d)Tj -0 Tc 5.311 0 Td -[(etermine the equivalent information fr)18(om the)]TJ -/TT0 1 Tf -20.278 0 Td -(siginfo)Tj -/T1_0 1 Tf -4.45 0 Td -[(str)8(uctur)18(e.)]TJ -/T1_1 1 Tf --32.641 -1.667 Td -(8.4)Tj -/T1_0 1 Tf -2.602 0 Td -[(When we execute the pr)18(ogram in Figur)]TJ -0.25 Tc 17.283 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.13 one time, as in)Tj -/TT0 1 Tf --16.512 -1.8 Td -($)Tj -/TT3 1 Tf -1.2 0 Td -(./a.out)Tj -/T1_0 1 Tf --3.2 -1.833 Td -[(the )-181(output )-181(is )-181(corr)17(ect. )-431(But)-432(if )-181(we )-181(execute )-181(the )-181(pr)18(ogram )-181(multiple )-181(times, )-181(one )-181(right )-181(after )-181(the)]TJ --0 -1.222 Td -[(other)74(,)-250(as)-250(in)]TJ -/TT0 1 Tf -2 -1.8 Td -($)Tj -/TT3 1 Tf -1.2 0 Td -(./a.out ; ./a.out ; ./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(output from parent)Tj -0 -1.189 TD -(ooutput from parent)Tj -T* -(ouotuptut from child)Tj -T* -(put from parent)Tj -T* -(output from child)Tj -T* -(utput from child)Tj -/T1_0 1 Tf --2 -1.833 Td -[(the )-76(output )-76(is )-76(not )-76(corr)20(ect. )-326(What\325s)-326(happening? )-326(How)-324(can )-76(we )-76(corr)19(ect )-76(this?)-576(Can )-76(this )-76(pr)19(oblem)]TJ --0 -1.222 Td -(happen if we let the child write its output \336rst?)Tj -/T1_1 1 Tf --2.602 -1.667 Td -(8.5)Tj -/T1_0 1 Tf -2.602 0 Td -[(In )-294(the )-294(pr)18(ogram )-294(shown )-294(in )-294(Figur)]TJ -0.5444 Tc 15.11 0 Td -(e8)Tj -0 Tc 1.523 0 Td -[(.20, )-294(we )-294(call)]TJ -/TT0 1 Tf -5.972 0 Td -(execl)Tj -/T1_0 1 Tf -0.5443 Tc (,s)Tj -0 Tc 4.218 0 Td -[(pecifying )-294(the)]TJ -/T1_2 1 Tf -6.609 0 Td -(pathname)Tj -/T1_0 1 Tf -4.488 0 Td -[(of )-294(the)]TJ --37.921 -1.222 Td -[(interpr)18(eter )-104(\336le.)-604(If )-104(we )-104(called)]TJ -/TT0 1 Tf -12.973 0 Td -(execlp)Tj -/T1_0 1 Tf -3.954 0 Td -[(instead, )-104(specifying )-104(a)]TJ -/T1_2 1 Tf -9.581 0 Td -(\336lename)Tj -/T1_0 1 Tf -3.716 0 Td -(of)Tj -/TT0 1 Tf -1.233 0 Td -(testinterp)Tj -/T1_0 1 Tf -0.3539 Tc (,a)Tj -0 Tc 7.104 0 Td -[(nd )-104(if)]TJ --38.56 -1.222 Td -[(the )-10(dir)18(ectory)]TJ -/TT0 1 Tf -5.932 0 Td -(/home/sar/bin)Tj -/T1_0 1 Tf -8.06 0 Td -[(was )-10(a )-10(path )-10(pr)18(e\336x, )-10(what )-10(would )-10(be )-10(printed )-10(as)]TJ -/TT0 1 Tf -19.802 0 Td -(argv[2])Tj -/T1_0 1 Tf -4.46 0 Td -(when)Tj --38.254 -1.222 Td -[(the pr)18(ogram is r)8(un?)]TJ -/T1_1 1 Tf --2.602 -1.667 Td -(8.6)Tj -/T1_0 1 Tf --0.074 Tc 2.602 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-17(a )-17(pr)18(ogram )-17(that )-17(cr)18(eates )-17(a )-17(zombie, )-17(and )-17(then )-17(call)]TJ -/TT0 1 Tf -22.076 0 Td -(system)Tj -/T1_0 1 Tf -3.867 0 Td -[(to )-17(execute )-17(the)]TJ -/TT0 1 Tf -6.386 0 Td -(ps)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.6 -0.04 Td -(command)Tj --36.282 -1.222 Td -[(to verify that the pr)18(ocess is a zombie.)]TJ -/T1_1 1 Tf --2.602 -1.667 Td -(8.7)Tj -/T1_0 1 Tf --0.092 Tc 2.602 0 Td -[(We )-350(m)]TJ -0 Tc 2.686 0 Td -[(entioned )-166(in )-166(Section )-166(8.10 )-166(that )-166(POSIX.1 )-166(r)16(equir)18(es )-166(open )-166(dir)18(ectory )-166(str)18(eams )-166(to )-166(be )-166(closed)]TJ --2.686 -1.222 Td -[(acr)18(oss )-145(an)]TJ -/TT0 1 Tf -4.586 0 Td -(exec)Tj -/T1_0 1 Tf -0.6447 Tc (.V)Tj -0 Tc 3.906 0 Td -[(erify )-145(this )-145(as )-145(follows: )-145(call)]TJ -/TT0 1 Tf -11.615 0 Td -(opendir)Tj -/T1_0 1 Tf -4.595 0 Td -[(for )-145(the )-145(r)18(oot )-145(dir)19(ectory)]TJ -0.3948 Tc 9.554 0 Td -(,p)Tj -0 Tc 1.246 0 Td -[(eek )-145(at )-145(your)]TJ --35.502 -1.222 Td -[(system\325s )-50(implementation )-50(of )-50(the)]TJ -/TT0 1 Tf -14.32 0 Td -(DIR)Tj -/T1_0 1 Tf -2.1 0 Td -[(str)8(uctur)18(e, )-50(and )-50(print )-50(the )-50(close-on-exec )-50(\337ag.)-551(Then)]TJ -/TT0 1 Tf -21.911 0 Td -(open)Tj -/T1_0 1 Tf --38.331 -1.222 Td -[(the same dir)18(ectory for r)18(eading, and print the close-on-exec \337ag.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46800 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(242)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(The)Tj -/TT0 1 Tf -1.938 0 Td -(waitpid)Tj -/T1_1 1 Tf -4.464 0 Td -[(function )-14(r)18(eturns )-14(the )-14(pr)18(ocess )-14(ID )-14(of )-14(the )-14(child )-14(that )-14(terminated )-14(and )-14(stor)18(es )-14(the)]TJ --6.401 -1.2 Td -[(child\325s )-59(termination )-59(status )-59(in )-59(the )-59(memory )-59(location )-59(pointed )-59(to )-59(by)]TJ -/T1_2 1 Tf -28.763 0 Td -(statloc)Tj -/T1_1 1 Tf -0.5593 Tc (.W)Tj -0 Tc 4.382 0 Td -(ith)Tj -/TT0 1 Tf -1.508 0 Td -(wait)Tj -/T1_1 1 Tf -0.3093 Tc (,t)Tj -0 Tc 3.285 0 Td -(he)Tj --37.939 -1.2 Td -[(only )-8(r)18(eal )-8(err)18(or )-8(is )-8(if )-8(the )-8(calling )-8(pr)18(ocess )-8(has )-8(no )-8(childr)18(en. )-258(\(Another)-258(err)18(or )-8(r)18(eturn )-8(is )-8(possible,)]TJ -0 -1.2 Td -[(in )-148(case )-148(the )-148(function )-148(call )-148(is )-148(interr)8(upted )-148(by )-148(a )-148(signal.)]TJ --0.092 Tc 23.87 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-148(discuss )-148(this )-148(in )-148(Chapter )-148(10.\))]TJ --0.055 Tc -25.257 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj -/TT0 1 Tf -1.335 0 Td -(waitpid)Tj -/T1_1 1 Tf -0.4266 Tc (,h)Tj -0 Tc 5.459 0 Td -(owever)Tj -0.4266 Tc 3.224 0 Td -(,i)Tj -0 Tc 0.968 0 Td -[(t\325s )-177(also )-177(possible )-177(to )-177(get )-177(an )-177(err)20(or )-177(if )-177(the )-177(speci\336ed )-177(pr)18(ocess )-177(or)]TJ --12.221 -1.2 Td -[(pr)18(ocess gr)18(oup does not exist or is not a child of the calling pr)18(ocess.)]TJ -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.252 0 Td -(options)Tj -/T1_1 1 Tf -3.522 0 Td -[(ar)18(gument )-328(lets )-328(us )-328(further )-328(contr)16(ol )-328(the )-328(operation )-328(of)]TJ -/TT0 1 Tf -24.237 0 Td -(waitpid)Tj -/T1_1 1 Tf -0.8283 Tc (.T)Tj -0 Tc 5.891 0 Td -(his)Tj --37.703 -1.2 Td -[(ar)18(gument )-17(either )-17(is )-17(0 )-17(or )-17(is )-17(constr)8(ucted )-17(fr)18(om )-17(the )-17(bitwise )-17(OR )-17(of )-17(the )-17(constants )-17(in )-17(Figur)]TJ -0.2667 Tc 36.754 0 Td -(e8)Tj -0 Tc 1.246 0 Td -(.7.)Tj -7.9995 0 0 7.9995 183.5886 562.9662 Tm -[(Fr)18(eeBSD )-2(8.0 )-2(and )-2(Solaris )-2(10 )-2(support )-2(one )-2(additional, )-2(but )-2(nonstandar)18(d,)]TJ -/T1_2 1 Tf -30.511 0 Td -(option)Tj -/T1_1 1 Tf -2.807 0 Td -(constant.)Tj -/TT0 1 Tf -4.482 0 Td -(WNOWAIT)Tj -/T1_1 1 Tf --37.8 -1.25 Td -[(has )-106(the )-106(system )-106(keep )-106(the )-106(pr)16(ocess )-107(whose )-107(termination )-107(status )-107(is )-107(r)18(eturned )-107(by)]TJ -/TT0 1 Tf -33.406 0 Td -(waitpid)Tj -/T1_1 1 Tf -4.557 0 Td -[(in )-107(a )-107(wait)]TJ --37.963 -1.25 Td -(state, so that it may be waited for again.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1646.25 5170.25 cm -0 0 m -3200 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 176.5988 508.9389 Tm -(Constant )Tj -19.671 0 Td -(Description)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1646.25 5050.25 cm -0 0 m -3200 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1646.25 5030.25 cm -0 0 m -3200 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 168.5697 494.9109 Tm -(WCONTINUED)Tj -/T1_1 1 Tf -7.5 0 Td -[(If the implementation supports job contr)18(ol, the status of any child)]TJ -0 -1.25 TD -(speci\336ed by)Tj -/T1_2 1 Tf -5.543 0 Td -(pid)Tj -/T1_1 1 Tf -1.528 0 Td -(that has been continued after being stopped, but)Tj --7.071 -1.25 Td -[(whose status has not yet been r)18(eported, is r)18(eturned \(XSI option\).)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1646.25 4710.25 cm -0 0 m -3200 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 168.5595 462.8889 Tm -(WNOHANG)Tj -/T1_1 1 Tf -7.5 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(waitpid)Tj -/T1_1 1 Tf -4.45 0 Td -(function will not block if a child speci\336ed by)Tj -/T1_2 1 Tf -19.894 0 Td -(pid)Tj -/T1_1 1 Tf -1.528 0 Td -(is not)Tj --27.796 -1.25 Td -[(immediately available.)-500(In this case, the r)18(eturn value is 0.)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1646.25 4490.25 cm -0 0 m -3200 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 168.5494 440.8677 Tm -(WUNTRACED)Tj -/T1_1 1 Tf -7.5 0 Td -[(If the implementation supports job contr)18(ol, the status of any child)]TJ -T* -(speci\336ed by)Tj -/T1_2 1 Tf -5.543 0 Td -(pid)Tj -/T1_1 1 Tf -1.528 0 Td -(that has stopped, and whose status has not been)Tj --0.018 Tc -7.071 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(ported since it has stopped, is r)18(eturned. )-250(The)]TJ -/TT0 1 Tf -19.88 0 Td -(WIFSTOPPED)Tj -/T1_1 1 Tf -6.25 0 Td -[(macr)18(o)]TJ --26.986 -1.25 Td -[(determines whether the r)18(eturn value corr)18(esponds to a stopped child)]TJ -T* -[(pr)18(ocess.)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1646.25 3970.25 cm -0 0 m -3200 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2226.25 3970.25 cm -0 0 m -0 1200 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4846.25 3970.25 cm -0 0 m -0 1200 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1646.25 3970.25 cm -0 0 m -0 1200 l -S -Q -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 243.7482 378.8636 Tm -(Figure 8.7)Tj -/T1_1 1 Tf -4.945 0 Td -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(options)Tj -/T1_1 1 Tf -3.194 0 Td -(constants for)Tj -/TT0 1 Tf -5.928 0 Td -(waitpid)Tj -/T1_1 1 Tf -9.9964 0 0 9.9964 147.5471 347.6748 Tm -(The)Tj -/TT0 1 Tf -2.102 0 Td -(waitpid)Tj -/T1_1 1 Tf -4.628 0 Td -[(function )-178(pr)18(ovides )-178(thr)18(ee )-178(featur)18(es )-178(that )-178(ar)18(en\325t )-178(pr)18(ovided )-178(by )-178(the)]TJ -/TT0 1 Tf -28.07 0 Td -(wait)Tj -/T1_1 1 Tf --36.6 -1.2 Td -(function.)Tj -1.8 -2.04 Td -[(1. )-633(The)]TJ -/TT0 1 Tf -3.578 0 Td -(waitpid)Tj -/T1_1 1 Tf -4.471 0 Td -[(function )-21(lets )-21(us )-21(wait )-21(for )-21(one )-21(particular )-21(pr)17(ocess, )-21(wher)18(eas )-21(the)]TJ -/TT0 1 Tf -26.751 0 Td -(wait)Tj -/T1_1 1 Tf --33.167 -1.2 Td -[(function )-81(r)18(eturns )-81(the )-81(status )-81(of )-81(any )-81(terminated )-81(child.)]TJ --0.092 Tc 23.641 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-81(r)18(eturn )-81(to )-81(this )-81(featur)17(e)]TJ --25.028 -1.2 Td -(when we discuss the)Tj -/TT0 1 Tf -9.398 0 Td -(popen)Tj -/T1_1 1 Tf -3.25 0 Td -(function.)Tj --14.281 -1.6 Td -[(2. )-633(The)]TJ -/TT0 1 Tf -3.819 0 Td -(waitpid)Tj -/T1_1 1 Tf -4.712 0 Td -[(function )-262(pr)18(ovides )-262(a )-262(nonblocking )-262(version )-262(of)]TJ -/TT0 1 Tf -20.861 0 Td -(wait)Tj -/T1_1 1 Tf -0.7616 Tc (.T)Tj -0 Tc 4.025 0 Td -(her)Tj -0.5116 Tc 1.438 0 Td -(ea)Tj --0.018 Tc 1.491 0 Td -(re)Tj -0 Tc -34.711 -1.2 Td -(times when we want to fetch a child\325s status, but we don\325t want to\ block.)Tj --1.633 -1.6 Td -[(3. )-633(The)]TJ -/TT0 1 Tf -3.713 0 Td -(waitpid)Tj -/T1_1 1 Tf -4.606 0 Td -[(function )-156(pr)18(ovides )-156(support )-156(for )-156(job )-156(contr)18(ol )-156(with )-156(the)]TJ -/TT0 1 Tf -23.482 0 Td -(WUNTRACED)Tj -/T1_1 1 Tf --30.167 -1.2 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(WCONTINUED)Tj -/T1_1 1 Tf -6.25 0 Td -(options.)Tj -/TT1 1 Tf --15.226 -3.24 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(Recall )-209(our )-209(discussion )-209(in )-209(Section )-209(8.5 )-209(about )-209(zombie )-209(pr)17(ocesses. )-459(If)-459(we )-209(want )-209(to )-209(write )-209(a)]TJ -0 -1.2 TD -[(pr)18(ocess )-36(so )-36(that )-36(it)]TJ -/TT0 1 Tf -7.759 0 Td -(fork)Tj -/T1_1 1 Tf -0.2858 Tc (sac)Tj -0 Tc 4.34 0 Td -[(hild )-36(but )-36(we )-36(don\325t )-36(want )-36(to )-36(wait )-36(for )-36(the )-36(child )-36(to )-36(complete )-36(and)]TJ --12.098 -1.2 Td -[(we )-24(don\325t )-24(want )-24(the )-24(child )-24(to )-24(become )-24(a )-24(zombie )-24(until )-24(we )-24(terminate, )-24(the )-24(trick )-24(is )-24(to )-24(call)]TJ -/TT0 1 Tf -36.601 0 Td -(fork)Tj -/T1_1 1 Tf --36.601 -1.2 Td -[(twice. )-250(The)-250(pr)18(ogram in Figur)]TJ -0.25 Tc 12.662 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.8 does this.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46801 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(238)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-58(\336nal )-58(condition )-58(to )-58(consider )-58(is )-58(this: )-58(What )-58(happens )-58(when )-58(a )-58(pr)16(ocess )-58(that )-58(has )-58(been)]TJ --1.8 -1.2 Td -[(inherited )-50(by)]TJ -/TT0 1 Tf -5.746 0 Td -(init)Tj -/T1_1 1 Tf -2.7 0 Td -[(terminates? )-300(Does)-301(it )-50(become )-50(a )-50(zombie?)-550(The )-50(answer )-50(is )-50(\324)34(\324no,\325)]TJ -0.3003 Tc 26.494 0 Td -(\325b)Tj -0 Tc 1.131 0 Td -(ecause)Tj -/TT0 1 Tf --36.071 -1.2 Td -(init)Tj -/T1_1 1 Tf -2.747 0 Td -[(is )-97(written )-97(so )-97(that )-97(whenever )-97(one )-97(of )-97(its )-97(childr)18(en )-97(terminates,)]TJ -/TT0 1 Tf -26.64 0 Td -(init)Tj -/T1_1 1 Tf -2.747 0 Td -[(calls )-97(one )-97(of )-97(the)]TJ -/TT0 1 Tf --32.135 -1.2 Td -(wait)Tj -/T1_1 1 Tf -2.662 0 Td -[(functions )-12(to )-12(fetch )-12(the )-12(termination )-12(status.)-511(By )-12(doing )-12(this,)]TJ -/TT0 1 Tf -24.841 0 Td -(init)Tj -/T1_1 1 Tf -2.662 0 Td -[(pr)18(events )-12(the )-12(system)]TJ --30.164 -1.2 Td -[(fr)18(om )-204(being )-204(clogged )-204(by )-204(zombies.)-704(When )-204(we )-204(say )-204(\324)37(\324one )-204(of)]TJ -/TT0 1 Tf -26.352 0 Td -(init)Tj -/T1_1 1 Tf -[(\325s )-204(childr)18(en,\325)]TJ -0.4543 Tc 7.704 0 Td -(\325w)Tj -0.4544 Tc 1.566 0 Td -(em)Tj -0 Tc 1.816 0 Td -(ean)Tj --37.439 -1.2 Td -[(either )-194(a )-194(pr)18(ocess )-194(that)]TJ -/TT0 1 Tf -9.856 0 Td -(init)Tj -/T1_1 1 Tf -2.844 0 Td -[(generates )-194(dir)18(ectly )-194(\(such )-194(as)]TJ -/TT0 1 Tf -12.68 0 Td -(getty)Tj -/T1_1 1 Tf -0.4437 Tc (,w)Tj -0 Tc 4.528 0 Td -[(hich )-194(we )-194(describe )-194(in)]TJ --29.908 -1.2 Td -[(Section )-267(9.2\) )-267(or )-267(a )-267(pr)18(ocess )-267(whose )-267(par)16(ent )-267(has )-267(terminated )-267(and )-267(has )-267(been )-267(subsequently)]TJ -0 -1.2 TD -(inherited by)Tj -/TT0 1 Tf -5.645 0 Td -(init)Tj -/T1_1 1 Tf -(.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5938 548.9671 Tm -(8.6)Tj -/TT2 1 Tf -3 0 Td -(wait)Tj -/TT1 1 Tf -2.956 0 Td -(and)Tj -/TT2 1 Tf -2.334 0 Td -(waitpid)Tj -/TT1 1 Tf -4.756 0 Td -(Functions)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5912 524.9685 Tm -[(When )-15(a )-15(pr)18(ocess )-15(terminates, )-15(either )-15(normally )-15(or )-15(abnormally)]TJ -0.265 Tc 25.751 0 Td -(,t)Tj -0 Tc 0.841 0 Td -[(he )-15(kernel )-15(noti\336es )-15(the )-15(par)18(ent)]TJ --26.592 -1.2 Td -[(by )-82(sending )-82(the)]TJ -/TT0 1 Tf -7.019 0 Td -(SIGCHLD)Tj -/T1_1 1 Tf -4.532 0 Td -[(signal )-82(to )-82(the )-82(par)17(ent. )-332(Because)-333(the )-83(termination )-83(of )-83(a )-83(child )-83(is )-83(an)]TJ --11.551 -1.2 Td -[(asynchr)18(onous )-249(event)]TJ -0.0833 Tc 9.179 0 Td -(\321i)Tj -0.499 Tc 1.374 0 Td -(tc)Tj -0 Tc 1.269 0 Td -[(an )-249(happen )-249(at )-249(any )-249(time )-249(while )-249(the )-249(par)18(ent )-249(is )-249(r)8(unning )167(\321 )167(this)]TJ --11.823 -1.2 Td -[(signal )-139(is )-139(the )-139(asynchr)18(onous )-139(noti\336cation )-139(fr)18(om )-139(the )-139(kernel )-139(to )-139(the )-139(par)22(ent. )-389(The)-388(par)18(ent )-139(can)]TJ --0 -1.2 Td -[(choose )-89(to )-89(ignor)]TJ -0.3391 Tc 6.923 0 Td -(et)Tj -0 Tc 1.144 0 Td -[(his )-89(signal, )-89(or )-89(it )-89(can )-89(pr)18(ovide )-89(a )-89(function )-89(that )-89(is )-89(called )-89(when )-89(the )-89(signal)]TJ --8.067 -1.2 Td -[(occurs: )-31(a )-31(signal )-31(handler)]TJ -0.5308 Tc 10.458 0 Td -(.T)Tj -0 Tc 1.394 0 Td -[(he )-31(default )-31(action )-31(for )-31(this )-31(signal )-31(is )-31(to )-31(be )-31(ignor)19(ed. )-281(W)]TJ -0.2809 Tc 22.712 0 Td -(ed)Tj -0 Tc 1.371 0 Td -(escribe)Tj --35.935 -1.2 Td -[(these )-159(options )-159(in )-159(Chapter )-159(10.)-658(For )-159(now)92(,)-409(we)-409(need )-159(to )-159(be )-159(awar)]TJ -0.4088 Tc 27.264 0 Td -(et)Tj -0 Tc 1.214 0 Td -[(hat )-159(a )-159(pr)18(ocess )-159(that )-159(calls)]TJ -/TT0 1 Tf --28.478 -1.2 Td -(wait)Tj -/T1_1 1 Tf -2.65 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(waitpid)Tj -/T1_1 1 Tf -4.45 0 Td -(can)Tj -0.883 Tc -6.491 -2.04 Td -(\245B)Tj -0 Tc 2.1 0 Td -[(lock, if all of its childr)18(en ar)]TJ -0.25 Tc 11.747 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(till r)8(unning)]TJ -0.883 Tc -15 -1.6 Td -(\245R)Tj -0 Tc 2.157 0 Td -[(eturn )-346(immediately )-346(with )-346(the )-346(termination )-346(status )-346(of )-346(a )-346(child, )-346(if )-346(a )-346(child )-346(has)]TJ --0.668 -1.2 Td -(terminated and is waiting for its termination status to be fetched)Tj -0.883 Tc -1.489 -1.6 Td -(\245R)Tj -0 Tc 2.157 0 Td -[(eturn immediately with an err)18(or)74(,)-250(if)-250(it)-250(doesn\325t have any child pr)18(ocesses)]TJ --3.957 -2.04 Td -[(If )-6(the )-6(pr)18(ocess )-6(is )-6(calling)]TJ -/TT0 1 Tf -10.303 0 Td -(wait)Tj -/T1_1 1 Tf -2.656 0 Td -[(because )-6(it )-6(r)18(eceived )-6(the)]TJ -/TT0 1 Tf -10.236 0 Td -(SIGCHLD)Tj -/T1_1 1 Tf -4.456 0 Td -[(signal, )-6(we )-6(expect)]TJ -/TT0 1 Tf -7.821 0 Td -(wait)Tj -/T1_1 1 Tf -2.656 0 Td -(to)Tj --0.018 Tc -38.128 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(turn immediately)Tj -0.5 Tc 7.635 0 Td -(.B)Tj -0 Tc 1.361 0 Td -(ut if we call it at any random point in time, it can block.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5904 325.0805 Tm -(#include )Tj -0 -2.021 TD -(pid_t wait\(int *)Tj -/T1_2 1 Tf -(statloc)Tj -/TT0 1 Tf -(\);)Tj -0 -2.021 TD -(pid_t waitpid\(pid_t)Tj -/T1_2 1 Tf -12 0 Td -(pid)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.078 0 Td -(nt *)Tj -/T1_2 1 Tf -(statloc)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 6.828 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(options)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --9.341 -2.021 Td -[(Both r)18(eturn: pr)18(ocess ID if OK, 0 \(see later\), or)]TJ -/TT3 1 Tf -20.099 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2660.25 cm -0 0 m -0 681 l -3900 681 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 250.1 Tm -[(The dif)18(fer)18(ences between these two functions ar)18(e)-250(as)-250(follows:)]TJ -0.883 Tc 1.8 -2.04 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.354 0 Td -(wait)Tj -/T1_1 1 Tf -2.693 0 Td -[(function )-42(can )-42(block )-42(the )-42(caller )-42(until )-42(a )-42(child )-42(pr)18(ocess )-42(terminates, )-42(wher)13(eas)]TJ -/TT0 1 Tf --4.659 -1.2 Td -(waitpid)Tj -/T1_1 1 Tf -4.45 0 Td -[(has an option that pr)18(events it fr)18(om blocking.)]TJ -0.883 Tc -5.939 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.446 0 Td -(waitpid)Tj -/T1_1 1 Tf -4.586 0 Td -[(function )-135(doesn\325t )-135(wait )-135(for )-135(the )-135(child )-135(that )-135(terminates )-135(\336rst; )-135(it )-135(has )-135(a)]TJ --6.645 -1.2 Td -[(number of options that contr)18(ol which pr)18(ocess it waits for)74(.)]TJ --3.289 -2.04 Td -[(If )-76(a )-76(child )-76(has )-76(alr)18(eady )-76(terminated )-76(and )-76(is )-76(a )-76(zombie,)]TJ -/TT0 1 Tf -22.752 0 Td -(wait)Tj -/T1_1 1 Tf --0.018 Tc 2.726 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-76(immediately )-76(with )-76(that)]TJ --26.334 -1.2 Td -[(child\325s )-10(status.)-510(Otherwise, )-10(it )-10(blocks )-10(the )-10(caller )-10(until )-10(a )-10(child )-10(terminates.)-513(If )-10(the )-10(caller )-10(blocks)]TJ -0 -1.2 TD -[(and )-239(has )-239(multiple )-239(childr)18(en,)]TJ -/TT0 1 Tf -12.827 0 Td -(wait)Tj -/T1_1 1 Tf --0.018 Tc 2.889 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-239(when )-239(one )-239(terminates.)]TJ --0.092 Tc 13.555 0 Td -[(We )-423(c)]TJ -0 Tc 2.32 0 Td -[(an )-239(always )-239(tell)]TJ --32.448 -1.2 Td -[(which child terminated, because the pr)18(ocess ID is r)18(eturned by the function.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46802 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 452.343 708 Tm -(Contents)Tj -/T1_1 1 Tf -5.974 0 Td -(xiii)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 154.7907 667.9599 Tm -[(8.2 )-3012(Process)-556(Identi\336ers )-1882(227)]TJ -0 -1.3 TD -(8.3)Tj -/TT1 1 Tf -4.68 0 Td -(fork)Tj -/TT0 1 Tf -2.956 0 Td -[(Function )-1882(229)]TJ --7.636 -1.3 Td -(8.4)Tj -/TT1 1 Tf -4.68 0 Td -(vfork)Tj -/TT0 1 Tf -3.556 0 Td -[(Function )-1882(234)]TJ --8.236 -1.3 Td -(8.5)Tj -/TT1 1 Tf -4.68 0 Td -(exit)Tj -/TT0 1 Tf -2.956 0 Td -[(Functions )-1882(236)]TJ --7.636 -1.3 Td -(8.6)Tj -/TT1 1 Tf -4.68 0 Td -(wait)Tj -/TT0 1 Tf -2.956 0 Td -(and)Tj -/TT1 1 Tf -2.224 0 Td -(waitpid)Tj -/TT0 1 Tf -4.756 0 Td -[(Functions )-1882(238)]TJ --14.616 -1.3 Td -(8.7)Tj -/TT1 1 Tf -4.68 0 Td -(waitid)Tj -/TT0 1 Tf -4.156 0 Td -[(Function )-1882(244)]TJ --8.836 -1.3 Td -(8.8)Tj -/TT1 1 Tf -4.68 0 Td -(wait3)Tj -/TT0 1 Tf -3.556 0 Td -(and)Tj -/TT1 1 Tf -2.224 0 Td -(wait4)Tj -/TT0 1 Tf -3.556 0 Td -[(Functions )-1882(245)]TJ --14.016 -1.3 Td -[(8.9 )-3012(Race)-556(Conditions )-1882(245)]TJ -T* -(8.10)Tj -/TT1 1 Tf -4.68 0 Td -(exec)Tj -/TT0 1 Tf -2.956 0 Td -[(Functions )-1882(249)]TJ --7.636 -1.3 Td -[(8.11 )-2456(Changing)-556(User )-278(IDs )-278(and )-278(Group )-278(IDs)-2160(255)]TJ -0 -1.3 Td -[(8.12 )-2456(Inter)-30(preter )-278(Files)-2160(260)]TJ -T* -(8.13)Tj -/TT1 1 Tf -4.68 0 Td -(system)Tj -/TT0 1 Tf -4.156 0 Td -[(Function )-1882(264)]TJ --8.836 -1.3 Td -[(8.14 )-2456(Process)-556(Accounting )-1882(269)]TJ -T* -[(8.15 )-2456(User)-556(Identi\336cation )-1882(275)]TJ -T* -[(8.16 )-2456(Process)-556(Scheduling )-1882(276)]TJ -T* -[(8.17 )-2456(Process)-556(Times )-1882(280)]TJ -T* -[(8.18 )-2456(Summar)]TJ -2.16 Tc 8.488 0 Td -(y2)Tj -0 Tc 3.216 0 Td -(82)Tj -/TT2 1 Tf --14.224 -2.47 Td -[(Chapter )-278(9.)-2032(Pr)20(ocess )-278(Relationships)]TJ -34.118 0 Td -(285)Tj -/TT0 1 Tf --31.598 -1.82 Td -[(9.1 )-3012(Introduction)-2160(285)]TJ -T* -[(9.2 )-3012(T)120(er )253(minal)-556(Logins )-1882(285)]TJ -T* -[(9.3 )-3012(Netw)10(or )263(k)-556(Logins )-1882(290)]TJ -T* -[(9.4 )-3012(Process)-556(Groups )-1882(293)]TJ -T* -[(9.5 )-3012(Sessions)-2160(295)]TJ -T* -[(9.6 )-3012(Controlling)]TJ --0.12 Tc 10.015 0 Td -(Te)Tj -0.025 Tc 1.047 0 Td -(rm)Tj -0 Tc 1.191 0 Td -[(inal )-1882(296)]TJ --12.253 -1.3 Td -(9.7)Tj -/TT1 1 Tf -4.68 0 Td -(tcgetpgrp)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -6.234 0 Td -(tcsetpgrp)Tj -/TT0 1 Tf -0.556 Tc (,a)Tj -0 Tc 6.79 0 Td -(nd)Tj -/TT1 1 Tf -1.668 0 Td -(tcgetsid)Tj -/TT0 1 Tf --12.892 -1.3 Td -[(Functions )-1882(298)]TJ --6.48 -1.3 Td -[(9.8 )-3012(Job)-556(Control )-1882(299)]TJ -T* -[(9.9 )-3012(Shell)-556(Ex)30(ecution )-278(of )-278(Prog)]TJ --0.01 Tc 15.868 0 Td -(ra)Tj -0 Tc 0.879 0 Td -[(ms )-1882(303)]TJ --16.747 -1.3 Td -[(9.10 )-2456(Or)-30(phaned )-278(Process )-278(Groups)-2160(307)]TJ -0 -1.3 Td -[(9.11 )-2456(F)45(reeBSD )-278(Implementation)-2160(310)]TJ -0 -1.3 Td -[(9.12 )-2456(Summar)]TJ -2.16 Tc 8.488 0 Td -(y3)Tj -0 Tc 3.216 0 Td -(12)Tj -/TT2 1 Tf --14.224 -2.47 Td -[(Chapter )-278(10.)-1476(Signals )]TJ -34.118 0 Td -(313)Tj -/TT0 1 Tf --31.598 -1.82 Td -[(10.1 )-2456(Introduction)-2160(313)]TJ -T* -[(10.2 )-2456(Signal)-556(Concepts )-1882(313)]TJ -T* -(10.3)Tj -/TT1 1 Tf -4.68 0 Td -(signal)Tj -/TT0 1 Tf -4.156 0 Td -[(Function )-1882(323)]TJ --8.836 -1.3 Td -[(10.4 )-2456(Unreliab)20(le )-278(Signals)-2160(326)]TJ -0 -1.3 Td -[(10.5 )-2456(Interr)-15(upted )-278(System )-278(Calls)-2160(327)]TJ --0 -1.3 Td -[(10.6 )-2456(Reentr)10(ant )-278(Functions)-2160(330)]TJ -0 -1.3 Td -(10.7)Tj -/TT1 1 Tf -4.68 0 Td -(SIGCLD)Tj -/TT0 1 Tf -4.156 0 Td -[(Semantics )-1882(332)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46803 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(332)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(static void)Tj -0 -1.189 TD -(my_alarm\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct passwd)-1800(*rootptr;)]TJ -0 -1.783 TD -(printf\("in signal handler\\n"\);)Tj -0 -1.189 TD -(if \(\(rootptr = getpwnam\("root"\)\) == NULL\))Tj -4.8 -1.189 Td -(err_sys\("getpwnam\(root\) error"\);)Tj --4.8 -1.189 Td -(alarm\(1\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct passwd)-1800(*ptr;)]TJ -0 -1.783 TD -(signal\(SIGALRM, my_alarm\);)Tj -0 -1.189 TD -(alarm\(1\);)Tj -0 -1.189 TD -(for \( ; ; \) {)Tj -2.4 -1.189 Td -(if \(\(ptr = getpwnam\("sar"\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("getpwnam error"\);)Tj --2.4 -1.189 Td -(if \(strcmp\(ptr->pw_name, "sar"\) != 0\))Tj -2.4 -1.189 Td -(printf\("return value corrupted!, pw_name = %s\\n",)Tj -4.8 -1.189 Td -(ptr->pw_name\);)Tj --9.6 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3765.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 212.8865 360.4547 Tm -(Figure 10.5)Tj -/T1_1 1 Tf -5.695 0 Td -[(Call a nonr)18(eentrant function fr)18(om a signal handler)]TJ -9.9988 0 0 9.9988 147.5825 338.8573 Tm -[(When )-24(this )-24(pr)18(ogram )-24(was )-24(r)8(un, )-24(the )-24(r)18(esults )-24(wer)]TJ -0.2739 Tc 19.622 0 Td -(er)Tj -0 Tc 1.148 0 Td -[(andom. )-274(Usually)]TJ -0.2739 Tc 7.228 0 Td -(,t)Tj -0 Tc 0.85 0 Td -[(he )-24(pr)18(ogram )-24(would)]TJ --30.648 -1.2 Td -[(be )-223(terminated )-223(by )-223(a)]TJ -/TT0 1 Tf -9.405 0 Td -(SIGSEGV)Tj -/T1_1 1 Tf -4.673 0 Td -[(signal )-223(when )-223(the )-223(signal )-223(handler )-223(r)18(eturned )-223(after )-223(several)]TJ --14.079 -1.2 Td -[(iterations. )-341(An)-340(examination )-91(of )-91(the)]TJ -/TT0 1 Tf -15.486 0 Td -(core)Tj -/T1_1 1 Tf -2.741 0 Td -[(\336le )-91(showed )-91(that )-91(the)]TJ -/TT0 1 Tf -9.335 0 Td -(main)Tj -/T1_1 1 Tf -2.741 0 Td -[(function )-91(had )-91(called)]TJ -/TT0 1 Tf --30.302 -1.2 Td -(getpwnam)Tj -/T1_1 1 Tf -0.2775 Tc (,b)Tj -0 Tc 5.881 0 Td -[(ut )-27(that )-27(when)]TJ -/TT0 1 Tf -5.972 0 Td -(getpwnam)Tj -/T1_1 1 Tf -5.077 0 Td -(called)Tj -/TT0 1 Tf -2.894 0 Td -(free)Tj -/T1_1 1 Tf -0.2775 Tc (,t)Tj -0 Tc 3.254 0 Td -[(he )-27(signal )-27(handler )-27(interr)8(upted )-27(it )-27(and)]TJ --23.077 -1.2 Td -(called)Tj -/TT0 1 Tf -3.175 0 Td -(getpwnam)Tj -/T1_1 1 Tf -0.5589 Tc (,w)Tj -0 Tc 6.443 0 Td -[(hich )-309(in )-309(turn )-309(called)]TJ -/TT0 1 Tf -9.53 0 Td -(free)Tj -/T1_1 1 Tf -0.8089 Tc (.T)Tj -0 Tc 4.072 0 Td -[(he )-309(data )-309(str)8(uctur)18(es )-309(maintained )-309(by)]TJ -/TT0 1 Tf --23.219 -1.2 Td -(malloc)Tj -/T1_1 1 Tf -3.871 0 Td -(and)Tj -/TT0 1 Tf -1.964 0 Td -(free)Tj -/T1_1 1 Tf -2.671 0 Td -[(had )-21(been )-21(corr)8(upted )-21(when )-21(the )-21(signal )-21(handler )-21(\(indir)18(ectly\) )-21(called)]TJ -/TT0 1 Tf -28.094 0 Td -(free)Tj -/T1_1 1 Tf --36.6 -1.2 Td -[(while )-96(the)]TJ -/TT0 1 Tf -4.557 0 Td -(main)Tj -/T1_1 1 Tf -2.747 0 Td -[(function )-97(was )-97(also )-97(calling)]TJ -/TT0 1 Tf -11.567 0 Td -(free)Tj -/T1_1 1 Tf -0.5966 Tc (.O)Tj -0 Tc 4.033 0 Td -(ccasionally)Tj -0.3466 Tc 4.758 0 Td -(,t)Tj -0 Tc 0.923 0 Td -[(he )-97(pr)18(ogram )-97(would )-97(r)9(un)]TJ --28.584 -1.2 Td -[(for )-22(several )-22(seconds )-22(befor)]TJ -0.2724 Tc 11.022 0 Td -(ec)Tj -0 Tc 1.195 0 Td -[(rashing )-22(with )-22(a)]TJ -/TT0 1 Tf -6.68 0 Td -(SIGSEGV)Tj -/T1_1 1 Tf -4.472 0 Td -[(err)18(or)]TJ -0.5224 Tc 2.118 0 Td -(.W)Tj -0 Tc 1.772 0 Td -[(hen )-22(the)]TJ -/TT0 1 Tf -3.575 0 Td -(main)Tj -/T1_1 1 Tf -2.672 0 Td -[(function )-22(did)]TJ --0.008 Tc -33.508 -1.2 Td -(ru)Tj -0.6149 Tc 0.99 0 Td -(nc)Tj -0 Tc 1.641 0 Td -[(orr)18(ectly )-365(after )-365(the )-365(signal )-365(had )-365(been )-365(caught, )-365(the )-365(r)19(eturn )-365(value )-365(was )-365(sometimes)]TJ --2.631 -1.2 Td -[(corr)8(upted and sometimes \336ne.)]TJ -1.8 -1.2 Td -[(As )-34(shown )-34(by )-34(this )-34(example, )-34(if )-34(we )-34(call )-34(a )-34(nonr)19(eentrant )-34(function )-34(fr)18(om )-34(a )-34(signal )-34(handler)75(,)]TJ --1.8 -1.2 Td -[(the r)18(esults ar)]TJ -0.25 Tc 5.688 0 Td -(eu)Tj -0 Tc 1.332 0 Td -[(npr)18(edictable.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2069.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9978 0 0 11.9978 93.5832 175.6664 Tm -(10.7)Tj -/TT2 1 Tf -3 0 Td -(SIGCLD)Tj -/TT1 1 Tf -4.156 0 Td -(Semantics)Tj -/T1_1 1 Tf --0.09 Tc 9.9982 0 0 9.9982 129.5767 156.4698 Tm -(Tw)Tj -0.3336 Tc 1.357 0 Td -(os)Tj -0 Tc 1.304 0 Td -[(ignals )-84(that )-84(continually )-84(generate )-84(confusion )-84(ar)20(e)]TJ -/TT0 1 Tf -20.894 0 Td -(SIGCLD)Tj -/T1_1 1 Tf -3.934 0 Td -(and)Tj -/TT0 1 Tf -2.026 0 Td -(SIGCHLD)Tj -/T1_1 1 Tf -0.5835 Tc (.T)Tj -0 Tc 5.646 0 Td -[(he )-83(name)]TJ -/TT0 1 Tf --35.162 -1.2 Td -(SIGCLD)Tj -/T1_1 1 Tf -3.928 0 Td -[(\(without )-78(the)]TJ -/TT0 1 Tf -5.885 0 Td -(H)Tj -/T1_1 1 Tf -[(\))-328(is)-328(f)]TJ --0.018 Tc 2.638 0 Td -(ro)Tj -0.3284 Tc 0.923 0 Td -(mS)Tj -0 Tc 1.736 0 Td -[(ystem )-78(V)]TJ -0.3284 Tc 3.589 0 Td -(,a)Tj -0 Tc 1.078 0 Td -[(nd )-78(this )-78(signal )-78(has )-78(dif)16(fer)18(ent )-78(semantics )-78(fr)17(om)]TJ --19.778 -1.2 Td -(the BSD signal, named)Tj -/TT0 1 Tf -10.246 0 Td -(SIGCHLD)Tj -/T1_1 1 Tf -0.5 Tc (.T)Tj -0 Tc 5.563 0 Td -(he POSIX.1 signal is also named)Tj -/TT0 1 Tf -14.405 0 Td -(SIGCHLD)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46804 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(330)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Be )-95(awar)]TJ -0.345 Tc 3.646 0 Td -(et)Tj -0 Tc 1.15 0 Td -[(hat )-95(UNIX )-95(systems )-95(fr)18(om )-95(other )-95(vendors )-95(can )-95(have )-95(values )-95(dif)18(fer)18(ent )-95(fr)18(om )-95(those)]TJ --4.796 -1.2 Td -[(shown )-431(in )-431(this )-431(\336gur)17(e. )-681(For)-682(example,)]TJ -/TT0 1 Tf -18.169 0 Td -(sigaction)Tj -/T1_1 1 Tf -6.081 0 Td -[(under )-431(SunOS )-431(4.1.2 )-431(r)18(estarts )-431(an)]TJ --24.25 -1.2 Td -[(interr)8(upted system call by default, unlike the platforms listed in Figur)]TJ -0.25 Tc 30.866 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(0.3.)Tj --30.295 -1.2 Td -[(In )-420(Figur)]TJ -0.67 Tc 3.972 0 Td -(e1)Tj -0 Tc 1.649 0 Td -[(0.18, )-420(we )-420(pr)18(ovide )-420(our )-420(own )-420(version )-420(of )-420(the)]TJ -/TT0 1 Tf -21.198 0 Td -(signal)Tj -/T1_1 1 Tf -4.27 0 Td -[(function )-420(that)]TJ --32.889 -1.2 Td -[(automatically )-268(tries )-268(to )-268(r)19(estart )-268(interr)8(upted )-268(system )-268(calls )-268(\(other )-268(than )-268(for )-268(the)]TJ -/TT0 1 Tf -34.8 0 Td -(SIGALRM)Tj -/T1_1 1 Tf --34.8 -1.2 Td -[(signal\). )-268(In)-269(Figur)]TJ -0.2684 Tc 7.316 0 Td -(e1)Tj -0 Tc 1.247 0 Td -[(0.19, )-18(we )-18(pr)18(ovide )-18(another )-18(function,)]TJ -/TT0 1 Tf -15.492 0 Td -(signal_intr)Tj -/T1_1 1 Tf -0.2684 Tc (,t)Tj -0 Tc 7.444 0 Td -[(hat )-18(tries )-18(to )-18(never)]TJ --31.5 -1.2 Td -[(do the r)18(estart.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-411(t)]TJ -0 Tc 2.19 0 Td -[(alk )-227(mor)]TJ -0.4767 Tc 3.63 0 Td -(ea)Tj -0 Tc 1.456 0 Td -[(bout )-227(interr)8(upted )-227(system )-227(calls )-227(in )-227(Section )-227(14.4 )-227(with )-227(r)20(egar)]TJ -0.4767 Tc 26.102 0 Td -(dt)Tj -0.4766 Tc 1.414 0 Td -(ot)Tj -0 Tc 1.349 0 Td -(he)Tj -/TT0 1 Tf --37.939 -1.2 Td -(select)Tj -/T1_1 1 Tf -3.85 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(poll)Tj -/T1_1 1 Tf -2.65 0 Td -(functions.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5949 536.9678 Tm -[(10.6 )-776(Reentrant)-556(Functions)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5927 512.9692 Tm -[(When )-167(a )-167(signal )-167(that )-167(is )-167(being )-167(caught )-167(is )-167(handled )-167(by )-167(a )-167(pr)19(ocess, )-167(the )-167(normal )-167(sequence )-167(of)]TJ -0 -1.2 TD -[(instr)8(uctions )-240(being )-240(executed )-240(by )-240(the )-240(pr)19(ocess )-240(is )-240(temporarily )-240(interr)8(upted )-240(by )-240(the )-240(signal)]TJ -T* -(handler)Tj -0.8312 Tc 3.366 0 Td -(.T)Tj -0 Tc 1.694 0 Td -[(he )-331(pr)18(ocess )-331(then )-331(continues )-331(executing, )-331(but )-331(the )-331(instr)8(uctions )-331(in )-331(the )-331(signal)]TJ --5.06 -1.2 Td -[(handler )-193(ar)]TJ -0.4429 Tc 4.76 0 Td -(en)Tj -0 Tc 1.504 0 Td -[(ow )-193(executed.)-693(If )-193(the )-193(signal )-193(handler )-193(r)19(eturns )-193(\(instead )-193(of )-193(calling)]TJ -/TT0 1 Tf -28.953 0 Td -(exit)Tj -/T1_1 1 Tf -2.843 0 Td -(or)Tj -/TT0 1 Tf --38.059 -1.2 Td -(longjmp)Tj -/T1_1 1 Tf -0.3385 Tc (,f)Tj -0 Tc 5.121 0 Td -[(or )-88(example\), )-88(then )-88(the )-88(normal )-88(sequence )-88(of )-88(instr)8(uctions )-88(that )-88(the )-88(pr)18(ocess )-88(was)]TJ --5.121 -1.2 Td -[(executing )-187(when )-187(the )-187(signal )-187(was )-187(caught )-187(continues )-187(executing.)-689(\(This )-187(is )-187(similar )-187(to )-187(what)]TJ -T* -[(happens )-167(when )-167(a )-167(har)17(dwar)]TJ -0.4173 Tc 11.779 0 Td -(ei)Tj -0 Tc 1.187 0 Td -[(nterr)8(upt )-167(occurs.\))-667(But )-167(in )-167(the )-167(signal )-167(handler)72(,)-417(we)-417(c)-1(an\325t )-167(tell)]TJ --12.966 -1.2 Td -(wher)Tj -0.306 Tc 2.272 0 Td -(et)Tj -0 Tc 1.111 0 Td -[(he )-56(pr)18(ocess )-56(was )-56(executing )-56(when )-56(the )-56(signal )-56(was )-56(caught.)-556(What )-56(if )-56(the )-56(pr)18(ocess )-56(was)]TJ --3.383 -1.2 Td -[(in )-101(the )-101(middle )-101(of )-101(allocating )-101(additional )-101(memory )-101(on )-101(its )-101(heap )-101(using)]TJ -/TT0 1 Tf -29.567 0 Td -(malloc)Tj -/T1_1 1 Tf -0.3506 Tc (,a)Tj -0 Tc 4.701 0 Td -[(nd )-101(we )-101(call)]TJ -/TT0 1 Tf --34.267 -1.2 Td -(malloc)Tj -/T1_1 1 Tf -3.863 0 Td -[(fr)18(om )-13(the )-13(signal )-13(handler?)-512(Or)]TJ -0.2628 Tc 12.462 0 Td -(,w)Tj -0 Tc 1.347 0 Td -[(hat )-13(if )-13(the )-13(pr)18(ocess )-13(was )-13(in )-13(the )-13(middle )-13(of )-13(a )-13(call )-13(to )-13(a)]TJ --17.672 -1.2 Td -[(function, )-100(such )-100(as)]TJ -/TT0 1 Tf -7.985 0 Td -(getpwnam)Tj -/T1_1 1 Tf -5.15 0 Td -[(\(Section )-100(6.2\), )-100(that )-100(stor)18(es )-100(its )-100(r)18(esult )-100(in )-100(a )-100(static )-100(location, )-100(and)]TJ --13.135 -1.2 Td -[(we )-65(call )-65(the )-65(same )-65(function )-65(fr)18(om )-65(the )-65(signal )-65(handler?)-565(In )-65(the)]TJ -/TT0 1 Tf -26.293 0 Td -(malloc)Tj -/T1_1 1 Tf -3.915 0 Td -[(example, )-65(havoc )-65(can)]TJ --0.018 Tc -30.208 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sult )-121(for )-121(the )-121(pr)18(ocess, )-121(since)]TJ -/TT0 1 Tf -11.925 0 Td -(malloc)Tj -/T1_1 1 Tf -3.971 0 Td -[(usually )-121(maintains )-121(a )-121(linked )-121(list )-121(of )-121(all )-121(its )-121(allocated)]TJ --16.752 -1.2 Td -[(ar)18(eas, )-320(and )-320(it )-320(may )-320(have )-320(been )-320(in )-320(the )-320(middle )-320(of )-320(changing )-320(this )-320(list.)-820(In )-320(the )-320(case )-320(of)]TJ -/TT0 1 Tf -T* -(getpwnam)Tj -/T1_1 1 Tf -0.3379 Tc (,t)Tj -0 Tc 5.714 0 Td -[(he )-88(information )-88(r)18(eturned )-88(to )-88(the )-88(normal )-88(caller )-88(can )-88(get )-88(overwritten )-88(with )-88(the)]TJ --5.714 -1.2 Td -[(information r)18(eturned to the signal handler)74(.)]TJ -1.8 -1.2 Td -[(The )-44(Single )-44(UNIX )-44(Speci\336cation )-44(speci\336es )-44(the )-44(functions )-44(that )-44(ar)]TJ -0.2941 Tc 26.874 0 Td -(eg)Tj -0 Tc 1.329 0 Td -[(uaranteed )-44(to )-44(be )-44(safe)]TJ --30.003 -1.2 Td -[(to )-271(call )-271(fr)18(om )-271(within )-271(a )-271(signal )-271(handler)]TJ -0.7709 Tc 17.078 0 Td -(.T)Tj -0 Tc 1.634 0 Td -[(hese )-271(functions )-271(ar)]TJ -0.5209 Tc 8.014 0 Td -(er)Tj -0 Tc 1.377 0 Td -[(eentrant )-271(and )-271(ar)]TJ -0.521 Tc 7.281 0 Td -(ec)Tj -0 Tc 1.444 0 Td -(alled)Tj -/T1_2 1 Tf --36.828 -1.2 Td -[(async-signal )-118(safe)]TJ -/T1_1 1 Tf -7.31 0 Td -[(by )-118(the )-118(Single )-118(UNIX )-118(Speci\336cation.)-618(Besides )-118(being )-118(r)17(eentrant, )-118(they )-118(block)]TJ --7.31 -1.2 Td -[(any )-362(signals )-362(during )-362(operation )-362(if )-362(delivery )-362(of )-362(a )-362(signal )-362(might )-362(cause )-362(inconsistencies.)]TJ -T* -(Figur)Tj -0.4084 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.387 0 Td -[(0.4 )-158(lists )-158(these )-158(async-signal )-158(safe )-158(functions.)-658(Most )-158(of )-158(the )-158(functions )-158(that )-158(ar)]TJ -0.4083 Tc 32.888 0 Td -(en)Tj -0 Tc 1.469 0 Td -(ot)Tj --38.128 -1.2 Td -[(included )-259(in )-259(Figur)]TJ -0.5088 Tc 8.185 0 Td -(e1)Tj -0 Tc 1.488 0 Td -[(0.4 )-259(ar)]TJ -0.5088 Tc 2.636 0 Td -(em)Tj -0 Tc 1.871 0 Td -[(issing )-259(because )-259(\(a\) )-259(they )-259(ar)]TJ -0.5088 Tc 12.071 0 Td -(ek)Tj -0 Tc 1.544 0 Td -[(nown )-259(to )-259(use )-259(static )-259(data)]TJ --27.795 -1.2 Td -[(str)8(uctur)18(es, )-16(\(b\) )-16(they )-16(call)]TJ -/TT0 1 Tf -10.396 0 Td -(malloc)Tj -/T1_1 1 Tf -3.866 0 Td -(or)Tj -/TT0 1 Tf -1.207 0 Td -(free)Tj -/T1_1 1 Tf -[(,)-266(or)-266(\()-1(c\) )-16(they )-16(ar)]TJ -0.2662 Tc 8.586 0 Td -(ep)Tj -0 Tc 1.346 0 Td -[(art )-16(of )-16(the )-16(standar)]TJ -0.2662 Tc 7.606 0 Td -(dI)Tj -0 Tc 1.214 0 Td -[(/O )-16(library)111(.)]TJ --34.222 -1.2 Td -[(Most )-285(implementations )-285(of )-285(the )-285(standar)]TJ -0.5351 Tc 17.452 0 Td -(dI)Tj -0 Tc 1.483 0 Td -[(/O )-285(library )-285(use )-285(global )-285(data )-285(str)8(uctur)18(es )-285(in )-285(a)]TJ --18.935 -1.2 Td -[(nonr)18(eentrant )-16(way)]TJ -0.516 Tc 7.801 0 Td -(.N)Tj -0 Tc 1.597 0 Td -[(ote )-16(that )-16(even )-16(though )-16(we )-16(call)]TJ -/TT0 1 Tf -12.82 0 Td -(printf)Tj -/T1_1 1 Tf -3.866 0 Td -[(fr)18(om )-16(signal )-16(handlers )-16(in )-16(some)]TJ --26.084 -1.2 Td -[(of )-111(our )-111(examples, )-111(it )-111(is )-111(not )-111(guaranteed )-111(to )-111(pr)18(oduce )-111(the )-111(expected )-111(r)16(esults, )-111(since )-111(the )-111(signal)]TJ -T* -[(handler can interr)8(upt a call to)]TJ -/TT0 1 Tf -13.354 0 Td -(printf)Tj -/T1_1 1 Tf -3.85 0 Td -[(fr)18(om our main pr)18(ogram.)]TJ --15.404 -1.2 Td -[(Be )-69(awar)]TJ -0.3191 Tc 3.62 0 Td -(et)Tj -0 Tc 1.124 0 Td -[(hat )-69(even )-69(if )-69(we )-69(call )-69(a )-69(function )-69(listed )-69(in )-69(Figur)]TJ -0.319 Tc 19.733 0 Td -(e1)Tj -0 Tc 1.298 0 Td -[(0.4 )-69(fr)18(om )-69(a )-69(signal )-69(handler)74(,)]TJ --27.575 -1.2 Td -[(ther)18(e)-280(is)-280(only )-30(one)]TJ -/TT0 1 Tf -7.661 0 Td -(errno)Tj -/T1_1 1 Tf -3.28 0 Td -[(variable )-30(per )-30(thr)18(ead )-30(\(r)18(ecall )-30(the )-30(discussion )-30(of)]TJ -/TT0 1 Tf -19.506 0 Td -(errno)Tj -/T1_1 1 Tf -3.28 0 Td -[(and )-30(thr)18(eads)]TJ --33.728 -1.2 Td -[(in )-123(Section )-123(1.7\), )-123(and )-123(we )-123(might )-123(potentially )-123(modify )-123(its )-123(value.)-623(Consider )-123(a )-123(signal )-123(handler)]TJ -T* -[(that )-156(is )-156(invoked )-156(right )-156(after)]TJ -/TT0 1 Tf -12.291 0 Td -(main)Tj -/T1_1 1 Tf -2.806 0 Td -[(has )-156(set)]TJ -/TT0 1 Tf -3.547 0 Td -(errno)Tj -/T1_1 1 Tf -0.6559 Tc (.I)Tj -0.4059 Tc 4.243 0 Td -(ft)Tj -0 Tc 1.065 0 Td -[(he )-156(signal )-156(handler )-156(calls)]TJ -/TT0 1 Tf -10.719 0 Td -(read)Tj -/T1_1 1 Tf -0.4059 Tc (,f)Tj -0 Tc 3.389 0 Td -(or)Tj --38.059 -1.2 Td -[(example, )-130(this )-130(call )-130(can )-130(change )-130(the )-130(value )-130(of)]TJ -/TT0 1 Tf -19.559 0 Td -(errno)Tj -/T1_1 1 Tf -0.3797 Tc (,w)Tj -0 Tc 4.464 0 Td -[(iping )-130(out )-130(the )-130(value )-130(that )-130(was )-130(just)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46805 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.5)]TJ -32.299 0 Td -[(Interr)8(upted )-250(System )-250(Calls)]TJ -/T1_1 1 Tf -13.534 0 Td -(327)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(action )-266(to )-266(occur)]TJ -0.5158 Tc 6.951 0 Td -(,w)Tj -0 Tc 1.6 0 Td -[(hich )-266(for )-266(this )-266(signal )-266(terminates )-266(the )-266(pr)19(ocess. )-516(This)-516(is )-266(one )-266(of )-266(those)]TJ --8.55 -1.2 Td -[(conditions )-108(that )-108(works )-108(corr)18(ectly )-108(most )-108(of )-108(the )-108(time, )-108(causing )-108(us )-108(to )-108(think )-108(that )-108(it )-108(is )-108(corr)15(ect,)]TJ -0 -1.2 TD -(when it isn\325t.)Tj -1.8 -1.2 Td -[(Another )-11(pr)18(oblem )-11(with )-11(these )-11(earlier )-11(systems )-11(was )-11(that )-11(the )-11(pr)17(ocess )-11(was )-11(unable )-11(to )-11(turn)]TJ -0.2696 Tc -1.8 -1.2 Td -(as)Tj -0 Tc 1.194 0 Td -[(ignal )-20(of)]TJ -0.2696 Tc 3.351 0 Td -(fw)Tj -0 Tc 1.437 0 Td -[(hen )-20(it )-20(didn\325t )-20(want )-20(the )-20(signal )-20(to )-20(occur)]TJ -0.5196 Tc 16.349 0 Td -(.A)Tj -0 Tc 1.548 0 Td -[(ll )-20(the )-20(pr)18(ocess )-20(could )-20(do )-20(was )-20(ignor)20(e)]TJ --23.878 -1.2 Td -[(the )-310(signal.)-809(Ther)]TJ -0.5596 Tc 7.701 0 Td -(ea)Tj --0.018 Tc 1.539 0 Td -[(re )-346(t)]TJ -0 Tc 1.742 0 Td -[(imes )-310(when )-310(we )-310(would )-310(like )-310(to )-310(tell )-310(the )-310(system )-310(\324)40(\324pr)18(event )-310(the)]TJ --10.981 -1.2 Td -[(following )-157(signals )-157(fr)17(om )-157(interr)8(upting )-157(me, )-157(but )-157(r)18(emember )-157(if )-157(they )-157(do )-157(occur)71(.\325)]TJ -0.6574 Tc 33.165 0 Td -(\325T)Tj -0 Tc 1.548 0 Td -[(he )-157(classic)]TJ --34.714 -1.2 Td -[(example )-107(that )-107(demonstrates )-107(this )-107(\337aw )-107(is )-107(shown )-107(by )-107(a )-107(piece )-107(of )-107(code )-107(that )-107(catches )-107(a )-107(signal)]TJ -T* -[(and sets a \337ag for the pr)18(ocess that indicates that the signal occurr)18(ed:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5915 556.2666 Tm -[(int )-1200(sig_int\(\);)]TJ -17.4 0 Td -(/* my signal handling function */)Tj --17.4 -1.189 Td -[(int )-1200(sig_int_flag;)]TJ -17.4 0 Td -(/* set nonzero when signal occurs */)Tj --17.4 -1.902 Td -(main\(\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(signal\(SIGINT, sig_int\); /* establish handler */)Tj -1.2 -1.189 Td -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --1.2 -1.189 Td -(while \(sig_int_flag == 0\))Tj -2.4 -1.189 Td -(pause\(\); )Tj -12.6 0 Td -[(/*)-600(go to sleep, waiting for signal */)]TJ --13.8 -1.189 Td -(.)Tj -0 -0.476 TD -(.)Tj -T* -(.)Tj --3.6 -1.189 Td -(})Tj -0 -1.902 TD -(sig_int\(\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(signal\(SIGINT, sig_int\); /* reestablish handler for next time */)Tj -T* -[(sig_int_flag = 1;)-4800(/* set flag for main loop to examine */)]TJ --2.4 -1.189 Td -(})Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5926 358.518 Tm -[(Her)18(e, )-30(the )-30(pr)18(ocess )-30(is )-30(calling )-30(the)]TJ -/TT0 1 Tf -13.836 0 Td -(pause)Tj -/T1_0 1 Tf -3.28 0 Td -[(function )-30(to )-30(put )-30(it )-30(to )-30(sleep )-30(until )-30(a )-30(signal )-30(is )-30(caught.)]TJ --17.116 -1.2 Td -[(When )-180(the )-180(signal )-180(is )-180(caught, )-180(the )-180(signal )-180(handler )-180(just )-180(sets )-180(the )-180(\337ag)]TJ -/TT0 1 Tf -29.568 0 Td -(sig_int_flag)Tj -/T1_0 1 Tf -7.63 0 Td -[(to )-180(a)]TJ --37.198 -1.2 Td -(nonzer)Tj -0.4022 Tc 3.066 0 Td -(ov)Tj -0 Tc 1.513 0 Td -[(alue. )-402(The)-402(pr)18(ocess )-152(is )-152(automatically )-152(awakened )-152(by )-152(the )-152(kernel )-152(after )-152(the )-152(signal)]TJ --4.579 -1.2 Td -[(handler )-50(r)18(eturns, )-50(notices )-50(that )-50(the )-50(\337ag )-50(is )-50(nonzer)20(o, )-50(and )-50(does )-50(whatever )-50(it )-50(needs )-50(to )-50(do.)-548(But)]TJ -0 -1.2 TD -[(ther)18(e)-305(is)-305(a)-305(w)-1(indow )-55(of )-55(time )-55(when )-55(things )-55(can )-55(go )-55(wr)15(ong. )-305(If)-306(the )-55(signal )-55(occurs )-55(after )-55(the )-55(test)]TJ --0 -1.2 Td -(of)Tj -/TT0 1 Tf -1.239 0 Td -(sig_int_flag)Tj -/T1_0 1 Tf -7.56 0 Td -[(but )-110(befor)]TJ -0.3598 Tc 4.13 0 Td -(et)Tj -0 Tc 1.165 0 Td -[(he )-110(call )-110(to)]TJ -/TT0 1 Tf -4.539 0 Td -(pause)Tj -/T1_0 1 Tf -0.3599 Tc (,t)Tj -0 Tc 3.936 0 Td -[(he )-110(pr)18(ocess )-110(could )-110(go )-110(to )-110(sleep )-110(for)19(ever)]TJ --22.568 -1.2 Td -[(\(assuming )-6(that )-6(the )-6(signal )-6(is )-6(never )-6(generated )-6(again\).)-510(This )-6(occurr)18(ence )-6(of )-6(the )-6(signal )-6(is )-6(lost.)]TJ -T* -[(This )-155(is )-155(another )-155(example )-155(of )-155(some )-155(code )-155(that )-155(isn\325t )-155(right, )-155(yet )-155(it )-155(works )-155(most )-155(of )-155(the )-155(time.)]TJ -T* -[(Debugging this type of pr)18(oblem can be dif)18(\336cult.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.595 230.1261 Tm -[(10.5 )-776(Interrupted)-556(System )-278(Calls)]TJ -/T1_0 1 Tf -0.3076 Tc 9.9994 0 0 9.9994 129.593 209.7269 Tm -(Ac)Tj -0 Tc 1.53 0 Td -[(haracteristic )-57(of )-57(earlier )-57(UNIX )-57(systems )-57(was )-57(that )-57(if )-57(a )-57(pr)18(ocess )-57(caught )-57(a )-57(signal )-57(while )-57(the)]TJ --1.53 -1.2 Td -[(pr)18(ocess )-217(was )-217(blocked )-217(in )-217(a )-217(\324)35(\324slow\325)]TJ -0.4674 Tc 15.098 0 Td -(\325s)Tj -0 Tc 1.169 0 Td -[(ystem )-217(call, )-217(the )-217(system )-217(call )-217(was )-217(interr)6(upted. )-467(The)]TJ --16.267 -1.2 Td -[(system )-101(call )-101(r)18(eturned )-101(an )-101(err)18(or )-101(and)]TJ -/TT0 1 Tf -15.542 0 Td -(errno)Tj -/T1_0 1 Tf -3.351 0 Td -[(was )-101(set )-101(to)]TJ -/TT0 1 Tf -4.911 0 Td -(EINTR)Tj -/T1_0 1 Tf -0.6007 Tc (.T)Tj -0 Tc 4.464 0 Td -[(his )-101(was )-101(done )-101(under )-101(the)]TJ --28.267 -1.2 Td -[(assumption )-5(that )-5(since )-5(a )-5(signal )-5(occurr)18(ed )-5(and )-5(the )-5(pr)18(ocess )-5(caught )-5(it, )-5(ther)20(e)-255(is)-255(a)-255(g)1(ood )-5(chance)]TJ -0 -1.2 Td -(that something has happened that should wake up the blocked system call.\ )Tj -7.9995 0 0 7.9995 183.5899 144.1313 Tm -[(Her)18(e, )-58(we )-58(have )-58(to )-58(dif)19(fer)18(entiate )-58(between )-58(a )-58(system )-58(call )-58(and )-58(a )-58(function.)-556(It )-58(is )-58(a )-58(system )-58(call )-58(within)]TJ --0 -1.25 Td -[(the kernel that is interr)8(upted when a signal is caught.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46806 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(326)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(These )-109(two )-109(calls )-109(to)]TJ -/TT0 1 Tf -8.542 0 Td -(signal)Tj -/T1_1 1 Tf -3.959 0 Td -[(also )-109(show )-109(a )-109(limitation )-109(of )-109(the)]TJ -/TT0 1 Tf -13.395 0 Td -(signal)Tj -/T1_1 1 Tf -3.959 0 Td -[(function: )-109(we )-109(ar)17(e)]TJ --31.655 -1.2 Td -[(not )-399(able )-399(to )-399(determine )-399(the )-399(curr)18(ent )-399(disposition )-399(of )-399(a )-399(signal )-399(without )-399(changing )-399(the)]TJ -0 -1.2 TD -[(disposition. )-376(W)92(e\325ll )-126(see )-126(later )-126(in )-126(this )-126(chapter )-126(how )-126(the)]TJ -/TT0 1 Tf -23.605 0 Td -(sigaction)Tj -/T1_1 1 Tf -5.776 0 Td -[(function )-126(allows )-126(us )-126(to)]TJ --29.381 -1.2 Td -(determine a signal\325s disposition without changing it.)Tj -/TT1 1 Tf --3.6 -2.4 Td -[(Pr)20(ocess Creation)]TJ -/T1_1 1 Tf -3.6 -2.4 Td -[(When )-176(a )-176(pr)18(ocess )-176(calls)]TJ -/TT0 1 Tf -10.093 0 Td -(fork)Tj -/T1_1 1 Tf -0.4262 Tc (,t)Tj -0 Tc 3.402 0 Td -[(he )-176(child )-176(inherits )-176(the )-176(par)17(ent\325s )-176(signal )-176(dispositions.)-676(Her)18(e,)]TJ --13.495 -1.2 Td -[(since )-136(the )-136(child )-136(starts )-136(of)]TJ -0.3862 Tc 10.626 0 Td -(fw)Tj -0 Tc 1.553 0 Td -[(ith )-136(a )-136(copy )-136(of )-136(the )-136(par)18(ent\325s )-136(memory )-136(image, )-136(the )-136(addr)18(ess )-136(of )-136(a)]TJ --12.18 -1.2 Td -(signal-catching function has meaning in the child.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5945 524.9685 Tm -[(10.4 )-776(Unreliab)10(le )-278(Signals)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5923 500.9699 Tm -[(In )-64(earlier )-64(versions )-64(of )-64(the )-64(UNIX )-64(System )-64(\(such )-64(as )-64(V)111(ersion )-64(7\), )-64(signals )-64(wer)]TJ -0.3144 Tc 31.779 0 Td -(eu)Tj -0 Tc 1.396 0 Td -[(nr)18(eliable. )-314(By)]TJ --33.175 -1.2 Td -[(this )-136(we )-136(mean )-136(that )-136(signals )-136(could )-136(get )-136(lost: )-136(a )-136(signal )-136(could )-136(occur )-136(and )-136(the )-136(pr)18(ocess )-136(would)]TJ -T* -[(never )-135(know )-135(about )-135(it.)-635(Also, )-135(a )-135(pr)18(ocess )-135(had )-135(little )-135(contr)18(ol )-135(over )-135(a )-135(signal: )-135(a )-135(pr)18(ocess )-135(could)]TJ -T* -[(catch )-168(the )-168(signal )-168(or )-168(ignor)]TJ -0.4183 Tc 11.293 0 Td -(ei)Tj -0 Tc 1.188 0 Td -[(t. )-418(Sometimes,)-419(we )-168(would )-168(like )-168(to )-168(tell )-168(the )-168(kernel )-168(to )-168(block )-168(a)]TJ --12.482 -1.2 Td -(signal: don\325t ignor)Tj -0.25 Tc 8.089 0 Td -(ei)Tj -0 Tc 1.02 0 Td -[(t, just r)18(emember if it occurs, and tell us later when we\325r)]TJ -0.25 Tc 24.331 0 Td -(er)Tj -0 Tc 1.106 0 Td -[(eady)111(.)]TJ -7.9995 0 0 7.9995 183.5887 432.974 Tm -[(Changes )-75(wer)]TJ -0.325 Tc 5.847 0 Td -(em)Tj -0 Tc 1.687 0 Td -[(ade )-75(with )-75(4.2BSD )-75(to )-75(pr)18(ovide )-75(what )-75(ar)]TJ -0.3249 Tc 16.194 0 Td -(ec)Tj -0 Tc 1.248 0 Td -(alled)Tj -/T1_2 1 Tf --0.018 Tc 2.497 0 Td -(re)Tj -0 Tc 0.76 0 Td -[(liable )-75(signals)]TJ -/T1_1 1 Tf -0.5749 Tc (.A)Tj -0 Tc 7.217 0 Td -[(dif)18(fer)18(ent )-75(set )-75(of)]TJ --35.449 -1.25 Td -[(changes )-2(was )-2(then )-2(made )-2(in )-2(SVR3 )-2(to )-2(pr)15(ovide )-2(r)18(eliable )-2(signals )-2(under )-2(System )-2(V)]TJ -0.5025 Tc 33.211 0 Td -(.P)Tj -0 Tc 1.356 0 Td -[(OSIX.1 )-2(chose )-2(the)]TJ --34.568 -1.25 Td -[(BSD model to standar)18(dize.)]TJ -9.9994 0 0 9.9994 147.5908 392.9764 Tm -[(One )-61(pr)18(oblem )-61(with )-61(these )-61(early )-61(versions )-61(was )-61(that )-61(the )-61(action )-61(for )-61(a )-61(signal )-61(was )-61(r)11(eset )-61(to)]TJ --1.8 -1.2 Td -[(its )-123(default )-123(each )-123(time )-123(the )-123(signal )-123(occurr)17(ed. )-373(\(In)-373(the )-123(pr)18(evious )-123(example, )-123(when )-123(we )-123(ran )-123(the)]TJ -T* -[(pr)18(ogram )-61(in )-61(Figur)]TJ -0.311 Tc 7.736 0 Td -(e1)Tj -0 Tc 1.29 0 Td -[(0.2, )-61(we )-61(avoided )-61(this )-61(detail )-61(by )-61(catching )-61(each )-61(signal )-61(only )-61(once.\))-561(The)]TJ --9.026 -1.2 Td -[(classic )-45(example )-45(fr)18(om )-45(pr)18(ogramming )-45(books )-45(that )-45(described )-45(these )-45(earlier )-45(systems )-45(concerns)]TJ -T* -[(how to handle the interr)8(upt signal.)-500(The code that was described usually looked like)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 169.1897 328.2803 Tm -[(int )-1800(sig_int\(\);)-4800(/* my signal handling function */)]TJ -1.2 -1.189 Td -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --1.2 -1.189 Td -(signal\(SIGINT, sig_int\); /* establish handler */)Tj -1.2 -1.189 Td -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --3.6 -2.021 Td -(sig_int\(\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(signal\(SIGINT, sig_int\); /* reestablish handler for next time */)Tj -1.2 -1.189 Td -(.)Tj -13.2 Tc 0 -0.476 TD -(./)Tj -0.6 Tc 14.4 0 Td -(*p)Tj -0 Tc 1.8 0 Td -(rocess the signal ... */)Tj --16.2 -0.476 Td -(.)Tj --3.6 -1.189 Td -(})Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5921 191.5186 Tm -[(\(The )-167(r)18(eason )-167(the )-167(signal )-167(handler )-167(is )-167(declar)18(ed )-167(as )-167(r)18(eturning )-167(an )-167(integer )-167(is )-167(that )-167(these )-167(early)]TJ -0 -1.2 TD -(systems didn\325t support the ISO C)Tj -/TT0 1 Tf -14.955 0 Td -(void)Tj -/T1_1 1 Tf -2.65 0 Td -(data type.\))Tj --15.805 -1.2 Td -[(The )-104(pr)18(oblem )-104(with )-104(this )-104(code )-104(fragment )-104(is )-104(that )-104(ther)]TJ -0.354 Tc 22.239 0 Td -[(ei)354(sa )604(w)]TJ -0 Tc 3.59 0 Td -[(indow )-104(of )-104(time)]TJ -0.0833 Tc 6.514 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -[(fter )-104(the)]TJ --35.726 -1.2 Td -[(signal )-188(has )-188(occurr)18(ed, )-188(but )-188(befor)]TJ -0.4379 Tc 13.821 0 Td -(et)Tj -0 Tc 1.243 0 Td -[(he )-188(call )-188(to)]TJ -/TT0 1 Tf -4.773 0 Td -(signal)Tj -/T1_1 1 Tf -4.038 0 Td -[(in )-188(the )-188(signal )-188(handler)]TJ -0.0833 Tc 9.741 0 Td -(\321w)Tj -0 Tc 1.917 0 Td -[(hen )-188(the)]TJ --35.532 -1.2 Td -[(interr)8(upt )-87(signal )-87(could )-87(occur )-87(another )-87(time.)-587(This )-87(second )-87(signal )-87(would )-87(cause )-87(the )-87(default)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46807 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.3)]TJ -/TT0 1 Tf -35.803 0 Td -(signal)Tj -/T1_0 1 Tf -4.1 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(323)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -(10.3)Tj -/TT2 1 Tf -3 0 Td -(signal)Tj -/TT1 1 Tf -4.156 0 Td -(Function)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 642.5614 Tm -[(The )-9(simplest )-9(interface )-9(to )-9(the )-9(signal )-9(featur)18(es )-9(of )-9(the )-9(UNIX )-9(System )-9(is )-9(the)]TJ -/TT0 1 Tf -31.184 0 Td -(signal)Tj -/T1_0 1 Tf -3.859 0 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 625.8624 Tm -(#include )Tj -0 -1.783 TD -(void \(*signal\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(signo)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 3.967 0 Td -(oid \(*)Tj -/T1_2 1 Tf -(func)Tj -/TT0 1 Tf -(\)\(int\)\)\)\(int\);)Tj -/T1_0 1 Tf --10.477 -1.783 Td -[(Returns: pr)18(evious disposition of signal \(see following\) if OK,)]TJ -/TT0 1 Tf -27.023 0 Td -(SIG_ERR)Tj -/T1_0 1 Tf -4.45 0 Td -[(on err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5893.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 183.578 572.5313 Tm -(The)Tj -/TT0 1 Tf -2.014 0 Td -(signal)Tj -/T1_0 1 Tf -3.94 0 Td -[(function )-90(is )-90(de\336ned )-90(by )-90(ISO )-90(C, )-90(which )-90(doesn\325t )-90(involve )-90(multiple )-90(pr)22(ocesses, )-89(pr)18(ocess)]TJ --5.953 -1.25 Td -[(gr)18(oups, )-99(terminal )-99(I/O, )-99(and )-99(the )-99(like.)-598(Ther)18(efor)18(e, )-99(its )-99(de\336nition )-99(of )-99(signals )-99(is )-99(vague )-99(enough )-99(to )-99(be)]TJ --0 -1.25 Td -(almost useless for UNIX systems.)Tj -0 -1.875 Td -[(Implementations )-78(derived )-78(fr)18(om )-78(UNIX )-78(System )-78(V )-78(support )-78(the)]TJ -/TT0 1 Tf -27.137 0 Td -(signal)Tj -/T1_0 1 Tf -3.928 0 Td -[(function, )-78(but )-78(it )-78(pr)17(ovides)]TJ --31.065 -1.25 Td -[(the )-100(old )-100(unr)18(eliable-signal )-100(semantics.)-601(\(W)]TJ -0.3504 Tc 17.754 0 Td -(ed)Tj -0 Tc 1.44 0 Td -[(escribe )-100(these )-100(older )-100(semantics )-100(in )-100(Section )-100(10.4.\))-603(The)]TJ -/TT0 1 Tf --19.194 -1.25 Td -(signal)Tj -/T1_0 1 Tf -4.125 0 Td -[(function )-274(pr)18(ovides )-274(backwar)]TJ -0.5245 Tc 12.414 0 Td -(dc)Tj -0 Tc 1.579 0 Td -[(ompatibility )-274(for )-274(applications )-274(that )-274(r)16(equir)]TJ -0.5245 Tc 18.645 0 Td -(et)Tj -0 Tc 1.329 0 Td -[(he )-274(older)]TJ --38.093 -1.25 Td -[(semantics. )-250(New)-250(applications should not use these unr)18(eliable signals.)]TJ -0 -1.875 TD -[(4.4BSD )-251(also )-251(pr)18(ovides )-251(the)]TJ -/TT0 1 Tf -12.206 0 Td -(signal)Tj -/T1_0 1 Tf -4.101 0 Td -[(function, )-251(but )-251(it )-251(is )-251(de\336ned )-251(in )-251(terms )-251(of )-251(the)]TJ -/TT0 1 Tf -20.293 0 Td -(sigaction)Tj -/T1_0 1 Tf --36.6 -1.25 Td -[(function )-137(\(which )-137(we )-137(describe )-137(in )-137(Section )-137(10.14\), )-137(so )-137(using )-137(it )-137(under )-137(4.4BSD )-137(pr)20(ovides )-137(the )-137(newer)]TJ --0.018 Tc 0 -1.25 TD -(re)Tj -0 Tc 0.856 0 Td -[(liable-signal )-56(semantics.)-556(Most )-56(curr)18(ent )-56(systems )-56(follow )-56(this )-56(strategy)]TJ -0.3061 Tc 29.257 0 Td -(,b)Tj -0 Tc 1.109 0 Td -[(ut )-56(Solaris )-56(10 )-56(follows )-56(the)]TJ --31.222 -1.25 Td -(System V semantics for the)Tj -/TT0 1 Tf -12.179 0 Td -(signal)Tj -/T1_0 1 Tf -3.85 0 Td -(function.)Tj --16.029 -1.875 Td -[(Because )-14(the )-14(semantics )-14(of)]TJ -/TT0 1 Tf -11.217 0 Td -(signal)Tj -/T1_0 1 Tf -3.865 0 Td -[(dif)18(fer )-14(among )-14(implementations, )-14(we )-14(must )-14(use )-14(the)]TJ -/TT0 1 Tf -21.518 0 Td -(sigaction)Tj -/T1_0 1 Tf --36.6 -1.25 Td -[(function )-401(instead.)]TJ --0.092 Tc 8.723 0 Td -[(We )-585(p)]TJ --0.018 Tc 2.639 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vide )-401(an )-401(implementation )-401(of)]TJ -/TT0 1 Tf -13.573 0 Td -(signal)Tj -/T1_0 1 Tf -4.251 0 Td -[(that )-401(uses)]TJ -/TT0 1 Tf -4.967 0 Td -(sigaction)Tj -/T1_0 1 Tf -6.051 0 Td -(in)Tj --41.127 -1.25 Td -[(Section )-49(10.14.)-549(All )-49(the )-49(examples )-49(in )-49(this )-49(text )-49(use )-49(the)]TJ -/TT0 1 Tf -22.887 0 Td -(signal)Tj -/T1_0 1 Tf -3.899 0 Td -[(function )-49(fr)18(om )-49(Figur)]TJ -0.2988 Tc 8.827 0 Td -(e1)Tj -0 Tc 1.278 0 Td -[(0.18 )-49(to )-49(give)]TJ --36.89 -1.25 Td -[(us consistent semantics r)18(egar)18(dless of which particular platform we use.)]TJ -9.9988 0 0 9.9988 147.5816 398.5522 Tm -(The)Tj -/T1_2 1 Tf -2.059 0 Td -(signo)Tj -/T1_0 1 Tf -2.551 0 Td -[(ar)18(gument )-134(is )-134(just )-134(the )-134(name )-134(of )-134(the )-134(signal )-134(fr)14(om )-135(Figur)]TJ -0.3846 Tc 23.332 0 Td -(e1)Tj -0 Tc 1.364 0 Td -[(0.1. )-385(The)-384(value )-135(of)]TJ -/T1_2 1 Tf --31.105 -1.2 Td -(func)Tj -/T1_0 1 Tf -2.245 0 Td -[(is )-198(\(a\) )-198(the )-198(constant)]TJ -/TT0 1 Tf -8.792 0 Td -(SIG_IGN)Tj -/T1_0 1 Tf -0.4484 Tc (,\()Tj -0 Tc 5.231 0 Td -[(b\) )-198(the )-198(constant)]TJ -/TT0 1 Tf -7.348 0 Td -(SIG_DFL)Tj -/T1_0 1 Tf -[(,)-448(or)-448(\()-1(c\) )-198(the )-198(addr)18(ess )-198(of )-198(a)]TJ --23.617 -1.2 Td -[(function )-48(to )-48(be )-48(called )-48(when )-48(the )-48(signal )-48(occurs.)-548(If )-48(we )-48(specify)]TJ -/TT0 1 Tf -26.484 0 Td -(SIG_IGN)Tj -/T1_0 1 Tf -[(,)-298(we)-298(a)]TJ --0.018 Tc 6.86 0 Td -[(re )-84(t)]TJ -0 Tc 1.48 0 Td -[(elling )-48(the)]TJ --34.825 -1.2 Td -[(system )-4(to )-4(ignor)]TJ -0.2541 Tc 6.824 0 Td -(et)Tj -0 Tc 1.059 0 Td -[(he )-4(signal.)-504(\(Remember )-4(that )-4(we )-4(cannot )-4(ignor)]TJ -0.2541 Tc 19.261 0 Td -(et)Tj -0 Tc 1.059 0 Td -[(he )-4(two )-4(signals)]TJ -/TT0 1 Tf -6.597 0 Td -(SIGKILL)Tj -/T1_0 1 Tf --34.8 -1.2 Td -(and)Tj -/TT0 1 Tf -2.062 0 Td -(SIGSTOP)Tj -/T1_0 1 Tf -[(.\) )-369(When)-370(we )-119(specify)]TJ -/TT0 1 Tf -13.595 0 Td -(SIG_DFL)Tj -/T1_0 1 Tf -[(,)-369(we)-369(a)]TJ --0.018 Tc 7.002 0 Td -[(re )-155(s)]TJ -0 Tc 1.649 0 Td -[(etting )-119(the )-119(action )-119(associated )-119(with)]TJ --24.308 -1.2 Td -[(the )-16(signal )-16(to )-16(its )-16(default )-16(value )-16(\(see )-16(the )-16(\336nal )-16(column )-16(in )-16(Figur)]TJ -0.266 Tc 26.137 0 Td -(e1)Tj -0 Tc 1.245 0 Td -[(0.1\). )-266(When)-266(we )-16(specify )-16(the)]TJ --27.382 -1.2 Td -[(addr)18(ess )-91(of )-91(a )-91(function )-91(to )-91(be )-91(called )-91(when )-91(the )-91(signal )-91(occurs, )-91(we )-91(ar)]TJ -0.3415 Tc 28.934 0 Td -(ea)Tj -0 Tc 1.321 0 Td -[(rranging )-91(to )-91(\324)36(\324catch\325)37(\325)]TJ --30.254 -1.2 Td -(the signal.)Tj --0.092 Tc 5.031 0 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -(all the function either the)Tj -/T1_2 1 Tf -11.365 0 Td -(signal handler)Tj -/T1_0 1 Tf -6.001 0 Td -(or the)Tj -/T1_2 1 Tf -2.828 0 Td -(signal-catching function)Tj -/T1_0 1 Tf -(.)Tj --25.506 -1.2 Td -[(The )-350(pr)18(ototype )-350(for )-350(the)]TJ -/TT0 1 Tf -11.092 0 Td -(signal)Tj -/T1_0 1 Tf -4.2 0 Td -[(function )-350(states )-350(that )-350(the )-350(function )-350(r)20(equir)18(es )-350(two)]TJ --17.092 -1.2 Td -[(ar)18(guments )-9(and )-9(r)18(eturns )-9(a )-9(pointer )-9(to )-9(a )-9(function )-9(that )-9(r)18(eturns )-9(nothing )-9(\()]TJ -/TT0 1 Tf -(void)Tj -/T1_0 1 Tf -[(\). )-259(The)]TJ -/TT0 1 Tf -35.4 0 Td -(signal)Tj -/T1_0 1 Tf --35.4 -1.2 Td -[(function\325s )-155(\336rst )-155(ar)19(gument,)]TJ -/T1_2 1 Tf -11.929 0 Td -(signo)Tj -/T1_0 1 Tf -[(,)-405(is)-405(an)-405(i)1(nteger)]TJ -0.6546 Tc 8.462 0 Td -(.T)Tj -0 Tc 1.518 0 Td -[(he )-155(second )-155(ar)19(gument )-154(is )-154(a )-154(pointer )-154(to )-154(a)]TJ --21.908 -1.2 Td -[(function )-54(that )-54(takes )-54(a )-54(single )-54(integer )-54(ar)18(gument )-54(and )-54(r)18(eturns )-54(nothing.)-553(The )-54(function )-54(whose)]TJ -0 -1.2 TD -[(addr)18(ess )-126(is )-126(r)18(eturned )-126(as )-126(the )-126(value )-126(of)]TJ -/TT0 1 Tf -16.251 0 Td -(signal)Tj -/T1_0 1 Tf -3.976 0 Td -[(takes )-126(a )-126(single )-126(integer )-126(ar)18(gument )-126(\(the )-126(\336nal)]TJ -/TT0 1 Tf --20.226 -1.2 Td -(\(int\))Tj -/T1_0 1 Tf -[(\). )-273(In)-273(plain )-23(English, )-23(this )-23(declaration )-23(says )-23(that )-23(the )-23(signal )-23(handler )-23(is )-23(passed )-23(a )-23(single)]TJ -T* -[(integer )-310(ar)18(gument )-310(\(the )-310(signal )-310(number\) )-310(and )-310(that )-310(it )-310(r)20(eturns )-310(nothing.)-810(When )-310(we )-310(call)]TJ -/TT0 1 Tf -T* -(signal)Tj -/T1_0 1 Tf -3.856 0 Td -[(to )-6(establish )-6(the )-6(signal )-6(handler)]TJ -0.2558 Tc 13.162 0 Td -(,t)Tj -0 Tc 0.832 0 Td -[(he )-6(second )-6(ar)18(gument )-6(is )-6(a )-6(pointer )-6(to )-6(the )-6(function.)]TJ --17.85 -1.2 Td -[(The r)18(eturn value fr)18(om)]TJ -/TT0 1 Tf -10.013 0 Td -(signal)Tj -/T1_0 1 Tf -3.85 0 Td -[(is the pointer to the pr)18(evious signal handler)74(.)]TJ -7.999 0 0 7.999 183.5764 188.9773 Tm -[(Many )-77(systems )-77(call )-77(the )-77(signal )-77(handler )-77(with )-77(additional, )-77(implementation-dependent )-77(ar)14(guments.)]TJ --0.092 Tc 0 -1.25 TD -[(We )-184(d)]TJ -0 Tc 2.248 0 Td -(iscuss this further in Section 10.14.)Tj -9.9988 0 0 9.9988 147.5807 162.9804 Tm -[(The )-97(perplexing)]TJ -/TT0 1 Tf -7.16 0 Td -(signal)Tj -/T1_0 1 Tf -3.948 0 Td -[(function )-97(pr)18(ototype )-98(shown )-98(at )-98(the )-98(beginning )-98(of )-98(this )-98(section)]TJ --12.908 -1.2 Td -[(can be made much simpler thr)18(ough the use of the following)]TJ -/TT0 1 Tf -26.658 0 Td -(typedef)Tj -/T1_0 1 Tf -4.45 0.04 Td -([)Tj -0.333 -0.04 Td -(Plauger 1992)Tj -5.678 0.04 Td -(])Tj -0.333 -0.04 Td -(:)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.581 134.2839 Tm -(typedef void Sigfunc\(int\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46808 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(10)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -(Signals)Tj -/TT0 1 Tf -12 0 0 12 93.6 444 Tm -[(10.1 )-776(Intr)20(oduction)]TJ -/T1_2 1 Tf -10 0 0 10 129.6 421.2 Tm -[(Signals )-17(ar)]TJ -0.2671 Tc 4.313 0 Td -(es)Tj -0 Tc 1.17 0 Td -(oftwar)Tj -0.2672 Tc 2.916 0 Td -(ei)Tj -0 Tc 1.037 0 Td -[(nterr)8(upts. )-267(Most)-267(nontrivial )-17(application )-17(pr)18(ograms )-17(need )-17(to )-17(deal )-17(with)]TJ --9.436 -1.2 Td -[(signals. )-333(Signals)-334(pr)18(ovide )-83(a )-83(way )-83(of )-83(handling )-83(asynchr)18(onous )-83(events)]TJ -0.0833 Tc 29.242 0 Td -(\321f)Tj -0 Tc 1.416 0 Td -[(or )-83(example, )-83(a )-83(user)]TJ --30.659 -1.2 Td -[(at )-216(a )-216(terminal )-216(typing )-216(the )-216(interr)8(upt )-216(key )-216(to )-216(stop )-216(a )-216(pr)18(ogram )-216(or )-216(the )-216(next )-216(pr)17(ogram )-216(in )-216(a)]TJ -0 -1.2 TD -[(pipeline terminating pr)18(ematur)18(ely)111(.)]TJ -1.8 -1.2 Td -[(Signals )-135(have )-135(been )-135(pr)18(ovided )-135(since )-135(the )-135(early )-135(versions )-135(of )-135(the )-135(UNIX )-135(System, )-135(but )-135(the)]TJ --1.8 -1.2 Td -[(signal )-94(model )-94(pr)18(ovided )-94(with )-94(systems )-94(such )-94(as )-94(V)110(ersion )-94(7 )-94(was )-94(not )-94(r)17(eliable. )-344(Signals)-344(could)]TJ -0 -1.2 Td -[(get )-140(lost, )-140(and )-140(it )-140(was )-140(dif)18(\336cult )-140(for )-140(a )-140(pr)18(ocess )-140(to )-140(turn )-140(of)]TJ -0.3902 Tc 23.752 0 Td -(fs)Tj -0 Tc 1.147 0 Td -[(elected )-140(signals )-140(when )-140(executing)]TJ --24.899 -1.2 Td -[(critical )-209(r)18(egions )-209(of )-209(code.)-709(Both )-209(4.3BSD )-209(and )-209(SVR3 )-209(made )-209(changes )-209(to )-209(the )-209(signal )-209(model,)]TJ -T* -[(adding )-141(what )-141(ar)]TJ -0.3914 Tc 7.053 0 Td -(ec)Tj -0 Tc 1.314 0 Td -(alled)Tj -/T1_3 1 Tf --0.018 Tc 2.563 0 Td -(re)Tj -0 Tc 0.76 0 Td -[(liable )-141(signals)]TJ -/T1_2 1 Tf -0.6414 Tc (.B)Tj -0 Tc 6.858 0 Td -[(ut )-141(the )-141(changes )-141(made )-141(by )-141(Berkeley )-141(and )-141(A)71(T&T)]TJ --18.548 -1.2 Td -(wer)Tj -0.321 Tc 1.69 0 Td -(ei)Tj -0 Tc 1.091 0 Td -[(ncompatible. )-321(Fortunately)]TJ -0.321 Tc 11.366 0 Td -(,P)Tj -0 Tc 1.175 0 Td -[(OSIX.1 )-71(standar)18(dized )-71(the )-71(r)18(eliable-signal )-71(r)18(outines, )-71(and)]TJ --15.322 -1.2 Td -[(that is what we describe her)18(e.)]TJ -1.8 -1.2 Td -[(In )-40(this )-40(chapter)74(,)-290(we)-290(start )-40(with )-40(an )-40(overview )-40(of )-40(signals )-40(and )-40(a )-40(description )-40(of )-40(what )-40(each)]TJ --1.8 -1.2 Td -[(signal )-4(is )-4(normally )-4(used )-4(for)]TJ -0.5044 Tc 11.738 0 Td -(.T)Tj -0 Tc 1.367 0 Td -[(hen )-4(we )-4(look )-4(at )-4(the )-4(pr)18(oblems )-4(with )-4(earlier )-4(implementations.)]TJ --13.105 -1.2 Td -[(It )-5(is )-5(often )-5(important )-5(to )-5(understand )-5(what )-5(is )-5(wr)18(ong )-5(with )-5(an )-5(implementation )-5(befor)]TJ -0.255 Tc 35.455 0 Td -(es)Tj -0 Tc 1.158 0 Td -(eeing)Tj --36.613 -1.2 Td -[(how )-238(to )-238(do )-238(things )-238(corr)18(ectly)]TJ -0.7379 Tc 12.451 0 Td -(.T)Tj -0 Tc 1.601 0 Td -[(his )-238(chapter )-238(contains )-238(numer)18(ous )-238(examples )-238(that )-238(ar)]TJ -0.488 Tc 22.527 0 Td -(en)Tj -0 Tc 1.549 0 Td -(ot)Tj --38.128 -1.2 Td -[(entir)18(ely corr)18(ect and a discussion of the defects.)]TJ -/TT0 1 Tf -12 0 0 12 93.5998 206.4 Tm -[(10.2 )-776(Signal)-556(Concepts)]TJ -/T1_2 1 Tf -10 0 0 10 129.5998 183.6 Tm -[(First, every signal has a name.)-500(These names all begin with the thr)18(ee characters)]TJ -/TT1 1 Tf -34.953 0 Td -(SIG)Tj -/T1_2 1 Tf -0.5002 Tc (.F)Tj -0 Tc 3.106 0 Td -(or)Tj --38.059 -1.2 Td -(example,)Tj -/TT1 1 Tf -4.304 0 Td -(SIGABRT)Tj -/T1_2 1 Tf -4.505 0 Td -[(is )-55(the )-55(abort )-55(signal )-55(that )-55(is )-55(generated )-55(when )-55(a )-55(pr)18(ocess )-55(calls )-55(the)]TJ -/TT1 1 Tf -27.191 0 Td -(abort)Tj -/T1_2 1 Tf --36 -1.2 Td -(function.)Tj -/TT1 1 Tf -4.668 0 Td -(SIGALRM)Tj -/T1_2 1 Tf -4.661 0 Td -[(is )-211(the )-211(alarm )-211(signal )-211(that )-211(is )-211(generated )-211(when )-211(the )-211(timer )-211(set )-211(by )-211(the)]TJ -/TT1 1 Tf --9.33 -1.2 Td -(alarm)Tj -/T1_2 1 Tf -3.285 0 Td -[(function )-35(goes )-35(of)18(f. )-285(V)111(ersion )-35(7 )-35(had )-35(15 )-35(dif)17(fer)18(ent )-35(signals; )-35(SVR4 )-35(and )-35(4.4BSD )-35(both )-35(had)]TJ --3.285 -1.2 Td -[(31 )-154(dif)18(fer)18(ent )-154(signals.)-653(Fr)18(eeBSD )-154(8.0 )-154(supports )-154(32 )-154(dif)20(fer)18(ent )-153(signals.)-653(Mac )-153(OS )-153(X )-153(10.6.8 )-153(and)]TJ -/T1_4 1 Tf -9 0 0 9 506.0991 114 Tm -(313)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46809 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(312)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Relationships)]TJ -39.241 0 Td -[(Chapter )-250(9)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(The)Tj -/TT0 1 Tf -1.924 0 Td -(proc)Tj -/T1_1 1 Tf -2.65 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(ontains all the information for a single pr)18(ocess.)]TJ --9.237 -2.16 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(p_pid)Tj -/T1_1 1 Tf -3.25 0 Td -[(contains the pr)18(ocess ID.)]TJ --4.739 -1.72 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(p_pptr)Tj -/T1_1 1 Tf -3.85 0 Td -(is a pointer to the)Tj -/TT0 1 Tf -7.944 0 Td -(proc)Tj -/T1_1 1 Tf -2.65 0 Td -[(str)8(uctur)18(e)-250(of)-250(the par)18(ent pr)18(ocess.)]TJ --15.933 -1.72 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(p_pgrp)Tj -/T1_1 1 Tf -3.904 0 Td -[(points )-54(to )-54(the)]TJ -/TT0 1 Tf -5.94 0 Td -(pgrp)Tj -/T1_1 1 Tf -2.704 0 Td -[(str)8(uctur)18(e)-303(of)-303(t)-1(he )-53(pr)18(ocess )-53(gr)18(oup )-53(to )-53(which )-53(this )-53(pr)15(ocess)]TJ --12.547 -1.2 Td -(belongs.)Tj --1.489 -1.72 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(p_pglist)Tj -/T1_1 1 Tf -5.113 0 Td -[(is )-63(a )-63(str)8(uctur)]TJ -0.3131 Tc 5.331 0 Td -(ec)Tj -0 Tc 1.236 0 Td -[(ontaining )-63(pointers )-63(to )-63(the )-63(next )-63(and )-63(pr)18(evious )-63(pr)17(ocesses)]TJ --11.68 -1.2 Td -[(in the pr)18(ocess gr)18(oup, as we mentioned earlier)74(.)]TJ --1.489 -2.16 Td -[(Finally)111(,)-659(we)-659(h)-1(ave )-409(the)]TJ -/TT0 1 Tf -10.67 0 Td -(vnode)Tj -/T1_1 1 Tf -3.659 0 Td -[(str)8(uctur)18(e. )-659(This)-660(str)8(uctur)18(e)-659(is)-659(a)-1(llocated )-409(when )-409(the)]TJ --16.129 -1.2 Td -[(contr)18(olling )-232(terminal )-232(device )-232(is )-232(opened.)-732(All )-232(r)18(efer)18(ences )-232(to)]TJ -/TT0 1 Tf -26.502 0 Td -(/dev/tty)Tj -/T1_1 1 Tf -5.282 0 Td -[(in )-232(a )-232(pr)18(ocess )-232(go)]TJ --31.784 -1.2 Td -[(thr)18(ough this)]TJ -/TT0 1 Tf -5.695 0 Td -(vnode)Tj -/T1_1 1 Tf -3.25 0 Td -[(str)8(uctur)18(e.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5938 490.1706 Tm -[(9.12 )-776(Summar)-10(y)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5916 466.172 Tm -[(This )-188(chapter )-188(has )-188(described )-188(the )-188(r)18(elationships )-188(between )-188(gr)18(oups )-188(of )-188(pr)18(ocesses )167(\321 )167(sessions,)]TJ -0 -1.2 TD -[(which )-24(ar)]TJ -0.274 Tc 3.884 0 Td -(em)Tj -0 Tc 1.636 0 Td -[(ade )-24(up )-24(of )-24(pr)18(ocess )-24(gr)18(oups. )-274(Job)-274(contr)18(ol )-24(is )-24(a )-24(featur)]TJ -0.274 Tc 21.418 0 Td -(es)Tj -0 Tc 1.177 0 Td -[(upported )-24(by )-24(most )-24(UNIX)]TJ --28.115 -1.2 Td -[(systems )-84(today)]TJ -0.334 Tc 6.278 0 Td -(,a)Tj -0 Tc 1.084 0 Td -[(nd )-84(we\325ve )-84(described )-84(how )-84(it\325s )-84(implemented )-84(by )-84(a )-84(shell )-84(that )-84(supports )-84(job)]TJ --7.362 -1.2 Td -[(contr)18(ol. )-433(The)-433(contr)18(olling )-183(terminal )-183(for )-183(a )-183(pr)18(ocess,)]TJ -/TT0 1 Tf -22.216 0 Td -(/dev/tty)Tj -/T1_1 1 Tf -[(,)-433(is)-433(also )-183(involved )-183(in )-183(these)]TJ --22.215 -1.2 Td -[(pr)18(ocess r)18(elationships.)]TJ --0.092 Tc 1.8 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-134(made )-134(numer)18(ous )-134(r)17(efer)18(ences )-134(to )-134(the )-134(signals )-134(that )-134(ar)]TJ -0.3841 Tc 23.757 0 Td -(eu)Tj -0 Tc 1.466 0 Td -[(sed )-134(in )-134(all )-134(these )-134(pr)18(ocess)]TJ --0.018 Tc -28.41 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(lationships. )-393(The)-393(next )-143(chapter )-143(continues )-143(the )-143(discussion )-143(of )-143(signals, )-143(looking )-143(at )-143(all )-143(the)]TJ --0.856 -1.2 Td -(UNIX System signals in detail.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 129.5912 340.1796 Tm -[(Ex)10(er)20(cises)]TJ -/T1_0 1 Tf -8.9995 0 0 8.9995 129.5912 319.1808 Tm -(9.1)Tj -/T1_1 1 Tf -2.602 0 Td -[(Refer )-53(back )-53(to )-53(our )-53(discussion )-53(of )-53(the)]TJ -/TT0 1 Tf -15.848 0 Td -(utmp)Tj -/T1_1 1 Tf -2.703 0 Td -(and)Tj -/TT0 1 Tf -1.996 0 Td -(wtmp)Tj -/T1_1 1 Tf -2.703 0 Td -[(\336les )-53(in )-53(Section )-53(6.8.)-553(Why )-53(ar)]TJ -0.3027 Tc 12.143 0 Td -(et)Tj -0 Tc 1.108 0 Td -[(he )-53(logout)]TJ --0.018 Tc -36.5 -1.222 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(ds written by the)]TJ -/TT0 1 Tf -9.131 0 Td -(init)Tj -/T1_1 1 Tf -2.65 0 Td -[(pr)18(ocess? )-250(Is)-250(this handled the same way for a network login?)]TJ -/T1_0 1 Tf --15.239 -1.667 Td -(9.2)Tj -/T1_1 1 Tf --0.074 Tc 2.602 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-101(a )-101(small )-101(pr)18(ogram )-101(that )-101(calls)]TJ -/TT0 1 Tf -13.63 0 Td -(fork)Tj -/T1_1 1 Tf -2.751 0 Td -[(and )-101(has )-101(the )-101(child )-101(cr)20(eate )-101(a )-101(new )-101(session.)]TJ --0.111 Tc 18.28 0 Td -(Ve)Tj -0 Tc 1.09 0 Td -[(rify )-101(that)]TJ --37.072 -1.222 Td -[(the )-166(child )-166(becomes )-166(a )-166(pr)18(ocess )-166(gr)18(oup )-166(leader )-166(and )-166(that )-166(the )-166(child )-166(no )-166(longer )-166(has )-166(a )-166(contr)21(olling)]TJ -0 -1.222 TD -(terminal.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46810 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(310)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Relationships)]TJ -39.241 0 Td -[(Chapter )-250(9)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(9.11 )-776(FreeBSD)-556(Implementation)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 647.3612 Tm -[(Having )-182(talked )-182(about )-182(the )-182(various )-182(attributes )-182(of )-182(a )-182(pr)18(ocess, )-182(pr)18(ocess )-182(gr)18(oup, )-182(session, )-182(and)]TJ -0 -1.2 TD -[(contr)18(olling )-70(terminal, )-70(it\325s )-70(worth )-70(looking )-70(at )-70(how )-70(all )-70(this )-70(can )-70(be )-70(implemented.)]TJ --0.092 Tc 34.494 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-70(look)]TJ --35.881 -1.2 Td -[(brie\337y )-594(at )-594(the )-594(implementation )-594(used )-594(by )-594(Fr)19(eeBSD. )-844(Some)-844(details )-594(of )-594(the )-594(SVR4)]TJ --0 -1.2 Td -[(implementation of these featur)18(es can be found in W)53(illiams)]TJ -26.024 0.04 Td -([)Tj -0.333 -0.04 Td -(1989)Tj -2 0.04 Td -(])Tj -0.5003 Tc 0.333 -0.04 Td -(.F)Tj -0 Tc 1.306 0 Td -(igur)Tj -0.2503 Tc 1.827 0 Td -(e9)Tj -0 Tc 1.229 0 Td -(.13 shows the)Tj --33.052 -1.2 Td -[(various data str)8(uctur)18(es used by Fr)18(eeBSD.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1590 3686 576 144 re -S -Q -BT -/TT1 1 Tf -7.999 0 0 7.999 162.9804 373.9951 Tm -(p_pglist)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1590 3542 576 144 re -S -Q -BT -/TT1 1 Tf -7.9986 0 0 7.9986 162.9707 359.5753 Tm -(p_pid)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -1590 3398 576 144 re -S -Q -BT -/TT1 1 Tf -7.9981 0 0 7.9981 162.9609 345.1571 Tm -(p_pptr)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1590 3110 576 288 re -S -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1590 2966 576 144 re -S -Q -BT -/TT1 1 Tf -7.9976 0 0 7.9976 162.9511 301.9494 Tm -(p_pgrp)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -1590 2678 576 288 re -S -Q -BT -/TT1 1 Tf -7.9971 0 0 7.9971 161.2659 386.101 Tm -(proc)Tj -/T1_1 1 Tf -2.65 0 Td -[(str)8(uctur)18(e)]TJ -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2742 3686 576 144 re -S -Q -BT -/TT1 1 Tf -7.9966 0 0 7.9966 278.0832 373.8829 Tm -(p_pglist)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -2742 3542 576 144 re -S -Q -BT -/TT1 1 Tf -7.9962 0 0 7.9962 278.0665 359.4674 Tm -(p_pid)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -2742 3398 576 144 re -S -Q -BT -/TT1 1 Tf -7.9957 0 0 7.9957 278.0498 345.0536 Tm -(p_pptr)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -2742 3110 576 288 re -S -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -2742 2966 576 144 re -S -Q -BT -/TT1 1 Tf -7.9952 0 0 7.9952 278.0331 301.8588 Tm -(p_pgrp)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -2742 2678 576 288 re -S -Q -BT -/TT1 1 Tf -7.9947 0 0 7.9947 276.3415 385.9852 Tm -(proc)Tj -/T1_1 1 Tf -2.65 0 Td -[(str)8(uctur)18(e)]TJ -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -3894 3686 576 144 re -S -Q -BT -/TT1 1 Tf -7.9942 0 0 7.9942 393.1168 373.7708 Tm -(p_pglist)Tj -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -3894 3542 576 144 re -S -Q -BT -/TT1 1 Tf -7.9938 0 0 7.9938 393.0933 359.3596 Tm -(p_pid)Tj -ET -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -3894 3398 576 144 re -S -Q -BT -/TT1 1 Tf -7.9933 0 0 7.9933 393.0697 344.9501 Tm -(p_pptr)Tj -ET -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -3894 3110 576 288 re -S -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -3894 2966 576 144 re -S -Q -BT -/TT1 1 Tf -7.9928 0 0 7.9928 393.0461 301.7683 Tm -(p_pgrp)Tj -ET -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -3894 2678 576 288 re -S -Q -BT -/TT1 1 Tf -7.9923 0 0 7.9923 391.3481 385.8694 Tm -(proc)Tj -/T1_1 1 Tf -2.65 0 Td -[(str)8(uctur)18(e)]TJ -ET -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -2670 4478 576 288 re -S -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -2670 4334 576 144 re -S -Q -BT -/TT1 1 Tf -7.9918 0 0 7.9918 270.7237 438.3926 Tm -(pg_id)Tj -ET -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -2670 4190 576 144 re -S -Q -BT -/TT1 1 Tf -7.9914 0 0 7.9914 270.7075 423.9818 Tm -(pg_session)Tj -ET -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -2670 4046 576 144 re -S -Q -BT -/TT1 1 Tf -7.9909 0 0 7.9909 270.6912 409.5728 Tm -(pg_members)Tj --0.21 8.725 Td -(pgrp)Tj -/T1_1 1 Tf -2.65 0 Td -[(str)8(uctur)18(e)]TJ -ET -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -3462 5558 576 144 re -S -Q -BT -/TT1 1 Tf -7.9904 0 0 7.9904 349.78 560.5669 Tm -(s_count)Tj -ET -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -3462 5414 576 144 re -S -Q -BT -/TT1 1 Tf -7.9899 0 0 7.9899 349.759 546.1514 Tm -(s_leader)Tj -ET -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -3462 5270 576 144 re -S -Q -BT -/TT1 1 Tf -7.9894 0 0 7.9894 349.738 531.7376 Tm -(s_ttyvp)Tj -ET -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -3462 5126 576 144 re -S -Q -BT -/TT1 1 Tf -7.989 0 0 7.989 349.717 517.3256 Tm -(s_ttyp)Tj -ET -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -3462 4982 576 144 re -S -Q -BT -/TT1 1 Tf -7.9885 0 0 7.9885 349.6961 502.9153 Tm -(s_sid)Tj --1.11 8.725 Td -(session)Tj -/T1_1 1 Tf -4.45 0 Td -[(str)8(uctur)18(e)]TJ -ET -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -4542 4838 576 288 re -S -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -4542 4694 576 144 re -S -Q -BT -/TT1 1 Tf -7.988 0 0 7.988 457.5132 474.1283 Tm -(v_data)Tj --0.51 5.125 Td -(vnode)Tj -/T1_1 1 Tf -3.25 0 Td -[(str)8(uctur)18(e)]TJ -ET -q -0.0998501 0 0 0.0998501 0 0 cm -3.2 w 1 j 1 J -1374 5270 576 288 re -S -Q -q -0.0998501 0 0 0.0998501 0 0 cm -3.2 w 1 j 1 J -1374 5126 576 144 re -S -Q -BT -/TT1 1 Tf -7.9875 0 0 7.9875 141.1796 517.2325 Tm -(t_session)Tj -ET -q -0.0998441 0 0 0.0998441 0 0 cm -3.2 w 1 j 1 J -1374 4982 576 144 re -S -Q -BT -/TT1 1 Tf -7.9871 0 0 7.9871 141.1711 502.8247 Tm -(t_pgrp)Tj -ET -q -0.0998381 0 0 0.0998381 0 0 cm -3.2 w 1 j 1 J -1374 4766 576 216 re -S -Q -BT -/TT1 1 Tf -7.9866 0 0 7.9866 141.1626 484.8248 Tm -(t_termios)Tj -ET -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -1374 4550 576 216 re -S -Q -BT -/TT1 1 Tf -7.9861 0 0 7.9861 141.1542 463.2332 Tm -(t_winsize)Tj -ET -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -1374 4406 576 144 re -S -Q -BT -/TT1 1 Tf -7.9856 0 0 7.9856 141.8684 558.0346 Tm -(tty)Tj -/T1_1 1 Tf -2.05 0 Td -[(str)8(uctur)18(e)]TJ -ET -q -0.0998202 0 0 0.0998202 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 3038.25 cm -0 0 m -180 0 l -180 1670 l -S -Q -Q -q -0.9981417 0 0 0.9981417 0 0 cm -q 1 0 0 1 267 470.84 cm -0 0 m --7.2 -1.44 l --7.2 1.44 l -f -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -1 j 1 J -q 1 0 0 1 2670 4708.3999 cm -0 0 m --72 -14.4 l --72 14.4 l -h -S -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4708.25 cm -0 0 m -252 0 l -S -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2742.25 3038.25 cm -0 0 m --267 0 l --267 1555 l -S -Q -Q -q -0.9980818 0 0 0.9980818 0 0 cm -q 1 0 0 1 267 459.32 cm -0 0 m --7.2 -1.44 l --7.2 1.44 l -f -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -1 j 1 J -q 1 0 0 1 2670 4593.2002 cm -0 0 m --72 -14.4 l --72 14.4 l -h -S -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2475.25 4593.25 cm -0 0 m -123 0 l -S -Q -Q -q -0.9980219 0 0 0.9980219 0 0 cm -q 1 0 0 1 267 411.8 cm -0 0 m --7.2 -1.44 l --7.2 1.44 l -f -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -1 j 1 J -q 1 0 0 1 2670 4118 cm -0 0 m --72 -14.4 l --72 14.4 l -h -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2598.25 4118.25 cm -0 0 m --1224 0 l --1224 -360 l -S -Q -Q -q -0.997962 0 0 0.997962 0 0 cm -q 1 0 0 1 159 375.8 cm -0 0 m --7.2 -1.44 l --7.2 1.44 l -f -Q -Q -q -0.0997962 0 0 0.0997962 0 0 cm -1 j 1 J -q 1 0 0 1 1590 3758 cm -0 0 m --72 -14.4 l --72 14.4 l -h -S -Q -Q -q -0.0997962 0 0 0.0997962 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1374.25 3758.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.9979021 0 0 0.9979021 0 0 cm -q 1 0 0 1 216.6 375.8 cm -0 0 m -7.2 1.44 l -7.2 -1.44 l -f -Q -Q -q -0.0997902 0 0 0.0997902 0 0 cm -1 j 1 J -q 1 0 0 1 2166 3758 cm -0 0 m -72 14.4 l -72 -14.4 l -h -S -Q -Q -q -0.9978423 0 0 0.9978423 0 0 cm -q 1 0 0 1 274.2 375.8 cm -0 0 m --7.2 -1.44 l --7.2 1.44 l -f -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -1 j 1 J -q 1 0 0 1 2742 3758 cm -0 0 m --72 -14.4 l --72 14.4 l -h -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2238.25 3758.25 cm -0 0 m -432 0 l -S -Q -Q -q -0.9977824 0 0 0.9977824 0 0 cm -q 1 0 0 1 331.8 375.8 cm -0 0 m -7.2 1.44 l -7.2 -1.44 l -f -Q -Q -q -0.0997782 0 0 0.0997782 0 0 cm -1 j 1 J -q 1 0 0 1 3318 3758 cm -0 0 m -72 14.4 l -72 -14.4 l -h -S -Q -Q -q -0.9977225 0 0 0.9977225 0 0 cm -q 1 0 0 1 389.4 375.8 cm -0 0 m --7.2 -1.44 l --7.2 1.44 l -f -Q -Q -q -0.0997723 0 0 0.0997723 0 0 cm -1 j 1 J -q 1 0 0 1 3894 3758 cm -0 0 m --72 -14.4 l --72 14.4 l -h -S -Q -Q -q -0.0997723 0 0 0.0997723 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3390.25 3758.25 cm -0 0 m -432 0 l -S -Q -Q -q -0.0997723 0 0 0.0997723 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 4262.25 cm -0 0 m -72 0 l -72 1332 l -S -Q -Q -q -0.9976627 0 0 0.9976627 0 0 cm -q 1 0 0 1 346.2 559.4 cm -0 0 m --7.2 -1.44 l --7.2 1.44 l -f -Q -Q -q -0.0997663 0 0 0.0997663 0 0 cm -1 j 1 J -q 1 0 0 1 3462 5594 cm -0 0 m --72 -14.4 l --72 14.4 l -h -S -Q -Q -q -0.0997663 0 0 0.0997663 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3318.25 5594.25 cm -0 0 m -72 0 l -S -Q -Q -q -0.9976028 0 0 0.9976028 0 0 cm -q 1 0 0 1 454.2 512.6 cm -0 0 m --7.2 1.512 l --6.048 4.176 l -f -Q -Q -q -0.0997603 0 0 0.0997603 0 0 cm -1 j 1 J -q 1 0 0 1 4542 5126 cm -0 0 m --72 15.12 l --60.48 41.76 l -h -S -Q -Q -q -0.0997603 0 0 0.0997603 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4038.25 5342.25 cm -0 0 m -438 -188 l -S -Q -Q -q -0.9975429 0 0 0.9975429 0 0 cm -q 1 0 0 1 195 555.8 cm -0 0 m -7.344 -0.288 l -6.696 -3.096 l -f -Q -Q -q -0.0997543 0 0 0.0997543 0 0 cm -1 j 1 J -q 1 0 0 1 1950 5558 cm -0 0 m -73.44 -2.88 l -66.96 -30.96 l -h -S -Q -Q -q -0.0997543 0 0 0.0997543 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3462.25 5198.25 cm -0 0 m --1442 343 l -S -Q -Q -q -0.9974831 0 0 0.9974831 0 0 cm -q 1 0 0 1 346.2 570.2 cm -0 0 m --6.408 -3.672 l --7.344 -0.936 l -f -Q -Q -q -0.0997483 0 0 0.0997483 0 0 cm -1 j 1 J -q 1 0 0 1 3462 5702 cm -0 0 m --64.08 -36.72 l --73.44 -9.36 l -h -S -Q -Q -q -0.0997483 0 0 0.0997483 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1950.25 5198.25 cm -0 0 m -1443 481 l -S -Q -Q -q -0.9974232 0 0 0.9974232 0 0 cm -q 1 0 0 1 267 476.6 cm -0 0 m --7.2 1.368 l --6.12 4.032 l -f -Q -Q -q -0.0997423 0 0 0.0997423 0 0 cm -1 j 1 J -q 1 0 0 1 2670 4766 cm -0 0 m --72 13.68 l --61.2 40.32 l -h -S -Q -Q -q -0.0997423 0 0 0.0997423 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1950.25 5054.25 cm -0 0 m -653 -262 l -S -Q -Q -BT -/T1_1 1 Tf -6.4822 -2.5928 2.5928 6.4822 215.3537 499.2013 Tm -[(for)18(egr)18(ound)]TJ --0.609 -1.429 Td -[(pr)18(ocess gr)18(oup)]TJ -ET -q -0.0997363 0 0 0.0997363 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4038.25 5486.25 cm -0 0 m -288 0 l --288 -1512 l -S -Q -Q -q -0.9973036 0 0 0.9973036 0 0 cm -q 1 0 0 1 389.4 383 cm -0 0 m --6.12 4.104 l --4.104 6.12 l -f -Q -Q -q -0.0997304 0 0 0.0997304 0 0 cm -1 j 1 J -q 1 0 0 1 3894 3830 cm -0 0 m --61.2 41.04 l --41.04 61.2 l -h -S -Q -Q -q -0.0997304 0 0 0.0997304 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 3974.25 cm -0 0 m -93 -93 l -S -Q -Q -q -0.0997304 0 0 0.0997304 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3894.25 3038.25 cm -0 0 m --432 -504 l --1483 -504 l --1483 1613 l -S -Q -Q -q -0.9972437 0 0 0.9972437 0 0 cm -q 1 0 0 1 267 465.08 cm -0 0 m --7.2 -1.44 l --7.2 1.44 l -f -Q -Q -q -0.0997244 0 0 0.0997244 0 0 cm -1 j 1 J -q 1 0 0 1 2670 4650.7998 cm -0 0 m --72 -14.4 l --72 14.4 l -h -S -Q -Q -q -0.0997244 0 0 0.0997244 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2411.25 4651.25 cm -0 0 m -187 0 l -S -Q -Q -BT -/T1_1 1 Tf -6.9803 0 0 6.9803 160.8228 413.8712 Tm -(linked list of)Tj --2.527 -1.429 Td -[(pr)18(ocess gr)18(oup members)]TJ -/T1_0 1 Tf -7.9775 0 0 7.9775 201.5349 215.5912 Tm -(Figure 9.13)Tj -/T1_1 1 Tf -5.695 0 Td -[(Fr)18(eeBSD implementation of sessions and pr)18(ocess gr)18(oups)]TJ -9.9718 0 0 9.9718 147.1845 191.6587 Tm -[(Let\325s )-87(look )-87(at )-87(all )-87(the )-87(\336elds )-87(that )-87(we\325ve )-87(labeled, )-87(starting )-87(with )-87(the)]TJ -/TT1 1 Tf -28.444 0 Td -(session)Tj -/T1_1 1 Tf -4.537 0 Td -[(str)8(uctur)18(e.)]TJ --34.781 -1.2 Td -[(One of these str)8(uctur)18(es is allocated for each session \(e.g., each time)]TJ -/TT1 1 Tf -29.663 0 Td -(setsid)Tj -/T1_1 1 Tf -3.85 0 Td -(is called\).)Tj --31.713 -2.16 Td -(\245)Tj -/TT1 1 Tf -1.489 0 Td -(s_count)Tj -/T1_1 1 Tf -4.534 0 Td -[(is )-84(the )-84(number )-84(of )-84(pr)18(ocess )-84(gr)18(oups )-84(in )-84(the )-84(session.)-584(When )-84(this )-84(counter )-84(is)]TJ --4.534 -1.2 Td -[(decr)18(emented to 0, the str)8(uctur)]TJ -0.25 Tc 13.249 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(an be fr)18(eed.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46811 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(9.10)]TJ -31.685 0 Td -[(Orphaned )-250(Pr)18(ocess )-250(Gr)18(oups)]TJ -/T1_1 1 Tf -14.148 0 Td -(307)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 670.2598 Tm -(ps -o pid,ppid,pgid,sid,tpgid,comm | cat1 &)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 653.3307 Tm -[(the )-10(r)18(esults )-10(ar)]TJ -0.2596 Tc 5.707 0 Td -(es)Tj -0 Tc 1.163 0 Td -(imilar)Tj -0.2596 Tc 2.577 0 Td -(,b)Tj -0 Tc 1.063 0 Td -[(ut )-10(now)]TJ -/TT0 1 Tf -3.41 0 Td -(ps)Tj -/T1_0 1 Tf -1.46 0 Td -(and)Tj -/TT0 1 Tf -1.953 0 Td -(cat1)Tj -/T1_0 1 Tf -2.66 0 Td -(ar)Tj -0.2596 Tc 0.877 0 Td -(ep)Tj -0 Tc 1.34 0 Td -[(laced )-10(in )-10(the )-10(same )-10(backgr)18(ound )-10(pr)20(ocess)]TJ --22.208 -1.2 Td -[(gr)18(oup:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 158.3911 625.7023 Tm -[(PID )-600(PPID )-600(PGID)-1800(SID TPGID COMMAND)]TJ -/TT1 1 Tf --0.6 -1.189 Td -(2837)Tj -/TT0 1 Tf -3.6 0 Td -(2818)Tj -/TT1 1 Tf -3.6 0 Td -(2837)Tj -/TT0 1 Tf -3.6 0 Td -[(2837 )-600(2837)-600(bash)]TJ --10.8 -1.189 Td -[(5801 )-600(2837 )-600(5801 )-600(2837 )-600(2837)-600(ps)]TJ -0 -1.189 TD -[(5802 )-600(2837 )-600(5801 )-600(2837 )-600(2837)-600(cat1)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5928 576.6755 Tm -[(Note )-224(that )-224(the )-224(or)18(der )-224(in )-224(which )-224(a )-224(shell )-224(cr)18(eates )-224(pr)18(ocesses )-224(can )-224(dif)21(fer )-224(depending )-224(on )-224(the)]TJ -0 -1.2 TD -(particular shell in use.)Tj -/TT2 1 Tf -11.9993 0 0 11.9993 93.595 528.6784 Tm -[(9.10 )-776(Orphaned)-556(Pr)20(ocess )-278(Gr)20(oups)]TJ -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5927 504.6798 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-176(mentioned )-176(that )-176(a )-176(pr)17(ocess )-176(whose )-176(par)18(ent )-176(terminates )-176(is )-176(called )-176(an )-176(orphan )-176(and )-176(is)]TJ --1.387 -1.2 Td -[(inherited )-245(by )-245(the)]TJ -/TT0 1 Tf -8.017 0 Td -(init)Tj -/T1_0 1 Tf -2.895 0 Td -[(pr)18(ocess. )-495(W)]TJ -0.4951 Tc 5.198 0 Td -(en)Tj -0 Tc 1.556 0 Td -[(ow )-245(look )-245(at )-245(entir)]TJ -0.4951 Tc 7.685 0 Td -(ep)Tj --0.018 Tc 1.575 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-245(gr)18(oups )-245(that )-245(can )-245(be)]TJ --27.85 -1.2 Td -(orphaned and see how POSIX.1 handles this situation.)Tj -/TT2 1 Tf --3.6 -2.4 Td -(Example)Tj -/T1_0 1 Tf -3.6 -1.92 Td -[(Consider )-133(a )-133(pr)18(ocess )-133(that)]TJ -/TT0 1 Tf -11.098 0 Td -(fork)Tj -/T1_0 1 Tf -0.3829 Tc (sac)Tj -0 Tc 4.534 0 Td -[(hild )-133(and )-133(then )-133(terminates.)-633(Although )-133(this )-133(is )-133(nothing)]TJ --15.631 -1.2 Td -[(abnormal )-202(\(it )-202(happens )-202(all )-202(the )-202(time\), )-202(what )-202(happens )-202(if )-202(the )-202(child )-202(is )-202(stopped )-202(\(using )-202(job)]TJ -T* -[(contr)18(ol\) )-97(when )-97(the )-97(par)18(ent )-97(terminates?)-595(How )-96(will )-96(the )-96(child )-96(ever )-96(be )-96(continued, )-96(and )-96(does)]TJ -T* -[(the )-75(child )-75(know )-75(that )-75(it )-75(has )-75(been )-75(orphaned?)-577(Figur)]TJ -0.3254 Tc 22.05 0 Td -(e9)Tj -0 Tc 1.304 0 Td -(.1)Tj -0.3254 Tc 0.695 0 Td -(1s)Tj -0 Tc 1.249 0 Td -[(hows )-75(this )-75(situation: )-75(the )-75(par)16(ent)]TJ --25.298 -1.2 Td -[(pr)18(ocess has)]TJ -/TT0 1 Tf -5.301 0 Td -(fork)Tj -/T1_0 1 Tf -[(ed a child that stops, and the par)18(ent is about to exit.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2850 3291.1 432 216 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 288.2334 343.1088 Tm -(login shell)Tj --0.024 -1.25 Td -(\(PID 2837\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2850 2751.1 432 216 re -S -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 295.0869 289.098 Tm -[(par)18(ent)]TJ --0.883 -1.25 Td -(\(PID 6099\))Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -3210 2283.1 432 216 re -S -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 333.6439 242.2918 Tm -(child)Tj --1.206 -1.25 Td -(\(PID 6100\))Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 306.6 296.71 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 3066 2967.1001 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3066.25 3291.25 cm -0 0 m -0 -252 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 308.5074 311.0567 Tm -(fork/exec)Tj -ET -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 342.6 249.91 cm -0 0 m --6.912 2.664 l --4.824 5.616 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 3426 2499.1001 cm -0 0 m --69.12 26.64 l --48.24 56.16 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3066.25 2751.25 cm -0 0 m -29 -21 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3120.25 2713.25 cm -0 0 m -29 -21 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3174.25 2675.25 cm -0 0 m -30 -21 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3228.25 2637.25 cm -0 0 m -30 -21 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3283.25 2599.25 cm -0 0 m -30 -21 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3337.25 2561.25 cm -0 0 m -30 -21 l -S -Q -Q -BT -/TT0 1 Tf -6.5515 -4.586 4.586 6.5515 318.4783 270.5726 Tm -(fork)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 3219.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 3284.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 3348.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 3413.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 3478.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 3543.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2845.25 3579.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2913.25 3579.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2980.25 3579.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3048.25 3579.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3115.25 3579.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3183.25 3579.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3250.25 3579.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3318.25 3579.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 3514.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 3449.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 3384.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 3320.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 3255.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3286.25 3219.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3219.25 3219.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3151.25 3219.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3084.25 3219.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3016.25 3219.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2949.25 3219.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2881.25 3219.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2814.25 3219.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 272.5735 360.9983 Tm -[(pr)18(ocess gr)18(oup 2837)]TJ -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 2211.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 2283.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 2355.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 2427.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 2499.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 2571.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 2643.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 2715.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 2787.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 2859.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 2931.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 3003.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2847.25 3039.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2916.25 3039.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2985.25 3039.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3055.25 3039.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3124.25 3039.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3193.25 3039.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3262.25 3039.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3331.25 3039.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3401.25 3039.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3470.25 3039.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3540.25 3039.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3609.25 3039.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3678.25 3039.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3714.25 2967.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3714.25 2895.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3714.25 2823.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3714.25 2751.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3714.25 2679.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3714.25 2607.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3714.25 2535.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3714.25 2463.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3714.25 2391.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3714.25 2319.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3714.25 2247.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3645.25 2211.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3576.25 2211.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3506.25 2211.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3437.25 2211.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3367.25 2211.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3298.25 2211.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3229.25 2211.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3160.25 2211.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3091.25 2211.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3021.25 2211.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2952.25 2211.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2883.25 2211.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2814.25 2211.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 290.5485 214.2471 Tm -[(pr)18(ocess gr)18(oup 6099)]TJ -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2634.25 2067.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2634.25 2369.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2634.25 2672.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2634.25 2974.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2634.25 3276.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2634.25 3579.25 cm -0 0 m -0 144 l -144 144 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2904.25 3723.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3174.25 3723.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3444.25 3723.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3714.25 3723.25 cm -0 0 m -144 0 l -144 -144 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3858.25 3420.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3858.25 3118.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3858.25 2816.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3858.25 2513.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3858.25 2211.25 cm -0 0 m -0 -144 l --144 -144 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3588.25 2067.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3318.25 2067.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3048.25 2067.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 2067.25 cm -0 0 m --144 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9946 0 0 9.9946 229.0763 287.5947 Tm -(session)Tj -/T1_1 1 Tf -7.9957 0 0 7.9957 213.9883 181.412 Tm -[(Figure 9.1)37(1)]TJ -/T1_0 1 Tf -5.658 0 Td -[(Example of a pr)18(ocess gr)18(oup about to be orphaned)]TJ -9.9946 0 0 9.9946 129.53 157.425 Tm -[(The )-30(pr)18(ogram )-30(that )-30(cr)18(eates )-30(this )-30(situation )-30(is )-30(shown )-30(in )-30(Figur)]TJ -0.2799 Tc 25.265 0 Td -(e9)Tj -0 Tc 1.259 0 Td -[(.13. )-280(This)-280(pr)18(ogram )-30(has )-30(some)]TJ --26.524 -1.2 Td -[(new )-234(featur)18(es. )-484(Her)18(e, )-234(we )-234(ar)]TJ -0.4837 Tc 12.458 0 Td -(ea)Tj -0 Tc 1.463 0 Td -[(ssuming )-234(a )-234(job-contr)19(ol )-234(shell.)-734(Recall )-234(fr)18(om )-234(the )-234(pr)19(evious)]TJ --13.92 -1.2 Td -[(section )-61(that )-61(the )-61(shell )-61(places )-61(the )-61(for)17(egr)18(ound )-61(pr)18(ocess )-61(into )-61(its )-61(own )-61(pr)18(ocess )-61(gr)18(oup )-61(\(6099 )-61(in)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46812 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(9.9)]TJ -30.603 0 Td -[(Shell )-250(Execution )-250(of )-250(Pr)18(ograms)]TJ -/T1_1 1 Tf -15.23 0 Td -(303)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(driver)Tj -0.5447 Tc 2.662 0 Td -(,t)Tj -0 Tc 1.121 0 Td -[(he )-295(shell, )-295(and )-295(some )-295(applications)]TJ -0.0833 Tc 15.062 0 Td -(\321i)Tj -0.5447 Tc 1.374 0 Td -(sah)Tj -0 Tc 2.595 0 Td -[(ack. )-545(Some)-544(use )-295(job )-295(contr)19(ol )-295(with )-295(a)]TJ --22.815 -1.2 Td -[(windowing )-29(system, )-29(claiming )-29(a )-29(need )-29(for )-29(both.)-528(Regar)18(dless )-29(of )-29(your )-29(opinion, )-29(job )-29(contr)18(ol )-29(is)]TJ -0.25 Tc 0 -1.2 TD -(ar)Tj -0 Tc 1.127 0 Td -[(equir)18(ed featur)18(e)-250(of)-250(POSIX.1.)]TJ -/TT0 1 Tf -11.9993 0 0 11.9993 93.5939 608.9635 Tm -[(9.9 )-1332(Shell)-556(Ex)10(ecution )-278(of )-278(Pr)20(ograms)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5918 584.9649 Tm -[(Let\325s )-76(examine )-76(how )-76(the )-76(shells )-76(execute )-76(pr)18(ograms )-76(and )-76(how )-76(this )-76(r)17(elates )-76(to )-76(the )-76(concepts )-76(of)]TJ -T* -[(pr)18(ocess )-329(gr)18(oups, )-329(contr)18(olling )-329(terminals, )-329(and )-329(sessions.)]TJ --0.092 Tc 25.165 0 Td -[(To )-513(d)]TJ -0.5787 Tc 2.257 0 Td -(ot)Tj -0 Tc 1.451 0 Td -[(his, )-329(we\325ll )-329(use )-329(the)]TJ -/TT1 1 Tf -8.928 0 Td -(ps)Tj -/T1_0 1 Tf --37.8 -1.2 Td -(command again.)Tj -1.8 -1.2 Td -[(First, )-178(we\325ll )-178(use )-178(a )-178(shell )-178(that )-178(doesn\325t )-178(support )-178(job )-178(contr)18(ol )167(\321 )167(the)-429(classic )-178(Bourne )-178(shell)]TJ --0.008 Tc -1.8 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning on Solaris.)-500(If we execute)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.5912 521.3386 Tm -(ps -o pid,ppid,pgid,sid,comm)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5923 504.4095 Tm -(the output is)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 158.3906 488.7808 Tm -[(PID )-600(PPID )-600(PGID)-1800(SID COMMAND)]TJ -0 -1.189 TD -[(949 )-1200(947 )-1200(949 )-1200(949)-600(sh)]TJ --0.6 -1.189 Td -[(1774 )-1200(949 )-1200(949 )-1200(949)-600(ps)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5923 450.453 Tm -[(The )-40(par)18(ent )-40(of )-40(the)]TJ -/TT1 1 Tf -7.965 0 Td -(ps)Tj -/T1_0 1 Tf -1.49 0 Td -[(command )-40(is )-40(the )-40(shell, )-40(which )-40(we )-40(would )-40(expect.)-540(Both )-40(the )-40(shell )-40(and)]TJ --9.455 -1.2 Td -(the)Tj -/TT1 1 Tf -1.721 0 Td -(ps)Tj -/T1_0 1 Tf -1.534 0 Td -[(command )-84(ar)18(e)-334(in)-334(the )-84(same )-84(session )-84(and )-84(for)18(egr)18(ound )-84(pr)18(ocess )-84(gr)18(oup)]TJ -29.543 0.04 Td -(\()Tj -0.333 -0.04 Td -(949)Tj -1.5 0.04 Td -(\))Tj -0.5842 Tc 0.333 -0.04 Td -(.W)Tj -0.3342 Tc 1.742 0 Td -(es)Tj -0 Tc 1.237 0 Td -(ay)Tj --37.944 -1.2 Td -[(that )-12(949 )-12(is )-12(the )-12(for)18(egr)18(ound )-12(pr)18(ocess )-12(gr)18(oup )-12(because )-12(that )-12(is )-12(what )-12(you )-12(get )-12(when )-12(you )-12(execute)]TJ -0.25 Tc -0 -1.2 Td -(ac)Tj -0 Tc 1.194 0 Td -[(ommand with a shell that doesn\325t support job contr)18(ol.)]TJ -7.9995 0 0 7.9995 183.5895 394.4563 Tm -[(Some )-173(platforms )-173(support )-173(an )-173(option )-173(to )-173(have )-173(the)]TJ -/TT1 1 Tf -21.974 0 Td -(ps)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.756 -0.04 Td -[(command )-173(print )-173(the )-173(pr)18(ocess )-173(gr)18(oup )-173(ID)]TJ --24.763 -1.25 Td -[(associated )-254(with )-254(the )-254(session\325s )-254(contr)19(olling )-254(terminal. )-254(This )-254(value )-254(would )-254(be )-254(shown )-254(under )-254(the)]TJ -0 -1.25 TD -[(TPGID )-23(column.)-523(Unfortunately)]TJ -0.2731 Tc 13.672 0 Td -(,t)Tj -0 Tc 0.849 0 Td -[(he )-23(output )-23(of )-23(the)]TJ -/TT1 1 Tf -7.425 0 Td -(ps)Tj -/T1_0 1 Tf -1.473 0 Td -[(command )-23(often )-23(dif)18(fers )-23(among )-23(versions )-23(of)]TJ --23.419 -1.25 Td -[(the )-130(UNIX )-130(System.)-630(For )-130(example, )-130(Solaris )-130(10 )-130(doesn\325t )-130(support )-130(this )-130(option.)-627(Under )-130(Fr)18(eeBSD )-130(8.0,)]TJ -T* -(Linux 3.2.0, and Mac OS X 10.6.8, the command)Tj -/TT1 1 Tf -3.125 -1.8 Td -(ps -o pid,ppid,pgid,sid,tpgid,comm)Tj -/T1_0 1 Tf --3.125 -1.55 Td -(prints exactly the information we want.)Tj -0 -1.875 TD -[(Note )-66(that )-66(it )-66(is )-66(misleading )-66(to )-66(associate )-66(a )-66(pr)15(ocess )-66(with )-66(a )-66(terminal )-66(pr)18(ocess )-66(gr)18(oup )-66(ID )-66(\(the )-66(TPGID)]TJ -0 -1.25 TD -[(column\). )-359(A)-360(pr)18(ocess )-109(does )-109(not )-109(have )-109(a )-109(terminal )-109(pr)18(ocess )-109(contr)18(ol )-109(gr)14(oup. )-359(A)-360(pr)18(ocess )-109(belongs )-109(to )-109(a)]TJ --0 -1.25 Td -[(pr)18(ocess )-14(gr)18(oup, )-14(and )-14(the )-14(pr)18(ocess )-14(gr)16(oup )-15(belongs )-15(to )-15(a )-15(session.)-515(The )-15(session )-15(may )-15(or )-15(may )-15(not )-15(have )-15(a)]TJ --0 -1.25 Td -[(contr)18(olling )-74(terminal.)-574(If )-74(the )-74(session )-74(does )-74(have )-74(a )-74(contr)18(olling )-74(terminal, )-74(then )-74(the )-74(terminal )-74(device)]TJ -T* -[(knows )-85(the )-85(pr)18(ocess )-85(gr)18(oup )-85(ID )-85(of )-85(the )-85(for)15(egr)18(ound )-85(pr)18(ocess. )-336(This)-335(value )-86(can )-86(be )-86(set )-86(in )-86(the )-86(terminal)]TJ -0 -1.25 Td -[(driver )-15(with )-15(the)]TJ -/TT1 1 Tf -6.952 0 Td -(tcsetpgrp)Tj -/T1_0 1 Tf -5.665 0 Td -[(function, )-15(as )-15(we )-15(show )-15(in )-15(Figur)]TJ -0.2655 Tc 13.164 0 Td -(e9)Tj -0 Tc 1.244 0 Td -[(.9. )-265(The)-266(for)18(egr)18(ound )-15(pr)18(ocess )-15(gr)17(oup)]TJ --27.026 -1.25 Td -[(ID )-12(is )-12(an )-12(attribute )-12(of )-12(the )-12(terminal, )-12(not )-12(the )-12(pr)19(ocess. )-262(This)-262(value )-12(fr)18(om )-12(the )-12(terminal )-12(device )-12(driver )-12(is)]TJ --0 -1.25 Td -(what)Tj -/TT1 1 Tf -2.497 0 Td -(ps)Tj -/T1_0 1 Tf -1.455 0 Td -[(prints )-5(as )-5(the )-5(TPGID.)-505(If )-5(it )-5(\336nds )-5(that )-5(the )-5(session )-5(doesn\325t )-5(have )-5(a )-5(contr)18(olling )-5(terminal,)]TJ -/TT1 1 Tf -36.847 0 Td -(ps)Tj -/T1_0 1 Tf --40.8 -1.25 Td -(prints either 0 or)Tj -/TT2 1 Tf -7.612 0 Td -(!)Tj -/T1_0 1 Tf -(1, depending on the platform.)Tj -9.9994 0 0 9.9994 129.5931 214.6671 Tm -[(If we execute the command in the backgr)18(ound,)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.592 197.9681 Tm -(ps -o pid,ppid,pgid,sid,comm &)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5931 179.9692 Tm -[(the only value that changes is the pr)18(ocess ID of the command:)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 158.3914 164.34 Tm -[(PID )-600(PPID )-600(PGID)-1800(SID COMMAND)]TJ -0 -1.189 TD -[(949 )-1200(947 )-1200(949 )-1200(949)-600(sh)]TJ --0.6 -1.189 Td -[(1812 )-1200(949 )-1200(949 )-1200(949)-600(ps)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46813 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(9.8)]TJ -38.524 0 Td -[(Job )-250(Contr)18(ol)]TJ -/T1_1 1 Tf -7.309 0 Td -(299)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Most )-61(applications )-61(don\325t )-61(call )-61(these )-61(two )-61(functions )-61(dir)20(ectly)]TJ -0.5607 Tc 25.074 0 Td -(.I)Tj -0 Tc 1.148 0 Td -[(nstead, )-61(the )-61(functions )-61(ar)19(e)]TJ --28.022 -1.2 Td -[(normally called by job-contr)18(ol shells.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -1.926 0 Td -(tcgetsid)Tj -/T1_0 1 Tf -5.052 0 Td -[(function )-2(allows )-2(an )-2(application )-2(to )-2(obtain )-2(the )-2(pr)18(ocess )-2(gr)21(oup )-2(ID )-2(for )-2(the)]TJ --8.777 -1.2 Td -[(session leader given a \336le descriptor for the contr)18(olling TTY)111(.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 616.263 Tm -(#include )Tj -0 -1.783 TD -(pid_t tcgetsid\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -1.161 -1.783 Td -[(Returns: session leader)-74(\325s pr)18(ocess gr)18(oup ID if OK,)]TJ -/TT1 1 Tf -21.903 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5797.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 566.1321 Tm -[(Applications )-306(that )-306(need )-306(to )-306(manage )-306(contr)18(olling )-306(terminals )-306(can )-306(use)]TJ -/TT0 1 Tf -30.972 0 Td -(tcgetsid)Tj -/T1_0 1 Tf -5.356 0 Td -(to)Tj --38.128 -1.2 Td -[(identify )-78(the )-78(session )-78(ID )-78(of )-78(the )-78(contr)19(olling )-78(terminal\325s )-78(session )-78(leader )-78(\(which )-78(is )-78(equivalent)]TJ -0 -1.2 TD -[(to the session leader)-74(\325s pr)18(ocess gr)18(oup ID\).)]TJ -/TT2 1 Tf -11.9986 0 0 11.9986 93.5887 506.1393 Tm -[(9.8 )-1332(Job)-556(Contr)20(ol)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5843 484.5418 Tm -[(Job )-97(contr)18(ol )-97(is )-97(a )-97(featur)]TJ -0.3467 Tc 9.764 0 Td -(et)Tj -0 Tc 1.152 0 Td -[(hat )-97(was )-97(added )-97(to )-97(BSD )-97(ar)18(ound )-97(1980.)-597(This )-97(featur)]TJ -0.3467 Tc 21.781 0 Td -(ea)Tj -0 Tc 1.326 0 Td -[(llows )-97(us )-97(to)]TJ --34.022 -1.2 Td -[(start )-153(multiple )-153(jobs )-153(\(gr)18(oups )-153(of )-153(pr)18(ocesses\) )-153(fr)18(om )-153(a )-153(single )-153(terminal )-153(and )-153(to )-153(contr)19(ol )-153(which)]TJ -T* -[(jobs )-187(can )-187(access )-187(the )-187(terminal )-187(and )-187(which )-187(jobs )-187(ar)]TJ -0.4375 Tc 21.692 0 Td -(er)Tj -0 Tc 1.304 0 Td -[(un )-187(in )-187(the )-187(backgr)17(ound. )-437(Job)-438(contr)18(ol)]TJ --0.018 Tc -22.995 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(es thr)18(ee forms of support:)]TJ -0.944 -1.8 Td -[(1. )-633(A)-250(shell that supports job contr)18(ol)]TJ -0 -1.48 TD -[(2. )-633(The)-250(terminal driver in the kernel must support job contr)18(ol)]TJ -T* -[(3. )-633(The)-250(kernel must support certain job-contr)18(ol signals)]TJ -7.999 0 0 7.999 183.5786 378.5546 Tm -[(SVR3 )-67(pr)18(ovided )-67(a )-67(dif)17(fer)18(ent )-67(form )-67(of )-67(job )-67(contr)18(ol )-67(called)]TJ -/T1_2 1 Tf -23.741 0 Td -[(shell )-67(layers)]TJ -/T1_0 1 Tf -0.5673 Tc (.T)Tj -0 Tc 5.971 0 Td -[(he )-67(BSD )-67(form )-67(of )-67(job )-67(contr)17(ol,)]TJ --29.712 -1.25 Td -(however)Tj -0.4066 Tc 3.806 0 Td -(,w)Tj -0 Tc 1.491 0 Td -[(as )-156(selected )-156(by )-156(POSIX.1 )-156(and )-156(is )-156(what )-156(we )-156(describe )-156(her)14(e. )-406(In)-407(earlier )-156(versions )-156(of )-156(the)]TJ --5.297 -1.25 Td -[(standar)18(d, job contr)18(ol support was optional, but POSIX.1 now r)18(equir)18(es platforms to support it.)]TJ -9.9988 0 0 9.9988 147.5832 335.5597 Tm -[(Fr)18(om )-157(our )-157(perspective, )-157(when )-157(using )-157(job )-157(contr)18(ol )-157(fr)16(om )-157(a )-157(shell, )-157(we )-157(can )-157(start )-157(a )-157(job )-157(in)]TJ --1.8 -1.2 Td -[(either )-14(the )-14(for)19(egr)18(ound )-14(or )-14(the )-14(backgr)19(ound. )-264(A)-263(job )-14(is )-14(simply )-14(a )-14(collection )-14(of )-14(pr)20(ocesses, )-13(often)]TJ -0.25 Tc -0 -1.2 Td -(ap)Tj -0 Tc 1.351 0 Td -[(ipeline of pr)18(ocesses. )-250(For)-250(example,)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5833 294.8646 Tm -(vi main.c)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5854 276.8668 Tm -[(starts a job consisting of one pr)18(ocess in the for)18(egr)18(ound. )-250(The)-250(commands)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5835 260.1688 Tm -(pr *.c | lpr &)Tj -0 -1.189 TD -(make all &)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5856 231.4722 Tm -[(start )-90(two )-90(jobs )-90(in )-90(the )-90(backgr)19(ound. )-340(All)-340(the )-90(pr)18(ocesses )-90(invoked )-90(by )-90(these )-90(backgr)19(ound )-90(jobs)]TJ -0 -1.2 TD -[(ar)18(e)-250(in)-250(the backgr)18(ound.)]TJ -1.8 -1.2 Td -[(As )-61(we )-61(said, )-61(to )-61(use )-61(the )-61(featur)18(es )-61(pr)18(ovided )-61(by )-61(job )-61(contr)13(ol, )-61(we )-61(need )-61(to )-61(use )-61(a )-61(shell )-61(that)]TJ --1.8 -1.2 Td -[(supports )-88(job )-88(contr)18(ol. )-338(W)55(ith )-88(older )-88(systems, )-88(it )-88(was )-88(simple )-88(to )-88(say )-88(which )-88(shells )-88(supported)]TJ -0 -1.2 Td -[(job )-6(contr)18(ol )-6(and )-6(which )-6(didn\325t.)-506(The )-6(C )-6(shell )-6(supported )-6(job )-6(contr)18(ol, )-6(the )-6(Bourne )-6(shell )-6(didn\325t,)]TJ -T* -[(and )-29(it )-29(was )-29(an )-29(option )-29(with )-29(the )-29(Korn )-29(shell, )-29(depending )-29(on )-29(whether )-29(the )-29(host )-29(supported )-29(job)]TJ -T* -[(contr)18(ol. )-331(But)-330(the )-81(C )-81(shell )-81(has )-81(been )-81(ported )-81(to )-81(systems )-81(\(e.g., )-81(earlier )-81(versions )-81(of )-81(System )-81(V\))]TJ -T* -[(that )-83(don\325t )-83(support )-83(job )-83(contr)20(ol, )-83(and )-83(the )-83(SVR4 )-83(Bourne )-83(shell, )-83(when )-83(invoked )-83(by )-83(the )-83(name)]TJ -/TT0 1 Tf -T* -(jsh)Tj -/T1_0 1 Tf -2.065 0 Td -[(instead )-15(of)]TJ -/TT0 1 Tf -4.622 0 Td -(sh)Tj -/T1_0 1 Tf -0.2652 Tc (,s)Tj -0 Tc 2.139 0 Td -[(upports )-15(job )-15(contr)18(ol. )-265(The)-265(Korn )-15(shell )-15(continues )-15(to )-15(support )-15(job )-15(contr)17(ol)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46814 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(298)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Relationships)]TJ -39.241 0 Td -[(Chapter )-250(9)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1839.25 6670.25 cm -0 0 m -2814 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 311.7573 658.9605 Tm -[(Fr)18(eeBSD )-1416(Linux)-1382(Mac OS X)-1198(Solaris)]TJ -1.275 -1.25 Td -[(8.0 )-2993(3.2.0)-2618(10.6.8 )-2868(10)]TJ --11.653 0.625 Td -(Method)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1839.25 6450.25 cm -0 0 m -2814 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1839.25 6430.25 cm -0 0 m -2814 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 187.8935 634.9238 Tm -(open)Tj -/T1_1 1 Tf -2.65 0 Td -(without)Tj -/TT0 1 Tf -3.758 0 Td -(O_NOCTTY)Tj -/T1_1 1 Tf -4.262 Tc 15.54 0 Td -(\245\245\245)Tj -/TT0 1 Tf -0 Tc -21.948 -1.25 Td -(TIOCSCTTY ioctl)Tj -/T1_1 1 Tf -9.25 0 Td -[(command )-3131(\245)]TJ -4.262 Tc 12.698 0 Td -(\245\245\245)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1839.25 6210.25 cm -0 0 m -2814 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3035.25 6210.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4653.25 6210.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1839.25 6210.25 cm -0 0 m -0 460 l -S -Q -Q -BT -/T1_0 1 Tf -0 Tc 7.9986 0 0 7.9986 197.1845 602.8915 Tm -(Figure 9.8)Tj -/T1_1 1 Tf -5.195 0 Td -[(How various implementations allocate contr)18(olling terminals)]TJ -9.9982 0 0 9.9982 147.5735 576.4962 Tm -(Ther)Tj -0.2507 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.23 0 Td -[(re )-37(t)]TJ -0 Tc 1.433 0 Td -[(imes )-1(when )-1(a )-1(pr)18(ogram )-1(wants )-1(to )-1(talk )-1(to )-1(the )-1(contr)18(olling )-1(terminal, )-1(r)21(egar)18(dless)]TJ --6.513 -1.2 Td -[(of )-153(whether )-153(the )-153(standar)]TJ -0.4027 Tc 10.471 0 Td -(di)Tj -0 Tc 1.305 0 Td -[(nput )-153(or )-153(standar)]TJ -0.4027 Tc 7.178 0 Td -(do)Tj -0 Tc 1.56 0 Td -[(utput )-153(is )-153(r)19(edir)18(ected. )-403(The)-402(way )-153(a )-153(pr)19(ogram)]TJ --20.514 -1.2 Td -[(guarantees )-132(that )-132(it )-132(is )-132(talking )-132(to )-132(the )-132(contr)18(olling )-132(terminal )-132(is )-132(to)]TJ -/TT0 1 Tf -27.641 0 Td -(open)Tj -/T1_1 1 Tf -2.782 0 Td -[(the )-132(\336le)]TJ -/TT0 1 Tf -3.526 0 Td -(/dev/tty)Tj -/T1_1 1 Tf -(.)Tj --33.95 -1.2 Td -[(This )-65(special )-65(\336le )-65(is )-65(a )-65(synonym )-65(within )-65(the )-65(kernel )-65(for )-65(the )-65(contr)19(olling )-65(terminal.)-565(Naturally)111(,)]TJ --0 -1.2 Td -[(if the pr)18(ogram doesn\325t have a contr)18(olling terminal, the)]TJ -/TT0 1 Tf -24.207 0 Td -(open)Tj -/T1_1 1 Tf -2.65 0 Td -(of this device will fail.)Tj --25.057 -1.2 Td -[(The )-225(classic )-225(example )-225(is )-225(the)]TJ -/TT0 1 Tf -12.719 0 Td -(getpass)Tj -/T1_1 1 Tf -4.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.808 -0.04 Td -[(function, )-225(which )-225(r)18(eads )-225(a )-225(passwor)]TJ -0.4751 Tc 15.188 0 Td -(d\()Tj -0 Tc 1.419 0 Td -(with)Tj --36.967 -1.2 Td -[(terminal )-1(echoing )-1(turned )-1(of)18(f, )-1(of )-1(course\).)-501(This )-1(function )-1(is )-1(called )-1(by )-1(the)]TJ -/TT0 1 Tf -30.725 0 Td -(crypt)Tj -/T1_1 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.584 -0.04 Td -[(pr)18(ogram)]TJ --35.142 -1.2 Td -[(and can be used in a pipeline.)-500(For example,)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.5734 474.7446 Tm -(crypt < salaries | lpr)Tj -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 455.6782 Tm -[(decrypts )-90(the )-90(\336le)]TJ -/TT0 1 Tf -7.618 0 Td -(salaries)Tj -/T1_1 1 Tf -5.14 0 Td -[(and )-90(pipes )-90(the )-90(output )-90(to )-90(the )-90(print )-90(spooler)]TJ -0.5899 Tc 18.522 0 Td -(.B)Tj -0 Tc 1.451 0 Td -(ecause)Tj -/TT0 1 Tf -3.269 0 Td -(crypt)Tj -/T1_1 1 Tf --0.018 Tc -36 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ads )-95(its )-95(input )-95(\336le )-95(on )-95(its )-95(standar)]TJ -0.3448 Tc 13.912 0 Td -(di)Tj -0 Tc 1.247 0 Td -[(nput, )-95(the )-95(standar)]TJ -0.3448 Tc 7.759 0 Td -(di)Tj -0 Tc 1.247 0 Td -[(nput )-95(can\325t )-95(be )-95(used )-95(to )-95(enter )-95(the)]TJ --25.02 -1.2 Td -[(passwor)18(d. )-336(Also,)]TJ -/TT0 1 Tf -7.777 0 Td -(crypt)Tj -/T1_1 1 Tf -3.336 0 Td -[(is )-86(designed )-86(so )-86(that )-86(we )-86(have )-86(to )-86(enter )-86(the )-86(encryption )-86(passwor)21(d)]TJ --11.113 -1.2 Td -[(each )-47(time )-47(we )-47(r)8(un )-47(the )-47(pr)18(ogram, )-47(to )-47(pr)18(event )-47(us )-47(fr)18(om )-47(saving )-47(the )-47(passwor)18(d)-297(in)-297(a)-297(\336le )-47(\(which)]TJ -0 -1.2 Td -(could be a security hole\).)Tj -1.8 -1.2 Td -(Ther)Tj -0.4332 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.412 0 Td -[(re )-219(k)]TJ -0 Tc 1.845 0 Td -[(nown )-183(ways )-183(to )-183(br)17(eak )-183(the )-183(encoding )-183(used )-183(by )-183(the)]TJ -/TT0 1 Tf -22.184 0 Td -(crypt)Tj -/T1_1 1 Tf -3.433 0 Td -[(pr)18(ogram. )-433(See)]TJ --32.726 -1.2 Td -(Gar\336nkel et al.)Tj -6.767 0.04 Td -([)Tj -0.333 -0.04 Td -(2003)Tj -2 0.04 Td -(])Tj -0.583 -0.04 Td -(for mor)Tj -0.25 Tc 3.33 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(etails on encrypting \336les.)Tj -/TT1 1 Tf -11.9978 0 0 11.9978 93.5839 347.6976 Tm -(9.7)Tj -/TT2 1 Tf -3 0 Td -(tcgetpgrp)Tj -/TT1 1 Tf -(,)Tj -/TT2 1 Tf -6.234 0 Td -(tcsetpgrp)Tj -/TT1 1 Tf -0.556 Tc (,a)Tj -0 Tc 6.79 0 Td -(nd)Tj -/TT2 1 Tf -1.778 0 Td -(tcgetsid)Tj -/TT1 1 Tf -5.356 0 Td -(Functions)Tj -/T1_1 1 Tf --0.092 Tc 9.9982 0 0 9.9982 129.5771 323.7019 Tm -[(We )-240(n)]TJ -0 Tc 2.275 0 Td -[(eed )-56(a )-56(way )-56(to )-56(tell )-56(the )-56(kernel )-56(which )-56(pr)18(ocess )-56(gr)18(oup )-56(is )-56(the )-56(for)16(egr)18(ound )-56(pr)18(ocess )-56(gr)18(oup,)]TJ --2.275 -1.2 Td -[(so )-198(that )-198(the )-198(terminal )-198(device )-198(driver )-198(knows )-198(wher)15(e)-448(to)-448(s)-1(end )-198(the )-198(terminal )-198(input )-198(and )-198(the)]TJ -0 -1.2 Td -(terminal-generated signals \(Figur)Tj -0.25 Tc 14.771 0 Td -(e9)Tj -0 Tc 1.229 0 Td -(.7\).)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.574 281.8095 Tm -(#include )Tj -0 -1.902 TD -(pid_t tcgetpgrp\(int)Tj -/T1_2 1 Tf -12 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --5.105 -1.902 Td -[(Returns: pr)18(ocess gr)18(oup ID of for)18(egr)18(ound pr)18(ocess gr)18(oup if OK,)]TJ -/TT3 1 Tf -27.569 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --34.464 -1.902 Td -(int tcsetpgrp\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,p)Tj -0 Tc 2.578 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(pgrpid)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -10.473 -1.902 Td -(Returns: 0 if OK,)Tj -/TT3 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2089.25 cm -0 0 m -0 819 l -3900 819 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9976 0 0 9.9976 129.5689 194.1334 Tm -[(The )-25(function)]TJ -/TT0 1 Tf -5.931 0 Td -(tcgetpgrp)Tj -/T1_1 1 Tf --0.018 Tc 5.675 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-25(the )-25(pr)18(ocess )-25(gr)17(oup )-25(ID )-25(of )-25(the )-25(for)17(egr)18(ound )-25(pr)18(ocess )-25(gr)17(oup)]TJ --12.463 -1.2 Td -(associated with the terminal open on)Tj -/T1_2 1 Tf -16.548 0 Td -(fd)Tj -/T1_1 1 Tf -(.)Tj --14.748 -1.2 Td -[(If )-64(the )-64(pr)18(ocess )-64(has )-64(a )-64(contr)20(olling )-64(terminal, )-64(the )-64(pr)18(ocess )-64(can )-64(call)]TJ -/TT0 1 Tf -27.371 0 Td -(tcsetpgrp)Tj -/T1_1 1 Tf -5.714 0 Td -[(to )-64(set )-64(the)]TJ --34.885 -1.2 Td -[(for)18(egr)18(ound )-76(pr)18(ocess )-76(gr)18(oup )-76(ID )-76(to)]TJ -/T1_2 1 Tf -14.604 0 Td -(pgrpid)Tj -/T1_1 1 Tf -0.5765 Tc (.T)Tj -0 Tc 4.106 0 Td -[(he )-76(value )-76(of)]TJ -/T1_2 1 Tf -5.357 0 Td -(pgrpid)Tj -/T1_1 1 Tf -2.994 0 Td -[(must )-76(be )-76(the )-76(pr)18(ocess )-76(gr)16(oup)]TJ --27.061 -1.2 Td -[(ID )-60(of )-60(a )-60(pr)18(ocess )-60(gr)18(oup )-60(in )-60(the )-60(same )-60(session, )-60(and)]TJ -/T1_2 1 Tf -21.226 0 Td -(fd)Tj -/T1_1 1 Tf -1.088 0 Td -[(must )-60(r)18(efer )-60(to )-60(the )-60(contr)18(olling )-60(terminal)]TJ --22.314 -1.2 Td -(of the session.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46815 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(296)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Relationships)]TJ -39.241 0 Td -[(Chapter )-250(9)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(This )-71(function )-71(r)18(eturns )-71(an )-71(err)19(or )-71(if )-71(the )-71(caller )-71(is )-71(alr)18(eady )-71(a )-71(pr)18(ocess )-71(gr)18(oup )-71(leader)]TJ -0.5709 Tc 33.847 0 Td -(.T)Tj -0.3209 Tc 1.342 0 Td -(oe)Tj -0 Tc 1.346 0 Td -[(nsur)18(e)]TJ --36.535 -1.2 Td -[(this )-38(is )-38(not )-38(the )-38(case, )-38(the )-38(usual )-38(practice )-38(is )-38(to )-38(call)]TJ -/TT0 1 Tf -20.846 0 Td -(fork)Tj -/T1_1 1 Tf -2.688 0 Td -[(and )-38(have )-38(the )-38(par)18(ent )-38(terminate )-38(and)]TJ --23.534 -1.2 Td -[(the )-203(child )-203(continue.)]TJ --0.092 Tc 9.319 0 Td -[(We )-388(a)]TJ --0.018 Tc 2.341 0 Td -[(re )-240(g)]TJ -0 Tc 1.866 0 Td -[(uaranteed )-203(that )-203(the )-203(child )-203(is )-203(not )-203(a )-203(pr)18(ocess )-203(gr)18(oup )-203(leader)70(,)]TJ --13.525 -1.2 Td -[(because )-34(the )-34(pr)18(ocess )-34(gr)18(oup )-34(ID )-34(of )-34(the )-34(par)20(ent )-34(is )-34(inherited )-34(by )-34(the )-34(child, )-34(but )-34(the )-34(child )-34(gets )-34(a)]TJ -0 -1.2 TD -[(new )-60(pr)18(ocess )-60(ID.)-559(Hence, )-60(it )-60(is )-60(impossible )-60(for )-60(the )-60(child\325s )-60(pr)18(ocess )-60(ID )-60(to )-60(equal )-60(its )-60(inherited)]TJ -T* -[(pr)18(ocess gr)18(oup ID.)]TJ -1.8 -1.2 Td -[(The )-257(Single )-257(UNIX )-257(Speci\336cation )-257(talks )-257(only )-257(about )-257(a )-257(\324)38(\324session )-257(leader)]TJ --0.037 Tc 30.825 0 Td -(\325\325)Tj -0.5068 Tc 0.519 0 Td -(;t)Tj -0 Tc 1.083 0 Td -[(her)18(e)-507(is)-507(no)]TJ --0.037 Tc -34.227 -1.2 Td -(\324\324)Tj -0 Tc 0.519 0 Td -[(session )-58(ID\325)]TJ -0.3079 Tc 4.83 0 Td -(\325s)Tj -0 Tc 1.01 0 Td -[(imilar )-58(to )-58(a )-58(pr)18(ocess )-58(ID )-58(or )-58(a )-58(pr)18(ocess )-58(gr)19(oup )-58(ID.)-558(Obviously)]TJ -0.308 Tc 25.042 0 Td -(,as)Tj -0 Tc 1.79 0 Td -[(ession )-58(leader)]TJ --33.191 -1.2 Td -[(is )-20(a )-20(single )-20(pr)18(ocess )-20(that )-20(has )-20(a )-20(unique )-20(pr)18(ocess )-20(ID, )-20(so )-20(we )-20(could )-20(talk )-20(about )-20(a )-20(session )-20(ID )-20(that)]TJ -T* -[(is )-86(the )-86(pr)17(ocess )-86(ID )-86(of )-86(the )-86(session )-86(leader)]TJ -0.5864 Tc 16.98 0 Td -(.T)Tj -0 Tc 1.449 0 Td -[(his )-86(concept )-86(of )-86(a )-86(session )-86(ID )-86(was )-86(intr)18(oduced )-86(in)]TJ --18.429 -1.2 Td -[(SVR4. )-325(Historically)]TJ -0.3247 Tc 8.316 0 Td -(,B)Tj -0 Tc 1.186 0 Td -(SD)Tj -1.299 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-75(systems )-75(didn\325t )-75(support )-75(this )-75(notion, )-75(but )-75(have )-75(since )-75(been)]TJ --11.133 -1.2 Td -[(updated )-33(to )-33(include )-33(it.)-532(The)]TJ -/TT0 1 Tf -12.109 0 Td -(getsid)Tj -/T1_1 1 Tf -3.883 0 Td -[(function )-33(r)18(eturns )-33(the )-33(pr)18(ocess )-33(gr)18(oup )-33(ID )-33(of )-33(a )-33(pr)19(ocess\325s)]TJ --15.992 -1.2 Td -[(session leader)74(.)]TJ -7.9995 0 0 7.9995 183.5896 504.9697 Tm -[(Some )-46(implementations, )-46(such )-46(as )-46(Solaris, )-46(join )-46(with )-46(the )-46(Single )-46(UNIX )-46(Speci\336cation )-46(in )-46(the )-46(practice)]TJ -0 -1.25 TD -[(of )-91(avoiding )-91(the )-91(use )-91(of )-91(the )-91(phrase )-91(\324)37(\324session )-91(ID,\325)]TJ -0.3411 Tc 20.981 0 Td -(\325o)Tj -0 Tc 1.165 0 Td -[(pting )-91(instead )-91(to )-91(r)18(efer )-91(to )-91(this )-91(as )-91(the )-91(\324)35(\324pr)18(ocess)]TJ --22.146 -1.25 Td -[(gr)18(oup )-42(ID )-42(of )-42(the )-42(session )-42(leader)75(.\325)]TJ -0.5419 Tc 13.861 0 Td -(\325T)Tj -0 Tc 1.433 0 Td -[(he )-42(two )-42(ar)]TJ -0.2918 Tc 4.228 0 Td -(ee)Tj -0 Tc 1.25 0 Td -[(quivalent, )-42(since )-42(the )-42(session )-42(leader )-42(is )-42(always )-42(the)]TJ --20.772 -1.25 Td -[(leader of a pr)18(ocess gr)18(oup.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5916 449.873 Tm -(#include )Tj -0 -1.902 TD -(pid_t getsid\(pid_t)Tj -/T1_2 1 Tf -11.4 0 Td -(pid)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -1.161 -1.902 Td -[(Returns: session leader)-74(\325s pr)18(ocess gr)18(oup ID if OK,)]TJ -/TT1 1 Tf -21.903 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4111.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 395.2126 Tm -(If)Tj -/T1_2 1 Tf -1.004 0 Td -(pid)Tj -/T1_1 1 Tf -1.612 0 Td -[(is )-84(0,)]TJ -/TT0 1 Tf -2.132 0 Td -(getsid)Tj -/T1_1 1 Tf --0.018 Tc 3.934 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-84(the )-84(pr)18(ocess )-84(gr)19(oup )-84(ID )-84(of )-84(the )-84(calling )-84(pr)18(ocess\325s )-84(session )-84(leader)75(.)]TJ --9.538 -1.2 Td -[(For )-331(security )-331(r)18(easons, )-331(some )-331(implementations )-331(may )-331(r)18(estrict )-331(the )-331(calling )-331(pr)18(ocess )-331(fr)18(om)]TJ -0 -1.2 TD -[(obtaining )-110(the )-110(pr)18(ocess )-110(gr)18(oup )-110(ID )-110(of )-110(the )-110(session )-110(leader )-110(if)]TJ -/T1_2 1 Tf -25.122 0 Td -(pid)Tj -/T1_1 1 Tf -1.638 0 Td -[(doesn\325t )-110(belong )-110(to )-110(the )-110(same)]TJ --26.76 -1.2 Td -[(session as the caller)74(.)]TJ -/TT2 1 Tf -11.9986 0 0 11.9986 93.5891 323.2212 Tm -[(9.6 )-1332(Contr)20(olling )-278(T)60(erminal)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5848 299.2241 Tm -[(Sessions and pr)18(ocess gr)18(oups have a few other characteristics.)]TJ -0.883 Tc 1.8 -1.92 Td -(\245A)Tj -0 Tc 2.731 0 Td -[(session )-214(can )-214(have )-214(a )-214(single)]TJ -/T1_2 1 Tf -12.266 0 Td -[(contr)18(olling )-214(terminal)]TJ -/T1_1 1 Tf -0.7142 Tc (.T)Tj -0 Tc 9.931 0 Td -[(his )-214(is )-214(usually )-214(the )-214(terminal)]TJ --23.44 -1.2 Td -[(device )-2(\(in )-2(the )-2(case )-2(of )-2(a )-2(terminal )-2(login\) )-2(or )-2(pseudo )-2(terminal )-2(device )-2(\(in )-2(the )-2(case )-2(of )-2(a)]TJ -T* -(network login\) on which we log in.)Tj -0.883 Tc -1.489 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-99(session )-99(leader )-99(that )-99(establishes )-99(the )-99(connection )-99(to )-99(the )-99(contr)14(olling )-99(terminal )-99(is)]TJ --0.613 -1.2 Td -(called the)Tj -/T1_2 1 Tf -4.503 0 Td -[(contr)18(olling pr)18(ocess)]TJ -/T1_1 1 Tf -(.)Tj -0.883 Tc -5.992 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-230(pr)18(ocess )-230(gr)18(oups )-230(within )-230(a )-230(session )-230(can )-230(be )-230(divided )-230(into )-230(a )-230(single)]TJ -/T1_2 1 Tf -30.689 0 Td -[(for)18(egr)18(ound)]TJ --31.302 -1.2 Td -[(pr)18(ocess gr)18(oup)]TJ -/T1_1 1 Tf -5.76 0 Td -[(and one or mor)18(e)]TJ -/T1_2 1 Tf -7.526 0 Td -[(backgr)18(ound pr)18(ocess gr)18(oups)]TJ -/T1_1 1 Tf -(.)Tj -0.883 Tc -14.775 -1.6 Td -(\245I)Tj -0.331 Tc 1.826 0 Td -(fas)Tj -0 Tc 1.919 0 Td -[(ession )-81(has )-81(a )-81(contr)18(olling )-81(terminal, )-81(it )-81(has )-81(a )-81(single )-81(for)19(egr)18(ound )-81(pr)18(ocess )-81(gr)18(oup)]TJ --2.256 -1.2 Td -[(and all other pr)18(ocess gr)18(oups in the session ar)]TJ -0.25 Tc 19.812 0 Td -(eb)Tj -0 Tc 1.282 0 Td -[(ackgr)18(ound pr)18(ocess gr)18(oups.)]TJ -0.883 Tc -22.583 -1.6 Td -(\245W)Tj -0 Tc 2.489 0 Td -[(henever )-124(we )-124(pr)18(ess )-124(the )-124(terminal\325s )-124(interr)8(upt )-124(key )-124(\(often )-124(DELETE )-124(or )-124(Contr)16(ol)]TJ -33.086 0.09 Td -(-)Tj -0.333 -0.09 Td -(C\),)Tj --34.419 -1.2 Td -[(the interr)8(upt signal is sent to all pr)18(ocesses in the for)18(egr)18(ound pr)18(ocess gr)18(oup.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46816 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(9.5)]TJ -40.138 0 Td -(Sessions)Tj -/T1_1 1 Tf -5.695 0 Td -(295)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(9.5 )-1332(Sessions)]TJ -/T1_0 1 Tf -0.2603 Tc 9.9994 0 0 9.9994 129.5922 644.9613 Tm -(As)Tj -0 Tc 1.462 0 Td -[(ession )-10(is )-10(a )-10(collection )-10(of )-10(one )-10(or )-10(mor)]TJ -0.2604 Tc 15.257 0 Td -(ep)Tj --0.018 Tc 1.34 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-10(gr)18(oups. )-260(For)-261(example, )-10(we )-10(could )-10(have )-10(the)]TJ --18.982 -1.2 Td -[(arrangement )-259(shown )-259(in )-259(Figur)]TJ -0.5095 Tc 13.43 0 Td -(e9)Tj -0 Tc 1.489 0 Td -[(.6. )-509(Her)18(e)-509(we)-509(h)-1(ave )-259(thr)18(ee )-259(pr)18(ocess )-259(gr)18(oups )-259(in )-259(a )-259(single)]TJ --14.918 -1.2 Td -(session.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1662 5474 432 216 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 169.4477 556.3732 Tm -(login shell)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2454 5474 432 216 re -S -Q -BT -/TT1 1 Tf -7.9986 0 0 7.9986 254.9541 556.3398 Tm -(proc1)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -3030 5474 432 216 re -S -Q -BT -/TT1 1 Tf -7.9981 0 0 7.9981 312.525 556.3065 Tm -(proc2)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -3822 5474 432 216 re -S -Q -BT -/TT1 1 Tf -7.9976 0 0 7.9976 391.6825 556.2731 Tm -(proc3)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -4398 5474 432 216 re -S -Q -BT -/TT1 1 Tf -7.9971 0 0 7.9971 449.2382 556.2397 Tm -(proc4)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -4110 5042 432 216 re -S -Q -BT -/TT1 1 Tf -7.9966 0 0 7.9966 420.4234 513.0245 Tm -(proc5)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1590.25 5402.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1590.25 5467.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1590.25 5531.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1590.25 5596.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1590.25 5661.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1590.25 5726.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1657.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1725.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1792.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1860.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1927.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1995.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2062.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2130.25 5762.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 5697.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 5632.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 5567.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 5503.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 5438.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2098.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2031.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1963.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1896.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1828.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1761.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1693.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1626.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 162.8098 529.5857 Tm -[(pr)18(ocess gr)18(oup)]TJ -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5402.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5467.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5531.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5596.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5661.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5726.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2452.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2521.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2591.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2661.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2730.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2800.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2870.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2940.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3010.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3079.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3149.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3218.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3288.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3358.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3428.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3498.25 5762.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 5697.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 5632.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 5567.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 5503.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 5438.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3464.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3394.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3324.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3254.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3185.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3115.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3046.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2976.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2906.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2836.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2766.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2696.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2627.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2557.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2488.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 5402.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 270.7418 529.554 Tm -[(pr)18(ocess gr)18(oup)]TJ -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 4970.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5038.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5107.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5176.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5245.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5313.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5382.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5451.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5520.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5588.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5657.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5726.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3824.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3899.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3973.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4047.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4122.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4196.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4270.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4345.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4419.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4494.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4568.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4643.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4717.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4792.25 5762.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4866.25 5762.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5693.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5624.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5556.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5487.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5418.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5349.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5281.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5212.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5143.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5074.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5006.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4828.25 4970.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 4970.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4679.25 4970.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4604.25 4970.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4530.25 4970.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4455.25 4970.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4381.25 4970.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4306.25 4970.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4232.25 4970.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4158.25 4970.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4083.25 4970.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4009.25 4970.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3935.25 4970.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3860.25 4970.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 4970.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 407.4435 486.3481 Tm -[(pr)18(ocess gr)18(oup)]TJ -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1374.25 4754.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1374.25 5024.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1374.25 5294.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1374.25 5564.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1374.25 5834.25 cm -0 0 m -0 144 l -144 144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1674.25 5978.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1974.25 5978.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2274.25 5978.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2574.25 5978.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2874.25 5978.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3174.25 5978.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3474.25 5978.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3774.25 5978.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4074.25 5978.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4374.25 5978.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4674.25 5978.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4974.25 5978.25 cm -0 0 m -144 0 l -144 -144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5118.25 5708.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5118.25 5438.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5118.25 5168.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5118.25 4898.25 cm -0 0 m -0 -144 l --144 -144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4818.25 4754.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4518.25 4754.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4218.25 4754.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3918.25 4754.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3618.25 4754.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3318.25 4754.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3018.25 4754.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2718.25 4754.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 4754.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2118.25 4754.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1818.25 4754.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1518.25 4754.25 cm -0 0 m --144 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9934 0 0 9.9934 308.5463 461.1355 Tm -(session)Tj -/T1_1 1 Tf -7.9947 0 0 7.9947 198.8247 442.7079 Tm -(Figure 9.6)Tj -/T1_0 1 Tf -5.195 0 Td -[(Arrangement of pr)18(ocesses into pr)18(ocess gr)18(oups and sessions)]TJ -9.9934 0 0 9.9934 129.5147 412.7277 Tm -[(The )-228(pr)18(ocesses )-228(in )-228(a )-228(pr)18(ocess )-228(gr)18(oup )-228(ar)]TJ -0.4783 Tc 16.97 0 Td -(eu)Tj -0 Tc 1.56 0 Td -[(sually )-228(placed )-228(ther)17(e)-478(by)-478(a)-478(s)-1(hell )-228(pipeline.)-729(For)]TJ --18.53 -1.2 Td -[(example, )-224(the )-224(arrangement )-224(shown )-224(in )-224(Figur)]TJ -0.4739 Tc 19.657 0 Td -(e9)Tj -0 Tc 1.453 0 Td -[(.6 )-224(could )-224(have )-224(been )-224(generated )-224(by )-224(shell)]TJ --21.109 -1.2 Td -(commands of the form)Tj -/TT1 1 Tf -8.9941 0 0 8.9941 147.503 367.7773 Tm -(proc1 | proc2 &)Tj -0 -1.189 TD -(proc3 | proc4 | proc5)Tj -/T1_0 1 Tf -0.25 Tc 9.9934 0 0 9.9934 147.503 334.8189 Tm -(Ap)Tj --0.018 Tc 1.629 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(cess establishes a new session by calling the)Tj -/TT1 1 Tf -19.56 0 Td -(setsid)Tj -/T1_0 1 Tf -3.85 0 Td -(function.)Tj -/TT1 1 Tf -8.9941 0 0 8.9941 147.5029 316.9312 Tm -(#include )Tj -0 -1.902 TD -(pid_t setsid\(void\);)Tj -/T1_0 1 Tf -19.762 -1.902 Td -[(Returns: pr)18(ocess gr)18(oup ID if OK,)]TJ -/TT2 1 Tf -14.702 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099934 0 0 0.099934 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2784.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9928 0 0 9.9928 129.5067 263.5102 Tm -[(If )-79(the )-79(calling )-79(pr)18(ocess )-79(is )-79(not )-79(a )-79(pr)18(ocess )-79(gr)18(oup )-79(leader)]TJ -0.3294 Tc 22.6 0 Td -(,t)Tj -0 Tc 0.905 0 Td -[(his )-79(function )-79(cr)18(eates )-79(a )-79(new )-79(session.)]TJ --23.505 -1.2 Td -[(Thr)18(ee things happen.)]TJ -1.8 -1.92 Td -[(1. )-633(The)-336(pr)18(ocess )-86(becomes )-86(the)]TJ -/T1_2 1 Tf -13.139 0 Td -[(session )-86(leader)]TJ -/T1_0 1 Tf -5.894 0 Td -[(of )-85(this )-85(new )-85(session.)-585(\(A )-85(session )-85(leader )-85(is)]TJ --17.4 -1.2 Td -[(the )-99(pr)18(ocess )-99(that )-99(cr)18(eates )-99(a )-99(session.\))-599(The )-99(pr)18(ocess )-99(is )-99(the )-99(only )-99(pr)18(ocess )-99(in )-99(this )-99(new)]TJ -0 -1.2 TD -(session.)Tj --1.633 -1.6 Td -[(2. )-633(The)-258(pr)18(ocess )-8(becomes )-8(the )-8(pr)18(ocess )-8(gr)18(oup )-8(leader )-8(of )-8(a )-8(new )-8(pr)18(ocess )-8(gr)22(oup. )-258(The)-257(new)]TJ -1.633 -1.2 Td -[(pr)18(ocess gr)18(oup ID is the pr)18(ocess ID of the calling pr)18(ocess.)]TJ --1.633 -1.6 Td -[(3. )-633(The)-321(pr)18(ocess )-71(has )-71(no )-71(contr)18(olling )-71(terminal.)-570(\(W)92(e\325ll )-71(discuss )-71(contr)18(olling )-71(terminals )-71(in)]TJ -1.633 -1.2 Td -[(the )-341(next )-341(section.\))-841(If )-341(the )-341(pr)16(ocess )-341(had )-341(a )-341(contr)18(olling )-341(terminal )-341(befor)]TJ -0.5914 Tc 31.542 0 Td -(ec)Tj -0 Tc 1.514 0 Td -(alling)Tj -/TT1 1 Tf --33.056 -1.2 Td -(setsid)Tj -/T1_0 1 Tf -0.25 Tc (,t)Tj -0 Tc 4.426 0 Td -[(hat association is br)18(oken.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46817 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(9.4)]TJ -36.721 0 Td -[(Pr)18(ocess )-250(Gr)18(oups)]TJ -/T1_1 1 Tf -9.112 0 Td -(293)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(By )-42(default, )-42(the)]TJ -/TT0 1 Tf -6.825 0 Td -(telnet)Tj -/T1_0 1 Tf -3.892 0 Td -[(daemon )-42(is )-42(disabled )-42(on )-42(Mac )-42(OS )-42(X )-42(\(although )-42(it )-42(can )-42(be )-42(enabled )-42(with )-42(the)]TJ -/TT0 1 Tf --10.717 -1.25 Td -(launchctl)Tj -/T1_0 1 Tf -5.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.744 -0.04 Td -[(command\). )-411(The)-411(pr)18(eferr)18(ed )-161(way )-161(to )-161(perform )-161(a )-161(network )-161(login )-161(on )-161(Mac )-161(OS )-161(X )-161(is)]TJ --6.977 -1.25 Td -(with)Tj -/TT0 1 Tf -2.283 0 Td -(ssh)Tj -/T1_0 1 Tf -0.25 Tc (,t)Tj -0 Tc 2.626 0 Td -(he secur)Tj -0.25 Tc 3.638 0 Td -(es)Tj -0 Tc 1.153 0 Td -(hell command.)Tj -/TT1 1 Tf -9.9994 0 0 9.9994 93.5938 622.9626 Tm -[(Lin)10(ux Netw)20(ork Logins)]TJ -/T1_0 1 Tf -3.6 -2.4 Td -[(Network )-36(logins )-36(under )-36(Linux )-36(ar)]TJ -0.2856 Tc 13.95 0 Td -(et)Tj -0 Tc 1.091 0 Td -[(he )-36(same )-36(as )-36(under )-36(BSD, )-36(except )-36(that )-36(some )-36(distributions)]TJ --15.04 -1.2 Td -[(use )-394(an )-394(alternative)]TJ -/TT0 1 Tf -9.254 0 Td -(inetd)Tj -/T1_0 1 Tf -3.644 0 Td -[(pr)18(ocess )-394(called )-394(the )-394(extended )-394(Internet )-394(services )-394(daemon,)]TJ -/TT0 1 Tf --12.898 -1.2 Td -(xinetd)Tj -/T1_0 1 Tf -0.6564 Tc (.T)Tj -0 Tc 5.119 0 Td -(he)Tj -/TT0 1 Tf -1.467 0 Td -(xinetd)Tj -/T1_0 1 Tf -4.006 0 Td -[(pr)18(ocess )-156(pr)18(ovides )-156(a )-156(\336ner )-156(level )-156(of )-156(contr)18(ol )-156(over )-156(services )-156(it )-156(starts)]TJ --10.593 -1.2 Td -[(compar)18(ed to)]TJ -/TT0 1 Tf -5.813 0 Td -(inetd)Tj -/T1_0 1 Tf -(.)Tj -/TT1 1 Tf --9.413 -2.88 Td -[(Solaris Netw)20(ork Logins)]TJ -/T1_0 1 Tf -3.6 -2.16 Td -[(The )-18(scenario )-18(for )-18(network )-18(logins )-18(under )-18(Solaris )-18(is )-18(almost )-18(identical )-18(to )-18(the )-18(steps )-18(under )-18(BSD)]TJ -0 -1.2 TD -[(and )-200(Linux.)-701(An)]TJ -/TT0 1 Tf -7.507 0 Td -(inetd)Tj -/T1_0 1 Tf -3.45 0 Td -[(server )-200(is )-200(used )-200(that )-200(is )-200(similar )-200(in )-200(concept )-200(to )-200(the )-200(BSD )-200(version,)]TJ --10.958 -1.2 Td -[(except )-166(that )-166(the )-166(Solaris )-166(version )-166(r)8(uns )-166(as )-166(a)]TJ -/T1_2 1 Tf --0.018 Tc 18.968 0 Td -(re)Tj -0 Tc 0.76 0 Td -(starter)Tj -/T1_0 1 Tf -3.082 0 Td -[(in )-166(the )-166(Service )-166(Management )-166(Facility)]TJ --22.81 -1.16 Td -(\()Tj -0.333 -0.04 Td -(SMF)Tj -2.027 0.04 Td -(\))Tj -0.6372 Tc 0.333 -0.04 Td -(.A)Tj --0.018 Tc 2.052 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(starter )-137(is )-137(a )-137(daemon )-137(that )-137(has )-137(the )-137(r)17(esponsibility )-137(to )-137(start )-137(and )-137(monitor )-137(other)]TJ --5.601 -1.2 Td -[(daemon )-97(pr)18(ocesses, )-97(and )-97(r)18(estart )-97(them )-97(if )-97(they )-97(fail.)-597(Although )-97(the)]TJ -/TT0 1 Tf -28.445 0 Td -(inetd)Tj -/T1_0 1 Tf -3.347 0 Td -[(server )-97(is )-97(started)]TJ --31.792 -1.2 Td -[(by )-81(the )-81(master )-81(r)18(estarter )-81(in )-81(the )-81(SMF)]TJ -0.3308 Tc 15.384 0 Td -(,t)Tj -0 Tc 0.907 0 Td -[(he )-81(master )-81(r)18(estarter )-81(is )-81(started )-81(by)]TJ -/TT0 1 Tf -14.639 0 Td -(init)Tj -/T1_0 1 Tf -2.731 0 Td -[(and )-81(we )-81(end)]TJ --33.66 -1.2 Td -[(up with the same overall pictur)18(e)-250(as)-250(in)-250(Figur)]TJ -0.25 Tc 19.278 0 Td -(e9)Tj -0 Tc 1.229 0 Td -(.5.)Tj -7.9995 0 0 7.9995 183.588 420.5748 Tm -[(The )-126(Solaris )-126(Service )-126(Management )-126(Facility )-126(is )-126(a )-126(framework )-126(that )-126(manages )-126(and )-126(monitors )-126(system)]TJ -0 -1.25 TD -[(services )-229(and )-229(pr)18(ovides )-229(a )-229(way )-229(to )-229(r)18(ecover )-229(fr)18(om )-229(failur)18(es )-229(af)18(fecting )-229(system )-229(services.)-729(For )-229(mor)18(e)]TJ -T* -[(details )-130(on )-130(the )-130(Service )-130(Management )-130(Facility)]TJ -0.3803 Tc 19.493 0 Td -(,s)Tj -0 Tc 1.054 0 Td -[(ee )-130(Adams)]TJ -4.915 0.04 Td -([)Tj -0.333 -0.04 Td -(2005)Tj -2 0.04 Td -(])Tj -0.713 -0.04 Td -[(and )-130(the )-130(Solaris )-130(manual )-130(pages)]TJ -/TT0 1 Tf --28.508 -1.25 Td -(smf)Tj -/T1_0 1 Tf -(\(5\) and)Tj -/TT0 1 Tf -5.159 0 Td -(inetd)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1M)Tj -1.446 0.04 Td -(\))Tj -0.333 -0.04 Td -(.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5933 348.5791 Tm -[(9.4 )-1332(Pr)20(ocess )-278(Gr)20(oups)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5911 324.5805 Tm -[(In )-206(addition )-206(to )-206(having )-206(a )-206(pr)18(ocess )-206(ID, )-206(each )-206(pr)18(ocess )-206(belongs )-206(to )-206(a )-206(pr)18(ocess )-206(gr)12(oup. )-456(W)92(e\325ll)]TJ --0 -1.2 Td -[(encounter pr)18(ocess gr)18(oups again when we discuss signals in Chapter 10.)]TJ -0.2568 Tc 1.8 -1.2 Td -(Ap)Tj --0.018 Tc 1.636 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-7(gr)18(oup )-7(is )-7(a )-7(collection )-7(of )-7(one )-7(or )-7(mor)]TJ -0.2569 Tc 17.196 0 Td -(ep)Tj --0.018 Tc 1.337 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cesses, )-7(usually )-7(associated )-7(with )-7(the)]TJ --23.815 -1.2 Td -[(same )-45(job )-45(\(job )-45(contr)18(ol )-45(is )-45(discussed )-45(in )-45(Section )-45(9.8\), )-45(that )-45(can )-45(r)18(eceive )-45(signals )-45(fr)18(om )-45(the )-45(same)]TJ -0 -1.2 TD -[(terminal. )-389(Each)-388(pr)18(ocess )-139(gr)18(oup )-139(has )-139(a )-139(unique )-139(pr)18(ocess )-139(gr)18(oup )-139(ID.)-637(Pr)18(ocess )-139(gr)18(oup )-139(IDs )-139(ar)19(e)]TJ --0 -1.2 Td -[(similar )-5(to )-5(pr)18(ocess )-5(IDs: )-5(they )-5(ar)]TJ -0.2552 Tc 13.123 0 Td -(ep)Tj -0 Tc 1.335 0 Td -[(ositive )-5(integers )-5(and )-5(can )-5(be )-5(stor)18(ed )-5(in )-5(a)]TJ -/TT0 1 Tf -16.883 0 Td -(pid_t)Tj -/T1_0 1 Tf -3.255 0 Td -[(data )-5(type.)]TJ --34.596 -1.2 Td -(The function)Tj -/TT0 1 Tf -5.881 0 Td -(getpgrp)Tj -/T1_0 1 Tf --0.018 Tc 4.45 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns the pr)18(ocess gr)18(oup ID of the calling pr)18(ocess.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5895 233.486 Tm -(#include )Tj -0 -1.902 TD -(pid_t getpgrp\(void\);)Tj -/T1_0 1 Tf -19.888 -1.902 Td -[(Returns: pr)18(ocess gr)18(oup ID of calling pr)18(ocess)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1947.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 178.8385 Tm -[(In )-35(older )-35(BSD-derived )-35(systems, )-35(the)]TJ -/TT0 1 Tf -15.494 0 Td -(getpgrp)Tj -/T1_0 1 Tf -4.485 0 Td -[(function )-35(took )-35(a)]TJ -/T1_2 1 Tf -7.037 0 Td -(pid)Tj -/T1_0 1 Tf -1.563 0 Td -[(ar)18(gument )-35(and )-35(r)18(eturned)]TJ --28.579 -1.2 Td -[(the )-35(pr)18(ocess )-35(gr)18(oup )-35(for )-35(that )-35(pr)18(ocess. )-285(The)-285(Single )-35(UNIX )-35(Speci\336cation )-35(de\336nes )-35(the)]TJ -/TT0 1 Tf -34.8 0 Td -(getpgid)Tj -/T1_0 1 Tf --34.8 -1.2 Td -[(function that mimics this behavior)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46818 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(290)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Relationships)]TJ -39.241 0 Td -[(Chapter )-250(9)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(/etc/inittab)Tj -/T1_1 1 Tf -7.51 0 Td -[(contains )-60(the )-60(con\336guration )-60(information )-60(specifying )-60(the )-60(terminal )-60(devices)]TJ --7.51 -1.2 Td -(for which)Tj -/TT0 1 Tf -4.507 0 Td -(init)Tj -/T1_1 1 Tf -2.65 0 Td -(should start a)Tj -/TT0 1 Tf -6.278 0 Td -(getty)Tj -/T1_1 1 Tf -3.25 0 Td -[(pr)18(ocess.)]TJ --14.885 -1.2 Td -[(Other )-57(Linux )-57(distributions, )-57(such )-57(as )-57(r)17(ecent )-57(Ubuntu )-57(distributions, )-57(ship )-57(with )-57(a )-57(version)]TJ --1.8 -1.2 Td -(of)Tj -/TT0 1 Tf -1.182 0 Td -(init)Tj -/T1_1 1 Tf -2.703 0 Td -[(that )-53(is )-53(known )-53(as )-53(\324)35(\324Upstart.\325)]TJ -0.5534 Tc 12.047 0 Td -(\325I)Tj -0.3034 Tc 1.168 0 Td -(tu)Tj -0 Tc 1.232 0 Td -[(ses )-53(con\336guration )-53(\336les )-53(named)]TJ -/TT0 1 Tf -13.37 0 Td -(*.conf)Tj -/T1_1 1 Tf -3.903 0 Td -[(that )-53(ar)18(e)]TJ --35.607 -1.2 Td -[(stor)18(ed )-65(in )-65(the)]TJ -/TT0 1 Tf -5.968 0 Td -(/etc/init)Tj -/T1_1 1 Tf -5.715 0 Td -[(dir)18(ectory)]TJ -0.5651 Tc 3.914 0 Td -(.F)Tj -0 Tc 1.371 0 Td -[(or )-65(example, )-65(the )-65(speci\336cations )-65(for )-65(r)8(unning)]TJ -/TT0 1 Tf -19.032 0 Td -(getty)Tj -/T1_1 1 Tf --36 -1.2 Td -(on)Tj -/TT0 1 Tf -1.378 0 Td -(/dev/tty1)Tj -/T1_1 1 Tf -5.65 0 Td -(might be found in the \336le)Tj -/TT0 1 Tf -11.48 0 Td -(/etc/init/tty1.conf)Tj -/T1_1 1 Tf -(.)Tj --16.708 -1.2 Td -[(Depending )-21(on )-21(the )-21(version )-21(of)]TJ -/TT0 1 Tf -12.986 0 Td -(getty)Tj -/T1_1 1 Tf -3.271 0 Td -[(in )-21(use, )-21(the )-21(terminal )-21(characteristics )-21(ar)]TJ -0.2709 Tc 16.259 0 Td -(es)Tj -0 Tc 1.174 0 Td -(peci\336ed)Tj --35.49 -1.2 Td -[(either )-61(on )-61(the )-61(command )-61(line )-61(\(as )-61(with)]TJ -/TT0 1 Tf -16.625 0 Td -(agetty)Tj -/T1_1 1 Tf -[(\))-311(or)-311(in)-311(the )-61(\336le)]TJ -/TT0 1 Tf -10.064 0 Td -(/etc/gettydefs)Tj -/T1_1 1 Tf -8.711 0 Td -[(\(as )-61(with)]TJ -/TT0 1 Tf --35.399 -1.2 Td -(mgetty)Tj -/T1_1 1 Tf -(\).)Tj -/TT1 1 Tf --3.6 -2.4 Td -[(Solaris T)60(erminal Logins)]TJ -/T1_1 1 Tf -3.6 -2.16 Td -[(Solaris )-68(supports )-68(two )-68(forms )-68(of )-68(terminal )-68(logins: )-68(\(a\))]TJ -/TT0 1 Tf -22.457 0 Td -(getty)Tj -/T1_1 1 Tf -3.318 0 Td -[(style, )-68(as )-68(described )-68(pr)17(eviously)]TJ --25.775 -1.2 Td -[(for )-100(BSD, )-100(and )-100(\(b\))]TJ -/TT0 1 Tf -7.746 0 Td -(ttymon)Tj -/T1_1 1 Tf -3.95 0 Td -[(logins, )-100(a )-100(featur)]TJ -0.3502 Tc 6.758 0 Td -(ei)Tj -0 Tc 1.12 0 Td -[(ntr)18(oduced )-100(with )-100(SVR4.)-601(Normally)111(,)]TJ -/TT0 1 Tf -15.36 0 Td -(getty)Tj -/T1_1 1 Tf -3.35 0 Td -(is)Tj --38.285 -1.2 Td -(used for the console, and)Tj -/TT0 1 Tf -11.283 0 Td -(ttymon)Tj -/T1_1 1 Tf -3.85 0 Td -(is used for other terminal logins.)Tj --13.333 -1.2 Td -(The)Tj -/TT0 1 Tf -2.073 0 Td -(ttymon)Tj -/T1_1 1 Tf -3.999 0 Td -[(command )-149(is )-149(part )-149(of )-149(a )-149(lar)18(ger )-149(facility )-149(termed )-149(SAF)]TJ -0.3987 Tc 22.125 0 Td -(,t)Tj -0 Tc 0.975 0 Td -[(he )-149(Service )-149(Access)]TJ --30.971 -1.2 Td -(Facility)Tj -0.5074 Tc 3.144 0 Td -(.T)Tj -0 Tc 1.37 0 Td -[(he )-7(goal )-7(of )-7(the )-7(SAF )-7(was )-7(to )-7(pr)18(ovide )-7(a )-7(consistent )-7(way )-7(to )-7(administer )-7(services )-7(that)]TJ --4.514 -1.2 Td -[(pr)18(ovide )-135(access )-135(to )-135(a )-135(system.)-635(\(See )-135(Chapter )-135(6 )-135(of )-135(Rago)]TJ -24.055 0.04 Td -([)Tj -0.333 -0.04 Td -(1993)Tj -2 0.04 Td -(])Tj -0.718 -0.04 Td -[(for )-135(mor)]TJ -0.3848 Tc 3.465 0 Td -(ed)Tj -0 Tc 1.475 0 Td -[(etails.\) )-385(For)-385(our)]TJ --32.045 -1.2 Td -[(purposes, )-33(we )-33(end )-33(up )-33(with )-33(the )-33(same )-33(pictur)17(e)-283(as)-283(in)-283(F)-1(igur)]TJ -0.2832 Tc 24.35 0 Td -(e9)Tj -0 Tc 1.262 0 Td -[(.3, )-33(with )-33(a )-33(dif)17(fer)18(ent )-33(set )-33(of )-33(steps)]TJ --25.613 -1.2 Td -(between)Tj -/TT0 1 Tf -4.26 0 Td -(init)Tj -/T1_1 1 Tf -2.928 0 Td -[(and )-278(the )-278(login )-278(shell.)]TJ -/TT0 1 Tf -10.027 0 Td -(init)Tj -/T1_1 1 Tf -2.928 0 Td -[(is )-278(the )-278(par)17(ent )-278(of)]TJ -/TT0 1 Tf -7.959 0 Td -(sac)Tj -/T1_1 1 Tf -2.328 0 Td -[(\(the )-278(service )-278(access)]TJ --30.431 -1.2 Td -[(contr)18(oller\), )-186(which )-186(does )-186(a)]TJ -/TT0 1 Tf -11.899 0 Td -(fork)Tj -/T1_1 1 Tf -2.836 0 Td -(and)Tj -/TT0 1 Tf -2.129 0 Td -(exec)Tj -/T1_1 1 Tf -2.836 0 Td -[(of )-186(the)]TJ -/TT0 1 Tf -3.139 0 Td -(ttymon)Tj -/T1_1 1 Tf -4.036 0 Td -[(pr)18(ogram )-186(when )-186(the )-186(system)]TJ --26.876 -1.2 Td -[(enters )-19(multiuser )-19(state.)-519(The)]TJ -/TT0 1 Tf -12.285 0 Td -(ttymon)Tj -/T1_1 1 Tf -3.869 0 Td -[(pr)18(ogram )-19(monitors )-19(all )-19(the )-19(terminal )-19(ports )-19(listed )-19(in )-19(its)]TJ --16.154 -1.2 Td -[(con\336guration )-263(\336le )-263(and )-263(does )-263(a)]TJ -/TT0 1 Tf -14.169 0 Td -(fork)Tj -/T1_1 1 Tf -2.913 0 Td -[(when )-263(we )-263(enter )-263(our )-263(login )-263(name.)-763(This )-263(child )-263(of)]TJ -/TT0 1 Tf --17.082 -1.2 Td -(ttymon)Tj -/T1_1 1 Tf -3.866 0 Td -[(does )-16(an)]TJ -/TT0 1 Tf -3.674 0 Td -(exec)Tj -/T1_1 1 Tf -2.666 0 Td -(of)Tj -/TT0 1 Tf -1.145 0 Td -(login)Tj -/T1_1 1 Tf -0.2658 Tc (,a)Tj -0 Tc 4.016 0 Td -(nd)Tj -/TT0 1 Tf -1.459 0 Td -(login)Tj -/T1_1 1 Tf -3.266 0 Td -[(pr)18(ompts )-16(us )-16(for )-16(our )-16(passwor)19(d. )-266(Once)-266(this )-16(is)]TJ --20.09 -1.2 Td -(done,)Tj -/TT0 1 Tf -2.756 0 Td -[(login )312(exec)]TJ -/T1_1 1 Tf -0.288 Tc (so)Tj -0 Tc 6.946 0 Td -[(ur )-38(login )-38(shell, )-38(and )-38(we\325r)18(e)-288(at)-288(the )-38(position )-38(shown )-38(in )-38(Figur)]TJ -0.2881 Tc 24.646 0 Td -(e9)Tj -0 Tc 1.267 0 Td -[(.3. )-288(One)]TJ --35.615 -1.2 Td -[(dif)18(fer)18(ence )-27(is )-27(that )-27(the )-27(par)18(ent )-27(of )-27(our )-27(login )-27(shell )-27(is )-27(now)]TJ -/TT0 1 Tf -23.572 0 Td -(ttymon)Tj -/T1_1 1 Tf -0.277 Tc (,w)Tj -0 Tc 4.961 0 Td -[(her)18(eas )-27(the )-27(par)18(ent )-27(of )-27(the)]TJ --28.533 -1.2 Td -[(login shell fr)18(om a)]TJ -/TT0 1 Tf -7.972 0 Td -(getty)Tj -/T1_1 1 Tf -3.25 0 Td -(login is)Tj -/TT0 1 Tf -3.481 0 Td -(init)Tj -/T1_1 1 Tf -(.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5948 325.7805 Tm -[(9.3 )-1332(Netw)20(ork )-278(Logins)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5926 304.1817 Tm -[(The )-33(main )-33(\(physical\) )-33(dif)18(fer)18(ence )-33(between )-33(logging )-33(in )-33(to )-33(a )-33(system )-33(thr)18(ough )-33(a )-33(serial )-33(terminal)]TJ --0 -1.2 Td -[(and )-252(logging )-252(in )-252(to )-252(a )-252(system )-252(thr)18(ough )-252(a )-252(network )-252(is )-252(that )-252(the )-252(connection )-252(between )-252(the)]TJ -0 -1.2 TD -[(terminal )-80(and )-80(the )-80(computer )-80(isn\325t )-80(point-to-point.)-580(In )-80(this )-80(case,)]TJ -/TT0 1 Tf -27.342 0 Td -(login)Tj -/T1_1 1 Tf -3.33 0 Td -[(is )-80(simply )-80(a )-80(service)]TJ --30.672 -1.2 Td -[(available, just like any other network service, such as FTP or SMTP)129(.)]TJ --0.055 Tc 1.8 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-172(the )-172(terminal )-172(logins )-172(that )-172(we )-172(described )-172(in )-172(the )-172(pr)18(evious )-172(section,)]TJ -/TT0 1 Tf -30.199 0 Td -(init)Tj -/T1_1 1 Tf -2.822 0 Td -(knows)Tj --36.058 -1.2 Td -[(which )-156(terminal )-156(devices )-156(ar)]TJ -0.4061 Tc 11.868 0 Td -(ee)Tj -0 Tc 1.364 0 Td -[(nabled )-156(for )-156(logins )-156(and )-156(spawns )-156(a)]TJ -/TT0 1 Tf -14.975 0 Td -(getty)Tj -/T1_1 1 Tf -3.406 0 Td -[(pr)18(ocess )-156(for )-156(each)]TJ --31.614 -1.2 Td -[(device. )-281(In)-281(the )-31(case )-31(of )-31(network )-31(logins, )-31(however)]TJ -0.2808 Tc 20.831 0 Td -(,a)Tj -0 Tc 1.031 0 Td -[(ll )-31(the )-31(logins )-31(come )-31(thr)19(ough )-31(the )-31(kernel\325s)]TJ --21.861 -1.2 Td -[(network )-80(interface )-80(drivers )-80(\(e.g., )-80(the )-80(Ethernet )-80(driver\), )-80(and )-80(we )-80(don\325t )-80(know )-80(ahead )-80(of )-80(time)]TJ -T* -[(how )-143(many )-143(of )-143(these )-143(will )-143(occur)]TJ -0.6433 Tc 13.684 0 Td -(.I)Tj -0 Tc 1.23 0 Td -[(nstead )-143(of )-143(having )-143(a )-143(pr)18(ocess )-143(waiting )-143(for )-143(each )-143(possible)]TJ --14.914 -1.2 Td -[(login, we now have to wait for a network connection r)18(equest to arrive.)]TJ --0.092 Tc 1.8 -1.2 Td -[(To )-202(a)]TJ -0 Tc 1.835 0 Td -[(llow )-18(the )-18(same )-18(softwar)19(e)-268(to)-268(p)]TJ --0.018 Tc (ro)Tj -0 Tc 13.189 0 Td -[(cess )-18(logins )-18(over )-18(both )-18(terminal )-18(logins )-18(and )-18(network)]TJ --16.824 -1.2 Td -[(logins, )-132(a )-132(softwar)]TJ -0.3816 Tc 7.543 0 Td -(ed)Tj -0 Tc 1.472 0 Td -[(river )-132(called )-132(a)]TJ -/T1_2 1 Tf -6.386 0 Td -[(pseudo )-132(terminal)]TJ -/T1_1 1 Tf -6.986 0 Td -[(is )-132(used )-132(to )-132(emulate )-132(the )-132(behavior )-132(of )-132(a)]TJ --22.387 -1.2 Td -[(serial )-53(terminal )-53(and )-53(map )-53(terminal )-53(operations )-53(to )-53(network )-53(operations, )-53(and )-53(vice )-53(versa.)-559(\(In)]TJ -T* -(Chapter 19, we\325ll talk about pseudo terminals in detail.\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46819 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(9)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Pr)15(ocess )-280(Rela)-5(tionships)]TJ -/TT0 1 Tf -12 0 0 12 93.6002 424.8 Tm -[(9.1 )-1332(Intr)20(oduction)]TJ -/T1_2 1 Tf --0.092 Tc 10 0 0 10 129.6002 400.8 Tm -[(We )-191(l)]TJ -0 Tc 1.935 0 Td -[(earned )-7(in )-7(the )-7(pr)18(evious )-7(chapter )-7(that )-7(ther)]TJ -0.257 Tc 17.559 0 Td -(ea)Tj --0.018 Tc 1.236 0 Td -[(re )-43(re)]TJ -0 Tc 1.969 0 Td -[(lationships )-7(between )-7(pr)18(ocesses. )-257(First,)]TJ --22.699 -1.2 Td -[(every )-156(pr)18(ocess )-156(has )-156(a )-156(par)18(ent )-156(pr)20(ocess )-155(\(the )-155(initial )-155(kernel)]TJ -24.253 0.09 Td -(-)Tj -0.333 -0.09 Td -[(level )-155(pr)18(ocess )-155(is )-155(usually )-155(its )-155(own)]TJ --24.586 -1.2 Td -[(par)18(ent\). )-281(The)-281(par)18(ent )-31(is )-31(noti\336ed )-31(when )-31(the )-31(child )-31(terminates, )-31(and )-31(the )-31(par)18(ent )-31(can )-31(obtain )-31(the)]TJ -0 -1.2 Td -[(child\325s )-31(exit )-31(status.)]TJ --0.092 Tc 8.479 0 Td -[(We )-215(a)]TJ -0 Tc 2.168 0 Td -[(lso )-31(mentioned )-31(pr)18(ocess )-31(gr)18(oups )-31(when )-31(we )-31(described )-31(the)]TJ -/TT1 1 Tf -24.153 0 Td -(waitpid)Tj -/T1_2 1 Tf --34.8 -1.2 Td -[(function )-5(\(Section )-5(8.6\) )-5(and )-5(explained )-5(how )-5(we )-5(can )-5(wait )-5(for )-5(any )-5(pr)18(ocess )-5(in )-5(a )-5(pr)18(ocess )-5(gr)12(oup)]TJ -0 -1.2 TD -(to terminate.)Tj -1.8 -1.2 Td -[(In )-234(this )-234(chapter)]TJ -0.4842 Tc 6.763 0 Td -(,w)Tj -0 Tc 1.568 0 Td -[(e\325ll )-234(look )-234(at )-234(pr)17(ocess )-234(gr)18(oups )-234(in )-234(mor)]TJ -0.4841 Tc 16.09 0 Td -(ed)Tj -0 Tc 1.574 0 Td -[(etail )-234(and )-234(the )-234(concept )-234(of)]TJ --27.796 -1.2 Td -[(sessions )-132(that )-132(was )-132(intr)18(oduced )-132(by )-132(POSIX.1.)]TJ --0.092 Tc 19.526 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-132(also )-132(look )-132(at )-132(the )-132(r)18(elationship )-132(between)]TJ --20.913 -1.2 Td -[(the )-54(login )-54(shell )-54(that )-54(is )-54(invoked )-54(for )-54(us )-54(when )-54(we )-54(log )-54(in )-54(and )-54(all )-54(the )-54(pr)23(ocesses )-54(that )-54(we )-54(start)]TJ -T* -[(fr)18(om our login shell.)]TJ -1.8 -1.2 Td -[(It )-39(is )-39(impossible )-39(to )-39(describe )-39(these )-39(r)19(elationships )-39(without )-39(talking )-39(about )-39(signals, )-39(and )-39(to)]TJ --1.8 -1.2 Td -[(talk )-66(about )-66(signals, )-66(we )-66(need )-66(many )-66(of )-66(the )-66(concepts )-66(in )-66(this )-66(chapter)]TJ -0.5656 Tc 28.838 0 Td -(.I)Tj -0.3156 Tc 1.153 0 Td -(fy)Tj -0 Tc 1.205 0 Td -[(ou )-66(ar)]TJ -0.3156 Tc 2.342 0 Td -(eu)Tj -0 Tc 1.398 0 Td -(nfamiliar)Tj --34.934 -1.2 Td -[(with )-29(the )-29(UNIX )-29(System )-29(signal )-29(mechanism, )-29(you )-29(may )-29(want )-29(to )-29(skim )-29(thr)18(ough )-29(Chapter )-29(10 )-29(at)]TJ -T* -(this point.)Tj -/TT0 1 Tf -12 0 0 12 93.601 208.8 Tm -[(9.2 )-1332(T)60(erminal )-278(Logins)]TJ -/T1_2 1 Tf -10 0 0 10 129.601 184.8 Tm -[(Let\325s )-179(start )-179(by )-179(looking )-179(at )-179(the )-179(pr)15(ograms )-179(that )-179(ar)]TJ -0.4294 Tc 21.108 0 Td -(ee)Tj -0 Tc 1.387 0 Td -[(xecuted )-179(when )-179(we )-179(log )-179(in )-179(to )-179(a )-179(UNIX)]TJ --22.495 -1.2 Td -[(system. )-576(In)-576(early )-326(UNIX )-326(systems, )-326(such )-326(as )-326(V)110(ersion )-326(7, )-326(users )-326(logged )-326(in )-326(using )-326(dumb)]TJ -T* -[(terminals )-84(that )-84(wer)]TJ -0.3343 Tc 8.264 0 Td -(ec)Tj -0 Tc 1.257 0 Td -[(onnected )-84(to )-84(the )-84(host )-84(with )-84(har)17(d-wir)18(ed )-84(connections.)-584(The )-84(terminals)]TJ --9.521 -1.2 Td -(wer)Tj -0.2531 Tc 1.69 0 Td -(ee)Tj -0 Tc 1.211 0 Td -[(ither )-3(local )-3(\(dir)18(ectly )-3(connected\) )-3(or )-3(r)18(emote )-3(\(connected )-3(thr)18(ough )-3(a )-3(modem\).)-503(In )-3(either)]TJ --2.901 -1.2 Td -[(case, )-19(these )-19(logins )-19(came )-19(thr)17(ough )-19(a )-19(terminal )-19(device )-19(driver )-19(in )-19(the )-19(kernel.)-519(For )-19(example, )-19(the)]TJ -/T1_3 1 Tf -9 0 0 9 506.1007 114 Tm -(285)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46820 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(282)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 161.9903 670.2598 Tm -(\(tmsend->tms_cutime - tmsstart->tms_cutime\) / \(double\) clktck\);)Tj --1.2 -1.189 Td -[(printf\(" )-600(child)-600(sys: )-1200(%7.2f\\n",)]TJ -1.2 -1.189 Td -(\(tmsend->tms_cstime - tmsstart->tms_cstime\) / \(double\) clktck\);)Tj --3.6 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6334.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 218.9257 617.3249 Tm -(Figure 8.31)Tj -/T1_1 1 Tf --0.055 Tc 5.695 0 Td -(Ti)Tj -0 Tc 0.849 0 Td -(me and execute all command)Tj -12.912 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line ar)18(guments)]TJ -9.9988 0 0 9.9988 129.5848 587.3285 Tm -[(If we r)8(un this pr)18(ogram, we get)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5827 570.6305 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out "sleep 5" "date" "man bash >/dev/null")Tj -/TT0 1 Tf --1.2 -2.021 Td -(command: sleep 5)Tj -1.2 -1.189 Td -[(real: )-2400(5.01)]TJ -0 -1.189 TD -[(user: )-2400(0.00)]TJ -T* -[(sys: )-3000(0.00)]TJ -T* -[(child user:)-3000(0.00)]TJ -T* -[(child sys:)-3600(0.00)]TJ --1.2 -1.189 Td -(normal termination, exit status = 0)Tj -0 -2.021 TD -(command: date)Tj -0 -1.189 TD -(Sun Feb 26 18:39:23 EST 2012)Tj -1.2 -1.189 Td -[(real: )-2400(0.00)]TJ -0 -1.189 TD -[(user: )-2400(0.00)]TJ -T* -[(sys: )-3000(0.00)]TJ -T* -[(child user:)-3000(0.00)]TJ -T* -[(child sys:)-3600(0.00)]TJ --1.2 -1.189 Td -(normal termination, exit status = 0)Tj -0 -2.021 TD -(command: man bash >/dev/null)Tj -1.2 -1.189 Td -[(real: )-2400(1.46)]TJ -0 -1.189 TD -[(user: )-2400(0.00)]TJ -T* -[(sys: )-3000(0.00)]TJ -T* -[(child user:)-3000(1.32)]TJ -T* -[(child sys:)-3600(0.07)]TJ --1.2 -1.189 Td -(normal termination, exit status = 0)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5848 294.7934 Tm -[(In )-61(the )-61(\336rst )-61(two )-61(commands, )-61(execution )-61(is )-61(fast )-61(enough )-61(to )-61(avoid )-61(r)18(egistering )-61(any )-61(CPU )-61(time)]TJ -0 -1.2 TD -[(at )-149(the )-149(r)17(eported )-149(r)18(esolution. )-399(In)-400(the )-149(thir)]TJ -0.3994 Tc 17.27 0 Td -(dc)Tj -0 Tc 1.454 0 Td -[(ommand, )-149(however)74(,)-399(we)-399(r)7(un )-149(a )-149(command )-149(that)]TJ --18.725 -1.2 Td -[(takes )-21(enough )-21(pr)18(ocessing )-21(time )-21(to )-21(note )-21(that )-21(all )-21(the )-21(CPU )-21(time )-21(appears )-21(in )-21(the )-21(child )-21(pr)21(ocess,)]TJ -T* -(which is wher)Tj -0.25 Tc 6.22 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he shell and the command execute.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2588.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -11.9978 0 0 11.9978 93.5832 222.7889 Tm -[(8.18 )-776(Summar)-10(y)]TJ -/T1_1 1 Tf -0.5997 Tc 9.9982 0 0 9.9982 129.5767 198.7932 Tm -(At)Tj -0 Tc 1.704 0 Td -[(hor)18(ough )-350(understanding )-350(of )-350(the )-350(UNIX )-350(System\325s )-350(pr)20(ocess )-350(contr)18(ol )-350(is )-350(essential )-350(for)]TJ --1.704 -1.2 Td -[(advanced )-194(pr)18(ogramming. )-444(Ther)]TJ -0.4445 Tc 13.902 0 Td -(ea)Tj --0.018 Tc 1.424 0 Td -[(re )-231(o)]TJ -0 Tc 1.846 0 Td -[(nly )-194(a )-194(few )-194(functions )-194(to )-194(master:)]TJ -/TT0 1 Tf -14.502 0 Td -(fork)Tj -/T1_1 1 Tf -0.4445 Tc (,t)Tj -0 Tc 3.421 0 Td -(he)Tj -/TT0 1 Tf -1.506 0 Td -(exec)Tj -/T1_1 1 Tf --36.6 -1.2 Td -[(family)111(,)]TJ -/TT0 1 Tf -3.364 0 Td -(_exit)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.621 0 Td -(wait)Tj -/T1_1 1 Tf -0.3707 Tc (,a)Tj -0 Tc 3.521 0 Td -(nd)Tj -/TT0 1 Tf -1.564 0 Td -(waitpid)Tj -/T1_1 1 Tf -0.6206 Tc (.T)Tj -0 Tc 5.684 0 Td -[(hese )-121(primitives )-121(ar)]TJ -0.3706 Tc 8.128 0 Td -(eu)Tj -0 Tc 1.453 0 Td -[(sed )-121(in )-121(many )-121(applications.)]TJ --27.333 -1.2 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(fork)Tj -/T1_1 1 Tf -2.65 0 Td -(function also gave us an opportunity to look at race conditions.)Tj --2.774 -1.2 Td -[(Our )-109(examination )-109(of )-109(the)]TJ -/TT0 1 Tf -10.982 0 Td -(system)Tj -/T1_1 1 Tf -3.959 0 Td -[(function )-109(and )-109(pr)18(ocess )-109(accounting )-109(gave )-109(us )-109(another)]TJ --16.74 -1.2 Td -[(look )-118(at )-118(all )-118(these )-118(pr)18(ocess )-118(contr)18(ol )-118(functions.)]TJ --0.092 Tc 19.75 0 Td -[(We )-302(a)]TJ -0 Tc 2.255 0 Td -[(lso )-118(looked )-118(at )-118(another )-118(variation )-118(of )-118(the)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46821 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(280)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(In )-44(contrast, )-44(when )-44(the )-44(child )-44(has )-44(the )-44(highest )-44(possible )-44(nice )-44(value )-44(\(the )-44(lowest )-44(priority\),)]TJ --1.8 -1.2 Td -[(we )-16(see )-16(that )-16(the )-16(par)18(ent )-16(gets )-16(98.5% )-16(of )-16(the )-16(CPU, )-16(while )-16(the )-16(child )-16(gets )-16(only )-16(1.5% )-16(of )-16(the )-16(CPU.)]TJ -0 -1.2 TD -[(These )-145(values )-145(will )-145(vary )-145(based )-145(on )-145(how )-145(the )-145(pr)21(ocess )-145(scheduler )-145(uses )-145(the )-145(nice )-145(value, )-145(so )-145(a)]TJ -T* -[(dif)18(fer)18(ent UNIX system will pr)18(oduce dif)18(fer)18(ent ratios.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 6330.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9986 0 0 11.9986 93.5888 596.9284 Tm -[(8.17 )-776(Pr)20(ocess )-278(Times)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 572.9312 Tm -[(In )-160(Section )-160(1.10, )-160(we )-160(described )-160(thr)18(ee )-160(times )-160(that )-160(we )-160(can )-160(measur)18(e: )-160(wall )-160(clock )-160(time, )-160(user)]TJ -T* -[(CPU )-128(time, )-128(and )-128(system )-128(CPU )-128(time.)-631(Any )-128(pr)18(ocess )-128(can )-128(call )-128(the)]TJ -/TT1 1 Tf -27.488 0 Td -(times)Tj -/T1_1 1 Tf -3.378 0 Td -[(function )-128(to )-128(obtain)]TJ --30.866 -1.2 Td -[(these values for itself and any terminated childr)18(en.)]TJ -/TT1 1 Tf -8.9989 0 0 8.9989 147.5823 531.0363 Tm -(#include )Tj -0 -1.902 TD -(clock_t times\(struct tms *)Tj -/T1_2 1 Tf -(buf)Tj -/TT1 1 Tf -17.082 0 Td -(\);)Tj -/T1_1 1 Tf --5.987 -1.902 Td -(Returns: elapsed wall clock time in clock ticks if OK,)Tj -/TT2 1 Tf -23.369 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4923.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 477.574 Tm -(This function \336lls in the)Tj -/TT1 1 Tf -10.738 0 Td -(tms)Tj -/T1_1 1 Tf -2.05 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ep)Tj -0 Tc 1.33 0 Td -(ointed to by)Tj -/T1_2 1 Tf -5.566 0 Td -(buf)Tj -/T1_1 1 Tf -1.464 0 Td -(:)Tj -/TT1 1 Tf -8.9984 0 0 8.9984 147.5735 460.877 Tm -(struct tms {)Tj -1.2 -1.189 Td -[(clock_t )-600(tms_utime; )-600(/*)-600(user CPU time */)]TJ -0 -1.189 TD -[(clock_t )-600(tms_stime; )-600(/*)-600(system CPU time */)]TJ -T* -[(clock_t )-600(tms_cutime;)-600(/* user CPU time, terminated children */)]TJ -T* -[(clock_t )-600(tms_cstime;)-600(/* system CPU time, terminated children */)]TJ --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5768 389.3899 Tm -[(Note )-227(that )-227(the )-227(str)8(uctur)]TJ -0.4771 Tc 10.224 0 Td -(ed)Tj -0 Tc 1.567 0 Td -[(oes )-227(not )-227(contain )-227(any )-227(measur)18(ement )-227(for )-227(the )-227(wall )-227(clock )-227(time.)]TJ --11.791 -1.2 Td -[(Instead, )-63(the )-63(function )-63(r)18(eturns )-63(the )-63(wall )-63(clock )-63(time )-63(as )-63(the )-63(value )-63(of )-63(the )-63(function, )-63(each )-63(time)]TJ -0 -1.2 TD -[(it\325s )-9(called.)-509(This )-9(value )-9(is )-9(measur)18(ed )-9(fr)18(om )-9(some )-9(arbitrary )-9(point )-9(in )-9(the )-9(past, )-9(so )-9(we )-9(can\325t )-9(use)]TJ -T* -[(its )-104(absolute )-104(value; )-104(instead, )-104(we )-104(use )-104(its )-104(r)18(elative )-104(value.)-604(For )-104(example, )-104(we )-104(call)]TJ -/TT1 1 Tf -33.953 0 Td -(times)Tj -/T1_1 1 Tf -3.354 0 Td -(and)Tj --37.307 -1.2 Td -[(save )-53(the )-53(r)18(eturn )-53(value.)-551(At )-53(some )-53(later )-53(time, )-53(we )-53(call)]TJ -/TT1 1 Tf -22.577 0 Td -(times)Tj -/T1_1 1 Tf -3.303 0 Td -[(again )-53(and )-53(subtract )-53(the )-53(earlier)]TJ --0.018 Tc -25.879 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-158(value )-158(fr)18(om )-158(the )-158(new )-158(r)18(eturn )-158(value.)-658(The )-158(dif)15(fer)18(ence )-158(is )-158(the )-158(wall )-158(clock )-158(time.)-658(\(It )-158(is)]TJ --0.856 -1.2 Td -[(possible, )-128(though )-128(unlikely)]TJ -0.3783 Tc 11.349 0 Td -(,f)Tj -0 Tc 0.961 0 Td -[(or )-128(a )-128(long-r)8(unning )-128(pr)17(ocess )-128(to )-128(over\337ow )-128(the )-128(wall )-128(clock )-128(time;)]TJ --12.31 -1.2 Td -[(see Exer)18(cise 1.5.\))]TJ -1.8 -1.2 Td -[(The )-32(two )-32(str)8(uctur)]TJ -0.2819 Tc 7.434 0 Td -(e\336)Tj -0 Tc 1.366 0 Td -[(elds )-32(for )-32(child )-32(pr)18(ocesses )-32(contain )-32(values )-32(only )-32(for )-32(childr)18(en )-32(that )-32(we)]TJ --10.6 -1.2 Td -(have waited for with one of the)Tj -/TT1 1 Tf -14.097 0 Td -(wait)Tj -/T1_1 1 Tf -2.65 0 Td -[(functions discussed earlier in this chapter)74(.)]TJ --14.947 -1.2 Td -[(All )-123(the)]TJ -/TT1 1 Tf -3.493 0 Td -(clock_t)Tj -/T1_1 1 Tf -4.573 0 Td -[(values )-123(r)18(eturned )-123(by )-123(this )-123(function )-123(ar)]TJ -0.3733 Tc 15.896 0 Td -(ec)Tj -0 Tc 1.296 0 Td -[(onverted )-123(to )-123(seconds )-123(using)]TJ --27.059 -1.2 Td -[(the )-78(number )-78(of )-78(clock )-78(ticks )-78(per )-78(second)]TJ -0.0833 Tc 16.693 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -(he)Tj -/TT1 1 Tf -1.389 0 Td -(_SC_CLK_TCK)Tj -/T1_1 1 Tf -6.928 0 Td -[(value )-78(r)18(eturned )-77(by)]TJ -/TT1 1 Tf -8.382 0 Td -(sysconf)Tj -/T1_1 1 Tf --34.8 -1.2 Td -(\(Section 2.5.4\).)Tj -7.9986 0 0 7.9986 183.5674 225.4194 Tm -[(Most )-186(implementations )-186(pr)18(ovide )-186(the)]TJ -/TT1 1 Tf -16.328 0 Td -(getrusage)Tj -/T1_1 1 Tf -5.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.769 -0.04 Td -[(function. )-436(This)-437(function )-186(r)18(eturns )-186(the )-186(CPU)]TJ --23.33 -1.25 Td -[(times )-15(and )-15(14 )-15(other )-15(values )-15(indicating )-15(r)17(esour)18(ce )-15(usage.)-515(Historically)]TJ -0.2653 Tc 28.749 0 Td -(,t)Tj -0 Tc 0.841 0 Td -[(his )-15(function )-15(originated )-15(with)]TJ --29.59 -1.25 Td -[(the )-185(BSD )-185(operating )-185(system, )-185(so )-185(BSD-derived )-185(implementations )-185(generally )-185(support )-185(mor)]TJ -0.4346 Tc 38.386 0 Td -(eo)Tj -0.4348 Tc 1.46 0 Td -(ft)Tj -0 Tc 1.094 0 Td -(he)Tj --40.939 -1.25 Td -(\336elds than do other implementations.)Tj -/TT0 1 Tf -9.9982 0 0 9.9982 93.5835 171.4291 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(The )-46(pr)18(ogram )-46(in )-46(Figur)]TJ -0.2964 Tc 9.678 0 Td -(e8)Tj -0 Tc 1.275 0 Td -[(.31 )-46(executes )-46(each )-46(command)]TJ -12.343 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-46(ar)18(gument )-46(as )-46(a )-46(shell )-46(command)]TJ --23.629 -1.2 Td -[(string, timing the command and printing the values fr)18(om the)]TJ -/TT1 1 Tf -27.181 0 Td -(tms)Tj -/T1_1 1 Tf -2.05 0 Td -[(str)8(uctur)18(e.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46822 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(276)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Given )-210(the )-210(login )-210(name, )-210(we )-210(can )-210(then )-210(use )-210(it )-210(to )-210(look )-210(up )-210(the )-210(user )-210(in )-210(the )-210(passwor)16(d)]TJ --1.8 -1.2 Td -[(\336le )167(\321 )167(to)-251(determine the login shell, for example)]TJ -0.0833 Tc 20.515 0 Td -(\321u)Tj -0 Tc 1.686 0 Td -(sing)Tj -/TT0 1 Tf -2.103 0 Td -(getpwnam)Tj -/T1_1 1 Tf -(.)Tj --0.092 Tc 7.9995 0 0 7.9995 183.5889 636.9618 Tm -[(To )-575(\336)]TJ -0 Tc 2.313 0 Td -[(nd )-390(the )-390(login )-390(name, )-390(UNIX )-390(systems )-390(have )-390(historically )-390(called )-390(the)]TJ -/TT0 1 Tf -31.14 0 Td -(ttyname)Tj -/T1_1 1 Tf -4.84 0 Td -(function)Tj --38.293 -1.25 Td -[(\(Section )-94(18.9\) )-94(and )-94(then )-94(tried )-94(to )-94(\336nd )-94(a )-94(matching )-94(entry )-94(in )-94(the)]TJ -/TT0 1 Tf -27.437 0 Td -(utmp)Tj -/T1_1 1 Tf -2.744 0 Td -[(\336le )-94(\(Section )-94(6.8\).)-595(Fr)18(eeBSD)]TJ --30.182 -1.25 Td -[(and )-86(Mac )-86(OS )-86(X )-86(stor)]TJ -0.3364 Tc 8.579 0 Td -(et)Tj -0 Tc 1.141 0 Td -[(he )-86(login )-86(name )-86(in )-86(the )-86(session )-86(str)6(uctur)]TJ -0.3364 Tc 16.709 0 Td -(ea)Tj -0 Tc 1.315 0 Td -[(ssociated )-86(with )-86(the )-86(pr)18(ocess )-86(table)]TJ --27.745 -1.25 Td -[(entry and pr)18(ovide system calls to fetch and stor)]TJ -0.25 Tc 20.945 0 Td -(et)Tj -0 Tc 1.055 0 Td -(his name.)Tj --22 -2.25 Td -[(System )-230(V )-230(pr)18(ovided )-230(the)]TJ -/TT0 1 Tf -11.305 0 Td -(cuserid)Tj -/T1_1 1 Tf -4.681 0 Td -[(function )-230(to )-230(r)18(eturn )-230(the )-230(login )-230(name.)-733(This )-230(function )-230(called)]TJ -/TT0 1 Tf --15.986 -1.25 Td -(getlogin)Tj -/T1_1 1 Tf -5.152 0 Td -[(and, )-102(if )-102(that )-102(failed, )-102(did )-102(a)]TJ -/TT0 1 Tf -11.181 0 Td -(getpwuid\(getuid\(\)\))Tj -/T1_1 1 Tf -0.602 Tc (.T)Tj -0 Tc 12.265 0 Td -[(he )-102(IEEE )-102(Standar)]TJ -0.352 Tc 7.356 0 Td -(d1)Tj -0 Tc 1.463 0 Td -(003.1)Tj -2.25 0.09 Td -(-)Tj -0.333 -0.09 Td -(1988)Tj --40 -1.25 Td -(speci\336ed)Tj -/TT0 1 Tf -4.204 0 Td -(cuserid)Tj -/T1_1 1 Tf -0.27 Tc (,b)Tj -0 Tc 5.273 0 Td -[(ut )-20(it )-20(called )-20(for )-20(the )-20(ef)18(fective )-20(user )-20(ID )-20(to )-20(be )-20(used, )-20(instead )-20(of )-20(the )-20(r)18(eal )-20(user )-20(ID.)]TJ --9.477 -1.25 Td -[(The 1990 version of POSIX.1 dr)18(opped the)]TJ -/TT0 1 Tf -18.467 0 Td -(cuserid)Tj -/T1_1 1 Tf -4.45 0 Td -(function.)Tj --22.917 -2.25 Td -[(The )-292(envir)18(onment )-292(variable)]TJ -/TT0 1 Tf -12.567 0 Td -(LOGNAME)Tj -/T1_1 1 Tf -4.742 0 Td -[(is )-292(usually )-292(initialized )-292(with )-292(the )-292(user)-74(\325s )-292(login )-292(name )-292(by)]TJ -/TT0 1 Tf --17.309 -1.25 Td -(login)Tj -/T1_1 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.854 -0.04 Td -[(and )-271(inherited )-271(by )-271(the )-271(login )-271(shell.)-771(Realize, )-271(however)]TJ -0.5214 Tc 23.972 0 Td -(,t)Tj -0 Tc 1.097 0 Td -[(hat )-271(a )-271(user )-271(can )-271(modify )-271(an)]TJ --29.756 -1.25 Td -[(envir)18(onment )-52(variable, )-52(so )-52(we )-52(shouldn\325t )-52(use)]TJ -/TT0 1 Tf -19.361 0 Td -(LOGNAME)Tj -/T1_1 1 Tf -4.502 0 Td -[(to )-52(validate )-52(the )-52(user )-52(in )-52(any )-52(way)]TJ -0.5523 Tc 13.826 0 Td -(.I)Tj -0 Tc 1.139 0 Td -(nstead,)Tj --38.828 -1.25 Td -(we should use)Tj -/TT0 1 Tf -6.626 0 Td -(getlogin)Tj -/T1_1 1 Tf -(.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5935 474.9715 Tm -[(8.16 )-776(Pr)20(ocess )-278(Sc)10(heduling)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5912 450.9729 Tm -(Historically)Tj -0.3851 Tc 5.076 0 Td -(,t)Tj -0 Tc 0.961 0 Td -[(he )-135(UNIX )-135(System )-135(pr)18(ovided )-135(pr)18(ocesses )-135(with )-135(only )-135(coarse )-135(contr)18(ol )-135(over )-135(their)]TJ --6.037 -1.2 Td -[(scheduling )-37(priority)]TJ -0.5367 Tc 8.44 0 Td -(.T)Tj -0 Tc 1.4 0 Td -[(he )-37(scheduling )-37(policy )-37(and )-37(priority )-37(wer)]TJ -0.2867 Tc 16.87 0 Td -(ed)Tj -0 Tc 1.377 0 Td -[(etermined )-37(by )-37(the )-37(kernel.)]TJ -0.4098 Tc -28.087 -1.2 Td -(Ap)Tj --0.018 Tc 1.789 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-160(could )-160(choose )-160(to )-160(r)9(un )-160(with )-160(lower )-160(priority )-160(by )-160(adjusting )-160(its)]TJ -/T1_2 1 Tf -28.494 0 Td -[(nice )-160(value)]TJ -/T1_1 1 Tf -4.616 0 Td -[(\(thus )-160(a)]TJ --35.822 -1.2 Td -[(pr)18(ocess )-137(could )-137(be )-137(\324)37(\324nice\325)]TJ -0.3869 Tc 10.539 0 Td -(\325a)Tj -0 Tc 1.165 0 Td -[(nd )-137(r)18(educe )-137(its )-137(shar)18(e)-387(of)-387(the )-137(CPU )-137(by )-137(adjusting )-137(its )-137(nice )-137(value\).)]TJ --11.704 -1.2 Td -[(Only a privileged pr)18(ocess was allowed to incr)18(ease its scheduling priority)111(.)]TJ -1.8 -1.2 Td -[(The )-341(r)18(eal-time )-341(extensions )-341(in )-341(POSIX )-341(added )-341(interfaces )-341(to )-341(select )-341(among )-341(multiple)]TJ --1.8 -1.2 Td -[(scheduling )-71(classes )-71(and )-71(\336ne-tune )-71(their )-71(behavior)]TJ -0.5706 Tc 21.044 0 Td -(.W)Tj -0.3206 Tc 1.729 0 Td -(ed)Tj -0 Tc 1.411 0 Td -[(iscuss )-71(only )-71(the )-71(interfaces )-71(used )-71(to)]TJ --24.183 -1.2 Td -[(adjust )-313(the )-313(nice )-313(value )-313(her)18(e; )-313(they )-313(ar)]TJ -0.5625 Tc 16.682 0 Td -(ep)Tj -0 Tc 1.642 0 Td -[(art )-312(of )-312(the )-312(XSI )-312(option )-312(in )-312(POSIX.1.)-812(Refer )-312(to)]TJ --18.324 -1.2 Td -(Gallmeister)Tj -5.372 0.04 Td -([)Tj -0.333 -0.04 Td -(1995)Tj -2 0.04 Td -(])Tj -0.583 -0.04 Td -(for mor)Tj -0.25 Tc 3.33 0 Td -(ei)Tj -0 Tc 1.02 0 Td -[(nformation on the r)18(eal-time scheduling extensions.)]TJ --10.838 -1.2 Td -[(In )-304(the )-304(Single )-304(UNIX )-304(Speci\336cation, )-304(nice )-304(values )-304(range )-304(fr)19(om)]TJ -/TT0 1 Tf -27.821 0 Td -(0)Tj -/T1_1 1 Tf -1.154 0 Td -(to)Tj -/TT0 1 Tf -1.426 0 Td -(\(2*NZERO\))Tj -/TT2 1 Tf -(!)Tj -/TT0 1 Tf -(1)Tj -/T1_1 1 Tf -(,)Tj --32.201 -1.2 Td -[(although )-270(some )-270(implementations )-270(support )-270(a )-270(range )-270(fr)19(om)]TJ -/TT0 1 Tf -26.088 0 Td -(0)Tj -/T1_1 1 Tf -1.12 0 Td -(to)Tj -/TT0 1 Tf -1.392 0 Td -(2*NZERO)Tj -/T1_1 1 Tf -0.7698 Tc (.L)Tj -0 Tc 5.831 0 Td -[(ower )-270(nice)]TJ --34.43 -1.2 Td -[(values )-16(have )-16(higher )-16(scheduling )-16(priority)]TJ -0.5164 Tc 17.092 0 Td -(.A)Tj -0 Tc 1.544 0 Td -[(lthough )-16(this )-16(might )-16(seem )-16(backwar)18(d, )-16(it )-16(actually)]TJ --18.636 -1.2 Td -[(makes )-25(sense: )-25(the )-25(mor)]TJ -0.2752 Tc 9.499 0 Td -(en)Tj -0 Tc 1.336 0 Td -[(ice )-25(you )-25(ar)18(e, )-25(the )-25(lower )-25(your )-25(scheduling )-25(priority )-25(is.)]TJ -/TT0 1 Tf -22.513 0 Td -(NZERO)Tj -/T1_1 1 Tf -3.275 0 Td -[(is )-25(the)]TJ --36.623 -1.2 Td -(default nice value of the system.)Tj -7.9995 0 0 7.9995 183.5878 272.5836 Tm -[(Be )-20(awar)]TJ -0.2705 Tc 3.571 0 Td -(et)Tj -0 Tc 1.075 0 Td -[(hat )-21(the )-21(header )-21(\336le )-21(de\336ning)]TJ -/TT0 1 Tf -12.275 0 Td -(NZERO)Tj -/T1_1 1 Tf -3.271 0 Td -[(dif)18(fers )-21(among )-21(systems.)-521(In )-21(addition )-21(to )-21(the )-21(header)]TJ --20.193 -1.25 Td -[(\336le, )-332(Linux )-332(3.2.0 )-332(makes )-332(the )-332(value )-332(of)]TJ -/TT0 1 Tf -17.848 0 Td -(NZERO)Tj -/T1_1 1 Tf -3.582 0 Td -[(accessible )-332(thr)18(ough )-332(a )-332(nonstandar)18(d)]TJ -/TT0 1 Tf -16.37 0 Td -(sysconf)Tj -/T1_1 1 Tf --37.8 -1.25 Td -[(ar)18(gument \()]TJ -/TT0 1 Tf -(_SC_NZERO)Tj -/T1_1 1 Tf -(\).)Tj -0.3075 Tc 9.9994 0 0 9.9994 147.5898 228.5863 Tm -(Ap)Tj --0.018 Tc 1.686 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-57(can )-57(r)18(etrieve )-57(and )-57(change )-57(its )-57(nice )-57(value )-57(with )-57(the)]TJ -/TT0 1 Tf -23.294 0 Td -(nice)Tj -/T1_1 1 Tf -2.708 0 Td -[(function. )-307(W)55(ith )-57(this)]TJ --30.411 -1.2 Td -[(function, )-19(a )-19(pr)18(ocess )-19(can )-19(af)18(fect )-19(only )-19(its )-19(own )-19(nice )-19(value; )-19(it )-19(can\325t )-19(af)12(fect )-19(the )-19(nice )-19(value )-19(of )-19(any)]TJ -0 -1.2 TD -[(other pr)18(ocess.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5896 187.8887 Tm -(#include )Tj -0 -1.902 TD -(int nice\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(incr)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -8.873 -1.902 Td -(Returns: new nice value)Tj -/TT2 1 Tf -10.856 0 Td -(!)Tj -/TT0 1 Tf -0.799 0 Td -(NZERO)Tj -/T1_1 1 Tf -3.25 0 Td -(if OK,)Tj -/TT2 1 Tf -2.886 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1491.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46823 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.15)]TJ -35.337 0 Td -[(User )-250(Identi\336cation)]TJ -/T1_1 1 Tf -10.496 0 Td -(275)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Section )-90(8.6.)-590(The )-90(only )-90(information )-90(in )-90(this )-90(byte )-90(is )-90(a )-90(cor)22(e-\337ag )-90(bit )-90(\(usually )-90(the )-90(high-or)19(der)]TJ -0 -1.2 TD -[(bit\) )-57(and )-57(the )-57(signal )-57(number )-57(\(usually )-57(the )-57(seven )-57(low-or)16(der )-57(bits\), )-57(if )-57(the )-57(pr)18(ocess )-57(terminated)]TJ -T* -(abnormally)Tj -0.6887 Tc 4.986 0 Td -(.I)Tj -0.4387 Tc 1.276 0 Td -(ft)Tj -0 Tc 1.098 0 Td -[(he )-189(pr)18(ocess )-189(terminated )-189(normally)112(,)-439(we)-439(a)]TJ --0.018 Tc [(re )-225(n)]TJ -0 Tc 19.295 0 Td -[(ot )-189(able )-189(to )-189(obtain )-189(the)]TJ -/TT0 1 Tf -9.946 0 Td -(exit)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(status )-99(fr)18(om )-99(the )-99(accounting )-99(\336le.)-599(For )-99(the )-99(\336rst )-99(child, )-99(this )-99(value )-99(is )-99(128)]TJ -/TT1 1 Tf -30.612 0 Td -(+)Tj -/T1_0 1 Tf -0.716 0 Td -[(6. )-349(The)-349(128 )-99(is )-99(the)]TJ --31.328 -1.2 Td -(cor)Tj -0.4602 Tc 1.367 0 Td -(e\337)Tj -0 Tc 1.547 0 Td -[(ag )-210(bit, )-210(and )-210(6 )-210(happens )-210(to )-210(be )-210(the )-210(value )-210(on )-210(this )-210(system )-210(for)]TJ -/TT0 1 Tf -27.267 0 Td -(SIGABRT)Tj -/T1_0 1 Tf -0.4603 Tc (,w)Tj -0 Tc 5.744 0 Td -[(hich )-210(is)]TJ --35.925 -1.2 Td -[(generated )-166(by )-166(the )-166(call )-166(to)]TJ -/TT0 1 Tf -11.379 0 Td -(abort)Tj -/T1_0 1 Tf -0.6656 Tc (.T)Tj -0 Tc 4.529 0 Td -[(he )-166(value )-166(9 )-166(for )-166(the )-166(fourth )-166(child )-166(corr)18(esponds )-166(to )-166(the)]TJ --15.908 -1.2 Td -[(value )-27(of)]TJ -/TT0 1 Tf -3.871 0 Td -(SIGKILL)Tj -/T1_0 1 Tf -0.5268 Tc (.W)Tj -0.2768 Tc 5.885 0 Td -(ec)Tj -0 Tc 1.2 0 Td -[(an\325t )-27(tell )-27(fr)18(om )-27(the )-27(accounting )-27(data )-27(that )-27(the )-27(par)18(ent\325s )-27(ar)18(gument )-27(to)]TJ -/TT0 1 Tf --10.955 -1.2 Td -(exit)Tj -/T1_0 1 Tf -2.65 0 Td -(was 2 and that the thir)Tj -0.25 Tc 9.898 0 Td -(dc)Tj -0 Tc 1.305 0 Td -[(hild\325s ar)18(gument to)]TJ -/TT0 1 Tf -8.405 0 Td -(exit)Tj -/T1_0 1 Tf -2.65 0 Td -(was 0.)Tj --23.108 -1.2 Td -[(The )-77(size )-77(of )-77(the )-77(\336le)]TJ -/TT0 1 Tf -8.646 0 Td -(/etc/passwd)Tj -/T1_0 1 Tf -6.927 0 Td -[(that )-77(the)]TJ -/TT0 1 Tf -3.776 0 Td -(dd)Tj -/T1_0 1 Tf -1.527 0 Td -[(pr)18(ocess )-77(copies )-77(in )-77(the )-77(second )-77(child )-77(is)]TJ --22.676 -1.2 Td -[(777 )-53(bytes.)-553(The )-53(number )-53(of )-53(characters )-53(of )-53(I/O )-53(is )-53(just )-53(over )-53(twice )-53(this )-53(value.)-553(It )-53(is )-53(twice )-53(the)]TJ -T* -[(value, )-57(as )-57(777 )-57(bytes )-57(ar)]TJ -0.3068 Tc 9.555 0 Td -(er)Tj -0 Tc 1.163 0 Td -[(ead )-57(in, )-57(then )-57(777 )-57(bytes )-57(ar)]TJ -0.3068 Tc 10.931 0 Td -(ew)Tj -0 Tc 1.62 0 Td -[(ritten )-57(out.)-557(Even )-57(though )-57(the )-57(output)]TJ --23.268 -1.2 Td -[(goes )-83(to )-83(the )-83(null )-83(device, )-83(the )-83(bytes )-83(ar)]TJ -0.3332 Tc 16.084 0 Td -(es)Tj -0 Tc 1.236 0 Td -[(till )-83(accounted )-83(for)]TJ -0.5832 Tc 7.6 0 Td -(.T)Tj -0 Tc 1.446 0 Td -[(he )-83(31 )-83(additional )-83(bytes )-83(come)]TJ --26.367 -1.2 Td -[(fr)18(om )-15(the)]TJ -/TT0 1 Tf -4.056 0 Td -(dd)Tj -/T1_0 1 Tf -1.465 0 Td -[(command )-15(r)18(eporting )-15(the )-15(summary )-15(of )-15(bytes )-15(r)18(ead )-15(and )-15(written, )-15(which )-15(it )-15(prints)]TJ --5.522 -1.2 Td -(to)Tj -/TT0 1 Tf -1.122 0 Td -(stdout)Tj -/T1_0 1 Tf -(.)Tj -0.678 -1.2 Td -(The)Tj -/TT0 1 Tf -2.07 0 Td -(ac_flag)Tj -/T1_0 1 Tf -4.596 0 Td -[(values )-146(ar)]TJ -0.3963 Tc 4.135 0 Td -(ea)Tj --0.018 Tc 1.375 0 Td -[(re )-182(w)]TJ -0 Tc 2.086 0 Td -[(hat )-146(we )-146(would )-146(expect.)-648(The)]TJ -/TT0 1 Tf -12.607 0 Td -(F)Tj -/T1_0 1 Tf -0.996 0 Td -[(\337ag )-146(is )-146(set )-146(for )-146(all )-146(the)]TJ --29.667 -1.2 Td -[(child )-32(pr)18(ocesses )-32(except )-32(the )-32(second )-32(child, )-32(which )-32(does )-32(the)]TJ -/TT0 1 Tf -24.919 0 Td -(execl)Tj -/T1_0 1 Tf -0.5316 Tc (.T)Tj -0 Tc 4.395 0 Td -(he)Tj -/TT0 1 Tf -1.343 0 Td -(F)Tj -/T1_0 1 Tf -0.882 0 Td -[(\337ag )-32(is )-32(not )-32(set )-32(for)]TJ --31.537 -1.2 Td -[(the )-4(par)18(ent, )-4(because )-4(the )-4(interactive )-4(shell )-4(that )-4(executed )-4(the )-4(par)18(ent )-4(did )-4(a)]TJ -/TT0 1 Tf -31.095 0 Td -(fork)Tj -/T1_0 1 Tf -2.654 0 Td -[(and )-4(then )-4(an)]TJ -/TT0 1 Tf --33.749 -1.2 Td -(exec)Tj -/T1_0 1 Tf -2.662 0 Td -[(of )-12(the)]TJ -/TT0 1 Tf -2.79 0 Td -(a.out)Tj -/T1_0 1 Tf -3.262 0 Td -[(\336le. )-262(The)-262(\336rst )-12(child )-12(pr)18(ocess )-12(calls)]TJ -/TT0 1 Tf -14.335 0 Td -(abort)Tj -/T1_0 1 Tf -0.262 Tc (,w)Tj -0 Tc 4.346 0 Td -[(hich )-12(generates )-12(a)]TJ -/TT0 1 Tf -7.405 0 Td -(SIGABRT)Tj -/T1_0 1 Tf --34.8 -1.2 Td -[(signal )-104(to )-104(generate )-104(the )-104(cor)]TJ -0.3536 Tc 11.48 0 Td -(ed)Tj -0 Tc 1.444 0 Td -[(ump. )-354(Note)-353(that )-104(neither )-104(the)]TJ -/TT0 1 Tf -12.792 0 Td -(X)Tj -/T1_0 1 Tf -0.954 0 Td -[(\337ag )-104(nor )-104(the)]TJ -/TT0 1 Tf -5.635 0 Td -(D)Tj -/T1_0 1 Tf -0.954 0 Td -[(\337ag )-104(is )-104(on, )-104(as)]TJ --33.258 -1.2 Td -[(they )-93(ar)]TJ -0.3427 Tc 3.163 0 Td -(en)Tj -0 Tc 1.404 0 Td -[(ot )-93(supported )-93(on )-93(Solaris; )-93(the )-93(information )-93(they )-93(r)21(epr)18(esent )-93(can )-93(be )-93(derived )-93(fr)20(om)]TJ --4.566 -1.2 Td -(the)Tj -/TT0 1 Tf -1.939 0 Td -(ac_stat)Tj -/T1_0 1 Tf -4.752 0 Td -[(\336eld. )-552(The)-552(fourth )-302(child )-302(also )-302(terminates )-302(because )-302(of )-302(a )-302(signal, )-302(but )-302(the)]TJ -/TT0 1 Tf --6.691 -1.2 Td -(SIGKILL)Tj -/T1_0 1 Tf -4.45 0 Td -(signal does not generate a cor)Tj -0.25 Tc 13.071 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(ump; it just terminates the pr)18(ocess.)]TJ --17.061 -1.2 Td -[(As )-41(a )-41(\336nal )-41(note, )-41(the )-41(\336rst )-41(child )-41(has )-41(a )-41(0 )-41(count )-41(for )-41(the )-41(number )-41(of )-41(characters )-41(of )-41(I/O, )-41(yet)]TJ --1.8 -1.2 Td -[(this )-92(pr)18(ocess )-92(generated )-92(a)]TJ -/TT0 1 Tf -11.192 0 Td -(core)Tj -/T1_0 1 Tf -2.742 0 Td -[(\336le. )-342(It)-341(appears )-92(that )-92(the )-92(I/O )-92(r)19(equir)18(ed )-92(to )-92(write )-92(the)]TJ -/TT0 1 Tf -22.666 0 Td -(core)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(\336le is not char)18(ged to the pr)18(ocess.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3810.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -11.9986 0 0 11.9986 93.5888 332.96 Tm -[(8.15 )-776(User)-556(Identi\336cation)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 308.9629 Tm -[(Any )-237(pr)18(ocess )-237(can )-237(\336nd )-237(out )-237(its )-237(r)18(eal )-237(and )-237(ef)21(fective )-237(user )-237(ID )-237(and )-237(gr)18(oup )-237(ID.)-735(Sometimes,)]TJ -T* -[(however)74(,)-349(we)-349(want )-99(to )-99(\336nd )-99(out )-99(the )-99(login )-99(name )-99(of )-99(the )-99(user )-99(who\325s )-99(r)8(unning )-99(the )-99(pr)15(ogram.)]TJ --0.092 Tc 0 -1.2 Td -[(We )-403(c)]TJ -0 Tc 2.3 0 Td -[(ould )-219(call)]TJ -/TT0 1 Tf -4.516 0 Td -(getpwuid\(getuid\(\)\))Tj -/T1_0 1 Tf -0.4694 Tc (,b)Tj -0 Tc 12.072 0 Td -[(ut )-219(what )-219(if )-219(a )-219(single )-219(user )-219(has )-219(multiple )-219(login)]TJ --18.889 -1.2 Td -[(names, )-219(each )-219(with )-219(the )-219(same )-219(user )-219(ID?)-719(\(A )-219(person )-219(might )-219(have )-219(multiple )-219(entries )-219(in )-219(the)]TJ -T* -(passwor)Tj -0.3095 Tc 3.706 0 Td -(d\336)Tj -0 Tc 1.526 0 Td -[(le )-59(with )-59(the )-59(same )-59(user )-59(ID )-59(to )-59(have )-59(a )-59(dif)14(fer)18(ent )-60(login )-60(shell )-60(for )-60(each )-60(entry)113(.\) )-310(The)]TJ --5.232 -1.2 Td -[(system )-300(normally )-300(keeps )-300(track )-300(of )-300(the )-300(name )-300(we )-300(log )-300(in )-300(under )-300(\(Section )-300(6.8\), )-300(and )-300(the)]TJ -/TT0 1 Tf -T* -(getlogin)Tj -/T1_0 1 Tf -5.05 0 Td -[(function pr)18(ovides a way to fetch that login name.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.582 214.2743 Tm -(#include )Tj -0 -2.378 TD -(char *getlogin\(void\);)Tj -/T1_0 1 Tf -10.533 -2.378 Td -(Returns: pointer to string giving login name if OK,)Tj -/TT0 1 Tf -22.58 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1670.25 cm -0 0 m -0 563 l -3900 563 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 147.4735 Tm -[(This )-23(function )-23(can )-23(fail )-23(if )-23(the )-23(pr)18(ocess )-23(is )-23(not )-23(attached )-23(to )-23(a )-23(terminal )-23(that )-23(a )-23(user )-23(logged )-23(in )-23(to.)]TJ --0.092 Tc 0 -1.2 TD -[(We )-184(n)]TJ -0 Tc 2.219 0 Td -[(ormally call these pr)18(ocesses)]TJ -/T1_2 1 Tf -12.476 0 Td -(daemons)Tj -/T1_0 1 Tf -0.5 Tc (.W)Tj -0.25 Tc 5.158 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(iscuss them in Chapter 13.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46824 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.14)]TJ -34.883 0 Td -[(Pr)18(ocess )-250(Accounting)]TJ -/T1_1 1 Tf -10.95 0 Td -(269)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(The )-4(super)8(user )-4(permissions )-4(that )-4(we )-4(gave )-4(the)]TJ -/TT0 1 Tf -19.718 0 Td -(tsys)Tj -/T1_0 1 Tf -2.654 0 Td -[(pr)18(ogram )-3(ar)]TJ -0.2535 Tc 4.989 0 Td -(er)Tj -0 Tc 1.109 0 Td -[(etained )-3(acr)18(oss )-3(the)]TJ -/TT0 1 Tf -8.131 0 Td -(fork)Tj -/T1_0 1 Tf --36.6 -1.2 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(exec)Tj -/T1_0 1 Tf -2.65 0 Td -(that ar)Tj -0.25 Tc 2.861 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(one by)Tj -/TT0 1 Tf -3.216 0 Td -(system)Tj -/T1_0 1 Tf -(.)Tj -7.9995 0 0 7.9995 183.5899 636.9618 Tm -[(Some )-281(implementations )-281(have )-281(closed )-281(this )-281(security )-281(hole )-281(by )-281(changing)]TJ -/TT0 1 Tf -31.861 0 Td -(/bin/sh)Tj -/T1_0 1 Tf -4.731 0 Td -[(to )-281(r)18(eset )-281(the)]TJ --36.593 -1.25 Td -[(ef)18(fective )-104(user )-104(ID )-104(to )-104(the )-104(r)18(eal )-104(user )-104(ID )-104(when )-104(they )-104(don\325t )-104(match.)-604(On )-104(these )-104(systems, )-104(the )-104(pr)18(evious)]TJ --0 -1.25 Td -[(example )-24(doesn\325t )-24(work )-24(as )-24(shown.)-524(Instead, )-24(the )-24(same )-24(ef)19(fective )-24(user )-24(ID )-24(will )-24(be )-24(printed )-24(r)18(egar)18(dless)]TJ -0 -1.25 TD -[(of the status of the set-user)18(-ID bit on the pr)18(ogram calling)]TJ -/TT0 1 Tf -25.272 0 Td -(system)Tj -/T1_0 1 Tf -(.)Tj -9.9994 0 0 9.9994 147.5919 584.9649 Tm -[(If )-96(it )-96(is )-96(r)8(unning )-96(with )-96(special )-96(permissions)]TJ -0.0833 Tc 18.148 0 Td -(\321e)Tj -0 Tc 1.562 0 Td -[(ither )-96(set-user)18(-ID )-96(or )-96(set-gr)18(oup-ID )167(\321 )167(and)]TJ --21.51 -1.2 Td -[(wants )-115(to )-115(spawn )-115(another )-115(pr)18(ocess, )-115(a )-115(pr)18(ocess )-115(should )-115(use)]TJ -/TT0 1 Tf -25.073 0 Td -(fork)Tj -/T1_0 1 Tf -2.765 0 Td -(and)Tj -/TT0 1 Tf -2.058 0 Td -(exec)Tj -/T1_0 1 Tf -2.765 0 Td -[(dir)18(ectly)]TJ -0.3647 Tc 3.264 0 Td -(,b)Tj -0 Tc 1.168 0 Td -(eing)Tj --37.092 -1.2 Td -[(certain )-68(to )-68(change )-68(back )-68(to )-68(normal )-68(permissions )-68(after )-68(the)]TJ -/TT0 1 Tf -24.78 0 Td -(fork)Tj -/T1_0 1 Tf -0.3184 Tc (,b)Tj -0 Tc 3.521 0 Td -(efor)Tj -0.3184 Tc 1.735 0 Td -(ec)Tj -0 Tc 1.241 0 Td -(alling)Tj -/TT0 1 Tf -2.829 0 Td -(exec)Tj -/T1_0 1 Tf -0.5684 Tc (.T)Tj -0 Tc 3.831 0 Td -(he)Tj -/TT0 1 Tf --37.939 -1.2 Td -(system)Tj -/T1_0 1 Tf -3.85 0 Td -(function should)Tj -/T1_2 1 Tf -7.264 0 Td -(never)Tj -/T1_0 1 Tf -2.473 0 Td -[(be used fr)18(om a set-user)18(-ID or a set-gr)18(oup-ID pr)18(ogram.)]TJ -7.9995 0 0 7.9995 183.5902 528.9683 Tm -[(One )-37(r)18(eason )-37(for )-37(this )-37(admonition )-37(is )-37(that)]TJ -/TT0 1 Tf -17.271 0 Td -(system)Tj -/T1_0 1 Tf -3.888 0 Td -[(invokes )-38(the )-38(shell )-38(to )-38(parse )-38(the )-38(command )-38(string,)]TJ --21.159 -1.25 Td -[(and )-163(the )-163(shell )-163(uses )-163(its)]TJ -/TT0 1 Tf -10.185 0 Td -(IFS)Tj -/T1_0 1 Tf -2.213 0 Td -[(variable )-163(as )-163(the )-163(input )-163(\336eld )-163(separator)]TJ -0.6634 Tc 16.433 0 Td -(.O)Tj -0 Tc 1.699 0 Td -[(lder )-163(versions )-163(of )-163(the )-163(shell)]TJ --30.531 -1.25 Td -[(didn\325t )-64(r)18(eset )-64(this )-64(variable )-64(to )-64(a )-64(normal )-64(set )-64(of )-64(characters )-64(when )-64(invoked.)-561(As )-64(a )-64(r)18(esult, )-64(a )-64(malicious)]TJ -T* -[(user )-35(could )-35(set)]TJ -/TT0 1 Tf -6.479 0 Td -(IFS)Tj -/T1_0 1 Tf -2.085 0 Td -[(befor)18(e)]TJ -/TT0 1 Tf -3.052 0 Td -(system)Tj -/T1_0 1 Tf -3.885 0 Td -[(was )-35(called, )-35(causing)]TJ -/TT0 1 Tf -8.878 0 Td -(system)Tj -/T1_0 1 Tf -3.885 0 Td -[(to )-35(execute )-35(a )-35(dif)19(fer)18(ent )-35(pr)18(ogram.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5952 456.9726 Tm -[(8.14 )-776(Pr)20(ocess )-278(Accounting)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.593 432.974 Tm -[(Most )-143(UNIX )-143(systems )-143(pr)19(ovide )-143(an )-143(option )-143(to )-143(do )-143(pr)18(ocess )-143(accounting.)-643(When )-143(enabled, )-143(the)]TJ -0 -1.2 TD -[(kernel )-138(writes )-138(an )-138(accounting )-138(r)19(ecor)]TJ -0.3876 Tc 15.261 0 Td -(de)Tj -0 Tc 1.478 0 Td -[(ach )-138(time )-138(a )-138(pr)18(ocess )-138(terminates.)-638(These )-138(accounting)]TJ --0.018 Tc -16.738 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(ds )-19(typically )-19(contain )-19(a )-19(small )-19(amount )-19(of )-19(binary )-19(data )-19(with )-19(the )-19(name )-19(of )-19(the )-19(command,)]TJ --0.856 -1.2 Td -[(the )-83(amount )-83(of )-83(CPU )-83(time )-83(used, )-83(the )-83(user )-83(ID )-83(and )-83(gr)16(oup )-83(ID, )-83(the )-83(starting )-83(time, )-83(and )-83(so )-83(on.)]TJ --0.092 Tc T* -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-7(take )-7(a )-7(closer )-7(look )-7(at )-7(these )-7(accounting )-7(r)16(ecor)18(ds )-7(in )-7(this )-7(section, )-7(as )-7(it )-7(gives )-7(us )-7(a )-7(chance)]TJ --1.387 -1.2 Td -[(to look at pr)18(ocesses again and to use the)]TJ -/TT0 1 Tf -17.972 0 Td -(fread)Tj -/T1_0 1 Tf -3.25 0 Td -[(function fr)18(om Section 5.9.)]TJ -7.9995 0 0 7.9995 183.5903 352.9788 Tm -[(Pr)18(ocess )-4(accounting )-4(is )-4(not )-4(speci\336ed )-4(by )-4(any )-4(of )-4(the )-4(standar)18(ds. )-254(Thus)-254(all )-4(the )-4(implementations )-4(have)]TJ -0 -1.25 TD -[(annoying )-141(dif)18(fer)18(ences. )-391(For)-391(example, )-141(the )-141(I/O )-141(counts )-141(maintained )-141(on )-141(Solaris )-141(10 )-141(ar)17(e)-391(in)-391(units )-141(of)]TJ -T* -[(bytes, )-27(wher)18(eas )-27(Fr)18(eeBSD )-27(8.0 )-27(and )-27(Mac )-27(OS )-27(X )-27(10.6.8 )-27(maintain )-27(units )-27(of )-27(blocks, )-27(although )-27(ther)20(e)-277(is)-277(n)1(o)]TJ --0 -1.25 Td -[(distinction )-99(between )-99(dif)18(fer)18(ent )-99(block )-99(sizes, )-99(making )-99(the )-99(counter )-99(ef)19(fectively )-99(useless.)-599(Linux )-99(3.2.0,)]TJ -T* -(on the other hand, doesn\325t try to maintain I/O statistics at all.)Tj -0 -2.5 TD -[(Each )-349(implementation )-349(also )-349(has )-349(its )-349(own )-349(set )-349(of )-349(administrative )-349(commands )-349(to )-349(pr)14(ocess )-349(raw)]TJ -0 -1.25 TD -[(accounting )-316(data.)-816(For )-316(example, )-316(Solaris )-316(pr)18(ovides)]TJ -/TT0 1 Tf -23.069 0 Td -(runacct)Tj -/T1_0 1 Tf -[(\(1m\) )-316(and)]TJ -/TT0 1 Tf -9.074 0 Td -(acctcom)Tj -/T1_0 1 Tf -4.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.566 Tc 0.333 -0.04 Td -(,w)Tj -0 Tc 1.65 0 Td -[(her)18(eas)]TJ --39.159 -1.25 Td -[(Fr)18(eeBSD pr)18(ovides the)]TJ -/TT0 1 Tf -9.832 0 Td -(sa)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(8)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -[(command to pr)18(ocess and summarize the raw accounting data.)]TJ -0.3744 Tc 9.9994 0 0 9.9994 147.5925 250.9849 Tm -(Af)Tj -0 Tc 1.485 0 Td -[(unction )-124(we )-124(haven\325t )-124(described )-124(\()]TJ -/TT0 1 Tf -14.117 0 Td -(acct)Tj -/T1_0 1 Tf -0.3744 Tc (\)e)Tj -0 Tc 3.586 0 Td -[(nables )-124(and )-124(disables )-124(pr)18(ocess )-124(accounting.)]TJ --20.988 -1.2 Td -[(The )-6(only )-6(use )-6(of )-6(this )-6(function )-6(is )-6(fr)18(om )-6(the)]TJ -/TT0 1 Tf -17.905 0 Td -(accton)Tj -/T1_0 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(8)Tj -0.5 0.04 Td -(\))Tj -0.589 -0.04 Td -[(command )-6(\(which )-6(happens )-6(to )-6(be )-6(one)]TJ --22.927 -1.2 Td -[(of )-382(the )-382(few )-382(similarities )-382(among )-382(platforms\).)]TJ -0.6315 Tc 20.786 0 Td -(As)Tj -0 Tc 1.834 0 Td -[(uper)8(user )-381(executes)]TJ -/TT0 1 Tf -8.984 0 Td -(accton)Tj -/T1_0 1 Tf -4.231 0 Td -[(with )-381(a)]TJ --35.836 -1.2 Td -[(pathname )-155(ar)18(gument )-155(to )-155(enable )-155(accounting.)-655(The )-155(accounting )-155(r)17(ecor)18(ds )-155(ar)]TJ -0.4052 Tc 31.814 0 Td -(ew)Tj -0 Tc 1.718 0 Td -[(ritten )-155(to )-155(the)]TJ --33.532 -1.2 Td -[(speci\336ed )-276(\336le, )-276(which )-276(is )-276(usually)]TJ -/TT0 1 Tf -14.905 0 Td -(/var/account/acct)Tj -/T1_0 1 Tf -10.726 0 Td -[(on )-276(Fr)18(eeBSD )-276(and )-276(Mac )-276(OS )-276(X,)]TJ -/TT0 1 Tf --25.63 -1.2 Td -(/var/log/account/pacct)Tj -/T1_0 1 Tf -13.482 0 Td -[(on )-32(Linux, )-32(and)]TJ -/TT0 1 Tf -6.52 0 Td -(/var/adm/pacct)Tj -/T1_0 1 Tf -8.682 0 Td -[(on )-32(Solaris.)-532(Accounting)]TJ --28.684 -1.2 Td -[(is turned of)18(f)-250(by)-250(executing)]TJ -/TT0 1 Tf -11.54 0 Td -(accton)Tj -/T1_0 1 Tf -3.85 0 Td -[(without any ar)18(guments.)]TJ --13.59 -1.2 Td -[(The )-143(str)8(uctur)]TJ -0.3929 Tc 5.557 0 Td -(eo)Tj -0.3928 Tc 1.418 0 Td -(ft)Tj -0 Tc 1.052 0 Td -[(he )-143(accounting )-143(r)18(ecor)18(ds )-143(is )-143(de\336ned )-143(in )-143(the )-143(header)]TJ -/TT0 1 Tf -21.723 0 Td -()Tj -/T1_0 1 Tf -(.)Tj --31.55 -1.2 Td -[(Although )-326(the )-326(implementation )-326(of )-326(each )-326(system )-326(dif)18(fers, )-326(the )-326(accounting )-326(r)21(ecor)18(ds )-326(look)]TJ -0 -1.2 Td -(something like)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46825 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(264)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 163.9202 668.9599 Tm -[(instead )-172(of )-172(needing )-172(to )-172(know )-172(that )-172(the )-172(pr)18(ogram )-172(is )-172(r)18(eally )-172(an)]TJ -/TT0 1 Tf -26.974 0 Td -(awk)Tj -/T1_1 1 Tf -2.222 0 Td -[(script )-172(that )-172(we)]TJ --29.195 -1.2 Td -(would otherwise have to execute as)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 181.9191 640.2616 Tm -(awk -f awkexample)Tj -/T1_2 1 Tf -10.8 0 Td -[(optional-ar)18(guments)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 621.8627 Tm -[(2. )-633(Interpr)18(eter )-156(scripts )-156(pr)18(ovide )-156(an )-156(ef)20(\336ciency )-156(gain.)-656(Consider )-156(the )-156(pr)18(evious )-156(example)]TJ -1.633 -1.2 Td -[(again. )-275(W)]TJ -0.2753 Tc 4.112 0 Td -(ec)Tj -0 Tc 1.198 0 Td -[(ould )-25(still )-25(hide )-25(that )-25(the )-25(pr)18(ogram )-25(is )-25(an)]TJ -/TT0 1 Tf -16.615 0 Td -(awk)Tj -/T1_1 1 Tf -2.075 0 Td -[(script, )-25(by )-25(wrapping )-25(it )-25(in )-25(a)]TJ --24.001 -1.2 Td -(shell script:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 181.9189 581.1651 Tm -(awk \325BEGIN {)Tj -2.4 -1.189 Td -(for \(i = 0; i < ARGC; i++\))Tj -2.4 -1.189 Td -(printf "ARGV[%d] = %s\\n", i, ARGV[i])Tj --2.4 -1.189 Td -(exit)Tj --2.4 -1.189 Td -(}\325 $*)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 163.92 520.3688 Tm -[(The )-146(pr)18(oblem )-146(with )-146(this )-146(solution )-146(is )-146(that )-146(mor)]TJ -0.3958 Tc 19.694 0 Td -(ew)Tj -0 Tc 1.709 0 Td -[(ork )-146(is )-146(r)18(equir)18(ed. )-396(First,)-396(the )-146(shell)]TJ --0.018 Tc -21.403 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ads )-9(the )-9(command )-9(and )-9(tries )-9(to)]TJ -/TT0 1 Tf -13.404 0 Td -(execlp)Tj -/T1_1 1 Tf -3.859 0 Td -[(the )-9(\336lename.)-509(Because )-9(the )-9(shell )-9(script )-9(is)]TJ --18.119 -1.2 Td -[(an )-278(executable )-278(\336le )-278(but )-278(isn\325t )-278(a )-278(machine )-278(executable, )-278(an )-278(err)18(or )-278(is )-278(r)18(eturned )-278(and)]TJ -/TT0 1 Tf -0 -1.2 TD -(execlp)Tj -/T1_1 1 Tf -3.998 0 Td -[(assumes )-148(that )-148(the )-148(\336le )-148(is )-148(a )-148(shell )-148(script )-148(\(which )-148(it )-148(is\).)-646(Then)]TJ -/TT0 1 Tf -26.257 0 Td -(/bin/sh)Tj -/T1_1 1 Tf -4.598 0 Td -(is)Tj --34.852 -1.2 Td -[(executed )-286(with )-286(the )-286(pathname )-286(of )-286(the )-286(shell )-286(script )-286(as )-286(its )-286(ar)19(gument. )-536(The)-536(shell)]TJ -T* -[(corr)18(ectly )-147(r)8(uns )-147(our )-147(script, )-147(but )-147(to )-147(r)10(un )-147(the)]TJ -/TT0 1 Tf -18.615 0 Td -(awk)Tj -/T1_1 1 Tf -2.197 0 Td -[(pr)18(ogram, )-147(the )-147(shell )-147(does )-147(a)]TJ -/TT0 1 Tf -12.105 0 Td -(fork)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --32.917 -1.2 Td -(exec)Tj -/T1_1 1 Tf -0.6103 Tc (,a)Tj -0 Tc 3.76 0 Td -(nd)Tj -/TT0 1 Tf -1.803 0 Td -(wait)Tj -/T1_1 1 Tf -0.8603 Tc (.T)Tj -0 Tc 4.123 0 Td -[(hus )-360(ther)18(e)-610(is)-610(m)-1(or)]TJ -0.6104 Tc 8.204 0 Td -(eo)Tj -0 Tc 1.635 0 Td -[(ver)18(head )-360(involved )-360(in )-360(r)18(eplacing )-360(an)]TJ --19.526 -1.2 Td -[(interpr)18(eter script with a shell script.)]TJ --1.633 -1.6 Td -[(3. )-633(Interpr)18(eter )-182(scripts )-182(let )-182(us )-182(write )-182(shell )-182(scripts )-182(using )-182(shells )-182(other )-182(than)]TJ -/TT0 1 Tf -32.75 0 Td -(/bin/sh)Tj -/T1_1 1 Tf -(.)Tj --31.117 -1.2 Td -[(When )-70(it )-70(\336nds )-70(an )-70(executable )-70(\336le )-70(that )-70(isn\325t )-70(a )-70(machine )-70(executable,)]TJ -/TT0 1 Tf -28.948 0 Td -(execlp)Tj -/T1_1 1 Tf -3.92 0 Td -[(has )-70(to)]TJ --32.869 -1.2 Td -[(choose )-196(a )-196(shell )-196(to )-196(invoke, )-196(and )-196(it )-196(always )-196(uses)]TJ -/TT0 1 Tf -21.087 0 Td -(/bin/sh)Tj -/T1_1 1 Tf -0.6958 Tc (.U)Tj -0 Tc 5.924 0 Td -[(sing )-196(an )-196(interpr)18(eter)]TJ --27.011 -1.2 Td -[(script, however)74(,)-250(we)-250(can simply write)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 181.9192 367.6779 Tm -(#!/bin/csh)Tj -/T1_2 1 Tf -0 -1.189 TD -[(\(C shell script follows in the interpr)18(eter \336le\))]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 163.9203 338.9797 Tm -[(Again, )-55(we )-55(could )-55(wrap )-55(all )-55(of )-55(this )-55(in )-55(a)]TJ -/TT0 1 Tf -16.799 0 Td -(/bin/sh)Tj -/T1_1 1 Tf -4.505 0 Td -[(script )-55(\(that )-55(invokes )-55(the )-55(C )-55(shell\),)]TJ --21.304 -1.2 Td -(as we described earlier)Tj -0.25 Tc 10.03 0 Td -(,b)Tj -0 Tc 1.053 0 Td -(ut mor)Tj -0.25 Tc 2.985 0 Td -(eo)Tj -0 Tc 1.275 0 Td -[(ver)18(head is r)18(equir)18(ed.)]TJ --18.776 -1.8 Td -[(None )-19(of )-19(this )-19(would )-19(work )-19(as )-19(we\325ve )-19(shown )-19(her)19(e)-269(if)-269(the )-19(thr)18(ee )-19(shells )-19(and)]TJ -/TT0 1 Tf -30.802 0 Td -(awk)Tj -/T1_1 1 Tf -2.069 0 Td -[(didn\325t )-19(use )-19(the)]TJ --32.871 -1.2 Td -[(pound sign as their comment character)74(.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5945 263.3842 Tm -(8.13)Tj -/TT2 1 Tf -3 0 Td -(system)Tj -/TT1 1 Tf -4.156 0 Td -(Function)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5923 241.7855 Tm -[(It )-183(is )-183(convenient )-183(to )-183(execute )-183(a )-183(command )-183(string )-183(fr)20(om )-183(within )-183(a )-183(pr)19(ogram. )-433(For)-433(example,)]TJ -0 -1.2 Td -[(assume )-37(that )-37(we )-37(want )-37(to )-37(put )-37(a )-37(time-and-date )-37(stamp )-37(into )-37(a )-37(certain )-37(\336le.)]TJ --0.092 Tc 31.364 0 Td -[(We )-221(c)]TJ -0 Tc 2.118 0 Td -[(ould )-37(use )-37(the)]TJ --33.482 -1.2 Td -[(functions )-22(described )-22(in )-22(Section )-22(6.10 )-22(to )-22(do )-22(this: )-22(call)]TJ -/TT0 1 Tf -22.11 0 Td -(time)Tj -/T1_1 1 Tf -2.672 0 Td -[(to )-22(get )-22(the )-22(curr)18(ent )-22(calendar )-22(time,)]TJ --24.782 -1.2 Td -[(then )-2(call)]TJ -/TT0 1 Tf -3.999 0 Td -(localtime)Tj -/T1_1 1 Tf -5.652 0 Td -[(to )-2(convert )-2(it )-2(to )-2(a )-2(br)18(oken-down )-2(time, )-2(then )-2(call)]TJ -/TT0 1 Tf -20.19 0 Td -(strftime)Tj -/T1_1 1 Tf -5.052 0 Td -[(to )-2(format)]TJ --34.893 -1.2 Td -[(the r)18(esult, and \336nally write the r)18(esult to the \336le.)-500(It is much easier)]TJ -0.25 Tc 28.635 0 Td -(,h)Tj -0 Tc 1.082 0 Td -[(owever)74(,)-250(to)-250(say)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5917 177.0894 Tm -(system\("date > file"\);)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5928 159.0905 Tm -[(ISO )-189(C )-189(de\336nes )-189(the)]TJ -/TT0 1 Tf -8.679 0 Td -(system)Tj -/T1_1 1 Tf -4.039 0 Td -[(function, )-189(but )-189(its )-189(operation )-189(is )-189(str)18(ongly )-189(system )-189(dependent.)]TJ --12.717 -1.2 Td -[(POSIX.1 )-91(includes )-91(the)]TJ -/TT0 1 Tf -9.803 0 Td -(system)Tj -/T1_1 1 Tf -3.941 0 Td -[(interface, )-91(expanding )-91(on )-91(the )-91(ISO )-91(C )-91(de\336nition )-91(to )-91(describe)]TJ --13.744 -1.2 Td -[(its behavior in a POSIX envir)18(onment.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46826 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(260)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 163.9202 668.9599 Tm -(seteuid)Tj -/T1_1 1 Tf -4.466 0 Td -[(to )-16(set )-16(its )-16(ef)18(fective )-16(user )-16(ID )-16(to )-16(our )-16(user )-16(ID.)-517(This )-16(pr)18(events )-16(any )-16(accidental)]TJ --4.466 -1.2 Td -[(misuse of privilege.)-500(At this point, we have)]TJ --0.018 Tc 6.159 -1.68 Td -(re)Tj -0 Tc 0.856 0 Td -[(al user ID =)-500(our user ID \(unchanged\))]TJ --2.92 -1.2 Td -[(ef)18(fective user ID =)-500(our user ID)]TJ --0.495 -1.2 Td -[(saved set-user)18(-ID =)]TJ -/TT0 1 Tf -9.074 0 Td -(root)Tj -/T1_1 1 Tf -2.65 0 Td -(\(unchanged\))Tj --16.957 -1.84 Td -[(5. )-633(The)-279(daemon )-29(starts )-29(out )-29(r)8(unning )-29(with)]TJ -/TT0 1 Tf -18.069 0 Td -(root)Tj -/T1_1 1 Tf -2.679 0 Td -[(privileges. )-279(T)]TJ -0.2792 Tc 5.672 0 Td -(or)Tj -0 Tc 1.212 0 Td -[(un )-29(commands )-29(on )-29(our)]TJ --25.999 -1.2 Td -[(behalf, )-59(the )-59(daemon )-59(calls)]TJ -/TT0 1 Tf -11.162 0 Td -(fork)Tj -/T1_1 1 Tf -2.709 0 Td -[(and )-59(the )-59(child )-59(calls)]TJ -/TT0 1 Tf -8.484 0 Td -(setuid)Tj -/T1_1 1 Tf -3.909 0 Td -[(to )-59(change )-59(its )-59(user )-59(ID)]TJ --26.264 -1.2 Td -[(to )-54(our )-54(user )-54(ID.)-554(Because )-54(the )-54(child )-54(is )-54(r)10(unning )-54(with)]TJ -/TT0 1 Tf -22.443 0 Td -(root)Tj -/T1_1 1 Tf -2.704 0 Td -[(privileges, )-54(this )-54(changes)]TJ --25.147 -1.2 Td -(all of the IDs.)Tj --0.092 Tc 6.383 0 Td -[(We )-184(h)]TJ -0 Tc 2.219 0 Td -(ave)Tj --0.018 Tc -2.443 -1.68 Td -(re)Tj -0 Tc 0.856 0 Td -[(al user ID =)-500(our user ID)]TJ --2.92 -1.2 Td -[(ef)18(fective user ID =)-500(our user ID)]TJ --0.495 -1.2 Td -[(saved set-user)18(-ID =)-500(our user ID)]TJ --3.6 -1.8 Td -[(Now )-148(the )-148(daemon )-148(can )-148(safely )-148(execute )-148(commands )-148(on )-148(our )-148(behalf, )-148(because )-148(it )-148(can)]TJ -0 -1.2 TD -[(access )-73(only )-73(the )-73(\336les )-73(to )-73(which )-73(we )-73(normally )-73(have )-73(access.)]TJ --0.092 Tc 25.408 0 Td -[(We )-257(h)]TJ -0 Tc 2.292 0 Td -[(ave )-73(no )-73(additional)]TJ --27.7 -1.2 Td -(permissions.)Tj --3.433 -1.8 Td -[(By )-8(using )-8(the )-8(saved )-8(set-user)18(-ID )-8(in )-8(this )-8(fashion, )-8(we )-8(can )-8(use )-8(the )-8(extra )-8(privileges )-8(granted )-8(to)]TJ -T* -[(us )-82(by )-82(the )-82(set-user)18(-ID )-82(of )-82(the )-82(pr)18(ogram )-82(\336le )-82(only )-82(when )-82(we )-82(need )-82(elevated )-82(privileges.)-589(Any)]TJ -T* -[(other )-53(time, )-53(however)]TJ -0.3026 Tc 8.968 0 Td -(,t)Tj -0 Tc 0.879 0 Td -[(he )-53(pr)18(ocess )-53(r)8(uns )-53(with )-53(our )-53(normal )-53(permissions.)-553(If )-53(we )-53(wer)18(en\325t )-53(able)]TJ --9.847 -1.2 Td -[(to )-113(switch )-113(back )-113(to )-113(the )-113(saved )-113(set-user)18(-ID )-113(at )-113(the )-113(end, )-113(we )-113(might )-113(be )-113(tempted )-113(to )-113(r)17(etain )-113(the)]TJ -T* -(extra permissions the whole time we wer)Tj -0.25 Tc 18.157 0 Td -(er)Tj -0 Tc 1.116 0 Td -[(unning \(which is asking for tr)18(ouble\).)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4130.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9986 0 0 11.9986 93.5888 375.7549 Tm -[(8.12 )-776(Interpreter)-556(Files)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 355.3574 Tm -[(All )-68(contemporary )-68(UNIX )-68(systems )-68(support )-68(interpr)18(eter )-68(\336les.)-568(These )-68(\336les )-68(ar)]TJ -0.3184 Tc 32.386 0 Td -(et)Tj -0 Tc 1.123 0 Td -[(ext )-68(\336les )-68(that)]TJ --33.509 -1.2 Td -(begin with a line of the form)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 328.8003 Tm -(#!)Tj -/T1_2 1 Tf -1.8 0 Td -[(pathname )-350([)-250(optional-ar)18(gument ])]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 312.9424 Tm -[(The )-273(space )-273(between )-273(the )-273(exclamation )-273(point )-273(and )-273(the)]TJ -/T1_2 1 Tf -24.212 0 Td -(pathname)Tj -/T1_1 1 Tf -4.467 0 Td -[(is )-273(optional.)-773(The )-273(most)]TJ --28.679 -1.2 Td -[(common of these interpr)18(eter \336les begin with the line)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 286.3854 Tm -(#!/bin/sh)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 270.5275 Tm -(The)Tj -/T1_2 1 Tf -2.282 0 Td -(pathname)Tj -/T1_1 1 Tf -4.552 0 Td -[(is )-358(normally )-358(an )-358(absolute )-358(pathname, )-358(since )-358(no )-358(special )-358(operations )-358(ar)14(e)]TJ --6.835 -1.2 Td -[(performed )-17(on )-17(it )-17(\(i.e.,)]TJ -/TT0 1 Tf -9.388 0 Td -(PATH)Tj -/T1_1 1 Tf -2.667 0 Td -[(is )-17(not )-17(used\).)-517(The )-17(r)18(ecognition )-17(of )-17(these )-17(\336les )-17(is )-17(done )-17(within )-17(the)]TJ --12.056 -1.2 Td -[(kernel )-62(as )-62(part )-62(of )-62(pr)18(ocessing )-62(the)]TJ -/TT0 1 Tf -14.392 0 Td -(exec)Tj -/T1_1 1 Tf -2.712 0 Td -[(system )-62(call.)-562(The )-62(actual )-62(\336le )-62(that )-62(gets )-62(executed )-62(by)]TJ --17.105 -1.2 Td -[(the )-69(kernel )-69(is )-69(not )-69(the )-69(interpr)18(eter )-69(\336le, )-69(but )-69(rather )-69(the )-69(\336le )-69(speci\336ed )-69(by )-69(the)]TJ -/T1_2 1 Tf -31.902 0 Td -(pathname)Tj -/T1_1 1 Tf -4.263 0 Td -[(on )-69(the)]TJ --36.166 -1.2 Td -[(\336rst )-105(line )-105(of )-105(the )-105(interpr)18(eter )-105(\336le.)-605(Be )-105(sur)20(e)-355(to)-355(d)1(if)18(fer)18(entiate )-105(between )-105(the )-105(interpr)18(eter )-105(\336le)]TJ -0.0833 Tc 37.417 0 Td -(\321a)Tj -0 Tc -37.417 -1.2 Td -[(text )-49(\336le )-49(that )-49(begins )-49(with)]TJ -/TT0 1 Tf -11.171 0 Td -(#!)Tj -/T1_1 1 Tf -[(\321and )-49(the )-49(interpr)17(eter)]TJ -0.2993 Tc 10.535 0 Td -(,w)Tj -0 Tc 1.383 0 Td -[(hich )-49(is )-49(speci\336ed )-49(by )-49(the)]TJ -/T1_2 1 Tf -10.54 0 Td -(pathname)Tj -/T1_1 1 Tf -4.243 0 Td -(on)Tj --37.872 -1.2 Td -[(the \336rst line of the interpr)18(eter \336le.)]TJ -1.8 -1.2 Td -[(Be )-75(awar)]TJ -0.3246 Tc 3.626 0 Td -(et)Tj -0 Tc 1.13 0 Td -[(hat )-75(systems )-75(place )-75(a )-75(size )-75(limit )-75(on )-75(the )-75(\336rst )-75(line )-75(of )-75(an )-75(interpr)18(eter )-75(\336le.)-571(This)]TJ --6.555 -1.2 Td -[(limit )-6(includes )-6(the)]TJ -/TT0 1 Tf -7.962 0 Td -(#!)Tj -/T1_1 1 Tf -0.2559 Tc (,t)Tj -0 Tc 2.032 0 Td -(he)Tj -/T1_2 1 Tf -1.317 0 Td -(pathname)Tj -/T1_1 1 Tf -0.2558 Tc (,t)Tj -0 Tc 4.776 0 Td -[(he )-6(optional )-6(ar)18(gument, )-6(the )-6(terminating )-6(newline, )-6(and)]TJ --16.086 -1.2 Td -(any spaces.)Tj -7.999 0 0 7.999 183.5778 144.9426 Tm -[(On )-151(Fr)18(eeBSD )-151(8.0, )-151(this )-151(limit )-151(is )-151(4,097 )-151(bytes.)-651(On )-151(Linux )-151(3.2.0, )-151(the )-151(limit )-151(is )-151(128 )-151(bytes.)-645(Mac )-151(OS )-151(X)]TJ -0 -1.25 TD -[(10.6.8 supports a limit of 513 bytes, wher)18(eas Solaris 10 places the limit at 1,024 bytes.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46827 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.1)]TJ -21.8583 Tc 4.888 0 Td -(1C)Tj -0 Tc 23.067 0 Td -[(hanging )-250(User )-250(IDs )-250(and )-250(Gr)18(oup )-250(IDs)]TJ -/T1_1 1 Tf -17.878 0 Td -(255)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-4800(i;)]TJ -T* -[(char )-4200(**ptr;)]TJ -T* -(extern char **environ;)Tj -0 -2.14 TD -[(for \(i = 0; i < argc; i++\))-3600(/* echo all command-line args */)]TJ -2.4 -1.189 Td -(printf\("argv[%d]: %s\\n", i, argv[i]\);)Tj --2.4 -2.14 Td -[(for \(ptr = environ; *ptr != 0; ptr++\))-1800(/* and all env strings */)]TJ -2.4 -1.189 Td -(printf\("%s\\n", *ptr\);)Tj --2.4 -2.14 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4920.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 191.257 476.0009 Tm -(Figure 8.17)Tj -/T1_0 1 Tf -5.695 0 Td -(Echo all command)Tj -8.214 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line ar)18(guments and all envir)18(onment strings)]TJ -9.9988 0 0 9.9988 129.5848 452.0038 Tm -[(When we execute the pr)18(ogram fr)18(om Figur)]TJ -0.25 Tc 18.549 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.16, we get)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5825 435.3058 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(argv[0]: echoall)Tj -0 -1.189 TD -(argv[1]: myarg1)Tj -T* -(argv[2]: MY ARG2)Tj -T* -(USER=unknown)Tj -0 -1.189 TD -(PATH=/tmp)Tj -0.6 Tc 0 -1.189 TD -($a)Tj -0 Tc 1.8 0 Td -(rgv[0]: echoall)Tj --1.8 -1.189 Td -(argv[1]: only 1 arg)Tj -T* -(USER=sar)Tj -T* -(LOGNAME=sar)Tj -T* -(SHELL=/bin/bash)Tj -/T1_2 1 Tf -16 -1.189 Td -(47 mor)Tj -0.25 Tc 2.843 0 Td -(el)Tj -0 Tc 0.917 0 Td -[(ines that ar)18(en\325)]TJ -0.25 Tc 5.723 0 Td -(ts)Tj -0 Tc 0.972 0 Td -(hown)Tj -/TT0 1 Tf --26.455 -1.189 Td -(HOME=/home/sar)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 288.9233 Tm -[(Note )-110(that )-110(the )-110(shell )-110(pr)18(ompt )-110(appear)18(ed )-110(befor)]TJ -0.3599 Tc 19.3 0 Td -(et)Tj -0 Tc 1.165 0 Td -[(he )-110(printing )-110(of)]TJ -/TT0 1 Tf -6.644 0 Td -(argv[0])Tj -/T1_0 1 Tf -4.56 0 Td -[(fr)18(om )-110(the )-110(second)]TJ -/TT0 1 Tf --31.668 -1.2 Td -(exec)Tj -/T1_0 1 Tf -0.5 Tc (.T)Tj -0 Tc 3.763 0 Td -[(his occurr)18(ed because the par)18(ent did not)]TJ -/TT0 1 Tf -17.647 0 Td -(wait)Tj -/T1_0 1 Tf -2.65 0 Td -[(for this child pr)18(ocess to \336nish.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2769.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -11.9978 0 0 11.9978 93.5832 240.9146 Tm -[(8.11 )-776(Changing)-556(User )-278(IDs )-278(and )-278(Gr)20(oup )-278(IDs)]TJ -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 216.9189 Tm -[(In )-45(the )-45(UNIX )-45(System, )-45(privileges, )-45(such )-45(as )-45(being )-45(able )-45(to )-45(change )-45(the )-45(system\325s )-45(notion )-45(of )-45(the)]TJ -0 -1.2 TD -[(curr)18(ent )-41(date, )-41(and )-41(access )-41(contr)16(ol, )-42(such )-42(as )-42(being )-42(able )-42(to )-42(r)18(ead )-42(or )-42(write )-42(a )-42(particular )-42(\336le, )-42(ar)23(e)]TJ --0 -1.2 Td -[(based )-85(on )-85(user )-85(and )-85(gr)18(oup )-85(IDs.)-585(When )-85(our )-85(pr)18(ograms )-85(need )-85(additional )-85(privileges )-85(or )-85(need)]TJ -T* -[(to )-166(gain )-166(access )-166(to )-166(r)16(esour)18(ces )-167(that )-167(they )-167(curr)18(ently )-167(ar)18(en\325t )-167(allowed )-167(to )-167(access, )-167(they )-167(need )-167(to)]TJ -T* -[(change )-176(their )-176(user )-176(or )-176(gr)18(oup )-176(ID )-176(to )-176(an )-176(ID )-176(that )-176(has )-176(the )-176(appr)22(opriate )-176(privilege )-176(or )-176(access.)]TJ -T* -(Similarly)Tj -0.2744 Tc 3.912 0 Td -(,w)Tj -0 Tc 1.358 0 Td -[(hen )-24(our )-24(pr)17(ograms )-24(need )-24(to )-24(lower )-24(their )-24(privileges )-24(or )-24(pr)18(event )-24(access )-24(to )-24(certain)]TJ --0.018 Tc -5.27 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ces, )-44(they )-44(do )-44(so )-44(by )-44(changing )-44(either )-44(their )-44(user )-44(ID )-44(or )-44(gr)18(oup )-44(ID )-44(to )-44(an )-44(ID )-44(without )-44(the)]TJ --0.856 -1.2 Td -[(privilege or ability access to the r)18(esour)18(ce.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46828 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.10)]TJ -/TT0 1 Tf -36.579 0 Td -(exec)Tj -/T1_0 1 Tf -2.9 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(249)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(In )-15(the )-15(pr)18(ogram )-15(shown )-15(in )-15(Figur)]TJ -0.2651 Tc 13.714 0 Td -(e8)Tj -0 Tc 1.244 0 Td -[(.13, )-15(the )-15(par)18(ent )-15(goes )-15(\336rst.)-515(The )-15(child )-15(goes )-15(\336rst )-15(if )-15(we)]TJ --16.758 -1.2 Td -(change the lines following the)Tj -/TT0 1 Tf -13.504 0 Td -(fork)Tj -/T1_0 1 Tf -2.65 0 Td -(to be)Tj -/TT0 1 Tf -0.6 Tc 8.9995 0 0 8.9995 147.5911 640.2616 Tm -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid == 0\) {)Tj -0.6 -1.189 Td -(charatatime\("output from child\\n"\);)Tj -0 -1.189 TD -(TELL_PARENT\(getppid\(\)\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -[(WAIT_CHILD\(\); )-4200(/*)-600(child goes first */)]TJ -0 -1.189 TD -(charatatime\("output from parent\\n"\);)Tj --2.4 -1.189 Td -(})Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 558.0665 Tm -[(Exer)18(cise 8.4 continues this example.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5581.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9986 0 0 11.9986 93.5888 516.0381 Tm -(8.10)Tj -/TT2 1 Tf -3 0 Td -(exec)Tj -/TT1 1 Tf -2.956 0 Td -(Functions)Tj -/T1_0 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5844 492.0409 Tm -[(We )-194(m)]TJ -0 Tc 2.53 0 Td -[(entioned )-10(in )-10(Section )-10(8.3 )-10(that )-10(one )-10(use )-10(of )-10(the)]TJ -/TT0 1 Tf -18.663 0 Td -(fork)Tj -/T1_0 1 Tf -2.66 0 Td -[(function )-10(is )-10(to )-10(cr)18(eate )-10(a )-10(new )-10(pr)20(ocess)]TJ --23.853 -1.2 Td -[(\(the )-64(child\) )-64(that )-64(then )-64(causes )-64(another )-64(pr)20(ogram )-64(to )-64(be )-64(executed )-64(by )-64(calling )-64(one )-64(of )-64(the)]TJ -/TT0 1 Tf -36.6 0 Td -(exec)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(functions. )-361(When)]TJ -0.3606 Tc 7.995 0 Td -(ap)Tj --0.018 Tc 1.462 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-111(calls )-111(one )-111(of )-111(the)]TJ -/TT0 1 Tf -9.397 0 Td -(exec)Tj -/T1_0 1 Tf -2.761 0 Td -[(functions, )-110(that )-110(pr)18(ocess )-110(is )-110(completely)]TJ --0.018 Tc -22.537 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(placed )-284(by )-284(the )-284(new )-284(pr)16(ogram, )-284(and )-284(the )-284(new )-284(pr)18(ogram )-284(starts )-284(executing )-284(at )-284(its)]TJ -/TT0 1 Tf -35.744 0 Td -(main)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(function. )-285(The)-284(pr)18(ocess )-35(ID )-35(does )-35(not )-35(change )-35(acr)20(oss )-34(an)]TJ -/TT0 1 Tf -23.302 0 Td -(exec)Tj -/T1_0 1 Tf -0.2845 Tc (,b)Tj -0 Tc 3.487 0 Td -[(ecause )-34(a )-34(new )-34(pr)18(ocess )-34(is )-34(not)]TJ --26.79 -1.2 Td -[(cr)18(eated;)]TJ -/TT0 1 Tf -4.006 0 Td -(exec)Tj -/T1_0 1 Tf -2.94 0 Td -[(mer)18(ely )-290(r)18(eplaces )-290(the )-290(curr)18(ent )-290(pr)18(ocess )167(\321 )167(its)-541(text, )-290(data, )-290(heap, )-290(and )-290(stack)]TJ --6.946 -1.2 Td -[(segments )167(\321 )167(with)]TJ -0.25 Tc 7.603 0 Td -(ab)Tj -0 Tc 1.303 0 Td -[(rand-new pr)18(ogram fr)18(om disk.)]TJ --7.106 -1.2 Td -(Ther)Tj -0.308 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.287 0 Td -[(re )-94(s)]TJ -0 Tc 1.588 0 Td -[(even )-58(dif)18(fer)18(ent)]TJ -/TT0 1 Tf -6.514 0 Td -(exec)Tj -/T1_0 1 Tf -2.708 0 Td -[(functions, )-58(but )-58(we\325ll )-58(often )-58(simply )-58(r)18(efer )-58(to )-58(\324)38(\324the)]TJ -/TT0 1 Tf -20.652 0 Td -(exec)Tj -/T1_0 1 Tf --36.6 -1.2 Td -(function,\325)Tj -0.4388 Tc 4.198 0 Td -(\325w)Tj -0 Tc 1.551 0 Td -[(hich )-189(means )-189(that )-189(we )-189(could )-189(use )-189(any )-189(of )-189(the )-189(seven )-189(functions.)-687(These )-189(seven)]TJ --5.749 -1.2 Td -[(functions )-116(r)18(ound )-116(out )-116(the )-116(UNIX )-116(System )-116(pr)16(ocess )-116(contr)18(ol )-116(primitives.)]TJ --0.055 Tc 30.268 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj -/TT0 1 Tf -1.274 0 Td -(fork)Tj -/T1_0 1 Tf -[(,)-366(we)-366(c)-1(an)]TJ --32.779 -1.2 Td -[(cr)18(eate )-49(new )-49(pr)18(ocesses; )-49(and )-49(with )-49(the)]TJ -/TT0 1 Tf -15.853 0 Td -(exec)Tj -/T1_0 1 Tf -2.699 0 Td -[(functions, )-49(we )-49(can )-49(initiate )-49(new )-49(pr)20(ograms. )-299(The)]TJ -/TT0 1 Tf --18.551 -1.2 Td -(exit)Tj -/T1_0 1 Tf -2.694 0 Td -[(function )-44(and )-44(the)]TJ -/TT0 1 Tf -7.67 0 Td -(wait)Tj -/T1_0 1 Tf -2.694 0 Td -[(functions )-44(handle )-44(termination )-44(and )-44(waiting )-44(for )-44(termination.)]TJ --13.059 -1.2 Td -[(These )-160(ar)]TJ -0.4097 Tc 3.864 0 Td -(et)Tj -0 Tc 1.215 0 Td -[(he )-160(only )-160(pr)18(ocess )-160(contr)18(ol )-160(primitives )-160(we )-160(need.)]TJ --0.092 Tc 20.821 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-160(use )-160(these )-160(primitives )-160(in)]TJ --27.286 -1.2 Td -(later sections to build additional functions, such as)Tj -/TT0 1 Tf -22.635 0 Td -(popen)Tj -/T1_0 1 Tf -3.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(system)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 135.344 311.2228 Tm -(#include )Tj -0 -2.14 TD -(int execl\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 18.944 0 Td -(onst char *)Tj -/T1_2 1 Tf -[(ar)18(g0)]TJ -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 10.215 0 Td -(.. /* \(char *\)0 */ \);)Tj --29.159 -2.14 Td -(int execv\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 18.944 0 Td -(har *const)Tj -/T1_2 1 Tf -6.6 0 Td -[(ar)18(gv)]TJ -/TT0 1 Tf -([]\);)Tj --25.544 -2.14 Td -(int execle\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 19.544 0 Td -(onst char *)Tj -/T1_2 1 Tf -[(ar)18(g0)]TJ -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 10.215 0 Td -(..)Tj --23.159 -1.189 Td -(/* \(char *\)0, char *const)Tj -/T1_2 1 Tf -15.6 0 Td -(envp)Tj -/TT0 1 Tf -([] */ \);)Tj --22.2 -2.14 Td -(int execve\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 19.544 0 Td -(har *const)Tj -/T1_2 1 Tf -6.6 0 Td -[(ar)18(gv)]TJ -/TT0 1 Tf -([], char *const)Tj -/T1_2 1 Tf -11.415 0 Td -(envp)Tj -/TT0 1 Tf -([]\);)Tj --37.559 -2.14 Td -(int execlp\(const char *)Tj -/T1_2 1 Tf -(\336lename)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 18.962 0 Td -(onst char *)Tj -/T1_2 1 Tf -[(ar)18(g0)]TJ -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 10.215 0 Td -(.. /* \(char *\)0 */ \);)Tj --29.177 -2.14 Td -(int execvp\(const char *)Tj -/T1_2 1 Tf -(\336lename)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 18.962 0 Td -(har *const)Tj -/T1_2 1 Tf -6.6 0 Td -[(ar)18(gv)]TJ -/TT0 1 Tf -([]\);)Tj --25.562 -2.14 Td -(int fexecve\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(har *const)Tj -/T1_2 1 Tf -6.6 0 Td -[(ar)18(gv)]TJ -/TT0 1 Tf -([], char *const)Tj -/T1_2 1 Tf -11.415 0 Td -(envp)Tj -/TT0 1 Tf -([]\);)Tj -/T1_0 1 Tf --10.096 -2.14 Td -[(All seven r)18(eturn:)]TJ -/TT3 1 Tf -7.651 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)74(,)-250(no)-250(r)18(eturn on success)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1398.25 cm -0 0 m -0 1826 l -3900 1826 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46829 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.9)]TJ -36.334 0 Td -[(Race )-250(Conditions)]TJ -/T1_1 1 Tf -9.499 0 Td -(245)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -(8.8)Tj -/TT1 1 Tf -3 0 Td -(wait3)Tj -/TT0 1 Tf -3.556 0 Td -(and)Tj -/TT1 1 Tf -2.334 0 Td -(wait4)Tj -/TT0 1 Tf -3.556 0 Td -(Functions)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5918 644.9613 Tm -[(Most )-280(UNIX )-280(system )-280(implementations )-280(pr)18(ovide )-280(two )-280(additional )-280(functions:)]TJ -/TT2 1 Tf -33.777 0 Td -(wait3)Tj -/T1_0 1 Tf -3.53 0 Td -(and)Tj -/TT2 1 Tf --37.307 -1.2 Td -(wait4)Tj -/T1_0 1 Tf -0.7161 Tc (.H)Tj -0 Tc 4.798 0 Td -(istorically)Tj -0.4661 Tc 4.244 0 Td -(,t)Tj -0 Tc 1.042 0 Td -[(hese )-216(two )-216(variants )-216(descend )-216(fr)18(om )-216(the )-216(BSD )-216(branch )-216(of )-216(the )-216(UNIX)]TJ --10.084 -1.2 Td -[(System. )-387(The)-387(only )-137(featur)]TJ -0.3871 Tc 11.121 0 Td -(ep)Tj --0.018 Tc 1.467 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vided )-137(by )-137(these )-137(two )-137(functions )-137(that )-137(isn\325t )-137(pr)17(ovided )-137(by )-137(the)]TJ -/TT2 1 Tf --13.511 -1.2 Td -(wait)Tj -/T1_0 1 Tf -(,)Tj -/TT2 1 Tf -2.903 0 Td -(waitid)Tj -/T1_0 1 Tf -0.2529 Tc (,a)Tj -0 Tc 4.603 0 Td -(nd)Tj -/TT2 1 Tf -1.446 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.453 0 Td -[(functions )-3(is )-3(an )-3(additional )-3(ar)18(gument )-3(that )-3(allows )-3(the )-3(kernel)]TJ --13.405 -1.2 Td -[(to )-109(r)18(eturn )-109(a )-109(summary )-109(of )-109(the )-109(r)17(esour)18(ces )-109(used )-109(by )-109(the )-109(terminated )-109(pr)18(ocess )-109(and )-109(all )-109(its )-109(child)]TJ --0 -1.2 Td -[(pr)18(ocesses.)]TJ -/TT2 1 Tf -8.9995 0 0 8.9995 147.5905 567.066 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -1.902 TD -(pid_t wait3\(int *)Tj -/T1_2 1 Tf -(statloc)Tj -/TT2 1 Tf -0.6 Tc (,i)Tj -0 Tc 14.628 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(options)Tj -/TT2 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.744 0 Td -(truct rusage *)Tj -/T1_2 1 Tf -(rusage)Tj -/TT2 1 Tf -(\);)Tj --21.172 -1.902 Td -(pid_t wait4\(pid_t)Tj -/T1_2 1 Tf -10.8 0 Td -(pid)Tj -/TT2 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.078 0 Td -(nt *)Tj -/T1_2 1 Tf -(statloc)Tj -/TT2 1 Tf -0.6 Tc (,i)Tj -0 Tc 6.828 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(options)Tj -/TT2 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.744 0 Td -(truct rusage *)Tj -/T1_2 1 Tf -(rusage)Tj -/TT2 1 Tf -(\);)Tj -/T1_0 1 Tf --8.346 -1.902 Td -[(Both r)18(eturn: pr)18(ocess ID if OK, 0, or)]TJ -/TT3 1 Tf -15.56 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4791.25 cm -0 0 m -0 970 l -3900 970 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 464.3843 Tm -[(The )-93(r)18(esour)18(ce )-93(information )-93(includes )-93(such )-93(statistics )-93(as )-93(the )-93(amount )-93(of )-93(user )-93(CPU )-93(time,)]TJ --1.8 -1.2 Td -[(amount )-2(of )-2(system )-2(CPU )-2(time, )-2(number )-2(of )-2(page )-2(faults, )-2(number )-2(of )-2(signals )-2(r)18(eceived, )-2(and )-2(the)]TJ -0 -1.2 TD -[(like. )-454(Refer)-454(to )-204(the)]TJ -/TT2 1 Tf -8.545 0 Td -(getrusage)Tj -/T1_0 1 Tf -5.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.787 -0.04 Td -[(manual )-204(page )-204(for )-204(additional )-204(details.)-703(\(This )-204(r)18(esour)18(ce)]TJ --15.565 -1.2 Td -[(information )-114(dif)18(fers )-114(fr)18(om )-114(the )-114(r)19(esour)18(ce )-114(limits )-114(we )-114(described )-114(in )-114(Section )-114(7.1)57(1.\) )-364(Figur)]TJ -0.3637 Tc 36.462 0 Td -(e8)Tj -0 Tc 1.343 0 Td -[(.1)55(1)]TJ --37.805 -1.2 Td -[(details the various ar)18(guments supported by the)]TJ -/TT2 1 Tf -21.195 0 Td -(wait)Tj -/T1_0 1 Tf -2.65 0 Td -(functions.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1498.25 4024.25 cm -0 0 m -3495 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 345.7698 394.369 Tm -[(Fr)18(eeBSD )-1416(Linux)-1382(Mac OS X)-1198(Solaris)]TJ -1.275 -1.25 Td -[(8.0 )-2993(3.2.0)-2618(10.6.8 )-2868(10)]TJ --25.137 0.625 Td -(Function)Tj -/T1_2 1 Tf -6.276 0 Td -[(pid)-2211(options)-1516(rusage)]TJ -/T1_0 1 Tf -12.133 0 Td -(POSIX.1)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1498.25 3804.25 cm -0 0 m -3495 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1498.25 3784.25 cm -0 0 m -3495 0 l -S -Q -Q -BT -/TT2 1 Tf -7.9981 0 0 7.9981 153.8231 370.3511 Tm -(wait)Tj -/T1_0 1 Tf -4.9125 Tc 20.076 0 Td -(\245\245)Tj -4.262 Tc 10.387 0 Td -(\245\245\245)Tj -/TT2 1 Tf -0 Tc -30.462 -1.25 Td -(waitid)Tj -/T1_0 1 Tf -3.716 Tc 6.747 0 Td -[(\245\245 )-719(\245)]TJ -4.262 Tc 23.715 0 Td -(\245\245\245)Tj -/TT2 1 Tf -0 Tc -30.462 -1.25 Td -(waitpid)Tj -/T1_0 1 Tf -3.716 Tc 6.747 0 Td -[(\245\245 )-719(\245)]TJ -4.262 Tc 18.847 0 Td -(\245\245\245\245)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1498.25 3464.25 cm -0 0 m -3495 0 l -S -Q -Q -BT -/TT2 1 Tf -0 Tc 7.9976 0 0 7.9976 153.8138 338.3385 Tm -(wait3)Tj -/T1_0 1 Tf -3.716 Tc 11.069 0 Td -[(\245\245 )-1915(\245)]TJ -4.262 Tc 19.393 0 Td -(\245\245\245)Tj -/TT2 1 Tf -0 Tc -30.462 -1.25 Td -(wait4)Tj -/T1_0 1 Tf -3.716 Tc 6.747 0 Td -[(\245\245\245 )-1915(\245)]TJ -4.262 Tc 23.715 0 Td -(\245\245\245)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1498.25 3244.25 cm -0 0 m -3495 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3375.25 3244.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2952.25 3244.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2972.25 3244.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2626.25 3244.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2270.25 3244.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1934.25 3244.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4993.25 3244.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1498.25 3244.25 cm -0 0 m -0 780 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 7.9971 0 0 7.9971 194.0901 306.3297 Tm -[(Figure 8.1)37(1)]TJ -/T1_0 1 Tf -5.658 0 Td -[(Ar)18(guments supported by)]TJ -/TT2 1 Tf -11.453 0 Td -(wait)Tj -/T1_0 1 Tf -2.65 0 Td -(functions on various systems)Tj --21.081 -2.5 Td -(The)Tj -/TT2 1 Tf -2.127 0 Td -(wait3)Tj -/T1_0 1 Tf -3.453 0 Td -[(function )-203(was )-203(included )-203(in )-203(earlier )-203(versions )-203(of )-203(the )-203(Single )-203(UNIX )-203(Speci\336cation.)-699(In)]TJ --0.111 Tc -5.579 -1.25 Td -(Ve)Tj -0 Tc 1.09 0 Td -[(rsion )-421(2,)]TJ -/TT2 1 Tf -4.329 0 Td -(wait3)Tj -/T1_0 1 Tf -3.671 0 Td -[(was )-421(moved )-421(to )-421(the )-421(legacy )-421(category;)]TJ -/TT2 1 Tf -18.003 0 Td -(wait3)Tj -/T1_0 1 Tf -3.671 0 Td -[(was )-421(r)18(emoved )-421(fr)18(om )-421(the)]TJ --30.764 -1.25 Td -[(speci\336cation in V)111(ersion 3.)]TJ -/TT0 1 Tf -11.9957 0 0 11.9957 93.566 230.3571 Tm -[(8.9 )-1332(Race)-556(Conditions)]TJ -/T1_0 1 Tf -9.9964 0 0 9.9964 129.5531 206.3657 Tm -[(For )-189(our )-189(purposes, )-189(a )-189(race )-189(condition )-189(occurs )-189(when )-189(multiple )-189(pr)18(ocesses )-189(ar)]TJ -0.4394 Tc 32.468 0 Td -(et)Tj -0 Tc 1.244 0 Td -[(rying )-189(to )-189(do)]TJ --33.712 -1.2 Td -[(something )-93(with )-93(shar)18(ed )-93(data )-93(and )-93(the )-93(\336nal )-93(outcome )-93(depends )-93(on )-93(the )-93(or)19(der )-93(in )-93(which )-93(the)]TJ -T* -[(pr)18(ocesses )-22(r)8(un. )-272(The)]TJ -/TT2 1 Tf -8.761 0 Td -(fork)Tj -/T1_0 1 Tf -2.672 0 Td -[(function )-22(is )-22(a )-22(lively )-22(br)18(eeding )-22(gr)18(ound )-22(for )-22(race )-22(conditions, )-22(if )-22(any)]TJ --11.433 -1.2 Td -[(of )-43(the )-43(logic )-43(after )-43(the)]TJ -/TT2 1 Tf -9.278 0 Td -(fork)Tj -/T1_0 1 Tf -2.693 0 Td -[(either )-43(explicitly )-43(or )-43(implicitly )-43(depends )-43(on )-43(whether )-43(the )-43(par)20(ent)]TJ --11.971 -1.2 Td -[(or )-8(child )-8(r)8(uns )-8(\336rst )-8(after )-8(the)]TJ -/TT2 1 Tf -11.877 0 Td -(fork)Tj -/T1_0 1 Tf -0.5085 Tc (.I)Tj -0.2585 Tc 3.496 0 Td -(ng)Tj -0 Tc 1.396 0 Td -[(eneral, )-8(we )-8(cannot )-8(pr)18(edict )-8(which )-8(pr)18(ocess )-8(r)8(uns )-8(\336rst.)]TJ --16.768 -1.2 Td -[(Even )-66(if )-66(we )-66(knew )-66(which )-66(pr)18(ocess )-66(would )-66(r)9(un )-66(\336rst, )-66(what )-66(happens )-66(after )-66(that )-66(pr)18(ocess )-66(starts)]TJ --0.008 Tc T* -(ru)Tj -0 Tc 0.99 0 Td -(nning depends on the system load and the kernel\325s scheduling algorith\ m.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46830 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(244)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -(8.7)Tj -/TT1 1 Tf -3 0 Td -(waitid)Tj -/TT0 1 Tf -4.156 0 Td -(Function)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(The )-36(Single )-36(UNIX )-36(Speci\336cation )-36(includes )-36(an )-36(additional )-36(function )-36(to )-36(r)22(etrieve )-35(the )-35(exit )-35(status)]TJ -0 -1.2 TD -[(of a pr)18(ocess. )-250(The)]TJ -/TT2 1 Tf -7.848 0 Td -(waitid)Tj -/T1_1 1 Tf -3.85 0 Td -(function is similar to)Tj -/TT2 1 Tf -9.369 0 Td -(waitpid)Tj -/T1_1 1 Tf -0.25 Tc (,b)Tj -0 Tc 5.253 0 Td -[(ut pr)18(ovides extra \337exibility)111(.)]TJ -/TT2 1 Tf -8.9995 0 0 8.9995 147.5911 613.8632 Tm -(#include )Tj -0 -1.902 TD -(int waitid\(idtype_t)Tj -/T1_2 1 Tf -12 0 Td -(idtype)Tj -/TT2 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.3 0 Td -(d_t)Tj -/T1_2 1 Tf -2.4 0 Td -(id)Tj -/TT2 1 Tf -0.6 Tc (,s)Tj -0 Tc 2.578 0 Td -(iginfo_t *)Tj -/T1_2 1 Tf -(infop)Tj -/TT2 1 Tf -0.6 Tc (,i)Tj -0 Tc 9.856 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(options)Tj -/TT2 1 Tf -(\);)Tj -/T1_1 1 Tf --6.083 -1.902 Td -(Returns: 0 if OK,)Tj -/TT3 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5751.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 559.1929 Tm -(Like)Tj -/TT2 1 Tf -2.426 0 Td -(waitpid)Tj -/T1_1 1 Tf -(,)Tj -/TT2 1 Tf -4.939 0 Td -(waitid)Tj -/T1_1 1 Tf -4.089 0 Td -[(allows )-239(a )-239(pr)18(ocess )-239(to )-239(specify )-239(which )-239(childr)18(en )-239(to )-239(wait )-239(for)73(.)]TJ --13.254 -1.2 Td -[(Instead )-8(of )-8(encoding )-8(this )-8(information )-8(in )-8(a )-8(single )-8(ar)16(gument )-8(combined )-8(with )-8(the )-8(pr)18(ocess )-8(ID)]TJ -0 -1.2 TD -[(or )-53(pr)18(ocess )-53(gr)18(oup )-53(ID, )-53(two )-53(separate )-53(ar)20(guments )-53(ar)]TJ -0.3028 Tc 21.416 0 Td -(eu)Tj -0 Tc 1.385 0 Td -[(sed. )-303(The)]TJ -/T1_2 1 Tf -4.294 0 Td -(id)Tj -/T1_1 1 Tf -1.081 0 Td -[(parameter )-53(is )-53(interpr)18(eted)]TJ --28.175 -1.2 Td -(based on the value of)Tj -/T1_2 1 Tf -9.649 0 Td -(idtype)Tj -/T1_1 1 Tf -0.5 Tc (.T)Tj -0 Tc 3.863 0 Td -(he types supported ar)Tj -0.25 Tc 9.66 0 Td -(es)Tj -0 Tc 1.153 0 Td -(ummarized in Figur)Tj -0.25 Tc 8.901 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.9.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1546.25 5032.25 cm -0 0 m -3400 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 158.5915 495.1709 Tm -(Constant )Tj -20.918 0 Td -(Description)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1546.25 4912.25 cm -0 0 m -3400 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1546.25 4892.25 cm -0 0 m -3400 0 l -S -Q -Q -BT -/TT2 1 Tf -7.9981 0 0 7.9981 158.5819 481.1445 Tm -(P_PID)Tj -/T1_1 1 Tf --0.092 Tc 5.495 0 Td -(Wa)Tj -0 Tc 1.408 0 Td -[(it for a particular pr)18(ocess:)]TJ -/T1_2 1 Tf -11.532 0 Td -(id)Tj -/T1_1 1 Tf -1.028 0 Td -[(contains the pr)18(ocess ID of the child to wait for)74(.)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1546.25 4772.25 cm -0 0 m -3400 0 l -S -Q -Q -BT -/TT2 1 Tf -7.9976 0 0 7.9976 158.5724 469.1192 Tm -(P_PGID)Tj -/T1_1 1 Tf --0.092 Tc 5.495 0 Td -(Wa)Tj -0 Tc 1.408 0 Td -[(it for any child pr)18(ocess in a particular pr)18(ocess gr)18(oup:)]TJ -/T1_2 1 Tf -23.49 0 Td -(id)Tj -/T1_1 1 Tf -1.028 0 Td -[(contains the pr)18(ocess)]TJ --25.926 -1.25 Td -[(gr)18(oup ID of the childr)18(en to wait for)74(.)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1546.25 4552.25 cm -0 0 m -3400 0 l -S -Q -Q -BT -/TT2 1 Tf -7.9971 0 0 7.9971 158.5629 447.099 Tm -(P_ALL)Tj -/T1_1 1 Tf --0.092 Tc 5.495 0 Td -(Wa)Tj -0 Tc 1.408 0 Td -[(it for any child pr)18(ocess:)]TJ -/T1_2 1 Tf -10.543 0 Td -(id)Tj -/T1_1 1 Tf -1.028 0 Td -[(is ignor)18(ed.)]TJ -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1546.25 4432.25 cm -0 0 m -3400 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1966.25 4432.25 cm -0 0 m -0 600 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4946.25 4432.25 cm -0 0 m -0 600 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1546.25 4432.25 cm -0 0 m -0 600 l -S -Q -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 247.9079 425.0814 Tm -(Figure 8.9)Tj -/T1_1 1 Tf -4.945 0 Td -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(idtype)Tj -/T1_1 1 Tf -2.75 0 Td -(constants for)Tj -/TT2 1 Tf -5.928 0 Td -(waitid)Tj -/T1_1 1 Tf -9.9958 0 0 9.9958 147.5382 398.6925 Tm -(The)Tj -/T1_2 1 Tf -1.97 0 Td -(options)Tj -/T1_1 1 Tf -3.24 0 Td -[(ar)18(gument )-46(is )-46(a )-46(bitwise )-46(OR )-46(of )-46(the )-46(\337ags )-46(shown )-46(in )-46(Figur)]TJ -0.2958 Tc 23.709 0 Td -(e8)Tj -0 Tc 1.275 0 Td -[(.10. )-296(These)-296(\337ags)]TJ --31.993 -1.2 Td -[(indicate which state changes the caller is inter)18(ested in.)]TJ -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1466.25 3668.25 cm -0 0 m -3560 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 158.5439 358.6878 Tm -(Constant )Tj -21.921 0 Td -(Description)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1466.25 3548.25 cm -0 0 m -3560 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1466.25 3528.25 cm -0 0 m -3560 0 l -S -Q -Q -BT -/TT2 1 Tf -7.9957 0 0 7.9957 150.5187 344.6738 Tm -(WCONTINUED)Tj -/T1_1 1 Tf --0.092 Tc 7.5 0 Td -(Wa)Tj -0 Tc 1.408 0 Td -[(it for a pr)18(ocess that has pr)18(eviously stopped and has been continued, and)]TJ --1.408 -1.25 Td -[(whose status has not yet been r)18(eported.)]TJ -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1466.25 3308.25 cm -0 0 m -3560 0 l -S -Q -Q -BT -/TT2 1 Tf -7.9952 0 0 7.9952 150.5097 322.6663 Tm -(WEXITED)Tj -/T1_1 1 Tf --0.092 Tc 7.5 0 Td -(Wa)Tj -0 Tc 1.408 0 Td -[(it for pr)18(ocesses that have exited.)]TJ -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1466.25 3188.25 cm -0 0 m -3560 0 l -S -Q -Q -BT -/TT2 1 Tf -7.9947 0 0 7.9947 150.5006 310.6549 Tm -(WNOHANG)Tj -/T1_1 1 Tf -7.5 0 Td -[(Return immediately instead of blocking if ther)18(e)-250(is)-250(no)-250(child exit status available.)]TJ -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1466.25 3068.25 cm -0 0 m -3560 0 l -S -Q -Q -BT -/TT2 1 Tf -7.9942 0 0 7.9942 150.4916 298.6449 Tm -(WNOWAIT)Tj -/T1_1 1 Tf -7.5 0 Td -[(Don\325t destr)18(oy the child exit status.)-500(The child\325s exit status can be r)18(etrieved by a)]TJ -0 -1.25 TD -(subsequent call to)Tj -/TT2 1 Tf -8.181 0 Td -(wait)Tj -/T1_1 1 Tf -(,)Tj -/TT2 1 Tf -2.9 0 Td -(waitid)Tj -/T1_1 1 Tf -0.25 Tc (,o)Tj -0 Tc 4.646 0 Td -(r)Tj -/TT2 1 Tf -0.645 0 Td -(waitpid)Tj -/T1_1 1 Tf -(.)Tj -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1466.25 2848.25 cm -0 0 m -3560 0 l -S -Q -Q -BT -/TT2 1 Tf -7.9938 0 0 7.9938 150.4826 276.6441 Tm -(WSTOPPED)Tj -/T1_1 1 Tf --0.092 Tc 7.5 0 Td -(Wa)Tj -0 Tc 1.408 0 Td -[(it for a pr)18(ocess that has stopped and whose status has not yet been r)18(eported.)]TJ -ET -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1466.25 2728.25 cm -0 0 m -3560 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2046.25 2728.25 cm -0 0 m -0 940 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5026.25 2728.25 cm -0 0 m -0 940 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1466.25 2728.25 cm -0 0 m -0 940 l -S -Q -Q -BT -/T1_0 1 Tf -7.9933 0 0 7.9933 244.0309 254.646 Tm -(Figure 8.10)Tj -/T1_1 1 Tf -5.445 0 Td -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(options)Tj -/T1_1 1 Tf -3.194 0 Td -(constants for)Tj -/TT2 1 Tf -5.928 0 Td -(waitid)Tj -/T1_1 1 Tf -9.9916 0 0 9.9916 129.4914 228.2682 Tm -[(At )-99(least )-99(one )-99(of)]TJ -/TT2 1 Tf -7.008 0 Td -(WCONTINUED)Tj -/T1_1 1 Tf -(,)Tj -/TT2 1 Tf -6.599 0 Td -(WEXITED)Tj -/T1_1 1 Tf -0.3495 Tc (,o)Tj -0 Tc 5.346 0 Td -(r)Tj -/TT2 1 Tf -0.744 0 Td -(WSTOPPED)Tj -/T1_1 1 Tf -5.149 0 Td -[(must )-99(be )-99(speci\336ed )-99(in )-99(the)]TJ -/T1_2 1 Tf -11.209 0 Td -(options)Tj -/T1_1 1 Tf --36.056 -1.2 Td -[(ar)18(gument.)]TJ -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.1 0 Td -(infop)Tj -/T1_1 1 Tf -2.482 0 Td -[(ar)18(gument )-176(is )-176(a )-176(pointer )-176(to )-176(a)]TJ -/TT2 1 Tf -12.67 0 Td -(siginfo)Tj -/T1_1 1 Tf -4.626 0 Td -[(str)8(uctur)18(e. )-426(This)-426(str)8(uctur)]TJ -0.4262 Tc 10.721 0 Td -(ec)Tj -0 Tc 1.349 0 Td -(ontains)Tj --35.749 -1.2 Td -[(detailed )-5(information )-5(about )-5(the )-5(signal )-5(generated )-5(that )-5(caused )-5(the )-5(state )-5(change )-5(in )-5(the )-5(child)]TJ -0 -1.2 TD -[(pr)18(ocess. )-250(The)]TJ -/TT2 1 Tf -5.969 0 Td -(siginfo)Tj -/T1_1 1 Tf -4.45 0 Td -[(str)8(uctur)18(e)-250(is)-250(discussed further in Section 10.14.)]TJ -7.9933 0 0 7.9933 183.4458 160.3253 Tm -[(Of )-89(the )-89(four )-89(platforms )-89(cover)18(ed )-89(in )-89(this )-89(book, )-89(only )-89(Linux )-89(3.2.0, )-89(Mac )-89(OS )-89(X )-89(10.6.8, )-89(and )-89(Solaris )-89(10)]TJ -0 -1.25 TD -[(pr)18(ovide )-330(support )-330(for)]TJ -/TT2 1 Tf -9.982 0 Td -(waitid)Tj -/T1_1 1 Tf -0.8305 Tc (.N)Tj -0 Tc 5.512 0 Td -[(ote, )-330(however)]TJ -0.5805 Tc 5.988 0 Td -(,t)Tj -0 Tc 1.156 0 Td -[(hat )-330(Mac )-330(OS )-330(X )-330(10.6.8 )-330(doesn\325t )-330(set )-330(all )-330(the)]TJ --22.637 -1.25 Td -(information we expect in the)Tj -/TT2 1 Tf -12.943 0 Td -(siginfo)Tj -/T1_1 1 Tf -4.45 0 Td -[(str)8(uctur)18(e.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46831 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(236)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(Most )-267(modern )-267(implementations )-267(of)]TJ -/TT0 1 Tf -16.17 0 Td -(exit)Tj -/T1_1 1 Tf -2.917 0 Td -[(do )-267(not )-267(bother )-267(to )-267(close )-267(the )-267(str)17(eams. )-517(Because)-517(the)]TJ --19.087 -1.25 Td -[(pr)18(ocess )-242(is )-242(about )-242(to )-242(exit, )-242(the )-242(kernel )-242(will )-242(close )-242(all )-242(the )-242(\336le )-242(descriptors )-242(open )-242(in )-242(the )-242(pr)16(ocess.)]TJ --0 -1.25 Td -[(Closing them in the library simply adds over)18(head without any bene\336t.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 6450.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 620.9255 Tm -[(Section )-377(5.6 )-377(of )-377(McKusick )-377(et )-377(al.)]TJ -15.365 0.04 Td -([)Tj -0.333 -0.04 Td -(1996)Tj -2 0.04 Td -(])Tj -0.96 -0.04 Td -[(contains )-377(additional )-377(information )-377(on )-377(the)]TJ --20.458 -1.2 Td -[(implementation )-418(issues )-418(of)]TJ -/TT0 1 Tf -12.587 0 Td -(fork)Tj -/T1_1 1 Tf -3.068 0 Td -(and)Tj -/TT0 1 Tf -2.361 0 Td -(vfork)Tj -/T1_1 1 Tf -0.9177 Tc (.E)Tj -0 Tc 4.779 0 Td -[(xer)18(cises )-418(8.1 )-418(and )-418(8.2 )-418(continue )-418(the)]TJ --22.794 -1.2 Td -(discussion of)Tj -/TT0 1 Tf -6.019 0 Td -(vfork)Tj -/T1_1 1 Tf -(.)Tj -/TT1 1 Tf -11.9986 0 0 11.9986 93.5889 560.9327 Tm -(8.5)Tj -/TT2 1 Tf -3 0 Td -(exit)Tj -/TT1 1 Tf -2.956 0 Td -(Functions)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5845 536.9356 Tm -[(As we described in Section 7.3, a pr)18(ocess can terminate normally in \336ve ways:)]TJ -1.8 -2.04 Td -[(1. )-633(Executing)-339(a)]TJ -/TT0 1 Tf -7.219 0 Td -(return)Tj -/T1_1 1 Tf -3.939 0 Td -[(fr)18(om )-89(the)]TJ -/TT0 1 Tf -4.204 0 Td -(main)Tj -/T1_1 1 Tf -2.739 0 Td -[(function. )-339(As)-339(we )-89(saw )-89(in )-89(Section )-89(7.3, )-89(this )-89(is)]TJ --16.469 -1.2 Td -(equivalent to calling)Tj -/TT0 1 Tf -9.253 0 Td -(exit)Tj -/T1_1 1 Tf -(.)Tj --10.886 -1.6 Td -[(2. )-633(Calling)-337(the)]TJ -/TT0 1 Tf -6.914 0 Td -(exit)Tj -/T1_1 1 Tf -2.737 0 Td -[(function. )-337(This)-337(function )-87(is )-87(de\336ned )-87(by )-87(ISO )-87(C )-87(and )-87(includes )-87(the)]TJ --8.019 -1.2 Td -[(calling )-205(of )-205(all )-205(exit )-205(handlers )-205(that )-205(have )-205(been )-205(r)14(egister)18(ed )-205(by )-205(calling)]TJ -/TT0 1 Tf -29.818 0 Td -(atexit)Tj -/T1_1 1 Tf -4.056 0 Td -(and)Tj --33.874 -1.2 Td -[(closing )-340(all )-340(standar)]TJ -0.5899 Tc 8.716 0 Td -(dI)Tj -0 Tc 1.538 0 Td -[(/O )-340(str)18(eams. )-590(Because)-590(ISO )-340(C )-340(does )-340(not )-340(deal )-340(with )-340(\336le)]TJ --10.254 -1.2 Td -[(descriptors, )-315(multiple )-315(pr)18(ocesses )-315(\(par)18(ents )-315(and )-315(childr)17(en\), )-315(and )-315(job )-315(contr)18(ol, )-315(the)]TJ -0 -1.2 TD -(de\336nition of this function is incomplete for a UNIX system.)Tj --1.633 -1.6 Td -[(3. )-633(Calling)-349(the)]TJ -/TT0 1 Tf -6.939 0 Td -(_exit)Tj -/T1_1 1 Tf -3.349 0 Td -(or)Tj -/TT0 1 Tf -1.291 0 Td -(_Exit)Tj -/T1_1 1 Tf -3.349 0 Td -[(function. )-349(ISO)]TJ -0.3495 Tc 6.554 0 Td -(Cd)Tj -0 Tc 1.669 0 Td -(e\336nes)Tj -/TT0 1 Tf -2.918 0 Td -(_Exit)Tj -/T1_1 1 Tf -3.349 0 Td -[(to )-99(pr)18(ovide )-99(a )-99(way)]TJ --27.787 -1.2 Td -[(for )-213(a )-213(pr)18(ocess )-213(to )-213(terminate )-213(without )-213(r)5(unning )-214(exit )-214(handlers )-214(or )-214(signal )-214(handlers.)]TJ -T* -[(Whether )-26(standar)]TJ -0.2758 Tc 7.439 0 Td -(dI)Tj -0 Tc 1.224 0 Td -[(/O )-26(str)18(eams )-26(ar)]TJ -0.2758 Tc 6.234 0 Td -(e\337)Tj -0 Tc 1.363 0 Td -[(ushed )-26(depends )-26(on )-26(the )-26(implementation.)-525(On)]TJ --16.259 -1.2 Td -[(UNIX )-112(systems,)]TJ -/TT0 1 Tf -7.103 0 Td -(_Exit)Tj -/T1_1 1 Tf -3.362 0 Td -(and)Tj -/TT0 1 Tf -2.055 0 Td -(_exit)Tj -/T1_1 1 Tf -3.362 0 Td -(ar)Tj -0.3623 Tc 0.877 0 Td -(es)Tj -0 Tc 1.265 0 Td -[(ynonymous )-112(and )-112(do )-112(not )-112(\337ush )-112(standar)17(d)]TJ --18.025 -1.2 Td -[(I/O )-212(str)18(eams. )-462(The)]TJ -/TT0 1 Tf -8.702 0 Td -(_exit)Tj -/T1_1 1 Tf -3.462 0 Td -[(function )-212(is )-212(called )-212(by)]TJ -/TT0 1 Tf -9.994 0 Td -(exit)Tj -/T1_1 1 Tf -2.862 0 Td -[(and )-212(handles )-212(the )-212(UNIX)]TJ --25.02 -1.2 Td -(system-speci\336c details;)Tj -/TT0 1 Tf -10.385 0 Td -(_exit)Tj -/T1_1 1 Tf -3.25 0 Td -(is speci\336ed by POSIX.1.)Tj -7.999 0 0 7.999 219.5735 344.5586 Tm -[(In )-214(most )-214(UNIX )-214(system )-214(implementations,)]TJ -/TT0 1 Tf -18.86 0 Td -(exit)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.798 -0.04 Td -[(is )-215(a )-215(function )-215(in )-215(the )-215(standar)]TJ -0.4646 Tc 12.825 0 Td -(dC)Tj -0 Tc -35.715 -1.25 Td -(library)Tj -0.25 Tc 2.87 0 Td -(,w)Tj -0 Tc 1.334 0 Td -[(her)18(eas)]TJ -/TT0 1 Tf -3.091 0 Td -(_exit)Tj -/T1_1 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(is a system call.)Tj -9.9988 0 0 9.9988 147.582 313.5624 Tm -[(4. )-633(Executing)-282(a)]TJ -/TT0 1 Tf -7.105 0 Td -(return)Tj -/T1_1 1 Tf -3.882 0 Td -[(fr)18(om )-32(the )-32(start )-32(r)18(outine )-32(of )-32(the )-32(last )-32(thr)18(ead )-32(in )-32(the )-32(pr)19(ocess. )-282(The)]TJ --0.018 Tc -9.354 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-294(value )-294(of )-294(the )-294(thr)18(ead )-294(is )-294(not )-294(used )-294(as )-294(the )-294(r)17(eturn )-294(value )-294(of )-294(the )-294(pr)17(ocess,)]TJ --0.856 -1.2 Td -(however)Tj -0.6089 Tc 3.806 0 Td -(.W)Tj -0 Tc 1.859 0 Td -[(hen )-109(the )-109(last )-109(thr)18(ead )-109(r)18(eturns )-109(fr)18(om )-109(its )-109(start )-109(r)18(outine, )-109(the )-109(pr)18(ocess )-109(exits)]TJ --5.665 -1.2 Td -(with a termination status of 0.)Tj --1.633 -1.6 Td -[(5. )-633(Calling)-441(the)]TJ -/TT0 1 Tf -7.122 0 Td -(pthread_exit)Tj -/T1_1 1 Tf -7.641 0 Td -[(function )-191(fr)18(om )-191(the )-191(last )-191(thr)18(ead )-191(in )-191(the )-191(pr)16(ocess. )-441(As)]TJ --13.131 -1.2 Td -[(with )-20(the )-20(pr)18(evious )-20(case, )-20(the )-20(exit )-20(status )-20(of )-20(the )-20(pr)18(ocess )-20(in )-20(this )-20(situation )-20(is )-20(always )-20(0,)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(gar)18(dless )-183(of )-183(the )-183(ar)18(gument )-183(passed )-183(to)]TJ -/TT0 1 Tf -16.741 0 Td -(pthread_exit)Tj -/T1_1 1 Tf -0.6826 Tc (.W)Tj -0 Tc 9.041 0 Td -[(e\325ll )-183(say )-183(mor)]TJ -0.4326 Tc 5.49 0 Td -(ea)Tj -0 Tc 1.412 0 Td -(bout)Tj -/TT0 1 Tf --33.539 -1.2 Td -(pthread_exit)Tj -/T1_1 1 Tf -7.45 0 Td -[(in Section 1)55(1.5.)]TJ --10.883 -2.04 Td -[(The thr)18(ee forms of abnormal termination ar)18(e)-250(as)-250(follows:)]TJ -1.8 -2.04 Td -[(1. )-633(Calling)]TJ -/TT0 1 Tf -5.374 0 Td -(abort)Tj -/T1_1 1 Tf -0.7714 Tc (.T)Tj -0 Tc 4.634 0 Td -[(his )-271(is )-271(a )-271(special )-271(case )-271(of )-271(the )-271(next )-271(item, )-271(as )-271(it )-271(generates )-271(the)]TJ -/TT0 1 Tf --8.376 -1.2 Td -(SIGABRT)Tj -/T1_1 1 Tf -4.45 0 Td -(signal.)Tj --6.083 -1.6 Td -[(2. )-633(When)-260(the )-10(pr)18(ocess )-10(r)18(eceives )-10(certain )-10(signals.)-512(\(W)]TJ -0.2605 Tc 21.885 0 Td -(ed)Tj -0 Tc 1.351 0 Td -[(escribe )-10(signals )-10(in )-10(mor)]TJ -0.2605 Tc 9.594 0 Td -(ed)Tj -0 Tc 1.351 0 Td -[(etail )-10(in)]TJ --32.547 -1.2 Td -[(Chapter )-115(10.\))-615(The )-115(signal )-115(can )-115(be )-115(generated )-115(by )-115(the )-115(pr)20(ocess )-115(itself )-115(\(e.g., )-115(by )-115(calling)]TJ -T* -(the)Tj -/TT0 1 Tf -1.86 0 Td -(abort)Tj -/T1_1 1 Tf -3.473 0 Td -[(function\), )-223(by )-223(some )-223(other )-223(pr)19(ocess, )-223(or )-223(by )-223(the )-223(kernel.)-723(Examples )-223(of)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46832 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(234)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Some )-105(operating )-105(systems )-105(combine )-105(the )-105(operations )-105(fr)18(om )-105(step )-105(2)]TJ -0.0833 Tc 27.474 0 Td -(\321a)Tj -/TT0 1 Tf -0 Tc 1.939 0 Td -(fork)Tj -/T1_1 1 Tf -2.755 0 Td -[(followed )-105(by )-105(an)]TJ -/TT0 1 Tf --32.168 -1.2 Td -(exec)Tj -/T1_1 1 Tf -0.0833 Tc 2.483 0 Td -(\321i)Tj -0 Tc 1.374 0 Td -[(nto )-73(a )-73(single )-73(operation )-73(called )-73(a)]TJ -/T1_2 1 Tf -13.896 0 Td -(spawn)Tj -/T1_1 1 Tf -0.5729 Tc (.T)Tj -0 Tc 4.047 0 Td -[(he )-73(UNIX )-73(System )-73(separates )-73(the )-73(two, )-73(as)]TJ --21.801 -1.2 Td -(ther)Tj -0.4414 Tc 1.764 0 Td -(ea)Tj --0.018 Tc 1.42 0 Td -[(re )-227(n)]TJ -0 Tc 1.879 0 Td -[(umer)18(ous )-191(cases )-191(wher)17(e)-441(it)-441(is)-441(u)-1(seful )-191(to)]TJ -/TT0 1 Tf -16.964 0 Td -(fork)Tj -/T1_1 1 Tf -2.841 0 Td -[(without )-191(doing )-191(an)]TJ -/TT0 1 Tf -8.501 0 Td -(exec)Tj -/T1_1 1 Tf -0.6915 Tc (.A)Tj -0 Tc 4.119 0 Td -(lso,)Tj --37.489 -1.2 Td -[(separating )-237(the )-237(two )-237(operations )-237(allows )-237(the )-237(child )-237(to )-237(change )-237(the )-237(per)14(-pr)18(ocess )-237(attributes)]TJ -0 -1.2 Td -[(between )-127(the)]TJ -/TT0 1 Tf -5.873 0 Td -(fork)Tj -/T1_1 1 Tf -2.777 0 Td -[(and )-127(the)]TJ -/TT0 1 Tf -3.834 0 Td -(exec)Tj -/T1_1 1 Tf -0.3771 Tc (,s)Tj -0 Tc 3.451 0 Td -[(uch )-127(as )-127(I/O )-127(r)17(edir)18(ection, )-127(user )-127(ID, )-127(signal )-127(disposition,)]TJ --15.936 -1.2 Td -(and so on.)Tj --0.092 Tc 5.041 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll see numer)18(ous examples of this in Chapter 15.)]TJ -7.9995 0 0 7.9995 183.5893 588.9647 Tm -[(The )-28(Single )-28(UNIX )-28(Speci\336cation )-28(does )-28(include)]TJ -/TT0 1 Tf -19.675 0 Td -(spawn)Tj -/T1_1 1 Tf -3.278 0 Td -[(interfaces )-28(in )-28(the )-28(advanced )-28(r)18(eal-time )-28(option)]TJ --22.953 -1.25 Td -[(gr)18(oup. )-413(These)-414(interfaces )-163(ar)]TJ -0.4134 Tc 12.13 0 Td -(en)Tj -0 Tc 1.474 0 Td -[(ot )-163(intended )-163(to )-163(be )-163(r)18(eplacements )-163(for)]TJ -/TT0 1 Tf -16.356 0 Td -(fork)Tj -/T1_1 1 Tf -2.813 0 Td -(and)Tj -/TT0 1 Tf -2.106 0 Td -(exec)Tj -/T1_1 1 Tf -0.4135 Tc (,h)Tj -0 Tc 3.646 0 Td -[(owever)74(.)]TJ --38.526 -1.25 Td -[(They )-251(ar)]TJ -0.5015 Tc 3.609 0 Td -(ei)Tj -0 Tc 1.271 0 Td -[(ntended )-251(to )-251(support )-251(systems )-251(that )-251(have )-251(dif)15(\336culty )-251(implementing)]TJ -/TT0 1 Tf -29.712 0 Td -(fork)Tj -/T1_1 1 Tf -2.901 0 Td -[(ef)18(\336ciently)111(,)]TJ --37.493 -1.25 Td -[(especially systems without har)18(dwar)]TJ -0.25 Tc 15.911 0 Td -(es)Tj -0 Tc 1.153 0 Td -(upport for memory management.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5943 524.1685 Tm -(8.4)Tj -/TT2 1 Tf -3 0 Td -(vfork)Tj -/TT1 1 Tf -3.556 0 Td -(Function)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5921 500.17 Tm -[(The )-20(function)]TJ -/TT0 1 Tf -5.92 0 Td -(vfork)Tj -/T1_1 1 Tf -3.27 0 Td -[(has )-20(the )-20(same )-20(calling )-20(sequence )-20(and )-20(same )-20(r)18(eturn )-20(values )-20(as)]TJ -/TT0 1 Tf -25.408 0 Td -(fork)Tj -/T1_1 1 Tf -0.2698 Tc (,b)Tj -0 Tc 3.473 0 Td -(ut)Tj --38.071 -1.2 Td -[(the semantics of the two functions dif)18(fer)74(.)]TJ -7.9995 0 0 7.9995 183.5889 468.1719 Tm -(The)Tj -/TT0 1 Tf -1.949 0 Td -(vfork)Tj -/T1_1 1 Tf -3.275 0 Td -[(function )-25(originated )-25(with )-25(2.9BSD.)-525(Some )-25(consider )-25(the )-25(function )-25(a )-25(blemish, )-25(but )-25(all )-25(the)]TJ --5.223 -1.25 Td -[(platforms )-141(cover)18(ed )-141(in )-141(this )-141(book )-141(support )-141(it.)-642(In )-141(fact, )-141(the )-141(BSD )-141(developers )-141(r)18(emoved )-141(it )-141(fr)18(om )-141(the)]TJ -0 -1.25 TD -[(4.4BSD )-234(r)18(elease, )-234(but )-234(all )-234(the )-234(open )-234(sour)18(ce )-234(BSD )-234(distributions )-234(that )-234(derive )-234(fr)18(om )-234(4.4BSD )-234(added)]TJ -T* -[(support )-28(for )-28(it )-28(back )-28(into )-28(their )-28(own )-28(r)21(eleases. )-278(The)]TJ -/TT0 1 Tf -21.346 0 Td -(vfork)Tj -/T1_1 1 Tf -3.278 0 Td -[(function )-28(was )-28(marked )-28(as )-28(an )-28(obsolescent)]TJ --24.623 -1.25 Td -[(interface )-51(in )-51(V)112(ersion )-51(3 )-51(of )-51(the )-51(Single )-51(UNIX )-51(Speci\336cation )-51(and )-51(was )-51(r)18(emoved )-51(entir)18(ely )-51(in )-51(V)111(ersion )-51(4.)]TJ --0.092 Tc T* -[(We )-184(i)]TJ -0 Tc 1.928 0 Td -(nclude it her)Tj -0.25 Tc 5.565 0 Td -(ef)Tj -0 Tc 1.062 0 Td -[(or historical r)18(easons only)]TJ -0.5 Tc 10.977 0 Td -(.P)Tj -0 Tc 1.354 0 Td -(ortable applications should not use it.)Tj -9.9994 0 0 9.9994 147.5909 398.1761 Tm -(The)Tj -/TT0 1 Tf -2.193 0 Td -(vfork)Tj -/T1_1 1 Tf -3.519 0 Td -[(function )-269(was )-269(intended )-269(to )-269(cr)19(eate )-269(a )-269(new )-269(pr)18(ocess )-269(for )-269(the )-269(purpose )-269(of)]TJ --7.511 -1.2 Td -[(executing )-201(a )-201(new )-201(pr)18(ogram )-201(\(step )-201(2 )-201(at )-201(the )-201(end )-201(of )-201(the )-201(pr)18(evious )-201(section\), )-201(similar )-201(to )-201(the)]TJ -0 -1.2 TD -[(method )-98(used )-98(by )-98(the )-98(bar)18(e-bones )-98(shell )-98(fr)18(om )-98(Figur)]TJ -0.3476 Tc 21.888 0 Td -(e1)Tj -0 Tc 1.327 0 Td -[(.7. )-348(The)]TJ -/TT0 1 Tf -3.619 0 Td -(vfork)Tj -/T1_1 1 Tf -3.348 0 Td -[(function )-98(cr)18(eates )-98(the)]TJ --30.182 -1.2 Td -[(new )-114(pr)18(ocess, )-114(just )-114(like)]TJ -/TT0 1 Tf -10.101 0 Td -(fork)Tj -/T1_1 1 Tf -0.3642 Tc (,w)Tj -0 Tc 3.848 0 Td -[(ithout )-114(copying )-114(the )-114(addr)18(ess )-114(space )-114(of )-114(the )-114(par)18(ent )-114(into )-114(the)]TJ --13.949 -1.2 Td -[(child, )-126(as )-126(the )-126(child )-126(won\325t )-126(r)16(efer)18(ence )-127(that )-127(addr)18(ess )-127(space; )-127(the )-127(child )-127(simply )-127(calls)]TJ -/TT0 1 Tf -34.949 0 Td -(exec)Tj -/T1_1 1 Tf -2.777 0 Td -(\(or)Tj -/TT0 1 Tf --37.726 -1.2 Td -(exit)Tj -/T1_1 1 Tf -0.3214 Tc (\)r)Tj -0 Tc 3.449 0 Td -[(ight )-71(after )-71(the)]TJ -/TT0 1 Tf -6.139 0 Td -(vfork)Tj -/T1_1 1 Tf -0.5714 Tc (.I)Tj -0 Tc 4.158 0 Td -[(nstead, )-71(the )-71(child )-71(r)8(uns )-71(in )-71(the )-71(addr)18(ess )-71(space )-71(of )-71(the )-71(par)14(ent)]TJ --13.747 -1.2 Td -[(until )-363(it )-363(calls )-363(either)]TJ -/TT0 1 Tf -9.665 0 Td -(exec)Tj -/T1_1 1 Tf -3.013 0 Td -(or)Tj -/TT0 1 Tf -1.554 0 Td -(exit)Tj -/T1_1 1 Tf -0.8633 Tc (.T)Tj -0 Tc 4.126 0 Td -[(his )-363(optimization )-363(is )-363(mor)]TJ -0.6133 Tc 11.341 0 Td -(ee)Tj --0.018 Tc 1.571 0 Td -(f\336)Tj -0 Tc 0.92 0 Td -[(cient )-363(on )-363(some)]TJ --32.191 -1.2 Td -[(implementations )-319(of )-319(the )-319(UNIX )-319(System, )-319(but )-319(leads )-319(to )-319(unde\336ned )-319(r)17(esults )-319(if )-319(the )-319(child)]TJ -T* -[(modi\336es )-221(any )-221(data )-221(\(except )-221(the )-221(variable )-221(used )-221(to )-221(hold )-221(the )-221(r)18(eturn )-221(value )-221(fr)22(om)]TJ -/TT0 1 Tf -35.417 0 Td -(vfork)Tj -/T1_1 1 Tf -(\),)Tj --35.417 -1.2 Td -[(makes )-2(function )-2(calls, )-2(or )-2(r)18(eturns )-2(without )-2(calling)]TJ -/TT0 1 Tf -21.106 0 Td -(exec)Tj -/T1_1 1 Tf -2.652 0 Td -(or)Tj -/TT0 1 Tf -1.193 0 Td -(exit)Tj -/T1_1 1 Tf -0.5023 Tc (.\()Tj -0 Tc 3.485 0 Td -[(As )-2(we )-2(mentioned )-2(in )-2(the)]TJ --28.437 -1.2 Td -[(pr)18(evious )-244(section, )-244(implementations )-244(use )-244(copy-on-write )-244(to )-244(impr)18(ove )-244(the )-244(ef)18(\336ciency )-244(of )-244(a)]TJ -/TT0 1 Tf -T* -(fork)Tj -/T1_1 1 Tf -2.65 0 Td -(followed by an)Tj -/TT0 1 Tf -6.872 0 Td -(exec)Tj -/T1_1 1 Tf -0.25 Tc (,b)Tj -0 Tc 3.453 0 Td -(ut no copying is still faster than some copying.\))Tj --11.175 -1.2 Td -[(Another )-182(dif)18(fer)18(ence )-182(between )-182(the )-182(two )-182(functions )-182(is )-182(that)]TJ -/TT0 1 Tf -24.939 0 Td -(vfork)Tj -/T1_1 1 Tf -3.432 0 Td -[(guarantees )-182(that )-182(the)]TJ --30.171 -1.2 Td -[(child )-61(r)8(uns )-61(\336rst, )-61(until )-61(the )-61(child )-61(calls)]TJ -/TT0 1 Tf -16.04 0 Td -(exec)Tj -/T1_1 1 Tf -2.711 0 Td -(or)Tj -/TT0 1 Tf -1.252 0 Td -(exit)Tj -/T1_1 1 Tf -0.5609 Tc (.W)Tj -0 Tc 4.211 0 Td -[(hen )-61(the )-61(child )-61(calls )-61(either )-61(of )-61(these)]TJ --24.214 -1.2 Td -[(functions, )-249(the )-249(par)18(ent )-249(r)17(esumes. )-499(\(This)-500(can )-249(lead )-249(to )-249(deadlock )-249(if )-249(the )-249(child )-249(depends )-249(on)]TJ --0 -1.2 Td -[(further actions of the par)18(ent befor)]TJ -0.25 Tc 14.895 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(alling either of these two functions.\))Tj -/TT1 1 Tf --19.668 -2.64 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.16 Td -[(The )-42(pr)18(ogram )-42(in )-42(Figur)]TJ -0.2917 Tc 9.663 0 Td -(e8)Tj -0 Tc 1.271 0 Td -[(.3 )-42(is )-42(a )-42(modi\336ed )-42(version )-42(of )-42(the )-42(pr)20(ogram )-42(fr)18(om )-42(Figur)]TJ -0.2918 Tc 22.544 0 Td -(e8)Tj -0 Tc 1.271 0 Td -[(.1. )-292(W)92(e\325ve)]TJ --0.018 Tc -34.749 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(placed )-206(the )-206(call )-206(to)]TJ -/TT0 1 Tf -8.533 0 Td -(fork)Tj -/T1_1 1 Tf -2.856 0 Td -(with)Tj -/TT0 1 Tf -2.489 0 Td -(vfork)Tj -/T1_1 1 Tf -3.456 0 Td -[(and )-205(r)18(emoved )-205(the)]TJ -/TT0 1 Tf -8.387 0 Td -(write)Tj -/T1_1 1 Tf -3.456 0 Td -[(to )-205(standar)]TJ -0.4555 Tc 4.647 0 Td -(do)Tj -0 Tc 1.612 0 Td -(utput.)Tj --36.291 -1.2 Td -[(Also, )-45(we )-45(don\325t )-45(need )-45(to )-45(have )-45(the )-45(par)18(ent )-45(call)]TJ -/TT0 1 Tf -19.523 0 Td -(sleep)Tj -/T1_1 1 Tf -[(,)-295(as)-295(w)1(e\325r)]TJ -0.2946 Tc 6.731 0 Td -(eg)Tj -0 Tc 1.33 0 Td -[(uaranteed )-45(that )-45(it )-45(is )-45(put )-45(to)]TJ --27.584 -1.2 Td -(sleep by the kernel until the child calls either)Tj -/TT0 1 Tf -20.003 0 Td -(exec)Tj -/T1_1 1 Tf -2.65 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(exit)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46833 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.3)]TJ -/TT0 1 Tf -37.003 0 Td -(fork)Tj -/T1_0 1 Tf -2.9 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(229)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -(8.3)Tj -/TT2 1 Tf -3 0 Td -(fork)Tj -/TT1 1 Tf -2.956 0 Td -(Function)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(An existing pr)18(ocess can cr)18(eate a new one by calling the)]TJ -/TT0 1 Tf -24.454 0 Td -(fork)Tj -/T1_0 1 Tf -2.65 0 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 625.8624 Tm -(#include )Tj -0 -1.902 TD -(pid_t fork\(void\);)Tj -/T1_0 1 Tf -12.903 -1.902 Td -[(Returns: 0 in child, pr)18(ocess ID of child in par)18(ent,)]TJ -/TT3 1 Tf -21.561 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5871.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 571.1915 Tm -[(The )-39(new )-39(pr)18(ocess )-39(cr)18(eated )-39(by)]TJ -/TT0 1 Tf -12.637 0 Td -(fork)Tj -/T1_0 1 Tf -2.689 0 Td -[(is )-39(called )-39(the)]TJ -/T1_2 1 Tf -5.586 0 Td -[(child )-39(pr)18(ocess)]TJ -/T1_0 1 Tf -0.5394 Tc (.T)Tj -0 Tc 6.544 0 Td -[(his )-39(function )-39(is )-39(called )-39(once)]TJ --27.456 -1.2 Td -[(but )-29(r)18(eturns )-29(twice.)-529(The )-29(only )-29(dif)20(fer)18(ence )-29(in )-29(the )-29(r)18(eturns )-29(is )-29(that )-29(the )-29(r)21(eturn )-29(value )-29(in )-29(the )-29(child)]TJ --0 -1.2 Td -[(is )-167(0, )-167(wher)18(eas )-167(the )-167(r)18(eturn )-167(value )-167(in )-167(the )-167(par)18(ent )-167(is )-167(the )-167(pr)18(ocess )-167(ID )-167(of )-167(the )-167(new )-167(child.)-664(The)]TJ --0.018 Tc 0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ason )-94(the )-94(child\325s )-94(pr)18(ocess )-94(ID )-94(is )-94(r)18(eturned )-94(to )-94(the )-94(par)18(ent )-94(is )-94(that )-94(a )-94(pr)17(ocess )-94(can )-94(have )-94(mor)17(e)]TJ --0.856 -1.2 Td -[(than )-1(one )-1(child, )-1(and )-1(ther)18(e)-251(is)-251(no)-251(function )-1(that )-1(allows )-1(a )-1(pr)18(ocess )-1(to )-1(obtain )-1(the )-1(pr)18(ocess )-1(IDs )-1(of)]TJ -0 -1.2 Td -[(its )-120(childr)18(en. )-370(The)]TJ --0.018 Tc 7.981 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ason)Tj -/TT0 1 Tf -2.422 0 Td -(fork)Tj -/T1_0 1 Tf --0.018 Tc 2.77 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-120(0 )-120(to )-120(the )-120(child )-120(is )-120(that )-120(a )-120(pr)18(ocess )-120(can )-120(have )-120(only )-120(a)]TJ --14.885 -1.2 Td -[(single )-165(par)18(ent, )-165(and )-165(the )-165(child )-165(can )-165(always )-165(call)]TJ -/TT0 1 Tf -20.513 0 Td -(getppid)Tj -/T1_0 1 Tf -4.615 0 Td -[(to )-165(obtain )-165(the )-165(pr)18(ocess )-165(ID )-165(of )-165(its)]TJ --25.128 -1.2 Td -[(par)18(ent. )-271(\(Pr)18(ocess )-21(ID )-21(0 )-21(is )-21(r)18(eserved )-21(for )-21(use )-21(by )-21(the )-21(kernel, )-21(so )-21(it\325s )-21(not )-21(possible )-21(for )-21(0 )-21(to )-21(be )-21(the)]TJ -0 -1.2 TD -[(pr)18(ocess ID of a child.\))]TJ -1.8 -1.2 Td -[(Both )-103(the )-103(child )-103(and )-103(the )-103(par)19(ent )-103(continue )-103(executing )-103(with )-103(the )-103(instr)8(uction )-103(that )-103(follows)]TJ --1.8 -1.2 Td -[(the )-14(call )-14(to)]TJ -/TT0 1 Tf -4.577 0 Td -(fork)Tj -/T1_0 1 Tf -0.514 Tc (.T)Tj -0 Tc 3.777 0 Td -[(he )-14(child )-14(is )-14(a )-14(copy )-14(of )-14(the )-14(par)18(ent. )-264(For)-264(example, )-14(the )-14(child )-14(gets )-14(a )-14(copy )-14(of)]TJ --8.354 -1.2 Td -[(the )-1(par)18(ent\325s )-1(data )-1(space, )-1(heap, )-1(and )-1(stack.)-504(Note )-1(that )-1(this )-1(is )-1(a )-1(copy )-1(for )-1(the )-1(child; )-1(the )-1(par)15(ent)]TJ -T* -[(and )-22(the )-22(child )-22(do )-22(not )-22(shar)]TJ -0.2725 Tc 11.156 0 Td -(et)Tj -0 Tc 1.077 0 Td -[(hese )-22(portions )-22(of )-22(memory)]TJ -0.5225 Tc 11.003 0 Td -(.T)Tj -0 Tc 1.386 0 Td -[(he )-22(par)18(ent )-22(and )-22(the )-22(child )-22(do )-22(shar)15(e)]TJ --24.621 -1.2 Td -(the text segment, however \(Section 7.6\).)Tj -1.8 -1.2 Td -[(Modern )-20(implementations )-20(don\325t )-20(perform )-20(a )-20(complete )-20(copy )-20(of )-20(the )-20(par)18(ent\325s )-20(data, )-20(stack,)]TJ --1.8 -1.2 Td -[(and )-236(heap, )-236(since )-236(a)]TJ -/TT0 1 Tf -8.768 0 Td -(fork)Tj -/T1_0 1 Tf -2.886 0 Td -[(is )-236(often )-236(followed )-236(by )-236(an)]TJ -/TT0 1 Tf -11.532 0 Td -(exec)Tj -/T1_0 1 Tf -0.7358 Tc (.I)Tj -0 Tc 3.723 0 Td -[(nstead, )-236(a )-236(technique )-236(called)]TJ -/T1_2 1 Tf --26.908 -1.2 Td -(copy-on-write)Tj -/T1_0 1 Tf -5.94 0.04 Td -(\()Tj -0.333 -0.04 Td -(COW)Tj -2.495 0.04 Td -(\))Tj -0.645 -0.04 Td -[(is )-62(used.)-562(These )-62(r)18(egions )-62(ar)]TJ -0.3118 Tc 11.288 0 Td -(es)Tj -0 Tc 1.215 0 Td -[(har)18(ed )-62(by )-62(the )-62(par)18(ent )-62(and )-62(the )-62(child )-62(and)]TJ --21.916 -1.2 Td -[(have )-243(their )-243(pr)18(otection )-243(changed )-243(by )-243(the )-243(kernel )-243(to )-243(r)17(ead-only)]TJ -0.7432 Tc 26.73 0 Td -(.I)Tj -0.4932 Tc 1.33 0 Td -(fe)Tj -0 Tc 1.305 0 Td -[(ither )-243(pr)18(ocess )-243(tries )-243(to)]TJ --29.365 -1.2 Td -[(modify )-230(these )-230(r)18(egions, )-230(the )-230(kernel )-230(then )-230(makes )-230(a )-230(copy )-230(of )-230(that )-230(piece )-230(of )-230(memory )-230(only)115(,)]TJ -T* -[(typically )-61(a )-61(\324)37(\324page\325)37(\325)-311(in)-311(a)-311(v)-1(irtual )-61(memory )-61(system.)-561(Section )-61(9.2 )-61(of )-61(Bach)]TJ -30.401 0.04 Td -([)Tj -0.333 -0.04 Td -(1986)Tj -2 0.04 Td -(])Tj -0.644 -0.04 Td -[(and )-61(Sections)]TJ --33.379 -1.2 Td -(5.6 and 5.7 of McKusick et al.)Tj -13.102 0.04 Td -([)Tj -0.333 -0.04 Td -(1996)Tj -2 0.04 Td -(])Tj -0.583 -0.04 Td -[(pr)18(ovide mor)]TJ -0.25 Tc 5.526 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(etail on this featur)18(e.)]TJ --0.092 Tc 7.999 0 0 7.999 183.5782 308.8229 Tm -(Va)Tj -0 Tc 1.13 0 Td -[(riations )-28(of )-28(the)]TJ -/TT0 1 Tf -6.456 0 Td -(fork)Tj -/T1_0 1 Tf -2.678 0 Td -[(function )-28(ar)]TJ -0.2784 Tc 4.862 0 Td -(ep)Tj --0.018 Tc 1.358 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vided )-28(by )-28(some )-28(platforms.)-528(All )-28(four )-28(platforms )-28(discussed)]TJ --17.408 -1.25 Td -(in this book support the)Tj -/TT0 1 Tf -10.83 0 Td -(vfork)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(variant discussed in the next section.)Tj --15.246 -2.125 Td -[(Linux )-153(3.2.0 )-153(also )-153(pr)18(ovides )-153(new )-153(pr)18(ocess )-153(cr)18(eation )-153(thr)18(ough )-153(the)]TJ -/TT0 1 Tf -27.577 0 Td -(clone)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.736 -0.04 Td -[(system )-153(call.)-653(This )-153(is )-153(a)]TJ --32.146 -1.25 Td -[(generalized )-69(form )-69(of)]TJ -/TT0 1 Tf -9.157 0 Td -(fork)Tj -/T1_0 1 Tf -2.719 0 Td -[(that )-69(allows )-69(the )-69(caller )-69(to )-69(contr)16(ol )-69(what )-69(is )-69(shar)18(ed )-69(between )-69(par)18(ent )-69(and)]TJ --11.876 -1.25 Td -(child.)Tj -0 -2.125 TD -[(Fr)18(eeBSD )-118(8.0 )-118(pr)18(ovides )-118(the)]TJ -/TT0 1 Tf -11.805 0 Td -(rfork)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.701 -0.04 Td -[(system )-118(call, )-118(which )-118(is )-118(similar )-118(to )-118(the )-118(Linux)]TJ -/TT0 1 Tf -19.2 0 Td -(clone)Tj -/T1_0 1 Tf -3.368 0 Td -(system)Tj --38.908 -1.25 Td -[(call. )-250(The)]TJ -/TT0 1 Tf -4.2 0 Td -(rfork)Tj -/T1_0 1 Tf -3.25 0 Td -[(call is derived fr)18(om the Plan 9 operating system \(Pike et al.)]TJ -26.152 0.04 Td -([)Tj -0.333 -0.04 Td -(1995)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -(\).)Tj --36.268 -2.125 Td -[(Solaris )-39(10 )-39(pr)18(ovides )-39(two )-39(thr)18(eads )-39(libraries: )-39(one )-39(for )-39(POSIX )-39(thr)18(eads )-39(\(pthr)16(eads\) )-39(and )-39(one )-39(for )-39(Solaris)]TJ -0 -1.25 TD -[(thr)18(eads. )-311(In)-312(pr)18(evious )-62(r)18(eleases, )-62(the )-62(behavior )-62(of)]TJ -/TT0 1 Tf -20.665 0 Td -(fork)Tj -/T1_0 1 Tf -2.712 0 Td -[(dif)18(fer)18(ed )-62(between )-62(the )-62(two )-62(thr)18(ead )-62(libraries.)]TJ --23.377 -1.25 Td -[(For )-90(POSIX )-90(thr)19(eads,)]TJ -/TT0 1 Tf -8.984 0 Td -(fork)Tj -/T1_0 1 Tf -2.74 0 Td -[(cr)18(eated )-90(a )-90(pr)19(ocess )-89(containing )-89(only )-89(the )-89(calling )-89(thr)18(ead, )-89(but )-89(for )-89(Solaris)]TJ --11.724 -1.25 Td -[(thr)18(eads,)]TJ -/TT0 1 Tf -3.833 0 Td -(fork)Tj -/T1_0 1 Tf -2.684 0 Td -[(cr)18(eated )-33(a )-33(pr)18(ocess )-33(containing )-33(copies )-33(of )-33(all )-33(thr)18(eads )-33(fr)18(om )-33(the )-33(pr)13(ocess )-34(of )-34(the )-34(calling)]TJ --6.516 -1.25 Td -[(thr)18(ead. )-292(In)-293(Solaris )-42(10, )-42(this )-42(behavior )-42(has )-42(changed;)]TJ -/TT0 1 Tf -21.9 0 Td -(fork)Tj -/T1_0 1 Tf -2.692 0 Td -[(cr)18(eates )-42(a )-42(child )-42(containing )-42(a )-42(copy )-42(of )-42(the)]TJ --24.592 -1.25 Td -[(calling )-16(thr)18(ead )-16(only)]TJ -0.266 Tc 8.226 0 Td -(,r)Tj -0 Tc 0.893 0 Td -[(egar)18(dless )-16(of )-16(which )-16(thr)18(ead )-16(library )-16(is )-16(used.)-516(Solaris )-16(also )-16(pr)18(ovides )-16(the)]TJ -/TT0 1 Tf -29.881 0 Td -(fork1)Tj -/T1_0 1 Tf --39 -1.25 Td -[(function, )-34(which )-34(can )-34(be )-34(used )-34(to )-34(cr)18(eate )-34(a )-34(pr)21(ocess )-33(that )-33(duplicates )-33(only )-33(the )-33(calling )-33(thr)18(ead, )-33(and )-33(the)]TJ -/TT0 1 Tf -T* -(forkall)Tj -/T1_0 1 Tf -4.502 0 Td -[(function, )-52(which )-52(can )-52(be )-52(used )-52(to )-52(cr)18(eate )-52(a )-52(pr)19(ocess )-52(that )-52(duplicates )-52(all )-52(the )-52(thr)18(eads )-52(in )-52(the)]TJ --4.502 -1.25 Td -[(pr)18(ocess. )-250(Thr)18(eads ar)]TJ -0.25 Tc 8.758 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(iscussed in detail in Chapters 1)Tj -0.25 Tc 13.655 0 Td -(1a)Tj -0 Tc 1.25 0 Td -(nd 12.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46834 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(8)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Pr)15(ocess )-280(Contr)15(ol)]TJ -/TT0 1 Tf -12 0 0 12 93.6002 434.4 Tm -[(8.1 )-1332(Intr)20(oduction)]TJ -/T1_2 1 Tf --0.092 Tc 10 0 0 10 129.6002 410.4 Tm -[(We )-304(n)]TJ -0 Tc 2.339 0 Td -[(ow )-119(turn )-119(to )-119(the )-119(pr)16(ocess )-120(contr)18(ol )-120(pr)18(ovided )-120(by )-120(the )-120(UNIX )-120(System.)-620(This )-120(includes )-120(the)]TJ --2.338 -1.2 Td -[(cr)18(eation )-21(of )-21(new )-21(pr)17(ocesses, )-21(pr)18(ogram )-21(execution, )-21(and )-21(pr)18(ocess )-21(termination.)]TJ --0.092 Tc 32.273 0 Td -[(We )-205(a)]TJ -0 Tc 2.158 0 Td -[(lso )-21(look )-21(at)]TJ --34.431 -1.2 Td -[(the )-14(various )-14(IDs )-14(that )-14(ar)]TJ -0.2639 Tc 9.912 0 Td -(et)Tj -0 Tc 1.069 0 Td -[(he )-14(pr)18(operty )-14(of )-14(the )-14(pr)18(ocess )167(\321 )167(r)17(eal, )-14(ef)18(fective, )-14(and )-14(saved; )-14(user )-14(and)]TJ --10.981 -1.2 Td -[(gr)18(oup )-11(IDs)]TJ -0.0833 Tc 4.562 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -[(nd )-11(how )-11(they\325r)]TJ -0.2611 Tc 6.275 0 Td -(ea)Tj --0.018 Tc 1.24 0 Td -(ff)Tj -0 Tc 0.648 0 Td -[(ected )-11(by )-11(the )-11(pr)18(ocess )-11(contr)18(ol )-11(primitives.)-512(Interpr)18(eter )-11(\336les)]TJ --14.309 -1.2 Td -[(and )-86(the)]TJ -/TT1 1 Tf -3.752 0 Td -(system)Tj -/T1_2 1 Tf -3.936 0 Td -[(function )-86(ar)]TJ -0.336 Tc 4.92 0 Td -(ea)Tj -0 Tc 1.315 0 Td -[(lso )-86(cover)18(ed. )-336(W)]TJ -0.336 Tc 6.842 0 Td -(ec)Tj -0 Tc 1.259 0 Td -[(onclude )-86(the )-86(chapter )-86(by )-86(looking )-86(at )-86(the)]TJ --22.024 -1.2 Td -[(pr)18(ocess )-129(accounting )-129(pr)18(ovided )-129(by )-129(most )-129(UNIX )-129(systems.)-630(This )-129(lets )-129(us )-129(look )-129(at )-129(the )-129(pr)17(ocess)]TJ -0 -1.2 Td -[(contr)18(ol functions fr)18(om a dif)18(fer)18(ent perspective.)]TJ -/TT0 1 Tf -12 0 0 12 93.6005 302.4 Tm -[(8.2 )-1332(Pr)20(ocess )-278(Identi\336er)15(s)]TJ -/T1_2 1 Tf -10 0 0 10 129.6004 278.4 Tm -[(Every )-68(pr)18(ocess )-68(has )-68(a )-68(unique )-68(pr)20(ocess )-68(ID, )-68(a )-68(non-negative )-68(integer)]TJ -0.5678 Tc 27.896 0 Td -(.B)Tj -0 Tc 1.429 0 Td -[(ecause )-68(the )-68(pr)18(ocess )-68(ID)]TJ --29.324 -1.2 Td -[(is )-32(the )-32(only )-32(well-known )-32(identi\336er )-32(of )-32(a )-32(pr)18(ocess )-32(that )-32(is )-32(always )-32(unique, )-32(it )-32(is )-32(often )-32(used )-32(as )-32(a)]TJ -0 -1.2 TD -[(piece )-534(of )-534(other )-534(identi\336ers, )-534(to )-534(guarantee )-534(uniqueness.)-1034(For )-534(example, )-534(applications)]TJ -T* -[(sometimes )-20(include )-20(the )-20(pr)18(ocess )-20(ID )-20(as )-20(part )-20(of )-20(a )-20(\336lename )-20(in )-20(an )-20(attempt )-20(to )-20(generate )-20(unique)]TJ -T* -(\336lenames.)Tj -1.8 -1.2 Td -[(Although )-23(unique, )-23(pr)18(ocess )-23(IDs )-23(ar)]TJ -0.2733 Tc 14.432 0 Td -(er)Tj -0 Tc 1.129 0 Td -[(eused. )-273(As)-274(pr)18(ocesses )-23(terminate, )-23(their )-23(IDs )-23(become)]TJ --17.361 -1.2 Td -[(candidates )-369(for )-369(r)17(euse. )-619(Most)-620(UNIX )-369(systems )-369(implement )-369(algorithms )-369(to )-369(delay )-369(r)15(euse,)]TJ -0 -1.2 Td -[(however)74(,)-293(so)-293(that )-43(newly )-43(cr)18(eated )-43(pr)18(ocesses )-43(ar)]TJ -0.2932 Tc 19.552 0 Td -(ea)Tj -0 Tc 1.272 0 Td -[(ssigned )-43(IDs )-43(dif)18(fer)18(ent )-43(fr)18(om )-43(those )-43(used )-43(by)]TJ --20.824 -1.2 Td -[(pr)18(ocesses )-132(that )-132(terminated )-132(r)19(ecently)]TJ -0.6317 Tc 15.372 0 Td -(.T)Tj -0 Tc 1.495 0 Td -[(his )-132(pr)18(events )-132(a )-132(new )-132(pr)18(ocess )-132(fr)18(om )-132(being )-132(mistaken)]TJ --16.867 -1.2 Td -[(for the pr)18(evious pr)18(ocess to have used the same ID.)]TJ -1.8 -1.2 Td -(Ther)Tj -0.4743 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.453 0 Td -[(re )-260(s)]TJ -0 Tc 1.754 0 Td -[(ome )-224(special )-224(pr)17(ocesses, )-224(but )-224(the )-224(details )-224(dif)18(fer )-224(fr)18(om )-224(implementation )-224(to)]TJ --7.059 -1.2 Td -[(implementation. )-374(Pr)18(ocess )-124(ID )-124(0 )-124(is )-124(usually )-124(the )-124(scheduler )-124(pr)19(ocess )-124(and )-124(is )-124(often )-124(known )-124(as)]TJ --0 -1.2 Td -(the)Tj -/T1_3 1 Tf -1.853 0 Td -(swapper)Tj -/T1_2 1 Tf -0.7164 Tc (.N)Tj -0.4664 Tc 5.13 0 Td -(op)Tj --0.018 Tc 1.613 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(gram )-216(on )-216(disk )-216(corr)18(esponds )-216(to )-216(this )-216(pr)16(ocess, )-216(which )-216(is )-216(part )-216(of )-216(the)]TJ -/T1_4 1 Tf -9 0 0 9 506.101 114 Tm -(227)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46835 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(xii)Tj -/T1_1 1 Tf -3.166 0 Td -(Contents)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 154.7907 667.9599 Tm -[(5.6 )-3012(Reading)-556(and )-278(Wr)-15(iting )-278(a )-278(Stream)-2160(150)]TJ -0 -1.3 TD -[(5.7 )-3012(Line-at-a-Time)-556(I/O )-1882(152)]TJ -T* -[(5.8 )-3012(Standard)-556(I/O )-278(Ef\336ciency)-2160(153)]TJ --0 -1.3 Td -[(5.9 )-3012(Binar)]TJ -0.556 Tc 7.044 0 Td -(yI)Tj -0 Tc 1.334 0 Td -[(/O )-1882(156)]TJ --8.378 -1.3 Td -[(5.10 )-2456(P)50(ositioning )-278(a )-278(Stream)-2160(157)]TJ --0 -1.3 Td -[(5.11 )-2456(F)30(or )253(matted)-556(I/O )-1882(159)]TJ -T* -[(5.12 )-2456(Implementation)-556(Details )-1882(164)]TJ -T* -[(5.13 )-2456(T)120(empor)10(ar )248(y)-556(Files )-1882(167)]TJ -T* -[(5.14 )-2456(Memor)]TJ -0.556 Tc 7.821 0 Td -(yS)Tj -0 Tc 1.723 0 Td -[(treams )-1882(171)]TJ --9.544 -1.3 Td -[(5.15 )-2456(Alter)-25(nativ)25(es )-278(to )-278(Standard )-278(I/O)-2160(174)]TJ -0 -1.3 Td -[(5.16 )-2456(Summar)]TJ -2.16 Tc 8.488 0 Td -(y1)Tj -0 Tc 3.216 0 Td -(75)Tj -/TT1 1 Tf --14.224 -2.47 Td -[(Chapter )-278(6.)-2032(System )-278(Data )-278(Files )-278(and )-278(Inf)20(ormation )]TJ -34.118 0 Td -(177)Tj -/TT0 1 Tf --31.598 -1.82 Td -[(6.1 )-3012(Introduction)-2160(177)]TJ -T* -[(6.2 )-3012(P)40(ass)]TJ --0.01 Tc 6.833 0 Td -(wo)Tj -0 Tc 1.268 0 Td -[(rd )-278(File)-2160(177)]TJ --8.101 -1.3 Td -[(6.3 )-3012(Shado)]TJ -0.556 Tc 7.556 0 Td -(wP)Tj -0 Tc 1.905 0 Td -(ass)Tj --0.01 Tc 1.526 0 Td -(wo)Tj -0 Tc 1.268 0 Td -[(rds )-1882(181)]TJ --12.255 -1.3 Td -[(6.4 )-3012(Group)-556(File )-1882(182)]TJ -T* -[(6.5 )-3012(Supplementar)]TJ -0.556 Tc 10.935 0 Td -(yG)Tj -0 Tc 1.834 0 Td -[(roup )-278(IDs)-2160(183)]TJ --12.769 -1.3 Td -[(6.6 )-3012(Implementation)-556(Diff)30(erences )-1882(184)]TJ -T* -[(6.7 )-3012(Other)-556(Data )-278(Files)-2160(185)]TJ --0 -1.3 Td -[(6.8 )-3012(Login)-556(Accounting )-1882(186)]TJ -T* -[(6.9 )-3012(System)-556(Identi\336cation )-1882(187)]TJ -T* -[(6.10 )-2456(Time)-556(and )-278(Date )-278(Routines)-2160(189)]TJ -0 -1.3 Td -[(6.11 )-2456(Summar)]TJ -2.16 Tc 8.488 0 Td -(y1)Tj -0 Tc 3.216 0 Td -(96)Tj -/TT1 1 Tf --14.224 -2.47 Td -[(Chapter )-278(7.)-2032(Pr)20(ocess )-278(En)40(vir)20(onment )]TJ -34.118 0 Td -(197)Tj -/TT0 1 Tf --31.598 -1.82 Td -[(7.1 )-3012(Introduction)-2160(197)]TJ -T* -(7.2)Tj -/TT2 1 Tf -4.68 0 Td -(main)Tj -/TT0 1 Tf -2.956 0 Td -[(Function )-1882(197)]TJ --7.636 -1.3 Td -[(7.3 )-3012(Process)]TJ --0.12 Tc 8.848 0 Td -(Te)Tj -0.025 Tc 1.047 0 Td -(rm)Tj -0 Tc 1.191 0 Td -[(ination )-1882(198)]TJ --11.086 -1.3 Td -[(7.4 )-3012(Command)]TJ -9.292 0.09 Td -(-)Tj -0.333 -0.09 Td -[(Line )-278(Arguments)-2160(203)]TJ --9.625 -1.3 Td -[(7.5 )-3012(En)20(vironment )-278(List)-2160(203)]TJ -T* -[(7.6 )-3012(Memor)]TJ -0.556 Tc 7.821 0 Td -(yL)Tj --0.03 Tc 1.612 0 Td -[(ay )238(o)]TJ -0 Tc 1.562 0 Td -[(ut )-278(of )-278(a )-278(C )-278(Prog)]TJ --0.01 Tc 7.272 0 Td -(ra)Tj -2.16 Tc 0.879 0 Td -(m2)Tj -0 Tc 3.549 0 Td -(04)Tj --22.695 -1.3 Td -[(7.7 )-3012(Shared)-556(Libr)10(ar )263(ies)-2160(206)]TJ --0 -1.3 Td -[(7.8 )-3012(Memor)]TJ -0.556 Tc 7.821 0 Td -(yA)Tj -0 Tc 1.723 0 Td -[(llocation )-1882(207)]TJ --9.544 -1.3 Td -[(7.9 )-3012(En)20(vironment )-278(V)70(ar )263(iab)20(les )-1882(210)]TJ -0 -1.3 Td -(7.10)Tj -/TT2 1 Tf -4.68 0 Td -(setjmp)Tj -/TT0 1 Tf -4.156 0 Td -(and)Tj -/TT2 1 Tf -2.224 0 Td -(longjmp)Tj -/TT0 1 Tf -4.756 0 Td -[(Functions )-1882(213)]TJ --15.816 -1.3 Td -(7.11)Tj -/TT2 1 Tf -4.68 0 Td -(getrlimit)Tj -/TT0 1 Tf -5.956 0 Td -(and)Tj -/TT2 1 Tf -2.224 0 Td -(setrlimit)Tj -/TT0 1 Tf -5.956 0 Td -[(Functions )-1882(220)]TJ --18.816 -1.3 Td -[(7.12 )-2456(Summar)]TJ -2.16 Tc 8.488 0 Td -(y2)Tj -0 Tc 3.216 0 Td -(25)Tj -/TT1 1 Tf --14.224 -2.47 Td -[(Chapter )-278(8.)-2032(Pr)20(ocess )-278(Contr)20(ol )]TJ -34.118 0 Td -(227)Tj -/TT0 1 Tf --31.598 -1.82 Td -[(8.1 )-3012(Introduction)-2160(227)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46836 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(7.12)]TJ -39.488 0 Td -(Summary)Tj -/T1_1 1 Tf -6.345 0 Td -(225)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Running this pr)18(ogram under Fr)18(eeBSD gives us the following output:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 651.191 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(RLIMIT_AS )-3600(\(infinite\))-1200(\(infinite\))]TJ -0 -1.189 TD -[(RLIMIT_CORE )-2400(\(infinite\))-1200(\(infinite\))]TJ -T* -[(RLIMIT_CPU )-3000(\(infinite\))-1200(\(infinite\))]TJ -T* -[(RLIMIT_DATA )-3000(536870912)-1800(536870912)]TJ -0 -1.189 TD -[(RLIMIT_FSIZE )-1800(\(infinite\))-1200(\(infinite\))]TJ -0 -1.189 TD -[(RLIMIT_MEMLOCK )-600(\(infinite\) )-600(\(infinite\))]TJ -T* -[(RLIMIT_NOFILE )-4800(3520)-4800(3520)]TJ -T* -(RLIMIT_NPROC )Tj -13.2 0 Td -[(1760)-4800(1760)]TJ --13.2 -1.189 Td -[(RLIMIT_NPTS )-2400(\(infinite\))-1200(\(infinite\))]TJ -T* -[(RLIMIT_RSS )-3000(\(infinite\))-1200(\(infinite\))]TJ -T* -[(RLIMIT_SBSIZE )-1200(\(infinite\))-1200(\(infinite\))]TJ -T* -[(RLIMIT_STACK )-3000(67108864)-2400(67108864)]TJ -T* -[(RLIMIT_SWAP )-2400(\(infinite\))-1200(\(infinite\))]TJ -0 -1.189 TD -[(RLIMIT_VMEM )-2400(\(infinite\))-1200(\(infinite\))]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 482.3313 Tm -[(Solaris gives us the following r)18(esults:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 464.562 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(RLIMIT_AS )-3600(\(infinite\))-1200(\(infinite\))]TJ -0 -1.189 TD -[(RLIMIT_CORE )-2400(\(infinite\))-1200(\(infinite\))]TJ -0 -1.189 TD -[(RLIMIT_CPU )-3000(\(infinite\))-1200(\(infinite\))]TJ -0 -1.189 TD -[(RLIMIT_DATA )-2400(\(infinite\))-1200(\(infinite\))]TJ -0 -1.189 TD -[(RLIMIT_FSIZE )-1800(\(infinite\))-1200(\(infinite\))]TJ -0 -1.189 TD -(RLIMIT_NOFILE )Tj -13.8 0 Td -[(256)-4200(65536)]TJ --13.8 -1.189 Td -[(RLIMIT_STACK )-3600(8388608)-1200(\(infinite\))]TJ -T* -[(RLIMIT_VMEM )-2400(\(infinite\))-1200(\(infinite\))]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3719.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 347.8783 Tm -[(Exer)18(cise 10.1)]TJ -0.25 Tc 5.566 0 Td -(1c)Tj -0 Tc 1.194 0 Td -[(ontinues the discussion of r)18(esour)18(ce limits, after we\325ve cover)18(ed signals.)]TJ -/TT2 1 Tf -11.9986 0 0 11.9986 93.5888 313.0824 Tm -[(7.12 )-776(Summar)-10(y)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 290.2852 Tm -[(Understanding )-3(the )-3(envir)18(onment )-3(of )-3(a )-3(C )-3(pr)17(ogram )-3(within )-3(a )-3(UNIX )-3(system\325s )-3(envir)18(onment )-3(is)]TJ -0.2592 Tc 0 -1.2 TD -(ap)Tj -0 Tc 1.36 0 Td -[(r)18(er)18(equisite )-9(to )-9(understanding )-9(the )-9(pr)18(ocess )-9(contr)18(ol )-9(featur)18(es )-9(of )-9(the )-9(UNIX )-9(System.)-511(In )-9(this)]TJ --1.36 -1.2 Td -(chapter)Tj -0.3756 Tc 3.253 0 Td -(,w)Tj -0 Tc 1.46 0 Td -[(e\325ve )-126(looked )-126(at )-126(how )-126(a )-126(pr)18(ocess )-126(is )-126(started, )-126(how )-126(it )-126(can )-126(terminate, )-126(and )-126(how )-126(it\325s)]TJ --4.713 -1.2 Td -[(passed )-50(an )-50(ar)18(gument )-50(list )-50(and )-50(an )-50(envir)19(onment. )-300(Although)-300(both )-50(the )-50(ar)18(gument )-50(list )-50(and )-50(the)]TJ --0 -1.2 Td -[(envir)18(onment )-84(ar)]TJ -0.3338 Tc 6.903 0 Td -(eu)Tj -0 Tc 1.416 0 Td -[(ninterpr)18(eted )-84(by )-84(the )-84(kernel, )-84(it )-84(is )-84(the )-84(kernel )-84(that )-84(passes )-84(both )-84(fr)20(om )-84(the)]TJ --8.319 -1.2 Td -(caller of)Tj -/TT0 1 Tf -3.779 0 Td -(exec)Tj -/T1_0 1 Tf -2.65 0 Td -[(to the new pr)18(ocess.)]TJ --0.092 Tc -4.629 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-133(also )-133(examined )-133(the )-133(typical )-133(memory )-133(layout )-133(of )-133(a )-133(C )-133(pr)17(ogram )-133(and )-133(seen )-133(how )-133(a)]TJ --3.187 -1.2 Td -[(pr)18(ocess )-54(can )-54(dynamically )-54(allocate )-54(and )-54(fr)18(ee )-54(memory)]TJ -0.5542 Tc 22.52 0 Td -(.I)Tj -0 Tc 1.141 0 Td -[(t)-304(is)-304(worthwhile )-54(to )-54(look )-54(in )-54(detail )-54(at)]TJ --23.661 -1.2 Td -[(the )-118(functions )-118(available )-118(for )-118(manipulating )-118(the )-118(envir)18(onment, )-118(since )-118(they )-118(involve )-118(memory)]TJ -T* -[(allocation. )-402(The)-403(functions)]TJ -/TT0 1 Tf -11.829 0 Td -(setjmp)Tj -/T1_0 1 Tf -4.002 0 Td -(and)Tj -/TT0 1 Tf -2.095 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.602 0 Td -(wer)Tj -0.4024 Tc 1.69 0 Td -(ep)Tj --0.018 Tc 1.482 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sented, )-152(pr)18(oviding )-152(a )-152(way )-152(to)]TJ --26.558 -1.2 Td -[(perform )-9(nonlocal )-9(branching )-9(within )-9(a )-9(pr)20(ocess. )-259(W)]TJ -0.2586 Tc 21.56 0 Td -(e\336)Tj -0 Tc 1.343 0 Td -[(nished )-9(the )-9(chapter )-9(by )-9(describing )-9(the)]TJ --0.018 Tc -22.902 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ce limits that various implementations pr)18(ovide.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46837 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(220)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Envir)18(onment )]TJ -39.241 0 Td -[(Chapter)-500(7)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(#include )-1800()]TJ -0 -2.14 TD -(FILE *)Tj -0 -1.189 TD -(open_data\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(FILE )-1800(*fp;)]TJ -T* -[(char )-1800(databuf[BUFSIZ];)-1200(/* setvbuf makes this the stdio buffer */)]TJ -0 -2.14 TD -(if \(\(fp = fopen\("datafile", "r"\)\) == NULL\))Tj -2.4 -1.189 Td -(return\(NULL\);)Tj --2.4 -1.189 Td -(if \(setvbuf\(fp, databuf, _IOLBF, BUFSIZ\) != 0\))Tj -2.4 -1.189 Td -(return\(NULL\);)Tj --2.4 -1.189 Td -[(return\(fp\); )-2400(/*)-600(error */)]TJ --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5199.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 231.0083 503.8175 Tm -(Figure 7.14)Tj -/T1_1 1 Tf -5.695 0 Td -[(Incorr)18(ect usage of an automatic variable)]TJ -9.9988 0 0 9.9988 129.5846 479.8204 Tm -[(The )-134(pr)18(oblem )-134(is )-134(that )-134(when)]TJ -/TT0 1 Tf -12.251 0 Td -(open_data)Tj -/T1_1 1 Tf --0.018 Tc 5.784 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns, )-134(the )-134(space )-134(it )-134(used )-134(on )-134(the )-134(stack )-134(will )-134(be)]TJ --18.891 -1.2 Td -[(used )-9(by )-9(the )-9(stack )-9(frame )-9(for )-9(the )-9(next )-9(function )-9(that )-9(is )-9(called.)-508(But )-9(the )-9(standar)]TJ -0.259 Tc 33.161 0 Td -(dI)Tj -0 Tc 1.207 0 Td -[(/O )-9(library)]TJ --34.368 -1.2 Td -[(will )-72(still )-72(be )-72(using )-72(that )-72(portion )-72(of )-72(memory )-72(for )-72(its )-72(str)18(eam )-72(buf)18(fer)]TJ -0.5719 Tc 27.91 0 Td -(.C)Tj -0 Tc 1.531 0 Td -[(haos )-72(is )-72(sur)18(e)-322(to)-322(r)18(esult.)]TJ --0.092 Tc -29.441 -1.2 Td -[(To )-254(c)]TJ -0 Tc 1.831 0 Td -[(orr)18(ect )-70(this )-70(pr)18(oblem, )-70(the )-70(array)]TJ -/TT0 1 Tf -13.504 0 Td -(databuf)Tj -/T1_1 1 Tf -4.52 0 Td -[(needs )-70(to )-70(be )-70(allocated )-70(fr)18(om )-70(global )-70(memory)110(,)]TJ --19.855 -1.2 Td -(either statically \()Tj -/TT0 1 Tf -(static)Tj -/T1_1 1 Tf -11.184 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(extern)Tj -/T1_1 1 Tf -[(\))-250(or)-250(dynamically \(one of the)]TJ -/TT0 1 Tf -16.085 0 Td -(alloc)Tj -/T1_1 1 Tf -3.25 0 Td -(functions\).)Tj -/TT1 1 Tf -11.9986 0 0 11.9986 93.589 395.8305 Tm -(7.11)Tj -/TT2 1 Tf -3 0 Td -(getrlimit)Tj -/TT1 1 Tf -5.956 0 Td -(and)Tj -/TT2 1 Tf -2.334 0 Td -(setrlimit)Tj -/TT1 1 Tf -5.956 0 Td -(Functions)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5842 371.8334 Tm -[(Every )-1(pr)18(ocess )-1(has )-1(a )-1(set )-1(of )-1(r)15(esour)18(ce )-1(limits, )-1(some )-1(of )-1(which )-1(can )-1(be )-1(queried )-1(and )-1(changed )-1(by)]TJ --0 -1.2 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(getrlimit)Tj -/T1_1 1 Tf -5.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(setrlimit)Tj -/T1_1 1 Tf -5.65 0 Td -(functions.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5819 340.7371 Tm -(#include )Tj -T* -(int getrlimit\(int)Tj -/T1_2 1 Tf --0.018 Tc 10.8 0 Td -(re)Tj -0 Tc 0.76 0 Td -[(sour)18(ce)]TJ -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.356 0 Td -(truct rlimit *)Tj -/T1_2 1 Tf -(rlptr)Tj -/TT0 1 Tf -(\);)Tj --15.916 -2.14 Td -(int setrlimit\(int)Tj -/T1_2 1 Tf --0.018 Tc 10.8 0 Td -(re)Tj -0 Tc 0.76 0 Td -[(sour)18(ce)]TJ -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.356 0 Td -(onst struct rlimit *)Tj -/T1_2 1 Tf -(rlptr)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -9.335 -2.14 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT3 1 Tf -9.213 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2785.25 cm -0 0 m -0 713 l -3900 713 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 183.567 254.5522 Tm -[(These )-234(two )-234(functions )-234(ar)]TJ -0.484 Tc 10.743 0 Td -(ed)Tj -0 Tc 1.574 0 Td -[(e\336ned )-234(in )-234(the )-234(XSI )-234(option )-234(in )-234(the )-234(Single )-234(UNIX )-234(Speci\336cation.)-735(The)]TJ --0.018 Tc -12.317 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ce )-304(limits )-304(for )-304(a )-304(pr)18(ocess )-304(ar)]TJ -0.5544 Tc 14.097 0 Td -(en)Tj -0 Tc 1.615 0 Td -[(ormally )-304(established )-304(by )-304(pr)18(ocess )-304(0 )-304(when )-304(the )-304(system )-304(is)]TJ --16.568 -1.25 Td -[(initialized )-138(and )-138(then )-138(inherited )-138(by )-138(each )-138(successive )-138(pr)18(ocess. )-388(Each)-388(implementation )-138(has )-138(its )-138(own)]TJ -0 -1.25 Td -(way of tuning the various limits.)Tj -9.9982 0 0 9.9982 147.574 198.5623 Tm -[(Each )-227(call )-227(to )-227(these )-227(two )-227(functions )-227(speci\336es )-227(a )-227(single)]TJ -/T1_2 1 Tf --0.018 Tc 23.827 0 Td -(re)Tj -0 Tc 0.76 0 Td -[(sour)18(ce)]TJ -/T1_1 1 Tf -3.033 0 Td -[(and )-227(a )-227(pointer )-227(to )-227(the)]TJ --29.42 -1.2 Td -[(following str)8(uctur)18(e:)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.5738 169.8674 Tm -(struct rlimit {)Tj -1.2 -1.189 Td -[(rlim_t )-600(rlim_cur; )-600(/*)-600(soft limit: current limit */)]TJ -0 -1.189 TD -[(rlim_t )-600(rlim_max; )-600(/*)-600(hard limit: maximum value for rlim_cur */)]TJ --1.2 -1.189 Td -(};)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46838 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(7.10)]TJ -/TT0 1 Tf -28.486 0 Td -(setjmp)Tj -/T1_0 1 Tf -4.1 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.7 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(213)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(pr)18(ocess )-103(and )-103(so )-103(can\325t )-103(expand )-103(upwar)18(d; )-103(it )-103(can\325t )-103(be )-103(expanded )-103(downwar)18(d, )-103(because )-103(all )-103(the)]TJ -0 -1.2 TD -(stack frames below it can\325t be moved.)Tj -1.8 -1.8 Td -[(1. )-633(If)-250(we\325r)]TJ -0.25 Tc 4.521 0 Td -(em)Tj -0 Tc 1.612 0 Td -(odifying an existing)Tj -/T1_2 1 Tf -9.063 0 Td -(name:)Tj -/T1_0 1 Tf --13.563 -1.8 Td -[(a. )-633(If)-381(the )-131(size )-131(of )-131(the )-131(new)]TJ -/T1_2 1 Tf -11.83 0 Td -(value)Tj -/T1_0 1 Tf -2.548 0 Td -[(is )-131(less )-131(than )-131(or )-131(equal )-131(to )-131(the )-131(size )-131(of )-131(the )-131(existing)]TJ -/T1_2 1 Tf --12.745 -1.2 Td -(value)Tj -/T1_0 1 Tf -[(,)-250(we)-250(can just copy the new string over the old string.)]TJ --1.633 -1.6 Td -[(b. )-580(If)-417(the )-167(size )-167(of )-167(the )-167(new)]TJ -/T1_2 1 Tf -12.047 0 Td -(value)Tj -/T1_0 1 Tf -2.584 0 Td -[(is )-167(lar)18(ger )-167(than )-167(the )-167(old )-167(one, )-167(however)74(,)-417(we)-417(must)]TJ -/TT0 1 Tf --12.998 -1.2 Td -(malloc)Tj -/T1_0 1 Tf -3.909 0 Td -[(to )-59(obtain )-59(r)18(oom )-59(for )-59(the )-59(new )-59(string, )-59(copy )-59(the )-59(new )-59(string )-59(to )-59(this )-59(ar)17(ea,)]TJ --3.909 -1.2 Td -[(and )-127(then )-127(r)18(eplace )-127(the )-127(old )-127(pointer )-127(in )-127(the )-127(envir)18(onment )-127(list )-127(for)]TJ -/T1_2 1 Tf -27.593 0 Td -(name)Tj -/T1_0 1 Tf -2.544 0 Td -[(with )-127(the)]TJ --30.137 -1.2 Td -[(pointer to this allocated ar)18(ea.)]TJ --3.266 -1.6 Td -[(2. )-633(If)-530(we\325r)]TJ -0.5299 Tc 4.801 0 Td -(ea)Tj -0 Tc 1.509 0 Td -[(dding )-280(a )-280(new)]TJ -/T1_2 1 Tf -6.636 0 Td -(name)Tj -/T1_0 1 Tf -0.5299 Tc (,i)Tj -0 Tc 3.238 0 Td -[(t\325s )-280(mor)]TJ -0.5298 Tc 3.364 0 Td -(ec)Tj -0 Tc 1.453 0 Td -[(omplicated. )-530(First,)-530(we )-280(have )-280(to )-280(call)]TJ -/TT0 1 Tf --19.367 -1.2 Td -(malloc)Tj -/T1_0 1 Tf -3.976 0 Td -[(to )-126(allocate )-126(r)18(oom )-126(for )-126(the)]TJ -/T1_2 1 Tf -11.145 0 Td -(name=value)Tj -/T1_0 1 Tf -5.316 0 Td -[(string )-127(and )-127(copy )-127(the )-127(string )-127(to )-127(this)]TJ --20.437 -1.2 Td -[(ar)18(ea.)]TJ -0 -1.8 TD -[(a. )-633(Then,)-312(if )-62(it\325s )-62(the )-62(\336rst )-62(time )-62(we\325ve )-62(added )-62(a )-62(new)]TJ -/T1_2 1 Tf -22.156 0 Td -(name)Tj -/T1_0 1 Tf -[(,)-311(we)-311(h)-1(ave )-61(to )-61(call)]TJ -/TT0 1 Tf -9.811 0 Td -(malloc)Tj -/T1_0 1 Tf --30.334 -1.2 Td -[(to )-71(obtain )-71(r)18(oom )-71(for )-71(a )-71(new )-71(list )-71(of )-71(pointers.)]TJ --0.092 Tc 18.936 0 Td -[(We )-255(c)]TJ -0 Tc 2.152 0 Td -[(opy )-71(the )-71(old )-71(envir)18(onment )-71(list)]TJ --21.088 -1.2 Td -[(to )-122(this )-122(new )-122(ar)18(ea )-122(and )-122(stor)]TJ -0.3724 Tc 11.474 0 Td -(eap)Tj -0 Tc 2.325 0 Td -[(ointer )-122(to )-122(the)]TJ -/T1_2 1 Tf -5.995 0 Td -(name=value)Tj -/T1_0 1 Tf -5.312 0 Td -[(string )-122(at )-122(the )-122(end )-122(of)]TJ --25.106 -1.2 Td -[(this )-145(list )-145(of )-145(pointers.)]TJ --0.092 Tc 9.558 0 Td -[(We )-329(a)]TJ -0 Tc 2.282 0 Td -[(lso )-145(stor)]TJ -0.3951 Tc 3.329 0 Td -(ean)Tj -0 Tc 2.351 0 Td -[(ull )-145(pointer )-145(at )-145(the )-145(end )-145(of )-145(this )-145(list, )-145(of)]TJ --17.52 -1.2 Td -[(course. )-342(Finally)111(,)-342(we)-342(s)-1(et)]TJ -/TT0 1 Tf -10.508 0 Td -(environ)Tj -/T1_0 1 Tf -4.542 0 Td -[(to )-92(point )-92(to )-92(this )-92(new )-92(list )-92(of )-92(pointers.)-594(Note)]TJ --15.051 -1.2 Td -[(fr)18(om )-26(Figur)]TJ -0.276 Tc 4.798 0 Td -(e7)Tj -0 Tc 1.255 0 Td -[(.6 )-26(that )-26(if )-26(the )-26(original )-26(envir)18(onment )-26(list )-26(was )-26(contained )-26(above )-26(the)]TJ --6.053 -1.2 Td -[(top )-89(of )-89(the )-89(stack, )-89(as )-89(is )-89(common, )-89(then )-89(we )-89(have )-89(moved )-89(this )-89(list )-89(of )-89(pointers )-89(to)]TJ -0 -1.2 TD -[(the )-11(heap.)-511(But )-11(most )-11(of )-11(the )-11(pointers )-11(in )-11(this )-11(list )-11(still )-11(point )-11(to)]TJ -/T1_2 1 Tf -25.735 0 Td -(name=value)Tj -/T1_0 1 Tf -5.201 0 Td -(strings)Tj --30.936 -1.2 Td -(above the top of the stack.)Tj --1.633 -1.6 Td -[(b. )-580(If)-365(this )-115(isn\325t )-115(the )-115(\336rst )-115(time )-115(we\325ve )-115(added )-115(new )-115(strings )-115(to )-115(the )-115(envir)13(onment )-115(list,)]TJ -1.633 -1.2 Td -[(then )-51(we )-51(know )-51(that )-51(we\325ve )-51(alr)18(eady )-51(allocated )-51(r)18(oom )-51(for )-51(the )-51(list )-51(on )-51(the )-51(heap, )-51(so)]TJ -T* -[(we )-68(just )-68(call)]TJ -/TT0 1 Tf -5.379 0 Td -(realloc)Tj -/T1_0 1 Tf -4.518 0 Td -[(to )-68(allocate )-68(r)18(oom )-68(for )-68(one )-68(mor)]TJ -0.3176 Tc 12.876 0 Td -(ep)Tj -0 Tc 1.398 0 Td -(ointer)Tj -0.5676 Tc 2.545 0 Td -(.T)Tj -0 Tc 1.431 0 Td -[(he )-68(pointer )-68(to)]TJ --28.146 -1.2 Td -[(the )-215(new)]TJ -/T1_2 1 Tf -4.212 0 Td -(name=value)Tj -/T1_0 1 Tf -5.405 0 Td -[(string )-215(is )-215(stor)18(ed )-215(at )-215(the )-215(end )-215(of )-215(the )-215(list )-215(\(on )-215(top )-215(of )-215(the)]TJ --9.617 -1.2 Td -[(pr)18(evious null pointer\), followed by a null pointer)74(.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5932 302.9818 Tm -(7.10)Tj -/TT2 1 Tf -3 0 Td -(setjmp)Tj -/TT1 1 Tf -4.156 0 Td -(and)Tj -/TT2 1 Tf -2.334 0 Td -(longjmp)Tj -/TT1 1 Tf -4.756 0 Td -(Functions)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5906 278.9833 Tm -[(In )-12(C, )-12(we )-12(can\325t)]TJ -/TT0 1 Tf -6.368 0 Td -(goto)Tj -/T1_0 1 Tf -0.2618 Tc 2.662 0 Td -(al)Tj -0 Tc 1.053 0 Td -[(abel )-12(that\325s )-12(in )-12(another )-12(function.)-511(Instead, )-12(we )-12(must )-12(use )-12(the)]TJ -/TT0 1 Tf -25.317 0 Td -(setjmp)Tj -/T1_0 1 Tf --35.4 -1.2 Td -(and)Tj -/TT0 1 Tf -2.156 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.663 0 Td -[(functions )-213(to )-213(perform )-213(this )-213(type )-213(of )-213(branching.)-713(As )-213(we\325ll )-213(see, )-213(these )-213(two)]TJ --6.819 -1.2 Td -[(functions )-20(ar)]TJ -0.2702 Tc 5.278 0 Td -(eu)Tj -0 Tc 1.352 0 Td -[(seful )-20(for )-20(handling )-20(err)17(or )-20(conditions )-20(that )-20(occur )-20(in )-20(a )-20(deeply )-20(nested )-20(function)]TJ --6.63 -1.2 Td -(call.)Tj -1.8 -1.2 Td -[(Consider )-52(the )-52(skeleton )-52(in )-52(Figur)]TJ -0.3022 Tc 13.572 0 Td -(e7)Tj -0 Tc 1.281 0 Td -[(.9. )-302(It)-303(consists )-52(of )-52(a )-52(main )-52(loop )-52(that )-52(r)18(eads )-52(lines )-52(fr)16(om)]TJ --16.653 -1.2 Td -(standar)Tj -0.2945 Tc 3.32 0 Td -(di)Tj -0 Tc 1.196 0 Td -[(nput )-44(and )-44(calls )-44(the )-44(function)]TJ -/TT0 1 Tf -12.322 0 Td -(do_line)Tj -/T1_0 1 Tf -4.494 0 Td -[(to )-44(pr)18(ocess )-44(each )-44(line.)-544(This )-44(function )-44(then)]TJ --21.333 -1.2 Td -(calls)Tj -/TT0 1 Tf -2.251 0 Td -(get_token)Tj -/T1_0 1 Tf -5.701 0 Td -[(to )-51(fetch )-51(the )-51(next )-51(token )-51(fr)20(om )-51(the )-51(input )-51(line.)-551(The )-51(\336rst )-51(token )-51(of )-51(a )-51(line )-51(is)]TJ --7.951 -1.2 Td -[(assumed )-336(to )-336(be )-336(a )-336(command )-336(of )-336(some )-336(form, )-336(and )-336(a)]TJ -/TT0 1 Tf -24.446 0 Td -(switch)Tj -/T1_0 1 Tf -4.186 0 Td -[(statement )-336(selects )-336(each)]TJ --28.632 -1.2 Td -[(command. )-250(For)-250(the single command shown, the function)]TJ -/TT0 1 Tf -25.217 0 Td -(cmd_add)Tj -/T1_0 1 Tf -4.45 0 Td -(is called.)Tj --27.867 -1.2 Td -[(The )-102(skeleton )-102(in )-102(Figur)]TJ -0.3524 Tc 9.67 0 Td -(e7)Tj -0 Tc 1.331 0 Td -[(.9 )-102(is )-102(typical )-102(for )-102(pr)18(ograms )-102(that )-102(r)16(ead )-102(commands, )-102(determine)]TJ --12.802 -1.2 Td -[(the )-242(command )-242(type, )-242(and )-242(then )-242(call )-242(functions )-242(to )-242(pr)20(ocess )-242(each )-242(command.)-741(Figur)]TJ -0.4916 Tc 36.279 0 Td -(e7)Tj -0 Tc 1.471 0 Td -(.10)Tj --37.75 -1.2 Td -(shows what the stack could look like after)Tj -/TT0 1 Tf -18.773 0 Td -(cmd_add)Tj -/T1_0 1 Tf -4.45 0 Td -(has been called.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46839 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(210)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Envir)18(onment )]TJ -39.241 0 Td -[(Chapter)-500(7)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(jemalloc)Tj -/T1_1 1 Tf -3.6 -1.8 Td -(The)Tj -/TT1 1 Tf -1.966 0 Td -(jemalloc)Tj -/T1_1 1 Tf -5.092 0 Td -[(implementation )-42(of )-42(the)]TJ -/TT1 1 Tf -10.204 0 Td -(malloc)Tj -/T1_1 1 Tf -3.893 0 Td -[(family )-42(of )-42(library )-42(functions )-42(is )-42(the )-42(default)]TJ --21.155 -1.2 Td -[(memory )-289(allocator )-289(in )-289(Fr)18(eeBSD )-289(8.0.)-789(It )-289(was )-289(designed )-289(to )-289(scale )-289(well )-289(when )-289(used )-289(with)]TJ -0 -1.2 TD -[(multithr)18(eaded )-55(applications )-55(r)8(unning )-55(on )-55(multipr)18(ocessor )-55(systems.)-554(Evans)]TJ -31.929 0.04 Td -([)Tj -0.333 -0.04 Td -(2006)Tj -2 0.04 Td -(])Tj -0.638 -0.04 Td -(describes)Tj --34.9 -1.2 Td -(the implementation and evaluates its performance.)Tj -/TT0 1 Tf --3.6 -2.4 Td -(TCMalloc)Tj -/TT1 1 Tf -3.6 -1.8 Td -(TCMalloc)Tj -/T1_1 1 Tf -5.346 0 Td -[(was )-296(designed )-296(as )-296(a )-296(r)18(eplacement )-296(for )-296(the)]TJ -/TT1 1 Tf -19.136 0 Td -(malloc)Tj -/T1_1 1 Tf -4.146 0 Td -[(family )-296(of )-296(functions )-296(to)]TJ --28.627 -1.2 Td -[(pr)18(ovide )-320(high )-320(performance, )-320(scalability)]TJ -0.5705 Tc 17.436 0 Td -(,a)Tj -0 Tc 1.321 0 Td -[(nd )-320(memory )-320(ef)17(\336ciency)]TJ -0.8204 Tc 10.16 0 Td -(.I)Tj -0.5704 Tc 1.407 0 Td -(tu)Tj -0 Tc 1.499 0 Td -[(ses )-320(thr)18(ead)]TJ -4.772 0.09 Td -(-)Tj -0.333 -0.09 Td -(local)Tj --36.928 -1.2 Td -[(caches )-54(to )-54(avoid )-54(locking )-54(over)18(head )-54(when )-54(allocating )-54(buf)18(fers )-54(fr)20(om )-54(and )-54(r)18(eleasing )-54(buf)18(fers )-54(to)]TJ -T* -[(the )-113(cache.)-613(It )-113(also )-113(has )-113(a )-113(heap )-113(checker )-113(and )-113(a )-113(heap )-113(pr)18(o\336ler )-113(built )-113(in )-113(to )-113(aid )-113(in )-113(debugging)]TJ -T* -[(and )-205(analyzing )-205(dynamic )-205(memory )-205(usage.)-705(The)]TJ -/TT1 1 Tf -21.127 0 Td -(TCMalloc)Tj -/T1_1 1 Tf -5.255 0 Td -[(library )-205(is )-205(available )-205(as )-205(open)]TJ --26.382 -1.2 Td -[(sour)18(ce fr)18(om Google.)-500(It is brie\337y described by Ghemawat and Menage)]TJ -31.201 0.04 Td -([)Tj -0.333 -0.04 Td -(2005)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -(.)Tj -/TT0 1 Tf --37.467 -2.4 Td -(alloca)Tj -/TT2 1 Tf -3.878 0 Td -(Function)Tj -/T1_1 1 Tf --0.278 -1.8 Td -[(One )-80(additional )-80(function )-80(is )-80(also )-80(worth )-80(mentioning.)-580(The )-80(function)]TJ -/TT1 1 Tf -29.231 0 Td -(alloca)Tj -/T1_1 1 Tf -3.93 0 Td -[(has )-80(the )-80(same)]TJ --33.161 -1.2 Td -[(calling )-56(sequence )-56(as)]TJ -/TT1 1 Tf -8.849 0 Td -(malloc)Tj -/T1_1 1 Tf -0.3066 Tc (;h)Tj -0 Tc 4.739 0 Td -(owever)Tj -0.3066 Tc 3.224 0 Td -(,i)Tj -0 Tc 0.848 0 Td -[(nstead )-57(of )-57(allocating )-57(memory )-57(fr)18(om )-57(the )-57(heap, )-57(the)]TJ --17.659 -1.2 Td -[(memory )-19(is )-19(allocated )-19(fr)18(om )-19(the )-19(stack )-19(frame )-19(of )-19(the )-19(curr)16(ent )-19(function.)-519(The )-19(advantage )-19(is )-19(that)]TJ -T* -[(we )-73(don\325t )-73(have )-73(to )-73(fr)20(ee )-73(the )-73(space; )-73(it )-73(goes )-73(away )-73(automatically )-73(when )-73(the )-73(function )-73(r)21(eturns.)]TJ -0 -1.2 Td -(The)Tj -/TT1 1 Tf -2.079 0 Td -(alloca)Tj -/T1_1 1 Tf -4.005 0 Td -[(function )-155(incr)18(eases )-155(the )-155(size )-155(of )-155(the )-155(stack )-155(frame.)-655(The )-155(disadvantage )-155(is )-155(that)]TJ --6.084 -1.2 Td -[(some )-100(systems )-100(can\325t )-100(support)]TJ -/TT1 1 Tf -12.875 0 Td -(alloca)Tj -/T1_1 1 Tf -[(,)-350(if)-350(i)-1(t\325s )-100(impossible )-100(to )-100(incr)18(ease )-100(the )-100(size )-100(of )-100(the )-100(stack)]TJ --12.875 -1.2 Td -[(frame )-66(after )-66(the )-66(function )-66(has )-66(been )-66(called.)-566(Nevertheless, )-66(many )-66(softwar)]TJ -0.3159 Tc 31.14 0 Td -(ep)Tj -0 Tc 1.396 0 Td -[(ackages )-66(use )-66(it,)]TJ --32.536 -1.2 Td -(and implementations exist for a wide variety of systems.)Tj -7.9995 0 0 7.9995 183.5889 365.7781 Tm -[(All four platforms discussed in this text pr)18(ovide the)]TJ -/TT1 1 Tf -23.097 0 Td -(alloca)Tj -/T1_1 1 Tf -3.85 0 Td -(function.)Tj -/TT2 1 Tf -11.9993 0 0 11.9993 93.5943 333.38 Tm -[(7.9 )-1332(En)40(vir)20(onment )-278(V)60(ariab)10(les)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5921 311.7813 Tm -(As we mentioned earlier)Tj -0.25 Tc 10.8 0 Td -(,t)Tj -0 Tc 0.826 0 Td -[(he envir)18(onment strings ar)]TJ -0.25 Tc 11.378 0 Td -(eu)Tj -0 Tc 1.332 0 Td -(sually of the form)Tj -/T1_2 1 Tf -8.9995 0 0 8.9995 147.5911 295.0823 Tm -(name)Tj -/TT1 1 Tf -(=)Tj -/T1_2 1 Tf -(value)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 277.0834 Tm -[(The )-109(UNIX )-109(kernel )-109(never )-109(looks )-109(at )-109(these )-109(strings; )-109(their )-109(interpr)17(etation )-109(is )-109(up )-109(to )-109(the )-109(various)]TJ -T* -[(applications. )-504(The)-505(shells, )-254(for )-254(example, )-254(use )-254(numer)18(ous )-254(envir)18(onment )-254(variables.)-756(Some,)]TJ -T* -[(such )-72(as)]TJ -/TT1 1 Tf -3.62 0 Td -(HOME)Tj -/T1_1 1 Tf -2.722 0 Td -(and)Tj -/TT1 1 Tf -2.015 0 Td -(USER)Tj -/T1_1 1 Tf -0.3217 Tc (,a)Tj --0.018 Tc 3.472 0 Td -[(re )-108(s)]TJ -0 Tc 1.602 0 Td -[(et )-72(automatically )-72(at )-72(login; )-72(others )-72(ar)]TJ -0.3218 Tc 15.442 0 Td -(el)Tj -0 Tc 1.092 0 Td -[(eft )-72(for )-72(us )-72(to )-72(set.)]TJ --0.092 Tc 7.649 0 Td -(We)Tj -0 Tc -37.613 -1.2 Td -[(normally )-74(set )-74(envir)18(onment )-74(variables )-74(in )-74(a )-74(shell )-74(start-up )-74(\336le )-74(to )-74(contr)18(ol )-74(the )-74(shell\325s )-74(actions.)]TJ -T* -[(If )-170(we )-170(set )-170(the )-170(envir)18(onment )-170(variable)]TJ -/TT1 1 Tf -16.387 0 Td -(MAILPATH)Tj -/T1_1 1 Tf -0.4203 Tc (,f)Tj -0 Tc 5.803 0 Td -[(or )-170(example, )-170(it )-170(tells )-170(the )-170(Bourne )-170(shell,)]TJ --22.19 -1.2 Td -[(GNU Bourne-again shell, and Korn shell wher)18(e)-250(to)-250(look for mail.)]TJ -1.8 -1.2 Td -[(ISO )-52(C )-52(de\336nes )-52(a )-52(function )-52(that )-52(we )-52(can )-52(use )-52(to )-52(fetch )-52(values )-52(fr)18(om )-52(the )-52(envir)18(onment, )-52(but)]TJ --1.8 -1.2 Td -(this standar)Tj -0.25 Tc 5.193 0 Td -(ds)Tj -0 Tc 1.285 0 Td -[(ays that the contents of the envir)18(onment ar)]TJ -0.25 Tc 18.895 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(mplementation de\336ned.)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5911 176.3894 Tm -(#include )Tj -0 -1.783 TD -(char *getenv\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT1 1 Tf -(\);)Tj -/T1_1 1 Tf -10.699 -1.783 Td -(Returns: pointer to)Tj -/T1_2 1 Tf -8.569 0 Td -(value)Tj -/T1_1 1 Tf -2.417 0 Td -(associated with)Tj -/T1_2 1 Tf -7.078 0 Td -(name)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -2.667 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -(if not found)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1398.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46840 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(7.8)]TJ -34.933 0 Td -[(Memory )-250(Allocation)]TJ -/T1_1 1 Tf -10.9 0 Td -(207)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(an )-102(example )-102(of )-102(the )-102(size )-102(dif)19(fer)18(ences, )-102(the )-102(following )-102(executable )-102(\336le)]TJ -0.0833 Tc 28.808 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-102(classic)]TJ -/TT0 1 Tf -4.583 0 Td -(hello.c)Tj -/T1_0 1 Tf --34.8 -1.2 Td -[(pr)18(ogram )167(\321 )167(was)-251(\336rst cr)18(eated without shar)18(ed libraries:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 640.2616 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(gcc -static hello1.c)Tj -/T1_2 1 Tf -16.4 0 Td -[(pr)18(event gcc fr)18(om using shar)18(ed libraries)]TJ -/TT0 1 Tf --17.6 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(-rwxr-xr-x )-600(1)-600(sar )-2400(879443)-600(Sep 2 10:39 a.out)]TJ -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(size a.out)Tj -/TT0 1 Tf -0.6 -1.189 Td -[(text )-1800(data )-1800(bss)-3000(dec )-2400(hex)-1200(filename)]TJ --1.2 -1.189 Td -[(787775 )-1800(6128)-1200(11272 )-600(805175)-1800(c4937 )-600(a.out)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5921 568.7659 Tm -[(If )-266(we )-266(compile )-266(this )-266(pr)20(ogram )-265(to )-265(use )-265(shar)18(ed )-265(libraries, )-265(the )-265(text )-265(and )-265(data )-265(sizes )-265(of )-265(the)]TJ -0 -1.2 TD -(executable \336le ar)Tj -0.25 Tc 7.422 0 Td -(eg)Tj --0.018 Tc 1.285 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(atly decr)18(eased:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 540.0676 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(gcc hello1.c)Tj -/T1_2 1 Tf -16.4 0 Td -[(gcc defaults to use shar)18(ed libraries)]TJ -/TT0 1 Tf --17.6 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(-rwxr-xr-x )-600(1)-600(sar )-3600(8378)-600(Sep 2 10:39 a.out)]TJ -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(size a.out)Tj -/TT0 1 Tf -0.6 -1.189 Td -[(text )-1800(data )-1800(bss)-3000(dec )-2400(hex)-1200(filename)]TJ -0 -1.189 TD -[(1176 )-2400(504 )-2400(16)-2400(1696 )-2400(6a0)-1200(a.out)]TJ -/TT2 1 Tf -11.9993 0 0 11.9993 93.5942 449.373 Tm -[(7.8 )-1332(Memor)]TJ -0.556 Tc 6.288 0 Td -(yA)Tj -0 Tc 1.834 0 Td -(llocation)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.592 425.3745 Tm -[(ISO C speci\336es thr)18(ee functions for memory allocation:)]TJ -1.8 -1.56 Td -(1.)Tj -/TT0 1 Tf -1.633 0 Td -(malloc)Tj -/T1_0 1 Tf -0.4346 Tc (,w)Tj -0 Tc 5.119 0 Td -[(hich )-185(allocates )-185(a )-185(speci\336ed )-185(number )-185(of )-185(bytes )-185(of )-185(memory)]TJ -0.6847 Tc 24.833 0 Td -(.T)Tj -0 Tc 1.548 0 Td -[(he )-185(initial)]TJ --31.499 -1.2 Td -(value of the memory is indeterminate.)Tj --1.633 -1.6 Td -(2.)Tj -/TT0 1 Tf -1.633 0 Td -(calloc)Tj -/T1_0 1 Tf -0.3612 Tc (,w)Tj -0 Tc 5.045 0 Td -[(hich )-111(allocates )-111(space )-111(for )-111(a )-111(speci\336ed )-111(number )-111(of )-111(objects )-111(of )-111(a )-111(speci\336ed)]TJ --5.045 -1.2 Td -[(size. )-250(The)-250(space is initialized to all 0 bits.)]TJ --1.633 -1.6 Td -(3.)Tj -/TT0 1 Tf -1.633 0 Td -(realloc)Tj -/T1_0 1 Tf -0.358 Tc (,w)Tj -0 Tc 5.642 0 Td -[(hich )-108(incr)18(eases )-108(or )-108(decr)18(eases )-108(the )-108(size )-108(of )-108(a )-108(pr)18(eviously )-108(allocated )-108(ar)17(ea.)]TJ --5.642 -1.2 Td -[(When )-144(the )-144(size )-144(incr)19(eases, )-144(it )-144(may )-144(involve )-144(moving )-144(the )-144(pr)18(eviously )-144(allocated )-144(ar)20(ea)]TJ -0 -1.2 Td -(somewher)Tj -0.2845 Tc 4.604 0 Td -(ee)Tj -0 Tc 1.242 0 Td -[(lse, )-34(to )-34(pr)18(ovide )-34(the )-34(additional )-34(r)18(oom )-34(at )-34(the )-34(end.)-539(Also, )-35(when )-35(the )-35(size)]TJ --5.846 -1.2 Td -[(incr)18(eases, )-57(the )-57(initial )-57(value )-57(of )-57(the )-57(space )-57(between )-57(the )-57(old )-57(contents )-57(and )-57(the )-57(end )-57(of)]TJ -0 -1.2 TD -[(the new ar)18(ea is indeterminate.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5906 285.4829 Tm -(#include )Tj -0 -1.902 TD -(void *malloc\(size_t)Tj -/T1_2 1 Tf -12 0 Td -(size)Tj -/TT0 1 Tf -(\);)Tj --12 -1.902 Td -(void *calloc\(size_t)Tj -/T1_2 1 Tf -12 0 Td -(nobj)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.541 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(size)Tj -/TT0 1 Tf -(\);)Tj --19.141 -1.902 Td -(void *realloc\(void *)Tj -/T1_2 1 Tf -(ptr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 15.022 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(newsize)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --3.29 -1.902 Td -[(All thr)18(ee r)18(eturn: non-null pointer if OK,)]TJ -/TT0 1 Tf -17.781 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --35.763 -1.902 Td -(void free\(void *)Tj -/T1_2 1 Tf -(ptr)Tj -/TT0 1 Tf -(\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1954.25 cm -0 0 m -0 991 l -3900 991 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 181.8782 Tm -[(The )-239(pointer )-239(r)18(eturned )-239(by )-239(the )-239(thr)18(ee )-239(allocation )-239(functions )-239(is )-239(guaranteed )-239(to )-239(be )-239(suitably)]TJ -0 -1.2 TD -[(aligned )-105(so )-105(that )-105(it )-105(can )-105(be )-105(used )-105(for )-105(any )-105(data )-105(object.)-605(For )-105(example, )-105(if )-105(the )-105(most )-105(r)18(estrictive)]TJ -T* -[(alignment )-261(r)18(equir)18(ement )-261(on )-261(a )-261(particular )-261(system )-261(r)16(equir)18(es )-262(that)]TJ -/TT0 1 Tf -28.408 0 Td -(double)Tj -/T1_0 1 Tf -0.5116 Tc (sm)Tj -0 Tc 5.419 0 Td -[(ust )-262(start )-262(at)]TJ --33.827 -1.2 Td -[(memory )-228(locations )-228(that )-228(ar)]TJ -0.4778 Tc 11.736 0 Td -(em)Tj -0 Tc 1.84 0 Td -[(ultiples )-228(of )-228(8, )-228(then )-228(all )-228(pointers )-228(r)19(eturned )-228(by )-228(these )-228(thr)19(ee)]TJ --13.576 -1.2 Td -(functions would be so aligned.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46841 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(206)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Envir)18(onment )]TJ -39.241 0 Td -[(Chapter)-500(7)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2683.68 6350 720 216 re -S -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 295.3503 626.0024 Tm -(stack)Tj -0.044 -10.35 Td -(heap)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2683.68 5054 720 288 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 273.0352 522.9772 Tm -(uninitialized data)Tj -2.879 -1.25 Td -(\(bss\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2683.68 4874 720 180 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 277.758 494.551 Tm -(initialized data)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2683.68 4622 720 252 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 297.7085 472.9265 Tm -(text)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2683.25 6206.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2760.25 6206.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2835.25 6206.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2912.25 6206.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2987.25 6206.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3064.25 6206.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3139.25 6206.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3216.25 6206.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3291.25 6206.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3367.25 6206.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2683.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2760.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2835.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2912.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2987.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3064.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3139.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3216.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3291.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3367.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2683.68 5342 720 1008 re -S -Q -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 304.368 602.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 3043.6799 6026 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3043.25 6206.25 cm -0 0 m -0 -108 l -S -Q -Q -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 304.368 573.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3043.6799 5738 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3043.25 5558.25 cm -0 0 m -0 108 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3516 6521.3599 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3516.25 6521.25 cm -0 0 m -0 -40 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3516.25 6480.25 cm -0 0 m -22 -22 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3539.25 6458.25 cm -0 0 m --23 -23 l --23 -63 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3471.3601 6350 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 355.7545 648.7675 Tm -(command)Tj -4.449 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line ar)18(guments)]TJ --4.782 -1.25 Td -[(and envir)18(onment variables)]TJ -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3516 5297.3599 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3516.25 5297.25 cm -0 0 m -0 -69 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3516.25 5227.25 cm -0 0 m -22 -22 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3539.25 5205.25 cm -0 0 m --23 -22 l --23 -91 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3471.3601 5068.3999 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 355.7332 523.5086 Tm -(initialized to)Tj -0 -1.25 TD -(zer)Tj -0.25 Tc 1.356 0 Td -(ob)Tj -0 Tc 1.349 0 Td -(y)Tj -/TT0 1 Tf -0.806 0 Td -(exec)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3516 4994.96 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3516.25 4995.25 cm -0 0 m -0 -141 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3516.25 4853.25 cm -0 0 m -22 -22 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3539.25 4831.25 cm -0 0 m --23 -23 l --23 -164 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3471.3601 4622 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/T1_1 1 Tf --0.018 Tc 7.9957 0 0 7.9957 355.7119 491.0548 Tm -(re)Tj -0 Tc 0.856 0 Td -[(ad fr)18(om)]TJ --0.856 -1.25 Td -[(pr)18(ogram \336le)]TJ -T* -(by)Tj -/TT0 1 Tf -1.359 0 Td -(exec)Tj -/T1_1 1 Tf --18.238 22.315 Td -[(high addr)18(ess)]TJ -0.34 -23.05 Td -[(low addr)18(ess)]TJ -/T1_0 1 Tf -3.466 -3.555 Td -(Figure 7.6)Tj -/T1_1 1 Tf --0.09 Tc 5.195 -0 Td -(Ty)Tj -0 Tc 1.079 0 Td -(pical memory arrangement)Tj -9.9946 0 0 9.9946 147.5204 412.7772 Tm -(The)Tj -/TT0 1 Tf -2.254 0 Td -(size)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.913 -0.04 Td -[(command )-330(r)18(eports )-330(the )-330(sizes )-330(\(in )-330(bytes\) )-330(of )-330(the )-330(text, )-330(data, )-330(and )-330(bss)]TJ --8.199 -1.2 Td -[(segments. )-250(For)-250(example:)]TJ -/TT0 1 Tf -8.9951 0 0 8.9951 147.5206 384.0927 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(size /usr/bin/cc /bin/sh)Tj -/TT0 1 Tf -0.6 -1.189 Td -[(text )-1800(data)-3000(bss )-2400(dec)-2400(hex )-600(filename)]TJ --1.2 -1.189 Td -[(346919 )-1800(3576 )-1800(6680)-1200(357175 )-600(57337 )-600(/usr/bin/cc)]TJ -0 -1.189 TD -[(102134 )-1800(1776)-1800(11272 )-600(115182 )-600(1c1ee )-600(/bin/sh)]TJ -/T1_1 1 Tf -9.9946 0 0 9.9946 129.5303 334.0198 Tm -[(The )-96(fourth )-96(and )-96(\336fth )-96(columns )-96(ar)]TJ -0.3461 Tc 14.379 0 Td -(et)Tj -0 Tc 1.151 0 Td -[(he )-96(total )-96(of )-96(the )-96(thr)18(ee )-96(sizes, )-96(displayed )-96(in )-96(decimal )-96(and)]TJ --15.53 -1.2 Td -[(hexadecimal, r)18(espectively)111(.)]TJ -/TT2 1 Tf -11.9935 0 0 11.9935 93.5496 286.0457 Tm -[(7.7 )-1332(Shared)-556(Libraries)]TJ -/T1_1 1 Tf -9.9946 0 0 9.9946 129.5301 265.6567 Tm -[(Most )-134(UNIX )-134(systems )-134(today )-134(support )-134(shar)18(ed )-134(libraries.)-638(Arnold)]TJ -27.777 0.04 Td -([)Tj -0.333 -0.04 Td -(1986)Tj -2 0.04 Td -(])Tj -0.718 -0.04 Td -[(describes )-135(an )-135(early)]TJ --30.828 -1.2 Td -[(implementation )-460(under )-460(System )-460(V)]TJ -0.7097 Tc 15.645 0 Td -(,a)Tj -0 Tc 1.46 0 Td -[(nd )-460(Gingell )-460(et )-460(al.)]TJ -9.131 0.04 Td -([)Tj -0.333 -0.04 Td -(1987)Tj -2 0.04 Td -(])Tj -1.043 -0.04 Td -[(describe )-460(a )-460(dif)19(fer)18(ent)]TJ --29.612 -1.2 Td -[(implementation )-177(under )-177(SunOS.)-678(Shar)18(ed )-177(libraries )-177(r)17(emove )-177(the )-177(common )-177(library )-177(r)16(outines)]TJ --0 -1.2 Td -[(fr)18(om )-322(the )-322(executable )-322(\336le, )-322(instead )-322(maintaining )-322(a )-322(single )-322(copy )-322(of )-322(the )-322(library )-322(r)20(outine)]TJ -0 -1.2 TD -[(somewher)18(e)-539(in)-539(memory )-289(that )-289(all )-289(pr)18(ocesses )-289(r)18(efer)18(ence. )-539(This)]TJ --0.018 Tc 27.462 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(duces )-289(the )-289(size )-289(of )-289(each)]TJ --28.318 -1.2 Td -[(executable )-119(\336le )-119(but )-119(may )-119(add )-119(some )-119(r)8(untime )-119(over)18(head, )-119(either )-119(when )-119(the )-119(pr)18(ogram )-119(is )-119(\336rst)]TJ -T* -[(executed )-82(or )-82(the )-82(\336rst )-82(time )-82(each )-82(shar)18(ed )-82(library )-82(function )-82(is )-82(called.)-588(Another )-83(advantage )-83(of)]TJ -T* -[(shar)18(ed )-197(libraries )-197(is )-197(that )-197(library )-197(functions )-197(can )-197(be )-197(r)18(eplaced )-197(with )-197(new )-197(versions )-197(without)]TJ -T* -[(having to r)18(elink edit every pr)18(ogram that uses the library \(assuming that the number and)]TJ -T* -[(type of ar)18(guments haven\325t changed\).)]TJ -1.8 -1.2 Td -[(Dif)18(fer)18(ent )-5(systems )-5(pr)18(ovide )-5(dif)17(fer)18(ent )-5(ways )-5(for )-5(a )-5(pr)18(ogram )-5(to )-5(say )-5(that )-5(it )-5(wants )-5(to )-5(use )-5(or)]TJ --1.8 -1.2 Td -[(not )-34(use )-34(the )-34(shar)18(ed )-34(libraries.)-534(Options )-34(for )-34(the)]TJ -/TT0 1 Tf -19.93 0 Td -(cc)Tj -/T1_1 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.617 -0.04 Td -(and)Tj -/TT0 1 Tf -1.977 0 Td -(ld)Tj -/T1_1 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.617 -0.04 Td -[(commands )-34(ar)]TJ -0.2843 Tc 6.034 0 Td -(et)Tj -0 Tc 1.089 0 Td -[(ypical. )-284(As)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46842 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(204)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Envir)18(onment )]TJ -39.241 0 Td -[(Chapter)-500(7)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2058 6170 432 180 re -S -Q -q -0.99994 0 0 0.99994 0 0 cm -q 1 0 0 1 299.4 626 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -1 j 1 J -q 1 0 0 1 2994 6260 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 6260.25 cm -0 0 m -504 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2994 6170 432 180 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2994 5990 432 180 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2994 5810 432 180 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2994 5630 432 180 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2994 5450 432 180 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2994 5270 432 180 re -S -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 311.3626 534.1759 Tm -(NULL)Tj --18.25 11.25 Td -(environ:)Tj -ET -q -0.99988 0 0 0.99988 0 0 cm -q 1 0 0 1 378.6 626 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -1 j 1 J -q 1 0 0 1 3786 6260 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 6260.25 cm -0 0 m -360 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 380.5315 624.1276 Tm -(HOME=/home/sar\\0)Tj -ET -q -0.99982 0 0 0.99982 0 0 cm -q 1 0 0 1 378.6 608 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -1 j 1 J -q 1 0 0 1 3786 6080 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 6080.25 cm -0 0 m -360 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 380.5087 606.0945 Tm -(PATH=:/bin:/usr/bin\\0)Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 378.6 590 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 3786 5900 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 5900.25 cm -0 0 m -360 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 380.4858 588.0635 Tm -(SHELL=/bin/bash\\0)Tj -ET -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 378.6 572 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 3786 5720 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 5720.25 cm -0 0 m -360 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 380.463 570.0347 Tm -(USER=sar\\0)Tj -ET -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 378.6 554 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3786 5540 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 5540.25 cm -0 0 m -360 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 380.4402 552.0081 Tm -(LOGNAME=sar\\0)Tj -/T1_1 1 Tf --21.996 12.55 Td -[(envir)18(onment)]TJ -1.236 -1.25 Td -(pointer)Tj -10.464 1.25 Td -[(envir)18(onment)]TJ -2.18 -1.25 Td -(list)Tj -10.42 1.025 Td -[(envir)18(onment)]TJ -1.347 -1.25 Td -(strings)Tj -/T1_0 1 Tf --24.294 -17.38 Td -(Figure 7.5)Tj -/T1_1 1 Tf -5.195 0 Td -[(Envir)18(onment consisting of \336ve C character strings)]TJ -/T1_2 1 Tf -9.9958 0 0 9.9958 129.546 465.6044 Tm -[(envir)18(onment )-14(pointer)]TJ -/T1_1 1 Tf -0.2637 Tc (,t)Tj -0 Tc 9.142 0 Td -[(he )-14(array )-14(of )-14(pointers )-14(the )-14(envir)18(onment )-14(list, )-14(and )-14(the )-14(strings )-14(they )-14(point)]TJ --9.142 -1.2 Td -(to the)Tj -/T1_2 1 Tf -2.759 0 Td -[(envir)18(onment strings)]TJ -/T1_1 1 Tf -(.)Tj --0.959 -1.2 Td -[(By convention, the envir)18(onment consists of)]TJ -/T1_2 1 Tf -0 -2.04 TD -(name)Tj -/TT0 1 Tf -(=)Tj -/T1_2 1 Tf -(value)Tj -/T1_1 1 Tf --1.8 -2.04 Td -[(strings, )-45(as )-45(shown )-45(in )-45(Figur)]TJ -0.2954 Tc 11.578 0 Td -(e7)Tj -0 Tc 1.274 0 Td -[(.5. )-295(Most)-296(pr)18(ede\336ned )-45(names )-45(ar)]TJ -0.2955 Tc 13.243 0 Td -(ee)Tj -0 Tc 1.254 0 Td -[(ntir)18(ely )-45(upper)18(case, )-45(but )-45(this)]TJ --27.349 -1.2 Td -(is only a convention.)Tj -1.8 -1.2 Td -(Historically)Tj -0.5189 Tc 5.076 0 Td -(,m)Tj -0 Tc 1.652 0 Td -[(ost )-269(UNIX )-269(systems )-269(have )-269(pr)18(ovided )-269(a )-269(thir)]TJ -0.5188 Tc 18.821 0 Td -(da)Tj --0.018 Tc 1.63 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument )-269(to )-269(the)]TJ -/TT0 1 Tf -6.688 0 Td -(main)Tj -/T1_1 1 Tf --36.6 -1.2 Td -[(function that is the addr)18(ess of the envir)18(onment list:)]TJ -/TT0 1 Tf -8.9962 0 0 8.9962 147.5372 346.0148 Tm -(int main\(int)Tj -/T1_2 1 Tf -7.8 0 Td -[(ar)18(gc)]TJ -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.522 0 Td -(har *)Tj -/T1_2 1 Tf -[(ar)18(gv)]TJ -/TT0 1 Tf -([], char *)Tj -/T1_2 1 Tf -(envp)Tj -/TT0 1 Tf -([]\);)Tj -/T1_1 1 Tf -9.9958 0 0 9.9958 129.5451 325.8831 Tm -[(Because )-169(ISO )-169(C )-169(speci\336es )-169(that )-169(the)]TJ -/TT0 1 Tf -15.281 0 Td -(main)Tj -/T1_1 1 Tf -2.819 0 Td -[(function )-169(be )-169(written )-169(with )-169(two )-169(ar)17(guments, )-169(and)]TJ --18.1 -1.2 Td -[(because )-225(this )-225(thir)]TJ -0.4748 Tc 7.631 0 Td -(da)Tj --0.018 Tc 1.586 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument )-225(pr)18(ovides )-225(no )-225(bene\336t )-225(over )-225(the )-225(global )-225(variable)]TJ -/TT0 1 Tf -24.4 0 Td -(environ)Tj -/T1_1 1 Tf -(,)Tj --34.55 -1.2 Td -[(POSIX.1 )-432(speci\336es )-432(that)]TJ -/TT0 1 Tf -11.196 0 Td -(environ)Tj -/T1_1 1 Tf -4.882 0 Td -[(should )-432(be )-432(used )-432(instead )-432(of )-432(the )-432(\(possible\) )-432(thir)17(d)]TJ --16.078 -1.2 Td -[(ar)18(gument. )-403(Access)-404(to )-153(speci\336c )-153(envir)18(onment )-153(variables )-153(is )-153(normally )-153(thr)18(ough )-153(the)]TJ -/TT0 1 Tf -35.4 0 Td -(getenv)Tj -/T1_1 1 Tf --35.4 -1.2 Td -(and)Tj -/TT0 1 Tf -2.259 0 Td -(putenv)Tj -/T1_1 1 Tf -4.166 0 Td -[(functions, )-316(described )-316(in )-316(Section )-316(7.9, )-316(instead )-316(of )-316(thr)21(ough )-316(the)]TJ -/TT0 1 Tf -28.376 0 Td -(environ)Tj -/T1_1 1 Tf --34.8 -1.2 Td -[(variable. )-272(But)-272(to )-22(go )-22(thr)18(ough )-22(the )-22(entir)]TJ -0.2719 Tc 16.234 0 Td -(ee)Tj -0 Tc 1.23 0 Td -[(nvir)18(onment, )-22(the)]TJ -/TT0 1 Tf -7.394 0 Td -(environ)Tj -/T1_1 1 Tf -4.472 0 Td -[(pointer )-22(must )-22(be )-22(used.)]TJ -/TT1 1 Tf -11.995 0 0 11.995 93.5596 223.9259 Tm -[(7.6 )-1332(Memor)]TJ -0.556 Tc 6.288 0 Td -(yL)Tj --0.02 Tc 1.723 0 Td -(ay)Tj -0 Tc 1.067 0 Td -[(out )-278(of )-278(a )-278(C )-278(Pr)20(ogram)]TJ -/T1_1 1 Tf -9.9958 0 0 9.9958 129.5446 199.936 Tm -(Historically)Tj -0.25 Tc 5.076 0 Td -(,aCp)Tj --0.018 Tc 2.81 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(gram has been composed of the following pieces:)Tj -0.883 Tc -7.009 -1.92 Td -(\245T)Tj -0 Tc 2.01 0 Td -[(ext )-246(segment, )-246(consisting )-246(of )-246(the )-246(machine )-246(instr)8(uctions )-246(that )-246(the )-246(CPU )-246(executes.)]TJ --0.521 -1.2 Td -(Usually)Tj -0.3751 Tc 3.332 0 Td -(,t)Tj -0 Tc 0.951 0 Td -[(he )-125(text )-125(segment )-125(is )-125(sharable )-125(so )-125(that )-125(only )-125(a )-125(single )-125(copy )-125(needs )-125(to )-125(be )-125(in)]TJ --4.283 -1.2 Td -[(memory )-67(for )-67(fr)18(equently )-67(executed )-67(pr)16(ograms, )-67(such )-67(as )-67(text )-67(editors, )-67(the )-67(C )-67(compiler)71(,)]TJ -0 -1.2 TD -[(the )-183(shells, )-183(and )-183(so )-183(on.)-684(Also, )-183(the )-183(text )-183(segment )-183(is )-183(often )-183(r)17(ead-only)111(,)-433(to)-433(p)]TJ --0.018 Tc (re)Tj -0 Tc 32.826 0 Td -[(vent )-183(a)]TJ --32.826 -1.2 Td -[(pr)18(ogram fr)18(om accidentally modifying its instr)8(uctions.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46843 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(7.5)]TJ -35.857 0 Td -[(Envir)18(onment )-250(List)]TJ -/T1_1 1 Tf -9.976 0 Td -(203)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(7.4 )-1332(Command)]TJ -7.889 0.09 Td -(-)Tj -0.333 -0.09 Td -[(Line )-278(Ar)15(guments)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5924 644.9613 Tm -[(When )-129(a )-129(pr)18(ogram )-129(is )-129(executed, )-129(the )-129(pr)18(ocess )-129(that )-129(does )-129(the)]TJ -/TT1 1 Tf -25.561 0 Td -(exec)Tj -/T1_0 1 Tf -2.78 0 Td -[(can )-130(pass )-130(command)]TJ -8.683 0.09 Td -(-)Tj -0.333 -0.09 Td -(line)Tj --37.357 -1.2 Td -[(ar)18(guments )-229(to )-229(the )-229(new )-229(pr)19(ogram. )-479(This)-479(is )-229(part )-229(of )-229(the )-229(normal )-229(operation )-229(of )-229(the )-229(UNIX)]TJ -0 -1.2 Td -[(system )-14(shells.)]TJ --0.092 Tc 6.611 0 Td -[(We )-198(h)]TJ -0 Tc 2.233 0 Td -[(ave )-14(alr)18(eady )-14(seen )-14(this )-14(in )-14(many )-14(of )-14(the )-14(examples )-14(fr)18(om )-14(earlier )-14(chapters.)]TJ -/TT0 1 Tf --12.445 -2.4 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(The )-99(pr)18(ogram )-99(in )-99(Figur)]TJ -0.3494 Tc 9.836 0 Td -(e7)Tj -0 Tc 1.328 0 Td -[(.4 )-99(echoes )-99(all )-99(its )-99(command)]TJ -11.674 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-99(ar)18(guments )-99(to )-99(standar)]TJ -0.3494 Tc 11.613 0 Td -(do)Tj -0 Tc 1.506 0 Td -(utput.)Tj --36.291 -1.2 Td -(Note that the normal)Tj -/TT1 1 Tf -9.5 0 Td -(echo)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -[(pr)18(ogram doesn\325t echo the zer)18(oth ar)18(gument.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5490.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 539.4343 Tm -(#include "apue.h")Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(i;)]TJ -0 -2.021 TD -[(for \(i = 0; i < argc; i++\))-3600(/* echo all command-line args */)]TJ -2.4 -1.189 Td -(printf\("argv[%d]: %s\\n", i, argv[i]\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4341.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 208.8704 418.0427 Tm -(Figure 7.4)Tj -/T1_0 1 Tf -5.195 0 Td -(Echo all command)Tj -8.214 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line ar)18(guments to standar)]TJ -0.25 Tc 11.315 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput)Tj -9.9982 0 0 9.9982 129.5763 394.0471 Tm -[(If we compile this pr)18(ogram and name the executable)]TJ -/TT1 1 Tf -23.443 0 Td -(echoarg)Tj -/T1_0 1 Tf -[(,)-250(we)-250(have)]TJ -/TT1 1 Tf -8.9984 0 0 8.9984 147.573 377.3501 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(./echoarg arg1 TEST foo)Tj -/TT1 1 Tf --1.2 -1.189 Td -(argv[0]: ./echoarg)Tj -0 -1.189 TD -(argv[1]: arg1)Tj -T* -(argv[2]: TEST)Tj -T* -(argv[3]: foo)Tj -/T1_0 1 Tf --0.092 Tc 9.9982 0 0 9.9982 129.5763 316.561 Tm -[(We )-209(a)]TJ --0.018 Tc 2.162 0 Td -[(re )-61(g)]TJ -0 Tc 1.687 0 Td -[(uaranteed )-25(by )-25(both )-25(ISO )-25(C )-25(and )-25(POSIX.1 )-25(that)]TJ -/TT1 1 Tf -19.241 0 Td -(argv[argc])Tj -/T1_0 1 Tf -6.275 0 Td -[(is )-25(a )-25(null )-25(pointer)]TJ -0.5246 Tc 6.952 0 Td -(.T)Tj -0 Tc 1.388 0 Td -(his)Tj --37.703 -1.2 Td -[(lets us alternatively code the ar)18(gument-pr)18(ocessing loop as)]TJ -/TT1 1 Tf -8.9984 0 0 8.9984 147.5733 287.8662 Tm -(for \(i = 0; argv[i] != NULL; i++\))Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2819.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9971 0 0 11.9971 93.5775 249.4581 Tm -[(7.5 )-1332(En)40(vir)20(onment )-278(List)]TJ -/T1_0 1 Tf -9.9976 0 0 9.9976 129.5689 225.4639 Tm -[(Each )-490(pr)18(ogram )-490(is )-490(also )-490(passed )-490(an)]TJ -/T1_2 1 Tf -17.032 0 Td -[(envir)18(onment )-490(list)]TJ -/T1_0 1 Tf -0.9901 Tc (.L)Tj -0 Tc 9.019 0 Td -[(ike )-490(the )-490(ar)18(gument )-490(list, )-490(the)]TJ --26.052 -1.2 Td -[(envir)18(onment )-221(list )-221(is )-221(an )-221(array )-221(of )-221(character )-221(pointers, )-221(with )-221(each )-221(pointer )-221(containing )-221(the)]TJ -0 -1.2 TD -[(addr)18(ess )-45(of )-45(a )-45(null-terminated )-45(C )-45(string.)-545(The )-45(addr)19(ess )-45(of )-45(the )-45(array )-45(of )-45(pointers )-45(is )-45(contained)]TJ --0 -1.2 Td -(in the global variable)Tj -/TT1 1 Tf -9.571 0 Td -(environ)Tj -/T1_0 1 Tf -(:)Tj -/TT1 1 Tf -8.9978 0 0 8.9978 147.5643 172.7765 Tm -(extern char **environ;)Tj -/T1_0 1 Tf -9.9976 0 0 9.9976 129.5686 154.7808 Tm -[(For )-98(example, )-98(if )-98(the )-98(envir)19(onment )-98(consisted )-98(of )-98(\336ve )-98(strings, )-98(it )-98(could )-98(look )-98(like )-98(Figur)]TJ -0.3477 Tc 36.673 0 Td -(e7)Tj -0 Tc 1.327 0 Td -(.5.)Tj --38 -1.2 Td -[(Her)18(e)-272(we)-272(explicitly )-22(show )-22(the )-22(null )-22(bytes )-22(at )-22(the )-22(end )-22(of )-22(each )-22(string.)]TJ --0.092 Tc 28.824 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-22(call)]TJ -/TT1 1 Tf -2.93 0 Td -(environ)Tj -/T1_0 1 Tf -4.472 0 Td -(the)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46844 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(198)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Envir)18(onment )]TJ -39.241 0 Td -[(Chapter)-500(7)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(7.3 )-1332(Pr)20(ocess )-278(T)60(ermination)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -(Ther)Tj -0.4492 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.428 0 Td -[(re )-235(e)]TJ -0 Tc 1.784 0 Td -[(ight )-199(ways )-199(for )-199(a )-199(pr)18(ocess )-199(to )-199(terminate.)-700(Normal )-199(termination )-199(occurs )-199(in )-199(\336ve)]TJ --5.263 -1.2 Td -(ways:)Tj -1.8 -2.4 Td -[(1. )-633(Return)-250(fr)18(om)]TJ -/TT1 1 Tf -7.325 0 Td -(main)Tj -/T1_1 1 Tf --7.325 -1.6 Td -[(2. )-633(Calling)]TJ -/TT1 1 Tf -5.103 0 Td -(exit)Tj -/T1_1 1 Tf --5.103 -1.6 Td -[(3. )-633(Calling)]TJ -/TT1 1 Tf -5.103 0 Td -(_exit)Tj -/T1_1 1 Tf -3.25 0 Td -(or)Tj -/TT1 1 Tf -1.191 0 Td -(_Exit)Tj -/T1_1 1 Tf --9.544 -1.6 Td -[(4. )-633(Return)-250(of the last thr)18(ead fr)18(om its start r)18(outine \(Section 1)55(1.5\))]TJ -0 -1.6 TD -[(5. )-633(Calling)]TJ -/TT1 1 Tf -5.103 0 Td -(pthread_exit)Tj -/T1_1 1 Tf -7.45 0 Td -[(\(Section 1)55(1.5\) fr)18(om the last thr)18(ead)]TJ --14.353 -2.4 Td -[(Abnormal termination occurs in thr)18(ee ways:)]TJ -1.8 -2.4 Td -[(6. )-633(Calling)]TJ -/TT1 1 Tf -5.103 0 Td -(abort)Tj -/T1_1 1 Tf -3.25 0 Td -(\(Section 10.17\))Tj --8.353 -1.6 Td -[(7. )-633(Receipt)-250(of a signal \(Section 10.2\))]TJ -T* -[(8. )-633(Response)-250(of the last thr)18(ead to a cancellation r)18(equest \(Sections 1)55(1.5 and 12.7\))]TJ -7.9995 0 0 7.9995 208.7881 444.9733 Tm -[(For )-16(now)]TJ -0.2661 Tc 3.633 0 Td -(,w)Tj -0 Tc 1.35 0 Td -[(e\325ll )-16(ignor)]TJ -0.2663 Tc 3.957 0 Td -(et)Tj -0 Tc 1.071 0 Td -[(he )-16(thr)18(ee )-16(termination )-16(methods )-16(speci\336c )-16(to )-16(thr)18(eads )-16(until )-16(we )-16(discuss)]TJ --10.012 -1.25 Td -[(thr)18(eads in Chapters 1)]TJ -0.25 Tc 9.383 0 Td -(1a)Tj -0 Tc 1.25 0 Td -(nd 12.)Tj -9.9994 0 0 9.9994 129.5929 411.9753 Tm -[(The )-51(start-up )-51(r)18(outine )-51(that )-51(we )-51(mentioned )-51(in )-51(the )-51(pr)19(evious )-51(section )-51(is )-51(also )-51(written )-51(so )-51(that )-51(if)]TJ -0 -1.2 TD -(the)Tj -/TT1 1 Tf -1.834 0 Td -(main)Tj -/T1_1 1 Tf -2.847 0 Td -[(function )-197(r)18(eturns, )-197(the)]TJ -/TT1 1 Tf -9.87 0 Td -(exit)Tj -/T1_1 1 Tf -2.847 0 Td -[(function )-197(is )-197(called.)-697(If )-197(the )-197(start-up )-197(r)18(outine )-197(wer)20(e)]TJ --17.397 -1.2 Td -(coded in C \(it is often coded in assembly language\) the call to)Tj -/TT1 1 Tf -27.313 0 Td -(main)Tj -/T1_1 1 Tf -2.65 0 Td -(could look like)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5913 371.2777 Tm -(exit\(main\(argc, argv\)\);)Tj -/TT0 1 Tf -9.9994 0 0 9.9994 93.5946 341.2795 Tm -(Exit Functions)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(Thr)18(ee )-61(functions )-61(terminate )-61(a )-61(pr)18(ogram )-61(normally:)]TJ -/TT1 1 Tf -21.439 0 Td -(_exit)Tj -/T1_1 1 Tf -3.311 0 Td -(and)Tj -/TT1 1 Tf -2.004 0 Td -(_Exit)Tj -/T1_1 1 Tf -0.3107 Tc (,w)Tj -0 Tc 4.395 0 Td -[(hich )-61(r)18(eturn )-61(to )-61(the)]TJ --31.148 -1.2 Td -[(kernel )-195(immediately)]TJ -0.4454 Tc 8.706 0 Td -(,a)Tj -0 Tc 1.195 0 Td -(nd)Tj -/TT1 1 Tf -1.638 0 Td -(exit)Tj -/T1_1 1 Tf -0.4454 Tc (,w)Tj -0 Tc 3.929 0 Td -[(hich )-195(performs )-195(certain )-195(cleanup )-195(pr)18(ocessing )-195(and )-195(then)]TJ --0.018 Tc -15.47 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(turns to the kernel.)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5913 274.1835 Tm -(#include )Tj -0 -2.021 TD -(void exit\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(status)Tj -/TT1 1 Tf -(\);)Tj --8.4 -2.021 Td -(void _Exit\(int)Tj -/T1_2 1 Tf -9 0 Td -(status)Tj -/TT1 1 Tf -(\);)Tj --9 -2.021 Td -(#include )Tj -T* -(void _exit\(int)Tj -/T1_2 1 Tf -9 0 Td -(status)Tj -/TT1 1 Tf -(\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1969.25 cm -0 0 m -0 863 l -3900 863 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5844 181.0183 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-57(discuss )-57(the )-57(ef)17(fect )-57(of )-57(these )-57(thr)18(ee )-57(functions )-57(on )-57(other )-57(pr)18(ocesses, )-57(such )-57(as )-57(the )-57(childr)16(en)]TJ --1.387 -1.2 Td -[(and the par)18(ent of the terminating pr)18(ocess, in Section 8.5.)]TJ -7.999 0 0 7.999 183.578 149.0221 Tm -[(The )-79(r)18(eason )-79(for )-79(the )-79(dif)17(fer)18(ent )-79(headers )-79(is )-79(that)]TJ -/TT1 1 Tf -19.59 0 Td -(exit)Tj -/T1_1 1 Tf -2.729 0 Td -(and)Tj -/TT1 1 Tf -2.023 0 Td -(_Exit)Tj -/T1_1 1 Tf -3.329 0 Td -(ar)Tj -0.3295 Tc 0.877 0 Td -(es)Tj -0 Tc 1.233 0 Td -[(peci\336ed )-79(by )-79(ISO )-79(C, )-79(wher)16(eas)]TJ -/TT1 1 Tf --29.781 -1.25 Td -(_exit)Tj -/T1_1 1 Tf -3.25 0 Td -(is speci\336ed by POSIX.1.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46845 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(7)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Pr)15(ocess )-280(En)30(vir)15(onment)]TJ -/TT0 1 Tf -12 0 0 12 93.6002 446.3998 Tm -[(7.1 )-1332(Intr)20(oduction)]TJ -/T1_2 1 Tf -10 0 0 10 129.6002 422.3998 Tm -(Befor)Tj -0.2792 Tc 2.346 0 Td -(el)Tj -0 Tc 1.049 0 Td -[(ooking )-29(at )-29(the )-29(pr)18(ocess )-29(contr)18(ol )-29(primitives )-29(in )-29(the )-29(next )-29(chapter)72(,)-279(we)-279(need )-29(to )-29(examine)]TJ --3.395 -1.2 Td -[(the )-40(envir)18(onment )-40(of )-40(a )-40(single )-40(pr)17(ocess. )-290(In)-290(this )-40(chapter)]TJ -0.2902 Tc 22.993 0 Td -(,w)Tj -0 Tc 1.374 0 Td -[(e\325ll )-40(see )-40(how )-40(the)]TJ -/TT1 1 Tf -7.231 0 Td -(main)Tj -/T1_2 1 Tf -2.69 0 Td -[(function )-40(is)]TJ --34.288 -1.2 Td -[(called )-82(when )-82(the )-82(pr)18(ogram )-82(is )-82(executed, )-82(how )-82(command)]TJ -23.978 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-82(ar)18(guments )-82(ar)]TJ -0.3324 Tc 7.915 0 Td -(ep)Tj -0 Tc 1.412 0 Td -[(assed )-82(to )-82(the)]TJ --33.638 -1.2 Td -[(new )-150(pr)18(ogram, )-150(what )-150(the )-150(typical )-150(memory )-150(layout )-150(looks )-150(like, )-150(how )-150(to )-150(allocate )-150(additional)]TJ -0 -1.2 TD -(memory)Tj -0.4592 Tc 3.631 0 Td -(,h)Tj -0 Tc 1.291 0 Td -[(ow )-209(the )-209(pr)18(ocess )-209(can )-209(use )-209(envir)17(onment )-209(variables, )-209(and )-209(various )-209(ways )-209(for )-209(the)]TJ --4.922 -1.2 Td -[(pr)18(ocess )-142(to )-142(terminate.)-642(Additionally)]TJ -0.3918 Tc 15.667 0 Td -(,w)Tj -0 Tc 1.476 0 Td -[(e\325ll )-142(look )-142(at )-142(the)]TJ -/TT1 1 Tf -7.058 0 Td -(longjmp)Tj -/T1_2 1 Tf -4.592 0 Td -(and)Tj -/TT1 1 Tf -2.085 0 Td -(setjmp)Tj -/T1_2 1 Tf -3.992 0 Td -(functions)Tj --34.869 -1.2 Td -[(and )-120(their )-120(interaction )-120(with )-120(the )-120(stack.)]TJ --0.092 Tc 16.919 0 Td -[(We )-304(\336)]TJ -0 Tc 2.362 0 Td -[(nish )-120(the )-120(chapter )-120(by )-120(examining )-120(the )-120(r)17(esour)18(ce)]TJ --19.281 -1.2 Td -[(limits of a pr)18(ocess.)]TJ -/TT0 1 Tf -12 0 0 12 93.6005 302.3998 Tm -(7.2)Tj -/TT2 1 Tf -3 0 Td -(main)Tj -/TT0 1 Tf -2.956 0 Td -(Function)Tj -/T1_2 1 Tf -0.2961 Tc 10 0 0 10 129.6005 278.3998 Tm -(ACp)Tj --0.018 Tc 2.68 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(gram )-46(starts )-46(execution )-46(with )-46(a )-46(function )-46(called)]TJ -/TT1 1 Tf -19.924 0 Td -(main)Tj -/T1_2 1 Tf -0.5461 Tc (.T)Tj -0 Tc 3.809 0 Td -[(he )-46(pr)18(ototype )-46(for )-46(the)]TJ -/TT1 1 Tf -9.264 0 Td -(main)Tj -/T1_2 1 Tf --36.6 -1.2 Td -(function is)Tj -/TT1 1 Tf -9 0 0 9 147.6003 249.6998 Tm -(int main\(int)Tj -/T1_3 1 Tf -7.8 0 Td -[(ar)18(gc)]TJ -/TT1 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.522 0 Td -(har *)Tj -/T1_3 1 Tf -[(ar)18(gv)]TJ -/TT1 1 Tf -([]\);)Tj -/T1_2 1 Tf -10 0 0 10 129.6005 231.6998 Tm -[(wher)18(e)]TJ -/T1_3 1 Tf -3.07 0 Td -[(ar)18(gc)]TJ -/T1_2 1 Tf -2.041 0 Td -[(is )-69(the )-69(number )-69(of )-69(command)]TJ -12.203 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-69(ar)18(guments, )-69(and)]TJ -/T1_3 1 Tf -9.274 0 Td -[(ar)18(gv)]TJ -/T1_2 1 Tf -2.134 0 Td -[(is )-69(an )-69(array )-69(of )-69(pointers)]TJ --29.056 -1.2 Td -[(to the ar)18(guments. )-250(W)]TJ -0.25 Tc 9.147 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(escribe these ar)18(guments in Section 7.4.)]TJ --8.687 -1.2 Td -[(When )-28(a )-28(C )-28(pr)18(ogram )-28(is )-28(executed )-28(by )-28(the )-28(kernel)]TJ -0.0833 Tc 19.951 0 Td -(\321b)Tj -0.2784 Tc 1.636 0 Td -(yo)Tj -0 Tc 1.38 0 Td -[(ne )-28(of )-28(the)]TJ -/TT1 1 Tf -4.162 0 Td -(exec)Tj -/T1_2 1 Tf -2.678 0 Td -[(functions, )-28(which)]TJ --31.608 -1.2 Td -[(we )-325(describe )-325(in )-325(Section )-325(8.10)]TJ -0.0833 Tc 13.189 0 Td -[(\321a )-159(s)]TJ -0 Tc 2.582 0 Td -[(pecial )-325(start-up )-325(r)18(outine )-325(is )-325(called )-325(befor)]TJ -0.5752 Tc 17.812 0 Td -(et)Tj -0 Tc 1.38 0 Td -(he)Tj -/TT1 1 Tf -1.636 0 Td -(main)Tj -/T1_2 1 Tf --36.6 -1.2 Td -[(function )-217(is )-217(called.)-717(The )-217(executable )-217(pr)18(ogram )-217(\336le )-217(speci\336es )-217(this )-217(r)21(outine )-217(as )-217(the )-217(starting)]TJ -T* -[(addr)18(ess )-112(for )-112(the )-112(pr)17(ogram; )-113(this )-113(is )-113(set )-113(up )-113(by )-113(the )-113(link )-113(editor )-113(when )-113(it )-113(is )-113(invoked )-113(by )-113(the )-113(C)]TJ -T* -(compiler)Tj -0.871 Tc 3.856 0 Td -(.T)Tj -0 Tc 1.734 0 Td -[(his )-371(start-up )-371(r)18(outine )-371(takes )-371(values )-371(fr)18(om )-371(the )-371(kernel)]TJ -0.0833 Tc 23.894 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-371(command)]TJ -6.131 0.09 Td -(-)Tj -0.333 -0.09 Td -(line)Tj --37.357 -1.2 Td -[(ar)18(guments )-18(and )-18(the )-18(envir)17(onment )167(\321 )167(and)-269(sets )-19(things )-19(up )-19(so )-19(that )-19(the)]TJ -/TT1 1 Tf -28.756 0 Td -(main)Tj -/T1_2 1 Tf -2.669 0 Td -[(function )-19(is )-19(called)]TJ --31.425 -1.2 Td -[(as shown earlier)74(.)]TJ -/T1_4 1 Tf -9 0 0 9 506.099 113.9998 Tm -(197)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46846 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(196)Tj -/T1_1 1 Tf -3.5 0 Td -[(System )-250(Data )-250(Files )-250(and )-250(Information)]TJ -39.241 0 Td -[(Chapter )-250(6)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(zone. )-343(If)-343(the )-93(variable )-93(is )-93(de\336ned )-93(to )-93(be )-93(a )-93(null )-93(string, )-93(such )-93(as)]TJ -/TT0 1 Tf -26.75 0 Td -(TZ=)Tj -/T1_1 1 Tf -0.343 Tc (,t)Tj -0 Tc 2.719 0 Td -[(hen )-93(UTC )-93(is )-93(normally)]TJ --29.469 -1.2 Td -[(used. )-292(The)-292(value )-42(of )-42(this )-42(envir)18(onment )-42(variable )-42(is )-42(often )-42(something )-42(like)]TJ -/TT0 1 Tf -30.976 0 Td -(TZ=EST5EDT)Tj -/T1_1 1 Tf -0.292 Tc (,b)Tj -0 Tc 7.095 0 Td -(ut)Tj --38.071 -1.2 Td -[(POSIX.1 )-25(allows )-25(a )-25(much )-25(mor)]TJ -0.2752 Tc 12.473 0 Td -(ed)Tj -0 Tc 1.365 0 Td -[(etailed )-25(speci\336cation.)-525(Refer )-25(to )-25(the )-25(Envir)18(onment )-25(V)91(ariables)]TJ --13.839 -1.2 Td -[(chapter )-20(of )-20(the )-20(Single )-20(UNIX )-20(Speci\336cation)]TJ -18.185 0.04 Td -([)Tj -0.333 -0.04 Td -[(Open )-20(Gr)18(oup )-20(2010)]TJ -7.878 0.04 Td -(])Tj -0.603 -0.04 Td -[(for )-20(all )-20(the )-20(details )-20(on )-20(the)]TJ -/TT0 1 Tf -10.801 0 Td -(TZ)Tj -/T1_1 1 Tf --37.8 -1.2 Td -(variable.)Tj -7.9995 0 0 7.9995 183.5889 600.9639 Tm -(Mor)Tj -0.2851 Tc 1.869 0 Td -(ei)Tj -0 Tc 1.055 0 Td -[(nformation )-35(on )-35(the)]TJ -/TT0 1 Tf -8.354 0 Td -(TZ)Tj -/T1_1 1 Tf -1.485 0 Td -[(envir)18(onment )-35(variable )-35(can )-35(be )-35(found )-35(in )-35(the)]TJ -/TT0 1 Tf -18.755 0 Td -(tzset)Tj -/T1_1 1 Tf -[(\(3\) )-35(manual )-35(page.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5944 564.9661 Tm -[(6.11 )-776(Summar)-10(y)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 540.9675 Tm -[(The )-15(passwor)]TJ -0.2646 Tc 5.645 0 Td -(d\336)Tj -0 Tc 1.481 0 Td -[(le )-15(and )-15(the )-15(gr)18(oup )-15(\336le )-15(ar)]TJ -0.2646 Tc 10.108 0 Td -(eu)Tj -0 Tc 1.347 0 Td -[(sed )-15(on )-15(all )-15(UNIX )-15(systems.)]TJ --0.092 Tc 11.676 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-14(looked )-14(at )-14(the)]TJ --31.643 -1.2 Td -[(various )-205(functions )-205(that )-205(r)18(ead )-205(these )-205(\336les.)]TJ --0.092 Tc 18.476 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-205(also )-205(talked )-205(about )-205(shadow )-205(passwor)18(ds,)]TJ --19.863 -1.2 Td -[(which )-325(can )-325(enhance )-325(system )-325(security)]TJ -0.8248 Tc 16.706 0 Td -(.S)Tj -0 Tc 1.6 0 Td -[(upplementary )-325(gr)18(oup )-325(IDs )-325(pr)18(ovide )-325(a )-325(way )-325(to)]TJ --18.305 -1.2 Td -[(participate )-326(in )-326(multiple )-326(gr)18(oups )-326(at )-326(the )-326(same )-326(time.)]TJ --0.092 Tc 24.082 0 Td -[(We )-510(a)]TJ -0 Tc 2.463 0 Td -[(lso )-326(looked )-326(at )-326(how )-326(similar)]TJ --26.544 -1.2 Td -[(functions )-133(ar)]TJ -0.3835 Tc 5.391 0 Td -(ep)Tj --0.018 Tc 1.464 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vided )-133(by )-133(most )-133(systems )-133(to )-133(access )-133(other )-133(system-r)18(elated )-133(data )-133(\336les.)]TJ --0.092 Tc 29.835 0 Td -(We)Tj -0 Tc -37.613 -1.2 Td -[(discussed )-40(the )-40(POSIX.1 )-40(functions )-40(that )-40(pr)18(ograms )-40(can )-40(use )-40(to )-40(identify )-40(the )-40(system )-40(on )-40(which)]TJ -0 -1.2 TD -[(they )-145(ar)]TJ -0.3953 Tc 3.215 0 Td -(er)Tj -0 Tc 1.261 0 Td -[(unning. )-395(W)]TJ -0.3953 Tc 4.999 0 Td -(e\336)Tj -0 Tc 1.479 0 Td -[(nished )-145(the )-145(chapter )-145(by )-145(looking )-145(at )-145(the )-145(time )-145(and )-145(date )-145(functions)]TJ --10.955 -1.2 Td -[(pr)18(ovided by ISO C and the Single UNIX Speci\336cation.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 129.5923 414.9751 Tm -[(Ex)10(er)20(cises)]TJ -/T1_0 1 Tf -8.9995 0 0 8.9995 129.5923 393.9764 Tm -(6.1)Tj -/T1_1 1 Tf -2.602 0 Td -[(If )-20(the )-20(system )-20(uses )-20(a )-20(shadow )-20(\336le )-20(and )-20(we )-20(need )-20(to )-20(obtain )-20(the )-20(encrypted )-20(passwor)15(d, )-20(how )-20(do )-20(we)]TJ -0 -1.222 TD -(do so?)Tj -/T1_0 1 Tf --2.602 -1.667 Td -(6.2)Tj -/T1_1 1 Tf -2.602 0 Td -[(If )-218(you )-218(have )-218(super)8(user )-218(access )-218(and )-218(your )-218(system )-218(uses )-218(shadow )-218(passwor)18(ds, )-218(implement )-218(the)]TJ -T* -[(pr)18(evious exer)18(cise.)]TJ -/T1_0 1 Tf --2.602 -1.667 Td -(6.3)Tj -/T1_1 1 Tf --0.074 Tc 2.602 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-279(a )-279(pr)18(ogram )-279(that )-279(calls)]TJ -/TT0 1 Tf -11.781 0 Td -(uname)Tj -/T1_1 1 Tf -3.529 0 Td -[(and )-279(prints )-279(all )-279(the )-279(\336elds )-279(in )-279(the)]TJ -/TT0 1 Tf -15.152 0 Td -(utsname)Tj -/T1_1 1 Tf -4.729 0 Td -[(str)8(uctur)18(e.)]TJ --36.512 -1.222 Td -(Compar)Tj -0.25 Tc 3.616 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(he output to the output fr)18(om the)]TJ -/TT0 1 Tf -14.606 0 Td -(uname)Tj -/T1_1 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(command.)Tj -/T1_0 1 Tf --26.295 -1.667 Td -(6.4)Tj -/T1_1 1 Tf -2.602 0 Td -[(Calculate )-96(the )-96(latest )-96(time )-96(that )-96(can )-96(be )-96(r)16(epr)18(esented )-96(by )-96(the)]TJ -/TT0 1 Tf -25.319 0 Td -(time_t)Tj -/T1_1 1 Tf -3.946 0 Td -[(data )-96(type.)-596(After )-96(it )-96(wraps)]TJ --29.265 -1.222 Td -[(ar)18(ound, what happens?)]TJ -/T1_0 1 Tf --2.602 -1.667 Td -(6.5)Tj -/T1_1 1 Tf --0.074 Tc 2.602 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-9(a )-9(pr)18(ogram )-9(to )-9(obtain )-9(the )-9(curr)19(ent )-9(time )-9(and )-9(print )-9(it )-9(using)]TJ -/TT0 1 Tf -25.764 0 Td -(strftime)Tj -/T1_1 1 Tf -[(,)-259(so)-259(that )-9(it )-9(looks )-9(like)]TJ --27.085 -1.222 Td -[(the )-103(default )-103(output )-103(fr)18(om)]TJ -/TT0 1 Tf -11.086 0 Td -(date)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.603 Tc 0.333 -0.04 Td -(.S)Tj -0 Tc 1.378 0 Td -[(et )-103(the)]TJ -/TT0 1 Tf -2.898 0 Td -(TZ)Tj -/T1_1 1 Tf -1.553 0 Td -[(envir)18(onment )-103(variable )-103(to )-103(dif)18(fer)18(ent )-103(values )-103(and)]TJ --20.481 -1.222 Td -(see what happens.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46847 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(6.10)]TJ --0.055 Tc 32.431 0 Td -(Ti)Tj -0 Tc 0.849 0 Td -[(me )-250(and )-250(Date )-250(Routines)]TJ -/T1_1 1 Tf -12.553 0 Td -(189)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Ther)18(e)-391(is)-391(a)1(lso )-141(a)]TJ -/TT0 1 Tf -7.068 0 Td -(hostname)Tj -/T1_0 1 Tf -4.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.724 -0.04 Td -[(command )-141(that )-141(can )-141(fetch )-141(or )-141(set )-141(the )-141(host )-141(name.)-638(\(The)]TJ --15.225 -1.2 Td -[(host )-125(name )-125(is )-125(set )-125(by )-125(the )-125(super)8(user )-125(using )-125(a )-125(similar )-125(function,)]TJ -/TT0 1 Tf -27.266 0 Td -(sethostname)Tj -/T1_0 1 Tf -[(.\) )-375(The)-374(host)]TJ --27.266 -1.2 Td -[(name )-285(is )-285(normally )-285(set )-285(at )-285(bootstrap )-285(time )-285(fr)19(om )-285(one )-285(of )-285(the )-285(start-up )-285(\336les )-285(invoked )-285(by)]TJ -/TT0 1 Tf -0 -1.2 TD -(/etc/rc)Tj -/T1_0 1 Tf -4.45 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(init)Tj -/T1_0 1 Tf -(.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5948 593.3644 Tm -[(6.10 )-776(Time)-556(and )-278(Date )-278(Routines)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5926 569.3658 Tm -[(The )-47(basic )-47(time )-47(service )-47(pr)18(ovided )-47(by )-47(the )-47(UNIX )-47(kernel )-47(counts )-47(the )-47(number )-47(of )-47(seconds )-47(that)]TJ -T* -[(have )-216(passed )-216(since )-216(the )-216(Epoch: )-216(00:00:00 )-216(January )-216(1, )-216(1970, )-216(Coor)14(dinated )-216(Universal )-216(T)54(ime)]TJ -0 -1.16 Td -(\()Tj -0.333 -0.04 Td -(UTC)Tj -2.1 0.04 Td -(\))Tj -0.6407 Tc 0.333 -0.04 Td -(.I)Tj -0.3907 Tc 1.228 0 Td -(nS)Tj -0 Tc 1.498 0 Td -[(ection )-141(1.10, )-141(we )-141(said )-141(that )-141(these )-141(seconds )-141(ar)]TJ -0.3906 Tc 18.953 0 Td -(er)Tj -0 Tc 1.247 0 Td -[(epr)18(esented )-141(in )-141(a)]TJ -/TT0 1 Tf -7.382 0 Td -(time_t)Tj -/T1_0 1 Tf -3.991 0 Td -(data)Tj --37.063 -1.2 Td -[(type, )-31(and )-31(we )-31(call )-31(them)]TJ -/T1_2 1 Tf -10.421 0 Td -[(calendar )-31(times)]TJ -/T1_0 1 Tf -0.5314 Tc (.T)Tj -0 Tc 7.25 0 Td -[(hese )-31(calendar )-31(times )-31(r)17(epr)18(esent )-31(both )-31(the )-31(time )-31(and)]TJ --17.671 -1.2 Td -[(the )-159(date.)-658(The )-159(UNIX )-159(System )-159(has )-159(always )-159(dif)20(fer)18(ed )-159(fr)18(om )-159(other )-159(operating )-159(systems )-159(in )-159(\(a\))]TJ --0 -1.2 Td -[(keeping )-77(time )-77(in )-77(UTC )-77(instead )-77(of )-77(the )-77(local )-77(time, )-77(\(b\) )-77(automatically )-77(handling )-77(conversions,)]TJ -T* -[(such as daylight saving time, and \(c\) keeping the time and date as a s\ ingle quantity)111(.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(time)Tj -/T1_0 1 Tf -2.65 0 Td -[(function r)18(eturns the curr)18(ent time and date.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5913 466.272 Tm -(#include )Tj -0 -2.021 TD -(time_t time\(time_t *)Tj -/T1_2 1 Tf -(calptr)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -21.555 -2.021 Td -(Returns: value of time if OK,)Tj -/TT2 1 Tf -12.909 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4254.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 409.4709 Tm -[(The )-56(time )-56(value )-56(is )-56(always )-56(r)18(eturned )-56(as )-56(the )-56(value )-56(of )-56(the )-56(function.)-555(If )-56(the )-56(ar)18(gument )-56(is )-56(non-)]TJ -0 -1.2 TD -[(null, the time value is also stor)18(ed at the location pointed to by)]TJ -/T1_2 1 Tf -27.466 0 Td -(calptr)Tj -/T1_0 1 Tf -(.)Tj --25.666 -1.2 Td -[(The )-97(r)18(eal-time )-97(extensions )-97(to )-97(POSIX.1 )-97(added )-97(support )-97(for )-97(multiple )-97(system )-97(clocks.)-594(In)]TJ --0.111 Tc -1.8 -1.2 Td -(Ve)Tj -0 Tc 1.09 0 Td -[(rsion )-131(4 )-131(of )-131(the )-131(Single )-131(UNIX )-131(Speci\336cation, )-131(the )-131(interfaces )-131(used )-131(to )-131(contr)18(ol )-131(these )-131(clocks)]TJ --1.09 -1.2 Td -(wer)Tj -0.286 Tc 1.69 0 Td -(em)Tj -0 Tc 1.648 0 Td -[(oved )-36(fr)18(om )-36(an )-36(option )-36(gr)18(oup )-36(to )-36(the )-36(base.)]TJ -0.2861 Tc 18 0 Td -(Ac)Tj -0 Tc 1.508 0 Td -[(lock )-36(is )-36(identi\336ed )-36(by )-36(the)]TJ -/TT0 1 Tf -10.754 0 Td -(clockid_t)Tj -/T1_0 1 Tf --33.6 -1.2 Td -[(type. )-250(Standar)]TJ -0.25 Tc 6.133 0 Td -(dv)Tj -0 Tc 1.426 0 Td -(alues ar)Tj -0.25 Tc 3.424 0 Td -(es)Tj -0 Tc 1.153 0 Td -(ummarized in Figur)Tj -0.25 Tc 8.901 0 Td -(e6)Tj -0 Tc 1.229 0 Td -(.8.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1306.25 3331.25 cm -0 0 m -3880 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 175.7404 325.0615 Tm -(Identi\336er )Tj -15.286 0 Td -(Option)Tj -15.541 0 Td -(Description)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1306.25 3211.25 cm -0 0 m -3880 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1306.25 3191.25 cm -0 0 m -3880 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 134.5597 311.0453 Tm -(CLOCK_REALTIME)Tj -/T1_0 1 Tf --0.018 Tc 29.6 0 Td -(re)Tj -0 Tc 0.856 0 Td -(al system time)Tj -/TT0 1 Tf --30.456 -1.25 Td -(CLOCK_MONOTONIC )Tj -15.4 0 Td -(_POSIX_MONOTONIC_CLOCK)Tj -/T1_0 1 Tf --0.018 Tc 14.2 0 Td -(re)Tj -0 Tc 0.856 0 Td -(al system time with no negative jumps)Tj -/TT0 1 Tf --30.456 -1.25 Td -[(CLOCK_PROCESS_CPUTIME_ID )-400(_POSIX_CPUTIME)]TJ -/T1_0 1 Tf -29.6 0 Td -[(CPU time for calling pr)18(ocess)]TJ -/TT0 1 Tf --29.6 -1.25 Td -[(CLOCK_THREAD_CPUTIME_ID )-1000(_POSIX_THREAD_CPUTIME)]TJ -/T1_0 1 Tf -29.6 0 Td -[(CPU time for calling thr)18(ead)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1306.25 2771.25 cm -0 0 m -3880 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3674.25 2771.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2538.25 2771.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5186.25 2771.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1306.25 2771.25 cm -0 0 m -0 560 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 265.7763 259.0423 Tm -(Figure 6.8)Tj -/T1_0 1 Tf -5.195 0 Td -(Clock type identi\336ers)Tj -9.997 0 0 9.997 147.5559 235.0495 Tm -(The)Tj -/TT0 1 Tf -2.06 0 Td -(clock_gettime)Tj -/T1_0 1 Tf -8.186 0 Td -[(function )-136(can )-136(be )-136(used )-136(to )-136(get )-136(the )-136(time )-136(of )-136(the )-136(speci\336ed )-136(clock.)]TJ --12.045 -1.2 Td -[(The )-351(time )-351(is )-351(r)17(eturned )-352(in )-352(a)]TJ -/TT0 1 Tf -13.202 0 Td -(timespec)Tj -/T1_0 1 Tf -5.402 0 Td -[(str)8(uctur)18(e, )-352(intr)18(oduced )-352(in )-352(Section )-352(4.2, )-352(which)]TJ --18.604 -1.2 Td -[(expr)18(esses time values in terms of seconds and nanoseconds.)]TJ -/TT0 1 Tf -8.9973 0 0 8.9973 147.5558 188.3635 Tm -(#include )Tj -0 -2.021 TD -(int clock_gettime\(clockid_t)Tj -/T1_2 1 Tf -16.8 0 Td -(clock_id)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 5.058 0 Td -(truct timespec *)Tj -/T1_2 1 Tf -(tsp)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -4.993 -2.021 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1475.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46848 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(6.9)]TJ -34.22 0 Td -[(System )-250(Identi\336cation)]TJ -/T1_1 1 Tf -11.613 0 Td -(187)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 662.1203 Tm -(struct utmp {)Tj -1.2 -1.189 Td -[(char )-600(ut_line[8];)-600(/* tty line: "ttyh0", "ttyd0", "ttyp0", ... */)]TJ -0 -1.189 TD -[(char )-600(ut_name[8];)-600(/* login name */)]TJ -T* -[(long )-600(ut_time;)-2400(/* seconds since Epoch */)]TJ --1.2 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 599.1838 Tm -[(On )-20(login, )-20(one )-20(of )-20(these )-20(str)10(uctur)18(es )-20(was )-20(\336lled )-20(in )-20(and )-20(written )-20(to )-20(the)]TJ -/TT0 1 Tf -28.651 0 Td -(utmp)Tj -/T1_0 1 Tf -2.67 0 Td -[(\336le )-20(by )-20(the)]TJ -/TT0 1 Tf -4.68 0 Td -(login)Tj -/T1_0 1 Tf --36 -1.2 Td -[(pr)18(ogram, )-78(and )-78(the )-78(same )-78(str)8(uctur)]TJ -0.3279 Tc 14.276 0 Td -(ew)Tj -0 Tc 1.641 0 Td -[(as )-78(appended )-78(to )-78(the)]TJ -/TT0 1 Tf -8.959 0 Td -(wtmp)Tj -/T1_0 1 Tf -2.728 0 Td -[(\336le. )-328(On)-328(logout, )-78(the )-78(entry)]TJ --27.603 -1.2 Td -[(in )-110(the)]TJ -/TT0 1 Tf -2.98 0 Td -(utmp)Tj -/T1_0 1 Tf -2.76 0 Td -[(\336le )-110(was )-110(erased)]TJ -0.0833 Tc 6.824 0 Td -(\321\336)Tj -0 Tc 1.688 0 Td -[(lled )-110(with )-110(null )-110(bytes)]TJ -0.0833 Tc 8.974 0 Td -(\321b)Tj -0.3601 Tc 1.636 0 Td -(yt)Tj -0 Tc 1.242 0 Td -(he)Tj -/TT0 1 Tf -1.421 0 Td -(init)Tj -/T1_0 1 Tf -2.76 0 Td -[(pr)18(ocess, )-110(and )-110(a )-110(new)]TJ --30.286 -1.2 Td -[(entry )-262(was )-262(appended )-262(to )-262(the)]TJ -/TT0 1 Tf -13.378 0 Td -(wtmp)Tj -/T1_0 1 Tf -2.912 0 Td -[(\336le. )-512(This)-511(logout )-262(entry )-262(in )-262(the)]TJ -/TT0 1 Tf -14.321 0 Td -(wtmp)Tj -/T1_0 1 Tf -2.912 0 Td -[(\336le )-262(had )-262(the)]TJ -/TT0 1 Tf --33.522 -1.2 Td -(ut_name)Tj -/T1_0 1 Tf -4.56 0 Td -[(\336eld )-110(zer)18(oed )-110(out.)-609(Special )-110(entries )-110(wer)]TJ -0.3598 Tc 16.549 0 Td -(ea)Tj -0 Tc 1.339 0 Td -[(ppended )-110(to )-110(the)]TJ -/TT0 1 Tf -7.302 0 Td -(wtmp)Tj -/T1_0 1 Tf -2.76 0 Td -[(\336le )-110(to )-110(indicate)]TJ --32.509 -1.2 Td -[(when )-126(the )-126(system )-126(was )-126(r)18(ebooted )-126(and )-126(right )-126(befor)]TJ -0.376 Tc 21.394 0 Td -(ea)Tj -0 Tc 1.355 0 Td -[(nd )-126(after )-126(the )-126(system\325s )-126(time )-126(and )-126(date)]TJ --22.749 -1.2 Td -[(was )-197(changed.)-697(The)]TJ -/TT0 1 Tf -9.027 0 Td -(who)Tj -/T1_0 1 Tf -1.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.78 -0.04 Td -[(pr)18(ogram )-197(r)18(ead )-197(the)]TJ -/TT0 1 Tf -8.553 0 Td -(utmp)Tj -/T1_0 1 Tf -2.847 0 Td -[(\336le )-197(and )-197(printed )-197(its )-197(contents )-197(in )-197(a)]TJ --0.018 Tc -23.841 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(adable )-180(form.)-680(Later )-180(versions )-180(of )-180(the )-180(UNIX )-180(System )-180(pr)18(ovided )-180(the)]TJ -/TT0 1 Tf -29.449 0 Td -(last)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.763 -0.04 Td -(command,)Tj --34.301 -1.2 Td -[(which r)18(ead thr)18(ough the)]TJ -/TT0 1 Tf -10.659 0 Td -(wtmp)Tj -/T1_0 1 Tf -2.65 0 Td -(\336le and printed selected entries.)Tj --11.509 -1.2 Td -[(Most )-161(versions )-161(of )-161(the )-161(UNIX )-161(System )-161(still )-161(pr)19(ovide )-161(the)]TJ -/TT0 1 Tf -24.197 0 Td -(utmp)Tj -/T1_0 1 Tf -2.811 0 Td -(and)Tj -/TT0 1 Tf -2.104 0 Td -(wtmp)Tj -/T1_0 1 Tf -2.811 0 Td -[(\336les, )-161(but )-161(as)]TJ --33.723 -1.2 Td -[(expected, )-7(the )-7(amount )-7(of )-7(information )-7(in )-7(these )-7(\336les )-7(has )-7(gr)14(own. )-257(The)-258(20)]TJ -30.535 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-7(str)8(uctur)]TJ -0.2574 Tc 5.661 0 Td -(et)Tj -0 Tc 1.062 0 Td -(hat)Tj --37.592 -1.2 Td -[(was )-42(written )-42(by )-42(V)111(ersion )-42(7 )-42(gr)18(ew )-42(to )-42(36 )-42(bytes )-42(with )-42(SVR2, )-42(and )-42(the )-42(extended)]TJ -/TT0 1 Tf -32.339 0 Td -(utmp)Tj -/T1_0 1 Tf -2.692 0 Td -[(str)8(uctur)18(e)]TJ --35.031 -1.2 Td -(with SVR4 takes mor)Tj -0.25 Tc 9.289 0 Td -(et)Tj -0 Tc 1.055 0 Td -(han 350 bytes!)Tj -7.9995 0 0 7.9995 183.5876 432.7938 Tm -[(The )-132(detailed )-132(format )-132(of )-132(these )-132(r)18(ecor)18(ds )-132(in )-132(Solaris )-132(is )-132(given )-132(in )-132(the)]TJ -/TT0 1 Tf -28.549 0 Td -(utmpx)Tj -/T1_0 1 Tf -[(\(4\) )-132(manual )-132(page.)]TJ --0.055 Tc 11.307 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj --41.092 -1.25 Td -[(Solaris )-221(10, )-221(both )-221(\336les )-221(ar)20(e)-471(in)-471(t)1(he)]TJ -/TT0 1 Tf -14.938 0 Td -(/var/adm)Tj -/T1_0 1 Tf -5.271 0 Td -[(dir)18(ectory)]TJ -0.7208 Tc 3.914 0 Td -(.S)Tj -0 Tc 1.496 0 Td -[(olaris )-221(pr)18(ovides )-221(numer)18(ous )-221(functions)]TJ --25.619 -1.25 Td -(described in)Tj -/TT0 1 Tf -5.66 0 Td -(getutxent)Tj -/T1_0 1 Tf -[(\(3\) to r)18(ead and write these two \336les.)]TJ --5.66 -2.5 Td -[(On )-23(Fr)18(eeBSD )-23(8.0 )-23(and )-23(Linux )-23(3.2.0, )-23(the)]TJ -/TT0 1 Tf -16.262 0 Td -(utmp)Tj -/T1_0 1 Tf -[(\(5\) )-23(manual )-23(page )-23(gives )-23(the )-23(format )-23(of )-23(their )-23(versions )-23(of)]TJ --16.262 -1.25 Td -[(these )-624(login )-624(r)19(ecor)18(ds. )-874(The)-873(pathnames )-624(of )-624(these )-624(two )-624(\336les )-624(ar)19(e)]TJ -/TT0 1 Tf -31.633 0 Td -(/var/run/utmp)Tj -/T1_0 1 Tf -8.674 0 Td -(and)Tj -/TT0 1 Tf --40.307 -1.25 Td -(/var/log/wtmp)Tj -/T1_0 1 Tf -0.5245 Tc (.O)Tj -0.2745 Tc 9.361 0 Td -(nM)Tj -0 Tc 1.802 0 Td -[(ac )-24(OS )-24(X )-24(10.6.8, )-24(the)]TJ -/TT0 1 Tf -8.431 0 Td -(utmp)Tj -/T1_0 1 Tf -2.674 0 Td -(and)Tj -/TT0 1 Tf -1.967 0 Td -(wtmp)Tj -/T1_0 1 Tf -2.674 0 Td -[(\336les )-24(do )-24(not )-24(exist.)-524(As )-24(of )-24(Mac )-24(OS )-24(X)]TJ --26.91 -1.25 Td -[(10.5, )-84(the )-84(information )-84(found )-84(in )-84(the)]TJ -/TT0 1 Tf -15.603 0 Td -(wtmp)Tj -/T1_0 1 Tf -2.734 0 Td -[(\336le )-84(can )-84(be )-84(obtained )-84(fr)18(om )-84(the )-84(system )-84(logging )-84(facility)108(,)]TJ --18.337 -1.25 Td -(and the)Tj -/TT0 1 Tf -3.58 0 Td -(utmpx)Tj -/T1_0 1 Tf -3.25 0 Td -(\336le contains information about the active login sessions.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5923 310.8012 Tm -[(6.9 )-1332(System)-556(Identi\336cation)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5901 286.8026 Tm -[(POSIX.1 )-238(de\336nes )-238(the)]TJ -/TT0 1 Tf -9.7 0 Td -(uname)Tj -/T1_0 1 Tf -3.488 0 Td -[(function )-238(to )-238(r)18(eturn )-238(information )-238(on )-238(the )-238(curr)18(ent )-238(host )-238(and)]TJ --13.188 -1.2 Td -(operating system.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5891 255.7045 Tm -(#include )Tj -0 -2.14 TD -(int uname\(struct utsname *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -18.842 -2.14 Td -(Returns: non-negative value if OK,)Tj -/TT2 1 Tf -15.622 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2127.25 cm -0 0 m -0 520 l -3900 520 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5844 196.7764 Tm -[(We )-233(p)]TJ -0 Tc 2.287 0 Td -[(ass )-49(the )-49(addr)18(ess )-49(of )-49(a)]TJ -/TT0 1 Tf -9.034 0 Td -(utsname)Tj -/T1_0 1 Tf -4.499 0 Td -[(str)8(uctur)18(e)-299(to)-299(this )-49(function, )-49(and )-49(the )-49(function )-49(then )-49(\336lls)]TJ --15.82 -1.2 Td -[(it )-54(in.)-554(POSIX.1 )-54(de\336nes )-54(only )-54(the )-54(minimum )-54(\336elds )-54(in )-54(the )-54(str)6(uctur)18(e, )-54(which )-54(ar)]TJ -0.3041 Tc 32.766 0 Td -(ea)Tj -0 Tc 1.283 0 Td -[(ll )-54(character)]TJ --34.049 -1.2 Td -[(arrays, )-364(and )-364(it\325s )-364(up )-364(to )-364(each )-364(implementation )-364(to )-364(set )-364(the )-364(size )-364(of )-364(each )-364(array)]TJ -0.8638 Tc 35.453 0 Td -(.S)Tj -0 Tc 1.639 0 Td -(ome)Tj --37.092 -1.2 Td -[(implementations pr)18(ovide additional \336elds in the str)8(uctur)18(e.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46849 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(186)Tj -/T1_1 1 Tf -3.5 0 Td -[(System )-250(Data )-250(Files )-250(and )-250(Information)]TJ -39.241 0 Td -[(Chapter )-250(6)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The general principle is that every data \336le has at least thr)18(ee functions:)]TJ -0 -2.04 TD -[(1. )-633(A)]TJ -/TT0 1 Tf -2.758 0 Td -(get)Tj -/T1_1 1 Tf -2.147 0 Td -[(function )-97(that )-97(r)18(eads )-97(the )-97(next )-97(r)18(ecor)18(d, )-97(opening )-97(the )-97(\336le )-97(if )-97(necessary)]TJ -0.597 Tc 28.871 0 Td -(.T)Tj -0 Tc 1.46 0 Td -(hese)Tj --33.603 -1.2 Td -[(functions )-145(normally )-145(r)18(eturn )-145(a )-145(pointer )-145(to )-145(a )-145(str)9(uctur)18(e. )-395(A)-394(null )-145(pointer )-145(is )-145(r)19(eturned)]TJ -0 -1.2 Td -[(when )-50(the )-50(end )-50(of )-50(\336le )-50(is )-50(r)19(eached. )-300(Most)-300(of )-50(the)]TJ -/TT0 1 Tf -19.983 0 Td -(get)Tj -/T1_1 1 Tf -2.1 0 Td -[(functions )-50(r)18(eturn )-50(a )-50(pointer )-50(to )-50(a)]TJ -/TT0 1 Tf --22.083 -1.2 Td -(static)Tj -/T1_1 1 Tf -3.865 0 Td -[(str)8(uctur)18(e, )-15(so )-15(we )-15(always )-15(have )-15(to )-15(copy )-15(the )-15(str)9(uctur)]TJ -0.2649 Tc 21.748 0 Td -(ei)Tj -0 Tc 1.035 0 Td -[(f)-265(we)-265(want )-15(to )-15(save )-15(it.)]TJ --28.281 -1.6 Td -[(2. )-633(A)]TJ -/TT0 1 Tf -2.685 0 Td -(set)Tj -/T1_1 1 Tf -2.074 0 Td -[(function )-24(that )-24(opens )-24(the )-24(\336le, )-24(if )-24(not )-24(alr)18(eady )-24(open, )-24(and )-24(r)18(ewinds )-24(the )-24(\336le.)]TJ --0.092 Tc 31.054 0 Td -(We)Tj -0 Tc -34.18 -1.2 Td -[(use )-60(this )-60(function )-60(when )-60(we )-60(know )-60(we )-60(want )-60(to )-60(start )-60(again )-60(at )-60(the )-60(beginning )-60(of )-60(the)]TJ -0 -1.2 TD -(\336le.)Tj --1.633 -1.6 Td -[(3. )-633(An)]TJ -/TT0 1 Tf -3.256 0 Td -(end)Tj -/T1_1 1 Tf -2.063 0 Td -[(entry )-13(that )-13(closes )-13(the )-13(data )-13(\336le.)-514(As )-13(we )-13(mentioned )-13(earlier)73(,)-263(we)-263(always )-13(have)]TJ --3.686 -1.2 Td -(to call this function when we\325r)Tj -0.25 Tc 13.423 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(one, to close all the \336les.)Tj --18.196 -2.04 Td -[(Additionally)111(,)-264(if)-264(t)-1(he )-14(data )-14(\336le )-14(supports )-14(some )-14(form )-14(of )-14(keyed )-14(lookup, )-14(r)14(outines )-14(ar)]TJ -0.2643 Tc 34.176 0 Td -(ep)Tj --0.018 Tc 1.344 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(vided)Tj --36.443 -1.2 Td -[(to )-77(sear)18(ch )-77(for )-77(a )-77(r)19(ecor)]TJ -0.3268 Tc 8.982 0 Td -(dw)Tj -0 Tc 1.772 0 Td -[(ith )-77(a )-77(speci\336c )-77(key)]TJ -0.5769 Tc 7.448 0 Td -(.F)Tj -0 Tc 1.383 0 Td -[(or )-77(example, )-77(two )-77(keyed )-77(lookup )-77(r)18(outines )-77(ar)19(e)]TJ --19.584 -1.2 Td -[(pr)18(ovided )-45(for )-45(the )-45(passwor)]TJ -0.295 Tc 11.333 0 Td -(d\336)Tj -0 Tc 1.511 0 Td -(le:)Tj -/TT0 1 Tf -1.315 0 Td -(getpwnam)Tj -/T1_1 1 Tf -5.095 0 Td -[(looks )-45(for )-45(a )-45(r)18(ecor)]TJ -0.2949 Tc 7.245 0 Td -(dw)Tj -0 Tc 1.74 0 Td -[(ith )-45(a )-45(speci\336c )-45(user )-45(name,)]TJ --28.238 -1.2 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(getpwuid)Tj -/T1_1 1 Tf -5.05 0 Td -[(looks for a r)18(ecor)]TJ -0.25 Tc 7.11 0 Td -(dw)Tj -0 Tc 1.695 0 Td -(ith a speci\336c user ID.)Tj --13.998 -1.2 Td -(Figur)Tj -0.3466 Tc 2.383 0 Td -(e6)Tj -0 Tc 1.326 0 Td -[(.6 )-97(shows )-97(some )-97(of )-97(these )-97(r)18(outines, )-97(which )-97(ar)]TJ -0.3466 Tc 18.975 0 Td -(ec)Tj -0 Tc 1.27 0 Td -[(ommon )-97(to )-97(UNIX )-97(systems.)-595(In)]TJ --25.753 -1.2 Td -[(this )-212(\336gur)18(e, )-212(we )-212(show )-212(the )-212(functions )-212(for )-212(the )-212(passwor)]TJ -0.4618 Tc 23.772 0 Td -(d\336)Tj -0 Tc 1.678 0 Td -[(les )-212(and )-212(gr)18(oup )-212(\336le, )-212(which )-212(we)]TJ --25.45 -1.2 Td -[(discussed )-46(earlier )-46(in )-46(this )-46(chapter)]TJ -0.2965 Tc 14.076 0 Td -(,a)Tj -0 Tc 1.046 0 Td -[(nd )-46(some )-46(of )-46(the )-46(networking )-46(functions.)-549(Ther)]TJ -0.2966 Tc 19.399 0 Td -(ea)Tj --0.018 Tc 1.276 0 Td -(re)Tj -/TT0 1 Tf -0 Tc 1.153 0 Td -(get)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --36.95 -1.2 Td -(set)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 2.8 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(end)Tj -/T1_1 1 Tf -2.05 0 Td -[(functions for all the data \336les in this \336gur)18(e.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1332.25 4190.25 cm -0 0 m -3828 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 137.1715 410.9507 Tm -[(Description )-3087(Data)-250(\336le )-4439(Header)-2717(Str)8(uctur)]TJ -2.849 Tc 26.509 0 Td -(eA)Tj -0 Tc 4.106 0 Td -(dditional keyed lookup functions)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1332.25 4070.25 cm -0 0 m -3828 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1332.25 4050.25 cm -0 0 m -3828 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 137.1633 396.9285 Tm -[(passwor)18(ds)]TJ -/TT0 1 Tf -6.153 0 Td -[(/etc/passwd )-2200( )-2200(passwd)-2200(getpwnam)]TJ -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -27.5 0 Td -(getpwuid)Tj -/T1_1 1 Tf --33.653 -1.25 Td -[(gr)18(oups)]TJ -/TT0 1 Tf -6.153 0 Td -[(/etc/group )-2800()-2800(group )-2200(getgrnam)]TJ -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -27.5 0 Td -(getgrgid)Tj -/T1_1 1 Tf --33.653 -1.25 Td -(shadow)Tj -/TT0 1 Tf -6.153 0 Td -[(/etc/shadow )-2200()-1000(spwd )-2800(getspnam)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1332.25 3730.25 cm -0 0 m -3828 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 137.1551 364.9124 Tm -(hosts)Tj -/TT0 1 Tf -6.153 0 Td -[(/etc/hosts )-2800()-1600(hostent )-1000(getnameinfo)]TJ -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -29.3 0 Td -(getaddrinfo)Tj -/T1_1 1 Tf --35.453 -1.25 Td -(networks)Tj -/TT0 1 Tf -6.153 0 Td -[(/etc/networks )-1000( )-1000(netent)-2200(getnetbyname)]TJ -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -29.9 0 Td -(getnetbyaddr)Tj -/T1_1 1 Tf --36.053 -1.25 Td -[(pr)18(otocols)]TJ -/TT0 1 Tf -6.153 0 Td -[(/etc/protocols )-400()-1600(protoent )-400(getprotobyname)]TJ -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -31.1 0 Td -(getprotobynumber)Tj -/T1_1 1 Tf --37.253 -1.25 Td -(services)Tj -/TT0 1 Tf -6.153 0 Td -[(/etc/services )-1000( )-1000(servent )-1000(getservbyname)]TJ -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -30.5 0 Td -(getservbyport)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1332.25 3310.25 cm -0 0 m -3828 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3600.25 3310.25 cm -0 0 m -0 880 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3136.25 3310.25 cm -0 0 m -0 880 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2576.25 3310.25 cm -0 0 m -0 880 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1824.25 3310.25 cm -0 0 m -0 880 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5160.25 3310.25 cm -0 0 m -0 880 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1332.25 3310.25 cm -0 0 m -0 880 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 221.5535 312.9061 Tm -(Figure 6.6)Tj -/T1_1 1 Tf -5.195 0 Td -[(Similar r)18(outines for accessing system data \336les)]TJ --9.948 -3.1 Td -[(Under )-42(Solaris, )-42(the )-42(last )-42(four )-42(data )-42(\336les )-42(in )-42(Figur)]TJ -0.2918 Tc 20.199 0 Td -(e6)Tj -0 Tc 1.271 0 Td -[(.6 )-42(ar)]TJ -0.2918 Tc 1.919 0 Td -(es)Tj -0 Tc 1.195 0 Td -[(ymbolic )-42(links )-42(to )-42(\336les )-42(of )-42(the )-42(same )-42(name)]TJ --24.583 -1.25 Td -[(in )-98(the )-98(dir)19(ectory)]TJ -/TT0 1 Tf -7.328 0 Td -(/etc/inet)Tj -/T1_1 1 Tf -0.5976 Tc (.M)Tj -0 Tc 7.194 0 Td -[(ost )-98(UNIX )-98(System )-98(implementations )-98(have )-98(additional )-98(functions)]TJ --14.521 -1.25 Td -[(that )-106(ar)]TJ -0.3559 Tc 2.967 0 Td -(el)Tj -0 Tc 1.126 0 Td -[(ike )-106(these, )-106(but )-106(the )-106(additional )-106(functions )-106(tend )-106(to )-106(deal )-106(with )-106(system )-106(administration )-106(\336les)]TJ --4.093 -1.25 Td -(and ar)Tj -0.25 Tc 2.82 0 Td -(es)Tj -0 Tc 1.153 0 Td -(peci\336c to each implementation.)Tj -/TT1 1 Tf -11.9964 0 0 11.9964 93.5723 222.1333 Tm -[(6.8 )-1332(Login)-556(Accounting)]TJ -/T1_1 1 Tf --0.09 Tc 9.997 0 0 9.997 129.5615 198.1405 Tm -(Tw)Tj -0.2532 Tc 1.357 0 Td -(od)Tj -0 Tc 1.41 0 Td -[(ata )-3(\336les )-3(pr)18(ovided )-3(with )-3(most )-3(UNIX )-3(systems )-3(ar)]TJ -0.2533 Tc 20.197 0 Td -(et)Tj -0 Tc 1.058 0 Td -(he)Tj -/TT0 1 Tf -1.314 0 Td -(utmp)Tj -/T1_1 1 Tf -2.653 0 Td -[(\336le, )-3(which )-3(keeps )-3(track )-3(of)]TJ --27.99 -1.2 Td -[(all )-66(the )-66(users )-66(curr)18(ently )-66(logged )-66(in, )-66(and )-66(the)]TJ -/TT0 1 Tf -18.614 0 Td -(wtmp)Tj -/T1_1 1 Tf -2.716 0 Td -[(\336le, )-65(which )-65(keeps )-65(track )-65(of )-65(all )-65(logins )-65(and)]TJ --21.329 -1.2 Td -[(logouts. )-372(W)55(ith )-122(V)111(ersion )-122(7, )-122(one )-122(type )-122(of )-122(r)20(ecor)]TJ -0.3716 Tc 19.286 0 Td -(dw)Tj -0 Tc 1.817 0 Td -[(as )-122(written )-122(to )-122(both )-122(\336les, )-122(a )-122(binary )-122(r)21(ecor)18(d)]TJ --21.103 -1.2 Td -[(consisting of the following str)8(uctur)18(e:)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46850 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(6.7)]TJ -36.124 0 Td -[(Other )-250(Data )-250(Files)]TJ -/T1_1 1 Tf -9.709 0 Td -(185)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1319.25 6670.25 cm -0 0 m -3853 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 249.853 658.9605 Tm -[(Fr)18(eeBSD )]TJ -10.519 0 Td -(Linux)Tj -7.657 0 Td -[(Mac OS X)-4870(Solaris)]TJ --16.901 -1.25 Td -(8.0 )Tj -9.545 0 Td -(3.2.0)Tj -8.29 0 Td -(10.6.8 )Tj -9.29 0 Td -(10)Tj --40.179 0.625 Td -(Information)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1319.25 6450.25 cm -0 0 m -3853 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1319.25 6430.25 cm -0 0 m -3853 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 135.9517 634.9238 Tm -(account information)Tj -/TT0 1 Tf -12.838 0 Td -[(/etc/passwd )-2720(/etc/passwd)]TJ -/T1_0 1 Tf -17.74 0 Td -[(Dir)18(ectory Services)]TJ -/TT0 1 Tf -9.26 0 Td -(/etc/passwd)Tj -/T1_0 1 Tf --39.838 -1.25 Td -[(encrypted passwor)18(ds)]TJ -/TT0 1 Tf -10.738 0 Td -[(/etc/master.passwd )-620(/etc/shadow)]TJ -/T1_0 1 Tf -19.84 0 Td -[(Dir)18(ectory Services)]TJ -/TT0 1 Tf -9.26 0 Td -(/etc/shadow)Tj -/T1_0 1 Tf --39.838 -1.25 Td -(hashed passwor)Tj -0.25 Tc 7.134 0 Td -(d\336)Tj -0 Tc 1.466 0 Td -[(les? )-4920(yes)]TJ -16.894 0 Td -(no )Tj -8.54 0 Td -(no )Tj -8.54 0 Td -(no)Tj --42.574 -1.25 Td -[(gr)18(oup information)]TJ -/TT0 1 Tf -13.138 0 Td -[(/etc/group )-3320(/etc/group)]TJ -/T1_0 1 Tf -17.44 0 Td -[(Dir)18(ectory Services)]TJ -/TT0 1 Tf -9.56 0 Td -(/etc/group)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1319.25 6010.25 cm -0 0 m -3853 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4469.25 6010.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 6010.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3102.25 6010.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2198.25 6010.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5172.25 6010.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1319.25 6010.25 cm -0 0 m -0 660 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 239.3889 582.8951 Tm -(Figure 6.5)Tj -/T1_0 1 Tf -5.195 0 Td -[(Account implementation dif)18(fer)18(ences)]TJ -9.9982 0 0 9.9982 147.5736 558.8994 Tm -[(On )-507(Fr)18(eeBSD, )-507(the )-507(shadow )-507(passwor)]TJ -0.7574 Tc 17.039 0 Td -(d\336)Tj -0 Tc 1.973 0 Td -[(le )-507(is)]TJ -/TT0 1 Tf -3 0 Td -(/etc/master.passwd)Tj -/T1_0 1 Tf -1.0073 Tc (.S)Tj -0 Tc 12.582 0 Td -(pecial)Tj --36.394 -1.2 Td -[(commands )-33(ar)]TJ -0.2832 Tc 6.033 0 Td -(eu)Tj -0 Tc 1.365 0 Td -[(sed )-33(to )-33(edit )-33(it, )-33(which )-33(in )-33(turn )-33(generate )-33(a )-33(copy )-33(of)]TJ -/TT0 1 Tf -20.909 0 Td -(/etc/passwd)Tj -/T1_0 1 Tf -6.883 0 Td -[(fr)18(om )-33(the)]TJ --35.191 -1.2 Td -[(shadow )-425(passwor)]TJ -0.6748 Tc 7.878 0 Td -(d\336)Tj -0 Tc 1.891 0 Td -[(le. )-675(In)-674(addition, )-425(hashed )-425(versions )-425(of )-425(the )-425(\336les )-425(ar)]TJ -0.6747 Tc 23.421 0 Td -(eg)Tj -0 Tc 1.71 0 Td -(enerated:)Tj -/TT0 1 Tf --34.899 -1.2 Td -(/etc/pwd.db)Tj -/T1_0 1 Tf -7.111 0 Td -[(is )-261(the )-261(hashed )-261(version )-261(of)]TJ -/TT0 1 Tf -11.998 0 Td -(/etc/passwd)Tj -/T1_0 1 Tf -0.5114 Tc (,a)Tj -0 Tc 7.861 0 Td -(nd)Tj -/TT0 1 Tf -1.704 0 Td -(/etc/spwd.db)Tj -/T1_0 1 Tf -7.711 0 Td -[(is )-261(the)]TJ --36.387 -1.2 Td -[(hashed )-44(version )-44(of)]TJ -/TT0 1 Tf -8.22 0 Td -(/etc/master.passwd)Tj -/T1_0 1 Tf -0.5436 Tc (.T)Tj -0 Tc 12.207 0 Td -[(hese )-44(pr)18(ovide )-43(better )-43(performance )-43(for )-43(lar)16(ge)]TJ --20.426 -1.2 Td -(installations.)Tj -1.8 -1.2 Td -[(On )-62(Mac )-62(OS )-62(X, )-62(however)75(,)]TJ -/TT0 1 Tf -11.101 0 Td -(/etc/passwd)Tj -/T1_0 1 Tf -6.912 0 Td -(and)Tj -/TT0 1 Tf -2.005 0 Td -(/etc/master.passwd)Tj -/T1_0 1 Tf -11.112 0 Td -(ar)Tj -0.3117 Tc 0.877 0 Td -(eu)Tj -0 Tc 1.394 0 Td -[(sed )-62(only)]TJ --35.199 -1.2 Td -[(in )-179(single-user )-179(mode )-179(\(when )-179(the )-179(system )-179(is )-179(under)18(going )-179(maintenance; )-179(single-user )-179(mode)]TJ -0 -1.2 TD -[(usually )-329(means )-329(that )-329(no )-329(system )-329(services )-329(ar)]TJ -0.5788 Tc 19.94 0 Td -(ee)Tj -0 Tc 1.537 0 Td -[(nabled\). )-579(In)-579(multiuser )-329(mode)]TJ -0.0833 Tc 13.402 0 Td -(\321d)Tj -0 Tc 1.694 0 Td -(uring)Tj --36.573 -1.2 Td -[(normal )-583(operation)]TJ -0.0833 Tc 8.38 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-583(Dir)18(ectory )-583(Services )-583(daemon )-583(pr)18(ovides )-583(access )-583(to )-583(account)]TJ --9.789 -1.2 Td -[(information for users and gr)18(oups.)]TJ -1.8 -1.2 Td -[(Although )-68(Linux )-68(and )-68(Solaris )-68(support )-68(similar )-68(shadow )-68(passwor)]TJ -0.3181 Tc 27.533 0 Td -(di)Tj -0 Tc 1.22 0 Td -[(nterfaces, )-68(ther)]TJ -0.3181 Tc 6.294 0 Td -(ea)Tj --0.018 Tc 1.297 0 Td -(re)Tj -0 Tc -38.144 -1.2 Td -[(some )-27(subtle )-27(dif)18(fer)18(ences. )-277(For)-277(example, )-27(the )-27(integer )-27(\336elds )-27(shown )-27(in )-27(Figur)]TJ -0.277 Tc 31.717 0 Td -(e6)Tj -0 Tc 1.256 0 Td -[(.3 )-27(ar)]TJ -0.277 Tc 1.904 0 Td -(ed)Tj -0 Tc 1.367 0 Td -(e\336ned)Tj --36.244 -1.2 Td -[(as )-389(type)]TJ -/TT0 1 Tf -4.164 0 Td -(int)Tj -/T1_0 1 Tf -2.439 0 Td -[(on )-389(Solaris, )-389(but )-389(as)]TJ -/TT0 1 Tf -9.312 0 Td -[(long )-39(int)]TJ -/T1_0 1 Tf -5.478 0 Td -[(on )-389(Linux.)-889(Another )-389(dif)18(fer)18(ence )-389(is )-389(the)]TJ --21.394 -1.2 Td -[(account-inactive )-174(\336eld: )-174(Solaris )-174(de\336nes )-174(it )-174(to )-174(be )-174(the )-174(number )-174(of )-174(days )-174(since )-174(the )-174(user )-174(last)]TJ -T* -[(logged )-31(in )-31(to )-31(the )-31(system )-31(after )-31(which )-31(the )-31(account )-31(will )-31(be )-31(automatically )-31(disabled, )-31(wher)13(eas)]TJ -T* -[(Linux )-111(de\336nes )-111(it )-111(to )-111(be )-111(the )-111(number )-111(of )-111(days )-111(after )-111(the )-111(maximum )-111(passwor)]TJ -0.3609 Tc 32.172 0 Td -(da)Tj -0 Tc 1.472 0 Td -[(ge )-111(has )-111(been)]TJ --0.018 Tc -33.644 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(ached during which the passwor)Tj -0.25 Tc 14.48 0 Td -(dw)Tj -0 Tc 1.695 0 Td -(ill still be accepted.)Tj --15.231 -1.2 Td -[(On )-337(many )-337(systems, )-337(the )-337(user )-337(and )-337(gr)17(oup )-337(databases )-337(ar)]TJ -0.5873 Tc 25.211 0 Td -(ei)Tj -0 Tc 1.357 0 Td -[(mplemented )-337(using )-337(the)]TJ --28.368 -1.2 Td -[(Network )-23(Information )-23(Service)]TJ -13.284 0.04 Td -(\()Tj -0.333 -0.04 Td -(NIS)Tj -1.693 0.04 Td -(\))Tj -0.5228 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.386 0 Td -[(his )-23(allows )-23(administrators )-23(to )-23(edit )-23(a )-23(master )-23(copy )-23(of)]TJ --17.029 -1.2 Td -[(the )-11(databases )-11(and )-11(distribute )-11(them )-11(automatically )-11(to )-11(all )-11(servers )-11(in )-11(an )-11(or)18(ganization. )-261(Client)]TJ -T* -[(systems )-83(contact )-83(servers )-83(to )-83(look )-83(up )-83(information )-83(about )-83(users )-83(and )-83(gr)15(oups. )-333(NIS+)-334(and )-83(the)]TJ -0 -1.2 Td -[(Lightweight )-260(Dir)18(ectory )-260(Access )-260(Pr)17(otocol)]TJ -18.336 0.04 Td -(\()Tj -0.333 -0.04 Td -(LDAP)Tj -2.767 0.04 Td -(\))Tj -0.843 -0.04 Td -[(pr)18(ovide )-260(similar )-260(functionality)]TJ -0.7604 Tc 13.126 0 Td -(.M)Tj -0 Tc 1.956 0 Td -(any)Tj --37.362 -1.2 Td -[(systems )-142(contr)18(ol )-142(the )-142(method )-142(used )-142(to )-142(administer )-142(each )-142(type )-142(of )-142(information )-142(thr)15(ough )-142(the)]TJ -/TT0 1 Tf -T* -(/etc/nsswitch.conf)Tj -/T1_0 1 Tf -11.05 0 Td -(con\336guration \336le.)Tj -/TT1 1 Tf -11.9978 0 0 11.9978 93.5841 234.9577 Tm -[(6.7 )-1332(Other)-556(Data )-278(Files)]TJ -/T1_0 1 Tf --0.092 Tc 9.9982 0 0 9.9982 129.5776 210.962 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-143(discussed )-143(only )-143(two )-143(of )-143(the )-143(system\325s )-143(data )-143(\336les )-143(so )-143(far: )-143(the )-143(passwor)]TJ -0.3931 Tc 31.368 0 Td -(d\336)Tj -0 Tc 1.609 0 Td -[(le )-143(and )-143(the)]TJ --34.364 -1.2 Td -[(gr)18(oup )-243(\336le.)-743(Numer)18(ous )-243(other )-243(\336les )-243(ar)]TJ -0.493 Tc 16.773 0 Td -(eu)Tj -0 Tc 1.575 0 Td -[(sed )-243(by )-243(UNIX )-243(systems )-243(in )-243(normal )-243(day-to-day)]TJ --18.348 -1.2 Td -[(operation. )-299(For)-299(example, )-49(the )-49(BSD )-49(networking )-49(softwar)]TJ -0.2991 Tc 23.84 0 Td -(eh)Tj -0 Tc 1.36 0 Td -[(as )-49(one )-49(data )-49(\336le )-49(for )-49(the )-49(services)]TJ --25.201 -1.2 Td -[(pr)18(ovided )-263(by )-263(the )-263(various )-263(network )-263(servers )-263(\()]TJ -/TT0 1 Tf -20.194 0 Td -(/etc/services)Tj -/T1_0 1 Tf -[(\), )-263(one )-263(for )-263(the )-263(pr)16(otocols)]TJ --20.194 -1.2 Td -(\()Tj -/TT0 1 Tf -(/etc/protocols)Tj -/T1_0 1 Tf -[(\), )-241(and )-241(one )-241(for )-241(the )-241(networks )-241(\()]TJ -/TT0 1 Tf -22.699 0 Td -(/etc/networks)Tj -/T1_0 1 Tf -[(\). )-491(Fortunately)]TJ -0.4912 Tc 14.173 0 Td -(,t)Tj -0 Tc 1.067 0 Td -(he)Tj --37.939 -1.2 Td -[(interfaces )-302(to )-302(these )-302(various )-302(\336les )-302(ar)]TJ -0.5519 Tc 16.174 0 Td -(el)Tj -0 Tc 1.322 0 Td -[(ike )-302(the )-302(ones )-302(we\325ve )-302(alr)18(eady )-302(described )-302(for )-302(the)]TJ --17.496 -1.2 Td -(passwor)Tj -0.25 Tc 3.706 0 Td -(da)Tj -0 Tc 1.361 0 Td -[(nd gr)18(oup \336les.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46851 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(184)Tj -/T1_1 1 Tf -3.5 0 Td -[(System )-250(Data )-250(Files )-250(and )-250(Information)]TJ -39.241 0 Td -[(Chapter )-250(6)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 656.1206 Tm -(#include )Tj -0 -1.902 TD -(int getgroups\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(gidsetsize)Tj -/TT0 1 Tf -0.6 Tc (,g)Tj -0 Tc 5.689 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -[(gr)18(ouplist)]TJ -/TT0 1 Tf -([]\);)Tj -/T1_1 1 Tf --8.45 -1.902 Td -[(Returns: number of supplementary gr)18(oup IDs if OK,)]TJ -/TT1 1 Tf -23.425 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --34.464 -1.902 Td -[(#include )-2400(/* on Linux */)]TJ -0 -1.189 TD -(#include /* on FreeBSD, Mac OS X, and Solaris */)Tj -0 -1.902 TD -(int setgroups\(int)Tj -/T1_2 1 Tf -10.8 0 Td -[(ngr)18(oups)]TJ -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 5.116 0 Td -(onst gid_t)Tj -/T1_2 1 Tf -6.6 0 Td -[(gr)18(ouplist)]TJ -/TT0 1 Tf -([]\);)Tj --22.516 -1.902 Td -[(#include )-2400(/* on Linux and Solaris */)]TJ -0 -1.189 TD -(#include /* on FreeBSD and Mac OS X */)Tj -0 -1.902 TD -(int initgroups\(const char *)Tj -/T1_2 1 Tf -(username)Tj -/TT0 1 Tf -0.6 Tc (,g)Tj -0 Tc 21.89 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(basegid)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -0.361 -1.902 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT1 1 Tf -9.213 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5083.25 cm -0 0 m -0 1590 l -3900 1590 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 183.578 485.7217 Tm -[(Of )-86(these )-86(thr)18(ee )-86(functions, )-86(only)]TJ -/TT0 1 Tf -13.688 0 Td -(getgroups)Tj -/T1_1 1 Tf -5.736 0 Td -[(is )-86(speci\336ed )-86(by )-86(POSIX.1.)-586(Because)]TJ -/TT0 1 Tf -15.147 0 Td -(setgroups)Tj -/T1_1 1 Tf -5.736 0 Td -(and)Tj -/TT0 1 Tf --40.307 -1.25 Td -(initgroups)Tj -/T1_1 1 Tf -6.499 0 Td -(ar)Tj -0.4989 Tc 0.877 0 Td -(ep)Tj -0 Tc 1.579 0 Td -[(rivileged )-249(operations, )-249(they )-249(ar)]TJ -0.4989 Tc 13.215 0 Td -(en)Tj -0 Tc 1.56 0 Td -[(ot )-249(part )-249(of )-249(POSIX.1.)-748(All )-249(four )-249(platforms)]TJ --23.729 -1.25 Td -[(cover)18(ed )-46(in )-46(this )-46(book )-46(support )-46(all )-46(thr)18(ee )-46(functions, )-46(but )-46(on )-46(Mac )-46(OS )-46(X )-46(10.6.8,)]TJ -/T1_2 1 Tf -32.77 0 Td -(basegid)Tj -/T1_1 1 Tf -3.259 0 Td -[(is )-46(declar)18(ed )-46(to)]TJ --36.029 -1.25 Td -(be of type)Tj -/TT0 1 Tf -4.623 0 Td -(int)Tj -/T1_1 1 Tf -(.)Tj -9.9988 0 0 9.9988 147.5816 437.7275 Tm -(The)Tj -/TT0 1 Tf -2.013 0 Td -(getgroups)Tj -/T1_1 1 Tf -5.739 0 Td -[(function )-89(\336lls )-89(in )-89(the )-89(array)]TJ -/T1_2 1 Tf -11.62 0 Td -[(gr)18(ouplist)]TJ -/T1_1 1 Tf -3.988 0 Td -[(with )-89(the )-89(supplementary )-89(gr)18(oup)]TJ --25.16 -1.2 Td -[(IDs. )-385(Up)-384(to)]TJ -/T1_2 1 Tf -5.44 0 Td -(gidsetsize)Tj -/T1_1 1 Tf -4.274 0 Td -[(elements )-135(ar)]TJ -0.3846 Tc 5.205 0 Td -(es)Tj -0 Tc 1.288 0 Td -[(tor)18(ed )-135(in )-135(the )-135(array)]TJ -0.6346 Tc 7.988 0 Td -(.T)Tj -0 Tc 1.498 0 Td -[(he )-135(number )-135(of )-135(supplementary)]TJ --25.691 -1.2 Td -[(gr)18(oup IDs stor)18(ed in the array is r)18(eturned by the function.)]TJ -1.8 -1.2 Td -[(As )-348(a )-348(special )-348(case, )-348(if)]TJ -/T1_2 1 Tf -10.445 0 Td -(gidsetsize)Tj -/T1_1 1 Tf -4.487 0 Td -[(is )-348(0, )-348(the )-348(function )-348(r)16(eturns )-348(only )-348(the )-348(number )-348(of)]TJ --16.732 -1.2 Td -[(supplementary )-12(gr)18(oup )-12(IDs.)-512(The )-12(array)]TJ -/T1_2 1 Tf -16.769 0 Td -[(gr)18(ouplist)]TJ -/T1_1 1 Tf -3.911 0 Td -[(is )-12(not )-12(modi\336ed.)-512(\(This )-12(allows )-12(the )-12(caller )-12(to)]TJ --20.681 -1.2 Td -(determine the size of the)Tj -/T1_2 1 Tf -11.122 0 Td -[(gr)18(ouplist)]TJ -/T1_1 1 Tf -3.899 0 Td -(array to allocate.\))Tj --13.221 -1.2 Td -(The)Tj -/TT0 1 Tf -2.019 0 Td -(setgroups)Tj -/T1_1 1 Tf -5.746 0 Td -[(function )-95(can )-95(be )-95(called )-95(by )-95(the )-95(super)8(user )-95(to )-95(set )-95(the )-95(supplementary)]TJ --9.565 -1.2 Td -[(gr)18(oup )-221(ID )-221(list )-221(for )-221(the )-221(calling )-221(pr)17(ocess:)]TJ -/T1_2 1 Tf -17.585 0 Td -[(gr)18(ouplist)]TJ -/T1_1 1 Tf -4.12 0 Td -[(contains )-221(the )-221(array )-221(of )-221(gr)18(oup )-221(IDs, )-221(and)]TJ -/T1_2 1 Tf --21.705 -1.2 Td -[(ngr)18(oups)]TJ -/T1_1 1 Tf -3.667 0 Td -[(speci\336es )-101(the )-101(number )-101(of )-101(elements )-101(in )-101(the )-101(array)]TJ -0.6013 Tc 20.406 0 Td -(.T)Tj -0 Tc 1.464 0 Td -[(he )-101(value )-101(of)]TJ -/T1_2 1 Tf -5.432 0 Td -[(ngr)18(oups)]TJ -/T1_1 1 Tf -3.667 0 Td -[(cannot )-101(be)]TJ --34.637 -1.2 Td -[(lar)18(ger than)]TJ -/TT0 1 Tf -5.088 0 Td -(NGROUPS_MAX)Tj -/T1_1 1 Tf -(.)Tj --3.288 -1.2 Td -(The)Tj -/TT0 1 Tf -2.034 0 Td -(setgroups)Tj -/T1_1 1 Tf -5.76 0 Td -[(function )-110(is )-110(usually )-110(called )-110(fr)18(om )-110(the)]TJ -/TT0 1 Tf -15.994 0 Td -(initgroups)Tj -/T1_1 1 Tf -6.36 0 Td -[(function, )-110(which)]TJ --0.018 Tc -31.95 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ads )-57(the )-57(entir)]TJ -0.307 Tc 5.591 0 Td -(eg)Tj --0.018 Tc 1.342 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(up )-57(\336le)]TJ -0.0833 Tc 2.969 0 Td -(\321w)Tj -0 Tc 1.917 0 Td -[(ith )-57(the )-57(functions)]TJ -/TT0 1 Tf -7.638 0 Td -(getgrent)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -5.357 0 Td -(setgrent)Tj -/T1_1 1 Tf -0.3069 Tc (,a)Tj -0 Tc 5.857 0 Td -(nd)Tj -/TT0 1 Tf -1.5 0 Td -(endgrent)Tj -/T1_1 1 Tf -(,)Tj --33.95 -1.2 Td -[(which )-156(we )-156(described )-156(earlier)]TJ -0.0833 Tc 12.465 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -[(nd )-156(determines )-156(the )-156(gr)18(oup )-156(membership )-156(for)]TJ -/T1_2 1 Tf -19.493 0 Td -(username)Tj -/T1_1 1 Tf -0.6562 Tc (.I)Tj -0 Tc 5.133 0 Td -(t)Tj --38.674 -1.2 Td -[(then )-127(calls)]TJ -/TT0 1 Tf -4.673 0 Td -(setgroups)Tj -/T1_1 1 Tf -5.777 0 Td -[(to )-127(initialize )-127(the )-127(supplementary )-127(gr)18(oup )-127(ID )-127(list )-127(for )-127(the )-127(user)]TJ -0.6268 Tc 25.827 0 Td -(.O)Tj -0 Tc 1.663 0 Td -(ne)Tj --37.939 -1.2 Td -[(must )-288(be )-288(super)8(user )-288(to )-288(call)]TJ -/TT0 1 Tf -12.75 0 Td -(initgroups)Tj -/T1_1 1 Tf -0.5377 Tc (,s)Tj -0 Tc 7.212 0 Td -[(ince )-288(it )-288(calls)]TJ -/TT0 1 Tf -5.976 0 Td -(setgroups)Tj -/T1_1 1 Tf -0.7878 Tc (.I)Tj -0.5378 Tc 6.775 0 Td -(na)Tj -0 Tc 1.62 0 Td -[(ddition )-288(to)]TJ --34.332 -1.2 Td -[(\336nding )-196(all )-196(the )-196(gr)18(oups )-196(that)]TJ -/T1_2 1 Tf -12.766 0 Td -(username)Tj -/T1_1 1 Tf -4.336 0 Td -[(is )-196(a )-196(member )-196(of )-196(in )-196(the )-196(gr)18(oup )-196(\336le,)]TJ -/TT0 1 Tf -15.899 0 Td -(initgroups)Tj -/T1_1 1 Tf --33 -1.2 Td -(includes)Tj -/T1_2 1 Tf -4.123 0 Td -(basegid)Tj -/T1_1 1 Tf -3.361 0 Td -[(in )-148(the )-148(supplementary )-148(gr)18(oup )-148(ID )-148(list;)]TJ -/T1_2 1 Tf -16.743 0 Td -(basegid)Tj -/T1_1 1 Tf -3.361 0 Td -[(is )-148(the )-148(gr)18(oup )-148(ID )-148(fr)18(om )-148(the)]TJ --27.588 -1.2 Td -(passwor)Tj -0.25 Tc 3.706 0 Td -(d\336)Tj -0 Tc 1.466 0 Td -(le for)Tj -/T1_2 1 Tf -2.544 0 Td -(username)Tj -/T1_1 1 Tf -(.)Tj --5.916 -1.2 Td -(The)Tj -/TT0 1 Tf -2.277 0 Td -(initgroups)Tj -/T1_1 1 Tf -6.603 0 Td -[(function )-353(is )-353(called )-353(by )-353(only )-353(a )-353(few )-353(pr)16(ograms. )-603(The)]TJ -/TT0 1 Tf -24.154 0 Td -(login)Tj -/T1_1 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj --38.667 -1.24 Td -[(pr)18(ogram, for example, calls it when we log in.)]TJ -/TT2 1 Tf -11.9986 0 0 11.9986 93.5886 180.9583 Tm -[(6.6 )-1332(Implementation)-556(Diff)10(erences)]TJ -/T1_1 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5842 156.9612 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-193(alr)18(eady )-193(discussed )-193(the )-193(shadow )-193(passwor)]TJ -0.4434 Tc 19.753 0 Td -(d\336)Tj -0 Tc 1.659 0 Td -[(le )-193(supported )-193(by )-193(Linux )-193(and )-193(Solaris.)]TJ --22.8 -1.2 Td -[(Fr)18(eeBSD )-91(and )-91(Mac )-91(OS )-91(X )-91(stor)]TJ -0.3408 Tc 12.739 0 Td -(ee)Tj -0 Tc 1.299 0 Td -[(ncrypted )-91(passwor)18(ds )-91(dif)18(fer)18(ently)]TJ -0.5908 Tc 13.946 0 Td -(.F)Tj -0 Tc 1.397 0 Td -(igur)Tj -0.3408 Tc 1.827 0 Td -(e6)Tj -0 Tc 1.32 0 Td -[(.5 )-91(summarizes)]TJ --32.527 -1.2 Td -[(how the four platforms cover)18(ed in this book stor)]TJ -0.25 Tc 21.396 0 Td -(eu)Tj -0 Tc 1.332 0 Td -[(ser and gr)18(oup information.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46852 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(6.5)]TJ -31.587 0 Td -[(Supplementary )-250(Gr)18(oup )-250(IDs)]TJ -/T1_1 1 Tf -14.246 0 Td -(183)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Like )-94(the )-94(passwor)]TJ -0.3442 Tc 7.718 0 Td -(d\336)Tj -0 Tc 1.56 0 Td -[(le )-94(functions, )-94(both )-94(of )-94(these )-94(functions )-94(normally )-94(r)17(eturn )-94(pointers )-94(to )-94(a)]TJ -/TT0 1 Tf --9.279 -1.2 Td -(static)Tj -/T1_0 1 Tf -3.85 0 Td -(variable, which is overwritten on each call.)Tj --2.05 -1.2 Td -[(If )-65(we )-65(want )-65(to )-65(sear)16(ch )-66(the )-66(entir)]TJ -0.3156 Tc 13.238 0 Td -(eg)Tj --0.018 Tc 1.351 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(up )-66(\336le, )-66(we )-66(need )-66(some )-66(additional )-66(functions.)-563(The)]TJ --17.312 -1.2 Td -[(following thr)18(ee functions ar)]TJ -0.25 Tc 12.271 0 Td -(el)Tj -0 Tc 1.02 0 Td -(ike their counterparts for the passwor)Tj -0.25 Tc 16.637 0 Td -(d\336)Tj -0 Tc 1.466 0 Td -(le.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5913 613.8632 Tm -(#include )Tj -0 -2.021 TD -(struct group *getgrent\(void\);)Tj -/T1_0 1 Tf -16.913 -2.021 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or or end of \336le)]TJ -/TT0 1 Tf --29.896 -2.021 Td -(void setgrent\(void\);)Tj -T* -(void endgrent\(void\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5366.25 cm -0 0 m -0 863 l -3900 863 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 183.578 512.6785 Tm -[(These )-95(thr)18(ee )-95(functions )-95(ar)]TJ -0.3449 Tc 10.863 0 Td -(en)Tj -0 Tc 1.406 0 Td -[(ot )-95(part )-95(of )-95(the )-95(base )-95(POSIX.1 )-95(standar)19(d. )-345(They)-345(ar)]TJ -0.3448 Tc 20.882 0 Td -(ed)Tj -0 Tc 1.435 0 Td -[(e\336ned )-95(as )-95(part )-95(of)]TJ --34.585 -1.25 Td -[(the XSI option in the Single UNIX Speci\336cation.)-500(All UNIX Systems pr)18(ovide them.)]TJ -9.9988 0 0 9.9988 147.5826 479.6824 Tm -(The)Tj -/TT0 1 Tf -1.999 0 Td -(setgrent)Tj -/T1_0 1 Tf -5.126 0 Td -[(function )-75(opens )-75(the )-75(gr)18(oup )-75(\336le, )-75(if )-75(it\325s )-75(not )-75(alr)14(eady )-76(open, )-76(and )-76(r)19(ewinds)]TJ --8.925 -1.2 Td -[(it. )-389(The)]TJ -/TT0 1 Tf -3.57 0 Td -(getgrent)Tj -/T1_0 1 Tf -5.189 0 Td -[(function )-139(r)18(eads )-139(the )-139(next )-139(entry )-139(fr)18(om )-139(the )-139(gr)18(oup )-139(\336le, )-139(opening )-139(the )-139(\336le)]TJ --8.759 -1.2 Td -[(\336rst, if it\325s not alr)18(eady open.)-500(The)]TJ -/TT0 1 Tf -14.843 0 Td -(endgrent)Tj -/T1_0 1 Tf -5.05 0 Td -[(function closes the gr)18(oup \336le.)]TJ -/TT1 1 Tf -11.9986 0 0 11.9986 93.5889 414.8902 Tm -[(6.5 )-1332(Supplementar)]TJ -0.556 Tc 9.678 0 Td -(yG)Tj --0.02 Tc 1.89 0 Td -(ro)Tj -0 Tc 0.98 0 Td -[(up )-278(IDs)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5848 390.8931 Tm -[(The )-138(use )-138(of )-138(gr)18(oups )-138(in )-138(the )-138(UNIX )-138(System )-138(has )-138(changed )-138(over )-138(time.)]TJ --0.055 Tc 29.61 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-138(V)111(ersion )-138(7, )-138(each)]TJ --30.846 -1.2 Td -[(user )-160(belonged )-160(to )-160(a )-160(single )-160(gr)17(oup )-160(at )-160(any )-160(point )-160(in )-160(time.)-660(When )-160(we )-160(logged )-160(in, )-160(we )-160(wer)17(e)]TJ -0 -1.2 TD -[(assigned )-105(the )-105(r)18(eal )-105(gr)18(oup )-105(ID )-105(corr)18(esponding )-105(to )-105(the )-105(numerical )-105(gr)18(oup )-105(ID )-105(in )-105(our )-105(passwor)17(d)]TJ -0 -1.2 Td -[(\336le )-117(entry)]TJ -0.6166 Tc 3.969 0 Td -(.W)Tj -0.3666 Tc 1.775 0 Td -(ec)Tj -0 Tc 1.29 0 Td -[(ould )-117(change )-117(this )-117(at )-117(any )-117(point )-117(by )-117(executing)]TJ -/TT0 1 Tf -19.945 0 Td -(newgrp)Tj -/T1_0 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.6165 Tc 0.333 -0.04 Td -(.I)Tj -0.3665 Tc 1.204 0 Td -(ft)Tj -0 Tc 1.026 0 Td -(he)Tj -/TT0 1 Tf -1.427 0 Td -(newgrp)Tj -/T1_0 1 Tf --35.4 -1.2 Td -[(command )-28(succeeded )-28(\(r)18(efer )-28(to )-28(the )-28(manual )-28(page )-28(for )-28(the )-28(permission )-28(r)8(ules\), )-28(our )-28(r)23(eal )-28(gr)18(oup)]TJ -T* -[(ID )-68(was )-68(changed )-68(to )-68(the )-68(new )-68(gr)19(oup\325s )-68(ID, )-68(and )-68(this )-68(value )-68(was )-68(used )-68(for )-68(all )-68(subsequent )-68(\336le)]TJ -T* -[(access )-47(permission )-47(checks.)]TJ --0.092 Tc 11.951 0 Td -[(We )-231(c)]TJ -0 Tc 2.128 0 Td -[(ould )-47(always )-47(go )-47(back )-47(to )-47(our )-47(original )-47(gr)18(oup )-47(by )-47(executing)]TJ -/TT0 1 Tf --14.079 -1.2 Td -(newgrp)Tj -/T1_0 1 Tf -3.85 0 Td -[(without any ar)18(guments.)]TJ --2.05 -1.2 Td -[(This )-194(form )-194(of )-194(gr)18(oup )-194(membership )-194(persisted )-194(until )-194(it )-194(was )-194(changed )-194(in )-194(4.2BSD )-194(\(cir)19(ca)]TJ --1.8 -1.2 Td -[(1983\). )-265(W)55(ith )-15(4.2BSD, )-15(the )-15(concept )-15(of )-15(supplementary )-15(gr)18(oup )-15(IDs )-15(was )-15(intr)17(oduced. )-265(Not)-265(only)]TJ -T* -[(did )-93(we )-93(belong )-93(to )-93(the )-93(gr)18(oup )-93(corr)18(esponding )-93(to )-93(the )-93(gr)14(oup )-93(ID )-93(in )-93(our )-93(passwor)]TJ -0.3434 Tc 33.85 0 Td -(d\336)Tj -0 Tc 1.559 0 Td -[(le )-93(entry)111(,)]TJ --35.41 -1.2 Td -[(but )-8(we )-8(could )-8(also )-8(belong )-8(to )-8(as )-8(many )-8(as )-8(16 )-8(additional )-8(gr)21(oups. )-258(The)-257(\336le )-8(access )-8(permission)]TJ -T* -[(checks )-148(wer)]TJ -0.3978 Tc 5.017 0 Td -(em)Tj -0 Tc 1.76 0 Td -[(odi\336ed )-148(so )-148(that )-148(in )-148(addition )-148(to )-148(comparing )-148(the )-148(the )-148(\336le\325s )-148(gr)18(oup )-148(ID )-148(to )-148(the)]TJ --6.777 -1.2 Td -[(pr)18(ocess ef)18(fective gr)18(oup ID, it was also compar)18(ed to all the supplementary gr)18(oup IDs.)]TJ -7.999 0 0 7.999 183.5795 214.9142 Tm -[(Supplementary )-143(gr)18(oup )-143(IDs )-143(ar)]TJ -0.3926 Tc 13.094 0 Td -(ear)Tj -0 Tc 2.141 0 Td -[(equir)18(ed )-143(featur)18(e)-393(of)-393(P)1(OSIX.1. )-393(\(In)-392(older )-143(versions )-143(of )-143(POSIX.1,)]TJ --15.235 -1.25 Td -[(they )-353(wer)]TJ -0.6034 Tc 4.236 0 Td -(eo)Tj -0 Tc 1.628 0 Td -[(ptional.\) )-603(The)-604(constant)]TJ -/TT0 1 Tf -11.184 0 Td -(NGROUPS_MAX)Tj -/T1_0 1 Tf -7.203 0 Td -(\(Figur)Tj -0.6034 Tc 2.716 0 Td -(e2)Tj -0 Tc 1.582 0 Td -[(.1)55(1\) )-353(speci\336es )-353(the )-353(number )-353(of)]TJ --28.551 -1.25 Td -[(supplementary gr)18(oup IDs.)]TJ -0.25 Tc 12.188 0 Td -(Ac)Tj -0 Tc 1.472 0 Td -(ommon value is 16 \(Figur)Tj -0.25 Tc 11.309 0 Td -(e2)Tj -0 Tc 1.229 0 Td -(.15\).)Tj -9.9988 0 0 9.9988 147.5845 173.9191 Tm -[(The )-204(advantage )-204(of )-204(using )-204(supplementary )-204(gr)18(oup )-204(IDs )-204(is )-204(that )-204(we )-204(no )-204(longer )-204(have )-204(to)]TJ --1.8 -1.2 Td -[(change )-325(gr)18(oups )-325(explicitly)]TJ -0.8249 Tc 11.375 0 Td -(.I)Tj -0.5749 Tc 1.412 0 Td -(ti)Tj -0.5748 Tc 1.192 0 Td -(sn)Tj -0 Tc 1.581 0 Td -[(ot )-325(uncommon )-325(to )-325(belong )-325(to )-325(multiple )-325(gr)18(oups )-325(\(i.e.,)]TJ --15.559 -1.2 Td -[(participate in multiple pr)18(ojects\) at the same time.)]TJ -1.8 -1.2 Td -[(Thr)18(ee functions ar)]TJ -0.25 Tc 8.038 0 Td -(ep)Tj --0.018 Tc 1.33 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vided to fetch and set the supplementary gr)18(oup IDs.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46853 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(182)Tj -/T1_1 1 Tf -3.5 0 Td -[(System )-250(Data )-250(Files )-250(and )-250(Information)]TJ -39.241 0 Td -[(Chapter )-250(6)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-56(only )-56(two )-56(mandatory )-56(\336elds )-56(ar)]TJ -0.3061 Tc 15.072 0 Td -(et)Tj -0 Tc 1.111 0 Td -[(he )-56(user)-74(\325s )-56(login )-56(name )-56(and )-56(encrypted )-56(passwor)17(d.)]TJ --17.983 -1.2 Td -[(The )-149(other )-149(\336elds )-149(contr)18(ol )-149(how )-149(often )-149(the )-149(passwor)18(d)-399(is)-399(to)-399(change )167(\321 )167(known)-399(as )-149(\324)37(\324passwor)18(d)]TJ -0 -1.2 Td -(aging\325)Tj -0.0833 Tc 2.726 0 Td -(\325\321a)Tj -0 Tc 1.945 0 Td -[(nd how long an account is allowed to r)18(emain active.)]TJ --2.871 -1.2 Td -[(The )-286(shadow )-286(passwor)]TJ -0.5361 Tc 9.949 0 Td -(d\336)Tj -0 Tc 1.752 0 Td -[(le )-286(should )-286(not )-286(be )-286(r)18(eadable )-286(by )-286(the )-286(world.)-786(Only )-286(a )-286(few)]TJ --13.501 -1.2 Td -[(pr)18(ograms )-556(need )-556(to )-556(access )-556(encrypted )-556(passwor)17(ds )167(\321)]TJ -/TT0 1 Tf -24.432 0 Td -(login)Tj -/T1_1 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -1.139 -0.04 Td -(and)Tj -/TT0 1 Tf -2.499 0 Td -(passwd)Tj -/T1_1 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.8063 Tc 0.333 -0.04 Td -(,f)Tj -0 Tc 1.389 0 Td -(or)Tj --38.059 -1.2 Td -[(example )167(\321 )167(and)-300(these )-49(pr)18(ograms )-49(ar)]TJ -0.2994 Tc 14.956 0 Td -(eo)Tj -0 Tc 1.324 0 Td -[(ften )-49(set-user)18(-ID )-49(r)17(oot. )-299(W)55(ith )-49(shadow )-49(passwor)18(ds, )-49(the)]TJ --0.018 Tc -16.28 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(gular passwor)Tj -0.25 Tc 6.301 0 Td -(d\336)Tj -0 Tc 1.466 0 Td -(le,)Tj -/TT0 1 Tf -1.27 0 Td -(/etc/passwd)Tj -/T1_1 1 Tf -0.25 Tc (,c)Tj -0 Tc 7.544 0 Td -[(an be left r)18(eadable by the world.)]TJ --15.637 -1.2 Td -[(On )-97(Linux )-97(3.2.0 )-97(and )-97(Solaris )-97(10, )-97(a )-97(separate )-97(set )-97(of )-97(functions )-97(is )-97(available )-97(to )-97(access )-97(the)]TJ --1.8 -1.2 Td -(shadow passwor)Tj -0.25 Tc 7.453 0 Td -(d\336)Tj -0 Tc 1.466 0 Td -(le, similar to the set of functions used to access the passwor)Tj -0.25 Tc 26.14 0 Td -(d\336)Tj -0 Tc 1.466 0 Td -(le.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5926 557.4665 Tm -(#include )Tj -0 -1.783 TD -(struct spwd *getspnam\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -0 -1.783 Td -(struct spwd *getspent\(void\);)Tj -/T1_1 1 Tf -21.18 -1.783 Td -[(Both r)18(eturn: pointer if OK,)]TJ -/TT0 1 Tf -11.933 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --35.763 -1.664 Td -(void setspent\(void\);)Tj -T* -(void endspent\(void\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4738.25 cm -0 0 m -0 927 l -3900 927 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 461.4646 Tm -[(On )-66(Fr)18(eeBSD )-66(8.0 )-66(and )-66(Mac )-66(OS )-66(X )-66(10.6.8, )-66(ther)16(e)-316(is)-316(no)-316(s)-1(hadow )-66(passwor)]TJ -0.3163 Tc 29.813 0 Td -(ds)Tj -0 Tc 1.351 0 Td -[(tr)8(uctur)18(e. )-316(The)]TJ --32.965 -1.2 Td -[(additional account information is stor)18(ed in the passwor)]TJ -0.25 Tc 24.463 0 Td -(d\336)Tj -0 Tc 1.466 0 Td -[(le \(r)18(efer back to Figur)]TJ -0.25 Tc 9.474 0 Td -(e6)Tj -0 Tc 1.229 0 Td -(.1\).)Tj -/TT1 1 Tf -11.9986 0 0 11.9986 93.5888 417.0699 Tm -[(6.4 )-1332(Gr)20(oup )-278(File)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 396.6724 Tm -[(The )-12(UNIX )-12(System\325s )-12(gr)18(oup )-12(\336le, )-12(called )-12(the )-12(gr)18(oup )-12(database )-12(by )-12(POSIX.1, )-12(contains )-12(the )-12(\336elds)]TJ -0 -1.2 TD -[(shown )-71(in )-71(Figur)]TJ -0.3208 Tc 6.866 0 Td -(e6)Tj -0 Tc 1.3 0 Td -[(.4. )-321(These)-321(\336elds )-71(ar)]TJ -0.3208 Tc 8.076 0 Td -(ec)Tj -0 Tc 1.244 0 Td -[(ontained )-71(in )-71(a)]TJ -/TT0 1 Tf -6.252 0 Td -(group)Tj -/T1_1 1 Tf -3.321 0 Td -[(str)8(uctur)]TJ -0.3208 Tc 3.49 0 Td -(et)Tj -0 Tc 1.126 0 Td -[(hat )-71(is )-71(de\336ned )-71(in)]TJ -/TT0 1 Tf --31.674 -1.2 Td -()Tj -/T1_1 1 Tf -(.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1316.25 3587.25 cm -0 0 m -3859 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 257.1897 350.6569 Tm -(struct group)Tj -/T1_1 1 Tf -13.352 0 Td -[(Fr)18(eeBSD )-1416(Linux)-1382(Mac OS X)-1198(Solaris)]TJ --11.589 -1.25 Td -(member )Tj -12.864 0 Td -[(8.0)-3243(3.2.0 )-2368(10.6.8)-3118(10)]TJ --25.655 0.625 Td -(Description)Tj -19.926 0 Td -(POSIX.1)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1316.25 3367.25 cm -0 0 m -3859 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1316.25 3347.25 cm -0 0 m -3859 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 135.6035 326.6416 Tm -[(gr)18(oup name)]TJ -/TT0 1 Tf -14 0 Td -[(char )-600(*gr_name)]TJ -/T1_1 1 Tf -3.9125 Tc 11.632 0 Td -[(\245\245 )3813(\245 )3813(\245 )3813(\245)]TJ -0 Tc -25.631 -1.25 Td -[(encrypted passwor)18(d)]TJ -/TT0 1 Tf -14 0 Td -[(char )-600(*gr_passwd)]TJ -/T1_1 1 Tf -4.262 Tc 16.15 0 Td -(\245\245\245\245)Tj -0 Tc -30.15 -1.25 Td -[(numerical gr)18(oup ID)]TJ -/TT0 1 Tf -14 0 Td -[(int )-1800(gr_gid)]TJ -/T1_1 1 Tf -3.9125 Tc 11.632 0 Td -[(\245\245 )3813(\245 )3813(\245 )3813(\245)]TJ -/TT0 1 Tf -0 Tc -11.632 -1.25 Td -(char **gr_mem)Tj -/T1_1 1 Tf -3.9125 Tc 11.632 0 Td -[(\245\245 )3813(\245 )3813(\245 )3813(\245)]TJ -0 Tc -25.631 0 Td -(array of pointers to individual)Tj -2.25 -1.25 Td -(user names)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1316.25 2827.25 cm -0 0 m -3859 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3598.25 2827.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3264.25 2827.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2456.25 2827.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5175.25 2827.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1316.25 2827.25 cm -0 0 m -0 760 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 257.1428 265.8402 Tm -(Figure 6.4)Tj -/T1_1 1 Tf -5.195 0 Td -(Fields in)Tj -/TT0 1 Tf -4.025 0 Td -(/etc/group)Tj -/T1_1 1 Tf -6.25 0 Td -(\336le)Tj -9.997 0 0 9.997 147.5559 245.4464 Tm -[(The )-5(\336eld)]TJ -/TT0 1 Tf -4.17 0 Td -(gr_mem)Tj -/T1_1 1 Tf -3.855 0 Td -[(is )-5(an )-5(array )-5(of )-5(pointers )-5(to )-5(the )-5(user )-5(names )-5(that )-5(belong )-5(to )-5(this )-5(gr)21(oup.)]TJ --9.824 -1.2 Td -[(This array is terminated by a null pointer)74(.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-306(c)]TJ -0 Tc 2.203 0 Td -[(an )-121(look )-121(up )-121(either )-121(a )-121(gr)18(oup )-121(name )-121(or )-121(a )-121(numerical )-121(gr)13(oup )-121(ID )-121(with )-121(the )-121(following)]TJ --4.003 -1.2 Td -(two functions, which ar)Tj -0.25 Tc 10.447 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(e\336ned by POSIX.1.)Tj -/TT0 1 Tf -8.9973 0 0 8.9973 147.5561 192.7622 Tm -(#include )Tj -0 -1.783 TD -(struct group *getgrgid\(gid_t)Tj -/T1_2 1 Tf -17.4 0 Td -(gid)Tj -/TT0 1 Tf -(\);)Tj --17.4 -1.783 Td -(struct group *getgrnam\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -21.18 -1.783 Td -[(Both r)18(eturn: pointer if OK,)]TJ -/TT0 1 Tf -11.933 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1401.25 cm -0 0 m -0 617 l -3900 617 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46854 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(6.3)]TJ -34.991 0 Td -[(Shadow )-250(Passwor)18(ds)]TJ -/T1_1 1 Tf -10.842 0 Td -(181)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(The )-109(call )-109(to)]TJ -/TT0 1 Tf -5.15 0 Td -(setpwent)Tj -/T1_0 1 Tf -5.159 0 Td -[(at )-109(the )-109(beginning )-109(of )-109(this )-109(function )-109(is )-109(self-defense: )-109(we )-109(ensur)]TJ -0.3593 Tc 26.118 0 Td -(et)Tj -0 Tc 1.164 0 Td -(hat)Tj --37.592 -1.2 Td -[(the )-48(\336les )-48(ar)]TJ -0.2976 Tc 4.658 0 Td -(er)Tj -0 Tc 1.154 0 Td -[(ewound, )-48(in )-48(case )-48(the )-48(caller )-48(has )-48(alr)20(eady )-48(opened )-48(them )-48(by )-48(calling)]TJ -/TT0 1 Tf -28.138 0 Td -(getpwent)Tj -/T1_0 1 Tf -(.)Tj --0.092 Tc -33.95 -1.2 Td -[(We )-216(c)]TJ -0 Tc 2.113 0 Td -(all)Tj -/TT0 1 Tf -1.364 0 Td -(endpwent)Tj -/T1_0 1 Tf -5.082 0 Td -[(when )-32(we\325r)]TJ -0.2817 Tc 4.727 0 Td -(ed)Tj -0 Tc 1.372 0 Td -[(one, )-32(because )-32(neither)]TJ -/TT0 1 Tf -9.318 0 Td -(getpwnam)Tj -/T1_0 1 Tf -5.082 0 Td -(nor)Tj -/TT0 1 Tf -1.805 0 Td -(getpwuid)Tj -/T1_0 1 Tf -5.082 0 Td -(should)Tj --35.943 -1.2 Td -(leave any of the \336les open.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 6330.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9986 0 0 11.9986 93.5888 600.5279 Tm -[(6.3 )-1332(Shado)]TJ -0.556 Tc 6.041 0 Td -(wP)Tj -0 Tc 1.971 0 Td -[(ass)15(w)20(or)20(ds)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5848 582.5301 Tm -[(The )-82(encrypted )-82(passwor)18(d)-332(is)-332(a)-332(copy )-82(of )-82(the )-82(user)-74(\325s )-82(passwor)]TJ -0.3319 Tc 25.463 0 Td -(dt)Tj -0 Tc 1.269 0 Td -[(hat )-82(has )-82(been )-82(put )-82(thr)18(ough )-82(a)]TJ --26.731 -1.2 Td -[(one-way )-110(encryption )-110(algorithm.)-610(Because )-110(this )-110(algorithm )-110(is )-110(one-way)108(,)-360(we)-360(c)-1(an\325t )-110(guess )-110(the)]TJ -0 -1.2 Td -(original passwor)Tj -0.25 Tc 7.408 0 Td -(df)Tj --0.018 Tc 1.194 0 Td -(ro)Tj -0.25 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.459 0 Td -(he encrypted version.)Tj --9.184 -1.2 Td -(Historically)Tj -0.3455 Tc 5.076 0 Td -(,t)Tj -0 Tc 0.921 0 Td -[(he )-95(algorithm )-95(used )-95(always )-95(generated )-95(13 )-95(printable )-95(characters )-95(fr)18(om )-95(the)]TJ --7.798 -1.2 Td -[(64-character )-271(set)]TJ -/TT0 1 Tf -7.669 0 Td -([a-zA-Z0-9./])Tj -/T1_0 1 Tf -8.321 0 Td -[(\(see )-271(Morris )-271(and )-271(Thompson)]TJ -13.266 0.04 Td -([)Tj -0.333 -0.04 Td -(1979)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -[(\). )-521(Some)-521(newer)]TJ --31.923 -1.2 Td -[(systems )-416(use )-416(alternative )-416(algorithms, )-416(such )-416(as )-416(MD5 )-416(or )-416(SHA)]TJ -28.402 0.09 Td -(-)Tj -0.333 -0.09 Td -[(1, )-416(to )-416(generate )-416(longer)]TJ --28.735 -1.2 Td -[(encrypted )-443(passwor)]TJ -0.693 Tc 8.872 0 Td -(ds)Tj -0 Tc 1.728 0 Td -[(trings. )-693(\(The)-693(mor)]TJ -0.693 Tc 8.273 0 Td -(ec)Tj -0 Tc 1.616 0 Td -[(haracters )-443(used )-443(to )-443(stor)]TJ -0.693 Tc 10.786 0 Td -(et)Tj -0 Tc 1.498 0 Td -[(he )-443(encrypted)]TJ --32.773 -1.2 Td -[(passwor)18(d, )-237(the )-237(mor)]TJ -0.4871 Tc 8.734 0 Td -(ec)Tj -0 Tc 1.41 0 Td -[(ombinations )-237(ther)]TJ -0.4871 Tc 7.775 0 Td -(ea)Tj --0.018 Tc 1.466 0 Td -(re)Tj -0.4871 Tc 0.856 0 Td -(,a)Tj -0 Tc 1.237 0 Td -[(nd )-237(the )-237(har)18(der )-237(it )-237(will )-237(be )-237(to )-237(guess )-237(the)]TJ --21.479 -1.2 Td -[(passwor)18(d)-400(by)-400(t)-1(rying )-150(all )-150(possible )-150(variations.\))-650(When )-150(we )-150(place )-150(a )-150(single )-150(character )-150(in )-150(the)]TJ -0 -1.2 TD -[(encrypted )-45(passwor)]TJ -0.2955 Tc 8.474 0 Td -(d\336)Tj -0 Tc 1.511 0 Td -[(eld, )-45(we )-45(ensur)]TJ -0.2955 Tc 6 0 Td -(et)Tj -0 Tc 1.101 0 Td -[(hat )-45(an )-45(encrypted )-45(passwor)]TJ -0.2955 Tc 11.556 0 Td -(dw)Tj -0 Tc 1.741 0 Td -[(ill )-45(never )-45(match )-45(this)]TJ --30.382 -1.2 Td -(value.)Tj -1.8 -1.2 Td -[(Given )-237(an )-237(encrypted )-237(passwor)18(d, )-237(we )-237(can\325t )-237(apply )-237(an )-237(algorithm )-237(that )-237(inverts )-237(it )-237(and)]TJ --0.018 Tc -1.8 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-310(the )-310(plaintext )-310(passwor)18(d. )-560(\(The)-560(plaintext )-310(passwor)18(d)-560(is)-560(what )-310(we )-310(enter )-310(at )-310(the)]TJ -/TT0 1 Tf --0.856 -1.2 Td -(Password:)Tj -/T1_0 1 Tf -5.863 0 Td -[(pr)18(ompt.\) )-463(But)-463(we )-213(could )-213(guess )-213(a )-213(passwor)18(d, )-213(r)9(un )-213(it )-213(thr)18(ough )-213(the )-213(one-way)]TJ --5.863 -1.2 Td -[(algorithm, )-78(and )-78(compar)]TJ -0.3284 Tc 10.321 0 Td -(et)Tj -0 Tc 1.133 0 Td -[(he )-78(r)18(esult )-78(to )-78(the )-78(encrypted )-78(passwor)17(d. )-328(If)-329(user )-78(passwor)18(ds )-78(wer)17(e)]TJ --11.454 -1.2 Td -[(randomly )-467(chosen, )-467(this )-467(br)7(ute-for)18(ce )-467(appr)18(oach )-467(wouldn\325t )-467(be )-467(too )-467(successful.)-968(Users,)]TJ --0 -1.2 Td -(however)Tj -0.3506 Tc 3.806 0 Td -(,t)Tj -0 Tc 0.927 0 Td -[(end )-101(to )-101(choose )-101(nonrandom )-101(passwor)20(ds, )-100(such )-100(as )-100(spouse\325s )-100(name, )-100(str)18(eet )-100(names,)]TJ --4.733 -1.2 Td -[(or )-68(pet )-68(names.)]TJ -0.3176 Tc 6.668 0 Td -(Ac)Tj -0 Tc 1.54 0 Td -[(ommon )-68(experiment )-68(is )-68(for )-68(someone )-68(to )-68(obtain )-68(a )-68(copy )-68(of )-68(the )-68(passwor)22(d)]TJ --8.207 -1.2 Td -[(\336le )-245(and )-245(try )-245(guessing )-245(the )-245(passwor)20(ds. )-495(\(Chapter)-494(4)-495(of)-495(G)1(ar\336nkel )-245(et )-245(al.)]TJ -32.144 0.04 Td -([)Tj -0.333 -0.04 Td -(2003)Tj -2 0.04 Td -(])Tj -0.828 -0.04 Td -(contains)Tj --35.305 -1.2 Td -[(additional )-44(details )-44(and )-44(history )-44(on )-44(passwor)16(ds )-45(and )-45(the )-45(passwor)]TJ -0.2946 Tc 27.295 0 Td -(de)Tj -0 Tc 1.385 0 Td -[(ncryption )-45(scheme )-45(used)]TJ --28.68 -1.2 Td -(on UNIX systems.\))Tj --0.092 Tc 1.8 -1.2 Td -[(To )-345(m)]TJ -0 Tc 2.361 0 Td -[(ake )-161(it )-161(mor)]TJ -0.4113 Tc 4.781 0 Td -(ed)Tj -0 Tc 1.501 0 Td -[(if)18(\336cult )-161(to )-161(obtain )-161(the )-161(raw )-161(materials )-161(\(the )-161(encrypted )-161(passwor)16(ds\),)]TJ --10.443 -1.2 Td -[(systems )-251(now )-251(stor)]TJ -0.5014 Tc 8.154 0 Td -(et)Tj -0 Tc 1.306 0 Td -[(he )-251(encrypted )-251(passwor)17(d)-501(in)-501(a)-1(nother )-251(\336le, )-251(often )-251(called )-251(the)]TJ -/T1_2 1 Tf -26.541 0 Td -(shadow)Tj --36.001 -1.2 Td -[(password )-275(\336le)]TJ -/T1_0 1 Tf -0.7751 Tc (.M)Tj -0 Tc 7.468 0 Td -(inimally)Tj -0.5251 Tc 3.574 0 Td -(,t)Tj -0 Tc 1.101 0 Td -[(his )-275(\336le )-275(has )-275(to )-275(contain )-275(the )-275(user )-275(name )-275(and )-275(the )-275(encrypted)]TJ --12.143 -1.2 Td -[(passwor)18(d. )-250(Other)-250(information r)18(elating to the passwor)18(d)-250(is)-250(also stor)18(ed her)]TJ -0.25 Tc 31.815 0 Td -(e\()Tj -0 Tc 1.062 0 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e6)Tj -0 Tc 1.229 0 Td -(.3\).)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1927.25 2758.25 cm -0 0 m -2638 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 378.0319 267.7518 Tm -(struct spwd)Tj -/T1_0 1 Tf -1.464 -1.25 Td -(member)Tj --17.478 0.625 Td -(Description)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1927.25 2538.25 cm -0 0 m -2638 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1927.25 2518.25 cm -0 0 m -2638 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 196.6528 243.7415 Tm -(user login name)Tj -/TT0 1 Tf -19.975 0 Td -(char *sp_namp)Tj -/T1_0 1 Tf --19.975 -1.25 Td -[(encrypted passwor)18(d)]TJ -/TT0 1 Tf -19.975 0 Td -(char *sp_pwdp)Tj -/T1_0 1 Tf --19.975 -1.25 Td -(days since Epoch of last passwor)Tj -0.25 Tc 14.471 0 Td -(dc)Tj -0 Tc 1.305 0 Td -(hange)Tj -/TT0 1 Tf -4.199 0 Td -[(int )-1200(sp_lstchg)]TJ -/T1_0 1 Tf --19.975 -1.25 Td -(days until change allowed)Tj -/TT0 1 Tf -19.975 0 Td -[(int )-1200(sp_min)]TJ -/T1_0 1 Tf --19.975 -1.25 Td -(days befor)Tj -0.25 Tc 4.629 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(hange r)18(equir)18(ed)]TJ -/TT0 1 Tf -14.173 0 Td -[(int )-1200(sp_max)]TJ -/T1_0 1 Tf --19.975 -1.25 Td -(days warning for expiration)Tj -/TT0 1 Tf -19.975 0 Td -[(int )-1200(sp_warn)]TJ -/T1_0 1 Tf --19.975 -1.25 Td -(days befor)Tj -0.25 Tc 4.629 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ccount inactive)Tj -/TT0 1 Tf -14.117 0 Td -[(int )-1200(sp_inact)]TJ -/T1_0 1 Tf --19.975 -1.25 Td -[(days since Epoch when account expir)18(es)]TJ -/TT0 1 Tf -19.975 0 Td -[(int )-1200(sp_expire)]TJ -/T1_0 1 Tf --0.018 Tc -19.975 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(served)Tj -/TT0 1 Tf -19.119 0 Td -(unsigned int sp_flag)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1927.25 1598.25 cm -0 0 m -2638 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3505.25 1598.25 cm -0 0 m -0 1160 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4565.25 1598.25 cm -0 0 m -0 1160 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1927.25 1598.25 cm -0 0 m -0 1160 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 254.7436 141.7575 Tm -(Figure 6.3)Tj -/T1_0 1 Tf -5.195 0 Td -(Fields in)Tj -/TT0 1 Tf -4.025 0 Td -(/etc/shadow)Tj -/T1_0 1 Tf -6.85 0 Td -(\336le)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46855 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(6)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(System )-280(Da)-5(ta )-280(Files )-280(and)]TJ -0 -1.667 TD -[(Inf)20(or )265(ma)-5(tion)]TJ -/TT0 1 Tf -12 0 0 12 93.6001 410.3998 Tm -[(6.1 )-1332(Intr)20(oduction)]TJ -/T1_2 1 Tf -0.3857 Tc 10 0 0 10 129.6001 386.3998 Tm -(AU)Tj -0 Tc 1.942 0 Td -[(NIX )-136(system )-136(r)19(equir)18(es )-136(numer)18(ous )-136(data )-136(\336les )-136(for )-136(normal )-136(operation: )-136(the )-136(passwor)]TJ -0.3856 Tc 34.687 0 Td -(d\336)Tj -0 Tc 1.602 0 Td -(le)Tj -/TT1 1 Tf --38.23 -1.2 Td -(/etc/passwd)Tj -/T1_2 1 Tf -6.869 0 Td -[(and )-19(the )-19(gr)18(oup )-19(\336le)]TJ -/TT1 1 Tf -8.214 0 Td -(/etc/group)Tj -/T1_2 1 Tf -6.269 0 Td -(ar)Tj -0.2692 Tc 0.877 0 Td -(et)Tj -0 Tc 1.074 0 Td -[(wo )-19(\336les )-19(that )-19(ar)]TJ -0.2692 Tc 6.598 0 Td -(ef)Tj --0.018 Tc 1.081 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(quently )-19(used )-19(by)]TJ --31.839 -1.2 Td -[(various )-36(pr)18(ograms. )-286(For)-285(example, )-36(the )-36(passwor)]TJ -0.2857 Tc 20.123 0 Td -(d\336)Tj -0 Tc 1.502 0 Td -[(le )-36(is )-36(used )-36(every )-36(time )-36(a )-36(user )-36(logs )-36(in )-36(to )-36(a)]TJ --21.625 -1.2 Td -(UNIX system and every time someone executes an)Tj -/TT1 1 Tf -22.622 0 Td -[(ls )267(-l)]TJ -/T1_2 1 Tf -2.983 0 Td -(command.)Tj --23.805 -1.2 Td -(Historically)Tj -0.4806 Tc 5.076 0 Td -(,t)Tj -0 Tc 1.057 0 Td -[(hese )-231(data )-231(\336les )-231(have )-231(been )-231(ASCII )-231(text )-231(\336les )-231(and )-231(wer)]TJ -0.4806 Tc 23.759 0 Td -(er)Tj -0 Tc 1.337 0 Td -[(ead )-231(with )-231(the)]TJ --33.029 -1.2 Td -(standar)Tj -0.3776 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.326 0 Td -[(/O )-128(library)]TJ -0.6276 Tc 4.64 0 Td -(.B)Tj -0 Tc 1.489 0 Td -[(ut )-128(for )-128(lar)18(ger )-128(systems, )-128(a )-128(sequential )-128(scan )-128(thr)21(ough )-127(the )-127(passwor)17(d)]TJ --10.774 -1.2 Td -[(\336le )-104(becomes )-104(time )-104(consuming.)]TJ --0.092 Tc 13.989 0 Td -[(We )-288(w)]TJ -0 Tc 2.575 0 Td -[(ant )-104(to )-104(be )-104(able )-104(to )-104(stor)]TJ -0.3541 Tc 9.451 0 Td -(et)Tj -0 Tc 1.159 0 Td -[(hese )-104(data )-104(\336les )-104(in )-104(a )-104(format)]TJ --27.174 -1.2 Td -[(other )-188(than )-188(ASCII )-188(text, )-188(but )-188(still )-188(pr)19(ovide )-188(an )-188(interface )-188(for )-188(an )-188(application )-188(pr)18(ogram )-188(that)]TJ -0 -1.2 TD -[(works )-51(with )-51(any )-51(\336le )-51(format.)-551(The )-51(portable )-51(interfaces )-51(to )-51(these )-51(data )-51(\336les )-51(ar)]TJ -0.301 Tc 32.289 0 Td -(et)Tj -0 Tc 1.106 0 Td -[(he )-51(subject )-51(of)]TJ --33.395 -1.2 Td -[(this )-127(chapter)]TJ -0.6266 Tc 5.253 0 Td -(.W)Tj -0.3766 Tc 1.785 0 Td -(ea)Tj -0 Tc 1.356 0 Td -[(lso )-126(cover )-126(the )-126(system )-126(identi\336cation )-126(functions )-126(and )-126(the )-126(time )-126(and )-126(date)]TJ --8.393 -1.2 Td -(functions.)Tj -/TT0 1 Tf -12 0 0 12 93.6004 224.3998 Tm -[(6.2 )-1332(P)30(ass)]TJ --0.02 Tc 5.29 0 Td -[(wo)-20(rd )-318(F)]TJ -0 Tc 3.516 0 Td -(ile)Tj -/T1_2 1 Tf -10 0 0 10 129.6003 200.3998 Tm -[(The )-164(UNIX )-164(System\325s )-164(passwor)]TJ -0.4141 Tc 13.13 0 Td -(d\336)Tj -0 Tc 1.63 0 Td -[(le, )-164(called )-164(the )-164(user )-164(database )-164(by )-164(POSIX.1, )-164(contains )-164(the)]TJ --14.76 -1.2 Td -[(\336elds )-182(shown )-182(in )-182(Figur)]TJ -0.4316 Tc 9.929 0 Td -(e6)Tj -0 Tc 1.411 0 Td -[(.1. )-432(These)-431(\336elds )-182(ar)]TJ -0.4316 Tc 8.409 0 Td -(ec)Tj -0 Tc 1.355 0 Td -[(ontained )-182(in )-182(a)]TJ -/TT1 1 Tf -6.585 0 Td -(passwd)Tj -/T1_2 1 Tf -4.031 0 Td -[(str)8(uctur)]TJ -0.4315 Tc 3.49 0 Td -(et)Tj -0 Tc 1.236 0 Td -[(hat )-181(is)]TJ --36.445 -1.2 Td -(de\336ned in)Tj -/TT1 1 Tf -4.74 0 Td -()Tj -/T1_2 1 Tf -(.)Tj -8 0 0 8 183.6008 156.3998 Tm -[(Note )-126(that )-126(POSIX.1 )-126(speci\336es )-126(only )-126(5 )-126(of )-126(the )-126(10 )-126(\336elds )-126(in )-126(the)]TJ -/TT1 1 Tf -26.261 0 Td -(passwd)Tj -/T1_2 1 Tf -3.977 0 Td -[(str)8(uctur)18(e. )-376(Most)-377(platforms)]TJ --30.237 -1.25 Td -[(support at least 7 of the \336elds.)-500(The BSD-derived platforms support all 10.)]TJ -/T1_3 1 Tf -9 0 0 9 506.101 113.9998 Tm -(177)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46856 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Chapter )-250(5)]TJ -39.788 0 Td -[(Exer)18(cises)]TJ -/T1_1 1 Tf -6.045 0 Td -(175)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Section )-152(7.8\).)-652(As )-152(with )-152(the)]TJ -/T1_2 1 Tf -11.911 0 Td -(s\336o)Tj -/T1_0 1 Tf -1.764 0 Td -[(package, )-152(ASI )-152(attempts )-152(to )-152(minimize )-152(the )-152(amount )-152(of )-152(data)]TJ --13.674 -1.2 Td -(copying by using pointers.)Tj -1.8 -1.2 Td -[(Several )-26(implementations )-26(of )-26(the )-26(standar)]TJ -0.2762 Tc 17.408 0 Td -(dI)Tj -0 Tc 1.224 0 Td -[(/O )-26(library )-26(ar)]TJ -0.2762 Tc 5.802 0 Td -(ea)Tj -0 Tc 1.255 0 Td -[(vailable )-26(in )-26(C )-26(libraries )-26(that)]TJ --27.49 -1.2 Td -(wer)Tj -0.3432 Tc 1.69 0 Td -(ed)Tj -0 Tc 1.433 0 Td -[(esigned )-93(for )-93(systems )-93(with )-93(small )-93(memory )-93(footprints, )-93(such )-93(as )-93(embedded )-93(systems.)]TJ --3.123 -1.2 Td -[(These )-397(implementations )-397(emphasize )-397(modest )-397(memory )-397(r)18(equir)18(ements )-397(over )-397(portability)111(,)]TJ -0 -1.2 TD -[(speed, )-357(or )-357(functionality)]TJ -0.8569 Tc 10.559 0 Td -(.T)Tj -0 Tc 1.63 0 Td -[(wo )-357(such )-357(implementations )-357(ar)]TJ -0.6069 Tc 13.615 0 Td -(et)Tj -0 Tc 1.412 0 Td -[(he )-357(uClibc )-357(C )-357(library )-357(\(see)]TJ -/TT0 1 Tf --27.215 -1.2 Td -(http://www.uclibc.org)Tj -/T1_0 1 Tf -13.498 0 Td -[(for )-648(mor)]TJ -0.898 Tc 3.978 0 Td -(ei)Tj -0 Tc 1.668 0 Td -[(nformation\) )-648(and )-648(the )-648(Newlib )-648(C )-648(library)]TJ --19.144 -1.2 Td -(\()Tj -/TT0 1 Tf -(http://sources.redhat.com/newlib)Tj -/T1_0 1 Tf -(\).)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5948 548.9671 Tm -[(5.16 )-776(Summar)-10(y)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5926 527.3684 Tm -[(The )-12(standar)]TJ -0.262 Tc 5.256 0 Td -(dI)Tj -0 Tc 1.21 0 Td -[(/O )-12(library )-12(is )-12(used )-12(by )-12(most )-12(UNIX )-12(applications.)-512(In )-12(this )-12(chapter)74(,)-262(we)-262(looked)]TJ --6.466 -1.2 Td -[(at )-133(many )-133(of )-133(the )-133(functions )-133(pr)18(ovided )-133(by )-133(this )-133(library)111(,)-383(as)-383(well )-133(as )-133(at )-133(some )-133(implementation)]TJ -0 -1.2 Td -[(details )-144(and )-144(ef)18(\336ciency )-144(considerations.)-644(Be )-144(awar)18(e)-394(of)-394(the )-144(buf)18(fering )-144(that )-144(takes )-144(place )-144(with)]TJ --0 -1.2 Td -[(this library)111(,)-250(as)-250(this is the ar)18(ea that generates the most pr)18(oblems and confusion.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 129.593 455.3727 Tm -[(Ex)10(er)20(cises)]TJ -/T1_1 1 Tf -8.9995 0 0 8.9995 129.593 434.3739 Tm -(5.1)Tj -/T1_0 1 Tf -2.602 0 Td -(Implement)Tj -/TT0 1 Tf -5.111 0 Td -(setbuf)Tj -/T1_0 1 Tf -3.85 0 Td -(using)Tj -/TT0 1 Tf -2.706 0 Td -(setvbuf)Tj -/T1_0 1 Tf -(.)Tj -/T1_1 1 Tf --14.269 -1.667 Td -(5.2)Tj -/T1_0 1 Tf --0.09 Tc 2.602 0 Td -(Ty)Tj -0 Tc 1.079 0 Td -[(pe )-138(in )-138(the )-138(pr)18(ogram )-138(that )-138(copies )-138(a )-138(\336le )-138(using )-138(line-at-a-time )-138(I/O )-138(\()]TJ -/TT0 1 Tf -28.324 0 Td -(fgets)Tj -/T1_0 1 Tf -3.388 0 Td -(and)Tj -/TT0 1 Tf -2.081 0 Td -(fputs)Tj -/T1_0 1 Tf -0.3879 Tc (\)f)Tj --0.018 Tc 4.054 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(m)Tj --39.848 -1.222 Td -(Figur)Tj -0.2622 Tc 2.383 0 Td -(e5)Tj -0 Tc 1.241 0 Td -[(.5, )-12(but )-12(use )-12(a)]TJ -/TT0 1 Tf -5.537 0 Td -(MAXLINE)Tj -/T1_0 1 Tf -4.462 0 Td -[(of )-12(4.)-512(What )-12(happens )-12(if )-12(you )-12(copy )-12(lines )-12(that )-12(exceed )-12(this )-12(length?)]TJ --13.623 -1.222 Td -(Explain what is happening.)Tj -/T1_1 1 Tf --2.602 -1.667 Td -(5.3)Tj -/T1_0 1 Tf -2.602 0 Td -[(What does a r)18(eturn value of 0 fr)18(om)]TJ -/TT0 1 Tf -15.686 0 Td -(printf)Tj -/T1_0 1 Tf -3.85 0 Td -(mean?)Tj -/T1_1 1 Tf --22.138 -1.667 Td -(5.4)Tj -/T1_0 1 Tf -2.602 0 Td -[(The )-103(following )-103(code )-103(works )-103(corr)18(ectly )-103(on )-103(some )-103(machines, )-103(but )-103(not )-103(on )-103(others.)-603(What )-103(could )-103(be)]TJ -0 -1.222 TD -[(the pr)18(oblem?)]TJ -/TT0 1 Tf -2 -1.8 Td -[(#include )-1800()]TJ -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(char )-1800(c;)]TJ -0 -2.021 TD -(while \(\(c = getchar\(\)\) != EOF\))Tj -2.4 -1.189 Td -(putchar\(c\);)Tj --4.8 -1.189 Td -(})Tj -/T1_1 1 Tf --4.602 -2.278 Td -(5.5)Tj -/T1_0 1 Tf -2.602 0 Td -(How would you use the)Tj -/TT0 1 Tf -10.945 0 Td -(fsync)Tj -/T1_0 1 Tf -3.25 0 Td -(function \(Section 3.13\) with a standar)Tj -0.25 Tc 16.419 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O str)18(eam?)]TJ -/T1_1 1 Tf --34.414 -1.667 Td -(5.6)Tj -/T1_0 1 Tf -2.602 0 Td -[(In )-206(the )-206(pr)18(ograms )-206(in )-206(Figur)18(es )-206(1.7 )-206(and )-206(1.10, )-206(the )-206(pr)18(ompt )-206(that )-206(is )-206(printed )-206(does )-206(not )-206(contain )-206(a)]TJ -0 -1.222 TD -(newline, and we don\325t call)Tj -/TT0 1 Tf -11.913 0 Td -(fflush)Tj -/T1_0 1 Tf -0.5 Tc (.W)Tj -0 Tc 5.35 0 Td -[(hat causes the pr)18(ompt to be output?)]TJ -/T1_1 1 Tf --19.865 -1.667 Td -(5.7)Tj -/T1_0 1 Tf -2.602 0 Td -(BSD)Tj -1.91 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-189(systems )-189(pr)18(ovide )-189(a )-189(function )-189(called)]TJ -/TT0 1 Tf -19.011 0 Td -(funopen)Tj -/T1_0 1 Tf -4.639 0 Td -[(that )-189(allows )-189(us )-189(to )-189(inter)18(cept )-189(r)16(ead,)]TJ --25.894 -1.222 Td -[(write, )-197(seek, )-197(and )-197(close )-197(calls )-197(on )-197(a )-197(str)20(eam. )-447(Use)-446(this )-197(function )-197(to )-197(implement)]TJ -/TT0 1 Tf -34.211 0 Td -(fmemopen)Tj -/T1_0 1 Tf -5.247 0 Td -(for)Tj --39.458 -1.222 Td -[(Fr)18(eeBSD and Mac OS X.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46857 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(174)Tj -/T1_1 1 Tf -3.5 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Library)]TJ -34.372 0 Td -[(Chapter )-250(5)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(The)Tj -/TT0 1 Tf -2.338 0 Td -(open_memstream)Tj -/T1_1 1 Tf -9.064 0 Td -[(function )-414(cr)18(eates )-414(a )-414(str)19(eam )-413(that )-413(is )-413(byte )-413(oriented, )-413(and )-413(the)]TJ -/TT0 1 Tf --11.401 -1.2 Td -(open_wmemstream)Tj -/T1_1 1 Tf -9.73 0 Td -[(function )-480(cr)18(eates )-480(a )-480(str)18(eam )-480(that )-480(is )-480(wide )-480(oriented )-480(\(r)18(ecall )-480(the)]TJ --9.73 -1.2 Td -[(discussion )-255(of )-255(multibyte )-255(characters )-255(in )-255(Section )-255(5.2\).)-757(These )-255(two )-255(functions )-255(dif)18(fer )-255(fr)17(om)]TJ -/TT0 1 Tf -0 -1.2 TD -(fmemopen)Tj -/T1_1 1 Tf -5.05 0 Td -(in several ways:)Tj -0.883 Tc -3.25 -1.92 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he str)18(eam cr)18(eated is only open for writing.)]TJ -0.883 Tc -2.102 -1.6 Td -(\245W)Tj -0.3692 Tc 2.397 0 Td -(ec)Tj -0 Tc 1.292 0 Td -[(an\325t )-119(specify )-119(our )-119(own )-119(buf)17(fer)]TJ -0.3693 Tc 12.401 0 Td -(,b)Tj -0 Tc 1.172 0 Td -[(ut )-119(we )-119(can )-119(get )-119(access )-119(to )-119(the )-119(buf)16(fer )176(\325s)-369(addr)18(ess)]TJ --15.774 -1.2 Td -[(and size thr)18(ough the)]TJ -/T1_2 1 Tf -9.346 0 Td -(bufp)Tj -/T1_1 1 Tf -2.047 0 Td -(and)Tj -/T1_2 1 Tf -1.943 0 Td -(sizep)Tj -/T1_1 1 Tf -2.25 0 Td -[(ar)18(guments, r)18(espectively)111(.)]TJ -0.883 Tc -17.075 -1.6 Td -(\245W)Tj -0.25 Tc 2.397 0 Td -(en)Tj -0 Tc 1.311 0 Td -[(eed to fr)18(ee the buf)18(fer ourselves after closing the str)18(eam.)]TJ -0.883 Tc -3.708 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he buf)18(fer will gr)18(ow as we add bytes to the str)18(eam.)]TJ --0.092 Tc -2.102 -1.92 Td -[(We )-190(m)]TJ -0 Tc 2.526 0 Td -[(ust )-6(follow )-6(some )-6(r)8(ules, )-6(however)]TJ -0.2563 Tc 13.791 0 Td -(,r)Tj -0 Tc 0.883 0 Td -[(egar)18(ding )-6(the )-6(use )-6(of )-6(the )-6(buf)18(fer )-6(addr)16(ess )-6(and )-6(its)]TJ --19.001 -1.2 Td -[(length. )-425(First,)-426(the )-175(buf)18(fer )-175(addr)18(ess )-175(and )-175(length )-175(ar)]TJ -0.4254 Tc 21.413 0 Td -(eo)Tj -0 Tc 1.45 0 Td -[(nly )-175(valid )-175(after )-175(a )-175(call )-175(to)]TJ -/TT0 1 Tf -11.17 0 Td -(fclose)Tj -/T1_1 1 Tf -4.025 0 Td -(or)Tj -/TT0 1 Tf --38.059 -1.2 Td -(fflush)Tj -/T1_1 1 Tf -0.55 Tc (.S)Tj -0 Tc 4.925 0 Td -[(econd, )-50(these )-50(values )-50(ar)]TJ -0.3 Tc 9.841 0 Td -(eo)Tj -0 Tc 1.325 0 Td -[(nly )-50(valid )-50(until )-50(the )-50(next )-50(write )-50(to )-50(the )-50(str)18(eam )-50(or )-50(a )-50(call)]TJ --16.091 -1.2 Td -(to)Tj -/TT0 1 Tf -1.149 0 Td -(fclose)Tj -/T1_1 1 Tf -0.5272 Tc (.B)Tj -0 Tc 4.988 0 Td -[(ecause )-27(the )-27(buf)18(fer )-27(can )-27(gr)17(ow)92(,)-277(it)-277(m)-1(ay )-27(need )-27(to )-27(be )-27(r)17(eallocated. )-277(If)-278(this )-27(happens,)]TJ --6.137 -1.2 Td -[(then )-125(we )-125(will )-125(\336nd )-125(that )-125(the )-125(value )-125(of )-125(the )-125(buf)17(fer )176(\325s)-375(memory )-125(addr)18(ess )-125(will )-125(change )-125(the )-125(next)]TJ --0 -1.2 Td -(time we call)Tj -/TT0 1 Tf -5.568 0 Td -(fclose)Tj -/T1_1 1 Tf -3.85 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(fflush)Tj -/T1_1 1 Tf -(.)Tj --8.809 -1.2 Td -[(Memory )-151(str)18(eams )-151(ar)]TJ -0.4007 Tc 8.896 0 Td -(ew)Tj -0 Tc 1.714 0 Td -[(ell )-151(suited )-151(for )-151(cr)18(eating )-151(strings, )-151(because )-151(they )-151(pr)20(event )-151(buf)18(fer)]TJ --12.41 -1.2 Td -[(over\337ows. )-304(They)-305(can )-54(also )-54(pr)18(ovide )-54(a )-54(performance )-54(boost )-54(for )-54(functions )-54(that )-54(take )-54(standar)14(d)]TJ -0 -1.2 Td -[(I/O )-123(str)18(eam )-123(ar)18(guments )-123(used )-123(for )-123(temporary )-123(\336les, )-123(because )-123(memory )-123(str)18(eams )-123(access )-123(only)]TJ -T* -[(main memory instead of a \336le stor)18(ed on disk.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5933 390.5766 Tm -[(5.15 )-776(Alternatives)-556(to )-278(Standar)]TJ -0.556 Tc 14.483 0 Td -(dI)Tj -0 Tc 1.445 0 Td -(/O)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5908 368.9779 Tm -[(The )-530(standar)]TJ -0.7805 Tc 5.774 0 Td -(dI)Tj -0 Tc 1.729 0 Td -[(/O )-530(library )-530(is )-530(not )-530(perfect.)-1030(Korn )-530(and )-530(V)108(o)]TJ -21.441 0.04 Td -([)Tj -0.333 -0.04 Td -(1991)Tj -2 0.04 Td -(])Tj -1.113 -0.04 Td -[(list )-530(numer)18(ous)]TJ --32.391 -1.2 Td -[(defects )167(\321 )167(some)-251(in the basic design, but most in the various implementations.)]TJ -1.8 -1.2 Td -[(One )-39(inef)18(\336ciency )-39(inher)18(ent )-39(in )-39(the )-39(standar)]TJ -0.2886 Tc 17.636 0 Td -(dI)Tj -0 Tc 1.237 0 Td -[(/O )-39(library )-39(is )-39(the )-39(amount )-39(of )-39(data )-39(copying)]TJ --20.673 -1.2 Td -[(that )-36(takes )-36(place.)-537(When )-36(we )-36(use )-36(the )-36(line-at-a-time )-36(functions,)]TJ -/TT0 1 Tf -26.588 0 Td -(fgets)Tj -/T1_1 1 Tf -3.286 0 Td -(and)Tj -/TT0 1 Tf -1.979 0 Td -(fputs)Tj -/T1_1 1 Tf -0.2863 Tc (,t)Tj -0 Tc 3.862 0 Td -[(he )-36(data)]TJ --35.716 -1.2 Td -[(is )-25(usually )-25(copied )-25(twice: )-25(once )-25(between )-25(the )-25(kernel )-25(and )-25(the )-25(standar)]TJ -0.2753 Tc 28.684 0 Td -(dI)Tj -0 Tc 1.223 0 Td -[(/O )-25(buf)18(fer )-25(\(when )-25(the)]TJ --29.907 -1.2 Td -[(corr)18(esponding)]TJ -/TT0 1 Tf -6.831 0 Td -(read)Tj -/T1_1 1 Tf -2.797 0 Td -(or)Tj -/TT0 1 Tf -1.338 0 Td -(write)Tj -/T1_1 1 Tf -3.397 0 Td -[(is )-147(issued\) )-147(and )-147(again )-147(between )-147(the )-147(standar)]TJ -0.3971 Tc 18.824 0 Td -(dI)Tj -0 Tc 1.345 0 Td -[(/O )-147(buf)18(fer)]TJ --34.533 -1.2 Td -[(and )-108(our )-108(line )-108(buf)17(fer)]TJ -0.6084 Tc 8.559 0 Td -(.T)Tj -0 Tc 1.471 0 Td -[(he )-108(Fast )-108(I/O )-108(library )-108([)]TJ -/TT0 1 Tf -9.344 0 Td -(fio)Tj -/T1_1 1 Tf -[(\(3\) )-108(in )-108(A)74(T&T )-108(1990a] )-108(gets )-108(ar)18(ound )-108(this )-108(by)]TJ --19.375 -1.2 Td -[(having )-70(the )-70(function )-70(that )-70(r)18(eads )-70(a )-70(line )-70(r)18(eturn )-70(a )-70(pointer )-70(to )-70(the )-70(line )-70(instead )-70(of )-70(copying )-70(the)]TJ -T* -[(line )-189(into )-189(another )-189(buf)17(fer)]TJ -0.6895 Tc 10.721 0 Td -(.H)Tj -0 Tc 1.771 0 Td -(ume)Tj -2.405 0.04 Td -([)Tj -0.333 -0.04 Td -(1988)Tj -2 0.04 Td -(])Tj --0.018 Tc 0.773 -0.04 Td -(re)Tj -0 Tc 0.856 0 Td -[(ports )-190(a )-190(thr)18(eefold )-190(incr)18(ease )-190(in )-190(the )-190(speed )-190(of )-190(a)]TJ --18.858 -1.2 Td -(version of the)Tj -/TT0 1 Tf -6.298 0 Td -(grep)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(utility simply by making this change.)Tj --8.314 -1.2 Td -[(Korn )-62(and )-62(V)111(o)]TJ -6.035 0.04 Td -([)Tj -0.333 -0.04 Td -(1991)Tj -2 0.04 Td -(])Tj -0.645 -0.04 Td -[(describe )-62(another )-62(r)18(eplacement )-62(for )-62(the )-62(standar)]TJ -0.3121 Tc 20.068 0 Td -(dI)Tj -0 Tc 1.26 0 Td -[(/O )-62(library:)]TJ -/T1_2 1 Tf -5.247 0 Td -(s\336o)Tj -/T1_1 1 Tf -(.)Tj --37.389 -1.2 Td -[(This )-49(package )-49(is )-49(similar )-49(in )-49(speed )-49(to )-49(the)]TJ -/T1_2 1 Tf -17.452 0 Td -(\336o)Tj -/T1_1 1 Tf -1.271 0 Td -[(library )-49(and )-49(normally )-49(faster )-49(than )-49(the )-49(standar)19(d)]TJ --18.723 -1.2 Td -[(I/O )-23(library)]TJ -0.5232 Tc 4.872 0 Td -(.T)Tj -0 Tc 1.386 0 Td -(he)Tj -/T1_2 1 Tf -1.334 0 Td -(s\336o)Tj -/T1_1 1 Tf -1.634 0 Td -[(package )-23(also )-23(pr)18(ovides )-23(some )-23(new )-23(featur)18(es )-23(that )-23(ar)18(en\325t )-23(found )-23(in )-23(most)]TJ --9.227 -1.2 Td -[(other )-45(packages: )-45(I/O )-45(str)17(eams )-46(generalized )-46(to )-46(r)19(epr)18(esent )-46(both )-46(\336les )-46(and )-46(r)18(egions )-46(of )-46(memory)113(,)]TJ --0 -1.2 Td -[(pr)18(ocessing )-146(modules )-146(that )-146(can )-146(be )-146(written )-146(and )-146(stacked )-146(on )-146(an )-146(I/O )-146(str)18(eam )-146(to )-146(change )-146(the)]TJ -T* -[(operation of a str)18(eam, and better exception handling.)]TJ -1.8 -1.2 Td -(Krieger)Tj -0.3857 Tc 3.247 0 Td -(,S)Tj -0 Tc 1.161 0 Td -[(tumm, )-136(and )-136(Unrau)]TJ -8.653 0.04 Td -([)Tj -0.333 -0.04 Td -(1992)Tj -2 0.04 Td -(])Tj -0.719 -0.04 Td -[(describe )-136(another )-136(alternative )-136(that )-136(uses )-136(mapped)]TJ --17.913 -1.2 Td -[(\336les )167(\321 )167(the)]TJ -/TT0 1 Tf -4.716 0 Td -(mmap)Tj -/T1_1 1 Tf -2.764 0 Td -[(function )-114(that )-114(we )-114(describe )-114(in )-114(Section )-114(14.8.)-614(This )-114(new )-114(package )-114(is )-114(called)]TJ --7.48 -1.2 Td -[(ASI, )-335(the )-335(Alloc )-335(Str)18(eam )-335(Interface.)-835(The )-335(pr)18(ogramming )-335(interface )-335(r)18(esembles )-335(the )-335(UNIX)]TJ -T* -[(System )-359(memory )-359(allocation )-359(functions )-359(\()]TJ -/TT0 1 Tf -(malloc)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -22.611 0 Td -(realloc)Tj -/T1_1 1 Tf -0.609 Tc (,a)Tj -0 Tc 5.559 0 Td -(nd)Tj -/TT0 1 Tf -1.802 0 Td -(free)Tj -/T1_1 1 Tf -0.609 Tc (,d)Tj -0 Tc 3.87 0 Td -[(escribed )-359(in)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46858 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(5.14)]TJ -36.014 0 Td -[(Memory )-250(Str)18(eams)]TJ -/T1_1 1 Tf -9.819 0 Td -(171)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 670.2598 Tm -(trying to create second temp file...)Tj -0 -1.189 TD -(Segmentation fault)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 641.5615 Tm -[(The )-319(dif)18(fer)18(ence )-319(in )-319(behavior )-319(comes )-319(fr)18(om )-319(the )-319(way )-319(the )-319(two )-319(template )-319(strings )-319(ar)18(e)]TJ --1.8 -1.2 Td -[(declar)18(ed. )-334(For)-334(the )-84(\336rst )-84(template, )-84(the )-84(name )-84(is )-84(allocated )-84(on )-84(the )-84(stack, )-84(because )-84(we )-84(use )-84(an)]TJ -0 -1.2 TD -[(array )-76(variable.)-576(For )-76(the )-76(second )-76(name, )-76(however)73(,)-326(we)-326(u)-1(se )-76(a )-76(pointer)]TJ -0.5763 Tc 28.867 0 Td -(.I)Tj -0.3263 Tc 1.163 0 Td -(nt)Tj -0 Tc 1.234 0 Td -[(his )-76(case, )-76(only )-76(the)]TJ --31.265 -1.2 Td -[(memory )-9(for )-9(the )-9(pointer )-9(itself )-9(r)20(esides )-8(on )-8(the )-8(stack; )-8(the )-8(compiler )-8(arranges )-8(for )-8(the )-8(string )-8(to)]TJ -T* -[(be )-31(stor)18(ed )-31(in )-31(the )-31(r)18(ead-only )-31(segment )-31(of )-31(the )-31(executable.)-531(When )-31(the)]TJ -/TT0 1 Tf -28.616 0 Td -(mkstemp)Tj -/T1_0 1 Tf -4.481 0 Td -[(function )-31(tries)]TJ --33.097 -1.2 Td -(to modify the string, a segmentation fault occurs.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5816.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9986 0 0 11.9986 93.5888 545.5345 Tm -[(5.14 )-776(Memor)]TJ -0.556 Tc 6.288 0 Td -(yS)Tj -0 Tc 1.779 0 Td -(treams)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 523.9371 Tm -[(As )-71(we\325ve )-71(seen, )-71(the )-71(standar)]TJ -0.3208 Tc 12.041 0 Td -(dI)Tj -0 Tc 1.269 0 Td -[(/O )-71(library )-71(buf)18(fers )-71(data )-71(in )-71(memory)112(,)-321(so)-321(operations )-71(such )-71(as)]TJ --13.31 -1.2 Td -[(character)18(-at-a-time )-88(I/O )-88(and )-88(line-at-a-time )-88(I/O )-88(ar)]TJ -0.3383 Tc 22.017 0 Td -(em)Tj -0 Tc 1.7 0 Td -(or)Tj -0.3383 Tc 0.923 0 Td -(ee)Tj --0.018 Tc 1.296 0 Td -(f\336)Tj -0 Tc 0.92 0 Td -[(cient. )-338(W)92(e\325ve )-88(also )-88(seen )-88(that)]TJ --26.857 -1.2 Td -[(we )-16(can )-16(pr)18(ovide )-16(our )-16(own )-16(buf)18(fer )-16(for )-16(the )-16(library )-16(to )-16(use )-16(by )-16(calling)]TJ -/TT0 1 Tf -28.04 0 Td -(setbuf)Tj -/T1_0 1 Tf -3.866 0 Td -(or)Tj -/TT0 1 Tf -1.207 0 Td -(setvbuf)Tj -/T1_0 1 Tf -0.5165 Tc (.I)Tj -0 Tc 5.304 0 Td -(n)Tj --0.111 Tc -38.418 -1.2 Td -(Ve)Tj -0 Tc 1.09 0 Td -[(rsion )-98(4, )-98(the )-98(Single )-98(UNIX )-98(Speci\336cation )-98(added )-98(support )-98(for)]TJ -/T1_2 1 Tf -26.062 0 Td -[(memory )-98(str)18(eams)]TJ -/T1_0 1 Tf -0.5981 Tc (.T)Tj -0 Tc 8.18 0 Td -[(hese )-98(ar)18(e)]TJ --35.332 -1.2 Td -(standar)Tj -0.4069 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.355 0 Td -[(/O )-157(str)18(eams )-157(for )-157(which )-157(ther)]TJ -0.4069 Tc 12.204 0 Td -(ea)Tj --0.018 Tc 1.386 0 Td -[(re )-193(n)]TJ -0.4069 Tc 1.845 0 Td -(ou)Tj -0 Tc 1.556 0 Td -[(nderlying )-157(\336les, )-157(although )-157(they )-157(ar)]TJ -0.407 Tc 14.826 0 Td -(es)Tj -0 Tc 1.31 0 Td -(till)Tj --37.801 -1.2 Td -[(accessed )-42(with)]TJ -/TT0 1 Tf -6.422 0 Td -(FILE)Tj -/T1_0 1 Tf -2.692 0 Td -[(pointers. )-292(All)-292(I/O )-42(is )-42(done )-42(by )-42(transferring )-42(bytes )-42(to )-42(and )-42(fr)20(om )-42(buf)18(fers)]TJ --9.113 -1.2 Td -[(in )-172(main )-172(memory)]TJ -0.672 Tc 7.604 0 Td -(.A)Tj -0 Tc 1.7 0 Td -[(s)-422(we)-422(shall )-172(see, )-172(even )-172(though )-172(these )-172(str)18(eams )-172(look )-172(like )-172(\336le )-172(str)18(eams,)]TJ --9.304 -1.2 Td -[(several featur)18(es make them mor)]TJ -0.25 Tc 14.148 0 Td -(es)Tj -0 Tc 1.153 0 Td -(uited for manipulating character strings.)Tj --13.501 -1.2 Td -[(Thr)18(ee functions ar)]TJ -0.25 Tc 8.038 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(vailable to cr)18(eate memory str)18(eams. )-250(The)-250(\336rst is)]TJ -/TT0 1 Tf -20.741 0 Td -(fmemopen)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5829 411.2506 Tm -(#include )Tj -0 -1.664 TD -(FILE *fmemopen\(void *restrict)Tj -/T1_2 1 Tf -18 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(size)Tj -/TT0 1 Tf -(,)Tj --15.697 -1.189 Td -(const char *restrict)Tj -/T1_2 1 Tf -12.6 0 Td -(type)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --2.059 -1.664 Td -[(Returns: str)18(eam pointer if OK,)]TJ -/TT0 1 Tf -13.572 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3661.25 cm -0 0 m -0 542 l -3900 542 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 352.5765 Tm -(The)Tj -/TT0 1 Tf -1.954 0 Td -(fmemopen)Tj -/T1_0 1 Tf -5.08 0 Td -[(function )-30(allows )-30(the )-30(caller )-30(to )-30(pr)17(ovide )-30(a )-30(buf)18(fer )-30(to )-30(be )-30(used )-30(for )-30(the )-30(memory)]TJ --7.034 -1.2 Td -[(str)18(eam: )-138(the)]TJ -/T1_2 1 Tf -5.403 0 Td -(buf)Tj -/T1_0 1 Tf -1.686 0 Td -[(ar)18(gument )-139(points )-139(to )-139(the )-139(beginning )-139(of )-139(the )-139(buf)18(fer )-139(and )-139(the)]TJ -/T1_2 1 Tf -25.717 0 Td -(size)Tj -/T1_0 1 Tf -1.889 0 Td -[(ar)18(gument)]TJ --34.694 -1.2 Td -[(speci\336es )-61(the )-61(size )-61(of )-61(the )-61(buf)18(fer )-61(in )-61(bytes.)-561(If )-61(the)]TJ -/T1_2 1 Tf -20.646 0 Td -(buf)Tj -/T1_0 1 Tf -1.607 0 Td -[(ar)18(gument )-60(is )-60(null, )-60(then )-60(the)]TJ -/TT0 1 Tf -11.946 0 Td -(fmemopen)Tj -/T1_0 1 Tf --34.2 -1.2 Td -[(function )-94(allocates )-94(a )-94(buf)18(fer )-94(of)]TJ -/T1_2 1 Tf -13.287 0 Td -(size)Tj -/T1_0 1 Tf -1.844 0 Td -[(bytes. )-344(In)-345(this )-94(case, )-94(the )-94(buf)17(fer )-94(will )-94(be )-94(fr)18(eed )-94(when )-94(the)]TJ --15.131 -1.2 Td -[(str)18(eam is closed.)]TJ -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.061 0 Td -(type)Tj -/T1_0 1 Tf -2.109 0 Td -[(ar)18(gument )-137(contr)18(ols )-137(how )-137(the )-137(str)18(eam )-137(can )-137(be )-137(used.)-637(The )-137(possible )-137(values )-137(for)]TJ -/T1_2 1 Tf --5.97 -1.2 Td -(type)Tj -/T1_0 1 Tf -1.972 0 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(es)Tj -0 Tc 1.153 0 Td -(ummarized in Figur)Tj -0.25 Tc 8.901 0 Td -(e5)Tj -0 Tc 1.229 0 Td -(.14.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1823.25 2630.25 cm -0 0 m -2845 0 l -S -Q -Q -BT -/T1_2 1 Tf -7.9981 0 0 7.9981 215.7522 254.9788 Tm -(type)Tj -/T1_0 1 Tf -16.314 0 Td -(Description)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1823.25 2510.25 cm -0 0 m -2845 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1823.25 2490.25 cm -0 0 m -2845 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 186.3081 240.9677 Tm -(r)Tj -/T1_0 1 Tf -1.2 0 Td -(or)Tj -/TT0 1 Tf -1.541 0 Td -(rb)Tj -/T1_0 1 Tf -7.841 0 Td -[(open for r)18(eading)]TJ -/TT0 1 Tf --10.582 -1.25 Td -(w)Tj -/T1_0 1 Tf -1.2 0 Td -(or)Tj -/TT0 1 Tf -1.541 0 Td -(wb)Tj -/T1_0 1 Tf -7.841 0 Td -(open for writing)Tj -/TT0 1 Tf --10.582 -1.25 Td -(a)Tj -/T1_0 1 Tf -1.2 0 Td -(or)Tj -/TT0 1 Tf -1.541 0 Td -(ab)Tj -/T1_0 1 Tf -7.841 0 Td -(append; open for writing at \336rst null byte)Tj -/TT0 1 Tf --10.582 -1.25 Td -(r+)Tj -/T1_0 1 Tf -1.8 0 Td -(or)Tj -/TT0 1 Tf -1.541 0 Td -(r+b)Tj -/T1_0 1 Tf -2.4 0 Td -(or)Tj -/TT0 1 Tf -1.541 0 Td -(rb+)Tj -/T1_0 1 Tf -3.3 0 Td -[(open for r)18(eading and writing)]TJ -/TT0 1 Tf --10.582 -1.25 Td -(w+)Tj -/T1_0 1 Tf -1.8 0 Td -(or)Tj -/TT0 1 Tf -1.541 0 Td -(w+b)Tj -/T1_0 1 Tf -2.4 0 Td -(or)Tj -/TT0 1 Tf -1.541 0 Td -(wb+)Tj -/T1_0 1 Tf -3.3 0 Td -[(tr)8(uncate to 0 length and open for r)18(eading and writing)]TJ -/TT0 1 Tf --10.582 -1.25 Td -(a+)Tj -/T1_0 1 Tf -1.8 0 Td -(or)Tj -/TT0 1 Tf -1.541 0 Td -(a+b)Tj -/T1_0 1 Tf -2.4 0 Td -(or)Tj -/TT0 1 Tf -1.541 0 Td -(ab+)Tj -/T1_0 1 Tf -3.3 0 Td -[(append; open for r)18(eading and writing at \336rst null byte)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1823.25 1870.25 cm -0 0 m -2845 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2650.25 1870.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4668.25 1870.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1823.25 1870.25 cm -0 0 m -0 760 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 215.3665 168.9792 Tm -(Figure 5.14)Tj -/T1_0 1 Tf -5.695 0 Td -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(type)Tj -/T1_0 1 Tf -1.972 0 Td -[(ar)18(gument for opening a memory str)18(eam)]TJ -9.9964 0 0 9.9964 129.553 146.1874 Tm -[(Note )-79(that )-79(these )-79(values )-79(corr)16(espond )-79(to )-79(the )-79(ones )-79(for )-79(\336le-based )-79(standar)]TJ -0.3295 Tc 30.527 0 Td -(dI)Tj -0 Tc 1.278 0 Td -[(/O )-79(str)18(eams, )-79(but)]TJ --31.804 -1.2 Td -(ther)Tj -0.4937 Tc 1.764 0 Td -(ea)Tj --0.018 Tc 1.473 0 Td -[(re )-280(s)]TJ -0 Tc 1.774 0 Td -[(ome )-244(subtle )-244(dif)19(fer)18(ences. )-494(First,)-493(whenever )-244(a )-244(memory )-244(str)19(eam )-244(is )-244(opened )-244(for)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46859 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(5.13)]TJ --0.092 Tc 36.416 0 Td -(Te)Tj -0 Tc 1 0 Td -[(mporary )-250(Files)]TJ -/T1_1 1 Tf -8.417 0 Td -(167)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(the )-100(standar)]TJ -0.35 Tc 5.057 0 Td -(dI)Tj -0 Tc 1.298 0 Td -[(/O )-100(library )-100(used )-100(on )-100(the )-100(four )-100(platforms )-100(described )-100(in )-100(this )-100(book.)-600(Be )-100(awar)18(e)]TJ --6.355 -1.2 Td -[(that )-63(implementations )-63(of )-63(the )-63(standar)]TJ -0.313 Tc 16.056 0 Td -(dI)Tj -0 Tc 1.261 0 Td -[(/O )-63(library )-63(vary)]TJ -0.313 Tc 6.904 0 Td -(,a)Tj -0 Tc 1.063 0 Td -[(nd )-63(pr)18(ograms )-63(like )-63(this )-63(example)]TJ --25.284 -1.2 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(en)Tj -0 Tc 1.311 0 Td -(onportable, since they embed knowledge speci\336c to particular implemen\ tations.)Tj --0.388 -1.2 Td -[(If )-128(we )-128(r)8(un )-128(the )-128(pr)18(ogram )-128(in )-128(Figur)]TJ -0.3777 Tc 14.322 0 Td -(e5)Tj -0 Tc 1.357 0 Td -(.1)Tj -0.3777 Tc 0.695 0 Td -(1t)Tj -0 Tc 1.204 0 Td -[(wice, )-128(once )-128(with )-128(the )-128(thr)18(ee )-128(standar)]TJ -0.3777 Tc 15.221 0 Td -(ds)Tj -0 Tc 1.413 0 Td -[(tr)18(eams)]TJ --36.011 -1.2 Td -[(connected )-85(to )-85(the )-85(terminal )-85(and )-85(once )-85(with )-85(the )-85(thr)18(ee )-85(standar)]TJ -0.335 Tc 26.241 0 Td -(ds)Tj -0 Tc 1.37 0 Td -[(tr)18(eams )-85(r)18(edir)18(ected )-85(to )-85(\336les,)]TJ --27.611 -1.2 Td -[(we get the following r)18(esult:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5917 590.1248 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/T1_2 1 Tf -18 0 Td -(stdin, stdout, and stderr connected to terminal)Tj -/TT0 1 Tf --19.2 -1.189 Td -(enter any character)Tj -/T1_2 1 Tf -19.2 -1.189 Td -(we type a newline)Tj -/TT0 1 Tf --19.2 -1.189 Td -(one line to standard error)Tj -0 -1.189 TD -(stream = stdin, line buffered, buffer size = 1024)Tj -0 -1.189 TD -(stream = stdout, line buffered, buffer size = 1024)Tj -0 -1.189 TD -(stream = stderr, unbuffered, buffer size = 1)Tj -T* -(stream = /etc/passwd, fully buffered, buffer size = 4096)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out < /etc/group > std.out 2> std.err)Tj -/T1_2 1 Tf -18 -1.189 Td -[(run it again with all thr)18(ee str)18(eams r)18(edir)18(ected)]TJ -/TT0 1 Tf --19.2 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(cat std.err)Tj -/TT0 1 Tf --1.2 -1.189 Td -(one line to standard error)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(cat std.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(enter any character)Tj -0 -1.189 TD -(stream = stdin, fully buffered, buffer size = 4096)Tj -0 -1.189 TD -(stream = stdout, fully buffered, buffer size = 4096)Tj -T* -(stream = stderr, unbuffered, buffer size = 1)Tj -T* -(stream = /etc/passwd, fully buffered, buffer size = 4096)Tj -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5928 388.0967 Tm -[(We )-386(c)]TJ -0 Tc 2.283 0 Td -[(an )-202(see )-202(that )-202(the )-202(default )-202(for )-202(this )-202(system )-202(is )-202(to )-202(have )-202(standar)]TJ -0.452 Tc 26.723 0 Td -(di)Tj -0 Tc 1.354 0 Td -[(nput )-202(and )-202(standar)18(d)]TJ --30.36 -1.2 Td -[(output )-210(line )-210(buf)19(fer)18(ed )-210(when )-210(they\325r)]TJ -0.4597 Tc 15.312 0 Td -(ec)Tj -0 Tc 1.383 0 Td -[(onnected )-210(to )-210(a )-210(terminal.)-710(The )-210(line )-210(buf)18(fer )-210(is )-210(1,024)]TJ --16.694 -1.2 Td -[(bytes. )-320(Note)-320(that )-70(this )-70(doesn\325t )-70(r)18(estrict )-70(us )-70(to )-70(1,024)]TJ -21.393 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-70(input )-70(and )-70(output )-70(lines; )-70(that\325s )-70(just)]TJ --21.726 -1.2 Td -[(the )-190(size )-190(of )-190(the )-190(buf)20(fer)]TJ -0.6896 Tc 9.709 0 Td -(.W)Tj -0 Tc 1.866 0 Td -[(riting )-190(a )-190(2,048)]TJ -6.07 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-190(line )-190(to )-190(standar)]TJ -0.4397 Tc 9.068 0 Td -(do)Tj -0 Tc 1.597 0 Td -[(utput )-190(will )-190(r)19(equir)]TJ -0.4397 Tc 7.732 0 Td -(et)Tj -0 Tc 1.245 0 Td -(wo)Tj -/TT0 1 Tf --37.62 -1.2 Td -(write)Tj -/T1_0 1 Tf -3.328 0 Td -[(system )-78(calls.)-578(When )-78(we )-78(r)19(edir)18(ect )-78(these )-78(two )-78(str)18(eams )-78(to )-78(r)18(egular )-78(\336les, )-78(they )-78(become)]TJ --3.328 -1.2 Td -[(fully )-231(buf)18(fer)18(ed, )-231(with )-231(buf)17(fer )-232(sizes )-232(equal )-232(to )-232(the )-232(pr)20(eferr)18(ed )-232(I/O )-232(size)]TJ -0.0833 Tc 30.048 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -(he)Tj -/TT0 1 Tf -1.543 0 Td -(st_blksize)Tj -/T1_0 1 Tf --33 -1.2 Td -[(value )-43(fr)18(om )-43(the)]TJ -/TT0 1 Tf -6.842 0 Td -(stat)Tj -/T1_0 1 Tf -2.693 0 Td -[(str)8(uctur)]TJ -0.0833 Tc 3.49 0 Td -(e\321f)Tj -0 Tc 1.979 0 Td -[(or )-43(the )-43(\336le )-43(system.)]TJ --0.092 Tc 8.466 0 Td -[(We )-227(a)]TJ -0 Tc 2.18 0 Td -[(lso )-43(see )-43(that )-43(the )-43(standar)]TJ -0.2927 Tc 10.255 0 Td -(de)Tj -0 Tc 1.383 0 Td -[(rr)18(or)]TJ --37.287 -1.2 Td -[(is always unbuf)18(fer)18(ed, as it should be, and that a r)18(egular \336le defaults to fully buf)18(fer)18(ed.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3041.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -11.9986 0 0 11.9986 93.5888 268.0878 Tm -[(5.13 )-776(T)60(emporar )268(y)-556(Files)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 244.0907 Tm -[(The )-15(ISO )-15(C )-15(standar)]TJ -0.2652 Tc 8.147 0 Td -(dd)Tj -0 Tc 1.487 0 Td -[(e\336nes )-15(two )-15(functions )-15(that )-15(ar)]TJ -0.2652 Tc 12.078 0 Td -(ep)Tj --0.018 Tc 1.345 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vided )-15(by )-15(the )-15(standar)]TJ -0.2652 Tc 9.169 0 Td -(dI)Tj -0 Tc 1.213 0 Td -[(/O )-15(library)]TJ --34.362 -1.2 Td -[(to assist in cr)18(eating temporary \336les.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 215.3942 Tm -(#include )Tj -0 -1.664 TD -(char *tmpnam\(char *)Tj -/T1_2 1 Tf -(ptr)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -22.943 -1.664 Td -(Returns: pointer to unique pathname)Tj -/TT0 1 Tf --22.943 -1.664 Td -(FILE *tmpfile\(void\);)Tj -/T1_0 1 Tf -21.155 -1.664 Td -(Returns: \336le pointer if OK,)Tj -/TT0 1 Tf -11.958 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1510.25 cm -0 0 m -0 734 l -3900 734 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46860 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(164)Tj -/T1_1 1 Tf -3.5 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Library)]TJ -34.372 0 Td -[(Chapter )-250(5)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(5.12 )-776(Implementation)-556(Details)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(As )-37(we\325ve )-37(mentioned, )-37(under )-37(the )-37(UNIX )-37(System, )-37(the )-37(standar)]TJ -0.2876 Tc 25.986 0 Td -(dI)Tj -0 Tc 1.236 0 Td -[(/O )-38(library )-38(ends )-38(up )-38(calling)]TJ --27.222 -1.2 Td -[(the )-184(I/O )-184(r)18(outines )-184(that )-184(we )-184(described )-184(in )-184(Chapter )-184(3.)-684(Each )-184(standar)]TJ -0.4345 Tc 29.345 0 Td -(dI)Tj -0 Tc 1.383 0 Td -[(/O )-184(str)18(eam )-184(has )-184(an)]TJ --30.727 -1.2 Td -[(associated )-237(\336le )-237(descriptor)]TJ -0.4874 Tc 11.333 0 Td -(,a)Tj -0 Tc 1.237 0 Td -[(nd )-237(we )-237(can )-237(obtain )-237(the )-237(descriptor )-237(for )-237(a )-237(str)18(eam )-237(by )-237(calling)]TJ -/TT1 1 Tf --12.57 -1.2 Td -(fileno)Tj -/T1_1 1 Tf -(.)Tj -7.9995 0 0 7.9995 183.5887 592.5644 Tm -[(Note )-158(that)]TJ -/TT1 1 Tf -4.732 0 Td -(fileno)Tj -/T1_1 1 Tf -4.008 0 Td -[(is )-158(not )-158(part )-158(of )-158(the )-158(ISO )-158(C )-158(standar)18(d, )-158(but )-158(rather )-158(an )-158(extension )-158(supported )-158(by)]TJ --8.74 -1.25 Td -(POSIX.1.)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5909 557.4665 Tm -(#include )Tj -0 -1.902 TD -(int fileno\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT1 1 Tf -(\);)Tj -/T1_1 1 Tf -15.628 -1.902 Td -[(Returns: the \336le descriptor associated with the str)18(eam)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5187.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5844 505.1994 Tm -[(We )-184(n)]TJ -0 Tc 2.219 0 Td -(eed this function if we want to call the)Tj -/TT1 1 Tf -17.113 0 Td -(dup)Tj -/T1_1 1 Tf -2.05 0 Td -(or)Tj -/TT1 1 Tf -1.191 0 Td -(fcntl)Tj -/T1_1 1 Tf -3.25 0 Td -(functions, for example.)Tj --0.092 Tc -24.023 -1.2 Td -[(To )-355(l)]TJ -0 Tc 1.779 0 Td -[(ook )-171(at )-171(the )-171(implementation )-171(of )-171(the )-171(standar)]TJ -0.421 Tc 19.033 0 Td -(dI)Tj -0 Tc 1.369 0 Td -[(/O )-171(library )-171(on )-171(your )-171(system, )-171(start)]TJ --23.981 -1.2 Td -[(with )-256(the )-256(header)]TJ -/TT1 1 Tf -7.985 0 Td -()Tj -/T1_1 1 Tf -0.7563 Tc (.T)Tj -0 Tc 7.019 0 Td -[(his )-256(will )-256(show )-256(how )-256(the)]TJ -/TT1 1 Tf -11.27 0 Td -(FILE)Tj -/T1_1 1 Tf -2.906 0 Td -[(object )-256(is )-256(de\336ned, )-256(the)]TJ --29.18 -1.2 Td -[(de\336nitions )-108(of )-108(the )-108(per)19(-str)18(eam )-108(\337ags, )-108(and )-108(any )-108(standar)]TJ -0.3577 Tc 23.275 0 Td -(dI)Tj -0 Tc 1.306 0 Td -[(/O )-108(r)18(outines, )-108(such )-108(as)]TJ -/TT1 1 Tf -9.678 0 Td -(getc)Tj -/T1_1 1 Tf -0.3577 Tc (,t)Tj -0 Tc 3.334 0 Td -(hat)Tj --37.592 -1.2 Td -(ar)Tj -0.5416 Tc 0.877 0 Td -(ed)Tj -0 Tc 1.632 0 Td -[(e\336ned )-292(as )-292(macr)19(os. )-542(Section)-541(8.5 )-291(of )-291(Kernighan )-291(and )-291(Ritchie)]TJ -27.017 0.04 Td -([)Tj -0.333 -0.04 Td -(1988)Tj -2 0.04 Td -(])Tj -0.874 -0.04 Td -[(has )-291(a )-291(sample)]TJ --32.733 -1.2 Td -[(implementation )-250(that )-250(shows )-250(the )-250(\337avor )-250(of )-250(many )-250(implementations )-250(on )-250(UNIX )-250(systems.)]TJ -0 -1.2 TD -[(Chapter )-61(12 )-61(of )-61(Plauger)]TJ -10.145 0.04 Td -([)Tj -0.333 -0.04 Td -(1992)Tj -2 0.04 Td -(])Tj -0.644 -0.04 Td -[(pr)18(ovides )-61(the )-61(complete )-61(sour)18(ce )-61(code )-61(for )-61(an )-61(implementation)]TJ --13.122 -1.2 Td -[(of )-133(the )-133(standar)]TJ -0.3827 Tc 6.351 0 Td -(dI)Tj -0 Tc 1.331 0 Td -[(/O )-133(library)]TJ -0.6328 Tc 4.645 0 Td -(.T)Tj -0 Tc 1.496 0 Td -[(he )-133(implementation )-133(of )-133(the )-133(GNU )-133(standar)]TJ -0.3828 Tc 17.993 0 Td -(dI)Tj -0 Tc 1.331 0 Td -[(/O )-133(library )-133(is)]TJ --33.146 -1.2 Td -(also publicly available.)Tj -/TT0 1 Tf --3.6 -2.4 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.04 Td -[(The )-31(pr)18(ogram )-31(in )-31(Figur)]TJ -0.2807 Tc 9.63 0 Td -(e5)Tj -0 Tc 1.26 0 Td -(.1)Tj -0.2807 Tc 0.695 0 Td -(1p)Tj -0 Tc 1.382 0 Td -[(rints )-31(the )-31(buf)18(fering )-31(for )-31(the )-31(thr)20(ee )-31(standar)]TJ -0.2806 Tc 17.42 0 Td -(ds)Tj -0 Tc 1.316 0 Td -[(tr)18(eams )-31(and )-31(for )-31(a)]TJ --31.702 -1.2 Td -[(str)18(eam that is associated with a r)18(egular \336le.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3456.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9984 0 0 8.9984 129.5767 336.0985 Tm -(#include "apue.h")Tj -0 -2.021 TD -[(void )-1800(pr_stdio\(const)-600(char *, FILE *\);)]TJ -0 -1.189 TD -[(int )-2400(is_unbuffered\(FILE)-600(*\);)]TJ -T* -[(int )-2400(is_linebuffered\(FILE)-600(*\);)]TJ -T* -[(int )-2400(buffer_size\(FILE)-600(*\);)]TJ -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(FILE )-1800(*fp;)]TJ -0 -2.021 TD -(fputs\("enter any character\\n", stdout\);)Tj -0 -1.189 TD -(if \(getchar\(\) == EOF\))Tj -2.4 -1.189 Td -(err_sys\("getchar error"\);)Tj --2.4 -1.189 Td -(fputs\("one line to standard error\\n", stderr\);)Tj -0 -2.021 TD -[(pr_stdio\("stdin", )-600(stdin\);)]TJ -0 -1.189 TD -(pr_stdio\("stdout", stdout\);)Tj -0 -1.189 TD -(pr_stdio\("stderr", stderr\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46861 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(5.1)]TJ -31.5943 Tc 4.888 0 Td -(1F)Tj -0 Tc 32.65 0 Td -[(ormatted )-250(I/O)]TJ -/T1_1 1 Tf -8.295 0 Td -(159)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(The)Tj -/TT0 1 Tf -2.106 0 Td -(fgetpos)Tj -/T1_0 1 Tf -4.632 0 Td -[(function )-182(stor)18(es )-182(the )-182(curr)18(ent )-182(value )-182(of )-182(the )-182(\336le\325s )-182(position )-182(indicator )-182(in )-182(the)]TJ --6.738 -1.2 Td -[(object )-35(pointed )-35(to )-35(by)]TJ -/T1_2 1 Tf -9.139 0 Td -(pos)Tj -/T1_0 1 Tf -0.5352 Tc (.T)Tj -0 Tc 2.731 0 Td -[(his )-35(value )-35(can )-35(be )-35(used )-35(in )-35(a )-35(later )-35(call )-35(to)]TJ -/TT0 1 Tf -17.024 0 Td -(fsetpos)Tj -/T1_0 1 Tf -4.485 0 Td -[(to )-35(r)18(eposition)]TJ --33.38 -1.2 Td -[(the str)18(eam to that location.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5948 606.5636 Tm -[(5.11 )-776(Formatted)-556(I/O)]TJ -9.9994 0 0 9.9994 93.5948 577.7653 Tm -(Formatted Output)Tj -/T1_0 1 Tf -3.6 -2.4 Td -(Formatted output is handled by the \336ve)Tj -/TT0 1 Tf -17.893 0 Td -(printf)Tj -/T1_0 1 Tf -3.85 0 Td -(functions.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5915 537.0678 Tm -(#include )Tj -0 -1.902 TD -(int printf\(const char *restrict)Tj -/T1_2 1 Tf -19.2 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 4.466 0 Td -(..\);)Tj --23.666 -1.902 Td -(int fprintf\(FILE *restrict)Tj -/T1_2 1 Tf -16.2 0 Td -(fp)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 4.466 0 Td -(..\);)Tj --35.244 -1.902 Td -(int dprintf\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 4.466 0 Td -(..\);)Tj -/T1_0 1 Tf --25.467 -1.902 Td -[(All thr)18(ee r)18(eturn: number of characters output if OK, negative value if output err)18(or)]TJ -/TT0 1 Tf --3.177 -1.902 Td -(int sprintf\(char *restrict)Tj -/T1_2 1 Tf -16.2 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.097 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 4.466 0 Td -(..\);)Tj -/T1_0 1 Tf --33.761 -1.902 Td -[(Returns: number of characters stor)18(ed in array if OK, negative value if encoding err)18(or)]TJ -/TT0 1 Tf --2.002 -1.902 Td -(int snprintf\(char *restrict)Tj -/T1_2 1 Tf -16.8 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(n)Tj -/TT0 1 Tf -(,)Tj --15.697 -1.189 Td -(const char *restrict)Tj -/T1_2 1 Tf -12.6 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 4.466 0 Td -(..\);)Tj -/T1_0 1 Tf --15.443 -1.902 Td -[(Returns: number of characters that would have been stor)18(ed in array)]TJ -3.676 -1.189 Td -[(if buf)18(fer was lar)18(ge enough, negative value if encoding err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3742.25 cm -0 0 m -0 1719 l -3900 1719 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 360.6967 Tm -(The)Tj -/TT0 1 Tf -2.064 0 Td -(printf)Tj -/T1_0 1 Tf -3.99 0 Td -[(function )-140(writes )-140(to )-140(the )-140(standar)]TJ -0.3902 Tc 13.596 0 Td -(do)Tj -0 Tc 1.547 0 Td -(utput,)Tj -/TT0 1 Tf -3.099 0 Td -(fprintf)Tj -/T1_0 1 Tf -4.59 0 Td -[(writes )-140(to )-140(the )-140(speci\336ed)]TJ --28.887 -1.2 Td -[(str)18(eam,)]TJ -/TT0 1 Tf -3.833 0 Td -(dprintf)Tj -/T1_0 1 Tf -4.794 0 Td -[(writes )-344(to )-344(the )-344(speci\336ed )-344(\336le )-344(descriptor)]TJ -0.5943 Tc 17.727 0 Td -(,a)Tj -0 Tc 1.344 0 Td -(nd)Tj -/TT0 1 Tf -1.787 0 Td -(sprintf)Tj -/T1_0 1 Tf -4.794 0 Td -[(places )-344(the)]TJ --34.28 -1.2 Td -[(formatted )-93(characters )-93(in )-93(the )-93(array)]TJ -/T1_2 1 Tf -15.209 0 Td -(buf)Tj -/T1_0 1 Tf -0.593 Tc (.T)Tj -0 Tc 2.753 0 Td -(he)Tj -/TT0 1 Tf -1.404 0 Td -(sprintf)Tj -/T1_0 1 Tf -4.543 0 Td -[(function )-93(automatically )-93(appends )-93(a)]TJ --23.909 -1.2 Td -(null byte at the end of the array)Tj -0.25 Tc 13.817 0 Td -(,b)Tj -0 Tc 1.053 0 Td -[(ut this null byte is not included in the r)18(eturn value.)]TJ --13.07 -1.2 Td -[(Note )-113(that )-113(it\325s )-113(possible )-113(for)]TJ -/TT0 1 Tf -11.934 0 Td -(sprintf)Tj -/T1_0 1 Tf -4.563 0 Td -[(to )-113(over\337ow )-113(the )-113(buf)18(fer )-113(pointed )-113(to )-113(by)]TJ -/T1_2 1 Tf -16.869 0 Td -(buf)Tj -/T1_0 1 Tf -0.6132 Tc (.T)Tj -0 Tc 2.773 0 Td -(he)Tj --37.939 -1.2 Td -[(caller )-322(is )-322(r)17(esponsible )-322(for )-322(ensuring )-322(that )-322(the )-322(buf)18(fer )-322(is )-322(lar)18(ge )-322(enough.)-822(Because )-322(buf)14(fer)]TJ --0 -1.2 Td -[(over\337ows )-73(can )-73(lead )-73(to )-73(pr)18(ogram )-73(instability )-73(and )-73(even )-73(security )-73(violations,)]TJ -/TT0 1 Tf -32.119 0 Td -(snprintf)Tj -/T1_0 1 Tf -5.123 0 Td -(was)Tj --37.242 -1.2 Td -[(intr)18(oduced. )-349(W)55(ith )-99(it, )-99(the )-99(size )-99(of )-99(the )-99(buf)18(fer )-99(is )-99(an )-99(explicit )-99(parameter; )-99(any )-99(characters )-99(that)]TJ -0 -1.2 TD -[(would )-344(have )-344(been )-344(written )-344(past )-344(the )-344(end )-344(of )-344(the )-344(buf)18(fer )-344(ar)]TJ -0.5937 Tc 27.005 0 Td -(ed)Tj -0 Tc 1.684 0 Td -[(iscar)18(ded )-344(instead.)-843(The)]TJ -/TT0 1 Tf --28.689 -1.2 Td -(snprintf)Tj -/T1_0 1 Tf -5.143 0 Td -[(function )-93(r)18(eturns )-93(the )-93(number )-93(of )-93(characters )-93(that )-93(would )-93(have )-93(been )-93(written )-93(to)]TJ --5.143 -1.2 Td -[(the )-69(buf)18(fer )-69(had )-69(it )-69(been )-69(big )-69(enough.)-569(As )-69(with)]TJ -/TT0 1 Tf -19.821 0 Td -(sprintf)Tj -/T1_0 1 Tf -0.3189 Tc (,t)Tj -0 Tc 5.095 0 Td -[(he )-69(r)18(eturn )-69(value )-69(doesn\325t )-69(include)]TJ --24.916 -1.2 Td -[(the )-17(terminating )-17(null )-17(byte.)-517(If)]TJ -/TT0 1 Tf -12.784 0 Td -(snprintf)Tj -/T1_0 1 Tf --0.018 Tc 5.067 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-17(a )-17(positive )-17(value )-17(less )-17(than )-17(the )-17(buf)18(fer )-17(size)]TJ -/T1_2 1 Tf --18.707 -1.2 Td -(n)Tj -/T1_0 1 Tf -0.3025 Tc (,t)Tj -0 Tc 1.435 0 Td -[(hen )-52(the )-52(output )-52(was )-52(not )-52(tr)6(uncated. )-303(If)-302(an )-53(encoding )-53(err)18(or )-53(occurs,)]TJ -/TT0 1 Tf -28.474 0 Td -(snprintf)Tj -/T1_0 1 Tf --0.018 Tc 5.103 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-53(a)]TJ --35.867 -1.2 Td -(negative value.)Tj -1.8 -1.2 Td -(Although)Tj -/TT0 1 Tf -4.516 0 Td -(dprintf)Tj -/T1_0 1 Tf -4.452 0 Td -[(doesn\325t )-2(deal )-2(with )-2(a )-2(\336le )-2(pointer)73(,)-252(we)-252(include )-2(it )-2(with )-2(the )-2(r)18(est )-2(of )-2(the)]TJ --0.018 Tc -10.768 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(lated )-60(functions )-60(that )-60(handle )-60(formatted )-60(output.)-560(Note )-60(that )-60(using)]TJ -/TT0 1 Tf -28.184 0 Td -(dprintf)Tj -/T1_0 1 Tf --0.018 Tc 4.51 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(moves )-60(the)]TJ --34.406 -1.2 Td -[(need )-9(to )-9(call)]TJ -/TT0 1 Tf -5.327 0 Td -(fdopen)Tj -/T1_0 1 Tf -3.859 0 Td -[(to )-9(convert )-9(a )-9(\336le )-9(descriptor )-9(into )-9(a )-9(\336le )-9(pointer )-9(for )-9(use )-9(with)]TJ -/TT0 1 Tf -25.363 0 Td -(fprintf)Tj -/T1_0 1 Tf -(.)Tj --32.75 -1.2 Td -[(The )-277(format )-277(speci\336cation )-277(contr)18(ols )-277(how )-277(the )-277(r)20(emainder )-277(of )-277(the )-277(ar)18(guments )-277(will )-277(be)]TJ --1.8 -1.2 Td -[(encoded )-501(and )-501(ultimately )-501(displayed.)-1001(Each )-501(ar)18(gument )-501(is )-501(encoded )-501(accor)18(ding )-501(to )-501(a)]TJ -T* -[(conversion )-109(speci\336cation )-109(that )-109(starts )-109(with )-109(a )-109(per)18(cent )-109(sign )-109(\(%\).)-612(Except )-109(for )-109(the )-109(conversion)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46862 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(5.10)]TJ -34.204 0 Td -[(Positioning )-250(a )-250(Str)18(eam)]TJ -/T1_1 1 Tf -11.629 0 Td -(157)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(The )-54(obvious )-54(generalization )-54(of )-54(these )-54(two )-54(cases )-54(is )-54(to )-54(r)16(ead )-54(or )-54(write )-54(an )-54(array )-54(of )-54(str)6(uctur)18(es.)]TJ --0.092 Tc 0 -1.2 TD -[(To )-295(d)]TJ -0.3614 Tc 2.039 0 Td -(ot)Tj -0 Tc 1.233 0 Td -(his,)Tj -/T1_2 1 Tf -1.908 0 Td -(size)Tj -/T1_0 1 Tf -1.861 0 Td -[(would )-111(be )-111(the)]TJ -/TT0 1 Tf -6.388 0 Td -(sizeof)Tj -/T1_0 1 Tf -3.961 0 Td -[(the )-111(str)8(uctur)18(e, )-111(and)]TJ -/T1_2 1 Tf -8.383 0 Td -(nobj)Tj -/T1_0 1 Tf -2.102 0 Td -[(would )-111(be )-111(the )-111(number )-111(of)]TJ --27.877 -1.2 Td -[(elements in the array)111(.)]TJ -1.8 -1.2 Td -(Both)Tj -/TT0 1 Tf -2.338 0 Td -(fread)Tj -/T1_0 1 Tf -3.273 0 Td -(and)Tj -/TT0 1 Tf -1.966 0 Td -(fwrite)Tj -/T1_0 1 Tf --0.018 Tc 3.873 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-23(the )-23(number )-23(of )-23(objects )-23(r)18(ead )-23(or )-23(written.)-522(For )-23(the )-23(r)18(ead)]TJ --14.106 -1.2 Td -[(case, )-279(this )-279(number )-279(can )-279(be )-279(less )-279(than)]TJ -/T1_2 1 Tf -17.087 0 Td -(nobj)Tj -/T1_0 1 Tf -2.271 0 Td -[(if )-279(an )-279(err)18(or )-279(occurs )-279(or )-279(if )-279(the )-279(end )-279(of )-279(\336le )-279(is)]TJ --19.358 -1.2 Td -[(encounter)18(ed. )-361(In)-361(this )-111(situation,)]TJ -/TT0 1 Tf -14.133 0 Td -(ferror)Tj -/T1_0 1 Tf -3.961 0 Td -(or)Tj -/TT0 1 Tf -1.302 0 Td -(feof)Tj -/T1_0 1 Tf -2.761 0 Td -[(must )-111(be )-111(called.)-611(For )-111(the )-111(write )-111(case, )-111(if)]TJ --22.158 -1.2 Td -[(the r)18(eturn value is less than the r)18(equested)]TJ -/T1_2 1 Tf -18.635 0 Td -(nobj)Tj -/T1_0 1 Tf -[(,)-250(an)-250(err)18(or has occurr)18(ed.)]TJ -0.2586 Tc -16.835 -1.2 Td -(Af)Tj -0 Tc 1.37 0 Td -[(undamental )-9(pr)18(oblem )-9(with )-9(binary )-9(I/O )-9(is )-9(that )-9(it )-9(can )-9(be )-9(used )-9(to )-9(r)23(ead )-8(only )-8(data )-8(that)]TJ --3.17 -1.2 Td -[(has )-19(been )-19(written )-19(on )-19(the )-19(same )-19(system.)-519(This )-19(was )-19(OK )-19(many )-19(years )-19(ago, )-19(when )-19(all )-19(the )-19(UNIX)]TJ -T* -[(systems )-32(wer)]TJ -0.2823 Tc 5.488 0 Td -(eP)Tj -0 Tc 1.365 0 Td -(DP)Tj -1.378 0.09 Td -(-)Tj --0.055 Tc 0.333 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -[(s, )-32(but )-32(the )-32(norm )-32(today )-32(is )-32(to )-32(have )-32(heter)16(ogeneous )-32(systems )-32(connected)]TJ --9.51 -1.2 Td -[(together )-37(with )-37(networks.)-537(It )-37(is )-37(common )-37(to )-37(want )-37(to )-37(write )-37(data )-37(on )-37(one )-37(system )-37(and )-37(pr)12(ocess)]TJ -T* -(it on another)Tj -0.5 Tc 5.581 0 Td -(.T)Tj -0 Tc 1.363 0 Td -[(hese two functions won\325t work, for two r)18(easons.)]TJ --5.144 -2.04 Td -[(1. )-633(The)-443(of)18(fset )-193(of )-193(a )-193(member )-193(within )-193(a )-193(str)9(uctur)]TJ -0.4429 Tc 20.777 0 Td -(ec)Tj -0 Tc 1.366 0 Td -[(an )-193(dif)18(fer )-193(between )-193(compilers )-193(and)]TJ --20.51 -1.2 Td -[(systems )-126(because )-126(of )-126(dif)17(fer)18(ent )-126(alignment )-126(r)17(equir)18(ements. )-376(Indeed,)-377(some )-126(compilers)]TJ --0 -1.2 Td -[(have )-150(an )-150(option )-150(allowing )-150(str)8(uctur)18(es )-150(to )-150(be )-150(packed )-150(tightly)111(,)-400(to)-400(save )-150(space )-150(with )-150(a)]TJ -0 -1.2 Td -[(possible )-447(r)8(untime )-447(performance )-447(penalty)110(,)-697(or)-697(a)-1(ligned )-447(accurately)111(,)-697(to)-697(o)-1(ptimize)]TJ --0.008 Tc T* -(ru)Tj -0 Tc 0.99 0 Td -[(ntime )-113(access )-113(of )-113(each )-113(member)]TJ -0.6132 Tc 13.211 0 Td -(.T)Tj -0 Tc 1.476 0 Td -[(his )-113(means )-113(that )-113(even )-113(on )-113(a )-113(single )-113(system, )-113(the)]TJ --15.677 -1.2 Td -[(binary layout of a str)8(uctur)]TJ -0.25 Tc 11.568 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(an dif)18(fer)]TJ -0.25 Tc 3.682 0 Td -(,d)Tj -0 Tc 1.111 0 Td -(epending on compiler options.)Tj --19.167 -1.96 Td -[(2. )-633(The)-398(binary )-148(formats )-148(used )-148(to )-148(stor)]TJ -0.3985 Tc 16.246 0 Td -(em)Tj -0 Tc 1.761 0 Td -[(ultibyte )-148(integers )-148(and )-148(\337oating-point )-148(values)]TJ --16.373 -1.2 Td -[(dif)18(fer among machine ar)18(chitectur)18(es.)]TJ --0.092 Tc -3.433 -2.04 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-115(touch )-115(on )-115(some )-115(of )-115(these )-115(issues )-115(when )-115(we )-115(discuss )-115(sockets )-115(in )-115(Chapter )-115(16.)-622(The )-115(r)18(eal)]TJ --1.387 -1.2 Td -[(solution )-83(for )-83(exchanging )-83(binary )-83(data )-83(among )-83(dif)17(fer)18(ent )-83(systems )-83(is )-83(to )-83(use )-83(an )-83(agr)17(eed-upon)]TJ --0 -1.2 Td -[(canonical )-51(format.)-551(Refer )-51(to )-51(Section )-51(8.2 )-51(of )-51(Rago)]TJ -20.887 0.04 Td -([)Tj -0.333 -0.04 Td -(1993)Tj -2 0.04 Td -(])Tj -0.634 -0.04 Td -[(or )-51(Section )-51(5.18 )-51(of )-51(Stevens, )-51(Fenner)75(,)]TJ -0.3241 Tc -23.854 -1.2 Td -(&R)Tj -0 Tc 1.77 0 Td -[(udof)18(f)]TJ -2.732 0.04 Td -([)Tj -0.333 -0.04 Td -(2004)Tj -2 0.04 Td -(])Tj -0.657 -0.04 Td -[(for )-74(a )-74(description )-74(of )-74(some )-74(techniques )-74(various )-74(network )-74(pr)18(otocols )-74(use )-74(to)]TJ --7.492 -1.2 Td -(exchange binary data.)Tj --0.092 Tc 1.8 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-80(r)18(eturn )-80(to )-80(the)]TJ -/TT0 1 Tf -7.201 0 Td -(fread)Tj -/T1_0 1 Tf -3.33 0 Td -[(function )-80(in )-80(Section )-80(8.14 )-80(when )-80(we )-80(use )-80(it )-80(to )-80(r)18(ead )-80(a )-80(binary)]TJ --13.718 -1.2 Td -[(str)8(uctur)18(e, the UNIX pr)18(ocess accounting r)18(ecor)18(ds.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5951 300.182 Tm -[(5.10 )-776(P)40(ositioning )-278(a )-278(Stream)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5929 278.5833 Tm -(Ther)Tj -0.25 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(t)]TJ -0 Tc 1.432 0 Td -[(hr)18(ee ways to position a standar)]TJ -0.25 Tc 13.78 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O str)18(eam:)]TJ --17.89 -1.92 Td -[(1. )-633(The)-325(two )-75(functions)]TJ -/TT0 1 Tf -10.118 0 Td -(ftell)Tj -/T1_0 1 Tf -3.325 0 Td -(and)Tj -/TT0 1 Tf -2.018 0 Td -(fseek)Tj -/T1_0 1 Tf -0.5747 Tc (.T)Tj -0 Tc 4.438 0 Td -[(hey )-75(have )-75(been )-75(ar)18(ound )-75(since )-75(V)111(ersion )-75(7,)]TJ --18.265 -1.2 Td -[(but they assume that a \336le\325s position can be stor)18(ed in a long integer)74(.)]TJ --1.633 -1.96 Td -[(2. )-633(The)-401(two )-151(functions)]TJ -/TT0 1 Tf -10.347 0 Td -(ftello)Tj -/T1_0 1 Tf -4.001 0 Td -(and)Tj -/TT0 1 Tf -2.094 0 Td -(fseeko)Tj -/T1_0 1 Tf -0.6509 Tc (.T)Tj -0 Tc 5.114 0 Td -[(hey )-151(wer)]TJ -0.4009 Tc 3.708 0 Td -(ei)Tj -0 Tc 1.171 0 Td -[(ntr)18(oduced )-151(in )-151(the )-151(Single)]TJ --24.801 -1.2 Td -[(UNIX )-114(Speci\336cation )-114(to )-114(allow )-114(for )-114(\336le )-114(of)16(fsets )-114(that )-114(might )-114(not )-114(\336t )-114(in )-114(a )-114(long )-114(integer)71(.)]TJ -T* -[(They r)18(eplace the long integer with the)]TJ -/TT0 1 Tf -17.041 0 Td -(off_t)Tj -/T1_0 1 Tf -3.25 0 Td -(data type.)Tj --21.924 -1.96 Td -[(3. )-633(The)-407(two )-157(functions)]TJ -/TT0 1 Tf -10.365 0 Td -(fgetpos)Tj -/T1_0 1 Tf -4.607 0 Td -(and)Tj -/TT0 1 Tf -2.1 0 Td -(fsetpos)Tj -/T1_0 1 Tf -0.6571 Tc (.T)Tj -0 Tc 5.72 0 Td -[(hey )-157(wer)]TJ -0.4071 Tc 3.714 0 Td -(ei)Tj -0 Tc 1.177 0 Td -[(ntr)18(oduced )-157(by )-157(ISO )-157(C.)]TJ --26.051 -1.2 Td -[(They )-39(use )-39(an )-39(abstract )-39(data )-39(type,)]TJ -/TT0 1 Tf -14.17 0 Td -(fpos_t)Tj -/T1_0 1 Tf -0.2892 Tc (,t)Tj -0 Tc 4.465 0 Td -[(hat )-39(r)18(ecor)18(ds )-39(a )-39(\336le\325s )-39(position.)-539(This )-39(data)]TJ --18.635 -1.2 Td -[(type can be made as big as necessary to r)18(ecor)]TJ -0.25 Tc 19.869 0 Td -(da\336)Tj -0 Tc 2.216 0 Td -(le\325s position.)Tj --25.518 -2.04 Td -(When porting applications to non-UNIX systems, use)Tj -/TT0 1 Tf -23.887 0 Td -(fgetpos)Tj -/T1_0 1 Tf -4.45 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(fsetpos)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46863 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(156)Tj -/T1_1 1 Tf -3.5 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Library)]TJ -34.372 0 Td -[(Chapter )-250(5)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(library )-177(is )-177(not )-177(much )-177(slower )-177(than )-177(calling )-177(the)]TJ -/TT0 1 Tf -20.38 0 Td -(read)Tj -/T1_1 1 Tf -2.827 0 Td -(and)Tj -/TT0 1 Tf -2.12 0 Td -(write)Tj -/T1_1 1 Tf -3.427 0 Td -[(functions )-177(dir)18(ectly)]TJ -0.677 Tc 7.822 0 Td -(.F)Tj -0 Tc 1.483 0 Td -(or)Tj --38.059 -1.2 Td -[(most )-252(nontrivial )-252(applications, )-252(the )-252(lar)18(gest )-252(amount )-252(of )-252(user )-252(CPU )-252(time )-252(is )-252(taken )-252(by )-252(the)]TJ -0 -1.2 TD -(application, not by the standar)Tj -0.25 Tc 13.493 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O r)18(outines.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5947 608.9635 Tm -[(5.9 )-1332(Binar)]TJ -0.556 Tc 5.566 0 Td -(yI)Tj -0 Tc 1.39 0 Td -(/O)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5925 584.9649 Tm -[(The )-50(functions )-50(fr)18(om )-50(Section )-50(5.6 )-50(operated )-50(with )-50(one )-50(character )-50(at )-50(a )-50(time, )-50(and )-50(the )-50(functions)]TJ -T* -[(fr)18(om )-78(Section )-78(5.7 )-78(operated )-78(with )-78(one )-78(line )-78(at )-78(a )-78(time.)-582(If )-78(we\325r)]TJ -0.3285 Tc 25.857 0 Td -(ed)Tj -0 Tc 1.419 0 Td -[(oing )-78(binary )-78(I/O, )-78(we )-78(often)]TJ --27.276 -1.2 Td -[(would )-12(like )-12(to )-12(r)19(ead )-12(or )-12(write )-12(an )-12(entir)]TJ -0.2616 Tc 15.576 0 Td -(es)Tj -0 Tc 1.165 0 Td -[(tr)8(uctur)18(e)-262(at)-262(a)-262(t)1(ime. )-262(T)92(o)-262(do)-262(t)1(his )-12(using)]TJ -/TT0 1 Tf -15.746 0 Td -(getc)Tj -/T1_1 1 Tf -2.662 0 Td -(or)Tj -/TT0 1 Tf -1.203 0 Td -(putc)Tj -/T1_1 1 Tf -(,)Tj --36.35 -1.2 Td -[(we )-19(have )-19(to )-19(loop )-19(thr)18(ough )-19(the )-19(entir)]TJ -0.2687 Tc 14.921 0 Td -(es)Tj -0 Tc 1.172 0 Td -[(tr)8(uctur)18(e, )-19(one )-19(byte )-19(at )-19(a )-19(time, )-19(r)18(eading )-19(or )-19(writing )-19(each)]TJ --16.093 -1.2 Td -[(byte. )-272(W)]TJ -0.2725 Tc 3.594 0 Td -(ec)Tj -0 Tc 1.196 0 Td -[(an\325t )-22(use )-22(the )-22(line-at-a-time )-22(functions, )-22(since)]TJ -/TT0 1 Tf -18.762 0 Td -(fputs)Tj -/T1_1 1 Tf -3.273 0 Td -[(stops )-22(writing )-22(when )-22(it )-22(hits )-22(a)]TJ --26.824 -1.2 Td -[(null )-124(byte, )-124(and )-124(ther)]TJ -0.3744 Tc 8.511 0 Td -(em)Tj -0 Tc 1.736 0 Td -[(ight )-124(be )-124(null )-124(bytes )-124(within )-124(the )-124(str)5(uctur)18(e. )-374(Similarly)111(,)]TJ -/TT0 1 Tf -22.812 0 Td -(fgets)Tj -/T1_1 1 Tf -3.374 0 Td -(won\325t)Tj --36.434 -1.2 Td -[(work )-125(corr)18(ectly )-125(on )-125(input )-125(if )-125(any )-125(of )-125(the )-125(data )-125(bytes )-125(ar)]TJ -0.375 Tc 23.15 0 Td -(en)Tj -0 Tc 1.436 0 Td -[(ulls )-125(or )-125(newlines.)-625(Ther)18(efor)18(e, )-125(the)]TJ --24.586 -1.2 Td -(following two functions ar)Tj -0.25 Tc 11.734 0 Td -(ep)Tj --0.018 Tc 1.33 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(vided for binary I/O.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5926 484.2709 Tm -(#include )Tj -0 -1.902 TD -(size_t fread\(void *restrict)Tj -/T1_2 1 Tf -16.8 0 Td -(ptr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.022 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(size)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.3 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nobj)Tj -/TT0 1 Tf -(,)Tj --22.522 -1.189 Td -(FILE *restrict)Tj -/T1_2 1 Tf -9 0 Td -(fp)Tj -/TT0 1 Tf -(\);)Tj --16.8 -1.902 Td -(size_t fwrite\(const void *restrict)Tj -/T1_2 1 Tf -21 0 Td -(ptr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.022 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(size)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.3 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nobj)Tj -/TT0 1 Tf -(,)Tj --26.122 -1.189 Td -(FILE *restrict)Tj -/T1_2 1 Tf -9 0 Td -(fp)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -1.585 -1.902 Td -[(Both r)18(eturn: number of objects r)18(ead or written)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4070.25 cm -0 0 m -0 863 l -3900 863 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 393.4928 Tm -(These functions have two common uses:)Tj -1.8 -2.04 Td -[(1. )-633(Read)-356(or )-106(write )-106(a )-106(binary )-106(array)]TJ -0.6063 Tc 14.55 0 Td -(.F)Tj -0 Tc 1.412 0 Td -[(or )-106(example, )-106(to )-106(write )-106(elements )-106(2 )-106(thr)18(ough )-106(5 )-106(of )-106(a)]TJ --14.329 -1.2 Td -[(\337oating-point array)111(,)-250(we)-250(could write)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 181.9081 343.3289 Tm -[(float )-1200(data[10];)]TJ -0 -2.378 TD -(if \(fwrite\(&data[2], sizeof\(float\), 4, fp\) != 4\))Tj -2.4 -1.189 Td -(err_sys\("fwrite error"\);)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 163.9102 292.1651 Tm -[(Her)18(e, )-153(we )-153(specify)]TJ -/T1_2 1 Tf -8.066 0 Td -(size)Tj -/T1_1 1 Tf -1.903 0 Td -[(as )-153(the )-153(size )-153(of )-153(each )-153(element )-153(of )-153(the )-153(array )-153(and)]TJ -/T1_2 1 Tf -20.74 0 Td -(nobj)Tj -/T1_1 1 Tf -2.144 0 Td -[(as )-153(the)]TJ --32.853 -1.2 Td -(number of elements.)Tj --1.633 -1.96 Td -[(2. )-633(Read)-250(or write a str)8(uctur)18(e. )-250(For)-250(example, we could write)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 181.9089 242.8012 Tm -(struct {)Tj -1.2 -1.189 Td -[(short )-600(count;)]TJ -0 -1.189 TD -[(long )-1200(total;)]TJ -T* -[(char )-1200(name[NAMESIZE];)]TJ -0.6 Tc -1.2 -1.189 Td -(}i)Tj -0 Tc 1.8 0 Td -(tem;)Tj --1.8 -2.378 Td -(if \(fwrite\(&item, sizeof\(item\), 1, fp\) != 1\))Tj -2.4 -1.189 Td -(err_sys\("fwrite error"\);)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 163.911 148.8425 Tm -[(Her)18(e, )-25(we )-25(specify)]TJ -/T1_2 1 Tf -7.682 0 Td -(size)Tj -/T1_1 1 Tf -1.775 0 Td -[(as )-25(the )-25(size )-25(of )-25(str)8(uctur)]TJ -0.2749 Tc 9.474 0 Td -(ea)Tj -0 Tc 1.254 0 Td -(nd)Tj -/T1_2 1 Tf -1.468 0 Td -(nobj)Tj -/T1_1 1 Tf -2.016 0 Td -[(as )-25(1 )-25(\(the )-25(number )-25(of )-25(objects)]TJ --23.669 -1.2 Td -(to write\).)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46864 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(5.8)]TJ -32.745 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Ef)18(\336ciency)]TJ -/T1_1 1 Tf -8.219 0 Td -(153)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(buf)18(fer)]TJ -0.5675 Tc 2.604 0 Td -(.T)Tj -0 Tc 1.431 0 Td -[(he )-67(buf)18(fer )-67(is )-67(terminated )-67(with )-67(a )-67(null )-67(byte.)-567(If )-67(the )-67(line, )-67(including )-67(the )-67(terminating)]TJ --4.035 -1.2 Td -[(newline, )-31(is )-31(longer )-31(than)]TJ -/T1_2 1 Tf -10.466 0 Td -(n)Tj -/TT0 1 Tf -0.723 0 Td -(!)Tj -/T1_2 1 Tf -0.716 0 Td -(1)Tj -/T1_0 1 Tf -0.281 Tc (,o)Tj -0 Tc 1.577 0 Td -[(nly )-31(a )-31(partial )-31(line )-31(is )-31(r)18(eturned, )-31(but )-31(the )-31(buf)18(fer )-31(is )-31(always )-31(null)]TJ --13.481 -1.2 Td -[(terminated. )-250(Another)-250(call to)]TJ -/TT1 1 Tf -12.458 0 Td -(fgets)Tj -/T1_0 1 Tf -3.25 0 Td -[(will r)18(ead what follows on the line.)]TJ --13.908 -1.2 Td -(The)Tj -/TT1 1 Tf -2.006 0 Td -(gets)Tj -/T1_0 1 Tf -2.732 0 Td -[(function )-82(should )-82(never )-82(be )-82(used.)-582(The )-82(pr)18(oblem )-82(is )-82(that )-82(it )-82(doesn\325t )-82(allow )-82(the)]TJ --6.538 -1.2 Td -[(caller )-88(to )-88(specify )-88(the )-88(buf)18(fer )-88(size.)-591(This )-89(allows )-89(the )-89(buf)18(fer )-89(to )-89(over\337ow )-89(if )-89(the )-89(line )-89(is )-89(longer)]TJ -0 -1.2 TD -[(than )-93(the )-93(buf)18(fer)]TJ -0.343 Tc 6.667 0 Td -(,w)Tj -0 Tc 1.427 0 Td -[(riting )-93(over )-93(whatever )-93(happens )-93(to )-93(follow )-93(the )-93(buf)18(fer )-93(in )-93(memory)]TJ -0.5929 Tc 27.723 0 Td -(.F)Tj -0 Tc 1.399 0 Td -[(or )-93(a)]TJ --37.216 -1.2 Td -[(description )-24(of )-24(how )-24(this )-24(\337aw )-24(was )-24(used )-24(as )-24(part )-24(of )-24(the )-24(Internet )-24(worm )-24(of )-24(1988, )-24(see )-24(the )-24(June)]TJ -T* -[(1989 )-67(issue )-67(\(vol. )-67(32, )-67(no. )-67(6\) )-67(of)]TJ -/T1_2 1 Tf -12.765 0 Td -[(Communications )-67(of )-67(the )-67(ACM)]TJ -/T1_0 1 Tf -0.5669 Tc (.A)Tj -0.3169 Tc 13.731 0 Td -(na)Tj -0 Tc 1.399 0 Td -[(dditional )-67(dif)18(fer)18(ence )-67(with)]TJ -/TT1 1 Tf --27.894 -1.2 Td -(gets)Tj -/T1_0 1 Tf -2.65 0 Td -(is that it doesn\325t stor)Tj -0.25 Tc 8.985 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(he newline in the buf)18(fer)]TJ -0.25 Tc 10.463 0 Td -(,a)Tj -0 Tc 1 0 Td -(s)Tj -/TT1 1 Tf -0.674 0 Td -(fgets)Tj -/T1_0 1 Tf -3.25 0 Td -(does.)Tj -7.9995 0 0 7.9995 183.5885 552.9668 Tm -[(This )-29(dif)18(fer)18(ence )-29(in )-29(newline )-29(handling )-29(between )-29(the )-29(two )-29(functions )-29(goes )-29(way )-29(back )-29(in )-29(the )-29(evolution)]TJ -0 -1.25 TD -[(of )-28(the )-28(UNIX )-28(System.)-530(Even )-28(the )-28(V)111(ersion )-28(7 )-28(manual)]TJ -21.889 0.04 Td -(\()Tj -0.333 -0.04 Td -(1979)Tj -2 0.04 Td -(\))Tj -0.611 -0.04 Td -[(states )-28(\324)37(\324)]TJ -/TT1 1 Tf -(gets)Tj -/T1_0 1 Tf -5.955 0 Td -[(deletes )-28(a )-28(newline,)]TJ -/TT1 1 Tf -8.212 0 Td -(fgets)Tj -/T1_0 1 Tf --39 -1.25 Td -(keeps it, all in the name of backwar)Tj -0.25 Tc 15.585 0 Td -(dc)Tj -0 Tc 1.305 0 Td -[(ompatibility)111(.\325)37(\325)]TJ -9.9994 0 0 9.9994 129.5915 510.9693 Tm -[(Even )-268(though )-268(ISO )-268(C )-268(r)17(equir)18(es )-268(an )-268(implementation )-268(to )-268(pr)17(ovide)]TJ -/TT1 1 Tf -28.527 0 Td -(gets)Tj -/T1_0 1 Tf -0.5183 Tc (,y)Tj -0 Tc 3.724 0 Td -[(ou )-268(should )-268(use)]TJ -/TT1 1 Tf --32.251 -1.2 Td -(fgets)Tj -/T1_0 1 Tf -3.363 0 Td -[(instead. )-363(In)-363(fact,)]TJ -/TT1 1 Tf -7.574 0 Td -(gets)Tj -/T1_0 1 Tf -2.763 0 Td -[(is )-113(marked )-113(as )-113(an )-113(obsolescent )-113(interface )-113(in )-113(SUSv4 )-113(and )-113(has)]TJ --13.7 -1.2 Td -[(been omitted fr)18(om the latest version of the ISO C standar)]TJ -0.25 Tc 25.152 0 Td -(d\()Tj -0 Tc 1.194 0 Td -[(ISO/IEC 9899:201)55(1\).)]TJ --24.546 -1.2 Td -[(Line-at-a-time output is pr)18(ovided by)]TJ -/TT1 1 Tf -16.427 0 Td -(fputs)Tj -/T1_0 1 Tf -3.25 0 Td -(and)Tj -/TT1 1 Tf -1.943 0 Td -(puts)Tj -/T1_0 1 Tf -(.)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5909 453.4728 Tm -(#include )Tj -0 -2.021 TD -(int fputs\(const char *restrict)Tj -/T1_2 1 Tf -18.6 0 Td -(str)Tj -/TT1 1 Tf -0.6 Tc (,F)Tj -0 Tc 2.911 0 Td -(ILE *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(fp)Tj -/TT1 1 Tf -(\);)Tj --29.911 -2.021 Td -(int puts\(const char *)Tj -/T1_2 1 Tf -(str)Tj -/TT1 1 Tf -(\);)Tj -/T1_0 1 Tf -16.491 -2.021 Td -[(Both r)18(eturn: non-negative value if OK,)]TJ -/TT1 1 Tf -17.222 0 Td -(EOF)Tj -/T1_0 1 Tf -2.05 0 Td -[(on err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3944.25 cm -0 0 m -0 681 l -3900 681 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 376.0849 Tm -[(The )-68(function)]TJ -/TT1 1 Tf -6.017 0 Td -(fputs)Tj -/T1_0 1 Tf -3.318 0 Td -[(writes )-68(the )-68(null-terminated )-68(string )-68(to )-68(the )-68(speci\336ed )-68(str)19(eam. )-318(The)-318(null)]TJ --9.334 -1.2 Td -[(byte )-20(at )-20(the )-20(end )-20(is )-20(not )-20(written.)-518(Note )-20(that )-20(this )-20(need )-20(not )-20(be )-20(line-at-a-time )-20(output, )-20(since )-20(the)]TJ -0 -1.2 TD -[(string )-182(need )-182(not )-182(contain )-182(a )-182(newline )-182(as )-182(the )-182(last )-182(non-null )-182(character)]TJ -0.6823 Tc 29.464 0 Td -(.U)Tj -0 Tc 1.71 0 Td -(sually)Tj -0.4323 Tc 2.554 0 Td -(,t)Tj -0 Tc 1.008 0 Td -[(his )-182(is )-182(the)]TJ --34.737 -1.2 Td -[(case )167(\321 )167(the)-251(last non-null character is a newline)]TJ -0.0833 Tc 20.153 0 Td -(\321b)Tj -0 Tc 1.636 0 Td -[(ut it\325s not r)18(equir)18(ed.)]TJ --19.989 -1.2 Td -(The)Tj -/TT1 1 Tf -1.927 0 Td -(puts)Tj -/T1_0 1 Tf -2.653 0 Td -[(function )-3(writes )-3(the )-3(null-terminated )-3(string )-3(to )-3(the )-3(standar)]TJ -0.2531 Tc 24.74 0 Td -(do)Tj -0 Tc 1.41 0 Td -[(utput, )-3(without)]TJ --32.53 -1.2 Td -[(writing )-32(the )-32(null )-32(byte.)-533(But)]TJ -/TT1 1 Tf -11.794 0 Td -(puts)Tj -/T1_0 1 Tf -2.682 0 Td -[(then )-32(writes )-32(a )-32(newline )-32(character )-32(to )-32(the )-32(standar)]TJ -0.2823 Tc 20.375 0 Td -(do)Tj -0 Tc 1.439 0 Td -(utput.)Tj --34.491 -1.2 Td -(The)Tj -/TT1 1 Tf -2.142 0 Td -(puts)Tj -/T1_0 1 Tf -2.868 0 Td -[(function )-218(is )-218(not )-218(unsafe, )-218(like )-218(its )-218(counterpart)]TJ -/TT1 1 Tf -20.177 0 Td -(gets)Tj -/T1_0 1 Tf -0.7179 Tc (.N)Tj -0 Tc 4.199 0 Td -[(evertheless, )-218(we\325ll)]TJ --31.186 -1.2 Td -[(avoid )-164(using )-164(it, )-164(to )-164(pr)18(event )-164(having )-164(to )-164(r)19(emember )-164(whether )-164(it )-164(appends )-164(a )-164(newline.)-664(If )-164(we)]TJ -T* -[(always )-58(use)]TJ -/TT1 1 Tf -5.228 0 Td -(fgets)Tj -/T1_0 1 Tf -3.308 0 Td -(and)Tj -/TT1 1 Tf -2.001 0 Td -(fputs)Tj -/T1_0 1 Tf -[(,)-308(we)-308(k)-1(now )-58(that )-58(we )-58(always )-58(have )-58(to )-58(deal )-58(with )-58(the )-58(newline)]TJ --10.538 -1.2 Td -(character at the end of each line.)Tj -/TT2 1 Tf -11.9986 0 0 11.9986 93.5883 232.1021 Tm -[(5.8 )-1332(Standar)]TJ -0.556 Tc 6.703 0 Td -(dI)Tj -0 Tc 1.445 0 Td -[(/O )-278(Ef\336cienc)10(y)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5834 208.105 Tm -[(Using )-13(the )-13(functions )-13(fr)18(om )-13(the )-13(pr)18(evious )-13(section, )-13(we )-13(can )-13(get )-13(an )-13(idea )-13(of )-13(the )-13(ef)19(\336ciency )-13(of )-13(the)]TJ -T* -(standar)Tj -0.313 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.261 0 Td -[(/O )-63(system.)-563(The )-63(pr)18(ogram )-63(in )-63(Figur)]TJ -0.3129 Tc 15.337 0 Td -(e5)Tj -0 Tc 1.292 0 Td -[(.4 )-63(is )-63(like )-63(the )-63(one )-63(in )-63(Figur)]TJ -0.3129 Tc 11.209 0 Td -(e3)Tj -0 Tc 1.292 0 Td -[(.5: )-63(it )-63(simply)]TJ --33.711 -1.2 Td -[(copies )-122(standar)]TJ -0.3719 Tc 6.477 0 Td -(di)Tj -0 Tc 1.274 0 Td -[(nput )-122(to )-122(standar)]TJ -0.3719 Tc 7.048 0 Td -(do)Tj -0 Tc 1.529 0 Td -[(utput, )-122(using)]TJ -/TT1 1 Tf -5.909 0 Td -(getc)Tj -/T1_0 1 Tf -2.772 0 Td -(and)Tj -/TT1 1 Tf -2.065 0 Td -(putc)Tj -/T1_0 1 Tf -0.6219 Tc (.T)Tj -0 Tc 3.885 0 Td -[(hese )-122(two )-122(r)18(outines)]TJ --30.958 -1.2 Td -[(can be implemented as macr)18(os.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46865 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(152)Tj -/T1_1 1 Tf -3.5 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Library)]TJ -34.372 0 Td -[(Chapter )-250(5)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-108(character )-108(that )-108(we )-108(push )-108(back )-108(does )-108(not )-108(have )-108(to )-108(be )-108(the )-108(same )-108(character )-108(that )-108(was)]TJ --0.018 Tc -1.8 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad. )-342(W)]TJ -0.3416 Tc 2.861 0 Td -(ea)Tj --0.018 Tc 1.321 0 Td -[(re )-128(n)]TJ -0 Tc 1.78 0 Td -[(ot )-92(able )-92(to )-92(push )-92(back)]TJ -/TT0 1 Tf -9.538 0 Td -(EOF)Tj -/T1_1 1 Tf -0.5916 Tc (.W)Tj -0 Tc 3.642 0 Td -[(hen )-92(we )-92(r)18(each )-92(the )-92(end )-92(of )-92(\336le, )-92(however)]TJ -0.3417 Tc 17.099 0 Td -(,w)Tj -0 Tc 1.426 0 Td -(e)Tj --38.521 -1.2 Td -[(can )-93(push )-93(back )-93(a )-93(character)]TJ -0.5935 Tc 11.654 0 Td -(.T)Tj -0 Tc 1.456 0 Td -[(he )-93(next )-93(r)18(ead )-93(will )-93(r)18(eturn )-93(that )-93(character)]TJ -0.3434 Tc 17.186 0 Td -(,a)Tj -0 Tc 1.093 0 Td -[(nd )-93(the )-93(r)18(ead )-93(after)]TJ --31.39 -1.2 Td -[(that )-53(will )-53(r)18(eturn)]TJ -/TT0 1 Tf -7.113 0 Td -(EOF)Tj -/T1_1 1 Tf -0.5533 Tc (.T)Tj -0 Tc 3.216 0 Td -[(his )-53(works )-53(because )-53(a )-53(successful )-53(call )-53(to)]TJ -/TT0 1 Tf -17.024 0 Td -(ungetc)Tj -/T1_1 1 Tf -3.903 0 Td -[(clears )-53(the )-53(end-of-)]TJ --31.256 -1.2 Td -[(\336le indication for the str)18(eam.)]TJ -1.8 -1.2 Td -[(Pushback )-32(is )-32(often )-32(used )-32(when )-32(we\325r)]TJ -0.2819 Tc 15.219 0 Td -(er)Tj -0 Tc 1.138 0 Td -[(eading )-32(an )-32(input )-32(str)18(eam )-32(and )-32(br)18(eaking )-32(the )-32(input)]TJ --18.157 -1.2 Td -[(into )-25(wor)18(ds )-25(or )-25(tokens )-25(of )-25(some )-25(form.)-525(Sometimes )-25(we )-25(need )-25(to )-25(peek )-25(at )-25(the )-25(next )-25(character )-25(to)]TJ -0 -1.2 TD -[(determine )-9(how )-9(to )-9(handle )-9(the )-9(curr)16(ent )-9(character)]TJ -0.5094 Tc 20.545 0 Td -(.I)Tj -0 Tc 1.096 0 Td -[(t\325s )-9(then )-9(easy )-9(to )-9(push )-9(back )-9(the )-9(character)]TJ --21.641 -1.2 Td -[(that )-31(we )-31(peeked )-31(at, )-31(for )-31(the )-31(next )-31(call )-31(to)]TJ -/TT0 1 Tf -16.82 0 Td -(getc)Tj -/T1_1 1 Tf -2.681 0 Td -[(to )-31(r)18(eturn. )-281(If)-281(the )-31(standar)]TJ -0.2812 Tc 10.635 0 Td -(dI)Tj -0 Tc 1.229 0 Td -[(/O )-31(library )-31(didn\325t)]TJ --31.366 -1.2 Td -[(pr)18(ovide )-73(this )-73(pushback )-73(capability)110(,)-323(we)-323(w)-1(ould )-73(have )-73(to )-73(stor)]TJ -0.3233 Tc 25.303 0 Td -(et)Tj -0 Tc 1.128 0 Td -[(he )-73(character )-73(in )-73(a )-73(variable )-73(of)]TJ --26.432 -1.2 Td -[(our )-114(own, )-114(along )-114(with )-114(a )-114(\337ag )-114(telling )-114(us )-114(to )-114(use )-114(this )-114(character )-114(instead )-114(of )-114(calling)]TJ -/TT0 1 Tf -34.849 0 Td -(getc)Tj -/T1_1 1 Tf -2.764 0 Td -(the)Tj --37.613 -1.2 Td -[(next time we need a character)74(.)]TJ -7.9995 0 0 7.9995 183.5884 516.969 Tm -[(When )-69(we )-69(push )-69(characters )-69(back )-69(with)]TJ -/TT0 1 Tf -16.657 0 Td -(ungetc)Tj -/T1_1 1 Tf -0.3194 Tc (,t)Tj -0 Tc 4.495 0 Td -[(hey )-69(ar)]TJ -0.3194 Tc 2.813 0 Td -(en)Tj -0 Tc 1.38 0 Td -[(ot )-69(written )-69(back )-69(to )-69(the )-69(underlying )-69(\336le)]TJ --25.346 -1.25 Td -[(or device.)-500(Instead, they ar)]TJ -0.25 Tc 11.639 0 Td -(ek)Tj -0 Tc 1.285 0 Td -[(ept incor)18(e)-250(in)-250(the standar)]TJ -0.25 Tc 10.705 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O library\325s buf)18(fer for the str)18(eam.)]TJ -/TT1 1 Tf -9.9994 0 0 9.9994 93.5941 478.9713 Tm -(Output Functions)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(Output )-187(functions )-187(ar)]TJ -0.4372 Tc 9.127 0 Td -(ea)Tj -0 Tc 1.416 0 Td -[(vailable )-187(that )-187(corr)18(espond )-187(to )-187(each )-187(of )-187(the )-187(input )-187(functions )-187(we\325ve)]TJ --10.544 -1.2 Td -[(alr)18(eady described.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5906 426.2744 Tm -(#include )Tj -0 -1.902 TD -(int putc\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(c)Tj -/TT0 1 Tf -0.6 Tc (,F)Tj -0 Tc 2.207 0 Td -(ILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj --10.007 -1.902 Td -(int fputc\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(c)Tj -/TT0 1 Tf -0.6 Tc (,F)Tj -0 Tc 2.207 0 Td -(ILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj --10.607 -1.902 Td -(int putchar\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(c)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -13.205 -1.902 Td -[(All thr)18(ee r)18(eturn:)]TJ -/T1_2 1 Tf -7.365 0 Td -(c)Tj -/T1_1 1 Tf -0.657 0 Td -(if OK,)Tj -/TT0 1 Tf -2.886 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(on err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3533.25 cm -0 0 m -0 820 l -3900 820 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 339.7792 Tm -[(As )-203(with )-203(the )-203(input )-203(functions,)]TJ -/TT0 1 Tf -13.674 0 Td -(putchar\(c\))Tj -/T1_1 1 Tf -6.454 0 Td -[(is )-203(equivalent )-203(to)]TJ -/TT0 1 Tf -7.623 0 Td -[(putc\(c, )147(stdout\))]TJ -/T1_1 1 Tf -0.4534 Tc (,a)Tj -0 Tc 10.057 0 Td -(nd)Tj -/TT0 1 Tf --37.807 -1.2 Td -(putc)Tj -/T1_1 1 Tf -2.838 0 Td -[(can )-188(be )-188(implemented )-188(as )-188(a )-188(macr)18(o, )-188(wher)17(eas)]TJ -/TT0 1 Tf -19.629 0 Td -(fputc)Tj -/T1_1 1 Tf -3.438 0 Td -[(cannot )-188(be )-188(implemented )-188(as )-188(a)]TJ --25.906 -1.2 Td -[(macr)18(o.)]TJ -/TT1 1 Tf -11.9986 0 0 11.9986 93.5891 279.7864 Tm -[(5.7 )-1332(Line-at-a-Time)-556(I/O)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5846 255.7893 Tm -[(Line-at-a-time input is pr)18(ovided by the two functions,)]TJ -/TT0 1 Tf -24.049 0 Td -(fgets)Tj -/T1_1 1 Tf -3.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(gets)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5826 239.0913 Tm -(#include )Tj -T* -(char *fgets\(char *restrict)Tj -/T1_2 1 Tf -16.2 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.097 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(n)Tj -/TT0 1 Tf -0.6 Tc (,F)Tj -0 Tc 2.356 0 Td -(ILE *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(fp)Tj -/TT0 1 Tf -(\);)Tj --31.853 -1.902 Td -(char *gets\(char *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -11.682 0 Td -(\);)Tj -/T1_1 1 Tf -5.051 -1.902 Td -[(Both r)18(eturn:)]TJ -/TT0 1 Tf -5.577 0 Td -(buf)Tj -/T1_1 1 Tf -2.05 0 Td -(if OK,)Tj -/TT0 1 Tf -2.886 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on end of \336le or err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1832.25 cm -0 0 m -0 649 l -3900 649 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 169.7294 Tm -[(Both )-134(specify )-134(the )-134(addr)18(ess )-134(of )-134(the )-134(buf)18(fer )-134(to )-134(r)18(ead )-134(the )-134(line )-134(into.)-637(The)]TJ -/TT0 1 Tf -29.734 0 Td -(gets)Tj -/T1_1 1 Tf -2.784 0 Td -[(function )-134(r)18(eads)]TJ --32.518 -1.2 Td -[(fr)18(om standar)]TJ -0.25 Tc 5.709 0 Td -(di)Tj -0 Tc 1.152 0 Td -[(nput, wher)18(eas)]TJ -/TT0 1 Tf -6.537 0 Td -(fgets)Tj -/T1_1 1 Tf --0.018 Tc 3.25 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ads fr)18(om the speci\336ed str)18(eam.)]TJ --0.055 Tc -15.704 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj -/TT0 1 Tf -1.301 0 Td -(fgets)Tj -/T1_1 1 Tf -[(,)-393(we)-393(have )-143(to )-143(specify )-143(the )-143(size )-143(of )-143(the )-143(buf)17(fer)74(,)]TJ -/T1_2 1 Tf -22.822 0 Td -(n)Tj -/T1_1 1 Tf -0.6432 Tc (.T)Tj -0 Tc 2.062 0 Td -[(his )-143(function )-143(r)18(eads )-143(up)]TJ --29.221 -1.2 Td -[(thr)18(ough )-189(and )-189(including )-189(the )-189(next )-189(newline, )-189(but )-189(no )-189(mor)]TJ -0.4394 Tc 24.525 0 Td -(et)Tj -0 Tc 1.244 0 Td -(han)Tj -/T1_2 1 Tf -2.103 0 Td -(n)Tj -/TT2 1 Tf -0.723 0 Td -(!)Tj -/T1_2 1 Tf -0.716 0 Td -(1)Tj -/T1_1 1 Tf -0.939 0 Td -[(characters, )-189(into )-189(the)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46866 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(150)Tj -/T1_1 1 Tf -3.5 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Library)]TJ -34.372 0 Td -[(Chapter )-250(5)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(any )-51(other )-51(operation )-51(on )-51(the )-51(str)18(eam, )-51(we )-51(can )-51(change )-51(the )-51(buf)18(fering )-51(if )-51(we )-51(want )-51(to, )-51(with )-51(the)]TJ -/TT0 1 Tf -0 -1.2 TD -(setbuf)Tj -/T1_1 1 Tf -3.85 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(setvbuf)Tj -/T1_1 1 Tf -4.45 0 Td -[(functions fr)18(om the pr)18(evious section.)]TJ --7.691 -1.2 Td -[(An open str)18(eam is closed by calling)]TJ -/TT0 1 Tf -15.881 0 Td -(fclose)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 628.2623 Tm -(#include )Tj -0 -1.664 TD -(int fclose\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -26.1 -1.664 Td -(Returns: 0 if OK,)Tj -/TT0 1 Tf -7.613 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(on err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5938.25 cm -0 0 m -0 435 l -3900 435 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 580.2704 Tm -[(Any )-77(buf)18(fer)18(ed )-77(output )-77(data )-77(is )-77(\337ushed )-77(befor)]TJ -0.3268 Tc 18.879 0 Td -(et)Tj -0 Tc 1.132 0 Td -[(he )-77(\336le )-77(is )-77(closed.)-577(Any )-77(input )-77(data )-77(that )-77(may)]TJ --20.011 -1.2 Td -[(be )-226(buf)18(fer)18(ed )-226(is )-226(discar)17(ded. )-477(If)-476(the )-227(standar)]TJ -0.4766 Tc 18.581 0 Td -(dI)Tj -0 Tc 1.425 0 Td -[(/O )-227(library )-227(had )-227(automatically )-227(allocated )-227(a)]TJ --20.006 -1.2 Td -[(buf)18(fer for the str)18(eam, that buf)18(fer is r)18(eleased.)]TJ -1.8 -1.2 Td -[(When )-39(a )-39(pr)18(ocess )-39(terminates )-39(normally)]TJ -0.289 Tc 16.212 0 Td -(,e)Tj -0 Tc 1.018 0 Td -[(ither )-39(by )-39(calling )-39(the)]TJ -/TT0 1 Tf -8.68 0 Td -(exit)Tj -/T1_1 1 Tf -2.689 0 Td -[(function )-39(dir)18(ectly )-39(or)]TJ --30.399 -1.2 Td -[(by )-38(r)18(eturning )-38(fr)18(om )-38(the)]TJ -/TT0 1 Tf -9.98 0 Td -(main)Tj -/T1_1 1 Tf -2.688 0 Td -[(function, )-38(all )-38(standar)]TJ -0.2884 Tc 8.936 0 Td -(dI)Tj -0 Tc 1.236 0 Td -[(/O )-38(str)18(eams )-38(with )-38(unwritten )-38(buf)17(fer)18(ed)]TJ --22.84 -1.2 Td -(data ar)Tj -0.25 Tc 3.064 0 Td -(e\337)Tj -0 Tc 1.337 0 Td -(ushed and all open standar)Tj -0.25 Tc 12.002 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O str)18(eams ar)]TJ -0.25 Tc 6.182 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(losed.)Tj -/TT1 1 Tf -11.9986 0 0 11.9986 93.5879 490.2812 Tm -[(5.6 )-1332(Reading)-556(and )-278(Writing )-278(a )-278(Stream)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5835 472.2833 Tm -[(Once we open a str)18(eam, we can choose fr)18(om among thr)18(ee types of unformatted I/O:)]TJ -1.8 -1.92 Td -[(1. )-633(Character)18(-at-a-time )-52(I/O.)]TJ --0.092 Tc 13.083 0 Td -[(We )-236(c)]TJ -0 Tc 2.133 0 Td -[(an )-52(r)18(ead )-52(or )-52(write )-52(one )-52(character )-52(at )-52(a )-52(time, )-52(with )-52(the)]TJ --13.583 -1.2 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O functions handling all the buf)18(fering, if the str)18(eam is buf)18(fer)18(ed.)]TJ --6.151 -1.6 Td -[(2. )-633(Line-at-a-time)-326(I/O. )-326(If)-327(we )-76(want )-76(to )-76(r)18(ead )-76(or )-76(write )-76(a )-76(line )-76(at )-76(a )-76(time, )-76(we )-76(use)]TJ -/TT0 1 Tf -34.2 0 Td -(fgets)Tj -/T1_1 1 Tf --32.567 -1.2 Td -(and)Tj -/TT0 1 Tf -2.054 0 Td -(fputs)Tj -/T1_1 1 Tf -0.6109 Tc (.E)Tj -0 Tc 4.472 0 Td -[(ach )-111(line )-111(is )-111(terminated )-111(with )-111(a )-111(newline )-111(character)]TJ -0.3608 Tc 21.344 0 Td -(,a)Tj -0 Tc 1.111 0 Td -[(nd )-111(we )-111(have )-111(to)]TJ --28.981 -1.2 Td -[(specify )-74(the )-74(maximum )-74(line )-74(length )-74(that )-74(we )-74(can )-74(handle )-74(when )-74(we )-74(call)]TJ -/TT0 1 Tf -30.356 0 Td -(fgets)Tj -/T1_1 1 Tf -0.5741 Tc (.W)Tj -0 Tc 4.732 0 Td -(e)Tj --35.088 -1.2 Td -(describe these two functions in Section 5.7.)Tj --1.633 -1.6 Td -[(3. )-633(Dir)18(ect )-34(I/O.)-535(This )-34(type )-34(of )-34(I/O )-34(is )-34(supported )-34(by )-34(the)]TJ -/TT0 1 Tf -23.673 0 Td -(fread)Tj -/T1_1 1 Tf -3.284 0 Td -(and)Tj -/TT0 1 Tf -1.977 0 Td -(fwrite)Tj -/T1_1 1 Tf -3.884 0 Td -(functions.)Tj --31.186 -1.2 Td -[(For )-100(each )-100(I/O )-100(operation, )-100(we )-100(r)16(ead )-100(or )-100(write )-100(some )-100(number )-100(of )-100(objects, )-100(wher)]TJ -0.3505 Tc 32.733 0 Td -(ee)Tj -0 Tc 1.309 0 Td -(ach)Tj --34.041 -1.2 Td -[(object )-83(is )-83(of )-83(a )-83(speci\336ed )-83(size.)-583(These )-83(two )-83(functions )-83(ar)]TJ -0.3328 Tc 23.091 0 Td -(eo)Tj -0 Tc 1.358 0 Td -[(ften )-83(used )-83(for )-83(binary )-83(\336les)]TJ --24.449 -1.2 Td -[(wher)18(e)-303(we)-303(r)18(ead )-53(or )-53(write )-53(a )-53(str)8(uctur)]TJ -0.3029 Tc 15.104 0 Td -(ew)Tj -0 Tc 1.616 0 Td -[(ith )-53(each )-53(operation.)]TJ --0.092 Tc 8.879 0 Td -[(We )-237(d)]TJ -0 Tc 2.301 0 Td -[(escribe )-53(these )-53(two)]TJ --27.9 -1.2 Td -(functions in Section 5.9.)Tj -7.999 0 0 7.999 219.573 308.703 Tm -[(The )-38(term)]TJ -/T1_2 1 Tf -4.334 0 Td -[(dir)18(ect )-38(I/O)]TJ -/T1_1 1 Tf -0.2884 Tc (,f)Tj --0.018 Tc 4.845 0 Td -(ro)Tj -0.2884 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.497 0 Td -[(he )-38(ISO )-38(C )-38(standar)17(d, )-38(is )-38(known )-38(by )-38(many )-38(names: )-38(binary )-38(I/O,)]TJ --11.599 -1.25 Td -[(object-at-a-time )-85(I/O, )-85(r)18(ecor)18(d-oriented )-85(I/O, )-85(or )-85(str)7(uctur)18(e-oriented )-85(I/O.)-585(Don\325t )-85(confuse)]TJ -0 -1.25 TD -[(this )-77(featur)]TJ -0.3269 Tc 4.568 0 Td -(ew)Tj -0 Tc 1.64 0 Td -[(ith )-77(the)]TJ -/TT0 1 Tf -3.24 0 Td -[(O_DIRECT )273(open)]TJ -/T1_1 1 Tf -7.854 0 Td -[(\337ag )-77(supported )-77(by )-77(Fr)18(eeBSD )-77(and )-77(Linux)]TJ -0.0833 Tc 17.173 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -(hey)Tj --35.883 -1.25 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(eu)Tj -0 Tc 1.332 0 Td -[(nr)18(elated.)]TJ -9.9988 0 0 9.9988 129.5837 260.7087 Tm -(\(W)Tj -0.25 Tc 1.241 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(escribe the formatted I/O functions, such as)Tj -/TT0 1 Tf -19.688 0 Td -(printf)Tj -/T1_1 1 Tf -3.85 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(scanf)Tj -/T1_1 1 Tf -[(,)-250(in)-250(Section 5.1)55(1.\))]TJ -/TT1 1 Tf --31.662 -2.28 Td -(Input Functions)Tj -/T1_1 1 Tf -3.6 -1.68 Td -[(Thr)18(ee functions allow us to r)18(ead one character at a time.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.582 204.4155 Tm -(#include )Tj -0 -1.664 TD -(int getc\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj --0 -1.664 Td -(int fgetc\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -0 -1.664 TD -(int getchar\(void\);)Tj -/T1_1 1 Tf -11.127 -1.664 Td -[(All thr)18(ee r)18(eturn: next character if OK,)]TJ -/TT0 1 Tf -16.719 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(on end of \336le or err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1400.25 cm -0 0 m -0 734 l -3900 734 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46867 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.5)]TJ -/TT0 1 Tf -36.579 0 Td -(exit)Tj -/T1_0 1 Tf -2.9 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(237)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 163.9202 668.9599 Tm -[(signals )-311(generated )-311(by )-311(the )-311(kernel )-311(include )-311(the )-311(pr)18(ocess )-311(r)18(efer)18(encing )-311(a )-311(memory)]TJ -0 -1.2 Td -[(location not within its addr)18(ess space or trying to divide by 0.)]TJ --1.633 -1.6 Td -[(3. )-633(The)-520(last )-270(thr)18(ead )-270(r)18(esponds )-270(to )-270(a )-270(cancellation )-270(r)17(equest. )-520(By)-520(default, )-270(cancellation)]TJ -1.633 -1.2 Td -[(occurs )-67(in )-67(a )-67(deferr)19(ed )-67(manner: )-67(one )-67(thr)18(ead )-67(r)18(equests )-67(that )-67(another )-67(be )-67(canceled, )-67(and)]TJ -0 -1.2 TD -[(sometime )-32(later )-32(the )-32(tar)18(get )-32(thr)18(ead )-32(terminates.)]TJ --0.092 Tc 20.008 0 Td -[(We )-217(d)]TJ -0 Tc 2.281 0 Td -[(iscuss )-32(cancellation )-32(r)18(equests )-32(in)]TJ --22.288 -1.2 Td -[(detail in Sections 1)55(1.5 and 12.7.)]TJ --1.633 -2.04 Td -[(Regar)18(dless )-107(of )-107(how )-107(a )-107(pr)19(ocess )-107(terminates, )-107(the )-107(same )-107(code )-107(in )-107(the )-107(kernel )-107(is )-107(eventually)]TJ --1.8 -1.2 Td -[(executed. )-348(This)-348(kernel )-98(code )-98(closes )-98(all )-98(the )-98(open )-98(descriptors )-98(for )-98(the )-98(pr)18(ocess, )-98(r)18(eleases )-98(the)]TJ -T* -(memory that it was using, and so on.)Tj -1.8 -1.2 Td -[(For )-28(any )-28(of )-28(the )-28(pr)16(eceding )-28(cases, )-28(we )-28(want )-28(the )-28(terminating )-28(pr)18(ocess )-28(to )-28(be )-28(able )-28(to )-28(notify)]TJ --1.8 -1.2 Td -[(its )-116(par)18(ent )-116(how )-116(it )-116(terminated.)-616(For )-116(the )-116(thr)15(ee )-116(exit )-116(functions )-116(\()]TJ -/TT0 1 Tf -26.725 0 Td -(exit)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.016 0 Td -(_exit)Tj -/T1_0 1 Tf -0.3664 Tc (,a)Tj -0 Tc 4.116 0 Td -(nd)Tj -/TT0 1 Tf -1.559 0 Td -(_Exit)Tj -/T1_0 1 Tf -(\),)Tj --35.417 -1.2 Td -[(this )-53(is )-53(done )-53(by )-53(passing )-53(an )-53(exit )-53(status )-53(as )-53(the )-53(ar)18(gument )-53(to )-53(the )-53(function.)-553(In )-53(the )-53(case )-53(of )-53(an)]TJ -T* -[(abnormal )-85(termination, )-85(however)]TJ -0.3355 Tc 14.178 0 Td -(,t)Tj -0 Tc 0.911 0 Td -[(he )-85(kernel)]TJ -0.0833 Tc 4.262 0 Td -(\321n)Tj -0 Tc 1.665 0 Td -[(ot )-85(the )-85(pr)17(ocess )167(\321 )167(generates)]TJ -0.3354 Tc 11.947 0 Td -(at)Tj -0 Tc 1.161 0 Td -(ermination)Tj --34.125 -1.2 Td -[(status )-11(to )-11(indicate )-11(the )-11(r)16(eason )-11(for )-11(the )-11(abnormal )-11(termination.)-511(In )-11(any )-11(case, )-11(the )-11(par)18(ent )-11(of )-11(the)]TJ -T* -[(pr)18(ocess )-17(can )-17(obtain )-17(the )-17(termination )-17(status )-17(fr)18(om )-17(either )-17(the)]TJ -/TT0 1 Tf -25.295 0 Td -(wait)Tj -/T1_0 1 Tf -2.667 0 Td -[(or )-17(the)]TJ -/TT0 1 Tf -2.863 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.467 0 Td -(function)Tj --35.293 -1.2 Td -(\(described in the next section\).)Tj -1.8 -1.2 Td -[(Note )-71(that )-71(we )-71(dif)17(fer)18(entiate )-71(between )-71(the )-71(exit )-71(status, )-71(which )-71(is )-71(the )-71(ar)18(gument )-71(to )-71(one )-71(of)]TJ --1.8 -1.2 Td -[(the )-54(thr)18(ee )-54(exit )-54(functions )-54(or )-54(the )-54(r)18(eturn )-54(value )-54(fr)20(om)]TJ -/TT0 1 Tf -21.773 0 Td -(main)Tj -/T1_0 1 Tf -0.3037 Tc (,a)Tj -0 Tc 3.454 0 Td -[(nd )-54(the )-54(termination )-54(status.)-553(The)]TJ --25.227 -1.2 Td -[(exit )-128(status )-128(is )-128(converted )-128(into )-128(a )-128(termination )-128(status )-128(by )-128(the )-128(kernel )-128(when)]TJ -/TT0 1 Tf -31.703 0 Td -(_exit)Tj -/T1_0 1 Tf -3.379 0 Td -[(is )-128(\336nally)]TJ --35.082 -1.2 Td -[(called )-56(\(r)18(ecall )-56(Figur)]TJ -0.3061 Tc 8.326 0 Td -(e7)Tj -0 Tc 1.285 0 Td -[(.2\). )-306(Figur)]TJ -0.3061 Tc 4.272 0 Td -(e8)Tj -0 Tc 1.285 0 Td -[(.4 )-56(describes )-56(the )-56(various )-56(ways )-56(the )-56(par)17(ent )-56(can )-56(examine)]TJ --15.169 -1.2 Td -[(the )-22(termination )-22(status )-22(of )-22(a )-22(child.)-522(If )-22(the )-22(child )-22(terminated )-22(normally)]TJ -0.2717 Tc 29.087 0 Td -(,t)Tj -0 Tc 0.848 0 Td -[(he )-22(par)18(ent )-22(can )-22(obtain)]TJ --29.935 -1.2 Td -(the exit status of the child.)Tj -1.8 -1.2 Td -[(When )-114(we )-114(described )-114(the)]TJ -/TT0 1 Tf -11.087 0 Td -(fork)Tj -/T1_0 1 Tf -2.764 0 Td -[(function, )-114(it )-114(was )-114(obvious )-114(that )-114(the )-114(child )-114(has )-114(a )-114(par)16(ent)]TJ --15.651 -1.2 Td -[(pr)18(ocess )-73(after )-73(the )-73(call )-73(to)]TJ -/TT0 1 Tf -10.73 0 Td -(fork)Tj -/T1_0 1 Tf -0.5734 Tc (.N)Tj -0 Tc 4.054 0 Td -[(ow )-73(we\325r)]TJ -0.3234 Tc 3.671 0 Td -(et)Tj -0 Tc 1.128 0 Td -[(alking )-73(about )-73(r)18(eturning )-73(a )-73(termination )-73(status)]TJ --19.584 -1.2 Td -[(to )-58(the )-58(par)18(ent. )-308(But)-308(what )-58(happens )-58(if )-58(the )-58(par)18(ent )-58(terminates )-58(befor)]TJ -0.3078 Tc 28.102 0 Td -(et)Tj -0 Tc 1.113 0 Td -[(he )-58(child?)-557(The )-58(answer)]TJ --29.215 -1.2 Td -[(is )-255(that )-255(the)]TJ -/TT0 1 Tf -5.352 0 Td -(init)Tj -/T1_0 1 Tf -2.906 0 Td -[(pr)18(ocess )-255(becomes )-255(the )-255(par)18(ent )-255(pr)16(ocess )-256(of )-256(any )-256(pr)18(ocess )-256(whose )-256(par)20(ent)]TJ --8.258 -1.2 Td -[(terminates. )-332(In)-333(such )-82(a )-82(case, )-82(we )-82(say )-82(that )-82(the )-82(pr)18(ocess )-82(has )-82(been )-82(inherited )-82(by)]TJ -/TT0 1 Tf -33.359 0 Td -(init)Tj -/T1_0 1 Tf -0.5823 Tc (.W)Tj -0 Tc 4.232 0 Td -(hat)Tj --37.592 -1.2 Td -[(normally )-149(happens )-149(is )-149(that )-149(whenever )-149(a )-149(pr)20(ocess )-149(terminates, )-149(the )-149(kernel )-149(goes )-149(thr)18(ough )-149(all)]TJ -T* -[(active )-26(pr)18(ocesses )-26(to )-26(see )-26(whether )-26(the )-26(terminating )-26(pr)18(ocess )-26(is )-26(the )-26(par)18(ent )-26(of )-26(any )-26(pr)18(ocess )-26(that)]TJ -T* -[(still )-70(exists.)-570(If )-70(so, )-70(the )-70(par)18(ent )-70(pr)18(ocess )-70(ID )-70(of )-70(the )-70(surviving )-70(pr)18(ocess )-70(is )-70(changed )-70(to )-70(be )-70(1 )-70(\(the)]TJ -T* -[(pr)18(ocess ID of)]TJ -/TT0 1 Tf -6.035 0 Td -(init)Tj -/T1_0 1 Tf -[(\). )-250(This)-250(way)]TJ -0.25 Tc 7.422 0 Td -(,w)Tj -0 Tc 1.334 0 Td -(e\325r)Tj -0.25 Tc 1.134 0 Td -(eg)Tj -0 Tc 1.285 0 Td -[(uaranteed that every pr)18(ocess has a par)18(ent.)]TJ --15.41 -1.2 Td -[(Another )-159(condition )-159(we )-159(have )-159(to )-159(worry )-159(about )-159(is )-159(when )-159(a )-159(child )-159(terminates )-159(befor)]TJ -0.4095 Tc 35.27 0 Td -(ei)Tj -0 Tc 1.179 0 Td -(ts)Tj --38.25 -1.2 Td -[(par)18(ent. )-422(If)-422(the )-172(child )-172(completely )-172(disappear)18(ed, )-172(the )-172(par)19(ent )-172(wouldn\325t )-172(be )-172(able )-172(to )-172(fetch )-172(its)]TJ -T* -[(termination )-133(status )-133(when )-133(and )-133(if )-133(the )-133(par)18(ent )-133(was )-133(\336nally )-133(r)18(eady )-133(to )-133(check )-133(if )-133(the )-133(child )-133(had)]TJ -T* -[(terminated. )-472(The)-472(kernel )-222(keeps )-222(a )-222(small )-222(amount )-222(of )-222(information )-222(for )-222(every )-222(terminating)]TJ -T* -[(pr)18(ocess, )-50(so )-50(that )-50(the )-50(information )-50(is )-50(available )-50(when )-50(the )-50(par)18(ent )-50(of )-50(the )-50(terminating )-50(pr)15(ocess)]TJ -0 -1.2 Td -(calls)Tj -/TT0 1 Tf -2.414 0 Td -(wait)Tj -/T1_0 1 Tf -2.864 0 Td -(or)Tj -/TT0 1 Tf -1.405 0 Td -(waitpid)Tj -/T1_0 1 Tf -0.7142 Tc (.M)Tj -0 Tc 6.11 0 Td -(inimally)Tj -0.4642 Tc 3.574 0 Td -(,t)Tj -0 Tc 1.04 0 Td -[(his )-214(information )-214(consists )-214(of )-214(the )-214(pr)18(ocess )-214(ID, )-214(the)]TJ --17.408 -1.2 Td -[(termination )-138(status )-138(of )-138(the )-138(pr)18(ocess, )-138(and )-138(the )-138(amount )-138(of )-138(CPU )-138(time )-138(taken )-138(by )-138(the )-138(pr)18(ocess.)]TJ -T* -[(The )-81(kernel )-81(can )-81(discar)]TJ -0.331 Tc 9.622 0 Td -(da)Tj -0 Tc 1.442 0 Td -[(ll )-81(the )-81(memory )-81(used )-81(by )-81(the )-81(pr)18(ocess )-81(and )-81(close )-81(its )-81(open )-81(\336les.)-582(In)]TJ --11.064 -1.2 Td -[(UNIX )-51(System )-51(terminology)]TJ -0.3011 Tc 11.748 0 Td -(,ap)Tj --0.018 Tc 1.953 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-51(that )-51(has )-51(terminated, )-51(but )-51(whose )-51(par)17(ent )-51(has )-51(not )-51(yet)]TJ --14.624 -1.2 Td -[(waited )-13(for )-13(it, )-13(is )-13(called )-13(a)]TJ -/T1_2 1 Tf -10.593 0 Td -(zombie)Tj -/T1_0 1 Tf -0.5134 Tc (.T)Tj -0 Tc 4.172 0 Td -(he)Tj -/TT0 1 Tf -1.324 0 Td -(ps)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.596 -0.04 Td -[(command )-13(prints )-13(the )-13(state )-13(of )-13(a )-13(zombie )-13(pr)15(ocess)]TJ --18.72 -1.2 Td -(as)Tj -/T1_2 1 Tf -1.437 0 Td -(Z)Tj -/T1_0 1 Tf -0.7626 Tc (.I)Tj -0 Tc 2.017 0 Td -[(f)-513(we)-513(w)1(rite )-263(a )-263(long-r)9(unning )-262(pr)18(ogram )-262(that)]TJ -/TT0 1 Tf -19.542 0 Td -(fork)Tj -/T1_0 1 Tf -0.5125 Tc (sm)Tj -0 Tc 4.219 0 Td -[(any )-262(child )-262(pr)18(ocesses, )-262(they)]TJ --27.215 -1.2 Td -(become zombies unless we wait for them and fetch their termination statu\ s.)Tj -7.9995 0 0 7.9995 183.5884 134.9919 Tm -[(Some systems pr)18(ovide ways to pr)18(event the cr)18(eation of zombies, as we describe in Section 10.7.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46868 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(952)Tj -/T1_1 1 Tf -3.5 0 Td -(Bibliography)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -8.9995 0 0 8.9995 129.5922 669.9598 Tm -[(The )-18(Open )-18(Gr)19(oup. )-268(2008.)]TJ -/T1_2 1 Tf -11.083 0 Td -[(The )-18(Single )-18(UNIX )-18(Speci\336cation, )-18(V)92(ersion )-18(4)]TJ -/T1_1 1 Tf -0.5178 Tc 16.952 0 Td -(.T)Tj -0 Tc 1.381 0 Td -[(he )-18(Open )-18(Gr)18(oup, )-18(Berkshir)18(e, )-18(UK.)]TJ -7.9995 0 0 7.9995 179.9894 656.6606 Tm -[(The POSIX and X/Open standar)18(ds combined into a single r)18(efer)18(ence.)]TJ -0 -1.875 TD -[(The HTML version can be viewed for fr)18(ee online at)]TJ -/TT0 1 Tf -22.814 0 Td -(http://www.opengroup.org)Tj -/T1_1 1 Tf -(.)Tj -8.9995 0 0 8.9995 129.5924 622.9626 Tm -[(Pike, )-25(R., )-25(Pr)18(esotto, )-25(D., )-25(Dorwar)18(d, )-25(S., )-25(Flandr)18(ena, )-25(B., )-25(Thompson, )-25(K., )-25(T)91(rickey)]TJ -0.2749 Tc 31.786 0 Td -(,H)Tj -0 Tc 1.357 0 Td -[(., )-25(and )-25(W)55(interbottom, )-25(P)129(.)]TJ --29.943 -1.222 Td -[(1995. )-261(\324)37(\324Plan )-11(9 )-11(fr)18(om )-11(Bell )-11(Labs,\325)37(\325)]TJ -/T1_2 1 Tf -13.73 0 Td -[(Plan )-11(9 )-11(Pr)18(ogrammer )213(\325)]TJ -0.261 Tc 8.264 0 Td -(sM)Tj -0 Tc 1.594 0 Td -[(anual )-11(V)74(olume )-11(2)]TJ -/T1_1 1 Tf -0.5111 Tc (.A)Tj -0 Tc 7.858 0 Td -[(T&T, )-11(Reading, )-11(MA.)]TJ -0.4139 Tc 7.9995 0 0 7.9995 179.989 598.6641 Tm -(Ad)Tj -0 Tc 1.803 0 Td -[(escription )-164(of )-164(the )-164(Plan )-164(9 )-164(operating )-164(system, )-164(developed )-164(in )-164(the )-164(same )-164(department )-164(wher)]TJ -0.4138 Tc 38.367 0 Td -(et)Tj -0 Tc 1.219 0 Td -(he)Tj --41.389 -1.25 Td -(UNIX System was invented.)Tj -8.9995 0 0 8.9995 129.592 569.9658 Tm -(Plauger)Tj -0.25 Tc 3.354 0 Td -[(,P)379(.J)]TJ -0.5 Tc 1.808 0 Td -(.1)Tj -0 Tc 1.25 0 Td -(992.)Tj -/T1_2 1 Tf -2.25 0 Td -(The Standard C Library)Tj -/T1_1 1 Tf -0.5 Tc (.P)Tj --0.018 Tc 11.012 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ntice Hall, Englewood Clif)18(fs, NJ.)]TJ -0.2684 Tc 7.9995 0 0 7.9995 179.9885 556.6666 Tm -(Ac)Tj -0 Tc 1.49 0 Td -[(omplete )-18(book )-18(on )-18(the )-18(ANSI )-18(C )-18(library)]TJ -0.5184 Tc 15.981 0 Td -(.I)Tj -0.2685 Tc 1.105 0 Td -(tc)Tj -0 Tc 1.038 0 Td -[(ontains )-18(a )-18(complete )-18(C )-18(implementation )-18(of )-18(the )-18(library)108(.)]TJ -8.9995 0 0 8.9995 129.5913 537.9677 Tm -[(Pr)18(esotto, )-218(D. )-218(L., )-218(and )-218(Ritchie, )-218(D. )-218(M.)-715(1990. )-467(\324)37(\324Interpr)18(ocess )-217(Communication )-217(in )-217(the )-217(Ninth )-217(Edition)]TJ -3.2 -1.222 Td -[(UNIX System,\325)37(\325)]TJ -/T1_2 1 Tf -7.075 0 Td -(Softwar)Tj -0.25 Tc 3.148 0 Td -(eP)Tj -0 Tc 1.25 0 Td -(ractice and Experience)Tj -/T1_1 1 Tf -0.25 Tc (,v)Tj -0 Tc 10.12 0 Td -(ol. 20, no. S1, pp. S1/3\320S1/17 \(June\).)Tj -7.9995 0 0 7.9995 179.9884 513.6692 Tm -[(Describes )-22(the )-22(IPC )-22(facilities )-22(pr)18(ovided )-22(by )-22(the )-22(Ninth )-22(Edition )-22(Resear)18(ch )-22(UNIX )-22(System, )-22(developed )-22(at)]TJ --0.074 Tc 0 -1.25 TD -(AT)Tj -0 Tc 1.317 0 Td -[(&T )-49(Bell )-49(Laboratories.)-549(The )-49(featur)18(es )-49(ar)]TJ -0.2994 Tc 16.698 0 Td -(eb)Tj -0 Tc 1.331 0 Td -[(uilt )-49(on )-49(the )-49(str)18(eam )-49(input\320output )-49(system )-49(and )-49(include)]TJ --19.346 -1.25 Td -[(full-duplex )-260(pipes, )-260(the )-260(ability )-260(to )-260(pass )-260(\336le )-260(descriptors )-260(between )-260(pr)18(ocesses, )-260(and )-260(unique )-260(client)]TJ -T* -(connections to servers.)Tj -0.25 Tc 10.529 0 Td -(Ac)Tj -0 Tc 1.472 0 Td -[(opy of this paper also appears in A)74(T&T)]TJ -17.623 0.04 Td -([)Tj -0.333 -0.04 Td -(1990b)Tj -2.553 0.04 Td -(])Tj -0.333 -0.04 Td -(.)Tj -8.9995 0 0 8.9995 129.5917 464.9721 Tm -[(Rago, S. A.)-500(1993.)]TJ -/T1_2 1 Tf -8.073 0 Td -[(UNIX System V Network Pr)18(ogramming)]TJ -/T1_1 1 Tf -0.5 Tc (.A)Tj -0 Tc 17.954 0 Td -[(ddison-W)92(esley, Reading, MA.)]TJ -0.2896 Tc 7.9995 0 0 7.9995 179.9887 451.6729 Tm -(Ab)Tj -0 Tc 1.621 0 Td -[(ook )-40(that )-40(describes )-40(the )-40(networking )-40(pr)20(ogramming )-39(envir)18(onment )-39(of )-39(UNIX )-39(System )-39(V )-39(Release )-39(4,)]TJ --1.621 -1.25 Td -(which is based on STREAMS.)Tj -8.9995 0 0 8.9995 129.5914 422.9746 Tm -[(Raymond, )-146(E. )-146(S., )-146(ed.)-646(1996.)]TJ -/T1_2 1 Tf -12.551 0 Td -[(The )-146(New )-146(Hacker)]TJ --0.055 Tc 7.069 0 Td -[(\325s )-256(D)]TJ -0 Tc 1.786 0 Td -(ictionary)Tj -0.396 Tc 3.592 0 Td -(,T)Tj -0 Tc 1.257 0 Td -[(hird )-146(Edition.)]TJ -/T1_1 1 Tf -6.605 0 Td -[(MIT )-146(Pr)18(ess, )-146(Cambridge,)]TJ --29.66 -1.222 Td -(MA.)Tj -7.9995 0 0 7.9995 179.9881 398.6761 Tm -(Lots of computer hacker terms de\336ned.)Tj -8.9995 0 0 8.9995 129.5912 379.9772 Tm -(Salus, P)Tj -0.25 Tc 3.318 0 Td -(.H)Tj -0.5 Tc 1.332 0 Td -(.1)Tj -0 Tc 1.25 0 Td -(994.)Tj -/T1_2 1 Tf -0.25 Tc 2.25 0 Td -(AQ)Tj -0 Tc 1.75 0 Td -(uarter Century of UNIX)Tj -/T1_1 1 Tf -0.5 Tc (.A)Tj -0 Tc 11.501 0 Td -[(ddison-W)92(esley, Reading, MA.)]TJ -0.25 Tc 7.9995 0 0 7.9995 179.9881 366.678 Tm -(Ah)Tj -0 Tc 1.61 0 Td -[(istory of the UNIX System fr)18(om 1969 to 1994.)]TJ -8.9995 0 0 8.9995 129.5912 347.9791 Tm -(Seltzer)Tj -0.2553 Tc 2.921 0 Td -(,M)Tj -0 Tc 1.451 0 Td -[(., )-5(and )-5(Olson, )-5(M.)-506(1992. )-255(\324)37(\324LIBTP: )-5(Portable )-5(Modular )-5(T)90(ransactions )-5(for )-5(UNIX,\325)36(\325)]TJ -/T1_2 1 Tf -33.15 0 Td -[(Pr)18(oceedings )-5(of)]TJ --34.322 -1.222 Td -[(the 1992 W)20(inter USENIX Confer)18(ence)]TJ -/T1_1 1 Tf -0.25 Tc (,p)Tj -0 Tc 16.416 0 Td -(p. 9)Tj -1.684 0.09 Td -(\320)Tj -0.583 -0.09 Td -(25, San Francisco, CA.)Tj -0.25 Tc 7.9995 0 0 7.9995 179.9881 323.6806 Tm -(Am)Tj -0 Tc 1.911 0 Td -(odi\336cation of the)Tj -/TT0 1 Tf -7.758 0 Td -(db)Tj -/T1_1 1 Tf -[(\(3\) library fr)18(om 4.4BSD that implements transactions.)]TJ -8.9995 0 0 8.9995 129.5912 309.3814 Tm -(Seltzer)Tj -0.442 Tc 2.921 0 Td -(,M)Tj -0 Tc 1.638 0 Td -[(., )-192(and )-192(Y)55(igit, )-192(O.)-692(1991. )-442(\324)37(\324A )-192(New )-192(Hashing )-192(Package )-192(for )-192(UNIX,\325)37(\325)]TJ -/T1_2 1 Tf -28.67 0 Td -[(Pr)18(oceedings )-192(of )-192(the )-192(1991)]TJ --0.02 Tc -30.029 -1.222 Td -(Wi)Tj -0 Tc 1.202 0 Td -[(nter USENIX Confer)18(ence)]TJ -/T1_1 1 Tf -0.25 Tc (,p)Tj -0 Tc 11.492 0 Td -(p. 173)Tj -2.684 0.09 Td -(\320)Tj -0.583 -0.09 Td -(184, Dallas, TX.)Tj -0.25 Tc 7.9995 0 0 7.9995 179.9884 285.0829 Tm -(Ad)Tj -0 Tc 1.639 0 Td -(escription of the)Tj -/TT0 1 Tf -7.395 0 Td -(dbm)Tj -/T1_1 1 Tf -(\(3\) library and its implementations, and a newer hashing package.)Tj -8.9995 0 0 8.9995 129.5917 266.384 Tm -[(Singh, )-100(A.)-600(2006.)]TJ -/T1_2 1 Tf -7.614 0 Td -[(Mac )-100(OS )-100(X )-100(Internals: )-100(A )-100(Systems )-100(Appr)18(oach)]TJ -/T1_1 1 Tf -0.5999 Tc (.A)Tj -0 Tc 19.44 0 Td -[(ddison-W)92(esley, )-100(Upper )-100(Saddle )-100(River)74(,)]TJ --23.854 -1.222 Td -(NJ.)Tj -7.9995 0 0 7.9995 179.9891 242.0855 Tm -(Roughly 1,600 pages on the design of the Mac OS X operating system.)Tj -8.9995 0 0 8.9995 129.5921 223.3866 Tm -(Stevens, W)Tj -0.25 Tc 4.788 0 Td -(.R)Tj -0.5 Tc 1.168 0 Td -(.1)Tj -0 Tc 1.25 0 Td -(990.)Tj -/T1_2 1 Tf -2.25 0 Td -[(UNIX Network Pr)18(ogramming)]TJ -/T1_1 1 Tf -0.5 Tc (.P)Tj --0.018 Tc 13.613 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ntice Hall, Englewood Clif)18(fs, NJ.)]TJ -0.3646 Tc 7.9995 0 0 7.9995 179.9892 210.0874 Tm -(Ad)Tj -0 Tc 1.754 0 Td -[(etailed )-115(book )-115(on )-115(network )-115(pr)18(ogramming )-115(under )-115(the )-115(UNIX )-115(System.)-615(The )-115(contents )-115(of )-115(the )-115(\336rst)]TJ --1.754 -1.25 Td -[(edition of this book dif)18(fer gr)18(eatly fr)18(om later editions.)]TJ -8.9995 0 0 8.9995 129.5922 181.3891 Tm -[(Stevens, )-76(W)]TJ -0.3263 Tc 4.864 0 Td -(.R)Tj -0 Tc 1.244 0 Td -[(., )-76(Fenner)]TJ -0.3263 Tc 3.825 0 Td -(,B)Tj -0 Tc 1.187 0 Td -[(., )-76(and )-76(Rudof)18(f, )-76(A. )-76(M.)-578(2004.)]TJ -/T1_2 1 Tf -12.451 0 Td -[(UNIX )-76(Network )-76(Pr)18(ogramming, )-76(V)74(olume )-76(1, )-76(Third)]TJ --20.372 -1.222 Td -(Edition)Tj -/T1_1 1 Tf -0.5 Tc (.A)Tj -0 Tc 4.528 0 Td -[(ddison-W)92(esley, Boston, MA.)]TJ -0.2795 Tc 7.9995 0 0 7.9995 179.9887 157.0906 Tm -(Ad)Tj -0 Tc 1.669 0 Td -[(etailed )-29(book )-29(on )-29(network )-29(pr)18(ogramming )-29(under )-29(UNIX )-29(System.)-533(Redesigned )-30(and )-30(split )-30(into )-30(two)]TJ --1.669 -1.25 Td -(volumes in the second edition and updated in the thir)Tj -0.25 Tc 23.773 0 Td -(de)Tj -0 Tc 1.34 0 Td -(dition.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46869 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(744)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(pr)18(ovided )-309(in )-309(SVR4\325s )-309(BSD-compatibility )-309(library )-309([A)72(T&T )-309(1990c].)-809(The )-309(BSD )-309(developers)]TJ -0 -1.2 Td -[(extended )-49(the)]TJ -/TT0 1 Tf -6.069 0 Td -(dbm)Tj -/T1_1 1 Tf -2.099 0 Td -[(library )-49(and )-49(called )-49(it)]TJ -/TT0 1 Tf -9.105 0 Td -(ndbm)Tj -/T1_1 1 Tf -0.5494 Tc (.T)Tj -0 Tc 3.812 0 Td -(he)Tj -/TT0 1 Tf -1.36 0 Td -(ndbm)Tj -/T1_1 1 Tf -2.699 0 Td -[(library )-49(was )-49(included )-49(in )-49(BSD )-49(as)]TJ --25.145 -1.2 Td -[(well )-107(as )-107(in )-107(SVR4.)-605(The)]TJ -/TT0 1 Tf -10.064 0 Td -(ndbm)Tj -/T1_1 1 Tf -2.757 0 Td -[(functions )-107(ar)]TJ -0.3566 Tc 5.365 0 Td -(es)Tj -0 Tc 1.26 0 Td -[(tandar)18(dized )-107(in )-107(the )-107(XSI )-107(option )-107(of )-107(the )-107(Single)]TJ --19.445 -1.2 Td -(UNIX Speci\336cation.)Tj -1.8 -1.2 Td -[(Seltzer )-6(and )-6(Y)55(igit)]TJ -7.532 0.04 Td -([)Tj -0.333 -0.04 Td -(1991)Tj -2 0.04 Td -(])Tj -0.589 -0.04 Td -[(pr)18(ovide )-6(a )-6(detailed )-6(history )-6(of )-6(the )-6(dynamic )-6(hashing )-6(algorithm)]TJ --12.254 -1.2 Td -[(used )-72(by )-72(the)]TJ -/TT0 1 Tf -5.58 0 Td -(dbm)Tj -/T1_1 1 Tf -2.122 0 Td -[(library )-72(and )-72(other )-72(implementations )-72(of )-72(this )-72(library)]TJ -0.3224 Tc 21.792 0 Td -(,i)Tj -0 Tc 0.863 0 Td -(ncluding)Tj -/TT0 1 Tf -4.282 0 Td -(gdbm)Tj -/T1_1 1 Tf -0.3223 Tc (,t)Tj -0 Tc 3.298 0 Td -(he)Tj --37.939 -1.2 Td -[(GNU )-432(version )-432(of )-432(the)]TJ -/TT0 1 Tf -10.648 0 Td -(dbm)Tj -/T1_1 1 Tf -2.482 0 Td -(library)Tj -0.932 Tc 2.87 0 Td -(.U)Tj -0 Tc 1.96 0 Td -(nfortunately)Tj -0.682 Tc 5.408 0 Td -(,ab)Tj -0 Tc 2.667 0 Td -[(asic )-432(limitation )-432(of )-432(all )-432(these)]TJ --26.035 -1.2 Td -[(implementations )-124(is )-124(that )-124(none )-124(allows )-124(concurr)19(ent )-124(updating )-124(of )-124(the )-124(database )-124(by )-124(multiple)]TJ -0 -1.2 TD -[(pr)18(ocesses. )-450(These)-451(implementations )-200(pr)18(ovide )-200(no )-200(type )-200(of )-200(concurr)18(ency )-200(contr)18(ols )-200(\(such )-200(as)]TJ --0.018 Tc -0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.25 Tc 1.367 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(ocking\).)Tj --1.575 -1.2 Td -[(4.4BSD )-50(pr)18(ovided )-50(a )-50(new)]TJ -/TT0 1 Tf -10.835 0 Td -(db)Tj -/T1_1 1 Tf -[(\(3\) )-50(library )-50(that )-50(supports )-50(thr)18(ee )-50(forms )-50(of )-50(access: )-50(\(a\) )-50(r)22(ecor)18(d)]TJ --12.635 -1.2 Td -[(oriented, )-34(\(b\) )-34(hashing, )-34(and )-34(\(c\) )-34(a )-34(B-tr)17(ee. )-284(Again,)-284(no )-34(form )-34(of )-34(concurr)18(ency )-34(was )-34(pr)18(ovided )-34(\(as)]TJ -T* -(was plainly stated in the BUGS section of the)Tj -/TT0 1 Tf -20.081 0 Td -(db)Tj -/T1_1 1 Tf -(\(3\) manual page\).)Tj -7.9995 0 0 7.9995 183.5896 504.9697 Tm -[(Oracle )-290(\()]TJ -/TT0 1 Tf -(http://www.oracle.com)Tj -/T1_1 1 Tf -0.5405 Tc (\)p)Tj --0.018 Tc 17.843 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vides )-290(versions )-290(of )-290(the)]TJ -/TT0 1 Tf -10.504 0 Td -(db)Tj -/T1_1 1 Tf -1.74 0 Td -[(library )-290(that )-290(do )-290(support)]TJ --31.01 -1.25 Td -[(concurr)18(ent access, locking, and transactions.)]TJ -9.9994 0 0 9.9994 147.5916 473.9716 Tm -[(Most )-142(commer)18(cial )-142(database )-142(libraries )-142(do )-142(pr)18(ovide )-142(the )-142(concurr)18(ency )-142(contr)17(ols )-142(r)18(equir)18(ed)]TJ --1.8 -1.2 Td -[(for )-174(multiple )-174(pr)18(ocesses )-174(to )-174(update )-174(a )-174(database )-174(simultaneously)]TJ -0.6741 Tc 27.279 0 Td -(.T)Tj -0 Tc 1.537 0 Td -[(hese )-174(systems )-174(typically)]TJ --28.816 -1.2 Td -[(use )-128(advisory )-128(locking, )-128(as )-128(we )-128(described )-128(in )-128(Section )-128(14.3, )-128(but )-128(they )-128(often )-128(implement )-128(their)]TJ -T* -[(own )-15(locking )-15(primitives )-15(to )-15(avoid )-15(the )-15(over)19(head )-15(of )-15(a )-15(system )-15(call )-15(to )-15(acquir)19(e)-265(an)-265(uncontested)]TJ --0 -1.2 Td -[(lock. )-562(These)-563(commer)18(cial )-312(systems )-312(usually )-312(implement )-312(their )-312(database )-312(using )-312(B+ )-312(tr)14(ees)]TJ --0 -1.16 Td -([)Tj -0.333 -0.04 Td -[(Comer )-36(1979)]TJ -5.298 0.04 Td -(])Tj -0.619 -0.04 Td -[(or )-36(some )-36(dynamic )-36(hashing )-36(technique, )-36(such )-36(as )-36(linear )-36(hashing)]TJ -26.862 0.04 Td -([)Tj -0.333 -0.04 Td -[(Litwin )-36(1980)]TJ -5.221 0.04 Td -(])Tj --38.667 -1.24 Td -(or extendible hashing [Fagin et al. 1979].)Tj -1.8 -1.2 Td -(Figur)Tj -0.6764 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.655 0 Td -[(0.1 )-426(summarizes )-426(the )-426(database )-426(libraries )-426(commonly )-426(found )-426(in )-426(the )-426(four)]TJ --5.838 -1.2 Td -[(operating )-338(systems )-338(described )-338(in )-338(this )-338(book.)-840(Note )-338(that )-338(on )-338(Linux, )-338(the)]TJ -/TT0 1 Tf -33.031 0 Td -(gdbm)Tj -/T1_1 1 Tf -2.988 0 Td -(library)Tj --36.019 -1.2 Td -[(pr)18(ovides support for both)]TJ -/TT0 1 Tf -11.671 0 Td -(dbm)Tj -/T1_1 1 Tf -2.05 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(ndbm)Tj -/T1_1 1 Tf -2.65 0 Td -(functions.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1900.25 3472.25 cm -0 0 m -2691 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 281.6222 339.1593 Tm -[(Fr)18(eeBSD )-2416(Linux)-2382(Mac OS X)-2198(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-3993(3.2.0)-3618(10.6.8 )-3868(10)]TJ --12.228 0.625 Td -[(Library)-1849(POSIX.1)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1900.25 3252.25 cm -0 0 m -2691 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1900.25 3232.25 cm -0 0 m -2691 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 194.0011 315.1433 Tm -(dbm )Tj -17.521 0 Td -(gdbm)Tj -/T1_1 1 Tf -12.633 0 Td -(\245)Tj -/TT0 1 Tf --30.154 -1.25 Td -(ndbm)Tj -/T1_1 1 Tf -6.221 0 Td -[(XSI )-4550(\245)]TJ -/TT0 1 Tf -11.3 0 Td -(gdbm)Tj -/T1_1 1 Tf -5.262 Tc 6.765 0 Td -(\245\245)Tj -/TT0 1 Tf -0 Tc -24.286 -1.25 Td -(db)Tj -/T1_1 1 Tf -5.262 Tc 12.55 0 Td -(\245\245\245)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1900.25 2912.25 cm -0 0 m -2691 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2734.25 2912.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2254.25 2912.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2274.25 2912.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4591.25 2912.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1900.25 2912.25 cm -0 0 m -0 560 l -S -Q -Q -BT -/T1_0 1 Tf -0 Tc 7.9981 0 0 7.9981 211.2333 273.1344 Tm -(Figure 20.1)Tj -/T1_1 1 Tf -5.695 0 Td -(Support for database libraries on various platforms)Tj -/TT1 1 Tf -11.9971 0 0 11.9971 93.5777 225.146 Tm -[(20.3 )-776(The)-556(Librar )268(y)]TJ -/T1_1 1 Tf -9.9976 0 0 9.9976 129.5691 201.1517 Tm -[(The )-42(library )-42(we )-42(develop )-42(in )-42(this )-42(chapter )-42(will )-42(be )-42(similar )-42(to )-42(the)]TJ -/TT0 1 Tf -26.936 0 Td -(ndbm)Tj -/T1_1 1 Tf -2.692 0 Td -(library)Tj -0.2917 Tc 2.87 0 Td -(,b)Tj -0 Tc 1.095 0 Td -[(ut )-42(we\325ll )-42(add)]TJ --33.593 -1.2 Td -[(the )-168(concurr)18(ency )-168(contr)18(ol )-168(mechanisms )-168(to )-168(allow )-168(multiple )-168(pr)18(ocesses )-168(to )-168(update )-168(the )-168(same)]TJ -T* -[(database )-27(at )-27(the )-27(same )-27(time.)]TJ --0.092 Tc 12.254 0 Td -[(We )-211(\336)]TJ -0 Tc 2.269 0 Td -[(rst )-27(describe )-27(the )-27(C )-27(interface )-27(to )-27(the )-27(database )-27(library)]TJ -0.2767 Tc 21.982 0 Td -(,t)Tj -0 Tc 0.853 0 Td -(hen)Tj --37.357 -1.2 Td -(in the next section describe the actual implementation.)Tj -1.8 -1.2 Td -[(When )-422(we )-422(open )-422(a )-422(database, )-422(we )-422(ar)]TJ -0.6725 Tc 17.032 0 Td -(er)Tj -0 Tc 1.529 0 Td -[(eturned )-422(a )-422(handle )-422(\(an )-422(opaque )-422(pointer\))]TJ --0.018 Tc -20.36 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(pr)18(esenting the database.)]TJ --0.092 Tc 11.227 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll pass this handle to the r)18(emaining database functions.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46870 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 450.336 708 Tm -(Contents)Tj -/T1_1 1 Tf -5.974 0 Td -(xvii)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 154.7907 667.9599 Tm -[(18.2 )-2456(Ov)25(er )248(vie)]TJ -2.16 Tc 8.11 0 Td -(w6)Tj -0 Tc 3.438 0 Td -(71)Tj --11.548 -1.3 Td -[(18.3 )-2456(Special)-556(Input )-278(Char)10(acters )-1882(678)]TJ --0 -1.3 Td -[(18.4 )-2456(Getting)-556(and )-278(Setting )-278(T)120(er )253(minal)-556(Attr )263(ib)20(utes )-1882(683)]TJ --0 -1.3 Td -[(18.5 )-2456(T)120(er )253(minal)-556(Option )-278(Flags)-2160(683)]TJ --0 -1.3 Td -(18.6)Tj -/TT1 1 Tf -4.68 0 Td -(stty)Tj -/TT0 1 Tf -2.956 0 Td -[(Command )-1882(691)]TJ --7.636 -1.3 Td -[(18.7 )-2456(Baud)-556(Rate )-278(Functions)-2160(692)]TJ -0 -1.3 Td -[(18.8 )-2456(Line)-556(Control )-278(Functions)-2160(693)]TJ -0 -1.3 Td -[(18.9 )-2456(T)120(er )253(minal)-556(Identi\336cation )-1882(694)]TJ -0 -1.3 TD -[(18.10 )-1900(Canonical)-556(Mode )-1882(700)]TJ -T* -[(18.11 )-1900(Noncanonical)-556(Mode )-1882(703)]TJ -T* -[(18.12 )-1900(T)120(er )253(minal)-556(Windo)]TJ -0.556 Tc 11.849 0 Td -(wS)Tj -0 Tc 1.945 0 Td -(iz)Tj -2.16 Tc 0.707 0 Td -(e7)Tj -0 Tc 3.272 0 Td -(10)Tj --17.773 -1.3 Td -(18.13)Tj -/TT1 1 Tf -4.68 0 Td -(termcap)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -5.034 0 Td -(terminfo)Tj -/TT0 1 Tf -0.556 Tc (,a)Tj -0 Tc 6.19 0 Td -(nd)Tj -/TT1 1 Tf -1.668 0 Td -(curses)Tj -/TT0 1 Tf -5.76 0 Td -(712)Tj --23.332 -1.3 Td -[(18.14 )-1900(Summar)]TJ -2.16 Tc 8.488 0 Td -(y7)Tj -0 Tc 3.216 0 Td -(13)Tj -/TT2 1 Tf --14.224 -2.47 Td -[(Chapter )-278(19.)-1476(Pseudo )-278(T)60(erminals )]TJ -34.118 0 Td -(715)Tj -/TT0 1 Tf --31.598 -1.82 Td -[(19.1 )-2456(Introduction)-2160(715)]TJ -T* -[(19.2 )-2456(Ov)25(er )248(vie)]TJ -2.16 Tc 8.11 0 Td -(w7)Tj -0 Tc 3.438 0 Td -(15)Tj --11.548 -1.3 Td -[(19.3 )-2456(Opening)-556(Pseudo-T)120(er )253(minal)-556(De)30(vices )-1882(722)]TJ -0 -1.3 Td -(19.4)Tj -/TT1 1 Tf -4.68 0 Td -(pty_fork)Tj -/TT0 1 Tf -5.356 0 Td -[(Function )-1882(726)]TJ --10.036 -1.3 Td -(19.5)Tj -/TT1 1 Tf -4.68 0 Td -(pty)Tj -/TT0 1 Tf -2.356 0 Td -(Prog)Tj --0.01 Tc 2.102 0 Td -(ra)Tj -2.16 Tc 0.879 0 Td -(m7)Tj -0 Tc 3.549 0 Td -(29)Tj --13.566 -1.3 Td -[(19.6 )-2456(Using)-556(the)]TJ -/TT1 1 Tf -9.738 0 Td -(pty)Tj -/TT0 1 Tf -2.356 0 Td -(Prog)Tj --0.01 Tc 2.102 0 Td -(ra)Tj -2.16 Tc 0.879 0 Td -(m7)Tj -0 Tc 3.549 0 Td -(33)Tj --18.624 -1.3 Td -[(19.7 )-2456(Adv)25(anced )-278(F)30(eatures )-1882(740)]TJ -0 -1.3 Td -[(19.8 )-2456(Summar)]TJ -2.16 Tc 8.488 0 Td -(y7)Tj -0 Tc 3.216 0 Td -(41)Tj -/TT2 1 Tf --14.224 -2.47 Td -[(Chapter )-278(20.)]TJ -0.556 Tc 7.2 0 Td -(AD)Tj -0 Tc 2 0 Td -[(atabase )-278(Librar)]TJ -17.238 Tc 7.124 0 Td -(y7)Tj -0 Tc 18.35 0 Td -(43)Tj -/TT0 1 Tf --32.154 -1.82 Td -[(20.1 )-2456(Introduction)-2160(743)]TJ -T* -[(20.2 )-2456(Histor)]TJ -2.16 Tc 7.321 0 Td -(y7)Tj -0 Tc 3.216 0 Td -(43)Tj --10.537 -1.3 Td -[(20.3 )-2456(The)-556(Libr)10(ar )248(y)-2160(744)]TJ --0 -1.3 Td -[(20.4 )-2456(Implementation)-556(Ov)25(er )248(vie)]TJ -2.16 Tc 15.502 0 Td -(w7)Tj -0 Tc 3.438 0 Td -(46)Tj --18.94 -1.3 Td -[(20.5 )-2456(Centr)10(aliz)15(ed )-278(or )-278(Decentr)10(aliz)15(ed? )-1882(750)]TJ --0 -1.3 Td -[(20.6 )-2456(Concurrency)-2160(752)]TJ -T* -[(20.7 )-2456(Building)-556(the )-278(Libr)10(ar )248(y)-2160(753)]TJ -T* -[(20.8 )-2456(Source)-556(Code )-1882(753)]TJ -T* -[(20.9 )-2456(P)50(erf)30(or )253(mance)-2160(781)]TJ --0 -1.3 Td -[(20.10 )-1900(Summar)]TJ -2.16 Tc 8.488 0 Td -(y7)Tj -0 Tc 3.216 0 Td -(86)Tj -/TT2 1 Tf --14.224 -2.47 Td -[(Chapter )-278(21.)-1476(Comm)20(unicating )-278(with )-278(a )-278(Netw)20(ork )-278(Printer)]TJ -34.118 0 Td -(789)Tj -/TT0 1 Tf --31.598 -1.82 Td -[(21.1 )-2456(Introduction)-2160(789)]TJ -T* -[(21.2 )-2456(The)-556(Inter )253(net)-556(Pr )263(inting)-556(Protocol )-1882(789)]TJ --0 -1.3 Td -[(21.3 )-2456(The)-556(Hyper )238(te)30(xt )-278(T)]TJ --0.01 Tc 12.295 0 Td -(ra)Tj -0 Tc 0.879 0 Td -[(nsf)30(er )-278(Protocol)-2160(792)]TJ --13.174 -1.3 Td -[(21.4 )-2456(Pr)-15(inter )-278(Spooling)-2160(793)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46871 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.4)]TJ -36.323 0 Td -[(Printer )-250(Spooling)]TJ -/T1_1 1 Tf -9.51 0 Td -(793)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-303(following )-303(is )-303(a )-303(sample )-303(HTTP )-303(header )-303(for )-303(a )-303(print )-303(r)22(equest )-302(submitted )-302(to )-302(the)]TJ --1.8 -1.2 Td -[(author )176(\325s)-250(Xer)18(ox Phaser 8560 printer:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 635.9817 Tm -(POST /ipp HTTP/1.1\366M)Tj -0 -1.189 TD -(Content-Length: 21931\366M)Tj -T* -(Content-Type: application/ipp\366M)Tj -T* -(Host: phaser8560:631\366M)Tj -T* -(\366M)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 570.9055 Tm -(The)Tj -/TT0 1 Tf -1.927 0 Td -(Content-Length)Tj -/T1_0 1 Tf -8.653 0 Td -[(line )-3(speci\336es )-3(the )-3(size )-3(in )-3(bytes )-3(of )-3(the )-3(amount )-3(of )-3(data )-3(in )-3(the )-3(HTTP)]TJ --10.581 -1.2 Td -[(message. )-378(This)-378(excludes )-128(the )-128(size )-128(of )-128(the )-128(HTTP )-128(header)]TJ -0.3779 Tc 24.006 0 Td -(,b)Tj -0 Tc 1.181 0 Td -[(ut )-128(includes )-128(the )-128(size )-128(of )-128(the )-128(IPP)]TJ --25.187 -1.2 Td -(header)Tj -0.5627 Tc 2.972 0 Td -(.T)Tj -0 Tc 1.426 0 Td -(he)Tj -/TT0 1 Tf -1.374 0 Td -(Host)Tj -/T1_0 1 Tf -2.713 0 Td -[(line )-63(speci\336es )-63(the )-63(host )-63(name )-63(and )-63(port )-63(number )-63(of )-63(the )-63(server )-63(to )-63(which)]TJ --8.484 -1.2 Td -(the message is being sent.)Tj -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -1.985 0 Td -(\366M)Tj -/T1_0 1 Tf -1.511 0 Td -[(at )-61(the )-61(end )-61(of )-61(the )-61(each )-61(line )-61(is )-61(the )-61(carriage )-61(r)14(eturn )-61(that )-61(pr)18(ecedes )-61(the )-61(line )-61(feed.)]TJ --5.297 -1.2 Td -[(The )-141(line )-141(feed )-141(doesn\325t )-141(show )-141(up )-141(as )-141(a )-141(printable )-141(character)]TJ -0.6412 Tc 25.009 0 Td -(.N)Tj -0 Tc 1.722 0 Td -[(ote )-141(that )-141(the )-141(last )-141(line )-141(of )-141(the)]TJ --26.731 -1.2 Td -(header is empty)Tj -0.25 Tc 6.995 0 Td -(,e)Tj -0 Tc 0.979 0 Td -[(xcept for the carriage r)18(eturn and line feed.)]TJ --6.174 -1.2 Td -[(The )-39(start )-39(line )-39(in )-39(an )-39(HTTP )-39(r)18(esponse )-39(message )-39(contains )-39(a )-39(version )-39(string )-39(followed )-39(by )-39(a)]TJ --1.8 -1.2 Td -[(numeric )-122(status )-122(code )-122(and )-122(a )-122(status )-122(message, )-122(terminated )-122(by )-122(a )-122(carriage )-122(r)17(eturn )-122(and )-122(a )-122(line)]TJ -0 -1.2 TD -[(feed. )-287(The)]TJ --0.018 Tc 4.651 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(mainder )-37(of )-37(the )-37(HTTP )-37(r)18(esponse )-37(message )-37(has )-37(the )-37(same )-37(format )-37(as )-37(the )-37(r)16(equest)]TJ --5.507 -1.2 Td -[(message: headers followed by a blank line and an optional entity body)111(.)]TJ -1.8 -1.2 Td -[(In r)18(esponse to a print r)18(equest, the printer might send us the following message:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5907 417.935 Tm -(HTTP/1.1 200 OK\366M)Tj -0 -1.189 TD -(Content-Type: application/ipp\366M)Tj -T* -(Cache-Control: no-cache, no-store, must-revalidate\366M)Tj -T* -(Expires: THU, 26 OCT 1995 00:00:00 GMT\366M)Tj -T* -(Content-Length: 215\366M)Tj -0 -1.189 TD -(Server: Allegro-Software-RomPager/4.34\366M)Tj -0 -1.189 TD -(\366M)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5918 331.4601 Tm -[(As )-119(far )-119(as )-119(our )-119(print )-119(spooler )-119(is )-119(concerned, )-119(all )-119(we )-119(car)]TJ -0.3695 Tc 23.313 0 Td -(ea)Tj -0 Tc 1.349 0 Td -[(bout )-120(in )-120(this )-120(message )-120(is )-120(the )-120(\336rst)]TJ --24.661 -1.2 Td -[(line: )-14(it )-14(tells )-14(us )-14(whether )-14(the )-14(r)18(equest )-14(succeeded )-14(or )-14(failed )-14(using )-14(a )-14(numeric )-14(err)19(or )-14(code )-14(and )-14(a)]TJ -0 -1.2 TD -[(short )-102(string.)-602(The )-102(r)18(emainder )-102(of )-102(the )-102(message )-102(contains )-102(additional )-102(information )-102(to )-102(contr)22(ol)]TJ -T* -[(caching )-46(by )-46(nodes )-46(that )-46(might )-46(sit )-46(in )-46(between )-46(the )-46(client )-46(and )-46(the )-46(server )-46(and )-46(to )-46(indicate )-46(the)]TJ -T* -(softwar)Tj -0.25 Tc 3.34 0 Td -(ev)Tj -0 Tc 1.294 0 Td -[(ersion r)8(unning on the server)74(.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5942 240.2656 Tm -[(21.4 )-776(Printer)-556(Spooling)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.592 213.8672 Tm -[(The )-16(pr)18(ograms )-16(that )-16(we )-16(develop )-16(in )-16(this )-16(chapter )-16(form )-16(the )-16(basis )-16(of )-16(a )-16(simple )-16(printer )-16(spooler)73(.)]TJ -0.3104 Tc 0 -1.2 Td -(As)Tj -0 Tc 1.512 0 Td -[(imple )-60(user )-60(command )-60(sends )-60(a )-60(\336le )-60(to )-60(the )-60(printer )-60(spooler; )-60(the )-60(spooler )-60(saves )-60(it )-60(to )-60(disk,)]TJ --1.512 -1.2 Td -[(queues the r)18(equest, and ultimately sends the \336le to the printer)74(.)]TJ -1.8 -1.2 Td -[(All )-58(UNIX )-58(Systems )-58(pr)18(ovide )-58(at )-58(least )-58(one )-58(print )-58(spooling )-58(system.)-562(Fr)18(eeBSD )-58(ships )-58(LPD,)]TJ --1.8 -1.2 Td -[(the )-4(BSD )-4(print )-4(spooling )-4(system )-4(\(see)]TJ -/TT0 1 Tf -15.661 0 Td -(lpd)Tj -/T1_0 1 Tf -1.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(8)Tj -0.5 0.04 Td -(\))Tj -0.587 -0.04 Td -[(and )-4(Chapter )-4(13 )-4(of )-4(Stevens)]TJ -11.815 0.04 Td -([)Tj -0.333 -0.04 Td -(1990)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -[(\). )-254(Linux)-254(and)]TJ --33.362 -1.2 Td -[(Mac )-109(OS )-109(X )-109(include )-109(CUPS, )-109(the )-109(Common )-109(UNIX )-109(Printing )-109(System )-109(\(see)]TJ -/TT0 1 Tf -30.67 0 Td -(cupsd)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(8)Tj -0.5 0.04 Td -(\))Tj -0.333 -0.04 Td -[(\). )-359(Solaris)]TJ --34.836 -1.2 Td -[(ships )-27(with )-27(the )-27(standar)]TJ -0.2769 Tc 9.893 0 Td -(dS)Tj -0 Tc 1.413 0 Td -[(ystem )-27(V )-27(printer )-27(spooler )-27(\(see)]TJ -/TT0 1 Tf -12.841 0 Td -(lp)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.61 -0.04 Td -(and)Tj -/TT0 1 Tf -1.97 0 Td -(lpsched)Tj -/T1_0 1 Tf -4.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1M)Tj -1.446 0.04 Td -(\))Tj -0.333 -0.04 Td -[(\). )-277(In)-277(this)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46872 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(792)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1344.25 6670.25 cm -0 0 m -3803 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 186.9328 658.9605 Tm -(Attribute )Tj -11.175 0 Td -(Status)Tj -13.944 0 Td -(Description)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1344.25 6550.25 cm -0 0 m -3803 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1344.25 6530.25 cm -0 0 m -3803 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 138.4354 644.9226 Tm -(attributes-charset)Tj -/T1_1 1 Tf --0.018 Tc 16.7 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(ed)-500(the character set used by attributes of type)]TJ -/TT0 1 Tf -22.392 0 Td -(text)Tj -/T1_1 1 Tf -2.65 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(name)Tj --43.789 -1.25 Td -(attributes-natural)Tj -10.8 0.09 Td -(-)Tj -0.6 -0.09 Td -(language)Tj -/T1_1 1 Tf --0.018 Tc 5.3 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(ed)-500(the natural language used by attributes of type)]TJ -/TT0 1 Tf -24.362 0 Td -(text)Tj -/T1_1 1 Tf -2.65 0 Td -(or)Tj -/TT0 1 Tf --22.241 -1.25 Td -(name)Tj --22.327 -1.25 Td -(printer-uri)Tj -/T1_1 1 Tf --0.018 Tc 16.7 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(ed)-500(the printer)-74(\325s Universal Resour)18(ce Identi\336er)]TJ -/TT0 1 Tf --17.556 -1.25 Td -(requesting-user-name)Tj -/T1_1 1 Tf -16.7 0 Td -[(optional)-594(name of user submitting job \(used for authentication, if)]TJ -5.627 -1.25 Td -(enabled\))Tj -/TT0 1 Tf --22.327 -1.25 Td -(job-name)Tj -/T1_1 1 Tf -16.7 0 Td -[(optional)-594(name of job used to distinguish between multiple jobs)]TJ -/TT0 1 Tf --16.7 -1.25 Td -(ipp-attribute-fidelity)Tj -/T1_1 1 Tf -16.7 0 Td -[(optional)-594(if tr)8(ue, tells printer to r)18(eject job if all attributes can\325t be)]TJ -5.627 -1.25 Td -(met; otherwise, printer does its best to print the job)Tj -/TT0 1 Tf --22.327 -1.25 Td -(document-name)Tj -/T1_1 1 Tf -16.7 0 Td -[(optional)-594(the name of the document \(suitable for printing in a)]TJ -5.627 -1.25 Td -(banner)Tj -0.25 Tc 3.017 0 Td -(,f)Tj -0 Tc 0.833 0 Td -(or example\))Tj -/TT0 1 Tf --26.177 -1.25 Td -(document-format)Tj -/T1_1 1 Tf -16.7 0 Td -[(optional)-594(the format of the document \(e.g., plaintext, PostScript\))]TJ -/TT0 1 Tf --16.7 -1.25 Td -(document-natural)Tj -9.6 0.09 Td -(-)Tj -0.6 -0.09 Td -(language)Tj -/T1_1 1 Tf -6.5 0 Td -[(optional)-594(the natural language of the document)]TJ -/TT0 1 Tf --16.7 -1.25 Td -(compression)Tj -/T1_1 1 Tf -16.7 0 Td -[(optional)-594(the algorithm used to compr)18(ess the document data)]TJ -/TT0 1 Tf --16.7 -1.25 Td -(job-k-octets)Tj -/T1_1 1 Tf -16.7 0 Td -[(optional)-594(size of the document in 1,024-octet units)]TJ -/TT0 1 Tf --16.7 -1.25 Td -(job-impressions)Tj -/T1_1 1 Tf -16.7 0 Td -[(optional)-594(number of impr)18(essions \(images imposed on a page\))]TJ -5.627 -1.25 Td -(submitted in this job)Tj -/TT0 1 Tf --22.327 -1.25 Td -(job-media-sheets)Tj -/T1_1 1 Tf -16.7 0 Td -[(optional)-594(number of sheets printed by this job)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1344.25 4710.25 cm -0 0 m -3803 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3042.25 4710.25 cm -0 0 m -0 1960 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2700.25 4710.25 cm -0 0 m -0 1960 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5147.25 4710.25 cm -0 0 m -0 1960 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1344.25 4710.25 cm -0 0 m -0 1960 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 249.819 450.5189 Tm -(Figure 21.5)Tj -/T1_1 1 Tf -5.445 0 Td -[(Attributes of print-job r)18(equest)]TJ -9.9982 0 0 9.9982 147.5736 421.7241 Tm -[(The )-168(IPP )-168(header )-168(contains )-168(a )-168(mixtur)19(e)-418(of)-418(text )-168(and )-168(binary )-168(data.)-667(Attribute )-168(names )-168(ar)19(e)]TJ --1.8 -1.2 Td -[(stor)18(ed )-119(as )-119(text, )-119(but )-119(sizes )-119(ar)]TJ -0.3688 Tc 11.905 0 Td -(es)Tj -0 Tc 1.272 0 Td -[(tor)18(ed )-119(as )-119(binary )-119(integers.)-619(This )-119(complicates )-119(the )-119(pr)18(ocess )-119(of)]TJ --13.177 -1.2 Td -[(building )-57(and )-57(parsing )-57(the )-57(header)]TJ -0.3075 Tc 14.409 0 Td -(,s)Tj -0 Tc 0.981 0 Td -[(ince )-57(we )-57(need )-57(to )-57(worry )-57(about )-57(such )-57(things )-57(as )-57(network)]TJ --15.391 -1.2 Td -[(byte )-123(or)18(der )-123(and )-123(our )-123(host )-123(pr)19(ocessor )176(\325s)-373(ability )-123(to )-123(addr)18(ess )-123(an )-123(integer )-123(on )-123(an )-123(arbitrary )-123(byte)]TJ -0 -1.2 TD -(boundary)Tj -0.6387 Tc 4.235 0 Td -(.A)Tj -0 Tc 2.055 0 Td -[(better )-139(alternative )-139(would )-139(have )-139(been )-139(to )-139(design )-139(the )-139(header )-139(to )-139(contain )-139(text)]TJ --6.29 -1.2 Td -(only)Tj -0.5 Tc 1.864 0 Td -(.T)Tj -0 Tc 1.363 0 Td -[(his simpli\336es pr)18(ocessing at the cost of slightly lar)18(ger pr)18(otocol messages.)]TJ -/TT1 1 Tf -11.9978 0 0 11.9978 93.583 323.3418 Tm -[(21.3 )-776(The)-556(Hyper )258(te)15(xt )-278(T)80(ransf)10(er )-278(Pr)20(otocol)]TJ -/T1_1 1 Tf --0.111 Tc 9.9982 0 0 9.9982 129.5763 299.3461 Tm -(Ve)Tj -0 Tc 1.09 0 Td -[(rsion )-14(1.1 )-14(of )-14(HTTP )-14(is )-14(speci\336ed )-14(in )-14(RFC )-14(2616.)-517(HTTP )-14(is )-14(also )-14(a )-14(r)16(equest\320r)18(esponse )-14(pr)18(otocol.)]TJ -0.3412 Tc -1.09 -1.2 Td -(Ar)Tj -0 Tc 1.496 0 Td -[(equest )-91(message )-91(contains )-91(a )-91(start )-91(line, )-91(followed )-91(by )-91(header )-91(lines, )-91(a )-91(blank )-91(line, )-91(and )-91(an)]TJ --1.496 -1.2 Td -(optional entity body)Tj -0.5 Tc 8.898 0 Td -(.T)Tj -0 Tc 1.363 0 Td -(he entity body contains the IPP header and data in this case.)Tj --8.461 -1.2 Td -[(HTTP )-52(headers )-52(ar)]TJ -0.3023 Tc 7.614 0 Td -(eA)Tj -0 Tc 1.559 0 Td -[(SCII, )-52(with )-52(each )-52(line )-52(terminated )-52(by )-52(a )-52(carriage )-52(r)18(eturn )-52(\()]TJ -/TT0 1 Tf -23.697 0 Td -(\\r)Tj -/T1_1 1 Tf -0.3024 Tc (\)a)Tj -0 Tc 2.335 0 Td -[(nd )-52(a)]TJ --37.005 -1.2 Td -[(line )-175(feed )-175(\()]TJ -/TT0 1 Tf -(\\n)Tj -/T1_1 1 Tf -[(\). )-425(The)-425(start )-175(line )-175(consists )-175(of )-175(a)]TJ -/T1_2 1 Tf -19.863 0 Td -(method)Tj -/T1_1 1 Tf -3.369 0 Td -[(that )-175(indicates )-175(which )-175(operation )-175(the)]TJ --23.232 -1.2 Td -[(client )-156(is )-156(r)18(equesting, )-156(a )-156(Uniform )-156(Resour)18(ce )-156(Locator)]TJ -22.594 0.04 Td -(\()Tj -0.333 -0.04 Td -(URL)Tj -2.057 0.04 Td -(\))Tj -0.739 -0.04 Td -[(that )-156(describes )-156(the )-156(server )-156(and)]TJ --25.724 -1.2 Td -[(pr)18(otocol, )-138(and )-138(a )-138(string )-138(indicating )-138(the )-138(HTTP )-138(version.)-638(The )-138(only )-138(method )-138(used )-138(by )-138(IPP )-138(is)]TJ -/TT0 1 Tf -T* -(POST)Tj -/T1_1 1 Tf -0.25 Tc (,w)Tj -0 Tc 3.734 0 Td -[(hich is used to send data to a server)74(.)]TJ --1.934 -1.2 Td -[(The )-16(header )-16(lines )-16(specify )-16(attributes, )-16(such )-16(as )-16(the )-16(format )-16(and )-16(length )-16(of )-16(the )-16(entity )-16(body)110(.)]TJ -0.3412 Tc -1.8 -1.2 Td -(Ah)Tj -0 Tc 1.701 0 Td -[(eader )-91(line )-91(consists )-91(of )-91(an )-91(attribute )-91(name )-91(followed )-91(by )-91(a )-91(colon, )-91(optional )-91(white )-91(space,)]TJ --1.701 -1.2 Td -[(and )-182(the )-182(attribute )-182(value, )-182(and )-182(is )-182(terminated )-182(by )-182(a )-182(carriage )-182(r)14(eturn )-182(and )-182(a )-182(line )-182(feed.)-684(For)]TJ -T* -[(example, )-14(to )-14(specify )-14(that )-14(the )-14(entity )-14(body )-14(contains )-14(an )-14(IPP )-14(message, )-14(we )-14(include )-14(the )-14(header)]TJ -T* -(line)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.573 138.675 Tm -(Content-Type: application/ipp)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46873 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(21)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Comm)20(unica )275(ting)-560(with )-280(a)]TJ -0 -1.667 TD -[(Netw)30(or )275(k)-560(Pr )260(inter)]TJ -/TT0 1 Tf -12 0 0 12 93.5998 422.3998 Tm -[(21.1 )-776(Intr)20(oduction)]TJ -/T1_2 1 Tf --0.092 Tc 10 0 0 10 129.5998 398.3998 Tm -[(We )-447(n)]TJ -0 Tc 2.482 0 Td -[(ow )-263(develop )-263(a )-263(pr)18(ogram )-263(that )-263(can )-263(communicate )-263(with )-263(a )-263(network )-263(printer)]TJ -0.763 Tc 32.928 0 Td -(.T)Tj -0 Tc 1.626 0 Td -(hese)Tj --37.036 -1.2 Td -[(printers )-45(ar)]TJ -0.2951 Tc 4.665 0 Td -(ec)Tj -0 Tc 1.218 0 Td -[(onnected )-45(to )-45(multiple )-45(computers )-45(via )-45(Ethernet )-45(and )-45(often )-45(support )-45(PostScript)]TJ --5.883 -1.2 Td -[(\336les )-37(as )-37(well )-37(as )-37(plain )-37(text )-37(\336les.)-540(Applications )-37(generally )-37(use )-37(the )-37(Internet )-37(Printing )-37(Pr)16(otocol)]TJ -0 -1.16 TD -(\()Tj -0.333 -0.04 Td -(IPP)Tj -1.545 0.04 Td -(\))Tj -1.146 -0.04 Td -[(to )-564(communicate )-564(with )-564(these )-564(printers, )-564(although )-564(some )-564(support )-564(alternative)]TJ --3.024 -1.2 Td -[(communication pr)18(otocols.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-213(a)]TJ --0.018 Tc 2.166 0 Td -[(re )-65(a)]TJ -0 Tc 1.635 0 Td -[(bout )-29(to )-29(describe )-29(two )-29(pr)18(ograms: )-29(a )-29(print )-29(spooler )-29(daemon )-29(that )-29(sends )-29(jobs )-29(to )-29(a)]TJ --5.601 -1.2 Td -[(printer )-167(and )-167(a )-167(command )-167(to )-167(submit )-167(print )-167(jobs )-167(to )-167(the )-167(spooler )-167(daemon.)-668(Since )-167(the )-167(print)]TJ -0 -1.2 TD -[(spooler )-281(has )-281(to )-281(do )-281(multiple )-281(things )-281(\(e.g., )-281(communicate )-281(with )-281(clients )-281(submitting )-281(jobs,)]TJ -T* -[(communicate )-55(with )-55(the )-55(printer)]TJ -0.3048 Tc 13.31 0 Td -(,r)Tj -0 Tc 0.932 0 Td -[(ead )-55(\336les, )-55(scan )-55(dir)19(ectories\), )-55(this )-55(gives )-55(us )-55(a )-55(chance )-55(to )-55(use)]TJ --14.242 -1.2 Td -[(many )-54(of )-54(the )-54(functions )-54(fr)18(om )-54(earlier )-54(chapters.)-555(For )-54(example, )-54(we )-54(use )-54(thr)18(eads )-54(\(Chapters )-54(1)54(1)]TJ -T* -[(and )-345(12\) )-345(to )-345(simplify )-345(the )-345(design )-345(of )-345(the )-345(print )-345(spooler )-345(and )-345(sockets )-345(\(Chapter )-345(16\) )-345(to)]TJ -T* -[(communicate )-93(between )-93(the )-93(pr)18(ogram )-93(used )-93(to )-93(schedule )-93(a )-93(\336le )-93(to )-93(be )-93(printed )-93(and )-93(the )-93(print)]TJ -T* -(spooler)Tj -0.25 Tc 3.208 0 Td -(,a)Tj -0 Tc 1 0 Td -[(nd also between the print spooler and the network printer)74(.)]TJ -/TT0 1 Tf -12 0 0 12 93.5999 218.3998 Tm -[(21.2 )-776(The)-556(Internet )-278(Printing )-278(Pr)20(otocol)]TJ -/T1_2 1 Tf -10 0 0 10 129.5997 194.3998 Tm -[(IPP )-24(speci\336es )-24(the )-24(communication )-24(r)8(ules )-24(for )-24(building )-24(network-based )-24(printing )-24(systems.)-523(By)]TJ -T* -[(embedding )-51(an )-51(IPP )-51(server )-51(inside )-51(a )-51(printer )-51(with )-51(an )-51(Ethernet )-51(car)22(d, )-50(the )-50(printer )-50(can )-50(service)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(quests )-3(fr)18(om )-4(many )-4(computer )-4(systems.)-504(These )-4(computer )-4(systems )-4(need )-4(not )-4(be )-4(located )-4(on)]TJ --0.856 -1.2 Td -[(the )-40(same )-40(physical )-40(network, )-40(however)]TJ -0.5402 Tc 16.297 0 Td -(.I)Tj -0 Tc 1.127 0 Td -[(PP )-40(is )-40(built )-40(on )-40(top )-40(of )-40(standar)]TJ -0.2901 Tc 12.528 0 Td -(dI)Tj -0 Tc 1.238 0 Td -[(nternet )-40(pr)18(otocols,)]TJ --31.19 -1.2 Td -[(so )-72(any )-72(computer )-72(that )-72(can )-72(cr)18(eate )-72(a )-72(TCP/IP )-72(connection )-72(to )-72(the )-72(printer )-72(can )-72(submit )-72(a )-72(print)]TJ -T* -(job.)Tj -/T1_3 1 Tf -9 0 0 9 506.0995 113.9998 Tm -(789)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46874 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(786)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(Figur)Tj -0.2638 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.243 0 Td -[(0.9 )-14(is )-14(a )-14(graph )-14(of )-14(the )-14(data )-14(fr)19(om )-14(Figur)]TJ -0.2639 Tc 15.935 0 Td -(e2)Tj -0 Tc 1.243 0 Td -[(0.8 )-14(for )-14(advisory )-14(\336ne-grained )-14(locking.)]TJ --0.092 Tc -22.603 -1.2 Td -[(We )-268(p)]TJ -0 Tc 2.322 0 Td -[(lot )-84(the )-84(clock )-84(time )-84(as )-84(the )-84(number )-84(of )-84(pr)18(ocesses )-84(goes )-84(fr)22(om )-83(1 )-83(to )-83(16.)]TJ --0.092 Tc 29.379 0 Td -[(We )-268(a)]TJ -0 Tc 2.221 0 Td -[(lso )-83(plot )-83(the)]TJ --33.921 -1.2 Td -[(user )-93(CPU )-93(time )-93(divided )-93(by )-93(the )-93(number )-93(of )-93(pr)19(ocesses )-93(and )-93(the )-93(system )-93(CPU )-93(time )-93(divided)]TJ -0 -1.2 TD -[(by the number of pr)18(ocesses.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 4154.25 cm -0 0 m -0 1872 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4326.25 6026.25 cm -0 0 m -0 -1872 l --2304 -1872 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 298.5722 384.7938 Tm -[(#pr)18(ocesses)]TJ --19.706 15.925 Td -(clock time)Tj -0.167 -1.25 Td -(\(seconds\))Tj -38.154 3.125 Td -[(sys CPU/#pr)18(oc,)]TJ --0.123 -1.25 Td -[(user CPU/#pr)18(oc)]TJ -1.57 -1.25 Td -(\(seconds\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2094.25 4154.25 cm -0 0 m -0 -90 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 207.3627 397.7684 Tm -(1)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2238.25 4154.25 cm -0 0 m -0 -90 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 221.7468 397.7445 Tm -(2)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 4154.25 cm -0 0 m -0 -90 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 236.1291 397.7207 Tm -(3)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2526.25 4154.25 cm -0 0 m -0 -90 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 250.5098 397.6968 Tm -(4)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 4154.25 cm -0 0 m -0 -90 l -S -Q -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 264.8887 397.6729 Tm -(5)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2814.25 4154.25 cm -0 0 m -0 -90 l -S -Q -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 279.2659 397.6491 Tm -(6)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2958.25 4154.25 cm -0 0 m -0 -90 l -S -Q -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 293.6414 397.6252 Tm -(7)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3102.25 4154.25 cm -0 0 m -0 -90 l -S -Q -Q -BT -/T1_1 1 Tf -7.9952 0 0 7.9952 308.0151 397.6014 Tm -(8)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 4154.25 cm -0 0 m -0 -90 l -S -Q -Q -BT -/T1_1 1 Tf -7.9947 0 0 7.9947 322.3871 397.5775 Tm -(9)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3390.25 4154.25 cm -0 0 m -0 -90 l -S -Q -Q -BT -/T1_1 1 Tf -7.9942 0 0 7.9942 334.7589 397.5536 Tm -(10)Tj -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 4154.25 cm -0 0 m -0 -90 l -S -Q -Q -BT -/T1_1 1 Tf --0.055 Tc 7.9938 0 0 7.9938 349.3474 397.5298 Tm -(11)Tj -ET -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3678.25 4154.25 cm -0 0 m -0 -90 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 7.9933 0 0 7.9933 363.4945 397.5059 Tm -(12)Tj -ET -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 4154.25 cm -0 0 m -0 -90 l -S -Q -Q -BT -/T1_1 1 Tf -7.9928 0 0 7.9928 377.8598 397.4821 Tm -(13)Tj -ET -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3966.25 4154.25 cm -0 0 m -0 -90 l -S -Q -Q -BT -/T1_1 1 Tf -7.9923 0 0 7.9923 392.2233 397.4582 Tm -(14)Tj -ET -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 4154.25 cm -0 0 m -0 -90 l -S -Q -Q -BT -/T1_1 1 Tf -7.9918 0 0 7.9918 406.5851 397.4344 Tm -(15)Tj -ET -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4254.25 4154.25 cm -0 0 m -0 -90 l -S -Q -Q -BT -/T1_1 1 Tf -7.9914 0 0 7.9914 420.9451 397.4106 Tm -(16)Tj -ET -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 4154.25 cm -0 0 m --90 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9909 0 0 7.9909 187.1865 413.1687 Tm -(0)Tj -ET -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 4388.25 cm -0 0 m --90 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9904 0 0 7.9904 183.18 436.5159 Tm -(10)Tj -ET -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 4622.25 cm -0 0 m --90 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9899 0 0 7.9899 183.1691 459.8602 Tm -(20)Tj -ET -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 4856.25 cm -0 0 m --90 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9894 0 0 7.9894 183.1581 483.2017 Tm -(30)Tj -ET -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5090.25 cm -0 0 m --90 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.989 0 0 7.989 183.1471 506.5405 Tm -(40)Tj -ET -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5324.25 cm -0 0 m --90 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9885 0 0 7.9885 183.1361 529.8764 Tm -(50)Tj -ET -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5558.25 cm -0 0 m --90 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.988 0 0 7.988 183.1251 553.2095 Tm -(60)Tj -ET -q -0.0998501 0 0 0.0998501 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5792.25 cm -0 0 m --90 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9875 0 0 7.9875 183.1141 576.5399 Tm -(70)Tj -ET -q -0.0998441 0 0 0.0998441 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 6026.25 cm -0 0 m --90 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9871 0 0 7.9871 183.1031 599.8674 Tm -(80)Tj -ET -q -0.0998381 0 0 0.0998381 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4326.25 4154.25 cm -0 0 m -90 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9866 0 0 7.9866 442.6557 412.9456 Tm -(0)Tj -ET -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4326.25 4622.25 cm -0 0 m -90 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9861 0 0 7.9861 442.6291 459.6395 Tm -(2)Tj -ET -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4326.25 5090.25 cm -0 0 m -90 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9856 0 0 7.9856 442.6026 506.3278 Tm -(4)Tj -ET -q -0.0998202 0 0 0.0998202 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4326.25 5558.25 cm -0 0 m -90 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9851 0 0 7.9851 442.576 553.0104 Tm -(6)Tj -ET -q -0.0998142 0 0 0.0998142 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4326.25 6026.25 cm -0 0 m -90 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9847 0 0 7.9847 442.5495 599.6875 Tm -(8)Tj -6.9866 0 0 6.9866 206.8814 413.9963 Tm -(\245)Tj -/TT0 1 Tf -7.9847 0 0 7.9847 207.0023 416.0802 Tm -(%)Tj -4.9904 0 0 4.9904 207.4713 421.0387 Tm -($)Tj -/T1_1 1 Tf -6.9866 0 0 6.9866 221.2538 415.4334 Tm -(\245)Tj -/TT0 1 Tf -7.9847 0 0 7.9847 221.3746 419.1704 Tm -(%)Tj -4.9904 0 0 4.9904 221.8436 428.7278 Tm -($)Tj -ET -q -0.0998082 0 0 0.0998082 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2094.25 4165.25 cm -0 0 m -144 14 l -S -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2094.25 4186.25 cm -0 0 m -144 30 l -S -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2094.25 4236.25 cm -0 0 m -144 77 l -S -Q -Q -BT -/T1_1 1 Tf -6.9862 0 0 6.9862 235.612 417.9237 Tm -(\245)Tj -/TT0 1 Tf -7.9842 0 0 7.9842 235.7329 423.4568 Tm -(%)Tj -4.9901 0 0 4.9901 236.2018 441.8523 Tm -($)Tj -ET -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2238.25 4180.25 cm -0 0 m -144 26 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2238.25 4217.25 cm -0 0 m -144 44 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2238.25 4313.25 cm -0 0 m -144 132 l -S -Q -Q -BT -/T1_1 1 Tf -6.9857 0 0 6.9857 249.9685 422.2816 Tm -(\245)Tj -/TT0 1 Tf -7.9837 0 0 7.9837 250.0894 429.3232 Tm -(%)Tj -4.9898 0 0 4.9898 250.5583 460.3637 Tm -($)Tj -ET -q -0.0997962 0 0 0.0997962 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 4205.25 cm -0 0 m -144 44 l -S -Q -Q -q -0.0997962 0 0 0.0997962 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 4260.25 cm -0 0 m -144 59 l -S -Q -Q -q -0.0997962 0 0 0.0997962 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 4445.25 cm -0 0 m -144 185 l -S -Q -Q -BT -/T1_1 1 Tf -6.9853 0 0 6.9853 264.3233 426.9983 Tm -(\245)Tj -/TT0 1 Tf -7.9832 0 0 7.9832 264.4442 432.7461 Tm -(%)Tj -4.9895 0 0 4.9895 264.9131 468.1677 Tm -($)Tj -ET -q -0.0997902 0 0 0.0997902 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2526.25 4249.25 cm -0 0 m -144 47 l -S -Q -Q -q -0.0997902 0 0 0.0997902 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2526.25 4319.25 cm -0 0 m -144 35 l -S -Q -Q -q -0.0997902 0 0 0.0997902 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2526.25 4630.25 cm -0 0 m -144 79 l -S -Q -Q -BT -/T1_1 1 Tf -6.9849 0 0 6.9849 278.6764 433.5106 Tm -(\245)Tj -/TT0 1 Tf -7.9827 0 0 7.9827 278.7972 436.2406 Tm -(%)Tj -4.9892 0 0 4.9892 279.2661 480.7125 Tm -($)Tj -ET -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 4296.25 cm -0 0 m -144 66 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 4354.25 cm -0 0 m -144 35 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 4709.25 cm -0 0 m -144 126 l -S -Q -Q -BT -/T1_1 1 Tf -6.9845 0 0 6.9845 293.0277 440.4531 Tm -(\245)Tj -/TT0 1 Tf -7.9823 0 0 7.9823 293.1486 439.5909 Tm -(%)Tj -4.9889 0 0 4.9889 293.6174 490.2385 Tm -($)Tj -ET -q -0.0997782 0 0 0.0997782 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2814.25 4362.25 cm -0 0 m -144 70 l -S -Q -Q -q -0.0997782 0 0 0.0997782 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2814.25 4389.25 cm -0 0 m -144 34 l -S -Q -Q -q -0.0997782 0 0 0.0997782 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2814.25 4835.25 cm -0 0 m -144 96 l -S -Q -Q -BT -/T1_1 1 Tf -6.9841 0 0 6.9841 307.3774 448.8315 Tm -(\245)Tj -/TT0 1 Tf -7.9818 0 0 7.9818 307.4982 443.372 Tm -(%)Tj -4.9886 0 0 4.9886 307.967 501.703 Tm -($)Tj -ET -q -0.0997723 0 0 0.0997723 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2958.25 4432.25 cm -0 0 m -144 84 l -S -Q -Q -q -0.0997723 0 0 0.0997723 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2958.25 4423.25 cm -0 0 m -144 37 l -S -Q -Q -q -0.0997723 0 0 0.0997723 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2958.25 4931.25 cm -0 0 m -144 116 l -S -Q -Q -BT -/T1_1 1 Tf -6.9836 0 0 6.9836 321.7253 457.7117 Tm -(\245)Tj -/TT0 1 Tf -7.9813 0 0 7.9813 321.8461 447.4396 Tm -(%)Tj -4.9883 0 0 4.9883 322.3149 510.7234 Tm -($)Tj -ET -q -0.0997663 0 0 0.0997663 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3102.25 4516.25 cm -0 0 m -144 89 l -S -Q -Q -q -0.0997663 0 0 0.0997663 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3102.25 4461.25 cm -0 0 m -144 41 l -S -Q -Q -q -0.0997663 0 0 0.0997663 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3102.25 5046.25 cm -0 0 m -144 91 l -S -Q -Q -BT -/T1_1 1 Tf -6.9832 0 0 6.9832 336.0714 468.0992 Tm -(\245)Tj -/TT0 1 Tf -7.9808 0 0 7.9808 336.1922 450.9322 Tm -(%)Tj -4.988 0 0 4.988 336.661 522.4003 Tm -($)Tj -ET -q -0.0997603 0 0 0.0997603 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 4605.25 cm -0 0 m -144 105 l -S -Q -Q -q -0.0997603 0 0 0.0997603 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 4502.25 cm -0 0 m -144 36 l -S -Q -Q -q -0.0997603 0 0 0.0997603 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 5137.25 cm -0 0 m -144 117 l -S -Q -Q -BT -/T1_1 1 Tf -6.9828 0 0 6.9828 350.4159 479.3473 Tm -(\245)Tj -/TT0 1 Tf -7.9803 0 0 7.9803 350.5367 454.4247 Tm -(%)Tj -4.9877 0 0 4.9877 351.0054 532.7116 Tm -($)Tj -ET -q -0.0997543 0 0 0.0997543 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3390.25 4710.25 cm -0 0 m -144 113 l -S -Q -Q -q -0.0997543 0 0 0.0997543 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3390.25 4538.25 cm -0 0 m -144 36 l -S -Q -Q -q -0.0997543 0 0 0.0997543 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3390.25 5254.25 cm -0 0 m -144 104 l -S -Q -Q -BT -/T1_1 1 Tf -6.9824 0 0 6.9824 364.7586 490.4505 Tm -(\245)Tj -/TT0 1 Tf -7.9799 0 0 7.9799 364.8794 458.2758 Tm -(%)Tj -4.9874 0 0 4.9874 365.3481 541.1545 Tm -($)Tj -ET -q -0.0997483 0 0 0.0997483 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 4823.25 cm -0 0 m -144 111 l -S -Q -Q -q -0.0997483 0 0 0.0997483 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 4573.25 cm -0 0 m -144 38 l -S -Q -Q -q -0.0997483 0 0 0.0997483 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 5358.25 cm -0 0 m -144 85 l -S -Q -Q -BT -/T1_1 1 Tf -6.982 0 0 6.982 379.0996 504.0658 Tm -(\245)Tj -/TT0 1 Tf -7.9794 0 0 7.9794 379.2204 462.2699 Tm -(%)Tj -4.9871 0 0 4.9871 379.6891 552.1817 Tm -($)Tj -ET -q -0.0997423 0 0 0.0997423 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3678.25 4934.25 cm -0 0 m -144 138 l -S -Q -Q -q -0.0997423 0 0 0.0997423 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3678.25 4612.25 cm -0 0 m -144 41 l -S -Q -Q -q -0.0997423 0 0 0.0997423 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3678.25 5443.25 cm -0 0 m -144 110 l -S -Q -Q -BT -/T1_1 1 Tf -6.9815 0 0 6.9815 393.4389 520.4083 Tm -(\245)Tj -/TT0 1 Tf -7.9789 0 0 7.9789 393.5597 466.4789 Tm -(%)Tj -4.9868 0 0 4.9868 394.0284 565.0025 Tm -($)Tj -ET -q -0.0997363 0 0 0.0997363 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 5071.25 cm -0 0 m -144 164 l -S -Q -Q -q -0.0997363 0 0 0.0997363 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 4652.25 cm -0 0 m -144 42 l -S -Q -Q -q -0.0997363 0 0 0.0997363 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 5553.25 cm -0 0 m -144 129 l -S -Q -Q -BT -/T1_1 1 Tf -6.9811 0 0 6.9811 407.7765 533.4457 Tm -(\245)Tj -/TT0 1 Tf -7.9784 0 0 7.9784 407.8973 469.0359 Tm -(%)Tj -4.9865 0 0 4.9865 408.3659 572.7235 Tm -($)Tj -ET -q -0.0997304 0 0 0.0997304 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3966.25 5235.25 cm -0 0 m -144 131 l -S -Q -Q -q -0.0997304 0 0 0.0997304 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3966.25 4694.25 cm -0 0 m -144 26 l -S -Q -Q -q -0.0997304 0 0 0.0997304 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3966.25 5682.25 cm -0 0 m -144 78 l -S -Q -Q -BT -/T1_1 1 Tf -6.9807 0 0 6.9807 422.1123 551.8667 Tm -(\245)Tj -/TT0 1 Tf -7.9779 0 0 7.9779 422.2331 474.0338 Tm -(%)Tj -4.9862 0 0 4.9862 422.7017 584.8954 Tm -($)Tj -ET -q -0.0997244 0 0 0.0997244 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5366.25 cm -0 0 m -144 185 l -S -Q -Q -q -0.0997244 0 0 0.0997244 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 4720.25 cm -0 0 m -144 51 l -S -Q -Q -q -0.0997244 0 0 0.0997244 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5760.25 cm -0 0 m -144 122 l -S -Q -Q -BT -/T1_1 1 Tf -6.9803 0 0 6.9803 352.4048 447.4404 Tm -[(user CPU/#pr)18(oc)]TJ --12.343 10.697 Td -[(system CPU/#pr)18(oc)]TJ -10.286 -3.003 Td -(clock time)Tj -/T1_0 1 Tf -7.9775 0 0 7.9775 192.999 363.5735 Tm -(Figure 20.9)Tj -/T1_1 1 Tf --0.092 Tc 5.695 0 Td -(Va)Tj -0 Tc 1.13 0 Td -[(lues fr)18(om Figur)]TJ -0.25 Tc 6.819 0 Td -(e2)Tj -0 Tc 1.229 0 Td -(0.8 for advisory \336ne-grained locking)Tj -9.9718 0 0 9.9718 129.2351 339.6411 Tm -[(Note )-87(that )-87(both )-87(CPU )-87(times, )-87(divided )-87(by )-87(the )-87(number )-87(of )-87(pr)15(ocesses, )-87(ar)]TJ -0.3372 Tc 30.031 0 Td -(el)Tj -0 Tc 1.107 0 Td -[(inear )-87(but )-87(that )-87(the)]TJ --31.138 -1.2 Td -[(plot )-118(of )-118(the )-118(clock )-118(time )-118(is )-118(nonlinear)]TJ -0.6177 Tc 15.385 0 Td -(.T)Tj -0 Tc 1.481 0 Td -[(he )-118(pr)18(obable )-118(r)18(eason )-118(is )-118(the )-118(added )-118(amount )-118(of )-118(CPU)]TJ --16.865 -1.2 Td -[(time )-262(used )-262(by )-262(the )-262(operating )-262(system )-262(to )-262(switch )-262(between )-262(pr)18(ocesses )-262(as )-262(the )-262(number )-262(of)]TJ -T* -[(pr)18(ocesses )-133(incr)18(eases. )-383(This)-384(operating )-133(system )-133(over)17(head )-133(would )-133(show )-133(up )-133(as )-133(an )-133(incr)16(eased)]TJ -0 -1.2 Td -[(clock time, but shouldn\325t af)18(fect the CPU times of the individual pr)18(ocesses.)]TJ -1.8 -1.2 Td -[(The )-77(r)18(eason )-77(the )-77(user )-77(CPU )-77(time )-77(incr)19(eases )-77(with )-77(the )-77(number )-77(of )-77(pr)18(ocesses )-77(is )-77(that )-77(ther)20(e)]TJ --1.8 -1.2 Td -(ar)Tj -0.4472 Tc 0.877 0 Td -(em)Tj -0 Tc 1.809 0 Td -(or)Tj -0.4472 Tc 0.923 0 Td -(er)Tj -0 Tc 1.303 0 Td -[(ecor)18(ds )-197(in )-197(the )-197(database.)-698(Each )-197(hash )-197(chain )-197(is )-197(getting )-197(longer)73(,)-447(so)-447(it)-447(t)-1(akes )-197(the)]TJ -/TT1 1 Tf --4.912 -1.2 Td -(_db_find_and_lock)Tj -/T1_1 1 Tf -10.45 0 Td -[(function longer)74(,)-250(on)-250(average, to \336nd a r)18(ecor)18(d.)]TJ -/TT2 1 Tf -11.9662 0 0 11.9662 93.3372 219.9791 Tm -[(20.10 )-220(Summar)-10(y)]TJ -/T1_1 1 Tf -9.9718 0 0 9.9718 129.2358 196.0467 Tm -[(This )-194(chapter )-194(has )-194(taken )-194(a )-194(long )-194(look )-194(at )-194(the )-194(design )-194(and )-194(implementation )-194(of )-194(a )-194(database)]TJ -T* -(library)Tj -0.5519 Tc 2.87 0 Td -(.A)Tj -0 Tc 1.58 0 Td -[(lthough )-52(we\325ve )-52(kept )-52(the )-52(library )-52(small )-52(and )-52(simple )-52(for )-52(pr)19(esentation )-52(purposes, )-52(it)]TJ --4.45 -1.2 Td -[(contains the r)18(ecor)]TJ -0.25 Tc 7.805 0 Td -(dl)Tj -0 Tc 1.152 0 Td -[(ocking r)18(equir)18(ed to allow concurr)18(ent access by multiple pr)18(ocesses.)]TJ --0.092 Tc -7.157 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-268(also )-268(looked )-268(at )-268(the )-268(performance )-268(of )-268(this )-268(library )-268(with )-268(various )-268(numbers )-268(of)]TJ --3.187 -1.2 Td -[(pr)18(ocesses )-228(using )-228(no )-228(locking, )-228(advisory )-228(locking )-228(\(\336ne-grained )-228(and )-228(coarse-grained\), )-228(and)]TJ -T* -[(mandatory )-57(locking.)]TJ --0.055 Tc 9.279 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-57(a )-57(single )-57(pr)17(ocess, )-57(we )-57(saw )-57(that )-57(advisory )-57(locking )-57(adds )-57(between)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46875 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.9)]TJ -38.193 0 Td -(Performance)Tj -/T1_1 1 Tf -7.64 0 Td -(781)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(The normal use of)Tj -/TT0 1 Tf -8.256 0 Td -(db_rewind)Tj -/T1_0 1 Tf -5.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(db_nextrec)Tj -/T1_0 1 Tf -6.25 0 Td -(is in a loop of the form)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5914 652.2609 Tm -(db_rewind\(db\);)Tj -0 -1.189 TD -(while \(\(ptr = db_nextrec\(db, key\)\) != NULL\) {)Tj -2.4 -1.189 Td -(/* process record */)Tj --2.4 -1.189 Td -(})Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5925 602.1639 Tm -[(As )-172(we )-172(warned )-172(earlier)]TJ -0.4218 Tc 9.937 0 Td -(,t)Tj -0 Tc 0.998 0 Td -[(her)18(e)-422(is)-422(no)-422(o)]TJ --0.018 Tc 5.571 0 Td -(rd)Tj -0 Tc 0.988 0 Td -[(er )-172(to )-172(the )-172(r)18(eturned )-172(r)19(ecor)18(ds; )-172(they )-172(ar)]TJ -0.4217 Tc 15.843 0 Td -(en)Tj -0 Tc 1.483 0 Td -[(ot )-172(in )-172(key)]TJ --34.821 -1.2 Td -[(or)18(der)74(.)]TJ -1.8 -1.2 Td -[(If )-210(the )-210(database )-210(is )-210(being )-210(modi\336ed )-210(while)]TJ -/TT0 1 Tf -18.849 0 Td -(db_nextrec)Tj -/T1_0 1 Tf -6.46 0 Td -[(is )-210(called )-210(fr)18(om )-210(a )-210(loop, )-210(the)]TJ --0.018 Tc -27.109 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(ds )-9(r)18(eturned )-9(by)]TJ -/TT0 1 Tf -8.141 0 Td -(db_nextrec)Tj -/T1_0 1 Tf -6.259 0 Td -(ar)Tj -0.2593 Tc 0.877 0 Td -(es)Tj -0 Tc 1.162 0 Td -[(imply )-9(a )-9(snapshot )-9(of )-9(a )-9(changing )-9(database )-9(at )-9(some)]TJ --17.296 -1.2 Td -[(point )-54(in )-54(time.)]TJ -/TT0 1 Tf -6.609 0 Td -(db_nextrec)Tj -/T1_0 1 Tf -6.304 0 Td -[(always )-54(r)18(eturns )-54(a )-54(\324)38(\324corr)18(ect\325)]TJ -0.3039 Tc 11.473 0 Td -(\325r)Tj -0 Tc 0.959 0 Td -(ecor)Tj -0.3039 Tc 1.846 0 Td -(dw)Tj -0 Tc 1.749 0 Td -[(hen )-54(it )-54(is )-54(called; )-54(that )-54(is,)]TJ --28.94 -1.2 Td -[(it )-150(won\325t )-150(r)18(eturn )-150(a )-150(r)17(ecor)]TJ -0.4002 Tc 10.269 0 Td -(dt)Tj -0 Tc 1.337 0 Td -[(hat )-150(was )-150(deleted.)-650(But )-150(it )-150(is )-150(possible )-150(for )-150(a )-150(r)16(ecor)]TJ -0.4001 Tc 21.022 0 Td -(dr)Tj -0 Tc 1.388 0 Td -[(eturned )-150(by)]TJ -/TT0 1 Tf --34.016 -1.2 Td -(db_nextrec)Tj -/T1_0 1 Tf -6.522 0 Td -[(to )-272(be )-272(deleted )-272(immediately )-272(after)]TJ -/TT0 1 Tf -15.416 0 Td -(db_nextrec)Tj -/T1_0 1 Tf --0.018 Tc 6.523 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns. )-522(Similarly)111(,)-522(if)-522(a)]TJ --29.317 -1.2 Td -[(deleted )-223(r)18(ecor)18(d)-473(is)-473(r)18(eused )-223(right )-223(after)]TJ -/TT0 1 Tf -16.82 0 Td -(db_nextrec)Tj -/T1_0 1 Tf -6.473 0 Td -[(skips )-223(over )-223(the )-223(deleted )-223(r)18(ecor)18(d, )-223(we)]TJ --23.293 -1.2 Td -[(won\325t )-7(see )-7(that )-7(new )-7(r)17(ecor)]TJ -0.2573 Tc 10.829 0 Td -(du)Tj -0 Tc 1.471 0 Td -[(nless )-7(we )-7(r)18(ewind )-7(the )-7(database )-7(and )-7(go )-7(thr)18(ough )-7(it )-7(again.)-510(If )-7(it\325s)]TJ --12.301 -1.2 Td -[(important )-59(to )-59(obtain )-59(an )-59(accurate )-59(\324)36(\324fr)18(ozen\325)]TJ -0.3093 Tc 18.017 0 Td -(\325s)Tj -0 Tc 1.011 0 Td -[(napshot )-59(of )-59(the )-59(database )-59(using)]TJ -/TT0 1 Tf -13.722 0 Td -(db_nextrec)Tj -/T1_0 1 Tf -(,)Tj --32.75 -1.2 Td -(then no insertions or deletions can be going on at the same time.)Tj -1.8 -1.2 Td -[(Look )-2(at )-2(the )-2(locking )-2(used )-2(by)]TJ -/TT0 1 Tf -12.479 0 Td -(db_nextrec)Tj -/T1_0 1 Tf -0.5025 Tc (.W)Tj -0 Tc 7.661 0 Td -(e\325r)Tj -0.2525 Tc 1.134 0 Td -(en)Tj -0 Tc 1.314 0 Td -[(ot )-3(going )-3(thr)18(ough )-3(any )-3(hash )-3(chain,)]TJ --24.387 -1.2 Td -[(and )-9(we )-9(can\325t )-9(determine )-9(the )-9(hash )-9(chain )-9(that )-9(a )-9(r)20(ecor)]TJ -0.2588 Tc 22.321 0 Td -(db)Tj -0 Tc 1.423 0 Td -[(elongs )-9(on.)-509(Ther)18(efor)18(e, )-9(it )-9(is )-9(possible)]TJ --23.744 -1.2 Td -[(for )-61(an )-61(index )-61(r)17(ecor)18(d)-311(to)-311(be)-311(in)-311(t)-1(he )-61(pr)18(ocess )-61(of )-61(being )-61(deleted )-61(when)]TJ -/TT0 1 Tf -28.267 0 Td -(db_nextrec)Tj -/T1_0 1 Tf -6.311 0 Td -[(is )-61(r)18(eading)]TJ --34.578 -1.2 Td -[(the )-54(r)18(ecor)18(d. )-304(T)]TJ -0.3041 Tc 5.85 0 Td -(op)Tj --0.018 Tc 1.451 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(vent )-54(this )-54(race,)]TJ -/TT0 1 Tf -6.555 0 Td -(db_nextrec)Tj -/T1_0 1 Tf --0.018 Tc 6.304 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad )-54(locks )-54(the )-54(fr)18(ee )-54(list, )-54(ther)18(eby )-54(avoiding)]TJ --21.873 -1.2 Td -(any interaction with)Tj -/TT0 1 Tf -9.183 0 Td -(_db_dodelete)Tj -/T1_0 1 Tf -7.45 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(_db_findfree)Tj -/T1_0 1 Tf -(.)Tj --16.776 -1.2 Td -[(Befor)18(e)-460(we)-460(c)1(onclude )-210(our )-210(study )-210(of )-210(the)]TJ -/TT0 1 Tf -17.685 0 Td -(db.c)Tj -/T1_0 1 Tf -2.86 0 Td -[(sour)18(ce )-210(\336le, )-210(we )-210(need )-210(to )-210(describe )-210(the)]TJ --22.345 -1.2 Td -[(locking )-42(when )-42(new )-42(index )-42(r)16(ecor)18(ds )-42(or )-42(data )-42(r)17(ecor)18(ds )-42(ar)]TJ -0.2924 Tc 22.727 0 Td -(ea)Tj -0 Tc 1.271 0 Td -[(ppended )-42(to )-42(the )-42(end )-42(of )-42(the )-42(\336le.)-545(In)]TJ --23.999 -1.2 Td -[(cases )-101(1 )-101(and )-101(3,)]TJ -/TT0 1 Tf -6.619 0 Td -(db_store)Tj -/T1_0 1 Tf -5.151 0 Td -[(calls )-101(both)]TJ -/TT0 1 Tf -4.66 0 Td -(_db_writeidx)Tj -/T1_0 1 Tf -7.551 0 Td -(and)Tj -/TT0 1 Tf -2.044 0 Td -(_db_writedat)Tj -/T1_0 1 Tf -7.551 0 Td -[(with )-101(a )-101(thir)17(d)]TJ --33.577 -1.2 Td -[(ar)18(gument )-31(of )-31(0 )-31(and )-31(a )-31(fourth )-31(ar)18(gument )-31(of)]TJ -/TT0 1 Tf -18.095 0 Td -(SEEK_END)Tj -/T1_0 1 Tf -0.5309 Tc (.T)Tj -0 Tc 6.194 0 Td -[(his )-31(fourth )-31(ar)18(gument )-31(is )-31(the )-31(\337ag )-31(to)]TJ --24.289 -1.2 Td -[(these )-96(two )-96(functions, )-96(indicating )-96(that )-96(the )-96(new )-96(r)15(ecor)18(d)-346(is)-346(b)-1(eing )-96(appended )-96(to )-96(the )-96(\336le.)-598(The)]TJ --0 -1.2 Td -[(technique )-135(used )-135(by)]TJ -/TT0 1 Tf -8.727 0 Td -(_db_writeidx)Tj -/T1_0 1 Tf -7.585 0 Td -[(is )-135(to )-135(write )-135(lock )-135(the )-135(index )-135(\336le )-135(fr)18(om )-135(the )-135(end )-135(of )-135(the)]TJ --16.312 -1.2 Td -[(hash )-86(chain )-86(to )-86(the )-86(end )-86(of )-86(\336le.)-586(This )-86(won\325t )-86(interfer)]TJ -0.3364 Tc 21.938 0 Td -(ew)Tj -0 Tc 1.649 0 Td -[(ith )-86(any )-86(other )-86(r)18(eaders )-86(or )-86(writers )-86(of)]TJ --23.587 -1.2 Td -[(the )-184(database )-184(\(since )-184(they )-184(will )-184(lock )-184(a )-184(hash )-184(chain\), )-184(but )-184(it )-184(does )-184(pr)17(event )-184(other )-184(callers )-184(of)]TJ -/TT0 1 Tf -0 -1.2 TD -(db_store)Tj -/T1_0 1 Tf -5.54 0 Td -[(fr)18(om )-490(trying )-490(to )-490(append )-490(at )-490(the )-490(same )-490(time.)-993(The )-490(technique )-490(used )-490(by)]TJ -/TT0 1 Tf --5.54 -1.2 Td -(_db_writedat)Tj -/T1_0 1 Tf -7.615 0 Td -[(is )-165(to )-165(write )-165(lock )-165(the )-165(entir)]TJ -0.4152 Tc 11.268 0 Td -(ed)Tj -0 Tc 1.505 0 Td -[(ata )-165(\336le.)-665(Again, )-165(this )-165(won\325t )-165(interfer)]TJ -0.4152 Tc 15.685 0 Td -(ew)Tj -0 Tc 1.728 0 Td -(ith)Tj --37.801 -1.2 Td -[(other )-59(r)18(eaders )-59(or )-59(writers )-59(of )-59(the )-59(database )-59(\(since )-59(they )-59(don\325t )-59(even )-59(try )-59(to )-59(lock )-59(the )-59(data )-59(\336le\),)]TJ -T* -[(but )-70(it )-70(does )-70(pr)18(event )-70(other )-70(callers )-70(of)]TJ -/TT0 1 Tf -15.836 0 Td -(db_store)Tj -/T1_0 1 Tf -5.12 0 Td -[(fr)18(om )-69(trying )-69(to )-69(append )-69(to )-69(the )-69(data )-69(\336le )-69(at)]TJ --20.956 -1.2 Td -[(the same time.)-500(\(See Exer)18(cise 20.3.\))]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5968 230.1862 Tm -[(20.9 )-776(P)30(erf)20(ormance)]TJ -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5946 208.5875 Tm -[(We )-493(w)]TJ --0.018 Tc 2.78 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(te )-309(a )-309(test )-309(pr)18(ogram )-309(to )-309(test )-309(the )-309(database )-309(library )-309(and )-309(to )-309(obtain )-309(some )-309(timing)]TJ --3.703 -1.2 Td -[(measur)18(ements )-200(of )-200(the )-200(database )-200(access )-200(patterns )-200(of )-200(typical )-200(applications.)-700(This )-200(pr)17(ogram)]TJ -0 -1.2 Td -(takes two command)Tj -8.941 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line ar)18(guments: the number of childr)18(en to cr)18(eate and the number of)]TJ --9.274 -1.2 Td -[(database )-6(r)18(ecor)18(ds )-6(\()]TJ -/T1_2 1 Tf -[(nr)18(ec)]TJ -/T1_0 1 Tf -0.256 Tc (\)f)Tj -0 Tc 10.641 0 Td -[(or )-6(each )-6(child )-6(to )-6(write )-6(to )-6(the )-6(database.)-506(The )-6(pr)18(ogram )-6(then )-6(cr)19(eates)]TJ --10.641 -1.2 Td -[(an )-171(empty )-171(database )-171(\(by )-171(calling)]TJ -/TT0 1 Tf -14.323 0 Td -(db_open)Tj -/T1_0 1 Tf -(\),)Tj -/TT0 1 Tf -5.204 0 Td -(fork)Tj -/T1_0 1 Tf -0.4213 Tc (st)Tj -0 Tc 3.571 0 Td -[(he )-171(number )-171(of )-171(child )-171(pr)18(ocesses, )-171(and)]TJ --23.099 -1.2 Td -[(waits for all the childr)18(en to terminate.)-500(Each child performs the following steps.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46876 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.8)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(753)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(fgets)Tj -/T1_0 1 Tf -0.2851 Tc (,f)Tj -0 Tc 3.868 0 Td -[(or )-35(example, )-35(to )-35(r)18(eturn )-35(data )-35(that )-35(was )-35(r)18(ead )-35(into )-35(a )-35(standar)]TJ -0.285 Tc 24.386 0 Td -(dI)Tj -0 Tc 1.233 0 Td -[(/O )-35(buf)18(fer )-35(10 )-35(minutes)]TJ --29.487 -1.2 Td -[(ago if the data was modi\336ed by another pr)18(ocess 5 minutes ago.)]TJ -1.8 -1.2 Td -[(Our )-149(discussion )-149(of )-149(concurr)18(ency )-149(is )-149(pr)18(edicated )-149(on )-149(the )-149(simple )-149(needs )-149(of )-149(the )-149(database)]TJ --1.8 -1.2 Td -(library)Tj -0.6956 Tc 2.87 0 Td -(.C)Tj -0 Tc 1.655 0 Td -[(ommer)18(cial )-196(systems )-196(often )-196(have )-196(additional )-196(r)20(equir)18(ements. )-446(See)-445(Chapter )-196(16 )-196(of)]TJ --4.525 -1.2 Td -(Date)Tj -2.329 0.04 Td -([)Tj -0.333 -0.04 Td -(2004)Tj -2 0.04 Td -(])Tj -0.583 -0.04 Td -[(for additional details on concurr)18(ency)111(.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5944 588.5647 Tm -[(20.7 )-776(Building)-556(the )-278(Librar)-10(y)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5921 566.966 Tm -[(The )-39(database )-39(library )-39(consists )-39(of )-39(two )-39(\336les: )-39(a )-39(public )-39(C )-39(header )-39(\336le )-39(and )-39(a )-39(C )-39(sour)24(ce )-39(\336le.)]TJ --0.092 Tc 37.612 0 Td -(We)Tj -0 Tc -37.612 -1.2 Td -(can build a static library using the commands)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 537.1979 Tm -(gcc -I../include -Wall -c db.c)Tj -0 -1.189 TD -(ar rsv libapue_db.a db.o)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.592 507.4298 Tm -[(Applications )-357(that )-357(want )-357(to )-357(link )-357(with)]TJ -/TT0 1 Tf -17.916 0 Td -(libapue_db.a)Tj -/T1_0 1 Tf -7.807 0 Td -[(will )-357(also )-357(need )-357(to )-357(link )-357(with)]TJ -/TT0 1 Tf --25.723 -1.2 Td -(libapue.a)Tj -/T1_0 1 Tf -0.25 Tc (,s)Tj -0 Tc 6.324 0 Td -[(ince we use some of our common functions in the database library)111(.)]TJ --4.524 -1.2 Td -[(If, )-168(on )-168(the )-168(other )-168(hand, )-168(we )-168(want )-168(to )-168(build )-168(a )-168(dynamic )-168(shar)18(ed )-168(library )-168(version )-168(of )-168(the)]TJ --1.8 -1.2 Td -[(database library)111(,)-250(we)-250(can use the following commands:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 453.6627 Tm -(gcc -I../include -Wall -fPIC -c db.c)Tj -T* -(gcc -shared -Wl,-soname,libapue_db.so.1 -o libapue_db.so.1 \\)Tj -2.4 -1.189 Td -(-L../lib -lapue -lc db.o)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5923 413.1952 Tm -[(The )-240(r)18(esulting )-240(shar)18(ed )-240(library)110(,)]TJ -/TT0 1 Tf -13.657 0 Td -(libapue_db.so.1)Tj -/T1_0 1 Tf -0.4902 Tc (,n)Tj -0 Tc 10.322 0 Td -[(eeds )-240(to )-240(be )-240(placed )-240(in )-240(a )-240(common)]TJ --23.979 -1.2 Td -[(dir)18(ectory )-47(wher)]TJ -0.2973 Tc 6.594 0 Td -(et)Tj -0 Tc 1.102 0 Td -[(he )-47(dynamic )-47(linker/loader )-47(can )-47(\336nd )-47(it.)-549(Alternatively)111(,)-297(we)-297(c)-1(an )-47(place )-47(it )-47(in)]TJ -0.6359 Tc -7.697 -1.2 Td -(ap)Tj -0 Tc 1.737 0 Td -[(rivate )-386(dir)18(ectory )-386(and )-386(modify )-386(our)]TJ -/TT0 1 Tf -16.217 0 Td -(LD_LIBRARY_PATH)Tj -/T1_0 1 Tf -9.636 0 Td -[(envir)18(onment )-386(variable )-386(to)]TJ --27.59 -1.2 Td -[(include the private dir)18(ectory in the sear)18(ch path of the dynamic linker/loader)74(.)]TJ -7.9995 0 0 7.9995 183.5888 357.1986 Tm -[(The )-57(steps )-57(used )-57(to )-57(build )-57(shar)18(ed )-57(libraries )-57(vary )-57(among )-57(platforms.)-555(Her)18(e, )-57(we )-57(have )-57(shown )-57(how )-57(to)]TJ --0 -1.25 Td -[(do it on a Linux system with the GNU C compiler)74(.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5941 311.2013 Tm -[(20.8 )-776(Sour)20(ce )-278(Code)]TJ -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5919 289.6026 Tm -[(We )-349(s)]TJ -0 Tc 2.226 0 Td -[(tart )-165(by )-165(showing )-165(the)]TJ -/TT0 1 Tf -9.519 0 Td -(apue_db.h)Tj -/T1_0 1 Tf -5.815 0 Td -(header)Tj -0.6653 Tc 2.972 0 Td -(.T)Tj -0 Tc 1.528 0 Td -[(his )-165(header )-165(is )-165(included )-165(by )-165(the )-165(library)]TJ --22.061 -1.2 Td -[(sour)18(ce code and all applications that call the library)111(.)]TJ -1.8 -1.2 Td -[(For )-36(the )-36(r)18(emainder )-36(of )-36(this )-36(text, )-36(we )-36(depart )-36(fr)16(om )-36(the )-36(style )-36(of )-36(the )-36(pr)18(evious )-36(examples )-36(in)]TJ --1.8 -1.2 Td -[(several )-74(ways.)-573(First, )-74(because )-74(the )-74(sour)18(ce )-74(code )-74(example )-74(is )-74(longer )-74(than )-74(usual, )-74(we )-74(number)]TJ -0 -1.2 TD -[(the )-193(lines.)-693(This )-193(makes )-193(it )-193(easier )-193(to )-193(link )-193(the )-193(discussion )-193(with )-193(the )-193(corr)14(esponding )-193(sour)18(ce)]TJ --0 -1.2 Td -[(code. )-507(Second,)-506(we )-257(place )-257(the )-257(description )-257(of )-257(the )-257(sour)18(ce )-257(code )-257(immediately )-257(below )-257(the)]TJ -T* -[(sour)18(ce code on the same page.)]TJ -7.9995 0 0 7.9995 183.5887 197.6081 Tm -[(This )-58(style )-58(was )-58(inspir)19(ed )-58(by )-58(John )-58(Lions )-58(in )-58(his )-58(book )-58(documenting )-58(the )-58(UNIX )-58(V)111(ersion )-58(6 )-58(operating)]TJ -0 -1.25 TD -[(system )-190(sour)18(ce )-190(code)]TJ -9.367 0.04 Td -([)Tj -0.333 -0.04 Td -[(Lions )-190(1977, )-190(1996)]TJ -7.585 0.04 Td -(])Tj -0.6905 Tc 0.333 -0.04 Td -(.I)Tj -0.4404 Tc 1.277 0 Td -(ts)Tj -0 Tc 1.19 0 Td -[(impli\336es )-190(the )-190(task )-190(of )-190(studying )-190(lar)18(ge )-190(amounts )-190(of)]TJ --20.085 -1.25 Td -[(sour)18(ce code.)]TJ -9.9994 0 0 9.9994 129.5921 157.6105 Tm -[(Note )-187(that )-187(we )-187(do )-187(not )-187(bother )-187(to )-187(number )-187(blank )-187(lines.)-687(Although )-187(this )-187(departs )-187(fr)22(om )-187(the)]TJ -0 -1.2 TD -[(normal )-58(behavior )-58(of )-58(such )-58(tools )-58(as)]TJ -/TT0 1 Tf -14.943 0 Td -(pr)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.333 -0.04 Td -[(,)-308(we)-308(h)1(ave )-58(nothing )-58(inter)18(esting )-58(to )-58(say )-58(about )-58(blank)]TJ --17.309 -1.2 Td -(lines.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46877 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(752)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(The )-159(user )-159(pr)18(ocesses )-159(that )-159(call )-159(the )-159(functions )-159(in )-159(the )-159(database )-159(library )-159(to )-159(perform )-159(I/O )-159(ar)18(e)]TJ -0 -1.2 TD -[(consider)18(ed )-462(cooperating )-462(pr)18(ocesses, )-462(since )-462(they )-462(use )-462(byte-range )-462(locking )-462(to )-462(pr)20(ovide)]TJ --0 -1.2 Td -[(concurr)18(ent access.)]TJ -/TT0 1 Tf -11.9993 0 0 11.9993 93.5942 612.5632 Tm -[(20.6 )-776(Concurrenc)10(y)]TJ -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5922 588.5647 Tm -[(We )-325(p)]TJ -0 Tc 2.379 0 Td -[(urposely )-141(chose )-141(a )-141(two-\336le )-141(implementation )-141(\(an )-141(index )-141(\336le )-141(and )-141(a )-141(data )-141(\336le\) )-141(because)]TJ --2.379 -1.2 Td -[(that )-208(is )-208(a )-208(common )-208(implementation )-208(technique )-208(\(it )-208(simpli\336es )-208(space )-208(management )-208(in )-208(the)]TJ -T* -[(\336les\). )-500(It)]TJ --0.018 Tc 4.296 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(es )-251(us )-251(to )-251(handle )-251(the )-251(locking )-251(interactions )-251(of )-251(both )-251(\336les.)-751(But )-251(ther)]TJ -0.5006 Tc 31.513 0 Td -(ea)Tj --0.018 Tc 1.48 0 Td -(re)Tj -0 Tc -38.144 -1.2 Td -[(numer)18(ous ways to handle the locking of these two \336les.)]TJ -/TT0 1 Tf --3.6 -2.4 Td -[(Coar)15(se-Grained Loc)20(king)]TJ -/T1_1 1 Tf -3.6 -2.16 Td -[(The )-215(simplest )-215(form )-215(of )-215(locking )-215(is )-215(to )-215(use )-215(one )-215(of )-215(the )-215(two )-215(\336les )-215(as )-215(a )-215(lock )-215(for )-215(the )-215(entir)11(e)]TJ -T* -[(database )-90(and )-90(to )-90(r)19(equir)]TJ -0.3398 Tc 10.164 0 Td -(et)Tj -0 Tc 1.145 0 Td -[(he )-90(caller )-90(to )-90(obtain )-90(this )-90(lock )-90(befor)]TJ -0.3399 Tc 14.918 0 Td -(eo)Tj -0 Tc 1.365 0 Td -[(perating )-90(on )-90(the )-90(database.)]TJ --0.092 Tc -27.592 -1.2 Td -[(We )-232(c)]TJ -0 Tc 2.129 0 Td -[(all )-48(this)]TJ -/T1_2 1 Tf -3.302 0 Td -[(coarse-grained )-48(locking)]TJ -/T1_1 1 Tf -0.5484 Tc (.F)Tj -0 Tc 10.411 0 Td -[(or )-48(example, )-48(we )-48(can )-48(say )-48(that )-48(the )-48(pr)18(ocess )-48(with )-48(a )-48(r)15(ead)]TJ --15.842 -1.2 Td -[(lock )-57(on )-57(byte )-57(0 )-57(of )-57(the )-57(index )-57(\336le )-57(has )-57(r)18(ead )-57(access )-57(to )-57(the )-57(entir)]TJ -0.3067 Tc 25.988 0 Td -(ed)Tj -0 Tc 1.397 0 Td -[(atabase. )-307(A)-307(pr)18(ocess )-57(with )-57(a)]TJ --27.385 -1.2 Td -[(write )-29(lock )-29(on )-29(byte )-29(0 )-29(of )-29(the )-29(index )-29(\336le )-29(has )-29(write )-29(access )-29(to )-29(the )-29(entir)]TJ -0.2791 Tc 28.593 0 Td -(ed)Tj -0 Tc 1.369 0 Td -[(atabase. )-279(W)]TJ -0.2791 Tc 4.969 0 Td -(ec)Tj -0 Tc 1.202 0 Td -[(an )-29(use)]TJ --36.133 -1.2 Td -[(the )-52(normal )-52(UNIX )-52(System )-52(byte-range )-52(locking )-52(semantics )-52(to )-52(allow )-52(any )-52(number )-52(of )-52(r)22(eaders)]TJ -T* -[(at )-357(one )-357(time, )-357(but )-357(only )-357(one )-357(writer )-357(at )-357(a )-357(time.)-854(\(Recall )-357(Figur)]TJ -0.6066 Tc 28.313 0 Td -(e1)Tj -0 Tc 1.586 0 Td -[(4.3.\) )-607(The)-606(functions)]TJ -/TT1 1 Tf --29.899 -1.2 Td -(db_fetch)Tj -/T1_1 1 Tf -5.27 0 Td -(and)Tj -/TT1 1 Tf -2.163 0 Td -(db_nextrec)Tj -/T1_1 1 Tf --0.018 Tc 6.47 0 Td -(re)Tj -0 Tc 0.856 0 Td -(quir)Tj -0.4701 Tc 1.831 0 Td -(ear)Tj -0 Tc 2.296 0 Td -[(ead )-220(lock, )-220(and)]TJ -/TT1 1 Tf -6.78 0 Td -(db_delete)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -6.12 0 Td -(db_store)Tj -/T1_1 1 Tf -0.4701 Tc (,a)Tj -0 Tc 6.02 0 Td -(nd)Tj -/TT1 1 Tf --37.807 -1.2 Td -(db_open)Tj -/T1_1 1 Tf -4.53 0 Td -[(all )-80(r)18(equir)]TJ -0.33 Tc 4.099 0 Td -(eaw)Tj -0 Tc 2.473 0 Td -[(rite )-80(lock.)-580(\(The )-80(r)18(eason)]TJ -/TT1 1 Tf -10.063 0 Td -(db_open)Tj -/T1_1 1 Tf --0.018 Tc 4.53 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(es )-80(a )-80(write )-80(lock )-80(is )-80(that )-80(if)]TJ --26.551 -1.2 Td -[(the )-23(\336le )-23(is )-23(being )-23(cr)18(eated, )-23(it )-23(has )-23(to )-23(write )-23(the )-23(empty )-23(fr)20(ee )-23(list )-23(and )-23(hash )-23(chains )-23(at )-23(the )-23(fr)18(ont )-23(of)]TJ -T* -(the index \336le.\))Tj -1.8 -1.2 Td -[(The )-9(pr)18(oblem )-9(with )-9(coarse-grained )-9(locking )-9(is )-9(that )-9(it )-9(limits )-9(concurr)16(ency)]TJ -0.5091 Tc 30.484 0 Td -(.I)Tj -0.2591 Tc 1.096 0 Td -(fap)Tj --0.018 Tc 1.952 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-9(is)]TJ --36.255 -1.2 Td -[(adding )-37(a )-37(r)18(ecor)18(d)-287(to)-287(one )-37(hash )-37(chain, )-37(another )-37(pr)18(ocess )-37(should )-37(be )-37(able )-37(to )-37(r)18(ead )-37(a )-37(r)17(ecor)18(d)-287(on)-287(a)]TJ --0 -1.2 Td -[(dif)18(fer)18(ent hash chain.)]TJ -/TT0 1 Tf --3.6 -2.4 Td -[(Fine-Grained Loc)20(king)]TJ -/T1_1 1 Tf --0.092 Tc 3.6 -2.16 Td -[(We )-242(e)]TJ -0 Tc 2.174 0 Td -[(nhance )-58(coarse-grained )-58(locking )-58(to )-58(allow )-58(mor)]TJ -0.3081 Tc 19.65 0 Td -(ec)Tj -0 Tc 1.231 0 Td -[(oncurr)18(ency )-58(and )-58(call )-58(this)]TJ -/T1_2 1 Tf -11.082 0 Td -(\336ne-grained)Tj --34.138 -1.2 Td -(locking)Tj -/T1_1 1 Tf -0.5497 Tc (.W)Tj -0.2997 Tc 4.615 0 Td -(e\336)Tj -0 Tc 1.384 0 Td -[(rst )-50(r)18(equir)]TJ -0.2998 Tc 4.132 0 Td -(ear)Tj -0 Tc 1.956 0 Td -[(eader )-50(or )-50(a )-50(writer )-50(to )-50(obtain )-50(a )-50(r)18(ead )-50(lock )-50(or )-50(a )-50(write )-50(lock )-50(on )-50(the)]TJ --12.086 -1.2 Td -[(hash )-17(chain )-17(for )-17(a )-17(given )-17(r)18(ecor)18(d. )-267(W)]TJ -0.2671 Tc 14.579 0 Td -(ea)Tj -0 Tc 1.246 0 Td -[(llow )-17(any )-17(number )-17(of )-17(r)18(eaders )-17(at )-17(one )-17(time )-17(on )-17(any )-17(hash)]TJ --15.825 -1.2 Td -[(chain )-35(but )-35(only )-35(a )-35(single )-35(writer )-35(on )-35(a )-35(hash )-35(chain.)-533(Next, )-35(a )-35(writer )-35(needing )-35(to )-35(access )-35(the )-35(fr)19(ee)]TJ -T* -[(list )-64(\(either)]TJ -/TT1 1 Tf -4.845 0 Td -(db_delete)Tj -/T1_1 1 Tf -5.714 0 Td -(or)Tj -/TT1 1 Tf -1.255 0 Td -(db_store)Tj -/T1_1 1 Tf -0.3137 Tc (\)m)Tj -0 Tc 6.33 0 Td -[(ust )-64(obtain )-64(a )-64(write )-64(lock )-64(on )-64(the )-64(fr)18(ee )-64(list.)-561(Finally)111(,)]TJ --18.143 -1.2 Td -[(whenever )-130(it )-130(appends )-130(a )-130(new )-130(r)16(ecor)18(d)-380(to)-380(t)-1(he )-130(end )-130(of )-130(either )-130(the )-130(index )-130(\336le )-130(or )-130(the )-130(data )-130(\336le,)]TJ -/TT1 1 Tf -0 -1.2 Td -(db_store)Tj -/T1_1 1 Tf -5.05 0 Td -(has to obtain a write lock on that portion of the \336le.)Tj --0.092 Tc -3.25 -1.2 Td -[(We )-344(e)]TJ -0 Tc 2.276 0 Td -[(xpect )-159(\336ne-grained )-159(locking )-159(to )-159(pr)16(ovide )-159(mor)]TJ -0.4094 Tc 19.24 0 Td -(ec)Tj -0 Tc 1.332 0 Td -[(oncurr)18(ency )-159(than )-159(coarse-grained)]TJ --24.648 -1.2 Td -[(locking. )-283(In)-283(Section )-33(20.9, )-33(we )-33(show )-33(some )-33(actual )-33(measur)19(ements. )-283(In)-283(Section )-33(20.8, )-33(we )-33(show)]TJ -T* -[(the )-83(sour)18(ce )-83(code )-83(for )-83(our )-83(implementation )-83(of )-83(\336ne-grained )-83(locking )-83(and )-83(discuss )-83(the )-83(details)]TJ -T* -[(of )-259(implementing )-259(locking.)-759(\(Coarse-grained )-259(locking )-259(is )-259(mer)18(ely )-259(a )-259(simpli\336cation )-259(of )-259(the)]TJ -T* -[(locking that we show)92(.\))]TJ -1.8 -1.2 Td -[(In )-82(the )-82(sour)18(ce )-82(code, )-82(we )-82(call)]TJ -/TT1 1 Tf -12.34 0 Td -(read)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -2.982 0 Td -(readv)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -3.582 0 Td -(write)Tj -/T1_1 1 Tf -0.3319 Tc (,a)Tj -0 Tc 4.082 0 Td -(nd)Tj -/TT1 1 Tf -1.525 0 Td -(writev)Tj -/T1_1 1 Tf -3.932 0 Td -[(dir)18(ectly)]TJ -0.5819 Tc 3.264 0 Td -(.W)Tj -0 Tc 1.74 0 Td -[(e)-332(do)-332(not)]TJ --35.246 -1.2 Td -[(use )-39(the )-39(standar)]TJ -0.2892 Tc 6.791 0 Td -(dI)Tj -0 Tc 1.237 0 Td -[(/O )-39(library)]TJ -0.5392 Tc 4.551 0 Td -(.A)Tj -0 Tc 1.567 0 Td -[(lthough )-39(it )-39(is )-39(possible )-39(to )-39(use )-39(byte-range )-39(locking )-39(with )-39(the)]TJ --14.147 -1.2 Td -(standar)Tj -0.5139 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.462 0 Td -[(/O )-264(library)]TJ -0.5139 Tc 4.776 0 Td -(,c)Tj -0 Tc 1.208 0 Td -[(ar)18(eful )-264(handling )-264(of )-264(buf)18(fering )-264(is )-264(r)19(equir)18(ed. )-514(W)]TJ -0.5138 Tc 20.547 0 Td -(ed)Tj -0 Tc 1.604 0 Td -[(on\325t )-264(want )-264(an)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46878 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(750)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(located )-54(with )-54(only )-54(two )-54(disk )-54(accesses )-54(\(see )-54(Litwin)]TJ -21.491 0.04 Td -([)Tj -0.333 -0.04 Td -(1980)Tj -2 0.04 Td -(])Tj -0.637 -0.04 Td -[(or )-54(Fagin )-54(et )-54(al.)]TJ -6.487 0.04 Td -([)Tj -0.333 -0.04 Td -(1979)Tj -2 0.04 Td -(])Tj -0.637 -0.04 Td -[(for )-54(details\).)]TJ --33.917 -1.2 Td -[(B-tr)18(ees )-70(have )-70(the )-70(advantage )-70(of )-70(traversing )-70(the )-70(database )-70(in )-70(\(sorted\) )-70(key )-70(or)18(der )-70(\(something)]TJ -0 -1.2 TD -(that we can\325t do with the)Tj -/TT0 1 Tf -11.254 0 Td -(db_nextrec)Tj -/T1_1 1 Tf -6.25 0 Td -(function using a hash table.\))Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5949 605.3637 Tm -[(20.5 )-776(Centraliz)-10(ed )-278(or )-278(Decentraliz)-10(ed?)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5928 581.3651 Tm -[(Given )-43(multiple )-43(pr)18(ocesses )-43(accessing )-43(the )-43(same )-43(database, )-43(we )-43(can )-43(implement )-43(the )-43(functions)]TJ -T* -(in two ways:)Tj -1.8 -1.8 Td -[(1. )-633(Centralized.)-545(Have )-45(a )-45(single )-45(pr)18(ocess )-45(that )-45(is )-45(the )-45(database )-45(manager)]TJ -0.2956 Tc 30.299 0 Td -(,a)Tj -0 Tc 1.046 0 Td -[(nd )-46(have )-46(it )-46(be)]TJ --29.712 -1.2 Td -[(the )-129(only )-129(pr)18(ocess )-129(that )-129(accesses )-129(the )-129(database.)-627(The )-129(functions )-129(contact )-129(this )-129(central)]TJ -T* -[(pr)18(ocess using some form of IPC.)]TJ --1.633 -1.6 Td -[(2. )-633(Decentralized.)-766(Have )-266(each )-266(function )-266(apply )-266(the )-266(r)19(equir)18(ed )-266(concurr)18(ency )-266(contr)18(ols)]TJ -1.633 -1.2 Td -(\(locking\) and then issue its own I/O function calls.)Tj --3.433 -1.8 Td -[(Database )-251(systems )-251(have )-251(been )-251(built )-251(using )-251(each )-251(of )-251(these )-251(techniques.)-751(Given )-251(adequate)]TJ -T* -[(locking )-246(r)18(outines, )-246(the )-246(decentralized )-246(implementation )-246(is )-246(usually )-246(faster)]TJ -0.4958 Tc 31.416 0 Td -(,b)Tj -0 Tc 1.299 0 Td -[(ecause )-246(IPC )-246(is)]TJ --32.714 -1.2 Td -[(avoided. )-250(Figur)]TJ -0.25 Tc 6.736 0 Td -(e2)Tj -0 Tc 1.229 0 Td -[(0.4 depicts the operation of the centralized appr)18(oach.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2670 2698 576 216 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 289.1653 278.8065 Tm -(IPC)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -3246 2698 576 216 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 346.4216 278.7898 Tm -(I/O)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2410.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2478.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2547.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2616.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2685.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2753.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2822.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2891.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2960.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 3028.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 3097.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 3166.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2452.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2523.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2593.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2664.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2735.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2805.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2875.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2946.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3016.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3087.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3157.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3228.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3298.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3369.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3439.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3510.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3581.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3651.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3721.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3792.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3862.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3933.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4003.25 3202.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4074.25 3202.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 3133.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 3064.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2996.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2927.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2858.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2789.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2721.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2652.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2583.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2514.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2446.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4039.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3969.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3898.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3828.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3757.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3686.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3617.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3546.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3475.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3405.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3334.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3264.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3193.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3123.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3052.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2982.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2911.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2841.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2771.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2700.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2629.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2559.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2488.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 2410.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 412.9009 278.7731 Tm -(kernel)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2310 1762 720 216 re -S -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 250.5088 185.1844 Tm -(index \336le)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -3462 1762 720 216 re -S -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 367.8196 185.1733 Tm -(data \336le)Tj -ET -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 343.824 269.8 cm -0 0 m --4.032 -6.264 l --6.48 -3.672 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3438.24 2698 cm -0 0 m --40.32 -62.64 l --64.8 -36.72 l -h -S -Q -Q -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 267 197.8 cm -0 0 m -4.032 6.264 l -6.48 3.672 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 2670 1978 cm -0 0 m -40.32 62.64 l -64.8 36.72 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3385.25 2649.25 cm -0 0 m --663 -622 l -S -Q -Q -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 362.976 269.8 cm -0 0 m -3.6 -6.48 l -0.144 -7.416 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3629.76 2698 cm -0 0 m -36 -64.8 l -1.44 -74.16 l -h -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 382.2 197.8 cm -0 0 m --3.6 6.48 l --0.144 7.416 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 3822 1978 cm -0 0 m --36 64.8 l --1.44 74.16 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3648.25 2628.25 cm -0 0 m -155 -581 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -2022 3850 432 432 re -S -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -2022 3634 432 216 re -S -Q -BT -/T1_1 1 Tf -7.9952 0 0 7.9952 207.1597 377.2136 Tm -(db access)Tj -0.574 -1.25 Td -(library)Tj --1.233 8 Td -[(user pr)18(ocess)]TJ -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -4038 3850 432 432 re -S -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -4038 3634 432 216 re -S -Q -BT -/T1_1 1 Tf -7.9947 0 0 7.9947 408.6142 377.191 Tm -(db access)Tj -0.574 -1.25 Td -(library)Tj --1.233 8 Td -[(user pr)18(ocess)]TJ -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -3030 3922 432 360 re -S -Q -BT -/T1_1 1 Tf -7.9942 0 0 7.9942 304.7885 413.1424 Tm -(centralized)Tj --0.206 -1.25 Td -(db manager)Tj --0.069 3.5 Td -[(user pr)18(ocess)]TJ -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 223.8 363.4 cm -0 0 m -5.904 -4.464 l -3.096 -6.696 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 2238 3634 cm -0 0 m -59.04 -44.64 l -30.96 -66.96 l -h -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 281.4 291.4 cm -0 0 m --5.904 4.464 l --3.096 6.696 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 2814 2914 cm -0 0 m --59.04 44.64 l --30.96 66.96 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2282.25 3578.25 cm -0 0 m -486 -608 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 425.4 363.4 cm -0 0 m --5.184 -5.328 l --7.056 -2.304 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 4254 3634 cm -0 0 m --51.84 -53.28 l --70.56 -23.04 l -h -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 310.2 291.4 cm -0 0 m -5.184 5.328 l -7.056 2.304 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 3102 2914 cm -0 0 m -51.84 53.28 l -70.56 23.04 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4193.25 3596.25 cm -0 0 m --1030 -644 l -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 317.4 392.2 cm -0 0 m -0.216 -7.416 l --3.312 -6.696 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 3174 3922 cm -0 0 m -2.16 -74.16 l --33.12 -66.96 l -h -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 295.8 291.4 cm -0 0 m --0.216 7.416 l -3.312 6.696 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 2958 2914 cm -0 0 m --2.16 74.16 l -33.12 66.96 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3159.25 3851.25 cm -0 0 m --186 -867 l -S -Q -Q -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 331.8 392.2 cm -0 0 m -3.24 -6.696 l --0.288 -7.416 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 3318 3922 cm -0 0 m -32.4 -66.96 l --2.88 -74.16 l -h -S -Q -Q -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 353.4 291.4 cm -0 0 m --3.24 6.696 l -0.288 7.416 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 3534 2914 cm -0 0 m --32.4 66.96 l -2.88 74.16 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3333.25 3851.25 cm -0 0 m -186 -867 l -S -Q -Q -BT -/T1_0 1 Tf -7.9904 0 0 7.9904 228.7613 150.8189 Tm -(Figure 20.4)Tj -/T1_1 1 Tf -5.695 0 Td -[(Centralized appr)18(oach for database access)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46879 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(746)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include "apue_db.h")Tj -0 -2.021 TD -(int db_delete\(DBHANDLE)Tj -/T1_2 1 Tf -13.8 0 Td -(db)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.763 0 Td -(onst char *)Tj -/T1_2 1 Tf -(key)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -5.521 -2.021 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(if)-250(r)18(ecor)]TJ -0.25 Tc 4.396 0 Td -(dn)Tj -0 Tc 1.443 0 Td -(ot found)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6174.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 603.8475 Tm -[(In )-73(addition )-73(to )-73(fetching )-73(a )-73(r)16(ecor)18(d)-323(by)-323(s)-1(pecifying )-73(its )-73(key)]TJ -0.3235 Tc 23.575 0 Td -(,w)Tj -0.3236 Tc 1.407 0 Td -(ec)Tj -0 Tc 1.247 0 Td -[(an )-74(go )-74(thr)18(ough )-74(the )-74(entir)20(e)]TJ --28.029 -1.2 Td -[(database, )-5(r)18(eading )-5(each )-5(r)18(ecor)18(d)-255(in)-255(turn. )-255(T)92(o)-255(do)-255(this, )-5(we )-5(\336rst )-5(call)]TJ -/TT0 1 Tf -27.402 0 Td -(db_rewind)Tj -/T1_1 1 Tf -5.655 0 Td -[(to )-5(r)18(ewind )-5(the)]TJ --33.057 -1.2 Td -[(database )-39(to )-39(the )-39(\336rst )-39(r)17(ecor)]TJ -0.2893 Tc 11.282 0 Td -(da)Tj -0 Tc 1.4 0 Td -[(nd )-39(then )-39(call)]TJ -/TT0 1 Tf -5.556 0 Td -(db_nextrec)Tj -/T1_1 1 Tf -6.289 0 Td -[(in )-39(a )-39(loop )-39(to )-39(r)18(ead )-39(each )-39(sequential)]TJ --0.018 Tc -24.528 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(d.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5825 551.1539 Tm -(#include "apue_db.h")Tj -T* -(void db_rewind\(DBHANDLE)Tj -/T1_2 1 Tf -14.4 0 Td -(db)Tj -/TT0 1 Tf -(\);)Tj --14.4 -2.021 Td -(char *db_nextrec\(DBHANDLE)Tj -/T1_2 1 Tf -15.6 0 Td -(db)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.763 0 Td -(har *)Tj -/T1_2 1 Tf -(key)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --1.126 -2.021 Td -(Returns: pointer to data if OK,)Tj -/TT0 1 Tf -13.642 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -(on end of \336le)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4921.25 cm -0 0 m -0 681 l -3900 681 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 478.5638 Tm -(If)Tj -/T1_2 1 Tf -1.011 0 Td -(key)Tj -/T1_1 1 Tf -1.674 0 Td -[(is )-91(a )-91(non-null )-91(pointer)75(,)]TJ -/TT0 1 Tf -9.783 0 Td -(db_nextrec)Tj -/T1_1 1 Tf --0.018 Tc 6.341 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-91(the )-91(key )-91(by )-91(copying )-91(it )-91(to )-91(the )-91(memory)]TJ --19.664 -1.2 Td -(starting at that location.)Tj -1.8 -1.2 Td -[(Ther)18(e)-299(is)-299(no)-299(o)]TJ --0.018 Tc (rd)Tj -0 Tc 6.804 0 Td -[(er )-49(to )-49(the )-49(r)18(ecor)18(ds )-49(r)18(eturned )-49(by)]TJ -/TT0 1 Tf -13.147 0 Td -(db_nextrec)Tj -/T1_1 1 Tf -0.5491 Tc (.A)Tj -0 Tc 7.577 0 Td -[(ll )-49(we\325r)]TJ -0.2991 Tc 2.849 0 Td -(eg)Tj -0 Tc 1.334 0 Td -[(uaranteed )-49(is)]TJ --33.511 -1.2 Td -[(that )-64(we\325ll )-64(r)18(ead )-64(each )-64(r)19(ecor)18(d)-314(in)-314(the )-64(database )-64(once.)-563(If )-64(we )-64(stor)]TJ -0.3137 Tc 26.524 0 Td -(et)Tj -0 Tc 1.119 0 Td -[(hr)18(ee )-64(r)18(ecor)18(ds )-64(with )-64(keys )-64(of)]TJ --27.643 -1.2 Td -[(A, )-41(B, )-41(and )-41(C, )-41(in )-41(that )-41(or)17(der)74(,)-291(we)-291(have )-41(no )-41(idea )-41(in )-41(which )-41(or)17(der)]TJ -/TT0 1 Tf -26.27 0 Td -(db_nextrec)Tj -/T1_1 1 Tf -6.291 0 Td -[(will )-41(r)18(eturn )-41(the)]TJ --32.561 -1.2 Td -[(thr)18(ee )-147(r)18(ecor)18(ds. )-397(It)-396(might )-147(r)18(eturn )-147(B, )-147(then )-147(A, )-147(then )-147(C, )-147(or )-147(some )-147(other )-147(\(appar)18(ently )-147(random\))]TJ --0 -1.2 Td -[(or)18(der)]TJ -0.5 Tc 2.334 0 Td -(.T)Tj -0 Tc 1.363 0 Td -[(he actual or)18(der depends on the implementation of the database.)]TJ --1.897 -1.2 Td -[(These )-332(seven )-332(functions )-332(pr)17(ovide )-332(the )-332(interface )-332(to )-332(the )-332(database )-332(library)]TJ -0.8324 Tc 32.186 0 Td -(.W)Tj -0.5824 Tc 1.99 0 Td -(en)Tj -0 Tc 1.643 0 Td -(ow)Tj --37.62 -1.2 Td -(describe the actual implementation that we have chosen.)Tj -/TT2 1 Tf -11.9978 0 0 11.9978 93.5836 346.5876 Tm -[(20.4 )-776(Implementation)-556(Over )268(vie)15(w)]TJ -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5771 324.9915 Tm -[(Database )-35(access )-35(libraries )-35(often )-35(use )-35(two )-35(\336les )-35(to )-35(stor)]TJ -0.2845 Tc 22.489 0 Td -(et)Tj -0 Tc 1.089 0 Td -[(he )-34(information: )-34(an )-34(index )-34(\336le )-34(and )-34(a)]TJ --23.578 -1.2 Td -[(data )-105(\336le.)-605(The )-105(index )-105(\336le )-105(contains )-105(the )-105(actual )-105(index )-105(value )-105(\(the )-105(key\) )-105(and )-105(a )-105(pointer )-105(to )-105(the)]TJ -0 -1.2 TD -[(corr)18(esponding )-305(data )-305(r)18(ecor)18(d)-555(in)-555(the )-305(data )-305(\336le.)-805(Numer)18(ous )-305(techniques )-305(can )-305(be )-305(used )-305(to)]TJ -0 -1.2 Td -[(or)18(ganize )-152(the )-152(index )-152(\336le )-152(so )-152(that )-152(it )-152(can )-152(be )-152(sear)14(ched )-153(quickly )-153(and )-153(ef)18(\336ciently )-153(for )-153(any )-153(key:)]TJ -0 -1.2 Td -[(hashing )-98(and )-98(B+ )-98(tr)18(ees )-98(ar)]TJ -0.3476 Tc 10.779 0 Td -(ep)Tj -0 Tc 1.428 0 Td -(opular)Tj -0.5975 Tc 2.862 0 Td -(.W)Tj -0.3475 Tc 1.756 0 Td -(eh)Tj -0 Tc 1.409 0 Td -[(ave )-97(chosen )-97(to )-97(use )-97(a )-97(\336xed-size )-97(hash )-97(table )-97(with)]TJ --18.233 -1.2 Td -[(chaining )-36(for )-36(the )-36(index )-36(\336le.)]TJ --0.092 Tc 12.275 0 Td -[(We )-220(m)]TJ -0 Tc 2.556 0 Td -[(entioned )-36(in )-36(the )-36(description )-36(of)]TJ -/TT0 1 Tf -13.457 0 Td -(db_open)Tj -/T1_1 1 Tf -4.486 0 Td -[(that )-36(we )-36(cr)17(eate)]TJ --32.775 -1.2 Td -[(two \336les: one with a suf)18(\336x of)]TJ -/TT0 1 Tf -12.987 0 Td -(.idx)Tj -/T1_1 1 Tf -2.65 0 Td -[(and one with a suf)18(\336x of)]TJ -/TT0 1 Tf -10.675 0 Td -(.dat)Tj -/T1_1 1 Tf -(.)Tj --0.092 Tc -24.512 -1.2 Td -[(We )-350(s)]TJ -0 Tc 2.227 0 Td -(tor)Tj -0.416 Tc 1.249 0 Td -(et)Tj -0 Tc 1.221 0 Td -[(he )-166(key )-166(and )-166(the )-166(index )-166(as )-166(null-terminated )-166(character )-166(strings; )-166(they )-166(cannot)]TJ --6.497 -1.2 Td -[(contain )-71(arbitrary )-71(binary )-71(data.)-571(Some )-71(database )-71(systems )-71(stor)]TJ -0.3213 Tc 26.259 0 Td -(en)Tj -0 Tc 1.382 0 Td -[(umerical )-71(data )-71(in )-71(a )-71(binary)]TJ --27.642 -1.2 Td -[(format )-316(\(1, )-316(2, )-316(or )-316(4 )-316(bytes )-316(for )-316(an )-316(integer)]TJ -0.5657 Tc 18.511 0 Td -(,f)Tj -0 Tc 1.149 0 Td -[(or )-316(example\) )-316(to )-316(save )-316(storage )-316(space.)-814(This)]TJ --19.659 -1.2 Td -[(complicates )-108(the )-108(functions )-108(and )-108(r)19(equir)18(es )-108(mor)]TJ -0.3578 Tc 19.625 0 Td -(ew)Tj -0 Tc 1.671 0 Td -[(ork )-108(to )-108(make )-108(the )-108(database )-108(\336les )-108(portable)]TJ --21.296 -1.2 Td -[(between )-115(dif)18(fer)18(ent )-115(computer )-115(systems.)-615(For )-115(example, )-115(if )-115(a )-115(network )-115(has )-115(two )-115(systems )-115(that)]TJ -T* -[(use )-3(dif)18(fer)18(ent )-3(formats )-3(for )-3(storing )-3(binary )-3(integers, )-3(we )-3(need )-3(to )-3(account )-3(for )-3(this )-3(dif)12(fer)18(ence )-3(if)]TJ -0 -1.2 Td -[(we )-55(want )-55(both )-55(systems )-55(to )-55(access )-55(the )-55(database.)-553(\(It )-55(is )-55(not )-55(at )-55(all )-55(uncommon )-55(today )-55(to )-55(have)]TJ -T* -[(systems )-42(with )-42(dif)19(fer)18(ent )-42(ar)18(chitectur)18(es )-42(sharing )-42(\336les )-42(on )-42(a )-42(network.\))-542(Storing )-42(all )-42(the )-42(r)21(ecor)18(ds,)]TJ --0 -1.2 Td -[(both )-6(keys )-6(and )-6(data, )-6(as )-6(character )-6(strings )-6(simpli\336es )-6(everything.)-506(It )-6(does )-6(r)17(equir)]TJ -0.256 Tc 33.716 0 Td -(ea)Tj -0 Tc 1.235 0 Td -(dditional)Tj --34.951 -1.2 Td -[(disk space, but that is a small cost for portability)111(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46880 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(20)Tj -/T1_1 1 Tf -0.56 Tc 24 0 0 24 129.6 545.576 Tm -(AD)Tj -0 Tc 2 0 Td -[(a)-5(ta)-5(base )-280(Librar)-40(y)]TJ -/TT0 1 Tf -12 0 0 12 93.6002 428.4 Tm -[(20.1 )-776(Intr)20(oduction)]TJ -/T1_2 1 Tf -10 0 0 10 129.6002 404.4 Tm -[(During )-193(the )-193(early )-193(1980s, )-193(the )-193(UNIX )-193(System )-193(was )-193(consider)18(ed )-193(a )-193(hostile )-193(envir)18(onment )-193(for)]TJ --0.008 Tc 0 -1.2 TD -(ru)Tj -0 Tc 0.99 0 Td -[(nning )-123(multiuser )-123(database )-123(systems.)-623(\(See )-123(Stonebraker)]TJ -24.185 0.04 Td -([)Tj -0.333 -0.04 Td -(1981)Tj -2 0.04 Td -(])Tj -0.706 -0.04 Td -[(and )-123(W)92(einber)18(ger)]TJ -7.537 0.04 Td -([)Tj -0.333 -0.04 Td -(1982)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -(.\))Tj --38.417 -1.2 Td -[(Earlier )-22(systems, )-22(such )-22(as )-22(V)111(ersion )-22(7, )-22(did )-22(indeed )-22(pr)16(esent )-22(lar)18(ge )-22(obstacles, )-22(since )-22(they )-22(did )-22(not)]TJ -T* -[(pr)18(ovide )-9(any )-9(form )-9(of )-9(IPC )-9(\(other )-9(than )-9(half-duplex )-9(pipes\) )-9(and )-9(did )-9(not )-9(pr)18(ovide )-9(any )-9(form )-9(of)]TJ -T* -[(byte-range )-160(locking.)-660(Many )-160(of )-160(these )-160(de\336ciencies )-160(wer)]TJ -0.4098 Tc 23.556 0 Td -(er)Tj -0 Tc 1.266 0 Td -[(emedied, )-160(however)]TJ -0.6598 Tc 8.299 0 Td -(.B)Tj -0.4099 Tc 1.521 0 Td -(yt)Tj -0 Tc 1.292 0 Td -[(he )-160(late)]TJ --35.933 -1.2 Td -[(1980s, )-170(the )-170(UNIX )-170(System )-170(had )-170(evolved )-170(to )-170(pr)18(ovide )-170(a )-170(suitable )-170(envir)18(onment )-170(for )-170(r)2(unning)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(liable, )-270(multiuser )-270(database )-270(systems.)-768(Since )-270(then, )-270(numer)18(ous )-270(commer)18(cial )-270(\336rms )-270(have)]TJ --0.856 -1.2 Td -[(of)18(fer)18(ed these types of database systems.)]TJ -1.8 -1.2 Td -[(In )-52(this )-52(chapter)73(,)-302(we)-302(d)-1(evelop )-52(a )-52(simple, )-52(multiuser )-52(database )-52(library )-52(of )-52(C )-52(functions )-52(that)]TJ --1.8 -1.2 Td -[(any )-43(pr)18(ogram )-43(can )-43(call )-43(to )-43(fetch )-43(and )-43(stor)]TJ -0.2929 Tc 17 0 Td -(er)Tj -0 Tc 1.149 0 Td -[(ecor)18(ds )-43(in )-43(a )-43(database.)-543(\(Such )-43(a )-43(database )-43(is )-43(often)]TJ --18.148 -1.2 Td -[(called )-267(a)]TJ -/T1_3 1 Tf -4.149 0 Td -[(key\320value )-267(stor)18(e)]TJ -/T1_2 1 Tf -[(.\) )-517(This)-516(library )-267(of )-267(C )-267(functions )-267(is )-267(usually )-267(only )-267(one )-267(part )-267(of )-267(a)]TJ --4.149 -1.2 Td -[(complete )-299(database )-299(system.)]TJ --0.092 Tc 13.182 0 Td -[(We )-483(d)]TJ -0.5494 Tc 2.547 0 Td -(on)Tj -0 Tc 1.677 0 Td -[(ot )-299(develop )-299(the )-299(other )-299(pieces, )-299(such )-299(as )-299(a )-299(query)]TJ --17.407 -1.2 Td -[(language, )-47(leaving )-47(these )-47(items )-47(to )-47(the )-47(many )-47(textbooks )-47(on )-47(database )-47(systems.)-547(Our )-47(inter)13(est)]TJ -T* -[(is )-67(the )-67(parts )-67(of )-67(the )-67(UNIX )-67(System )-67(interface )-67(r)19(equir)18(ed )-67(by )-67(a )-67(database )-67(library)]TJ -0.317 Tc 32.201 0 Td -(,a)Tj -0 Tc 1.067 0 Td -[(nd )-67(how )-67(they)]TJ --0.018 Tc -33.268 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(late )-208(to )-208(the )-208(topics )-208(we\325ve )-208(alr)18(eady )-208(cover)18(ed )-208(\(such )-208(as )-208(r)16(ecor)]TJ -0.0833 Tc 25.594 0 Td -(d\321b)Tj -0 Tc 2.331 0 Td -[(yte-range )167(\321 )167(locking,)-459(in)]TJ --28.78 -1.2 Td -(Section 14.3\).)Tj -/TT0 1 Tf -12 0 0 12 93.6006 188.4 Tm -[(20.2 )-776(Histor)-10(y)]TJ -/T1_2 1 Tf -10 0 0 10 129.6006 164.4 Tm -[(One )-171(popular )-171(library )-171(of )-171(database )-171(functions )-171(in )-171(the )-171(UNIX )-171(System )-171(is )-171(the)]TJ -/TT1 1 Tf -32.493 0 Td -(dbm)Tj -/T1_2 1 Tf -[(\(3\) )-171(library)111(.)]TJ --32.493 -1.2 Td -[(This )-62(library )-62(was )-62(developed )-62(by )-62(Ken )-62(Thompson )-62(and )-62(uses )-62(a )-62(dynamic )-62(hashing )-62(scheme.)-561(It)]TJ -T* -[(was )-248(originally )-248(pr)18(ovided )-248(with )-248(V)112(ersion )-248(7, )-248(appears )-248(in )-248(all )-248(BSD )-248(r)18(eleases, )-248(and )-248(was )-248(also)]TJ -/T1_4 1 Tf -9 0 0 9 506.1004 114 Tm -(743)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46881 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(19.8)]TJ -39.488 0 Td -(Summary)Tj -/T1_1 1 Tf -6.345 0 Td -(741)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Regar)18(dless )-78(of )-78(the )-78(implementation )-78(details, )-78(the )-78(purpose )-78(of )-78(packet )-78(mode )-78(is )-78(to )-78(inform)]TJ --1.8 -1.2 Td -[(the )-317(pr)18(ocess )-317(r)18(eading )-317(the )-317(PTY )-317(master )-317(when )-317(the )-317(following )-317(events )-317(occur )-317(at )-317(the )-317(line)]TJ -0 -1.2 TD -[(discipline )-24(module )-24(above )-24(the )-24(PTY )-24(slave: )-24(when )-24(the )-24(r)18(ead )-24(queue )-24(is )-24(\337ushed, )-24(when )-24(the )-24(write)]TJ -T* -[(queue )-160(is )-160(\337ushed, )-160(when )-160(output )-160(is )-160(stopped )-160(\(e.g., )-160(Contr)19(ol)]TJ -25.555 0.09 Td -(-)Tj -0.333 -0.09 Td -[(S\), )-160(when )-160(output )-160(is )-160(r)18(estarted,)]TJ --25.888 -1.2 Td -[(when )-80(XON/XOFF )-80(\337ow )-80(contr)18(ol )-80(is )-80(enabled )-80(after )-80(being )-80(disabled, )-80(and )-80(when )-80(XON/XOFF)]TJ -T* -[(\337ow )-36(contr)18(ol )-36(is )-36(disabled )-36(after )-36(being )-36(enabled.)-540(These )-37(events )-37(ar)]TJ -0.2866 Tc 26.952 0 Td -(eu)Tj -0 Tc 1.369 0 Td -[(sed, )-37(for )-37(example, )-37(by )-37(the)]TJ -/TT0 1 Tf --28.32 -1.2 Td -(rlogin)Tj -/T1_0 1 Tf -3.85 0 Td -(client and the)Tj -/TT0 1 Tf -6.243 0 Td -(rlogind)Tj -/T1_0 1 Tf -4.45 0 Td -[(server)74(.)]TJ -/TT1 1 Tf --18.143 -3 Td -(Remote Mode)Tj -/T1_0 1 Tf -0.2599 Tc 3.6 -2.04 Td -(AP)Tj -0 Tc 1.642 0 Td -[(TY )-10(master )-10(can )-10(set )-10(the )-10(PTY )-10(slave )-10(to )-10(r)19(emote )-10(mode )-10(by )-10(issuing )-10(the)]TJ -/TT0 1 Tf -28.098 0 Td -[(TIOCREMOTE )340(ioctl)]TJ -/T1_0 1 Tf --29.74 -1.2 Td -[(command. )-312(Although)-312(Mac )-62(OS )-62(X )-62(10.6.8 )-62(and )-62(Solaris )-62(10 )-62(use )-62(the )-62(same )-62(command )-62(to )-62(enable)]TJ -T* -[(and )-266(disable )-266(this )-266(featur)18(e, )-266(under )-266(Solaris )-266(the )-266(thir)]TJ -0.5164 Tc 22.032 0 Td -(da)Tj --0.018 Tc 1.627 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument )-266(to)]TJ -/TT0 1 Tf -4.778 0 Td -(ioctl)Tj -/T1_0 1 Tf -3.516 0 Td -[(is )-266(an )-266(integer)73(,)]TJ --32.886 -1.2 Td -[(wher)18(eas )-21(with )-21(Mac )-21(OS )-21(X, )-21(it )-21(is )-21(a )-21(pointer )-21(to )-21(an )-21(integer)]TJ -0.5213 Tc 22.849 0 Td -(.\()Tj -0 Tc 1.104 0 Td -[(Fr)18(eeBSD )-21(8.0 )-21(and )-21(Linux )-21(3.2.0 )-21(don\325t)]TJ --23.953 -1.2 Td -(support this command.\))Tj -1.8 -1.2 Td -[(When )-47(it )-47(sets )-47(this )-47(mode, )-47(the )-47(PTY )-47(master )-47(is )-47(telling )-47(the )-47(PTY )-47(slave\325s )-47(line )-47(discipline )-47(not)]TJ --1.8 -1.2 Td -[(to )-20(perform )-20(any )-20(pr)18(ocessing )-20(of )-20(the )-20(data )-20(that )-20(it )-20(r)18(eceives )-20(fr)17(om )-20(the )-20(PTY )-20(master)]TJ -0.2702 Tc 32.813 0 Td -(,r)Tj -0 Tc 0.897 0 Td -[(egar)18(dless )-20(of)]TJ --33.71 -1.2 Td -[(the )-227(canonical/noncanonical )-227(\337ag )-227(in )-227(the )-227(slave\325s)]TJ -/TT0 1 Tf -21.809 0 Td -(termios)Tj -/T1_0 1 Tf -4.677 0 Td -[(str)8(uctur)18(e. )-477(Remote)-477(mode )-227(is)]TJ --26.486 -1.2 Td -(intended for an application, such as a window manager)Tj -0.25 Tc 24.536 0 Td -(,t)Tj -0 Tc 0.826 0 Td -(hat does its own line editing.)Tj -/TT1 1 Tf --28.962 -3 Td -(Windo)Tj -0.278 Tc 3.04 0 Td -(wS)Tj -0 Tc 1.723 0 Td -[(iz )268(e)-278(Chang )268(es)]TJ -/T1_0 1 Tf --1.163 -2.04 Td -[(The )-90(pr)18(ocess )-90(above )-90(the )-90(PTY )-90(master )-90(can )-90(issue )-90(the)]TJ -/TT0 1 Tf -22.088 0 Td -[(TIOCSWINSZ )260(ioctl)]TJ -/T1_0 1 Tf -9.681 0 Td -[(command )-90(to )-90(set)]TJ --31.769 -1.2 Td -[(the )-45(window )-45(size )-45(of )-45(the )-45(slave.)-545(If )-45(the )-45(new )-45(size )-45(dif)18(fers )-45(fr)18(om )-45(the )-45(curr)13(ent )-45(size, )-45(a)]TJ -/TT0 1 Tf -34.2 0 Td -(SIGWINCH)Tj -/T1_0 1 Tf --34.2 -1.2 Td -[(signal is sent to the for)18(egr)18(ound pr)18(ocess gr)18(oup of the PTY slave.)]TJ -/TT1 1 Tf --3.6 -3 Td -(Signal Generation)Tj -/T1_0 1 Tf -3.6 -2.04 Td -[(The )-69(pr)18(ocess )-69(r)18(eading )-69(and )-69(writing )-69(the )-69(PTY )-69(master )-69(can )-69(send )-69(signals )-69(to )-69(the )-69(pr)22(ocess )-69(gr)18(oup)]TJ --0 -1.2 Td -[(of )-337(the )-337(PTY )-337(slave.)-835(Under )-336(Solaris )-336(10, )-336(this )-336(is )-336(done )-336(using )-336(the)]TJ -/TT0 1 Tf -29.413 0 Td -[(TIOCSIGNAL )14(ioctl)]TJ -/T1_0 1 Tf --29.413 -1.2 Td -[(command. )-278(W)55(ith )-28(Fr)18(eeBSD )-28(8.0, )-28(Linux )-28(3.2.0, )-28(and )-28(Mac )-28(OS )-28(X )-28(10.6.8, )-28(the)]TJ -/TT0 1 Tf -30.28 0 Td -(ioctl)Tj -/T1_0 1 Tf -3.278 0 Td -[(command )-28(is)]TJ -/TT0 1 Tf --33.558 -1.2 Td -(TIOCSIG)Tj -/T1_0 1 Tf -0.5 Tc (.I)Tj -0.25 Tc 5.287 0 Td -(nb)Tj -0 Tc 1.385 0 Td -(oth cases, the thir)Tj -0.25 Tc 7.688 0 Td -(da)Tj --0.018 Tc 1.361 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument is set to the signal number)74(.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5947 250.185 Tm -[(19.8 )-776(Summar)-10(y)]TJ -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5925 228.5863 Tm -[(We )-229(s)]TJ -0 Tc 2.106 0 Td -[(tarted )-45(this )-45(chapter )-45(with )-45(an )-45(overview )-45(of )-45(how )-45(to )-45(use )-45(pseudo )-45(terminals )-45(and )-45(a )-45(look )-45(at)]TJ --2.106 -1.2 Td -[(some )-210(use )-210(cases.)]TJ --0.092 Tc 7.988 0 Td -[(We )-394(c)]TJ -0 Tc 2.291 0 Td -[(ontinued )-210(by )-210(examining )-210(the )-210(code )-210(r)19(equir)18(ed )-210(to )-210(set )-210(up )-210(a )-210(pseudo)]TJ --10.279 -1.2 Td -[(terminal )-180(under )-180(the )-180(four )-180(platforms )-180(discussed )-180(in )-180(this )-180(text.)]TJ --0.092 Tc 26.803 0 Td -[(We )-364(t)]TJ -0 Tc 2.143 0 Td -[(hen )-180(used )-180(this )-180(code )-180(to)]TJ --28.946 -1.2 Td -[(pr)18(ovide )-530(the )-530(generic)]TJ -/TT0 1 Tf -10.422 0 Td -(pty_fork)Tj -/T1_0 1 Tf -5.58 0 Td -[(function )-530(that )-530(can )-530(be )-530(used )-530(by )-530(many )-530(dif)19(fer)18(ent)]TJ --16.002 -1.2 Td -[(applications. )-356(W)]TJ -0.356 Tc 7.161 0 Td -(eu)Tj -0 Tc 1.438 0 Td -[(sed )-106(this )-106(function )-106(as )-106(the )-106(basis )-106(for )-106(a )-106(small )-106(pr)18(ogram )-106(\()]TJ -/TT0 1 Tf -23.26 0 Td -(pty)Tj -/T1_0 1 Tf -[(\), )-106(which )-106(we)]TJ --31.859 -1.2 Td -(then used to explor)Tj -0.25 Tc 8.518 0 Td -(em)Tj -0 Tc 1.612 0 Td -[(any of the pr)18(operties of pseudo terminals.)]TJ --8.33 -1.2 Td -[(Pseudo )-50(terminals )-50(ar)]TJ -0.3003 Tc 8.916 0 Td -(eu)Tj -0 Tc 1.382 0 Td -[(sed )-50(daily )-50(on )-50(most )-50(UNIX )-50(systems )-50(to )-50(pr)16(ovide )-50(network )-50(logins.)]TJ --0.092 Tc -12.098 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-194(examined )-194(other )-194(uses )-194(for )-194(pseudo )-194(terminals )-194(as )-194(well, )-194(ranging )-194(fr)18(om )-194(the)]TJ -/TT0 1 Tf -34.013 0 Td -(script)Tj -/T1_0 1 Tf --35.4 -1.2 Td -[(pr)18(ogram to driving interactive pr)18(ograms fr)18(om a batch script.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46882 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(740)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pseudo )-250(T)92(erminals )]TJ -38.741 0 Td -[(Chapter)-500(19)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 194.3883 670.2598 Tm -(err_sys\("dup2 error to stdout"\);)Tj --2.4 -1.189 Td -(if \(pipe[0] != STDIN_FILENO && pipe[0] != STDOUT_FILENO\))Tj -2.4 -1.189 Td -(close\(pipe[0]\);)Tj --2.4 -2.021 Td -(/* leave stderr for driver alone */)Tj -0 -1.189 TD -(execlp\(driver, driver, \(char *\)0\);)Tj -0 -1.189 TD -(err_sys\("execlp error for: %s", driver\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -[(close\(pipe[0]\); )-2400(/*)-600(parent */)]TJ -0 -1.189 TD -(if \(dup2\(pipe[1], STDIN_FILENO\) != STDIN_FILENO\))Tj -2.4 -1.189 Td -(err_sys\("dup2 error to stdin"\);)Tj --2.4 -1.189 Td -(if \(dup2\(pipe[1], STDOUT_FILENO\) != STDOUT_FILENO\))Tj -2.4 -1.189 Td -(err_sys\("dup2 error to stdout"\);)Tj --2.4 -1.189 Td -(if \(pipe[1] != STDIN_FILENO && pipe[1] != STDOUT_FILENO\))Tj -2.4 -1.189 Td -(close\(pipe[1]\);)Tj --2.4 -2.021 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(arent returns, but with stdin and stdout connected)Tj --1.8 -1.189 Td -[(*)-600(to)-600(the driver.)]TJ -T* -(*/)Tj --3 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4504.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 217.3939 434.3769 Tm -(Figure 19.16)Tj -/T1_1 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(do_driver)Tj -/T1_1 1 Tf -5.65 0 Td -(function for the)Tj -/TT0 1 Tf -7.118 0 Td -(pty)Tj -/T1_1 1 Tf -2.05 0 Td -[(pr)18(ogram)]TJ -9.9988 0 0 9.9988 129.5849 410.3797 Tm -[(By )-133(writing )-133(our )-133(own )-133(driver )-133(pr)18(ogram )-133(that )-133(is )-133(invoked )-133(by)]TJ -/TT0 1 Tf -25.56 0 Td -(pty)Tj -/T1_1 1 Tf -[(,)-383(we)-383(can )-133(drive )-133(interactive)]TJ --25.56 -1.2 Td -[(pr)18(ograms )-211(in )-211(any )-211(way )-211(desir)19(ed. )-461(Even)-461(though )-211(it )-211(has )-211(its )-211(standar)]TJ -0.4609 Tc 28.979 0 Td -(di)Tj -0 Tc 1.363 0 Td -[(nput )-211(and )-211(standar)18(d)]TJ --30.342 -1.2 Td -[(output )-96(connected )-96(to)]TJ -/TT0 1 Tf -9.408 0 Td -(pty)Tj -/T1_1 1 Tf -0.346 Tc (,t)Tj -0 Tc 2.722 0 Td -[(he )-96(driver )-96(pr)18(ocess )-96(can )-96(still )-96(interact )-96(with )-96(the )-96(user )-96(by )-96(r)18(eading)]TJ --12.13 -1.2 Td -[(and )-56(writing)]TJ -/TT0 1 Tf -5.581 0 Td -(/dev/tty)Tj -/T1_1 1 Tf -0.5563 Tc (.T)Tj -0 Tc 6.219 0 Td -[(his )-56(solution )-56(still )-56(isn\325t )-56(as )-56(general )-56(as )-56(the)]TJ -/TT0 1 Tf -17.397 0 Td -(expect)Tj -/T1_1 1 Tf -3.906 0 Td -[(pr)18(ogram, )-56(but)]TJ --33.104 -1.2 Td -[(it pr)18(ovides a useful option to)]TJ -/TT0 1 Tf -13.008 0 Td -(pty)Tj -/T1_1 1 Tf -2.05 0 Td -(for fewer than 50 lines of code.)Tj -/TT1 1 Tf -11.9986 0 0 11.9986 93.5892 326.3898 Tm -[(19.7 )-776(Ad)]TJ --0.02 Tc 4.318 0 Td -(va)Tj -0 Tc 1.092 0 Td -[(nced )-278(Features)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5848 302.3927 Tm -[(Pseudo )-18(terminals )-18(have )-18(some )-18(additional )-18(capabilities )-18(that )-18(we )-18(brie\337y )-18(mention )-18(her)14(e. )-268(These)]TJ -0 -1.2 TD -[(capabilities )-173(ar)]TJ -0.4228 Tc 6.291 0 Td -(ef)Tj -0 Tc 1.235 0 Td -[(urther )-173(documented )-173(in )-173(Sun )-173(Micr)19(osystems)]TJ -19.161 0.04 Td -([)Tj -0.333 -0.04 Td -(2005)Tj -2 0.04 Td -(])Tj -0.756 -0.04 Td -[(and )-173(the )-173(BSD)]TJ -/TT0 1 Tf -6.259 0 Td -(pts)Tj -/T1_1 1 Tf -(\(4\))Tj --36.034 -1.2 Td -(manual page.)Tj -/TT1 1 Tf --0.03 Tc -3.6 -2.88 Td -(Pa)Tj --0.02 Tc 1.193 0 Td -(ck)Tj -0 Tc 1.092 0 Td -(et Mode)Tj -/T1_1 1 Tf -1.315 -2.04 Td -[(Packet )-119(mode )-119(lets )-119(the )-119(PTY )-119(master )-119(learn )-119(of )-119(state )-119(changes )-119(in )-119(the )-119(PTY )-119(slave.)-617(On )-119(Solaris,)]TJ -T* -[(this )-14(mode )-14(is )-14(enabled )-14(by )-14(pushing )-14(the )-14(STREAMS )-14(module)]TJ -/TT0 1 Tf -24.945 0 Td -(pckt)Tj -/T1_1 1 Tf -2.664 0 Td -[(onto )-14(the )-14(PTY )-14(master )-14(side.)]TJ --0.092 Tc -27.609 -1.2 Td -[(We )-316(s)]TJ -0 Tc 2.193 0 Td -[(howed )-132(this )-132(optional )-132(module )-132(in )-132(Figur)]TJ -0.3821 Tc 16.938 0 Td -(e1)Tj -0 Tc 1.361 0 Td -[(9.2. )-382(On)-382(Fr)18(eeBSD, )-132(Linux, )-132(and )-132(Mac )-132(OS )-132(X,)]TJ --20.492 -1.2 Td -(this mode is enabled with the)Tj -/TT0 1 Tf -13.272 0 Td -[(TIOCPKT )350(ioctl)]TJ -/T1_1 1 Tf -7.7 0 Td -(command.)Tj --19.172 -1.2 Td -[(The )-93(details )-93(of )-93(packet )-93(mode )-93(dif)18(fer )-93(between )-93(Solaris )-93(and )-93(the )-93(other )-93(platforms.)-597(Under)]TJ --1.8 -1.2 Td -[(Solaris, )-130(the )-130(pr)18(ocess )-130(r)17(eading )-130(the )-130(PTY )-130(master )-130(has )-130(to )-130(call)]TJ -/TT0 1 Tf -25.286 0 Td -(getmsg)Tj -/T1_1 1 Tf -3.98 0 Td -[(to )-130(fetch )-130(the )-130(messages)]TJ --29.267 -1.2 Td -[(fr)18(om )-113(the )-113(str)18(eam )-113(head, )-113(because )-113(the)]TJ -/TT0 1 Tf -15.984 0 Td -(pckt)Tj -/T1_1 1 Tf -2.763 0 Td -[(module )-113(converts )-113(certain )-113(events )-113(into )-113(nondata)]TJ --18.747 -1.2 Td -[(STREAMS )-21(messages.)]TJ --0.055 Tc 9.877 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-21(the )-21(other )-21(platforms, )-21(each)]TJ -/TT0 1 Tf -12.531 0 Td -(read)Tj -/T1_1 1 Tf -2.671 0 Td -[(fr)18(om )-21(the )-21(PTY )-21(master )-21(r)19(eturns)]TJ -0.25 Tc -26.314 -1.2 Td -(as)Tj -0 Tc 1.174 0 Td -(tatus byte followed by optional data.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46883 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(19.6)]TJ -32.654 0 Td -[(Using )-250(the)]TJ -/TT0 1 Tf -5.018 0 Td -(pty)Tj -/T1_0 1 Tf -2.3 0 Td -[(Pr)18(ogram)]TJ -/T1_1 1 Tf -5.861 0 Td -(733)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(if \(signal_intr\(SIGTERM, sig_term\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("signal_intr error for SIGTERM"\);)Tj --2.4 -1.902 Td -(for \( ; ; \) {)Tj -2.4 -1.189 Td -(if \(\(nread = read\(ptym, buf, BUFFSIZE\)\) <= 0\))Tj -2.4 -1.189 Td -[(break; )-3000(/*)-600(signal caught, error, or EOF */)]TJ --2.4 -1.189 Td -(if \(writen\(STDOUT_FILENO, buf, nread\) != nread\))Tj -2.4 -1.189 Td -(err_sys\("writen error to stdout"\);)Tj --4.8 -1.189 Td -(})Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*T)Tj -0 Tc 1.8 0 Td -(here are three ways to get here: sig_term\(\) below caught the)Tj -0.6 Tc -1.8 -1.189 Td -(*S)Tj -0 Tc 1.8 0 Td -(IGTERM from the child, we read an EOF on the pty master \(which)Tj -0.6 Tc -1.8 -1.189 Td -(*m)Tj -0 Tc 1.8 0 Td -(eans we have to signal the child to stop\), or an error.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(sigcaught == 0\) /* tell child if it didn\325t send us the signal *\ /)Tj -2.4 -1.189 Td -(kill\(child, SIGTERM\);)Tj --2.4 -1.902 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(arent returns to caller.)Tj --1.8 -1.189 Td -(*/)Tj --3 -1.189 Td -(})Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*T)Tj -0 Tc 1.8 0 Td -(he child sends us SIGTERM when it gets EOF on the pty slave or)Tj -0.6 Tc -1.8 -1.189 Td -(*w)Tj -0 Tc 1.8 0 Td -[(hen read\(\) fails.)-1200(We probably interrupted the read\(\) of ptym.)]TJ --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(static void)Tj -0 -1.189 TD -(sig_term\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -[(sigcaught = 1;)-3600(/* just set flag and return */)]TJ --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3509.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 266.664 334.8788 Tm -(Figure 19.12)Tj -/T1_0 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(loop)Tj -/T1_0 1 Tf -2.65 0 Td -(function)Tj -9.9988 0 0 9.9988 129.5848 310.8817 Tm -[(Note )-34(that )-34(because )-34(we )-34(use )-34(two )-34(pr)18(ocesses, )-34(one )-34(has )-34(to )-34(notify )-34(the )-34(other )-34(when )-34(it )-34(terminates.)]TJ --0.092 Tc 0 -1.2 TD -[(We )-184(u)]TJ -0 Tc 2.24 0 Td -(se the)Tj -/TT0 1 Tf -2.79 0 Td -(SIGTERM)Tj -/T1_0 1 Tf -4.45 0 Td -(signal for this noti\336cation.)Tj -/TT1 1 Tf -11.9986 0 0 11.9986 93.5892 260.4877 Tm -[(19.6 )-776(Using)-556(the)]TJ -/TT2 1 Tf -8.39 0 Td -(pty)Tj -/TT1 1 Tf -2.356 0 Td -[(Pr)20(ogram)]TJ -/T1_0 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5848 234.0909 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-192(now )-192(look )-192(at )-192(various )-192(examples )-192(with )-192(the)]TJ -/TT0 1 Tf -20.042 0 Td -(pty)Tj -/T1_0 1 Tf -2.242 0 Td -[(pr)18(ogram, )-192(seeing )-192(the )-192(need )-192(for )-192(the)]TJ --23.671 -1.2 Td -(command)Tj -4.449 0.09 Td -(-)Tj -0.333 -0.09 Td -(line options.)Tj --2.982 -1.2 Td -(If our shell is the Korn shell, we can execute the command)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5826 192.326 Tm -(pty ksh)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5847 173.258 Tm -[(and get a brand-new invocation of the shell, r)8(unning under a pseudo terminal.)]TJ -1.8 -1.2 Td -[(If )-62(the )-62(\336le)]TJ -/TT0 1 Tf -4.367 0 Td -(ttyname)Tj -/T1_0 1 Tf -4.512 0 Td -[(is )-62(the )-62(pr)18(ogram )-62(we )-62(showed )-62(in )-62(Figur)]TJ -0.3116 Tc 15.875 0 Td -(e1)Tj -0 Tc 1.291 0 Td -[(8.16, )-62(we )-62(can )-62(r)8(un )-62(the)]TJ -/TT0 1 Tf -9.356 0 Td -(pty)Tj -/T1_0 1 Tf --37.2 -1.2 Td -[(pr)18(ogram as follows:)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46884 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(19.5)]TJ -/TT0 1 Tf -37.672 0 Td -(pty)Tj -/T1_0 1 Tf -2.3 0 Td -[(Pr)18(ogram)]TJ -/T1_1 1 Tf -5.861 0 Td -(729)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 172.7896 670.2598 Tm -(if \(dup2\(fds, STDOUT_FILENO\) != STDOUT_FILENO\))Tj -2.4 -1.189 Td -(err_sys\("dup2 error to stdout"\);)Tj --2.4 -1.189 Td -(if \(dup2\(fds, STDERR_FILENO\) != STDERR_FILENO\))Tj -2.4 -1.189 Td -(err_sys\("dup2 error to stderr"\);)Tj --2.4 -1.189 Td -(if \(fds != STDIN_FILENO && fds != STDOUT_FILENO &&)Tj -1.2 -1.189 Td -(fds != STDERR_FILENO\))Tj -1.2 -1.189 Td -(close\(fds\);)Tj --2.4 -1.189 Td -[(return\(0\); )-3000(/*)-600(child returns 0 just like fork\(\) */)]TJ -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -15 0 Td -(/* parent */)Tj --14.4 -1.189 Td -[(*ptrfdm = fdm;)-1200(/* return fd of master */)]TJ -0 -1.189 TD -[(return\(pid\); )-1800(/*)-600(parent returns pid of child */)]TJ --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5371.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 257.0651 521.0365 Tm -(Figure 19.10)Tj -/T1_0 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(pty_fork)Tj -/T1_0 1 Tf -5.05 0 Td -(function)Tj -/TT1 1 Tf -11.9986 0 0 11.9986 93.5892 473.0422 Tm -(19.5)Tj -/TT2 1 Tf -3 0 Td -(pty)Tj -/TT1 1 Tf -2.356 0 Td -[(Pr)20(ogram)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5848 449.0451 Tm -(The goal in writing the)Tj -/TT0 1 Tf -10.352 0 Td -(pty)Tj -/T1_0 1 Tf -2.05 0 Td -[(pr)18(ogram is to be able to type)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5827 432.3467 Tm -(pty prog arg1 arg2)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5848 414.3489 Tm -(instead of)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5827 397.6509 Tm -(prog arg1 arg2)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5848 379.653 Tm -[(When )-40(we )-40(use)]TJ -/TT0 1 Tf -6.333 0 Td -(pty)Tj -/T1_0 1 Tf -2.09 0 Td -[(to )-40(execute )-40(another )-40(pr)18(ogram, )-40(that )-40(pr)18(ogram )-40(is )-40(executed )-40(in )-40(a )-40(session )-40(of)]TJ --8.424 -1.2 Td -(its own, connected to a pseudo terminal.)Tj -1.8 -1.2 Td -[(Let\325s )-224(look )-224(at )-224(the )-224(sour)18(ce )-224(code )-224(for )-224(the)]TJ -/TT0 1 Tf -17.676 0 Td -(pty)Tj -/T1_0 1 Tf -2.274 0 Td -[(pr)18(ogram. )-474(The)-474(\336rst )-224(\336le )-224(\(Figur)]TJ -0.474 Tc 13.769 0 Td -(e1)Tj -0 Tc 1.453 0 Td -[(9.1)55(1\))]TJ --36.972 -1.2 Td -(contains the)Tj -/TT0 1 Tf -5.582 0 Td -(main)Tj -/T1_0 1 Tf -2.65 0 Td -[(function. )-250(It)-250(calls the)]TJ -/TT0 1 Tf -9.207 0 Td -(pty_fork)Tj -/T1_0 1 Tf -5.05 0 Td -[(function fr)18(om the pr)18(evious section.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3365.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 326.9391 Tm -(#include "apue.h")Tj -T* -(#include )Tj -0 -2.021 TD -(#ifdef LINUX)Tj -0 -1.189 TD -(#define OPTSTR "+d:einv")Tj -T* -(#else)Tj -0 -1.189 TD -(#define OPTSTR "d:einv")Tj -0 -1.189 TD -(#endif)Tj -0 -2.021 TD -[(static void set_noecho\(int\);)-2400(/* at the end of this file */)]TJ -0 -1.189 TD -[(void )-4200(do_driver\(char)-600(*\); )-600(/*)-600(in the file driver.c */)]TJ -0 -1.189 TD -[(void )-4200(loop\(int,)-600(int\); )-2400(/*)-600(in the file loop.c */)]TJ -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -[(fdm,)-600(c, ignoreeof, interactive, noecho, verbose;)]TJ --9.6 -1.189 Td -(pid_t )Tj -9.6 0 Td -(pid;)Tj --9.6 -1.189 Td -(char )Tj -9.6 0 Td -(*driver;)Tj --9.6 -1.189 Td -(char )Tj -9.6 0 Td -(slave_name[20];)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46885 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(726)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pseudo )-250(T)92(erminals )]TJ -38.741 0 Td -[(Chapter)-500(19)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 172.7896 670.2598 Tm -(if \(ioctl\(fds, I_PUSH, "ttcompat"\) < 0\) {)Tj --4.8 -1.189 Td -(errout:)Tj -7.2 -1.189 Td -(err = errno;)Tj -0 -1.189 TD -(close\(fds\);)Tj -T* -(errno = err;)Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(#endif)Tj -2.4 -1.189 Td -(return\(fds\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5585.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 245.0466 542.4339 Tm -(Figure 19.9)Tj -/T1_1 1 Tf -5.695 0 Td -(Pseudo-terminal open functions)Tj -9.9988 0 0 9.9988 147.5825 511.2376 Tm -(The)Tj -/TT0 1 Tf -2.028 0 Td -(ptym_open)Tj -/T1_1 1 Tf -5.754 0 Td -[(function )-104(uses )-104(the )-104(XSI )-104(PTY )-104(functions )-104(to )-104(\336nd )-104(and )-104(open )-104(an )-104(unused)]TJ --9.582 -1.2 Td -[(PTY )-50(master )-50(device )-50(and )-50(initialize )-50(the )-50(corr)18(esponding )-50(PTY )-50(slave )-50(device.)-548(The)]TJ -/TT0 1 Tf -33.6 0 Td -(ptys_open)Tj -/T1_1 1 Tf --33.6 -1.2 Td -[(function )-75(opens )-75(the )-75(slave )-75(PTY )-75(device.)-575(On )-75(a )-75(Solaris )-75(system, )-75(however)74(,)-325(we)-325(might )-75(need )-75(to)]TJ --0 -1.2 Td -(take additional steps befor)Tj -0.25 Tc 11.702 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he slave PTY device will behave like a terminal.)Tj --10.957 -1.2 Td -[(On )-64(Solaris, )-64(after )-64(opening )-64(the )-64(slave )-64(device, )-64(we )-64(might )-64(need )-64(to )-64(push )-64(thr)18(ee )-64(STREAMS)]TJ --1.8 -1.2 Td -[(modules )-245(onto )-245(the )-245(slave\325s )-245(str)16(eam. )-495(T)92(ogether)]TJ -0.4954 Tc 19.961 0 Td -(,t)Tj -0 Tc 1.071 0 Td -[(he )-245(pseudo )-245(terminal )-245(emulation )-245(module)]TJ --21.032 -1.2 Td -(\()Tj -/TT0 1 Tf -(ptem)Tj -/T1_1 1 Tf -0.3481 Tc (\)a)Tj -0 Tc 3.914 0 Td -[(nd )-98(the )-98(terminal )-98(line )-98(discipline )-98(module )-98(\()]TJ -/TT0 1 Tf -18.11 0 Td -(ldterm)Tj -/T1_1 1 Tf -0.3481 Tc (\)a)Tj -0 Tc 4.781 0 Td -[(ct )-98(like )-98(a )-98(r)18(eal )-98(terminal.)-598(The)]TJ -/TT0 1 Tf --26.805 -1.2 Td -(ttcompat)Tj -/T1_1 1 Tf -5.149 0 Td -[(module )-99(pr)18(ovides )-99(compatibility )-99(for )-99(older )-99(V7, )-99(4BSD, )-99(and )-99(Xenix)]TJ -/TT0 1 Tf -28.302 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.349 0 Td -(calls.)Tj --36.8 -1.2 Td -[(It\325s )-9(an )-9(optional )-9(module, )-9(but )-9(since )-9(it\325s )-9(automatically )-9(pushed )-9(for )-9(network )-9(logins, )-9(we )-9(push)]TJ -0 -1.2 TD -[(it onto the slave\325s str)18(eam.)]TJ -1.8 -1.2 Td -[(The )-65(r)18(eason )-65(why )-65(we )-65(might)]TJ -/T1_2 1 Tf -12.081 0 Td -(not)Tj -/T1_1 1 Tf -1.648 0 Td -[(need )-65(to )-65(push )-65(these )-65(thr)18(ee )-65(modules )-65(is )-65(that )-65(they )-65(might)]TJ --15.529 -1.2 Td -[(be )-117(ther)]TJ -0.3675 Tc 3.164 0 Td -(ea)Tj -0 Tc 1.346 0 Td -[(lr)18(eady)]TJ -0.6174 Tc 2.703 0 Td -(.T)Tj -0 Tc 1.48 0 Td -[(he )-117(STREAMS )-117(system )-117(supports )-117(a )-117(facility )-117(known )-117(as)]TJ -/T1_2 1 Tf -23.234 0 Td -(autopush)Tj -/T1_1 1 Tf -0.3674 Tc (,w)Tj -0 Tc 5.173 0 Td -(hich)Tj --37.101 -1.2 Td -[(allows )-225(an )-225(administrator )-225(to )-225(con\336gur)]TJ -0.4755 Tc 16.525 0 Td -(eal)Tj -0 Tc 2.221 0 Td -[(ist )-225(of )-225(modules )-225(to )-225(be )-225(pushed )-225(onto )-225(a )-225(str)14(eam)]TJ --18.746 -1.2 Td -[(whenever )-81(a )-81(particular )-81(device )-81(is )-81(opened )-81(\(see )-81(Rago)]TJ -22.755 0.04 Td -([)Tj -0.333 -0.04 Td -(1993)Tj -2 0.04 Td -(])Tj -0.664 -0.04 Td -[(for )-81(mor)]TJ -0.3308 Tc 3.411 0 Td -(ed)Tj -0 Tc 1.421 0 Td -[(etails\). )-331(W)]TJ -0.3308 Tc 4.383 0 Td -(eu)Tj -0 Tc 1.413 0 Td -[(se )-81(the)]TJ -/TT0 1 Tf --36.379 -1.2 Td -[(I_FIND )258(ioctl)]TJ -/T1_1 1 Tf -7.284 0 Td -[(command )-92(to )-92(see )-92(whether)]TJ -/TT0 1 Tf -11.749 0 Td -(ldterm)Tj -/T1_1 1 Tf -3.942 0 Td -[(is )-92(alr)18(eady )-92(pr)18(esent )-92(on )-92(the )-92(str)17(eam. )-342(If)]TJ --22.975 -1.2 Td -[(so, )-150(we )-150(assume )-150(that )-150(the )-150(str)18(eam )-150(has )-150(been )-150(con\336gur)18(ed )-150(by )-150(the )-150(autopush )-150(mechanism )-150(and)]TJ -T* -(avoid pushing the modules a second time.)Tj -1.8 -1.2 Td -[(Linux, )-20(Mac )-20(OS )-20(X, )-20(and )-20(Solaris )-20(follow )-20(the )-20(historical )-20(System )-20(V )-20(behavior: )-20(if )-20(the )-20(caller )-20(is)]TJ -0.4553 Tc -1.8 -1.2 Td -(as)Tj -0 Tc 1.379 0 Td -[(ession )-205(leader )-205(that )-205(does )-205(not )-205(alr)18(eady )-205(have )-205(a )-205(contr)18(olling )-205(terminal, )-205(the )-205(call )-205(to)]TJ -/TT0 1 Tf -35.221 0 Td -(open)Tj -/T1_1 1 Tf --36.6 -1.2 Td -[(allocates )-13(the )-13(PTY )-13(slave )-13(as )-13(the )-13(contr)16(olling )-13(terminal.)-513(If )-13(we )-13(didn\325t )-13(want )-13(this )-13(to )-13(happen, )-13(we)]TJ -T* -[(could )-4(specify )-4(the)]TJ -/TT0 1 Tf -7.772 0 Td -(O_NOCTTY)Tj -/T1_1 1 Tf -5.054 0 Td -[(\337ag )-4(for)]TJ -/TT0 1 Tf -3.446 0 Td -(open)Tj -/T1_1 1 Tf -0.5039 Tc (.H)Tj -0 Tc 3.986 0 Td -[(owever)74(,)-254(on)-254(F)]TJ --0.018 Tc (re)Tj -0 Tc 6.522 0 Td -[(eBSD, )-4(the)]TJ -/TT0 1 Tf -4.534 0 Td -(open)Tj -/T1_1 1 Tf -2.654 0 Td -[(of )-4(the )-4(slave)]TJ --33.967 -1.2 Td -[(PTY )-26(does )-26(not )-26(have )-26(the )-26(side )-26(ef)18(fect )-26(of )-26(allocating )-26(the )-26(device )-26(as )-26(the )-26(contr)18(olling )-26(terminal.)-523(In)]TJ -T* -[(the )-169(next )-169(section, )-169(we\325ll )-169(see )-169(how )-169(to )-169(allocate )-169(the )-169(contr)17(olling )-169(terminal )-169(when )-169(r)8(unning )-169(on)]TJ -T* -[(Fr)18(eeBSD.)]TJ -/TT1 1 Tf -11.9986 0 0 11.9986 93.5887 199.2751 Tm -(19.4)Tj -/TT2 1 Tf -3 0 Td -(pty_fork)Tj -/TT1 1 Tf -5.356 0 Td -(Function)Tj -/T1_1 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5843 175.278 Tm -[(We )-219(n)]TJ -0 Tc 2.254 0 Td -[(ow )-35(use )-35(the )-35(two )-35(functions )-35(fr)18(om )-35(the )-35(pr)16(evious )-35(section,)]TJ -/TT0 1 Tf -23.432 0 Td -(ptym_open)Tj -/T1_1 1 Tf -5.685 0 Td -(and)Tj -/TT0 1 Tf -1.978 0 Td -(ptys_open)Tj -/T1_1 1 Tf -(,)Tj --33.35 -1.2 Td -[(to )-267(write )-267(a )-267(new )-267(function )-267(that )-267(we )-267(call)]TJ -/TT0 1 Tf -18.012 0 Td -(pty_fork)Tj -/T1_1 1 Tf -0.7674 Tc (.T)Tj -0 Tc 6.43 0 Td -[(his )-267(new )-267(function )-267(combines )-267(the)]TJ --24.442 -1.2 Td -[(opening )-177(of )-177(the )-177(master )-177(and )-177(the )-177(slave )-177(with )-177(a )-177(call )-177(to)]TJ -/TT0 1 Tf -23.883 0 Td -(fork)Tj -/T1_1 1 Tf -0.4276 Tc (,e)Tj -0 Tc 3.557 0 Td -[(stablishing )-178(the )-178(child )-178(as )-178(a)]TJ --27.439 -1.2 Td -[(session leader with a contr)18(olling terminal.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46886 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(722)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pseudo )-250(T)92(erminals )]TJ -38.741 0 Td -[(Chapter)-500(19)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2166 4874 576 252 re -S -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 229.3982 503.2098 Tm -(terminal)Tj --0.929 -1.25 Td -(device driver)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2958 4874 576 252 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 303.9995 498.1802 Tm -(PTY master)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -3750 4874 576 252 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 386.1585 498.1503 Tm -(PTY slave)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2166 5342 576 252 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 230.3567 549.908 Tm -(terminal)Tj --1.225 -1.25 Td -(line discipline)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -3750 5342 576 252 re -S -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 388.6954 549.875 Tm -(terminal)Tj --1.225 -1.25 Td -(line discipline)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 4586.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 4656.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 4725.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 4795.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 4864.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 4934.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5004.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5074.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5144.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5214.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5283.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5353.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5422.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5492.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5562.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5632.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5702.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2093.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2164.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2235.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2305.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2377.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2447.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2519.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2589.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2660.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2731.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2802.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2873.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2944.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3015.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3086.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3156.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3228.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3299.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3370.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3441.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3511.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3583.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3653.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3725.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3795.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3866.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3937.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4008.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4079.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4150.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4292.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4362.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4434.25 5738.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5668.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5598.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5528.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5458.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5389.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5319.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5250.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5180.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5110.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5040.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 4970.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 4900.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 4831.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 4761.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 4692.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 4622.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4398.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4328.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4257.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4186.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4115.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4044.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3973.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3902.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3831.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3761.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3689.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3619.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3547.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3477.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3406.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3335.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3264.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3192.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3122.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3051.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2980.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2909.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2838.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2767.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2696.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2625.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2555.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2483.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2413.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2341.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2271.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2200.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2129.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2058.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 448.8384 514.2548 Tm -(kernel)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2238 5954 432 252 re -S -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 236.2368 610.9833 Tm -(login)Tj -0.1 -1.25 Td -(shell)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -3030 5954 432 252 re -S -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 317.2477 610.9467 Tm -(pty)Tj -/T1_1 1 Tf --0.748 -1.25 Td -[(pr)18(ocess)]TJ -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 324.6 642.2 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3246 6422 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 6206.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -3066 6422 360 216 re -S -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 312.4112 655.8857 Tm -(output)Tj -0.815 -1.25 Td -(\336le)Tj -ET -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 303 608 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 3030 6080 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 6080.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2754.25 6080.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2838.25 6080.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2922.25 6080.25 cm -0 0 m -36 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9952 0 0 7.9952 275.2348 610.8734 Tm -(fork)Tj -0 -1.25 TD -(exec)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -3822 5954 432 252 re -S -Q -BT -/TT0 1 Tf -7.9947 0 0 7.9947 386.7447 605.84 Tm -(slowout)Tj -ET -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 382.2 608 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 3822 6080 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3462.25 6080.25 cm -0 0 m -288 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9942 0 0 7.9942 354.3448 610.8001 Tm -(fork)Tj -T* -(exec)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 235.824 512.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 2358.24 5126 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2358.25 5342.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 254.976 534.2 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 2549.76 5342 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2550.25 5270.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 394.224 512.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 3942.24 5126 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3942.25 5342.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 413.376 534.2 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 4133.7598 5342 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4134.25 5270.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 238.2 559.4 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 2382 5594 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5954.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 252.6 595.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 2526 5954 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2526.25 5882.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 396.6 559.4 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 3966 5594 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3966.25 5954.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 411 595.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 4110 5954 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5882.25 cm -0 0 m -0 -288 l -S -Q -Q -BT -/T1_2 1 Tf -7.9904 0 0 7.9904 372.1132 587.4946 Tm -(stdout)Tj -0.166 -1.25 Td -(stderr)Tj -5.089 1.25 Td -(stdin)Tj -ET -q -0.9988007 0 0 0.9988007 0 0 cm -q 1 0 0 1 317.4 512.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -1 j 1 J -q 1 0 0 1 3174 5126 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3174.25 5954.25 cm -0 0 m -0 -756 l -S -Q -Q -q -0.9987408 0 0 0.9987408 0 0 cm -q 1 0 0 1 331.8 595.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -1 j 1 J -q 1 0 0 1 3318 5954 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3318.25 5882.25 cm -0 0 m -0 -756 l -S -Q -Q -q -0.9986808 0 0 0.9986808 0 0 cm -q 1 0 0 1 394.224 473 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -1 j 1 J -q 1 0 0 1 3942.24 4730 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3942.25 4874.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9986209 0 0 0.9986209 0 0 cm -q 1 0 0 1 334.176 487.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -1 j 1 J -q 1 0 0 1 3341.76 4874 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3342.25 4802.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.998561 0 0 0.998561 0 0 cm -q 1 0 0 1 334.176 473 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -1 j 1 J -q 1 0 0 1 3341.76 4730 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3942.25 4730.25 cm -0 0 m --528 0 l -S -Q -Q -q -0.9985011 0 0 0.9985011 0 0 cm -q 1 0 0 1 413.376 487.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -1 j 1 J -q 1 0 0 1 4133.7598 4874 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4134.25 4802.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9984412 0 0 0.9984412 0 0 cm -q 1 0 0 1 315.024 465.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -1 j 1 J -q 1 0 0 1 3150.24 4658 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3150.25 4874.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9983813 0 0 0.9983813 0 0 cm -q 1 0 0 1 413.376 465.8 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -1 j 1 J -q 1 0 0 1 4133.7598 4658 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3150.25 4658.25 cm -0 0 m -912 0 l -S -Q -Q -q -0.9983214 0 0 0.9983214 0 0 cm -q 1 0 0 1 245.4 487.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -1 j 1 J -q 1 0 0 1 2454 4874 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9982615 0 0 0.9982615 0 0 cm -q 1 0 0 1 245.4 437 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -1 j 1 J -q 1 0 0 1 2454 4370 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2454.25 4802.25 cm -0 0 m -0 -360 l -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670 4244 cm -0 0 m -0 -69.59 -96.71 -126 -216 -126 c --335.29 -126 -432 -69.59 -432 0 c --432 69.59 -335.29 126 -216 126 c --96.71 126 0 69.59 0 0 c -h -S -Q -Q -BT -/T1_1 1 Tf -7.9856 0 0 7.9856 230.0775 426.8709 Tm -(user at a)Tj --0.01 -1.25 Td -(terminal)Tj -/T1_0 1 Tf --3.719 -3.43 Td -(Figure 19.7)Tj -/T1_1 1 Tf -5.695 -0 Td -[(Running a slow output pr)18(ogram using a pseudo terminal)]TJ -/TT1 1 Tf -11.9784 0 0 11.9784 93.4318 355.9585 Tm -[(19.3 )-776(Opening)-556(Pseudo-T)60(erminal )-278(De)15(vices)]TJ -/T1_1 1 Tf -9.982 0 0 9.982 129.3672 335.5952 Tm -[(PTYs )-71(act )-71(like )-71(physical )-71(terminal )-71(devices )-71(so )-71(that )-71(applications )-71(ar)]TJ -0.3207 Tc 27.789 0 Td -(eu)Tj -0 Tc 1.403 0 Td -[(nawar)18(e)-321(of)-321(w)1(hich )-71(type)]TJ --29.192 -1.2 Td -[(of )-31(device )-31(they )-31(ar)]TJ -0.2806 Tc 7.41 0 Td -(eu)Tj -0 Tc 1.363 0 Td -[(sing. )-281(However)]TJ -0.2806 Tc 6.69 0 Td -(,a)Tj -0 Tc 1.031 0 Td -[(pplications )-31(don\325t )-31(need )-31(to )-31(set )-31(the)]TJ -/TT0 1 Tf -14.563 0 Td -(O_TTY_INIT)Tj -/T1_1 1 Tf -6.281 0 Td -(\337ag)Tj --37.336 -1.2 Td -[(when )-164(opening )-164(PTY )-164(device )-164(\336les.)-663(The )-164(Single )-164(UNIX )-164(Speci\336cation )-164(alr)18(eady )-164(r)20(equir)18(es )-164(that)]TJ -0 -1.2 TD -[(implementations )-52(initialize )-52(the )-52(slave )-52(side )-52(of )-52(a )-52(PTY )-52(device )-52(when )-52(it )-52(is )-52(\336rst )-52(opened )-52(so )-52(that)]TJ -T* -[(any )-117(nonstandar)18(d)]TJ -/TT0 1 Tf -8.013 0 Td -(termios)Tj -/T1_1 1 Tf -4.567 0 Td -[(\337ags )-117(needed )-117(for )-117(the )-117(device )-117(to )-117(operate )-117(as )-117(expected )-117(ar)]TJ -0.3669 Tc 24.095 0 Td -(es)Tj -0 Tc 1.27 0 Td -(et.)Tj --37.945 -1.2 Td -[(This )-71(r)18(equir)18(ement )-71(is )-71(intended )-71(to )-71(allow )-71(the )-71(PTY )-71(device )-71(to )-71(operate )-71(pr)17(operly )-71(with )-71(POSIX-)]TJ --0 -1.2 Td -(conforming applications that call)Tj -/TT0 1 Tf -14.815 0 Td -(tcgetattr)Tj -/T1_1 1 Tf -5.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(tcsetattr)Tj -/T1_1 1 Tf -(.)Tj --20.608 -1.2 Td -[(The )-345(way )-345(we )-345(open )-345(a )-345(PTY )-345(device )-345(dif)19(fers )-345(among )-345(platforms.)-845(The )-345(Single )-345(UNIX)]TJ --1.8 -1.2 Td -[(Speci\336cation )-58(includes )-58(several )-58(functions )-58(as )-58(part )-58(of )-58(the )-58(XSI )-58(option )-58(in )-58(an )-58(attempt )-58(to )-58(unify)]TJ -T* -[(the )-315(methods.)-815(These )-315(extensions )-315(ar)]TJ -0.565 Tc 16.101 0 Td -(eb)Tj -0 Tc 1.597 0 Td -[(ased )-315(on )-315(the )-315(functions )-315(originally )-315(pr)18(ovided )-315(to)]TJ --17.698 -1.2 Td -[(manage )-43(STREAMS)]TJ -8.459 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-43(PTYs )-43(in )-43(System )-43(V )-43(Release )-43(4.)-542(The)]TJ -/TT0 1 Tf -18 0 Td -(posix_openpt)Tj -/T1_1 1 Tf -7.493 0 Td -[(function )-43(is)]TJ --34.285 -1.2 Td -[(pr)18(ovided as a portable way to open an available PTY master device.)]TJ -/TT0 1 Tf -8.9838 0 0 8.9838 147.3351 188.3604 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(int posix_openpt\(int)Tj -/T1_2 1 Tf -12.6 0 Td -(o\337ag)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --4.279 -1.783 Td -(Returns: \336le descriptor of next available PTY master if OK,)Tj -/TT2 1 Tf -26.143 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.0998202 0 0 0.0998202 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1414.25 cm -0 0 m -0 563 l -3900 563 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46887 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(19)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Pseudo )-280(T)49(er )265(minals)]TJ -/TT0 1 Tf -12 0 0 12 93.6 410.4 Tm -[(19.1 )-776(Intr)20(oduction)]TJ -/T1_2 1 Tf -10 0 0 10 129.6 386.4 Tm -[(In )-391(Chapter )-391(9, )-391(we )-391(saw )-391(that )-391(terminal )-391(logins )-391(come )-391(in )-391(thr)18(ough )-391(a )-391(terminal )-391(device,)]TJ -0 -1.2 TD -[(automatically )-214(pr)18(oviding )-214(terminal )-214(semantics.)]TJ -0.4636 Tc 20.931 0 Td -(At)Tj -0 Tc 1.568 0 Td -[(erminal )-213(line )-213(discipline )-213(\(Figur)]TJ -0.4635 Tc 13.476 0 Td -(e1)Tj -0 Tc 1.442 0 Td -(8.2\))Tj --37.417 -1.2 Td -[(exists )-55(between )-55(the )-55(terminal )-55(and )-55(the )-55(pr)18(ograms )-55(that )-55(we )-55(r)8(un, )-55(so )-55(we )-55(can )-55(set )-55(the )-55(terminal\325s)]TJ -T* -[(special )-209(characters )-209(\(e.g., )-209(backspace, )-209(line )-209(erase, )-209(interr)8(upt\) )-209(and )-209(the )-209(like.)-709(When )-209(a )-209(login)]TJ -T* -[(arrives )-5(on )-5(a )-5(network )-5(connection, )-5(however)]TJ -0.2547 Tc 18.546 0 Td -(,at)Tj -0 Tc 1.585 0 Td -[(erminal )-5(line )-5(discipline )-5(is )-5(not )-5(automatically)]TJ --20.131 -1.2 Td -[(pr)18(ovided )-210(between )-210(the )-210(incoming )-210(network )-210(connection )-210(and )-210(the )-210(login )-210(shell.)-710(Figur)]TJ -0.46 Tc 36.811 0 Td -(e9)Tj -0 Tc 1.439 0 Td -(.5)Tj --38.25 -1.2 Td -(showed that a)Tj -/T1_3 1 Tf -6.46 0 Td -(pseudo terminal)Tj -/T1_2 1 Tf -6.723 0 Td -[(device driver is used to pr)18(ovide terminal semantics.)]TJ --11.383 -1.2 Td -[(In )-55(addition )-55(to )-55(network )-55(logins, )-55(pseudo )-55(terminals )-55(have )-55(other )-55(uses )-55(that )-55(we )-55(explor)]TJ -0.305 Tc 35.543 0 Td -(ei)Tj -0 Tc 1.075 0 Td -(n)Tj --38.418 -1.2 Td -[(this )-37(chapter)]TJ -0.537 Tc 5.163 0 Td -(.W)Tj -0.287 Tc 1.695 0 Td -(es)Tj -0 Tc 1.19 0 Td -[(tart )-37(with )-37(an )-37(overview )-37(on )-37(how )-37(to )-37(use )-37(pseudo )-37(terminals, )-37(followed )-37(by )-37(a)]TJ --8.048 -1.2 Td -[(discussion )-78(of )-78(speci\336c )-78(use )-78(cases.)-579(Next )-78(we )-78(pr)18(ovide )-78(functions )-78(to )-78(cr)18(eate )-78(pseudo )-78(terminals)]TJ -T* -[(on )-81(various )-81(platforms, )-81(and )-81(then )-81(we )-81(use )-81(these )-81(functions )-81(to )-81(write )-81(a )-81(pr)14(ogram )-81(that )-81(we )-81(call)]TJ -/TT1 1 Tf -T* -(pty)Tj -/T1_2 1 Tf -0.5812 Tc (.W)Tj -0 Tc 3.539 0 Td -[(e\325ll )-81(show )-81(various )-81(uses )-81(of )-81(this )-81(pr)18(ogram: )-81(making )-81(a )-81(transcript )-81(of )-81(all )-81(the )-81(character)]TJ --3.539 -1.2 Td -[(input )-52(and )-52(output )-52(on )-52(the )-52(terminal )-52(\(the)]TJ -/TT1 1 Tf -17.197 0 Td -(script)Tj -/T1_2 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.635 -0.04 Td -[(pr)18(ogram\) )-52(and )-52(r)8(unning )-52(copr)18(ocesses )-52(to)]TJ --22.265 -1.2 Td -[(avoid the buf)18(fering pr)18(oblems we encounter)18(ed in the pr)18(ogram fr)18(om Figur)]TJ -0.25 Tc 32.122 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.19.)Tj -/TT0 1 Tf -12 0 0 12 93.6001 194.4 Tm -[(19.2 )-776(Over)-10(vie)15(w)]TJ -/T1_2 1 Tf -10 0 0 10 129.6001 170.4 Tm -[(The )-46(term)]TJ -/T1_3 1 Tf -4.349 0 Td -[(pseudo )-46(terminal)]TJ -/T1_2 1 Tf -6.815 0 Td -[(implies )-46(that )-46(it )-46(looks )-46(like )-46(a )-46(terminal )-46(to )-46(an )-46(application )-46(pr)16(ogram,)]TJ --11.165 -1.2 Td -[(but )-64(it\325s )-64(not )-64(a )-64(r)19(eal )-64(terminal.)-563(Figur)]TJ -0.3137 Tc 14.915 0 Td -(e1)Tj -0 Tc 1.293 0 Td -[(9.1 )-64(shows )-64(the )-64(typical )-64(arrangement )-64(of )-64(the )-64(pr)20(ocesses)]TJ --16.207 -1.2 Td -[(involved )-110(when )-110(a )-110(pseudo )-110(terminal )-110(is )-110(being )-110(used.)-607(The )-110(key )-110(points )-110(in )-110(this )-110(\336gur)]TJ -0.3597 Tc 35.058 0 Td -(ea)Tj --0.018 Tc 1.339 0 Td -[(re )-146(t)]TJ -0 Tc 1.542 0 Td -(he)Tj --37.939 -1.2 Td -(following.)Tj -/T1_4 1 Tf -9 0 0 9 506.1005 114 Tm -(715)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46888 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Chapter )-250(18)]TJ -39.788 0 Td -[(Exer)18(cises)]TJ -/T1_1 1 Tf -6.045 0 Td -(713)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(to )-114(perform )-114(typical )-114(operations )-114(\(clear )-114(the )-114(scr)18(een, )-114(move )-114(the )-114(cursor\) )-114(on )-114(a )-114(wide )-114(variety )-114(of)]TJ -0 -1.2 TD -[(terminals. )-370(On)-371(the )-120(other )-120(hand,)]TJ -/TT0 1 Tf -14.131 0 Td -(curses)Tj -/T1_0 1 Tf -3.97 0 Td -[(does )-120(help )-120(with )-120(some )-120(of )-120(the )-120(details )-120(that )-120(we\325ve)]TJ --18.101 -1.2 Td -[(addr)18(essed )-204(in )-204(this )-204(chapter)]TJ -0.7044 Tc 11.628 0 Td -(.F)Tj -0 Tc 1.51 0 Td -[(unctions )-204(ar)]TJ -0.4544 Tc 5.129 0 Td -(ep)Tj --0.018 Tc 1.534 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vided )-204(by)]TJ -/TT0 1 Tf -4.575 0 Td -(curses)Tj -/T1_0 1 Tf -4.054 0 Td -[(to )-204(set )-204(raw )-204(mode, )-204(set)]TJ --29.355 -1.2 Td -[(cbr)18(eak )-237(mode, )-237(turn )-237(echo )-237(on )-237(and )-237(of)18(f, )-237(and )-237(the )-237(like.)-736(Note )-237(that )-237(the)]TJ -/TT0 1 Tf -30.73 0 Td -(curses)Tj -/T1_0 1 Tf -4.087 0 Td -[(library )-237(is)]TJ --34.817 -1.2 Td -[(designed )-231(for )-231(character)18(-based )-231(dumb )-231(terminals, )-231(which )-231(have )-231(mostly )-231(been )-231(r)18(eplaced )-231(by)]TJ -T* -[(pixel-based graphics terminals today)111(.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5942 572.9656 Tm -[(18.14 )-220(Summar)-10(y)]TJ -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.592 548.9671 Tm -(Te)Tj -0 Tc 1 0 Td -[(rminals )-80(have )-80(many )-80(featur)18(es )-80(and )-80(options, )-80(most )-80(of )-80(which )-80(we\325r)]TJ -0.3297 Tc 27.518 0 Td -(ea)Tj -0 Tc 1.309 0 Td -[(ble )-80(to )-80(change )-80(to )-80(suit)]TJ --29.827 -1.2 Td -[(our )-107(needs.)-607(In )-107(this )-107(chapter)74(,)-357(we)-357(described )-107(numer)18(ous )-107(functions )-107(that )-107(change )-107(a )-107(terminal\325s)]TJ --0 -1.2 Td -[(operation )167(\321 )167(namely)]TJ -0.2975 Tc 8.613 0 Td -(,s)Tj -0 Tc 0.971 0 Td -[(pecial )-47(input )-47(characters )-47(and )-47(the )-47(option )-47(\337ags.)]TJ --0.092 Tc 20.14 0 Td -[(We )-232(a)]TJ -0 Tc 2.185 0 Td -[(lso )-48(looked )-48(at )-48(all)]TJ --31.909 -1.2 Td -[(the )-224(terminal )-224(special )-224(characters )-224(and )-224(the )-224(many )-224(options )-224(that )-224(can )-224(be )-224(set )-224(or )-224(r)18(eset )-224(for )-224(a)]TJ -T* -(terminal device.)Tj -1.8 -1.2 Td -(Ther)Tj -0.8165 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.796 0 Td -[(re )-603(t)]TJ -0 Tc 1.999 0 Td -[(wo )-567(modes )-567(of )-567(terminal )-567(input)]TJ -0.0833 Tc 14.702 0 Td -(\321c)Tj -0 Tc 1.527 0 Td -[(anonical )-567(\(line )-567(at )-567(a )-567(time\) )-567(and)]TJ --23.874 -1.2 Td -[(noncanonical. )-375(W)]TJ -0.3748 Tc 7.673 0 Td -(es)Tj -0 Tc 1.278 0 Td -[(howed )-125(examples )-125(of )-125(both )-125(modes )-125(and )-125(pr)18(ovided )-125(functions )-125(that )-125(map)]TJ --8.951 -1.2 Td -[(between )-110(the )-110(POSIX.1 )-110(terminal )-110(options )-110(and )-110(the )-110(older )-110(BSD )-110(cbr)18(eak )-110(and )-110(raw )-110(modes.)]TJ --0.092 Tc 37.613 0 Td -(We)Tj -0 Tc -37.613 -1.2 Td -(also described how to fetch and change the window size of a terminal.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 129.5915 410.9753 Tm -[(Ex)10(er)20(cises)]TJ -/T1_1 1 Tf -8.9995 0 0 8.9995 129.5915 389.9766 Tm -(18.1)Tj -/T1_0 1 Tf --0.074 Tc 3.065 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-26(a )-26(pr)18(ogram )-26(that )-26(calls)]TJ -/TT0 1 Tf -10.519 0 Td -(tty_raw)Tj -/T1_0 1 Tf -4.476 0 Td -[(and )-26(terminates )-26(\(without )-26(r)17(esetting )-26(the )-26(terminal )-26(mode\).)]TJ --16.316 -1.222 Td -[(If )-2(your )-2(system )-2(pr)17(ovides )-2(the)]TJ -/TT0 1 Tf -12.404 0 Td -(reset)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.585 -0.04 Td -[(command )-2(\(all )-2(four )-2(systems )-2(described )-2(in )-2(this )-2(text )-2(do\),)]TJ --16.823 -1.222 Td -[(use it to r)18(estor)]TJ -0.25 Tc 6.274 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he terminal mode.)Tj -/T1_1 1 Tf --10.394 -1.667 Td -(18.2)Tj -/T1_0 1 Tf -3.065 0 Td -(The)Tj -/TT0 1 Tf -2.019 0 Td -(PARODD)Tj -/T1_0 1 Tf -3.945 0 Td -[(\337ag )-95(in )-95(the)]TJ -/TT0 1 Tf -4.958 0 Td -(c_cflag)Tj -/T1_0 1 Tf -4.545 0 Td -[(\336eld )-95(allows )-95(us )-95(to )-95(specify )-95(even )-95(or )-95(odd )-95(parity)]TJ -0.5947 Tc 20.028 0 Td -(.T)Tj -0 Tc 1.458 0 Td -[(he )-95(BSD)]TJ -/TT0 1 Tf --36.953 -1.222 Td -(tip)Tj -/T1_0 1 Tf -2.05 0 Td -[(pr)18(ogram, however)]TJ -0.25 Tc 8.164 0 Td -(,a)Tj -0 Tc 1 0 Td -[(lso allows the parity bit to be 0 or 1.)-500(How does it do this?)]TJ -/T1_1 1 Tf --14.279 -1.667 Td -(18.3)Tj -/T1_0 1 Tf -3.065 0 Td -[(If )-106(your )-106(system\325s)]TJ -/TT0 1 Tf -7.633 0 Td -(stty)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.689 -0.04 Td -[(command )-106(outputs )-106(the )-106(MIN )-106(and )-106(TIME )-106(values, )-106(do )-106(the )-106(following)]TJ --11.555 -1.222 Td -[(exer)18(cise. )-299(Log)-300(in )-49(to )-49(the )-49(system )-49(twice )-49(and )-49(start )-49(the)]TJ -/TT0 1 Tf -22.345 0 Td -(vi)Tj -/T1_0 1 Tf -1.499 0 Td -[(editor )-49(fr)18(om )-49(one )-49(login.)-549(Use )-49(the)]TJ -/TT0 1 Tf -14.024 0 Td -(stty)Tj -/T1_0 1 Tf --37.869 -1.222 Td -[(command )-175(fr)18(om )-175(your )-175(other )-175(login )-175(to )-175(determine )-175(which )-175(values)]TJ -/TT0 1 Tf -28.102 0 Td -(vi)Tj -/T1_0 1 Tf -1.625 0 Td -[(sets )-175(MIN )-175(and )-175(TIME )-175(to)]TJ --29.728 -1.222 Td -(\(since)Tj -/TT0 1 Tf -3.041 0 Td -(vi)Tj -/T1_0 1 Tf -1.688 0 Td -[(sets )-238(the )-238(terminal )-238(to )-238(noncanonical )-238(mode\).)-737(\(If )-238(you )-238(ar)]TJ -0.4877 Tc 24.388 0 Td -(er)Tj -0 Tc 1.354 0 Td -[(unning )-238(a )-238(windowing)]TJ --30.47 -1.222 Td -[(system )-177(on )-177(your )-177(terminal, )-177(you )-177(can )-177(do )-177(this )-177(same )-177(test )-177(by )-177(logging )-177(in )-177(once )-177(and )-177(using )-177(two)]TJ -0 -1.222 TD -(separate windows instead.\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46889 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(712)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Running the pr)18(ogram in Figur)]TJ -0.25 Tc 13.365 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(8.22 on a windowed terminal gives us)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 652.2609 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(35 rows, 80 columns)Tj -/T1_2 1 Tf -16 0 Td -(initial size)Tj -/TT0 1 Tf --16 -1.189 Td -(SIGWINCH received)Tj -/T1_2 1 Tf -16 0 Td -(change window size: signal is caught)Tj -/TT0 1 Tf --16 -1.189 Td -(40 rows, 123 columns)Tj -0 -1.189 TD -(SIGWINCH received)Tj -/T1_2 1 Tf -16 0 Td -(and again)Tj -/TT0 1 Tf --16 -1.189 Td -(42 rows, 33 columns)Tj -/TT1 1 Tf -T* -(\366C)Tj -/TT0 1 Tf -1.8 0 Td -($)Tj -/T1_2 1 Tf -14.2 0 Td -(type the interrupt key to terminate)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5821.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -11.9986 0 0 11.9986 93.5888 546.0345 Tm -(18.13)Tj -/TT1 1 Tf -3 0 Td -(termcap)Tj -/TT2 1 Tf -(,)Tj -/TT1 1 Tf -5.034 0 Td -(terminfo)Tj -/TT2 1 Tf -0.556 Tc (,a)Tj -0 Tc 6.19 0 Td -(nd)Tj -/TT1 1 Tf -1.778 0 Td -(curses)Tj -/TT0 1 Tf -9.9988 0 0 9.9988 129.5842 522.0373 Tm -(termcap)Tj -/T1_1 1 Tf -4.542 0 Td -[(stands )-92(for )-92(\324)37(\324terminal )-92(capability)111(,\325)]TJ -0.342 Tc 14.166 0 Td -(\325a)Tj -0 Tc 1.12 0 Td -[(nd )-92(it )-92(r)18(efers )-92(to )-92(the )-92(text )-92(\336le)]TJ -/TT0 1 Tf -11.972 0 Td -(/etc/termcap)Tj -/T1_1 1 Tf --31.8 -1.2 Td -[(and )-164(a )-164(set )-164(of )-164(r)18(outines )-164(used )-164(to )-164(r)18(ead )-164(this )-164(\336le.)-661(The)]TJ -/TT0 1 Tf -22.608 0 Td -(termcap)Tj -/T1_1 1 Tf -4.614 0 Td -[(scheme )-164(was )-164(developed )-164(at)]TJ --27.222 -1.2 Td -[(Berkeley )-130(to )-130(support )-130(the)]TJ -/TT0 1 Tf -11.123 0 Td -(vi)Tj -/T1_1 1 Tf -1.58 0 Td -(editor)Tj -0.6303 Tc 2.574 0 Td -(.T)Tj -0 Tc 1.493 0 Td -(he)Tj -/TT0 1 Tf -1.441 0 Td -(termcap)Tj -/T1_1 1 Tf -4.58 0 Td -[(\336le )-130(contains )-130(descriptions )-130(of )-130(various)]TJ --22.792 -1.2 Td -[(terminals: )-339(which )-339(featur)18(es )-339(the )-339(terminal )-339(supports )-339(\(e.g., )-339(how )-339(many )-339(lines )-339(and )-339(r)18(ows,)]TJ -0 -1.2 TD -[(whether )-11(the )-11(terminal )-11(support )-11(backspace\) )-11(and )-11(how )-11(to )-11(make )-11(the )-11(terminal )-11(perform )-11(certain)]TJ -T* -[(operations )-224(\(e.g., )-224(clear )-224(the )-224(scr)18(een, )-224(move )-224(the )-224(cursor )-224(to )-224(a )-224(given )-224(location\).)]TJ --0.092 Tc 33.897 0 Td -(Ta)Tj -0 Tc 1.021 0 Td -[(king )-224(this)]TJ --34.918 -1.2 Td -[(information )-19(out )-19(of )-19(the )-19(compiled )-19(pr)18(ogram )-19(and )-19(placing )-19(it )-19(into )-19(a )-19(text )-19(\336le )-19(that )-19(can )-19(easily )-19(be)]TJ -T* -(edited allows the)Tj -/TT0 1 Tf -7.82 0 Td -(vi)Tj -/T1_1 1 Tf -1.45 0 Td -[(editor to r)8(un on many dif)18(fer)18(ent terminals.)]TJ --7.47 -1.2 Td -[(The )-88(r)18(outines )-89(that )-89(support )-89(the)]TJ -/TT0 1 Tf -13.612 0 Td -(termcap)Tj -/T1_1 1 Tf -4.539 0 Td -[(\336le )-89(wer)]TJ -0.3386 Tc 3.404 0 Td -(ee)Tj -0 Tc 1.297 0 Td -[(ventually )-89(extracted )-89(fr)18(om )-89(the)]TJ -/TT0 1 Tf -13.149 0 Td -(vi)Tj -/T1_1 1 Tf --37.8 -1.2 Td -[(editor )-91(and )-91(placed )-91(into )-91(a )-91(separate)]TJ -/TT0 1 Tf -15.264 0 Td -(curses)Tj -/T1_1 1 Tf -3.941 0 Td -(library)Tj -0.5914 Tc 2.87 0 Td -(.M)Tj -0 Tc 1.787 0 Td -[(any )-91(featur)18(es )-91(wer)]TJ -0.3414 Tc 7.532 0 Td -(ea)Tj -0 Tc 1.32 0 Td -[(dded )-91(to )-91(make)]TJ --32.715 -1.2 Td -[(this library usable for any pr)18(ogram that wanted to manipulate the scr)18(een.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -1.964 0 Td -(termcap)Tj -/T1_1 1 Tf -4.491 0 Td -[(scheme )-40(was )-40(not )-40(perfect.)-540(As )-40(mor)]TJ -0.2905 Tc 14.52 0 Td -(ea)Tj -0 Tc 1.27 0 Td -[(nd )-41(mor)]TJ -0.2906 Tc 3.29 0 Td -(et)Tj -0 Tc 1.096 0 Td -[(erminals )-41(wer)]TJ -0.2906 Tc 5.826 0 Td -(ea)Tj -0 Tc 1.27 0 Td -[(dded )-41(to)]TJ --35.525 -1.2 Td -[(the )-51(data )-51(\336le, )-51(it )-51(took )-51(longer )-51(to )-51(scan )-51(the )-51(\336le, )-51(looking )-51(for )-51(a )-51(speci\336c )-51(terminal.)-551(The )-51(data )-51(\336le)]TJ -T* -[(also )-355(used )-355(two-character )-355(names )-355(to )-355(identify )-355(the )-355(various )-355(terminal )-355(attributes.)-856(These)]TJ -T* -[(de\336ciencies )-163(led )-163(to )-163(development )-163(of )-163(the)]TJ -/TT0 1 Tf -17.967 0 Td -(terminfo)Tj -/T1_1 1 Tf -5.213 0 Td -[(scheme )-163(and )-163(its )-163(associated)]TJ -/TT0 1 Tf -12.221 0 Td -(curses)Tj -/T1_1 1 Tf --35.4 -1.2 Td -(library)Tj -0.6759 Tc 2.87 0 Td -(.T)Tj -0 Tc 1.539 0 Td -[(he )-176(terminal )-176(descriptions )-176(in)]TJ -/TT0 1 Tf -12.799 0 Td -(terminfo)Tj -/T1_1 1 Tf -5.226 0 Td -(ar)Tj -0.4259 Tc 0.877 0 Td -(eb)Tj -0 Tc 1.458 0 Td -[(asically )-176(compiled )-176(versions )-176(of )-176(a)]TJ --24.768 -1.2 Td -[(textual )-223(description )-223(and )-223(can )-223(be )-223(located )-223(faster )-223(at )-223(r)6(untime.)]TJ -/TT0 1 Tf -27.073 0 Td -(terminfo)Tj -/T1_1 1 Tf -5.273 0 Td -[(appear)18(ed )-223(with)]TJ --32.346 -1.2 Td -[(SVR2 and has been included in all System V r)18(eleases since then.)]TJ -7.999 0 0 7.999 183.5771 298.0642 Tm -(Historically)Tj -0.6676 Tc 5.076 0 Td -(,S)Tj -0 Tc 1.443 0 Td -[(ystem )-418(V\320based )-418(systems )-418(used)]TJ -/TT0 1 Tf -14.761 0 Td -(terminfo)Tj -/T1_1 1 Tf -0.6676 Tc (,a)Tj -0 Tc 6.218 0 Td -[(nd )-418(BSD-derived )-418(systems )-418(used)]TJ -/TT0 1 Tf --27.497 -1.25 Td -(termcap)Tj -/T1_1 1 Tf -0.3439 Tc (,b)Tj -0 Tc 5.347 0 Td -[(ut )-94(it )-94(is )-94(now )-94(common )-94(for )-94(systems )-94(to )-94(pr)19(ovide )-94(both.)-594(Mac )-94(OS )-94(X, )-94(however)]TJ -0.3438 Tc 32.14 0 Td -(,s)Tj -0 Tc 1.018 0 Td -(upports)Tj --38.505 -1.25 Td -(only)Tj -/TT0 1 Tf -2.225 0 Td -(terminfo)Tj -/T1_1 1 Tf -(.)Tj -0.3602 Tc 9.9988 0 0 9.9988 129.5825 257.0691 Tm -(Ad)Tj -0 Tc 1.749 0 Td -[(escription )-110(of)]TJ -/TT0 1 Tf -5.978 0 Td -(terminfo)Tj -/T1_1 1 Tf -5.16 0 Td -[(and )-110(the)]TJ -/TT0 1 Tf -3.8 0 Td -(curses)Tj -/T1_1 1 Tf -3.96 0 Td -[(library )-110(is )-110(pr)18(ovided )-110(by )-110(Goodheart)]TJ -15.435 0.04 Td -([)Tj -0.333 -0.04 Td -(1991)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -(,)Tj --38.75 -1.2 Td -[(but )-95(this )-95(book )-95(is )-95(curr)17(ently )-95(out )-95(of )-95(print.)-596(Strang)]TJ -21.114 0.04 Td -([)Tj -0.333 -0.04 Td -(1986)Tj -2 0.04 Td -(])Tj -0.678 -0.04 Td -[(describes )-95(the )-95(Berkeley )-95(version )-95(of)]TJ --24.125 -1.2 Td -(the)Tj -/TT0 1 Tf -1.669 0 Td -(curses)Tj -/T1_1 1 Tf -3.882 0 Td -(library)Tj -0.5317 Tc 2.87 0 Td -(.S)Tj -0 Tc 1.307 0 Td -[(trang, )-32(Mui, )-32(and )-32(O\325Reilly)]TJ -11.159 0.04 Td -([)Tj -0.333 -0.04 Td -(1988)Tj -2 0.04 Td -(])Tj -0.615 -0.04 Td -[(pr)18(ovide )-32(a )-32(description )-32(of)]TJ -/TT0 1 Tf -10.966 0 Td -(termcap)Tj -/T1_1 1 Tf --34.8 -1.2 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(terminfo)Tj -/T1_1 1 Tf -(.)Tj -7.999 0 0 7.999 183.5764 201.0759 Tm -(The)Tj -/TT0 1 Tf -1.949 0 Td -(ncurses)Tj -/T1_1 1 Tf -4.475 0 Td -(library)Tj -0.2748 Tc 2.87 0 Td -(,af)Tj --0.018 Tc 1.633 0 Td -(re)Tj -0.2748 Tc 0.856 0 Td -(ev)Tj -0 Tc 1.319 0 Td -[(ersion )-25(that )-25(is )-25(compatible )-25(with )-25(the )-25(SVR4)]TJ -/TT0 1 Tf -17.838 0 Td -(curses)Tj -/T1_1 1 Tf -3.875 0 Td -[(interface, )-25(can )-25(be)]TJ --34.814 -1.25 Td -[(found )-453(at)]TJ -/TT0 1 Tf -4.907 0 Td -(http://invisible-island.net/ncurses/ncurses.html)Tj -/T1_1 1 Tf -0.9529 Tc (.I)Tj -0.7029 Tc 30.34 0 Td -(tc)Tj -0 Tc 1.473 0 Td -[(an )-453(also )-453(be)]TJ --36.719 -1.25 Td -(found at)Tj -/TT0 1 Tf -4.001 0 Td -(http://www.gnu.org/software/ncurses)Tj -/T1_1 1 Tf -(.)Tj -9.9988 0 0 9.9988 147.5807 160.0808 Tm -(Neither)Tj -/TT0 1 Tf -3.877 0 Td -(termcap)Tj -/T1_1 1 Tf -4.694 0 Td -(nor)Tj -/TT0 1 Tf -2.017 0 Td -(terminfo)Tj -/T1_1 1 Tf -[(,)-494(by)-494(i)-1(tself, )-244(addr)18(esses )-244(the )-244(pr)18(oblems )-244(we\325ve )-244(been)]TJ --12.389 -1.2 Td -[(looking )-82(at )-82(in )-82(this )-82(chapter: )-82(changing )-82(the )-82(terminal\325s )-82(mode, )-82(changing )-82(one )-82(of )-82(the )-82(terminal)]TJ -T* -[(special )-6(characters, )-6(handling )-6(the )-6(window )-6(size, )-6(and )-6(so )-6(on.)-502(What )-5(they )-5(do )-5(pr)18(ovide )-5(is )-5(a )-5(way)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46890 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(710)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Running )-180(the )-180(pr)18(ogram )-180(in )-180(Figur)]TJ -0.4304 Tc 14.087 0 Td -(e1)Tj -0 Tc 1.409 0 Td -[(8.21, )-180(we )-180(can )-180(see )-180(what )-180(happens )-180(with )-180(these )-180(two)]TJ --17.296 -1.2 Td -(terminal modes:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 640.2616 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(Enter raw mode characters, terminate with DELETE)Tj -28.8 -1.189 Td -(4)Tj -0.6 -1.189 Td -(33)Tj -1.2 -1.189 Td -(133)Tj -1.8 -1.189 Td -(61)Tj -1.2 -1.189 Td -(70)Tj -1.2 -1.189 Td -(176)Tj -/T1_2 1 Tf --18.8 -1.189 Td -(type DELETE)Tj -/TT0 1 Tf --16 -1.189 Td -(Enter cbreak mode characters, terminate with SIGINT)Tj -0 -1.189 TD -(1)Tj -/T1_2 1 Tf -16 0 Td -[(type Contr)18(ol-A)]TJ -/TT0 1 Tf --16 -1.189 Td -(10)Tj -/T1_2 1 Tf -16 0 Td -(type backspace)Tj -/TT0 1 Tf --16 -1.189 Td -(signal caught)Tj -/T1_2 1 Tf -16 0 Td -(type interrupt key)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5923 488.5207 Tm -[(In )-107(raw )-107(mode, )-107(the )-107(characters )-107(enter)16(ed )-107(wer)]TJ -0.3575 Tc 18.46 0 Td -(eC)Tj -0 Tc 1.546 0 Td -[(ontr)18(ol)]TJ -2.668 0.09 Td -(-)Tj -0.333 -0.09 Td -(D)Tj -1.131 0.04 Td -(\()Tj -0.333 -0.04 Td -(04)Tj -1 0.04 Td -(\))Tj -0.691 -0.04 Td -[(and )-107(the )-107(special )-107(function )-107(key)]TJ --26.162 -1.2 Td -[(F7. )-272(On)-273(the )-22(terminal )-22(being )-22(used, )-22(this )-22(function )-22(key )-22(generated )-22(\336ve )-22(characters:)]TJ -/T1_2 1 Tf -33.872 0 Td -(ESC)Tj -/T1_1 1 Tf -2.106 0.04 Td -(\()Tj -0.333 -0.04 Td -(033)Tj -1.5 0.04 Td -(\))Tj -0.333 -0.04 Td -(,)Tj -/T1_2 1 Tf -0.522 0 Td -([)Tj -/T1_1 1 Tf --38.667 -1.16 Td -(\()Tj -0.333 -0.04 Td -(0133)Tj -2 0.04 Td -(\))Tj -0.333 -0.04 Td -(,)Tj -/T1_2 1 Tf -0.558 0 Td -(1)Tj -/T1_1 1 Tf -0.808 0.04 Td -(\()Tj -0.333 -0.04 Td -(061)Tj -1.5 0.04 Td -(\))Tj -0.333 -0.04 Td -(,)Tj -/T1_2 1 Tf -0.558 0 Td -(8)Tj -/T1_1 1 Tf -0.808 0.04 Td -(\()Tj -0.333 -0.04 Td -(070)Tj -1.5 0.04 Td -(\))Tj -0.3082 Tc 0.333 -0.04 Td -(,a)Tj -0 Tc 1.058 0 Td -(nd)Tj -/T1_2 1 Tf -1.501 0 Td -(\367)Tj -/T1_1 1 Tf -0.641 0.04 Td -(\()Tj -0.333 -0.04 Td -(0176)Tj -2 0.04 Td -(\))Tj -0.5582 Tc 0.333 -0.04 Td -(.N)Tj -0 Tc 1.639 0 Td -[(ote )-58(that )-58(with )-58(the )-58(output )-58(pr)18(ocessing )-58(turned )-58(of)]TJ -0.3083 Tc 20.249 0 Td -(fi)Tj -0 Tc 0.932 0 Td -(n)Tj --38.418 -1.2 Td -[(raw )-75(mode )-75(\()]TJ -/TT0 1 Tf -5.232 0 Td -(\367OPOST)Tj -/T1_1 1 Tf -[(\), )-75(we )-75(do )-75(not )-75(get )-75(a )-75(carriage )-75(r)18(eturn )-75(output )-75(after )-75(each )-75(character)]TJ -0.5754 Tc 30.903 0 Td -(.A)Tj -0 Tc 1.603 0 Td -(lso)Tj --37.739 -1.2 Td -[(note )-257(that )-257(special-character )-257(pr)18(ocessing )-257(is )-257(disabled )-257(in )-257(cbr)18(eak )-257(mode )-257(\(so, )-257(for )-257(example,)]TJ -0 -1.2 TD -[(Contr)18(ol)]TJ -3.377 0.09 Td -(-)Tj -0.333 -0.09 Td -[(D, )-141(the )-141(end-of-\336le )-141(character)]TJ -0.391 Tc 12.167 0 Td -(,a)Tj -0 Tc 1.141 0 Td -[(nd )-141(backspace )-141(ar)18(en\325t )-141(handled )-141(specially\), )-141(wher)18(eas)]TJ --17.018 -1.2 Td -(the terminal-generated signals ar)Tj -0.25 Tc 14.569 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(till pr)18(ocessed.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4165.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -11.9986 0 0 11.9986 93.5888 374.5051 Tm -[(18.12 )-220(T)60(erminal )-278(Windo)]TJ -0.556 Tc 10.704 0 Td -(wS)Tj -0 Tc 2.001 0 Td -[(iz )268(e)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5845 350.5079 Tm -[(Most )-104(UNIX )-104(systems )-104(pr)18(ovide )-104(a )-104(way )-104(to )-104(keep )-104(track )-104(of )-104(the )-104(curr)22(ent )-103(terminal )-103(window )-103(size)]TJ -T* -[(and )-24(to )-24(have )-24(the )-24(kernel )-24(notify )-24(the )-24(for)20(egr)18(ound )-24(pr)18(ocess )-24(gr)18(oup )-24(when )-24(the )-24(size )-24(changes.)-522(The)]TJ --0 -1.2 Td -(kernel maintains a)Tj -/TT0 1 Tf -8.411 0 Td -(winsize)Tj -/T1_1 1 Tf -4.45 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ef)Tj -0 Tc 1.062 0 Td -(or every terminal and pseudo terminal:)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5824 304.4635 Tm -(struct winsize {)Tj -1.2 -1.189 Td -[(unsigned short)-1200(ws_row; )-2400(/*)-600(rows, in characters */)]TJ -0 -1.189 TD -[(unsigned short)-1200(ws_col; )-2400(/*)-600(columns, in characters */)]TJ -T* -[(unsigned short)-1200(ws_xpixel; )-600(/*)-600(horizontal size, pixels \(unused\) */)]TJ -T* -[(unsigned short)-1200(ws_ypixel; )-600(/*)-600(vertical size, pixels \(unused\) */)]TJ --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5845 227.6227 Tm -[(The r)8(ules for this str)8(uctur)]TJ -0.25 Tc 11.245 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(a)]TJ -0.25 Tc 1.606 0 Td -(sf)Tj -0 Tc 1.007 0 Td -(ollows:)Tj -0.883 Tc -13.287 -2.04 Td -(\245W)Tj -0.2933 Tc 2.397 0 Td -(ec)Tj -0 Tc 1.216 0 Td -[(an )-43(fetch )-43(the )-43(curr)18(ent )-43(value )-43(of )-43(this )-43(str)6(uctur)]TJ -0.2933 Tc 18.322 0 Td -(eu)Tj -0 Tc 1.375 0 Td -[(sing )-43(an)]TJ -/TT0 1 Tf -3.522 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.293 0 Td -[(\(Section )-43(3.15\) )-43(of)]TJ -/TT0 1 Tf --28.637 -1.2 Td -(TIOCGWINSZ)Tj -/T1_1 1 Tf -(.)Tj -0.883 Tc -1.489 -1.6 Td -(\245W)Tj -0.4588 Tc 2.397 0 Td -(ec)Tj -0 Tc 1.382 0 Td -[(an )-209(stor)]TJ -0.4588 Tc 3.214 0 Td -(ean)Tj -0 Tc 2.479 0 Td -[(ew )-209(value )-209(of )-209(this )-209(str)8(uctur)18(e)-459(in)-459(the )-209(kernel )-209(using )-209(an)]TJ -/TT0 1 Tf -23.391 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.459 0 Td -(of)Tj -/TT0 1 Tf --34.832 -1.2 Td -(TIOCSWINSZ)Tj -/T1_1 1 Tf -0.712 Tc (.I)Tj -0.462 Tc 7.299 0 Td -(ft)Tj -0 Tc 1.121 0 Td -[(his )-212(new )-212(value )-212(dif)18(fers )-212(fr)18(om )-212(the )-212(curr)18(ent )-212(value )-212(stor)18(ed )-212(in )-212(the)]TJ --8.42 -1.2 Td -[(kernel, )-67(a)]TJ -/TT0 1 Tf -4.167 0 Td -(SIGWINCH)Tj -/T1_1 1 Tf -5.117 0 Td -[(signal )-67(is )-67(sent )-67(to )-67(the )-67(for)17(egr)18(ound )-67(pr)18(ocess )-67(gr)17(oup. )-317(\(Note)-318(fr)18(om)]TJ --9.284 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(0.1 that the default action for this signal is to be ignor)18(ed.\))]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46891 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.1)]TJ -28.7243 Tc 5.388 0 Td -(1N)Tj -0 Tc 30.055 0 Td -[(oncanonical )-250(Mode)]TJ -/T1_1 1 Tf -10.39 0 Td -(703)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Whenever )-111(a )-111(pr)18(ogram )-111(that )-111(calls)]TJ -/TT0 1 Tf -14.409 0 Td -(getpass)Tj -/T1_0 1 Tf -4.561 0 Td -[(is )-111(done )-111(with )-111(the )-111(cleartext )-111(passwor)18(d, )-111(the)]TJ --20.77 -1.2 Td -[(pr)18(ogram )-6(should )-6(zer)17(o)-256(it)-256(o)-1(ut )-6(in )-6(memory)]TJ -0.2564 Tc 16.951 0 Td -(,j)Tj -0 Tc 0.74 0 Td -[(ust )-6(to )-6(be )-6(safe.)-507(If )-6(the )-6(pr)18(ogram )-6(wer)17(e)-256(to)-256(g)-1(enerate )-6(a)]TJ -/TT0 1 Tf --17.692 -1.2 Td -(core)Tj -/T1_0 1 Tf -2.688 0 Td -[(\336le )-37(that )-37(others )-37(might )-37(be )-37(able )-37(to )-37(r)15(ead )-38(or )-38(if )-38(some )-38(other )-38(pr)18(ocess )-38(wer)]TJ -0.2876 Tc 29.141 0 Td -(es)Tj -0 Tc 1.191 0 Td -[(omehow )-38(able)]TJ --33.019 -1.2 Td -[(to )-33(r)18(ead )-33(our )-33(memory)]TJ -0.2827 Tc 8.862 0 Td -(,t)Tj -0 Tc 0.859 0 Td -[(hey )-33(might )-33(be )-33(able )-33(to )-33(r)18(ead )-33(the )-33(cleartext )-33(passwor)21(d. )-283(\(By)]TJ --0.037 Tc 24.235 0 Td -(\324\324)Tj -0 Tc 0.519 0 Td -[(cleartext,\325)37(\325)]TJ --34.475 -1.2 Td -[(we )-96(mean )-96(the )-96(passwor)]TJ -0.3465 Tc 9.889 0 Td -(dt)Tj -0 Tc 1.284 0 Td -[(hat )-96(we )-96(type )-96(at )-96(the )-96(pr)16(ompt )-97(that )-97(is )-97(printed )-97(by)]TJ -/TT0 1 Tf -20.538 0 Td -(getpass)Tj -/T1_0 1 Tf -0.5966 Tc (.M)Tj -0 Tc 5.993 0 Td -(ost)Tj --37.704 -1.2 Td -[(UNIX )-395(system )-395(pr)18(ograms )-395(then )-395(modify )-395(this )-395(cleartext )-395(passwor)15(d, )-395(turning )-395(it )-395(into )-395(an)]TJ --0.037 Tc 0 -1.2 TD -(\324\324)Tj -0 Tc 0.519 0 Td -(encrypted\325)Tj -0.457 Tc 4.714 0 Td -(\325p)Tj -0 Tc 1.336 0 Td -[(asswor)18(d. )-457(The)]TJ -/TT0 1 Tf -6.804 0 Td -(pw_passwd)Tj -/T1_0 1 Tf -5.857 0 Td -[(\336eld )-207(in )-207(the )-207(passwor)]TJ -0.457 Tc 9.323 0 Td -(d\336)Tj -0 Tc 1.673 0 Td -[(le )-207(\(Section )-207(6.2\), )-207(for)]TJ --30.226 -1.2 Td -[(example, contains the encrypted passwor)18(d, not the cleartext passwor)18(d.\))]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5850.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9986 0 0 11.9986 93.5888 530.9363 Tm -[(18.11 )-220(Noncanonical)-556(Mode)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5845 506.9392 Tm -[(Noncanonical )-41(mode )-41(is )-41(speci\336ed )-41(by )-41(turning )-41(of)]TJ -0.2914 Tc 20.36 0 Td -(ft)Tj -0 Tc 0.95 0 Td -(he)Tj -/TT0 1 Tf -1.352 0 Td -(ICANON)Tj -/T1_0 1 Tf -3.891 0 Td -[(\337ag )-41(in )-41(the)]TJ -/TT0 1 Tf -4.798 0 Td -(c_lflag)Tj -/T1_0 1 Tf -4.491 0 Td -[(\336eld )-41(of)]TJ --35.844 -1.2 Td -(the)Tj -/TT0 1 Tf -1.811 0 Td -(termios)Tj -/T1_0 1 Tf -4.624 0 Td -[(str)8(uctur)18(e. )-423(In)-424(noncanonical )-173(mode, )-173(the )-173(input )-173(data )-173(is )-173(not )-173(assembled )-173(into)]TJ --6.434 -1.2 Td -[(lines. )-358(The)-358(following )-108(special )-108(characters )-108(\(Section )-108(18.3\) )-108(ar)]TJ -0.358 Tc 25.022 0 Td -(en)Tj -0 Tc 1.419 0 Td -[(ot )-108(pr)18(ocessed: )-108(ERASE, )-108(KILL,)]TJ --26.441 -1.2 Td -(EOF)Tj -0.25 Tc 1.861 0 Td -(,N)Tj -0 Tc 1.331 0 Td -(L, EOL, EOL2, CR, REPRINT)Tj -0.25 Tc 12.762 0 Td -(,S)Tj --0.074 Tc 1.025 0 Td -(TAT)Tj -0 Tc 1.856 0 Td -(US, and WERASE.)Tj --17.035 -1.2 Td -[(As )-142(we )-142(said, )-142(understanding )-142(canonical )-142(mode )-142(is )-142(easy: )-142(the )-142(system )-142(r)18(eturns )-142(up )-142(to )-142(one)]TJ --1.8 -1.2 Td -[(line )-29(at )-29(a )-29(time.)-529(But )-29(with )-29(noncanonical )-29(mode, )-29(how )-29(does )-29(the )-29(system )-29(know )-29(when )-29(to )-29(r)14(eturn)]TJ -T* -[(data )-189(to )-189(us?)-689(If )-189(it )-189(r)18(eturned )-189(one )-189(byte )-189(at )-189(a )-189(time, )-189(over)13(head )-189(would )-189(be )-189(excessive.)-691(\(Recall)]TJ -T* -(Figur)Tj -0.3919 Tc 2.383 0 Td -(e3)Tj -0 Tc 1.371 0 Td -[(.6, )-142(which )-142(showed )-142(the )-142(over)18(head )-142(in )-142(r)18(eading )-142(one )-142(byte )-142(at )-142(a )-142(time.)-641(Each )-142(time )-142(we)]TJ --3.754 -1.2 Td -[(doubled )-17(the )-17(amount )-17(of )-17(data )-17(r)18(eturned, )-17(we )-17(halved )-17(the )-17(system )-17(call )-17(over)13(head.\) )-267(The)-268(system)]TJ --0 -1.2 Td -[(can\325t )-17(always )-17(r)18(eturn )-17(multiple )-17(bytes )-17(at )-17(a )-17(time, )-17(since )-17(sometimes )-17(we )-17(don\325t )-17(know )-17(how )-17(much)]TJ -T* -[(data to r)18(ead until we start r)18(eading it.)]TJ -1.8 -1.2 Td -[(The )-91(solution )-91(is )-91(to )-91(tell )-91(the )-91(system )-91(to )-91(r)20(eturn )-91(when )-91(either )-91(a )-91(speci\336ed )-91(amount )-91(of )-91(data)]TJ --1.8 -1.2 Td -[(has )-167(been )-167(r)18(ead )-167(or )-167(after )-167(a )-167(given )-167(amount )-167(of )-167(time )-167(has )-167(passed.)-667(This )-167(technique )-167(uses )-167(two)]TJ -T* -[(variables )-228(in )-228(the)]TJ -/TT0 1 Tf -7.694 0 Td -(c_cc)Tj -/T1_0 1 Tf -2.879 0 Td -[(array )-228(in )-228(the)]TJ -/TT0 1 Tf -6.041 0 Td -(termios)Tj -/T1_0 1 Tf -4.679 0 Td -[(str)8(uctur)18(e: )-228(MIN )-228(and )-228(TIME.)-728(These )-228(two)]TJ --21.292 -1.2 Td -(elements of the array ar)Tj -0.25 Tc 10.432 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(ndexed by the names)Tj -/TT0 1 Tf -9.642 0 Td -(VMIN)Tj -/T1_0 1 Tf -2.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(VTIME)Tj -/T1_0 1 Tf -(.)Tj --23.887 -1.2 Td -[(MIN )-18(speci\336es )-18(the )-18(minimum )-18(number )-18(of )-18(bytes )-18(befor)]TJ -0.2681 Tc 22.541 0 Td -(ea)Tj -/TT0 1 Tf -0 Tc (read)Tj -/T1_0 1 Tf --0.018 Tc 4.183 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns. )-268(TIME)-268(speci\336es)]TJ --29.38 -1.2 Td -[(the number of tenths of a second to wait for data to arrive.)-500(Ther)]TJ -0.25 Tc 28.277 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(f)]TJ -0 Tc 1.439 0 Td -(our cases.)Tj --29.145 -2.56 Td -[(Case A:)-500(MIN > 0, TIME > 0)]TJ -1.8 -1.68 Td -[(TIME )-210(speci\336es )-210(an )-210(interbyte )-210(timer )-210(that )-210(is )-210(started )-210(only )-210(when )-210(the )-210(\336rst )-210(byte )-210(is)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(ceived. )-277(If)-277(MIN )-27(bytes )-27(ar)]TJ -0.2772 Tc 10.477 0 Td -(er)Tj -0 Tc 1.133 0 Td -[(eceived )-27(befor)]TJ -0.2773 Tc 5.913 0 Td -(et)Tj -0 Tc 1.082 0 Td -[(he )-27(timer )-27(expir)17(es,)]TJ -/TT0 1 Tf -7.684 0 Td -(read)Tj -/T1_0 1 Tf --0.018 Tc 2.677 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-27(MIN)]TJ --30.679 -1.2 Td -[(bytes. )-453(If)-454(the )-203(timer )-203(expir)18(es )-203(befor)]TJ -0.4534 Tc 14.991 0 Td -(eM)Tj -0 Tc 1.878 0 Td -[(IN )-203(bytes )-203(ar)]TJ -0.4534 Tc 5.29 0 Td -(er)Tj -0 Tc 1.309 0 Td -(eceived,)Tj -/TT0 1 Tf -4.051 0 Td -(read)Tj -/T1_0 1 Tf --0.018 Tc 2.853 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-203(the)]TJ --31.23 -1.2 Td -[(bytes )-105(r)18(eceived. )-355(\(At)-356(least )-105(one )-105(byte )-105(is )-105(r)16(eturned )-105(if )-105(the )-105(timer )-105(expir)18(es, )-105(because )-105(the)]TJ --0 -1.2 Td -[(timer )-26(is )-26(not )-26(started )-26(until )-26(the )-26(\336rst )-26(byte )-26(is )-26(r)18(eceived.\) )-276(In)-276(this )-26(case, )-26(the )-26(caller )-26(blocks)]TJ -T* -[(until )-54(the )-54(\336rst )-54(byte )-54(is )-54(r)20(eceived. )-304(If)-303(data )-54(is )-54(alr)18(eady )-54(available )-54(when)]TJ -/TT0 1 Tf -28.811 0 Td -(read)Tj -/T1_0 1 Tf -2.704 0 Td -[(is )-54(called,)]TJ --31.515 -1.2 Td -[(it is as if the data had been r)18(eceived immediately after the)]TJ -/TT0 1 Tf -25.725 0 Td -(read)Tj -/T1_0 1 Tf -(.)Tj --27.525 -2.56 Td -[(Case B:)-500(MIN > 0, TIME == 0)]TJ -1.8 -1.68 Td -(The)Tj -/TT0 1 Tf -1.936 0 Td -(read)Tj -/T1_0 1 Tf -2.663 0 Td -[(does )-12(not )-12(r)18(eturn )-12(until )-12(MIN )-12(bytes )-12(have )-12(been )-12(r)14(eceived. )-262(This)-263(can )-12(cause )-12(a)]TJ -/TT0 1 Tf --4.599 -1.2 Td -(read)Tj -/T1_0 1 Tf -2.65 0 Td -[(to block inde\336nitely)111(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46892 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(700)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Running the pr)18(ogram fr)18(om Figur)]TJ -0.25 Tc 14.631 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(8.16 gives us)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 652.2609 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out < /dev/console 2> /dev/null)Tj -/TT0 1 Tf --1.2 -1.189 Td -(fd 0: /dev/console)Tj -0 -1.189 TD -(fd 1: /dev/ttys001)Tj -T* -(fd 2: not a tty)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 6142.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -11.9986 0 0 11.9986 93.5888 578.1306 Tm -[(18.10 )-220(Canonical)-556(Mode)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5845 554.1335 Tm -[(Canonical )-49(mode )-49(is )-49(simple: )-49(we )-49(issue )-49(a )-49(r)18(ead, )-49(and )-49(the )-49(terminal )-49(driver )-49(r)18(eturns )-49(when )-49(a )-49(line)]TJ -0 -1.2 TD -[(has been enter)18(ed. )-250(Several)-250(conditions cause the r)18(ead to r)18(eturn.)]TJ -0.883 Tc 1.8 -2.04 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-23(r)18(ead )-23(r)18(eturns )-23(when )-23(the )-23(r)18(equested )-23(number )-23(of )-23(bytes )-23(have )-23(been )-23(r)14(ead. )-273(W)]TJ -0.2733 Tc 32.003 0 Td -(ed)Tj -0 Tc 1.363 0 Td -(on\325t)Tj --33.979 -1.2 Td -[(have )-29(to )-29(r)18(ead )-29(a )-29(complete )-29(line.)-529(If )-29(we )-29(r)18(ead )-29(a )-29(partial )-29(line, )-29(no )-29(information )-29(is )-29(lost; )-29(the)]TJ -T* -[(next r)18(ead starts wher)]TJ -0.25 Tc 9.287 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(he pr)18(evious r)18(ead stopped.)]TJ -0.883 Tc -11.831 -1.84 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-62(r)18(ead )-62(r)18(eturns )-62(when )-62(a )-62(line )-62(delimiter )-62(is )-62(encounter)20(ed. )-312(Recall)-311(fr)18(om )-62(Section )-62(18.3)]TJ --0.613 -1.2 Td -[(that )-132(the )-132(following )-132(characters )-132(ar)]TJ -0.3824 Tc 14.287 0 Td -(ei)Tj -0 Tc 1.152 0 Td -[(nterpr)18(eted )-132(as )-132(end )-132(of )-132(line )-132(in )-132(canonical )-132(mode:)]TJ --15.439 -1.2 Td -[(NL, )-30(EOL, )-30(EOL2, )-30(and )-30(EOF)]TJ -0.5301 Tc 11.382 0 Td -(.A)Tj -0 Tc 1.558 0 Td -[(lso, )-30(r)18(ecall )-30(fr)18(om )-30(Section )-30(18.5 )-30(that )-30(if)]TJ -/TT0 1 Tf -15.294 0 Td -(ICRNL)Tj -/T1_1 1 Tf -3.28 0 Td -[(is )-30(set )-30(and)]TJ --31.514 -1.2 Td -(if)Tj -/TT0 1 Tf -0.917 0 Td -(IGNCR)Tj -/T1_1 1 Tf -3.293 0 Td -[(is )-43(not )-43(set, )-43(then )-43(the )-43(CR )-43(character )-43(also )-43(terminates )-43(a )-43(line, )-43(since )-43(it )-43(acts )-43(just)]TJ --4.209 -1.2 Td -[(like the NL character)74(.)]TJ -0 -1.8 TD -[(Of )-23(these )-23(\336ve )-23(line )-23(delimiters, )-23(one)]TJ -14.664 0.04 Td -(\()Tj -0.333 -0.04 Td -(EOF)Tj -1.953 0.04 Td -(\))Tj -0.606 -0.04 Td -[(is )-23(discar)18(ded )-23(by )-23(the )-23(terminal )-23(driver )-23(when)]TJ --17.556 -1.2 Td -[(it\325s )-105(pr)18(ocessed. )-355(The)-354(other )-105(four )-105(ar)]TJ -0.3546 Tc 14.733 0 Td -(er)Tj -0 Tc 1.211 0 Td -[(eturned )-105(to )-105(the )-105(caller )-105(as )-105(the )-105(last )-105(character )-105(of)]TJ --15.944 -1.2 Td -(the line.)Tj -0.883 Tc -1.489 -1.84 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-16(r)18(ead )-16(also )-16(r)17(eturns )-16(if )-16(a )-16(signal )-16(is )-16(caught )-16(and )-16(if )-16(the )-16(function )-16(is )-16(not )-16(automatically)]TJ --0.018 Tc -0.613 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(started \(Section 10.5\).)Tj -/TT2 1 Tf --7.745 -3.12 Td -[(Example )195(\321)]TJ -/TT1 1 Tf -5.28 0 Td -(getpass)Tj -/TT2 1 Tf -4.478 0 Td -(Function)Tj -/T1_1 1 Tf --0.092 Tc -6.158 -2.4 Td -[(We )-201(n)]TJ -0 Tc 2.236 0 Td -[(ow )-17(examine )-17(the )-17(function)]TJ -/TT0 1 Tf -11.272 0 Td -(getpass)Tj -/T1_1 1 Tf -0.2669 Tc (,w)Tj -0 Tc 5.551 0 Td -[(hich )-17(r)18(eads )-17(a )-17(passwor)]TJ -0.2669 Tc 9.297 0 Td -(do)Tj -0.267 Tc 1.424 0 Td -(fs)Tj -0 Tc 1.024 0 Td -[(ome )-17(type )-17(fr)18(om )-17(the)]TJ --30.803 -1.2 Td -[(user )-51(at )-51(a )-51(terminal.)-551(This )-51(function )-51(is )-51(called )-51(by )-51(the)]TJ -/TT0 1 Tf -21.924 0 Td -(login)Tj -/T1_1 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.634 -0.04 Td -(and)Tj -/TT0 1 Tf -1.994 0 Td -(crypt)Tj -/T1_1 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.634 -0.04 Td -[(pr)18(ograms. )-300(T)92(o)]TJ --0.018 Tc -32.851 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad )-81(the )-81(passwor)18(d, )-81(the )-81(function )-81(must )-81(turn )-81(of)]TJ -0.3315 Tc 19.483 0 Td -(fe)Tj -0 Tc 1.144 0 Td -[(choing, )-82(but )-82(it )-82(can )-82(leave )-82(the )-82(terminal )-82(in)]TJ --21.482 -1.2 Td -[(canonical )-420(mode, )-420(as )-420(whatever )-420(we )-420(type )-420(as )-420(the )-420(passwor)]TJ -0.6701 Tc 26.686 0 Td -(df)Tj -0 Tc 1.614 0 Td -[(orms )-420(a )-420(complete )-420(line.)]TJ --28.3 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(8.17 shows a typical implementation on a UNIX system.)Tj --1.812 -1.2 Td -(Ther)Tj -0.25 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(s)]TJ -0 Tc 1.53 0 Td -(everal points to consider in this example.)Tj -0.883 Tc -4.81 -2.04 Td -(\245I)Tj -0 Tc 1.826 0 Td -[(nstead )-375(of )-375(har)18(d-wiring)]TJ -/TT0 1 Tf -11.027 0 Td -(/dev/tty)Tj -/T1_1 1 Tf -5.425 0 Td -[(into )-375(the )-375(pr)18(ogram, )-375(we )-375(call )-375(the )-375(function)]TJ -/TT0 1 Tf --16.789 -1.2 Td -(ctermid)Tj -/T1_1 1 Tf -4.45 0 Td -[(to open the contr)18(olling terminal.)]TJ -0.883 Tc -5.939 -1.6 Td -(\245W)Tj -0.4186 Tc 2.397 0 Td -(er)Tj -0 Tc 1.275 0 Td -[(ead )-169(and )-169(write )-169(only )-169(to )-169(the )-169(contr)18(olling )-169(terminal )-169(and )-169(r)22(eturn )-168(an )-168(err)18(or )-168(if )-168(we)]TJ --2.183 -1.2 Td -[(can\325t )-107(open )-107(this )-107(device )-107(for )-107(r)18(eading )-107(and )-107(writing.)-611(Ther)]TJ -0.3575 Tc 23.879 0 Td -(ea)Tj --0.018 Tc 1.336 0 Td -[(re )-144(o)]TJ -0 Tc 1.759 0 Td -[(ther )-107(conventions )-107(to)]TJ --26.975 -1.2 Td -[(use. )-345(The)-345(version )-95(of)]TJ -/TT0 1 Tf -9.221 0 Td -(getpass)Tj -/T1_1 1 Tf -4.545 0 Td -[(in )-95(the )-95(GNU )-95(C )-95(library )-95(r)18(eads )-95(fr)18(om )-95(standar)]TJ -0.3449 Tc 18.586 0 Td -(di)Tj -0 Tc 1.247 0 Td -(nput)Tj --33.599 -1.2 Td -[(and )-246(writes )-246(to )-246(standar)]TJ -0.4958 Tc 10.121 0 Td -(de)Tj -0 Tc 1.586 0 Td -[(rr)18(or )-246(if )-246(the )-246(contr)19(olling )-246(terminal )-246(can\325t )-246(be )-246(opened )-246(for)]TJ --0.018 Tc -11.707 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading )-190(and )-190(writing.)-690(The )-190(Solaris )-190(version )-190(fails )-190(if )-190(it )-190(can\325t )-190(open )-190(the )-190(contr)16(olling)]TJ --0.856 -1.2 Td -(terminal.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46893 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(694)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(The)Tj -/TT0 1 Tf -2.263 0 Td -(tcsendbreak)Tj -/T1_1 1 Tf -7.189 0 Td -[(function )-339(transmits )-339(a )-339(continuous )-339(str)17(eam )-339(of )-339(zer)]TJ -0.5894 Tc 22.065 0 Td -(ob)Tj -0 Tc 1.688 0 Td -[(its )-339(for )-339(a)]TJ --35.006 -1.2 Td -[(speci\336ed )-157(duration.)-657(If )-157(the)]TJ -/T1_2 1 Tf -11.973 0 Td -(duration)Tj -/T1_1 1 Tf -3.907 0 Td -[(ar)18(gument )-157(is )-157(0, )-157(the )-157(transmission )-157(lasts )-157(between )-157(0.25)]TJ --15.879 -1.2 Td -[(second )-123(and )-123(0.5 )-123(second.)-623(POSIX.1 )-123(speci\336es )-123(that )-123(if)]TJ -/T1_2 1 Tf -22.375 0 Td -(duration)Tj -/T1_1 1 Tf -3.873 0 Td -[(is )-123(nonzer)18(o, )-123(the )-123(transmission)]TJ --26.248 -1.2 Td -(time is implementation dependent.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5937 594.5643 Tm -[(18.9 )-776(T)60(erminal )-278(Identi\336cation)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5915 570.5658 Tm -(Historically)Tj -0.3207 Tc 5.076 0 Td -(,t)Tj -0 Tc 0.897 0 Td -[(he )-71(name )-71(of )-71(the )-71(contr)18(olling )-71(terminal )-71(in )-71(most )-71(versions )-71(of )-71(the )-71(UNIX )-71(System)]TJ --5.973 -1.2 Td -[(has )-3(been)]TJ -/TT0 1 Tf -4.104 0 Td -(/dev/tty)Tj -/T1_1 1 Tf -0.5026 Tc (.P)Tj -0 Tc 6.157 0 Td -[(OSIX.1 )-3(pr)18(ovides )-3(a )-3(r)8(untime )-3(function )-3(that )-3(we )-3(can )-3(call )-3(to )-3(determine)]TJ --10.261 -1.2 Td -[(the name of the contr)18(olling terminal.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5907 527.4683 Tm -(#include )Tj -0 -2.14 TD -(char *ctermid\(char *)Tj -/T1_2 1 Tf -(ptr)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -18.112 -2.14 Td -[(Returns: pointer to name of contr)18(olling terminal)]TJ -2.02 -1.189 Td -[(on success, pointer to empty string on err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4738.25 cm -0 0 m -0 627 l -3900 627 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 457.8251 Tm -(If)Tj -/T1_2 1 Tf -0.935 0 Td -(ptr)Tj -/T1_1 1 Tf -1.487 0 Td -[(is )-15(non-null, )-15(it )-15(is )-15(assumed )-15(to )-15(point )-15(to )-15(an )-15(array )-15(of )-15(at )-15(least)]TJ -/TT0 1 Tf -24.716 0 Td -(L_ctermid)Tj -/T1_1 1 Tf -5.665 0 Td -[(bytes, )-15(and )-15(the)]TJ --32.803 -1.2 Td -[(name )-198(of )-198(the )-198(contr)18(olling )-198(terminal )-198(of )-198(the )-198(pr)18(ocess )-198(is )-198(stor)18(ed )-198(in )-198(the )-198(array)]TJ -0.6981 Tc 32.2 0 Td -(.T)Tj -0 Tc 1.561 0 Td -[(he )-198(constant)]TJ -/TT0 1 Tf --33.761 -1.2 Td -(L_ctermid)Tj -/T1_1 1 Tf -5.829 0 Td -[(is )-179(de\336ned )-179(in)]TJ -/TT0 1 Tf -6.243 0 Td -()Tj -/T1_1 1 Tf -0.6792 Tc (.I)Tj -0 Tc 6.666 0 Td -(f)Tj -/T1_2 1 Tf -0.762 0 Td -(ptr)Tj -/T1_1 1 Tf -1.651 0 Td -[(is )-179(a )-179(null )-179(pointer)]TJ -0.4292 Tc 7.416 0 Td -(,t)Tj -0 Tc 1.005 0 Td -[(he )-179(function )-179(allocates)]TJ --0.018 Tc -29.573 -1.2 Td -(ro)Tj -0 Tc 0.923 0 Td -[(om )-179(for )-179(the )-179(array )-179(\(usually )-179(as )-179(a )-179(static )-179(variable\).)-683(Again, )-179(the )-179(name )-179(of )-179(the )-179(contr)16(olling)]TJ --0.923 -1.2 Td -[(terminal of the pr)18(ocess is stor)18(ed in the array)111(.)]TJ -1.8 -1.2 Td -[(In )-240(both )-240(cases, )-240(the )-240(starting )-240(addr)19(ess )-240(of )-240(the )-240(array )-240(is )-240(r)18(eturned )-240(as )-240(the )-240(value )-240(of )-240(the)]TJ --1.8 -1.2 Td -[(function. )-500(Since)-501(most )-250(UNIX )-250(systems )-250(use)]TJ -/TT0 1 Tf -19.344 0 Td -(/dev/tty)Tj -/T1_1 1 Tf -5.3 0 Td -[(as )-250(the )-250(name )-250(of )-250(the )-250(contr)16(olling)]TJ --24.645 -1.2 Td -(terminal, this function is intended to aid portability to other operatin\ g systems.)Tj -7.999 0 0 7.999 183.5774 353.8375 Tm -[(All four platforms described in this text r)18(eturn the string)]TJ -/TT0 1 Tf -25.189 0 Td -(/dev/tty)Tj -/T1_1 1 Tf -5.05 0 Td -(when we call)Tj -/TT0 1 Tf -6.066 0 Td -(ctermid)Tj -/T1_1 1 Tf -(.)Tj -/TT1 1 Tf -9.9988 0 0 9.9988 93.5883 321.4414 Tm -[(Example )195(\321)]TJ -/TT2 1 Tf -5.28 0 Td -(ctermid)Tj -/TT1 1 Tf -4.478 0 Td -(Function)Tj -/T1_1 1 Tf --6.158 -2.4 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(8.12 shows an implementation of the POSIX.1)Tj -/TT0 1 Tf -20.387 0 Td -(ctermid)Tj -/T1_1 1 Tf -4.45 0 Td -(function.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2903.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 280.7285 Tm -[(#include )-1800()]TJ -0 -1.189 TD -[(#include )-1800()]TJ -0 -2.14 TD -(static char ctermid_name[L_ctermid];)Tj -0 -2.14 TD -(char *)Tj -0 -1.189 TD -(ctermid\(char *str\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(str == NULL\))Tj -2.4 -1.189 Td -(str = ctermid_name;)Tj --2.4 -1.189 Td -[(return\(strcpy\(str, "/dev/tty"\)\);)-2400(/* strcpy\(\) returns str */)]TJ --2.4 -1.189 Td -(})Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1625.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 217.5238 146.5228 Tm -(Figure 18.12)Tj -/T1_1 1 Tf -6.195 0 Td -(Implementation of POSIX.1)Tj -/TT0 1 Tf -12.404 0 Td -(ctermid)Tj -/T1_1 1 Tf -4.45 0 Td -(function)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46894 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.8)]TJ -33.139 0 Td -[(Line )-250(Contr)18(ol )-250(Functions)]TJ -/T1_1 1 Tf -12.694 0 Td -(693)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-128(four )-128(baud )-128(rate )-128(functions )-128(exist )-128(to )-128(insulate )-128(applications )-128(fr)18(om )-128(dif)17(fer)18(ences )-128(in )-128(the)]TJ --1.8 -1.2 Td -[(way )-127(that )-127(implementations )-127(r)17(epr)18(esent )-127(baud )-127(rates )-127(in )-127(the)]TJ -/TT0 1 Tf -24.902 0 Td -(termios)Tj -/T1_0 1 Tf -4.577 0 Td -[(str)8(uctur)18(e. )-377(Linux)-378(and)]TJ --29.48 -1.2 Td -[(BSD-derived )-160(platforms )-160(tend )-160(to )-160(stor)]TJ -0.4104 Tc 16.158 0 Td -(eb)Tj -0 Tc 1.442 0 Td -[(aud )-160(rates )-160(as )-160(numeric )-160(values )-160(equal )-160(to )-160(the )-160(rates)]TJ --17.6 -1.2 Td -[(\(i.e., )-9(9,600 )-9(baud )-9(is )-9(stor)19(ed )-9(as )-9(the )-9(value )-9(9,600\), )-9(wher)18(eas )-9(System )-9(V\320derived )-9(platforms )-9(\(such)]TJ -0 -1.2 TD -[(as )-25(Solaris\) )-25(tend )-25(to )-25(encode )-25(the )-25(baud )-25(rate )-25(in )-25(a )-25(bitmask.)-525(The )-25(speed )-25(values )-25(we )-25(get )-25(fr)18(om )-25(the)]TJ -/TT0 1 Tf -T* -(cfget)Tj -/T1_0 1 Tf -3.695 0 Td -[(functions )-445(and )-445(pass )-445(to )-445(the)]TJ -/TT0 1 Tf -13.509 0 Td -(cfset)Tj -/T1_0 1 Tf -3.696 0 Td -[(functions )-445(ar)]TJ -0.6955 Tc 5.704 0 Td -(eu)Tj -0 Tc 1.778 0 Td -[(ntranslated )-445(fr)18(om )-445(their)]TJ --0.018 Tc -28.381 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(pr)18(esentation as they ar)]TJ -0.25 Tc 10.007 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(tor)18(ed in the)]TJ -/TT0 1 Tf -5.349 0 Td -(termios)Tj -/T1_0 1 Tf -4.45 0 Td -[(str)8(uctur)18(e.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5941 560.9663 Tm -[(18.8 )-776(Line)-556(Contr)20(ol )-278(Functions)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5919 536.9678 Tm -[(The )-141(following )-141(four )-141(functions )-141(pr)18(ovide )-141(line )-141(contr)20(ol )-140(capability )-140(for )-140(terminal )-140(devices.)-642(All)]TJ -T* -[(four )-61(r)18(equir)]TJ -0.3106 Tc 4.875 0 Td -(et)Tj -0 Tc 1.116 0 Td -(hat)Tj -/T1_2 1 Tf -1.719 0 Td -(fd)Tj -/T1_0 1 Tf --0.018 Tc 1.089 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer )-61(to )-61(a )-61(terminal )-61(device; )-61(otherwise,)]TJ -/TT2 1 Tf -15.915 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-311(is)-311(r)19(eturned )-61(with)]TJ -/TT0 1 Tf -8.892 0 Td -(errno)Tj -/T1_0 1 Tf -3.311 0 Td -(set)Tj --37.771 -1.2 Td -(to)Tj -/TT0 1 Tf -1.122 0 Td -(ENOTTY)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 493.8704 Tm -(#include )Tj -0 -2.021 TD -(int tcdrain\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj --9.6 -2.021 Td -(int tcflow\(int)Tj -/T1_2 1 Tf -9 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(action)Tj -/TT0 1 Tf -(\);)Tj --13.378 -2.021 Td -(int tcflush\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(queue)Tj -/TT0 1 Tf -(\);)Tj --13.978 -2.021 Td -(int tcsendbreak\(int)Tj -/T1_2 1 Tf -12 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(duration)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -7.451 -2.021 Td -[(All four r)18(eturn: 0 if OK,)]TJ -/TT2 1 Tf -10.635 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3984.25 cm -0 0 m -0 1045 l -3900 1045 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 382.5041 Tm -(The)Tj -/TT0 1 Tf -1.954 0 Td -(tcdrain)Tj -/T1_0 1 Tf -4.48 0 Td -[(function )-30(waits )-30(for )-30(all )-30(output )-30(to )-30(be )-30(transmitted.)-527(The)]TJ -/TT0 1 Tf -23.18 0 Td -(tcflow)Tj -/T1_0 1 Tf -3.879 0 Td -(function)Tj --35.293 -1.2 Td -[(gives )-46(us )-46(contr)18(ol )-46(over )-46(both )-46(input )-46(and )-46(output )-46(\337ow )-46(contr)19(ol. )-296(The)]TJ -/T1_2 1 Tf -28.076 0 Td -(action)Tj -/T1_0 1 Tf -2.758 0 Td -[(ar)18(gument )-46(must )-46(be)]TJ --30.834 -1.2 Td -(one of the following four values:)Tj -/TT0 1 Tf -1.8 -2.04 Td -(TCOOFF)Tj -/T1_0 1 Tf -4.483 0 Td -(Output is suspended.)Tj -/TT0 1 Tf --4.483 -1.96 Td -(TCOON)Tj -/T1_0 1 Tf -4.483 0 Td -[(Output that was pr)18(eviously suspended is r)18(estarted.)]TJ -/TT0 1 Tf --4.483 -1.96 Td -(TCIOFF)Tj -/T1_0 1 Tf -4.483 0 Td -[(The )-67(system )-67(transmits )-67(a )-67(ST)18(OP )-67(character)]TJ -0.3175 Tc 17.506 0 Td -(,w)Tj -0 Tc 1.401 0 Td -[(hich )-67(should )-67(cause )-67(the )-67(terminal)]TJ --18.907 -1.2 Td -(device to stop sending data.)Tj -/TT0 1 Tf --4.483 -1.96 Td -(TCION)Tj -/T1_0 1 Tf -4.483 0 Td -[(The )-10(system )-10(transmits )-10(a )-10(ST)74(AR)]TJ -0.2599 Tc 12.93 0 Td -(Tc)Tj -0 Tc 1.317 0 Td -(haracter)Tj -0.2599 Tc 3.547 0 Td -(,w)Tj -0 Tc 1.344 0 Td -[(hich )-10(should )-10(cause )-10(the )-10(terminal)]TJ --19.137 -1.2 Td -[(device to r)18(esume sending data.)]TJ --4.483 -2.04 Td -(The)Tj -/TT0 1 Tf -1.99 0 Td -(tcflush)Tj -/T1_0 1 Tf -4.516 0 Td -[(function )-66(lets )-66(us )-66(\337ush )-66(\(thr)17(ow )-66(away\) )-66(either )-66(the )-66(input )-66(buf)18(fer )-66(\(data )-66(that)]TJ --8.306 -1.2 Td -[(has )-56(been )-56(r)18(eceived )-56(by )-56(the )-56(terminal )-56(driver)]TJ -0.3056 Tc 18.063 0 Td -(,w)Tj -0 Tc 1.39 0 Td -[(hich )-56(we )-56(have )-56(not )-56(r)18(ead\) )-56(or )-56(the )-56(output )-56(buf)21(fer)]TJ --19.452 -1.2 Td -[(\(data )-105(that )-105(we )-105(have )-105(written, )-105(which )-105(has )-105(not )-105(yet )-105(been )-105(transmitted\).)-607(The)]TJ -/T1_2 1 Tf -31.985 0 Td -(queue)Tj -/T1_0 1 Tf -2.708 0 Td -[(ar)18(gument)]TJ --34.694 -1.2 Td -[(must be one of the following thr)18(ee constants:)]TJ -/TT0 1 Tf -1.8 -2.04 Td -(TCIFLUSH)Tj -/T1_0 1 Tf -6.283 0 Td -(The input queue is \337ushed.)Tj -/TT0 1 Tf --6.283 -1.96 Td -(TCOFLUSH)Tj -/T1_0 1 Tf -6.283 0 Td -(The output queue is \337ushed.)Tj -/TT0 1 Tf --6.283 -1.96 Td -(TCIOFLUSH)Tj -/T1_0 1 Tf -6.283 0 Td -(Both the input and the output queues ar)Tj -0.25 Tc 17.715 0 Td -(e\337)Tj -0 Tc 1.337 0 Td -(ushed.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46895 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(692)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Option )-249(names )-249(pr)18(eceded )-249(by )-249(a )-249(hyphen )-249(ar)]TJ -0.4994 Tc 18.945 0 Td -(ed)Tj -0 Tc 1.589 0 Td -[(isabled. )-499(The)-500(last )-249(four )-249(lines )-249(display )-249(the)]TJ --20.535 -1.2 Td -[(curr)18(ent )-88(settings )-88(for )-88(each )-88(of )-88(the )-88(terminal )-88(special )-88(characters )-88(\(Section )-88(18.3\).)-588(The )-88(\336rst )-88(line)]TJ -0 -1.2 TD -[(displays )-42(the )-42(number )-42(of )-42(r)18(ows )-42(and )-42(columns )-42(for )-42(the )-42(curr)16(ent )-42(terminal )-42(window; )-42(we )-42(discuss)]TJ -T* -(the terminal window size in Section 18.12.)Tj -7.9995 0 0 7.9995 183.5891 612.9632 Tm -(The)Tj -/TT0 1 Tf -1.95 0 Td -(stty)Tj -/T1_1 1 Tf -2.676 0 Td -[(command )-26(uses )-26(its )-26(standar)]TJ -0.2759 Tc 11.568 0 Td -(di)Tj -0 Tc 1.178 0 Td -[(nput )-26(to )-26(get )-26(and )-26(set )-26(the )-26(terminal )-26(option )-26(\337ags.)-526(Although)]TJ --17.371 -1.25 Td -[(some )-100(older )-100(implementations )-100(used )-100(standar)]TJ -0.3495 Tc 18.974 0 Td -(do)Tj -0 Tc 1.506 0 Td -[(utput, )-99(POSIX.1 )-99(r)17(equir)18(es )-99(that )-99(the )-99(standar)]TJ -0.3495 Tc 18.157 0 Td -(di)Tj -0 Tc 1.251 0 Td -(nput)Tj --39.888 -1.25 Td -[(be )-11(used.)-511(All )-11(four )-11(implementations )-11(discussed )-11(in )-11(this )-11(text )-11(pr)18(ovide )-11(versions )-11(of)]TJ -/TT0 1 Tf -34.017 0 Td -(stty)Tj -/T1_1 1 Tf -2.662 0 Td -[(that )-11(operate)]TJ --36.679 -1.25 Td -(on the standar)Tj -0.25 Tc 6.335 0 Td -(di)Tj -0 Tc 1.152 0 Td -[(nput. )-250(This)-250(means that we can type)]TJ -/TT0 1 Tf --2.987 -1.625 Td -(stty -a )Tj -0 -2.259 TD -(speed_t cfgetispeed\(const struct termios *)Tj -/T1_2 1 Tf -(termptr)Tj -/TT0 1 Tf -(\);)Tj --0 -2.259 Td -(speed_t cfgetospeed\(const struct termios *)Tj -/T1_2 1 Tf -(termptr)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -26.851 -2.259 Td -[(Both r)18(eturn: baud rate value)]TJ -/TT0 1 Tf --26.851 -2.259 Td -(int cfsetispeed\(struct termios *)Tj -/T1_2 1 Tf -(termptr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 24.111 0 Td -(peed_t)Tj -/T1_2 1 Tf -4.2 0 Td -(speed)Tj -/TT0 1 Tf -(\);)Tj --28.311 -2.259 Td -(int cfsetospeed\(struct termios *)Tj -/T1_2 1 Tf -(termptr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 24.111 0 Td -(peed_t)Tj -/T1_2 1 Tf -4.2 0 Td -(speed)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --3.06 -2.259 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT2 1 Tf -9.213 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3154.25 cm -0 0 m -0 1355 l -3900 1355 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 299.4841 Tm -[(The )-196(r)18(eturn )-196(value )-196(fr)18(om )-196(the )-196(two)]TJ -/TT0 1 Tf -14.782 0 Td -(cfget)Tj -/T1_1 1 Tf -3.446 0 Td -[(functions )-196(and )-196(the)]TJ -/T1_2 1 Tf -8.549 0 Td -(speed)Tj -/T1_1 1 Tf -2.613 0 Td -[(ar)18(gument )-196(to )-196(the )-196(two)]TJ -/TT0 1 Tf --29.391 -1.2 Td -(cfset)Tj -/T1_1 1 Tf -3.251 0 Td -[(functions )-1(ar)]TJ -0.2513 Tc 5.259 0 Td -(eo)Tj -0 Tc 1.276 0 Td -[(ne )-1(of )-1(the )-1(following )-1(constants:)]TJ -/TT0 1 Tf -13.257 0 Td -(B50)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.301 0 Td -(B75)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.301 0 Td -(B110)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.901 0 Td -(B134)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.901 0 Td -(B150)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.901 0 Td -(B200)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --36.35 -1.2 Td -(B300)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.937 0 Td -(B600)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.937 0 Td -(B1200)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.537 0 Td -(B1800)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.537 0 Td -(B2400)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.537 0 Td -(B4800)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.537 0 Td -(B9600)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.537 0 Td -(B19200)Tj -/T1_1 1 Tf -0.2868 Tc (,o)Tj -0 Tc 4.683 0 Td -(r)Tj -/TT0 1 Tf -0.682 0 Td -(B38400)Tj -/T1_1 1 Tf -0.5369 Tc (.T)Tj -0 Tc 5 0 Td -[(he )-37(constant)]TJ -/TT0 1 Tf --33.922 -1.2 Td -(B0)Tj -/T1_1 1 Tf -1.572 0 Td -[(means )-122(\324)37(\324hang )-122(up.\325)]TJ -0.6218 Tc 8.046 0 Td -(\325I)Tj -0 Tc 1.237 0 Td -(f)Tj -/TT0 1 Tf -0.705 0 Td -(B0)Tj -/T1_1 1 Tf -1.572 0 Td -[(is )-122(speci\336ed )-122(as )-122(the )-122(output )-122(baud )-122(rate )-122(when)]TJ -/TT0 1 Tf -19.383 0 Td -(tcsetattr)Tj -/T1_1 1 Tf -5.772 0 Td -(is)Tj --38.285 -1.2 Td -[(called, the modem contr)18(ol lines ar)18(e)-250(no)-250(longer asserted.)]TJ -7.999 0 0 7.999 183.5782 229.0925 Tm -(Most systems de\336ne additional baud rate values, such as)Tj -/TT0 1 Tf -25.369 0 Td -(B57600)Tj -/T1_1 1 Tf -3.85 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(B115200)Tj -/T1_1 1 Tf -(.)Tj --0.092 Tc 9.9988 0 0 9.9988 147.5826 207.0951 Tm -[(To )-328(u)]TJ -0 Tc 2.064 0 Td -[(se )-144(these )-144(functions, )-144(we )-144(must )-144(r)17(ealize )-144(that )-144(the )-144(input )-144(and )-144(output )-144(baud )-144(rates )-144(ar)15(e)]TJ --3.864 -1.2 Td -[(stor)18(ed )-41(in )-41(the )-41(device\325s)]TJ -/TT0 1 Tf -9.757 0 Td -(termios)Tj -/T1_1 1 Tf -4.491 0 Td -[(str)8(uctur)18(e, )-41(as )-41(shown )-41(in )-41(Figur)]TJ -0.2906 Tc 12.529 0 Td -(e1)Tj -0 Tc 1.27 0 Td -[(8.8. )-291(Befor)]TJ -0.2906 Tc 4.387 0 Td -(ec)Tj -0 Tc 1.214 0 Td -[(alling )-41(either)]TJ --33.647 -1.2 Td -[(of )-128(the)]TJ -/TT0 1 Tf -3.021 0 Td -(cfget)Tj -/T1_1 1 Tf -3.378 0 Td -[(functions, )-128(we )-128(\336rst )-128(have )-128(to )-128(obtain )-128(the )-128(device\325s)]TJ -/TT0 1 Tf -21.22 0 Td -(termios)Tj -/T1_1 1 Tf -4.578 0 Td -[(str)8(uctur)]TJ -0.3778 Tc 3.49 0 Td -(eu)Tj -0 Tc 1.46 0 Td -(sing)Tj -/TT0 1 Tf --37.147 -1.2 Td -(tcgetattr)Tj -/T1_1 1 Tf -0.5112 Tc (.S)Tj -0 Tc 6.686 0 Td -(imilarly)Tj -0.2612 Tc 3.387 0 Td -(,a)Tj -0 Tc 1.011 0 Td -[(fter )-11(calling )-11(either )-11(of )-11(the )-11(two)]TJ -/TT0 1 Tf -12.579 0 Td -(cfset)Tj -/T1_1 1 Tf -3.261 0 Td -[(functions, )-11(all )-11(we\325ve )-11(done )-11(is)]TJ --26.925 -1.2 Td -[(set )-56(the )-56(baud )-56(rate )-56(in )-56(a)]TJ -/TT0 1 Tf -9.793 0 Td -(termios)Tj -/T1_1 1 Tf -4.506 0 Td -[(str)8(uctur)18(e. )-306(For)-306(this )-56(change )-56(to )-56(af)18(fect )-56(the )-56(device, )-56(we )-56(have)]TJ --14.299 -1.2 Td -[(to )-80(call)]TJ -/TT0 1 Tf -3.058 0 Td -(tcsetattr)Tj -/T1_1 1 Tf -0.58 Tc (.I)Tj -0.33 Tc 6.567 0 Td -(ft)Tj -0 Tc 0.989 0 Td -[(her)18(e)-330(is)-330(an)-330(err)18(or )-80(in )-80(either )-80(of )-80(the )-80(baud )-80(rates )-80(that )-80(we )-80(set, )-80(we )-80(may)]TJ --10.614 -1.2 Td -[(not \336nd out about the err)18(or until we call)]TJ -/TT0 1 Tf -18.016 0 Td -(tcsetattr)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46896 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.6)]TJ -/TT0 1 Tf -36.219 0 Td -(stty)Tj -/T1_0 1 Tf -2.9 0 Td -(Command)Tj -/T1_1 1 Tf -6.714 0 Td -(691)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(TABDLY)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_0 1 Tf -0.3791 Tc (,X)Tj -0 Tc 5.829 0 Td -[(SI, )-129(Linux, )-129(Mac )-129(OS )-129(X, )-129(Solaris\))-629(Horizontal )-129(tab )-129(delay )-129(mask.)]TJ --5.829 -1.2 Td -[(The values for the mask ar)18(e)]TJ -/TT0 1 Tf -12.416 0 Td -(TAB0)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -2.9 0 Td -(TAB1)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -2.9 0 Td -(TAB2)Tj -/T1_0 1 Tf -0.25 Tc (,o)Tj -0 Tc 3.446 0 Td -(r)Tj -/TT0 1 Tf -0.645 0 Td -(TAB3)Tj -/T1_0 1 Tf -(.)Tj --22.307 -1.8 Td -[(The )-209(value)]TJ -/TT0 1 Tf -5.031 0 Td -(XTABS)Tj -/T1_0 1 Tf -3.459 0 Td -[(is )-209(equal )-209(to)]TJ -/TT0 1 Tf -5.398 0 Td -(TAB3)Tj -/T1_0 1 Tf -0.7093 Tc (.T)Tj -0 Tc 3.972 0 Td -[(his )-209(value )-209(causes )-209(the )-209(system )-209(to)]TJ --17.861 -1.2 Td -[(expand )-197(tabs )-197(into )-197(spaces.)-698(The )-197(system )-197(assumes )-197(a )-197(tab )-197(stop )-197(every )-197(eight)]TJ -0 -1.2 TD -(spaces, and we can\325t change this assumption.)Tj -/TT0 1 Tf --6.883 -1.84 Td -(TOSTOP)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_0 1 Tf -0.2696 Tc (,P)Tj -0 Tc 5.657 0 Td -[(OSIX.1, )-20(Fr)18(eeBSD, )-20(Linux, )-20(Mac )-20(OS )-20(X, )-20(Solaris\))-520(If )-20(set )-20(and )-20(if )-20(the)]TJ --5.657 -1.2 Td -[(implementation )-93(supports )-93(job )-93(contr)18(ol, )-93(the)]TJ -/TT0 1 Tf -18.775 0 Td -(SIGTTOU)Tj -/T1_0 1 Tf -4.543 0 Td -[(signal )-93(is )-93(sent )-93(to )-93(the)]TJ --23.318 -1.2 Td -[(pr)18(ocess )-421(gr)18(oup )-421(of )-421(a )-421(backgr)19(ound )-421(pr)18(ocess )-421(that )-421(tries )-421(to )-421(write )-421(to )-421(its)]TJ -T* -[(contr)18(olling )-19(terminal.)-520(By )-19(default, )-19(this )-19(signal )-19(stops )-19(all )-19(the )-19(pr)18(ocesses )-19(in )-19(the)]TJ -T* -[(pr)18(ocess )-43(gr)18(oup. )-293(This)-294(signal )-43(is )-43(not )-43(generated )-43(by )-43(the )-43(terminal )-43(driver )-43(if )-43(the)]TJ -T* -[(backgr)18(ound )-116(pr)18(ocess )-116(that )-116(is )-116(writing )-116(to )-116(the )-116(contr)18(olling )-116(terminal )-116(is )-116(either)]TJ -T* -(ignoring or blocking the signal.)Tj -/TT0 1 Tf --6.883 -1.84 Td -(VTDLY)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_0 1 Tf -0.3321 Tc (,X)Tj -0 Tc 5.782 0 Td -[(SI, )-82(Linux, )-82(Solaris\))]TJ --0.111 Tc 8.516 0 Td -(Ve)Tj -0 Tc 1.09 0 Td -[(rtical )-82(tab )-82(delay )-82(mask.)-582(The )-82(values )-82(for)]TJ --15.388 -1.2 Td -[(the mask ar)18(e)]TJ -/TT0 1 Tf -5.856 0 Td -(VT0)Tj -/T1_0 1 Tf -2.05 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(VT1)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf --16.732 -1.84 Td -(XCASE)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_0 1 Tf -0.2543 Tc (,L)Tj -0 Tc 5.648 0 Td -[(inux, )-4(Solaris\))-504(If )-4(set )-4(and )-4(if)]TJ -/TT0 1 Tf -11.539 0 Td -(ICANON)Tj -/T1_0 1 Tf -3.854 0 Td -[(is )-4(also )-4(set, )-4(the )-4(terminal )-4(is)]TJ --21.041 -1.2 Td -[(assumed )-100(to )-100(be )-100(upper)18(case )-100(only)]TJ -0.3501 Tc 13.6 0 Td -(,a)Tj -0 Tc 1.1 0 Td -[(nd )-100(all )-100(input )-100(is )-100(converted )-100(to )-100(lower)17(case.)]TJ --0.092 Tc -14.701 -1.2 Td -[(To )-260(i)]TJ -0 Tc 1.684 0 Td -[(nput )-76(an )-76(upper)18(case )-76(character)]TJ -0.326 Tc 12.671 0 Td -(,p)Tj --0.018 Tc 1.177 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(cede )-76(it )-76(with )-76(a )-76(backslash.)-576(Similarly)111(,)]TJ --16.388 -1.2 Td -[(the )-337(system )-337(outputs )-337(an )-337(upper)18(case )-337(character )-337(by )-337(pr)18(eceding )-337(it )-337(with )-337(a)]TJ -T* -[(backslash. )-495(\(This)-495(option )-245(\337ag )-245(is )-245(obsolete )-245(today)]TJ -0.4953 Tc 21.332 0 Td -(,s)Tj -0 Tc 1.169 0 Td -[(ince )-245(most, )-245(if )-245(not )-245(all,)]TJ --22.501 -1.2 Td -[(upper)18(case-only terminals have disappear)18(ed.\))]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5947 377.3774 Tm -(18.6)Tj -/TT2 1 Tf -3 0 Td -(stty)Tj -/TT1 1 Tf -2.956 0 Td -(Command)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5925 353.3788 Tm -[(All )-129(the )-129(options )-129(described )-129(in )-129(the )-129(pr)18(evious )-129(section )-129(can )-129(be )-129(examined )-129(and )-129(changed )-129(fr)18(om)]TJ -T* -[(within a pr)18(ogram with the)]TJ -/TT0 1 Tf -11.935 0 Td -(tcgetattr)Tj -/T1_0 1 Tf -5.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(tcsetattr)Tj -/T1_0 1 Tf -5.65 0 Td -[(functions \(Section 18.4\) or fr)17(om)]TJ --25.179 -1.2 Td -[(the )-201(command )-201(line )-201(\(or )-201(a )-201(shell )-201(script\) )-201(with )-201(the)]TJ -/TT0 1 Tf -21.609 0 Td -(stty)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.784 -0.04 Td -[(command. )-450(This)-451(command )-200(is)]TJ --25.626 -1.2 Td -[(simply )-57(an )-57(interface )-57(to )-57(the )-57(\336rst )-57(six )-57(functions )-57(that )-57(we )-57(listed )-57(in )-57(Figur)]TJ -0.3068 Tc 29.735 0 Td -(e1)Tj -0 Tc 1.286 0 Td -[(8.7. )-307(If)-307(we )-57(execute)]TJ --31.02 -1.2 Td -(this command with its)Tj -/TT0 1 Tf -10.146 0 Td -(-a)Tj -/T1_0 1 Tf -1.45 0 Td -(option, it displays all the terminal options:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 129.5926 287.4827 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(stty -a)Tj -/TT0 1 Tf --1.2 -1.189 Td -(speed 9600 baud; 25 rows; 80 columns;)Tj -0 -1.189 TD -(lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl)Tj -4.8 -1.189 Td -(-echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo)Tj -T* -(-extproc)Tj --4.8 -1.189 Td -(iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel -ignbrk)Tj -4.8 -1.189 Td -(brkint -inpck -ignpar -parmrk)Tj --4.8 -1.189 Td -(oflags: opost onlcr -ocrnl -oxtabs -onocr -onlret)Tj -T* -(cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts)Tj -4.8 -1.189 Td -(-dsrflow -dtrflow -mdmbuf)Tj --4.8 -1.189 Td -(cchars: discard = \366O; dsusp = \366Y; eof = \366D; eol = ;)Tj -4.8 -1.189 Td -(eol2 = ; erase = \366H; erase2 = \366?; intr = \366C; kill = \366\ U;)Tj -T* -(lnext = \366V; min = 1; quit = \366; reprint = \366R; start = \366Q;)Tj -T* -(status = \366T; stop = \366S; susp = \366Z; time = 0; werase = \366W;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46897 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.5)]TJ --0.092 Tc 33.432 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(Option )-250(Flags)]TJ -/T1_1 1 Tf -11.401 0 Td -(683)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(18.4 )-776(Getting)-556(and )-278(Setting )-278(T)60(erminal )-278(Attrib)20(utes)]TJ -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5921 652.1609 Tm -[(To )-660(g)]TJ -0 Tc 2.349 0 Td -[(et )-476(and )-476(set )-476(a)]TJ -/TT1 1 Tf -7.131 0 Td -(termios)Tj -/T1_0 1 Tf -4.926 0 Td -[(str)8(uctur)18(e, )-476(we )-476(call )-476(two )-476(functions:)]TJ -/TT1 1 Tf -16.775 0 Td -(tcgetattr)Tj -/T1_0 1 Tf -6.126 0 Td -(and)Tj -/TT1 1 Tf --37.307 -1.2 Td -(tcsetattr)Tj -/T1_0 1 Tf -0.5687 Tc (.T)Tj -0 Tc 6.832 0 Td -[(his )-69(is )-69(how )-69(we )-69(examine )-69(and )-69(modify )-69(the )-69(various )-69(option )-69(\337ags )-69(and )-69(special)]TJ --6.832 -1.2 Td -(characters to make the terminal operate the way we want it to.)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5914 612.6632 Tm -(#include )Tj -0 -1.783 TD -(int tcgetattr\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(fd)Tj -/TT1 1 Tf -0.6 Tc (,s)Tj -0 Tc 2.578 0 Td -(truct termios *)Tj -/T1_2 1 Tf -(termptr)Tj -/TT1 1 Tf -(\);)Tj --13.378 -1.783 Td -(int tcsetattr\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(fd)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(opt)Tj -/TT1 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.077 0 Td -(onst struct termios *)Tj -/T1_2 1 Tf -(termptr)Tj -/TT1 1 Tf -(\);)Tj -/T1_0 1 Tf -6.996 -1.783 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT2 1 Tf -9.213 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5600.25 cm -0 0 m -0 617 l -3900 617 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 547.6843 Tm -[(Both )-218(functions )-218(take )-218(a )-218(pointer )-218(to )-218(a)]TJ -/TT1 1 Tf -16.424 0 Td -(termios)Tj -/T1_0 1 Tf -4.668 0 Td -[(str)8(uctur)]TJ -0.4679 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.447 0 Td -[(nd )-218(either )-218(r)18(eturn )-218(the )-218(curr)18(ent)]TJ --26.028 -1.2 Td -[(terminal )-162(attributes )-162(or )-162(set )-162(the )-162(terminal\325s )-162(attributes.)-659(Since )-161(these )-161(two )-161(functions )-161(operate)]TJ -0 -1.2 TD -[(only )-38(on )-38(terminal )-38(devices,)]TJ -/TT1 1 Tf -11.547 0 Td -(errno)Tj -/T1_0 1 Tf -3.288 0 Td -[(is )-38(set )-38(to)]TJ -/TT1 1 Tf -3.681 0 Td -(ENOTTY)Tj -/T1_0 1 Tf -3.888 0 Td -(and)Tj -/TT2 1 Tf -1.981 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-288(is)-288(r)17(eturned )-38(if)]TJ -/T1_2 1 Tf -7.394 0 Td -(fd)Tj -/T1_0 1 Tf -1.066 0 Td -[(does )-38(not )-38(r)17(efer)]TJ --32.846 -1.2 Td -(to a terminal device.)Tj -1.8 -1.2 Td -[(The )-99(ar)18(gument)]TJ -/T1_2 1 Tf -6.677 0 Td -(opt)Tj -/T1_0 1 Tf -1.626 0 Td -(for)Tj -/TT1 1 Tf -1.623 0 Td -(tcsetattr)Tj -/T1_0 1 Tf -5.749 0 Td -[(lets )-99(us )-99(specify )-99(when )-99(we )-99(want )-99(the )-99(new )-99(terminal)]TJ --17.474 -1.2 Td -[(attributes to take ef)18(fect. )-250(This)-250(ar)18(gument is speci\336ed as one of the following constants.)]TJ -/TT1 1 Tf -1.8 -1.68 Td -(TCSANOW)Tj -/T1_0 1 Tf -6.6 0 Td -[(The change occurs immediately)111(.)]TJ -/TT1 1 Tf --6.6 -1.72 Td -(TCSADRAIN)Tj -/T1_0 1 Tf -6.6 0 Td -[(The )-26(change )-26(occurs )-26(after )-26(all )-26(output )-26(has )-26(been )-26(transmitted.)-526(This )-26(option)]TJ -T* -(should be used if we ar)Tj -0.25 Tc 10.27 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(hanging the output parameters.)Tj -/TT1 1 Tf --18.043 -1.72 Td -(TCSAFLUSH)Tj -/T1_0 1 Tf -6.6 0 Td -[(The )-727(change )-727(occurs )-727(after )-727(all )-727(output )-727(has )-727(been )-727(transmitted.)]TJ -T* -[(Furthermor)18(e, when the change takes place, all input data that has not)]TJ -T* -[(been r)18(ead is discar)18(ded \(\337ushed\).)]TJ --6.6 -1.68 Td -[(The )-143(r)18(eturn )-143(status )-143(of)]TJ -/TT1 1 Tf -9.492 0 Td -(tcsetattr)Tj -/T1_0 1 Tf -5.793 0 Td -[(can )-143(be )-143(confusing )-143(to )-143(use )-143(corr)16(ectly)]TJ -0.6434 Tc 15.011 0 Td -(.T)Tj -0 Tc 1.506 0 Td -[(his )-143(function)]TJ --0.018 Tc -33.603 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-155(OK )-155(if )-155(it )-155(was )-155(able )-155(to )-155(perform)]TJ -/T1_2 1 Tf -16.409 0 Td -(any)Tj -/T1_0 1 Tf -1.905 0 Td -[(of )-155(the )-155(r)18(equested )-155(actions, )-155(even )-155(if )-155(it )-155(couldn\325t)]TJ --19.17 -1.2 Td -[(perform )-68(all )-68(the )-68(r)18(equested )-68(actions.)-568(If )-68(the )-68(function )-68(r)18(eturns )-68(OK, )-68(it )-68(is )-68(our )-68(r)14(esponsibility )-68(to)]TJ -T* -[(see )-153(whether )-153(all )-153(the )-153(r)18(equested )-153(actions )-153(wer)]TJ -0.4035 Tc 19.09 0 Td -(ep)Tj -0 Tc 1.484 0 Td -[(erformed. )-403(This)-404(means )-154(that )-154(after )-154(we )-154(call)]TJ -/TT1 1 Tf --20.574 -1.2 Td -(tcsetattr)Tj -/T1_0 1 Tf -5.723 0 Td -[(to )-73(set )-73(the )-73(desir)18(ed )-73(attributes, )-73(we )-73(need )-73(to )-73(call)]TJ -/TT1 1 Tf -19.999 0 Td -(tcgetattr)Tj -/T1_0 1 Tf -5.723 0 Td -[(and )-73(compar)]TJ -0.3226 Tc 5.367 0 Td -(et)Tj -0 Tc 1.128 0 Td -(he)Tj --37.939 -1.2 Td -[(actual terminal\325s attributes to the desir)18(ed attributes to detect any dif)18(fer)18(ences.)]TJ -1.8 -1.2 Td -[(What )-85(ar)]TJ -0.3347 Tc 3.62 0 Td -(et)Tj -0 Tc 1.14 0 Td -[(he )-85(attributes )-85(of )-85(a )-85(terminal )-85(we )-85(open )-85(for )-85(the )-85(\336rst )-85(time?)-582(The )-85(answer )-85(is )-85(\324)38(\324it)]TJ --6.559 -1.2 Td -(depends.\325)Tj -0.7104 Tc 4.278 0 Td -(\325S)Tj -0 Tc 1.513 0 Td -[(ome )-210(systems )-210(might )-210(initialize )-210(the )-210(terminal )-210(attributes )-210(to )-210(implementation-)]TJ --5.791 -1.2 Td -[(de\336ned )-82(values.)-582(Other )-82(systems )-82(might )-82(leave )-82(the )-82(attributes )-82(with )-82(the )-82(values )-82(they )-82(had )-82(the)]TJ -T* -[(last )-90(time )-90(that )-90(the )-90(terminal )-90(was )-90(used.)-590(If )-90(we )-90(want )-90(to )-90(be )-90(sur)]TJ -0.3403 Tc 26.381 0 Td -(et)Tj -0 Tc 1.145 0 Td -[(hat )-90(the )-90(terminal )-90(behavior)]TJ --27.526 -1.2 Td -[(conforms )-79(to )-79(the )-79(standar)18(d, )-79(we )-79(can )-79(open )-79(the )-79(terminal )-79(device )-79(with )-79(the)]TJ -/TT1 1 Tf -31.007 0 Td -(O_TTY_INIT)Tj -/T1_0 1 Tf -6.329 0 Td -(\337ag)Tj --37.336 -1.2 Td -[(\(see )-206(Section )-206(3.3\).)-706(This )-206(will )-206(ensur)]TJ -0.4558 Tc 15.352 0 Td -(et)Tj -0 Tc 1.261 0 Td -[(hat )-206(when )-206(we )-206(call)]TJ -/TT1 1 Tf -8.547 0 Td -(tcgetattr)Tj -/T1_0 1 Tf -0.4557 Tc (,a)Tj -0 Tc 6.606 0 Td -[(ny )-206(nonstandar)18(d)]TJ --31.765 -1.2 Td -[(portions )-194(of )-194(the)]TJ -/TT1 1 Tf -7.308 0 Td -(termios)Tj -/T1_0 1 Tf -4.644 0 Td -[(str)8(uctur)]TJ -0.4438 Tc 3.49 0 Td -(ew)Tj -0 Tc 1.757 0 Td -[(ill )-194(be )-194(initialized )-194(so )-194(the )-194(terminal )-194(will )-194(behave )-194(as)]TJ --17.199 -1.2 Td -(expected when we change the attributes and call)Tj -/TT1 1 Tf -21.697 0 Td -(tcsetattr)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -11.9986 0 0 11.9986 93.5898 197.7263 Tm -[(18.5 )-776(T)60(erminal )-278(Option )-278(Fla)10(gs)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5855 180.9283 Tm -[(In )-72(this )-72(section, )-72(we )-72(list )-72(all )-72(the )-72(various )-72(terminal )-72(option )-72(\337ags, )-72(expanding )-72(the )-72(descriptions)]TJ -T* -[(fr)18(om )-120(Figur)18(es )-120(18.3 )-120(thr)18(ough )-120(18.6.)-618(This )-120(list )-120(is )-120(alphabetical )-120(and )-120(indicates )-120(in )-120(which )-120(of )-120(the)]TJ -T* -[(four )-120(terminal )-120(\337ag )-120(\336elds )-120(the )-120(option )-120(appears.)-620(\(The )-120(\336eld )-120(that )-120(contr)18(ols )-120(a )-120(given )-120(option )-120(is)]TJ -T* -[(usually )-25(not )-25(appar)18(ent )-25(fr)18(om )-25(the )-25(option )-25(name )-25(alone.\))]TJ --0.092 Tc 22.98 0 Td -[(We )-209(a)]TJ -0 Tc 2.162 0 Td -[(lso )-25(note )-25(whether )-25(each )-25(option )-25(is)]TJ --25.142 -1.2 Td -(de\336ned by the Single UNIX Speci\336cation and list the platforms that\ support it.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46898 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(678)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(18.3 )-776(Special)-556(Input )-278(Character)15(s)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(POSIX.1 )-203(de\336nes )-203(1)]TJ -0.4533 Tc 8.201 0 Td -(1c)Tj -0 Tc 1.397 0 Td -[(haracters )-203(that )-203(ar)]TJ -0.4533 Tc 7.563 0 Td -(eh)Tj -0 Tc 1.514 0 Td -[(andled )-203(specially )-203(on )-203(input.)-704(Implementations)]TJ --18.675 -1.2 Td -[(de\336ne additional special characters.)-500(Figur)]TJ -0.25 Tc 18.707 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(8.9 summarizes these special characters.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1116.25 6106.25 cm -0 0 m -4085 0 l -S -Q -Q -BT -/TT1 1 Tf -6.9992 0 0 6.9992 235.8177 603.3276 Tm -(c_cc)Tj -/T1_1 1 Tf -8.152 0 Td -(Enabled by)Tj --0.09 Tc 8.843 0 Td -(Ty)Tj -0 Tc 1.079 0 Td -[(pical )-4419(Fr)18(eeBSD )-250(Linux )-250(Mac)-250(OS X)-500(Solaris)]TJ --18.904 -1.286 Td -[(subscript )-2421(\336eld)-4775(\337ag )-2802(value)]TJ -26.975 0 Td -[(8.0 )-1827(3.2.0)-1736(10.6.8 )-2170(10)]TJ --43.277 0.643 Td -[(Character)-2936(Description)]TJ -37.833 0 Td -(POSIX.1)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1116.25 5906.25 cm -0 0 m -4085 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1116.25 5886.25 cm -0 0 m -4085 0 l -S -Q -Q -BT -/T1_1 1 Tf -6.9987 0 0 6.9987 115.0793 581.2954 Tm -[(CR )-3438(carriage)]TJ --0.018 Tc 8.875 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-3468(\(can\325t)-250(change\))]TJ -/TT1 1 Tf -12.313 0 Td -[(c_lflag )-900(ICANON)-3903(\\r)]TJ -/T1_1 1 Tf -3.629 Tc 17.437 0 Td -(\245\245)Tj -3.3796 Tc 7.937 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -47.418 -1.414 Td -[(DISCARD )-250(discar)]TJ -0.25 Tc 7.712 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput)Tj -/TT1 1 Tf -6.236 0 Td -[(VDISCARD )-1289(c_lflag)-1500(IEXTEN)]TJ -/T1_1 1 Tf -19.932 0 Td -(\366O )Tj -8.429 0 Td -(\245)Tj -3.3796 Tc 3.702 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -47.418 -1.414 Td -(DSUSP)Tj -/TT1 1 Tf -15.355 0 Td -[(VDSUSP )-2489(c_lflag)-1500(ISIG)]TJ -/T1_1 1 Tf -19.992 0 Td -(\366Y )Tj -8.369 0 Td -(\245)Tj -3.564 Tc 7.688 0 Td -(\245\245)Tj -0 Tc -46.339 0 Td -(delayed suspend)Tj -1.543 -1.286 Td -(\()Tj -/TT1 1 Tf -(SIGTSTP)Tj -/T1_1 1 Tf -(\))Tj --6.608 -1.414 Td -[(EOF )-2862(end)-250(of \336le)]TJ -/TT1 1 Tf -15.355 0 Td -[(VEOF )-3689(c_lflag)-1500(ICANON)]TJ -/T1_1 1 Tf -19.938 0 Td -[(\366D )-2831(\245)]TJ -3.096 Tc 8.423 0 Td -[(\245\245 )3062(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj --55.574 -1.414 Td -[(EOL )-2807(end)-250(of line)]TJ -/TT1 1 Tf -15.355 0 Td -[(VEOL )-3689(c_lflag)-1500(ICANON)]TJ -/T1_1 1 Tf -3.629 Tc 24.126 0 Td -(\245\245)Tj -3.3796 Tc 7.937 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -47.418 -1.414 Td -[(EOL2 )-2307(alternate)-250(end of line)]TJ -/TT1 1 Tf -15.355 0 Td -[(VEOL2 )-3089(c_lflag)-1500(ICANON)]TJ -/T1_1 1 Tf -3.096 Tc 28.361 0 Td -[(\245\245 )3062(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj --55.574 -1.414 Td -(ERASE)Tj -/TT1 1 Tf -15.355 0 Td -[(VERASE )-2489(c_lflag)-1500(ICANON)]TJ -/T1_1 1 Tf -19.271 0 Td -(\366H, \366?)Tj -3.629 Tc 4.855 0 Td -(\245\245)Tj -3.3796 Tc 7.937 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -42.353 0 Td -(backspace one)Tj -1.543 -1.286 Td -(character)Tj --6.608 -1.414 Td -(ERASE2)Tj -/TT1 1 Tf -15.355 0 Td -[(VERASE2 )-1889(c_lflag)-1500(ICANON)]TJ -/T1_1 1 Tf -19.271 0 Td -(\366H, \366?)Tj -9.09 0 Td -(\245)Tj --38.651 0 Td -(alternate backspace)Tj -1.543 -1.286 Td -(character)Tj --6.608 -1.414 Td -(INTR)Tj -/TT1 1 Tf -15.355 0 Td -[(VINTR )-3089(c_lflag)-1500(ISIG)]TJ -/T1_1 1 Tf -19.332 0 Td -(\366?, \366C)Tj -3.629 Tc 4.794 0 Td -(\245\245)Tj -3.3796 Tc 7.937 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -42.353 0 Td -[(interr)8(upt signal)]TJ -1.543 -1.286 Td -(\()Tj -/TT1 1 Tf -(SIGINT)Tj -/T1_1 1 Tf -(\))Tj --6.608 -1.414 Td -[(KILL )-2530(erase)-250(line)]TJ -/TT1 1 Tf -15.355 0 Td -[(VKILL )-3089(c_lflag)-1500(ICANON)]TJ -/T1_1 1 Tf -19.936 0 Td -[(\366U )-2829(\245)]TJ -3.096 Tc 8.425 0 Td -[(\245\245 )3062(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj --55.574 -1.414 Td -[(LNEXT )-1482(literal)-250(next)]TJ -/TT1 1 Tf -15.355 0 Td -[(VLNEXT )-2489(c_lflag)-1500(IEXTEN)]TJ -/T1_1 1 Tf -19.964 0 Td -(\366V )Tj -8.397 0 Td -(\245)Tj -3.3796 Tc 3.702 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -47.418 -1.414 Td -[(NL )-3373(line)-250(feed \(newline\))-2041(\(can\325t change\))]TJ -/TT1 1 Tf -22.044 0 Td -[(c_lflag )-900(ICANON)-3903(\\n)]TJ -/T1_1 1 Tf -3.629 Tc 17.437 0 Td -(\245\245)Tj -3.3796 Tc 7.937 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -47.418 -1.414 Td -[(QUIT )-2301(quit)-250(signal \()]TJ -/TT1 1 Tf -(SIGQUIT)Tj -/T1_1 1 Tf -(\))Tj -/TT1 1 Tf -15.355 0 Td -[(VQUIT )-3089(c_lflag)-1500(ISIG)]TJ -/T1_1 1 Tf -20.022 0 Td -[(\366\\ )-2915(\245)]TJ -3.096 Tc 8.339 0 Td -[(\245\245 )3062(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj --55.574 -1.414 Td -[(REPRINT )-483(r)18(eprint all input)]TJ -/TT1 1 Tf -15.355 0 Td -[(VREPRINT )-1289(c_lflag)-1500(ICANON)]TJ -/T1_1 1 Tf -19.991 0 Td -(\366R )Tj -8.37 0 Td -(\245)Tj -3.3796 Tc 3.702 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -47.418 -1.414 Td -[(ST)74(AR)]TJ -1.979 Tc 2.473 0 Td -(Tr)Tj -0 Tc 2.969 0 Td -(esume output)Tj -/TT1 1 Tf -9.913 0 Td -[(VSTART )-2489(c_iflag)-1500(IXON/IXOFF)]TJ -/T1_1 1 Tf -19.932 0 Td -[(\366Q )-2825(\245)]TJ -3.096 Tc 8.429 0 Td -[(\245\245 )3062(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj --55.574 -1.414 Td -(ST)Tj --0.074 Tc 1.064 0 Td -(AT)Tj -0 Tc 1.317 0 Td -[(US )-1131(status)]TJ --0.018 Tc 5.537 0 Td -(re)Tj -0 Tc 0.856 0 Td -(quest)Tj -/TT1 1 Tf -6.581 0 Td -[(VSTATUS )-1889(c_lflag)-1500(ICANON)]TJ -/T1_1 1 Tf -20.019 0 Td -(\366T )Tj -8.342 0 Td -(\245)Tj -7.688 0 Td -(\245)Tj --51.404 -1.414 Td -[(ST)18(OP )-2305(stop)-250(output)]TJ -/TT1 1 Tf -15.355 0 Td -[(VSTOP )-3089(c_iflag)-1500(IXON/IXOFF)]TJ -/T1_1 1 Tf -20.063 0 Td -[(\366S )-2955(\245)]TJ -3.096 Tc 8.298 0 Td -[(\245\245 )3062(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj --55.574 -1.414 Td -(SUSP)Tj -/TT1 1 Tf -15.355 0 Td -[(VSUSP )-3089(c_lflag)-1500(ISIG)]TJ -/T1_1 1 Tf -19.992 0 Td -[(\366Z )-2884(\245)]TJ -3.096 Tc 8.369 0 Td -[(\245\245 )3062(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj --50.509 0 Td -(suspend signal)Tj -1.543 -1.286 Td -(\()Tj -/TT1 1 Tf -(SIGTSTP)Tj -/T1_1 1 Tf -(\))Tj --6.608 -1.414 Td -[(WERASE )-622(backspace)-250(one wor)18(d)]TJ -/TT1 1 Tf -15.355 0 Td -[(VWERASE )-1889(c_lflag)-1500(ICANON)]TJ -/T1_1 1 Tf -19.825 0 Td -(\366W )Tj -8.536 0 Td -(\245)Tj -3.3796 Tc 3.702 0 Td -[(\245\245 )3445(\245)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1116.25 3544.25 cm -0 0 m -4085 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4082.25 3544.25 cm -0 0 m -0 2562 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3790.25 3544.25 cm -0 0 m -0 2562 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3530.25 3544.25 cm -0 0 m -0 2562 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2676.25 3544.25 cm -0 0 m -0 2562 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2208.25 3544.25 cm -0 0 m -0 2562 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1488.25 3544.25 cm -0 0 m -0 2562 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 5201.25 3544.25 cm -0 0 m -0 2562 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1116.25 3544.25 cm -0 0 m -0 2562 l -S -Q -Q -BT -/T1_0 1 Tf -0 Tc 7.9981 0 0 7.9981 221.1949 336.1193 Tm -(Figure 18.9)Tj -/T1_1 1 Tf -5.695 0 Td -(Summary of special terminal input characters)Tj -9.9976 0 0 9.9976 147.5648 306.1265 Tm -[(Of )-67(the )-67(1)]TJ -0.3174 Tc 3.586 0 Td -(1P)Tj -0 Tc 1.421 0 Td -[(OSIX.1 )-67(special )-67(characters, )-67(we )-67(can )-67(change )-67(9 )-67(of )-67(them )-67(to )-67(almost )-67(any )-67(value)]TJ --6.807 -1.2 Td -[(that )-37(we )-37(like.)-537(The )-37(exceptions )-37(ar)]TJ -0.2867 Tc 13.836 0 Td -(et)Tj -0 Tc 1.092 0 Td -[(he )-37(newline )-37(and )-37(carriage )-37(r)18(eturn )-37(characters )-37(\()]TJ -/TT1 1 Tf -19.156 0 Td -(\\n)Tj -/T1_1 1 Tf -1.487 0 Td -(and)Tj -/TT1 1 Tf -1.98 0 Td -(\\r)Tj -/T1_1 1 Tf -(,)Tj --0.018 Tc -37.55 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(spectively\) )-580(and )-580(per)18(haps )-580(the )-580(ST)18(OP )-580(and )-580(ST)75(AR)]TJ -0.8298 Tc 23.088 0 Td -(Tc)Tj -0 Tc 1.887 0 Td -[(haracters )-580(\(depends )-580(on )-580(the)]TJ --25.831 -1.2 Td -[(implementation\). )-304(T)92(o)-304(do)-304(t)-1(his, )-54(we )-54(modify )-54(the )-54(appr)18(opriate )-54(entry )-54(in )-54(the)]TJ -/TT1 1 Tf -31.074 0 Td -(c_cc)Tj -/T1_1 1 Tf -2.704 0 Td -[(array )-54(of )-54(the)]TJ -/TT1 1 Tf --33.779 -1.2 Td -(termios)Tj -/T1_1 1 Tf -4.474 0 Td -[(str)8(uctur)18(e. )-273(The)-274(elements )-23(in )-23(this )-23(array )-23(ar)]TJ -0.2735 Tc 17.446 0 Td -(er)Tj -0 Tc 1.129 0 Td -[(eferr)18(ed )-23(to )-23(by )-23(name, )-23(with )-23(each )-23(name)]TJ --23.049 -1.2 Td -(beginning with a)Tj -/TT1 1 Tf -7.755 0 Td -(V)Tj -/T1_1 1 Tf -0.85 0 Td -(\(the thir)Tj -0.25 Tc 3.546 0 Td -(dc)Tj -0 Tc 1.305 0 Td -(olumn in Figur)Tj -0.25 Tc 6.661 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(8.9\).)Tj --19.546 -1.2 Td -[(POSIX.1 )-45(allows )-45(us )-45(to )-45(disable )-45(these )-45(characters.)-546(If )-45(we )-45(set )-45(the )-45(value )-45(of )-45(an )-45(entry )-45(in )-45(the)]TJ -/TT1 1 Tf --1.8 -1.2 Td -(c_cc)Tj -/T1_1 1 Tf -2.871 0 Td -[(array )-220(to )-220(the )-220(value )-220(of)]TJ -/TT1 1 Tf -10.275 0 Td -(_POSIX_VDISABLE)Tj -/T1_1 1 Tf -0.4706 Tc (,t)Tj -0 Tc 10.047 0 Td -[(hen )-221(we )-221(disable )-221(the )-221(corr)20(esponding)]TJ --23.192 -1.2 Td -[(special character)74(.)]TJ -7.9981 0 0 7.9981 172.7603 190.1544 Tm -[(In )-46(early )-46(versions )-46(of )-46(the )-46(Single )-46(UNIX )-46(Speci\336cation, )-46(support )-46(for)]TJ -/TT1 1 Tf -28.067 0 Td -(_POSIX_VDISABLE)Tj -/T1_1 1 Tf -9.296 0 Td -[(was )-46(optional.)]TJ --37.363 -1.25 Td -[(It is now r)18(equir)18(ed.)]TJ -0 -1.875 TD -[(All )-125(four )-125(platforms )-125(discussed )-125(in )-125(this )-125(text )-125(support )-125(this )-125(featur)21(e. )-375(Linux)-374(3.2.0 )-125(and )-125(Solaris )-125(10 )-125(de\336ne)]TJ -/TT1 1 Tf -0 -1.25 Td -(_POSIX_VDISABLE)Tj -/T1_1 1 Tf -9.25 0 Td -[(as 0; Fr)18(eeBSD 8.0 and Mac OS X 10.6.8 de\336ne it as)]TJ -/TT1 1 Tf -22.083 0 Td -(0xff)Tj -/T1_1 1 Tf -(.)Tj --31.333 -1.875 Td -[(Some earlier UNIX systems disabled a featur)18(e)-250(if)-250(the corr)18(esponding special input character was 0.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46899 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(18)Tj -/T1_1 1 Tf --0.049 Tc 24 0 0 24 129.6 545.576 Tm -(Te)Tj -0.015 Tc 1.011 0 Td -(rm)Tj -0 Tc 1.275 0 Td -[(inal )-280(I/O)]TJ -/TT0 1 Tf -12 0 0 12 93.6 410.4 Tm -[(18.1 )-776(Intr)20(oduction)]TJ -/T1_2 1 Tf -10 0 0 10 129.6 386.4 Tm -[(The )-76(handling )-76(of )-76(terminal )-76(I/O )-76(is )-76(a )-76(messy )-76(ar)18(ea, )-76(r)19(egar)18(dless )-76(of )-76(the )-76(operating )-76(system.)-576(The)]TJ --0 -1.2 Td -[(UNIX )-71(System )-71(is )-71(no )-71(exception.)-571(The )-71(manual )-71(page )-71(for )-71(terminal )-71(I/O )-71(is )-71(usually )-71(one )-71(of )-71(the)]TJ -0 -1.2 TD -[(longest in most editions of the pr)18(ogrammer )176(\325s)-250(manuals.)]TJ --0.055 Tc 1.8 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-354(the )-354(UNIX )-354(System, )-354(a )-354(schism )-354(formed )-354(in )-354(the )-354(late )-354(1970s )-354(when )-354(System )-354(III)]TJ --3.036 -1.2 Td -[(developed )-106(a )-106(dif)18(fer)18(ent )-106(set )-106(of )-106(terminal )-106(r)18(outines )-106(fr)18(om )-106(those )-106(of )-106(V)111(ersion )-106(7.)-604(The )-106(System )-106(III)]TJ -0 -1.2 Td -[(style )-92(of )-92(terminal )-92(I/O )-92(continued )-92(thr)18(ough )-92(System )-92(V)]TJ -0.342 Tc 22.647 0 Td -(,a)Tj -0 Tc 1.092 0 Td -[(nd )-92(the )-92(V)111(ersion )-92(7 )-92(style )-92(became )-92(the)]TJ --23.739 -1.2 Td -(standar)Tj -0.2773 Tc 3.32 0 Td -(df)Tj -0 Tc 1.221 0 Td -[(or )-27(the )-27(BSD-derived )-27(systems.)-528(As )-27(with )-27(signals, )-27(this )-27(dif)17(fer)18(ence )-27(between )-27(the )-27(two)]TJ --4.541 -1.2 Td -[(worlds )-184(has )-184(been )-184(conquer)17(ed )-184(by )-184(POSIX.1.)-684(In )-184(this )-184(chapter)73(,)-434(we)-434(l)-1(ook )-184(at )-184(all )-184(the )-184(POSIX.1)]TJ --0 -1.2 Td -(terminal functions and some of the platform-speci\336c additions.)Tj -1.8 -1.2 Td -[(Part )-292(of )-292(the )-292(complexity )-292(of )-292(the )-292(terminal )-292(I/O )-292(system )-292(occurs )-292(because )-292(people )-292(use)]TJ --1.8 -1.2 Td -[(terminal )-424(I/O )-424(for )-424(so )-424(many )-424(dif)18(fer)18(ent )-424(things: )-424(terminals, )-424(har)18(d-wir)18(ed )-424(lines )-424(between)]TJ -T* -(computers, modems, printers, and so on.)Tj -/TT0 1 Tf -12 0 0 12 93.6001 218.4 Tm -[(18.2 )-776(Over)-10(vie)15(w)]TJ -/T1_2 1 Tf --0.092 Tc 10 0 0 10 129.6001 194.4 Tm -(Te)Tj -0 Tc 1 0 Td -(rminal I/O has two modes:)Tj -0.8 -1.8 Td -[(1. )-633(Canonical)-317(mode )-67(input )-67(pr)17(ocessing. )-317(In)-318(this )-67(mode, )-67(terminal )-67(input )-67(is )-67(pr)18(ocessed )-67(as)]TJ -1.633 -1.2 Td -[(lines. )-250(The)-250(terminal driver r)18(eturns at most one line per r)18(ead r)18(equest.)]TJ --1.633 -1.6 Td -[(2. )-633(Noncanonical)-362(mode )-112(input )-112(pr)17(ocessing. )-362(The)-363(input )-112(characters )-112(ar)]TJ -0.3625 Tc 29.898 0 Td -(en)Tj -0 Tc 1.424 0 Td -[(ot )-112(assembled)]TJ --29.689 -1.2 Td -(into lines.)Tj -/T1_3 1 Tf -9 0 0 9 506.1001 114 Tm -(671)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46900 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(xvi)Tj -/T1_1 1 Tf -3.389 0 Td -(Contents)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 154.7907 667.9599 Tm -[(15.4 )-2456(Coprocesses)-2160(548)]TJ -0 -1.3 TD -[(15.5 )-2456(FIFOs)-2160(552)]TJ -T* -[(15.6 )-2456(XSI)-556(IPC )-1882(556)]TJ -T* -[(15.6.1 )-3422(Identi\336ers)-556(and )-278(K)]TJ --0.02 Tc 14.222 0 Td -(ey)Tj -2.16 Tc 1.036 0 Td -(s5)Tj -0 Tc 3.216 0 Td -(56)Tj --18.474 -1.3 Td -[(15.6.2 )-3422(P)50(er )253(mission)-556(Str )263(ucture)-2160(558)]TJ --0 -1.3 Td -[(15.6.3 )-3422(Con\336gur)10(ation )-278(Limits)-2160(559)]TJ -T* -[(15.6.4 )-3422(Adv)25(antages )-278(and )-278(Disadv)25(antages )-1882(559)]TJ --0 -1.3 Td -[(15.7 )-2456(Message)-556(Queues )-1882(561)]TJ -T* -[(15.8 )-2456(Semaphores)-2160(565)]TJ -T* -[(15.9 )-2456(Shared)-556(Memor )248(y)-2160(571)]TJ -0 -1.3 Td -[(15.10 )-1900(POSIX)-556(Semaphores )-1882(579)]TJ -T* -[(15.11 )-1900(Client\320Ser)]TJ --0.025 Tc 9.378 0 Td -(ve)Tj -0.556 Tc 1.031 0 Td -(rP)Tj -0 Tc 1.556 0 Td -[(roper )238(ties)-2160(585)]TJ --11.965 -1.3 Td -[(15.12 )-1900(Summar)]TJ -2.16 Tc 8.488 0 Td -(y5)Tj -0 Tc 3.216 0 Td -(87)Tj -/TT1 1 Tf --14.224 -2.47 Td -[(Chapter )-278(16.)-1476(Netw)20(ork )-278(IPC: )-278(Soc)20(kets )]TJ -34.118 0 Td -(589)Tj -/TT0 1 Tf --31.598 -1.82 Td -[(16.1 )-2456(Introduction)-2160(589)]TJ -T* -[(16.2 )-2456(Soc)]TJ --0.02 Tc 6.383 0 Td -(ke)Tj -0.556 Tc 1.036 0 Td -(tD)Tj -0 Tc 1.556 0 Td -[(escr )263(iptors)-2160(590)]TJ --8.975 -1.3 Td -[(16.3 )-2456(Addressing)-2160(593)]TJ -T* -[(16.3.1 )-3422(Byte)-556(Order )263(ing)-2160(593)]TJ --0 -1.3 Td -[(16.3.2 )-3422(Address)]TJ --0.03 Tc 10.704 0 Td -(Fo)Tj -0.025 Tc 1.137 0 Td -(rm)Tj -0 Tc 1.191 0 Td -[(ats )-1882(595)]TJ --13.032 -1.3 Td -[(16.3.3 )-3422(Address)-556(Lookup )-1882(597)]TJ -T* -[(16.3.4 )-3422(Associating)-556(Addresses )-278(with )-278(Soc)]TJ --0.02 Tc 21.466 0 Td -(ke)Tj -0 Tc 1.036 0 Td -[(ts )-1882(604)]TJ --22.502 -1.3 Td -[(16.4 )-2456(Connection)-556(Estab)20(lishment )-1882(605)]TJ --0 -1.3 Td -[(16.5 )-2456(Data)]TJ --0.12 Tc 7.348 0 Td -[(Tr )48(a)]TJ -0 Tc 1.37 0 Td -[(nsf)30(er )-1882(610)]TJ --8.718 -1.3 Td -[(16.6 )-2456(Soc)]TJ --0.02 Tc 6.383 0 Td -(ke)Tj -0.556 Tc 1.036 0 Td -(tO)Tj -0 Tc 1.612 0 Td -[(ptions )-1882(623)]TJ --9.031 -1.3 Td -[(16.7 )-2456(Out-of-Band)-556(Data )-1882(626)]TJ -T* -[(16.8 )-2456(Nonb)20(loc)20(king )-278(and )-278(Asynchronous )-278(I/O)-2160(627)]TJ -0 -1.3 Td -[(16.9 )-2456(Summar)]TJ -2.16 Tc 8.488 0 Td -(y6)Tj -0 Tc 3.216 0 Td -(28)Tj -/TT1 1 Tf --14.224 -2.47 Td -[(Chapter )-278(17.)-1476(Ad)]TJ --0.02 Tc 8.518 0 Td -(va)Tj -0 Tc 1.092 0 Td -[(nced )-278(IPC)]TJ -24.508 0 Td -(629)Tj -/TT0 1 Tf --31.598 -1.82 Td -[(17.1 )-2456(Introduction)-2160(629)]TJ -T* -[(17.2 )-2456(UNIX)-556(Domain )-278(Soc)]TJ --0.02 Tc 13.329 0 Td -(ke)Tj -0 Tc 1.036 0 Td -[(ts )-1882(629)]TJ --14.365 -1.3 Td -[(17.2.1 )-3422(Naming)-556(UNIX )-278(Domain )-278(Soc)]TJ --0.02 Tc 19.13 0 Td -(ke)Tj -0 Tc 1.036 0 Td -[(ts )-1882(634)]TJ --20.166 -1.3 Td -[(17.3 )-2456(Unique)-556(Connections )-1882(635)]TJ -T* -[(17.4 )-2456(P)40(assing )-278(File )-278(Descr)-15(iptors )-1882(642)]TJ --0 -1.3 Td -[(17.5 )-2456(An)-556(Open )-278(Ser)]TJ --0.025 Tc 11.047 0 Td -(ve)Tj --0.05 Tc 1.031 0 Td -[(r, )-378(V)]TJ -0 Tc 1.704 0 Td -[(ersion )-278(1)-2160(653)]TJ --13.782 -1.3 Td -[(17.6 )-2456(An)-556(Open )-278(Ser)]TJ --0.025 Tc 11.047 0 Td -(ve)Tj --0.05 Tc 1.031 0 Td -[(r, )-378(V)]TJ -0 Tc 1.704 0 Td -[(ersion )-278(2)-2160(659)]TJ --13.782 -1.3 Td -[(17.7 )-2456(Summar)]TJ -2.16 Tc 8.488 0 Td -(y6)Tj -0 Tc 3.216 0 Td -(69)Tj -/TT1 1 Tf --14.224 -2.47 Td -[(Chapter )-278(18.)]TJ --0.06 Tc 7.2 0 Td -(Te)Tj -0 Tc 1.107 0 Td -[(rminal )-278(I/O)]TJ -25.811 0 Td -(671)Tj -/TT0 1 Tf --31.598 -1.82 Td -[(18.1 )-2456(Introduction)-2160(671)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46901 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.7)]TJ -39.488 0 Td -(Summary)Tj -/T1_1 1 Tf -6.345 0 Td -(669)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(/* parse the arguments, set options */)Tj -0 -1.189 TD -(if \(buf_args\(buf, cli_args\) < 0\) {)Tj -2.4 -1.189 Td -(send_err\(clifd, -1, errmsg\);)Tj -T* -(log_msg\(errmsg\);)Tj -T* -(return;)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(if \(\(newfd = open\(pathname, oflag\)\) < 0\) {)Tj -2.4 -1.189 Td -(snprintf\(errmsg, MAXLINE-1, "can\325t open %s: %s\\n",)Tj -1.2 -1.189 Td -(pathname, strerror\(errno\)\);)Tj --1.2 -1.189 Td -(send_err\(clifd, -1, errmsg\);)Tj -0 -1.189 TD -(log_msg\(errmsg\);)Tj -0 -1.189 TD -(return;)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(/* send the descriptor */)Tj -0 -1.189 TD -(if \(send_fd\(clifd, newfd\) < 0\))Tj -2.4 -1.189 Td -(log_sys\("send_fd error"\);)Tj --2.4 -1.189 Td -(log_msg\("sent fd %d over fd %d for %s", newfd, clifd, pathname\);)Tj -T* -[(close\(newfd\); )-3600(/*)-600(we\325re done with descriptor */)]TJ --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4558.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 241.339 439.7262 Tm -(Figure 17.31)Tj -/T1_0 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(request)Tj -/T1_0 1 Tf -4.45 0 Td -(function, version 2)Tj -9.9988 0 0 9.9988 129.5848 415.7291 Tm -[(This )-123(completes )-123(the )-123(second )-123(version )-123(of )-123(the )-123(open )-123(server)]TJ -0.3726 Tc 24.256 0 Td -(,w)Tj -0 Tc 1.457 0 Td -[(hich )-122(uses )-122(a )-122(single )-122(daemon )-122(to)]TJ --25.712 -1.2 Td -[(handle all the client r)18(equests.)]TJ -/TT1 1 Tf -11.9986 0 0 11.9986 93.5892 367.7349 Tm -[(17.7 )-776(Summar)-10(y)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5848 343.7377 Tm -[(The )-73(key )-73(points )-73(in )-73(this )-73(chapter )-73(ar)]TJ -0.3235 Tc 14.676 0 Td -(et)Tj -0 Tc 1.129 0 Td -[(he )-73(ability )-73(to )-73(pass )-73(\336le )-73(descriptors )-73(between )-73(pr)15(ocesses)]TJ --15.805 -1.2 Td -[(and )-223(the )-223(ability )-223(of )-223(a )-223(server )-223(to )-223(accept )-223(unique )-223(connections )-223(fr)18(om )-223(clients.)-723(Although )-223(all)]TJ -0 -1.2 TD -[(platforms )-90(pr)18(ovide )-90(support )-90(for )-90(UNIX )-90(domain )-90(sockets )-90(\(r)18(efer )-90(back )-90(to )-90(Figur)]TJ -0.3405 Tc 32.872 0 Td -(e1)Tj -0 Tc 1.319 0 Td -[(5.1\), )-90(we\325ve)]TJ --34.192 -1.2 Td -[(seen )-16(that )-16(ther)]TJ -0.2665 Tc 5.995 0 Td -(ea)Tj --0.018 Tc 1.246 0 Td -[(re )-53(d)]TJ -0 Tc 1.734 0 Td -[(if)18(fer)18(ences )-16(in )-16(each )-16(implementation, )-16(which )-16(makes )-16(it )-16(mor)]TJ -0.2664 Tc 24.254 0 Td -(ed)Tj -0 Tc 1.356 0 Td -[(if)18(\336cult )-16(for)]TJ --34.585 -1.2 Td -(us to develop portable applications.)Tj --0.092 Tc 1.8 -1.2 Td -[(We )-264(u)]TJ -0 Tc 2.32 0 Td -[(sed )-80(UNIX )-80(domain )-80(sockets )-80(thr)18(oughout )-80(this )-80(chapter)]TJ -0.5802 Tc 22.643 0 Td -(.W)Tj -0.3302 Tc 1.738 0 Td -(es)Tj -0 Tc 1.233 0 Td -[(aw )-80(how )-80(to )-80(use )-80(them)]TJ --29.735 -1.2 Td -[(to )-399(implement )-399(a )-399(full-duplex )-399(pipe )-399(and )-399(how )-399(they )-399(can )-399(be )-399(used )-399(to )-399(adapt )-399(the )-399(I/O)]TJ -T* -[(multiplexing functions fr)18(om Section 14.4 to work indir)18(ectly with XSI message queues.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-219(p)]TJ --0.018 Tc 2.273 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sented )-35(two )-35(versions )-35(of )-35(an )-35(open )-35(server)]TJ -0.5354 Tc 16.857 0 Td -(.O)Tj -0 Tc 1.571 0 Td -[(ne )-35(version )-35(was )-35(invoked )-35(dir)18(ectly )-35(by)]TJ --23.358 -1.2 Td -[(the )-155(client, )-155(using)]TJ -/TT0 1 Tf -7.722 0 Td -(fork)Tj -/T1_0 1 Tf -2.805 0 Td -(and)Tj -/TT0 1 Tf -2.098 0 Td -(exec)Tj -/T1_0 1 Tf -0.6552 Tc (.T)Tj -0 Tc 3.918 0 Td -[(he )-155(second )-155(was )-155(a )-155(daemon )-155(server )-155(that )-155(handled )-155(all)]TJ --16.543 -1.2 Td -[(client r)18(equests. )-250(Both)-250(versions used the \336le descriptor passing and r)18(eceiving functions.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-292(a)]TJ -0 Tc 2.245 0 Td -[(lso )-108(saw )-108(how )-108(to )-108(use )-108(the)]TJ -/TT0 1 Tf -10.895 0 Td -(getopt)Tj -/T1_0 1 Tf -3.958 0 Td -[(function )-108(to )-108(enfor)18(ce )-108(consistent )-108(command)]TJ -18.125 0.09 Td -(-)Tj -0.333 -0.09 Td -(line)Tj --37.357 -1.2 Td -[(pr)18(ocessing )-167(for )-167(our )-167(pr)17(ograms. )-417(The)-418(\336nal )-167(version )-167(of )-167(the )-167(open )-167(server )-167(used )-167(the)]TJ -/TT0 1 Tf -35.4 0 Td -(getopt)Tj -/T1_0 1 Tf --35.4 -1.2 Td -[(function, )-51(the )-51(client\320server )-51(connection )-51(functions )-51(intr)18(oduced )-51(in )-51(Section )-51(17.3, )-51(and )-51(the )-51(I/O)]TJ -T* -[(multiplexing functions fr)18(om Section 14.4.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46902 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.6)]TJ -31.183 0 Td -[(An )-250(Open )-250(Server)]TJ -0.5 Tc 7.572 0 Td -(,V)Tj -0 Tc 1.361 0 Td -[(ersion )-250(2)]TJ -/T1_1 1 Tf -5.717 0 Td -(659)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(17.6 )-776(An)-556(Open )-278(Ser)-10(ver)]TJ -0.556 Tc 11.064 0 Td -(,V)Tj -0 Tc 1.451 0 Td -[(er)15(sion )-278(2)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5925 644.9613 Tm -[(In )-59(the )-59(pr)17(evious )-59(section, )-59(we )-59(developed )-59(an )-59(open )-59(server )-59(that )-59(was )-59(invoked )-59(by )-59(a)]TJ -/TT1 1 Tf -34.597 0 Td -(fork)Tj -/T1_0 1 Tf -2.709 0 Td -(and)Tj -/TT1 1 Tf --37.307 -1.2 Td -(exec)Tj -/T1_0 1 Tf -2.777 0 Td -[(by )-127(the )-127(client, )-127(demonstrating )-127(how )-127(we )-127(can )-127(pass )-127(\336le )-127(descriptors )-127(fr)18(om )-127(a )-127(child )-127(to )-127(a)]TJ --2.777 -1.2 Td -[(par)18(ent. )-388(In)-389(this )-138(section, )-138(we )-138(develop )-138(an )-138(open )-138(server )-138(as )-138(a )-138(daemon )-138(pr)16(ocess. )-388(One)-388(server)]TJ -0 -1.2 Td -[(handles )-4(all )-4(clients.)]TJ --0.092 Tc 8.649 0 Td -[(We )-188(e)]TJ -0 Tc 2.12 0 Td -[(xpect )-4(this )-4(design )-4(to )-4(be )-4(mor)]TJ -0.2537 Tc 11.911 0 Td -(ee)Tj --0.018 Tc 1.212 0 Td -(f\336)Tj -0 Tc 0.92 0 Td -[(cient, )-4(since )-4(a)]TJ -/TT1 1 Tf -5.853 0 Td -(fork)Tj -/T1_0 1 Tf -2.654 0 Td -[(and )-4(an)]TJ -/TT1 1 Tf -3.282 0 Td -(exec)Tj -/T1_0 1 Tf --36.6 -1.2 Td -(ar)Tj -0.4549 Tc 0.877 0 Td -(ea)Tj -0 Tc 1.434 0 Td -[(voided. )-455(W)]TJ -0.4549 Tc 4.966 0 Td -(eu)Tj -0 Tc 1.537 0 Td -[(se )-205(a )-205(UNIX )-205(domain )-205(socket )-205(connection )-205(between )-205(the )-205(client )-205(and )-205(the)]TJ --8.814 -1.2 Td -[(server )-40(and )-40(demonstrate )-40(passing )-40(\336le )-40(descriptors )-40(between )-40(unr)18(elated )-40(pr)19(ocesses. )-290(W)92(e\325ll )-40(use)]TJ --0 -1.2 Td -[(the )-413(thr)18(ee )-413(functions)]TJ -/TT1 1 Tf -9.75 0 Td -(serv_listen)Tj -/T1_0 1 Tf -(,)Tj -/TT1 1 Tf -7.513 0 Td -(serv_accept)Tj -/T1_0 1 Tf -0.6629 Tc (,a)Tj -0 Tc 8.013 0 Td -(nd)Tj -/TT1 1 Tf -1.856 0 Td -(cli_conn)Tj -/T1_0 1 Tf -5.463 0 Td -[(intr)18(oduced )-413(in)]TJ --32.594 -1.2 Td -[(Section )-168(17.3.)-668(This )-168(server )-168(also )-168(demonstrates )-168(how )-168(a )-168(single )-168(server )-168(can )-168(handle )-168(multiple)]TJ -0 -1.2 TD -(clients, using both the)Tj -/TT1 1 Tf -9.937 0 Td -(select)Tj -/T1_0 1 Tf -3.85 0 Td -(and)Tj -/TT1 1 Tf -1.943 0 Td -(poll)Tj -/T1_0 1 Tf -2.65 0 Td -[(functions fr)18(om Section 14.4.)]TJ --16.58 -1.2 Td -[(This )-95(version )-95(of )-95(the )-95(client )-95(is )-95(similar )-95(to )-95(the )-95(client )-95(fr)18(om )-95(Section )-95(17.5.)-595(Indeed, )-95(the )-95(\336le)]TJ -/TT1 1 Tf --1.8 -1.2 Td -(main.c)Tj -/T1_0 1 Tf -4.006 0 Td -[(is )-156(identical )-156(\(Figur)]TJ -0.406 Tc 8.058 0 Td -(e1)Tj -0 Tc 1.385 0 Td -[(7.18\). )-406(W)]TJ -0.406 Tc 3.897 0 Td -(ea)Tj -0 Tc 1.385 0 Td -[(dd )-156(the )-156(following )-156(line )-156(to )-156(the)]TJ -/TT1 1 Tf -13.217 0 Td -(open.h)Tj -/T1_0 1 Tf -4.006 0 Td -(header)Tj --35.954 -1.2 Td -(\(Figur)Tj -0.25 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(7.17\):)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.592 493.0602 Tm -[(#define CS_OPEN "/tmp/opend.socket")-1200(/* server\325s well-known name */)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5931 471.8517 Tm -[(The )-17(\336le)]TJ -/TT1 1 Tf -3.583 0 Td -(open.c)Tj -/T1_0 1 Tf -3.867 0 Td -[(does )-17(change )-17(fr)18(om )-17(Figur)]TJ -0.2667 Tc 10.525 0 Td -(e1)Tj -0 Tc 1.246 0 Td -[(7.19, )-17(since )-17(we )-17(now )-17(call)]TJ -/TT1 1 Tf -10.355 0 Td -(cli_conn)Tj -/T1_0 1 Tf -5.067 0 Td -[(instead )-17(of)]TJ --34.641 -1.2 Td -(doing the)Tj -/TT1 1 Tf -4.473 0 Td -(fork)Tj -/T1_0 1 Tf -2.65 0 Td -(and)Tj -/TT1 1 Tf -1.943 0 Td -(exec)Tj -/T1_0 1 Tf -0.5 Tc (.T)Tj -0 Tc 3.763 0 Td -(his is shown in Figur)Tj -0.25 Tc 9.236 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(7.25.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4527.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 443.1258 Tm -[(#include )-1800("open.h")]TJ -0 -1.189 TD -[(#include )-1800()-3000(/* struct iovec */)]TJ -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*O)Tj -0 Tc 1.8 0 Td -(pen the file by sending the "name" and "oflag" to the)Tj -0.6 Tc -1.8 -1.189 Td -(*c)Tj -0 Tc 1.8 0 Td -(onnection server and reading a file descriptor back.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(int)Tj -0 -1.189 TD -(csopen\(char *name, int oflag\))Tj -T* -({)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -(len;)Tj --9.6 -1.189 Td -(char )Tj -9.6 0 Td -(buf[12];)Tj --9.6 -1.189 Td -[(struct iovec)-2400(iov[3];)]TJ -T* -[(static int)-3600(csfd = -1;)]TJ -0 -2.021 TD -[(if \(csfd < 0\) {)-3000(/* open connection to conn server */)]TJ -2.4 -1.189 Td -(if \(\(csfd = cli_conn\(CS_OPEN\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_ret\("cli_conn error"\);)Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -[(sprintf\(buf, " %d", oflag\);)-3000(/* oflag to ascii */)]TJ -0 -1.189 TD -[(iov[0].iov_base = CL_OPEN " ";)-1200(/* string concatenation */)]TJ -T* -[(iov[0].iov_len )-600(=)-600(strlen\(CL_OPEN\) + 1;)]TJ -T* -(iov[1].iov_base = name;)Tj -T* -[(iov[1].iov_len )-600(=)-600(strlen\(name\);)]TJ -T* -(iov[2].iov_base = buf;)Tj -T* -[(iov[2].iov_len )-600(=)-600(strlen\(buf\) + 1;)-1200(/* null always sent */)]TJ -T* -(len = iov[0].iov_len + iov[1].iov_len + iov[2].iov_len;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46903 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.5)]TJ -31.183 0 Td -[(An )-250(Open )-250(Server)]TJ -0.5 Tc 7.572 0 Td -(,V)Tj -0 Tc 1.361 0 Td -[(ersion )-250(1)]TJ -/T1_1 1 Tf -5.717 0 Td -(653)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(17.5 )-776(An)-556(Open )-278(Ser)-10(ver)]TJ -0.556 Tc 11.064 0 Td -(,V)Tj -0 Tc 1.451 0 Td -[(er)15(sion )-278(1)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5925 649.761 Tm -[(Using )-250(\336le )-250(descriptor )-250(passing, )-250(we )-250(now )-250(develop )-250(an )-250(open )-250(server)]TJ -0.0833 Tc 29.608 0 Td -[(\321a )-84(p)]TJ --0.018 Tc 2.685 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(gram )-251(that )-251(is)]TJ --33.216 -1.2 Td -[(executed )-58(by )-58(a )-58(pr)19(ocess )-58(to )-58(open )-58(one )-58(or )-58(mor)]TJ -0.3076 Tc 18.736 0 Td -(e\336)Tj -0 Tc 1.392 0 Td -[(les. )-308(Instead)-307(of )-58(sending )-58(the )-58(contents )-58(of )-58(the)]TJ --20.128 -1.2 Td -[(\336le )-69(back )-69(to )-69(the )-69(calling )-69(pr)18(ocess, )-69(however)]TJ -0.3194 Tc 17.909 0 Td -(,t)Tj -0 Tc 0.895 0 Td -[(his )-69(server )-69(sends )-69(back )-69(an )-69(open )-69(\336le )-69(descriptor)71(.)]TJ --18.804 -1.2 Td -[(As )-26(a )-26(r)18(esult, )-26(the )-26(open )-26(server )-26(can )-26(work )-26(with )-26(any )-26(type )-26(of )-26(\336le )-26(\(such )-26(as )-26(a )-26(device )-26(or )-26(a )-26(socket\))]TJ -0 -1.2 TD -[(and )-167(not )-167(simply )-167(r)18(egular )-167(\336les.)-667(The )-167(client )-167(and )-167(server )-167(exchange )-167(a )-167(minimum )-167(amount )-167(of)]TJ -T* -[(information )-342(using )-342(IPC: )-342(the )-342(\336lename )-342(and )-342(open )-342(mode )-342(sent )-342(by )-342(the )-342(client, )-342(and )-342(the)]TJ -T* -[(descriptor r)18(eturned by the server)]TJ -0.5 Tc 14.523 0 Td -(.T)Tj -0 Tc 1.363 0 Td -(he contents of the \336le ar)Tj -0.25 Tc 10.538 0 Td -(en)Tj -0 Tc 1.311 0 Td -(ot exchanged using IPC.)Tj --25.935 -1.2 Td -(Ther)Tj -0.4159 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.395 0 Td -[(re )-202(s)]TJ -0 Tc 1.696 0 Td -[(everal )-166(advantages )-166(in )-166(designing )-166(the )-166(server )-166(to )-166(be )-166(a )-166(separate )-166(executable)]TJ --6.942 -1.2 Td -[(pr)18(ogram )-126(\(either )-126(one )-126(that )-126(is )-126(executed )-126(by )-126(the )-126(client, )-126(as )-126(we )-126(develop )-126(in )-126(this )-126(section, )-126(or )-126(a)]TJ -T* -(daemon server)Tj -0.25 Tc 6.514 0 Td -(,w)Tj -0 Tc 1.334 0 Td -(hich we develop in the next section\).)Tj -0.883 Tc -6.048 -1.56 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-131(server )-131(can )-131(easily )-131(be )-131(contacted )-131(by )-131(any )-131(client, )-131(similar )-131(to )-131(the )-131(client )-131(calling )-131(a)]TJ --0.613 -1.2 Td -[(library )-534(function.)]TJ --0.092 Tc 8.756 0 Td -[(We )-718(a)]TJ --0.018 Tc 2.671 0 Td -[(re )-570(n)]TJ -0 Tc 2.222 0 Td -[(ot )-534(har)18(d-coding )-534(a )-534(particular )-534(service )-534(into )-534(the)]TJ --13.648 -1.2 Td -[(application, but designing a general facility that others can r)18(euse.)]TJ -0.883 Tc -1.489 -1.36 Td -(\245I)Tj -0 Tc 1.826 0 Td -[(f)-341(we)-341(n)-1(eed )-91(to )-91(change )-91(the )-91(server)]TJ -0.3415 Tc 13.91 0 Td -(,o)Tj -0 Tc 1.137 0 Td -[(nly )-91(a )-91(single )-91(pr)18(ogram )-91(is )-91(af)16(fected. )-341(Conversely)111(,)]TJ --15.385 -1.2 Td -[(updating )-2(a )-2(library )-2(function )-2(can )-2(r)18(equir)]TJ -0.2521 Tc 16.731 0 Td -(et)Tj -0 Tc 1.057 0 Td -[(hat )-2(all )-2(pr)18(ograms )-2(that )-2(call )-2(the )-2(function )-2(be)]TJ --17.789 -1.2 Td -[(updated )-143(\(i.e., )-143(r)18(elinked )-143(with )-143(the )-143(link )-143(editor\).)-646(Shar)18(ed )-143(libraries )-143(can )-143(simplify )-143(this)]TJ --0 -1.2 Td -(updating \(Section 7.7\).)Tj -0.883 Tc -1.489 -1.36 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-513(server )-513(can )-513(be )-513(a )-513(set-user)18(-ID )-513(pr)18(ogram, )-513(pr)18(oviding )-513(it )-513(with )-513(additional)]TJ --0.613 -1.2 Td -[(permissions )-7(that )-7(the )-7(client )-7(does )-7(not )-7(have.)-507(Note )-7(that )-7(a )-7(library )-7(function )-7(\(or )-7(shar)13(ed)]TJ -T* -[(library function\) can\325t pr)18(ovide this capability)111(.)]TJ --1.489 -1.56 Td -[(The )-112(client )-112(pr)18(ocess )-112(cr)18(eates )-112(an )-112(fd-pipe )-112(and )-112(then )-112(calls)]TJ -/TT1 1 Tf -23.616 0 Td -(fork)Tj -/T1_0 1 Tf -2.763 0 Td -(and)Tj -/TT1 1 Tf -2.056 0 Td -(exec)Tj -/T1_0 1 Tf -2.763 0 Td -[(to )-112(invoke )-112(the)]TJ --32.997 -1.2 Td -(server)Tj -0.5275 Tc 2.663 0 Td -(.T)Tj -0 Tc 1.391 0 Td -[(he )-27(client )-27(sends )-27(r)18(equests )-27(acr)18(oss )-27(the )-27(fd-pipe )-27(using )-27(one )-27(end, )-27(and )-27(the )-27(server )-27(sends)]TJ --4.054 -1.2 Td -[(back r)18(esponses over the fd-pipe using the other end.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-184(d)]TJ -0 Tc 2.248 0 Td -[(e\336ne the following application pr)18(otocol between the client and the server)74(.)]TJ --2.248 -1.56 Td -[(1. )-633(The)-610(client )-360(sends )-360(a )-360(r)18(equest )-360(of )-360(the )-360(form )-360(\324)40(\324)]TJ -/TT1 1 Tf -(open)Tj -/T1_2 1 Tf -24.707 0 Td -[( )-250()]TJ -/T1_0 1 Tf -[(\\0\325)37(\325)]TJ --23.074 -1.2 Td -[(acr)18(oss )-49(the )-49(fd-pipe )-49(to )-49(the )-49(server)]TJ -0.5486 Tc 13.766 0 Td -(.T)Tj -0 Tc 1.412 0 Td -(he)Tj -/T1_2 1 Tf -1.36 0 Td -()Tj -/T1_0 1 Tf -5.511 0 Td -[(is )-49(the )-49(numeric )-49(value, )-49(in )-49(ASCII)]TJ --22.048 -1.2 Td -[(decimal, )-154(of )-154(the )-154(second )-154(ar)18(gument )-154(to )-154(the)]TJ -/TT1 1 Tf -18.494 0 Td -(open)Tj -/T1_0 1 Tf -2.804 0 Td -[(function. )-404(This)]TJ --0.018 Tc 6.925 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(quest )-154(string )-154(is)]TJ --29.078 -1.2 Td -(terminated by a null byte.)Tj --1.633 -1.36 Td -[(2. )-633(The)-288(server )-38(sends )-38(back )-38(an )-38(open )-38(descriptor )-38(or )-38(an )-38(err)15(or )-38(by )-38(calling )-38(either)]TJ -/TT1 1 Tf -33 0 Td -(send_fd)Tj -/T1_0 1 Tf --31.367 -1.2 Td -(or)Tj -/TT1 1 Tf -1.191 0 Td -(send_err)Tj -/T1_0 1 Tf -(.)Tj --4.624 -1.56 Td -[(This )-10(is )-10(an )-10(example )-10(of )-10(a )-10(pr)18(ocess )-10(sending )-10(an )-10(open )-10(descriptor )-10(to )-10(its )-10(par)23(ent. )-259(In)-260(Section )-9(17.6,)]TJ -T* -[(we\325ll )-202(modify )-202(this )-202(example )-202(to )-202(use )-202(a )-202(single )-202(daemon )-202(server)]TJ -0.4518 Tc 26.596 0 Td -(,w)Tj -0 Tc 1.536 0 Td -(her)Tj -0.4518 Tc 1.438 0 Td -(et)Tj -0 Tc 1.257 0 Td -[(he )-202(server )-202(sends )-202(a)]TJ --30.827 -1.2 Td -[(descriptor to a completely unr)18(elated pr)18(ocess.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-473(\336)]TJ -0 Tc 2.531 0 Td -[(rst )-289(have )-289(the )-289(header)75(,)]TJ -/TT1 1 Tf -10.034 0 Td -(open.h)Tj -/T1_0 1 Tf -4.139 0 Td -(\(Figur)Tj -0.5385 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.517 0 Td -[(7.17\), )-288(which )-288(includes )-288(the )-288(standar)16(d)]TJ --22.737 -1.2 Td -[(headers and de\336nes the function pr)18(ototypes.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2154.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 205.8743 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(#define CL_OPEN "open")Tj -19.2 0 Td -(/* client\325s request for server */)Tj --19.2 -1.783 Td -[(int )-2400(csopen\(char)-600(*, int\);)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1583.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 264.4924 142.2724 Tm -(Figure 17.17)Tj -/T1_0 1 Tf -6.195 0 Td -(The)Tj -/TT1 1 Tf -1.924 0 Td -(open.h)Tj -/T1_0 1 Tf -3.85 0 Td -(header)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46904 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(642)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-562(t)]TJ -0 Tc 2.341 0 Td -[(hen )-378(have )-378(to )-378(\336ll )-378(in )-378(another)]TJ -/TT0 1 Tf -13.878 0 Td -(sockaddr_un)Tj -/T1_1 1 Tf -7.228 0 Td -[(str)8(uctur)18(e, )-378(this )-378(time )-378(with )-378(the)]TJ --25.247 -1.2 Td -[(well-known )-124(pathname )-124(of )-124(the )-124(server)]TJ -0.6244 Tc 16.208 0 Td -(.F)Tj -0 Tc 1.43 0 Td -[(inally)111(,)-374(we)-374(c)-1(all )-124(the)]TJ -/TT0 1 Tf -8.374 0 Td -(connect)Tj -/T1_1 1 Tf -4.574 0 Td -[(function )-124(to )-124(initiate)]TJ --30.586 -1.2 Td -[(the connection with the server)74(.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5944 608.9635 Tm -[(17.4 )-776(P)30(assing )-278(File )-278(Descriptor)15(s)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5923 584.9649 Tm -[(Passing )-81(an )-81(open )-81(\336le )-81(descriptor )-81(between )-81(pr)18(ocesses )-81(is )-81(a )-81(powerful )-81(technique.)-581(It )-81(can )-81(lead)]TJ -0 -1.2 TD -[(to )-427(dif)18(fer)18(ent )-427(ways )-427(of )-427(designing )-427(client\320server )-427(applications.)-927(It )-427(allows )-427(one )-427(pr)16(ocess)]TJ --0 -1.2 Td -[(\(typically )-219(a )-219(server\) )-219(to )-219(do )-219(everything )-219(that )-219(is )-219(r)18(equir)18(ed )-219(to )-219(open )-219(a )-219(\336le )-219(\(involving )-219(such)]TJ -T* -[(details )-210(as )-210(translating )-210(a )-210(network )-210(name )-210(to )-210(a )-210(network )-210(addr)14(ess, )-210(dialing )-210(a )-210(modem, )-210(and)]TJ -T* -[(negotiating )-112(locks )-112(for )-112(the )-112(\336le\) )-112(and )-112(simply )-112(pass )-112(back )-112(to )-112(the )-112(calling )-112(pr)13(ocess )-112(a )-112(descriptor)]TJ -T* -[(that )-54(can )-54(be )-54(used )-54(with )-54(all )-54(the )-54(I/O )-54(functions.)-550(All )-54(the )-54(details )-54(involved )-54(in )-54(opening )-54(the )-54(\336le)]TJ -T* -(or device ar)Tj -0.25 Tc 5.187 0 Td -(eh)Tj -0 Tc 1.311 0 Td -[(idden fr)18(om the client.)]TJ --0.092 Tc -4.698 -1.2 Td -[(We )-196(m)]TJ -0 Tc 2.532 0 Td -[(ust )-12(be )-12(mor)]TJ -0.2621 Tc 4.715 0 Td -(es)Tj -0 Tc 1.165 0 Td -[(peci\336c )-12(about )-12(what )-12(we )-12(mean )-12(by )-12(\324)36(\324passing )-12(an )-12(open )-12(\336le )-12(descriptor)]TJ --0.037 Tc 28.269 0 Td -(\325\325)Tj -0 Tc -38.481 -1.2 Td -[(fr)18(om )-76(one )-76(pr)17(ocess )-76(to )-76(another)]TJ -0.5764 Tc 12.554 0 Td -(.R)Tj -0 Tc 1.494 0 Td -[(ecall )-76(Figur)]TJ -0.3264 Tc 4.714 0 Td -(e3)Tj -0 Tc 1.305 0 Td -[(.8, )-76(which )-76(showed )-76(two )-76(pr)18(ocesses )-76(that )-76(have)]TJ --20.069 -1.2 Td -[(opened )-88(the )-88(same )-88(\336le.)-588(Although )-88(they )-88(shar)]TJ -0.3384 Tc 18.966 0 Td -(et)Tj -0 Tc 1.143 0 Td -[(he )-88(same )-88(v-node, )-88(each )-88(pr)18(ocess )-88(has )-88(its )-88(own)]TJ --20.11 -1.2 Td -[(\336le table entry)111(.)]TJ -1.8 -1.2 Td -[(When )-155(we )-155(pass )-155(an )-155(open )-155(\336le )-155(descriptor )-155(fr)18(om )-155(one )-155(pr)18(ocess )-155(to )-155(another)69(,)-405(we)-405(w)-1(ant )-155(the)]TJ --1.8 -1.2 Td -[(passing )-12(pr)18(ocess )-12(and )-12(the )-12(r)18(eceiving )-12(pr)18(ocess )-12(to )-12(shar)]TJ -0.2624 Tc 21.704 0 Td -(et)Tj -0 Tc 1.067 0 Td -[(he )-12(same )-12(\336le )-12(table )-12(entry)]TJ -0.5123 Tc 10.147 0 Td -(.F)Tj -0 Tc 1.318 0 Td -(igur)Tj -0.2623 Tc 1.827 0 Td -(e1)Tj -0 Tc 1.241 0 Td -[(7.1)55(1)]TJ --37.305 -1.2 Td -[(shows the desir)18(ed arrangement.)]TJ --0.092 Tc 1.8 -1.2 Td -(Te)Tj -0 Tc 1 0 Td -[(chnically)111(,)-292(we)-292(a)]TJ --0.018 Tc 6.516 0 Td -[(re )-78(p)]TJ -0 Tc 1.749 0 Td -[(assing )-42(a )-42(pointer )-42(to )-42(an )-42(open )-42(\336le )-42(table )-42(entry )-42(fr)21(om )-42(one )-42(pr)18(ocess )-42(to)]TJ --11.065 -1.2 Td -(another)Tj -0.5804 Tc 3.336 0 Td -(.T)Tj -0 Tc 1.443 0 Td -[(his )-80(pointer )-80(is )-80(assigned )-80(the )-80(\336rst )-80(available )-80(descriptor )-80(in )-80(the )-80(r)18(eceiving )-80(pr)15(ocess.)]TJ --4.779 -1.2 Td -[(\(Saying )-16(that )-16(we )-16(ar)]TJ -0.2665 Tc 8.066 0 Td -(ep)Tj -0 Tc 1.346 0 Td -[(assing )-16(an )-16(open )-16(descriptor )-16(mistakenly )-16(gives )-16(the )-16(impr)15(ession )-17(that )-17(the)]TJ --9.413 -1.2 Td -[(descriptor )-36(number )-36(in )-36(the )-36(r)18(eceiving )-36(pr)20(ocess )-36(is )-36(the )-36(same )-36(as )-36(in )-36(the )-36(sending )-36(pr)18(ocess, )-36(which)]TJ -T* -[(usually )-267(isn\325t )-267(tr)7(ue.\) )-517(Having)-518(two )-267(pr)18(ocesses )-267(shar)17(e)-517(an)-517(o)-1(pen )-268(\336le )-268(table )-268(is )-268(exactly )-268(what)]TJ --0 -1.2 Td -(happens after a)Tj -/TT0 1 Tf -7.052 0 Td -(fork)Tj -/T1_1 1 Tf -2.65 0 Td -[(\(r)18(ecall Figur)]TJ -0.25 Tc 5.348 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.2\).)Tj --14.479 -1.2 Td -[(What )-34(normally )-34(happens )-34(when )-34(a )-34(descriptor )-34(is )-34(passed )-34(fr)14(om )-34(one )-34(pr)18(ocess )-34(to )-34(another )-34(is)]TJ --1.8 -1.2 Td -[(that )-2(the )-2(sending )-2(pr)18(ocess, )-2(after )-2(passing )-2(the )-2(descriptor)]TJ -0.2518 Tc 23.19 0 Td -(,t)Tj -0 Tc 0.828 0 Td -[(hen )-2(closes )-2(the )-2(descriptor)]TJ -0.5019 Tc 10.832 0 Td -(.C)Tj -0 Tc 1.461 0 Td -(losing)Tj --36.31 -1.2 Td -[(the )-20(descriptor )-20(by )-20(the )-20(sender )-20(doesn\325t )-20(r)16(eally )-20(close )-20(the )-20(\336le )-20(or )-20(device, )-20(since )-20(the )-20(descriptor )-20(is)]TJ -T* -[(still )-158(consider)18(ed )-158(open )-158(by )-158(the )-158(r)18(eceiving )-158(pr)18(ocess )-158(\(even )-158(if )-158(the )-158(r)20(eceiver )-158(hasn\325t )-158(speci\336cally)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -(ceived the descriptor yet\).)Tj --0.092 Tc 0.944 -1.2 Td -[(We )-362(d)]TJ -0 Tc 2.426 0 Td -[(e\336ne )-178(the )-178(following )-178(thr)18(ee )-178(functions )-178(that )-178(we )-178(use )-178(in )-178(this )-178(chapter )-178(to )-178(send )-178(and)]TJ --0.018 Tc -4.226 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ceive )-296(\336le )-296(descriptors.)-796(Later )-296(in )-296(this )-296(section, )-296(we\325ll )-296(show )-296(the )-296(code )-296(for )-296(these )-296(thr)23(ee)]TJ --0.856 -1.2 Td -(functions.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5921 243.0854 Tm -(#include "apue.h")Tj -0 -2.021 TD -(int send_fd\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(fd_to_send)Tj -/TT0 1 Tf -(\);)Tj --13.978 -2.021 Td -(int send_err\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(status)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.244 0 Td -(onst char *)Tj -/T1_2 1 Tf -(errmsg)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -6.429 -2.021 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT2 1 Tf -9.213 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --34.464 -2.021 Td -(int recv_fd\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 2.578 0 Td -(size_t \(*)Tj -/T1_2 1 Tf -(userfunc)Tj -/TT0 1 Tf -(\)\(int, const void *, size_t\)\);)Tj -/T1_1 1 Tf -3.619 -2.021 Td -[(Returns: \336le descriptor if OK, negative value on err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1476.25 cm -0 0 m -0 1045 l -3900 1045 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46905 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.3)]TJ -34.529 0 Td -[(Unique )-250(Connections)]TJ -/T1_1 1 Tf -11.304 0 Td -(635)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(struct sockaddr_un un;)Tj -0 -2.021 TD -(un.sun_family = AF_UNIX;)Tj -0 -1.189 TD -(strcpy\(un.sun_path, "foo.socket"\);)Tj -T* -(if \(\(fd = socket\(AF_UNIX, SOCK_STREAM, 0\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("socket failed"\);)Tj --2.4 -1.189 Td -(size = offsetof\(struct sockaddr_un, sun_path\) + strlen\(un.sun_path\);\ )Tj -T* -(if \(bind\(fd, \(struct sockaddr *\)&un, size\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("bind failed"\);)Tj --2.4 -1.189 Td -(printf\("UNIX domain socket bound\\n"\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5510.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 221.9734 534.9448 Tm -(Figure 17.5)Tj -/T1_0 1 Tf -5.695 0 Td -[(Binding an addr)18(ess to a UNIX domain socket)]TJ -9.9988 0 0 9.9988 147.5825 508.548 Tm -[(When )-121(we )-121(r)8(un )-121(this )-121(pr)18(ogram, )-121(the)]TJ -/TT0 1 Tf -14.874 0 Td -(bind)Tj -/T1_0 1 Tf --0.018 Tc 2.771 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(quest )-121(succeeds.)-621(If )-121(we )-121(r)8(un )-121(the )-121(pr)18(ogram )-121(a)]TJ --20.301 -1.2 Td -[(second )-170(time, )-170(however)75(,)-420(we)-420(g)1(et )-170(an )-170(err)19(or)]TJ -0.4196 Tc 17.763 0 Td -(,b)Tj -0 Tc 1.223 0 Td -[(ecause )-170(the )-170(\336le )-170(alr)18(eady )-170(exists.)-670(The )-170(pr)20(ogram)]TJ --18.985 -1.2 Td -[(won\325t succeed again until we r)18(emove the \336le.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5824 467.8529 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/T1_2 1 Tf -27.6 0 Td -[(run the pr)18(ogram)]TJ -/TT0 1 Tf --28.8 -1.189 Td -(UNIX domain socket bound)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l foo.socket)Tj -/T1_2 1 Tf -27.6 0 Td -(look at the socket \336le)Tj -/TT0 1 Tf --28.8 -1.189 Td -[(srwxr-xr-x )-600(1)-600(sar )-3600(0)-600(May 18 00:44 foo.socket)]TJ -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/T1_2 1 Tf -27.6 0 Td -[(try to run the pr)18(ogram again)]TJ -/TT0 1 Tf --28.8 -1.189 Td -(bind failed: Address already in use)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(rm foo.socket)Tj -/T1_2 1 Tf --0.018 Tc 27.6 0 Td -(re)Tj -0 Tc 0.76 0 Td -(move the socket \336le)Tj -/TT0 1 Tf --29.56 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/T1_2 1 Tf -27.6 0 Td -[(run the pr)18(ogram a third time)]TJ -/TT0 1 Tf --28.8 -1.189 Td -(UNIX domain socket bound)Tj -/T1_2 1 Tf -28.8 0 Td -(now it succeeds)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5822 364.2653 Tm -[(The )-19(way )-19(we )-19(determine )-19(the )-19(size )-19(of )-19(the )-19(addr)18(ess )-19(to )-19(bind )-19(is )-19(to )-19(calculate )-19(the )-19(of)17(fset )-19(of )-19(the)]TJ -/TT0 1 Tf --1.8 -1.2 Td -(sun_path)Tj -/T1_0 1 Tf -5.287 0 Td -[(member )-237(in )-237(the)]TJ -/TT0 1 Tf -7.392 0 Td -(sockaddr_un)Tj -/T1_0 1 Tf -7.087 0 Td -[(str)8(uctur)]TJ -0.4866 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.466 0 Td -[(nd )-237(add )-237(to )-237(it )-237(the )-237(length )-237(of )-237(the)]TJ --24.721 -1.2 Td -[(pathname, )-262(not )-262(including )-262(the )-262(terminating )-262(null )-262(byte.)-762(Since )-262(implementations )-262(vary )-262(in)]TJ -0 -1.2 TD -[(which )-412(members )-412(pr)19(ecede)]TJ -/TT0 1 Tf -12.284 0 Td -(sun_path)Tj -/T1_0 1 Tf -5.462 0 Td -[(in )-412(the)]TJ -/TT0 1 Tf -3.583 0 Td -(sockaddr_un)Tj -/T1_0 1 Tf -7.262 0 Td -[(str)8(uctur)18(e, )-412(we )-412(use )-412(the)]TJ -/TT0 1 Tf --28.59 -1.2 Td -(offsetof)Tj -/T1_0 1 Tf -5.066 0 Td -(macr)Tj -0.2665 Tc 2.204 0 Td -(of)Tj --0.018 Tc 1.146 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(m)Tj -/TT0 1 Tf -1.149 0 Td -()Tj -/T1_0 1 Tf -6.266 0 Td -[(\(included )-16(by)]TJ -/TT0 1 Tf -5.887 0 Td -(apue.h)Tj -/T1_0 1 Tf -[(\))-266(to)-266(c)-1(alculate )-16(the )-16(of)18(fset )-16(of )-16(the)]TJ -/TT0 1 Tf --22.642 -1.2 Td -(sun_path)Tj -/T1_0 1 Tf -5.13 0 Td -[(member )-80(fr)18(om )-80(the )-80(start )-80(of )-80(the )-80(str)6(uctur)18(e. )-330(If)-331(you )-80(look )-80(in)]TJ -/TT0 1 Tf -24.724 0 Td -()Tj -/T1_0 1 Tf -0.3303 Tc (,y)Tj -0 Tc 7.136 0 Td -(ou\325ll)Tj --36.991 -1.2 Td -(see a de\336nition similar to the following:)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 276.6457 Tm -[(#define offsetof\(TYPE, MEMBER\))-1444(\(\(int\)&\(\(TYPE *\)0\)->MEMBER\))]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 259.718 Tm -[(The )-167(expr)18(ession )-167(evaluates )-167(to )-167(an )-167(integer)]TJ -0.4175 Tc 17.635 0 Td -(,w)Tj -0 Tc 1.501 0 Td -[(hich )-167(is )-167(the )-167(starting )-167(addr)18(ess )-167(of )-167(the )-167(member)71(,)]TJ --19.137 -1.2 Td -[(assuming that the str)8(uctur)]TJ -0.25 Tc 11.624 0 Td -(eb)Tj -0 Tc 1.282 0 Td -[(egins at addr)18(ess 0.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2477.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -11.9978 0 0 11.9978 93.5832 209.3113 Tm -[(17.3 )-776(Unique)-556(Connections)]TJ -/T1_0 1 Tf -0.2619 Tc 9.9982 0 0 9.9982 129.5767 187.7152 Tm -(As)Tj -0 Tc 1.464 0 Td -[(erver )-12(can )-12(arrange )-12(for )-12(unique )-12(UNIX )-12(domain )-12(connections )-12(to )-12(clients )-12(using )-12(the )-12(standar)19(d)]TJ -/TT0 1 Tf --1.464 -1.2 Td -(bind)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -2.927 0 Td -(listen)Tj -/T1_0 1 Tf -0.2768 Tc (,a)Tj -0 Tc 4.627 0 Td -(nd)Tj -/TT0 1 Tf -1.47 0 Td -(accept)Tj -/T1_0 1 Tf -3.877 0 Td -[(functions. )-277(Clients)-277(use)]TJ -/TT0 1 Tf -10.069 0 Td -(connect)Tj -/T1_0 1 Tf -4.477 0 Td -[(to )-27(contact )-27(the )-27(server; )-27(after)]TJ --27.446 -1.2 Td -[(the )-130(connect )-130(r)18(equest )-130(is )-130(accepted )-130(by )-130(the )-130(server)]TJ -0.3796 Tc 20.453 0 Td -(,au)Tj -0 Tc 2.112 0 Td -[(nique )-130(connection )-130(exists )-130(between )-130(the)]TJ --22.565 -1.2 Td -[(client )-265(and )-265(the )-265(server)]TJ -0.7649 Tc 9.701 0 Td -(.T)Tj -0 Tc 1.628 0 Td -[(his )-265(style )-265(of )-265(operation )-265(is )-265(the )-265(same )-265(that )-265(we )-265(illustrated )-265(with)]TJ --11.329 -1.2 Td -[(Internet domain sockets in Figur)18(es 16.16 and 16.17.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46906 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(634)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 129.5922 668.9599 Tm -[(17.2.1 )-556(Naming)-556(UNIX )-278(Domain )-278(Soc)20(kets)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5923 644.9613 Tm -[(Although )-5(the)]TJ -/TT1 1 Tf -6.161 0 Td -(socketpair)Tj -/T1_1 1 Tf -6.255 0 Td -[(function )-5(cr)18(eates )-5(sockets )-5(that )-5(ar)]TJ -0.2553 Tc 13.567 0 Td -(ec)Tj -0 Tc 1.178 0 Td -[(onnected )-5(to )-5(each )-5(other)]TJ -0.2553 Tc 9.946 0 Td -(,t)Tj -0 Tc 0.831 0 Td -(he)Tj --37.939 -1.2 Td -[(individual )-257(sockets )-257(don\325t )-257(have )-257(names.)-757(This )-257(means )-257(that )-257(they )-257(can\325t )-257(be )-257(addr)16(essed )-257(by)]TJ -0 -1.2 TD -[(unr)18(elated pr)18(ocesses.)]TJ -1.8 -1.2 Td -[(In )-65(Section )-65(16.3.4, )-65(we )-65(learned )-65(how )-65(to )-65(bind )-65(an )-65(addr)18(ess )-65(to )-65(an )-65(Internet )-65(domain )-65(socket.)]TJ --1.8 -1.2 Td -[(Just )-69(as )-69(with )-69(Internet )-69(domain )-69(sockets, )-69(UNIX )-69(domain )-69(sockets )-69(can )-69(be )-69(named )-69(and )-69(used )-69(to)]TJ -T* -[(advertise )-158(services.)-658(The )-158(addr)18(ess )-158(format )-158(used )-158(with )-158(UNIX )-158(domain )-158(sockets )-158(dif)22(fers )-158(fr)18(om)]TJ -0 -1.2 Td -[(that used with Internet domain sockets, however)74(.)]TJ -1.8 -1.2 Td -[(Recall )-11(fr)18(om )-11(Section )-11(16.3 )-11(that )-11(socket )-11(addr)18(ess )-11(formats )-11(dif)18(fer )-11(fr)16(om )-11(one )-11(implementation)]TJ --1.8 -1.2 Td -[(to )-96(the )-96(next.)-596(An )-96(addr)18(ess )-96(for )-96(a )-96(UNIX )-96(domain )-96(socket )-96(is )-96(r)22(epr)18(esented )-96(by )-96(a)]TJ -/TT1 1 Tf -32.4 0 Td -(sockaddr_un)Tj -/T1_1 1 Tf --32.4 -1.2 Td -[(str)8(uctur)18(e. )-334(On)-335(Linux )-84(3.2.0 )-84(and )-84(Solaris )-84(10, )-84(the)]TJ -/TT1 1 Tf -20.417 0 Td -(sockaddr_un)Tj -/T1_1 1 Tf -6.934 0 Td -[(str)8(uctur)18(e)-334(is)-334(d)-1(e\336ned )-84(in )-84(the)]TJ --27.352 -1.2 Td -(header)Tj -/TT1 1 Tf -3.296 0 Td -()Tj -/T1_1 1 Tf -6.25 0 Td -(as)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5911 508.2695 Tm -(struct sockaddr_un {)Tj -2.778 -1.189 Td -[(sa_family_t )-600(sun_family;)-3000(/* AF_UNIX */)]TJ -0 -1.189 TD -[(char )-4800(sun_path[108];)-1200(/* pathname */)]TJ --2.778 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 458.1725 Tm -[(On )-71(Fr)18(eeBSD )-71(8.0 )-71(and )-71(Mac )-71(OS )-71(X )-71(10.6.8, )-71(however)]TJ -0.3212 Tc 21.106 0 Td -(,t)Tj -0 Tc 0.897 0 Td -(he)Tj -/TT1 1 Tf -1.382 0 Td -(sockaddr_un)Tj -/T1_1 1 Tf -6.921 0 Td -[(str)8(uctur)18(e)-321(is)-321(d)-1(e\336ned)]TJ --30.306 -1.2 Td -(as)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5917 429.4742 Tm -(struct sockaddr_un {)Tj -2.778 -1.189 Td -[(unsigned char)-1200(sun_len; )-4200(/*)-600(sockaddr length */)]TJ -T* -[(sa_family_t )-1800(sun_family;)-3000(/* AF_UNIX */)]TJ -T* -(char )Tj -9 0 Td -[(sun_path[104];)-1200(/* pathname */)]TJ --11.778 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5917 368.6779 Tm -(The)Tj -/TT1 1 Tf -2.265 0 Td -(sun_path)Tj -/T1_1 1 Tf -5.391 0 Td -[(member )-341(of )-341(the)]TJ -/TT1 1 Tf -7.712 0 Td -(sockaddr_un)Tj -/T1_1 1 Tf -7.191 0 Td -[(str)8(uctur)]TJ -0.5912 Tc 3.49 0 Td -(ec)Tj -0 Tc 1.514 0 Td -[(ontains )-341(a )-341(pathname.)]TJ --29.364 -1.2 Td -[(When )-116(we )-116(bind )-116(an )-116(addr)18(ess )-116(to )-116(a )-116(UNIX )-116(domain )-116(socket, )-116(the )-116(system )-116(cr)22(eates )-116(a )-116(\336le )-116(of )-116(type)]TJ -/TT1 1 Tf -0 -1.2 TD -(S_IFSOCK)Tj -/T1_1 1 Tf -5.05 0 Td -(with the same name.)Tj --3.25 -1.2 Td -[(This )-112(\336le )-112(exists )-112(only )-112(as )-112(a )-112(means )-112(of )-112(advertising )-112(the )-112(socket )-112(name )-112(to )-112(clients.)-608(The )-112(\336le)]TJ --1.8 -1.2 Td -(can\325t be opened or otherwise used for communication by applications.)Tj -1.8 -1.2 Td -[(If )-126(the )-126(\336le )-126(alr)18(eady )-126(exists )-126(when )-126(we )-126(try )-126(to )-126(bind )-126(the )-126(same )-126(addr)18(ess, )-126(the)]TJ -/TT1 1 Tf -31.176 0 Td -(bind)Tj -/T1_1 1 Tf --0.018 Tc 2.776 0 Td -(re)Tj -0 Tc 0.856 0 Td -(quest)Tj --36.608 -1.2 Td -[(will )-7(fail.)-506(When )-7(we )-7(close )-7(the )-7(socket, )-7(this )-7(\336le )-7(is )-7(not )-7(automatically )-7(r)18(emoved, )-7(so )-7(we )-7(need )-7(to)]TJ -T* -(make sur)Tj -0.25 Tc 4.072 0 Td -(et)Tj -0 Tc 1.055 0 Td -(hat we unlink it befor)Tj -0.25 Tc 9.531 0 Td -(eo)Tj -0 Tc 1.275 0 Td -(ur application exits.)Tj -/TT0 1 Tf --19.533 -2.64 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(The )-23(pr)18(ogram )-23(in )-23(Figur)]TJ -0.2727 Tc 9.606 0 Td -(e1)Tj -0 Tc 1.252 0 Td -[(7.5 )-23(shows )-23(an )-23(example )-23(of )-23(binding )-23(an )-23(addr)20(ess )-23(to )-23(a )-23(UNIX )-23(domain)]TJ --10.858 -1.2 Td -(socket.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2151.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 205.5743 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(int fd, size;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46907 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(17)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Adv)30(anced )-280(IPC)]TJ -/TT0 1 Tf -12 0 0 12 93.6 404.4 Tm -[(17.1 )-776(Intr)20(oduction)]TJ -/T1_2 1 Tf -10 0 0 10 129.6 380.4 Tm -[(In )-92(the )-92(pr)18(evious )-92(two )-92(chapters, )-92(we )-92(discussed )-92(various )-92(forms )-92(of )-92(IPC, )-92(including )-92(pipes )-92(and)]TJ -0 -1.2 TD -[(sockets. )-269(In)-269(this )-19(chapter)74(,)-269(we)-269(look )-19(at )-19(an )-19(advanced )-19(form )-19(of )-19(IPC)]TJ -0.0833 Tc 26.922 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-19(UNIX )-19(domain )-19(socket)]TJ --28.332 -1.2 Td -[(mechanism )167(\321 )167(and)-288(see )-38(what )-38(we )-38(can )-38(do )-38(with )-38(it.)]TJ --0.055 Tc 20.999 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-38(this )-38(form )-38(of )-38(IPC, )-38(we )-38(can )-38(pass )-38(open)]TJ --22.235 -1.2 Td -[(\336le )-352(descriptors )-352(between )-352(pr)18(ocesses )-352(r)8(unning )-352(on )-352(the )-352(same )-352(computer )-352(system, )-352(server)]TJ -T* -[(pr)18(ocesses )-106(can )-106(associate )-106(names )-106(with )-106(their )-106(\336le )-106(descriptors, )-106(and )-106(client )-106(pr)18(ocesses )-106(r)4(unning)]TJ -0 -1.2 Td -[(on )-44(the )-44(same )-44(system )-44(can )-44(use )-44(these )-44(names )-44(to )-44(r)19(endezvous )-44(with )-44(the )-44(servers.)]TJ --0.092 Tc 33.022 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-44(also )-44(see)]TJ --34.409 -1.2 Td -[(how the operating system pr)18(ovides a unique IPC channel per client.)]TJ -/TT0 1 Tf -12 0 0 12 93.6001 266.4 Tm -[(17.2 )-776(UNIX)-556(Domain )-278(Soc)20(kets)]TJ -/T1_2 1 Tf -10 0 0 10 129.6 242.4 Tm -[(UNIX )-153(domain )-153(sockets )-153(ar)]TJ -0.4028 Tc 11.31 0 Td -(eu)Tj -0 Tc 1.485 0 Td -[(sed )-153(to )-153(communicate )-153(with )-153(pr)19(ocesses )-153(r)8(unning )-153(on )-153(the )-153(same)]TJ --12.795 -1.2 Td -[(machine. )-332(Although)-333(Internet )-82(domain )-82(sockets )-82(can )-82(be )-82(used )-82(for )-82(this )-82(same )-82(purpose, )-82(UNIX)]TJ -T* -[(domain )-57(sockets )-57(ar)]TJ -0.3073 Tc 8.104 0 Td -(em)Tj -0 Tc 1.669 0 Td -(or)Tj -0.3073 Tc 0.923 0 Td -(ee)Tj --0.018 Tc 1.265 0 Td -(f\336)Tj -0 Tc 0.92 0 Td -[(cient. )-307(UNIX)-308(domain )-57(sockets )-57(only )-57(copy )-57(data; )-57(they )-57(have )-57(no)]TJ --12.881 -1.2 Td -[(pr)18(otocol )-25(pr)18(ocessing )-25(to )-25(perform, )-25(no )-25(network )-25(headers )-25(to )-25(add )-25(or )-25(r)17(emove, )-25(no )-25(checksums )-25(to)]TJ -T* -(calculate, no sequence numbers to generate, and no acknowledgements to s\ end.)Tj -1.8 -1.2 Td -[(UNIX )-200(domain )-200(sockets )-200(pr)18(ovide )-200(both )-200(str)18(eam )-200(and )-200(datagram )-200(interfaces.)-700(The )-200(UNIX)]TJ --1.8 -1.2 Td -[(domain )-86(datagram )-86(service )-86(is )-86(r)19(eliable, )-86(however)]TJ -0.5856 Tc 20.471 0 Td -(.M)Tj -0 Tc 1.782 0 Td -[(essages )-86(ar)]TJ -0.3356 Tc 4.499 0 Td -(en)Tj -0 Tc 1.397 0 Td -[(either )-86(lost )-86(nor )-86(deliver)19(ed)]TJ --28.148 -1.2 Td -[(out )-25(of )-25(or)18(der)]TJ -0.5252 Tc 5.238 0 Td -(.U)Tj -0 Tc 1.553 0 Td -[(NIX )-25(domain )-25(sockets )-25(ar)]TJ -0.2753 Tc 10.15 0 Td -(el)Tj -0 Tc 1.045 0 Td -[(ike )-25(a )-25(cr)18(oss )-25(between )-25(sockets )-25(and )-25(pipes.)]TJ --0.092 Tc 17.488 0 Td -(Yo)Tj -0.2753 Tc 1.121 0 Td -(uc)Tj -0 Tc 1.322 0 Td -(an)Tj --37.918 -1.2 Td -[(use )-58(the )-58(network-oriented )-58(socket )-58(interfaces )-58(with )-58(them, )-58(or )-58(you )-58(can )-58(use )-58(the)]TJ -/TT1 1 Tf -33 0 Td -(socketpair)Tj -/T1_2 1 Tf --33 -1.2 Td -[(function to cr)18(eate a pair of unnamed, connected, UNIX domain sockets.)]TJ -/T1_3 1 Tf -9 0 0 9 506.0993 114 Tm -(629)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46908 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(628)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(16.9 )-776(Summar)-10(y)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(In )-59(this )-59(chapter)75(,)-309(we)-309(l)1(ooked )-58(at )-58(the )-58(IPC )-58(mechanisms )-58(that )-58(allow )-58(pr)18(ocesses )-58(to )-58(communicate)]TJ -0 -1.2 TD -[(with )-163(other )-163(pr)19(ocesses )-163(on )-163(dif)19(fer)18(ent )-163(machines )-163(as )-163(well )-163(as )-163(within )-163(the )-163(same )-163(machine.)]TJ --0.092 Tc 37.613 0 Td -(We)Tj -0 Tc -37.613 -1.2 Td -[(discussed )-78(how )-78(socket )-78(endpoints )-78(ar)]TJ -0.3279 Tc 15.679 0 Td -(en)Tj -0 Tc 1.389 0 Td -[(amed )-78(and )-78(how )-78(we )-78(can )-78(discover )-78(the )-78(addr)18(esses )-78(to)]TJ --17.067 -1.2 Td -(use when contacting servers.)Tj --0.092 Tc 1.8 -1.2 Td -[(We )-652(p)]TJ --0.018 Tc 2.706 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sented )-468(examples )-468(of )-468(clients )-468(and )-468(servers )-468(that )-468(use )-468(connectionless )-468(\(i.e.,)]TJ --5.362 -1.2 Td -[(datagram-based\) )-530(sockets )-530(and )-530(connection-oriented )-530(sockets.)]TJ --0.092 Tc 28.86 0 Td -[(We )-714(b)]TJ -0 Tc 2.72 0 Td -[(rie\337y )-530(discussed)]TJ --31.58 -1.2 Td -[(asynchr)18(onous )-160(and )-160(nonblocking )-160(socket )-160(I/O )-160(and )-160(the )-160(interfaces )-160(used )-160(to )-160(manage )-160(socket)]TJ -T* -(options.)Tj -1.8 -1.2 Td -[(In )-109(the )-109(next )-109(chapter)75(,)-359(we)-359(w)1(ill )-109(look )-109(at )-109(some )-109(advanced )-109(IPC )-109(topics, )-109(including )-109(how )-109(we)]TJ --1.8 -1.2 Td -[(can )-5(use )-5(sockets )-5(to )-5(pass )-5(\336le )-5(descriptors )-5(between )-5(pr)20(ocesses )-5(r)8(unning )-5(on )-5(the )-5(same )-5(machine.)]TJ -/TT0 1 Tf -11.9993 0 0 11.9993 129.5925 494.9703 Tm -[(Ex)10(er)20(cises)]TJ -/T1_0 1 Tf -8.9995 0 0 8.9995 129.5925 473.9716 Tm -(16.1)Tj -/T1_1 1 Tf --0.074 Tc 3.065 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite a pr)18(ogram to determine your system\325s byte or)18(dering.)]TJ -/T1_0 1 Tf --4.386 -1.667 Td -(16.2)Tj -/T1_1 1 Tf --0.074 Tc 3.065 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-51(a )-51(pr)18(ogram )-51(to )-51(print )-51(out )-51(which)]TJ -/TT1 1 Tf -14.834 0 Td -(stat)Tj -/T1_1 1 Tf -2.701 0 Td -[(str)8(uctur)]TJ -0.3008 Tc 3.49 0 Td -(em)Tj -0 Tc 1.663 0 Td -[(embers )-51(ar)]TJ -0.3007 Tc 4.391 0 Td -(es)Tj -0 Tc 1.204 0 Td -[(upported )-51(for )-51(sockets )-51(on)]TJ --29.603 -1.222 Td -[(at least two dif)18(fer)18(ent platforms, and describe how the r)18(esults dif)18(fer)74(.)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(16.3)Tj -/T1_1 1 Tf -3.065 0 Td -[(The )-240(pr)18(ogram )-240(in )-240(Figur)]TJ -0.4897 Tc 10.257 0 Td -(e1)Tj -0 Tc 1.469 0 Td -[(6.17 )-240(pr)18(ovides )-240(service )-240(on )-240(only )-240(a )-240(single )-240(endpoint.)-740(Modify )-240(the)]TJ --11.726 -1.222 Td -[(pr)18(ogram )-134(to )-134(support )-134(service )-134(on )-134(multiple )-134(endpoints )-134(\(each )-134(with )-134(a )-134(dif)16(fer)18(ent )-134(addr)18(ess\) )-134(at )-134(the)]TJ -0 -1.222 Td -(same time.)Tj -/T1_0 1 Tf --3.065 -1.667 Td -(16.4)Tj -/T1_1 1 Tf --0.074 Tc 3.065 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-82(a )-82(client )-82(pr)18(ogram )-82(and )-82(a )-82(server )-82(pr)18(ogram )-82(to )-82(r)18(eturn )-82(the )-82(number )-82(of )-82(pr)18(ocesses )-82(curr)20(ently)]TJ --0.008 Tc -1.321 -1.222 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning on a speci\336ed host computer)74(.)]TJ -/T1_0 1 Tf --4.055 -1.667 Td -(16.5)Tj -/T1_1 1 Tf -3.065 0 Td -[(In )-237(the )-237(pr)18(ogram )-237(in )-237(Figur)]TJ -0.487 Tc 11.368 0 Td -(e1)Tj -0 Tc 1.466 0 Td -[(6.18, )-237(the )-237(server )-237(waits )-237(for )-237(the )-237(child )-237(to )-237(execute )-237(the)]TJ -/TT1 1 Tf -23.834 0 Td -(uptime)Tj -/T1_1 1 Tf --36.668 -1.222 Td -[(command )-70(and )-70(exit )-70(befor)]TJ -0.3203 Tc 11.003 0 Td -(ea)Tj -0 Tc 1.299 0 Td -[(ccepting )-70(the )-70(next )-70(connect )-70(r)16(equest. )-320(Redesign)-321(the )-70(server )-70(so )-70(that)]TJ --12.302 -1.222 Td -[(the time to service one r)18(equest doesn\325t delay the pr)18(ocessing of incoming connect r)18(equests.)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(16.6)Tj -/T1_1 1 Tf --0.074 Tc 3.065 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-36(two )-36(library )-36(r)18(outines: )-36(one )-36(to )-36(enable )-36(asynchr)18(onous )-36(\(signal-based\) )-36(I/O )-36(on )-36(a )-36(socket )-36(and)]TJ --1.321 -1.222 Td -[(one )-200(to )-200(disable )-200(asynchr)18(onous )-200(I/O )-200(on )-200(a )-200(socket.)-700(Use )-200(Figur)]TJ -0.4503 Tc 26.543 0 Td -(e1)Tj -0 Tc 1.429 0 Td -[(6.23 )-200(to )-200(make )-200(sur)]TJ -0.4504 Tc 7.795 0 Td -(et)Tj -0 Tc 1.255 0 Td -[(hat )-200(the)]TJ --37.023 -1.222 Td -(functions work on all platforms with as many socket types as possible.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46909 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.8)]TJ -26.689 0 Td -[(Nonblocking )-250(and )-250(Asynchr)18(onous )-250(I/O)]TJ -/T1_1 1 Tf -19.144 0 Td -(627)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(16.8 )-776(Nonb)10(loc)20(king )-278(and )-278(Async)10(hr)20(onous )-278(I/O)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5923 644.9613 Tm -(Normally)Tj -0.5896 Tc 4.182 0 Td -(,t)Tj -0 Tc 1.166 0 Td -(he)Tj -/TT1 1 Tf -1.651 0 Td -(recv)Tj -/T1_0 1 Tf -2.99 0 Td -[(functions )-340(will )-340(block )-340(when )-340(no )-340(data )-340(is )-340(immediately )-340(available.)]TJ --9.988 -1.2 Td -(Similarly)Tj -0.3213 Tc 3.912 0 Td -(,t)Tj -0 Tc 0.897 0 Td -(he)Tj -/TT1 1 Tf -1.382 0 Td -(send)Tj -/T1_0 1 Tf -2.721 0 Td -[(functions )-71(will )-71(block )-71(when )-71(ther)17(e)-321(is)-321(not )-71(enough )-71(r)18(oom )-71(in )-71(the )-71(socket\325s)]TJ --8.913 -1.2 Td -[(output )-293(queue )-293(to )-293(send )-293(the )-293(message.)-791(This )-293(behavior )-293(changes )-293(when )-293(the )-293(socket )-293(is )-293(in)]TJ -0 -1.2 TD -[(nonblocking )-177(mode.)-677(In )-177(this )-177(case, )-177(these )-177(functions )-177(will )-177(fail )-177(instead )-177(of )-177(blocking, )-177(setting)]TJ -/TT1 1 Tf -T* -(errno)Tj -/T1_0 1 Tf -3.258 0 Td -[(to )-8(either)]TJ -/TT1 1 Tf -3.94 0 Td -(EWOULDBLOCK)Tj -/T1_0 1 Tf -6.858 0 Td -(or)Tj -/TT1 1 Tf -1.199 0 Td -(EAGAIN)Tj -/T1_0 1 Tf -0.5079 Tc (.W)Tj -0 Tc 5.358 0 Td -[(hen )-8(this )-8(happens, )-8(we )-8(can )-8(use )-8(either)]TJ -/TT1 1 Tf -15.987 0 Td -(poll)Tj -/T1_0 1 Tf --36.6 -1.2 Td -(or)Tj -/TT1 1 Tf -1.191 0 Td -(select)Tj -/T1_0 1 Tf -3.85 0 Td -[(to determine when we can r)18(eceive or transmit data.)]TJ --3.241 -1.2 Td -[(The )-188(Single )-188(UNIX )-188(Speci\336cation )-188(includes )-188(support )-188(for )-188(a )-188(general )-188(asynchr)18(onous )-188(I/O)]TJ --1.8 -1.2 Td -[(mechanism )-137(\(r)18(ecall )-137(Section )-137(14.5\).)-639(The )-138(socket )-138(mechanism )-138(has )-138(its )-138(own )-138(way )-138(of )-138(handling)]TJ -T* -[(asynchr)18(onous )-102(I/O, )-102(but )-102(this )-102(isn\325t )-102(standar)18(dized )-102(in )-102(the )-102(Single )-102(UNIX )-102(Speci\336cation.)-603(Some)]TJ -T* -[(texts )-166(r)18(efer )-166(to )-166(the )-166(classic )-166(socket-based )-166(asynchr)18(onous )-166(I/O )-166(mechanism )-166(as )-166(\324)33(\324signal-based)]TJ -T* -[(I/O\325)37(\325)-465(to)-465(d)1(istinguish )-215(it )-215(fr)18(om )-215(the )-215(general )-215(asynchr)20(onous )-215(I/O )-215(mechanism )-215(found )-215(in )-215(the)]TJ -0 -1.2 Td -(Single UNIX Speci\336cation.)Tj --0.055 Tc 1.8 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-104(socket-based )-104(asynchr)19(onous )-104(I/O, )-104(we )-104(can )-104(arrange )-104(to )-104(be )-104(sent )-104(the)]TJ -/TT1 1 Tf -29.966 0 Td -(SIGIO)Tj -/T1_0 1 Tf -3.354 0 Td -(signal)Tj --36.356 -1.2 Td -[(when )-141(we )-141(can )-141(r)18(ead )-141(data )-141(fr)18(om )-141(a )-141(socket )-141(or )-141(when )-141(space )-141(becomes )-141(available )-141(in )-141(a )-141(socket\325s)]TJ -T* -[(write queue.)-500(Enabling asynchr)18(onous I/O is a two-step pr)18(ocess.)]TJ -1.8 -1.8 Td -[(1. )-633(Establish)-250(socket ownership so signals can be deliver)18(ed to the pr)18(oper pr)18(ocesses.)]TJ -0 -1.6 TD -[(2. )-633(Inform)-270(the )-20(socket )-20(that )-20(we )-20(want )-20(it )-20(to )-20(signal )-20(us )-20(when )-20(I/O )-20(operations )-20(won\325t )-20(block.)]TJ --0.092 Tc -1.8 -1.8 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -[(an accomplish the \336rst step in thr)18(ee ways.)]TJ --0.281 -1.8 Td -[(1. )-633(Use)-250(the)]TJ -/TT1 1 Tf -5.201 0 Td -(F_SETOWN)Tj -/T1_0 1 Tf -5.05 0 Td -(command with)Tj -/TT1 1 Tf -6.982 0 Td -(fcntl)Tj -/T1_0 1 Tf -(.)Tj --17.233 -1.6 Td -[(2. )-633(Use)-250(the)]TJ -/TT1 1 Tf -5.201 0 Td -(FIOSETOWN)Tj -/T1_0 1 Tf -5.65 0 Td -(command with)Tj -/TT1 1 Tf -6.982 0 Td -(ioctl)Tj -/T1_0 1 Tf -(.)Tj --17.833 -1.6 Td -[(3. )-633(Use)-250(the)]TJ -/TT1 1 Tf -5.201 0 Td -(SIOCSPGRP)Tj -/T1_0 1 Tf -5.65 0 Td -(command with)Tj -/TT1 1 Tf -6.982 0 Td -(ioctl)Tj -/T1_0 1 Tf -(.)Tj --0.092 Tc -19.633 -1.8 Td -[(To )-184(a)]TJ -0 Tc 1.817 0 Td -(ccomplish the second step, we have two choices.)Tj --0.017 -1.8 Td -[(1. )-633(Use)-250(the)]TJ -/TT1 1 Tf -5.201 0 Td -(F_SETFL)Tj -/T1_0 1 Tf -4.45 0 Td -(command with)Tj -/TT1 1 Tf -6.982 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.25 0 Td -(and enable the)Tj -/TT1 1 Tf -6.714 0 Td -(O_ASYNC)Tj -/T1_0 1 Tf -4.45 0 Td -(\336le \337ag.)Tj --31.047 -1.6 Td -[(2. )-633(Use)-250(the)]TJ -/TT1 1 Tf -5.201 0 Td -(FIOASYNC)Tj -/T1_0 1 Tf -5.05 0 Td -(command with)Tj -/TT1 1 Tf -6.982 0 Td -(ioctl)Tj -/T1_0 1 Tf -(.)Tj --0.092 Tc -17.233 -1.8 Td -[(We )-441(h)]TJ -0 Tc 2.476 0 Td -[(ave )-257(several )-257(options, )-257(but )-257(they )-257(ar)]TJ -0.5071 Tc 15.081 0 Td -(en)Tj -0 Tc 1.568 0 Td -[(ot )-257(universally )-257(supported.)-757(Figur)]TJ -0.507 Tc 14.839 0 Td -(e1)Tj -0 Tc 1.486 0 Td -(6.23)Tj --37.25 -1.2 Td -[(summarizes )-98(the )-98(support )-98(for )-98(these )-98(options )-98(pr)20(ovided )-98(by )-98(the )-98(platforms )-98(discussed )-98(in )-98(this)]TJ -0 -1.2 TD -(text.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1417.25 2622.25 cm -0 0 m -3657 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 357.4571 254.1695 Tm -[(Fr)18(eeBSD )-1250(Linux )-1250(Mac)-250(OS X)-1500(Solaris)]TJ -1.275 -1.25 Td -[(8.0 )-2827(3.2.0)-2735(10.6.8 )-3170(10)]TJ --20.41 0.625 Td -(Mechanism)Tj -13.965 0 Td -(POSIX.1)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1417.25 2402.25 cm -0 0 m -3657 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1417.25 2382.25 cm -0 0 m -3657 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9986 0 0 7.9986 145.7218 230.1586 Tm -(fcntl\(fd, F_SETOWN, pid\))Tj -/T1_0 1 Tf -4.629 Tc 22.831 0 Td -(\245\245)Tj -4.3795 Tc 9.937 0 Td -[(\245\245 )4445(\245)]TJ -/TT1 1 Tf -0 Tc -32.769 -1.25 Td -(ioctl\(fd, FIOSETOWN, pid\))Tj -/T1_0 1 Tf -4.096 Tc 28.067 0 Td -[(\245\245 )4063(\245)]TJ -0 Tc 14.858 0 Td -(\245)Tj -/TT1 1 Tf --42.924 -1.25 Td -(ioctl\(fd, SIOCSPGRP, pid\))Tj -/T1_0 1 Tf -4.096 Tc 28.067 0 Td -[(\245\245 )4063(\245)]TJ -0 Tc 14.858 0 Td -(\245)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1417.25 2062.25 cm -0 0 m -3657 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9981 0 0 7.9981 145.713 198.1524 Tm -(fcntl\(fd, F_SETFL, flags|O_ASYNC\))Tj -/T1_0 1 Tf -4.096 Tc 28.067 0 Td -[(\245\245 )4063(\245)]TJ -/TT1 1 Tf -0 Tc -28.067 -1.25 Td -(ioctl\(fd, FIOASYNC, &n\);)Tj -/T1_0 1 Tf -4.096 Tc 28.067 0 Td -[(\245\245 )4063(\245)]TJ -0 Tc 14.858 0 Td -(\245)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1417.25 1842.25 cm -0 0 m -3657 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4737.25 1842.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4267.25 1842.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3939.25 1842.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3505.25 1842.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3525.25 1842.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3101.25 1842.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5074.25 1842.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1417.25 1842.25 cm -0 0 m -0 780 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 210.101 166.1501 Tm -(Figure 16.23)Tj -/T1_0 1 Tf -6.195 0 Td -[(Socket asynchr)18(onous I/O management commands)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46910 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(626)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(16.7 )-776(Out-of-Band)-556(Data)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5923 647.3612 Tm -[(Out-of-band )-118(data )-118(is )-118(an )-118(optional )-118(featur)]TJ -0.3681 Tc 17.381 0 Td -(es)Tj -0 Tc 1.271 0 Td -[(upported )-118(by )-118(some )-118(communication )-118(pr)18(otocols,)]TJ --18.653 -1.2 Td -[(allowing )-86(higher)18(-priority )-86(delivery )-86(of )-86(data )-86(than )-86(normal.)-586(Out-of-band )-86(data )-86(is )-86(sent )-86(ahead)]TJ -0 -1.2 TD -[(of )-142(any )-142(data )-142(that )-142(is )-142(alr)17(eady )-142(queued )-142(for )-142(transmission.)-642(TCP )-142(supports )-142(out-of-band )-142(data,)]TJ -T* -[(but )-208(UDP )-208(doesn\325t.)-708(The )-208(socket )-208(interface )-208(to )-208(out-of-band )-208(data )-208(is )-208(heavily )-208(in\337uenced )-208(by)]TJ -T* -(TCP\325s implementation of out-of-band data.)Tj -1.8 -1.2 Td -[(TCP )-11(r)18(efers )-11(to )-11(out-of-band )-11(data )-11(as )-11(\324)38(\324ur)18(gent\325)]TJ -0.2609 Tc 18.66 0 Td -(\325d)Tj -0 Tc 1.15 0 Td -[(ata. )-261(TCP)-261(supports )-11(only )-11(a )-11(single )-11(byte )-11(of)]TJ --21.61 -1.2 Td -[(ur)18(gent )-104(data, )-104(but )-104(allows )-104(ur)16(gent )-104(data )-104(to )-104(be )-104(deliver)18(ed )-104(out )-104(of )-104(band )-104(fr)18(om )-104(the )-104(normal )-104(data)]TJ -T* -[(delivery )-80(mechanisms.)]TJ --0.092 Tc 10.318 0 Td -[(To )-264(g)]TJ -0 Tc 1.953 0 Td -[(enerate )-80(ur)18(gent )-80(data, )-80(we )-80(specify )-80(the)]TJ -/TT1 1 Tf -16.157 0 Td -(MSG_OOB)Tj -/T1_1 1 Tf -4.53 0 Td -[(\337ag )-80(to )-80(any )-80(of)]TJ --32.958 -1.2 Td -[(the thr)18(ee)]TJ -/TT1 1 Tf -4.13 0 Td -(send)Tj -/T1_1 1 Tf -2.65 0 Td -[(functions. )-250(If)-250(we send mor)]TJ -0.2501 Tc 11.516 0 Td -(et)Tj -0 Tc 1.055 0 Td -(han one byte with the)Tj -/TT1 1 Tf -9.856 0 Td -(MSG_OOB)Tj -/T1_1 1 Tf -4.45 0 Td -(\337ag, the last)Tj --33.658 -1.2 Td -[(byte will be tr)18(eated as the ur)18(gent-data byte.)]TJ -1.8 -1.2 Td -[(When )-94(ur)18(gent )-94(data )-94(is )-94(r)18(eceived, )-94(we )-94(ar)]TJ -0.3439 Tc 16.446 0 Td -(es)Tj -0 Tc 1.247 0 Td -[(ent )-94(the)]TJ -/TT1 1 Tf -3.462 0 Td -(SIGURG)Tj -/T1_1 1 Tf -3.944 0 Td -[(signal )-94(if )-94(we )-94(have )-94(arranged)]TJ --26.899 -1.2 Td -[(for )-99(signal )-99(generation )-99(by )-99(the )-99(socket.)-598(In )-99(Sections )-99(3.14 )-99(and )-99(14.5.2, )-99(we )-99(saw )-99(that )-99(we )-99(could)]TJ -T* -[(use )-141(the)]TJ -/TT1 1 Tf -3.675 0 Td -(F_SETOWN)Tj -/T1_1 1 Tf -5.191 0 Td -[(command )-141(to)]TJ -/TT1 1 Tf -6.103 0 Td -(fcntl)Tj -/T1_1 1 Tf -3.391 0 Td -[(to )-141(set )-141(the )-141(ownership )-141(of )-141(a )-141(socket.)-641(If )-141(the )-141(thir)17(d)]TJ --18.36 -1.2 Td -[(ar)18(gument )-95(to)]TJ -/TT1 1 Tf -5.868 0 Td -(fcntl)Tj -/T1_1 1 Tf -3.345 0 Td -[(is )-95(positive, )-95(it )-95(speci\336es )-95(a )-95(pr)18(ocess )-95(ID.)-594(If )-95(it )-95(is )-95(a )-95(negative )-95(value )-95(other)]TJ --9.213 -1.2 Td -(than)Tj -/TT2 1 Tf -2.439 0 Td -(!)Tj -/T1_1 1 Tf -[(1, )-198(it )-198(r)17(epr)18(esents )-198(the )-198(pr)18(ocess )-198(gr)18(oup )-198(ID.)-698(Thus, )-198(we )-198(can )-198(arrange )-198(that )-198(our )-198(pr)13(ocess)]TJ --0.018 Tc -2.439 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ceive signals fr)18(om a socket by calling)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.591 450.673 Tm -(fcntl\(sockfd, F_SETOWN, pid\);)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 147.591 432.674 Tm -(The)Tj -/TT1 1 Tf -1.969 0 Td -(F_GETOWN)Tj -/T1_1 1 Tf -5.095 0 Td -[(command )-45(can )-45(be )-45(used )-45(to )-45(r)18(etrieve )-45(the )-45(curr)18(ent )-45(socket )-45(ownership.)-541(As)]TJ --8.863 -1.2 Td -[(with )-137(the)]TJ -/TT1 1 Tf -4.195 0 Td -(F_SETOWN)Tj -/T1_1 1 Tf -5.187 0 Td -[(command, )-137(a )-137(negative )-137(value )-137(r)17(epr)18(esents )-137(a )-137(pr)18(ocess )-137(gr)18(oup )-137(ID )-137(and )-137(a)]TJ --9.382 -1.2 Td -[(positive value r)18(epr)18(esents a pr)18(ocess ID.)-500(Thus, the call)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.591 391.9765 Tm -(owner = fcntl\(sockfd, F_GETOWN, 0\);)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5921 373.9776 Tm -[(will )-26(r)18(eturn )-26(with)]TJ -/TT1 1 Tf -7.33 0 Td -(owner)Tj -/T1_1 1 Tf -3.276 0 Td -[(equal )-26(to )-26(the )-26(ID )-26(of )-26(the )-26(pr)19(ocess )-26(con\336gur)18(ed )-26(to )-26(r)18(eceive )-26(signals )-26(fr)19(om)]TJ --10.605 -1.2 Td -[(the )-52(socket )-52(if)]TJ -/TT1 1 Tf -5.693 0 Td -(owner)Tj -/T1_1 1 Tf -3.302 0 Td -[(is )-52(positive )-52(and )-52(with )-52(the )-52(absolute )-52(value )-52(of)]TJ -/TT1 1 Tf -18.81 0 Td -(owner)Tj -/T1_1 1 Tf -3.302 0 Td -[(equal )-52(to )-52(the )-52(ID )-52(of)]TJ --31.108 -1.2 Td -[(the pr)18(ocess gr)18(oup con\336gur)18(ed to r)18(eceive signals fr)18(om the socket if)]TJ -/TT1 1 Tf -28.897 0 Td -(owner)Tj -/T1_1 1 Tf -3.25 0 Td -(is negative.)Tj --30.347 -1.2 Td -[(TCP )-167(supports )-167(the )-167(notion )-167(of )-167(an)]TJ -/T1_2 1 Tf -14.57 0 Td -[(ur)18(gent )-167(mark)]TJ -/T1_1 1 Tf -0.4172 Tc 5.344 0 Td -(:t)Tj -0 Tc 0.993 0 Td -[(he )-167(point )-167(in )-167(the )-167(normal )-167(data )-167(str)17(eam)]TJ --22.707 -1.2 Td -(wher)Tj -0.3199 Tc 2.272 0 Td -(et)Tj -0 Tc 1.125 0 Td -[(he )-70(ur)18(gent )-70(data )-70(would )-70(go.)]TJ --0.092 Tc 12.008 0 Td -[(We )-254(c)]TJ -0 Tc 2.151 0 Td -[(an )-70(choose )-70(to )-70(r)18(eceive )-70(the )-70(ur)18(gent )-70(data )-70(inline )-70(with)]TJ --17.555 -1.2 Td -[(the )-56(normal )-56(data )-56(if )-56(we )-56(use )-56(the)]TJ -/TT1 1 Tf -13.496 0 Td -(SO_OOBINLINE)Tj -/T1_1 1 Tf -7.506 0 Td -[(socket )-56(option.)]TJ --0.092 Tc 6.78 0 Td -[(To )-240(h)]TJ -0 Tc 1.955 0 Td -[(elp )-56(us )-56(identify )-56(when)]TJ --29.737 -1.2 Td -[(we have r)18(eached the ur)18(gent mark, we can use the)]TJ -/TT1 1 Tf -22.037 0 Td -(sockatmark)Tj -/T1_1 1 Tf -6.25 0 Td -(function.)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5918 285.2829 Tm -(#include )Tj -0 -1.902 TD -(int sockatmark\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(sockfd)Tj -/TT1 1 Tf -(\);)Tj -/T1_1 1 Tf -6.315 -1.902 Td -(Returns: 1 if at mark, 0 if not at mark,)Tj -/TT2 1 Tf -16.749 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2465.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 233.032 Tm -[(When the next byte to be r)18(ead is at the ur)18(gent mark,)]TJ -/TT1 1 Tf -23.153 0 Td -(sockatmark)Tj -/T1_1 1 Tf -6.25 0 Td -[(will r)18(eturn 1.)]TJ --27.603 -1.2 Td -[(When )-157(out-of-band )-157(data )-157(is )-157(pr)18(esent )-157(in )-157(a )-157(socket\325s )-157(r)18(ead )-157(queue, )-157(the)]TJ -/TT1 1 Tf -29.486 0 Td -(select)Tj -/T1_1 1 Tf -4.007 0 Td -(function)Tj --35.293 -1.2 Td -[(\(Section )-32(14.4.1\) )-32(will )-32(r)19(eturn )-32(the )-32(\336le )-32(descriptor )-32(as )-32(having )-32(an )-32(exception )-32(condition )-32(pending.)]TJ --0.092 Tc 0 -1.2 TD -[(We )-219(c)]TJ -0 Tc 2.116 0 Td -[(an )-35(choose )-35(to )-35(r)18(eceive )-35(the )-35(ur)18(gent )-35(data )-35(inline )-35(with )-35(the )-35(normal )-35(data, )-35(or )-35(we )-35(can )-35(use )-35(the)]TJ -/TT1 1 Tf --2.116 -1.2 Td -(MSG_OOB)Tj -/T1_1 1 Tf -4.552 0 Td -[(\337ag )-102(with )-102(one )-102(of )-102(the)]TJ -/TT1 1 Tf -9.329 0 Td -(recv)Tj -/T1_1 1 Tf -2.752 0 Td -[(functions )-102(to )-102(r)18(eceive )-102(the )-102(ur)18(gent )-102(data )-102(ahead )-102(of )-102(any)]TJ --16.633 -1.2 Td -[(other )-163(queue )-163(data.)-663(TCP )-163(queues )-163(only )-163(one )-163(byte )-163(of )-163(ur)18(gent )-163(data.)-663(If )-163(another )-163(ur)15(gent )-163(byte)]TJ -T* -[(arrives befor)18(e)-250(we)-250(r)18(eceive the curr)18(ent one, the existing one is discar)18(ded.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46911 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.6)]TJ -36.901 0 Td -[(Socket )-250(Options)]TJ -/T1_1 1 Tf -8.932 0 Td -(623)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(if \(argc != 1\))Tj -2.4 -1.189 Td -(err_quit\("usage: ruptimed"\);)Tj --2.4 -1.189 Td -(if \(\(n = sysconf\(_SC_HOST_NAME_MAX\)\) < 0\))Tj -0.6 Tc 2.4 -1.189 Td -(n=H)Tj -0 Tc 3 0 Td -[(OST_NAME_MAX; )-600(/*)-600(best guess */)]TJ --5.4 -1.189 Td -(if \(\(host = malloc\(n\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("malloc error"\);)Tj --2.4 -1.189 Td -(if \(gethostname\(host, n\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("gethostname error"\);)Tj --2.4 -1.189 Td -(daemonize\("ruptimed"\);)Tj -0 -1.189 TD -(memset\(&hint, 0, sizeof\(hint\)\);)Tj -T* -(hint.ai_flags = AI_CANONNAME;)Tj -T* -(hint.ai_socktype = SOCK_DGRAM;)Tj -T* -(hint.ai_canonname = NULL;)Tj -T* -(hint.ai_addr = NULL;)Tj -0 -1.189 TD -(hint.ai_next = NULL;)Tj -0 -1.189 TD -(if \(\(err = getaddrinfo\(host, "ruptime", &hint, &ailist\)\) != 0\) {)Tj -2.4 -1.189 Td -(syslog\(LOG_ERR, "ruptimed: getaddrinfo error: %s",)Tj -1.2 -1.189 Td -(gai_strerror\(err\)\);)Tj --1.2 -1.189 Td -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(for \(aip = ailist; aip != NULL; aip = aip->ai_next\) {)Tj -2.4 -1.189 Td -(if \(\(sockfd = initserver\(SOCK_DGRAM, aip->ai_addr,)Tj -1.2 -1.189 Td -(aip->ai_addrlen, 0\)\) >= 0\) {)Tj -1.2 -1.189 Td -(serve\(sockfd\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -T* -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3659.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 213.9423 349.857 Tm -(Figure 16.20)Tj -/T1_0 1 Tf -6.195 0 Td -[(Server pr)18(oviding system uptime over datagrams)]TJ -9.9988 0 0 9.9988 129.5846 325.8599 Tm -[(The )-123(server )-123(blocks )-123(in)]TJ -/TT0 1 Tf -9.591 0 Td -(recvfrom)Tj -/T1_0 1 Tf -5.173 0 Td -[(for )-123(a )-123(r)18(equest )-123(for )-123(service.)-623(When )-123(a )-123(r)16(equest )-123(arrives, )-123(we)]TJ --14.765 -1.2 Td -[(save )-26(the )-26(r)17(equester )176(\325s)-276(addr)18(ess )-26(and )-26(use)]TJ -/TT0 1 Tf -16.537 0 Td -(popen)Tj -/T1_0 1 Tf -3.277 0 Td -[(to )-27(r)8(un )-27(the)]TJ -/TT0 1 Tf -4.661 0 Td -(uptime)Tj -/T1_0 1 Tf -3.877 0 Td -[(command. )-277(W)]TJ -0.2766 Tc 6.134 0 Td -(es)Tj -0 Tc 1.18 0 Td -[(end )-27(the)]TJ --35.664 -1.2 Td -[(output )-33(back )-33(to )-33(the )-33(client )-33(using )-33(the)]TJ -/TT0 1 Tf -15.555 0 Td -(sendto)Tj -/T1_0 1 Tf -3.883 0 Td -[(function, )-33(with )-33(the )-33(destination )-33(addr)18(ess )-33(set )-33(to)]TJ --19.439 -1.2 Td -[(the r)18(equester )176(\325s)-250(addr)18(ess.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2899.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9978 0 0 11.9978 93.5832 262.2518 Tm -[(16.6 )-776(Soc)20(ket )-278(Options)]TJ -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 244.255 Tm -[(The )-292(socket )-292(mechanism )-292(pr)19(ovides )-292(two )-292(socket-option )-292(interfaces )-292(for )-292(us )-292(to )-292(contr)18(ol )-292(the)]TJ -0 -1.2 TD -[(behavior )-26(of )-26(sockets.)-526(One )-26(interface )-26(is )-26(used )-26(to )-26(set )-26(an )-26(option, )-26(and )-26(another )-26(interface )-26(allows)]TJ -T* -(us to query the state of an option.)Tj --0.092 Tc 15.287 0 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -[(an get and set thr)18(ee kinds of options:)]TJ --15.568 -1.68 Td -[(1. )-633(Generic)-250(options that work with all socket types)]TJ -0 -1.48 TD -[(2. )-633(Options)-430(that )-180(ar)]TJ -0.4301 Tc 8.66 0 Td -(em)Tj -0 Tc 1.792 0 Td -[(anaged )-180(at )-180(the )-180(socket )-180(level, )-180(but )-180(depend )-180(on )-180(the )-180(underlying)]TJ --8.819 -1.2 Td -[(pr)18(otocols for support)]TJ --1.633 -1.48 Td -[(3. )-633(Pr)18(otocol-speci\336c options unique to each individual pr)18(otocol)]TJ --1.8 -1.68 Td -[(The )-8(Single )-8(UNIX )-8(Speci\336cation )-8(de\336nes )-8(only )-8(the )-8(socket-layer )-8(options )-8(\(the )-8(\336rst )-8(two )-8(option)]TJ -0 -1.2 TD -[(types in the pr)18(eceding list\).)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46912 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(610)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(16.5 )-776(Data)]TJ --0.08 Tc 5.723 0 Td -(Tr)Tj -0 Tc 0.92 0 Td -[(ansf)10(er)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(Since )-52(a )-52(socket )-52(endpoint )-52(is )-52(r)18(epr)18(esented )-52(as )-52(a )-52(\336le )-52(descriptor)]TJ -0.3021 Tc 25.499 0 Td -(,w)Tj -0.3022 Tc 1.386 0 Td -(ec)Tj -0 Tc 1.225 0 Td -[(an )-52(use)]TJ -/TT1 1 Tf -3.192 0 Td -(read)Tj -/T1_1 1 Tf -2.702 0 Td -(and)Tj -/TT1 1 Tf -1.995 0 Td -(write)Tj -/T1_1 1 Tf --36 -1.2 Td -[(to )-49(communicate )-49(with )-49(a )-49(socket, )-49(as )-49(long )-49(as )-49(it )-49(is )-49(connected.)-549(Recall )-49(that )-49(a )-49(datagram )-49(socket)]TJ -0 -1.2 TD -[(can )-199(be )-199(\324)37(\324connected\325)37(\325)-449(if)-449(we)-449(s)1(et )-199(the )-199(default )-199(peer )-199(addr)19(ess )-199(using )-199(the)]TJ -/TT1 1 Tf -30.394 0 Td -(connect)Tj -/T1_1 1 Tf -4.649 0 Td -(function.)Tj --35.043 -1.2 Td -(Using)Tj -/TT1 1 Tf -2.935 0 Td -(read)Tj -/T1_1 1 Tf -2.704 0 Td -(and)Tj -/TT1 1 Tf -1.997 0 Td -(write)Tj -/T1_1 1 Tf -3.304 0 Td -[(with )-54(socket )-54(descriptors )-54(is )-54(signi\336cant, )-54(because )-54(it )-54(means )-54(that )-54(we)]TJ --10.94 -1.2 Td -[(can )-1(pass )-1(socket )-1(descriptors )-1(to )-1(functions )-1(that )-1(wer)]TJ -0.2514 Tc 21.373 0 Td -(eo)Tj -0 Tc 1.276 0 Td -[(riginally )-1(designed )-1(to )-1(work )-1(with )-1(local)]TJ --22.649 -1.2 Td -[(\336les. )-311(W)]TJ -0.3109 Tc 3.518 0 Td -(ec)Tj -0 Tc 1.234 0 Td -[(an )-61(also )-61(arrange )-61(to )-61(pass )-61(the )-61(socket )-61(descriptors )-61(to )-61(child )-61(pr)19(ocesses )-61(that )-61(execute)]TJ --4.752 -1.2 Td -[(pr)18(ograms that know nothing about sockets.)]TJ -1.8 -1.2 Td -[(Although )-28(we )-28(can )-28(exchange )-28(data )-28(using)]TJ -/TT1 1 Tf -17.301 0 Td -(read)Tj -/T1_1 1 Tf -2.678 0 Td -(and)Tj -/TT1 1 Tf -1.971 0 Td -(write)Tj -/T1_1 1 Tf -0.2779 Tc (,t)Tj -0 Tc 3.854 0 Td -[(hat )-28(is )-28(about )-28(all )-28(we )-28(can )-28(do)]TJ --27.604 -1.2 Td -[(with )-73(these )-73(two )-73(functions.)-573(If )-73(we )-73(want )-73(to )-73(specify )-73(options, )-73(r)16(eceive )-73(packets )-73(fr)18(om )-73(multiple)]TJ -T* -[(clients, )-291(or )-291(send )-291(out-of-band )-291(data, )-291(we )-291(need )-291(to )-291(use )-291(one )-291(of )-291(the )-291(six )-291(socket )-291(functions)]TJ -T* -[(designed for data transfer)74(.)]TJ -1.8 -1.2 Td -[(Thr)18(ee )-52(functions )-52(ar)]TJ -0.3023 Tc 8.143 0 Td -(ea)Tj -0 Tc 1.281 0 Td -[(vailable )-52(for )-52(sending )-52(data, )-52(and )-52(thr)17(ee )-52(ar)]TJ -0.3022 Tc 17.083 0 Td -(ea)Tj -0 Tc 1.281 0 Td -[(vailable )-52(for )-52(r)18(eceiving)]TJ --29.588 -1.2 Td -[(data. )-250(First,)-250(we\325ll look at the ones used to send data.)]TJ -1.8 -1.2 Td -[(The )-103(simplest )-103(one )-103(is)]TJ -/TT1 1 Tf -9.129 0 Td -(send)Tj -/T1_1 1 Tf -0.6034 Tc (.I)Tj -0 Tc 3.59 0 Td -[(t)-353(is)-353(s)-1(imilar )-103(to)]TJ -/TT1 1 Tf -6.402 0 Td -(write)Tj -/T1_1 1 Tf -0.3534 Tc (,b)Tj -0 Tc 4.156 0 Td -[(ut )-103(allows )-103(us )-103(to )-103(specify )-103(\337ags )-103(to)]TJ --25.077 -1.2 Td -[(change how the data we want to transmit is tr)18(eated.)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.5908 457.8725 Tm -(#include )Tj -0 -2.14 TD -(ssize_t send\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(sockfd)Tj -/TT1 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.262 0 Td -(onst void *)Tj -/T1_2 1 Tf -(buf)Tj -/TT1 1 Tf -0.6 Tc (,s)Tj -0 Tc 9.697 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.43 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT1 1 Tf -(\);)Tj -/T1_1 1 Tf --15.911 -2.14 Td -(Returns: number of bytes sent if OK,)Tj -/TT2 1 Tf -16.386 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4149.25 cm -0 0 m -0 520 l -3900 520 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 398.9321 Tm -(Like)Tj -/TT1 1 Tf -2.233 0 Td -(write)Tj -/T1_1 1 Tf -0.2964 Tc (,t)Tj -0 Tc 3.872 0 Td -[(he )-46(socket )-46(has )-46(to )-46(be )-46(connected )-46(to )-46(use)]TJ -/TT1 1 Tf -16.488 0 Td -(send)Tj -/T1_1 1 Tf -0.5464 Tc (.T)Tj -0 Tc 3.809 0 Td -(he)Tj -/T1_2 1 Tf -1.357 0 Td -(buf)Tj -/T1_1 1 Tf -1.593 0 Td -(and)Tj -/T1_2 1 Tf -1.989 0 Td -(nbytes)Tj -/T1_1 1 Tf -2.926 0 Td -[(ar)18(guments)]TJ --34.27 -1.2 Td -(have the same meaning as they do with)Tj -/TT1 1 Tf -17.729 0 Td -(write)Tj -/T1_1 1 Tf -(.)Tj --15.929 -1.2 Td -(Unlike)Tj -/TT1 1 Tf -3.4 0 Td -(write)Tj -/T1_1 1 Tf -0.4231 Tc (,h)Tj -0 Tc 4.255 0 Td -[(owever)74(,)]TJ -/TT1 1 Tf -3.897 0 Td -(send)Tj -/T1_1 1 Tf -2.823 0 Td -[(supports )-173(a )-173(fourth)]TJ -/T1_2 1 Tf -8.474 0 Td -(\337ags)Tj -/T1_1 1 Tf -2.301 0 Td -[(ar)18(gument. )-423(Thr)18(ee )-173(\337ags )-173(ar)18(e)]TJ --26.951 -1.2 Td -[(de\336ned )-216(by )-216(the )-216(Single )-216(UNIX )-216(Speci\336cation, )-216(but )-216(it )-216(is )-216(common )-216(for )-216(implementations )-216(to)]TJ -0 -1.2 TD -[(support additional ones.)-500(They ar)]TJ -0.25 Tc 14.683 0 Td -(es)Tj -0 Tc 1.153 0 Td -(ummarized in Figur)Tj -0.25 Tc 8.901 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(6.13.)Tj --24.166 -1.2 Td -(If)Tj -/TT1 1 Tf -0.931 0 Td -(send)Tj -/T1_1 1 Tf --0.018 Tc 2.661 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-11(success, )-11(it )-11(doesn\325t )-11(necessarily )-11(mean )-11(that )-11(the )-11(pr)18(ocess )-11(at )-11(the )-11(other )-11(end)]TJ --6.247 -1.2 Td -[(of )-36(the )-36(connection )-36(r)18(eceives )-36(the )-36(data.)-537(All )-36(we )-36(ar)]TJ -0.2861 Tc 20.289 0 Td -(eg)Tj -0 Tc 1.321 0 Td -[(uaranteed )-36(is )-36(that )-36(when)]TJ -/TT1 1 Tf -10.545 0 Td -(send)Tj -/T1_1 1 Tf -2.686 0 Td -(succeeds,)Tj --34.842 -1.2 Td -[(the data has been deliver)18(ed to the network drivers without err)18(or)74(.)]TJ --0.055 Tc 1.8 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-284(a )-284(pr)18(otocol )-284(that )-284(supports )-284(message )-284(boundaries, )-284(if )-284(we )-284(try )-284(to )-284(send )-284(a )-284(single)]TJ --3.036 -1.2 Td -[(message )-263(lar)18(ger )-263(than )-263(the )-263(maximum )-263(supported )-263(by )-263(the )-263(pr)17(otocol,)]TJ -/TT1 1 Tf -29.906 0 Td -(send)Tj -/T1_1 1 Tf -2.913 0 Td -[(will )-263(fail )-263(with)]TJ -/TT1 1 Tf --32.819 -1.2 Td -(errno)Tj -/T1_1 1 Tf -3.329 0 Td -[(set )-79(to)]TJ -/TT1 1 Tf -2.76 0 Td -(EMSGSIZE)Tj -/T1_1 1 Tf -0.5793 Tc (.W)Tj -0 Tc 6.574 0 Td -[(ith )-79(a )-79(byte-str)18(eam )-79(pr)17(otocol,)]TJ -/TT1 1 Tf -12.179 0 Td -(send)Tj -/T1_1 1 Tf -2.729 0 Td -[(will )-79(block )-79(until )-79(the )-79(entir)17(e)]TJ --27.572 -1.2 Td -(amount of data has been transmitted.)Tj -1.8 -1.2 Td -(The)Tj -/TT1 1 Tf -1.942 0 Td -(sendto)Tj -/T1_1 1 Tf -3.869 0 Td -[(function )-18(is )-18(similar )-18(to)]TJ -/TT1 1 Tf -9.443 0 Td -(send)Tj -/T1_1 1 Tf -0.5185 Tc (.T)Tj -0 Tc 3.781 0 Td -[(he )-18(dif)18(fer)18(ence )-18(is )-18(that)]TJ -/TT1 1 Tf -8.974 0 Td -(sendto)Tj -/T1_1 1 Tf -3.869 0 Td -[(allows )-18(us )-18(to)]TJ --33.678 -1.2 Td -[(specify a destination addr)18(ess to be used with connectionless sockets.)]TJ -/TT1 1 Tf -8.9989 0 0 8.9989 147.5818 223.8531 Tm -(#include )Tj -0 -2.14 TD -(ssize_t sendto\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(sockfd)Tj -/TT1 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.262 0 Td -(onst void *)Tj -/T1_2 1 Tf -(buf)Tj -/TT1 1 Tf -0.6 Tc (,s)Tj -0 Tc 9.697 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.43 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT1 1 Tf -(,)Tj --26.189 -1.189 Td -(const struct sockaddr *)Tj -/T1_2 1 Tf -(destaddr)Tj -/TT1 1 Tf -0.6 Tc (,s)Tj -0 Tc 19.044 0 Td -(ocklen_t)Tj -/T1_2 1 Tf -5.4 0 Td -(destlen)Tj -/TT1 1 Tf -(\);)Tj -/T1_1 1 Tf --15.366 -2.14 Td -(Returns: number of bytes sent if OK,)Tj -/TT2 1 Tf -16.386 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1701.25 cm -0 0 m -0 628 l -3900 628 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.055 Tc 9.9982 0 0 9.9982 129.5767 154.2322 Tm -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-24(a )-24(connection-oriented )-24(socket, )-24(the )-24(destination )-24(addr)15(ess )-25(is )-25(ignor)18(ed, )-25(as )-25(the )-25(destination)]TJ --1.236 -1.2 Td -[(is )-116(implied )-116(by )-116(the )-116(connection.)]TJ --0.055 Tc 13.81 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-116(a )-116(connectionless )-116(socket, )-116(we )-116(can\325t )-116(use)]TJ -/TT1 1 Tf -18.385 0 Td -(send)Tj -/T1_1 1 Tf -2.766 0 Td -(unless)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46913 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.4)]TJ -31.974 0 Td -[(Connection )-250(Establishment)]TJ -/T1_1 1 Tf -13.859 0 Td -(605)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -0.883 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-45(port )-45(number )-45(in )-45(the )-45(addr)18(ess )-45(cannot )-45(be )-45(less )-45(than )-45(1,024 )-45(unless )-45(the )-45(pr)18(ocess )-45(has)]TJ --0.613 -1.2 Td -[(the appr)18(opriate privilege \(i.e., is the super)8(user\).)]TJ -0.883 Tc -1.489 -1.6 Td -(\245U)Tj -0 Tc 2.267 0 Td -(sually)Tj -0.3995 Tc 2.554 0 Td -(,o)Tj -0 Tc 1.196 0 Td -[(nly )-149(one )-149(socket )-149(endpoint )-149(can )-149(be )-149(bound )-149(to )-149(a )-149(given )-149(addr)18(ess, )-149(although)]TJ --4.527 -1.2 Td -[(some pr)18(otocols allow duplicate bindings.)]TJ --3.289 -2.04 Td -[(For )-98(the )-98(Internet )-98(domain, )-98(if )-98(we )-98(specify )-98(the )-98(special )-98(IP )-98(addr)17(ess)]TJ -/TT0 1 Tf -27.731 0 Td -(INADDR_ANY)Tj -/T1_0 1 Tf -6.348 0 Td -[(\(de\336ned )-98(in)]TJ -/TT0 1 Tf --34.079 -1.2 Td -()Tj -/T1_0 1 Tf -[(\), )-236(the )-236(socket )-236(endpoint )-236(will )-236(be )-236(bound )-236(to )-236(all )-236(the )-236(system\325s )-236(network)]TJ -0 -1.2 TD -[(interfaces. )-374(This)-374(means )-124(that )-124(we )-124(can )-124(r)18(eceive )-124(packets )-124(fr)18(om )-124(any )-124(of )-124(the )-124(network )-124(interface)]TJ -T* -[(car)18(ds )-6(installed )-6(in )-6(the )-6(system.)]TJ --0.092 Tc 13.281 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-6(see )-6(in )-6(the )-6(next )-6(section )-6(that )-6(the )-6(system )-6(will )-6(choose )-6(an)]TJ --14.668 -1.2 Td -[(addr)18(ess )-142(and )-142(bind )-142(it )-142(to )-142(our )-142(socket )-142(for )-142(us )-142(if )-142(we )-142(call)]TJ -/TT0 1 Tf -23.432 0 Td -(connect)Tj -/T1_0 1 Tf -4.592 0 Td -(or)Tj -/TT0 1 Tf -1.333 0 Td -(listen)Tj -/T1_0 1 Tf -3.992 0 Td -[(without )-142(\336rst)]TJ --33.349 -1.2 Td -[(binding an addr)18(ess to the socket.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -(an use the)Tj -/TT0 1 Tf -4.725 0 Td -(getsockname)Tj -/T1_0 1 Tf -6.85 0 Td -[(function to discover the addr)18(ess bound to a socket.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5914 519.8688 Tm -(#include )Tj -0 -2.021 TD -(int getsockname\(int)Tj -/T1_2 1 Tf -12 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.262 0 Td -(truct sockaddr *restrict)Tj -/T1_2 1 Tf -15 0 Td -(addr)Tj -/TT0 1 Tf -(,)Tj --21.662 -1.189 Td -(socklen_t *restrict)Tj -/T1_2 1 Tf -12 0 Td -(alenp)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -5.251 -2.021 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4683.25 cm -0 0 m -0 606 l -3900 606 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 454.7654 Tm -(Befor)Tj -0.3373 Tc 2.346 0 Td -(ec)Tj -0 Tc 1.26 0 Td -(alling)Tj -/TT0 1 Tf -2.848 0 Td -(getsockname)Tj -/T1_0 1 Tf -[(,)-337(we)-337(set)]TJ -/T1_2 1 Tf -10.404 0 Td -(alenp)Tj -/T1_0 1 Tf -2.504 0 Td -[(to )-87(point )-87(to )-87(an )-87(integer )-87(containing )-87(the )-87(size )-87(of)]TJ --19.362 -1.2 Td -(the)Tj -/TT0 1 Tf -1.651 0 Td -(sockaddr)Tj -/T1_0 1 Tf -5.064 0 Td -[(buf)18(fer)]TJ -0.5139 Tc 2.604 0 Td -(.O)Tj -0.2639 Tc 1.55 0 Td -(nr)Tj -0 Tc 1.223 0 Td -[(eturn, )-14(the )-14(integer )-14(is )-14(set )-14(to )-14(the )-14(size )-14(of )-14(the )-14(addr)19(ess )-14(r)18(eturned. )-264(If)]TJ --12.092 -1.2 Td -[(the )-185(addr)18(ess )-185(won\325t )-185(\336t )-185(in )-185(the )-185(buf)18(fer )-185(pr)18(ovided, )-185(the )-185(addr)18(ess )-185(is )-185(silently )-185(tr)2(uncated. )-435(If)-436(no)]TJ -0 -1.2 Td -[(addr)18(ess is curr)18(ently bound to the socket, the r)18(esults ar)]TJ -0.25 Tc 23.811 0 Td -(eu)Tj -0 Tc 1.332 0 Td -(nde\336ned.)Tj --23.343 -1.2 Td -[(If )-18(the )-18(socket )-18(is )-18(connected )-18(to )-18(a )-18(peer)76(,)-268(we)-268(can )-18(\336nd )-18(out )-18(the )-18(peer)-74(\325s )-18(addr)18(ess )-18(by )-18(calling )-18(the)]TJ -/TT0 1 Tf --1.8 -1.2 Td -(getpeername)Tj -/T1_0 1 Tf -6.85 0 Td -(function.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5826 378.0746 Tm -(#include )Tj -T* -(int getpeername\(int)Tj -/T1_2 1 Tf -12 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.262 0 Td -(truct sockaddr *restrict)Tj -/T1_2 1 Tf -15 0 Td -(addr)Tj -/TT0 1 Tf -(,)Tj --21.662 -1.189 Td -(socklen_t *restrict)Tj -/T1_2 1 Tf -12 0 Td -(alenp)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -5.251 -2.021 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3265.25 cm -0 0 m -0 606 l -3900 606 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 312.9837 Tm -[(Other )-81(than )-81(r)18(eturning )-81(the )-81(peer)-74(\325s )-81(addr)18(ess, )-81(the)]TJ -/TT0 1 Tf -20.248 0 Td -(getpeername)Tj -/T1_0 1 Tf -6.931 0 Td -[(function )-81(is )-81(identical )-81(to )-81(the)]TJ -/TT0 1 Tf --27.179 -1.2 Td -(getsockname)Tj -/T1_0 1 Tf -6.85 0 Td -(function.)Tj -/TT2 1 Tf -11.9978 0 0 11.9978 93.5833 264.9923 Tm -[(16.4 )-776(Connection)-556(Estab)10(lishment)]TJ -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5769 240.9966 Tm -[(If )-473(we\325r)]TJ -0.723 Tc 3.361 0 Td -(ed)Tj -0 Tc 1.813 0 Td -[(ealing )-473(with )-473(a )-473(connection-oriented )-473(network )-473(service )-473(\()]TJ -/TT0 1 Tf -(SOCK_STREAM)Tj -/T1_0 1 Tf -32.885 0 Td -(or)Tj -/TT0 1 Tf --38.059 -1.2 Td -(SOCK_SEQPACKET)Tj -/T1_0 1 Tf -[(\), )-71(then )-71(befor)18(e)-321(we)-321(can )-71(exchange )-71(data, )-71(we )-71(need )-71(to )-71(cr)17(eate )-71(a )-71(connection)]TJ -0 -1.2 Td -[(between )-178(the )-178(socket )-178(of )-178(the )-178(pr)18(ocess )-178(r)18(equesting )-178(the )-178(service )-178(\(the )-178(client\) )-178(and )-178(the )-178(pr)19(ocess)]TJ -0 -1.2 TD -[(pr)18(oviding )-26(the )-26(service )-26(\(the )-26(server\).)]TJ --0.092 Tc 15.555 0 Td -[(We )-210(u)]TJ -0 Tc 2.266 0 Td -[(se )-26(the)]TJ -/TT0 1 Tf -2.842 0 Td -(connect)Tj -/T1_0 1 Tf -4.476 0 Td -[(function )-26(to )-26(cr)18(eate )-26(a )-26(connection.)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.5743 188.3065 Tm -(#include )Tj -0 -2.021 TD -(int connect\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.262 0 Td -(onst struct sockaddr *)Tj -/T1_2 1 Tf -(addr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 16.833 0 Td -(ocklen_t)Tj -/T1_2 1 Tf -5.4 0 Td -(len)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --9.244 -2.021 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1474.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46914 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(604)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 194.3883 670.2598 Tm -(sinp = \(struct sockaddr_in *\)aip->ai_addr;)Tj -0 -1.189 TD -(addr = inet_ntop\(AF_INET, &sinp->sin_addr, abuf,)Tj -2.4 -1.189 Td -(INET_ADDRSTRLEN\);)Tj --2.4 -1.189 Td -(printf\(" address %s", addr?addr:"unknown"\);)Tj -T* -(printf\(" port %d", ntohs\(sinp->sin_port\)\);)Tj --2.4 -1.189 Td -(})Tj -T* -(printf\("\\n"\);)Tj --2.4 -1.189 Td -(})Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5692.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 241.307 553.1326 Tm -(Figure 16.9)Tj -/T1_1 1 Tf -5.695 0 Td -(Print host and service information)Tj -9.9988 0 0 9.9988 129.5846 529.1355 Tm -[(This )-148(pr)18(ogram )-148(illustrates )-148(the )-148(use )-148(of )-148(the)]TJ -/TT0 1 Tf -18.064 0 Td -(getaddrinfo)Tj -/T1_1 1 Tf -6.998 0 Td -[(function. )-398(If)-398(multiple )-148(pr)18(otocols)]TJ --25.063 -1.2 Td -[(pr)18(ovide )-5(the )-5(given )-5(service )-5(for )-5(the )-5(given )-5(host, )-5(the )-5(pr)18(ogram )-5(will )-5(print )-5(mor)]TJ -0.255 Tc 31.682 0 Td -(et)Tj -0 Tc 1.06 0 Td -[(han )-5(one )-5(entry)111(.)]TJ --32.742 -1.2 Td -[(In )-78(this )-78(example, )-78(we )-78(print )-78(out )-78(the )-78(addr)18(ess )-78(information )-78(only )-78(for )-78(the )-78(pr)23(otocols )-77(that )-77(work)]TJ -0 -1.2 TD -[(with )-168(IPv4 )-168(\()]TJ -/TT0 1 Tf -5.209 0 Td -(ai_family)Tj -/T1_1 1 Tf -5.818 0 Td -(equals)Tj -/TT0 1 Tf -3.275 0 Td -(AF_INET)Tj -/T1_1 1 Tf -[(\). )-418(If)-419(we )-168(wanted )-168(to )-168(r)18(estrict )-168(the )-168(output )-168(to )-168(the)]TJ -/TT0 1 Tf --14.302 -1.2 Td -(AF_INET)Tj -/T1_1 1 Tf -4.45 0 Td -[(pr)18(otocol family)111(,)-250(we)-250(could set the)]TJ -/TT0 1 Tf -14.594 0 Td -(ai_family)Tj -/T1_1 1 Tf -5.65 0 Td -(\336eld in the hint.)Tj --22.894 -1.2 Td -[(When we r)8(un the pr)18(ogram on one of the test systems, we get)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5821 452.4447 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out harry nfs)Tj -/TT0 1 Tf --1.2 -1.189 Td -(flags canon family inet type stream protocol TCP)Tj -2.778 -1.189 Td -(host harry address 192.168.1.99 port 2049)Tj --2.778 -1.189 Td -(flags canon family inet type datagram protocol UDP)Tj -2.778 -1.189 Td -(host harry address 192.168.1.99 port 2049)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4037.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -11.9978 0 0 11.9978 129.5767 372.432 Tm -[(16.3.4 )-556(Associating)-556(Ad)10(dresses )-278(with )-278(Soc)20(kets)]TJ -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5769 348.4363 Tm -[(The )-202(addr)18(ess )-202(associated )-202(with )-202(a )-202(client\325s )-202(socket )-202(is )-202(of )-202(little )-202(inter)15(est, )-202(and )-202(we )-202(can )-202(let )-202(the)]TJ -T* -[(system )-102(choose )-102(a )-102(default )-102(addr)18(ess )-102(for )-102(us.)-602(For )-102(a )-102(server)]TJ -0.3521 Tc 23.812 0 Td -(,h)Tj -0 Tc 1.184 0 Td -[(owever)74(,)-352(we)-352(need )-102(to )-102(associate )-102(a)]TJ --24.996 -1.2 Td -[(well-known )-296(addr)18(ess )-296(with )-296(the )-296(server)-75(\325s )-296(socket )-296(on )-296(which )-296(client )-296(r)18(equests )-296(will )-296(arrive.)]TJ -T* -[(Clients )-80(need )-80(a )-80(way )-80(to )-80(discover )-80(the )-80(addr)15(ess )-80(to )-80(use )-80(to )-80(contact )-80(a )-80(server)]TJ -0.3304 Tc 30.96 0 Td -(,a)Tj -0 Tc 1.08 0 Td -[(nd )-80(the )-80(simplest)]TJ --32.04 -1.2 Td -[(scheme )-7(is )-7(for )-7(a )-7(server )-7(to )-7(r)15(eserve )-8(an )-8(addr)18(ess )-8(and )-8(r)18(egister )-8(it )-8(in)]TJ -/TT0 1 Tf -26.953 0 Td -(/etc/services)Tj -/T1_1 1 Tf -8.058 0 Td -[(or )-8(with )-8(a)]TJ --35.011 -1.2 Td -(name service.)Tj --0.092 Tc 1.8 -1.2 Td -[(We )-184(u)]TJ -0 Tc 2.24 0 Td -(se the)Tj -/TT0 1 Tf -2.79 0 Td -(bind)Tj -/T1_1 1 Tf -2.65 0 Td -[(function to associate an addr)18(ess with a socket.)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.5737 257.3523 Tm -(#include )Tj -0 -2.021 TD -(int bind\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.262 0 Td -(onst struct sockaddr *)Tj -/T1_2 1 Tf -(addr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 16.833 0 Td -(ocklen_t)Tj -/T1_2 1 Tf -5.4 0 Td -(len)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --7.444 -2.021 Td -(Returns: 0 if OK,)Tj -/TT3 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2165.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9976 0 0 9.9976 129.5689 200.5709 Tm -(Ther)Tj -0.25 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(s)]TJ -0 Tc 1.53 0 Td -[(everal r)18(estrictions on the addr)18(ess we can use:)]TJ -0.883 Tc -3.01 -2.04 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-105(addr)18(ess )-105(we )-105(specify )-105(must )-105(be )-105(valid )-105(for )-105(the )-105(machine )-105(on )-105(which )-105(the )-105(pr)23(ocess )-104(is)]TJ --0.008 Tc -0.613 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning; we can\325t specify an addr)18(ess belonging to some other machine.)]TJ -0.883 Tc -2.479 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-27(addr)18(ess )-27(must )-27(match )-27(the )-27(format )-27(supported )-27(by )-27(the )-27(addr)18(ess )-27(family )-27(we )-27(used )-27(to)]TJ --0.613 -1.2 Td -[(cr)18(eate the socket.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46915 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.3)]TJ -38.7 0 Td -[(Addr)18(essing)]TJ -/T1_1 1 Tf -7.133 0 Td -(597)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 129.5922 668.9599 Tm -[(16.3.3 )-556(Ad)10(dress )-278(Lookup)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 647.3612 Tm -[(Ideally)111(,)-473(an)-473(application )-223(won\325t )-223(have )-223(to )-223(be )-223(awar)19(e)-473(of)-473(the )-223(internal )-223(str)8(uctur)18(e)-473(of)-473(a)-473(socket)]TJ -0 -1.2 Td -[(addr)18(ess. )-640(If)-641(an )-390(application )-390(simply )-390(passes )-390(socket )-390(addr)18(esses )-390(ar)18(ound )-390(as)]TJ -/TT1 1 Tf -34.2 0 Td -(sockaddr)Tj -/T1_0 1 Tf --34.2 -1.2 Td -[(str)8(uctur)18(es )-122(and )-122(doesn\325t )-122(r)18(ely )-122(on )-122(any )-122(pr)18(otocol-speci\336c )-122(featur)18(es, )-122(then )-122(the )-122(application )-122(will)]TJ -0 -1.2 Td -[(work with many dif)18(fer)18(ent pr)18(otocols that pr)18(ovide the same type of service.)]TJ -1.8 -1.2 Td -(Historically)Tj -0.4797 Tc 5.076 0 Td -(,t)Tj -0 Tc 1.056 0 Td -[(he )-230(BSD )-230(networking )-230(softwar)]TJ -0.4797 Tc 12.897 0 Td -(eh)Tj -0 Tc 1.541 0 Td -[(as )-230(pr)18(ovided )-230(interfaces )-230(to )-230(access )-230(the)]TJ --22.369 -1.2 Td -[(various )-220(network )-220(con\336guration )-220(information.)-720(In )-220(Section )-220(6.7, )-220(we )-220(brie\337y )-220(discussed )-220(the)]TJ -0 -1.2 TD -[(networking )-37(data )-37(\336les )-37(and )-37(the )-37(functions )-37(used )-37(to )-37(access )-37(them.)-537(In )-37(this )-37(section, )-37(we )-37(discuss)]TJ -T* -[(them )-336(in )-336(a )-336(little )-336(mor)]TJ -0.5856 Tc 9.795 0 Td -(ed)Tj -0 Tc 1.676 0 Td -[(etail )-336(and )-336(intr)19(oduce )-336(the )-336(newer )-336(functions )-336(used )-336(to )-336(look )-336(up)]TJ --11.471 -1.2 Td -[(addr)18(essing information.)]TJ -1.8 -1.2 Td -[(The )-23(network )-23(con\336guration )-23(information )-23(r)18(eturned )-23(by )-23(these )-23(functions )-23(can )-23(be )-23(kept )-23(in )-23(a)]TJ --1.8 -1.2 Td -[(number )-277(of )-277(places.)-779(This )-278(information )-278(can )-278(be )-278(kept )-278(in )-278(static )-278(\336les )-278(\(e.g.,)]TJ -/TT1 1 Tf -32.75 0 Td -(/etc/hosts)Tj -/T1_0 1 Tf -(,)Tj -/TT1 1 Tf --32.75 -1.2 Td -(/etc/services)Tj -/T1_0 1 Tf -[(\), )-211(or )-211(it )-211(can )-211(be )-211(managed )-211(by )-211(a )-211(name )-211(service, )-211(such )-211(as )-211(DNS )-211(\(Domain)]TJ -T* -[(Name )-419(System\) )-419(or )-419(NIS )-419(\(Network )-419(Information )-419(Service\).)-918(Regar)18(dless )-419(of )-419(wher)]TJ -0.6689 Tc 36.465 0 Td -(et)Tj -0 Tc 1.474 0 Td -(he)Tj --37.939 -1.2 Td -(information is kept, the same functions can be used to access it.)Tj -1.8 -1.2 Td -(The hosts known by a given computer system ar)Tj -0.25 Tc 21.404 0 Td -(ef)Tj -0 Tc 1.062 0 Td -(ound by calling)Tj -/TT1 1 Tf -7.156 0 Td -(gethostent)Tj -/T1_0 1 Tf -(.)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5913 462.6722 Tm -(#include )Tj -0 -1.783 TD -(struct hostent *gethostent\(void\);)Tj -/T1_0 1 Tf -22.78 -1.783 Td -(Returns: pointer if OK,)Tj -/TT1 1 Tf -10.333 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT1 1 Tf --35.763 -1.783 Td -(void sethostent\(int)Tj -/T1_2 1 Tf -12 0 Td -(stayopen)Tj -/TT1 1 Tf -(\);)Tj --12 -1.783 Td -(void endhostent\(void\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3940.25 cm -0 0 m -0 777 l -3900 777 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 380.4543 Tm -[(If )-13(the )-13(host )-13(database )-13(\336le )-13(isn\325t )-13(alr)18(eady )-13(open,)]TJ -/TT1 1 Tf -18.98 0 Td -(gethostent)Tj -/T1_0 1 Tf -6.263 0 Td -[(will )-13(open )-13(it.)-513(The)]TJ -/TT1 1 Tf -7.758 0 Td -(gethostent)Tj -/T1_0 1 Tf --33 -1.2 Td -[(function )-56(r)18(eturns )-56(the )-56(next )-56(entry )-56(in )-56(the )-56(\336le.)-557(The)]TJ -/TT1 1 Tf -21.085 0 Td -(sethostent)Tj -/T1_0 1 Tf -6.306 0 Td -[(function )-56(will )-56(open )-56(the )-56(\336le)]TJ --27.391 -1.2 Td -[(or )-31(r)18(ewind )-31(it )-31(if )-31(it )-31(is )-31(alr)18(eady )-31(open.)-531(When )-31(the)]TJ -/T1_2 1 Tf -19.554 0 Td -(stayopen)Tj -/T1_0 1 Tf -3.836 0 Td -[(ar)18(gument )-31(is )-31(set )-31(to )-31(a )-31(nonzer)]TJ -0.2813 Tc 12.094 0 Td -(ov)Tj -0 Tc 1.392 0 Td -(alue,)Tj --36.877 -1.2 Td -[(the )-211(\336le )-211(r)18(emains )-211(open )-211(after )-211(calling)]TJ -/TT1 1 Tf -16.258 0 Td -(gethostent)Tj -/T1_0 1 Tf -0.7106 Tc (.T)Tj -0 Tc 7.574 0 Td -(he)Tj -/TT1 1 Tf -1.522 0 Td -(endhostent)Tj -/T1_0 1 Tf -6.461 0 Td -[(function )-211(can )-211(be)]TJ --31.814 -1.2 Td -(used to close the \336le.)Tj -1.8 -1.2 Td -(When)Tj -/TT1 1 Tf -2.94 0 Td -(gethostent)Tj -/T1_0 1 Tf --0.018 Tc 6.297 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns, )-47(we )-47(get )-47(a )-47(pointer )-47(to )-47(a)]TJ -/TT1 1 Tf -12.426 0 Td -(hostent)Tj -/T1_0 1 Tf -4.497 0 Td -[(str)8(uctur)18(e, )-47(which )-47(might)]TJ --28.816 -1.2 Td -[(point )-156(to )-156(a )-156(static )-156(data )-156(buf)16(fer )-157(that )-157(is )-157(overwritten )-157(each )-157(time )-157(we )-157(call)]TJ -/TT1 1 Tf -30.419 0 Td -(gethostent)Tj -/T1_0 1 Tf -0.6566 Tc (.T)Tj -0 Tc 7.52 0 Td -(he)Tj -/TT1 1 Tf --37.939 -1.2 Td -(hostent)Tj -/T1_0 1 Tf -4.45 0 Td -[(str)8(uctur)18(e)-250(is)-250(de\336ned to have at least the following members:)]TJ -/TT1 1 Tf -8.9989 0 0 8.9989 147.582 280.8362 Tm -(struct hostent {)Tj -1.2 -1.189 Td -[(char )-1200(*h_name;)-4200(/* name of host */)]TJ -0 -1.189 TD -[(char )-600(**h_aliases;)-2400(/* pointer to alternate host name array */)]TJ -T* -[(int )-2400(h_addrtype;)-1800(/* address type */)]TJ -T* -[(int )-2400(h_length; )-2400(/*)-600(length in bytes of address */)]TJ -0 -1.189 TD -[(char )-600(**h_addr_list; )-600(/*)-600(pointer to array of network addresses */)]TJ -0 -1.189 TD -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --1.2 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5841 180.4587 Tm -[(The addr)18(esses r)18(eturned ar)18(e)-250(in)-250(network byte or)18(der)74(.)]TJ --0.09 Tc 1.8 -1.2 Td -(Tw)Tj -0.673 Tc 1.357 0 Td -(oa)Tj -0 Tc 1.719 0 Td -[(dditional )-423(functions)-83(\321)]TJ -/TT1 1 Tf -10.02 0 Td -(gethostbyname)Tj -/T1_0 1 Tf -8.473 0 Td -(and)Tj -/TT1 1 Tf -2.366 0 Td -(gethostbyaddr)Tj -/T1_0 1 Tf -0.0833 Tc 7.883 0 Td -(\321o)Tj -0 Tc 1.629 0 Td -(riginally)Tj --35.247 -1.2 Td -(wer)Tj -0.4563 Tc 1.69 0 Td -(ei)Tj -0 Tc 1.226 0 Td -[(ncluded )-206(with )-206(the)]TJ -/TT1 1 Tf -8.41 0 Td -(hostent)Tj -/T1_0 1 Tf -4.656 0 Td -[(functions, )-206(but )-206(ar)]TJ -0.4563 Tc 7.653 0 Td -(en)Tj -0 Tc 1.517 0 Td -[(ow )-206(consider)18(ed )-206(to )-206(be )-206(obsolete.)]TJ --25.152 -1.2 Td -[(They )-361(wer)]TJ -0.6107 Tc 4.531 0 Td -(er)Tj -0 Tc 1.467 0 Td -[(emoved )-361(fr)18(om )-361(V)111(ersion )-361(4 )-361(of )-361(the )-361(Single )-361(UNIX )-361(Speci\336cation.)]TJ --0.092 Tc 28.763 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-361(see)]TJ --0.018 Tc -36.148 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(placements for them shortly)111(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46916 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.3)]TJ -38.7 0 Td -[(Addr)18(essing)]TJ -/T1_1 1 Tf -7.133 0 Td -(595)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 129.5922 668.9599 Tm -[(16.3.2 )-556(Ad)10(dress )-278(Formats)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(An )-169(addr)18(ess )-169(identi\336es )-169(a )-169(socket )-169(endpoint )-169(in )-169(a )-169(particular )-169(communication )-169(domain.)-666(The)]TJ -0 -1.2 TD -[(addr)18(ess )-176(format )-176(is )-176(speci\336c )-176(to )-176(the )-176(particular )-176(domain.)-675(So )-176(that )-176(addr)18(esses )-176(with )-176(dif)19(fer)18(ent)]TJ --0 -1.2 Td -[(formats )-265(can )-265(be )-265(passed )-265(to )-265(the )-265(socket )-265(functions, )-265(the )-265(addr)18(esses )-265(ar)]TJ -0.5155 Tc 30.167 0 Td -(ec)Tj -0 Tc 1.439 0 Td -[(ast )-265(to )-265(a )-265(generic)]TJ -/TT1 1 Tf --31.605 -1.2 Td -(sockaddr)Tj -/T1_0 1 Tf -5.05 0 Td -[(addr)18(ess str)8(uctur)18(e:)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.5911 592.2645 Tm -(struct sockaddr {)Tj -1.2 -1.189 Td -[(sa_family_t )-1133(sa_family;)-1200(/* address family */)]TJ -0 -1.189 TD -(char )Tj -8.333 0 Td -[(sa_data[];)-1200(/* variable-length address */)]TJ --8.333 -1.189 Td -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --1.2 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 522.9084 Tm -[(Implementations )-209(ar)]TJ -0.459 Tc 8.866 0 Td -(ef)Tj --0.018 Tc 1.271 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(e)-459(to)-459(add )-209(mor)]TJ -0.459 Tc 6.256 0 Td -(em)Tj -0 Tc 1.821 0 Td -[(embers )-209(and )-209(de\336ne )-209(a )-209(size )-209(for )-209(the)]TJ -/TT1 1 Tf -15.73 0 Td -(sa_data)Tj -/T1_0 1 Tf --34.8 -1.2 Td -(member)Tj -0.5 Tc 3.598 0 Td -(.F)Tj -0 Tc 1.306 0 Td -[(or example, on Linux, the str)8(uctur)18(e)-250(is)-250(de\336ned as)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.5919 494.2101 Tm -(struct sockaddr {)Tj -1.2 -1.189 Td -[(sa_family_t )-600(sa_family;)-2400(/* address family */)]TJ -0 -1.189 TD -[(char )-4800(sa_data[14];)-1200(/* variable-length address */)]TJ --1.2 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.593 444.1136 Tm -[(But on Fr)18(eeBSD, the str)8(uctur)18(e)-250(is)-250(de\336ned as)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.5919 427.4142 Tm -(struct sockaddr {)Tj -1.2 -1.189 Td -[(unsigned char)-1200(sa_len; )-3600(/*)-600(total length */)]TJ -0 -1.189 TD -[(sa_family_t )-1800(sa_family; )-1800(/*)-600(address family */)]TJ -T* -(char )Tj -9 0 Td -[(sa_data[14];)-1200(/* variable-length address */)]TJ --10.2 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5919 366.6178 Tm -[(Internet )-114(addr)18(esses )-114(ar)]TJ -0.3638 Tc 9.44 0 Td -(ed)Tj -0 Tc 1.454 0 Td -[(e\336ned )-114(in)]TJ -/TT1 1 Tf -4.357 0 Td -()Tj -/T1_0 1 Tf -0.6138 Tc (.I)Tj -0.3638 Tc 9.601 0 Td -(nt)Tj -0 Tc 1.272 0 Td -[(he )-114(IPv4 )-114(Internet )-114(domain)]TJ --27.922 -1.2 Td -(\()Tj -/TT1 1 Tf -(AF_INET)Tj -/T1_0 1 Tf -[(\), a socket addr)18(ess is r)18(epr)18(esented by a)]TJ -/TT1 1 Tf -21.355 0 Td -(sockaddr_in)Tj -/T1_0 1 Tf -6.85 0 Td -[(str)8(uctur)18(e:)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.5923 337.9192 Tm -(struct in_addr {)Tj -1.2 -1.189 Td -[(in_addr_t )-3600(s_addr;)-4800(/* IPv4 address */)]TJ --1.2 -1.189 Td -(};)Tj -0 -2.378 TD -(struct sockaddr_in {)Tj -1.2 -1.189 Td -[(sa_family_t )-1800(sin_family; )-1800(/*)-600(address family */)]TJ -0 -1.189 TD -[(in_port_t )-3000(sin_port; )-3000(/*)-600(port number */)]TJ -0 -1.189 TD -[(struct in_addr sin_addr;)-3600(/* IPv4 address */)]TJ --1.2 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5934 234.3257 Tm -(The)Tj -/TT1 1 Tf -1.999 0 Td -(in_port_t)Tj -/T1_0 1 Tf -5.725 0 Td -[(data )-75(type )-75(is )-75(de\336ned )-75(to )-75(be )-75(a)]TJ -/TT1 1 Tf -12.661 0 Td -(uint16_t)Tj -/T1_0 1 Tf -0.5752 Tc (.T)Tj -0 Tc 6.238 0 Td -(he)Tj -/TT1 1 Tf -1.386 0 Td -(in_addr_t)Tj -/T1_0 1 Tf -5.725 0 Td -[(data )-75(type )-75(is)]TJ --33.736 -1.2 Td -[(de\336ned )-95(to )-95(be )-95(a)]TJ -/TT1 1 Tf -7.152 0 Td -(uint32_t)Tj -/T1_0 1 Tf -0.5952 Tc (.T)Tj -0 Tc 6.258 0 Td -[(hese )-95(integer )-95(data )-95(types )-95(specify )-95(the )-95(number )-95(of )-95(bits )-95(in )-95(the)]TJ --13.41 -1.2 Td -(data type and ar)Tj -0.25 Tc 7.219 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(e\336ned in)Tj -/TT1 1 Tf -4.129 0 Td -()Tj -/T1_0 1 Tf -(.)Tj --10.888 -1.2 Td -[(In )-119(contrast )-119(to )-119(the)]TJ -/TT1 1 Tf -8.199 0 Td -(AF_INET)Tj -/T1_0 1 Tf -4.569 0 Td -[(domain, )-119(the )-119(IPv6 )-119(Internet )-119(domain )-119(\()]TJ -/TT1 1 Tf -16.154 0 Td -(AF_INET6)Tj -/T1_0 1 Tf -0.3693 Tc (\)s)Tj -0 Tc 5.926 0 Td -(ocket)Tj --36.649 -1.2 Td -[(addr)18(ess is r)18(epr)18(esented by a)]TJ -/TT1 1 Tf -12.214 0 Td -(sockaddr_in6)Tj -/T1_0 1 Tf -7.45 0 Td -[(str)8(uctur)18(e:)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.592 169.6296 Tm -(struct in6_addr {)Tj -1.2 -1.189 Td -[(uint8_t )-4200(s6_addr[16];)-2400(/* IPv6 address */)]TJ --1.2 -1.189 Td -(};)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46917 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.3)]TJ -38.7 0 Td -[(Addr)18(essing)]TJ -/T1_1 1 Tf -7.133 0 Td -(593)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Given )-133(that )-133(we )-133(can)]TJ -/TT0 1 Tf -8.786 0 Td -(close)Tj -/T1_0 1 Tf -0.3832 Tc 3.383 0 Td -(as)Tj -0 Tc 1.307 0 Td -[(ocket, )-133(why )-133(is)]TJ -/TT0 1 Tf -6.437 0 Td -(shutdown)Tj -/T1_0 1 Tf -5.183 0 Td -[(needed? )-383(Ther)]TJ -0.3831 Tc 6.369 0 Td -(ea)Tj --0.018 Tc 1.362 0 Td -[(re )-169(s)]TJ -0 Tc 1.663 0 Td -(everal)Tj --0.018 Tc -36.291 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(asons. )-387(First,)]TJ -/TT0 1 Tf -5.992 0 Td -(close)Tj -/T1_0 1 Tf -3.387 0 Td -[(will )-137(deallocate )-137(the )-137(network )-137(endpoint )-137(only )-137(when )-137(the )-137(last )-137(active)]TJ --0.018 Tc -10.235 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(ence )-30(is )-30(closed.)-530(If )-30(we )-30(duplicate )-30(the )-30(socket )-30(\(with)]TJ -/TT0 1 Tf -22.36 0 Td -(dup)Tj -/T1_0 1 Tf -0.28 Tc (,f)Tj -0 Tc 2.663 0 Td -[(or )-30(example\), )-30(the )-30(socket )-30(won\325t)]TJ --25.879 -1.2 Td -[(be )-222(deallocated )-222(until )-222(we )-222(close )-222(the )-222(last )-222(\336le )-222(descriptor )-222(r)18(eferring )-222(to )-222(it.)-721(The)]TJ -/TT0 1 Tf -34.2 0 Td -(shutdown)Tj -/T1_0 1 Tf --34.2 -1.2 Td -[(function )-182(allows )-182(us )-182(to )-182(deactivate )-182(a )-182(socket )-182(independently )-182(of )-182(the )-182(number )-182(of )-182(active )-182(\336le)]TJ -0 -1.2 TD -[(descriptors )-62(r)18(efer)18(encing )-62(it.)-562(Second, )-62(it )-62(is )-62(sometimes )-62(convenient )-62(to )-62(shut )-62(a )-62(socket )-62(down )-62(in)]TJ -T* -[(one )-53(dir)18(ection )-53(only)]TJ -0.5531 Tc 8.024 0 Td -(.F)Tj -0 Tc 1.359 0 Td -[(or )-53(example, )-53(we )-53(can )-53(shut )-53(a )-53(socket )-53(down )-53(for )-53(writing )-53(if )-53(we )-53(want )-53(the)]TJ --9.383 -1.2 Td -[(pr)18(ocess )-124(we )-124(ar)]TJ -0.3743 Tc 6.233 0 Td -(ec)Tj -0 Tc 1.297 0 Td -[(ommunicating )-124(with )-124(to )-124(be )-124(able )-124(to )-124(tell )-124(when )-124(we )-124(ar)]TJ -0.3743 Tc 22.542 0 Td -(ed)Tj -0 Tc 1.464 0 Td -[(one )-124(transmitting)]TJ --31.537 -1.2 Td -[(data, while still allowing us to use the socket to r)18(eceive data sent to us by the pr)18(ocess.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5942 541.7675 Tm -[(16.3 )-776(Ad)10(dressing)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.592 520.1688 Tm -[(In )-30(the )-30(pr)18(evious )-30(section, )-30(we )-30(learned )-30(how )-30(to )-30(cr)15(eate )-30(and )-30(destr)18(oy )-30(a )-30(socket.)-531(Befor)18(e)-280(we)-280(l)-1(earn)]TJ -0 -1.2 Td -[(to )-26(do )-26(something )-26(useful )-26(with )-26(a )-26(socket, )-26(we )-26(need )-26(to )-26(learn )-26(how )-26(to )-26(identify )-26(the )-26(pr)24(ocess )-26(with)]TJ -T* -[(which )-209(we )-209(wish )-209(to )-209(communicate.)-707(Identifying )-209(the )-209(pr)18(ocess )-209(has )-209(two )-209(components.)-707(The)]TJ -T* -[(machine\325s )-81(network )-81(addr)18(ess )-81(helps )-81(us )-81(identify )-81(the )-81(computer )-81(on )-81(the )-81(network )-81(we )-81(wish )-81(to)]TJ -T* -[(contact, )-111(and )-111(the )-111(service, )-111(r)16(epr)18(esented )-111(by )-111(a)]TJ -/T1_2 1 Tf -19.179 0 Td -[(port )-111(number)]TJ -/T1_0 1 Tf -0.3614 Tc (,h)Tj -0 Tc 6.352 0 Td -[(elps )-111(us )-111(identify )-111(the )-111(particular)]TJ --25.53 -1.2 Td -[(pr)18(ocess on the computer)74(.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 129.5924 432.574 Tm -[(16.3.1 )-556(Byte)-556(Or)20(dering)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5924 410.9753 Tm -[(When )-242(communicating )-242(with )-242(pr)18(ocesses )-242(r)8(unning )-242(on )-242(the )-242(same )-242(computer)77(,)-492(we)-492(g)1(enerally)]TJ --0 -1.2 Td -[(don\325t )-238(have )-238(to )-238(worry )-238(about )-238(byte )-238(or)16(dering. )-488(The)-489(byte )-238(or)18(der )-238(is )-238(a )-238(characteristic )-238(of )-238(the)]TJ -0 -1.2 Td -[(pr)18(ocessor )-14(ar)18(chitectur)18(e, )-14(dictating )-14(how )-14(bytes )-14(ar)]TJ -0.2641 Tc 20.138 0 Td -(eo)Tj --0.018 Tc 1.289 0 Td -(rd)Tj -0 Tc 0.988 0 Td -[(er)18(ed )-14(within )-14(lar)18(ger )-14(data )-14(types, )-14(such )-14(as)]TJ --22.415 -1.2 Td -[(integers. )-250(Figur)]TJ -0.25 Tc 6.665 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(6.5 shows how the bytes within a 32)Tj -15.903 0.09 Td -(-)Tj -0.333 -0.09 Td -(bit integer ar)Tj -0.25 Tc 5.655 0 Td -(en)Tj -0 Tc 1.311 0 Td -[(umber)18(ed.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2814 3170 864 288 re -S -Q -BT -/T1_2 1 Tf -7.999 0 0 7.999 289.9412 329.6004 Tm -(n)Tj -0.0833 Tc 2.064 0 Td -[(n+1)-788(n+2)-788(n+3)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 3170.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 3206.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 3242.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 3278.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 3314.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 3350.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 3386.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 3422.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 3458.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 3170.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 3206.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 3242.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 3278.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 3314.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 3350.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 3386.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 3422.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 3458.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 3170.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 3206.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 3242.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 3278.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 3314.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 3350.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 3386.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 3422.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 3458.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -0 Tc 7.9986 0 0 7.9986 283.8209 307.9846 Tm -(MSB)Tj -8.267 0 Td -(LSB)Tj --5.565 5.4 Td -(big-endian)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2814 2522 864 288 re -S -Q -BT -/T1_2 1 Tf -0.0833 Tc 7.9981 0 0 7.9981 284.8176 264.7764 Tm -[(n+3)-788(n+2)-788(n+1)]TJ -0 Tc 8.736 0 Td -(n)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 2522.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 2558.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 2594.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 2630.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 2666.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 2702.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 2738.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 2774.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3030.25 2810.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 2522.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 2558.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 2594.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 2630.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 2666.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 2702.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 2738.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 2774.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3246.25 2810.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 2522.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 2558.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 2594.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 2630.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 2666.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 2702.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 2738.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 2774.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -6 w 1 j 1 J -q 1 0 0 1 3462.25 2810.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 283.7868 243.167 Tm -(MSB)Tj -8.267 0 Td -(LSB)Tj --5.867 5.4 Td -(little-endian)Tj -/T1_1 1 Tf --6.463 -8.33 Td -(Figure 16.5)Tj -/T1_0 1 Tf -5.695 0 Td -[(Byte or)18(der in a 32)]TJ -7.753 0.09 Td -(-)Tj -0.333 -0.09 Td -(bit integer)Tj -9.997 0 0 9.997 147.5564 194.5418 Tm -[(If )-155(the )-155(pr)18(ocessor )-155(ar)18(chitectur)]TJ -0.4049 Tc 12.257 0 Td -(es)Tj -0 Tc 1.308 0 Td -(upports)Tj -/T1_2 1 Tf -3.901 0 Td -(big-endian)Tj -/T1_0 1 Tf -4.702 0 Td -[(byte )-155(or)18(der)]TJ -0.4049 Tc 4.653 0 Td -(,t)Tj -0 Tc 0.981 0 Td -[(hen )-155(the )-155(highest )-155(byte)]TJ --29.601 -1.2 Td -[(addr)18(ess )-4(occurs )-4(in )-4(the )-4(least )-4(signi\336cant )-4(byte)]TJ -18.853 0.04 Td -(\()Tj -0.333 -0.04 Td -(LSB)Tj -1.747 0.04 Td -(\))Tj -0.333 -0.04 Td -(.)Tj -/T1_2 1 Tf -0.754 0 Td -(Little-endian)Tj -/T1_0 1 Tf -5.477 0 Td -[(byte )-4(or)18(der )-4(is )-4(the )-4(opposite:)]TJ --27.497 -1.2 Td -[(the )-100(least )-100(signi\336cant )-100(byte )-100(contains )-100(the )-100(lowest )-100(byte )-100(addr)14(ess. )-350(Note)-351(that )-100(r)18(egar)18(dless )-100(of )-100(the)]TJ -T* -[(byte )-254(or)18(dering, )-254(the )-254(most )-254(signi\336cant )-254(byte)]TJ -19.106 0.04 Td -(\()Tj -0.333 -0.04 Td -(MSB)Tj -2.082 0.04 Td -(\))Tj -0.837 -0.04 Td -[(is )-254(always )-254(on )-254(the )-254(left, )-254(and )-254(the )-254(least)]TJ --22.358 -1.2 Td -[(signi\336cant )-111(byte )-111(is )-111(always )-111(on )-111(the )-111(right.)-611(Thus, )-111(if )-111(we )-111(wer)18(e)-361(to)-361(assign )-111(a )-111(32)]TJ -32.28 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-111(integer )-111(the)]TJ --32.613 -1.2 Td -(value)Tj -/TT0 1 Tf -2.74 0 Td -(0x04030201)Tj -/T1_0 1 Tf -0.302 Tc (,t)Tj -0 Tc 6.878 0 Td -[(he )-52(most )-52(signi\336cant )-52(byte )-52(would )-52(contain )-52(4, )-52(and )-52(the )-52(least )-52(signi\336cant)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46918 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(590)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(16.2 )-776(Soc)20(ket )-278(Descriptor)15(s)]TJ -/T1_1 1 Tf -0.4019 Tc 9.9994 0 0 9.9994 129.5923 647.3612 Tm -(As)Tj -0 Tc 1.604 0 Td -[(ocket )-152(is )-152(an )-152(abstraction )-152(of )-152(a )-152(communication )-152(endpoint.)-651(Just )-152(as )-152(they )-152(would )-152(use )-152(\336le)]TJ --1.604 -1.2 Td -[(descriptors )-82(to )-82(access )-82(\336les, )-82(applications )-82(use )-82(socket )-82(descriptors )-82(to )-82(access )-82(sockets.)-582(Socket)]TJ -0 -1.2 TD -[(descriptors )-104(ar)]TJ -0.3545 Tc 6.168 0 Td -(ei)Tj -0 Tc 1.124 0 Td -[(mplemented )-104(as )-104(\336le )-104(descriptors )-104(in )-104(the )-104(UNIX )-104(System.)-604(Indeed, )-104(many )-104(of)]TJ --7.292 -1.2 Td -[(the )-42(functions )-42(that )-42(deal )-42(with )-42(\336le )-42(descriptors, )-42(such )-42(as)]TJ -/TT1 1 Tf -23.333 0 Td -(read)Tj -/T1_1 1 Tf -2.692 0 Td -(and)Tj -/TT1 1 Tf -1.985 0 Td -(write)Tj -/T1_1 1 Tf -0.2922 Tc (,w)Tj -0 Tc 4.376 0 Td -[(ill )-42(work )-42(with )-42(a)]TJ --32.386 -1.2 Td -[(socket descriptor)74(.)]TJ --0.092 Tc 1.8 -1.2 Td -[(To )-184(c)]TJ --0.018 Tc 1.761 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ate a socket, we call the)Tj -/TT1 1 Tf -10.556 0 Td -(socket)Tj -/T1_1 1 Tf -3.85 0 Td -(function.)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5919 571.8657 Tm -(#include )Tj -0 -1.783 TD -(int socket\(int)Tj -/T1_2 1 Tf -9 0 Td -(domain)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.8 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(type)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.522 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -[(pr)18(otocol)]TJ -/TT1 1 Tf -(\);)Tj -/T1_1 1 Tf --3.399 -1.783 Td -(Returns: \336le \(socket\) descriptor if OK,)Tj -/TT2 1 Tf -16.941 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5353.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 522.9372 Tm -(The)Tj -/T1_2 1 Tf -2.248 0 Td -(domain)Tj -/T1_1 1 Tf -3.574 0 Td -[(ar)18(gument )-324(determines )-324(the )-324(natur)17(e)-574(of)-574(the )-324(communication, )-324(including )-324(the)]TJ --5.822 -1.2 Td -[(addr)18(ess )-123(format )-123(\(described )-123(in )-123(mor)]TJ -0.3736 Tc 15.202 0 Td -(ed)Tj -0 Tc 1.464 0 Td -[(etail )-124(in )-124(the )-124(next )-124(section\). )-124(Figur)]TJ -0.3736 Tc 13.976 0 Td -(e1)Tj -0 Tc 1.353 0 Td -[(6.1 )-124(summarizes)]TJ --31.994 -1.2 Td -[(the )-204(domains )-204(speci\336ed )-204(by )-204(POSIX.1.)-704(The )-204(constants )-204(start )-204(with)]TJ -/TT1 1 Tf -28.358 0 Td -(AF_)Tj -/T1_1 1 Tf -2.254 0 Td -(\(for)Tj -/T1_2 1 Tf -2.061 0 Td -[(addr)18(ess )-204(family)]TJ -/T1_1 1 Tf -(\))Tj --32.675 -1.2 Td -[(because each domain has its own format for r)18(epr)18(esenting an addr)18(ess.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2167.25 4682.25 cm -0 0 m -2157 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 227.991 460.1172 Tm -(Domain )Tj -12.944 0 Td -(Description)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2167.25 4562.25 cm -0 0 m -2157 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2167.25 4542.25 cm -0 0 m -2157 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9981 0 0 7.9981 220.683 446.0929 Tm -(AF_INET)Tj -/T1_1 1 Tf -6.9 0 Td -(IPv4 Internet domain)Tj -/TT1 1 Tf --6.9 -1.25 Td -(AF_INET6)Tj -/T1_1 1 Tf -6.9 0 Td -(IPv6 Internet domain \(optional in POSIX.1\))Tj -/TT1 1 Tf --6.9 -1.25 Td -(AF_UNIX)Tj -/T1_1 1 Tf -6.9 0 Td -(UNIX domain)Tj -/TT1 1 Tf --6.9 -1.25 Td -(AF_UNSPEC)Tj -/T1_1 1 Tf -6.9 0 Td -(unspeci\336ed)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2167.25 4122.25 cm -0 0 m -2157 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2699.25 4122.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4324.25 4122.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2167.25 4122.25 cm -0 0 m -0 560 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 245.2104 394.0818 Tm -(Figure 16.1)Tj -/T1_1 1 Tf -5.695 0 Td -(Socket communication domains)Tj --0.092 Tc 9.997 0 0 9.997 147.5559 371.2886 Tm -[(We )-281(d)]TJ -0 Tc 2.345 0 Td -[(iscuss )-97(the )-97(UNIX )-97(domain )-97(in )-97(Section )-97(17.2.)-596(Most )-97(systems )-97(de\336ne )-97(the)]TJ -/TT1 1 Tf -30.055 0 Td -(AF_LOCAL)Tj -/T1_1 1 Tf --34.2 -1.2 Td -[(domain )-12(also, )-12(which )-12(is )-12(an )-12(alias )-12(for)]TJ -/TT1 1 Tf -15.069 0 Td -(AF_UNIX)Tj -/T1_1 1 Tf -0.5122 Tc (.T)Tj -0 Tc 5.575 0 Td -(he)Tj -/TT1 1 Tf -1.323 0 Td -(AF_UNSPEC)Tj -/T1_1 1 Tf -5.662 0 Td -[(domain )-12(is )-12(a )-12(wildcar)]TJ -0.2622 Tc 8.763 0 Td -(dt)Tj -0 Tc 1.199 0 Td -(hat)Tj --0.018 Tc -37.592 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(pr)18(esents )-96(\324)37(\324any\325)]TJ -0.3463 Tc 6.436 0 Td -(\325d)Tj -0 Tc 1.235 0 Td -[(omain. )-346(Historically)]TJ -0.3463 Tc 8.724 0 Td -(,s)Tj -0 Tc 1.02 0 Td -[(ome )-96(platforms )-96(pr)17(ovide )-96(support )-96(for )-96(additional)]TJ --18.272 -1.2 Td -[(network )-316(pr)18(otocols, )-316(such )-316(as)]TJ -/TT1 1 Tf -13.311 0 Td -(AF_IPX)Tj -/T1_1 1 Tf -4.166 0 Td -[(for )-316(the )-316(NetW)92(ar)]TJ -0.5662 Tc 7.214 0 Td -(ep)Tj --0.018 Tc 1.646 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(tocol )-316(family)]TJ -0.5661 Tc 5.462 0 Td -(,b)Tj -0 Tc 1.369 0 Td -[(ut )-316(domain)]TJ --34.092 -1.2 Td -[(constants for these pr)18(otocols ar)]TJ -0.25 Tc 13.696 0 Td -(en)Tj -0 Tc 1.311 0 Td -[(ot de\336ned by the POSIX.1 standar)18(d.)]TJ --13.207 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.984 0 Td -(type)Tj -/T1_1 1 Tf -2.033 0 Td -[(ar)18(gument )-61(determines )-61(the )-61(type )-61(of )-61(the )-61(socket, )-61(which )-61(further )-61(determines )-61(the)]TJ --5.817 -1.2 Td -[(communication )-4(characteristics.)-504(The )-4(socket )-4(types )-4(de\336ned )-4(by )-4(POSIX.1 )-4(ar)]TJ -0.2536 Tc 31.572 0 Td -(es)Tj -0 Tc 1.157 0 Td -[(ummarized )-4(in)]TJ --32.728 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(6.2, but implementations ar)Tj -0.25 Tc 12.093 0 Td -(ef)Tj --0.018 Tc 1.062 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(e)-250(to)-250(add support for additional types.)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1622.25 2686.25 cm -0 0 m -3248 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.09 Tc 7.9971 0 0 7.9971 191.1152 260.5062 Tm -(Ty)Tj -0 Tc 1.079 0 Td -(pe )Tj -17.971 0 Td -(Description)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1622.25 2566.25 cm -0 0 m -3248 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1622.25 2546.25 cm -0 0 m -3248 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9966 0 0 7.9966 166.1502 246.4964 Tm -(SOCK_DGRAM)Tj -/T1_1 1 Tf -9.9 0 Td -(\336xed)Tj -2.211 0.09 Td -(-)Tj -0.333 -0.09 Td -[(length, connectionless, unr)18(eliable messages)]TJ -/TT1 1 Tf --12.444 -1.25 Td -(SOCK_RAW)Tj -/T1_1 1 Tf -9.9 0 Td -(datagram interface to IP \(optional in POSIX.1\))Tj -/TT1 1 Tf --9.9 -1.25 Td -(SOCK_SEQPACKET)Tj -/T1_1 1 Tf -9.9 0 Td -(\336xed)Tj -2.211 0.09 Td -(-)Tj -0.333 -0.09 Td -[(length, sequenced, r)18(eliable, connection-oriented messages)]TJ -/TT1 1 Tf --12.444 -1.25 Td -(SOCK_STREAM)Tj -/T1_1 1 Tf -9.9 0 Td -[(sequenced, r)18(eliable, bidir)18(ectional, connection-oriented byte str)18(eams)]TJ -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1622.25 2126.25 cm -0 0 m -3248 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2394.25 2126.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4870.25 2126.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1622.25 2126.25 cm -0 0 m -0 560 l -S -Q -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 279.6377 194.5066 Tm -(Figure 16.2)Tj -/T1_1 1 Tf -5.695 0 Td -(Socket types)Tj -9.9952 0 0 9.9952 147.5294 171.7176 Tm -(The)Tj -/T1_2 1 Tf -2.075 0 Td -[(pr)18(otocol)]TJ -/T1_1 1 Tf -3.622 0 Td -[(ar)18(gument )-151(is )-151(usually )-151(zer)18(o, )-151(to )-151(select )-151(the )-151(default )-151(pr)21(otocol )-151(for )-151(the )-151(given)]TJ --7.496 -1.2 Td -[(domain )-70(and )-70(socket )-70(type.)-570(When )-70(multiple )-70(pr)18(otocols )-70(ar)]TJ -0.3205 Tc 23.972 0 Td -(es)Tj -0 Tc 1.224 0 Td -[(upported )-70(for )-70(the )-70(same )-70(domain)]TJ --25.196 -1.2 Td -[(and )-111(socket )-111(type, )-111(we )-111(can )-111(use )-111(the)]TJ -/T1_2 1 Tf -14.936 0 Td -[(pr)18(otocol)]TJ -/T1_1 1 Tf -3.582 0 Td -[(ar)18(gument )-111(to )-111(select )-111(a )-111(particular )-111(pr)20(otocol. )-361(The)]TJ --18.518 -1.2 Td -[(default )-70(pr)18(otocol )-70(for )-70(a)]TJ -/TT1 1 Tf -9.875 0 Td -(SOCK_STREAM)Tj -/T1_1 1 Tf -6.92 0 Td -[(socket )-70(in )-70(the)]TJ -/TT1 1 Tf -5.996 0 Td -(AF_INET)Tj -/T1_1 1 Tf -4.52 0 Td -[(communication )-70(domain )-70(is)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46919 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(16)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Netw)30(or )275(k)-560(IPC: )-280(Soc)]TJ --0.04 Tc 8.8 0 Td -(ke)Tj -0 Tc 1.18 0 Td -(ts)Tj -/TT0 1 Tf -12 0 0 12 93.5998 410.4 Tm -[(16.1 )-776(Intr)20(oduction)]TJ -/T1_2 1 Tf -10 0 0 10 129.5998 386.4 Tm -[(In )-100(the )-100(pr)18(evious )-100(chapter)74(,)-350(we)-350(looked )-100(at )-100(pipes, )-100(FIFOs, )-100(message )-100(queues, )-100(semaphor)18(es, )-100(and)]TJ --0 -1.2 Td -[(shar)18(ed )-235(memory)]TJ -0.0833 Tc 7.283 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-235(classical )-235(methods )-235(of )-235(IPC )-235(pr)18(ovided )-235(by )-235(various )-235(UNIX )-235(systems.)]TJ --8.693 -1.2 Td -[(These )-226(mechanisms )-226(allow )-226(pr)18(ocesses )-226(r)8(unning )-226(on )-226(the )-226(same )-226(computer )-226(to )-226(communicate)]TJ -0 -1.2 TD -[(with )-221(one )-221(another)]TJ -0.7214 Tc 7.919 0 Td -(.I)Tj -0.4714 Tc 1.308 0 Td -(nt)Tj -0 Tc 1.379 0 Td -[(his )-221(chapter)74(,)-471(we)-471(l)-1(ook )-221(at )-221(the )-221(mechanisms )-221(that )-221(allow )-221(pr)16(ocesses)]TJ --0.008 Tc -10.607 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning )-2(on )-2(dif)17(fer)18(ent )-2(computers )-2(\(connected )-2(to )-2(a )-2(common )-2(network\) )-2(to )-2(communicate )-2(with)]TJ --0.99 -1.2 Td -(one another)Tj -0.0833 Tc 5.35 0 Td -(\321n)Tj -0 Tc 1.665 0 Td -(etwork IPC.)Tj --5.216 -1.2 Td -[(In )-39(this )-39(chapter)75(,)-289(we)-289(d)1(escribe )-39(the )-39(socket )-39(network )-39(IPC )-39(interface, )-39(which )-39(can )-39(be )-39(used )-39(by)]TJ --1.8 -1.2 Td -[(pr)18(ocesses )-519(to )-519(communicate )-519(with )-519(other )-519(pr)18(ocesses, )-519(r)16(egar)18(dless )-519(of )-519(wher)]TJ -0.7693 Tc 33.683 0 Td -(et)Tj -0 Tc 1.574 0 Td -[(hey )-519(ar)18(e)]TJ --0.008 Tc -35.258 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning )167(\321 )167(on)-350(the )-99(same )-99(machine )-99(or )-99(on )-99(dif)18(fer)18(ent )-99(machines.)-599(Indeed, )-99(this )-99(was )-99(one )-99(of )-99(the)]TJ --0.99 -1.2 Td -[(design )-381(goals )-381(of )-381(the )-381(socket )-381(interface.)-880(The )-381(same )-381(interfaces )-381(can )-381(be )-381(used )-381(for )-381(both)]TJ -T* -[(intermachine )-157(communication )-157(and )-157(intramachine )-157(communication.)-658(Although )-157(the )-157(socket)]TJ -T* -[(interface )-65(can )-65(be )-65(used )-65(to )-65(communicate )-65(using )-65(many )-65(dif)16(fer)18(ent )-65(network )-65(pr)18(otocols, )-65(we )-65(will)]TJ --0.018 Tc -0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(strict )-3(our )-3(discussion )-3(to )-3(the )-3(TCP/IP )-3(pr)18(otocol )-3(suite )-3(in )-3(this )-3(chapter)]TJ -0.2528 Tc 28.199 0 Td -(,s)Tj -0 Tc 0.927 0 Td -[(ince )-3(it )-3(is )-3(the )-3(de )-3(facto)]TJ --29.982 -1.2 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(df)Tj -0 Tc 1.194 0 Td -(or communicating over the Internet.)Tj --2.714 -1.2 Td -[(The )-180(socket )-180(API )-180(as )-180(speci\336ed )-180(by )-180(POSIX.1 )-180(is )-180(based )-180(on )-180(the )-180(4.4BSD )-180(socket )-180(interface.)]TJ --1.8 -1.2 Td -[(Although )-134(minor )-134(changes )-134(have )-134(been )-134(made )-134(over )-134(the )-134(years, )-134(the )-134(curr)18(ent )-134(socket )-134(interface)]TJ -T* -[(closely )-44(r)18(esembles )-44(the )-44(interface )-44(when )-44(it )-44(was )-44(originally )-44(intr)14(oduced )-45(in )-45(4.2BSD )-45(in )-45(the )-45(early)]TJ -T* -(1980s.)Tj -1.8 -1.2 Td -[(This )-145(chapter )-145(is )-145(only )-145(an )-145(overview )-145(of )-145(the )-145(socket )-145(API.)-641(Stevens, )-144(Fenner)]TJ -0.3945 Tc 31.392 0 Td -(,a)Tj -0 Tc 1.144 0 Td -[(nd )-144(Rudof)18(f)]TJ --34.337 -1.16 Td -([)Tj -0.333 -0.04 Td -(2004)Tj -2 0.04 Td -(])Tj -1.064 -0.04 Td -[(discuss )-481(the )-481(socket )-481(interface )-481(in )-481(detail )-481(in )-481(the )-481(de\336nitive )-481(text )-481(on )-481(network)]TJ --3.397 -1.2 Td -[(pr)18(ogramming in the UNIX System.)]TJ -/T1_3 1 Tf -9 0 0 9 506.0996 114 Tm -(589)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46920 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Chapter )-250(15)]TJ -39.788 0 Td -[(Exer)18(cises)]TJ -/T1_1 1 Tf -6.045 0 Td -(587)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(To )-299(u)]TJ -0 Tc 2.035 0 Td -[(se )-115(this )-115(technique )-115(with )-115(XSI )-115(IPC, )-115(r)18(ecall )-115(that )-115(the)]TJ -/TT0 1 Tf -21.121 0 Td -(ipc_perm)Tj -/T1_0 1 Tf -5.165 0 Td -[(str)8(uctur)]TJ -0.3649 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.344 0 Td -(ssociated)Tj --34.955 -1.2 Td -[(with )-301(each )-301(message )-301(queue, )-301(semaphor)18(e, )-301(and )-301(shar)18(ed )-301(memory )-301(segment )-301(identi\336es )-301(the)]TJ -0 -1.2 TD -[(cr)18(eator )-162(of )-162(the )-162(IPC )-162(str)9(uctur)]TJ -0.4118 Tc 12.12 0 Td -(e\()Tj -0 Tc 1.224 0 Td -(the)Tj -/TT0 1 Tf -1.799 0 Td -(cuid)Tj -/T1_0 1 Tf -2.812 0 Td -(and)Tj -/TT0 1 Tf -2.105 0 Td -(cgid)Tj -/T1_0 1 Tf -2.812 0 Td -[(\336elds\). )-412(As)-412(with )-162(the )-162(example )-162(using)]TJ --22.871 -1.2 Td -[(FIFOs, )-6(the )-6(server )-6(should )-6(r)18(equir)]TJ -0.2561 Tc 13.801 0 Td -(et)Tj -0 Tc 1.061 0 Td -[(he )-6(client )-6(to )-6(cr)18(eate )-6(the )-6(IPC )-6(str)7(uctur)]TJ -0.2562 Tc 15.015 0 Td -(ea)Tj -0 Tc 1.235 0 Td -[(nd )-6(have )-6(the )-6(client)]TJ --31.112 -1.2 Td -[(set )-85(the )-85(access )-85(permissions )-85(to )-85(user)18(-r)18(ead )-85(and )-85(user)18(-write )-85(only)]TJ -0.5851 Tc 26.505 0 Td -(.T)Tj -0 Tc 1.448 0 Td -[(he )-85(times )-85(associated )-85(with)]TJ --27.953 -1.2 Td -[(the )-177(IPC )-177(str)8(uctur)]TJ -0.4268 Tc 7.381 0 Td -(es)Tj -0 Tc 1.33 0 Td -[(hould )-177(also )-177(be )-177(veri\336ed )-177(by )-177(the )-177(server )-177(to )-177(be )-177(r)18(ecent )-177(\(since )-177(these )-177(IPC)]TJ --8.71 -1.2 Td -[(str)8(uctur)18(es hang ar)18(ound until explicitly deleted\).)]TJ --0.092 Tc 1.8 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-63(see )-63(in )-63(Section )-63(17.3 )-63(that )-63(a )-63(far )-63(better )-63(way )-63(of )-63(doing )-63(this )-63(authentication )-63(is )-63(for )-63(the)]TJ --3.187 -1.2 Td -[(kernel )-34(to )-34(pr)18(ovide )-34(the )-34(ef)18(fective )-34(user )-34(ID )-34(and )-34(ef)18(fective )-34(gr)18(oup )-34(ID )-34(of )-34(the )-34(client.)-535(This )-34(is )-34(done)]TJ -T* -(by the socket subsystem when \336le descriptors ar)Tj -0.25 Tc 21.358 0 Td -(ep)Tj -0 Tc 1.33 0 Td -[(assed between pr)18(ocesses.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5943 527.3684 Tm -[(15.12 )-220(Summar)-10(y)]TJ -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5921 503.3698 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-207(detailed )-207(numer)18(ous )-207(forms )-207(of )-207(interpr)20(ocess )-207(communication: )-207(pipes, )-207(named )-207(pipes)]TJ --1.387 -1.2 Td -[(\(FIFOs\), )-11(the )-11(thr)18(ee )-11(forms )-11(of )-11(IPC )-11(commonly )-11(called )-11(XSI )-11(IPC )-11(\(message )-11(queues, )-11(semaphor)12(es,)]TJ -T* -[(and )-170(shar)18(ed )-170(memory\), )-170(and )-170(an )-170(alternative )-170(semaphor)]TJ -0.4202 Tc 23.413 0 Td -(em)Tj -0 Tc 1.782 0 Td -[(echanism )-170(pr)18(ovided )-170(by )-170(POSIX.)]TJ --25.195 -1.2 Td -[(Semaphor)18(es )-81(ar)]TJ -0.3307 Tc 6.604 0 Td -(er)Tj -0 Tc 1.187 0 Td -[(eally )-81(a )-81(synchr)19(onization )-81(primitive, )-81(not )-81(tr)8(ue )-81(IPC, )-81(and )-81(ar)]TJ -0.3308 Tc 24.483 0 Td -(eo)Tj -0 Tc 1.356 0 Td -[(ften )-81(used )-81(to)]TJ --33.629 -1.2 Td -[(synchr)18(onize )-11(access )-11(to )-11(a )-11(shar)18(ed )-11(r)20(esour)18(ce, )-10(such )-10(as )-10(a )-10(shar)18(ed )-10(memory )-10(segment.)]TJ --0.055 Tc 33.949 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-10(pipes,)]TJ --35.185 -1.2 Td -[(we )-211(looked )-211(at )-211(the )-211(implementation )-211(of )-211(the)]TJ -/TT0 1 Tf -19.107 0 Td -(popen)Tj -/T1_0 1 Tf -3.461 0 Td -[(function, )-211(at )-211(copr)18(ocesses, )-211(and )-211(at )-211(the)]TJ --22.568 -1.2 Td -[(pitfalls that can be encounter)18(ed with the standar)]TJ -0.25 Tc 21.347 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O library\325s buf)18(fering.)]TJ --20.745 -1.2 Td -[(After )-332(comparing )-332(the )-332(timing )-332(of )-332(message )-332(queues )-332(versus )-332(full-duplex )-332(pipes, )-332(and)]TJ --1.8 -1.2 Td -[(semaphor)18(es )-60(versus )-60(r)18(ecor)]TJ -0.3101 Tc 11.028 0 Td -(dl)Tj -0 Tc 1.212 0 Td -[(ocking, )-60(we )-60(can )-60(make )-60(the )-60(following )-60(r)18(ecommendations: )-60(learn)]TJ --12.24 -1.2 Td -[(pipes )-294(and )-294(FIFOs, )-294(since )-294(these )-294(two )-294(basic )-294(techniques )-294(can )-294(still )-294(be )-294(used )-294(ef)18(fectively )-294(in)]TJ -T* -[(numer)18(ous )-266(applications.)]TJ --0.092 Tc 11.427 0 Td -(Av)Tj -0 Tc 1.251 0 Td -[(oid )-266(using )-266(message )-266(queues )-266(and )-266(semaphor)18(es )-266(in )-266(any )-266(new)]TJ --12.678 -1.2 Td -[(applications. )-442(Full-duplex)-442(pipes )-192(and )-192(r)18(ecor)]TJ -0.4419 Tc 19.152 0 Td -(dl)Tj -0 Tc 1.344 0 Td -[(ocking )-192(should )-192(be )-192(consider)18(ed )-192(instead, )-192(as)]TJ --20.495 -1.2 Td -[(they )-105(ar)]TJ -0.3547 Tc 3.175 0 Td -(ef)Tj -0 Tc 1.167 0 Td -[(ar )-105(simpler)]TJ -0.6047 Tc 4.54 0 Td -(.S)Tj -0 Tc 1.38 0 Td -[(har)18(ed )-105(memory )-105(still )-105(has )-105(its )-105(use, )-105(although )-105(the )-105(same )-105(functionality)]TJ --10.261 -1.2 Td -[(can be pr)18(ovided thr)18(ough the use of the)]TJ -/TT0 1 Tf -17.37 0 Td -(mmap)Tj -/T1_0 1 Tf -2.65 0 Td -(function \(Section 14.8\).)Tj --18.22 -1.2 Td -[(In )-200(the )-200(next )-200(chapter)75(,)-450(we)-450(w)1(ill )-200(look )-200(at )-200(network )-200(IPC, )-200(which )-200(can )-200(allow )-200(pr)21(ocesses )-199(to)]TJ --1.8 -1.2 Td -[(communicate acr)18(oss machine boundaries.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 129.5926 281.3831 Tm -[(Ex)10(er)20(cises)]TJ -/T1_1 1 Tf -8.9995 0 0 8.9995 129.5926 260.3844 Tm -(15.1)Tj -/T1_0 1 Tf -3.065 0 Td -[(In )-81(the )-81(pr)18(ogram )-81(shown )-81(in )-81(Figur)]TJ -0.3312 Tc 14.044 0 Td -(e1)Tj -0 Tc 1.31 0 Td -[(5.6, )-81(r)18(emove )-81(the)]TJ -/TT0 1 Tf -7.21 0 Td -(close)Tj -/T1_0 1 Tf -3.331 0 Td -[(right )-81(befor)]TJ -0.3312 Tc 4.769 0 Td -(et)Tj -0 Tc 1.136 0 Td -(he)Tj -/TT0 1 Tf -1.392 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.531 0 Td -[(at )-81(the)]TJ --37.724 -1.222 Td -[(end of the par)18(ent code.)-500(Explain what happens.)]TJ -/T1_1 1 Tf --3.065 -1.667 Td -(15.2)Tj -/T1_0 1 Tf -3.065 0 Td -[(In )-29(the )-29(pr)18(ogram )-29(in )-29(Figur)]TJ -0.2791 Tc 10.536 0 Td -(e1)Tj -0 Tc 1.258 0 Td -[(5.6, )-29(r)18(emove )-29(the)]TJ -/TT0 1 Tf -7.053 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.479 0 Td -[(at )-29(the )-29(end )-29(of )-29(the )-29(par)17(ent )-29(code.)-529(Explain)]TJ --23.327 -1.222 Td -(what happens.)Tj -/T1_1 1 Tf --3.065 -1.667 Td -(15.3)Tj -/T1_0 1 Tf -3.065 0 Td -[(What )-297(happens )-297(if )-297(the )-297(ar)18(gument )-297(to)]TJ -/TT0 1 Tf -16.645 0 Td -(popen)Tj -/T1_0 1 Tf -3.547 0 Td -[(is )-297(a )-297(nonexistent )-297(command?)]TJ --0.074 Tc 13.677 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-297(a )-297(small)]TJ --35.19 -1.222 Td -[(pr)18(ogram to test this.)]TJ -/T1_1 1 Tf --3.065 -1.667 Td -(15.4)Tj -/T1_0 1 Tf -3.065 0 Td -[(In )-143(the )-143(pr)18(ogram )-143(shown )-143(in )-143(Figur)]TJ -0.3927 Tc 14.351 0 Td -(e1)Tj -0 Tc 1.372 0 Td -[(5.18, )-143(r)18(emove )-143(the )-143(signal )-143(handler)]TJ -0.3926 Tc 14.297 0 Td -(,e)Tj -0 Tc 1.122 0 Td -[(xecute )-143(the )-143(pr)19(ogram,)]TJ --31.141 -1.222 Td -[(and )-179(then )-179(terminate )-179(the )-179(child.)-679(After )-179(entering )-179(a )-179(line )-179(of )-179(input, )-179(how )-179(can )-179(you )-179(tell )-179(that )-179(the)]TJ -0 -1.222 TD -[(par)18(ent was terminated by)]TJ -/TT0 1 Tf -11.604 0 Td -(SIGPIPE)Tj -/T1_0 1 Tf -(?)Tj -/T1_1 1 Tf --14.669 -1.667 Td -(15.5)Tj -/T1_0 1 Tf -3.065 0 Td -[(In )-104(the )-104(pr)18(ogram )-104(in )-104(Figur)]TJ -0.354 Tc 10.836 0 Td -(e1)Tj -0 Tc 1.333 0 Td -[(5.18, )-104(use )-104(the )-104(standar)]TJ -0.354 Tc 9.275 0 Td -(dI)Tj -0 Tc 1.302 0 Td -[(/O )-104(library )-104(for )-104(r)18(eading )-104(and )-104(writing )-104(the)]TJ --22.746 -1.222 Td -(pipes instead of)Tj -/TT0 1 Tf -7.238 0 Td -(read)Tj -/T1_0 1 Tf -2.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(write)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46921 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.1)]TJ -26.9073 Tc 5.388 0 Td -(1C)Tj -0 Tc 28.116 0 Td -[(lient\320Server )-250(Pr)18(operties)]TJ -/T1_1 1 Tf -12.329 0 Td -(585)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(15.11 )-220(Client\320Ser)-10(ver )-278(Pr)20(oper )258(ties)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(Let\325s )-37(detail )-37(some )-37(of )-37(the )-37(pr)18(operties )-37(of )-37(clients )-37(and )-37(servers )-37(that )-37(ar)]TJ -0.2866 Tc 28.068 0 Td -(ea)Tj --0.018 Tc 1.266 0 Td -(ff)Tj -0 Tc 0.648 0 Td -[(ected )-37(by )-37(the )-37(various)]TJ --29.981 -1.2 Td -[(types )-45(of )-45(IPC )-45(used )-45(between )-45(them.)-546(The )-45(simplest )-45(type )-45(of )-45(r)18(elationship )-45(is )-45(to )-45(have )-45(the )-45(client)]TJ -/TT1 1 Tf -0 -1.2 TD -(fork)Tj -/T1_0 1 Tf -2.809 0 Td -(and)Tj -/TT1 1 Tf -2.102 0 Td -(exec)Tj -/T1_0 1 Tf -2.809 0 Td -[(the )-159(desir)18(ed )-159(server)]TJ -0.6591 Tc 8.14 0 Td -(.T)Tj -0 Tc 1.432 0 Td -[(wo )-159(half-duplex )-159(pipes )-159(can )-159(be )-159(cr)18(eated )-159(befor)]TJ -0.409 Tc 19.432 0 Td -(et)Tj -0 Tc 1.214 0 Td -(he)Tj -/TT1 1 Tf --37.939 -1.2 Td -(fork)Tj -/T1_0 1 Tf -2.749 0 Td -[(to )-99(allow )-99(data )-99(to )-99(be )-99(transferr)18(ed )-99(in )-99(both )-99(dir)18(ections. )-349(Figur)]TJ -0.3491 Tc 25.351 0 Td -(e1)Tj -0 Tc 1.328 0 Td -[(5.16 )-99(is )-99(an )-99(example )-99(of)]TJ --29.428 -1.2 Td -[(this )-126(arrangement.)-626(The )-126(server )-126(that )-126(is )-126(executed )-126(can )-126(be )-126(a )-126(set-user)16(-ID )-126(pr)18(ogram, )-126(giving )-126(it)]TJ -T* -[(special )-238(privileges.)-738(Also, )-238(the )-238(server )-238(can )-238(determine )-238(the )-238(r)15(eal )-238(identity )-238(of )-238(the )-238(client )-238(by)]TJ -T* -[(looking )-27(at )-27(its )-27(r)18(eal )-27(user )-27(ID.)-527(\(Recall )-27(fr)15(om )-27(Section )-27(8.10 )-27(that )-27(the )-27(r)18(eal )-27(user )-27(ID )-27(and )-27(r)18(eal )-27(gr)15(oup)]TJ -T* -[(ID don\325t change acr)18(oss an)]TJ -/TT1 1 Tf -11.644 0 Td -(exec)Tj -/T1_0 1 Tf -(.\))Tj --0.055 Tc -9.844 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-2(this )-2(arrangement, )-2(we )-2(can )-2(build )-2(an)]TJ -/T1_2 1 Tf -16.491 0 Td -[(open )-2(server)]TJ -/T1_0 1 Tf -0.5019 Tc (.\()Tj --0.092 Tc 5.671 0 Td -[(We )-186(s)]TJ -0 Tc 2.063 0 Td -[(how )-2(an )-2(implementation )-2(of)]TJ --27.261 -1.2 Td -[(this )-62(client\320server )-62(mechanism )-62(in )-62(Section )-62(17.5.\))-560(It )-62(opens )-62(\336les )-62(for )-62(the )-62(client )-62(instead )-62(of )-62(the)]TJ -T* -[(client )-272(calling )-272(the)]TJ -/TT1 1 Tf -8.321 0 Td -(open)Tj -/T1_0 1 Tf -2.922 0 Td -[(function. )-522(This)-522(way)]TJ -0.522 Tc 8.94 0 Td -(,a)Tj -0 Tc 1.272 0 Td -[(dditional )-272(permission )-272(checking )-272(can )-272(be)]TJ --21.455 -1.2 Td -[(added, )-13(above )-13(and )-13(beyond )-13(the )-13(normal )-13(UNIX )-13(system )-13(user/gr)18(oup/other )-13(permissions.)]TJ --0.092 Tc 37.613 0 Td -(We)Tj -0 Tc -37.613 -1.2 Td -[(assume )-95(that )-95(the )-95(server )-95(is )-95(a )-95(set-user)17(-ID )-95(pr)18(ogram, )-95(giving )-95(it )-95(additional )-95(permissions )-95(\(r)17(oot)]TJ -T* -[(permission, )-286(per)18(haps\). )-536(The)-537(server )-286(uses )-286(the )-286(r)17(eal )-286(user )-286(ID )-286(of )-286(the )-286(client )-286(to )-286(determine)]TJ --0 -1.2 Td -[(whether )-166(to )-166(give )-166(it )-166(access )-166(to )-166(the )-166(r)18(equested )-166(\336le.)-666(This )-166(way)110(,)-416(we)-416(can )-166(build )-166(a )-166(server )-166(that)]TJ -0 -1.2 Td -(allows certain users permissions that they don\325t normally have.)Tj -1.8 -1.2 Td -[(In )-25(this )-25(example, )-25(since )-25(the )-25(server )-25(is )-25(a )-25(child )-25(of )-25(the )-25(par)19(ent, )-25(all )-25(the )-25(server )-25(can )-25(do )-25(is )-25(pass)]TJ --1.8 -1.2 Td -[(back )-71(the )-71(contents )-71(of )-71(the )-71(\336le )-71(to )-71(the )-71(par)18(ent. )-321(Although)-321(this )-71(works )-71(\336ne )-71(for )-71(r)18(egular )-71(\336les, )-71(it)]TJ -T* -[(can\325t )-43(be )-43(used )-43(for )-43(special )-43(device )-43(\336les, )-43(for )-43(example.)]TJ --0.092 Tc 22.658 0 Td -[(We )-227(w)]TJ -0 Tc 2.514 0 Td -[(ould )-43(like )-43(to )-43(be )-43(able )-43(to )-43(have )-43(the)]TJ --25.172 -1.2 Td -[(server )-95(open )-95(the )-95(r)19(equested )-95(\336le )-95(and )-95(pass )-95(back )-95(the )-95(\336le )-95(descriptor)]TJ -0.5949 Tc 28.389 0 Td -(.W)Tj -0 Tc 1.845 0 Td -[(her)18(eas )-95(a )-95(par)18(ent )-95(can)]TJ --30.234 -1.2 Td -[(pass )-184(a )-184(child )-184(an )-184(open )-184(descriptor)]TJ -0.4345 Tc 14.569 0 Td -(,ac)Tj -0 Tc 2.063 0 Td -[(hild )-184(cannot )-184(pass )-184(a )-184(descriptor )-184(back )-184(to )-184(the )-184(par)15(ent)]TJ --16.631 -1.2 Td -[(\(unless special pr)18(ogramming techniques ar)]TJ -0.25 Tc 18.983 0 Td -(eu)Tj -0 Tc 1.332 0 Td -(sed, which we cover in Chapter 17\).)Tj --0.092 Tc -18.515 -1.2 Td -[(We )-231(s)]TJ -0 Tc 2.108 0 Td -[(howed )-47(the )-47(next )-47(type )-47(of )-47(server )-47(in )-47(Figur)]TJ -0.2975 Tc 17.258 0 Td -(e1)Tj -0 Tc 1.276 0 Td -[(5.23. )-297(The)-298(server )-47(is )-47(a )-47(daemon )-47(pr)16(ocess)]TJ --22.443 -1.2 Td -[(that )-45(is )-45(contacted )-45(using )-45(some )-45(form )-45(of )-45(IPC )-45(by )-45(all )-45(clients.)]TJ --0.092 Tc 24.953 0 Td -[(We )-229(c)]TJ -0 Tc 2.126 0 Td -[(an\325t )-45(use )-45(pipes )-45(for )-45(this )-45(type)]TJ --27.079 -1.2 Td -[(of )-247(client\320server )-247(arrangement.)]TJ -0.4966 Tc 14.196 0 Td -(Af)Tj -0 Tc 1.608 0 Td -[(orm )-247(of )-247(named )-247(IPC )-247(is )-247(r)20(equir)18(ed, )-247(such )-247(as )-247(FIFOs )-247(or)]TJ --15.803 -1.2 Td -[(message )-7(queues.)]TJ --0.055 Tc 7.907 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-7(FIFOs, )-7(we )-7(saw )-7(that )-7(an )-7(individual )-7(per)18(-client )-7(FIFO )-7(is )-7(also )-7(r)19(equir)18(ed)]TJ --9.143 -1.2 Td -[(if )-17(the )-17(server )-17(is )-17(to )-17(send )-17(data )-17(back )-17(to )-17(the )-17(client.)-517(If )-17(the )-17(client\320server )-17(application )-17(sends )-17(data)]TJ -T* -[(only )-8(fr)18(om )-8(the )-8(client )-8(to )-8(the )-8(server)]TJ -0.2579 Tc 14.384 0 Td -(,as)Tj -0 Tc 1.69 0 Td -[(ingle )-8(well-known )-8(FIFO )-8(suf)18(\336ces. )-258(\(The)-258(System )-8(V )-8(line)]TJ --16.074 -1.2 Td -[(printer )-121(spooler )-121(used )-121(this )-121(form )-121(of )-121(client\320server )-121(arrangement.)-618(The )-121(client )-121(was )-121(the)]TJ -/TT1 1 Tf -36.634 0 Td -(lp)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj --38.667 -1.24 Td -[(command, )-56(and )-56(the )-56(server )-56(was )-56(the)]TJ -/TT1 1 Tf -15.499 0 Td -(lpsched)Tj -/T1_0 1 Tf -4.506 0 Td -[(daemon )-56(pr)18(ocess. )-306(A)-307(single )-56(FIFO )-56(was )-56(used,)]TJ --20.005 -1.2 Td -[(since )-61(the )-61(\337ow )-61(of )-61(data )-61(was )-61(only )-61(fr)18(om )-61(the )-61(client )-61(to )-61(the )-61(server)]TJ -0.561 Tc 26.737 0 Td -(.N)Tj -0 Tc 1.642 0 Td -[(othing )-61(was )-61(sent )-61(back )-61(to)]TJ --28.379 -1.2 Td -(the client.\))Tj -1.8 -1.2 Td -(Multiple possibilities exist with message queues.)Tj -0 -2.04 TD -[(1. )-633(A)-257(single )-7(queue )-7(can )-7(be )-7(used )-7(between )-7(the )-7(server )-7(and )-7(all )-7(the )-7(clients, )-7(using )-7(the )-7(type)]TJ -1.633 -1.2 Td -[(\336eld )-28(of )-28(each )-28(message )-28(to )-28(indicate )-28(the )-28(message )-28(r)20(ecipient. )-278(For)-278(example, )-28(the )-28(clients)]TJ --0 -1.2 Td -[(can )-90(send )-90(their )-90(r)18(equests )-90(with )-90(a )-90(type )-90(\336eld )-90(of )-90(1.)-590(Included )-90(in )-90(the )-90(r)18(equest )-90(must )-90(be)]TJ -0 -1.2 TD -[(the )-103(client\325s )-103(pr)18(ocess )-103(ID.)-603(The )-103(server )-103(then )-103(sends )-103(the )-103(r)16(esponse )-103(with )-103(the )-103(type )-103(\336eld)]TJ -T* -[(set )-42(to )-42(the )-42(client\325s )-42(pr)18(ocess )-42(ID.)-540(The )-42(server )-42(r)18(eceives )-42(only )-42(the )-42(messages )-42(with )-42(a )-42(type)]TJ -T* -[(\336eld )-176(of )-176(1 )-176(\(the )-176(fourth )-176(ar)18(gument )-176(for)]TJ -/TT1 1 Tf -16.433 0 Td -(msgrcv)Tj -/T1_0 1 Tf -[(\), )-176(and )-176(the )-176(clients )-176(r)17(eceive )-176(only )-176(the)]TJ --16.433 -1.2 Td -[(messages with a type \336eld equal to their pr)18(ocess IDs.)]TJ --1.633 -2.2 Td -[(2. )-633(Alternatively)111(,)-335(an)-335(i)-1(ndividual )-85(message )-85(queue )-85(can )-85(be )-85(used )-85(for )-85(each )-85(client.)-589(Befor)18(e)]TJ -1.633 -1.2 Td -[(sending )-92(the )-92(\336rst )-92(r)18(equest )-92(to )-92(a )-92(server)]TJ -0.3425 Tc 16 0 Td -(,e)Tj -0 Tc 1.071 0 Td -[(ach )-92(client )-92(cr)17(eates )-93(its )-93(own )-93(message )-93(queue)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46922 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.10)]TJ -35.018 0 Td -[(POSIX )-250(Semaphor)18(es)]TJ -/T1_1 1 Tf -10.815 0 Td -(579)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(15.10 )-220(POSIX)-556(Semaphores)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(The )-45(POSIX )-45(semaphor)]TJ -0.2948 Tc 9.575 0 Td -(em)Tj -0 Tc 1.657 0 Td -[(echanism )-45(is )-45(one )-45(of )-45(thr)19(ee )-45(IPC )-45(mechanisms )-45(that )-45(originated )-45(with)]TJ --11.231 -1.2 Td -[(the )-183(r)18(eal-time )-183(extensions )-183(to )-183(POSIX.1.)-683(The )-183(Single )-183(UNIX )-183(Speci\336cation )-183(placed )-183(the )-183(thr)18(ee)]TJ -0 -1.2 TD -[(mechanisms )-277(\(message )-277(queues, )-277(semaphor)18(es, )-277(and )-277(shar)18(ed )-277(memory\) )-277(in )-277(option )-277(classes.)]TJ -T* -[(Prior )-267(to )-267(SUSv4, )-267(the )-267(POSIX )-267(semaphor)]TJ -0.5171 Tc 17.529 0 Td -(ei)Tj -0 Tc 1.287 0 Td -[(nterfaces )-267(wer)]TJ -0.5171 Tc 6.169 0 Td -(ei)Tj -0 Tc 1.287 0 Td -[(ncluded )-267(in )-267(the )-267(semaphor)18(es)]TJ --26.273 -1.2 Td -[(option. )-573(In)-574(SUSv4, )-324(these )-324(interfaces )-324(wer)]TJ -0.5736 Tc 18.555 0 Td -(em)Tj -0 Tc 1.936 0 Td -[(oved )-324(to )-324(the )-324(base )-324(speci\336cation, )-324(but )-324(the)]TJ --20.49 -1.2 Td -[(message queue and shar)18(ed memory interfaces r)18(emained optional.)]TJ -1.8 -1.2 Td -[(The )-145(POSIX )-145(semaphor)]TJ -0.3951 Tc 9.775 0 Td -(ei)Tj -0 Tc 1.165 0 Td -[(nterfaces )-145(wer)]TJ -0.3951 Tc 6.047 0 Td -(em)Tj -0 Tc 1.757 0 Td -[(eant )-145(to )-145(addr)18(ess )-145(several )-145(de\336ciencies )-145(with)]TJ --20.544 -1.2 Td -(the XSI semaphor)Tj -0.25 Tc 7.808 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(nterfaces:)Tj -0.883 Tc -7.028 -1.8 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-27(POSIX )-27(semaphor)]TJ -0.2767 Tc 8.925 0 Td -(ei)Tj -0 Tc 1.047 0 Td -[(nterfaces )-27(allow )-27(for )-27(higher)19(-performance )-27(implementations)]TJ --10.585 -1.2 Td -[(compar)18(ed to XSI semaphor)18(es.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-12(POSIX )-12(semaphor)]TJ -0.2621 Tc 8.896 0 Td -(ei)Tj -0 Tc 1.032 0 Td -[(nterfaces )-12(ar)]TJ -0.2621 Tc 5.101 0 Td -(es)Tj -0 Tc 1.165 0 Td -[(impler )-12(to )-12(use: )-12(ther)]TJ -0.2621 Tc 8.118 0 Td -(ea)Tj --0.018 Tc 1.241 0 Td -[(re )-48(n)]TJ -0.262 Tc 1.7 0 Td -(os)Tj -0 Tc 1.232 0 Td -(emaphor)Tj -0.262 Tc 3.968 0 Td -(es)Tj -0 Tc 1.165 0 Td -(ets,)Tj --34.232 -1.2 Td -[(and )-94(several )-94(of )-94(the )-94(interfaces )-94(ar)]TJ -0.3443 Tc 13.943 0 Td -(ep)Tj -0 Tc 1.424 0 Td -[(atterned )-94(after )-94(familiar )-94(\336le )-94(system )-94(operations.)]TJ --15.367 -1.2 Td -[(Although )-111(ther)18(e)-361(is)-361(no)-361(r)17(equir)18(ement )-111(that )-111(they )-111(be )-111(implemented )-111(in )-111(the )-111(\336le )-111(system,)]TJ -0 -1.2 Td -[(some systems do take this appr)18(oach.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-262(POSIX )-262(semaphor)18(es )-262(behave )-262(mor)]TJ -0.512 Tc 16.287 0 Td -(eg)Tj -0 Tc 1.547 0 Td -[(racefully )-262(when )-262(r)18(emoved. )-512(Recall)-512(that)]TJ --18.447 -1.2 Td -[(when )-266(an )-266(XSI )-266(semaphor)19(e)-516(is)-516(r)19(emoved, )-266(operations )-266(using )-266(the )-266(same )-266(semaphor)20(e)]TJ -0 -1.2 Td -[(identi\336er )-180(fail )-180(with)]TJ -/TT1 1 Tf -8.799 0 Td -(errno)Tj -/T1_0 1 Tf -3.431 0 Td -[(set )-180(to)]TJ -/TT1 1 Tf -2.962 0 Td -(EIDRM)Tj -/T1_0 1 Tf -0.6805 Tc (.W)Tj -0 Tc 4.876 0 Td -[(ith )-180(POSIX )-180(semaphor)18(es, )-180(operations)]TJ --20.067 -1.2 Td -[(continue to work normally until the last r)18(efer)18(ence to the semaphor)18(e)-250(is)-250(r)18(eleased.)]TJ --1.489 -1.8 Td -[(POSIX )-82(semaphor)18(es )-82(ar)]TJ -0.3319 Tc 9.755 0 Td -(ea)Tj -0 Tc 1.311 0 Td -[(vailable )-82(in )-82(two )-82(\337avors: )-82(named )-82(and )-82(unnamed.)-582(They )-82(dif)19(fer)]TJ --12.866 -1.2 Td -[(in )-295(how )-295(they )-295(ar)]TJ -0.5451 Tc 7.29 0 Td -(ec)Tj --0.018 Tc 1.468 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ated )-295(and )-295(destr)18(oyed, )-295(but )-295(otherwise )-295(work )-295(the )-295(same.)-796(Unnamed)]TJ --9.614 -1.2 Td -[(semaphor)18(es )-15(exist )-15(in )-15(memory )-15(only )-15(and )-15(r)17(equir)]TJ -0.2651 Tc 19.892 0 Td -(et)Tj -0 Tc 1.07 0 Td -[(hat )-15(pr)18(ocesses )-15(have )-15(access )-15(to )-15(the )-15(memory)]TJ --20.962 -1.2 Td -[(to )-98(be )-98(able )-98(to )-98(use )-98(the )-98(semaphor)16(es. )-98(This )-98(means )-98(they )-98(can )-98(be )-98(used )-98(only )-98(by )-98(thr)18(eads )-98(in )-98(the)]TJ -T* -[(same )-197(pr)18(ocess )-197(or )-197(thr)18(eads )-197(in )-197(dif)18(fer)18(ent )-197(pr)18(ocesses )-197(that )-197(have )-197(mapped )-197(the )-197(same )-197(memory)]TJ --0 -1.2 Td -[(extent )-37(into )-37(their )-37(addr)18(ess )-37(spaces.)-537(Named )-37(semaphor)17(es, )-37(in )-37(contrast, )-37(ar)]TJ -0.2873 Tc 30.301 0 Td -(ea)Tj -0 Tc 1.266 0 Td -[(ccessed )-37(by )-37(name)]TJ --31.567 -1.2 Td -[(and can be used by thr)18(eads in any pr)18(ocesses that know their names.)]TJ --0.092 Tc 1.8 -1.2 Td -[(To )-315(c)]TJ --0.018 Tc 1.892 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ate )-131(a )-131(new )-131(named )-131(semaphor)19(e)-381(or)-381(u)1(se )-131(an )-131(existing )-131(one, )-131(we )-131(call )-131(the)]TJ -/TT1 1 Tf -29.652 0 Td -(sem_open)Tj -/T1_0 1 Tf --34.2 -1.2 Td -(function.)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5933 296.2822 Tm -(#include )Tj -0 -1.902 TD -(sem_t *sem_open\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 20.767 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(o\337ag)Tj -/TT1 1 Tf -0.6 Tc (,.)Tj -0 Tc 3.733 0 Td -(.. /* mode_t)Tj -/T1_2 1 Tf -7.8 0 Td -(mode)Tj -/TT1 1 Tf -(,)Tj --24.5 -1.189 Td -(unsigned int)Tj -/T1_2 1 Tf -7.8 0 Td -(value)Tj -/TT1 1 Tf -2.767 0 Td -(*/ \);)Tj -/T1_0 1 Tf --7.233 -1.902 Td -[(Returns: Pointer to semaphor)18(e)-250(if)-250(OK,)]TJ -/TT1 1 Tf -16.579 0 Td -(SEM_FAILED)Tj -/T1_0 1 Tf -6.25 0 Td -[(on err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2468.25 cm -0 0 m -0 585 l -3900 585 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 233.332 Tm -[(When )-9(using )-9(an )-9(existing )-9(named )-9(semaphor)18(e, )-9(we )-9(specify )-9(only )-9(two )-9(ar)19(guments: )-9(the )-9(name )-9(of)]TJ -0 -1.2 TD -[(the )-110(semaphor)]TJ -0.3596 Tc 6.139 0 Td -(ea)Tj -0 Tc 1.339 0 Td -[(nd )-110(a )-110(zer)]TJ -0.3596 Tc 3.768 0 Td -(ov)Tj -0 Tc 1.471 0 Td -[(alue )-110(for )-110(the)]TJ -/T1_2 1 Tf -5.613 0 Td -(o\337ag)Tj -/T1_0 1 Tf -2.293 0 Td -[(ar)18(gument. )-360(When)-359(the)]TJ -/T1_2 1 Tf -9.915 0 Td -(o\337ag)Tj -/T1_0 1 Tf -2.293 0 Td -[(ar)18(gument )-109(has)]TJ --32.829 -1.2 Td -(the)Tj -/TT1 1 Tf -1.745 0 Td -(O_CREAT)Tj -/T1_0 1 Tf -4.558 0 Td -[(\337ag )-108(set, )-108(we )-108(cr)18(eate )-108(a )-108(new )-108(named )-108(semaphor)16(e)-358(if)-358(it)-358(d)-1(oes )-108(not )-108(yet )-108(exist.)-608(If )-108(it)]TJ --6.304 -1.2 Td -[(alr)18(eady exists, it is opened for use, but no additional initialization take\ s place.)]TJ -1.8 -1.2 Td -[(When )-48(we )-48(specify )-48(the)]TJ -/TT1 1 Tf -9.663 0 Td -(O_CREAT)Tj -/T1_0 1 Tf -4.498 0 Td -[(\337ag, )-48(we )-48(need )-48(to )-48(pr)18(ovide )-48(two )-48(additional )-48(ar)19(guments.)]TJ --15.96 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.056 0 Td -(mode)Tj -/T1_0 1 Tf -2.493 0 Td -[(ar)18(gument )-132(speci\336es )-132(who )-132(can )-132(access )-132(the )-132(semaphor)17(e. )-382(It)-382(can )-132(take )-132(on )-132(the )-132(same)]TJ --4.549 -1.2 Td -[(values )-229(as )-229(the )-229(permission )-229(bits )-229(for )-229(opening )-229(a )-229(\336le: )-229(user)22(-r)18(ead, )-229(user)18(-write, )-229(user)19(-execute,)]TJ -0 -1.2 Td -[(gr)18(oup-r)18(ead, )-349(gr)18(oup-write, )-349(gr)18(oup-execute, )-349(other)18(-r)18(ead, )-349(other)18(-write, )-349(and )-349(other)18(-execute.)]TJ -0 -1.2 Td -[(The )-136(r)18(esulting )-136(permissions )-136(assigned )-136(to )-136(the )-136(semaphor)]TJ -0.3859 Tc 23.776 0 Td -(ea)Tj --0.018 Tc 1.365 0 Td -[(re )-172(m)]TJ -0 Tc 2.125 0 Td -[(odi\336ed )-136(by )-136(the )-136(caller)-74(\325s )-136(\336le)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46923 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.9)]TJ -36.454 0 Td -[(Shar)18(ed )-250(Memory)]TJ -/T1_1 1 Tf -9.379 0 Td -(571)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(byte; )-41(to )-41(r)18(elease )-41(it, )-41(we )-41(unlock )-41(the )-41(byte.)-541(The )-41(r)21(ecor)]TJ -0.2907 Tc 21.581 0 Td -(dl)Tj -0 Tc 1.193 0 Td -[(ocking )-41(pr)18(operties )-41(guarantee )-41(that )-41(if )-41(a)]TJ --22.774 -1.2 Td -[(pr)18(ocess terminates while holding a lock, the kernel automatically r)18(eleases the lock.)]TJ --0.092 Tc 1.8 -1.2 Td -[(To )-351(u)]TJ -0 Tc 2.087 0 Td -[(se )-167(a )-167(mutex, )-167(we )-167(need )-167(both )-167(pr)19(ocesses )-167(to )-167(map )-167(the )-167(same )-167(\336le )-167(into )-167(their )-167(addr)20(ess)]TJ --3.887 -1.2 Td -[(spaces )-741(and )-741(initialize )-741(a )-741(mutex )-741(at )-741(the )-741(same )-741(of)16(fset )-741(in )-741(the )-741(\336le )-741(using )-741(the)]TJ -/TT0 1 Tf -0 -1.2 TD -(PTHREAD_PROCESS_SHARED)Tj -/T1_0 1 Tf -13.683 0 Td -[(mutex )-233(attribute.)]TJ --0.092 Tc 8.072 0 Td -[(To )-417(a)]TJ -0 Tc 2.05 0 Td -[(llocate )-233(the )-233(r)18(esour)18(ce, )-233(we )-233(lock )-233(the)]TJ --23.805 -1.2 Td -[(mutex; )-134(to )-134(r)18(elease )-134(the )-134(r)19(esour)18(ce, )-134(we )-134(unlock )-134(the )-134(mutex.)-634(If )-134(a )-134(pr)18(ocess )-134(terminates )-134(without)]TJ --0.018 Tc -0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(leasing )-263(the )-263(mutex, )-263(r)18(ecovery )-263(is )-263(dif)18(\336cult )-263(unless )-263(we )-263(use )-263(a )-263(r)13(obust )-263(mutex )-263(\(r)18(ecall )-263(the)]TJ -/TT0 1 Tf --0.856 -1.2 Td -(pthread_mutex_consistent)Tj -/T1_0 1 Tf -14.65 0 Td -(function discussed in Section 12.4.1\).)Tj --12.85 -1.2 Td -(Figur)Tj -0.3278 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.307 0 Td -[(5.29 )-78(shows )-78(the )-78(time )-78(r)19(equir)18(ed )-78(to )-78(perform )-78(these )-78(thr)19(ee )-78(locking )-78(techniques )-78(on)]TJ --5.49 -1.2 Td -[(Linux. )-300(In)-300(each )-50(case, )-50(the )-50(r)18(esour)18(ce )-50(was )-50(allocated )-50(and )-50(then )-50(r)18(eleased )-50(1,000,000 )-50(times.)-549(This)]TJ --0 -1.2 Td -[(was )-25(done )-25(simultaneously )-25(by )-25(thr)18(ee )-25(dif)18(fer)18(ent )-25(pr)18(ocesses. )-275(The)-275(times )-25(in )-25(Figur)]TJ -0.2752 Tc 32.702 0 Td -(e1)Tj -0 Tc 1.254 0 Td -[(5.29 )-25(ar)]TJ -0.2752 Tc 2.902 0 Td -(et)Tj -0 Tc 1.08 0 Td -(he)Tj --37.939 -1.2 Td -[(totals in seconds for all thr)18(ee pr)18(ocesses.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2197.25 5182.25 cm -0 0 m -2098 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 250.23 510.1388 Tm -(Operation )Tj -9.884 0 Td -[(User)-2058(System )-1573(Clock)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2197.25 5062.25 cm -0 0 m -2098 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2197.25 5042.25 cm -0 0 m -2098 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 223.6637 496.1107 Tm -[(semaphor)18(es with undo)-3196(0.50 )-2693(6.08 )-2693(7.55)]TJ -0 -1.25 TD -[(advisory r)18(ecor)]TJ -0.25 Tc 6.361 0 Td -(dl)Tj -0 Tc 1.152 0 Td -[(ocking )-2628(0.51)-2943(9.06 )-2693(4.38)]TJ --7.513 -1.25 Td -[(mutex in shar)18(ed memory)-2221(0.21 )-2693(0.40 )-2693(0.25)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2197.25 4722.25 cm -0 0 m -2098 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3939.25 4722.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3564.25 4722.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3188.25 4722.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4295.25 4722.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2197.25 4722.25 cm -0 0 m -0 460 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 208.142 454.091 Tm -(Figure 15.29)Tj -/T1_0 1 Tf --0.055 Tc 6.195 0 Td -(Ti)Tj -0 Tc 0.849 0 Td -(ming comparison of locking alternatives on Linux)Tj -9.9976 0 0 9.9976 147.564 430.0968 Tm -[(On )-33(Linux, )-33(r)19(ecor)]TJ -0.2827 Tc 7.009 0 Td -(dl)Tj -0 Tc 1.185 0 Td -[(ocking )-33(is )-33(faster )-33(than )-33(semaphor)19(es, )-33(but )-33(mutexes )-33(in )-33(shar)18(ed )-33(memory)]TJ --9.994 -1.2 Td -[(outperform )-31(both )-31(semaphor)18(es )-31(and )-31(r)19(ecor)]TJ -0.2808 Tc 17.448 0 Td -(dl)Tj -0 Tc 1.183 0 Td -[(ocking. )-281(If)-281(we\325r)]TJ -0.2808 Tc 6.675 0 Td -(el)Tj -0 Tc 1.051 0 Td -[(ocking )-31(a )-31(single )-31(r)18(esour)18(ce )-31(and)]TJ --26.356 -1.2 Td -[(don\325t )-151(need )-151(all )-151(the )-151(fancy )-151(featur)18(es )-151(of )-151(XSI )-151(semaphor)18(es, )-151(r)15(ecor)]TJ -0.4013 Tc 26.687 0 Td -(dl)Tj -0 Tc 1.303 0 Td -[(ocking )-151(is )-151(pr)17(eferr)18(ed )-151(over)]TJ --27.99 -1.2 Td -[(semaphor)18(es. )-560(The)]TJ --0.018 Tc 8.589 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(asons )-310(ar)]TJ -0.56 Tc 3.913 0 Td -(et)Tj -0 Tc 1.365 0 Td -[(hat )-310(it )-310(is )-310(much )-310(simpler )-310(to )-310(use, )-310(it )-310(is )-310(faster )-310(\(on )-310(this)]TJ --14.723 -1.2 Td -[(platform\), )-79(and )-79(the )-79(system )-79(takes )-79(car)18(e)-329(of)-329(any )-79(lingering )-79(locks )-79(when )-79(a )-79(pr)18(ocess )-79(terminates.)]TJ --0 -1.2 Td -[(Even )-31(though )-31(using )-31(a )-31(mutex )-31(in )-31(shar)16(ed )-31(memory )-31(is )-31(the )-31(fastest )-31(option )-31(on )-31(this )-31(platform, )-31(we)]TJ -0 -1.2 TD -[(still )-55(pr)18(efer )-55(to )-55(use )-55(r)18(ecor)]TJ -0.3049 Tc 10.108 0 Td -(dl)Tj -0 Tc 1.207 0 Td -[(ocking, )-55(unless )-55(performance )-55(is )-55(the )-55(primary )-55(concern.)-554(Ther)]TJ -0.3049 Tc 25.545 0 Td -(ea)Tj --0.018 Tc 1.284 0 Td -(re)Tj -0 Tc -38.144 -1.2 Td -[(two )-108(r)18(easons )-108(for )-108(this. )-108(First, )-108(r)18(ecovery )-108(fr)18(om )-108(pr)18(ocess )-108(termination )-108(is )-108(mor)]TJ -0.3581 Tc 31.005 0 Td -(ed)Tj -0 Tc 1.448 0 Td -[(if)18(\336cult )-108(using )-108(a)]TJ --32.453 -1.2 Td -[(mutex )-113(in )-113(memory )-113(shar)18(ed )-113(among )-113(multiple )-113(pr)19(ocesses. )-363(Second,)-363(the)]TJ -/T1_2 1 Tf -30.015 0 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_0 1 Tf -6.178 0 Td -(mutex)Tj --36.193 -1.2 Td -[(attribute )-416(isn\325t )-416(universally )-416(supported )-416(yet.)-916(In )-416(older )-416(versions )-416(of )-416(the )-416(Single )-416(UNIX)]TJ -T* -[(Speci\336cation, )-76(it )-76(was )-76(optional.)-578(Although )-76(it )-76(is )-76(still )-76(optional )-76(in )-76(SUSv4, )-76(it )-76(is )-76(now )-76(r)15(equir)18(ed)]TJ -T* -(by all XSI-conforming implementations.)Tj -7.9981 0 0 7.9981 183.5554 278.1332 Tm -[(Of )-15(the )-15(four )-15(platforms )-15(cover)17(ed )-15(in )-15(this )-15(text, )-15(only )-15(Linux )-15(3.2.0 )-15(and )-15(Solaris )-15(10 )-15(curr)18(ently )-15(support )-15(the)]TJ -/T1_2 1 Tf -0 -1.25 TD -[(pr)18(ocess-shar)18(ed)]TJ -/T1_0 1 Tf -6.065 0 Td -(mutex attribute.)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2622.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9964 0 0 11.9964 93.5719 226.1321 Tm -[(15.9 )-776(Shared)-556(Memor )268(y)]TJ -/T1_0 1 Tf -9.997 0 0 9.997 129.5611 204.5386 Tm -[(Shar)18(ed )-51(memory )-51(allows )-51(two )-51(or )-51(mor)]TJ -0.3007 Tc 15.658 0 Td -(ep)Tj --0.018 Tc 1.381 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cesses )-51(to )-51(shar)]TJ -0.3007 Tc 6.03 0 Td -(eag)Tj -0 Tc 2.136 0 Td -[(iven )-51(r)18(egion )-51(of )-51(memory)]TJ -0.5508 Tc 10.16 0 Td -(.T)Tj -0 Tc 1.414 0 Td -(his)Tj --37.703 -1.2 Td -[(is )-1(the )-1(fastest )-1(form )-1(of )-1(IPC, )-1(because )-1(the )-1(data )-1(does )-1(not )-1(need )-1(to )-1(be )-1(copied )-1(between )-1(the )-1(client)]TJ -0 -1.2 TD -[(and )-174(the )-174(server)]TJ -0.674 Tc 6.591 0 Td -(.T)Tj -0 Tc 1.537 0 Td -[(he )-174(only )-174(trick )-174(in )-174(using )-174(shar)18(ed )-174(memory )-174(is )-174(synchr)18(onizing )-174(access )-174(to )-174(a)]TJ --8.128 -1.2 Td -[(given )-230(r)18(egion )-230(among )-230(multiple )-230(pr)19(ocesses. )-480(If)-480(the )-230(server )-230(is )-230(placing )-230(data )-230(into )-230(a )-230(shar)20(ed)]TJ -0 -1.2 Td -[(memory )-217(r)18(egion, )-218(the )-218(client )-218(shouldn\325t )-218(try )-218(to )-218(access )-218(the )-218(data )-218(until )-218(the )-218(server )-218(is )-218(done.)]TJ -T* -[(Often, )-105(semaphor)18(es )-105(ar)]TJ -0.3552 Tc 9.638 0 Td -(eu)Tj -0 Tc 1.437 0 Td -[(sed )-105(to )-105(synchr)18(onize )-105(shar)18(ed )-105(memory )-105(access.)-606(\(But )-105(as )-105(we )-105(saw )-105(at)]TJ --11.076 -1.2 Td -[(the end of the pr)18(evious section, r)18(ecor)]TJ -0.25 Tc 16.276 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(ocking or mutexes can also be used.\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46924 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.8)]TJ -38.437 0 Td -[(Semaphor)18(es)]TJ -/T1_1 1 Tf -7.396 0 Td -(565)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Example )195(\321 )195(Timing)-279(Comparison of Messa)]TJ -0.01 Tc 19.217 0 Td -[(ge )20(Q)]TJ -0 Tc 2.233 0 Td -(ueues and Full)Tj -7.002 0.09 Td -(-)Tj -0.333 -0.09 Td -(Duple)Tj -0.278 Tc 2.763 0 Td -(xP)Tj -0 Tc 1.501 0 Td -(ipes)Tj -/T1_0 1 Tf --29.449 -2.4 Td -[(If )-64(we )-64(need )-64(a )-64(bidir)19(ectional )-64(\337ow )-64(of )-64(data )-64(between )-64(a )-64(client )-64(and )-64(a )-64(server)78(,)-314(we)-314(c)1(an )-64(use )-64(either)]TJ -0 -1.2 Td -[(message )-10(queues )-10(or )-10(full-duplex )-10(pipes.)-510(\(Recall )-10(fr)17(om )-10(Figur)]TJ -0.2603 Tc 25.032 0 Td -(e1)Tj -0 Tc 1.239 0 Td -[(5.1 )-10(that )-10(full-duplex )-10(pipes )-10(ar)17(e)]TJ --26.271 -1.2 Td -[(available )-110(thr)18(ough )-110(the )-110(UNIX )-110(domain )-110(sockets )-110(mechanism )-110([Section )-110(17.2], )-110(although )-110(some)]TJ -0 -1.2 TD -[(platforms pr)18(ovide a full-duplex pipe mechanism thr)18(ough the)]TJ -/TT1 1 Tf -27.22 0 Td -(pipe)Tj -/T1_0 1 Tf -2.65 0 Td -(function.\))Tj --28.07 -1.2 Td -(Figur)Tj -0.4355 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.414 0 Td -[(5.27 )-185(shows )-185(a )-185(timing )-185(comparison )-185(of )-185(thr)18(ee )-185(of )-185(these )-185(techniques )-185(on )-185(Solaris:)]TJ --5.597 -1.2 Td -[(message )-136(queues, )-136(full-duplex)]TJ -13.252 0.04 Td -(\()Tj -0.333 -0.04 Td -(STREAMS)Tj -4.666 0.04 Td -(\))Tj -0.719 -0.04 Td -[(pipes, )-136(and )-136(UNIX )-136(domain )-136(sockets.)-636(The )-136(tests)]TJ --18.969 -1.2 Td -[(consisted )-84(of )-84(a )-84(pr)18(ogram )-84(that )-84(cr)18(eated )-84(the )-84(IPC )-84(channel, )-84(called)]TJ -/TT1 1 Tf -27.014 0 Td -(fork)Tj -/T1_0 1 Tf -0.3337 Tc (,a)Tj -0 Tc 3.484 0 Td -[(nd )-84(then )-84(sent )-84(about)]TJ --30.498 -1.2 Td -[(200 )-128(megabytes )-128(of )-128(data )-128(fr)18(om )-128(the )-128(par)18(ent )-128(to )-128(the )-128(child.)-628(The )-128(data )-128(was )-128(sent )-128(using )-128(100,000)]TJ -T* -[(calls )-228(to)]TJ -/TT1 1 Tf -3.778 0 Td -(msgsnd)Tj -/T1_0 1 Tf -0.4781 Tc (,w)Tj -0 Tc 5.162 0 Td -[(ith )-228(a )-228(message )-228(length )-228(of )-228(2,000 )-228(bytes )-228(for )-228(the )-228(message )-228(queue, )-228(and)]TJ --8.94 -1.2 Td -[(100,000 )-81(calls )-81(to)]TJ -/TT1 1 Tf -7.066 0 Td -(write)Tj -/T1_0 1 Tf -0.3314 Tc (,w)Tj -0 Tc 4.415 0 Td -[(ith )-81(a )-81(length )-81(of )-81(2,000 )-81(bytes )-81(for )-81(the )-81(full-duplex )-81(pipe )-81(and )-81(UNIX)]TJ --11.482 -1.2 Td -[(domain socket.)-500(The times ar)]TJ -0.25 Tc 12.642 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ll in seconds.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2271.25 5074.25 cm -0 0 m -1950 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 250.23 499.3401 Tm -[(Operation )-4206(User)-2058(System )-1573(Clock)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2271.25 4954.25 cm -0 0 m -1950 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2271.25 4934.25 cm -0 0 m -1950 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 231.0384 485.3126 Tm -[(message queue)-4803(0.58 )-2693(4.16 )-2693(5.09)]TJ -0 -1.25 TD -[(full-duplex pipe)-4348(0.61 )-2693(4.30 )-2693(5.24)]TJ -T* -[(UNIX domain socket)-2221(0.59 )-2693(5.58 )-2693(7.49)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2271.25 4614.25 cm -0 0 m -1950 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3866.25 4614.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3490.25 4614.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3115.25 4614.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 4614.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2271.25 4614.25 cm -0 0 m -0 460 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 213.1288 443.2936 Tm -(Figure 15.27)Tj -/T1_0 1 Tf --0.055 Tc 6.195 0 Td -(Ti)Tj -0 Tc 0.849 0 Td -(ming comparison of IPC alternatives on Solaris)Tj -9.9976 0 0 9.9976 147.565 420.4991 Tm -[(These )-137(numbers )-137(show )-137(us )-137(that )-137(message )-137(queues, )-137(originally )-137(implemented )-137(to )-137(pr)20(ovide)]TJ --1.8 -1.2 Td -[(higher)18(-than-normal-speed )-62(IPC, )-62(ar)19(e)-312(no)-312(l)1(onger )-62(that )-62(much )-62(faster )-62(than )-62(other )-62(forms )-62(of )-62(IPC.)]TJ -0 -1.2 TD -[(\(When )-142(message )-142(queues )-142(wer)]TJ -0.3919 Tc 12.735 0 Td -(ei)Tj -0 Tc 1.162 0 Td -[(mplemented, )-142(the )-142(only )-142(other )-142(form )-142(of )-142(IPC )-142(available )-142(was)]TJ --13.897 -1.2 Td -[(half-duplex )-464(pipes.\))-964(When )-464(we )-464(consider )-464(the )-464(pr)18(oblems )-464(in )-464(using )-464(message )-464(queues)]TJ -T* -[(\(Section )-325(15.6.4\), )-325(we )-325(come )-325(to )-325(the )-325(conclusion )-325(that )-325(we )-325(shouldn\325t )-325(use )-325(them )-325(for )-325(new)]TJ -T* -(applications.)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3606.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9964 0 0 11.9964 93.5719 324.5026 Tm -[(15.8 )-776(Semaphores)]TJ -/T1_0 1 Tf -0.4673 Tc 9.997 0 0 9.997 129.5611 300.5098 Tm -(As)Tj -0 Tc 1.669 0 Td -(emaphor)Tj -0.4673 Tc 3.968 0 Td -(ei)Tj -0 Tc 1.237 0 Td -[(sn\325t )-217(a )-217(form )-217(of )-217(IPC )-217(similar )-217(to )-217(the )-217(others )-217(that )-217(we\325ve )-217(described )-217(\(pipes,)]TJ --6.875 -1.2 Td -[(FIFOs, )-170(and )-170(message )-170(queues\).)]TJ -0.4205 Tc 14.01 0 Td -(As)Tj -0 Tc 1.623 0 Td -[(emaphor)18(e)-420(is)-420(a)-420(c)-1(ounter )-170(used )-170(to )-170(pr)18(ovide )-170(access )-170(to )-170(a)]TJ --15.633 -1.2 Td -[(shar)18(ed data object for multiple pr)18(ocesses.)]TJ -7.9976 0 0 7.9976 183.5449 260.1219 Tm -[(The )-140(Single )-140(UNIX )-140(Speci\336cation )-140(includes )-140(an )-140(alternative )-140(set )-140(of )-140(semaphor)]TJ -0.39 Tc 32.195 0 Td -(ei)Tj -0 Tc 1.16 0 Td -[(nterfaces )-140(that )-140(wer)18(e)]TJ --33.355 -1.25 Td -[(originally part of its r)18(eal-time extensions.)]TJ --0.092 Tc 18.649 0 Td -[(We )-184(d)]TJ -0 Tc 2.248 0 Td -(iscuss these interfaces in Section 15.10.)Tj --0.092 Tc 9.997 0 0 9.997 129.5613 232.1303 Tm -[(To )-184(o)]TJ -0 Tc 1.863 0 Td -[(btain a shar)18(ed r)18(esour)18(ce, a pr)18(ocess needs to do the following:)]TJ --0.063 -1.92 Td -[(1. )-633(T)92(est the semaphor)]TJ -0.25 Tc 9.662 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(hat contr)18(ols the r)18(esour)18(ce.)]TJ --10.717 -1.6 Td -[(2. )-633(If)-371(the )-121(value )-121(of )-121(the )-121(semaphor)17(e)-371(is)-371(p)-1(ositive, )-121(the )-121(pr)18(ocess )-121(can )-121(use )-121(the )-121(r)16(esour)18(ce. )-371(In)]TJ -1.633 -1.2 Td -[(this )-142(case, )-142(the )-142(pr)18(ocess )-142(decr)18(ements )-142(the )-142(semaphor)]TJ -0.3918 Tc 21.615 0 Td -(ev)Tj -0 Tc 1.436 0 Td -[(alue )-142(by )-142(1, )-142(indicating )-142(that )-142(it)]TJ --23.051 -1.2 Td -[(has used one unit of the r)18(esour)18(ce.)]TJ --1.633 -1.6 Td -[(3. )-633(Otherwise,)-290(if )-40(the )-40(value )-40(of )-40(the )-40(semaphor)16(e)-290(is)-290(0,)-290(t)-1(he )-40(pr)18(ocess )-40(goes )-40(to )-40(sleep )-40(until )-40(the)]TJ -1.633 -1.2 Td -(semaphor)Tj -0.3995 Tc 4.392 0 Td -(ev)Tj -0 Tc 1.444 0 Td -[(alue )-149(is )-149(gr)18(eater )-149(than )-149(0.)-649(When )-149(the )-149(pr)15(ocess )-150(wakes )-150(up, )-150(it )-150(r)18(eturns )-150(to)]TJ --5.835 -1.2 Td -(step 1.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46925 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.7)]TJ -36.151 0 Td -[(Message )-250(Queues)]TJ -/T1_1 1 Tf -9.682 0 Td -(561)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(15.7 )-776(Messa)]TJ -0.01 Tc 6.047 0 Td -[(ge )-258(Q)]TJ -0 Tc 2.511 0 Td -(ueues)Tj -/T1_0 1 Tf -0.2955 Tc 9.9994 0 0 9.9994 129.5922 649.761 Tm -(Am)Tj -0 Tc 1.956 0 Td -[(essage )-45(queue )-45(is )-45(a )-45(linked )-45(list )-45(of )-45(messages )-45(stor)14(ed )-46(within )-46(the )-46(kernel )-46(and )-46(identi\336ed )-46(by)]TJ -0.279 Tc -1.956 -1.2 Td -(am)Tj -0 Tc 1.662 0 Td -[(essage )-29(queue )-29(identi\336er)]TJ -0.529 Tc 10.129 0 Td -(.W)Tj -0 Tc 1.687 0 Td -[(e\325ll )-29(call )-29(the )-29(message )-29(queue )-29(just )-29(a)]TJ -/T1_2 1 Tf -14.76 0 Td -(queue)Tj -/T1_0 1 Tf -2.632 0 Td -[(and )-29(its )-29(identi\336er )-29(a)]TJ -/T1_2 1 Tf --30.87 -1.2 Td -(queue ID)Tj -/T1_0 1 Tf -(.)Tj -7.9995 0 0 7.9995 183.5887 610.5634 Tm -[(The )-157(Single )-157(UNIX )-157(Speci\336cation )-157(message-passing )-157(option )-157(includes )-157(an )-157(alternative )-157(IPC )-157(message)]TJ -0 -1.25 TD -[(queue )-32(interface )-32(derived )-32(fr)17(om )-32(the )-32(POSIX )-32(r)18(eal-time )-32(extensions.)]TJ --0.092 Tc 27.795 0 Td -[(We )-216(d)]TJ -0.2823 Tc 2.28 0 Td -(on)Tj -0 Tc 1.41 0 Td -[(ot )-32(discuss )-32(it )-32(in )-32(this )-32(text.)]TJ -0.3723 Tc 9.9994 0 0 9.9994 147.5909 582.565 Tm -(An)Tj -0 Tc 1.732 0 Td -[(ew )-122(queue )-122(is )-122(cr)18(eated )-122(or )-122(an )-122(existing )-122(queue )-122(opened )-122(by)]TJ -/TT1 1 Tf -24.31 0 Td -(msgget)Tj -/T1_0 1 Tf -0.6223 Tc (.N)Tj -0 Tc 5.303 0 Td -[(ew )-122(messages)]TJ --33.146 -1.2 Td -(ar)Tj -0.2892 Tc 0.877 0 Td -(ea)Tj -0 Tc 1.268 0 Td -[(dded )-39(to )-39(the )-39(end )-39(of )-39(a )-39(queue )-39(by)]TJ -/TT1 1 Tf -13.768 0 Td -(msgsnd)Tj -/T1_0 1 Tf -0.5391 Tc (.E)Tj -0 Tc 5 0 Td -[(very )-39(message )-39(has )-39(a )-39(positive )-39(long )-39(integer)]TJ --20.913 -1.2 Td -[(type )-281(\336eld, )-281(a )-281(non-negative )-281(length, )-281(and )-281(the )-281(actual )-281(data )-281(bytes )-281(\(corr)20(esponding )-281(to )-281(the)]TJ -0 -1.2 TD -[(length\), )-128(all )-128(of )-128(which )-128(ar)]TJ -0.3776 Tc 10.48 0 Td -(es)Tj -0 Tc 1.281 0 Td -[(peci\336ed )-127(to)]TJ -/TT1 1 Tf -5.137 0 Td -(msgsnd)Tj -/T1_0 1 Tf -3.978 0 Td -[(when )-127(the )-127(message )-127(is )-127(added )-127(to )-127(a )-127(queue.)]TJ --20.875 -1.2 Td -[(Messages )-34(ar)]TJ -0.2843 Tc 5.393 0 Td -(ef)Tj -0 Tc 1.096 0 Td -[(etched )-34(fr)18(om )-34(a )-34(queue )-34(by)]TJ -/TT1 1 Tf -10.815 0 Td -(msgrcv)Tj -/T1_0 1 Tf -0.5343 Tc (.W)Tj -0.2843 Tc 5.292 0 Td -(ed)Tj -0 Tc 1.374 0 Td -[(on\325t )-34(have )-34(to )-34(fetch )-34(the )-34(messages )-34(in)]TJ -0.25 Tc -23.971 -1.2 Td -(a\336)Tj -0 Tc 1.355 0 Td -[(rst-in, \336rst-out or)18(der)]TJ -0.5 Tc 8.993 0 Td -(.I)Tj -0 Tc 1.087 0 Td -(nstead, we can fetch messages based on their type \336eld.)Tj --9.635 -1.2 Td -(Each queue has the following)Tj -/TT1 1 Tf -13.274 0 Td -(msqid_ds)Tj -/T1_0 1 Tf -5.05 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ssociated with it:)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5901 494.9402 Tm -(struct msqid_ds {)Tj -1.2 -1.189 Td -[(struct ipc_perm)-1200(msg_perm; )-2400(/*)-600(see Section 15.6.2 */)]TJ -0 -1.189 TD -[(msgqnum_t )-4200(msg_qnum;)-3000(/* # of messages on queue */)]TJ -T* -[(msglen_t )-4800(msg_qbytes;)-1800(/* max # of bytes on queue */)]TJ -T* -(pid_t )Tj -10.2 0 Td -[(msg_lspid;)-2400(/* pid of last msgsnd\(\) */)]TJ --10.2 -1.189 Td -(pid_t )Tj -10.2 0 Td -[(msg_lrpid;)-2400(/* pid of last msgrcv\(\) */)]TJ --10.2 -1.189 Td -(time_t )Tj -10.2 0 Td -[(msg_stime;)-2400(/* last-msgsnd\(\) time */)]TJ --10.2 -1.189 Td -(time_t )Tj -10.2 0 Td -[(msg_rtime;)-2400(/* last-msgrcv\(\) time */)]TJ --10.2 -1.189 Td -(time_t )Tj -10.2 0 Td -[(msg_ctime;)-2400(/* last-change time */)]TJ --10.2 -1.189 Td -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --1.2 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5912 362.4579 Tm -[(This )-17(str)8(uctur)]TJ -0.2674 Tc 5.667 0 Td -(ed)Tj -0 Tc 1.357 0 Td -[(e\336nes )-17(the )-17(curr)18(ent )-17(status )-17(of )-17(the )-17(queue.)-520(The )-17(members )-17(shown )-17(ar)]TJ -0.2673 Tc 27.544 0 Td -(et)Tj -0 Tc 1.072 0 Td -[(he )-17(ones)]TJ --35.641 -1.2 Td -[(de\336ned )-181(by )-181(the )-181(Single )-181(UNIX )-181(Speci\336cation.)-679(Implementations )-181(include )-181(additional )-181(\336elds)]TJ -0 -1.2 TD -[(not cover)18(ed by the standar)18(d.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1429.25 3221.25 cm -0 0 m -3634 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.09 Tc 7.999 0 0 7.999 398.8801 314.0423 Tm -(Ty)Tj -0 Tc 1.079 0 Td -(pical values)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3401.25 3101.25 cm -0 0 m -1662 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 346.0137 302.0256 Tm -[(Fr)18(eeBSD )-1664(Linux )-1664(Mac)-250(OS X)-1729(Solaris)]TJ -1.275 -1.25 Td -[(8.0 )-3241(3.2.0)-3149(10.6.8 )-3399(10)]TJ --17.052 1.375 Td -(Description)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1429.25 2881.25 cm -0 0 m -3634 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1429.25 2861.25 cm -0 0 m -3634 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 350.1959 278.0133 Tm -[(16,384 )-2616(8,192)-2649(16,384 )-2059(derived)]TJ --25.426 0 Td -[(size in bytes of lar)18(gest message we can send)]TJ -25.926 -1.25 Td -[(2,048 )-2116(16,384)-3149(2,048 )-2399(65,536)]TJ --25.926 0 Td -(maximum size in bytes of a particular queue \(i.e.,)Tj -1.35 -1.25 Td -(the sum of all the sizes of messages on the queue\))Tj -25.826 -1.25 Td -[(40 )-1775(derived)-4059(40 )-3649(128)]TJ --27.176 0 Td -(maximum number of messages queues, systemwide)Tj -27.175 -1.25 Td -[(40 )-1775(derived)-4059(40 )-2899(8,192)]TJ --27.176 0 Td -(maximum number of messages, systemwide)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1429.25 2341.25 cm -0 0 m -3634 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4689.25 2341.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4219.25 2341.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3825.25 2341.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3401.25 2341.25 cm -0 0 m -0 880 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5063.25 2341.25 cm -0 0 m -0 880 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1429.25 2341.25 cm -0 0 m -0 880 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 227.8596 216.0152 Tm -(Figure 15.26)Tj -/T1_0 1 Tf -6.195 0 Td -[(System limits that af)18(fect message queues)]TJ -9.997 0 0 9.997 147.5559 192.0224 Tm -(Figur)Tj -0.2985 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.278 0 Td -[(5.26 )-48(lists )-48(the )-48(system )-48(limits )-48(that )-48(af)18(fect )-48(message )-48(queues.)]TJ --0.092 Tc 24.701 0 Td -[(We )-232(s)]TJ -0 Tc 2.109 0 Td -[(how )-48(\324)37(\324derived\325)37(\325)]TJ --32.27 -1.2 Td -(wher)Tj -0.5083 Tc 2.272 0 Td -(eal)Tj -0 Tc 2.287 0 Td -[(imit )-258(is )-258(derived )-258(fr)18(om )-258(other )-258(limits.)-758(On )-258(Linux, )-258(for )-258(example, )-258(the )-258(maximum)]TJ --4.559 -1.2 Td -[(number )-130(of )-130(messages )-130(is )-130(based )-130(on )-130(the )-130(maximum )-130(number )-130(of )-130(queues )-130(and )-130(the )-130(maximum)]TJ -T* -[(amount )-127(of )-127(data )-127(allowed )-127(on )-127(the )-127(queues.)-628(The )-127(maximum )-127(number )-127(of )-127(queues, )-127(in )-127(turn, )-127(is)]TJ -T* -[(based )-105(on )-105(the )-105(amount )-105(of )-105(RAM )-105(installed )-105(in )-105(the )-105(system.)-605(Note )-105(that )-105(the )-105(queue )-105(maximum)]TJ -T* -(byte size limit further limits the maximum size of a message to be place\ d on a queue.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46926 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.6)]TJ -40.154 0 Td -[(XSI )-250(IPC)]TJ -/T1_1 1 Tf -5.679 0 Td -(559)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2720.25 6670.25 cm -0 0 m -1052 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 289.3066 658.9605 Tm -[(Permission )-3500(Bit)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2720.25 6550.25 cm -0 0 m -1052 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2720.25 6530.25 cm -0 0 m -1052 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 275.9749 644.9226 Tm -[(user)18(-r)18(ead)]TJ -/TT0 1 Tf -9.748 0 Td -(0400)Tj -/T1_0 1 Tf --9.748 -1.25 Td -[(user)18(-write \(alter\))]TJ -/TT0 1 Tf -9.748 0 Td -(0200)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2720.25 6310.25 cm -0 0 m -1052 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 275.9583 622.8879 Tm -[(gr)18(oup-r)18(ead)]TJ -/TT0 1 Tf -9.748 0 Td -(0040)Tj -/T1_0 1 Tf --9.748 -1.25 Td -[(gr)18(oup-write \(alter\))]TJ -/TT0 1 Tf -9.748 0 Td -(0020)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2720.25 6090.25 cm -0 0 m -1052 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 275.9418 600.8558 Tm -[(other)18(-r)18(ead)]TJ -/TT0 1 Tf -9.748 0 Td -(0004)Tj -/T1_0 1 Tf --9.748 -1.25 Td -[(other)18(-write \(alter\))]TJ -/TT0 1 Tf -9.748 0 Td -(0002)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2720.25 5870.25 cm -0 0 m -1052 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3480.25 5870.25 cm -0 0 m -0 800 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3772.25 5870.25 cm -0 0 m -0 800 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2720.25 5870.25 cm -0 0 m -0 800 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 263.6649 568.8293 Tm -(Figure 15.24)Tj -/T1_0 1 Tf -6.195 0 Td -(XSI IPC permissions)Tj -9.997 0 0 9.997 147.5559 544.8365 Tm -[(Some )-54(implementations )-54(de\336ne )-54(symbolic )-54(constants )-54(to )-54(r)18(epr)18(esent )-54(each )-54(permission, )-54(but)]TJ --1.8 -1.2 Td -(these constants ar)Tj -0.25 Tc 7.821 0 Td -(en)Tj -0 Tc 1.311 0 Td -[(ot standar)18(dized by the Single UNIX Speci\336cation.)]TJ -/TT1 1 Tf -11.9964 0 0 11.9964 129.5613 508.8473 Tm -[(15.6.3 )-556(Con\336guration)-556(Limits)]TJ -/T1_0 1 Tf -9.997 0 0 9.997 129.5613 484.8545 Tm -[(All )-123(thr)18(ee )-123(forms )-123(of )-123(XSI )-123(IPC )-123(have )-123(built-in )-123(limits )-123(that )-123(we )-123(may )-123(encounter)]TJ -0.6232 Tc 31.969 0 Td -(.M)Tj -0 Tc 1.819 0 Td -[(ost )-123(of )-123(these)]TJ --33.788 -1.2 Td -[(limits )-184(can )-184(be )-184(changed )-184(by )-184(r)18(econ\336guring )-184(the )-184(kernel.)]TJ --0.092 Tc 24.084 0 Td -[(We )-368(d)]TJ -0 Tc 2.432 0 Td -[(escribe )-184(the )-184(limits )-184(when )-184(we)]TJ --26.516 -1.2 Td -[(describe each of the thr)18(ee forms of IPC.)]TJ -7.9976 0 0 7.9976 183.5452 440.8677 Tm -[(Each )-176(platform )-176(pr)18(ovides )-176(its )-176(own )-176(way )-176(to )-176(r)19(eport )-176(and )-176(modify )-176(a )-176(particular )-176(limit.)-676(Fr)18(eeBSD )-176(8.0,)]TJ -0 -1.25 Td -[(Linux )-113(3.2.0, )-113(and )-113(Mac )-113(OS )-113(X )-113(10.6.8 )-113(pr)18(ovide )-113(the)]TJ -/TT0 1 Tf -21.038 0 Td -(sysctl)Tj -/T1_0 1 Tf -3.963 0 Td -[(command )-113(to )-113(view )-113(and )-113(modify )-113(kernel)]TJ --25.001 -1.25 Td -[(con\336guration )-236(parameters.)-737(On )-237(Solaris )-237(10, )-237(changes )-237(to )-237(kernel )-237(IPC )-237(limits )-237(ar)]TJ -0.4866 Tc 34.168 0 Td -(em)Tj -0 Tc 1.849 0 Td -[(ade )-237(with )-237(the)]TJ -/TT0 1 Tf --36.017 -1.25 Td -(prctl)Tj -/T1_0 1 Tf -3.25 0 Td -(command.)Tj --3.25 -1.875 Td -[(On )-68(Linux, )-68(you )-68(can )-68(display )-68(the )-68(IPC-r)15(elated )-68(limits )-68(by )-68(r)7(unning)]TJ -/TT0 1 Tf -27.541 0 Td -[(ipcs )267(-l)]TJ -/T1_0 1 Tf -0.5684 Tc (.O)Tj -0.3184 Tc 5.538 0 Td -(nF)Tj --0.018 Tc 1.456 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD )-68(and )-68(Mac)]TJ --35.392 -1.25 Td -[(OS )-351(X, )-351(the )-351(equivalent )-351(command )-351(is)]TJ -/TT0 1 Tf -17.062 0 Td -[(ipcs )267(-T)]TJ -/T1_0 1 Tf -0.8511 Tc (.O)Tj -0.6011 Tc 5.82 0 Td -(nS)Tj -0 Tc 1.708 0 Td -[(olaris, )-351(you )-351(can )-351(discover )-351(the )-351(tunable)]TJ --24.59 -1.25 Td -[(parameters by r)8(unning)]TJ -/TT0 1 Tf -10.424 0 Td -[(sysdef )267(-i)]TJ -/T1_0 1 Tf -(.)Tj -/TT1 1 Tf -11.9964 0 0 11.9964 129.561 347.8956 Tm -[(15.6.4 )-556(Ad)]TJ --0.02 Tc 4.932 0 Td -(va)Tj -0 Tc 1.092 0 Td -(nta)Tj -0.01 Tc 1.49 0 Td -(ge)Tj -0.556 Tc 1.177 0 Td -(sa)Tj -0 Tc 1.668 0 Td -[(nd )-278(Disad)]TJ --0.02 Tc 4.486 0 Td -(va)Tj -0 Tc 1.092 0 Td -(nta)Tj -0.01 Tc 1.49 0 Td -(ge)Tj -0 Tc 1.177 0 Td -(s)Tj -/T1_0 1 Tf -0.2999 Tc 9.997 0 0 9.997 129.5606 323.9028 Tm -(Af)Tj -0 Tc 1.411 0 Td -[(undamental )-50(pr)18(oblem )-50(with )-50(XSI )-50(IPC )-50(is )-50(that )-50(the )-50(IPC )-50(str)9(uctur)18(es )-50(ar)]TJ -0.2998 Tc 28.054 0 Td -(es)Tj -0 Tc 1.203 0 Td -[(ystemwide )-50(and )-50(do)]TJ --30.668 -1.2 Td -[(not )-177(have )-177(a )-177(r)17(efer)18(ence )-177(count.)-678(For )-178(example, )-178(if )-178(we )-178(cr)18(eate )-178(a )-178(message )-178(queue, )-178(place )-178(some)]TJ -0 -1.2 Td -[(messages )-40(on )-40(the )-40(queue, )-40(and )-40(then )-40(terminate, )-40(the )-40(message )-40(queue )-40(and )-40(its )-40(contents )-40(ar)]TJ -0.29 Tc 36.777 0 Td -(en)Tj -0 Tc 1.351 0 Td -(ot)Tj --38.128 -1.2 Td -[(deleted. )-353(They)]TJ --0.018 Tc 6.712 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(main )-103(in )-103(the )-103(system )-103(until )-103(speci\336cally )-103(r)17(ead )-103(or )-103(deleted )-103(by )-103(some )-103(pr)17(ocess)]TJ --7.568 -1.2 Td -(calling)Tj -/TT0 1 Tf -3.342 0 Td -(msgrcv)Tj -/T1_0 1 Tf -3.987 0 Td -(or)Tj -/TT0 1 Tf -1.328 0 Td -(msgctl)Tj -/T1_0 1 Tf -[(,)-387(by)-387(someone )-137(executing )-137(the)]TJ -/TT0 1 Tf -16.495 0 Td -(ipcrm)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.72 -0.04 Td -[(command, )-137(or )-137(by )-137(the)]TJ --29.704 -1.2 Td -[(system )-66(being )-66(r)17(ebooted. )-316(Compar)]TJ -0.3163 Tc 14.535 0 Td -(et)Tj -0 Tc 1.121 0 Td -[(his )-66(with )-66(a )-66(pipe, )-66(which )-66(is )-66(completely )-66(r)16(emoved )-66(when)]TJ --15.656 -1.2 Td -[(the )-59(last )-59(pr)18(ocess )-59(to )-59(r)17(efer)18(ence )-59(it )-59(terminates.)]TJ --0.055 Tc 19.09 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-59(a )-59(FIFO, )-59(although )-59(the )-59(name )-59(stays )-59(in )-59(the)]TJ --20.326 -1.2 Td -[(\336le )-116(system )-116(until )-116(explicitly )-116(r)18(emoved, )-116(any )-116(data )-116(left )-116(in )-116(a )-116(FIFO )-116(is )-116(r)17(emoved )-116(when )-116(the )-116(last)]TJ -0 -1.2 TD -[(pr)18(ocess to r)18(efer)18(ence the FIFO terminates.)]TJ -1.8 -1.2 Td -[(Another )-29(pr)18(oblem )-29(with )-29(XSI )-29(IPC )-29(is )-29(that )-29(these )-29(IPC )-29(str)11(uctur)18(es )-29(ar)]TJ -0.2786 Tc 27.076 0 Td -(en)Tj -0 Tc 1.34 0 Td -[(ot )-29(known )-29(by )-29(names)]TJ --30.215 -1.2 Td -[(in )-51(the )-51(\336le )-51(system.)]TJ --0.092 Tc 8.431 0 Td -[(We )-235(c)]TJ -0 Tc 2.132 0 Td -[(an\325t )-51(access )-51(them )-51(and )-51(modify )-51(their )-51(pr)18(operties )-51(with )-51(the )-51(functions)]TJ --10.563 -1.2 Td -[(we )-70(described )-70(in )-70(Chapters )-70(3 )-70(and )-70(4.)-571(Almost )-70(a )-70(dozen )-70(new )-70(system )-70(calls )-70(\()]TJ -/TT0 1 Tf -31.58 0 Td -(msgget)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.17 0 Td -(semop)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf --35.75 -1.2 Td -(shmat)Tj -/T1_0 1 Tf -0.3056 Tc (,a)Tj -0 Tc 4.056 0 Td -[(nd )-56(so )-56(on\) )-56(wer)]TJ -0.3057 Tc 6.231 0 Td -(ea)Tj -0 Tc 1.285 0 Td -[(dded )-56(to )-56(the )-56(kernel )-56(to )-56(support )-56(these )-56(IPC )-56(objects.)]TJ --0.092 Tc 21.918 0 Td -[(We )-240(c)]TJ -0 Tc 2.137 0 Td -[(an\325t )-56(see)]TJ --35.626 -1.2 Td -[(the )-9(IPC )-9(objects )-9(with )-9(an)]TJ -/TT0 1 Tf -10.455 0 Td -(ls)Tj -/T1_0 1 Tf -1.459 0 Td -[(command, )-9(we )-9(can\325t )-9(r)17(emove )-9(them )-9(with )-9(the)]TJ -/TT0 1 Tf -18.976 0 Td -(rm)Tj -/T1_0 1 Tf -1.459 0 Td -[(command, )-9(and)]TJ --32.349 -1.2 Td -[(we )-343(can\325t )-343(change )-343(their )-343(permissions )-343(with )-343(the)]TJ -/TT0 1 Tf -21.569 0 Td -(chmod)Tj -/T1_0 1 Tf -3.593 0 Td -[(command. )-593(Instead,)-593(two )-343(new)]TJ --25.162 -1.2 Td -[(commands )167(\321)]TJ -/TT0 1 Tf -6.04 0 Td -(ipcs)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(ipcrm)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.0833 Tc 0.416 -0.04 Td -(\321w)Tj -0 Tc 1.917 0 Td -(er)Tj -0.25 Tc 0.856 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(dded.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46927 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(558)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(then)Tj -/TT0 1 Tf -2.23 0 Td -(ftok)Tj -/T1_1 1 Tf -2.661 0 Td -[(usually )-11(r)18(eturns )-11(two )-11(dif)18(fer)18(ent )-11(keys )-11(for )-11(the )-11(two )-11(pathnames.)-510(However)]TJ -0.261 Tc 30.116 0 Td -(,b)Tj -0 Tc 1.064 0 Td -(ecause)Tj --36.071 -1.2 Td -[(both )-136(i-node )-136(numbers )-136(and )-136(keys )-136(ar)]TJ -0.3864 Tc 15.285 0 Td -(eo)Tj -0 Tc 1.411 0 Td -[(ften )-136(stor)18(ed )-136(in )-136(long )-136(integers, )-136(information )-136(loss )-136(can)]TJ --16.696 -1.2 Td -[(occur )-112(when )-112(cr)18(eating )-112(a )-112(key)]TJ -0.6118 Tc 11.891 0 Td -(.T)Tj -0 Tc 1.475 0 Td -[(his )-112(means )-112(that )-112(two )-112(dif)19(fer)18(ent )-112(pathnames )-112(to )-112(dif)18(fer)18(ent )-112(\336les)]TJ --13.366 -1.2 Td -[(can generate the same key if the same pr)18(oject ID is used.)]TJ -1.8 -1.2 Td -[(The )-269(thr)18(ee)]TJ -/TT0 1 Tf -4.954 0 Td -(get)Tj -/T1_1 1 Tf -2.319 0 Td -[(functions )-269(\()]TJ -/TT0 1 Tf -(msgget)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -9.351 0 Td -(semget)Tj -/T1_1 1 Tf -0.5185 Tc (,a)Tj -0 Tc 4.869 0 Td -(nd)Tj -/TT0 1 Tf -1.711 0 Td -(shmget)Tj -/T1_1 1 Tf -0.5185 Tc (\)a)Tj -0 Tc 4.951 0 Td -[(ll )-268(have )-268(two )-268(similar)]TJ --29.955 -1.2 Td -[(ar)18(guments: )-157(a)]TJ -/T1_2 1 Tf -6.294 0 Td -(key)Tj -/T1_1 1 Tf -1.74 0 Td -[(and )-157(an )-157(integer)]TJ -/T1_2 1 Tf -7.104 0 Td -(\337ag)Tj -/T1_1 1 Tf -0.6571 Tc (.A)Tj -0 Tc 3.581 0 Td -[(new )-157(IPC )-157(str)8(uctur)18(e)-407(is)-407(c)]TJ --0.018 Tc (re)Tj -0 Tc 11.157 0 Td -[(ated )-157(\(normally )-157(by )-157(a)]TJ --29.877 -1.2 Td -[(server\) )-200(if )-200(either)]TJ -/T1_2 1 Tf -7.596 0 Td -(key)Tj -/T1_1 1 Tf -1.783 0 Td -(is)Tj -/TT0 1 Tf -1.165 0 Td -(IPC_PRIVATE)Tj -/T1_1 1 Tf -7.05 0 Td -(or)Tj -/T1_2 1 Tf -1.391 0 Td -(key)Tj -/T1_1 1 Tf -1.783 0 Td -[(is )-200(not )-200(curr)18(ently )-200(associated )-200(with )-200(an )-200(IPC)]TJ --20.768 -1.2 Td -[(str)8(uctur)18(e)-299(of)-299(t)-1(he )-49(particular )-49(type )-49(and )-49(the)]TJ -/TT0 1 Tf -17.72 0 Td -(IPC_CREAT)Tj -/T1_1 1 Tf -5.7 0 Td -[(bit )-50(of)]TJ -/T1_2 1 Tf -2.648 0 Td -(\337ag)Tj -/T1_1 1 Tf -1.789 0 Td -[(is )-50(speci\336ed.)]TJ --0.092 Tc 5.748 0 Td -[(To )-234(r)]TJ -0 Tc 1.744 0 Td -[(efer)18(ence)]TJ --35.348 -1.2 Td -[(an )-25(existing )-25(queue )-25(\(normally )-25(done )-25(by )-25(a )-25(client\),)]TJ -/T1_2 1 Tf -20.67 0 Td -(key)Tj -/T1_1 1 Tf -1.608 0 Td -[(must )-25(equal )-25(the )-25(key )-25(that )-25(was )-25(speci\336ed)]TJ --22.278 -1.2 Td -[(when the queue was cr)18(eated, and)]TJ -/TT0 1 Tf -15.005 0 Td -(IPC_CREAT)Tj -/T1_1 1 Tf -5.65 0 Td -(must not be speci\336ed.)Tj --18.855 -1.2 Td -[(Note )-278(that )-278(it\325s )-278(never )-278(possible )-278(to )-278(specify)]TJ -/TT0 1 Tf -19.04 0 Td -(IPC_PRIVATE)Tj -/T1_1 1 Tf -7.128 0 Td -[(to )-278(r)18(efer)18(ence )-278(an )-278(existing)]TJ --27.968 -1.2 Td -[(queue, )-35(since )-35(this )-35(special)]TJ -/T1_2 1 Tf -10.986 0 Td -(key)Tj -/T1_1 1 Tf -1.618 0 Td -[(value )-35(always )-35(cr)18(eates )-35(a )-35(new )-35(queue.)]TJ --0.092 Tc 15.899 0 Td -[(To )-219(r)]TJ -0 Tc 1.729 0 Td -[(efer)18(ence )-35(an )-35(existing)]TJ --30.232 -1.2 Td -[(queue )-209(that )-209(was )-209(cr)18(eated )-209(with )-209(a)]TJ -/T1_2 1 Tf -14.722 0 Td -(key)Tj -/T1_1 1 Tf -1.792 0 Td -(of)Tj -/TT0 1 Tf -1.339 0 Td -(IPC_PRIVATE)Tj -/T1_1 1 Tf -[(,)-460(we)-460(m)1(ust )-210(know )-210(the )-210(associated)]TJ --17.853 -1.2 Td -[(identi\336er )-263(and )-263(then )-263(use )-263(that )-263(identi\336er )-263(in )-263(the )-263(other )-263(IPC )-263(calls )-263(\(such )-263(as)]TJ -/TT0 1 Tf -33.194 0 Td -(msgsnd)Tj -/T1_1 1 Tf -4.114 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(msgrcv)Tj -/T1_1 1 Tf -(\), bypassing the)Tj -/TT0 1 Tf -10.807 0 Td -(get)Tj -/T1_1 1 Tf -2.05 0 Td -(function.)Tj --11.057 -1.2 Td -[(If )-115(we )-115(want )-115(to )-115(cr)16(eate )-115(a )-115(new )-115(IPC )-115(str)6(uctur)18(e, )-115(making )-115(sur)]TJ -0.3655 Tc 24.393 0 Td -(et)Tj -0 Tc 1.171 0 Td -[(hat )-115(we )-115(don\325t )-115(r)17(efer)18(ence )-115(an)]TJ --27.363 -1.2 Td -[(existing )-71(one )-71(with )-71(the )-71(same )-71(identi\336er)74(,)-321(we)-321(must )-71(specify )-71(a)]TJ -/T1_2 1 Tf -25.4 0 Td -(\337ag)Tj -/T1_1 1 Tf -1.81 0 Td -[(with )-71(both )-71(the)]TJ -/TT0 1 Tf -6.39 0 Td -(IPC_CREAT)Tj -/T1_1 1 Tf --33.6 -1.2 Td -(and)Tj -/TT0 1 Tf -1.946 0 Td -(IPC_EXCL)Tj -/T1_1 1 Tf -5.053 0 Td -[(bits )-3(set.)-503(Doing )-3(this )-3(causes )-3(an )-3(err)18(or )-3(r)18(eturn )-3(of)]TJ -/TT0 1 Tf -19.76 0 Td -(EEXIST)Tj -/T1_1 1 Tf -3.853 0 Td -[(if )-3(the )-3(IPC )-3(str)8(uctur)18(e)]TJ --30.611 -1.2 Td -[(alr)18(eady )-210(exists.)-710(\(This )-210(is )-210(similar )-210(to )-210(an)]TJ -/TT0 1 Tf -17.48 0 Td -(open)Tj -/T1_1 1 Tf -2.86 0 Td -[(that )-210(speci\336es )-210(the)]TJ -/TT0 1 Tf -8.247 0 Td -(O_CREAT)Tj -/T1_1 1 Tf -4.66 0 Td -(and)Tj -/TT0 1 Tf -2.153 0 Td -(O_EXCL)Tj -/T1_1 1 Tf --35.4 -1.2 Td -(\337ags.\))Tj -/TT1 1 Tf -11.9993 0 0 11.9993 129.5941 410.9753 Tm -[(15.6.2 )-556(P)30(ermission )-278(Structure)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5941 386.9768 Tm -[(XSI )-257(IPC )-257(associates )-257(an)]TJ -/TT0 1 Tf -10.647 0 Td -(ipc_perm)Tj -/T1_1 1 Tf -5.307 0 Td -[(str)8(uctur)]TJ -0.5069 Tc 3.49 0 Td -(ew)Tj -0 Tc 1.82 0 Td -[(ith )-257(each )-257(IPC )-257(str)8(uctur)18(e. )-507(This)-507(str)8(uctur)18(e)]TJ --21.263 -1.2 Td -(de\336nes the permissions and owner and includes at least the following \ members:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5931 356.1388 Tm -(struct ipc_perm {)Tj -1.2 -1.189 Td -[(uid_t )-600(uid; )-600(/*)-600(owner\325s effective user ID */)]TJ -0 -1.189 TD -[(gid_t )-600(gid; )-600(/*)-600(owner\325s effective group ID */)]TJ -T* -[(uid_t )-600(cuid;)-600(/* creator\325s effective user ID */)]TJ -T* -[(gid_t )-600(cgid;)-600(/* creator\325s effective group ID */)]TJ -0 -1.189 TD -(mode_t mode; /* access modes */)Tj -0 -1.189 TD -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5942 252.545 Tm -[(Each )-31(implementation )-31(includes )-31(additional )-31(members.)-531(See)]TJ -/TT0 1 Tf -25.237 0 Td -()Tj -/T1_1 1 Tf -6.881 0 Td -[(on )-31(your )-31(system)]TJ --32.118 -1.2 Td -(for the complete de\336nition.)Tj -1.8 -1.2 Td -[(All )-95(the )-95(\336elds )-95(ar)]TJ -0.3455 Tc 7.071 0 Td -(ei)Tj -0 Tc 1.116 0 Td -[(nitialized )-95(when )-95(the )-95(IPC )-95(str)6(uctur)18(e)-345(is)-345(c)]TJ --0.018 Tc 16.877 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ated. )-346(At)]TJ -0.3456 Tc 4.211 0 Td -(al)Tj -0 Tc 1.137 0 Td -[(ater )-96(time, )-96(we)]TJ --33.067 -1.2 Td -[(can )-64(modify )-64(the)]TJ -/TT0 1 Tf -7.074 0 Td -(uid)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.364 0 Td -(gid)Tj -/T1_1 1 Tf -0.3137 Tc (,a)Tj -0 Tc 2.864 0 Td -(nd)Tj -/TT0 1 Tf -1.507 0 Td -(mode)Tj -/T1_1 1 Tf -2.714 0 Td -[(\336elds )-64(by )-64(calling)]TJ -/TT0 1 Tf -7.415 0 Td -(msgctl)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.164 0 Td -(semctl)Tj -/T1_1 1 Tf -0.3137 Tc (,o)Tj -0 Tc 4.71 0 Td -(r)Tj -/TT0 1 Tf -0.709 0 Td -(shmctl)Tj -/T1_1 1 Tf -0.5637 Tc (.T)Tj -0 Tc 4.935 0 Td -(o)Tj --38.454 -1.2 Td -[(change )-83(these )-83(values, )-83(the )-83(calling )-83(pr)18(ocess )-83(must )-83(be )-83(either )-83(the )-83(cr)18(eator )-83(of )-83(the )-83(IPC )-83(str)11(uctur)18(e)]TJ -0 -1.2 TD -[(or the super)8(user)]TJ -0.5 Tc 7.149 0 Td -(.C)Tj -0 Tc 1.459 0 Td -(hanging these \336elds is similar to calling)Tj -/TT0 1 Tf -17.716 0 Td -(chown)Tj -/T1_1 1 Tf -3.25 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(chmod)Tj -/T1_1 1 Tf -3.25 0 Td -(for a \336le.)Tj --32.215 -1.2 Td -[(The )-11(values )-11(in )-11(the)]TJ -/TT0 1 Tf -7.84 0 Td -(mode)Tj -/T1_1 1 Tf -2.661 0 Td -[(\336eld )-11(ar)]TJ -0.2609 Tc 3.124 0 Td -(es)Tj -0 Tc 1.164 0 Td -[(imilar )-11(to )-11(the )-11(values )-11(we )-11(saw )-11(in )-11(Figur)]TJ -0.2608 Tc 15.925 0 Td -(e4)Tj -0 Tc 1.24 0 Td -[(.6, )-11(but )-11(ther)18(e)]TJ --33.753 -1.2 Td -[(is )-188(nothing )-188(corr)18(esponding )-188(to )-188(execute )-188(permission )-188(for )-188(any )-188(of )-188(the )-188(IPC )-188(str)3(uctur)18(es. )-438(Also,)]TJ -0 -1.2 Td -[(message )-78(queues )-78(and )-78(shar)18(ed )-78(memory )-78(use )-78(the )-78(terms)]TJ -/T1_2 1 Tf --0.018 Tc 23.322 0 Td -(re)Tj -0 Tc 0.76 0 Td -(ad)Tj -/T1_1 1 Tf -1.271 0 Td -(and)Tj -/T1_2 1 Tf -2.021 0 Td -(write)Tj -/T1_1 1 Tf -0.3275 Tc (,b)Tj -0 Tc 3.242 0 Td -[(ut )-77(semaphor)18(es )-77(use)]TJ --30.615 -1.2 Td -(the terms)Tj -/T1_2 1 Tf --0.018 Tc 4.394 0 Td -(re)Tj -0 Tc 0.76 0 Td -(ad)Tj -/T1_1 1 Tf -1.194 0 Td -(and)Tj -/T1_2 1 Tf -1.943 0 Td -(alter)Tj -/T1_1 1 Tf -0.5 Tc (.F)Tj -0 Tc 3.139 0 Td -(igur)Tj -0.25 Tc 1.827 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.24 shows the six permissions for each form of IPC.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46928 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(556)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2310 4982 432 288 re -S -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 242.9334 510.8093 Tm -(client)Tj -/T1_0 1 Tf -0.25 Tc 9.9994 0 0 9.9994 318.3309 510.8093 Tm -(...)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -3750 4982 432 288 re -S -Q -BT -/T1_1 1 Tf -0 Tc 7.999 0 0 7.999 386.9016 510.7787 Tm -(client)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2994 5774 504 216 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 303.2334 591.3335 Tm -(well-known)Tj -1.547 -1.25 Td -(FIFO)Tj -ET -q -0.99982 0 0 0.99982 0 0 cm -q 1 0 0 1 324.6 635 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -1 j 1 J -q 1 0 0 1 3246 6350 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 5990.25 cm -0 0 m -0 288 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -3030 6350 432 288 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 313.5767 647.4846 Tm -(server)Tj -/TT0 1 Tf --1.292 -4.05 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.9 0 Td -(re)Tj -0 Tc 0.856 0 Td -(quests)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2058 5774 504 216 re -S -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 206.8019 591.2626 Tm -(client-speci\336c)Tj -1.9 -1.25 Td -(FIFO)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -3930 5774 504 216 re -S -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 393.9222 591.2271 Tm -(client-speci\336c)Tj -1.9 -1.25 Td -(FIFO)Tj -ET -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 231 599 cm -0 0 m -4.896 5.616 l -6.984 2.664 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 2310 5990 cm -0 0 m -48.96 56.16 l -69.84 26.64 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2369.25 6031.25 cm -0 0 m -661 463 l -S -Q -Q -BT -/TT0 1 Tf -6.5511 4.5858 -4.5858 6.5511 244.7482 612.3937 Tm -(write)Tj -/T1_1 1 Tf --0.018 Tc 3.25 0 Td -(re)Tj -0 Tc 0.856 0 Td -(plies)Tj -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 418.2 599 cm -0 0 m --6.912 2.664 l --4.824 5.616 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 4182 5990 cm -0 0 m --69.12 26.64 l --48.24 56.16 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3462.25 6494.25 cm -0 0 m -661 -463 l -S -Q -Q -BT -/TT0 1 Tf -6.5508 -4.5855 4.5855 6.5508 363.5924 640.7504 Tm -(write)Tj -/T1_1 1 Tf --0.018 Tc 3.25 -0 Td -(re)Tj -0 Tc 0.856 -0 Td -(plies)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 245.4 527 cm -0 0 m --3.744 6.408 l --0.288 7.416 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 2454 5270 cm -0 0 m --37.44 64.08 l --2.88 74.16 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2310.25 5774.25 cm -0 0 m -124 -435 l -S -Q -Q -BT -/TT0 1 Tf -7.9957 0 0 7.9957 191.3606 550.1428 Tm -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.65 0 Td -(re)Tj -0 Tc 0.856 0 Td -(plies)Tj -ET -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 403.8 527 cm -0 0 m -0.216 7.416 l -3.672 6.408 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 4038 5270 cm -0 0 m -2.16 74.16 l -36.72 64.08 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4182.25 5774.25 cm -0 0 m --125 -435 l -S -Q -Q -BT -/TT0 1 Tf -7.9952 0 0 7.9952 412.7523 550.1098 Tm -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.65 0 Td -(re)Tj -0 Tc 0.856 0 Td -(plies)Tj -ET -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 316.176 577.4 cm -0 0 m --4.176 -6.12 l --6.552 -3.456 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 3161.76 5774 cm -0 0 m --41.76 -61.2 l --65.52 -34.56 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2598.25 5270.25 cm -0 0 m -510 456 l -S -Q -Q -BT -/TT0 1 Tf -5.9613 5.3271 -5.3271 5.9613 265.045 535.8122 Tm -(write)Tj -/T1_1 1 Tf --0.018 Tc 3.25 0 Td -(re)Tj -0 Tc 0.856 0 Td -(quests)Tj -ET -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 333.024 577.4 cm -0 0 m -6.552 -3.456 l -4.176 -6.12 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 3330.24 5774 cm -0 0 m -65.52 -34.56 l -41.76 -61.2 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3383.25 5726.25 cm -0 0 m -511 -456 l -S -Q -Q -BT -/TT0 1 Tf -5.9609 -5.3268 5.3268 5.9609 342.4423 572.6525 Tm -(write)Tj -/T1_1 1 Tf --0.018 Tc 3.25 -0 Td -(re)Tj -0 Tc 0.856 0 Td -(quests)Tj -/T1_0 1 Tf -7.9942 0 0 7.9942 224.854 472.6596 Tm -(Figure 15.23)Tj -/T1_1 1 Tf -6.195 0 Td -(Client\320server communication using FIFOs)Tj -9.9928 0 0 9.9928 129.5069 448.6768 Tm -[(server )-135(also )-135(must )-135(catch)]TJ -/TT0 1 Tf -10.57 0 Td -(SIGPIPE)Tj -/T1_1 1 Tf -0.385 Tc (,s)Tj -0 Tc 5.259 0 Td -[(ince )-135(it\325s )-135(possible )-135(for )-135(a )-135(client )-135(to )-135(send )-135(a )-135(r)18(equest )-135(and)]TJ --15.829 -1.2 Td -[(terminate )-91(befor)]TJ -0.3407 Tc 6.89 0 Td -(er)Tj -0 Tc 1.197 0 Td -[(eading )-91(the )-91(r)19(esponse, )-91(leaving )-91(the )-91(client-speci\336c )-91(FIFO )-91(with )-91(one )-91(writer)]TJ --8.086 -1.2 Td -[(\(the server\) and no r)18(eader)74(.)]TJ --0.055 Tc 1.8 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-170(the )-170(arrangement )-170(shown )-170(in )-170(Figur)]TJ -0.42 Tc 16.296 0 Td -(e1)Tj -0 Tc 1.399 0 Td -[(5.23, )-170(if )-170(the )-170(server )-170(opens )-170(its )-170(well-known)]TJ --20.731 -1.2 Td -[(FIFO )-13(r)18(ead-only )-13(\(since )-13(it )-13(only)]TJ -/TT0 1 Tf -12.97 0 Td -(read)Tj -/T1_1 1 Tf -0.2629 Tc (sf)Tj --0.018 Tc 3.42 0 Td -(ro)Tj -0.2629 Tc 0.923 0 Td -(mi)Tj -0 Tc 1.437 0 Td -[(t\) )-13(each )-13(time )-13(the )-13(number )-13(of )-13(clients )-13(goes )-13(fr)19(om )-13(1)]TJ --18.749 -1.2 Td -[(to )-32(0, )-32(the )-32(server )-32(will)]TJ -/TT0 1 Tf -8.862 0 Td -(read)Tj -/T1_1 1 Tf -2.682 0 Td -[(an )-32(end )-32(of )-32(\336le )-32(on )-32(the )-32(FIFO.)]TJ --0.092 Tc 12.231 0 Td -[(To )-216(p)]TJ --0.018 Tc 1.95 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(vent )-32(the )-32(server )-32(fr)18(om )-32(having)]TJ --26.581 -1.2 Td -[(to )-34(handle )-34(this )-34(case, )-34(a )-34(common )-34(trick )-34(is )-34(just )-34(to )-34(have )-34(the )-34(server)]TJ -/TT0 1 Tf -27.145 0 Td -(open)Tj -/T1_1 1 Tf -2.684 0 Td -[(its )-34(well-known )-34(FIFO)]TJ --29.829 -1.2 Td -[(for r)18(ead\320write. )-250(\(See)-250(Exer)18(cise 15.10.\))]TJ -ET -q -0.099928 0 0 0.099928 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3650.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9906 0 0 11.9906 93.527 328.7435 Tm -[(15.6 )-776(XSI)-556(IPC)]TJ -/T1_1 1 Tf -9.9922 0 0 9.9922 129.4989 304.7622 Tm -[(The )-50(thr)18(ee )-50(types )-50(of )-50(IPC )-50(that )-50(we )-50(call )-50(XSI )-50(IPC)]TJ -0.0833 Tc 19.365 0 Td -(\321m)Tj -0 Tc 1.966 0 Td -[(essage )-50(queues, )-50(semaphor)18(es, )-50(and )-50(shar)20(ed)]TJ --21.331 -1.2 Td -[(memory )167(\321 )167(have)-254(many )-3(similarities.)-503(In )-3(this )-3(section, )-3(we )-3(cover )-3(these )-3(similar )-3(featur)18(es; )-3(in )-3(the)]TJ -0 -1.2 Td -[(following sections, we look at the speci\336c functions for each of the \ thr)18(ee IPC types.)]TJ -7.9938 0 0 7.9938 183.4569 260.7965 Tm -[(The )-79(XSI )-79(IPC )-79(functions )-79(ar)]TJ -0.3291 Tc 11.177 0 Td -(eb)Tj -0 Tc 1.361 0 Td -[(ased )-79(closely )-79(on )-79(the )-79(System )-79(V )-79(IPC )-79(functions.)-579(These )-79(thr)18(ee )-79(types )-79(of)]TJ --12.539 -1.25 Td -[(IPC )-9(originated )-9(in )-9(the )-9(1970s )-9(in )-9(an )-9(internal )-9(A)74(T&T )-9(version )-9(of )-9(the )-9(UNIX )-9(System )-9(called )-9(\324)43(\324Columbus)]TJ -0 -1.25 TD -(UNIX.\325)Tj -0.7709 Tc 3.104 0 Td -(\325T)Tj -0 Tc 1.662 0 Td -[(hese )-271(IPC )-271(featur)18(es )-271(wer)]TJ -0.5209 Tc 10.388 0 Td -(el)Tj -0 Tc 1.291 0 Td -[(ater )-271(added )-271(to )-271(System )-271(V)]TJ -0.7709 Tc 11.254 0 Td -(.T)Tj -0 Tc 1.634 0 Td -[(hey )-271(ar)]TJ -0.5209 Tc 3.015 0 Td -(eo)Tj -0 Tc 1.546 0 Td -[(ften )-271(criticized )-271(for)]TJ --33.893 -1.25 Td -(inventing their own namespace instead of using the \336le system.)Tj -/TT1 1 Tf -11.9906 0 0 11.9906 129.4992 198.8448 Tm -[(15.6.1 )-556(Identi\336er)]TJ -0.556 Tc 7.822 0 Td -(sa)Tj -0 Tc 1.668 0 Td -[(nd )-278(K)]TJ --0.015 Tc 2.485 0 Td -(ey)Tj -0 Tc 1.097 0 Td -(s)Tj -/T1_1 1 Tf -9.9922 0 0 9.9922 129.4993 174.8635 Tm -(Each)Tj -/T1_2 1 Tf -2.626 0 Td -[(IPC )-239(structur)18(e)]TJ -/T1_1 1 Tf -6.312 0 Td -[(\(message )-239(queue, )-239(semaphor)18(e, )-239(or )-239(shar)18(ed )-239(memory )-239(segment\) )-239(in )-239(the)]TJ --8.938 -1.2 Td -[(kernel )-34(is )-34(r)19(eferr)18(ed )-34(to )-34(by )-34(a )-34(non-negative )-34(integer)]TJ -/T1_2 1 Tf -20.706 0 Td -(identi\336er)Tj -/T1_1 1 Tf -0.5336 Tc (.T)Tj -0.2836 Tc 4.945 0 Td -(os)Tj -0 Tc 1.254 0 Td -[(end )-34(a )-34(message )-34(to )-34(or )-34(fetch )-34(a)]TJ --26.904 -1.2 Td -[(message )-66(fr)18(om )-66(a )-66(message )-66(queue, )-66(for )-66(example, )-66(all )-66(we )-66(need )-66(know )-66(is )-66(the )-66(identi\336er )-66(for )-66(the)]TJ -0 -1.2 TD -[(queue. )-379(Unlike)-379(\336le )-129(descriptors, )-129(IPC )-129(identi\336ers )-129(ar)]TJ -0.379 Tc 22.046 0 Td -(en)Tj -0 Tc 1.44 0 Td -[(ot )-129(small )-129(integers.)-629(Indeed, )-129(when )-129(a)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46929 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(552)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(If )-191(we )-191(invoke )-191(this )-191(new )-191(copr)16(ocess )-192(fr)18(om )-192(the )-192(pr)18(ogram )-192(in )-192(Figur)]TJ -0.4416 Tc 27.86 0 Td -(e1)Tj -0 Tc 1.421 0 Td -[(5.18, )-192(it )-192(no )-192(longer)]TJ --31.081 -1.2 Td -[(works. )-506(The)-505(pr)18(oblem )-256(is )-256(the )-256(default )-256(standar)]TJ -0.5057 Tc 20.258 0 Td -(dI)Tj -0 Tc 1.454 0 Td -[(/O )-256(buf)18(fering. )-506(When)-505(the )-256(pr)18(ogram )-256(in)]TJ --21.712 -1.2 Td -(Figur)Tj -0.3132 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.292 0 Td -[(5.19 )-63(is )-63(invoked, )-63(the )-63(\336rst)]TJ -/TT0 1 Tf -11.049 0 Td -(fgets)Tj -/T1_1 1 Tf -3.313 0 Td -[(on )-63(the )-63(standar)]TJ -0.3133 Tc 6.462 0 Td -(di)Tj -0 Tc 1.215 0 Td -[(nput )-63(causes )-63(the )-63(standar)]TJ -0.3133 Tc 10.633 0 Td -(dI)Tj -0 Tc 1.261 0 Td -(/O)Tj --37.608 -1.2 Td -[(library )-36(to )-36(allocate )-36(a )-36(buf)19(fer )-36(and )-36(choose )-36(the )-36(type )-36(of )-36(buf)20(fering. )-286(Since)-285(the )-36(standar)]TJ -0.2857 Tc 34.7 0 Td -(di)Tj -0 Tc 1.188 0 Td -[(nput )-36(is)]TJ -0.417 Tc -35.887 -1.2 Td -(ap)Tj -0 Tc 1.518 0 Td -[(ipe, )-167(the )-167(standar)]TJ -0.417 Tc 7.162 0 Td -(dI)Tj -0 Tc 1.365 0 Td -[(/O )-167(library )-167(defaults )-167(to )-167(fully )-167(buf)18(fer)18(ed. )-417(The)-417(same )-167(thing )-167(happens)]TJ --10.045 -1.2 Td -[(with )-85(the )-85(standar)]TJ -0.3353 Tc 7.411 0 Td -(do)Tj -0 Tc 1.492 0 Td -[(utput. )-335(While)]TJ -/TT0 1 Tf -6.273 0 Td -(add2)Tj -/T1_1 1 Tf -2.735 0 Td -[(is )-85(blocked )-85(r)18(eading )-85(fr)18(om )-85(its )-85(standar)]TJ -0.3353 Tc 15.768 0 Td -(di)Tj -0 Tc 1.237 0 Td -[(nput, )-85(the)]TJ --34.916 -1.2 Td -[(pr)18(ogram in Figur)]TJ -0.25 Tc 7.614 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(5.18 is blocked r)18(eading fr)18(om the pipe.)]TJ --0.092 Tc 17.089 0 Td -[(We )-184(h)]TJ -0 Tc 2.219 0 Td -(ave a deadlock.)Tj --26.351 -1.2 Td -[(Her)18(e, )-224(we )-224(have )-224(contr)18(ol )-224(over )-224(the )-224(copr)18(ocess )-224(that\325s )-224(being )-224(r)7(un. )-474(W)]TJ -0.4741 Tc 29.243 0 Td -(ec)Tj -0 Tc 1.397 0 Td -[(an )-224(change )-224(the)]TJ --32.44 -1.2 Td -[(pr)18(ogram in Figur)]TJ -0.25 Tc 7.614 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.19 by adding the following four lines befor)Tj -0.25 Tc 19.649 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he)Tj -/TT0 1 Tf -1.311 0 Td -(while)Tj -/T1_1 1 Tf -3.25 0 Td -(loop:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5913 556.2666 Tm -(if \(setvbuf\(stdin, NULL, _IOLBF, 0\) != 0\))Tj -2.4 -1.189 Td -(err_sys\("setvbuf error"\);)Tj --2.4 -1.189 Td -(if \(setvbuf\(stdout, NULL, _IOLBF, 0\) != 0\))Tj -2.4 -1.189 Td -(err_sys\("setvbuf error"\);)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5924 506.1696 Tm -[(These )-70(lines )-70(cause)]TJ -/TT0 1 Tf -8.053 0 Td -(fgets)Tj -/T1_1 1 Tf -3.32 0 Td -[(to )-70(r)18(eturn )-70(when )-70(a )-70(line )-70(is )-70(available )-70(and )-70(cause)]TJ -/TT0 1 Tf -19.958 0 Td -(printf)Tj -/T1_1 1 Tf -3.919 0 Td -[(to )-69(do )-69(an)]TJ -/TT0 1 Tf --35.25 -1.2 Td -(fflush)Tj -/T1_1 1 Tf -3.939 0 Td -[(when )-89(a )-89(newline )-89(is )-89(output )-89(\(r)19(efer )-89(to )-89(Section )-89(5.4 )-89(for )-89(the )-89(details )-89(on )-89(standar)]TJ -0.3389 Tc 32.382 0 Td -(dI)Tj -0 Tc 1.287 0 Td -(/O)Tj --37.608 -1.2 Td -[(buf)18(fering\). )-250(Making)-250(these explicit calls to)]TJ -/TT0 1 Tf -18.222 0 Td -(setvbuf)Tj -/T1_1 1 Tf -4.45 0 Td -[(\336xes the pr)18(ogram in Figur)]TJ -0.25 Tc 11.525 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.19.)Tj --33.626 -1.2 Td -[(If )-157(we )-157(ar)18(en\325t )-157(able )-157(to )-157(modify )-157(the )-157(pr)18(ogram )-157(that )-157(we\325r)]TJ -0.4069 Tc 23.049 0 Td -(ep)Tj -0 Tc 1.487 0 Td -[(iping )-157(the )-157(output )-157(into, )-157(other)]TJ --26.336 -1.2 Td -[(techniques )-311(ar)]TJ -0.5615 Tc 6.209 0 Td -(er)Tj -0 Tc 1.417 0 Td -[(equir)18(ed. )-561(For)-562(example, )-311(if )-311(we )-311(use)]TJ -/TT0 1 Tf -16.208 0 Td -(awk)Tj -/T1_1 1 Tf -1.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.895 -0.04 Td -[(as )-312(a )-312(copr)18(ocess )-312(fr)18(om )-312(our)]TJ --27.362 -1.2 Td -[(pr)18(ogram \(instead of the)]TJ -/TT0 1 Tf -10.67 0 Td -(add2)Tj -/T1_1 1 Tf -2.65 0 Td -[(pr)18(ogram\), the following won\325t work:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5919 429.4742 Tm -(#! /bin/awk -f)Tj -0.6 Tc 0 -1.189 TD -({p)Tj -0 Tc 1.8 0 Td -(rint $1 + $2 })Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.593 400.776 Tm -[(The )-127(r)18(eason )-127(this )-127(won\325t )-127(work )-127(is )-127(again )-127(the )-127(standar)]TJ -0.3769 Tc 21.969 0 Td -(dI)Tj -0 Tc 1.325 0 Td -[(/O )-127(buf)18(fering. )-377(But)-377(in )-127(this )-127(case, )-127(we)]TJ --23.294 -1.2 Td -[(cannot )-194(change )-194(the )-194(way)]TJ -/TT0 1 Tf -11.177 0 Td -(awk)Tj -/T1_1 1 Tf -2.244 0 Td -[(works )-194(\(unless )-194(we )-194(have )-194(the )-194(sour)18(ce )-194(code )-194(for )-194(it\).)]TJ --0.092 Tc 22.392 0 Td -[(We )-378(a)]TJ --0.018 Tc 2.331 0 Td -(re)Tj -0 Tc -38.144 -1.2 Td -[(unable )-26(to )-26(modify )-26(the )-26(executable )-26(of)]TJ -/TT0 1 Tf -15.695 0 Td -(awk)Tj -/T1_1 1 Tf -2.076 0 Td -[(in )-26(any )-26(way )-26(to )-26(change )-26(the )-26(way )-26(the )-26(standar)]TJ -0.2765 Tc 18.612 0 Td -(dI)Tj -0 Tc 1.224 0 Td -(/O)Tj --37.608 -1.2 Td -[(buf)18(fering is handled.)]TJ -1.8 -1.2 Td -[(The )-66(solution )-66(for )-66(this )-66(general )-66(pr)18(oblem )-66(is )-66(to )-66(make )-66(the )-66(copr)19(ocess )-66(being )-66(invoked )-66(\()]TJ -/TT0 1 Tf -(awk)Tj -/T1_1 1 Tf --1.8 -1.2 Td -[(in )-252(this )-252(case\) )-252(think )-252(that )-252(its )-252(standar)]TJ -0.502 Tc 16.12 0 Td -(di)Tj -0 Tc 1.404 0 Td -[(nput )-252(and )-252(standar)]TJ -0.502 Tc 8.129 0 Td -(do)Tj -0 Tc 1.659 0 Td -[(utput )-252(ar)]TJ -0.502 Tc 3.838 0 Td -(ec)Tj -0 Tc 1.425 0 Td -[(onnected )-252(to )-252(a)]TJ --32.575 -1.2 Td -[(terminal. )-396(That)-397(causes )-146(the )-146(standar)]TJ -0.3965 Tc 15.435 0 Td -(dI)Tj -0 Tc 1.344 0 Td -[(/O )-146(r)18(outines )-146(in )-146(the )-146(copr)16(ocess )-147(to )-147(line )-147(buf)18(fer )-147(these)]TJ --16.779 -1.2 Td -[(two )-60(I/O )-60(str)18(eams, )-60(similar )-60(to )-60(what )-60(we )-60(did )-60(with )-60(the )-60(explicit )-60(calls )-60(to)]TJ -/TT0 1 Tf -29.619 0 Td -(setvbuf)Tj -/T1_1 1 Tf -4.509 0 Td -[(pr)18(eviously)111(.)]TJ --0.092 Tc -34.128 -1.2 Td -[(We )-184(u)]TJ -0 Tc 2.24 0 Td -(se pseudo terminals to do this in Chapter 19.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3048.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9986 0 0 11.9986 93.5888 262.7685 Tm -[(15.5 )-776(FIFOs)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 238.7713 Tm -[(FIFOs )-124(ar)]TJ -0.3742 Tc 3.91 0 Td -(es)Tj -0 Tc 1.277 0 Td -[(ometimes )-124(called )-124(named )-124(pipes.)-625(Unnamed )-124(pipes )-124(can )-124(be )-124(used )-124(only )-124(between)]TJ --0.018 Tc -5.187 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(lated )-41(pr)18(ocesses )-41(when )-41(a )-41(common )-41(ancestor )-41(has )-41(cr)18(eated )-41(the )-41(pipe.)]TJ --0.055 Tc 28.453 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-41(FIFOs, )-41(however)74(,)]TJ --30.545 -1.2 Td -[(unr)18(elated pr)18(ocesses can exchange data.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-367(s)]TJ -0 Tc 2.244 0 Td -[(aw )-183(in )-183(Chapter )-183(4 )-183(that )-183(a )-183(FIFO )-183(is )-183(a )-183(type )-183(of )-183(\336le.)-683(One )-183(of )-183(the )-183(encodings )-183(of )-183(the)]TJ -/TT0 1 Tf --4.044 -1.2 Td -(st_mode)Tj -/T1_1 1 Tf -4.499 0 Td -[(member )-49(of )-49(the)]TJ -/TT0 1 Tf -6.836 0 Td -(stat)Tj -/T1_1 1 Tf -2.699 0 Td -[(str)8(uctur)]TJ -0.2993 Tc 3.49 0 Td -(e\()Tj -0 Tc 1.111 0 Td -[(Section )-49(4.2\) )-49(indicates )-49(that )-49(a )-49(\336le )-49(is )-49(a )-49(FIFO.)]TJ --0.092 Tc 18.977 0 Td -(We)Tj -0 Tc -37.613 -1.2 Td -(can test for this with the)Tj -/TT0 1 Tf -10.898 0 Td -(S_ISFIFO)Tj -/T1_1 1 Tf -5.05 0 Td -[(macr)18(o.)]TJ --14.148 -1.2 Td -[(Cr)18(eating )-2(a )-2(FIFO )-2(is )-2(similar )-2(to )-2(cr)18(eating )-2(a )-2(\336le.)-502(Indeed, )-2(the)]TJ -/T1_2 1 Tf -24.655 0 Td -(pathname)Tj -/T1_1 1 Tf -4.196 0 Td -[(for )-2(a )-2(FIFO )-2(exists )-2(in)]TJ --30.65 -1.2 Td -(the \336le system.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46930 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(548)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(if \(\(fpin = popen\("myuclc", "r"\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("popen error"\);)Tj --2.4 -1.189 Td -(for \( ; ; \) {)Tj -2.4 -1.189 Td -(fputs\("prompt> ", stdout\);)Tj -0 -1.189 TD -(fflush\(stdout\);)Tj -0 -1.189 TD -(if \(fgets\(line, MAXLINE, fpin\) == NULL\) /* read from pipe */)Tj -2.4 -1.189 Td -(break;)Tj --2.4 -1.189 Td -(if \(fputs\(line, stdout\) == EOF\))Tj -2.4 -1.189 Td -(err_sys\("fputs error to pipe"\);)Tj --4.8 -1.189 Td -(})Tj -0 -1.189 TD -(if \(pclose\(fpin\) == -1\))Tj -2.4 -1.189 Td -(err_sys\("pclose error"\);)Tj --2.4 -1.189 Td -(putchar\(\325\\n\325\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5157.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 205.3514 499.639 Tm -(Figure 15.15)Tj -/T1_1 1 Tf -6.195 0 Td -[(Invoke upper)18(case/lower)18(case \336lter to r)18(ead commands)]TJ --0.092 Tc 9.9988 0 0 9.9988 147.5825 475.6419 Tm -[(We )-308(n)]TJ -0 Tc 2.343 0 Td -[(eed )-124(to )-124(call)]TJ -/TT0 1 Tf -5.09 0 Td -(fflush)Tj -/T1_1 1 Tf -3.974 0 Td -[(after )-124(writing )-124(the )-124(pr)17(ompt, )-124(because )-124(the )-124(standar)]TJ -0.3743 Tc 20.713 0 Td -(do)Tj -0 Tc 1.531 0 Td -[(utput )-124(is)]TJ --35.452 -1.2 Td -[(normally line buf)18(fer)18(ed, and the pr)18(ompt does not contain a newline.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4637.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9978 0 0 11.9978 93.5832 415.6242 Tm -[(15.4 )-776(Copr)20(ocesses)]TJ -/T1_1 1 Tf -0.5311 Tc 9.9982 0 0 9.9982 129.5767 389.2289 Tm -(AU)Tj -0 Tc 2.087 0 Td -[(NIX )-281(system )-281(\336lter )-281(is )-281(a )-281(pr)18(ogram )-281(that )-281(r)17(eads )-281(fr)18(om )-281(standar)]TJ -0.5312 Tc 26.46 0 Td -(di)Tj -0 Tc 1.433 0 Td -[(nput )-281(and )-281(writes )-281(to)]TJ --29.98 -1.2 Td -(standar)Tj -0.4701 Tc 3.32 0 Td -(do)Tj -0 Tc 1.627 0 Td -[(utput. )-470(Filters)-470(ar)]TJ -0.4701 Tc 7.538 0 Td -(en)Tj -0 Tc 1.531 0 Td -[(ormally )-220(connected )-220(linearly )-220(in )-220(shell )-220(pipelines.)]TJ -0.47 Tc 21.64 0 Td -(A\336)Tj -0 Tc 1.853 0 Td -(lter)Tj --37.509 -1.2 Td -[(becomes )-103(a)]TJ -/T1_2 1 Tf -5.014 0 Td -[(copr)18(ocess)]TJ -/T1_1 1 Tf -4.093 0 Td -[(when )-103(the )-103(same )-103(pr)18(ogram )-103(generates )-103(the )-103(\336lter)-74(\325s )-103(input )-103(and )-103(r)18(eads )-103(the)]TJ --9.107 -1.2 Td -[(\336lter )176(\325s)-250(output.)]TJ -1.8 -1.2 Td -[(The )-37(Korn )-37(shell )-37(pr)18(ovides )-37(copr)18(ocesses)]TJ -16.506 0.04 Td -([)Tj -0.333 -0.04 Td -[(Bolsky )-37(and )-37(Korn )-37(1995)]TJ -9.786 0.04 Td -(])Tj -0.5368 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.4 0 Td -[(he )-37(Bourne )-37(shell, )-37(the)]TJ --30.159 -1.2 Td -[(Bourne-again )-4(shell, )-4(and )-4(the )-4(C )-4(shell )-4(don\325t )-4(pr)18(ovide )-4(a )-4(way )-4(to )-4(connect )-4(pr)18(ocesses )-4(together )-4(as)]TJ -0 -1.2 TD -[(copr)18(ocesses. )-578(A)-577(copr)18(ocess )-328(normally )-328(r)8(uns )-328(in )-328(the )-328(backgr)18(ound )-328(fr)18(om )-328(a )-328(shell, )-328(and )-328(its)]TJ -T* -(standar)Tj -0.4058 Tc 3.32 0 Td -(di)Tj -0 Tc 1.308 0 Td -[(nput )-156(and )-156(standar)]TJ -0.4058 Tc 7.937 0 Td -(do)Tj -0 Tc 1.563 0 Td -[(utput )-156(ar)]TJ -0.4058 Tc 3.742 0 Td -(ec)Tj -0 Tc 1.329 0 Td -[(onnected )-156(to )-156(another )-156(pr)19(ogram )-156(using )-156(a )-156(pipe.)]TJ --19.198 -1.2 Td -[(Although )-183(the )-183(shell )-183(syntax )-183(r)19(equir)18(ed )-183(to )-183(initiate )-183(a )-183(copr)18(ocess )-183(and )-183(connect )-183(its )-183(input )-183(and)]TJ -T* -[(output )-3(to )-3(other )-3(pr)18(ocesses )-3(is )-3(quite )-3(contorted )-3(\(see )-3(pp. )-3(62)]TJ -24.156 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(63 )-3(of )-3(Bolsky )-3(and )-3(Korn)]TJ -10.068 0.04 Td -([)Tj -0.333 -0.04 Td -(1995)Tj -2 0.04 Td -(])Tj -0.586 -0.04 Td -(for)Tj --37.726 -1.2 Td -[(all the details\), copr)18(ocesses ar)]TJ -0.25 Tc 13.039 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(lso useful fr)18(om a C pr)18(ogram.)]TJ --12.468 -1.2 Td -[(Wher)18(eas)]TJ -/TT0 1 Tf -4.107 0 Td -(popen)Tj -/T1_1 1 Tf -3.266 0 Td -[(gives )-16(us )-16(a )-16(one-way )-16(pipe )-16(to )-16(the )-16(standar)]TJ -0.266 Tc 17.085 0 Td -(di)Tj -0 Tc 1.168 0 Td -[(nput )-16(or )-16(fr)18(om )-16(the )-16(standar)18(d)]TJ --27.426 -1.2 Td -[(output )-135(of )-135(another )-135(pr)18(ocess, )-135(with )-135(a )-135(copr)20(ocess )-135(we )-135(have )-135(two )-135(one-way )-135(pipes )-135(to )-135(the )-135(other)]TJ -T* -[(pr)18(ocess: )-74(one )-74(to )-74(its )-74(standar)]TJ -0.324 Tc 11.681 0 Td -(di)Tj -0 Tc 1.226 0 Td -[(nput )-74(and )-74(one )-74(fr)18(om )-74(its )-74(standar)]TJ -0.3239 Tc 13.532 0 Td -(do)Tj -0 Tc 1.481 0 Td -[(utput. )-324(W)]TJ -0.3239 Tc 4.191 0 Td -(ew)Tj -0 Tc 1.637 0 Td -[(ant )-74(to )-74(write)]TJ --33.747 -1.2 Td -(to its standar)Tj -0.25 Tc 5.733 0 Td -(di)Tj -0 Tc 1.152 0 Td -[(nput, let it operate on the data, and then r)18(ead fr)18(om its standar)]TJ -0.25 Tc 27.232 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput.)Tj -/TT1 1 Tf --39.124 -3.6 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.64 Td -[(Let\325s )-143(look )-143(at )-143(copr)17(ocesses )-143(with )-143(an )-143(example.)-643(The )-143(pr)18(ocess )-143(cr)18(eates )-143(two )-143(pipes: )-143(one )-143(is )-143(the)]TJ -T* -(standar)Tj -0.3478 Tc 3.32 0 Td -(di)Tj -0 Tc 1.25 0 Td -[(nput )-98(of )-98(the )-98(copr)18(ocess )-98(and )-98(the )-98(other )-98(is )-98(the )-98(standar)]TJ -0.3477 Tc 22.622 0 Td -(do)Tj -0 Tc 1.505 0 Td -[(utput )-98(of )-98(the )-98(copr)19(ocess.)]TJ --28.697 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.16 shows this arrangement.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46931 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(690)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(ONLCR)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_1 1 Tf -0.3775 Tc (,X)Tj -0 Tc 5.827 0 Td -[(SI, )-127(Fr)18(eeBSD, )-128(Linux, )-128(Mac )-128(OS )-128(X, )-128(Solaris\))-628(If )-128(set, )-128(map )-128(NL )-128(to)]TJ --5.827 -1.2 Td -(CR)Tj -1.377 0.09 Td -(-)Tj -0.333 -0.09 Td -(NL on output.)Tj -/TT0 1 Tf --8.593 -1.6 Td -(ONLRET)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_1 1 Tf -0.5338 Tc (,X)Tj -0 Tc 5.984 0 Td -[(SI, )-284(Fr)18(eeBSD, )-284(Linux, )-284(Solaris\))-784(If )-284(set, )-284(the )-284(NL )-284(character )-284(is)]TJ --5.984 -1.2 Td -[(assumed to perform the carriage r)18(eturn function on output.)]TJ -/TT0 1 Tf --6.883 -1.6 Td -(ONOCR)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_1 1 Tf -0.4225 Tc (,X)Tj -0 Tc 5.872 0 Td -[(SI, )-172(Fr)18(eeBSD, )-172(Linux, )-172(Solaris\))-672(If )-172(set, )-172(a )-172(CR )-172(is )-172(not )-172(output )-172(at)]TJ --5.872 -1.2 Td -(column 0.)Tj -/TT0 1 Tf --6.883 -1.6 Td -(ONOEOT)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_1 1 Tf -0.7055 Tc (,F)Tj --0.018 Tc 6.044 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-455(Mac )-455(OS )-455(X\))-955(If )-455(set, )-455(EOT )-455(\(\366D\) )-455(characters )-455(ar)14(e)]TJ --6.9 -1.2 Td -[(discar)18(ded )-211(on )-211(output.)-711(This )-211(may )-211(be )-211(necessary )-211(on )-211(some )-211(terminals )-211(that)]TJ -0 -1.2 TD -[(interpr)18(et Contr)18(ol)]TJ -7.483 0.09 Td -(-)Tj -0.333 -0.09 Td -[(D)-250(as)-250(a)-250(hangup.)]TJ -/TT0 1 Tf --14.699 -1.6 Td -(OPOST)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_1 1 Tf -0.7433 Tc (,P)Tj -0 Tc 6.13 0 Td -[(OSIX.1, )-493(Fr)18(eeBSD, )-493(Linux, )-493(Mac )-493(OS )-493(X, )-493(Solaris\))-993(If )-493(set,)]TJ --6.13 -1.2 Td -[(implementation-de\336ned )-634(output )-634(pr)19(ocessing )-634(takes )-634(place.)-1134(Refer )-634(to)]TJ -T* -(Figur)Tj -0.7514 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.73 0 Td -[(8.6 )-501(for )-501(the )-501(various )-501(implementation-de\336ned )-501(\337ags )-501(for )-501(the)]TJ -/TT0 1 Tf --4.113 -1.2 Td -(c_oflag)Tj -/T1_1 1 Tf -4.45 0 Td -(\336eld.)Tj -/TT0 1 Tf --11.333 -1.6 Td -(OXTABS)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_1 1 Tf -0.356 Tc (,F)Tj --0.018 Tc 5.695 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-106(Mac )-106(OS )-106(X\))-606(If )-106(set, )-106(tabs )-106(ar)]TJ -0.3561 Tc 14.412 0 Td -(ee)Tj -0 Tc 1.314 0 Td -[(xpanded )-106(to )-106(spaces )-106(on)]TJ --22.277 -1.2 Td -[(output. )-263(This)-264(pr)18(oduces )-13(the )-13(same )-13(ef)17(fect )-13(as )-13(setting )-13(the )-13(horizontal )-13(tab )-13(delay)]TJ --0 -1.2 Td -(\()Tj -/TT0 1 Tf -(TABDLY)Tj -/T1_1 1 Tf -0.25 Tc (\)t)Tj -0 Tc 4.842 0 Td -(o)Tj -/TT0 1 Tf -0.796 0 Td -(XTABS)Tj -/T1_1 1 Tf -3.25 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(TAB3)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf --16.962 -1.6 Td -(PARENB)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_1 1 Tf -0.402 Tc (,P)Tj -0 Tc 5.789 0 Td -[(OSIX.1, )-152(Fr)18(eeBSD, )-152(Linux, )-152(Mac )-152(OS )-152(X, )-152(Solaris\))-652(If )-152(set, )-152(parity)]TJ --5.789 -1.2 Td -[(generation )-210(is )-210(enabled )-210(for )-210(outgoing )-210(characters, )-210(and )-210(parity )-210(checking )-210(is)]TJ -T* -[(performed )-101(on )-101(incoming )-101(characters.)-601(The )-101(parity )-101(is )-101(odd )-101(if)]TJ -/TT0 1 Tf -25.621 0 Td -(PARODD)Tj -/T1_1 1 Tf -3.951 0 Td -[(is )-101(set;)]TJ --29.572 -1.2 Td -[(otherwise, )-316(it )-316(is )-316(even )-316(parity)]TJ -0.8163 Tc 12.866 0 Td -(.S)Tj -0 Tc 1.591 0 Td -[(ee )-316(also )-316(the )-316(discussion )-316(of )-316(the)]TJ -/TT0 1 Tf -14.41 0 Td -(INPCK)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --28.867 -1.2 Td -(IGNPAR)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 4.6 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(PARMRK)Tj -/T1_1 1 Tf -3.85 0 Td -(\337ags.)Tj -/TT0 1 Tf --16.776 -1.72 Td -(PAREXT)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_1 1 Tf -0.4184 Tc (,S)Tj -0 Tc 5.726 0 Td -[(olaris\) )-418(Select)-419(mark )-168(or )-168(space )-168(parity)]TJ -0.6685 Tc 15.947 0 Td -(.I)Tj -0 Tc 1.256 0 Td -(f)Tj -/TT0 1 Tf -0.751 0 Td -(PARODD)Tj -/T1_1 1 Tf -4.019 0 Td -[(is )-168(set, )-168(the)]TJ --27.699 -1.2 Td -[(parity )-11(bit )-11(is )-11(always )-11(1 )-11(\(mark )-11(parity\).)-511(Otherwise, )-11(the )-11(parity )-11(bit )-11(is )-11(always )-11(0)]TJ -T* -(\(space parity\).)Tj -/TT0 1 Tf --6.883 -1.72 Td -(PARMRK)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_iflag)Tj -/T1_1 1 Tf -0.3273 Tc (,P)Tj -0 Tc 5.714 0 Td -[(OSIX.1, )-77(Fr)18(eeBSD, )-77(Linux, )-77(Mac )-77(OS )-77(X, )-77(Solaris\))-577(When )-77(set )-77(and)]TJ --5.714 -1.2 Td -(if)Tj -/TT0 1 Tf -0.959 0 Td -(IGNPAR)Tj -/T1_1 1 Tf -3.935 0 Td -[(is )-85(not )-85(set, )-85(a )-85(byte )-85(with )-85(a )-85(framing )-85(err)19(or )-85(\(other )-85(than )-85(a )-85(BREAK\))]TJ --4.894 -1.2 Td -[(or )-32(a )-32(byte )-32(with )-32(a )-32(parity )-32(err)18(or )-32(is )-32(r)21(ead )-32(by )-32(the )-32(pr)18(ocess )-32(as )-32(the )-32(thr)20(ee-character)]TJ -T* -(sequence)Tj -/TT0 1 Tf -4.359 0 Td -(\\377)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.959 0 Td -(\\0)Tj -/T1_1 1 Tf -(,)Tj -/T1_2 1 Tf -1.759 0 Td -(X)Tj -/T1_1 1 Tf -0.3093 Tc (,w)Tj -0 Tc 2.115 0 Td -[(her)18(e)]TJ -/T1_2 1 Tf -2.226 0 Td -(X)Tj -/T1_1 1 Tf -1.031 0 Td -[(is )-59(the )-59(byte )-59(r)18(eceived )-59(in )-59(err)17(or)]TJ -0.5592 Tc 12.278 0 Td -(.I)Tj -0 Tc 1.146 0 Td -(f)Tj -/TT0 1 Tf -0.642 0 Td -(ISTRIP)Tj -/T1_1 1 Tf --28.517 -1.2 Td -[(is )-240(not )-240(set, )-240(a )-240(valid)]TJ -/TT0 1 Tf -8.856 0 Td -(\\377)Tj -/T1_1 1 Tf -2.89 0 Td -[(is )-240(passed )-240(to )-240(the )-240(pr)18(ocess )-240(as)]TJ -/TT0 1 Tf -13.172 0 Td -(\\377)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.14 0 Td -(\\377)Tj -/T1_1 1 Tf -0.74 Tc (.I)Tj -0 Tc 3.727 0 Td -(f)Tj --31.784 -1.2 Td -(neither)Tj -/TT0 1 Tf -3.528 0 Td -(IGNPAR)Tj -/T1_1 1 Tf -3.994 0 Td -(nor)Tj -/TT0 1 Tf -1.917 0 Td -(PARMRK)Tj -/T1_1 1 Tf -3.994 0 Td -[(is )-144(set, )-144(a )-144(byte )-144(with )-144(a )-144(framing )-144(err)18(or )-144(\(other)]TJ --13.433 -1.2 Td -[(than a BREAK\) or with a parity err)18(or is r)18(ead as a single character)]TJ -/TT0 1 Tf -28.846 0 Td -(\\0)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf --35.729 -1.72 Td -(PARODD)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_1 1 Tf -0.5302 Tc (,P)Tj -0 Tc 5.917 0 Td -[(OSIX.1, )-280(Fr)18(eeBSD, )-280(Linux, )-280(Mac )-280(OS )-280(X, )-280(Solaris\))-780(If )-280(set, )-280(the)]TJ --5.917 -1.2 Td -[(parity )-130(for )-130(outgoing )-130(and )-130(incoming )-130(characters )-130(is )-130(odd )-130(parity)]TJ -0.6304 Tc 26.391 0 Td -(.O)Tj -0 Tc 1.666 0 Td -(therwise,)Tj --28.057 -1.2 Td -[(the )-358(parity )-358(is )-358(even )-358(parity)]TJ -0.8584 Tc 11.868 0 Td -(.N)Tj -0 Tc 1.939 0 Td -[(ote )-358(that )-358(the)]TJ -/TT0 1 Tf -6.298 0 Td -(PARENB)Tj -/T1_1 1 Tf -4.209 0 Td -[(\337ag )-358(contr)18(ols )-358(the)]TJ --24.313 -1.2 Td -[(generation and detection of parity)111(.)]TJ -0 -1.56 TD -(The)Tj -/TT0 1 Tf -2.127 0 Td -(PARODD)Tj -/T1_1 1 Tf -4.053 0 Td -[(\337ag )-203(also )-203(contr)18(ols )-203(whether )-203(mark )-203(or )-203(space )-203(parity )-203(is )-203(used)]TJ --6.18 -1.2 Td -(when either the)Tj -/TT0 1 Tf -7.166 0 Td -(CMSPAR)Tj -/T1_1 1 Tf -3.85 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(PAREXT)Tj -/T1_1 1 Tf -3.85 0 Td -(\337ag is set.)Tj -/TT0 1 Tf --22.94 -1.72 Td -(PENDIN)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_1 1 Tf -0.2772 Tc (,F)Tj --0.018 Tc 5.616 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-27(Linux, )-27(Mac )-27(OS )-27(X, )-27(Solaris\))-528(If )-27(set, )-27(any )-27(input )-27(that )-27(has)]TJ --6.472 -1.2 Td -[(not )-218(been )-218(r)18(ead )-218(is )-218(r)18(eprinted )-218(by )-218(the )-218(system )-218(when )-218(the )-218(next )-218(character )-218(is)]TJ -0 -1.2 TD -[(input. )-618(This)-619(action )-368(is )-368(similar )-368(to )-368(what )-368(happens )-368(when )-368(we )-368(type )-368(the)]TJ -T* -[(REPRINT character)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46932 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(560)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Since )-9(these )-9(forms )-9(of )-9(IPC )-9(don\325t )-9(use )-9(\336le )-9(descriptors, )-9(we )-9(can\325t )-9(use )-9(the )-9(multiplexed )-9(I/O)]TJ --1.8 -1.2 Td -[(functions )-34(\()]TJ -/TT0 1 Tf -(select)Tj -/T1_1 1 Tf -8.631 0 Td -(and)Tj -/TT0 1 Tf -1.977 0 Td -(poll)Tj -/T1_1 1 Tf -0.2836 Tc (\)w)Tj -0 Tc 3.851 0 Td -[(ith )-34(them.)-533(This )-34(makes )-34(it )-34(har)18(der )-34(to )-34(use )-34(mor)]TJ -0.2837 Tc 18.735 0 Td -(et)Tj -0 Tc 1.089 0 Td -[(han )-34(one )-34(of)]TJ --34.283 -1.2 Td -[(these )-101(IPC )-101(str)7(uctur)18(es )-101(at )-101(a )-101(time )-101(or )-101(to )-101(use )-101(any )-101(of )-101(these )-101(IPC )-101(str)3(uctur)18(es )-101(with )-101(\336le )-101(or )-101(device)]TJ -0 -1.2 Td -[(I/O. )-269(For)-270(example, )-19(we )-19(can\325t )-19(have )-19(a )-19(server )-19(wait )-19(for )-19(a )-19(message )-19(to )-19(be )-19(placed )-19(on )-19(one )-19(of )-19(two)]TJ -0 -1.2 TD -(message queues without some form of busy\320wait loop.)Tj -1.8 -1.2 Td -[(An )-81(overview )-81(of )-81(a )-81(transaction )-81(pr)18(ocessing )-81(system )-81(built )-81(using )-81(System )-81(V )-81(IPC )-81(is )-81(given)]TJ --1.8 -1.2 Td -[(in )-294(Andrade, )-294(Car)18(ges, )-294(and )-294(Kovach)]TJ -16.149 0.04 Td -([)Tj -0.333 -0.04 Td -(1989)Tj -2 0.04 Td -(])Tj -0.7938 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.657 0 Td -[(hey )-294(claim )-294(that )-294(the )-294(namespace )-294(used )-294(by)]TJ --20.472 -1.2 Td -[(System )-17(V )-17(IPC )-17(\(the )-17(identi\336ers\) )-17(is )-17(an )-17(advantage, )-17(not )-17(a )-17(pr)22(oblem )-16(as )-16(we )-16(said )-16(earlier)]TJ -0.2665 Tc 35.002 0 Td -(,b)Tj -0 Tc 1.069 0 Td -(ecause)Tj --36.071 -1.2 Td -[(using )-95(identi\336ers )-95(allows )-95(a )-95(pr)20(ocess )-95(to )-95(send )-95(a )-95(message )-95(to )-95(a )-95(message )-95(queue )-95(with )-95(a )-95(single)]TJ -T* -[(function )-79(call )-79(\()]TJ -/TT0 1 Tf -(msgsnd)Tj -/T1_1 1 Tf -[(\), )-79(wher)18(eas )-79(other )-79(forms )-79(of )-79(IPC )-79(normally )-79(r)19(equir)]TJ -0.3288 Tc 30.552 0 Td -(ea)Tj -0 Tc 1.308 0 Td -(n)Tj -/TT0 1 Tf -0.911 0 Td -(open)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.979 0 Td -(write)Tj -/T1_1 1 Tf -(,)Tj --35.75 -1.2 Td -(and)Tj -/TT0 1 Tf -2.102 0 Td -(close)Tj -/T1_1 1 Tf -0.6586 Tc (.T)Tj -0 Tc 4.522 0 Td -[(his )-159(ar)18(gument )-159(is )-159(false.)-657(Clients )-159(still )-159(have )-159(to )-159(obtain )-159(the )-159(identi\336er )-159(for )-159(the)]TJ --6.623 -1.2 Td -[(server )176(\325s)-491(queue )-241(somehow)92(,)-491(to)-491(a)-1(void )-241(using )-241(a )-241(key )-241(and )-241(calling)]TJ -/TT0 1 Tf -28.184 0 Td -(msgget)Tj -/T1_1 1 Tf -0.7415 Tc (.T)Tj -0 Tc 5.204 0 Td -[(he )-241(identi\336er)]TJ --33.389 -1.2 Td -[(assigned )-24(to )-24(a )-24(particular )-24(queue )-24(depends )-24(on )-24(how )-24(many )-24(other )-24(message )-24(queues )-24(exist )-24(when)]TJ -T* -[(the )-111(queue )-111(is )-111(cr)17(eated )-111(and )-111(how )-111(many )-111(times )-111(the )-111(table )-111(in )-111(the )-111(kernel )-111(assigned )-111(to )-111(the )-111(new)]TJ -T* -[(queue )-96(has )-96(been )-96(used )-96(since )-96(the )-96(kernel )-96(was )-96(bootstrapped.)-596(This )-96(is )-96(a )-96(dynamic )-96(value )-96(that)]TJ -T* -[(can\325t )-52(be )-52(guessed )-52(or )-52(stor)16(ed )-52(in )-52(a )-52(header)]TJ -0.5523 Tc 16.903 0 Td -(.A)Tj -0 Tc 1.58 0 Td -[(s)-302(we)-302(m)-1(entioned )-52(in )-52(Section )-52(15.6.1, )-52(minimally )-52(a)]TJ --18.484 -1.2 Td -[(server has to write the assigned queue identi\336er to a \336le for its \ clients to r)18(ead.)]TJ -1.8 -1.2 Td -[(Other )-301(advantages )-301(listed )-301(by )-301(these )-301(authors )-301(for )-301(message )-301(queues )-301(ar)]TJ -0.5508 Tc 30.808 0 Td -(et)Tj -0 Tc 1.356 0 Td -[(hat )-301(they\325r)18(e)]TJ --0.018 Tc -33.964 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(liable, )-116(\337ow )-116(contr)18(olled, )-116(and )-116(r)18(ecor)]TJ -0.366 Tc 14.766 0 Td -(do)Tj -0 Tc 1.523 0 Td -[(riented, )-116(and )-116(that )-116(they )-116(can )-116(be )-116(pr)18(ocessed )-116(in )-116(other)]TJ --17.145 -1.2 Td -[(than )-14(\336rst-in, )-14(\336rst-out )-14(or)18(der)]TJ -0.5141 Tc 11.88 0 Td -(.F)Tj -0 Tc 1.32 0 Td -(igur)Tj -0.2641 Tc 1.827 0 Td -(e1)Tj -0 Tc 1.243 0 Td -[(5.25 )-14(compar)18(es )-14(some )-14(of )-14(the )-14(featur)18(es )-14(of )-14(these )-14(various)]TJ --16.27 -1.2 Td -(forms of IPC.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1348.25 4102.25 cm -0 0 m -3795 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 458.7409 402.1517 Tm -(Message types)Tj -0.385 -1.25 Td -(or priorities?)Tj --35.398 0.625 Td -(IPC type)Tj -9.842 0 Td -[(Connectionless?)-1000(Reliable?)-1000(Flow contr)18(ol?)-1000(Recor)18(ds?)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1348.25 3882.25 cm -0 0 m -3795 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1348.25 3862.25 cm -0 0 m -3795 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 138.827 378.1319 Tm -(message queues)Tj -17.832 0 Td -(no )Tj -6.407 0 Td -[(yes)-4555(yes )-4304(yes)-4759(yes)]TJ --24.24 -1.25 Td -(STREAMS )Tj -17.832 0 Td -(no)Tj -6.407 0 Td -[(yes )-4305(yes)-4554(yes )-4509(yes)]TJ --24.24 -1.25 Td -[(UNIX domain str)18(eam socket)]TJ -17.832 0 Td -(no )Tj -6.407 0 Td -[(yes)-4555(yes )-4469(no)]TJ -18.412 0 Td -(no)Tj --42.651 -1.25 Td -[(UNIX domain datagram socket)-3845(yes )-4863(yes)-4721(no )-4469(yes)-4925(no)]TJ -0 -1.25 TD -(FIFOs \(non-STREAMS\))Tj -17.832 0 Td -(no )Tj -6.407 0 Td -[(yes)-4555(yes )-4469(no)]TJ -18.412 0 Td -(no)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1348.25 3342.25 cm -0 0 m -3795 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4548.25 3342.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4148.25 3342.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3586.25 3342.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3186.25 3342.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2534.25 3342.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5143.25 3342.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1348.25 3342.25 cm -0 0 m -0 760 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 216.0082 316.1241 Tm -(Figure 15.25)Tj -/T1_1 1 Tf -6.195 0 Td -[(Comparison of featur)18(es of various forms of IPC)]TJ -9.9976 0 0 9.9976 129.5691 288.5307 Tm -(\(W)Tj -0.3665 Tc 1.241 0 Td -(ed)Tj -0 Tc 1.456 0 Td -[(escribe )-116(str)18(eam )-116(and )-116(datagram )-116(sockets )-116(in )-116(Chapter )-116(16.)]TJ --0.092 Tc 24.114 0 Td -[(We )-301(d)]TJ -0 Tc 2.364 0 Td -[(escribe )-116(UNIX )-116(domain)]TJ --29.176 -1.2 Td -[(sockets )-142(in )-142(Section )-142(17.2.\))-642(By )-142(\324)39(\324connectionless,\325)37(\325)-392(we)-392(m)1(ean )-142(the )-142(ability )-142(to )-142(send )-142(a )-142(message)]TJ -0 -1.2 TD -[(without )-16(having )-16(to )-16(call )-16(some )-16(form )-16(of )-16(an )-16(open )-16(function )-16(\336rst.)-520(As )-16(described )-16(pr)17(eviously)]TJ -0.2663 Tc 37.171 0 Td -(,w)Tj -0 Tc 1.35 0 Td -(e)Tj --38.521 -1.2 Td -[(don\325t )-254(consider )-254(message )-254(queues )-254(connectionless, )-254(since )-254(some )-254(technique )-254(is )-254(r)18(equir)18(ed )-254(to)]TJ -T* -[(obtain )-91(the )-91(identi\336er )-91(for )-91(a )-91(queue.)-590(Since )-91(all )-91(these )-91(forms )-91(of )-91(IPC )-91(ar)]TJ -0.3407 Tc 29.011 0 Td -(er)Tj -0 Tc 1.197 0 Td -[(estricted )-91(to )-91(a )-91(single)]TJ --30.208 -1.2 Td -[(host, )-126(all )-126(ar)]TJ -0.376 Tc 4.839 0 Td -(er)Tj -0 Tc 1.232 0 Td -[(eliable. )-376(When)-376(the )-126(messages )-126(ar)]TJ -0.376 Tc 13.964 0 Td -(es)Tj -0 Tc 1.279 0 Td -[(ent )-126(acr)18(oss )-126(a )-126(network, )-126(the )-126(possibility )-126(of)]TJ --21.314 -1.2 Td -[(messages )-39(being )-39(lost )-39(becomes )-39(a )-39(concern.)]TJ --0.037 Tc 18.233 0 Td -(\324\324)Tj -0 Tc 0.519 0 Td -[(Flow )-39(contr)18(ol\325)]TJ -0.2893 Tc 5.869 0 Td -(\325m)Tj -0 Tc 1.45 0 Td -[(eans )-39(that )-39(the )-39(sender )-39(is )-39(put )-39(to)]TJ --26.071 -1.2 Td -[(sleep )-121(if )-121(ther)19(e)-371(is)-371(a)-371(s)1(hortage )-121(of )-121(system )-121(r)19(esour)18(ces )-121(\(buf)18(fers\) )-121(or )-121(if )-121(the )-121(r)18(eceiver )-121(can\325t )-121(accept)]TJ --0 -1.2 Td -[(any )-28(mor)]TJ -0.2777 Tc 3.722 0 Td -(em)Tj -0 Tc 1.64 0 Td -[(essages. )-278(When)-277(the )-28(\337ow )-28(contr)18(ol )-28(condition )-28(subsides )-28(\(i.e., )-28(when )-28(ther)]TJ -0.2777 Tc 29.537 0 Td -(ei)Tj -0.2776 Tc 1.048 0 Td -(sr)Tj -0 Tc 1.079 0 Td -(oom)Tj --37.025 -1.2 Td -(in the queue\), the sender should automatically be awakened.)Tj -1.8 -1.2 Td -[(One )-215(featur)]TJ -0.4648 Tc 4.93 0 Td -(et)Tj -0 Tc 1.27 0 Td -[(hat )-215(we )-215(don\325t )-215(show )-215(in )-215(Figur)]TJ -0.4649 Tc 13.03 0 Td -(e1)Tj -0 Tc 1.444 0 Td -[(5.25 )-215(is )-215(whether )-215(the )-215(IPC )-215(facility )-215(can)]TJ --22.474 -1.2 Td -[(automatically )-296(cr)18(eate )-296(a )-296(unique )-296(connection )-296(to )-296(a )-296(server )-296(for )-296(each )-296(client.)]TJ --0.092 Tc 33.407 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-296(see )-296(in)]TJ --34.794 -1.2 Td -[(Chapter )-142(17 )-142(that )-142(UNIX )-142(str)18(eam )-142(sockets )-142(pr)18(ovide )-142(this )-142(capability)]TJ -0.6419 Tc 27.596 0 Td -(.T)Tj -0 Tc 1.505 0 Td -[(he )-142(next )-142(thr)18(ee )-142(sections)]TJ --29.101 -1.2 Td -[(describe each of the thr)18(ee forms of XSI IPC in detail.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46933 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(910)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 155.6107 668.9599 Tm -(tempfile)Tj -/T1_1 1 Tf -0.6515 Tc (.W)Tj -0.4015 Tc 6.609 0 Td -(eh)Tj -0 Tc 1.462 0 Td -[(ave )-151(to )-151(use )-151(the)]TJ -/TT0 1 Tf -6.915 0 Td -(df)Tj -/T1_1 1 Tf -1.601 0 Td -[(command )-151(in )-151(this )-151(example )-151(to )-151(see )-151(the )-151(actual)]TJ --16.588 -1.2 Td -[(amount of fr)18(ee space on the \336le system.)]TJ -/T1_0 1 Tf --2.602 -1.84 Td -(4.9)Tj -/T1_1 1 Tf -2.602 0 Td -[(If )-40(the )-40(link )-40(being )-40(r)18(emoved )-40(is )-40(not )-40(the )-40(last )-40(link )-40(to )-40(the )-40(\336le, )-40(the )-40(\336le )-40(is )-40(not )-40(r)10(emoved. )-290(In)]TJ -0 -1.2 TD -[(this )-200(case, )-200(the )-200(changed-status )-200(time )-200(of )-200(the )-200(\336le )-200(is )-200(updated.)-700(But )-200(if )-200(the )-200(link )-200(being)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(moved )-57(is )-57(the )-57(last )-57(link )-57(to )-57(the )-57(\336le, )-57(it )-57(makes )-57(no )-57(sense )-57(to )-57(update )-57(this )-57(time, )-57(because)]TJ --0.856 -1.2 Td -[(all the information about the \336le \(the i-node\) is r)18(emoved with the \336le.)]TJ -/T1_0 1 Tf --2.602 -1.84 Td -(4.10)Tj -/T1_1 1 Tf --0.092 Tc 2.602 0 Td -[(We )-212(r)]TJ -0 Tc 2.041 0 Td -[(ecursively )-27(call )-27(our )-27(function)]TJ -/TT0 1 Tf -12.414 0 Td -(dopath)Tj -/T1_1 1 Tf -3.878 0 Td -[(after )-27(opening )-27(a )-27(dir)18(ectory )-27(with)]TJ -/TT0 1 Tf -13.615 0 Td -(opendir)Tj -/T1_1 1 Tf -(.)Tj --31.948 -1.2 Td -[(Assuming )-3(that)]TJ -/TT0 1 Tf -6.78 0 Td -(opendir)Tj -/T1_1 1 Tf -4.453 0 Td -[(uses )-3(a )-3(single )-3(\336le )-3(descriptor)]TJ -0.2527 Tc 11.877 0 Td -(,t)Tj -0 Tc 0.829 0 Td -[(his )-3(means )-3(that )-3(each )-3(time )-3(we)]TJ --23.939 -1.2 Td -[(descend )-6(one )-6(level, )-6(we )-6(use )-6(another )-6(descriptor)]TJ -0.506 Tc 19.795 0 Td -(.\()Tj --0.092 Tc 1.089 0 Td -[(We )-190(a)]TJ -0 Tc 2.143 0 Td -[(ssume )-6(that )-6(the )-6(descriptor )-6(isn\325t)]TJ --23.027 -1.2 Td -[(closed )-106(until )-106(we\325r)]TJ -0.3563 Tc 7.569 0 Td -(e\336)Tj -0 Tc 1.44 0 Td -[(nished )-106(with )-106(a )-106(dir)18(ectory )-106(and )-106(call)]TJ -/TT0 1 Tf -14.884 0 Td -(closedir)Tj -/T1_1 1 Tf -[(.\) )-356(This)-357(limits )-106(the)]TJ --23.893 -1.2 Td -[(depth )-8(of )-8(the )-8(\336le )-8(system )-8(tr)18(ee )-8(that )-8(we )-8(can )-8(traverse )-8(to )-8(the )-8(maximum )-8(number )-8(of )-8(open)]TJ -T* -[(descriptors )-131(for )-131(the )-131(pr)19(ocess. )-381(Note)-380(that )-131(the)]TJ -/TT0 1 Tf -19.36 0 Td -(nftw)Tj -/T1_1 1 Tf -2.781 0 Td -[(function )-131(as )-131(speci\336ed )-131(in )-131(the )-131(XSI)]TJ --22.141 -1.2 Td -[(option )-45(of )-45(the )-45(Single )-45(UNIX )-45(Speci\336cation )-45(allows )-45(the )-45(caller )-45(to )-45(specify )-45(the )-45(number )-45(of)]TJ -T* -[(descriptors to use, implying that it can close and r)18(euse descriptors.)]TJ -/T1_0 1 Tf --2.602 -1.84 Td -(4.12)Tj -/T1_1 1 Tf -2.602 0 Td -(The)Tj -/TT0 1 Tf -1.954 0 Td -(chroot)Tj -/T1_1 1 Tf -3.88 0 Td -[(function )-30(is )-30(used )-30(by )-30(the )-30(Internet )-30(File )-30(T)91(ransfer )-30(Pr)18(otocol)]TJ -23.987 0.04 Td -(\()Tj -0.333 -0.04 Td -(FTP)Tj -1.773 0.04 Td -(\))Tj -0.613 -0.04 Td -[(pr)18(ogram)]TJ --32.54 -1.2 Td -[(to )-122(aid )-122(in )-122(security)]TJ -0.6219 Tc 7.67 0 Td -(.U)Tj -0 Tc 1.65 0 Td -[(sers )-122(without )-122(accounts )-122(on )-122(a )-122(system )-122(\(termed)]TJ -/T1_2 1 Tf -19.928 0 Td -[(anonymous )-122(FTP)]TJ -/T1_1 1 Tf -(\))Tj --29.248 -1.2 Td -(ar)Tj -0.3727 Tc 0.877 0 Td -(ep)Tj -0 Tc 1.453 0 Td -[(laced )-123(in )-123(a )-123(separate )-123(dir)19(ectory)]TJ -0.3728 Tc 12.807 0 Td -(,a)Tj -0 Tc 1.123 0 Td -[(nd )-123(a)]TJ -/TT0 1 Tf -2.439 0 Td -(chroot)Tj -/T1_1 1 Tf -3.973 0 Td -[(is )-123(done )-123(to )-123(that )-123(dir)19(ectory)]TJ -0.6228 Tc 10.944 0 Td -(.T)Tj -0 Tc 1.486 0 Td -(his)Tj --35.101 -1.2 Td -[(pr)18(events the user fr)18(om accessing any \336le outside this new r)18(oot dir)18(ectory)111(.)]TJ -0 -1.8 TD -[(In )-122(addition,)]TJ -/TT0 1 Tf -5.671 0 Td -(chroot)Tj -/T1_1 1 Tf -3.972 0 Td -[(can )-122(be )-122(used )-122(to )-122(build )-122(a )-122(copy )-122(of )-122(a )-122(\336le )-122(system )-122(hierar)19(chy )-122(at )-122(a)]TJ --9.643 -1.2 Td -[(new )-135(location )-135(and )-135(then )-135(modify )-135(this )-135(new )-135(copy )-135(without )-135(changing )-135(the )-135(original )-135(\336le)]TJ -0 -1.2 TD -[(system. )-336(This)-337(could )-86(be )-86(used, )-86(for )-86(example, )-86(to )-86(test )-86(the )-86(installation )-86(of )-86(new )-86(softwar)15(e)]TJ --0 -1.2 Td -(packages.)Tj -0 -1.8 TD -[(Only )-253(the )-253(super)8(user )-253(can )-253(execute)]TJ -/TT0 1 Tf -15.367 0 Td -(chroot)Tj -/T1_1 1 Tf -0.5035 Tc (,a)Tj -0 Tc 4.854 0 Td -[(nd )-254(once )-254(you )-254(change )-254(the )-254(r)18(oot )-254(of )-254(a)]TJ --20.22 -1.2 Td -[(pr)18(ocess, it \(and all its descendants\) can never get back to the original\ r)18(oot.)]TJ -/T1_0 1 Tf --2.602 -1.84 Td -(4.13)Tj -/T1_1 1 Tf -2.602 0 Td -[(First, )-181(call)]TJ -/TT0 1 Tf -4.63 0 Td -(stat)Tj -/T1_1 1 Tf -2.831 0 Td -[(to )-181(fetch )-181(the )-181(thr)19(ee )-181(times )-181(for )-181(the )-181(\336le; )-181(then )-181(call)]TJ -/TT0 1 Tf -21.157 0 Td -(utime)Tj -/T1_1 1 Tf -3.431 0 Td -[(to )-181(set )-181(the)]TJ --32.048 -1.2 Td -[(desir)18(ed )-234(value.)-734(The )-234(value )-234(that )-234(we )-234(don\325t )-234(want )-234(to )-234(change )-234(in )-234(the )-234(call )-234(to)]TJ -/TT0 1 Tf -33.397 0 Td -(utime)Tj -/T1_1 1 Tf --33.398 -1.2 Td -[(should be the corr)18(esponding value fr)18(om)]TJ -/TT0 1 Tf -17.987 0 Td -(stat)Tj -/T1_1 1 Tf -(.)Tj -/T1_0 1 Tf --20.589 -1.84 Td -(4.14)Tj -/T1_1 1 Tf -2.602 0 Td -(The)Tj -/TT0 1 Tf -2.015 0 Td -(finger)Tj -/T1_1 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.674 -0.04 Td -[(command )-91(calls)]TJ -/TT0 1 Tf -7.081 0 Td -(stat)Tj -/T1_1 1 Tf -2.741 0 Td -[(on )-91(the )-91(mailbox.)-591(The )-91(last-modi\336cation )-91(time)]TJ --16.945 -1.2 Td -[(is )-93(the )-93(time )-93(that )-93(mail )-93(was )-93(last )-93(r)15(eceived, )-93(and )-93(the )-93(last-access )-93(time )-93(is )-93(when )-93(the )-93(mail)]TJ -0 -1.2 TD -[(was last r)18(ead.)]TJ -/T1_0 1 Tf --2.602 -1.84 Td -(4.15)Tj -/T1_1 1 Tf -2.602 0 Td -(Both)Tj -/TT0 1 Tf -2.407 0 Td -(cpio)Tj -/T1_1 1 Tf -2.742 0 Td -(and)Tj -/TT0 1 Tf -2.035 0 Td -(tar)Tj -/T1_1 1 Tf -2.142 0 Td -(stor)Tj -0.3423 Tc 1.673 0 Td -(eo)Tj -0 Tc 1.367 0 Td -[(nly )-92(the )-92(modi\336cation )-92(time )-92(\()]TJ -/TT0 1 Tf -12.122 0 Td -(st_mtime)Tj -/T1_1 1 Tf -[(\))-342(in)-342(t)-1(he )-92(ar)18(chive.)]TJ --24.49 -1.2 Td -[(The )-47(access )-47(time )-47(isn\325t )-47(stor)18(ed, )-47(because )-47(its )-47(value )-47(corr)17(esponds )-47(to )-47(the )-47(time )-47(the )-47(ar)17(chive)]TJ -T* -[(was )-95(cr)18(eated, )-95(since )-95(the )-95(\336le )-95(has )-95(to )-95(be )-95(r)16(ead )-95(to )-95(be )-95(ar)17(chived. )-345(The)]TJ -/TT0 1 Tf -27.998 0 Td -(-a)Tj -/T1_1 1 Tf -1.545 0 Td -[(option )-95(to)]TJ -/TT0 1 Tf -4.454 0 Td -(cpio)Tj -/T1_1 1 Tf --33.998 -1.2 Td -[(has )-23(it )-23(r)17(eset )-23(the )-23(access )-23(time )-23(of )-23(each )-23(input )-23(\336le )-23(after )-23(the )-23(\336le )-23(has )-23(been )-23(r)13(ead. )-273(This)-274(way)111(,)]TJ -T* -[(the )-119(cr)18(eation )-119(of )-119(the )-119(ar)18(chive )-119(doesn\325t )-119(change )-119(the )-119(access )-119(time.)-619(\(Resetting )-119(the )-119(access)]TJ -T* -[(time, )-150(however)]TJ -0.4001 Tc 6.435 0 Td -(,d)Tj -0 Tc 1.261 0 Td -[(oes )-150(modify )-150(the )-150(changed-status )-150(time.\))-650(The )-150(changed-status )-150(time)]TJ --7.696 -1.2 Td -[(isn\325t )-76(stor)18(ed )-76(in )-76(the )-76(ar)17(chive, )-76(because )-76(we )-76(can\325t )-76(set )-76(this )-76(value )-76(on )-76(extraction )-76(even )-76(if )-76(it)]TJ -T* -[(was )-181(ar)18(chived. )-431(\(The)]TJ -/TT0 1 Tf -9.406 0 Td -(utimes)Tj -/T1_1 1 Tf -4.031 0 Td -[(function )-181(and )-181(its )-181(r)18(elated )-181(functions,)]TJ -/TT0 1 Tf -16.038 0 Td -(futimens)Tj -/T1_1 1 Tf -5.231 0 Td -(and)Tj -/TT0 1 Tf --34.705 -1.2 Td -(utimensat)Tj -/T1_1 1 Tf -0.25 Tc (,c)Tj -0 Tc 6.344 0 Td -(an change only the access time and the modi\336cation time.\))Tj --6.344 -1.8 Td -[(When )-480(the )-480(ar)18(chive )-480(is )-480(r)18(ead )-480(back )-480(\(extracted\),)]TJ -/TT0 1 Tf -22.106 0 Td -(tar)Tj -/T1_1 1 Tf -[(,)-730(by)-730(default, )-480(r)18(estor)18(es )-480(the)]TJ --22.106 -1.2 Td -[(modi\336cation )-94(time )-94(to )-94(the )-94(value )-94(in )-94(the )-94(ar)17(chive. )-344(The)]TJ -/TT0 1 Tf -23.071 0 Td -(m)Tj -/T1_1 1 Tf -0.944 0 Td -[(option )-94(to)]TJ -/TT0 1 Tf -4.452 0 Td -(tar)Tj -/T1_1 1 Tf -2.144 0 Td -[(tells )-94(it )-94(to )-94(not)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46934 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(724)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pseudo )-250(T)92(erminals )]TJ -38.741 0 Td -[(Chapter)-500(19)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(On )-99(Fr)18(eeBSD,)]TJ -/TT0 1 Tf -6.118 0 Td -(grantpt)Tj -/T1_1 1 Tf -4.55 0 Td -(and)Tj -/TT0 1 Tf -2.042 0 Td -(unlockpt)Tj -/T1_1 1 Tf -5.15 0 Td -[(do )-99(nothing )-99(other )-99(than )-99(ar)18(gument )-99(validation; )-99(the )-99(PTYs)]TJ --17.859 -1.25 Td -(ar)Tj -0.6699 Tc 0.877 0 Td -(ec)Tj --0.018 Tc 1.593 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ated )-420(dynamically )-420(with )-420(the )-420(corr)18(ect )-420(permissions.)-919(Note )-420(that )-420(Fr)18(eeBSD )-420(de\336nes )-420(the)]TJ -/TT0 1 Tf --3.326 -1.25 Td -(O_NOCTTY)Tj -/T1_1 1 Tf -5.22 0 Td -[(\337ag )-170(only )-170(for )-170(compatibility )-170(with )-170(applications )-170(that )-170(call)]TJ -/TT0 1 Tf -24.86 0 Td -(posix_openpt)Tj -/T1_1 1 Tf -0.6698 Tc (.F)Tj --0.018 Tc 8.676 0 Td -(re)Tj -0 Tc 0.856 0 Td -(eBSD)Tj --39.611 -1.25 Td -[(does )-137(not )-137(allocate )-137(a )-137(contr)18(olling )-137(terminal )-137(as )-137(a )-137(side )-137(ef)18(fect )-137(of )-137(opening )-137(a )-137(terminal )-137(device, )-137(so )-137(the)]TJ -/TT0 1 Tf -0 -1.25 TD -(O_NOCTTY)Tj -/T1_1 1 Tf -5.05 0 Td -[(\337ag has no ef)18(fect.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1362.25 6110.25 cm -0 0 m -3768 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 386.9896 602.9276 Tm -[(Fr)18(eeBSD )-250(Linux )-250(Mac)-250(OS X)-500(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-1827(3.2.0)-1735(10.6.8 )-2170(10)]TJ --30.493 0.625 Td -(Function)Tj -13.3 0 Td -(Description)Tj -12.888 0 Td -(XSI)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1362.25 5890.25 cm -0 0 m -3768 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1362.25 5870.25 cm -0 0 m -3768 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 140.1868 578.8958 Tm -(grantpt)Tj -/T1_1 1 Tf -8.7 0 Td -(change permissions of slave PTY device)Tj -3.559 Tc 19.585 0 Td -(\245\245)Tj -3.3795 Tc 7.867 0 Td -[(\245\245 )3445(\245)]TJ -/TT0 1 Tf -0 Tc -36.153 -1.25 Td -(posix_openpt)Tj -/T1_1 1 Tf -8.7 0 Td -(open a master PTY device)Tj -3.559 Tc 19.585 0 Td -(\245\245)Tj -3.3795 Tc 7.867 0 Td -[(\245\245 )3445(\245)]TJ -/TT0 1 Tf -0 Tc -36.153 -1.25 Td -(ptsname)Tj -/T1_1 1 Tf --0.018 Tc 8.7 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turn name of slave PTY device)Tj -3.559 Tc 18.729 0 Td -(\245\245)Tj -3.3795 Tc 7.867 0 Td -[(\245\245 )3445(\245)]TJ -/TT0 1 Tf -0 Tc -36.153 -1.25 Td -(unlockpt)Tj -/T1_1 1 Tf -8.7 0 Td -(allow slave PTY device to be opened)Tj -3.559 Tc 19.585 0 Td -(\245\245)Tj -3.3795 Tc 7.867 0 Td -[(\245\245 )3445(\245)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1362.25 5450.25 cm -0 0 m -3768 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3810.25 5450.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3568.25 5450.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2038.25 5450.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5130.25 5450.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1362.25 5450.25 cm -0 0 m -0 660 l -S -Q -Q -BT -/T1_0 1 Tf -0 Tc 7.9981 0 0 7.9981 248.0765 526.8735 Tm -(Figure 19.8)Tj -/T1_1 1 Tf -5.695 0 Td -(XSI pseudo terminal functions)Tj -9.9976 0 0 9.9976 147.5648 500.4799 Tm -[(The )-34(Single )-34(UNIX )-34(Speci\336cation )-34(has )-34(impr)18(oved )-34(portability )-34(in )-34(this )-34(ar)20(ea, )-34(but )-34(dif)18(fer)18(ences)]TJ --0.018 Tc -1.8 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(main. )-339(W)]TJ -0.339 Tc 4.003 0 Td -(ep)Tj --0.018 Tc 1.419 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vide )-89(two )-89(functions )-89(that )-89(handle )-89(all )-89(the )-89(details:)]TJ -/TT0 1 Tf -20.915 0 Td -(ptym_open)Tj -/T1_1 1 Tf -5.739 0 Td -[(to )-89(open )-89(the)]TJ --33.855 -1.2 Td -[(next )-215(available )-215(PTY )-215(master )-215(device )-215(and)]TJ -/TT0 1 Tf -18.115 0 Td -(ptys_open)Tj -/T1_1 1 Tf -5.865 0 Td -[(to )-215(open )-215(the )-215(corr)18(esponding )-215(slave)]TJ --23.98 -1.2 Td -(device.)Tj -/TT0 1 Tf -8.9978 0 0 8.9978 147.5644 447.7925 Tm -(#include "apue.h")Tj -0 -1.902 TD -(int ptym_open\(char *)Tj -/T1_2 1 Tf -(pts_name)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 17.689 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(pts_namesz)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --4.795 -1.902 Td -(Returns: \336le descriptor of PTY master if OK,)Tj -/TT1 1 Tf -19.77 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --34.464 -1.902 Td -(int ptys_open\(char *)Tj -/T1_2 1 Tf -(pts_name)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -15.442 -1.902 Td -(Returns: \336le descriptor of PTY slave if OK,)Tj -/TT1 1 Tf -19.022 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3749.25 cm -0 0 m -0 820 l -3900 820 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.997 0 0 9.997 129.5611 361.3116 Tm -[(Normally)111(,)-389(we)-389(don\325t )-139(call )-139(these )-139(two )-139(functions )-139(dir)18(ectly; )-139(instead, )-139(the )-139(function)]TJ -/TT0 1 Tf -34.2 0 Td -(pty_fork)Tj -/T1_1 1 Tf --34.2 -1.2 Td -(\(Section 19.4\) calls them and also)Tj -/TT0 1 Tf -14.783 0 Td -(fork)Tj -/T1_1 1 Tf -0.25 Tc (sac)Tj -0 Tc 4.268 0 Td -[(hild pr)18(ocess.)]TJ --17.251 -1.2 Td -(The)Tj -/TT0 1 Tf -2.119 0 Td -(ptym_open)Tj -/T1_1 1 Tf -5.845 0 Td -[(function )-195(opens )-195(the )-195(next )-195(available )-195(PTY )-195(master)]TJ -0.6955 Tc 21.088 0 Td -(.T)Tj -0 Tc 1.559 0 Td -[(he )-195(caller )-195(must)]TJ --32.412 -1.2 Td -[(allocate )-156(an )-156(array )-156(to )-156(hold )-156(the )-156(name )-156(of )-156(the )-156(slave; )-156(if )-156(the )-156(call )-156(succeeds, )-156(the )-156(name )-156(of )-156(the)]TJ -0 -1.2 TD -[(corr)18(esponding )-371(slave )-371(is )-371(r)18(eturned )-371(thr)18(ough)]TJ -/T1_2 1 Tf -19.936 0 Td -(pts_name)Tj -/T1_1 1 Tf -0.8709 Tc (.T)Tj -0 Tc 5.623 0 Td -[(his )-371(name )-371(is )-371(then )-371(passed )-371(to)]TJ -/TT0 1 Tf --25.559 -1.2 Td -(ptys_open)Tj -/T1_1 1 Tf -0.3265 Tc (,w)Tj -0 Tc 6.811 0 Td -[(hich )-76(opens )-76(the )-76(slave )-76(device.)-576(The )-76(length )-76(of )-76(the )-76(buf)18(fer )-76(in )-76(bytes )-76(is )-76(passed)]TJ --6.811 -1.2 Td -(in)Tj -/T1_2 1 Tf -1.191 0 Td -(pts_namesz)Tj -/T1_1 1 Tf -5.04 0 Td -[(so )-68(that )-68(the)]TJ -/TT0 1 Tf -5.045 0 Td -(ptym_open)Tj -/T1_1 1 Tf -5.718 0 Td -[(function )-68(doesn\325t )-68(copy )-68(a )-68(string )-68(that )-68(is )-68(longer )-68(than)]TJ --16.994 -1.2 Td -[(the buf)18(fer)74(.)]TJ -1.8 -1.2 Td -[(The )-294(r)18(eason )-294(for )-294(pr)18(oviding )-294(two )-294(functions )-294(to )-294(open )-294(the )-294(two )-294(devices )-294(will )-294(become)]TJ --1.8 -1.2 Td -[(obvious )-52(when )-52(we )-52(show )-52(the)]TJ -/TT0 1 Tf -12.602 0 Td -(pty_fork)Tj -/T1_1 1 Tf -5.102 0 Td -[(function. )-302(Normally)]TJ -0.3023 Tc 8.691 0 Td -(,ap)Tj --0.018 Tc 1.956 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-52(calls)]TJ -/TT0 1 Tf -4.326 0 Td -(ptym_open)Tj -/T1_1 1 Tf --33.6 -1.2 Td -[(to )-68(open )-68(the )-68(master )-68(and )-68(obtain )-68(the )-68(name )-68(of )-68(the )-68(slave.)-568(The )-68(pr)18(ocess )-68(then)]TJ -/TT0 1 Tf -32.211 0 Td -(fork)Tj -/T1_1 1 Tf -[(s, )-68(and )-68(the)]TJ --32.211 -1.2 Td -[(child )-4(calls)]TJ -/TT0 1 Tf -4.677 0 Td -(ptys_open)Tj -/T1_1 1 Tf -5.654 0 Td -[(to )-4(open )-4(the )-4(slave )-4(after )-4(calling)]TJ -/TT0 1 Tf -13.24 0 Td -(setsid)Tj -/T1_1 1 Tf -3.854 0 Td -[(to )-4(establish )-4(a )-4(new )-4(session.)]TJ --27.426 -1.2 Td -[(This is how the slave becomes the contr)18(olling terminal for the child.)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2102.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9968 0 0 8.9968 129.5534 200.6468 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#if defined\(SOLARIS\))Tj -T* -(#include )Tj -0 -1.189 TD -(#endif)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46935 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.5)]TJ --0.092 Tc 33.432 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(Option )-250(Flags)]TJ -/T1_1 1 Tf -11.401 0 Td -(689)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(IUTF8)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_iflag)Tj -/T1_0 1 Tf -0.3021 Tc (,L)Tj -0 Tc 5.696 0 Td -[(inux, )-52(Mac )-52(OS )-52(X\))-552(Allow )-52(character )-52(erase )-52(pr)18(ocessing )-52(to )-52(work)]TJ --5.696 -1.2 Td -(with UTF)Tj -4.23 0.09 Td -(-)Tj -0.25 Tc 0.333 -0.09 Td -(8m)Tj -0 Tc 1.633 0 Td -(ultibyte characters.)Tj -/TT0 1 Tf --13.079 -1.72 Td -(IXANY)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_iflag)Tj -/T1_0 1 Tf -0.4648 Tc (,P)Tj -0 Tc 5.852 0 Td -[(OSIX.1, )-215(Fr)18(eeBSD, )-215(Linux, )-215(Mac )-215(OS )-215(X, )-215(Solaris\))-715(Enable )-215(any)]TJ --5.852 -1.2 Td -[(characters to r)18(estart output.)]TJ -/TT0 1 Tf --6.883 -1.72 Td -(IXOFF)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_iflag)Tj -/T1_0 1 Tf -0.7433 Tc (,P)Tj -0 Tc 6.13 0 Td -[(OSIX.1, )-493(Fr)18(eeBSD, )-493(Linux, )-493(Mac )-493(OS )-493(X, )-493(Solaris\))-993(If )-493(set,)]TJ --6.13 -1.2 Td -[(start\320stop )-16(input )-16(contr)18(ol )-16(is )-16(enabled.)-516(When )-16(it )-16(notices )-16(that )-16(the )-16(input )-16(queue)]TJ -0 -1.2 TD -[(is )-331(getting )-331(full, )-331(the )-331(terminal )-331(driver )-331(outputs )-331(a )-331(ST)18(OP )-331(character)]TJ -0.8308 Tc 29.126 0 Td -(.T)Tj -0 Tc 1.694 0 Td -(his)Tj --30.82 -1.2 Td -[(character )-153(should )-153(be )-153(r)18(ecognized )-153(by )-153(the )-153(device )-153(that )-153(is )-153(sending )-153(the )-153(data)]TJ -T* -[(and )-141(cause )-141(the )-141(device )-141(to )-141(stop.)-640(Later)]TJ -0.3909 Tc 16.25 0 Td -(,w)Tj -0 Tc 1.475 0 Td -[(hen )-141(the )-141(characters )-141(on )-141(the )-141(input)]TJ --17.725 -1.2 Td -[(queue )-187(have )-187(been )-187(pr)18(ocessed, )-187(the )-187(terminal )-187(driver )-187(will )-187(output )-187(a )-187(ST)73(AR)37(T)]TJ -T* -(character)Tj -0.5 Tc 3.991 0 Td -(.T)Tj -0 Tc 1.363 0 Td -[(his should cause the device to r)18(esume sending data.)]TJ -/TT0 1 Tf --12.237 -1.72 Td -(IXON)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_iflag)Tj -/T1_0 1 Tf -0.7433 Tc (,P)Tj -0 Tc 6.13 0 Td -[(OSIX.1, )-493(Fr)18(eeBSD, )-493(Linux, )-493(Mac )-493(OS )-493(X, )-493(Solaris\))-993(If )-493(set,)]TJ --6.13 -1.2 Td -[(start\320stop )-69(output )-69(contr)18(ol )-69(is )-69(enabled.)-569(When )-69(the )-69(terminal )-69(driver )-69(r)18(eceives)]TJ -0.3784 Tc T* -(aS)Tj --0.018 Tc 1.403 0 Td -(TO)Tj -0.3784 Tc 1.381 0 Td -(Pc)Tj -0 Tc 1.426 0 Td -(haracter)Tj -0.3784 Tc 3.547 0 Td -(,o)Tj -0 Tc 1.174 0 Td -[(utput )-128(stops.)-629(While )-128(the )-128(output )-128(is )-128(stopped, )-128(the )-128(next)]TJ --8.932 -1.2 Td -[(ST)74(AR)]TJ -0.3605 Tc 2.473 0 Td -(Tc)Tj -0 Tc 1.417 0 Td -[(haracter )-110(r)18(esumes )-111(the )-111(output.)-611(If )-111(this )-111(\337ag )-111(is )-111(not )-111(set, )-111(the )-111(ST)78(AR)37(T)]TJ --3.89 -1.2 Td -[(and ST)18(OP characters ar)]TJ -0.25 Tc 10.319 0 Td -(er)Tj -0 Tc 1.106 0 Td -[(ead by the pr)18(ocess as normal characters.)]TJ -/TT0 1 Tf --18.308 -1.6 Td -(MDMBUF)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_0 1 Tf -0.3878 Tc (,F)Tj --0.018 Tc 5.727 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-138(Mac )-138(OS )-138(X\))-638(Flow )-138(contr)18(ol )-138(the )-138(output )-138(accor)18(ding )-138(to)]TJ --6.583 -1.2 Td -[(the modem carrier \337ag.)-500(This is the old name for the)]TJ -/TT0 1 Tf -23.167 0 Td -(CCAR_OFLOW)Tj -/T1_0 1 Tf -6.25 0 Td -(\337ag.)Tj -/TT0 1 Tf --36.3 -1.6 Td -(NLDLY)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_0 1 Tf -0.2863 Tc (,X)Tj -0 Tc 5.736 0 Td -[(SI, )-36(Linux, )-36(Solaris\))-536(Newline )-36(delay )-36(mask.)-536(The )-36(values )-36(for )-36(the)]TJ --5.736 -1.2 Td -[(mask ar)18(e)]TJ -/TT0 1 Tf -4.219 0 Td -(NL0)Tj -/T1_0 1 Tf -2.05 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(NL1)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf --14.343 -1.6 Td -(NOFLSH)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_0 1 Tf -0.4754 Tc (,P)Tj -0 Tc 5.862 0 Td -[(OSIX.1, )-225(Fr)18(eeBSD, )-225(Linux, )-225(Mac )-225(OS )-225(X, )-225(Solaris\))-725(By )-225(default,)]TJ --5.862 -1.2 Td -[(when )-122(the )-122(terminal )-122(driver )-122(generates )-122(the)]TJ -/TT0 1 Tf -18.189 0 Td -(SIGINT)Tj -/T1_0 1 Tf -3.973 0 Td -(and)Tj -/TT0 1 Tf -2.066 0 Td -(SIGQUIT)Tj -/T1_0 1 Tf -4.572 0 Td -(signals,)Tj --28.799 -1.2 Td -[(both )-87(the )-87(input )-87(and )-87(output )-87(queues )-87(ar)]TJ -0.3371 Tc 16.543 0 Td -(e\337)Tj -0 Tc 1.424 0 Td -[(ushed. )-337(Also,)-337(when )-87(it )-87(generates)]TJ --17.967 -1.2 Td -(the)Tj -/TT0 1 Tf -1.767 0 Td -(SIGSUSP)Tj -/T1_0 1 Tf -4.58 0 Td -[(signal, )-130(the )-130(input )-130(queue )-130(is )-130(\337ushed.)-632(If )-130(the)]TJ -/TT0 1 Tf -19.03 0 Td -(NOFLSH)Tj -/T1_0 1 Tf -3.98 0 Td -[(\337ag )-130(is)]TJ --29.358 -1.2 Td -[(set, )-299(this )-299(normal )-299(\337ushing )-299(of )-299(the )-299(queues )-299(does )-299(not )-299(occur )-299(when )-299(these)]TJ -T* -(signals ar)Tj -0.25 Tc 4.195 0 Td -(eg)Tj -0 Tc 1.285 0 Td -(enerated.)Tj -/TT0 1 Tf --12.363 -1.6 Td -(NOKERNINFO)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_0 1 Tf -0.6203 Tc (,F)Tj --0.018 Tc 5.959 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-370(Mac )-370(OS )-370(X\))-870(When )-370(set, )-370(this )-370(\337ag )-370(pr)18(events )-370(the)]TJ --6.815 -1.2 Td -(ST)Tj --0.074 Tc 1.064 0 Td -(AT)Tj -0 Tc 1.317 0 Td -[(US )-64(character )-64(fr)18(om )-64(printing )-64(information )-64(on )-64(the )-64(for)20(egr)18(ound )-64(pr)18(ocess)]TJ --2.381 -1.2 Td -[(gr)18(oup. )-496(Regar)18(dless )-246(of )-246(whether )-246(this )-246(\337ag )-246(is )-246(set, )-246(however)]TJ -0.4961 Tc 25.804 0 Td -(,t)Tj -0 Tc 1.072 0 Td -[(he )-246(ST)]TJ --0.074 Tc 2.621 0 Td -(AT)Tj -0 Tc 1.317 0 Td -(US)Tj --30.814 -1.2 Td -[(character )-145(still )-145(causes )-145(the)]TJ -/TT0 1 Tf -11.527 0 Td -(SIGINFO)Tj -/T1_0 1 Tf -4.595 0 Td -[(signal )-144(to )-144(be )-144(sent )-144(to )-144(the )-144(for)15(egr)18(ound)]TJ --16.122 -1.2 Td -[(pr)18(ocess gr)18(oup.)]TJ -/TT0 1 Tf --6.883 -1.6 Td -(OCRNL)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_0 1 Tf -0.5585 Tc (,X)Tj -0 Tc 6.009 0 Td -[(SI, )-308(Fr)18(eeBSD, )-308(Linux, )-308(Solaris\))-810(If )-309(set, )-309(map )-309(CR )-309(to )-309(NL )-309(on)]TJ --6.008 -1.2 Td -(output.)Tj -/TT0 1 Tf --6.883 -1.6 Td -(OFDEL)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_0 1 Tf -0.3594 Tc (,X)Tj -0 Tc 5.809 0 Td -[(SI, )-109(Linux, )-109(Solaris\))-610(If )-109(set, )-109(the )-109(output )-109(\336ll )-109(character )-109(is )-109(ASCII)]TJ --5.809 -1.2 Td -[(DEL; otherwise, it\325s ASCII NUL.)-500(See the)]TJ -/TT0 1 Tf -18.197 0 Td -(OFILL)Tj -/T1_0 1 Tf -3.25 0 Td -(\337ag.)Tj -/TT0 1 Tf --28.33 -1.6 Td -(OFILL)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_0 1 Tf -0.2558 Tc (,X)Tj -0 Tc 5.706 0 Td -[(SI, )-6(Linux, )-6(Solaris\))-506(If )-6(set, )-6(\336ll )-6(characters )-6(\(either )-6(ASCII )-6(DEL )-6(or)]TJ --5.706 -1.2 Td -[(ASCII )-104(NUL; )-104(see )-104(the)]TJ -/TT0 1 Tf -9.343 0 Td -(OFDEL)Tj -/T1_0 1 Tf -3.354 0 Td -[(\337ag\) )-104(ar)]TJ -0.3545 Tc 3.229 0 Td -(et)Tj -0 Tc 1.159 0 Td -[(ransmitted )-104(for )-104(a )-104(delay)]TJ -0.3545 Tc 9.981 0 Td -(,i)Tj -0 Tc 0.895 0 Td -[(nstead )-104(of)]TJ --27.961 -1.2 Td -[(using )-152(a )-152(timed )-152(delay)]TJ -0.6518 Tc 9.077 0 Td -(.S)Tj -0 Tc 1.427 0 Td -[(ee )-152(the )-152(six )-152(delay )-152(masks:)]TJ -/TT0 1 Tf -11.059 0 Td -(BSDLY)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.652 0 Td -(CRDLY)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.652 0 Td -(FFDLY)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf --28.867 -1.2 Td -(NLDLY)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.5 0 Td -(TABDLY)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 4.6 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(VTDLY)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf --16.426 -1.6 Td -(OLCUC)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_0 1 Tf -0.2834 Tc (,L)Tj -0 Tc 5.677 0 Td -[(inux, )-33(Solaris\))-534(If )-33(set, )-33(map )-33(lower)18(case )-33(characters )-33(to )-33(upper)16(case)]TJ --5.677 -1.2 Td -(characters on output.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46936 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.5)]TJ --0.092 Tc 33.432 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(Option )-250(Flags)]TJ -/T1_1 1 Tf -11.401 0 Td -(687)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(ECHOK)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_0 1 Tf -0.4202 Tc (,P)Tj -0 Tc 5.807 0 Td -[(OSIX.1, )-170(Fr)18(eeBSD, )-170(Linux, )-170(Mac )-170(OS )-170(X, )-170(Solaris\))-671(If )-170(set )-170(and )-170(if)]TJ -/TT0 1 Tf --5.807 -1.2 Td -(ICANON)Tj -/T1_0 1 Tf -4.157 0 Td -[(is )-307(set, )-307(the )-307(KILL )-307(character )-307(erases )-307(the )-307(curr)21(ent )-307(line )-307(fr)18(om )-307(the)]TJ --4.157 -1.2 Td -[(display )-144(or )-144(outputs )-144(the )-144(NL )-144(character )-144(\(to )-144(emphasize )-144(that )-144(the )-144(entir)]TJ -0.3942 Tc 29.601 0 Td -(el)Tj -0 Tc 1.164 0 Td -(ine)Tj --30.765 -1.2 Td -(was erased\).)Tj -0 -1.8 TD -[(If )-48(the)]TJ -/TT0 1 Tf -2.654 0 Td -(ECHOKE)Tj -/T1_0 1 Tf -3.898 0 Td -[(\337ag )-48(is )-48(supported, )-48(this )-48(description )-48(of)]TJ -/TT0 1 Tf -16.497 0 Td -(ECHOK)Tj -/T1_0 1 Tf -3.298 0 Td -[(assumes )-48(that)]TJ -/TT0 1 Tf --26.348 -1.2 Td -(ECHOKE)Tj -/T1_0 1 Tf -3.85 0 Td -(is not set.)Tj -/TT0 1 Tf --10.733 -1.96 Td -(ECHOKE)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_0 1 Tf -0.3522 Tc (,F)Tj --0.018 Tc 5.691 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-102(Linux, )-102(Mac )-102(OS )-102(X, )-102(Solaris\))-603(If )-102(set )-102(and )-102(if)]TJ -/TT0 1 Tf -20.903 0 Td -(ICANON)Tj -/T1_0 1 Tf -3.952 0 Td -(is)Tj --31.402 -1.2 Td -[(set, )-103(the )-103(KILL )-103(character )-103(is )-103(echoed )-103(by )-103(erasing )-103(each )-103(character )-103(on )-103(the )-103(line.)]TJ -0 -1.2 TD -[(The )-45(way )-45(in )-45(which )-45(each )-45(character )-45(is )-45(erased )-45(is )-45(selected )-45(by )-45(the)]TJ -/TT0 1 Tf -27.129 0 Td -(ECHOE)Tj -/T1_0 1 Tf -3.295 0 Td -(and)Tj -/TT0 1 Tf --30.424 -1.2 Td -(ECHOPRT)Tj -/T1_0 1 Tf -4.45 0 Td -(\337ags.)Tj -/TT0 1 Tf --11.333 -1.96 Td -(ECHONL)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_0 1 Tf -0.4201 Tc (,P)Tj -0 Tc 5.807 0 Td -[(OSIX.1, )-170(Fr)18(eeBSD, )-170(Linux, )-170(Mac )-170(OS )-170(X, )-170(Solaris\))-670(If )-170(set )-170(and )-170(if)]TJ -/TT0 1 Tf --5.807 -1.2 Td -(ICANON)Tj -/T1_0 1 Tf -3.85 0 Td -(is set, the NL character is echoed, even if)Tj -/TT0 1 Tf -18.173 0 Td -(ECHO)Tj -/T1_0 1 Tf -2.65 0 Td -(is not set.)Tj -/TT0 1 Tf --31.556 -1.96 Td -(ECHOPRT)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_0 1 Tf -0.594 Tc (,F)Tj --0.018 Tc 5.933 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-344(Linux, )-344(Mac )-344(OS )-344(X, )-344(Solaris\))-844(If )-344(set )-344(and )-344(if )-344(both)]TJ -/TT0 1 Tf --6.789 -1.2 Td -(ICANON)Tj -/T1_0 1 Tf -4.076 0 Td -(and)Tj -/TT0 1 Tf -2.169 0 Td -(ECHO)Tj -/T1_0 1 Tf -2.876 0 Td -(ar)Tj -0.4756 Tc 0.877 0 Td -(es)Tj -0 Tc 1.379 0 Td -[(et, )-226(then )-226(the )-226(ERASE )-226(character )-226(\(and )-226(WERASE)]TJ --11.375 -1.2 Td -[(character)74(,)-567(if)-567(supported\) )-317(cause )-317(all )-317(the )-317(characters )-317(being )-317(erased )-317(to )-317(be)]TJ -T* -[(printed )-56(as )-56(they )-56(ar)]TJ -0.306 Tc 7.947 0 Td -(ee)Tj -0 Tc 1.264 0 Td -[(rased. )-306(This)-306(is )-56(often )-56(useful )-56(on )-56(a )-56(har)18(d-copy )-56(terminal)]TJ --9.211 -1.2 Td -(to see exactly which characters ar)Tj -0.25 Tc 14.715 0 Td -(eb)Tj -0 Tc 1.282 0 Td -(eing deleted.)Tj -/TT0 1 Tf --22.88 -1.96 Td -(EXTPROC)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_0 1 Tf -0.6206 Tc (,F)Tj --0.018 Tc 5.96 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-371(Linux, )-371(Mac )-371(OS )-371(X\))-869(If )-370(set, )-370(canonical )-370(character)]TJ --6.816 -1.2 Td -[(pr)18(ocessing )-129(is )-129(performed )-129(external )-129(to )-129(the )-129(operating )-129(system.)-629(This )-129(can )-129(be)]TJ -T* -[(the )-33(case )-33(if )-33(the )-33(serial )-33(communication )-33(peripheral )-33(car)]TJ -0.2825 Tc 22.459 0 Td -(dc)Tj -0 Tc 1.337 0 Td -[(an )-32(of)18(\337oad )-32(the )-32(host)]TJ --23.797 -1.2 Td -[(pr)18(ocessor )-43(by )-43(doing )-43(some )-43(of )-43(the )-43(line )-43(discipline )-43(pr)21(ocessing. )-293(This)-292(can )-43(also)]TJ -0 -1.2 Td -(be the case when using pseudo terminals \(Chapter 19\).)Tj -/TT0 1 Tf --6.883 -1.96 Td -(FFDLY)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_0 1 Tf -0.3755 Tc (,X)Tj -0 Tc 5.826 0 Td -[(SI, )-125(Linux, )-125(Solaris\))-625(Form )-125(feed )-125(delay )-125(mask.)-625(The )-125(values )-125(for)]TJ --5.826 -1.2 Td -[(the mask ar)18(e)]TJ -/TT0 1 Tf -5.856 0 Td -(FF0)Tj -/T1_0 1 Tf -2.05 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(FF1)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf --15.98 -1.96 Td -(FLUSHO)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_0 1 Tf -0.4024 Tc (,F)Tj --0.018 Tc 5.741 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-152(Linux, )-152(Mac )-152(OS )-152(X, )-152(Solaris\))-654(If )-152(set, )-152(output )-152(is )-152(being)]TJ --6.597 -1.2 Td -[(\337ushed. )-310(This)-310(\337ag )-60(is )-60(set )-60(when )-60(we )-60(type )-60(the )-60(DISCARD )-60(character; )-60(the )-60(\337ag)]TJ -T* -[(is )-13(clear)18(ed )-13(when )-13(we )-13(type )-13(another )-13(DISCARD )-13(character)]TJ -0.5133 Tc 23.456 0 Td -(.W)Tj -0.2633 Tc 1.671 0 Td -(ec)Tj -0 Tc 1.186 0 Td -[(an )-13(also )-13(set )-13(or)]TJ --26.314 -1.2 Td -(clear this condition by setting or clearing this terminal \337ag.)Tj -/TT0 1 Tf --6.883 -1.96 Td -(HUPCL)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_0 1 Tf -0.5302 Tc (,P)Tj -0 Tc 5.917 0 Td -[(OSIX.1, )-280(Fr)18(eeBSD, )-280(Linux, )-280(Mac )-280(OS )-280(X, )-280(Solaris\))-780(If )-280(set, )-280(the)]TJ --5.917 -1.2 Td -[(modem )-46(contr)18(ol )-46(lines )-46(ar)]TJ -0.2958 Tc 10.345 0 Td -(el)Tj -0 Tc 1.066 0 Td -[(ower)18(ed )-46(\(i.e., )-46(the )-46(modem )-46(connection )-46(is )-46(br)19(oken\))]TJ --11.411 -1.2 Td -[(when the last pr)18(ocess closes the device.)]TJ -/TT0 1 Tf --6.883 -1.96 Td -(ICANON)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_0 1 Tf -0.2509 Tc (,P)Tj -0 Tc 5.638 0 Td -[(OSIX.1, )-1(Fr)18(eeBSD, )-1(Linux, )-1(Mac )-1(OS )-1(X, )-1(Solaris\))-501(If )-1(set, )-1(canonical)]TJ --5.638 -1.2 Td -[(mode )-91(is )-91(in )-91(ef)18(fect )-91(\(Section )-91(18.10\).)-591(This )-91(enables )-91(the )-91(following )-91(characters:)]TJ -T* -(EOF)Tj -0.2789 Tc 1.861 0 Td -(,E)Tj -0 Tc 1.14 0 Td -[(OL, )-29(EOL2, )-29(ERASE, )-29(KILL, )-29(REPRINT)]TJ -0.2789 Tc 15.757 0 Td -(,S)Tj --0.074 Tc 1.054 0 Td -(TAT)Tj -0 Tc 1.856 0 Td -[(US, )-29(and )-29(WERASE.)-529(The)]TJ --21.667 -1.2 Td -(input characters ar)Tj -0.25 Tc 8.269 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ssembled into lines.)Tj --9.498 -1.8 Td -[(If )-230(canonical )-230(mode )-230(is )-230(not )-230(enabled, )-230(r)18(ead )-230(r)18(equests )-230(ar)]TJ -0.4804 Tc 23.642 0 Td -(es)Tj -0 Tc 1.383 0 Td -[(atis\336ed )-230(dir)18(ectly)]TJ --25.026 -1.2 Td -[(fr)18(om )-100(the )-100(input )-100(queue.)]TJ -0.3502 Tc 10.554 0 Td -(Ar)Tj -0 Tc 1.505 0 Td -[(ead )-100(does )-100(not )-100(r)17(eturn )-100(until )-100(at )-100(least )-100(MIN )-100(bytes)]TJ --12.059 -1.2 Td -[(have )-235(been )-235(r)18(eceived )-235(or )-235(the )-235(timeout )-235(value )-235(TIME )-235(has )-235(expir)18(ed )-235(between)]TJ -T* -[(bytes. )-250(Refer)-250(to Section 18.1)]TJ -0.25 Tc 11.952 0 Td -(1f)Tj -0 Tc 1.083 0 Td -(or additional details.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46937 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.5)]TJ --0.092 Tc 33.432 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(Option )-250(Flags)]TJ -/T1_1 1 Tf -11.401 0 Td -(685)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-184(n)]TJ -0 Tc 2.219 0 Td -(ow describe each of the \337ags.)Tj -/TT0 1 Tf --4.019 -2.04 Td -(ALTWERASE)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_0 1 Tf -0.7495 Tc (,F)Tj --0.018 Tc 6.089 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-499(Mac )-499(OS )-499(X\))-1001(If )-499(set, )-499(an )-499(alternate )-499(wor)16(d-erase)]TJ --6.944 -1.2 Td -[(algorithm )-161(is )-161(used )-161(when )-161(the )-161(WERASE )-161(character )-161(is )-161(enter)20(ed. )-411(Instead)-410(of)]TJ --0 -1.2 Td -[(moving )-246(backwar)]TJ -0.4961 Tc 7.683 0 Td -(du)Tj -0 Tc 1.71 0 Td -[(ntil )-246(the )-246(pr)18(evious )-246(white )-246(space )-246(character)]TJ -0.4961 Tc 18.195 0 Td -(,t)Tj -0 Tc 1.072 0 Td -[(his )-246(\337ag)]TJ --28.66 -1.2 Td -[(causes )-489(the )-489(WERASE )-489(character )-489(to )-489(move )-489(backwar)]TJ -0.7387 Tc 24.06 0 Td -(du)Tj -0 Tc 1.953 0 Td -[(ntil )-489(the )-489(\336rst)]TJ --26.012 -1.2 Td -[(nonalphanumeric character is encounter)18(ed.)]TJ -/TT0 1 Tf --6.883 -1.6 Td -(BRKINT)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_iflag)Tj -/T1_0 1 Tf -0.3788 Tc (,P)Tj -0 Tc 5.766 0 Td -[(OSIX.1, )-129(Fr)18(eeBSD, )-129(Linux, )-129(Mac )-129(OS )-129(X, )-129(Solaris\))-629(If )-129(this )-129(\337ag )-129(is)]TJ --5.766 -1.2 Td -[(set )-221(and)]TJ -/TT0 1 Tf -3.863 0 Td -(IGNBRK)Tj -/T1_0 1 Tf -4.071 0 Td -[(is )-221(not )-221(set, )-221(the )-221(input )-221(and )-221(output )-221(queues )-221(ar)]TJ -0.4707 Tc 19.927 0 Td -(e\337)Tj -0 Tc 1.558 0 Td -(ushed)Tj --29.418 -1.2 Td -[(when )-212(a )-212(BREAK )-212(is )-212(r)18(eceived, )-212(and )-212(a)]TJ -/TT0 1 Tf -16.491 0 Td -(SIGINT)Tj -/T1_0 1 Tf -4.062 0 Td -[(signal )-212(is )-212(generated.)-713(This)]TJ --20.554 -1.2 Td -[(signal )-244(is )-244(generated )-244(for )-244(the )-244(for)16(egr)18(ound )-244(pr)18(ocess )-244(gr)18(oup )-244(if )-244(the )-244(terminal)]TJ --0 -1.2 Td -[(device is a contr)18(olling terminal.)]TJ -0 -1.8 TD -[(If )-93(neither)]TJ -/TT0 1 Tf -4.49 0 Td -(IGNBRK)Tj -/T1_0 1 Tf -3.943 0 Td -(nor)Tj -/TT0 1 Tf -1.866 0 Td -(BRKINT)Tj -/T1_0 1 Tf -3.943 0 Td -[(is )-93(set, )-93(then )-93(a )-93(BREAK )-93(is )-93(r)18(ead )-93(as )-93(a )-93(single)]TJ --14.243 -1.2 Td -(character)Tj -/TT0 1 Tf -4.335 0 Td -(\\0)Tj -/T1_0 1 Tf -0.2697 Tc (,u)Tj -0 Tc 2.323 0 Td -(nless)Tj -/TT0 1 Tf -2.47 0 Td -(PARMRK)Tj -/T1_0 1 Tf -3.87 0 Td -[(is )-20(set; )-20(in )-20(that )-20(case )-20(the )-20(BREAK )-20(is )-20(r)18(ead )-20(as )-20(the)]TJ --12.997 -1.2 Td -(3)Tj -0.5 0.09 Td -(-)Tj -0.333 -0.09 Td -(byte sequence)Tj -/TT0 1 Tf -6.464 0 Td -(\\377)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -2.9 0 Td -(\\0)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -1.7 0 Td -(\\0)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf --18.78 -1.648 Td -(BSDLY)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_0 1 Tf -0.3865 Tc (,X)Tj -0 Tc 5.837 0 Td -[(SI, )-136(Linux, )-136(Solaris\))-637(Backspace )-136(delay )-136(mask.)-636(The )-136(values )-136(for)]TJ --5.837 -1.2 Td -[(the mask ar)18(e)]TJ -/TT0 1 Tf -5.856 0 Td -(BS0)Tj -/T1_0 1 Tf -2.05 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(BS1)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf --15.98 -1.648 Td -(CBAUDEXT)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_0 1 Tf -0.4704 Tc (,S)Tj -0 Tc 5.778 0 Td -[(olaris\) )-470(Extended)-471(baud )-220(rates.)-721(Used )-220(to )-220(enable )-220(baud )-220(rates)]TJ --5.778 -1.2 Td -[(gr)18(eater than B38400.)-500(\(W)]TJ -0.25 Tc 10.704 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(iscuss baud rates in Section 18.7.\))Tj -/TT0 1 Tf --18.927 -1.648 Td -(CCAR_OFLOW)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_0 1 Tf -0.419 Tc (,F)Tj --0.018 Tc 5.758 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-169(Mac )-169(OS )-169(X\))-669(Enable )-169(har)18(dwar)]TJ -0.419 Tc 15.982 0 Td -(e\337)Tj -0 Tc 1.506 0 Td -[(ow )-169(contr)18(ol )-169(of )-169(the)]TJ --24.102 -1.2 Td -[(output )-401(using )-401(the )-401(RS)]TJ -9.994 0.09 Td -(-)Tj -0.333 -0.09 Td -[(232 )-401(modem )-401(carrier )-401(signal )-401(Data-Carrier)17(-Detect)]TJ --10.327 -1.16 Td -(\()Tj -0.333 -0.04 Td -(DCD)Tj -2.257 0.04 Td -(\))Tj -0.5 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.363 0 Td -(his is the same as the old)Tj -/TT0 1 Tf -11.194 0 Td -(MDMBUF)Tj -/T1_0 1 Tf -3.85 0 Td -(\337ag.)Tj -/TT0 1 Tf --26.213 -1.648 Td -(CCTS_OFLOW)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_0 1 Tf -0.3594 Tc (,F)Tj --0.018 Tc 5.698 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-109(Mac )-109(OS )-109(X, )-109(Solaris\))-611(Enable )-109(har)18(dwar)]TJ -0.3593 Tc 19.265 0 Td -(e\337)Tj -0 Tc 1.446 0 Td -[(ow )-109(contr)18(ol)]TJ --27.266 -1.2 Td -[(of the output using the Clear)18(-T)92(o-Send)]TJ -16.9 0.04 Td -(\()Tj -0.333 -0.04 Td -(CTS)Tj -1.847 0.04 Td -(\))Tj -0.583 -0.04 Td -(RS)Tj -1.193 0.09 Td -(-)Tj -0.333 -0.09 Td -(232 signal.)Tj -/TT0 1 Tf --28.072 -1.648 Td -(CDSR_OFLOW)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_0 1 Tf -0.3878 Tc (,F)Tj --0.018 Tc 5.727 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-138(Mac )-138(OS )-138(X\))-638(Flow )-138(contr)18(ol )-138(the )-138(output )-138(accor)18(ding )-138(to)]TJ --6.583 -1.2 Td -(the Data-Set-Ready)Tj -8.797 0.04 Td -(\()Tj -0.333 -0.04 Td -(DSR)Tj -1.967 0.04 Td -(\))Tj -0.583 -0.04 Td -(RS)Tj -1.193 0.09 Td -(-)Tj -0.333 -0.09 Td -(232 signal.)Tj -/TT0 1 Tf --20.089 -1.648 Td -(CDTR_IFLOW)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_0 1 Tf -0.2812 Tc (,F)Tj --0.018 Tc 5.62 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-31(Mac )-31(OS )-31(X\))-531(Flow )-31(contr)18(ol )-31(the )-31(input )-31(accor)16(ding )-31(to )-31(the)]TJ --6.476 -1.2 Td -[(Data-T)92(erminal)]TJ -6.375 0.09 Td -(-)Tj -0.333 -0.09 Td -(Ready)Tj -3.064 0.04 Td -(\()Tj -0.333 -0.04 Td -(DTR)Tj -2.055 0.04 Td -(\))Tj -0.583 -0.04 Td -(RS)Tj -1.193 0.09 Td -(-)Tj -0.333 -0.09 Td -(232 signal.)Tj -/TT0 1 Tf --21.152 -1.648 Td -(CIBAUDEXT)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_0 1 Tf -0.4243 Tc (,S)Tj -0 Tc 5.732 0 Td -[(olaris\) )-424(Extended)-425(input )-174(baud )-174(rates.)-675(Used )-174(to )-174(enable )-174(input)]TJ --5.732 -1.2 Td -[(baud rates gr)18(eater than B38400.)-500(\(W)]TJ -0.25 Tc 15.595 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(iscuss baud rates in Section 18.7.\))Tj -/TT0 1 Tf --23.818 -1.648 Td -(CIGNORE)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_0 1 Tf -0.25 Tc (,F)Tj --0.018 Tc 5.589 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, Mac OS X\))-500(Ignor)]TJ -0.25 Tc 10.488 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(ontr)18(ol \337ags.)]TJ -/TT0 1 Tf --24.989 -1.648 Td -(CLOCAL)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_0 1 Tf -0.5302 Tc (,P)Tj -0 Tc 5.917 0 Td -[(OSIX.1, )-280(Fr)18(eeBSD, )-280(Linux, )-280(Mac )-280(OS )-280(X, )-280(Solaris\))-780(If )-280(set, )-280(the)]TJ --5.917 -1.2 Td -[(modem )-113(status )-113(lines )-113(ar)]TJ -0.3633 Tc 10.039 0 Td -(ei)Tj -0 Tc 1.133 0 Td -[(gnor)18(ed. )-363(This)-364(usually )-113(means )-113(that )-113(the )-113(device )-113(is)]TJ --11.172 -1.2 Td -[(dir)18(ectly )-13(attached.)-513(When )-13(this )-13(\337ag )-13(is )-13(not )-13(set, )-13(an)]TJ -/TT0 1 Tf -20.67 0 Td -(open)Tj -/T1_0 1 Tf -2.663 0 Td -[(of )-13(a )-13(terminal )-13(device)]TJ --23.333 -1.2 Td -[(usually )-402(blocks )-402(until )-402(the )-402(modem )-402(answers )-402(a )-402(call )-402(and )-402(establishes )-402(a)]TJ -0 -1.2 TD -(connection, for example.)Tj -/TT0 1 Tf --6.883 -1.648 Td -(CMSPAR)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_0 1 Tf -0.452 Tc (,L)Tj -0 Tc 5.846 0 Td -[(inux\) )-452(Select)-452(mark )-202(or )-202(space )-202(parity)]TJ -0.702 Tc 15.66 0 Td -(.I)Tj -0 Tc 1.289 0 Td -(f)Tj -/TT0 1 Tf -0.785 0 Td -(PARODD)Tj -/T1_0 1 Tf -4.052 0 Td -[(is )-202(set, )-202(the)]TJ --27.632 -1.2 Td -[(parity )-11(bit )-11(is )-11(always )-11(1 )-11(\(mark )-11(parity\).)-511(Otherwise, )-11(the )-11(parity )-11(bit )-11(is )-11(always )-11(0)]TJ -T* -(\(space parity\).)Tj -/TT0 1 Tf --6.883 -1.648 Td -(CRDLY)Tj -/T1_0 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_oflag)Tj -/T1_0 1 Tf -0.456 Tc (,X)Tj -0 Tc 5.906 0 Td -[(SI, )-206(Linux, )-206(Solaris\))-706(Carriage )-206(r)18(eturn )-206(delay )-206(mask.)-706(Possible)]TJ --5.906 -1.2 Td -[(values for the mask ar)18(e)]TJ -/TT0 1 Tf -10.492 0 Td -(CR0)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -2.3 0 Td -(CR1)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -2.3 0 Td -(CR2)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 2.8 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(CR3)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46938 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(676)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1417.25 6670.25 cm -0 0 m -3657 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 381.4771 658.9605 Tm -[(Fr)18(eeBSD )-250(Linux )-250(Mac)-250(OS X)-500(Solaris)]TJ -1.275 -1.25 Td -[(8.0 )-1827(3.2.0)-1735(10.6.8 )-2170(10)]TJ --28.696 0.625 Td -(Flag)Tj -10.525 0 Td -(Description)Tj -11.726 0 Td -(POSIX.1)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1417.25 6450.25 cm -0 0 m -3657 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1417.25 6430.25 cm -0 0 m -3657 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 145.7305 634.9238 Tm -(ALTWERASE)Tj -/T1_1 1 Tf -7.0815 Tc 31.067 0 Td -(\245\245)Tj -0 Tc -23.567 0 Td -(use alternate WERASE algorithm)Tj -/TT0 1 Tf --7.5 -1.25 Td -(ECHO)Tj -/T1_1 1 Tf -4.629 Tc 25.831 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -27.268 0 Td -(enable echo)Tj -/TT0 1 Tf --7.5 -1.25 Td -(ECHOCTL)Tj -/T1_1 1 Tf -3.096 Tc 31.067 0 Td -[(\245\245 )3063(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj --35.424 0 Td -[(echo contr)18(ol chars as \366\(Char\))]TJ -/TT0 1 Tf --7.5 -1.25 Td -(ECHOE)Tj -/T1_1 1 Tf -4.629 Tc 25.831 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -27.268 0 Td -(visually erase chars)Tj -/TT0 1 Tf --7.5 -1.25 Td -(ECHOK)Tj -/T1_1 1 Tf -4.629 Tc 25.831 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -27.268 0 Td -(echo kill)Tj -/TT0 1 Tf --7.5 -1.25 Td -(ECHOKE)Tj -/T1_1 1 Tf -3.096 Tc 31.067 0 Td -[(\245\245 )3063(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj --35.424 0 Td -(visual erase for kill)Tj -/TT0 1 Tf --7.5 -1.25 Td -(ECHONL)Tj -/T1_1 1 Tf -4.629 Tc 25.831 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -27.268 0 Td -(echo NL)Tj -/TT0 1 Tf --7.5 -1.25 Td -(ECHOPRT)Tj -/T1_1 1 Tf -3.096 Tc 31.067 0 Td -[(\245\245 )3063(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj --35.424 0 Td -(visual erase mode for har)Tj -0.25 Tc 11.203 0 Td -(dc)Tj -0 Tc 1.305 0 Td -(opy)Tj -/TT0 1 Tf --20.008 -1.25 Td -(EXTPROC)Tj -/T1_1 1 Tf -3.096 Tc 31.067 0 Td -[(\245\245 )3063(\245)]TJ -0 Tc -23.567 0 Td -[(external character pr)18(ocessing)]TJ -/TT0 1 Tf --7.5 -1.25 Td -(FLUSHO)Tj -/T1_1 1 Tf -3.096 Tc 31.067 0 Td -[(\245\245 )3063(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj --35.424 0 Td -(output being \337ushed)Tj -/TT0 1 Tf --7.5 -1.25 Td -(ICANON)Tj -/T1_1 1 Tf -4.629 Tc 25.831 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -27.268 0 Td -(canonical input)Tj -/TT0 1 Tf --7.5 -1.25 Td -(IEXTEN)Tj -/T1_1 1 Tf -4.629 Tc 25.831 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -27.268 0 Td -(enable extended input char)Tj -1.35 -1.25 Td -[(pr)18(ocessing)]TJ -/TT0 1 Tf --8.85 -1.25 Td -(ISIG)Tj -/T1_1 1 Tf -4.629 Tc 25.831 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -27.268 0 Td -(enable terminal-generated signals)Tj -/TT0 1 Tf --7.5 -1.25 Td -(NOFLSH)Tj -/T1_1 1 Tf -4.629 Tc 25.831 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -27.268 0 Td -[(disable \337ush after interr)8(upt or)]TJ -1.35 -1.25 Td -(quit)Tj -/TT0 1 Tf --8.85 -1.25 Td -(NOKERNINFO)Tj -/T1_1 1 Tf -7.0815 Tc 31.067 0 Td -(\245\245)Tj -0 Tc -23.567 0 Td -[(no kernel output fr)18(om ST)]TJ --0.074 Tc 11.118 0 Td -(AT)Tj -0 Tc 1.317 0 Td -(US)Tj -/TT0 1 Tf --19.935 -1.25 Td -(PENDIN)Tj -/T1_1 1 Tf -3.096 Tc 31.067 0 Td -[(\245\245 )3063(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj --0.018 Tc -35.424 0 Td -(re)Tj -0 Tc 0.856 0 Td -(type pending input)Tj -/TT0 1 Tf --8.356 -1.25 Td -(TOSTOP)Tj -/T1_1 1 Tf -4.629 Tc 25.831 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -27.268 0 Td -(send)Tj -/TT0 1 Tf -2.346 0 Td -(SIGTTOU)Tj -/T1_1 1 Tf -4.45 0 Td -[(for backgr)18(ound)]TJ --5.446 -1.25 Td -(output)Tj -/TT0 1 Tf --8.85 -1.25 Td -(XCASE)Tj -/T1_1 1 Tf -7.5495 Tc 34.769 0 Td -(\245\245)Tj -0 Tc -27.268 0 Td -(canonical upper/lower)Tj -1.35 -1.25 Td -[(pr)18(esentation)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1417.25 4210.25 cm -0 0 m -3657 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3755.25 4210.25 cm -0 0 m -0 2460 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3341.25 4210.25 cm -0 0 m -0 2460 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1997.25 4210.25 cm -0 0 m -0 2460 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5074.25 4210.25 cm -0 0 m -0 2460 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1417.25 4210.25 cm -0 0 m -0 2460 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 259.6333 402.9275 Tm -(Figure 18.5)Tj -/TT0 1 Tf -5.695 0 Td -(c_lflag)Tj -/T1_1 1 Tf -4.45 0 Td -(terminal \337ags)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1549.25 3650.25 cm -0 0 m -3393 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 368.2116 356.9143 Tm -[(Fr)18(eeBSD )-250(Linux )-250(Mac)-250(OS X)-500(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-1827(3.2.0)-1735(10.6.8 )-2170(10)]TJ --26.596 0.625 Td -(Flag)Tj -8.875 0 Td -(Description)Tj -11.276 0 Td -(POSIX.1)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1549.25 3430.25 cm -0 0 m -3393 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1549.25 3410.25 cm -0 0 m -3393 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 158.9003 332.9001 Tm -(BSDLY)Tj -/T1_1 1 Tf -22.07 0 Td -(XSI )Tj -9.398 0 Td -(\245)Tj -8.156 0 Td -(\245)Tj --34.524 0 Td -(backspace delay mask)Tj -/TT0 1 Tf --5.1 -1.25 Td -(CRDLY)Tj -/T1_1 1 Tf -22.07 0 Td -(XSI )Tj -9.398 0 Td -(\245)Tj -8.156 0 Td -(\245)Tj --34.524 0 Td -(CR delay mask)Tj -/TT0 1 Tf --5.1 -1.25 Td -(FFDLY)Tj -/T1_1 1 Tf -22.07 0 Td -(XSI )Tj -9.398 0 Td -(\245)Tj -8.156 0 Td -(\245)Tj --34.524 0 Td -(form feed delay mask)Tj -/TT0 1 Tf --5.1 -1.25 Td -(NLDLY)Tj -/T1_1 1 Tf -22.07 0 Td -(XSI )Tj -9.398 0 Td -(\245)Tj -8.156 0 Td -(\245)Tj --34.524 0 Td -(NL delay mask)Tj -/TT0 1 Tf --5.1 -1.25 Td -(OCRNL)Tj -/T1_1 1 Tf -22.07 0 Td -[(XSI )-3917(\245)]TJ -7.5495 Tc 9.398 0 Td -(\245\245)Tj -0 Tc -26.368 0 Td -(map CR to NL on output)Tj -/TT0 1 Tf --5.1 -1.25 Td -(OFDEL)Tj -/T1_1 1 Tf -22.07 0 Td -(XSI )Tj -9.398 0 Td -(\245)Tj -8.156 0 Td -(\245)Tj --34.524 0 Td -(\336ll is DEL, else NUL)Tj -/TT0 1 Tf --5.1 -1.25 Td -(OFILL)Tj -/T1_1 1 Tf -22.07 0 Td -(XSI )Tj -9.398 0 Td -(\245)Tj -8.156 0 Td -(\245)Tj --34.524 0 Td -(use \336ll character for delay)Tj -/TT0 1 Tf --5.1 -1.25 Td -(OLCUC)Tj -/T1_1 1 Tf -7.5495 Tc 31.468 0 Td -(\245\245)Tj -0 Tc -26.368 0 Td -[(map lower)18(case to upper)18(case on)]TJ -1.35 -1.25 Td -(output)Tj -/TT0 1 Tf --6.45 -1.25 Td -(ONLCR)Tj -/T1_1 1 Tf -22.07 0 Td -[(XSI )-3917(\245)]TJ -3.3795 Tc 9.398 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -26.369 0 Td -(map NL to CR)Tj -6.425 0.09 Td -(-)Tj -0.333 -0.09 Td -(NL)Tj -/TT0 1 Tf --11.858 -1.25 Td -(ONLRET)Tj -/T1_1 1 Tf -22.07 0 Td -[(XSI )-3917(\245)]TJ -7.5495 Tc 9.398 0 Td -(\245\245)Tj -0 Tc -26.368 0 Td -(NL performs CR function)Tj -/TT0 1 Tf --5.1 -1.25 Td -(ONOCR)Tj -/T1_1 1 Tf -22.07 0 Td -[(XSI )-3917(\245)]TJ -7.5495 Tc 9.398 0 Td -(\245\245)Tj -0 Tc -26.368 0 Td -(no CR output at column 0)Tj -/TT0 1 Tf --5.1 -1.25 Td -(ONOEOT)Tj -/T1_1 1 Tf -7.0815 Tc 27.766 0 Td -(\245\245)Tj -0 Tc -22.666 0 Td -(discar)Tj -0.25 Tc 2.647 0 Td -(dE)Tj -0 Tc 1.472 0 Td -(OT)Tj -0.25 Tc 1.309 0 Td -(s\()Tj -0 Tc 1.007 0 Td -(\366D\) on output)Tj -/TT0 1 Tf --11.535 -1.25 Td -(OPOST)Tj -/T1_1 1 Tf -4.629 Tc 22.532 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc -26.368 0 Td -[(perform output pr)18(ocessing)]TJ -/TT0 1 Tf --5.1 -1.25 Td -(OXTABS)Tj -/T1_1 1 Tf -7.0815 Tc 27.766 0 Td -(\245\245)Tj -0 Tc -22.666 0 Td -(expand tabs to spaces)Tj -/TT0 1 Tf --5.1 -1.25 Td -(TABDLY)Tj -/T1_1 1 Tf -22.07 0 Td -[(XSI )-3917(\245)]TJ -7.5495 Tc 9.398 0 Td -(\245\245)Tj -0 Tc -26.368 0 Td -(horizontal tab delay mask)Tj -/TT0 1 Tf --5.1 -1.25 Td -(VTDLY)Tj -/T1_1 1 Tf -22.07 0 Td -(XSI )Tj -9.398 0 Td -(\245)Tj -8.156 0 Td -(\245)Tj --34.524 0 Td -(vertical tab delay mask)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1549.25 1690.25 cm -0 0 m -3393 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3623.25 1690.25 cm -0 0 m -0 1960 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3209.25 1690.25 cm -0 0 m -0 1960 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1937.25 1690.25 cm -0 0 m -0 1960 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4942.25 1690.25 cm -0 0 m -0 1960 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1549.25 1690.25 cm -0 0 m -0 1960 l -S -Q -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 259.5865 150.9456 Tm -(Figure 18.6)Tj -/TT0 1 Tf -5.695 0 Td -(c_oflag)Tj -/T1_1 1 Tf -4.45 0 Td -(terminal \337ags)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46939 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(666)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 163.9202 668.9599 Tm -[(ar)18(gument )-191(to)]TJ -/TT0 1 Tf -6.061 0 Td -(select)Tj -/T1_1 1 Tf -0.6915 Tc (.W)Tj -0.4415 Tc 5.449 0 Td -(ea)Tj -0 Tc 1.421 0 Td -[(lso )-191(keep )-191(track )-191(of )-191(the )-191(highest )-191(index )-191(in )-191(use )-191(in )-191(the)]TJ -/TT0 1 Tf --12.931 -1.2 Td -(client)Tj -/T1_1 1 Tf -3.85 0 Td -[(array)111(.\))]TJ --5.483 -1.6 Td -[(2. )-633(An)-388(existing )-138(client\325s )-138(connection )-138(can )-138(be )-138(r)18(eady )-138(for )-138(r)19(eading. )-388(This)-388(means )-138(that )-138(the)]TJ -1.633 -1.2 Td -[(client )-123(has )-123(either )-123(terminated )-123(or )-123(sent )-123(a )-123(new )-123(r)14(equest. )-373(W)]TJ -0.3734 Tc 24.507 0 Td -(e\336)Tj -0 Tc 1.457 0 Td -[(nd )-123(out )-123(about )-123(a )-123(client)]TJ --25.965 -1.2 Td -[(termination )-117(by)]TJ -/TT0 1 Tf -7.043 0 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.767 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turning )-117(0 )-117(\(end )-117(of )-117(\336le\).)-616(If)]TJ -/TT0 1 Tf -11.798 0 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.767 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-117(a )-117(value )-117(gr)19(eater)]TJ --26.087 -1.2 Td -[(than )-416(0, )-416(ther)19(e)-666(is)-666(a)-666(n)1(ew )-416(r)18(equest )-416(to )-416(pr)18(ocess, )-416(which )-416(we )-416(handle )-416(by )-416(calling)]TJ -/TT0 1 Tf --0 -1.2 Td -(handle_request)Tj -/T1_1 1 Tf -(.)Tj --0.092 Tc -1.633 -1.68 Td -[(We )-301(k)]TJ -0 Tc 2.31 0 Td -[(eep )-117(track )-117(of )-117(which )-117(descriptors )-117(ar)]TJ -0.3668 Tc 15.039 0 Td -(ec)Tj -0 Tc 1.29 0 Td -[(urr)18(ently )-117(in )-117(use )-117(in )-117(the)]TJ -/TT0 1 Tf -10.083 0 Td -(allset)Tj -/T1_1 1 Tf -3.967 0 Td -(descriptor)Tj --34.488 -1.2 Td -[(set. )-510(As)-510(new )-260(clients )-260(connect )-260(to )-260(the )-260(server)]TJ -0.5102 Tc 19.559 0 Td -(,t)Tj -0 Tc 1.086 0 Td -[(he )-260(appr)18(opriate )-260(bit )-260(is )-260(turned )-260(on )-260(in )-260(this)]TJ --20.646 -1.2 Td -[(descriptor set.)-500(The appr)18(opriate bit is turned of)]TJ -0.25 Tc 20.624 0 Td -(fw)Tj -0 Tc 1.417 0 Td -(hen the client terminates.)Tj --0.092 Tc -20.241 -1.2 Td -[(We )-232(a)]TJ -0 Tc 2.185 0 Td -[(lways )-48(know )-48(when )-48(a )-48(client )-48(terminates, )-48(whether )-48(the )-48(termination )-48(is )-48(voluntary )-48(or)]TJ --3.985 -1.2 Td -[(not, )-340(since )-340(all )-340(the )-340(client\325s )-340(descriptors )-340(\(including )-340(the )-340(connection )-340(to )-340(the )-340(server\) )-340(ar)20(e)]TJ -0 -1.2 TD -[(automatically closed by the kernel.)-500(This dif)18(fers fr)18(om the XSI IPC mechanisms.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(loop)Tj -/T1_1 1 Tf -2.65 0 Td -(function that uses)Tj -/TT0 1 Tf -8.121 0 Td -(poll)Tj -/T1_1 1 Tf -2.65 0 Td -(is shown in Figur)Tj -0.25 Tc 7.689 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(7.30.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4970.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 487.4405 Tm -[(#include )-1800("opend.h")]TJ -0 -1.189 TD -[(#include )-1800()]TJ -0 -2.14 TD -[(#define NALLOC)-1200(10 )-600(/*)]TJ -0.6 Tc 13.8 0 Td -(#p)Tj -0 Tc 1.8 0 Td -(ollfd structs to alloc/realloc */)Tj --15.6 -2.14 Td -(static struct pollfd *)Tj -0 -1.189 TD -(grow_pollfd\(struct pollfd *pfd, int *maxfd\))Tj -T* -({)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -(i;)Tj --9.6 -1.189 Td -(int )Tj -9.6 0 Td -(oldmax)Tj -0.6 Tc 4.2 0 Td -(=*)Tj -0 Tc 1.8 0 Td -(maxfd;)Tj --15.6 -1.189 Td -(int )Tj -9.6 0 Td -(newmax)Tj -0.6 Tc 4.2 0 Td -(=o)Tj -0 Tc 1.8 0 Td -(ldmax + NALLOC;)Tj --15.6 -2.14 Td -(if \(\(pfd = realloc\(pfd, newmax * sizeof\(struct pollfd\)\)\) == NULL\)\ )Tj -2.4 -1.189 Td -(err_sys\("realloc error"\);)Tj --2.4 -1.189 Td -(for \(i = oldmax; i < newmax; i++\) {)Tj -2.4 -1.189 Td -(pfd[i].fd = -1;)Tj -T* -(pfd[i].events = POLLIN;)Tj -T* -(pfd[i].revents = 0;)Tj --2.4 -1.189 Td -(})Tj -T* -(*maxfd = newmax;)Tj -T* -(return\(pfd\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(void)Tj -0 -1.189 TD -(loop\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -[(i,)-600(listenfd, clifd, nread;)]TJ --9.6 -1.189 Td -(char )Tj -9.6 0 Td -(buf[MAXLINE];)Tj --9.6 -1.189 Td -(uid_t )Tj -9.6 0 Td -(uid;)Tj --9.6 -1.189 Td -[(struct pollfd)-1800(*pollfd;)]TJ -T* -(int )Tj -9.6 0 Td -(numfd)Tj -0.6 Tc 3.6 0 Td -(=1)Tj -0 Tc 1.8 0 Td -(;)Tj --15 -1.189 Td -(int )Tj -9.6 0 Td -(maxfd)Tj -0.6 Tc 3.6 0 Td -(=N)Tj -0 Tc 1.8 0 Td -(ALLOC;)Tj --15 -2.14 Td -(if \(\(pollfd = malloc\(NALLOC * sizeof\(struct pollfd\)\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("malloc error"\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46940 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(588)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -8.9995 0 0 8.9995 129.5922 669.9598 Tm -(15.6)Tj -/T1_1 1 Tf -3.065 0 Td -[(The )-129(Rationale )-129(for )-129(POSIX.1 )-129(gives )-129(as )-129(one )-129(of )-129(the )-129(r)19(easons )-129(for )-129(adding )-129(the)]TJ -/TT0 1 Tf -31.982 0 Td -(waitpid)Tj -/T1_1 1 Tf -4.579 0 Td -(function)Tj --36.561 -1.222 Td -[(that most pr)18(e-POSIX.1 systems can\325t handle the following:)]TJ -/TT0 1 Tf -2 -1.8 Td -(if \(\(fp = popen\("/bin/true", "r"\)\) == NULL\))Tj -2.4 -1.189 Td -(...)Tj --2.4 -1.189 Td -(if \(\(rc = system\("sleep 100"\)\) == -1\))Tj -2.4 -1.189 Td -(...)Tj --2.4 -1.189 Td -(if \(pclose\(fp\) == -1\))Tj -2.4 -1.189 Td -(...)Tj -/T1_1 1 Tf --4.4 -1.833 Td -(What happens in this code if)Tj -/TT0 1 Tf -12.877 0 Td -(waitpid)Tj -/T1_1 1 Tf -4.45 0 Td -(isn\325t available and)Tj -/TT0 1 Tf -8.314 0 Td -(wait)Tj -/T1_1 1 Tf -2.65 0 Td -(is used instead?)Tj -/T1_0 1 Tf --31.356 -1.667 Td -(15.7)Tj -/T1_1 1 Tf -3.065 0 Td -[(Explain )-29(how)]TJ -/TT0 1 Tf -5.911 0 Td -(select)Tj -/T1_1 1 Tf -3.879 0 Td -(and)Tj -/TT0 1 Tf -1.972 0 Td -(poll)Tj -/T1_1 1 Tf -2.679 0 Td -[(handle )-29(an )-29(input )-29(descriptor )-29(that )-29(is )-29(a )-29(pipe, )-29(when )-29(the )-29(pipe )-29(is)]TJ --14.44 -1.222 Td -[(closed )-99(by )-99(the )-99(writer)]TJ -0.5994 Tc 8.985 0 Td -(.T)Tj -0.3494 Tc 1.37 0 Td -(od)Tj -0 Tc 1.506 0 Td -[(etermine )-99(the )-99(answer)]TJ -0.3494 Tc 9.14 0 Td -(,w)Tj -0 Tc 1.433 0 Td -[(rite )-99(two )-99(small )-99(test )-99(pr)18(ograms: )-99(one )-99(using)]TJ -/TT0 1 Tf --22.436 -1.222 Td -(select)Tj -/T1_1 1 Tf -3.85 0 Td -(and one using)Tj -/TT0 1 Tf -6.506 0 Td -(poll)Tj -/T1_1 1 Tf -(.)Tj --10.356 -1.833 Td -[(Redo )-151(this )-151(exer)17(cise, )-151(looking )-151(at )-151(an )-151(output )-151(descriptor )-151(that )-151(is )-151(a )-151(pipe, )-151(when )-151(the )-151(r)18(ead )-151(end )-151(is)]TJ -0 -1.222 TD -(closed.)Tj -/T1_0 1 Tf --3.065 -1.667 Td -(15.8)Tj -/T1_1 1 Tf -3.065 0 Td -[(What )-24(happens )-24(if )-24(the)]TJ -/T1_2 1 Tf -9.282 0 Td -(cmdstring)Tj -/T1_1 1 Tf -4.404 0 Td -[(executed )-24(by)]TJ -/TT0 1 Tf -5.593 0 Td -(popen)Tj -/T1_1 1 Tf -3.274 0 Td -[(with )-24(a)]TJ -/T1_2 1 Tf -3.08 0 Td -(type)Tj -/T1_1 1 Tf -1.996 0 Td -(of)Tj -/TT0 1 Tf -1.153 0 Td -("r")Tj -/T1_1 1 Tf -2.074 0 Td -[(writes )-24(to )-24(its )-24(standar)19(d)]TJ --30.854 -1.222 Td -[(err)18(or?)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(15.9)Tj -/T1_1 1 Tf -3.065 0 Td -(Since)Tj -/TT0 1 Tf -2.865 0 Td -(popen)Tj -/T1_1 1 Tf -3.544 0 Td -[(invokes )-294(a )-294(shell )-294(to )-294(execute )-294(its)]TJ -/T1_2 1 Tf -14.511 0 Td -(cmdstring)Tj -/T1_1 1 Tf -4.674 0 Td -[(ar)18(gument, )-294(what )-294(happens )-294(when)]TJ -/TT0 1 Tf --25.593 -1.222 Td -(cmdstring)Tj -/T1_1 1 Tf -5.65 0 Td -[(terminates? )-250(\(Hint:)-250(Draw all the pr)18(ocesses involved.\))]TJ -/T1_0 1 Tf --8.715 -1.667 Td -(15.10)Tj -/T1_1 1 Tf -3.065 0 Td -[(POSIX.1 )-186(speci\336cally )-186(states )-186(that)]TJ -/TT0 1 Tf -14.553 0 Td -(open)Tj -/T1_1 1 Tf -[(ing )-186(a )-186(FIFO )-186(for )-186(r)18(ead\320write )-186(is )-186(unde\336ned.)-688(Although)]TJ --14.553 -1.222 Td -[(most )-41(UNIX )-41(systems )-41(allow )-41(this, )-41(show )-41(another )-41(method )-41(for )-41(opening )-41(a )-41(FIFO )-41(for )-41(both )-41(r)13(eading)]TJ -T* -(and writing, without blocking.)Tj -/T1_0 1 Tf --3.065 -1.667 Td -[(15.1)37(1)]TJ -/T1_1 1 Tf -3.065 0 Td -[(Unless )-131(a )-131(\336le )-131(contains )-131(sensitive )-131(or )-131(con\336dential )-131(data, )-131(allowing )-131(other )-131(users )-131(to )-131(r)18(ead )-131(the )-131(\336le)]TJ -0 -1.222 TD -[(causes )-126(no )-126(harm.)-626(\(It )-126(is )-126(usually )-126(consider)18(ed )-126(antisocial, )-126(however)74(,)-376(to)-376(go)-376(snooping )-126(ar)18(ound )-126(in)]TJ --0 -1.222 Td -[(other )-185(people\325s )-185(\336les.\))-685(But )-185(what )-185(happens )-185(if )-185(a )-185(malicious )-185(pr)18(ocess )-185(r)18(eads )-185(a )-185(message )-185(fr)18(om )-185(a)]TJ -T* -[(message )-59(queue )-59(that )-59(is )-59(being )-59(used )-59(by )-59(a )-59(server )-59(and )-59(several )-59(clients?)-559(What )-59(information )-59(does)]TJ -T* -[(the malicious pr)18(ocess need to know to r)18(ead the message queue?)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(15.12)Tj -/T1_1 1 Tf --0.074 Tc 3.065 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-211(a )-211(pr)18(ogram )-211(that )-211(does )-211(the )-211(following.)-708(Execute )-211(a )-211(loop )-211(\336ve )-211(times: )-211(cr)18(eate )-211(a )-211(message)]TJ --1.321 -1.222 Td -[(queue, )-125(print )-125(the )-125(queue )-125(identi\336er)]TJ -0.3751 Tc 14.765 0 Td -(,d)Tj -0 Tc 1.236 0 Td -[(elete )-125(the )-125(message )-125(queue.)-625(Then )-125(execute )-125(the )-125(next )-125(loop)]TJ --16.002 -1.222 Td -[(\336ve )-94(times: )-94(cr)18(eate )-94(a )-94(message )-94(queue )-94(with )-94(a )-94(key )-94(of)]TJ -/TT0 1 Tf -22.318 0 Td -(IPC_PRIVATE)Tj -/T1_1 1 Tf -0.3439 Tc (,a)Tj -0 Tc 7.694 0 Td -[(nd )-94(place )-94(a )-94(message )-94(on)]TJ --30.012 -1.222 Td -[(the )-237(queue.)-737(After )-237(the )-237(pr)18(ogram )-237(terminates, )-237(look )-237(at )-237(the )-237(message )-237(queues )-237(using)]TJ -/TT0 1 Tf -36.452 0 Td -(ipcs)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.333 -0.04 Td -(.)Tj --40.018 -1.222 Td -(Explain what is happening with the queue identi\336ers.)Tj -/T1_0 1 Tf --3.065 -1.667 Td -(15.13)Tj -/T1_1 1 Tf -3.065 0 Td -[(Describe )-154(how )-154(to )-154(build )-154(a )-154(linked )-154(list )-154(of )-154(data )-154(objects )-154(in )-154(a )-154(shar)21(ed )-154(memory )-154(segment.)-654(What)]TJ -0 -1.222 TD -[(would you stor)18(e)-250(as)-250(the list pointers?)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(15.14)Tj -/T1_1 1 Tf -3.065 0 Td -[(Draw )-19(a )-19(timeline )-19(of )-19(the )-19(pr)18(ogram )-19(in )-19(Figur)]TJ -0.2691 Tc 17.889 0 Td -(e1)Tj -0 Tc 1.248 0 Td -[(5.33 )-19(showing )-19(the )-19(value )-19(of )-19(the )-19(variable)]TJ -/TT0 1 Tf -17.114 0 Td -(i)Tj -/T1_1 1 Tf -0.869 0 Td -[(in )-19(both)]TJ --37.12 -1.222 Td -[(the )-96(par)18(ent )-97(and )-97(child, )-97(the )-97(value )-97(of )-97(the )-97(long )-97(integer )-97(in )-97(the )-97(shar)18(ed )-97(memory )-97(r)18(egion, )-97(and )-97(the)]TJ -T* -[(value r)18(eturned by the)]TJ -/TT0 1 Tf -9.786 0 Td -(update)Tj -/T1_1 1 Tf -3.85 0 Td -[(function. )-250(Assume)-250(that the child r)8(uns \336rst after the)]TJ -/TT0 1 Tf -22.554 0 Td -(fork)Tj -/T1_1 1 Tf -(.)Tj -/T1_0 1 Tf --39.255 -1.667 Td -(15.15)Tj -/T1_1 1 Tf -3.065 0 Td -[(Redo )-448(the )-448(pr)18(ogram )-448(in )-448(Figur)]TJ -0.6981 Tc 13.597 0 Td -(e1)Tj -0 Tc 1.677 0 Td -[(5.33 )-448(using )-448(the )-448(XSI )-448(shar)18(ed )-448(memory )-448(functions )-448(fr)17(om)]TJ --15.275 -1.222 Td -[(Section 15.9 instead of the shar)18(ed memory-mapped r)18(egion.)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(15.16)Tj -/T1_1 1 Tf -3.065 0 Td -[(Redo )-65(the )-65(pr)18(ogram )-65(in )-65(Figur)]TJ -0.3147 Tc 12.064 0 Td -(e1)Tj -0 Tc 1.294 0 Td -[(5.33 )-65(using )-65(the )-65(XSI )-65(semaphor)]TJ -0.3148 Tc 12.773 0 Td -(ef)Tj -0 Tc 1.127 0 Td -[(unctions )-65(fr)18(om )-65(Section )-65(15.8 )-65(to)]TJ --27.257 -1.222 Td -[(alternate between the par)18(ent and the child.)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(15.17)Tj -/T1_1 1 Tf -3.065 0 Td -[(Redo )-90(the )-90(pr)18(ogram )-90(in )-90(Figur)]TJ -0.3401 Tc 12.165 0 Td -(e1)Tj -0 Tc 1.319 0 Td -[(5.33 )-90(using )-90(advisory )-90(r)18(ecor)]TJ -0.3401 Tc 11.337 0 Td -(dl)Tj -0 Tc 1.242 0 Td -[(ocking )-90(to )-90(alternate )-90(between )-90(the)]TJ --26.064 -1.222 Td -[(par)18(ent and the child.)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(15.18)Tj -/T1_1 1 Tf -3.065 0 Td -[(Redo )-11(the )-11(pr)18(ogram )-11(in )-11(Figur)]TJ -0.2607 Tc 11.847 0 Td -(e1)Tj -0 Tc 1.24 0 Td -[(5.33 )-11(using )-11(the )-11(POSIX )-11(semaphor)]TJ -0.2607 Tc 13.947 0 Td -(ef)Tj -0 Tc 1.073 0 Td -[(unctions )-11(fr)18(om )-11(Section )-11(15.10)]TJ --28.106 -1.222 Td -[(to alternate between the par)18(ent and the child.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46941 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(578)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-131(pr)18(ogram )-131(opens )-131(the)]TJ -/TT0 1 Tf -11.076 0 Td -(/dev/zero)Tj -/T1_1 1 Tf -5.781 0 Td -[(device )-131(and )-131(calls)]TJ -/TT0 1 Tf -7.656 0 Td -(mmap)Tj -/T1_1 1 Tf -0.3813 Tc (,s)Tj -0 Tc 3.455 0 Td -[(pecifying )-131(a )-131(size )-131(of )-131(a)]TJ --29.769 -1.2 Td -[(long )-207(integer)]TJ -0.707 Tc 5.466 0 Td -(.N)Tj -0 Tc 1.788 0 Td -[(ote )-207(that )-207(once )-207(the )-207(r)18(egion )-207(is )-207(mapped, )-207(we )-207(can)]TJ -/TT0 1 Tf -20.946 0 Td -(close)Tj -/T1_1 1 Tf -3.457 0 Td -[(the )-207(device.)-707(The)]TJ --31.656 -1.2 Td -[(pr)18(ocess )-224(then )-224(cr)17(eates )-224(a )-224(child.)-725(Since)]TJ -/TT0 1 Tf -16.679 0 Td -(MAP_SHARED)Tj -/T1_1 1 Tf -6.474 0 Td -[(was )-224(speci\336ed )-224(in )-224(the )-224(call )-224(to)]TJ -/TT0 1 Tf -13.196 0 Td -(mmap)Tj -/T1_1 1 Tf -(,)Tj --36.35 -1.2 Td -[(writes )-68(to )-68(the )-68(memory-mapped )-68(r)16(egion )-68(by )-68(one )-68(pr)18(ocess )-68(ar)]TJ -0.3184 Tc 25.025 0 Td -(es)Tj -0 Tc 1.221 0 Td -[(een )-68(by )-68(the )-68(other )-68(pr)16(ocess. )-318(\(If)]TJ --26.246 -1.2 Td -(we had speci\336ed)Tj -/TT0 1 Tf -7.69 0 Td -(MAP_PRIVATE)Tj -/T1_1 1 Tf -6.85 0 Td -(instead, this example wouldn\325t work.\))Tj --12.74 -1.2 Td -[(The )-55(par)18(ent )-55(and )-55(the )-55(child )-55(then )-55(alternate )-55(r)7(unning, )-55(incr)18(ementing )-55(a )-55(long )-55(integer )-55(in )-55(the)]TJ --1.8 -1.2 Td -[(shar)18(ed )-112(memory-mapped )-112(r)17(egion, )-112(using )-112(the )-112(synchr)18(onization )-112(functions )-112(fr)18(om )-112(Section )-112(8.9.)]TJ -0 -1.2 Td -[(The )-75(memory-mapped )-75(r)18(egion )-75(is )-75(initialized )-75(to )-75(0 )-75(by)]TJ -/TT0 1 Tf -22.505 0 Td -(mmap)Tj -/T1_1 1 Tf -0.5751 Tc (.T)Tj -0 Tc 3.838 0 Td -[(he )-75(par)18(ent )-75(incr)18(ements )-75(it )-75(to )-75(1,)]TJ --26.343 -1.2 Td -[(then )-16(the )-16(child )-16(incr)18(ements )-16(it )-16(to )-16(2, )-16(then )-16(the )-16(par)19(ent )-16(incr)18(ements )-16(it )-16(to )-16(3, )-16(and )-16(so )-16(on.)-516(Note )-16(that)]TJ -0 -1.2 TD -[(we )-167(have )-167(to )-167(use )-167(par)18(entheses )-167(when )-167(we )-167(incr)15(ement )-168(the )-168(value )-168(of )-168(the )-168(long )-168(integer )-168(in )-168(the)]TJ -/TT0 1 Tf -T* -(update)Tj -/T1_1 1 Tf -3.85 0 Td -(function, since we ar)Tj -0.25 Tc 9.117 0 Td -(ei)Tj -0 Tc 1.02 0 Td -[(ncr)18(ementing the value and not the pointer)74(.)]TJ --12.187 -1.2 Td -[(The )-183(advantage )-183(of )-183(using)]TJ -/TT0 1 Tf -11.358 0 Td -(/dev/zero)Tj -/T1_1 1 Tf -5.833 0 Td -[(in )-182(the )-182(manner )-182(that )-182(we\325ve )-182(shown )-182(is )-182(that )-182(an)]TJ --18.991 -1.2 Td -[(actual )-133(\336le )-133(need )-133(not )-133(exist )-133(befor)]TJ -0.3833 Tc 13.884 0 Td -(ew)Tj -0.3834 Tc 1.696 0 Td -(ec)Tj -0 Tc 1.306 0 Td -(all)Tj -/TT0 1 Tf -1.465 0 Td -(mmap)Tj -/T1_1 1 Tf -2.783 0 Td -[(to )-133(cr)18(eate )-133(the )-133(mapped )-133(r)16(egion. )-383(Mapping)]TJ -/TT0 1 Tf --21.136 -1.2 Td -(/dev/zero)Tj -/T1_1 1 Tf -6.144 0 Td -[(automatically )-494(cr)18(eates )-494(a )-494(mapped )-494(r)18(egion )-494(of )-494(the )-494(speci\336ed )-494(size.)-994(The)]TJ --6.144 -1.2 Td -[(disadvantage )-148(of )-148(this )-148(technique )-148(is )-148(that )-148(it )-148(works )-148(only )-148(between )-148(r)20(elated )-148(pr)18(ocesses. )-398(W)55(ith)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(lated )-215(pr)18(ocesses, )-215(however)73(,)-465(it)-465(i)]TJ -0.4653 Tc 13.481 0 Td -(sp)Tj --0.018 Tc 1.49 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(bably )-215(simpler )-215(and )-215(mor)]TJ -0.4653 Tc 10.712 0 Td -(ee)Tj --0.018 Tc 1.423 0 Td -(f\336)Tj -0 Tc 0.92 0 Td -[(cient )-215(to )-215(use )-215(thr)17(eads)]TJ --29.805 -1.2 Td -[(\(Chapters )-157(1)]TJ -0.4071 Tc 5.201 0 Td -(1a)Tj -0 Tc 1.407 0 Td -[(nd )-157(12\).)-657(Note )-157(that )-157(no )-157(matter )-157(which )-157(technique )-157(is )-157(used, )-157(we )-157(still )-157(need )-157(to)]TJ --6.608 -1.2 Td -[(synchr)18(onize access to the shar)18(ed data.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4650.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -9.9988 0 0 9.9988 93.5888 428.9485 Tm -[(Example )195(\321 )195(Anon)19(ymous Memor)]TJ -0.278 Tc 14.604 0 Td -(yM)Tj -0 Tc 1.667 0 Td -(apping)Tj -/T1_1 1 Tf --12.671 -2.4 Td -[(Many )-87(implementations )-87(pr)18(ovide )-87(anonymous )-87(memory )-87(mapping, )-87(a )-87(facility )-87(similar )-87(to )-87(the)]TJ -/TT0 1 Tf -T* -(/dev/zero)Tj -/T1_1 1 Tf -5.814 0 Td -[(featur)18(e. )-414(T)]TJ -0.4138 Tc 4.532 0 Td -(ou)Tj -0 Tc 1.563 0 Td -[(se )-164(this )-164(facility)111(,)-414(we)-414(specify )-164(the)]TJ -/TT0 1 Tf -14.008 0 Td -(MAP_ANON)Tj -/T1_1 1 Tf -5.214 0 Td -[(\337ag )-164(to)]TJ -/TT0 1 Tf -3.363 0 Td -(mmap)Tj -/T1_1 1 Tf -2.814 0 Td -(and)Tj --37.307 -1.2 Td -[(specify )-244(the )-244(\336le )-244(descriptor )-244(as)]TJ -/TT2 1 Tf -13.798 0 Td -(!)Tj -/T1_1 1 Tf -[(1. )-494(The)]TJ --0.018 Tc 4.212 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sulting )-244(r)18(egion )-244(is )-244(anonymous )-244(\(since )-244(it\325s )-244(not)]TJ --18.866 -1.2 Td -[(associated )-31(with )-31(a )-31(pathname )-31(thr)19(ough )-31(a )-31(\336le )-31(descriptor\) )-31(and )-31(cr)18(eates )-31(a )-31(memory )-31(r)18(egion )-31(that)]TJ -T* -[(can be shar)18(ed with descendant pr)18(ocesses.)]TJ -7.999 0 0 7.999 183.5782 336.9596 Tm -[(The )-42(anonymous )-42(memory-mapping )-42(facility )-42(is )-42(supported )-42(by )-42(all )-42(four )-42(platforms )-42(discussed )-42(in )-42(this)]TJ -0 -1.25 TD -[(text. )-328(Note,)-328(however)]TJ -0.3283 Tc 9.041 0 Td -(,t)Tj -0 Tc 0.904 0 Td -[(hat )-78(Linux )-78(de\336nes )-78(the)]TJ -/TT0 1 Tf -9.891 0 Td -(MAP_ANONYMOUS)Tj -/T1_1 1 Tf -8.128 0 Td -[(\337ag )-78(for )-78(this )-78(facility)]TJ -0.3281 Tc 8.467 0 Td -(,b)Tj -0 Tc 1.131 0 Td -[(ut )-78(de\336nes)]TJ --37.563 -1.25 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(MAP_ANON)Tj -/T1_1 1 Tf -5.05 0 Td -[(\337ag to be the same value for impr)18(oved application portability)111(.)]TJ --0.092 Tc 9.9988 0 0 9.9988 147.5826 296.9644 Tm -[(To )-271(m)]TJ -0 Tc 2.287 0 Td -[(odify )-87(the )-87(pr)18(ogram )-87(in )-87(Figur)]TJ -0.3371 Tc 12.186 0 Td -(e1)Tj -0 Tc 1.316 0 Td -[(5.33 )-87(to )-87(use )-87(this )-87(facility)111(,)-337(we)-337(make )-87(thr)18(ee )-87(changes:)]TJ --17.59 -1.2 Td -[(\(a\) )-4(r)18(emove )-4(the)]TJ -/TT0 1 Tf -6.645 0 Td -(open)Tj -/T1_1 1 Tf -2.654 0 Td -(of)Tj -/TT0 1 Tf -1.133 0 Td -(/dev/zero)Tj -/T1_1 1 Tf -0.2541 Tc (,\()Tj -0 Tc 6.237 0 Td -[(b\) )-4(r)18(emove )-4(the)]TJ -/TT0 1 Tf -6.364 0 Td -(close)Tj -/T1_1 1 Tf -3.254 0 Td -(of)Tj -/TT0 1 Tf -1.133 0 Td -(fd)Tj -/T1_1 1 Tf -0.2541 Tc (,a)Tj -0 Tc 2.204 0 Td -[(nd )-4(\(c\) )-4(change )-4(the )-4(call)]TJ --29.625 -1.2 Td -(to)Tj -/TT0 1 Tf -1.122 0 Td -(mmap)Tj -/T1_1 1 Tf -2.65 0 Td -(to the following:)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5827 255.1995 Tm -(if \(\(area = mmap\(0, SIZE, PROT_READ | PROT_WRITE,)Tj -10.8 -1.189 Td -(MAP_ANON | MAP_SHARED, -1, 0\)\) == MAP_FAILED\))Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5848 225.4331 Tm -[(In )-80(this )-80(call, )-80(we )-80(specify )-80(the)]TJ -/TT0 1 Tf -12.127 0 Td -(MAP_ANON)Tj -/T1_1 1 Tf -5.13 0 Td -[(\337ag )-80(and )-80(set )-80(the )-80(\336le )-80(descriptor )-80(to)]TJ -/TT2 1 Tf -15.044 0 Td -(!)Tj -/T1_1 1 Tf -[(1. )-330(The)]TJ --0.018 Tc 3.884 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(st )-80(of)]TJ --37.041 -1.2 Td -[(the pr)18(ogram fr)18(om Figur)]TJ -0.25 Tc 10.517 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.33 is unchanged.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2134.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 147.5734 177.4281 Tm -[(The )-26(last )-26(two )-26(examples )-26(illustrate )-26(sharing )-26(memory )-26(among )-26(multiple )-26(r)18(elated )-26(pr)13(ocesses.)]TJ --1.8 -1.2 Td -[(If )-112(shar)18(ed )-112(memory )-112(is )-112(r)18(equir)18(ed )-112(between )-112(unr)18(elated )-112(pr)18(ocesses, )-112(ther)]TJ -0.362 Tc 28.965 0 Td -(ea)Tj --0.018 Tc 1.341 0 Td -[(re )-148(t)]TJ -0 Tc 1.544 0 Td -[(wo )-112(alternatives.)]TJ --31.85 -1.2 Td -[(Applications )-115(can )-115(use )-115(the )-115(XSI )-115(shar)18(ed )-115(memory )-115(functions, )-115(or )-115(they )-115(can )-115(use)]TJ -/TT0 1 Tf -33.014 0 Td -(mmap)Tj -/T1_1 1 Tf -2.765 0 Td -[(to )-115(map)]TJ --35.779 -1.2 Td -[(the same \336le into their addr)18(ess spaces using the)]TJ -/TT0 1 Tf -21.257 0 Td -(MAP_SHARED)Tj -/T1_1 1 Tf -6.25 0 Td -(\337ag.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46942 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(576)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -1990.68 6350 720 216 re -S -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 226.0544 622.4027 Tm -(stack)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1990.68 5774 720 216 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 207.1831 586.3696 Tm -[(shar)18(ed memory)]TJ -2.402 -4.95 Td -(heap)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1990.68 5054 720 288 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 203.7313 522.9459 Tm -(uninitialized data)Tj -2.879 -1.25 Td -(\(bss\))Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -1990.68 4838 720 216 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 208.458 492.7217 Tm -(initialized data)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1990.68 4550 720 288 re -S -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 228.4115 467.4997 Tm -(text)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1990.25 6134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2067.25 6134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2142.25 6134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2219.25 6134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2294.25 6134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2371.25 6134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2446.25 6134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2523.25 6134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2598.25 6134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2674.25 6134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1990.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2067.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2142.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2219.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2294.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2371.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2446.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2523.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2598.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2674.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -1990.68 5342 720 1008 re -S -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2823 6521.3599 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2823.25 6521.25 cm -0 0 m -0 -40 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2823.25 6480.25 cm -0 0 m -22 -22 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2846.25 6458.25 cm -0 0 m --23 -23 l --23 -63 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.3601 6350 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 286.5008 648.8064 Tm -(command)Tj -4.449 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line ar)18(guments)]TJ --4.782 -1.25 Td -[(and envir)18(onment variables)]TJ --16.879 1.35 Td -[(high addr)18(ess)]TJ -0.34 -23.95 Td -[(low addr)18(ess)]TJ -ET -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 271.068 624.2 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 2710.6799 6242 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2782.25 6242.25 cm -0 0 m -144 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 294.5443 622.1786 Tm -(0x7fff957b146c)Tj -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 271.068 530.6 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 2710.6799 5306 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2782.25 5306.25 cm -0 0 m -144 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 294.5266 528.5862 Tm -(0x00000060bd00)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 271.068 516.2 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 2710.6799 5162 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2782.25 5162.25 cm -0 0 m -144 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9957 0 0 7.9957 294.5089 514.1623 Tm -(0x0000006020c0)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3687 5296.6401 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3687.25 5296.25 cm -0 0 m -0 -40 l -22 -62 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3710.25 5234.25 cm -0 0 m --23 -23 l --23 -63 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.3601 5126 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/TT0 1 Tf -7.9952 0 0 7.9952 372.7803 521.3271 Tm -(array[])Tj -/T1_1 1 Tf -4.45 0 Td -(of 40,000 bytes)Tj -ET -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 271.068 552.2 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 2710.6799 5522 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2782.25 5522.25 cm -0 0 m -144 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9947 0 0 7.9947 294.4736 550.0768 Tm -(0x0000009fb6b0)Tj -ET -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 271.068 537.8 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 2710.6799 5378 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2782.25 5378.25 cm -0 0 m -144 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9942 0 0 7.9942 294.4559 535.6542 Tm -(0x0000009e3010)Tj -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3687 5512.6401 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3687.25 5512.25 cm -0 0 m -0 -40 l -22 -62 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3710.25 5450.25 cm -0 0 m --23 -23 l --23 -63 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.3601 5342 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/TT0 1 Tf -7.9938 0 0 7.9938 372.7132 542.8164 Tm -(malloc)Tj -/T1_1 1 Tf -3.85 0 Td -(of 100,000 bytes)Tj -ET -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 271.068 595.4 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 2710.6799 5954 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2782.25 5954.25 cm -0 0 m -144 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9933 0 0 7.9933 294.4206 593.1415 Tm -(0x7fba578c36a0)Tj -ET -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 271.068 581 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 2710.6799 5810 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2782.25 5810.25 cm -0 0 m -144 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9928 0 0 7.9928 294.4029 578.7189 Tm -(0x7fba578ab000)Tj -ET -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3687 5944.6401 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3687.25 5944.25 cm -0 0 m -0 -40 l -22 -62 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3710.25 5882.25 cm -0 0 m --23 -23 l --23 -63 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.3601 5774 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/T1_1 1 Tf -7.9923 0 0 7.9923 372.6461 585.8773 Tm -[(shar)18(ed memory of 100,000 bytes)]TJ -/T1_0 1 Tf --19.621 -19.58 Td -(Figure 15.32)Tj -/T1_1 1 Tf -6.195 0 Td -(Memory layout on an Intel-based Linux system)Tj -9.9904 0 0 9.9904 147.4586 405.4106 Tm -[(Recall )-130(that )-130(the)]TJ -/TT0 1 Tf -6.933 0 Td -(mmap)Tj -/T1_1 1 Tf -2.78 0 Td -[(function )-130(\(Section )-130(14.8\) )-130(can )-130(be )-130(used )-130(to )-130(map )-130(portions )-130(of )-130(a )-130(\336le)]TJ --11.512 -1.2 Td -[(into )-107(the )-107(addr)18(ess )-107(space )-107(of )-107(a )-107(pr)15(ocess. )-357(This)-358(is )-107(conceptually )-107(similar )-107(to )-107(attaching )-107(a )-107(shar)15(ed)]TJ --0 -1.2 Td -[(memory )-146(segment )-146(using )-146(the)]TJ -/TT0 1 Tf -12.897 0 Td -(shmat)Tj -/T1_1 1 Tf -3.396 0 Td -[(XSI )-146(IPC )-146(function.)-646(The )-146(main )-146(dif)20(fer)18(ence )-146(is )-146(that )-146(the)]TJ --16.293 -1.2 Td -[(memory )-99(segment )-99(mapped )-99(with)]TJ -/TT0 1 Tf -14.577 0 Td -(mmap)Tj -/T1_1 1 Tf -2.749 0 Td -[(is )-99(backed )-99(by )-99(a )-99(\336le, )-99(wher)16(eas )-99(no )-99(\336le )-99(is )-99(associated)]TJ --17.326 -1.2 Td -[(with an XSI shar)18(ed memory segment.)]TJ -/TT1 1 Tf --3.6 -2.4 Td -[(Example )195(\321 )195(Memor)]TJ -0.278 Tc 8.568 0 Td -(yM)Tj -0 Tc 1.667 0 Td -(apping of)Tj -/TT2 1 Tf -4.778 0 Td -(/dev/zero)Tj -/T1_1 1 Tf --11.413 -2.4 Td -[(Shar)18(ed )-227(memory )-227(can )-227(be )-227(used )-227(between )-227(unr)17(elated )-227(pr)18(ocesses. )-477(But)-477(if )-227(the )-227(pr)18(ocesses )-227(ar)17(e)]TJ --0.018 Tc 0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(lated, some implementations pr)18(ovide a dif)18(fer)18(ent technique.)]TJ -7.9923 0 0 7.9923 183.4244 281.13 Tm -[(The )-93(following )-93(technique )-93(works )-93(on )-93(Fr)19(eeBSD )-93(8.0, )-93(Linux )-93(3.2.0, )-93(and )-93(Solaris )-93(10.)-593(Mac )-93(OS )-93(X )-93(10.6.8)]TJ -0 -1.25 TD -[(curr)18(ently )-10(doesn\325t )-10(support )-10(the )-10(mapping )-10(of )-10(character )-10(devices )-10(into )-10(the )-10(addr)21(ess )-10(space )-10(of )-10(a )-10(pr)19(ocess.)]TJ -9.9904 0 0 9.9904 147.4589 253.1568 Tm -[(The )-52(device)]TJ -/TT0 1 Tf -5.147 0 Td -(/dev/zero)Tj -/T1_1 1 Tf -5.702 0 Td -[(is )-52(an )-52(in\336nite )-52(sour)17(ce )-52(of )-52(0 )-52(bytes )-52(when )-52(r)18(ead. )-302(This)-302(device )-52(also)]TJ --12.65 -1.2 Td -[(accepts )-91(any )-91(data )-91(that )-91(is )-91(written )-91(to )-91(it, )-91(ignoring )-91(the )-91(data.)-591(Our )-91(inter)18(est )-91(in )-91(this )-91(device )-91(for)]TJ -0 -1.2 TD -[(IPC arises fr)18(om its special pr)18(operties when it is memory mapped.)]TJ -0.883 Tc 1.8 -1.8 Td -(\245A)Tj -0.3902 Tc 2.267 0 Td -(nu)Tj -0 Tc 1.575 0 Td -[(nnamed )-140(memory )-140(r)18(egion )-140(is )-140(cr)18(eated )-140(whose )-140(size )-140(is )-140(the )-140(second )-140(ar)16(gument )-140(to)]TJ -/TT0 1 Tf --2.353 -1.2 Td -(mmap)Tj -/T1_1 1 Tf -0.25 Tc (,r)Tj -0 Tc 3.277 0 Td -[(ounded up to the near)18(est page size on the system.)]TJ -0.883 Tc -4.766 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he memory r)18(egion is initialized to 0.)]TJ -0.883 Tc -2.102 -1.6 Td -(\245M)Tj -0 Tc 2.435 0 Td -[(ultiple )-250(pr)18(ocesses )-250(can )-250(shar)]TJ -0.5004 Tc 11.99 0 Td -(et)Tj -0 Tc 1.305 0 Td -[(his )-250(r)18(egion )-250(if )-250(a )-250(common )-250(ancestor )-250(speci\336es )-250(the)]TJ -/TT0 1 Tf --14.242 -1.2 Td -(MAP_SHARED)Tj -/T1_1 1 Tf -6.25 0 Td -(\337ag to)Tj -/TT0 1 Tf -3.036 0 Td -(mmap)Tj -/T1_1 1 Tf -(.)Tj --12.575 -1.8 Td -[(The pr)18(ogram in Figur)]TJ -0.25 Tc 9.538 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.33 is an example that uses this special device.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46943 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(566)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(When )-106(a )-106(pr)18(ocess )-106(is )-106(done )-106(with )-106(a )-106(shar)18(ed )-106(r)20(esour)18(ce )-106(that )-106(is )-106(contr)19(olled )-106(by )-106(a )-106(semaphor)18(e, )-106(the)]TJ --0 -1.2 Td -(semaphor)Tj -0.2913 Tc 4.392 0 Td -(ev)Tj -0 Tc 1.335 0 Td -[(alue )-41(is )-41(incr)18(emented )-41(by )-41(1.)-542(If )-41(any )-41(other )-41(pr)18(ocesses )-41(ar)]TJ -0.2914 Tc 22.563 0 Td -(ea)Tj -0 Tc 1.27 0 Td -[(sleep, )-41(waiting )-41(for )-41(the)]TJ --29.561 -1.2 Td -[(semaphor)18(e, they ar)]TJ -0.25 Tc 8.441 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(wakened.)Tj --0.092 Tc -7.87 -1.2 Td -[(To )-535(i)]TJ -0 Tc 1.959 0 Td -[(mplement )-351(semaphor)18(es )-351(corr)17(ectly)]TJ -0.6013 Tc 14.769 0 Td -(,t)Tj -0 Tc 1.177 0 Td -[(he )-351(test )-351(of )-351(a )-351(semaphor)17(e\325s )-351(value )-351(and )-351(the)]TJ --19.705 -1.2 Td -[(decr)18(ementing )-108(of )-108(this )-108(value )-108(must )-108(be )-108(an )-108(atomic )-108(operation.)-604(For )-108(this )-108(r)18(eason, )-108(semaphor)19(es)]TJ -0 -1.2 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(en)Tj -0 Tc 1.311 0 Td -(ormally implemented inside the kernel.)Tj -0.4727 Tc -0.388 -1.2 Td -(Ac)Tj -0 Tc 1.695 0 Td -[(ommon )-223(form )-223(of )-223(semaphor)19(e)-473(is)-473(c)1(alled )-223(a)]TJ -/T1_2 1 Tf -18.486 0 Td -[(binary )-223(semaphor)18(e)]TJ -/T1_1 1 Tf -0.7226 Tc (.I)Tj -0.4726 Tc 8.616 0 Td -(tc)Tj -0 Tc 1.243 0 Td -[(ontr)18(ols )-223(a )-223(single)]TJ --0.018 Tc -31.84 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ce, )-205(and )-205(its )-205(value )-205(is )-205(initialized )-205(to )-205(1.)-705(In )-205(general, )-205(however)]TJ -0.4552 Tc 28.144 0 Td -(,as)Tj -0 Tc 2.084 0 Td -(emaphor)Tj -0.4553 Tc 3.968 0 Td -(ec)Tj -0 Tc 1.378 0 Td -[(an )-205(be)]TJ --36.431 -1.2 Td -[(initialized )-3(to )-3(any )-3(positive )-3(value, )-3(with )-3(the )-3(value )-3(indicating )-3(how )-3(many )-3(units )-3(of )-3(the )-3(shar)14(ed)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ce ar)]TJ -0.25 Tc 4 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(vailable for sharing.)Tj --4.285 -1.2 Td -[(XSI )-266(semaphor)18(es )-266(ar)18(e, )-266(unfortunately)]TJ -0.516 Tc 15.989 0 Td -(,m)Tj -0 Tc 1.649 0 Td -(or)Tj -0.516 Tc 0.923 0 Td -(ec)Tj -0 Tc 1.439 0 Td -[(omplicated )-266(than )-266(this.)-766(Thr)18(ee )-266(featur)18(es)]TJ --21.8 -1.2 Td -(contribute to this unnecessary complication.)Tj -1.8 -1.8 Td -[(1. )-633(A)-417(semaphor)18(e)-417(is)-417(not )-167(simply )-167(a )-167(single )-167(non-negative )-167(value.)-666(Instead, )-167(we )-167(have )-167(to)]TJ -1.633 -1.2 Td -[(de\336ne )-2(a )-2(semaphor)18(e)-252(as)-252(a)-252(set )-2(of )-2(one )-2(or )-2(mor)]TJ -0.2521 Tc 18.281 0 Td -(es)Tj -0 Tc 1.155 0 Td -(emaphor)Tj -0.2521 Tc 3.968 0 Td -(ev)Tj -0 Tc 1.296 0 Td -[(alues. )-252(When)-252(we )-2(cr)18(eate )-2(a)]TJ --24.701 -1.2 Td -[(semaphor)18(e, we specify the number of values in the set.)]TJ --1.633 -1.6 Td -[(2. )-633(The)-597(cr)18(eation )-347(of )-347(a )-347(semaphor)]TJ -0.5966 Tc 15.009 0 Td -(e\()Tj -/TT0 1 Tf -0 Tc 1.409 0 Td -(semget)Tj -/T1_1 1 Tf -[(\))-597(is)-597(i)1(ndependent )-347(of )-347(its )-347(initialization)]TJ --14.785 -1.2 Td -(\()Tj -/TT0 1 Tf -(semctl)Tj -/T1_1 1 Tf -[(\). )-624(This)-623(is )-374(a )-374(fatal )-374(\337aw)]TJ -0.6237 Tc 14.809 0 Td -(,s)Tj -0 Tc 1.298 0 Td -[(ince )-374(we )-374(cannot )-374(atomically )-374(cr)18(eate )-374(a )-374(new)]TJ --16.107 -1.2 Td -(semaphor)Tj -0.25 Tc 4.392 0 Td -(es)Tj -0 Tc 1.153 0 Td -(et and initialize all the values in the set.)Tj --7.178 -1.6 Td -[(3. )-633(Since)-382(all )-132(forms )-132(of )-132(XSI )-132(IPC )-132(r)18(emain )-132(in )-132(existence )-132(even )-132(when )-132(no )-132(pr)18(ocess )-132(is )-132(using)]TJ -1.633 -1.2 Td -[(them, )-69(we )-69(have )-69(to )-69(worry )-69(about )-69(a )-69(pr)17(ogram )-69(that )-69(terminates )-69(without )-69(r)18(eleasing )-69(the)]TJ -T* -[(semaphor)18(es )-193(it )-193(has )-193(been )-193(allocated.)-691(The)]TJ -/T1_2 1 Tf -18.329 0 Td -(undo)Tj -/T1_1 1 Tf -2.499 0 Td -(featur)Tj -0.4427 Tc 2.618 0 Td -(et)Tj -0 Tc 1.248 0 Td -[(hat )-193(we )-193(describe )-193(later )-193(is)]TJ --24.694 -1.2 Td -(supposed to handle this.)Tj --1.633 -1.8 Td -(The kernel maintains a)Tj -/TT0 1 Tf -10.335 0 Td -(semid_ds)Tj -/T1_1 1 Tf -5.05 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ef)Tj -0 Tc 1.062 0 Td -(or each semaphor)Tj -0.25 Tc 7.838 0 Td -(es)Tj -0 Tc 1.153 0 Td -(et:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5915 368.2779 Tm -(struct semid_ds {)Tj -1.2 -1.189 Td -[(struct ipc_perm)-1200(sem_perm; )-600(/*)-600(see Section 15.6.2 */)]TJ -0 -1.189 TD -[(unsigned short)-1800(sem_nsems; /* # of semaphores in set */)]TJ -T* -(time_t )Tj -10.2 0 Td -[(sem_otime;)-600(/* last-semop\(\) time */)]TJ --10.2 -1.189 Td -(time_t )Tj -10.2 0 Td -[(sem_ctime;)-600(/* last-change time */)]TJ --10.2 -1.189 Td -(.)Tj -0 -0.476 TD -(.)Tj -T* -(.)Tj --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5926 277.5231 Tm -[(The )-15(Single )-15(UNIX )-15(Speci\336cation )-15(de\336nes )-15(the )-15(\336elds )-15(shown, )-15(but )-15(implementations )-15(can )-15(de\336ne)]TJ -0 -1.2 TD -(additional members in the)Tj -/TT0 1 Tf -11.905 0 Td -(semid_ds)Tj -/T1_1 1 Tf -5.05 0 Td -[(str)8(uctur)18(e.)]TJ --15.155 -1.2 Td -[(Each )-109(semaphor)18(e)-359(is)-359(r)18(epr)18(esented )-109(by )-109(an )-109(anonymous )-109(str)8(uctur)]TJ -0.3589 Tc 26.352 0 Td -(ec)Tj -0 Tc 1.282 0 Td -[(ontaining )-109(at )-109(least )-109(the)]TJ --29.434 -1.2 Td -(following members:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5916 224.8267 Tm -(struct {)Tj -1.2 -1.189 Td -[(unsigned short)-1200(semval; )-1200(/*)-600(semaphore value, always >= 0 */)]TJ -0 -1.189 TD -(pid_t )Tj -9.6 0 Td -[(sempid;)-1800(/* pid for last operation */)]TJ --9.6 -1.189 Td -[(unsigned short)-1200(semncnt; )-600(/*)]TJ -0.6 Tc 17.4 0 Td -(#p)Tj -0 Tc 1.8 0 Td -(rocesses awaiting semval>curval */)Tj --19.2 -1.189 Td -[(unsigned short)-1200(semzcnt; )-600(/*)]TJ -0.6 Tc 17.4 0 Td -(#p)Tj -0 Tc 1.8 0 Td -(rocesses awaiting semval==0 */)Tj --19.2 -1.189 Td -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5927 134.0721 Tm -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(5.28 lists the system limits that af)18(fect semaphor)]TJ -0.25 Tc 20.764 0 Td -(es)Tj -0 Tc 1.153 0 Td -(ets.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46944 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.7)]TJ -36.151 0 Td -[(Message )-250(Queues)]TJ -/T1_1 1 Tf -9.682 0 Td -(563)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-155(see )-155(that )-155(these )-155(thr)18(ee )-155(commands )-155(\()]TJ -/TT0 1 Tf -(IPC_STAT)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -21.6 0 Td -(IPC_SET)Tj -/T1_0 1 Tf -0.405 Tc (,a)Tj -0 Tc 5.355 0 Td -(nd)Tj -/TT0 1 Tf -1.598 0 Td -(IPC_RMID)Tj -/T1_0 1 Tf -0.405 Tc (\)a)Tj --0.018 Tc 6.038 0 Td -[(re )-191(a)]TJ -0 Tc 1.761 0 Td -(lso)Tj --37.739 -1.2 Td -[(pr)18(ovided for semaphor)18(es and shar)18(ed memory)111(.)]TJ -1.8 -1.2 Td -(Data is placed onto a message queue by calling)Tj -/TT0 1 Tf -21.024 0 Td -(msgsnd)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5914 629.4622 Tm -(#include )Tj -0 -1.783 TD -(int msgsnd\(int)Tj -/T1_2 1 Tf -9 0 Td -(msqid)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.208 0 Td -(onst void *)Tj -/T1_2 1 Tf -(ptr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 9.622 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.43 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --5.809 -1.783 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5929.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 580.5303 Tm -[(As )-1(we )-1(mentioned )-1(earlier)]TJ -0.2513 Tc 10.804 0 Td -(,e)Tj -0 Tc 0.98 0 Td -[(ach )-1(message )-1(is )-1(composed )-1(of )-1(a )-1(positive )-1(long )-1(integer )-1(type )-1(\336eld,)]TJ -0.3228 Tc -11.784 -1.2 Td -(an)Tj -0 Tc 1.405 0 Td -[(on-negative )-73(length )-73(\()]TJ -/T1_2 1 Tf -(nbytes)Tj -/T1_0 1 Tf -[(\), )-73(and )-73(the )-73(actual )-73(data )-73(bytes )-73(\(corr)19(esponding )-73(to )-73(the )-73(length\).)]TJ --1.405 -1.2 Td -(Messages ar)Tj -0.25 Tc 5.359 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(lways placed at the end of the queue.)Tj --4.788 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.949 0 Td -(ptr)Tj -/T1_0 1 Tf -1.497 0 Td -[(ar)18(gument )-25(points )-25(to )-25(a )-25(long )-25(integer )-25(that )-25(contains )-25(the )-25(positive )-25(integer )-25(message)]TJ --5.247 -1.2 Td -[(type, )-53(and )-53(it )-53(is )-53(immediately )-53(followed )-53(by )-53(the )-53(message )-53(data.)-558(\(Ther)18(e)-303(is)-303(no)-303(m)-1(essage )-53(data )-53(if)]TJ -/T1_2 1 Tf --0 -1.2 Td -(nbytes)Tj -/T1_0 1 Tf -3.011 0 Td -[(is )-131(0.\))-631(If )-131(the )-131(lar)16(gest )-131(message )-131(we )-131(send )-131(is )-131(512 )-131(bytes, )-131(we )-131(can )-131(de\336ne )-131(the )-131(following)]TJ --3.011 -1.2 Td -[(str)8(uctur)18(e:)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5819 492.9107 Tm -(struct mymesg {)Tj -1.2 -1.189 Td -[(long )-600(mtype;)-3600(/* positive message type */)]TJ -0 -1.189 TD -[(char )-600(mtext[512];)-600(/* message data, of length)]TJ -/T1_2 1 Tf -27 0 Td -(nbytes)Tj -/TT0 1 Tf -3.23 0 Td -(*/)Tj --31.43 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5839 443.8865 Tm -(The)Tj -/T1_2 1 Tf -2.075 0 Td -(ptr)Tj -/T1_0 1 Tf -1.623 0 Td -[(ar)18(gument )-151(is )-151(then )-151(a )-151(pointer )-151(to )-151(a)]TJ -/TT0 1 Tf -14.889 0 Td -(mymesg)Tj -/T1_0 1 Tf -4.001 0 Td -[(str)8(uctur)18(e. )-401(The)-401(message )-151(type )-151(can )-151(be)]TJ --22.588 -1.2 Td -[(used by the r)18(eceiver to fetch messages in an or)18(der other than \336rst in, \336rst out.)]TJ -7.999 0 0 7.999 183.5776 413.8901 Tm -[(Some )-195(platforms )-195(support )-195(both )-195(32)]TJ -15.014 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-195(and )-195(64)]TJ -4.753 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-195(envir)18(onments. )-445(This)-445(af)18(fects )-195(the )-195(size )-195(of )-195(long)]TJ --20.433 -1.25 Td -[(integers )-95(and )-95(pointers.)-595(For )-95(example, )-95(on )-95(64)]TJ -19.063 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-95(SP)92(ARC )-95(systems, )-95(Solaris )-95(allows )-95(both )-95(32)]TJ -19.063 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-95(and)]TJ --38.792 -1.25 Td -(64)Tj -1 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-5(applications )-5(to )-5(coexist.)-505(If )-5(a )-5(32)]TJ -14.666 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-5(application )-5(wer)18(e)-255(to)-255(exchange )-5(this )-5(str)8(uctur)]TJ -0.2553 Tc 19.966 0 Td -(eo)Tj -0 Tc 1.28 0 Td -[(ver )-5(a )-5(pipe)]TJ --37.579 -1.25 Td -[(or )-9(a )-9(socket )-9(with )-9(a )-9(64)]TJ -9.045 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-9(application, )-9(pr)18(oblems )-9(would )-9(arise, )-9(because )-9(the )-9(size )-9(of )-9(a )-9(long )-9(integer )-9(is)]TJ -0.4046 Tc -9.378 -1.25 Td -(4b)Tj -0 Tc 1.458 0 Td -[(ytes )-155(in )-155(a )-155(32)]TJ -5.372 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-155(application, )-155(but )-155(8 )-155(bytes )-155(in )-155(a )-155(64)]TJ -15.918 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-155(application.)-654(This )-155(means )-155(that )-155(a )-155(32)]TJ -17.083 0.09 Td -(-)Tj -0.333 -0.09 Td -(bit)Tj --40.83 -1.25 Td -[(application )-123(will )-123(expect )-123(that )-123(the)]TJ -/TT0 1 Tf -14.514 0 Td -(mtext)Tj -/T1_0 1 Tf -3.373 0 Td -[(\336eld )-123(will )-123(start )-123(4 )-123(bytes )-123(after )-123(the )-123(start )-123(of )-123(the )-123(str)3(uctur)18(e,)]TJ --17.887 -1.25 Td -[(wher)18(eas )-108(a )-108(64)]TJ -5.891 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-108(application )-108(will )-108(expect )-108(the)]TJ -/TT0 1 Tf -13.872 0 Td -(mtext)Tj -/T1_0 1 Tf -3.358 0 Td -[(\336eld )-108(to )-108(start )-108(8 )-108(bytes )-108(after )-108(the )-108(start )-108(of )-108(the)]TJ --23.454 -1.25 Td -[(str)8(uctur)18(e. )-346(In)-346(this )-96(situation, )-96(part )-96(of )-96(the )-96(64)]TJ -18.66 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-96(application\325s)]TJ -/TT0 1 Tf -7.537 0 Td -(mtype)Tj -/T1_0 1 Tf -3.346 0 Td -[(\336eld )-96(will )-96(appear )-96(as )-96(part )-96(of)]TJ --29.876 -1.25 Td -(the)Tj -/TT0 1 Tf -1.671 0 Td -(mtext)Tj -/T1_0 1 Tf -3.284 0 Td -[(\336eld )-33(to )-33(the )-33(32)]TJ -6.096 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-33(application, )-33(and )-33(the )-33(\336rst )-33(4 )-33(bytes )-33(in )-33(the )-33(32)]TJ -19.872 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-33(application\325s)]TJ -/TT0 1 Tf -7.412 0 Td -(mtext)Tj -/T1_0 1 Tf --39 -1.25 Td -[(\336eld will be interpr)18(eted as a part of the)]TJ -/TT0 1 Tf -17.433 0 Td -(mtype)Tj -/T1_0 1 Tf -3.25 0 Td -(\336eld by the 64)Tj -6.232 0.09 Td -(-)Tj -0.333 -0.09 Td -(bit application.)Tj --27.248 -2.125 Td -[(This )-219(pr)18(oblem )-219(doesn\325t )-219(happen )-219(with )-219(XSI )-219(message )-219(queues, )-219(however)]TJ -0.719 Tc 30.495 0 Td -(.S)Tj -0 Tc 1.494 0 Td -[(olaris )-219(implements )-219(the)]TJ --31.989 -1.25 Td -(32)Tj -1 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-56(version )-56(of )-56(the )-56(IPC )-56(system )-56(calls )-56(with )-56(dif)19(fer)18(ent )-56(entry )-56(points )-56(than )-56(the )-56(64)]TJ -32.698 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-56(version )-56(of )-56(the)]TJ --34.364 -1.25 Td -[(IPC )-30(system )-30(calls.)-530(The )-30(system )-30(calls )-30(know )-30(how )-30(to )-30(deal )-30(with )-30(a )-30(32)]TJ -28.033 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-30(application )-30(communicating)]TJ --28.366 -1.25 Td -[(with )-47(a )-47(64)]TJ -4.128 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-47(application, )-47(and )-47(tr)18(eat )-47(the )-47(type )-47(\336eld )-47(specially )-47(to )-47(avoid )-47(it )-47(interfering )-47(with )-47(the )-47(data)]TJ --4.461 -1.25 Td -[(portion )-173(of )-173(the )-173(message.)-673(The )-173(only )-173(potential )-173(pr)18(oblem )-173(is )-173(a )-173(loss )-173(of )-173(information )-173(when )-173(a )-173(64)]TJ -40.497 0.09 Td -(-)Tj -0.333 -0.09 Td -(bit)Tj --40.83 -1.25 Td -[(application )-28(sends )-28(a )-28(message )-28(with )-28(a )-28(value )-28(in )-28(the )-28(8)]TJ -21.973 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-28(type )-28(\336eld )-28(that )-28(is )-28(lar)18(ger )-28(than )-28(will )-28(\336t )-28(in )-28(a)]TJ --22.306 -1.25 Td -(32)Tj -1 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-127(application\325s )-127(4)]TJ -8.099 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-127(type )-127(\336eld.)-627(In )-127(this )-127(case, )-127(the )-127(32)]TJ -16.027 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-127(application )-127(will )-127(see )-127(a )-127(tr)8(uncated)]TJ --26.125 -1.25 Td -(type value.)Tj -9.9988 0 0 9.9988 147.5823 216.9138 Tm -(A)Tj -/T1_2 1 Tf -1.173 0 Td -(\337ag)Tj -/T1_0 1 Tf -1.884 0 Td -[(value )-145(of)]TJ -/TT0 1 Tf -4.107 0 Td -(IPC_NOWAIT)Tj -/T1_0 1 Tf -6.395 0 Td -[(can )-145(be )-145(speci\336ed.)-645(This )-145(is )-145(similar )-145(to )-145(the )-145(nonblocking)]TJ --15.359 -1.2 Td -[(I/O )-38(\337ag )-38(for )-38(\336le )-38(I/O )-38(\(Section )-38(14.2\).)-538(If )-38(the )-38(message )-38(queue )-38(is )-38(full )-38(\(either )-38(the )-38(total )-38(number)]TJ -0 -1.2 TD -[(of )-94(messages )-94(on )-94(the )-94(queue )-94(equals )-94(the )-94(system )-94(limit, )-94(or )-94(the )-94(total )-94(number )-94(of )-94(bytes )-94(on )-94(the)]TJ -T* -[(queue )-311(equals )-311(the )-311(system )-311(limit\), )-311(specifying)]TJ -/TT0 1 Tf -20.648 0 Td -(IPC_NOWAIT)Tj -/T1_0 1 Tf -6.561 0 Td -(causes)Tj -/TT0 1 Tf -3.435 0 Td -(msgsnd)Tj -/T1_0 1 Tf -4.161 0 Td -[(to )-311(r)18(eturn)]TJ --34.805 -1.2 Td -[(immediately )-54(with )-54(an )-54(err)18(or )-54(of)]TJ -/TT0 1 Tf -13.296 0 Td -(EAGAIN)Tj -/T1_0 1 Tf -0.554 Tc (.I)Tj -0 Tc 4.741 0 Td -(f)Tj -/TT0 1 Tf -0.637 0 Td -(IPC_NOWAIT)Tj -/T1_0 1 Tf -6.304 0 Td -[(is )-54(not )-54(speci\336ed, )-54(we )-54(ar)]TJ -0.304 Tc 9.759 0 Td -(eb)Tj -0 Tc 1.336 0 Td -(locked)Tj --36.073 -1.2 Td -[(until )-15(ther)18(e)-265(is)-265(r)18(oom )-15(for )-15(the )-15(message, )-15(the )-15(queue )-15(is )-15(r)18(emoved )-15(fr)18(om )-15(the )-15(system, )-15(or )-15(a )-15(signal )-15(is)]TJ -T* -[(caught )-12(and )-12(the )-12(signal )-12(handler )-12(r)18(eturns. )-262(In)-262(the )-12(second )-12(case, )-12(an )-12(err)18(or )-12(of)]TJ -/TT0 1 Tf -30.909 0 Td -(EIDRM)Tj -/T1_0 1 Tf -3.262 0 Td -[(is )-12(r)18(eturned)]TJ --34.171 -1.2 Td -[(\(\324)37(\324identi\336er r)18(emoved\325)37(\325\); in the last case, the err)18(or r)18(eturned is)]TJ -/TT0 1 Tf -26.497 0 Td -(EINTR)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46945 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(562)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-154(\336rst )-154(function )-154(normally )-154(called )-154(is)]TJ -/TT0 1 Tf -16.929 0 Td -(msgget)Tj -/T1_1 1 Tf -4.004 0 Td -[(to )-154(either )-154(open )-154(an )-154(existing )-154(queue )-154(or)]TJ --22.733 -1.2 Td -[(cr)18(eate a new queue.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 640.2616 Tm -(#include )Tj -0 -1.902 TD -(int msgget\(key_t)Tj -/T1_2 1 Tf -10.2 0 Td -(key)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.133 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -4.138 -1.902 Td -(Returns: message queue ID if OK,)Tj -/TT1 1 Tf -15.193 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6015.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 587.9894 Tm -[(In )-152(Section )-152(15.6.1, )-152(we )-152(described )-152(the )-152(r)8(ules )-152(for )-152(converting )-152(the)]TJ -/T1_2 1 Tf -27.48 0 Td -(key)Tj -/T1_1 1 Tf -1.735 0 Td -[(into )-152(an )-152(identi\336er )-152(and)]TJ --29.215 -1.2 Td -[(discussed )-89(whether )-89(a )-89(new )-89(queue )-89(is )-89(cr)18(eated )-89(or )-89(an )-89(existing )-89(queue )-89(is )-89(r)13(efer)18(enced. )-339(When)-340(a)]TJ -0 -1.2 TD -[(new )-29(queue )-29(is )-29(cr)17(eated, )-29(the )-29(following )-29(members )-29(of )-29(the)]TJ -/TT0 1 Tf -23.334 0 Td -(msqid_ds)Tj -/T1_1 1 Tf -5.079 0 Td -[(str)8(uctur)]TJ -0.2794 Tc 3.49 0 Td -(ea)Tj --0.018 Tc 1.258 0 Td -[(re )-65(i)]TJ -0 Tc 1.426 0 Td -(nitialized.)Tj -0.883 Tc -32.788 -1.8 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.402 0 Td -(ipc_perm)Tj -/T1_1 1 Tf -5.141 0 Td -[(str)8(uctur)18(e)-341(is)-341(initialized )-91(as )-91(described )-91(in )-91(Section )-91(15.6.2.)-590(The)]TJ -/TT0 1 Tf -26.155 0 Td -(mode)Tj -/T1_1 1 Tf --33.311 -1.2 Td -[(member )-234(of )-234(this )-234(str)9(uctur)18(e)-484(is)-484(s)1(et )-234(to )-234(the )-234(corr)18(esponding )-234(permission )-234(bits )-234(of)]TJ -/T1_2 1 Tf -33.972 0 Td -(\337ag)Tj -/T1_1 1 Tf -(.)Tj --33.972 -1.2 Td -(These permissions ar)Tj -0.25 Tc 9.294 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(peci\336ed with the values fr)18(om Figur)]TJ -0.25 Tc 15.564 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.24.)Tj --28.729 -1.48 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(msg_qnum)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -5.419 0 Td -(msg_lspid)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -6.019 0 Td -(msg_lrpid)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -6.019 0 Td -(msg_stime)Tj -/T1_1 1 Tf -0.3689 Tc (,a)Tj -0 Tc 6.519 0 Td -(nd)Tj -/TT0 1 Tf -1.562 0 Td -(msg_rtime)Tj -/T1_1 1 Tf -5.769 0 Td -(ar)Tj -0.3689 Tc 0.877 0 Td -(ea)Tj -0 Tc 1.348 0 Td -[(ll )-119(set)]TJ --33.531 -1.2 Td -(to 0.)Tj --1.489 -1.48 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(msg_ctime)Tj -/T1_1 1 Tf -5.65 0 Td -[(is set to the curr)18(ent time.)]TJ --7.139 -1.48 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(msg_qbytes)Tj -/T1_1 1 Tf -6.25 0 Td -(is set to the system limit.)Tj --9.539 -1.8 Td -[(On )-106(success,)]TJ -/TT0 1 Tf -5.572 0 Td -(msgget)Tj -/T1_1 1 Tf --0.018 Tc 3.956 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-106(the )-106(non-negative )-106(queue )-106(ID.)-606(This )-106(value )-106(is )-106(then )-106(used )-106(with)]TJ --10.384 -1.2 Td -[(the other thr)18(ee message queue functions.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.036 0 Td -(msgctl)Tj -/T1_1 1 Tf -3.962 0 Td -[(function )-112(performs )-112(various )-112(operations )-112(on )-112(a )-112(queue.)-615(This )-112(function )-112(and)]TJ --7.799 -1.2 Td -[(the )-12(r)18(elated )-12(functions )-12(for )-12(semaphor)18(es )-12(and )-12(shar)18(ed )-12(memory )-12(\()]TJ -/TT0 1 Tf -25.985 0 Td -(semctl)Tj -/T1_1 1 Tf -3.862 0 Td -(and)Tj -/TT0 1 Tf -1.955 0 Td -(shmctl)Tj -/T1_1 1 Tf -0.2616 Tc (\)a)Tj --0.018 Tc 4.695 0 Td -[(re )-48(t)]TJ -0 Tc 1.444 0 Td -(he)Tj -/TT0 1 Tf --37.939 -1.2 Td -(ioctl)Tj -/T1_1 1 Tf -(-like functions for XSI IPC \(i.e., the garbage-can functions\).)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5833 382.914 Tm -(#include )Tj -0 -1.902 TD -(int msgctl\(int)Tj -/T1_2 1 Tf -9 0 Td -(msqid)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.208 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(cmd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.485 0 Td -(truct msqid_ds *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -11.082 0 Td -(\);)Tj -/T1_1 1 Tf --2.724 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3442.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 330.6605 Tm -(The)Tj -/T1_2 1 Tf -2.047 0 Td -(cmd)Tj -/T1_1 1 Tf -2.058 0 Td -[(ar)18(gument )-123(speci\336es )-123(the )-123(command )-123(to )-123(be )-123(performed )-123(on )-123(the )-123(queue )-123(speci\336ed )-123(by)]TJ -/T1_2 1 Tf --4.104 -1.2 Td -(msqid)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -1.8 -2.04 Td -(IPC_STAT)Tj -/T1_1 1 Tf -5.4 0 Td -[(Fetch )-61(the)]TJ -/TT0 1 Tf -4.396 0 Td -(msqid_ds)Tj -/T1_1 1 Tf -5.111 0 Td -[(str)8(uctur)]TJ -0.3109 Tc 3.49 0 Td -(ef)Tj -0 Tc 1.123 0 Td -[(or )-61(this )-61(queue, )-61(storing )-61(it )-61(in )-61(the )-61(str)9(uctur)18(e)]TJ --14.12 -1.2 Td -(pointed to by)Tj -/T1_2 1 Tf -6.167 0 Td -(buf)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf --11.567 -1.6 Td -(IPC_SET)Tj -/T1_1 1 Tf -5.4 0 Td -[(Copy )-154(the )-154(following )-154(\336elds )-154(fr)18(om )-154(the )-154(str)6(uctur)]TJ -0.4044 Tc 19.921 0 Td -(ep)Tj -0 Tc 1.484 0 Td -[(ointed )-154(to )-154(by)]TJ -/T1_2 1 Tf -6.029 0 Td -(buf)Tj -/T1_1 1 Tf -1.701 0 Td -[(to )-154(the)]TJ -/TT0 1 Tf --29.137 -1.2 Td -(msqid_ds)Tj -/T1_1 1 Tf -5.534 0 Td -[(str)8(uctur)]TJ -0.7344 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.713 0 Td -[(ssociated )-484(with )-484(this )-484(queue:)]TJ -/TT0 1 Tf -13.612 0 Td -(msg_perm.uid)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --24.35 -1.2 Td -(msg_perm.gid)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -7.8 0 Td -(msg_perm.mode)Tj -/T1_1 1 Tf -0.3496 Tc (,a)Tj -0 Tc 8.9 0 Td -(nd)Tj -/TT0 1 Tf -1.543 0 Td -(msg_qbytes)Tj -/T1_1 1 Tf -0.5996 Tc (.T)Tj -0 Tc 7.463 0 Td -[(his )-100(command)]TJ --25.704 -1.2 Td -[(can )-294(be )-294(executed )-294(only )-294(by )-294(a )-294(pr)19(ocess )-294(whose )-294(ef)18(fective )-294(user )-294(ID )-294(equals)]TJ -/TT0 1 Tf -0 -1.2 TD -(msg_perm.cuid)Tj -/T1_1 1 Tf -8.248 0 Td -(or)Tj -/TT0 1 Tf -1.389 0 Td -(msg_perm.uid)Tj -/T1_1 1 Tf -7.648 0 Td -[(or )-198(by )-198(a )-198(pr)18(ocess )-198(with )-198(super)7(user)]TJ --17.286 -1.2 Td -[(privileges. )-250(Only)-250(the super)8(user can incr)18(ease the value of)]TJ -/TT0 1 Tf -24.925 0 Td -(msg_qbytes)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf --30.325 -1.6 Td -(IPC_RMID)Tj -/T1_1 1 Tf -5.4 0 Td -[(Remove )-108(the )-108(message )-108(queue )-108(fr)16(om )-108(the )-108(system )-108(and )-108(any )-108(data )-108(still )-108(on )-108(the)]TJ -T* -[(queue. )-406(This)]TJ --0.018 Tc 5.946 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(moval )-156(is )-156(immediate.)-656(Any )-156(other )-156(pr)18(ocess )-156(still )-156(using )-156(the)]TJ --6.802 -1.2 Td -[(message )-342(queue )-342(will )-342(get )-342(an )-342(err)20(or )-341(of)]TJ -/TT0 1 Tf -17.831 0 Td -(EIDRM)Tj -/T1_1 1 Tf -3.591 0 Td -[(on )-341(its )-341(next )-341(attempted)]TJ --21.422 -1.2 Td -[(operation )-237(on )-237(the )-237(queue.)-737(This )-237(command )-237(can )-237(be )-237(executed )-237(only )-237(by )-237(a)]TJ -T* -[(pr)18(ocess )-796(whose )-796(ef)18(fective )-796(user )-796(ID )-796(equals)]TJ -/TT0 1 Tf -22.014 0 Td -(msg_perm.cuid)Tj -/T1_1 1 Tf -8.846 0 Td -(or)Tj -/TT0 1 Tf --30.859 -1.2 Td -(msg_perm.uid)Tj -/T1_1 1 Tf -7.45 0 Td -[(or by a pr)18(ocess with super)8(user privileges.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46946 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.5)]TJ -41.174 0 Td -(FIFOs)Tj -/T1_1 1 Tf -4.659 0 Td -(553)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -1.902 TD -(int mkfifo\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,m)Tj -0 Tc 17.377 0 Td -(ode_t)Tj -/T1_2 1 Tf -3.6 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj --20.977 -1.902 Td -(int mkfifoat\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,m)Tj -0 Tc 10.177 0 Td -(ode_t)Tj -/T1_2 1 Tf -3.6 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --1.304 -1.902 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT1 1 Tf -9.213 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6024.25 cm -0 0 m -0 649 l -3900 649 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 588.8693 Tm -[(The )-445(speci\336cation )-445(of )-445(the)]TJ -/T1_2 1 Tf -12.252 0 Td -(mode)Tj -/T1_0 1 Tf -2.806 0 Td -[(ar)18(gument )-445(is )-445(the )-445(same )-445(as )-445(for )-445(the)]TJ -/TT0 1 Tf -17.141 0 Td -(open)Tj -/T1_0 1 Tf -3.095 0 Td -(function)Tj --35.293 -1.2 Td -[(\(Section )-27(3.3\).)-527(The )-27(r)8(ules )-27(for )-27(the )-27(user )-27(and )-27(gr)16(oup )-27(ownership )-27(of )-27(the )-27(new )-27(FIFO )-27(ar)]TJ -0.2773 Tc 34.293 0 Td -(et)Tj -0 Tc 1.082 0 Td -[(he )-27(same)]TJ --35.376 -1.2 Td -(as we described in Section 4.6.)Tj -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -1.927 0 Td -(mkfifoat)Tj -/T1_0 1 Tf -5.053 0 Td -[(function )-3(is )-3(similar )-3(to )-3(the)]TJ -/TT0 1 Tf -11.021 0 Td -(mkfifo)Tj -/T1_0 1 Tf -3.853 0 Td -[(function, )-3(except )-3(that )-3(it )-3(can )-3(be )-3(used)]TJ --23.654 -1.2 Td -[(to )-312(cr)18(eate )-312(a )-312(FIFO )-312(in )-312(a )-312(location )-312(r)17(elative )-312(to )-312(the )-312(dir)18(ectory )-312(r)17(epr)18(esented )-312(by )-312(the)]TJ -/T1_2 1 Tf -36.284 0 Td -(fd)Tj -/T1_0 1 Tf -1.34 0 Td -(\336le)Tj --37.625 -1.2 Td -[(descriptor ar)18(gument. )-250(Like)-250(the other)]TJ -/TT0 1 Tf -16.22 0 Td -(*at)Tj -/T1_0 1 Tf -2.05 0 Td -(functions, ther)Tj -0.25 Tc 6.395 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(t)]TJ -0 Tc 1.432 0 Td -[(hr)18(ee cases:)]TJ --25.526 -1.8 Td -[(1. )-633(If)-376(the)]TJ -/T1_2 1 Tf -4.442 0 Td -(path)Tj -/T1_0 1 Tf -2.153 0 Td -[(parameter )-126(speci\336es )-126(an )-126(absolute )-126(pathname, )-126(then )-126(the)]TJ -/T1_2 1 Tf -23.801 0 Td -(fd)Tj -/T1_0 1 Tf -1.154 0 Td -[(parameter )-126(is)]TJ --29.918 -1.2 Td -[(ignor)18(ed and the)]TJ -/TT0 1 Tf -7.272 0 Td -(mkfifoat)Tj -/T1_0 1 Tf -5.05 0 Td -(function behaves like the)Tj -/TT0 1 Tf -11.293 0 Td -(mkfifo)Tj -/T1_0 1 Tf -3.85 0 Td -(function.)Tj --29.098 -1.6 Td -[(2. )-633(If)-426(the)]TJ -/T1_2 1 Tf -4.542 0 Td -(path)Tj -/T1_0 1 Tf -2.203 0 Td -[(parameter )-176(speci\336es )-176(a )-176(r)19(elative )-176(pathname )-176(and )-176(the)]TJ -/T1_2 1 Tf -22.627 0 Td -(fd)Tj -/T1_0 1 Tf -1.204 0 Td -[(parameter )-176(is )-176(a)]TJ --28.942 -1.2 Td -[(valid )-50(\336le )-50(descriptor )-50(for )-50(an )-50(open )-50(dir)16(ectory)]TJ -0.3004 Tc 18.425 0 Td -(,t)Tj -0 Tc 0.876 0 Td -[(he )-50(pathname )-50(is )-50(evaluated )-50(r)18(elative )-50(to)]TJ --19.302 -1.2 Td -[(this dir)18(ectory)111(.)]TJ --1.633 -1.6 Td -[(3. )-633(If)-297(the)]TJ -/T1_2 1 Tf -4.283 0 Td -(path)Tj -/T1_0 1 Tf -2.074 0 Td -[(parameter )-47(speci\336es )-47(a )-47(r)18(elative )-47(pathname )-47(and )-47(the)]TJ -/T1_2 1 Tf -21.724 0 Td -(fd)Tj -/T1_0 1 Tf -1.075 0 Td -[(parameter )-47(has )-47(the)]TJ --27.522 -1.2 Td -[(special )-277(value)]TJ -/TT0 1 Tf -6.523 0 Td -(AT_FDCWD)Tj -/T1_0 1 Tf -0.5274 Tc (,t)Tj -0 Tc 5.903 0 Td -[(he )-277(pathname )-277(is )-277(evaluated )-277(starting )-277(in )-277(the )-277(curr)15(ent)]TJ --12.426 -1.2 Td -[(working dir)18(ectory)]TJ -0.25 Tc 7.924 0 Td -(,a)Tj -0 Tc 1 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(mkfifoat)Tj -/T1_0 1 Tf -5.05 0 Td -(behaves like)Tj -/TT0 1 Tf -5.699 0 Td -(mkfifo)Tj -/T1_0 1 Tf -(.)Tj --22.749 -1.8 Td -[(Once )-37(we )-37(have )-37(used)]TJ -/TT0 1 Tf -8.995 0 Td -(mkfifo)Tj -/T1_0 1 Tf -3.887 0 Td -(or)Tj -/TT0 1 Tf -1.228 0 Td -(mkfifoat)Tj -/T1_0 1 Tf -5.087 0 Td -[(to )-37(cr)18(eate )-37(a )-37(FIFO, )-37(we )-37(open )-37(it )-37(using)]TJ -/TT0 1 Tf -15.353 0 Td -(open)Tj -/T1_0 1 Tf -(.)Tj --36.35 -1.2 Td -[(Indeed, )-202(the )-202(normal )-202(\336le )-202(I/O )-202(functions )-202(\(e.g.,)]TJ -/TT0 1 Tf -20.246 0 Td -(close)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.702 0 Td -(read)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.102 0 Td -(write)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.702 0 Td -(unlink)Tj -/T1_0 1 Tf -0.4516 Tc (\)a)Tj -0 Tc 4.885 0 Td -[(ll )-202(work)]TJ --35.636 -1.2 Td -(with FIFOs.)Tj -7.999 0 0 7.999 183.5778 359.2969 Tm -[(Applications )-239(can )-239(cr)18(eate )-239(FIFOs )-239(with )-239(the)]TJ -/TT0 1 Tf -18.82 0 Td -(mknod)Tj -/T1_0 1 Tf -3.489 0 Td -(and)Tj -/TT0 1 Tf -2.182 0 Td -(mknodat)Tj -/T1_0 1 Tf -4.689 0 Td -[(functions. )-489(Because)-490(POSIX.1)]TJ --29.181 -1.25 Td -[(originally )-110(didn\325t )-110(include)]TJ -/TT0 1 Tf -11.381 0 Td -(mknod)Tj -/T1_0 1 Tf -0.3605 Tc (,t)Tj -0 Tc 3.937 0 Td -(he)Tj -/TT0 1 Tf -1.421 0 Td -(mkfifo)Tj -/T1_0 1 Tf -3.961 0 Td -[(function )-110(was )-110(invented )-110(speci\336cally )-110(for )-110(POSIX.1.)]TJ --20.699 -1.25 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(mknod)Tj -/T1_0 1 Tf -3.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(mknodat)Tj -/T1_0 1 Tf -4.45 0 Td -(functions ar)Tj -0.25 Tc 5.258 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(ncluded in the XSI option in POSIX.1.)Tj --17.845 -2.25 Td -[(POSIX.1 )-104(also )-104(includes )-104(support )-104(for )-104(the)]TJ -/TT0 1 Tf -17.438 0 Td -(mkfifo)Tj -/T1_0 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.687 -0.04 Td -[(command. )-354(All)-355(four )-104(platforms )-104(discussed )-104(in)]TJ --22.559 -1.25 Td -[(this )-38(text )-38(pr)18(ovide )-38(this )-38(command.)-538(As )-38(a )-38(r)18(esult, )-38(we )-38(can )-38(cr)18(eate )-38(a )-38(FIFO )-38(using )-38(a )-38(shell )-38(command )-38(and)]TJ -0 -1.25 TD -[(then access it with the normal shell I/O r)18(edir)18(ection.)]TJ -9.9988 0 0 9.9988 147.5818 281.3062 Tm -(When we)Tj -/TT0 1 Tf -4.456 0 Td -(open)Tj -/T1_0 1 Tf -0.25 Tc 2.65 0 Td -(aF)Tj -0 Tc 1.306 0 Td -(IFO, the nonblocking \337ag \()Tj -/TT0 1 Tf -(O_NONBLOCK)Tj -/T1_0 1 Tf -0.25 Tc (\)a)Tj --0.018 Tc 18.925 0 Td -(ff)Tj -0 Tc 0.648 0 Td -(ects what happens.)Tj -0.883 Tc -27.985 -1.8 Td -(\245I)Tj -0.3635 Tc 1.826 0 Td -(nt)Tj -0 Tc 1.271 0 Td -[(he )-113(normal )-113(case )-113(\(without)]TJ -/TT0 1 Tf -11.4 0 Td -(O_NONBLOCK)Tj -/T1_0 1 Tf -[(\), )-113(an)]TJ -/TT0 1 Tf -8.392 0 Td -(open)Tj -/T1_0 1 Tf -2.764 0 Td -[(for )-114(r)18(ead-only )-114(blocks )-114(until)]TJ --24.164 -1.2 Td -[(some )-156(other )-156(pr)17(ocess )-156(opens )-156(the )-156(FIFO )-156(for )-156(writing.)-658(Similarly)]TJ -0.4064 Tc 26.421 0 Td -(,a)Tj -0 Tc 1.156 0 Td -(n)Tj -/TT0 1 Tf -0.988 0 Td -(open)Tj -/T1_0 1 Tf -2.806 0 Td -[(for )-156(write-)]TJ --31.373 -1.2 Td -[(only blocks until some other pr)18(ocess opens the FIFO for r)18(eading.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245I)Tj -0 Tc 1.826 0 Td -(f)Tj -/TT0 1 Tf -0.635 0 Td -(O_NONBLOCK)Tj -/T1_0 1 Tf -6.302 0 Td -[(is )-52(speci\336ed, )-52(an)]TJ -/TT0 1 Tf -6.888 0 Td -(open)Tj -/T1_0 1 Tf -2.702 0 Td -[(for )-52(r)18(ead-only )-52(r)18(eturns )-52(immediately)]TJ -0.5522 Tc 15.121 0 Td -(.B)Tj -0 Tc 1.413 0 Td -[(ut )-52(an)]TJ -/TT0 1 Tf --33.398 -1.2 Td -(open)Tj -/T1_0 1 Tf -2.764 0 Td -[(for )-114(write-only )-114(r)18(eturns)]TJ -/TT1 1 Tf -10.185 0 Td -(!)Tj -/T1_0 1 Tf -0.3639 Tc (1w)Tj -0 Tc 2.247 0 Td -(ith)Tj -/TT0 1 Tf -1.563 0 Td -(errno)Tj -/T1_0 1 Tf -3.364 0 Td -[(set )-114(to)]TJ -/TT0 1 Tf -2.829 0 Td -(ENXIO)Tj -/T1_0 1 Tf -3.364 0 Td -[(if )-114(no )-114(pr)18(ocess )-114(has )-114(the)]TJ --26.315 -1.2 Td -[(FIFO open for r)18(eading.)]TJ --3.289 -1.8 Td -[(As )-65(with )-65(a )-65(pipe, )-65(if )-65(we)]TJ -/TT0 1 Tf -9.786 0 Td -(write)Tj -/T1_0 1 Tf -3.315 0 Td -[(to )-65(a )-65(FIFO )-65(that )-65(no )-65(pr)18(ocess )-65(has )-65(open )-65(for )-65(r)18(eading, )-65(the )-65(signal)]TJ -/TT0 1 Tf --13.102 -1.2 Td -(SIGPIPE)Tj -/T1_0 1 Tf -4.475 0 Td -[(is )-25(generated.)-525(When )-25(the )-25(last )-25(writer )-25(for )-25(a )-25(FIFO )-25(closes )-25(the )-25(FIFO, )-25(an )-25(end )-25(of )-25(\336le )-25(is)]TJ --4.475 -1.2 Td -[(generated for the r)18(eader of the FIFO.)]TJ -1.8 -1.2 Td -[(It )-14(is )-14(common )-14(to )-14(have )-14(multiple )-14(writers )-14(for )-14(a )-14(given )-14(FIFO.)-515(This )-14(means )-14(that )-14(we )-14(have )-14(to)]TJ --1.8 -1.2 Td -[(worry )-132(about )-132(atomic )-132(writes )-132(if )-132(we )-132(don\325t )-132(want )-132(the )-132(writes )-132(fr)21(om )-132(multiple )-132(pr)18(ocesses )-132(to )-132(be)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46947 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(534)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1508.25 6670.25 cm -0 0 m -3475 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 320.8128 658.9605 Tm -[(Fr)18(eeBSD )-2416(Linux)-2382(Mac OS X)-2198(Solaris)]TJ -1.275 -1.25 Td -[(8.0 )-3993(3.2.0)-3618(10.6.8 )-3868(10)]TJ --17.944 0.625 Td -(IPC type)Tj -11.248 0 Td -(SUS)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1508.25 6450.25 cm -0 0 m -3475 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1508.25 6430.25 cm -0 0 m -3475 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 154.8414 634.9238 Tm -(half-duplex pipes)Tj -5.0115 Tc 15.938 0 Td -(\245\()Tj -0 Tc 5.95 0 Td -[(full\) )-4223(\245)]TJ -4.473 Tc 12.192 0 Td -(\245\()Tj -0 Tc 5.412 0 Td -(full\))Tj --39.492 -1.25 Td -(FIFOs )Tj -15.937 0 Td -(\245)Tj -5.262 Tc 6.407 0 Td -(\245\245\245\245)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1508.25 6210.25 cm -0 0 m -3475 0 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 7.9986 0 0 7.9986 154.8321 612.8897 Tm -(full-duplex pipes)Tj -14.464 0 Td -[(allowed )-2789(\245,)-250(UDS )-2988(UDS)-3791(UDS )-2988(\245,)-250(UDS)]TJ --14.464 -1.25 Td -[(named full-duplex pipes)-2790(obsolescent )-2571(UDS)-3791(UDS )-3541(UDS)-3238(\245, UDS)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1508.25 5990.25 cm -0 0 m -3475 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 154.8228 590.8582 Tm -(XSI message queues)Tj -15.476 0 Td -(XSI )Tj -6.868 0 Td -(\245)Tj -5.262 Tc 5.868 0 Td -(\245\245\245)Tj -0 Tc -28.212 -1.25 Td -[(XSI semaphor)18(es )]TJ -15.476 0 Td -(XSI)Tj -5.262 Tc 6.868 0 Td -(\245\245\245\245)Tj -0 Tc -22.344 -1.25 Td -[(XSI shar)18(ed memory)]TJ -15.476 0 Td -(XSI )Tj -6.868 0 Td -(\245)Tj -5.262 Tc 5.868 0 Td -(\245\245\245)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1508.25 5670.25 cm -0 0 m -3475 0 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 7.9976 0 0 7.9976 154.8135 558.8323 Tm -[(message queues \(r)18(eal-time\) )-1284(MSG)-250(option )-3165(\245)]TJ -11.13 Tc 28.212 0 Td -(\245\245)Tj -0 Tc -28.212 -1.25 Td -[(semaphor)18(es )]TJ -15.937 0 Td -(\245)Tj -5.262 Tc 6.407 0 Td -(\245\245\245\245)Tj -0 Tc -22.344 -1.25 Td -[(shar)18(ed memory \(r)18(eal-time\) )-1428(SHM)-250(option )-3131(\245)]TJ -5.262 Tc 28.212 0 Td -(\245\245\245)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1508.25 5350.25 cm -0 0 m -3475 0 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 7.9971 0 0 7.9971 154.8043 526.8103 Tm -(sockets )Tj -15.937 0 Td -(\245)Tj -5.262 Tc 6.407 0 Td -(\245\245\245\245)Tj -0 Tc -22.344 -1.25 Td -(STREAMS )Tj -13.693 0 Td -(obsolescent)Tj -26.255 0 Td -(\245)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1508.25 5130.25 cm -0 0 m -3475 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4534.25 5130.25 cm -0 0 m -0 1540 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4064.25 5130.25 cm -0 0 m -0 1540 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3595.25 5130.25 cm -0 0 m -0 1540 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3115.25 5130.25 cm -0 0 m -0 1540 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3135.25 5130.25 cm -0 0 m -0 1540 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2570.25 5130.25 cm -0 0 m -0 1540 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4983.25 5130.25 cm -0 0 m -0 1540 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1508.25 5130.25 cm -0 0 m -0 1540 l -S -Q -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 246.9962 494.7921 Tm -(Figure 15.1)Tj -/T1_1 1 Tf -5.695 0 Td -(Summary of UNIX System IPC)Tj -9.9958 0 0 9.9958 147.5382 470.8022 Tm -[(Named )-61(full-duplex )-61(pipes )-61(ar)]TJ -0.3107 Tc 12.461 0 Td -(ep)Tj --0.018 Tc 1.391 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vided )-61(as )-61(mounted )-61(STREAMS)]TJ -13.109 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-61(pipes, )-61(but )-61(ar)19(e)]TJ --30.017 -1.2 Td -(marked obsolescent in the Single UNIX Speci\336cation.)Tj -7.9966 0 0 7.9966 183.5233 438.8157 Tm -[(Although )-45(support )-45(for )-45(STREAMS )-45(on )-45(Linux )-45(is )-45(available )-45(in )-45(the )-45(\324)36(\324Linux )-45(Fast-STREAMS\325)]TJ -0.2953 Tc 37.791 0 Td -(\325p)Tj -0 Tc 1.174 0 Td -(ackage)Tj --38.965 -1.25 Td -[(fr)18(om )-67(the )-67(OpenSS7 )-67(pr)17(oject, )-67(the )-67(package )-67(hasn\325t )-67(been )-67(updated )-67(r)17(ecently)]TJ -0.5673 Tc 30.599 0 Td -(.T)Tj -0 Tc 1.43 0 Td -[(he )-67(latest )-67(r)18(elease )-67(of )-67(the)]TJ --32.029 -1.25 Td -[(package fr)18(om 2008 claims to work with kernels up to Linux 2.6.26.)]TJ -9.9958 0 0 9.9958 147.539 396.8333 Tm -[(The )-233(\336rst )-233(ten )-233(forms )-233(of )-233(IPC )-233(in )-233(Figur)]TJ -0.4831 Tc 16.559 0 Td -(e1)Tj -0 Tc 1.462 0 Td -[(5.1 )-233(ar)]TJ -0.4832 Tc 2.61 0 Td -(eu)Tj -0 Tc 1.565 0 Td -[(sually )-233(r)18(estricted )-233(to )-233(IPC )-233(between)]TJ --23.996 -1.2 Td -[(pr)18(ocesses )-40(on )-40(the )-40(same )-40(host.)-540(The )-40(\336nal )-40(two )-40(r)21(ows )167(\321 )167(sockets)-290(and )-39(STREAMS)]TJ -0.0833 Tc 32.62 0 Td -(\321a)Tj --0.018 Tc 1.583 0 Td -[(re )-76(t)]TJ -0 Tc 1.471 0 Td -[(he )-39(only)]TJ --35.675 -1.2 Td -(two forms that ar)Tj -0.25 Tc 7.648 0 Td -(eg)Tj -0 Tc 1.285 0 Td -[(enerally supported for IPC between pr)18(ocesses on dif)18(fer)18(ent hosts.)]TJ --0.092 Tc -7.133 -1.2 Td -[(We )-401(h)]TJ -0 Tc 2.436 0 Td -[(ave )-217(divided )-217(the )-217(discussion )-217(of )-217(IPC )-217(into )-217(thr)18(ee )-217(chapters.)-717(In )-217(this )-217(chapter)]TJ -0.4674 Tc 32.733 0 Td -(,w)Tj -0 Tc 1.551 0 Td -(e)Tj --38.521 -1.2 Td -[(examine )-47(classical )-47(IPC: )-47(pipes, )-47(FIFOs, )-47(message )-47(queues, )-47(semaphor)18(es, )-47(and )-47(shar)18(ed )-47(memory)110(.)]TJ -0 -1.2 TD -[(In )-147(the )-147(next )-147(chapter)75(,)-397(we)-397(take )-147(a )-147(look )-147(at )-147(network )-147(IPC )-147(using )-147(the )-147(sockets )-147(mechanism.)-645(In)]TJ --0 -1.2 Td -[(Chapter 17, we take a look at some advanced featur)18(es of IPC.)]TJ -/TT0 1 Tf -11.995 0 0 11.995 93.5611 291.2776 Tm -[(15.2 )-776(Pipes)]TJ -/T1_1 1 Tf -9.9958 0 0 9.9958 129.546 269.6867 Tm -[(Pipes )-83(ar)]TJ -0.3326 Tc 3.609 0 Td -(et)Tj -0 Tc 1.138 0 Td -[(he )-83(oldest )-83(form )-83(of )-83(UNIX )-83(System )-83(IPC )-83(and )-83(ar)]TJ -0.3326 Tc 19.461 0 Td -(ep)Tj --0.018 Tc 1.413 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vided )-83(by )-83(all )-83(UNIX )-83(systems.)]TJ --26.543 -1.2 Td -(Pipes have two limitations.)Tj -1.8 -2.04 Td -[(1. )-633(Historically)]TJ -0.3404 Tc 6.709 0 Td -(,t)Tj -0 Tc 0.916 0 Td -[(hey )-90(have )-90(been )-90(half )-90(duplex )-90(\(i.e., )-90(data )-90(\337ows )-90(in )-90(only )-90(one )-90(dir)14(ection\).)]TJ --5.992 -1.2 Td -[(Some )-64(systems )-64(now )-64(pr)18(ovide )-64(full-duplex )-64(pipes, )-64(but )-64(for )-64(maximum )-64(portability)]TJ -0.3145 Tc 33.69 0 Td -(,w)Tj -0 Tc 1.399 0 Td -(e)Tj --35.088 -1.2 Td -(should never assume that this is the case.)Tj --1.633 -1.6 Td -[(2. )-633(Pipes)-588(can )-338(be )-338(used )-338(only )-338(between )-338(pr)17(ocesses )-338(that )-338(have )-338(a )-338(common )-338(ancestor)72(.)]TJ -1.633 -1.2 Td -(Normally)Tj -0.2788 Tc 4.182 0 Td -(,ap)Tj -0 Tc 1.909 0 Td -[(ipe )-29(is )-29(cr)18(eated )-29(by )-29(a )-29(pr)18(ocess, )-29(that )-29(pr)18(ocess )-29(calls)]TJ -/TT1 1 Tf -19.944 0 Td -(fork)Tj -/T1_1 1 Tf -0.2788 Tc (,a)Tj -0 Tc 3.429 0 Td -[(nd )-29(the )-29(pipe )-29(is)]TJ --29.464 -1.2 Td -[(used between the par)18(ent and the child.)]TJ --0.092 Tc -3.433 -2.04 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-188(see )-188(that )-188(FIFOs )-188(\(Section )-188(15.5\) )-188(get )-188(ar)18(ound )-188(the )-188(second )-188(limitation, )-188(and )-188(that )-188(UNIX)]TJ --1.387 -1.2 Td -[(domain sockets \(Section 17.2\) get ar)18(ound both limitations.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46948 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 456.33 708 Tm -(Contents)Tj -/T1_1 1 Tf -5.974 0 Td -(xv)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 154.7907 667.9599 Tm -[(12.4.2 )-3422(Reader\320Wr)-15(iter )-278(Loc)]TJ -0.556 Tc 15.144 0 Td -(kA)Tj -0 Tc 1.723 0 Td -[(ttr )263(ib)20(utes )-1882(439)]TJ --16.867 -1.3 Td -[(12.4.3 )-3422(Condition)]TJ --0.07 Tc 11.26 0 Td -(Va)Tj -0.015 Tc 1.153 0 Td -(ri)Tj -0 Tc 0.57 0 Td -[(ab)20(le )-278(Attr)-15(ib)20(utes )-1882(440)]TJ --12.983 -1.3 Td -[(12.4.4 )-3422(Barr)-15(ier )-278(Attr)-15(ib)20(utes )-1882(441)]TJ -0 -1.3 TD -[(12.5 )-2456(Reentr)10(ancy )-1882(442)]TJ -T* -[(12.6 )-2456(Thread)]TJ -7.848 0.09 Td -(-)Tj -0.333 -0.09 Td -[(Speci\336c )-278(Data)-2160(446)]TJ --8.181 -1.3 Td -[(12.7 )-2456(Cancel)-556(Options )-1882(451)]TJ -T* -[(12.8 )-2456(Threads)-556(and )-278(Signals)-2160(453)]TJ --0 -1.3 Td -[(12.9 )-2456(Threads)-556(and)]TJ -/TT1 1 Tf -11.128 0 Td -(fork)Tj -/TT0 1 Tf -4.56 0 Td -(457)Tj --15.688 -1.3 Td -[(12.10 )-1900(Threads)-556(and )-278(I/O)-2160(461)]TJ --0 -1.3 Td -[(12.11 )-1900(Summar)]TJ -2.16 Tc 8.488 0 Td -(y4)Tj -0 Tc 3.216 0 Td -(62)Tj -/TT2 1 Tf --14.224 -2.47 Td -[(Chapter )-278(13.)-1476(Daemon )-278(Pr)20(ocesses )]TJ -34.118 0 Td -(463)Tj -/TT0 1 Tf --31.598 -1.82 Td -[(13.1 )-2456(Introduction)-2160(463)]TJ -T* -[(13.2 )-2456(Daemon)-556(Char)10(acter )263(istics)-2160(463)]TJ --0 -1.3 Td -[(13.3 )-2456(Coding)-556(Rules )-1882(466)]TJ -T* -[(13.4 )-2456(Error)-556(Logging )-1882(469)]TJ -T* -[(13.5 )-2456(Single-Instance)-556(Daemons )-1882(473)]TJ -T* -[(13.6 )-2456(Daemon)-556(Con)]TJ --0.025 Tc 10.829 0 Td -(ve)Tj -0 Tc 1.031 0 Td -[(ntions )-1882(474)]TJ --11.86 -1.3 Td -[(13.7 )-2456(Client\320Ser)]TJ --0.025 Tc 9.378 0 Td -(ve)Tj -0.556 Tc 1.031 0 Td -(rM)Tj -0 Tc 1.722 0 Td -[(odel )-1882(479)]TJ --12.131 -1.3 Td -[(13.8 )-2456(Summar)]TJ -2.16 Tc 8.488 0 Td -(y4)Tj -0 Tc 3.216 0 Td -(80)Tj -/TT2 1 Tf --14.224 -2.47 Td -[(Chapter )-278(14.)-1476(Ad)]TJ --0.02 Tc 8.518 0 Td -(va)Tj -0 Tc 1.092 0 Td -[(nced )-278(I/O)]TJ -24.508 0 Td -(481)Tj -/TT0 1 Tf --31.598 -1.82 Td -[(14.1 )-2456(Introduction)-2160(481)]TJ -T* -[(14.2 )-2456(Nonb)20(loc)20(king )-278(I/O)-2160(481)]TJ --0 -1.3 Td -[(14.3 )-2456(Record)-556(Loc)20(king )-1882(485)]TJ --0 -1.3 Td -[(14.4 )-2456(I/O)-556(Multiple)30(xing )-1882(500)]TJ -T* -(14.4.1)Tj -/TT1 1 Tf -6.48 0 Td -(select)Tj -/TT0 1 Tf -4.156 0 Td -(and)Tj -/TT1 1 Tf -2.224 0 Td -(pselect)Tj -/TT0 1 Tf -4.756 0 Td -[(Functions )-1882(502)]TJ --17.616 -1.3 Td -(14.4.2)Tj -/TT1 1 Tf -6.48 0 Td -(poll)Tj -/TT0 1 Tf -2.956 0 Td -[(Function )-1882(506)]TJ --9.436 -1.3 Td -[(14.5 )-2456(Asynchronous)-556(I/O )-1882(509)]TJ -T* -[(14.5.1 )-3422(System)]TJ -0.556 Tc 10.37 0 Td -(VA)Tj -0 Tc 1.89 0 Td -[(synchronous )-278(I/O)-2160(510)]TJ --12.26 -1.3 Td -[(14.5.2 )-3422(BSD)-556(Asynchronous )-278(I/O)-2160(510)]TJ --0 -1.3 Td -[(14.5.3 )-3422(POSIX)-556(Asynchronous )-278(I/O)-2160(511)]TJ -T* -(14.6)Tj -/TT1 1 Tf -4.68 0 Td -(readv)Tj -/TT0 1 Tf -3.556 0 Td -(and)Tj -/TT1 1 Tf -2.224 0 Td -(writev)Tj -/TT0 1 Tf -4.156 0 Td -[(Functions )-1882(521)]TJ --14.616 -1.3 Td -(14.7)Tj -/TT1 1 Tf -4.68 0 Td -(readn)Tj -/TT0 1 Tf -3.556 0 Td -(and)Tj -/TT1 1 Tf -2.224 0 Td -(writen)Tj -/TT0 1 Tf -4.156 0 Td -[(Functions )-1882(523)]TJ --14.616 -1.3 Td -[(14.8 )-2456(Memor)-30(y-Mapped )-278(I/O)-2160(525)]TJ -0 -1.3 Td -[(14.9 )-2456(Summar)]TJ -2.16 Tc 8.488 0 Td -(y5)Tj -0 Tc 3.216 0 Td -(31)Tj -/TT2 1 Tf --14.224 -2.47 Td -[(Chapter )-278(15.)-1476(Interpr)20(ocess )-278(Comm)20(unication )]TJ -34.118 0 Td -(533)Tj -/TT0 1 Tf --31.598 -1.82 Td -[(15.1 )-2456(Introduction)-2160(533)]TJ -T* -[(15.2 )-2456(Pipes)-2160(534)]TJ -T* -(15.3)Tj -/TT1 1 Tf -4.68 0 Td -(popen)Tj -/TT0 1 Tf -3.556 0 Td -(and)Tj -/TT1 1 Tf -2.224 0 Td -(pclose)Tj -/TT0 1 Tf -4.156 0 Td -[(Functions )-1882(541)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46949 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.3)]TJ -/TT0 1 Tf -29.686 0 Td -(popen)Tj -/T1_0 1 Tf -3.5 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(pclose)Tj -/T1_0 1 Tf -4.1 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(541)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-184(c)]TJ --0.018 Tc 2.081 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ate two pipes befor)Tj -0.25 Tc 8.445 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he)Tj -/TT0 1 Tf -1.311 0 Td -(fork)Tj -/T1_0 1 Tf -[(,)-250(as)-250(shown in Figur)]TJ -0.25 Tc 10.798 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(5.8. )-250(The)-250(par)18(ent writes the)]TJ --27.575 -1.2 Td -[(character )-54(\324)37(\324p\325)]TJ -0.304 Tc 5.73 0 Td -(\325a)Tj -0 Tc 1.082 0 Td -[(cr)18(oss )-54(the )-54(top )-54(pipe )-54(when)]TJ -/TT0 1 Tf -11.044 0 Td -(TELL_CHILD)Tj -/T1_0 1 Tf -6.304 0 Td -[(is )-54(called, )-54(and )-54(the )-54(child )-54(writes )-54(the)]TJ --24.16 -1.2 Td -[(character )-39(\324)37(\324c\325)]TJ -0.2893 Tc 5.558 0 Td -(\325a)Tj -0 Tc 1.067 0 Td -[(cr)18(oss )-39(the )-39(bottom )-39(pipe )-39(when)]TJ -/TT0 1 Tf -12.678 0 Td -(TELL_PARENT)Tj -/T1_0 1 Tf -6.889 0 Td -[(is )-39(called.)-539(The )-39(corr)17(esponding)]TJ -/TT0 1 Tf --26.193 -1.2 Td -(WAIT_xxx)Tj -/T1_0 1 Tf -5.05 0 Td -(functions do a blocking)Tj -/TT0 1 Tf -10.607 0 Td -(read)Tj -/T1_0 1 Tf -2.65 0 Td -[(for the single character)74(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2274 5630 576 432 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -3642 5630 576 432 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 244.7106 609.3669 Tm -[(par)18(ent)]TJ -17.423 0 Td -(child)Tj -/TT0 1 Tf --17.09 -1.975 Td -(pfd1[1])Tj -0 -2.7 TD -(pfd2[0])Tj -15.1 2.7 Td -(pfd1[0])Tj -T* -(pfd2[1])Tj -ET -q -0.99988 0 0 0.99988 0 0 cm -q 1 0 0 1 364.2 595.4 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -1 j 1 J -q 1 0 0 1 3642 5954 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2850.25 5954.25 cm -0 0 m -720 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 319.1705 598.5323 Tm -("p")Tj -ET -q -0.99982 0 0 0.99982 0 0 cm -q 1 0 0 1 285 573.8 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -1 j 1 J -q 1 0 0 1 2850 5738 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 5738.25 cm -0 0 m --720 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 319.7792 576.9015 Tm -("c")Tj -/T1_1 1 Tf --13.24 -4.905 Td -(Figure 15.8)Tj -/T1_0 1 Tf -5.695 -0 Td -[(Using two pipes for par)18(ent\320child synchr)18(onization)]TJ -9.9976 0 0 9.9976 147.5648 510.0778 Tm -[(Note )-75(that )-75(each )-75(pipe )-75(has )-75(an )-75(extra )-75(r)15(eader)]TJ -0.3254 Tc 17.742 0 Td -(,w)Tj -0 Tc 1.409 0 Td -[(hich )-75(doesn\325t )-75(matter)]TJ -0.5753 Tc 8.631 0 Td -(.T)Tj -0 Tc 1.438 0 Td -[(hat )-75(is, )-75(in )-75(addition)]TJ --31.02 -1.2 Td -[(to )-143(the )-143(child )-143(r)18(eading )-143(fr)18(om)]TJ -/TT0 1 Tf -11.979 0 Td -(pfd1[0])Tj -/T1_0 1 Tf -0.3932 Tc (,t)Tj -0 Tc 5.169 0 Td -[(he )-143(par)18(ent )-143(has )-143(this )-143(end )-143(of )-143(the )-143(top )-143(pipe )-143(open )-143(for)]TJ --0.018 Tc -17.148 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading. )-250(This)-250(doesn\325t af)18(fect us, since the par)18(ent doesn\325t try to r)18(ead fr)18(om this pipe.)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4862.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9964 0 0 11.9964 93.5719 450.065 Tm -(15.3)Tj -/TT2 1 Tf -3 0 Td -(popen)Tj -/TT1 1 Tf -3.556 0 Td -(and)Tj -/TT2 1 Tf -2.334 0 Td -(pclose)Tj -/TT1 1 Tf -4.156 0 Td -(Functions)Tj -/T1_0 1 Tf -9.997 0 0 9.997 129.5607 426.0722 Tm -[(Since )-22(a )-22(common )-22(operation )-22(is )-22(to )-22(cr)18(eate )-22(a )-22(pipe )-22(to )-22(another )-22(pr)19(ocess )-22(to )-22(either )-22(r)18(ead )-22(its )-22(output)]TJ -0 -1.2 TD -[(or )-216(send )-216(it )-216(input, )-216(the )-216(standar)]TJ -0.4662 Tc 13.346 0 Td -(dI)Tj -0 Tc 1.414 0 Td -[(/O )-216(library )-216(has )-216(historically )-216(pr)18(ovided )-216(the)]TJ -/TT0 1 Tf -19.081 0 Td -(popen)Tj -/T1_0 1 Tf -3.466 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(pclose)Tj -/T1_0 1 Tf -3.853 0 Td -[(functions. )-252(These)-253(two )-2(functions )-2(handle )-2(all )-2(the )-2(dirty )-2(work )-2(that )-2(we\325ve )-2(been )-2(doing)]TJ --3.852 -1.2 Td -[(ourselves: )-293(cr)18(eating )-293(a )-293(pipe,)]TJ -/TT0 1 Tf -12.906 0 Td -(fork)Tj -/T1_0 1 Tf -[(ing )-293(a )-293(child, )-293(closing )-293(the )-293(unused )-293(ends )-293(of )-293(the )-293(pipe,)]TJ --12.906 -1.2 Td -[(executing a shell to r)8(un the command, and waiting for the command to terminate.)]TJ -/TT0 1 Tf -8.9973 0 0 8.9973 147.5557 358.9923 Tm -(#include )Tj -0 -1.902 TD -(FILE *popen\(const char *)Tj -/T1_2 1 Tf -(cmdstring)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 20.33 0 Td -(onst char *)Tj -/T1_2 1 Tf -(type)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -0.825 -1.902 Td -(Returns: \336le pointer if OK,)Tj -/TT0 1 Tf -11.958 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --35.763 -1.902 Td -(int pclose\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -15.233 -1.902 Td -(Returns: termination status of)Tj -/T1_2 1 Tf -13.41 0 Td -(cmdstring)Tj -/T1_0 1 Tf -0.25 Tc (,o)Tj -0 Tc 5.176 0 Td -(r)Tj -/TT3 1 Tf -0.645 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2861.25 cm -0 0 m -0 820 l -3900 820 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9964 0 0 9.9964 129.5534 270.1227 Tm -[(The )-212(function)]TJ -/TT0 1 Tf -6.305 0 Td -(popen)Tj -/T1_0 1 Tf -3.462 0 Td -[(does )-212(a)]TJ -/TT0 1 Tf -3.485 0 Td -(fork)Tj -/T1_0 1 Tf -2.862 0 Td -(and)Tj -/TT0 1 Tf -2.155 0 Td -(exec)Tj -/T1_0 1 Tf -2.862 0 Td -[(to )-212(execute )-212(the)]TJ -/T1_2 1 Tf -6.972 0 Td -(cmdstring)Tj -/T1_0 1 Tf -4.592 0 Td -[(and )-212(r)18(eturns )-212(a)]TJ --32.696 -1.2 Td -(standar)Tj -0.3855 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.334 0 Td -[(/O )-135(\336le )-135(pointer)]TJ -0.6355 Tc 6.684 0 Td -(.I)Tj -0 Tc 1.222 0 Td -(f)Tj -/T1_2 1 Tf -0.719 0 Td -(type)Tj -/T1_0 1 Tf -2.108 0 Td -(is)Tj -/TT0 1 Tf -1.101 0 Td -("r")Tj -/T1_0 1 Tf -0.3855 Tc (,t)Tj -0 Tc 2.761 0 Td -[(he )-135(\336le )-135(pointer )-135(is )-135(connected )-135(to )-135(the )-135(standar)15(d)]TJ --19.248 -1.2 Td -(output of)Tj -/T1_2 1 Tf -4.384 0 Td -(cmdstring)Tj -/T1_0 1 Tf -4.38 0 Td -(\(Figur)Tj -0.25 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.9\).)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2274 1978.2 576 216 re -S -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -3642 1978.2 576 216 re -S -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 244.6372 222.5665 Tm -[(par)18(ent)]TJ -/T1_2 1 Tf -14.9 0 Td -(cmdstring)Tj -/T1_0 1 Tf -4.38 0 Td -(\(child\))Tj -/TT0 1 Tf --15.697 -1.975 Td -(fp)Tj -/T1_2 1 Tf -11.6 0 Td -(stdout)Tj -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 285 208.62 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 2850 2086.2 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 2086.25 cm -0 0 m --720 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 227.7107 172.5372 Tm -(Figure 15.9)Tj -/T1_0 1 Tf -5.695 0 Td -(Result of)Tj -/TT0 1 Tf -4.17 0 Td -(fp = popen\()Tj -/T1_2 1 Tf -(cmdstring)Tj -/TT0 1 Tf -0.6 Tc (,")Tj -0 Tc 12.53 0 Td -(r"\))Tj -/T1_0 1 Tf -9.9952 0 0 9.9952 129.538 144.9504 Tm -(If)Tj -/T1_2 1 Tf -0.977 0 Td -(type)Tj -/T1_0 1 Tf -2.029 0 Td -(is)Tj -/TT0 1 Tf -1.022 0 Td -("w")Tj -/T1_0 1 Tf -0.3068 Tc (,t)Tj -0 Tc 2.683 0 Td -[(he )-57(\336le )-57(pointer )-57(is )-57(connected )-57(to )-57(the )-57(standar)]TJ -0.3068 Tc 18.591 0 Td -(di)Tj -0 Tc 1.209 0 Td -[(nput )-57(of)]TJ -/T1_2 1 Tf -3.605 0 Td -(cmdstring)Tj -/T1_0 1 Tf -[(,)-307(as)-307(shown)]TJ --30.114 -1.2 Td -(in Figur)Tj -0.25 Tc 3.506 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.10.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46950 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(15)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Inter )260(pr)15(ocess )-280(Comm)20(unica )275(tion)]TJ -/TT0 1 Tf -12 0 0 12 93.6 434.4 Tm -[(15.1 )-776(Intr)20(oduction)]TJ -/T1_2 1 Tf -10 0 0 10 129.6 410.4 Tm -[(In )-118(Chapter )-118(8, )-118(we )-118(described )-118(the )-118(pr)19(ocess )-118(contr)18(ol )-118(primitives )-118(and )-118(saw )-118(how )-118(to )-118(work )-118(with)]TJ -0 -1.2 TD -[(multiple )-48(pr)18(ocesses. )-298(But)-298(the )-48(only )-48(way )-48(for )-48(these )-48(pr)18(ocesses )-48(to )-48(exchange )-48(information )-48(is )-48(by)]TJ -0 -1.2 Td -[(passing )-183(open )-183(\336les )-183(acr)18(oss )-183(a)]TJ -/TT1 1 Tf -12.767 0 Td -(fork)Tj -/T1_2 1 Tf -2.833 0 Td -[(or )-183(an)]TJ -/TT1 1 Tf -2.89 0 Td -(exec)Tj -/T1_2 1 Tf -2.833 0 Td -[(or )-183(thr)18(ough )-183(the )-183(\336le )-183(system.)]TJ --0.092 Tc 13.034 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-183(now)]TJ --35.745 -1.2 Td -[(describe )-73(other )-73(techniques )-73(for )-73(pr)18(ocesses )-73(to )-73(communicate )-73(with )-73(one )-73(another: )-73(interpr)15(ocess)]TJ -T* -(communication)Tj -7.171 0.04 Td -(\()Tj -0.333 -0.04 Td -(IPC)Tj -1.65 0.04 Td -(\))Tj -0.333 -0.04 Td -(.)Tj --7.687 -1.2 Td -[(In )-171(the )-171(past, )-171(UNIX )-171(System )-171(IPC )-171(was )-171(a )-171(hodgepodge )-171(of )-171(various )-171(appr)13(oaches, )-172(few )-172(of)]TJ --1.8 -1.2 Td -[(which )-28(wer)]TJ -0.2785 Tc 4.701 0 Td -(ep)Tj -0 Tc 1.359 0 Td -[(ortable )-28(acr)18(oss )-28(all )-28(UNIX )-28(system )-28(implementations.)-531(Thr)18(ough )-28(the )-28(POSIX )-28(and)]TJ --6.06 -1.2 Td -[(The )-219(Open )-219(Gr)18(oup )-219(\(formerly )-219(X/Open\) )-219(standar)18(dization )-219(ef)18(forts, )-219(the )-219(situation )-219(has )-219(since)]TJ -T* -[(impr)18(oved, )-94(but )-94(dif)18(fer)18(ences )-94(still )-94(exist.)-594(Figur)]TJ -0.3439 Tc 19.161 0 Td -(e1)Tj -0 Tc 1.323 0 Td -[(5.1 )-94(summarizes )-94(the )-94(various )-94(forms )-94(of )-94(IPC)]TJ --20.484 -1.2 Td -(that ar)Tj -0.25 Tc 2.861 0 Td -(es)Tj -0 Tc 1.153 0 Td -(upported by the four implementations discussed in this text.)Tj --2.214 -1.2 Td -[(Note )-619(that )-619(the )-619(Single )-619(UNIX )-619(Speci\336cation )-619(\(the )-619(\324)37(\324SUS\325)]TJ -0.869 Tc 26.665 0 Td -(\325c)Tj -0 Tc 1.591 0 Td -[(olumn\) )-619(allows )-619(an)]TJ --30.056 -1.2 Td -[(implementation )-103(to )-103(support )-103(full-duplex )-103(pipes, )-103(but )-103(r)17(equir)18(es )-103(only )-103(half-duplex )-103(pipes.)-603(An)]TJ -T* -[(implementation )-165(that )-165(supports )-165(full-duplex )-165(pipes )-165(will )-165(still )-165(work )-165(with )-165(corr)18(ectly )-165(written)]TJ -T* -[(applications )-553(that )-553(assume )-553(that )-553(the )-553(underlying )-553(operating )-553(system )-553(supports )-553(only)]TJ -T* -[(half-duplex )-186(pipes.)]TJ --0.092 Tc 8.909 0 Td -[(We )-371(u)]TJ -0 Tc 2.426 0 Td -[(se )-186(\324)37(\324\(full\)\325)]TJ -0.4365 Tc 4.284 0 Td -(\325i)Tj -0 Tc 1.006 0 Td -[(nstead )-186(of )-186(a )-186(bullet )-186(to )-186(show )-186(implementations )-186(that)]TJ --16.624 -1.2 Td -(support half-duplex pipes by using full-duplex pipes.)Tj -1.8 -1.2 Td -[(In )-312(Figur)]TJ -0.5621 Tc 3.864 0 Td -(e1)Tj -0 Tc 1.541 0 Td -[(5.1, )-312(we )-312(show )-312(a )-312(bullet )-312(wher)]TJ -0.5621 Tc 13.325 0 Td -(eb)Tj -0 Tc 1.594 0 Td -[(asic )-312(functionality )-312(is )-312(supported.)-812(For)]TJ --22.124 -1.2 Td -[(full-duplex )-373(pipes, )-373(if )-373(the )-373(featur)]TJ -0.6234 Tc 14.721 0 Td -(ec)Tj -0 Tc 1.546 0 Td -[(an )-373(be )-373(pr)18(ovided )-373(thr)18(ough )-373(UNIX )-373(domain )-373(sockets)]TJ --16.267 -1.2 Td -[(\(Section )-243(17.2\), )-243(we )-243(show )-243(\324)39(\324UDS\325)]TJ -0.4926 Tc 14.365 0 Td -(\325i)Tj -0.4925 Tc 1.062 0 Td -(nt)Tj -0 Tc 1.4 0 Td -[(he )-242(column.)-742(Some )-242(implementations )-242(support )-242(the)]TJ --16.827 -1.2 Td -(featur)Tj -0.3306 Tc 2.618 0 Td -(ew)Tj -0 Tc 1.644 0 Td -[(ith )-81(pipes )-81(and )-81(UNIX )-81(domain )-81(sockets, )-81(so )-81(these )-81(entries )-81(have )-81(both )-81(\324)41(\324UDS\325)]TJ -0.3307 Tc 31.606 0 Td -(\325a)Tj -0 Tc 1.109 0 Td -[(nd )-81(a)]TJ --36.976 -1.2 Td -(bullet.)Tj -1.8 -1.2 Td -[(The )-119(IPC )-119(interfaces )-119(intr)18(oduced )-119(as )-119(part )-119(of )-119(the )-119(r)18(eal-time )-119(extensions )-119(to )-119(POSIX.1 )-119(wer)23(e)]TJ --1.8 -1.2 Td -[(included )-368(as )-368(options )-368(in )-368(the )-368(Single )-368(UNIX )-368(Speci\336cation.)-868(In )-368(SUSv4, )-368(the )-368(semaphor)19(e)]TJ -T* -(interfaces wer)Tj -0.25 Tc 6.193 0 Td -(em)Tj -0 Tc 1.612 0 Td -[(oved fr)18(om an option to the base speci\336cation.)]TJ -/T1_3 1 Tf -9 0 0 9 506.1009 114 Tm -(533)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46951 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.9)]TJ -39.488 0 Td -(Summary)Tj -/T1_1 1 Tf -6.345 0 Td -(531)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(system )-74(call )-74(and )-74(extra )-74(copying )-74(dif)16(fers )-74(fr)18(om )-74(the )-74(page )-74(fault )-74(over)18(head, )-74(then )-74(one )-74(appr)14(oach)]TJ -0 -1.2 TD -[(will perform better than the other)74(.)]TJ -1.8 -1.2 Td -[(On )-23(Linux )-23(3.2.0, )-23(as )-23(far )-23(as )-23(elapsed )-23(time )-23(is )-23(concerned, )-23(the )-23(two )-23(versions )-23(of )-23(the )-23(pr)24(ogram)]TJ --1.8 -1.2 Td -[(show )-5(a )-5(lar)18(ge )-5(dif)18(fer)18(ence )-5(in )-5(clock )-5(time: )-5(the )-5(version )-5(using)]TJ -/TT0 1 Tf -24.537 0 Td -(read)Tj -/T1_0 1 Tf -2.655 0 Td -(and)Tj -/TT0 1 Tf -1.948 0 Td -(write)Tj -/T1_0 1 Tf -3.255 0 Td -[(completes )-5(four)]TJ --32.395 -1.2 Td -[(times )-195(faster )-195(than )-195(the )-195(version )-195(using)]TJ -/TT0 1 Tf -16.647 0 Td -(mmap)Tj -/T1_0 1 Tf -2.845 0 Td -(and)Tj -/TT0 1 Tf -2.138 0 Td -(memcpy)Tj -/T1_0 1 Tf -0.6953 Tc (.H)Tj -0 Tc 5.377 0 Td -[(owever)74(,)-445(on)-445(S)-1(olaris )-195(10, )-195(the)]TJ --27.008 -1.2 Td -[(version )-48(with)]TJ -/TT0 1 Tf -5.912 0 Td -(mmap)Tj -/T1_0 1 Tf -2.699 0 Td -(and)Tj -/TT0 1 Tf -1.991 0 Td -(memcpy)Tj -/T1_0 1 Tf -3.899 0 Td -[(is )-48(faster )-48(than )-48(the )-48(version )-48(with)]TJ -/TT0 1 Tf -13.655 0 Td -(read)Tj -/T1_0 1 Tf -2.699 0 Td -(and)Tj -/TT0 1 Tf -1.992 0 Td -(write)Tj -/T1_0 1 Tf -0.5486 Tc (.I)Tj -0.2986 Tc 4.136 0 Td -(ft)Tj -0 Tc 0.958 0 Td -(he)Tj --37.939 -1.2 Td -[(CPU )-21(times )-21(ar)]TJ -0.2715 Tc 5.914 0 Td -(ea)Tj -0 Tc 1.251 0 Td -[(lmost )-21(the )-21(same, )-21(then )-21(why )-21(would )-21(the )-21(clock )-21(times )-21(dif)14(fer? )-271(One)-272(possibility)]TJ --7.164 -1.2 Td -[(is )-31(that )-31(we )-31(might )-31(have )-31(to )-31(wait )-31(longer )-31(for )-31(I/O )-31(to )-31(complete )-31(in )-31(one )-31(version.)-530(This )-31(wait )-31(time)]TJ -T* -[(is )-322(not )-322(counted )-322(as )-322(CPU )-322(pr)18(ocessing )-322(time.)-824(Another )-322(possibility )-322(is )-322(that )-322(some )-322(system)]TJ -T* -[(pr)18(ocessing )-48(might )-48(not )-48(be )-48(counted )-48(against )-48(our )-48(pr)15(ogram )167(\321 )167(the)-299(pr)18(ocessing )-48(done )-48(by )-48(system)]TJ -0 -1.2 Td -[(daemons )-53(to )-53(write )-53(pages )-53(to )-53(disk, )-53(for )-53(example.)-554(As )-53(we )-53(need )-53(to )-53(allocate )-53(pages )-53(for )-53(r)18(eading)]TJ -T* -[(and )-83(writing, )-83(these )-83(system )-83(daemons )-83(will )-83(help )-83(make )-83(pages )-83(available.)-583(If )-83(the )-83(page )-83(writes)]TJ -T* -(ar)Tj -0.3332 Tc 0.877 0 Td -(er)Tj -0 Tc 1.207 0 Td -[(andom )-83(instead )-83(of )-83(sequential, )-83(then )-83(it )-83(will )-83(take )-83(longer )-83(to )-83(write )-83(them )-83(out )-83(to )-83(disk, )-83(so)]TJ --2.084 -1.2 Td -(we will need to wait longer befor)Tj -0.25 Tc 14.631 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(he pages become available for us to r)18(euse.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5130.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 488.9413 Tm -[(Depending )-357(on )-357(the )-357(system, )-357(memory-mapped )-357(I/O )-357(can )-357(be )-357(mor)]TJ -0.6068 Tc 29.509 0 Td -(ee)Tj --0.018 Tc 1.565 0 Td -(f\336)Tj -0 Tc 0.92 0 Td -[(cient )-357(when)]TJ --33.794 -1.2 Td -[(copying )-2(one )-2(r)18(egular )-2(\336le )-2(to )-2(another)]TJ -0.5023 Tc 15.228 0 Td -(.T)Tj -0 Tc 1.365 0 Td -(her)Tj -0.2523 Tc 1.438 0 Td -(ea)Tj --0.018 Tc 1.231 0 Td -[(re )-38(l)]TJ -0 Tc 1.399 0 Td -[(imitations. )-252(W)]TJ -0.2523 Tc 6.12 0 Td -(ec)Tj -0 Tc 1.175 0 Td -[(an\325t )-2(use )-2(this )-2(technique )-2(to)]TJ --27.958 -1.2 Td -[(copy )-91(between )-91(certain )-91(devices )-91(\(such )-91(as )-91(a )-91(network )-91(device )-91(or )-91(a )-91(terminal )-91(device\), )-91(and )-91(we)]TJ -T* -[(have )-238(to )-238(be )-238(car)18(eful )-238(if )-238(the )-238(size )-238(of )-238(the )-238(underlying )-238(\336le )-238(could )-238(change )-238(after )-238(we )-238(map )-238(it.)]TJ -T* -[(Nevertheless, )-70(some )-70(applications )-70(can )-70(bene\336t )-70(fr)20(om )-70(memory-mapped )-70(I/O, )-70(as )-70(it )-70(can )-70(often)]TJ -T* -[(simplify )-51(the )-51(algorithms, )-51(since )-51(we )-51(manipulate )-51(memory )-51(instead )-51(of )-51(r)18(eading )-51(and )-51(writing )-51(a)]TJ -T* -[(\336le. )-556(One)-556(example )-306(is )-306(the )-306(manipulation )-306(of )-306(a )-306(frame )-306(buf)18(fer )-306(device )-306(that )-306(r)18(efer)18(ences )-306(a)]TJ --0 -1.2 Td -[(bitmapped display)111(.)]TJ -1.8 -1.2 Td -(Krieger)Tj -0.5095 Tc 3.247 0 Td -(,S)Tj -0 Tc 1.284 0 Td -[(tumm, )-259(and )-259(Unrau)]TJ -9.024 0.04 Td -([)Tj -0.333 -0.04 Td -(1992)Tj -2 0.04 Td -(])Tj -0.842 -0.04 Td -[(describe )-260(an )-260(alternative )-260(to )-260(the )-260(standar)]TJ -0.5096 Tc 17.619 0 Td -(dI)Tj -0 Tc 1.458 0 Td -(/O)Tj --37.608 -1.2 Td -(library \(Chapter 5\) that uses memory-mapped I/O.)Tj --0.092 Tc 1.8 -1.2 Td -[(We )-283(r)]TJ -0 Tc 2.112 0 Td -[(eturn )-98(to )-98(memory-mapped )-98(I/O )-98(in )-98(Section )-98(15.9, )-98(showing )-98(an )-98(example )-98(of )-98(how )-98(it)]TJ --3.913 -1.2 Td -[(can be used to pr)18(ovide shar)18(ed memory between r)18(elated pr)18(ocesses.)]TJ -/TT1 1 Tf -11.9986 0 0 11.9986 93.5882 322.1613 Tm -[(14.9 )-776(Summar)-10(y)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5838 301.7638 Tm -[(In )-54(this )-54(chapter)]TJ -0.3037 Tc 6.402 0 Td -(,w)Tj -0 Tc 1.388 0 Td -[(e\325ve )-54(described )-54(numer)19(ous )-54(advanced )-54(I/O )-54(functions, )-54(many )-54(of )-54(which )-54(ar)19(e)]TJ --7.79 -1.2 Td -(used in the examples in later chapters:)Tj -0.883 Tc 1.8 -1.92 Td -(\245N)Tj -0 Tc 2.32 0 Td -(onblocking I/O)Tj -0.0833 Tc 7.009 0 Td -(\321i)Tj -0 Tc 1.374 0 Td -(ssuing an I/O operation without letting it block)Tj -0.883 Tc -10.704 -1.6 Td -(\245R)Tj -0 Tc 2.157 0 Td -(ecor)Tj -0.4684 Tc 1.846 0 Td -(dl)Tj -0 Tc 1.37 0 Td -[(ocking )-218(\(which )-218(we\325ll )-218(look )-218(at )-218(in )-218(mor)]TJ -0.4683 Tc 16.468 0 Td -(ed)Tj -0 Tc 1.558 0 Td -[(etail )-218(thr)18(ough )-218(an )-218(example, )-218(the)]TJ --21.911 -1.2 Td -(database library in Chapter 20\))Tj -0.883 Tc -1.489 -1.6 Td -(\245I)Tj -0 Tc 1.826 0 Td -[(/O )-52(multiplexing)]TJ -0.0833 Tc 7.487 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -(he)Tj -/TT0 1 Tf -1.363 0 Td -(select)Tj -/T1_0 1 Tf -3.902 0 Td -(and)Tj -/TT0 1 Tf -1.995 0 Td -(poll)Tj -/T1_0 1 Tf -2.702 0 Td -[(functions )-52(\(we\325ll )-52(use )-52(these )-52(in )-52(many )-52(of)]TJ --19.194 -1.2 Td -(the later examples\))Tj -0.883 Tc -1.489 -1.6 Td -(\245A)Tj -0 Tc 2.267 0 Td -[(synchr)18(onous I/O)]TJ -0.883 Tc -2.267 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.311 0 Td -(readv)Tj -/T1_0 1 Tf -3.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(writev)Tj -/T1_0 1 Tf -3.85 0 Td -(functions \(also used in many of the later examples\))Tj -0.883 Tc -12.456 -1.6 Td -(\245M)Tj -0 Tc 2.435 0 Td -(emory-mapped I/O \()Tj -/TT0 1 Tf -(mmap)Tj -/T1_0 1 Tf -(\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46952 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.8)]TJ -33.728 0 Td -[(Memory-Mapped )-250(I/O)]TJ -/T1_1 1 Tf -12.105 0 Td -(525)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(14.8 )-776(Memor)-10(y-Mapped )-278(I/O)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(Memory-mapped )-67(I/O )-67(lets )-67(us )-67(map )-67(a )-67(\336le )-67(on )-67(disk )-67(into )-67(a )-67(buf)17(fer )-67(in )-67(memory )-67(so )-67(that, )-67(when)]TJ -0 -1.2 TD -[(we )-108(fetch )-108(bytes )-108(fr)18(om )-108(the )-108(buf)16(fer)]TJ -0.3586 Tc 13.738 0 Td -(,t)Tj -0 Tc 0.935 0 Td -[(he )-109(corr)18(esponding )-109(bytes )-109(of )-109(the )-109(\336le )-109(ar)]TJ -0.3586 Tc 16.503 0 Td -(er)Tj -0 Tc 1.215 0 Td -[(ead. )-359(Similarly)111(,)]TJ --32.389 -1.2 Td -[(when )-83(we )-83(stor)]TJ -0.3331 Tc 6.129 0 Td -(ed)Tj -0 Tc 1.423 0 Td -[(ata )-83(in )-83(the )-83(buf)18(fer)]TJ -0.3331 Tc 7.189 0 Td -(,t)Tj -0 Tc 0.909 0 Td -[(he )-83(corr)18(esponding )-83(bytes )-83(ar)]TJ -0.333 Tc 11.709 0 Td -(ea)Tj -0 Tc 1.312 0 Td -[(utomatically )-83(written )-83(to)]TJ --28.672 -1.2 Td -[(the \336le.)-500(This lets us perform I/O without using)]TJ -/TT1 1 Tf -21.294 0 Td -(read)Tj -/T1_0 1 Tf -2.65 0 Td -(or)Tj -/TT1 1 Tf -1.191 0 Td -(write)Tj -/T1_0 1 Tf -(.)Tj -7.9995 0 0 7.9995 183.5894 588.9647 Tm -[(Memory-mapped )-64(I/O )-64(has )-64(been )-64(in )-64(use )-64(with )-64(virtual )-64(memory )-64(systems )-64(for )-64(many )-64(years.)-567(In )-64(1981,)]TJ -0 -1.25 TD -[(4.1BSD )-299(pr)18(ovided )-299(a )-299(dif)19(fer)18(ent )-299(form )-299(of )-299(memory-mapped )-299(I/O )-299(with )-299(its)]TJ -/TT1 1 Tf -32.61 0 Td -(vread)Tj -/T1_0 1 Tf -3.549 0 Td -(and)Tj -/TT1 1 Tf -2.242 0 Td -(vwrite)Tj -/T1_0 1 Tf --38.4 -1.25 Td -[(functions. )-547(These)-548(two )-297(functions )-297(wer)]TJ -0.5475 Tc 16.924 0 Td -(et)Tj -0 Tc 1.352 0 Td -[(hen )-297(r)18(emoved )-297(in )-297(4.2BSD )-297(and )-297(wer)]TJ -0.5475 Tc 15.737 0 Td -(ei)Tj -0 Tc 1.317 0 Td -[(ntended )-297(to )-297(be)]TJ --0.018 Tc -35.331 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(placed )-41(with )-41(the)]TJ -/TT1 1 Tf -7.22 0 Td -(mmap)Tj -/T1_0 1 Tf -2.691 0 Td -[(function. )-291(The)]TJ -/TT1 1 Tf -6.464 0 Td -(mmap)Tj -/T1_0 1 Tf -2.691 0 Td -[(function, )-41(however)]TJ -0.2913 Tc 8.054 0 Td -(,w)Tj -0 Tc 1.375 0 Td -[(as )-41(not )-41(included )-41(with )-41(4.2BSD)]TJ --29.352 -1.25 Td -[(\(for )-70(r)18(easons )-70(described )-70(in )-70(Section )-70(2.5 )-70(of )-70(McKusick )-70(et )-70(al.)]TJ -24.905 0.04 Td -([)Tj -0.333 -0.04 Td -(1996)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -[(\). )-320(Gingell,)-321(Moran, )-70(and )-70(Shannon)]TJ --27.571 -1.21 Td -([)Tj -0.333 -0.04 Td -(1987)Tj -2 0.04 Td -(])Tj -0.845 -0.04 Td -[(describe )-262(one )-262(implementation )-262(of)]TJ -/TT1 1 Tf -15.271 0 Td -(mmap)Tj -/T1_0 1 Tf -0.7623 Tc (.V)Tj -0 Tc 4.023 0 Td -[(ersion )-262(4 )-262(of )-262(the )-262(Single )-262(UNIX )-262(Speci\336cation)]TJ --22.472 -1.25 Td -[(moved )-191(the)]TJ -/TT1 1 Tf -5.353 0 Td -(mmap)Tj -/T1_0 1 Tf -2.841 0 Td -[(function )-191(fr)18(om )-191(an )-191(option )-191(to )-191(the )-191(base )-191(speci\336cation.)-690(All )-191(POSIX-conforming)]TJ --8.194 -1.25 Td -(systems ar)Tj -0.25 Tc 4.643 0 Td -(er)Tj -0 Tc 1.106 0 Td -[(equir)18(ed to support it.)]TJ --0.092 Tc 9.9994 0 0 9.9994 147.5921 496.9702 Tm -[(To )-351(u)]TJ -0 Tc 2.087 0 Td -[(se )-167(this )-167(featur)17(e, )-167(we )-167(have )-167(to )-167(tell )-167(the )-167(kernel )-167(to )-167(map )-167(a )-167(given )-167(\336le )-167(to )-167(a )-167(r)18(egion )-167(in)]TJ --3.887 -1.2 Td -(memory)Tj -0.5 Tc 3.631 0 Td -(.T)Tj -0 Tc 1.363 0 Td -(his task is handled by the)Tj -/TT1 1 Tf -11.47 0 Td -(mmap)Tj -/T1_0 1 Tf -2.65 0 Td -(function.)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 140.3928 468.2719 Tm -(#include )Tj -0 -2.021 TD -(void *mmap\(void *)Tj -/T1_2 1 Tf -(addr)Tj -/TT1 1 Tf -0.6 Tc (,s)Tj -0 Tc 13.833 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(len)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.023 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -[(pr)18(ot)]TJ -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.448 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.289 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(fd)Tj -/TT1 1 Tf -0.6 Tc (,o)Tj -0 Tc 2.578 0 Td -(ff_t)Tj -/T1_2 1 Tf -3 0 Td -(off)Tj -/TT1 1 Tf -1.185 0 Td -(\);)Tj -/T1_0 1 Tf --30.567 -2.021 Td -[(Returns: starting addr)18(ess of mapped r)18(egion if OK,)]TJ -/TT1 1 Tf -22.324 0 Td -(MAP_FAILED)Tj -/T1_0 1 Tf -6.25 0 Td -[(on err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4274.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 413.8703 Tm -(The)Tj -/T1_2 1 Tf -1.947 0 Td -(addr)Tj -/T1_0 1 Tf -2.106 0 Td -[(ar)18(gument )-23(lets )-23(us )-23(specify )-23(the )-23(addr)18(ess )-23(wher)16(e)-273(we)-273(w)-1(ant )-23(the )-23(mapped )-23(r)18(egion )-23(to)]TJ --5.854 -1.2 Td -[(start. )-267(W)]TJ -0.2667 Tc 3.646 0 Td -(en)Tj -0 Tc 1.328 0 Td -[(ormally )-17(set )-17(this )-17(value )-17(to )-17(0 )-17(to )-17(allow )-17(the )-17(system )-17(to )-17(choose )-17(the )-17(starting )-17(addr)22(ess.)]TJ --4.973 -1.2 Td -[(The r)18(eturn value of this function is the starting addr)18(ess of the mapped ar)18(ea.)]TJ -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.022 0 Td -(fd)Tj -/T1_0 1 Tf -1.126 0 Td -[(ar)18(gument )-98(is )-98(the )-98(\336le )-98(descriptor )-98(specifying )-98(the )-98(\336le )-98(that )-98(is )-98(to )-98(be )-98(mapped.)]TJ --0.092 Tc 32.665 0 Td -(We)Tj -0 Tc -37.613 -1.2 Td -[(have )-54(to )-54(open )-54(this )-54(\336le )-54(befor)19(e)-304(we)-304(can )-54(map )-54(it )-54(into )-54(the )-54(addr)18(ess )-54(space.)-553(The)]TJ -/T1_2 1 Tf -32.149 0 Td -(len)Tj -/T1_0 1 Tf -1.527 0 Td -[(ar)18(gument )-54(is)]TJ --33.675 -1.2 Td -[(the )-57(number )-57(of )-57(bytes )-57(to )-57(map, )-57(and)]TJ -/T1_2 1 Tf -15.046 0 Td -(off)Tj -/T1_0 1 Tf -1.307 0 Td -[(is )-57(the )-57(starting )-57(of)18(fset )-57(in )-57(the )-57(\336le )-57(of )-57(the )-57(bytes )-57(to )-57(map.)]TJ --16.353 -1.2 Td -[(\(Some r)18(estrictions on the value of)]TJ -/T1_2 1 Tf -15.003 0 Td -(off)Tj -/T1_0 1 Tf -1.25 0 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(escribed later)74(.\))]TJ --16.67 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.924 0 Td -[(pr)18(ot)]TJ -/T1_0 1 Tf -1.898 0 Td -[(ar)18(gument speci\336es the pr)18(otection of the mapped r)18(egion.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2428.25 3087.25 cm -0 0 m -1635 0 l -S -Q -Q -BT -/T1_2 1 Tf -7.9986 0 0 7.9986 264.2044 300.6659 Tm -[(pr)18(ot)]TJ -/T1_0 1 Tf -8.717 0 Td -(Description)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2428.25 2967.25 cm -0 0 m -1635 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2428.25 2947.25 cm -0 0 m -1635 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9981 0 0 7.9981 246.7848 286.6512 Tm -(PROT_READ)Tj -/T1_0 1 Tf -7.5 0 Td -[(Region can be r)18(ead.)]TJ -/TT1 1 Tf --7.5 -1.25 Td -(PROT_WRITE)Tj -/T1_0 1 Tf -7.5 0 Td -(Region can be written.)Tj -/TT1 1 Tf --7.5 -1.25 Td -(PROT_EXEC)Tj -/T1_0 1 Tf -7.5 0 Td -(Region can be executed.)Tj -/TT1 1 Tf --7.5 -1.25 Td -(PROT_NONE)Tj -/T1_0 1 Tf -7.5 0 Td -(Region cannot be accessed.)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2428.25 2527.25 cm -0 0 m -1635 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3008.25 2527.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4063.25 2527.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2428.25 2527.25 cm -0 0 m -0 560 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 232.8261 234.6496 Tm -(Figure 14.25)Tj -/T1_0 1 Tf -6.195 0 Td -[(Pr)18(otection of memory-mapped r)18(egion)]TJ --0.092 Tc 9.997 0 0 9.997 129.5613 208.2575 Tm -[(We )-602(c)]TJ -0 Tc 2.499 0 Td -[(an )-418(specify )-418(the )-418(pr)18(otection )-418(as )-418(either)]TJ -/TT1 1 Tf -17.598 0 Td -(PROT_NONE)Tj -/T1_0 1 Tf -6.068 0 Td -[(or )-418(the )-418(bitwise )-418(OR )-418(of )-418(any)]TJ --26.164 -1.2 Td -[(combination )-120(of)]TJ -/TT1 1 Tf -7.162 0 Td -(PROT_READ)Tj -/T1_0 1 Tf -(,)Tj -/TT1 1 Tf -6.02 0 Td -(PROT_WRITE)Tj -/T1_0 1 Tf -0.3697 Tc (,a)Tj -0 Tc 7.12 0 Td -(nd)Tj -/TT1 1 Tf -1.563 0 Td -(PROT_EXEC)Tj -/T1_0 1 Tf -0.6198 Tc (.T)Tj -0 Tc 6.883 0 Td -[(he )-120(pr)18(otection )-120(speci\336ed)]TJ --28.747 -1.2 Td -[(for )-97(a )-97(r)17(egion )-97(can\325t )-97(allow )-97(mor)]TJ -0.3473 Tc 12.74 0 Td -(ea)Tj -0 Tc 1.326 0 Td -[(ccess )-97(than )-97(the)]TJ -/TT1 1 Tf -6.634 0 Td -(open)Tj -/T1_0 1 Tf -2.747 0 Td -[(mode )-97(of )-97(the )-97(\336le.)-597(For )-97(example, )-97(we)]TJ --23.447 -1.2 Td -(can\325t specify)Tj -/TT1 1 Tf -5.758 0 Td -(PROT_WRITE)Tj -/T1_0 1 Tf -6.25 0 Td -[(if the \336le was opened r)18(ead-only)111(.)]TJ --10.208 -1.2 Td -(Befor)Tj -0.4182 Tc 2.346 0 Td -(el)Tj -0 Tc 1.188 0 Td -[(ooking )-168(at )-168(the)]TJ -/T1_2 1 Tf -6.545 0 Td -(\337ag)Tj -/T1_0 1 Tf -1.907 0 Td -[(ar)18(gument, )-168(let\325s )-168(see )-168(what\325s )-168(going )-168(on )-168(her)17(e. )-418(Figur)]TJ -0.4183 Tc 22.067 0 Td -(e1)Tj -0 Tc 1.397 0 Td -(4.26)Tj --37.25 -1.2 Td -[(shows )-6(a )-6(memory-mapped )-6(\336le.)-506(\(Recall )-6(the )-6(memory )-6(layout )-6(of )-6(a )-6(typical )-6(pr)13(ocess, )-6(shown )-6(in)]TJ -0 -1.2 TD -(Figur)Tj -0.308 Tc 2.383 0 Td -(e7)Tj -0 Tc 1.287 0 Td -[(.6.\) )-308(In)-308(this )-58(\336gur)18(e, )-58(\324)37(\324start )-58(addr)]TJ --0.037 Tc 13.216 0 Td -[(\325\325 )-132(i)]TJ -0.3081 Tc 1.118 0 Td -(st)Tj -0 Tc 1.058 0 Td -[(he )-58(r)18(eturn )-58(value )-58(fr)18(om)]TJ -/TT1 1 Tf -9.632 0 Td -(mmap)Tj -/T1_0 1 Tf -0.5581 Tc (.W)Tj -0.3081 Tc 4.116 0 Td -(eh)Tj -0 Tc 1.369 0 Td -[(ave )-58(shown)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46953 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.7)]TJ -/TT0 1 Tf -29.686 0 Td -(readn)Tj -/T1_0 1 Tf -3.5 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(writen)Tj -/T1_0 1 Tf -4.1 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(523)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(In )-295(summary)]TJ -0.5453 Tc 5.597 0 Td -(,w)Tj -0.5454 Tc 1.629 0 Td -(es)Tj -0 Tc 1.448 0 Td -[(hould )-295(always )-295(try )-295(to )-295(use )-295(the )-295(fewest )-295(number )-295(of )-295(system )-295(calls)]TJ --10.475 -1.2 Td -[(necessary )-84(to )-84(get )-84(the )-84(job )-84(done.)-584(If )-84(we )-84(ar)]TJ -0.334 Tc 17.486 0 Td -(ew)Tj -0 Tc 1.647 0 Td -[(riting )-84(small )-84(amounts )-84(of )-84(data, )-84(we )-84(will )-84(\336nd )-84(it)]TJ --19.133 -1.2 Td -[(less )-218(expensive )-218(to )-218(copy )-218(the )-218(data )-218(ourselves )-218(and )-218(use )-218(a )-218(single)]TJ -/TT0 1 Tf -28.049 0 Td -(write)Tj -/T1_0 1 Tf -3.468 0 Td -[(instead )-218(of )-218(using)]TJ -/TT0 1 Tf --31.516 -1.2 Td -(writev)Tj -/T1_0 1 Tf -0.5615 Tc (.W)Tj -0.3115 Tc 5.319 0 Td -(em)Tj -0 Tc 1.674 0 Td -[(ight )-61(\336nd, )-61(however)]TJ -0.3114 Tc 8.232 0 Td -(,t)Tj -0 Tc 0.887 0 Td -[(hat )-61(the )-61(performance )-61(bene\336ts )-61(ar)18(en\325t )-61(worth )-61(the )-61(extra)]TJ --16.112 -1.2 Td -[(complexity cost needed to manage our own staging buf)18(fers.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5942 584.9649 Tm -(14.7)Tj -/TT2 1 Tf -3 0 Td -(readn)Tj -/TT1 1 Tf -3.556 0 Td -(and)Tj -/TT2 1 Tf -2.334 0 Td -(writen)Tj -/TT1 1 Tf -4.156 0 Td -(Functions)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5916 563.3662 Tm -[(Pipes, )-44(FIFOs, )-44(and )-44(some )-44(devices)]TJ -0.0833 Tc 14.136 0 Td -(\321n)Tj -0 Tc 1.665 0 Td -[(otably )-44(terminals )-44(and )-44(networks)]TJ -0.0833 Tc 13.744 0 Td -(\321h)Tj -0 Tc 1.665 0 Td -[(ave )-44(the )-44(following)]TJ --31.211 -1.2 Td -[(two pr)18(operties.)]TJ -1.8 -2.04 Td -[(1. )-633(A)]TJ -/TT0 1 Tf -2.842 0 Td -(read)Tj -/T1_0 1 Tf -2.831 0 Td -[(operation )-181(may )-181(r)18(eturn )-181(less )-181(than )-181(asked )-181(for)]TJ -0.4308 Tc 18.93 0 Td -(,e)Tj -0 Tc 1.16 0 Td -[(ven )-181(though )-181(we )-181(have )-181(not)]TJ --24.13 -1.2 Td -[(encounter)18(ed )-18(the )-18(end )-18(of )-18(\336le.)-518(This )-18(is )-18(not )-18(an )-18(err)16(or)]TJ -0.2682 Tc 21.014 0 Td -(,a)Tj -0 Tc 1.018 0 Td -[(nd )-18(we )-18(should )-18(simply )-18(continue)]TJ --0.018 Tc -22.032 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading fr)18(om the device.)]TJ --2.489 -1.6 Td -[(2. )-633(A)]TJ -/TT0 1 Tf -2.783 0 Td -(write)Tj -/T1_0 1 Tf -3.371 0 Td -[(operation )-121(can )-121(r)18(eturn )-121(less )-121(than )-121(we )-121(speci\336ed.)-624(This )-121(may )-121(be )-121(caused )-121(by)]TJ --4.521 -1.2 Td -[(kernel )-98(output )-98(buf)18(fers )-98(becoming )-98(full, )-98(for )-98(example.)-600(Again, )-98(it\325s )-98(not )-98(an )-98(err)16(or)]TJ -0.3484 Tc 33.276 0 Td -(,a)Tj -0 Tc 1.098 0 Td -(nd)Tj --34.374 -1.2 Td -[(we )-179(should )-179(continue )-179(writing )-179(the )-179(r)18(emainder )-179(of )-179(the )-179(data.)-681(\(Normally)]TJ -0.4291 Tc 30.563 0 Td -(,t)Tj -0 Tc 1.005 0 Td -[(his )-179(short)]TJ --0.018 Tc -31.568 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-60(fr)18(om )-60(a)]TJ -/TT0 1 Tf -5.474 0 Td -(write)Tj -/T1_0 1 Tf -3.31 0 Td -[(occurs )-60(only )-60(with )-60(a )-60(nonblocking )-60(descriptor )-60(or )-60(if )-60(a )-60(signal )-60(is)]TJ --9.64 -1.2 Td -(caught.\))Tj --0.092 Tc -3.433 -2.04 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-132(never )-132(see )-132(this )-132(happen )-132(when )-132(r)20(eading )-131(or )-131(writing )-131(a )-131(disk )-131(\336le, )-131(except )-131(when )-131(the )-131(\336le)]TJ --1.387 -1.2 Td -[(system )-215(r)8(uns )-215(out )-215(of )-215(space )-215(or )-215(we )-215(hit )-215(our )-215(quota )-215(limit )-215(and )-215(we )-215(can\325t )-215(write )-215(all )-215(that )-215(we)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -(quested.)Tj -0.944 -1.2 Td -(Generally)Tj -0.3487 Tc 4.225 0 Td -(,w)Tj -0 Tc 1.433 0 Td -[(hen )-99(we )-99(r)18(ead )-99(fr)19(om )-99(or )-99(write )-99(to )-99(a )-99(pipe, )-99(network )-99(device, )-99(or )-99(terminal, )-99(we)]TJ --7.458 -1.2 Td -[(need )-317(to )-317(take )-317(these )-317(characteristics )-317(into )-317(consideration.)]TJ --0.092 Tc 25.667 0 Td -[(We )-501(c)]TJ -0 Tc 2.398 0 Td -[(an )-317(use )-317(the)]TJ -/TT0 1 Tf -5.675 0 Td -(readn)Tj -/T1_0 1 Tf -3.567 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(writen)Tj -/T1_0 1 Tf -3.87 0 Td -[(functions )-20(to )-20(r)18(ead )-20(and )-20(write)]TJ -/T1_2 1 Tf -12.337 0 Td -(N)Tj -/T1_0 1 Tf -1.048 0 Td -[(bytes )-20(of )-20(data, )-20(r)19(espectively)]TJ -0.2697 Tc 11.414 0 Td -(,l)Tj -0 Tc 0.811 0 Td -[(etting )-20(these )-20(functions)]TJ --29.48 -1.2 Td -[(handle )-102(a )-102(r)18(eturn )-102(value )-102(that\325s )-102(possibly )-102(less )-102(than )-102(r)16(equested. )-352(These)-353(two )-102(functions )-102(simply)]TJ -0 -1.2 Td -(call)Tj -/TT0 1 Tf -1.912 0 Td -(read)Tj -/T1_0 1 Tf -2.786 0 Td -(or)Tj -/TT0 1 Tf -1.327 0 Td -(write)Tj -/T1_0 1 Tf -3.386 0 Td -[(as )-136(many )-136(times )-136(as )-136(r)18(equir)18(ed )-136(to )-136(r)18(ead )-136(or )-136(write )-136(the )-136(entir)18(e)]TJ -/T1_2 1 Tf -24.822 0 Td -(N)Tj -/T1_0 1 Tf -1.164 0 Td -[(bytes )-136(of)]TJ --35.397 -1.2 Td -(data.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5907 309.8814 Tm -(#include "apue.h")Tj -0 -1.902 TD -(ssize_t readn\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 2.578 0 Td -(oid *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 6.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -(\);)Tj --23.075 -1.902 Td -(ssize_t writen\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 2.578 0 Td -(oid *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 6.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --9.391 -1.902 Td -[(Both r)18(eturn: number of bytes r)18(ead or written,)]TJ -/TT3 1 Tf -20.18 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2540.25 cm -0 0 m -0 649 l -3900 649 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 7.999 0 0 7.999 183.578 232.5121 Tm -[(We )-320(d)]TJ -0 Tc 2.384 0 Td -[(e\336ne )-136(these )-136(functions )-136(as )-136(a )-136(convenience )-136(for )-136(later )-136(examples, )-136(similar )-136(to )-136(the )-136(err)21(or)18(-handling)]TJ --0.018 Tc -2.384 -1.25 Td -(ro)Tj -0 Tc 0.923 0 Td -[(utines )-54(used )-54(in )-54(many )-54(of )-54(the )-54(examples )-54(in )-54(this )-54(text.)-559(The)]TJ -/TT0 1 Tf -24.321 0 Td -(readn)Tj -/T1_0 1 Tf -3.304 0 Td -(and)Tj -/TT0 1 Tf -1.997 0 Td -(writen)Tj -/T1_0 1 Tf -3.904 0 Td -[(functions )-54(ar)]TJ -0.3044 Tc 5.312 0 Td -(en)Tj -0 Tc 1.365 0 Td -(ot)Tj --41.128 -1.25 Td -[(part of any standar)18(d.)]TJ --0.092 Tc 9.9988 0 0 9.9988 147.5823 192.5169 Tm -[(We )-219(c)]TJ -0 Tc 2.116 0 Td -(all)Tj -/TT0 1 Tf -1.367 0 Td -(writen)Tj -/T1_0 1 Tf -3.885 0 Td -[(whenever )-35(we\325r)]TJ -0.2848 Tc 6.648 0 Td -(ew)Tj -0 Tc 1.598 0 Td -[(riting )-35(to )-35(one )-35(of )-35(the )-35(\336le )-35(types )-35(that )-35(we )-35(mentioned,)]TJ --17.413 -1.2 Td -[(but )-15(we )-15(call)]TJ -/TT0 1 Tf -5.115 0 Td -(readn)Tj -/T1_0 1 Tf -3.265 0 Td -[(only )-15(when )-15(we )-15(know )-15(ahead )-15(of )-15(time )-15(that )-15(we )-15(will )-15(be )-15(r)18(eceiving )-15(a )-15(certain)]TJ --8.38 -1.2 Td -[(number )-97(of )-97(bytes.)-597(Figur)]TJ -0.3469 Tc 10.636 0 Td -(e1)Tj -0 Tc 1.326 0 Td -[(4.24 )-97(shows )-97(implementations )-97(of)]TJ -/TT0 1 Tf -14.311 0 Td -(readn)Tj -/T1_0 1 Tf -3.347 0 Td -(and)Tj -/TT0 1 Tf -2.04 0 Td -(writen)Tj -/T1_0 1 Tf -3.947 0 Td -[(that )-97(we)]TJ --35.606 -1.2 Td -(will use in later examples.)Tj -1.8 -1.2 Td -[(Note )-4(that )-4(if )-4(we )-4(encounter )-4(an )-4(err)19(or )-4(and )-4(have )-4(pr)18(eviously )-4(r)18(ead )-4(or )-4(written )-4(any )-4(data, )-4(we)]TJ --0.018 Tc -1.8 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-20(the )-20(amount )-20(of )-20(data )-20(transferr)16(ed )-20(instead )-20(of )-20(the )-20(err)16(or)]TJ -0.5205 Tc 24.481 0 Td -(.S)Tj -0 Tc 1.296 0 Td -[(imilarly)111(,)-270(if)-270(we)-270(r)17(each )-20(the )-20(end)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46954 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.6)]TJ -/TT0 1 Tf -29.686 0 Td -(readv)Tj -/T1_0 1 Tf -3.5 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(writev)Tj -/T1_0 1 Tf -4.1 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(521)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -(14.6)Tj -/TT2 1 Tf -3 0 Td -(readv)Tj -/TT1 1 Tf -3.556 0 Td -(and)Tj -/TT2 1 Tf -2.334 0 Td -(writev)Tj -/TT1 1 Tf -4.156 0 Td -(Functions)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5918 644.9613 Tm -(The)Tj -/TT0 1 Tf -2.436 0 Td -(readv)Tj -/T1_0 1 Tf -3.762 0 Td -(and)Tj -/TT0 1 Tf -2.455 0 Td -(writev)Tj -/T1_0 1 Tf -4.362 0 Td -[(functions )-512(let )-512(us )-512(r)18(ead )-512(into )-512(and )-512(write )-512(fr)18(om )-512(multiple)]TJ --13.015 -1.2 Td -[(noncontiguous )-76(buf)18(fers )-76(in )-76(a )-76(single )-76(function )-76(call.)-576(These )-76(operations )-76(ar)]TJ -0.3259 Tc 30.539 0 Td -(ec)Tj -0 Tc 1.249 0 Td -(alled)Tj -/T1_2 1 Tf -2.498 0 Td -[(scatter )-76(r)18(ead)]TJ -/T1_0 1 Tf --34.286 -1.2 Td -(and)Tj -/T1_2 1 Tf -1.943 0 Td -(gather write)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5913 603.0638 Tm -(#include )Tj -0 -1.902 TD -(ssize_t readv\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst struct iovec *)Tj -/T1_2 1 Tf -(iov)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 14.422 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(iovcnt)Tj -/TT0 1 Tf -(\);)Tj --29.6 -1.902 Td -(ssize_t writev\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst struct iovec *)Tj -/T1_2 1 Tf -(iov)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 14.422 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(iovcnt)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --15.916 -1.902 Td -[(Both r)18(eturn: number of bytes r)18(ead or written,)]TJ -/TT3 1 Tf -20.18 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5472.25 cm -0 0 m -0 649 l -3900 649 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 532.4761 Tm -[(The second ar)18(gument to both functions is a pointer to an array of)]TJ -/TT0 1 Tf -28.94 0 Td -(iovec)Tj -/T1_0 1 Tf -3.25 0 Td -[(str)8(uctur)18(es:)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 513.378 Tm -(struct iovec {)Tj -1.2 -1.189 Td -[(void )-1200(*iov_base;)-1200(/* starting address of buffer */)]TJ -0 -1.189 TD -[(size_t )-600(iov_len;)-1800(/* size of buffer */)]TJ --1.2 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 460.8843 Tm -[(The )-49(number )-49(of )-49(elements )-49(in )-49(the)]TJ -/T1_2 1 Tf -14.044 0 Td -(iov)Tj -/T1_0 1 Tf -1.521 0 Td -[(array )-49(is )-49(speci\336ed )-49(by)]TJ -/T1_2 1 Tf -9.3 0 Td -(iovcnt)Tj -/T1_0 1 Tf -0.549 Tc (.I)Tj -0 Tc 3.654 0 Td -[(t)-299(is)-299(limited )-49(to)]TJ -/TT0 1 Tf -6.281 0 Td -(IOV_MAX)Tj -/T1_0 1 Tf --34.8 -1.2 Td -[(\(r)18(ecall )-85(Figur)]TJ -0.3347 Tc 5.433 0 Td -(e2)Tj -0 Tc 1.314 0 Td -[(.1)55(1\). )-335(Figur)]TJ -0.3346 Tc 4.746 0 Td -(e1)Tj -0 Tc 1.314 0 Td -[(4.22 )-85(shows )-85(a )-85(diagram )-85(r)18(elating )-85(the )-85(ar)18(guments )-85(to )-85(these )-85(two)]TJ --12.806 -1.2 Td -(functions and the)Tj -/TT0 1 Tf -7.961 0 Td -(iovec)Tj -/T1_0 1 Tf -3.25 0 Td -[(str)8(uctur)18(e.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2634 3957.4 432 144 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2634 3813.4 432 144 re -S -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 277.542 386.7104 Tm -(len0)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2634 3669.4 432 144 re -S -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2634 3525.4 432 144 re -S -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 277.5254 357.8941 Tm -(len1)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2634 3237.4 432 288 re -S -Q -BT -/T1_1 1 Tf -0.25 Tc 9.997 0 0 9.997 278.6664 336.2791 Tm -(...)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2634 3093.4 432 144 re -S -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2634 2949.4 432 144 re -S -Q -BT -/T1_0 1 Tf -0 Tc 7.9971 0 0 7.9971 276.3805 300.2719 Tm -(len)Tj -/T1_2 1 Tf -(N)Tj -ET -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 349.8 402.94 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3498 4029.3999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2994.25 4029.25 cm -0 0 m -432 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -3498 3957.4 1008 144 re -S -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 387.3253 401.0115 Tm -[(buf)18(fer0)]TJ -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 364.2 366.94 cm -0 0 m --7.344 -1.008 l --6.912 2.592 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3642 3669.3999 cm -0 0 m --73.44 -10.08 l --69.12 25.92 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2994.25 3741.25 cm -0 0 m -576 -64 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -3642 3597.4 720 144 re -S -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 387.302 365.0048 Tm -[(buf)18(fer1)]TJ -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 378.6 316.54 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3786 3165.3999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2994.25 3165.25 cm -0 0 m -720 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -3786 3093.4 1152 144 re -S -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 422.148 314.6101 Tm -[(buf)18(fer)]TJ -/T1_2 1 Tf -(N)Tj --28.894 10.8 Td -(iov)Tj -/TT0 1 Tf -([0].iov_base)Tj -/T1_2 1 Tf -0 -1.8 TD -(iov)Tj -/TT0 1 Tf -([0].iov_len)Tj -/T1_2 1 Tf -T* -(iov)Tj -/TT0 1 Tf -([1].iov_base)Tj -/T1_2 1 Tf -T* -(iov)Tj -/TT0 1 Tf -([1].iov_len)Tj -/T1_2 1 Tf --2.967 -5.4 Td -(iov)Tj -/TT0 1 Tf -([)Tj -/T1_2 1 Tf -(iovcnt)Tj -/TT3 1 Tf -(!)Tj -/T1_2 1 Tf -(1)Tj -/TT0 1 Tf -(].iov_base)Tj -/T1_2 1 Tf --0 -1.8 Td -(iov)Tj -/TT0 1 Tf -([)Tj -/T1_2 1 Tf -(iovcnt)Tj -/TT3 1 Tf -(!)Tj -/T1_2 1 Tf -(1)Tj -/TT0 1 Tf -(].iov_len)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3498.25 3921.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4506.25 3921.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 349.8 388.54 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 3498 3885.3999 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3570.25 3885.25 cm -0 0 m -288 0 l -S -Q -Q -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 450.6 388.54 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 4506 3885.3999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4434.25 3885.25 cm -0 0 m --288 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9942 0 0 7.9942 392.5093 386.5016 Tm -(len0)Tj -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 3561.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4362.25 3561.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 364.2 352.54 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 3642 3525.3999 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3714.25 3525.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 436.2 352.54 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 4362 3525.3999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4290.25 3525.25 cm -0 0 m --144 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9928 0 0 7.9928 392.4386 350.4644 Tm -(len1)Tj -ET -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3057.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4938.25 3057.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 378.6 302.14 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 3786 3021.3999 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3858.25 3021.25 cm -0 0 m -360 0 l -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 493.8 302.14 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 4938 3021.3999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4866.25 3021.25 cm -0 0 m --360 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9914 0 0 7.9914 427.2183 300.0558 Tm -(len)Tj -/T1_2 1 Tf -(N)Tj -/T1_1 1 Tf --25.837 -3.83 Td -(Figure 14.22)Tj -/T1_0 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(iovec)Tj -/T1_0 1 Tf -3.25 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ef)Tj -0 Tc 1.062 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(readv)Tj -/T1_0 1 Tf -3.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(writev)Tj -/T1_0 1 Tf -9.9892 0 0 9.9892 129.4597 238.2823 Tm -(The)Tj -/TT0 1 Tf -2.058 0 Td -(writev)Tj -/T1_0 1 Tf -3.984 0 Td -[(function )-134(gathers )-134(the )-134(output )-134(data )-134(fr)18(om )-134(the )-134(buf)18(fers )-134(in )-134(or)17(der:)]TJ -/T1_2 1 Tf -27.298 0 Td -(iov[0])Tj -/T1_0 1 Tf -(,)Tj -/T1_2 1 Tf -3.022 0 Td -(iov[1])Tj -/T1_0 1 Tf -(,)Tj --36.362 -1.2 Td -[(thr)18(ough)]TJ -/T1_2 1 Tf -3.918 0 Td -(iov[iovcnt)Tj -/TT3 1 Tf -(!)Tj -/T1_2 1 Tf -(1])Tj -/T1_0 1 Tf -(;)Tj -/TT0 1 Tf -6.051 0 Td -(writev)Tj -/T1_0 1 Tf --0.018 Tc 3.946 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-96(the )-96(total )-96(number )-96(of )-96(bytes )-96(output, )-96(which )-96(should)]TJ --14.771 -1.2 Td -[(normally equal the sum of all the buf)18(fer lengths.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.071 0 Td -(readv)Tj -/T1_0 1 Tf -3.397 0 Td -[(function )-147(scatters )-147(the )-147(data )-147(into )-147(the )-147(buf)18(fers )-147(in )-147(or)20(der)]TJ -0.3968 Tc 22.964 0 Td -(,a)Tj -0 Tc 1.147 0 Td -[(lways )-147(\336lling )-147(one)]TJ --31.379 -1.2 Td -[(buf)18(fer )-18(befor)]TJ -0.2679 Tc 5.234 0 Td -(ep)Tj --0.018 Tc 1.348 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(ceeding )-18(to )-18(the )-18(next.)]TJ -/TT0 1 Tf -9.176 0 Td -(readv)Tj -/T1_0 1 Tf --0.018 Tc 3.268 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-18(the )-18(total )-18(number )-18(of )-18(bytes )-18(that )-18(wer)19(e)]TJ --0.018 Tc -20.804 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad. )-258(A)-257(count )-8(of )-8(0 )-8(is )-8(r)18(eturned )-8(if )-8(ther)20(e)-258(is)-258(no)-258(m)1(or)]TJ -0.2577 Tc 20.187 0 Td -(ed)Tj -0 Tc 1.348 0 Td -[(ata )-8(and )-8(the )-8(end )-8(of )-8(\336le )-8(is )-8(encounter)19(ed.)]TJ -7.9914 0 0 7.9914 183.4014 156.3708 Tm -[(These )-44(two )-44(functions )-44(originated )-44(in )-44(4.2BSD )-44(and )-44(wer)]TJ -0.2936 Tc 22.462 0 Td -(el)Tj -0 Tc 1.064 0 Td -[(ater )-43(added )-43(to )-43(SVR4.)-543(These )-43(two )-43(functions)]TJ --23.526 -1.25 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(ncluded in the XSI option of the Single UNIX Speci\336cation.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46955 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.5)]TJ -35.197 0 Td -[(Asynchr)18(onous )-250(I/O)]TJ -/T1_1 1 Tf -10.673 0 Td -[(51)37(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(3. )-633(Enable)-326(asynchr)18(onous )-76(I/O )-76(on )-76(the )-76(descriptor )-76(by )-76(calling)]TJ -/TT0 1 Tf -26.241 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.326 0 Td -[(with )-76(a )-76(command)]TJ --27.933 -1.2 Td -(of)Tj -/TT0 1 Tf -1.129 0 Td -(F_SETFL)Tj -/T1_0 1 Tf -4.45 0 Td -(to set the)Tj -/TT0 1 Tf -4.238 0 Td -(O_ASYNC)Tj -/T1_0 1 Tf -4.45 0 Td -(\336le status \337ag \(Figur)Tj -0.25 Tc 9.108 0 Td -(e3)Tj -0 Tc 1.229 0 Td -(.10\).)Tj --28.037 -1.92 Td -[(Step )-60(3 )-60(can )-60(be )-60(performed )-60(only )-60(on )-60(descriptors )-60(that )-60(r)18(efer )-60(to )-60(terminals )-60(or )-60(networks, )-60(which)]TJ -0 -1.2 TD -[(is a fundamental limitation of the BSD asynchr)18(onous I/O facility)111(.)]TJ -1.8 -1.2 Td -[(For )-77(the)]TJ -/TT0 1 Tf -3.539 0 Td -(SIGURG)Tj -/T1_0 1 Tf -3.927 0 Td -[(signal, )-77(we )-77(need )-77(perform )-77(only )-77(steps )-77(1 )-77(and )-77(2.)]TJ -/TT0 1 Tf -20.358 0 Td -(SIGURG)Tj -/T1_0 1 Tf -3.927 0 Td -[(is )-77(generated)]TJ --33.551 -1.2 Td -[(only )-159(for )-159(descriptors )-159(that )-159(r)18(efer )-159(to )-159(network )-159(connections )-159(that )-159(support )-159(out-of-band )-159(data,)]TJ -T* -(such as TCP connections.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 129.5918 556.1666 Tm -[(14.5.3 )-556(POSIX)-556(Async)10(hr)20(onous )-278(I/O)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5919 532.1681 Tm -[(The )-479(POSIX )-479(asynchr)18(onous )-479(I/O )-479(interfaces )-479(give )-479(us )-479(a )-479(consistent )-479(way )-479(to )-479(perform)]TJ -T* -[(asynchr)18(onous )-128(I/O, )-128(r)17(egar)18(dless )-129(of )-129(the )-129(type )-129(of )-129(\336le.)-629(These )-129(interfaces )-129(wer)]TJ -0.3786 Tc 31.951 0 Td -(ea)Tj -0 Tc 1.358 0 Td -[(dopted )-129(fr)18(om)]TJ --33.308 -1.2 Td -[(the )-242(r)18(eal-time )-242(draft )-242(standar)18(d, )-242(which )-242(themselves )-242(wer)18(e)-492(an)-492(option )-242(in )-242(the )-242(Single )-242(UNIX)]TJ --0 -1.2 Td -[(Speci\336cation. )-302(In)]TJ --0.111 Tc 7.657 0 Td -(Ve)Tj -0 Tc 1.09 0 Td -[(rsion )-52(4, )-52(the )-52(Single )-52(UNIX )-52(Speci\336cation )-52(moved )-52(these )-52(interfaces )-52(to )-52(the)]TJ --8.747 -1.2 Td -(base, so they ar)Tj -0.25 Tc 6.746 0 Td -(en)Tj -0 Tc 1.311 0 Td -[(ow r)18(equir)18(ed to be supported by all platforms.)]TJ --6.257 -1.2 Td -[(The )-7(asynchr)18(onous )-7(I/O )-7(interfaces )-7(use )-7(AIO )-7(contr)18(ol )-7(blocks )-7(to )-7(describe )-7(I/O )-7(operations.)]TJ --1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -1.976 0 Td -(aiocb)Tj -/T1_0 1 Tf -3.302 0 Td -[(str)8(uctur)]TJ -0.3016 Tc 3.49 0 Td -(ed)Tj -0 Tc 1.392 0 Td -[(e\336nes )-52(an )-52(AIO )-52(contr)18(ol )-52(block.)-550(It )-52(contains )-52(at )-52(least )-52(the )-52(\336elds )-52(shown)]TJ --10.159 -1.2 Td -[(in the following str)8(uctur)]TJ -0.25 Tc 10.77 0 Td -(e\()Tj -0 Tc 1.062 0 Td -(implementations might include additional \336elds\):)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5906 429.0743 Tm -(struct aiocb {)Tj -1.2 -1.189 Td -(int )Tj -9.6 0 Td -[(aio_fildes;)-3600(/* file descriptor */)]TJ --9.6 -1.189 Td -(off_t )Tj -9.6 0 Td -[(aio_offset;)-3600(/* file offset for I/O */)]TJ --9.6 -1.189 Td -[(volatile void)-1200(*aio_buf; )-4800(/*)-600(buffer for I/O */)]TJ -0 -1.189 TD -(size_t )Tj -9.6 0 Td -[(aio_nbytes;)-3600(/* number of bytes to transfer */)]TJ --9.6 -1.189 Td -(int )Tj -9.6 0 Td -[(aio_reqprio;)-3000(/* priority */)]TJ --9.6 -1.189 Td -[(struct sigevent aio_sigevent;)-2400(/* signal information */)]TJ -T* -(int )Tj -9.6 0 Td -[(aio_lio_opcode;)-1200(/* operation for list I/O */)]TJ --10.8 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5906 320.6808 Tm -(The)Tj -/TT0 1 Tf -2.008 0 Td -(aio_fildes)Tj -/T1_0 1 Tf -6.334 0 Td -[(\336eld )-84(is )-84(the )-84(\336le )-84(descriptor )-84(open )-84(for )-84(the )-84(\336le )-84(to )-84(be )-84(r)18(ead )-84(or )-84(written.)]TJ --10.142 -1.2 Td -[(The )-193(r)18(ead )-193(or )-193(write )-193(starts )-193(at )-193(the )-193(of)18(fset )-193(speci\336ed )-193(by)]TJ -/TT0 1 Tf -23.416 0 Td -(aio_offset)Tj -/T1_0 1 Tf -0.6936 Tc (.F)Tj -0 Tc 7.5 0 Td -[(or )-194(a )-194(r)18(ead, )-194(data )-194(is)]TJ --30.916 -1.2 Td -[(copied )-55(to )-55(the )-55(buf)18(fer )-55(that )-55(begins )-55(at )-55(the )-55(addr)18(ess )-55(speci\336ed )-55(by)]TJ -/TT0 1 Tf -26.569 0 Td -(aio_buf)Tj -/T1_0 1 Tf -0.5554 Tc (.F)Tj -0 Tc 5.561 0 Td -[(or )-55(a )-55(write, )-55(data)]TJ --32.131 -1.2 Td -[(is )-47(copied )-47(fr)18(om )-47(this )-47(buf)19(fer)]TJ -0.5467 Tc 11.24 0 Td -(.T)Tj -0 Tc 1.41 0 Td -(he)Tj -/TT0 1 Tf -1.358 0 Td -(aio_nbytes)Tj -/T1_0 1 Tf -6.297 0 Td -[(\336eld )-47(contains )-47(the )-47(number )-47(of )-47(bytes )-47(to )-47(r)20(ead)]TJ --20.304 -1.2 Td -(or write.)Tj -1.8 -1.2 Td -[(Note )-181(that )-181(we )-181(have )-181(to )-181(pr)18(ovide )-181(an )-181(explicit )-181(of)18(fset )-181(when )-181(we )-181(perform )-181(asynchr)19(onous)]TJ --1.8 -1.2 Td -[(I/O. )-457(The)-457(asynchr)18(onous )-207(I/O )-207(interfaces )-207(don\325t )-207(af)18(fect )-207(the )-207(\336le )-207(of)19(fset )-207(maintained )-207(by )-207(the)]TJ -0 -1.2 TD -[(operating )-48(system.)-548(This )-48(won\325t )-48(be )-48(a )-48(pr)18(oblem )-48(as )-48(long )-48(as )-48(we )-48(never )-48(mix )-48(asynchr)17(onous )-48(I/O)]TJ -T* -[(functions )-49(with )-49(conventional )-49(I/O )-49(functions )-49(on )-49(the )-49(same )-49(\336le )-49(in )-49(a )-49(pr)14(ocess. )-299(Also)-300(note )-49(that)]TJ -T* -[(if )-94(we )-94(write )-94(to )-94(a )-94(\336le )-94(opened )-94(in )-94(append )-94(mode )-94(\(with)]TJ -/TT0 1 Tf -23.131 0 Td -(O_APPEND)Tj -/T1_0 1 Tf -0.3441 Tc (\)u)Tj -0 Tc 6.08 0 Td -[(sing )-94(an )-94(asynchr)18(onous)]TJ --29.211 -1.2 Td -(interface, the)Tj -/TT0 1 Tf -5.966 0 Td -(aio_offset)Tj -/T1_0 1 Tf -6.25 0 Td -[(\336eld in the AIO contr)18(ol block is ignor)18(ed by the system.)]TJ --10.416 -1.2 Td -[(The )-491(other )-491(\336elds )-491(don\325t )-491(corr)18(espond )-491(to )-491(the )-491(conventional )-491(I/O )-491(functions.)-994(The)]TJ -/TT0 1 Tf --1.8 -1.2 Td -(aio_reqprio)Tj -/T1_0 1 Tf -6.851 0 Td -[(\336eld )-1(is )-1(a )-1(hint )-1(that )-1(gives )-1(applications )-1(a )-1(way )-1(to )-1(suggest )-1(an )-1(or)18(dering )-1(for )-1(the)]TJ --6.851 -1.2 Td -[(asynchr)18(onous )-365(I/O )-365(r)18(equests. )-615(The)-615(system )-365(has )-365(only )-365(limited )-365(contr)18(ol )-365(over )-365(the )-365(exact)]TJ --0 -1.2 Td -[(or)18(dering, )-353(however)74(,)-603(so)-603(t)-1(her)18(e)-603(is)-603(no)-603(g)-1(uarantee )-353(that )-353(the )-353(hint )-353(will )-353(be )-353(honor)16(ed. )-603(The)]TJ -/TT0 1 Tf -0 -1.2 Td -(aio_lio_opcode)Tj -/T1_0 1 Tf -8.849 0 Td -[(\336eld )-199(is )-199(used )-199(only )-199(with )-199(list-based )-199(asynchr)18(onous )-199(I/O, )-199(which )-199(we\325ll)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46956 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(510)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 129.5922 668.9599 Tm -[(14.5.1 )-556(System)]TJ -0.556 Tc 7.727 0 Td -(VA)Tj -0 Tc 1.945 0 Td -[(sync)10(hr)20(onous )-278(I/O)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5921 644.9613 Tm -[(System )-13(V )-13(pr)18(ovides )-13(a )-13(limited )-13(form )-13(of )-13(asynchr)15(onous )-13(I/O )-13(that )-13(works )-13(only )-13(with )-13(STREAMS)]TJ -0 -1.2 TD -[(devices and STREAMS pipes.)-500(The System V asynchr)18(onous I/O signal is)]TJ -/TT1 1 Tf -32.141 0 Td -(SIGPOLL)Tj -/T1_1 1 Tf -(.)Tj --0.092 Tc -30.341 -1.2 Td -[(To )-250(e)]TJ -0 Tc 1.862 0 Td -[(nable )-66(asynchr)18(onous )-66(I/O )-66(for )-66(a )-66(STREAMS )-66(device, )-66(we )-66(have )-66(to )-66(call)]TJ -/TT1 1 Tf -29.173 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.316 0 Td -[(with )-66(a)]TJ --36.151 -1.2 Td -[(second )-10(ar)18(gument )-10(\()]TJ -/T1_2 1 Tf --0.018 Tc 8.244 0 Td -(re)Tj -0 Tc 0.76 0 Td -(quest)Tj -/T1_1 1 Tf -0.2596 Tc (\)o)Tj -0 Tc 3.269 0 Td -(f)Tj -/TT1 1 Tf -0.593 0 Td -(I_SETSIG)Tj -/T1_1 1 Tf -0.5097 Tc (.T)Tj -0 Tc 6.173 0 Td -[(he )-10(thir)]TJ -0.2597 Tc 2.897 0 Td -(da)Tj --0.018 Tc 1.371 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument )-10(is )-10(an )-10(integer )-10(value )-10(formed)]TJ --24.239 -1.2 Td -[(fr)18(om )-235(one )-235(or )-235(mor)]TJ -0.4855 Tc 7.949 0 Td -(eo)Tj -0.4854 Tc 1.511 0 Td -(ft)Tj -0 Tc 1.144 0 Td -[(he )-235(constants )-235(in )-235(Figur)]TJ -0.4854 Tc 9.927 0 Td -(e1)Tj -0 Tc 1.464 0 Td -[(4.18. )-485(These)-486(constants )-235(ar)]TJ -0.4854 Tc 11.314 0 Td -(ed)Tj -0 Tc 1.575 0 Td -[(e\336ned )-235(in)]TJ -/TT1 1 Tf --34.886 -1.2 Td -()Tj -/T1_1 1 Tf -(.)Tj -7.9995 0 0 7.9995 183.5889 564.9661 Tm -[(Interfaces )-5(r)18(elated )-5(to )-5(the )-5(STREAMS )-5(mechanism )-5(wer)]TJ -0.2551 Tc 22.575 0 Td -(em)Tj -0 Tc 1.617 0 Td -[(arked )-5(obsolescent )-5(in )-5(SUSv4, )-5(so )-5(we )-5(don\325t)]TJ --24.192 -1.25 Td -[(cover them in any detail.)-500(See Rago)]TJ -15.711 0.04 Td -([)Tj -0.333 -0.04 Td -(1993)Tj -2 0.04 Td -(])Tj -0.583 -0.04 Td -(for mor)Tj -0.25 Tc 3.33 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(nformation about STREAMS.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1562.25 5330.25 cm -0 0 m -3368 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 165.8001 522.9372 Tm -(Constant )Tj -20.721 0 Td -(Description)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1562.25 5190.25 cm -0 0 m -3368 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1562.25 5170.25 cm -0 0 m -3368 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9986 0 0 7.9986 160.1712 506.9087 Tm -(S_INPUT)Tj -/T1_1 1 Tf --0.092 Tc 6.9 0 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -[(an r)18(ead data \(other than high-priority data\) without blocking.)]TJ -/TT1 1 Tf --8.981 -1.5 Td -(S_RDNORM)Tj -/T1_1 1 Tf --0.092 Tc 6.9 0 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -[(an r)18(ead normal data without blocking.)]TJ -/TT1 1 Tf --8.981 -1.5 Td -(S_RDBAND)Tj -/T1_1 1 Tf --0.092 Tc 6.9 0 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -[(an r)18(ead priority data without blocking.)]TJ -/TT1 1 Tf --8.981 -1.5 Td -(S_BANDURG)Tj -/T1_1 1 Tf -6.9 0 Td -(If this constant is speci\336ed with)Tj -/TT1 1 Tf -14.205 0 Td -(S_RDBAND)Tj -/T1_1 1 Tf -0.25 Tc (,t)Tj -0 Tc 5.626 0 Td -(he)Tj -/TT1 1 Tf -1.311 0 Td -(SIGURG)Tj -/T1_1 1 Tf -3.85 0 Td -(signal is generated)Tj --23.642 -1.5 Td -(instead of)Tj -/TT1 1 Tf -4.592 0 Td -(SIGPOLL)Tj -/T1_1 1 Tf -4.45 0 Td -[(when we can r)18(ead priority data without blocking.)]TJ -/TT1 1 Tf --17.292 -1.5 Td -(S_HIPRI)Tj -/T1_1 1 Tf --0.092 Tc 6.9 0 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -[(an r)18(ead high-priority data without blocking.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1562.25 4430.25 cm -0 0 m -3368 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9981 0 0 7.9981 160.1616 432.8961 Tm -(S_OUTPUT)Tj -/T1_1 1 Tf --0.092 Tc 6.9 0 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -(an write normal data without blocking.)Tj -/TT1 1 Tf --8.981 -1.5 Td -(S_WRNORM)Tj -/T1_1 1 Tf -6.9 0 Td -(Same as)Tj -/TT1 1 Tf -3.811 0 Td -(S_OUTPUT)Tj -/T1_1 1 Tf -(.)Tj -/TT1 1 Tf --10.711 -1.5 Td -(S_WRBAND)Tj -/T1_1 1 Tf --0.092 Tc 6.9 0 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -(an write priority data without blocking.)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1562.25 4050.25 cm -0 0 m -3368 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9976 0 0 7.9976 160.1519 394.8815 Tm -(S_MSG)Tj -/T1_1 1 Tf -6.9 0 Td -(The)Tj -/TT1 1 Tf -1.924 0 Td -(SIGPOLL)Tj -/T1_1 1 Tf -4.45 0 Td -[(signal message has r)18(eached the str)18(eam head.)]TJ -/TT1 1 Tf --13.274 -1.5 Td -(S_ERROR)Tj -/T1_1 1 Tf -6.9 0 Td -[(The str)18(eam has an err)18(or)74(.)]TJ -/TT1 1 Tf --6.9 -1.5 Td -(S_HANGUP)Tj -/T1_1 1 Tf -6.9 0 Td -[(The str)18(eam has hung up.)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1562.25 3670.25 cm -0 0 m -3368 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2094.25 3670.25 cm -0 0 m -0 1660 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4930.25 3670.25 cm -0 0 m -0 1660 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1562.25 3670.25 cm -0 0 m -0 1660 l -S -Q -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 224.6511 348.8744 Tm -(Figure 14.18)Tj -/T1_1 1 Tf -6.195 0 Td -(Conditions for generating)Tj -/TT1 1 Tf -11.678 0 Td -(SIGPOLL)Tj -/T1_1 1 Tf -4.45 0 Td -(signal)Tj -9.9964 0 0 9.9964 147.5469 318.8852 Tm -[(In )-224(addition )-224(to )-224(calling)]TJ -/TT1 1 Tf -10.401 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.474 0 Td -[(to )-224(specify )-224(the )-224(conditions )-224(that )-224(should )-224(generate )-224(the)]TJ -/TT1 1 Tf --15.676 -1.2 Td -(SIGPOLL)Tj -/T1_1 1 Tf -4.684 0 Td -[(signal, )-234(we )-234(have )-234(to )-234(establish )-234(a )-234(signal )-234(handler )-234(for )-234(this )-234(signal.)-731(Recall )-234(fr)18(om)]TJ --4.684 -1.2 Td -(Figur)Tj -0.256 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.235 0 Td -[(0.1 )-6(that )-6(the )-6(default )-6(action )-6(for)]TJ -/TT1 1 Tf -13.013 0 Td -(SIGPOLL)Tj -/T1_1 1 Tf -4.456 0 Td -[(is )-6(to )-6(terminate )-6(the )-6(pr)18(ocess, )-6(so )-6(we )-6(should)]TJ --21.087 -1.2 Td -(establish the signal handler befor)Tj -0.25 Tc 14.629 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(alling)Tj -/TT1 1 Tf -2.761 0 Td -(ioctl)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -11.9957 0 0 11.9957 129.5538 246.9111 Tm -[(14.5.2 )-556(BSD)-556(Async)10(hr)20(onous )-278(I/O)]TJ -/T1_1 1 Tf -9.9964 0 0 9.9964 129.554 222.9197 Tm -[(Asynchr)18(onous )-34(I/O )-34(in )-34(BSD-derived )-34(systems )-34(is )-34(a )-34(combination )-34(of )-34(two )-34(signals:)]TJ -/TT1 1 Tf -34.023 0 Td -(SIGIO)Tj -/T1_1 1 Tf -3.284 0 Td -(and)Tj -/TT1 1 Tf --37.307 -1.2 Td -(SIGURG)Tj -/T1_1 1 Tf -0.5227 Tc (.T)Tj -0 Tc 4.986 0 Td -[(he )-23(former )-23(is )-23(the )-23(general )-23(asynchr)18(onous )-23(I/O )-23(signal, )-23(and )-23(the )-23(latter )-23(is )-23(used )-23(only)]TJ --4.986 -1.2 Td -[(to notify the pr)18(ocess that out-of-band data has arrived on a network connection.)]TJ --0.092 Tc 1.8 -1.2 Td -[(To )-184(r)]TJ -0 Tc 1.694 0 Td -(eceive the)Tj -/TT1 1 Tf -4.624 0 Td -(SIGIO)Tj -/T1_1 1 Tf -3.25 0 Td -[(signal, we need to perform thr)18(ee steps.)]TJ --9.568 -1.92 Td -[(1. )-633(Establish)]TJ -0.25 Tc 5.885 0 Td -(as)Tj -0 Tc 1.174 0 Td -(ignal handler for)Tj -/TT1 1 Tf -7.684 0 Td -(SIGIO)Tj -/T1_1 1 Tf -[(,)-250(by)-250(calling either)]TJ -/TT1 1 Tf -10.866 0 Td -(signal)Tj -/T1_1 1 Tf -3.85 0 Td -(or)Tj -/TT1 1 Tf -1.191 0 Td -(sigaction)Tj -/T1_1 1 Tf -(.)Tj --30.65 -1.6 Td -[(2. )-633(Set)-263(the )-13(pr)18(ocess )-13(ID )-13(or )-13(pr)18(ocess )-13(gr)18(oup )-13(ID )-13(to )-13(r)18(eceive )-13(the )-13(signal )-13(for )-13(the )-13(descriptor)]TJ -0.2626 Tc 35.578 0 Td -(,b)Tj -0 Tc 1.066 0 Td -(y)Tj --35.011 -1.2 Td -(calling)Tj -/TT1 1 Tf -3.205 0 Td -(fcntl)Tj -/T1_1 1 Tf -3.25 0 Td -(with a command of)Tj -/TT1 1 Tf -8.861 0 Td -(F_SETOWN)Tj -/T1_1 1 Tf -5.05 0 Td -(\(Section 3.14\).)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46957 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.5)]TJ -35.16 0 Td -[(Asynchr)18(onous )-250(I/O)]TJ -/T1_1 1 Tf -10.673 0 Td -(509)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(None )-65(of )-65(the )-65(implementations )-65(described )-65(in )-65(this )-65(book )-65(r)18(estart)]TJ -/TT0 1 Tf -26.834 0 Td -(poll)Tj -/T1_0 1 Tf -2.715 0 Td -(or)Tj -/TT0 1 Tf -1.256 0 Td -(select)Tj -/T1_0 1 Tf -3.915 0 Td -[(when )-65(a )-65(signal )-65(is)]TJ --0.018 Tc -34.719 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(ceived, even if the)Tj -/TT0 1 Tf -8.235 0 Td -(SA_RESTART)Tj -/T1_0 1 Tf -6.25 0 Td -(\337ag is used.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5948 624.9625 Tm -[(14.5 )-776(Async)10(hr)20(onous )-278(I/O)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5926 600.9639 Tm -(Using)Tj -/TT0 1 Tf -2.903 0 Td -(select)Tj -/T1_0 1 Tf -3.872 0 Td -(and)Tj -/TT0 1 Tf -1.965 0 Td -(poll)Tj -/T1_0 1 Tf -[(,)-272(as)-272(described )-22(in )-22(the )-22(pr)18(evious )-22(section, )-22(is )-22(a )-22(synchr)18(onous )-22(form )-22(of)]TJ --8.74 -1.2 Td -[(noti\336cation. )-279(The)-279(system )-29(doesn\325t )-29(tell )-29(us )-29(anything )-29(until )-29(we )-29(ask )-29(\(by )-29(calling )-29(either)]TJ -/TT0 1 Tf -35.4 0 Td -(select)Tj -/T1_0 1 Tf --35.4 -1.2 Td -(or)Tj -/TT0 1 Tf -1.558 0 Td -(poll)Tj -/T1_0 1 Tf -[(\). )-617(As)-616(we )-367(saw )-367(in )-367(Chapter )-367(10, )-367(signals )-367(pr)18(ovide )-367(an )-367(asynchr)21(onous )-367(form )-367(of)]TJ --1.558 -1.2 Td -[(noti\336cation )-13(that )-13(something )-13(has )-13(happened.)-512(All )-13(systems )-13(derived )-13(fr)18(om )-13(BSD )-13(and )-13(System )-13(V)]TJ -0 -1.2 TD -[(pr)18(ovide )-50(some )-50(form )-50(of )-50(asynchr)18(onous )-50(I/O, )-50(using )-50(a )-50(signal )-50(\()]TJ -/TT0 1 Tf -(SIGPOLL)Tj -/T1_0 1 Tf -30.117 0 Td -[(in )-50(System )-50(V)55(;)]TJ -/TT0 1 Tf -5.883 0 Td -(SIGIO)Tj -/T1_0 1 Tf --36 -1.2 Td -[(in )-98(BSD\) )-98(to )-98(notify )-98(the )-98(pr)18(ocess )-98(that )-98(something )-98(of )-98(inter)17(est )-98(has )-98(happened )-98(on )-98(a )-98(descriptor)74(.)]TJ -T* -[(As )-176(mentioned )-176(in )-176(the )-176(pr)20(evious )-176(section, )-176(these )-176(forms )-176(of )-176(asynchr)18(onous )-176(I/O )-176(ar)]TJ -0.4257 Tc 34.673 0 Td -(el)Tj -0 Tc 1.196 0 Td -(imited:)Tj --35.869 -1.2 Td -[(they )-157(don\325t )-157(work )-157(with )-157(all )-157(\336le )-157(types )-157(and )-157(they )-157(allow )-157(the )-157(use )-157(of )-157(only )-157(one )-157(signal.)-657(If )-157(we)]TJ -T* -[(enable )-31(mor)]TJ -0.2815 Tc 4.971 0 Td -(et)Tj -0 Tc 1.086 0 Td -[(han )-31(one )-31(descriptor )-31(for )-31(asynchr)18(onous )-31(I/O, )-31(we )-31(cannot )-31(tell )-31(which )-31(descriptor)]TJ --6.058 -1.2 Td -[(the signal corr)18(esponds to when the signal is deliver)18(ed.)]TJ --0.111 Tc 1.8 -1.2 Td -(Ve)Tj -0 Tc 1.09 0 Td -[(rsion )-158(4 )-158(of )-158(the )-158(Single )-158(UNIX )-158(Speci\336cation )-158(moved )-158(the )-158(general )-158(asynchr)18(onous )-158(I/O)]TJ --2.89 -1.2 Td -[(mechanism )-207(fr)18(om )-207(the )-207(r)18(eal-time )-207(extensions )-207(to )-207(the )-207(base )-207(speci\336cation.)-707(This )-207(mechanism)]TJ -T* -[(addr)18(esses the limitations that exist with these older asynchr)18(onous I/O facilities.)]TJ -1.8 -1.2 Td -[(Befor)18(e)-337(we)-337(l)-1(ook )-87(at )-87(the )-87(dif)17(fer)18(ent )-87(ways )-87(to )-87(use )-87(asynchr)16(onous )-87(I/O, )-87(we )-87(need )-87(to )-87(discuss)]TJ --1.8 -1.2 Td -[(the )-84(costs.)-585(When )-85(we )-85(decide )-85(to )-85(use )-85(asynchr)18(onous )-85(I/O, )-85(we )-85(complicate )-85(the )-85(design )-85(of )-85(our)]TJ -T* -[(application )-83(by )-83(choosing )-83(to )-83(juggle )-83(multiple )-83(concurr)18(ent )-83(operations.)]TJ -0.333 Tc 30.041 0 Td -(As)Tj -0 Tc 1.535 0 Td -[(impler )-83(appr)18(oach)]TJ --31.576 -1.2 Td -[(may )-139(be )-139(to )-139(use )-139(multiple )-139(thr)18(eads, )-139(which )-139(would )-139(allow )-139(us )-139(to )-139(write )-139(the )-139(pr)18(ogram )-139(using )-139(a)]TJ -T* -[(synchr)18(onous model, and let the thr)18(eads r)8(un asynchr)18(onous to each other)74(.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-586(i)]TJ -0 Tc 2.33 0 Td -[(ncur )-402(additional )-402(complexity )-402(when )-402(we )-402(use )-402(the )-402(POSIX )-402(asynchr)18(onous )-402(I/O)]TJ --4.13 -1.2 Td -(interfaces:)Tj -0.883 Tc 1.8 -1.92 Td -(\245W)Tj -0.6475 Tc 2.397 0 Td -(eh)Tj -0 Tc 1.709 0 Td -[(ave )-397(to )-397(worry )-397(about )-397(thr)18(ee )-397(sour)16(ces )-398(of )-398(err)18(ors )-398(for )-398(every )-398(asynchr)20(onous)]TJ --2.616 -1.2 Td -[(operation: )-117(one )-117(associated )-117(with )-117(the )-117(submission )-117(of )-117(the )-117(operation, )-117(one )-117(associated)]TJ -T* -[(with )-8(the )-8(r)18(esult )-8(of )-8(the )-8(operation )-8(itself, )-8(and )-8(one )-8(associated )-8(with )-8(the )-8(functions )-8(used)]TJ -T* -[(to determine the status of the asynchr)18(onous operations.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-272(interfaces )-272(themselves )-272(involve )-272(a )-272(lot )-272(of )-272(extra )-272(setup )-272(and )-272(pr)18(ocessing )-272(r)9(ules)]TJ --0.613 -1.2 Td -[(compar)18(ed to their conventional counterparts, as we shall see.)]TJ --0.092 Tc 7.9995 0 0 7.9995 219.5871 266.784 Tm -[(We )-189(c)]TJ -0 Tc 2.086 0 Td -[(an\325t )-4(r)18(eally )-4(call )-4(the )-4(non-asynchr)18(onous )-4(I/O )-4(function )-4(calls )-4(\324)33(\324synchr)18(onous,\325)]TJ -0.2545 Tc 31.4 0 Td -(\325b)Tj -0 Tc 1.085 0 Td -(ecause)Tj --34.571 -1.25 Td -[(although )-353(they )-353(ar)]TJ -0.6035 Tc 8.013 0 Td -(es)Tj -0 Tc 1.506 0 Td -[(ynchr)18(onous )-353(with )-353(r)18(espect )-353(to )-353(the )-353(pr)16(ogram )-353(\337ow)]TJ -0.6034 Tc 22.039 0 Td -(,t)Tj -0 Tc 1.179 0 Td -[(hey )-353(ar)18(en\325t)]TJ --32.738 -1.25 Td -[(synchr)18(onous )-26(with )-26(r)18(espect )-26(to )-26(the )-26(I/O.)-528(Recall )-26(the )-26(discussion )-26(of )-26(synchr)18(onous )-26(writes )-26(in)]TJ --0 -1.25 Td -[(Chapter )-20(3.)]TJ --0.092 Tc 5.132 0 Td -[(We )-204(c)]TJ -0 Tc 2.101 0 Td -[(all )-20(a )-20(write )-20(\324)37(\324synchr)18(onous\325)37(\325)-270(if)-270(the )-20(data )-20(we )-20(write )-20(is )-20(persistent )-20(when )-20(we)]TJ --0.018 Tc -7.233 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-430(fr)18(om )-430(the )-430(call )-430(to )-430(the)]TJ -/TT0 1 Tf -13.3 0 Td -(write)Tj -/T1_0 1 Tf -3.681 0 Td -[(function. )-680(W)]TJ -0.6805 Tc 5.796 0 Td -(ea)Tj -0 Tc 1.66 0 Td -[(lso )-430(can\325t )-430(dif)17(fer)18(entiate )-430(the)]TJ --25.291 -1.25 Td -[(conventional )-241(I/O )-241(function )-241(calls )-241(fr)18(om )-241(the )-241(asynchr)18(onous )-241(ones )-241(by )-241(r)17(eferring )-241(to )-241(the)]TJ -0 -1.25 TD -[(conventional )-81(calls )-81(as )-81(the )-81(\324)36(\324standar)18(d\325)]TJ -0.3314 Tc 16.012 0 Td -(\325I)Tj -0 Tc 0.946 0 Td -[(/O )-81(calls, )-81(because )-81(this )-81(confuses )-81(them )-81(with )-81(the)]TJ --16.958 -1.25 Td -[(function )-202(calls )-202(in )-202(the )-202(standar)]TJ -0.4521 Tc 13.046 0 Td -(dI)Tj -0 Tc 1.4 0 Td -[(/O )-202(library)]TJ -0.7021 Tc 4.714 0 Td -(.T)Tj -0.4521 Tc 1.473 0 Td -(oa)Tj -0 Tc 1.498 0 Td -[(void )-202(confusion, )-202(we\325ll )-202(r)18(efer )-202(to )-202(the)]TJ -/TT0 1 Tf --22.131 -1.25 Td -(read)Tj -/T1_0 1 Tf -2.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(write)Tj -/T1_0 1 Tf -3.25 0 Td -[(functions as the \324)37(\324conventional\325)]TJ -0.25 Tc 13.686 0 Td -(\325I)Tj -0 Tc 0.865 0 Td -(/O function calls in this section.)Tj -0.883 Tc 9.9994 0 0 9.9994 147.5927 162.7902 Tm -(\245R)Tj -0 Tc 2.157 0 Td -[(ecovering )-216(fr)18(om )-216(err)18(ors )-216(can )-216(be )-216(dif)17(\336cult. )-466(For)-467(example, )-216(if )-216(we )-216(submit )-216(multiple)]TJ --0.668 -1.2 Td -[(asynchr)18(onous )-140(writes )-140(and )-140(one )-140(fails, )-140(how )-140(should )-140(we )-140(pr)16(oceed? )-390(If)-390(the )-140(writes )-140(ar)18(e)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -(lated, we might have to undo the ones that succeeded.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46958 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(506)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(It )-206(is )-206(important )-206(to )-206(r)18(ealize )-206(that )-206(whether )-206(a )-206(descriptor )-206(is )-206(blocking )-206(or )-206(not )-206(doesn\325t )-206(af)14(fect)]TJ -0 -1.2 TD -(whether)Tj -/TT0 1 Tf -4.01 0 Td -(select)Tj -/T1_1 1 Tf -3.933 0 Td -[(blocks. )-333(That)-332(is, )-83(if )-83(we )-83(have )-83(a )-83(nonblocking )-83(descriptor )-83(that )-83(we )-83(want )-83(to)]TJ --0.018 Tc -7.942 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad )-14(fr)18(om )-14(and )-14(we )-14(call)]TJ -/TT0 1 Tf -9.103 0 Td -(select)Tj -/T1_1 1 Tf -3.864 0 Td -[(with )-14(a )-14(timeout )-14(value )-14(of )-14(5 )-14(seconds,)]TJ -/TT0 1 Tf -15.413 0 Td -(select)Tj -/T1_1 1 Tf -3.864 0 Td -[(will )-14(block )-14(for)]TJ --33.101 -1.2 Td -[(up )-22(to )-22(5 )-22(seconds.)-524(Similarly)111(,)-272(if)-272(we)-272(s)-1(pecify )-22(an )-22(in\336nite )-22(timeout,)]TJ -/TT0 1 Tf -26.751 0 Td -(select)Tj -/T1_1 1 Tf -3.872 0 Td -[(blocks )-22(until )-22(data )-22(is)]TJ --0.018 Tc -30.624 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(ady for the descriptor or until a signal is caught.)Tj -0.944 -1.2 Td -[(If )-4(we )-4(encounter )-4(the )-4(end )-4(of )-4(\336le )-4(on )-4(a )-4(descriptor)]TJ -0.2541 Tc 20.085 0 Td -(,t)Tj -0 Tc 0.83 0 Td -[(hat )-4(descriptor )-4(is )-4(consider)18(ed )-4(r)18(eadable)]TJ --22.715 -1.2 Td -(by)Tj -/TT0 1 Tf -1.374 0 Td -(select)Tj -/T1_1 1 Tf -0.5145 Tc (.W)Tj -0.2645 Tc 5.272 0 Td -(et)Tj -0 Tc 1.069 0 Td -[(hen )-14(call)]TJ -/TT0 1 Tf -3.698 0 Td -(read)Tj -/T1_1 1 Tf -2.664 0 Td -[(and )-14(it )-14(r)17(eturns )-15(0)]TJ -0.0833 Tc 6.873 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-15(way )-15(to )-15(signify )-15(end )-15(of )-15(\336le )-15(on )-15(UNIX)]TJ --22.36 -1.2 Td -[(systems. )-711(\(Many)-711(people )-461(incorr)18(ectly )-461(assume )-461(that)]TJ -/TT0 1 Tf -23.973 0 Td -(select)Tj -/T1_1 1 Tf -4.311 0 Td -[(indicates )-461(an )-461(exception)]TJ --28.284 -1.2 Td -[(condition on a descriptor when the end of \336le is r)18(eached.\))]TJ -1.8 -1.2 Td -(POSIX.1 also de\336nes a variant of)Tj -/TT0 1 Tf -14.648 0 Td -(select)Tj -/T1_1 1 Tf -3.85 0 Td -(called)Tj -/TT0 1 Tf -2.866 0 Td -(pselect)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 541.8675 Tm -(#include )Tj -0 -2.14 TD -(int pselect\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(maxfdp1)Tj -/TT0 1 Tf -0.6 Tc (,f)Tj -0 Tc 5.3 0 Td -(d_set *restrict)Tj -/T1_2 1 Tf --0.018 Tc 9.6 0 Td -(re)Tj -0 Tc 0.76 0 Td -(adfds)Tj -/TT0 1 Tf -(,)Tj --18.06 -1.189 Td -(fd_set *restrict)Tj -/T1_2 1 Tf -10.2 0 Td -(writefds)Tj -/TT0 1 Tf -0.6 Tc (,f)Tj -0 Tc 5.078 0 Td -(d_set *restrict)Tj -/T1_2 1 Tf -9.6 0 Td -(exceptfds)Tj -/TT0 1 Tf -(,)Tj --24.878 -1.189 Td -(const struct timespec *restrict)Tj -/T1_2 1 Tf -19.2 0 Td -(tsptr)Tj -/TT0 1 Tf -(,)Tj --19.2 -1.189 Td -(const sigset_t *restrict)Tj -/T1_2 1 Tf -15 0 Td -(sigmask)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --9.884 -2.14 Td -[(Returns: count of r)18(eady descriptors, 0 on timeout,)]TJ -/TT1 1 Tf -22.148 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4668.25 cm -0 0 m -0 841 l -3900 841 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 450.8259 Tm -(The)Tj -/TT0 1 Tf -1.924 0 Td -(pselect)Tj -/T1_1 1 Tf -4.45 0 Td -(function is identical to)Tj -/TT0 1 Tf -10.109 0 Td -(select)Tj -/T1_1 1 Tf -0.25 Tc (,w)Tj -0 Tc 4.934 0 Td -(ith the following exceptions.)Tj -0.883 Tc -19.617 -2.04 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-236(timeout )-236(value )-236(for)]TJ -/TT0 1 Tf -10.173 0 Td -(select)Tj -/T1_1 1 Tf -4.086 0 Td -[(is )-236(speci\336ed )-236(by )-236(a)]TJ -/TT0 1 Tf -8.204 0 Td -(timeval)Tj -/T1_1 1 Tf -4.686 0 Td -[(str)8(uctur)18(e, )-236(but )-236(for)]TJ -/TT0 1 Tf --27.763 -1.2 Td -(pselect)Tj -/T1_1 1 Tf -0.2626 Tc (,a)Tj -/TT0 1 Tf -0 Tc (timespec)Tj -/T1_1 1 Tf -10.538 0 Td -[(str)8(uctur)18(e)-263(is)-263(u)1(sed. )-262(\(Recall)-263(the )-12(de\336nition )-12(of )-12(the)]TJ -/TT0 1 Tf -20.373 0 Td -(timespec)Tj -/T1_1 1 Tf --30.911 -1.2 Td -[(str)8(uctur)18(e)-376(in)-376(S)-1(ection )-126(4.2.\))-626(Instead )-126(of )-126(seconds )-126(and )-126(micr)18(oseconds, )-126(the)]TJ -/TT0 1 Tf -30.911 0 Td -(timespec)Tj -/T1_1 1 Tf --30.911 -1.2 Td -[(str)8(uctur)]TJ -0.6344 Tc 3.49 0 Td -(er)Tj -0 Tc 1.49 0 Td -[(epr)18(esents )-384(the )-384(timeout )-384(value )-384(in )-384(seconds )-384(and )-384(nanoseconds.)-886(This)]TJ --4.98 -1.2 Td -[(pr)18(ovides )-42(a )-42(higher)17(-r)18(esolution )-42(timeout )-42(if )-42(the )-42(platform )-42(supports )-42(that )-42(\336ne )-42(a )-42(level )-42(of)]TJ -0 -1.2 TD -[(granularity)111(.)]TJ -0.883 Tc -1.489 -1.72 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-66(timeout )-66(value )-66(for)]TJ -/TT0 1 Tf -9.489 0 Td -(pselect)Tj -/T1_1 1 Tf -4.516 0 Td -[(is )-66(declar)18(ed)]TJ -/TT0 1 Tf -5.138 0 Td -(const)Tj -/T1_1 1 Tf -0.3156 Tc (,a)Tj -0 Tc 4.066 0 Td -[(nd )-66(we )-66(ar)]TJ -0.3155 Tc 4.014 0 Td -(eg)Tj -0 Tc 1.351 0 Td -[(uaranteed )-65(that)]TJ --29.186 -1.2 Td -[(its value will not change as a r)18(esult of calling)]TJ -/TT0 1 Tf -20.041 0 Td -(pselect)Tj -/T1_1 1 Tf -(.)Tj -0.883 Tc -21.53 -1.72 Td -(\245A)Tj -0.4845 Tc 2.267 0 Td -(no)Tj -0 Tc 1.612 0 Td -[(ptional )-234(signal )-234(mask )-234(ar)18(gument )-234(is )-234(available )-234(with)]TJ -/TT0 1 Tf -22.56 0 Td -(pselect)Tj -/T1_1 1 Tf -0.7346 Tc (.I)Tj -0 Tc 5.522 0 Td -(f)Tj -/T1_2 1 Tf -0.818 0 Td -(sigmask)Tj -/T1_1 1 Tf -3.707 0 Td -(is)Tj -/TT0 1 Tf --34.996 -1.2 Td -(NULL)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.075 0 Td -(pselect)Tj -/T1_1 1 Tf -4.625 0 Td -[(behaves )-175(as)]TJ -/TT0 1 Tf -5.355 0 Td -(select)Tj -/T1_1 1 Tf -4.025 0 Td -[(does )-175(with )-175(r)18(espect )-175(to )-175(signals.)-673(Otherwise,)]TJ -/T1_2 1 Tf --17.079 -1.2 Td -(sigmask)Tj -/T1_1 1 Tf -3.645 0 Td -[(points )-173(to )-173(a )-173(signal )-173(mask )-173(that )-173(is )-173(atomically )-173(installed )-173(when)]TJ -/TT0 1 Tf -26.728 0 Td -(pselect)Tj -/T1_1 1 Tf -4.623 0 Td -(is)Tj --34.996 -1.2 Td -[(called. )-250(On)]TJ --0.018 Tc 4.984 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn, the pr)18(evious signal mask is r)18(estor)18(ed.)]TJ -/TT2 1 Tf -11.9986 0 0 11.9986 129.5838 254.4495 Tm -(14.4.2)Tj -/TT3 1 Tf -3.614 0 Td -(poll)Tj -/TT2 1 Tf -2.956 0 Td -(Function)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5839 230.4523 Tm -(The)Tj -/TT0 1 Tf -1.941 0 Td -(poll)Tj -/T1_1 1 Tf -2.667 0 Td -[(function )-17(is )-17(similar )-17(to)]TJ -/TT0 1 Tf -9.439 0 Td -(select)Tj -/T1_1 1 Tf -0.2674 Tc (,b)Tj -0 Tc 4.67 0 Td -[(ut )-17(the )-17(pr)18(ogrammer )-17(interface )-17(is )-17(dif)16(fer)18(ent. )-267(This)]TJ --18.718 -1.2 Td -[(function )-135(was )-135(originally )-135(intr)18(oduced )-135(in )-135(System )-135(V )-135(to )-135(support )-135(the )-135(STREAMS )-135(subsystem,)]TJ -T* -(but we ar)Tj -0.25 Tc 4.172 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(ble to use it with any type of \336le descriptor)74(.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5822 187.3575 Tm -(#include )Tj -0 -2.14 TD -(int poll\(struct pollfd)Tj -/T1_2 1 Tf -13.8 0 Td -(fdarray)Tj -/TT0 1 Tf -([], nfds_t)Tj -/T1_2 1 Tf -9.544 0 Td -(nfds)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.523 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(timeout)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --16.351 -2.14 Td -[(Returns: count of r)18(eady descriptors, 0 on timeout,)]TJ -/TT1 1 Tf -22.148 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1443.25 cm -0 0 m -0 521 l -3900 521 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46959 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(502)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(I/O )-278(multiplexing )-278(was )-278(pr)18(ovided )-278(with )-278(the)]TJ -/TT0 1 Tf -19.867 0 Td -(select)Tj -/T1_1 1 Tf -4.128 0 Td -[(function )-278(in )-278(4.2BSD.)-778(This )-278(function )-278(has)]TJ --23.996 -1.25 Td -[(always )-199(worked )-199(with )-199(any )-199(descriptor)]TJ -0.4489 Tc 16.43 0 Td -(,a)Tj -0 Tc 1.199 0 Td -[(lthough )-199(its )-199(main )-199(use )-199(has )-199(been )-199(for )-199(terminal )-199(I/O )-199(and)]TJ --17.629 -1.25 Td -[(network )-159(I/O.)-659(SVR3 )-159(added )-159(the)]TJ -/TT0 1 Tf -14.608 0 Td -(poll)Tj -/T1_1 1 Tf -2.81 0 Td -[(function )-159(when )-159(the )-159(STREAMS )-159(mechanism )-159(was )-159(added.)]TJ --17.418 -1.25 Td -[(Initially)111(,)]TJ -/TT0 1 Tf -3.998 0 Td -(poll)Tj -/T1_1 1 Tf -2.794 0 Td -[(worked )-144(only )-144(with )-144(STREAMS )-144(devices.)-644(In )-144(SVR4, )-144(support )-144(was )-144(added )-144(to )-144(allow)]TJ -/TT0 1 Tf --6.792 -1.25 Td -(poll)Tj -/T1_1 1 Tf -2.65 0 Td -[(to work on any descriptor)74(.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 129.5926 598.9641 Tm -(14.4.1)Tj -/TT2 1 Tf -3.614 0 Td -(select)Tj -/TT1 1 Tf -4.156 0 Td -(and)Tj -/TT2 1 Tf -2.334 0 Td -(pselect)Tj -/TT1 1 Tf -4.756 0 Td -(Functions)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 574.9655 Tm -(The)Tj -/TT0 1 Tf -2.37 0 Td -(select)Tj -/T1_1 1 Tf -4.296 0 Td -[(function )-446(lets )-446(us )-446(do )-446(I/O )-446(multiplexing )-446(under )-446(all )-446(POSIX-compatible)]TJ --6.666 -1.2 Td -[(platforms. )-250(The)-250(ar)18(guments we pass to)]TJ -/TT0 1 Tf -16.837 0 Td -(select)Tj -/T1_1 1 Tf -3.85 0 Td -(tell the kernel)Tj -0.883 Tc -18.887 -2.04 Td -(\245W)Tj -0 Tc 2.489 0 Td -(hich descriptors we\325r)Tj -0.25 Tc 9.303 0 Td -(ei)Tj -0 Tc 1.02 0 Td -[(nter)18(ested in.)]TJ -0.883 Tc -12.812 -1.6 Td -(\245W)Tj -0 Tc 2.489 0 Td -[(hich )-101(conditions )-101(we\325r)]TJ -0.3509 Tc 9.212 0 Td -(ei)Tj -0 Tc 1.121 0 Td -[(nter)18(ested )-101(in )-101(for )-101(each )-101(descriptor)]TJ -0.6009 Tc 14.077 0 Td -(.\()Tj -0 Tc 1.184 0 Td -[(Do )-101(we )-101(want )-101(to )-101(r)18(ead)]TJ --26.593 -1.2 Td -[(fr)18(om )-130(a )-130(given )-130(descriptor?)-631(Do )-130(we )-130(want )-130(to )-130(write )-130(to )-130(a )-130(given )-130(descriptor?)-632(Ar)]TJ -0.3802 Tc 33.539 0 Td -(ew)Tj -0 Tc 1.693 0 Td -(e)Tj --35.232 -1.2 Td -[(inter)18(ested in an exception condition for a given descriptor?\))]TJ -0.883 Tc -1.489 -1.6 Td -(\245H)Tj -0 Tc 2.321 0 Td -[(ow )-76(long )-76(we )-76(want )-76(to )-76(wait.)-575(\(W)]TJ -0.3259 Tc 13.429 0 Td -(ec)Tj -0 Tc 1.249 0 Td -[(an )-76(wait )-76(for)18(ever)]TJ -0.3259 Tc 6.785 0 Td -(,w)Tj -0 Tc 1.41 0 Td -[(ait )-76(a )-76(\336xed )-76(amount )-76(of )-76(time,)]TJ --23.705 -1.2 Td -(or not wait at all.\))Tj --3.289 -2.04 Td -[(On the r)18(eturn fr)18(om)]TJ -/TT0 1 Tf -8.656 0 Td -(select)Tj -/T1_1 1 Tf -0.25 Tc (,t)Tj -0 Tc 4.426 0 Td -(he kernel tells us)Tj -0.883 Tc -11.282 -2.04 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he total count of the number of descriptors that ar)Tj -0.25 Tc 21.988 0 Td -(er)Tj -0 Tc 1.106 0 Td -(eady)Tj -0.883 Tc -25.196 -1.6 Td -(\245W)Tj -0 Tc 2.489 0 Td -[(hich )-208(descriptors )-208(ar)]TJ -0.4584 Tc 8.629 0 Td -(er)Tj -0 Tc 1.314 0 Td -[(eady )-208(for )-208(each )-208(of )-208(the )-208(thr)18(ee )-208(conditions )-208(\(r)18(ead, )-208(write, )-208(or)]TJ --10.943 -1.2 Td -(exception condition\))Tj --0.055 Tc -3.289 -2.04 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-27(this )-27(r)18(eturn )-27(information, )-27(we )-27(can )-27(call )-27(the )-27(appr)20(opriate )-27(I/O )-27(function )-27(\(usually)]TJ -/TT0 1 Tf -34.146 0 Td -(read)Tj -/T1_1 1 Tf -2.677 0 Td -(or)Tj -/TT0 1 Tf --38.059 -1.2 Td -(write)Tj -/T1_1 1 Tf -0.25 Tc (\)a)Tj -0 Tc 4.083 0 Td -(nd know that the function won\325t block.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 142.5519 354.2787 Tm -(#include )Tj -0 -2.14 TD -(int select\(int)Tj -/T1_2 1 Tf -9 0 Td -(maxfdp1)Tj -/TT0 1 Tf -0.6 Tc (,f)Tj -0 Tc 5.3 0 Td -(d_set *restrict)Tj -/T1_2 1 Tf --0.018 Tc 9.6 0 Td -(re)Tj -0 Tc 0.76 0 Td -(adfds)Tj -/TT0 1 Tf -(,)Tj --18.06 -1.189 Td -(fd_set *restrict)Tj -/T1_2 1 Tf -10.2 0 Td -(writefds)Tj -/TT0 1 Tf -0.6 Tc (,f)Tj -0 Tc 5.078 0 Td -(d_set *restrict)Tj -/T1_2 1 Tf -9.6 0 Td -(exceptfds)Tj -/TT0 1 Tf -(,)Tj --24.878 -1.189 Td -(struct timeval *restrict)Tj -/T1_2 1 Tf -15 0 Td -(tvptr)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --8.164 -2.14 Td -[(Returns: count of r)18(eady descriptors, 0 on timeout,)]TJ -/TT3 1 Tf -22.148 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2899.25 cm -0 0 m -0 734 l -3900 734 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 273.9471 Tm -[(Let\325s )-45(look )-45(at )-45(the )-45(last )-45(ar)18(gument )-45(\336rst.)-545(It )-45(speci\336es )-45(how )-45(long )-45(we )-45(want )-45(to )-45(wait )-45(in )-45(terms)]TJ --1.8 -1.2 Td -[(of seconds and micr)18(oseconds \(r)18(ecall Section 4.20\).)-500(Ther)]TJ -0.25 Tc 24.425 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(t)]TJ -0 Tc 1.432 0 Td -[(hr)18(ee conditions.)]TJ -/T1_2 1 Tf --25.286 -1.84 Td -(tvptr)Tj -/TT0 1 Tf -2.555 0 Td -[(== )100(NULL)]TJ -/T1_1 1 Tf --0.092 Tc -0.755 -1.68 Td -(Wa)Tj -0 Tc 1.408 0 Td -[(it )-72(for)18(ever)]TJ -0.5723 Tc 4.039 0 Td -(.T)Tj -0 Tc 1.435 0 Td -[(his )-72(in\336nite )-72(wait )-72(can )-72(be )-72(interr)8(upted )-72(if )-72(we )-72(catch )-72(a )-72(signal.)-575(Return)]TJ --6.883 -1.2 Td -[(is )-213(made )-213(when )-213(one )-213(of )-213(the )-213(speci\336ed )-213(descriptors )-213(is )-213(r)21(eady )-213(or )-213(when )-213(a )-213(signal )-213(is)]TJ -0 -1.2 TD -[(caught. )-250(If)]TJ -0.25 Tc 4.681 0 Td -(as)Tj -0 Tc 1.174 0 Td -(ignal is caught,)Tj -/TT0 1 Tf -6.946 0 Td -(select)Tj -/T1_1 1 Tf --0.018 Tc 3.85 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -/TT3 1 Tf -2.58 0 Td -(!)Tj -/T1_1 1 Tf -0.25 Tc (1w)Tj -0 Tc 2.133 0 Td -(ith)Tj -/TT0 1 Tf -1.449 0 Td -(errno)Tj -/T1_1 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(EINTR)Tj -/T1_1 1 Tf -(.)Tj -/T1_2 1 Tf --31.32 -1.84 Td -(tvptr)Tj -/T1_3 1 Tf -(!)Tj -/T1_2 1 Tf -(>tv_sec)Tj -/TT0 1 Tf -6.285 0 Td -(==)Tj -/T1_1 1 Tf -1.7 0 Td -(0)Tj -/TT0 1 Tf -1 0 Td -(&&)Tj -/T1_2 1 Tf -1.7 0 Td -(tvptr)Tj -/T1_3 1 Tf -(!)Tj -/T1_2 1 Tf -(>tv_usec)Tj -/TT0 1 Tf -6.841 0 Td -(==)Tj -/T1_1 1 Tf -1.7 0 Td -(0)Tj --17.426 -1.68 Td -[(Don\325t )-136(wait )-136(at )-136(all.)-638(All )-136(the )-136(speci\336ed )-136(descriptors )-136(ar)]TJ -0.3865 Tc 22.451 0 Td -(et)Tj -0 Tc 1.191 0 Td -[(ested, )-136(and )-136(r)18(eturn )-136(is )-136(made)]TJ --23.642 -1.2 Td -(immediately)Tj -0.5532 Tc 5.479 0 Td -(.T)Tj -0 Tc 1.416 0 Td -[(his )-53(is )-53(a )-53(way )-53(to )-53(poll )-53(the )-53(system )-53(to )-53(\336nd )-53(out )-53(the )-53(status )-53(of )-53(multiple)]TJ --6.895 -1.2 Td -(descriptors without blocking in the)Tj -/TT0 1 Tf -15.773 0 Td -(select)Tj -/T1_1 1 Tf -3.85 0 Td -(function.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46960 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(500)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(14.4 )-776(I/O)-556(Multiple)15(xing)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(When )-67(we )-67(r)18(ead )-67(fr)18(om )-67(one )-67(descriptor )-67(and )-67(write )-67(to )-67(another)71(,)-317(we)-317(c)-1(an )-67(use )-67(blocking )-67(I/O )-67(in )-67(a)]TJ -0 -1.2 TD -(loop, such as)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 169.1898 616.263 Tm -(while \(\(n = read\(STDIN_FILENO, buf, BUFSIZ\)\) > 0\))Tj -2.4 -1.189 Td -(if \(write\(STDOUT_FILENO, buf, n\) != n\))Tj -2.4 -1.189 Td -(err_sys\("write error"\);)Tj -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5922 576.8654 Tm -[(We )-286(s)]TJ -0 Tc 2.163 0 Td -[(ee )-102(this )-102(form )-102(of )-102(blocking )-102(I/O )-102(over )-102(and )-102(over )-102(again.)-602(What )-102(if )-102(we )-102(have )-102(to )-102(r)18(ead )-102(fr)19(om)]TJ --2.163 -1.2 Td -[(two )-48(descriptors?)-549(In )-48(this )-48(case, )-48(we )-48(can\325t )-48(do )-48(a )-48(blocking)]TJ -/TT1 1 Tf -23.879 0 Td -(read)Tj -/T1_1 1 Tf -2.699 0 Td -[(on )-48(either )-48(descriptor)73(,)-298(as)-298(d)-1(ata)]TJ --26.577 -1.2 Td -[(may )-65(appear )-65(on )-65(one )-65(descriptor )-65(while )-65(we\325r)]TJ -0.3147 Tc 18.596 0 Td -(eb)Tj -0 Tc 1.347 0 Td -[(locked )-65(in )-65(a)]TJ -/TT1 1 Tf -5.244 0 Td -(read)Tj -/T1_1 1 Tf -2.715 0 Td -[(on )-65(the )-65(other)]TJ -0.5647 Tc 5.398 0 Td -(.A)Tj -0 Tc 1.907 0 Td -[(dif)18(fer)18(ent)]TJ --35.207 -1.2 Td -[(technique is r)18(equir)18(ed to handle this case.)]TJ -1.8 -1.2 Td -[(Let\325s )-138(look )-138(at )-138(the )-138(str)6(uctur)]TJ -0.3884 Tc 11.314 0 Td -(eo)Tj -0.3885 Tc 1.413 0 Td -(ft)Tj -0 Tc 1.048 0 Td -(he)Tj -/TT1 1 Tf -1.449 0 Td -(telnet)Tj -/T1_1 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.721 -0.04 Td -[(command. )-388(In)-389(this )-138(pr)18(ogram, )-138(we )-138(r)17(ead)]TJ --22.179 -1.2 Td -[(fr)18(om )-179(the )-179(terminal )-179(\(standar)]TJ -0.4288 Tc 12.212 0 Td -(di)Tj -0 Tc 1.331 0 Td -[(nput\) )-179(and )-179(write )-179(to )-179(a )-179(network )-179(connection, )-179(and )-179(we )-179(r)20(ead)]TJ --13.543 -1.2 Td -[(fr)18(om )-57(the )-57(network )-57(connection )-57(and )-57(write )-57(to )-57(the )-57(terminal )-57(\(standar)]TJ -0.3069 Tc 28.504 0 Td -(do)Tj -0 Tc 1.464 0 Td -[(utput\). )-307(At)-307(the )-57(other)]TJ --29.968 -1.2 Td -[(end )-323(of )-323(the )-323(network )-323(connection, )-323(the)]TJ -/TT1 1 Tf -17.551 0 Td -(telnetd)Tj -/T1_1 1 Tf -4.773 0 Td -[(daemon )-323(r)18(eads )-323(what )-323(we )-323(typed )-323(and)]TJ --22.324 -1.2 Td -[(pr)18(esents )-177(it )-177(to )-177(a )-177(shell )-177(as )-177(if )-177(we )-177(wer)]TJ -0.4266 Tc 15.712 0 Td -(el)Tj -0 Tc 1.197 0 Td -[(ogged )-177(in )-177(to )-177(the )-177(r)20(emote )-177(machine.)-676(The)]TJ -/TT1 1 Tf -17.891 0 Td -(telnetd)Tj -/T1_1 1 Tf --34.8 -1.2 Td -[(daemon )-55(sends )-55(any )-55(output )-55(generated )-55(by )-55(the )-55(commands )-55(we )-55(type )-55(back )-55(to )-55(us )-55(thr)14(ough )-55(the)]TJ -/TT1 1 Tf -T* -(telnet)Tj -/T1_1 1 Tf -3.992 0 Td -[(command, )-142(to )-142(be )-142(displayed )-142(on )-142(our )-142(terminal.)-640(Figur)]TJ -0.3917 Tc 23.011 0 Td -(e1)Tj -0 Tc 1.371 0 Td -[(4.13 )-142(shows )-142(a )-142(pictur)]TJ -0.3917 Tc 8.877 0 Td -(eo)Tj -0 Tc 1.417 0 Td -(f)Tj --38.667 -1.2 Td -(this arrangement.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2616 4097 cm -0 0 m -0 -59.64 -120.89 -108 -270 -108 c --419.11 -108 -540 -59.64 -540 0 c --540 59.64 -419.11 108 -270 108 c --120.89 108 0 59.64 0 0 c -h -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 219.6656 412.8904 Tm -(user at a)Tj --0.01 -1.25 Td -(terminal)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2976 3917 540 360 re -S -Q -BT -/TT1 1 Tf -7.9986 0 0 7.9986 310.1442 412.8657 Tm -(telnet)Tj -/T1_1 1 Tf --0.425 -1.25 Td -(command)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4416 4097 cm -0 0 m -0 -59.64 -120.89 -108 -270 -108 c --419.11 -108 -540 -59.64 -540 0 c --540 59.64 -419.11 108 -270 108 c --120.89 108 0 59.64 0 0 c -h -S -Q -Q -BT -/TT1 1 Tf -7.9981 0 0 7.9981 397.7045 412.8409 Tm -(telnetd)Tj -/T1_1 1 Tf -0.3 -1.25 Td -(daemon)Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 297.6 416.9 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 2976 4169 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2904.25 4169.25 cm -0 0 m --324 0 l -S -Q -Q -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 258 402.5 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 2580 4025 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2976.25 4025.25 cm -0 0 m --324 0 l -S -Q -Q -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 391.2 416.9 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3912 4169 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3516.25 4169.25 cm -0 0 m -324 0 l -S -Q -Q -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 351.6 402.5 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3516 4025 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3588.25 4025.25 cm -0 0 m -324 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 245.778 368.723 Tm -(Figure 14.13)Tj -/T1_1 1 Tf -6.195 0 Td -(Overview of)Tj -/TT1 1 Tf -5.773 0 Td -(telnet)Tj -/T1_1 1 Tf -3.85 0 Td -[(pr)18(ogram)]TJ -9.9952 0 0 9.9952 147.5294 341.1362 Tm -(The)Tj -/TT1 1 Tf -1.951 0 Td -(telnet)Tj -/T1_1 1 Tf -3.876 0 Td -[(pr)18(ocess )-26(has )-26(two )-26(inputs )-26(and )-26(two )-26(outputs.)]TJ --0.092 Tc 18.598 0 Td -[(We )-211(c)]TJ -0 Tc 2.108 0 Td -[(an\325t )-26(do )-26(a )-26(blocking)]TJ -/TT1 1 Tf -8.268 0 Td -(read)Tj -/T1_1 1 Tf --36.6 -1.2 Td -(on either of the inputs, as we never know which input will have data for\ us.)Tj -1.8 -1.2 Td -[(One )-138(way )-138(to )-138(handle )-138(this )-138(particular )-138(pr)18(oblem )-138(is )-138(to )-138(divide )-138(the )-138(pr)18(ocess )-138(in )-138(two )-138(pieces)]TJ --1.8 -1.2 Td -(\(using)Tj -/TT1 1 Tf -3.431 0 Td -(fork)Tj -/T1_1 1 Tf -[(\), )-392(with )-392(each )-392(half )-392(handling )-392(one )-392(dir)18(ection )-392(of )-392(data.)]TJ --0.092 Tc 27.373 0 Td -[(We )-576(s)]TJ -0 Tc 2.453 0 Td -[(how )-392(this )-392(in)]TJ --33.257 -1.2 Td -(Figur)Tj -0.4514 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.43 0 Td -[(4.14. )-451(\(The)]TJ -/TT1 1 Tf -5.16 0 Td -(cu)Tj -/T1_1 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.784 -0.04 Td -[(command )-201(pr)18(ovided )-201(with )-201(System )-201(V\325s)]TJ -/TT1 1 Tf -17.437 0 Td -(uucp)Tj -/T1_1 1 Tf -2.851 0 Td -(communication)Tj --32.079 -1.2 Td -[(package was str)8(uctur)18(ed like this.\))]TJ -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2616 2331.3999 cm -0 0 m -0 -59.64 -120.89 -108 -270 -108 c --419.11 -108 -540 -59.64 -540 0 c --540 59.65 -419.11 108 -270 108 c --120.89 108 0 59.65 0 0 c -h -S -Q -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 219.5734 236.2524 Tm -(user at a)Tj --0.01 -1.25 Td -(terminal)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4416 2331.3999 cm -0 0 m -0 -59.64 -120.89 -108 -270 -108 c --419.11 -108 -540 -59.64 -540 0 c --540 59.65 -419.11 108 -270 108 c --120.89 108 0 59.65 0 0 c -h -S -Q -Q -BT -/TT1 1 Tf -7.9952 0 0 7.9952 397.5614 236.2382 Tm -(telnetd)Tj -/T1_1 1 Tf -0.3 -1.25 Td -(daemon)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -2886 2425 720 216 re -S -Q -BT -/TT1 1 Tf -7.9947 0 0 7.9947 291.2117 256.3707 Tm -(telnet)Tj -/T1_1 1 Tf -3.85 0 Td -(command)Tj --1.466 -1.25 Td -[(\(par)18(ent\))]TJ -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -2886 2021.8 720 216 re -S -Q -BT -/TT1 1 Tf -7.9942 0 0 7.9942 291.1943 216.0644 Tm -(telnet)Tj -/T1_1 1 Tf -3.85 0 Td -(command)Tj --1.143 -1.25 Td -(\(child\))Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 288.6 253.3 cm -0 0 m --5.904 -4.464 l --7.272 -1.152 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 2886 2533 cm -0 0 m --59.04 -44.64 l --72.72 -11.52 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2580.25 2403.25 cm -0 0 m -240 102 l -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 391.2 240.34 cm -0 0 m --7.344 1.152 l --5.976 4.464 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 3912 2403.3999 cm -0 0 m --73.44 11.52 l --59.76 44.64 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3606.25 2533.25 cm -0 0 m -240 -102 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 258 225.94 cm -0 0 m -7.344 -1.152 l -5.976 -4.464 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 2580 2259.3999 cm -0 0 m -73.44 -11.52 l -59.76 -44.64 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2646.25 2231.25 cm -0 0 m -240 -101 l -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 360.6 212.98 cm -0 0 m -5.904 4.464 l -7.272 1.152 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 3606 2129.8 cm -0 0 m -59.04 44.64 l -72.72 11.52 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3672.25 2158.25 cm -0 0 m -240 101 l -S -Q -Q -BT -/T1_0 1 Tf -7.9923 0 0 7.9923 224.6362 179.2079 Tm -(Figure 14.14)Tj -/T1_1 1 Tf -6.195 0 Td -(The)Tj -/TT1 1 Tf -1.924 0 Td -(telnet)Tj -/T1_1 1 Tf -3.85 0 Td -[(pr)18(ogram using two pr)18(ocesses)]TJ -9.9904 0 0 9.9904 129.476 151.6344 Tm -[(If )-23(we )-23(use )-23(two )-23(pr)18(ocesses, )-23(we )-23(can )-23(let )-23(each )-23(pr)22(ocess )-22(do )-22(a )-22(blocking)]TJ -/TT1 1 Tf -27.897 0 Td -(read)Tj -/T1_1 1 Tf -0.5225 Tc (.B)Tj -0 Tc 3.784 0 Td -[(ut )-22(this )-22(leads )-22(to )-22(a)]TJ --31.681 -1.2 Td -[(pr)18(oblem )-110(when )-110(the )-110(operation )-110(terminates.)-610(If )-110(an )-110(end )-110(of )-110(\336le )-110(is )-110(r)17(eceived )-110(by )-110(the )-110(child )-110(\(the)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46961 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.3)]TJ -36.622 0 Td -(Recor)Tj -0.5 Tc 2.514 0 Td -(dL)Tj -0 Tc 1.722 0 Td -(ocking)Tj -/T1_1 1 Tf -4.975 0 Td -(485)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(14.3 )-776(Recor)]TJ -0.556 Tc 5.814 0 Td -(dL)Tj -0 Tc 1.778 0 Td -[(oc)20(king)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 647.3612 Tm -[(What )-150(happens )-150(when )-150(two )-150(people )-150(edit )-150(the )-150(same )-150(\336le )-150(at )-150(the )-150(same )-150(time?)-654(In )-150(most )-150(UNIX)]TJ -0 -1.2 TD -[(systems, )-73(the )-73(\336nal )-73(state )-73(of )-73(the )-73(\336le )-73(corr)16(esponds )-73(to )-73(the )-73(last )-73(pr)18(ocess )-73(that )-73(wr)18(ote )-73(the )-73(\336le.)-575(In)]TJ -T* -[(some )-132(applications, )-132(however)]TJ -0.3817 Tc 12.548 0 Td -(,s)Tj -0 Tc 1.056 0 Td -[(uch )-132(as )-132(a )-132(database )-132(system, )-132(a )-132(pr)18(ocess )-132(needs )-132(to )-132(be )-132(certain)]TJ --13.604 -1.2 Td -[(that )-142(it )-142(alone )-142(is )-142(writing )-142(to )-142(a )-142(\336le.)]TJ --0.092 Tc 15.124 0 Td -[(To )-326(p)]TJ --0.018 Tc 2.06 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vide )-142(this )-142(capability )-142(for )-142(pr)18(ocesses )-142(that )-142(need )-142(it,)]TJ --18.108 -1.2 Td -[(commer)18(cial )-312(UNIX )-312(systems )-312(pr)18(ovide )-312(r)18(ecor)]TJ -0.5622 Tc 19.209 0 Td -(dl)Tj -0 Tc 1.464 0 Td -[(ocking. )-562(\(In)-562(Chapter )-312(20, )-312(we )-312(develop )-312(a)]TJ --20.673 -1.2 Td -[(database library that uses r)18(ecor)]TJ -0.25 Tc 13.761 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(ocking.\))Tj -/T1_2 1 Tf --13.113 -1.2 Td -[(Record )-240(locking)]TJ -/T1_0 1 Tf -6.683 0 Td -[(is )-240(the )-240(term )-240(normally )-240(used )-240(to )-240(describe )-240(the )-240(ability )-240(of )-240(a )-240(pr)18(ocess )-240(to)]TJ --8.483 -1.2 Td -[(pr)18(event )-219(other )-219(pr)18(ocesses )-219(fr)18(om )-219(modifying )-219(a )-219(r)17(egion )-219(of )-219(a )-219(\336le )-219(while )-219(the )-219(\336rst )-219(pr)18(ocess )-219(is)]TJ --0.018 Tc 0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading )-141(or )-141(modifying )-141(that )-141(portion )-141(of )-141(the )-141(\336le.)-641(Under )-141(the )-141(UNIX )-141(System, )-141(\324)35(\324r)18(ecor)18(d\325)37(\325)-391(is)-391(a)]TJ --0.856 -1.2 Td -[(misnomer; )-41(the )-41(UNIX )-41(kernel )-41(does )-41(not )-41(have )-41(a )-41(notion )-41(of )-41(r)15(ecor)18(ds )-41(in )-41(a )-41(\336le.)]TJ -0.2914 Tc 31.992 0 Td -(Ab)Tj -0 Tc 1.622 0 Td -[(etter )-41(term )-41(is)]TJ -/T1_2 1 Tf --33.614 -1.2 Td -(byte-range locking)Tj -/T1_0 1 Tf -0.25 Tc (,g)Tj -0 Tc 8.509 0 Td -(iven that it is a range of a \336le \(possibly the entir)Tj -0.25 Tc 20.96 0 Td -(e\336)Tj -0 Tc 1.334 0 Td -(le\) that is locked.)Tj -/TT0 1 Tf --34.403 -2.16 Td -[(Histor )268(y)]TJ -/T1_0 1 Tf -3.6 -1.92 Td -[(One )-199(of )-199(the )-199(criticisms )-199(of )-199(early )-199(UNIX )-199(systems )-199(was )-199(that )-199(they )-199(couldn\325t )-199(be )-199(used )-199(to )-199(r)7(un)]TJ -T* -[(database )-207(systems, )-207(because )-207(they )-207(did )-207(not )-207(support )-207(locking )-207(portions )-207(of )-207(\336les.)-706(As )-207(UNIX)]TJ -T* -[(systems )-38(found )-38(their )-38(way )-38(into )-38(business )-38(computing )-38(envir)18(onments, )-38(various )-38(gr)18(oups )-38(added)]TJ -T* -[(support for r)18(ecor)]TJ -0.25 Tc 7.493 0 Td -(dl)Tj -0 Tc 1.152 0 Td -[(ocking \(dif)18(fer)18(ently)111(,)-250(of)-250(course\).)]TJ --6.845 -1.2 Td -[(Early )-201(Berkeley )-201(r)18(eleases )-201(supported )-201(only )-201(the)]TJ -/TT1 1 Tf -20.309 0 Td -(flock)Tj -/T1_0 1 Tf -3.451 0 Td -[(function. )-451(This)-452(function )-201(locks)]TJ --25.56 -1.2 Td -(only entir)Tj -0.25 Tc 4.28 0 Td -(e\336)Tj -0 Tc 1.334 0 Td -[(les, not r)18(egions of a \336le.)]TJ --3.814 -1.2 Td -(Recor)Tj -0.2917 Tc 2.514 0 Td -(dl)Tj -0 Tc 1.194 0 Td -[(ocking )-42(was )-42(added )-42(to )-42(System )-42(V )-42(Release )-42(3 )-42(thr)18(ough )-42(the)]TJ -/TT1 1 Tf -24.028 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.292 0 Td -[(function. )-292(The)]TJ -/TT1 1 Tf --32.827 -1.2 Td -(lockf)Tj -/T1_0 1 Tf -3.568 0 Td -[(function )-318(was )-318(built )-318(on )-318(top )-318(of )-318(this, )-318(pr)18(oviding )-318(a )-318(simpli\336ed )-318(interface.)-818(These)]TJ --3.568 -1.2 Td -[(functions )-72(allowed )-72(callers )-72(to )-72(lock )-72(arbitrary )-72(byte )-72(ranges )-72(in )-72(a )-72(\336le, )-72(ranging )-72(fr)22(om )-72(the )-72(entir)19(e)]TJ -0 -1.2 Td -(\336le down to a single byte within the \336le.)Tj -1.8 -1.2 Td -[(POSIX.1 )-35(chose )-35(to )-35(standar)17(dize )-36(on )-36(the)]TJ -/TT1 1 Tf -16.445 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.286 0 Td -[(appr)18(oach. )-286(Figur)]TJ -0.2856 Tc 7.32 0 Td -(e1)Tj -0 Tc 1.265 0 Td -[(4.2 )-36(shows )-36(the )-36(forms)]TJ --30.115 -1.2 Td -[(of )-18(r)18(ecor)]TJ -0.2681 Tc 3.37 0 Td -(dl)Tj -0 Tc 1.17 0 Td -[(ocking )-18(pr)18(ovided )-18(by )-18(various )-18(systems.)-518(Note )-18(that )-18(the )-18(Single )-18(UNIX )-18(Speci\336cation)]TJ --4.54 -1.2 Td -(includes)Tj -/TT1 1 Tf -3.975 0 Td -(lockf)Tj -/T1_0 1 Tf -3.25 0 Td -(in the XSI option.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1896.25 3250.25 cm -0 0 m -2700 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 209.2909 316.962 Tm -[(System )-3212(Advisory)-1500(Mandatory)]TJ -/TT1 1 Tf -18.783 0 Td -[(fcntl )-900(lockf )-900(flock)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1896.25 3130.25 cm -0 0 m -2700 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1896.25 3110.25 cm -0 0 m -2700 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 193.5812 302.9455 Tm -(SUS )Tj -10.398 0 Td -(\245)Tj -3.4325 Tc 11.545 0 Td -(\245X)Tj -0 Tc 4.706 0 Td -(SI)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1896.25 2990.25 cm -0 0 m -2700 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 193.5695 290.9302 Tm -[(Fr)18(eeBSD 8.0)]TJ -10.939 Tc 10.398 0 Td -(\245\245)Tj -3.894 Tc 16.045 0 Td -(\245\245)Tj -0 Tc -26.443 -1.25 Td -(Linux 3.2.0)Tj -5.458 Tc 10.398 0 Td -(\245\245)Tj -3.894 Tc 11.545 0 Td -(\245\245\245)Tj -0 Tc -21.943 -1.25 Td -(Mac OS X 10.6.8)Tj -10.939 Tc 10.398 0 Td -(\245\245)Tj -3.894 Tc 16.045 0 Td -(\245\245)Tj -0 Tc -26.443 -1.25 Td -(Solaris 10)Tj -5.458 Tc 10.398 0 Td -(\245\245)Tj -3.894 Tc 11.545 0 Td -(\245\245\245)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1896.25 2570.25 cm -0 0 m -2700 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4256.25 2570.25 cm -0 0 m -0 680 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3896.25 2570.25 cm -0 0 m -0 680 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3536.25 2570.25 cm -0 0 m -0 680 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3019.25 2570.25 cm -0 0 m -0 680 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2565.25 2570.25 cm -0 0 m -0 680 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4596.25 2570.25 cm -0 0 m -0 680 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1896.25 2570.25 cm -0 0 m -0 680 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 7.9976 0 0 7.9976 194.0378 238.9283 Tm -(Figure 14.2)Tj -/T1_0 1 Tf -5.695 0 Td -[(Forms of r)18(ecor)]TJ -0.25 Tc 6.406 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(ocking supported by various UNIX systems)Tj --0.092 Tc 9.997 0 0 9.997 147.5559 214.9355 Tm -[(We )-184(d)]TJ -0 Tc 2.248 0 Td -[(escribe the dif)18(fer)18(ence between advisory locking and mandatory locking later in)]TJ --4.048 -1.2 Td -[(this section.)-500(In this text, we describe only the POSIX.1)]TJ -/TT1 1 Tf -24.174 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.25 0 Td -(locking.)Tj -7.9976 0 0 7.9976 183.545 182.9451 Tm -(Recor)Tj -0.3079 Tc 2.514 0 Td -(dl)Tj -0 Tc 1.21 0 Td -[(ocking )-58(was )-58(originally )-58(added )-58(to )-58(V)111(ersion )-58(7 )-58(in )-58(1980 )-58(by )-58(John )-58(Bass.)-558(The )-58(system )-58(call )-58(entry)]TJ --3.724 -1.25 Td -[(into )-161(the )-161(kernel )-161(was )-161(a )-161(function )-161(named)]TJ -/TT1 1 Tf -17.813 0 Td -(locking)Tj -/T1_0 1 Tf -0.6613 Tc (.T)Tj -0 Tc 5.724 0 Td -[(his )-161(function )-161(pr)18(ovided )-161(mandatory )-161(r)17(ecor)18(d)]TJ --23.537 -1.25 Td -[(locking )-112(and )-112(pr)18(opagated )-112(thr)18(ough )-112(many )-112(versions )-112(of )-112(System )-112(III.)-610(Xenix )-112(systems )-112(picked )-112(up )-112(this)]TJ -0 -1.25 TD -[(function, )-222(and )-222(some )-222(Intel-based )-222(System )-222(V )-222(derivatives, )-222(such )-222(as )-222(OpenServer )-222(5, )-222(continued )-222(to)]TJ -T* -[(support it in a Xenix-compatibility library)111(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46962 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(14)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Adv)30(anced )-280(I/O)]TJ -/TT0 1 Tf -12 0 0 12 93.6 434.4 Tm -[(14.1 )-776(Intr)20(oduction)]TJ -/T1_2 1 Tf -10 0 0 10 129.6 410.4 Tm -[(This )-283(chapter )-283(covers )-283(numer)19(ous )-283(topics )-283(and )-283(functions )-283(that )-283(we )-283(lump )-283(under )-283(the )-283(term)]TJ -/T1_3 1 Tf -0 -1.2 TD -[(advanced )-263(I/O)]TJ -/T1_2 1 Tf -0.5127 Tc 5.826 0 Td -(:n)Tj -0 Tc 1.345 0 Td -[(onblocking )-263(I/O, )-263(r)19(ecor)]TJ -0.5126 Tc 10.174 0 Td -(dl)Tj -0 Tc 1.415 0 Td -[(ocking, )-263(I/O )-263(multiplexing )-263(\(the)]TJ -/TT1 1 Tf -14.434 0 Td -(select)Tj -/T1_2 1 Tf -4.113 0 Td -(and)Tj -/TT1 1 Tf --37.307 -1.2 Td -(poll)Tj -/T1_2 1 Tf -3.287 0 Td -[(functions\), )-637(asynchr)18(onous )-637(I/O, )-637(the)]TJ -/TT1 1 Tf -17.796 0 Td -(readv)Tj -/T1_2 1 Tf -3.888 0 Td -(and)Tj -/TT1 1 Tf -2.581 0 Td -(writev)Tj -/T1_2 1 Tf -4.487 0 Td -[(functions, )-637(and)]TJ --32.039 -1.2 Td -[(memory-mapped )-430(I/O )-430(\()]TJ -/TT1 1 Tf -(mmap)Tj -/T1_2 1 Tf -[(\). )-680(W)]TJ -0.6801 Tc 15.993 0 Td -(en)Tj -0 Tc 1.741 0 Td -[(eed )-430(to )-430(cover )-430(these )-430(topics )-430(befor)]TJ -0.6801 Tc 15.48 0 Td -(ed)Tj -0 Tc 1.77 0 Td -(escribing)Tj --34.985 -1.2 Td -[(interpr)18(ocess )-136(communication )-136(in )-136(Chapter )-136(15, )-136(Chapter )-136(17, )-136(and )-136(many )-136(of )-136(the )-136(examples )-136(in)]TJ -T* -(later chapters.)Tj -/TT0 1 Tf -12 0 0 12 93.6002 314.4 Tm -[(14.2 )-776(Nonb)10(loc)20(king )-278(I/O)]TJ -/T1_2 1 Tf -10 0 0 10 129.6002 290.4 Tm -[(In )-143(Section )-143(10.5, )-143(we )-143(said )-143(that )-143(system )-143(calls )-143(ar)]TJ -0.3926 Tc 20.046 0 Td -(ed)Tj -0 Tc 1.483 0 Td -[(ivided )-143(into )-143(two )-143(categories: )-143(the )-143(\324)39(\324slow\325)37(\325)]TJ --21.528 -1.2 Td -[(ones )-120(and )-120(all )-120(the )-120(others.)-620(The )-120(slow )-120(system )-120(calls )-120(ar)]TJ -0.3701 Tc 22.463 0 Td -(et)Tj -0 Tc 1.175 0 Td -[(hose )-120(that )-120(can )-120(block )-120(for)18(ever)]TJ -0.6201 Tc 12.261 0 Td -(.T)Tj -0 Tc 1.483 0 Td -(hey)Tj --37.383 -1.2 Td -(include)Tj -0.883 Tc 1.8 -2.04 Td -(\245R)Tj -0 Tc 2.157 0 Td -[(eads )-27(that )-27(can )-27(block )-27(the )-27(caller )-27(for)18(ever )-27(if )-27(data )-27(isn\325t )-27(pr)18(esent )-27(with )-27(certain )-27(\336le )-27(types)]TJ --0.668 -1.2 Td -(\(pipes, terminal devices, and network devices\))Tj -0.883 Tc -1.489 -1.6 Td -(\245W)Tj -0 Tc 2.415 0 Td -[(rites )-33(that )-33(can )-33(block )-33(the )-33(caller )-33(for)18(ever )-33(if )-33(the )-33(data )-33(can\325t )-33(be )-33(accepted )-33(immediately)]TJ --0.926 -1.2 Td -[(by these same \336le types \(e.g., no r)18(oom in the pipe, network \337ow contr)18(ol\))]TJ -0.883 Tc -1.489 -1.6 Td -(\245O)Tj -0 Tc 2.275 0 Td -[(pens )-128(that )-128(block )-128(until )-128(some )-128(condition )-128(occurs )-128(on )-128(certain )-128(\336le )-128(types )-128(\(such )-128(as )-128(an)]TJ --0.786 -1.2 Td -[(open )-252(of )-252(a )-252(terminal )-252(device )-252(that )-252(waits )-252(until )-252(an )-252(attached )-252(modem )-252(answers )-252(the)]TJ -T* -[(phone, )-153(or )-153(an )-153(open )-153(of )-153(a )-153(FIFO )-153(for )-153(writing )-153(only)]TJ -0.4028 Tc 20.923 0 Td -(,w)Tj -0 Tc 1.487 0 Td -[(hen )-153(no )-153(other )-153(pr)18(ocess )-153(has )-153(the)]TJ --22.41 -1.2 Td -[(FIFO open for r)18(eading\))]TJ -0.883 Tc -1.489 -1.6 Td -(\245R)Tj -0 Tc 2.157 0 Td -[(eads and writes of \336les that have mandatory r)18(ecor)]TJ -0.25 Tc 22.116 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(ocking enabled)Tj -/T1_4 1 Tf -9 0 0 9 506.1003 114 Tm -(481)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46963 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(480)Tj -/T1_1 1 Tf -3.5 0 Td -[(Daemon )-250(Pr)18(ocesses )]TJ -38.741 0 Td -[(Chapter)-500(13)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(set_cloexec\(int fd\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(val;)]TJ -0 -2.021 TD -(if \(\(val = fcntl\(fd, F_GETFD, 0\)\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -2.021 Td -[(val |= FD_CLOEXEC;)-3600(/* enable close-on-exec */)]TJ -T* -(return\(fcntl\(fd, F_SETFD, val\)\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5177.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 264.2283 501.6778 Tm -(Figure 13.9)Tj -/T1_1 1 Tf -5.695 0 Td -(Set close-on-exec \337ag)Tj -/TT1 1 Tf -11.9986 0 0 11.9986 93.589 453.6836 Tm -[(13.8 )-776(Summar)-10(y)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5846 429.6864 Tm -[(Daemon )-9(pr)18(ocesses )-9(ar)]TJ -0.2593 Tc 9.358 0 Td -(er)Tj -0 Tc 1.125 0 Td -[(unning )-9(all )-9(the )-9(time )-9(on )-9(most )-9(UNIX )-9(systems.)-509(Initializing )-9(our )-9(own)]TJ --10.483 -1.2 Td -[(pr)18(ocess )-246(to )-246(r)8(un )-246(as )-246(a )-246(daemon )-246(takes )-246(some )-246(car)]TJ -0.4958 Tc 20.668 0 Td -(ea)Tj -0 Tc 1.475 0 Td -[(nd )-246(an )-246(understanding )-246(of )-246(the )-246(pr)19(ocess)]TJ --0.018 Tc -22.143 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(lationships )-61(described )-61(in )-61(Chapter )-61(9.)-561(In )-61(this )-61(chapter)72(,)-311(we)-311(d)-1(eveloped )-61(a )-61(function )-61(that )-61(can)]TJ --0.856 -1.2 Td -[(be called by a daemon pr)18(ocess to initialize itself corr)18(ectly)111(.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-402(a)]TJ -0 Tc 2.355 0 Td -[(lso )-218(discussed )-218(the )-218(ways )-218(a )-218(daemon )-218(can )-218(log )-218(err)18(or )-218(messages, )-218(since )-218(a )-218(daemon)]TJ --4.155 -1.2 Td -[(normally )-157(doesn\325t )-157(have )-157(a )-157(contr)18(olling )-157(terminal.)]TJ --0.092 Tc 21.439 0 Td -[(We )-341(d)]TJ -0 Tc 2.405 0 Td -[(iscussed )-157(several )-157(conventions )-157(that)]TJ --23.844 -1.2 Td -[(daemons )-152(follow )-152(on )-152(most )-152(UNIX )-152(systems )-152(and )-152(showed )-152(examples )-152(of )-152(how )-152(to )-152(implement)]TJ -0 -1.2 TD -(some of these conventions.)Tj -/TT1 1 Tf -11.9986 0 0 11.9986 129.5848 303.7016 Tm -[(Ex)10(er)20(cises)]TJ -/T1_0 1 Tf -8.9989 0 0 8.9989 129.5848 282.7041 Tm -(13.1)Tj -/T1_1 1 Tf -3.065 0 Td -[(As )-182(we )-182(might )-182(guess )-182(fr)18(om )-182(Figur)]TJ -0.4323 Tc 14.323 0 Td -(e1)Tj -0 Tc 1.411 0 Td -[(3.2, )-182(when )-182(the)]TJ -/TT0 1 Tf -6.661 0 Td -(syslog)Tj -/T1_1 1 Tf -4.032 0 Td -[(facility )-182(is )-182(initialized, )-182(either )-182(by)]TJ --26.428 -1.222 Td -(calling)Tj -/TT0 1 Tf -3.227 0 Td -(openlog)Tj -/T1_1 1 Tf -4.472 0 Td -[(dir)18(ectly )-22(or )-22(on )-22(the )-22(\336rst )-22(call )-22(to)]TJ -/TT0 1 Tf -12.882 0 Td -(syslog)Tj -/T1_1 1 Tf -0.2718 Tc (,t)Tj -0 Tc 4.448 0 Td -[(he )-22(special )-22(device )-22(\336le )-22(for )-22(the )-22(UNIX)]TJ --25.029 -1.222 Td -[(domain )-51(datagram )-51(socket,)]TJ -/TT0 1 Tf -11.613 0 Td -(/dev/log)Tj -/T1_1 1 Tf -0.3013 Tc (,h)Tj -0 Tc 5.933 0 Td -[(as )-51(to )-51(be )-51(opened.)-551(What )-51(happens )-51(if )-51(the )-51(user )-51(pr)15(ocess)]TJ --17.546 -1.222 Td -(\(the daemon\) calls)Tj -/TT0 1 Tf -8.354 0 Td -(chroot)Tj -/T1_1 1 Tf -3.85 0 Td -(befor)Tj -0.25 Tc 2.288 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(alling)Tj -/TT0 1 Tf -2.761 0 Td -(openlog)Tj -/T1_1 1 Tf -(?)Tj -/T1_0 1 Tf --21.491 -1.667 Td -(13.2)Tj -/T1_1 1 Tf -3.065 0 Td -[(Recall )-146(the )-146(sample)]TJ -/TT0 1 Tf -8.425 0 Td -(ps)Tj -/T1_1 1 Tf -1.596 0 Td -[(output )-146(fr)18(om )-146(Section )-146(13.2.)-646(The )-146(only )-146(user)21(-level )-145(daemon )-145(that )-145(isn\325t )-145(a)]TJ --10.02 -1.222 Td -[(session )-21(leader )-21(is )-21(the)]TJ -/TT0 1 Tf -9.111 0 Td -(rsyslogd)Tj -/T1_1 1 Tf -5.071 0 Td -[(pr)18(ocess. )-271(Explain)-271(why )-21(the)]TJ -/TT0 1 Tf -11.63 0 Td -(syslogd)Tj -/T1_1 1 Tf -4.471 0 Td -[(daemon )-21(isn\325t )-21(a )-21(session)]TJ --30.283 -1.222 Td -[(leader)74(.)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(13.3)Tj -/T1_1 1 Tf -3.065 0 Td -(List all the daemons active on your system, and identify the function of\ each one.)Tj -/T1_0 1 Tf --3.065 -1.667 Td -(13.4)Tj -/T1_1 1 Tf --0.074 Tc 3.065 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-246(a )-246(pr)18(ogram )-246(that )-246(calls )-246(the)]TJ -/TT0 1 Tf -13.498 0 Td -(daemonize)Tj -/T1_1 1 Tf -5.895 0 Td -[(function )-245(in )-245(Figur)]TJ -0.4954 Tc 7.954 0 Td -(e1)Tj -0 Tc 1.474 0 Td -[(3.1. )-495(After)-496(calling )-245(this)]TJ --30.143 -1.222 Td -[(function, )-113(call)]TJ -/TT0 1 Tf -6.209 0 Td -(getlogin)Tj -/T1_1 1 Tf -5.163 0 Td -[(\(Section )-113(8.15\) )-113(to )-113(see )-113(whether )-113(the )-113(pr)18(ocess )-113(has )-113(a )-113(login )-113(name )-113(now)]TJ --11.373 -1.222 Td -[(that it has become a daemon.)-500(Print the r)18(esults to a \336le.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46964 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(13.7)]TJ -34.444 0 Td -[(Client\320Server )-250(Model)]TJ -/T1_1 1 Tf -11.389 0 Td -(479)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(sigaddset\(&sa.sa_mask, SIGTERM\);)Tj -0 -1.189 TD -(sa.sa_flags = 0;)Tj -T* -(if \(sigaction\(SIGHUP, &sa, NULL\) < 0\) {)Tj -2.4 -1.189 Td -(syslog\(LOG_ERR, "can\325t catch SIGHUP: %s", strerror\(errno\)\);)Tj -T* -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(roceed with the rest of the daemon.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(/* ... */)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5403.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 181.4822 524.2461 Tm -(Figure 13.8)Tj -/T1_0 1 Tf -5.695 0 Td -[(Alternative implementation of daemon r)18(er)18(eading con\336guration \336les)]TJ -9.9988 0 0 9.9988 129.5845 500.249 Tm -[(After )-40(initializing )-40(the )-40(daemon, )-40(we )-40(install )-40(signal )-40(handlers )-40(for)]TJ -/TT0 1 Tf -26.75 0 Td -(SIGHUP)Tj -/T1_0 1 Tf -3.89 0 Td -(and)Tj -/TT0 1 Tf -1.983 0 Td -(SIGTERM)Tj -/T1_0 1 Tf -0.5399 Tc (.W)Tj -0 Tc 5.898 0 Td -(e)Tj --38.521 -1.2 Td -[(can )-6(either )-6(place )-6(the )-6(r)18(er)18(ead )-6(logic )-6(in )-6(the )-6(signal )-6(handler )-6(or )-6(just )-6(set )-6(a )-6(\337ag )-6(in )-6(the )-6(handler )-6(and)]TJ -0 -1.2 Td -[(have the main thr)18(ead of the daemon do all the work instead.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4763.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9978 0 0 11.9978 93.5832 440.2297 Tm -[(13.7 )-776(Client\320Ser)-10(ver )-278(Model)]TJ -/T1_0 1 Tf -0.3183 Tc 9.9982 0 0 9.9982 129.5767 416.2341 Tm -(Ac)Tj -0 Tc 1.54 0 Td -[(ommon )-68(use )-68(for )-68(a )-68(daemon )-68(pr)17(ocess )-68(is )-68(as )-68(a )-68(server )-68(pr)16(ocess. )-318(Indeed,)-319(in )-68(Figur)]TJ -0.3184 Tc 33.031 0 Td -(e1)Tj -0 Tc 1.297 0 Td -[(3.2, )-68(we)]TJ --35.868 -1.2 Td -[(can )-144(call )-144(the)]TJ -/TT0 1 Tf -5.622 0 Td -(syslogd)Tj -/T1_0 1 Tf -4.594 0 Td -[(pr)18(ocess )-144(a )-144(server )-144(that )-144(has )-144(messages )-144(sent )-144(to )-144(it )-144(by )-144(user )-144(pr)17(ocesses)]TJ --10.216 -1.2 Td -(\(clients\) using a UNIX domain datagram socket.)Tj -1.8 -1.2 Td -[(In )-78(general, )-78(a)]TJ -/T1_2 1 Tf -5.936 0 Td -(server)Tj -/T1_0 1 Tf -2.773 0 Td -[(is )-78(a )-78(pr)18(ocess )-78(that )-78(waits )-78(for )-78(a)]TJ -/T1_2 1 Tf -12.692 0 Td -(client)Tj -/T1_0 1 Tf -2.569 0 Td -[(to )-78(contact )-78(it, )-78(r)18(equesting )-78(some)]TJ --25.77 -1.2 Td -[(type )-34(of )-34(service.)-534(In )-34(Figur)]TJ -0.284 Tc 10.856 0 Td -(e1)Tj -0 Tc 1.263 0 Td -[(3.2, )-34(the )-34(service )-34(being )-34(pr)18(ovided )-34(by )-34(the)]TJ -/TT0 1 Tf -16.99 0 Td -(syslogd)Tj -/T1_0 1 Tf -4.484 0 Td -[(server )-34(is )-34(the)]TJ --33.593 -1.2 Td -[(logging of an err)18(or message.)]TJ -1.8 -1.2 Td -[(In )-166(Figur)]TJ -0.4162 Tc 3.718 0 Td -(e1)Tj -0 Tc 1.395 0 Td -[(3.2, )-166(the )-166(communication )-166(between )-166(the )-166(client )-166(and )-166(the )-166(server )-166(is )-166(one )-166(way)109(.)]TJ --6.913 -1.2 Td -[(The )-107(client )-107(sends )-107(its )-107(service )-107(r)16(equest )-107(to )-107(the )-107(server; )-107(the )-107(server )-107(sends )-107(nothing )-107(back )-107(to )-107(the)]TJ -0 -1.2 TD -[(client. )-824(In)-824(the )-574(upcoming )-574(chapters, )-574(we\325ll )-574(see )-574(numer)18(ous )-574(examples )-574(of )-574(two-way)]TJ -T* -[(communication )-65(between )-65(a )-65(client )-65(and )-65(a )-65(server)]TJ -0.0833 Tc 20.471 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-65(client )-65(sends )-65(a )-65(r)17(equest )-65(to )-65(the )-65(server)74(,)]TJ --21.88 -1.2 Td -[(and the server sends a r)18(eply back to the client.)]TJ -1.8 -1.2 Td -[(It )-232(is )-232(common )-232(to )-232(\336nd )-232(servers )-232(that)]TJ -/TT0 1 Tf -16.203 0 Td -(fork)Tj -/T1_0 1 Tf -2.882 0 Td -(and)Tj -/TT0 1 Tf -2.175 0 Td -(exec)Tj -/T1_0 1 Tf -2.882 0 Td -[(another )-232(pr)18(ogram )-232(to )-232(pr)17(ovide)]TJ --25.943 -1.2 Td -[(service )-12(to )-12(a )-12(client.)-514(These )-12(servers )-12(often )-12(manage )-12(multiple )-12(\336le )-12(descriptors: )-12(communication)]TJ -T* -[(endpoints, )-156(con\336guration )-156(\336les, )-156(log )-156(\336les, )-156(and )-156(the )-156(like.)-656(At )-156(best, )-156(it )-156(would )-156(be )-156(car)18(eless )-156(to)]TJ -T* -[(leave )-123(these )-123(\336le )-123(descriptors )-123(open )-123(in )-123(the )-123(child )-123(pr)18(ocess, )-123(because )-123(they )-123(pr)18(obably )-123(won\325t )-123(be)]TJ -T* -[(used )-44(in )-44(the )-44(pr)18(ogram )-44(executed )-44(by )-44(the )-44(child, )-44(especially )-44(if )-44(the )-44(pr)18(ogram )-44(is )-44(unr)18(elated )-44(to )-44(the)]TJ -T* -(server)Tj -0.7511 Tc 2.663 0 Td -(.A)Tj -0.5011 Tc 1.779 0 Td -(tw)Tj -0 Tc 1.661 0 Td -[(orst, )-251(leaving )-251(them )-251(open )-251(could )-251(pose )-251(a )-251(security )-251(pr)18(oblem )167(\321 )167(the)-502(pr)18(ogram)]TJ --6.103 -1.2 Td -[(executed )-100(could )-100(do )-100(something )-100(malicious, )-100(such )-100(as )-100(change )-100(the )-100(server)-72(\325s )-100(con\336guration )-100(\336le)]TJ -T* -[(or )-168(trick )-168(the )-168(client )-168(into )-168(thinking )-168(it )-168(is )-168(communicating )-168(with )-168(the )-168(server)]TJ -0.4177 Tc 31.205 0 Td -(,t)Tj -0 Tc 0.994 0 Td -[(her)18(eby )-168(gaining)]TJ --32.198 -1.2 Td -(access to unauthorized information.)Tj -1.8 -1.2 Td -[(An )-361(easy )-361(solution )-361(to )-361(this )-361(pr)18(oblem )-361(is )-361(to )-361(set )-361(the )-361(close-on-exec )-361(\337ag )-361(for )-361(all )-361(\336le)]TJ --1.8 -1.2 Td -[(descriptors that the executed pr)18(ogram won\325t need.)-503(Figur)]TJ -0.2504 Tc 25.205 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(3.9 shows a function that we)Tj --26.434 -1.2 Td -[(can use in a server pr)18(ocess to do just this.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46965 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(474)Tj -/T1_1 1 Tf -3.5 0 Td -[(Daemon )-250(Pr)18(ocesses )]TJ -38.741 0 Td -[(Chapter)-500(13)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -(int)Tj -0 -1.189 TD -(already_running\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(fd;)]TJ -T* -[(char )-1800(buf[16];)]TJ -0 -1.902 TD -(fd = open\(LOCKFILE, O_RDWR|O_CREAT, LOCKMODE\);)Tj -0 -1.189 TD -(if \(fd < 0\) {)Tj -2.4 -1.189 Td -(syslog\(LOG_ERR, "can\325t open %s: %s", LOCKFILE, strerror\(errno\)\);)Tj -T* -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(lockfile\(fd\) < 0\) {)Tj -2.4 -1.189 Td -(if \(errno == EACCES || errno == EAGAIN\) {)Tj -2.4 -1.189 Td -(close\(fd\);)Tj -T* -(return\(1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(syslog\(LOG_ERR, "can\325t lock %s: %s", LOCKFILE, strerror\(errno\)\);)Tj -0 -1.189 TD -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(ftruncate\(fd, 0\);)Tj -T* -(sprintf\(buf, "%ld", \(long\)getpid\(\)\);)Tj -T* -(write\(fd, buf, strlen\(buf\)+1\);)Tj -T* -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4237.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 213.5264 407.6301 Tm -(Figure 13.6)Tj -/T1_1 1 Tf -5.695 0 Td -(Ensur)Tj -0.25 Tc 2.597 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(hat only one copy of a daemon is r)8(unning)]TJ -9.9988 0 0 9.9988 147.5825 383.633 Tm -[(Each )-48(copy )-48(of )-48(the )-48(daemon )-48(will )-48(try )-48(to )-48(cr)18(eate )-48(a )-48(\336le )-48(and )-48(write )-48(its )-48(pr)18(ocess )-48(ID )-48(in )-48(the )-48(\336le.)]TJ --1.8 -1.2 Td -[(This )-24(will )-24(allow )-24(administrators )-24(to )-24(identify )-24(the )-24(pr)18(ocess )-24(easily)]TJ -0.524 Tc 26.218 0 Td -(.I)Tj -0.274 Tc 1.111 0 Td -(ft)Tj -0 Tc 0.933 0 Td -[(he )-24(\336le )-24(is )-24(alr)18(eady )-24(locked,)]TJ --28.262 -1.2 Td -(the)Tj -/TT0 1 Tf -1.698 0 Td -(lockfile)Tj -/T1_1 1 Tf -5.111 0 Td -[(function )-61(will )-61(fail )-61(with)]TJ -/TT0 1 Tf -10.106 0 Td -(errno)Tj -/T1_1 1 Tf -3.311 0 Td -[(set )-61(to)]TJ -/TT0 1 Tf -2.723 0 Td -(EACCES)Tj -/T1_1 1 Tf -3.911 0 Td -(or)Tj -/TT0 1 Tf -1.252 0 Td -(EAGAIN)Tj -/T1_1 1 Tf -[(,)-311(so)-311(we)-311(r)18(eturn )-61(1,)]TJ --28.111 -1.2 Td -[(indicating )-129(that )-129(the )-129(daemon )-129(is )-129(alr)18(eady )-129(r)7(unning. )-379(Otherwise,)-379(we )-129(tr)8(uncate )-129(the )-129(\336le, )-129(write)]TJ -0 -1.2 TD -[(our pr)18(ocess ID to it, and r)18(eturn 0.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-337(n)]TJ -0 Tc 2.372 0 Td -[(eed )-153(to )-153(tr)8(uncate )-153(the )-153(\336le, )-153(because )-153(the )-153(pr)18(evious )-153(instance )-153(of )-153(the )-153(daemon )-153(might)]TJ --4.172 -1.2 Td -[(have )-59(had )-59(a )-59(pr)18(ocess )-59(ID )-59(lar)18(ger )-59(than )-59(ours, )-59(with )-59(a )-59(lar)18(ger )-59(string )-59(length.)-556(For )-59(example, )-59(if )-59(the)]TJ -T* -[(pr)18(evious )-42(instance )-42(of )-42(the )-42(daemon )-42(was )-42(pr)18(ocess )-42(ID )-42(12345, )-42(and )-42(the )-42(new )-42(instance )-42(is )-42(pr)14(ocess)]TJ -0 -1.2 Td -[(ID )-63(9999, )-63(when )-63(we )-63(write )-63(the )-63(pr)18(ocess )-63(ID )-63(to )-63(the )-63(\336le, )-63(we )-63(will )-63(be )-63(left )-63(with )-63(99995 )-63(in )-63(the )-63(\336le.)]TJ --0.09 Tc T* -[(Tr )78(u)]TJ -0 Tc 1.513 0 Td -[(ncating )-31(the )-31(\336le )-31(pr)18(events )-31(data )-31(fr)18(om )-31(the )-31(pr)19(evious )-31(daemon )-31(appearing )-31(as )-31(if )-31(it )-31(applies )-31(to)]TJ --1.513 -1.2 Td -[(the curr)18(ent daemon.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2637.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9978 0 0 11.9978 93.5832 227.638 Tm -[(13.6 )-776(Daemon)-556(Con)40(ventions)]TJ -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 206.0419 Tm -(Several common conventions ar)Tj -0.25 Tc 14.112 0 Td -(ef)Tj -0 Tc 1.062 0 Td -(ollowed by daemons in the UNIX System.)Tj -0.883 Tc -13.374 -2.04 Td -(\245I)Tj -0.432 Tc 1.826 0 Td -(ft)Tj -0 Tc 1.091 0 Td -[(he )-182(daemon )-182(uses )-182(a )-182(lock )-182(\336le, )-182(the )-182(\336le )-182(is )-182(usually )-182(stor)18(ed )-182(in)]TJ -/TT0 1 Tf -26.119 0 Td -(/var/run)Tj -/T1_1 1 Tf -0.682 Tc (.N)Tj -0 Tc 6.563 0 Td -(ote,)Tj --34.11 -1.2 Td -(however)Tj -0.4597 Tc 3.806 0 Td -(,t)Tj -0 Tc 1.036 0 Td -[(hat )-210(the )-210(daemon )-210(might )-210(need )-210(super)8(user )-210(permissions )-210(to )-210(cr)20(eate )-210(a )-210(\336le)]TJ --4.842 -1.2 Td -[(her)18(e. )-334(The)-333(name )-84(of )-84(the )-84(\336le )-84(is )-84(usually)]TJ -/T1_2 1 Tf -16.829 0 Td -(name)Tj -/TT0 1 Tf -(.pid)Tj -/T1_1 1 Tf -0.3337 Tc (,w)Tj -0 Tc 5.985 0 Td -[(her)18(e)]TJ -/T1_2 1 Tf -2.251 0 Td -(name)Tj -/T1_1 1 Tf -2.501 0 Td -[(is )-84(the )-84(name )-84(of )-84(the)]TJ --27.565 -1.2 Td -[(daemon )-52(or )-52(the )-52(service.)-552(For )-52(example, )-52(on )-52(Linux, )-52(the )-52(name )-52(of )-52(the)]TJ -/TT0 1 Tf -28.706 0 Td -(cron)Tj -/T1_1 1 Tf -2.702 0 Td -(daemon\325s)Tj --31.408 -1.2 Td -(lock \336le is)Tj -/TT0 1 Tf -4.677 0 Td -(/var/run/crond.pid)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46966 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(13.5)]TJ -32.414 0 Td -[(Single-Instance )-250(Daemons)]TJ -/T1_1 1 Tf -13.419 0 Td -(473)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(you )-206(might )-206(need )-206(to )-206(de\336ne )-206(an )-206(additional )-206(symbol, )-206(such )-206(as)]TJ -/TT0 1 Tf -0.1666 Tc 26.795 0 Td -(__)Tj -0 Tc 1.367 0 Td -(BSD_VISIBLE)Tj -/T1_0 1 Tf -7.056 0 Td -[(on )-206(Fr)18(eeBSD )-206(or)]TJ -/TT0 1 Tf -0.1666 Tc -35.218 -1.25 Td -(__)Tj -0 Tc 1.367 0 Td -(USE_BSD)Tj -/T1_0 1 Tf -4.45 0 Td -(on Linux.)Tj -9.9994 0 0 9.9994 147.5907 638.9617 Tm -(Most)Tj -/TT0 1 Tf -2.876 0 Td -(syslogd)Tj -/T1_0 1 Tf -4.834 0 Td -[(implementations )-384(will )-384(queue )-384(messages )-384(for )-384(a )-384(short )-384(time.)-884(If )-384(a)]TJ --9.511 -1.2 Td -[(duplicate )-109(message )-109(arrives )-109(during )-109(this )-109(period, )-109(the)]TJ -/TT0 1 Tf -22.672 0 Td -(syslog)Tj -/T1_0 1 Tf -3.959 0 Td -[(daemon )-109(will )-109(not )-109(write )-109(it )-109(to)]TJ --26.631 -1.2 Td -[(the )-210(log.)-709(Instead, )-210(the )-210(daemon )-210(prints )-210(a )-210(message )-210(similar )-210(to )-210(\324)37(\324last )-210(message )-210(r)20(epeated)]TJ -/T1_2 1 Tf -38.222 0 Td -(N)Tj -/T1_0 1 Tf --38.222 -1.2 Td -[(times.\325)37(\325)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5942 569.3658 Tm -[(13.5 )-776(Single-Instance)-556(Daemons)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5919 547.7671 Tm -[(Some )-134(daemons )-134(ar)]TJ -0.384 Tc 8.103 0 Td -(ei)Tj -0 Tc 1.154 0 Td -[(mplemented )-134(so )-134(that )-134(only )-134(a )-134(single )-134(copy )-134(of )-134(the )-134(daemon )-134(should )-134(be)]TJ --0.008 Tc -9.257 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning )-7(at )-7(a )-7(time )-7(for )-7(pr)20(oper )-7(operation.)-507(Such )-7(a )-7(daemon )-7(might )-7(need )-7(exclusive )-7(access )-7(to )-7(a)]TJ --0.99 -1.2 Td -[(device, )-294(for )-294(example.)-794(In )-294(the )-294(case )-294(of )-294(the)]TJ -/TT0 1 Tf -19.417 0 Td -(cron)Tj -/T1_0 1 Tf -2.944 0 Td -[(daemon, )-294(if )-294(multiple )-294(instances )-294(wer)16(e)]TJ --0.008 Tc -22.361 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning, )-358(each )-358(copy )-358(might )-358(try )-358(to )-358(start )-358(a )-358(single )-358(scheduled )-358(operation, )-358(r)18(esulting )-358(in)]TJ --0.99 -1.2 Td -[(duplicate operations and pr)18(obably an err)18(or)74(.)]TJ -1.8 -1.2 Td -[(If )-128(the )-128(daemon )-128(needs )-128(to )-128(access )-128(a )-128(device, )-128(the )-128(device )-128(driver )-128(will )-128(sometimes )-128(pr)14(event)]TJ --1.8 -1.2 Td -[(multiple )-82(attempts )-82(to )-82(open )-82(the )-82(corr)18(esponding )-82(device )-82(node )-82(in)]TJ -/TT0 1 Tf -27.477 0 Td -(/dev)Tj -/T1_0 1 Tf -0.5819 Tc (.T)Tj -0 Tc 3.845 0 Td -[(his )-82(r)18(estricts )-82(us )-82(to)]TJ --31.322 -1.2 Td -[(one )-60(copy )-60(of )-60(the )-60(daemon )-60(r)6(unning )-60(at )-60(a )-60(time.)-560(If )-60(no )-60(such )-60(device )-60(is )-60(available, )-60(however)]TJ -0.3104 Tc 37.127 0 Td -(,w)Tj -0 Tc 1.394 0 Td -(e)Tj --38.521 -1.2 Td -(need to do the work ourselves.)Tj -1.8 -1.2 Td -[(The )-130(\336le- )-130(and )-130(r)17(ecor)18(d)]TJ -9.05 0.09 Td -(-)Tj -0.333 -0.09 Td -[(locking )-130(mechanism )-130(pr)17(ovides )-130(the )-130(basis )-130(for )-130(one )-130(way )-130(to )-130(ensur)15(e)]TJ --11.183 -1.2 Td -[(that )-218(only )-218(one )-218(copy )-218(of )-218(a )-218(daemon )-218(is )-218(r)8(unning. )-218(\(W)]TJ -0.4685 Tc 22.448 0 Td -(ed)Tj -0 Tc 1.559 0 Td -[(iscuss )-218(\336le )-218(and )-218(r)17(ecor)]TJ -0.4684 Tc 9.306 0 Td -(dl)Tj -0 Tc 1.37 0 Td -[(ocking )-218(in)]TJ --34.684 -1.2 Td -[(Section )-37(14.3.\) )-37(If )-37(each )-37(daemon )-37(cr)18(eates )-37(a )-37(\336le )-37(with )-37(a )-37(\336xed )-37(name )-37(and )-37(places )-37(a )-37(write )-37(lock )-37(on)]TJ -0 -1.2 TD -[(the )-255(entir)]TJ -0.5049 Tc 3.947 0 Td -(e\336)Tj -0 Tc 1.589 0 Td -[(le, )-255(only )-255(one )-255(such )-255(write )-255(lock )-255(will )-255(be )-255(allowed )-255(to )-255(be )-255(cr)19(eated. )-505(Successive)]TJ --5.536 -1.2 Td -[(attempts )-95(to )-95(cr)18(eate )-95(write )-95(locks )-95(will )-95(fail, )-95(serving )-95(as )-95(an )-95(indication )-95(to )-95(successive )-95(copies )-95(of)]TJ -T* -[(the daemon that another instance is alr)18(eady r)8(unning.)]TJ -1.8 -1.2 Td -[(File )-68(and )-68(r)18(ecor)]TJ -0.318 Tc 6.169 0 Td -(dl)Tj -0 Tc 1.22 0 Td -[(ocking )-68(pr)18(ovides )-68(a )-68(convenient )-68(mutual-exclusion )-68(mechanism.)-568(If )-68(the)]TJ --9.189 -1.2 Td -[(daemon )-52(obtains )-52(a )-52(write-lock )-52(on )-52(an )-52(entir)]TJ -0.3021 Tc 17.895 0 Td -(e\336)Tj -0 Tc 1.386 0 Td -[(le, )-52(the )-52(lock )-52(will )-52(be )-52(r)18(emoved )-52(automatically )-52(if)]TJ --19.281 -1.2 Td -[(the )-27(daemon )-27(exits.)-527(This )-27(simpli\336es )-27(r)19(ecovery)]TJ -0.2768 Tc 18.837 0 Td -(,e)Tj -0 Tc 1.006 0 Td -[(liminating )-27(the )-27(need )-27(for )-27(us )-27(to )-27(clean )-27(up )-27(fr)20(om)]TJ --19.843 -1.2 Td -[(the pr)18(evious instance of the daemon.)]TJ -/TT1 1 Tf --3.6 -2.64 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.16 Td -[(The )-21(function )-21(shown )-21(in )-21(Figur)]TJ -0.2706 Tc 12.687 0 Td -(e1)Tj -0 Tc 1.25 0 Td -[(3.6 )-21(illustrates )-21(the )-21(use )-21(of )-21(\336le )-21(and )-21(r)20(ecor)]TJ -0.2707 Tc 16.558 0 Td -(dl)Tj -0 Tc 1.173 0 Td -[(ocking )-21(to )-21(ensur)19(e)]TJ --31.668 -1.2 Td -[(that only one copy of a daemon is r)8(unning.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2646.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 255.0684 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(#define LOCKFILE "/var/run/daemon.pid")Tj -0 -1.189 TD -(#define LOCKMODE \(S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH\))Tj -0 -1.902 TD -(extern int lockfile\(int\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46967 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(13.4)]TJ -37.311 0 Td -[(Err)18(or )-250(Logging)]TJ -/T1_1 1 Tf -8.522 0 Td -(469)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -(an also use)Tj -/TT0 1 Tf -5.099 0 Td -(ps)Tj -/T1_0 1 Tf -1.45 0 Td -[(to verify that no active pr)18(ocess exists with ID 13799.)-500(This means that)]TJ --8.631 -1.2 Td -[(our )-84(daemon )-84(is )-84(in )-84(an )-84(orphaned )-84(pr)18(ocess )-84(gr)16(oup )-84(\(Section )-84(9.10\) )-84(and )-84(is )-84(not )-84(a )-84(session )-84(leader)]TJ -0 -1.2 TD -[(and, )-170(ther)18(efor)18(e, )-170(has )-170(no )-170(chance )-170(of )-170(allocating )-170(a )-170(contr)20(olling )-170(terminal.)-670(This )-170(is )-170(a )-170(r)18(esult )-170(of)]TJ -0 -1.2 Td -[(performing )-60(the )-60(second)]TJ -/TT0 1 Tf -10.463 0 Td -(fork)Tj -/T1_0 1 Tf -2.71 0 Td -[(in )-60(the)]TJ -/TT0 1 Tf -2.879 0 Td -(daemonize)Tj -/T1_0 1 Tf -5.71 0 Td -[(function. )-310(W)]TJ -0.3096 Tc 5.425 0 Td -(ec)Tj -0 Tc 1.233 0 Td -[(an )-60(see )-60(that )-60(our )-60(daemon)]TJ --28.419 -1.2 Td -[(has been initialized corr)18(ectly)111(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 6210.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9986 0 0 11.9986 93.5888 583.7299 Tm -[(13.4 )-776(Err)20(or )-278(Log)10(ging)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 559.7328 Tm -[(One )-105(pr)18(oblem )-105(a )-105(daemon )-105(has )-105(is )-105(how )-105(to )-105(handle )-105(err)18(or )-105(messages.)-605(It )-105(can\325t )-105(simply )-105(write )-105(to)]TJ -T* -(standar)Tj -0.4212 Tc 3.32 0 Td -(de)Tj -0 Tc 1.511 0 Td -[(rr)18(or)]TJ -0.4212 Tc 1.639 0 Td -(,s)Tj -0 Tc 1.095 0 Td -[(ince )-171(it )-171(shouldn\325t )-171(have )-171(a )-171(contr)17(olling )-171(terminal.)]TJ --0.092 Tc 21.309 0 Td -[(We )-355(d)]TJ -0 Tc 2.419 0 Td -[(on\325t )-171(want )-171(all )-171(the)]TJ --31.294 -1.2 Td -[(daemons )-244(writing )-244(to )-244(the )-244(console )-244(device, )-244(because )-244(on )-244(many )-244(workstations )-244(the )-244(console)]TJ -T* -[(device )-158(r)8(uns )-158(a )-158(windowing )-158(system.)]TJ --0.092 Tc 16.122 0 Td -[(We )-342(a)]TJ -0 Tc 2.295 0 Td -[(lso )-158(don\325t )-158(want )-158(each )-158(daemon )-158(writing )-158(its )-158(own)]TJ --18.417 -1.2 Td -[(err)18(or )-121(messages )-121(into )-121(a )-121(separate )-121(\336le.)-621(It )-121(would )-121(be )-121(a )-121(headache )-121(for )-121(anyone )-121(administering)]TJ -T* -[(the )-93(system )-93(to )-93(keep )-93(up )-93(with )-93(which )-93(daemon )-93(writes )-93(to )-93(which )-93(log )-93(\336le )-93(and )-93(to )-93(check )-93(these)]TJ -T* -[(\336les on a r)18(egular basis.)]TJ -0.25 Tc 10.57 0 Td -(Ac)Tj -0 Tc 1.472 0 Td -[(entral daemon err)18(or)18(-logging facility is r)18(equir)18(ed.)]TJ -7.999 0 0 7.999 183.5782 465.7441 Tm -[(The )-2(BSD)]TJ -/TT0 1 Tf -4.088 0 Td -(syslog)Tj -/T1_0 1 Tf -3.852 0 Td -[(facility )-2(was )-2(developed )-2(at )-2(Berkeley )-2(and )-2(used )-2(widely )-2(in )-2(4.2BSD.)-502(Most )-2(systems)]TJ --7.94 -1.25 Td -[(derived )-270(fr)18(om )-270(BSD )-270(support)]TJ -/TT0 1 Tf -13.058 0 Td -(syslog)Tj -/T1_0 1 Tf -0.7704 Tc (.U)Tj -0 Tc 5.398 0 Td -[(ntil )-270(SVR4, )-270(System )-270(V )-270(never )-270(had )-270(a )-270(central )-270(daemon)]TJ --18.456 -1.25 Td -[(logging )-272(facility)]TJ -0.7725 Tc 6.821 0 Td -(.T)Tj -0 Tc 1.635 0 Td -(he)Tj -/TT0 1 Tf -1.583 0 Td -(syslog)Tj -/T1_0 1 Tf -4.123 0 Td -[(function )-272(is )-272(included )-272(in )-272(the )-272(XSI )-272(option )-272(in )-272(the )-272(Single )-272(UNIX)]TJ --14.163 -1.25 Td -(Speci\336cation.)Tj -9.9988 0 0 9.9988 147.5829 413.7503 Tm -[(The )-129(BSD)]TJ -/TT0 1 Tf -4.343 0 Td -(syslog)Tj -/T1_0 1 Tf -3.979 0 Td -[(facility )-129(has )-129(been )-129(widely )-129(used )-129(since )-129(4.2BSD.)-629(Most )-129(daemons )-129(use)]TJ --10.122 -1.2 Td -(this facility)Tj -0.5 Tc 4.794 0 Td -(.F)Tj -0 Tc 1.306 0 Td -(igur)Tj -0.25 Tc 1.827 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(3.2 illustrates its str)8(uctur)18(e.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2058 2502 504 216 re -S -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 211.7619 259.1933 Tm -(/dev/log)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2994 2502 504 216 re -S -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 315.9002 264.1766 Tm -(UDP)Tj --0.731 -1.25 Td -(port 514)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -3930 2502 504 216 re -S -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 396.481 259.1622 Tm -(/dev/klog)Tj -ET -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 222.576 271.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 2225.76 2718 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2226.25 2790.25 cm -0 0 m -0 288 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -1973.76 3078 504 288 re -S -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 214.8946 325.3229 Tm -(user)Tj --0.697 -1.25 Td -[(pr)18(ocess)]TJ -/TT0 1 Tf --2.202 -2.075 Td -(syslog)Tj -ET -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 324.6 307.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3246 3078 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 2718.25 cm -0 0 m -0 288 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2994 3078 504 288 re -S -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 307.6707 320.3054 Tm -(syslogd)Tj -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 312 307.8 cm -0 0 m --5.616 -4.824 l --7.2 -1.584 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3120 3078 cm -0 0 m --56.16 -48.24 l --72 -15.84 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2394.25 2718.25 cm -0 0 m -662 328 l -S -Q -Q -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 337.2 307.8 cm -0 0 m -7.344 -1.296 l -5.904 -4.608 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3372 3078 cm -0 0 m -73.44 -12.96 l -59.04 -46.08 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4182.25 2718.25 cm -0 0 m --745 330 l -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 418.2 250.2 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 4182 2502 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4182.25 2430.25 cm -0 0 m -0 -216 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -3930 1962 504 252 re -S -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 406.8278 211.9128 Tm -(kernel)Tj --0.018 Tc -0.423 -1.25 Td -(ro)Tj -0 Tc 0.923 0 Td -(utines)Tj -/TT0 1 Tf --1.159 4 Td -(log)Tj -ET -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 324.6 351 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 3246 3510 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 3366.25 cm -0 0 m -0 72 l -S -Q -Q -BT -/T1_0 1 Tf -7.9947 0 0 7.9947 295.7208 373.3935 Tm -(written to \336le or)Tj --0.981 -1.25 Td -(to logged-in users or)Tj -0.206 -1.25 Td -(sent to another host)Tj --10.477 -13.875 Td -(UNIX domain)Tj --0.51 -1.25 Td -(datagram socket)Tj -11.764 1.25 Td -(Internet domain)Tj --0.064 -1.25 Td -(datagram socket)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 1818.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 1890.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 1962.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 2034.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 2106.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 2178.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 2250.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 2322.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 2394.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 2466.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 2538.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 2610.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 2682.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 2754.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 2826.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1985.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2056.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2127.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2198.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2269.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2340.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2411.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2482.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2553.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2624.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2695.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2766.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2837.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2908.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2979.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3050.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3121.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3192.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3263.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3334.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3406.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3476.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3547.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3619.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3689.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3761.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3832.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3902.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3974.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4044.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4116.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4187.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4257.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4329.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4400.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 2862.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4542.25 2862.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 2790.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 2718.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 2646.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 2574.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 2502.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 2430.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 2358.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 2286.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 2214.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 2142.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 2070.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 1998.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 1926.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 1854.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4506.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4436.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4365.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4293.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4223.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4152.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4080.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4010.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3938.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3868.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3797.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3725.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3655.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3583.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3512.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3442.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3370.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3299.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3228.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3157.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3086.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3015.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2944.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2873.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2802.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2731.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2660.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2589.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2518.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2447.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2376.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2305.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2234.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2163.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2092.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2021.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1950.25 1818.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9942 0 0 7.9942 193.2608 184.9068 Tm -(kernel)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 324.6 228.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 3246 2286 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 2214.25 cm -0 0 m -0 -468 l -S -Q -Q -BT -/T1_0 1 Tf -7.9938 0 0 7.9938 294.6061 167.7091 Tm -(TCP/IP network)Tj -/T1_1 1 Tf --4.61 -2.755 Td -(Figure 13.2)Tj -/T1_0 1 Tf -5.695 0 Td -(The BSD)Tj -/TT0 1 Tf -4.084 0 Td -(syslog)Tj -/T1_0 1 Tf -3.85 0 Td -(facility)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46968 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(466)Tj -/T1_1 1 Tf -3.5 0 Td -[(Daemon )-250(Pr)18(ocesses )]TJ -38.741 0 Td -[(Chapter)-500(13)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(13.3 )-776(Coding)-556(Rules)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(Some )-104(basic )-104(r)8(ules )-104(to )-104(coding )-104(a )-104(daemon )-104(pr)18(event )-104(unwanted )-104(interactions )-104(fr)19(om )-104(happening.)]TJ --0.092 Tc 0 -1.2 TD -[(We )-205(s)]TJ -0 Tc 2.082 0 Td -[(tate )-21(these )-21(r)8(ules )-21(her)]TJ -0.2707 Tc 8.355 0 Td -(ea)Tj -0 Tc 1.25 0 Td -[(nd )-21(then )-21(show )-21(a )-21(function,)]TJ -/TT1 1 Tf -11.358 0 Td -(daemonize)Tj -/T1_1 1 Tf -0.2707 Tc (,t)Tj -0 Tc 6.247 0 Td -[(hat )-21(implements )-21(them.)]TJ --27.492 -2.04 Td -[(1. )-633(Call)]TJ -/TT1 1 Tf -3.716 0 Td -(umask)Tj -/T1_1 1 Tf -3.292 0 Td -[(to )-42(set )-42(the )-42(\336le )-42(mode )-42(cr)17(eation )-42(mask )-42(to )-42(a )-42(known )-42(value, )-42(usually )-42(0.)-544(The)]TJ --5.375 -1.2 Td -[(inherited )-112(\336le )-112(mode )-112(cr)18(eation )-112(mask )-112(could )-112(be )-112(set )-112(to )-112(deny )-112(certain )-112(permissions.)-614(If)]TJ -T* -[(the )-140(daemon )-140(pr)18(ocess )-140(cr)18(eates )-140(\336les, )-140(it )-140(may )-140(want )-140(to )-140(set )-140(speci\336c )-140(permissions.)-642(For)]TJ -T* -[(example, )-26(if )-26(it )-26(cr)18(eates )-26(\336les )-26(with )-26(gr)19(oup-r)18(ead )-26(and )-26(gr)18(oup-write )-26(enabled, )-26(a )-26(\336le )-26(mode)]TJ -T* -[(cr)18(eation )-84(mask )-84(that )-84(turns )-84(of)]TJ -0.3337 Tc 12.167 0 Td -(fe)Tj -0 Tc 1.146 0 Td -[(ither )-84(of )-84(these )-84(permissions )-84(would )-84(undo )-84(its )-84(ef)20(forts.)]TJ --13.313 -1.2 Td -[(On )-30(the )-30(other )-30(hand, )-30(if )-30(the )-30(daemon )-30(calls )-30(library )-30(functions )-30(that )-30(r)19(esult )-30(in )-30(\336les )-30(being)]TJ -T* -[(cr)18(eated, )-154(then )-154(it )-154(might )-154(make )-154(sense )-154(to )-154(set )-154(the )-154(\336le )-154(mode )-154(cr)18(eate )-154(mask )-154(to )-154(a )-154(mor)14(e)]TJ --0.018 Tc 0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(strictive )-140(value )-140(\(such )-140(as )-140(007\), )-140(since )-140(the )-140(library )-140(functions )-140(might )-140(not )-140(allow )-140(the)]TJ --0.856 -1.2 Td -[(caller to specify the permissions thr)18(ough an explicit ar)18(gument.)]TJ --1.633 -1.6 Td -[(2. )-633(Call)]TJ -/TT1 1 Tf -3.869 0 Td -(fork)Tj -/T1_1 1 Tf -2.845 0 Td -[(and )-195(have )-195(the )-195(par)17(ent)]TJ -/TT1 1 Tf -9.852 0 Td -(exit)Tj -/T1_1 1 Tf -0.6952 Tc (.T)Tj -0 Tc 3.958 0 Td -[(his )-195(does )-195(several )-195(things.)-696(First, )-195(if )-195(the)]TJ --18.891 -1.2 Td -[(daemon )-150(was )-150(started )-150(as )-150(a )-150(simple )-150(shell )-150(command, )-150(having )-150(the )-150(par)18(ent )-150(terminate)]TJ -T* -[(makes )-68(the )-68(shell )-68(think )-68(that )-68(the )-68(command )-68(is )-68(done.)-565(Second, )-68(the )-68(child )-68(inherits )-68(the)]TJ -T* -[(pr)18(ocess )-77(gr)18(oup )-77(ID )-77(of )-77(the )-77(par)18(ent )-77(but )-77(gets )-77(a )-77(new )-77(pr)18(ocess )-77(ID, )-77(so )-77(we\325r)]TJ -0.3272 Tc 29.73 0 Td -(eg)Tj -0 Tc 1.362 0 Td -(uaranteed)Tj --31.092 -1.2 Td -[(that )-58(the )-58(child )-58(is )-58(not )-58(a )-58(pr)18(ocess )-58(gr)18(oup )-58(leader)]TJ -0.558 Tc 19.132 0 Td -(.T)Tj -0 Tc 1.421 0 Td -[(his )-58(is )-58(a )-58(pr)18(er)18(equisite )-58(for )-58(the )-58(call )-58(to)]TJ -/TT1 1 Tf --20.553 -1.2 Td -(setsid)Tj -/T1_1 1 Tf -3.85 0 Td -(that is done next.)Tj --5.483 -1.6 Td -[(3. )-633(Call)]TJ -/TT1 1 Tf -3.718 0 Td -(setsid)Tj -/T1_1 1 Tf -3.894 0 Td -[(to )-44(cr)18(eate )-44(a )-44(new )-44(session.)-544(The )-44(thr)17(ee )-44(steps )-44(listed )-44(in )-44(Section )-44(9.5 )-44(occur)74(.)]TJ --5.979 -1.2 Td -[(The )-33(pr)18(ocess )-33(\(a\) )-33(becomes )-33(the )-33(leader )-33(of )-33(a )-33(new )-33(session, )-33(\(b\) )-33(becomes )-33(the )-33(leader )-33(of )-33(a)]TJ -T* -[(new pr)18(ocess gr)18(oup, and \(c\) is disassociated fr)18(om its contr)18(olling terminal.)]TJ -7.9995 0 0 7.9995 201.5874 380.5772 Tm -[(Under )-233(System )-233(V\320based )-233(systems, )-233(some )-233(people )-233(r)19(ecommend )-233(calling)]TJ -/TT1 1 Tf -31.024 0 Td -(fork)Tj -/T1_1 1 Tf -2.883 0 Td -[(again )-233(at )-233(this)]TJ --33.907 -1.25 Td -[(point, )-102(terminating )-102(the )-102(par)18(ent, )-102(and )-102(continuing )-102(the )-102(daemon )-102(in )-102(the )-102(child.)-602(This )-102(guarantees)]TJ -0 -1.25 TD -[(that )-134(the )-134(daemon )-134(is )-134(not )-134(a )-134(session )-134(leader)]TJ -0.3844 Tc 17.933 0 Td -(,w)Tj -0 Tc 1.468 0 Td -[(hich )-134(pr)18(events )-134(it )-134(fr)18(om )-134(acquiring )-134(a )-134(contr)16(olling)]TJ --19.402 -1.25 Td -[(terminal )-261(under )-261(the )-261(System )-261(V )-261(r)8(ules )-261(\(Section )-261(9.6\).)-761(Alternatively)111(,)-511(to)-511(avoid )-261(acquiring )-261(a)]TJ --0 -1.25 Td -[(contr)18(olling terminal, be sur)18(e)-250(to)-250(specify)]TJ -/TT1 1 Tf -17.244 0 Td -(O_NOCTTY)Tj -/T1_1 1 Tf -5.05 0 Td -(whenever opening a terminal device.)Tj -9.9994 0 0 9.9994 147.5901 318.5809 Tm -[(4. )-633(Change)-643(the )-393(curr)18(ent )-393(working )-393(dir)18(ectory )-393(to )-393(the )-393(r)18(oot )-393(dir)16(ectory)]TJ -0.8933 Tc 30.533 0 Td -(.T)Tj -0 Tc 1.756 0 Td -[(he )-393(curr)18(ent)]TJ --30.657 -1.2 Td -[(working )-38(dir)18(ectory )-38(inherited )-38(fr)18(om )-38(the )-38(par)20(ent )-38(could )-38(be )-38(on )-38(a )-38(mounted )-38(\336le )-38(system.)]TJ -0 -1.2 TD -[(Since )-70(daemons )-70(normally )-70(exist )-70(until )-70(the )-70(system )-70(is )-70(r)18(ebooted, )-70(if )-70(the )-70(daemon )-70(stays)]TJ -T* -(on a mounted \336le system, that \336le system cannot be unmounted.)Tj -0 -1.8 TD -(Alternatively)Tj -0.3681 Tc 5.748 0 Td -(,s)Tj -0 Tc 1.042 0 Td -[(ome )-118(daemons )-118(might )-118(change )-118(the )-118(curr)18(ent )-118(working )-118(dir)18(ectory )-118(to )-118(a)]TJ --6.79 -1.2 Td -[(speci\336c )-96(location )-96(wher)]TJ -0.3463 Tc 9.779 0 Td -(et)Tj -0 Tc 1.151 0 Td -[(hey )-96(will )-96(do )-96(all )-96(their )-96(work.)-596(For )-96(example, )-96(a )-96(line )-96(printer)]TJ --10.93 -1.2 Td -[(spooling daemon might change its working dir)18(ectory to its spool dir)18(ectory)111(.)]TJ --1.633 -1.6 Td -[(5. )-633(Unneeded)-440(\336le )-190(descriptors )-190(should )-190(be )-190(closed.)-690(This )-190(pr)18(events )-190(the )-190(daemon )-190(fr)17(om)]TJ -1.633 -1.2 Td -[(holding )-64(open )-64(any )-64(descriptors )-64(that )-64(it )-64(may )-64(have )-64(inherited )-64(fr)18(om )-64(its )-64(par)22(ent )-63(\(which)]TJ -0 -1.2 TD -[(could )-156(be )-156(a )-156(shell )-156(or )-156(some )-156(other )-156(pr)20(ocess\). )-406(W)]TJ -0.4057 Tc 19.977 0 Td -(ec)Tj -0 Tc 1.329 0 Td -[(an )-156(use )-156(our)]TJ -/TT1 1 Tf -5.349 0 Td -(open_max)Tj -/T1_1 1 Tf -5.206 0 Td -(function)Tj --31.86 -1.2 Td -(\(Figur)Tj -0.2979 Tc 2.716 0 Td -(e2)Tj -0 Tc 1.277 0 Td -[(.17\) )-48(or )-48(the)]TJ -/TT1 1 Tf -4.805 0 Td -(getrlimit)Tj -/T1_1 1 Tf -5.698 0 Td -[(function )-48(\(Section )-48(7.1)55(1\) )-48(to )-48(determine )-48(the )-48(highest)]TJ --14.495 -1.2 Td -(descriptor and close all descriptors up to that value.)Tj --1.633 -1.6 Td -[(6. )-633(Some)-483(daemons )-233(open )-233(\336le )-233(descriptors )-233(0, )-233(1, )-233(and )-233(2 )-233(to)]TJ -/TT1 1 Tf -26.008 0 Td -(/dev/null)Tj -/T1_1 1 Tf -5.883 0 Td -[(so )-233(that )-233(any)]TJ --30.258 -1.2 Td -[(library )-24(r)18(outines )-24(that )-24(try )-24(to )-24(r)18(ead )-24(fr)18(om )-24(standar)]TJ -0.2739 Tc 19.836 0 Td -(di)Tj -0 Tc 1.176 0 Td -[(nput )-24(or )-24(write )-24(to )-24(standar)]TJ -0.2739 Tc 10.666 0 Td -(do)Tj -0 Tc 1.431 0 Td -(utput)Tj --33.108 -1.2 Td -[(or )-43(standar)]TJ -0.2935 Tc 4.554 0 Td -(de)Tj -0 Tc 1.384 0 Td -[(rr)18(or )-43(will )-43(have )-43(no )-43(ef)16(fect. )-294(Since)-293(the )-44(daemon )-44(is )-44(not )-44(associated )-44(with )-44(a)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46969 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(13)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Daemon )-280(Pr)15(ocesses)]TJ -/TT0 1 Tf -12 0 0 12 93.6 434.4 Tm -[(13.1 )-776(Intr)20(oduction)]TJ -/T1_2 1 Tf -10 0 0 10 129.6 410.4 Tm -[(Daemons )-3(ar)]TJ -0.2534 Tc 5.318 0 Td -(ep)Tj --0.018 Tc 1.333 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cesses )-3(that )-3(live )-3(for )-3(a )-3(long )-3(time.)-503(They )-3(ar)]TJ -0.2534 Tc 17.396 0 Td -(eo)Tj -0 Tc 1.278 0 Td -[(ften )-3(started )-3(when )-3(the )-3(system)]TJ --26.249 -1.2 Td -[(is )-53(bootstrapped )-53(and )-53(terminate )-53(only )-53(when )-53(the )-53(system )-53(is )-53(shut )-53(down.)-553(Because )-53(they )-53(don\325t)]TJ -0 -1.2 TD -[(have )-157(a )-157(contr)18(olling )-157(terminal, )-157(we )-157(say )-157(that )-157(they )-157(r)8(un )-157(in )-157(the )-157(backgr)22(ound. )-407(UNIX)-406(systems)]TJ -T* -[(have numer)18(ous daemons that perform day-to-day activities.)]TJ -1.8 -1.2 Td -[(In )-158(this )-158(chapter)75(,)-408(we)-408(l)1(ook )-158(at )-158(the )-158(pr)18(ocess )-158(str)10(uctur)18(e)-408(of)-408(d)1(aemons )-157(and )-157(explor)]TJ -0.4075 Tc 33.072 0 Td -(eh)Tj -0 Tc 1.469 0 Td -[(ow )-157(to)]TJ --36.341 -1.2 Td -[(write )-81(a )-81(daemon.)-581(Since )-81(a )-81(daemon )-81(does )-81(not )-81(have )-81(a )-81(contr)18(olling )-81(terminal, )-81(we )-81(need )-81(to )-81(see)]TJ -T* -[(how a daemon can r)18(eport err)18(or conditions when something goes wr)18(ong.)]TJ -8 0 0 8 183.6007 318.4 Tm -[(For )-173(a )-173(discussion )-173(of )-173(the )-173(historical )-173(backgr)19(ound )-173(of )-173(the )-173(term)]TJ -/T1_3 1 Tf -26.898 0 Td -(daemon)Tj -/T1_2 1 Tf -3.534 0 Td -[(as )-173(it )-173(applies )-173(to )-173(computer)]TJ --30.432 -1.25 Td -(systems, see Raymond)Tj -10.244 0.04 Td -([)Tj -0.333 -0.04 Td -(1996)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -(.)Tj -/TT0 1 Tf -12 0 0 12 93.6006 266.4 Tm -[(13.2 )-776(Daemon)-556(Characteristics)]TJ -/T1_2 1 Tf -10 0 0 10 129.6006 242.4 Tm -[(Let\325s )-161(look )-161(at )-161(some )-161(common )-161(system )-161(daemons )-161(and )-161(how )-161(they )-161(r)18(elate )-161(to )-161(the )-161(concepts )-161(of)]TJ -T* -[(pr)18(ocess )-28(gr)18(oups, )-28(contr)18(olling )-28(terminals, )-28(and )-28(sessions )-28(that )-28(we )-28(described )-28(in )-28(Chapter )-28(9.)-527(The)]TJ -/TT1 1 Tf -0 -1.2 Td -(ps)Tj -/T1_2 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.867 -0.04 Td -[(command )-284(prints )-284(the )-284(status )-284(of )-284(various )-284(pr)18(ocesses )-284(in )-284(the )-284(system.)-780(Ther)]TJ -0.5337 Tc 32.698 0 Td -(ea)Tj --0.018 Tc 1.513 0 Td -[(re )-320(a)]TJ -0 Tc -37.11 -1.2 Td -(multitude of options)Tj -0.0833 Tc 9.191 0 Td -(\321c)Tj -0 Tc 1.527 0 Td -(onsult your system\325s manual for all the details.)Tj --0.092 Tc 21.19 0 Td -(We)Tj -0 Tc 1.387 0 Td -(\325ll execute)Tj -/TT1 1 Tf -9 0 0 9 147.6008 189.7 Tm -(ps -axj)Tj -/T1_2 1 Tf -10 0 0 10 129.6008 171.7 Tm -[(under )-113(BSD)]TJ -4.943 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-112(systems )-112(to )-112(see )-112(the )-112(information )-112(we )-112(need )-112(for )-112(this )-112(discussion.)-617(The)]TJ -/TT1 1 Tf -32.524 0 Td -(-a)Tj -/T1_2 1 Tf --37.8 -1.2 Td -[(option )-168(shows )-168(the )-168(status )-168(of )-168(pr)18(ocesses )-168(owned )-168(by )-168(others, )-168(and)]TJ -/TT1 1 Tf -27.804 0 Td -(-x)Tj -/T1_2 1 Tf -1.618 0 Td -[(shows )-168(pr)18(ocesses )-168(that)]TJ --29.422 -1.2 Td -[(don\325t )-100(have )-100(a )-100(contr)19(olling )-100(terminal.)-599(The)]TJ -/TT1 1 Tf -17.821 0 Td -(-j)Tj -/T1_2 1 Tf -1.55 0 Td -[(option )-100(displays )-100(the )-100(job-r)18(elated )-100(information:)]TJ --19.37 -1.2 Td -[(the )-94(session )-94(ID, )-94(pr)17(ocess )-95(gr)18(oup )-95(ID, )-95(contr)18(olling )-95(terminal, )-95(and )-95(terminal )-95(pr)18(ocess )-95(gr)18(oup )-95(ID.)]TJ -/T1_4 1 Tf -9 0 0 9 506.1009 114 Tm -(463)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46970 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(462)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -8.9995 0 0 8.9995 172.5896 670.2598 Tm -(Thread A)Tj -19.444 0 Td -(Thread B)Tj -/TT0 1 Tf --22.222 -1.189 Td -[(lseek\(fd, 300, SEEK_SET\);)-4444(lseek\(fd, 700, SEEK_SET\);)]TJ -0 -1.189 TD -(read\(fd, buf1, 100\);)Tj -19.444 0 Td -(read\(fd, buf2, 100\);)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 628.7225 Tm -[(If )-101(thr)18(ead )-101(A )-101(executes )-101(the )-101(call )-101(to)]TJ -/TT0 1 Tf -14.319 0 Td -(lseek)Tj -/T1_1 1 Tf -3.351 0 Td -[(and )-101(then )-101(thr)18(ead )-101(B )-101(calls)]TJ -/TT0 1 Tf -10.855 0 Td -(lseek)Tj -/T1_1 1 Tf -3.351 0 Td -(befor)Tj -0.3515 Tc 2.288 0 Td -(et)Tj -0 Tc 1.156 0 Td -[(hr)18(ead )-101(A)]TJ --35.321 -1.2 Td -(calls)Tj -/TT0 1 Tf -2.325 0 Td -(read)Tj -/T1_1 1 Tf -0.3754 Tc (,t)Tj -0 Tc 3.351 0 Td -[(hen )-125(both )-125(thr)18(eads )-125(will )-125(end )-125(up )-125(r)16(eading )-125(the )-125(same )-125(r)17(ecor)18(d. )-375(Clearly)]TJ -0.3753 Tc 28.799 0 Td -(,t)Tj -0 Tc 0.951 0 Td -[(his )-125(isn\325t)]TJ --35.427 -1.2 Td -(what was intended.)Tj --0.092 Tc 1.8 -1.2 Td -[(To )-275(s)]TJ -0 Tc 1.832 0 Td -[(olve )-91(this )-91(pr)18(oblem, )-91(we )-91(can )-91(use)]TJ -/TT0 1 Tf -13.873 0 Td -(pread)Tj -/T1_1 1 Tf -3.341 0 Td -[(to )-91(make )-91(the )-91(setting )-91(of )-91(the )-91(of)20(fset )-91(and )-91(the)]TJ --0.018 Tc -20.845 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(ading of the data one atomic operation.)Tj -/T1_0 1 Tf -8.9995 0 0 8.9995 172.5906 561.8863 Tm -(Thread A)Tj -19.444 0 Td -(Thread B)Tj -/TT0 1 Tf --22.222 -1.189 Td -[(pread\(fd, buf1, 100, 300\);)-3844(pread\(fd, buf2, 100, 700\);)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5932 531.0483 Tm -(Using)Tj -/TT0 1 Tf -2.884 0 Td -(pread)Tj -/T1_1 1 Tf -[(,)-253(we)-253(c)1(an )-3(ensur)]TJ -0.2526 Tc 9.312 0 Td -(et)Tj -0 Tc 1.058 0 Td -[(hat )-2(thr)18(ead )-2(A )-2(r)18(eads )-2(the )-2(r)16(ecor)18(d)-252(at)-252(o)]TJ --0.018 Tc 14.813 0 Td -(ff)Tj -0 Tc 0.648 0 Td -[(set )-2(300, )-2(wher)18(eas )-2(thr)17(ead)]TJ -0.2848 Tc -28.714 -1.2 Td -(Br)Tj -0 Tc 1.273 0 Td -[(eads )-35(the )-35(r)18(ecor)]TJ -0.2848 Tc 6.194 0 Td -(da)Tj -0.2849 Tc 1.396 0 Td -(to)Tj --0.018 Tc 1.157 0 Td -(ff)Tj -0 Tc 0.648 0 Td -[(set )-35(700.)]TJ --0.092 Tc 3.799 0 Td -[(We )-219(c)]TJ -0 Tc 2.116 0 Td -[(an )-35(use)]TJ -/TT0 1 Tf -3.158 0 Td -(pwrite)Tj -/T1_1 1 Tf -3.885 0 Td -[(to )-35(solve )-35(the )-35(pr)18(oblem )-35(of )-35(concurr)19(ent)]TJ --23.625 -1.2 Td -[(thr)18(eads writing to the same \336le.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5953 471.0519 Tm -[(12.11 )-220(Summar)-10(y)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5931 449.4532 Tm -[(Thr)18(eads )-376(pr)18(ovide )-376(an )-376(alternative )-376(model )-376(for )-376(partitioning )-376(concurr)18(ent )-376(tasks )-376(in )-376(UNIX)]TJ -0 -1.2 TD -[(systems. )-317(They)-317(pr)18(omote )-67(sharing )-67(among )-67(separate )-67(thr)18(eads )-67(of )-67(contr)18(ol, )-67(but )-67(pr)18(esent )-67(unique)]TJ -T* -[(synchr)18(onization )-222(pr)18(oblems. )-472(In)-473(this )-222(chapter)74(,)-472(we)-472(l)-1(ooked )-222(at )-222(how )-222(we )-222(can )-222(\336ne-tune )-222(our)]TJ --0 -1.2 Td -[(thr)18(eads )-168(and )-168(their )-168(synchr)19(onization )-168(primitives.)]TJ --0.092 Tc 21.329 0 Td -[(We )-352(d)]TJ -0 Tc 2.416 0 Td -[(iscussed )-168(r)18(eentrancy )-168(with )-168(thr)19(eads.)]TJ --0.092 Tc -23.744 -1.2 Td -[(We )-184(a)]TJ -0 Tc 2.137 0 Td -[(lso looked at how thr)18(eads interact with some of the pr)18(ocess-oriented system calls.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 129.5927 361.8585 Tm -[(Ex)10(er)20(cises)]TJ -/T1_0 1 Tf -8.9995 0 0 8.9995 129.5927 340.8597 Tm -(12.1)Tj -/T1_1 1 Tf -3.065 0 Td -[(Run )-155(the )-155(pr)18(ogram )-155(in )-155(Figur)]TJ -0.4053 Tc 11.975 0 Td -(e1)Tj -0 Tc 1.384 0 Td -[(2.17 )-155(on )-155(a )-155(Linux )-155(system, )-155(but )-155(r)17(edir)18(ect )-155(the )-155(output )-155(into )-155(a )-155(\336le.)]TJ --13.36 -1.222 Td -[(Explain the r)18(esults.)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(12.2)Tj -/T1_1 1 Tf -3.065 0 Td -(Implement)Tj -/TT0 1 Tf -5.796 0 Td -(putenv_r)Tj -/T1_1 1 Tf -0.9352 Tc (,ar)Tj -0 Tc 7.797 0 Td -[(eentrant )-685(version )-685(of)]TJ -/TT0 1 Tf -10.636 0 Td -(putenv)Tj -/T1_1 1 Tf -1.1852 Tc (.M)Tj -0 Tc 5.981 0 Td -[(ake )-685(sur)]TJ -0.9352 Tc 3.874 0 Td -(et)Tj -0 Tc 1.74 0 Td -[(hat )-685(your)]TJ --35.825 -1.222 Td -[(implementation is async-signal safe as well as thr)18(ead-safe.)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(12.3)Tj -/T1_1 1 Tf -3.065 0 Td -[(Can )-101(you )-101(make )-101(the)]TJ -/TT0 1 Tf -8.704 0 Td -(getenv)Tj -/T1_1 1 Tf -3.951 0 Td -[(function )-101(shown )-101(in )-101(Figur)]TJ -0.3508 Tc 10.983 0 Td -(e1)Tj -0 Tc 1.33 0 Td -[(2.13 )-101(async-signal )-101(safe )-101(by )-101(blocking)]TJ --24.968 -1.222 Td -[(signals )-198(at )-198(the )-198(beginning )-198(of )-198(the )-198(function )-198(and )-198(r)17(estoring )-198(the )-198(pr)18(evious )-198(signal )-198(mask )-198(befor)17(e)]TJ --0.018 Tc 0 -1.222 TD -(re)Tj -0 Tc 0.856 0 Td -[(turning? )-250(Explain.)]TJ -/T1_0 1 Tf --3.921 -1.667 Td -(12.4)Tj -/T1_1 1 Tf --0.074 Tc 3.065 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-2(a )-2(pr)18(ogram )-2(to )-2(exer)18(cise )-2(the )-2(version )-2(of)]TJ -/TT0 1 Tf -17.38 0 Td -(getenv)Tj -/T1_1 1 Tf -3.852 0 Td -[(fr)18(om )-2(Figur)]TJ -0.2521 Tc 4.774 0 Td -(e1)Tj -0 Tc 1.231 0 Td -[(2.13. )-252(Compile)-252(and )-2(r)8(un )-2(the)]TJ --28.558 -1.222 Td -[(pr)18(ogram on Fr)18(eeBSD. )-250(What)-250(happens? )-250(Explain.)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(12.5)Tj -/T1_1 1 Tf -3.065 0 Td -[(Given )-128(that )-128(you )-128(can )-128(cr)18(eate )-128(multiple )-128(thr)19(eads )-128(to )-128(perform )-128(dif)18(fer)18(ent )-128(tasks )-128(within )-128(a )-128(pr)18(ogram,)]TJ -0 -1.222 Td -(explain why you might still need to use)Tj -/TT0 1 Tf -17.727 0 Td -(fork)Tj -/T1_1 1 Tf -(.)Tj -/T1_0 1 Tf --20.792 -1.667 Td -(12.6)Tj -/T1_1 1 Tf -3.065 0 Td -[(Reimplement )-501(the )-501(pr)18(ogram )-501(in )-501(Figur)]TJ -0.751 Tc 17.467 0 Td -(e1)Tj -0 Tc 1.73 0 Td -[(0.29 )-501(to )-501(make )-501(it )-501(thr)18(ead-safe )-501(without )-501(using)]TJ -/TT0 1 Tf --19.197 -1.222 Td -(nanosleep)Tj -/T1_1 1 Tf -5.65 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(clock_nanosleep)Tj -/T1_1 1 Tf -(.)Tj -/T1_0 1 Tf --9.906 -1.667 Td -(12.7)Tj -/T1_1 1 Tf -3.065 0 Td -[(After )-42(calling)]TJ -/TT0 1 Tf -5.85 0 Td -(fork)Tj -/T1_1 1 Tf -0.2919 Tc (,c)Tj -0 Tc 3.386 0 Td -[(ould )-42(we )-42(safely )-42(r)18(einitialize )-42(a )-42(condition )-42(variable )-42(in )-42(the )-42(child )-42(pr)18(ocess )-42(by)]TJ --9.236 -1.222 Td -[(\336rst )-612(destr)18(oying )-612(the )-612(condition )-612(variable )-612(with)]TJ -/TT0 1 Tf -22.882 0 Td -(pthread_cond_destroy)Tj -/T1_1 1 Tf -12.862 0 Td -[(and )-612(then)]TJ --35.744 -1.222 Td -(initializing it with)Tj -/TT0 1 Tf -8.192 0 Td -(pthread_cond_init)Tj -/T1_1 1 Tf -(?)Tj -/T1_0 1 Tf --11.257 -1.667 Td -(12.8)Tj -/T1_1 1 Tf -3.065 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(timeout)Tj -/T1_1 1 Tf -4.45 0 Td -(function in Figur)Tj -0.25 Tc 7.463 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(2.8 can be simpli\336ed substantially)Tj -0.5 Tc 14.84 0 Td -(.E)Tj -0 Tc 1.361 0 Td -[(xplain how)92(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46971 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.10)]TJ -35.825 0 Td -[(Thr)18(eads )-250(and )-250(I/O)]TJ -/T1_1 1 Tf -10.008 0 Td -(461)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(In )-294(Figur)]TJ -0.5436 Tc 3.846 0 Td -(e1)Tj -0 Tc 1.523 0 Td -[(2.17, )-294(we )-294(de\336ne )-294(two )-294(mutexes,)]TJ -/TT0 1 Tf -14.453 0 Td -(lock1)Tj -/T1_0 1 Tf -3.544 0 Td -(and)Tj -/TT0 1 Tf -2.237 0 Td -(lock2)Tj -/T1_0 1 Tf -0.7936 Tc (.T)Tj -0 Tc 4.657 0 Td -(he)Tj -/T1_2 1 Tf -1.604 0 Td -[(pr)18(epar)18(e)]TJ -/T1_0 1 Tf -3.508 0 Td -(fork)Tj --37.17 -1.2 Td -[(handler )-126(acquir)18(es )-126(them )-126(both, )-126(the)]TJ -/T1_2 1 Tf -14.913 0 Td -(child)Tj -/T1_0 1 Tf -2.339 0 Td -[(fork )-126(handler )-126(r)18(eleases )-126(them )-126(in )-126(the )-126(context )-126(of )-126(the)]TJ --17.252 -1.2 Td -[(child )-176(pr)18(ocess, )-176(and )-176(the)]TJ -/T1_2 1 Tf -10.547 0 Td -[(par)18(ent)]TJ -/T1_0 1 Tf -3.019 0 Td -[(fork )-176(handler )-176(r)18(eleases )-176(them )-176(in )-176(the )-176(context )-176(of )-176(the )-176(par)21(ent)]TJ --13.566 -1.2 Td -[(pr)18(ocess.)]TJ -1.8 -1.2 Td -[(When we r)8(un this pr)18(ogram, we get the following output:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5913 604.2637 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(thread started...)Tj -0 -1.189 TD -(parent about to fork...)Tj -T* -(preparing locks...)Tj -T* -(child unlocking locks...)Tj -0 -1.189 TD -(child returned from fork)Tj -0 -1.189 TD -(parent unlocking locks...)Tj -T* -(parent returned from fork)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5924 511.3693 Tm -[(As )-67(we )-67(can )-67(see, )-67(the)]TJ -/T1_2 1 Tf -8.646 0 Td -[(pr)18(epar)18(e)]TJ -/T1_0 1 Tf -3.281 0 Td -[(fork )-67(handler )-67(r)8(uns )-67(after)]TJ -/TT0 1 Tf -10.568 0 Td -(fork)Tj -/T1_0 1 Tf -2.717 0 Td -[(is )-67(called, )-67(the)]TJ -/T1_2 1 Tf -5.92 0 Td -(child)Tj -/T1_0 1 Tf -2.28 0 Td -[(fork )-67(handler)]TJ --0.008 Tc -33.413 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(ns )-165(befor)18(e)]TJ -/TT0 1 Tf -4.604 0 Td -(fork)Tj -/T1_0 1 Tf --0.018 Tc 2.816 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-165(in )-165(the )-165(child, )-165(and )-165(the)]TJ -/T1_2 1 Tf -12.631 0 Td -[(par)18(ent)]TJ -/T1_0 1 Tf -3.008 0 Td -[(fork )-165(handler )-165(r)8(uns )-165(befor)17(e)]TJ -/TT0 1 Tf -11.695 0 Td -(fork)Tj -/T1_0 1 Tf --0.018 Tc -36.6 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns in the par)18(ent.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4874.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 463.3444 Tm -[(Although )-283(the)]TJ -/TT0 1 Tf -6.716 0 Td -(pthread_atfork)Tj -/T1_0 1 Tf -8.933 0 Td -[(mechanism )-283(is )-283(intended )-283(to )-283(make )-283(locking )-283(state)]TJ --17.449 -1.2 Td -[(consistent )-156(after )-156(a)]TJ -/TT0 1 Tf -8.174 0 Td -(fork)Tj -/T1_0 1 Tf -[(,)-406(it)-406(has )-156(several )-156(drawbacks )-156(that )-156(make )-156(it )-156(usable )-156(in )-156(only )-156(limited)]TJ --8.174 -1.2 Td -[(cir)18(cumstances:)]TJ -0.883 Tc 1.8 -1.8 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(her)18(e)-311(is)-311(no)-311(g)1(ood )-61(way )-61(to )-61(r)19(einitialize )-61(the )-61(state )-61(for )-61(mor)]TJ -0.3107 Tc 23.109 0 Td -(ec)Tj -0 Tc 1.234 0 Td -[(omplex )-61(synchr)18(onization)]TJ --24.955 -1.2 Td -(objects such as condition variables and barriers.)Tj -0.883 Tc -1.489 -1.6 Td -(\245S)Tj -0 Tc 2.014 0 Td -[(ome )-59(implementations )-59(of )-59(err)18(or)18(-checking )-59(mutexes )-59(will )-59(generate )-59(err)18(ors )-59(when )-59(the)]TJ --0.525 -1.2 Td -[(child fork handler tries to unlock a mutex that was locked by the par)18(ent.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245R)Tj -0 Tc 2.157 0 Td -[(ecursive )-22(mutexes )-22(can\325t )-22(be )-22(cleaned )-22(up )-22(in )-22(the )-22(child )-22(fork )-22(handler)]TJ -0.272 Tc 27.537 0 Td -(,b)Tj -0 Tc 1.075 0 Td -[(ecause )-22(ther)]TJ -0.272 Tc 4.965 0 Td -(ei)Tj -0 Tc 1.042 0 Td -(s)Tj --35.287 -1.2 Td -(no way to determine the number of times one has been locked.)Tj -0.883 Tc -1.489 -1.6 Td -(\245I)Tj -0.3655 Tc 1.826 0 Td -(fc)Tj -0 Tc 1.143 0 Td -[(hild )-115(pr)18(ocesses )-116(ar)]TJ -0.3656 Tc 7.581 0 Td -(ea)Tj -0 Tc 1.345 0 Td -[(llowed )-116(to )-116(call )-116(only )-116(async-signal )-116(safe )-116(functions, )-116(then )-116(the)]TJ --10.405 -1.2 Td -[(child )-137(fork )-137(handler )-137(shouldn\325t )-137(even )-137(be )-137(able )-137(to )-137(clean )-137(up )-137(synchr)13(onization )-137(objects,)]TJ -0 -1.2 TD -[(because )-33(none )-33(of )-33(the )-33(functions )-33(that )-33(ar)]TJ -0.2833 Tc 16.378 0 Td -(eu)Tj -0 Tc 1.365 0 Td -[(sed )-33(to )-33(manipulate )-33(them )-33(ar)]TJ -0.2833 Tc 11.722 0 Td -(ea)Tj -0 Tc 1.262 0 Td -(sync-signal)Tj --30.728 -1.2 Td -[(safe. )-499(The)-500(practical )-249(pr)18(oblem )-249(is )-249(that )-249(a )-249(synchr)18(onization )-249(object )-249(might )-249(be )-249(in )-249(an)]TJ -T* -[(intermediate )-137(state )-137(when )-137(one )-137(thr)18(ead )-137(calls)]TJ -/TT0 1 Tf -18.931 0 Td -(fork)Tj -/T1_0 1 Tf -0.3875 Tc (,b)Tj -0 Tc 3.591 0 Td -[(ut )-137(the )-137(synchr)18(onization )-137(object)]TJ --22.521 -1.2 Td -(can\325t be cleaned up unless it is in a consistent state.)Tj -0.883 Tc -1.489 -1.6 Td -(\245I)Tj -0 Tc 1.826 0 Td -[(f)-317(an)-317(application )-67(calls)]TJ -/TT0 1 Tf -9.605 0 Td -(fork)Tj -/T1_0 1 Tf -2.717 0 Td -[(in )-67(a )-67(signal )-67(handler )-67(\(which )-67(is )-67(legal, )-67(because)]TJ -/TT0 1 Tf -19.621 0 Td -(fork)Tj -/T1_0 1 Tf -2.717 0 Td -(is)Tj --34.996 -1.2 Td -[(async-signal )-130(safe\), )-130(then )-130(the )-130(fork )-130(handlers )-130(r)15(egister)18(ed )-131(by)]TJ -/TT0 1 Tf -25.404 0 Td -(pthread_atfork)Tj -/T1_0 1 Tf -8.781 0 Td -(can)Tj --34.185 -1.2 Td -[(call only async-signal safe functions, or else the r)18(esults ar)]TJ -0.25 Tc 25.153 0 Td -(eu)Tj -0 Tc 1.332 0 Td -(nde\336ned.)Tj -/TT2 1 Tf -11.9986 0 0 11.9986 93.59 202.5757 Tm -[(12.10 )-220(Threads)-556(and )-278(I/O)]TJ -/T1_0 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5856 180.9783 Tm -[(We )-318(i)]TJ -0 Tc 2.062 0 Td -[(ntr)18(oduced )-134(the)]TJ -/TT0 1 Tf -6.734 0 Td -(pread)Tj -/T1_0 1 Tf -3.384 0 Td -(and)Tj -/TT0 1 Tf -2.077 0 Td -(pwrite)Tj -/T1_0 1 Tf -3.984 0 Td -[(functions )-134(in )-134(Section )-134(3.1)55(1. )-384(These)-384(functions )-134(ar)18(e)]TJ --18.241 -1.2 Td -[(helpful )-25(in )-25(a )-25(multithr)17(eaded )-25(envir)18(onment, )-25(because )-25(all )-25(thr)18(eads )-25(in )-25(a )-25(pr)18(ocess )-25(shar)]TJ -0.2754 Tc 34.297 0 Td -(et)Tj -0 Tc 1.08 0 Td -[(he )-25(same)]TJ --35.378 -1.2 Td -(\336le descriptors.)Tj -1.8 -1.2 Td -[(Consider )-193(two )-193(thr)18(eads )-193(r)18(eading )-193(fr)17(om )-193(or )-193(writing )-193(to )-193(the )-193(same )-193(\336le )-193(descriptor )-193(at )-193(the)]TJ --1.8 -1.2 Td -(same time.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46972 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.9)]TJ -35.154 0 Td -[(Thr)18(eads )-250(and)]TJ -/TT0 1 Tf -6.279 0 Td -(fork)Tj -/T1_1 1 Tf -4.4 0 Td -(457)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(in )-109(the )-109(main )-109(thr)18(ead )-109(of )-109(contr)18(ol )-109(to )-109(check )-109(the )-109(value )-109(of )-109(the )-109(\337ag )-109(and )-109(atomically )-109(r)14(elease )-109(the)]TJ -0 -1.2 TD -(mutex when we wait for the condition.)Tj -1.8 -1.2 Td -[(Note )-189(that )-189(we )-189(block)]TJ -/TT0 1 Tf -9.376 0 Td -(SIGINT)Tj -/T1_0 1 Tf -4.039 0 Td -(and)Tj -/TT0 1 Tf -2.132 0 Td -(SIGQUIT)Tj -/T1_0 1 Tf -4.639 0 Td -[(in )-189(the )-189(beginning )-189(of )-189(the )-189(main )-189(thr)17(ead.)]TJ --21.986 -1.2 Td -[(When )-217(we )-217(cr)18(eate )-217(the )-217(thr)18(ead )-217(to )-217(handle )-217(signals, )-217(the )-217(thr)18(ead )-217(inherits )-217(the )-217(curr)18(ent )-217(signal)]TJ -T* -[(mask. )-346(Since)]TJ -/TT0 1 Tf -5.877 0 Td -(sigwait)Tj -/T1_0 1 Tf -4.546 0 Td -[(will )-96(unblock )-96(the )-96(signals, )-96(only )-96(one )-96(thr)18(ead )-96(is )-96(available )-96(to )-96(r)16(eceive)]TJ --10.423 -1.2 Td -[(signals. )-539(This)-539(enables )-289(us )-289(to )-289(code )-289(the )-289(main )-289(thr)18(ead )-289(without )-289(having )-289(to )-289(worry )-289(about)]TJ -T* -[(interr)8(upts fr)18(om these signals.)]TJ -1.8 -1.2 Td -[(If we r)8(un this pr)18(ogram, we get output similar to that fr)18(om Figur)]TJ -0.25 Tc 28.168 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(0.23:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 568.2659 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj --1.2 -1.189 Td -(\366?)Tj -/T1_2 1 Tf -12 0 Td -(type the interrupt character)Tj -/TT0 1 Tf --12 -1.189 Td -(interrupt)Tj -/TT1 1 Tf -0 -1.189 TD -(\366?)Tj -/T1_2 1 Tf -12 0 Td -(type the interrupt character again)Tj -/TT0 1 Tf --12 -1.189 Td -(interrupt)Tj -/TT1 1 Tf -0 -1.189 TD -(\366?)Tj -/T1_2 1 Tf -12 0 Td -(and again)Tj -/TT0 1 Tf --12 -1.189 Td -(interrupt)Tj -/TT1 1 Tf -0 -1.189 TD -(\366\\)Tj -/TT0 1 Tf -1.8 0 Td -($)Tj -/T1_2 1 Tf -10.2 0 Td -(now terminate with quit character)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4754.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -11.9986 0 0 11.9986 93.5888 439.3473 Tm -[(12.9 )-776(Threads)-556(and)]TJ -/TT1 1 Tf -9.78 0 Td -(fork)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 415.3502 Tm -[(When )-120(a )-120(thr)18(ead )-120(calls)]TJ -/TT0 1 Tf -9.447 0 Td -(fork)Tj -/T1_0 1 Tf -0.3698 Tc (,ac)Tj -0 Tc 4.334 0 Td -[(opy )-120(of )-120(the )-120(entir)]TJ -0.3698 Tc 7.133 0 Td -(ep)Tj --0.018 Tc 1.45 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-120(addr)18(ess )-120(space )-120(is )-120(made )-120(for )-120(the)]TJ --23.287 -1.2 Td -[(child. )-427(Recall)-427(the )-177(discussion )-177(of )-177(copy-on-write )-177(in )-177(Section )-177(8.3.)-676(The )-177(child )-177(is )-177(an )-177(entir)19(ely)]TJ --0 -1.2 Td -[(dif)18(fer)18(ent )-228(pr)18(ocess )-228(fr)18(om )-228(the )-228(par)18(ent, )-228(and )-228(as )-228(long )-228(as )-228(neither )-228(one )-228(makes )-228(changes )-228(to )-228(its)]TJ -0 -1.2 TD -[(memory )-31(contents, )-31(copies )-31(of )-31(the )-31(memory )-31(pages )-31(can )-31(be )-31(shar)18(ed )-31(between )-31(par)18(ent )-31(and )-31(child.)]TJ -1.8 -1.2 Td -[(By )-89(inheriting )-89(a )-89(copy )-89(of )-89(the )-89(addr)17(ess )-89(space, )-89(the )-89(child )-89(also )-89(inherits )-89(the )-89(state )-89(of )-89(every)]TJ --1.8 -1.2 Td -[(mutex, )-17(r)18(eader\320writer )-17(lock, )-17(and )-17(condition )-17(variable )-17(fr)19(om )-17(the )-17(par)18(ent )-17(pr)19(ocess. )-267(If)-266(the )-17(par)18(ent)]TJ -0 -1.2 Td -[(consists )-50(of )-50(mor)]TJ -0.2997 Tc 6.745 0 Td -(et)Tj -0 Tc 1.105 0 Td -[(han )-50(one )-50(thr)19(ead, )-50(the )-50(child )-50(will )-50(need )-50(to )-50(clean )-50(up )-50(the )-50(lock )-50(state )-50(if )-50(it )-50(isn\325t)]TJ --7.85 -1.2 Td -(going to call)Tj -/TT0 1 Tf -5.679 0 Td -(exec)Tj -/T1_0 1 Tf -2.65 0 Td -(immediately after)Tj -/TT0 1 Tf -8.123 0 Td -(fork)Tj -/T1_0 1 Tf --0.018 Tc 2.65 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns.)Tj --18.158 -1.2 Td -[(Inside )-8(the )-8(child )-8(pr)17(ocess, )-8(only )-8(one )-8(thr)18(ead )-8(exists.)-508(It )-8(is )-8(made )-8(fr)18(om )-8(a )-8(copy )-8(of )-8(the )-8(thr)17(ead)]TJ --1.8 -1.2 Td -[(that )-80(called)]TJ -/TT0 1 Tf -5.01 0 Td -(fork)Tj -/T1_0 1 Tf -2.73 0 Td -[(in )-80(the )-80(par)18(ent. )-330(If)-330(the )-80(thr)18(eads )-80(in )-80(the )-80(par)18(ent )-80(pr)18(ocess )-80(hold )-80(any )-80(locks, )-80(the)]TJ --7.74 -1.2 Td -[(same )-60(locks )-60(will )-60(also )-60(be )-60(held )-60(in )-60(the )-60(child )-60(pr)17(ocess. )-310(The)-310(pr)18(oblem )-60(is )-60(that )-60(the )-60(child )-60(pr)18(ocess)]TJ -0 -1.2 Td -[(doesn\325t )-59(contain )-59(copies )-59(of )-59(the )-59(thr)17(eads )-59(holding )-59(the )-59(locks, )-59(so )-59(ther)16(e)-309(is)-309(no)-309(w)-1(ay )-59(for )-59(the )-59(child)]TJ -0 -1.2 Td -(to know which locks ar)Tj -0.25 Tc 10.261 0 Td -(eh)Tj -0 Tc 1.311 0 Td -(eld and need to be unlocked.)Tj --9.772 -1.2 Td -[(This )-139(pr)18(oblem )-139(can )-139(be )-139(avoided )-139(if )-139(the )-139(child )-139(calls )-139(one )-139(of )-139(the)]TJ -/TT0 1 Tf -26.517 0 Td -(exec)Tj -/T1_0 1 Tf -2.789 0 Td -[(functions )-138(dir)18(ectly)]TJ --31.106 -1.2 Td -[(after )-75(r)18(eturning )-75(fr)17(om)]TJ -/TT0 1 Tf -9.339 0 Td -(fork)Tj -/T1_0 1 Tf -0.5754 Tc (.I)Tj -0.3254 Tc 3.562 0 Td -(nt)Tj -0 Tc 1.233 0 Td -[(his )-75(case, )-75(the )-75(old )-75(addr)18(ess )-75(space )-75(is )-75(discar)18(ded, )-75(so )-75(the )-75(lock)]TJ --14.135 -1.2 Td -[(state )-223(doesn\325t )-223(matter)]TJ -0.7227 Tc 9.082 0 Td -(.T)Tj -0 Tc 1.586 0 Td -[(his )-223(is )-223(not )-223(always )-223(possible, )-223(however)76(,)-473(so)-473(if)-473(t)1(he )-223(child )-223(needs )-223(to)]TJ --10.667 -1.2 Td -[(continue pr)18(ocessing, we need to use a dif)18(fer)18(ent strategy)111(.)]TJ --0.092 Tc 1.8 -1.2 Td -[(To )-448(a)]TJ -0 Tc 2.081 0 Td -[(void )-263(pr)18(oblems )-263(with )-263(inconsistent )-263(state )-263(in )-263(a )-263(multithr)18(eaded )-263(pr)18(ocess, )-263(POSIX.1)]TJ --3.881 -1.2 Td -[(states )-50(that )-50(only )-50(async-signal )-50(safe )-50(functions )-50(should )-50(be )-50(called )-50(by )-50(a )-50(child )-50(pr)16(ocess )-50(between)]TJ -T* -[(the )-82(time )-82(that)]TJ -/TT0 1 Tf -6.096 0 Td -(fork)Tj -/T1_0 1 Tf --0.018 Tc 2.732 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-82(and )-82(the )-82(time )-82(that )-82(the )-82(child )-82(calls )-82(one )-82(of )-82(the)]TJ -/TT0 1 Tf -22.203 0 Td -(exec)Tj -/T1_0 1 Tf -2.732 0 Td -(functions.)Tj --34.619 -1.2 Td -[(This )-65(limits )-65(what )-65(the )-65(child )-65(can )-65(do )-65(befor)]TJ -0.315 Tc 17.44 0 Td -(ec)Tj -0 Tc 1.238 0 Td -(alling)Tj -/TT0 1 Tf -2.826 0 Td -(exec)Tj -/T1_0 1 Tf -0.315 Tc (,b)Tj -0 Tc 3.518 0 Td -[(ut )-65(doesn\325t )-65(addr)18(ess )-65(the )-65(pr)18(oblem)]TJ --25.022 -1.2 Td -[(of lock state in the child pr)18(ocess.)]TJ --0.092 Tc 1.8 -1.2 Td -[(To )-380(c)]TJ -0 Tc 1.956 0 Td -[(lean )-195(up )-195(the )-195(lock )-195(state, )-195(we )-195(can )-195(establish)]TJ -/T1_2 1 Tf -18.858 0 Td -[(fork )-195(handlers)]TJ -/T1_0 1 Tf -5.891 0 Td -[(by )-195(calling )-195(the )-195(function)]TJ -/TT0 1 Tf --28.506 -1.2 Td -(pthread_atfork)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46973 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.8)]TJ -34.385 0 Td -[(Thr)18(eads )-250(and )-250(Signals)]TJ -/T1_1 1 Tf -11.448 0 Td -(453)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(Several )-59(of )-59(the )-59(functions )-59(listed )-59(in )-59(Figur)]TJ -0.3095 Tc 17.165 0 Td -(e1)Tj -0 Tc 1.288 0 Td -[(2.15, )-59(such )-59(as )-59(the )-59(ones )-59(dealing )-59(with )-59(message )-59(catalogs)]TJ --18.454 -1.25 Td -(and wide character sets, ar)Tj -0.25 Tc 11.753 0 Td -(en)Tj -0 Tc 1.311 0 Td -(ot discussed further in this text.)Tj -9.9994 0 0 9.9994 147.5906 642.9614 Tm -[(If )-82(your )-82(application )-82(doesn\325t )-82(call )-82(one )-82(of )-82(the )-82(functions )-82(in )-82(Figur)]TJ -0.3316 Tc 27.092 0 Td -(e1)Tj -0 Tc 1.311 0 Td -[(2.14 )-82(or )-82(Figur)]TJ -0.3316 Tc 5.737 0 Td -(e1)Tj -0 Tc 1.311 0 Td -(2.15)Tj --37.25 -1.2 Td -[(for )-239(a )-239(long )-239(period )-239(of )-239(time )-239(\(if )-239(it )-239(is )-239(compute )-239(bound, )-239(for )-239(example\), )-239(then )-239(you )-239(can )-239(call)]TJ -/TT0 1 Tf -0 -1.2 TD -(pthread_testcancel)Tj -/T1_0 1 Tf -11.05 0 Td -[(to add your own cancellation points to the pr)18(ogram.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5903 599.864 Tm -(#include )Tj -0 -2.14 TD -(void pthread_testcancel\(void\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5761.25 cm -0 0 m -0 328 l -3900 328 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 560.1728 Tm -[(When )-104(you )-104(call)]TJ -/TT0 1 Tf -6.936 0 Td -(pthread_testcancel)Tj -/T1_0 1 Tf -[(,)-354(if)-354(a)-354(cancellation )-104(r)18(equest )-104(is )-104(pending )-104(and )-104(if)]TJ --8.736 -1.2 Td -[(cancellation )-141(has )-141(not )-141(been )-141(disabled, )-141(the )-141(thr)18(ead )-141(will )-141(be )-141(canceled.)-644(When )-141(cancellation )-141(is)]TJ -0 -1.2 TD -(disabled, however)Tj -0.25 Tc 8.066 0 Td -(,c)Tj -0 Tc 0.944 0 Td -(alls to)Tj -/TT0 1 Tf -2.878 0 Td -(pthread_testcancel)Tj -/T1_0 1 Tf -11.05 0 Td -[(have no ef)18(fect.)]TJ --21.138 -1.2 Td -[(The )-390(default )-390(cancellation )-390(type )-390(we )-390(have )-390(been )-390(describing )-390(is )-390(known )-390(as)]TJ -/T1_2 1 Tf -33.995 0 Td -[(deferr)18(ed)]TJ --35.795 -1.2 Td -(cancellation)Tj -/T1_0 1 Tf -0.7322 Tc (.A)Tj -0 Tc 6.574 0 Td -[(fter )-232(a )-232(call )-232(to)]TJ -/TT0 1 Tf -6.36 0 Td -(pthread_cancel)Tj -/T1_0 1 Tf -0.4822 Tc (,t)Tj -0 Tc 9.458 0 Td -[(he )-232(actual )-232(cancellation )-232(doesn\325t )-232(occur)]TJ --22.392 -1.2 Td -[(until )-11(the )-11(thr)18(ead )-11(hits )-11(a )-11(cancellation )-11(point.)]TJ --0.092 Tc 18.428 0 Td -[(We )-195(c)]TJ -0 Tc 2.092 0 Td -[(an )-11(change )-11(the )-11(cancellation )-11(type )-11(by )-11(calling)]TJ -/TT0 1 Tf --20.52 -1.2 Td -(pthread_setcanceltype)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5825 471.4838 Tm -(#include )Tj -0 -1.902 TD -(int pthread_setcanceltype\(int)Tj -/T1_2 1 Tf -18 0 Td -(type)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.522 0 Td -(nt *)Tj -/T1_2 1 Tf -(oldtype)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --0.241 -1.902 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4328.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 419.2245 Tm -(The)Tj -/TT0 1 Tf -2.259 0 Td -(pthread_setcanceltype)Tj -/T1_0 1 Tf -13.185 0 Td -[(function )-335(sets )-335(the )-335(cancellation )-335(type )-335(to)]TJ -/T1_2 1 Tf -18.365 0 Td -(type)Tj -/T1_0 1 Tf -2.307 0 Td -(\(either)Tj -/TT0 1 Tf --36.115 -1.2 Td -(PTHREAD_CANCEL_DEFERRED)Tj -/T1_0 1 Tf -14.092 0 Td -(or)Tj -/TT0 1 Tf -1.233 0 Td -(PTHREAD_CANCEL_ASYNCHRONOUS)Tj -/T1_0 1 Tf -0.292 Tc (\)a)Tj -0 Tc 17.325 0 Td -[(nd )-42(r)18(eturns )-42(the)]TJ --32.65 -1.2 Td -[(pr)18(evious type in the integer pointed to by)]TJ -/T1_2 1 Tf -18.633 0 Td -(oldtype)Tj -/T1_0 1 Tf -(.)Tj --16.833 -1.2 Td -[(Asynchr)18(onous )-56(cancellation )-56(dif)18(fers )-56(fr)18(om )-56(deferr)18(ed )-56(cancellation )-56(in )-56(that )-56(the )-56(thr)18(ead )-56(can)]TJ --1.8 -1.2 Td -[(be )-49(canceled )-49(at )-49(any )-49(time.)-549(The )-49(thr)16(ead )-49(doesn\325t )-49(necessarily )-49(need )-49(to )-49(hit )-49(a )-49(cancellation )-49(point)]TJ -0 -1.2 TD -(for it to be canceled.)Tj -/TT1 1 Tf -11.9978 0 0 11.9978 93.5832 318.4427 Tm -[(12.8 )-776(Threads)-556(and )-278(Signals)]TJ -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 294.447 Tm -[(Dealing )-453(with )-453(signals )-453(can )-453(be )-453(complicated )-453(even )-453(with )-453(a )-453(pr)18(ocess-based )-453(paradigm.)]TJ -T* -[(Intr)18(oducing thr)18(eads into the pictur)]TJ -0.25 Tc 15.328 0 Td -(em)Tj -0 Tc 1.612 0 Td -(akes things even mor)Tj -0.25 Tc 9.381 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(omplicated.)Tj --25.694 -1.2 Td -[(Each )-185(thr)18(ead )-185(has )-185(its )-185(own )-185(signal )-185(mask, )-185(but )-185(the )-185(signal )-185(disposition )-185(is )-185(shar)18(ed )-185(by )-185(all)]TJ --1.8 -1.2 Td -[(thr)18(eads )-202(in )-202(the )-202(pr)19(ocess. )-452(As)]TJ -0.4517 Tc 12.814 0 Td -(ac)Tj -0 Tc 1.396 0 Td -[(onsequence, )-202(individual )-202(thr)18(eads )-202(can )-202(block )-202(signals, )-202(but)]TJ --14.21 -1.2 Td -[(when )-83(a )-83(thr)18(ead )-83(modi\336es )-83(the )-83(action )-83(associated )-83(with )-83(a )-83(given )-83(signal, )-83(all )-83(thr)18(eads )-83(shar)]TJ -0.3327 Tc 36.801 0 Td -(et)Tj -0 Tc 1.138 0 Td -(he)Tj --37.939 -1.2 Td -[(action. )-362(Thus,)-361(if )-112(one )-112(thr)18(ead )-112(chooses )-112(to )-112(ignor)]TJ -0.3618 Tc 19.968 0 Td -(eag)Tj -0 Tc 2.259 0 Td -[(iven )-112(signal, )-112(another )-112(thr)18(ead )-112(can )-112(undo)]TJ --22.227 -1.2 Td -[(that )-155(choice )-155(by )-155(r)18(estoring )-155(the )-155(default )-155(disposition )-155(or )-155(installing )-155(a )-155(signal )-155(handler )-155(for )-155(that)]TJ -T* -(signal.)Tj -1.8 -1.2 Td -[(Signals )-107(ar)]TJ -0.3572 Tc 4.403 0 Td -(ed)Tj -0 Tc 1.447 0 Td -[(eliver)18(ed )-107(to )-107(a )-107(single )-107(thr)18(ead )-107(in )-107(the )-107(pr)17(ocess. )-357(If)-358(the )-107(signal )-107(is )-107(r)18(elated )-107(to )-107(a)]TJ --7.65 -1.2 Td -[(har)18(dwar)]TJ -0.3425 Tc 3.781 0 Td -(ef)Tj -0 Tc 1.154 0 Td -[(ault, )-92(the )-92(signal )-92(is )-92(usually )-92(sent )-92(to )-92(the )-92(thr)18(ead )-92(whose )-92(action )-92(caused )-92(the )-92(event.)]TJ --4.935 -1.2 Td -(Other signals, on the other hand, ar)Tj -0.25 Tc 15.631 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(eliver)18(ed to an arbitrary thr)18(ead.)]TJ --15.171 -1.2 Td -[(In )-17(Section )-17(10.12, )-17(we )-17(discussed )-17(how )-17(pr)17(ocesses )-17(can )-17(use )-17(the)]TJ -/TT0 1 Tf -25.486 0 Td -(sigprocmask)Tj -/T1_0 1 Tf -6.867 0 Td -[(function )-17(to)]TJ --34.154 -1.2 Td -[(block )-52(signals )-52(fr)18(om )-52(delivery)]TJ -0.552 Tc 12.059 0 Td -(.H)Tj -0 Tc 1.634 0 Td -(owever)Tj -0.302 Tc 3.224 0 Td -(,t)Tj -0 Tc 0.878 0 Td -[(he )-52(behavior )-52(of)]TJ -/TT0 1 Tf -6.757 0 Td -(sigprocmask)Tj -/T1_0 1 Tf -6.902 0 Td -[(is )-52(unde\336ned )-52(in )-52(a)]TJ --31.454 -1.2 Td -[(multithr)18(eaded pr)18(ocess. )-250(Thr)18(eads have to use the)]TJ -/TT0 1 Tf -21.381 0 Td -(pthread_sigmask)Tj -/T1_0 1 Tf -9.25 0 Td -(function instead.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46974 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.7)]TJ -36.772 0 Td -[(Cancel )-250(Options)]TJ -/T1_1 1 Tf -9.061 0 Td -(451)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(12.7 )-776(Cancel)-556(Options)]TJ -/T1_0 1 Tf --0.09 Tc 9.9994 0 0 9.9994 129.5922 648.5611 Tm -(Tw)Tj -0.3476 Tc 1.357 0 Td -(ot)Tj -0 Tc 1.22 0 Td -[(hr)18(ead )-98(attributes )-98(that )-98(ar)]TJ -0.3476 Tc 10.426 0 Td -(en)Tj -0 Tc 1.409 0 Td -[(ot )-98(included )-98(in )-98(the)]TJ -/TT1 1 Tf -8.434 0 Td -(pthread_attr_t)Tj -/T1_0 1 Tf -8.748 0 Td -[(str)8(uctur)]TJ -0.3475 Tc 3.49 0 Td -(ea)Tj --0.018 Tc 1.326 0 Td -[(re )-134(t)]TJ -0 Tc 1.529 0 Td -(he)Tj -/T1_2 1 Tf --37.939 -1.2 Td -[(cancelability )-235(state)]TJ -/T1_0 1 Tf -7.914 0 Td -[(and )-235(the)]TJ -/T1_2 1 Tf -4.051 0 Td -[(cancelability )-235(type)]TJ -/T1_0 1 Tf -0.7355 Tc (.T)Tj -0 Tc 8.861 0 Td -[(hese )-235(attributes )-235(af)18(fect )-235(the )-235(behavior )-235(of )-235(a)]TJ --20.826 -1.2 Td -[(thr)18(ead in r)18(esponse to a call to)]TJ -/TT1 1 Tf -13.18 0 Td -(pthread_cancel)Tj -/T1_0 1 Tf -8.65 0 Td -[(\(Section 1)55(1.5\).)]TJ --20.03 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.441 0 Td -[(cancelability )-517(state)]TJ -/T1_0 1 Tf -8.476 0 Td -[(attribute )-517(can )-517(be )-517(either)]TJ -/TT1 1 Tf -11.975 0 Td -(PTHREAD_CANCEL_ENABLE)Tj -/T1_0 1 Tf -13.367 0 Td -(or)Tj -/TT1 1 Tf --38.059 -1.2 Td -(PTHREAD_CANCEL_DISABLE)Tj -/T1_0 1 Tf -0.7977 Tc (.A)Tj -0 Tc 15.573 0 Td -[(thr)18(ead )-298(can )-298(change )-298(its)]TJ -/T1_2 1 Tf -10.776 0 Td -[(cancelability )-298(state)]TJ -/T1_0 1 Tf -8.039 0 Td -[(by )-298(calling)]TJ -/TT1 1 Tf --34.388 -1.2 Td -(pthread_setcancelstate)Tj -/T1_0 1 Tf -(.)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5909 571.8657 Tm -(#include )Tj -0 -1.902 TD -(int pthread_setcancelstate\(int)Tj -/T1_2 1 Tf -18.6 0 Td -(state)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.688 0 Td -(nt *)Tj -/T1_2 1 Tf -(oldstate)Tj -/TT1 1 Tf -(\);)Tj -/T1_0 1 Tf --1.007 -1.902 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5331.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 519.5976 Tm -[(In )-37(one )-37(atomic )-37(operation,)]TJ -/TT1 1 Tf -11.178 0 Td -(pthread_setcancelstate)Tj -/T1_0 1 Tf -13.487 0 Td -[(sets )-36(the )-36(curr)17(ent)]TJ -/T1_2 1 Tf -7.106 0 Td -[(cancelability )-36(state)]TJ -/T1_0 1 Tf --31.77 -1.2 Td -(to)Tj -/T1_2 1 Tf -1.216 0 Td -(state)Tj -/T1_0 1 Tf -2.231 0 Td -[(and )-93(stor)18(es )-93(the )-93(pr)17(evious)]TJ -/T1_2 1 Tf -10.916 0 Td -[(cancelability )-94(state)]TJ -/T1_0 1 Tf -7.63 0 Td -[(in )-94(the )-94(memory )-94(location )-94(pointed )-94(to )-94(by)]TJ -/T1_2 1 Tf --21.993 -1.2 Td -(oldstate)Tj -/T1_0 1 Tf -(.)Tj -1.8 -1.2 Td -[(Recall )-18(fr)18(om )-18(Section )-18(1)55(1.5 )-18(that )-18(a )-18(call )-18(to)]TJ -/TT1 1 Tf -16.475 0 Td -(pthread_cancel)Tj -/T1_0 1 Tf -8.668 0 Td -[(doesn\325t )-18(wait )-18(for )-18(a )-18(thr)18(ead )-18(to)]TJ --26.943 -1.2 Td -[(terminate. )-442(In)-443(the )-192(default )-192(case, )-192(a )-192(thr)18(ead )-192(will )-192(continue )-192(to )-192(execute )-192(after )-192(a )-192(cancellation)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(quest )-135(is )-135(made )-135(until )-135(the )-135(thr)18(ead )-135(r)18(eaches )-135(a)]TJ -/T1_2 1 Tf -18.797 0 Td -[(cancellation )-135(point)]TJ -/T1_0 1 Tf -0.6346 Tc (.A)Tj -0 Tc 9.357 0 Td -[(cancellation )-134(point )-134(is )-134(a)]TJ --29.009 -1.2 Td -[(place )-218(wher)]TJ -0.4682 Tc 5.055 0 Td -(et)Tj -0 Tc 1.273 0 Td -[(he )-218(thr)18(ead )-218(checks )-218(whether )-218(it )-218(has )-218(been )-218(canceled, )-218(and )-218(if )-218(so, )-218(acts )-218(on )-218(the)]TJ --0.018 Tc -6.328 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quest. )-282(POSIX.1)-281(guarantees )-32(that )-32(cancellation )-32(points )-32(will )-32(occur )-32(when )-32(a )-32(thr)20(ead )-32(calls )-32(any)]TJ --0.856 -1.2 Td -(of the functions listed in Figur)Tj -0.25 Tc 13.325 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(2.14.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1418.25 4012.25 cm -0 0 m -3656 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9986 0 0 7.9986 145.7738 393.1892 Tm -(accept )Tj -10.5 0 Td -(mq_timedsend)Tj -14.7 0 Td -[(pthread_join )-4500(sendto)]TJ --25.2 -1.25 Td -[(aio_suspend )-3300(msgrcv)]TJ -25.2 0 Td -[(pthread_testcancel )-900(sigsuspend)]TJ --25.2 -1.25 Td -[(clock_nanosleep )-900(msgsnd)]TJ -25.2 0 Td -(pwrite )Tj -12.3 0 Td -(sigtimedwait)Tj --37.5 -1.25 Td -(close )Tj -10.5 0 Td -(msync)Tj -14.7 0 Td -(read )Tj -12.3 0 Td -(sigwait)Tj --37.5 -1.25 Td -(connect )Tj -10.5 0 Td -(nanosleep)Tj -14.7 0 Td -(readv )Tj -12.3 0 Td -(sigwaitinfo)Tj --37.5 -1.25 Td -(creat )Tj -10.5 0 Td -(open)Tj -14.7 0 Td -(recv )Tj -12.3 0 Td -(sleep)Tj --37.5 -1.25 Td -(fcntl )Tj -10.5 0 Td -(openat)Tj -14.7 0 Td -(recvfrom )Tj -12.3 0 Td -(system)Tj --37.5 -1.25 Td -[(fdatasync )-4500(pause)]TJ -25.2 0 Td -(recvmsg )Tj -12.3 0 Td -(tcdrain)Tj --37.5 -1.25 Td -(fsync )Tj -10.5 0 Td -(poll)Tj -14.7 0 Td -(select )Tj -12.3 0 Td -(wait)Tj --37.5 -1.25 Td -(lockf )Tj -10.5 0 Td -(pread)Tj -14.7 0 Td -[(sem_timedwait )-3900(waitid)]TJ --25.2 -1.25 Td -[(mq_receive )-3900(pselect)]TJ -25.2 0 Td -(sem_wait )Tj -12.3 0 Td -(waitpid)Tj --37.5 -1.25 Td -(mq_send )Tj -10.5 0 Td -[(pthread_cond_timedwait)-1500(send )]TJ -27 0 Td -(write)Tj --37.5 -1.25 Td -[(mq_timedreceive )-900(pthread_cond_wait)-4500(sendmsg )]TJ -37.5 0 Td -(writev)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1418.25 2692.25 cm -0 0 m -3656 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4398.25 2692.25 cm -0 0 m -0 1320 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3414.25 2692.25 cm -0 0 m -0 1320 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2238.25 2692.25 cm -0 0 m -0 1320 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5074.25 2692.25 cm -0 0 m -0 1320 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1418.25 2692.25 cm -0 0 m -0 1320 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 229.9408 251.1997 Tm -(Figure 12.14)Tj -/T1_0 1 Tf -6.195 0 Td -(Cancellation points de\336ned by POSIX.1)Tj -0.5337 Tc 9.9976 0 0 9.9976 147.5648 224.806 Tm -(At)Tj -0 Tc 1.638 0 Td -[(hr)18(ead )-284(starts )-284(with )-284(a )-284(default)]TJ -/T1_2 1 Tf -13.289 0 Td -[(cancelability )-284(state)]TJ -/T1_0 1 Tf -8.011 0 Td -(of)Tj -/TT1 1 Tf -1.413 0 Td -(PTHREAD_CANCEL_ENABLE)Tj -/T1_0 1 Tf -(.)Tj --26.15 -1.2 Td -[(When )-81(the )-81(state )-81(is )-81(set )-81(to)]TJ -/TT1 1 Tf -10.889 0 Td -(PTHREAD_CANCEL_DISABLE)Tj -/T1_0 1 Tf -0.3313 Tc (,ac)Tj -0 Tc 15.057 0 Td -[(all )-81(to)]TJ -/TT1 1 Tf -2.616 0 Td -(pthread_cancel)Tj -/T1_0 1 Tf -8.731 0 Td -(will)Tj --37.293 -1.2 Td -[(not )-159(kill )-159(the )-159(thr)17(ead. )-409(Instead,)-409(the )-159(cancellation )-159(r)18(equest )-159(r)18(emains )-159(pending )-159(for )-159(the )-159(thr)17(ead.)]TJ -T* -[(When )-292(the )-292(state )-292(is )-292(enabled )-292(again, )-292(the )-292(thr)19(ead )-292(will )-292(act )-292(on )-292(any )-292(pending )-292(cancellation)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -(quests at the next cancellation point.)Tj -0.944 -1.2 Td -[(In )-128(addition )-128(to )-128(the )-128(functions )-128(listed )-128(in )-128(Figur)]TJ -0.3785 Tc 19.394 0 Td -(e1)Tj -0 Tc 1.357 0 Td -[(2.14, )-128(POSIX.1 )-128(speci\336es )-128(the )-128(functions)]TJ --22.552 -1.2 Td -(listed in Figur)Tj -0.25 Tc 6.178 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(2.15 as optional cancellation points.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46975 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(446)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(To )-402(m)]TJ -0 Tc 2.418 0 Td -(ake)Tj -/TT0 1 Tf -2.003 0 Td -(getenv_r)Tj -/T1_1 1 Tf --0.018 Tc 5.267 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(entrant, )-217(we )-217(changed )-217(the )-217(interface )-217(so )-217(that )-217(the )-217(caller )-217(must)]TJ --12.343 -1.2 Td -[(pr)18(ovide )-52(its )-52(own )-52(buf)19(fer)]TJ -0.5517 Tc 9.982 0 Td -(.T)Tj -0 Tc 1.415 0 Td -[(hus )-52(each )-52(thr)18(ead )-52(can )-52(use )-52(a )-52(dif)20(fer)18(ent )-52(buf)18(fer )-52(to )-52(avoid )-52(interfering)]TJ --11.397 -1.2 Td -[(with )-33(the )-33(others.)-533(Note, )-33(however)]TJ -0.2832 Tc 14.043 0 Td -(,t)Tj -0 Tc 0.859 0 Td -[(hat )-33(this )-33(is )-33(not )-33(enough )-33(to )-33(make)]TJ -/TT0 1 Tf -13.82 0 Td -(getenv_r)Tj -/T1_1 1 Tf -5.083 0 Td -[(thr)18(ead-safe.)]TJ --0.092 Tc -33.806 -1.2 Td -[(To )-216(m)]TJ -0 Tc 2.232 0 Td -(ake)Tj -/TT0 1 Tf -1.817 0 Td -(getenv_r)Tj -/T1_1 1 Tf -5.082 0 Td -[(thr)18(ead-safe, )-32(we )-32(need )-32(to )-32(pr)18(otect )-32(against )-32(changes )-32(to )-32(the )-32(envir)14(onment)]TJ --9.132 -1.2 Td -[(while )-56(we )-56(ar)]TJ -0.3056 Tc 5.278 0 Td -(es)Tj -0 Tc 1.209 0 Td -[(ear)18(ching )-56(for )-56(the )-56(r)19(equested )-55(string.)]TJ --0.092 Tc 15.412 0 Td -[(We )-240(c)]TJ -0 Tc 2.136 0 Td -[(an )-55(use )-55(a )-55(mutex )-55(to )-55(serialize )-55(access)]TJ --24.035 -1.2 Td -[(to the envir)18(onment list by)]TJ -/TT0 1 Tf -11.642 0 Td -(getenv_r)Tj -/T1_1 1 Tf -5.05 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(putenv)Tj -/T1_1 1 Tf -(.)Tj --0.092 Tc -16.835 -1.2 Td -[(We )-432(c)]TJ -0 Tc 2.329 0 Td -[(ould )-248(have )-248(used )-248(a )-248(r)18(eader\320writer )-248(lock )-248(to )-248(allow )-248(multiple )-248(concurr)18(ent )-248(calls )-248(to)]TJ -/TT0 1 Tf --4.129 -1.2 Td -(getenv_r)Tj -/T1_1 1 Tf -0.3124 Tc (,b)Tj -0 Tc 5.915 0 Td -[(ut )-62(the )-62(added )-62(concurr)18(ency )-62(pr)18(obably )-62(wouldn\325t )-62(impr)18(ove )-62(the )-62(performance )-62(of)]TJ --5.915 -1.2 Td -[(our )-142(pr)18(ogram )-142(by )-142(very )-142(much, )-142(for )-142(two )-142(r)17(easons. )-392(First,)-392(the )-142(envir)18(onment )-142(list )-142(usually )-142(isn\325t)]TJ -0 -1.2 Td -[(very )-26(long, )-26(so )-26(we )-26(won\325t )-26(hold )-26(the )-26(mutex )-26(for )-26(too )-26(long )-26(while )-26(we )-26(scan )-26(the )-26(list.)-526(Second, )-26(calls)]TJ -0 -1.2 TD -(to)Tj -/TT0 1 Tf -1.22 0 Td -(getenv)Tj -/T1_1 1 Tf -3.948 0 Td -(and)Tj -/TT0 1 Tf -2.041 0 Td -(putenv)Tj -/T1_1 1 Tf -3.948 0 Td -(ar)Tj -0.3484 Tc 0.877 0 Td -(ei)Tj -0 Tc 1.118 0 Td -[(nfr)18(equent, )-98(so )-98(if )-98(we )-98(impr)18(ove )-98(their )-98(performance, )-98(we )-98(won\325t)]TJ --13.154 -1.2 Td -[(af)18(fect the overall performance of the pr)18(ogram very much.)]TJ -1.8 -1.2 Td -[(Even )-252(though )-252(we )-252(can )-252(make)]TJ -/TT0 1 Tf -13.2 0 Td -(getenv_r)Tj -/T1_1 1 Tf -5.302 0 Td -[(thr)18(ead-safe, )-252(that )-252(doesn\325t )-252(mean )-252(that )-252(it )-252(is)]TJ --0.018 Tc -20.303 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(entrant )-89(with )-89(r)18(espect )-89(to )-89(signal )-89(handlers.)-588(If )-89(we )-89(wer)18(e)-339(to)-339(use )-89(a )-89(nonr)18(ecursive )-89(mutex, )-89(we)]TJ --0.856 -1.2 Td -[(would )-151(r)8(un )-151(the )-151(risk )-151(that )-151(a )-151(thr)18(ead )-151(would )-151(deadlock )-151(itself )-151(if )-151(it )-151(called)]TJ -/TT0 1 Tf -30.759 0 Td -(getenv_r)Tj -/T1_1 1 Tf -5.201 0 Td -[(fr)18(om )-151(a)]TJ --35.96 -1.2 Td -[(signal )-240(handler)]TJ -0.7399 Tc 6.5 0 Td -(.I)Tj -0.4899 Tc 1.327 0 Td -(ft)Tj -0 Tc 1.149 0 Td -[(he )-240(signal )-240(handler )-240(interr)8(upted )-240(the )-240(thr)18(ead )-240(while )-240(it )-240(was )-240(executing)]TJ -/TT0 1 Tf --8.976 -1.2 Td -(getenv_r)Tj -/T1_1 1 Tf -[(,)-425(we)-425(would )-175(alr)18(eady )-175(be )-175(holding)]TJ -/TT0 1 Tf -19.604 0 Td -(env_mutex)Tj -/T1_1 1 Tf -5.825 0 Td -[(locked, )-175(so )-175(another )-175(attempt )-175(to)]TJ --25.429 -1.2 Td -[(lock )-187(it )-187(would )-187(block, )-187(causing )-187(the )-187(thr)18(ead )-187(to )-187(deadlock.)-687(Thus )-187(we )-187(must )-187(use )-187(a )-187(r)21(ecursive)]TJ -T* -[(mutex )-1(to )-1(pr)18(event )-1(other )-1(thr)18(eads )-1(fr)18(om )-1(changing )-1(the )-1(data )-1(str)10(uctur)18(es )-1(while )-1(we )-1(look )-1(at )-1(them)]TJ -0 -1.2 Td -[(and )-308(to )-308(pr)18(event )-308(deadlocks )-308(fr)18(om )-308(signal )-308(handlers.)-808(The )-308(pr)18(oblem )-308(is )-308(that )-308(the )-308(pthr)13(ead)]TJ -T* -[(functions )-191(ar)]TJ -0.4412 Tc 5.449 0 Td -(en)Tj -0 Tc 1.502 0 Td -[(ot )-191(guaranteed )-191(to )-191(be )-191(async-signal )-191(safe, )-191(so )-191(we )-191(can\325t )-191(use )-191(them )-191(to )-191(make)]TJ --6.951 -1.2 Td -(another function async-signal safe.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4170.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9986 0 0 11.9986 93.5888 371.3554 Tm -[(12.6 )-776(Thread)]TJ -6.334 0.09 Td -(-)Tj -0.333 -0.09 Td -[(Speci\336c )-278(Data)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 347.3583 Tm -[(Thr)18(ead-speci\336c )-27(data, )-27(also )-27(known )-27(as )-27(thr)18(ead-private )-27(data, )-27(is )-27(a )-27(mechanism )-27(for )-27(storing )-27(and)]TJ -T* -[(\336nding )-441(data )-441(associated )-441(with )-441(a )-441(particular )-441(thr)18(ead. )-691(The)]TJ --0.018 Tc 27.165 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ason )-441(we )-441(call )-441(the )-441(data)]TJ --28.021 -1.2 Td -[(thr)18(ead-speci\336c, or thr)18(ead-private, is that we\325d like each thr)14(ead to access its own separate)]TJ -T* -[(copy of the data, without worrying about synchr)18(onizing access with other thr)18(eads.)]TJ -1.8 -1.2 Td -[(Many )-205(people )-205(went )-205(to )-205(a )-205(lot )-205(of )-205(tr)20(ouble )-205(designing )-205(a )-205(thr)18(eads )-205(model )-205(that )-205(pr)19(omotes)]TJ --1.8 -1.2 Td -[(sharing )-60(pr)18(ocess )-60(data )-60(and )-60(attributes.)-562(So )-60(why )-60(would )-60(anyone )-60(want )-60(to )-60(pr)18(omote )-60(interfaces)]TJ -T* -[(that pr)18(event sharing in this model?)-500(Ther)]TJ -0.25 Tc 18.024 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(t)]TJ -0 Tc 1.432 0 Td -[(wo r)18(easons.)]TJ --18.885 -1.2 Td -[(First, )-79(sometimes )-79(we )-79(need )-79(to )-79(maintain )-79(data )-79(on )-79(a )-79(per)20(-thr)18(ead )-79(basis.)-579(Since )-79(ther)19(e)-329(is)-329(no)]TJ --1.8 -1.2 Td -[(guarantee )-181(that )-181(thr)18(ead )-181(IDs )-181(ar)]TJ -0.4313 Tc 13.167 0 Td -(es)Tj -0 Tc 1.334 0 Td -[(mall, )-181(sequential )-181(integers, )-181(we )-181(can\325t )-181(simply )-181(allocate )-181(an)]TJ --14.501 -1.2 Td -[(array )-80(of )-80(per)18(-thr)18(ead )-80(data )-80(and )-80(use )-80(the )-80(thr)18(ead )-80(ID )-80(as )-80(the )-80(index.)-579(Even )-80(if )-80(we )-80(could )-80(depend)]TJ -T* -[(on )-164(small, )-164(sequential )-164(thr)18(ead )-164(IDs, )-164(we\325d )-164(like )-164(a )-164(little )-164(extra )-164(pr)18(otection )-164(so )-164(that )-164(one )-164(thr)19(ead)]TJ -T* -[(can\325t mess with another)-74(\325s data.)]TJ -1.8 -1.2 Td -[(The )-91(second )-91(r)18(eason )-91(for )-91(thr)18(ead-private )-91(data )-91(is )-91(to )-91(pr)20(ovide )-91(a )-91(mechanism )-91(for )-91(adapting)]TJ --1.8 -1.2 Td -[(pr)18(ocess-based )-2(interfaces )-2(to )-2(a )-2(multithr)18(eaded )-2(envir)17(onment. )-252(An)-253(obvious )-2(example )-2(of )-2(this )-2(is)]TJ -/TT0 1 Tf -0 -1.2 Td -(errno)Tj -/T1_1 1 Tf -0.7335 Tc (.R)Tj -0 Tc 4.651 0 Td -[(ecall )-234(the )-234(discussion )-234(of)]TJ -/TT0 1 Tf -10.845 0 Td -(errno)Tj -/T1_1 1 Tf -3.484 0 Td -[(in )-234(Section )-234(1.7.)-734(Older )-234(interfaces )-234(\(befor)]TJ -0.4836 Tc 17.67 0 Td -(et)Tj -0 Tc 1.289 0 Td -(he)Tj --37.939 -1.2 Td -[(advent )-157(of )-157(thr)18(eads\) )-157(de\336ned)]TJ -/TT0 1 Tf -12.569 0 Td -(errno)Tj -/T1_1 1 Tf -3.407 0 Td -[(as )-157(an )-157(integer )-157(that )-157(is )-157(accessible )-157(globally )-157(within )-157(the)]TJ --15.976 -1.2 Td -[(context )-180(of )-180(a )-180(pr)18(ocess. )-430(System)-430(calls )-180(and )-180(library )-180(r)18(outines )-180(set)]TJ -/TT0 1 Tf -27.366 0 Td -(errno)Tj -/T1_1 1 Tf -3.43 0 Td -[(as )-180(a )-180(side )-180(ef)18(fect )-180(of)]TJ --30.796 -1.2 Td -[(failing. )-479(T)]TJ -0.4788 Tc 4.344 0 Td -(om)Tj -0 Tc 1.908 0 Td -[(ake )-229(it )-229(possible )-229(for )-229(thr)18(eads )-229(to )-229(use )-229(these )-229(same )-229(system )-229(calls )-229(and )-229(library)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46976 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(442)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-72(value )-72(of )-72(the)]TJ -/T1_2 1 Tf -7.666 0 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_1 1 Tf -6.137 0 Td -[(attribute )-72(can )-72(be )-72(either)]TJ -/TT0 1 Tf -10.197 0 Td -(PTHREAD_PROCESS_SHARED)Tj -/T1_1 1 Tf --25.8 -1.2 Td -[(\(accessible )-463(to )-463(thr)18(eads )-463(fr)18(om )-463(multiple )-463(pr)18(ocesses\) )-463(or)]TJ -/TT0 1 Tf -25.2 0 Td -(PTHREAD_PROCESS_PRIVATE)Tj -/T1_1 1 Tf --25.2 -1.2 Td -[(\(accessible to only thr)18(eads in the pr)18(ocess that initialized the barrier\).)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5949 608.9635 Tm -[(12.5 )-776(Reentranc)10(y)]TJ -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5927 589.7646 Tm -[(We )-449(d)]TJ -0 Tc 2.513 0 Td -[(iscussed )-265(r)18(eentrant )-265(functions )-265(and )-265(signal )-265(handlers )-265(in )-265(Section )-265(10.6.)-766(Thr)18(eads )-265(ar)18(e)]TJ --2.513 -1.2 Td -[(similar )-72(to )-72(signal )-72(handlers )-72(when )-72(it )-72(comes )-72(to )-72(r)20(eentrancy)]TJ -0.5718 Tc 24.38 0 Td -(.I)Tj -0.3217 Tc 1.159 0 Td -(nb)Tj -0 Tc 1.457 0 Td -[(oth )-72(cases, )-72(multiple )-72(thr)19(eads)]TJ --26.996 -1.2 Td -[(of contr)18(ol can potentially call the same function at the same time.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1682.25 5458.25 cm -0 0 m -3128 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 172.1793 537.7355 Tm -[(basename )-3900(getchar_unlocked)-1500(getservent )-1500(putc_unlocked)]TJ -0 -1.25 TD -[(catgets )-4500(getdate)]TJ -20.4 0 Td -[(getutxent )-2100(putchar_unlocked)]TJ --20.4 -1.25 Td -(crypt )Tj -9.3 0 Td -(getenv)Tj -11.1 0 Td -[(getutxid )-2700(putenv)]TJ --20.4 -1.25 Td -[(dbm_clearerr )-1500(getgrent)]TJ -20.4 0 Td -[(getutxline )-1500(pututxline)]TJ --20.4 -1.25 Td -[(dbm_close )-3300(getgrgid)]TJ -20.4 0 Td -[(gmtime )-3900(rand)]TJ --20.4 -1.25 Td -[(dbm_delete )-2700(getgrnam)]TJ -20.4 0 Td -[(hcreate )-3300(readdir)]TJ --20.4 -1.25 Td -[(dbm_error )-3300(gethostent)]TJ -20.4 0 Td -[(hdestroy )-2700(setenv)]TJ --20.4 -1.25 Td -[(dbm_fetch )-3300(getlogin)]TJ -20.4 0 Td -[(hsearch )-3300(setgrent)]TJ --20.4 -1.25 Td -[(dbm_firstkey )-1500(getnetbyaddr)-3900(inet_ntoa )-2100(setkey)]TJ -T* -[(dbm_nextkey )-2100(getnetbyname)-3900(l64a )]TJ -28.5 0 Td -(setpwent)Tj --28.5 -1.25 Td -[(dbm_open )-3900(getnetent)]TJ -20.4 0 Td -[(lgamma )-3900(setutxent)]TJ --20.4 -1.25 Td -[(dbm_store )-3300(getopt)]TJ -20.4 0 Td -[(lgammaf )-3300(strerror)]TJ --20.4 -1.25 Td -[(dirname )-4500(getprotobyname)-2700(lgammal )-3300(strsignal)]TJ -T* -[(dlerror )-4500(getprotobynumber)-1500(localeconv )-1500(strtok)]TJ -T* -[(drand48 )-4500(getprotoent)-4500(localtime )-2100(system)]TJ -T* -[(encrypt )-4500(getpwent)]TJ -20.4 0 Td -[(lrand48 )-3300(ttyname)]TJ --20.4 -1.25 Td -[(endgrent )-3900(getpwnam)]TJ -20.4 0 Td -[(mrand48 )-3300(unsetenv)]TJ --20.4 -1.25 Td -[(endpwent )-3900(getpwuid)]TJ -20.4 0 Td -(nftw )Tj -8.1 0 Td -(wcstombs)Tj --28.5 -1.25 Td -[(endutxent )-3300(getservbyname)-3300(nl_langinfo )-900(wctomb)]TJ -T* -[(getc_unlocked )-900(getservbyport)-3300(ptsname)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1682.25 3438.25 cm -0 0 m -3128 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3942.25 3438.25 cm -0 0 m -0 2020 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3294.25 3438.25 cm -0 0 m -0 2020 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2406.25 3438.25 cm -0 0 m -0 2020 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4810.25 3438.25 cm -0 0 m -0 2020 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1682.25 3438.25 cm -0 0 m -0 2020 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 205.407 326.9411 Tm -(Figure 12.9)Tj -/T1_1 1 Tf -5.695 0 Td -(Functions)Tj -/T1_2 1 Tf -4.604 0 Td -(not)Tj -/T1_1 1 Tf -1.583 0 Td -[(guaranteed to be thr)18(ead-safe by POSIX.1)]TJ -9.9982 0 0 9.9982 147.5737 300.5459 Tm -[(If )-71(a )-71(function )-71(can )-71(be )-71(safely )-71(called )-71(by )-71(multiple )-71(thr)17(eads )-71(at )-71(the )-71(same )-71(time, )-71(we )-71(say )-71(that)]TJ --1.8 -1.2 Td -[(the )-156(function )-156(is)]TJ -/T1_2 1 Tf -7.028 0 Td -[(thr)18(ead-safe)]TJ -/T1_1 1 Tf -0.6564 Tc (.A)Tj -0 Tc 6.054 0 Td -[(ll )-156(functions )-156(de\336ned )-156(in )-156(the )-156(Single )-156(UNIX )-156(Speci\336cation )-156(ar)16(e)]TJ --13.083 -1.2 Td -[(guaranteed )-329(to )-329(be )-329(thr)18(ead-safe, )-329(except )-329(those )-329(listed )-329(in )-329(Figur)]TJ -0.579 Tc 27.641 0 Td -(e1)Tj -0 Tc 1.558 0 Td -[(2.9. )-579(In)-579(addition, )-329(the)]TJ -/TT0 1 Tf --29.199 -1.2 Td -(ctermid)Tj -/T1_1 1 Tf -4.487 0 Td -(and)Tj -/TT0 1 Tf -1.98 0 Td -(tmpnam)Tj -/T1_1 1 Tf -3.887 0 Td -[(functions )-37(ar)]TJ -0.2866 Tc 5.295 0 Td -(en)Tj -0 Tc 1.348 0 Td -[(ot )-36(guaranteed )-36(to )-36(be )-36(thr)18(ead-safe )-36(if )-36(they )-36(ar)]TJ -0.2865 Tc 18.201 0 Td -(ep)Tj -0 Tc 1.366 0 Td -(assed)Tj -0.503 Tc -36.562 -1.2 Td -(an)Tj -0 Tc 1.585 0 Td -[(ull )-253(pointer)]TJ -0.753 Tc 4.834 0 Td -(.S)Tj -0 Tc 1.528 0 Td -(imilarly)Tj -0.503 Tc 3.387 0 Td -(,t)Tj -0 Tc 1.079 0 Td -[(her)18(e)-503(is)-503(no)-503(guarantee )-253(that)]TJ -/TT0 1 Tf -12.429 0 Td -(wcrtomb)Tj -/T1_1 1 Tf -4.703 0 Td -(and)Tj -/TT0 1 Tf -2.196 0 Td -(wcsrtombs)Tj -/T1_1 1 Tf -5.903 0 Td -[(ar)18(e)]TJ --37.644 -1.2 Td -[(thr)18(ead-safe when they ar)]TJ -0.25 Tc 10.991 0 Td -(ep)Tj -0 Tc 1.33 0 Td -(assed a null pointer for their)Tj -/TT0 1 Tf -12.772 0 Td -(mbstate_t)Tj -/T1_1 1 Tf -5.65 0 Td -[(ar)18(gument.)]TJ --28.943 -1.2 Td -[(Implementations )-1109(that )-1109(support )-1109(thr)18(ead-safe )-1109(functions )-1109(will )-1109(de\336ne )-1109(the)]TJ -/TT0 1 Tf --1.8 -1.2 Td -(_POSIX_THREAD_SAFE_FUNCTIONS)Tj -/T1_1 1 Tf -17.235 0 Td -[(symbol )-185(in)]TJ -/TT0 1 Tf -4.997 0 Td -()Tj -/T1_1 1 Tf -0.6853 Tc (.A)Tj -0 Tc 7.713 0 Td -[(pplications )-185(can )-185(also)]TJ --29.945 -1.2 Td -[(use )-19(the)]TJ -/TT0 1 Tf -3.431 0 Td -(_SC_THREAD_SAFE_FUNCTIONS)Tj -/T1_1 1 Tf -15.269 0 Td -[(ar)18(gument )-19(with)]TJ -/TT0 1 Tf -6.877 0 Td -(sysconf)Tj -/T1_1 1 Tf -4.469 0 Td -[(to )-19(check )-19(for )-19(support)]TJ --30.046 -1.2 Td -[(of )-38(thr)18(ead-safe )-38(functions )-38(at )-38(r)6(untime. )-288(Prior)-289(to )-38(V)111(ersion )-39(4 )-39(of )-39(the )-39(Single )-39(UNIX )-39(Speci\336cation,)]TJ --0 -1.2 Td -[(all )-222(XSI-conforming )-222(implementations )-222(wer)]TJ -0.4719 Tc 18.692 0 Td -(er)Tj -0 Tc 1.328 0 Td -[(equir)18(ed )-222(to )-222(support )-222(thr)18(ead-safe )-222(functions.)]TJ --0.055 Tc -20.02 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-620(SUSv4, )-620(however)]TJ -0.87 Tc 9.597 0 Td -(,t)Tj -0 Tc 1.446 0 Td -[(hr)18(ead-safe )-620(function )-620(support )-620(is )-620(now )-620(r)18(equir)18(ed )-620(for )-620(an)]TJ --12.279 -1.2 Td -[(implementation to be consider)18(ed POSIX conforming.)]TJ --0.055 Tc 1.8 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-558(thr)18(ead-safe )-558(functions, )-558(implementations )-558(pr)17(ovide )-558(alternative, )-558(thr)18(ead-safe)]TJ --3.036 -1.2 Td -[(versions )-61(of )-61(some )-61(of )-61(the )-61(POSIX.1 )-61(functions )-61(that )-61(ar)18(en\325t )-61(thr)19(ead-safe. )-311(Figur)]TJ -0.311 Tc 32.195 0 Td -(e1)Tj -0 Tc 1.29 0 Td -[(2.10 )-61(lists )-61(the)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46977 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.4)]TJ -31.602 0 Td -[(Synchr)18(onization )-250(Attributes)]TJ -/T1_1 1 Tf -14.231 0 Td -(441)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(clock )-1(IDs )-1(listed )-1(in )-1(Figur)]TJ -0.2513 Tc 10.499 0 Td -(e6)Tj -0 Tc 1.23 0 Td -[(.8. )-251(W)]TJ -0.2513 Tc 2.409 0 Td -(ec)Tj -0 Tc 1.174 0 Td -[(an )-1(use )-1(the)]TJ -/TT0 1 Tf -4.729 0 Td -(pthread_condattr_getclock)Tj -/T1_0 1 Tf -15.251 0 Td -(function)Tj --35.293 -1.2 Td -[(to )-80(r)18(etrieve )-80(the )-80(clock )-80(ID )-80(that )-80(will )-80(be )-80(used )-80(by )-80(the)]TJ -/TT0 1 Tf -21.762 0 Td -(pthread_cond_timedwait)Tj -/T1_0 1 Tf -13.53 0 Td -(function)Tj --35.293 -1.2 Td -[(for )-105(the )-105(condition )-105(variable )-105(that )-105(was )-105(initialized )-105(with )-105(the)]TJ -/TT0 1 Tf -25.013 0 Td -(pthread_condattr_t)Tj -/T1_0 1 Tf -11.155 0 Td -(object.)Tj --0.092 Tc -36.168 -1.2 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -(an change the clock ID with the)Tj -/TT0 1 Tf -14.174 0 Td -(pthread_condattr_setclock)Tj -/T1_0 1 Tf -15.25 0 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5914 615.0631 Tm -(#include )Tj -0 -2.14 TD -(int pthread_condattr_getclock\(const pthread_condattr_t *)Tj -19.2 -1.189 Td -(restrict)Tj -/T1_2 1 Tf -5.4 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --5.4 -1.189 Td -(clockid_t *restrict)Tj -/T1_2 1 Tf -12 0 Td -(clock_id)Tj -/TT0 1 Tf -(\);)Tj --31.2 -2.14 Td -(int pthread_condattr_setclock\(pthread_condattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -19.2 -1.189 Td -(clockid_t)Tj -/T1_2 1 Tf -6 0 Td -(clock_id)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --5.519 -2.14 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5207.25 cm -0 0 m -0 1034 l -3900 1034 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 505.9593 Tm -(Curiously)Tj -0.2772 Tc 4.307 0 Td -(,t)Tj -0 Tc 0.853 0 Td -[(he )-27(Single )-27(UNIX )-27(Speci\336cation )-27(doesn\325t )-27(de\336ne )-27(the)]TJ -/T1_2 1 Tf -21.361 0 Td -(clock)Tj -/T1_0 1 Tf -2.257 0 Td -[(attribute )-27(for )-27(any )-27(of)]TJ --30.579 -1.2 Td -(the other attribute objects that have a wait function with a timeout.)Tj -/TT1 1 Tf -11.9986 0 0 11.9986 129.5844 453.1656 Tm -[(12.4.4 )-556(Barrier)-556(Attrib)20(utes)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 429.1685 Tm -[(Barriers )-92(have )-92(attributes, )-92(too.)]TJ --0.092 Tc 13.376 0 Td -[(We )-276(c)]TJ -0 Tc 2.173 0 Td -[(an )-92(use )-92(the)]TJ -/TT0 1 Tf -5.002 0 Td -(pthread_barrierattr_init)Tj -/T1_0 1 Tf -14.742 0 Td -(function)Tj --35.293 -1.2 Td -[(to )-337(initialize )-337(a )-337(barrier )-337(attributes )-337(object )-337(and )-337(the)]TJ -/TT0 1 Tf -22.8 0 Td -(pthread_barrierattr_destroy)Tj -/T1_0 1 Tf --22.8 -1.2 Td -(function to deinitialize a barrier attributes object.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5825 387.2735 Tm -(#include )Tj -0 -2.14 TD -(int pthread_barrierattr_init\(pthread_barrierattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -0 -2.14 TD -(int pthread_barrierattr_destroy\(pthread_barrierattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -19.681 -2.14 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3250.25 cm -0 0 m -0 713 l -3900 713 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 147.5734 310.2841 Tm -[(The )-212(only )-212(barrier )-212(attribute )-212(curr)18(ently )-212(de\336ned )-212(is )-212(the)]TJ -/T1_2 1 Tf -23.678 0 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_0 1 Tf -6.277 0 Td -[(attribute, )-212(which)]TJ --31.756 -1.2 Td -[(contr)18(ols )-38(whether )-38(a )-38(barrier )-38(can )-38(be )-38(used )-38(by )-38(thr)18(eads )-38(fr)18(om )-38(multiple )-38(pr)18(ocesses )-38(or )-38(only )-38(fr)11(om)]TJ -0 -1.2 TD -[(within )-141(the )-141(pr)18(ocess )-141(that )-141(initialized )-141(the )-141(barrier)]TJ -0.6412 Tc 20.443 0 Td -(.A)Tj -0.3912 Tc 1.669 0 Td -(sw)Tj -0 Tc 1.649 0 Td -[(ith )-141(the )-141(other )-141(attribute )-141(objects, )-141(we)]TJ --23.762 -1.2 Td -[(have )-130(one )-130(function )-130(to )-130(get )-130(the )-130(attribute )-130(\()]TJ -/TT0 1 Tf -17.849 0 Td -(pthread_barrierattr_getpshared)Tj -/T1_0 1 Tf -0.3796 Tc (\)v)Tj -0 Tc 19.278 0 Td -(alue)Tj --37.127 -1.2 Td -(and one function to set the value \()Tj -/TT0 1 Tf -(pthread_barrierattr_setpshared)Tj -/T1_0 1 Tf -(\).)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.574 244.3956 Tm -(#include )Tj -0 -2.14 TD -(int pthread_barrierattr_getpshared\(const pthread_barrierattr_t *)Tj -19.2 -1.189 Td -(restrict)Tj -/T1_2 1 Tf -5.4 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --5.4 -1.189 Td -(int *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj --27.6 -2.14 Td -(int pthread_barrierattr_setpshared\(pthread_barrierattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -19.2 -1.189 Td -(int)Tj -/T1_2 1 Tf -2.4 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --1.919 -2.14 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1500.25 cm -0 0 m -0 1034 l -3900 1034 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46978 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(440)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-110(only )-110(attribute )-110(supported )-110(for )-110(r)18(eader\320writer )-110(locks )-110(is )-110(the)]TJ -/T1_2 1 Tf -26.976 0 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_1 1 Tf -6.175 0 Td -(attribute.)Tj --34.951 -1.2 Td -[(It )-56(is )-56(identical )-56(to )-56(the )-56(mutex)]TJ -/T1_2 1 Tf -12.093 0 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_1 1 Tf -6.121 0 Td -[(attribute. )-306(Just)-306(as )-56(with )-56(the )-56(mutex)]TJ -/T1_2 1 Tf -14.971 0 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_1 1 Tf --33.185 -1.2 Td -[(attributes, )-105(a )-105(pair )-105(of )-105(functions )-105(is )-105(pr)16(ovided )-105(to )-105(get )-105(and )-105(set )-105(the)]TJ -/T1_2 1 Tf -27.372 0 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_1 1 Tf -6.17 0 Td -[(attributes )-105(of)]TJ --0.018 Tc -33.542 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(ader\320writer locks.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5919 616.263 Tm -(#include )Tj -0 -2.021 TD -(int pthread_rwlockattr_getpshared\(const pthread_rwlockattr_t *)Tj -20.4 -1.189 Td -(restrict)Tj -/T1_2 1 Tf -5.4 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --5.4 -1.189 Td -(int *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj --28.8 -2.021 Td -(int pthread_rwlockattr_setpshared\(pthread_rwlockattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -20.4 -1.189 Td -(int)Tj -/T1_2 1 Tf -2.4 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --3.119 -2.021 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5251.25 cm -0 0 m -0 1002 l -3900 1002 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 511.5686 Tm -[(Although )-10(POSIX )-10(de\336nes )-10(only )-10(one )-10(r)18(eader\320writer )-10(lock )-10(attribute, )-10(implementations )-10(ar)]TJ -0.26 Tc 36.593 0 Td -(ef)Tj --0.018 Tc 1.072 0 Td -(re)Tj -0 Tc 0.856 0 Td -(e)Tj --38.521 -1.2 Td -(to de\336ne additional, nonstandar)Tj -0.25 Tc 14.207 0 Td -(do)Tj -0 Tc 1.407 0 Td -(nes.)Tj -/TT1 1 Tf -11.9986 0 0 11.9986 129.5844 461.1747 Tm -[(12.4.3 )-556(Condition)]TJ --0.06 Tc 8.836 0 Td -(Va)Tj -0 Tc 1.163 0 Td -[(riab)10(le )-278(Attrib)20(utes)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5842 437.1775 Tm -[(The )-95(Single )-95(UNIX )-95(Speci\336cation )-95(curr)18(ently )-95(de\336nes )-95(two )-95(attributes )-95(for )-95(condition )-95(variables:)]TJ -0 -1.2 TD -(the)Tj -/T1_2 1 Tf -1.705 0 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_1 1 Tf -6.133 0 Td -[(attribute )-68(and )-68(the)]TJ -/T1_2 1 Tf -7.833 0 Td -(clock)Tj -/T1_1 1 Tf -2.298 0 Td -[(attribute. )-318(As)-318(with )-68(the )-68(other )-68(attribute )-68(objects, )-68(a)]TJ --17.969 -1.2 Td -(pair of functions initialize and deinitialize condition variable attribu\ te objects.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5819 396.4824 Tm -(#include )Tj -0 -2.021 TD -(int pthread_condattr_init\(pthread_condattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -0 -2.021 TD -(int pthread_condattr_destroy\(pthread_condattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -19.681 -2.021 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3374.25 cm -0 0 m -0 681 l -3900 681 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 147.5734 323.9017 Tm -(The)Tj -/T1_2 1 Tf -1.969 0 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_1 1 Tf -6.111 0 Td -[(attribute )-45(is )-45(the )-45(same )-45(as )-45(with )-45(the )-45(other )-45(synchr)14(onization )-45(attributes.)]TJ --9.88 -1.2 Td -[(It )-96(contr)18(ols )-96(whether )-96(condition )-96(variables )-96(can )-96(be )-96(used )-96(by )-96(thr)17(eads )-96(within )-96(a )-96(single )-96(pr)17(ocess)]TJ -0 -1.2 TD -[(only )-104(or )-104(fr)18(om )-104(within )-104(multiple )-104(pr)19(ocesses. )-354(T)]TJ -0.3538 Tc 19.068 0 Td -(o\336)Tj -0 Tc 1.505 0 Td -[(nd )-104(the )-104(curr)18(ent )-104(value )-104(of )-104(the)]TJ -/T1_2 1 Tf -12.612 0 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_1 1 Tf --33.185 -1.2 Td -[(attribute, )-50(we )-50(use )-50(the)]TJ -/TT0 1 Tf -9.455 0 Td -(pthread_condattr_getpshared)Tj -/T1_1 1 Tf -16.5 0 Td -[(function. )-300(T)]TJ -0.3 Tc 5.028 0 Td -(os)Tj -0 Tc 1.27 0 Td -[(et )-50(its )-50(value, )-50(we)]TJ --32.253 -1.2 Td -(use the)Tj -/TT0 1 Tf -3.393 0 Td -(pthread_condattr_setpshared)Tj -/T1_1 1 Tf -16.45 0 Td -(function.)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.5734 259.2133 Tm -(#include )Tj -0 -2.021 TD -(int pthread_condattr_getpshared\(const pthread_condattr_t *)Tj -19.2 -1.189 Td -(restrict)Tj -/T1_2 1 Tf -5.4 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --5.4 -1.189 Td -(int *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj --27.6 -2.021 Td -(int pthread_condattr_setpshared\(pthread_condattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -19.2 -1.189 Td -(int)Tj -/T1_2 1 Tf -2.4 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --1.919 -2.021 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1681.25 cm -0 0 m -0 1001 l -3900 1001 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9976 0 0 9.9976 147.5646 154.5529 Tm -(The)Tj -/T1_2 1 Tf -2.252 0 Td -(clock)Tj -/T1_1 1 Tf -2.558 0 Td -[(attribute )-328(contr)18(ols )-328(which )-328(clock )-328(is )-328(used )-328(when )-328(evaluating )-328(the )-328(timeout)]TJ --6.609 -1.2 Td -[(ar)18(gument )-51(\()]TJ -/T1_2 1 Tf -(tsptr)Tj -/T1_1 1 Tf -[(\))-301(of)-301(t)-1(he)]TJ -/TT0 1 Tf -10.388 0 Td -(pthread_cond_timedwait)Tj -/T1_1 1 Tf -13.502 0 Td -[(function. )-301(The)-302(legal )-51(values )-51(ar)]TJ -0.3015 Tc 12.943 0 Td -(et)Tj -0 Tc 1.106 0 Td -(he)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46979 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.4)]TJ -31.602 0 Td -[(Synchr)18(onization )-250(Attributes)]TJ -/T1_1 1 Tf -14.231 0 Td -(439)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -0.6 Tc 8.9995 0 0 8.9995 178.1893 670.2598 Tm -(*C)Tj -0 Tc 1.8 0 Td -(alculate the absolute time when we want to retry.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(clock_gettime\(CLOCK_REALTIME, &when\);)Tj -0 -1.189 TD -[(when.tv_sec += 10;)-1200(/* 10 seconds from now */)]TJ -T* -(timeout\(&when, retry, \(void *\)\(\(unsigned long\)arg\)\);)Tj --2.4 -1.189 Td -(})Tj -T* -(pthread_mutex_unlock\(&mutex\);)Tj -0 -1.783 TD -(/* continue processing ... */)Tj -0 -1.783 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5585.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 256.5892 542.4339 Tm -(Figure 12.8)Tj -/T1_0 1 Tf -6.25 0 Td -[(Using a r)18(ecursive mutex)]TJ --0.092 Tc 9.9988 0 0 9.9988 147.5823 518.4368 Tm -[(We )-499(u)]TJ -0 Tc 2.555 0 Td -[(se )-315(the)]TJ -/TT0 1 Tf -3.421 0 Td -(makethread)Tj -/T1_0 1 Tf -6.565 0 Td -[(function )-315(fr)18(om )-315(Figur)]TJ -0.5654 Tc 9.36 0 Td -(e1)Tj -0 Tc 1.544 0 Td -[(2.4 )-315(to )-315(cr)18(eate )-315(a )-315(thr)16(ead )-315(in )-315(the)]TJ --25.246 -1.2 Td -[(detached )-102(state.)-602(Because )-102(the)]TJ -/TT0 1 Tf -12.92 0 Td -(func)Tj -/T1_0 1 Tf -2.752 0 Td -[(function )-102(ar)18(gument )-102(passed )-102(to )-102(the)]TJ -/TT0 1 Tf -15.069 0 Td -(timeout)Tj -/T1_0 1 Tf -4.552 0 Td -(function)Tj --35.293 -1.2 Td -[(will r)8(un in the futur)18(e, we don\325t want to wait ar)18(ound for the thr)18(ead to complete.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-207(c)]TJ -0 Tc 2.104 0 Td -[(ould )-23(call)]TJ -/TT0 1 Tf -4.123 0 Td -(sleep)Tj -/T1_0 1 Tf -3.273 0 Td -[(to )-23(wait )-23(for )-23(the )-23(timeout )-23(to )-23(expir)18(e, )-23(but )-23(that )-23(gives )-23(us )-23(only )-23(second)]TJ --11.301 -1.2 Td -(granularity)Tj -0.5186 Tc 4.884 0 Td -(.I)Tj -0 Tc 1.106 0 Td -[(f)-269(we)-269(w)1(ant )-19(to )-19(wait )-19(for )-19(some )-19(time )-19(other )-19(than )-19(an )-19(integral )-19(number )-19(of )-19(seconds,)]TJ --5.99 -1.2 Td -[(we )-70(need )-70(to )-70(use)]TJ -/TT0 1 Tf -7.124 0 Td -(nanosleep)Tj -/T1_0 1 Tf -5.721 0 Td -(or)Tj -/TT0 1 Tf -1.261 0 Td -(clock_nanosleep)Tj -/T1_0 1 Tf -0.3205 Tc (,b)Tj -0 Tc 10.124 0 Td -[(oth )-70(of )-70(which )-70(allow )-70(us )-70(to )-70(sleep )-70(at)]TJ --24.23 -1.2 Td -[(higher r)18(esolution.)]TJ -7.999 0 0 7.999 183.5785 426.4478 Tm -[(On )-141(systems )-141(that )-141(don\325t )-141(de\336ne)]TJ -/TT0 1 Tf -13.674 0 Td -(CLOCK_REALTIME)Tj -/T1_0 1 Tf -[(,)-391(we)-391(d)-1(e\336ne)]TJ -/TT0 1 Tf -13.893 0 Td -(clock_nanosleep)Tj -/T1_0 1 Tf -9.391 0 Td -[(in )-141(terms )-141(of)]TJ -/TT0 1 Tf --36.958 -1.25 Td -(nanosleep)Tj -/T1_0 1 Tf -0.7326 Tc (.H)Tj -0 Tc 7.215 0 Td -(owever)Tj -0.4826 Tc 3.224 0 Td -(,F)Tj --0.018 Tc 1.289 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD )-233(8.0 )-233(de\336nes )-233(this )-233(symbol )-233(to )-233(support)]TJ -/TT0 1 Tf -19.441 0 Td -(clock_gettime)Tj -/T1_0 1 Tf -8.283 0 Td -(and)Tj -/TT0 1 Tf --40.307 -1.25 Td -(clock_settime)Tj -/T1_0 1 Tf -0.415 Tc (,b)Tj -0 Tc 9.018 0 Td -[(ut )-165(doesn\325t )-165(support)]TJ -/TT0 1 Tf -8.916 0 Td -(clock_nanosleep)Tj -/T1_0 1 Tf -9.415 0 Td -[(\(only )-165(Linux )-165(3.2.0 )-165(and )-165(Solaris )-165(10)]TJ --27.349 -1.25 Td -[(curr)18(ently support)]TJ -/TT0 1 Tf -8.049 0 Td -(clock_nanosleep)Tj -/T1_0 1 Tf -(.\))Tj --8.049 -2.125 Td -[(Additionally)111(,)-777(on)-777(systems )-527(that )-527(don\325t )-527(de\336ne)]TJ -/TT0 1 Tf -21.953 0 Td -(CLOCK_REALTIME)Tj -/T1_0 1 Tf -[(,)-777(we)-777(p)]TJ --0.018 Tc (ro)Tj -0 Tc 13.041 0 Td -[(vide )-527(our )-527(own)]TJ --34.994 -1.25 Td -[(implementation )-29(of)]TJ -/TT0 1 Tf -8.498 0 Td -(clock_gettime)Tj -/T1_0 1 Tf -8.079 0 Td -[(that )-29(calls)]TJ -/TT0 1 Tf -4.243 0 Td -(gettimeofday)Tj -/T1_0 1 Tf -7.479 0 Td -[(and )-29(translates )-29(micr)18(oseconds )-29(to)]TJ --28.299 -1.25 Td -(nanoseconds.)Tj -9.9988 0 0 9.9988 147.5831 338.4584 Tm -[(The )-3(caller )-3(of)]TJ -/TT0 1 Tf -5.714 0 Td -(timeout)Tj -/T1_0 1 Tf -4.454 0 Td -[(needs )-3(to )-3(hold )-3(a )-3(mutex )-3(to )-3(check )-3(the )-3(condition )-3(and )-3(to )-3(schedule)]TJ --11.967 -1.2 Td -(the)Tj -/TT0 1 Tf -1.793 0 Td -(retry)Tj -/T1_0 1 Tf -3.406 0 Td -[(function )-156(as )-156(an )-156(atomic )-156(operation.)-655(The)]TJ -/TT0 1 Tf -17.578 0 Td -(retry)Tj -/T1_0 1 Tf -3.406 0 Td -[(function )-156(will )-156(try )-156(to )-156(lock )-156(the)]TJ --26.183 -1.2 Td -[(same )-237(mutex.)-737(Unless )-237(the )-237(mutex )-237(is )-237(r)20(ecursive, )-236(a )-236(deadlock )-236(will )-236(occur )-236(if )-236(the)]TJ -/TT0 1 Tf -34.8 0 Td -(timeout)Tj -/T1_0 1 Tf --34.8 -1.2 Td -(function calls)Tj -/TT0 1 Tf -6.157 0 Td -(retry)Tj -/T1_0 1 Tf -3.25 0 Td -[(dir)18(ectly)111(.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3025.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9978 0 0 11.9978 129.5767 264.0515 Tm -[(12.4.2 )-556(Reader\320Writer)-556(Loc)]TJ -0.556 Tc 12.763 0 Td -(kA)Tj -0 Tc 1.834 0 Td -[(ttrib)20(utes)]TJ -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5766 242.4554 Tm -[(Reader\320writer )-970(locks )-970(also )-970(have )-970(attributes, )-970(similar )-970(to )-970(mutexes.)]TJ --0.092 Tc 34.888 0 Td -[(We )-1154(u)]TJ -0 Tc 3.21 0 Td -(se)Tj -/TT0 1 Tf --38.097 -1.2 Td -(pthread_rwlockattr_init)Tj -/T1_0 1 Tf -14.187 0 Td -[(to )-137(initialize )-137(a)]TJ -/TT0 1 Tf -6.376 0 Td -(pthread_rwlockattr_t)Tj -/T1_0 1 Tf -12.387 0 Td -[(str)8(uctur)]TJ -0.3874 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.366 0 Td -(nd)Tj -/TT0 1 Tf --37.807 -1.2 Td -(pthread_rwlockattr_destroy)Tj -/T1_0 1 Tf -15.85 0 Td -[(to deinitialize the str)8(uctur)18(e.)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.5735 200.5629 Tm -(#include )Tj -0 -2.021 TD -(int pthread_rwlockattr_init\(pthread_rwlockattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -0 -2.021 TD -(int pthread_rwlockattr_destroy\(pthread_rwlockattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -19.681 -2.021 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1415.25 cm -0 0 m -0 681 l -3900 681 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46980 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(528)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(kernel )-23(daemons )-23(decide )-23(when )-23(dirty )-23(pages )-23(ar)]TJ -0.2733 Tc 19.455 0 Td -(ew)Tj -0 Tc 1.586 0 Td -[(ritten )-23(back )-23(based )-23(on )-23(\(a\) )-23(system )-23(load )-23(and)]TJ --21.041 -1.2 Td -[(\(b\) )-121(con\336guration )-121(parameters )-121(meant )-121(to )-121(limit )-121(data )-121(loss )-121(in )-121(the )-121(event )-121(of )-121(a )-121(system )-121(failur)21(e.)]TJ -0 -1.2 TD -[(When )-185(the )-185(changes )-185(ar)]TJ -0.4355 Tc 9.781 0 Td -(ew)Tj -0 Tc 1.749 0 Td -[(ritten )-185(back, )-185(they )-185(ar)]TJ -0.4355 Tc 8.829 0 Td -(ew)Tj -0 Tc 1.749 0 Td -[(ritten )-185(in )-185(units )-185(of )-185(pages.)-687(Thus, )-185(if )-185(we)]TJ --22.106 -1.2 Td -[(modify )-86(only )-86(one )-86(byte )-86(in )-86(a )-86(page, )-86(when )-86(the )-86(change )-86(is )-86(written )-86(back )-86(to )-86(the )-86(\336le, )-86(the )-86(entir)18(e)]TJ -T* -(page will be written.)Tj -1.8 -1.2 Td -[(If )-102(the )-102(pages )-102(in )-102(a )-102(shar)18(ed )-102(mapping )-102(have )-102(been )-102(modi\336ed, )-102(we )-102(can )-102(call)]TJ -/TT0 1 Tf -30.408 0 Td -(msync)Tj -/T1_1 1 Tf -3.352 0 Td -[(to )-102(\337ush)]TJ --35.559 -1.2 Td -[(the )-34(changes )-34(to )-34(the )-34(\336le )-34(that )-34(backs )-34(the )-34(mapping.)-532(The)]TJ -/TT0 1 Tf -23.212 0 Td -(msync)Tj -/T1_1 1 Tf -3.284 0 Td -[(function )-34(is )-34(similar )-34(to)]TJ -/TT0 1 Tf -9.504 0 Td -(fsync)Tj -/T1_1 1 Tf --36 -1.2 Td -[(\(Section 3.13\), but works on memory-mapped r)18(egions.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 568.2659 Tm -(#include )Tj -0 -1.902 TD -(int msync\(void *)Tj -/T1_2 1 Tf -(addr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 13.233 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(len)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.023 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -5.195 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5295.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 515.9981 Tm -[(If )-373(the )-373(mapping )-373(is )-373(private, )-373(the )-373(\336le )-373(mapped )-373(is )-373(not )-373(modi\336ed.)-873(As )-373(with )-373(the )-373(other)]TJ -0 -1.2 TD -[(memory-mapped functions, the addr)18(ess must be aligned on a page boundary)111(.)]TJ -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.059 0 Td -(\337ags)Tj -/T1_1 1 Tf -2.263 0 Td -[(ar)18(gument )-135(allows )-135(us )-135(some )-135(contr)18(ol )-135(over )-135(how )-135(the )-135(memory )-135(is )-135(\337ushed.)]TJ --0.092 Tc 31.492 0 Td -(We)Tj -0 Tc -37.613 -1.2 Td -[(can )-74(specify )-74(the)]TJ -/TT0 1 Tf -7.012 0 Td -(MS_ASYNC)Tj -/T1_1 1 Tf -5.124 0 Td -[(\337ag )-74(to )-74(simply )-74(schedule )-74(the )-74(pages )-74(to )-74(be )-74(written.)-571(If )-74(we )-74(want)]TJ --12.136 -1.2 Td -[(to )-7(wait )-7(for )-7(the )-7(writes )-7(to )-7(complete )-7(befor)]TJ -0.2572 Tc 17.242 0 Td -(er)Tj -0 Tc 1.113 0 Td -[(eturning, )-7(we )-7(can )-7(use )-7(the)]TJ -/TT0 1 Tf -11.082 0 Td -(MS_SYNC)Tj -/T1_1 1 Tf -4.457 0 Td -[(\337ag. )-257(Either)]TJ -/TT0 1 Tf --33.895 -1.2 Td -(MS_ASYNC)Tj -/T1_1 1 Tf -5.05 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(MS_SYNC)Tj -/T1_1 1 Tf -4.45 0 Td -(must be speci\336ed.)Tj --8.891 -1.2 Td -[(An )-61(optional )-61(\337ag,)]TJ -/TT0 1 Tf -7.891 0 Td -(MS_INVALIDATE)Tj -/T1_1 1 Tf -0.3114 Tc (,l)Tj -0 Tc 8.652 0 Td -[(ets )-61(us )-61(tell )-61(the )-61(operating )-61(system )-61(to )-61(discar)]TJ -0.3113 Tc 18.096 0 Td -(da)Tj -0 Tc 1.422 0 Td -(ny)Tj --37.862 -1.2 Td -[(pages )-189(that )-189(ar)]TJ -0.4395 Tc 6.05 0 Td -(eo)Tj -0 Tc 1.464 0 Td -[(ut )-189(of )-189(sync )-189(with )-189(the )-189(underlying )-189(storage.)-689(Some )-189(implementations )-189(will)]TJ --7.514 -1.2 Td -(discar)Tj -0.336 Tc 2.647 0 Td -(da)Tj -0 Tc 1.447 0 Td -[(ll )-86(pages )-86(in )-86(the )-86(speci\336ed )-86(range )-86(when )-86(we )-86(use )-86(this )-86(\337ag, )-86(but )-86(this )-86(behavior )-86(is )-86(not)]TJ --0.018 Tc -4.094 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(ed.)]TJ -7.999 0 0 7.999 183.578 388.0134 Tm -(The)Tj -/TT0 1 Tf -2.012 0 Td -(msync)Tj -/T1_1 1 Tf -3.338 0 Td -[(function )-88(is )-88(included )-88(in )-88(the )-88(XSI )-88(option )-88(in )-88(the )-88(Single )-88(UNIX )-88(Speci\336cation.)-588(As )-88(such,)]TJ --5.35 -1.25 Td -(all UNIX systems must support it.)Tj -0.2628 Tc 9.9988 0 0 9.9988 147.5823 358.017 Tm -(Am)Tj -0 Tc 1.924 0 Td -[(emory-mapped )-13(r)18(egion )-13(is )-13(automatically )-13(unmapped )-13(when )-13(the )-13(pr)19(ocess )-13(terminates)]TJ --3.724 -1.2 Td -[(or )-173(we )-173(can )-173(unmap )-173(a )-173(r)18(egion )-173(dir)18(ectly )-173(by )-173(calling )-173(the)]TJ -/TT0 1 Tf -23.339 0 Td -(munmap)Tj -/T1_1 1 Tf -4.023 0 Td -[(function. )-423(Closing)-424(the )-173(\336le)]TJ --27.362 -1.2 Td -[(descriptor used when we mapped the r)18(egion does not unmap the r)18(egion.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5822 317.3219 Tm -(#include )Tj -0 -1.902 TD -(int munmap\(void *)Tj -/T1_2 1 Tf -(addr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 13.833 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(len)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -9.418 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2786.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 265.0723 Tm -(The)Tj -/TT0 1 Tf -2.054 0 Td -(munmap)Tj -/T1_1 1 Tf -3.98 0 Td -[(function )-130(does )-130(not )-130(af)18(fect )-130(the )-130(object )-130(that )-130(was )-130(mapped)]TJ -0.0833 Tc 23.878 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(hat )-130(is, )-130(the )-130(call )-130(to)]TJ -/TT0 1 Tf --31.322 -1.2 Td -(munmap)Tj -/T1_1 1 Tf -3.891 0 Td -[(does )-41(not )-41(cause )-41(the )-41(contents )-41(of )-41(the )-41(mapped )-41(r)14(egion )-42(to )-42(be )-42(written )-42(to )-42(the )-42(disk )-42(\336le.)]TJ --3.892 -1.2 Td -[(The )-120(updating )-120(of )-120(the )-120(disk )-120(\336le )-120(for )-120(a)]TJ -/TT0 1 Tf -15.999 0 Td -(MAP_SHARED)Tj -/T1_1 1 Tf --0.018 Tc 6.37 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(gion )-120(happens )-120(automatically )-120(by )-120(the)]TJ --23.224 -1.2 Td -[(kernel\325s )-124(virtual )-124(memory )-124(algorithm )-124(sometime )-124(after )-124(we )-124(stor)]TJ -0.3742 Tc 26.516 0 Td -(ei)Tj -0 Tc 1.144 0 Td -[(nto )-124(the )-124(memory-mapped)]TJ --0.018 Tc -27.661 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(gion. )-416(Modi\336cations)-415(to )-166(memory )-166(in )-166(a)]TJ -/TT0 1 Tf -17.067 0 Td -(MAP_PRIVATE)Tj -/T1_1 1 Tf --0.018 Tc 7.016 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(gion )-165(ar)]TJ -0.4155 Tc 3.268 0 Td -(ed)Tj -0 Tc 1.506 0 Td -[(iscar)18(ded )-165(when )-165(the)]TJ --0.018 Tc -30.568 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(gion is unmapped.)Tj -/TT2 1 Tf --4.456 -2.88 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.16 Td -[(The )-331(pr)18(ogram )-331(in )-331(Figur)]TJ -0.5809 Tc 10.531 0 Td -(e1)Tj -0 Tc 1.56 0 Td -[(4.27 )-331(copies )-331(a )-331(\336le )-331(\(similar )-331(to )-331(the)]TJ -/TT0 1 Tf -16.143 0 Td -(cp)Tj -/T1_1 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.914 -0.04 Td -[(command\) )-331(using)]TJ --31.181 -1.2 Td -(memory-mapped I/O.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46981 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(526)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2112 6494 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 238.1857 640.4016 Tm -(stack)Tj --2.75 -6.575 Td -(memory-mapped)Tj -0.854 -1.25 Td -(portion of \336le)Tj -1.939 -7.475 Td -(heap)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2112 4910 720 216 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 215.8741 504.9794 Tm -(uninitialized data)Tj -2.879 -1.25 Td -(\(bss\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2112 4766 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 220.6003 481.9532 Tm -(initialized data)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2112 4550 720 216 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 240.5543 463.9286 Tm -(text)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2112.25 6350.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2188.25 6350.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2264.25 6350.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2340.25 6350.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2416.25 6350.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2492.25 6350.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2568.25 6350.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2644.25 6350.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2719.25 6350.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2796.25 6350.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2112.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2188.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2264.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2340.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2416.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2492.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2568.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2644.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2719.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2796.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2112.25 6206.25 cm -0 0 m -720 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2112.25 5486.25 cm -0 0 m -720 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2112 5126 720 1368 re -S -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 163.6549 656.8429 Tm -[(high addr)18(ess)]TJ -0.34 -24.85 Td -[(low addr)18(ess)]TJ -ET -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 207.6 548.6 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 2076 5486 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2004.25 5486.25 cm -0 0 m --144 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 149.2423 546.6432 Tm -(start addr)Tj -ET -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 196.8 548.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 1968 5486 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 196.8 620.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 1968 6206 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1968.25 5558.25 cm -0 0 m -0 576 l -S -Q -Q -BT -/T1_2 1 Tf -7.9962 0 0 7.9962 184.9272 582.5603 Tm -(len)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -0.699 g -340.8 455 36 21.6 re -f -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -3408 4550 360 216 re -S -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -3768 4550 720 216 re -S -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 381.5939 468.7868 Tm -(memory-mapped)Tj -0.854 -1.25 Td -(portion of \336le)Tj -ET -q -0.9994601 0 0 0.9994601 0 0 cm -0.699 g -448.8 455 14.4 21.6 re -f -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -4488 4550 144 216 re -S -Q -BT -/T1_1 1 Tf -7.9952 0 0 7.9952 325.6046 463.7617 Tm -(\336le:)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3408.25 4478.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3768.25 4478.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4488.25 4478.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 340.8 444.2 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 3408 4442 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 376.8 444.2 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 3768 4442 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3480.25 4442.25 cm -0 0 m -216 0 l -S -Q -Q -BT -/T1_2 1 Tf -7.9938 0 0 7.9938 354.5234 437.0989 Tm -(off)Tj -ET -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 376.8 437 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 3768 4370 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 448.8 437 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 4488 4370 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3840.25 4370.25 cm -0 0 m -576 0 l -S -Q -Q -BT -/T1_2 1 Tf -7.9928 0 0 7.9928 407.541 429.8529 Tm -(len)Tj -ET -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4488 5702.0098 cm -0 0 m --0.05 12.01 -0.54 24.02 -1.45 36 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4482.23 5777.6099 cm -0 0 m --1.73 11.83 -3.9 23.6 -6.48 35.27 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4465.6802 5851.04 cm -0 0 m --3.68 11.42 -7.76 22.71 -12.24 33.84 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4437.6099 5920.8799 cm -0 0 m --5.13 11 -10.66 21.81 -16.57 32.41 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4400.1602 5986.3901 cm -0 0 m --6.86 9.86 -14.06 19.47 -21.6 28.81 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4352.6401 6045.4399 cm -0 0 m --8.1 8.69 -16.51 17.1 -25.2 25.2 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.2002 6096.5601 cm -0 0 m --9.34 7.54 -18.95 14.74 -28.81 21.6 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4235.29 6139.04 cm -0 0 m --10.6 5.91 -21.41 11.44 -32.41 16.57 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4166.8799 6171.4399 cm -0 0 m --11.13 4.48 -22.42 8.56 -33.84 12.24 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4094.8799 6193.75 cm -0 0 m --11.67 2.58 -23.45 4.75 -35.28 6.48 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4020.01 6204.5498 cm -0 0 m --11.98 0.91 -23.99 1.4 -36 1.45 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3984.25 6206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3910.25 6206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3835.25 6206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3761.25 6206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3686.25 6206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3612.25 6206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3537.25 6206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3463.25 6206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3388.25 6206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3314.25 6206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3240.25 6206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3165.25 6206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3091.25 6206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3017.25 6206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2942.25 6206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2868.25 6206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4488.25 5702.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4488.25 5627.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4488.25 5552.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4488.25 5476.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4488.25 5402.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4488.25 5327.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4488.25 5252.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4488.25 5177.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4488.25 5102.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4488.25 5027.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4488.25 4952.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4488.25 4877.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4488.25 4802.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3768 5126 cm -0 0 m -0.01 1.2 0.02 2.41 0.02 3.62 c -0.02 14.43 -0.47 25.23 -1.44 36 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3760.0901 5200.8799 cm -0 0 m --2.52 11.91 -5.65 23.69 -9.36 35.28 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3736.3201 5272.8799 cm -0 0 m --4.73 11.06 -10.02 21.88 -15.84 32.4 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3698.8799 5338.3901 cm -0 0 m --7.2 9.74 -14.89 19.12 -23.04 28.09 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3648.48 5393.8398 cm -0 0 m --8.97 8.15 -18.35 15.84 -28.09 23.04 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3587.28 5438.48 cm -0 0 m --10.52 5.82 -21.34 11.11 -32.4 15.84 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3518.1599 5468.73 cm -0 0 m --11.59 3.71 -23.37 6.84 -35.28 9.36 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3444.01 5484.5601 cm -0 0 m --10.76 0.97 -21.57 1.46 -32.38 1.46 c --33.58 1.46 -34.8 1.45 -36 1.44 c -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3408.25 5486.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3331.25 5486.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3254.25 5486.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3177.25 5486.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3099.25 5486.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3022.25 5486.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2945.25 5486.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2868.25 5486.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3768.25 5126.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3768.25 5061.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3768.25 4996.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3768.25 4931.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3768.25 4867.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3768.25 4802.25 cm -0 0 m -0 -36 l -S -Q -Q -BT -/T1_0 1 Tf -7.9923 0 0 7.9923 238.0514 407.8083 Tm -(Figure 14.26)Tj -/T1_1 1 Tf -6.195 0 Td -(Example of a memory-mapped \336le)Tj -9.9904 0 0 9.9904 129.4758 376.6382 Tm -[(the )-240(mapped )-240(memory )-240(being )-240(somewher)]TJ -0.4901 Tc 17.829 0 Td -(eb)Tj -0 Tc 1.522 0 Td -[(etween )-240(the )-240(heap )-240(and )-240(the )-240(stack: )-240(this )-240(is )-240(an)]TJ --19.352 -1.2 Td -[(implementation detail and may dif)18(fer fr)18(om one implementation to the next.)]TJ -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(\337ag)Tj -/T1_1 1 Tf -1.739 0 Td -[(ar)18(gument af)18(fects various attributes of the mapped r)18(egion.)]TJ -/TT0 1 Tf --3.663 -2.04 Td -(MAP_FIXED)Tj -/T1_1 1 Tf -7.8 0 Td -[(The )-46(r)18(eturn )-46(value )-46(must )-46(equal)]TJ -/T1_2 1 Tf -13.021 0 Td -(addr)Tj -/T1_1 1 Tf -0.5456 Tc (.U)Tj -0 Tc 3.407 0 Td -[(se )-46(of )-46(this )-46(\337ag )-46(is )-46(discouraged,)]TJ --16.428 -1.2 Td -[(as )-97(it )-97(hinders )-97(portability)]TJ -0.5966 Tc 10.51 0 Td -(.I)Tj -0.3466 Tc 1.184 0 Td -(ft)Tj -0 Tc 1.006 0 Td -[(his )-96(\337ag )-96(is )-96(not )-96(speci\336ed )-96(and )-96(if)]TJ -/T1_2 1 Tf -13.807 0 Td -(addr)Tj -/T1_1 1 Tf -2.179 0 Td -(is)Tj --28.685 -1.2 Td -[(nonzer)18(o, )-75(then )-75(the )-75(kernel )-75(uses)]TJ -/T1_2 1 Tf -13.556 0 Td -(addr)Tj -/T1_1 1 Tf -2.158 0 Td -[(as )-75(a )-75(hint )-75(of )-75(wher)17(e)-325(to)-325(p)-1(lace )-75(the)]TJ --15.714 -1.2 Td -[(mapped )-327(r)18(egion, )-327(but )-327(ther)]TJ -0.5775 Tc 11.735 0 Td -(ei)Tj -0 Tc 1.347 0 Td -[(s)-577(no)-577(g)-1(uarantee )-327(that )-327(the )-327(r)17(equested)]TJ --13.082 -1.2 Td -[(addr)18(ess )-451(will )-451(be )-451(used.)-951(Maximum )-451(portability )-451(is )-451(obtained )-451(by)]TJ -0 -1.2 TD -(specifying)Tj -/T1_2 1 Tf -4.807 0 Td -(addr)Tj -/T1_1 1 Tf -2.083 0 Td -(as 0.)Tj -7.9923 0 0 7.9923 255.3553 252.3576 Tm -[(Support )-468(for )-468(the)]TJ -/TT0 1 Tf -8.411 0 Td -(MAP_FIXED)Tj -/T1_1 1 Tf -6.118 0 Td -[(\337ag )-468(is )-468(optional )-468(on )-468(POSIX-conforming)]TJ --14.529 -1.25 Td -[(systems, but r)18(equir)18(ed on XSI-conforming systems.)]TJ -/TT0 1 Tf -9.9904 0 0 9.9904 147.459 221.3874 Tm -(MAP_SHARED)Tj -/T1_1 1 Tf -7.8 0 Td -[(This )-256(\337ag )-256(describes )-256(the )-256(disposition )-256(of )-256(stor)]TJ -0.5059 Tc 19.581 0 Td -(eo)Tj -0 Tc 1.531 0 Td -[(perations )-256(into )-256(the)]TJ --21.112 -1.2 Td -[(mapped )-323(r)18(egion )-323(by )-323(this )-323(pr)16(ocess. )-573(This)-574(\337ag )-323(speci\336es )-323(that )-323(stor)17(e)]TJ --0 -1.2 Td -[(operations )-145(modify )-145(the )-145(mapped )-145(\336le)]TJ -0.0833 Tc 16.01 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(hat )-145(is, )-145(a )-145(stor)]TJ -0.395 Tc 5.731 0 Td -(eo)Tj -0 Tc 1.42 0 Td -[(peration )-145(is)]TJ --24.57 -1.2 Td -[(equivalent )-251(to )-251(a)]TJ -/TT0 1 Tf -7.552 0 Td -(write)Tj -/T1_1 1 Tf -3.501 0 Td -[(to )-251(the )-251(\336le.)-751(Either )-251(this )-251(\337ag )-251(or )-251(the )-251(next)]TJ --11.054 -1.2 Td -(\()Tj -/TT0 1 Tf -(MAP_PRIVATE)Tj -/T1_1 1 Tf -(\), but not both, must be speci\336ed.)Tj -/TT0 1 Tf --7.8 -1.96 Td -(MAP_PRIVATE)Tj -/T1_1 1 Tf -7.8 0 Td -[(This )-1(\337ag )-1(says )-1(that )-1(stor)]TJ -0.2507 Tc 9.888 0 Td -(eo)Tj -0 Tc 1.276 0 Td -[(perations )-1(into )-1(the )-1(mapped )-1(r)19(egion )-1(cause )-1(a)]TJ --11.164 -1.2 Td -[(private )-272(copy )-272(of )-272(the )-272(mapped )-272(\336le )-272(to )-272(be )-272(cr)16(eated. )-522(All)-523(successive)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46982 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(472)Tj -/T1_1 1 Tf -3.5 0 Td -[(Daemon )-250(Pr)18(ocesses )]TJ -38.741 0 Td -[(Chapter)-500(13)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1584.25 6670.25 cm -0 0 m -3323 0 l -S -Q -Q -BT -/T1_2 1 Tf -7.9995 0 0 7.9995 180.0772 658.9605 Tm -(facility)Tj -/T1_1 1 Tf -6.498 0 Td -(XSI )Tj -14.854 0 Td -(Description)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1584.25 6550.25 cm -0 0 m -3323 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1584.25 6530.25 cm -0 0 m -3323 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 162.4525 644.9226 Tm -(LOG_AUDIT)Tj -/T1_1 1 Tf -11.729 0 Td -(the audit facility)Tj -/TT0 1 Tf --11.729 -1.25 Td -(LOG_AUTH)Tj -/T1_1 1 Tf -11.729 0 Td -[(authorization pr)18(ograms:)]TJ -/TT0 1 Tf -11.02 0 Td -(login)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.5 0 Td -(su)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -1.7 0 Td -(getty)Tj -/T1_1 1 Tf -0.25 Tc (,.)Tj -0 Tc 3.75 0 Td -(..)Tj -/TT0 1 Tf --31.699 -1.25 Td -(LOG_AUTHPRIV)Tj -/T1_1 1 Tf -11.729 0 Td -(same as)Tj -/TT0 1 Tf -3.71 0 Td -(LOG_AUTH)Tj -/T1_1 1 Tf -0.25 Tc (,b)Tj -0 Tc 5.853 0 Td -[(ut logged to \336le with r)18(estricted permissions)]TJ -/TT0 1 Tf --21.292 -1.25 Td -(LOG_CONSOLE)Tj -/T1_1 1 Tf -11.729 0 Td -(messages written to)Tj -/TT0 1 Tf -9.024 0 Td -(/dev/console)Tj --20.753 -1.25 Td -(LOG_CRON )Tj -11.729 0 Td -(cron)Tj -/T1_1 1 Tf -2.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(at)Tj --16.322 -1.25 Td -(LOG_DAEMON)Tj -/T1_1 1 Tf -11.729 0 Td -(system daemons:)Tj -/TT0 1 Tf -7.867 0 Td -(inetd)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.5 0 Td -(routed)Tj -/T1_1 1 Tf -0.25 Tc (,.)Tj -0 Tc 4.35 0 Td -(..)Tj -/TT0 1 Tf --27.446 -1.25 Td -(LOG_FTP)Tj -/T1_1 1 Tf -11.729 0 Td -(the FTP daemon \()Tj -/TT0 1 Tf -(ftpd)Tj -/T1_1 1 Tf -(\))Tj -/TT0 1 Tf --11.729 -1.25 Td -(LOG_KERN)Tj -/T1_1 1 Tf -11.729 0 Td -(messages generated by the kernel)Tj -/TT0 1 Tf --11.729 -1.25 Td -(LOG_LOCAL0)Tj -/T1_1 1 Tf -1.9615 Tc 9.162 0 Td -(\245r)Tj -0 Tc 2.944 0 Td -(eserved for local use)Tj -/TT0 1 Tf --12.106 -1.25 Td -(LOG_LOCAL1)Tj -/T1_1 1 Tf -1.9615 Tc 9.162 0 Td -(\245r)Tj -0 Tc 2.944 0 Td -(eserved for local use)Tj -/TT0 1 Tf --12.106 -1.25 Td -(LOG_LOCAL2)Tj -/T1_1 1 Tf -1.9615 Tc 9.162 0 Td -(\245r)Tj -0 Tc 2.944 0 Td -(eserved for local use)Tj -/TT0 1 Tf --12.106 -1.25 Td -(LOG_LOCAL3)Tj -/T1_1 1 Tf -1.9615 Tc 9.162 0 Td -(\245r)Tj -0 Tc 2.944 0 Td -(eserved for local use)Tj -/TT0 1 Tf --12.106 -1.25 Td -(LOG_LOCAL4)Tj -/T1_1 1 Tf -1.9615 Tc 9.162 0 Td -(\245r)Tj -0 Tc 2.944 0 Td -(eserved for local use)Tj -/TT0 1 Tf --12.106 -1.25 Td -(LOG_LOCAL5)Tj -/T1_1 1 Tf -1.9615 Tc 9.162 0 Td -(\245r)Tj -0 Tc 2.944 0 Td -(eserved for local use)Tj -/TT0 1 Tf --12.106 -1.25 Td -(LOG_LOCAL6)Tj -/T1_1 1 Tf -1.9615 Tc 9.162 0 Td -(\245r)Tj -0 Tc 2.944 0 Td -(eserved for local use)Tj -/TT0 1 Tf --12.106 -1.25 Td -(LOG_LOCAL7)Tj -/T1_1 1 Tf -1.9615 Tc 9.162 0 Td -(\245r)Tj -0 Tc 2.944 0 Td -(eserved for local use)Tj -/TT0 1 Tf --12.106 -1.25 Td -(LOG_LPR)Tj -/T1_1 1 Tf -11.729 0 Td -(line printer system:)Tj -/TT0 1 Tf -8.804 0 Td -(lpd)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.3 0 Td -(lpc)Tj -/T1_1 1 Tf -0.25 Tc (,.)Tj -0 Tc 2.55 0 Td -(..)Tj -/TT0 1 Tf --25.383 -1.25 Td -(LOG_MAIL)Tj -/T1_1 1 Tf -11.729 0 Td -(the mail system)Tj -/TT0 1 Tf --11.729 -1.25 Td -(LOG_NEWS)Tj -/T1_1 1 Tf -11.729 0 Td -(the Usenet network news system)Tj -/TT0 1 Tf --11.729 -1.25 Td -(LOG_NTP)Tj -/T1_1 1 Tf -11.729 0 Td -[(the network time pr)18(otocol system)]TJ -/TT0 1 Tf --11.729 -1.25 Td -(LOG_SECURITY)Tj -/T1_1 1 Tf -11.729 0 Td -(the security subsystem)Tj -/TT0 1 Tf --11.729 -1.25 Td -(LOG_SYSLOG)Tj -/T1_1 1 Tf -11.729 0 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(syslogd)Tj -/T1_1 1 Tf -4.45 0 Td -(daemon itself)Tj -/TT0 1 Tf --17.816 -1.25 Td -(LOG_USER)Tj -/T1_1 1 Tf -1.9615 Tc 9.162 0 Td -(\245m)Tj -0 Tc 3.45 0 Td -[(essages fr)18(om other user pr)18(ocesses \(default\))]TJ -/TT0 1 Tf --12.612 -1.25 Td -(LOG_UUCP)Tj -/T1_1 1 Tf -11.729 0 Td -(the UUCP system)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1584.25 4110.25 cm -0 0 m -3323 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2503.25 4110.25 cm -0 0 m -0 2560 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2260.25 4110.25 cm -0 0 m -0 2560 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4907.25 4110.25 cm -0 0 m -0 2560 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1584.25 4110.25 cm -0 0 m -0 2560 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 240.7767 392.9293 Tm -(Figure 13.4)Tj -/T1_1 1 Tf -5.695 0 Td -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(facility)Tj -/T1_1 1 Tf -3.046 0 Td -[(ar)18(gument for)]TJ -/TT0 1 Tf -6.08 0 Td -(openlog)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2006.25 3682.25 cm -0 0 m -2480 0 l -S -Q -Q -BT -/T1_2 1 Tf -7.9981 0 0 7.9981 223.6103 360.1136 Tm -(level)Tj -/T1_1 1 Tf -14.091 0 Td -(Description)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2006.25 3562.25 cm -0 0 m -2480 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2006.25 3542.25 cm -0 0 m -2480 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 204.5386 346.0962 Tm -(LOG_EMERG)Tj -/T1_1 1 Tf -8.1 0 Td -[(emer)18(gency \(system is unusable\) \(highest priority\))]TJ -/TT0 1 Tf --8.1 -1.25 Td -(LOG_ALERT)Tj -/T1_1 1 Tf -8.1 0 Td -(condition that must be \336xed immediately)Tj -/TT0 1 Tf --8.1 -1.25 Td -(LOG_CRIT)Tj -/T1_1 1 Tf -8.1 0 Td -(critical condition \(e.g., har)Tj -0.25 Tc 11.528 0 Td -(dd)Tj -0 Tc 1.472 0 Td -[(evice err)18(or\))]TJ -/TT0 1 Tf --21.1 -1.25 Td -(LOG_ERR)Tj -/T1_1 1 Tf -8.1 0 Td -[(err)18(or condition)]TJ -/TT0 1 Tf --8.1 -1.25 Td -(LOG_WARNING)Tj -/T1_1 1 Tf -8.1 0 Td -(warning condition)Tj -/TT0 1 Tf --8.1 -1.25 Td -(LOG_NOTICE)Tj -/T1_1 1 Tf -8.1 0 Td -(normal, but signi\336cant condition)Tj -/TT0 1 Tf --8.1 -1.25 Td -(LOG_INFO)Tj -/T1_1 1 Tf -8.1 0 Td -(informational message)Tj -/TT0 1 Tf --8.1 -1.25 Td -(LOG_DEBUG)Tj -/T1_1 1 Tf -8.1 0 Td -(debug message \(lowest priority\))Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2006.25 2722.25 cm -0 0 m -2480 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2634.25 2722.25 cm -0 0 m -0 960 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4486.25 2722.25 cm -0 0 m -0 960 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2006.25 2722.25 cm -0 0 m -0 960 l -S -Q -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 252.0173 254.1085 Tm -(Figure 13.5)Tj -/T1_1 1 Tf -5.695 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(syslog)Tj -/T1_2 1 Tf -3.85 0 Td -(level)Tj -/T1_1 1 Tf -0.25 Tc (s\()Tj -0 Tc 2.841 0 Td -[(or)18(der)18(ed\))]TJ -9.9964 0 0 9.9964 147.5471 226.5184 Tm -[(In )-211(addition )-211(to)]TJ -/TT0 1 Tf -6.933 0 Td -(syslog)Tj -/T1_1 1 Tf -0.4614 Tc (,m)Tj -0 Tc 5.194 0 Td -[(any )-211(platforms )-211(pr)17(ovide )-211(a )-211(variant )-211(that )-211(handles )-211(variable)]TJ --13.928 -1.2 Td -[(ar)18(gument lists.)]TJ -/TT0 1 Tf -8.9968 0 0 8.9968 147.5473 199.0283 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(void vsyslog\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(priority)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.911 0 Td -(onst char *)Tj -/T1_2 1 Tf -(format)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 11.066 0 Td -(a_list)Tj -/T1_2 1 Tf -4.2 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1678.25 cm -0 0 m -0 403 l -3900 403 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 183.5229 145.089 Tm -[(All )-3(four )-3(platforms )-3(described )-3(in )-3(this )-3(book )-3(pr)19(ovide)]TJ -/TT0 1 Tf -22.013 0 Td -(vsyslog)Tj -/T1_1 1 Tf -0.253 Tc (,b)Tj -0 Tc 5.256 0 Td -[(ut )-3(this )-3(function )-3(is )-3(not )-3(included )-3(in)]TJ --27.269 -1.25 Td -[(the )-122(Single )-122(UNIX )-122(Speci\336cation.)-622(Note )-122(that )-122(to )-122(make )-122(its )-122(declaration )-122(visible )-122(to )-122(your )-122(application,)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46983 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.4)]TJ -31.602 0 Td -[(Synchr)18(onization )-250(Attributes)]TJ -/T1_1 1 Tf -14.231 0 Td -(431)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(PTHREAD_MUTEX_INITIALIZER)Tj -/T1_0 1 Tf -15.513 0 Td -[(constant )-263(or )-263(by )-263(calling )-263(the)]TJ -/TT0 1 Tf -12.687 0 Td -(pthread_mutex_init)Tj -/T1_0 1 Tf --28.2 -1.2 Td -[(function )-322(with )-322(a )-322(null )-322(pointer )-322(for )-322(the )-322(ar)18(gument )-322(that )-322(points )-322(to )-322(the )-322(mutex )-322(attribute)]TJ -0 -1.2 TD -[(str)8(uctur)18(e.)]TJ -1.8 -1.2 Td -[(When )-125(dealing )-125(with )-125(nondefault )-125(attributes, )-125(we )-125(use)]TJ -/TT0 1 Tf -22.753 0 Td -(pthread_mutexattr_init)Tj -/T1_0 1 Tf -13.575 0 Td -(to)Tj --38.128 -1.2 Td -[(initialize )-37(a)]TJ -/TT0 1 Tf -4.917 0 Td -(pthread_mutexattr_t)Tj -/T1_0 1 Tf -11.687 0 Td -[(str)8(uctur)]TJ -0.2873 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.266 0 Td -(nd)Tj -/TT0 1 Tf -1.48 0 Td -(pthread_mutexattr_destroy)Tj -/T1_0 1 Tf -15.287 0 Td -(to)Tj --38.128 -1.2 Td -(deinitialize one.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 592.2645 Tm -(#include )Tj -0 -1.902 TD -(int pthread_mutexattr_init\(pthread_mutexattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -T* -(int pthread_mutexattr_destroy\(pthread_mutexattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -19.681 -1.902 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5364.25 cm -0 0 m -0 649 l -3900 649 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 522.8772 Tm -(The)Tj -/TT0 1 Tf -2.021 0 Td -(pthread_mutexattr_init)Tj -/T1_0 1 Tf -13.547 0 Td -[(function )-97(will )-97(initialize )-97(the)]TJ -/TT0 1 Tf -12.032 0 Td -(pthread_mutexattr_t)Tj -/T1_0 1 Tf --27.6 -1.2 Td -[(str)8(uctur)]TJ -0.3989 Tc 3.49 0 Td -(ew)Tj -0 Tc 1.712 0 Td -[(ith )-149(the )-149(default )-149(mutex )-149(attributes.)-648(Ther)]TJ -0.3988 Tc 17.304 0 Td -(ea)Tj --0.018 Tc 1.378 0 Td -[(re )-185(t)]TJ -0 Tc 1.581 0 Td -[(hr)18(ee )-149(attributes )-149(of )-149(inter)18(est: )-149(the)]TJ -/T1_2 1 Tf --25.465 -1.2 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_0 1 Tf -6.153 0 Td -[(attribute, )-88(the)]TJ -/T1_2 1 Tf --0.018 Tc 6.112 0 Td -(ro)Tj -0 Tc 0.815 0 Td -(bust)Tj -/T1_0 1 Tf -2.079 0 Td -[(attribute, )-88(and )-88(the)]TJ -/T1_2 1 Tf -8.144 0 Td -(type)Tj -/T1_0 1 Tf -2.06 0 Td -[(attribute. )-338(W)55(ithin )-88(POSIX.1, )-88(the)]TJ -/T1_2 1 Tf --25.363 -1.2 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_0 1 Tf -6.336 0 Td -[(attribute )-271(is )-271(optional; )-271(you )-271(can )-271(test )-271(whether )-271(a )-271(platform )-271(supports )-271(it )-271(by)]TJ --6.336 -1.2 Td -[(checking )-15(whether )-15(the)]TJ -/TT0 1 Tf -9.792 0 Td -(_POSIX_THREAD_PROCESS_SHARED)Tj -/T1_0 1 Tf -17.065 0 Td -[(symbol )-15(is )-15(de\336ned.)]TJ --0.092 Tc 8.629 0 Td -(Yo)Tj -0.2647 Tc 1.121 0 Td -(uc)Tj -0 Tc 1.312 0 Td -(an)Tj --37.918 -1.2 Td -[(also )-17(check )-17(at )-17(r)8(untime )-17(by )-17(passing )-17(the)]TJ -/TT0 1 Tf -16.383 0 Td -(_SC_THREAD_PROCESS_SHARED)Tj -/T1_0 1 Tf -15.267 0 Td -[(parameter )-17(to )-17(the)]TJ -/TT0 1 Tf --31.65 -1.2 Td -(sysconf)Tj -/T1_0 1 Tf -4.66 0 Td -[(function. )-460(Although)-460(this )-210(option )-210(is )-210(not )-210(r)17(equir)18(ed )-210(to )-210(be )-210(pr)18(ovided )-210(by )-210(POSIX-)]TJ --4.66 -1.2 Td -[(conforming )-445(operating )-445(systems, )-445(the )-445(Single )-445(UNIX )-445(Speci\336cation )-445(r)17(equir)18(es )-445(that )-445(XSI-)]TJ -0 -1.2 TD -(conforming operating systems do support it.)Tj --0.055 Tc 1.8 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(thin )-26(a )-26(pr)18(ocess, )-26(multiple )-26(thr)17(eads )-26(can )-26(access )-26(the )-26(same )-26(synchr)18(onization )-26(object.)-528(This)]TJ --3.036 -1.2 Td -[(is )-91(the )-91(default )-91(behavior)74(,)-341(as)-341(we)-341(saw )-91(in )-91(Chapter )-91(1)55(1. )-341(In)-341(this )-91(case, )-91(the)]TJ -/T1_2 1 Tf -30.037 0 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_0 1 Tf -6.156 0 Td -(mutex)Tj --36.193 -1.2 Td -(attribute is set to)Tj -/TT0 1 Tf -7.615 0 Td -(PTHREAD_PROCESS_PRIVATE)Tj -/T1_0 1 Tf -(.)Tj --5.815 -1.2 Td -[(As )-137(we )-137(shall )-137(see )-137(in )-137(Chapters )-137(14 )-137(and )-137(15, )-137(mechanisms )-137(exist )-137(that )-137(allow )-137(independent)]TJ --1.8 -1.2 Td -[(pr)18(ocesses )-163(to )-163(map )-163(the )-163(same )-163(extent )-163(of )-163(memory )-163(into )-163(their )-163(independent )-163(addr)18(ess )-163(spaces.)]TJ -T* -[(Access )-150(to )-150(shar)18(ed )-150(data )-150(by )-150(multiple )-150(pr)16(ocesses )-150(usually )-150(r)17(equir)18(es )-150(synchr)18(onization, )-150(just )-150(as)]TJ -0 -1.2 Td -[(does )-102(access )-102(to )-102(shar)18(ed )-102(data )-102(by )-102(multiple )-102(thr)17(eads. )-352(If)-352(the)]TJ -/T1_2 1 Tf -24.808 0 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_0 1 Tf -6.167 0 Td -[(mutex )-102(attribute )-102(is)]TJ --30.975 -1.2 Td -[(set )-159(to)]TJ -/TT0 1 Tf -2.919 0 Td -(PTHREAD_PROCESS_SHARED)Tj -/T1_0 1 Tf -0.4092 Tc (,am)Tj -0 Tc 15.651 0 Td -[(utex )-159(allocated )-159(fr)18(om )-159(a )-159(memory )-159(extent )-159(shar)17(ed)]TJ --18.571 -1.2 Td -[(between multiple pr)18(ocesses may be used for synchr)18(onization by those pr)18(ocesses.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-799(c)]TJ -0 Tc 2.696 0 Td -[(an )-615(use )-615(the)]TJ -/TT0 1 Tf -6.571 0 Td -(pthread_mutexattr_getpshared)Tj -/T1_0 1 Tf -17.665 0 Td -[(function )-615(to )-615(query )-615(a)]TJ -/TT0 1 Tf --28.732 -1.2 Td -(pthread_mutexattr_t)Tj -/T1_0 1 Tf -11.818 0 Td -[(str)8(uctur)]TJ -0.4176 Tc 3.49 0 Td -(ef)Tj -0 Tc 1.23 0 Td -[(or )-168(its)]TJ -/T1_2 1 Tf -2.817 0 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_0 1 Tf -6.233 0 Td -[(attribute. )-418(W)]TJ -0.4177 Tc 5.625 0 Td -(ec)Tj -0 Tc 1.341 0 Td -[(an )-168(change )-168(the)]TJ -/T1_2 1 Tf --32.553 -1.2 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_0 1 Tf -6.065 0 Td -(attribute with the)Tj -/TT0 1 Tf -7.969 0 Td -(pthread_mutexattr_setpshared)Tj -/T1_0 1 Tf -17.05 0 Td -(function.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5832 263.8087 Tm -(#include )Tj -0 -2.021 TD -(int pthread_mutexattr_getpshared\(const pthread_mutexattr_t *)Tj -19.8 -1.189 Td -(restrict)Tj -/T1_2 1 Tf -5.4 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --5.4 -1.189 Td -(int *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj --28.2 -2.021 Td -(int pthread_mutexattr_setpshared\(pthread_mutexattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -19.8 -1.189 Td -(int)Tj -/T1_2 1 Tf -2.4 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --2.519 -2.021 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1726.25 cm -0 0 m -0 1002 l -3900 1002 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 156.7418 Tm -(The)Tj -/T1_2 1 Tf -2.04 0 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_0 1 Tf -6.181 0 Td -[(mutex )-116(attribute )-116(allows )-116(the )-116(pthr)18(ead )-116(library )-116(to )-116(pr)18(ovide )-116(mor)]TJ -0.366 Tc 26.413 0 Td -(ee)Tj --0.018 Tc 1.324 0 Td -(f\336)Tj -0 Tc 0.92 0 Td -(cient)Tj --36.878 -1.2 Td -[(mutex )-272(implementations )-272(when )-272(the )-272(attribute )-272(is )-272(set )-272(to)]TJ -/TT0 1 Tf -24.95 0 Td -(PTHREAD_PROCESS_PRIVATE)Tj -/T1_0 1 Tf -(,)Tj --24.95 -1.2 Td -[(which )-22(is )-22(the )-22(default )-22(case )-22(with )-22(multithr)18(eaded )-22(applications.)-520(The )-22(pthr)18(ead )-22(library )-22(can )-22(then)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46984 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.3)]TJ -35.67 0 Td -[(Thr)18(ead )-250(Attributes)]TJ -/T1_1 1 Tf -10.163 0 Td -(429)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.018 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -(re)Tj -0 Tc 0.856 0 Td -[(turn )-187(fr)18(om)]TJ -/TT0 1 Tf -4.919 0 Td -(pthread_attr_destroy)Tj -/T1_0 1 Tf -0.437 Tc (,t)Tj -0 Tc 13.013 0 Td -[(he )-187(worst )-187(that )-187(can )-187(happen )-187(is )-187(that )-187(we )-187(leak )-187(a)]TJ --18.788 -1.2 Td -[(small )-535(amount )-535(of )-535(memory )-535(if)]TJ -/TT0 1 Tf -15.001 0 Td -(pthread_attr_init)Tj -/T1_0 1 Tf -10.985 0 Td -[(had )-535(allocated )-535(any)]TJ -1.0354 Tc 8.779 0 Td -(.B)Tj -0 Tc 1.896 0 Td -[(ut )-535(if)]TJ -/TT0 1 Tf --36.662 -1.2 Td -(pthread_attr_init)Tj -/T1_0 1 Tf -11.002 0 Td -[(succeeded )-552(in )-552(initializing )-552(the )-552(thr)19(ead )-552(attributes )-552(and )-552(then)]TJ -/TT0 1 Tf --11.002 -1.2 Td -(pthread_attr_destroy)Tj -/T1_0 1 Tf -12.424 0 Td -[(failed )-174(to )-174(clean )-174(up, )-174(we )-174(have )-174(no )-174(r)18(ecovery )-174(strategy )-174(anyway)115(,)]TJ --12.424 -1.2 Td -[(because )-30(the )-30(attributes )-30(str)8(uctur)]TJ -0.2799 Tc 13.422 0 Td -(ei)Tj -0.2798 Tc 1.05 0 Td -(so)Tj -0 Tc 1.25 0 Td -[(paque )-30(to )-30(the )-30(application.)-530(The )-30(only )-30(interface )-30(de\336ned)]TJ --15.721 -1.2 Td -[(to clean up the str)8(uctur)]TJ -0.25 Tc 10.249 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(s)Tj -/TT0 1 Tf -0.674 0 Td -(pthread_attr_destroy)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 13 0 Td -(nd it just failed.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 6090.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 584.9298 Tm -[(Support )-162(for )-162(thr)18(ead )-162(stack )-162(attributes )-162(is )-162(optional )-162(for )-162(a )-162(POSIX-conforming )-162(operating)]TJ --1.8 -1.2 Td -[(system, )-268(but )-268(is )-268(r)17(equir)18(ed )-268(if )-268(the )-268(system )-268(supports )-268(the )-268(XSI )-268(option )-268(in )-268(the )-268(Single )-268(UNIX)]TJ -0 -1.2 TD -[(Speci\336cation. )-497(At)-497(compile )-247(time, )-247(you )-247(can )-247(check )-247(whether )-247(your )-247(system )-247(supports )-247(each)]TJ -T* -[(thr)18(ead )-697(stack )-697(attribute )-697(by )-697(using )-697(the)]TJ -/TT0 1 Tf -19.56 0 Td -(_POSIX_THREAD_ATTR_STACKADDR)Tj -/T1_0 1 Tf -17.747 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(_POSIX_THREAD_ATTR_STACKSIZE)Tj -/T1_0 1 Tf -17.089 0 Td -[(symbols. )-289(If)-289(one )-39(of )-39(these )-39(symbols )-39(is )-39(de\336ned, )-39(then)]TJ --17.089 -1.2 Td -[(the )-163(system )-163(supports )-163(the )-163(corr)18(esponding )-163(thr)18(ead )-163(stack )-163(attribute.)-661(Alternatively)]TJ -0.4127 Tc 34.694 0 Td -(,y)Tj -0 Tc 1.219 0 Td -[(ou )-163(can)]TJ --35.912 -1.2 Td -[(check )-356(for )-356(support )-356(at )-356(r)8(untime, )-356(by )-356(using )-356(the)]TJ -/TT0 1 Tf -21.701 0 Td -(_SC_THREAD_ATTR_STACKADDR)Tj -/T1_0 1 Tf -15.606 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(_SC_THREAD_ATTR_STACKSIZE)Tj -/T1_0 1 Tf -15.25 0 Td -(parameters to the)Tj -/TT0 1 Tf -7.991 0 Td -(sysconf)Tj -/T1_0 1 Tf -4.45 0 Td -(function.)Tj --0.092 Tc -25.891 -1.2 Td -[(We )-466(c)]TJ -0 Tc 2.363 0 Td -[(an )-282(manage )-282(the )-282(stack )-282(attributes )-282(using )-282(the)]TJ -/TT0 1 Tf -20.011 0 Td -(pthread_attr_getstack)Tj -/T1_0 1 Tf -13.132 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(pthread_attr_setstack)Tj -/T1_0 1 Tf -12.85 0 Td -(functions.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5826 460.2448 Tm -(#include )Tj -0 -1.783 TD -(int pthread_attr_getstack\(const pthread_attr_t *restrict)Tj -/T1_2 1 Tf -34.2 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --18.6 -1.189 Td -(void **restrict)Tj -/T1_2 1 Tf -9.6 0 Td -(stackaddr)Tj -/TT0 1 Tf -(,)Tj --9.6 -1.189 Td -(size_t *restrict)Tj -/T1_2 1 Tf -10.2 0 Td -(stacksize)Tj -/TT0 1 Tf -(\);)Tj --25.8 -1.783 Td -(int pthread_attr_setstack\(pthread_attr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -15.6 -1.189 Td -(void *)Tj -/T1_2 1 Tf -(stackaddr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 9.25 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(stacksize)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --8.769 -1.783 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3755.25 cm -0 0 m -0 938 l -3900 938 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.055 Tc 9.9982 0 0 9.9982 147.5734 361.9848 Tm -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-28(a )-28(pr)18(ocess, )-28(the )-28(amount )-28(of )-28(virtual )-28(addr)18(ess )-28(space )-28(is )-28(\336xed.)-528(Since )-28(ther)16(e)-278(is)-278(only )-28(one)]TJ --3.036 -1.2 Td -[(stack, )-221(its )-221(size )-221(usually )-221(isn\325t )-221(a )-221(pr)17(oblem. )-471(W)55(ith )-221(thr)18(eads, )-221(however)]TJ -0.4712 Tc 28.873 0 Td -(,t)Tj -0 Tc 1.047 0 Td -[(he )-221(same )-221(amount )-221(of)]TJ --29.92 -1.2 Td -[(virtual )-12(addr)18(ess )-12(space )-12(must )-12(be )-12(shar)18(ed )-12(by )-12(all )-12(the )-12(thr)18(ead )-12(stacks.)]TJ --0.092 Tc 27.598 0 Td -(Yo)Tj -0.2622 Tc 1.121 0 Td -(um)Tj -0 Tc 1.748 0 Td -[(ight )-12(have )-12(to )-12(r)17(educe)]TJ --30.467 -1.2 Td -[(your )-319(default )-319(thr)18(ead )-319(stack )-319(size )-319(if )-319(your )-319(application )-319(uses )-319(so )-319(many )-319(thr)16(eads )-319(that )-319(the)]TJ -0 -1.2 TD -[(cumulative )-18(size )-18(of )-18(their )-18(stacks )-18(exceeds )-18(the )-18(available )-18(virtual )-18(addr)22(ess )-17(space.)-517(On )-17(the )-17(other)]TJ -T* -[(hand, )-300(if )-300(your )-300(thr)18(eads )-300(call )-300(functions )-300(that )-300(allocate )-300(lar)20(ge )-300(automatic )-300(variables )-300(or )-300(call)]TJ -T* -(functions many stack frames deep, you might need mor)Tj -0.25 Tc 24.636 0 Td -(et)Tj -0 Tc 1.055 0 Td -(han the default stack size.)Tj --23.891 -1.2 Td -[(If )-130(you )-130(r)8(un )-130(out )-130(of )-130(virtual )-130(addr)18(ess )-130(space )-130(for )-130(thr)18(ead )-130(stacks, )-130(you )-130(can )-130(use)]TJ -/TT0 1 Tf -32.279 0 Td -(malloc)Tj -/T1_0 1 Tf -3.98 0 Td -(or)Tj -/TT0 1 Tf --38.059 -1.2 Td -(mmap)Tj -/T1_0 1 Tf -3.264 0 Td -[(\(see )-614(Section )-614(14.8\) )-614(to )-614(allocate )-614(space )-614(for )-614(an )-614(alternative )-614(stack )-614(and )-614(use)]TJ -/TT0 1 Tf --3.264 -1.2 Td -(pthread_attr_setstack)Tj -/T1_0 1 Tf -13.056 0 Td -[(to )-206(change )-206(the )-206(stack )-206(location )-206(of )-206(thr)18(eads )-206(you )-206(cr)18(eate. )-456(The)]TJ --13.056 -1.2 Td -[(addr)18(ess )-150(speci\336ed )-150(by )-150(the)]TJ -/T1_2 1 Tf -11.456 0 Td -(stackaddr)Tj -/T1_0 1 Tf -4.25 0 Td -[(parameter )-150(is )-150(the )-150(lowest )-150(addr)18(essable )-150(addr)19(ess )-150(in )-150(the)]TJ --15.706 -1.2 Td -[(range )-104(of )-104(memory )-104(to )-104(be )-104(used )-104(as )-104(the )-104(thr)18(ead\325s )-104(stack, )-104(aligned )-104(at )-104(the )-104(pr)18(oper )-104(boundary )-104(for)]TJ -T* -[(the )-73(pr)18(ocessor )-73(ar)17(chitectur)18(e. )-323(Of)-324(course, )-73(this )-73(assumes )-73(that )-73(the )-73(virtual )-73(addr)18(ess )-73(range )-73(used)]TJ -0 -1.2 Td -(by)Tj -/TT0 1 Tf -1.359 0 Td -(malloc)Tj -/T1_0 1 Tf -3.85 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(mmap)Tj -/T1_0 1 Tf -2.65 0 Td -[(is dif)18(fer)18(ent fr)18(om the range curr)18(ently in use for a thr)18(ead\325s stack.)]TJ --7.25 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.934 0 Td -(stackaddr)Tj -/T1_0 1 Tf -4.11 0 Td -[(thr)18(ead )-10(attribute )-10(is )-10(de\336ned )-10(as )-10(the )-10(lowest )-10(memory )-10(addr)18(ess )-10(for )-10(the )-10(stack.)]TJ --7.844 -1.2 Td -[(This )-246(is )-246(not )-246(necessarily )-246(the )-246(start )-246(of )-246(the )-246(stack, )-246(however)]TJ -0.7461 Tc 25.339 0 Td -(.I)Tj -0.4961 Tc 1.333 0 Td -(fs)Tj -0 Tc 1.253 0 Td -[(tacks )-246(gr)18(ow )-246(fr)18(om )-246(higher)]TJ --27.925 -1.2 Td -[(addr)18(esses )-191(to )-191(lower )-191(addr)18(esses )-191(for )-191(a )-191(given )-191(pr)18(ocessor )-191(ar)17(chitectur)18(e, )-191(the)]TJ -/T1_2 1 Tf -31.834 0 Td -(stackaddr)Tj -/T1_0 1 Tf -4.291 0 Td -[(thr)18(ead)]TJ --36.125 -1.2 Td -(attribute will be the end of the stack instead of the beginning.)Tj -1.8 -1.2 Td -[(An )-406(application )-406(can )-406(also )-406(get )-406(and )-406(set )-406(the)]TJ -/T1_2 1 Tf -20.54 0 Td -(stacksize)Tj -/T1_0 1 Tf -4.173 0 Td -[(thr)18(ead )-406(attribute )-406(using )-406(the)]TJ -/TT0 1 Tf --26.514 -1.2 Td -(pthread_attr_getstacksize)Tj -/T1_0 1 Tf -15.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(pthread_attr_setstacksize)Tj -/T1_0 1 Tf -15.25 0 Td -(functions.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46985 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.21)]TJ -35.022 0 Td -[(Job-Contr)18(ol )-250(Signals)]TJ -/T1_1 1 Tf -10.811 0 Td -(377)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(Mac )-73(OS )-73(X )-73(10.6.8 )-73(doesn\325t )-73(support)]TJ -/TT0 1 Tf -15.046 0 Td -(sigqueue)Tj -/T1_0 1 Tf -5.123 0 Td -[(or )-73(r)18(eal-time )-73(signals.)-573(On )-73(Solaris )-73(10,)]TJ -/TT0 1 Tf -15.994 0 Td -(sigqueue)Tj -/T1_0 1 Tf -5.123 0 Td -(is)Tj --41.285 -1.25 Td -[(in the r)18(eal-time library)111(,)]TJ -/TT0 1 Tf -10.339 0 Td -(librt)Tj -/T1_0 1 Tf -(.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5943 626.1624 Tm -[(10.21 )-220(Job-Contr)20(ol )-278(Signals)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5921 602.1639 Tm -(Of the signals shown in Figur)Tj -0.25 Tc 13.048 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(0.1, POSIX.1 considers six to be job-contr)18(ol signals:)]TJ -/TT0 1 Tf --12.477 -1.6 Td -(SIGCHLD)Tj -/T1_0 1 Tf -5.382 0 Td -[(Child pr)18(ocess has stopped or terminated.)]TJ -/TT0 1 Tf --5.382 -1.6 Td -(SIGCONT)Tj -/T1_0 1 Tf -5.382 0 Td -[(Continue pr)18(ocess, if stopped.)]TJ -/TT0 1 Tf --5.382 -1.6 Td -(SIGSTOP)Tj -/T1_0 1 Tf -5.382 0 Td -[(Stop signal \(can\325t be caught or ignor)18(ed\).)]TJ -/TT0 1 Tf --5.382 -1.6 Td -(SIGTSTP)Tj -/T1_0 1 Tf -5.382 0 Td -(Interactive stop signal.)Tj -/TT0 1 Tf --5.382 -1.6 Td -(SIGTTIN)Tj -/T1_0 1 Tf -5.382 0 Td -[(Read fr)18(om contr)18(olling terminal by backgr)18(ound pr)18(ocess gr)18(oup member)74(.)]TJ -/TT0 1 Tf --5.382 -1.6 Td -(SIGTTOU)Tj -/T1_0 1 Tf --0.074 Tc 5.382 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite to contr)18(olling terminal by a backgr)18(ound pr)18(ocess gr)18(oup member)74(.)]TJ --6.703 -2.4 Td -[(Except )-424(for)]TJ -/TT0 1 Tf -5.6 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -0.6743 Tc (,m)Tj -0 Tc 6.007 0 Td -[(ost )-424(application )-424(pr)17(ograms )-424(don\325t )-424(handle )-424(these )-424(signals:)]TJ --13.407 -1.2 Td -[(interactive )-95(shells )-95(usually )-95(do )-95(all )-95(the )-95(work )-95(r)15(equir)18(ed )-95(to )-95(handle )-95(them.)-595(When )-95(we )-95(type )-95(the)]TJ -0 -1.2 TD -[(suspend )-433(character )-433(\(usually )-433(Contr)18(ol)]TJ -16.816 0.09 Td -(-)Tj -0.333 -0.09 Td -(Z\),)Tj -/TT0 1 Tf -1.933 0 Td -(SIGTSTP)Tj -/T1_0 1 Tf -4.883 0 Td -[(is )-433(sent )-433(to )-433(all )-433(pr)18(ocesses )-433(in )-433(the)]TJ --23.964 -1.2 Td -[(for)18(egr)18(ound )-54(pr)18(ocess )-54(gr)19(oup. )-304(When)-303(we )-54(tell )-54(the )-54(shell )-54(to )-54(r)18(esume )-54(a )-54(job )-54(in )-54(the )-54(for)22(egr)18(ound )-54(or)]TJ --0 -1.2 Td -[(backgr)18(ound, )-12(the )-12(shell )-12(sends )-12(all )-12(the )-12(pr)18(ocesses )-12(in )-12(the )-12(job )-12(the)]TJ -/TT0 1 Tf -26.083 0 Td -(SIGCONT)Tj -/T1_0 1 Tf -4.462 0 Td -[(signal. )-262(Similarly)]TJ -0.2623 Tc 7.318 0 Td -(,i)Tj -0 Tc 0.803 0 Td -(f)Tj -/TT0 1 Tf --38.667 -1.2 Td -(SIGTTIN)Tj -/T1_0 1 Tf -4.533 0 Td -(or)Tj -/TT0 1 Tf -1.274 0 Td -(SIGTTOU)Tj -/T1_0 1 Tf -4.533 0 Td -[(is )-83(deliver)18(ed )-83(to )-83(a )-83(pr)17(ocess, )-83(the )-83(pr)18(ocess )-83(is )-83(stopped )-83(by )-83(default, )-83(and)]TJ --10.341 -1.2 Td -[(the job-contr)18(ol shell r)18(ecognizes this and noti\336es us.)]TJ -1.8 -1.2 Td -[(An )-251(exception )-251(is )-251(a )-251(pr)17(ocess )-251(that )-251(is )-251(managing )-251(the )-251(terminal)]TJ -0.0833 Tc 26.762 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -(he)Tj -/TT0 1 Tf -1.562 0 Td -(vi)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.834 -0.04 Td -(editor)Tj -0.5013 Tc 2.574 0 Td -(,f)Tj -0 Tc 1.084 0 Td -(or)Tj --38.059 -1.2 Td -[(example. )-308(It)-308(needs )-58(to )-58(know )-58(when )-58(the )-58(user )-58(wants )-58(to )-58(suspend )-58(it )-58(so )-58(that )-58(it )-58(can )-58(r)17(estor)]TJ -0.308 Tc 36.827 0 Td -(et)Tj -0 Tc 1.113 0 Td -(he)Tj --37.94 -1.2 Td -[(terminal\325s )-104(state )-104(to )-104(the )-104(way )-104(it )-104(was )-104(when)]TJ -/TT0 1 Tf -18.337 0 Td -(vi)Tj -/T1_0 1 Tf -1.554 0 Td -[(was )-104(started.)-604(Also, )-104(when )-104(it )-104(r)18(esumes )-104(in )-104(the)]TJ --19.891 -1.2 Td -[(for)18(egr)18(ound, )-20(the)]TJ -/TT0 1 Tf -7.188 0 Td -(vi)Tj -/T1_0 1 Tf -1.47 0 Td -[(editor )-20(needs )-20(to )-20(set )-20(the )-20(terminal )-20(state )-20(back )-20(to )-20(the )-20(way )-20(it )-20(wants )-20(it, )-20(and)]TJ --8.658 -1.2 Td -[(it )-60(needs )-60(to )-60(r)18(edraw )-60(the )-60(terminal )-60(scr)17(een. )-310(W)]TJ -0.3102 Tc 18.758 0 Td -(es)Tj -0 Tc 1.213 0 Td -[(ee )-60(how )-60(a )-60(pr)18(ogram )-60(such )-60(as)]TJ -/TT0 1 Tf -12.116 0 Td -(vi)Tj -/T1_0 1 Tf -1.51 0 Td -[(handles )-60(this)]TJ --33.598 -1.2 Td -(in the example that follows.)Tj -1.8 -1.2 Td -(Ther)Tj -0.3256 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.305 0 Td -[(re )-112(s)]TJ -0 Tc 1.606 0 Td -[(ome )-76(interactions )-76(between )-76(the )-76(job-contr)18(ol )-76(signals.)-576(When )-76(any )-76(of )-76(the )-76(four)]TJ --6.761 -1.2 Td -[(stop )-153(signals )-153(\()]TJ -/TT0 1 Tf -6.105 0 Td -(SIGTSTP)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.853 0 Td -(SIGSTOP)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.853 0 Td -(SIGTTIN)Tj -/T1_0 1 Tf -0.4034 Tc (,o)Tj -0 Tc 5.399 0 Td -(r)Tj -/TT0 1 Tf -0.798 0 Td -(SIGTTOU)Tj -/T1_0 1 Tf -[(\))-403(is)-403(g)-1(enerated )-153(for )-153(a )-153(pr)17(ocess,)]TJ --22.009 -1.2 Td -[(any )-379(pending)]TJ -/TT0 1 Tf -6.599 0 Td -(SIGCONT)Tj -/T1_0 1 Tf -4.829 0 Td -[(signal )-379(for )-379(that )-379(pr)17(ocess )-379(is )-379(discar)17(ded. )-629(Similarly)]TJ -0.6294 Tc 22.199 0 Td -(,w)Tj -0 Tc 1.713 0 Td -[(hen )-379(the)]TJ -/TT0 1 Tf --35.341 -1.2 Td -(SIGCONT)Tj -/T1_0 1 Tf -4.67 0 Td -[(signal )-220(is )-220(generated )-220(for )-220(a )-220(pr)16(ocess, )-220(any )-220(pending )-220(stop )-220(signals )-220(for )-220(that )-220(same)]TJ --4.67 -1.2 Td -[(pr)18(ocess ar)]TJ -0.25 Tc 4.422 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(iscar)18(ded.)]TJ --3.962 -1.2 Td -[(Note )-45(that )-45(the )-45(default )-45(action )-45(for)]TJ -/TT0 1 Tf -14.179 0 Td -(SIGCONT)Tj -/T1_0 1 Tf -4.495 0 Td -[(is )-45(to )-45(continue )-45(the )-45(pr)18(ocess, )-45(if )-45(it )-45(is )-45(stopped;)]TJ --20.474 -1.2 Td -[(otherwise, )-199(the )-199(signal )-199(is )-199(ignor)20(ed. )-449(Normally)111(,)-449(we)-449(d)1(on\325t )-199(have )-199(to )-199(do )-199(anything )-199(with )-199(this)]TJ -T* -[(signal. )-549(When)]TJ -/TT0 1 Tf -6.885 0 Td -(SIGCONT)Tj -/T1_0 1 Tf -4.749 0 Td -[(is )-299(generated )-299(for )-299(a )-299(pr)18(ocess )-299(that )-299(is )-299(stopped, )-299(the )-299(pr)17(ocess )-299(is)]TJ --11.634 -1.2 Td -[(continued, even if the signal is blocked or ignor)18(ed.)]TJ -/TT1 1 Tf --3.6 -2.76 Td -(Example)Tj -/T1_0 1 Tf -3.6 -1.92 Td -[(The )-121(pr)18(ogram )-121(in )-121(Figur)]TJ -0.3708 Tc 9.9 0 Td -(e1)Tj -0 Tc 1.35 0 Td -[(0.31 )-121(demonstrates )-121(the )-121(normal )-121(sequence )-121(of )-121(code )-121(used )-121(when )-121(a)]TJ --11.25 -1.2 Td -[(pr)18(ogram )-237(handles )-237(job )-237(contr)19(ol. )-487(This)-487(pr)18(ogram )-237(simply )-237(copies )-237(its )-237(standar)]TJ -0.4867 Tc 32.613 0 Td -(di)Tj -0 Tc 1.389 0 Td -[(nput )-237(to )-237(its)]TJ --34.002 -1.2 Td -(standar)Tj -0.5163 Tc 3.32 0 Td -(do)Tj -0 Tc 1.673 0 Td -[(utput, )-266(but )-266(comments )-266(ar)]TJ -0.5163 Tc 11.184 0 Td -(eg)Tj -0 Tc 1.551 0 Td -[(iven )-266(in )-266(the )-266(signal )-266(handler )-266(for )-266(typical )-266(actions)]TJ --17.728 -1.2 Td -[(performed by a pr)18(ogram that manages a scr)18(een.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46986 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(xiv)Tj -/T1_1 1 Tf -3.389 0 Td -(Contents)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 154.7907 667.9599 Tm -[(10.8 )-2456(Reliab)20(le-Signal )-278(T)120(er )253(minology)-556(and )-278(Semantics)-2160(335)]TJ --0 -1.3 Td -(10.9)Tj -/TT1 1 Tf -4.68 0 Td -(kill)Tj -/TT0 1 Tf -2.956 0 Td -(and)Tj -/TT1 1 Tf -2.224 0 Td -(raise)Tj -/TT0 1 Tf -3.556 0 Td -[(Functions )-1882(336)]TJ --13.416 -1.3 Td -(10.10)Tj -/TT1 1 Tf -4.68 0 Td -(alarm)Tj -/TT0 1 Tf -3.556 0 Td -(and)Tj -/TT1 1 Tf -2.224 0 Td -(pause)Tj -/TT0 1 Tf -3.556 0 Td -[(Functions )-1882(338)]TJ --14.016 -1.3 Td -[(10.11 )-1900(Signal)-556(Sets )-1882(344)]TJ -0 -1.3 TD -(10.12)Tj -/TT1 1 Tf -4.68 0 Td -(sigprocmask)Tj -/TT0 1 Tf -7.156 0 Td -[(Function )-1882(346)]TJ --11.836 -1.3 Td -(10.13)Tj -/TT1 1 Tf -4.68 0 Td -(sigpending)Tj -/TT0 1 Tf -6.556 0 Td -[(Function )-1882(347)]TJ --11.236 -1.3 Td -(10.14)Tj -/TT1 1 Tf -4.68 0 Td -(sigaction)Tj -/TT0 1 Tf -5.956 0 Td -[(Function )-1882(349)]TJ --10.636 -1.3 Td -(10.15)Tj -/TT1 1 Tf -4.68 0 Td -(sigsetjmp)Tj -/TT0 1 Tf -5.956 0 Td -(and)Tj -/TT1 1 Tf -2.224 0 Td -(siglongjmp)Tj -/TT0 1 Tf -6.556 0 Td -[(Functions )-1882(355)]TJ --19.416 -1.3 Td -(10.16)Tj -/TT1 1 Tf -4.68 0 Td -(sigsuspend)Tj -/TT0 1 Tf -6.556 0 Td -[(Function )-1882(359)]TJ --11.236 -1.3 Td -(10.17)Tj -/TT1 1 Tf -4.68 0 Td -(abort)Tj -/TT0 1 Tf -3.556 0 Td -[(Function )-1882(365)]TJ --8.236 -1.3 Td -(10.18)Tj -/TT1 1 Tf -4.68 0 Td -(system)Tj -/TT0 1 Tf -4.156 0 Td -[(Function )-1882(367)]TJ --8.836 -1.3 Td -(10.19)Tj -/TT1 1 Tf -4.68 0 Td -(sleep)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -3.834 0 Td -(nanosleep)Tj -/TT0 1 Tf -0.556 Tc (,a)Tj -0 Tc 6.79 0 Td -(nd)Tj -/TT1 1 Tf -1.668 0 Td -(clock_nanosleep)Tj -/TT0 1 Tf --10.492 -1.3 Td -[(Functions )-1882(373)]TJ --6.48 -1.3 Td -(10.20)Tj -/TT1 1 Tf -4.68 0 Td -(sigqueue)Tj -/TT0 1 Tf -5.356 0 Td -[(Function )-1882(376)]TJ --10.036 -1.3 Td -[(10.21 )-1900(Job-Control)-556(Signals )-1882(377)]TJ -T* -[(10.22 )-1900(Signal)-556(Names )-278(and )-278(Numbers)-2160(379)]TJ -T* -[(10.23 )-1900(Summar)]TJ -2.16 Tc 8.488 0 Td -(y3)Tj -0 Tc 3.216 0 Td -(81)Tj -/TT2 1 Tf --14.224 -2.47 Td -[(Chapter )-278(11.)-1476(Threads )]TJ -34.118 0 Td -(383)Tj -/TT0 1 Tf --31.598 -1.82 Td -[(11.1 )-2456(Introduction)-2160(383)]TJ -T* -[(11.2 )-2456(Thread)-556(Concepts )-1882(383)]TJ -T* -[(11.3 )-2456(Thread)-556(Identi\336cation )-1882(384)]TJ -T* -[(11.4 )-2456(Thread)-556(Creation )-1882(385)]TJ -T* -[(11.5 )-2456(Thread)]TJ --0.12 Tc 8.404 0 Td -(Te)Tj -0.025 Tc 1.047 0 Td -(rm)Tj -0 Tc 1.191 0 Td -[(ination )-1882(388)]TJ --10.642 -1.3 Td -[(11.6 )-2456(Thread)-556(Synchronization )-1882(397)]TJ -T* -[(11.6.1 )-3422(Mute)]TJ --0.03 Tc 8.673 0 Td -(xe)Tj -2.16 Tc 1.026 0 Td -(s3)Tj -0 Tc 3.216 0 Td -(99)Tj --12.915 -1.3 Td -[(11.6.2 )-3422(Deadloc)]TJ -0.556 Tc 10.128 0 Td -(kA)Tj --0.025 Tc 1.683 0 Td -(vo)Tj -0 Tc 1.031 0 Td -[(idance )-1882(402)]TJ --12.842 -1.3 Td -(11.6.3)Tj -/TT1 1 Tf -6.48 0 Td -(pthread_mutex_timedlock)Tj -/TT0 1 Tf -14.356 0 Td -[(Function )-1882(407)]TJ --20.836 -1.3 Td -[(11.6.4 )-3422(Reader\320Wr)-15(iter )-278(Loc)20(ks )-1882(409)]TJ --0 -1.3 Td -[(11.6.5 )-3422(Reader\320Wr)-15(iter )-278(Loc)20(king )-278(with )-278(Timeouts)-2160(413)]TJ -T* -[(11.6.6 )-3422(Condition)]TJ --0.07 Tc 11.26 0 Td -(Va)Tj -0.015 Tc 1.153 0 Td -(ri)Tj -0 Tc 0.57 0 Td -[(ab)20(les )-1882(413)]TJ --12.983 -1.3 Td -[(11.6.7 )-3422(Spin)-556(Loc)20(ks )-1882(417)]TJ --0 -1.3 Td -[(11.6.8 )-3422(Barr)-15(iers )-1882(418)]TJ -T* -[(11.7 )-2456(Summar)]TJ -2.16 Tc 8.488 0 Td -(y4)Tj -0 Tc 3.216 0 Td -(22)Tj -/TT2 1 Tf --14.224 -2.47 Td -[(Chapter )-278(12.)-1476(Thread )-278(Contr)20(ol )]TJ -34.118 0 Td -(425)Tj -/TT0 1 Tf --31.598 -1.82 Td -[(12.1 )-2456(Introduction)-2160(425)]TJ -T* -[(12.2 )-2456(Thread)-556(Limits )-1882(425)]TJ -T* -[(12.3 )-2456(Thread)-556(Attr )263(ib)20(utes )-1882(426)]TJ --0 -1.3 Td -[(12.4 )-2456(Synchronization)-556(Attr )263(ib)20(utes )-1882(430)]TJ --0 -1.3 Td -[(12.4.1 )-3422(Mute)]TJ -0.556 Tc 8.673 0 Td -(xA)Tj -0 Tc 1.723 0 Td -[(ttr )263(ib)20(utes )-1882(430)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46987 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(430)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -1.902 TD -(int pthread_attr_getstacksize\(const pthread_attr_t *restrict)Tj -/T1_2 1 Tf -36.6 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --18.6 -1.189 Td -(size_t *restrict)Tj -/T1_2 1 Tf -10.2 0 Td -(stacksize)Tj -/TT0 1 Tf -(\);)Tj --28.2 -1.902 Td -(int pthread_attr_setstacksize\(pthread_attr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 30.899 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(stacksize)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --14.818 -1.902 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5917.25 cm -0 0 m -0 756 l -3900 756 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 578.1706 Tm -(The)Tj -/TT0 1 Tf -2.009 0 Td -(pthread_attr_setstacksize)Tj -/T1_1 1 Tf -15.335 0 Td -[(function )-84(is )-84(useful )-84(when )-84(you )-84(want )-84(to )-84(change )-84(the)]TJ --17.343 -1.2 Td -[(default )-40(stack )-40(size )-40(but )-40(don\325t )-40(want )-40(to )-40(deal )-40(with )-40(allocating )-40(the )-40(thr)18(ead )-40(stacks )-40(on )-40(your )-40(own.)]TJ -0 -1.2 TD -[(When )-466(setting )-466(the)]TJ -/T1_2 1 Tf -9.162 0 Td -(stacksize)Tj -/T1_1 1 Tf -4.233 0 Td -[(attribute, )-466(the )-466(size )-466(we )-466(choose )-466(can\325t )-466(be )-466(smaller )-466(than)]TJ -/TT0 1 Tf --13.395 -1.2 Td -(PTHREAD_STACK_MIN)Tj -/T1_1 1 Tf -(.)Tj -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.935 0 Td -(guardsize)Tj -/T1_1 1 Tf -4.15 0 Td -[(thr)18(ead )-11(attribute )-11(contr)17(ols )-11(the )-11(size )-11(of )-11(the )-11(memory )-11(extent )-11(after )-11(the )-11(end )-11(of)]TJ --7.886 -1.2 Td -[(the )-47(thr)18(ead\325s )-47(stack )-47(to )-47(pr)18(otect )-47(against )-47(stack )-47(over\337ow)]TJ -0.5468 Tc 22.573 0 Td -(.I)Tj -0 Tc 1.134 0 Td -[(ts )-47(default )-47(value )-47(is )-47(implementation)]TJ --23.707 -1.2 Td -[(de\336ned, )-95(but )-95(a )-95(commonly )-95(used )-95(value )-95(is )-95(the )-95(system )-95(page )-95(size.)]TJ --0.092 Tc 28.202 0 Td -[(We )-279(c)]TJ -0 Tc 2.176 0 Td -[(an )-95(set )-95(the)]TJ -/T1_2 1 Tf -4.733 0 Td -(guardsize)Tj -/T1_1 1 Tf --35.111 -1.2 Td -[(thr)18(ead )-6(attribute )-6(to )-6(0 )-6(to )-6(disable )-6(this )-6(featur)18(e: )-6(no )-6(guar)]TJ -0.2561 Tc 22.506 0 Td -(db)Tj -0 Tc 1.42 0 Td -[(uf)18(fer )-6(will )-6(be )-6(pr)18(ovided )-6(in )-6(this )-6(case.)]TJ --23.926 -1.2 Td -[(Also, )-140(if )-140(we )-140(change )-140(the)]TJ -/T1_2 1 Tf -10.709 0 Td -(stackaddr)Tj -/T1_1 1 Tf -4.241 0 Td -[(thr)18(ead )-141(attribute, )-141(the )-141(system )-141(assumes )-141(that )-141(we )-141(will )-141(be)]TJ --14.949 -1.2 Td -[(managing )-157(our )-157(own )-157(stacks )-157(and )-157(disables )-157(stack )-157(guar)]TJ -0.4065 Tc 23.028 0 Td -(db)Tj -0 Tc 1.571 0 Td -[(uf)18(fers, )-156(just )-156(as )-156(if )-156(we )-156(had )-156(set )-156(the)]TJ -/T1_2 1 Tf --24.599 -1.2 Td -(guardsize)Tj -/T1_1 1 Tf -4.139 0 Td -[(thr)18(ead attribute to 0.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5831 441.4874 Tm -(#include )Tj -0 -1.902 TD -(int pthread_attr_getguardsize\(const pthread_attr_t *restrict)Tj -/T1_2 1 Tf -36.6 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --18.6 -1.189 Td -(size_t *restrict)Tj -/T1_2 1 Tf -10.2 0 Td -(guardsize)Tj -/TT0 1 Tf -(\);)Tj --28.2 -1.902 Td -(int pthread_attr_setguardsize\(pthread_attr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 30.899 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(guardsize)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --14.818 -1.902 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3750.25 cm -0 0 m -0 755 l -3900 755 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 147.5734 361.4149 Tm -[(If )-31(the)]TJ -/T1_2 1 Tf -2.619 0 Td -(guardsize)Tj -/T1_1 1 Tf -4.17 0 Td -[(thr)18(ead )-31(attribute )-31(is )-31(modi\336ed, )-31(the )-31(operating )-31(system )-31(might )-31(r)16(ound )-31(it )-31(up)]TJ --8.59 -1.2 Td -[(to )-59(an )-59(integral )-59(multiple )-59(of )-59(the )-59(page )-59(size.)-559(If )-59(the )-59(thr)18(ead\325s )-59(stack )-59(pointer )-59(over\337ows )-59(into )-59(the)]TJ -0 -1.2 TD -(guar)Tj -0.25 Tc 2.036 0 Td -(da)Tj --0.018 Tc 1.361 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(a, the application will r)18(eceive an err)18(or)]TJ -0.25 Tc 16.631 0 Td -(,p)Tj -0 Tc 1.101 0 Td -(ossibly with a signal.)Tj --20.185 -1.2 Td -[(The )-320(Single )-320(UNIX )-320(Speci\336cation )-320(de\336nes )-320(several )-320(other )-320(optional )-320(thr)16(ead )-320(attributes)]TJ --1.8 -1.2 Td -[(intended for use by r)18(eal-time applications.)]TJ --0.092 Tc 19.206 0 Td -[(We )-184(w)]TJ -0 Tc 2.471 0 Td -[(ill not discuss them her)18(e.)]TJ --19.877 -1.2 Td -[(Thr)18(eads )-100(have )-100(other )-100(attributes )-100(not )-100(r)16(epr)18(esented )-100(by )-100(the)]TJ -/TT0 1 Tf -24.231 0 Td -(pthread_attr_t)Tj -/T1_1 1 Tf -8.75 0 Td -[(str)8(uctur)18(e:)]TJ --34.781 -1.2 Td -(the cancelability state and the cancelability type.)Tj --0.092 Tc 21.83 0 Td -[(We )-184(d)]TJ -0 Tc 2.248 0 Td -(iscuss them in Section 12.7.)Tj -/TT1 1 Tf -11.9978 0 0 11.9978 93.584 258.2335 Tm -[(12.4 )-776(Sync)10(hr)20(onization )-278(Attrib)20(utes)]TJ -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5781 236.6374 Tm -[(Just )-14(as )-14(thr)18(eads )-14(have )-14(attributes, )-14(so )-14(too )-14(do )-14(their )-14(synchr)18(onization )-14(objects.)-514(In )-14(Section )-14(1)55(1.6.7,)]TJ -T* -[(we )-182(saw )-182(how )-182(spin )-182(locks )-182(have )-182(one )-182(attribute )-182(called )-182(the)]TJ -/T1_2 1 Tf -25.048 0 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_1 1 Tf -6.247 0 Td -[(attribute. )-432(In)-432(this)]TJ --31.295 -1.2 Td -[(section, )-114(we )-114(discuss )-114(the )-114(attributes )-114(of )-114(mutexes, )-114(r)18(eader\320writer )-114(locks, )-114(condition )-114(variables,)]TJ -T* -(and barriers.)Tj -/TT1 1 Tf -11.9978 0 0 11.9978 129.5783 170.6493 Tm -[(12.4.1 )-556(Mute)]TJ -0.556 Tc 5.932 0 Td -(xA)Tj -0 Tc 1.834 0 Td -[(ttrib)20(utes)]TJ -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5783 149.0532 Tm -[(Mutex )-162(attributes )-162(ar)]TJ -0.4123 Tc 8.795 0 Td -(er)Tj -0 Tc 1.268 0 Td -[(epr)18(esented )-162(by )-162(a)]TJ -/TT0 1 Tf -7.683 0 Td -(pthread_mutexattr_t)Tj -/T1_1 1 Tf -11.812 0 Td -[(str)8(uctur)18(e. )-412(Whenever)]TJ --29.558 -1.2 Td -[(we )-133(initialized )-133(a )-133(mutex )-133(in )-133(Chapter )-133(1)55(1, )-133(we )-133(accepted )-133(the )-133(default )-133(attributes )-133(by )-133(using )-133(the)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46988 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(426)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 6670.25 cm -0 0 m -4263 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 139.9086 658.9605 Tm -(Name of limit)Tj -17.377 0 Td -(Description)Tj -/T1_2 1 Tf -16.992 0 Td -(name)Tj -/T1_1 1 Tf -2.417 0 Td -[(ar)18(gument)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 6550.25 cm -0 0 m -4263 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 6530.25 cm -0 0 m -4263 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 94.9214 644.9226 Tm -(PTHREAD_DESTRUCTOR_ITERATIONS )Tj -33.753 0 Td -(_SC_THREAD_DESTRUCTOR_ITERATIONS)Tj -/T1_1 1 Tf --15.936 0 Td -(maximum number of times an)Tj -2 -1.25 Td -(implementation will try to)Tj -0 -1.25 TD -[(destr)18(oy the thr)18(ead-speci\336c)]TJ -T* -[(data when a thr)18(ead exits)]TJ -T* -(\(Section 12.6\))Tj -/TT0 1 Tf --19.817 -1.25 Td -(PTHREAD_KEYS_MAX )Tj -33.753 0 Td -(_SC_THREAD_KEYS_MAX)Tj -/T1_1 1 Tf --15.936 0 Td -(maximum number of keys that can)Tj -2 -1.25 Td -[(be cr)18(eated by a pr)18(ocess)]TJ -T* -(\(Section 12.6\))Tj -/TT0 1 Tf --19.817 -1.25 Td -(PTHREAD_STACK_MIN )Tj -33.753 0 Td -(_SC_THREAD_STACK_MIN)Tj -/T1_1 1 Tf --15.936 0 Td -(minimum number of bytes that can)Tj -2 -1.25 Td -[(be used for a thr)18(ead\325s stack)]TJ -T* -(\(Section 12.3\))Tj -/TT0 1 Tf --19.817 -1.25 Td -(PTHREAD_THREADS_MAX )Tj -33.753 0 Td -(_SC_THREAD_THREADS_MAX)Tj -/T1_1 1 Tf --15.936 0 Td -[(maximum number of thr)18(eads that)]TJ -2 -1.25 Td -[(can be cr)18(eated in a pr)18(ocess)]TJ -T* -(\(Section 12.3\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 5110.25 cm -0 0 m -4263 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3636.25 5110.25 cm -0 0 m -0 1560 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2354.25 5110.25 cm -0 0 m -0 1560 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5199.25 5110.25 cm -0 0 m -0 1560 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 5110.25 cm -0 0 m -0 1560 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 182.4672 492.9113 Tm -(Figure 12.1)Tj -/T1_1 1 Tf -5.695 0 Td -[(Thr)18(ead limits and)]TJ -/T1_2 1 Tf -8.111 0 Td -(name)Tj -/T1_1 1 Tf -2.417 0 Td -[(ar)18(guments to)]TJ -/TT0 1 Tf -6.102 0 Td -(sysconf)Tj -/T1_1 1 Tf -9.9982 0 0 9.9982 147.5738 465.3162 Tm -(Figur)Tj -0.4884 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.467 0 Td -[(2.2 )-238(shows )-238(the )-238(values )-238(of )-238(the )-238(thr)16(ead )-238(limits )-238(for )-238(the )-238(four )-238(implementations)]TJ --5.65 -1.2 Td -[(described )-205(in )-205(this )-205(book.)-706(If )-205(the )-205(implementation\325s )-205(limit )-205(is )-205(indeterminate, )-205(\324)37(\324no )-205(limit\325)]TJ -0.4553 Tc 37.552 0 Td -(\325i)Tj -0 Tc 1.024 0 Td -(s)Tj --38.576 -1.2 Td -[(listed. )-250(This)-250(doesn\325t mean that the value is unlimited, however)74(.)]TJ -7.9986 0 0 7.9986 183.5673 421.3242 Tm -[(Note )-172(that )-172(although )-172(an )-172(implementation )-172(may )-172(not )-172(pr)21(ovide )-171(access )-171(to )-171(these )-171(limits, )-171(that )-171(doesn\325t)]TJ -T* -[(mean )-15(that )-15(the )-15(limits )-15(don\325t )-15(exist.)-515(It )-15(just )-15(means )-15(that )-15(the )-15(implementation )-15(doesn\325t )-15(pr)18(ovide )-15(us )-15(with)]TJ -0.25 Tc T* -(aw)Tj -0 Tc 1.584 0 Td -(ay to get at them using)Tj -/TT0 1 Tf -10.341 0 Td -(sysconf)Tj -/T1_1 1 Tf -(.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1731.25 3814.25 cm -0 0 m -3030 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 322.5026 373.3104 Tm -[(Fr)18(eeBSD )-1416(Linux)-1382(Mac OS X)-1198(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-2993(3.2.0)-2618(10.6.8 )-2868(10)]TJ --11.96 0.625 Td -(Limit)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1731.25 3594.25 cm -0 0 m -3030 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1731.25 3574.25 cm -0 0 m -3030 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 177.0589 349.2952 Tm -(PTHREAD_DESTRUCTOR_ITERATIONS)Tj -/T1_1 1 Tf -4.368 Tc 21.768 0 Td -(444)Tj -0 Tc 11.644 0 Td -(no limit)Tj -/TT0 1 Tf --33.412 -1.25 Td -(PTHREAD_KEYS_MAX)Tj -/T1_1 1 Tf -20.768 0 Td -[(256 )-2368(1,024)-3368(512 )-1158(no)-250(limit)]TJ -/TT0 1 Tf --20.768 -1.25 Td -(PTHREAD_STACK_MIN)Tj -/T1_1 1 Tf -20.018 0 Td -[(2,048 )-1868(16,384)-2618(8,192 )-2368(8,192)]TJ -/TT0 1 Tf --20.018 -1.25 Td -(PTHREAD_THREADS_MAX)Tj -/T1_1 1 Tf -18.808 0 Td -[(no limit)-1408(no limit)-1408(no limit)-1408(no limit)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1731.25 3154.25 cm -0 0 m -3030 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4351.25 3154.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3962.25 3154.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3572.25 3154.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3183.25 3154.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4761.25 3154.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1731.25 3154.25 cm -0 0 m -0 660 l -S -Q -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 231.5726 297.293 Tm -(Figure 12.2)Tj -/T1_1 1 Tf -5.695 0 Td -[(Examples of thr)18(ead con\336guration limits)]TJ -/TT1 1 Tf -11.9957 0 0 11.9957 93.5665 258.9068 Tm -[(12.3 )-776(Thread)-556(Attrib)20(utes)]TJ -/T1_1 1 Tf -9.9964 0 0 9.9964 129.5536 236.115 Tm -[(The )-666(pthr)18(ead )-666(interface )-666(allows )-666(us )-666(to )-666(\336ne-tune )-666(the )-666(behavior )-666(of )-666(thr)16(eads )-666(and)]TJ -0 -1.2 TD -[(synchr)18(onization )-396(objects )-396(by )-396(setting )-396(various )-396(attributes )-396(associated )-396(with )-396(each )-396(object.)]TJ -T* -(Generally)Tj -0.25 Tc 4.225 0 Td -(,t)Tj -0 Tc 0.826 0 Td -(he functions for managing these attributes follow the same pattern:)Tj --3.251 -1.92 Td -[(1. )-633(Each)-472(object )-222(is )-222(associated )-222(with )-222(its )-222(own )-222(type )-222(of )-222(attribute )-222(object )-222(\(thr)17(eads )-222(with)]TJ -1.633 -1.2 Td -[(thr)18(ead )-7(attributes, )-7(mutexes )-7(with )-7(mutex )-7(attributes, )-7(and )-7(so )-7(on\).)-510(An )-7(attribute )-7(object)]TJ -T* -[(can )-35(r)18(epr)18(esent )-35(multiple )-35(attributes.)-535(The )-35(attribute )-35(object )-35(is )-35(opaque )-35(to )-35(applications.)]TJ -T* -[(This )-339(means )-339(that )-339(applications )-339(ar)18(en\325t )-339(supposed )-339(to )-339(know )-339(anything )-339(about )-339(its)]TJ -T* -[(internal )-223(str)8(uctur)18(e, )-223(which )-223(pr)18(omotes )-223(application )-223(portability)]TJ -0.7227 Tc 26.482 0 Td -(.I)Tj -0 Tc 1.31 0 Td -[(nstead, )-223(functions)]TJ --27.791 -1.2 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(ep)Tj --0.018 Tc 1.33 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(vided to manage the attributes objects.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46989 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(12)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Thr)4(ead )-280(Contr)15(ol)]TJ -/TT0 1 Tf -12 0 0 12 93.6001 410.4 Tm -[(12.1 )-776(Intr)20(oduction)]TJ -/T1_2 1 Tf -10 0 0 10 129.6001 386.4 Tm -[(In )-62(Chapter )-62(1)55(1, )-62(we )-62(learned )-62(the )-62(basics )-62(about )-62(thr)18(eads )-62(and )-62(thr)19(ead )-62(synchr)18(onization. )-312(In)-312(this)]TJ --0 -1.2 Td -[(chapter)74(,)-305(we)-305(w)1(ill )-55(learn )-55(the )-55(details )-55(of )-55(contr)18(olling )-55(thr)18(ead )-55(behavior)]TJ -0.5546 Tc 28.243 0 Td -(.W)Tj -0.3045 Tc 1.713 0 Td -(ew)Tj -0 Tc 1.617 0 Td -[(ill )-54(look )-54(at )-54(thr)17(ead)]TJ --31.574 -1.2 Td -[(attributes )-123(and )-123(synchr)18(onization )-123(primitive )-123(attributes, )-123(which )-123(we )-123(ignor)18(ed )-123(in )-123(the )-123(pr)22(evious)]TJ -0 -1.2 TD -[(chapter in favor of the default behavior)74(.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-326(w)]TJ -0 Tc 2.613 0 Td -[(ill )-142(follow )-142(this )-142(with )-142(a )-142(look )-142(at )-142(how )-142(thr)17(eads )-142(can )-142(keep )-142(data )-142(private )-142(fr)18(om )-142(other)]TJ --4.413 -1.2 Td -[(thr)18(eads )-161(in )-161(the )-161(same )-161(pr)18(ocess. )-411(Then)-411(we )-161(will )-161(wrap )-161(up )-161(the )-161(chapter )-161(with )-161(a )-161(look )-161(at )-161(how)]TJ --0 -1.2 Td -[(some pr)18(ocess-based system calls interact with thr)18(eads.)]TJ -/TT0 1 Tf -12 0 0 12 93.5999 266.4 Tm -[(12.2 )-776(Thread)-556(Limits)]TJ -/T1_2 1 Tf --0.092 Tc 10 0 0 10 129.5999 242.4 Tm -[(We )-370(d)]TJ -0 Tc 2.434 0 Td -[(iscussed )-186(the)]TJ -/TT1 1 Tf -5.959 0 Td -(sysconf)Tj -/T1_2 1 Tf -4.636 0 Td -[(function )-186(in )-186(Section )-186(2.5.4.)-686(The )-186(Single )-186(UNIX )-186(Speci\336cation)]TJ --13.029 -1.2 Td -[(de\336nes )-21(several )-21(limits )-21(associated )-21(with )-21(the )-21(operation )-21(of )-21(thr)18(eads, )-21(which )-21(we )-21(didn\325t )-21(show )-21(in)]TJ -T* -(Figur)Tj -0.564 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.543 0 Td -[(.1)55(1. )-564(As)-564(with )-314(other )-314(system )-314(limits, )-314(the )-314(thr)18(ead )-314(limits )-314(can )-314(be )-314(queried )-314(using)]TJ -/TT1 1 Tf --3.926 -1.2 Td -(sysconf)Tj -/T1_2 1 Tf -0.5 Tc (.F)Tj -0 Tc 5.506 0 Td -(igur)Tj -0.25 Tc 1.827 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(2.1 summarizes these limits.)Tj --6.762 -1.2 Td -[(As )-153(with )-153(the )-153(other )-153(limits )-153(r)18(eported )-153(by)]TJ -/TT1 1 Tf -17.2 0 Td -(sysconf)Tj -/T1_2 1 Tf -0.403 Tc (,u)Tj -0 Tc 5.456 0 Td -[(se )-153(of )-153(these )-153(limits )-153(is )-153(intended )-153(to)]TJ --24.456 -1.2 Td -[(pr)18(omote )-269(application )-269(portability )-269(among )-269(dif)19(fer)18(ent )-269(operating )-269(system )-269(implementations.)]TJ --0 -1.2 Td -[(For )-48(example, )-48(if )-48(your )-48(application )-48(r)19(equir)18(es )-48(that )-48(you )-48(cr)18(eate )-48(four )-48(thr)18(eads )-48(for )-48(every )-48(\336le )-48(you)]TJ -T* -[(manage, )-10(you )-10(might )-10(have )-10(to )-10(limit )-10(the )-10(number )-10(of )-10(\336les )-10(you )-10(can )-10(manage )-10(concurr)18(ently )-10(if )-10(the)]TJ -T* -[(system won\325t let you cr)18(eate enough thr)18(eads.)]TJ -/T1_3 1 Tf -9 0 0 9 506.1001 114 Tm -(425)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46990 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(422)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(This )-55(example )-55(shows )-55(the )-55(use )-55(of )-55(a )-55(barrier )-55(in )-55(a )-55(simpli\336ed )-55(situation )-55(wher)]TJ -0.3054 Tc 31.424 0 Td -(et)Tj -0 Tc 1.11 0 Td -[(he )-55(thr)18(eads)]TJ --34.334 -1.2 Td -[(perform )-153(only )-153(one )-153(task.)-653(In )-153(mor)]TJ -0.4032 Tc 14.261 0 Td -(er)Tj -0 Tc 1.259 0 Td -[(ealistic )-153(situations, )-153(the )-153(worker )-153(thr)18(eads )-153(will )-153(continue)]TJ --15.52 -1.2 Td -(with other activities after the call to)Tj -/TT0 1 Tf -15.866 0 Td -(pthread_barrier_wait)Tj -/T1_1 1 Tf --0.018 Tc 12.25 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns.)Tj --27.172 -1.2 Td -[(In )-34(the )-34(example, )-34(we )-34(use )-34(eight )-34(thr)18(eads )-34(to )-34(divide )-34(the )-34(job )-34(of )-34(sorting )-34(8 )-34(million )-34(numbers.)]TJ --1.8 -1.2 Td -[(Each )-38(thr)18(ead )-38(sorts )-38(1 )-38(million )-38(numbers )-38(using )-38(the )-38(heapsort )-38(algorithm )-38(\(see )-38(Knuth)]TJ -34.772 0.04 Td -([)Tj -0.333 -0.04 Td -(1998)Tj -2 0.04 Td -(])Tj -0.621 -0.04 Td -(for)Tj --37.726 -1.2 Td -[(details\). )-250(Then)-250(the main thr)18(ead calls a function to mer)18(ge the r)18(esults.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-247(d)]TJ -0 Tc 2.311 0 Td -[(on\325t )-63(need )-63(to )-63(use )-63(the)]TJ -/TT0 1 Tf -9.212 0 Td -(PTHREAD_BARRIER_SERIAL_THREAD)Tj -/T1_1 1 Tf --0.018 Tc 17.713 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-63(value )-63(fr)19(om)]TJ -/TT0 1 Tf --31.892 -1.2 Td -(pthread_barrier_wait)Tj -/T1_1 1 Tf -12.355 0 Td -[(to )-104(decide )-104(which )-104(thr)18(ead )-104(mer)18(ges )-104(the )-104(r)18(esults, )-104(because )-104(we )-104(use)]TJ --12.355 -1.2 Td -[(the )-10(main )-10(thr)18(ead )-10(for )-10(this )-10(task.)-510(That )-10(is )-10(why )-10(we )-10(specify )-10(the )-10(barrier )-10(count )-10(as )-10(one )-10(mor)]TJ -0.2604 Tc 36.271 0 Td -(et)Tj -0 Tc 1.065 0 Td -(han)Tj --37.336 -1.2 Td -[(the number of worker thr)18(eads; the main thr)18(ead counts as one waiter)74(.)]TJ -1.8 -1.2 Td -[(If )-53(we )-53(write )-53(a )-53(pr)18(ogram )-53(to )-53(sort )-53(8 )-53(million )-53(numbers )-53(with )-53(heapsort )-53(using )-53(1 )-53(thr)18(ead )-53(only)110(,)]TJ --1.8 -1.2 Td -[(we )-381(will )-381(see )-381(a )-381(performance )-381(impr)18(ovement )-381(when )-381(comparing )-381(it )-381(to )-381(the )-381(pr)22(ogram )-380(in)]TJ -0 -1.2 TD -(Figur)Tj -0.3698 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.294 0 Td -[(1.16. )-370(On)]TJ -0.3698 Tc 4.358 0 Td -(as)Tj -0 Tc 1.294 0 Td -[(ystem )-120(with )-120(8 )-120(cor)19(es, )-120(the )-120(single-thr)18(eaded )-120(pr)18(ogram )-120(sorted )-120(8 )-120(million)]TJ --9.328 -1.2 Td -[(numbers )-18(in )-18(12.14 )-18(seconds.)-518(On )-18(the )-18(same )-18(system, )-18(using )-18(8 )-18(thr)17(eads )-18(in )-18(parallel )-18(and )-18(1 )-18(thr)18(ead)]TJ -T* -[(to )-125(mer)18(ge )-125(the )-125(r)19(esults, )-125(the )-125(same )-125(set )-125(of )-125(8 )-125(million )-125(numbers )-125(was )-125(sorted )-125(in )-125(1.91 )-125(seconds, )-125(6)]TJ -T* -[(times faster)74(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4890.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9986 0 0 11.9986 93.5888 448.1462 Tm -[(11.7 )-776(Summar)-10(y)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 424.1491 Tm -[(In )-310(this )-310(chapter)73(,)-560(we)-560(i)-1(ntr)18(oduced )-310(the )-310(concept )-310(of )-310(thr)18(eads )-310(and )-310(discussed )-310(the )-310(POSIX.1)]TJ --0 -1.2 Td -[(primitives )-184(available )-184(to )-184(cr)18(eate )-184(and )-184(destr)18(oy )-184(them.)]TJ --0.092 Tc 22.815 0 Td -[(We )-368(a)]TJ -0 Tc 2.321 0 Td -[(lso )-184(intr)18(oduced )-184(the )-184(pr)18(oblem )-184(of)]TJ --25.136 -1.2 Td -[(thr)18(ead )-1138(synchr)18(onization. )-1388(W)]TJ -1.3883 Tc 14.189 0 Td -(ed)Tj -0 Tc 2.478 0 Td -[(iscussed )-1138(\336ve )-1138(fundamental )-1138(synchr)17(onization)]TJ --16.667 -1.2 Td -[(mechanisms )167(\321 )167(mutexes,)]TJ --0.018 Tc 11.367 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ader\320writer )-499(locks, )-499(condition )-499(variables, )-499(spin )-499(locks, )-499(and)]TJ --12.223 -1.2 Td -[(barriers )167(\321 )167(and)-251(we saw how to use them to pr)18(otect shar)18(ed r)18(esour)18(ces.)]TJ -/TT1 1 Tf -11.9986 0 0 11.9986 129.5832 329.3605 Tm -[(Ex)10(er)20(cises)]TJ -/T1_0 1 Tf --0.037 Tc 8.9989 0 0 8.9989 129.5832 308.363 Tm -(11)Tj -0 Tc 0.963 0 Td -(.1)Tj -/T1_1 1 Tf -2.102 0 Td -[(Modify )-91(the )-91(example )-91(code )-91(shown )-91(in )-91(Figur)]TJ -0.3411 Tc 18.77 0 Td -(e1)Tj -0 Tc 1.265 0 Td -[(1.4 )-91(to )-91(pass )-91(the )-91(str)7(uctur)]TJ -0.3412 Tc 10.313 0 Td -(eb)Tj -0 Tc 1.373 0 Td -[(etween )-91(the )-91(thr)18(eads)]TJ --31.721 -1.222 Td -[(pr)18(operly)111(.)]TJ -/T1_0 1 Tf --0.037 Tc -3.065 -1.667 Td -(11)Tj -0 Tc 0.963 0 Td -(.2)Tj -/T1_1 1 Tf -2.102 0 Td -[(In )-167(the )-167(example )-167(code )-167(shown )-167(in )-167(Figur)]TJ -0.4171 Tc 16.862 0 Td -(e1)Tj -0 Tc 1.341 0 Td -[(1.14, )-167(what )-167(additional )-167(synchr)18(onization )-167(\(if )-167(any\) )-167(is)]TJ --18.203 -1.222 Td -[(necessary )-122(to )-122(allow )-122(the )-122(master )-122(thr)18(ead )-122(to )-122(change )-122(the )-122(thr)18(ead )-122(ID )-122(associated )-122(with )-122(a )-122(pending)]TJ -0 -1.222 TD -[(job? )-250(How)-250(would this af)18(fect the)]TJ -/TT0 1 Tf -14.031 0 Td -(job_remove)Tj -/T1_1 1 Tf -6.25 0 Td -(function?)Tj -/T1_0 1 Tf --0.037 Tc -23.346 -1.667 Td -(11)Tj -0 Tc 0.963 0 Td -(.3)Tj -/T1_1 1 Tf -2.102 0 Td -[(Apply )-133(the )-133(techniques )-133(shown )-133(in )-133(Figur)]TJ -0.3834 Tc 17.125 0 Td -(e1)Tj -0 Tc 1.307 0 Td -[(1.15 )-133(to )-133(the )-133(worker )-133(thr)16(ead )-133(example )-133(\(Figur)18(es )-133(1)54(1.1)]TJ --18.433 -1.222 Td -[(and )-432(1)55(1.14\) )-432(to )-432(implement )-432(the )-432(worker )-432(thr)18(ead )-432(function.)-932(Don\325t )-432(for)18(get )-432(to )-432(update )-432(the)]TJ -/TT0 1 Tf -T* -(queue_init)Tj -/T1_1 1 Tf -6.25 0 Td -(function to initialize the condition variable and change the)Tj -/TT0 1 Tf -26.075 0 Td -(job_insert)Tj -/T1_1 1 Tf -6.25 0 Td -(and)Tj -/TT0 1 Tf --38.575 -1.222 Td -(job_append)Tj -/T1_1 1 Tf -6.25 0 Td -[(functions to signal the worker thr)18(eads. )-250(What)-250(dif)18(\336culties arise?)]TJ -/T1_0 1 Tf --0.037 Tc -9.315 -1.667 Td -(11)Tj -0 Tc 0.963 0 Td -(.4)Tj -/T1_1 1 Tf -2.102 0 Td -[(Which sequence of steps is corr)18(ect?)]TJ -2 -1.833 Td -(1. Lock a mutex \()Tj -/TT0 1 Tf -(pthread_mutex_lock)Tj -/T1_1 1 Tf -(\).)Tj -0 -1.528 TD -[(2. Change the condition pr)18(otected by the mutex.)]TJ -0 -1.528 TD -[(3. Signal thr)18(eads waiting on the condition \()]TJ -/TT0 1 Tf -(pthread_cond_broadcast)Tj -/T1_1 1 Tf -(\).)Tj -T* -(4. Unlock the mutex \()Tj -/TT0 1 Tf -(pthread_mutex_unlock)Tj -/T1_1 1 Tf -(\).)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46991 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(418)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(To )-369(l)]TJ -0 Tc 1.793 0 Td -[(ock )-185(the )-185(spin )-185(lock, )-185(we )-185(can )-185(call )-185(either)]TJ -/TT0 1 Tf -17.314 0 Td -(pthread_spin_lock)Tj -/T1_1 1 Tf -0.4349 Tc (,w)Tj -0 Tc 11.719 0 Td -[(hich )-185(will )-185(spin)]TJ --32.626 -1.2 Td -[(until )-120(the )-120(lock )-120(is )-120(acquir)18(ed, )-120(or)]TJ -/TT0 1 Tf -13.31 0 Td -(pthread_spin_trylock)Tj -/T1_1 1 Tf -0.3703 Tc (,w)Tj -0 Tc 13.454 0 Td -[(hich )-120(will )-120(r)17(eturn )-120(the)]TJ -/TT0 1 Tf -9.236 0 Td -(EBUSY)Tj -/T1_1 1 Tf --36 -1.2 Td -[(err)18(or )-154(if )-154(the )-154(lock )-154(can\325t )-154(be )-154(acquir)18(ed )-154(immediately)]TJ -0.6538 Tc 21.373 0 Td -(.N)Tj -0 Tc 1.735 0 Td -[(ote )-154(that)]TJ -/TT0 1 Tf -3.893 0 Td -(pthread_spin_trylock)Tj -/T1_1 1 Tf --27 -1.2 Td -[(doesn\325t )-96(spin.)-595(Regar)18(dless )-96(of )-96(how )-96(it )-96(was )-96(locked, )-96(a )-96(spin )-96(lock )-96(can )-96(be )-96(unlocked )-96(by )-96(calling)]TJ -/TT0 1 Tf -0 -1.2 TD -(pthread_spin_unlock)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 604.2637 Tm -(#include )Tj -0 -1.902 TD -(int pthread_spin_lock\(pthread_spinlock_t *)Tj -/T1_2 1 Tf -(lock)Tj -/TT0 1 Tf -(\);)Tj -T* -(int pthread_spin_trylock\(pthread_spinlock_t *)Tj -/T1_2 1 Tf -(lock)Tj -/TT0 1 Tf -(\);)Tj -0 -1.902 TD -(int pthread_spin_unlock\(pthread_spinlock_t *)Tj -/T1_2 1 Tf -(lock)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -20.386 -1.902 Td -[(All r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5313.25 cm -0 0 m -0 820 l -3900 820 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 517.7579 Tm -[(Note )-272(that )-272(if )-272(a )-272(spin )-272(lock )-272(is )-272(curr)20(ently )-272(unlocked, )-272(then )-272(the)]TJ -/TT0 1 Tf -27 0 Td -(pthread_spin_lock)Tj -/T1_1 1 Tf --28.8 -1.2 Td -[(function )-29(can )-29(lock )-29(it )-29(without )-29(spinning.)-529(If )-29(the )-29(thr)18(ead )-29(alr)19(eady )-29(has )-29(it )-29(locked, )-29(the )-29(r)18(esults )-29(ar)19(e)]TJ -0 -1.2 TD -[(unde\336ned. )-425(The)-426(call )-175(to)]TJ -/TT0 1 Tf -10.826 0 Td -(pthread_spin_lock)Tj -/T1_1 1 Tf -10.625 0 Td -[(could )-175(fail )-175(with )-175(the)]TJ -/TT0 1 Tf -9.032 0 Td -(EDEADLK)Tj -/T1_1 1 Tf -4.626 0 Td -[(err)18(or )-175(\(or)]TJ --35.108 -1.2 Td -[(some )-208(other )-208(err)19(or\), )-208(or )-208(the )-208(call )-208(could )-208(spin )-208(inde\336nitely)]TJ -0.7076 Tc 24.325 0 Td -(.T)Tj -0 Tc 1.571 0 Td -[(he )-208(behavior )-208(depends )-208(on )-208(the)]TJ --25.896 -1.2 Td -[(implementation. )-346(If)-347(we )-96(try )-96(to )-96(unlock )-96(a )-96(spin )-96(lock )-96(that )-96(is )-96(not )-96(locked, )-96(the )-96(r)13(esults )-96(ar)]TJ -0.3465 Tc 36.413 0 Td -(ea)Tj -0 Tc 1.326 0 Td -(lso)Tj --37.739 -1.2 Td -(unde\336ned.)Tj -1.8 -1.2 Td -[(If )-193(either)]TJ -/TT0 1 Tf -4.108 0 Td -(pthread_spin_lock)Tj -/T1_1 1 Tf -10.643 0 Td -(or)Tj -/TT0 1 Tf -1.384 0 Td -(pthread_spin_trylock)Tj -/T1_1 1 Tf --0.018 Tc 12.443 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-193(0, )-193(then )-193(the)]TJ --31.235 -1.2 Td -[(spin )-149(lock )-149(is )-149(locked.)]TJ --0.092 Tc 9.474 0 Td -[(We )-333(n)]TJ -0 Tc 2.368 0 Td -[(eed )-149(to )-149(be )-149(car)18(eful )-149(not )-149(to )-149(call )-149(any )-149(functions )-149(that )-149(might )-149(sleep)]TJ --11.842 -1.2 Td -[(while )-29(holding )-29(the )-29(spin )-29(lock.)-529(If )-29(we )-29(do, )-29(then )-29(we\325ll )-29(waste )-29(CPU )-29(r)18(esour)18(ces )-29(by )-29(extending )-29(the)]TJ --0 -1.2 Td -[(time other thr)18(eads will spin if they try to acquir)]TJ -0.25 Tc 20.952 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(t.)Tj -/TT1 1 Tf -11.9986 0 0 11.9986 129.585 385.7737 Tm -[(11.6.8 )-556(Barrier)15(s)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.585 365.3762 Tm -[(Barriers )-269(ar)]TJ -0.519 Tc 4.886 0 Td -(eas)Tj -0 Tc 2.441 0 Td -[(ynchr)18(onization )-269(mechanism )-269(that )-269(can )-269(be )-269(used )-269(to )-269(coor)18(dinate )-269(multiple)]TJ --7.327 -1.2 Td -[(thr)18(eads )-89(working )-89(in )-89(parallel.)]TJ -0.3388 Tc 13.135 0 Td -(Ab)Tj -0 Tc 1.67 0 Td -[(arrier )-89(allows )-89(each )-89(thr)19(ead )-89(to )-89(wait )-89(until )-89(all )-89(cooperating)]TJ --14.805 -1.2 Td -[(thr)18(eads )-121(have )-121(r)18(eached )-121(the )-121(same )-121(point, )-121(and )-121(then )-121(continue )-121(executing )-121(fr)18(om )-121(ther)18(e. )-371(W)92(e\325ve)]TJ -0 -1.2 Td -[(alr)18(eady )-218(seen )-218(one )-218(form )-218(of )-218(barrier)]TJ -0.0833 Tc 15.351 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -(he)Tj -/TT0 1 Tf -1.529 0 Td -(pthread_join)Tj -/T1_1 1 Tf -7.668 0 Td -[(function )-218(acts )-218(as )-218(a )-218(barrier )-218(to)]TJ --25.956 -1.2 Td -[(allow one thr)18(ead to wait until another thr)18(ead exits.)]TJ -1.8 -1.2 Td -[(Barrier )-327(objects )-327(ar)]TJ -0.5773 Tc 8.104 0 Td -(em)Tj -0 Tc 1.939 0 Td -(or)Tj -0.5773 Tc 0.923 0 Td -(eg)Tj -0 Tc 1.612 0 Td -[(eneral )-327(than )-327(this, )-327(however)]TJ -0.8274 Tc 12.127 0 Td -(.T)Tj -0 Tc 1.69 0 Td -[(hey )-327(allow )-327(an )-327(arbitrary)]TJ --28.196 -1.2 Td -[(number )-117(of )-117(thr)18(eads )-117(to )-117(wait )-117(until )-117(all )-117(of )-117(the )-117(thr)18(eads )-117(have )-117(completed )-117(pr)20(ocessing, )-117(but )-117(the)]TJ -T* -[(thr)18(eads )-124(don\325t )-124(have )-124(to )-124(exit.)-626(They )-124(can )-124(continue )-124(working )-124(after )-124(all )-124(thr)18(eads )-124(have )-124(r)15(eached)]TJ -T* -[(the barrier)74(.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-323(c)]TJ -0 Tc 2.22 0 Td -[(an )-139(use )-139(the)]TJ -/TT0 1 Tf -5.143 0 Td -(pthread_barrier_init)Tj -/T1_1 1 Tf -12.389 0 Td -[(function )-139(to )-139(initialize )-139(a )-139(barrier)]TJ -0.3893 Tc 13.413 0 Td -(,a)Tj -0 Tc 1.139 0 Td -[(nd )-139(we)]TJ --36.105 -1.2 Td -(can use the)Tj -/TT0 1 Tf -5.169 0 Td -(pthread_barrier_destroy)Tj -/T1_1 1 Tf -14.05 0 Td -[(function to deinitialize a barrier)74(.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5826 228.6926 Tm -(#include )Tj -0 -1.902 TD -(int pthread_barrier_init\(pthread_barrier_t *restrict)Tj -/T1_2 1 Tf -31.8 0 Td -(barrier)Tj -/TT0 1 Tf -(,)Tj --16.8 -1.189 Td -(const pthread_barrierattr_t *restrict)Tj -/T1_2 1 Tf -22.8 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --22.8 -1.189 Td -(unsigned int)Tj -/T1_2 1 Tf -7.8 0 Td -(count)Tj -/TT0 1 Tf -(\);)Tj --22.8 -1.902 Td -(int pthread_barrier_destroy\(pthread_barrier_t *)Tj -/T1_2 1 Tf -(barrier)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -19.681 -1.902 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1514.25 cm -0 0 m -0 863 l -3900 863 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46992 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.6 )]TJ -32.941 0 Td -[(Thr)18(ead )-250(Synchr)18(onization)]TJ -/T1_1 1 Tf -12.892 0 Td -(417)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 129.5922 668.9599 Tm -[(11.6.7 )-556(Spin)-556(Loc)20(ks)]TJ -/T1_0 1 Tf -0.3665 Tc 9.9994 0 0 9.9994 129.5922 648.5611 Tm -(As)Tj -0 Tc 1.569 0 Td -[(pin )-116(lock )-116(is )-116(like )-116(a )-116(mutex, )-116(except )-116(that )-116(instead )-116(of )-116(blocking )-116(a )-116(pr)18(ocess )-116(by )-116(sleeping, )-116(the)]TJ --1.569 -1.2 Td -[(pr)18(ocess )-139(is )-139(blocked )-139(by )-139(busy-waiting )-139(\(spinning\) )-139(until )-139(the )-139(lock )-139(can )-139(be )-139(acquir)15(ed. )-389(A)-390(spin)]TJ -0 -1.2 Td -[(lock )-159(could )-159(be )-159(used )-159(in )-159(situations )-159(wher)]TJ -0.4089 Tc 17.392 0 Td -(el)Tj -0 Tc 1.179 0 Td -[(ocks )-159(ar)]TJ -0.4089 Tc 3.256 0 Td -(eh)Tj -0 Tc 1.47 0 Td -[(eld )-159(for )-159(short )-159(periods )-159(of )-159(times )-159(and)]TJ --23.297 -1.2 Td -[(thr)18(eads don\325t want to incur the cost of being descheduled.)]TJ -1.8 -1.2 Td -[(Spin )-45(locks )-45(ar)]TJ -0.2947 Tc 5.726 0 Td -(eo)Tj -0 Tc 1.32 0 Td -[(ften )-45(used )-45(as )-45(low-level )-45(primitives )-45(to )-45(implement )-45(other )-45(types )-45(of )-45(locks.)]TJ --8.846 -1.2 Td -[(Depending )-99(on )-99(the )-99(system )-99(ar)17(chitectur)18(e, )-99(they )-99(can )-99(be )-99(implemented )-99(ef)17(\336ciently )-99(using )-99(test-)]TJ --0 -1.2 Td -[(and-set )-48(instr)8(uctions. )-298(Although)-298(ef)18(\336cient, )-48(they )-48(can )-48(lead )-48(to )-48(wasting )-48(CPU )-48(r)18(esour)18(ces: )-48(while)]TJ -0.4718 Tc -0 -1.2 Td -(at)Tj -0 Tc 1.298 0 Td -[(hr)18(ead )-222(is )-222(spinning )-222(and )-222(waiting )-222(for )-222(a )-222(lock )-222(to )-222(become )-222(available, )-222(the )-222(CPU )-222(can\325t )-222(do)]TJ --1.298 -1.2 Td -[(anything else.)-500(This is why spin locks should be held only for short periods of time.)]TJ -1.8 -1.2 Td -[(Spin )-157(locks )-157(ar)]TJ -0.4066 Tc 5.95 0 Td -(eu)Tj -0 Tc 1.489 0 Td -[(seful )-157(when )-157(used )-157(in )-157(a )-157(nonpr)18(eemptive )-157(kernel: )-157(besides )-157(pr)18(oviding )-157(a)]TJ --9.239 -1.2 Td -[(mutual )-344(exclusion )-344(mechanism, )-344(they )-344(block )-344(interr)8(upts )-344(so )-344(an )-344(interr)8(upt )-344(handler )-344(can\325t)]TJ -0 -1.2 TD -[(deadlock )-154(the )-154(system )-154(by )-154(trying )-154(to )-154(acquir)]TJ -0.4045 Tc 18.406 0 Td -(eas)Tj -0 Tc 2.212 0 Td -[(pin )-154(lock )-154(that )-154(is )-154(alr)16(eady )-155(locked )-155(\(think )-155(of)]TJ --20.618 -1.2 Td -[(interr)8(upts )-52(as )-52(another )-52(type )-52(of )-52(pr)16(eemption\). )-302(In)-303(these )-52(types )-52(of )-52(kernels, )-52(interr)8(upt )-52(handlers)]TJ --0 -1.2 Td -[(can\325t sleep, so the only synchr)18(onization primitives they can use ar)]TJ -0.25 Tc 29.013 0 Td -(es)Tj -0 Tc 1.153 0 Td -(pin locks.)Tj --28.366 -1.2 Td -[(However)74(,)-274(at)-274(user )-24(level, )-24(spin )-24(locks )-24(ar)]TJ -0.2741 Tc 16.069 0 Td -(en)Tj -0 Tc 1.335 0 Td -[(ot )-24(as )-24(useful )-24(unless )-24(you )-24(ar)]TJ -0.2742 Tc 11.285 0 Td -(er)Tj -0 Tc 1.14 0 Td -[(unning )-24(in )-24(a )-24(r)17(eal-)]TJ --31.628 -1.2 Td -[(time )-133(scheduling )-133(class )-133(that )-133(doesn\325t )-133(allow )-133(pr)16(eemption. )-383(User)18(-level )-133(thr)18(eads )-133(r)8(unning )-133(in )-133(a)]TJ -T* -[(time-sharing )-72(scheduling )-72(class )-72(can )-72(be )-72(descheduled )-72(when )-72(their )-72(time )-72(quantum )-72(expir)18(es )-72(or)]TJ -T* -[(when )-59(a )-59(thr)18(ead )-59(with )-59(a )-59(higher )-59(scheduling )-59(priority )-59(becomes )-59(r)7(unnable. )-309(In)-309(these )-59(cases, )-59(if )-59(a)]TJ -0 -1.2 Td -[(thr)18(ead )-110(is )-110(holding )-110(a )-110(spin )-110(lock, )-110(it )-110(will )-110(be )-110(put )-110(to )-110(sleep )-110(and )-110(other )-110(thr)19(eads )-110(blocked )-110(on )-110(the)]TJ -T* -(lock will continue spinning longer than intended.)Tj -1.8 -1.2 Td -[(Many )-94(mutex )-94(implementations )-94(ar)17(e)-344(so)-344(e)]TJ --0.018 Tc 17.402 0 Td -(f\336)Tj -0 Tc 0.92 0 Td -[(cient )-94(that )-94(the )-94(performance )-94(of )-94(applications)]TJ --20.122 -1.2 Td -[(using )-146(mutex )-146(locks )-146(is )-146(equivalent )-146(to )-146(their )-146(performance )-146(if )-146(they )-146(had )-146(used )-146(spin )-146(locks.)-650(In)]TJ -T* -[(fact, )-219(some )-219(mutex )-219(implementations )-219(will )-219(spin )-219(for )-219(a )-219(limited )-219(amount )-219(of )-219(time )-219(trying )-219(to)]TJ -T* -(acquir)Tj -0.4319 Tc 2.775 0 Td -(et)Tj -0 Tc 1.237 0 Td -[(he )-182(mutex, )-182(and )-182(only )-182(sleep )-182(when )-182(the )-182(spin )-182(count )-182(thr)19(eshold )-182(is )-182(r)18(eached. )-432(These)]TJ --4.012 -1.2 Td -[(factors, )-265(combined )-265(with )-265(advances )-265(in )-265(modern )-265(pr)16(ocessors )-265(that )-265(allow )-265(them )-265(to )-265(context)]TJ -T* -[(switch at faster and faster rates, make spin locks useful only in limite\ d cir)18(cumstances.)]TJ -1.8 -1.2 Td -[(The )-120(interfaces )-120(for )-120(spin )-120(locks )-120(ar)]TJ -0.3697 Tc 14.086 0 Td -(es)Tj -0 Tc 1.273 0 Td -[(imilar )-120(to )-120(those )-120(for )-120(mutexes, )-120(making )-120(it )-120(r)20(elatively)]TJ --17.158 -1.2 Td -[(easy )-522(to )-522(r)18(eplace )-522(one )-522(with )-522(the )-522(other)]TJ -1.0219 Tc 17.915 0 Td -(.W)Tj -0.7719 Tc 2.18 0 Td -(ec)Tj -0 Tc 1.695 0 Td -[(an )-522(initialize )-522(a )-522(spin )-522(lock )-522(with )-522(the)]TJ -/TT1 1 Tf --21.79 -1.2 Td -(pthread_spin_init)Tj -/T1_0 1 Tf -11.036 0 Td -[(function. )-836(T)]TJ -0.8357 Tc 5.564 0 Td -(od)Tj -0 Tc 1.993 0 Td -[(einitialize )-586(a )-586(spin )-586(lock, )-586(we )-586(can )-586(call )-586(the)]TJ -/TT1 1 Tf --18.592 -1.2 Td -(pthread_spin_destroy)Tj -/T1_0 1 Tf -12.25 0 Td -(function.)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.591 283.883 Tm -(#include )Tj -0 -1.783 TD -(int pthread_spin_init\(pthread_spinlock_t *)Tj -/T1_2 1 Tf -(lock)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 28.573 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -[(pshar)18(ed)]TJ -/TT1 1 Tf -(\);)Tj --30.373 -1.783 Td -(int pthread_spin_destroy\(pthread_spinlock_t *)Tj -/T1_2 1 Tf -(lock)Tj -/TT1 1 Tf -(\);)Tj -/T1_0 1 Tf -19.681 -1.783 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2312.25 cm -0 0 m -0 617 l -3900 617 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 217.7239 Tm -[(Only )-298(one )-298(attribute )-298(is )-298(speci\336ed )-298(for )-298(spin )-298(locks, )-298(which )-298(matters )-298(only )-298(if )-298(the )-298(platform)]TJ -0 -1.2 TD -[(supports )-222(the )-222(Thr)18(ead )-222(Pr)17(ocess-Shar)18(ed )-222(Synchr)18(onization )-222(option )-222(\(now )-222(mandatory )-222(in )-222(the)]TJ --0 -1.2 Td -[(Single )-294(UNIX )-294(Speci\336cation; )-294(r)18(ecall )-294(Figur)]TJ -0.5444 Tc 18.164 0 Td -(e2)Tj -0 Tc 1.523 0 Td -[(.5\). )-544(The)]TJ -/T1_2 1 Tf -4.346 0 Td -[(pshar)18(ed)]TJ -/T1_0 1 Tf -3.637 0 Td -[(ar)18(gument )-294(r)18(epr)18(esents )-294(the)]TJ -/T1_2 1 Tf --27.67 -1.2 Td -[(pr)18(ocess-shar)18(ed)]TJ -/T1_0 1 Tf -6.093 0 Td -[(attribute, )-28(which )-28(indicates )-28(how )-28(the )-28(spin )-28(lock )-28(will )-28(be )-28(acquir)22(ed. )-278(If)-277(it )-28(is )-28(set )-28(to)]TJ -/TT1 1 Tf --6.093 -1.2 Td -(PTHREAD_PROCESS_SHARED)Tj -/T1_0 1 Tf -0.3426 Tc (,t)Tj -0 Tc 14.119 0 Td -[(hen )-93(the )-93(spin )-93(lock )-93(can )-93(be )-93(acquir)20(ed )-92(by )-92(thr)18(eads )-92(that )-92(have)]TJ --14.119 -1.2 Td -[(access )-332(to )-332(the )-332(lock\325s )-332(underlying )-332(memory)]TJ -0.5822 Tc 19.001 0 Td -(,e)Tj -0 Tc 1.311 0 Td -[(ven )-332(if )-332(those )-332(thr)18(eads )-332(ar)]TJ -0.5823 Tc 11.112 0 Td -(ef)Tj --0.018 Tc 1.394 0 Td -(ro)Tj -0.5823 Tc 0.923 0 Td -(md)Tj -0 Tc 2.076 0 Td -[(if)18(fer)18(ent)]TJ --35.818 -1.2 Td -[(pr)18(ocesses. )-262(Otherwise,)-263(the)]TJ -/T1_2 1 Tf -11.718 0 Td -[(pshar)18(ed)]TJ -/T1_0 1 Tf -3.355 0 Td -[(ar)18(gument )-12(is )-12(set )-12(to)]TJ -/TT1 1 Tf -8.171 0 Td -(PTHREAD_PROCESS_PRIVATE)Tj -/T1_0 1 Tf -14.062 0 Td -(and)Tj --37.307 -1.2 Td -[(the spin lock can be accessed only fr)18(om thr)18(eads within the pr)18(ocess that initialized it.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46993 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.6 )]TJ -32.941 0 Td -[(Thr)18(ead )-250(Synchr)18(onization)]TJ -/T1_1 1 Tf -12.892 0 Td -(413)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(In )-9(this )-9(example, )-9(we )-9(lock )-9(the )-9(queue\325s )-9(r)15(eader\320writer )-9(lock )-9(in )-9(write )-9(mode )-9(whenever )-9(we)]TJ --1.8 -1.2 Td -[(need )-1(to )-1(add )-1(a )-1(job )-1(to )-1(the )-1(queue )-1(or )-1(r)18(emove )-1(a )-1(job )-1(fr)18(om )-1(the )-1(queue.)-501(Whenever )-1(we )-1(sear)18(ch )-1(the)]TJ -0 -1.2 TD -[(queue, )-146(we )-146(grab )-146(the )-146(lock )-146(in )-146(r)18(ead )-146(mode, )-146(allowing )-146(all )-146(the )-146(worker )-146(thr)12(eads )-146(to )-146(sear)18(ch )-146(the)]TJ -T* -[(queue )-96(concurr)18(ently)]TJ -0.5958 Tc 8.584 0 Td -(.U)Tj -0 Tc 1.624 0 Td -[(sing )-96(a )-96(r)18(eader\320writer )-96(lock )-96(will )-96(impr)18(ove )-96(performance )-96(in )-96(this )-96(case)]TJ --10.208 -1.2 Td -[(only if thr)18(eads sear)18(ch the queue much mor)]TJ -0.25 Tc 18.883 0 Td -(ef)Tj --0.018 Tc 1.062 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(quently than they add or r)18(emove jobs.)]TJ --19.001 -1.2 Td -[(The )-106(worker )-106(thr)18(eads )-106(take )-106(only )-106(those )-106(jobs )-106(that )-106(match )-106(their )-106(thr)14(ead )-106(ID )-106(of)]TJ -0.3563 Tc 31.794 0 Td -(ft)Tj -0 Tc 1.015 0 Td -[(he )-106(queue.)]TJ --34.609 -1.2 Td -[(Since )-25(the )-25(job )-25(str)7(uctur)18(es )-25(ar)]TJ -0.2753 Tc 11.412 0 Td -(eu)Tj -0 Tc 1.357 0 Td -[(sed )-25(only )-25(by )-25(one )-25(thr)17(ead )-25(at )-25(a )-25(time, )-25(they )-25(don\325t )-25(need )-25(any )-25(extra)]TJ --12.769 -1.2 Td -(locking.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5850.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9986 0 0 11.9986 129.5844 548.9341 Tm -[(11.6.5 )-556(Reader\320Writer)-556(Loc)20(king )-278(with )-278(Timeouts)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5845 524.937 Tm -[(Just )-414(as )-414(with )-414(mutexes, )-414(the )-414(Single )-414(UNIX )-414(Speci\336cation )-414(pr)18(ovides )-414(functions )-414(to )-414(lock)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(ader\320writer )-328(locks )-328(with )-328(a )-328(timeout )-328(to )-328(give )-328(applications )-328(a )-328(way )-328(to )-328(avoid )-328(blocking)]TJ --0.856 -1.2 Td -[(inde\336nitely )-514(while )-514(trying )-514(to )-514(acquir)]TJ -0.7636 Tc 16.977 0 Td -(ear)Tj -0 Tc 2.883 0 Td -[(eader\320writer )-514(lock.)-1014(These )-514(functions )-514(ar)20(e)]TJ -/TT1 1 Tf --19.861 -1.2 Td -(pthread_rwlock_timedrdlock)Tj -/T1_0 1 Tf -15.85 0 Td -(and)Tj -/TT1 1 Tf -1.943 0 Td -(pthread_rwlock_timedwrlock)Tj -/T1_0 1 Tf -(.)Tj -/TT1 1 Tf -8.9989 0 0 8.9989 140.3834 469.8436 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -(int pthread_rwlock_timedrdlock\(pthread_rwlock_t *restrict)Tj -/T1_2 1 Tf -34.8 0 Td -(rwlock)Tj -/TT1 1 Tf -(,)Tj --16.2 -1.189 Td -(const struct timespec *restrict)Tj -/T1_2 1 Tf -19.2 0 Td -(tsptr)Tj -/TT1 1 Tf -(\);)Tj --37.8 -2.14 Td -(int pthread_rwlock_timedwrlock\(pthread_rwlock_t *restrict)Tj -/T1_2 1 Tf -34.8 0 Td -(rwlock)Tj -/TT1 1 Tf -(,)Tj --16.2 -1.189 Td -(const struct timespec *restrict)Tj -/T1_2 1 Tf -19.2 0 Td -(tsptr)Tj -/TT1 1 Tf -(\);)Tj -/T1_0 1 Tf --16.519 -2.14 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3755.25 cm -0 0 m -0 1034 l -3900 1034 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 147.5734 359.5553 Tm -[(These )-282(functions )-282(behave )-282(like )-282(their )-282(\324)38(\324untimed\325)]TJ -0.5318 Tc 20.75 0 Td -(\325c)Tj -0 Tc 1.254 0 Td -[(ounterparts. )-532(The)]TJ -/T1_2 1 Tf -8.414 0 Td -(tsptr)Tj -/T1_0 1 Tf -2.476 0 Td -[(ar)18(gument)]TJ --34.694 -1.2 Td -[(points )-165(to )-165(a)]TJ -/TT1 1 Tf -5.386 0 Td -(timespec)Tj -/T1_0 1 Tf -5.215 0 Td -[(str)8(uctur)]TJ -0.4147 Tc 3.49 0 Td -(es)Tj -0 Tc 1.318 0 Td -[(pecifying )-165(the )-165(time )-165(at )-165(which )-165(the )-165(thr)18(ead )-165(should )-165(stop)]TJ --15.408 -1.2 Td -[(blocking. )-421(If)-420(they )-171(can\325t )-171(acquir)]TJ -0.4207 Tc 13.52 0 Td -(et)Tj -0 Tc 1.226 0 Td -[(he )-171(lock, )-171(these )-171(functions )-171(r)19(eturn )-171(the)]TJ -/TT1 1 Tf -16.242 0 Td -(ETIMEDOUT)Tj -/T1_0 1 Tf -5.821 0 Td -[(err)18(or)]TJ --36.808 -1.2 Td -[(when )-443(the )-443(timeout )-443(expir)17(es. )-693(Like)-694(the)]TJ -/TT1 1 Tf -18.469 0 Td -(pthread_mutex_timedlock)Tj -/T1_0 1 Tf -14.493 0 Td -[(function, )-443(the)]TJ --32.963 -1.2 Td -[(timeout speci\336es an absolute time, not a r)18(elative one.)]TJ -/TT0 1 Tf -11.9978 0 0 11.9978 129.576 275.5704 Tm -[(11.6.6 )-556(Condition)]TJ --0.06 Tc 8.836 0 Td -(Va)Tj -0 Tc 1.163 0 Td -[(riab)10(les)]TJ -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5759 251.5747 Tm -[(Condition )-10(variables )-10(ar)]TJ -0.2597 Tc 9.878 0 Td -(ea)Tj -0 Tc 1.239 0 Td -[(nother )-10(synchr)18(onization )-10(mechanism )-10(available )-10(to )-10(thr)20(eads. )-260(These)]TJ --11.117 -1.2 Td -[(synchr)18(onization )-175(objects )-175(pr)18(ovide )-175(a )-175(place )-175(for )-175(thr)18(eads )-175(to )-175(r)17(endezvous. )-425(When)-425(used )-175(with)]TJ -0 -1.2 TD -[(mutexes, )-248(condition )-248(variables )-248(allow )-248(thr)18(eads )-248(to )-248(wait )-248(in )-248(a )-248(race-fr)21(ee )-248(way )-248(for )-248(arbitrary)]TJ -T* -[(conditions to occur)74(.)]TJ -1.8 -1.2 Td -[(The )-70(condition )-70(itself )-70(is )-70(pr)18(otected )-70(by )-70(a )-70(mutex.)]TJ -0.3201 Tc 20.417 0 Td -(At)Tj -0 Tc 1.424 0 Td -[(hr)18(ead )-70(must )-70(\336rst )-70(lock )-70(the )-70(mutex )-70(to)]TJ --23.642 -1.2 Td -[(change )-72(the )-72(condition )-72(state.)-572(Other )-72(thr)20(eads )-71(will )-71(not )-71(notice )-71(the )-71(change )-71(until )-71(they )-71(acquir)14(e)]TJ -T* -(the mutex, because the mutex must be locked to be able to evaluate the c\ ondition.)Tj -1.8 -1.2 Td -(Befor)Tj -0.2762 Tc 2.346 0 Td -(eac)Tj -0 Tc 1.975 0 Td -[(ondition )-26(variable )-26(is )-26(used, )-26(it )-26(must )-26(\336rst )-26(be )-26(initialized.)]TJ -0.2763 Tc 23.505 0 Td -(Ac)Tj -0 Tc 1.498 0 Td -[(ondition )-26(variable,)]TJ --0.018 Tc -31.125 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(pr)18(esented )-13(by )-13(the)]TJ -/TT1 1 Tf -7.644 0 Td -(pthread_cond_t)Tj -/T1_0 1 Tf -8.663 0 Td -[(data )-13(type, )-13(can )-13(be )-13(initialized )-13(in )-13(two )-13(ways.)]TJ --0.092 Tc 18.66 0 Td -[(We )-197(c)]TJ -0 Tc 2.094 0 Td -(an)Tj --37.918 -1.2 Td -[(assign )-147(the )-147(constant)]TJ -/TT1 1 Tf -9.086 0 Td -(PTHREAD_COND_INITIALIZER)Tj -/T1_0 1 Tf -14.797 0 Td -[(to )-147(a )-147(statically )-147(allocated )-147(condition)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46994 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.6 )]TJ -32.941 0 Td -[(Thr)18(ead )-250(Synchr)18(onization)]TJ -/T1_1 1 Tf -12.892 0 Td -(409)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(Mac )-122(OS )-122(X )-122(10.6.8 )-122(doesn\325t )-122(support)]TJ -/TT0 1 Tf -15.342 0 Td -(pthread_mutex_timedlock)Tj -/T1_0 1 Tf -14.172 0 Td -[(yet, )-122(but )-122(Fr)18(eeBSD )-122(8.0, )-122(Linux)]TJ --29.514 -1.25 Td -[(3.2.0, )-182(and )-182(Solaris )-182(10 )-182(do )-182(support )-182(it, )-182(although )-182(Solaris )-182(still )-182(bundles )-182(it )-182(in )-182(the )-182(r)13(eal-time )-182(library)111(,)]TJ -/TT0 1 Tf --0 -1.25 Td -(librt)Tj -/T1_0 1 Tf -0.5 Tc (.S)Tj -0 Tc 4.275 0 Td -[(olaris 10 also pr)18(ovides an alternative function that uses a r)18(elative timeout.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 129.592 618.9629 Tm -[(11.6.4 )-556(Reader\320Writer)-556(Loc)20(ks)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.592 594.9643 Tm -[(Reader\320writer )-34(locks )-34(ar)]TJ -0.2844 Tc 10.059 0 Td -(es)Tj -0 Tc 1.187 0 Td -[(imilar )-34(to )-34(mutexes, )-34(except )-34(that )-34(they )-34(allow )-34(for )-34(higher )-34(degr)18(ees )-34(of)]TJ --11.246 -1.2 Td -[(parallelism. )-340(W)55(ith )-90(a )-90(mutex, )-90(the )-90(state )-90(is )-90(either )-90(locked )-90(or )-90(unlocked, )-90(and )-90(only )-90(one )-90(thr)14(ead)]TJ --0 -1.2 Td -[(can )-49(lock )-49(it )-49(at )-49(a )-49(time.)-552(Thr)18(ee )-50(states )-50(ar)]TJ -0.2996 Tc 16.067 0 Td -(ep)Tj -0 Tc 1.38 0 Td -[(ossible )-50(with )-50(a )-50(r)18(eader\320writer )-50(lock: )-50(locked )-50(in )-50(r)21(ead)]TJ --17.447 -1.2 Td -[(mode, )-215(locked )-215(in )-215(write )-215(mode, )-215(and )-215(unlocked.)-715(Only )-215(one )-215(thr)18(ead )-215(at )-215(a )-215(time )-215(can )-215(hold )-215(a)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(ader\320writer )-39(lock )-39(in )-39(write )-39(mode, )-39(but )-39(multiple )-39(thr)18(eads )-39(can )-39(hold )-39(a )-39(r)18(eader\320writer )-39(lock )-39(in)]TJ --0.018 Tc -0.856 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(ad mode at the same time.)Tj -0.944 -1.2 Td -[(When )-133(a )-133(r)18(eader\320writer )-133(lock )-133(is )-133(write )-133(locked, )-133(all )-133(thr)18(eads )-133(attempting )-133(to )-133(lock )-133(it )-133(block)]TJ --1.8 -1.2 Td -[(until )-31(it )-31(is )-31(unlocked.)-531(When )-31(a )-31(r)18(eader\320writer )-31(lock )-31(is )-31(r)14(ead )-31(locked, )-31(all )-31(thr)18(eads )-31(attempting )-31(to)]TJ -T* -[(lock )-161(it )-161(in )-161(r)18(ead )-161(mode )-161(ar)]TJ -0.4113 Tc 10.746 0 Td -(eg)Tj -0 Tc 1.446 0 Td -[(iven )-161(access, )-161(but )-161(any )-161(thr)17(eads )-161(attempting )-161(to )-161(lock )-161(it )-161(in )-161(write)]TJ --12.193 -1.2 Td -[(mode )-604(block )-604(until )-604(all )-604(the )-604(thr)16(eads )-604(have )-604(r)18(eleased )-604(their )-604(r)18(ead )-604(locks.)-1107(Although)]TJ -T* -[(implementations )-104(vary)]TJ -0.3538 Tc 9.743 0 Td -(,r)Tj -0 Tc 0.981 0 Td -[(eader\320writer )-104(locks )-104(usually )-104(block )-104(additional )-104(r)18(eaders )-104(if )-104(a )-104(lock )-104(is)]TJ --10.724 -1.2 Td -[(alr)18(eady )-115(held )-115(in )-115(r)18(ead )-115(mode )-115(and )-115(a )-115(thr)18(ead )-115(is )-115(blocked )-115(trying )-115(to )-115(acquir)]TJ -0.3655 Tc 30.637 0 Td -(et)Tj -0 Tc 1.171 0 Td -[(he )-115(lock )-115(in )-115(write)]TJ --31.807 -1.2 Td -[(mode. )-250(This)-250(pr)18(events a constant str)18(eam of r)18(eaders fr)18(om starving waiting writers.)]TJ -1.8 -1.2 Td -[(Reader\320writer )-63(locks )-63(ar)]TJ -0.313 Tc 10.116 0 Td -(ew)Tj -0 Tc 1.626 0 Td -[(ell )-63(suited )-63(for )-63(situations )-63(in )-63(which )-63(data )-63(str)8(uctur)18(es )-63(ar)]TJ -0.313 Tc 22.699 0 Td -(er)Tj -0 Tc 1.169 0 Td -(ead)Tj --37.41 -1.2 Td -(mor)Tj -0.3534 Tc 1.806 0 Td -(eo)Tj -0 Tc 1.378 0 Td -[(ften )-103(than )-103(they )-103(ar)]TJ -0.3534 Tc 7.59 0 Td -(em)Tj -0 Tc 1.715 0 Td -[(odi\336ed. )-353(When)]TJ -0.3534 Tc 6.993 0 Td -(ar)Tj -0 Tc 1.23 0 Td -[(eader\320writer )-103(lock )-103(is )-103(held )-103(in )-103(write )-103(mode,)]TJ --20.713 -1.2 Td -[(the )-47(data )-47(str)8(uctur)18(e)-297(it)-297(p)]TJ --0.018 Tc (ro)Tj -0 Tc 10.622 0 Td -[(tects )-47(can )-47(be )-47(modi\336ed )-47(safely)]TJ -0.2971 Tc 12.243 0 Td -(,s)Tj -0 Tc 0.971 0 Td -[(ince )-47(only )-47(one )-47(thr)18(ead )-47(at )-47(a )-47(time )-47(can)]TJ --23.837 -1.2 Td -[(hold )-145(the )-145(lock )-145(in )-145(write )-145(mode.)-645(When )-145(the )-145(r)17(eader\320writer )-145(lock )-145(is )-145(held )-145(in )-145(r)18(ead )-145(mode, )-145(the)]TJ -T* -[(data )-133(str)8(uctur)18(e)-383(it)-383(p)]TJ --0.018 Tc (ro)Tj -0 Tc 9.197 0 Td -[(tects )-133(can )-133(be )-133(r)17(ead )-133(by )-133(multiple )-133(thr)18(eads, )-133(as )-133(long )-133(as )-133(the )-133(thr)18(eads )-133(\336rst)]TJ --9.197 -1.2 Td -(acquir)Tj -0.25 Tc 2.775 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(he lock in r)18(ead mode.)]TJ --2.03 -1.2 Td -[(Reader\320writer )-119(locks )-119(ar)]TJ -0.3693 Tc 10.229 0 Td -(ea)Tj -0 Tc 1.348 0 Td -[(lso )-119(called )-119(shar)18(ed\320exclusive )-119(locks.)-620(When )-119(a )-119(r)17(eader\320writer)]TJ --13.377 -1.2 Td -[(lock )-47(is )-47(r)18(ead )-47(locked, )-47(it )-47(is )-47(said )-47(to )-47(be )-47(locked )-47(in )-47(shar)18(ed )-47(mode.)-547(When )-47(it )-47(is )-47(write )-47(locked, )-47(it )-47(is)]TJ -T* -(said to be locked in exclusive mode.)Tj -1.8 -1.2 Td -[(As )-76(with )-76(mutexes, )-76(r)18(eader\320writer )-76(locks )-76(must )-76(be )-76(initialized )-76(befor)]TJ -0.3261 Tc 28.135 0 Td -(eu)Tj -0 Tc 1.408 0 Td -[(se )-76(and )-76(destr)18(oyed)]TJ --31.343 -1.2 Td -(befor)Tj -0.25 Tc 2.288 0 Td -(ef)Tj --0.018 Tc 1.062 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eing their underlying memory)111(.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5906 302.2819 Tm -(#include )Tj -0 -1.783 TD -(int pthread_rwlock_init\(pthread_rwlock_t *restrict)Tj -/T1_2 1 Tf -30.6 0 Td -(rwlock)Tj -/TT0 1 Tf -(,)Tj --16.2 -1.189 Td -(const pthread_rwlockattr_t *restrict)Tj -/T1_2 1 Tf -22.2 0 Td -(attr)Tj -/TT0 1 Tf -(\);)Tj --36.6 -1.783 Td -(int pthread_rwlock_destroy\(pthread_rwlock_t *)Tj -/T1_2 1 Tf -(rwlock)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -19.681 -1.783 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2389.25 cm -0 0 m -0 724 l -3900 724 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -0.3482 Tc 9.9988 0 0 9.9988 129.5844 225.4229 Tm -(Ar)Tj -0 Tc 1.503 0 Td -[(eader\320writer )-98(lock )-98(is )-98(initialized )-98(by )-98(calling)]TJ -/TT0 1 Tf -18.842 0 Td -(pthread_rwlock_init)Tj -/T1_0 1 Tf -0.5982 Tc (.W)Tj -0.3482 Tc 13.156 0 Td -(ec)Tj -0 Tc 1.271 0 Td -[(an )-98(pass )-98(a)]TJ --34.773 -1.2 Td -[(null )-26(pointer )-26(for)]TJ -/T1_2 1 Tf -7.088 0 Td -(attr)Tj -/T1_0 1 Tf -1.775 0 Td -[(if )-26(we )-26(want )-26(the )-26(r)18(eader\320writer )-26(lock )-26(to )-26(have )-26(the )-26(default )-26(attributes.)]TJ --0.092 Tc 28.75 0 Td -(We)Tj -0 Tc -37.613 -1.2 Td -[(discuss r)18(eader\320writer lock attributes in Section 12.4.2.)]TJ -1.8 -1.2 Td -[(The )-481(Single )-481(UNIX )-481(Speci\336cation )-481(de\336nes )-481(the)]TJ -/TT0 1 Tf -21.6 0 Td -(PTHREAD_RWLOCK_INITIALIZER)Tj -/T1_0 1 Tf --23.4 -1.2 Td -[(constant )-3(in )-3(the )-3(XSI )-3(option.)-502(It )-3(can )-3(be )-3(used )-3(to )-3(initialize )-3(a )-3(statically )-3(allocated )-3(r)20(eader\320writer)]TJ -0 -1.2 TD -(lock when the default attributes ar)Tj -0.25 Tc 15.194 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(uf)18(\336cient.)]TJ --14.547 -1.2 Td -(Befor)Tj -0.7416 Tc 2.346 0 Td -(ef)Tj --0.018 Tc 1.554 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eing )-492(the )-492(memory )-492(backing )-492(a )-492(r)20(eader\320writer )-491(lock, )-491(we )-491(need )-491(to )-491(call)]TJ -/TT0 1 Tf --6.556 -1.2 Td -(pthread_rwlock_destroy)Tj -/T1_0 1 Tf -13.527 0 Td -[(to )-77(clean )-77(it )-77(up.)-577(If)]TJ -/TT0 1 Tf -7.794 0 Td -(pthread_rwlock_init)Tj -/T1_0 1 Tf -11.727 0 Td -[(allocated )-77(any)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46995 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.6 )]TJ -32.941 0 Td -[(Thr)18(ead )-250(Synchr)18(onization)]TJ -/T1_1 1 Tf -12.892 0 Td -(407)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 215.987 670.2598 Tm -(tfp = tfp->f_next;)Tj --2.4 -1.189 Td -(tfp->f_next = fp->f_next;)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(pthread_mutex_unlock\(&hashlock\);)Tj -T* -(pthread_mutex_destroy\(&fp->f_lock\);)Tj -0 -1.189 TD -(free\(fp\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(pthread_mutex_unlock\(&hashlock\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5692.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 267.1959 553.1326 Tm -[(Figure 1)37(1.12)]TJ -/T1_0 1 Tf -6.25 0 Td -(Simpli\336ed locking)Tj -9.9988 0 0 9.9988 147.5823 529.1355 Tm -[(Note )-26(how )-26(much )-26(simpler )-26(the )-26(pr)18(ogram )-26(in )-26(Figur)]TJ -0.2756 Tc 20.45 0 Td -(e1)Tj -0 Tc 1.2 0 Td -[(1.12 )-26(is )-26(compar)18(ed )-26(to )-26(the )-26(pr)18(ogram )-26(in)]TJ --23.45 -1.2 Td -(Figur)Tj -0.2655 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.189 0 Td -[(1.1)55(1. )-265(The)-266(lock-or)18(dering )-15(issues )-15(surr)18(ounding )-15(the )-15(hash )-15(list )-15(and )-15(the )-15(r)15(efer)18(ence )-15(count)]TJ --3.572 -1.2 Td -[(go )-32(away )-32(when )-32(we )-32(use )-32(the )-32(same )-32(lock )-32(for )-32(both )-32(purposes.)-530(Multithr)18(eaded )-32(softwar)]TJ -0.2819 Tc 35.296 0 Td -(ed)Tj -0 Tc 1.372 0 Td -(esign)Tj --36.668 -1.2 Td -[(involves )-47(these )-47(types )-47(of )-47(trade-of)18(fs. )-297(If)-297(your )-47(locking )-47(granularity )-47(is )-47(too )-47(coarse, )-47(you )-47(end )-47(up)]TJ --0 -1.2 Td -[(with )-348(too )-348(many )-348(thr)18(eads )-348(blocking )-348(behind )-348(the )-348(same )-348(locks, )-348(with )-348(little )-348(impr)17(ovement)]TJ -0 -1.2 TD -[(possible )-92(fr)18(om )-92(concurr)18(ency)]TJ -0.5919 Tc 11.773 0 Td -(.I)Tj -0.3419 Tc 1.179 0 Td -(fy)Tj -0 Tc 1.231 0 Td -[(our )-92(locking )-92(granularity )-92(is )-92(too )-92(\336ne, )-92(then )-92(you )-92(suf)18(fer )-92(bad)]TJ --14.183 -1.2 Td -[(performance )-93(fr)18(om )-93(excess )-93(locking )-93(over)18(head, )-93(and )-93(you )-93(end )-93(up )-93(with )-93(complex )-93(code.)-588(As )-93(a)]TJ -T* -[(pr)18(ogrammer)]TJ -0.5908 Tc 5.541 0 Td -(,y)Tj -0 Tc 1.397 0 Td -[(ou )-341(need )-341(to )-341(\336nd )-341(the )-341(corr)18(ect )-341(balance )-341(between )-341(code )-341(complexity )-341(and)]TJ --6.938 -1.2 Td -[(performance, while still satisfying your locking r)18(equir)18(ements.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4332.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9978 0 0 11.9978 129.5767 398.3273 Tm -(11.6.3)Tj -/TT2 1 Tf -3.614 0 Td -(pthread_mutex_timedlock)Tj -/TT1 1 Tf -14.356 0 Td -(Function)Tj -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 376.7316 Tm -[(One )-52(additional )-52(mutex )-52(primitive )-52(allows )-52(us )-52(to )-52(bound )-52(the )-52(time )-52(that )-52(a )-52(thr)17(ead )-52(blocks )-52(when)]TJ -0.418 Tc T* -(am)Tj -0 Tc 1.801 0 Td -[(utex )-168(it )-168(is )-168(trying )-168(to )-168(acquir)18(e)-418(is)-418(alr)18(eady )-168(locked.)-668(The)]TJ -/TT0 1 Tf -23.399 0 Td -(pthread_mutex_timedlock)Tj -/T1_0 1 Tf --25.2 -1.2 Td -[(function )-128(is )-128(equivalent )-128(to)]TJ -/TT0 1 Tf -11.482 0 Td -(pthread_mutex_lock)Tj -/T1_0 1 Tf -0.378 Tc (,b)Tj -0 Tc 11.981 0 Td -[(ut )-128(if )-128(the )-128(timeout )-128(value )-128(is )-128(r)18(eached,)]TJ -/TT0 1 Tf --23.463 -1.2 Td -(pthread_mutex_timedlock)Tj -/T1_0 1 Tf -14.162 0 Td -[(will )-112(r)18(eturn )-112(the )-112(err)17(or )-112(code)]TJ -/TT0 1 Tf -11.939 0 Td -(ETIMEDOUT)Tj -/T1_0 1 Tf -5.762 0 Td -[(without )-112(locking)]TJ --31.864 -1.2 Td -(the mutex.)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.574 312.0432 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(int pthread_mutex_timedlock\(pthread_mutex_t *restrict)Tj -/T1_2 1 Tf -32.4 0 Td -(mutex)Tj -/TT0 1 Tf -(,)Tj --15.6 -1.189 Td -(const struct timespec *restrict)Tj -/T1_2 1 Tf -19.2 0 Td -(tsptr)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --14.719 -1.902 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2519.25 cm -0 0 m -0 692 l -3900 692 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9976 0 0 9.9976 147.5646 238.4018 Tm -[(The )-53(timeout )-53(speci\336es )-53(how )-53(long )-53(we )-53(ar)]TJ -0.3029 Tc 16.819 0 Td -(ew)Tj -0 Tc 1.616 0 Td -[(illing )-53(to )-53(wait )-53(in )-53(terms )-53(of )-53(absolute )-53(time )-53(\(as)]TJ --20.235 -1.2 Td -[(opposed )-44(to )-44(r)17(elative )-44(time; )-44(we )-44(specify )-44(that )-44(we )-44(ar)]TJ -0.2944 Tc 20.937 0 Td -(ew)Tj -0 Tc 1.607 0 Td -[(illing )-44(to )-44(block )-44(until )-44(time )-44(X )-44(instead )-44(of)]TJ --22.544 -1.2 Td -[(saying )-114(that )-114(we )-114(ar)]TJ -0.3636 Tc 7.924 0 Td -(ew)Tj -0 Tc 1.677 0 Td -[(illing )-113(to )-113(block )-113(for )-113(Y )-113(seconds\).)-613(The )-113(timeout )-113(is )-113(r)14(epr)18(esented )-113(by )-113(the)]TJ -/TT0 1 Tf --9.6 -1.2 Td -(timespec)Tj -/T1_0 1 Tf -5.05 0 Td -[(str)8(uctur)18(e, which describes time in terms of seconds and nanoseconds.)]TJ -/TT1 1 Tf --8.65 -2.76 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(In )-180(Figur)]TJ -0.4304 Tc 3.732 0 Td -(e1)Tj -0 Tc 1.354 0 Td -[(1.13, )-180(we )-180(see )-180(how )-180(to )-180(use)]TJ -/TT0 1 Tf -11.618 0 Td -(pthread_mutex_timedlock)Tj -/T1_0 1 Tf -14.23 0 Td -[(to )-180(avoid )-180(blocking)]TJ --30.935 -1.2 Td -[(inde\336nitely)111(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46996 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(402)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(necessary )-265(when )-265(we )-265(initialize )-265(the )-265(r)19(efer)18(ence )-265(count )-265(to )-265(1 )-265(in )-265(the)]TJ -/TT0 1 Tf -29.128 0 Td -(foo_alloc)Tj -/T1_1 1 Tf -5.915 0 Td -(function,)Tj --35.043 -1.2 Td -[(because )-102(the )-102(allocating )-102(thr)18(ead )-102(is )-102(the )-102(only )-102(r)18(efer)18(ence )-102(to )-102(it )-102(so )-102(far)]TJ -0.602 Tc 27.662 0 Td -(.I)Tj -0 Tc 1.189 0 Td -[(f)-352(we)-352(wer)18(e)-352(to)-352(place )-102(the)]TJ --28.851 -1.2 Td -[(str)8(uctur)18(e)-279(on)-279(a)-279(l)-1(ist )-29(at )-29(this )-29(point, )-29(it )-29(could )-29(be )-29(found )-29(by )-29(other )-29(thr)14(eads, )-29(so )-29(we )-29(would )-29(need )-29(to)]TJ -0 -1.2 Td -(lock it \336rst.)Tj -1.8 -1.2 Td -(Befor)Tj -0.4596 Tc 2.346 0 Td -(eu)Tj -0 Tc 1.542 0 Td -[(sing )-210(the )-210(object, )-210(thr)18(eads )-210(ar)]TJ -0.4596 Tc 12.086 0 Td -(ee)Tj -0 Tc 1.418 0 Td -[(xpected )-210(to )-210(add )-210(a )-210(r)20(efer)18(ence )-209(to )-209(it )-209(by )-209(calling)]TJ -/TT0 1 Tf --19.192 -1.2 Td -(foo_hold)Tj -/T1_1 1 Tf -0.6848 Tc (.W)Tj -0 Tc 6.735 0 Td -[(hen )-185(they )-185(ar)]TJ -0.4348 Tc 5.333 0 Td -(ed)Tj -0 Tc 1.525 0 Td -[(one, )-185(they )-185(must )-185(call)]TJ -/TT0 1 Tf -9.301 0 Td -(foo_rele)Tj -/T1_1 1 Tf -5.235 0 Td -[(to )-185(r)18(elease )-185(the )-185(r)18(efer)18(ence.)]TJ --28.128 -1.2 Td -[(When the last r)18(efer)18(ence is r)18(eleased, the object\325s memory is fr)18(eed.)]TJ -1.8 -1.2 Td -[(In )-361(this )-361(example, )-361(we )-361(have )-361(ignor)18(ed )-361(how )-361(thr)18(eads )-361(\336nd )-361(an )-361(object )-361(befor)]TJ -0.611 Tc 33.155 0 Td -(ec)Tj -0 Tc 1.534 0 Td -(alling)Tj -/TT0 1 Tf --36.489 -1.2 Td -(foo_hold)Tj -/T1_1 1 Tf -0.8436 Tc (.E)Tj -0 Tc 6.505 0 Td -[(ven )-344(though )-344(the )-344(r)19(efer)18(ence )-344(count )-344(is )-344(zer)18(o, )-344(it )-344(would )-344(be )-344(a )-344(mistake )-344(for)]TJ -/TT0 1 Tf --6.505 -1.2 Td -(foo_rele)Tj -/T1_1 1 Tf -5.163 0 Td -[(to )-113(fr)18(ee )-113(the )-113(object\325s )-113(memory )-113(if )-113(another )-113(thr)18(ead )-113(is )-113(blocked )-113(on )-113(the )-113(mutex )-113(in )-113(a)]TJ --5.163 -1.2 Td -[(call )-14(to)]TJ -/TT0 1 Tf -2.926 0 Td -(foo_hold)Tj -/T1_1 1 Tf -0.5141 Tc (.W)Tj -0.2641 Tc 6.472 0 Td -(ec)Tj -0 Tc 1.187 0 Td -[(an )-14(avoid )-14(this )-14(pr)18(oblem )-14(by )-14(ensuring )-14(that )-14(the )-14(object )-14(can\325t )-14(be )-14(found)]TJ --10.585 -1.2 Td -(befor)Tj -0.25 Tc 2.288 0 Td -(ef)Tj --0.018 Tc 1.062 0 Td -(re)Tj -0 Tc 0.856 0 Td -(eing its memory)Tj -0.5 Tc 7.08 0 Td -(.W)Tj -0 Tc 1.658 0 Td -[(e\325ll see how to do this in the examples that follow)92(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5370.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9986 0 0 11.9986 129.5844 504.5394 Tm -[(11.6.2 )-556(Deadloc)]TJ -0.556 Tc 7.484 0 Td -(kA)Tj --0.03 Tc 1.794 0 Td -(vo)Tj -0 Tc 1.137 0 Td -(idance)Tj -/T1_1 1 Tf -0.3405 Tc 9.9988 0 0 9.9988 129.5844 484.1419 Tm -(At)Tj -0 Tc 1.444 0 Td -[(hr)18(ead )-91(will )-91(deadlock )-91(itself )-91(if )-91(it )-91(tries )-91(to )-91(lock )-91(the )-91(same )-91(mutex )-91(twice, )-91(but )-91(ther)]TJ -0.3406 Tc 33.421 0 Td -(ea)Tj --0.018 Tc 1.32 0 Td -[(re )-127(l)]TJ -0 Tc 1.488 0 Td -(ess)Tj --37.673 -1.2 Td -[(obvious )-51(ways )-51(to )-51(cr)18(eate )-51(deadlocks )-51(with )-51(mutexes.)-551(For )-51(example, )-51(when )-51(we )-51(use )-51(mor)]TJ -0.3006 Tc 36.23 0 Td -(et)Tj -0 Tc 1.106 0 Td -(han)Tj --37.336 -1.2 Td -[(one )-179(mutex )-179(in )-179(our )-179(pr)18(ograms, )-179(a )-179(deadlock )-179(can )-179(occur )-179(if )-179(we )-179(allow )-179(one )-179(thr)23(ead )-179(to )-179(hold )-179(a)]TJ -0 -1.2 TD -[(mutex )-163(and )-163(block )-163(while )-163(trying )-163(to )-163(lock )-163(a )-163(second )-163(mutex )-163(at )-163(the )-163(same )-163(time )-163(that )-163(another)]TJ -T* -[(thr)18(ead )-253(holding )-253(the )-253(second )-253(mutex )-253(tries )-253(to )-253(lock )-253(the )-253(\336rst )-253(mutex.)-749(Neither )-253(thr)18(ead )-253(can)]TJ -T* -[(pr)18(oceed, )-20(because )-20(each )-20(needs )-20(a )-20(r)20(esour)18(ce )-20(that )-20(is )-20(held )-20(by )-20(the )-20(other)76(,)-269(so)-269(we)-269(h)-1(ave )-19(a )-19(deadlock.)]TJ -1.8 -1.2 Td -[(Deadlocks )-94(can )-94(be )-94(avoided )-94(by )-94(car)18(efully )-94(contr)18(olling )-94(the )-94(or)16(der )-94(in )-94(which )-94(mutexes )-94(ar)16(e)]TJ --1.8 -1.2 Td -[(locked. )-383(For)-382(example, )-133(assume )-133(that )-133(you )-133(have )-133(two )-133(mutexes, )-133(A )-133(and )-133(B, )-133(that )-133(you )-133(need )-133(to)]TJ -T* -[(lock )-63(at )-63(the )-63(same )-63(time.)-562(If )-63(all )-63(thr)18(eads )-63(always )-63(lock )-63(mutex )-63(A )-63(befor)]TJ -0.3129 Tc 28.435 0 Td -(em)Tj -0 Tc 1.675 0 Td -[(utex )-63(B, )-63(no )-63(deadlock)]TJ --30.11 -1.2 Td -[(can )-294(occur )-294(fr)17(om )-294(the )-294(use )-294(of )-294(the )-294(two )-294(mutexes )-294(\(but )-294(you )-294(can )-294(still )-294(deadlock )-294(on )-294(other)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ces\). )-363(Similarly)111(,)-363(if)-363(all )-113(thr)18(eads )-113(always )-113(lock )-113(mutex )-113(B )-113(befor)]TJ -0.363 Tc 27.212 0 Td -(em)Tj -0 Tc 1.725 0 Td -[(utex )-113(A, )-113(no )-113(deadlock)]TJ --29.793 -1.2 Td -[(will )-101(occur)]TJ -0.601 Tc 4.416 0 Td -(.Y)Tj -0 Tc 1.426 0 Td -[(ou\325ll )-101(have )-101(the )-101(potential )-101(for )-101(a )-101(deadlock )-101(only )-101(when )-101(one )-101(thr)18(ead )-101(attempts )-101(to)]TJ --5.842 -1.2 Td -[(lock the mutexes in the opposite or)18(der fr)18(om another thr)18(ead.)]TJ -1.8 -1.2 Td -[(Sometimes, )-53(an )-53(application\325s )-53(ar)17(chitectur)]TJ -0.3035 Tc 17.502 0 Td -(em)Tj -0 Tc 1.666 0 Td -[(akes )-53(it )-53(dif)17(\336cult )-54(to )-54(apply )-54(a )-54(lock )-54(or)20(dering.)]TJ --20.968 -1.2 Td -[(If )-85(enough )-85(locks )-85(and )-85(data )-85(str)7(uctur)18(es )-85(ar)]TJ -0.3353 Tc 17.191 0 Td -(ei)Tj -0 Tc 1.105 0 Td -[(nvolved )-85(that )-85(the )-85(functions )-85(you )-85(have )-85(available)]TJ --18.296 -1.2 Td -[(can\325t )-79(be )-79(molded )-79(to )-79(\336t )-79(a )-79(simple )-79(hierar)21(chy)]TJ -0.3287 Tc 18.25 0 Td -(,t)Tj -0 Tc 0.905 0 Td -[(hen )-79(you\325ll )-79(have )-79(to )-79(try )-79(some )-79(other )-79(appr)20(oach.)]TJ --19.155 -1.2 Td -[(In )-82(this )-82(case, )-82(you )-82(might )-82(be )-82(able )-82(to )-82(r)15(elease )-82(your )-82(locks )-82(and )-82(try )-82(again )-82(at )-82(a )-82(later )-82(time.)]TJ --0.092 Tc 37.276 0 Td -(Yo)Tj -0 Tc 1.121 0 Td -(u)Tj --38.397 -1.2 Td -[(can )-94(use )-94(the)]TJ -/TT0 1 Tf -5.452 0 Td -(pthread_mutex_trylock)Tj -/T1_1 1 Tf -12.944 0 Td -[(interface )-94(to )-94(avoid )-94(deadlocking )-94(in )-94(this )-94(case.)-596(If)]TJ --18.396 -1.2 Td -[(you )-100(ar)]TJ -0.3504 Tc 2.932 0 Td -(ea)Tj -0 Tc 1.329 0 Td -[(lr)18(eady )-100(holding )-100(locks )-100(and)]TJ -/TT0 1 Tf -11.629 0 Td -(pthread_mutex_trylock)Tj -/T1_1 1 Tf -12.95 0 Td -[(is )-100(successful, )-100(then )-100(you)]TJ --28.841 -1.2 Td -[(can )-37(pr)18(oceed. )-287(If)-287(it )-37(can\325t )-37(acquir)]TJ -0.2873 Tc 13.191 0 Td -(et)Tj -0 Tc 1.092 0 Td -[(he )-37(lock, )-37(however)]TJ -0.2873 Tc 7.529 0 Td -(,y)Tj -0 Tc 1.093 0 Td -[(ou )-37(can )-37(r)18(elease )-37(the )-37(locks )-37(you )-37(alr)16(eady)]TJ --22.905 -1.2 Td -[(hold, clean up, and try again later)74(.)]TJ -/TT1 1 Tf --3.6 -2.52 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.04 Td -[(In )-158(this )-158(example, )-158(we )-158(update )-158(Figur)]TJ -0.4082 Tc 15.398 0 Td -(e1)Tj -0 Tc 1.332 0 Td -[(1.10 )-158(to )-158(show )-158(the )-158(use )-158(of )-158(two )-158(mutexes.)]TJ --0.092 Tc 17.962 0 Td -[(We )-342(a)]TJ -0 Tc 2.295 0 Td -(void)Tj --36.987 -1.2 Td -[(deadlocks )-34(by )-34(ensuring )-34(that )-34(when )-34(we )-34(need )-34(to )-34(acquir)]TJ -0.2839 Tc 23.076 0 Td -(et)Tj -0 Tc 1.089 0 Td -[(wo )-34(mutexes )-34(at )-34(the )-34(same )-34(time, )-34(we)]TJ --24.165 -1.2 Td -[(always )-53(lock )-53(them )-53(in )-53(the )-53(same )-53(or)19(der)]TJ -0.5528 Tc 15.909 0 Td -(.T)Tj -0 Tc 1.416 0 Td -[(he )-53(second )-53(mutex )-53(pr)18(otects )-53(a )-53(hash )-53(list )-53(that )-53(we )-53(use)]TJ --17.325 -1.2 Td -[(to )-90(keep )-90(track )-90(of )-90(the)]TJ -/TT0 1 Tf -9.175 0 Td -(foo)Tj -/T1_1 1 Tf -2.14 0 Td -[(data )-90(str)8(uctur)18(es. )-340(Thus)-340(the)]TJ -/TT0 1 Tf -11.8 0 Td -(hashlock)Tj -/T1_1 1 Tf -5.14 0 Td -[(mutex )-90(pr)18(otects )-90(both )-90(the)]TJ -/TT0 1 Tf --28.255 -1.2 Td -(fh)Tj -/T1_1 1 Tf -1.499 0 Td -[(hash )-49(table )-49(and )-49(the)]TJ -/TT0 1 Tf -8.511 0 Td -(f_next)Tj -/T1_1 1 Tf -3.899 0 Td -[(hash )-49(link )-49(\336eld )-49(in )-49(the)]TJ -/TT0 1 Tf -9.547 0 Td -(foo)Tj -/T1_1 1 Tf -2.099 0 Td -[(str)8(uctur)18(e. )-299(The)]TJ -/TT0 1 Tf -6.74 0 Td -(f_lock)Tj -/T1_1 1 Tf -3.899 0 Td -(mutex)Tj --36.193 -1.2 Td -(in the)Tj -/TT0 1 Tf -2.76 0 Td -(foo)Tj -/T1_1 1 Tf -2.05 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ep)Tj --0.018 Tc 1.33 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(tects access to the r)18(emainder of the)]TJ -/TT0 1 Tf -15.586 0 Td -(foo)Tj -/T1_1 1 Tf -2.05 0 Td -[(str)8(uctur)18(e\325s \336elds.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46997 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.6 )]TJ -32.941 0 Td -[(Thr)18(ead )-250(Synchr)18(onization)]TJ -/T1_1 1 Tf -12.892 0 Td -(399)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2148.25 6638.25 cm -0 0 m -360 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 216.027 667 Tm -[(Thr)18(ead A)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1968 6026 720 432 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 198.4322 627.3647 Tm -(fetch)Tj -/TT0 1 Tf -2.414 0 Td -(i)Tj -/T1_0 1 Tf -0.85 0 Td -[(into r)18(egister)]TJ --1.771 -1.25 Td -[(\(r)18(egister = 5\))]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1968 5414 720 432 re -S -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 208.4425 576.1363 Tm -[(incr)18(ement the)]TJ -0.621 -1.25 Td -(contents of)Tj --0.063 -1.25 Td -[(the r)18(egister)]TJ --0.318 -1.25 Td -[(\(r)18(egister = 6\))]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -1968 4802 720 432 re -S -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 201.7596 514.9164 Tm -(stor)Tj -0.25 Tc 1.673 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he contents)Tj --1.9 -1.25 Td -[(of the r)18(egister)]TJ -1.749 -1.25 Td -(into)Tj -/TT0 1 Tf -1.995 0 Td -(i)Tj -/T1_0 1 Tf --3.497 -1.25 Td -[(\(r)18(egister = 6\))]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3084.25 6638.25 cm -0 0 m -360 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 310.2149 666.8399 Tm -[(Thr)18(ead B)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2904 5414 720 432 re -S -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 291.9509 566.0362 Tm -(fetch)Tj -/TT0 1 Tf -2.414 0 Td -(i)Tj -/T1_0 1 Tf -0.85 0 Td -[(into r)18(egister)]TJ --1.771 -1.25 Td -[(\(r)18(egister = 5\))]TJ -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2904 4802 720 432 re -S -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 301.9531 514.8237 Tm -[(incr)18(ement the)]TJ -0.621 -1.25 Td -(contents of)Tj --0.063 -1.25 Td -[(the r)18(egister)]TJ --0.318 -1.25 Td -[(\(r)18(egister = 6\))]TJ -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -2904 4190 720 432 re -S -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 295.2662 453.6222 Tm -(stor)Tj -0.25 Tc 1.673 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he contents)Tj --1.9 -1.25 Td -[(of the r)18(egister)]TJ -1.749 -1.25 Td -(into)Tj -/TT0 1 Tf -1.995 0 Td -(i)Tj -/T1_0 1 Tf --3.497 -1.25 Td -[(\(r)18(egister = 6\))]TJ -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4020.25 6638.25 cm -0 0 m -576 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 406.7683 666.6799 Tm -(Contents of)Tj -/TT0 1 Tf -5.353 0 Td -(i)Tj -/T1_0 1 Tf --2.626 -5.575 Td -(5)Tj -0 -7.65 TD -(5)Tj -T* -(6)Tj -0 -7.65 TD -(6)Tj -ET -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 182.4 440.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 1824 4406 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1824.25 6242.25 cm -0 0 m -0 -1764 l -S -Q -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 162.4705 530.3217 Tm -(time)Tj -/T1_1 1 Tf -3.639 -17.105 Td -[(Figure 1)37(1.9)]TJ -/T1_0 1 Tf --0.09 Tc 6.25 0 Td -(Tw)Tj -0.25 Tc 1.357 0 Td -(ou)Tj -0 Tc 1.399 0 Td -[(nsynchr)18(onized thr)18(eads incr)18(ementing the same variable)]TJ -9.994 0 0 9.994 147.5117 364.7811 Tm -[(In )-71(a )-71(sequentially )-71(consistent )-71(envir)18(onment, )-71(we )-71(can )-71(explain )-71(modi\336cations )-71(to )-71(our )-71(data)]TJ --1.8 -1.2 Td -[(as )-24(a )-24(sequential )-24(step )-24(of )-24(operations )-24(taken )-24(by )-24(the )-24(r)6(unning )-24(thr)18(eads. )-274(W)]TJ -0.2743 Tc 29.603 0 Td -(ec)Tj -0 Tc 1.197 0 Td -[(an )-24(say )-24(such )-24(things)]TJ --30.801 -1.2 Td -[(as )-109(\324)37(\324Thr)18(ead )-109(A )-109(incr)18(emented )-109(the )-109(variable, )-109(then )-109(thr)18(ead )-109(B )-109(incr)18(emented )-109(the )-109(variable, )-109(so )-109(its)]TJ -0 -1.2 TD -[(value )-47(is )-47(two )-47(gr)18(eater )-47(than )-47(befor)20(e\325)37(\325)-297(or)-297(\324)38(\324Thr)18(ead )-47(B )-47(incr)18(emented )-47(the )-47(variable, )-47(then )-47(thr)20(ead )-47(A)]TJ -T* -[(incr)18(emented )-33(the )-33(variable, )-33(so )-33(its )-33(value )-33(is )-33(two )-33(gr)18(eater )-33(than )-33(befor)21(e.\325)]TJ -0.5327 Tc 28.801 0 Td -(\325N)Tj -0.2827 Tc 1.642 0 Td -(op)Tj -0 Tc 1.43 0 Td -[(ossible )-33(or)18(dering)]TJ --31.872 -1.2 Td -[(of the two thr)18(eads can r)18(esult in any other value of the variable.)]TJ -1.8 -1.2 Td -[(Besides )-241(the )-241(computer )-241(ar)18(chitectur)18(e, )-241(races )-241(can )-241(arise )-241(fr)18(om )-241(the )-241(ways )-241(in )-241(which )-241(our)]TJ --1.8 -1.2 Td -[(pr)18(ograms )-28(use )-28(variables, )-28(cr)18(eating )-28(places )-28(wher)20(e)-278(it)-278(is)-278(p)1(ossible )-28(to )-28(view )-28(inconsistencies.)-526(For)]TJ -0 -1.2 Td -[(example, )-97(we )-97(might )-97(incr)18(ement )-97(a )-97(variable )-97(and )-97(then )-97(make )-97(a )-97(decision )-97(based )-97(on )-97(its )-97(value.)]TJ -T* -[(The )-7(combination )-7(of )-7(the )-7(incr)18(ement )-7(step )-7(and )-7(the )-7(decision-making )-7(step )-7(isn\325t )-7(atomic, )-7(which)]TJ -T* -(opens a window wher)Tj -0.25 Tc 9.852 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(nconsistencies can arise.)Tj -/TT1 1 Tf -11.9928 0 0 11.9928 129.5226 220.8674 Tm -[(11.6.1 )-556(Mute)]TJ --0.01 Tc 5.932 0 Td -(xe)Tj -0 Tc 1.102 0 Td -(s)Tj -/T1_0 1 Tf --0.092 Tc 9.994 0 0 9.994 129.5226 196.8818 Tm -[(We )-306(c)]TJ -0 Tc 2.203 0 Td -[(an )-122(pr)18(otect )-122(our )-122(data )-122(and )-122(ensur)]TJ -0.3725 Tc 13.682 0 Td -(ea)Tj -0 Tc 1.351 0 Td -[(ccess )-122(by )-122(only )-122(one )-122(thr)18(ead )-122(at )-122(a )-122(time )-122(by )-122(using )-122(the)]TJ --17.237 -1.2 Td -[(pthr)18(eads )-239(mutual-exclusion )-239(interfaces. )-239(A)]TJ -/T1_2 1 Tf -18.852 0 Td -(mutex)Tj -/T1_0 1 Tf -3.045 0 Td -[(is )-239(basically )-239(a )-239(lock )-239(that )-239(we )-239(set )-239(\(lock\))]TJ --21.897 -1.2 Td -(befor)Tj -0.3738 Tc 2.288 0 Td -(ea)Tj -0 Tc 1.353 0 Td -[(ccessing )-124(a )-124(shar)18(ed )-124(r)19(esour)18(ce )-124(and )-124(r)18(elease )-124(\(unlock\) )-124(when )-124(we\325r)]TJ -0.3739 Tc 26.692 0 Td -(ed)Tj -0 Tc 1.464 0 Td -[(one. )-374(While)-374(it )-124(is)]TJ --31.796 -1.2 Td -[(set, )-90(any )-90(other )-90(thr)18(ead )-90(that )-90(tries )-90(to )-90(set )-90(it )-90(will )-90(block )-90(until )-90(we )-90(r)23(elease )-89(it.)-589(If )-89(mor)]TJ -0.3395 Tc 34.245 0 Td -(et)Tj -0 Tc 1.144 0 Td -[(han )-89(one)]TJ --35.39 -1.2 Td -[(thr)18(ead )-69(is )-69(blocked )-69(when )-69(we )-69(unlock )-69(the )-69(mutex, )-69(then )-69(all )-69(thr)18(eads )-69(blocked )-69(on )-69(the )-69(lock )-69(will)]TJ -T* -[(be )-76(made )-76(r)8(unnable, )-76(and )-76(the )-76(\336rst )-76(one )-76(to )-76(r)8(un )-76(will )-76(be )-76(able )-76(to )-76(set )-76(the )-76(lock.)-576(The )-76(others )-76(will)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46998 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.6 )]TJ -32.941 0 Td -[(Thr)18(ead )-250(Synchr)18(onization)]TJ -/T1_1 1 Tf -12.892 0 Td -(397)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -1.902 TD -(int pthread_detach\(pthread_t)Tj -/T1_2 1 Tf -17.4 0 Td -(tid)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -3.881 -1.902 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6195.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 604.7874 Tm -[(As )-20(we )-20(will )-20(see )-20(in )-20(the )-20(next )-20(chapter)76(,)-270(we)-270(can )-20(cr)18(eate )-20(a )-20(thr)18(ead )-20(that )-20(is )-20(alr)18(eady )-20(in )-20(the )-20(detached)]TJ -0 -1.2 TD -[(state by modifying the thr)18(ead attributes we pass to)]TJ -/TT0 1 Tf -22.682 0 Td -(pthread_create)Tj -/T1_0 1 Tf -(.)Tj -/TT1 1 Tf -11.9986 0 0 11.9986 93.5888 556.7932 Tm -[(11.6 )-776(Thread)-556(Sync)10(hr)20(onization)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 533.9959 Tm -[(When )-108(multiple )-108(thr)17(eads )-108(of )-108(contr)18(ol )-108(shar)]TJ -0.3582 Tc 17.372 0 Td -(et)Tj -0 Tc 1.163 0 Td -[(he )-108(same )-108(memory)111(,)-358(we)-358(need )-108(to )-108(make )-108(sur)]TJ -0.3582 Tc 17.893 0 Td -(et)Tj -0 Tc 1.163 0 Td -(hat)Tj --37.592 -1.2 Td -[(each )-105(thr)18(ead )-105(sees )-105(a )-105(consistent )-105(view )-105(of )-105(its )-105(data.)-605(If )-105(each )-105(thr)19(ead )-105(uses )-105(variables )-105(that )-105(other)]TJ -T* -[(thr)18(eads )-28(don\325t )-28(r)18(ead )-28(or )-28(modify)]TJ -0.2776 Tc 12.769 0 Td -(,n)Tj -0.2775 Tc 1.11 0 Td -(oc)Tj -0 Tc 1.268 0 Td -[(onsistency )-27(pr)18(oblems )-27(will )-27(exist.)-529(Similarly)111(,)-277(if)-277(a)-277(v)-1(ariable)]TJ --15.146 -1.2 Td -[(is )-191(r)18(ead-only)]TJ -0.4407 Tc 5.32 0 Td -(,t)Tj -0 Tc 1.017 0 Td -[(her)18(e)-441(is)-441(n)]TJ -0.4408 Tc 4.095 0 Td -(oc)Tj -0 Tc 1.431 0 Td -[(onsistency )-191(pr)18(oblem )-191(with )-191(mor)]TJ -0.4408 Tc 13.545 0 Td -(et)Tj -0 Tc 1.246 0 Td -[(han )-191(one )-191(thr)18(ead )-191(r)18(eading )-191(its)]TJ --26.654 -1.2 Td -[(value )-138(at )-138(the )-138(same )-138(time.)-640(However)]TJ -0.3884 Tc 15.414 0 Td -(,w)Tj -0 Tc 1.472 0 Td -[(hen )-138(one )-138(thr)17(ead )-138(can )-138(modify )-138(a )-138(variable )-138(that )-138(other)]TJ --16.886 -1.2 Td -[(thr)18(eads )-181(can )-181(r)18(ead )-181(or )-181(modify)112(,)-431(we)-431(n)1(eed )-181(to )-181(synchr)18(onize )-181(the )-181(thr)18(eads )-181(to )-181(ensur)]TJ -0.4308 Tc 33.982 0 Td -(et)Tj -0 Tc 1.236 0 Td -[(hat )-181(they)]TJ --35.218 -1.2 Td -(don\325t use an invalid value when accessing the variable\325s memory co\ ntents.)Tj -1.8 -1.2 Td -[(When )-609(one )-609(thr)18(ead )-609(modi\336es )-609(a )-609(variable, )-609(other )-609(thr)18(eads )-609(can )-609(potentially )-609(see)]TJ --1.8 -1.2 Td -[(inconsistencies )-102(when )-102(r)18(eading )-102(the )-102(value )-102(of )-102(that )-102(variable.)-605(On )-102(pr)18(ocessor )-102(ar)17(chitectur)18(es )-102(in)]TJ -0 -1.2 Td -[(which )-98(the )-98(modi\336cation )-98(takes )-98(mor)]TJ -0.348 Tc 15.228 0 Td -(et)Tj -0 Tc 1.153 0 Td -[(han )-98(one )-98(memory )-98(cycle, )-98(this )-98(can )-98(happen )-98(when )-98(the)]TJ --16.381 -1.2 Td -[(memory )-38(r)18(ead )-38(is )-38(interleaved )-38(between )-38(the )-38(memory )-38(write )-38(cycles.)-541(Of )-38(course, )-38(this )-38(behavior)]TJ -T* -[(is )-178(ar)18(chitectur)]TJ -0.4284 Tc 5.892 0 Td -(ed)Tj -0 Tc 1.518 0 Td -[(ependent, )-178(but )-178(portable )-178(pr)18(ograms )-178(can\325t )-178(make )-178(any )-178(assumptions )-178(about)]TJ --7.411 -1.2 Td -[(what type of pr)18(ocessor ar)18(chitectur)18(e)-250(is)-250(being used.)]TJ -1.8 -1.2 Td -(Figur)Tj -0.3687 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.293 0 Td -[(1.7 )-119(shows )-119(a )-119(hypothetical )-119(example )-119(of )-119(two )-119(thr)20(eads )-119(r)18(eading )-119(and )-119(writing )-119(the)]TJ --5.476 -1.2 Td -[(same )-7(variable.)-507(In )-7(this )-7(example, )-7(thr)18(ead )-7(A )-7(r)20(eads )-7(the )-7(variable )-7(and )-7(then )-7(writes )-7(a )-7(new )-7(value)]TJ -T* -[(to )-197(it, )-197(but )-197(the )-197(write )-197(operation )-197(takes )-197(two )-197(memory )-197(cycles.)-700(If )-197(thr)18(ead )-197(B )-197(r)18(eads )-197(the )-197(same)]TJ -T* -(variable between the two write cycles, it will see an inconsistent value\ .)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 3176.25 cm -0 0 m -360 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 278.9898 320.8422 Tm -[(Thr)18(ead A)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2742 2816.6 432 216 re -S -Q -BT -/T1_0 1 Tf --0.018 Tc 7.9981 0 0 7.9981 287.8629 290.6302 Tm -(re)Tj -0 Tc 0.856 0 Td -(ad)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2742 2384.6 432 216 re -S -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 284.9145 247.4258 Tm -(write)Tj -5.9982 0 0 5.9982 303.5089 243.427 Tm -(1)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2742 1952.6 432 216 re -S -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 284.8974 204.2265 Tm -(write)Tj -5.9978 0 0 5.9978 303.4907 200.2279 Tm -(2)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3498.25 3176.25 cm -0 0 m -360 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 351.5603 320.7652 Tm -[(Thr)18(ead B)]TJ -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -3462 2168.6 432 216 re -S -Q -BT -/T1_0 1 Tf --0.018 Tc 7.9962 0 0 7.9962 359.7593 225.7916 Tm -(re)Tj -0 Tc 0.856 0 Td -(ad)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 259.8 198.86 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 2598 1988.6 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2598.25 2852.25 cm -0 0 m -0 -792 l -S -Q -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 239.8384 240.1703 Tm -(time)Tj -/T1_1 1 Tf --2.402 -8.78 Td -[(Figure 1)37(1.7)]TJ -/T1_0 1 Tf -6.25 0 Td -[(Interleaved memory cycles with two thr)18(eads)]TJ --0.092 Tc 9.9946 0 0 9.9946 147.5203 145.9813 Tm -[(To )-205(s)]TJ -0 Tc 1.762 0 Td -[(olve )-21(this )-21(pr)18(oblem, )-21(the )-21(thr)17(eads )-21(have )-21(to )-21(use )-21(a )-21(lock )-21(that )-21(will )-21(allow )-21(only )-21(one )-21(thr)17(ead)]TJ --3.562 -1.2 Td -[(to )-97(access )-97(the )-97(variable )-97(at )-97(a )-97(time.)-596(Figur)]TJ -0.3469 Tc 17.164 0 Td -(e1)Tj -0 Tc 1.271 0 Td -[(1.8 )-97(shows )-97(this )-97(synchr)18(onization. )-347(If)-347(it )-97(wants )-97(to)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 46999 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(388)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(thr)18(ead )-320(ID )-320(of )-320(the )-320(newly )-320(cr)18(eated )-320(thr)19(ead )-320(thr)18(ough )-320(the )-320(\336rst )-320(parameter )-320(\()]TJ -/T1_2 1 Tf -32.953 0 Td -(tidp)Tj -/T1_1 1 Tf -[(\). )-570(In)-570(our)]TJ --32.953 -1.2 Td -[(example, )-58(the )-58(main )-58(thr)18(ead )-58(stor)18(es )-58(this )-58(ID )-58(in)]TJ -/TT0 1 Tf -19.162 0 Td -(ntid)Tj -/T1_1 1 Tf -0.3078 Tc (,b)Tj -0 Tc 3.511 0 Td -[(ut )-58(the )-58(new )-58(thr)18(ead )-58(can\325t )-58(safely )-58(use )-58(it.)]TJ --22.673 -1.2 Td -[(If )-80(the )-80(new )-80(thr)18(ead )-80(r)8(uns )-80(befor)]TJ -0.3302 Tc 12.762 0 Td -(et)Tj -0 Tc 1.135 0 Td -[(he )-80(main )-80(thr)18(ead )-80(r)18(eturns )-80(fr)18(om )-80(calling)]TJ -/TT0 1 Tf -16.453 0 Td -(pthread_create)Tj -/T1_1 1 Tf -(,)Tj --30.35 -1.2 Td -[(then )-20(the )-20(new )-20(thr)17(ead )-20(will )-20(see )-20(the )-20(uninitialized )-20(contents )-20(of)]TJ -/TT0 1 Tf -25.533 0 Td -(ntid)Tj -/T1_1 1 Tf -2.671 0 Td -[(instead )-20(of )-20(the )-20(thr)18(ead )-20(ID.)]TJ --26.403 -1.2 Td -[(Running the pr)18(ogram in Figur)]TJ -0.25 Tc 13.365 0 Td -(e1)Tj -0 Tc 1.174 0 Td -(1.2 on Solaris gives us)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5907 605.3336 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(main thread: pid 20075 tid 1 \(0x1\))Tj -0 -1.189 TD -[(new thread:)-1200(pid 20075 tid 2 \(0x2\))]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5918 567.0058 Tm -[(As )-6(we )-6(expect, )-6(both )-6(thr)19(eads )-6(have )-6(the )-6(same )-6(pr)18(ocess )-6(ID, )-6(but )-6(dif)20(fer)18(ent )-6(thr)18(ead )-6(IDs.)-505(Running)]TJ --0 -1.2 Td -[(the pr)18(ogram in Figur)]TJ -0.25 Tc 9.251 0 Td -(e1)Tj -0 Tc 1.174 0 Td -[(1.2 on Fr)18(eeBSD gives us)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5905 539.3777 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(main thread: pid 37396 tid 673190208 \(0x28201140\))Tj -T* -[(new thread:)-1200(pid 37396 tid 673280320 \(0x28217140\))]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5916 501.0499 Tm -[(As )-98(we )-98(expect, )-98(both )-98(thr)18(eads )-98(have )-98(the )-98(same )-98(pr)18(ocess )-98(ID.)-594(If )-98(we )-98(look )-98(at )-98(the )-98(thr)18(ead )-98(IDs )-98(as)]TJ -0 -1.2 TD -[(decimal )-27(integers, )-27(the )-27(values )-27(look )-27(strange, )-27(but )-27(if )-27(we )-27(look )-27(at )-27(them )-27(in )-27(hexadecimal )-27(format,)]TJ -T* -[(they )-75(make )-75(mor)]TJ -0.3252 Tc 6.817 0 Td -(es)Tj -0 Tc 1.228 0 Td -[(ense. )-325(As)-325(we )-75(noted )-75(earlier)]TJ -0.3253 Tc 11.58 0 Td -(,F)Tj --0.018 Tc 1.131 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD )-75(uses )-75(a )-75(pointer )-75(to )-75(the )-75(thr)18(ead )-75(data)]TJ --21.613 -1.2 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ef)Tj -0 Tc 1.062 0 Td -[(or its thr)18(ead ID.)]TJ --0.092 Tc -2.752 -1.2 Td -[(We )-198(w)]TJ -0 Tc 2.485 0 Td -[(ould )-14(expect )-14(Mac )-14(OS )-14(X )-14(to )-14(be )-14(similar )-14(to )-14(Fr)18(eeBSD; )-14(however)]TJ -0.2639 Tc 25.112 0 Td -(,t)Tj -0 Tc 0.84 0 Td -[(he )-14(thr)18(ead )-14(ID )-14(for )-14(the)]TJ --30.237 -1.2 Td -[(main )-122(thr)18(ead )-122(is )-122(fr)18(om )-122(a )-122(dif)18(fer)18(ent )-122(addr)18(ess )-122(range )-122(than )-122(the )-122(thr)18(ead )-122(IDs )-122(for )-122(thr)18(eads )-122(cr)18(eated)]TJ --0 -1.2 Td -(with)Tj -/TT0 1 Tf -2.283 0 Td -(pthread_create)Tj -/T1_1 1 Tf -(:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5899 413.4251 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(main thread: pid 31807 tid 140735073889440 \(0x7fff70162ca0\))Tj -0 -1.189 TD -[(new thread:)-1200(pid 31807 tid 4295716864 \(0x1000b7000\))]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.591 375.0973 Tm -[(Running the same pr)18(ogram on Linux gives us)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5899 359.4681 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(main thread: pid 17874 tid 140693894424320 \(0x7ff5d9996700\))Tj -T* -[(new thread:)-1200(pid 17874 tid 140693886129920 \(0x7ff5d91ad700\))]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.591 321.1407 Tm -[(The )-58(Linux )-58(thr)19(ead )-57(IDs )-57(look )-57(like )-57(pointers, )-57(even )-57(though )-57(they )-57(ar)]TJ -0.3075 Tc 27.332 0 Td -(er)Tj -0 Tc 1.164 0 Td -[(epr)18(esented )-57(as )-57(unsigned)]TJ --28.496 -1.2 Td -(long integers.)Tj -7.9995 0 0 7.9995 183.5878 289.1427 Tm -[(The )-380(thr)18(eads )-380(implementation )-380(changed )-380(between )-380(Linux )-380(2.4 )-380(and )-380(Linux )-380(2.6.)-880(In )-380(Linux )-380(2.4,)]TJ -0 -1.25 TD -[(LinuxThr)18(eads )-220(implemented )-220(each )-220(thr)19(ead )-220(with )-220(a )-220(separate )-220(pr)20(ocess. )-470(This)-469(made )-220(it )-220(dif)18(\336cult )-220(to)]TJ -0 -1.25 Td -[(match )-45(the )-45(behavior )-45(of )-45(POSIX )-45(thr)16(eads. )-296(In)-295(Linux )-46(2.6, )-46(the )-46(Linux )-46(kernel )-46(and )-46(thr)18(eads )-46(library )-46(wer)21(e)]TJ -0 -1.25 Td -[(over)18(hauled )-205(to )-205(use )-205(a )-205(new )-205(thr)18(eads )-205(implementation )-205(called )-205(the )-205(Native )-205(POSIX )-205(Thr)19(ead )-205(Library)]TJ --0 -1.21 Td -(\()Tj -0.333 -0.04 Td -(NPTL)Tj -2.659 0.04 Td -(\))Tj -0.5 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.363 0 Td -[(his supported a model of multiple thr)18(eads within a single pr)18(ocess and made it easier)]TJ --4.688 -1.25 Td -[(to support POSIX thr)18(eads semantics.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2331.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -11.9986 0 0 11.9986 93.5888 194.7366 Tm -[(11.5 )-776(Thread)]TJ --0.06 Tc 6.89 0 Td -(Te)Tj -0 Tc 1.107 0 Td -(rmination)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 171.9394 Tm -[(If )-171(any )-171(thr)18(ead )-171(within )-171(a )-171(pr)18(ocess )-171(calls)]TJ -/TT0 1 Tf -16.779 0 Td -(exit)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.071 0 Td -(_Exit)Tj -/T1_1 1 Tf -0.4207 Tc (,o)Tj -0 Tc 4.217 0 Td -(r)Tj -/TT0 1 Tf -0.816 0 Td -(_exit)Tj -/T1_1 1 Tf -0.4207 Tc (,t)Tj -0 Tc 3.997 0 Td -[(hen )-171(the )-171(entir)]TJ -0.4208 Tc 5.926 0 Td -(ep)Tj --0.018 Tc 1.501 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(cess)Tj --37.229 -1.2 Td -[(terminates. )-325(Similarly)]TJ -0.3248 Tc 9.422 0 Td -(,w)Tj -0 Tc 1.409 0 Td -[(hen )-75(the )-75(default )-75(action )-75(is )-75(to )-75(terminate )-75(the )-75(pr)20(ocess, )-75(a )-75(signal )-75(sent)]TJ --10.831 -1.2 Td -[(to )-212(a )-212(thr)18(ead )-212(will )-212(terminate )-212(the )-212(entir)]TJ -0.4618 Tc 16.428 0 Td -(ep)Tj --0.018 Tc 1.542 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-212(\(we\325ll )-212(talk )-212(mor)]TJ -0.4619 Tc 9.142 0 Td -(ea)Tj -0 Tc 1.441 0 Td -[(bout )-212(the )-212(interactions)]TJ --29.475 -1.2 Td -[(between signals and thr)18(eads in Section 12.8\).)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47000 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.4 )]TJ -36.361 0 Td -[(Thr)18(ead )-250(Cr)18(eation)]TJ -/T1_1 1 Tf -9.472 0 Td -(385)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -2.021 TD -(int pthread_equal\(pthread_t)Tj -/T1_2 1 Tf -16.8 0 Td -(tid1)Tj -/TT0 1 Tf -0.6 Tc (,p)Tj -0 Tc 3.411 0 Td -(thread_t)Tj -/T1_2 1 Tf -5.4 0 Td -(tid2)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --3.03 -2.021 Td -[(Returns: nonzer)18(o)-250(if)-250(equal, 0 otherwise)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6174.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 183.578 599.4481 Tm -[(Linux )-50(3.2.0 )-50(uses )-50(an )-50(unsigned )-50(long )-50(integer )-50(for )-50(the)]TJ -/TT0 1 Tf -22.183 0 Td -(pthread_t)Tj -/T1_0 1 Tf -5.7 0 Td -[(data )-49(type.)-549(Solaris )-49(10 )-49(r)16(epr)18(esents)]TJ --27.883 -1.25 Td -(the)Tj -/TT0 1 Tf -1.795 0 Td -(pthread_t)Tj -/T1_0 1 Tf -5.808 0 Td -[(data )-158(type )-158(as )-158(an )-158(unsigned )-158(integer)]TJ -0.658 Tc 15.107 0 Td -(.F)Tj --0.018 Tc 1.464 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD )-158(8.0 )-158(and )-158(Mac )-158(OS )-158(X )-158(10.6.8 )-158(use )-158(a)]TJ --25.03 -1.25 Td -(pointer to the)Tj -/TT0 1 Tf -6.229 0 Td -(pthread)Tj -/T1_0 1 Tf -4.45 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ef)Tj -0 Tc 1.062 0 Td -(or the)Tj -/TT0 1 Tf -2.828 0 Td -(pthread_t)Tj -/T1_0 1 Tf -5.65 0 Td -(data type.)Tj -0.3057 Tc 9.9988 0 0 9.9988 147.5826 561.4526 Tm -(Ac)Tj -0 Tc 1.528 0 Td -[(onsequence )-56(of )-56(allowing )-56(the)]TJ -/TT0 1 Tf -12.558 0 Td -(pthread_t)Tj -/T1_0 1 Tf -5.706 0 Td -[(data )-56(type )-56(to )-56(be )-56(a )-56(str)10(uctur)18(e)-306(is)-306(t)1(hat )-56(ther)18(e)]TJ --21.591 -1.2 Td -[(is )-54(no )-54(portable )-54(way )-54(to )-54(print )-54(its )-54(value.)-554(Sometimes, )-54(it )-54(is )-54(useful )-54(to )-54(print )-54(thr)18(ead )-54(IDs )-54(during)]TJ -0 -1.2 TD -[(pr)18(ogram )-161(debugging, )-161(but )-161(ther)17(e)-411(is)-411(u)-1(sually )-161(no )-161(need )-161(to )-161(do )-161(so )-161(otherwise.)-661(At )-161(worst, )-161(this)]TJ --0.018 Tc 0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(sults in nonportable debug code, so it is not much of a limitation.)Tj -0.25 Tc 0.944 -1.2 Td -(At)Tj -0 Tc 1.354 0 Td -[(hr)18(ead can obtain its own thr)18(ead ID by calling the)]TJ -/TT0 1 Tf -21.813 0 Td -(pthread_self)Tj -/T1_0 1 Tf -7.45 0 Td -(function.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5826 494.3607 Tm -(#include )Tj -0 -2.021 TD -(pthread_t pthread_self\(void\);)Tj -/T1_0 1 Tf -20.387 -2.021 Td -[(Returns: the thr)18(ead ID of the calling thr)18(ead)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4535.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 437.5612 Tm -[(This )-71(function )-71(can )-71(be )-71(used )-71(with)]TJ -/TT0 1 Tf -14.249 0 Td -(pthread_equal)Tj -/T1_0 1 Tf -8.121 0 Td -[(when )-71(a )-71(thr)18(ead )-71(needs )-71(to )-71(identify )-71(data)]TJ --22.37 -1.2 Td -[(str)8(uctur)18(es )-43(that )-43(ar)]TJ -0.2927 Tc 7.59 0 Td -(et)Tj -0 Tc 1.098 0 Td -[(agged )-43(with )-43(its )-43(thr)18(ead )-43(ID.)-543(For )-43(example, )-43(a )-43(master )-43(thr)18(ead )-43(might )-43(place)]TJ --8.687 -1.2 Td -[(work )-114(assignments )-114(on )-114(a )-114(queue )-114(and )-114(use )-114(the )-114(thr)18(ead )-114(ID )-114(to )-114(contr)18(ol )-114(which )-114(jobs )-114(go )-114(to )-114(each)]TJ -0 -1.2 TD -[(worker )-13(thr)18(ead. )-263(This)-263(situation )-13(is )-13(illustrated )-13(in )-13(Figur)]TJ -0.2628 Tc 22.727 0 Td -(e1)Tj -0 Tc 1.187 0 Td -[(1.1. )-263(A)-263(single )-13(master )-13(thr)18(ead )-13(places)]TJ --23.914 -1.2 Td -[(new )-199(jobs )-199(on )-199(a )-199(work )-199(queue.)]TJ -0.4494 Tc 13.531 0 Td -(Ap)Tj -0 Tc 1.828 0 Td -[(ool )-199(of )-199(thr)18(ee )-199(worker )-199(thr)18(eads )-199(r)18(emoves )-199(jobs )-199(fr)18(om )-199(the)]TJ --15.36 -1.2 Td -[(queue. )-357(Instead)-356(of )-107(allowing )-107(each )-107(thr)18(ead )-107(to )-107(pr)20(ocess )-107(whichever )-107(job )-107(is )-107(at )-107(the )-107(head )-107(of )-107(the)]TJ -0 -1.2 Td -[(queue, )-114(the )-114(master )-114(thr)18(ead )-114(contr)19(ols )-114(job )-114(assignment )-114(by )-114(placing )-114(the )-114(ID )-114(of )-114(the )-114(thr)18(ead )-114(that)]TJ -T* -[(should )-5(pr)18(ocess )-5(the )-5(job )-5(in )-5(each )-5(job )-5(str)5(uctur)18(e. )-255(Each)-256(worker )-5(thr)18(ead )-5(then )-5(r)18(emoves )-5(only )-5(jobs)]TJ -T* -(that ar)Tj -0.25 Tc 2.861 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(agged with its own thr)18(ead ID.)]TJ -/TT1 1 Tf -11.9978 0 0 11.9978 93.5828 305.585 Tm -[(11.4 )-776(Thread)-556(Creation)]TJ -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5763 281.5893 Tm -[(The )-130(traditional )-130(UNIX )-130(pr)18(ocess )-130(model )-130(supports )-130(only )-130(one )-130(thr)18(ead )-130(of )-130(contr)18(ol )-130(per )-130(pr)17(ocess.)]TJ -T* -(Conceptually)Tj -0.3186 Tc 5.817 0 Td -(,t)Tj -0 Tc 0.895 0 Td -[(his )-69(is )-69(the )-69(same )-69(as )-69(a )-69(thr)20(eads-based )-68(model )-68(wher)18(eby )-68(each )-68(pr)18(ocess )-68(is )-68(made)]TJ --6.712 -1.2 Td -[(up )-2(of )-2(only )-2(one )-2(thr)17(ead. )-252(W)55(ith )-2(pthr)18(eads, )-2(when )-2(a )-2(pr)17(ogram )-2(r)8(uns, )-2(it )-2(also )-2(starts )-2(out )-2(as )-2(a )-2(single)]TJ -0 -1.2 Td -[(pr)18(ocess )-139(with )-139(a )-139(single )-139(thr)17(ead )-139(of )-139(contr)18(ol. )-389(As)-389(the )-139(pr)18(ogram )-139(r)8(uns, )-139(its )-139(behavior )-139(should )-139(be)]TJ --0 -1.2 Td -[(indistinguishable )-116(fr)18(om )-116(the )-116(traditional )-116(pr)17(ocess, )-116(until )-116(it )-116(cr)18(eates )-116(mor)]TJ -0.3663 Tc 29.882 0 Td -(et)Tj -0 Tc 1.171 0 Td -[(hr)18(eads )-116(of )-116(contr)17(ol.)]TJ --31.053 -1.2 Td -[(Additional thr)18(eads can be cr)18(eated by calling the)]TJ -/TT0 1 Tf -21.351 0 Td -(pthread_create)Tj -/T1_0 1 Tf -8.65 0 Td -(function.)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.5725 202.5031 Tm -(#include )Tj -0 -2.021 TD -(int pthread_create\(pthread_t *restrict)Tj -/T1_2 1 Tf -23.4 0 Td -(tidp)Tj -/TT0 1 Tf -(,)Tj --12 -1.189 Td -(const pthread_attr_t *restrict)Tj -/T1_2 1 Tf -18.6 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --18.6 -1.189 Td -(void *\(*)Tj -/T1_2 1 Tf -(start_rtn)Tj -/TT0 1 Tf -(\)\(void *\), void *restrict)Tj -/T1_2 1 Tf -24.066 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --14.185 -2.021 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1402.25 cm -0 0 m -0 713 l -3900 713 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47001 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(384)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 9.9994 0 0 9.9994 162.4803 668.9599 Tm -[(and )-189(17.)-689(Thr)18(eads, )-189(in )-189(contrast, )-189(automatically )-189(have )-189(access )-189(to )-189(the )-189(same )-189(memory)]TJ -0 -1.2 TD -[(addr)18(ess space and \336le descriptors.)]TJ -0.883 Tc -1.489 -1.48 Td -(\245S)Tj -0 Tc 2.014 0 Td -[(ome )-144(pr)18(oblems )-144(can )-144(be )-144(partitioned )-144(so )-144(that )-144(overall )-144(pr)21(ogram )-143(thr)18(oughput )-143(can )-143(be)]TJ --0.525 -1.2 Td -[(impr)18(oved. )-341(A)-340(single-thr)18(eaded )-91(pr)18(ocess )-91(with )-91(multiple )-91(tasks )-91(to )-91(perform )-91(implicitly)]TJ -T* -[(serializes )-42(those )-42(tasks, )-42(because )-42(ther)18(e)-292(is)-292(only )-42(one )-42(thr)18(ead )-42(of )-42(contr)18(ol. )-292(W)55(ith )-42(multiple)]TJ --0 -1.2 Td -[(thr)18(eads )-174(of )-174(contr)18(ol, )-174(the )-174(pr)18(ocessing )-174(of )-174(independent )-174(tasks )-174(can )-174(be )-174(interleaved )-174(by)]TJ -T* -[(assigning )-90(a )-90(separate )-90(thr)18(ead )-90(per )-90(task.)]TJ --0.09 Tc 17.103 0 Td -(Tw)Tj -0.3395 Tc 1.357 0 Td -(ot)Tj -0 Tc 1.211 0 Td -[(asks )-89(can )-89(be )-89(interleaved )-89(only )-89(if )-89(they)]TJ --19.672 -1.2 Td -[(don\325t depend on the pr)18(ocessing performed by each other)74(.)]TJ -0.883 Tc -1.489 -1.48 Td -(\245S)Tj -0 Tc 2.014 0 Td -(imilarly)Tj -0.4818 Tc 3.387 0 Td -(,i)Tj -0 Tc 1.023 0 Td -[(nteractive )-232(pr)18(ograms )-232(can )-232(r)18(ealize )-232(impr)18(oved )-232(r)18(esponse )-232(time )-232(by )-232(using)]TJ --4.935 -1.2 Td -[(multiple )-192(thr)18(eads )-192(to )-192(separate )-192(the )-192(portions )-192(of )-192(the )-192(pr)20(ogram )-192(that )-192(deal )-192(with )-192(user)]TJ -T* -[(input and output fr)18(om the other parts of the pr)18(ogram.)]TJ --1.489 -1.8 Td -[(Some )-565(people )-565(associate )-565(multithr)18(eaded )-565(pr)18(ogramming )-565(with )-565(multipr)20(ocessor )-565(or)]TJ --1.8 -1.2 Td -(multicor)Tj -0.2562 Tc 3.761 0 Td -(es)Tj -0 Tc 1.159 0 Td -[(ystems. )-256(The)-256(bene\336ts )-6(of )-6(a )-6(multithr)18(eaded )-6(pr)18(ogramming )-6(model )-6(can )-6(be )-6(r)16(ealized)]TJ --4.92 -1.2 Td -[(even )-44(if )-44(your )-44(pr)18(ogram )-44(is )-44(r)8(unning )-44(on )-44(a )-44(unipr)14(ocessor)]TJ -0.5445 Tc 22.607 0 Td -(.A)Tj -0 Tc 1.867 0 Td -[(pr)18(ogram )-44(can )-44(be )-44(simpli\336ed )-44(using)]TJ --24.474 -1.2 Td -[(thr)18(eads )-271(r)18(egar)18(dless )-271(of )-271(the )-271(number )-271(of )-271(pr)18(ocessors, )-271(because )-271(the )-271(number )-271(of )-271(pr)19(ocessors)]TJ --0 -1.2 Td -[(doesn\325t )-218(af)18(fect )-218(the )-218(pr)18(ogram )-218(str)9(uctur)18(e. )-468(Furthermor)18(e, )-218(as )-218(long )-218(as )-218(your )-218(pr)18(ogram )-218(has )-218(to)]TJ -0 -1.2 Td -[(block )-244(when )-244(serializing )-244(tasks, )-244(you )-244(can )-244(still )-244(see )-244(impr)20(ovements )-244(in )-244(r)18(esponse )-244(time )-244(and)]TJ -T* -[(thr)18(oughput )-2(when )-2(r)9(unning )-2(on )-2(a )-2(unipr)19(ocessor)]TJ -0.2517 Tc 19.686 0 Td -(,b)Tj -0 Tc 1.055 0 Td -[(ecause )-2(some )-2(thr)18(eads )-2(might )-2(be )-2(able )-2(to )-2(r)10(un)]TJ --20.741 -1.2 Td -(while others ar)Tj -0.25 Tc 6.606 0 Td -(eb)Tj -0 Tc 1.282 0 Td -(locked.)Tj -0.4272 Tc -6.088 -1.2 Td -(At)Tj -0 Tc 1.531 0 Td -[(hr)18(ead )-177(consists )-177(of )-177(the )-177(information )-177(necessary )-177(to )-177(r)17(epr)18(esent )-177(an )-177(execution )-177(context)]TJ --3.331 -1.2 Td -[(within )-49(a )-49(pr)19(ocess. )-299(This)-298(includes )-49(a)]TJ -/T1_2 1 Tf -15.128 0 Td -[(thr)18(ead )-49(ID)]TJ -/T1_1 1 Tf -4.245 0 Td -[(that )-49(identi\336es )-49(the )-49(thr)19(ead )-49(within )-49(a )-49(pr)18(ocess, )-49(a)]TJ --19.374 -1.2 Td -[(set )-36(of )-36(r)18(egister )-36(values, )-36(a )-36(stack, )-36(a )-36(scheduling )-36(priority )-36(and )-36(policy)]TJ -0.2859 Tc 27.481 0 Td -(,as)Tj -0 Tc 1.746 0 Td -[(ignal )-36(mask, )-36(an)]TJ -/TT0 1 Tf -6.773 0 Td -(errno)Tj -/T1_1 1 Tf --36 -1.2 Td -[(variable )-32(\(r)18(ecall )-32(Section )-32(1.7\), )-32(and )-32(thr)18(ead-speci\336c )-32(data )-32(\(Section )-32(12.6\).)-532(Everything )-32(within )-32(a)]TJ -T* -[(pr)18(ocess )-62(is )-62(sharable )-62(among )-62(the )-62(thr)16(eads )-62(in )-62(a )-62(pr)18(ocess, )-62(including )-62(the )-62(text )-62(of )-62(the )-62(executable)]TJ -0 -1.2 Td -[(pr)18(ogram, the pr)18(ogram\325s global and heap memory)]TJ -0.25 Tc 21.778 0 Td -(,t)Tj -0 Tc 0.826 0 Td -(he stacks, and the \336le descriptors.)Tj --20.804 -1.2 Td -[(The )-275(thr)18(eads )-275(interfaces )-275(we\325r)]TJ -0.525 Tc 12.769 0 Td -(ea)Tj -0 Tc 1.504 0 Td -[(bout )-275(to )-275(see )-275(ar)]TJ -0.525 Tc 6.734 0 Td -(ef)Tj --0.018 Tc 1.337 0 Td -(ro)Tj -0.525 Tc 0.923 0 Td -(mP)Tj -0 Tc 2.012 0 Td -(OSIX.1)Tj -3.065 0.09 Td -(-)Tj -0.333 -0.09 Td -[(2001. )-525(The)-525(thr)18(eads)]TJ --30.477 -1.2 Td -[(interfaces, )-111(also )-111(known )-111(as )-111(\324)37(\324pthr)18(eads\325)]TJ -0.3609 Tc 16.392 0 Td -(\325f)Tj -0 Tc 0.972 0 Td -[(or )-111(\324)37(\324POSIX )-111(thr)18(eads,\325)]TJ -0.3609 Tc 8.891 0 Td -(\325o)Tj -0 Tc 1.185 0 Td -[(riginally )-111(wer)]TJ -0.3609 Tc 5.804 0 Td -(eo)Tj -0 Tc 1.386 0 Td -[(ptional )-111(in)]TJ --34.629 -1.2 Td -(POSIX.1)Tj -3.669 0.09 Td -(-)Tj -0.333 -0.09 Td -[(2001, )-137(but )-137(SUSv4 )-137(moved )-137(them )-137(to )-137(the )-137(base.)-637(The )-137(featur)]TJ -0.3873 Tc 24.472 0 Td -(et)Tj -0 Tc 1.192 0 Td -[(est )-137(macr)]TJ -0.3873 Tc 3.82 0 Td -(of)Tj -0 Tc 1.266 0 Td -[(or )-137(POSIX)]TJ --34.753 -1.2 Td -[(thr)18(eads )-185(is)]TJ -/TT0 1 Tf -4.884 0 Td -(_POSIX_THREADS)Tj -/T1_1 1 Tf -0.6852 Tc (.A)Tj -0 Tc 10.113 0 Td -[(pplications )-185(can )-185(either )-185(use )-185(this )-185(in )-185(an)]TJ -/TT0 1 Tf -17.105 0 Td -(#ifdef)Tj -/T1_1 1 Tf -4.035 0 Td -[(test )-185(to)]TJ --36.138 -1.2 Td -[(determine )-177(at )-177(compile )-177(time )-177(whether )-177(thr)18(eads )-177(ar)]TJ -0.4275 Tc 21.283 0 Td -(es)Tj -0 Tc 1.331 0 Td -[(upported )-177(or )-177(call)]TJ -/TT0 1 Tf -7.911 0 Td -(sysconf)Tj -/T1_1 1 Tf -4.628 0 Td -[(with )-177(the)]TJ -/TT0 1 Tf --35.153 -1.2 Td -(_SC_THREADS)Tj -/T1_1 1 Tf -7.023 0 Td -[(constant )-173(to )-173(determine )-173(this )-173(at )-173(r)7(untime. )-423(Systems)-424(conforming )-173(to )-173(SUSv4)]TJ --7.023 -1.2 Td -(de\336ne the symbol)Tj -/TT0 1 Tf -8.146 0 Td -(_POSIX_THREADS)Tj -/T1_1 1 Tf -8.65 0 Td -(to have the value 200809L.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5928 249.385 Tm -[(11.3 )-776(Thread)-556(Identi\336cation)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5906 225.3865 Tm -[(Just )-29(as )-29(every )-29(pr)19(ocess )-29(has )-29(a )-29(pr)18(ocess )-29(ID, )-29(every )-29(thr)18(ead )-29(has )-29(a )-29(thr)18(ead )-29(ID.)-529(Unlike )-29(the )-29(pr)22(ocess)]TJ -0 -1.2 Td -[(ID, )-10(which )-10(is )-10(unique )-10(in )-10(the )-10(system, )-10(the )-10(thr)14(ead )-10(ID )-10(has )-10(signi\336cance )-10(only )-10(within )-10(the )-10(context)]TJ -T* -[(of the pr)18(ocess to which it belongs.)]TJ -1.8 -1.2 Td -[(Recall )-192(that )-192(a )-192(pr)18(ocess )-192(ID, )-192(r)20(epr)18(esented )-192(by )-192(the)]TJ -/TT0 1 Tf -20.807 0 Td -(pid_t)Tj -/T1_1 1 Tf -3.442 0 Td -[(data )-192(type, )-192(is )-192(a )-192(non-negative)]TJ --26.048 -1.2 Td -(integer)Tj -0.5494 Tc 3.034 0 Td -(.A)Tj -0 Tc 1.877 0 Td -[(thr)18(ead )-49(ID )-49(is )-49(r)17(epr)18(esented )-49(by )-49(the)]TJ -/TT0 1 Tf -14.207 0 Td -(pthread_t)Tj -/T1_1 1 Tf -5.699 0 Td -[(data )-49(type.)-549(Implementations )-49(ar)17(e)]TJ --24.817 -1.2 Td -[(allowed )-417(to )-417(use )-417(a )-417(str)7(uctur)18(e)-667(to)-667(r)17(epr)18(esent )-417(the)]TJ -/TT0 1 Tf -22.12 0 Td -(pthread_t)Tj -/T1_1 1 Tf -6.067 0 Td -[(data )-417(type, )-417(so )-417(portable)]TJ --28.188 -1.2 Td -[(implementations )-181(can\325t )-181(tr)18(eat )-181(them )-181(as )-181(integers.)-682(Ther)18(efor)18(e, )-181(a )-181(function )-181(must )-181(be )-181(used )-181(to)]TJ -0 -1.2 Td -(compar)Tj -0.25 Tc 3.351 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(wo thr)18(ead IDs.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47002 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(11)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Thr)4(eads)]TJ -/TT0 1 Tf -12 0 0 12 93.6 445.2 Tm -[(11.1 )-776(Intr)20(oduction)]TJ -/T1_2 1 Tf --0.092 Tc 10 0 0 10 129.6 423.6 Tm -[(We )-387(d)]TJ -0 Tc 2.451 0 Td -[(iscussed )-203(pr)18(ocesses )-203(in )-203(earlier )-203(chapters.)]TJ --0.092 Tc 18.118 0 Td -[(We )-387(l)]TJ -0 Tc 2.131 0 Td -[(earned )-203(about )-203(the )-203(envir)18(onment )-203(of )-203(a)]TJ --22.701 -1.2 Td -[(UNIX )-67(pr)18(ocess, )-67(the )-67(r)18(elationships )-67(between )-67(pr)18(ocesses, )-67(and )-67(ways )-67(to )-67(contr)18(ol )-67(pr)19(ocesses. )-317(W)92(e)]TJ -0 -1.2 TD -[(saw that a limited amount of sharing can occur between r)18(elated pr)18(ocesses.)]TJ -1.8 -1.2 Td -[(In )-92(this )-92(chapter)]TJ -0.342 Tc 6.479 0 Td -(,w)Tj -0 Tc 1.426 0 Td -[(e\325ll )-92(look )-92(inside )-92(a )-92(pr)18(ocess )-92(further )-92(to )-92(see )-92(how )-92(we )-92(can )-92(use )-92(multiple)]TJ -/T1_3 1 Tf --9.705 -1.2 Td -[(thr)18(eads )-25(of )-25(contr)18(ol)]TJ -/T1_2 1 Tf -7.307 0 Td -[(\(or )-25(simply)]TJ -/T1_3 1 Tf -4.87 0 Td -[(thr)18(eads)]TJ -/T1_2 1 Tf -[(\))-275(to)-275(perform )-25(multiple )-25(tasks )-25(within )-25(the )-25(envir)18(onment )-25(of)]TJ -0.387 Tc -12.177 -1.2 Td -(as)Tj -0 Tc 1.311 0 Td -[(ingle )-137(pr)18(ocess. )-387(All)-387(thr)18(eads )-137(within )-137(a )-137(single )-137(pr)18(ocess )-137(have )-137(access )-137(to )-137(the )-137(same )-137(pr)18(ocess)]TJ --1.311 -1.2 Td -[(components, such as \336le descriptors and memory)111(.)]TJ -1.8 -1.2 Td -[(Anytime )-53(you )-53(try )-53(to )-53(shar)]TJ -0.3033 Tc 10.845 0 Td -(eas)Tj -0 Tc 2.01 0 Td -[(ingle )-53(r)18(esour)18(ce )-53(among )-53(multiple )-53(users, )-53(you )-53(have )-53(to )-53(deal)]TJ --14.655 -1.2 Td -[(with )-338(consistency)]TJ -0.8381 Tc 7.608 0 Td -(.W)Tj -0 Tc 1.996 0 Td -[(e\325ll )-338(conclude )-338(this )-338(chapter )-338(with )-338(a )-338(look )-338(at )-338(the )-338(synchr)17(onization)]TJ --9.604 -1.2 Td -[(mechanisms )-40(available )-40(to )-40(pr)18(event )-40(multiple )-40(thr)18(eads )-40(fr)18(om )-40(viewing )-40(inconsistencies )-40(in )-40(their)]TJ -T* -[(shar)18(ed r)18(esour)18(ces.)]TJ -/TT0 1 Tf -12 0 0 12 93.6002 270 Tm -[(11.2 )-776(Thread)-556(Concepts)]TJ -/T1_2 1 Tf -0.4068 Tc 10 0 0 10 129.6002 248.4 Tm -(At)Tj -0 Tc 1.511 0 Td -[(ypical )-157(UNIX )-157(pr)18(ocess )-157(can )-157(be )-157(thought )-157(of )-157(as )-157(having )-157(a )-157(single )-157(thr)18(ead )-157(of )-157(contr)18(ol: )-157(each)]TJ --1.511 -1.2 Td -[(pr)18(ocess )-176(is )-176(doing )-176(only )-176(one )-176(thing )-176(at )-176(a )-176(time.)]TJ --0.055 Tc 20.156 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-176(multiple )-176(thr)18(eads )-176(of )-176(contr)18(ol, )-176(we )-176(can)]TJ --21.392 -1.2 Td -[(design )-67(our )-67(pr)18(ograms )-67(to )-67(do )-67(mor)]TJ -0.3169 Tc 14.189 0 Td -(et)Tj -0 Tc 1.122 0 Td -[(han )-67(one )-67(thing )-67(at )-67(a )-67(time )-67(within )-67(a )-67(single )-67(pr)18(ocess, )-67(with)]TJ --15.31 -1.2 Td -[(each thr)18(ead handling a separate task.)-500(This appr)18(oach can have several bene\336ts.)]TJ -0.883 Tc 1.8 -1.68 Td -(\245W)Tj -0.5582 Tc 2.397 0 Td -(ec)Tj -0 Tc 1.481 0 Td -[(an )-308(simplify )-308(code )-308(that )-308(deals )-308(with )-308(asynchr)18(onous )-308(events )-308(by )-308(assigning )-308(a)]TJ --2.389 -1.2 Td -[(separate )-3(thr)18(ead )-3(to )-3(handle )-3(each )-3(event )-3(type.)-503(Each )-3(thr)18(ead )-3(can )-3(then )-3(handle )-3(its )-3(event)]TJ -T* -[(using )-23(a )-23(synchr)18(onous )-23(pr)18(ogramming )-23(model.)]TJ -0.2731 Tc 19.468 0 Td -(As)Tj -0 Tc 1.475 0 Td -[(ynchr)18(onous )-23(pr)18(ogramming )-23(model)]TJ --20.943 -1.2 Td -[(is much simpler than an asynchr)18(onous one.)]TJ -0.883 Tc -1.489 -1.48 Td -(\245M)Tj -0 Tc 2.435 0 Td -[(ultiple )-58(pr)18(ocesses )-58(have )-58(to )-58(use )-58(complex )-58(mechanisms )-58(pr)18(ovided )-58(by )-58(the )-58(operating)]TJ --0.946 -1.2 Td -[(system )-225(to )-225(shar)]TJ -0.475 Tc 6.797 0 Td -(em)Tj -0 Tc 1.837 0 Td -[(emory )-225(and )-225(\336le )-225(descriptors, )-225(as )-225(we )-225(will )-225(see )-225(in )-225(Chapters )-225(15)]TJ -/T1_4 1 Tf -9 0 0 9 506.1004 114 Tm -(383)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47003 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Chapter )-250(10)]TJ -39.788 0 Td -[(Exer)18(cises)]TJ -/T1_1 1 Tf -6.045 0 Td -(381)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(10.23 )-220(Summar)-10(y)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(Signals )-149(ar)]TJ -0.3995 Tc 4.446 0 Td -(eu)Tj -0 Tc 1.481 0 Td -[(sed )-149(in )-149(most )-149(nontrivial )-149(applications.)-649(An )-149(understanding )-149(of )-149(the )-149(hows )-149(and)]TJ --5.927 -1.2 Td -[(whys )-207(of )-207(signal )-207(handling )-207(is )-207(essential )-207(to )-207(advanced )-207(UNIX )-207(System )-207(pr)20(ogramming. )-457(This)]TJ -0 -1.2 TD -[(chapter )-160(has )-160(taken )-160(a )-160(long )-160(and )-160(thor)17(ough )-160(look )-160(at )-160(UNIX )-160(System )-160(signals.)]TJ --0.092 Tc 32.623 0 Td -[(We )-344(s)]TJ -0 Tc 2.221 0 Td -[(tarted )-160(by)]TJ --34.844 -1.2 Td -[(looking )-194(at )-194(the )-194(warts )-194(in )-194(pr)18(evious )-194(implementations )-194(of )-194(signals )-194(and )-194(how )-194(they )-194(manifest)]TJ -T* -[(themselves. )-530(W)]TJ -0.5305 Tc 6.871 0 Td -(et)Tj -0 Tc 1.336 0 Td -[(hen )-280(pr)18(oceeded )-280(to )-280(the )-280(POSIX.1 )-280(r)16(eliable-signal )-280(concept )-280(and )-280(all )-280(the)]TJ --0.018 Tc -8.206 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(lated )-417(functions.)-917(Once )-417(we )-417(cover)18(ed )-417(all )-417(these )-417(details, )-417(we )-417(wer)]TJ -0.6675 Tc 29.497 0 Td -(ea)Tj -0 Tc 1.646 0 Td -[(ble )-417(to )-417(pr)17(ovide)]TJ --32 -1.2 Td -[(implementations )-170(of )-170(the )-170(POSIX.1)]TJ -/TT1 1 Tf -15.097 0 Td -(abort)Tj -/T1_0 1 Tf -(,)Tj -/TT1 1 Tf -3.67 0 Td -(system)Tj -/T1_0 1 Tf -0.4196 Tc (,a)Tj -0 Tc 4.77 0 Td -(nd)Tj -/TT1 1 Tf -1.613 0 Td -(sleep)Tj -/T1_0 1 Tf -3.42 0 Td -[(functions. )-420(W)]TJ -0.4196 Tc 5.959 0 Td -(e\336)Tj -0 Tc 1.504 0 Td -(nished)Tj --36.031 -1.2 Td -[(with )-69(a )-69(look )-69(at )-69(the )-69(job-contr)17(ol )-69(signals )-69(and )-69(the )-69(ways )-69(that )-69(we )-69(can )-69(convert )-69(between )-69(signal)]TJ -T* -(names and signal numbers.)Tj -/TT0 1 Tf -11.9993 0 0 11.9993 129.5926 506.9696 Tm -[(Ex)10(er)20(cises)]TJ -/T1_1 1 Tf -8.9995 0 0 8.9995 129.5926 483.771 Tm -(10.1)Tj -/T1_0 1 Tf -3.065 0 Td -(In Figur)Tj -0.25 Tc 3.552 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(0.2, r)18(emove the)]TJ -/TT1 1 Tf -6.966 0 Td -[(for )267(\(;;\))]TJ -/T1_0 1 Tf -4.783 0 Td -[(statement. )-250(What)-250(happens and why?)]TJ -/T1_1 1 Tf --19.595 -1.667 Td -(10.2)Tj -/T1_0 1 Tf -3.065 0 Td -(Implement the)Tj -/TT1 1 Tf -6.748 0 Td -(sig2str)Tj -/T1_0 1 Tf -4.45 0 Td -(function described in Section 10.22.)Tj -/T1_1 1 Tf --14.263 -1.667 Td -(10.3)Tj -/T1_0 1 Tf -3.065 0 Td -[(Draw pictur)18(es of the stack frames when we r)8(un the pr)18(ogram fr)18(om Figur)]TJ -0.25 Tc 31.707 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(0.9.)Tj -/T1_1 1 Tf --36.001 -1.667 Td -(10.4)Tj -/T1_0 1 Tf -3.065 0 Td -[(In )-225(Figur)]TJ -0.4747 Tc 3.777 0 Td -(e1)Tj -0 Tc 1.454 0 Td -[(0.1)55(1, )-225(we )-225(showed )-225(a )-225(technique )-225(that\325s )-225(often )-225(used )-225(to )-225(set )-225(a )-225(timeout )-225(on )-225(an )-225(I/O)]TJ --5.23 -1.222 Td -(operation using)Tj -/TT1 1 Tf -7.222 0 Td -(setjmp)Tj -/T1_0 1 Tf -3.85 0 Td -(and)Tj -/TT1 1 Tf -1.943 0 Td -(longjmp)Tj -/T1_0 1 Tf -0.5 Tc (.T)Tj -0 Tc 5.563 0 Td -(he following code has also been seen:)Tj -/TT1 1 Tf --16.578 -1.8 Td -(signal\(SIGALRM, sig_alrm\);)Tj -0 -1.189 TD -(alarm\(60\);)Tj -T* -(if \(setjmp\(env_alrm\) != 0\) {)Tj -2.4 -1.189 Td -(/* handle timeout */)Tj -T* -(...)Tj --2.4 -1.189 Td -(})Tj -T* -(...)Tj -/T1_0 1 Tf --2 -1.833 Td -[(What else is wr)18(ong with this sequence of code?)]TJ -/T1_1 1 Tf --3.065 -1.667 Td -(10.5)Tj -/T1_0 1 Tf -3.065 0 Td -[(Using )-22(only )-22(a )-22(single )-22(timer )-22(\(either)]TJ -/TT1 1 Tf -14.619 0 Td -(alarm)Tj -/T1_0 1 Tf -3.272 0 Td -[(or )-22(the )-22(higher)18(-pr)18(ecision)]TJ -/TT1 1 Tf -10.379 0 Td -(setitimer)Tj -/T1_0 1 Tf -[(\), )-22(pr)18(ovide )-22(a )-22(set)]TJ --28.27 -1.222 Td -[(of functions that allows a pr)18(ocess to set any number of timers.)]TJ -/T1_1 1 Tf --3.065 -1.667 Td -(10.6)Tj -/T1_0 1 Tf --0.074 Tc 3.065 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-431(the )-431(following )-431(pr)18(ogram )-431(to )-431(test )-431(the )-431(par)18(ent\320child )-431(synchr)22(onization )-430(functions )-430(in)]TJ --1.321 -1.222 Td -(Figur)Tj -0.2513 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.23 0 Td -[(0.24. )-251(The)-252(pr)18(ocess )-1(cr)18(eates )-1(a )-1(\336le )-1(and )-1(writes )-1(the )-1(integer )-1(0 )-1(to )-1(the )-1(\336le.)-501(The )-1(pr)18(ocess )-1(then)]TJ --3.613 -1.222 Td -(calls)Tj -/TT1 1 Tf -2.309 0 Td -(fork)Tj -/T1_0 1 Tf -0.3591 Tc (,a)Tj -0 Tc 3.509 0 Td -[(nd )-109(the )-109(par)18(ent )-109(and )-109(child )-109(alternate )-109(incr)18(ementing )-109(the )-109(counter )-109(in )-109(the )-109(\336le.)-610(Each)]TJ --5.818 -1.222 Td -[(time )-321(the )-321(counter )-321(is )-321(incr)18(emented, )-321(print )-321(which )-321(pr)18(ocess )-321(\(par)18(ent )-321(or )-321(child\) )-321(is )-321(doing )-321(the)]TJ -0 -1.222 TD -[(incr)18(ement.)]TJ -/T1_1 1 Tf --3.065 -1.667 Td -(10.7)Tj -/T1_0 1 Tf -3.065 0 Td -[(In )-73(the )-73(function )-73(shown )-73(in )-73(Figur)]TJ -0.3226 Tc 13.85 0 Td -(e1)Tj -0 Tc 1.302 0 Td -[(0.25, )-72(if )-72(the )-72(caller )-72(catches)]TJ -/TT1 1 Tf -11.222 0 Td -(SIGABRT)Tj -/T1_0 1 Tf -4.522 0 Td -[(and )-72(r)18(eturns )-72(fr)18(om )-72(the)]TJ --30.896 -1.222 Td -[(signal )-78(handler)]TJ -0.3276 Tc 6.338 0 Td -(,w)Tj -0 Tc 1.412 0 Td -[(hy )-78(do )-78(we )-78(go )-78(to )-78(the )-78(tr)18(ouble )-78(of )-78(r)18(esetting )-78(the )-78(disposition )-78(to )-78(its )-78(default )-78(and)]TJ --7.749 -1.222 Td -(call)Tj -/TT1 1 Tf -1.776 0 Td -(kill)Tj -/T1_0 1 Tf -2.65 0 Td -(the second time, instead of simply calling)Tj -/TT1 1 Tf -18.545 0 Td -(_exit)Tj -/T1_0 1 Tf -(?)Tj -/T1_1 1 Tf --26.036 -1.667 Td -(10.8)Tj -/T1_0 1 Tf -3.065 0 Td -[(Why )-38(do )-38(you )-38(think )-38(the)]TJ -/TT1 1 Tf -10.164 0 Td -(siginfo)Tj -/T1_0 1 Tf -4.488 0 Td -[(str)8(uctur)]TJ -0.288 Tc 3.49 0 Td -(e\()Tj -0 Tc 1.1 0 Td -[(Section )-38(10.14\) )-38(includes )-38(the )-38(r)18(eal )-38(user )-38(ID, )-38(instead)]TJ --19.242 -1.222 Td -[(of the ef)18(fective user ID, in the)]TJ -/TT1 1 Tf -13.249 0 Td -(si_uid)Tj -/T1_0 1 Tf -3.85 0 Td -(\336eld?)Tj -/T1_1 1 Tf --20.164 -1.667 Td -(10.9)Tj -/T1_0 1 Tf -3.065 0 Td -[(Rewrite )-274(the )-274(function )-274(in )-274(Figur)]TJ -0.5241 Tc 13.918 0 Td -(e1)Tj -0 Tc 1.503 0 Td -[(0.14 )-274(to )-274(handle )-274(all )-274(the )-274(signals )-274(fr)18(om )-274(Figur)]TJ -0.5242 Tc 19.396 0 Td -(e1)Tj -0 Tc 1.503 0 Td -[(0.1. )-524(The)]TJ --36.32 -1.222 Td -[(function )-125(should )-125(consist )-125(of )-125(a )-125(single )-125(loop )-125(that )-125(iterates )-125(once )-125(for )-125(every )-125(signal )-125(in )-125(the )-125(curr)25(ent)]TJ -T* -(signal mask \(not once for every possible signal\).)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47004 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.22)]TJ -30.61 0 Td -[(Signal )-250(Names )-250(and )-250(Numbers)]TJ -/T1_1 1 Tf -15.223 0 Td -(379)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(should )-93(be )-93(set )-93(to)]TJ -/TT0 1 Tf -7.563 0 Td -(SIG_IGN)Tj -/T1_0 1 Tf -0.5932 Tc (.I)Tj -0.3432 Tc 5.38 0 Td -(nf)Tj -0 Tc 1.258 0 Td -[(act, )-93(the )-93(shell )-93(doesn\325t )-93(explicitly )-93(ignor)]TJ -0.3431 Tc 16.373 0 Td -(et)Tj -0 Tc 1.148 0 Td -[(his )-93(signal;)]TJ -/TT0 1 Tf -4.877 0 Td -(init)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(sets )-42(the )-42(disposition )-42(of )-42(the )-42(thr)18(ee )-42(job-contr)18(ol )-42(signals )-42(\()]TJ -/TT0 1 Tf -22.998 0 Td -(SIGTSTP)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.742 0 Td -(SIGTTIN)Tj -/T1_0 1 Tf -0.2921 Tc (,a)Tj -0 Tc 5.242 0 Td -(nd)Tj -/TT0 1 Tf -1.485 0 Td -(SIGTTOU)Tj -/T1_0 1 Tf -(\))Tj --34.467 -1.2 Td -(to)Tj -/TT0 1 Tf -1.251 0 Td -(SIG_IGN)Tj -/T1_0 1 Tf -0.6288 Tc (.T)Tj -0 Tc 5.692 0 Td -[(his )-129(disposition )-129(is )-129(then )-129(inherited )-129(by )-129(all )-129(login )-129(shells.)-627(Only )-129(a )-129(job-contr)19(ol)]TJ --6.943 -1.2 Td -[(shell should r)18(eset the disposition of these thr)18(ee signals to)]TJ -/TT0 1 Tf -25.381 0 Td -(SIG_DFL)Tj -/T1_0 1 Tf -(.)Tj --23.581 -1.2 Td -[(When )-65(we )-65(type )-65(the )-65(suspend )-65(character)]TJ -0.3155 Tc 16.597 0 Td -(,t)Tj -0 Tc 0.891 0 Td -[(he )-65(pr)18(ocess )-65(r)18(eceives )-65(the)]TJ -/TT0 1 Tf -10.543 0 Td -(SIGTSTP)Tj -/T1_0 1 Tf -4.516 0 Td -[(signal )-65(and)]TJ --34.347 -1.2 Td -[(the )-352(signal )-352(handler )-352(is )-352(invoked.)-852(At )-352(this )-352(point, )-352(we )-352(would )-352(do )-352(any )-352(terminal-r)17(elated)]TJ -0 -1.2 TD -[(pr)18(ocessing: )-75(move )-75(the )-75(cursor )-75(to )-75(the )-75(lower)18(-left )-75(corner)]TJ -0.3246 Tc 23.228 0 Td -(,r)Tj -0 Tc 0.952 0 Td -(estor)Tj -0.3246 Tc 2.152 0 Td -(et)Tj -0 Tc 1.13 0 Td -[(he )-75(terminal )-75(mode, )-75(and )-75(so)]TJ --27.461 -1.2 Td -[(on. )-291(W)]TJ -0.2909 Tc 2.827 0 Td -(et)Tj -0 Tc 1.096 0 Td -[(hen )-41(send )-41(ourself )-41(the )-41(same )-41(signal,)]TJ -/TT0 1 Tf -15.122 0 Td -(SIGTSTP)Tj -/T1_0 1 Tf -0.2908 Tc (,a)Tj -0 Tc 5.241 0 Td -[(fter )-41(r)18(esetting )-41(its )-41(disposition )-41(to )-41(its)]TJ --24.286 -1.2 Td -[(default )-46(\(stop )-46(the )-46(pr)18(ocess\) )-46(and )-46(unblocking )-46(the )-46(signal.)]TJ --0.092 Tc 23.982 0 Td -[(We )-230(h)]TJ -0 Tc 2.265 0 Td -[(ave )-46(to )-46(unblock )-46(it )-46(since )-46(we\325r)20(e)]TJ --26.246 -1.2 Td -[(curr)18(ently )-132(handling )-132(that )-132(same )-132(signal, )-132(and )-132(the )-132(system )-132(blocks )-132(it )-132(automatically )-132(while )-132(it\325s)]TJ -T* -[(being )-71(caught.)-571(At )-71(this )-71(point, )-71(the )-71(system )-71(stops )-71(the )-71(pr)20(ocess. )-321(It)-321(is )-71(continued )-71(only )-71(when )-71(it)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(ceives )-7(\(usually )-7(fr)18(om )-7(the )-7(job-contr)18(ol )-7(shell, )-7(in )-7(r)18(esponse )-7(to )-7(an )-7(interactive)]TJ -/TT0 1 Tf -31.148 0 Td -(fg)Tj -/T1_0 1 Tf -1.457 0 Td -[(command\) )-7(a)]TJ -/TT0 1 Tf --33.461 -1.2 Td -(SIGCONT)Tj -/T1_0 1 Tf -4.612 0 Td -[(signal. )-412(W)]TJ -0.4116 Tc 4.464 0 Td -(ed)Tj -0 Tc 1.502 0 Td -[(on\325t )-162(catch)]TJ -/TT0 1 Tf -4.851 0 Td -(SIGCONT)Tj -/T1_0 1 Tf -0.6617 Tc (.I)Tj -0 Tc 5.449 0 Td -[(ts )-162(default )-162(disposition )-162(is )-162(to )-162(continue )-162(the)]TJ --20.877 -1.2 Td -[(stopped )-42(pr)18(ocess; )-42(when )-42(this )-42(happens, )-42(the )-42(pr)18(ogram )-42(continues )-42(as )-42(though )-42(it )-42(r)22(eturned )-41(fr)18(om)]TJ --0 -1.2 Td -(the)Tj -/TT0 1 Tf -1.795 0 Td -(kill)Tj -/T1_0 1 Tf -2.808 0 Td -[(function. )-408(When)-409(the )-158(pr)18(ogram )-158(is )-158(continued, )-158(we )-158(r)18(eset )-158(the )-158(disposition )-158(for )-158(the)]TJ -/TT0 1 Tf --4.604 -1.2 Td -(SIGTSTP)Tj -/T1_0 1 Tf -4.566 0 Td -[(signal )-116(and )-116(do )-116(whatever )-116(terminal )-116(pr)16(ocessing )-116(we )-116(want )-116(\(we )-116(could )-116(r)18(edraw )-116(the)]TJ --4.566 -1.2 Td -[(scr)18(een, for example\).)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4770.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9986 0 0 11.9986 93.5888 440.9471 Tm -[(10.22 )-220(Signal)-556(Names )-278(and )-278(Number)15(s)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 416.95 Tm -[(In )-175(this )-175(section, )-175(we )-175(describe )-175(how )-175(to )-175(map )-175(between )-175(signal )-175(numbers )-175(and )-175(names.)-670(Some)]TJ -T* -[(systems pr)18(ovide the array)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 388.2534 Tm -(extern char *sys_siglist[];)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 370.2556 Tm -[(The )-103(array )-103(index )-103(is )-103(the )-103(signal )-103(number)]TJ -0.3535 Tc 16.786 0 Td -(,g)Tj -0 Tc 1.159 0 Td -[(iving )-103(a )-103(pointer )-103(to )-103(the )-103(character )-103(string )-103(name )-103(of)]TJ --17.946 -1.2 Td -(the signal.)Tj -7.999 0 0 7.999 183.5779 338.2594 Tm -[(Fr)18(eeBSD )-9(8.0, )-9(Linux )-9(3.2.0, )-9(and )-9(Mac )-9(OS )-9(X )-9(10.6.8 )-9(all )-9(pr)18(ovide )-9(this )-9(array )-9(of )-9(signal )-9(names.)-509(Solaris )-9(10)]TJ -0 -1.25 TD -(does, too, but it uses the name)Tj -/TT0 1 Tf -13.588 0 Td -(_sys_siglist)Tj -/T1_0 1 Tf -7.45 0 Td -(instead.)Tj --0.092 Tc 9.9988 0 0 9.9988 147.5822 308.263 Tm -[(To )-188(p)]TJ -0 Tc 1.922 0 Td -[(rint )-4(the )-4(character )-4(string )-4(corr)18(esponding )-4(to )-4(a )-4(signal )-4(number )-4(in )-4(a )-4(portable )-4(manner)70(,)]TJ --3.722 -1.2 Td -(we can use the)Tj -/TT0 1 Tf -6.732 0 Td -(psignal)Tj -/T1_0 1 Tf -4.45 0 Td -(function.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5822 278.3666 Tm -(#include )Tj -0 -1.902 TD -(void psignal\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(signo)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.967 0 Td -(onst char *)Tj -/T1_2 1 Tf -(msg)Tj -/TT0 1 Tf -(\);)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2568.25 cm -0 0 m -0 306 l -3900 306 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 242.0364 Tm -[(The )-177(string)]TJ -/T1_2 1 Tf -5.103 0 Td -(msg)Tj -/T1_0 1 Tf -2.094 0 Td -[(\(which )-177(normally )-177(includes )-177(the )-177(name )-177(of )-177(the )-177(pr)15(ogram\) )-177(is )-177(output )-177(to )-177(the)]TJ --7.197 -1.2 Td -(standar)Tj -0.278 Tc 3.32 0 Td -(de)Tj -0 Tc 1.368 0 Td -[(rr)18(or)]TJ -0.278 Tc 1.639 0 Td -(,f)Tj -0 Tc 0.861 0 Td -[(ollowed )-28(by )-28(a )-28(colon )-28(and )-28(a )-28(space, )-28(followed )-28(by )-28(a )-28(description )-28(of )-28(the )-28(signal,)]TJ --7.188 -1.2 Td -[(followed )-229(by )-229(a )-229(newline.)-731(If)]TJ -/T1_2 1 Tf -12.645 0 Td -(msg)Tj -/T1_0 1 Tf -2.146 0 Td -(is)Tj -/TT0 1 Tf -1.194 0 Td -(NULL)Tj -/T1_0 1 Tf -0.4795 Tc (,t)Tj -0 Tc 3.456 0 Td -[(hen )-229(only )-229(the )-229(description )-229(is )-229(written )-229(to )-229(the)]TJ --19.442 -1.2 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(de)Tj -0 Tc 1.34 0 Td -[(rr)18(or)]TJ -0.5 Tc 1.639 0 Td -(.T)Tj -0 Tc 1.363 0 Td -(his function is similar to)Tj -/TT0 1 Tf -10.916 0 Td -(perror)Tj -/T1_0 1 Tf -3.85 0 Td -(\(Section 1.7\).)Tj --20.628 -1.2 Td -[(If )-151(you )-151(have )-151(a)]TJ -/TT0 1 Tf -6.606 0 Td -(siginfo)Tj -/T1_0 1 Tf -4.601 0 Td -[(str)8(uctur)]TJ -0.4014 Tc 3.49 0 Td -(ef)Tj --0.018 Tc 1.213 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(m)-401(an)-401(a)-1(lternative)]TJ -/TT0 1 Tf -7.903 0 Td -(sigaction)Tj -/T1_0 1 Tf -5.801 0 Td -[(signal )-151(handler)74(,)]TJ --32.339 -1.2 Td -(you can print the signal information with the)Tj -/TT0 1 Tf -20.152 0 Td -(psiginfo)Tj -/T1_0 1 Tf -5.05 0 Td -(function.)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.5736 164.1504 Tm -(#include )Tj -T* -(void psiginfo\(const siginfo_t *)Tj -/T1_2 1 Tf -(info)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 21.956 0 Td -(onst char *)Tj -/T1_2 1 Tf -(msg)Tj -/TT0 1 Tf -(\);)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1425.25 cm -0 0 m -0 307 l -3900 307 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47005 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(376)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -(10.20)Tj -/TT1 1 Tf -3 0 Td -(sigqueue)Tj -/TT0 1 Tf -5.356 0 Td -(Function)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 647.3612 Tm -[(In )-24(Section )-24(10.8 )-24(we )-24(said )-24(that )-24(most )-24(UNIX )-24(systems )-24(don\325t )-24(queue )-24(signals.)]TJ --0.055 Tc 30.962 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-24(the )-24(r)18(eal-time)]TJ --32.198 -1.2 Td -[(extensions )-46(to )-46(POSIX.1, )-46(some )-46(systems )-46(began )-46(adding )-46(support )-46(for )-46(queueing )-46(signals.)]TJ --0.055 Tc 36.856 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj --38.092 -1.2 Td -[(SUSv4, )-70(the )-70(queued )-70(signal )-70(functionality )-70(has )-70(moved )-70(fr)20(om )-70(the )-70(r)18(eal-time )-70(extensions )-70(to )-70(the)]TJ -0 -1.2 TD -(base speci\336cation.)Tj -1.8 -1.2 Td -[(Generally )-164(a )-164(signal )-164(carries )-164(one )-164(bit )-164(of )-164(information: )-164(the )-164(signal )-164(itself.)-668(In )-164(addition )-164(to)]TJ --1.8 -1.2 Td -[(queueing )-137(signals, )-137(these )-137(extensions )-137(allow )-137(applications )-137(to )-137(pass )-137(mor)]TJ -0.3875 Tc 29.996 0 Td -(ei)Tj -0 Tc 1.157 0 Td -[(nformation )-137(along)]TJ --31.153 -1.2 Td -[(with )-145(the )-145(delivery )-145(\(r)18(ecall )-145(Section )-145(10.14\).)-647(This )-145(information )-145(is )-145(embedded )-145(in )-145(a)]TJ -/TT2 1 Tf -34.8 0 Td -(siginfo)Tj -/T1_1 1 Tf --34.8 -1.2 Td -[(str)8(uctur)18(e. )-271(Along)-271(with )-21(system-pr)18(ovided )-21(information, )-21(applications )-21(can )-21(pass )-21(an )-21(integer )-21(or)]TJ -0.25 Tc T* -(ap)Tj -0 Tc 1.351 0 Td -[(ointer to a buf)18(fer containing mor)]TJ -0.25 Tc 14.425 0 Td -(ei)Tj -0 Tc 1.02 0 Td -[(nformation to the signal handler)74(.)]TJ --0.092 Tc -14.996 -1.2 Td -[(To )-184(u)]TJ -0 Tc 1.92 0 Td -(se queued signals we have to do the following:)Tj --1.92 -1.8 Td -[(1. )-633(Specify)-579(the)]TJ -/TT2 1 Tf -7.406 0 Td -(SA_SIGINFO)Tj -/T1_1 1 Tf -6.579 0 Td -[(\337ag )-329(when )-329(we )-329(install )-329(a )-329(signal )-329(handler )-329(using )-329(the)]TJ -/TT2 1 Tf --12.352 -1.2 Td -(sigaction)Tj -/T1_1 1 Tf -5.668 0 Td -[(function. )-268(If)-267(we )-18(don\325t )-18(specify )-18(this )-18(\337ag, )-18(the )-18(signal )-18(will )-18(be )-18(posted, )-18(but)]TJ --5.668 -1.2 Td -(it is left up to the implementation whether the signal is queued.)Tj --1.633 -1.6 Td -[(2. )-633(Pr)18(ovide )-221(a )-221(signal )-221(handler )-221(in )-221(the)]TJ -/TT2 1 Tf -16.777 0 Td -(sa_sigaction)Tj -/T1_1 1 Tf -7.671 0 Td -[(member )-221(of )-221(the)]TJ -/TT2 1 Tf -7.352 0 Td -(sigaction)Tj -/T1_1 1 Tf --30.167 -1.2 Td -[(str)8(uctur)]TJ -0.2875 Tc 3.49 0 Td -(ei)Tj -0 Tc 1.058 0 Td -[(nstead )-37(of )-37(using )-37(the )-37(usual)]TJ -/TT2 1 Tf -11.503 0 Td -(sa_handler)Tj -/T1_1 1 Tf -6.288 0 Td -[(\336eld. )-288(Implementations)-287(might)]TJ --22.338 -1.2 Td -[(allow )-56(us )-56(to )-56(use )-56(the)]TJ -/TT2 1 Tf -8.784 0 Td -(sa_handler)Tj -/T1_1 1 Tf -6.306 0 Td -[(\336eld, )-56(but )-56(we )-56(won\325t )-56(be )-56(able )-56(to )-56(obtain )-56(the )-56(extra)]TJ --15.089 -1.2 Td -(information sent with the)Tj -/TT2 1 Tf -11.506 0 Td -(sigqueue)Tj -/T1_1 1 Tf -5.05 0 Td -(function.)Tj --18.189 -1.6 Td -[(3. )-633(Use)-250(the)]TJ -/TT2 1 Tf -5.201 0 Td -(sigqueue)Tj -/T1_1 1 Tf -5.05 0 Td -(function to send signals.)Tj -/TT2 1 Tf -8.9995 0 0 8.9995 147.5918 406.6756 Tm -(#include )Tj -0 -1.783 TD -(int sigqueue\(pid_t)Tj -/T1_2 1 Tf -11.4 0 Td -(pid)Tj -/TT2 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.078 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(signo)Tj -/TT2 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.967 0 Td -(onst union sigval)Tj -/T1_2 1 Tf -10.8 0 Td -(value)Tj -/TT2 1 Tf -(\))Tj -/T1_1 1 Tf --4.194 -1.783 Td -(Returns: 0 if OK,)Tj -/TT3 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3701.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 357.7571 Tm -(The)Tj -/TT2 1 Tf -2.076 0 Td -(sigqueue)Tj -/T1_1 1 Tf -5.201 0 Td -[(function )-151(is )-151(similar )-151(to )-151(the)]TJ -/TT2 1 Tf -11.764 0 Td -(kill)Tj -/T1_1 1 Tf -2.801 0 Td -[(function, )-152(except )-152(that )-152(we )-152(can )-152(only)]TJ --23.642 -1.2 Td -[(dir)18(ect )-34(signals )-34(to )-34(a )-34(single )-34(pr)18(ocess )-34(with)]TJ -/TT2 1 Tf -16.908 0 Td -(sigqueue)Tj -/T1_1 1 Tf -0.2841 Tc (,a)Tj -0 Tc 5.834 0 Td -[(nd )-34(we )-34(can )-34(use )-34(the)]TJ -/T1_2 1 Tf -8.345 0 Td -(value)Tj -/T1_1 1 Tf -2.451 0 Td -[(ar)18(gument )-34(to)]TJ --33.538 -1.2 Td -[(transmit either an integer or a pointer value to the signal handler)74(.)]TJ -1.8 -1.2 Td -[(Signals )-73(can\325t )-73(be )-73(queued )-73(in\336nitely)]TJ -0.5726 Tc 14.848 0 Td -(.R)Tj -0 Tc 1.491 0 Td -[(ecall )-73(the)]TJ -/TT2 1 Tf -4.037 0 Td -(SIGQUEUE_MAX)Tj -/T1_1 1 Tf -7.523 0 Td -[(limit )-73(fr)18(om )-73(Figur)]TJ -0.3227 Tc 7.249 0 Td -(e2)Tj -0 Tc 1.302 0 Td -(.9)Tj --38.25 -1.2 Td -[(and )-221(Figur)]TJ -0.4708 Tc 4.547 0 Td -(e2)Tj -0 Tc 1.45 0 Td -[(.1)55(1. )-471(When)-470(this )-221(limit )-221(is )-221(r)19(eached,)]TJ -/TT2 1 Tf -15.304 0 Td -(sigqueue)Tj -/T1_1 1 Tf -5.271 0 Td -[(can )-221(fail )-221(with)]TJ -/TT2 1 Tf -6.386 0 Td -(errno)Tj -/T1_1 1 Tf -3.471 0 Td -[(set )-221(to)]TJ -/TT2 1 Tf --36.428 -1.2 Td -(EAGAIN)Tj -/T1_1 1 Tf -(.)Tj --0.055 Tc 1.8 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-16(the )-16(r)18(eal-time )-16(signal )-16(enhancements, )-16(a )-16(separate )-16(set )-16(of )-16(signals )-16(was )-16(intr)18(oduced )-16(for)]TJ --3.036 -1.2 Td -[(application )-236(use.)-736(These )-236(ar)]TJ -0.4863 Tc 11.892 0 Td -(et)Tj -0 Tc 1.291 0 Td -[(he )-236(signal )-236(numbers )-236(between)]TJ -/TT2 1 Tf -13.301 0 Td -(SIGRTMIN)Tj -/T1_1 1 Tf -5.286 0 Td -(and)Tj -/TT2 1 Tf -2.179 0 Td -(SIGRTMAX)Tj -/T1_1 1 Tf -(,)Tj --33.95 -1.2 Td -[(inclusive. )-250(Be)-250(awar)]TJ -0.25 Tc 8.271 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(hat the default action for these signals is to terminate the pr)18(ocess.)]TJ --7.526 -1.2 Td -(Figur)Tj -0.4876 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.467 0 Td -[(0.30 )-238(summarizes )-238(the )-238(way )-238(queued )-238(signals )-238(dif)20(fer )-238(in )-238(behavior )-238(among )-238(the)]TJ --5.65 -1 Td -[(implementations cover)18(ed in this text.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 2258.25 cm -0 0 m -3906 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 394.193 217.7608 Tm -[(Fr)18(eeBSD )-250(Linux )-250(Mac)-250(OS X)-500(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-1827(3.2.0)-1735(10.6.8 )-2170(10)]TJ --21.893 0.625 Td -(Behavior)Tj -17.362 0 Td -(SUS)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 2038.25 cm -0 0 m -3906 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 2018.25 cm -0 0 m -3906 0 l -S -Q -Q -BT -/T1_1 1 Tf -3.636 Tc 7.9981 0 0 7.9981 373.0185 193.7535 Tm -(\245\245)Tj -7.5495 Tc 7.944 0 Td -(\245\245)Tj -0 Tc -37.883 0 Td -(supports)Tj -/TT2 1 Tf -4.17 0 Td -(sigqueue)Tj -/T1_1 1 Tf -24.23 -1.562 Td -[(optional )-1847(\245)]TJ -17.638 0 Td -(\245)Tj --46.038 0 Td -(queues other signals besides)Tj -/TT2 1 Tf -12.805 0 Td -(SIGRTMIN)Tj -/T1_1 1 Tf -5.05 0 Td -(to)Tj -/TT2 1 Tf -1.122 0 Td -(SIGRTMAX)Tj -/T1_1 1 Tf -9.423 -1.562 Td -[(optional )-1847(\245)-3096(\245)]TJ --28.4 0 Td -(queues signals even if the caller doesn\325t use the)Tj -/TT2 1 Tf -21.121 0 Td -(SA_SIGINFO)Tj -/T1_1 1 Tf --18.871 -1.25 Td -(\337ag)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 1548.25 cm -0 0 m -3906 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3922.25 1548.25 cm -0 0 m -0 710 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3588.25 1548.25 cm -0 0 m -0 710 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5202.25 1548.25 cm -0 0 m -0 710 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 1548.25 cm -0 0 m -0 710 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 213.7479 136.759 Tm -(Figure 10.30)Tj -/T1_1 1 Tf -6.195 0 Td -(Behavior of queued signals on various platforms)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47006 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.19)]TJ -/TT0 1 Tf -17.886 0 Td -(sleep)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.75 0 Td -(nanosleep)Tj -/T1_0 1 Tf -0.5 Tc (,a)Tj -0 Tc 6.65 0 Td -(nd)Tj -/TT0 1 Tf -1.693 0 Td -(clock_nanosleep)Tj -/T1_0 1 Tf -9.5 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(373)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -(10.19)Tj -/TT2 1 Tf -3 0 Td -(sleep)Tj -/TT1 1 Tf -(,)Tj -/TT2 1 Tf -3.834 0 Td -(nanosleep)Tj -/TT1 1 Tf -0.556 Tc (,a)Tj -0 Tc 6.79 0 Td -(nd)Tj -/TT2 1 Tf -1.778 0 Td -(clock_nanosleep)Tj -/TT1 1 Tf -9.556 0 Td -(Functions)Tj -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.592 644.9613 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-183(used )-183(the)]TJ -/TT0 1 Tf -6.126 0 Td -(sleep)Tj -/T1_0 1 Tf -3.433 0 Td -[(function )-183(in )-183(numer)18(ous )-183(examples )-183(thr)18(oughout )-183(the )-183(text, )-183(and )-183(we)]TJ --10.947 -1.2 Td -[(showed two \337awed implementations of it in Figur)18(es 10.7 and 10.8.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 616.263 Tm -(#include )Tj -0 -1.783 TD -(unsigned int sleep\(unsigned int)Tj -/T1_2 1 Tf -19.2 0 Td -(seconds)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -2.275 -1.783 Td -(Returns: 0 or number of unslept seconds)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5797.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 566.1321 Tm -[(This function causes the calling pr)18(ocess to be suspended until either)]TJ -1.8 -2.04 Td -[(1. )-633(The)-250(amount of wall clock time speci\336ed by)]TJ -/T1_2 1 Tf -20.845 0 Td -(seconds)Tj -/T1_0 1 Tf -3.324 0 Td -(has elapsed.)Tj --24.169 -1.6 Td -[(2. )-633(A)-250(signal is caught by the pr)18(ocess and the signal handler r)18(eturns.)]TJ --1.8 -2.04 Td -[(As )-149(with )-149(an)]TJ -/TT0 1 Tf -5.513 0 Td -(alarm)Tj -/T1_0 1 Tf -3.399 0 Td -[(signal, )-149(the )-149(actual )-149(r)19(eturn )-149(may )-149(occur )-149(at )-149(a )-149(time )-149(later )-149(than )-149(r)20(equested)]TJ --8.912 -1.2 Td -[(because of other system activity)111(.)]TJ -1.8 -1.2 Td -[(In )-83(case )-83(1, )-83(the )-83(r)18(eturn )-83(value )-83(is )-83(0.)-583(When)]TJ -/TT0 1 Tf -17.458 0 Td -(sleep)Tj -/T1_0 1 Tf --0.018 Tc 3.333 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-83(early )-83(because )-83(of )-83(some )-83(signal)]TJ --23.447 -1.2 Td -[(being )-59(caught )-59(\(case )-59(2\), )-59(the )-59(r)18(eturn )-59(value )-59(is )-59(the )-59(number )-59(of )-59(unslept )-59(seconds )-59(\(the )-59(r)16(equested)]TJ -0 -1.2 TD -(time minus the actual time slept\).)Tj -1.8 -1.2 Td -(Although)Tj -/TT0 1 Tf -4.57 0 Td -(sleep)Tj -/T1_0 1 Tf -3.306 0 Td -[(can )-56(be )-56(implemented )-56(with )-56(the)]TJ -/TT0 1 Tf -13.412 0 Td -(alarm)Tj -/T1_0 1 Tf -3.306 0 Td -[(function )-56(\(Section )-56(10.10\), )-56(this)]TJ --26.394 -1.2 Td -[(isn\325t )-150(r)18(equir)18(ed. )-400(If)]TJ -/TT0 1 Tf -8.048 0 Td -(alarm)Tj -/T1_0 1 Tf -3.4 0 Td -[(is )-150(used, )-150(however)]TJ -0.4002 Tc 7.688 0 Td -(,t)Tj -0 Tc 0.976 0 Td -(her)Tj -0.4002 Tc 1.438 0 Td -(ec)Tj -0 Tc 1.323 0 Td -[(an )-150(be )-150(interactions )-150(between )-150(the )-150(two)]TJ --22.874 -1.2 Td -[(functions. )-268(The)-269(POSIX.1 )-18(standar)]TJ -0.2684 Tc 14.099 0 Td -(dl)Tj -0 Tc 1.17 0 Td -[(eaves )-18(all )-18(these )-18(interactions )-18(unspeci\336ed.)-518(For )-18(example,)]TJ --15.27 -1.2 Td -[(if )-41(we )-41(do )-41(an)]TJ -/TT0 1 Tf -5.342 0 Td -(alarm\(10\))Tj -/T1_0 1 Tf -5.691 0 Td -[(and )-41(3 )-41(wall )-41(clock )-41(seconds )-41(later )-41(do )-41(a)]TJ -/TT0 1 Tf -15.879 0 Td -(sleep\(5\))Tj -/T1_0 1 Tf -0.2914 Tc (,w)Tj -0 Tc 6.175 0 Td -[(hat )-41(happens?)]TJ --33.088 -1.2 Td -(The)Tj -/TT0 1 Tf -1.952 0 Td -(sleep)Tj -/T1_0 1 Tf -3.278 0 Td -[(will )-28(r)18(eturn )-28(in )-28(5 )-28(seconds )-28(\(assuming )-28(that )-28(some )-28(other )-28(signal )-28(isn\325t )-28(caught )-28(in )-28(the)]TJ --5.23 -1.2 Td -[(interim\), )-31(but )-31(will )-31(another)]TJ -/TT0 1 Tf -11.554 0 Td -(SIGALRM)Tj -/T1_0 1 Tf -4.481 0 Td -[(be )-31(generated )-31(2 )-31(seconds )-31(later?)-531(These )-31(details )-31(depend)]TJ --16.035 -1.2 Td -(on the implementation.)Tj -7.999 0 0 7.999 183.5778 357.3571 Tm -[(Fr)18(eeBSD )-315(8.0, )-315(Linux )-315(3.2.0, )-315(Mac )-315(OS )-315(X )-315(10.6.8, )-315(and )-315(Solaris )-315(10 )-315(implement)]TJ -/TT0 1 Tf -34.028 0 Td -(sleep)Tj -/T1_0 1 Tf -3.565 0 Td -[(using )-315(the)]TJ -/TT0 1 Tf --37.592 -1.25 Td -(nanosleep)Tj -/T1_0 1 Tf -5.735 0 Td -[(function, )-85(which )-85(allows )-85(the )-85(implementation )-85(to )-85(be )-85(independent )-85(of )-85(signals )-85(and )-85(the)]TJ --5.735 -1.25 Td -[(alarm )-90(timer)]TJ -0.5896 Tc 5.209 0 Td -(.F)Tj -0 Tc 1.396 0 Td -[(or )-90(portability)]TJ -0.3396 Tc 5.846 0 Td -(,y)Tj -0 Tc 1.146 0 Td -[(ou )-90(shouldn\325t )-90(make )-90(any )-90(assumptions )-90(about )-90(the )-90(implementation)]TJ --13.596 -1.25 Td -(of)Tj -/TT0 1 Tf -1.324 0 Td -(sleep)Tj -/T1_0 1 Tf -0.4449 Tc (,b)Tj -0 Tc 4.248 0 Td -[(ut )-195(if )-195(you )-195(have )-195(any )-195(intentions )-195(of )-195(mixing )-195(calls )-195(to)]TJ -/TT0 1 Tf -22.72 0 Td -(sleep)Tj -/T1_0 1 Tf -3.445 0 Td -[(with )-195(any )-195(other )-195(timing)]TJ --31.737 -1.25 Td -[(functions, you need to be awar)18(e)-250(of)-250(possible interactions.)]TJ -/TT1 1 Tf -9.9988 0 0 9.9988 93.5891 290.3652 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.16 Td -(Figur)Tj -0.2885 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.268 0 Td -[(0.29 )-38(shows )-38(an )-38(implementation )-38(of )-38(the )-38(POSIX.1)]TJ -/TT0 1 Tf -20.657 0 Td -(sleep)Tj -/T1_0 1 Tf -3.289 0 Td -[(function. )-288(This)-289(function )-38(is)]TJ -0.2517 Tc -27.596 -1.2 Td -(am)Tj -0 Tc 1.635 0 Td -[(odi\336cation )-2(of )-2(Figur)]TJ -0.2517 Tc 8.507 0 Td -(e1)Tj -0 Tc 1.231 0 Td -[(0.7, )-2(which )-2(handles )-2(signals )-2(r)19(eliably)]TJ -0.2518 Tc 15.004 0 Td -(,a)Tj -0 Tc 1.002 0 Td -[(voiding )-2(the )-2(race )-2(condition)]TJ --27.378 -1.2 Td -[(in )-91(the )-91(earlier )-91(implementation.)]TJ --0.092 Tc 14.015 0 Td -[(We )-275(s)]TJ -0 Tc 2.152 0 Td -[(till )-91(do )-91(not )-91(handle )-91(any )-91(interactions )-91(with )-91(pr)17(eviously)]TJ --16.167 -1.2 Td -[(set alarms.)-500(\(As we mentioned, these interactions ar)]TJ -0.25 Tc 22.702 0 Td -(ee)Tj -0 Tc 1.208 0 Td -(xplicitly unde\336ned by POSIX.1.\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2256.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 216.0601 Tm -(#include "apue.h")Tj -0 -1.783 TD -(static void)Tj -0 -1.189 TD -(sig_alrm\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(/* nothing to do, just returning wakes up sigsuspend\(\) */)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(unsigned int)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47007 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.18)]TJ -/TT0 1 Tf -35.803 0 Td -(system)Tj -/T1_0 1 Tf -4.1 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(367)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(We )-290(\336)]TJ -0 Tc 2.348 0 Td -[(rst )-106(see )-106(whether )-106(the )-106(default )-106(action )-106(will )-106(occur; )-106(if )-106(so, )-106(we )-106(\337ush )-106(all )-106(the )-106(standar)]TJ -0.3558 Tc 33.956 0 Td -(dI)Tj -0 Tc 1.304 0 Td -(/O)Tj --37.608 -1.2 Td -[(str)18(eams. )-329(This)-328(is )-79(not )-79(equivalent )-79(to )-79(calling)]TJ -/TT0 1 Tf -18.795 0 Td -(fclose)Tj -/T1_0 1 Tf -3.929 0 Td -[(on )-79(all )-79(the )-79(open )-79(str)18(eams )-79(\(since )-79(it )-79(just)]TJ --22.724 -1.2 Td -[(\337ushes )-215(them )-215(and )-215(doesn\325t )-215(close )-215(them\), )-215(but )-215(when )-215(the )-215(pr)18(ocess )-215(terminates, )-215(the )-215(system)]TJ -0 -1.2 TD -[(closes )-223(all )-223(open )-223(\336les.)-723(If )-223(the )-223(pr)19(ocess )-223(catches )-223(the )-223(signal )-223(and )-223(r)18(eturns, )-223(we )-223(\337ush )-223(all )-223(the)]TJ -T* -[(str)18(eams )-27(again, )-27(since )-27(the )-27(pr)18(ocess )-27(could )-27(have )-27(generated )-27(mor)]TJ -0.2766 Tc 26.042 0 Td -(eo)Tj -0 Tc 1.302 0 Td -[(utput. )-277(The)-276(only )-27(condition)]TJ --27.343 -1.2 Td -[(we )-157(don\325t )-157(handle )-157(is )-157(the )-157(case )-157(wher)]TJ -0.4069 Tc 15.363 0 Td -(et)Tj -0 Tc 1.212 0 Td -[(he )-157(pr)18(ocess )-157(catches )-157(the )-157(signal )-157(and )-157(calls)]TJ -/TT0 1 Tf -18.077 0 Td -(_exit)Tj -/T1_0 1 Tf -3.407 0 Td -(or)Tj -/TT0 1 Tf --38.059 -1.2 Td -(_Exit)Tj -/T1_0 1 Tf -0.5395 Tc (.I)Tj -0.2895 Tc 4.126 0 Td -(nt)Tj -0 Tc 1.197 0 Td -[(his )-39(case, )-39(any )-39(un\337ushed )-39(standar)]TJ -0.2895 Tc 14.002 0 Td -(dI)Tj -0 Tc 1.237 0 Td -[(/O )-39(buf)18(fers )-39(in )-39(memory )-39(ar)]TJ -0.2894 Tc 11.144 0 Td -(ed)Tj -0 Tc 1.379 0 Td -[(iscar)18(ded. )-289(W)92(e)]TJ --33.087 -1.2 Td -[(assume that a caller that does this doesn\325t want the buf)18(fers \337ushed.)]TJ -1.8 -1.2 Td -[(Recall )-7(fr)18(om )-7(Section )-7(10.9 )-7(that )-7(if )-7(calling)]TJ -/TT0 1 Tf -16.867 0 Td -(kill)Tj -/T1_0 1 Tf -2.657 0 Td -[(causes )-7(the )-7(signal )-7(to )-7(be )-7(generated )-7(for )-7(the)]TJ --21.324 -1.2 Td -(caller)Tj -0.3803 Tc 2.326 0 Td -(,a)Tj -0 Tc 1.13 0 Td -[(nd )-130(if )-130(the )-130(signal )-130(is )-130(not )-130(blocked )-130(\(which )-130(we )-130(guarantee )-130(in )-130(Figur)]TJ -0.3802 Tc 27.735 0 Td -(e1)Tj -0 Tc 1.359 0 Td -[(0.25\), )-130(then )-130(the)]TJ --32.551 -1.2 Td -[(signal )-39(\(or )-39(some )-39(other )-39(pending, )-39(unlocked )-39(signal\) )-39(is )-39(deliver)18(ed )-39(to )-39(the )-39(pr)18(ocess )-39(befor)13(e)]TJ -/TT0 1 Tf -36.6 0 Td -(kill)Tj -/T1_0 1 Tf --0.018 Tc -36.6 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns. )-450(W)]TJ -0.4499 Tc 4.188 0 Td -(eb)Tj -0 Tc 1.482 0 Td -[(lock )-200(all )-200(signals )-200(except)]TJ -/TT0 1 Tf -10.632 0 Td -(SIGABRT)Tj -/T1_0 1 Tf -[(,)-450(so)-450(we)-450(know )-200(that )-200(if )-200(the )-200(call )-200(to)]TJ -/TT0 1 Tf -19.442 0 Td -(kill)Tj -/T1_0 1 Tf --0.018 Tc -36.6 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns, the pr)18(ocess caught the signal and the signal handler r)18(eturned.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5250.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9986 0 0 11.9986 93.5888 485.3418 Tm -(10.18)Tj -/TT2 1 Tf -3 0 Td -(system)Tj -/TT1 1 Tf -4.156 0 Td -(Function)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 461.3446 Tm -[(In )-111(Section )-111(8.13, )-111(we )-111(showed )-111(an )-111(implementation )-111(of )-111(the)]TJ -/TT0 1 Tf -24.557 0 Td -(system)Tj -/T1_0 1 Tf -3.961 0 Td -[(function. )-361(That)-361(version,)]TJ --28.518 -1.2 Td -(however)Tj -0.2515 Tc 3.806 0 Td -(,d)Tj -0 Tc 1.112 0 Td -[(id )-2(not )-2(do )-2(any )-2(signal )-2(handling.)-502(POSIX.1 )-2(r)21(equir)18(es )-2(that)]TJ -/TT0 1 Tf -23.547 0 Td -(system)Tj -/T1_0 1 Tf -3.852 0 Td -[(ignor)18(e)]TJ -/TT0 1 Tf -3.083 0 Td -(SIGINT)Tj -/T1_0 1 Tf --35.4 -1.2 Td -(and)Tj -/TT0 1 Tf -1.971 0 Td -(SIGQUIT)Tj -/T1_0 1 Tf -4.479 0 Td -[(and )-28(block)]TJ -/TT0 1 Tf -4.64 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -0.5284 Tc (.B)Tj -0 Tc 5.589 0 Td -(efor)Tj -0.2784 Tc 1.735 0 Td -(es)Tj -0 Tc 1.181 0 Td -[(howing )-28(a )-28(version )-28(that )-28(handles )-28(these )-28(signals)]TJ --19.596 -1.2 Td -[(corr)18(ectly)]TJ -0.25 Tc 3.747 0 Td -(,l)Tj -0 Tc 0.791 0 Td -(et\325s see why we need to worry about signal handling.)Tj -/TT1 1 Tf --8.138 -2.64 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(The )-142(pr)18(ogram )-142(shown )-142(in )-142(Figur)]TJ -0.3916 Tc 13.322 0 Td -(e1)Tj -0 Tc 1.371 0 Td -[(0.26 )-142(uses )-142(the )-142(version )-142(of)]TJ -/TT0 1 Tf -11.186 0 Td -(system)Tj -/T1_0 1 Tf -3.992 0 Td -[(fr)18(om )-142(Section )-142(8.13 )-142(to)]TJ --29.871 -1.2 Td -[(invoke )-14(the)]TJ -/TT0 1 Tf -4.933 0 Td -(ed)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.597 -0.04 Td -(editor)Tj -0.5137 Tc 2.574 0 Td -(.\()Tj -0 Tc 1.097 0 Td -[(This )-14(editor )-14(has )-14(been )-14(part )-14(of )-14(UNIX )-14(systems )-14(for )-14(a )-14(long )-14(time.)]TJ --0.092 Tc 26.379 0 Td -(We)Tj -0 Tc -37.613 -1.2 Td -[(use )-232(it )-232(her)]TJ -0.4818 Tc 4.524 0 Td -(eb)Tj -0 Tc 1.514 0 Td -[(ecause )-232(it )-232(is )-232(an )-232(interactive )-232(pr)18(ogram )-232(that )-232(catches )-232(the )-232(interr)8(upt )-232(and )-232(quit)]TJ --6.038 -1.2 Td -[(signals. )-403(If)-403(we )-153(invoke)]TJ -/TT0 1 Tf -10.183 0 Td -(ed)Tj -/T1_0 1 Tf -1.603 0 Td -[(fr)18(om )-153(a )-153(shell )-153(and )-153(type )-153(the )-153(interr)8(upt )-153(character)73(,)-403(it)-403(catches )-153(the)]TJ --11.786 -1.2 Td -[(interr)8(upt )-4(signal )-4(and )-4(prints )-4(a )-4(question )-4(mark.)-508(The)]TJ -/TT0 1 Tf -21.801 0 Td -(ed)Tj -/T1_0 1 Tf -1.455 0 Td -[(pr)18(ogram )-5(also )-5(sets )-5(the )-5(disposition )-5(of)]TJ --23.256 -1.2 Td -[(the )-54(quit )-54(signal )-54(so )-54(that )-54(it )-54(is )-54(ignor)20(ed.\) )-304(The)-303(pr)18(ogram )-54(in )-54(Figur)]TJ -0.3036 Tc 26.251 0 Td -(e1)Tj -0 Tc 1.283 0 Td -[(0.26 )-54(catches )-54(both)]TJ -/TT0 1 Tf -7.867 0 Td -(SIGINT)Tj -/T1_0 1 Tf --35.4 -1.2 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -0.5 Tc (.I)Tj -0 Tc 5.287 0 Td -[(f)-250(we)-250(invoke the pr)18(ogram, we get)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5836 286.2656 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(./a.out)Tj --1.2 -1.189 Td -(a)Tj -/T1_2 1 Tf -16 0 Td -(append text to the editor)Tj --0.055 Tc 9.813 0 Td -[(\325s )-110(b)]TJ -0 Tc 1.325 0 Td -(uffer)Tj -/TT2 1 Tf --27.138 -1.189 Td -(Here is one line of text)Tj -0 -1.189 TD -(.)Tj -/T1_2 1 Tf -16 0 Td -(period on a line by itself stops append mode)Tj -/TT2 1 Tf --16 -1.189 Td -(1,$p)Tj -/T1_2 1 Tf -16 0 Td -[(print \336rst thr)18(ough last lines of buffer to see what\325)]TJ -0.25 Tc 19.724 0 Td -(st)Tj -0 Tc 0.972 0 Td -[(her)18(e)]TJ -/TT0 1 Tf --36.696 -1.189 Td -(Here is one line of text)Tj -/TT2 1 Tf -0.6 Tc T* -(wt)Tj -0 Tc 1.8 0 Td -(emp.foo)Tj -/T1_2 1 Tf -14.2 0 Td -(write the buffer to a \336le)Tj -/TT0 1 Tf --16 -1.189 Td -(25)Tj -/T1_2 1 Tf -16 0 Td -[(editor says it wr)18(ote 25 bytes)]TJ -/TT2 1 Tf --16 -1.189 Td -(q)Tj -/T1_2 1 Tf -16 0 Td -(and leave the editor)Tj -/TT0 1 Tf --16 -1.189 Td -(caught SIGCHLD)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5859 171.9794 Tm -[(When )-159(the )-159(editor )-159(terminates, )-159(the )-159(system )-159(sends )-159(the)]TJ -/TT0 1 Tf -23.269 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.609 0 Td -[(signal )-159(to )-159(the )-159(par)18(ent )-159(\(the)]TJ -/TT0 1 Tf --27.877 -1.2 Td -(a.out)Tj -/T1_0 1 Tf -3.28 0 Td -[(pr)18(ocess\). )-280(W)]TJ -0.2796 Tc 5.316 0 Td -(ec)Tj -0 Tc 1.203 0 Td -[(atch )-30(it )-30(and )-30(r)18(eturn )-30(fr)18(om )-30(the )-30(signal )-30(handler)]TJ -0.5295 Tc 18.417 0 Td -(.B)Tj -0 Tc 1.391 0 Td -[(ut )-29(if )-29(it )-29(is )-29(catching )-29(the)]TJ -/TT0 1 Tf --29.606 -1.2 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.506 0 Td -[(signal, )-55(the )-55(par)17(ent )-56(should )-56(be )-56(doing )-56(so )-56(because )-56(it )-56(has )-56(cr)18(eated )-56(its )-56(own )-56(childr)22(en,)]TJ --4.505 -1.2 Td -[(so )-104(that )-104(it )-104(knows )-104(when )-104(its )-104(childr)18(en )-104(have )-104(terminated.)-608(The )-104(delivery )-104(of )-104(this )-104(signal )-104(in )-104(the)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47008 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.17)]TJ -/TT0 1 Tf -36.403 0 Td -(abort)Tj -/T1_0 1 Tf -3.5 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(365)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(We )-429(t)]TJ -0 Tc 2.208 0 Td -[(est )-245(each )-245(of )-245(the )-245(global )-245(\337ags )-245(befor)]TJ -0.4951 Tc 15.584 0 Td -(ec)Tj -0 Tc 1.418 0 Td -(alling)Tj -/TT0 1 Tf -3.006 0 Td -(read)Tj -/T1_0 1 Tf -2.895 0 Td -[(and )-245(again )-245(if)]TJ -/TT0 1 Tf -6.231 0 Td -(read)Tj -/T1_0 1 Tf --0.018 Tc 2.895 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-245(an)]TJ --35.093 -1.2 Td -[(interr)8(upted )-39(system )-39(call )-39(err)18(or)]TJ -0.5391 Tc 12.683 0 Td -(.T)Tj -0 Tc 1.402 0 Td -[(he )-39(pr)18(oblem )-39(occurs )-39(if )-39(either )-39(signal )-39(is )-39(caught )-39(between )-39(the)]TJ --14.085 -1.2 Td -[(\336rst )-79(two)]TJ -/TT0 1 Tf -4.115 0 Td -(if)Tj -/T1_0 1 Tf -1.529 0 Td -[(statements )-79(and )-79(the )-79(subsequent )-79(call )-79(to)]TJ -/TT0 1 Tf -17.237 0 Td -(read)Tj -/T1_0 1 Tf -0.5795 Tc (.S)Tj -0 Tc 3.754 0 Td -[(ignals )-79(occurring )-79(in )-79(her)]TJ -0.3295 Tc 10.2 0 Td -(ea)Tj --0.018 Tc 1.309 0 Td -(re)Tj -0 Tc -38.144 -1.2 Td -[(lost, )-32(as )-32(indicated )-32(by )-32(the )-32(code )-32(comment.)-532(The )-32(signal )-32(handlers )-32(ar)]TJ -0.282 Tc 27.993 0 Td -(ec)Tj -0 Tc 1.205 0 Td -[(alled, )-32(and )-32(they )-32(set )-32(the)]TJ --29.198 -1.2 Td -[(appr)18(opriate )-16(global )-16(variable, )-16(but )-16(the)]TJ -/TT0 1 Tf -15.976 0 Td -(read)Tj -/T1_0 1 Tf -2.666 0 Td -[(never )-16(r)18(eturns )-16(\(unless )-16(some )-16(data )-16(is )-16(r)18(eady )-16(to )-16(be)]TJ --0.018 Tc -18.642 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(ad\).)Tj -0.944 -1.2 Td -[(What we would like to be able to do is the following sequence of steps, \ in or)18(der)74(.)]TJ -0 -2.04 TD -[(1. )-633(Block)]TJ -/TT0 1 Tf -4.331 0 Td -(SIGINT)Tj -/T1_0 1 Tf -3.85 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(SIGALRM)Tj -/T1_0 1 Tf -(.)Tj --10.124 -1.6 Td -[(2. )-633(T)92(est )-12(the )-12(two )-12(global )-12(variables )-12(to )-12(see )-12(whether )-12(either )-12(signal )-12(has )-12(occurr)17(ed )-12(and, )-12(if )-12(so,)]TJ -1.633 -1.2 Td -(handle the condition.)Tj --1.633 -1.6 Td -[(3. )-633(Call)]TJ -/TT0 1 Tf -3.833 0 Td -(read)Tj -/T1_0 1 Tf -2.809 0 Td -[(\(or )-159(any )-159(other )-159(system )-159(function\) )-159(and )-159(unblock )-159(the )-159(two )-159(signals, )-159(as )-159(an)]TJ --5.009 -1.2 Td -(atomic operation.)Tj --3.433 -2.04 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(sigsuspend)Tj -/T1_0 1 Tf -6.25 0 Td -(function helps us only if step 3 is a)Tj -/TT0 1 Tf -15.505 0 Td -(pause)Tj -/T1_0 1 Tf -3.25 0 Td -(operation.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5941 464.1721 Tm -(10.17)Tj -/TT2 1 Tf -3 0 Td -(abort)Tj -/TT1 1 Tf -3.556 0 Td -(Function)Tj -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5919 440.1736 Tm -[(We )-184(m)]TJ -0 Tc 2.52 0 Td -(entioned earlier that the)Tj -/TT0 1 Tf -10.847 0 Td -(abort)Tj -/T1_0 1 Tf -3.25 0 Td -[(function causes abnormal pr)18(ogram termination.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5908 421.0747 Tm -(#include )Tj -0 -1.902 TD -(void abort\(void\);)Tj -/T1_0 1 Tf -27.28 -1.902 Td -[(This function never r)18(eturns)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3823.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 366.416 Tm -[(This )-61(function )-61(sends )-61(the)]TJ -/TT0 1 Tf -10.769 0 Td -(SIGABRT)Tj -/T1_0 1 Tf -4.511 0 Td -[(signal )-61(to )-61(the )-61(caller)]TJ -0.5614 Tc 8.163 0 Td -(.\()Tj -0 Tc 1.144 0 Td -[(Pr)18(ocesses )-61(should )-61(not )-61(ignor)]TJ -0.3114 Tc 11.998 0 Td -(et)Tj -0 Tc 1.116 0 Td -(his)Tj --37.703 -1.2 Td -[(signal.\) )-568(ISO)]TJ -0.5676 Tc 6.26 0 Td -(Cs)Tj -0 Tc 1.701 0 Td -[(tates )-318(that )-318(calling)]TJ -/TT0 1 Tf -8.447 0 Td -(abort)Tj -/T1_0 1 Tf -3.568 0 Td -[(will )-317(deliver )-317(an )-317(unsuccessful )-317(termination)]TJ --19.975 -1.2 Td -[(noti\336cation to the host envir)18(onment by calling)]TJ -/TT0 1 Tf -20.682 0 Td -(raise\(SIGABRT\))Tj -/T1_0 1 Tf -(.)Tj --18.882 -1.2 Td -[(ISO )-11(C )-11(r)18(equir)18(es )-11(that )-11(if )-11(the )-11(signal )-11(is )-11(caught )-11(and )-11(the )-11(signal )-11(handler )-11(r)18(eturns,)]TJ -/TT0 1 Tf -32.316 0 Td -(abort)Tj -/T1_0 1 Tf -3.261 0 Td -(still)Tj --37.377 -1.2 Td -[(doesn\325t )-30(r)18(eturn )-30(to )-30(its )-30(caller)]TJ -0.5305 Tc 11.369 0 Td -(.I)Tj -0.2805 Tc 1.117 0 Td -(ft)Tj -0 Tc 0.939 0 Td -[(his )-30(signal )-30(is )-30(caught, )-30(the )-30(only )-30(way )-30(the )-30(signal )-30(handler )-30(can\325t)]TJ --0.018 Tc -13.426 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-209(is )-209(if )-209(it )-209(calls)]TJ -/TT0 1 Tf -8.11 0 Td -(exit)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.11 0 Td -(_exit)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.71 0 Td -(_Exit)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.71 0 Td -(longjmp)Tj -/T1_0 1 Tf -0.4596 Tc (,o)Tj -0 Tc 5.456 0 Td -(r)Tj -/TT0 1 Tf -0.855 0 Td -(siglongjmp)Tj -/T1_0 1 Tf -0.7096 Tc (.\()Tj -0 Tc 7.293 0 Td -[(Section )-210(10.15)]TJ --33.097 -1.2 Td -[(discusses )-88(the )-88(dif)18(fer)18(ences )-88(between)]TJ -/TT0 1 Tf -15.408 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.538 0 Td -(and)Tj -/TT0 1 Tf -2.031 0 Td -(siglongjmp)Tj -/T1_0 1 Tf -[(.\) )-338(POSIX.1)-337(also )-88(speci\336es)]TJ --21.977 -1.2 Td -(that)Tj -/TT0 1 Tf -1.984 0 Td -(abort)Tj -/T1_0 1 Tf -3.25 0 Td -[(overrides the blocking or ignoring of the signal by the pr)18(ocess.)]TJ --3.434 -1.2 Td -[(The )-139(intent )-139(of )-139(letting )-139(the )-139(pr)18(ocess )-139(catch )-139(the)]TJ -/TT0 1 Tf -19.468 0 Td -(SIGABRT)Tj -/T1_0 1 Tf -4.589 0 Td -[(is )-139(to )-139(allow )-139(it )-139(to )-139(perform )-139(any)]TJ --25.857 -1.2 Td -[(cleanup )-306(that )-306(it )-306(wants )-306(to )-306(do )-306(befor)]TJ -0.5555 Tc 16.168 0 Td -(et)Tj -0 Tc 1.361 0 Td -[(he )-305(pr)18(ocess )-305(terminates.)-805(If )-305(the )-305(pr)18(ocess )-305(doesn\325t)]TJ --17.528 -1.2 Td -[(terminate )-124(itself )-124(fr)18(om )-124(this )-124(signal )-124(handler)]TJ -0.3744 Tc 18.049 0 Td -(,P)Tj -0 Tc 1.228 0 Td -[(OSIX.1 )-124(states )-124(that, )-124(when )-124(the )-124(signal )-124(handler)]TJ --0.018 Tc -19.277 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(turns,)Tj -/TT0 1 Tf -2.83 0 Td -(abort)Tj -/T1_0 1 Tf -3.25 0 Td -[(terminates the pr)18(ocess.)]TJ --5.136 -1.2 Td -[(The )-161(ISO )-161(C )-161(speci\336cation )-161(of )-161(this )-161(function )-161(leaves )-161(it )-161(up )-161(to )-161(the )-161(implementation )-161(as )-161(to)]TJ --1.8 -1.2 Td -[(whether )-243(output )-243(str)18(eams )-243(ar)]TJ -0.4933 Tc 12.452 0 Td -(e\337)Tj -0 Tc 1.58 0 Td -[(ushed )-243(and )-243(whether )-243(temporary )-243(\336les )-243(\(Section )-243(5.13\) )-243(ar)15(e)]TJ --14.032 -1.2 Td -[(deleted. )-365(POSIX.1)-365(goes )-115(further )-115(and )-115(allows )-115(an )-115(implementation )-115(to )-115(call)]TJ -/TT0 1 Tf -31.334 0 Td -(fclose)Tj -/T1_0 1 Tf -3.965 0 Td -[(on )-115(open)]TJ --35.299 -1.2 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O str)18(eams befor)]TJ -0.25 Tc 7.593 0 Td -(et)Tj -0 Tc 1.055 0 Td -(erminating if the call to)Tj -/TT0 1 Tf -10.544 0 Td -(abort)Tj -/T1_0 1 Tf -3.25 0 Td -[(terminates the pr)18(ocess.)]TJ -7.999 0 0 7.999 183.5782 166.44 Tm -[(Earlier )-418(versions )-418(of )-418(System )-418(V )-418(generated )-418(the)]TJ -/TT0 1 Tf -21.932 0 Td -(SIGIOT)Tj -/T1_0 1 Tf -4.268 0 Td -[(signal )-418(fr)18(om )-418(the)]TJ -/TT0 1 Tf -8.174 0 Td -(abort)Tj -/T1_0 1 Tf -3.668 0 Td -(function.)Tj --38.043 -1.25 Td -[(Furthermor)18(e, )-90(it )-90(was )-90(possible )-90(for )-90(a )-90(pr)18(ocess )-90(to )-90(ignor)]TJ -0.3404 Tc 22.871 0 Td -(et)Tj -0 Tc 1.145 0 Td -[(his )-90(signal )-90(or )-90(to )-90(catch )-90(it )-90(and )-90(r)15(eturn )-90(fr)18(om)]TJ --24.016 -1.25 Td -[(the signal handler)74(,)-250(in)-250(which case)]TJ -/TT0 1 Tf -14.6 0 Td -(abort)Tj -/T1_0 1 Tf --0.018 Tc 3.25 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turned to its caller)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47009 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.16)]TJ -/TT0 1 Tf -33.403 0 Td -(sigsuspend)Tj -/T1_0 1 Tf -6.5 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(359)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -(10.16)Tj -/TT2 1 Tf -3 0 Td -(sigsuspend)Tj -/TT1 1 Tf -6.556 0 Td -(Function)Tj -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(We )-283(h)]TJ -0 Tc 2.318 0 Td -[(ave )-99(seen )-99(how )-99(we )-99(can )-99(change )-99(the )-99(signal )-99(mask )-99(for )-99(a )-99(pr)18(ocess )-99(to )-99(block )-99(and )-99(unblock)]TJ --2.318 -1.2 Td -[(selected )-128(signals.)]TJ --0.092 Tc 7.858 0 Td -[(We )-312(c)]TJ -0 Tc 2.209 0 Td -[(an )-128(use )-128(this )-128(technique )-128(to )-128(pr)17(otect )-128(critical )-128(r)18(egions )-128(of )-128(code )-128(that )-128(we)]TJ --10.067 -1.2 Td -[(don\325t )-85(want )-85(interr)8(upted )-85(by )-85(a )-85(signal.)-585(But )-85(what )-85(if )-85(we )-85(want )-85(to )-85(unblock )-85(a )-85(signal )-85(and )-85(then)]TJ -/TT0 1 Tf -0 -1.2 TD -(pause)Tj -/T1_0 1 Tf -0.2948 Tc (,w)Tj -0 Tc 4.379 0 Td -[(aiting )-45(for )-45(the )-45(pr)18(eviously )-45(blocked )-45(signal )-45(to )-45(occur?)-543(Assuming )-45(that )-45(the )-45(signal )-45(is)]TJ -/TT0 1 Tf --4.379 -1.2 Td -(SIGINT)Tj -/T1_0 1 Tf -0.25 Tc (,t)Tj -0 Tc 4.426 0 Td -[(he incorr)18(ect way to do this is)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 158.3906 580.2652 Tm -[(sigset_t )-1800(newmask,)-600(oldmask;)]TJ -0 -1.902 TD -(sigemptyset\(&newmask\);)Tj -0 -1.189 TD -(sigaddset\(&newmask, SIGINT\);)Tj -0 -1.902 TD -(/* block SIGINT and save current signal mask */)Tj -0 -1.189 TD -(if \(sigprocmask\(SIG_BLOCK, &newmask, &oldmask\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("SIG_BLOCK error"\);)Tj --2.4 -1.902 Td -(/* critical region of code */)Tj -0 -1.902 TD -(/* restore signal mask, which unblocks SIGINT */)Tj -0 -1.189 TD -(if \(sigprocmask\(SIG_SETMASK, &oldmask, NULL\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("SIG_SETMASK error"\);)Tj --2.4 -1.902 Td -(/* window is open */)Tj -0 -1.189 TD -[(pause\(\); )-600(/*)-600(wait for signal to occur */)]TJ -0 -1.902 TD -(/* continue processing */)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5923 395.3565 Tm -[(If )-13(the )-13(signal )-13(is )-13(sent )-13(to )-13(the )-13(pr)18(ocess )-13(while )-13(it )-13(is )-13(blocked, )-13(the )-13(signal )-13(delivery )-13(will )-13(be )-13(deferr)10(ed)]TJ -0 -1.2 TD -[(until )-136(the )-136(signal )-136(is )-136(unblocked.)]TJ --0.092 Tc 13.936 0 Td -[(To )-320(t)]TJ -0 Tc 1.779 0 Td -[(he )-136(application, )-136(this )-136(can )-136(look )-136(as )-136(if )-136(the )-136(signal )-136(occurs)]TJ --15.715 -1.2 Td -[(between )-220(the )-220(unblocking )-220(and )-220(the)]TJ -/TT0 1 Tf -15.555 0 Td -(pause)Tj -/T1_0 1 Tf -3.47 0 Td -[(\(depending )-220(on )-220(how )-220(the )-220(kernel )-220(implements)]TJ --19.025 -1.2 Td -[(signals\). )-392(If)-393(this )-143(happens, )-143(or )-143(if )-143(the )-143(signal )-143(does )-143(occur )-143(between )-143(the )-143(unblocking )-143(and )-143(the)]TJ -/TT0 1 Tf -T* -(pause)Tj -/T1_0 1 Tf -[(,)-272(we)-272(h)-1(ave )-22(a )-22(pr)17(oblem. )-272(Any)-273(occurr)18(ence )-22(of )-22(the )-22(signal )-22(in )-22(this )-22(window )-22(of )-22(time )-22(is )-22(lost,)]TJ --0 -1.2 Td -[(in )-55(the )-55(sense )-55(that )-55(we )-55(might )-55(not )-55(see )-55(the )-55(signal )-55(again, )-55(in )-55(which )-55(case )-55(the)]TJ -/TT0 1 Tf -31.293 0 Td -(pause)Tj -/T1_0 1 Tf -3.305 0 Td -[(will )-55(block)]TJ --34.598 -1.2 Td -(inde\336nitely)Tj -0.5 Tc 4.982 0 Td -(.T)Tj -0 Tc 1.363 0 Td -[(his is another pr)18(oblem with the earlier unr)18(eliable signals.)]TJ --0.092 Tc -4.545 -1.2 Td -[(To )-232(c)]TJ -0 Tc 1.809 0 Td -[(orr)18(ect )-48(this )-48(pr)18(oblem, )-48(we )-48(need )-48(a )-48(way )-48(to )-48(both )-48(r)14(estor)]TJ -0.2984 Tc 22.118 0 Td -(et)Tj -0 Tc 1.103 0 Td -[(he )-48(signal )-48(mask )-48(and )-48(put )-48(the)]TJ --26.83 -1.2 Td -[(pr)18(ocess )-404(to )-404(sleep )-404(in )-404(a )-404(single )-404(atomic )-404(operation.)-907(This )-404(featur)18(e)-654(is)-654(p)]TJ --0.018 Tc 31.715 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vided )-404(by )-404(the)]TJ -/TT0 1 Tf --32.638 -1.2 Td -(sigsuspend)Tj -/T1_0 1 Tf -6.25 0 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 268.2641 Tm -(#include )Tj -0 -2.021 TD -(int sigsuspend\(const sigset_t *)Tj -/T1_2 1 Tf -(sigmask)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -22.923 -2.021 Td -(Returns:)Tj -/TT3 1 Tf -3.977 0 Td -(!)Tj -/T1_0 1 Tf -0.25 Tc (1w)Tj -0 Tc 2.133 0 Td -(ith)Tj -/TT0 1 Tf -1.449 0 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(EINTR)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2274.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 211.4746 Tm -[(The )-208(signal )-208(mask )-208(of )-208(the )-208(pr)16(ocess )-208(is )-208(set )-208(to )-208(the )-208(value )-208(pointed )-208(to )-208(by)]TJ -/T1_2 1 Tf -30.718 0 Td -(sigmask)Tj -/T1_0 1 Tf -0.7084 Tc (.T)Tj -0 Tc 4.793 0 Td -[(hen )-208(the)]TJ --35.512 -1.2 Td -[(pr)18(ocess )-41(is )-41(suspended )-41(until )-41(a )-41(signal )-41(is )-41(caught )-41(or )-41(until )-41(a )-41(signal )-41(occurs )-41(that )-41(terminates )-41(the)]TJ -0 -1.2 TD -[(pr)18(ocess. )-498(If)]TJ -0.4979 Tc 5.461 0 Td -(as)Tj -0 Tc 1.422 0 Td -[(ignal )-248(is )-248(caught )-248(and )-248(if )-248(the )-248(signal )-248(handler )-248(r)18(eturns, )-248(then)]TJ -/TT0 1 Tf -26.117 0 Td -(sigsuspend)Tj -/T1_0 1 Tf --0.018 Tc -33 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns, )-317(and )-317(the )-317(signal )-317(mask )-317(of )-317(the )-317(pr)18(ocess )-317(is )-317(set )-317(to )-317(its )-317(value )-317(befor)]TJ -0.5668 Tc 32.179 0 Td -(et)Tj -0 Tc 1.372 0 Td -[(he )-317(call )-317(to)]TJ -/TT0 1 Tf --34.407 -1.2 Td -(sigsuspend)Tj -/T1_0 1 Tf -(.)Tj -1.8 -1.2 Td -[(Note )-5(that )-5(ther)19(e)-255(is)-255(no)-255(s)1(uccessful )-5(r)18(eturn )-5(fr)18(om )-5(this )-5(function.)-503(If )-4(it )-4(r)18(eturns )-4(to )-4(the )-4(caller)]TJ -0.2545 Tc 36.079 0 Td -(,i)Tj -0 Tc 0.795 0 Td -(t)Tj --38.674 -1.2 Td -[(always r)18(eturns)]TJ -/TT3 1 Tf -6.791 0 Td -(!)Tj -/T1_0 1 Tf -0.25 Tc (1w)Tj -0 Tc 2.133 0 Td -(ith)Tj -/TT0 1 Tf -1.449 0 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(EINTR)Tj -/T1_0 1 Tf -3.25 0 Td -[(\(indicating an interr)8(upted system call\).)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47010 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.15)]TJ -/TT0 1 Tf -24.886 0 Td -(sigsetjmp)Tj -/T1_0 1 Tf -5.9 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(siglongjmp)Tj -/T1_0 1 Tf -6.5 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(355)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT1 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Example )195(\321)]TJ -/TT2 1 Tf -5.28 0 Td -(signal_intr)Tj -/TT1 1 Tf -6.878 0 Td -(Function)Tj -/T1_0 1 Tf --8.558 -2.4 Td -(Figur)Tj -0.6273 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.606 0 Td -[(0.19 )-377(shows )-377(a )-377(version )-377(of )-377(the)]TJ -/TT0 1 Tf -14.372 0 Td -(signal)Tj -/T1_0 1 Tf -4.227 0 Td -[(function )-377(that )-377(tries )-377(to )-377(pr)17(event )-377(any)]TJ --22.588 -1.2 Td -[(interr)8(upted system calls fr)18(om being r)18(estarted.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6258.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 616.225 Tm -(#include "apue.h")Tj -0 -1.902 TD -(Sigfunc *)Tj -0 -1.189 TD -(signal_intr\(int signo, Sigfunc *func\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(struct sigaction)-2400(act, oact;)]TJ -0 -1.902 TD -(act.sa_handler = func;)Tj -0 -1.189 TD -(sigemptyset\(&act.sa_mask\);)Tj -T* -(act.sa_flags = 0;)Tj --2.4 -1.189 Td -[(#ifdef )-600(SA_INTERRUPT)]TJ -2.4 -1.189 Td -(act.sa_flags |= SA_INTERRUPT;)Tj --2.4 -1.189 Td -(#endif)Tj -2.4 -1.189 Td -(if \(sigaction\(signo, &act, &oact\) < 0\))Tj -2.4 -1.189 Td -(return\(SIG_ERR\);)Tj --2.4 -1.189 Td -(return\(oact.sa_handler\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4488.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 249.851 432.7801 Tm -(Figure 10.19)Tj -/T1_0 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(signal_intr)Tj -/T1_0 1 Tf -6.85 0 Td -(function)Tj -9.9982 0 0 9.9982 129.5771 408.7844 Tm -[(For )-47(impr)18(oved )-47(portability)111(,)-297(we)-297(specify )-47(the)]TJ -/TT0 1 Tf -18.275 0 Td -(SA_INTERRUPT)Tj -/T1_0 1 Tf -7.497 0 Td -[(\337ag, )-47(if )-47(de\336ned )-47(by )-47(the )-47(system,)]TJ --25.772 -1.2 Td -[(to pr)18(event interr)8(upted system calls fr)18(om being r)18(estarted.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3968.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9971 0 0 11.9971 93.5775 360.7714 Tm -(10.15)Tj -/TT2 1 Tf -3 0 Td -(sigsetjmp)Tj -/TT1 1 Tf -5.956 0 Td -(and)Tj -/TT2 1 Tf -2.334 0 Td -(siglongjmp)Tj -/TT1 1 Tf -6.556 0 Td -(Functions)Tj -/T1_0 1 Tf -9.9976 0 0 9.9976 129.5685 336.7772 Tm -[(In )-105(Section )-105(7.10, )-105(we )-105(described )-105(the)]TJ -/TT0 1 Tf -15.231 0 Td -(setjmp)Tj -/T1_0 1 Tf -3.955 0 Td -(and)Tj -/TT0 1 Tf -2.048 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.555 0 Td -[(functions, )-105(which )-105(can )-105(be )-105(used)]TJ --25.79 -1.2 Td -[(for )-72(nonlocal )-72(branching.)-572(The)]TJ -/TT0 1 Tf -13.003 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.522 0 Td -[(function )-72(is )-72(often )-72(called )-72(fr)18(om )-72(a )-72(signal )-72(handler )-72(to)]TJ --0.018 Tc -17.525 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-112(to )-112(the )-112(main )-112(loop )-112(of )-112(a )-112(pr)17(ogram, )-112(instead )-112(of )-112(r)18(eturning )-112(fr)18(om )-112(the )-112(handler)]TJ -0.6121 Tc 33.775 0 Td -(.W)Tj -0.3621 Tc 1.77 0 Td -(es)Tj -0 Tc 1.265 0 Td -(aw)Tj --37.666 -1.2 Td -[(this appr)18(oach in Figur)18(es 10.8 and 10.1)55(1.)]TJ -1.8 -1.2 Td -[(Ther)18(e)-461(is)-461(a)-461(p)]TJ --0.018 Tc 5.728 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(blem )-211(in )-211(calling)]TJ -/TT0 1 Tf -7.416 0 Td -(longjmp)Tj -/T1_0 1 Tf -0.4608 Tc (,h)Tj -0 Tc 5.493 0 Td -(owever)Tj -0.7109 Tc 3.224 0 Td -(.W)Tj -0 Tc 1.961 0 Td -[(hen )-211(a )-211(signal )-211(is )-211(caught, )-211(the)]TJ --26.546 -1.2 Td -[(signal-catching )-6(function )-6(is )-6(enter)18(ed, )-6(with )-6(the )-6(curr)15(ent )-6(signal )-6(automatically )-6(being )-6(added )-6(to)]TJ -0 -1.2 TD -[(the )-191(signal )-191(mask )-191(of )-191(the )-191(pr)17(ocess. )-441(This)-441(pr)18(events )-191(subsequent )-191(occurr)18(ences )-191(of )-191(that )-191(signal)]TJ -T* -[(fr)18(om )-144(interr)8(upting )-144(the )-144(signal )-144(handler)]TJ -0.6438 Tc 16.53 0 Td -(.I)Tj -0.3938 Tc 1.231 0 Td -(fw)Tj -0 Tc 1.561 0 Td -(e)Tj -/TT0 1 Tf -0.873 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.594 0 Td -[(out )-144(of )-144(the )-144(signal )-144(handler)]TJ -0.3937 Tc 11.326 0 Td -(,w)Tj -0 Tc 1.478 0 Td -(hat)Tj --37.592 -1.2 Td -[(happens to the signal mask for the pr)18(ocess?)]TJ -7.9981 0 0 7.9981 183.5558 220.805 Tm -[(Under )-123(Fr)18(eeBSD )-123(8.0 )-123(and )-123(Mac )-123(OS )-123(X )-123(10.6.8,)]TJ -/TT0 1 Tf -19.193 0 Td -(setjmp)Tj -/T1_0 1 Tf -3.973 0 Td -(and)Tj -/TT0 1 Tf -2.066 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.573 0 Td -[(save )-123(and )-123(r)17(estor)]TJ -0.3734 Tc 6.937 0 Td -(et)Tj -0 Tc 1.178 0 Td -[(he )-123(signal)]TJ --37.921 -1.25 Td -[(mask. )-296(Linux)-296(3.2.0 )-46(and )-46(Solaris )-46(10, )-46(however)]TJ -0.296 Tc 18.963 0 Td -(,d)Tj -0.2959 Tc 1.157 0 Td -(on)Tj -0 Tc 1.424 0 Td -[(ot )-46(do )-46(this, )-46(although )-46(Linux )-46(supports )-46(an )-46(option)]TJ --21.544 -1.25 Td -[(to )-301(pr)18(ovide )-301(BSD )-301(behavior)]TJ -0.8014 Tc 11.743 0 Td -(.F)Tj --0.018 Tc 1.607 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD )-301(and )-301(Mac )-301(OS )-301(X )-301(pr)18(ovide )-301(the )-301(functions)]TJ -/TT0 1 Tf -21.349 0 Td -(_setjmp)Tj -/T1_0 1 Tf -4.752 0 Td -(and)Tj -/TT0 1 Tf --40.307 -1.25 Td -(_longjmp)Tj -/T1_0 1 Tf -0.25 Tc (,w)Tj -0 Tc 6.134 0 Td -[(hich do not save and r)18(estor)]TJ -0.25 Tc 11.95 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he signal mask.)Tj --0.092 Tc 9.9976 0 0 9.9976 147.5645 168.8175 Tm -[(To )-202(a)]TJ -0 Tc 1.835 0 Td -[(llow )-18(either )-18(form )-18(of )-18(behavior)]TJ -0.2679 Tc 12.459 0 Td -(,P)Tj -0 Tc 1.122 0 Td -[(OSIX.1 )-18(does )-18(not )-18(specify )-18(the )-18(ef)18(fect )-18(of)]TJ -/TT0 1 Tf -16.224 0 Td -(setjmp)Tj -/T1_0 1 Tf -3.868 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(longjmp)Tj -/T1_0 1 Tf -4.491 0 Td -[(on )-41(signal )-41(masks.)-541(Instead, )-41(two )-41(new )-41(functions,)]TJ -/TT0 1 Tf -20.585 0 Td -(sigsetjmp)Tj -/T1_0 1 Tf -5.691 0 Td -(and)Tj -/TT0 1 Tf -1.984 0 Td -(siglongjmp)Tj -/T1_0 1 Tf -(,)Tj --32.75 -1.2 Td -(ar)Tj -0.3594 Tc 0.877 0 Td -(ed)Tj -0 Tc 1.449 0 Td -[(e\336ned )-109(by )-109(POSIX.1.)-610(These )-109(two )-109(functions )-109(should )-109(always )-109(be )-109(used )-109(when )-109(branching)]TJ --2.326 -1.2 Td -[(fr)18(om a signal handler)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47011 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.14)]TJ -/TT0 1 Tf -34.003 0 Td -(sigaction)Tj -/T1_0 1 Tf -5.9 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(349)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(The )-69(pr)18(ocess )-69(blocks)]TJ -/TT0 1 Tf -8.74 0 Td -(SIGQUIT)Tj -/T1_0 1 Tf -0.3189 Tc (,s)Tj -0 Tc 5.193 0 Td -[(aving )-69(its )-69(curr)18(ent )-69(signal )-69(mask )-69(\(to )-69(r)19(estor)]TJ -0.3189 Tc 17.395 0 Td -(el)Tj -0 Tc 1.089 0 Td -[(ater\), )-69(and )-69(then)]TJ --32.417 -1.2 Td -[(goes )-174(to )-174(sleep )-174(for )-174(5 )-174(seconds.)-676(Any )-174(occurr)18(ence )-174(of )-174(the )-174(quit )-174(signal )-174(during )-174(this )-174(period )-174(is)]TJ -0 -1.2 TD -[(blocked )-294(and )-294(won\325t )-294(be )-294(deliver)18(ed )-294(until )-294(the )-294(signal )-294(is )-294(unblocked.)-794(At )-294(the )-294(end )-294(of )-294(the)]TJ -T* -(5-second sleep, we check whether the signal is pending and unblock the s\ ignal.)Tj -1.8 -1.2 Td -[(Note )-205(that )-205(we )-205(saved )-205(the )-205(old )-205(mask )-205(when )-205(we )-205(blocked )-205(the )-205(signal.)]TJ --0.092 Tc 30.262 0 Td -[(To )-389(u)]TJ -0 Tc 2.125 0 Td -[(nblock )-205(the)]TJ --34.187 -1.2 Td -[(signal, )-16(we )-16(did )-16(a)]TJ -/TT0 1 Tf -7.286 0 Td -(SIG_SETMASK)Tj -/T1_0 1 Tf -6.866 0 Td -[(of )-16(the )-16(old )-16(mask.)-518(Alternatively)111(,)-266(we)-266(c)-1(ould)]TJ -/TT0 1 Tf -18.248 0 Td -(SIG_UNBLOCK)Tj -/T1_0 1 Tf --32.4 -1.2 Td -[(only )-29(the )-29(signal )-29(that )-29(we )-29(had )-29(blocked.)-529(Be )-29(awar)18(e, )-29(however)77(,)-279(if)-279(we)-279(w)1(rite )-29(a )-29(function )-29(that )-29(can)]TJ -0 -1.2 Td -[(be )-219(called )-219(by )-219(others )-219(and )-219(if )-219(we )-219(need )-219(to )-219(block )-219(a )-219(signal )-219(in )-219(our )-219(function, )-219(we )-219(can\325t )-219(use)]TJ -/TT0 1 Tf -T* -(SIG_UNBLOCK)Tj -/T1_0 1 Tf -6.959 0 Td -[(to )-109(unblock )-109(the )-109(signal.)-611(In )-109(this )-109(case, )-109(we )-109(have )-109(to )-109(use)]TJ -/TT0 1 Tf -23.388 0 Td -(SIG_SETMASK)Tj -/T1_0 1 Tf -6.959 0 Td -(and)Tj --0.018 Tc -37.307 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(stor)Tj -0.5104 Tc 1.673 0 Td -(et)Tj -0 Tc 1.315 0 Td -[(he )-260(signal )-260(mask )-260(to )-260(its )-260(prior )-260(value, )-260(because )-260(it\325s )-260(possible )-260(that )-260(the )-260(caller )-260(had)]TJ --3.844 -1.2 Td -[(speci\336cally )-49(blocked )-49(this )-49(signal )-49(befor)]TJ -0.2994 Tc 16.158 0 Td -(ec)Tj -0 Tc 1.222 0 Td -[(alling )-49(our )-49(function.)]TJ --0.092 Tc 9.16 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-49(see )-49(an )-49(example )-49(of )-49(this)]TJ --27.928 -1.2 Td -(in the)Tj -/TT0 1 Tf -2.76 0 Td -(system)Tj -/T1_0 1 Tf -3.85 0 Td -(function in Section 10.18.)Tj --4.81 -1.2 Td -[(If )-114(we )-114(generate )-114(the )-114(quit )-114(signal )-114(during )-114(this )-114(sleep )-114(period, )-114(the )-114(signal )-114(is )-114(now )-114(pending)]TJ --1.8 -1.2 Td -[(and )-181(unblocked, )-181(so )-181(it )-181(is )-181(deliver)18(ed )-181(befor)19(e)]TJ -/TT0 1 Tf -18.876 0 Td -(sigprocmask)Tj -/T1_0 1 Tf --0.018 Tc 7.031 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns. )-431(W)92(e\325ll )-181(see )-181(this )-181(occur)]TJ --26.762 -1.2 Td -[(because )-59(the)]TJ -/TT0 1 Tf -5.487 0 Td -(printf)Tj -/T1_0 1 Tf -3.909 0 Td -[(in )-59(the )-59(signal )-59(handler )-59(is )-59(output )-59(befor)]TJ -0.3091 Tc 16.207 0 Td -(et)Tj -0 Tc 1.114 0 Td -(he)Tj -/TT0 1 Tf -1.37 0 Td -(printf)Tj -/T1_0 1 Tf -3.909 0 Td -[(that )-59(follows )-59(the)]TJ --31.996 -1.2 Td -(call to)Tj -/TT0 1 Tf -2.898 0 Td -(sigprocmask)Tj -/T1_0 1 Tf -(.)Tj --1.098 -1.2 Td -[(The )-38(pr)18(ocess )-38(then )-38(goes )-38(to )-38(sleep )-38(for )-38(another )-38(5 )-38(seconds.)-542(If )-38(we )-38(generate )-38(the )-38(quit )-38(signal)]TJ --1.8 -1.2 Td -[(during )-181(this )-181(sleep )-181(period, )-181(the )-181(signal )-181(should )-181(terminate )-181(the )-181(pr)18(ocess, )-181(since )-181(we )-181(r)18(eset )-181(the)]TJ -T* -[(handling )-143(of )-143(the )-143(signal )-143(to )-143(its )-143(default )-143(when )-143(we )-143(caught )-143(it.)-649(In )-144(the )-144(following )-144(output, )-144(the)]TJ -T* -(terminal prints)Tj -/TT0 1 Tf -6.866 0 Td -(\366\\)Tj -/T1_0 1 Tf -1.45 0 Td -[(when we input Contr)18(ol-backslash, the terminal quit character:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 424.2745 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj --1.2 -1.189 Td -(\366\\)Tj -/T1_2 1 Tf -16 0 Td -(generate signal once \(befor)Tj -0.25 Tc 10.658 0 Td -(e5s)Tj -0 Tc 1.778 0 Td -(econds ar)Tj -0.25 Tc 3.75 0 Td -(eu)Tj -0 Tc 1.195 0 Td -(p\))Tj -/TT0 1 Tf --33.381 -1.189 Td -(SIGQUIT pending)Tj -/T1_2 1 Tf -16 0 Td -[(after r)18(eturn fr)18(om)]TJ -/TT0 1 Tf -7.048 0 Td -(sleep)Tj --23.048 -1.189 Td -(caught SIGQUIT)Tj -/T1_2 1 Tf -16 0 Td -(in signal handler)Tj -/TT0 1 Tf --16 -1.189 Td -(SIGQUIT unblocked)Tj -/T1_2 1 Tf -16 0 Td -[(after r)18(eturn fr)18(om)]TJ -/TT0 1 Tf -7.048 0 Td -(sigprocmask)Tj -/TT1 1 Tf --23.048 -1.189 Td -(\366\\)Tj -/TT0 1 Tf -(Quit\(coredump\))Tj -/T1_2 1 Tf -16 0 Td -(generate signal again)Tj -/TT0 1 Tf --16 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj --1.2 -1.189 Td -(\366\\\366\\\366\\\366\\\366\\\366\\\366\\\366\\\366\\\366\\)Tj -/T1_2 1 Tf -16 0 Td -(generate signal 10 times \(befor)Tj -0.25 Tc 12.279 0 Td -(e5s)Tj -0 Tc 1.778 0 Td -(econds ar)Tj -0.25 Tc 3.75 0 Td -(eu)Tj -0 Tc 1.195 0 Td -(p\))Tj -/TT0 1 Tf --35.002 -1.189 Td -(SIGQUIT pending)Tj -0 -1.189 TD -(caught SIGQUIT)Tj -/T1_2 1 Tf -16 0 Td -(signal is generated only once)Tj -/TT0 1 Tf --16 -1.189 Td -(SIGQUIT unblocked)Tj -/TT1 1 Tf -T* -(\366\\)Tj -/TT0 1 Tf -(Quit\(coredump\))Tj -/T1_2 1 Tf -16 0 Td -(generate signal again)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 288.5827 Tm -[(The )-267(message)]TJ -/TT0 1 Tf -6.454 0 Td -(Quit\(coredump\))Tj -/T1_0 1 Tf -8.917 0 Td -[(is )-267(printed )-267(by )-267(the )-267(shell )-267(when )-267(it )-267(sees )-267(that )-267(its )-267(child)]TJ --15.371 -1.2 Td -[(terminated )-259(abnormally)]TJ -0.7586 Tc 10.367 0 Td -(.N)Tj -0 Tc 1.84 0 Td -[(ote )-259(that )-259(when )-259(we )-259(r)10(un )-259(the )-259(pr)18(ogram )-259(the )-259(second )-259(time, )-259(we)]TJ --12.206 -1.2 Td -[(generate )-44(the )-44(quit )-44(signal )-44(ten )-44(times )-44(while )-44(the )-44(pr)15(ocess )-44(is )-44(asleep, )-44(yet )-44(the )-44(signal )-44(is )-44(deliver)16(ed)]TJ -0 -1.2 TD -[(only )-132(once )-132(to )-132(the )-132(pr)18(ocess )-132(when )-132(it\325s )-132(unblocked.)-632(This )-132(demonstrates )-132(that )-132(signals )-132(ar)]TJ -0.3817 Tc 36.685 0 Td -(en)Tj -0 Tc 1.443 0 Td -(ot)Tj --38.128 -1.2 Td -(queued on this system.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2406.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -11.9986 0 0 11.9986 93.5888 204.5754 Tm -(10.14)Tj -/TT1 1 Tf -3 0 Td -(sigaction)Tj -/TT2 1 Tf -5.956 0 Td -(Function)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 180.5783 Tm -(The)Tj -/TT0 1 Tf -1.928 0 Td -(sigaction)Tj -/T1_0 1 Tf -5.654 0 Td -[(function )-4(allows )-4(us )-4(to )-4(examine )-4(or )-4(modify )-4(\(or )-4(both\) )-4(the )-4(action )-4(associated)]TJ --7.583 -1.2 Td -[(with )-184(a )-184(particular )-184(signal.)-684(This )-184(function )-184(supersedes )-184(the)]TJ -/TT0 1 Tf -25.421 0 Td -(signal)Tj -/T1_0 1 Tf -4.034 0 Td -[(function )-184(fr)18(om )-184(earlier)]TJ --0.018 Tc -29.455 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(leases )-401(of )-401(the )-401(UNIX )-401(System.)-901(Indeed, )-401(at )-401(the )-401(end )-401(of )-401(this )-401(section, )-401(we )-401(show )-401(an)]TJ --0.856 -1.2 Td -(implementation of)Tj -/TT0 1 Tf -8.439 0 Td -(signal)Tj -/T1_0 1 Tf -3.85 0 Td -(using)Tj -/TT0 1 Tf -2.706 0 Td -(sigaction)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47012 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.13)]TJ -/TT0 1 Tf -33.403 0 Td -(sigpending)Tj -/T1_0 1 Tf -6.5 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(347)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -(void)Tj -0 -1.189 TD -(pr_mask\(const char *str\))Tj -T* -({)Tj -2.4 -1.189 Td -[(sigset_t )-1800(sigset;)]TJ -T* -[(int )-4800(errno_save;)]TJ -0 -2.14 TD -[(errno_save = errno;)-3000(/* we can be called by signal handlers */)]TJ -0 -1.189 TD -(if \(sigprocmask\(0, NULL, &sigset\) < 0\) {)Tj -2.4 -1.189 Td -(err_ret\("sigprocmask error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(printf\("%s", str\);)Tj -T* -(if \(sigismember\(&sigset, SIGINT\)\))Tj -2.4 -1.189 Td -(printf\(" SIGINT"\);)Tj --2.4 -1.189 Td -(if \(sigismember\(&sigset, SIGQUIT\)\))Tj -2.4 -1.189 Td -(printf\(" SIGQUIT"\);)Tj --2.4 -1.189 Td -(if \(sigismember\(&sigset, SIGUSR1\)\))Tj -2.4 -1.189 Td -(printf\(" SIGUSR1"\);)Tj --2.4 -1.189 Td -(if \(sigismember\(&sigset, SIGALRM\)\))Tj -2.4 -1.189 Td -(printf\(" SIGALRM"\);)Tj --2.4 -2.14 Td -[(/* remaining signals can go here)-1200(*/)]TJ -0 -2.14 TD -(printf\("\\n"\);)Tj --2.4 -1.189 Td -(})Tj -T* -[(errno = errno_save;)-3000(/* restore errno */)]TJ --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3551.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 235.5997 339.0573 Tm -(Figure 10.14)Tj -/T1_0 1 Tf -6.195 0 Td -[(Print the signal mask for the pr)18(ocess)]TJ --0.092 Tc 9.9988 0 0 9.9988 129.5846 315.0602 Tm -[(To )-529(s)]TJ -0 Tc 2.086 0 Td -[(ave )-345(space, )-345(we )-345(don\325t )-345(test )-345(the )-345(signal )-345(mask )-345(for )-345(every )-345(signal )-345(that )-345(we )-345(listed )-345(in)]TJ --2.086 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(0.1. )-250(\(See)-250(Exer)18(cise 10.9.\))]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3031.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9978 0 0 11.9978 93.5832 263.4506 Tm -(10.13)Tj -/TT2 1 Tf -3 0 Td -(sigpending)Tj -/TT1 1 Tf -6.556 0 Td -(Function)Tj -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 239.4549 Tm -(The)Tj -/TT0 1 Tf -1.966 0 Td -(sigpending)Tj -/T1_0 1 Tf -6.292 0 Td -[(function )-42(r)18(eturns )-42(the )-42(set )-42(of )-42(signals )-42(that )-42(ar)]TJ -0.2924 Tc 18.114 0 Td -(eb)Tj -0 Tc 1.324 0 Td -[(locked )-42(fr)18(om )-42(delivery )-42(and)]TJ --27.697 -1.2 Td -[(curr)18(ently )-60(pending )-60(for )-60(the )-60(calling )-60(pr)16(ocess. )-310(The)-311(set )-60(of )-60(signals )-60(is )-60(r)18(eturned )-60(thr)18(ough )-60(the)]TJ -/T1_2 1 Tf -37.889 0 Td -(set)Tj -/T1_0 1 Tf --37.889 -1.2 Td -[(ar)18(gument.)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.5731 196.3627 Tm -(#include )Tj -0 -2.14 TD -(int sigpending\(sigset_t *)Tj -/T1_2 1 Tf -(set)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -26.851 -2.14 Td -(Returns: 0 if OK,)Tj -/TT3 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1534.25 cm -0 0 m -0 520 l -3900 520 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47013 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(346)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -(10.12)Tj -/TT1 1 Tf -3 0 Td -(sigprocmask)Tj -/TT0 1 Tf -7.156 0 Td -(Function)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(Recall )-69(fr)18(om )-69(Section )-69(10.8 )-69(that )-69(the )-69(signal )-69(mask )-69(of )-69(a )-69(pr)18(ocess )-69(is )-69(the )-69(set )-69(of )-69(signals )-69(curr)10(ently)]TJ -0 -1.2 TD -[(blocked fr)18(om delivery to that pr)17(ocess. )-250(A)-250(pr)18(ocess can examine its signal mask, change its)]TJ -0 -1.2 Td -(signal mask, or perform both operations in one step by calling the follo\ wing function.)Tj -/TT2 1 Tf -8.9995 0 0 8.9995 147.5913 601.8639 Tm -(#include )Tj -0 -2.14 TD -(int sigprocmask\(int)Tj -/T1_2 1 Tf -12 0 Td -(how)Tj -/TT2 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.466 0 Td -(onst sigset_t *restrict)Tj -/T1_2 1 Tf -14.4 0 Td -(set)Tj -/TT2 1 Tf -(,)Tj --20.266 -1.189 Td -(sigset_t *restrict)Tj -/T1_2 1 Tf -11.4 0 Td -(oset)Tj -/TT2 1 Tf -(\);)Tj -/T1_1 1 Tf -5.851 -2.14 Td -(Returns: 0 if OK,)Tj -/TT3 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5482.25 cm -0 0 m -0 627 l -3900 627 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 532.2161 Tm -[(First, )-152(if)]TJ -/T1_2 1 Tf -3.671 0 Td -(oset)Tj -/T1_1 1 Tf -1.957 0 Td -[(is )-152(a )-152(non-null )-152(pointer)]TJ -0.4023 Tc 9.378 0 Td -(,t)Tj -0 Tc 0.978 0 Td -[(he )-152(curr)18(ent )-152(signal )-152(mask )-152(for )-152(the )-152(pr)18(ocess )-152(is )-152(r)15(eturned)]TJ --15.984 -1.2 Td -[(thr)18(ough)]TJ -/T1_2 1 Tf -3.822 0 Td -(oset)Tj -/T1_1 1 Tf -(.)Tj --2.022 -1.2 Td -[(Second, )-192(if)]TJ -/T1_2 1 Tf -4.945 0 Td -(set)Tj -/T1_1 1 Tf -1.553 0 Td -[(is )-192(a )-192(non-null )-192(pointer)]TJ -0.4419 Tc 9.497 0 Td -(,t)Tj -0 Tc 1.018 0 Td -(he)Tj -/T1_2 1 Tf -1.503 0 Td -(how)Tj -/T1_1 1 Tf -2.108 0 Td -[(ar)18(gument )-192(indicates )-192(how )-192(the )-192(curr)18(ent)]TJ --22.423 -1.2 Td -[(signal )-522(mask )-522(is )-522(modi\336ed.)-1022(Figur)]TJ -0.772 Tc 15.719 0 Td -(e1)Tj -0 Tc 1.751 0 Td -[(0.13 )-522(describes )-522(the )-522(possible )-522(values )-522(for)]TJ -/T1_2 1 Tf -19.614 0 Td -(how)Tj -/T1_1 1 Tf -(.)Tj -/TT2 1 Tf --37.084 -1.2 Td -(SIG_BLOCK)Tj -/T1_1 1 Tf -5.862 0 Td -[(is )-212(an )-212(inclusive-OR )-212(operation, )-212(wher)16(eas)]TJ -/TT2 1 Tf -18.057 0 Td -(SIG_SETMASK)Tj -/T1_1 1 Tf -7.062 0 Td -[(is )-212(an )-212(assignment.)]TJ --30.982 -1.2 Td -(Note that)Tj -/TT2 1 Tf -4.416 0 Td -(SIGKILL)Tj -/T1_1 1 Tf -4.45 0 Td -(and)Tj -/TT2 1 Tf -1.943 0 Td -(SIGSTOP)Tj -/T1_1 1 Tf -4.45 0 Td -(can\325t be blocked.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1550.25 4523.25 cm -0 0 m -3392 0 l -S -Q -Q -BT -/T1_2 1 Tf -7.9986 0 0 7.9986 178.7038 444.2 Tm -(how)Tj -/T1_1 1 Tf -19.706 0 Td -(Description)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1550.25 4403.25 cm -0 0 m -3392 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1550.25 4383.25 cm -0 0 m -3392 0 l -S -Q -Q -BT -/TT2 1 Tf -7.9981 0 0 7.9981 158.9618 430.1767 Tm -(SIG_BLOCK)Tj -/T1_1 1 Tf -8.1 0 Td -[(The new signal mask for the pr)18(ocess is the union of its curr)18(ent signal mask)]TJ -0 -1.25 TD -(and the signal set pointed to by)Tj -/T1_2 1 Tf -14.12 0 Td -(set)Tj -/T1_1 1 Tf -0.5 Tc (.T)Tj -0 Tc 2.474 0 Td -(hat is,)Tj -/T1_2 1 Tf -2.873 0 Td -(set)Tj -/T1_1 1 Tf -1.361 0 Td -(contains the additional)Tj --20.828 -1.25 Td -(signals that we want to block.)Tj -/TT2 1 Tf --8.1 -1.875 Td -(SIG_UNBLOCK)Tj -/T1_1 1 Tf -8.1 0 Td -[(The new signal mask for the pr)18(ocess is the intersection of its curr)18(ent signal)]TJ -T* -(mask and the complement of the signal set pointed to by)Tj -/T1_2 1 Tf -25.263 0 Td -(set)Tj -/T1_1 1 Tf -0.5 Tc (.T)Tj -0 Tc 2.474 0 Td -(hat is,)Tj -/T1_2 1 Tf -2.873 0 Td -(set)Tj -/T1_1 1 Tf --30.61 -1.25 Td -(contains the signals that we want to unblock.)Tj -/TT2 1 Tf --8.1 -1.875 Td -(SIG_SETMASK)Tj -/T1_1 1 Tf -8.1 0 Td -[(The new signal mask for the pr)18(ocess is r)18(eplaced by the value of the signal)]TJ -T* -(set pointed to by)Tj -/T1_2 1 Tf -7.646 0 Td -(set)Tj -/T1_1 1 Tf -(.)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1550.25 3463.25 cm -0 0 m -3392 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2178.25 3463.25 cm -0 0 m -0 1060 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4942.25 3463.25 cm -0 0 m -0 1060 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1550.25 3463.25 cm -0 0 m -0 1060 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 191.5265 328.1815 Tm -(Figure 10.13)Tj -/T1_1 1 Tf --0.092 Tc 6.195 0 Td -(Wa)Tj -0 Tc 1.408 0 Td -[(ys to change the curr)18(ent signal mask using)]TJ -/TT2 1 Tf -19.051 0 Td -(sigprocmask)Tj -/T1_1 1 Tf -9.997 0 0 9.997 147.556 301.7894 Tm -(If)Tj -/T1_2 1 Tf -1.072 0 Td -(set)Tj -/T1_1 1 Tf -1.513 0 Td -[(is )-152(a )-152(null )-152(pointer)]TJ -0.4023 Tc 7.335 0 Td -(,t)Tj -0 Tc 0.978 0 Td -[(he )-152(signal )-152(mask )-152(of )-152(the )-152(pr)18(ocess )-152(is )-152(not )-152(changed, )-152(and)]TJ -/T1_2 1 Tf -23.518 0 Td -(how)Tj -/T1_1 1 Tf -2.068 0 Td -(is)Tj --38.285 -1.2 Td -[(ignor)18(ed.)]TJ -1.8 -1.2 Td -[(After )-121(calling)]TJ -/TT2 1 Tf -6.007 0 Td -(sigprocmask)Tj -/T1_1 1 Tf -[(,)-371(if)-371(a)1(ny )-121(unblocked )-121(signals )-121(ar)]TJ -0.3708 Tc 19.576 0 Td -(ep)Tj -0 Tc 1.451 0 Td -[(ending, )-121(at )-121(least )-121(one )-121(of)]TJ --28.834 -1.2 Td -[(these signals is deliver)18(ed to the pr)18(ocess befor)18(e)]TJ -/TT2 1 Tf -20.577 0 Td -(sigprocmask)Tj -/T1_1 1 Tf --0.018 Tc 6.85 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns.)Tj -7.9976 0 0 7.9976 183.5447 245.8062 Tm -(The)Tj -/TT2 1 Tf -1.936 0 Td -(sigprocmask)Tj -/T1_1 1 Tf -6.862 0 Td -[(function )-12(is )-12(de\336ned )-12(only )-12(for )-12(single-thr)19(eaded )-12(pr)18(ocesses. )-262(A)-261(separate )-12(function)]TJ --8.798 -1.25 Td -[(is )-5(pr)18(ovided )-5(to )-5(manipulate )-5(a )-5(thr)18(ead\325s )-5(signal )-5(mask )-5(in )-5(a )-5(multithr)16(eaded )-5(pr)18(ocess. )-255(W)92(e\325ll )-5(discuss )-5(this)]TJ -T* -(in Section 12.8.)Tj -/TT0 1 Tf -9.997 0 0 9.997 93.5714 192.2223 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.299 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.278 0 Td -[(0.14 )-49(shows )-49(a )-49(function )-49(that )-49(prints )-49(the )-49(names )-49(of )-49(the )-49(signals )-49(in )-49(the )-49(signal )-49(mask )-49(of)]TJ --3.661 -1.2 Td -[(the )-47(calling )-47(pr)17(ocess. )-297(W)]TJ -0.2975 Tc 9.938 0 Td -(ec)Tj -0 Tc 1.221 0 Td -[(all )-48(this )-48(function )-48(fr)18(om )-48(the )-48(pr)18(ograms )-48(shown )-48(in )-48(Figur)]TJ -0.2976 Tc 22.825 0 Td -(e1)Tj -0 Tc 1.277 0 Td -[(0.20 )-48(and)]TJ --35.259 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(0.22.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47014 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(344)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(10.11 )-220(Signal)-556(Sets)]TJ -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(We )-216(n)]TJ -0 Tc 2.251 0 Td -[(eed )-32(a )-32(data )-32(type )-32(to )-32(r)16(epr)18(esent )-32(multiple )-32(signals)]TJ -0.0833 Tc 19.857 0 Td -(\321a)Tj -/T1_2 1 Tf -0 Tc 1.866 0 Td -[(signal )-32(set)]TJ -/T1_1 1 Tf -0.5324 Tc (.W)Tj -0 Tc 5.529 0 Td -[(e\325ll )-32(use )-32(this )-32(data )-32(type)]TJ --29.503 -1.2 Td -[(with )-25(such )-25(functions )-25(as)]TJ -/TT1 1 Tf -10.24 0 Td -(sigprocmask)Tj -/T1_1 1 Tf -6.875 0 Td -[(\(in )-25(the )-25(next )-25(section\) )-25(to )-25(tell )-25(the )-25(kernel )-25(not )-25(to )-25(allow)]TJ --17.115 -1.2 Td -[(any )-60(of )-60(the )-60(signals )-60(in )-60(the )-60(set )-60(to )-60(occur)]TJ -0.5597 Tc 16.169 0 Td -(.A)Tj -0 Tc 1.588 0 Td -[(s)-310(we)-310(m)1(entioned )-60(earlier)]TJ -0.3097 Tc 10.201 0 Td -(,t)Tj -0 Tc 0.886 0 Td -[(he )-60(number )-60(of )-60(dif)19(fer)18(ent)]TJ --28.843 -1.2 Td -[(signals )-17(can )-17(exceed )-17(the )-17(number )-17(of )-17(bits )-17(in )-17(an )-17(integer)]TJ -0.2671 Tc 22.35 0 Td -(,s)Tj -0 Tc 0.941 0 Td -[(o)-267(in)-267(general )-17(we )-17(can\325t )-17(use )-17(an )-17(integer)]TJ --23.291 -1.2 Td -[(to )-27(r)18(epr)18(esent )-27(the )-27(set )-27(with )-27(one )-27(bit )-27(per )-27(signal.)-527(POSIX.1 )-27(de\336nes )-27(the )-27(data )-27(type)]TJ -/TT1 1 Tf -33.051 0 Td -(sigset_t)Tj -/T1_1 1 Tf -5.077 0 Td -(to)Tj --38.128 -1.2 Td -(contain a signal set and the following \336ve functions to manipulate si\ gnal sets.)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5904 565.866 Tm -(#include )Tj -0 -2.021 TD -(int sigemptyset\(sigset_t *)Tj -/T1_2 1 Tf -(set)Tj -/TT1 1 Tf -(\);)Tj --0 -2.021 Td -(int sigfillset\(sigset_t *)Tj -/T1_2 1 Tf -(set)Tj -/TT1 1 Tf -(\);)Tj --0 -2.021 Td -(int sigaddset\(sigset_t *)Tj -/T1_2 1 Tf -(set)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 17.311 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(signo)Tj -/TT1 1 Tf -(\);)Tj --19.111 -2.021 Td -(int sigdelset\(sigset_t *)Tj -/T1_2 1 Tf -(set)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 17.311 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(signo)Tj -/TT1 1 Tf -(\);)Tj -/T1_1 1 Tf -4.718 -2.021 Td -[(All four r)18(eturn: 0 if OK,)]TJ -/TT2 1 Tf -10.635 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT1 1 Tf --34.464 -2.021 Td -(int sigismember\(const sigset_t *)Tj -/T1_2 1 Tf -(set)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 22.111 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(signo)Tj -/TT1 1 Tf -(\);)Tj -/T1_1 1 Tf --1.494 -2.021 Td -[(Returns: 1 if tr)8(ue, 0 if false,)]TJ -/TT2 1 Tf -12.047 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4340.25 cm -0 0 m -0 1409 l -3900 1409 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 418.1198 Tm -[(The )-44(function)]TJ -/TT1 1 Tf -5.968 0 Td -(sigemptyset)Tj -/T1_1 1 Tf -6.894 0 Td -[(initializes )-44(the )-44(signal )-44(set )-44(pointed )-44(to )-44(by)]TJ -/T1_2 1 Tf -16.999 0 Td -(set)Tj -/T1_1 1 Tf -1.405 0 Td -[(so )-44(that )-44(all )-44(signals)]TJ --31.265 -1.2 Td -(ar)Tj -0.3071 Tc 0.877 0 Td -(ee)Tj -0 Tc 1.265 0 Td -[(xcluded. )-307(The)-307(function)]TJ -/TT1 1 Tf -10.357 0 Td -(sigfillset)Tj -/T1_1 1 Tf -6.307 0 Td -[(initializes )-57(the )-57(signal )-57(set )-57(so )-57(that )-57(all )-57(signals )-57(ar)16(e)]TJ --18.806 -1.2 Td -[(included. )-354(All)-353(applications )-104(have )-104(to )-104(call )-104(either)]TJ -/TT1 1 Tf -20.72 0 Td -(sigemptyset)Tj -/T1_1 1 Tf -6.954 0 Td -(or)Tj -/TT1 1 Tf -1.294 0 Td -(sigfillset)Tj -/T1_1 1 Tf -6.354 0 Td -[(once )-103(for)]TJ --35.322 -1.2 Td -[(each )-266(signal )-266(set, )-266(befor)]TJ -0.5158 Tc 9.963 0 Td -(eu)Tj -0 Tc 1.598 0 Td -[(sing )-266(the )-266(signal )-266(set, )-266(because )-266(we )-266(cannot )-266(assume )-266(that )-266(the )-266(C)]TJ --11.561 -1.2 Td -[(initialization )-91(for )-91(external )-91(and )-91(static )-91(variables)]TJ -20.5 0.04 Td -(\()Tj -0.333 -0.04 Td -(0)Tj -0.5 0.04 Td -(\))Tj -0.674 -0.04 Td -[(corr)18(esponds )-91(to )-91(the )-91(implementation )-91(of)]TJ --22.008 -1.2 Td -(signal sets on a given system.)Tj -1.8 -1.2 Td -[(Once )-74(we )-74(have )-74(initialized )-74(a )-74(signal )-74(set, )-74(we )-74(can )-74(add )-74(and )-74(delete )-74(speci\336c )-74(signals )-74(in )-74(the)]TJ --1.8 -1.2 Td -[(set. )-353(The)-353(function)]TJ -/TT1 1 Tf -8.168 0 Td -(sigaddset)Tj -/T1_1 1 Tf -5.753 0 Td -[(adds )-103(a )-103(single )-103(signal )-103(to )-103(an )-103(existing )-103(set, )-103(and)]TJ -/TT1 1 Tf -19.679 0 Td -(sigdelset)Tj -/T1_1 1 Tf --0.018 Tc -33.6 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(moves )-198(a )-198(single )-198(signal )-198(fr)18(om )-198(a )-198(set.)-698(In )-198(all )-198(the )-198(functions )-198(that )-198(take )-198(a )-198(signal )-198(set )-198(as )-198(an)]TJ --0.856 -1.2 Td -[(ar)18(gument, we always pass the addr)18(ess of the signal set as the ar)18(gument.)]TJ -/TT0 1 Tf --3.6 -2.76 Td -(Implementation)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(If )-219(the )-219(implementation )-219(has )-219(fewer )-219(signals )-219(than )-219(bits )-219(in )-219(an )-219(integer)]TJ -0.469 Tc 29.474 0 Td -(,as)Tj -0 Tc 2.112 0 Td -[(ignal )-219(set )-219(can )-219(be)]TJ --31.586 -1.2 Td -[(implemented )-21(using )-21(one )-21(bit )-21(per )-21(signal.)-521(For )-21(the )-21(r)21(emainder )-21(of )-21(this )-21(section, )-21(assume )-21(that )-21(an)]TJ -0 -1.2 TD -[(implementation )-133(has )-133(31 )-133(signals )-133(and )-133(32)]TJ -17.242 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-133(integers.)-633(The)]TJ -/TT1 1 Tf -8.025 0 Td -(sigemptyset)Tj -/T1_1 1 Tf -6.983 0 Td -[(function )-133(zer)18(os)]TJ --32.584 -1.2 Td -[(the )-13(integer)]TJ -0.2629 Tc 4.684 0 Td -(,a)Tj -0 Tc 1.013 0 Td -[(nd )-13(the)]TJ -/TT1 1 Tf -3.106 0 Td -(sigfillset)Tj -/T1_1 1 Tf -6.263 0 Td -[(function )-13(turns )-13(on )-13(all )-13(the )-13(bits )-13(in )-13(the )-13(integer)]TJ -0.513 Tc 18.625 0 Td -(.T)Tj -0 Tc 1.376 0 Td -[(hese )-13(two)]TJ --35.067 -1.2 Td -[(functions can be implemented as macr)18(os in the)]TJ -/TT1 1 Tf -20.952 0 Td -()Tj -/T1_1 1 Tf -6.25 0 Td -(header:)Tj -/TT1 1 Tf -8.9989 0 0 8.9989 147.5833 191.7072 Tm -[(#define sigemptyset\(ptr\))-1200(\(*\(ptr\) = 0\))]TJ -0 -1.189 TD -[(#define sigfillset\(ptr\))-1800(\(*\(ptr\) = \367\(sigset_t\)0, 0\))]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5854 160.8711 Tm -[(Note )-47(that)]TJ -/TT1 1 Tf -4.51 0 Td -(sigfillset)Tj -/T1_1 1 Tf -6.297 0 Td -[(must )-47(r)18(eturn )-47(0, )-47(in )-47(addition )-47(to )-47(setting )-47(all )-47(the )-47(bits )-47(on )-47(in )-47(the )-47(signal)]TJ --10.808 -1.2 Td -[(set, )-175(so )-175(we )-175(use )-175(C\325s )-175(comma )-175(operator)]TJ -0.4247 Tc 16.197 0 Td -(,w)Tj -0 Tc 1.509 0 Td -[(hich )-175(r)18(eturns )-175(the )-175(value )-175(after )-175(the )-175(comma )-175(as )-175(the)]TJ --17.705 -1.2 Td -[(value of the expr)18(ession.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47015 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(338)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Also )-97(understand )-97(that )-97(the )-97(test )-97(for )-97(pr)18(ocess )-97(existence )-97(is )-97(not )-97(atomic.)-596(By )-97(the )-97(time )-97(that)]TJ -/TT0 1 Tf --1.8 -1.2 Td -(kill)Tj -/T1_1 1 Tf --0.018 Tc 2.703 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-53(the )-53(answer )-53(to )-53(the )-53(caller)]TJ -0.3026 Tc 13.029 0 Td -(,t)Tj -0 Tc 0.879 0 Td -[(he )-53(pr)18(ocess )-53(in )-53(question )-53(might )-53(have )-53(exited, )-53(so )-53(the)]TJ --17.466 -1.2 Td -(answer is of limited value.)Tj -1.8 -1.2 Td -[(If )-15(the )-15(call )-15(to)]TJ -/TT0 1 Tf -5.517 0 Td -(kill)Tj -/T1_1 1 Tf -2.666 0 Td -[(causes )-15(the )-15(signal )-15(to )-15(be )-15(generated )-15(for )-15(the )-15(calling )-15(pr)14(ocess )-16(and )-16(if )-16(the)]TJ --9.983 -1.2 Td -[(signal )-56(is )-56(not )-56(blocked, )-56(either)]TJ -/T1_2 1 Tf -12.625 0 Td -(signo)Tj -/T1_1 1 Tf -2.473 0 Td -[(or )-56(some )-56(other )-56(pending, )-56(unblocked )-56(signal )-56(is )-56(deliver)18(ed)]TJ --15.098 -1.2 Td -[(to )-240(the )-240(pr)18(ocess )-240(befor)17(e)]TJ -/TT0 1 Tf -10.282 0 Td -(kill)Tj -/T1_1 1 Tf --0.018 Tc 2.89 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns. )-490(\(Additional)-491(conditions )-240(occur )-240(with )-240(thr)18(eads; )-240(see)]TJ --14.029 -1.2 Td -(Section 12.8 for mor)Tj -0.25 Tc 8.773 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(nformation.\))Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.595 563.3662 Tm -(10.10)Tj -/TT2 1 Tf -3 0 Td -(alarm)Tj -/TT1 1 Tf -3.556 0 Td -(and)Tj -/TT2 1 Tf -2.334 0 Td -(pause)Tj -/TT1 1 Tf -3.556 0 Td -(Functions)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5924 541.7675 Tm -(The)Tj -/TT0 1 Tf -2.03 0 Td -(alarm)Tj -/T1_1 1 Tf -3.356 0 Td -[(function )-106(allows )-106(us )-106(to )-106(set )-106(a )-106(timer )-106(that )-106(will )-106(expir)20(e)-356(at)-356(a)-356(s)1(peci\336ed )-106(time )-106(in )-106(the)]TJ --5.386 -1.2 Td -[(futur)18(e. )-286(When)-286(the )-36(timer )-36(expir)18(es, )-36(the)]TJ -/TT0 1 Tf -16.146 0 Td -(SIGALRM)Tj -/T1_1 1 Tf -4.486 0 Td -[(signal )-36(is )-36(generated.)-536(If )-36(we )-36(ignor)17(e)-286(or)-286(d)-1(on\325t)]TJ --20.632 -1.2 Td -[(catch this signal, its default action is to terminate the pr)18(ocess.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5907 498.6701 Tm -(#include )Tj -0 -1.902 TD -(unsigned int alarm\(unsigned int)Tj -/T1_2 1 Tf -19.2 0 Td -(seconds)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --5.793 -1.902 Td -[(Returns: 0 or number of seconds until pr)18(eviously set alarm)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4599.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 444.0067 Tm -(The)Tj -/T1_2 1 Tf -2.007 0 Td -(seconds)Tj -/T1_1 1 Tf -3.407 0 Td -[(value )-83(is )-83(the )-83(number )-83(of )-83(clock )-83(seconds )-83(in )-83(the )-83(futur)]TJ -0.3334 Tc 22.208 0 Td -(ew)Tj -0 Tc 1.646 0 Td -[(hen )-83(the )-83(signal )-83(should)]TJ --29.269 -1.2 Td -[(be )-129(generated.)-630(When )-129(that )-129(time )-129(occurs, )-129(the )-129(signal )-129(is )-129(generated )-129(by )-129(the )-129(kernel, )-129(although)]TJ -0 -1.2 TD -[(additional )-305(time )-305(could )-305(elapse )-305(befor)]TJ -0.5549 Tc 16.305 0 Td -(et)Tj -0 Tc 1.36 0 Td -[(he )-305(pr)18(ocess )-305(gets )-305(contr)18(ol )-305(to )-305(handle )-305(the )-305(signal,)]TJ --17.665 -1.2 Td -[(because of pr)18(ocessor scheduling delays.)]TJ -7.999 0 0 7.999 183.5775 388.0134 Tm -[(Earlier )-5(UNIX )-5(System )-5(implementations )-5(warned )-5(that )-5(the )-5(signal )-5(could )-5(also )-5(be )-5(sent )-5(up )-5(to )-5(1 )-5(second)]TJ -0 -1.25 TD -(early)Tj -0.5 Tc 2.11 0 Td -(.P)Tj -0 Tc 1.354 0 Td -[(OSIX.1 does not allow this behavior)74(.)]TJ -9.9988 0 0 9.9988 147.5818 357.0172 Tm -[(Ther)18(e)-445(is)-445(only )-195(one )-195(of )-195(these )-195(alarm )-195(clocks )-195(per )-195(pr)19(ocess. )-445(If,)-445(when )-195(we )-195(call)]TJ -/TT0 1 Tf -33.005 0 Td -(alarm)Tj -/T1_1 1 Tf -0.4449 Tc (,a)Tj -0 Tc -34.805 -1.2 Td -[(pr)18(eviously )-163(r)18(egister)18(ed )-163(alarm )-163(clock )-163(for )-163(the )-163(pr)18(ocess )-163(has )-163(not )-163(yet )-163(expir)14(ed, )-164(the )-164(number )-164(of)]TJ -0 -1.2 Td -[(seconds )-333(left )-333(for )-333(that )-333(alarm )-333(clock )-333(is )-333(r)20(eturned )-333(as )-333(the )-333(value )-333(of )-333(this )-333(function.)-830(That)]TJ -0 -1.2 TD -[(pr)18(eviously r)18(egister)18(ed alarm clock is r)18(eplaced by the new value.)]TJ -1.8 -1.2 Td -[(If )-64(a )-64(pr)18(eviously )-64(r)17(egister)18(ed )-64(alarm )-64(clock )-64(for )-64(the )-64(pr)18(ocess )-64(has )-64(not )-64(yet )-64(expir)18(ed )-64(and )-64(if )-64(the)]TJ -/T1_2 1 Tf --1.8 -1.2 Td -(seconds)Tj -/T1_1 1 Tf -3.38 0 Td -[(value )-56(is )-56(0, )-56(the )-56(pr)18(evious )-56(alarm )-56(clock )-56(is )-56(canceled.)-559(The )-56(number )-56(of )-56(seconds )-56(left )-56(for)]TJ --3.38 -1.2 Td -[(that pr)18(evious alarm clock is still r)18(eturned as the value of the function.)]TJ -1.8 -1.2 Td -[(Although )-7(the )-7(default )-7(action )-7(for)]TJ -/TT0 1 Tf -14.043 0 Td -(SIGALRM)Tj -/T1_1 1 Tf -4.457 0 Td -[(is )-7(to )-7(terminate )-7(the )-7(pr)18(ocess, )-7(most )-7(pr)17(ocesses)]TJ --20.3 -1.2 Td -[(that )-78(use )-78(an )-78(alarm )-78(clock )-78(catch )-78(this )-78(signal.)-580(If )-78(the )-78(pr)18(ocess )-78(then )-78(wants )-78(to )-78(terminate, )-78(it )-78(can)]TJ -T* -[(perform )-360(whatever )-360(cleanup )-360(is )-360(r)16(equir)18(ed )-360(befor)]TJ -0.6105 Tc 21.125 0 Td -(et)Tj -0 Tc 1.416 0 Td -[(erminating. )-611(If)-610(we )-361(intend )-361(to )-361(catch)]TJ -/TT0 1 Tf --22.54 -1.2 Td -(SIGALRM)Tj -/T1_1 1 Tf -[(,)-283(we)-283(need )-33(to )-33(be )-33(car)18(eful )-33(to )-33(install )-33(its )-33(signal )-33(handler )-33(befor)]TJ -0.2832 Tc 28.95 0 Td -(ec)Tj -0 Tc 1.206 0 Td -(alling)Tj -/TT0 1 Tf -2.794 0 Td -(alarm)Tj -/T1_1 1 Tf -0.5332 Tc (.I)Tj -0.2832 Tc 4.12 0 Td -(fw)Tj -0 Tc 1.45 0 Td -(e)Tj --38.521 -1.2 Td -(call)Tj -/TT0 1 Tf -1.966 0 Td -(alarm)Tj -/T1_1 1 Tf -3.44 0 Td -[(\336rst )-190(and )-190(ar)]TJ -0.4401 Tc 5.2 0 Td -(es)Tj -0 Tc 1.343 0 Td -(ent)Tj -/TT0 1 Tf -1.827 0 Td -(SIGALRM)Tj -/T1_1 1 Tf -4.64 0 Td -(befor)Tj -0.4401 Tc 2.288 0 Td -(ew)Tj -0.4402 Tc 1.753 0 Td -(ec)Tj -0 Tc 1.363 0 Td -[(an )-190(install )-190(the )-190(signal )-190(handler)]TJ -0.4402 Tc 12.945 0 Td -(,o)Tj -0 Tc 1.236 0 Td -(ur)Tj --38.002 -1.2 Td -[(pr)18(ocess will terminate.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(pause)Tj -/T1_1 1 Tf -3.25 0 Td -[(function suspends the calling pr)18(ocess until a signal is caught.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5824 181.9382 Tm -(#include )Tj -0 -1.902 TD -(int pause\(void\);)Tj -/T1_1 1 Tf -22.923 -1.902 Td -(Returns:)Tj -/TT3 1 Tf -3.977 0 Td -(!)Tj -/T1_1 1 Tf -0.25 Tc (1w)Tj -0 Tc 2.133 0 Td -(ith)Tj -/TT0 1 Tf -1.449 0 Td -(errno)Tj -/T1_1 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(EINTR)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1432.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47016 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(336)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(What )-125(happens )-125(if )-125(a )-125(blocked )-125(signal )-125(is )-125(generated )-125(mor)]TJ -0.3752 Tc 23.355 0 Td -(et)Tj -0 Tc 1.18 0 Td -[(han )-125(once )-125(befor)]TJ -0.3753 Tc 6.754 0 Td -(et)Tj -0 Tc 1.18 0 Td -[(he )-125(pr)18(ocess)]TJ --34.269 -1.2 Td -[(unblocks )-187(the )-187(signal?)-688(POSIX.1 )-187(allows )-187(the )-187(system )-187(to )-187(deliver )-187(the )-187(signal )-187(either )-187(once )-187(or)]TJ -0 -1.2 TD -(mor)Tj -0.4646 Tc 1.806 0 Td -(et)Tj -0 Tc 1.27 0 Td -[(han )-215(once.)-715(If )-215(the )-215(system )-215(delivers )-215(the )-215(signal )-215(mor)]TJ -0.4646 Tc 22.453 0 Td -(et)Tj -0 Tc 1.27 0 Td -[(han )-215(once, )-215(we )-215(say )-215(that )-215(the)]TJ --26.798 -1.2 Td -[(signals )-170(ar)]TJ -0.4197 Tc 4.365 0 Td -(eq)Tj -0 Tc 1.459 0 Td -[(ueued. )-420(Most)-419(UNIX )-170(systems, )-170(however)]TJ -0.4197 Tc 17.381 0 Td -(,d)Tj -0 Tc 1.281 0 Td -(o)Tj -/T1_2 1 Tf -0.966 0 Td -(not)Tj -/T1_1 1 Tf -1.753 0 Td -[(queue )-170(signals )-170(unless )-170(they)]TJ --27.203 -1.2 Td -[(support )-77(the )-77(r)18(eal-time )-77(extensions )-77(to )-77(POSIX.1.)-577(Instead, )-77(the )-77(UNIX )-77(kernel )-77(simply )-77(delivers)]TJ -T* -(the signal once.)Tj --0.055 Tc 7.9995 0 0 7.9995 183.5897 588.9647 Tm -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-28(SUSv4, )-28(the )-28(r)18(eal-time )-28(signal )-28(functionality )-28(moved )-28(fr)18(om )-28(the )-28(r)18(eal-time )-28(extensions )-28(to )-28(the )-28(base)]TJ --1.236 -1.25 Td -[(speci\336cation. )-297(As)-297(time )-47(goes )-47(on, )-47(mor)]TJ -0.2974 Tc 15.89 0 Td -(es)Tj -0 Tc 1.2 0 Td -[(ystems )-47(will )-47(support )-47(queueing )-47(signals )-47(even )-47(if )-47(they )-47(don\325t)]TJ --17.09 -1.25 Td -[(support the r)18(eal-time extensions.)]TJ --0.092 Tc 14.991 0 Td -[(We )-184(d)]TJ -0 Tc 2.248 0 Td -(iscuss queueing signals further in Section 10.20.)Tj --17.239 -2.25 Td -[(The )-6(manual )-6(pages )-6(for )-6(SVR2 )-6(claimed )-6(that )-6(the)]TJ -/TT0 1 Tf -19.952 0 Td -(SIGCLD)Tj -/T1_1 1 Tf -3.856 0 Td -[(signal )-6(was )-6(queued )-6(while )-6(the )-6(pr)18(ocess )-6(was)]TJ --23.808 -1.25 Td -[(executing )-180(its)]TJ -/TT0 1 Tf -6.177 0 Td -(SIGCLD)Tj -/T1_1 1 Tf -4.03 0 Td -[(signal )-180(handler)]TJ -0.68 Tc 6.44 0 Td -(.A)Tj -0 Tc 1.708 0 Td -[(lthough )-180(this )-180(might )-180(have )-180(been )-180(tr)8(ue )-180(on )-180(a )-180(conceptual)]TJ --18.355 -1.25 Td -[(level, )-202(the )-202(actual )-202(implementation )-202(was )-202(dif)17(fer)18(ent. )-452(Instead,)-452(the )-202(signal )-202(was )-202(r)18(egenerated )-202(by )-202(the)]TJ -0 -1.25 Td -[(kernel )-64(as )-64(we )-64(described )-64(in )-64(Section )-64(10.7.)-561(In )-64(SVR3, )-64(the )-64(manual )-64(was )-64(changed )-64(to )-64(indicate )-64(that )-64(the)]TJ -/TT0 1 Tf -0 -1.25 TD -(SIGCLD)Tj -/T1_1 1 Tf -3.994 0 Td -[(signal )-143(was )-143(ignor)18(ed )-143(while )-143(the )-143(pr)18(ocess )-143(was )-143(executing )-143(its )-143(signal )-143(handler )-143(for)]TJ -/TT0 1 Tf -34.157 0 Td -(SIGCLD)Tj -/T1_1 1 Tf -(.)Tj --38.15 -1.25 Td -[(The )-347(SVR4 )-347(manual )-347(r)18(emoved )-347(any )-347(mention )-347(of )-347(what )-347(happens )-347(to)]TJ -/TT0 1 Tf -30.45 0 Td -(SIGCLD)Tj -/T1_1 1 Tf -4.197 0 Td -[(signals )-347(that )-347(ar)17(e)]TJ --34.647 -1.25 Td -[(generated while a pr)18(ocess is executing its)]TJ -/TT0 1 Tf -18.461 0 Td -(SIGCLD)Tj -/T1_1 1 Tf -3.85 0 Td -[(signal handler)74(.)]TJ --22.311 -2.25 Td -[(The )-209(SVR4)]TJ -/TT0 1 Tf -5.007 0 Td -(sigaction)Tj -/T1_1 1 Tf -5.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.792 -0.04 Td -[(manual )-209(page )-209(in )-209(A)74(T&T )-209([1990e] )-209(claims )-209(that )-209(the)]TJ -/TT0 1 Tf -21.846 0 Td -(SA_SIGINFO)Tj -/T1_1 1 Tf -6.459 0 Td -(\337ag)Tj --40.336 -1.25 Td -(\(Figur)Tj -0.4025 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.381 0 Td -[(0.16\) )-152(causes )-152(signals )-152(to )-152(be )-152(r)18(eliably )-152(queued.)-652(This )-152(is )-152(wr)14(ong. )-403(Appar)18(ently)]TJ -0.4026 Tc 32.127 0 Td -(,t)Tj -0 Tc 0.979 0 Td -[(his )-153(featur)18(e)]TJ --37.203 -1.25 Td -[(was )-162(partially )-162(implemented )-162(within )-162(the )-162(kernel, )-162(but )-162(it )-162(is )-162(not )-162(enabled )-162(in )-162(SVR4.)-660(Curiously)]TJ -0.4118 Tc 39.951 0 Td -(,t)Tj -0 Tc 0.988 0 Td -(he)Tj --40.939 -1.25 Td -[(SVID didn\325t make the same claims of r)18(eliable queuing.)]TJ -9.9994 0 0 9.9994 147.591 420.9747 Tm -[(What )-281(happens )-281(if )-281(mor)]TJ -0.5312 Tc 10.201 0 Td -(et)Tj -0 Tc 1.336 0 Td -[(han )-281(one )-281(signal )-281(is )-281(r)18(eady )-281(to )-281(be )-281(deliver)17(ed )-281(to )-281(a )-281(pr)17(ocess?)]TJ --13.337 -1.2 Td -[(POSIX.1 )-142(does )-142(not )-142(specify )-142(the )-142(or)17(der )-142(in )-142(which )-142(the )-142(signals )-142(ar)]TJ -0.3921 Tc 26.966 0 Td -(ed)Tj -0 Tc 1.482 0 Td -[(eliver)18(ed )-142(to )-142(the )-142(pr)18(ocess.)]TJ --28.448 -1.2 Td -[(The )-178(Rationale )-178(for )-178(POSIX.1 )-178(does )-178(suggest, )-178(however)]TJ -0.428 Tc 22.852 0 Td -(,t)Tj -0 Tc 1.004 0 Td -[(hat )-178(signals )-178(r)18(elated )-178(to )-178(the )-178(curr)18(ent)]TJ --23.856 -1.2 Td -[(state of the pr)18(ocess be deliver)18(ed befor)]TJ -0.25 Tc 16.619 0 Td -(eo)Tj -0 Tc 1.275 0 Td -[(ther signals.)-500(\()]TJ -/TT0 1 Tf -(SIGSEGV)Tj -/T1_1 1 Tf -10.633 0 Td -(is one such signal.\))Tj --26.727 -1.2 Td -[(Each )-44(pr)18(ocess )-44(has )-44(a)]TJ -/T1_2 1 Tf -8.613 0 Td -[(signal )-44(mask)]TJ -/T1_1 1 Tf -5.088 0 Td -[(that )-44(de\336nes )-44(the )-44(set )-44(of )-44(signals )-44(curr)19(ently )-44(blocked )-44(fr)19(om)]TJ --15.501 -1.2 Td -[(delivery )-72(to )-72(that )-72(pr)18(ocess. )-322(W)]TJ -0.322 Tc 12.264 0 Td -(ec)Tj -0 Tc 1.245 0 Td -[(an )-72(think )-72(of )-72(this )-72(mask )-72(as )-72(having )-72(one )-72(bit )-72(for )-72(each )-72(possible)]TJ --13.509 -1.2 Td -[(signal. )-289(If)-290(the )-39(bit )-39(is )-39(on )-39(for )-39(a )-39(given )-39(signal, )-39(that )-39(signal )-39(is )-39(curr)18(ently )-39(blocked.)]TJ -0.2894 Tc 32.822 0 Td -(Ap)Tj --0.018 Tc 1.668 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-39(can)]TJ --35.414 -1.2 Td -[(examine )-315(and )-315(change )-315(its )-315(curr)16(ent )-315(signal )-315(mask )-315(by )-315(calling)]TJ -/TT0 1 Tf -26.973 0 Td -(sigprocmask)Tj -/T1_1 1 Tf -0.5655 Tc (,w)Tj -0 Tc 8.249 0 Td -[(hich )-315(we)]TJ --35.223 -1.2 Td -(describe in Section 10.12.)Tj -1.8 -1.2 Td -[(Since )-165(it )-165(is )-165(possible )-165(for )-165(the )-165(number )-165(of )-165(signals )-165(to )-165(exceed )-165(the )-165(number )-165(of )-165(bits )-165(in )-165(an)]TJ --1.8 -1.2 Td -(integer)Tj -0.4718 Tc 3.034 0 Td -(,P)Tj -0 Tc 1.326 0 Td -[(OSIX.1 )-222(de\336nes )-222(a )-222(data )-222(type, )-222(called)]TJ -/TT0 1 Tf -16.341 0 Td -(sigset_t)Tj -/T1_1 1 Tf -0.4719 Tc (,t)Tj -0 Tc 5.848 0 Td -[(hat )-222(holds )-222(a)]TJ -/T1_2 1 Tf -5.778 0 Td -[(signal )-222(set)]TJ -/T1_1 1 Tf -0.7219 Tc (.T)Tj -0 Tc 5.613 0 Td -(he)Tj --37.939 -1.2 Td -[(signal )-310(mask, )-310(for )-310(example, )-310(is )-310(stor)18(ed )-310(in )-310(one )-310(of )-310(these )-310(signal )-310(sets.)]TJ --0.092 Tc 31.169 0 Td -[(We )-494(d)]TJ -0 Tc 2.558 0 Td -[(escribe )-309(\336ve)]TJ --33.727 -1.2 Td -[(functions that operate on signal sets in Section 10.1)55(1.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5946 240.9855 Tm -(10.9)Tj -/TT2 1 Tf -3 0 Td -(kill)Tj -/TT1 1 Tf -2.956 0 Td -(and)Tj -/TT2 1 Tf -2.334 0 Td -(raise)Tj -/TT1 1 Tf -3.556 0 Td -(Functions)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.592 216.987 Tm -(The)Tj -/TT0 1 Tf -2.108 0 Td -(kill)Tj -/T1_1 1 Tf -2.834 0 Td -[(function )-184(sends )-184(a )-184(signal )-184(to )-184(a )-184(pr)18(ocess )-184(or )-184(a )-184(gr)18(oup )-184(of )-184(pr)16(ocesses. )-434(The)]TJ -/TT0 1 Tf -31.058 0 Td -(raise)Tj -/T1_1 1 Tf --36 -1.2 Td -[(function allows a pr)18(ocess to send a signal to itself.)]TJ -7.9995 0 0 7.9995 183.5888 184.9889 Tm -(The)Tj -/TT0 1 Tf -2.004 0 Td -(raise)Tj -/T1_1 1 Tf -3.33 0 Td -[(function )-80(was )-80(originally )-80(de\336ned )-80(by )-80(ISO )-80(C.)-580(POSIX.1 )-80(includes )-80(it )-80(to )-80(align )-80(itself )-80(with)]TJ --5.334 -1.25 Td -[(the )-82(ISO )-82(C )-82(standar)18(d, )-82(but )-82(POSIX.1 )-82(extends )-82(the )-82(speci\336cation )-82(of)]TJ -/TT0 1 Tf -27.61 0 Td -(raise)Tj -/T1_1 1 Tf -3.332 0 Td -[(to )-82(deal )-82(with )-82(thr)18(eads )-82(\(we)]TJ --30.942 -1.25 Td -[(discuss )-171(how )-171(thr)17(eads )-171(interact )-171(with )-171(signals )-171(in )-171(Section )-171(12.8\).)-671(Since )-171(ISO )-171(C )-171(does )-171(not )-171(deal )-171(with)]TJ -T* -[(multiple )-160(pr)18(ocesses, )-160(it )-160(could )-160(not )-160(de\336ne )-160(a )-160(function, )-160(such )-160(as)]TJ -/TT0 1 Tf -27.069 0 Td -(kill)Tj -/T1_1 1 Tf -0.4101 Tc (,t)Tj -0 Tc 3.386 0 Td -[(hat )-160(r)18(equir)18(es )-160(a )-160(pr)18(ocess )-160(ID)]TJ --30.455 -1.25 Td -[(ar)18(gument.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47017 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.8)]TJ -23.91 0 Td -[(Reliable-Signal )-250(T)92(erminology )-250(and )-250(Semantics)]TJ -/T1_1 1 Tf -21.923 0 Td -(335)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-116(pr)18(oblem )-116(with )-116(this )-116(pr)16(ogram )-116(is )-116(that )-116(the )-116(call )-116(to)]TJ -/TT0 1 Tf -22.817 0 Td -(signal)Tj -/T1_0 1 Tf -3.966 0 Td -[(at )-116(the )-116(beginning )-116(of )-116(the)]TJ --28.583 -1.2 Td -[(signal )-364(handler )-364(invokes )-364(item )-364(2 )-364(fr)16(om )-364(the )-364(pr)18(eceding )-364(discussion)]TJ -0.0833 Tc 29.59 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-364(kernel )-364(checks)]TJ --31 -1.2 Td -[(whether )-164(a )-164(child )-164(needs )-164(to )-164(be)]TJ -/TT0 1 Tf -13.357 0 Td -(wait)Tj -/T1_0 1 Tf -[(ed )-164(for )-164(\(which )-164(is )-164(the )-164(case, )-164(since )-164(we\325r)]TJ -0.4137 Tc 19.113 0 Td -(ep)Tj --0.018 Tc 1.494 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cessing )-164(a)]TJ -/TT0 1 Tf --34.886 -1.2 Td -(SIGCLD)Tj -/T1_0 1 Tf -3.977 0 Td -[(signal\), )-127(so )-127(it )-127(generates )-127(another )-127(call )-127(to )-127(the )-127(signal )-127(handler)]TJ -0.6271 Tc 25.634 0 Td -(.T)Tj -0 Tc 1.49 0 Td -[(he )-127(signal )-127(handler)]TJ --31.101 -1.2 Td -(calls)Tj -/TT0 1 Tf -2.2 0 Td -(signal)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 4.6 0 Td -[(nd the whole pr)18(ocess starts over again.)]TJ --0.092 Tc -5 -1.2 Td -[(To )-241(\336)]TJ -0.3074 Tc 1.979 0 Td -(xt)Tj -0 Tc 1.149 0 Td -[(his )-57(pr)18(ogram, )-57(we )-57(have )-57(to )-57(move )-57(the )-57(call )-57(to)]TJ -/TT0 1 Tf -18.741 0 Td -(signal)Tj -/T1_0 1 Tf -3.908 0 Td -[(after )-57(the )-57(call )-57(to)]TJ -/TT0 1 Tf -7.048 0 Td -(wait)Tj -/T1_0 1 Tf -0.5575 Tc (.B)Tj -0 Tc 3.819 0 Td -(y)Tj --38.444 -1.2 Td -[(doing )-163(this, )-163(we )-163(call)]TJ -/TT0 1 Tf -8.95 0 Td -(signal)Tj -/T1_0 1 Tf -4.013 0 Td -[(after )-163(fetching )-163(the )-163(child\325s )-163(termination )-163(status; )-163(the )-163(signal )-163(is)]TJ --12.963 -1.2 Td -(generated again by the kernel only if some other child has since termina\ ted.)Tj -7.9995 0 0 7.9995 183.5891 561.9663 Tm -[(POSIX.1 )-286(states )-286(that )-286(when )-286(we )-286(establish )-286(a )-286(signal )-286(handler )-286(for)]TJ -/TT0 1 Tf -28.76 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.736 0 Td -[(and )-286(ther)]TJ -0.536 Tc 3.993 0 Td -(ee)Tj -0 Tc 1.494 0 Td -[(xists )-286(a)]TJ --38.983 -1.25 Td -[(terminated )-29(child )-29(we )-29(have )-29(not )-29(yet)]TJ -/TT0 1 Tf -15.019 0 Td -(wait)Tj -/T1_0 1 Tf -[(ed )-29(for)74(,)-279(it)-279(is)-279(unspeci\336ed )-29(whether )-29(the )-29(signal )-29(is )-29(generated.)]TJ --15.019 -1.25 Td -[(This )-182(allows )-182(the )-182(behavior )-182(described )-182(pr)16(eviously)]TJ -0.6825 Tc 21.166 0 Td -(.B)Tj -0 Tc 1.544 0 Td -[(ut )-182(since )-182(POSIX.1 )-182(does )-182(not )-182(r)16(eset )-183(a )-183(signal\325s)]TJ --22.709 -1.25 Td -[(disposition )-239(to )-239(its )-239(default )-239(when )-239(the )-239(signal )-239(occurs )-239(\(assuming )-239(that )-239(we\325r)]TJ -0.489 Tc 32.542 0 Td -(eu)Tj -0 Tc 1.571 0 Td -[(sing )-239(the )-239(POSIX.1)]TJ -/TT0 1 Tf --34.113 -1.25 Td -(sigaction)Tj -/T1_0 1 Tf -5.768 0 Td -[(function )-118(to )-118(set )-118(its )-118(disposition\), )-118(ther)17(e)-368(is)-368(n)]TJ -0.3684 Tc (on)Tj -0 Tc 19.979 0 Td -[(eed )-118(for )-118(us )-118(to )-118(ever )-118(establish )-118(a )-118(signal)]TJ --25.747 -1.25 Td -(handler for)Tj -/TT0 1 Tf -5.214 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.45 0 Td -[(within that handler)74(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5060.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 473.5432 Tm -[(Be )-208(cognizant )-208(of )-208(the)]TJ -/TT0 1 Tf -9.517 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.658 0 Td -[(semantics )-208(for )-208(your )-208(implementation.)-708(Be )-208(especially)]TJ --15.975 -1.2 Td -[(awar)18(e)-289(of)-289(some )-39(systems )-39(that)]TJ -/TT0 1 Tf -12.595 0 Td -[(#define )311(SIGCHLD)]TJ -/T1_0 1 Tf -8.978 0 Td -[(to )-39(be)]TJ -/TT0 1 Tf -2.482 0 Td -(SIGCLD)Tj -/T1_0 1 Tf -[(,)-289(or)-289(v)1(ice )-39(versa.)-538(Changing)]TJ --24.054 -1.2 Td -[(the )-21(name )-21(may )-21(allow )-21(you )-21(to )-21(compile )-21(a )-21(pr)18(ogram )-21(that )-21(was )-21(written )-21(for )-21(another )-21(system, )-21(but)]TJ -0 -1.2 TD -[(if that pr)18(ogram depends on the other semantics, it may not work.)]TJ -7.999 0 0 7.999 183.5783 415.5501 Tm -[(Of )-11(the )-11(four )-11(platforms )-11(described )-11(in )-11(this )-11(text, )-11(only )-11(Linux )-11(3.2.0 )-11(and )-11(Solaris )-11(10 )-11(de\336ne)]TJ -/TT0 1 Tf -36.272 0 Td -(SIGCLD)Tj -/T1_0 1 Tf -0.5106 Tc (.O)Tj -0 Tc 5.147 0 Td -(n)Tj --41.419 -1.25 Td -(these platforms,)Tj -/TT0 1 Tf -7.339 0 Td -(SIGCLD)Tj -/T1_0 1 Tf -3.85 0 Td -(is equivalent to)Tj -/TT0 1 Tf -7.013 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -(.)Tj -/TT1 1 Tf -11.9986 0 0 11.9986 93.5891 361.1567 Tm -[(10.8 )-776(Reliab)10(le-Signal )-278(T)60(erminology )-278(and )-278(Semantics)]TJ -/T1_0 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5847 334.7598 Tm -[(We )-213(n)]TJ -0 Tc 2.248 0 Td -[(eed )-29(to )-29(de\336ne )-29(some )-29(of )-29(the )-29(terms )-29(used )-29(thr)15(oughout )-29(our )-29(discussion )-29(of )-29(signals.)-529(First, )-29(a)]TJ --2.248 -1.2 Td -[(signal )-144(is)]TJ -/T1_2 1 Tf -4.148 0 Td -(generated)Tj -/T1_0 1 Tf -4.283 0 Td -[(for )-144(a )-144(pr)18(ocess )-144(\(or )-144(sent )-144(to )-144(a )-144(pr)16(ocess\) )-144(when )-144(the )-144(event )-144(that )-144(causes )-144(the)]TJ --8.431 -1.2 Td -[(signal )-98(occurs.)-598(The )-98(event )-98(could )-98(be )-98(a )-98(har)21(dwar)]TJ -0.3476 Tc 20.346 0 Td -(ee)Tj -0 Tc 1.306 0 Td -[(xception )-98(\(e.g., )-98(divide )-98(by )-98(0\), )-98(a )-98(softwar)20(e)]TJ --21.652 -1.2 Td -[(condition )-120(\(e.g., )-120(an)]TJ -/TT0 1 Tf -8.528 0 Td -(alarm)Tj -/T1_0 1 Tf -3.37 0 Td -[(timer )-120(expiring\), )-120(a )-120(terminal-generated )-120(signal, )-120(or )-120(a )-120(call )-120(to )-120(the)]TJ -/TT0 1 Tf --11.898 -1.2 Td -(kill)Tj -/T1_0 1 Tf -2.82 0 Td -[(function. )-420(When)-420(the )-170(signal )-170(is )-170(generated, )-170(the )-170(kernel )-170(usually )-170(sets )-170(a )-170(\337ag )-170(of )-170(some)]TJ --2.82 -1.2 Td -[(form in the pr)18(ocess table.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-293(s)]TJ -0 Tc 2.17 0 Td -[(ay )-109(that )-109(a )-109(signal )-109(is)]TJ -/T1_2 1 Tf -8.443 0 Td -[(deliver)18(ed)]TJ -/T1_0 1 Tf -3.953 0 Td -[(to )-109(a )-109(pr)18(ocess )-109(when )-109(the )-109(action )-109(for )-109(a )-109(signal )-109(is )-109(taken.)]TJ --16.366 -1.2 Td -[(During )-36(the )-36(time )-36(between )-36(the )-36(generation )-36(of )-36(a )-36(signal )-36(and )-36(its )-36(delivery)]TJ -0.2857 Tc 29.878 0 Td -(,t)Tj -0 Tc 0.862 0 Td -[(he )-36(signal )-36(is )-36(said )-36(to)]TJ --30.739 -1.2 Td -(be)Tj -/T1_2 1 Tf -1.282 0 Td -(pending)Tj -/T1_0 1 Tf -(.)Tj -0.4534 Tc 0.518 -1.2 Td -(Ap)Tj --0.018 Tc 1.832 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-203(has )-203(the )-203(option )-203(of)]TJ -/T1_2 1 Tf -10.701 0 Td -(blocking)Tj -/T1_0 1 Tf -3.823 0 Td -[(the )-203(delivery )-203(of )-203(a )-203(signal.)-703(If )-203(a )-203(signal )-203(that )-203(is)]TJ --19.08 -1.2 Td -[(blocked )-77(is )-77(generated )-77(for )-77(a )-77(pr)18(ocess, )-77(and )-77(if )-77(the )-77(action )-77(for )-77(that )-77(signal )-77(is )-77(either )-77(the )-77(default)]TJ -T* -[(action )-100(or )-100(to )-100(catch )-100(the )-100(signal, )-100(then )-100(the )-100(signal )-100(r)18(emains )-100(pending )-100(for )-100(the )-100(pr)18(ocess )-100(until )-100(the)]TJ -T* -[(pr)18(ocess )-33(either )-33(\(a\) )-33(unblocks )-33(the )-33(signal )-33(or )-33(\(b\) )-33(changes )-33(the )-33(action )-33(to )-33(ignor)]TJ -0.2831 Tc 31.467 0 Td -(et)Tj -0 Tc 1.088 0 Td -[(he )-33(signal.)-533(The)]TJ --32.555 -1.2 Td -[(system )-101(determines )-101(what )-101(to )-101(do )-101(with )-101(a )-101(blocked )-101(signal )-101(when )-101(the )-101(signal )-101(is )-101(deliver)18(ed, )-101(not)]TJ -T* -[(when )-82(it\325s )-82(generated.)-583(This )-83(allows )-83(the )-83(pr)18(ocess )-83(to )-83(change )-83(the )-83(action )-83(for )-83(the )-83(signal )-83(befor)22(e)]TJ -T* -[(it\325s )-101(deliver)18(ed. )-351(The)]TJ -/TT0 1 Tf -8.728 0 Td -(sigpending)Tj -/T1_0 1 Tf -6.351 0 Td -[(function )-101(\(Section )-101(10.13\) )-101(can )-101(be )-101(called )-101(by )-101(a )-101(pr)18(ocess )-101(to)]TJ --15.079 -1.2 Td -(determine which signals ar)Tj -0.25 Tc 11.953 0 Td -(eb)Tj -0 Tc 1.282 0 Td -(locked and pending.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47018 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(352)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(Normally)Tj -0.25 Tc 4.182 0 Td -(,t)Tj -0 Tc 0.826 0 Td -(he signal handler is called as)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 652.2609 Tm -(void handler\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(signo)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5923 634.2619 Tm -(but if the)Tj -/TT0 1 Tf -4.243 0 Td -(SA_SIGINFO)Tj -/T1_1 1 Tf -6.25 0 Td -(\337ag is set, the signal handler is called as)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 617.5629 Tm -(void handler\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(signo)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.967 0 Td -(iginfo_t *)Tj -/T1_2 1 Tf -(info)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 9.356 0 Td -(oid *)Tj -/T1_2 1 Tf -(context)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 147.591 599.564 Tm -(The)Tj -/TT0 1 Tf -2.018 0 Td -(siginfo)Tj -/T1_1 1 Tf -4.544 0 Td -[(str)8(uctur)]TJ -0.3441 Tc 3.49 0 Td -(ec)Tj -0 Tc 1.267 0 Td -[(ontains )-94(information )-94(about )-94(why )-94(the )-94(signal )-94(was )-94(generated.)]TJ --13.119 -1.2 Td -[(An )-362(example )-362(of )-362(what )-362(it )-362(might )-362(look )-362(like )-362(is )-362(shown )-362(below)]TJ -0.8616 Tc 27.451 0 Td -(.A)Tj -0 Tc 1.89 0 Td -[(ll )-362(POSIX.1-compliant)]TJ --29.341 -1.2 Td -[(implementations )-495(must )-495(include )-495(at )-495(least )-495(the)]TJ -/TT0 1 Tf -21.725 0 Td -(si_signo)Tj -/T1_1 1 Tf -5.545 0 Td -(and)Tj -/TT0 1 Tf -2.438 0 Td -(si_code)Tj -/T1_1 1 Tf -4.945 0 Td -(members.)Tj --34.654 -1.2 Td -(Additionally)Tj -0.4846 Tc 5.563 0 Td -(,i)Tj -0 Tc 1.026 0 Td -[(mplementations )-235(that )-235(ar)]TJ -0.4846 Tc 10.773 0 Td -(eX)Tj -0 Tc 1.631 0 Td -[(SI )-235(compliant )-235(contain )-235(at )-235(least )-235(the )-235(following)]TJ --18.992 -1.2 Td -(\336elds:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 533.7981 Tm -(struct siginfo {)Tj -1.2 -1.189 Td -(int )Tj -7.8 0 Td -[(si_signo;)-1200(/* signal number */)]TJ --7.8 -1.189 Td -(int )Tj -7.8 0 Td -[(si_errno;)-1200(/* if nonzero, errno value from errno.h */)]TJ --7.8 -1.189 Td -(int )Tj -7.8 0 Td -[(si_code;)-1800(/* additional info \(depends on signal\) */)]TJ --7.8 -1.189 Td -[(pid_t )-4200(si_pid;)-2400(/* sending process ID */)]TJ -0 -1.189 TD -[(uid_t )-4200(si_uid;)-2400(/* sending process real user ID */)]TJ -0 -1.189 TD -[(void )-4200(*si_addr;)-1800(/* address that caused the fault */)]TJ -T* -(int )Tj -7.8 0 Td -[(si_status;)-600(/* exit value or signal number */)]TJ --7.8 -1.189 Td -[(union sigval si_value;)-1200(/* application-specific value */)]TJ -T* -(/* possibly other fields also */)Tj --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5921 407.7357 Tm -(The)Tj -/TT0 1 Tf -1.924 0 Td -(sigval)Tj -/T1_1 1 Tf -3.85 0 Td -(union contains the following \336elds:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 158.3904 389.9665 Tm -[(int )-1200(sival_int;)]TJ -T* -(void *sival_ptr;)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5921 360.1984 Tm -[(Applications )-13(pass )-13(an )-13(integer )-13(value )-13(in)]TJ -/TT0 1 Tf -16.702 0 Td -(si_value.sival_int)Tj -/T1_1 1 Tf -11.063 0 Td -[(or )-13(pass )-13(a )-13(pointer )-13(value )-13(in)]TJ -/TT0 1 Tf --27.765 -1.2 Td -(si_value.sival_ptr)Tj -/T1_1 1 Tf -11.05 0 Td -(when delivering signals.)Tj --9.25 -1.2 Td -(Figur)Tj -0.3007 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.28 0 Td -[(0.17 )-51(shows )-51(values )-51(of)]TJ -/TT0 1 Tf -9.504 0 Td -(si_code)Tj -/T1_1 1 Tf -4.501 0 Td -[(for )-51(various )-51(signals, )-51(as )-51(de\336ned )-51(by )-51(the )-51(Single)]TJ --19.467 -1.2 Td -[(UNIX Speci\336cation.)-500(Note that implementations may de\336ne additional code values.)]TJ -1.8 -1.2 Td -[(If )-60(the )-60(signal )-60(is)]TJ -/TT0 1 Tf -6.658 0 Td -(SIGCHLD)Tj -/T1_1 1 Tf -0.3105 Tc (,t)Tj -0 Tc 5.086 0 Td -[(hen )-60(the)]TJ -/TT0 1 Tf -3.651 0 Td -(si_pid)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.161 0 Td -(si_status)Tj -/T1_1 1 Tf -0.3104 Tc (,a)Tj -0 Tc 6.46 0 Td -(nd)Tj -/TT0 1 Tf -1.503 0 Td -(si_uid)Tj -/T1_1 1 Tf -3.91 0 Td -[(\336elds )-60(will )-60(be)]TJ --33.23 -1.2 Td -[(set. )-282(If)-281(the )-32(signal )-32(is)]TJ -/TT0 1 Tf -8.554 0 Td -(SIGBUS)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.132 0 Td -(SIGILL)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.132 0 Td -(SIGFPE)Tj -/T1_1 1 Tf -0.2818 Tc (,o)Tj -0 Tc 4.678 0 Td -(r)Tj -/TT0 1 Tf -0.677 0 Td -(SIGSEGV)Tj -/T1_1 1 Tf -0.2818 Tc (,t)Tj -0 Tc 5.058 0 Td -[(hen )-32(the)]TJ -/TT0 1 Tf -3.594 0 Td -(si_addr)Tj -/T1_1 1 Tf -4.482 0 Td -(contains)Tj --35.305 -1.2 Td -[(the )-88(addr)18(ess )-88(r)18(esponsible )-88(for )-88(the )-88(fault, )-88(although )-88(the )-88(addr)21(ess )-87(might )-87(not )-87(be )-87(accurate.)-589(The)]TJ -/TT0 1 Tf -0 -1.2 TD -(si_errno)Tj -/T1_1 1 Tf -5.14 0 Td -[(\336eld )-90(contains )-90(the )-90(err)18(or )-90(number )-90(corr)18(esponding )-90(to )-90(the )-90(condition )-90(that )-90(caused)]TJ --5.14 -1.2 Td -(the signal to be generated, although its use is implementation de\336ned\ .)Tj -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.958 0 Td -(context)Tj -/T1_1 1 Tf -3.246 0 Td -[(ar)18(gument )-34(to )-34(the )-34(signal )-34(handler )-34(is )-34(a )-34(typeless )-34(pointer )-34(that )-34(can )-34(be )-34(cast )-34(to )-34(a)]TJ -/TT0 1 Tf --7.004 -1.2 Td -(ucontext_t)Tj -/T1_1 1 Tf -6.428 0 Td -[(str)8(uctur)]TJ -0.4282 Tc 3.49 0 Td -(ei)Tj -0 Tc 1.198 0 Td -[(dentifying )-178(the )-178(pr)18(ocess )-178(context )-178(at )-178(the )-178(time )-178(of )-178(signal )-178(delivery)109(.)]TJ --11.116 -1.2 Td -[(This str)8(uctur)]TJ -0.25 Tc 5.65 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(ontains at least the following \336elds:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5908 210.4375 Tm -[(ucontext_t *uc_link;)-3000(/* pointer to context resumed when */)]TJ -15 -1.189 Td -(/* this context returns */)Tj --15 -1.189 Td -[(sigset_t )-1800(uc_sigmask;)-1200(/* signals blocked when this context */)]TJ -15 -1.189 Td -(/* is active */)Tj --15 -1.189 Td -[(stack_t )-2400(uc_stack;)-2400(/* stack used by this context */)]TJ -0 -1.189 TD -[(mcontext_t )-600(uc_mcontext;)-600(/* machine-specific representation of */)]TJ -15 -1.189 Td -(/* saved context */)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47019 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(350)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -2.14 TD -(int sigaction\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(signo)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.967 0 Td -(onst struct sigaction *restrict)Tj -/T1_2 1 Tf -19.2 0 Td -(act)Tj -/TT0 1 Tf -(,)Tj --25.567 -1.189 Td -(struct sigaction *restrict)Tj -/T1_2 1 Tf -16.2 0 Td -(oact)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -2.251 -2.14 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6046.25 cm -0 0 m -0 627 l -3900 627 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 588.6094 Tm -[(The )-48(ar)18(gument)]TJ -/T1_2 1 Tf -6.575 0 Td -(signo)Tj -/T1_1 1 Tf -2.465 0 Td -[(is )-48(the )-48(signal )-48(number )-48(whose )-48(action )-48(we )-48(ar)]TJ -0.2976 Tc 18.068 0 Td -(ee)Tj -0 Tc 1.256 0 Td -[(xamining )-48(or )-48(modifying.)]TJ --28.364 -1.2 Td -[(If )-12(the)]TJ -/T1_2 1 Tf -2.581 0 Td -(act)Tj -/T1_1 1 Tf -1.446 0 Td -[(pointer )-12(is )-12(non-null, )-12(we )-12(ar)]TJ -0.2619 Tc 11.233 0 Td -(em)Tj -0 Tc 1.624 0 Td -[(odifying )-12(the )-12(action.)-512(If )-12(the)]TJ -/T1_2 1 Tf -11.709 0 Td -(oact)Tj -/T1_1 1 Tf -1.89 0 Td -[(pointer )-12(is )-12(non-null,)]TJ --30.481 -1.2 Td -[(the )-206(system )-206(r)18(eturns )-206(the )-206(pr)18(evious )-206(action )-206(for )-206(the )-206(signal )-206(thr)20(ough )-206(the)]TJ -/T1_2 1 Tf -30.905 0 Td -(oact)Tj -/T1_1 1 Tf -2.084 0 Td -(pointer)Tj -0.7057 Tc 3.146 0 Td -(.T)Tj -0 Tc 1.569 0 Td -(his)Tj --37.703 -1.2 Td -[(function uses the following str)8(uctur)18(e:)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5835 533.7757 Tm -(struct sigaction {)Tj -1.2 -1.189 Td -[(void )-2400(\(*sa_handler\)\(int\);)-1200(/* addr of signal handler, */)]TJ -18 -1.189 Td -(/* or SIG_IGN, or SIG_DFL */)Tj --18 -1.189 Td -(sigset_t sa_mask;)Tj -18 0 Td -(/* additional signals to block */)Tj --18 -1.189 Td -[(int )-3000(sa_flags;)]TJ -18 0 Td -(/* signal options, Figure 10.16 */)Tj --18 -2.378 Td -(/* alternate handler */)Tj -0 -1.189 TD -[(void )-2400(\(*sa_sigaction\)\(int,)-600(siginfo_t *, void *\);)]TJ --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5835 428.0486 Tm -[(When )-303(changing )-303(the )-303(action )-303(for )-303(a )-303(signal, )-303(if )-303(the)]TJ -/TT0 1 Tf -22.472 0 Td -(sa_handler)Tj -/T1_1 1 Tf -6.553 0 Td -[(\336eld )-303(contains )-303(the)]TJ --30.825 -1.2 Td -[(addr)18(ess )-37(of )-37(a )-37(signal-catching )-37(function )-37(\(as )-37(opposed )-37(to )-37(either )-37(of )-37(the )-37(constants)]TJ -/TT0 1 Tf -33.572 0 Td -(SIG_IGN)Tj -/T1_1 1 Tf -4.487 0 Td -(or)Tj -/TT0 1 Tf --38.059 -1.2 Td -(SIG_DFL)Tj -/T1_1 1 Tf -[(\), )-46(then )-46(the)]TJ -/TT0 1 Tf -9.028 0 Td -(sa_mask)Tj -/T1_1 1 Tf -4.496 0 Td -[(\336eld )-46(speci\336es )-46(a )-46(set )-46(of )-46(signals )-46(that )-46(ar)]TJ -0.2965 Tc 16.096 0 Td -(ea)Tj -0 Tc 1.276 0 Td -[(dded )-46(to )-46(the )-46(signal)]TJ --30.896 -1.2 Td -[(mask )-247(of )-247(the )-247(pr)18(ocess )-247(befor)]TJ -0.4966 Tc 12.198 0 Td -(et)Tj -0 Tc 1.302 0 Td -[(he )-246(signal-catching )-246(function )-246(is )-246(called.)-746(If )-246(and )-246(when )-246(the)]TJ --13.5 -1.2 Td -[(signal-catching )-104(function )-104(r)18(eturns, )-104(the )-104(signal )-104(mask )-104(of )-104(the )-104(pr)18(ocess )-104(is )-104(r)19(eset )-104(to )-104(its )-104(pr)18(evious)]TJ -0 -1.2 Td -[(value. )-471(This)-471(way)111(,)-471(we)-471(a)]TJ --0.018 Tc 10.573 0 Td -[(re )-257(a)]TJ -0 Tc 1.827 0 Td -[(ble )-221(to )-221(block )-221(certain )-221(signals )-221(whenever )-221(a )-221(signal )-221(handler )-221(is)]TJ --12.4 -1.2 Td -[(invoked. )-347(The)-346(operating )-97(system )-97(includes )-97(the )-97(signal )-97(being )-97(deliver)20(ed )-97(in )-97(the )-97(signal )-97(mask)]TJ --0 -1.2 Td -[(when )-357(the )-357(handler )-357(is )-357(invoked.)-857(Hence, )-357(we )-357(ar)]TJ -0.6072 Tc 21.656 0 Td -(eg)Tj -0 Tc 1.642 0 Td -[(uaranteed )-357(that )-357(whenever )-357(we )-357(ar)17(e)]TJ --23.298 -1.2 Td -[(pr)18(ocessing )-52(a )-52(given )-52(signal, )-52(another )-52(occurr)18(ence )-52(of )-52(that )-52(same )-52(signal )-52(is )-52(blocked )-52(until )-52(we\325r)16(e)]TJ -0 -1.2 Td -[(\336nished )-373(pr)18(ocessing )-373(the )-373(\336rst )-373(occurr)16(ence. )-623(Recall)-624(fr)18(om )-373(Section )-373(10.8 )-373(that )-373(additional)]TJ --0 -1.2 Td -[(occurr)18(ences )-112(of )-112(the )-112(same )-112(signal )-112(ar)]TJ -0.3618 Tc 15.099 0 Td -(eu)Tj -0 Tc 1.444 0 Td -[(sually )-112(not )-112(queued.)-612(If )-112(the )-112(signal )-112(occurs )-112(\336ve )-112(times)]TJ --16.543 -1.2 Td -[(while )-115(it )-115(is )-115(blocked, )-115(when )-115(we )-115(unblock )-115(the )-115(signal, )-115(the )-115(signal-handling )-115(function )-115(for )-115(that)]TJ -0 -1.2 TD -[(signal )-59(will )-59(usually )-59(be )-59(invoked )-59(only )-59(one )-59(time.)-560(\(This )-59(characteristic )-59(was )-59(illustrated )-59(in )-59(the)]TJ -T* -[(pr)18(evious example.\))]TJ -1.8 -1.2 Td -[(Once )-94(we )-94(install )-94(an )-94(action )-94(for )-94(a )-94(given )-94(signal, )-94(that )-94(action )-94(r)18(emains )-94(installed )-94(until )-94(we)]TJ --1.8 -1.2 Td -[(explicitly )-51(change )-51(it )-51(by )-51(calling)]TJ -/TT0 1 Tf -13.417 0 Td -(sigaction)Tj -/T1_1 1 Tf -0.5514 Tc (.U)Tj -0 Tc 6.979 0 Td -[(nlike )-51(earlier )-51(systems )-51(with )-51(their )-51(unr)16(eliable)]TJ --20.396 -1.2 Td -[(signals, )-24(POSIX.1 )-24(r)18(equir)18(es )-24(that )-24(a )-24(signal )-24(handler )-24(r)18(emain )-24(installed )-24(until )-24(explicitly )-24(changed.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -1.935 0 Td -(sa_flags)Tj -/T1_1 1 Tf -5.061 0 Td -[(\336eld )-11(of )-11(the)]TJ -/T1_2 1 Tf -5.036 0 Td -(act)Tj -/T1_1 1 Tf -1.446 0 Td -[(str)8(uctur)]TJ -0.2615 Tc 3.49 0 Td -(es)Tj -0 Tc 1.164 0 Td -[(peci\336es )-11(various )-11(options )-11(for )-11(the )-11(handling )-11(of)]TJ --19.933 -1.2 Td -[(this )-269(signal.)-769(Figur)]TJ -0.519 Tc 8.188 0 Td -(e1)Tj -0 Tc 1.498 0 Td -[(0.16 )-269(details )-269(the )-269(meaning )-269(of )-269(these )-269(options )-269(when )-269(set.)-769(The )-269(SUS)]TJ --9.686 -1.2 Td -[(column )-115(contains )-115(\245 )-115(if )-115(the )-115(\337ag )-115(is )-115(de\336ned )-115(as )-115(part )-115(of )-115(the )-115(base )-115(POSIX.1 )-115(speci\336cation, )-115(and)]TJ -/T1_0 1 Tf -T* -(XSI)Tj -/T1_1 1 Tf -1.917 0 Td -(if it is de\336ned as part of the XSI option.)Tj --0.117 -1.2 Td -(The)Tj -/TT0 1 Tf -2.448 0 Td -(sa_sigaction)Tj -/T1_1 1 Tf -7.974 0 Td -[(\336eld )-524(is )-524(an )-524(alternative )-524(signal )-524(handler )-524(used )-524(when )-524(the)]TJ -/TT0 1 Tf --12.223 -1.2 Td -(SA_SIGINFO)Tj -/T1_1 1 Tf -6.522 0 Td -[(\337ag )-272(is )-272(used )-272(with)]TJ -/TT0 1 Tf -8.619 0 Td -(sigaction)Tj -/T1_1 1 Tf -0.7724 Tc (.I)Tj -0 Tc 6.759 0 Td -[(mplementations )-272(might )-272(use )-272(the )-272(same)]TJ --21.9 -1.2 Td -[(storage )-135(for )-135(both )-135(the)]TJ -/TT0 1 Tf -9.435 0 Td -(sa_sigaction)Tj -/T1_1 1 Tf -7.585 0 Td -[(\336eld )-135(and )-135(the)]TJ -/TT0 1 Tf -6.222 0 Td -(sa_handler)Tj -/T1_1 1 Tf -6.385 0 Td -[(\336eld, )-135(so )-135(applications)]TJ --29.627 -1.2 Td -(can use only one of these \336elds at a time.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47020 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.5)]TJ -32.299 0 Td -[(Interr)8(upted )-250(System )-250(Calls)]TJ -/T1_1 1 Tf -13.534 0 Td -(329)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(To )-400(p)]TJ --0.018 Tc 2.134 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(vent )-216(applications )-216(fr)18(om )-216(having )-216(to )-216(handle )-216(interr)8(upted )-216(system )-216(calls, )-216(4.2BSD)]TJ --4.79 -1.2 Td -[(intr)18(oduced )-8(the )-8(automatic )-8(r)18(estarting )-8(of )-8(certain )-8(interr)8(upted )-8(system )-8(calls.)-504(The )-8(system )-8(calls)]TJ -0 -1.2 Td -[(that )-39(wer)]TJ -0.2886 Tc 3.713 0 Td -(ea)Tj -0 Tc 1.268 0 Td -[(utomatically )-39(r)18(estarted )-39(ar)19(e)]TJ -/TT0 1 Tf -11.696 0 Td -(ioctl)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.539 0 Td -(read)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -2.939 0 Td -(readv)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.539 0 Td -(write)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.539 0 Td -(writev)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.139 0 Td -(wait)Tj -/T1_0 1 Tf -0.2885 Tc (,a)Tj -0 Tc 3.439 0 Td -(nd)Tj -/TT0 1 Tf --37.807 -1.2 Td -(waitpid)Tj -/T1_0 1 Tf -0.6579 Tc (.A)Tj -0.4079 Tc 5.886 0 Td -(sw)Tj -0 Tc 1.666 0 Td -[(e\325ve )-158(mentioned, )-158(the )-158(\336rst )-158(\336ve )-158(of )-158(these )-158(functions )-158(ar)]TJ -0.408 Tc 23.056 0 Td -(ei)Tj -0 Tc 1.178 0 Td -[(nterr)8(upted )-158(by )-158(a)]TJ --31.786 -1.2 Td -[(signal )-220(only )-220(if )-220(they )-220(ar)]TJ -0.4704 Tc 9.945 0 Td -(eo)Tj -0 Tc 1.495 0 Td -[(perating )-220(on )-220(a )-220(slow )-220(device;)]TJ -/TT0 1 Tf -12.924 0 Td -(wait)Tj -/T1_0 1 Tf -2.87 0 Td -(and)Tj -/TT0 1 Tf -2.163 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.67 0 Td -(ar)Tj -0.4704 Tc 0.877 0 Td -(ea)Tj -0 Tc 1.449 0 Td -(lways)Tj --36.395 -1.2 Td -[(interr)8(upted )-45(when )-45(a )-45(signal )-45(is )-45(caught.)-545(Since )-45(this )-45(caused )-45(a )-45(pr)18(oblem )-45(for )-45(some )-45(applications)]TJ -0 -1.2 TD -[(that )-277(didn\325t )-277(want )-277(the )-277(operation )-277(r)17(estarted )-277(if )-277(it )-277(was )-277(interr)8(upted, )-277(4.3BSD )-277(allowed )-277(the)]TJ -T* -[(pr)18(ocess to disable this featur)18(e)-250(on)-250(a)-250(per)18(-signal basis.)]TJ -7.9995 0 0 7.9995 183.5896 563.9662 Tm -[(POSIX.1 )-30(r)18(equir)18(es )-30(an )-30(implementation )-30(to )-30(r)18(estart )-30(system )-30(calls )-30(only )-30(when )-30(the)]TJ -/TT0 1 Tf -33.061 0 Td -(SA_RESTART)Tj -/T1_0 1 Tf -6.28 0 Td -[(\337ag )-30(is)]TJ --39.341 -1.25 Td -[(in )-73(ef)18(fect )-73(for )-73(the )-73(interr)8(upting )-73(signal.)-573(As )-73(we )-73(will )-73(see )-73(in )-73(Section )-73(10.14, )-73(this )-73(\337ag )-73(is )-73(used )-73(with )-73(the)]TJ -/TT0 1 Tf -0 -1.25 TD -(sigaction)Tj -/T1_0 1 Tf -6.05 0 Td -[(function )-400(to )-400(allow )-400(applications )-400(to )-400(r)18(equest )-400(that )-400(interr)8(upted )-400(system )-400(calls )-400(be)]TJ --0.018 Tc -6.05 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(started.)Tj --0.856 -2.375 Td -(Historically)Tj -0.3693 Tc 5.076 0 Td -(,w)Tj -0 Tc 1.453 0 Td -[(hen )-119(using )-119(the)]TJ -/TT0 1 Tf -6.594 0 Td -(signal)Tj -/T1_0 1 Tf -3.969 0 Td -[(function )-119(to )-119(establish )-119(a )-119(signal )-119(handler)]TJ -0.3691 Tc 16.805 0 Td -(,i)Tj -0 Tc 0.91 0 Td -(mplementations)Tj --34.807 -1.25 Td -[(varied )-87(with )-87(r)18(espect )-87(to )-87(how )-87(interr)8(upted )-87(system )-87(calls )-87(wer)]TJ -0.3371 Tc 25.347 0 Td -(eh)Tj -0 Tc 1.398 0 Td -[(andled. )-337(System)]TJ -0.3373 Tc 7.441 0 Td -(Vn)Tj -0 Tc 1.641 0 Td -[(ever )-87(r)18(estarted)]TJ --35.828 -1.25 Td -[(system )-241(calls )-241(by )-241(default.)-741(BSD, )-241(in )-241(contrast, )-241(r)18(estarted )-241(them )-241(if )-241(the )-241(calls )-241(wer)]TJ -0.491 Tc 34.35 0 Td -(ei)Tj -0 Tc 1.261 0 Td -[(nterr)8(upted )-241(by)]TJ --35.611 -1.25 Td -[(signals. )-297(On)-298(Fr)18(eeBSD )-47(8.0, )-47(Linux )-47(3.2.0, )-47(and )-47(Mac )-47(OS )-47(X )-47(10.6.8, )-47(when )-47(signal )-47(handlers )-47(ar)]TJ -0.2976 Tc 37.428 0 Td -(ei)Tj -0 Tc 1.068 0 Td -(nstalled)Tj --38.496 -1.25 Td -[(with )-6(the)]TJ -/TT0 1 Tf -3.931 0 Td -(signal)Tj -/T1_0 1 Tf -3.856 0 Td -[(function, )-6(interr)8(upted )-6(system )-6(calls )-6(will )-6(be )-6(r)20(estarted. )-255(The)-256(default )-5(on )-5(Solaris )-5(10,)]TJ --7.787 -1.25 Td -[(however)74(,)-409(is)-409(to)-409(r)17(eturn )-159(an )-159(err)18(or )-159(\()]TJ -/TT0 1 Tf -14.469 0 Td -(EINTR)Tj -/T1_0 1 Tf -0.4096 Tc (\)i)Tj -0 Tc 4.034 0 Td -[(nstead )-160(when )-160(system )-160(calls )-160(ar)]TJ -0.4096 Tc 12.957 0 Td -(ei)Tj -0 Tc 1.18 0 Td -[(nterr)8(upted )-160(by )-160(signal)]TJ --32.639 -1.25 Td -[(handlers )-305(installed )-305(with )-305(the)]TJ -/TT0 1 Tf -13.299 0 Td -(signal)Tj -/T1_0 1 Tf -4.155 0 Td -[(function. )-555(By)-555(using )-305(our )-305(own )-305(implementation )-305(of )-305(the)]TJ -/TT0 1 Tf --17.454 -1.25 Td -(signal)Tj -/T1_0 1 Tf -3.85 0 Td -(function \(shown in Figur)Tj -0.25 Tc 11.014 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(0.18\), we avoid having to deal with these dif)18(fer)18(ences.)]TJ -9.9994 0 0 9.9994 147.5917 422.9746 Tm -[(One )-436(of )-436(the )-436(r)18(easons )-436(4.2BSD )-436(intr)18(oduced )-436(the )-436(automatic )-436(r)18(estart )-436(featur)18(e)-686(is)-686(that)]TJ --1.8 -1.2 Td -[(sometimes )-218(we )-218(don\325t )-218(know )-218(that )-218(the )-218(input )-218(or )-218(output )-218(device )-218(is )-218(a )-218(slow )-218(device.)-718(If )-218(the)]TJ -0 -1.2 TD -[(pr)18(ogram )-63(we )-63(write )-63(can )-63(be )-63(used )-63(interactively)]TJ -0.3135 Tc 19.465 0 Td -(,t)Tj -0 Tc 0.889 0 Td -[(hen )-63(it )-63(might )-63(be )-63(r)18(eading )-63(or )-63(writing )-63(a )-63(slow)]TJ --20.355 -1.2 Td -[(device, )-33(since )-33(terminals )-33(fall )-33(into )-33(this )-33(category)]TJ -0.5332 Tc 19.683 0 Td -(.I)Tj -0 Tc 1.12 0 Td -[(f)-283(we)-283(catch )-33(signals )-33(in )-33(this )-33(pr)18(ogram, )-33(and )-33(if)]TJ --20.803 -1.2 Td -[(the )-170(system )-170(doesn\325t )-170(pr)18(ovide )-170(the )-170(r)18(estart )-170(capability)]TJ -0.4201 Tc 22.172 0 Td -(,t)Tj -0 Tc 0.996 0 Td -[(hen )-170(we )-170(have )-170(to )-170(test )-170(every )-170(r)18(ead )-170(or)]TJ --23.168 -1.2 Td -[(write for the interr)8(upted err)18(or r)18(eturn and r)18(eissue the r)18(ead or write.)]TJ -1.8 -1.2 Td -(Figur)Tj -0.3953 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.374 0 Td -[(0.3 )-145(summarizes )-145(the )-145(signal )-145(functions )-145(and )-145(their )-145(semantics )-145(pr)16(ovided )-145(by )-145(the)]TJ --5.557 -1.2 Td -(various implementations.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1578.25 3226.25 cm -0 0 m -3335 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 425.093 314.5622 Tm -[(Automatic r)18(estart)]TJ -0.782 -1.25 Td -[(of interr)8(upted)]TJ -0.237 -1.25 Td -(system calls?)Tj --33.406 1.25 Td -[(Functions)-4287(System)]TJ -16.098 0.625 Td -(Signal handler)Tj --0.018 Tc -0.5 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(mains installed)Tj -9.225 1.25 Td -(Ability to)Tj --0.75 -1.25 Td -(block signals)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1578.25 2906.25 cm -0 0 m -3335 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4913.25 2886.25 cm -0 0 m --3335 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 217.0249 280.5495 Tm -[(ISO C, POSIX.1)-3676(unspeci\336ed )-3025(unspeci\336ed)-3372(unspeci\336ed)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2110.25 2766.25 cm -0 0 m -2803 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 217.0119 268.5355 Tm -(V7, SVR2, SVR3)Tj -28.647 0 Td -(never)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2110.25 2646.25 cm -0 0 m -2803 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 216.9989 256.523 Tm -(SVR4, Solaris)Tj -28.647 0 Td -(never)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2110.25 2526.25 cm -0 0 m -2803 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 216.9859 244.512 Tm -(4.2BSD )Tj -12.708 0 Td -(\245)Tj -6.6355 Tc 8.395 0 Td -(\245a)Tj -0 Tc 7.741 0 Td -(lways)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2110.25 2406.25 cm -0 0 m -2803 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 216.9728 232.5023 Tm -(4.3BSD, 4.4BSD,)Tj -0 -1.25 TD -[(Fr)18(eeBSD, Linux,)]TJ -/TT0 1 Tf --6.9 2.875 Td -(signal)Tj -/T1_0 1 Tf -6.9 -4.125 Td -(Mac OS X)Tj -12.709 1.25 Td -(\245)Tj -8.394 0 Td -(\245)Tj -7.222 0 Td -(default)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1578.25 2086.25 cm -0 0 m -3335 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1578.25 2066.25 cm -0 0 m -3335 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 216.9598 198.5047 Tm -(POSIX.1, 4.4BSD,)Tj -T* -[(SVR4, Fr)18(eeBSD,)]TJ -T* -(Linux, Mac OS X,)Tj -T* -(Solaris)Tj -/TT0 1 Tf --6.9 1.875 Td -(sigaction)Tj -/T1_0 1 Tf -19.608 0 Td -(\245)Tj -8.394 0 Td -(\245)Tj -6.952 0 Td -(optional)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1578.25 1646.25 cm -0 0 m -3335 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4191.25 1646.25 cm -0 0 m -0 1580 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3575.25 1646.25 cm -0 0 m -0 1580 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2848.25 1646.25 cm -0 0 m -0 1580 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2110.25 1646.25 cm -0 0 m -0 1580 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4913.25 1646.25 cm -0 0 m -0 1580 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1578.25 1646.25 cm -0 0 m -0 1580 l -S -Q -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 207.1641 146.5209 Tm -(Figure 10.3)Tj -/T1_0 1 Tf -5.695 0 Td -[(Featur)18(es pr)18(ovided by various signal implementations)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47021 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(322)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 195.4083 668.9599 Tm -[(These )-778(include)]TJ -/TT0 1 Tf -7.934 0 Td -(tcsetattr)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -6.678 0 Td -(tcsendbreak)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -7.878 0 Td -(tcdrain)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -5.478 0 Td -(tcflush)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --27.968 -1.2 Td -(tcflow)Tj -/T1_1 1 Tf -0.539 Tc (,a)Tj -0 Tc 4.889 0 Td -(nd)Tj -/TT0 1 Tf -1.732 0 Td -(tcsetpgrp)Tj -/T1_1 1 Tf -0.789 Tc (.W)Tj -0.539 Tc 7.347 0 Td -(ed)Tj -0 Tc 1.629 0 Td -[(escribe )-289(these )-289(terminal )-289(operations )-289(in)]TJ --15.597 -1.2 Td -(Chapter 18.)Tj -/TT0 1 Tf --6.582 -1.84 Td -(SIGURG)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-59(signal )-59(noti\336es )-59(the )-59(pr)17(ocess )-59(that )-59(an )-59(ur)18(gent )-59(condition )-59(has )-59(occurr)16(ed. )-309(It)]TJ -0 -1.2 TD -[(is )-80(optionally )-80(generated )-80(when )-80(out-of-band )-80(data )-80(is )-80(r)18(eceived )-80(on )-80(a )-80(network)]TJ -T* -(connection.)Tj -/TT0 1 Tf --6.582 -1.84 Td -(SIGUSR1)Tj -/T1_1 1 Tf -6.582 0 Td -[(This is a user)18(-de\336ned signal, for use in application pr)18(ograms.)]TJ -/TT0 1 Tf --6.582 -1.84 Td -(SIGUSR2)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-336(is )-336(another )-336(user)18(-de\336ned )-336(signal, )-336(similar )-336(to)]TJ -/TT0 1 Tf -22.558 0 Td -(SIGUSR1)Tj -/T1_1 1 Tf -0.5856 Tc (,f)Tj -0 Tc 5.369 0 Td -[(or )-336(use )-336(in)]TJ --27.927 -1.2 Td -[(application pr)18(ograms.)]TJ -/TT0 1 Tf --6.582 -1.84 Td -(SIGVTALRM)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-410(signal )-410(is )-410(generated )-410(when )-410(a )-410(virtual )-410(interval )-410(timer )-410(set )-410(by )-410(the)]TJ -/TT0 1 Tf -T* -(setitimer)Tj -/T1_1 1 Tf -5.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -[(function expir)18(es.)]TJ -/TT0 1 Tf --13.398 -1.84 Td -(SIGWAITING)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-166(signal )-166(is )-166(used )-166(internally )-166(by )-166(the )-166(Solaris )-166(thr)20(eads )-166(library)]TJ -0.4159 Tc 27.058 0 Td -(,a)Tj -0 Tc 1.166 0 Td -[(nd )-166(is )-166(not)]TJ --28.224 -1.2 Td -(available for general use.)Tj -/TT0 1 Tf --6.582 -1.84 Td -(SIGWINCH)Tj -/T1_1 1 Tf -6.582 0 Td -[(The )-345(kernel )-345(maintains )-345(the )-345(size )-345(of )-345(the )-345(window )-345(associated )-345(with )-345(each)]TJ -T* -[(terminal )-159(and )-159(pseudo )-159(terminal.)]TJ -0.4091 Tc 14.587 0 Td -(Ap)Tj --0.018 Tc 1.788 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-159(can )-159(get )-159(and )-159(set )-159(the )-159(window)]TJ --17.298 -1.2 Td -[(size )-137(with )-137(the)]TJ -/TT0 1 Tf -6.274 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.387 0 Td -[(function, )-137(which )-137(we )-137(describe )-137(in )-137(Section )-137(18.12.)-634(If )-136(a)]TJ --9.66 -1.2 Td -[(pr)18(ocess )-293(changes )-293(the )-293(window )-293(size )-293(fr)18(om )-293(its )-293(pr)18(evious )-293(value )-293(using )-293(the)]TJ -/TT0 1 Tf -T* -(ioctl)Tj -/T1_1 1 Tf -3.408 0 Td -[(set-window-size )-158(command, )-158(the )-158(kernel )-158(generates )-158(the)]TJ -/TT0 1 Tf -24.21 0 Td -(SIGWINCH)Tj -/T1_1 1 Tf --27.618 -1.2 Td -[(signal for the for)18(egr)18(ound pr)18(ocess gr)18(oup.)]TJ -/TT0 1 Tf --6.582 -1.84 Td -(SIGXCPU)Tj -/T1_1 1 Tf -6.582 0 Td -[(The )-51(Single )-51(UNIX )-51(Speci\336cation )-51(supports )-51(the )-51(concept )-51(of )-51(r)21(esour)18(ce )-51(limits )-51(as)]TJ --0 -1.2 Td -[(part )-27(of )-27(the )-27(XSI )-27(option; )-27(r)18(efer )-27(to )-27(Section )-27(7.1)53(1. )-277(If)-278(the )-27(pr)18(ocess )-27(exceeds )-27(its )-27(soft)]TJ -0 -1.2 Td -(CPU time limit, the)Tj -/TT0 1 Tf -8.789 0 Td -(SIGXCPU)Tj -/T1_1 1 Tf -4.45 0 Td -(signal is generated.)Tj -7.9995 0 0 7.9995 237.5848 352.1789 Tm -[(In )-40(Figur)]TJ -0.2903 Tc 3.592 0 Td -(e1)Tj -0 Tc 1.269 0 Td -[(0.1, )-40(we )-40(labeled )-40(the )-40(default )-40(action )-40(for)]TJ -/TT0 1 Tf -16.543 0 Td -(SIGXCPU)Tj -/T1_1 1 Tf -4.49 0 Td -[(as )-40(either )-40(\324)36(\324terminate\325)37(\325)]TJ --25.894 -1.25 Td -[(or )-85(\324)37(\324terminate )-85(with )-85(a )-85(cor)]TJ -0.3349 Tc 10.961 0 Td -(e\336)Tj -0 Tc 1.419 0 Td -(le.\325)Tj -0.5849 Tc 1.261 0 Td -(\325T)Tj -0 Tc 1.476 0 Td -[(he )-85(default )-85(depends )-85(on )-85(the )-85(operating )-85(system.)]TJ --15.117 -1.25 Td -[(Linux )-36(3.2.0 )-36(and )-36(Solaris )-36(10 )-36(support )-36(a )-36(default )-36(action )-36(of )-36(terminate )-36(with )-36(a )-36(cor)]TJ -0.2865 Tc 32.859 0 Td -(e\336)Tj -0 Tc 1.371 0 Td -(le,)Tj --34.229 -1.25 Td -[(wher)18(eas )-19(Fr)18(eeBSD )-19(8.0 )-19(and )-19(Mac )-19(OS )-19(X )-19(10.6.8 )-19(support )-19(a )-19(default )-19(action )-19(of )-19(terminate)]TJ -0 -1.25 TD -[(without )-61(generating )-61(a )-61(cor)]TJ -0.3108 Tc 11.053 0 Td -(e\336)Tj -0 Tc 1.395 0 Td -[(le. )-311(The)-311(Single )-61(UNIX )-61(Speci\336cation )-61(r)18(equir)18(es )-61(that )-61(the)]TJ --12.448 -1.25 Td -[(default )-150(action )-150(be )-150(to )-150(terminate )-150(the )-150(pr)18(ocess )-150(abnormally)]TJ -0.6505 Tc 24.468 0 Td -(.W)Tj -0 Tc 1.9 0 Td -[(hether )-150(a )-150(cor)]TJ -0.4005 Tc 5.511 0 Td -(e\336)Tj -0 Tc 1.485 0 Td -[(le )-150(is)]TJ --33.365 -1.25 Td -(generated is left up to the implementation.)Tj -/TT0 1 Tf -9.9994 0 0 9.9994 129.5912 271.1837 Tm -(SIGXFSZ)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-48(signal )-48(is )-48(generated )-48(if )-48(the )-48(pr)18(ocess )-48(exceeds )-48(its )-48(soft )-48(\336le )-48(size )-48(limit; )-48(r)22(efer)]TJ -0 -1.2 TD -[(to Section 7.1)55(1.)]TJ -7.9995 0 0 7.9995 237.5847 239.1856 Tm -[(Just )-80(as )-80(with)]TJ -/TT0 1 Tf -5.633 0 Td -(SIGXCPU)Tj -/T1_1 1 Tf -0.33 Tc (,t)Tj -0 Tc 5.106 0 Td -[(he )-80(default )-80(action )-80(taken )-80(with)]TJ -/TT0 1 Tf -13.019 0 Td -(SIGXFSZ)Tj -/T1_1 1 Tf -4.53 0 Td -[(depends )-80(on )-80(the)]TJ --28.288 -1.25 Td -[(operating )-37(system.)-537(On )-37(Linux )-37(3.2.0 )-37(and )-37(Solaris )-37(10, )-37(the )-37(default )-37(is )-37(to )-37(terminate )-37(the)]TJ -0 -1.25 TD -[(pr)18(ocess )-28(and )-28(cr)18(eate )-28(a )-28(cor)]TJ -0.2784 Tc 10.574 0 Td -(e\336)Tj -0 Tc 1.362 0 Td -[(le. )-278(On)-279(Fr)18(eeBSD )-28(8.0 )-28(and )-28(Mac )-28(OS )-28(X )-28(10.6.8, )-28(the )-28(default)]TJ --11.936 -1.25 Td -[(is )-186(to )-186(terminate )-186(the )-186(pr)18(ocess )-186(without )-186(generating )-186(a )-186(cor)]TJ -0.4363 Tc 24.14 0 Td -(e\336)Tj -0 Tc 1.52 0 Td -[(le. )-436(The)-436(Single )-186(UNIX)]TJ --25.66 -1.25 Td -[(Speci\336cation )-373(r)18(equir)18(es )-373(that )-373(the )-373(default )-373(action )-373(be )-373(to )-373(terminate )-373(the )-373(pr)21(ocess)]TJ -0 -1.25 Td -(abnormally)Tj -0.5 Tc 4.986 0 Td -(.W)Tj -0 Tc 1.75 0 Td -(hether a cor)Tj -0.25 Tc 5.21 0 Td -(e\336)Tj -0 Tc 1.334 0 Td -(le is generated is left up to the implementation.)Tj -/TT0 1 Tf -9.9994 0 0 9.9994 129.5919 168.1899 Tm -(SIGXRES)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-225(signal )-225(is )-225(de\336ned )-225(only )-225(by )-225(Solaris.)-725(It )-225(is )-225(optionally )-225(used )-225(to )-225(notify)]TJ -0 -1.2 TD -[(pr)18(ocesses )-395(that )-395(have )-395(exceeded )-395(a )-395(pr)18(econ\336gur)18(ed )-395(r)18(esour)18(ce )-395(value.)-895(The)]TJ -T* -[(Solaris )-1(r)18(esour)18(ce )-1(contr)18(ol )-1(mechanism )-1(is )-1(a )-1(general )-1(facility )-1(for )-1(contr)18(olling )-1(the)]TJ -T* -[(use of shar)18(ed r)18(esour)18(ces among independent application sets.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47022 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 710 Tm -[(Section )-250(10.2)]TJ -36.477 0 Td -[(Signal )-250(Concepts)]TJ -/T1_1 1 Tf -9.356 0 Td -(317)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7040.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7040.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-37(cor)]TJ -0.2866 Tc 3.328 0 Td -(e\336)Tj -0 Tc 1.371 0 Td -[(le )-37(will )-37(not )-37(be )-37(generated )-37(if )-37(\(a\) )-37(the )-37(pr)18(ocess )-37(was )-37(set-user)18(-ID )-37(and )-37(the )-37(curr)22(ent)]TJ --6.498 -1.2 Td -[(user )-185(is )-185(not )-185(the )-185(owner )-185(of )-185(the )-185(pr)15(ogram )-185(\336le, )-185(\(b\) )-185(the )-185(pr)18(ocess )-185(was )-185(set-gr)18(oup-ID )-185(and )-185(the)]TJ -0 -1.2 TD -[(curr)18(ent )-50(user )-50(is )-50(not )-50(the )-50(gr)18(oup )-50(owner )-50(of )-50(the )-50(\336le, )-50(\(c\) )-50(the )-50(user )-50(does )-50(not )-50(have )-50(permission )-50(to)]TJ --0 -1.2 Td -[(write )-82(in )-82(the )-82(curr)18(ent )-82(working )-82(dir)19(ectory)]TJ -0.3318 Tc 17.124 0 Td -(,\()Tj -0 Tc 0.915 0 Td -[(d\) )-82(the )-82(\336le )-82(alr)18(eady )-82(exists )-82(and )-82(the )-82(user )-82(does )-82(not)]TJ --18.039 -1.2 Td -[(have )-43(permission )-43(to )-43(write )-43(to )-43(it, )-43(or )-43(\(e\) )-43(the )-43(\336le )-43(is )-43(too )-43(big )-43(\(r)18(ecall )-43(the)]TJ -/TT0 1 Tf -28.859 0 Td -(RLIMIT_CORE)Tj -/T1_0 1 Tf -6.893 0 Td -[(limit )-43(in)]TJ --35.752 -1.2 Td -[(Section )-102(7.1)55(1\). )-352(The)-351(permissions )-102(of )-102(the)]TJ -/TT0 1 Tf -17.111 0 Td -(core)Tj -/T1_0 1 Tf -2.752 0 Td -[(\336le )-102(\(assuming )-102(that )-102(the )-102(\336le )-102(doesn\325t )-102(alr)20(eady)]TJ --19.863 -1.2 Td -(exist\) ar)Tj -0.25 Tc 3.496 0 Td -(eu)Tj -0 Tc 1.332 0 Td -[(sually user)18(-r)18(ead and user)18(-write, although Mac OS X sets only user)18(-r)18(ead.)]TJ --3.028 -1.2 Td -[(In )-194(Figur)]TJ -0.4445 Tc 3.746 0 Td -(e1)Tj -0 Tc 1.424 0 Td -[(0.1, )-194(the )-194(signals )-194(with )-194(a )-194(description )-194(of )-194(\324)34(\324har)18(dwar)]TJ -0.4445 Tc 21.768 0 Td -(ef)Tj -0 Tc 1.256 0 Td -(ault\325)Tj -0.4445 Tc 1.961 0 Td -(\325c)Tj -0 Tc 1.166 0 Td -[(orr)18(espond )-194(to)]TJ --33.122 -1.2 Td -[(implementation-de\336ned )-256(har)18(dwar)]TJ -0.5057 Tc 15.047 0 Td -(ef)Tj -0 Tc 1.318 0 Td -[(aults. )-506(Many)-505(of )-256(these )-256(names )-256(ar)]TJ -0.5057 Tc 14.671 0 Td -(et)Tj -0 Tc 1.311 0 Td -[(aken )-256(fr)18(om )-256(the)]TJ --32.346 -1.2 Td -[(original )-53(PDP)]TJ -5.737 0.09 Td -(-)Tj --0.055 Tc 0.333 -0.09 Td -[(11 )-163(i)]TJ -0 Tc 1.539 0 Td -[(mplementation )-53(of )-53(the )-53(UNIX )-53(System.)-555(Check )-53(your )-53(system\325s )-53(manuals )-53(to)]TJ --7.61 -1.2 Td -[(determine exactly which type of err)18(or these signals corr)18(espond to.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-184(n)]TJ -0 Tc 2.219 0 Td -(ow describe each of these signals in mor)Tj -0.25 Tc 17.727 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(etail.)Tj -/TT0 1 Tf --23.086 -1.84 Td -(SIGABRT)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-172(signal )-172(is )-172(generated )-172(by )-172(calling )-172(the)]TJ -/TT0 1 Tf -18.084 0 Td -(abort)Tj -/T1_0 1 Tf -3.423 0 Td -[(function )-172(\(Section )-172(10.17\).)]TJ --21.507 -1.2 Td -[(The pr)18(ocess terminates abnormally)111(.)]TJ -/TT0 1 Tf --6.582 -1.84 Td -(SIGALRM)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-299(signal )-299(is )-299(generated )-299(when )-299(a )-299(timer )-299(set )-299(with )-299(the)]TJ -/TT0 1 Tf -25.162 0 Td -(alarm)Tj -/T1_0 1 Tf -3.549 0 Td -(function)Tj --28.711 -1.2 Td -[(expir)18(es )-54(\(see )-54(Section )-54(10.10 )-54(for )-54(mor)]TJ -0.3038 Tc 14.924 0 Td -(ed)Tj -0 Tc 1.394 0 Td -[(etails\). )-304(This)-304(signal )-54(is )-54(also )-54(generated)]TJ --16.318 -1.2 Td -(when an interval timer set by the)Tj -/TT0 1 Tf -14.837 0 Td -(setitimer)Tj -/T1_0 1 Tf -5.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -[(function expir)18(es.)]TJ -/TT0 1 Tf --28.235 -1.84 Td -(SIGBUS)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-668(signal )-668(indicates )-668(an )-668(implementation-de\336ned )-668(har)16(dwar)]TJ -0.9185 Tc 28.717 0 Td -(ef)Tj -0 Tc 1.731 0 Td -(ault.)Tj --30.448 -1.2 Td -[(Implementations )-17(usually )-17(generate )-17(this )-17(signal )-17(on )-17(certain )-17(types )-17(of )-17(memory)]TJ -T* -(faults, as we describe in Section 14.8.)Tj -/TT0 1 Tf --6.582 -1.84 Td -(SIGCANCEL)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-231(signal )-231(is )-231(used )-231(internally )-231(by )-231(the )-231(Solaris )-231(thr)20(eads )-231(library)]TJ -0.7309 Tc 27.643 0 Td -(.I)Tj -0 Tc 1.318 0 Td -[(t)-481(is)-481(not)]TJ --28.961 -1.2 Td -(meant for general use.)Tj -/TT0 1 Tf --6.582 -1.84 Td -(SIGCHLD)Tj -/T1_0 1 Tf -6.582 0 Td -[(Whenever )-135(a )-135(pr)18(ocess )-135(terminates )-135(or )-135(stops, )-135(the)]TJ -/TT0 1 Tf -20.636 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.585 0 Td -[(signal )-135(is )-135(sent )-135(to)]TJ --25.221 -1.2 Td -[(the )-140(par)18(ent. )-390(By)-390(default, )-140(this )-140(signal )-140(is )-140(ignor)19(ed, )-140(so )-140(the )-140(par)18(ent )-140(must )-140(catch)]TJ --0 -1.2 Td -[(this )-139(signal )-139(if )-139(it )-139(wants )-139(to )-139(be )-139(noti\336ed )-139(whenever )-139(a )-139(child\325s )-139(status )-139(changes.)]TJ -T* -[(The )-184(normal )-184(action )-184(in )-184(the )-184(signal-catching )-184(function )-184(is )-184(to )-184(call )-184(one )-184(of )-184(the)]TJ -/TT0 1 Tf -T* -(wait)Tj -/T1_0 1 Tf -2.65 0 Td -[(functions to fetch the child\325s pr)18(ocess ID and termination status.)]TJ --2.65 -1.8 Td -[(Earlier )-5(r)18(eleases )-5(of )-5(System )-5(V )-5(had )-5(a )-5(similar )-5(signal )-5(named)]TJ -/TT0 1 Tf -24.722 0 Td -(SIGCLD)Tj -/T1_0 1 Tf -3.855 0 Td -(\(without)Tj --28.577 -1.2 Td -(the)Tj -/TT0 1 Tf -1.784 0 Td -(H)Tj -/T1_0 1 Tf -[(\). )-397(The)-396(semantics )-147(of )-147(this )-147(signal )-147(wer)]TJ -0.3967 Tc 16.676 0 Td -(ed)Tj -0 Tc 1.487 0 Td -[(if)18(fer)18(ent )-147(fr)18(om )-147(those )-147(of )-147(other)]TJ --19.946 -1.2 Td -[(signals, )-78(and )-78(as )-78(far )-78(back )-78(as )-78(SVR2, )-78(the )-78(manual )-78(page )-78(str)13(ongly )-78(discouraged)]TJ -T* -[(its )-121(use )-121(in )-121(new )-121(pr)16(ograms. )-371(\(Strangely)-372(enough, )-121(this )-121(warning )-121(disappear)17(ed)]TJ --0 -1.2 Td -[(in )-316(the )-316(SVR3 )-316(and )-316(SVR4 )-316(versions )-316(of )-316(the )-316(manual )-316(page.\))-816(Applications)]TJ -T* -[(should )-348(use )-348(the )-348(standar)17(d)]TJ -/TT0 1 Tf -12.275 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.798 0 Td -[(signal, )-348(but )-348(be )-348(awar)]TJ -0.5984 Tc 9.414 0 Td -(et)Tj -0 Tc 1.403 0 Td -[(hat )-348(many)]TJ --27.891 -1.2 Td -[(systems )-370(de\336ne)]TJ -/TT0 1 Tf -7.511 0 Td -(SIGCLD)Tj -/T1_0 1 Tf -4.22 0 Td -[(to )-370(be )-370(the )-370(same )-370(as)]TJ -/TT0 1 Tf -9.599 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.82 0 Td -[(for )-370(backwar)18(d)]TJ --26.149 -1.2 Td -(compatibility)Tj -0.6239 Tc 5.788 0 Td -(.I)Tj -0.3739 Tc 1.211 0 Td -(fy)Tj -0 Tc 1.263 0 Td -[(ou )-124(maintain )-124(softwar)]TJ -0.3739 Tc 9.192 0 Td -(et)Tj -0 Tc 1.179 0 Td -[(hat )-124(uses)]TJ -/TT0 1 Tf -4.086 0 Td -(SIGCLD)Tj -/T1_0 1 Tf -0.3739 Tc (,y)Tj -0 Tc 4.78 0 Td -[(ou )-124(need )-124(to)]TJ --27.498 -1.2 Td -[(check )-60(your )-60(system\325s )-60(manual )-60(page )-60(to )-60(see )-60(which )-60(semantics )-60(it )-60(follows.)]TJ --0.092 Tc 31.031 0 Td -(We)Tj -0 Tc -31.031 -1.2 Td -(discuss these two signals in Section 10.7.)Tj -/TT0 1 Tf --6.582 -1.84 Td -(SIGCONT)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-65(job-contr)18(ol )-65(signal )-65(is )-65(sent )-65(to )-65(a )-65(stopped )-65(pr)18(ocess )-65(when )-65(it )-65(is )-65(continued.)]TJ -T* -[(The )-189(default )-189(action )-189(is )-189(to )-189(continue )-189(a )-189(stopped )-189(pr)18(ocess, )-189(but )-189(to )-189(ignor)]TJ -0.4389 Tc 30.113 0 Td -(et)Tj -0 Tc 1.244 0 Td -(he)Tj --31.357 -1.2 Td -[(signal )-142(if )-142(the )-142(pr)18(ocess )-142(wasn\325t )-142(stopped.)]TJ -0.3925 Tc 17.337 0 Td -(Af)Tj -0 Tc 1.504 0 Td -[(ull-scr)18(een )-142(editor)]TJ -0.3925 Tc 7.269 0 Td -(,f)Tj -0 Tc 0.976 0 Td -[(or )-142(example,)]TJ --27.085 -1.2 Td -[(might )-208(catch )-208(this )-208(signal )-208(and )-208(use )-208(the )-208(signal )-208(handler )-208(to )-208(make )-208(a )-208(note )-208(to)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(draw the terminal scr)18(een. )-250(See)-250(Section 10.21 for additional details.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47023 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.2)]TJ -36.477 0 Td -[(Signal )-250(Concepts)]TJ -/T1_1 1 Tf -9.356 0 Td -(315)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-269(c)]TJ -0 Tc 2.166 0 Td -[(an )-85(tell )-85(the )-85(kernel )-85(to )-85(do )-85(one )-85(of )-85(thr)16(ee )-85(things )-85(when )-85(a )-85(signal )-85(occurs.)]TJ --0.092 Tc 29.828 0 Td -[(We )-269(c)]TJ -0 Tc 2.166 0 Td -[(all )-85(this)]TJ --35.96 -1.2 Td -(the)Tj -/T1_2 1 Tf -1.637 0 Td -(disposition)Tj -/T1_0 1 Tf -4.639 0 Td -(of the signal, or the)Tj -/T1_2 1 Tf -8.738 0 Td -(action)Tj -/T1_0 1 Tf -2.712 0 Td -(associated with a signal.)Tj --15.926 -2.04 Td -[(1. )-633(Ignor)]TJ -0.416 Tc 4.031 0 Td -(et)Tj -0 Tc 1.221 0 Td -[(he )-166(signal.)-666(This )-166(works )-166(for )-166(most )-166(signals, )-166(but )-166(two )-166(signals )-166(can )-166(never )-166(be)]TJ --3.619 -1.2 Td -[(ignor)18(ed:)]TJ -/TT0 1 Tf -3.968 0 Td -(SIGKILL)Tj -/T1_0 1 Tf -4.476 0 Td -(and)Tj -/TT0 1 Tf -1.969 0 Td -(SIGSTOP)Tj -/T1_0 1 Tf -0.5257 Tc (.T)Tj -0 Tc 5.589 0 Td -[(he )-26(r)18(eason )-26(these )-26(two )-26(signals )-26(can\325t )-26(be )-26(ignor)21(ed)]TJ --16.001 -1.2 Td -[(is )-8(to )-8(pr)18(ovide )-8(the )-8(kernel )-8(and )-8(the )-8(super)8(user )-8(with )-8(a )-8(sur)19(e\336r)]TJ -0.258 Tc 24.678 0 Td -(ew)Tj -0 Tc 1.571 0 Td -[(ay )-8(of )-8(either )-8(killing )-8(or)]TJ --26.249 -1.2 Td -[(stopping )-57(any )-57(pr)19(ocess. )-307(Also,)-306(if )-57(we )-57(ignor)]TJ -0.3067 Tc 17.778 0 Td -(es)Tj -0 Tc 1.21 0 Td -[(ome )-57(of )-57(the )-57(signals )-57(that )-57(ar)]TJ -0.3066 Tc 11.387 0 Td -(eg)Tj -0 Tc 1.342 0 Td -(enerated)Tj --31.716 -1.2 Td -[(by )-80(a )-80(har)19(dwar)]TJ -0.3297 Tc 6.049 0 Td -(ee)Tj -0 Tc 1.288 0 Td -[(xception )-80(\(such )-80(as )-80(illegal )-80(memory )-80(r)20(efer)18(ence )-80(or )-80(divide )-80(by )-80(0\), )-80(the)]TJ --7.337 -1.2 Td -[(behavior of the pr)18(ocess is unde\336ned.)]TJ --1.633 -1.72 Td -[(2. )-633(Catch)-537(the )-287(signal.)]TJ --0.092 Tc 10.337 0 Td -[(To )-471(d)]TJ -0.5372 Tc 2.215 0 Td -(ot)Tj -0 Tc 1.409 0 Td -[(his, )-287(we )-287(tell )-287(the )-287(kernel )-287(to )-287(call )-287(a )-287(function )-287(of )-287(ours)]TJ --12.328 -1.2 Td -[(whenever )-118(the )-118(signal )-118(occurs.)-617(In )-118(our )-118(function, )-118(we )-118(can )-118(do )-118(whatever )-118(we )-118(want )-118(to)]TJ -0 -1.2 TD -[(handle )-240(the )-240(condition.)-740(If )-240(we\325r)]TJ -0.4896 Tc 13.747 0 Td -(ew)Tj -0 Tc 1.803 0 Td -[(riting )-240(a )-240(command )-240(interpr)19(eter)]TJ -0.4896 Tc 13.515 0 Td -(,f)Tj -0 Tc 1.073 0 Td -[(or )-240(example,)]TJ --30.137 -1.2 Td -[(when )-32(the )-32(user )-32(generates )-32(the )-32(interr)8(upt )-32(signal )-32(at )-32(the )-32(keyboar)15(d, )-32(we )-32(pr)18(obably )-32(want)]TJ -T* -[(to )-77(r)18(eturn )-77(to )-77(the )-77(main )-77(loop )-77(of )-77(the )-77(pr)16(ogram, )-77(terminating )-77(whatever )-77(command )-77(we)]TJ -T* -(wer)Tj -0.3955 Tc 1.69 0 Td -(ee)Tj -0 Tc 1.354 0 Td -[(xecuting )-145(for )-145(the )-145(user)]TJ -0.6456 Tc 9.471 0 Td -(.I)Tj -0.3956 Tc 1.233 0 Td -(ft)Tj -0 Tc 1.055 0 Td -(he)Tj -/TT0 1 Tf -1.457 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.596 0 Td -[(signal )-146(is )-146(caught, )-146(it )-146(means )-146(that )-146(a)]TJ --20.854 -1.2 Td -[(child )-91(pr)18(ocess )-91(has )-91(terminated, )-91(so )-91(the )-91(signal-catching )-91(function )-91(can )-91(call)]TJ -/TT0 1 Tf -31.367 0 Td -(waitpid)Tj -/T1_0 1 Tf --31.367 -1.2 Td -[(to )-132(fetch )-132(the )-132(child\325s )-132(pr)18(ocess )-132(ID )-132(and )-132(termination )-132(status.)-632(As )-132(another )-132(example, )-132(if)]TJ -T* -[(the )-45(pr)18(ocess )-45(has )-45(cr)18(eated )-45(temporary )-45(\336les, )-45(we )-45(may )-45(want )-45(to )-45(write )-45(a )-45(signal-catching)]TJ -T* -[(function )-14(for )-14(the)]TJ -/TT0 1 Tf -7.16 0 Td -(SIGTERM)Tj -/T1_0 1 Tf -4.464 0 Td -[(signal )-14(\(the )-14(termination )-14(signal )-14(that )-14(is )-14(the )-14(default )-14(signal)]TJ --11.624 -1.2 Td -[(sent )-59(by )-59(the)]TJ -/TT0 1 Tf -5.235 0 Td -(kill)Tj -/T1_0 1 Tf -2.709 0 Td -[(command\) )-59(to )-59(clean )-59(up )-59(the )-59(temporary )-59(\336les.)-561(Note )-59(that )-59(the )-59(two)]TJ --7.944 -1.2 Td -(signals)Tj -/TT0 1 Tf -3.318 0 Td -(SIGKILL)Tj -/T1_0 1 Tf -4.45 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(SIGSTOP)Tj -/T1_0 1 Tf -4.45 0 Td -(can\325t be caught.)Tj --15.794 -1.72 Td -[(3. )-633(Let)-568(the )-318(default )-318(action )-318(apply)]TJ -0.8179 Tc 14.978 0 Td -(.E)Tj -0 Tc 1.679 0 Td -[(very )-318(signal )-318(has )-318(a )-318(default )-318(action, )-318(shown )-318(in)]TJ --15.024 -1.2 Td -(Figur)Tj -0.428 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.407 0 Td -[(0.1. )-428(Note)-428(that )-178(the )-178(default )-178(action )-178(for )-178(most )-178(signals )-178(is )-178(to )-178(terminate )-178(the)]TJ --3.79 -1.2 Td -[(pr)18(ocess.)]TJ --3.433 -2.16 Td -(Figur)Tj -0.2769 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.256 0 Td -[(0.1 )-27(lists )-27(the )-27(names )-27(of )-27(all )-27(the )-27(signals, )-27(an )-27(indication )-27(of )-27(which )-27(systems )-27(support )-27(the)]TJ --3.639 -1.2 Td -[(signal, )-54(and )-54(the )-54(default )-54(action )-54(for )-54(the )-54(signal.)-554(The )-54(SUS )-54(column )-54(contains )-54(\245 )-54(if )-54(the )-54(signal )-54(is)]TJ -T* -[(de\336ned )-89(as )-89(part )-89(of )-89(the )-89(base )-89(POSIX.1 )-89(speci\336cation )-89(and)]TJ -/T1_1 1 Tf -24.284 0 Td -(XSI)Tj -/T1_0 1 Tf -2.006 0 Td -[(if )-89(it )-89(is )-89(de\336ned )-89(as )-89(part )-89(of )-89(the)]TJ --26.29 -1.2 Td -(XSI option.)Tj -1.8 -1.2 Td -[(When )-21(the )-21(default )-21(action )-21(is )-21(labeled )-21(\324)39(\324terminate+cor)18(e,\325)37(\325)-271(it)-271(m)1(eans )-21(that )-21(a )-21(memory )-21(image)]TJ --1.8 -1.2 Td -[(of )-168(the )-168(pr)18(ocess )-168(is )-168(left )-168(in )-168(the )-168(\336le )-168(named)]TJ -/TT0 1 Tf -18.153 0 Td -(core)Tj -/T1_0 1 Tf -2.818 0 Td -[(of )-168(the )-168(curr)19(ent )-168(working )-168(dir)18(ectory )-168(of )-168(the)]TJ --20.971 -1.2 Td -[(pr)18(ocess. )-310(\(Because)-309(the )-60(\336le )-60(is )-60(named)]TJ -/TT0 1 Tf -16.058 0 Td -(core)Tj -/T1_0 1 Tf -[(,)-310(it)-310(s)1(hows )-60(how )-60(long )-60(this )-60(featur)]TJ -0.3096 Tc 16.113 0 Td -(eh)Tj -0 Tc 1.371 0 Td -[(as )-60(been )-60(part)]TJ --33.542 -1.2 Td -[(of )-221(the )-221(UNIX )-221(System.\))-719(This )-221(\336le )-221(can )-221(be )-221(used )-221(with )-221(most )-221(UNIX )-221(System )-221(debuggers )-221(to)]TJ -T* -[(examine the state of the pr)18(ocess at the time it terminated.)]TJ -7.9995 0 0 7.9995 183.5876 248.5851 Tm -[(The )-147(generation )-147(of )-147(the)]TJ -/TT0 1 Tf -10.263 0 Td -(core)Tj -/T1_0 1 Tf -2.797 0 Td -[(\336le )-147(is )-147(an )-147(implementation )-147(featur)19(e)-397(of)-397(m)1(ost )-147(versions )-147(of )-147(the )-147(UNIX)]TJ --13.06 -1.25 Td -[(System. )-647(Although)-647(this )-397(featur)18(e)-647(is)-647(not )-397(part )-397(of )-397(POSIX.1, )-397(it )-397(is )-397(mentioned )-397(as )-397(a )-397(potential)]TJ -0 -1.25 Td -(implementation-speci\336c action in the Single UNIX Speci\336cation\325s\ XSI option.)Tj -0 -2.125 TD -[(The )-133(name )-133(of )-133(the )-133(cor)]TJ -0.383 Tc 9.283 0 Td -(e\336)Tj -0 Tc 1.467 0 Td -[(le )-133(varies )-133(among )-133(implementations.)-633(On )-133(Fr)18(eeBSD )-133(8.0, )-133(for )-133(example, )-133(the)]TJ --10.75 -1.25 Td -(cor)Tj -0.26 Tc 1.367 0 Td -(e\336)Tj -0 Tc 1.344 0 Td -[(le )-10(is )-10(named)]TJ -/T1_2 1 Tf -5.32 0 Td -(cmdname)Tj -/T1_0 1 Tf -[(.cor)18(e, )-10(wher)18(e)]TJ -/T1_2 1 Tf -9.469 0 Td -(cmdname)Tj -/T1_0 1 Tf -4.112 0 Td -[(is )-10(the )-10(name )-10(of )-10(the )-10(command )-10(corr)18(esponding )-10(to)]TJ --21.612 -1.25 Td -[(the )-20(pr)18(ocess )-20(that )-20(r)18(eceived )-20(the )-20(signal.)-520(On )-20(Mac )-20(OS )-20(X )-20(10.6.8, )-20(the )-20(cor)]TJ -0.2699 Tc 28.652 0 Td -(e\336)Tj -0 Tc 1.354 0 Td -[(le )-20(is )-20(named )-20(cor)18(e.)]TJ -/T1_2 1 Tf -(pid)Tj -/T1_0 1 Tf -0.2699 Tc (,w)Tj -0 Tc 10.077 0 Td -[(her)18(e)]TJ -/T1_2 1 Tf --40.083 -1.25 Td -(pid)Tj -/T1_0 1 Tf -1.581 0 Td -[(is )-53(the )-53(ID )-53(of )-53(the )-53(pr)20(ocess )-53(that )-53(r)18(eceived )-53(the )-53(signal.)-553(\(These )-53(systems )-53(allow )-53(the )-53(cor)]TJ -0.3028 Tc 34.644 0 Td -(e\336)Tj -0 Tc 1.387 0 Td -[(lename )-53(to)]TJ --37.611 -1.25 Td -[(be )-256(con\336gur)18(ed )-256(via )-256(a)]TJ -/TT0 1 Tf -9.717 0 Td -(sysctl)Tj -/T1_0 1 Tf -4.106 0 Td -(parameter)Tj -0.7564 Tc 4.484 0 Td -(.O)Tj -0.5064 Tc 1.792 0 Td -(nL)Tj -0 Tc 1.699 0 Td -[(inux )-256(3.2.0, )-256(the )-256(name )-256(is )-256(con\336gur)18(ed )-256(thr)16(ough)]TJ -/TT0 1 Tf --21.799 -1.25 Td -(/proc/sys/kernel/core_pattern)Tj -/T1_0 1 Tf -(.\))Tj -T* -[(Most )-12(implementations )-12(leave )-12(the )-12(cor)]TJ -0.2616 Tc 15.841 0 Td -(e\336)Tj -0 Tc 1.346 0 Td -[(le )-12(in )-12(the )-12(curr)18(ent )-12(working )-12(dir)18(ectory )-12(of )-12(the )-12(corr)21(esponding)]TJ --17.186 -1.25 Td -[(pr)18(ocess; )-250(Mac)-250(OS X places all cor)]TJ -0.25 Tc 14.351 0 Td -(e\336)Tj -0 Tc 1.334 0 Td -(les in)Tj -/TT0 1 Tf -2.567 0 Td -(/cores)Tj -/T1_0 1 Tf -3.85 0 Td -(instead.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47024 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.1)]TJ -21.8583 Tc 4.888 0 Td -(1C)Tj -0 Tc 23.067 0 Td -[(hanging )-250(User )-250(IDs )-250(and )-250(Gr)18(oup )-250(IDs)]TJ -/T1_1 1 Tf -17.878 0 Td -(257)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(Figur)Tj -0.25 Tc 2.383 0 Td -(e8)Tj -0 Tc 1.229 0 Td -[(.18 summarizes the various ways these thr)18(ee user IDs can be changed.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1376.25 6550.25 cm -0 0 m -3739 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 290.4171 646.9224 Tm -(exec )Tj -17.178 0 Td -(setuid\()Tj -/T1_2 1 Tf -(uid)Tj -/TT0 1 Tf -(\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2088.25 6430.25 cm -0 0 m -3027 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 223.3998 634.8857 Tm -[(set-user)18(-ID bit of)]TJ -3.68 Tc 7.42 0 Td -(fs)Tj -0 Tc 4.437 0 Td -[(et-user)18(-ID bit on)-2606(super)8(user )-1250(unprivileged)-250(user)]TJ --18.812 0.75 Td -(ID)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1376.25 6310.25 cm -0 0 m -3739 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1376.25 6290.25 cm -0 0 m -3739 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.018 Tc 7.9981 0 0 7.9981 141.594 620.851 Tm -(re)Tj -0 Tc 0.856 0 Td -[(al user ID)-3994(unchanged )]TJ -19.697 0 Td -(unchanged )Tj -11.4 0 Td -[(set)-250(to)]TJ -/T1_2 1 Tf -2.601 0 Td -(uid)Tj -/T1_0 1 Tf -3.294 0 Td -(unchanged)Tj --37.848 -1.25 Td -[(ef)18(fective user ID)-1930(unchanged )]TJ -31.953 0 Td -[(set)-250(to)]TJ -/T1_2 1 Tf -2.601 0 Td -(uid)Tj -/T1_0 1 Tf -3.294 0 Td -(set to)Tj -/T1_2 1 Tf -2.601 0 Td -(uid)Tj -/T1_0 1 Tf --19.896 0 Td -[(set fr)18(om user ID of)]TJ -1.35 -1.25 Td -[(pr)18(ogram \336le)]TJ --21.903 -1.25 Td -(saved set-user ID)Tj -31.953 0 Td -(set to)Tj -/T1_2 1 Tf -2.601 0 Td -(uid)Tj -/T1_0 1 Tf -3.294 0 Td -(unchanged)Tj --28.695 0 Td -[(copied fr)18(om ef)18(fective)]TJ -1.35 -1.25 Td -(user ID)Tj -10.05 1.25 Td -[(copied fr)18(om ef)18(fective)]TJ -1.35 -1.25 Td -(user ID)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1376.25 5770.25 cm -0 0 m -3739 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4384.25 5770.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3902.25 5770.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3922.25 5770.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3000.25 5770.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2088.25 5770.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5115.25 5770.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1376.25 5770.25 cm -0 0 m -0 780 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 241.8714 558.8323 Tm -(Figure 8.18)Tj -/T1_0 1 Tf --0.092 Tc 5.695 0 Td -(Wa)Tj -0 Tc 1.408 0 Td -[(ys to change the thr)18(ee user IDs)]TJ -9.997 0 0 9.997 129.5614 534.8395 Tm -[(Note )-34(that )-34(we )-34(can )-34(obtain )-34(only )-34(the )-34(curr)18(ent )-34(value )-34(of )-34(the )-34(r)20(eal )-34(user )-34(ID )-34(and )-34(the )-34(ef)18(fective )-34(user)]TJ -0 -1.2 TD -[(ID )-3(with )-3(the )-3(functions)]TJ -/TT0 1 Tf -9.674 0 Td -(getuid)Tj -/T1_0 1 Tf -3.853 0 Td -(and)Tj -/TT0 1 Tf -1.946 0 Td -(geteuid)Tj -/T1_0 1 Tf -4.453 0 Td -[(fr)18(om )-3(Section )-3(8.2.)]TJ --0.092 Tc 7.841 0 Td -[(We )-187(h)]TJ -0 Tc 2.222 0 Td -[(ave )-3(no )-3(portable )-3(way)]TJ --29.988 -1.2 Td -[(to obtain the curr)18(ent value of the saved set-user)18(-ID.)]TJ -7.9976 0 0 7.9976 183.5448 490.8527 Tm -[(Fr)18(eeBSD )-87(8.0 )-87(and )-87(LINUX )-87(3.2.0 )-87(pr)18(ovide )-87(the)]TJ -/TT0 1 Tf -19.183 0 Td -(getresuid)Tj -/T1_0 1 Tf -5.737 0 Td -(and)Tj -/TT0 1 Tf -2.03 0 Td -(getresgid)Tj -/T1_0 1 Tf -5.737 0 Td -[(functions, )-87(which )-87(can)]TJ --32.687 -1.25 Td -[(be used to get the saved set-user)18(-ID and saved set-gr)18(oup-ID, r)18(espectively)111(.)]TJ -/TT1 1 Tf -9.997 0 0 9.997 93.5718 450.8647 Tm -(setreuid)Tj -/TT2 1 Tf -5.078 0 Td -(and)Tj -/TT1 1 Tf -2.056 0 Td -(setregid)Tj -/TT2 1 Tf -5.078 0 Td -(Functions)Tj -/T1_0 1 Tf --8.612 -2.4 Td -(Historically)Tj -0.3338 Tc 5.076 0 Td -(,B)Tj -0 Tc 1.195 0 Td -[(SD )-84(supported )-84(the )-84(swapping )-84(of )-84(the )-84(r)19(eal )-84(user )-84(ID )-84(and )-84(the )-84(ef)18(fective )-84(user )-84(ID)]TJ --6.271 -1.2 Td -(with the)Tj -/TT0 1 Tf -3.92 0 Td -(setreuid)Tj -/T1_0 1 Tf -5.05 0 Td -(function.)Tj -/TT0 1 Tf -8.9973 0 0 8.9973 147.5559 396.9809 Tm -(#include )Tj -0 -1.902 TD -(int setreuid\(uid_t)Tj -/T1_2 1 Tf -11.4 0 Td -(ruid)Tj -/TT0 1 Tf -0.6 Tc (,u)Tj -0 Tc 3.523 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(euid)Tj -/TT0 1 Tf -(\);)Tj --17.923 -1.902 Td -(int setregid\(gid_t)Tj -/T1_2 1 Tf --0.018 Tc 11.4 0 Td -(rg)Tj -0 Tc 0.871 0 Td -(id)Tj -/TT0 1 Tf -0.6 Tc (,g)Tj -0 Tc 2.578 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(egid)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -7.402 -1.902 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT3 1 Tf -9.213 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3412.25 cm -0 0 m -0 649 l -3900 649 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9964 0 0 9.9964 129.5534 326.4225 Tm -[(We )-202(c)]TJ -0 Tc 2.099 0 Td -[(an )-18(supply )-18(a )-18(value )-18(of)]TJ -/TT3 1 Tf -9.314 0 Td -(!)Tj -/T1_0 1 Tf -0.2679 Tc (1f)Tj -0 Tc 1.65 0 Td -[(or )-18(any )-18(of )-18(the )-18(ar)18(guments )-18(to )-18(indicate )-18(that )-18(the )-18(corr)19(esponding)]TJ --13.063 -1.2 Td -[(ID should r)18(emain unchanged.)]TJ -1.8 -1.2 Td -[(The )-60(r)8(ule )-60(is )-60(simple: )-60(an )-60(unprivileged )-60(user )-60(can )-60(always )-60(swap )-60(between )-60(the )-60(r)18(eal )-60(user )-60(ID)]TJ --1.8 -1.2 Td -[(and )-213(the )-213(ef)18(fective )-213(user )-213(ID.)-713(This )-213(allows )-213(a )-213(set-user)15(-ID )-213(pr)18(ogram )-213(to )-213(swap )-213(to )-213(the )-213(user)-76(\325s)]TJ -0 -1.2 TD -[(normal )-164(permissions )-164(and )-164(swap )-164(back )-164(again )-164(later )-164(for )-164(set-user)18(-ID )-164(operations.)-664(When )-164(the)]TJ -T* -[(saved )-88(set-user)18(-ID )-88(featur)]TJ -0.3382 Tc 10.762 0 Td -(ew)Tj -0 Tc 1.651 0 Td -[(as )-88(intr)18(oduced )-88(with )-88(POSIX.1, )-88(the )-88(r)7(ule )-88(was )-88(enhanced )-88(to )-88(also)]TJ --12.414 -1.2 Td -[(allow an unprivileged user to set its ef)18(fective user ID to its saved set-user)18(-ID.)]TJ -7.9971 0 0 7.9971 183.5337 234.4556 Tm -(Both)Tj -/TT0 1 Tf -2.362 0 Td -(setreuid)Tj -/T1_0 1 Tf -5.097 0 Td -(and)Tj -/TT0 1 Tf -1.99 0 Td -(setregid)Tj -/T1_0 1 Tf -5.097 0 Td -(ar)Tj -0.2968 Tc 0.877 0 Td -(ei)Tj -0 Tc 1.067 0 Td -[(ncluded )-47(in )-47(the )-47(XSI )-47(option )-47(in )-47(POSIX.1.)-547(As )-47(such, )-47(all )-47(UNIX)]TJ --16.488 -1.25 Td -(System implementations ar)Tj -0.25 Tc 12.054 0 Td -(ee)Tj -0 Tc 1.208 0 Td -[(xpected to pr)18(ovide support for them.)]TJ --13.262 -2.5 Td -[(4.3BSD )-206(didn\325t )-206(have )-206(the )-206(saved )-206(set-user)18(-ID )-206(featur)]TJ -0.4558 Tc 22.192 0 Td -(ed)Tj -0 Tc 1.546 0 Td -[(escribed )-206(earlier; )-206(it )-206(used)]TJ -/TT0 1 Tf -11.313 0 Td -(setreuid)Tj -/T1_0 1 Tf -5.256 0 Td -(and)Tj -/TT0 1 Tf --40.307 -1.25 Td -(setregid)Tj -/T1_0 1 Tf -5.186 0 Td -[(instead. )-386(This)-386(allowed )-136(an )-136(unprivileged )-136(user )-136(to )-136(swap )-136(back )-136(and )-136(forth )-136(between )-136(the)]TJ --5.186 -1.25 Td -[(two )-102(values.)-602(Be )-102(awar)18(e, )-102(however)]TJ -0.3525 Tc 14.314 0 Td -(,t)Tj -0 Tc 0.929 0 Td -[(hat )-102(when )-102(pr)17(ograms )-102(that )-102(used )-102(this )-102(featur)]TJ -0.3524 Tc 18.374 0 Td -(es)Tj -0 Tc 1.255 0 Td -[(pawned )-102(a )-102(shell,)]TJ --34.871 -1.25 Td -[(they )-68(had )-68(to )-68(set )-68(the )-68(r)18(eal )-68(user )-68(ID )-68(to )-68(the )-68(normal )-68(user )-68(ID )-68(befor)]TJ -0.3176 Tc 26.668 0 Td -(et)Tj -0 Tc 1.123 0 Td -(he)Tj -/TT0 1 Tf -1.379 0 Td -(exec)Tj -/T1_0 1 Tf -0.5676 Tc (.I)Tj -0.3178 Tc 3.555 0 Td -(ft)Tj -0 Tc 0.977 0 Td -[(hey )-68(didn\325t )-68(do )-68(this,)]TJ --33.701 -1.25 Td -[(the )-47(r)18(eal )-47(user )-47(ID )-47(could )-47(be )-47(privileged )-47(\(fr)18(om )-47(the )-47(swap )-47(done )-47(by)]TJ -/TT0 1 Tf -27.238 0 Td -(setreuid)Tj -/T1_0 1 Tf -0.2968 Tc (\)a)Tj -0 Tc 5.93 0 Td -[(nd )-47(the )-47(shell )-47(pr)19(ocess)]TJ --33.168 -1.25 Td -[(could )-12(call)]TJ -/TT0 1 Tf -4.546 0 Td -(setreuid)Tj -/T1_0 1 Tf -5.062 0 Td -[(to )-12(swap )-12(the )-12(two )-12(and )-12(assume )-12(the )-12(permissions )-12(of )-12(the )-12(mor)]TJ -0.2624 Tc 24.753 0 Td -(ep)Tj -0 Tc 1.342 0 Td -[(rivileged )-12(user)74(.)]TJ --35.703 -1.25 Td -[(As )-3(a )-3(defensive )-3(pr)18(ogramming )-3(measur)18(e)-253(to)-253(solve )-3(this )-3(pr)18(oblem, )-3(pr)18(ograms )-3(set )-3(both )-3(the )-3(r)18(eal )-3(user )-3(ID)]TJ --0 -1.25 Td -[(and the ef)18(fective user ID to the normal user ID befor)]TJ -0.25 Tc 23.059 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he call to)Tj -/TT0 1 Tf -4.209 0 Td -(exec)Tj -/T1_0 1 Tf -2.65 0 Td -(in the child.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47025 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(252)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -(Historically)Tj -0.2905 Tc 5.076 0 Td -(,t)Tj -0 Tc 0.866 0 Td -[(he )-40(limit )-40(in )-40(older )-40(System )-40(V )-40(implementations )-40(was )-40(5,120 )-40(bytes.)-545(Older )-41(BSD )-41(systems)]TJ --5.942 -1.25 Td -[(had )-45(a )-45(limit )-45(of )-45(20,480 )-45(bytes.)-548(The )-45(limit )-45(in )-45(curr)18(ent )-45(systems )-45(is )-45(much )-45(higher)]TJ -0.5454 Tc 31.972 0 Td -(.\()Tj -0 Tc 1.128 0 Td -[(See )-45(the )-45(output )-45(fr)17(om)]TJ --33.1 -1.25 Td -[(the pr)18(ogram in Figur)]TJ -0.25 Tc 9.251 0 Td -(e2)Tj -0 Tc 1.229 0 Td -(.14, which is summarized in Figur)Tj -0.25 Tc 15.023 0 Td -(e2)Tj -0 Tc 1.229 0 Td -(.15.\))Tj --0.092 Tc 9.9994 0 0 9.9994 147.5908 627.9623 Tm -[(To )-510(g)]TJ -0 Tc 2.199 0 Td -[(et )-326(ar)18(ound )-326(the )-326(limitation )-326(in )-326(ar)19(gument )-326(list )-326(size, )-326(we )-326(can )-326(use )-326(the)]TJ -/TT0 1 Tf -30.835 0 Td -(xargs)Tj -/T1_1 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj --38.667 -1.24 Td -[(command )-414(to )-414(br)18(eak )-414(up )-414(long )-414(ar)18(gument )-414(lists.)]TJ --0.092 Tc 22.173 0 Td -[(To )-598(l)]TJ -0 Tc 2.022 0 Td -[(ook )-414(for )-414(all )-414(the )-414(occurr)19(ences )-414(of)]TJ -/TT0 1 Tf --24.195 -1.2 Td -(getrlimit)Tj -/T1_1 1 Tf -5.65 0 Td -(in the man pages on our system, we could use)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 587.2648 Tm -(find /usr/share/man -type f -print | xargs grep getrlimit)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5921 569.2658 Tm -(If the man pages on our system ar)Tj -0.25 Tc 14.973 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(ompr)18(essed, however)74(,)-250(we)-250(could try)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 552.5668 Tm -(find /usr/share/man -type f -print | xargs bzgrep getrlimit)Tj -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5921 534.5679 Tm -[(We )-255(u)]TJ -0 Tc 2.311 0 Td -[(se )-71(the)]TJ -/TT0 1 Tf -2.931 0 Td -[(type )279(-f)]TJ -/T1_1 1 Tf -4.241 0 Td -[(option )-71(to )-71(the)]TJ -/TT0 1 Tf -6.113 0 Td -(find)Tj -/T1_1 1 Tf -2.721 0 Td -[(command )-71(to )-71(r)18(estrict )-71(the )-71(list )-71(so )-71(that )-71(it )-71(contains)]TJ --18.316 -1.2 Td -[(only )-84(r)18(egular )-84(\336les, )-84(because )-84(the)]TJ -/TT0 1 Tf -13.762 0 Td -(grep)Tj -/T1_1 1 Tf -2.734 0 Td -[(commands )-84(can\325t )-84(sear)19(ch )-84(for )-84(patterns )-84(in )-84(dir)20(ectories,)]TJ --16.496 -1.2 Td -[(and we want to avoid unnecessary err)18(or messages.)]TJ --0.092 Tc 1.8 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-107(mentioned )-107(that )-107(the )-107(pr)18(ocess )-107(ID )-107(does )-107(not )-107(change )-107(after )-107(an)]TJ -/TT0 1 Tf -27.328 0 Td -(exec)Tj -/T1_1 1 Tf -0.3571 Tc (,b)Tj -0 Tc 3.56 0 Td -[(ut )-107(the )-107(new)]TJ --34.075 -1.2 Td -[(pr)18(ogram inherits additional pr)18(operties fr)18(om the calling pr)18(ocess:)]TJ -0.883 Tc 1.8 -2.04 Td -(\245P)Tj --0.018 Tc 2.093 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess ID and par)18(ent pr)18(ocess ID)]TJ -0.883 Tc -3.016 -1.6 Td -(\245R)Tj -0 Tc 2.157 0 Td -[(eal user ID and r)18(eal gr)18(oup ID)]TJ -0.883 Tc -2.157 -1.6 Td -(\245S)Tj -0 Tc 2.014 0 Td -[(upplementary gr)18(oup IDs)]TJ -0.883 Tc -2.014 -1.6 Td -(\245P)Tj --0.018 Tc 2.093 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess gr)18(oup ID)]TJ -0.883 Tc -3.016 -1.6 Td -(\245S)Tj -0 Tc 2.014 0 Td -(ession ID)Tj -0.883 Tc -2.014 -1.6 Td -(\245C)Tj -0 Tc 2.198 0 Td -[(ontr)18(olling terminal)]TJ -0.883 Tc -2.198 -1.6 Td -(\245T)Tj -0 Tc 2.047 0 Td -(ime left until alarm clock)Tj -0.883 Tc -2.047 -1.6 Td -(\245C)Tj -0 Tc 2.198 0 Td -[(urr)18(ent working dir)18(ectory)]TJ -0.883 Tc -2.198 -1.6 Td -(\245R)Tj -0 Tc 2.157 0 Td -[(oot dir)18(ectory)]TJ -0.883 Tc -2.157 -1.6 Td -(\245F)Tj -0 Tc 2.045 0 Td -[(ile mode cr)18(eation mask)]TJ -0.883 Tc -2.045 -1.6 Td -(\245F)Tj -0 Tc 2.045 0 Td -(ile locks)Tj -0.883 Tc -2.045 -1.6 Td -(\245P)Tj --0.018 Tc 2.093 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(cess signal mask)Tj -0.883 Tc -3.016 -1.6 Td -(\245P)Tj -0 Tc 2.093 0 Td -(ending signals)Tj -0.883 Tc -2.093 -1.6 Td -(\245R)Tj -0 Tc 2.157 0 Td -[(esour)18(ce limits)]TJ -0.883 Tc -2.157 -1.6 Td -(\245N)Tj -0 Tc 2.32 0 Td -(ice value \(on XSI-conformant systems; see Section 8.16\))Tj -0.883 Tc -2.32 -1.6 Td -(\245V)Tj -0 Tc 2.119 0 Td -(alues for)Tj -/TT0 1 Tf -4.071 0 Td -(tms_utime)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -5.9 0 Td -(tms_stime)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -5.9 0 Td -(tms_cutime)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 7 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(tms_cstime)Tj -/T1_1 1 Tf --28.233 -2.04 Td -[(The )-221(handling )-221(of )-221(open )-221(\336les )-221(depends )-221(on )-221(the )-221(value )-221(of )-221(the )-221(close-on-exec )-221(\337ag )-221(for )-221(each)]TJ -0 -1.2 TD -(descriptor)Tj -0.8674 Tc 4.438 0 Td -(.R)Tj -0 Tc 1.785 0 Td -[(ecall )-367(fr)18(om )-367(Figur)]TJ -0.6174 Tc 7.762 0 Td -(e3)Tj -0 Tc 1.596 0 Td -[(.7 )-367(and )-367(our )-367(mention )-367(of )-367(the)]TJ -/TT0 1 Tf -13.646 0 Td -(FD_CLOEXEC)Tj -/T1_1 1 Tf -6.617 0 Td -[(\337ag )-367(in)]TJ --35.846 -1.2 Td -[(Section )-46(3.14 )-46(that )-46(every )-46(open )-46(descriptor )-46(in )-46(a )-46(pr)18(ocess )-46(has )-46(a )-46(close-on-exec )-46(\337ag.)-545(If )-46(this )-46(\337ag)]TJ -T* -[(is )-150(set, )-150(the )-150(descriptor )-150(is )-150(closed )-150(acr)18(oss )-150(an)]TJ -/TT0 1 Tf -18.602 0 Td -(exec)Tj -/T1_1 1 Tf -0.6502 Tc (.O)Tj -0 Tc 4.086 0 Td -[(therwise, )-150(the )-150(descriptor )-150(is )-150(left )-150(open)]TJ --22.688 -1.2 Td -[(acr)18(oss )-54(the)]TJ -/TT0 1 Tf -4.709 0 Td -(exec)Tj -/T1_1 1 Tf -0.5537 Tc (.T)Tj -0 Tc 3.817 0 Td -[(he )-54(default )-54(is )-54(to )-54(leave )-54(the )-54(descriptor )-54(open )-54(acr)20(oss )-54(the)]TJ -/TT0 1 Tf -23.351 0 Td -(exec)Tj -/T1_1 1 Tf -2.704 0 Td -[(unless )-54(we)]TJ --34.581 -1.2 Td -(speci\336cally set the close-on-exec \337ag using)Tj -/TT0 1 Tf -19.058 0 Td -(fcntl)Tj -/T1_1 1 Tf -(.)Tj --17.258 -1.2 Td -[(POSIX.1 )-342(speci\336cally )-342(r)17(equir)18(es )-342(that )-342(open )-342(dir)17(ectory )-343(str)18(eams )-343(\(r)18(ecall )-343(the)]TJ -/TT0 1 Tf -33 0 Td -(opendir)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47026 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.6)]TJ -/TT0 1 Tf -29.686 0 Td -(wait)Tj -/T1_0 1 Tf -2.9 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.7 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(239)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(For both functions, the ar)16(gument)]TJ -/T1_2 1 Tf -14.83 0 Td -(statloc)Tj -/T1_0 1 Tf -2.879 0 Td -(is a pointer to an integer)Tj -0.5005 Tc 10.676 0 Td -(.I)Tj -0.2505 Tc 1.087 0 Td -(ft)Tj -0 Tc 0.909 0 Td -[(his ar)18(gument is)]TJ --32.181 -1.2 Td -[(not )-216(a )-216(null )-216(pointer)]TJ -0.4658 Tc 8.264 0 Td -(,t)Tj -0 Tc 1.042 0 Td -[(he )-216(termination )-216(status )-216(of )-216(the )-216(terminated )-216(pr)18(ocess )-216(is )-216(stor)20(ed )-216(in )-216(the)]TJ --9.306 -1.2 Td -[(location )-68(pointed )-68(to )-68(by )-68(the )-68(ar)17(gument. )-318(If)-319(we )-68(don\325t )-68(car)]TJ -0.3183 Tc 23.648 0 Td -(ea)Tj -0 Tc 1.297 0 Td -[(bout )-68(the )-68(termination )-68(status, )-68(we)]TJ --24.945 -1.2 Td -[(simply pass a null pointer as this ar)18(gument.)]TJ --0.09 Tc 1.8 -1.2 Td -(Tr)Tj -0 Tc 0.918 0 Td -(aditionally)Tj -0.2969 Tc 4.674 0 Td -(,t)Tj -0 Tc 0.873 0 Td -[(he )-47(integer )-47(status )-47(that )-47(these )-47(two )-47(functions )-47(r)18(eturn )-47(has )-47(been )-47(de\336ned )-47(by)]TJ --8.265 -1.2 Td -[(the )-161(implementation, )-161(with )-161(certain )-161(bits )-161(indicating )-161(the )-161(exit )-161(status )-161(\(for )-161(a )-161(normal )-161(r)16(eturn\),)]TJ -0 -1.2 TD -[(other )-212(bits )-212(indicating )-212(the )-212(signal )-212(number )-212(\(for )-212(an )-212(abnormal )-212(r)18(eturn\), )-212(one )-212(bit )-212(indicating)]TJ -T* -[(whether )-147(a )-147(cor)]TJ -0.3967 Tc 6.337 0 Td -(e\336)Tj -0 Tc 1.481 0 Td -[(le )-147(was )-147(generated, )-147(and )-147(so )-147(on.)-647(POSIX.1 )-147(speci\336es )-147(that )-147(the )-147(termination)]TJ --7.818 -1.2 Td -[(status )-24(is )-24(to )-24(be )-24(looked )-24(at )-24(using )-24(various )-24(macr)18(os )-24(that )-24(ar)]TJ -0.2742 Tc 23.384 0 Td -(ed)Tj -0 Tc 1.364 0 Td -[(e\336ned )-24(in)]TJ -/TT0 1 Tf -4.177 0 Td -()Tj -/T1_0 1 Tf -0.5242 Tc (.F)Tj -0 Tc 8.53 0 Td -(our)Tj --37.456 -1.2 Td -[(mutually )-80(exclusive )-80(macr)18(os )-80(tell )-80(us )-80(how )-80(the )-80(pr)18(ocess )-80(terminated, )-80(and )-80(they )-80(all )-80(begin )-80(with)]TJ -/TT0 1 Tf -T* -(WIF)Tj -/T1_0 1 Tf -0.5752 Tc (.B)Tj -0 Tc 3.236 0 Td -[(ased )-75(on )-75(which )-75(of )-75(these )-75(four )-75(macr)17(os )-75(is )-75(tr)8(ue, )-75(other )-75(macr)18(os )-75(ar)]TJ -0.3251 Tc 26.811 0 Td -(eu)Tj -0 Tc 1.407 0 Td -[(sed )-75(to )-75(obtain )-75(the)]TJ --31.454 -1.2 Td -[(exit )-44(status, )-44(signal )-44(number)]TJ -0.2945 Tc 11.414 0 Td -(,a)Tj -0 Tc 1.044 0 Td -[(nd )-44(the )-44(like.)-545(The )-45(four )-45(mutually )-45(exclusive )-45(macr)18(os )-45(ar)]TJ -0.2946 Tc 22.801 0 Td -(es)Tj -0 Tc 1.198 0 Td -(hown)Tj --36.456 -1.2 Td -(in Figur)Tj -0.25 Tc 3.506 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.4.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1452.25 5050.25 cm -0 0 m -3588 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 181.3262 496.9404 Tm -(Macr)Tj -18.689 Tc 2.267 0 Td -(oD)Tj -0 Tc 20.009 0 Td -(escription)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1452.25 4930.25 cm -0 0 m -3588 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1452.25 4910.25 cm -0 0 m -3588 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 149.1971 482.9131 Tm -(WIFEXITED\()Tj -/T1_2 1 Tf -(status)Tj -/TT0 1 Tf -(\))Tj -/T1_0 1 Tf --0.09 Tc 12.344 0 Td -[(Tr )78(u)]TJ -0 Tc 1.513 0 Td -[(e)-250(if)-250(status was r)18(eturned for a child that terminated normally)]TJ -0.5 Tc 26.348 0 Td -(.I)Tj -0.25 Tc 1.087 0 Td -(nt)Tj -0 Tc 1.158 0 Td -(his)Tj --30.106 -1.25 Td -(case, we can execute)Tj -/TT0 1 Tf -2.25 -1.75 Td -(WEXITSTATUS\()Tj -/T1_2 1 Tf -(status)Tj -/TT0 1 Tf -(\))Tj -/T1_0 1 Tf --2.25 -1.75 Td -[(to fetch the low-or)18(der 8 bits of the ar)18(gument that the child passed to)]TJ -/TT0 1 Tf -0 -1.25 TD -(exit)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -2.9 0 Td -(_exit)Tj -/T1_0 1 Tf -0.25 Tc (,o)Tj -0 Tc 4.046 0 Td -(r)Tj -/TT0 1 Tf -0.645 0 Td -(_Exit)Tj -/T1_0 1 Tf -(.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1452.25 4310.25 cm -0 0 m -3588 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 149.1882 422.8985 Tm -(WIFSIGNALED\()Tj -/T1_2 1 Tf -(status)Tj -/TT0 1 Tf -(\))Tj -/T1_0 1 Tf --0.09 Tc 12.344 0 Td -[(Tr )78(u)]TJ -0 Tc 1.513 0 Td -[(e)-250(if)-250(status was r)18(eturned for a child that terminated abnormally)]TJ -0.25 Tc 27.401 0 Td -(,b)Tj -0 Tc 1.053 0 Td -(y)Tj --0.018 Tc -29.967 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(ceipt of a signal that it didn\325t catch.)-500(In this case, we can execute)]TJ -/TT0 1 Tf -1.394 -1.75 Td -(WTERMSIG\()Tj -/T1_2 1 Tf -(status)Tj -/TT0 1 Tf -(\))Tj -/T1_0 1 Tf --2.25 -1.75 Td -(to fetch the signal number that caused the termination.)Tj --0 -1.875 Td -(Additionally)Tj -0.25 Tc 5.563 0 Td -(,s)Tj -0 Tc 0.924 0 Td -(ome implementations \(but not the Single UNIX)Tj --6.487 -1.25 Td -[(Speci\336cation\) de\336ne the macr)18(o)]TJ -/TT0 1 Tf -2.25 -1.75 Td -(WCOREDUMP\()Tj -/T1_2 1 Tf -(status)Tj -/TT0 1 Tf -(\))Tj -/T1_0 1 Tf --2.25 -1.75 Td -[(that r)18(eturns tr)8(ue if a cor)]TJ -0.25 Tc 10.456 0 Td -(e\336)Tj -0 Tc 1.334 0 Td -[(le of the terminated pr)18(ocess was generated.)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1452.25 3280.25 cm -0 0 m -3588 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 149.1792 319.904 Tm -(WIFSTOPPED\()Tj -/T1_2 1 Tf -(status)Tj -/TT0 1 Tf -(\))Tj -/T1_0 1 Tf --0.09 Tc 12.344 0 Td -[(Tr )78(u)]TJ -0 Tc 1.513 0 Td -[(e)-250(if)-250(status was r)18(eturned for a child that is curr)18(ently stopped.)-500(In this)]TJ --1.513 -1.25 Td -(case, we can execute)Tj -/TT0 1 Tf -2.25 -1.75 Td -(WSTOPSIG\()Tj -/T1_2 1 Tf -(status)Tj -/TT0 1 Tf -(\))Tj -/T1_0 1 Tf --2.25 -1.75 Td -(to fetch the signal number that caused the child to stop.)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1452.25 2780.25 cm -0 0 m -3588 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 149.1703 269.9028 Tm -(WIFCONTINUED\()Tj -/T1_2 1 Tf -(status)Tj -/TT0 1 Tf -(\))Tj -/T1_0 1 Tf --0.09 Tc 12.344 0 Td -[(Tr )78(u)]TJ -0 Tc 1.513 0 Td -[(e)-250(if)-250(status was r)18(eturned for a child that has been continued after a)]TJ --1.513 -1.25 Td -[(job contr)18(ol stop \(XSI option;)]TJ -/TT0 1 Tf -12.596 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.45 0 Td -(only\).)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1452.25 2560.25 cm -0 0 m -3588 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2420.25 2560.25 cm -0 0 m -0 2490 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5040.25 2560.25 cm -0 0 m -0 2490 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1452.25 2560.25 cm -0 0 m -0 2490 l -S -Q -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 172.6115 237.9001 Tm -(Figure 8.4)Tj -/T1_0 1 Tf -5.195 0 Td -[(Macr)18(os to examine the termination status r)18(eturned by)]TJ -/TT0 1 Tf -23.991 0 Td -(wait)Tj -/T1_0 1 Tf -2.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(waitpid)Tj -/T1_0 1 Tf --0.092 Tc 9.9958 0 0 9.9958 129.5459 207.9127 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ll discuss how a pr)18(ocess can be stopped in Section 9.8 when we discuss job contr)18(ol.)]TJ -/TT1 1 Tf --4.987 -2.76 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(The )-330(function)]TJ -/TT0 1 Tf -6.542 0 Td -(pr_exit)Tj -/T1_0 1 Tf -4.78 0 Td -[(in )-330(Figur)]TJ -0.5803 Tc 3.836 0 Td -(e8)Tj -0 Tc 1.559 0 Td -[(.5 )-330(uses )-330(the )-330(macr)18(os )-330(fr)18(om )-330(Figur)]TJ -0.5804 Tc 14.665 0 Td -(e8)Tj -0 Tc 1.559 0 Td -[(.4 )-330(to )-330(print )-330(a)]TJ --32.942 -1.2 Td -[(description )-61(of )-61(the )-61(termination )-61(status.)]TJ --0.092 Tc 17.114 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-61(call )-61(this )-61(function )-61(fr)18(om )-61(numer)18(ous )-61(pr)19(ograms)]TJ --18.501 -1.2 Td -[(in the text.)-500(Note that this function handles the)]TJ -/TT0 1 Tf -20.759 0 Td -(WCOREDUMP)Tj -/T1_0 1 Tf -5.65 0 Td -[(macr)18(o, if it is de\336ned.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47027 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(222)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Envir)18(onment )]TJ -39.241 0 Td -[(Chapter)-500(7)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(RLIMIT_RSS)Tj -/T1_1 1 Tf -11.4 0 Td -[(Maximum )-469(r)18(esident )-469(set )-469(size)]TJ -13.989 0.04 Td -(\()Tj -0.333 -0.04 Td -(RSS)Tj -1.718 0.04 Td -(\))Tj -1.052 -0.04 Td -[(in )-469(bytes.)-969(If )-469(available)]TJ --17.092 -1.2 Td -[(physical )-411(memory )-411(is )-411(low)]TJ -0.6613 Tc 11.709 0 Td -(,t)Tj -0 Tc 1.237 0 Td -[(he )-411(kernel )-411(takes )-411(memory )-411(fr)17(om)]TJ --12.946 -1.2 Td -[(pr)18(ocesses that exceed their RSS.)]TJ -/TT0 1 Tf --11.4 -1.6 Td -(RLIMIT_SBSIZE)Tj -/T1_1 1 Tf -11.4 0 Td -[(The )-118(maximum )-118(size )-118(in )-118(bytes )-118(of )-118(socket )-118(buf)20(fers )-118(that )-118(a )-118(user )-118(can)]TJ -0 -1.2 TD -(consume at any given time.)Tj -/TT0 1 Tf --11.4 -1.6 Td -(RLIMIT_SIGPENDING)Tj -/T1_1 1 Tf -11.4 0 Td -[(The )-202(maximum )-202(number )-202(of )-202(signals )-202(that )-202(can )-202(be )-202(queued )-202(for )-202(a)]TJ -T* -[(pr)18(ocess. )-530(This)-531(limit )-280(is )-280(enfor)18(ced )-280(by )-280(the)]TJ -/TT0 1 Tf -18.563 0 Td -(sigqueue)Tj -/T1_1 1 Tf -5.33 0 Td -(function)Tj --23.893 -1.2 Td -(\(Section 10.20\).)Tj -/TT0 1 Tf --11.4 -1.6 Td -(RLIMIT_STACK)Tj -/T1_1 1 Tf -11.4 0 Td -[(The maximum size in bytes of the stack.)-500(See Figur)]TJ -0.25 Tc 22.27 0 Td -(e7)Tj -0 Tc 1.229 0 Td -(.6.)Tj -/TT0 1 Tf --34.899 -1.6 Td -(RLIMIT_SWAP)Tj -/T1_1 1 Tf -11.4 0 Td -[(The )-56(maximum )-56(amount )-56(of )-56(swap )-56(space )-56(in )-56(bytes )-56(that )-56(a )-56(user )-56(can)]TJ -T* -(consume.)Tj -/TT0 1 Tf --11.4 -1.6 Td -(RLIMIT_VMEM)Tj -/T1_1 1 Tf -11.4 0 Td -(This is a synonym for)Tj -/TT0 1 Tf -9.778 0 Td -(RLIMIT_AS)Tj -/T1_1 1 Tf -(.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1624.25 4910.25 cm -0 0 m -3243 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 309.2149 482.942 Tm -[(Fr)18(eeBSD )-2416(Linux)-2382(Mac OS X)-2198(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-3993(3.2.0)-3618(10.6.8 )-3868(10)]TJ --15.228 0.625 Td -(Limit)Tj -9.22 0 Td -(XSI)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1624.25 4690.25 cm -0 0 m -3243 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1624.25 4670.25 cm -0 0 m -3243 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 166.41 458.9174 Tm -(RLIMIT_AS)Tj -/T1_1 1 Tf -5.262 Tc 13.581 0 Td -[(\245\245\245 )-356(\245)]TJ -/TT0 1 Tf -0 Tc -13.581 -1.25 Td -(RLIMIT_CORE)Tj -/T1_1 1 Tf -5.262 Tc 13.581 0 Td -(\245\245\245\245\245)Tj -/TT0 1 Tf -0 Tc -13.581 -1.25 Td -(RLIMIT_CPU)Tj -/T1_1 1 Tf -5.262 Tc 13.581 0 Td -(\245\245\245\245\245)Tj -/TT0 1 Tf -0 Tc -13.581 -1.25 Td -(RLIMIT_DATA)Tj -/T1_1 1 Tf -5.262 Tc 13.581 0 Td -(\245\245\245\245\245)Tj -/TT0 1 Tf -0 Tc -13.581 -1.25 Td -(RLIMIT_FSIZE)Tj -/T1_1 1 Tf -5.262 Tc 13.581 0 Td -(\245\245\245\245\245)Tj -/TT0 1 Tf -0 Tc -13.581 -1.25 Td -(RLIMIT_MEMLOCK)Tj -/T1_1 1 Tf -5.262 Tc 19.449 0 Td -(\245\245\245)Tj -/TT0 1 Tf -0 Tc -19.449 -1.25 Td -(RLIMIT_MSGQUEUE)Tj -/T1_1 1 Tf -25.317 0 Td -(\245)Tj -/TT0 1 Tf --25.317 -1.25 Td -(RLIMIT_NICE)Tj -/T1_1 1 Tf -25.317 0 Td -(\245)Tj -/TT0 1 Tf --25.317 -1.25 Td -(RLIMIT_NOFILE)Tj -/T1_1 1 Tf -5.262 Tc 13.581 0 Td -(\245\245\245\245\245)Tj -/TT0 1 Tf -0 Tc -13.581 -1.25 Td -(RLIMIT_NPROC)Tj -/T1_1 1 Tf -5.262 Tc 19.449 0 Td -(\245\245\245)Tj -/TT0 1 Tf -0 Tc -19.449 -1.25 Td -(RLIMIT_NPTS)Tj -/T1_1 1 Tf -19.449 0 Td -(\245)Tj -/TT0 1 Tf --19.449 -1.25 Td -(RLIMIT_RSS)Tj -/T1_1 1 Tf -5.262 Tc 19.449 0 Td -(\245\245\245)Tj -/TT0 1 Tf -0 Tc -19.449 -1.25 Td -(RLIMIT_SBSIZE)Tj -/T1_1 1 Tf -19.449 0 Td -(\245)Tj -/TT0 1 Tf --19.449 -1.25 Td -(RLIMIT_SIGPENDING)Tj -/T1_1 1 Tf -25.317 0 Td -(\245)Tj -/TT0 1 Tf --25.317 -1.25 Td -(RLIMIT_STACK)Tj -/T1_1 1 Tf -5.262 Tc 13.581 0 Td -(\245\245\245\245\245)Tj -/TT0 1 Tf -0 Tc -13.581 -1.25 Td -(RLIMIT_SWAP)Tj -/T1_1 1 Tf -19.449 0 Td -(\245)Tj -/TT0 1 Tf --19.449 -1.25 Td -(RLIMIT_VMEM)Tj -/T1_1 1 Tf -37.053 0 Td -(\245)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1624.25 2950.25 cm -0 0 m -3243 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3010.25 2950.25 cm -0 0 m -0 1960 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2540.25 2950.25 cm -0 0 m -0 1960 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4867.25 2950.25 cm -0 0 m -0 1960 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1624.25 2950.25 cm -0 0 m -0 1960 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 254.335 276.9335 Tm -(Figure 7.15)Tj -/T1_1 1 Tf -5.695 0 Td -[(Support for r)18(esour)18(ce limits)]TJ -9.9976 0 0 9.9976 147.5648 249.3401 Tm -[(The )-7(r)18(esour)18(ce )-7(limits )-7(af)18(fect )-7(the )-7(calling )-7(pr)18(ocess )-7(and )-7(ar)]TJ -0.257 Tc 22.569 0 Td -(ei)Tj -0 Tc 1.027 0 Td -[(nherited )-7(by )-7(any )-7(of )-7(its )-7(childr)18(en.)]TJ --25.396 -1.2 Td -[(This )-14(means )-14(that )-14(the )-14(setting )-14(of )-14(r)19(esour)18(ce )-14(limits )-14(needs )-14(to )-14(be )-14(built )-14(into )-14(the )-14(shells )-14(to )-14(af)19(fect )-14(all)]TJ --0 -1.2 Td -[(our )-136(futur)]TJ -0.3861 Tc 4.172 0 Td -(ep)Tj --0.018 Tc 1.466 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cesses. )-386(Indeed,)-386(the )-136(Bourne )-136(shell, )-136(the )-136(GNU )-136(Bourne-again )-136(shell, )-136(and )-136(the)]TJ --6.561 -1.2 Td -[(Korn )-77(shell )-77(have )-77(the )-77(built-in)]TJ -/TT0 1 Tf -12.736 0 Td -(ulimit)Tj -/T1_1 1 Tf -3.927 0 Td -[(command, )-77(and )-77(the )-77(C )-77(shell )-77(has )-77(the )-77(built-in)]TJ -/TT0 1 Tf -19.336 0 Td -(limit)Tj -/T1_1 1 Tf --36 -1.2 Td -[(command. )-270(\(The)]TJ -/TT0 1 Tf -7.495 0 Td -(umask)Tj -/T1_1 1 Tf -3.27 0 Td -(and)Tj -/TT0 1 Tf -1.963 0 Td -(chdir)Tj -/T1_1 1 Tf -3.27 0 Td -[(functions )-20(also )-20(have )-20(to )-20(be )-20(handled )-20(as )-20(shell )-20(built-ins.\))]TJ -/TT1 1 Tf --19.597 -2.4 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(The )-125(pr)18(ogram )-125(in )-125(Figur)]TJ -0.3748 Tc 9.913 0 Td -(e7)Tj -0 Tc 1.354 0 Td -[(.16 )-125(prints )-125(out )-125(the )-125(curr)18(ent )-125(soft )-125(limit )-125(and )-125(har)]TJ -0.3748 Tc 19.798 0 Td -(dl)Tj -0 Tc 1.277 0 Td -[(imit )-125(for )-125(all )-125(the)]TJ --0.018 Tc -32.342 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ce )-140(limits )-140(supported )-140(on )-140(the )-140(system.)]TJ --0.092 Tc 18.411 0 Td -[(To )-324(c)]TJ -0 Tc 1.901 0 Td -[(ompile )-140(this )-140(pr)18(ogram )-140(on )-140(all )-140(the )-140(various)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47028 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(212)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Envir)18(onment )]TJ -39.241 0 Td -[(Chapter)-500(7)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1853.25 6670.25 cm -0 0 m -2786 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 313.9092 658.9605 Tm -[(Fr)18(eeBSD )-1250(Linux )-1250(Mac)-250(OS X)-1500(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-2827(3.2.0)-2735(10.6.8 )-3170(10)]TJ --16.416 0.625 Td -[(Function)-1935(ISO C)-1500(POSIX.1)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1853.25 6450.25 cm -0 0 m -2786 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1853.25 6430.25 cm -0 0 m -2786 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 189.2973 634.9238 Tm -(getenv)Tj -/T1_1 1 Tf -4.032 Tc 7.3 0 Td -[(\245\245 )3685(\245)]TJ -4.3795 Tc 14.575 0 Td -[(\245\245 )4445(\245)]TJ -/TT0 1 Tf -0 Tc -21.875 -1.25 Td -(putenv)Tj -/T1_1 1 Tf -11.477 0 Td -[(XSI )-3917(\245)]TJ -4.3795 Tc 10.398 0 Td -[(\245\245 )4445(\245)]TJ -/TT0 1 Tf -0 Tc -21.876 -1.25 Td -(setenv)Tj -/T1_1 1 Tf -4.629 Tc 11.938 0 Td -(\245\245)Tj -4.3795 Tc 9.937 0 Td -(\245\245)Tj -/TT0 1 Tf -0 Tc -21.875 -1.25 Td -(unsetenv)Tj -/T1_1 1 Tf -4.629 Tc 11.938 0 Td -(\245\245)Tj -4.3795 Tc 9.937 0 Td -(\245\245)Tj -/TT0 1 Tf -0 Tc -21.875 -1.25 Td -(clearenv)Tj -/T1_1 1 Tf -21.875 0 Td -(\245)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1853.25 5910.25 cm -0 0 m -2786 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3079.25 5910.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2337.25 5910.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4639.25 5910.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1853.25 5910.25 cm -0 0 m -0 760 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 221.3801 572.8969 Tm -(Figure 7.8)Tj -/T1_1 1 Tf -5.195 0 Td -[(Support for various envir)18(onment list functions)]TJ --9.923 -3.1 Td -(The)Tj -/TT0 1 Tf -2.006 0 Td -(clearenv)Tj -/T1_1 1 Tf -5.132 0 Td -[(function )-82(is )-82(not )-82(part )-82(of )-82(the )-82(Single )-82(UNIX )-82(Speci\336cation.)-582(It )-82(is )-82(used )-82(to )-82(r)18(emove )-82(all)]TJ --7.138 -1.25 Td -[(entries fr)18(om the envir)18(onment list.)]TJ -9.9982 0 0 9.9982 129.5767 516.1071 Tm -[(The pr)18(ototypes for the middle thr)18(ee functions listed in Figur)]TJ -0.25 Tc 26.585 0 Td -(e7)Tj -0 Tc 1.229 0 Td -[(.8 ar)18(e)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.5732 499.4101 Tm -(#include )Tj -0 -1.783 TD -(int putenv\(char *)Tj -/T1_2 1 Tf -(str)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -24.288 -1.783 Td -[(Returns: 0 if OK, nonzer)18(o)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --24.288 -1.783 Td -(int setenv\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 17.767 0 Td -(onst char *)Tj -/T1_2 1 Tf -(value)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 10.567 0 Td -(nt)Tj -/T1_2 1 Tf --0.018 Tc 1.8 0 Td -(re)Tj -0 Tc 0.76 0 Td -(write)Tj -/TT0 1 Tf -(\);)Tj --30.894 -1.783 Td -(int unsetenv\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -25.251 -1.783 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT1 1 Tf -9.213 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4147.25 cm -0 0 m -0 938 l -3900 938 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9976 0 0 9.9976 129.5689 401.1537 Tm -[(The operation of these thr)18(ee functions is as follows:)]TJ -0.883 Tc 1.8 -2.04 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.397 0 Td -(putenv)Tj -/T1_1 1 Tf -3.936 0 Td -[(function )-86(takes )-86(a )-86(string )-86(of )-86(the )-86(form)]TJ -/T1_2 1 Tf -15.839 0 Td -(name=value)Tj -/T1_1 1 Tf -5.276 0 Td -[(and )-86(places )-86(it )-86(in )-86(the)]TJ --27.06 -1.2 Td -[(envir)18(onment list.)-500(If)]TJ -/T1_2 1 Tf -8.944 0 Td -(name)Tj -/T1_1 1 Tf -2.417 0 Td -[(alr)18(eady exists, its old de\336nition is \336rst r)18(emoved.)]TJ -0.883 Tc -12.85 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.769 0 Td -(setenv)Tj -/T1_1 1 Tf -4.308 0 Td -[(function )-458(sets)]TJ -/T1_2 1 Tf -6.777 0 Td -(name)Tj -/T1_1 1 Tf -2.875 0 Td -(to)Tj -/T1_2 1 Tf -1.58 0 Td -(value)Tj -/T1_1 1 Tf -0.9583 Tc (.I)Tj -0 Tc 3.712 0 Td -(f)Tj -/T1_2 1 Tf -1.041 0 Td -(name)Tj -/T1_1 1 Tf -2.875 0 Td -[(alr)18(eady )-458(exists )-458(in )-458(the)]TJ --25.552 -1.2 Td -[(envir)18(onment, )-19(then )-19(\(a\) )-19(if)]TJ -/T1_2 1 Tf --0.018 Tc 10.775 0 Td -(re)Tj -0 Tc 0.76 0 Td -(write)Tj -/T1_1 1 Tf -2.38 0 Td -[(is )-18(nonzer)18(o, )-18(the )-18(existing )-18(de\336nition )-18(for)]TJ -/T1_2 1 Tf -16.627 0 Td -(name)Tj -/T1_1 1 Tf -2.436 0 Td -[(is )-18(\336rst)]TJ --0.018 Tc -32.978 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(moved; )-160(or )-160(\(b\) )-160(if)]TJ -/T1_2 1 Tf --0.018 Tc 7.758 0 Td -(re)Tj -0 Tc 0.76 0 Td -(write)Tj -/T1_1 1 Tf -2.521 0 Td -[(is )-160(0, )-160(an )-160(existing )-160(de\336nition )-160(for)]TJ -/T1_2 1 Tf -14.06 0 Td -(name)Tj -/T1_1 1 Tf -2.577 0 Td -[(is )-160(not )-160(r)18(emoved,)]TJ -/T1_2 1 Tf --28.532 -1.2 Td -(name)Tj -/T1_1 1 Tf -2.417 0 Td -(is not set to the new)Tj -/T1_2 1 Tf -9.052 0 Td -(value)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 3.167 0 Td -[(nd no err)18(or occurs.)]TJ -0.883 Tc -16.125 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.488 0 Td -(unsetenv)Tj -/T1_1 1 Tf -5.227 0 Td -[(function )-177(r)18(emoves )-177(any )-177(de\336nition )-177(of)]TJ -/T1_2 1 Tf -16.425 0 Td -(name)Tj -/T1_1 1 Tf -0.6769 Tc (.I)Tj -0 Tc 3.431 0 Td -[(t)-427(is)-427(not )-177(an )-177(err)18(or )-177(if)]TJ --27.183 -1.2 Td -(such a de\336nition does not exist.)Tj -7.9981 0 0 7.9981 183.5559 268.7855 Tm -[(Note )-21(the )-21(dif)19(fer)18(ence )-21(between)]TJ -/TT0 1 Tf -12.773 0 Td -(putenv)Tj -/T1_1 1 Tf -3.871 0 Td -(and)Tj -/TT0 1 Tf -1.964 0 Td -(setenv)Tj -/T1_1 1 Tf -0.5206 Tc (.W)Tj -0 Tc 5.371 0 Td -[(her)18(eas)]TJ -/TT0 1 Tf -3.112 0 Td -(setenv)Tj -/T1_1 1 Tf -3.871 0 Td -[(must )-21(allocate )-21(memory )-21(to)]TJ --30.961 -1.25 Td -[(cr)18(eate )-42(the)]TJ -/T1_2 1 Tf -4.576 0 Td -(name=value)Tj -/T1_1 1 Tf -5.232 0 Td -[(string )-42(fr)18(om )-42(its )-42(ar)17(guments,)]TJ -/TT0 1 Tf -11.903 0 Td -(putenv)Tj -/T1_1 1 Tf -3.892 0 Td -[(is )-42(fr)18(ee )-42(to )-42(place )-42(the )-42(string )-42(passed )-42(to )-42(it)]TJ --25.604 -1.25 Td -[(dir)18(ectly )-81(into )-81(the )-81(envir)19(onment. )-331(Indeed,)-331(many )-81(implementations )-81(do )-81(exactly )-81(this, )-81(so )-81(it )-81(would )-81(be)]TJ --0 -1.25 Td -[(an )-124(err)18(or )-124(to )-124(pass)]TJ -/TT0 1 Tf -7.592 0 Td -(putenv)Tj -/T1_1 1 Tf -0.3744 Tc 3.974 0 Td -(as)Tj -0 Tc 1.298 0 Td -[(tring )-124(allocated )-124(on )-124(the )-124(stack, )-124(since )-124(the )-124(memory )-124(would )-124(be )-124(r)16(eused)]TJ --12.865 -1.25 Td -[(after we r)18(eturn fr)18(om the curr)18(ent function.)]TJ -9.9976 0 0 9.9976 147.5638 207.8001 Tm -[(It )-87(is )-87(inter)18(esting )-87(to )-87(examine )-87(how )-87(these )-87(functions )-87(must )-87(operate )-87(when )-87(modifying )-87(the)]TJ --1.8 -1.2 Td -[(envir)18(onment )-112(list.)-612(Recall )-112(Figur)]TJ -0.3624 Tc 13.667 0 Td -(e7)Tj -0 Tc 1.341 0 Td -[(.6: )-112(the )-112(envir)18(onment )-112(list)]TJ -0.0833 Tc 10.582 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-112(array )-112(of )-112(pointers )-112(to )-112(the)]TJ --26.999 -1.2 Td -(actual)Tj -/T1_2 1 Tf -3.009 0 Td -(name=value)Tj -/T1_1 1 Tf -5.286 0 Td -[(strings )167(\321 )167(and)-346(the )-95(envir)18(onment )-95(strings )-95(ar)]TJ -0.3455 Tc 18.194 0 Td -(et)Tj -0 Tc 1.151 0 Td -[(ypically )-95(stor)18(ed )-95(at )-95(the )-95(top)]TJ --27.639 -1.2 Td -[(of )-78(a )-78(pr)18(ocess\325s )-78(memory )-78(space, )-78(above )-78(the )-78(stack.)-578(Deleting )-78(a )-78(string )-78(is )-78(simple; )-78(we )-78(just )-78(\336nd)]TJ -0 -1.2 TD -[(the )-132(pointer )-132(in )-132(the )-132(envir)19(onment )-132(list )-132(and )-132(move )-132(all )-132(subsequent )-132(pointers )-132(down )-132(one.)-631(But)]TJ -T* -[(adding )-24(a )-24(string )-24(or )-24(modifying )-24(an )-24(existing )-24(string )-24(is )-24(mor)]TJ -0.2744 Tc 23.927 0 Td -(ed)Tj -0 Tc 1.364 0 Td -[(if)18(\336cult. )-274(The)-275(space )-24(at )-24(the )-24(top )-24(of)]TJ --25.292 -1.2 Td -[(the )-76(stack )-76(cannot )-76(be )-76(expanded, )-76(because )-76(it )-76(is )-76(often )-76(at )-76(the )-76(top )-76(of )-76(the )-76(addr)18(ess )-76(space )-76(of )-76(the)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47029 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(7.9)]TJ -33.483 0 Td -[(Envir)18(onment )-250(V)92(ariables)]TJ -/T1_1 1 Tf -12.387 0 Td -[(21)37(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Note )-56(that )-56(this )-56(function )-56(r)18(eturns )-56(a )-56(pointer )-56(to )-56(the)]TJ -/T1_2 1 Tf -21.162 0 Td -(value)Tj -/T1_0 1 Tf -2.473 0 Td -[(of )-56(a)]TJ -/T1_2 1 Tf -1.99 0 Td -(name=value)Tj -/T1_0 1 Tf -5.246 0 Td -[(string. )-306(W)]TJ -0.3056 Tc 4.288 0 Td -(es)Tj -0 Tc 1.209 0 Td -(hould)Tj --36.367 -1.2 Td -[(always )-44(use)]TJ -/TT0 1 Tf -5.199 0 Td -(getenv)Tj -/T1_0 1 Tf -3.894 0 Td -[(to )-44(fetch )-44(a )-44(speci\336c )-44(value )-44(fr)18(om )-44(the )-44(envir)18(onment, )-44(instead )-44(of )-44(accessing)]TJ -/TT0 1 Tf --9.093 -1.2 Td -(environ)Tj -/T1_0 1 Tf -4.45 0 Td -[(dir)18(ectly)111(.)]TJ --2.65 -1.2 Td -[(Some )-548(envir)18(onment )-548(variables )-548(ar)]TJ -0.7979 Tc 15.394 0 Td -(ed)Tj -0 Tc 1.888 0 Td -[(e\336ned )-548(by )-548(POSIX.1 )-548(in )-548(the )-548(Single )-548(UNIX)]TJ --19.082 -1.2 Td -[(Speci\336cation, )-30(wher)18(eas )-30(others )-30(ar)]TJ -0.2804 Tc 14.029 0 Td -(ed)Tj -0 Tc 1.37 0 Td -[(e\336ned )-30(only )-30(if )-30(the )-30(XSI )-30(option )-30(is )-30(supported.)-534(Figur)]TJ -0.2805 Tc 21.591 0 Td -(e7)Tj -0 Tc 1.259 0 Td -(.7)Tj --38.25 -1.2 Td -[(lists )-230(the )-230(envir)18(onment )-230(variables )-230(de\336ned )-230(by )-230(the )-230(Single )-230(UNIX )-230(Speci\336cation )-230(and )-230(notes)]TJ -0 -1.2 TD -[(which )-166(implementations )-166(support )-166(the )-166(variables.)-666(Any )-166(envir)18(onment )-166(variable )-166(de\336ned )-166(by)]TJ -T* -[(POSIX.1 )-194(is )-194(marked )-194(with )-194(\245; )-194(otherwise, )-194(it )-194(is )-194(part )-194(of )-194(the )-194(XSI )-194(option.)-694(Many )-194(additional)]TJ -T* -[(implementation-dependent )-9(envir)18(onment )-9(variables )-9(ar)]TJ -0.2591 Tc 23.487 0 Td -(eu)Tj -0 Tc 1.341 0 Td -[(sed )-9(in )-9(the )-9(four )-9(implementations)]TJ --24.828 -1.2 Td -[(described in this book.)-500(Note that ISO C doesn\325t de\336ne any envir)18(onment variables.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 5350.25 cm -0 0 m -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 218.9257 526.9368 Tm -[(Fr)18(eeBSD )-135(Linux )-135(Mac)-251(OS X)-385(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-1712(3.2.0)-1621(10.6.8 )-2055(10)]TJ --0.092 Tc -10.835 0.625 Td -(Va)Tj -0 Tc 1.13 0 Td -[(riable)-1866(POSIX.1)]TJ -32.222 0 Td -(Description)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 5130.25 cm -0 0 m -3900 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 5110.25 cm -0 0 m -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 130.6085 502.9095 Tm -(COLUMNS)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -(terminal width)Tj -/TT0 1 Tf --26.326 -1.25 Td -(DATEMSK)Tj -/T1_0 1 Tf -8.056 0 Td -(XSI )Tj -8.169 0 Td -(\245)Tj -3.4495 Tc 3.871 0 Td -(\245\245)Tj -/TT0 1 Tf -0 Tc 6.23 0 Td -(getdate)Tj -/T1_0 1 Tf -4.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(template \336le pathname)Tj -/TT0 1 Tf --31.942 -1.25 Td -(HOME)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -[(home dir)18(ectory)]TJ -/TT0 1 Tf --26.326 -1.25 Td -(LANG)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -(name of locale)Tj -/TT0 1 Tf --26.326 -1.25 Td -(LC_ALL)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -(name of locale)Tj -/TT0 1 Tf --26.326 -1.25 Td -(LC_COLLATE)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -(name of locale for collation)Tj -/TT0 1 Tf --26.326 -1.25 Td -(LC_CTYPE)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -(name of locale for character classi\336cation)Tj -/TT0 1 Tf --26.326 -1.25 Td -(LC_MESSAGES)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -(name of locale for messages)Tj -/TT0 1 Tf --26.326 -1.25 Td -(LC_MONETARY)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -(name of locale for monetary editing)Tj -/TT0 1 Tf --26.326 -1.25 Td -(LC_NUMERIC)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -(name of locale for numeric editing)Tj -/TT0 1 Tf --26.326 -1.25 Td -(LC_TIME)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -(name of locale for date/time formatting)Tj -/TT0 1 Tf --26.326 -1.25 Td -(LINES)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -(terminal height)Tj -/TT0 1 Tf --26.326 -1.25 Td -(LOGNAME)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -(login name)Tj -/TT0 1 Tf --26.326 -1.25 Td -(MSGVERB)Tj -/T1_0 1 Tf -8.056 0 Td -[(XSI )-2803(\245)]TJ -3.265 Tc 8.169 0 Td -[(\245\245 )3331(\245)]TJ -/TT0 1 Tf -0 Tc 10.101 0 Td -(fmtmsg)Tj -/T1_0 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -[(message components to pr)18(ocess)]TJ -/TT0 1 Tf --31.342 -1.25 Td -(NLSPATH)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -(sequence of templates for message catalogs)Tj -/TT0 1 Tf --26.326 -1.25 Td -(PATH)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -[(list of path pr)18(e\336xes to sear)18(ch for executable \336le)]TJ -/TT0 1 Tf --26.326 -1.25 Td -(PWD)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -[(absolute pathname of curr)18(ent working dir)18(ectory)]TJ -/TT0 1 Tf --26.326 -1.25 Td -(SHELL)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -[(name of user)-74(\325s pr)18(eferr)18(ed shell)]TJ -/TT0 1 Tf --26.326 -1.25 Td -(TERM)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -(terminal type)Tj -/TT0 1 Tf --26.326 -1.25 Td -(TMPDIR)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -[(pathname of dir)18(ectory for cr)18(eating temporary \336les)]TJ -/TT0 1 Tf --26.326 -1.25 Td -(TZ)Tj -/T1_0 1 Tf -3.5145 Tc 8.517 0 Td -(\245\245)Tj -3.265 Tc 7.708 0 Td -[(\245\245 )3331(\245)]TJ -0 Tc 10.101 0 Td -(time zone information)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 2990.25 cm -0 0 m -3900 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3397.25 2990.25 cm -0 0 m -0 2360 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2174.25 2990.25 cm -0 0 m -0 2360 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1849.25 2990.25 cm -0 0 m -0 2360 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5196.25 2990.25 cm -0 0 m -0 2360 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 2990.25 cm -0 0 m -0 2360 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 191.0941 280.9326 Tm -(Figure 7.7)Tj -/T1_0 1 Tf -5.195 0 Td -[(Envir)18(onment variables de\336ned in the Single UNIX Speci\336cation)]TJ -9.9976 0 0 9.9976 147.5648 244.9412 Tm -[(In )-147(addition )-147(to )-147(fetching )-147(the )-147(value )-147(of )-147(an )-147(envir)18(onment )-147(variable, )-147(sometimes )-147(we )-147(may)]TJ --1.8 -1.2 Td -[(want )-82(to )-82(set )-82(an )-82(envir)18(onment )-82(variable.)]TJ --0.092 Tc 17.181 0 Td -[(We )-266(m)]TJ -0 Tc 2.602 0 Td -[(ay )-82(want )-82(to )-82(change )-82(the )-82(value )-82(of )-82(an )-82(existing)]TJ --19.782 -1.2 Td -[(variable )-84(or )-84(add )-84(a )-84(new )-84(variable )-84(to )-84(the )-84(envir)18(onment. )-334(\(In)-334(the )-84(next )-84(chapter)]TJ -0.3339 Tc 32.46 0 Td -(,w)Tj -0 Tc 1.418 0 Td -[(e\325ll )-84(see )-84(that)]TJ --33.878 -1.2 Td -[(we )-69(can )-69(af)18(fect )-69(the )-69(envir)18(onment )-69(of )-69(only )-69(the )-69(curr)21(ent )-69(pr)18(ocess )-69(and )-69(any )-69(child )-69(pr)18(ocesses )-69(that)]TJ -T* -[(we )-138(invoke.)]TJ --0.092 Tc 5.609 0 Td -[(We )-322(c)]TJ -0 Tc 2.219 0 Td -[(annot )-138(af)18(fect )-138(the )-138(envir)18(onment )-138(of )-138(the )-138(par)18(ent )-138(pr)18(ocess, )-138(which )-138(is )-138(often )-138(a)]TJ --7.828 -1.2 Td -[(shell. )-610(Nevertheless,)-610(it )-360(is )-360(still )-360(useful )-360(to )-360(be )-360(able )-360(to )-360(modify )-360(the )-360(envir)20(onment )-360(list.\))]TJ --0 -1.2 Td -(Unfortunately)Tj -0.3829 Tc 6.186 0 Td -(,n)Tj -0 Tc 1.215 0 Td -[(ot )-133(all )-133(systems )-133(support )-133(this )-133(capability)]TJ -0.6328 Tc 16.745 0 Td -(.F)Tj -0 Tc 1.439 0 Td -(igur)Tj -0.3828 Tc 1.827 0 Td -(e7)Tj -0 Tc 1.362 0 Td -[(.8 )-133(shows )-133(the )-133(functions)]TJ --28.773 -1.2 Td -(that ar)Tj -0.25 Tc 2.861 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(upported by the various standar)18(ds and implementations.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47030 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(180)Tj -/T1_1 1 Tf -3.5 0 Td -[(System )-250(Data )-250(Files )-250(and )-250(Information)]TJ -39.241 0 Td -[(Chapter )-250(6)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Both )-26(functions )-26(r)18(eturn )-26(a )-26(pointer )-26(to )-26(a)]TJ -/TT0 1 Tf -15.979 0 Td -(passwd)Tj -/T1_1 1 Tf -3.876 0 Td -[(str)8(uctur)]TJ -0.2757 Tc 3.49 0 Td -(et)Tj -0 Tc 1.081 0 Td -[(hat )-26(the )-26(functions )-26(\336ll )-26(in.)-524(This)]TJ --26.225 -1.2 Td -[(str)8(uctur)18(e)-671(is)-671(u)1(sually )-421(a)]TJ -/TT0 1 Tf -11.135 0 Td -(static)Tj -/T1_1 1 Tf -4.271 0 Td -[(variable )-421(within )-421(the )-421(function, )-421(so )-421(its )-421(contents )-421(ar)21(e)]TJ --15.406 -1.2 Td -(overwritten each time we call either of these functions.)Tj -1.8 -1.2 Td -[(These )-26(two )-26(POSIX.1 )-26(functions )-26(ar)]TJ -0.2763 Tc 14.065 0 Td -(e\336)Tj -0 Tc 1.36 0 Td -[(ne )-26(if )-26(we )-26(want )-26(to )-26(look )-26(up )-26(either )-26(a )-26(login )-26(name )-26(or )-26(a)]TJ --17.225 -1.2 Td -[(user )-312(ID, )-312(but )-312(some )-312(pr)18(ograms )-312(need )-312(to )-312(go )-312(thr)18(ough )-312(the )-312(entir)]TJ -0.5617 Tc 28.114 0 Td -(ep)Tj -0 Tc 1.642 0 Td -(asswor)Tj -0.5617 Tc 3.105 0 Td -(d\336)Tj -0 Tc 1.778 0 Td -[(le. )-562(Thr)18(ee)]TJ --34.638 -1.2 Td -(functions can be used for this purpose:)Tj -/TT0 1 Tf -17.352 0 Td -(getpwent)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -5.3 0 Td -(setpwent)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 5.8 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(endpwent)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5904 593.4644 Tm -(#include )Tj -0 -1.664 TD -(struct passwd *getpwent\(void\);)Tj -/T1_1 1 Tf -16.913 -1.664 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or or end of \336le)]TJ -/TT0 1 Tf --29.896 -1.664 Td -(void setpwent\(void\);)Tj -T* -(void endpwent\(void\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5291.25 cm -0 0 m -0 734 l -3900 734 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 183.578 508.7189 Tm -[(These )-95(thr)18(ee )-95(functions )-95(ar)]TJ -0.3448 Tc 10.862 0 Td -(en)Tj -0 Tc 1.406 0 Td -[(ot )-95(part )-95(of )-95(the )-95(base )-95(POSIX.1 )-95(standar)20(d. )-345(They)-345(ar)]TJ -0.3449 Tc 20.881 0 Td -(ed)Tj -0 Tc 1.435 0 Td -[(e\336ned )-95(as )-95(part )-95(of)]TJ --34.584 -1.25 Td -[(the )-122(XSI )-122(option )-122(in )-122(the )-122(Single )-122(UNIX )-122(Speci\336cation.)-622(As )-122(such, )-122(all )-122(UNIX )-122(systems )-122(ar)]TJ -0.3721 Tc 35.97 0 Td -(ee)Tj -0 Tc 1.33 0 Td -[(xpected )-122(to)]TJ --37.3 -1.25 Td -[(pr)18(ovide them.)]TJ --0.092 Tc 9.9988 0 0 9.9988 147.5824 468.7237 Tm -[(We )-297(c)]TJ -0 Tc 2.194 0 Td -(all)Tj -/TT0 1 Tf -1.445 0 Td -(getpwent)Tj -/T1_1 1 Tf -5.163 0 Td -[(to )-113(r)18(eturn )-113(the )-113(next )-113(entry )-113(in )-113(the )-113(passwor)]TJ -0.363 Tc 17.769 0 Td -(d\336)Tj -0 Tc 1.579 0 Td -[(le. )-363(As)-363(with )-113(the )-113(two)]TJ --29.95 -1.2 Td -[(POSIX.1 )-70(functions,)]TJ -/TT0 1 Tf -8.691 0 Td -(getpwent)Tj -/T1_1 1 Tf --0.018 Tc 5.121 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-70(a )-70(pointer )-70(to )-70(a )-70(str)6(uctur)]TJ -0.3204 Tc 12.514 0 Td -(et)Tj -0 Tc 1.125 0 Td -[(hat )-70(it )-70(has )-70(\336lled )-70(in.)-572(This)]TJ --28.307 -1.2 Td -[(str)8(uctur)18(e)-315(is)-315(n)-1(ormally )-65(overwritten )-65(each )-65(time )-65(we )-65(call )-65(this )-65(function.)-567(If )-65(this )-65(is )-65(the )-65(\336rst )-65(call)]TJ -0 -1.2 TD -[(to )-48(this )-48(function, )-48(it )-48(opens )-48(whatever )-48(\336les )-48(it )-48(uses.)-549(Ther)]TJ -0.2981 Tc 23.441 0 Td -(ei)Tj -0 Tc 1.068 0 Td -[(s)-298(no)-298(o)]TJ --0.018 Tc (rd)Tj -0 Tc 3.682 0 Td -[(er )-48(implied )-48(when )-48(we )-48(use)]TJ --28.191 -1.2 Td -[(this )-242(function; )-242(the )-242(entries )-242(can )-242(be )-242(in )-242(any )-242(or)17(der)]TJ -0.4922 Tc 21.283 0 Td -(,b)Tj -0 Tc 1.295 0 Td -[(ecause )-242(some )-242(systems )-242(use )-242(a )-242(hashed)]TJ --22.578 -1.2 Td -(version of the \336le)Tj -/TT0 1 Tf -7.923 0 Td -(/etc/passwd)Tj -/T1_1 1 Tf -(.)Tj --6.123 -1.2 Td -[(The )-48(function)]TJ -/TT0 1 Tf -5.976 0 Td -(setpwent)Tj -/T1_1 1 Tf --0.018 Tc 5.098 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(winds )-48(whatever )-48(\336les )-48(it )-48(uses, )-48(and)]TJ -/TT0 1 Tf -14.977 0 Td -(endpwent)Tj -/T1_1 1 Tf -5.098 0 Td -[(closes )-48(these)]TJ --33.804 -1.2 Td -[(\336les. )-412(When)-413(using)]TJ -/TT0 1 Tf -8.635 0 Td -(getpwent)Tj -/T1_1 1 Tf -[(,)-412(we)-412(m)-1(ust )-162(always )-162(be )-162(sur)17(e)-412(to)-412(c)-1(lose )-162(these )-162(\336les )-162(by )-162(calling)]TJ -/TT0 1 Tf --8.635 -1.2 Td -(endpwent)Tj -/T1_1 1 Tf -5.056 0 Td -[(when )-5(we\325r)]TJ -0.2554 Tc 4.701 0 Td -(et)Tj -0 Tc 1.06 0 Td -[(hr)18(ough. )-255(Although)]TJ -/TT0 1 Tf -8.521 0 Td -(getpwent)Tj -/T1_1 1 Tf -5.055 0 Td -[(is )-5(smart )-5(enough )-5(to )-5(know )-5(when )-5(it)]TJ --24.393 -1.2 Td -(has to open its \336les \(the \336rst time we call it\), it never knows \ when we\325r)Tj -0.25 Tc 31.168 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(hr)18(ough.)]TJ -/TT1 1 Tf --35.823 -2.28 Td -(Example)Tj -/T1_1 1 Tf -3.6 -1.8 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e6)Tj -0 Tc 1.229 0 Td -(.2 shows an implementation of the function)Tj -/TT0 1 Tf -19.425 0 Td -(getpwnam)Tj -/T1_1 1 Tf -(.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3128.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 303.2244 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -1.783 TD -(struct passwd *)Tj -0 -1.189 TD -(getpwnam\(const char *name\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct passwd)-1200(*ptr;)]TJ -0 -1.783 TD -(setpwent\(\);)Tj -0 -1.189 TD -(while \(\(ptr = getpwent\(\)\) != NULL\))Tj -2.4 -1.189 Td -(if \(strcmp\(name, ptr->pw_name\) == 0\))Tj -2.4 -1.189 Td -[(break; )-3000(/*)-600(found a match */)]TJ --4.8 -1.189 Td -(endpwent\(\);)Tj -T* -[(return\(ptr\); )-1800(/*)-600(ptr is NULL if no match found */)]TJ --2.4 -1.189 Td -(})Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1487.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 261.0333 135.0456 Tm -(Figure 6.2)Tj -/T1_1 1 Tf -5.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(getpwnam)Tj -/T1_1 1 Tf -5.05 0 Td -(function)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47031 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(5.13)]TJ --0.092 Tc 36.416 0 Td -(Te)Tj -0 Tc 1 0 Td -[(mporary )-250(Files)]TJ -/T1_1 1 Tf -8.417 0 Td -(169)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(If we execute the pr)18(ogram in Figur)]TJ -0.25 Tc 15.31 0 Td -(e5)Tj -0 Tc 1.229 0 Td -(.12, we get)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 652.2609 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(/tmp/fileT0Hsu6)Tj -0 -1.189 TD -(/tmp/filekmAsYQ)Tj -T* -(one line of output)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 6082.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 584.1299 Tm -[(The )-108(standar)]TJ -0.3579 Tc 5.352 0 Td -(dt)Tj -0 Tc 1.295 0 Td -[(echnique )-108(often )-108(used )-108(by )-108(the)]TJ -/TT0 1 Tf -12.689 0 Td -(tmpfile)Tj -/T1_0 1 Tf -4.558 0 Td -[(function )-108(is )-108(to )-108(cr)18(eate )-108(a )-108(unique)]TJ --25.693 -1.2 Td -[(pathname )-114(by )-114(calling)]TJ -/TT0 1 Tf -9.611 0 Td -(tmpnam)Tj -/T1_0 1 Tf -0.3645 Tc (,t)Tj -0 Tc 4.541 0 Td -[(hen )-114(cr)18(eate )-114(the )-114(\336le, )-114(and )-114(immediately)]TJ -/TT0 1 Tf -16.73 0 Td -(unlink)Tj -/T1_0 1 Tf -3.964 0 Td -[(it. )-364(Recall)]TJ --34.846 -1.2 Td -[(fr)18(om )-27(Section )-27(4.15 )-27(that )-27(unlinking )-27(a )-27(\336le )-27(does )-27(not )-27(delete )-27(its )-27(contents )-27(until )-27(the )-27(\336le )-27(is )-27(closed.)]TJ -0 -1.2 TD -[(This )-262(way)]TJ -0.5123 Tc 4.201 0 Td -(,w)Tj -0 Tc 1.596 0 Td -[(hen )-262(the )-262(\336le )-262(is )-262(closed, )-262(either )-262(explicitly )-262(or )-262(on )-262(pr)18(ogram )-262(termination, )-262(the)]TJ --5.798 -1.2 Td -(contents of the \336le ar)Tj -0.25 Tc 9.227 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(eleted.)Tj --8.767 -1.2 Td -[(The )-121(Single )-121(UNIX )-121(Speci\336cation )-121(de\336nes )-121(two )-121(additional )-121(functions )-121(as )-121(part )-121(of )-121(the )-121(XSI)]TJ --1.8 -1.2 Td -(option for dealing with temporary \336les:)Tj -/TT0 1 Tf -17.739 0 Td -(mkdtemp)Tj -/T1_0 1 Tf -4.45 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(mkstemp)Tj -/T1_0 1 Tf -(.)Tj -7.999 0 0 7.999 183.5781 492.1409 Tm -[(Older )-153(versions )-153(of )-153(the )-153(Single )-153(UNIX )-153(Speci\336cation )-153(de\336ned )-153(the)]TJ -/TT0 1 Tf -27.89 0 Td -(tempnam)Tj -/T1_0 1 Tf -4.603 0 Td -[(function )-153(as )-153(a )-153(way )-153(to)]TJ --32.494 -1.25 Td -[(cr)18(eate a temporary \336le in a caller)18(-speci\336ed location.)-500(It is marked obsolescent in SUSv4.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5824 457.0451 Tm -(#include )Tj -0 -1.783 TD -(char *mkdtemp\(char *)Tj -/T1_2 1 Tf -(template)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -14.689 -1.783 Td -[(Returns: pointer to dir)18(ectory name if OK,)]TJ -/TT0 1 Tf -18.424 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --35.763 -1.783 Td -(int mkstemp\(char *)Tj -/T1_2 1 Tf -(template)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -21.214 -1.783 Td -(Returns: \336le descriptor if OK,)Tj -/TT2 1 Tf -13.25 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3884.25 cm -0 0 m -0 777 l -3900 777 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 372.433 Tm -(The)Tj -/TT0 1 Tf -2.194 0 Td -(mkdtemp)Tj -/T1_0 1 Tf -4.72 0 Td -[(function )-270(cr)18(eates )-270(a )-270(dir)18(ectory )-270(with )-270(a )-270(unique )-270(name, )-270(and )-270(the)]TJ -/TT0 1 Tf -27.886 0 Td -(mkstemp)Tj -/T1_0 1 Tf --34.8 -1.2 Td -[(function )-206(cr)18(eates )-206(a )-206(r)18(egular )-206(\336le )-206(with )-206(a )-206(unique )-206(name.)-706(The )-206(name )-206(is )-206(selected )-206(using )-206(the)]TJ -/T1_2 1 Tf -0 -1.2 TD -(template)Tj -/T1_0 1 Tf -3.794 0 Td -[(string. )-350(This)-349(string )-100(is )-100(a )-100(pathname )-100(whose )-100(last )-100(six )-100(characters )-100(ar)]TJ -0.3498 Tc 27.727 0 Td -(es)Tj -0 Tc 1.253 0 Td -[(et )-100(to)]TJ -/TT0 1 Tf -2.377 0 Td -(XXXXXX)Tj -/T1_0 1 Tf -(.)Tj --35.15 -1.2 Td -[(The )-176(function )-176(r)18(eplaces )-176(these )-176(placeholders )-176(with )-176(dif)20(fer)18(ent )-175(characters )-175(to )-175(cr)18(eate )-175(a )-175(unique)]TJ --0 -1.2 Td -[(pathname. )-255(If)-255(successful, )-5(these )-5(functions )-5(modify )-5(the)]TJ -/T1_2 1 Tf -23.156 0 Td -(template)Tj -/T1_0 1 Tf -3.699 0 Td -[(string )-5(to )-5(r)18(e\337ect )-5(the )-5(name )-5(of)]TJ --26.855 -1.2 Td -(the temporary \336le.)Tj -1.8 -1.2 Td -[(The )-89(dir)18(ectory )-89(cr)18(eated )-89(by)]TJ -/TT0 1 Tf -11.378 0 Td -(mkdtemp)Tj -/T1_0 1 Tf -4.539 0 Td -[(is )-88(cr)18(eated )-88(with )-88(the )-88(following )-88(access )-88(permission)]TJ --17.717 -1.2 Td -[(bits )-46(set:)]TJ -/TT0 1 Tf -3.665 0 Td -[(S_IRUSR )350(| )350(S_IWUSR )350(| )350(S_IXUSR)]TJ -/T1_0 1 Tf -0.546 Tc (.N)Tj -0 Tc 16.427 0 Td -[(ote )-46(that )-46(the )-46(\336le )-46(mode )-46(cr)18(eation )-46(mask )-46(of )-46(the)]TJ --20.092 -1.2 Td -[(calling )-52(pr)18(ocess )-52(can )-52(r)19(estrict )-52(these )-52(permissions )-52(further)]TJ -0.5517 Tc 23.317 0 Td -(.I)Tj -0.3017 Tc 1.139 0 Td -(fd)Tj -0 Tc 1.246 0 Td -[(ir)18(ectory )-52(cr)18(eation )-52(is )-52(successful,)]TJ -/TT0 1 Tf --25.702 -1.2 Td -(mkdtemp)Tj -/T1_0 1 Tf --0.018 Tc 4.45 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns the name of the new dir)18(ectory)111(.)]TJ --3.506 -1.2 Td -(The)Tj -/TT0 1 Tf -1.981 0 Td -(mkstemp)Tj -/T1_0 1 Tf -4.507 0 Td -[(function )-57(cr)18(eates )-57(a )-57(r)17(egular )-57(\336le )-57(with )-57(a )-57(unique )-57(name )-57(and )-57(opens )-57(it.)-561(The)]TJ --8.289 -1.2 Td -[(\336le )-1(descriptor )-1(r)17(eturned )-1(by)]TJ -/TT0 1 Tf -11.853 0 Td -(mkstemp)Tj -/T1_0 1 Tf -4.451 0 Td -[(is )-1(open )-1(for )-1(r)18(eading )-1(and )-1(writing.)-501(The )-1(\336le )-1(cr)18(eated )-1(by)]TJ -/TT0 1 Tf --16.304 -1.2 Td -(mkstemp)Tj -/T1_0 1 Tf -4.45 0 Td -[(is cr)18(eated with access permissions)]TJ -/TT0 1 Tf -15.269 0 Td -[(S_IRUSR )350(| )350(S_IWUSR)]TJ -/T1_0 1 Tf -(.)Tj --17.919 -1.2 Td -(Unlike)Tj -/TT0 1 Tf -3.747 0 Td -(tmpfile)Tj -/T1_0 1 Tf -0.7696 Tc (,t)Tj -0 Tc 5.546 0 Td -[(he )-520(temporary )-520(\336le )-520(cr)18(eated )-520(by)]TJ -/TT0 1 Tf -15.29 0 Td -(mkstemp)Tj -/T1_0 1 Tf -4.97 0 Td -[(is )-520(not )-520(r)19(emoved)]TJ --31.352 -1.2 Td -[(automatically )-50(for )-50(us.)-550(If )-50(we )-50(want )-50(to )-50(r)18(emove )-50(it )-50(fr)18(om )-50(the )-50(\336le )-50(system )-50(namespace, )-50(we )-50(need)]TJ -T* -(to unlink it ourselves.)Tj -1.8 -1.2 Td -[(Use )-150(of)]TJ -/TT0 1 Tf -3.361 0 Td -(tmpnam)Tj -/T1_0 1 Tf -4.001 0 Td -(and)Tj -/TT0 1 Tf -2.094 0 Td -(tempnam)Tj -/T1_0 1 Tf -4.601 0 Td -[(does )-151(have )-151(at )-151(least )-151(one )-151(drawback: )-151(a )-151(window )-151(exists)]TJ --15.855 -1.2 Td -[(between )-21(the )-21(time )-21(that )-21(the )-21(unique )-21(pathname )-21(is )-21(r)17(eturned )-21(and )-21(the )-21(time )-21(that )-21(an )-21(application)]TJ -T* -[(cr)18(eates )-67(a )-67(\336le )-67(with )-67(that )-67(name.)-567(During )-67(this )-67(timing )-67(window)]TJ -0.3172 Tc 25.828 0 Td -(,a)Tj -0 Tc 1.067 0 Td -[(nother )-67(pr)18(ocess )-67(can )-67(cr)18(eate )-67(a)]TJ --26.895 -1.2 Td -[(\336le )-10(of )-10(the )-10(same )-10(name.)-509(The)]TJ -/TT0 1 Tf -12.104 0 Td -(tmpfile)Tj -/T1_0 1 Tf -4.46 0 Td -(and)Tj -/TT0 1 Tf -1.953 0 Td -(mkstemp)Tj -/T1_0 1 Tf -4.46 0 Td -[(functions )-10(should )-10(be )-10(used )-10(instead, )-10(as)]TJ --22.977 -1.2 Td -[(they don\325t suf)18(fer fr)18(om this pr)18(oblem.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47032 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(168)Tj -/T1_1 1 Tf -3.5 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Library)]TJ -34.372 0 Td -[(Chapter )-250(5)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(The)Tj -/TT0 1 Tf -2.111 0 Td -(tmpnam)Tj -/T1_1 1 Tf -4.037 0 Td -[(function )-187(generates )-187(a )-187(string )-187(that )-187(is )-187(a )-187(valid )-187(pathname )-187(and )-187(that )-187(does )-187(not)]TJ --6.149 -1.2 Td -[(match )-57(the )-57(name )-57(of )-57(any )-57(existing )-57(\336le.)-556(This )-57(function )-57(generates )-57(a )-57(dif)19(fer)18(ent )-57(pathname )-57(each)]TJ --0 -1.2 Td -(time it is called, up to)Tj -/TT0 1 Tf -9.753 0 Td -(TMP_MAX)Tj -/T1_1 1 Tf -4.45 0 Td -(times.)Tj -/TT0 1 Tf -3.153 0 Td -(TMP_MAX)Tj -/T1_1 1 Tf -4.45 0 Td -(is de\336ned in)Tj -/TT0 1 Tf -5.705 0 Td -()Tj -/T1_1 1 Tf -(.)Tj -7.9995 0 0 7.9995 183.589 624.9625 Tm -[(Although )-113(ISO )-113(C )-113(de\336nes)]TJ -/TT0 1 Tf -11.255 0 Td -(TMP_MAX)Tj -/T1_1 1 Tf -0.3635 Tc (,t)Tj -0 Tc 5.139 0 Td -[(he )-113(C )-113(standar)]TJ -0.3635 Tc 5.817 0 Td -(dr)Tj -0 Tc 1.352 0 Td -[(equir)18(es )-113(only )-113(that )-113(its )-113(value )-113(be )-113(at )-113(least )-113(25.)]TJ --23.563 -1.25 Td -(The Single UNIX Speci\336cation, however)Tj -0.2505 Tc 17.703 0 Td -(,r)Tj -0 Tc 0.877 0 Td -[(equir)18(es that XSI-conforming systems support a value)]TJ --18.58 -1.25 Td -[(of )-402(at )-402(least )-402(10,000.)-903(This )-402(minimum )-402(value )-402(allows )-402(an )-402(implementation )-402(to )-402(use )-402(four )-402(digits)]TJ -0 -1.21 TD -(\()Tj -0.333 -0.04 Td -(0000)Tj -2.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(9999)Tj -2 0.04 Td -(\))Tj -0.25 Tc 0.333 -0.04 Td -(,a)Tj -0 Tc 1 0 Td -(lthough most implementations on UNIX systems use alphanumeric characters\ .)Tj --6.333 -2.125 Td -(The)Tj -/TT0 1 Tf -2.064 0 Td -(tmpnam)Tj -/T1_1 1 Tf -3.99 0 Td -[(function )-140(is )-140(marked )-140(obsolescent )-140(in )-140(SUSv4, )-140(but )-140(the )-140(ISO )-140(C )-140(standar)]TJ -0.3903 Tc 29.404 0 Td -(dc)Tj -0 Tc 1.445 0 Td -[(ontinues )-140(to)]TJ --36.905 -1.25 Td -(support it.)Tj -9.9994 0 0 9.9994 147.5909 549.967 Tm -(If)Tj -/T1_2 1 Tf -0.936 0 Td -(ptr)Tj -/T1_1 1 Tf -1.488 0 Td -(is)Tj -/TT0 1 Tf -0.981 0 Td -(NULL)Tj -/T1_1 1 Tf -0.2659 Tc (,t)Tj -0 Tc 3.242 0 Td -[(he )-16(generated )-16(pathname )-16(is )-16(stor)18(ed )-16(in )-16(a )-16(static )-16(ar)18(ea, )-16(and )-16(a )-16(pointer )-16(to )-16(this)]TJ --8.446 -1.2 Td -[(ar)18(ea )-33(is )-33(r)18(eturned )-33(as )-33(the )-33(value )-33(of )-33(the )-33(function.)-533(Subsequent )-33(calls )-33(to)]TJ -/TT0 1 Tf -28.998 0 Td -(tmpnam)Tj -/T1_1 1 Tf -3.883 0 Td -[(can )-33(overwrite)]TJ --32.881 -1.2 Td -[(this )-62(static )-62(ar)17(ea. )-312(\(Thus,)-313(if )-62(we )-62(call )-62(this )-62(function )-62(mor)]TJ -0.3124 Tc 22.506 0 Td -(et)Tj -0 Tc 1.117 0 Td -[(han )-62(once )-62(and )-62(we )-62(want )-62(to )-62(save )-62(the)]TJ --23.623 -1.2 Td -[(pathname, )-53(we )-53(have )-53(to )-53(save )-53(a )-53(copy )-53(of )-53(the )-53(pathname, )-53(not )-53(a )-53(copy )-53(of )-53(the )-53(pointer)79(.\) )-303(If)]TJ -/T1_2 1 Tf -36.76 0 Td -(ptr)Tj -/T1_1 1 Tf -1.525 0 Td -(is)Tj --38.285 -1.2 Td -(not)Tj -/TT0 1 Tf -1.748 0 Td -(NULL)Tj -/T1_1 1 Tf -[(,)-294(it)-294(is)-294(a)1(ssumed )-44(that )-44(it )-44(points )-44(to )-44(an )-44(array )-44(of )-44(at )-44(least)]TJ -/TT0 1 Tf -24.869 0 Td -(L_tmpnam)Tj -/T1_1 1 Tf -5.094 0 Td -[(characters. )-294(\(The)]TJ --31.71 -1.2 Td -(constant)Tj -/TT0 1 Tf -4.13 0 Td -(L_tmpnam)Tj -/T1_1 1 Tf -5.2 0 Td -[(is )-150(de\336ned )-150(in)]TJ -/TT0 1 Tf -6.154 0 Td -()Tj -/T1_1 1 Tf -[(.\) )-400(The)-399(generated )-150(pathname )-150(is )-150(stor)18(ed )-150(in)]TJ --15.484 -1.2 Td -(this array)Tj -0.25 Tc 4.108 0 Td -(,a)Tj -0 Tc 1 0 Td -(nd)Tj -/T1_2 1 Tf -1.443 0 Td -(ptr)Tj -/T1_1 1 Tf -1.472 0 Td -[(is r)18(eturned as the value of the function.)]TJ --6.223 -1.2 Td -(The)Tj -/TT0 1 Tf -2.427 0 Td -(tmpfile)Tj -/T1_1 1 Tf -4.953 0 Td -[(function )-503(cr)18(eates )-503(a )-503(temporary )-503(binary )-503(\336le )-503(\(type)]TJ -/TT0 1 Tf -23.733 0 Td -(wb+)Tj -/T1_1 1 Tf -0.7528 Tc (\)t)Tj -0 Tc 3.212 0 Td -[(hat )-503(is)]TJ --36.124 -1.2 Td -[(automatically )-77(r)18(emoved )-77(when )-77(it )-77(is )-77(closed )-77(or )-77(on )-77(pr)16(ogram )-77(termination.)-577(Under )-77(the )-77(UNIX)]TJ -0 -1.2 TD -[(System, it makes no dif)18(fer)18(ence that this \336le is a binary \336le.)]TJ -/TT1 1 Tf --3.6 -2.4 Td -(Example)Tj -/T1_1 1 Tf -3.6 -1.8 Td -[(The pr)18(ogram in Figur)]TJ -0.25 Tc 9.538 0 Td -(e5)Tj -0 Tc 1.229 0 Td -(.12 demonstrates these two functions.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3880.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 378.4536 Tm -(#include "apue.h")Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(name[L_tmpnam],)-600(line[MAXLINE];)]TJ -0 -1.189 TD -[(FILE )-1800(*fp;)]TJ -0 -2.021 TD -[(printf\("%s\\n", tmpnam\(NULL\)\);)-4200(/* first temp name */)]TJ -T* -(tmpnam\(name\); )Tj -21.6 0 Td -[(/*)-600(second temp name */)]TJ --21.6 -1.189 Td -(printf\("%s\\n", name\);)Tj -T* -[(if \(\(fp = tmpfile\(\)\) == NULL\))-4200(/* create temp file */)]TJ -2.4 -1.189 Td -(err_sys\("tmpfile error"\);)Tj --2.4 -1.189 Td -[(fputs\("one line of output\\n", fp\);)-1200(/* write to temp file */)]TJ -0 -1.189 TD -(rewind\(fp\); )Tj -21.6 0 Td -[(/*)-600(then read it back */)]TJ --21.6 -1.189 Td -(if \(fgets\(line, sizeof\(line\), fp\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("fgets error"\);)Tj --2.4 -1.189 Td -(fputs\(line, stdout\);)Tj -21.6 0 Td -(/* print the line we wrote */)Tj --21.6 -2.021 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1543.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 220.4283 138.3231 Tm -(Figure 5.12)Tj -/T1_1 1 Tf -5.695 0 Td -(Demonstrate)Tj -/TT0 1 Tf -5.964 0 Td -(tmpnam)Tj -/T1_1 1 Tf -3.85 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(tmpfile)Tj -/T1_1 1 Tf -4.45 0 Td -(functions)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47033 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(5.1)]TJ -31.5943 Tc 4.888 0 Td -(1F)Tj -0 Tc 32.65 0 Td -[(ormatted )-250(I/O)]TJ -/T1_1 1 Tf -8.295 0 Td -(163)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 6670.25 cm -0 0 m -3899 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 149.179 658.9605 Tm -(Conversion )Tj -24.6 0 Td -(Description)Tj --23.021 -1.25 Td -(type)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 6450.25 cm -0 0 m -3899 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 6430.25 cm -0 0 m -3899 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 133.648 634.9238 Tm -(d)Tj -/T1_0 1 Tf -10.5 0 Td -(signed decimal, base 10)Tj -/TT0 1 Tf --10.5 -1.25 Td -(i)Tj -/T1_0 1 Tf -10.5 0 Td -(signed decimal, base determined by format of input)Tj -/TT0 1 Tf --10.5 -1.25 Td -(o)Tj -/T1_0 1 Tf -10.5 0 Td -(unsigned octal \(input optionally signed\))Tj -/TT0 1 Tf --10.5 -1.25 Td -(u)Tj -/T1_0 1 Tf -10.5 0 Td -(unsigned decimal, base 10 \(input optionally signed\))Tj -/TT0 1 Tf --10.5 -1.25 Td -(x,X)Tj -/T1_0 1 Tf -10.5 0 Td -(unsigned hexadecimal \(input optionally signed\))Tj -/TT0 1 Tf --10.5 -1.25 Td -(a,A,e,E,f,F,g,G)Tj -/T1_0 1 Tf -10.5 0 Td -(\337oating-point number)Tj -/TT0 1 Tf --10.5 -1.25 Td -(c)Tj -/T1_0 1 Tf -10.5 0 Td -(character \(with)Tj -/TT0 1 Tf -6.931 0 Td -(l)Tj -/T1_0 1 Tf -0.85 0 Td -(length modi\336er)Tj -0.25 Tc 6.802 0 Td -(,w)Tj -0 Tc 1.334 0 Td -(ide character\))Tj -/TT0 1 Tf --26.417 -1.25 Td -(s)Tj -/T1_0 1 Tf -10.5 0 Td -(string \(with)Tj -/TT0 1 Tf -5.44 0 Td -(l)Tj -/T1_0 1 Tf -0.85 0 Td -(length modi\336er)Tj -0.25 Tc 6.802 0 Td -(,w)Tj -0 Tc 1.334 0 Td -(ide character string\))Tj -/TT0 1 Tf --24.926 -1.25 Td -([)Tj -/T1_0 1 Tf -10.5 0 Td -(matches a sequence of listed characters, ending with)Tj -/TT0 1 Tf -23.362 0 Td -(])Tj --33.862 -1.25 Td -([\366)Tj -/T1_0 1 Tf -10.5 0 Td -(matches all characters except the ones listed, ending with)Tj -/TT0 1 Tf -25.528 0 Td -(])Tj --36.028 -1.25 Td -(p)Tj -/T1_0 1 Tf -10.5 0 Td -(pointer to a)Tj -/TT0 1 Tf -5.342 0 Td -(void)Tj --15.842 -1.25 Td -(n)Tj -/T1_0 1 Tf -10.5 0 Td -[(pointer to a signed integer into which is written the number of characte\ rs r)18(ead so far)]TJ -/TT0 1 Tf --10.5 -1.25 Td -(%)Tj -/T1_0 1 Tf -0.25 Tc 10.5 0 Td -(a%c)Tj -0 Tc 2.284 0 Td -(haracter)Tj -/TT0 1 Tf --12.784 -1.25 Td -(C)Tj -/T1_0 1 Tf -10.5 0 Td -(wide character)Tj -6.78 0.04 Td -(\()Tj -0.333 -0.04 Td -(XSI option, equivalent to)Tj -/TT0 1 Tf -11.219 0 Td -(lc)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\))Tj -/TT0 1 Tf --30.032 -1.29 Td -(S)Tj -/T1_0 1 Tf -10.5 0 Td -(wide character string)Tj -9.604 0.04 Td -(\()Tj -0.333 -0.04 Td -(XSI option, equivalent to)Tj -/TT0 1 Tf -11.219 0 Td -(ls)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 4910.25 cm -0 0 m -3899 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2116.25 4910.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5195.25 4910.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 4910.25 cm -0 0 m -0 1760 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 193.8051 472.9149 Tm -(Figure 5.10)Tj -/T1_0 1 Tf -5.695 0 Td -(The conversion type component of a conversion speci\336cation)Tj -9.9982 0 0 9.9982 129.5769 445.3198 Tm -[(speci\336ers )-61(to )-61(for)18(ce )-61(a )-61(memory )-61(buf)18(fer )-61(to )-61(be )-61(allocated )-61(to )-61(hold )-61(the )-61(converted )-61(string.)-559(In )-61(this)]TJ -0 -1.2 TD -[(case, )-233(the )-233(corr)18(esponding )-233(ar)18(gument )-233(should )-233(be )-233(the )-233(addr)18(ess )-233(of )-233(a )-233(pointer )-233(to )-233(which )-233(the)]TJ -T* -[(addr)18(ess )-335(of )-335(the )-335(allocated )-335(buf)18(fer )-335(will )-335(be )-335(copied.)-834(If )-335(the )-335(call )-335(succeeds, )-335(the )-335(caller )-335(is)]TJ --0.018 Tc -0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sponsible )-148(for )-148(fr)18(eeing )-148(the )-148(buf)18(fer )-148(by )-148(calling )-148(the)]TJ -/TT0 1 Tf -21.263 0 Td -(free)Tj -/T1_0 1 Tf -2.798 0 Td -[(function )-148(when )-148(the )-148(buf)18(fer )-148(is )-148(no)]TJ --24.917 -1.2 Td -(longer needed.)Tj -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.564 0 Td -(scanf)Tj -/T1_0 1 Tf -3.89 0 Td -[(family )-639(of )-639(functions )-639(also )-639(supports )-639(the )-639(alternative )-639(conversion)]TJ --8.253 -1.2 Td -[(speci\336cation )-102(syntax )-102(allowing )-102(the )-102(ar)16(guments )-103(to )-103(be )-103(named )-103(explicitly: )-103(the )-103(sequence)]TJ -/T1_2 1 Tf -37.055 0 Td -(%n$)Tj -/T1_0 1 Tf --0.018 Tc -37.055 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(pr)18(esents )-26(the)]TJ -/T1_2 1 Tf -5.631 0 Td -(n)Tj -/T1_0 1 Tf -[(th )-26(ar)18(gument. )-276(W)55(ith )-26(the)]TJ -/TT0 1 Tf -10.904 0 Td -(printf)Tj -/T1_0 1 Tf -3.876 0 Td -[(family )-26(of )-26(functions, )-26(the )-26(same )-26(number)19(ed)]TJ --21.267 -1.2 Td -[(ar)18(gument )-47(can )-47(be )-47(r)18(efer)18(enced )-47(in )-47(the )-47(format )-47(string )-47(mor)]TJ -0.297 Tc 23.503 0 Td -(et)Tj -0 Tc 1.102 0 Td -[(han )-47(once.)-547(In )-47(this )-47(case, )-47(however)74(,)]TJ --24.605 -1.2 Td -[(the )-204(Single )-204(UNIX )-204(Speci\336cation )-204(states )-204(that )-204(the )-204(behavior )-204(is )-204(unde\336ned )-204(with )-204(the)]TJ -/TT0 1 Tf -36 0 Td -(scanf)Tj -/T1_0 1 Tf --36 -1.2 Td -(family of functions.)Tj -1.8 -1.2 Td -[(Like )-221(the)]TJ -/TT0 1 Tf -4.265 0 Td -(printf)Tj -/T1_0 1 Tf -4.071 0 Td -(family)Tj -0.4706 Tc 2.743 0 Td -(,t)Tj -0 Tc 1.047 0 Td -(he)Tj -/TT0 1 Tf -1.532 0 Td -(scanf)Tj -/T1_0 1 Tf -3.471 0 Td -[(family )-221(supports )-221(functions )-221(that )-221(use )-221(variable)]TJ --18.928 -1.2 Td -[(ar)18(gument lists as speci\336ed by)]TJ -/TT0 1 Tf -13.279 0 Td -()Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.5737 283.449 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(int vscanf\(const char *restrict)Tj -/T1_2 1 Tf -19.2 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.466 0 Td -(a_list)Tj -/T1_2 1 Tf -4.2 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj --27.866 -2.021 Td -(int vfscanf\(FILE *restrict)Tj -/T1_2 1 Tf -16.2 0 Td -(fp)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -(,)Tj --23.578 -1.189 Td -(va_list)Tj -/T1_2 1 Tf -4.8 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj --12 -2.021 Td -(int vsscanf\(const char *restrict)Tj -/T1_2 1 Tf -19.8 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.097 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -(,)Tj --27.697 -1.189 Td -(va_list)Tj -/T1_2 1 Tf -4.8 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -5.671 -2.021 Td -[(All thr)18(ee r)18(eturn: number of input items assigned,)]TJ -/TT0 1 Tf --1.983 -1.189 Td -(EOF)Tj -/T1_0 1 Tf -2.05 0 Td -[(if input err)18(or or end of \336le befor)]TJ -0.25 Tc 14.124 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ny conversion)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1634.25 cm -0 0 m -0 1291 l -3900 1291 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9976 0 0 9.9976 129.5689 148.7043 Tm -[(Refer )-259(to )-259(your )-259(UNIX )-259(system )-259(manual )-259(for )-259(additional )-259(details )-259(on )-259(the)]TJ -/TT0 1 Tf -31.249 0 Td -(scanf)Tj -/T1_0 1 Tf -3.509 0 Td -[(family )-259(of)]TJ --34.758 -1.2 Td -(functions.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47034 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(5.1)]TJ -31.5943 Tc 4.888 0 Td -(1F)Tj -0 Tc 32.65 0 Td -[(ormatted )-250(I/O)]TJ -/T1_1 1 Tf -8.295 0 Td -(161)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1401.25 6670.25 cm -0 0 m -3690 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 144.1154 658.9605 Tm -(Conversion )Tj -23.292 0 Td -(Description)Tj --21.713 -1.25 Td -(type)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1401.25 6450.25 cm -0 0 m -3690 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1401.25 6430.25 cm -0 0 m -3690 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 144.1067 634.9238 Tm -(d,i)Tj -/T1_0 1 Tf -6.619 0 Td -(signed decimal)Tj -/TT0 1 Tf --6.619 -1.25 Td -(o)Tj -/T1_0 1 Tf -6.619 0 Td -(unsigned octal)Tj -/TT0 1 Tf --6.619 -1.25 Td -(u)Tj -/T1_0 1 Tf -6.619 0 Td -(unsigned decimal)Tj -/TT0 1 Tf --6.619 -1.25 Td -(x,X)Tj -/T1_0 1 Tf -6.619 0 Td -(unsigned hexadecimal)Tj -/TT0 1 Tf --6.619 -1.25 Td -[(f,F )-4219(double)]TJ -/T1_0 1 Tf -10.469 0 Td -(\337oating-point number)Tj -/TT0 1 Tf --10.469 -1.25 Td -[(e,E )-4219(double)]TJ -/T1_0 1 Tf -10.469 0 Td -(\337oating-point number in exponential format)Tj -/TT0 1 Tf --10.469 -1.25 Td -(g,G)Tj -/T1_0 1 Tf -6.619 0 Td -[(interpr)18(eted as f, F)92(,)-250(e,)-250(or)-250(E,)-250(depending on value converted)]TJ -/TT0 1 Tf --6.619 -1.25 Td -[(a,A )-4219(double)]TJ -/T1_0 1 Tf -10.469 0 Td -(\337oating-point number in hexadecimal exponential format)Tj -/TT0 1 Tf --10.469 -1.25 Td -(c)Tj -/T1_0 1 Tf -6.619 0 Td -(character \(with)Tj -/TT0 1 Tf -6.931 0 Td -(l)Tj -/T1_0 1 Tf -0.85 0 Td -(length modi\336er)Tj -0.25 Tc 6.802 0 Td -(,w)Tj -0 Tc 1.334 0 Td -(ide character\))Tj -/TT0 1 Tf --22.536 -1.25 Td -(s)Tj -/T1_0 1 Tf -6.619 0 Td -(string \(with)Tj -/TT0 1 Tf -5.44 0 Td -(l)Tj -/T1_0 1 Tf -0.85 0 Td -(length modi\336er)Tj -0.25 Tc 6.802 0 Td -(,w)Tj -0 Tc 1.334 0 Td -(ide character string\))Tj -/TT0 1 Tf --21.045 -1.25 Td -(p)Tj -/T1_0 1 Tf -6.619 0 Td -(pointer to a)Tj -/TT0 1 Tf -5.342 0 Td -(void)Tj --11.961 -1.25 Td -(n)Tj -/T1_0 1 Tf -6.619 0 Td -(pointer to a signed integer into which is written the number of characte\ rs written so far)Tj -/TT0 1 Tf --6.619 -1.25 Td -(%)Tj -/T1_0 1 Tf -0.25 Tc 6.619 0 Td -(a%c)Tj -0 Tc 2.284 0 Td -(haracter)Tj -/TT0 1 Tf --8.903 -1.25 Td -(C)Tj -/T1_0 1 Tf -6.619 0 Td -(wide character)Tj -6.78 0.04 Td -(\()Tj -0.333 -0.04 Td -(XSI option, equivalent to)Tj -/TT0 1 Tf -11.219 0 Td -(lc)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\))Tj -/TT0 1 Tf --26.151 -1.29 Td -(S)Tj -/T1_0 1 Tf -6.619 0 Td -(wide character string)Tj -9.604 0.04 Td -(\()Tj -0.333 -0.04 Td -(XSI option, equivalent to)Tj -/TT0 1 Tf -11.219 0 Td -(ls)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1401.25 4910.25 cm -0 0 m -3690 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1911.25 4910.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5091.25 4910.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1401.25 4910.25 cm -0 0 m -0 1760 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 195.8048 472.9149 Tm -(Figure 5.9)Tj -/T1_0 1 Tf -5.195 0 Td -(The conversion type component of a conversion speci\336cation)Tj --0.018 Tc 9.9982 0 0 9.9982 129.5769 446.5196 Tm -(re)Tj -0 Tc 0.856 0 Td -[(pr)18(esenting )-46(the)]TJ -/T1_2 1 Tf -6.677 0 Td -(n)Tj -/T1_0 1 Tf -[(th )-46(ar)18(gument. )-296(Note,)-297(however)]TJ -0.2964 Tc 13.397 0 Td -(,t)Tj -0 Tc 0.872 0 Td -[(hat )-46(the )-46(two )-46(syntaxes )-46(can\325t )-46(be )-46(mixed )-46(in)]TJ --21.802 -1.2 Td -[(the )-174(same )-174(format )-174(speci\336cation.)]TJ --0.055 Tc 14.385 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-174(the )-174(alternative )-174(syntax, )-174(ar)18(guments )-174(ar)]TJ -0.4239 Tc 17.91 0 Td -(en)Tj -0 Tc 1.485 0 Td -[(umber)18(ed)]TJ --35.015 -1.2 Td -[(starting )-74(at )-74(one.)-574(If )-74(either )-74(the )-74(\336eld )-74(width )-74(or )-74(pr)18(ecision )-74(is )-74(to )-74(be )-74(supplied )-74(by )-74(an )-74(ar)17(gument,)]TJ -0 -1.2 TD -[(the )-103(asterisk )-103(syntax )-103(is )-103(modi\336ed )-103(to)]TJ -/T1_2 1 Tf -15.417 0 Td -(*m$)Tj -/T1_0 1 Tf -0.353 Tc (,w)Tj -0 Tc 3.104 0 Td -[(her)18(e)]TJ -/T1_2 1 Tf -2.27 0 Td -(m)Tj -/T1_0 1 Tf -1.131 0 Td -[(speci\336es )-103(the )-103(position )-103(of )-103(the )-103(ar)18(gument)]TJ --21.922 -1.2 Td -(supplying the value.)Tj -1.8 -1.2 Td -[(The )-121(following )-121(\336ve )-121(variants )-121(of )-121(the)]TJ -/TT0 1 Tf -15.671 0 Td -(printf)Tj -/T1_0 1 Tf -3.971 0 Td -[(family )-121(ar)]TJ -0.3715 Tc 4.102 0 Td -(es)Tj -0 Tc 1.274 0 Td -[(imilar )-121(to )-121(the )-121(pr)18(evious )-121(\336ve,)]TJ --26.819 -1.2 Td -[(but the variable ar)18(gument list \()]TJ -/TT0 1 Tf -(...)Tj -/T1_0 1 Tf -[(\))-250(is)-250(r)18(eplaced with)]TJ -/T1_2 1 Tf -23.327 0 Td -[(ar)18(g)]TJ -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.5737 355.436 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(int vprintf\(const char *restrict)Tj -/T1_2 1 Tf -19.8 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.466 0 Td -(a_list)Tj -/T1_2 1 Tf -4.2 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj --28.466 -2.021 Td -(int vfprintf\(FILE *restrict)Tj -/T1_2 1 Tf -16.8 0 Td -(fp)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -(,)Tj --23.578 -1.189 Td -(va_list)Tj -/T1_2 1 Tf -4.8 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj --12.6 -2.021 Td -(int vdprintf\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.466 0 Td -(a_list)Tj -/T1_2 1 Tf -4.2 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --30.267 -2.021 Td -[(All thr)18(ee r)18(eturn: number of characters output if OK, negative value if output err)18(or)]TJ -/TT0 1 Tf --3.177 -2.021 Td -(int vsprintf\(char *restrict)Tj -/T1_2 1 Tf -16.8 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.097 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -(,)Tj --24.097 -1.189 Td -(va_list)Tj -/T1_2 1 Tf -4.8 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --10.598 -2.021 Td -[(Returns: number of characters stor)18(ed in array if OK, negative value if encoding err)18(or)]TJ -/TT0 1 Tf --2.002 -2.021 Td -(int vsnprintf\(char *restrict)Tj -/T1_2 1 Tf -17.4 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(n)Tj -/TT0 1 Tf -(,)Tj --15.697 -1.189 Td -(const char *restrict)Tj -/T1_2 1 Tf -12.6 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.466 0 Td -(a_list)Tj -/T1_2 1 Tf -4.2 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --20.243 -2.021 Td -[(Returns: number of characters that would have been stor)18(ed in array)]TJ -3.676 -1.189 Td -[(if buf)18(fer was lar)18(ge enough, negative value if encoding err)18(or)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1520.25 cm -0 0 m -0 2125 l -3900 2125 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9976 0 0 9.9976 129.5689 136.0473 Tm -[(We )-184(u)]TJ -0 Tc 2.24 0 Td -(se the)Tj -/TT0 1 Tf -2.79 0 Td -(vsnprintf)Tj -/T1_0 1 Tf -5.65 0 Td -[(function in the err)18(or r)18(outines in Appendix B.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47035 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(5)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -(Standar)Tj -0.56 Tc 3.714 0 Td -(dI)Tj -0 Tc 1.5 0 Td -[(/O )-280(Librar)-40(y)]TJ -/TT0 1 Tf -12 0 0 12 93.5999 440.4 Tm -[(5.1 )-1332(Intr)20(oduction)]TJ -/T1_2 1 Tf -10 0 0 10 129.5999 416.4 Tm -[(In )-8(this )-8(chapter)75(,)-258(we)-258(d)1(escribe )-8(the )-8(standar)]TJ -0.2577 Tc 17.287 0 Td -(dI)Tj -0 Tc 1.206 0 Td -[(/O )-8(library)]TJ -0.5077 Tc 4.52 0 Td -(.T)Tj -0 Tc 1.371 0 Td -[(his )-8(library )-8(is )-8(speci\336ed )-8(by )-8(the )-8(ISO)]TJ -0.2778 Tc -24.383 -1.2 Td -(Cs)Tj -0 Tc 1.411 0 Td -(tandar)Tj -0.2778 Tc 2.896 0 Td -(db)Tj -0 Tc 1.442 0 Td -[(ecause )-28(it )-28(has )-28(been )-28(implemented )-28(on )-28(many )-28(operating )-28(systems )-28(other )-28(than )-28(the)]TJ --5.749 -1.2 Td -[(UNIX )-32(System.)-531(Additional )-32(interfaces )-32(ar)]TJ -0.2817 Tc 17.39 0 Td -(ed)Tj -0 Tc 1.372 0 Td -[(e\336ned )-32(as )-32(extensions )-32(to )-32(the )-32(ISO )-32(C )-32(standar)]TJ -0.2817 Tc 18.237 0 Td -(db)Tj -0 Tc 1.446 0 Td -(y)Tj --38.444 -1.2 Td -(the Single UNIX Speci\336cation.)Tj -1.8 -1.2 Td -[(The )-93(standar)]TJ -0.3426 Tc 5.337 0 Td -(dI)Tj -0 Tc 1.291 0 Td -[(/O )-93(library )-93(handles )-93(such )-93(details )-93(as )-93(buf)20(fer )-92(allocation )-92(and )-92(performing)]TJ --8.427 -1.2 Td -[(I/O )-27(in )-27(optimal-sized )-27(chunks, )-27(obviating )-27(our )-27(need )-27(to )-27(worry )-27(about )-27(using )-27(the )-27(corr)18(ect )-27(block)]TJ -0 -1.2 TD -[(size )-265(\(as )-265(in )-265(Section )-265(3.9\).)-763(This )-264(makes )-264(the )-264(library )-264(easy )-264(to )-264(use, )-264(but )-264(at )-264(the )-264(same )-264(time)]TJ -T* -[(intr)18(oduces another set of pr)18(oblems if we\325r)]TJ -0.25 Tc 18.447 0 Td -(en)Tj -0 Tc 1.311 0 Td -(ot cognizant of what\325s going on.)Tj -8 0 0 8 183.6003 312.4 Tm -[(The )-58(standar)]TJ -0.3079 Tc 5.302 0 Td -(dI)Tj -0 Tc 1.256 0 Td -[(/O )-58(library )-58(was )-58(written )-58(by )-58(Dennis )-58(Ritchie )-58(ar)19(ound )-58(1975.)-558(It )-58(was )-58(a )-58(major )-58(r)18(evision)]TJ --6.558 -1.25 Td -[(of )-258(the )-258(Portable )-258(I/O )-258(library )-258(written )-258(by )-258(Mike )-258(Lesk.)-758(Surprisingly )-258(little )-258(has )-258(changed )-258(in )-258(the)]TJ -0 -1.25 TD -(standar)Tj -0.25 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.198 0 Td -(/O library after mor)Tj -0.25 Tc 8.962 0 Td -(et)Tj -0 Tc 1.055 0 Td -(han 35 years.)Tj -/TT0 1 Tf -12 0 0 12 93.6001 256.4 Tm -[(5.2 )-1332(Streams)-556(and)]TJ -/TT1 1 Tf -9.836 0 Td -(FILE)Tj -/TT0 1 Tf -2.956 0 Td -(Objects)Tj -/T1_2 1 Tf -10 0 0 10 129.5996 232.4 Tm -[(In )-57(Chapter )-57(3, )-57(all )-57(the )-57(I/O )-57(r)18(outines )-57(center)17(ed )-57(on )-57(\336le )-57(descriptors.)-557(When )-57(a )-57(\336le )-57(is )-57(opened, )-57(a)]TJ -0 -1.2 TD -[(\336le )-245(descriptor )-245(is )-245(r)17(eturned, )-245(and )-245(that )-245(descriptor )-245(is )-245(then )-245(used )-245(for )-245(all )-245(subsequent )-245(I/O)]TJ -T* -[(operations. )-376(W)55(ith )-126(the )-126(standar)]TJ -0.3762 Tc 13.17 0 Td -(dI)Tj -0 Tc 1.324 0 Td -[(/O )-126(library)]TJ -0.3762 Tc 4.638 0 Td -(,t)Tj -0 Tc 0.952 0 Td -[(he )-126(discussion )-126(centers )-126(on)]TJ -/T1_3 1 Tf -11.463 0 Td -[(str)18(eams)]TJ -/T1_2 1 Tf -0.6263 Tc (.\()Tj -0 Tc 4.302 0 Td -[(Do )-126(not)]TJ --35.85 -1.2 Td -[(confuse )-157(the )-157(standar)]TJ -0.407 Tc 8.932 0 Td -(dI)Tj -0 Tc 1.355 0 Td -[(/O )-157(term)]TJ -/T1_3 1 Tf -4.289 0 Td -[(str)18(eam)]TJ -/T1_2 1 Tf -3.111 0 Td -[(with )-157(the )-157(STREAMS )-157(I/O )-157(system )-157(that )-157(is )-157(part )-157(of)]TJ --17.687 -1.2 Td -[(System )-279(V )-279(and )-279(was )-279(standar)18(dized )-279(in )-279(the )-279(XSI )-279(STREAMS )-279(option )-279(in )-279(the )-279(Single )-279(UNIX)]TJ -T* -[(Speci\336cation, )-54(but )-54(is )-54(now )-54(marked )-54(obsolescent )-54(in )-54(SUSv4.\))-554(When )-54(we )-54(open )-54(or )-54(cr)18(eate )-54(a )-54(\336le)]TJ -T* -(with the standar)Tj -0.25 Tc 7.24 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O library)111(,)-250(we)-250(say that we have associated a str)18(eam with the \336le.)]TJ --0.055 Tc -6.638 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-2(the )-2(ASCII )-2(character )-2(set, )-2(a )-2(single )-2(character )-2(is )-2(r)15(epr)18(esented )-2(by )-2(a )-2(single )-2(byte.)]TJ --0.055 Tc 33.82 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj --38.092 -1.2 Td -[(international )-237(character )-237(sets, )-237(a )-237(character )-237(can )-237(be )-237(r)15(epr)18(esented )-237(by )-237(mor)]TJ -0.4874 Tc 31.298 0 Td -(et)Tj -0 Tc 1.292 0 Td -[(han )-237(one )-237(byte.)]TJ -/T1_4 1 Tf -9 0 0 9 506.1001 114 Tm -(143)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47036 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 458.337 708 Tm -(Contents)Tj -/T1_1 1 Tf -5.974 0 Td -(xi)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 154.7907 667.9599 Tm -(3.15)Tj -/TT1 1 Tf -4.68 0 Td -(ioctl)Tj -/TT0 1 Tf -3.556 0 Td -[(Function )-1882(87)]TJ --8.236 -1.3 Td -(3.16)Tj -/TT1 1 Tf -4.68 0 Td -(/dev/fd)Tj -/TT0 1 Tf -6.36 0 Td -(88)Tj --11.04 -1.3 Td -[(3.17 )-2456(Summar)]TJ -2.16 Tc 8.488 0 Td -(y9)Tj -0 Tc 3.216 0 Td -(0)Tj -/TT2 1 Tf --14.224 -2.47 Td -[(Chapter )-278(4.)-2032(Files )-278(and )-278(Directories)]TJ -34.674 0 Td -(93)Tj -/TT0 1 Tf --32.154 -1.82 Td -[(4.1 )-3012(Introduction)-2160(93)]TJ -0 -1.3 TD -(4.2)Tj -/TT1 1 Tf -4.68 0 Td -(stat)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -3.234 0 Td -(fstat)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -3.834 0 Td -(fstatat)Tj -/TT0 1 Tf -0.556 Tc (,a)Tj -0 Tc 5.59 0 Td -(nd)Tj -/TT1 1 Tf -1.668 0 Td -(lstat)Tj -/TT0 1 Tf -3.556 0 Td -[(Functions )-1882(93)]TJ --22.562 -1.3 Td -[(4.3 )-3012(File)]TJ --0.12 Tc 6.847 0 Td -(Ty)Tj -0 Tc 0.991 0 Td -[(pes )-1882(95)]TJ --7.838 -1.3 Td -[(4.4 )-3012(Set-User-ID)-556(and )-278(Set-Group-ID)-2160(98)]TJ -T* -[(4.5 )-3012(File)-556(Access )-278(P)50(er )253(missions)-2160(99)]TJ -0 -1.3 Td -[(4.6 )-3012(Ownership)-556(of )-278(Ne)]TJ -0.556 Tc 12.663 0 Td -(wF)Tj -0 Tc 1.889 0 Td -[(iles )-278(and )-278(Director)-15(ies )-1882(101)]TJ --14.552 -1.3 Td -(4.7)Tj -/TT1 1 Tf -4.68 0 Td -(access)Tj -/TT0 1 Tf -4.156 0 Td -(and)Tj -/TT1 1 Tf -2.224 0 Td -(faccessat)Tj -/TT0 1 Tf -5.956 0 Td -[(Functions )-1882(102)]TJ --17.016 -1.3 Td -(4.8)Tj -/TT1 1 Tf -4.68 0 Td -(umask)Tj -/TT0 1 Tf -3.556 0 Td -[(Function )-1882(104)]TJ --8.236 -1.3 Td -(4.9)Tj -/TT1 1 Tf -4.68 0 Td -(chmod)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -3.834 0 Td -(fchmod)Tj -/TT0 1 Tf -0.556 Tc (,a)Tj -0 Tc 4.99 0 Td -(nd)Tj -/TT1 1 Tf -1.668 0 Td -(fchmodat)Tj -/TT0 1 Tf -5.356 0 Td -[(Functions )-1882(106)]TJ --20.528 -1.3 Td -[(4.10 )-2456(Stic)20(ky )-278(Bit)-2160(108)]TJ -T* -(4.11)Tj -/TT1 1 Tf -4.68 0 Td -(chown)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -3.834 0 Td -(fchown)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -4.434 0 Td -(fchownat)Tj -/TT0 1 Tf -0.556 Tc (,a)Tj -0 Tc 6.19 0 Td -(nd)Tj -/TT1 1 Tf -1.668 0 Td -(lchown)Tj -/TT0 1 Tf --14.326 -1.3 Td -[(Functions )-1882(109)]TJ --6.48 -1.3 Td -[(4.12 )-2456(File)-556(Siz)]TJ -2.16 Tc 8.221 0 Td -(e1)Tj -0 Tc 3.272 0 Td -(11)Tj --11.493 -1.3 Td -[(4.13 )-2456(File)]TJ --0.12 Tc 6.847 0 Td -[(Tr )23(u)]TJ -0 Tc 1.395 0 Td -[(ncation )-1882(112)]TJ --8.242 -1.3 Td -[(4.14 )-2456(File)-556(Systems )-1882(113)]TJ -T* -(4.15)Tj -/TT1 1 Tf -4.68 0 Td -(link)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -3.234 0 Td -(linkat)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -4.434 0 Td -(unlink)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -4.434 0 Td -(unlinkat)Tj -/TT0 1 Tf -0.556 Tc (,a)Tj -0 Tc 6.19 0 Td -(nd)Tj -/TT1 1 Tf -1.668 0 Td -(remove)Tj -/TT0 1 Tf --18.16 -1.3 Td -[(Functions )-1882(116)]TJ --6.48 -1.3 Td -(4.16)Tj -/TT1 1 Tf -4.68 0 Td -(rename)Tj -/TT0 1 Tf -4.156 0 Td -(and)Tj -/TT1 1 Tf -2.224 0 Td -(renameat)Tj -/TT0 1 Tf -5.356 0 Td -[(Functions )-1882(119)]TJ --16.416 -1.3 Td -[(4.17 )-2456(Symbolic)-556(Links )-1882(120)]TJ -T* -[(4.18 )-2456(Creating)-556(and )-278(Reading )-278(Symbolic )-278(Links)-2160(123)]TJ -T* -[(4.19 )-2456(File)-556(Times )-1882(124)]TJ -T* -(4.20)Tj -/TT1 1 Tf -4.68 0 Td -(futimens)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -5.634 0 Td -(utimensat)Tj -/TT0 1 Tf -0.556 Tc (,a)Tj -0 Tc 6.79 0 Td -(nd)Tj -/TT1 1 Tf -1.668 0 Td -(utimes)Tj -/TT0 1 Tf -4.156 0 Td -[(Functions )-1882(126)]TJ --22.928 -1.3 Td -(4.21)Tj -/TT1 1 Tf -4.68 0 Td -(mkdir)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -3.834 0 Td -(mkdirat)Tj -/TT0 1 Tf -0.556 Tc (,a)Tj -0 Tc 5.59 0 Td -(nd)Tj -/TT1 1 Tf -1.668 0 Td -(rmdir)Tj -/TT0 1 Tf -3.556 0 Td -[(Functions )-1882(129)]TJ --19.328 -1.3 Td -[(4.22 )-2456(Reading)-556(Director )263(ies)-2160(130)]TJ -0 -1.3 Td -(4.23)Tj -/TT1 1 Tf -4.68 0 Td -(chdir)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -3.834 0 Td -(fchdir)Tj -/TT0 1 Tf -0.556 Tc (,a)Tj -0 Tc 4.99 0 Td -(nd)Tj -/TT1 1 Tf -1.668 0 Td -(getcwd)Tj -/TT0 1 Tf -4.156 0 Td -[(Functions )-1882(135)]TJ --19.328 -1.3 Td -[(4.24 )-2456(De)30(vice )-278(Special )-278(Files)-2160(137)]TJ -0 -1.3 Td -[(4.25 )-2456(Summar)-30(y)-556(of)-556(File )-278(Access )-278(P)50(er )253(mission)-556(Bits )-1882(140)]TJ --0 -1.3 Td -[(4.26 )-2456(Summar)]TJ -2.16 Tc 8.488 0 Td -(y1)Tj -0 Tc 3.216 0 Td -(40)Tj -/TT2 1 Tf --14.224 -2.47 Td -[(Chapter )-278(5.)-2032(Standar)]TJ -0.556 Tc 10.903 0 Td -(dI)Tj -0 Tc 1.445 0 Td -[(/O )-278(Librar)]TJ -16.758 Tc 4.456 0 Td -(y1)Tj -0 Tc 17.87 0 Td -(43)Tj -/TT0 1 Tf --32.154 -1.82 Td -[(5.1 )-3012(Introduction)-2160(143)]TJ -T* -[(5.2 )-3012(Streams)-556(and)]TJ -/TT1 1 Tf -11.183 0 Td -(FILE)Tj -/TT0 1 Tf -2.956 0 Td -[(Objects )-1882(143)]TJ --14.139 -1.3 Td -[(5.3 )-3012(Standard)-556(Input, )-278(Standard )-278(Output, )-278(and )-278(Standard)]TJ -6.48 -1.3 Td -[(Error )-1882(145)]TJ --6.48 -1.3 Td -[(5.4 )-3012(Buff)30(er )263(ing)-2160(145)]TJ --0 -1.3 Td -[(5.5 )-3012(Opening)]TJ -0.556 Tc 9.016 0 Td -(aS)Tj -0 Tc 1.779 0 Td -[(tream )-1882(148)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47037 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(148)Tj -/T1_1 1 Tf -3.5 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Library)]TJ -34.372 0 Td -[(Chapter )-250(5)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(5.5 )-1332(Opening)]TJ -0.556 Tc 7.612 0 Td -(aS)Tj -0 Tc 1.779 0 Td -(tream)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5921 644.9613 Tm -(The)Tj -/TT1 1 Tf -1.924 0 Td -(fopen)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -3.5 0 Td -(freopen)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 5.2 0 Td -(nd)Tj -/TT1 1 Tf -1.443 0 Td -(fdopen)Tj -/T1_1 1 Tf -3.85 0 Td -(functions open a standar)Tj -0.25 Tc 10.909 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O str)18(eam.)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.591 627.0624 Tm -(#include )Tj -0 -2.021 TD -(FILE *fopen\(const char *restrict)Tj -/T1_2 1 Tf -19.8 0 Td -(pathname)Tj -/TT1 1 Tf -0.6 Tc (,c)Tj -0 Tc 5.744 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(type)Tj -/TT1 1 Tf -(\);)Tj --37.544 -2.021 Td -(FILE *freopen\(const char *restrict)Tj -/T1_2 1 Tf -21 0 Td -(pathname)Tj -/TT1 1 Tf -0.6 Tc (,c)Tj -0 Tc 5.744 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(type)Tj -/TT1 1 Tf -(,)Tj --30.344 -1.189 Td -(FILE *restrict)Tj -/T1_2 1 Tf -9 0 Td -(fp)Tj -/TT1 1 Tf -(\);)Tj --17.4 -2.021 Td -(FILE *fdopen\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(fd)Tj -/TT1 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(type)Tj -/TT1 1 Tf -(\);)Tj -/T1_1 1 Tf -4.989 -2.021 Td -[(All thr)18(ee r)18(eturn: \336le pointer if OK,)]TJ -/TT1 1 Tf -15.346 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5391.25 cm -0 0 m -0 970 l -3900 970 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 524.3771 Tm -[(The dif)18(fer)18(ences in these thr)18(ee functions ar)18(e)-250(as)-250(follows:)]TJ -1.8 -2.04 Td -[(1. )-633(The)]TJ -/TT1 1 Tf -3.557 0 Td -(fopen)Tj -/T1_1 1 Tf -3.25 0 Td -(function opens a speci\336ed \336le.)Tj -1.133 Tc -6.807 -1.6 Td -(2T)Tj -0 Tc 2.246 0 Td -(he)Tj -/TT1 1 Tf -1.413 0 Td -(freopen)Tj -/T1_1 1 Tf -4.552 0 Td -[(function )-102(opens )-102(a )-102(speci\336ed )-102(\336le )-102(on )-102(a )-102(speci\336ed )-102(str)18(eam, )-102(closing )-102(the)]TJ --6.578 -1.2 Td -[(str)18(eam )-149(\336rst )-149(if )-149(it )-149(is )-149(alr)18(eady )-149(open.)-649(If )-149(the )-149(str)18(eam )-149(pr)22(eviously )-149(had )-149(an )-149(orientation,)]TJ -/TT1 1 Tf --0 -1.2 Td -(freopen)Tj -/T1_1 1 Tf -4.485 0 Td -[(clears )-35(it.)-535(This )-35(function )-35(is )-35(typically )-35(used )-35(to )-35(open )-35(a )-35(speci\336ed )-35(\336le )-35(as )-35(one)]TJ --4.485 -1.2 Td -[(of the pr)18(ede\336ned str)18(eams: standar)]TJ -0.25 Tc 15.073 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput, standar)Tj -0.25 Tc 5.932 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput, or standar)Tj -0.25 Tc 7.47 0 Td -(de)Tj -0 Tc 1.34 0 Td -[(rr)18(or)74(.)]TJ --34.007 -1.6 Td -[(3. )-633(The)]TJ -/TT1 1 Tf -3.703 0 Td -(fdopen)Tj -/T1_1 1 Tf -3.996 0 Td -[(function )-146(takes )-146(an )-146(existing )-146(\336le )-146(descriptor)]TJ -0.3957 Tc 18.33 0 Td -(,w)Tj -0 Tc 1.48 0 Td -[(hich )-146(we )-146(could )-146(obtain)]TJ --25.875 -1.2 Td -[(fr)18(om )-165(the)]TJ -/TT1 1 Tf -4.356 0 Td -(open)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -3.065 0 Td -(dup)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -2.465 0 Td -(dup2)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -3.065 0 Td -(fcntl)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -3.665 0 Td -(pipe)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -3.065 0 Td -(socket)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -4.265 0 Td -(socketpair)Tj -/T1_1 1 Tf -0.415 Tc (,o)Tj -0 Tc 7.211 0 Td -(r)Tj -/TT1 1 Tf -0.81 0 Td -(accept)Tj -/T1_1 1 Tf --31.967 -1.2 Td -[(functions, )-322(and )-322(associates )-322(a )-322(standar)]TJ -0.5718 Tc 16.539 0 Td -(dI)Tj -0 Tc 1.52 0 Td -[(/O )-322(str)18(eam )-322(with )-322(the )-322(descriptor)]TJ -0.8218 Tc 14.526 0 Td -(.T)Tj -0 Tc 1.685 0 Td -(his)Tj --34.27 -1.2 Td -[(function )-124(is )-124(often )-124(used )-124(with )-124(descriptors )-124(that )-124(ar)]TJ -0.3742 Tc 21.004 0 Td -(er)Tj -0 Tc 1.23 0 Td -[(eturned )-124(by )-124(the )-124(functions )-124(that)]TJ --22.235 -1.2 Td -[(cr)18(eate )-39(pipes )-39(and )-39(network )-39(communication )-39(channels.)-541(Because )-39(these )-39(special )-39(types)]TJ -0 -1.2 Td -[(of )-15(\336les )-15(cannot )-15(be )-15(opened )-15(with )-15(the )-15(standar)]TJ -0.2646 Tc 18.581 0 Td -(dI)Tj -0 Tc 1.213 0 Td -(/O)Tj -/TT1 1 Tf -1.657 0 Td -(fopen)Tj -/T1_1 1 Tf -3.265 0 Td -[(function, )-15(we )-15(have )-15(to )-15(call)]TJ --24.715 -1.2 Td -[(the )-162(device-speci\336c )-162(function )-162(to )-162(obtain )-162(a )-162(\336le )-162(descriptor)]TJ -0.4119 Tc 24.45 0 Td -(,a)Tj -0 Tc 1.162 0 Td -[(nd )-162(then )-162(associate )-162(this)]TJ --25.612 -1.2 Td -(descriptor with a standar)Tj -0.25 Tc 11.115 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O str)18(eam using)]TJ -/TT1 1 Tf -7.587 0 Td -(fdopen)Tj -/T1_1 1 Tf -(.)Tj -7.999 0 0 7.999 183.5785 326.0013 Tm -(Both)Tj -/TT1 1 Tf -2.396 0 Td -(fopen)Tj -/T1_1 1 Tf -3.331 0 Td -(and)Tj -/TT1 1 Tf -2.024 0 Td -(freopen)Tj -/T1_1 1 Tf -4.531 0 Td -(ar)Tj -0.3306 Tc 0.877 0 Td -(ep)Tj -0 Tc 1.411 0 Td -[(art )-81(of )-81(ISO )-81(C;)]TJ -/TT1 1 Tf -6.029 0 Td -(fdopen)Tj -/T1_1 1 Tf -3.931 0 Td -[(is )-80(part )-80(of )-80(POSIX.1, )-80(since )-80(ISO )-80(C )-80(doesn\325t)]TJ --24.528 -1.25 Td -(deal with \336le descriptors.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1330.25 2920.25 cm -0 0 m -3831 0 l -S -Q -Q -BT -/T1_2 1 Tf -7.9986 0 0 7.9986 166.482 283.9889 Tm -(type)Tj -/T1_1 1 Tf -14.226 0 Td -(Description)Tj -/TT1 1 Tf -18.405 0 Td -(open)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(Flags)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1330.25 2800.25 cm -0 0 m -3831 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1330.25 2780.25 cm -0 0 m -3831 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9981 0 0 7.9981 137.0391 269.9752 Tm -(r)Tj -/T1_1 1 Tf -1.2 0 Td -(or)Tj -/TT1 1 Tf -1.541 0 Td -(rb )Tj -29.141 0 Td -(O_RDONLY)Tj -/T1_1 1 Tf --21.3 0 Td -[(open for r)18(eading)]TJ -/TT1 1 Tf --10.582 -1.25 Td -(w)Tj -/T1_1 1 Tf -1.2 0 Td -(or)Tj -/TT1 1 Tf -1.541 0 Td -(wb )Tj -29.141 0 Td -(O_WRONLY|O_CREAT|O_TRUNC)Tj -/T1_1 1 Tf --21.3 0 Td -[(tr)8(uncate to 0 length or cr)18(eate for writing)]TJ -/TT1 1 Tf --10.582 -1.25 Td -(a)Tj -/T1_1 1 Tf -1.2 0 Td -(or)Tj -/TT1 1 Tf -1.541 0 Td -(ab )Tj -29.141 0 Td -(O_WRONLY|O_CREAT|O_APPEND)Tj -/T1_1 1 Tf --21.3 0 Td -(append; open for writing at end of \336le, or)Tj -0 -1.25 TD -[(cr)18(eate for writing)]TJ -/TT1 1 Tf --10.582 -1.25 Td -(r+)Tj -/T1_1 1 Tf -1.8 0 Td -(or)Tj -/TT1 1 Tf -1.541 0 Td -(r+b)Tj -/T1_1 1 Tf -2.4 0 Td -(or)Tj -/TT1 1 Tf -1.541 0 Td -(rb+ )Tj -24.6 0 Td -(O_RDWR)Tj -/T1_1 1 Tf --21.3 0 Td -[(open for r)18(eading and writing)]TJ -/TT1 1 Tf --10.582 -1.25 Td -(w+)Tj -/T1_1 1 Tf -1.8 0 Td -(or)Tj -/TT1 1 Tf -1.541 0 Td -(w+b)Tj -/T1_1 1 Tf -2.4 0 Td -(or)Tj -/TT1 1 Tf -1.541 0 Td -(wb+ )Tj -24.6 0 Td -(O_RDWR|O_CREAT|O_TRUNC)Tj -/T1_1 1 Tf --21.3 0 Td -[(tr)8(uncate to 0 length or cr)18(eate for r)18(eading and)]TJ -T* -(writing)Tj -/TT1 1 Tf --10.582 -1.25 Td -(a+)Tj -/T1_1 1 Tf -1.8 0 Td -(or)Tj -/TT1 1 Tf -1.541 0 Td -(a+b)Tj -/T1_1 1 Tf -2.4 0 Td -(or)Tj -/TT1 1 Tf -1.541 0 Td -(ab+ )Tj -24.6 0 Td -(O_RDWR|O_CREAT|O_APPEND)Tj -/T1_1 1 Tf --21.3 0 Td -[(open or cr)18(eate for r)18(eading and writing at)]TJ -T* -(end of \336le)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1330.25 1860.25 cm -0 0 m -3831 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3861.25 1860.25 cm -0 0 m -0 1060 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2157.25 1860.25 cm -0 0 m -0 1060 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5161.25 1860.25 cm -0 0 m -0 1060 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1330.25 1860.25 cm -0 0 m -0 1060 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 208.7094 167.9896 Tm -(Figure 5.2)Tj -/T1_1 1 Tf -5.195 0 Td -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(type)Tj -/T1_1 1 Tf -1.972 0 Td -[(ar)18(gument for opening a standar)]TJ -0.25 Tc 14.037 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O str)18(eam)]TJ -9.997 0 0 9.997 147.5563 143.9968 Tm -[(ISO )-166(C )-166(speci\336es )-166(15 )-166(values )-166(for )-166(the)]TJ -/T1_2 1 Tf -15.539 0 Td -(type)Tj -/T1_1 1 Tf -2.138 0 Td -[(ar)18(gument, )-166(shown )-166(in )-166(Figur)]TJ -0.416 Tc 12.028 0 Td -(e5)Tj -0 Tc 1.395 0 Td -[(.3. )-416(Using)-416(the)]TJ --32.9 -1.2 Td -(character)Tj -/TT1 1 Tf -4.337 0 Td -(b)Tj -/T1_1 1 Tf -0.872 0 Td -[(as )-22(part )-22(of )-22(the)]TJ -/T1_2 1 Tf -6.101 0 Td -(type)Tj -/T1_1 1 Tf -1.994 0 Td -[(allows )-22(the )-22(standar)]TJ -0.2722 Tc 8.137 0 Td -(dI)Tj -0 Tc 1.22 0 Td -[(/O )-22(system )-22(to )-22(dif)17(fer)18(entiate )-22(between )-22(a)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47038 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(5.4)]TJ -39.668 0 Td -[(Buf)18(fering)]TJ -/T1_1 1 Tf -6.165 0 Td -(145)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(5.3 )-1332(Standar)]TJ -0.556 Tc 6.703 0 Td -(dI)Tj -0 Tc 1.445 0 Td -[(nput, )-278(Standar)]TJ -0.556 Tc 6.703 0 Td -(dO)Tj -0 Tc 1.945 0 Td -[(utput, )-278(and )-278(Standar)]TJ -0.556 Tc 9.37 0 Td -(dE)Tj -0 Tc 1.834 0 Td -[(rr)20(or)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5924 644.9613 Tm -[(Thr)18(ee )-82(str)18(eams )-82(ar)]TJ -0.3324 Tc 7.485 0 Td -(ep)Tj --0.018 Tc 1.412 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(de\336ned )-82(and )-82(automatically )-82(available )-82(to )-82(a )-82(pr)16(ocess: )-82(standar)]TJ -0.3323 Tc 25.651 0 Td -(di)Tj -0 Tc 1.234 0 Td -(nput,)Tj --36.638 -1.2 Td -(standar)Tj -0.392 Tc 3.32 0 Td -(do)Tj -0 Tc 1.549 0 Td -[(utput, )-142(and )-142(standar)]TJ -0.392 Tc 8.506 0 Td -(de)Tj -0 Tc 1.482 0 Td -[(rr)18(or)]TJ -0.6421 Tc 1.639 0 Td -(.T)Tj -0 Tc 1.505 0 Td -[(hese )-142(str)18(eams )-142(r)18(efer )-142(to )-142(the )-142(same )-142(\336les )-142(as )-142(the )-142(\336le)]TJ --18.001 -1.2 Td -(descriptors)Tj -/TT1 1 Tf -5.61 0 Td -(STDIN_FILENO)Tj -/T1_0 1 Tf -(,)Tj -/TT1 1 Tf -8.124 0 Td -(STDOUT_FILENO)Tj -/T1_0 1 Tf -0.674 Tc (,a)Tj -0 Tc 9.224 0 Td -(nd)Tj -/TT1 1 Tf -1.867 0 Td -(STDERR_FILENO)Tj -/T1_0 1 Tf -0.674 Tc (,r)Tj -0 Tc 9.101 0 Td -[(espectively)111(,)]TJ --33.926 -1.2 Td -(which we mentioned in Section 3.2.)Tj -1.8 -1.2 Td -[(These )-365(thr)18(ee )-365(standar)]TJ -0.6153 Tc 9.371 0 Td -(dI)Tj -0 Tc 1.563 0 Td -[(/O )-365(str)18(eams )-365(ar)]TJ -0.6153 Tc 6.913 0 Td -(er)Tj -0 Tc 1.471 0 Td -[(efer)18(enced )-365(thr)18(ough )-365(the )-365(pr)18(ede\336ned )-365(\336le)]TJ --21.118 -1.2 Td -(pointers)Tj -/TT1 1 Tf -3.926 0 Td -(stdin)Tj -/T1_0 1 Tf -(,)Tj -/TT1 1 Tf -3.532 0 Td -(stdout)Tj -/T1_0 1 Tf -0.2823 Tc (,a)Tj -0 Tc 4.632 0 Td -(nd)Tj -/TT1 1 Tf -1.475 0 Td -(stderr)Tj -/T1_0 1 Tf -0.5323 Tc (.T)Tj -0 Tc 4.995 0 Td -[(he )-32(\336le )-32(pointers )-32(ar)]TJ -0.2822 Tc 7.804 0 Td -(ed)Tj -0 Tc 1.372 0 Td -[(e\336ned )-32(in )-32(the)]TJ -/TT1 1 Tf -5.863 0 Td -()Tj -/T1_0 1 Tf --33.6 -1.2 Td -[(header)74(.)]TJ -/TT0 1 Tf -11.9993 0 0 11.9993 93.5945 532.1681 Tm -[(5.4 )-1332(Buff)10(ering)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5923 508.1695 Tm -[(The )-80(goal )-80(of )-80(the )-80(buf)18(fering )-80(pr)18(ovided )-80(by )-80(the )-80(standar)]TJ -0.3297 Tc 22.475 0 Td -(dI)Tj -0 Tc 1.278 0 Td -[(/O )-80(library )-80(is )-80(to )-80(use )-80(the )-80(minimum)]TJ --23.752 -1.2 Td -[(number )-15(of)]TJ -/TT1 1 Tf -4.904 0 Td -(read)Tj -/T1_0 1 Tf -2.665 0 Td -(and)Tj -/TT1 1 Tf -1.958 0 Td -(write)Tj -/T1_0 1 Tf -3.265 0 Td -[(calls. )-265(\(Recall)-265(Figur)]TJ -0.2649 Tc 8.369 0 Td -(e3)Tj -0 Tc 1.244 0 Td -[(.6, )-15(which )-15(showed )-15(the )-15(amount )-15(of )-15(CPU)]TJ --22.405 -1.2 Td -[(time )-90(r)18(equir)18(ed )-90(to )-90(perform )-90(I/O )-90(using )-90(various )-90(buf)16(fer )-90(sizes.\))-590(Also, )-90(this )-90(library )-90(tries )-90(to )-90(do)]TJ -0 -1.2 TD -[(its )-3(buf)18(fering )-3(automatically )-3(for )-3(each )-3(I/O )-3(str)18(eam, )-3(obviating )-3(the )-3(need )-3(for )-3(the )-3(application )-3(to)]TJ -T* -[(worry )-314(about )-314(it.)-814(Unfortunately)]TJ -0.564 Tc 14.249 0 Td -(,t)Tj -0 Tc 1.14 0 Td -[(he )-314(single )-314(aspect )-314(of )-314(the )-314(standar)]TJ -0.564 Tc 14.864 0 Td -(dI)Tj -0 Tc 1.512 0 Td -[(/O )-314(library )-314(that)]TJ --31.765 -1.2 Td -[(generates the most confusion is its buf)18(fering.)]TJ -1.8 -1.2 Td -[(Thr)18(ee types of buf)18(fering ar)]TJ -0.25 Tc 11.779 0 Td -(ep)Tj --0.018 Tc 1.33 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(vided:)Tj --14.032 -2.16 Td -[(1. )-633(Fully)-489(buf)18(fer)18(ed. )-489(In)-488(this )-239(case, )-239(actual )-239(I/O )-239(takes )-239(place )-239(when )-239(the )-239(standar)]TJ -0.4886 Tc 34.372 0 Td -(dI)Tj -0 Tc 1.437 0 Td -(/O)Tj --34.175 -1.2 Td -[(buf)18(fer )-334(is )-334(\336lled.)-836(Files )-335(r)18(esiding )-335(on )-335(disk )-335(ar)]TJ -0.5846 Tc 19.801 0 Td -(en)Tj -0 Tc 1.646 0 Td -[(ormally )-335(fully )-335(buf)19(fer)18(ed )-335(by )-335(the)]TJ --21.447 -1.2 Td -(standar)Tj -0.2527 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.201 0 Td -[(/O )-3(library)]TJ -0.5026 Tc 4.515 0 Td -(.T)Tj -0 Tc 1.366 0 Td -[(he )-3(buf)18(fer )-3(used )-3(is )-3(usually )-3(obtained )-3(by )-3(one )-3(of )-3(the )-3(standar)22(d)]TJ --10.401 -1.2 Td -[(I/O )-68(functions )-68(calling)]TJ -/TT1 1 Tf -9.769 0 Td -(malloc)Tj -/T1_0 1 Tf -3.918 0 Td -[(\(Section )-68(7.8\) )-68(the )-68(\336rst )-68(time )-68(I/O )-68(is )-68(performed )-68(on )-68(a)]TJ --13.687 -1.2 Td -[(str)18(eam.)]TJ -0 -1.8 TD -[(The )-100(term)]TJ -/T1_2 1 Tf -4.457 0 Td -(\337ush)Tj -/T1_0 1 Tf -2.34 0 Td -[(describes )-100(the )-100(writing )-100(of )-100(a )-100(standar)]TJ -0.3501 Tc 15.211 0 Td -(dI)Tj -0 Tc 1.298 0 Td -[(/O )-100(buf)18(fer)]TJ -0.6 Tc 4.346 0 Td -(.A)Tj -0 Tc 1.978 0 Td -[(buf)18(fer )-100(can )-100(be)]TJ --29.631 -1.2 Td -[(\337ushed )-56(automatically )-56(by )-56(the )-56(standar)]TJ -0.3063 Tc 16.405 0 Td -(dI)Tj -0 Tc 1.254 0 Td -[(/O )-56(r)18(outines, )-56(such )-56(as )-56(when )-56(a )-56(buf)18(fer )-56(\336lls,)]TJ --17.659 -1.2 Td -[(or )-196(we )-196(can )-196(call )-196(the )-196(function)]TJ -/TT1 1 Tf -13.074 0 Td -(fflush)Tj -/T1_0 1 Tf -4.046 0 Td -[(to )-196(\337ush )-196(a )-196(str)19(eam. )-446(Unfortunately)111(,)-446(in)-446(t)1(he)]TJ --17.119 -1.2 Td -[(UNIX )-93(envir)18(onment,)]TJ -/T1_2 1 Tf -9.241 0 Td -(\337ush)Tj -/T1_0 1 Tf -2.333 0 Td -[(means )-93(two )-93(dif)18(fer)18(ent )-93(things.)-593(In )-93(terms )-93(of )-93(the )-93(standar)19(d)]TJ --11.573 -1.2 Td -[(I/O )-14(library)]TJ -0.2643 Tc 4.863 0 Td -(,i)Tj -0.2642 Tc 0.805 0 Td -(tm)Tj -0 Tc 1.473 0 Td -[(eans )-14(writing )-14(out )-14(the )-14(contents )-14(of )-14(a )-14(buf)17(fer)]TJ -0.2642 Tc 17.663 0 Td -(,w)Tj -0 Tc 1.348 0 Td -[(hich )-14(may )-14(be )-14(partially)]TJ --26.153 -1.2 Td -[(\336lled. )-608(In)-608(terms )-358(of )-358(the )-358(terminal )-358(driver)]TJ -0.6079 Tc 18.525 0 Td -(,s)Tj -0 Tc 1.282 0 Td -[(uch )-358(as )-358(the)]TJ -/TT1 1 Tf -5.764 0 Td -(tcflush)Tj -/T1_0 1 Tf -4.808 0 Td -[(function )-358(in)]TJ --30.379 -1.2 Td -(Chapter 18, it means to discar)Tj -0.25 Tc 13.096 0 Td -(dt)Tj -0 Tc 1.187 0 Td -[(he data that\325s alr)18(eady stor)18(ed in a buf)18(fer)74(.)]TJ --15.916 -2.08 Td -[(2. )-633(Line)-494(buf)18(fer)18(ed. )-494(In)-494(this )-244(case, )-244(the )-244(standar)]TJ -0.4937 Tc 20.155 0 Td -(dI)Tj -0 Tc 1.442 0 Td -[(/O )-244(library )-244(performs )-244(I/O )-244(when )-244(a)]TJ --19.963 -1.2 Td -[(newline )-24(character )-24(is )-24(encounter)18(ed )-24(on )-24(input )-24(or )-24(output.)-525(This )-24(allows )-24(us )-24(to )-24(output )-24(a)]TJ -0 -1.2 TD -[(single )-16(character )-16(at )-16(a )-16(time )-16(\(with )-16(the )-16(standar)]TJ -0.2658 Tc 18.927 0 Td -(dI)Tj -0 Tc 1.214 0 Td -(/O)Tj -/TT1 1 Tf -1.658 0 Td -(fputc)Tj -/T1_0 1 Tf -3.266 0 Td -[(function\), )-16(knowing )-16(that)]TJ --25.065 -1.2 Td -[(actual )-23(I/O )-23(will )-23(take )-23(place )-23(only )-23(when )-23(we )-23(\336nish )-23(writing )-23(each )-23(line.)-523(Line )-23(buf)18(fering)]TJ -T* -[(is )-86(typically )-86(used )-86(on )-86(a )-86(str)18(eam )-86(when )-86(it )-86(r)18(efers )-86(to )-86(a )-86(terminal)]TJ -0.0833 Tc 25.785 0 Td -(\321s)Tj -0 Tc 1.507 0 Td -(tandar)Tj -0.336 Tc 2.896 0 Td -(di)Tj -0 Tc 1.238 0 Td -[(nput )-86(and)]TJ --31.426 -1.2 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput, for example.)Tj --4.727 -1.8 Td -[(Line )-200(buf)18(fering )-200(comes )-200(with )-200(two )-200(caveats.)-702(First, )-200(the )-200(size )-200(of )-200(the )-200(buf)18(fer )-200(that )-200(the)]TJ -T* -(standar)Tj -0.2895 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.237 0 Td -[(/O )-39(library )-39(uses )-39(to )-39(collect )-39(each )-39(line )-39(is )-39(\336xed, )-39(so )-39(I/O )-39(might )-39(take )-39(place )-39(if)]TJ --4.557 -1.2 Td -[(we )-408(\336ll )-408(this )-408(buf)18(fer )-408(befor)]TJ -0.6578 Tc 11.72 0 Td -(ew)Tj -0 Tc 1.971 0 Td -[(riting )-408(a )-408(newline.)-907(Second, )-408(whenever )-408(input )-408(is)]TJ --0.018 Tc -13.691 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quested )-1(thr)18(ough )-1(the )-1(standar)]TJ -0.2515 Tc 12.516 0 Td -(dI)Tj -0 Tc 1.199 0 Td -[(/O )-1(library )-1(fr)17(om )-1(either )-1(\(a\) )-1(an )-1(unbuf)16(fer)18(ed )-1(str)18(eam)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47039 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(140)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(4.25 )-776(Summar)-10(y)-556(of)-556(File )-278(Access )-278(P)30(ermission )-278(Bits)]TJ -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5922 648.5611 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-368(cover)18(ed )-368(all )-368(the )-368(\336le )-368(access )-368(permission )-368(bits, )-368(some )-368(of )-368(which )-368(serve )-368(multiple)]TJ --1.387 -1.2 Td -[(purposes. )-329(Figur)]TJ -0.3289 Tc 7.285 0 Td -(e4)Tj -0 Tc 1.308 0 Td -[(.26 )-79(summarizes )-79(these )-79(permission )-79(bits )-79(and )-79(their )-79(interpr)18(etation )-79(when)]TJ --8.593 -1.2 Td -[(applied to a r)18(egular \336le and a dir)18(ectory)111(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1188.25 6100.25 cm -0 0 m -4019 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 123.6052 601.3278 Tm -[(Constant )-1947(Description)]TJ -17.058 0 Td -[(Ef)18(fect on r)18(egular \336le)]TJ -19 0 Td -[(Ef)18(fect on dir)18(ectory)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1188.25 5974.25 cm -0 0 m -4019 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1188.25 5954.25 cm -0 0 m -4019 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9986 0 0 7.9986 122.7779 586.6944 Tm -(S_ISUID)Tj -/T1_1 1 Tf -5.7 0 Td -[(set-user)18(-ID)-2953(set ef)18(fective user ID on execution)-3104(\(not used\))]TJ -/TT1 1 Tf --5.7 -1.59 Td -(S_ISGID)Tj -/T1_1 1 Tf -5.7 0 Td -[(set-gr)18(oup-ID)-2153(if gr)18(oup-execute set, then set)]TJ -9.192 -1.325 Td -[(ef)18(fective gr)18(oup ID on execution;)]TJ -0 -1.325 TD -(otherwise, enable mandatory)Tj --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.25 Tc 1.367 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(ocking \(if supported\))Tj -12.975 3.975 Td -[(set gr)18(oup ID of new \336les cr)18(eated in)]TJ -1.35 -1.325 Td -[(dir)18(ectory to gr)18(oup ID of dir)18(ectory)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1188.25 5383.25 cm -0 0 m -4019 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9981 0 0 7.9981 122.7705 529.5529 Tm -(S_ISVTX)Tj -/T1_1 1 Tf -5.7 0 Td -[(sticky bit)-3825(contr)18(ol caching of \336le contents)]TJ -9.192 -1.325 Td -(\(if supported\))Tj --0.018 Tc 16.35 1.325 Td -(re)Tj -0 Tc 0.856 0 Td -[(strict r)18(emoval and r)18(enaming of \336les in)]TJ -0.494 -1.325 Td -[(dir)18(ectory)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1188.25 5151.25 cm -0 0 m -4019 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9976 0 0 7.9976 122.7632 506.3281 Tm -(S_IRUSR)Tj -/T1_1 1 Tf -5.7 0 Td -[(user)18(-r)18(ead)-3659(user permission to r)18(ead \336le)]TJ -25.542 0 Td -[(user permission to r)18(ead dir)18(ectory)]TJ -1.35 -1.325 Td -(entries)Tj -/TT1 1 Tf --32.592 -1.59 Td -(S_IWUSR)Tj -/T1_1 1 Tf -5.7 0 Td -[(user)18(-write)-3301(user permission to write \336le)]TJ -25.542 0 Td -[(user permission to r)18(emove and cr)18(eate)]TJ -1.35 -1.325 Td -[(\336les in dir)18(ectory)]TJ -/TT1 1 Tf --32.592 -1.59 Td -(S_IXUSR)Tj -/T1_1 1 Tf -5.7 0 Td -[(user)18(-execute)-2300(user permission to execute \336le)-4310(user permission to sear)18(ch for given)]TJ -26.892 -1.325 Td -[(pathname in dir)18(ectory)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1188.25 4452.25 cm -0 0 m -4019 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9971 0 0 7.9971 122.7558 436.4828 Tm -(S_IRGRP)Tj -/T1_1 1 Tf -5.7 0 Td -[(gr)18(oup-r)18(ead)-2859(gr)18(oup permission to r)18(ead \336le)-4887(gr)18(oup permission to r)18(ead dir)18(ectory)]TJ -26.892 -1.325 Td -(entries)Tj -/TT1 1 Tf --32.592 -1.59 Td -(S_IWGRP)Tj -/T1_1 1 Tf -5.7 0 Td -[(gr)18(oup-write)-2501(gr)18(oup permission to write \336le)-4529(gr)18(oup permission to r)18(emove and cr)18(eate)]TJ -26.892 -1.325 Td -[(\336les in dir)18(ectory)]TJ -/TT1 1 Tf --32.592 -1.59 Td -(S_IXGRP)Tj -/T1_1 1 Tf -5.7 0 Td -[(gr)18(oup-execute)-1500(gr)18(oup permission to execute \336le)-3528(gr)18(oup permission to sear)18(ch for given)]TJ -26.892 -1.325 Td -[(pathname in dir)18(ectory)]TJ -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1188.25 3754.25 cm -0 0 m -4019 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9966 0 0 7.9966 122.7484 366.646 Tm -(S_IROTH)Tj -/T1_1 1 Tf -5.7 0 Td -[(other)18(-r)18(ead)-3232(other permission to r)18(ead \336le)]TJ -25.542 0 Td -[(other permission to r)18(ead dir)18(ectory)]TJ -1.35 -1.325 Td -(entries)Tj -/TT1 1 Tf --32.592 -1.59 Td -(S_IWOTH)Tj -/T1_1 1 Tf -5.7 0 Td -[(other)18(-write)-2874(other permission to write \336le)-4884(other permission to r)18(emove and cr)18(eate)]TJ -26.892 -1.325 Td -[(\336les in dir)18(ectory)]TJ -/TT1 1 Tf --32.592 -1.59 Td -(S_IXOTH)Tj -/T1_1 1 Tf -5.7 0 Td -[(other)18(-execute)-1873(other permission to execute \336le)-3883(other permission to sear)18(ch for given)]TJ -26.892 -1.325 Td -[(pathname in dir)18(ectory)]TJ -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1188.25 3055.25 cm -0 0 m -4019 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3667.25 3055.25 cm -0 0 m -0 3045 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2251.25 3055.25 cm -0 0 m -0 3045 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1624.25 3055.25 cm -0 0 m -0 3045 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5207.25 3055.25 cm -0 0 m -0 3045 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1188.25 3055.25 cm -0 0 m -0 3045 l -S -Q -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 222.6171 287.422 Tm -(Figure 4.26)Tj -/T1_1 1 Tf -5.695 0 Td -(Summary of \336le access permission bits)Tj -9.9952 0 0 9.9952 129.538 263.4335 Tm -[(The \336nal nine constants can also be gr)18(ouped into thr)18(ees, as follows:)]TJ -/TT1 1 Tf -8.9957 0 0 8.9957 147.5294 246.7415 Tm -(S_IRWXU = S_IRUSR | S_IWUSR | S_IXUSR)Tj -0 -1.189 TD -(S_IRWXG = S_IRGRP | S_IWGRP | S_IXGRP)Tj -T* -(S_IRWXO = S_IROTH | S_IWOTH | S_IXOTH)Tj -/TT0 1 Tf -11.9942 0 0 11.9942 93.5553 183.372 Tm -[(4.26 )-776(Summar)-10(y)]TJ -/T1_1 1 Tf -9.9952 0 0 9.9952 129.538 159.3835 Tm -[(This )-86(chapter )-86(has )-86(center)18(ed )-86(on )-86(the)]TJ -/TT1 1 Tf -15.049 0 Td -(stat)Tj -/T1_1 1 Tf -2.736 0 Td -[(function. )-336(W)92(e\325ve )-86(gone )-86(thr)18(ough )-86(each )-86(member )-86(in)]TJ --17.785 -1.2 Td -(the)Tj -/TT1 1 Tf -1.699 0 Td -(stat)Tj -/T1_1 1 Tf -2.712 0 Td -[(str)8(uctur)18(e)-312(in)-312(detail. )-312(This,)-312(in )-62(turn, )-62(led )-62(us )-62(to )-62(examine )-62(all )-62(the )-62(attributes )-62(of )-62(UNIX)]TJ --4.411 -1.2 Td -[(\336les )-5(and )-5(dir)18(ectories. )-255(W)92(e\325ve )-5(looked )-5(at )-5(how )-5(\336les )-5(and )-5(dir)19(ectories )-5(might )-5(be )-5(laid )-5(out )-5(in )-5(a )-5(\336le)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47040 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.24)]TJ -34.629 0 Td -[(Device )-250(Special )-250(Files)]TJ -/T1_1 1 Tf -11.204 0 Td -(137)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(*ptr;)]TJ -T* -[(size_t )-3000(size;)]TJ -0 -1.783 TD -(if \(chdir\("/usr/spool/uucppublic"\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("chdir failed"\);)Tj --2.4 -1.783 Td -[(ptr = path_alloc\(&size\);)-2400(/* our own function */)]TJ -0 -1.189 TD -(if \(getcwd\(ptr, size\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("getcwd failed"\);)Tj --2.4 -1.783 Td -(printf\("cwd = %s\\n", ptr\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4942.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 250.5219 478.1406 Tm -(Figure 4.24)Tj -/T1_0 1 Tf -5.695 0 Td -(Example of)Tj -/TT0 1 Tf -5.26 0 Td -(getcwd)Tj -/T1_0 1 Tf -3.85 0 Td -(function)Tj -9.9988 0 0 9.9988 129.5847 454.1435 Tm -[(Note )-84(that)]TJ -/TT0 1 Tf -4.583 0 Td -(chdir)Tj -/T1_0 1 Tf -3.334 0 Td -[(follows )-84(the )-84(symbolic )-84(link)]TJ -0.0833 Tc 11.444 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -[(s)-334(we)-334(e)1(xpect )-84(it )-84(to, )-84(fr)18(om )-84(Figur)]TJ -0.3336 Tc 12.845 0 Td -(e4)Tj -0 Tc 1.313 0 Td -[(.17 )167(\321 )167(but)]TJ --35.101 -1.2 Td -[(when )-94(it )-94(goes )-94(up )-94(the )-94(dir)20(ectory )-94(tr)18(ee,)]TJ -/TT0 1 Tf -16.031 0 Td -(getcwd)Tj -/T1_0 1 Tf -3.944 0 Td -[(has )-94(no )-94(idea )-94(when )-94(it )-94(hits )-94(the)]TJ -/TT0 1 Tf -13.025 0 Td -(/var/spool)Tj -/T1_0 1 Tf --33 -1.2 Td -[(dir)18(ectory )-31(that )-31(it )-31(is )-31(pointed )-31(to )-31(by )-31(the )-31(symbolic )-31(link)]TJ -/TT0 1 Tf -22.411 0 Td -(/usr/spool)Tj -/T1_0 1 Tf -0.5308 Tc (.T)Tj -0 Tc 7.394 0 Td -[(his )-31(is )-31(a )-31(characteristic)]TJ --29.805 -1.2 Td -(of symbolic links.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4182.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 147.5734 394.127 Tm -(The)Tj -/TT0 1 Tf -1.959 0 Td -(getcwd)Tj -/T1_0 1 Tf -3.885 0 Td -[(function )-35(is )-35(useful )-35(when )-35(we )-35(have )-35(an )-35(application )-35(that )-35(needs )-35(to )-35(r)18(eturn )-35(to)]TJ --7.643 -1.2 Td -[(the )-41(location )-41(in )-41(the )-41(\336le )-41(system )-41(wher)19(e)-291(it)-291(started )-41(out.)]TJ --0.092 Tc 22.952 0 Td -[(We )-225(c)]TJ -0 Tc 2.122 0 Td -[(an )-41(save )-41(the )-41(starting )-41(location )-41(by)]TJ --25.074 -1.2 Td -(calling)Tj -/TT0 1 Tf -3.527 0 Td -(getcwd)Tj -/T1_0 1 Tf -4.172 0 Td -[(befor)18(e)-572(we)-572(c)1(hange )-321(our )-321(working )-321(dir)17(ectory)]TJ -0.8215 Tc 19.299 0 Td -(.A)Tj -0 Tc 1.849 0 Td -[(fter )-321(we )-321(complete )-321(our)]TJ --28.846 -1.2 Td -[(pr)18(ocessing, )-25(we )-25(can )-25(pass )-25(the )-25(pathname )-25(obtained )-25(fr)19(om)]TJ -/TT0 1 Tf -23.828 0 Td -(getcwd)Tj -/T1_0 1 Tf -3.875 0 Td -(to)Tj -/TT0 1 Tf -1.147 0 Td -(chdir)Tj -/T1_0 1 Tf -3.275 0 Td -[(to )-25(r)18(eturn )-25(to )-25(our)]TJ --32.125 -1.2 Td -(starting location in the \336le system.)Tj -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -1.925 0 Td -(fchdir)Tj -/T1_0 1 Tf -3.851 0 Td -[(function )-1(pr)18(ovides )-1(us )-1(with )-1(an )-1(easy )-1(way )-1(to )-1(accomplish )-1(this )-1(task.)-505(Instead)]TJ --7.577 -1.2 Td -[(of )-18(calling)]TJ -/TT0 1 Tf -4.371 0 Td -(getcwd)Tj -/T1_0 1 Tf -[(,)-268(we)-268(c)-1(an)]TJ -/TT0 1 Tf -7.494 0 Td -(open)Tj -/T1_0 1 Tf -2.668 0 Td -[(the )-18(curr)18(ent )-18(dir)18(ectory )-18(and )-18(save )-18(the )-18(\336le )-18(descriptor )-18(befor)15(e)]TJ --14.533 -1.2 Td -[(we )-73(change )-73(to )-73(a )-73(dif)17(fer)18(ent )-73(location )-73(in )-73(the )-73(\336le )-73(system.)-573(When )-73(we )-73(want )-73(to )-73(r)16(eturn )-73(to )-73(wher)18(e)]TJ --0 -1.2 Td -(we started, we can simply pass the \336le descriptor to)Tj -/TT0 1 Tf -23.104 0 Td -(fchdir)Tj -/T1_0 1 Tf -(.)Tj -/TT1 1 Tf -11.9978 0 0 11.9978 93.5826 264.5504 Tm -[(4.24 )-776(De)15(vice )-278(Special )-278(Files)]TJ -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5761 242.9543 Tm -[(The )-43(two )-43(\336elds)]TJ -/TT0 1 Tf -6.668 0 Td -(st_dev)Tj -/T1_0 1 Tf -3.893 0 Td -(and)Tj -/TT0 1 Tf -1.986 0 Td -(st_rdev)Tj -/T1_0 1 Tf -4.493 0 Td -(ar)Tj -0.2926 Tc 0.877 0 Td -(eo)Tj -0 Tc 1.318 0 Td -[(ften )-43(confused.)]TJ --0.092 Tc 6.827 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-43(need )-43(to )-43(use )-43(these )-43(\336elds)]TJ --27.448 -1.2 Td -[(in )-16(Section )-16(18.9 )-16(when )-16(we )-16(write )-16(the)]TJ -/TT0 1 Tf -15.18 0 Td -(ttyname)Tj -/T1_0 1 Tf -4.466 0 Td -[(function. )-266(The)]TJ --0.008 Tc 6.413 0 Td -(ru)Tj -0 Tc 0.99 0 Td -[(les )-16(for )-16(their )-16(use )-16(ar)]TJ -0.2659 Tc 7.988 0 Td -(es)Tj -0 Tc 1.169 0 Td -(imple.)Tj -0.883 Tc -34.405 -2.04 Td -(\245E)Tj -0 Tc 2.1 0 Td -[(very )-104(\336le )-104(system )-104(is )-104(known )-104(by )-104(its )-104(major )-104(and )-104(minor )-104(device )-104(numbers, )-104(which )-104(ar)22(e)]TJ --0.611 -1.2 Td -[(encoded )-47(in )-47(the )-47(primitive )-47(system )-47(data )-47(type)]TJ -/TT0 1 Tf -19.207 0 Td -(dev_t)Tj -/T1_0 1 Tf -0.5473 Tc (.T)Tj -0 Tc 4.41 0 Td -[(he )-47(major )-47(number )-47(identi\336es)]TJ --23.617 -1.2 Td -[(the )-630(device )-630(driver )-630(and )-630(sometimes )-630(encodes )-630(which )-630(peripheral )-630(boar)]TJ -0.88 Tc 33.348 0 Td -(dt)Tj -0 Tc 1.817 0 Td -(o)Tj --35.165 -1.2 Td -[(communicate )-137(with; )-137(the )-137(minor )-137(number )-137(identi\336es )-137(the )-137(speci\336c )-137(subdevice.)-637(Recall)]TJ -0 -1.2 TD -[(fr)18(om )-97(Figur)]TJ -0.3466 Tc 4.869 0 Td -(e4)Tj -0 Tc 1.326 0 Td -[(.13 )-97(that )-97(a )-97(disk )-97(drive )-97(often )-97(contains )-97(several )-97(\336le )-97(systems.)-593(Each )-97(\336le)]TJ --6.194 -1.2 Td -[(system )-52(on )-52(the )-52(same )-52(disk )-52(drive )-52(would )-52(usually )-52(have )-52(the )-52(same )-52(major )-52(number)]TJ -0.3024 Tc 33.677 0 Td -(,b)Tj -0 Tc 1.105 0 Td -(ut)Tj -0.25 Tc -34.782 -1.2 Td -(ad)Tj -0 Tc 1.361 0 Td -[(if)18(fer)18(ent minor number)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47041 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.23)]TJ -/TT0 1 Tf -25.086 0 Td -(chdir)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.75 0 Td -(fchdir)Tj -/T1_0 1 Tf -0.5 Tc (,a)Tj -0 Tc 4.85 0 Td -(nd)Tj -/TT0 1 Tf -1.693 0 Td -(getcwd)Tj -/T1_0 1 Tf -4.1 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(135)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(To )-226(i)]TJ -0 Tc 1.649 0 Td -[(llustrate )-41(the)]TJ -/TT0 1 Tf -5.605 0 Td -(ftw)Tj -/T1_0 1 Tf -2.091 0 Td -(and)Tj -/TT0 1 Tf -1.984 0 Td -(nftw)Tj -/T1_0 1 Tf -2.691 0 Td -[(functions, )-41(we )-41(have )-41(pr)17(ovided )-42(mor)]TJ -0.2916 Tc 14.873 0 Td -(eg)Tj -0 Tc 1.327 0 Td -[(enerality )-42(in )-42(this)]TJ --32.022 -1.2 Td -[(pr)18(ogram )-302(than )-302(needed.)-802(For )-302(example, )-302(the )-302(function)]TJ -/TT0 1 Tf -24.045 0 Td -(myfunc)Tj -/T1_0 1 Tf -4.152 0 Td -[(always )-302(r)18(eturns )-302(0, )-302(even)]TJ --28.197 -1.2 Td -[(though the function that calls it is pr)18(epar)18(ed to handle a nonzer)]TJ -0.25 Tc 27.563 0 Td -(or)Tj -0 Tc 1.173 0 Td -(eturn.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 6450.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 618.5258 Tm -[(For )-239(additional )-239(information )-239(on )-239(descending )-239(thr)18(ough )-239(a )-239(\336le )-239(system )-239(and )-239(using )-239(this)]TJ --1.8 -1.2 Td -[(technique )-417(in )-417(many )-417(standar)]TJ -0.667 Tc 13.061 0 Td -(dU)Tj -0 Tc 2.056 0 Td -[(NIX )-417(System )-417(commands)-83(\321)]TJ -/TT0 1 Tf -12.402 0 Td -(find)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.317 0 Td -(ls)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -2.117 0 Td -(tar)Tj -/T1_0 1 Tf -0.6671 Tc (,a)Tj -0 Tc 3.217 0 Td -[(nd )-417(so)]TJ --36.17 -1.2 Td -[(on )167(\321 )167(r)17(efer to Fowler)]TJ -0.25 Tc 8.757 0 Td -(,K)Tj -0 Tc 1.226 0 Td -[(orn, and V)111(o)]TJ -5.373 0.04 Td -([)Tj -0.333 -0.04 Td -(1989)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -(.)Tj -/TT1 1 Tf -11.9986 0 0 11.9986 93.5895 558.533 Tm -(4.23)Tj -/TT2 1 Tf -3 0 Td -(chdir)Tj -/TT1 1 Tf -(,)Tj -/TT2 1 Tf -3.834 0 Td -(fchdir)Tj -/TT1 1 Tf -0.556 Tc (,a)Tj -0 Tc 4.99 0 Td -(nd)Tj -/TT2 1 Tf -1.778 0 Td -(getcwd)Tj -/TT1 1 Tf -4.156 0 Td -(Functions)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5848 534.5358 Tm -[(Every )-19(pr)18(ocess )-19(has )-19(a )-19(curr)18(ent )-19(working )-19(dir)19(ectory)]TJ -0.5188 Tc 20.4 0 Td -(.T)Tj -0 Tc 1.382 0 Td -[(his )-19(dir)18(ectory )-19(is )-19(wher)]TJ -0.2688 Tc 9.115 0 Td -(et)Tj -0 Tc 1.074 0 Td -[(he )-19(sear)18(ch )-19(for )-19(all)]TJ --0.018 Tc -31.971 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(lative )-3(pathnames )-3(starts )-3(\(i.e., )-3(with )-3(all )-3(pathnames )-3(that )-3(do )-3(not )-3(begin )-3(with )-3(a )-3(slash\).)-500(When)]TJ -0.3702 Tc -0.856 -1.2 Td -(au)Tj -0 Tc 1.473 0 Td -[(ser )-120(logs )-120(in )-120(to )-120(a )-120(UNIX )-120(system, )-120(the )-120(curr)16(ent )-120(working )-120(dir)18(ectory )-120(normally )-120(starts )-120(at )-120(the)]TJ --1.473 -1.2 Td -[(dir)18(ectory )-338(speci\336ed )-338(by )-338(the )-338(sixth )-338(\336eld )-338(in )-338(the)]TJ -/TT0 1 Tf -21.542 0 Td -(/etc/passwd)Tj -/T1_0 1 Tf -7.188 0 Td -[(\336le )167(\321 )167(the)-588(user )176(\325s)-588(home)]TJ --28.729 -1.2 Td -[(dir)18(ectory)]TJ -0.5192 Tc 3.914 0 Td -(.T)Tj -0 Tc 1.382 0 Td -[(he )-19(curr)18(ent )-19(working )-19(dir)18(ectory )-19(is )-19(an )-19(attribute )-19(of )-19(a )-19(pr)16(ocess; )-19(the )-19(home )-19(dir)18(ectory)]TJ --5.296 -1.2 Td -(is an attribute of a login name.)Tj --0.092 Tc 1.8 -1.2 Td -[(We )-303(c)]TJ -0 Tc 2.2 0 Td -[(an )-119(change )-119(the )-119(curr)18(ent )-119(working )-119(dir)18(ectory )-119(of )-119(the )-119(calling )-119(pr)18(ocess )-119(by )-119(calling )-119(the)]TJ -/TT0 1 Tf --4 -1.2 Td -(chdir)Tj -/T1_0 1 Tf -3.25 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(fchdir)Tj -/T1_0 1 Tf -3.85 0 Td -(function.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5833 433.8479 Tm -(#include )Tj -0 -1.902 TD -(int chdir\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -(\);)Tj -0 -1.902 Td -(int fchdir\(int)Tj -/T1_2 1 Tf -9 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -16.251 -1.902 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT3 1 Tf -9.213 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3780.25 cm -0 0 m -0 649 l -3900 649 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9982 0 0 9.9982 129.5767 364.4744 Tm -[(We )-303(c)]TJ -0 Tc 2.2 0 Td -[(an )-119(specify )-119(the )-119(new )-119(curr)18(ent )-119(working )-119(dir)16(ectory )-119(either )-119(as )-119(a)]TJ -/T1_2 1 Tf -26.153 0 Td -(pathname)Tj -/T1_0 1 Tf -4.313 0 Td -[(or )-119(thr)18(ough )-119(an)]TJ --32.666 -1.2 Td -[(open \336le descriptor)74(.)]TJ -/TT1 1 Tf --3.6 -2.4 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.04 Td -[(Because )-255(it )-255(is )-255(an )-255(attribute )-255(of )-255(a )-255(pr)18(ocess, )-255(the )-255(curr)16(ent )-255(working )-255(dir)18(ectory )-255(cannot )-255(af)17(fect)]TJ -0 -1.2 TD -[(pr)18(ocesses )-497(that )-497(invoke )-497(the )-497(pr)19(ocess )-497(that )-497(executes )-497(the)]TJ -/TT0 1 Tf -26.477 0 Td -(chdir)Tj -/T1_0 1 Tf -0.9966 Tc (.\()Tj --0.092 Tc 4.58 0 Td -[(We )-681(d)]TJ -0 Tc 2.745 0 Td -[(escribe )-497(the)]TJ --0.018 Tc -33.801 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(lationship )-18(between )-18(pr)18(ocesses )-18(in )-18(mor)]TJ -0.2683 Tc 16.116 0 Td -(ed)Tj -0 Tc 1.358 0 Td -[(etail )-18(in )-18(Chapter )-18(8.\))-518(As )-18(a )-18(r)18(esult, )-18(the )-18(pr)18(ogram )-18(in)]TJ --18.33 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e4)Tj -0 Tc 1.229 0 Td -(.23 doesn\325t do what we might expect.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2649.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 129.5689 255.3777 Tm -(#include "apue.h")Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(chdir\("/tmp"\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("chdir failed"\);)Tj --2.4 -1.189 Td -(printf\("chdir to /tmp succeeded\\n"\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1586.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 252.8761 142.5752 Tm -(Figure 4.23)Tj -/T1_0 1 Tf -5.695 0 Td -(Example of)Tj -/TT0 1 Tf -5.26 0 Td -(chdir)Tj -/T1_0 1 Tf -3.25 0 Td -(function)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47042 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(130)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -1.664 TD -(int rmdir\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -26.851 -1.664 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6238.25 cm -0 0 m -0 435 l -3900 435 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 611.4666 Tm -[(If )-13(the )-13(link )-13(count )-13(of )-13(the )-13(dir)18(ectory )-13(becomes )-13(0 )-13(with )-13(this )-13(call, )-13(and )-13(if )-13(no )-13(other )-13(pr)21(ocess )-13(has )-13(the)]TJ -0 -1.2 TD -[(dir)18(ectory )-262(open, )-262(then )-262(the )-262(space )-262(occupied )-262(by )-262(the )-262(dir)14(ectory )-263(is )-263(fr)19(eed. )-513(If)-512(one )-263(or )-263(mor)19(e)]TJ -0 -1.2 Td -[(pr)18(ocesses )-291(have )-291(the )-291(dir)18(ectory )-291(open )-291(when )-291(the )-291(link )-291(count )-291(r)18(eaches )-291(0, )-291(the )-291(last )-291(link )-291(is)]TJ --0.018 Tc 0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(moved )-225(and )-225(the )-225(dot )-225(and )-225(dot-dot )-225(entries )-225(ar)]TJ -0.475 Tc 19.817 0 Td -(er)Tj -0 Tc 1.331 0 Td -[(emoved )-225(befor)]TJ -0.475 Tc 6.326 0 Td -(et)Tj -0 Tc 1.28 0 Td -[(his )-225(function )-225(r)18(eturns.)]TJ --29.61 -1.2 Td -[(Additionally)111(,)-394(no)-394(n)-1(ew )-144(\336les )-144(can )-144(be )-144(cr)18(eated )-144(in )-144(the )-144(dir)16(ectory)]TJ -0.6443 Tc 26.132 0 Td -(.T)Tj -0 Tc 1.507 0 Td -[(he )-144(dir)18(ectory )-144(is )-144(not )-144(fr)17(eed,)]TJ --27.639 -1.2 Td -(however)Tj -0.4838 Tc 3.806 0 Td -(,u)Tj -0 Tc 1.337 0 Td -[(ntil )-234(the )-234(last )-234(pr)18(ocess )-234(closes )-234(it.)-733(\(Even )-234(though )-234(some )-234(other )-234(pr)18(ocess )-234(has )-234(the)]TJ --5.143 -1.2 Td -[(dir)18(ectory )-27(open, )-27(it )-27(can\325t )-27(be )-27(doing )-27(much )-27(in )-27(the )-27(dir)14(ectory)111(,)-277(as)-277(t)-1(he )-27(dir)18(ectory )-27(had )-27(to )-27(be )-27(empty)]TJ -0 -1.2 Td -(for the)Tj -/TT0 1 Tf -3.161 0 Td -(rmdir)Tj -/T1_1 1 Tf -3.25 0 Td -(function to succeed.\))Tj -/TT2 1 Tf -11.9986 0 0 11.9986 93.5898 496.28 Tm -[(4.22 )-776(Reading)-556(Directories)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5854 477.0827 Tm -[(Dir)18(ectories )-37(can )-37(be )-37(r)19(ead )-37(by )-37(anyone )-37(who )-37(has )-37(access )-37(permission )-37(to )-37(r)18(ead )-37(the )-37(dir)19(ectory)]TJ -0.5369 Tc 36.673 0 Td -(.B)Tj -0 Tc 1.398 0 Td -(ut)Tj --38.071 -1.2 Td -[(only )-211(the )-211(kernel )-211(can )-211(write )-211(to )-211(a )-211(dir)19(ectory)111(,)-461(to)-461(p)]TJ --0.018 Tc (re)Tj -0 Tc 22.007 0 Td -[(serve )-211(\336le )-211(system )-211(sanity)]TJ -0.7107 Tc 10.759 0 Td -(.R)Tj -0 Tc 1.629 0 Td -[(ecall )-211(fr)18(om)]TJ --34.395 -1.2 Td -[(Section )-156(4.5 )-156(that )-156(the )-156(write )-156(permission )-156(bits )-156(and )-156(execute )-156(permission )-156(bits )-156(for )-156(a )-156(dir)23(ectory)]TJ -T* -[(determine )-327(if )-327(we )-327(can )-327(cr)17(eate )-327(new )-327(\336les )-327(in )-327(the )-327(dir)18(ectory )-327(and )-327(r)18(emove )-327(\336les )-327(fr)18(om )-327(the)]TJ -T* -[(dir)18(ectory )167(\321 )167(they)-251(don\325t specify if we can write to the dir)18(ectory itself.)]TJ -1.8 -1.2 Td -[(The )-51(actual )-51(format )-51(of )-51(a )-51(dir)18(ectory )-51(depends )-51(on )-51(the )-51(UNIX )-51(System )-51(implementation )-51(and)]TJ --1.8 -1.2 Td -[(the )-35(design )-35(of )-35(the )-35(\336le )-35(system.)-535(Earlier )-35(systems, )-35(such )-35(as )-35(V)112(ersion )-35(7, )-35(had )-35(a )-35(simple )-35(str)9(uctur)18(e:)]TJ -T* -[(each )-140(dir)18(ectory )-140(entry )-140(was )-140(16 )-140(bytes, )-140(with )-140(14 )-140(bytes )-140(for )-140(the )-140(\336lename )-140(and )-140(2 )-140(bytes )-140(for )-140(the)]TJ -T* -[(i-node )-255(number)]TJ -0.7553 Tc 6.768 0 Td -(.W)Tj -0 Tc 2.005 0 Td -[(hen )-255(longer )-255(\336lenames )-255(wer)]TJ -0.5053 Tc 11.941 0 Td -(ea)Tj -0 Tc 1.484 0 Td -[(dded )-255(to )-255(4.2BSD, )-255(each )-255(entry )-255(became)]TJ --22.199 -1.2 Td -[(variable )-143(length, )-143(which )-143(means )-143(that )-143(any )-143(pr)18(ogram )-143(that )-143(r)18(eads )-143(a )-143(dir)18(ectory )-143(is )-143(now )-143(system)]TJ -T* -[(dependent. )-395(T)]TJ -0.3947 Tc 6.166 0 Td -(os)Tj -0 Tc 1.365 0 Td -[(implify )-145(the )-145(pr)18(ocess )-145(of )-145(r)18(eading )-145(a )-145(dir)20(ectory)]TJ -0.3947 Tc 18.985 0 Td -(,as)Tj -0 Tc 1.963 0 Td -[(et )-145(of )-145(dir)19(ectory )-145(r)18(outines)]TJ --28.479 -1.2 Td -(wer)Tj -0.3376 Tc 1.69 0 Td -(ed)Tj -0 Tc 1.428 0 Td -[(eveloped )-88(and )-88(ar)]TJ -0.3376 Tc 7.296 0 Td -(ep)Tj -0 Tc 1.418 0 Td -[(art )-88(of )-88(POSIX.1.)-588(Many )-88(implementations )-88(pr)18(event )-88(applications)]TJ --11.831 -1.2 Td -[(fr)18(om )-248(using )-248(the)]TJ -/TT0 1 Tf -7.475 0 Td -(read)Tj -/T1_1 1 Tf -2.898 0 Td -[(function )-248(to )-248(access )-248(the )-248(contents )-248(of )-248(dir)20(ectories, )-247(ther)18(eby )-247(further)]TJ --10.372 -1.2 Td -[(isolating applications fr)18(om the implementation-speci\336c details of dir)18(ectory formats.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5841 305.6033 Tm -(#include )Tj -0 -1.664 TD -(DIR *opendir\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -(\);)Tj -0 -1.664 Td -(DIR *fdopendir\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -9.78 -1.546 Td -[(Both r)18(eturn: pointer if OK,)]TJ -/TT0 1 Tf -11.933 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --35.763 -1.664 Td -(struct dirent *readdir\(DIR *)Tj -/T1_2 1 Tf -(dp)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -14.565 -1.546 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(at end of dir)18(ectory or err)18(or)]TJ -/TT0 1 Tf --27.548 -1.664 Td -(void rewinddir\(DIR *)Tj -/T1_2 1 Tf -(dp)Tj -/TT0 1 Tf -(\);)Tj -T* -(int closedir\(DIR *)Tj -/T1_2 1 Tf -(dp)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -26.851 -1.546 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --34.464 -1.664 Td -(long telldir\(DIR *)Tj -/T1_2 1 Tf -(dp)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -14.648 -1.546 Td -[(Returns: curr)18(ent location in dir)18(ectory associated with)]TJ -/T1_2 1 Tf -23.685 0 Td -(dp)Tj -/TT0 1 Tf --38.333 -1.664 Td -(void seekdir\(DIR *)Tj -/T1_2 1 Tf -(dp)Tj -/TT0 1 Tf -0.6 Tc (,l)Tj -0 Tc 13.6 0 Td -(ong)Tj -/T1_2 1 Tf -2.4 0 Td -(loc)Tj -/TT0 1 Tf -(\);)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1406.25 cm -0 0 m -0 1740 l -3900 1740 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47043 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.21)]TJ -/TT0 1 Tf -25.086 0 Td -(mkdir)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.75 0 Td -(mkdirat)Tj -/T1_0 1 Tf -0.5 Tc (,a)Tj -0 Tc 5.45 0 Td -(nd)Tj -/TT0 1 Tf -1.693 0 Td -(rmdir)Tj -/T1_0 1 Tf -3.5 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(129)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT1 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -(4.21)Tj -/TT2 1 Tf -3 0 Td -(mkdir)Tj -/TT1 1 Tf -(,)Tj -/TT2 1 Tf -3.834 0 Td -(mkdirat)Tj -/TT1 1 Tf -0.556 Tc (,a)Tj -0 Tc 5.59 0 Td -(nd)Tj -/TT2 1 Tf -1.778 0 Td -(rmdir)Tj -/TT1 1 Tf -3.556 0 Td -(Functions)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5919 644.9613 Tm -[(Dir)18(ectories )-127(ar)]TJ -0.3766 Tc 6.08 0 Td -(ec)Tj --0.018 Tc 1.3 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ated )-127(with )-127(the)]TJ -/TT0 1 Tf -6.466 0 Td -(mkdir)Tj -/T1_0 1 Tf -3.377 0 Td -(and)Tj -/TT0 1 Tf -2.07 0 Td -(mkdirat)Tj -/T1_0 1 Tf -4.577 0 Td -[(functions, )-127(and )-127(deleted )-127(with )-127(the)]TJ -/TT0 1 Tf --24.724 -1.2 Td -(rmdir)Tj -/T1_0 1 Tf -3.25 0 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 613.8632 Tm -(#include )Tj -0 -2.021 TD -(int mkdir\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,m)Tj -0 Tc 18.944 0 Td -(ode_t)Tj -/T1_2 1 Tf -3.6 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj --22.544 -2.021 Td -(int mkdirat\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,m)Tj -0 Tc 12.344 0 Td -(ode_t)Tj -/T1_2 1 Tf -3.6 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --2.871 -2.021 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT3 1 Tf -9.213 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5548.25 cm -0 0 m -0 681 l -3900 681 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 538.8653 Tm -[(These )-221(functions )-221(cr)18(eate )-221(a )-221(new)]TJ -0.4708 Tc 13.499 0 Td -(,e)Tj -0 Tc 1.2 0 Td -[(mpty )-221(dir)18(ectory)]TJ -0.7208 Tc 6.751 0 Td -(.T)Tj -0 Tc 1.584 0 Td -[(he )-221(entries )-221(for )-221(dot )-221(and )-221(dot-dot )-221(ar)19(e)]TJ --23.033 -1.2 Td -[(cr)18(eated )-96(automatically)]TJ -0.5965 Tc 9.509 0 Td -(.T)Tj -0 Tc 1.459 0 Td -[(he )-96(speci\336ed )-96(\336le )-96(access )-96(permissions,)]TJ -/T1_2 1 Tf -16.407 0 Td -(mode)Tj -/T1_0 1 Tf -0.3464 Tc (,a)Tj --0.018 Tc 3.207 0 Td -[(re )-132(m)]TJ -0 Tc 2.085 0 Td -[(odi\336ed )-96(by )-96(the)]TJ --32.668 -1.2 Td -[(\336le mode cr)18(eation mask of the pr)18(ocess.)]TJ -0.5514 Tc 1.8 -1.2 Td -(Ac)Tj -0 Tc 1.773 0 Td -[(ommon )-301(mistake )-301(is )-301(to )-301(specify )-301(the )-301(same)]TJ -/T1_2 1 Tf -19.147 0 Td -(mode)Tj -/T1_0 1 Tf -2.663 0 Td -[(as )-301(for )-301(a )-301(\336le: )-301(r)18(ead )-301(and )-301(write)]TJ --25.383 -1.2 Td -[(permissions )-55(only)]TJ -0.5554 Tc 7.509 0 Td -(.B)Tj -0 Tc 1.416 0 Td -[(ut )-55(for )-55(a )-55(dir)17(ectory)111(,)-305(we)-305(n)-1(ormally )-55(want )-55(at )-55(least )-55(one )-55(of )-55(the )-55(execute )-55(bits)]TJ --8.926 -1.2 Td -[(enabled, to allow access to \336lenames within the dir)18(ectory)]TJ -0.5 Tc 25.116 0 Td -(.\()Tj -0 Tc 1.083 0 Td -[(See Exer)18(cise 4.16.\))]TJ --24.399 -1.2 Td -[(The )-172(user )-172(ID )-172(and )-172(gr)18(oup )-172(ID )-172(of )-172(the )-172(new )-172(dir)18(ectory )-172(ar)]TJ -0.4225 Tc 23.461 0 Td -(ee)Tj -0 Tc 1.381 0 Td -[(stablished )-172(accor)18(ding )-172(to )-172(the)]TJ --0.008 Tc -26.641 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -(les we described in Section 4.6.)Tj -7.999 0 0 7.999 183.5783 432.4781 Tm -[(Solaris )-138(10 )-138(and )-138(Linux )-138(3.2.0 )-138(also )-138(have )-138(the )-138(new )-138(dir)18(ectory )-138(inherit )-138(the )-138(set-gr)18(oup-ID )-138(bit )-138(fr)18(om )-138(the)]TJ -0 -1.25 TD -[(par)18(ent )-208(dir)18(ectory)]TJ -0.7079 Tc 7.237 0 Td -(.F)Tj -0 Tc 1.514 0 Td -[(iles )-208(cr)18(eated )-208(in )-208(the )-208(new )-208(dir)18(ectory )-208(will )-208(then )-208(inherit )-208(the )-208(gr)18(oup )-208(ID )-208(of )-208(that)]TJ --8.751 -1.25 Td -[(dir)18(ectory)]TJ -0.6864 Tc 3.914 0 Td -(.W)Tj -0 Tc 1.881 0 Td -[(ith )-186(Linux, )-186(the )-186(\336le )-186(system )-186(implementation )-186(determines )-186(whether )-186(this )-186(behavior )-186(is)]TJ --5.795 -1.25 Td -[(supported. )-418(For)-417(example, )-168(the)]TJ -/TT0 1 Tf -13.64 0 Td -(ext2)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.068 0 Td -(ext3)Tj -/T1_0 1 Tf -0.4176 Tc (,a)Tj -0 Tc 3.568 0 Td -(nd)Tj -/TT0 1 Tf -1.611 0 Td -(ext4)Tj -/T1_0 1 Tf -2.818 0 Td -[(\336le )-168(systems )-168(allow )-168(this )-168(behavior )-168(to )-168(be)]TJ --24.703 -1.25 Td -[(contr)18(olled )-21(by )-21(an )-21(option )-21(to )-21(the)]TJ -/TT0 1 Tf -13.46 0 Td -(mount)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.604 -0.04 Td -[(command. )-271(W)55(ith )-21(the )-21(Linux )-21(implementation )-21(of )-21(the)]TJ -/TT0 1 Tf -22.303 0 Td -(UFS)Tj -/T1_0 1 Tf --40.2 -1.25 Td -[(\336le )-14(system, )-14(however)]TJ -0.264 Tc 9.051 0 Td -(,t)Tj -0 Tc 0.84 0 Td -[(he )-14(behavior )-14(is )-14(not )-14(selectable; )-14(it )-14(inherits )-14(the )-14(set-gr)18(oup-ID )-14(bit )-14(to )-14(mimic )-14(the)]TJ --9.891 -1.25 Td -[(historical )-51(BSD )-51(implementation, )-51(wher)]TJ -0.3009 Tc 16.485 0 Td -(et)Tj -0 Tc 1.106 0 Td -[(he )-51(gr)18(oup )-51(ID )-51(of )-51(a )-51(dir)18(ectory )-51(is )-51(inherited )-51(fr)19(om )-51(the )-51(par)19(ent)]TJ --17.59 -1.25 Td -[(dir)18(ectory)111(.)]TJ -0 -2.25 TD -(BSD)Tj -1.91 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-256(implementations )-256(don\325t )-256(pr)18(opagate )-256(the )-256(set-gr)18(oup-ID )-256(bit; )-256(they )-256(simply )-256(inherit )-256(the)]TJ --2.243 -1.25 Td -[(gr)18(oup )-15(ID )-15(as )-15(a )-15(matter )-15(of )-15(policy)]TJ -0.5146 Tc 13.212 0 Td -(.B)Tj -0 Tc 1.376 0 Td -[(ecause )-15(Fr)18(eeBSD )-15(8.0 )-15(and )-15(Mac )-15(OS )-15(X )-15(10.6.8 )-15(ar)]TJ -0.2646 Tc 19.035 0 Td -(eb)Tj -0 Tc 1.297 0 Td -[(ased )-14(on )-14(4.4BSD,)]TJ --34.919 -1.25 Td -[(they do not r)18(equir)]TJ -0.2501 Tc 7.991 0 Td -(ei)Tj -0 Tc 1.02 0 Td -[(nheriting the set-gr)18(oup-ID bit.)-500(On these platforms, newly cr)17(eated \336les and)]TJ --9.012 -1.25 Td -[(dir)18(ectories )-238(always )-238(inherit )-238(the )-238(gr)18(oup )-238(ID )-238(of )-238(the )-238(par)18(ent )-238(dir)15(ectory)]TJ -0.4884 Tc 29.335 0 Td -(,r)Tj -0 Tc 1.115 0 Td -[(egar)18(dless )-238(of )-238(whether )-238(the)]TJ --30.451 -1.25 Td -[(set-gr)18(oup-ID bit is set.)]TJ -T* -[(Earlier )-53(versions )-53(of )-53(the )-53(UNIX )-53(System )-53(did )-53(not )-53(have )-53(the)]TJ -/TT0 1 Tf -24.25 0 Td -(mkdir)Tj -/T1_0 1 Tf -3.303 0 Td -[(function; )-53(it )-53(was )-53(intr)18(oduced )-53(with)]TJ --27.553 -1.25 Td -[(4.2BSD )-55(and )-55(SVR3.)-555(In )-55(the )-55(earlier )-55(versions, )-55(a )-55(pr)18(ocess )-55(had )-55(to )-55(call )-55(the)]TJ -/TT0 1 Tf -30.097 0 Td -(mknod)Tj -/T1_0 1 Tf -3.305 0 Td -[(function )-55(to )-55(cr)18(eate )-55(a)]TJ --33.402 -1.25 Td -[(new )-251(dir)18(ectory )167(\321 )167(but)-501(use )-251(of )-251(the)]TJ -/TT0 1 Tf -14.845 0 Td -(mknod)Tj -/T1_0 1 Tf -3.501 0 Td -[(function )-251(was )-251(r)18(estricted )-251(to )-251(super)8(user )-251(pr)19(ocesses. )-501(T)92(o)]TJ --18.346 -1.25 Td -[(cir)18(cumvent )-62(this )-62(constraint, )-62(the )-62(normal )-62(command )-62(that )-62(cr)18(eated )-62(a )-62(dir)17(ectory)111(,)]TJ -/TT0 1 Tf -33.051 0 Td -(mkdir)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.312 Tc 0.333 -0.04 Td -(,h)Tj -0 Tc 1.144 0 Td -[(ad )-62(to )-62(be)]TJ --38.361 -1.25 Td -[(owned )-63(by )-63(r)18(oot )-63(with )-63(the )-63(set-user)18(-ID )-63(bit )-63(on.)]TJ --0.092 Tc 19.564 0 Td -[(To )-247(c)]TJ --0.018 Tc 1.824 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ate )-63(a )-63(dir)18(ectory )-63(fr)18(om )-63(a )-63(pr)18(ocess, )-63(the)]TJ -/TT0 1 Tf -15.59 0 Td -(mkdir)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj --41.667 -1.29 Td -(command had to be invoked with the)Tj -/TT0 1 Tf -16.846 0 Td -(system)Tj -/T1_0 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(function.)Tj -9.9988 0 0 9.9988 147.5838 214.5043 Tm -(The)Tj -/TT0 1 Tf -1.962 0 Td -(mkdirat)Tj -/T1_0 1 Tf -4.488 0 Td -[(function )-38(is )-38(similar )-38(to )-38(the)]TJ -/TT0 1 Tf -11.195 0 Td -(mkdir)Tj -/T1_0 1 Tf -3.288 0 Td -[(function. )-288(When)-288(the)]TJ -/T1_2 1 Tf -9.101 0 Td -(fd)Tj -/T1_0 1 Tf -1.066 0 Td -[(ar)18(gument )-38(has)]TJ --32.9 -1.2 Td -[(the )-249(special )-249(value)]TJ -/TT0 1 Tf -8.352 0 Td -(AT_FDCWD)Tj -/T1_0 1 Tf -[(,)-499(or)-499(when )-249(the)]TJ -/T1_2 1 Tf -11.851 0 Td -(pathname)Tj -/T1_0 1 Tf -4.443 0 Td -[(ar)18(gument )-249(speci\336es )-249(an )-249(absolute)]TJ --24.646 -1.2 Td -(pathname,)Tj -/TT0 1 Tf -5.173 0 Td -(mkdirat)Tj -/T1_0 1 Tf -4.67 0 Td -[(behaves )-220(exactly )-220(like)]TJ -/TT0 1 Tf -9.722 0 Td -(mkdir)Tj -/T1_0 1 Tf -0.7202 Tc (.O)Tj -0 Tc 4.756 0 Td -[(therwise, )-220(the)]TJ -/T1_2 1 Tf -6.387 0 Td -(fd)Tj -/T1_0 1 Tf -1.248 0 Td -[(ar)18(gument )-220(is )-220(an)]TJ --31.957 -1.2 Td -[(open dir)18(ectory fr)18(om which r)18(elative pathnames will be evaluated.)]TJ -1.8 -1.2 Td -[(An )-251(empty )-251(dir)18(ectory )-251(is )-251(deleted )-251(with )-251(the)]TJ -/TT0 1 Tf -19.151 0 Td -(rmdir)Tj -/T1_0 1 Tf -3.501 0 Td -[(function. )-501(Recall)-502(that )-251(an )-251(empty)]TJ --24.453 -1.2 Td -[(dir)18(ectory is one that contains entries only for dot and dot-dot.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47044 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(126)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -(4.20)Tj -/TT1 1 Tf -3 0 Td -(futimens)Tj -/TT0 1 Tf -(,)Tj -/TT1 1 Tf -5.634 0 Td -(utimensat)Tj -/TT0 1 Tf -0.556 Tc (,a)Tj -0 Tc 6.79 0 Td -(nd)Tj -/TT1 1 Tf -1.778 0 Td -(utimes)Tj -/TT0 1 Tf -4.156 0 Td -(Functions)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5919 644.9613 Tm -[(Several )-46(functions )-46(ar)]TJ -0.2965 Tc 8.835 0 Td -(ea)Tj -0 Tc 1.276 0 Td -[(vailable )-46(to )-46(change )-46(the )-46(access )-46(time )-46(and )-46(the )-46(modi\336cation )-46(time )-46(of )-46(a)]TJ --10.111 -1.2 Td -[(\336le. )-488(The)]TJ -/TT2 1 Tf -4.525 0 Td -(futimens)Tj -/T1_1 1 Tf -5.288 0 Td -(and)Tj -/TT2 1 Tf -2.181 0 Td -(utimensat)Tj -/T1_1 1 Tf -5.888 0 Td -[(functions )-238(pr)18(ovide )-238(nanosecond )-238(granularity )-238(for)]TJ --17.882 -1.2 Td -[(specifying )-101(timestamps, )-101(using )-101(the)]TJ -/TT2 1 Tf -15.189 0 Td -(timespec)Tj -/T1_1 1 Tf -5.151 0 Td -[(str)8(uctur)]TJ -0.3505 Tc 3.49 0 Td -(e\()Tj -0 Tc 1.163 0 Td -[(the )-100(same )-100(str)7(uctur)]TJ -0.3505 Tc 7.864 0 Td -(eu)Tj -0 Tc 1.433 0 Td -[(sed )-100(by )-100(the)]TJ -/TT2 1 Tf --34.289 -1.2 Td -(stat)Tj -/T1_1 1 Tf -2.65 0 Td -(family of functions; see Section 4.2\).)Tj -/TT2 1 Tf -8.9995 0 0 8.9995 147.5915 586.2648 Tm -(#include )Tj -0 -2.021 TD -(int futimens\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(fd)Tj -/TT2 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst struct timespec)Tj -/T1_2 1 Tf -12.6 0 Td -(times[2])Tj -/TT2 1 Tf -(\);)Tj --25.378 -2.021 Td -(int utimensat\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(fd)Tj -/TT2 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(path)Tj -/TT2 1 Tf -0.6 Tc (,c)Tj -0 Tc 10.177 0 Td -(onst struct timespec)Tj -/T1_2 1 Tf -12.6 0 Td -(times[2])Tj -/TT2 1 Tf -(,)Tj --27.755 -1.189 Td -(int)Tj -/T1_2 1 Tf -2.4 0 Td -(\337ag)Tj -/TT2 1 Tf -(\);)Tj -/T1_1 1 Tf -14.451 -2.021 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT3 1 Tf -9.213 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5165.25 cm -0 0 m -0 788 l -3900 788 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 496.9704 Tm -[(In )-85(both )-85(functions, )-85(the )-85(\336rst )-85(element )-85(of )-85(the)]TJ -/T1_2 1 Tf -18.909 0 Td -(times)Tj -/T1_1 1 Tf -2.502 0 Td -[(array )-85(ar)18(gument )-85(contains )-85(the )-85(access)]TJ --23.211 -1.2 Td -[(time, )-83(and )-83(the )-83(second )-83(element )-83(contains )-83(the )-83(modi\336cation )-83(time.)-579(The )-82(two )-82(time )-82(values )-82(ar)16(e)]TJ -0 -1.2 TD -[(calendar )-240(times, )-240(which )-240(count )-240(seconds )-240(since )-240(the )-240(Epoch, )-240(as )-240(described )-240(in )-240(Section )-240(1.10.)]TJ -T* -(Partial seconds ar)Tj -0.25 Tc 7.794 0 Td -(ee)Tj -0 Tc 1.208 0 Td -[(xpr)18(essed in nanoseconds.)]TJ --0.055 Tc -7.202 -1.2 Td -(Ti)Tj -0 Tc 0.849 0 Td -(mestamps can be speci\336ed in one of four ways:)Tj --0.849 -2.04 Td -[(1. )-633(The)]TJ -/T1_2 1 Tf -3.585 0 Td -(times)Tj -/T1_1 1 Tf -2.445 0 Td -[(ar)18(gument )-28(is )-28(a )-28(null )-28(pointer)]TJ -0.5277 Tc 11.545 0 Td -(.I)Tj -0.2777 Tc 1.115 0 Td -(nt)Tj -0 Tc 1.186 0 Td -[(his )-28(case, )-28(both )-28(timestamps )-28(ar)]TJ -0.2776 Tc 12.526 0 Td -(es)Tj -0 Tc 1.181 0 Td -[(et )-28(to )-28(the)]TJ --31.948 -1.2 Td -[(curr)18(ent time.)]TJ --1.633 -1.6 Td -[(2. )-633(The)]TJ -/T1_2 1 Tf -3.711 0 Td -(times)Tj -/T1_1 1 Tf -2.571 0 Td -[(ar)18(gument )-154(points )-154(to )-154(an )-154(array )-154(of )-154(two)]TJ -/TT2 1 Tf -16.79 0 Td -(timespec)Tj -/T1_1 1 Tf -5.204 0 Td -[(str)8(uctur)18(es. )-404(If)-404(either)]TJ -/TT2 1 Tf --26.644 -1.2 Td -(tv_nsec)Tj -/T1_1 1 Tf -4.515 0 Td -[(\336eld )-65(has )-65(the )-65(special )-65(value)]TJ -/TT2 1 Tf -11.923 0 Td -(UTIME_NOW)Tj -/T1_1 1 Tf -0.3151 Tc (,t)Tj -0 Tc 6.291 0 Td -[(he )-65(corr)18(esponding )-65(timestamp)]TJ --22.729 -1.2 Td -[(is set to the curr)18(ent time.)-500(The corr)18(esponding)]TJ -/TT2 1 Tf -19.996 0 Td -(tv_sec)Tj -/T1_1 1 Tf -3.85 0 Td -[(\336eld is ignor)18(ed.)]TJ --25.479 -1.6 Td -[(3. )-633(The)]TJ -/T1_2 1 Tf -3.711 0 Td -(times)Tj -/T1_1 1 Tf -2.571 0 Td -[(ar)18(gument )-154(points )-154(to )-154(an )-154(array )-154(of )-154(two)]TJ -/TT2 1 Tf -16.79 0 Td -(timespec)Tj -/T1_1 1 Tf -5.204 0 Td -[(str)8(uctur)18(es. )-404(If)-404(either)]TJ -/TT2 1 Tf --26.644 -1.2 Td -(tv_nsec)Tj -/T1_1 1 Tf -4.753 0 Td -[(\336eld )-303(has )-303(the )-303(special )-303(value)]TJ -/TT2 1 Tf -13.114 0 Td -(UTIME_OMIT)Tj -/T1_1 1 Tf -0.5533 Tc (,t)Tj -0 Tc 7.129 0 Td -[(hen )-303(the )-303(corr)17(esponding)]TJ --24.997 -1.2 Td -[(timestamp is unchanged.)-500(The corr)18(esponding)]TJ -/TT2 1 Tf -20.225 0 Td -(tv_sec)Tj -/T1_1 1 Tf -3.85 0 Td -[(\336eld is ignor)18(ed.)]TJ --25.708 -1.6 Td -[(4. )-633(The)]TJ -/T1_2 1 Tf -3.765 0 Td -(times)Tj -/T1_1 1 Tf -2.625 0 Td -[(ar)18(gument )-208(points )-208(to )-208(an )-208(array )-208(of )-208(two)]TJ -/TT2 1 Tf -17.165 0 Td -(timespec)Tj -/T1_1 1 Tf -5.258 0 Td -[(str)8(uctur)18(es )-208(and )-208(the)]TJ -/TT2 1 Tf --27.179 -1.2 Td -(tv_nsec)Tj -/T1_1 1 Tf -4.477 0 Td -[(\336eld )-27(contains )-27(a )-27(value )-27(other )-27(than)]TJ -/TT2 1 Tf -14.599 0 Td -(UTIME_NOW)Tj -/T1_1 1 Tf -5.677 0 Td -(or)Tj -/TT2 1 Tf -1.218 0 Td -(UTIME_OMIT)Tj -/T1_1 1 Tf -0.527 Tc (.I)Tj -0.277 Tc 7.114 0 Td -(nt)Tj -0 Tc 1.185 0 Td -(his)Tj --34.27 -1.2 Td -[(case, )-465(the )-465(corr)18(esponding )-465(timestamp )-465(is )-465(set )-465(to )-465(the )-465(value )-465(speci\336ed )-465(by )-465(the)]TJ -T* -[(corr)18(esponding)]TJ -/TT2 1 Tf -6.684 0 Td -(tv_sec)Tj -/T1_1 1 Tf -3.85 0 Td -(and)Tj -/TT2 1 Tf -1.943 0 Td -(tv_nsec)Tj -/T1_1 1 Tf -4.45 0 Td -(\336elds.)Tj --18.56 -2.04 Td -[(The )-58(privileges )-58(r)17(equir)18(ed )-58(to )-58(execute )-58(these )-58(functions )-58(depend )-58(on )-58(the )-58(value )-58(of )-58(the)]TJ -/T1_2 1 Tf -35.033 0 Td -(times)Tj -/T1_1 1 Tf --36.833 -1.2 Td -[(ar)18(gument.)]TJ -0.883 Tc 1.8 -2.04 Td -(\245I)Tj -0 Tc 1.826 0 Td -(f)Tj -/T1_2 1 Tf -0.69 0 Td -(times)Tj -/T1_1 1 Tf -2.524 0 Td -[(is )-107(a )-107(null )-107(pointer )-107(or )-107(if )-107(either)]TJ -/TT2 1 Tf -12.816 0 Td -(tv_nsec)Tj -/T1_1 1 Tf -4.557 0 Td -[(\336eld )-107(is )-107(set )-107(to)]TJ -/TT2 1 Tf -6.229 0 Td -(UTIME_NOW)Tj -/T1_1 1 Tf -0.3568 Tc (,e)Tj -0 Tc 6.486 0 Td -(ither)Tj --33.638 -1.2 Td -[(the )-201(ef)18(fective )-201(user )-201(ID )-201(of )-201(the )-201(pr)18(ocess )-201(must )-201(equal )-201(the )-201(owner )-201(ID )-201(of )-201(the )-201(\336le, )-201(the)]TJ -T* -[(pr)18(ocess )-299(must )-299(have )-299(write )-299(permission )-299(for )-299(the )-299(\336le, )-299(or )-299(the )-299(pr)19(ocess )-299(must )-299(be )-299(a)]TJ -0 -1.2 Td -[(super)8(user pr)18(ocess.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245I)Tj -0 Tc 1.826 0 Td -(f)Tj -/T1_2 1 Tf -0.721 0 Td -(times)Tj -/T1_1 1 Tf -2.555 0 Td -[(is )-138(a )-138(non-null )-138(pointer )-138(and )-138(either)]TJ -/TT2 1 Tf -14.82 0 Td -(tv_nsec)Tj -/T1_1 1 Tf -4.588 0 Td -[(\336eld )-138(has )-138(a )-138(value )-138(other )-138(than)]TJ -/TT2 1 Tf --23.022 -1.2 Td -(UTIME_NOW)Tj -/T1_1 1 Tf -5.683 0 Td -(or)Tj -/TT2 1 Tf -1.224 0 Td -(UTIME_OMIT)Tj -/T1_1 1 Tf -0.2827 Tc (,t)Tj -0 Tc 6.859 0 Td -[(he )-33(ef)18(fective )-33(user )-33(ID )-33(of )-33(the )-33(pr)18(ocess )-33(must )-33(equal )-33(the)]TJ --13.765 -1.2 Td -[(owner )-42(ID )-42(of )-42(the )-42(\336le, )-42(or )-42(the )-42(pr)18(ocess )-42(must )-42(be )-42(a )-42(super)8(user )-42(pr)18(ocess. )-292(Mer)18(ely )-42(having)]TJ -0 -1.2 Td -(write permission for the \336le is not adequate.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47045 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(124)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(These )-192(functions )-192(combine )-192(the )-192(actions )-192(of)]TJ -/TT0 1 Tf -18.52 0 Td -(open)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.092 0 Td -(read)Tj -/T1_1 1 Tf -0.4425 Tc (,a)Tj -0 Tc 3.592 0 Td -(nd)Tj -/TT0 1 Tf -1.636 0 Td -(close)Tj -/T1_1 1 Tf -0.6925 Tc (.I)Tj -0.4425 Tc 4.279 0 Td -(fs)Tj -0 Tc 1.199 0 Td -[(uccessful, )-192(they)]TJ --0.018 Tc -32.32 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-98(the )-98(number )-98(of )-98(bytes )-98(placed )-98(into)]TJ -/T1_2 1 Tf -17.114 0 Td -(buf)Tj -/T1_1 1 Tf -0.5983 Tc (.T)Tj -0 Tc 2.758 0 Td -[(he )-98(contents )-98(of )-98(the )-98(symbolic )-98(link )-98(that )-98(ar)17(e)]TJ --0.018 Tc -20.728 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(turned in)Tj -/T1_2 1 Tf -4.369 0 Td -(buf)Tj -/T1_1 1 Tf -1.547 0 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(en)Tj -0 Tc 1.311 0 Td -(ot null terminated.)Tj --7.16 -1.2 Td -(The)Tj -/TT0 1 Tf -1.981 0 Td -(readlinkat)Tj -/T1_1 1 Tf -6.307 0 Td -[(function )-57(behaves )-57(the )-57(same )-57(way )-57(as )-57(the)]TJ -/TT0 1 Tf -17.313 0 Td -(readlink)Tj -/T1_1 1 Tf -5.107 0 Td -[(function )-57(when)]TJ --32.509 -1.2 Td -(the)Tj -/T1_2 1 Tf -1.662 0 Td -(pathname)Tj -/T1_1 1 Tf -4.219 0 Td -[(ar)18(gument )-25(speci\336es )-25(an )-25(absolute )-25(pathname )-25(or )-25(when )-25(the)]TJ -/T1_2 1 Tf -24.317 0 Td -(fd)Tj -/T1_1 1 Tf -1.053 0 Td -[(ar)18(gument )-25(has )-25(the)]TJ --31.251 -1.2 Td -[(special )-11(value)]TJ -/TT0 1 Tf -5.99 0 Td -(AT_FDCWD)Tj -/T1_1 1 Tf -0.5112 Tc (.H)Tj -0 Tc 6.393 0 Td -(owever)Tj -0.2612 Tc 3.224 0 Td -(,w)Tj -0 Tc 1.345 0 Td -[(hen )-11(the)]TJ -/T1_2 1 Tf -3.552 0 Td -(fd)Tj -/T1_1 1 Tf -1.039 0 Td -[(ar)18(gument )-11(is )-11(a )-11(valid )-11(\336le )-11(descriptor )-11(of )-11(an)]TJ --21.544 -1.2 Td -[(open )-136(dir)18(ectory )-136(and )-136(the)]TJ -/T1_2 1 Tf -10.856 0 Td -(pathname)Tj -/T1_1 1 Tf -4.33 0 Td -[(ar)18(gument )-136(is )-136(a )-136(r)18(elative )-136(pathname, )-136(then)]TJ -/TT0 1 Tf -17.815 0 Td -(readlinkat)Tj -/T1_1 1 Tf --33 -1.2 Td -[(evaluates the pathname r)18(elative to the open dir)18(ectory r)18(epr)18(esented by)]TJ -/T1_2 1 Tf -30.63 0 Td -(fd)Tj -/T1_1 1 Tf -(.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5937 544.1673 Tm -[(4.19 )-776(File)-556(Times)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5915 520.1688 Tm -[(In )-203(Section )-203(4.2, )-203(we )-203(discussed )-203(how )-203(the )-203(2008 )-203(version )-203(of )-203(the )-203(Single )-203(UNIX )-203(Speci\336cation)]TJ -0 -1.2 TD -[(incr)18(eased )-10(the )-10(r)17(esolution )-10(of )-10(the )-10(time )-10(\336elds )-10(in )-10(the)]TJ -/TT0 1 Tf -21.298 0 Td -(stat)Tj -/T1_1 1 Tf -2.66 0 Td -[(str)8(uctur)]TJ -0.2604 Tc 3.49 0 Td -(ef)Tj --0.018 Tc 1.072 0 Td -(ro)Tj -0.2604 Tc 0.923 0 Td -(ms)Tj -0 Tc 1.567 0 Td -[(econds )-10(to )-10(seconds)]TJ --31.011 -1.2 Td -[(plus )-117(nanoseconds.)-617(The )-117(actual )-117(r)18(esolution )-117(stor)16(ed )-117(with )-117(each )-117(\336le\325s )-117(attributes )-117(depends )-117(on)]TJ -T* -[(the )-315(\336le )-315(system )-315(implementation.)-815(For )-315(\336le )-315(systems )-315(that )-315(stor)]TJ -0.5651 Tc 27.73 0 Td -(et)Tj -0 Tc 1.37 0 Td -[(imestamps )-315(in )-315(second)]TJ --29.1 -1.2 Td -(granularity)Tj -0.323 Tc 4.884 0 Td -(,t)Tj -0 Tc 0.899 0 Td -[(he )-73(nanoseconds )-73(\336elds )-73(will )-73(be )-73(\336lled )-73(with )-73(zer)17(os. )-323(For)-323(\336le )-73(systems )-73(that )-73(stor)18(e)]TJ --5.783 -1.2 Td -[(timestamps )-284(in )-284(a )-284(r)17(esolution )-284(higher )-284(than )-284(seconds, )-284(the )-284(partial )-284(seconds )-284(value )-284(will )-284(be)]TJ -T* -[(converted into nanoseconds and r)18(eturned in the nanoseconds \336elds.)]TJ -1.8 -1.2 Td -[(Thr)18(ee )-213(time )-213(\336elds )-213(ar)]TJ -0.4633 Tc 9.186 0 Td -(em)Tj -0 Tc 1.825 0 Td -[(aintained )-213(for )-213(each )-213(\336le.)-714(Their )-213(purpose )-213(is )-213(summarized )-213(in)]TJ --12.811 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e4)Tj -0 Tc 1.229 0 Td -(.19.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1763.25 4030.25 cm -0 0 m -2966 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 188.1574 394.9526 Tm -(Field )Tj -9.472 0 Td -(Description)Tj -13.07 0 Td -(Example)Tj -/TT0 1 Tf -7.04 0 Td -(ls)Tj -/T1_1 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(option)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1763.25 3910.25 cm -0 0 m -2966 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1763.25 3890.25 cm -0 0 m -2966 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 180.2595 380.9314 Tm -(st_atim)Tj -/T1_1 1 Tf -5.7 0 Td -(last-access time of \336le data)Tj -/TT0 1 Tf -16.169 0 Td -(read )Tj -10.854 0 Td -(-u)Tj --32.723 -1.25 Td -(st_mtim)Tj -/T1_1 1 Tf -5.7 0 Td -(last-modi\336cation time of \336le data)Tj -/TT0 1 Tf -16.169 0 Td -(write)Tj -/T1_1 1 Tf -9.883 0 Td -(default)Tj -/TT0 1 Tf --31.751 -1.25 Td -(st_ctim)Tj -/T1_1 1 Tf -5.7 0 Td -(last-change time of i-node status)Tj -/TT0 1 Tf -16.169 0 Td -[(chmod, chown)-3654(-c)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1763.25 3570.25 cm -0 0 m -2966 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4188.25 3570.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3492.25 3570.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2199.25 3570.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4729.25 3570.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1763.25 3570.25 cm -0 0 m -0 460 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 219.9032 338.9186 Tm -(Figure 4.19)Tj -/T1_1 1 Tf -5.695 0 Td -[(The thr)18(ee time values associated with each \336le)]TJ -9.9976 0 0 9.9976 129.5691 312.525 Tm -[(Note )-118(the )-118(dif)18(fer)18(ence )-118(between )-118(the )-118(modi\336cation )-118(time )-118(\()]TJ -/TT0 1 Tf -23.592 0 Td -(st_mtim)Tj -/T1_1 1 Tf -0.3682 Tc (\)a)Tj -0 Tc 5.401 0 Td -[(nd )-118(the )-118(changed-status)]TJ --28.994 -1.2 Td -[(time )-20(\()]TJ -/TT0 1 Tf -(st_ctim)Tj -/T1_1 1 Tf -[(\). )-270(The)-269(modi\336cation )-20(time )-20(indicates )-20(when )-20(the )-20(contents )-20(of )-20(the )-20(\336le )-20(wer)]TJ -0.2697 Tc 36.71 0 Td -(el)Tj -0 Tc 1.04 0 Td -(ast)Tj --37.75 -1.2 Td -[(modi\336ed. )-545(The)-545(changed-status )-295(time )-295(indicates )-295(when )-295(the )-295(i-node )-295(of )-295(the )-295(\336le )-295(was )-295(last)]TJ -T* -[(modi\336ed. )-540(In)-539(this )-290(chapter)]TJ -0.5396 Tc 11.94 0 Td -(,w)Tj -0 Tc 1.624 0 Td -[(e\325ve )-290(described )-290(many )-290(operations )-290(that )-290(af)20(fect )-290(the )-290(i-node)]TJ --13.563 -1.2 Td -[(without )-132(changing )-132(the )-132(actual )-132(contents )-132(of )-132(the )-132(\336le: )-132(changing )-132(the )-132(\336le )-132(access )-132(permissions,)]TJ -T* -[(changing )-301(the )-301(user )-301(ID, )-301(changing )-301(the )-301(number )-301(of )-301(links, )-301(and )-301(so )-301(on.)-797(Because )-301(all )-301(the)]TJ -T* -[(information )-142(in )-142(the )-142(i-node )-142(is )-142(stor)18(ed )-142(separately )-142(fr)18(om )-142(the )-142(actual )-142(contents )-142(of )-142(the )-142(\336le, )-142(we)]TJ -T* -(need the changed-status time, in addition to the modi\336cation time.)Tj -1.8 -1.2 Td -[(Note )-111(that )-111(the )-111(system )-111(does )-111(not )-111(maintain )-111(the )-111(last-access )-111(time )-111(for )-111(an )-111(i-node.)-611(This )-111(is)]TJ --1.8 -1.2 Td -(why the functions)Tj -/TT0 1 Tf -8.24 0 Td -(access)Tj -/T1_1 1 Tf -3.85 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(stat)Tj -/T1_1 1 Tf -0.25 Tc (,f)Tj -0 Tc 3.233 0 Td -[(or example, don\325t change any of the thr)18(ee times.)]TJ --15.466 -1.2 Td -[(The )-63(access )-63(time )-63(is )-63(often )-63(used )-63(by )-63(system )-63(administrators )-63(to )-63(delete )-63(\336les )-63(that )-63(have )-63(not)]TJ --1.8 -1.2 Td -[(been )-73(accessed )-73(for )-73(a )-73(certain )-73(amount )-73(of )-73(time.)-573(The )-73(classic )-73(example )-73(is )-73(the )-73(r)18(emoval )-73(of )-73(\336les)]TJ -T* -(named)Tj -/TT0 1 Tf -3.552 0 Td -(a.out)Tj -/T1_1 1 Tf -3.497 0 Td -(or)Tj -/TT0 1 Tf -1.438 0 Td -(core)Tj -/T1_1 1 Tf -2.897 0 Td -[(that )-247(haven\325t )-247(been )-247(accessed )-247(in )-247(the )-247(past )-247(week.)-747(The)]TJ -/TT0 1 Tf -24.05 0 Td -(find)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj --38.667 -1.24 Td -(command is often used for this type of operation.)Tj -1.8 -1.2 Td -[(The )-201(modi\336cation )-201(time )-201(and )-201(the )-201(changed-status )-201(time )-201(can )-201(be )-201(used )-201(to )-201(ar)18(chive )-201(only)]TJ --1.8 -1.2 Td -(those \336les that have had their contents modi\336ed or their i-node mo\ di\336ed.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47046 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.18)]TJ -26.08 0 Td -[(Cr)18(eating )-250(and )-250(Reading )-250(Symbolic )-250(Links)]TJ -/T1_1 1 Tf -19.753 0 Td -(123)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 664.2601 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(ln -s /no/such/file myfile)Tj -/T1_2 1 Tf -22.8 0 Td -[(cr)18(eate a symbolic link)]TJ -/TT0 1 Tf --24 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls myfile)Tj -/TT0 1 Tf --1.2 -1.189 Td -(myfile )Tj -24 0 Td -(ls)Tj -/T1_2 1 Tf -1.8 0 Td -(says it\325)Tj -0.25 Tc 2.806 0 Td -(st)Tj -0 Tc 0.972 0 Td -[(her)18(e)]TJ -/TT0 1 Tf --29.578 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(cat myfile)Tj -/T1_2 1 Tf -22.8 0 Td -(so we try to look at it)Tj -/TT0 1 Tf --24 -1.189 Td -(cat: myfile: No such file or directory)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l myfile)Tj -/T1_2 1 Tf -22.8 0 Td -(try)Tj -/TT0 1 Tf -1.472 0 Td -(-l)Tj -/T1_2 1 Tf -1.45 0 Td -(option)Tj -/TT0 1 Tf --26.922 -1.189 Td -[(lrwxrwxrwx )-600(1)-600(sar )-3600(13)-600(Jan 22 00:26 myfile -> /no/such/file)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5921 582.0651 Tm -[(The )-180(\336le)]TJ -/TT0 1 Tf -3.909 0 Td -(myfile)Tj -/T1_0 1 Tf -4.03 0 Td -[(does )-180(exist, )-180(yet)]TJ -/TT0 1 Tf -6.997 0 Td -(cat)Tj -/T1_0 1 Tf -2.23 0 Td -[(says )-180(ther)18(e)-430(is)-430(no)-430(such )-180(\336le, )-180(because)]TJ -/TT0 1 Tf -16.159 0 Td -(myfile)Tj -/T1_0 1 Tf -4.03 0 Td -[(is )-180(a)]TJ --37.355 -1.2 Td -[(symbolic )-68(link )-68(and )-68(the )-68(\336le )-68(pointed )-68(to )-68(by )-68(the )-68(symbolic )-68(link )-68(doesn\325t )-68(exist.)-574(The)]TJ -/TT0 1 Tf -34.59 0 Td -(-l)Tj -/T1_0 1 Tf -1.519 0 Td -(option)Tj --36.109 -1.2 Td -(to)Tj -/TT0 1 Tf -1.215 0 Td -(ls)Tj -/T1_0 1 Tf -1.543 0 Td -[(gives )-93(us )-93(two )-93(hints: )-93(the )-93(\336rst )-93(character )-93(is )-93(an)]TJ -/TT0 1 Tf -19.585 0 Td -(l)Tj -/T1_0 1 Tf -0.3426 Tc (,w)Tj -0 Tc 2.027 0 Td -[(hich )-93(means )-93(a )-93(symbolic )-93(link, )-93(and)]TJ --24.369 -1.2 Td -[(the )-120(sequence)]TJ -/TT0 1 Tf -6.178 0 Td -(->)Tj -/T1_0 1 Tf -1.57 0 Td -[(also )-120(indicates )-120(a )-120(symbolic )-120(link.)-622(The)]TJ -/TT0 1 Tf -16.313 0 Td -(ls)Tj -/T1_0 1 Tf -1.57 0 Td -[(command )-120(has )-120(another )-120(option)]TJ --25.632 -1.2 Td -(\()Tj -/TT0 1 Tf -(-F)Tj -/T1_0 1 Tf -0.2846 Tc (\)t)Tj -0 Tc 2.477 0 Td -[(hat )-35(appends )-35(an )-35(at-sign )-35(\(@\) )-35(to )-35(\336lenames )-35(that )-35(ar)]TJ -0.2846 Tc 20.716 0 Td -(es)Tj -0 Tc 1.188 0 Td -[(ymbolic )-35(links, )-35(which )-35(can )-35(help )-35(us)]TJ --24.38 -1.2 Td -[(spot symbolic links in a dir)18(ectory listing without the)]TJ -/TT0 1 Tf -23.333 0 Td -(-l)Tj -/T1_0 1 Tf -1.45 0 Td -(option.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5221.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -11.9986 0 0 11.9986 93.5888 486.0417 Tm -[(4.18 )-776(Creating)-556(and )-278(Reading )-278(Symbolic )-278(Links)]TJ -/T1_0 1 Tf -0.25 Tc 9.9988 0 0 9.9988 129.5844 462.0445 Tm -(As)Tj -0 Tc 1.452 0 Td -[(ymbolic link is cr)18(eated with either the)]TJ -/TT0 1 Tf -16.937 0 Td -(symlink)Tj -/T1_0 1 Tf -4.45 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(symlinkat)Tj -/T1_0 1 Tf -5.65 0 Td -(function.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5824 440.5471 Tm -(#include )Tj -0 -1.902 TD -(int symlink\(const char *)Tj -/T1_2 1 Tf -(actualpath)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 20.439 0 Td -(onst char *)Tj -/T1_2 1 Tf -(sympath)Tj -/TT0 1 Tf -(\);)Tj --20.439 -1.902 Td -(int symlinkat\(const char *)Tj -/T1_2 1 Tf -(actualpath)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 21.639 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(sympath)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --0.766 -1.902 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT3 1 Tf -9.213 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3847.25 cm -0 0 m -0 649 l -3900 649 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -0.3912 Tc 9.9982 0 0 9.9982 129.5767 366.374 Tm -(An)Tj -0 Tc 1.751 0 Td -[(ew )-141(dir)18(ectory )-141(entry)111(,)]TJ -/T1_2 1 Tf -8.989 0 Td -(sympath)Tj -/T1_0 1 Tf -[(,)-391(is)-391(c)]TJ --0.018 Tc (re)Tj -0 Tc 6.491 0 Td -[(ated )-141(that )-141(points )-141(to)]TJ -/T1_2 1 Tf -8.856 0 Td -(actualpath)Tj -/T1_0 1 Tf -0.6411 Tc (.I)Tj -0 Tc 5.467 0 Td -[(t)-391(is)-391(not )-141(r)18(equir)18(ed)]TJ --31.555 -1.2 Td -(that)Tj -/T1_2 1 Tf -2.071 0 Td -(actualpath)Tj -/T1_0 1 Tf -4.576 0 Td -[(exist )-87(when )-87(the )-87(symbolic )-87(link )-87(is )-87(cr)19(eated. )-337(\(W)]TJ -0.3368 Tc 19.638 0 Td -(es)Tj -0 Tc 1.24 0 Td -[(aw )-87(this )-87(in )-87(the )-87(example )-87(at)]TJ --27.524 -1.2 Td -[(the )-155(end )-155(of )-155(the )-155(pr)17(evious )-155(section.\))-655(Also,)]TJ -/T1_2 1 Tf -18.262 0 Td -(actualpath)Tj -/T1_0 1 Tf -4.644 0 Td -(and)Tj -/T1_2 1 Tf -2.098 0 Td -(sympath)Tj -/T1_0 1 Tf -3.849 0 Td -[(need )-155(not )-155(r)18(eside )-155(in )-155(the)]TJ --28.853 -1.2 Td -(same \336le system.)Tj -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.217 0 Td -(symlinkat)Tj -/T1_0 1 Tf -5.943 0 Td -[(function )-293(is )-293(similar )-293(to)]TJ -/TT0 1 Tf -10.541 0 Td -(symlink)Tj -/T1_0 1 Tf -0.543 Tc (,b)Tj -0 Tc 5.546 0 Td -[(ut )-293(the)]TJ -/T1_2 1 Tf -3.402 0 Td -(sympath)Tj -/T1_0 1 Tf -3.987 0 Td -[(ar)18(gument )-293(is)]TJ --33.436 -1.2 Td -[(evaluated )-318(r)18(elative )-318(to )-318(the )-318(dir)18(ectory )-318(r)18(efer)18(enced )-318(by )-318(the )-318(open )-318(\336le )-318(descriptor )-318(for )-318(that)]TJ --0 -1.2 Td -[(dir)18(ectory )-78(\(speci\336ed )-78(by )-78(the)]TJ -/T1_2 1 Tf -12.1 0 Td -(fd)Tj -/T1_0 1 Tf -1.106 0 Td -[(ar)18(gument\). )-328(If)-328(the)]TJ -/T1_2 1 Tf -8.18 0 Td -(sympath)Tj -/T1_0 1 Tf -3.772 0 Td -[(ar)18(gument )-78(speci\336es )-78(an )-78(absolute)]TJ --25.159 -1.2 Td -[(pathname )-228(or )-228(if )-228(the)]TJ -/T1_2 1 Tf -9.315 0 Td -(fd)Tj -/T1_0 1 Tf -1.256 0 Td -[(ar)18(gument )-228(has )-228(the )-228(special )-228(value)]TJ -/TT0 1 Tf -15.055 0 Td -(AT_FDCWD)Tj -/T1_0 1 Tf -0.4775 Tc (,t)Tj -0 Tc 5.854 0 Td -(hen)Tj -/TT0 1 Tf -2.12 0 Td -(symlinkat)Tj -/T1_0 1 Tf --33.6 -1.2 Td -(behaves the same way as)Tj -/TT0 1 Tf -11.319 0 Td -(symlink)Tj -/T1_0 1 Tf -(.)Tj --9.519 -1.2 Td -[(Because )-43(the)]TJ -/TT0 1 Tf -5.514 0 Td -(open)Tj -/T1_0 1 Tf -2.693 0 Td -[(function )-43(follows )-43(a )-43(symbolic )-43(link, )-43(we )-43(need )-43(a )-43(way )-43(to )-43(open )-43(the )-43(link)]TJ --10.007 -1.2 Td -[(itself )-4(and )-4(r)18(ead )-4(the )-4(name )-4(in )-4(the )-4(link.)-505(The)]TJ -/TT0 1 Tf -18.076 0 Td -(readlink)Tj -/T1_0 1 Tf -5.054 0 Td -(and)Tj -/TT0 1 Tf -1.947 0 Td -(readlinkat)Tj -/T1_0 1 Tf -6.254 0 Td -[(functions )-4(do )-4(this.)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.5735 224.8995 Tm -(#include )Tj -T* -(ssize_t readlink\(const char* restrict)Tj -/T1_2 1 Tf -22.8 0 Td -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 5.744 0 Td -(har *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(buf)Tj -/TT0 1 Tf -(,)Tj --26.744 -1.189 Td -(size_t)Tj -/T1_2 1 Tf -4.2 0 Td -(bufsize)Tj -/TT0 1 Tf -(\);)Tj --14.4 -1.902 Td -(ssize_t readlinkat\(int)Tj -/T1_2 1 Tf -13.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char* restrict)Tj -/T1_2 1 Tf -12 0 Td -(pathname)Tj -/TT0 1 Tf -(,)Tj --16.978 -1.189 Td -(char *restrict)Tj -/T1_2 1 Tf -9 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(bufsize)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --10.775 -1.902 Td -[(Both r)18(eturn: number of bytes r)18(ead if OK,)]TJ -/TT3 1 Tf -18.142 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1477.25 cm -0 0 m -0 862 l -3900 862 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47047 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(120)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(3. )-633(If)-459(either)]TJ -/T1_2 1 Tf -5.774 0 Td -(oldname)Tj -/T1_1 1 Tf -3.848 0 Td -(or)Tj -/T1_2 1 Tf -1.4 0 Td -(newname)Tj -/T1_1 1 Tf --0.018 Tc 4.293 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fers )-209(to )-209(a )-209(symbolic )-209(link, )-209(then )-209(the )-209(link )-209(itself )-209(is)]TJ --14.538 -1.2 Td -[(pr)18(ocessed, not the \336le to which it r)18(esolves.)]TJ --1.633 -1.84 Td -[(4. )-633(W)]TJ -0.4277 Tc 2.541 0 Td -(ec)Tj -0 Tc 1.351 0 Td -[(an\325t )-178(r)18(ename )-178(dot )-178(or )-178(dot-dot.)-676(Mor)]TJ -0.4278 Tc 15.216 0 Td -(ep)Tj --0.018 Tc 1.508 0 Td -(re)Tj -0 Tc 0.856 0 Td -(cisely)Tj -0.4278 Tc 2.374 0 Td -(,n)Tj -0 Tc 1.26 0 Td -[(either )-178(dot )-178(nor )-178(dot-dot )-178(can)]TJ --23.473 -1.2 Td -(appear as the last component of)Tj -/T1_2 1 Tf -14.296 0 Td -(oldname)Tj -/T1_1 1 Tf -3.639 0 Td -(or)Tj -/T1_2 1 Tf -1.191 0 Td -(newname)Tj -/T1_1 1 Tf -(.)Tj --20.759 -1.84 Td -[(5. )-633(As)]TJ -0.4194 Tc 3.254 0 Td -(as)Tj -0 Tc 1.343 0 Td -[(pecial )-169(case, )-169(if)]TJ -/T1_2 1 Tf -6.585 0 Td -(oldname)Tj -/T1_1 1 Tf -3.808 0 Td -(and)Tj -/T1_2 1 Tf -2.112 0 Td -(newname)Tj -/T1_1 1 Tf --0.018 Tc 4.253 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer )-169(to )-169(the )-169(same )-169(\336le, )-169(the )-169(function)]TJ --0.018 Tc -20.58 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(turns successfully without changing anything.)Tj --4.289 -2.4 Td -(If)Tj -/T1_2 1 Tf -0.965 0 Td -(newname)Tj -/T1_1 1 Tf -4.129 0 Td -[(alr)18(eady )-45(exists, )-45(we )-45(need )-45(permissions )-45(as )-45(if )-45(we )-45(wer)]TJ -0.2954 Tc 21.741 0 Td -(ed)Tj -0 Tc 1.385 0 Td -[(eleting )-45(it.)-545(Also, )-45(because)]TJ --28.221 -1.2 Td -(we\325r)Tj -0.3387 Tc 1.968 0 Td -(er)Tj -0 Tc 1.195 0 Td -[(emoving )-89(the )-89(dir)18(ectory )-89(entry )-89(for)]TJ -/T1_2 1 Tf -14.62 0 Td -(oldname)Tj -/T1_1 1 Tf -3.728 0 Td -[(and )-89(possibly )-89(cr)19(eating )-89(a )-89(dir)18(ectory )-89(entry)]TJ --21.51 -1.2 Td -(for)Tj -/T1_2 1 Tf -1.885 0 Td -(newname)Tj -/T1_1 1 Tf -[(,)-611(we)-611(n)1(eed )-361(write )-361(permission )-361(and )-361(execute )-361(permission )-361(in )-361(the )-361(dir)21(ectory)]TJ --1.885 -1.2 Td -(containing)Tj -/T1_2 1 Tf -4.95 0 Td -(oldname)Tj -/T1_1 1 Tf -3.639 0 Td -[(and in the dir)18(ectory containing)]TJ -/T1_2 1 Tf -13.928 0 Td -(newname)Tj -/T1_1 1 Tf -(.)Tj --20.717 -1.2 Td -(The)Tj -/TT0 1 Tf -2.065 0 Td -(renameat)Tj -/T1_1 1 Tf -5.191 0 Td -[(function )-141(pr)18(ovides )-141(the )-141(same )-141(functionality )-141(as )-141(the)]TJ -/TT0 1 Tf -21.995 0 Td -(rename)Tj -/T1_1 1 Tf -3.991 0 Td -(function,)Tj --35.043 -1.2 Td -[(except )-315(when )-315(either)]TJ -/T1_2 1 Tf -9.57 0 Td -(oldname)Tj -/T1_1 1 Tf -3.954 0 Td -(or)Tj -/T1_2 1 Tf -1.506 0 Td -(newname)Tj -/T1_1 1 Tf --0.018 Tc 4.399 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fers )-315(to )-315(a )-315(r)18(elative )-315(pathname.)-816(If)]TJ -/T1_2 1 Tf -15.326 0 Td -(oldname)Tj -/T1_1 1 Tf --35.611 -1.2 Td -[(speci\336es )-17(a )-17(r)18(elative )-17(pathname, )-17(it )-17(is )-17(evaluated )-17(r)21(elative )-16(to )-16(the )-16(dir)18(ectory )-16(r)16(efer)18(enced )-16(by)]TJ -/T1_2 1 Tf -36.75 0 Td -(oldfd)Tj -/T1_1 1 Tf -(.)Tj --36.75 -1.2 Td -[(Similarly)111(,)]TJ -/T1_2 1 Tf -4.469 0 Td -(newname)Tj -/T1_1 1 Tf -4.141 0 Td -[(is )-58(evaluated )-58(r)18(elative )-58(to )-58(the )-58(dir)18(ectory )-58(r)20(efer)18(enced )-58(by)]TJ -/T1_2 1 Tf -22.871 0 Td -(newfd)Tj -/T1_1 1 Tf -2.753 0 Td -(if)Tj -/T1_2 1 Tf -0.932 0 Td -(newname)Tj -/T1_1 1 Tf --35.166 -1.2 Td -[(speci\336es )-19(a )-19(r)18(elative )-19(pathname.)-519(Either )-19(the)]TJ -/T1_2 1 Tf -18.192 0 Td -(oldfd)Tj -/T1_1 1 Tf -2.269 0 Td -(or)Tj -/T1_2 1 Tf -1.21 0 Td -(newfd)Tj -/T1_1 1 Tf -2.714 0 Td -[(ar)18(guments )-19(\(or )-19(both\) )-19(can )-19(be )-19(set )-19(to)]TJ -/TT0 1 Tf --24.384 -1.2 Td -(AT_FDCWD)Tj -/T1_1 1 Tf -5.05 0 Td -[(to evaluate the corr)18(esponding pathname r)18(elative to the curr)18(ent dir)18(ectory)111(.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5935 428.1743 Tm -[(4.17 )-776(Symbolic)-556(Links)]TJ -/T1_1 1 Tf -0.3843 Tc 9.9994 0 0 9.9994 129.5913 404.1757 Tm -(As)Tj -0 Tc 1.586 0 Td -[(ymbolic )-134(link )-134(is )-134(an )-134(indir)18(ect )-134(pointer )-134(to )-134(a )-134(\336le, )-134(unlike )-134(the )-134(har)]TJ -0.3843 Tc 26.574 0 Td -(dl)Tj -0 Tc 1.286 0 Td -[(inks )-134(described )-134(in )-134(the)]TJ --29.447 -1.2 Td -[(pr)18(evious )-103(section, )-103(which )-103(pointed )-103(dir)19(ectly )-103(to )-103(the )-103(i-node )-103(of )-103(the )-103(\336le.)-603(Symbolic )-103(links )-103(wer)22(e)]TJ -0 -1.2 TD -[(intr)18(oduced to get ar)18(ound the limitations of har)]TJ -0.25 Tc 20.548 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(inks.)Tj -0.883 Tc -19.9 -2.4 Td -(\245H)Tj -0 Tc 2.321 0 Td -(ar)Tj -0.4399 Tc 0.877 0 Td -(dl)Tj -0 Tc 1.342 0 Td -[(inks )-190(normally )-190(r)18(equir)]TJ -0.4399 Tc 9.464 0 Td -(et)Tj -0 Tc 1.245 0 Td -[(hat )-190(the )-190(link )-190(and )-190(the )-190(\336le )-190(r)19(eside )-190(in )-190(the )-190(same )-190(\336le)]TJ --13.76 -1.2 Td -(system.)Tj -0.883 Tc -1.489 -1.6 Td -(\245O)Tj -0 Tc 2.275 0 Td -[(nly )-36(the )-36(super)8(user )-36(can )-36(cr)18(eate )-36(a )-36(har)]TJ -0.286 Tc 15.017 0 Td -(dl)Tj -0 Tc 1.188 0 Td -[(ink )-36(to )-36(a )-36(dir)18(ectory )-36(\(when )-36(supported )-36(by )-36(the)]TJ --16.991 -1.2 Td -(underlying \336le system\).)Tj --3.289 -2.4 Td -(Ther)Tj -0.2531 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.232 0 Td -[(re )-39(n)]TJ -0.2531 Tc 1.691 0 Td -(o\336)Tj -0 Tc 1.404 0 Td -[(le )-3(system )-3(limitations )-3(on )-3(a )-3(symbolic )-3(link )-3(and )-3(what )-3(it )-3(points )-3(to, )-3(and )-3(anyone)]TJ --6.378 -1.2 Td -[(can )-45(cr)18(eate )-45(a )-45(symbolic )-45(link )-45(to )-45(a )-45(dir)15(ectory)]TJ -0.5453 Tc 17.693 0 Td -(.S)Tj -0 Tc 1.32 0 Td -[(ymbolic )-45(links )-45(ar)]TJ -0.2953 Tc 7.176 0 Td -(et)Tj -0 Tc 1.1 0 Td -[(ypically )-45(used )-45(to )-45(\324)36(\324move\325)]TJ -0.2953 Tc 10.638 0 Td -(\325a)Tj -0 Tc -37.927 -1.2 Td -(\336le or an entir)Tj -0.25 Tc 6.203 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(ir)18(ectory hierar)18(chy to another location on a system.)]TJ --5.743 -1.2 Td -[(When )-16(using )-16(functions )-16(that )-16(r)18(efer )-16(to )-16(a )-16(\336le )-16(by )-16(name, )-16(we )-16(always )-16(need )-16(to )-16(know )-16(whether)]TJ --1.8 -1.2 Td -[(the )-361(function )-361(follows )-361(a )-361(symbolic )-361(link.)-863(If )-361(the )-361(function )-361(follows )-361(a )-361(symbolic )-361(link, )-361(a)]TJ -T* -[(pathname )-135(ar)18(gument )-135(to )-135(the )-135(function )-135(r)18(efers )-135(to )-135(the )-135(\336le )-135(pointed )-135(to )-135(by )-135(the )-135(symbolic )-135(link.)]TJ -T* -[(Otherwise, )-84(a )-84(pathname )-84(ar)18(gument )-84(r)16(efers )-84(to )-84(the )-84(link )-84(itself, )-84(not )-84(the )-84(\336le )-84(pointed )-84(to )-84(by )-84(the)]TJ -T* -[(link. )-345(Figur)]TJ -0.345 Tc 4.948 0 Td -(e4)Tj -0 Tc 1.324 0 Td -[(.17 )-95(summarizes )-95(whether )-95(the )-95(functions )-95(described )-95(in )-95(this )-95(chapter )-95(follow )-95(a)]TJ --6.272 -1.2 Td -[(symbolic )-39(link.)-540(The )-39(functions)]TJ -/TT0 1 Tf -13.17 0 Td -(mkdir)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.539 0 Td -(mkfifo)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.139 0 Td -(mknod)Tj -/T1_1 1 Tf -0.2893 Tc (,a)Tj -0 Tc 4.039 0 Td -(nd)Tj -/TT0 1 Tf -1.482 0 Td -(rmdir)Tj -/T1_1 1 Tf -3.289 0 Td -[(do )-39(not )-39(appear )-39(in )-39(this)]TJ --29.66 -1.2 Td -[(\336gur)18(e, )-308(as )-308(they )-308(r)18(eturn )-308(an )-308(err)18(or )-308(when )-308(the )-308(pathname )-308(is )-308(a )-308(symbolic )-308(link.)-807(Also, )-308(the)]TJ -0 -1.2 Td -[(functions )-212(that )-212(take )-212(a )-212(\336le )-212(descriptor )-212(ar)18(gument, )-212(such )-212(as)]TJ -/TT0 1 Tf -25.8 0 Td -(fstat)Tj -/T1_1 1 Tf -3.462 0 Td -(and)Tj -/TT0 1 Tf -2.155 0 Td -(fchmod)Tj -/T1_1 1 Tf -0.4616 Tc (,a)Tj --0.018 Tc 4.812 0 Td -[(re )-248(n)]TJ -0 Tc 1.9 0 Td -(ot)Tj --38.128 -1.2 Td -[(listed, )-327(as )-327(the )-327(function )-327(that )-327(r)18(eturns )-327(the )-327(\336le )-327(descriptor )-327(\(usually)]TJ -/TT0 1 Tf -30.256 0 Td -(open)Tj -/T1_1 1 Tf -0.5772 Tc (\)h)Tj -0 Tc 3.892 0 Td -[(andles )-327(the)]TJ --34.149 -1.2 Td -[(symbolic )-144(link.)-644(Historically)]TJ -0.3939 Tc 12.072 0 Td -(,i)Tj -0 Tc 0.935 0 Td -[(mplementations )-144(have )-144(dif)18(fer)18(ed )-144(in )-144(whether)]TJ -/TT0 1 Tf -19.334 0 Td -(chown)Tj -/T1_1 1 Tf -3.394 0 Td -(follows)Tj --35.735 -1.2 Td -[(symbolic links.)-500(In all modern systems, however)74(,)]TJ -/TT0 1 Tf -21.701 0 Td -(chown)Tj -/T1_1 1 Tf -3.25 0 Td -(does follow symbolic links.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47048 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.16)]TJ -/TT0 1 Tf -27.923 0 Td -(rename)Tj -/T1_0 1 Tf -4.1 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(renameat)Tj -/T1_0 1 Tf -5.3 0 Td -(Functions)Tj -/T1_1 1 Tf --0.037 Tc 6.354 0 Td -(11)Tj -0 Tc 0.963 0 Td -(9)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-253(super)8(user )-253(can )-253(call)]TJ -/TT0 1 Tf -11.132 0 Td -(unlink)Tj -/T1_0 1 Tf -4.103 0 Td -(with)Tj -/T1_2 1 Tf -2.536 0 Td -(pathname)Tj -/T1_0 1 Tf -4.447 0 Td -[(specifying )-253(a )-253(dir)18(ectory )-253(if )-253(the )-253(\336le)]TJ --24.018 -1.2 Td -[(system )-13(supports )-13(it, )-13(but )-13(the )-13(function)]TJ -/TT0 1 Tf -16.034 0 Td -(rmdir)Tj -/T1_0 1 Tf -3.263 0 Td -[(should )-13(be )-13(used )-13(instead )-13(to )-13(unlink )-13(a )-13(dir)17(ectory)111(.)]TJ --0.092 Tc -19.297 -1.2 Td -[(We )-184(d)]TJ -0 Tc 2.248 0 Td -(escribe the)Tj -/TT0 1 Tf -4.952 0 Td -(rmdir)Tj -/T1_0 1 Tf -3.25 0 Td -(function in Section 4.21.)Tj --0.092 Tc -8.65 -1.2 Td -[(We )-429(c)]TJ -0 Tc 2.326 0 Td -[(an )-245(also )-245(unlink )-245(a )-245(\336le )-245(or )-245(a )-245(dir)18(ectory )-245(with )-245(the)]TJ -/TT0 1 Tf -21.463 0 Td -(remove)Tj -/T1_0 1 Tf -4.095 0 Td -[(function. )-495(For)]TJ -0.4954 Tc 6.695 0 Td -(a\336)Tj -0 Tc 1.6 0 Td -(le,)Tj -/TT0 1 Tf --37.98 -1.2 Td -(remove)Tj -/T1_0 1 Tf -3.85 0 Td -(is identical to)Tj -/TT0 1 Tf -6.152 0 Td -(unlink)Tj -/T1_0 1 Tf -0.5 Tc (.F)Tj -0 Tc 4.906 0 Td -[(or a dir)18(ectory)111(,)]TJ -/TT0 1 Tf -6.355 0 Td -(remove)Tj -/T1_0 1 Tf -3.85 0 Td -(is identical to)Tj -/TT0 1 Tf -6.152 0 Td -(rmdir)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 601.8639 Tm -(#include )Tj -0 -1.783 TD -(int remove\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -26.851 -1.783 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5653.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 183.578 544.9346 Tm -[(ISO )-3(C )-3(speci\336es )-3(the)]TJ -/TT0 1 Tf -8.502 0 Td -(remove)Tj -/T1_0 1 Tf -3.853 0 Td -[(function )-3(to )-3(delete )-3(a )-3(\336le.)-503(The )-3(name )-3(was )-3(changed )-3(fr)18(om )-3(the )-3(historical)]TJ --12.355 -1.25 Td -[(UNIX )-8(name )-8(of)]TJ -/TT0 1 Tf -6.71 0 Td -(unlink)Tj -/T1_0 1 Tf -3.858 0 Td -[(because )-8(most )-8(non-UNIX )-8(systems )-8(that )-8(implement )-8(the )-8(C )-8(standar)]TJ -0.2583 Tc 27.863 0 Td -(dd)Tj -0 Tc 1.48 0 Td -(idn\325t)Tj --39.912 -1.25 Td -(support the concept of links to a \336le at the time.)Tj -/TT2 1 Tf -11.9986 0 0 11.9986 93.5886 488.9413 Tm -(4.16)Tj -/TT3 1 Tf -3 0 Td -(rename)Tj -/TT2 1 Tf -4.156 0 Td -(and)Tj -/TT3 1 Tf -2.334 0 Td -(renameat)Tj -/TT2 1 Tf -5.356 0 Td -(Functions)Tj -/T1_0 1 Tf -0.25 Tc 9.9988 0 0 9.9988 129.5838 464.9442 Tm -(A\336)Tj -0 Tc 1.633 0 Td -[(le or a dir)18(ectory is r)18(enamed with either the)]TJ -/TT0 1 Tf -19.084 0 Td -(rename)Tj -/T1_0 1 Tf -3.85 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(renameat)Tj -/T1_0 1 Tf -5.05 0 Td -(function.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.582 445.8465 Tm -(#include )Tj -T* -(int rename\(const char *)Tj -/T1_2 1 Tf -(oldname)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 18.989 0 Td -(onst char *)Tj -/T1_2 1 Tf -(newname)Tj -/TT0 1 Tf -(\);)Tj --18.989 -1.783 Td -(int renameat\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(oldfd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.8 0 Td -(onst char *)Tj -/T1_2 1 Tf -(oldname)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 11.789 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(newfd)Tj -/TT0 1 Tf -(,)Tj --19.789 -1.189 Td -(const char *)Tj -/T1_2 1 Tf -(newname)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -17.451 -1.783 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT1 1 Tf -9.213 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3825.25 cm -0 0 m -0 724 l -3900 724 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 183.567 362.1848 Tm -(The)Tj -/TT0 1 Tf -2.213 0 Td -(rename)Tj -/T1_0 1 Tf -4.139 0 Td -[(function )-289(is )-289(de\336ned )-289(by )-289(ISO )-289(C )-289(for )-289(\336les.)-789(\(The )-289(C )-289(standar)]TJ -0.5394 Tc 26.258 0 Td -(dd)Tj -0 Tc 1.761 0 Td -[(oesn\325t )-289(deal )-289(with)]TJ --34.372 -1.25 Td -[(dir)18(ectories.\) )-250(POSIX.1)-250(expanded the de\336nition to include dir)18(ectories and symbolic links.)]TJ -9.9982 0 0 9.9982 147.5731 332.1902 Tm -(Ther)Tj -0.3134 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.292 0 Td -[(re )-99(s)]TJ -0 Tc 1.593 0 Td -[(everal )-63(conditions )-63(to )-63(describe )-63(for )-63(these )-63(functions, )-63(depending )-63(on )-63(whether)]TJ -/T1_2 1 Tf --6.737 -1.2 Td -(oldname)Tj -/T1_0 1 Tf --0.018 Tc 3.823 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fers )-184(to )-184(a )-184(\336le, )-184(a )-184(dir)17(ectory)111(,)-434(or)-434(a)-434(symbolic )-184(link.)]TJ --0.092 Tc 21.282 0 Td -[(We )-368(m)]TJ -0 Tc 2.704 0 Td -[(ust )-184(also )-184(describe )-184(what)]TJ --28.666 -1.2 Td -(happens if)Tj -/T1_2 1 Tf -4.893 0 Td -(newname)Tj -/T1_0 1 Tf -4.084 0 Td -[(alr)18(eady exists.)]TJ --7.177 -2.16 Td -[(1. )-633(If)]TJ -/T1_2 1 Tf -2.604 0 Td -(oldname)Tj -/T1_0 1 Tf -3.69 0 Td -[(speci\336es )-51(a )-51(\336le )-51(that )-51(is )-51(not )-51(a )-51(dir)19(ectory)]TJ -0.3009 Tc 16.045 0 Td -(,t)Tj -0 Tc 0.877 0 Td -[(hen )-51(we )-51(ar)]TJ -0.3009 Tc 4.435 0 Td -(er)Tj -0 Tc 1.157 0 Td -[(enaming )-51(a )-51(\336le )-51(or )-51(a)]TJ --27.174 -1.2 Td -[(symbolic )-138(link.)-638(In )-138(this )-138(case, )-138(if)]TJ -/T1_2 1 Tf -13.801 0 Td -(newname)Tj -/T1_0 1 Tf -4.222 0 Td -[(exists, )-138(it )-138(cannot )-138(r)18(efer )-138(to )-138(a )-138(dir)16(ectory)]TJ -0.6382 Tc 15.986 0 Td -(.I)Tj -0 Tc 1.225 0 Td -(f)Tj -/T1_2 1 Tf --35.234 -1.2 Td -(newname)Tj -/T1_0 1 Tf -4.166 0 Td -[(exists )-82(and )-82(is )-82(not )-82(a )-82(dir)19(ectory)111(,)-332(it)-332(is)-332(r)19(emoved, )-82(and)]TJ -/T1_2 1 Tf -21.519 0 Td -(oldname)Tj -/T1_0 1 Tf -3.721 0 Td -[(is )-82(r)18(enamed )-82(to)]TJ -/T1_2 1 Tf --29.405 -1.2 Td -(newname)Tj -/T1_0 1 Tf -0.5968 Tc (.W)Tj -0.3468 Tc 5.589 0 Td -(em)Tj -0 Tc 1.709 0 Td -[(ust )-97(have )-97(write )-97(permission )-97(for )-97(the )-97(dir)18(ectory )-97(containing)]TJ -/T1_2 1 Tf -24.88 0 Td -(oldname)Tj -/T1_0 1 Tf --32.178 -1.2 Td -[(and the dir)18(ectory containing)]TJ -/T1_2 1 Tf -12.805 0 Td -(newname)Tj -/T1_0 1 Tf -0.25 Tc (,s)Tj -0 Tc 4.758 0 Td -(ince we ar)Tj -0.25 Tc 4.486 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(hanging both dir)18(ectories.)]TJ --24.855 -1.84 Td -[(2. )-633(If)]TJ -/T1_2 1 Tf -2.702 0 Td -(oldname)Tj -/T1_0 1 Tf -3.788 0 Td -[(speci\336es )-149(a )-149(dir)18(ectory)]TJ -0.3992 Tc 8.959 0 Td -(,t)Tj -0 Tc 0.975 0 Td -[(hen )-149(we )-149(ar)]TJ -0.3993 Tc 4.631 0 Td -(er)Tj -0 Tc 1.255 0 Td -[(enaming )-149(a )-149(dir)17(ectory)]TJ -0.6493 Tc 9.086 0 Td -(.I)Tj -0 Tc 1.236 0 Td -(f)Tj -/T1_2 1 Tf -0.732 0 Td -(newname)Tj -/T1_0 1 Tf --31.733 -1.2 Td -[(exists, )-47(it )-47(must )-47(r)18(efer )-47(to )-47(a )-47(dir)16(ectory)]TJ -0.2973 Tc 14.696 0 Td -(,a)Tj -0 Tc 1.047 0 Td -[(nd )-47(that )-47(dir)18(ectory )-47(must )-47(be )-47(empty)]TJ -0.5472 Tc 14.441 0 Td -(.\()Tj -0 Tc 1.13 0 Td -[(When )-47(we)]TJ --31.314 -1.2 Td -[(say )-61(that )-61(a )-61(dir)18(ectory )-61(is )-61(empty)113(,)-311(we)-311(m)1(ean )-61(that )-61(the )-61(only )-61(entries )-61(in )-61(the )-61(dir)18(ectory )-61(ar)21(e)]TJ -0 -1.2 Td -[(dot )-6(and )-6(dot-dot.\))-505(If)]TJ -/T1_2 1 Tf -9.001 0 Td -(newname)Tj -/T1_0 1 Tf -4.09 0 Td -[(exists )-6(and )-6(is )-6(an )-6(empty )-6(dir)19(ectory)111(,)-256(it)-256(i)]TJ -0.2557 Tc (sr)Tj -0 Tc 16.714 0 Td -[(emoved, )-6(and)]TJ -/T1_2 1 Tf --29.805 -1.2 Td -(oldname)Tj -/T1_0 1 Tf -3.659 0 Td -[(is )-19(r)18(enamed )-19(to)]TJ -/T1_2 1 Tf -6.306 0 Td -(newname)Tj -/T1_0 1 Tf -0.5195 Tc (.A)Tj -0 Tc 5.381 0 Td -(dditionally)Tj -0.2695 Tc 4.785 0 Td -(,w)Tj -0 Tc 1.354 0 Td -[(hen )-19(we\325r)]TJ -0.2695 Tc 3.881 0 Td -(er)Tj -0 Tc 1.125 0 Td -[(enaming )-19(a )-19(dir)17(ectory)111(,)]TJ -/T1_2 1 Tf --26.491 -1.2 Td -(newname)Tj -/T1_0 1 Tf -4.297 0 Td -[(cannot )-213(contain )-213(a )-213(path )-213(pr)18(e\336x )-213(that )-213(names)]TJ -/T1_2 1 Tf -19.182 0 Td -(oldname)Tj -/T1_0 1 Tf -0.7132 Tc (.F)Tj -0 Tc 4.908 0 Td -[(or )-213(example, )-213(we)]TJ --28.388 -1.2 Td -[(can\325t )-482(r)18(ename)]TJ -/TT0 1 Tf -6.893 0 Td -(/usr/foo)Tj -/T1_0 1 Tf -5.532 0 Td -(to)Tj -/TT0 1 Tf -1.604 0 Td -(/usr/foo/testdir)Tj -/T1_0 1 Tf -0.7318 Tc (,b)Tj -0 Tc 11.135 0 Td -[(ecause )-482(the )-482(old )-482(name)]TJ --25.164 -1.2 Td -(\()Tj -/TT0 1 Tf -(/usr/foo)Tj -/T1_0 1 Tf -[(\))-250(is)-250(a)-250(path pr)18(e\336x of the new name and cannot be r)18(emoved.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47049 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf --0.037 Tc 9 0 0 9 93.6 708 Tm -(11)Tj -0 Tc 0.963 0 Td -(6)Tj -/T1_1 1 Tf -2.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.278 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(number )-102(is )-102(1267 )-102(has )-102(a )-102(type )-102(\336eld )-102(of )-102(\324)35(\324dir)18(ectory\325)]TJ -0.3522 Tc 20.646 0 Td -(\325a)Tj -0 Tc 1.13 0 Td -[(nd )-102(a )-102(link )-102(count )-102(that )-102(is )-102(gr)18(eater )-102(than )-102(or)]TJ --21.776 -1.2 Td -[(equal )-172(to )-172(3.)]TJ --0.092 Tc 5.57 0 Td -[(We )-356(k)]TJ -0 Tc 2.365 0 Td -[(now )-172(that )-172(this )-172(link )-172(count )-172(is )-172(gr)18(eater )-172(than )-172(or )-172(equal )-172(to )-172(3 )-172(because, )-172(at )-172(a)]TJ --7.935 -1.2 Td -[(minimum, )-150(the )-150(i-node )-150(is )-150(pointed )-150(to )-150(fr)18(om )-150(the )-150(dir)21(ectory )-150(entry )-150(that )-150(names )-150(it )-150(\(which )-150(we)]TJ -0 -1.2 TD -[(don\325t )-46(show )-46(in )-46(Figur)]TJ -0.296 Tc 8.873 0 Td -(e4)Tj -0 Tc 1.275 0 Td -[(.15\), )-46(fr)18(om )-46(dot, )-46(and )-46(fr)18(om )-46(dot-dot )-46(in )-46(the)]TJ -/TT0 1 Tf -17.464 0 Td -(testdir)Tj -/T1_1 1 Tf -4.496 0 Td -[(dir)18(ectory)]TJ -0.546 Tc 3.914 0 Td -(.N)Tj -0 Tc 1.627 0 Td -(ote)Tj --37.649 -1.2 Td -[(that )-56(every )-56(subdir)18(ectory )-56(in )-56(a )-56(par)18(ent )-56(dir)18(ectory )-56(causes )-56(the )-56(par)18(ent )-56(dir)18(ectory\325s )-56(link )-56(count )-56(to)]TJ -T* -[(be incr)18(eased by 1.)]TJ -1.8 -1.2 Td -[(This )-279(format )-279(is )-279(similar )-279(to )-279(the )-279(classic )-279(format )-279(of )-279(the )-279(UNIX )-279(\336le )-279(system, )-279(which )-279(is)]TJ --1.8 -1.2 Td -[(described )-201(in )-201(detail )-201(in )-201(Chapter )-201(4 )-201(of )-201(Bach)]TJ -19.244 0.04 Td -([)Tj -0.333 -0.04 Td -(1986)Tj -2 0.04 Td -(])Tj -0.7006 Tc 0.333 -0.04 Td -(.R)Tj -0 Tc 1.619 0 Td -[(efer )-201(to )-201(Chapter )-201(7 )-201(of )-201(McKusick )-201(et)]TJ --23.528 -1.2 Td -(al.)Tj -1.377 0.04 Td -([)Tj -0.333 -0.04 Td -(1996)Tj -2 0.04 Td -(])Tj -0.669 -0.04 Td -[(or )-86(Chapter )-86(8 )-86(of )-86(McKusick )-86(and )-86(Neville-Neil)]TJ -19.846 0.04 Td -([)Tj -0.333 -0.04 Td -(2005)Tj -2 0.04 Td -(])Tj -0.669 -0.04 Td -[(for )-86(additional )-86(information)]TJ --27.229 -1.2 Td -[(on )-87(the )-87(changes )-87(made )-87(with )-87(the )-87(Berkeley )-87(fast )-87(\336le )-87(system.)-591(See )-87(Chapter )-87(15 )-87(of )-87(McDougall)]TJ -T* -[(and )-33(Maur)18(o)]TJ -5.231 0.04 Td -([)Tj -0.333 -0.04 Td -(2007)Tj -2 0.04 Td -(])Tj -0.616 -0.04 Td -[(for )-33(details )-33(on)]TJ -/TT0 1 Tf -6.172 0 Td -(UFS)Tj -/T1_1 1 Tf -0.2828 Tc (,t)Tj -0 Tc 2.659 0 Td -[(he )-33(Solaris )-33(version )-33(of )-33(the )-33(Berkeley )-33(fast )-33(\336le )-33(system.)]TJ --17.01 -1.2 Td -[(For )-156(information )-156(on )-156(the)]TJ -/TT0 1 Tf -10.912 0 Td -(HFS)Tj -/T1_1 1 Tf -2.206 0 Td -[(\336le )-156(system )-156(format )-156(used )-156(in )-156(Mac )-156(OS )-156(X, )-156(see )-156(Chapter )-156(12 )-156(of)]TJ --13.119 -1.2 Td -(Singh)Tj -2.786 0.04 Td -([)Tj -0.333 -0.04 Td -(2006)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -(.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5948 488.9707 Tm -(4.15)Tj -/TT2 1 Tf -3 0 Td -(link)Tj -/TT1 1 Tf -(,)Tj -/TT2 1 Tf -3.234 0 Td -(linkat)Tj -/TT1 1 Tf -(,)Tj -/TT2 1 Tf -4.434 0 Td -(unlink)Tj -/TT1 1 Tf -(,)Tj -/TT2 1 Tf -4.434 0 Td -(unlinkat)Tj -/TT1 1 Tf -0.556 Tc (,a)Tj -0 Tc 6.19 0 Td -(nd)Tj -/TT2 1 Tf -1.778 0 Td -(remove)Tj -/TT1 1 Tf -4.156 0 Td -(Functions)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5929 464.9721 Tm -[(As )-37(we )-37(saw )-37(in )-37(the )-37(pr)18(evious )-37(section, )-37(a )-37(\336le )-37(can )-37(have )-37(multiple )-37(dir)18(ectory )-37(entries )-37(pointing )-37(to)]TJ -T* -[(its )-51(i-node.)]TJ --0.092 Tc 4.985 0 Td -[(We )-235(c)]TJ -0 Tc 2.132 0 Td -[(an )-51(use )-51(either )-51(the)]TJ -/TT0 1 Tf -7.732 0 Td -(link)Tj -/T1_1 1 Tf -2.701 0 Td -[(function )-51(or )-51(the)]TJ -/TT0 1 Tf -6.939 0 Td -(linkat)Tj -/T1_1 1 Tf -3.901 0 Td -[(function )-51(to )-51(cr)18(eate )-51(a )-51(link)]TJ --28.391 -1.2 Td -(to an existing \336le.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5917 418.2749 Tm -(#include )Tj -0 -2.021 TD -(int link\(const char *)Tj -/T1_2 1 Tf -(existingpath)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 19.4 0 Td -(onst char *)Tj -/T1_2 1 Tf -(newpath)Tj -/TT0 1 Tf -(\);)Tj --19.4 -2.021 Td -(int linkat\(int)Tj -/T1_2 1 Tf -9 0 Td -(efd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.967 0 Td -(onst char *)Tj -/T1_2 1 Tf -(existingpath)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 13.4 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(nfd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.134 0 Td -(onst char *)Tj -/T1_2 1 Tf -(newpath)Tj -/TT0 1 Tf -(,)Tj --23.701 -1.189 Td -(int)Tj -/T1_2 1 Tf -2.4 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -16.251 -2.021 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT3 1 Tf -9.213 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3485.25 cm -0 0 m -0 788 l -3900 788 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 328.9905 Tm -[(These )-140(functions )-140(cr)18(eate )-140(a )-140(new )-140(dir)18(ectory )-140(entry)110(,)]TJ -/T1_2 1 Tf -20.941 0 Td -(newpath)Tj -/T1_1 1 Tf -0.3902 Tc (,t)Tj -0 Tc 4.41 0 Td -[(hat )-140(r)18(efer)18(ences )-140(the )-140(existing )-140(\336le)]TJ -/T1_2 1 Tf --25.352 -1.2 Td -(existingpath)Tj -/T1_1 1 Tf -0.5193 Tc (.I)Tj -0.2693 Tc 6.106 0 Td -(ft)Tj -0 Tc 0.928 0 Td -(he)Tj -/T1_2 1 Tf -1.33 0 Td -(newpath)Tj -/T1_1 1 Tf -3.713 0 Td -[(alr)18(eady )-19(exists, )-19(an )-19(err)18(or )-19(is )-19(r)16(eturned. )-269(Only)-270(the )-19(last )-19(component)]TJ --12.078 -1.2 Td -(of the)Tj -/T1_2 1 Tf -2.766 0 Td -(newpath)Tj -/T1_1 1 Tf -3.694 0 Td -[(is cr)18(eated. )-250(The)]TJ --0.018 Tc 6.855 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(st of the path must alr)18(eady exist.)]TJ --0.055 Tc -12.371 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-356(the)]TJ -/TT0 1 Tf -3.506 0 Td -(linkat)Tj -/T1_1 1 Tf -4.206 0 Td -[(function, )-356(the )-356(existing )-356(\336le )-356(is )-356(speci\336ed )-356(by )-356(both )-356(the)]TJ -/T1_2 1 Tf -24.786 0 Td -(efd)Tj -/T1_1 1 Tf -1.773 0 Td -(and)Tj -/T1_2 1 Tf --37.307 -1.2 Td -(existingpath)Tj -/T1_1 1 Tf -5.305 0 Td -[(ar)18(guments, )-55(and )-55(the )-55(new )-55(pathname )-55(is )-55(speci\336ed )-55(by )-55(both )-55(the)]TJ -/T1_2 1 Tf -26.613 0 Td -(nfd)Tj -/T1_1 1 Tf -1.639 0 Td -(and)Tj -/T1_2 1 Tf -1.998 0 Td -(newpath)Tj -/T1_1 1 Tf --35.556 -1.2 Td -[(ar)18(guments. )-466(By)-466(default, )-216(if )-216(either )-216(pathname )-216(is )-216(r)18(elative, )-216(it )-216(is )-216(evaluated )-216(r)20(elative )-216(to )-216(the)]TJ -0 -1.2 TD -[(corr)18(esponding )-243(\336le )-243(descriptor)]TJ -0.7435 Tc 13.234 0 Td -(.I)Tj -0.4935 Tc 1.331 0 Td -(fe)Tj -0 Tc 1.306 0 Td -[(ither )-243(\336le )-243(descriptor )-243(is )-243(set )-243(to)]TJ -/TT0 1 Tf -13.737 0 Td -(AT_FDCWD)Tj -/T1_1 1 Tf -0.4935 Tc (,t)Tj -0 Tc 5.869 0 Td -[(hen )-243(the)]TJ --35.477 -1.2 Td -[(corr)18(esponding )-23(pathname, )-23(if )-23(it )-23(is )-23(a )-23(r)18(elative )-23(pathname, )-23(is )-23(evaluated )-23(r)14(elative )-23(to )-23(the )-23(curr)17(ent)]TJ -T* -[(dir)18(ectory)]TJ -0.9047 Tc 3.914 0 Td -(.I)Tj -0.6547 Tc 1.492 0 Td -(fe)Tj -0 Tc 1.467 0 Td -[(ither )-405(pathname )-405(is )-405(absolute, )-405(then )-405(the )-405(corr)18(esponding )-405(\336le )-405(descriptor)]TJ --6.872 -1.2 Td -[(ar)18(gument is ignor)18(ed.)]TJ -1.8 -1.2 Td -[(When )-163(the )-163(existing )-163(\336le )-163(is )-163(a )-163(symbolic )-163(link, )-163(the)]TJ -/T1_2 1 Tf -21.151 0 Td -(\337ag)Tj -/T1_1 1 Tf -1.902 0 Td -[(ar)18(gument )-163(contr)18(ols )-163(whether )-163(the)]TJ -/TT0 1 Tf --24.854 -1.2 Td -(linkat)Tj -/T1_1 1 Tf -3.908 0 Td -[(function )-58(cr)18(eates )-58(a )-58(link )-58(to )-58(the )-58(symbolic )-58(link )-58(or )-58(to )-58(the )-58(\336le )-58(to )-58(which )-58(the )-58(symbolic)]TJ --3.908 -1.2 Td -[(link )-79(points.)-579(If )-79(the)]TJ -/TT0 1 Tf -8.363 0 Td -(AT_SYMLINK_FOLLOW)Tj -/T1_1 1 Tf -10.529 0 Td -[(\337ag )-79(is )-79(set )-79(in )-79(the)]TJ -/T1_2 1 Tf -7.514 0 Td -(\337ag)Tj -/T1_1 1 Tf -1.818 0 Td -[(ar)18(gument, )-79(then )-79(a )-79(link )-79(is)]TJ --28.224 -1.2 Td -[(cr)18(eated )-21(to )-21(the )-21(tar)18(get )-21(of )-21(the )-21(symbolic )-21(link.)-521(If )-21(this )-21(\337ag )-21(is )-21(clear)]TJ -0.2711 Tc 26.473 0 Td -(,t)Tj -0 Tc 0.847 0 Td -[(hen )-21(a )-21(link )-21(is )-21(cr)18(eated )-21(to )-21(the)]TJ --27.32 -1.2 Td -(symbolic link itself.)Tj -1.8 -1.2 Td -[(The )-29(cr)18(eation )-29(of )-29(the )-29(new )-29(dir)18(ectory )-29(entry )-29(and )-29(the )-29(incr)18(ement )-29(of )-29(the )-29(link )-29(count )-29(must )-29(be)]TJ --1.8 -1.2 Td -[(an atomic operation.)-500(\(Recall the discussion of atomic operations in Section 3.1)55(1.\))]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47050 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.14)]TJ -38.136 0 Td -[(File )-250(Systems)]TJ -/T1_1 1 Tf --0.037 Tc 7.734 0 Td -(11)Tj -0 Tc 0.963 0 Td -(3)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(4.14 )-776(File)-556(Systems)]TJ -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(To )-262(a)]TJ -0 Tc 1.895 0 Td -[(ppr)18(eciate )-78(the )-78(concept )-78(of )-78(links )-78(to )-78(a )-78(\336le, )-78(we )-78(need )-78(a )-78(conceptual )-78(understanding )-78(of )-78(the)]TJ --1.895 -1.2 Td -[(str)8(uctur)18(e)-278(of)-278(t)-1(he )-28(UNIX )-28(\336le )-28(system.)-528(Understanding )-28(the )-28(dif)15(fer)18(ence )-28(between )-28(an )-28(i-node )-28(and)]TJ -0.25 Tc 0 -1.2 TD -(ad)Tj -0 Tc 1.361 0 Td -[(ir)18(ectory entry that points to an i-node is also useful.)]TJ --0.092 Tc 0.439 -1.2 Td -(Va)Tj -0 Tc 1.13 0 Td -[(rious )-235(implementations )-235(of )-235(the )-235(UNIX )-235(\336le )-235(system )-235(ar)]TJ -0.4852 Tc 23.362 0 Td -(ei)Tj -0.4851 Tc 1.255 0 Td -(nu)Tj -0 Tc 1.67 0 Td -[(se )-235(today)]TJ -0.7351 Tc 3.816 0 Td -(.S)Tj -0 Tc 1.51 0 Td -[(olaris, )-235(for)]TJ --34.544 -1.2 Td -[(example, )-52(supports )-52(several )-52(types )-52(of )-52(disk )-52(\336le )-52(systems: )-52(the )-52(traditional )-52(BSD-derived )-52(UNIX)]TJ -T* -[(\336le )-125(system )-125(\(called)]TJ -/TT1 1 Tf -8.542 0 Td -(UFS)Tj -/T1_0 1 Tf -[(\), )-125(a )-125(\336le )-125(system )-125(\(called)]TJ -/TT1 1 Tf -12.175 0 Td -(PCFS)Tj -/T1_0 1 Tf -[(\))-375(to)-375(r)18(ead )-125(and )-125(write )-125(DOS-formatted)]TJ --20.717 -1.2 Td -[(diskettes, )-323(and )-323(a )-323(\336le )-323(system )-323(\(called)]TJ -/TT1 1 Tf -17.215 0 Td -(HSFS)Tj -/T1_0 1 Tf -[(\))-573(to)-573(r)17(ead )-323(CD )-323(\336le )-323(systems.)]TJ --0.092 Tc 15.886 0 Td -[(We )-507(s)]TJ -0 Tc 2.384 0 Td -[(aw )-323(one)]TJ --35.486 -1.2 Td -[(dif)18(fer)18(ence )-108(between )-108(\336le )-108(system )-108(types )-108(in )-108(Figur)]TJ -0.3581 Tc 20.38 0 Td -(e2)Tj -0 Tc 1.337 0 Td -(.20.)Tj -/TT1 1 Tf -2.108 0 Td -(UFS)Tj -/T1_0 1 Tf -2.158 0 Td -[(is )-108(based )-108(on )-108(the )-108(Berkeley )-108(fast)]TJ --25.983 -1.2 Td -(\336le system, which we describe in this section.)Tj -7.9995 0 0 7.9995 183.5892 528.9683 Tm -[(Each )-116(\336le )-116(system )-116(type )-116(has )-116(its )-116(own )-116(characteristic )-116(featur)19(es )167(\321 )167(and)-366(some )-116(of )-116(these )-116(featur)18(es )-116(can )-116(be)]TJ -0 -1.25 Td -[(confusing. )-417(For)-416(example, )-167(most )-167(UNIX )-167(\336le )-167(systems )-167(support )-167(case-sensitive )-167(\336lenames.)-665(Thus, )-167(if)]TJ -0 -1.25 TD -[(you )-1(cr)18(eate )-1(one )-1(\336le )-1(named)]TJ -/TT1 1 Tf -11.604 0 Td -(file.txt)Tj -/T1_0 1 Tf -5.051 0 Td -[(and )-1(another )-1(named)]TJ -/TT1 1 Tf -8.912 0 Td -(file.TXT)Tj -/T1_0 1 Tf -0.2515 Tc (,t)Tj -0 Tc 5.628 0 Td -[(hen )-1(two )-1(distinct )-1(\336les )-1(ar)16(e)]TJ --31.195 -1.25 Td -[(cr)18(eated. )-346(On)-346(Mac )-96(OS )-96(X, )-96(however)]TJ -0.3459 Tc 14.738 0 Td -(,t)Tj -0 Tc 0.922 0 Td -(he)Tj -/TT1 1 Tf -1.407 0 Td -(HFS)Tj -/T1_0 1 Tf -2.146 0 Td -[(\336le )-96(system )-96(is )-96(case-pr)18(eserving )-96(with )-96(case-insensitive)]TJ --19.213 -1.25 Td -[(comparisons. )-462(Thus,)-462(if )-212(you )-212(cr)18(eate)]TJ -/TT1 1 Tf -15.853 0 Td -(file.txt)Tj -/T1_0 1 Tf -0.4623 Tc (,w)Tj -0 Tc 6.346 0 Td -[(hen )-212(you )-212(try )-212(to )-212(cr)17(eate)]TJ -/TT1 1 Tf -10.414 0 Td -(file.TXT)Tj -/T1_0 1 Tf -0.4624 Tc (,y)Tj -0 Tc 6.068 0 Td -[(ou )-212(will)]TJ --38.682 -1.25 Td -(overwrite)Tj -/TT1 1 Tf -4.591 0 Td -(file.txt)Tj -/T1_0 1 Tf -0.5308 Tc (.H)Tj -0 Tc 6.413 0 Td -(owever)Tj -0.2808 Tc 3.224 0 Td -(,o)Tj -0 Tc 1.077 0 Td -[(nly )-31(the )-31(name )-31(used )-31(when )-31(the )-31(\336le )-31(was )-31(cr)18(eated )-31(is )-31(stor)18(ed )-31(in )-31(the)]TJ --15.304 -1.25 Td -[(\336le )-73(system )-73(\(the )-73(case-pr)18(eserving )-73(aspect\).)-573(In )-73(fact, )-73(any )-73(permutation )-73(of )-73(upper)14(case )-73(and )-73(lower)17(case)]TJ -0 -1.25 Td -[(letters )-116(in )-116(the )-116(sequence)]TJ -/TT1 1 Tf -10.496 0 Td -(f)Tj -/T1_0 1 Tf -(,)Tj -/TT1 1 Tf -1.216 0 Td -(i)Tj -/T1_0 1 Tf -(,)Tj -/TT1 1 Tf -1.216 0 Td -(l)Tj -/T1_0 1 Tf -(,)Tj -/TT1 1 Tf -1.217 0 Td -(e)Tj -/T1_0 1 Tf -(,)Tj -/TT1 1 Tf -1.216 0 Td -(.)Tj -/T1_0 1 Tf -(,)Tj -/TT1 1 Tf -1.216 0 Td -(t)Tj -/T1_0 1 Tf -(,)Tj -/TT1 1 Tf -1.217 0 Td -(x)Tj -/T1_0 1 Tf -(,)Tj -/TT1 1 Tf -1.216 0 Td -(t)Tj -/T1_0 1 Tf -0.966 0 Td -[(will )-116(match )-116(when )-116(sear)18(ching )-116(for )-116(the )-116(\336le )-116(\(the )-116(case-)]TJ --19.978 -1.25 Td -[(insensitive )-44(comparison )-44(aspect\).)-544(As )-44(a )-44(consequence, )-44(besides)]TJ -/TT1 1 Tf -26.443 0 Td -(file.txt)Tj -/T1_0 1 Tf -5.094 0 Td -(and)Tj -/TT1 1 Tf -1.987 0 Td -(file.TXT)Tj -/T1_0 1 Tf -0.2936 Tc (,w)Tj -0.2938 Tc 6.178 0 Td -(ec)Tj -0 Tc 1.217 0 Td -(an)Tj --40.918 -1.25 Td -(access the \336le with the names)Tj -/TT1 1 Tf -13.265 0 Td -(File.txt)Tj -/T1_0 1 Tf -(,)Tj -/TT1 1 Tf -5.3 0 Td -(fILE.tXt)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 5.8 0 Td -(nd)Tj -/TT1 1 Tf -1.443 0 Td -(FiLe.TxT)Tj -/T1_0 1 Tf -(.)Tj --0.092 Tc 9.9994 0 0 9.9994 147.5921 417.9749 Tm -[(We )-429(c)]TJ -0 Tc 2.326 0 Td -[(an )-245(think )-245(of )-245(a )-245(disk )-245(drive )-245(being )-245(divided )-245(into )-245(one )-245(or )-245(mor)]TJ -0.495 Tc 26.486 0 Td -(ep)Tj -0 Tc 1.575 0 Td -[(artitions. )-495(Each)]TJ --32.187 -1.2 Td -[(partition )-7(can )-7(contain )-7(a )-7(\336le )-7(system, )-7(as )-7(shown )-7(in )-7(Figur)]TJ -0.2568 Tc 23.331 0 Td -(e4)Tj -0 Tc 1.236 0 Td -[(.13. )-257(The)-257(i-nodes )-7(ar)]TJ -0.2568 Tc 8.337 0 Td -(e\336)Tj -0 Tc 1.341 0 Td -(xed)Tj -1.606 0.09 Td -(-)Tj -0.333 -0.09 Td -(length)Tj --36.184 -1.2 Td -(entries that contain most of the information about a \336le.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1302 3432 936 288 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 161.5486 355.7973 Tm -(partition)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2238 3432 1224 288 re -S -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 269.5195 355.776 Tm -(partition)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -3462 3432 1512 288 re -S -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 406.2705 355.7546 Tm -(partition)Tj --39.244 0 Td -(disk drive)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1518 2856 144 288 re -S -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1662 2856 144 288 re -S -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1806 2856 1080 288 re -S -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 205.2104 298.1505 Tm -[(cylinder gr)18(oup 0)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2886 2856 1080 288 re -S -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 313.1592 298.1326 Tm -[(cylinder gr)18(oup 1)]TJ -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -3966 2856 144 288 re -S -Q -BT -/T1_1 1 Tf -0.25 Tc 9.9958 0 0 9.9958 397.3831 298.1148 Tm -(...)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -4110 2856 1080 288 re -S -Q -BT -/T1_0 1 Tf -0 Tc 7.9962 0 0 7.9962 435.239 298.0969 Tm -[(cylinder gr)18(oup)]TJ -/T1_2 1 Tf -6.832 0 Td -(n)Tj -/T1_0 1 Tf --47.255 0 Td -(\336le system)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -1806 2280 288 288 re -S -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 184.8921 250.5047 Tm -(super)Tj -0.056 -1.25 Td -(block)Tj -0.122 -1.25 Td -(copy)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -2094 2280 288 288 re -S -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 219.6682 245.4927 Tm -(cg)Tj --0.376 -1.25 Td -(info)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -2382 2280 288 288 re -S -Q -BT -/T1_0 1 Tf -7.9947 0 0 7.9947 241.0728 245.4779 Tm -(i-node)Tj -0.429 -1.25 Td -(map)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -2670 2280 288 288 re -S -Q -BT -/T1_0 1 Tf -7.9942 0 0 7.9942 271.6443 245.4632 Tm -(block)Tj --0.382 -1.25 Td -(bitmap)Tj -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -2958 2280 576 288 re -S -Q -BT -/T1_0 1 Tf -7.9938 0 0 7.9938 311.2931 240.4524 Tm -(i-nodes)Tj -ET -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -3534 2280 864 288 re -S -Q -BT -/T1_0 1 Tf -7.9933 0 0 7.9933 376.2798 240.4379 Tm -(data blocks)Tj -ET -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -2670 1704 360 288 re -S -Q -BT -/T1_0 1 Tf -7.9928 0 0 7.9928 273.3858 182.8753 Tm -(i-node)Tj -ET -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -3030 1704 360 288 re -S -Q -BT -/T1_0 1 Tf -7.9923 0 0 7.9923 309.3349 182.8644 Tm -(i-node)Tj -ET -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -3390 1704 720 288 re -S -Q -BT -/T1_1 1 Tf -0.25 Tc 9.9898 0 0 9.9898 368.3741 182.8534 Tm -(...)Tj -ET -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -4110 1704 360 288 re -S -Q -BT -/T1_0 1 Tf -0 Tc 7.9914 0 0 7.9914 417.1812 182.8424 Tm -(i-node)Tj -ET -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2202.25 3396.25 cm -0 0 m --34 -12 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.25 3373.25 cm -0 0 m --33 -12 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2066.25 3350.25 cm -0 0 m --34 -11 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1997.25 3327.25 cm -0 0 m --34 -11 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1929.25 3305.25 cm -0 0 m --34 -11 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1860.25 3282.25 cm -0 0 m --33 -12 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1793.25 3260.25 cm -0 0 m --34 -12 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1724.25 3237.25 cm -0 0 m --33 -12 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1656.25 3214.25 cm -0 0 m --34 -12 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1588.25 3191.25 cm -0 0 m --34 -11 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3498.25 3396.25 cm -0 0 m -36 -5 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3568.25 3386.25 cm -0 0 m -36 -4 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3639.25 3377.25 cm -0 0 m -36 -4 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3709.25 3368.25 cm -0 0 m -36 -4 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3779.25 3359.25 cm -0 0 m -36 -4 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3850.25 3350.25 cm -0 0 m -36 -5 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3920.25 3340.25 cm -0 0 m -36 -4 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3991.25 3332.25 cm -0 0 m -36 -5 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4062.25 3322.25 cm -0 0 m -36 -4 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4132.25 3313.25 cm -0 0 m -36 -4 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4202.25 3304.25 cm -0 0 m -36 -5 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4272.25 3295.25 cm -0 0 m -36 -4 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4343.25 3286.25 cm -0 0 m -36 -5 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4414.25 3276.25 cm -0 0 m -36 -4 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4484.25 3267.25 cm -0 0 m -36 -4 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4555.25 3258.25 cm -0 0 m -36 -4 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4625.25 3249.25 cm -0 0 m -36 -4 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4695.25 3240.25 cm -0 0 m -36 -5 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4766.25 3230.25 cm -0 0 m -36 -4 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4836.25 3222.25 cm -0 0 m -36 -5 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4907.25 3212.25 cm -0 0 m -36 -4 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4977.25 3203.25 cm -0 0 m -36 -5 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5048.25 3193.25 cm -0 0 m -36 -4 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5118.25 3184.25 cm -0 0 m -36 -4 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2886.25 2820.25 cm -0 0 m --36 -7 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2816.25 2806.25 cm -0 0 m --35 -7 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2747.25 2792.25 cm -0 0 m --35 -8 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2677.25 2778.25 cm -0 0 m --35 -7 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2607.25 2764.25 cm -0 0 m --35 -7 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2537.25 2750.25 cm -0 0 m --35 -7 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2468.25 2736.25 cm -0 0 m --35 -7 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2398.25 2723.25 cm -0 0 m --35 -8 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2328.25 2708.25 cm -0 0 m --35 -7 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2259.25 2694.25 cm -0 0 m --36 -7 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2190.25 2681.25 cm -0 0 m --36 -7 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2120.25 2666.25 cm -0 0 m --36 -7 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2050.25 2653.25 cm -0 0 m --35 -7 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1980.25 2638.25 cm -0 0 m --35 -7 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1911.25 2625.25 cm -0 0 m --35 -8 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1841.25 2611.25 cm -0 0 m --35 -7 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4002.25 2820.25 cm -0 0 m -31 -19 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4067.25 2780.25 cm -0 0 m -31 -19 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4134.25 2741.25 cm -0 0 m -30 -19 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4199.25 2701.25 cm -0 0 m -31 -19 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4265.25 2662.25 cm -0 0 m -31 -19 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4331.25 2622.25 cm -0 0 m -31 -18 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2958.25 2244.25 cm -0 0 m --29 -22 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2906.25 2205.25 cm -0 0 m --29 -22 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2854.25 2166.25 cm -0 0 m --29 -22 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2802.25 2127.25 cm -0 0 m --29 -21 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2750.25 2088.25 cm -0 0 m --28 -21 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2699.25 2049.25 cm -0 0 m --29 -21 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3570.25 2244.25 cm -0 0 m -35 -9 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3639.25 2226.25 cm -0 0 m -35 -8 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3708.25 2209.25 cm -0 0 m -35 -8 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3777.25 2192.25 cm -0 0 m -35 -9 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3846.25 2175.25 cm -0 0 m -36 -9 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3915.25 2157.25 cm -0 0 m -36 -8 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3984.25 2140.25 cm -0 0 m -36 -9 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4054.25 2123.25 cm -0 0 m -35 -9 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4123.25 2106.25 cm -0 0 m -35 -9 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4192.25 2088.25 cm -0 0 m -35 -8 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4261.25 2071.25 cm -0 0 m -35 -9 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4330.25 2054.25 cm -0 0 m -35 -9 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4398.25 2036.25 cm -0 0 m -36 -8 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1590.25 2928.25 cm -0 0 m -0 -180 l -S -Q -Q -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 141 274.8 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 1410 2748 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1590.25 2748.25 cm -0 0 m --108 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9904 0 0 7.9904 93.2802 272.7125 Tm -(boot block\(s\))Tj -ET -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1734.25 2928.25 cm -0 0 m -0 -360 l -S -Q -Q -q -0.9987408 0 0 0.9987408 0 0 cm -q 1 0 0 1 155.4 256.8 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -1 j 1 J -q 1 0 0 1 1554 2568 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1734.25 2568.25 cm -0 0 m --108 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9894 0 0 7.9894 112.1159 254.7036 Tm -(super block)Tj -/T1_1 1 Tf -15.031 -14.03 Td -(Figure 4.13)Tj -/T1_0 1 Tf -5.695 0 Td -(Disk drive, partitions, and a \336le system)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47051 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf --0.037 Tc 9 0 0 9 93.6 708 Tm -(11)Tj -0 Tc 0.963 0 Td -(2)Tj -/T1_1 1 Tf -2.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.278 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 664.2601 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(wc -c core)Tj -/TT0 1 Tf --0.6 -1.189 Td -(8483248 core)Tj -/T1_1 1 Tf -7.9995 0 0 7.9995 183.589 631.1621 Tm -(The)Tj -/TT0 1 Tf -1.924 0 Td -(wc)Tj -/T1_1 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(command with the)Tj -/TT0 1 Tf -8.619 0 Td -(-c)Tj -/T1_1 1 Tf -1.45 0 Td -(option counts the number of characters \(bytes\) in the \336le.)Tj -9.9994 0 0 9.9994 147.5914 610.1634 Tm -[(If )-170(we )-170(make )-170(a )-170(copy )-170(of )-170(this )-170(\336le, )-170(using )-170(a )-170(utility )-170(such )-170(as)]TJ -/TT0 1 Tf -25.253 0 Td -(cat)Tj -/T1_1 1 Tf -1.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.4201 Tc 0.333 -0.04 Td -(,a)Tj -0 Tc 1.17 0 Td -[(ll )-170(these )-170(holes )-170(ar)17(e)]TJ --31.189 -1.2 Td -(written out as actual data bytes of 0:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5918 581.4651 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(cat core > core.copy)Tj -/TT0 1 Tf --1.2 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l core*)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(-rw-r--r-- )-600(1)-600(sar )-1200(8483248)-600(Nov 18 12:18 core)]TJ -0 -1.189 TD -[(-rw-rw-r-- )-600(1)-600(sar )-1200(8483248)-600(Nov 18 12:27 core.copy)]TJ -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(du -s core*)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(272 )-2400(core)]TJ -T* -[(16592 )-1200(core.copy)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5929 499.27 Tm -[(Her)18(e, )-99(the )-99(actual )-99(number )-99(of )-99(bytes )-99(used )-99(by )-99(the )-99(new )-99(\336le )-99(is )-99(8,495,104)]TJ -30.315 0.04 Td -(\()Tj -0.333 -0.04 Td -(512)Tj -/TT2 1 Tf -1.849 0 Td -(#)Tj -/T1_1 1 Tf -0.898 0 Td -(16,592)Tj -2.75 0.04 Td -(\))Tj -0.5989 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.462 0 Td -(he)Tj --37.94 -1.2 Td -[(dif)18(fer)18(ence )-151(between )-151(this )-151(size )-151(and )-151(the )-151(size )-151(r)18(eported )-151(by)]TJ -/TT0 1 Tf -24.747 0 Td -(ls)Tj -/T1_1 1 Tf -1.601 0 Td -[(is )-151(caused )-151(by )-151(the )-151(number )-151(of)]TJ --26.348 -1.2 Td -(blocks used by the \336le system to hold pointers to the actual data blo\ cks.)Tj -1.8 -1.2 Td -[(Inter)18(ested )-68(r)18(eaders )-68(should )-68(r)18(efer )-68(to )-68(Section )-68(4.2 )-68(of )-68(Bach)]TJ -24.003 0.04 Td -([)Tj -0.333 -0.04 Td -(1986)Tj -2 0.04 Td -(])Tj -0.3185 Tc 0.333 -0.04 Td -(,S)Tj -0 Tc 1.094 0 Td -[(ections )-68(7.2 )-68(and )-68(7.3 )-68(of)]TJ --29.562 -1.2 Td -[(McKusick )-155(et )-155(al.)]TJ -7.496 0.04 Td -([)Tj -0.333 -0.04 Td -(1996)Tj -2 0.04 Td -(])Tj -0.738 -0.04 Td -[(\(or )-155(Sections )-155(8.2 )-155(and )-155(8.3 )-155(in )-155(McKusick )-155(and )-155(Neville-Neil)]TJ -25.184 0.04 Td -([)Tj -0.333 -0.04 Td -(2005)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -(\),)Tj --38.417 -1.2 Td -[(Section )-289(15.2 )-289(of )-289(McDougall )-289(and )-289(Maur)16(o)]TJ -18.674 0.04 Td -([)Tj -0.333 -0.04 Td -(2007)Tj -2 0.04 Td -(])Tj -0.5394 Tc 0.333 -0.04 Td -(,a)Tj -0 Tc 1.289 0 Td -[(nd )-289(Chapter )-289(12 )-289(in )-289(Singh)]TJ -11.891 0.04 Td -([)Tj -0.333 -0.04 Td -(2006)Tj -2 0.04 Td -(])Tj -0.872 -0.04 Td -(for)Tj --37.726 -1.2 Td -(additional details on the physical layout of \336les.)Tj -/TT3 1 Tf -11.9993 0 0 11.9993 93.5963 393.6764 Tm -[(4.13 )-776(File)]TJ --0.08 Tc 5.279 0 Td -(Tr)Tj -0 Tc 0.92 0 Td -(uncation)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5939 372.0777 Tm -[(Sometimes )-87(we )-87(would )-87(like )-87(to )-87(tr)8(uncate )-87(a )-87(\336le )-87(by )-87(chopping )-87(of)]TJ -0.3374 Tc 26.592 0 Td -(fd)Tj -0 Tc 1.281 0 Td -[(ata )-87(at )-87(the )-87(end )-87(of )-87(the )-87(\336le.)]TJ --27.873 -1.2 Td -[(Emptying )-101(a )-101(\336le, )-101(which )-101(we )-101(can )-101(do )-101(with )-101(the)]TJ -/TT0 1 Tf -19.837 0 Td -(O_TRUNC)Tj -/T1_1 1 Tf -4.551 0 Td -[(\337ag )-101(to)]TJ -/TT0 1 Tf -3.237 0 Td -(open)Tj -/T1_1 1 Tf -[(,)-351(is)-351(a)-351(s)1(pecial )-101(case )-101(of)]TJ --27.625 -1.2 Td -[(tr)8(uncation.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.593 331.3801 Tm -(#include )Tj -0 -1.902 TD -(int truncate\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,o)Tj -0 Tc 20.744 0 Td -(ff_t)Tj -/T1_2 1 Tf -3 0 Td -(length)Tj -/TT0 1 Tf -(\);)Tj --23.744 -1.902 Td -(int ftruncate\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,o)Tj -0 Tc 2.578 0 Td -(ff_t)Tj -/T1_2 1 Tf -3 0 Td -(length)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -8.873 -1.902 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT2 1 Tf -9.213 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2755.25 cm -0 0 m -0 649 l -3900 649 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 262.0086 Tm -[(These )-73(two )-73(functions )-73(tr)8(uncate )-73(an )-73(existing )-73(\336le )-73(to)]TJ -/T1_2 1 Tf -21.441 0 Td -(length)Tj -/T1_1 1 Tf -2.879 0 Td -[(bytes. )-323(If)-323(the )-73(pr)18(evious )-73(size )-73(of )-73(the)]TJ --24.32 -1.2 Td -[(\336le )-19(was )-19(gr)18(eater )-19(than)]TJ -/T1_2 1 Tf -9.31 0 Td -(length)Tj -/T1_1 1 Tf -0.2687 Tc (,t)Tj -0 Tc 3.401 0 Td -[(he )-19(data )-19(beyond)]TJ -/T1_2 1 Tf -7.131 0 Td -(length)Tj -/T1_1 1 Tf -2.825 0 Td -[(is )-19(no )-19(longer )-19(accessible.)-519(Otherwise, )-19(if)]TJ --22.666 -1.2 Td -[(the )-108(pr)18(evious )-108(size )-108(was )-108(less )-108(than)]TJ -/T1_2 1 Tf -14.482 0 Td -(length)Tj -/T1_1 1 Tf -0.3582 Tc (,t)Tj -0 Tc 3.49 0 Td -[(he )-108(\336le )-108(size )-108(will )-108(incr)18(ease )-108(and )-108(the )-108(data )-108(between)]TJ --17.972 -1.2 Td -[(the )-54(old )-54(end )-54(of )-54(\336le )-54(and )-54(the )-54(new )-54(end )-54(of )-54(\336le )-54(will )-54(r)17(ead )-54(as )-54(0 )-54(\(i.e., )-54(a )-54(hole )-54(is )-54(pr)18(obably )-54(cr)18(eated)]TJ -0 -1.2 TD -(in the \336le\).)Tj -7.999 0 0 7.999 183.5791 194.0167 Tm -[(BSD r)18(eleases prior to 4.4BSD could only make a \336le smaller with)]TJ -/TT0 1 Tf -28.682 0 Td -(truncate)Tj -/T1_1 1 Tf -(.)Tj --28.682 -2 Td -[(Solaris )-117(also )-117(includes )-117(an )-117(extension )-117(to)]TJ -/TT0 1 Tf -16.838 0 Td -(fcntl)Tj -/T1_1 1 Tf -3.367 0 Td -(\()Tj -/TT0 1 Tf -(F_FREESP)Tj -/T1_1 1 Tf -0.3669 Tc (\)t)Tj -0 Tc 6.159 0 Td -[(hat )-117(allows )-117(us )-117(to )-117(fr)18(ee )-117(any )-117(part )-117(of )-117(a)]TJ --26.364 -1.25 Td -(\336le, not just a chunk at the end of the \336le.)Tj --0.092 Tc 9.9988 0 0 9.9988 147.5837 147.0224 Tm -[(We )-213(u)]TJ -0 Tc 2.269 0 Td -(se)Tj -/TT0 1 Tf -1.182 0 Td -(ftruncate)Tj -/T1_1 1 Tf -5.679 0 Td -[(in )-29(the )-29(pr)19(ogram )-28(shown )-28(in )-28(Figur)]TJ -0.2785 Tc 13.735 0 Td -(e1)Tj -0 Tc 1.258 0 Td -[(3.6 )-28(when )-28(we )-28(need )-28(to )-28(empty )-28(a)]TJ --25.921 -1.2 Td -(\336le after obtaining a lock on the \336le.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47052 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.12)]TJ -39.995 0 Td -[(File )-250(Size)]TJ -/T1_1 1 Tf --0.037 Tc 5.912 0 Td -(111)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -0 Tc 11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(4.12 )-776(File)-556(Siz )268(e)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 649.761 Tm -(The)Tj -/TT1 1 Tf -1.993 0 Td -(st_size)Tj -/T1_0 1 Tf -4.519 0 Td -[(member )-69(of )-69(the)]TJ -/TT1 1 Tf -6.894 0 Td -(stat)Tj -/T1_0 1 Tf -2.719 0 Td -[(str)8(uctur)]TJ -0.3187 Tc 3.49 0 Td -(ec)Tj -0 Tc 1.242 0 Td -[(ontains )-69(the )-69(size )-69(of )-69(the )-69(\336le )-69(in )-69(bytes.)-567(This)]TJ --20.856 -1.2 Td -[(\336eld is meaningful only for r)18(egular \336les, dir)18(ectories, and symbolic links.)]TJ -7.9995 0 0 7.9995 183.5894 617.7629 Tm -[(Fr)18(eeBSD )-1(8.0, )-1(Mac )-1(OS )-1(X )-1(10.6.8, )-1(and )-1(Solaris )-1(10 )-1(also )-1(de\336ne )-1(the )-1(\336le )-1(size )-1(for )-1(a )-1(pipe )-1(as )-1(the )-1(number )-1(of)]TJ -0 -1.25 TD -(bytes that ar)Tj -0.25 Tc 5.449 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(vailable for r)18(eading fr)18(om the pipe.)]TJ --0.092 Tc 15.638 0 Td -(We)Tj -0 Tc 1.387 0 Td -(\325ll discuss pipes in Section 15.2.)Tj -9.9994 0 0 9.9994 147.5918 586.7648 Tm -[(For )-9(a )-9(r)18(egular )-9(\336le, )-9(a )-9(\336le )-9(size )-9(of )-9(0 )-9(is )-9(allowed.)]TJ --0.092 Tc 19.386 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-9(get )-9(an )-9(end-of-\336le )-9(indication )-9(on )-9(the)]TJ --22.573 -1.2 Td -[(\336rst )-37(r)18(ead )-37(of )-37(the )-37(\336le.)-537(For )-37(a )-37(dir)15(ectory)]TJ -0.2874 Tc 15.781 0 Td -(,t)Tj -0 Tc 0.863 0 Td -[(he )-37(\336le )-37(size )-37(is )-37(usually )-37(a )-37(multiple )-37(of )-37(a )-37(number)]TJ -0.2875 Tc 19.765 0 Td -(,s)Tj -0 Tc 0.961 0 Td -(uch)Tj --37.371 -1.2 Td -(as 16 or 512.)Tj --0.092 Tc 5.865 0 Td -[(We )-184(t)]TJ -0 Tc 1.963 0 Td -[(alk about r)18(eading dir)18(ectories in Section 4.22.)]TJ --6.028 -1.2 Td -[(For )-277(a )-277(symbolic )-277(link, )-277(the )-277(\336le )-277(size )-277(is )-277(the )-277(number )-277(of )-277(bytes )-277(in )-277(the )-277(\336lename.)-771(For)]TJ --1.8 -1.2 Td -(example, in the following case, the \336le size of 7 is the length of th\ e pathname)Tj -/TT1 1 Tf -34.098 0 Td -(usr/lib)Tj -/T1_0 1 Tf -(:)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5915 523.2686 Tm -[(lrwxrwxrwx )-600(1)-600(root )]TJ -18 0 Td -[(7)-600(Sep 25 07:14 lib -> usr/lib)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5926 506.4696 Tm -[(\(Note )-39(that )-39(symbolic )-39(links )-39(do )-39(not )-39(contain )-39(the )-39(normal )-39(C )-39(null )-39(byte )-39(at )-39(the )-39(end )-39(of )-39(the )-39(name,)]TJ -0 -1.2 TD -(as the length is always speci\336ed by)Tj -/TT1 1 Tf -15.74 0 Td -(st_size)Tj -/T1_0 1 Tf -(.\))Tj --13.94 -1.2 Td -[(Most )-702(contemporary )-702(UNIX )-702(systems )-702(pr)18(ovide )-702(the )-702(\336elds)]TJ -/TT1 1 Tf -28.555 0 Td -(st_blksize)Tj -/T1_0 1 Tf -6.952 0 Td -(and)Tj -/TT1 1 Tf --37.307 -1.2 Td -(st_blocks)Tj -/T1_0 1 Tf -0.5188 Tc (.T)Tj -0 Tc 6.782 0 Td -[(he )-19(\336rst )-19(is )-19(the )-19(pr)19(eferr)18(ed )-19(block )-19(size )-19(for )-19(I/O )-19(for )-19(the )-19(\336le, )-19(and )-19(the )-19(latter )-19(is )-19(the)]TJ --6.782 -1.2 Td -[(actual )-175(number )-175(of )-175(512)]TJ -9.812 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-175(blocks )-175(that )-175(ar)]TJ -0.4247 Tc 8.613 0 Td -(ea)Tj -0 Tc 1.404 0 Td -[(llocated. )-425(Recall)-424(fr)18(om )-175(Section )-175(3.9 )-175(that )-175(we)]TJ --20.162 -1.2 Td -[(encounter)18(ed )-288(the )-288(minimum )-288(amount )-288(of )-288(time )-288(r)19(equir)18(ed )-288(to )-288(r)18(ead )-288(a )-288(\336le )-288(when )-288(we )-288(used)]TJ -/TT1 1 Tf -0 -1.2 Td -(st_blksize)Tj -/T1_0 1 Tf -6.308 0 Td -[(for )-58(the)]TJ -/TT1 1 Tf -3.278 0 Td -(read)Tj -/T1_0 1 Tf -2.708 0 Td -[(operations. )-308(The)-309(standar)]TJ -0.3083 Tc 10.801 0 Td -(dI)Tj -0 Tc 1.256 0 Td -[(/O )-58(library)]TJ -0.3083 Tc 4.57 0 Td -(,w)Tj -0 Tc 1.392 0 Td -[(hich )-58(we )-58(describe )-58(in)]TJ --30.314 -1.2 Td -[(Chapter 5, also tries to r)18(ead or write)]TJ -/TT1 1 Tf -16.123 0 Td -(st_blksize)Tj -/T1_0 1 Tf -6.25 0 Td -[(bytes at a time, for ef)18(\336ciency)111(.)]TJ -7.9995 0 0 7.9995 183.5897 402.4759 Tm -[(Be )-85(awar)]TJ -0.3353 Tc 3.636 0 Td -(et)Tj -0 Tc 1.14 0 Td -[(hat )-85(dif)18(fer)18(ent )-85(versions )-85(of )-85(the )-85(UNIX )-85(System )-85(use )-85(units )-85(other )-85(than )-85(512)]TJ -30.218 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-85(blocks )-85(for)]TJ -/TT1 1 Tf --35.328 -1.25 Td -(st_blocks)Tj -/T1_0 1 Tf -0.5 Tc (.U)Tj -0 Tc 6.928 0 Td -(se of this value is nonportable.)Tj -/TT0 1 Tf -9.9994 0 0 9.9994 93.5948 366.478 Tm -(Holes in a File)Tj -/T1_0 1 Tf -3.6 -1.8 Td -[(In )-170(Section )-170(3.6, )-170(we )-170(mentioned )-170(that )-170(a )-170(r)18(egular )-170(\336le )-170(can )-170(contain )-170(\324)34(\324holes.\325)]TJ -0.6703 Tc 31.266 0 Td -(\325W)Tj -0.4202 Tc 1.856 0 Td -(es)Tj -0 Tc 1.323 0 Td -[(howed )-170(an)]TJ --34.446 -1.2 Td -[(example )-80(of )-80(this )-80(in )-80(Figur)]TJ -0.3296 Tc 10.825 0 Td -(e3)Tj -0 Tc 1.309 0 Td -[(.2. )-330(Holes)-329(ar)]TJ -0.3296 Tc 5.358 0 Td -(ec)Tj --0.018 Tc 1.253 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ated )-80(by )-80(seeking )-80(past )-80(the )-80(curr)20(ent )-80(end )-80(of )-80(\336le)]TJ --19.601 -1.2 Td -[(and writing some data.)-500(As an example, consider the following:)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.5919 307.7815 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(ls -l core)Tj -/TT1 1 Tf --1.2 -1.189 Td -[(-rw-r--r-- )-600(1)-600(sar )-1200(8483248)-600(Nov 18 12:18 core)]TJ -0 -1.189 TD -($)Tj -/TT2 1 Tf -1.2 0 Td -(du -s core)Tj -/TT1 1 Tf --1.2 -1.189 Td -[(272 )-2400(core)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.593 257.6845 Tm -[(The )-85(size )-85(of )-85(the )-85(\336le)]TJ -/TT1 1 Tf -8.685 0 Td -(core)Tj -/T1_0 1 Tf -2.735 0 Td -[(is )-85(slightly )-85(mor)]TJ -0.3352 Tc 6.508 0 Td -(et)Tj -0 Tc 1.14 0 Td -[(han )-85(8 )-85(MB, )-85(yet )-85(the)]TJ -/TT1 1 Tf -8.395 0 Td -(du)Tj -/T1_0 1 Tf -1.535 0 Td -[(command )-85(r)18(eports )-85(that)]TJ --28.999 -1.2 Td -[(the )-300(amount )-300(of )-300(disk )-300(space )-300(used )-300(by )-300(the )-300(\336le )-300(is )-300(272 )-300(512)]TJ -25.786 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-300(blocks )-300(\(139,264 )-300(bytes\).)]TJ --26.119 -1.2 Td -(Obviously)Tj -0.25 Tc 4.504 0 Td -(,t)Tj -0 Tc 0.826 0 Td -(his \336le has many holes.)Tj -7.9995 0 0 7.9995 183.5898 213.6872 Tm -(The)Tj -/TT1 1 Tf -2.121 0 Td -(du)Tj -/T1_0 1 Tf -1.647 0 Td -[(command )-197(on )-197(many )-197(BSD-derived )-197(systems )-197(r)16(eports )-197(the )-197(number )-197(of )-197(1,024)]TJ -32.473 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-197(blocks.)]TJ --36.575 -1.25 Td -[(Solaris )-145(r)18(eports )-145(the )-145(number )-145(of )-145(512)]TJ -15.357 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-145(blocks.)-645(On )-145(Linux, )-145(the )-145(units )-145(r)17(eported )-145(depend )-145(on )-145(the)]TJ --15.69 -1.25 Td -[(whether )-70(the)]TJ -/TT1 1 Tf -5.704 0 Td -(POSIXLY_CORRECT)Tj -/T1_0 1 Tf -9.32 0 Td -[(envir)18(onment )-70(is )-70(set.)-570(When )-70(it )-70(is )-70(set, )-70(the)]TJ -/TT1 1 Tf -17.538 0 Td -(du)Tj -/T1_0 1 Tf -1.52 0 Td -[(command )-70(r)18(eports)]TJ --34.083 -1.25 Td -(1,024)Tj -2.25 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte block units; when it is not set, the command r)18(eports 512)]TJ -26.756 0.09 Td -(-)Tj -0.333 -0.09 Td -(byte block units.)Tj -9.9994 0 0 9.9994 147.5921 162.6902 Tm -[(As )-90(we )-90(mentioned )-90(in )-90(Section )-90(3.6, )-90(the)]TJ -/TT1 1 Tf -16.624 0 Td -(read)Tj -/T1_0 1 Tf -2.74 0 Td -[(function )-90(r)18(eturns )-90(data )-90(bytes )-90(of )-90(0 )-90(for )-90(any)]TJ --21.164 -1.2 Td -[(byte )-130(positions )-130(that )-130(have )-130(not )-130(been )-130(written.)-629(If )-130(we )-130(execute )-130(the )-130(following )-130(command, )-130(we)]TJ -0 -1.2 TD -[(can see that the normal I/O operations r)18(ead up thr)18(ough the size of the \336le:)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47053 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.1)55(1)]TJ -/TT0 1 Tf -19.536 0 Td -(chown)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.75 0 Td -(fchown)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.35 0 Td -(fchownat)Tj -/T1_0 1 Tf -0.5 Tc (,a)Tj -0 Tc 6.05 0 Td -(nd)Tj -/TT0 1 Tf -1.693 0 Td -(lchown)Tj -/T1_0 1 Tf -4.1 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(109)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(portion )-94(of )-94(a )-94(pr)17(ogram )-94(is )-94(the )-94(machine )-94(instr)7(uctions.\) )-344(The)-344(pr)18(ogram )-94(would )-94(then )-94(load )-94(into)]TJ -0 -1.2 Td -[(memory )-288(mor)]TJ -0.5383 Tc 6.086 0 Td -(eq)Tj -0 Tc 1.577 0 Td -[(uickly )-288(the )-288(next )-288(time )-288(it )-288(was )-288(executed, )-288(because )-288(the )-288(swap )-288(ar)18(ea )-288(was)]TJ --7.664 -1.2 Td -[(handled )-227(as )-227(a )-227(contiguous )-227(\336le, )-227(as )-227(compar)18(ed )-227(to )-227(the )-227(possibly )-227(random )-227(location )-227(of )-227(data)]TJ -0 -1.2 TD -[(blocks )-334(in )-334(a )-334(normal )-334(UNIX )-334(\336le )-334(system.)-838(The )-335(sticky )-335(bit )-335(was )-335(often )-335(set )-335(for )-335(common)]TJ -T* -[(application )-352(pr)18(ograms, )-352(such )-352(as )-352(the )-352(text )-352(editor )-352(and )-352(the )-352(passes )-352(of )-352(the )-352(C )-352(compiler)77(.)]TJ -T* -(Naturally)Tj -0.3171 Tc 4.182 0 Td -(,t)Tj -0 Tc 0.893 0 Td -(her)Tj -0.3171 Tc 1.438 0 Td -(ew)Tj -0 Tc 1.63 0 Td -[(as )-67(a )-67(limit )-67(to )-67(the )-67(number )-67(of )-67(sticky )-67(\336les )-67(that )-67(could )-67(be )-67(contained )-67(in )-67(the)]TJ --8.143 -1.2 Td -[(swap )-81(ar)18(ea )-81(befor)]TJ -0.3314 Tc 7.166 0 Td -(er)Tj -0 Tc 1.197 0 Td -[(unning )-81(out )-81(of )-81(swap )-81(space, )-81(but )-81(it )-81(was )-81(a )-81(useful )-81(technique.)-581(The )-81(name)]TJ -/T1_2 1 Tf --8.363 -1.2 Td -(sticky)Tj -/T1_0 1 Tf -2.615 0 Td -[(came )-14(about )-14(because )-14(the )-14(text )-14(portion )-14(of )-14(the )-14(\336le )-14(stuck )-14(ar)14(ound )-14(in )-14(the )-14(swap )-14(ar)18(ea )-14(until)]TJ --2.615 -1.2 Td -[(the )-173(system )-173(was )-173(r)18(ebooted. )-423(Later)-423(versions )-173(of )-173(the )-173(UNIX )-173(System )-173(r)19(eferr)18(ed )-173(to )-173(this )-173(as )-173(the)]TJ -/T1_2 1 Tf -0 -1.2 Td -(saved-text)Tj -/T1_0 1 Tf -4.401 0 Td -[(bit; )-41(hence )-41(the )-41(constant)]TJ -/TT0 1 Tf -10.268 0 Td -(S_ISVTX)Tj -/T1_0 1 Tf -0.5413 Tc (.W)Tj -0 Tc 5.936 0 Td -[(ith )-41(today\325s )-41(newer )-41(UNIX )-41(systems, )-41(most )-41(of)]TJ --20.606 -1.2 Td -[(which )-324(have )-324(a )-324(virtual )-324(memory )-324(system )-324(and )-324(a )-324(faster )-324(\336le )-324(system, )-324(the )-324(need )-324(for )-324(this)]TJ -T* -[(technique has disappear)18(ed.)]TJ -1.8 -1.2 Td -[(On )-81(contemporary )-81(systems, )-81(the )-81(use )-81(of )-81(the )-81(sticky )-81(bit )-81(has )-81(been )-81(extended.)-585(The )-81(Single)]TJ --1.8 -1.2 Td -[(UNIX )-108(Speci\336cation )-108(allows )-108(the )-108(sticky )-108(bit )-108(to )-108(be )-108(set )-108(for )-108(a )-108(dir)16(ectory)]TJ -0.6082 Tc 29.048 0 Td -(.I)Tj -0.3581 Tc 1.195 0 Td -(ft)Tj -0 Tc 1.017 0 Td -[(he )-108(bit )-108(is )-108(set )-108(for )-108(a)]TJ --31.26 -1.2 Td -[(dir)18(ectory)]TJ -0.3505 Tc 3.914 0 Td -(,a\336)Tj -0 Tc 2.056 0 Td -[(le )-100(in )-100(the )-100(dir)18(ectory )-100(can )-100(be )-100(r)18(emoved )-100(or )-100(r)18(enamed )-100(only )-100(if )-100(the )-100(user )-100(has )-100(write)]TJ --5.97 -1.2 Td -[(permission for the dir)18(ectory and meets one of the following criteria:)]TJ -0.883 Tc 1.8 -1.68 Td -(\245O)Tj -0 Tc 2.275 0 Td -(wns the \336le)Tj -0.883 Tc -2.275 -1.24 Td -(\245O)Tj -0 Tc 2.275 0 Td -[(wns the dir)18(ectory)]TJ -0.883 Tc -2.275 -1.24 Td -(\245I)Tj -0.25 Tc 1.826 0 Td -(st)Tj -0 Tc 1 0 Td -[(he super)8(user)]TJ --4.626 -1.68 Td -[(The )-62(dir)18(ectories)]TJ -/TT0 1 Tf -6.961 0 Td -(/tmp)Tj -/T1_0 1 Tf -2.712 0 Td -(and)Tj -/TT0 1 Tf -2.005 0 Td -(/var/tmp)Tj -/T1_0 1 Tf -5.112 0 Td -(ar)Tj -0.312 Tc 0.877 0 Td -(et)Tj -0 Tc 1.117 0 Td -[(ypical )-62(candidates )-62(for )-62(the )-62(sticky )-62(bit)]TJ -0.0833 Tc 15.522 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(hey )-62(ar)18(e)]TJ --35.715 -1.2 Td -[(dir)18(ectories )-105(in )-105(which )-105(any )-105(user )-105(can )-105(typically )-105(cr)18(eate )-105(\336les.)-610(The )-106(permissions )-106(for )-106(these )-106(two)]TJ --0 -1.2 Td -[(dir)18(ectories )-43(ar)]TJ -0.2933 Tc 5.833 0 Td -(eo)Tj -0 Tc 1.318 0 Td -[(ften )-43(r)18(ead, )-43(write, )-43(and )-43(execute )-43(for )-43(everyone )-43(\(user)]TJ -0.2932 Tc 21.099 0 Td -(,g)Tj --0.018 Tc 1.099 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(up, )-43(and )-43(other\).)-544(But)]TJ --30.272 -1.2 Td -[(users should not be able to delete or r)18(ename \336les owned by others.)]TJ -7.9995 0 0 7.9995 183.5892 374.5775 Tm -[(The )-157(saved-text )-157(bit )-157(is )-157(not )-157(part )-157(of )-157(POSIX.1.)-654(It )-157(is )-157(part )-157(of )-157(the )-157(XSI )-157(option )-157(de\336ned )-157(in )-157(the )-157(Single)]TJ -0 -1.25 TD -[(UNIX )-245(Speci\336cation, )-245(and )-245(is )-245(supported )-245(by )-245(Fr)18(eeBSD )-245(8.0, )-245(Linux )-245(3.2.0, )-245(Mac )-245(OS )-245(X )-245(10.6.8, )-245(and)]TJ -T* -(Solaris 10.)Tj -0 -1.875 TD -[(Solaris )-98(10 )-98(places )-98(special )-98(meaning )-98(on )-98(the )-98(sticky )-98(bit )-98(if )-98(it )-98(is )-98(set )-98(on )-98(a )-98(r)18(egular )-98(\336le.)-598(In )-98(this )-98(case, )-98(if)]TJ -0 -1.25 TD -(none of the execute bits is set, the operating system will not cache the\ contents of the \336le.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5946 297.5821 Tm -(4.11)Tj -/TT2 1 Tf -3 0 Td -(chown)Tj -/TT1 1 Tf -(,)Tj -/TT2 1 Tf -3.834 0 Td -(fchown)Tj -/TT1 1 Tf -(,)Tj -/TT2 1 Tf -4.434 0 Td -(fchownat)Tj -/TT1 1 Tf -0.556 Tc (,a)Tj -0 Tc 6.19 0 Td -(nd)Tj -/TT2 1 Tf -1.778 0 Td -(lchown)Tj -/TT1 1 Tf -4.156 0 Td -(Functions)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5919 275.9834 Tm -(The)Tj -/TT0 1 Tf -2.017 0 Td -(chown)Tj -/T1_0 1 Tf -3.343 0 Td -[(functions )-93(allow )-93(us )-93(to )-93(change )-93(a )-93(\336le\325s )-93(user )-93(ID )-93(and )-93(gr)18(oup )-93(ID, )-93(but )-93(if )-93(either )-93(of)]TJ --5.36 -1.2 Td -[(the ar)18(guments)]TJ -/T1_2 1 Tf -6.617 0 Td -(owner)Tj -/T1_0 1 Tf -2.75 0 Td -(or)Tj -/T1_2 1 Tf -1.191 0 Td -[(gr)18(oup)]TJ -/T1_0 1 Tf -2.621 0 Td -(is)Tj -/TT3 1 Tf -0.965 0 Td -(!)Tj -/T1_0 1 Tf -[(1, the corr)18(esponding ID is left unchanged.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 247.2852 Tm -(#include )Tj -0 -1.902 TD -(int chown\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,u)Tj -0 Tc 18.944 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(owner)Tj -/TT0 1 Tf -0.6 Tc (,g)Tj -0 Tc 4.3 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -[(gr)18(oup)]TJ -/TT0 1 Tf -(\);)Tj --29.244 -1.902 Td -(int fchown\(int)Tj -/T1_2 1 Tf -9 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,u)Tj -0 Tc 2.578 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(owner)Tj -/TT0 1 Tf -0.6 Tc (,g)Tj -0 Tc 4.3 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -[(gr)18(oup)]TJ -/TT0 1 Tf -(\);)Tj --21.878 -1.902 Td -(int fchownat\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,u)Tj -0 Tc 12.344 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(owner)Tj -/TT0 1 Tf -0.6 Tc (,g)Tj -0 Tc 4.3 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -[(gr)18(oup)]TJ -/TT0 1 Tf -(,)Tj --27.622 -1.189 Td -(int)Tj -/T1_2 1 Tf -2.4 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj --10.2 -1.902 Td -(int lchown\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,u)Tj -0 Tc 19.544 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(owner)Tj -/TT0 1 Tf -0.6 Tc (,g)Tj -0 Tc 4.3 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -[(gr)18(oup)]TJ -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --6.015 -1.902 Td -[(All four r)18(eturn: 0 if OK,)]TJ -/TT3 1 Tf -10.635 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1465.25 cm -0 0 m -0 1098 l -3900 1098 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47054 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(108)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(On )-51(Solaris, )-51(the)]TJ -/TT0 1 Tf -6.881 0 Td -(ls)Tj -/T1_1 1 Tf -1.501 0 Td -[(command )-51(displays )-51(an)]TJ -/TT0 1 Tf -10.133 0 Td -(l)Tj -/T1_1 1 Tf -0.901 0 Td -[(instead )-51(of )-51(an)]TJ -/TT0 1 Tf -6.078 0 Td -(S)Tj -/T1_1 1 Tf -0.901 0 Td -[(to )-51(indicate )-51(that )-51(mandatory )-51(\336le )-51(and)]TJ --0.018 Tc -26.396 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.3633 Tc 1.367 0 Td -(dl)Tj -0 Tc 1.265 0 Td -[(ocking )-113(has )-113(been )-113(enabled )-113(for )-113(this )-113(\336le.)-613(This )-113(behavior )-113(applies )-113(only )-113(to )-113(r)18(egular )-113(\336les, )-113(but)]TJ --3.488 -1.25 Td -[(we\325ll discuss this mor)18(e)-250(in)-250(Section 14.3.)]TJ -9.9994 0 0 9.9994 147.5907 632.962 Tm -(Finally)Tj -0.3094 Tc 2.956 0 Td -(,n)Tj -0 Tc 1.141 0 Td -[(ote )-59(that )-59(the )-59(time )-59(and )-59(date )-59(listed )-59(by )-59(the)]TJ -/TT0 1 Tf -17.763 0 Td -(ls)Tj -/T1_1 1 Tf -1.509 0 Td -[(command )-59(did )-59(not )-59(change )-59(after)]TJ --25.17 -1.2 Td -[(we )-130(ran )-130(the )-130(pr)18(ogram )-130(in )-130(Figur)]TJ -0.3805 Tc 13.194 0 Td -(e4)Tj -0 Tc 1.359 0 Td -[(.12. )-380(W)92(e\325ll )-130(see )-130(in )-130(Section )-130(4.19 )-130(that )-130(the)]TJ -/TT0 1 Tf -17.36 0 Td -(chmod)Tj -/T1_1 1 Tf -3.38 0 Td -(function)Tj --35.293 -1.2 Td -[(updates )-68(only )-68(the )-68(time )-68(that )-68(the )-68(i-node )-68(was )-68(last )-68(changed.)-568(By )-68(default, )-68(the)]TJ -/TT0 1 Tf -32.487 0 Td -[(ls )267(-l)]TJ -/T1_1 1 Tf -3.052 0 Td -[(lists )-68(the)]TJ --35.539 -1.2 Td -(time when the contents of the \336le wer)Tj -0.25 Tc 16.633 0 Td -(el)Tj -0 Tc 1.02 0 Td -(ast modi\336ed.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5970.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 572.9312 Tm -(The)Tj -/TT0 1 Tf -2.191 0 Td -(chmod)Tj -/T1_1 1 Tf -3.517 0 Td -[(functions )-267(automatically )-267(clear )-267(two )-267(of )-267(the )-267(permission )-267(bits )-267(under )-267(the)]TJ --7.508 -1.2 Td -(following conditions:)Tj -0.883 Tc 1.8 -1.68 Td -(\245O)Tj -0.359 Tc 2.275 0 Td -(ns)Tj -0 Tc 1.365 0 Td -[(ystems, )-109(such )-109(as )-109(Solaris, )-109(that )-109(place )-109(special )-109(meaning )-109(on )-109(the )-109(sticky )-109(bit )-109(when)]TJ --2.151 -1.2 Td -[(used )-48(with )-48(r)18(egular )-48(\336les, )-48(if )-48(we )-48(try )-48(to )-48(set )-48(the )-48(sticky )-48(bit )-48(\()]TJ -/TT0 1 Tf -23.78 0 Td -(S_ISVTX)Tj -/T1_1 1 Tf -[(\))-298(on)-298(a)-298(r)17(egular )-48(\336le)]TJ --23.78 -1.2 Td -[(and )-55(do )-55(not )-55(have )-55(super)8(user )-55(privileges, )-55(the )-55(sticky )-55(bit )-55(in )-55(the)]TJ -/T1_2 1 Tf -26.218 0 Td -(mode)Tj -/T1_1 1 Tf -2.416 0 Td -[(is )-55(automatically)]TJ --28.634 -1.2 Td -[(turned )-29(of)18(f. )-279(\(W)]TJ -0.2795 Tc 6.49 0 Td -(ed)Tj -0 Tc 1.369 0 Td -[(escribe )-29(the )-29(sticky )-29(bit )-29(in )-29(the )-29(next )-29(section.\))]TJ --0.092 Tc 18.543 0 Td -[(To )-214(p)]TJ --0.018 Tc 1.948 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(vent )-30(malicious)]TJ --29.206 -1.2 Td -[(users )-181(fr)18(om )-181(setting )-181(the )-181(sticky )-181(bit )-181(and )-181(adversely )-181(af)18(fecting )-181(system )-181(performance,)]TJ -0 -1.2 TD -[(only the super)8(user can set the sticky bit of a r)18(egular \336le.)]TJ -7.999 0 0 7.999 183.5781 464.1443 Tm -[(In )-220(Fr)18(eeBSD )-220(8.0 )-220(and )-220(Solaris )-220(10, )-220(only )-220(the )-220(super)6(user )-220(can )-220(set )-220(the )-220(sticky )-220(bit )-220(on )-220(a )-220(r)18(egular )-220(\336le.)]TJ -0 -1.25 TD -[(Linux 3.2.0)-458(and )-208(Mac )-208(OS )-208(X )-208(10.6.8 )-208(place )-208(no )-208(such )-208(r)18(estriction )-208(on )-208(the )-208(setting )-208(of )-208(the )-208(sticky )-208(bit,)]TJ --0 -1.25 Td -[(because )-60(the )-60(bit )-60(has )-60(no )-60(meaning )-60(when )-60(applied )-60(to )-60(r)18(egular )-60(\336les )-60(on )-60(these )-60(systems.)-560(Although )-60(the)]TJ -T* -[(bit )-275(also )-275(has )-275(no )-275(meaning )-275(when )-275(applied )-275(to )-275(r)19(egular )-275(\336les )-275(on )-275(Fr)18(eeBSD, )-275(everyone )-275(except )-275(the)]TJ -T* -[(super)8(user is pr)18(evented fr)18(om setting it on a r)18(egular \336le.)]TJ -0.883 Tc 9.9988 0 0 9.9988 147.5823 404.1515 Tm -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-4(gr)18(oup )-4(ID )-4(of )-4(a )-4(newly )-4(cr)18(eated )-4(\336le )-4(might )-4(potentially )-4(be )-4(a )-4(gr)18(oup )-4(that )-4(the )-4(calling)]TJ --0.613 -1.2 Td -[(pr)18(ocess )-207(does )-207(not )-207(belong )-207(to.)-707(Recall )-207(fr)18(om )-207(Section )-207(4.6 )-207(that )-207(it\325s )-207(possible )-207(for )-207(the)]TJ -0 -1.2 TD -[(gr)18(oup )-56(ID )-56(of )-56(the )-56(new )-56(\336le )-56(to )-56(be )-56(the )-56(gr)22(oup )-56(ID )-56(of )-56(the )-56(par)18(ent )-56(dir)20(ectory)]TJ -0.5557 Tc 29.739 0 Td -(.S)Tj -0 Tc 1.331 0 Td -[(peci\336cally)111(,)]TJ --31.07 -1.2 Td -[(if )-27(the )-27(gr)17(oup )-27(ID )-27(of )-27(the )-27(new )-27(\336le )-27(does )-27(not )-27(equal )-27(either )-27(the )-27(ef)18(fective )-27(gr)18(oup )-27(ID )-27(of )-27(the)]TJ -T* -[(pr)18(ocess )-27(or )-27(one )-27(of )-27(the )-27(pr)18(ocess\325s )-27(supplementary )-27(gr)15(oup )-28(IDs )-28(and )-28(if )-28(the )-28(pr)18(ocess )-28(does)]TJ -T* -[(not )-63(have )-63(super)8(user )-63(privileges, )-63(then )-63(the )-63(set-gr)18(oup-ID )-63(bit )-63(is )-63(automatically )-63(turned)]TJ -T* -[(of)18(f. )-253(This)-252(pr)18(events )-3(a )-3(user )-3(fr)18(om )-3(cr)18(eating )-3(a )-3(set-gr)20(oup-ID )-3(\336le )-3(owned )-3(by )-3(a )-3(gr)18(oup )-3(that)]TJ --0 -1.2 Td -(the user doesn\325t belong to.)Tj -7.999 0 0 7.999 183.5774 300.164 Tm -[(Fr)18(eeBSD )-137(8.0 )-137(fails )-137(an )-137(attempt )-137(to )-137(set )-137(the )-137(set-gr)18(oup-ID )-137(in )-137(this )-137(case.)-637(The )-137(other )-137(systems )-137(silently)]TJ -0 -1.25 TD -[(turn the bit of)18(f, but don\325t fail the attempt to change the \336le access permissions\ .)]TJ -0 -1.875 TD -[(Fr)18(eeBSD )-32(8.0, )-32(Linux )-32(3.2.0, )-32(Mac )-32(OS )-32(X )-32(10.6.8, )-32(and )-32(Solaris )-32(10 )-32(add )-32(another )-32(security )-32(featur)18(e)-282(to)-282(try )-32(to)]TJ --0 -1.25 Td -[(pr)18(event )-228(misuse )-228(of )-228(some )-228(of )-228(the )-228(pr)18(otection )-228(bits.)-728(If )-228(a )-228(pr)22(ocess )-227(that )-227(does )-227(not )-227(have )-227(super)6(user)]TJ --0 -1.25 Td -[(privileges )-25(writes )-25(to )-25(a )-25(\336le, )-25(the )-25(set-user)18(-ID )-25(and )-25(set-gr)18(oup-ID )-25(bits )-25(ar)]TJ -0.2755 Tc 29.002 0 Td -(ea)Tj -0 Tc 1.254 0 Td -[(utomatically )-25(turned )-25(of)17(f. )-275(If)]TJ --30.257 -1.25 Td -[(malicious )-2(users )-2(\336nd )-2(a )-2(set-gr)18(oup-ID )-2(or )-2(a )-2(set-user)21(-ID )-1(\336le )-1(they )-1(can )-1(write )-1(to, )-1(even )-1(though )-1(they )-1(can)]TJ --0 -1.25 Td -(modify the \336le, they lose the special privileges of the \336le.)Tj -/TT1 1 Tf -11.9986 0 0 11.9986 93.5876 201.1759 Tm -[(4.10 )-776(Stic)20(ky )-278(Bit)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5832 179.5784 Tm -(The)Tj -/TT0 1 Tf -2.156 0 Td -(S_ISVTX)Tj -/T1_1 1 Tf -4.682 0 Td -[(bit )-232(has )-232(an )-232(inter)18(esting )-232(history)]TJ -0.732 Tc 13.408 0 Td -(.O)Tj -0.482 Tc 1.768 0 Td -(nv)Tj -0 Tc 1.629 0 Td -[(ersions )-232(of )-232(the )-232(UNIX )-232(System )-232(that)]TJ --23.643 -1.2 Td -[(pr)18(edated )-219(demand )-219(paging, )-219(this )-219(bit )-219(was )-219(known )-219(as )-219(the)]TJ -/T1_2 1 Tf -25.165 0 Td -[(sticky )-219(bit)]TJ -/T1_1 1 Tf -0.7185 Tc (.I)Tj -0 Tc 5.199 0 Td -[(f)-468(it)-468(w)-1(as )-218(set )-218(for )-218(an)]TJ --30.364 -1.2 Td -[(executable )-154(pr)18(ogram )-154(\336le, )-154(then )-154(the )-154(\336rst )-154(time )-154(the )-154(pr)18(ogram )-154(was )-154(executed, )-154(a )-154(copy )-154(of )-154(the)]TJ -0 -1.2 TD -[(pr)18(ogram\325s )-196(text )-196(was )-196(saved )-196(in )-196(the )-196(swap )-196(ar)19(ea )-196(when )-196(the )-196(pr)18(ocess )-196(terminated.)-696(\(The )-196(text)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47055 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(106)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 664.2601 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(umask)Tj -/T1_2 1 Tf -16.4 0 Td -[(\336rst print the curr)18(ent \336le mode cr)18(eation mask)]TJ -/TT0 1 Tf --17.6 -1.189 Td -(002)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(umask -S)Tj -/T1_2 1 Tf -16.4 0 Td -(print the symbolic form)Tj -/TT0 1 Tf --17.6 -1.189 Td -(u=rwx,g=rwx,o=rx)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(umask 027)Tj -/T1_2 1 Tf -16.4 0 Td -[(change the \336le mode cr)18(eation mask)]TJ -/TT0 1 Tf --17.6 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(umask -S)Tj -/T1_2 1 Tf -16.4 0 Td -(print the symbolic form)Tj -/TT0 1 Tf --17.6 -1.189 Td -(u=rwx,g=rx,o=)Tj -/TT2 1 Tf -11.9993 0 0 11.9993 93.5944 572.4656 Tm -(4.9)Tj -/TT1 1 Tf -3 0 Td -(chmod)Tj -/TT2 1 Tf -(,)Tj -/TT1 1 Tf -3.834 0 Td -(fchmod)Tj -/TT2 1 Tf -0.556 Tc (,a)Tj -0 Tc 4.99 0 Td -(nd)Tj -/TT1 1 Tf -1.778 0 Td -(fchmodat)Tj -/TT2 1 Tf -5.356 0 Td -(Functions)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5919 554.4667 Tm -(The)Tj -/TT0 1 Tf -2.226 0 Td -(chmod)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.802 0 Td -(fchmod)Tj -/T1_1 1 Tf -0.5517 Tc (,a)Tj -0 Tc 4.902 0 Td -(nd)Tj -/TT0 1 Tf -1.745 0 Td -(fchmodat)Tj -/T1_1 1 Tf -5.352 0 Td -[(functions )-302(allow )-302(us )-302(to )-302(change )-302(the )-302(\336le )-302(access)]TJ --18.025 -1.2 Td -(permissions for an existing \336le.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5913 528.1683 Tm -(#include )Tj -0 -1.783 TD -(int chmod\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,m)Tj -0 Tc 18.944 0 Td -(ode_t)Tj -/T1_2 1 Tf -3.6 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj --22.544 -1.783 Td -(int fchmod\(int)Tj -/T1_2 1 Tf -9 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,m)Tj -0 Tc 2.578 0 Td -(ode_t)Tj -/T1_2 1 Tf -3.6 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj --15.178 -1.783 Td -(int fchmodat\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,m)Tj -0 Tc 12.344 0 Td -(ode_t)Tj -/T1_2 1 Tf -3.6 0 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.911 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --10.97 -1.783 Td -[(All thr)18(ee r)18(eturn: 0 if OK,)]TJ -/TT3 1 Tf -11.001 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4595.25 cm -0 0 m -0 777 l -3900 777 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 448.3462 Tm -(The)Tj -/TT0 1 Tf -2.258 0 Td -(chmod)Tj -/T1_1 1 Tf -3.584 0 Td -[(function )-334(operates )-334(on )-334(the )-334(speci\336ed )-334(\336le, )-334(wher)18(eas )-334(the)]TJ -/TT0 1 Tf -25.266 0 Td -(fchmod)Tj -/T1_1 1 Tf -4.184 0 Td -(function)Tj --35.293 -1.2 Td -[(operates )-90(on )-90(a )-90(\336le )-90(that )-90(has )-90(alr)17(eady )-90(been )-90(opened.)-591(The)]TJ -/TT0 1 Tf -24.273 0 Td -(fchmodat)Tj -/T1_1 1 Tf -5.14 0 Td -[(function )-90(behaves )-90(like)]TJ -/TT0 1 Tf --29.414 -1.2 Td -(chmod)Tj -/T1_1 1 Tf -3.302 0 Td -[(when )-52(the)]TJ -/T1_2 1 Tf -4.468 0 Td -(pathname)Tj -/T1_1 1 Tf -4.246 0 Td -[(ar)18(gument )-52(is )-52(absolute )-52(or )-52(when )-52(the)]TJ -/T1_2 1 Tf -15.361 0 Td -(fd)Tj -/T1_1 1 Tf -1.08 0 Td -[(ar)18(gument )-52(has )-52(the )-52(value)]TJ -/TT0 1 Tf --28.457 -1.2 Td -(AT_FDCWD)Tj -/T1_1 1 Tf -5.115 0 Td -[(and )-65(the)]TJ -/T1_2 1 Tf -3.709 0 Td -(pathname)Tj -/T1_1 1 Tf -4.259 0 Td -[(ar)18(gument )-65(is )-65(r)19(elative. )-315(Otherwise,)]TJ -/TT0 1 Tf -14.934 0 Td -(fchmodat)Tj -/T1_1 1 Tf -5.115 0 Td -[(evaluates )-65(the)]TJ -/T1_2 1 Tf --33.131 -1.2 Td -(pathname)Tj -/T1_1 1 Tf --0.018 Tc 4.559 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(lative )-364(to )-364(the )-364(open )-364(dir)18(ectory )-364(r)16(efer)18(enced )-364(by )-364(the)]TJ -/T1_2 1 Tf -22.995 0 Td -(fd)Tj -/T1_1 1 Tf -1.392 0 Td -[(ar)18(gument. )-614(The)]TJ -/T1_2 1 Tf -7.709 0 Td -(\337ag)Tj -/T1_1 1 Tf --37.511 -1.2 Td -[(ar)18(gument )-750(can )-750(be )-750(used )-750(to )-750(change )-750(the )-750(behavior )-750(of)]TJ -/TT0 1 Tf -28.169 0 Td -(fchmodat)Tj -/T1_1 1 Tf -0.0833 Tc 4.883 0 Td -(\321w)Tj -0 Tc 1.917 0 Td -[(hen )-750(the)]TJ -/TT0 1 Tf --34.97 -1.2 Td -(AT_SYMLINK_NOFOLLOW)Tj -/T1_1 1 Tf -11.65 0 Td -(\337ag is set,)Tj -/TT0 1 Tf -4.608 0 Td -(fchmodat)Tj -/T1_1 1 Tf -5.05 0 Td -(doesn\325t follow symbolic links.)Tj --0.092 Tc -19.508 -1.2 Td -[(To )-256(c)]TJ -0 Tc 1.833 0 Td -[(hange )-72(the )-72(permission )-72(bits )-72(of )-72(a )-72(\336le, )-72(the )-72(ef)18(fective )-72(user )-72(ID )-72(of )-72(the )-72(pr)19(ocess )-72(must )-72(be)]TJ --3.633 -1.2 Td -[(equal to the owner ID of the \336le, or the pr)18(ocess must have super)8(user permissions.)]TJ -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(mode)Tj -/T1_1 1 Tf -2.361 0 Td -(is speci\336ed as the bitwise OR of the constants shown in Figur)Tj -0.25 Tc 27.006 0 Td -(e4)Tj -0 Tc 1.229 0 Td -[(.1)55(1.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2182.25 3288.25 cm -0 0 m -2127 0 l -S -Q -Q -BT -/T1_2 1 Tf -7.9986 0 0 7.9986 237.7492 320.7423 Tm -(mode)Tj -/T1_1 1 Tf -12.025 0 Td -(Description)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2182.25 3168.25 cm -0 0 m -2127 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2182.25 3148.25 cm -0 0 m -2127 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 222.1827 306.7264 Tm -(S_ISUID)Tj -/T1_1 1 Tf -7.5 0 Td -[(set-user)18(-ID on execution)]TJ -/TT0 1 Tf --7.5 -1.25 Td -(S_ISGID)Tj -/T1_1 1 Tf -7.5 0 Td -[(set-gr)18(oup-ID on execution)]TJ -/TT0 1 Tf --7.5 -1.25 Td -(S_ISVTX)Tj -/T1_1 1 Tf -7.5 0 Td -(saved-text \(sticky bit\))Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2182.25 2828.25 cm -0 0 m -2127 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 222.1693 274.7176 Tm -(S_IRWXU)Tj -/T1_1 1 Tf --0.018 Tc 7.5 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ad, write, and execute by user \(owner\))Tj -/TT0 1 Tf --6.556 -1.25 Td -(S_IRUSR)Tj -/T1_1 1 Tf --0.018 Tc 5.7 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ad by user \(owner\))Tj -/TT0 1 Tf --6.556 -1.25 Td -(S_IWUSR)Tj -/T1_1 1 Tf -5.7 0 Td -(write by user \(owner\))Tj -/TT0 1 Tf --5.7 -1.25 Td -(S_IXUSR)Tj -/T1_1 1 Tf -5.7 0 Td -(execute by user \(owner\))Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2182.25 2408.25 cm -0 0 m -2127 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 222.156 232.7162 Tm -(S_IRWXG)Tj -/T1_1 1 Tf --0.018 Tc 7.5 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad, write, and execute by gr)18(oup)]TJ -/TT0 1 Tf --6.556 -1.25 Td -(S_IRGRP)Tj -/T1_1 1 Tf --0.018 Tc 5.7 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad by gr)18(oup)]TJ -/TT0 1 Tf --6.556 -1.25 Td -(S_IWGRP)Tj -/T1_1 1 Tf -5.7 0 Td -[(write by gr)18(oup)]TJ -/TT0 1 Tf --5.7 -1.25 Td -(S_IXGRP)Tj -/T1_1 1 Tf -5.7 0 Td -[(execute by gr)18(oup)]TJ -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2182.25 1988.25 cm -0 0 m -2127 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 222.1427 190.7199 Tm -(S_IRWXO)Tj -/T1_1 1 Tf --0.018 Tc 7.5 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ad, write, and execute by other \(world\))Tj -/TT0 1 Tf --6.556 -1.25 Td -(S_IROTH)Tj -/T1_1 1 Tf --0.018 Tc 5.7 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ad by other \(world\))Tj -/TT0 1 Tf --6.556 -1.25 Td -(S_IWOTH)Tj -/T1_1 1 Tf -5.7 0 Td -(write by other \(world\))Tj -/TT0 1 Tf --5.7 -1.25 Td -(S_IXOTH)Tj -/T1_1 1 Tf -5.7 0 Td -(execute by other \(world\))Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2182.25 1568.25 cm -0 0 m -2127 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2762.25 1568.25 cm -0 0 m -0 1720 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4309.25 1568.25 cm -0 0 m -0 1720 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2182.25 1568.25 cm -0 0 m -0 1720 l -S -Q -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 191.1442 138.7334 Tm -[(Figure 4.1)37(1)]TJ -/T1_1 1 Tf -5.658 0 Td -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(mode)Tj -/T1_1 1 Tf -2.361 0 Td -(constants for)Tj -/TT0 1 Tf -5.928 0 Td -(chmod)Tj -/T1_1 1 Tf -3.25 0 Td -[(functions, fr)18(om)]TJ -/TT0 1 Tf -7.02 0 Td -()Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47056 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(104)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(In )-302(this )-302(example, )-302(the )-302(set-user)18(-ID )-302(pr)18(ogram )-302(can )-302(determine )-302(that )-302(the )-302(r)18(eal )-302(user )-302(cannot)]TJ -0 -1.2 TD -[(normally r)18(ead the \336le, even though the)]TJ -/TT0 1 Tf -17.46 0 Td -(open)Tj -/T1_1 1 Tf -2.65 0 Td -(function will succeed.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 6570.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 183.578 636.9236 Tm -[(In )-10(the )-10(pr)19(eceding )-10(example )-10(and )-10(in )-10(Chapter )-10(8, )-10(we\325ll )-10(sometimes )-10(switch )-10(to )-10(become )-10(the )-10(super)8(user )-10(to)]TJ -0 -1.25 TD -[(demonstrate )-335(how )-335(something )-335(works.)-835(If )-335(you\325r)]TJ -0.5854 Tc 21.394 0 Td -(eo)Tj -0.5853 Tc 1.61 0 Td -(nam)Tj -0 Tc 3.136 0 Td -[(ultiuser )-335(system )-335(and )-335(do )-335(not )-335(have)]TJ --26.14 -1.25 Td -[(super)8(user permission, you won\325t be able to duplicate these examples comple\ tely)111(.)]TJ -/TT1 1 Tf -11.9986 0 0 11.9986 93.5886 584.9298 Tm -(4.8)Tj -/TT2 1 Tf -3 0 Td -(umask)Tj -/TT1 1 Tf -3.556 0 Td -(Function)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5842 563.3324 Tm -[(Now )-118(that )-118(we\325ve )-118(described )-118(the )-118(nine )-118(permission )-118(bits )-118(associated )-118(with )-118(every )-118(\336le, )-118(we )-118(can)]TJ -0 -1.2 TD -[(describe the \336le mode cr)18(eation mask that is associated with every pr)18(ocess.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -1.942 0 Td -(umask)Tj -/T1_1 1 Tf -3.268 0 Td -[(function )-18(sets )-18(the )-18(\336le )-18(mode )-18(cr)18(eation )-18(mask )-18(for )-18(the )-18(pr)18(ocess )-18(and )-18(r)18(eturns )-18(the)]TJ --7.011 -1.2 Td -[(pr)18(evious value.)-500(\(This is one of the few functions that doesn\325t have an err)18(or r)18(eturn.\))]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.582 509.4389 Tm -(#include )Tj -0 -1.783 TD -(mode_t umask\(mode_t)Tj -/T1_2 1 Tf -12 0 Td -(cmask)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -8.668 -1.783 Td -[(Returns: pr)18(evious \336le mode cr)18(eation mask)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4729.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 458.1175 Tm -(The)Tj -/T1_2 1 Tf -2.116 0 Td -(cmask)Tj -/T1_1 1 Tf -2.904 0 Td -[(ar)18(gument )-191(is )-191(formed )-191(as )-191(the )-191(bitwise )-191(OR )-191(of )-191(any )-191(of )-191(the )-191(nine )-191(constants )-191(fr)12(om)]TJ --5.019 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e4)Tj -0 Tc 1.229 0 Td -(.6:)Tj -/TT0 1 Tf -1.25 0 Td -(S_IRUSR)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.7 0 Td -(S_IWUSR)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 5.2 0 Td -(nd so on.)Tj --12.962 -1.2 Td -[(The )-122(\336le )-122(mode )-122(cr)18(eation )-122(mask )-122(is )-122(used )-122(whenever )-122(the )-122(pr)18(ocess )-122(cr)21(eates )-122(a )-122(new )-122(\336le )-122(or )-122(a)]TJ --1.8 -1.2 Td -[(new )-24(dir)18(ectory)]TJ -0.5245 Tc 6.084 0 Td -(.\()Tj -0 Tc 1.107 0 Td -[(Recall )-24(fr)18(om )-24(Sections )-24(3.3 )-24(and )-24(3.4 )-24(our )-24(description )-24(of )-24(the)]TJ -/TT0 1 Tf -24.167 0 Td -(open)Tj -/T1_1 1 Tf -2.674 0 Td -(and)Tj -/TT0 1 Tf -1.967 0 Td -(creat)Tj -/T1_1 1 Tf --36 -1.2 Td -[(functions. )-343(Both)-344(accept )-93(a)]TJ -/T1_2 1 Tf -11.364 0 Td -(mode)Tj -/T1_1 1 Tf -2.454 0 Td -[(ar)18(gument )-93(that )-93(speci\336es )-93(the )-93(new )-93(\336le\325s )-93(access )-93(permission)]TJ --13.819 -1.2 Td -[(bits.\) )-286(W)]TJ -0.286 Tc 3.621 0 Td -(ed)Tj -0 Tc 1.376 0 Td -[(escribe )-36(how )-36(to )-36(cr)18(eate )-36(a )-36(new )-36(dir)18(ectory )-36(in )-36(Section )-36(4.21.)-536(Any )-36(bits )-36(that )-36(ar)18(e)]TJ -/T1_2 1 Tf -31.844 0 Td -(on)Tj -/T1_1 1 Tf -1.286 0 Td -(in)Tj --38.127 -1.2 Td -[(the \336le mode cr)18(eation mask ar)]TJ -0.25 Tc 13.316 0 Td -(et)Tj -0 Tc 1.055 0 Td -(urned)Tj -/T1_2 1 Tf -2.92 0 Td -(off)Tj -/T1_1 1 Tf -1.25 0 Td -(in the \336le\325s)Tj -/T1_2 1 Tf -5.087 0 Td -(mode)Tj -/T1_1 1 Tf -(.)Tj -/TT1 1 Tf --27.228 -2.4 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.16 Td -[(The )-182(pr)18(ogram )-182(in )-182(Figur)]TJ -0.4322 Tc 10.085 0 Td -(e4)Tj -0 Tc 1.411 0 Td -[(.9 )-182(cr)18(eates )-182(two )-182(\336les: )-182(one )-182(with )-182(a)]TJ -/TT0 1 Tf -14.699 0 Td -(umask)Tj -/T1_1 1 Tf -3.432 0 Td -[(of )-182(0 )-182(and )-182(one )-182(with )-182(a)]TJ -/TT0 1 Tf --29.627 -1.2 Td -(umask)Tj -/T1_1 1 Tf -3.25 0 Td -[(that disables all the gr)18(oup and other permission bits.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3214.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 129.5689 311.8242 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(#define RWRWRW \(S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH\))Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(umask\(0\);)Tj -T* -(if \(creat\("foo", RWRWRW\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("creat error for foo"\);)Tj --2.4 -1.189 Td -(umask\(S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH\);)Tj -0 -1.189 TD -(if \(creat\("bar", RWRWRW\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("creat error for bar"\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1573.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 254.8755 141.2556 Tm -(Figure 4.9)Tj -/T1_1 1 Tf -5.195 0 Td -(Example of)Tj -/TT0 1 Tf -5.26 0 Td -(umask)Tj -/T1_1 1 Tf -3.25 0 Td -(function)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47057 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(102)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(Fr)18(eeBSD )-174(8.0 )-174(and )-174(Mac )-174(OS )-174(X )-174(10.6.8 )-174(always )-174(copy )-174(the )-174(new )-174(\336le\325s )-174(gr)12(oup )-175(ID )-175(fr)18(om )-175(the )-175(dir)20(ectory)111(.)]TJ -0 -1.25 Td -[(Several )-157(Linux )-157(\336le )-157(systems )-157(allow )-157(the )-157(choice )-157(between )-157(the )-157(two )-157(options )-157(to )-157(be )-157(selected )-157(using )-157(a)]TJ -/TT0 1 Tf -0 -1.25 TD -(mount)Tj -/T1_1 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.591 -0.04 Td -[(command )-8(option.)-508(The )-8(default )-8(behavior )-8(for )-8(Linux )-8(3.2.0 )-8(and )-8(Solaris )-8(10 )-8(is )-8(to )-8(determine)]TJ --4.424 -1.25 Td -[(the )-18(gr)18(oup )-18(ID )-18(of )-18(a )-18(new )-18(\336le )-18(depending )-18(on )-18(whether )-18(the )-18(set-gr)18(oup-ID )-18(bit )-18(is )-18(set )-18(for )-18(the )-18(dir)18(ectory )-18(in)]TJ -T* -[(which )-54(the )-54(\336le )-54(is )-54(cr)18(eated. )-304(If)-304(this )-54(bit )-54(is )-54(set, )-54(the )-54(new )-54(\336le\325s )-54(gr)18(oup )-54(ID )-54(is )-54(copied )-54(fr)18(om )-54(the )-54(dir)18(ectory;)]TJ -0 -1.25 Td -[(otherwise, the new \336le\325s gr)18(oup ID is set to the ef)18(fective gr)18(oup ID of the pr)18(ocess.)]TJ -9.9994 0 0 9.9994 147.5913 602.9638 Tm -[(Using )-101(the )-101(second )-101(option)]TJ -0.0833 Tc 11.134 0 Td -(\321i)Tj -0 Tc 1.374 0 Td -[(nheriting )-101(the )-101(dir)18(ectory\325s )-101(gr)18(oup )-101(ID)]TJ -0.0833 Tc 15.481 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -[(ssur)18(es )-101(us )-101(that )-101(all)]TJ --31.372 -1.2 Td -[(\336les )-277(and )-277(dir)18(ectories )-277(cr)17(eated )-278(in )-278(that )-278(dir)18(ectory )-278(will )-278(have )-278(the )-278(same )-278(gr)18(oup )-278(ID )-278(as )-278(the)]TJ -0 -1.2 TD -[(dir)18(ectory)]TJ -0.592 Tc 3.914 0 Td -(.T)Tj -0 Tc 1.455 0 Td -[(his )-92(gr)18(oup )-92(ownership )-92(of )-92(\336les )-92(and )-92(dir)18(ectories )-92(will )-92(then )-92(pr)18(opagate )-92(down )-92(the)]TJ --5.369 -1.2 Td -[(hierar)18(chy )-21(fr)18(om )-21(that )-21(point.)-521(This )-21(is )-21(used )-21(in )-21(the )-21(Linux )-21(dir)19(ectory)]TJ -/TT0 1 Tf -27.535 0 Td -(/var/mail)Tj -/T1_1 1 Tf -0.271 Tc (,f)Tj -0 Tc 6.254 0 Td -[(or )-21(example.)]TJ -7.9995 0 0 7.9995 183.5885 549.367 Tm -[(As )-99(we )-99(mentioned )-99(earlier)]TJ -0.3488 Tc 11.096 0 Td -(,t)Tj -0 Tc 0.925 0 Td -[(his )-99(option )-99(for )-99(gr)18(oup )-99(ownership )-99(is )-99(the )-99(default )-99(for )-99(Fr)20(eeBSD )-99(8.0 )-99(and)]TJ --12.021 -1.25 Td -[(Mac OS X)-313(10.6.8, )-63(but )-63(an )-63(option )-63(for )-63(Linux )-63(and )-63(Solaris.)-563(Under )-63(Solaris )-63(10, )-63(and )-63(by )-63(default )-63(under)]TJ -0 -1.25 TD -[(Linux )-19(3.2.0, )-19(we )-19(have )-19(to )-19(enable )-19(the )-19(set-gr)17(oup-ID )-19(bit, )-19(and )-19(the)]TJ -/TT0 1 Tf -26.584 0 Td -(mkdir)Tj -/T1_1 1 Tf -3.269 0 Td -[(function )-19(has )-19(to )-19(pr)18(opagate )-19(a)]TJ --29.853 -1.25 Td -[(dir)18(ectory\325s set-gr)18(oup-ID bit automatically for this to work.)-500(\(This is described in Section 4.21.\))]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5941 487.3708 Tm -(4.7)Tj -/TT2 1 Tf -3 0 Td -(access)Tj -/TT1 1 Tf -4.156 0 Td -(and)Tj -/TT2 1 Tf -2.334 0 Td -(faccessat)Tj -/TT1 1 Tf -5.956 0 Td -(Functions)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5915 464.5721 Tm -[(As )-53(we )-53(described )-53(earlier)]TJ -0.3028 Tc 10.466 0 Td -(,w)Tj -0 Tc 1.387 0 Td -[(hen )-53(we )-53(open )-53(a )-53(\336le, )-53(the )-53(kernel )-53(performs )-53(its )-53(access )-53(tests )-53(based)]TJ --11.853 -1.2 Td -[(on )-245(the )-245(ef)18(fective )-245(user )-245(and )-245(gr)18(oup )-245(IDs.)-745(Sometimes, )-245(however)]TJ -0.4948 Tc 27.388 0 Td -(,a)Tj -0 Tc [(pr)18(ocess )-245(wants )-245(to )-245(test)]TJ --27.388 -1.2 Td -[(accessibility )-170(based )-170(on )-170(the )-170(r)18(eal )-170(user )-170(and )-170(gr)18(oup )-170(IDs.)-670(This )-170(is )-170(useful )-170(when )-170(a )-170(pr)18(ocess )-170(is)]TJ --0.008 Tc 0 -1.2 TD -(ru)Tj -0 Tc 0.99 0 Td -[(nning )-41(as )-41(someone )-41(else, )-41(using )-41(either )-41(the )-41(set-user)15(-ID )-41(or )-41(the )-41(set-gr)18(oup-ID )-41(featur)17(e. )-291(Even)]TJ --0.99 -1.2 Td -[(though )-72(a )-72(pr)18(ocess )-72(might )-72(be )-72(set-user)18(-ID )-72(to )-72(r)18(oot, )-72(it )-72(might )-72(still )-72(want )-72(to )-72(verify )-72(that )-72(the )-72(r)15(eal)]TJ --0 -1.2 Td -[(user )-63(can )-63(access )-63(a )-63(given )-63(\336le.)-561(The)]TJ -/TT0 1 Tf -14.852 0 Td -(access)Tj -/T1_1 1 Tf -3.913 0 Td -(and)Tj -/TT0 1 Tf -2.006 0 Td -(faccessat)Tj -/T1_1 1 Tf -5.713 0 Td -[(functions )-62(base )-62(their )-62(tests )-62(on)]TJ --26.483 -1.2 Td -[(the )-100(r)18(eal )-100(user )-100(and )-100(gr)19(oup )-100(IDs.)-600(\(Replace)]TJ -/T1_2 1 Tf -17.59 0 Td -(effective)Tj -/T1_1 1 Tf -3.591 0 Td -(with)Tj -/T1_2 1 Tf --0.018 Tc 2.383 0 Td -(re)Tj -0 Tc 0.76 0 Td -(al)Tj -/T1_1 1 Tf -1.072 0 Td -[(in )-100(the )-100(four )-100(steps )-100(at )-100(the )-100(end )-100(of)]TJ --25.396 -1.2 Td -(Section 4.5.\))Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5903 359.0785 Tm -(#include )Tj -0 -1.783 TD -(int access\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 19.544 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj --21.344 -1.783 Td -(int faccessat\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 12.344 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.911 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --7.982 -1.783 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT3 1 Tf -9.213 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3064.25 cm -0 0 m -0 617 l -3900 617 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 288.1154 Tm -(The)Tj -/T1_2 1 Tf -1.99 0 Td -(mode)Tj -/T1_1 1 Tf -2.427 0 Td -[(is )-66(either )-66(the )-66(value)]TJ -/TT0 1 Tf -8.357 0 Td -(F_OK)Tj -/T1_1 1 Tf -2.716 0 Td -[(to )-66(test )-66(if )-66(a )-66(\336le )-66(exists, )-66(or )-66(the )-66(bitwise )-66(OR )-66(of )-66(any )-66(of )-66(the)]TJ --15.49 -1.2 Td -(\337ags shown in Figur)Tj -0.25 Tc 9.062 0 Td -(e4)Tj -0 Tc 1.229 0 Td -(.7.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2577.25 2621.25 cm -0 0 m -1338 0 l -S -Q -Q -BT -/T1_2 1 Tf -7.9986 0 0 7.9986 262.8247 254.1043 Tm -(mode)Tj -/T1_1 1 Tf -7.089 0 Td -(Description)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2577.25 2501.25 cm -0 0 m -1338 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2577.25 2481.25 cm -0 0 m -1338 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 261.6532 240.0924 Tm -(R_OK)Tj -/T1_1 1 Tf -3.9 0 Td -[(test for r)18(ead permission)]TJ -/TT0 1 Tf --3.9 -1.25 Td -(W_OK)Tj -/T1_1 1 Tf -3.9 0 Td -(test for write permission)Tj -/TT0 1 Tf --3.9 -1.25 Td -(X_OK)Tj -/T1_1 1 Tf -3.9 0 Td -(test for execute permission)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2577.25 2161.25 cm -0 0 m -1338 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2869.25 2161.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3915.25 2161.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2577.25 2161.25 cm -0 0 m -0 460 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 205.3864 198.0906 Tm -(Figure 4.7)Tj -/T1_1 1 Tf -5.195 0 Td -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(mode)Tj -/T1_1 1 Tf -2.361 0 Td -(\337ags for)Tj -/TT0 1 Tf -3.862 0 Td -(access)Tj -/T1_1 1 Tf -3.85 0 Td -[(function, fr)18(om)]TJ -/TT0 1 Tf -6.596 0 Td -()Tj -/T1_1 1 Tf -9.997 0 0 9.997 147.5561 174.0978 Tm -(The)Tj -/TT0 1 Tf -2.153 0 Td -(faccessat)Tj -/T1_1 1 Tf -5.879 0 Td -[(function )-229(behaves )-229(like)]TJ -/TT0 1 Tf -10.343 0 Td -(access)Tj -/T1_1 1 Tf -4.079 0 Td -[(when )-229(the)]TJ -/T1_2 1 Tf -4.822 0 Td -(pathname)Tj -/T1_1 1 Tf -4.423 0 Td -[(ar)18(gument )-229(is)]TJ --33.5 -1.2 Td -[(absolute )-52(or )-52(when )-52(the)]TJ -/T1_2 1 Tf -9.736 0 Td -(fd)Tj -/T1_1 1 Tf -1.08 0 Td -[(ar)18(gument )-52(has )-52(the )-52(value)]TJ -/TT0 1 Tf -10.846 0 Td -(AT_FDCWD)Tj -/T1_1 1 Tf -5.102 0 Td -[(and )-52(the)]TJ -/T1_2 1 Tf -3.684 0 Td -(pathname)Tj -/T1_1 1 Tf -4.246 0 Td -[(ar)18(gument)]TJ --34.694 -1.2 Td -[(is )-17(r)18(elative. )-267(Otherwise,)]TJ -/TT0 1 Tf -10.169 0 Td -(faccessat)Tj -/T1_1 1 Tf -5.667 0 Td -[(evaluates )-17(the)]TJ -/T1_2 1 Tf -6.087 0 Td -(pathname)Tj -/T1_1 1 Tf --0.018 Tc 4.211 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(lative )-17(to )-17(the )-17(open )-17(dir)19(ectory)]TJ --0.018 Tc -26.989 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(enced by the)]TJ -/T1_2 1 Tf -7.03 0 Td -(fd)Tj -/T1_1 1 Tf -1.028 0 Td -[(ar)18(gument.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47058 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.6)]TJ -24.776 0 Td -[(Ownership )-250(of )-250(New )-250(Files )-250(and )-250(Dir)18(ectories)]TJ -/T1_1 1 Tf -21.057 0 Td -(101)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-80(\336le )-80(access )-80(tests )-80(that )-80(the )-80(kernel )-80(performs )-80(each )-80(time )-80(a )-80(pr)18(ocess )-80(opens, )-80(cr)18(eates, )-80(or)]TJ --1.8 -1.2 Td -[(deletes )-71(a )-71(\336le )-71(depend )-71(on )-71(the )-71(owners )-71(of )-71(the )-71(\336le )-71(\()]TJ -/TT0 1 Tf -(st_uid)Tj -/T1_0 1 Tf -25.207 0 Td -(and)Tj -/TT0 1 Tf -2.014 0 Td -(st_gid)Tj -/T1_0 1 Tf -[(\), )-71(the )-71(ef)18(fective )-71(IDs)]TJ --27.221 -1.2 Td -[(of )-67(the )-67(pr)18(ocess )-67(\(ef)18(fective )-67(user )-67(ID )-67(and )-67(ef)19(fective )-67(gr)18(oup )-67(ID\), )-67(and )-67(the )-67(supplementary )-67(gr)19(oup)]TJ -0 -1.2 TD -[(IDs )-67(of )-67(the )-67(pr)18(ocess, )-67(if )-67(supported.)-567(The )-67(two )-67(owner )-67(IDs )-67(ar)]TJ -0.3168 Tc 24.852 0 Td -(ep)Tj --0.018 Tc 1.397 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(perties )-67(of )-67(the )-67(\336le, )-67(wher)19(eas)]TJ --27.172 -1.2 Td -[(the )-131(two )-131(ef)18(fective )-131(IDs )-131(and )-131(the )-131(supplementary )-131(gr)18(oup )-131(IDs )-131(ar)]TJ -0.3813 Tc 26.666 0 Td -(ep)Tj --0.018 Tc 1.461 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(perties )-131(of )-131(the )-131(pr)17(ocess.)]TJ --29.05 -1.2 Td -[(The tests performed by the kernel ar)18(e)-250(as)-250(follows:)]TJ -1.8 -2.4 Td -[(1. )-633(If)-261(the )-11(ef)18(fective )-11(user )-11(ID )-11(of )-11(the )-11(pr)18(ocess )-11(is )-11(0 )-11(\(the )-11(super)8(user\), )-11(access )-11(is )-11(allowed.)-517(This)]TJ -1.633 -1.2 Td -[(gives the super)8(user fr)18(ee r)18(ein thr)18(oughout the entir)]TJ -0.25 Tc 21.733 0 Td -(e\336)Tj -0 Tc 1.334 0 Td -(le system.)Tj --24.7 -1.84 Td -[(2. )-633(If)-385(the )-135(ef)18(fective )-135(user )-135(ID )-135(of )-135(the )-135(pr)18(ocess )-135(equals )-135(the )-135(owner )-135(ID )-135(of )-135(the )-135(\336le )-135(\(i.e., )-135(the)]TJ -1.633 -1.2 Td -[(pr)18(ocess )-451(owns )-451(the )-451(\336le\), )-451(access )-451(is )-451(allowed )-451(if )-451(the )-451(appr)14(opriate )-451(user )-451(access)]TJ -T* -[(permission )-232(bit )-232(is )-232(set.)-732(Otherwise, )-232(permission )-232(is )-232(denied.)-734(By)]TJ -/T1_2 1 Tf -28.068 0 Td -[(appr)18(opriate )-232(access)]TJ --28.068 -1.2 Td -[(permission )-152(bit)]TJ -/T1_0 1 Tf -[(,)-402(we)-402(m)-1(ean )-152(that )-152(if )-152(the )-152(pr)18(ocess )-152(is )-152(opening )-152(the )-152(\336le )-152(for )-152(r)18(eading, )-152(the)]TJ -T* -[(user)18(-r)18(ead )-226(bit )-226(must )-226(be )-226(on.)-726(If )-226(the )-226(pr)17(ocess )-226(is )-226(opening )-226(the )-226(\336le )-226(for )-226(writing, )-226(the)]TJ -0 -1.2 Td -[(user)18(-write bit must be on.)-502(If the pr)18(ocess is executing the \336le, the user)18(-execute bit)]TJ -0 -1.2 Td -(must be on.)Tj --1.633 -1.84 Td -[(3. )-633(If)-254(the )-4(ef)18(fective )-4(gr)18(oup )-4(ID )-4(of )-4(the )-4(pr)18(ocess )-4(or )-4(one )-4(of )-4(the )-4(supplementary )-4(gr)18(oup )-4(IDs )-4(of)]TJ -1.633 -1.2 Td -[(the )-89(pr)18(ocess )-89(equals )-89(the )-89(gr)18(oup )-89(ID )-89(of )-89(the )-89(\336le, )-89(access )-89(is )-89(allowed )-89(if )-89(the )-89(appr)18(opriate)]TJ -T* -[(gr)18(oup access permission bit is set.)-500(Otherwise, permission is denied.)]TJ --1.633 -1.84 Td -[(4. )-633(If)-703(the )-453(appr)18(opriate )-453(other )-453(access )-453(permission )-453(bit )-453(is )-453(set, )-453(access )-453(is )-453(allowed.)]TJ -1.633 -1.2 Td -(Otherwise, permission is denied.)Tj --1.633 -2.4 Td -[(These )-267(four )-267(steps )-267(ar)]TJ -0.5172 Tc 9.137 0 Td -(et)Tj -0 Tc 1.322 0 Td -[(ried )-267(in )-267(sequence.)-767(Note )-267(that )-267(if )-267(the )-267(pr)18(ocess )-267(owns )-267(the )-267(\336le)]TJ --12.259 -1.2 Td -[(\(step 2\),)-460(access )-210(is )-210(granted )-210(or )-210(denied )-210(based )-210(only )-210(on )-210(the )-210(user )-210(access )-210(permissions; )-210(the)]TJ -T* -[(gr)18(oup )-111(permissions )-111(ar)]TJ -0.3615 Tc 9.623 0 Td -(en)Tj -0 Tc 1.423 0 Td -[(ever )-111(looked )-111(at.)-612(Similarly)111(,)-361(if)-361(t)-1(he )-111(pr)18(ocess )-111(does )-111(not )-111(own )-111(the )-111(\336le)]TJ --11.046 -1.2 Td -[(but )-182(belongs )-182(to )-182(an )-182(appr)18(opriate )-182(gr)17(oup, )-182(access )-182(is )-182(granted )-182(or )-182(denied )-182(based )-182(only )-182(on )-182(the)]TJ -T* -[(gr)18(oup access permissions; the other permissions ar)]TJ -0.25 Tc 22.42 0 Td -(en)Tj -0 Tc 1.311 0 Td -(ot looked at.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5941 301.7819 Tm -[(4.6 )-1332(Owner)15(ship )-278(of )-278(Ne)]TJ -0.556 Tc 11.472 0 Td -(wF)Tj -0 Tc 1.945 0 Td -[(iles )-278(and )-278(Directories)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5918 282.583 Tm -[(When )-38(we )-38(described )-38(the )-38(cr)17(eation )-38(of )-38(a )-38(new )-38(\336le )-38(in )-38(Chapter )-38(3 )-38(using )-38(either)]TJ -/TT0 1 Tf -31.832 0 Td -(open)Tj -/T1_0 1 Tf -2.688 0 Td -(or)Tj -/TT0 1 Tf -1.229 0 Td -(creat)Tj -/T1_0 1 Tf -(,)Tj --35.75 -1.2 Td -[(we )-55(never )-55(said )-55(which )-55(values )-55(wer)]TJ -0.305 Tc 14.449 0 Td -(ea)Tj -0 Tc 1.284 0 Td -[(ssigned )-55(to )-55(the )-55(user )-55(ID )-55(and )-55(gr)18(oup )-55(ID )-55(of )-55(the )-55(new )-55(\336le.)]TJ --0.092 Tc -15.733 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-140(see )-140(how )-140(to )-140(cr)20(eate )-139(a )-139(new )-139(dir)18(ectory )-139(in )-139(Section )-139(4.21 )-139(when )-139(we )-139(describe )-139(the)]TJ -/TT0 1 Tf -34.613 0 Td -(mkdir)Tj -/T1_0 1 Tf --36 -1.2 Td -[(function. )-258(The)]TJ --0.008 Tc 6.397 0 Td -(ru)Tj -0 Tc 0.99 0 Td -[(les )-8(for )-8(the )-8(ownership )-8(of )-8(a )-8(new )-8(dir)18(ectory )-8(ar)]TJ -0.2582 Tc 18.831 0 Td -(ei)Tj -0 Tc 1.028 0 Td -[(dentical )-8(to )-8(the )-8(r)8(ules )-8(in )-8(this)]TJ --27.246 -1.2 Td -(section for the ownership of a new \336le.)Tj -1.8 -1.2 Td -[(The )-174(user )-174(ID )-174(of )-174(a )-174(new )-174(\336le )-174(is )-174(set )-174(to )-174(the )-174(ef)17(fective )-174(user )-174(ID )-174(of )-174(the )-174(pr)18(ocess. )-424(POSIX.1)]TJ --1.8 -1.2 Td -[(allows )-236(an )-236(implementation )-236(to )-236(choose )-236(one )-236(of )-236(the )-236(following )-236(options )-236(to )-236(determine )-236(the)]TJ -T* -[(gr)18(oup ID of a new \336le:)]TJ -1.8 -1.92 Td -[(1. )-633(The)-250(gr)18(oup ID of a new \336le can be the ef)18(fective gr)18(oup ID of the pr)18(ocess.)]TJ -0 -1.6 TD -[(2. )-633(The)-281(gr)18(oup )-31(ID )-31(of )-31(a )-31(new )-31(\336le )-31(can )-31(be )-31(the )-31(gr)18(oup )-31(ID )-31(of )-31(the )-31(dir)22(ectory )-31(in )-31(which )-31(the )-31(\336le)]TJ -1.633 -1.2 Td -[(is being cr)18(eated.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47059 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.5)]TJ -33.38 0 Td -[(File )-250(Access )-250(Permissions)]TJ -/T1_1 1 Tf -12.953 0 Td -(99)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(When )-76(we )-76(execute )-76(a )-76(pr)17(ogram )-76(\336le, )-76(the )-76(ef)18(fective )-76(user )-76(ID )-76(of )-76(the )-76(pr)18(ocess )-76(is )-76(usually )-76(the)]TJ --0.018 Tc -1.8 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(al )-66(user )-66(ID, )-66(and )-66(the )-66(ef)20(fective )-66(gr)18(oup )-66(ID )-66(is )-66(usually )-66(the )-66(r)18(eal )-66(gr)18(oup )-66(ID.)-562(However)74(,)-316(we)-316(c)1(an)]TJ --0.856 -1.2 Td -[(also )-123(set )-123(a )-123(special )-123(\337ag )-123(in )-123(the )-123(\336le\325s )-123(mode )-123(wor)]TJ -0.3727 Tc 20.151 0 Td -(d\()Tj -/TT0 1 Tf -0 Tc 1.317 0 Td -(st_mode)Tj -/T1_0 1 Tf -0.3727 Tc (\)t)Tj -0 Tc 5.232 0 Td -[(hat )-123(says, )-123(\324)37(\324When )-123(this )-123(\336le )-123(is)]TJ --26.7 -1.2 Td -[(executed, )-69(set )-69(the )-69(ef)18(fective )-69(user )-69(ID )-69(of )-69(the )-69(pr)18(ocess )-69(to )-69(be )-69(the )-69(owner )-69(of )-69(the )-69(\336le )-69(\()]TJ -/TT0 1 Tf -34.298 0 Td -(st_uid)Tj -/T1_0 1 Tf -[(\).\325)37(\325)]TJ --34.298 -1.2 Td -[(Similarly)111(,)-305(we)-305(can )-55(set )-55(another )-55(bit )-55(in )-55(the )-55(\336le\325s )-55(mode )-55(wor)]TJ -0.3052 Tc 24.474 0 Td -(dt)Tj -0 Tc 1.242 0 Td -[(hat )-55(causes )-55(the )-55(ef)18(fective )-55(gr)17(oup)]TJ --25.716 -1.2 Td -[(ID )-78(to )-78(be )-78(the )-78(gr)18(oup )-78(owner )-78(of )-78(the )-78(\336le )-78(\()]TJ -/TT0 1 Tf -16.844 0 Td -(st_gid)Tj -/T1_0 1 Tf -[(\). )-328(These)-327(two )-78(bits )-78(in )-78(the )-78(\336le\325s )-78(mode )-78(wor)20(d)]TJ --16.844 -1.2 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(alled the)Tj -/T1_2 1 Tf -4.059 0 Td -(set-user-ID)Tj -/T1_0 1 Tf -4.861 0 Td -(bit and the)Tj -/T1_2 1 Tf -5 0 Td -[(set-gr)18(oup-ID)]TJ -/T1_0 1 Tf -5.509 0 Td -(bit.)Tj --19.679 -1.2 Td -[(For )-55(example, )-55(if )-55(the )-55(owner )-55(of )-55(the )-55(\336le )-55(is )-55(the )-55(super)9(user )-55(and )-55(if )-55(the )-55(\336le\325s )-55(set-user)18(-ID )-55(bit)]TJ --1.8 -1.2 Td -[(is )-82(set, )-82(then )-82(while )-82(that )-82(pr)18(ogram )-82(\336le )-82(is )-82(r)8(unning )-82(as )-82(a )-82(pr)18(ocess, )-82(it )-82(has )-82(super)8(user )-82(privileges.)]TJ -0 -1.2 TD -[(This )-80(happens )-80(r)17(egar)18(dless )-80(of )-80(the )-80(r)18(eal )-80(user )-80(ID )-80(of )-80(the )-80(pr)15(ocess )-80(that )-80(executes )-80(the )-80(\336le.)-580(As )-80(an)]TJ --0 -1.2 Td -[(example, )-43(the )-43(UNIX )-43(System )-43(pr)18(ogram )-43(that )-43(allows )-43(anyone )-43(to )-43(change )-43(his )-43(or )-43(her )-43(passwor)18(d,)]TJ -/TT0 1 Tf -T* -(passwd)Tj -/T1_0 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.333 -0.04 Td -[(,)-281(is)-281(a)-281(set-user)18(-ID )-31(pr)18(ogram. )-281(This)-281(is )-31(r)18(equir)18(ed )-31(so )-31(that )-31(the )-31(pr)18(ogram )-31(can )-31(write )-31(the)]TJ --4.766 -1.2 Td -[(new )-129(passwor)18(d)-379(to)-379(the )-129(passwor)]TJ -0.3788 Tc 13.692 0 Td -(d\336)Tj -0 Tc 1.595 0 Td -[(le, )-129(typically )-129(either)]TJ -/TT0 1 Tf -8.564 0 Td -(/etc/passwd)Tj -/T1_0 1 Tf -6.979 0 Td -(or)Tj -/TT0 1 Tf -1.32 0 Td -(/etc/shadow)Tj -/T1_0 1 Tf -(,)Tj --32.15 -1.2 Td -[(\336les )-111(that )-111(should )-111(be )-111(writable )-111(only )-111(by )-111(the )-111(super)10(user)]TJ -0.6107 Tc 22.969 0 Td -(.B)Tj -0 Tc 1.472 0 Td -[(ecause )-111(a )-111(pr)19(ocess )-111(that )-111(is )-111(r)9(unning)]TJ --24.44 -1.2 Td -[(set-user)18(-ID )-146(to )-146(some )-146(other )-146(user )-146(usually )-146(assumes )-146(extra )-146(permissions, )-146(it )-146(must )-146(be )-146(written)]TJ -T* -[(car)18(efully)]TJ -0.5 Tc 3.763 0 Td -(.W)Tj -0 Tc 1.658 0 Td -[(e\325ll discuss these types of pr)18(ograms in mor)]TJ -0.25 Tc 18.826 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(etail in Chapter 8.)Tj --23.787 -1.2 Td -[(Returning )-197(to )-197(the)]TJ -/TT0 1 Tf -8.081 0 Td -(stat)Tj -/T1_0 1 Tf -2.847 0 Td -[(function, )-197(the )-197(set-user)19(-ID )-197(bit )-197(and )-197(the )-197(set-gr)18(oup-ID )-197(bit )-197(ar)19(e)]TJ --12.728 -1.2 Td -[(contained )-328(in )-328(the )-328(\336le\325s)]TJ -/TT0 1 Tf -11.011 0 Td -(st_mode)Tj -/T1_0 1 Tf -4.778 0 Td -[(value. )-578(These)-579(two )-328(bits )-328(can )-328(be )-328(tested )-328(against )-328(the)]TJ --15.79 -1.2 Td -(constants)Tj -/TT0 1 Tf -4.404 0 Td -(S_ISUID)Tj -/T1_0 1 Tf -4.45 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(S_ISGID)Tj -/T1_0 1 Tf -0.25 Tc (,r)Tj -0 Tc 5.077 0 Td -[(espectively)111(.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5943 421.7747 Tm -[(4.5 )-1332(File)-556(Access )-278(P)30(ermissions)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.592 403.7758 Tm -(The)Tj -/TT0 1 Tf -2.015 0 Td -(st_mode)Tj -/T1_0 1 Tf -4.541 0 Td -[(value )-91(also )-91(encodes )-91(the )-91(access )-91(permission )-91(bits )-91(for )-91(the )-91(\336le.)-591(When )-91(we )-91(say)]TJ -/T1_2 1 Tf --6.556 -1.2 Td -(\336le)Tj -/T1_0 1 Tf -[(,)-816(we)-816(mean )-566(any )-566(of )-566(the )-566(\336le )-566(types )-566(that )-566(we )-566(described )-566(earlier)]TJ -1.0658 Tc 31.931 0 Td -(.A)Tj -0 Tc 2.094 0 Td -[(ll )-566(the )-566(\336le)]TJ --34.025 -1.2 Td -[(types )167(\321 )167(dir)17(ectories, )-71(character )-71(special )-71(\336les, )-71(and )-71(so )-71(on)]TJ -0.0833 Tc 23.407 0 Td -(\321h)Tj -0 Tc 1.665 0 Td -[(ave )-71(permissions.)-571(Many )-71(people)]TJ --25.073 -1.2 Td -[(think of only r)18(egular \336les as having access permissions.)]TJ -1.8 -1.2 Td -(Ther)Tj -0.3072 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.286 0 Td -[(re )-93(n)]TJ -0 Tc 1.745 0 Td -[(ine )-57(permission )-57(bits )-57(for )-57(each )-57(\336le, )-57(divided )-57(into )-57(thr)16(ee )-57(categories.)-557(They )-57(ar)18(e)]TJ --6.882 -1.2 Td -(shown in Figur)Tj -0.25 Tc 6.724 0 Td -(e4)Tj -0 Tc 1.229 0 Td -(.6.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2620.25 3298.25 cm -0 0 m -1252 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 265.9481 321.7614 Tm -(st_mode)Tj -/T1_0 1 Tf -4.45 0 Td -[(mask )-2453(Meaning)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2620.25 3178.25 cm -0 0 m -1252 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2620.25 3158.25 cm -0 0 m -1252 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 276.3822 307.7446 Tm -(S_IRUSR)Tj -/T1_0 1 Tf -7.006 0 Td -[(user)18(-r)18(ead)]TJ -/TT0 1 Tf --7.006 -1.25 Td -(S_IWUSR)Tj -/T1_0 1 Tf -7.006 0 Td -[(user)18(-write)]TJ -/TT0 1 Tf --7.006 -1.25 Td -(S_IXUSR)Tj -/T1_0 1 Tf -7.006 0 Td -[(user)18(-execute)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2620.25 2838.25 cm -0 0 m -1252 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 276.3657 275.7338 Tm -(S_IRGRP)Tj -/T1_0 1 Tf -7.006 0 Td -[(gr)18(oup-r)18(ead)]TJ -/TT0 1 Tf --7.006 -1.25 Td -(S_IWGRP)Tj -/T1_0 1 Tf -7.006 0 Td -[(gr)18(oup-write)]TJ -/TT0 1 Tf --7.006 -1.25 Td -(S_IXGRP)Tj -/T1_0 1 Tf -7.006 0 Td -[(gr)18(oup-execute)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2620.25 2518.25 cm -0 0 m -1252 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 276.3491 243.7269 Tm -(S_IROTH)Tj -/T1_0 1 Tf -7.006 0 Td -[(other)18(-r)18(ead)]TJ -/TT0 1 Tf --7.006 -1.25 Td -(S_IWOTH)Tj -/T1_0 1 Tf -7.006 0 Td -[(other)18(-write)]TJ -/TT0 1 Tf --7.006 -1.25 Td -(S_IXOTH)Tj -/T1_0 1 Tf -7.006 0 Td -[(other)18(-execute)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2620.25 2198.25 cm -0 0 m -1252 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3265.25 2198.25 cm -0 0 m -0 1100 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3872.25 2198.25 cm -0 0 m -0 1100 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2620.25 2198.25 cm -0 0 m -0 1100 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 201.5594 201.7274 Tm -(Figure 4.6)Tj -/T1_0 1 Tf -5.195 0 Td -[(The nine \336le access permission bits, fr)18(om)]TJ -/TT0 1 Tf -18.347 0 Td -()Tj -/T1_0 1 Tf -9.9964 0 0 9.9964 129.5536 177.736 Tm -[(The )-122(term)]TJ -/T1_2 1 Tf -4.502 0 Td -(user)Tj -/T1_0 1 Tf -2.095 0 Td -[(in )-122(the )-122(\336rst )-122(thr)18(ee )-122(r)18(ows )-122(in )-122(Figur)]TJ -0.3724 Tc 13.924 0 Td -(e4)Tj -0 Tc 1.351 0 Td -[(.6 )-122(r)18(efers )-122(to )-122(the )-122(owner )-122(of )-122(the )-122(\336le.)-626(The)]TJ -/TT0 1 Tf --21.873 -1.2 Td -(chmod)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.846 -0.04 Td -[(command, )-262(which )-262(is )-262(typically )-262(used )-262(to )-262(modify )-262(these )-262(nine )-262(permission )-262(bits,)]TJ --4.679 -1.2 Td -[(allows )-62(us )-62(to )-62(specify)]TJ -/TT0 1 Tf -9.163 0 Td -(u)Tj -/T1_0 1 Tf -0.912 0 Td -[(for )-62(user )-62(\(owner\),)]TJ -/TT0 1 Tf -7.864 0 Td -(g)Tj -/T1_0 1 Tf -0.912 0 Td -[(for )-62(gr)18(oup, )-62(and)]TJ -/TT0 1 Tf -6.837 0 Td -(o)Tj -/T1_0 1 Tf -0.912 0 Td -[(for )-62(other)]TJ -0.5624 Tc 3.84 0 Td -(.S)Tj -0 Tc 1.337 0 Td -[(ome )-62(books )-62(r)17(efer)]TJ --31.779 -1.2 Td -[(to )-135(these )-135(thr)18(ee )-135(as )-135(owner)]TJ -0.3855 Tc 10.633 0 Td -(,g)Tj --0.018 Tc 1.191 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(up, )-135(and )-135(world; )-135(this )-135(is )-135(confusing, )-135(as )-135(the)]TJ -/TT0 1 Tf -18.418 0 Td -(chmod)Tj -/T1_0 1 Tf -3.386 0 Td -(command)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47060 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(98)Tj -/T1_1 1 Tf -3 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.741 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2469.25 6670.25 cm -0 0 m -1554 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 264.9641 658.9605 Tm -[(File type)-3500(Count )-1492(Per)18(centage)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2469.25 6550.25 cm -0 0 m -1554 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2469.25 6530.25 cm -0 0 m -1554 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.018 Tc 7.999 0 0 7.999 250.8859 644.9226 Tm -(re)Tj -0 Tc 0.856 0 Td -[(gular \336le)-4019(415,803 )-1993(79.77)-250(%)]TJ --0.856 -1.25 Td -[(dir)18(ectory )]TJ -9.345 0 Td -(62,197)Tj --0.055 Tc 5.048 0 Td -(11)Tj -0 Tc 0.945 0 Td -(.93)Tj --15.338 -1.25 Td -[(symbolic link)-3387(40,018 )-2493(8.25)]TJ -0 -1.25 TD -[(character special)-3250(155 )-2493(0.03)]TJ -T* -(block special)Tj -11.095 0 Td -[(47 )-2493(0.01)]TJ --11.095 -1.25 Td -(socket )Tj -11.095 0 Td -[(45)-2743(0.01)]TJ --11.095 -1.25 Td -(FIFO )Tj -11.595 0 Td -[(0)-2743(0.00)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2469.25 5810.25 cm -0 0 m -1554 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3537.25 5810.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3157.25 5810.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4023.25 5810.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2469.25 5810.25 cm -0 0 m -0 860 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 223.5278 562.8987 Tm -(Figure 4.4)Tj -/T1_1 1 Tf -5.195 0 Td -[(Counts and per)18(centages of dif)18(fer)18(ent \336le types)]TJ -/TT0 1 Tf -11.9978 0 0 11.9978 93.5834 526.9051 Tm -[(4.4 )-1332(Set-User)20(-ID )-278(and )-278(Set-Gr)20(oup-ID)]TJ -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5766 505.309 Tm -[(Every pr)18(ocess has six or mor)]TJ -0.25 Tc 12.635 0 Td -(eI)Tj -0 Tc 1.066 0 Td -[(Ds associated with it.)-500(These ar)]TJ -0.25 Tc 13.597 0 Td -(es)Tj -0 Tc 1.153 0 Td -(hown in Figur)Tj -0.25 Tc 6.3 0 Td -(e4)Tj -0 Tc 1.229 0 Td -(.5.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2025.25 4890.25 cm -0 0 m -2441 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.018 Tc 7.9981 0 0 7.9981 206.4944 480.8846 Tm -(re)Tj -0 Tc 0.856 0 Td -(al user ID)Tj --0.018 Tc -0.856 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(al gr)18(oup ID)]TJ -12.082 0.625 Td -[(who we r)18(eally ar)18(e)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2025.25 4670.25 cm -0 0 m -2441 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 206.482 458.8623 Tm -[(ef)18(fective user ID)]TJ -T* -[(ef)18(fective gr)18(oup ID)-4933(used for \336le access permission checks)]TJ -T* -[(supplementary gr)18(oup IDs)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2025.25 4350.25 cm -0 0 m -2441 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 206.4697 426.8463 Tm -[(saved set-user)18(-ID)]TJ -T* -[(saved set-gr)18(oup-ID)]TJ -12.938 0.625 Td -(saved by)Tj -/TT1 1 Tf -4.188 0 Td -(exec)Tj -/T1_1 1 Tf -2.65 0 Td -(functions)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2025.25 4130.25 cm -0 0 m -2441 0 l -2441 760 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2025.25 4130.25 cm -0 0 m -0 760 l -S -Q -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 210.1317 394.8341 Tm -(Figure 4.5)Tj -/T1_1 1 Tf -5.195 0 Td -[(User IDs and gr)18(oup IDs associated with each pr)18(ocess)]TJ -0.883 Tc 9.9958 0 0 9.9958 147.5382 370.8442 Tm -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-47(r)18(eal )-47(user )-47(ID )-47(and )-47(r)18(eal )-47(gr)18(oup )-47(ID )-47(identify )-47(who )-47(we )-47(r)17(eally )-47(ar)18(e. )-297(These)-297(two )-47(\336elds)]TJ --0.613 -1.2 Td -(ar)Tj -0.333 Tc 0.877 0 Td -(et)Tj -0 Tc 1.138 0 Td -[(aken )-83(fr)18(om )-83(our )-83(entry )-83(in )-83(the )-83(passwor)]TJ -0.3329 Tc 16.102 0 Td -(d\336)Tj -0 Tc 1.549 0 Td -[(le )-83(when )-83(we )-83(log )-83(in.)-582(Normally)]TJ -0.3329 Tc 13.173 0 Td -(,t)Tj -0 Tc 0.909 0 Td -(hese)Tj --33.747 -1.2 Td -[(values )-289(don\325t )-289(change )-289(during )-289(a )-289(login )-289(session, )-289(although )-289(ther)]TJ -0.5389 Tc 27.632 0 Td -(ea)Tj --0.018 Tc 1.518 0 Td -[(re )-325(w)]TJ -0 Tc 2.229 0 Td -[(ays )-289(for )-289(a)]TJ --31.379 -1.2 Td -[(super)8(user pr)18(ocess to change them, which we describe in Section 8.1)55(1.)]TJ -0.883 Tc -1.489 -1.48 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-418(ef)18(fective )-418(user )-418(ID, )-418(ef)18(fective )-418(gr)18(oup )-418(ID, )-418(and )-418(supplementary )-418(gr)18(oup )-418(IDs)]TJ --0.613 -1.2 Td -[(determine )-131(our )-131(\336le )-131(access )-131(permissions, )-131(as )-131(we )-131(describe )-131(in )-131(the )-131(next )-131(section.)-633(\(W)92(e)]TJ -0 -1.2 TD -[(de\336ned supplementary gr)18(oup IDs in Section 1.8.\))]TJ -0.883 Tc -1.489 -1.48 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-207(saved )-207(set-user)18(-ID )-207(and )-207(saved )-207(set-gr)18(oup-ID )-207(contain )-207(copies )-207(of )-207(the )-207(ef)13(fective)]TJ --0.613 -1.2 Td -[(user )-140(ID )-140(and )-140(the )-140(ef)20(fective )-140(gr)18(oup )-140(ID, )-140(r)19(espectively)]TJ -0.3897 Tc 21.775 0 Td -(,w)Tj -0 Tc 1.474 0 Td -[(hen )-140(a )-140(pr)18(ogram )-140(is )-140(executed.)]TJ --0.092 Tc -23.249 -1.2 Td -[(We )-466(d)]TJ -0 Tc 2.53 0 Td -[(escribe )-282(the )-282(function )-282(of )-282(these )-282(two )-282(saved )-282(values )-282(when )-282(we )-282(describe )-282(the)]TJ -/TT1 1 Tf --2.53 -1.2 Td -(setuid)Tj -/T1_1 1 Tf -3.85 0 Td -[(function in Section 8.1)55(1.)]TJ -7.9966 0 0 7.9966 201.5156 222.9064 Tm -[(The )-2(saved )-2(IDs )-2(ar)]TJ -0.252 Tc 7.421 0 Td -(er)Tj -0 Tc 1.108 0 Td -[(equir)18(ed )-2(as )-2(of )-2(the )-2(2001 )-2(version )-2(of )-2(POSIX.1.)-502(They )-2(wer)]TJ -0.252 Tc 23.108 0 Td -(eo)Tj -0 Tc 1.277 0 Td -[(ptional )-2(in )-2(older)]TJ --32.914 -1.25 Td -[(versions )-251(of )-251(POSIX.)-751(An )-251(application )-251(can )-251(test )-251(for )-251(the )-251(constant)]TJ -/TT1 1 Tf -28.823 0 Td -(_POSIX_SAVED_IDS)Tj -/T1_1 1 Tf -10.101 0 Td -(at)Tj --38.924 -1.25 Td -[(compile )-30(time )-30(or )-30(can )-30(call)]TJ -/TT1 1 Tf -10.905 0 Td -(sysconf)Tj -/T1_1 1 Tf -4.48 0 Td -[(with )-30(the)]TJ -/TT1 1 Tf -3.979 0 Td -(_SC_SAVED_IDS)Tj -/T1_1 1 Tf -8.08 0 Td -[(ar)18(gument )-30(at )-30(r)8(untime, )-30(to )-30(see)]TJ --27.444 -1.25 Td -[(whether the implementation supports this featur)18(e.)]TJ -9.9958 0 0 9.9958 129.5461 170.1285 Tm -(Normally)Tj -0.2576 Tc 4.182 0 Td -(,t)Tj -0 Tc 0.834 0 Td -[(he )-8(ef)18(fective )-8(user )-8(ID )-8(equals )-8(the )-8(r)20(eal )-7(user )-7(ID, )-7(and )-7(the )-7(ef)18(fective )-7(gr)18(oup )-7(ID )-7(equals)]TJ --5.016 -1.2 Td -[(the r)18(eal gr)18(oup ID.)]TJ -1.8 -1.2 Td -[(Every )-43(\336le )-43(has )-43(an )-43(owner )-43(and )-43(a )-43(gr)15(oup )-43(owner)]TJ -0.5435 Tc 19.39 0 Td -(.T)Tj -0 Tc 1.406 0 Td -[(he )-43(owner )-43(is )-43(speci\336ed )-43(by )-43(the)]TJ -/TT1 1 Tf -12.803 0 Td -(st_uid)Tj -/T1_1 1 Tf --35.4 -1.2 Td -(member of the)Tj -/TT1 1 Tf -6.688 0 Td -(stat)Tj -/T1_1 1 Tf -2.65 0 Td -[(str)8(uctur)18(e; the gr)18(oup owner)74(,)-250(by)-250(the)]TJ -/TT1 1 Tf -15.297 0 Td -(st_gid)Tj -/T1_1 1 Tf -3.85 0 Td -[(member)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47061 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.3)]TJ -39.633 0 Td -[(File )-250(T)90(ypes)]TJ -/T1_1 1 Tf -6.7 0 Td -(95)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Note )-78(that )-78(most )-78(members )-78(of )-78(the)]TJ -/TT0 1 Tf -14.424 0 Td -(stat)Tj -/T1_0 1 Tf -2.728 0 Td -[(str)8(uctur)]TJ -0.3278 Tc 3.49 0 Td -(ea)Tj --0.018 Tc 1.307 0 Td -[(re )-114(s)]TJ -0 Tc 1.608 0 Td -[(peci\336ed )-78(by )-78(a )-78(primitive )-78(system)]TJ --25.356 -1.2 Td -[(data )-67(type )-67(\(see )-67(Section )-67(2.8\).)]TJ --0.092 Tc 12.475 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-67(go )-67(thr)18(ough )-67(each )-67(member )-67(of )-67(this )-67(str)7(uctur)18(e)-317(to)-317(examine)]TJ --13.862 -1.2 Td -(the attributes of a \336le.)Tj -1.8 -1.2 Td -[(The )-31(biggest )-31(user )-31(of )-31(the)]TJ -/TT0 1 Tf -10.43 0 Td -(stat)Tj -/T1_0 1 Tf -2.681 0 Td -[(functions )-31(is )-31(pr)18(obably )-31(the)]TJ -/TT0 1 Tf -11.333 0 Td -[(ls )267(-l)]TJ -/T1_0 1 Tf -3.014 0 Td -[(command, )-31(to )-31(learn )-31(all)]TJ --29.258 -1.2 Td -(the information about a \336le.)Tj -/TT1 1 Tf -11.9993 0 0 11.9993 93.5937 587.3648 Tm -[(4.3 )-1332(File)]TJ --0.06 Tc 5.279 0 Td -(Ty)Tj -0 Tc 1.107 0 Td -(pes)Tj -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5915 565.7661 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-28(talked )-28(about )-28(two )-28(dif)18(fer)18(ent )-28(types )-28(of )-28(\336les )-28(so )-28(far: )-28(r)19(egular )-28(\336les )-28(and )-28(dir)18(ectories. )-278(Most)]TJ --1.387 -1.2 Td -[(\336les )-141(on )-141(a )-141(UNIX )-141(system )-141(ar)]TJ -0.3912 Tc 11.965 0 Td -(ee)Tj -0 Tc 1.349 0 Td -[(ither )-141(r)18(egular )-141(\336les )-141(or )-141(dir)18(ectories, )-141(but )-141(ther)]TJ -0.3911 Tc 18.52 0 Td -(ea)Tj --0.018 Tc 1.37 0 Td -[(re )-177(a)]TJ -0 Tc 1.747 0 Td -(dditional)Tj --34.951 -1.2 Td -[(types of \336les.)-500(The types ar)18(e)]TJ -1.8 -1.92 Td -[(1. )-633(Regular)-309(\336le. )-309(The)-308(most )-59(common )-59(type )-59(of )-59(\336le, )-59(which )-59(contains )-59(data )-59(of )-59(some )-59(form.)]TJ -1.633 -1.2 Td -[(Ther)18(e)-376(is)-376(no)-376(d)-1(istinction )-126(to )-126(the )-126(UNIX )-126(kernel )-126(whether )-126(this )-126(data )-126(is )-126(text )-126(or )-126(binary)107(.)]TJ -0 -1.2 Td -[(Any )-230(interpr)18(etation )-230(of )-230(the )-230(contents )-230(of )-230(a )-230(r)18(egular )-230(\336le )-230(is )-230(left )-230(to )-230(the )-230(application)]TJ -0 -1.2 TD -[(pr)18(ocessing the \336le.)]TJ -7.9995 0 0 7.9995 201.5874 466.572 Tm -[(One )-99(notable )-99(exception )-99(to )-99(this )-99(is )-99(with )-99(binary )-99(executable )-99(\336les.)]TJ --0.092 Tc 27.967 0 Td -[(To )-283(e)]TJ -0 Tc 1.895 0 Td -[(xecute )-99(a )-99(pr)18(ogram, )-99(the)]TJ --29.862 -1.25 Td -[(kernel )-102(must )-102(understand )-102(its )-102(format.)-602(All )-102(binary )-102(executable )-102(\336les )-102(conform )-102(to )-102(a )-102(format )-102(that)]TJ -0 -1.25 TD -[(allows the kernel to identify wher)18(e)-250(to)-250(load a pr)18(ogram\325s text and data.)]TJ -9.9994 0 0 9.9994 147.5905 425.5745 Tm -[(2. )-633(Dir)18(ectory )-246(\336le.)]TJ -0.4963 Tc 8.689 0 Td -(A\336)Tj -0 Tc 1.879 0 Td -[(le )-246(that )-246(contains )-246(the )-246(names )-246(of )-246(other )-246(\336les )-246(and )-246(pointers )-246(to)]TJ --8.935 -1.2 Td -[(information )-37(on )-37(these )-37(\336les.)-537(Any )-37(pr)18(ocess )-37(that )-37(has )-37(r)20(ead )-37(permission )-37(for )-37(a )-37(dir)18(ectory)]TJ -0 -1.2 TD -[(\336le )-59(can )-59(r)18(ead )-59(the )-59(contents )-59(of )-59(the )-59(dir)20(ectory)]TJ -0.3086 Tc 18.305 0 Td -(,b)Tj -0 Tc 1.112 0 Td -[(ut )-59(only )-59(the )-59(kernel )-59(can )-59(write )-59(dir)20(ectly)]TJ --19.416 -1.2 Td -[(to )-46(a )-46(dir)18(ectory )-46(\336le.)-547(Pr)18(ocesses )-46(must )-46(use )-46(the )-46(functions )-46(described )-46(in )-46(this )-46(chapter )-46(to)]TJ -0 -1.2 Td -[(make changes to a dir)18(ectory)111(.)]TJ --1.633 -1.6 Td -[(3. )-633(Block)-251(special )-1(\336le.)]TJ -0.2515 Tc 9.741 0 Td -(At)Tj -0 Tc 1.356 0 Td -[(ype )-1(of )-1(\336le )-1(pr)18(oviding )-1(buf)16(fer)18(ed )-1(I/O )-1(access )-1(in )-1(\336xed-size )-1(units)]TJ --9.463 -1.2 Td -(to devices such as disk drives.)Tj -7.9995 0 0 7.9995 201.5873 329.5802 Tm -[(Note )-28(that )-28(Fr)19(eeBSD )-28(no )-28(longer )-28(supports )-28(block )-28(special )-28(\336les.)-528(All )-28(access )-28(to )-28(devices )-28(is )-28(thr)20(ough)]TJ --0 -1.25 Td -(the character special interface.)Tj -9.9994 0 0 9.9994 147.5904 295.5823 Tm -[(4. )-633(Character)-606(special )-356(\336le.)]TJ -0.606 Tc 12.686 0 Td -(At)Tj -0 Tc 1.71 0 Td -[(ype )-356(of )-356(\336le )-356(pr)18(oviding )-356(unbuf)18(fer)18(ed )-356(I/O )-356(access )-356(in)]TJ --12.763 -1.2 Td -[(variable-sized )-63(units )-63(to )-63(devices.)-565(All )-64(devices )-64(on )-64(a )-64(system )-64(ar)]TJ -0.3136 Tc 26.175 0 Td -(ee)Tj -0 Tc 1.272 0 Td -[(ither )-64(block )-64(special)]TJ --27.447 -1.2 Td -(\336les or character special \336les.)Tj --1.633 -1.6 Td -[(5. )-633(FIFO.)]TJ -0.2724 Tc 4.64 0 Td -(At)Tj -0 Tc 1.376 0 Td -[(ype )-22(of )-22(\336le )-22(used )-22(for )-22(communication )-22(between )-22(pr)15(ocesses. )-272(It\325s)-273(sometimes)]TJ --4.384 -1.2 Td -(called a named pipe.)Tj --0.092 Tc 9.643 0 Td -[(We )-184(d)]TJ -0 Tc 2.248 0 Td -(escribe FIFOs in Section 15.5.)Tj --13.524 -1.6 Td -[(6. )-633(Socket.)]TJ -0.3599 Tc 5.369 0 Td -(At)Tj -0 Tc 1.464 0 Td -[(ype )-110(of )-110(\336le )-110(used )-110(for )-110(network )-110(communication )-110(between )-110(pr)19(ocesses. )-360(A)]TJ --5.2 -1.2 Td -[(socket )-8(can )-8(also )-8(be )-8(used )-8(for )-8(non-network )-8(communication )-8(between )-8(pr)14(ocesses )-8(on )-8(a)]TJ -T* -(single host.)Tj --0.092 Tc 5.501 0 Td -[(We )-184(u)]TJ -0 Tc 2.24 0 Td -[(se sockets for interpr)18(ocess communication in Chapter 16.)]TJ --9.374 -1.6 Td -[(7. )-633(Symbolic)-409(link. )-409(A)-409(type )-159(of )-159(\336le )-159(that )-159(points )-159(to )-159(another )-159(\336le.)]TJ --0.092 Tc 28.099 0 Td -[(We )-343(t)]TJ -0 Tc 2.122 0 Td -[(alk )-159(mor)]TJ -0.4093 Tc 3.562 0 Td -(ea)Tj -0 Tc 1.388 0 Td -(bout)Tj --33.539 -1.2 Td -(symbolic links in Section 4.17.)Tj --3.433 -1.8 Td -[(The )-123(type )-123(of )-123(a )-123(\336le )-123(is )-123(encoded )-123(in )-123(the)]TJ -/TT0 1 Tf -16.471 0 Td -(st_mode)Tj -/T1_0 1 Tf -4.573 0 Td -[(member )-123(of )-123(the)]TJ -/TT0 1 Tf -7.056 0 Td -(stat)Tj -/T1_0 1 Tf -2.773 0 Td -[(str)8(uctur)18(e. )-373(W)]TJ -0.3726 Tc 5.75 0 Td -(ec)Tj -0 Tc 1.296 0 Td -(an)Tj --37.918 -1.2 Td -[(determine )-81(the )-81(\336le )-81(type )-81(with )-81(the )-81(macr)18(os )-81(shown )-81(in )-81(Figur)]TJ -0.3312 Tc 25.048 0 Td -(e4)Tj -0 Tc 1.31 0 Td -[(.1. )-331(The)-331(ar)18(gument )-81(to )-81(each )-81(of)]TJ --26.358 -1.2 Td -[(these macr)18(os is the)]TJ -/TT0 1 Tf -8.566 0 Td -(st_mode)Tj -/T1_0 1 Tf -4.45 0 Td -[(member fr)18(om the)]TJ -/TT0 1 Tf -7.948 0 Td -(stat)Tj -/T1_0 1 Tf -2.65 0 Td -[(str)8(uctur)18(e.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47062 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -(4)Tj -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Files )-280(and )-280(Dir)4(ector )260(ies)]TJ -/TT0 1 Tf -12 0 0 12 93.6 446.3998 Tm -[(4.1 )-1332(Intr)20(oduction)]TJ -/T1_2 1 Tf -10 0 0 10 129.6 424.7998 Tm -[(In )-389(the )-389(pr)18(evious )-389(chapter )-389(we )-389(cover)18(ed )-389(the )-389(basic )-389(functions )-389(that )-389(perform )-389(I/O.)-889(The)]TJ -0 -1.2 TD -[(discussion )-113(center)18(ed )-113(on )-113(I/O )-113(for )-113(r)18(egular )-113(\336les)]TJ -0.0833 Tc 19.809 0 Td -(\321o)Tj -0 Tc 1.629 0 Td -[(pening )-113(a )-113(\336le, )-113(and )-113(r)18(eading )-113(or )-113(writing )-113(a)]TJ --21.439 -1.2 Td -[(\336le. )-296(W)92(e\325ll )-46(now )-46(look )-46(at )-46(additional )-46(featur)16(es )-47(of )-47(the )-47(\336le )-47(system )-47(and )-47(the )-47(pr)18(operties )-47(of )-47(a )-47(\336le.)]TJ --0.092 Tc -0 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-29(start )-29(with )-29(the)]TJ -/TT1 1 Tf -7.366 0 Td -(stat)Tj -/T1_2 1 Tf -2.679 0 Td -[(functions )-29(and )-29(go )-29(thr)18(ough )-29(each )-29(member )-29(of )-29(the)]TJ -/TT1 1 Tf -20.671 0 Td -(stat)Tj -/T1_2 1 Tf -2.679 0 Td -[(str)8(uctur)18(e,)]TJ --34.781 -1.2 Td -[(looking )-181(at )-181(all )-181(the )-181(attributes )-181(of )-181(a )-181(\336le.)-679(In )-181(this )-181(pr)18(ocess, )-181(we\325ll )-181(also )-181(describe )-181(each )-181(of )-181(the)]TJ -T* -[(functions )-95(that )-95(modify )-95(these )-95(attributes: )-95(change )-95(the )-95(owner)]TJ -0.3452 Tc 25.556 0 Td -(,c)Tj -0 Tc 1.039 0 Td -[(hange )-95(the )-95(permissions, )-95(and)]TJ --26.596 -1.2 Td -[(so )-13(on.)]TJ --0.092 Tc 3.125 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-13(also )-13(look )-13(in )-13(mor)]TJ -0.2633 Tc 8.292 0 Td -(ed)Tj -0 Tc 1.353 0 Td -[(etail )-13(at )-13(the )-13(str)7(uctur)18(e)-263(of)-263(a)-263(U)-1(NIX )-13(\336le )-13(system )-13(and )-13(symbolic)]TJ --14.157 -1.2 Td -[(links. )-452(W)]TJ -0.4521 Tc 4.004 0 Td -(e\336)Tj -0 Tc 1.536 0 Td -[(nish )-202(this )-202(chapter )-202(with )-202(the )-202(functions )-202(that )-202(operate )-202(on )-202(dir)17(ectories, )-202(and )-202(we)]TJ --5.54 -1.2 Td -[(develop a function that descends thr)18(ough a dir)18(ectory hierar)18(chy)111(.)]TJ -/TT0 1 Tf -12 0 0 12 93.5998 295.1998 Tm -(4.2)Tj -/TT2 1 Tf -3 0 Td -(stat)Tj -/TT0 1 Tf -(,)Tj -/TT2 1 Tf -3.234 0 Td -(fstat)Tj -/TT0 1 Tf -(,)Tj -/TT2 1 Tf -3.834 0 Td -(fstatat)Tj -/TT0 1 Tf -0.556 Tc (,a)Tj -0 Tc 5.59 0 Td -(nd)Tj -/TT2 1 Tf -1.778 0 Td -(lstat)Tj -/TT0 1 Tf -3.556 0 Td -(Functions)Tj -/T1_2 1 Tf -10 0 0 10 129.5993 273.5998 Tm -[(The )-93(discussion )-93(in )-93(this )-93(chapter )-93(centers )-93(on )-93(the )-93(four)]TJ -/TT1 1 Tf -22.742 0 Td -(stat)Tj -/T1_2 1 Tf -2.743 0 Td -[(functions )-93(and )-93(the )-93(information)]TJ --25.485 -1.2 Td -[(they r)18(eturn.)]TJ -/TT1 1 Tf -9 0 0 9 147.5994 243.6998 Tm -(#include )Tj -0 -1.902 TD -(int stat\(const char *restrict)Tj -/T1_3 1 Tf -18 0 Td -(pathname)Tj -/TT1 1 Tf -0.6 Tc (,s)Tj -0 Tc 5.744 0 Td -(truct stat *restrict)Tj -/T1_3 1 Tf -12.6 0 Td -(buf)Tj -/TT1 1 Tf -1.482 0 Td -(\);)Tj --37.826 -1.902 Td -(int fstat\(int)Tj -/T1_3 1 Tf -8.4 0 Td -(fd)Tj -/TT1 1 Tf -0.6 Tc (,s)Tj -0 Tc 2.578 0 Td -(truct stat *)Tj -/T1_3 1 Tf -(buf)Tj -/TT1 1 Tf -8.682 0 Td -(\);)Tj --19.66 -1.902 Td -(int lstat\(const char *restrict)Tj -/T1_3 1 Tf -18.6 0 Td -(pathname)Tj -/TT1 1 Tf -0.6 Tc (,s)Tj -0 Tc 5.744 0 Td -(truct stat *restrict)Tj -/T1_3 1 Tf -12.6 0 Td -(buf)Tj -/TT1 1 Tf -1.482 0 Td -(\);)Tj --38.426 -1.902 Td -(int fstatat\(int)Tj -/T1_3 1 Tf -9.6 0 Td -(fd)Tj -/TT1 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *restrict)Tj -/T1_3 1 Tf -12 0 Td -(pathname)Tj -/TT1 1 Tf -(,)Tj --16.978 -1.189 Td -(struct stat *restrict)Tj -/T1_3 1 Tf -13.2 0 Td -(buf)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.097 0 Td -(nt)Tj -/T1_3 1 Tf -1.8 0 Td -(\337ag)Tj -/TT1 1 Tf -1.537 0 Td -(\);)Tj -/T1_2 1 Tf --3.005 -1.902 Td -[(All four r)18(eturn: 0 if OK,)]TJ -/TT3 1 Tf -10.635 0 Td -(!)Tj -/T1_2 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1429.25 cm -0 0 m -0 1098 l -3900 1098 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_4 1 Tf -8.9995 0 0 8.9995 510.5694 113.9932 Tm -(93)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47063 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(90)Tj -/T1_1 1 Tf -3 0 Td -[(File )-250(I/O)]TJ -39.741 0 Td -[(Chapter )-250(3)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(3.17 )-776(Summar)-10(y)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 647.3612 Tm -[(This )-240(chapter )-240(has )-240(described )-240(the )-240(basic )-240(I/O )-240(functions )-240(pr)19(ovided )-240(by )-240(the )-240(UNIX )-240(System.)]TJ -0 -1.2 TD -[(These )-264(ar)]TJ -0.5145 Tc 3.969 0 Td -(eo)Tj -0 Tc 1.539 0 Td -[(ften )-265(called )-265(the )-265(unbuf)19(fer)18(ed )-265(I/O )-265(functions )-265(because )-265(each)]TJ -/TT1 1 Tf -26.122 0 Td -(read)Tj -/T1_1 1 Tf -2.915 0 Td -(or)Tj -/TT1 1 Tf -1.456 0 Td -(write)Tj -/T1_1 1 Tf --36 -1.2 Td -[(invokes )-118(a )-118(system )-118(call )-118(into )-118(the )-118(kernel.)-618(Using )-118(only)]TJ -/TT1 1 Tf -22.894 0 Td -(read)Tj -/T1_1 1 Tf -2.768 0 Td -(and)Tj -/TT1 1 Tf -2.061 0 Td -(write)Tj -/T1_1 1 Tf -[(,)-368(we)-368(looked )-118(at )-118(the)]TJ --27.723 -1.2 Td -[(ef)18(fect )-20(of )-20(various )-20(I/O )-20(sizes )-20(on )-20(the )-20(amount )-20(of )-20(time )-20(r)16(equir)18(ed )-20(to )-20(r)18(ead )-20(a )-20(\336le.)]TJ --0.092 Tc 32.283 0 Td -[(We )-204(a)]TJ -0 Tc 2.157 0 Td -[(lso )-20(looked)]TJ --34.44 -1.2 Td -[(at )-6(several )-6(ways )-6(to )-6(\337ush )-6(written )-6(data )-6(to )-6(disk )-6(and )-6(their )-6(ef)18(fect )-6(on )-6(application )-6(performance.)]TJ -1.8 -1.2 Td -[(Atomic )-134(operations )-134(wer)]TJ -0.3844 Tc 10.417 0 Td -(ei)Tj -0 Tc 1.154 0 Td -[(ntr)18(oduced )-134(when )-134(multiple )-134(pr)18(ocesses )-134(append )-134(to )-134(the )-134(same)]TJ --13.371 -1.2 Td -[(\336le )-251(and )-251(when )-251(multiple )-251(pr)18(ocesses )-251(cr)18(eate )-251(the )-251(same )-251(\336le.)]TJ --0.092 Tc 26.169 0 Td -[(We )-435(a)]TJ -0 Tc 2.388 0 Td -[(lso )-251(looked )-251(at )-251(the )-251(data)]TJ --28.557 -1.2 Td -[(str)8(uctur)18(es )-195(used )-195(by )-195(the )-195(kernel )-195(to )-195(shar)]TJ -0.4452 Tc 17.214 0 Td -(ei)Tj -0 Tc 1.215 0 Td -[(nformation )-195(about )-195(open )-195(\336les.)]TJ --0.092 Tc 13.8 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-195(r)18(eturn )-195(to)]TJ --33.616 -1.2 Td -[(these data str)8(uctur)18(es later in the text.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-385(a)]TJ -0 Tc 2.338 0 Td -[(lso )-201(described )-201(the)]TJ -/TT1 1 Tf -8.287 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.451 0 Td -(and)Tj -/TT1 1 Tf -2.144 0 Td -(fcntl)Tj -/T1_1 1 Tf -3.451 0 Td -[(functions. )-450(W)]TJ -0.4505 Tc 5.989 0 Td -(er)Tj -0 Tc 1.306 0 Td -[(eturn )-200(to )-200(both )-200(of )-200(these)]TJ --28.765 -1.2 Td -[(functions )-227(later )-227(in )-227(the )-227(book.)-727(In )-227(Chapter )-227(14, )-227(we\325ll )-227(use)]TJ -/TT1 1 Tf -25.297 0 Td -(fcntl)Tj -/T1_1 1 Tf -3.478 0 Td -[(for )-227(r)18(ecor)]TJ -0.4775 Tc 3.975 0 Td -(dl)Tj -0 Tc 1.379 0 Td -[(ocking. )-477(In)]TJ --34.129 -1.2 Td -(Chapter 18 and Chapter 19, we\325ll use)Tj -/TT1 1 Tf -16.556 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.25 0 Td -(when we deal with terminal devices.)Tj -/TT0 1 Tf -11.9993 0 0 11.9993 129.5925 476.9714 Tm -[(Ex)10(er)20(cises)]TJ -/T1_0 1 Tf -8.9995 0 0 8.9995 129.5925 455.9726 Tm -(3.1)Tj -/T1_1 1 Tf -2.602 0 Td -[(When )-249(r)18(eading )-249(or )-249(writing )-249(a )-249(disk )-249(\336le, )-249(ar)]TJ -0.4993 Tc 18.635 0 Td -(et)Tj -0 Tc 1.304 0 Td -[(he )-249(functions )-249(described )-249(in )-249(this )-249(chapter )-249(r)16(eally)]TJ --19.939 -1.222 Td -[(unbuf)18(fer)18(ed? )-250(Explain.)]TJ -/T1_0 1 Tf --2.602 -1.667 Td -(3.2)Tj -/T1_1 1 Tf --0.074 Tc 2.602 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-76(your )-76(own)]TJ -/TT1 1 Tf -6.135 0 Td -(dup2)Tj -/T1_1 1 Tf -2.726 0 Td -[(function )-76(that )-76(behaves )-76(the )-76(same )-76(way )-76(as )-76(the)]TJ -/TT1 1 Tf -19.503 0 Td -(dup2)Tj -/T1_1 1 Tf -2.726 0 Td -[(function )-76(described)]TJ --32.411 -1.222 Td -(in Section 3.12, without calling the)Tj -/TT1 1 Tf -15.416 0 Td -(fcntl)Tj -/T1_1 1 Tf -3.25 0 Td -[(function. )-250(Be)-250(sur)18(e)-250(to)-250(handle err)18(ors corr)18(ectly)111(.)]TJ -/T1_0 1 Tf --21.268 -1.667 Td -(3.3)Tj -/T1_1 1 Tf -2.602 0 Td -[(Assume that a pr)18(ocess executes the following thr)18(ee function calls:)]TJ -/TT1 1 Tf -2 -1.562 Td -(fd1 = open\(path, oflags\);)Tj -0 -1.189 TD -(fd2 = dup\(fd1\);)Tj -T* -(fd3 = open\(path, oflags\);)Tj -/T1_1 1 Tf --2 -1.596 Td -[(Draw )-220(the )-220(r)18(esulting )-220(pictur)17(e, )-220(similar )-220(to )-220(Figur)]TJ -0.4702 Tc 20.342 0 Td -(e3)Tj -0 Tc 1.449 0 Td -[(.9. )-470(Which)-470(descriptors )-220(ar)]TJ -0.4702 Tc 11.373 0 Td -(ea)Tj --0.018 Tc 1.449 0 Td -(ff)Tj -0 Tc 0.648 0 Td -[(ected )-220(by )-220(an)]TJ -/TT1 1 Tf --35.261 -1.222 Td -(fcntl)Tj -/T1_1 1 Tf -3.298 0 Td -(on)Tj -/TT1 1 Tf -1.426 0 Td -(fd1)Tj -/T1_1 1 Tf -2.098 0 Td -[(with )-49(a )-49(command )-49(of)]TJ -/TT1 1 Tf -9.055 0 Td -(F_SETFD)Tj -/T1_1 1 Tf -0.5486 Tc (?W)Tj -0 Tc 6.193 0 Td -[(hich )-49(descriptors )-49(ar)]TJ -0.2986 Tc 8.309 0 Td -(ea)Tj --0.018 Tc 1.278 0 Td -(ff)Tj -0 Tc 0.648 0 Td -[(ected )-49(by )-49(an)]TJ -/TT1 1 Tf -5.426 0 Td -(fcntl)Tj -/T1_1 1 Tf --37.731 -1.222 Td -(on)Tj -/TT1 1 Tf -1.378 0 Td -(fd1)Tj -/T1_1 1 Tf -2.05 0 Td -(with a command of)Tj -/TT1 1 Tf -8.861 0 Td -(F_SETFL)Tj -/T1_1 1 Tf -(?)Tj -/T1_0 1 Tf --14.891 -1.667 Td -(3.4)Tj -/T1_1 1 Tf -2.602 0 Td -[(The following sequence of code has been observed in various pr)18(ograms:)]TJ -/TT1 1 Tf -2 -1.562 Td -(dup2\(fd, 0\);)Tj -T* -(dup2\(fd, 1\);)Tj -T* -(dup2\(fd, 2\);)Tj -T* -(if \(fd > 2\))Tj -2.4 -1.189 Td -(close\(fd\);)Tj -/T1_1 1 Tf --0.092 Tc -4.4 -1.596 Td -[(To )-188(s)]TJ -0 Tc 1.745 0 Td -[(ee )-4(why )-4(the)]TJ -/TT1 1 Tf -5.08 0 Td -(if)Tj -/T1_1 1 Tf -1.454 0 Td -[(test )-4(is )-4(needed, )-4(assume )-4(that)]TJ -/TT1 1 Tf -12.079 0 Td -(fd)Tj -/T1_1 1 Tf -1.454 0 Td -[(is )-4(1 )-4(and )-4(draw )-4(a )-4(pictur)17(e)-254(of)-254(what )-4(happens )-4(to)]TJ --21.812 -1.222 Td -[(the )-118(thr)18(ee )-118(descriptor )-118(entries )-118(and )-118(the )-118(corr)19(esponding )-118(\336le )-118(table )-118(entry )-118(with )-118(each )-118(call )-118(to)]TJ -/TT1 1 Tf -38.081 0 Td -(dup2)Tj -/T1_1 1 Tf -(.)Tj --38.081 -1.222 Td -(Then assume that)Tj -/TT1 1 Tf -8.053 0 Td -(fd)Tj -/T1_1 1 Tf -1.45 0 Td -[(is 3 and draw the same pictur)18(e.)]TJ -/T1_0 1 Tf --12.105 -1.667 Td -(3.5)Tj -/T1_1 1 Tf -2.602 0 Td -(The Bourne shell, Bourne-again shell, and Korn shell notation)Tj -/T1_2 1 Tf -2 -1.562 Td -(digit1)Tj -/TT1 1 Tf -2.472 0 Td -(>&)Tj -/T1_2 1 Tf -1.283 0 Td -(digit2)Tj -/T1_1 1 Tf --5.756 -1.596 Td -[(says )-52(to )-52(r)19(edir)18(ect )-52(descriptor)]TJ -/T1_2 1 Tf -11.879 0 Td -(digit1)Tj -/T1_1 1 Tf -2.691 0 Td -[(to )-52(the )-52(same )-52(\336le )-52(as )-52(descriptor)]TJ -/T1_2 1 Tf -13.166 0 Td -(digit2)Tj -/T1_1 1 Tf -0.5517 Tc (.W)Tj -0 Tc 4.191 0 Td -[(hat )-52(is )-52(the )-52(dif)19(fer)18(ence)]TJ --31.926 -1.222 Td -[(between )-84(the )-84(two )-84(commands )-84(shown )-84(below?)-584(\(Hint: )-84(The )-84(shells )-84(pr)18(ocess )-84(their )-84(command )-84(lines)]TJ -0 -1.222 TD -[(fr)18(om left to right.\))]TJ -/TT1 1 Tf -2 -1.562 Td -(./a.out > outfile 2>&1)Tj -0 -1.189 TD -(./a.out 2>&1 > outfile)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47064 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(88)Tj -/T1_1 1 Tf -3 0 Td -[(File )-250(I/O)]TJ -39.741 0 Td -[(Chapter )-250(3)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -(The)Tj -/TT0 1 Tf -2.048 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.374 0 Td -[(function )-124(was )-124(included )-124(in )-124(the )-124(Single )-124(UNIX )-124(Speci\336cation )-124(only )-124(as )-124(an )-124(extension )-124(for)]TJ --5.423 -1.25 Td -[(dealing )-35(with )-35(STREAMS )-35(devices)]TJ -14.441 0.04 Td -([)Tj -0.333 -0.04 Td -[(Rago )-35(1993)]TJ -4.555 0.04 Td -(])Tj -0.2848 Tc 0.333 -0.04 Td -(,b)Tj -0 Tc 1.088 0 Td -[(ut )-35(it )-35(was )-35(moved )-35(to )-35(obsolescent )-35(status )-35(in )-35(SUSv4.)]TJ --20.749 -1.25 Td -[(UNIX )-118(System )-118(implementations )-118(use)]TJ -/TT0 1 Tf -16.268 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.368 0 Td -[(for )-118(many )-118(miscellaneous )-118(device )-118(operations.)-618(Some)]TJ --19.636 -1.25 Td -[(implementations have even extended it for use with r)18(egular \336les.)]TJ -9.9994 0 0 9.9994 147.5911 618.9629 Tm -[(The )-108(pr)18(ototype )-108(that )-108(we )-108(show )-108(corr)18(esponds )-108(to )-108(POSIX.1.)-607(Fr)18(eeBSD )-108(8.0 )-108(and )-108(Mac )-108(OS )-108(X)]TJ --1.8 -1.2 Td -[(10.6.8 )-91(declar)]TJ -0.3413 Tc 5.543 0 Td -(et)Tj -0 Tc 1.146 0 Td -[(he )-91(second )-91(ar)18(gument )-91(as )-91(an)]TJ -/TT0 1 Tf -12.165 0 Td -[(unsigned )259(long)]TJ -/T1_1 1 Tf -0.5912 Tc (.T)Tj -0 Tc 8.995 0 Td -[(his )-91(detail )-91(doesn\325t )-91(matter)73(,)]TJ --27.85 -1.2 Td -[(since the second ar)18(gument is always a)]TJ -/TT0 1 Tf -17.069 0 Td -(#define)Tj -/T1_1 1 Tf -0.25 Tc (dn)Tj -0 Tc 5.643 0 Td -[(ame fr)18(om a header)74(.)]TJ --20.912 -1.2 Td -[(For )-18(the )-18(ISO )-18(C )-18(pr)19(ototype, )-18(an )-18(ellipsis )-18(is )-18(used )-18(for )-18(the )-18(r)18(emaining )-18(ar)20(guments. )-268(Normally)111(,)]TJ --1.8 -1.2 Td -(however)Tj -0.3235 Tc 3.806 0 Td -(,t)Tj -0 Tc 0.9 0 Td -[(her)18(e)-323(is)-323(o)-1(nly )-73(one )-73(mor)]TJ -0.3235 Tc 9.314 0 Td -(ea)Tj --0.018 Tc 1.302 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument, )-73(and )-73(it\325s )-73(usually )-73(a )-73(pointer )-73(to )-73(a )-73(variable )-73(or )-73(a)]TJ --16.255 -1.2 Td -[(str)8(uctur)18(e.)]TJ -1.8 -1.2 Td -[(In )-332(this )-332(pr)19(ototype, )-332(we )-332(show )-332(only )-332(the )-332(headers )-332(r)20(equir)18(ed )-332(for )-332(the )-332(function )-332(itself.)]TJ --1.8 -1.2 Td -(Normally)Tj -0.5048 Tc 4.182 0 Td -(,a)Tj -0 Tc 1.255 0 Td -[(dditional )-255(device-speci\336c )-255(headers )-255(ar)]TJ -0.5048 Tc 16.4 0 Td -(er)Tj -0 Tc 1.361 0 Td -[(equir)18(ed. )-505(For)-505(example, )-255(the)]TJ -/TT0 1 Tf -12.802 0 Td -(ioctl)Tj -/T1_1 1 Tf --36 -1.2 Td -[(commands )-247(for )-247(terminal )-247(I/O, )-247(beyond )-247(the )-247(basic )-247(operations )-247(speci\336ed )-247(by )-247(POSIX.1, )-247(all)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -(quir)Tj -0.25 Tc 1.831 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he)Tj -/TT0 1 Tf -1.311 0 Td -()Tj -/T1_1 1 Tf -6.85 0 Td -[(header)74(.)]TJ --10.103 -1.2 Td -[(Each )-306(device )-306(driver )-306(can )-306(de\336ne )-306(its )-306(own )-306(set )-306(of)]TJ -/TT0 1 Tf -22.142 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.556 0 Td -[(commands. )-556(The)-557(system,)]TJ --27.499 -1.2 Td -(however)Tj -0.2921 Tc 3.806 0 Td -(,p)Tj --0.018 Tc 1.143 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vides )-42(generic)]TJ -/TT0 1 Tf -6.18 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.292 0 Td -[(commands )-42(for )-42(dif)18(fer)18(ent )-42(classes )-42(of )-42(devices.)-542(Examples)]TJ --15.344 -1.2 Td -[(of )-43(some )-43(of )-43(the )-43(categories )-43(for )-43(these )-43(generic)]TJ -/TT0 1 Tf -19.048 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.293 0 Td -[(commands )-43(supported )-43(in )-43(Fr)18(eeBSD )-43(ar)20(e)]TJ --22.34 -1.2 Td -(summarized in Figur)Tj -0.25 Tc 9.325 0 Td -(e3)Tj -0 Tc 1.229 0 Td -(.15.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2012.25 4442.25 cm -0 0 m -2468 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 266.592 436.1477 Tm -(Constant )Tj -17.297 0 Td -[(Number)-250(of)]TJ --16.733 -1.25 Td -(names)Tj -/TT0 1 Tf -17.458 0 Td -(ioctl)Tj -/T1_1 1 Tf -(s)Tj --24.695 0.625 Td -(Category)Tj -15.722 0 Td -(Header)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2012.25 4222.25 cm -0 0 m -2468 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2012.25 4202.25 cm -0 0 m -2468 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 205.1751 412.1258 Tm -(disk labels)Tj -/TT0 1 Tf -7.574 0 Td -[(DIOxxx )-1500()]TJ -/T1_1 1 Tf -19.836 0 Td -(4)Tj --27.41 -1.25 Td -(\336le I/O)Tj -/TT0 1 Tf -7.574 0 Td -[(FIOxxx )-1500()]TJ -/T1_1 1 Tf -19.336 0 Td -(14)Tj --26.91 -1.25 Td -(mag tape I/O)Tj -/TT0 1 Tf -7.574 0 Td -[(MTIOxxx )-900()]TJ -/T1_1 1 Tf --0.055 Tc 19.391 0 Td -(11)Tj -0 Tc -26.965 -1.25 Td -(socket I/O)Tj -/TT0 1 Tf -7.574 0 Td -[(SIOxxx )-1500()]TJ -/T1_1 1 Tf -19.336 0 Td -(73)Tj --26.91 -1.25 Td -(terminal I/O)Tj -/TT0 1 Tf -7.574 0 Td -[(TIOxxx )-1500()]TJ -/T1_1 1 Tf -19.336 0 Td -(43)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2012.25 3682.25 cm -0 0 m -2468 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3990.25 3682.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3054.25 3682.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2598.25 3682.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4480.25 3682.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2012.25 3682.25 cm -0 0 m -0 760 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 236.2033 350.116 Tm -(Figure 3.15)Tj -/T1_1 1 Tf -5.695 0 Td -[(Common Fr)18(eeBSD)]TJ -/TT0 1 Tf -8.45 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.25 0 Td -(operations)Tj -9.9976 0 0 9.9976 147.5648 326.1217 Tm -[(The )-143(mag )-143(tape )-143(operations )-143(allow )-143(us )-143(to )-143(write )-143(end-of-\336le )-143(marks )-143(on )-143(a )-143(tape, )-143(r)23(ewind )-143(a)]TJ --1.8 -1.2 Td -[(tape, )-100(space )-100(forwar)]TJ -0.3497 Tc 8.288 0 Td -(do)Tj -0 Tc 1.507 0 Td -[(ver )-100(a )-100(speci\336ed )-100(number )-100(of )-100(\336les )-100(or )-100(r)20(ecor)18(ds, )-100(and )-100(the )-100(like.)-600(None )-100(of)]TJ --9.795 -1.2 Td -[(these )-14(operations )-14(is )-14(easily )-14(expr)18(essed )-14(in )-14(terms )-14(of )-14(the )-14(other )-14(functions )-14(in )-14(the )-14(chapter )-14(\()]TJ -/TT0 1 Tf -36.35 0 Td -(read)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --36.35 -1.2 Td -(write)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.567 0 Td -(lseek)Tj -/T1_1 1 Tf -0.3168 Tc (,a)Tj -0 Tc 4.067 0 Td -[(nd )-67(so )-67(on\), )-67(so )-67(the )-67(easiest )-67(way )-67(to )-67(handle )-67(these )-67(devices )-67(has )-67(always )-67(been)]TJ --7.634 -1.2 Td -(to access their operations using)Tj -/TT0 1 Tf -14.056 0 Td -(ioctl)Tj -/T1_1 1 Tf -(.)Tj --0.092 Tc -12.256 -1.2 Td -[(We )-248(u)]TJ -0 Tc 2.304 0 Td -[(se )-64(the)]TJ -/TT0 1 Tf -2.919 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.314 0 Td -[(function )-64(in )-64(Section )-64(18.12 )-64(to )-64(fetch )-64(and )-64(set )-64(the )-64(size )-64(of )-64(a )-64(terminal\325s)]TJ --10.337 -1.2 Td -(window)Tj -0.259 Tc 3.606 0 Td -(,a)Tj -0 Tc 1.009 0 Td -[(nd )-9(in )-9(Section )-9(19.7 )-9(when )-9(we )-9(access )-9(the )-9(advanced )-9(featur)18(es )-9(of )-9(pseudo )-9(terminals.)]TJ -/TT1 1 Tf -11.9971 0 0 11.9971 93.5781 220.5471 Tm -(3.16)Tj -/TT2 1 Tf -3 0 Td -(/dev/fd)Tj -/T1_1 1 Tf -9.9976 0 0 9.9976 129.5695 198.9522 Tm -[(Newer )-16(systems )-16(pr)18(ovide )-16(a )-16(dir)18(ectory )-16(named)]TJ -/TT0 1 Tf -19.183 0 Td -(/dev/fd)Tj -/T1_1 1 Tf -4.466 0 Td -[(whose )-16(entries )-16(ar)]TJ -0.2666 Tc 7.251 0 Td -(e\336)Tj -0 Tc 1.351 0 Td -[(les )-17(named)]TJ -/TT0 1 Tf -4.782 0 Td -(0)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -1.117 0 Td -(1)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --38.15 -1.2 Td -(2)Tj -/T1_1 1 Tf -0.399 Tc (,a)Tj -0 Tc 1.749 0 Td -[(nd )-149(so )-149(on.)-649(Opening )-149(the )-149(\336le)]TJ -/TT0 1 Tf -12.824 0 Td -(/dev/fd/)Tj -/T1_2 1 Tf -(n)Tj -/T1_1 1 Tf -5.755 0 Td -[(is )-149(equivalent )-149(to )-149(duplicating )-149(descriptor)]TJ -/T1_2 1 Tf -17.866 0 Td -(n)Tj -/T1_1 1 Tf -(,)Tj --38.194 -1.2 Td -(assuming that descriptor)Tj -/T1_2 1 Tf -11.259 0 Td -(n)Tj -/T1_1 1 Tf -0.806 0 Td -(is open.)Tj -7.9981 0 0 7.9981 183.5574 154.9628 Tm -(The)Tj -/TT0 1 Tf -2.107 0 Td -(/dev/fd)Tj -/T1_1 1 Tf -4.633 0 Td -(featur)Tj -0.4328 Tc 2.618 0 Td -(ew)Tj -0 Tc 1.746 0 Td -[(as )-183(developed )-183(by )-183(T)92(om )-183(Duf)]TJ -0.4328 Tc 12.068 0 Td -(fa)Tj -0 Tc 1.266 0 Td -[(nd )-183(appear)18(ed )-183(in )-183(the )-183(8th )-183(Edition )-183(of )-183(the)]TJ --24.437 -1.25 Td -[(Resear)18(ch )-68(UNIX )-68(System.)-568(It )-68(is )-68(supported )-68(by )-68(all )-68(of )-68(the )-68(systems )-68(described )-68(in )-68(this )-68(book: )-68(Fr)20(eeBSD)]TJ --0 -1.25 Td -[(8.0, Linux 3.2.0, Mac OS X 10.6.8, and Solaris 10.)-500(It is not part of POSIX.1.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47065 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(3.15)]TJ -/TT0 1 Tf -36.903 0 Td -(ioctl)Tj -/T1_0 1 Tf -3.5 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(87)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.018 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -(ro)Tj -0 Tc 0.923 0 Td -[(w)-352(in)-352(F)1(igur)]TJ -0.3517 Tc 4.793 0 Td -(e3)Tj -0 Tc 1.331 0 Td -[(.13, )-102(but )-102(since )-102(the)]TJ -/TT0 1 Tf -7.996 0 Td -(O_SYNC)Tj -/T1_0 1 Tf -3.952 0 Td -[(\337ag )-102(isn\325t )-102(having )-102(the )-102(intended )-102(ef)18(fect, )-102(the )-102(last)]TJ --0.018 Tc -18.995 -1.2 Td -(ro)Tj -0.25 Tc 0.923 0 Td -(wb)Tj -0 Tc 1.637 0 Td -[(ehaves the same way as the \336fth r)18(ow)92(.)]TJ --0.76 -1.2 Td -(Figur)Tj -0.3299 Tc 2.383 0 Td -(e3)Tj -0 Tc 1.309 0 Td -[(.14 )-80(shows )-80(timing )-80(r)18(esults )-80(for )-80(the )-80(same )-80(tests )-80(r)9(un )-80(on )-80(Mac )-80(OS )-80(X )-80(10.6.8, )-80(which)]TJ --5.492 -1.2 Td -[(uses )-208(the)]TJ -/TT0 1 Tf -4.234 0 Td -(HFS)Tj -/T1_0 1 Tf -2.258 0 Td -[(\336le )-208(system.)-708(Note )-208(that )-208(the )-208(times )-208(match )-208(our )-208(expectations: )-208(synchr)14(onous)]TJ --6.492 -1.2 Td -[(writes )-50(ar)]TJ -0.3002 Tc 3.926 0 Td -(ef)Tj -0 Tc 1.112 0 Td -[(ar )-50(mor)]TJ -0.3002 Tc 3.001 0 Td -(ee)Tj -0 Tc 1.258 0 Td -[(xpensive )-50(than )-50(delayed )-50(writes, )-50(and )-50(using)]TJ -/TT0 1 Tf -18.403 0 Td -(fsync)Tj -/T1_0 1 Tf -3.3 0 Td -[(with )-50(synchr)18(onous)]TJ --31.001 -1.2 Td -[(writes )-64(makes )-64(very )-64(little )-64(dif)17(fer)18(ence. )-314(Note)-315(also )-64(that )-64(adding )-64(a )-64(call )-64(to)]TJ -/TT0 1 Tf -29.978 0 Td -(fsync)Tj -/T1_0 1 Tf -3.314 0 Td -[(at )-64(the )-64(end )-64(of)]TJ --33.293 -1.2 Td -[(the )-188(delayed )-188(writes )-188(makes )-188(little )-188(measurable )-188(dif)19(fer)18(ence. )-438(It)-438(is )-188(likely )-188(that )-188(the )-188(operating)]TJ --0 -1.2 Td -[(system )-53(\337ushed )-53(pr)18(eviously )-53(written )-53(data )-53(to )-53(disk )-53(as )-53(we )-53(wer)]TJ -0.3031 Tc 25.711 0 Td -(ew)Tj -0 Tc 1.616 0 Td -[(riting )-53(new )-53(data )-53(to )-53(the )-53(\336le,)]TJ --27.327 -1.2 Td -(so by the time that we called)Tj -/TT0 1 Tf -12.858 0 Td -(fsync)Tj -/T1_0 1 Tf -0.25 Tc (,v)Tj -0 Tc 4.065 0 Td -(ery little work was left to be done.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1530.25 5530.25 cm -0 0 m -3431 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 350.278 544.9346 Tm -[(User CPU)-1500(System CPU)-1500(Clock time)]TJ -0.121 -1.25 Td -[(\(seconds\) )-2049(\(seconds\))-2479(\(seconds\))]TJ --15.201 0.625 Td -(Operation)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1530.25 5310.25 cm -0 0 m -3431 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1530.25 5290.25 cm -0 0 m -3431 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 157.0437 520.9062 Tm -(write)Tj -/T1_0 1 Tf -3.25 0 Td -(to)Tj -/TT0 1 Tf -1.122 0 Td -(/dev/null)Tj -/T1_0 1 Tf -21.118 0 Td -[(0.14 )-4725(1.02)-4905(5.28)]TJ --25.489 -1.25 Td -(normal)Tj -/TT0 1 Tf -3.447 0 Td -(write)Tj -/T1_0 1 Tf -3.25 0 Td -(to disk \336le)Tj -18.792 0 Td -[(0.14 )-4725(3.21)-4405(17.04)]TJ -/TT0 1 Tf --25.489 -1.25 Td -(write)Tj -/T1_0 1 Tf -3.25 0 Td -(to disk \336le with)Tj -/TT0 1 Tf -7.162 0 Td -(O_SYNC)Tj -/T1_0 1 Tf -3.85 0 Td -(set )Tj -11.227 0 Td -[(0.39)-4476(16.89 )-4154(60.82)]TJ -/TT0 1 Tf --25.489 -1.25 Td -(write)Tj -/T1_0 1 Tf -3.25 0 Td -(to disk followed by)Tj -/TT0 1 Tf -8.794 0 Td -(fsync)Tj -/T1_0 1 Tf -13.445 0 Td -[(0.13 )-4725(3.07)-4405(17.10)]TJ -/TT0 1 Tf --25.489 -1.25 Td -(write)Tj -/T1_0 1 Tf -3.25 0 Td -(to disk with)Tj -/TT0 1 Tf -5.537 0 Td -(O_SYNC)Tj -/T1_0 1 Tf -3.85 0 Td -(set followed by)Tj -/TT0 1 Tf -7.019 0 Td -(fsync)Tj -/T1_0 1 Tf -5.834 0 Td -[(0.39 )-4225(18.18)-4405(62.39)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1530.25 4770.25 cm -0 0 m -3431 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4479.25 4770.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3916.25 4770.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3443.25 4770.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4961.25 4770.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1530.25 4770.25 cm -0 0 m -0 760 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 173.0905 458.8898 Tm -(Figure 3.14)Tj -/T1_0 1 Tf -5.695 0 Td -(Mac OS X)Tj -/TT0 1 Tf -4.618 0 Td -(HFS)Tj -/T1_0 1 Tf -2.05 0 Td -[(timing r)18(esults using various synchr)18(onization mechanisms)]TJ -9.9976 0 0 9.9976 147.5649 434.8956 Tm -[(Compar)18(e)]TJ -/TT0 1 Tf -4.424 0 Td -(fsync)Tj -/T1_0 1 Tf -3.329 0 Td -(and)Tj -/TT0 1 Tf -2.022 0 Td -(fdatasync)Tj -/T1_0 1 Tf -0.3289 Tc (,b)Tj -0 Tc 6.532 0 Td -[(oth )-79(of )-79(which )-79(update )-79(a )-79(\336le\325s )-79(contents )-79(when )-79(we)]TJ --18.107 -1.2 Td -[(say )-28(so, )-28(with )-28(the)]TJ -/TT0 1 Tf -7.233 0 Td -(O_SYNC)Tj -/T1_0 1 Tf -3.878 0 Td -[(\337ag, )-28(which )-28(updates )-28(a )-28(\336le\325s )-28(contents )-28(every )-28(time )-28(we )-28(write )-28(to )-28(the)]TJ --11.112 -1.2 Td -[(\336le. )-385(The)-385(performance )-135(of )-135(each )-135(alternative )-135(will )-135(depend )-135(on )-135(many )-135(factors, )-135(including )-135(the)]TJ -0 -1.2 TD -[(underlying )-51(operating )-51(system )-51(implementation, )-51(the )-51(speed )-51(of )-51(the )-51(disk )-51(drive, )-51(and )-51(the )-51(type)]TJ -T* -(of the \336le system.)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3870.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.055 Tc 9.997 0 0 9.997 147.5557 360.4918 Tm -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-320(this )-320(example, )-320(we )-320(see )-320(the )-320(need )-320(for)]TJ -/TT0 1 Tf -18.595 0 Td -(fcntl)Tj -/T1_0 1 Tf -0.8198 Tc (.O)Tj -0 Tc 4.856 0 Td -[(ur )-320(pr)18(ogram )-320(operates )-320(on )-320(a)]TJ --26.486 -1.2 Td -[(descriptor )-119(\(standar)]TJ -0.3692 Tc 8.534 0 Td -(do)Tj -0 Tc 1.526 0 Td -[(utput\), )-119(never )-119(knowing )-119(the )-119(name )-119(of )-119(the )-119(\336le )-119(that )-119(was )-119(opened )-119(on)]TJ --10.06 -1.2 Td -[(that )-134(descriptor)]TJ -0.6336 Tc 6.556 0 Td -(.W)Tj -0.3836 Tc 1.792 0 Td -(ec)Tj -0 Tc 1.307 0 Td -[(an\325t )-134(set )-134(the)]TJ -/TT0 1 Tf -5.453 0 Td -(O_SYNC)Tj -/T1_0 1 Tf -3.984 0 Td -[(\337ag )-134(when )-134(the )-134(\336le )-134(is )-134(opened, )-134(since )-134(the )-134(shell)]TJ --19.09 -1.2 Td -[(opened )-140(the )-140(\336le.)]TJ --0.055 Tc 7.729 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj -/TT0 1 Tf -1.298 0 Td -(fcntl)Tj -/T1_0 1 Tf -[(,)-390(we)-390(can )-140(modify )-140(the )-140(pr)19(operties )-140(of )-140(a )-140(descriptor)]TJ -0.3897 Tc 24.15 0 Td -(,k)Tj -0 Tc 1.196 0 Td -(nowing)Tj --35.609 -1.2 Td -[(only )-259(the )-259(descriptor )-259(for )-259(the )-259(open )-259(\336le.)]TJ --0.092 Tc 18.182 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-259(see )-259(another )-259(need )-259(for)]TJ -/TT0 1 Tf -11.623 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.509 0 Td -[(when )-259(we)]TJ --34.701 -1.2 Td -[(describe nonblocking pipes \(Section 15.2\), since all we have with a pi\ pe is a descriptor)74(.)]TJ -/TT1 1 Tf -11.9964 0 0 11.9964 93.5717 269.3192 Tm -(3.15)Tj -/TT2 1 Tf -3 0 Td -(ioctl)Tj -/TT1 1 Tf -3.556 0 Td -(Function)Tj -/T1_0 1 Tf -9.997 0 0 9.997 129.5609 252.5242 Tm -(The)Tj -/TT0 1 Tf -2.088 0 Td -(ioctl)Tj -/T1_0 1 Tf -3.414 0 Td -[(function )-164(has )-164(always )-164(been )-164(the )-164(catchall )-164(for )-164(I/O )-164(operations.)-666(Anything )-164(that)]TJ --5.502 -1.2 Td -[(couldn\325t )-39(be )-39(expr)18(essed )-39(using )-39(one )-39(of )-39(the )-39(other )-39(functions )-39(in )-39(this )-39(chapter )-39(usually )-39(ended )-39(up)]TJ -T* -[(being )-183(speci\336ed )-183(with )-183(an)]TJ -/TT0 1 Tf -11.242 0 Td -(ioctl)Tj -/T1_0 1 Tf -0.683 Tc (.T)Tj -0 Tc 4.454 0 Td -[(erminal )-183(I/O )-183(was )-183(the )-183(biggest )-183(user )-183(of )-183(this )-183(function.)]TJ --15.696 -1.2 Td -[(\(When )-216(we )-216(get )-216(to )-216(Chapter )-216(18, )-216(we\325ll )-216(see )-216(that )-216(POSIX.1 )-216(has )-216(r)16(eplaced )-216(the )-216(terminal )-216(I/O)]TJ -T* -(operations with separate functions.\))Tj -/TT0 1 Tf -8.9973 0 0 8.9973 147.5555 189.0433 Tm -[(#include )-3000(/* System V */)]TJ -0 -1.189 TD -[(#include )-1200(/* BSD and Linux */)]TJ -0 -1.783 TD -(int ioctl\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf --0.018 Tc 1.8 0 Td -(re)Tj -0 Tc 0.76 0 Td -(quest)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 3.93 0 Td -(..\);)Tj -/T1_0 1 Tf -3.365 -1.783 Td -(Returns:)Tj -/TT3 1 Tf -3.977 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -0.25 Tc 4.795 0 Td -(,s)Tj -0 Tc 0.924 0 Td -(omething else if OK)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1418.25 cm -0 0 m -0 563 l -3900 563 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47066 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(132)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(In )-272(SUSv4,)]TJ -/TT0 1 Tf -5.106 0 Td -(nftw)Tj -/T1_1 1 Tf -2.922 0 Td -[(is )-272(included )-272(as )-272(part )-272(of )-272(the )-272(XSI )-272(option.)-772(Implementations )-272(ar)]TJ -0.5219 Tc 27.664 0 Td -(ei)Tj -0 Tc 1.292 0 Td -[(ncluded )-272(in)]TJ --36.984 -1.25 Td -[(Fr)18(eeBSD )-142(8.0, )-142(Linux )-142(3.2.0, )-142(Mac )-142(OS )-142(X )-142(10.6.8, )-142(and )-142(Solaris )-142(10.)-642(\(In )-142(SUSv4, )-142(the)]TJ -/TT0 1 Tf -34.204 0 Td -(ftw)Tj -/T1_1 1 Tf -2.192 0 Td -[(function )-142(has)]TJ --36.395 -1.25 Td -[(been )-294(marked )-294(as )-294(obsolescent.\))-792(BSD)]TJ -16.453 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-294(systems )-294(have )-294(a )-294(dif)20(fer)18(ent )-294(function,)]TJ -/TT0 1 Tf -19.721 0 Td -(fts)Tj -/T1_1 1 Tf -1.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.5436 Tc 0.333 -0.04 Td -(,t)Tj -0 Tc 1.12 0 Td -(hat)Tj --40.592 -1.25 Td -[(pr)18(ovides similar functionality)]TJ -0.5 Tc 13.029 0 Td -(.I)Tj -0 Tc 1.087 0 Td -[(t)-250(is)-250(available in Fr)18(eeBSD 8.0, Linux 3.2.0, and Mac OS X 10.6.8.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6278.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 618.2248 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -1.902 TD -(/* function type that is called for each filename */)Tj -0 -1.189 TD -(typedef int Myfunc\(const char *, const struct stat *, int\);)Tj -0 -1.902 TD -[(static Myfunc)-1800(myfunc;)]TJ -0 -1.189 TD -[(static int)-3600(myftw\(char *, Myfunc *\);)]TJ -T* -[(static int)-3600(dopath\(Myfunc *\);)]TJ -0 -1.902 TD -(static long nreg, ndir, nblk, nchr, nfifo, nslink, nsock, ntot;)Tj -T* -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(ret;)]TJ -0 -1.902 TD -(if \(argc != 2\))Tj -2.4 -1.189 Td -[(err_quit\("usage: )-600(ftw )-600("\);)]TJ --2.4 -1.902 Td -[(ret = myftw\(argv[1], myfunc\);)-4200(/* does it all */)]TJ -T* -(ntot = nreg + ndir + nblk + nchr + nfifo + nslink + nsock;)Tj -0 -1.189 TD -(if \(ntot == 0\))Tj -2.4 -1.189 Td -[(ntot = 1;)-4200(/* avoid divide by 0; print 0 for all counts */)]TJ --2.4 -1.189 Td -(printf\("regular files)Tj -0.6 Tc 13.8 0 Td -(=%)Tj -0 Tc 1.8 0 Td -(7ld, %5.2f %%\\n", nreg,)Tj --14.4 -1.189 Td -(nreg*100.0/ntot\);)Tj --1.2 -1.189 Td -[(printf\("directories )-1800(=)-600(%7ld, %5.2f %%\\n", ndir,)]TJ -1.2 -1.189 Td -(ndir*100.0/ntot\);)Tj --1.2 -1.189 Td -(printf\("block special)Tj -0.6 Tc 13.8 0 Td -(=%)Tj -0 Tc 1.8 0 Td -(7ld, %5.2f %%\\n", nblk,)Tj --14.4 -1.189 Td -(nblk*100.0/ntot\);)Tj --1.2 -1.189 Td -(printf\("char special)Tj -0.6 Tc 13.8 0 Td -(=%)Tj -0 Tc 1.8 0 Td -(7ld, %5.2f %%\\n", nchr,)Tj --14.4 -1.189 Td -(nchr*100.0/ntot\);)Tj --1.2 -1.189 Td -(printf\("FIFOs )Tj -13.8 0 Td -[(=)-600(%7ld, %5.2f %%\\n", nfifo,)]TJ --12.6 -1.189 Td -(nfifo*100.0/ntot\);)Tj --1.2 -1.189 Td -(printf\("symbolic links = %7ld, %5.2f %%\\n", nslink,)Tj -1.2 -1.189 Td -(nslink*100.0/ntot\);)Tj --1.2 -1.189 Td -[(printf\("sockets )-4200(=)-600(%7ld, %5.2f %%\\n", nsock,)]TJ -1.2 -1.189 Td -(nsock*100.0/ntot\);)Tj --1.2 -1.189 Td -(exit\(ret\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*D)Tj -0 Tc 1.8 0 Td -(escend through the hierarchy, starting at "pathname".)Tj -0.6 Tc -1.8 -1.189 Td -(*T)Tj -0 Tc 1.8 0 Td -(he caller\325s func\(\) is called for every file.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(#define FTW_F)Tj -4.2 Tc 9.6 0 Td -(1/)Tj -0.6 Tc 5.4 0 Td -(*f)Tj -0 Tc 1.8 0 Td -(ile other than directory */)Tj --16.8 -1.189 Td -(#define FTW_D)Tj -4.2 Tc 9.6 0 Td -(2/)Tj -0.6 Tc 5.4 0 Td -(*d)Tj -0 Tc 1.8 0 Td -(irectory */)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47067 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.22)]TJ -34.82 0 Td -[(Reading )-250(Dir)18(ectories)]TJ -/T1_1 1 Tf -11.013 0 Td -(131)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(The)Tj -/TT0 1 Tf -2.425 0 Td -(fdopendir)Tj -/T1_0 1 Tf -6.151 0 Td -[(function )-501(\336rst )-501(appear)18(ed )-501(in )-501(version )-501(4 )-501(of )-501(the )-501(Single )-501(UNIX)]TJ --10.376 -1.2 Td -[(Speci\336cation. )-323(It)-322(pr)18(ovides )-73(a )-73(way )-73(to )-73(convert )-73(an )-73(open )-73(\336le )-73(descriptor )-73(into )-73(a)]TJ -/TT0 1 Tf -32.908 0 Td -(DIR)Tj -/T1_0 1 Tf -2.123 0 Td -[(str)8(uctur)18(e)]TJ --35.031 -1.2 Td -[(for use by the dir)18(ectory handling functions.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.057 0 Td -(telldir)Tj -/T1_0 1 Tf -4.583 0 Td -(and)Tj -/TT0 1 Tf -2.076 0 Td -(seekdir)Tj -/T1_0 1 Tf -4.583 0 Td -[(functions )-133(ar)]TJ -0.3832 Tc 5.391 0 Td -(en)Tj -0 Tc 1.444 0 Td -[(ot )-133(part )-133(of )-133(the )-133(base )-133(POSIX.1 )-133(standar)17(d.)]TJ --21.935 -1.2 Td -[(They )-45(ar)]TJ -0.295 Tc 3.402 0 Td -(ei)Tj -0 Tc 1.065 0 Td -[(ncluded )-45(in )-45(the )-45(XSI )-45(option )-45(in )-45(the )-45(Single )-45(UNIX )-45(Speci\336cation, )-45(so )-45(all )-45(conforming)]TJ --4.467 -1.2 Td -(UNIX System implementations ar)Tj -0.25 Tc 14.917 0 Td -(ee)Tj -0 Tc 1.208 0 Td -[(xpected to pr)18(ovide them.)]TJ --14.325 -1.2 Td -[(Recall )-37(our )-37(use )-37(of )-37(several )-37(of )-37(these )-37(functions )-37(in )-37(the )-37(pr)21(ogram )-37(shown )-37(in )-37(Figur)]TJ -0.2866 Tc 33.104 0 Td -(e1)Tj -0 Tc 1.266 0 Td -[(.3, )-37(our)]TJ --36.169 -1.2 Td -[(bar)18(e-bones implementation of the)]TJ -/TT0 1 Tf -15.152 0 Td -(ls)Tj -/T1_0 1 Tf -1.45 0 Td -(command.)Tj --14.802 -1.2 Td -(The)Tj -/TT0 1 Tf -2.292 0 Td -(dirent)Tj -/T1_0 1 Tf -4.218 0 Td -[(str)8(uctur)]TJ -0.6177 Tc 3.49 0 Td -(ed)Tj -0 Tc 1.708 0 Td -[(e\336ned )-368(in)]TJ -/TT0 1 Tf -4.864 0 Td -()Tj -/T1_0 1 Tf -6.618 0 Td -[(is )-368(implementation )-368(dependent.)]TJ --24.989 -1.2 Td -[(Implementations de\336ne the str)8(uctur)18(e)-250(to)-250(contain at least the following two members:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 158.391 544.2673 Tm -[(ino_t )-600(d_ino;)]TJ -18 0 Td -(/* i-node number */)Tj --18 -1.189 Td -[(char )-1200(d_name[];)]TJ -18 0 Td -(/* null-terminated filename */)Tj -/T1_0 1 Tf -7.9995 0 0 7.9995 183.5895 512.3693 Tm -(The)Tj -/TT0 1 Tf -2.006 0 Td -(d_ino)Tj -/T1_0 1 Tf -3.332 0 Td -[(entry )-82(is )-82(not )-82(de\336ned )-82(by )-82(POSIX.1, )-82(because )-82(it )-82(is )-82(an )-82(implementation )-82(featur)21(e, )-82(but )-82(it )-82(is)]TJ --5.338 -1.25 Td -[(de\336ned )-94(as )-94(part )-94(of )-94(the )-94(XSI )-94(option )-94(in )-94(POSIX.1.)-599(POSIX.1 )-95(de\336nes )-95(only )-95(the)]TJ -/TT0 1 Tf -32.532 0 Td -(d_name)Tj -/T1_0 1 Tf -3.945 0 Td -[(entry )-95(in )-95(this)]TJ --36.477 -1.25 Td -[(str)8(uctur)18(e.)]TJ -9.9994 0 0 9.9994 147.5916 471.3717 Tm -[(Note )-21(that )-21(the )-21(size )-21(of )-21(the)]TJ -/TT0 1 Tf -10.891 0 Td -(d_name)Tj -/T1_0 1 Tf -3.871 0 Td -[(entry )-21(isn\325t )-21(speci\336ed, )-21(but )-21(it )-21(is )-21(guaranteed )-21(to )-21(hold )-21(at)]TJ --16.562 -1.2 Td -(least)Tj -/TT0 1 Tf -2.342 0 Td -(NAME_MAX)Tj -/T1_0 1 Tf -5.122 0 Td -[(characters, )-72(not )-72(including )-72(the )-72(terminating )-72(null )-72(byte )-72(\(r)18(ecall )-72(Figur)]TJ -0.3225 Tc 28.401 0 Td -(e2)Tj -0 Tc 1.301 0 Td -(.15.\))Tj --37.167 -1.2 Td -[(Since )-11(the )-11(\336lename )-11(is )-11(null )-11(terminated, )-11(however)72(,)-261(it)-261(d)-1(oesn\325t )-11(matter )-11(how)]TJ -/TT0 1 Tf -30.795 0 Td -(d_name)Tj -/T1_0 1 Tf -3.861 0 Td -[(is )-11(de\336ned)]TJ --34.657 -1.2 Td -(in the header)Tj -0.25 Tc 5.732 0 Td -(,b)Tj -0 Tc 1.053 0 Td -(ecause the array size doesn\325t indicate the length of the \336lename.)Tj --4.985 -1.2 Td -(The)Tj -/TT0 1 Tf -1.946 0 Td -(DIR)Tj -/T1_0 1 Tf -2.072 0 Td -[(str)8(uctur)18(e)-272(is)-272(an)-272(i)-1(nternal )-22(str)8(uctur)]TJ -0.2725 Tc 13.792 0 Td -(eu)Tj -0 Tc 1.354 0 Td -[(sed )-22(by )-22(these )-22(seven )-22(functions )-22(to )-22(maintain)]TJ --20.965 -1.2 Td -[(information )-35(about )-35(the )-35(dir)18(ectory )-35(being )-35(r)17(ead. )-285(The)-286(purpose )-35(of )-35(the)]TJ -/TT0 1 Tf -28.585 0 Td -(DIR)Tj -/T1_0 1 Tf -2.085 0 Td -[(str)8(uctur)18(e)-285(is)-285(s)-1(imilar)]TJ --30.67 -1.2 Td -[(to )-15(that )-15(of )-15(the)]TJ -/TT0 1 Tf -5.934 0 Td -(FILE)Tj -/T1_0 1 Tf -2.665 0 Td -[(str)8(uctur)]TJ -0.2654 Tc 3.49 0 Td -(em)Tj -0 Tc 1.627 0 Td -[(aintained )-15(by )-15(the )-15(standar)]TJ -0.2654 Tc 10.774 0 Td -(dI)Tj -0 Tc 1.213 0 Td -[(/O )-15(library)]TJ -0.2655 Tc 4.527 0 Td -(,w)Tj -0 Tc 1.349 0 Td -[(hich )-15(we )-15(describe)]TJ --31.581 -1.2 Td -(in Chapter 5.)Tj -1.8 -1.2 Td -[(The )-66(pointer )-66(to )-66(a)]TJ -/TT0 1 Tf -7.531 0 Td -(DIR)Tj -/T1_0 1 Tf -2.116 0 Td -[(str)8(uctur)]TJ -0.3162 Tc 3.49 0 Td -(er)Tj -0 Tc 1.172 0 Td -[(eturned )-66(by)]TJ -/TT0 1 Tf -5.216 0 Td -(opendir)Tj -/T1_0 1 Tf -4.516 0 Td -(and)Tj -/TT0 1 Tf -2.009 0 Td -(fdopendir)Tj -/T1_0 1 Tf -5.716 0 Td -[(is )-66(then )-66(used)]TJ --33.567 -1.2 Td -[(with )-98(the )-98(other )-98(\336ve )-98(functions.)-597(The)]TJ -/TT0 1 Tf -15.789 0 Td -(opendir)Tj -/T1_0 1 Tf -4.548 0 Td -[(function )-98(initializes )-98(things )-98(so )-98(that )-98(the )-98(\336rst)]TJ -/TT0 1 Tf --20.337 -1.2 Td -(readdir)Tj -/T1_0 1 Tf --0.018 Tc 4.531 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-80(the )-80(\336rst )-80(entry )-80(in )-80(the )-80(dir)15(ectory)]TJ -0.5804 Tc 15.962 0 Td -(.W)Tj -0 Tc 1.83 0 Td -[(hen )-80(the)]TJ -/TT0 1 Tf -3.691 0 Td -(DIR)Tj -/T1_0 1 Tf -2.13 0 Td -[(str)8(uctur)18(e)-330(is)-330(c)]TJ --0.018 Tc 5.789 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ated )-80(by)]TJ -/TT0 1 Tf --35.645 -1.2 Td -(fdopendir)Tj -/T1_0 1 Tf -0.339 Tc (,t)Tj -0 Tc 6.315 0 Td -[(he )-89(\336rst )-89(entry )-89(r)18(eturned )-89(by)]TJ -/TT0 1 Tf -11.806 0 Td -(readdir)Tj -/T1_0 1 Tf -4.539 0 Td -[(depends )-89(on )-89(the )-89(\336le )-89(of)18(fset )-89(associated)]TJ --22.66 -1.2 Td -[(with )-56(the )-56(\336le )-56(descriptor )-56(passed )-56(to)]TJ -/TT0 1 Tf -15.056 0 Td -(fdopendir)Tj -/T1_0 1 Tf -0.5562 Tc (.N)Tj -0 Tc 7.037 0 Td -[(ote )-56(that )-56(the )-56(or)18(dering )-56(of )-56(entries )-56(within)]TJ --22.093 -1.2 Td -[(the dir)18(ectory is implementation dependent and is usually not alphabetical.)]TJ -/TT1 1 Tf --3.6 -2.4 Td -(Example)Tj -/T1_0 1 Tf --0.092 Tc 3.6 -2.04 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-27(use )-27(these )-27(dir)18(ectory )-27(r)18(outines )-27(to )-27(write )-27(a )-27(pr)15(ogram )-27(that )-27(traverses )-27(a )-27(\336le )-27(hierar)16(chy)]TJ -0.5275 Tc 35.162 0 Td -(.T)Tj -0 Tc 1.391 0 Td -(he)Tj --37.939 -1.2 Td -[(goal )-255(is )-255(to )-255(pr)18(oduce )-255(a )-255(count )-255(of )-255(the )-255(various )-255(types )-255(of )-255(\336les )-255(shown )-255(in )-255(Figur)]TJ -0.5048 Tc 34.088 0 Td -(e4)Tj -0 Tc 1.484 0 Td -[(.4. )-505(The)]TJ --35.571 -1.2 Td -[(pr)18(ogram )-121(shown )-121(in )-121(Figur)]TJ -0.3709 Tc 11.194 0 Td -(e4)Tj -0 Tc 1.35 0 Td -[(.22 )-121(takes )-121(a )-121(single )-121(ar)18(gument )167(\321 )167(the)-371(starting )-121(pathname)]TJ -0.0833 Tc 23.679 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -(nd)Tj --0.018 Tc -37.807 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cursively )-40(descends )-40(the )-40(hierar)18(chy )-40(fr)18(om )-40(that )-40(point.)-540(Solaris )-40(pr)18(ovides )-40(a )-40(function,)]TJ -/TT0 1 Tf -34.928 0 Td -(ftw)Tj -/T1_0 1 Tf -1.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.333 -0.04 Td -(,)Tj --38.75 -1.2 Td -[(that )-138(performs )-138(the )-138(actual )-138(traversal )-138(of )-138(the )-138(hierar)19(chy)]TJ -0.3878 Tc 22.792 0 Td -(,c)Tj -0 Tc 1.082 0 Td -[(alling )-138(a )-138(user)18(-de\336ned )-138(function )-138(for)]TJ --23.873 -1.2 Td -[(each )-59(\336le.)-559(The )-59(pr)18(oblem )-59(with )-59(this )-59(function )-59(is )-59(that )-59(it )-59(calls )-59(the)]TJ -/TT0 1 Tf -26.754 0 Td -(stat)Tj -/T1_0 1 Tf -2.709 0 Td -[(function )-59(for )-59(each )-59(\336le,)]TJ --29.463 -1.2 Td -[(which )-43(causes )-43(the )-43(pr)18(ogram )-43(to )-43(follow )-43(symbolic )-43(links.)-541(For )-43(example, )-43(if )-43(we )-43(start )-43(at )-43(the )-43(r)19(oot)]TJ -0 -1.2 TD -[(and )-188(have )-188(a )-188(symbolic )-188(link )-188(named)]TJ -/TT0 1 Tf -15.708 0 Td -(/lib)Tj -/T1_0 1 Tf -2.838 0 Td -[(that )-188(points )-188(to)]TJ -/TT0 1 Tf -6.689 0 Td -(/usr/lib)Tj -/T1_0 1 Tf -0.4376 Tc (,a)Tj -0 Tc 5.988 0 Td -[(ll )-188(the )-188(\336les )-188(in )-188(the)]TJ --31.222 -1.2 Td -[(dir)18(ectory)]TJ -/TT0 1 Tf -4.454 0 Td -(/usr/lib)Tj -/T1_0 1 Tf -5.229 0 Td -(ar)Tj -0.4295 Tc 0.877 0 Td -(ec)Tj -0 Tc 1.352 0 Td -[(ounted )-179(twice.)]TJ --0.092 Tc 6.88 0 Td -[(To )-364(c)]TJ -0 Tc 1.941 0 Td -[(orr)18(ect )-180(this )-180(pr)18(oblem, )-180(Solaris )-180(pr)18(ovides )-180(an)]TJ --20.734 -1.2 Td -[(additional )-17(function,)]TJ -/TT0 1 Tf -9.041 0 Td -(nftw)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.2674 Tc 0.333 -0.04 Td -(,w)Tj -0 Tc 1.351 0 Td -[(ith )-17(an )-17(option )-17(that )-17(stops )-17(it )-17(fr)18(om )-17(following )-17(symbolic )-17(links.)]TJ --13.958 -1.2 Td -[(Although )-21(we )-21(could )-21(use)]TJ -/TT0 1 Tf -10.663 0 Td -(nftw)Tj -/T1_0 1 Tf -0.2712 Tc (,w)Tj -0 Tc 3.755 0 Td -[(e\325ll )-21(write )-21(our )-21(own )-21(simple )-21(\336le )-21(walker )-21(to )-21(show )-21(the )-21(use )-21(of)]TJ --14.418 -1.2 Td -[(the dir)18(ectory r)18(outines.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47068 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.9)]TJ -/TT0 1 Tf -23.886 0 Td -(chmod)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.75 0 Td -(fchmod)Tj -/T1_0 1 Tf -0.5 Tc (,a)Tj -0 Tc 4.85 0 Td -(nd)Tj -/TT0 1 Tf -1.693 0 Td -(fchmodat)Tj -/T1_0 1 Tf -5.3 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(107)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Note )-66(that )-66(nine )-66(of )-66(the )-66(entries )-66(in )-66(Figur)]TJ -0.3164 Tc 16.563 0 Td -(e4)Tj -0 Tc 1.295 0 Td -(.1)Tj -0.3164 Tc 0.695 0 Td -(1a)Tj --0.018 Tc 1.316 0 Td -[(re )-102(t)]TJ -0 Tc 1.498 0 Td -[(he )-66(nine )-66(\336le )-66(access )-66(permission )-66(bits )-66(fr)16(om)]TJ --21.368 -1.2 Td -(Figur)Tj -0.5955 Tc 2.383 0 Td -(e4)Tj -0 Tc 1.574 0 Td -[(.6. )-595(W)92(e\325ve )-345(added )-345(the )-345(two )-345(set-ID )-345(constants )-345(\()]TJ -/TT0 1 Tf -21.193 0 Td -(S_ISUID)Tj -/T1_0 1 Tf -4.796 0 Td -(and)Tj -/TT0 1 Tf -2.289 0 Td -(S_ISGID)Tj -/T1_0 1 Tf -[(\), )-346(the)]TJ --32.234 -1.2 Td -[(saved-text )-27(constant )-27(\()]TJ -/TT0 1 Tf -9.177 0 Td -(S_ISVTX)Tj -/T1_0 1 Tf -[(\), )-27(and )-27(the )-27(thr)18(ee )-27(combined )-27(constants )-27(\()]TJ -/TT0 1 Tf -20.646 0 Td -(S_IRWXU)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.727 0 Td -(S_IRWXG)Tj -/T1_0 1 Tf -(,)Tj --34.55 -1.2 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(S_IRWXO)Tj -/T1_0 1 Tf -(\).)Tj -7.9995 0 0 7.9995 183.5891 615.3631 Tm -[(The )-162(saved-text )-162(bit )-162(\()]TJ -/TT0 1 Tf -(S_ISVTX)Tj -/T1_0 1 Tf -[(\))-412(is)-412(not )-162(part )-162(of )-162(POSIX.1.)-662(It )-162(is )-162(de\336ned )-162(in )-162(the )-162(XSI )-162(option )-162(in )-162(the)]TJ --0 -1.25 Td -(Single UNIX Speci\336cation.)Tj --0.092 Tc 12.221 0 Td -[(We )-184(d)]TJ -0 Tc 2.248 0 Td -(escribe its purpose in the next section.)Tj -/TT1 1 Tf -9.9994 0 0 9.9994 93.5944 585.3649 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.16 Td -[(Recall )-38(the )-38(\336nal )-38(state )-38(of )-38(the )-38(\336les)]TJ -/TT0 1 Tf -14.173 0 Td -(foo)Tj -/T1_0 1 Tf -2.088 0 Td -(and)Tj -/TT0 1 Tf -1.981 0 Td -(bar)Tj -/T1_0 1 Tf -2.088 0 Td -[(when )-38(we )-38(ran )-38(the )-38(pr)19(ogram )-38(in )-38(Figur)]TJ -0.2877 Tc 15.495 0 Td -(e4)Tj -0 Tc 1.267 0 Td -[(.9 )-38(to)]TJ --37.09 -1.2 Td -(demonstrate the)Tj -/TT0 1 Tf -7.438 0 Td -(umask)Tj -/T1_0 1 Tf -3.25 0 Td -(function:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5904 537.208 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(ls -l foo bar)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(-rw------- )-600(1)-600(sar )]TJ -18 0 Td -[(0)-600(Dec )-600(7)-600(21:20 bar)]TJ --18 -1.189 Td -[(-rw-rw-rw- )-600(1)-600(sar )]TJ -18 0 Td -[(0)-600(Dec )-600(7)-600(21:20 foo)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5915 499.95 Tm -[(The pr)18(ogram shown in Figur)]TJ -0.25 Tc 12.756 0 Td -(e4)Tj -0 Tc 1.229 0 Td -(.12 modi\336es the mode of these two \336les.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4904.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 480.8213 Tm -(#include "apue.h")Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct stat)-3000(statbuf;)]TJ -0 -1.783 TD -(/* turn on set-group-ID and turn off group-execute */)Tj -0 -1.783 TD -(if \(stat\("foo", &statbuf\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("stat error for foo"\);)Tj --2.4 -1.189 Td -(if \(chmod\("foo", \(statbuf.st_mode & \367S_IXGRP\) | S_ISGID\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("chmod error for foo"\);)Tj --2.4 -1.783 Td -(/* set absolute mode to "rw-r--r--" */)Tj -0 -1.783 TD -(if \(chmod\("bar", S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("chmod error for bar"\);)Tj --2.4 -1.783 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2942.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 252.9065 278.1279 Tm -(Figure 4.12)Tj -/T1_0 1 Tf -5.695 0 Td -(Example of)Tj -/TT0 1 Tf -5.26 0 Td -(chmod)Tj -/T1_0 1 Tf -3.25 0 Td -(function)Tj -9.9982 0 0 9.9982 129.577 256.5318 Tm -[(After r)8(unning the pr)18(ogram in Figur)]TJ -0.25 Tc 15.645 0 Td -(e4)Tj -0 Tc 1.229 0 Td -(.12, we see that the \336nal state of the two \336les is)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.5735 241.9742 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(ls -l foo bar)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(-rw-r--r-- )-600(1)-600(sar )]TJ -18 0 Td -[(0)-600(Dec )-600(7)-600(21:20 bar)]TJ --18 -1.189 Td -[(-rw-rwSrw- )-600(1)-600(sar )]TJ -18 0 Td -[(0)-600(Dec )-600(7)-600(21:20 foo)]TJ -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5768 204.7211 Tm -[(In )-234(this )-234(example, )-234(we )-234(have )-234(set )-234(the )-234(permissions )-234(of )-234(the )-234(\336le)]TJ -/TT0 1 Tf -26.9 0 Td -(bar)Tj -/T1_0 1 Tf -2.284 0 Td -[(to )-234(an )-234(absolute )-234(value,)]TJ --0.018 Tc -29.184 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(gar)18(dless )-244(of )-244(the )-244(curr)18(ent )-244(permission )-244(bits.)-744(For )-244(the )-244(\336le)]TJ -/TT0 1 Tf -24.849 0 Td -(foo)Tj -/T1_0 1 Tf -[(,)-494(we)-494(set )-244(the )-244(permissions)]TJ --0.018 Tc -25.705 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(lative )-259(to )-259(their )-259(curr)18(ent )-259(state.)]TJ --0.092 Tc 13.704 0 Td -[(To )-443(d)]TJ -0.5091 Tc 2.187 0 Td -(ot)Tj -0 Tc 1.381 0 Td -[(his, )-259(we )-259(\336rst )-259(call)]TJ -/TT0 1 Tf -8.173 0 Td -(stat)Tj -/T1_0 1 Tf -2.909 0 Td -[(to )-259(obtain )-259(the )-259(curr)17(ent)]TJ --29.209 -1.2 Td -[(permissions )-87(and )-87(then )-87(modify )-87(them.)]TJ --0.092 Tc 16.675 0 Td -[(We )-271(h)]TJ -0 Tc 2.306 0 Td -[(ave )-87(explicitly )-87(turned )-87(on )-87(the )-87(set-gr)20(oup-ID )-86(bit)]TJ --18.981 -1.2 Td -[(and )-2(turned )-2(of)]TJ -0.2524 Tc 6.055 0 Td -(ft)Tj -0 Tc 0.911 0 Td -[(he )-2(gr)18(oup-execute )-2(bit.)-502(Note )-2(that )-2(the)]TJ -/TT0 1 Tf -15.89 0 Td -(ls)Tj -/T1_0 1 Tf -1.452 0 Td -[(command )-2(lists )-2(the )-2(gr)17(oup-execute)]TJ --24.309 -1.2 Td -[(permission )-59(as)]TJ -/TT0 1 Tf -6.458 0 Td -(S)Tj -/T1_0 1 Tf -0.909 0 Td -[(to )-59(signify )-59(that )-59(the )-59(set-gr)18(oup-ID )-59(bit )-59(is )-59(set )-59(without )-59(the )-59(gr)18(oup-execute )-59(bit)]TJ --7.367 -1.2 Td -(being set.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47069 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(94)Tj -/T1_1 1 Tf -3 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.741 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Given )-134(a)]TJ -/T1_2 1 Tf -3.948 0 Td -(pathname)Tj -/T1_1 1 Tf -0.384 Tc (,t)Tj -0 Tc 4.904 0 Td -(he)Tj -/TT0 1 Tf -1.445 0 Td -(stat)Tj -/T1_1 1 Tf -2.784 0 Td -[(function )-134(r)18(eturns )-134(a )-134(str)8(uctur)18(e)-384(of)-384(information )-134(about )-134(the)]TJ --14.881 -1.2 Td -[(named )-52(\336le.)-553(The)]TJ -/TT0 1 Tf -7.511 0 Td -(fstat)Tj -/T1_1 1 Tf -3.302 0 Td -[(function )-52(obtains )-52(information )-52(about )-52(the )-52(\336le )-52(that )-52(is )-52(alr)18(eady )-52(open)]TJ --10.813 -1.2 Td -[(on )-32(the )-32(descriptor)]TJ -/T1_2 1 Tf -7.873 0 Td -(fd)Tj -/T1_1 1 Tf -0.532 Tc (.T)Tj -0 Tc 2.173 0 Td -(he)Tj -/TT0 1 Tf -1.343 0 Td -(lstat)Tj -/T1_1 1 Tf -3.282 0 Td -[(function )-32(is )-32(similar )-32(to)]TJ -/TT0 1 Tf -9.497 0 Td -(stat)Tj -/T1_1 1 Tf -0.2819 Tc (,b)Tj -0 Tc 3.485 0 Td -[(ut )-32(when )-32(the )-32(named )-32(\336le )-32(is)]TJ -0.5826 Tc -27.652 -1.2 Td -(as)Tj -0 Tc 1.507 0 Td -[(ymbolic )-333(link,)]TJ -/TT0 1 Tf -6.699 0 Td -(lstat)Tj -/T1_1 1 Tf --0.018 Tc 3.583 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-333(information )-333(about )-333(the )-333(symbolic )-333(link, )-333(not )-333(the )-333(\336le)]TJ --0.018 Tc -12.645 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(enced )-5(by )-5(the )-5(symbolic )-5(link.)-503(\(W)92(e\325ll )-5(need)]TJ -/TT0 1 Tf -19.002 0 Td -(lstat)Tj -/T1_1 1 Tf -3.255 0 Td -[(in )-5(Section )-5(4.22 )-5(when )-5(we )-5(walk )-5(down)]TJ -0.25 Tc -23.112 -1.2 Td -(ad)Tj -0 Tc 1.361 0 Td -[(ir)18(ectory hierar)18(chy)]TJ -0.5 Tc 7.759 0 Td -(.W)Tj -0.25 Tc 1.658 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(escribe symbolic links in mor)Tj -0.25 Tc 12.876 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(etail in Section 4.17.\))Tj --24.534 -1.2 Td -(The)Tj -/TT0 1 Tf -2.054 0 Td -(fstatat)Tj -/T1_1 1 Tf -4.58 0 Td -[(function )-130(pr)18(ovides )-130(a )-130(way )-130(to )-130(r)18(eturn )-130(the )-130(\336le )-130(statistics )-130(for )-130(a )-130(pathname)]TJ --0.018 Tc -8.433 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(lative )-312(to )-312(an )-312(open )-312(dir)18(ectory )-312(r)18(epr)18(esented )-312(by )-312(the)]TJ -/T1_2 1 Tf -22.844 0 Td -(fd)Tj -/T1_1 1 Tf -1.34 0 Td -[(ar)18(gument. )-562(The)]TJ -/T1_2 1 Tf -7.604 0 Td -(\337ag)Tj -/T1_1 1 Tf -2.051 0 Td -[(ar)18(gument)]TJ --34.694 -1.2 Td -[(contr)18(ols )-104(whether )-104(symbolic )-104(links )-104(ar)]TJ -0.3544 Tc 15.64 0 Td -(ef)Tj -0 Tc 1.166 0 Td -[(ollowed; )-104(when )-104(the)]TJ -/TT0 1 Tf -8.776 0 Td -(AT_SYMLINK_NOFOLLOW)Tj -/T1_1 1 Tf -11.755 0 Td -(\337ag)Tj --37.336 -1.2 Td -[(is )-34(set,)]TJ -/TT0 1 Tf -2.761 0 Td -(fstatat)Tj -/T1_1 1 Tf -4.484 0 Td -[(will )-34(not )-34(follow )-34(symbolic )-34(links, )-34(but )-34(rather )-34(r)18(eturns )-34(information )-34(about )-34(the)]TJ --7.245 -1.2 Td -[(link )-203(itself.)-703(Otherwise, )-203(the )-203(default )-203(is )-203(to )-203(follow )-203(symbolic )-203(links, )-203(r)18(eturning )-203(information)]TJ -0 -1.2 TD -[(about )-235(the )-235(\336le )-235(to )-235(which )-235(the )-235(symbolic )-235(link )-235(points.)-731(If )-234(the)]TJ -/T1_2 1 Tf -26.647 0 Td -(fd)Tj -/T1_1 1 Tf -1.262 0 Td -[(ar)18(gument )-234(has )-234(the )-234(value)]TJ -/TT0 1 Tf --27.91 -1.2 Td -(AT_FDCWD)Tj -/T1_1 1 Tf -5.101 0 Td -[(and )-51(the)]TJ -/T1_2 1 Tf -3.681 0 Td -(pathname)Tj -/T1_1 1 Tf -4.245 0 Td -[(ar)18(gument )-51(is )-51(a )-51(r)18(elative )-51(pathname, )-51(then)]TJ -/TT0 1 Tf -17.305 0 Td -(fstatat)Tj -/T1_1 1 Tf -4.501 0 Td -(evaluates)Tj --34.833 -1.2 Td -(the)Tj -/T1_2 1 Tf -1.7 0 Td -(pathname)Tj -/T1_1 1 Tf -4.257 0 Td -[(ar)18(gument )-63(r)18(elative )-63(to )-63(the )-63(curr)18(ent )-63(dir)17(ectory)]TJ -0.5632 Tc 18.559 0 Td -(.I)Tj -0.3132 Tc 1.15 0 Td -(ft)Tj -0 Tc 0.972 0 Td -(he)Tj -/T1_2 1 Tf -1.374 0 Td -(pathname)Tj -/T1_1 1 Tf -4.257 0 Td -[(ar)18(gument )-63(is )-63(an)]TJ --32.271 -1.2 Td -[(absolute )-237(pathname, )-237(then )-237(the)]TJ -/T1_2 1 Tf -13.728 0 Td -(fd)Tj -/T1_1 1 Tf -1.265 0 Td -[(ar)18(gument )-237(is )-237(ignor)18(ed. )-487(In)-487(these )-237(two )-237(cases,)]TJ -/TT0 1 Tf -19.807 0 Td -(fstatat)Tj -/T1_1 1 Tf --34.8 -1.2 Td -(behaves like either)Tj -/TT0 1 Tf -8.501 0 Td -(stat)Tj -/T1_1 1 Tf -2.65 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(lstat)Tj -/T1_1 1 Tf -0.25 Tc (,d)Tj -0 Tc 4.111 0 Td -(epending on the value of)Tj -/T1_2 1 Tf -11.263 0 Td -(\337ag)Tj -/T1_1 1 Tf -(.)Tj --25.916 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.968 0 Td -(buf)Tj -/T1_1 1 Tf -1.591 0 Td -[(ar)18(gument )-44(is )-44(a )-44(pointer )-44(to )-44(a )-44(str)9(uctur)]TJ -0.2938 Tc 15.366 0 Td -(et)Tj -0 Tc 1.099 0 Td -[(hat )-44(we )-44(must )-44(supply)]TJ -0.5438 Tc 8.803 0 Td -(.T)Tj -0 Tc 1.407 0 Td -[(he )-44(functions )-44(\336ll)]TJ --32.033 -1.2 Td -[(in )-68(the )-68(str)8(uctur)18(e. )-318(The)-318(de\336nition )-68(of )-68(the )-68(str)8(uctur)]TJ -0.318 Tc 20.698 0 Td -(ec)Tj -0 Tc 1.241 0 Td -[(an )-68(dif)18(fer )-68(among )-68(implementations, )-68(but)]TJ --21.939 -1.2 Td -(it could look like)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5904 434.1342 Tm -(struct stat {)Tj -1.2 -1.189 Td -(mode_t )Tj -9.6 0 Td -[(st_mode;)-2400(/* file type & mode \(permissions\) */)]TJ --9.6 -1.189 Td -(ino_t )Tj -9.6 0 Td -[(st_ino;)-3000(/* i-node number \(serial number\) */)]TJ --9.6 -1.189 Td -(dev_t )Tj -9.6 0 Td -[(st_dev;)-3000(/* device number \(file system\) */)]TJ --9.6 -1.189 Td -(dev_t )Tj -9.6 0 Td -[(st_rdev;)-2400(/* device number for special files */)]TJ --9.6 -1.189 Td -[(nlink_t )-4800(st_nlink;)-1800(/* number of links */)]TJ -0 -1.189 TD -(uid_t )Tj -9.6 0 Td -[(st_uid;)-3000(/* user ID of owner */)]TJ --9.6 -1.189 Td -(gid_t )Tj -9.6 0 Td -[(st_gid;)-3000(/* group ID of owner */)]TJ --9.6 -1.189 Td -(off_t )Tj -9.6 0 Td -[(st_size;)-2400(/* size in bytes, for regular files */)]TJ --9.6 -1.189 Td -[(struct timespec st_atim;)-2400(/* time of last access */)]TJ -T* -[(struct timespec st_mtim;)-2400(/* time of last modification */)]TJ -T* -[(struct timespec st_ctim;)-2400(/* time of last file status change */)]TJ -T* -[(blksize_t )-3600(st_blksize;)-600(/* best I/O block size */)]TJ -T* -[(blkcnt_t )-4200(st_blocks;)-1200(/* number of disk blocks allocated */)]TJ --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -7.9995 0 0 7.9995 183.5883 263.1444 Tm -(The)Tj -/TT0 1 Tf -2.063 0 Td -(st_rdev)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.839 0 Td -(st_blksize)Tj -/T1_1 1 Tf -0.3894 Tc (,a)Tj -0 Tc 7.139 0 Td -(nd)Tj -/TT0 1 Tf -1.582 0 Td -(st_blocks)Tj -/T1_1 1 Tf -5.789 0 Td -[(\336elds )-139(ar)]TJ -0.3894 Tc 3.676 0 Td -(en)Tj -0 Tc 1.45 0 Td -[(ot )-139(r)18(equir)18(ed )-139(by )-139(POSIX.1.)-639(They )-139(ar)17(e)]TJ --26.541 -1.25 Td -(de\336ned as part of the XSI option in the Single UNIX Speci\336cation.)Tj -9.9994 0 0 9.9994 147.5899 233.1462 Tm -(The)Tj -/TT0 1 Tf -1.948 0 Td -(timespec)Tj -/T1_1 1 Tf -5.074 0 Td -[(str)8(uctur)]TJ -0.2742 Tc 3.49 0 Td -(et)Tj -0 Tc 1.079 0 Td -[(ype )-24(de\336nes )-24(time )-24(in )-24(terms )-24(of )-24(seconds )-24(and )-24(nanoseconds.)-527(It)]TJ --13.392 -1.2 Td -(includes at least the following \336elds:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5903 204.4479 Tm -(time_t tv_sec;)Tj -T* -[(long )-1200(tv_nsec;)]TJ -/T1_1 1 Tf -7.9995 0 0 7.9995 183.5882 172.5498 Tm -[(Prior )-84(to )-84(the )-84(2008 )-84(version )-84(of )-84(the )-84(standar)18(d, )-84(the )-84(time )-84(\336elds )-84(wer)]TJ -0.3344 Tc 27.363 0 Td -(en)Tj -0 Tc 1.395 0 Td -(amed)Tj -/TT0 1 Tf -2.807 0 Td -(st_atime)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -5.384 0 Td -(st_mtime)Tj -/T1_1 1 Tf -(,)Tj --36.95 -1.25 Td -(and)Tj -/TT0 1 Tf -2.074 0 Td -(st_ctime)Tj -/T1_1 1 Tf -0.381 Tc (,a)Tj -0 Tc 5.931 0 Td -[(nd )-131(wer)18(e)-381(of)-381(type)]TJ -/TT0 1 Tf -7.727 0 Td -(time_t)Tj -/T1_1 1 Tf -3.981 0 Td -[(\(expr)18(essed )-131(in )-131(seconds\).)-631(The)]TJ -/TT0 1 Tf -13.137 0 Td -(timespec)Tj -/T1_1 1 Tf -5.181 0 Td -[(str)8(uctur)18(e)]TJ --38.031 -1.25 Td -[(enables )-75(higher)18(-r)18(esolution )-75(timestamps.)-576(The )-75(old )-75(names )-75(can )-75(be )-75(de\336ned )-75(in )-75(terms )-75(of )-75(the)]TJ -/TT0 1 Tf -38.4 0 Td -(tv_sec)Tj -/T1_1 1 Tf --38.4 -1.25 Td -(members for compatibility)Tj -0.5 Tc 11.658 0 Td -(.F)Tj -0 Tc 1.306 0 Td -(or example,)Tj -/TT0 1 Tf -5.44 0 Td -(st_atime)Tj -/T1_1 1 Tf -5.05 0 Td -(can be de\336ned as)Tj -/TT0 1 Tf -7.849 0 Td -(st_atim.tv_sec)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47070 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(54)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(For each option, we have thr)18(ee possibilities for a platform\325s support status.)]TJ -0 -1.92 TD -[(1. )-633(If)-255(the )-5(symbolic )-5(constant )-5(is )-5(either )-5(unde\336ned )-5(or )-5(de\336ned )-5(to )-5(have )-5(the )-5(value)]TJ -/TT0 1 Tf -33.677 0 Td -(!)Tj -/T1_1 1 Tf -[(1, )-5(then)]TJ --32.044 -1.2 Td -[(the )-65(corr)18(esponding )-65(option )-65(is )-65(unsupported )-65(by )-65(the )-65(platform )-65(at )-65(compile )-65(time.)-564(It )-65(is)]TJ -0 -1.2 TD -[(possible )-275(to )-275(r)8(un )-275(an )-275(old )-275(application )-275(on )-275(a )-275(newer )-275(system )-275(wher)]TJ -0.525 Tc 28.567 0 Td -(et)Tj -0 Tc 1.33 0 Td -[(he )-275(option)]TJ -/T1_2 1 Tf -5.003 0 Td -(is)Tj -/T1_1 1 Tf --34.9 -1.2 Td -[(supported, )-237(so )-237(a )-237(r)8(untime )-237(check )-237(might )-237(indicate )-237(the )-237(option )-237(is )-237(supported )-237(even)]TJ -T* -(though the option wasn\325t supported at the time the application was co\ mpiled.)Tj --1.633 -1.6 Td -[(2. )-633(If)-766(the )-516(symbolic )-516(constant )-516(is )-516(de\336ned )-516(to )-516(be )-516(gr)18(eater )-516(than )-516(zer)18(o, )-516(then )-516(the)]TJ -1.633 -1.2 Td -[(corr)18(esponding option is supported.)]TJ --1.633 -1.6 Td -[(3. )-633(If)-522(the )-272(symbolic )-272(constant )-272(is )-272(de\336ned )-272(to )-272(be )-272(equal )-272(to )-272(zer)18(o, )-272(then )-272(we )-272(must )-272(call)]TJ -/TT1 1 Tf -1.633 -1.2 Td -(sysconf)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -5.079 0 Td -(pathconf)Tj -/T1_1 1 Tf -0.6287 Tc (,o)Tj -0 Tc 6.225 0 Td -(r)Tj -/TT1 1 Tf -1.024 0 Td -(fpathconf)Tj -/T1_1 1 Tf -6.029 0 Td -[(to )-379(determine )-379(whether )-379(the )-379(option )-379(is)]TJ --18.356 -1.2 Td -(supported.)Tj --1.633 -1.92 Td -[(The )-104(symbolic )-104(constants )-104(used )-104(with)]TJ -/TT1 1 Tf -15.738 0 Td -(pathconf)Tj -/T1_1 1 Tf -5.154 0 Td -(and)Tj -/TT1 1 Tf -2.047 0 Td -(fpathconf)Tj -/T1_1 1 Tf -5.754 0 Td -(ar)Tj -0.3543 Tc 0.877 0 Td -(es)Tj -0 Tc 1.257 0 Td -[(ummarized )-104(in)]TJ --32.628 -1.2 Td -(Figur)Tj -0.6083 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.587 0 Td -[(.18. )-608(Figur)]TJ -0.6083 Tc 4.741 0 Td -(e2)Tj -0 Tc 1.587 0 Td -[(.19 )-358(summarizes )-358(the )-358(nonobsolete )-358(options )-358(and )-358(their )-358(symbolic)]TJ --10.299 -1.2 Td -[(constants )-17(that )-17(can )-17(be )-17(used )-17(with)]TJ -/TT1 1 Tf -14.198 0 Td -(sysconf)Tj -/T1_1 1 Tf -[(,)-267(in)-267(addition )-17(to )-17(those )-17(listed )-17(in )-17(Figur)]TJ -0.267 Tc 19.857 0 Td -(e2)Tj -0 Tc 1.246 0 Td -[(.5. )-267(Note)]TJ --35.301 -1.2 Td -(that we omit options associated with utility commands.)Tj -1.8 -1.2 Td -[(As )-120(with )-120(the )-120(system )-120(limits, )-120(ther)]TJ -0.3705 Tc 14.086 0 Td -(ea)Tj --0.018 Tc 1.349 0 Td -[(re )-157(s)]TJ -0 Tc 1.651 0 Td -[(everal )-120(points )-120(to )-120(note )-120(r)16(egar)18(ding )-120(how )-120(options)]TJ --18.887 -1.2 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(et)Tj --0.018 Tc 1.055 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ated by)Tj -/TT1 1 Tf -3.525 0 Td -(sysconf)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -4.7 0 Td -(pathconf)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 5.8 0 Td -(nd)Tj -/TT1 1 Tf -1.443 0 Td -(fpathconf)Tj -/T1_1 1 Tf -(.)Tj --16.456 -1.92 Td -[(1. )-1133(The)-667(value )-417(r)18(eturned )-417(for)]TJ -/TT1 1 Tf -14.039 0 Td -(_SC_VERSION)Tj -/T1_1 1 Tf -7.267 0 Td -[(indicates )-417(the )-417(four)18(-digit )-417(year )-417(and)]TJ --19.173 -1.2 Td -[(two-digit )-9(month )-9(of )-9(the )-9(standar)18(d. )-259(This)-259(value )-9(can )-9(be )-9(198808L, )-9(199009L, )-9(199506L,)]TJ --0 -1.2 Td -[(or )-106(some )-106(other )-106(value )-106(for )-106(a )-106(later )-106(version )-106(of )-106(the )-106(standar)19(d. )-356(The)-356(value )-106(associated)]TJ -T* -[(with )-56(V)111(ersion )-56(3 )-56(of )-56(the )-56(Single )-56(UNIX )-56(Speci\336cation )-56(is )-56(2001)55(12L )-56(\(the )-56(2001 )-56(edition )-56(of)]TJ -T* -[(POSIX.1\). )-255(The)-256(value )-5(associated )-5(with )-5(V)110(ersion )-5(4 )-5(of )-5(the )-5(Single )-5(UNIX )-5(Speci\336cation)]TJ -T* -(\(the 2008 edition of POSIX.1\) is 200809L.)Tj --2.133 -1.6 Td -[(2. )-1133(The)-322(value )-72(r)18(eturned )-72(for)]TJ -/TT1 1 Tf -12.658 0 Td -(_SC_XOPEN_VERSION)Tj -/T1_1 1 Tf -10.522 0 Td -[(indicates )-72(the )-72(version )-72(of )-72(the )-72(XSI)]TJ --21.046 -1.2 Td -[(that )-160(the )-160(system )-160(supports.)-660(The )-160(value )-160(associated )-160(with )-160(V)111(ersion )-160(3 )-160(of )-160(the )-160(Single)]TJ -T* -[(UNIX )-133(Speci\336cation )-133(is )-133(600.)-633(The )-133(value )-133(associated )-133(with )-133(V)111(ersion )-133(4 )-133(of )-133(the )-133(Single)]TJ -T* -(UNIX Speci\336cation \(the 2008 edition of POSIX.1\) is 700.)Tj --2.133 -1.6 Td -[(3. )-1133(The)-535(values)]TJ -/TT1 1 Tf -7.739 0 Td -(_SC_JOB_CONTROL)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -9.785 0 Td -(_SC_SAVED_IDS)Tj -/T1_1 1 Tf -0.535 Tc (,a)Tj -0 Tc 9.085 0 Td -(nd)Tj -/TT1 1 Tf -1.728 0 Td -(_PC_VDISABLE)Tj -/T1_1 1 Tf -7.735 0 Td -(no)Tj --33.939 -1.2 Td -[(longer )-120(r)18(epr)18(esent )-120(optional )-120(featur)18(es. )-370(Although)-370(XPG4 )-120(and )-120(prior )-120(versions )-120(of )-120(the)]TJ --0 -1.2 Td -[(Single )-58(UNIX )-58(Speci\336cation )-58(r)19(equir)18(ed )-58(that )-58(these )-58(featur)18(es )-58(be )-58(supported, )-58(V)111(ersion )-58(3)]TJ -T* -[(of )-29(the )-29(Single )-29(UNIX )-29(Speci\336cation )-29(is )-29(the )-29(earliest )-29(version )-29(wher)]TJ -0.2786 Tc 26.585 0 Td -(et)Tj -0 Tc 1.084 0 Td -[(hese )-28(featur)18(es )-28(ar)17(e)]TJ --27.669 -1.2 Td -[(no )-296(longer )-296(optional )-296(in )-296(POSIX.1.)-796(These )-296(symbols )-296(ar)]TJ -0.5461 Tc 23.656 0 Td -(er)Tj -0 Tc 1.402 0 Td -[(etained )-296(for )-296(backwar)18(d)]TJ --25.058 -1.2 Td -[(compatibility)111(.)]TJ --2.133 -1.6 Td -[(4. )-1133(Platforms)-676(conforming )-426(to )-426(POSIX.1)]TJ -18.162 0.09 Td -(-)Tj -0.333 -0.09 Td -[(2008 )-426(ar)]TJ -0.676 Tc 3.553 0 Td -(ea)Tj -0 Tc 1.655 0 Td -[(lso )-426(r)18(equir)18(ed )-426(to )-426(support )-426(the)]TJ --21.57 -1.2 Td -(following options:)Tj -0 -1.92 TD -(\245)Tj -/TT1 1 Tf -1.489 0 Td -(_POSIX_ASYNCHRONOUS_IO)Tj -/T1_1 1 Tf --1.489 -1.6 Td -(\245)Tj -/TT1 1 Tf -1.489 0 Td -(_POSIX_BARRIERS)Tj -/T1_1 1 Tf --1.489 -1.6 Td -(\245)Tj -/TT1 1 Tf -1.489 0 Td -(_POSIX_CLOCK_SELECTION)Tj -/T1_1 1 Tf --1.489 -1.6 Td -(\245)Tj -/TT1 1 Tf -1.489 0 Td -(_POSIX_MAPPED_FILES)Tj -/T1_1 1 Tf --1.489 -1.6 Td -(\245)Tj -/TT1 1 Tf -1.489 0 Td -(_POSIX_MEMORY_PROTECTION)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47071 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.2)]TJ -34.152 0 Td -[(UNIX )-250(Standar)18(dization)]TJ -/T1_1 1 Tf -12.181 0 Td -(31)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1080.25 6670.25 cm -0 0 m -4087 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 148.7791 658.9605 Tm -(SUS)Tj --1.536 -1.25 Td -(mandatory)Tj --2.954 0.625 Td -(Code)Tj -14.218 0 Td -(Symbolic constant)Tj -22.519 0 Td -(Description)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1080.25 6450.25 cm -0 0 m -4087 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1080.25 6430.25 cm -0 0 m -4087 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 111.9866 634.9238 Tm -(ADV)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_ADVISORY_INFO)Tj -/T1_0 1 Tf -20.3 0 Td -[(advisory information \(r)18(eal-time\))]TJ --28.762 -1.25 Td -(CPT)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_CPUTIME)Tj -/T1_0 1 Tf -20.3 0 Td -[(pr)18(ocess CPU time clocks \(r)18(eal-time\))]TJ --28.762 -1.25 Td -[(FSC )-3169(\245)]TJ -/TT0 1 Tf -8.462 0 Td -(_POSIX_FSYNC)Tj -/T1_0 1 Tf -20.3 0 Td -[(\336le synchr)18(onization)]TJ --28.762 -1.25 Td -(IP6)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_IPV6)Tj -/T1_0 1 Tf -20.3 0 Td -(IPv6 interfaces)Tj --28.762 -1.25 Td -(ML)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_MEMLOCK)Tj -/T1_0 1 Tf -20.3 0 Td -[(pr)18(ocess memory locking \(r)18(eal-time\))]TJ --28.762 -1.25 Td -(MLR)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_MEMLOCK_RANGE)Tj -/T1_0 1 Tf -20.3 0 Td -[(memory range locking \(r)18(eal-time\))]TJ --28.762 -1.25 Td -(MON)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_MONOTONIC_CLOCK)Tj -/T1_0 1 Tf -20.3 0 Td -[(monotonic clock \(r)18(eal-time\))]TJ --28.762 -1.25 Td -(MSG)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_MESSAGE_PASSING)Tj -/T1_0 1 Tf -20.3 0 Td -[(message passing \(r)18(eal-time\))]TJ --28.762 -1.25 Td -(MX)Tj -/TT0 1 Tf -0.1666 Tc 8.462 0 Td -(__)Tj -0 Tc 1.367 0 Td -[(STDC_IEC_559_ )433(_)]TJ -/T1_0 1 Tf -18.933 0 Td -(IEC 60559 \337oating-point option)Tj --28.762 -1.25 Td -(PIO)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_PRIORITIZED_IO)Tj -/T1_0 1 Tf -20.3 0 Td -(prioritized input and output)Tj --28.762 -1.25 Td -(PS)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_PRIORITY_SCHEDULING)Tj -/T1_0 1 Tf -20.3 0 Td -[(pr)18(ocess scheduling \(r)18(eal-time\))]TJ --28.762 -1.25 Td -(RPI)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_THREAD_ROBUST_PRIO_INHERIT)Tj -/T1_0 1 Tf --0.018 Tc 20.3 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(bust mutex priority inheritance \(r)18(eal-time\))]TJ --29.685 -1.25 Td -(RPP)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_THREAD_ROBUST_PRIO_PROTECT)Tj -/T1_0 1 Tf --0.018 Tc 20.3 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(bust mutex priority pr)18(otection \(r)18(eal-time\))]TJ --29.685 -1.25 Td -(RS)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_RAW_SOCKETS)Tj -/T1_0 1 Tf -20.3 0 Td -(raw sockets)Tj --28.762 -1.25 Td -(SHM)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_SHARED_MEMORY_OBJECTS)Tj -/T1_0 1 Tf -20.3 0 Td -[(shar)18(ed memory objects \(r)18(eal-time\))]TJ --28.762 -1.25 Td -(SIO)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_SYNCHRONIZED_IO)Tj -/T1_0 1 Tf -20.3 0 Td -[(synchr)18(onized input and output \(r)18(eal-time\))]TJ --28.762 -1.25 Td -(SPN)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_SPAWN)Tj -/T1_0 1 Tf -20.3 0 Td -[(spawn \(r)18(eal-time\))]TJ --28.762 -1.25 Td -(SS)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_SPORADIC_SERVER)Tj -/T1_0 1 Tf -20.3 0 Td -[(pr)18(ocess sporadic server \(r)18(eal-time\))]TJ --28.762 -1.25 Td -(TCT)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_THREAD_CPUTIME)Tj -/T1_0 1 Tf -20.3 0 Td -[(thr)18(ead CPU time clocks \(r)18(eal-time\))]TJ --28.762 -1.25 Td -(TPI)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_THREAD_PRIO_INHERIT)Tj -/T1_0 1 Tf -20.3 0 Td -[(nonr)18(obust mutex priority inheritance \(r)18(eal-time\))]TJ --28.762 -1.25 Td -(TPP)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_THREAD_PRIO_PROTECT)Tj -/T1_0 1 Tf -20.3 0 Td -[(nonr)18(obust mutex priority pr)18(otection \(r)18(eal-time\))]TJ --28.762 -1.25 Td -(TPS)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_THREAD_PRIORITY_SCHEDULING)Tj -/T1_0 1 Tf -20.3 0 Td -[(thr)18(ead execution scheduling \(r)18(eal-time\))]TJ --28.762 -1.25 Td -[(TSA )-3043(\245)]TJ -/TT0 1 Tf -8.462 0 Td -(_POSIX_THREAD_ATTR_STACKADDR)Tj -/T1_0 1 Tf -20.3 0 Td -[(thr)18(ead stack addr)18(ess attribute)]TJ --28.762 -1.25 Td -[(TSH )-2989(\245)]TJ -/TT0 1 Tf -8.462 0 Td -(_POSIX_THREAD_PROCESS_SHARED)Tj -/T1_0 1 Tf -20.3 0 Td -[(thr)18(ead pr)18(ocess-shar)18(ed synchr)18(onization)]TJ --28.762 -1.25 Td -(TSP)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_THREAD_SPORADIC_SERVER)Tj -/T1_0 1 Tf -20.3 0 Td -[(thr)18(ead sporadic server \(r)18(eal-time\))]TJ --28.762 -1.25 Td -[(TSS )-3296(\245)]TJ -/TT0 1 Tf -8.462 0 Td -(_POSIX_THREAD_ATTR_STACKSIZE)Tj -/T1_0 1 Tf -20.3 0 Td -[(thr)18(ead stack size addr)18(ess)]TJ --28.762 -1.25 Td -(TYM)Tj -/TT0 1 Tf -8.462 0 Td -(_POSIX_TYPED_MEMORY_OBJECTS)Tj -/T1_0 1 Tf -20.3 0 Td -[(typed memory objects \(r)18(eal-time\))]TJ --28.762 -1.25 Td -[(XSI )-3430(\245)]TJ -/TT0 1 Tf -8.462 0 Td -(_XOPEN_UNIX)Tj -/T1_0 1 Tf -20.3 0 Td -(X/Open interfaces)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1080.25 3610.25 cm -0 0 m -4087 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3401.25 3610.25 cm -0 0 m -0 3060 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1777.25 3610.25 cm -0 0 m -0 3060 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1345.25 3610.25 cm -0 0 m -0 3060 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5167.25 3610.25 cm -0 0 m -0 3060 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1080.25 3610.25 cm -0 0 m -0 3060 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 203.2434 342.9383 Tm -(Figure 2.5)Tj -/T1_0 1 Tf -5.195 0 Td -[(POSIX.1 optional interface gr)18(oups and codes)]TJ -9.9982 0 0 9.9982 147.5734 314.1434 Tm -[(Several )-118(of )-118(the )-118(interfaces )-118(that )-118(ar)]TJ -0.3681 Tc 14.205 0 Td -(eo)Tj -0 Tc 1.393 0 Td -[(ptional )-118(for )-118(XSI-conforming )-118(systems )-118(ar)]TJ -0.368 Tc 17.296 0 Td -(ed)Tj -0 Tc 1.458 0 Td -(ivided)Tj --36.152 -1.2 Td -(into)Tj -/T1_2 1 Tf -1.995 0 Td -[(option gr)18(oups)]TJ -/T1_0 1 Tf -5.815 0 Td -[(based on common functionality)111(,)-250(as)-250(follows:)]TJ -0.883 Tc -6.01 -2.16 Td -(\245E)Tj -0 Tc 2.1 0 Td -(ncryption: denoted by the)Tj -/TT0 1 Tf -11.703 0 Td -(_XOPEN_CRYPT)Tj -/T1_0 1 Tf -7.45 0 Td -(symbolic constant)Tj -0.883 Tc -21.253 -1.48 Td -(\245R)Tj -0 Tc 2.157 0 Td -(eal-time: denoted by the)Tj -/TT0 1 Tf -10.962 0 Td -(_XOPEN_REALTIME)Tj -/T1_0 1 Tf -9.25 0 Td -(symbolic constant)Tj -0.883 Tc -22.369 -1.48 Td -(\245A)Tj -0 Tc 2.267 0 Td -[(dvanced r)18(eal-time)]TJ -0.883 Tc -2.267 -1.48 Td -(\245R)Tj -0 Tc 2.157 0 Td -[(eal-time thr)18(eads: denoted by)]TJ -/TT0 1 Tf -12.874 0 Td -(_XOPEN_REALTIME_THREADS)Tj -/T1_0 1 Tf -0.883 Tc -15.031 -1.48 Td -(\245A)Tj -0 Tc 2.267 0 Td -[(dvanced r)18(eal-time thr)18(eads)]TJ --2.267 -2.4 Td -[(The )-223(Single )-223(UNIX )-223(Speci\336cation )-223(is )-223(a )-223(publication )-223(of )-223(The )-223(Open )-223(Gr)15(oup, )-223(which )-223(was)]TJ --1.8 -1.2 Td -[(formed )-58(in )-58(1996 )-58(as )-58(a )-58(mer)18(ger )-58(of )-58(X/Open )-58(and )-58(the )-58(Open )-58(Softwar)]TJ -0.3075 Tc 27.666 0 Td -(eF)Tj -0 Tc 1.342 0 Td -(oundation)Tj -4.894 0.04 Td -(\()Tj -0.333 -0.04 Td -(OSF)Tj -1.867 0.04 Td -(\))Tj -0.3075 Tc 0.333 -0.04 Td -(,b)Tj -0 Tc 1.111 0 Td -(oth)Tj --37.546 -1.2 Td -[(industry )-370(consortia.)-870(X/Open )-370(used )-370(to )-370(publish )-370(the)]TJ -/T1_2 1 Tf -24.121 0 Td -[(X/Open )-370(Portability )-370(Guide)]TJ -/T1_0 1 Tf -0.6196 Tc 11.276 0 Td -(,w)Tj -0 Tc 1.704 0 Td -(hich)Tj --37.101 -1.2 Td -[(adopted )-47(speci\336c )-47(standar)18(ds )-47(and )-47(\336lled )-47(in )-47(the )-47(gaps )-47(wher)]TJ -0.2972 Tc 24.278 0 Td -(ef)Tj -0 Tc 1.109 0 Td -[(unctionality )-47(was )-47(missing.)-548(The)]TJ --25.388 -1.2 Td -[(goal )-85(of )-85(these )-85(guides )-85(was )-85(to )-85(impr)20(ove )-85(application )-85(portability )-85(beyond )-85(what )-85(was )-85(possible)]TJ -0 -1.2 TD -[(by mer)18(ely conforming to published standar)18(ds.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47072 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 436.143 708 Tm -(Bibliography)Tj -/T1_1 1 Tf -7.773 0 Td -(953)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -8.9995 0 0 8.9995 129.5922 669.9598 Tm -[(Stonebraker)74(,)-1022(M.)-1022(R)]TJ -1.2722 Tc (.1)Tj -0 Tc 11.443 0 Td -[(981. )-1022(\324)37(\324Operating )-772(System )-772(Support )-772(for )-772(Database )-772(Management,\325)35(\325)]TJ -/T1_2 1 Tf --8.243 -1.222 Td -(Communications of the ACM)Tj -/T1_0 1 Tf -0.25 Tc (,v)Tj -0 Tc 13 0 Td -(ol. 24, no. 7, pp. 412)Tj -8.75 0.09 Td -(\320)Tj -0.583 -0.09 Td -(418 \(July\).)Tj -7.9995 0 0 7.9995 179.9896 645.6613 Tm -[(Describes operating system services and how they af)18(fect database operation.)]TJ -8.9995 0 0 8.9995 129.5926 628.0623 Tm -[(Strang, J.)-500(1986.)]TJ -/T1_2 1 Tf -7.217 0 Td -[(Pr)18(ogramming with curses)]TJ -/T1_0 1 Tf -0.5 Tc (.O)Tj -0 Tc 12.037 0 Td -(\325Reilly & Associates, Sebastopol, CA.)Tj -0.25 Tc 7.9995 0 0 7.9995 179.9895 614.7631 Tm -(Ab)Tj -0 Tc 1.581 0 Td -(ook on the Berkeley version of)Tj -/TT0 1 Tf -13.67 0 Td -(curses)Tj -/T1_0 1 Tf -(.)Tj -8.9995 0 0 8.9995 129.5925 597.1642 Tm -[(Strang, )-41(J., )-41(Mui, )-41(L., )-41(and )-41(O\325Reilly)]TJ -0.2907 Tc 13.843 0 Td -(,T)Tj -0.5407 Tc 1.08 0 Td -(.1)Tj -0 Tc 1.291 0 Td -(988.)Tj -/T1_2 1 Tf -2.291 0 Td -[(termcap )-41(& )-41(terminfo, )-41(Third )-41(Edition)]TJ -/T1_0 1 Tf -0.5406 Tc 14.153 0 Td -(.O)Tj -0 Tc 1.577 0 Td -[(\325Reilly )-41(& )-41(Associates,)]TJ --31.034 -1.222 Td -(Sebastopol, CA.)Tj -0.25 Tc 7.9995 0 0 7.9995 179.9897 572.8656 Tm -(Ab)Tj -0 Tc 1.581 0 Td -(ook on)Tj -/TT0 1 Tf -3.276 0 Td -(termcap)Tj -/T1_0 1 Tf -4.45 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(terminfo)Tj -/T1_0 1 Tf -(.)Tj -8.9995 0 0 8.9995 129.5926 555.2667 Tm -[(Sun Micr)18(osystems. )-250(2005.)]TJ -/T1_2 1 Tf -11.58 0 Td -[(STREAMS Pr)18(ogramming Guide)]TJ -/T1_0 1 Tf -0.5 Tc (.S)Tj -0 Tc 14.536 0 Td -[(un Micr)18(osystems, Santa Clara, CA.)]TJ -7.9995 0 0 7.9995 179.9896 541.9675 Tm -[(Describes STREAMS pr)18(ogramming on the Solaris platform.)]TJ -8.9995 0 0 8.9995 129.5926 524.3685 Tm -[(Thompson, )-208(K.)-707(1978. )-458(\324)37(\324UNIX )-208(Implementation,\325)38(\325)]TJ -/T1_2 1 Tf -22.048 0 Td -[(The )-208(Bell )-208(System )-208(T)111(echnical )-208(Journal)]TJ -/T1_0 1 Tf -0.4577 Tc 14.59 0 Td -(,v)Tj -0 Tc 1.273 0 Td -[(ol. 57,)-458(no. 6,)]TJ --34.711 -1.222 Td -(pp. 1931)Tj -3.785 0.09 Td -(\320)Tj -0.583 -0.09 Td -(1946 \(July\320Aug.\).)Tj -7.9995 0 0 7.9995 179.9896 500.07 Tm -[(Describes some of the implementation details of V)111(ersion 7.)]TJ --0.111 Tc 8.9995 0 0 8.9995 129.5926 482.4711 Tm -(Vo)Tj -0.3522 Tc 1.157 0 Td -(,K)Tj -0 Tc 1.328 0 Td -[(iem-Phong. )-352(1996. )-352(\324)37(\324Vmalloc: )-102(A )-102(General )-102(and )-102(Ef)18(\336cient )-102(Memory )-102(Allocator)73(,\325)37(\325)]TJ -/T1_2 1 Tf -33.701 0 Td -(Softwar)Tj -0.3521 Tc 3.148 0 Td -(eP)Tj -0 Tc 1.352 0 Td -(ractice)Tj --37.486 -1.222 Td -(and Experience)Tj -/T1_0 1 Tf -0.25 Tc (,v)Tj -0 Tc 7.223 0 Td -(ol. 26, no. 3, pp. 357)Tj -8.75 0.09 Td -(\320)Tj -0.583 -0.09 Td -(374.)Tj -7.9995 0 0 7.9995 179.9897 458.1725 Tm -[(Describes a \337exible memory allocator)74(.)]TJ --0.092 Tc 8.9995 0 0 8.9995 129.5927 440.5736 Tm -(We)Tj -0 Tc 1.387 0 Td -[(i, )-39(J., )-39(and )-39(Pu, )-39(C.)-540(2005. )-289(\324)37(\324T)18(OCTT)18(OU )-39(V)92(ulnerabilities )-39(in )-39(UNIX_Style )-39(File )-39(Systems: )-39(An )-39(Anatomical)]TJ -1.813 -1.222 Td -[(Study)111(,\325)37(\325)]TJ -/T1_2 1 Tf -3.587 0 Td -[(Pr)18(oceedings )-58(of )-58(the )-58(4th )-58(USENIX )-58(Confer)18(ence )-58(on )-58(File )-58(and )-58(Storage )-58(T)111(echnologoes )-58(\(F)112(AST\32505\))]TJ -/T1_0 1 Tf -(,)Tj --3.587 -1.222 Td -(pp. 155)Tj -3.285 0.09 Td -(\320)Tj -0.583 -0.09 Td -(167, San Francisco, CA.)Tj -7.9995 0 0 7.9995 179.9893 405.2757 Tm -[(Describes T)18(OCTT)18(OU weaknesses in the UNIX \336le system interface.)]TJ --0.092 Tc 8.9995 0 0 8.9995 129.5923 387.6767 Tm -(We)Tj -0 Tc 1.387 0 Td -[(inber)18(ger)]TJ -0.3802 Tc 3.638 0 Td -[(,P)509(.J)]TJ -0.6302 Tc 2.068 0 Td -(.1)Tj -0 Tc 1.38 0 Td -[(982. )-380(\324)37(\324Making )-130(UNIX )-130(Operating )-130(Systems )-130(Safe )-130(for )-130(Databases,\325)36(\325)]TJ -/T1_2 1 Tf -28.098 0 Td -[(The )-130(Bell )-130(System)]TJ --0.111 Tc -33.371 -1.222 Td -(Te)Tj -0 Tc 0.889 0 Td -(chnical Journal)Tj -/T1_0 1 Tf -0.25 Tc (,v)Tj -0 Tc 7.185 0 Td -(ol. 61, no. 9, pp. 2407)Tj -9.25 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(2422 \(Nov)111(.\).)]TJ -7.9995 0 0 7.9995 179.9894 363.3782 Tm -[(Describes some pr)18(oblems in implementing databases in early UNIX systems.)]TJ --0.092 Tc 8.9995 0 0 8.9995 129.5923 345.7793 Tm -(We)Tj -0 Tc 1.387 0 Td -[(instock, )-157(C. )-157(B., )-157(and )-157(W)50(ulf, )-157(W)]TJ -0.407 Tc 12.552 0 Td -(.A)Tj -0.657 Tc 1.435 0 Td -(.1)Tj -0 Tc 1.407 0 Td -[(988. )-407(\324)37(\324Quick )-157(Fit: )-157(An )-157(Ef)18(\336cient )-157(Algorithm )-157(for )-157(Heap )-157(Storage)]TJ --13.581 -1.222 Td -[(Allocation,\325)37(\325)]TJ -/T1_2 1 Tf -5.614 0 Td -(SIGPLAN Notices)Tj -/T1_0 1 Tf -0.25 Tc (,v)Tj -0 Tc 8.611 0 Td -(ol. 23, no. 10, pp. 141)Tj -9.25 0.09 Td -(\320)Tj -0.583 -0.09 Td -(148.)Tj -7.9995 0 0 7.9995 179.9892 321.4807 Tm -(Describes a memory allocation algorithm suitable for a wide variety of a\ pplications.)Tj --0.055 Tc 8.9995 0 0 8.9995 129.5922 303.8818 Tm -(Wi)Tj -0 Tc 1.236 0 Td -[(lliams, )-106(T)]TJ -0.6058 Tc 3.825 0 Td -(.1)Tj -0 Tc 1.356 0 Td -[(989. )-356(\324)37(\324Session )-106(Management )-106(in )-106(System )-106(V )-106(Release )-106(4,\325)38(\325)]TJ -/T1_2 1 Tf -23.846 0 Td -[(Pr)18(oceedings )-106(of )-106(the )-106(1989 )-106(W)20(inter)]TJ --27.063 -1.222 Td -[(USENIX Confer)18(ence)]TJ -/T1_0 1 Tf -0.25 Tc (,p)Tj -0 Tc 9.575 0 Td -(p. 365)Tj -2.684 0.09 Td -(\320)Tj -0.583 -0.09 Td -(375, San Diego, CA.)Tj -7.9995 0 0 7.9995 179.9891 279.5832 Tm -[(Describes )-100(the )-100(session )-100(ar)18(chitectur)18(e)-350(in)-350(SVR4, )-100(on )-100(which )-100(the )-100(POSIX.1 )-100(interfaces )-100(wer)]TJ -0.3498 Tc 36.295 0 Td -(eb)Tj -0 Tc 1.382 0 Td -[(ased. )-350(This)]TJ --37.676 -1.25 Td -[(includes )-217(pr)18(ocess )-217(gr)18(oups, )-217(job )-217(contr)18(ol, )-217(and )-217(contr)18(olling )-217(terminals.)-717(Also )-217(describes )-217(the )-217(security)]TJ -0 -1.25 TD -[(concerns of existing appr)18(oaches.)]TJ -8.9995 0 0 8.9995 129.5923 241.9855 Tm -[(X/Open. )-250(1989.)]TJ -/T1_2 1 Tf -7.221 0 Td -(X/Open Portability Guide)Tj -/T1_0 1 Tf -0.5 Tc (.P)Tj --0.018 Tc 11.891 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ntice Hall, Englewood Clif)18(fs, NJ.)]TJ -0.2769 Tc 7.9995 0 0 7.9995 179.989 228.6863 Tm -(As)Tj -0 Tc 1.479 0 Td -[(et )-27(of )-27(seven )-27(volumes )-27(covering )-27(commands )-27(and )-27(utilities )-27(\(V)111(ol. )-27(1\), )-27(system )-27(interfaces )-27(and )-27(headers)]TJ --1.479 -1.25 Td -[(\(V)111(ol. )-48(2\), )-48(supplementary )-48(de\336nitions )-48(\(V)110(ol. )-48(3\), )-48(pr)18(ogramming )-48(languages )-48(\(V)111(ol. )-48(4\), )-48(data )-48(management)]TJ -T* -[(\(V)111(ol. )-40(5\), )-40(window )-40(management )-40(\(V)111(ol. )-40(6\), )-40(networking )-40(services )-40(\(V)111(ol. )-40(7\).)-537(Although )-40(out )-40(of )-40(print, )-40(this)]TJ --0 -1.25 Td -[(has been r)18(eplaced by the Single UNIX Speci\336cation)]TJ -22.848 0.04 Td -([)Tj -0.333 -0.04 Td -[(Open Gr)18(oup 2008)]TJ -7.838 0.04 Td -(])Tj -0.333 -0.04 Td -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47073 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(240)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(void)Tj -0 -1.189 TD -(pr_exit\(int status\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(WIFEXITED\(status\)\))Tj -2.4 -1.189 Td -(printf\("normal termination, exit status = %d\\n",)Tj -4.8 -1.189 Td -(WEXITSTATUS\(status\)\);)Tj --7.2 -1.189 Td -(else if \(WIFSIGNALED\(status\)\))Tj -2.4 -1.189 Td -(printf\("abnormal termination, signal number = %d%s\\n",)Tj -4.8 -1.189 Td -(WTERMSIG\(status\),)Tj --9.6 -1.189 Td -[(#ifdef )-600(WCOREDUMP)]TJ -9.6 -1.189 Td -(WCOREDUMP\(status\) ? " \(core file generated\)" : ""\);)Tj --9.6 -1.189 Td -(#else)Tj -9.6 -1.189 Td -(""\);)Tj --9.6 -1.189 Td -(#endif)Tj -2.4 -1.189 Td -(else if \(WIFSTOPPED\(status\)\))Tj -2.4 -1.189 Td -(printf\("child stopped, signal number = %d\\n",)Tj -4.8 -1.189 Td -(WSTOPSIG\(status\)\);)Tj --9.6 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4460.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 237.9634 429.9964 Tm -(Figure 8.5)Tj -/T1_1 1 Tf -5.195 0 Td -(Print a description of the)Tj -/TT0 1 Tf -11.204 0 Td -(exit)Tj -/T1_1 1 Tf -2.65 0 Td -(status)Tj --25.848 -3.05 Td -[(Fr)18(eeBSD )-96(8.0, )-96(Linux )-96(3.2.0, )-96(Mac )-96(OS )-96(X )-96(10.6.8, )-96(and )-96(Solaris )-96(10 )-96(all )-96(support )-96(the)]TJ -/TT0 1 Tf -33.253 0 Td -(WCOREDUMP)Tj -/T1_1 1 Tf -5.747 0 Td -[(macr)18(o.)]TJ --39 -1.25 Td -(However)Tj -0.4476 Tc 4.056 0 Td -(,s)Tj -0 Tc 1.122 0 Td -[(ome )-198(platforms )-198(hide )-198(its )-198(de\336nition )-198(if )-198(the)]TJ -/TT0 1 Tf -18.668 0 Td -(_POSIX_C_SOURCE)Tj -/T1_1 1 Tf -9.448 0 Td -[(constant )-197(is )-197(de\336ned)]TJ --33.293 -1.25 Td -[(\(r)18(ecall Section 2.7\).)]TJ -9.9988 0 0 9.9988 147.5827 362.6045 Tm -[(The )-144(pr)18(ogram )-144(shown )-144(in )-144(Figur)]TJ -0.3939 Tc 13.332 0 Td -(e8)Tj -0 Tc 1.373 0 Td -[(.6 )-144(calls )-144(the)]TJ -/TT0 1 Tf -5.269 0 Td -(pr_exit)Tj -/T1_1 1 Tf -4.594 0 Td -[(function, )-144(demonstrating )-144(the)]TJ --26.367 -1.2 Td -[(various values for the termination status.)-500(If we r)8(un the pr)18(ogram in Figur)]TJ -0.25 Tc 32.207 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.6, we get)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5826 333.9079 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(normal termination, exit status = 7)Tj -T* -(abnormal termination, signal number = 6 \(core file generated\))Tj -T* -(abnormal termination, signal number = 8 \(core file generated\))Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5847 283.8139 Tm -[(For )-25(now)92(,)-275(we)-275(p)1(rint )-25(the )-25(signal )-25(number )-25(fr)19(om)]TJ -/TT0 1 Tf -18.988 0 Td -(WTERMSIG)Tj -/T1_1 1 Tf -0.5246 Tc (.W)Tj -0.2746 Tc 6.483 0 Td -(ec)Tj -0 Tc 1.198 0 Td -[(an )-25(look )-25(at )-25(the)]TJ -/TT0 1 Tf -6.332 0 Td -()Tj -/T1_1 1 Tf --33 -1.2 Td -[(header )-34(to )-34(verify )-34(that)]TJ -/TT0 1 Tf -9.406 0 Td -(SIGABRT)Tj -/T1_1 1 Tf -4.484 0 Td -[(has )-34(a )-34(value )-34(of )-34(6 )-34(and )-34(that)]TJ -/TT0 1 Tf -11.237 0 Td -(SIGFPE)Tj -/T1_1 1 Tf -3.884 0 Td -[(has )-34(a )-34(value )-34(of )-34(8.)]TJ --0.092 Tc 7.742 0 Td -(We)Tj -0 Tc 1.387 0 Td -(\325ll)Tj --38.14 -1.2 Td -(see a portable way to map a signal number to a descriptive name in Secti\ on 10.22.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2598.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 147.5734 229.8066 Tm -[(As )-68(we )-68(mentioned, )-68(if )-68(we )-68(have )-68(mor)]TJ -0.3177 Tc 15.319 0 Td -(et)Tj -0 Tc 1.123 0 Td -[(han )-68(one )-68(child,)]TJ -/TT0 1 Tf -6.693 0 Td -(wait)Tj -/T1_1 1 Tf --0.018 Tc 2.718 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-68(on )-68(termination )-68(of)]TJ --28.509 -1.2 Td -[(any )-167(of )-167(the )-167(childr)19(en. )-417(But)-416(what )-167(if )-167(we )-167(want )-167(to )-167(wait )-167(for )-167(a )-167(speci\336c )-167(pr)22(ocess )-166(to )-166(terminate)]TJ -0 -1.2 Td -[(\(assuming )-119(we )-119(know )-119(which )-119(pr)16(ocess )-119(ID )-119(we )-119(want )-119(to )-119(wait )-119(for\)?)-619(In )-119(older )-119(versions )-119(of )-119(the)]TJ -0 -1.2 TD -[(UNIX )-80(System, )-80(we )-80(would )-80(have )-80(to )-80(call)]TJ -/TT0 1 Tf -17.089 0 Td -(wait)Tj -/T1_1 1 Tf -2.73 0 Td -[(and )-80(compar)]TJ -0.3301 Tc 5.374 0 Td -(et)Tj -0 Tc 1.135 0 Td -[(he )-80(r)18(eturned )-80(pr)18(ocess )-80(ID )-80(with)]TJ --26.328 -1.2 Td -[(the )-139(one )-139(we\325r)]TJ -0.3887 Tc 5.739 0 Td -(ei)Tj -0 Tc 1.159 0 Td -[(nter)18(ested )-139(in.)-639(If )-139(the )-139(terminated )-139(pr)18(ocess )-139(wasn\325t )-139(the )-139(one )-139(we )-139(wanted, )-139(we)]TJ --6.898 -1.2 Td -[(would )-173(have )-173(to )-173(save )-173(the )-173(pr)17(ocess )-173(ID )-173(and )-173(termination )-173(status )-173(and )-173(call)]TJ -/TT0 1 Tf -31.438 0 Td -(wait)Tj -/T1_1 1 Tf -2.823 0 Td -[(again. )-423(W)92(e)]TJ --34.261 -1.2 Td -[(would )-62(need )-62(to )-62(continue )-62(doing )-62(this )-62(until )-62(the )-62(desir)18(ed )-62(pr)18(ocess )-62(terminated.)-561(The )-62(next )-62(time)]TJ -T* -[(we )-226(wanted )-226(to )-226(wait )-226(for )-226(a )-226(speci\336c )-226(pr)18(ocess, )-226(we )-226(would )-226(go )-226(thr)17(ough )-226(the )-226(list )-226(of )-226(alr)18(eady)]TJ --0 -1.2 Td -[(terminated )-53(pr)18(ocesses )-53(to )-53(see )-53(whether )-53(we )-53(had )-53(alr)16(eady )-53(waited )-53(for )-53(it, )-53(and )-53(if )-53(not, )-53(call)]TJ -/TT0 1 Tf -36.6 0 Td -(wait)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47074 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(452)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1490.25 6670.25 cm -0 0 m -3512 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 152.9908 658.9605 Tm -[(access )-3900(fseeko)]TJ -19.2 0 Td -(getwchar )Tj -17.1 0 Td -(putwc)Tj --36.3 -1.25 Td -[(catclose )-2700(fsetpos)]TJ -19.2 0 Td -(glob )Tj -17.1 0 Td -(putwchar)Tj --36.3 -1.25 Td -[(catgets )-3300(fstat)]TJ -19.2 0 Td -(iconv_close )Tj -17.1 0 Td -(readdir)Tj --36.3 -1.25 Td -[(catopen )-3300(fstatat)]TJ -19.2 0 Td -(iconv_open )Tj -17.1 0 Td -(readdir_r)Tj --36.3 -1.25 Td -[(chmod )-4500(ftell)]TJ -19.2 0 Td -(ioctl )Tj -17.1 0 Td -(readlink)Tj --36.3 -1.25 Td -[(chown )-4500(ftello)]TJ -19.2 0 Td -(link )Tj -17.1 0 Td -(readlinkat)Tj --36.3 -1.25 Td -[(closedir )-2700(futimens)]TJ -19.2 0 Td -(linkat )Tj -17.1 0 Td -(remove)Tj --36.3 -1.25 Td -[(closelog )-2700(fwprintf)]TJ -19.2 0 Td -(lio_listio )Tj -17.1 0 Td -(rename)Tj --36.3 -1.25 Td -[(ctermid )-3300(fwrite)]TJ -19.2 0 Td -(localtime )Tj -17.1 0 Td -(renameat)Tj --36.3 -1.25 Td -[(dbm_close )-2100(fwscanf)]TJ -19.2 0 Td -(localtime_r )Tj -17.1 0 Td -(rewind)Tj --36.3 -1.25 Td -[(dbm_delete )-1500(getaddrinfo)-4500(lockf )]TJ -36.3 0 Td -(rewinddir)Tj --36.3 -1.25 Td -[(dbm_fetch )-2100(getc)]TJ -19.2 0 Td -(lseek )Tj -17.1 0 Td -(scandir)Tj --36.3 -1.25 Td -[(dbm_nextkey )-900(getc_unlocked)-3300(lstat )]TJ -36.3 0 Td -(scanf)Tj --36.3 -1.25 Td -[(dbm_open )-2700(getchar)]TJ -19.2 0 Td -(mkdir )Tj -17.1 0 Td -(seekdir)Tj --36.3 -1.25 Td -[(dbm_store )-2100(getchar_unlocked)-1500(mkdirat )]TJ -36.3 0 Td -(semop)Tj --36.3 -1.25 Td -[(dlclose )-3300(getcwd)]TJ -19.2 0 Td -(mkdtemp )Tj -17.1 0 Td -(setgrent)Tj --36.3 -1.25 Td -[(dlopen )-3900(getdate)]TJ -19.2 0 Td -(mkfifo )Tj -17.1 0 Td -(sethostent)Tj --36.3 -1.25 Td -[(dprintf )-3300(getdelim)]TJ -19.2 0 Td -(mkfifoat )Tj -17.1 0 Td -(setnetent)Tj --36.3 -1.25 Td -[(endgrent )-2700(getgrent)]TJ -19.2 0 Td -(mknod )Tj -17.1 0 Td -(setprotoent)Tj --36.3 -1.25 Td -[(endhostent )-1500(getgrgid)]TJ -19.2 0 Td -(mknodat )Tj -17.1 0 Td -(setpwent)Tj --36.3 -1.25 Td -[(endnetent )-2100(getgrgid_r)]TJ -19.2 0 Td -(mkstemp )Tj -17.1 0 Td -(setservent)Tj --36.3 -1.25 Td -[(endprotoent )-900(getgrnam)]TJ -19.2 0 Td -(mktime )Tj -17.1 0 Td -(setutxent)Tj --36.3 -1.25 Td -[(endpwent )-2700(getgrnam_r)]TJ -19.2 0 Td -(nftw )Tj -17.1 0 Td -(stat)Tj --36.3 -1.25 Td -[(endservent )-1500(gethostent)]TJ -19.2 0 Td -(opendir )Tj -17.1 0 Td -(strerror)Tj --36.3 -1.25 Td -[(endutxent )-2100(gethostid)]TJ -19.2 0 Td -(openlog )Tj -17.1 0 Td -(strerror_r)Tj --36.3 -1.25 Td -[(faccessat )-2100(gethostname)-4500(pathconf )]TJ -36.3 0 Td -(strftime)Tj --36.3 -1.25 Td -[(fchmod )-3900(getline)]TJ -19.2 0 Td -(pclose )Tj -17.1 0 Td -(symlink)Tj --36.3 -1.25 Td -[(fchmodat )-2700(getlogin)]TJ -19.2 0 Td -(perror )Tj -17.1 0 Td -(symlinkat)Tj --36.3 -1.25 Td -[(fchown )-3900(getlogin_r)]TJ -19.2 0 Td -(popen )Tj -17.1 0 Td -(sync)Tj --36.3 -1.25 Td -[(fchownat )-2700(getnameinfo)-4500(posix_fadvise )]TJ -36.3 0 Td -(syslog)Tj --36.3 -1.25 Td -[(fclose )-3900(getnetbyaddr)-3900(posix_fallocate )]TJ -36.3 0 Td -(tmpfile)Tj --36.3 -1.25 Td -[(fcntl )-4500(getnetbyname)-3900(posix_madvise )]TJ -36.3 0 Td -(ttyname)Tj --36.3 -1.25 Td -[(fflush )-3900(getnetent)]TJ -19.2 0 Td -(posix_openpt )Tj -17.1 0 Td -(ttyname_r)Tj --36.3 -1.25 Td -[(fgetc )-4500(getopt)]TJ -19.2 0 Td -(posix_spawn )Tj -17.1 0 Td -(tzset)Tj --36.3 -1.25 Td -[(fgetpos )-3300(getprotobyname)-2700(posix_spawnp )]TJ -36.3 0 Td -(ungetc)Tj --36.3 -1.25 Td -[(fgets )-4500(getprotobynumber)-1500(posix_typed_mem_open )-4500(ungetwc)]TJ -0 -1.25 TD -[(fgetwc )-3900(getprotoent )-3900(printf)]TJ -36.3 0 Td -(unlink)Tj --36.3 -1.25 Td -[(fgetws )-3900(getpwent)]TJ -19.2 0 Td -(psiginfo )Tj -17.1 0 Td -(unlinkat)Tj --36.3 -1.25 Td -[(fmtmsg )-3900(getpwnam)]TJ -19.2 0 Td -(psignal )Tj -17.1 0 Td -(utimensat)Tj --36.3 -1.25 Td -[(fopen )-4500(getpwnam_r )-4500(pthread_rwlock_rdlock)-4500(utimes)]TJ -T* -[(fpathconf )-2100(getpwuid)]TJ -19.2 0 Td -[(pthread_rwlock_timedrdlock )-900(vdprintf)]TJ --19.2 -1.25 Td -[(fprintf )-3300(getpwuid_r)]TJ -19.2 0 Td -[(pthread_rwlock_timedwrlock )-900(vfprintf)]TJ --19.2 -1.25 Td -[(fputc )-4500(getservbyname)-3300(pthread_rwlock_wrlock )-3900(vfwprintf)]TJ -T* -[(fputs )-4500(getservbyport)-3300(putc )]TJ -36.3 0 Td -(vprintf)Tj --36.3 -1.25 Td -[(fputwc )-3900(getservent)]TJ -19.2 0 Td -(putc_unlocked )Tj -17.1 0 Td -(vwprintf)Tj --36.3 -1.25 Td -[(fputws )-3900(getutxent)]TJ -19.2 0 Td -(putchar )Tj -17.1 0 Td -(wcsftime)Tj --36.3 -1.25 Td -[(fread )-4500(getutxid)]TJ -19.2 0 Td -(putchar_unlocked )Tj -17.1 0 Td -(wordexp)Tj --36.3 -1.25 Td -[(freopen )-3300(getutxline)]TJ -19.2 0 Td -(puts )Tj -17.1 0 Td -(wprintf)Tj --36.3 -1.25 Td -[(fscanf )-3900(getwc)]TJ -19.2 0 Td -(pututxline )Tj -17.1 0 Td -(wscanf)Tj --36.3 -1.25 Td -(fseek)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1490.25 1650.25 cm -0 0 m -3512 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4374.25 1650.25 cm -0 0 m -0 5020 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3006.25 1650.25 cm -0 0 m -0 5020 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2118.25 1650.25 cm -0 0 m -0 5020 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5002.25 1650.25 cm -0 0 m -0 5020 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1490.25 1650.25 cm -0 0 m -0 5020 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 214.3383 146.9824 Tm -(Figure 12.15)Tj -/T1_1 1 Tf -6.195 0 Td -(Optional cancellation points de\336ned by POSIX.1)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47075 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(B.1)]TJ -36.136 0 Td -[(Our )-250(Header )-250(File)]TJ -/T1_1 1 Tf -9.697 0 Td -(897)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -[(int )-3000(send_fd\(int,)-600(int\); )]TJ -26.4 0 Td -[(/*)-600(Figure 17.13 */)]TJ --26.4 -1.189 Td -[(int )-3000(send_err\(int,)-600(int,)]TJ -10.8 -1.189 Td -(const char *\);)Tj -15.6 0 Td -(/* Figure 17.12 */)Tj --26.4 -1.189 Td -[(int )-3000(serv_listen\(const)-600(char *\);)]TJ -26.4 0 Td -(/* Figure 17.8 */)Tj --26.4 -1.189 Td -[(int )-3000(serv_accept\(int,)-600(uid_t *\);)]TJ -26.4 0 Td -(/* Figure 17.9 */)Tj --26.4 -1.189 Td -[(int )-3000(cli_conn\(const)-600(char *\);)]TJ -26.4 0 Td -(/* Figure 17.10 */)Tj --26.4 -1.189 Td -[(int )-3000(buf_args\(char)-600(*, int \(*func\)\(int,)]TJ -10.8 -1.189 Td -(char **\)\);)Tj -15.6 0 Td -(/* Figure 17.23 */)Tj --26.4 -2.259 Td -[(int )-3000(tty_cbreak\(int\);)]TJ -26.4 0 Td -(/* Figure 18.20 */)Tj --26.4 -1.189 Td -[(int )-3000(tty_raw\(int\);)]TJ -26.4 0 Td -(/* Figure 18.20 */)Tj --26.4 -1.189 Td -[(int )-3000(tty_reset\(int\);)]TJ -26.4 0 Td -(/* Figure 18.20 */)Tj --26.4 -1.189 Td -[(void )-2400(tty_atexit\(void\);)]TJ -26.4 0 Td -(/* Figure 18.20 */)Tj --26.4 -1.189 Td -[(struct termios)-1200(*tty_termios\(void\); )-4800(/*)-600(Figure 18.20 */)]TJ -0 -2.259 TD -[(int )-3000(ptym_open\(char)-600(*, int\);)]TJ -26.4 0 Td -(/* Figure 19.9 */)Tj --26.4 -1.189 Td -[(int )-3000(ptys_open\(char)-600(*\); )]TJ -26.4 0 Td -[(/*)-600(Figure 19.9 */)]TJ --26.4 -1.189 Td -[(#ifdef )-600(TIOCGWINSZ)]TJ -0 -1.189 TD -[(pid_t )-1800(pty_fork\(int)-600(*, char *, int, const struct termios *,)]TJ -10.8 -1.189 Td -[(const struct winsize *\);)-1200(/* Figure 19.10 */)]TJ --10.8 -1.189 Td -(#endif)Tj -0 -2.259 TD -[(int )-2400(lock_reg\(int,)-600(int, int, off_t, int, off_t\); /* Figure 14.5 */)]TJ -0 -2.259 TD -(#define read_lock\(fd, offset, whence, len\) \\)Tj -7.2 -1.189 Td -(lock_reg\(\(fd\), F_SETLK, F_RDLCK, \(offset\), \(whence\), \(len\)\))Tj --7.2 -1.189 Td -(#define readw_lock\(fd, offset, whence, len\) \\)Tj -7.2 -1.189 Td -(lock_reg\(\(fd\), F_SETLKW, F_RDLCK, \(offset\), \(whence\), \(len\)\))Tj --7.2 -1.189 Td -(#define write_lock\(fd, offset, whence, len\) \\)Tj -7.2 -1.189 Td -(lock_reg\(\(fd\), F_SETLK, F_WRLCK, \(offset\), \(whence\), \(len\)\))Tj --7.2 -1.189 Td -(#define writew_lock\(fd, offset, whence, len\) \\)Tj -7.2 -1.189 Td -(lock_reg\(\(fd\), F_SETLKW, F_WRLCK, \(offset\), \(whence\), \(len\)\))Tj --7.2 -1.189 Td -(#define un_lock\(fd, offset, whence, len\) \\)Tj -7.2 -1.189 Td -(lock_reg\(\(fd\), F_SETLK, F_UNLCK, \(offset\), \(whence\), \(len\)\))Tj --7.2 -2.259 Td -[(pid_t )-1200(lock_test\(int,)-600(int, off_t, int, off_t\);)-3000(/* Figure 14.6 */)]TJ -T* -(#define is_read_lockable\(fd, offset, whence, len\) \\)Tj -7.2 -1.189 Td -(\(lock_test\(\(fd\), F_RDLCK, \(offset\), \(whence\), \(len\)\) == 0\))Tj --7.2 -1.189 Td -(#define is_write_lockable\(fd, offset, whence, len\) \\)Tj -7.2 -1.189 Td -(\(lock_test\(\(fd\), F_WRLCK, \(offset\), \(whence\), \(len\)\) == 0\))Tj --7.2 -2.259 Td -[(void )-1800(err_msg\(const)-600(char *, ...\);)]TJ -26.4 0 Td -(/* Appendix B */)Tj --26.4 -1.189 Td -[(void )-1800(err_dump\(const)-600(char *, ...\) __attribute__\(\(noreturn\)\);)]TJ -0 -1.189 TD -[(void )-1800(err_quit\(const)-600(char *, ...\) __attribute__\(\(noreturn\)\);)]TJ -T* -[(void )-1800(err_cont\(int,)-600(const char *, ...\);)]TJ -0 -1.189 TD -[(void )-1800(err_exit\(int,)-600(const char *, ...\) __attribute__\(\(noreturn\)\);)]TJ -0 -1.189 TD -[(void )-1800(err_ret\(const)-600(char *, ...\);)]TJ -0 -1.189 TD -[(void )-1800(err_sys\(const)-600(char *, ...\) __attribute__\(\(noreturn\)\);)]TJ -0 -2.259 TD -[(void )-1800(log_msg\(const)-600(char *, ...\);)]TJ -26.4 0 Td -(/* Appendix B */)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47076 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Chapter )-250(20)]TJ -39.788 0 Td -[(Exer)18(cises)]TJ -/T1_1 1 Tf -6.045 0 Td -(787)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(29% )-47(and )-47(59% )-47(to )-47(the )-47(clock )-47(time )-47(over )-47(no )-47(locking )-47(and )-47(that )-47(mandatory )-47(locking )-47(adds )-47(about)]TJ -0 -1.2 TD -(another 15% over advisory locking.)Tj -/TT0 1 Tf -11.9993 0 0 11.9993 129.5922 623.3626 Tm -[(Ex)10(er)20(cises)]TJ -/T1_1 1 Tf -8.9995 0 0 8.9995 129.5922 604.5637 Tm -(20.1)Tj -/T1_0 1 Tf -3.065 0 Td -[(The )-123(locking )-123(in)]TJ -/TT1 1 Tf -6.932 0 Td -(_db_dodelete)Tj -/T1_0 1 Tf -7.573 0 Td -[(is )-123(somewhat )-123(conservative.)-623(For )-123(example, )-123(we )-123(could )-123(allow)]TJ --14.505 -1.222 Td -(mor)Tj -0.3062 Tc 1.806 0 Td -(ec)Tj -0 Tc 1.229 0 Td -[(oncurr)18(ency )-56(by )-56(not )-56(write )-56(locking )-56(the )-56(fr)18(ee )-56(list )-56(until )-56(we )-56(r)16(eally )-56(need )-56(to; )-56(that )-56(is, )-56(the )-56(call)]TJ --3.035 -1.222 Td -(to)Tj -/TT1 1 Tf -1.807 0 Td -(writew_lock)Tj -/T1_0 1 Tf -7.535 0 Td -[(could )-685(be )-685(moved )-685(between )-685(the )-685(calls )-685(to)]TJ -/TT1 1 Tf -21.098 0 Td -(_db_writedat)Tj -/T1_0 1 Tf -8.135 0 Td -(and)Tj -/TT1 1 Tf --38.575 -1.222 Td -(_db_readptr)Tj -/T1_0 1 Tf -0.5 Tc (.W)Tj -0 Tc 8.35 0 Td -(hat happens if we do this?)Tj -/T1_1 1 Tf --11.415 -1.667 Td -(20.2)Tj -/T1_0 1 Tf -3.065 0 Td -(If)Tj -/TT1 1 Tf -0.977 0 Td -(db_nextrec)Tj -/T1_0 1 Tf -6.307 0 Td -[(did )-57(not )-57(r)19(ead )-56(lock )-56(the )-56(fr)18(ee )-56(list )-56(and )-56(a )-56(r)15(ecor)]TJ -0.3064 Tc 18.332 0 Td -(dt)Tj -0 Tc 1.243 0 Td -[(hat )-56(it )-56(was )-56(r)18(eading )-56(was )-56(also )-56(in)]TJ --26.859 -1.222 Td -[(the )-85(pr)18(ocess )-85(of )-85(being )-85(deleted, )-85(describe )-85(how)]TJ -/TT1 1 Tf -19.53 0 Td -(db_nextrec)Tj -/T1_0 1 Tf -6.335 0 Td -[(could )-85(r)18(eturn )-85(the )-85(corr)18(ect )-85(key )-85(but)]TJ --25.865 -1.222 Td -[(an all-blank \(hence incorr)18(ect\) data r)18(ecor)18(d. )-250(\(Hint:)-250(Look at)]TJ -/TT1 1 Tf -25.315 0 Td -(_db_dodelete)Tj -/T1_0 1 Tf -(.\))Tj -/T1_1 1 Tf --28.38 -1.667 Td -(20.3)Tj -/T1_0 1 Tf -3.065 0 Td -[(At )-139(the )-139(end )-139(of )-139(Section )-139(20.8, )-139(we )-139(described )-139(the )-139(locking )-139(performed )-139(by)]TJ -/TT1 1 Tf -30.987 0 Td -(_db_writeidx)Tj -/T1_0 1 Tf -7.589 0 Td -(and)Tj -/TT1 1 Tf --38.576 -1.222 Td -(_db_writedat)Tj -/T1_0 1 Tf -0.5691 Tc (.W)Tj -0.3191 Tc 8.927 0 Td -(es)Tj -0 Tc 1.222 0 Td -[(aid )-69(that )-69(this )-69(locking )-69(didn\325t )-69(interfer)]TJ -0.3191 Tc 15.582 0 Td -(ew)Tj -0 Tc 1.632 0 Td -[(ith )-69(other )-69(r)18(eaders )-69(and )-69(writers)]TJ --27.363 -1.222 Td -(except those making calls to)Tj -/TT1 1 Tf -12.642 0 Td -(db_store)Tj -/T1_0 1 Tf -0.5 Tc (.I)Tj -0.25 Tc 5.887 0 Td -(st)Tj -0 Tc 1 0 Td -[(his tr)8(ue if mandatory locking is being used?)]TJ -/T1_1 1 Tf --22.594 -1.667 Td -(20.4)Tj -/T1_0 1 Tf -3.065 0 Td -(How would you integrate the)Tj -/TT1 1 Tf -13.373 0 Td -(fsync)Tj -/T1_0 1 Tf -3.25 0 Td -(function into this database library?)Tj -/T1_1 1 Tf --19.688 -1.667 Td -(20.5)Tj -/T1_0 1 Tf -3.065 0 Td -(In)Tj -/TT1 1 Tf -1.185 0 Td -(db_store)Tj -/T1_0 1 Tf -[(,)-266(we)-266(write )-16(the )-16(data )-16(r)18(ecor)]TJ -0.266 Tc 15.565 0 Td -(db)Tj -0 Tc 1.43 0 Td -(efor)Tj -0.266 Tc 1.735 0 Td -(et)Tj -0 Tc 1.071 0 Td -[(he )-16(index )-16(r)18(ecor)18(d. )-266(What)-266(happens )-16(if )-16(you )-16(do )-16(it)]TJ --20.986 -1.222 Td -[(in the opposite or)18(der?)]TJ -/T1_1 1 Tf --3.065 -1.667 Td -(20.6)Tj -/T1_0 1 Tf -3.065 0 Td -[(Cr)18(eate )-290(a )-290(new )-290(database )-290(and )-290(write )-290(some )-290(number )-290(of )-290(r)19(ecor)18(ds )-290(to )-290(the )-290(database.)]TJ --0.074 Tc 36.811 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-290(a)]TJ --38.132 -1.222 Td -[(pr)18(ogram )-18(that )-18(calls)]TJ -/TT1 1 Tf -8.347 0 Td -(db_nextrec)Tj -/T1_0 1 Tf -6.268 0 Td -[(to )-18(r)18(ead )-18(each )-18(r)17(ecor)18(d)-268(in)-268(the )-18(database, )-18(and )-18(call)]TJ -/TT1 1 Tf -19.713 0 Td -(_db_hash)Tj -/T1_0 1 Tf -5.068 0 Td -(to)Tj --39.396 -1.222 Td -[(calculate )-126(the )-126(hash )-126(value )-126(for )-126(each )-126(r)19(ecor)18(d. )-376(Print)]TJ -0.3758 Tc 21.608 0 Td -(ah)Tj -0 Tc 1.458 0 Td -[(istogram )-126(of )-126(the )-126(number )-126(of )-126(r)19(ecor)18(ds )-126(on)]TJ --23.066 -1.222 Td -[(each hash chain.)-500(Is the hashing function in)]TJ -/TT1 1 Tf -19.237 0 Td -(_db_hash)Tj -/T1_0 1 Tf -5.05 0 Td -(adequate?)Tj -/T1_1 1 Tf --27.352 -1.667 Td -(20.7)Tj -/T1_0 1 Tf -3.065 0 Td -[(Modify )-95(the )-95(database )-95(functions )-95(so )-95(that )-95(the )-95(number )-95(of )-95(hash )-95(chains )-95(in )-95(the )-95(index )-95(\336le )-95(can )-95(be)]TJ -0 -1.222 TD -[(speci\336ed when the database is cr)18(eated.)]TJ -/T1_1 1 Tf --3.065 -1.667 Td -(20.8)Tj -/T1_0 1 Tf -3.065 0 Td -(Compar)Tj -0.3157 Tc 3.616 0 Td -(et)Tj -0 Tc 1.121 0 Td -[(he )-66(performance )-66(of )-66(the )-66(database )-66(functions )-66(when )-66(the )-66(database )-66(is )-66(\(a\) )-66(on )-66(the )-66(same)]TJ --4.737 -1.222 Td -[(host )-152(as )-152(the )-152(test )-152(pr)18(ogram )-152(and )-152(\(b\) )-152(on )-152(a )-152(dif)14(fer)18(ent )-152(host )-152(accessed )-152(via )-152(NFS.)-652(Does )-152(the )-152(r)16(ecor)18(d)]TJ -0 -1.222 Td -[(locking pr)18(ovided by the database library still work?)]TJ -/T1_1 1 Tf --3.065 -1.667 Td -(20.9)Tj -/T1_0 1 Tf -3.065 0 Td -[(The )-169(database )-169(r)18(euses )-169(fr)18(ee )-169(list )-169(r)16(ecor)18(ds )-169(only )-169(if )-169(the )-169(sizes )-169(of )-169(the )-169(key )-169(buf)18(fer )-169(and )-169(data )-169(buf)13(fer)]TJ -0 -1.222 Td -[(match )-4(the )-4(needed )-4(sizes )-4(exactly)]TJ -0.5042 Tc 13.499 0 Td -(.M)Tj -0 Tc 1.7 0 Td -[(odify )-4(the )-4(database )-4(to )-4(allow )-4(lar)18(ger )-4(buf)18(fer )-4(sizes )-4(on )-4(the )-4(fr)17(ee)]TJ --15.199 -1.222 Td -[(list to satisfy the r)17(equest. )-250(How)-250(do you have to change the persistent format of the database)]TJ -0 -1.222 Td -[(to support this featur)18(e?)]TJ -/T1_1 1 Tf --3.065 -1.667 Td -(20.10)Tj -/T1_0 1 Tf -3.065 0 Td -[(After )-28(implementing )-28(a )-28(solution )-28(to )-28(Exer)18(cise )-28(20.9, )-28(write )-28(a )-28(tool )-28(to )-28(convert )-28(one )-28(database )-28(format)]TJ -0 -1.222 TD -[(to the other)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47077 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.8)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(777)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(655 )Tj -9.6 0 Td -(/*)Tj --9.6 -1.189 Td -(656 )Tj -10.2 0 Td -[(*)-600(Same size data, just replace data record.)]TJ --10.2 -1.189 Td -(657 )Tj -10.2 0 Td -(*/)Tj --10.2 -1.189 Td -(658 )Tj -9.6 0 Td -[(_db_writedat\(db,)-600(data, db->datoff, SEEK_SET\);)]TJ --9.6 -1.189 Td -(659 )Tj -9.6 0 Td -(db->cnt_stor4++;)Tj --9.6 -1.189 Td -[(660 )-4800(})]TJ -0 -1.189 TD -[(661 )-2400(})]TJ -T* -[(662 )-2400(rc)]TJ -0.6 Tc 6.6 0 Td -(=0)Tj -3 Tc 1.8 0 Td -(;/)Tj -0 Tc 4.2 0 Td -[(*)-600(OK)-600(*/)]TJ --12.6 -2.021 Td -[(663 )-1200(doreturn:)-600(/* unlock hash chain locked by _db_find_and_lock */)]TJ -0 -1.189 TD -[(664 )-2400(if)-600(\(un_lock\(db->idxfd, db->chainoff, SEEK_SET, 1\) < 0\))]TJ -0 -1.189 TD -[(665 )-4800(err_dump\("db_store:)-600(un_lock error"\);)]TJ -T* -[(666 )-2400(return\(rc\);)]TJ -T* -[(667 )-1200(})]TJ -0 -2.021 TD -[(668 )-1200(/*)]TJ -0 -1.189 TD -[(669 )-1800(*)-600(Try to find a free index record and accompanying data record)]TJ -T* -[(670 )-1800(*)-600(of the correct sizes.)-1200(We\325re only called by db_store.)]TJ -T* -[(671 )-1800(*/)]TJ -T* -[(672 )-1200(static)-600(int)]TJ -0 -1.189 TD -[(673 )-1200(_db_findfree\(DB)-600(*db, int keylen, int datlen\))]TJ -0 -1.189 TD -[(674 )-1200({)]TJ -T* -[(675 )-2400(int )-2400(rc;)]TJ -T* -[(676 )-2400(off_t)-1800(offset, nextoffset, saveoffset;)]TJ -0 -2.021 TD -[(677 )-2400(/*)]TJ -0 -1.189 TD -[(678 )-3000(*)-600(Lock the free list.)]TJ -T* -[(679 )-3000(*/)]TJ -T* -[(680 )-2400(if)-600(\(writew_lock\(db->idxfd, FREE_OFF, SEEK_SET, 1\) < 0\))]TJ -T* -[(681 )-4800(err_dump\("_db_findfree:)-600(writew_lock error"\);)]TJ -0 -2.021 TD -[(682 )-2400(/*)]TJ -0 -1.189 TD -[(683 )-3000(*)-600(Read the free list pointer.)]TJ -T* -[(684 )-3000(*/)]TJ -T* -[(685 )-2400(saveoffset)]TJ -0.6 Tc 11.4 0 Td -(=F)Tj -0 Tc 1.8 0 Td -(REE_OFF;)Tj --13.2 -1.189 Td -[(686 )-2400(offset)]TJ -0.6 Tc 9 0 Td -(=_)Tj -0 Tc 1.8 0 Td -(db_readptr\(db, saveoffset\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2930.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 269.0057 Tm -[([655 )167(\320 )167(661])-668(Case )-55(4: )-55(An )-55(existing )-55(r)16(ecor)18(d)-305(is)-305(b)-1(eing )-55(r)18(eplaced, )-55(and )-55(the )-55(length )-55(of )-55(the )-55(new )-55(data)]TJ --0.018 Tc 5 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.3133 Tc 1.367 0 Td -(de)Tj -0 Tc 1.403 0 Td -[(quals )-63(the )-63(length )-63(of )-63(the )-63(existing )-63(data )-63(r)17(ecor)18(d. )-313(This)-313(is )-63(the )-63(easiest )-63(case;)]TJ --3.626 -1.2 Td -[(we )-84(simply )-84(r)18(ewrite )-84(the )-84(data )-84(r)19(ecor)]TJ -0.3338 Tc 14.756 0 Td -(da)Tj -0 Tc 1.445 0 Td -[(nd )-84(incr)18(ement )-84(the )-84(counter )-84(\()]TJ -/TT0 1 Tf -12.066 0 Td -(cnt_stor4)Tj -/T1_0 1 Tf -(\))Tj --28.267 -1.2 Td -(for this case.)Tj --5 -1.6 Td -[([662 )167(\320 )167(667])-668(In )-279(the )-279(normal )-279(case, )-279(we )-279(set )-279(the )-279(r)15(eturn )-279(code )-279(to )-279(indicate )-279(success )-279(and )-279(fall)]TJ -5 -1.2 Td -[(thr)18(ough )-177(to )-177(the )-177(common )-177(r)20(eturn )-177(logic.)]TJ --0.092 Tc 17.665 0 Td -[(We )-361(u)]TJ -0 Tc 2.417 0 Td -[(nlock )-177(the )-177(hash )-177(chain )-177(that )-177(was)]TJ --20.081 -1.2 Td -[(locked as a r)18(esult of calling)]TJ -/TT0 1 Tf -12.185 0 Td -(_db_find_and_lock)Tj -/T1_0 1 Tf -10.45 0 Td -[(and r)18(eturn to the caller)74(.)]TJ --27.635 -1.6 Td -[([668 )167(\320 )167(686])-668(The)]TJ -/TT0 1 Tf -6.957 0 Td -(_db_findfree)Tj -/T1_0 1 Tf -7.483 0 Td -[(function )-33(tries )-33(to )-33(\336nd )-33(a )-33(fr)18(ee )-33(index )-33(r)17(ecor)]TJ -0.2831 Tc 17.144 0 Td -(da)Tj -0 Tc 1.394 0 Td -[(nd )-33(associated)]TJ --27.979 -1.2 Td -[(data )-21(r)18(ecor)18(d)-271(of)-271(the )-21(speci\336ed )-21(sizes.)]TJ --0.092 Tc 15.216 0 Td -[(We )-205(n)]TJ -0 Tc 2.24 0 Td -[(eed )-21(to )-21(write )-21(lock )-21(the )-21(fr)18(ee )-21(list )-21(to )-21(avoid)]TJ --17.456 -1.2 Td -[(interfering )-10(with )-10(any )-10(other )-10(pr)18(ocesses )-10(using )-10(the )-10(fr)18(ee )-10(list.)-510(After )-10(locking )-10(the )-10(fr)19(ee)]TJ -0 -1.2 TD -[(list, we get the pointer addr)18(ess at the head of the list.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47078 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(772)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(502 )-1200(/*)]TJ -0 -1.189 TD -[(503 )-1800(*)-600(Write an index record.)-1200(_db_writedat is called before)]TJ -T* -[(504 )-1800(*)-600(this function to set the datoff and datlen fields in the)]TJ -T* -[(505 )-1800(*)-600(DB structure, which we need to write the index record.)]TJ -T* -[(506 )-1800(*/)]TJ -0 -1.189 TD -[(507 )-1200(static)-600(void)]TJ -0 -1.189 TD -[(508 )-1200(_db_writeidx\(DB)-600(*db, const char *key,)]TJ -T* -(509 )Tj -11.4 0 Td -[(off_t)-600(offset, int whence, off_t ptrval\))]TJ --11.4 -1.189 Td -[(510 )-1200({)]TJ -T* -[(511 )-2400(struct)-600(iovec )-1800(iov[2];)]TJ -T* -[(512 )-2400(char)]TJ -14.4 0 Td -(asciiptrlen[PTR_SZ + IDXLEN_SZ + 1];)Tj --14.4 -1.189 Td -[(513 )-2400(int)]TJ -14.4 0 Td -(len;)Tj --14.4 -2.021 Td -[(514 )-2400(if)-600(\(\(db->ptrval = ptrval\) < 0 || ptrval > PTR_MAX\))]TJ -T* -[(515 )-4800(err_quit\("_db_writeidx:)-600(invalid ptr: %d", ptrval\);)]TJ -T* -[(516 )-2400(sprintf\(db->idxbuf,)-600("%s%c%lld%c%ld\\n", key, SEP,)]TJ -T* -[(517 )-3600(\(long)-600(long\)db->datoff, SEP, \(long\)db->datlen\);)]TJ -T* -[(518 )-2400(len)]TJ -0.6 Tc 7.2 0 Td -(=s)Tj -0 Tc 1.8 0 Td -(trlen\(db->idxbuf\);)Tj --9 -1.189 Td -[(519 )-2400(if)-600(\(len < IDXLEN_MIN || len > IDXLEN_MAX\))]TJ -0 -1.189 TD -[(520 )-4800(err_dump\("_db_writeidx:)-600(invalid length"\);)]TJ -0 -1.189 TD -[(521 )-2400(sprintf\(asciiptrlen,)-600("%*lld%*d", PTR_SZ, \(long long\)ptrval,)]TJ -T* -[(522 )-3600(IDXLEN_SZ,)-600(len\);)]TJ -0 -2.021 TD -[(523 )-2400(/*)]TJ -0 -1.189 TD -[(524 )-3000(*)-600(If we\325re appending, we have to lock before doing the lseek)]TJ -T* -[(525 )-3000(*)-600(and write to make the two an atomic operation.)-1200(If we\325re)]TJ -T* -[(526 )-3000(*)-600(overwriting an existing record, we don\325t have to lock.)]TJ -T* -[(527 )-3000(*/)]TJ -T* -[(528 )-2400(if)-600(\(whence == SEEK_END\))-3000(/* we\325re appending */)]TJ -0 -1.189 TD -[(529 )-4800(if)-600(\(writew_lock\(db->idxfd, \(\(db->nhash+1\)*PTR_SZ\)+1,)]TJ -0 -1.189 TD -(530 )Tj -8.4 0 Td -[(SEEK_SET,)-600(0\) < 0\))]TJ --8.4 -1.189 Td -(531 )Tj -9.6 0 Td -[(err_dump\("_db_writeidx:)-600(writew_lock error"\);)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3294.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 305.3814 Tm -[([502 )167(\320 )167(522])-668(The)]TJ -/TT0 1 Tf -7.242 0 Td -(_db_writeidx)Tj -/T1_1 1 Tf -7.769 0 Td -[(function )-318(is )-318(called )-318(to )-318(write )-318(an )-318(index )-318(r)15(ecor)18(d. )-568(After)]TJ --10.011 -1.2 Td -[(validating )-27(the )-27(next )-27(pointer )-27(in )-27(the )-27(chain, )-27(we )-27(cr)18(eate )-27(the )-27(index )-27(r)15(ecor)]TJ -0.2773 Tc 28.989 0 Td -(da)Tj -0 Tc 1.388 0 Td -[(nd )-27(stor)18(e)]TJ --30.378 -1.2 Td -[(the )-12(second )-12(half )-12(of )-12(it )-12(in)]TJ -/TT0 1 Tf -10.122 0 Td -(idxbuf)Tj -/T1_1 1 Tf -0.5124 Tc (.W)Tj -0.2624 Tc 5.27 0 Td -(en)Tj -0 Tc 1.323 0 Td -[(eed )-12(the )-12(size )-12(of )-12(this )-12(portion )-12(of )-12(the )-12(index)]TJ --0.018 Tc -16.716 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(d)-299(to)-299(c)]TJ --0.018 Tc (re)Tj -0 Tc 4.748 0 Td -[(ate )-49(the )-49(\336rst )-49(half )-49(of )-49(the )-49(index )-49(r)17(ecor)18(d, )-49(which )-49(we )-49(stor)18(e)-299(in)-299(the )-49(local)]TJ --5.604 -1.2 Td -(variable)Tj -/TT0 1 Tf -3.824 0 Td -(asciiptrlen)Tj -/T1_1 1 Tf -(.)Tj --3.824 -1.8 Td -[(Note )-147(that )-147(we )-147(use )-147(casts )-147(to )-147(for)18(ce )-147(the )-147(size )-147(of )-147(the )-147(ar)18(guments )-147(in )-147(the)]TJ -/TT0 1 Tf -29.8 0 Td -(sprintf)Tj -/T1_1 1 Tf --29.8 -1.2 Td -[(statements )-30(to )-30(match )-30(the )-30(format )-30(speci\336cations.)-532(This )-30(is )-30(because )-30(the )-30(size )-30(of )-30(the)]TJ -/TT0 1 Tf -0 -1.2 TD -(off_t)Tj -/T1_1 1 Tf -3.431 0 Td -(and)Tj -/TT0 1 Tf -2.124 0 Td -(size_t)Tj -/T1_1 1 Tf -4.031 0 Td -[(data )-180(types )-180(can )-180(vary )-180(among )-180(platforms.)-683(Even )-181(a )-181(32)]TJ -22.912 0.09 Td -(-)Tj -0.333 -0.09 Td -(bit)Tj --32.83 -1.2 Td -[(system )-192(can )-192(pr)18(ovide )-192(64)]TJ -10.415 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-192(\336le )-192(of)18(fsets, )-192(so )-192(we )-192(can\325t )-192(make )-192(any )-192(assumptions)]TJ --10.748 -1.2 Td -(about the size of the)Tj -/TT0 1 Tf -9.125 0 Td -(off_t)Tj -/T1_1 1 Tf -3.25 0 Td -(data type.)Tj --17.375 -1.84 Td -[([523 )167(\320 )167(531])-668(As )-71(with)]TJ -/TT0 1 Tf -8.877 0 Td -(_db_writedat)Tj -/T1_1 1 Tf -0.3212 Tc (,t)Tj -0 Tc 8.097 0 Td -[(his )-71(function )-71(deals )-71(with )-71(locking )-71(only )-71(when )-71(a )-71(new)]TJ --11.975 -1.2 Td -[(index )-209(r)18(ecor)18(d)-459(is)-459(being )-209(appended )-209(to )-209(the )-209(index )-209(\336le.)-710(When)]TJ -/TT0 1 Tf -26.8 0 Td -(_db_dodelete)Tj -/T1_1 1 Tf --26.8 -1.2 Td -[(calls )-42(this )-42(function, )-42(we\325r)]TJ -0.2921 Tc 10.374 0 Td -(er)Tj -0 Tc 1.148 0 Td -[(ewriting )-42(an )-42(existing )-42(index )-42(r)17(ecor)18(d. )-292(In)-292(this )-42(case, )-42(the)]TJ --11.522 -1.2 Td -[(caller has write locked the hash chain, so no additional locking is r)18(equir)18(ed.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47079 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.8)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(771)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(472 )-1200(/*)]TJ -0 -1.189 TD -[(473 )-1800(*)-600(Write a data record.)-1200(Called by _db_dodelete \(to write)]TJ -T* -[(474 )-1800(*)-600(the record with blanks\) and db_store.)]TJ -T* -[(475 )-1800(*/)]TJ -T* -[(476 )-1200(static)-600(void)]TJ -0 -1.189 TD -[(477 )-1200(_db_writedat\(DB)-600(*db, const char *data, off_t offset, int whence\))]TJ -0 -1.189 TD -[(478 )-1200({)]TJ -T* -[(479 )-2400(struct)-600(iovec )-1800(iov[2];)]TJ -T* -[(480 )-2400(static)-600(char )-2400(newline)]TJ -0.6 Tc 19.2 0 Td -(=N)Tj -0 Tc 1.8 0 Td -(EWLINE;)Tj --21 -2.021 Td -[(481 )-2400(/*)]TJ -T* -[(482 )-3000(*)-600(If we\325re appending, we have to lock before doing the lseek)]TJ -T* -[(483 )-3000(*)-600(and write to make the two an atomic operation.)-1200(If we\325re)]TJ -T* -[(484 )-3000(*)-600(overwriting an existing record, we don\325t have to lock.)]TJ -T* -[(485 )-3000(*/)]TJ -T* -[(486 )-2400(if)-600(\(whence == SEEK_END\) /* we\325re appending, lock entire file */)]TJ -T* -[(487 )-4800(if)-600(\(writew_lock\(db->datfd, 0, SEEK_SET, 0\) < 0\))]TJ -T* -(488 )Tj -9.6 0 Td -[(err_dump\("_db_writedat:)-600(writew_lock error"\);)]TJ --9.6 -2.021 Td -[(489 )-2400(if)-600(\(\(db->datoff = lseek\(db->datfd, offset, whence\)\) == -1\))]TJ -0 -1.189 TD -[(490 )-4800(err_dump\("_db_writedat:)-600(lseek error"\);)]TJ -0 -1.189 TD -[(491 )-2400(db->datlen)]TJ -0.6 Tc 11.4 0 Td -(=s)Tj -0 Tc 1.8 0 Td -[(trlen\(data\) + 1;)-1200(/* datlen includes newline */)]TJ --13.2 -2.021 Td -[(492 )-2400(iov[0].iov_base)]TJ -0.6 Tc 14.4 0 Td -(=\()Tj -0 Tc 1.8 0 Td -(char *\) data;)Tj --16.2 -1.189 Td -[(493 )-2400(iov[0].iov_len)]TJ -0.6 Tc 14.4 0 Td -(=d)Tj -0 Tc 1.8 0 Td -(b->datlen - 1;)Tj --16.2 -1.189 Td -[(494 )-2400(iov[1].iov_base)]TJ -0.6 Tc 14.4 0 Td -(=&)Tj -0 Tc 1.8 0 Td -(newline;)Tj --16.2 -1.189 Td -[(495 )-2400(iov[1].iov_len)]TJ -0.6 Tc 14.4 0 Td -(=1)Tj -0 Tc 1.8 0 Td -(;)Tj --16.2 -1.189 Td -[(496 )-2400(if)-600(\(writev\(db->datfd, &iov[0], 2\) != db->datlen\))]TJ -T* -[(497 )-4800(err_dump\("_db_writedat:)-600(writev error of data record"\);)]TJ -0 -2.021 TD -[(498 )-2400(if)-600(\(whence == SEEK_END\))]TJ -0 -1.189 TD -[(499 )-4800(if)-600(\(un_lock\(db->datfd, 0, SEEK_SET, 0\) < 0\))]TJ -T* -(500 )Tj -9.6 0 Td -[(err_dump\("_db_writedat:)-600(un_lock error"\);)]TJ --9.6 -1.189 Td -[(501 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3144.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 290.4031 Tm -[([472 )167(\320 )167(491])]TJ --0.092 Tc 5 0 Td -[(We )-196(c)]TJ -0 Tc 2.093 0 Td -(all)Tj -/TT0 1 Tf -1.344 0 Td -(_db_writedat)Tj -/T1_0 1 Tf -7.462 0 Td -[(to )-12(write )-12(a )-12(data )-12(r)20(ecor)18(d. )-262(When)-261(we )-12(delete )-12(a )-12(r)19(ecor)18(d, )-12(we)]TJ --10.898 -1.2 Td -(use)Tj -/TT0 1 Tf -1.944 0 Td -(_db_writedat)Tj -/T1_0 1 Tf -7.638 0 Td -[(to )-188(overwrite )-188(the )-188(r)19(ecor)]TJ -0.4377 Tc 10.105 0 Td -(dw)Tj -0 Tc 1.883 0 Td -[(ith )-188(blanks;)]TJ -/TT0 1 Tf -5.23 0 Td -(_db_writedat)Tj -/T1_0 1 Tf --26.8 -1.2 Td -[(doesn\325t )-76(need )-76(to )-76(lock )-76(the )-76(data )-76(\336le, )-76(because)]TJ -/TT0 1 Tf -19.149 0 Td -(db_delete)Tj -/T1_0 1 Tf -5.726 0 Td -[(has )-76(write )-76(locked )-76(the)]TJ --24.875 -1.2 Td -[(hash )-266(chain )-266(for )-266(this )-266(r)17(ecor)18(d. )-516(Thus,)-517(no )-266(other )-266(pr)18(ocess )-266(could )-266(be )-266(r)18(eading )-266(or)]TJ -0 -1.2 Td -[(writing )-97(this )-97(particular )-97(data )-97(r)20(ecor)18(d. )-347(When)-346(we )-97(cover)]TJ -/TT0 1 Tf -23.673 0 Td -(db_store)Tj -/T1_0 1 Tf -5.147 0 Td -[(later )-97(in )-97(this)]TJ --28.82 -1.2 Td -[(section, )-112(we\325ll )-112(encounter )-112(the )-112(case )-112(in )-112(which)]TJ -/TT0 1 Tf -19.324 0 Td -(_db_writedat)Tj -/T1_0 1 Tf -7.562 0 Td -[(is )-112(appending )-112(to)]TJ --26.886 -1.2 Td -(the data \336le and has to lock it.)Tj --0.092 Tc 0 -1.8 TD -[(We )-192(s)]TJ -0 Tc 2.069 0 Td -[(eek )-8(to )-8(the )-8(location )-8(wher)17(e)-258(we)-258(want )-8(to )-8(write )-8(the )-8(data )-8(r)17(ecor)18(d. )-258(The)-259(amount)]TJ --2.069 -1.2 Td -[(to write is the r)18(ecor)]TJ -0.25 Tc 8.522 0 Td -(ds)Tj -0 Tc 1.285 0 Td -(ize plus 1 byte for the terminating newline we add.)Tj --14.807 -1.6 Td -[([492 )167(\320 )167(501])]TJ --0.092 Tc 5 0 Td -[(We )-333(s)]TJ -0 Tc 2.21 0 Td -[(et )-149(up )-149(the)]TJ -/TT0 1 Tf -4.592 0 Td -(iovec)Tj -/T1_0 1 Tf -3.399 0 Td -[(array )-149(and )-149(call)]TJ -/TT0 1 Tf -6.761 0 Td -(writev)Tj -/T1_0 1 Tf -3.999 0 Td -[(to )-148(write )-148(the )-148(data )-148(r)16(ecor)]TJ -0.3985 Tc 10.338 0 Td -(da)Tj -0 Tc 1.509 0 Td -(nd)Tj --32.807 -1.2 Td -[(newline. )-294(W)]TJ -0.2937 Tc 5.24 0 Td -(ec)Tj -0 Tc 1.217 0 Td -[(an\325t )-44(assume )-44(that )-44(the )-44(caller)-74(\325s )-44(buf)18(fer )-44(has )-44(r)18(oom )-44(at )-44(the )-44(end )-44(for )-44(us)]TJ --6.456 -1.2 Td -[(to )-8(append )-8(the )-8(newline, )-8(so )-8(we )-8(write )-8(the )-8(newline )-8(fr)18(om )-8(a )-8(separate )-8(buf)14(fer)]TJ -0.5082 Tc 31.001 0 Td -(.I)Tj -0.2582 Tc 1.095 0 Td -(fw)Tj -0 Tc 1.425 0 Td -(e)Tj --33.521 -1.2 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(ppending a r)18(ecor)18(d)-250(to)-250(the \336le, we r)18(elease the lock we acquir)18(ed earlier)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47080 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.8)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(769)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(412 )-1200(/*)]TJ -0 -1.189 TD -[(413 )-1800(*)-600(Delete the current record specified by the DB structure.)]TJ -T* -[(414 )-1800(*)-600(This function is called by db_delete and db_store, after)]TJ -T* -[(415 )-1800(*)-600(the record has been located by _db_find_and_lock.)]TJ -T* -[(416 )-1800(*/)]TJ -0 -1.189 TD -[(417 )-1200(static)-600(void)]TJ -0 -1.189 TD -[(418 )-1200(_db_dodelete\(DB)-600(*db\))]TJ -T* -[(419 )-1200({)]TJ -T* -[(420 )-2400(int )-2400(i;)]TJ -T* -[(421 )-2400(char)-2400(*ptr;)]TJ -T* -[(422 )-2400(off_t)-1800(freeptr, saveptr;)]TJ -0 -2.021 TD -[(423 )-2400(/*)]TJ -0 -1.189 TD -[(424 )-3000(*)-600(Set data buffer and key to all blanks.)]TJ -T* -[(425 )-3000(*/)]TJ -T* -[(426 )-2400(for)-600(\(ptr = db->datbuf, i = 0; i < db->datlen - 1; i++\))]TJ -T* -[(427 )-4800(*ptr++)]TJ -0.6 Tc 11.4 0 Td -(=S)Tj -0 Tc 1.8 0 Td -(PACE;)Tj --13.2 -1.189 Td -[(428 )-2400(*ptr)]TJ -0.6 Tc 7.8 0 Td -(=0)Tj -1.8 Tc 1.8 0 Td -(;/)Tj -0.6 Tc 3 0 Td -(*n)Tj -0 Tc 1.8 0 Td -(ull terminate for _db_writedat */)Tj --14.4 -1.189 Td -[(429 )-2400(ptr)]TJ -0.6 Tc 7.2 0 Td -(=d)Tj -0 Tc 1.8 0 Td -(b->idxbuf;)Tj --9 -1.189 Td -[(430 )-2400(while)-600(\(*ptr\))]TJ -T* -[(431 )-4800(*ptr++)]TJ -0.6 Tc 11.4 0 Td -(=S)Tj -0 Tc 1.8 0 Td -(PACE;)Tj --13.2 -2.021 Td -[(432 )-2400(/*)]TJ -T* -[(433 )-3000(*)-600(We have to lock the free list.)]TJ -T* -[(434 )-3000(*/)]TJ -T* -[(435 )-2400(if)-600(\(writew_lock\(db->idxfd, FREE_OFF, SEEK_SET, 1\) < 0\))]TJ -T* -[(436 )-4800(err_dump\("_db_dodelete:)-600(writew_lock error"\);)]TJ -0 -2.021 TD -[(437 )-2400(/*)]TJ -0 -1.189 TD -[(438 )-3000(*)-600(Write the data record with all blanks.)]TJ -T* -[(439 )-3000(*/)]TJ -T* -[(440 )-2400(_db_writedat\(db,)-600(db->datbuf, db->datoff, SEEK_SET\);)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3326.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 308.591 Tm -[([412 )167(\320 )167(431])-668(The)]TJ -/TT0 1 Tf -6.984 0 Td -(_db_dodelete)Tj -/T1_0 1 Tf -7.509 0 Td -[(function )-60(does )-60(all )-60(the )-60(work )-60(necessary )-60(to )-60(delete )-60(a )-60(r)22(ecor)18(d)]TJ --9.493 -1.2 Td -[(fr)18(om )-66(the )-66(database.)-566(\(This )-66(function )-66(is )-66(also )-66(called )-66(by)]TJ -/TT0 1 Tf -22.912 0 Td -(db_store)Tj -/T1_0 1 Tf -[(.\) )-316(Most)-315(of )-66(the)]TJ --22.912 -1.2 Td -[(function )-21(just )-21(updates )-21(two )-21(linked )-21(lists: )-21(the )-21(fr)21(ee )-21(list )-21(and )-21(the )-21(hash )-21(chain )-21(for )-21(this)]TJ -0 -1.2 TD -(key)Tj -0.5151 Tc 1.48 0 Td -(.W)Tj -0 Tc 1.765 0 Td -[(hen )-15(a )-15(r)18(ecor)18(d)-265(is)-265(deleted, )-15(we )-15(set )-15(its )-15(key )-15(and )-15(data )-15(r)17(ecor)18(d)-265(to)-265(blanks. )-265(This)]TJ --3.245 -1.2 Td -(fact is used by)Tj -/TT0 1 Tf -6.544 0 Td -(db_nextrec)Tj -/T1_0 1 Tf -0.25 Tc (,w)Tj -0 Tc 7.334 0 Td -(hich we\325ll examine later in this section.)Tj --18.878 -1.6 Td -[([432 )167(\320 )167(440])]TJ --0.092 Tc 5 0 Td -[(We )-375(c)]TJ -0 Tc 2.271 0 Td -(all)Tj -/TT0 1 Tf -1.522 0 Td -(writew_lock)Tj -/T1_0 1 Tf -7.041 0 Td -[(to )-191(write )-191(lock )-191(the )-191(fr)18(ee )-191(list.)-691(This )-191(step )-191(pr)18(events )-191(two)]TJ --10.835 -1.2 Td -[(pr)18(ocesses )-116(that )-116(ar)]TJ -0.3664 Tc 7.542 0 Td -(ed)Tj -0 Tc 1.456 0 Td -[(eleting )-116(r)18(ecor)18(ds )-116(at )-116(the )-116(same )-116(time, )-116(on )-116(two )-116(dif)16(fer)18(ent )-116(hash)]TJ --8.998 -1.2 Td -[(chains, )-75(fr)18(om )-75(interfering )-75(with )-75(each )-75(other)]TJ -0.5749 Tc 17.837 0 Td -(.S)Tj -0 Tc 1.35 0 Td -[(ince )-75(we\325ll )-75(add )-75(the )-75(deleted )-75(r)19(ecor)18(d)]TJ --19.187 -1.2 Td -[(to )-28(the )-28(fr)18(ee )-28(list, )-28(which )-28(changes )-28(the )-28(fr)18(ee-list )-28(pointer)]TJ -0.2781 Tc 21.9 0 Td -(,o)Tj -0 Tc 1.074 0 Td -[(nly )-28(one )-28(pr)18(ocess )-28(at )-28(a )-28(time)]TJ --22.974 -1.2 Td -(can be doing this.)Tj --0.092 Tc 0 -1.8 TD -[(We )-389(w)]TJ -0 Tc 2.676 0 Td -[(rite )-205(the )-205(all-blank )-205(data )-205(r)17(ecor)18(d)-455(by)-455(c)-1(alling)]TJ -/TT0 1 Tf -18.797 0 Td -(_db_writedat)Tj -/T1_0 1 Tf -0.7053 Tc (.N)Tj -0 Tc 8.986 0 Td -[(ote )-205(that)]TJ --30.46 -1.2 Td -[(ther)18(e)-337(is)-337(no)-337(need )-87(for)]TJ -/TT0 1 Tf -9.196 0 Td -(_db_writedat)Tj -/T1_0 1 Tf -7.537 0 Td -[(to )-87(lock )-87(the )-87(data )-87(\336le )-87(in )-87(this )-87(case.)-586(Since)]TJ -/TT0 1 Tf --16.733 -1.2 Td -(db_delete)Tj -/T1_0 1 Tf -5.653 0 Td -[(has )-3(write )-3(locked )-3(the )-3(hash )-3(chain )-3(for )-3(this )-3(r)15(ecor)18(d, )-3(we )-3(know )-3(that )-3(no)]TJ --5.653 -1.2 Td -[(other pr)18(ocess is r)18(eading or writing this particular data r)18(ecor)18(d.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47081 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.8)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(763)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(230 )-1200(/*)]TJ -0 -1.189 TD -[(231 )-1800(*)-600(Find the specified record.)-1200(Called by db_delete, db_fetch,)]TJ -T* -[(232 )-1800(*)-600(and db_store.)-1200(Returns with the hash chain locked.)]TJ -T* -[(233 )-1800(*/)]TJ -T* -[(234 )-1200(static)-600(int)]TJ -0 -1.189 TD -[(235 )-1200(_db_find_and_lock\(DB)-600(*db, const char *key, int writelock\))]TJ -0 -1.189 TD -[(236 )-1200({)]TJ -T* -[(237 )-2400(off_t)-1800(offset, nextoffset;)]TJ -0 -1.664 TD -[(238 )-2400(/*)]TJ -0 -1.189 TD -[(239 )-3000(*)-600(Calculate the hash value for this key, then calculate the)]TJ -T* -[(240 )-3000(*)-600(byte offset of corresponding chain ptr in hash table.)]TJ -0 -1.189 TD -[(241 )-3000(*)-600(This is where our search starts.)-1200(First we calculate the)]TJ -0 -1.189 TD -[(242 )-3000(*)-600(offset in the hash table for this key.)]TJ -T* -[(243 )-3000(*/)]TJ -T* -[(244 )-2400(db->chainoff)]TJ -0.6 Tc 12.6 0 Td -(=\()Tj -0 Tc 1.8 0 Td -(_db_hash\(db, key\) * PTR_SZ\) + db->hashoff;)Tj --14.4 -1.189 Td -[(245 )-2400(db->ptroff)]TJ -0.6 Tc 11.4 0 Td -(=d)Tj -0 Tc 1.8 0 Td -(b->chainoff;)Tj --13.2 -1.664 Td -[(246 )-2400(/*)]TJ -0 -1.189 TD -[(247 )-3000(*)-600(We lock the hash chain here.)-1200(The caller must unlock it)]TJ -0 -1.189 TD -[(248 )-3000(*)-600(when done.)-1200(Note we lock and unlock only the first byte.)]TJ -T* -[(249 )-3000(*/)]TJ -T* -[(250 )-2400(if)-600(\(writelock\) {)]TJ -T* -[(251 )-4800(if)-600(\(writew_lock\(db->idxfd, db->chainoff, SEEK_SET, 1\) < 0\))]TJ -T* -(252 )Tj -9.6 0 Td -[(err_dump\("_db_find_and_lock:)-600(writew_lock error"\);)]TJ --9.6 -1.189 Td -[(253 )-2400(})-600(else {)]TJ -T* -[(254 )-4800(if)-600(\(readw_lock\(db->idxfd, db->chainoff, SEEK_SET, 1\) < 0\))]TJ -T* -(255 )Tj -9.6 0 Td -[(err_dump\("_db_find_and_lock:)-600(readw_lock error"\);)]TJ --9.6 -1.189 Td -[(256 )-2400(})]TJ -0 -1.664 TD -[(257 )-2400(/*)]TJ -0 -1.189 TD -[(258 )-3000(*)-600(Get the offset in the index file of first record)]TJ -T* -[(259 )-3000(*)-600(on the hash chain \(can be 0\).)]TJ -T* -[(260 )-3000(*/)]TJ -T* -[(261 )-2400(offset)]TJ -0.6 Tc 9 0 Td -(=_)Tj -0 Tc 1.8 0 Td -(db_readptr\(db, db->ptroff\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3101.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 286.1237 Tm -[([230 )167(\320 )167(237])-668(The)]TJ -/TT0 1 Tf -6.989 0 Td -(_db_find_and_lock)Tj -/T1_0 1 Tf -10.515 0 Td -[(function )-65(is )-65(used )-65(internally )-65(by )-65(the )-65(library )-65(to )-65(\336nd)]TJ -0.2914 Tc -12.503 -1.2 Td -(ar)Tj -0 Tc 1.168 0 Td -(ecor)Tj -0.2914 Tc 1.846 0 Td -(dg)Tj -0 Tc 1.458 0 Td -[(iven )-41(its )-41(key)]TJ -0.5414 Tc 5.021 0 Td -(.W)Tj -0.2915 Tc 1.699 0 Td -(es)Tj -0 Tc 1.194 0 Td -[(et )-41(the)]TJ -/TT0 1 Tf -2.775 0 Td -(writelock)Tj -/T1_0 1 Tf -5.691 0 Td -[(parameter )-41(to )-41(a )-41(nonzer)]TJ -0.2915 Tc 9.871 0 Td -(ov)Tj -0 Tc 1.403 0 Td -(alue)Tj --32.127 -1.2 Td -[(if )-88(we )-88(want )-88(to )-88(acquir)]TJ -0.338 Tc 9.178 0 Td -(eaw)Tj -0 Tc 2.489 0 Td -[(rite )-88(lock )-88(on )-88(the )-88(index )-88(\336le )-88(while )-88(we )-88(sear)18(ch )-88(for )-88(the)]TJ --0.018 Tc -11.667 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(d. )-349(If)-348(we )-99(set)]TJ -/TT0 1 Tf -7.085 0 Td -(writelock)Tj -/T1_0 1 Tf -5.749 0 Td -[(to )-99(zer)18(o, )-99(we )-99(r)18(ead )-99(lock )-99(the )-99(index )-99(\336le )-99(while )-99(we)]TJ --13.689 -1.2 Td -[(sear)18(ch it.)]TJ --5 -1.6 Td -[([238 )167(\320 )167(256])]TJ --0.092 Tc 5 0 Td -[(We )-282(p)]TJ --0.018 Tc 2.336 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(par)18(e)-348(to)-348(traverse )-98(a )-98(hash )-98(chain )-98(in)]TJ -/TT0 1 Tf -14.688 0 Td -(_db_find_and_lock)Tj -/T1_0 1 Tf -0.598 Tc (.W)Tj -0.348 Tc 11.956 0 Td -(ec)Tj -0 Tc 1.271 0 Td -(onvert)Tj --31.107 -1.2 Td -[(the )-79(key )-79(into )-79(a )-79(hash )-79(value, )-79(which )-79(we )-79(use )-79(to )-79(calculate )-79(the )-79(starting )-79(addr)18(ess )-79(of)]TJ -0 -1.2 TD -[(the )-131(hash )-131(chain )-131(in )-131(the )-131(\336le )-131(\()]TJ -/TT0 1 Tf -12.129 0 Td -(chainoff)Tj -/T1_0 1 Tf -[(\). )-381(W)]TJ -0.3811 Tc 6.922 0 Td -(ew)Tj -0 Tc 1.694 0 Td -[(ait )-131(for )-131(the )-131(lock )-131(to )-131(be )-131(granted)]TJ --20.745 -1.2 Td -(befor)Tj -0.2707 Tc 2.288 0 Td -(eg)Tj -0 Tc 1.306 0 Td -[(oing )-21(thr)18(ough )-21(the )-21(hash )-21(chain.)-521(Note )-21(that )-21(we )-21(lock )-21(only )-21(the )-21(\336rst )-21(byte )-21(in)]TJ --3.594 -1.2 Td -[(the )-47(start )-47(of )-47(the )-47(hash )-47(chain.)-544(This )-46(incr)18(eases )-46(concurr)18(ency )-46(by )-46(allowing )-46(multiple)]TJ -T* -[(pr)18(ocesses to sear)18(ch dif)18(fer)18(ent hash chains at the same time.)]TJ --5 -1.6 Td -[([257 )167(\320 )167(261])]TJ --0.092 Tc 5 0 Td -[(We )-376(c)]TJ -0 Tc 2.273 0 Td -(all)Tj -/TT0 1 Tf -1.524 0 Td -(_db_readptr)Tj -/T1_0 1 Tf -7.042 0 Td -[(to )-192(r)18(ead )-192(the )-192(\336rst )-192(pointer )-192(in )-192(the )-192(hash )-192(chain.)-692(If )-192(this)]TJ --0.018 Tc -10.84 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns zer)18(o, the hash chain is empty)111(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47082 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.8)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(759)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(121 )-2400(if)-600(\(\(oflag & \(O_CREAT | O_TRUNC\)\) == \(O_CREAT | O_TRUNC\)\) {)]TJ -0 -1.189 TD -[(122 )-4800(/*)]TJ -T* -(123 )Tj -7.8 0 Td -[(*)-600(If the database was created, we have to initialize)]TJ --7.8 -1.189 Td -(124 )Tj -7.8 0 Td -[(*)-600(it. )-600(Write)-600(lock the entire file so that we can stat)]TJ --7.8 -1.189 Td -(125 )Tj -7.8 0 Td -[(*)-600(it, check its size, and initialize it, atomically.)]TJ --7.8 -1.189 Td -(126 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(127 )-4800(if)-600(\(writew_lock\(db->idxfd, 0, SEEK_SET, 0\) < 0\))]TJ -T* -(128 )Tj -9.6 0 Td -[(err_dump\("db_open:)-600(writew_lock error"\);)]TJ --9.6 -2.259 Td -[(129 )-4800(if)-600(\(fstat\(db->idxfd, &statbuff\) < 0\))]TJ -T* -(130 )Tj -9.6 0 Td -[(err_sys\("db_open:)-600(fstat error"\);)]TJ --9.6 -2.259 Td -[(131 )-4800(if)-600(\(statbuff.st_size == 0\) {)]TJ -T* -(132 )Tj -9.6 0 Td -(/*)Tj --9.6 -1.189 Td -(133 )Tj -10.2 0 Td -[(*)-600(We have to build a list of \(NHASH_DEF + 1\) chain)]TJ --10.2 -1.189 Td -(134 )Tj -10.2 0 Td -[(*)-600(ptrs with a value of 0.)-1200(The +1 is for the free)]TJ --10.2 -1.189 Td -(135 )Tj -10.2 0 Td -[(*)-600(list pointer that precedes the hash table.)]TJ --10.2 -1.189 Td -(136 )Tj -10.2 0 Td -(*/)Tj --10.2 -1.189 Td -(137 )Tj -9.6 0 Td -[(sprintf\(asciiptr,)-600("%*d", PTR_SZ, 0\);)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4642.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 440.1852 Tm -[([121 )167(\320 )167(130])]TJ --0.092 Tc 5 0 Td -[(We )-571(e)]TJ -0 Tc 2.503 0 Td -[(ncounter )-387(locking )-387(if )-387(the )-387(database )-387(is )-387(being )-387(cr)17(eated. )-637(Consider)-637(two)]TJ --2.503 -1.2 Td -[(pr)18(ocesses )-368(trying )-368(to )-368(cr)18(eate )-368(the )-368(same )-368(database )-368(at )-368(about )-368(the )-368(same )-368(time.)]TJ -0 -1.2 TD -[(Assume )-65(that )-65(the )-65(\336rst )-65(pr)18(ocess )-65(calls)]TJ -/TT0 1 Tf -15.596 0 Td -(fstat)Tj -/T1_0 1 Tf -3.315 0 Td -[(and )-65(is )-65(blocked )-65(by )-65(the )-65(kernel )-65(after)]TJ -/TT0 1 Tf --18.911 -1.2 Td -(fstat)Tj -/T1_0 1 Tf --0.018 Tc 3.347 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns. )-347(The)-348(second )-97(pr)18(ocess )-97(calls)]TJ -/TT0 1 Tf -14.572 0 Td -(db_open)Tj -/T1_0 1 Tf -0.3474 Tc (,\336)Tj -0 Tc 5.402 0 Td -[(nds )-97(that )-97(the )-97(length )-97(of)]TJ --24.178 -1.2 Td -[(the )-143(index )-143(\336le )-143(is )-143(0, )-143(and )-143(initializes )-143(the )-143(fr)18(ee )-143(list )-143(and )-143(hash )-143(chain.)-648(The )-143(second)]TJ -T* -[(pr)18(ocess )-175(then )-175(writes )-175(one )-175(r)18(ecor)18(d)-425(to)-425(the )-175(database.)-675(At )-175(this )-175(point, )-175(the )-175(second)]TJ -0 -1.2 Td -[(pr)18(ocess )-115(is )-115(blocked, )-115(and )-115(the )-115(\336rst )-115(pr)20(ocess )-115(continues )-115(executing )-115(right )-115(after )-115(the)]TJ -0 -1.2 Td -[(call )-63(to)]TJ -/TT0 1 Tf -3.023 0 Td -(fstat)Tj -/T1_0 1 Tf -0.5627 Tc (.T)Tj -0 Tc 4.426 0 Td -[(he )-63(\336rst )-63(pr)18(ocess )-63(\336nds )-63(the )-63(size )-63(of )-63(the )-63(index )-63(\336le )-63(to )-63(be )-63(0 )-63(\(since)]TJ -/TT0 1 Tf --7.449 -1.2 Td -(fstat)Tj -/T1_0 1 Tf -3.288 0 Td -[(was )-38(called )-38(befor)]TJ -0.2881 Tc 7.238 0 Td -(et)Tj -0 Tc 1.093 0 Td -[(he )-38(second )-38(pr)18(ocess )-38(initialized )-38(the )-38(index )-38(\336le\), )-38(so )-38(the)]TJ --11.619 -1.2 Td -[(\336rst )-3(pr)18(ocess )-3(initializes )-3(the )-3(fr)18(ee )-3(list )-3(and )-3(hash )-3(chain, )-3(wiping )-3(out )-3(the )-3(r)20(ecor)]TJ -0.2528 Tc 31.402 0 Td -(dt)Tj -0 Tc 1.19 0 Td -(hat)Tj --32.592 -1.2 Td -[(the )-54(second )-54(pr)18(ocess )-54(stor)18(ed )-54(in )-54(the )-54(database.)-554(The )-54(way )-54(to )-54(pr)19(event )-54(this )-54(is )-54(to )-54(use)]TJ -T* -[(locking. )-473(W)]TJ -0.4734 Tc 5.147 0 Td -(eu)Tj -0 Tc 1.555 0 Td -[(se )-223(the )-223(macr)17(os)]TJ -/TT0 1 Tf -6.884 0 Td -(readw_lock)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -6.723 0 Td -(writew_lock)Tj -/T1_0 1 Tf -0.4733 Tc (,a)Tj -0 Tc 7.823 0 Td -(nd)Tj -/TT0 1 Tf -1.666 0 Td -(un_lock)Tj -/T1_0 1 Tf --29.8 -1.2 Td -[(fr)18(om Section 14.3.)]TJ --5 -1.6 Td -[([131 )167(\320 )167(137])-668(If )-235(the )-235(size )-235(of )-235(the )-235(index )-235(\336le )-235(is )-235(0, )-235(we )-235(have )-235(just )-235(cr)16(eated )-235(it, )-235(so )-235(we )-235(need )-235(to)]TJ -5 -1.2 Td -[(initialize )-88(the )-88(fr)18(ee )-88(list )-88(and )-88(hash )-88(chain )-88(pointers )-88(it )-88(contains.)-593(Note )-88(that )-88(we )-88(use)]TJ -T* -[(the )-146(format )-146(string)]TJ -/TT0 1 Tf -8.133 0 Td -(%*d)Tj -/T1_0 1 Tf -2.196 0 Td -[(to )-146(convert )-146(a )-146(database )-146(pointer )-146(fr)17(om )-146(an )-146(integer )-146(to )-146(an)]TJ --10.329 -1.2 Td -[(ASCII )-160(string.)-660(\(W)92(e\325ll )-160(use )-160(this )-160(type )-160(of )-160(format )-160(again )-160(in)]TJ -/TT0 1 Tf -24.697 0 Td -(_db_writeidx)Tj -/T1_0 1 Tf -7.61 0 Td -(and)Tj -/TT0 1 Tf --32.307 -1.2 Td -(_db_writeptr)Tj -/T1_0 1 Tf -[(.\) )-337(This)-338(format )-87(tells)]TJ -/TT0 1 Tf -16.087 0 Td -(sprintf)Tj -/T1_0 1 Tf -4.537 0 Td -[(to )-87(take )-87(the)]TJ -/TT0 1 Tf -5.133 0 Td -(PTR_SZ)Tj -/T1_0 1 Tf -3.938 0 Td -[(ar)18(gument)]TJ --29.694 -1.2 Td -[(and )-76(use )-76(it )-76(as )-76(the )-76(minimum )-76(\336eld )-76(width )-76(for )-76(the )-76(next )-76(ar)18(gument, )-76(which )-76(is )-76(0 )-76(in)]TJ -T* -[(this )-53(instance )-53(\(her)18(e)-303(we)-303(a)]TJ --0.018 Tc [(re )-89(i)]TJ -0 Tc 11.977 0 Td -[(nitializing )-53(the )-53(pointers )-53(to )-53(0, )-53(since )-53(we )-53(ar)]TJ -0.3032 Tc 17.686 0 Td -(ec)Tj --0.018 Tc 1.226 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ating)Tj -0.251 Tc -31.745 -1.2 Td -(an)Tj -0 Tc 1.333 0 Td -[(ew )-1(database\).)-501(This )-1(has )-1(the )-1(ef)18(fect )-1(of )-1(for)18(cing )-1(the )-1(string )-1(cr)18(eated )-1(to )-1(be )-1(at )-1(least)]TJ -/TT0 1 Tf --1.333 -1.2 Td -(PTR_SZ)Tj -/T1_0 1 Tf -3.867 0 Td -[(characters )-17(\(padded )-17(on )-17(the )-17(left )-17(with )-17(spaces\).)-518(In)]TJ -/TT0 1 Tf -20.973 0 Td -(_db_writeidx)Tj -/T1_0 1 Tf -7.467 0 Td -(and)Tj -/TT0 1 Tf --32.307 -1.2 Td -(_db_writeptr)Tj -/T1_0 1 Tf -[(,)-390(we)-390(will )-140(pass )-140(a )-140(pointer )-140(value )-140(instead )-140(of )-140(zer)19(o, )-140(but )-140(we )-140(will)]TJ -T* -[(\336rst )-123(verify )-123(that )-123(the )-123(pointer )-123(value )-123(isn\325t )-123(gr)16(eater )-123(than)]TJ -/TT0 1 Tf -23.511 0 Td -(PTR_MAX)Tj -/T1_0 1 Tf -[(,)-373(to)-373(g)-1(uarantee)]TJ --23.511 -1.2 Td -[(that )-83(every )-83(pointer )-83(string )-83(we )-83(write )-83(to )-83(the )-83(database )-83(occupies )-83(exactly)]TJ -/TT0 1 Tf -30.4 0 Td -(PTR_SZ)Tj -/T1_0 1 Tf --30.4 -1.16 Td -(\()Tj -0.333 -0.04 Td -(7)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(characters.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47083 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.3)]TJ -36.622 0 Td -(Recor)Tj -0.5 Tc 2.514 0 Td -(dL)Tj -0 Tc 1.722 0 Td -(ocking)Tj -/T1_1 1 Tf -4.975 0 Td -(491)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -({)Tj -2.4 -1.189 Td -(if \(writew_lock\(fd, offset, SEEK_SET, 1\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("%s: writew_lock error", name\);)Tj --2.4 -1.189 Td -(printf\("%s: got the lock, byte %lld\\n", name, \(long long\)offset\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(fd;)]TJ -T* -[(pid_t )-1200(pid;)]TJ -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(reate a file and write two bytes to it.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(\(fd = creat\("templock", FILE_MODE\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("creat error"\);)Tj --2.4 -1.189 Td -(if \(write\(fd, "ab", 2\) != 2\))Tj -2.4 -1.189 Td -(err_sys\("write error"\);)Tj --2.4 -2.021 Td -(TELL_WAIT\(\);)Tj -0 -1.189 TD -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid == 0\) {)Tj -17.4 0 Td -(/* child */)Tj --16.8 -1.189 Td -(lockabyte\("child", fd, 0\);)Tj -0 -1.189 TD -(TELL_PARENT\(getppid\(\)\);)Tj -T* -(WAIT_PARENT\(\);)Tj -T* -(lockabyte\("child", fd, 1\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -17.4 0 Td -(/* parent */)Tj --16.8 -1.189 Td -(lockabyte\("parent", fd, 1\);)Tj -0 -1.189 TD -(TELL_CHILD\(pid\);)Tj -0 -1.189 TD -(WAIT_CHILD\(\);)Tj -T* -(lockabyte\("parent", fd, 0\);)Tj --2.4 -1.189 Td -(})Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3006.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 247.2623 284.5948 Tm -(Figure 14.7)Tj -/T1_0 1 Tf -5.695 0 Td -(Example of deadlock detection)Tj -9.9988 0 0 9.9988 129.5846 258.198 Tm -[(Running the pr)18(ogram in Figur)]TJ -0.25 Tc 13.365 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(4.7 gives us)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 241.5 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(parent: got the lock, byte 1)Tj -T* -(child: got the lock, byte 0)Tj -T* -(parent: writew_lock error: Resource deadlock avoided)Tj -T* -(child: got the lock, byte 1)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 180.7073 Tm -[(When )-140(a )-140(deadlock )-140(is )-140(detected, )-140(the )-140(kernel )-140(has )-140(to )-140(choose )-140(one )-140(pr)18(ocess )-140(to )-140(r)22(eceive )-140(the)]TJ --1.8 -1.2 Td -[(err)18(or )-190(r)18(eturn. )-440(In)-441(this )-190(example, )-190(the )-190(par)16(ent )-190(was )-190(chosen, )-190(but )-190(this )-190(is )-190(an )-190(implementation)]TJ -0 -1.2 Td -[(detail. )-418(On)-418(some )-168(systems, )-168(the )-168(child )-168(always )-168(r)18(eceives )-168(the )-168(err)19(or)]TJ -0.6679 Tc 27.979 0 Td -(.O)Tj -0.418 Tc 1.704 0 Td -(no)Tj -0 Tc 1.546 0 Td -[(ther )-168(systems, )-168(the)]TJ --31.229 -1.2 Td -[(par)18(ent )-179(always )-179(gets )-179(the )-179(err)17(or)]TJ -0.6792 Tc 12.977 0 Td -(.O)Tj -0.4292 Tc 1.715 0 Td -(ns)Tj -0 Tc 1.435 0 Td -[(ome )-179(systems, )-179(you )-179(might )-179(even )-179(see )-179(the )-179(err)18(ors )-179(split)]TJ --16.127 -1.2 Td -[(between the child and the par)18(ent as multiple lock attempts ar)]TJ -0.25 Tc 27.051 0 Td -(em)Tj -0 Tc 1.612 0 Td -(ade.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1327.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47084 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.3)]TJ -36.622 0 Td -(Recor)Tj -0.5 Tc 2.514 0 Td -(dL)Tj -0 Tc 1.722 0 Td -(ocking)Tj -/T1_1 1 Tf -4.975 0 Td -(489)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Example )195(\321 )195(Requesting)-279(and Releasing a Loc)20(k)]TJ -/T1_0 1 Tf --0.092 Tc 3.6 -2.4 Td -[(To )-206(s)]TJ -0 Tc 1.763 0 Td -[(ave )-22(ourselves )-22(fr)18(om )-22(having )-22(to )-22(allocate )-22(an)]TJ -/TT1 1 Tf -18.199 0 Td -(flock)Tj -/T1_0 1 Tf -3.272 0 Td -[(str)8(uctur)]TJ -0.2719 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.251 0 Td -[(nd )-22(\336ll )-22(in )-22(all )-22(the )-22(elements)]TJ --27.975 -1.2 Td -(each time, the function)Tj -/TT1 1 Tf -10.328 0 Td -(lock_reg)Tj -/T1_0 1 Tf -5.05 0 Td -(in Figur)Tj -0.25 Tc 3.506 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(4.5 handles all these details.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6258.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 616.225 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(lock_reg\(int fd, int cmd, int type, off_t offset, int whence, off_t len\ \))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct flock)-2400(lock;)]TJ -0 -1.902 TD -[(lock.l_type = type;)-3000(/* F_RDLCK, F_WRLCK, F_UNLCK */)]TJ -0 -1.189 TD -[(lock.l_start = offset;)-1200(/* byte offset, relative to l_whence */)]TJ -T* -(lock.l_whence = whence; /* SEEK_SET, SEEK_CUR, SEEK_END */)Tj -T* -[(lock.l_len = len;)-4200(/* #bytes \(0 means to EOF\) */)]TJ -0 -1.902 TD -(return\(fcntl\(fd, cmd, &lock\)\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4745.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 226.0313 458.4555 Tm -(Figure 14.5)Tj -/T1_0 1 Tf -5.695 0 Td -[(Function to lock or unlock a r)18(egion of a \336le)]TJ -9.9982 0 0 9.9982 129.5769 434.4598 Tm -[(Since )-33(most )-33(locking )-33(calls )-33(ar)18(e)-283(to)-283(lock )-33(or )-33(unlock )-33(a )-33(r)18(egion )-33(\(the )-33(command)]TJ -/TT1 1 Tf -30.921 0 Td -(F_GETLK)Tj -/T1_0 1 Tf -4.483 0 Td -[(is )-33(rar)18(ely)]TJ --35.404 -1.2 Td -[(used\), )-57(we )-57(normally )-57(use )-57(one )-57(of )-57(the )-57(following )-57(\336ve )-57(macr)18(os, )-57(which )-57(ar)]TJ -0.3066 Tc 29.762 0 Td -(ed)Tj -0 Tc 1.397 0 Td -[(e\336ned )-57(in)]TJ -/TT1 1 Tf -4.242 0 Td -(apue.h)Tj -/T1_0 1 Tf --35.4 -1.2 Td -(\(Appendix B\).)Tj -/TT1 1 Tf -8.9984 0 0 8.9984 129.5769 388.4181 Tm -(#define read_lock\(fd, offset, whence, len\) \\)Tj -7.2 -1.189 Td -(lock_reg\(\(fd\), F_SETLK, F_RDLCK, \(offset\), \(whence\), \(len\)\))Tj --7.2 -1.189 Td -(#define readw_lock\(fd, offset, whence, len\) \\)Tj -7.2 -1.189 Td -(lock_reg\(\(fd\), F_SETLKW, F_RDLCK, \(offset\), \(whence\), \(len\)\))Tj --7.2 -1.189 Td -(#define write_lock\(fd, offset, whence, len\) \\)Tj -7.2 -1.189 Td -(lock_reg\(\(fd\), F_SETLK, F_WRLCK, \(offset\), \(whence\), \(len\)\))Tj --7.2 -1.189 Td -(#define writew_lock\(fd, offset, whence, len\) \\)Tj -7.2 -1.189 Td -(lock_reg\(\(fd\), F_SETLKW, F_WRLCK, \(offset\), \(whence\), \(len\)\))Tj --7.2 -1.189 Td -(#define un_lock\(fd, offset, whence, len\) \\)Tj -7.2 -1.189 Td -(lock_reg\(\(fd\), F_SETLK, F_UNLCK, \(offset\), \(whence\), \(len\)\))Tj -/T1_0 1 Tf --0.092 Tc 9.9982 0 0 9.9982 129.5769 268.7896 Tm -[(We )-236(h)]TJ -0 Tc 2.271 0 Td -[(ave )-52(purposely )-52(de\336ned )-52(the )-52(\336rst )-52(thr)18(ee )-52(ar)18(guments )-52(to )-52(these )-52(macr)18(os )-52(in )-52(the )-52(same )-52(or)22(der)]TJ --2.271 -1.2 Td -(as the)Tj -/TT1 1 Tf -2.811 0 Td -(lseek)Tj -/T1_0 1 Tf -3.25 0 Td -(function.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2568.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9976 0 0 9.9976 93.5775 224.3841 Tm -[(Example )195(\321 )195(T)59(esting f)20(or a Loc)20(k)]TJ -/T1_0 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(4.6 de\336nes the function)Tj -/TT1 1 Tf -10.524 0 Td -(lock_test)Tj -/T1_0 1 Tf -5.65 0 Td -(that we\325ll use to test for a lock.)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1932.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9973 0 0 8.9973 129.5611 183.6819 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(pid_t)Tj -0 -1.189 TD -(lock_test\(int fd, int type, off_t offset, int whence, off_t len\))Tj -T* -({)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47085 0 obj <>stream -q -/Fm0 Do -Q -BT -/Span <>BDC -/GS0 gs -/T1_0 1 Tf -11 0 0 11 233.7152 451.4845 Tm -[(For my par)18(ents, Len & Grace)]TJ -EMC -ET -q -1 0 0 1 47.58 40.02 cm -/GS1 gs -/Fm1 Do -Q - -endstream endobj 47086 0 obj <> endobj 47087 0 obj <>stream -q -/Fm0 Do -Q -BT -/Span <>BDC -/GS0 gs -/T1_0 1 Tf -24 0 0 24 160.4586 542.5719 Tm -[(Ad)15(v)20(anced Pr)20(ogramming )]TJ -EMC -/Span <>BDC -( )Tj -EMC -/Span <>BDC --0.24 -1.083 Td -(in the UNIX)Tj -EMC -/Span <>BDC -/T1_1 1 Tf -9.6 0 0 9.6 282.7029 527.5219 Tm -(\256)Tj -EMC -/Span <>BDC -/T1_0 1 Tf -24 0 0 24 290.3828 516.5719 Tm -[( En)40(vir)20(onment)]TJ -EMC -/Span <>BDC -/T1_2 1 Tf --2.468 -1.375 Td -(Third Edition)Tj -EMC -ET -q -1 0 0 1 47.58 40.02 cm -/GS1 gs -/Fm1 Do -Q - -endstream endobj 47088 0 obj <> endobj 47089 0 obj <>stream -q -/Fm0 Do -Q -BT -/Span <>BDC -/GS0 gs -/T1_0 1 Tf -14 0 0 14 105 609.192 Tm -[(Praise f)20(or the Fir)15(st Edition)]TJ -EMC -/Span <>BDC -/T1_1 1 Tf -10 0 0 10 105 568.892 Tm -(\223)Tj -EMC -ET -/Span <>BDC -BT -/T1_2 1 Tf -0.205 Tw 10 0 0 10 110 568.892 Tm -[(Advanced Pr)18(ogramming in the UNIX)]TJ -ET -BT -/Span <>BDC -/T1_2 1 Tf -10 0 0 10 271.5401 568.892 Tm -( )Tj -EMC -ET -EMC -BT -/Span <>BDC -/T1_2 1 Tf -0 Tw 4 0 0 4 271.9589 573.4919 Tm -(\256)Tj -EMC -/Span <>BDC -0.205 Tw 10 0 0 10 274.9469 568.892 Tm -[( Envir)18(onment )]TJ -EMC -/Span <>BDC -/T1_1 1 Tf -(is a must-have for any serious C )Tj -EMC -ET -/Span <>BDC -BT -/Span <>BDC -/T1_1 1 Tf -0.063 Tw 10 0 0 10 105 555.892 Tm -( )Tj -EMC -ET -BT -/T1_1 1 Tf -10 0 0 10 105 555.892 Tm -[(pr)18(ogrammer who works under UNIX. Its depth, thor)18(oughness, and clarity of explana)]TJ -ET -EMC -BT -/Span <>BDC -/T1_1 1 Tf -0 Tw 10 0 0 10 488.67 555.892 Tm -(-)Tj -EMC -/Span <>BDC --38.367 -1.3 Td -[(tion ar)18(e unmatched.\224)]TJ -EMC -/Span <>BDC -0 -2 TD -(\227)Tj -EMC -/Span <>BDC -/T1_2 1 Tf -(UniForum Monthly)Tj -EMC -/Span <>BDC -/T1_1 1 Tf -0.046 Tw 0 -3.9 TD -[(\223Numer)18(ous )1(r)18(eaders )1(r)18(ecommended )]TJ -EMC -ET -/Span <>BDC -BT -/T1_2 1 Tf -10 0 0 10 262.7166 483.892 Tm -[(Advanced )1(Pr)18(ogramming )1(in )1(the )1(UNIX)]TJ -ET -BT -/Span <>BDC -/T1_2 1 Tf -10 0 0 10 417.8568 483.892 Tm -( )Tj -EMC -ET -EMC -BT -/Span <>BDC -/T1_2 1 Tf -0 Tw 4 0 0 4 418.2917 488.492 Tm -(\256)Tj -EMC -/Span <>BDC -0.046 Tw 10 0 0 10 421.2797 483.892 Tm -[( )1(Envir)18(onment )]TJ -EMC -/Span <>BDC -/T1_1 1 Tf -0 Tw (by )Tj -EMC -/Span <>BDC --0.019 Tw -31.628 -1.2 Td -[(W)92(. Richar)18(d Stevens \(Addison-W)92(esley\), and I\222m glad they did; I hadn\222t even hear)18(d of this )]TJ -EMC -/Span <>BDC -0 Tw 38.7 0 Td -( )Tj -EMC -/Span <>BDC -0.157 Tw -38.7 -1.2 Td -[(book, and it\222s been out since 1992. I just got my hands on a copy)111(, and the \037rst few )]TJ -EMC -ET -/Span <>BDC -BT -/T1_1 1 Tf -0 Tw 10 0 0 10 105 447.892 Tm -(chapters)Tj -ET -BT -/Span <>BDC -/T1_1 1 Tf -10 0 0 10 142.51 447.892 Tm -( )Tj -EMC -ET -BT -/T1_1 1 Tf -10 0 0 10 145.01 447.892 Tm -(have been fascinating.\224)Tj -ET -EMC -BT -/Span <>BDC -/T1_1 1 Tf -10 0 0 10 105 427.892 Tm -(\227)Tj -EMC -/Span <>BDC -/T1_2 1 Tf -[(Open Systems T)111(oday)]TJ -EMC -/Span <>BDC -/T1_1 1 Tf -0.15 Tw T* -[(\223A)55( much mor)18(e r)18(eadable and detailed tr)18(eatment of [UNIX internals] can be found in )]TJ -EMC -ET -/Span <>BDC -BT -/T1_2 1 Tf -0.252 Tw 10 0 0 10 105 376.892 Tm -[(Advanced Pr)18(ogramming in the UNIX)]TJ -ET -BT -/Span <>BDC -/T1_2 1 Tf -10 0 0 10 268.42 376.892 Tm -( )Tj -EMC -ET -EMC -BT -/Span <>BDC -/T1_2 1 Tf -0 Tw 4 0 0 4 268.8539 381.492 Tm -(\256)Tj -EMC -/Span <>BDC -0.252 Tw 10 0 0 10 271.8418 376.892 Tm -[( Envir)18(onment )]TJ -EMC -/Span <>BDC -/T1_1 1 Tf -6.377 0 Td -[(by W)92(. Richar)18(d Stevens \(Addison-)]TJ -EMC -/Span <>BDC -0.026 Tw -23.061 -1.2 Td -[(W)92(esley\). This book )1(includes lots of r)18(ealistic )1(examples, and I \037nd it quite helpful )1(when I )]TJ -EMC -/Span <>BDC -0 Tw 0 -1.2 TD -[(have systems pr)18(ogramming tasks to do.\224)]TJ -EMC -/Span <>BDC -0 -2 TD -(\227)Tj -EMC -/Span <>BDC -/T1_2 1 Tf -(RS/Magazine)Tj -EMC -ET -q -1 0 0 1 47.58 40.02 cm -/GS1 gs -/Fm1 Do -Q - -endstream endobj 47090 0 obj <> endobj 47091 0 obj <>stream -q -/Fm0 Do -Q -q -/GS0 gs -/Fm1 Do -Q -BT -/Span <>BDC -/GS1 gs -/T1_0 1 Tf --0.026 Tc 14 0 0 14 105 609.192 Tm -[(Praise f)20(or )]TJ -EMC -ET -/Span <>BDC -BT -/T1_1 1 Tf -14 0 0 14 169.1926 609.192 Tm -[(Ad)15(v)20(anced Pr)20(ogramming in the UNIX)]TJ -ET -BT -/Span <>BDC -/T1_1 1 Tf -14 0 0 14 397.1542 609.192 Tm -[( )153( )]TJ -EMC -ET -EMC -BT -/Span <>BDC -/T1_2 1 Tf -0 Tc 5.6 0 0 5.6 399.2553 615.4919 Tm -(\256)Tj -EMC -/Span <>BDC -/T1_1 1 Tf --0.026 Tc 14 0 0 14 403.5897 609.192 Tm -[( En)40(vir)20(onment,)]TJ -EMC -/Span <>BDC -/T1_0 1 Tf -0 Tc 6.296 0 Td -( )Tj -EMC -/Span <>BDC -/T1_1 1 Tf --27.624 -1.143 Td -(Second Edition)Tj -EMC -/Span <>BDC -/T1_3 1 Tf -0.133 Tw 10 0 0 10 105 552.892 Tm -[(\223Stephen )1(Rago\222s update )1(is a )1(long )1(over)18(due )1(bene\037t )1(to the )1(community )1(of )1(pr)18(ofessionals )]TJ -EMC -/Span <>BDC -0.063 Tw 0 -1.3 TD -[(using the versatile family of UNIX and UNIX-like operating envir)18(onments. It r)18(emoves )]TJ -EMC -/Span <>BDC -0.027 Tw T* -[(obsolescence and includes newer developments. It also thor)18(oughly updates the context )]TJ -EMC -/Span <>BDC -0.062 Tw T* -[(of all topics, examples, and applications to r)18(ecent r)18(eleases of popular implementations )]TJ -EMC -/Span <>BDC -0.017 Tw T* -[(of UNIX and UNIX-like envir)18(onments. )37(And yet, it does all this while r)18(etaining the style )]TJ -EMC -/Span <>BDC -0 Tw T* -(and taste of the original classic.\224)Tj -EMC -/Span <>BDC -0 -2 TD -[(\227Mukesh Kacker)74(, cofounder and former CT)18(O of Pr)18(onto Networks, Inc.)]TJ -EMC -/Span <>BDC -0 -3.9 TD -[(\223One of the essential classics of UNIX pr)18(ogramming.\224)]TJ -EMC -/Span <>BDC -0 -2 TD -(\227Eric S. Raymond, author of )Tj -EMC -/Span <>BDC -/T1_4 1 Tf -[(The Art of UNIX Pr)18(ogramming)]TJ -EMC -/Span <>BDC -/T1_3 1 Tf -0.183 Tw 0 -3.9 TD -[(\223This is the de\037nitive )1(r)18(efer)18(ence )1(book for )1(any serious )1(or pr)18(ofessional )1(UNIX systems )]TJ -EMC -/Span <>BDC -0.148 Tw 0 -1.2 TD -[(pr)18(ogrammer)74(. Rago has updated )1(and extended )1(the )1(classic )1(Stevens )1(text while )1(keeping )]TJ -EMC -ET -/Span <>BDC -BT -/T1_3 1 Tf -0.116 Tw 10 0 0 10 105 345.892 Tm -[(tr)8(ue)]TJ -ET -BT -/Span <>BDC -/T1_3 1 Tf -10 0 0 10 122.95 345.892 Tm -( )Tj -EMC -ET -BT -/T1_3 1 Tf -10 0 0 10 126.61 345.892 Tm -[(to the original. The )37(APIs ar)18(e illuminated by clear examples of their use. He also )]TJ -ET -EMC -BT -/Span <>BDC -/T1_3 1 Tf -0.013 Tw 10 0 0 10 105 333.892 Tm -[(mentions many of the pitfalls to look out for when pr)18(ogramming acr)18(oss dif)18(fer)18(ent UNIX )]TJ -EMC -/Span <>BDC -0.244 Tw T* -[(system implementations and points out how to avoid these pitfalls using \ r)18(elevant )]TJ -EMC -/Span <>BDC -0.275 Tw T* -[(standar)18(ds such as POSIX 1003.1, 2004 edition, and the Single UNIX Speci\037cati\ on, )]TJ -EMC -ET -/Span <>BDC -BT -/T1_3 1 Tf -0 Tw 10 0 0 10 105 297.892 Tm -[(V)111(ersion)]TJ -ET -BT -/Span <>BDC -/T1_3 1 Tf -10 0 0 10 138.28 297.892 Tm -( )Tj -EMC -ET -BT -/T1_3 1 Tf -10 0 0 10 140.78 297.892 Tm -(3.\224)Tj -ET -EMC -BT -/Span <>BDC -/T1_3 1 Tf -10 0 0 10 105 277.892 Tm -[(\227Andr)18(ew Josey)111(, Dir)18(ector)74(, Certi\037cation, The Open Gr)18(oup, and )]TJ -EMC -/Span <>BDC -( )Tj -EMC -/Span <>BDC -T* -[(Chair of the POSIX 1003.1 W)92(orking Gr)18(oup)]TJ -EMC -/Span <>BDC -0 -3.9 TD -(\223)Tj -EMC -ET -/Span <>BDC -BT -/T1_4 1 Tf -0.371 Tw 10 0 0 10 110 226.892 Tm -[(Advanced Pr)18(ogramming in the UNIX)]TJ -ET -BT -/Span <>BDC -/T1_4 1 Tf -10 0 0 10 278.1801 226.892 Tm -( )Tj -EMC -ET -EMC -BT -/Span <>BDC -/T1_4 1 Tf -0 Tw 4 0 0 4 278.5912 231.492 Tm -(\256)Tj -EMC -/Span <>BDC -0.371 Tw 10 0 0 10 281.5792 226.892 Tm -[( Envir)18(onment, Second Edition, )]TJ -EMC -/Span <>BDC -/T1_3 1 Tf -14.207 0 Td -(is an essential )Tj -EMC -/Span <>BDC -0 Tw 6.835 0 Td -( )Tj -EMC -/Span <>BDC -0.087 Tw -38.7 -1.2 Td -[(r)18(efer)18(ence )1(for )1(anyone )1(writing )1(pr)18(ograms )1(for )1(a )1(UNIX )1(system. )1(It\222s )1(the )1(\037rst )1(book )1(I )1(turn )1(to )]TJ -EMC -/Span <>BDC -0.126 Tw 0 -1.2 TD -[(when I want to understand or r)18(e-learn any of the various system interfaces. Stephen )]TJ -EMC -/Span <>BDC -0.004 Tw T* -[(Rago has successfully )1(r)18(evised this )1(book to incorporate )1(newer operating systems )1(such as )]TJ -EMC -/Span <>BDC -0.071 Tw T* -[(GNU/Linux and )37(Apple\222s OS X while keeping tr)8(ue to the \037rst edition in terms of both )]TJ -EMC -/Span <>BDC -0 Tw T* -[(r)18(eadability and usefulness. It will always have a place right next to my \ computer)75(.\224)]TJ -EMC -/Span <>BDC -0 -2 TD -[(\227Dr)74(. Benjamin Kuperman, Swarthmor)18(e College)]TJ -EMC -ET -q -1 0 0 1 47.58 40.02 cm -/GS2 gs -/Fm2 Do -Q - -endstream endobj 47092 0 obj <> endobj 47093 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(993)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(VSTATUS)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(678)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(VSTOP)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(678)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(VSUSP)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(678)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(vsyslog)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(472)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(472)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(VT0)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(691)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(VT1)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(691)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(VTDLY)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(684, 689, 691)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(VTIME)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(703)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(705, 707)Tj -/TT0 1 Tf --10.063 -1.25 Td -(VWERASE)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(678)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(vwprintf)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(vwrite)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(525)]TJ -/TT0 1 Tf --4.017 -4.125 Td -(wait)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(231)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(232, 237)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(246, 249, 255, 264,)Tj --10.907 -1.25 Td -(267, 280, 282)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(283, 301, 317, 328)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(329, 331,)Tj --14.333 -1.25 Td -(333)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(335, 351, 368, 371)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(372, 451, 471, 499,)Tj --10.333 -1.25 Td -(546, 588, 936)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(238)]TJ --0.092 Tc -1.35 -1.25 Td -(Wa)Tj -0 Tc 1.408 0 Td -[(it, J. W)92(., )-250(xxxii)]TJ -/TT0 1 Tf --1.408 -1.25 Td -(wait3)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(245)]TJ --2.067 -1.25 Td -[(de\336nition of,)-500(245)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(wait4)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(245)]TJ --2.067 -1.25 Td -[(de\336nition of,)-500(245)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(WAIT_CHILD)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(247,)-250(362, 491, 532, 539, 577,)]TJ --3.717 -1.25 Td -(898, 934)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(363, 540)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(waitid)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(244)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(245, 283, 451)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(244)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(WAIT_PARENT)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(247)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(248, 362, 491, 498,)Tj --10.94 -1.25 Td -(532, 539, 577, 898)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(363, 540)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(waitpid)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(1)55(1)]TJ -5.485 0.09 Td -(\320)Tj -0.583 -0.09 Td -(13, 19, 23, 237)Tj -6.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(245, 254,)Tj --14.652 -1.25 Td -(261, 265)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(267, 282, 285, 294, 301, 315, 329, 331,)Tj --4.166 -1.25 Td -(370)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(371, 451, 498, 538, 545)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(546, 587)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(588,)Tj --16.5 -1.25 Td -(618, 935, 937, 939)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(238)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(wall)Tj -/T1_0 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(723)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(wc)Tj -/T1_0 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(1)55(12)]TJ -/TT0 1 Tf --1.617 -1.25 Td -()Tj -/T1_0 1 Tf -5.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7, 144)Tj -/TT0 1 Tf --10.039 -1.25 Td -(wchar_t)Tj -/T1_0 1 Tf -4.617 0 Td -[(data type,)-500(59)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(WCONTINUED)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(242,)-250(244)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(WCOREDUMP)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(239)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(240)Tj -/TT0 1 Tf --12.44 -1.25 Td -(wcrtomb)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(wcsftime)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(wcsrtombs)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(wcstombs)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(wctomb)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --4.017 -1.25 Td -()Tj -/T1_0 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7)Tj --0.092 Tc -10.639 -1.25 Td -(We)Tj -0 Tc 1.387 0 Td -[(eks, M. S.,)-500(206, 949)]TJ --0.092 Tc -1.387 -1.25 Td -(We)Tj -0 Tc 1.387 0 Td -[(i, J.,)-500(65, 953)]TJ --0.092 Tc -1.387 -1.25 Td -(We)Tj -0 Tc 1.387 0 Td -[(inber)18(ger)]TJ -0.25 Tc 3.638 0 Td -[(,P)379(.J)]TJ -0 Tc 1.808 0 Td -[(., )-250(76,)-250(262, 743, 947, 953)]TJ --0.092 Tc -6.833 -1.25 Td -(We)Tj -0 Tc 1.387 0 Td -[(instock, C. B.,)-500(953)]TJ -24.613 65.375 Td -(WERASE terminal character)Tj -0.5 Tc 12.431 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 682, 685)Tj -5.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(687,)Tj --16.647 -1.25 Td -(703)Tj -/TT0 1 Tf --2.7 -1.25 Td -(WEXITED)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(244)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(WEXITSTATUS)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(239)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(240)Tj -/TT0 1 Tf --13.64 -1.25 Td -(who)Tj -/T1_0 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(187,)-250(734)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(WIFCONTINUED)Tj -/T1_0 1 Tf -7.617 0 Td -[(function, )-250(239)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(WIFEXITED)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(239)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(240)Tj -/TT0 1 Tf --12.44 -1.25 Td -(WIFSIGNALED)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(239)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(240)Tj -/TT0 1 Tf --13.64 -1.25 Td -(WIFSTOPPED)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(239)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(240, 242)Tj --0.055 Tc -13.04 -1.25 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(lliams, T)74(., )-250(310,)-250(953)]TJ --0.055 Tc -1.236 -1.25 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(lson, G. A.,)-500(xxxii)]TJ --1.236 -1.25 Td -(window size)Tj -1.35 -1.25 Td -[(pseudo terminal,)-500(741)]TJ -0 -1.25 TD -[(terminal, )-250(31)55(1, 322, 710)]TJ -10.025 0.09 Td -(\320)Tj -0.583 -0.09 Td -(712, 718, 727, 741)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(742)Tj -/TT0 1 Tf --20.125 -1.25 Td -(winsize)Tj -/T1_0 1 Tf -4.617 0 Td -[(str)8(uctur)18(e, )-250(31)55(1, 710)]TJ -8.247 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(71)55(1, 727, 730, 732,)]TJ --10.747 -1.25 Td -(742, 897, 944)Tj --0.055 Tc -2.7 -1.25 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(nterbottom, P)129(., )-250(229,)-250(952)]TJ -/TT0 1 Tf --1.236 -1.25 Td -(WNOHANG)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(242,)-250(244)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(WNOWAIT)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(242,)-250(244)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(W_OK)Tj -/T1_0 1 Tf -2.817 0 Td -[(constant, )-250(102)]TJ --0.092 Tc -2.817 -1.25 Td -(Wo)Tj -0 Tc 1.454 0 Td -[(lf)18(f, R.,)-500(xxxii)]TJ --0.092 Tc -1.454 -1.25 Td -(Wo)Tj -0 Tc 1.454 0 Td -[(lf)18(f, S.,)-500(xxxii)]TJ -/TT0 1 Tf --1.454 -1.25 Td -(WORD_BIT)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(38)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(wordexp)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --4.617 -1.25 Td -()Tj -/T1_0 1 Tf -7.017 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --11.239 -1.25 Td -(worker_thread)Tj -/T1_0 1 Tf -8.217 0 Td -[(str)8(uctur)18(e, )-250(812)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(813, 828)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(829)Tj --19.269 -1.25 Td -[(working dir)18(ectory)111(,)]TJ -/T1_2 1 Tf -8.674 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -[(curr)18(ent dir)18(ectory)]TJ --10.091 -1.25 Td -[(worm, Internet,)-500(153)]TJ -/TT0 1 Tf -T* -(wprintf)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(452)]TJ --0.074 Tc -4.617 -1.25 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ight, G. R.,)-500(xxxii)]TJ --1.321 -1.25 Td -(write)Tj -1.35 -1.25 Td -[(delayed, )-250(81)]TJ -T* -(gather)Tj -0.5 Tc 2.764 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(21, 644)Tj --4.014 -1.25 Td -[(synchr)18(onous, )-250(63,)-250(86)]TJ -8.999 0.09 Td -(\320)Tj -0.583 -0.09 Td -(87)Tj -/TT0 1 Tf --10.932 -1.25 Td -(write)Tj -/T1_0 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(723)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(write)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(8)]TJ -5.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(10, 20)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(21, 59, 61, 63)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(64,)Tj --15.673 -1.25 Td -(68)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(69, 72, 77)Tj -4.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(79, 86)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(88, 90, 125, 145)Tj -6.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(146,)Tj --16.666 -1.25 Td -(156, 167, 174, 230)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(231, 234, 247, 328)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(329,)Tj --16.333 -1.25 Td -(331, 342)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(343, 378, 382, 451, 474, 482)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(484,)Tj --16.333 -1.25 Td -(491, 495)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(498, 502, 505, 509, 513, 517,)Tj --4.166 -1.25 Td -(522)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(526, 530)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(532, 537)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(538, 540, 549)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(551,)Tj --16.666 -1.25 Td -(553, 555, 560, 565, 587, 590, 592, 610, 614, 620,)Tj -T* -(643, 654)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(655, 672, 752, 760, 773, 810, 819, 826,)Tj --4.166 -1.25 Td -(836, 907)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(908, 921, 925, 934, 936)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(937, 945)Tj --15.683 -1.25 Td -[(de\336nition of,)-500(72)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(write_lock)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(489,)-250(493, 498, 818, 897)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(writen)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(523)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(524, 644, 732)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(733, 738,)Tj --14.107 -1.25 Td -(810)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(81)55(1, 824)]TJ -3.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(827, 836, 896)Tj --7.628 -1.25 Td -[(de\336nition of,)-500(523)]TJ -7.775 0.09 Td -(\320)Tj -0.583 -0.09 Td -(524)Tj -/TT0 1 Tf --9.709 -1.25 Td -(writev)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(41,)-250(43, 329, 451, 481, 521)]TJ -15.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(523,)Tj --16.94 -1.25 Td -(531)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(532, 592, 61)55(1, 644, 655, 660, 752, 771, 773,)]TJ --2.167 -1.25 Td -(832, 836)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(521)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47094 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(xxxii)Tj -/T1_1 1 Tf -4.166 0 Td -[(Pr)18(eface )-250(to )-250(the )-250(First )-250(Edition)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Ac)20(kno)15(wledgments)]TJ -/T1_1 1 Tf -3.6 -2.4 Td -[(Once )-16(again )-16(I )-16(am )-16(indebted )-16(to )-16(my )-16(family )-16(for )-16(their )-16(love, )-16(support, )-16(and )-16(many )-16(lost )-16(weekends)]TJ -0 -1.2 TD -[(over )-74(the )-74(past )-74(year )-74(and )-74(a )-74(half.)]TJ --0.074 Tc 13.821 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(iting )-74(a )-74(book )-74(is, )-74(in )-74(many )-74(ways, )-74(a )-74(family )-74(af)17(fair)]TJ -0.5742 Tc 20.201 0 Td -(.T)Tj -0 Tc 1.437 0 Td -(hank)Tj --36.78 -1.2 Td -(you Sally)Tj -0.25 Tc 4.007 0 Td -(,B)Tj -0 Tc 1.111 0 Td -(ill, Ellen, and David.)Tj --3.318 -1.2 Td -[(I)-298(am)-298(especially )-48(grateful )-48(to )-48(Brian )-48(Kernighan )-48(for )-48(his )-48(help )-48(in )-48(the )-48(book.)-548(His )-48(numer)22(ous)]TJ --1.8 -1.2 Td -[(thor)18(ough )-204(r)18(eviews )-204(of )-204(the )-204(entir)]TJ -0.4539 Tc 13.704 0 Td -(em)Tj -0 Tc 1.816 0 Td -[(anuscript )-204(and )-204(his )-204(gentle )-204(pr)18(odding )-204(for )-204(better )-204(pr)18(ose)]TJ --15.52 -1.2 Td -[(hopefully )-274(show )-274(in )-274(the )-274(\336nal )-274(r)19(esult. )-524(Steve)-524(Rago )-274(was )-274(also )-274(a )-274(gr)18(eat )-274(r)19(esour)18(ce, )-274(both )-274(in)]TJ --0.018 Tc -0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(viewing )-109(the )-109(entir)]TJ -0.3594 Tc 7.759 0 Td -(em)Tj -0 Tc 1.721 0 Td -[(anuscript )-109(and )-109(answering )-109(many )-109(questions )-109(about )-109(the )-109(details )-109(and)]TJ --10.336 -1.2 Td -[(history )-211(of )-211(System )-211(V)]TJ -0.7109 Tc 9.168 0 Td -(.M)Tj -0.4609 Tc 1.907 0 Td -(yt)Tj -0 Tc 1.343 0 Td -[(hanks )-211(to )-211(the )-211(other )-211(technical )-211(r)18(eviewers )-211(used )-211(by )-211(Addison-)]TJ --0.092 Tc -12.418 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -(sley)Tj -0.5604 Tc 1.639 0 Td -(,w)Tj -0 Tc 1.644 0 Td -[(ho )-310(pr)18(ovided )-310(valuable )-310(comments )-310(on )-310(various )-310(portions )-310(of )-310(the )-310(manuscript:)]TJ --4.67 -1.2 Td -[(Maury )-111(Bach, )-111(Mark )-111(Ellis, )-111(Jef)]TJ -0.3608 Tc 12.513 0 Td -(fG)Tj -0 Tc 1.457 0 Td -[(itlin, )-111(Peter )-111(Honeyman, )-111(John )-111(Linderman, )-111(Doug )-111(McIlr)19(oy)111(,)]TJ --13.969 -1.2 Td -[(Evi Nemeth, Craig Partridge, Dave Pr)18(esotto, Gary W)55(ilson, and Gary W)74(right.)]TJ -1.8 -1.2 Td -[(Keith )-145(Bostic )-145(and )-145(Kirk )-145(McKusick )-145(at )-145(the )-145(U.C. )-145(Berkeley )-145(CSRG )-145(pr)18(ovided )-145(an )-145(account)]TJ --1.8 -1.2 Td -[(that )-150(was )-150(used )-150(to )-150(test )-150(the )-150(examples )-150(on )-150(the )-150(latest )-150(BSD )-150(system.)-650(\(Many )-150(thanks )-150(to )-150(Peter)]TJ -T* -[(Salus )-39(too.\))-539(Sam )-39(Natar)18(os )-39(and )-39(Joachim )-39(Sacksen )-39(at )-39(UHC )-39(pr)22(ovided )-39(the )-39(copy )-39(of )-39(SVR4 )-39(used)]TJ -T* -(to test the examples.)Tj --0.09 Tc 9.487 0 Td -[(Tr )88(e)]TJ -0 Tc 1.379 0 Td -(nt Hein helped obtain the alpha and beta copies of BSD/386.)Tj --9.066 -1.2 Td -[(Other )-138(friends )-138(have )-138(helped )-138(in )-138(many )-138(small, )-138(but )-138(signi\336cant )-138(ways )-138(over )-138(the )-138(past )-138(few)]TJ --1.8 -1.2 Td -[(years: )-12(Paul )-12(Lucchina, )-12(Joe )-12(Godsil, )-12(Jim )-12(Hogue, )-12(Ed )-12(T)92(ankus, )-12(and )-12(Gary )-12(W)75(right. )-262(My)-262(editor )-12(at)]TJ -0 -1.2 Td -[(Addison-W)92(esley)]TJ -0.261 Tc 7.202 0 Td -(,J)Tj -0 Tc 0.844 0 Td -[(ohn )-11(W)92(ait, )-11(has )-11(been )-11(a )-11(gr)18(eat )-11(friend )-11(thr)18(ough )-11(it )-11(all.)-511(He )-11(never )-11(complained)]TJ --8.046 -1.2 Td -[(when )-49(the )-49(due )-49(date )-49(slipped )-49(and )-49(the )-49(page )-49(count )-49(kept )-49(incr)17(easing. )-299(A)-299(special )-49(thanks )-49(to )-49(the)]TJ -T* -[(National )-137(Optical )-137(Astr)18(onomy )-137(Observatories)]TJ -19.837 0.04 Td -(\()Tj -0.333 -0.04 Td -(NOAO)Tj -3.181 0.04 Td -(\))Tj -0.3875 Tc 0.333 -0.04 Td -(,e)Tj -0 Tc 1.116 0 Td -[(specially )-137(Sidney )-137(W)91(olf)18(f, )-137(Richar)18(d)]TJ --0.092 Tc -24.801 -1.2 Td -(Wo)Tj -0 Tc 1.454 0 Td -[(lf)18(f, and Steve Grandi, for pr)18(oviding computer time.)]TJ -/T1_2 1 Tf -0.346 -1.2 Td -(Real)Tj -/T1_1 1 Tf -2.206 0 Td -[(Unix )-178(books )-178(ar)]TJ -0.4281 Tc 6.525 0 Td -(ew)Tj -0 Tc 1.741 0 Td -[(ritten )-178(using )-178(tr)18(of)]TJ -0.4281 Tc 7.275 0 Td -(fa)Tj -0 Tc 1.261 0 Td -[(nd )-178(this )-178(book )-178(follows )-178(that )-178(time-honor)18(ed)]TJ --20.808 -1.2 Td -[(tradition. )-327(Camera-r)18(eady )-77(copy )-77(of )-77(the )-77(book )-77(was )-77(pr)19(oduced )-77(by )-77(the )-77(author )-77(using )-77(the )-77(gr)20(of)18(f)]TJ --0 -1.2 Td -[(package )-303(written )-303(by )-303(James )-303(Clark.)-804(Many )-303(thanks )-303(to )-303(James )-303(Clark )-303(for )-303(pr)18(oviding )-303(this)]TJ -T* -[(excellent )-52(system )-52(and )-52(for )-52(his )-52(rapid )-52(r)18(esponse )-52(to )-52(bug )-52(\336xes.)-557(Per)18(haps )-52(someday )-52(I )-52(will )-52(r)16(eally)]TJ --0 -1.2 Td -[(understand tr)18(of)]TJ -0.25 Tc 6.927 0 Td -(ff)Tj -0 Tc 0.916 0 Td -(ooter traps.)Tj -0.4251 Tc -6.043 -1.2 Td -(Iw)Tj -0 Tc 1.596 0 Td -[(elcome )-175(electr)18(onic )-175(mail )-175(fr)18(om )-175(any )-175(r)18(eaders )-175(with )-175(comments, )-175(suggestions, )-175(or )-175(bug)]TJ --3.396 -1.2 Td -(\336xes.)Tj -/T1_2 1 Tf --0.111 Tc 0 -3.6 TD -(Tu)Tj -0 Tc 1.056 0 Td -(cson, Arizona)Tj -/T1_1 1 Tf --0.092 Tc 29.433 0 Td -[(W. )-184(R)]TJ -0 Tc 2.076 0 Td -(ichar)Tj -0.25 Tc 2.194 0 Td -(dS)Tj -0 Tc 1.386 0 Td -(tevens)Tj -/T1_2 1 Tf --36.145 -1.2 Td -(April 1992)Tj -/TT1 1 Tf -27.6 0 Td -(rstevens@kohala.com)Tj --7.2 -1.2 Td -(http://www.kohala.com/)Tj -13.2 -0.27 Td -(\367)Tj -0.6 0.27 Td -(rstevens)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47095 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(836)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(725 )-4800(/*)]TJ -0 -1.189 TD -(726 )Tj -7.8 0 Td -[(*)-600(Write the headers first.)-1200(Then send the file.)]TJ --7.8 -1.189 Td -(727 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(728 )-4800(iov[0].iov_base)]TJ -0.6 Tc 16.8 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(buf;)Tj --18.6 -1.189 Td -[(729 )-4800(iov[0].iov_len)]TJ -0.6 Tc 16.2 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(len;)Tj --18 -1.189 Td -[(730 )-4800(iov[1].iov_base)]TJ -0.6 Tc 16.8 0 Td -(=i)Tj -0 Tc 1.8 0 Td -(buf;)Tj --18.6 -1.189 Td -[(731 )-4800(iov[1].iov_len)]TJ -0.6 Tc 16.2 0 Td -(=i)Tj -0 Tc 1.8 0 Td -(len;)Tj --18 -1.189 Td -[(732 )-4800(if)-600(\(writev\(sockfd, iov, 2\) != hlen + ilen\) {)]TJ -T* -(733 )Tj -9.6 0 Td -[(log_ret\("can\325t)-600(write to printer"\);)]TJ --9.6 -1.189 Td -(734 )Tj -9.6 0 Td -[(goto)-600(defer;)]TJ --9.6 -1.189 Td -[(735 )-4800(})]TJ -0 -1.902 TD -[(736 )-4800(if)-600(\(jp->req.flags & PR_TEXT\) {)]TJ -0 -1.189 TD -(737 )Tj -9.6 0 Td -(/*)Tj --9.6 -1.189 Td -(738 )Tj -10.2 0 Td -[(*)-600(Hack: allow PostScript to be printed as plain text.)]TJ --10.2 -1.189 Td -(739 )Tj -10.2 0 Td -(*/)Tj --10.2 -1.189 Td -(740 )Tj -9.6 0 Td -[(if)-600(\(write\(sockfd, "\\b", 1\) != 1\) {)]TJ --9.6 -1.189 Td -(741 )Tj -12 0 Td -[(log_ret\("can\325t)-600(write to printer"\);)]TJ --12 -1.189 Td -(742 )Tj -12 0 Td -[(goto)-600(defer;)]TJ --12 -1.189 Td -(743 )Tj -9.6 0 Td -(})Tj --9.6 -1.189 Td -[(744 )-4800(})]TJ -0 -1.902 TD -[(745 )-4800(while)-600(\(\(nr = read\(fd, buf, IOBUFSZ\)\) > 0\) {)]TJ -0 -1.189 TD -(746 )Tj -9.6 0 Td -[(if)-600(\(\(nw = writen\(sockfd, buf, nr\)\) != nr\) {)]TJ --9.6 -1.189 Td -(747 )Tj -12 0 Td -[(if)-600(\(nw < 0\))]TJ --12 -1.189 Td -(748 )Tj -13.2 0 Td -[(log_ret\("can\325t)-600(write to printer"\);)]TJ --13.2 -1.189 Td -(749 )Tj -12 0 Td -(else)Tj --12 -1.189 Td -(750 )Tj -13.2 0 Td -[(log_msg\("short)-600(write \(%d/%d\) to printer", nw, nr\);)]TJ --13.2 -1.189 Td -(751 )Tj -12 0 Td -[(goto)-600(defer;)]TJ --12 -1.189 Td -(752 )Tj -9.6 0 Td -(})Tj --9.6 -1.189 Td -[(753 )-4800(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3422.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 318.2198 Tm -[([725 )167(\320 )167(735])]TJ --0.092 Tc 5 0 Td -[(We )-235(s)]TJ -0 Tc 2.112 0 Td -[(et )-51(the )-51(\336rst )-51(element )-51(of )-51(the)]TJ -/TT0 1 Tf -11.535 0 Td -(iovec)Tj -/T1_1 1 Tf -3.301 0 Td -[(array )-51(to )-51(r)18(efer )-51(to )-51(the )-51(HTTP )-51(header )-51(and)]TJ --16.949 -1.2 Td -[(the )-47(second )-47(element )-47(to )-47(r)18(efer )-47(to )-47(the )-47(IPP )-47(header)]TJ -0.5467 Tc 20.077 0 Td -(.T)Tj -0 Tc 1.41 0 Td -[(hen )-47(we )-47(use)]TJ -/TT0 1 Tf -5.352 0 Td -(writev)Tj -/T1_1 1 Tf -3.897 0 Td -[(to )-47(send)]TJ --30.735 -1.2 Td -[(both )-253(headers )-253(to )-253(the )-253(printer)]TJ -0.7534 Tc 12.745 0 Td -(.I)Tj -0.5034 Tc 1.34 0 Td -(ft)Tj -0 Tc 1.162 0 Td -[(he )-253(write )-253(fails )-253(or )-253(we )-253(write )-253(less )-253(than )-253(we)]TJ --0.018 Tc -15.248 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quested, )-139(we )-139(log )-139(a )-139(message )-139(and )-139(jump )-139(to)]TJ -/TT0 1 Tf -18.679 0 Td -(defer)Tj -/T1_1 1 Tf -0.3888 Tc (,w)Tj -0 Tc 4.473 0 Td -[(her)18(e)-389(we)-389(will )-139(clean )-139(up)]TJ --24.007 -1.2 Td -(and delay befor)Tj -0.25 Tc 6.918 0 Td -(et)Tj -0 Tc 1.055 0 Td -(rying again.)Tj --12.973 -1.6 Td -[([736 )167(\320 )167(744])-668(Even )-297(if )-297(we )-297(specify )-297(plaintext, )-297(the )-297(Phaser )-297(8560 )-297(will )-297(try )-297(to )-297(autosense )-297(the)]TJ -5 -1.2 Td -[(document )-57(format.)]TJ --0.092 Tc 8.57 0 Td -[(To )-241(p)]TJ --0.018 Tc 1.975 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(vent )-57(it )-57(fr)18(om )-57(r)19(ecognizing )-57(the )-57(beginning )-57(of )-57(a )-57(\336le )-57(we)]TJ --11.401 -1.2 Td -[(want )-124(to )-124(print )-124(as )-124(plaintext, )-124(the )-124(\336rst )-124(character )-124(we )-124(send )-124(is )-124(a )-124(backspace.)-630(This)]TJ -0 -1.2 TD -[(character )-34(doesn\325t )-34(show )-34(up )-34(in )-34(the )-34(printout )-34(and )-34(defeats )-34(the )-34(printer)-77(\325s )-34(ability )-34(to)]TJ -T* -[(autosense )-88(the )-88(\336le )-88(format.)-586(This )-87(allows )-87(us )-87(to )-87(print )-87(the )-87(sour)18(ce )-87(to )-87(a )-87(PostScript)]TJ -T* -[(\336le instead of printing the image r)18(esulting fr)18(om the PostScript \336le.)]TJ --5 -1.6 Td -[([745 )167(\320 )167(753])]TJ --0.092 Tc 5 0 Td -[(We )-327(s)]TJ -0 Tc 2.204 0 Td -[(end )-143(the )-143(data )-143(\336le )-143(to )-143(the )-143(printer )-143(in)]TJ -/TT0 1 Tf -15.713 0 Td -(IOBUFSZ)Tj -/T1_1 1 Tf -4.593 0 Td -(chunks.)Tj -/TT0 1 Tf -4.084 0 Td -(write)Tj -/T1_1 1 Tf -3.393 0 Td -[(can )-143(send)]TJ --29.985 -1.2 Td -[(less )-8(than )-8(we )-8(r)17(equested )-8(when )-8(the )-8(socket )-8(buf)18(fers )-8(ar)]TJ -0.2582 Tc 21.943 0 Td -(ef)Tj -0 Tc 1.07 0 Td -[(ull, )-8(so )-8(we )-8(use)]TJ -/TT0 1 Tf -6.257 0 Td -(writen)Tj -/T1_1 1 Tf -3.858 0 Td -(to)Tj --33.128 -1.2 Td -[(handle )-138(this )-138(case.)]TJ --0.092 Tc 8.179 0 Td -[(We )-322(d)]TJ -0 Tc 2.386 0 Td -[(on\325t )-138(worry )-138(about )-138(this )-138(condition )-138(when )-138(we )-138(write )-138(the)]TJ --10.565 -1.2 Td -(headers, because they ar)Tj -0.25 Tc 10.772 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(mall. )-250(However)]TJ -0.25 Tc 6.771 0 Td -(,t)Tj -0 Tc 0.826 0 Td -[(he \336le to print could be lar)18(ge.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47096 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(832)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(608 )-1200(/*)]TJ -0 -1.189 TD -[(609 )-1800(*)-600(Single thread to communicate with the printer.)]TJ -T* -[(610 )-1800(*)]TJ -T* -[(611 )-1800(*)-600(LOCKING: acquires and releases joblock and configlock.)]TJ -T* -[(612 )-1800(*/)]TJ -0 -1.189 TD -[(613 )-1200(void)-600(*)]TJ -0 -1.189 TD -[(614 )-1200(printer_thread\(void)-600(*arg\))]TJ -T* -[(615 )-1200({)]TJ -T* -[(616 )-2400(struct)-600(job )-3000(*jp;)]TJ -T* -[(617 )-2400(int)]TJ -14.4 0 Td -(hlen, ilen, sockfd, fd, nr, nw, extra;)Tj --14.4 -1.189 Td -[(618 )-2400(char)]TJ -14.4 0 Td -(*icp, *hcp, *p;)Tj --14.4 -1.189 Td -[(619 )-2400(struct)-600(ipp_hdr )-600(*hp;)]TJ -T* -[(620 )-2400(struct)-600(stat )-2400(sbuf;)]TJ -T* -[(621 )-2400(struct)-600(iovec )-1800(iov[2];)]TJ -0 -1.189 TD -[(622 )-2400(char)]TJ -14.4 0 Td -(name[FILENMSZ];)Tj --14.4 -1.189 Td -[(623 )-2400(char)]TJ -14.4 0 Td -(hbuf[HBUFSZ];)Tj --14.4 -1.189 Td -[(624 )-2400(char)]TJ -14.4 0 Td -(ibuf[IBUFSZ];)Tj --14.4 -1.189 Td -[(625 )-2400(char)]TJ -14.4 0 Td -(buf[IOBUFSZ];)Tj --14.4 -1.189 Td -[(626 )-2400(char)]TJ -14.4 0 Td -(str[64];)Tj --14.4 -1.189 Td -[(627 )-2400(struct)-600(timespec ts = { 60, 0 };)-3000(/* 1 minute */)]TJ -0 -2.021 TD -[(628 )-2400(for)-600(\(;;\) {)]TJ -0 -1.189 TD -[(629 )-4800(/*)]TJ -T* -(630 )Tj -7.8 0 Td -[(*)-600(Get a job to print.)]TJ --7.8 -1.189 Td -(631 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(632 )-4800(pthread_mutex_lock\(&joblock\);)]TJ -T* -[(633 )-4800(while)-600(\(jobhead == NULL\) {)]TJ -T* -(634 )Tj -9.6 0 Td -[(log_msg\("printer_thread:)-600(waiting..."\);)]TJ --9.6 -1.189 Td -(635 )Tj -9.6 0 Td -[(pthread_cond_wait\(&jobwait,)-600(&joblock\);)]TJ --9.6 -1.189 Td -[(636 )-4800(})]TJ -T* -[(637 )-4800(remove_job\(jp)]TJ -0.6 Tc 15.6 0 Td -(=j)Tj -0 Tc 1.8 0 Td -(obhead\);)Tj --17.4 -1.189 Td -[(638 )-4800(log_msg\("printer_thread:)-600(picked up job %d", jp->jobid\);)]TJ -T* -[(639 )-4800(pthread_mutex_unlock\(&joblock\);)]TJ -0 -1.189 TD -[(640 )-4800(update_jobno\(\);)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3048.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 280.7743 Tm -[([608 )167(\320 )167(627])-668(The)]TJ -/TT0 1 Tf -7.165 0 Td -(printer_thread)Tj -/T1_1 1 Tf -8.891 0 Td -[(function )-241(is )-241(r)7(un )-241(by )-241(the )-241(thr)18(ead )-241(that )-241(communicates)]TJ --11.057 -1.2 Td -[(with )-84(the )-84(network )-84(printer)]TJ -0.5843 Tc 11.136 0 Td -(.W)Tj -0 Tc 1.742 0 Td -[(e\325ll )-84(use)]TJ -/TT0 1 Tf -3.514 0 Td -(icp)Tj -/T1_1 1 Tf -2.134 0 Td -(and)Tj -/TT0 1 Tf -2.027 0 Td -(ibuf)Tj -/T1_1 1 Tf -2.734 0 Td -[(to )-84(build )-84(the )-84(IPP )-84(header)73(.)]TJ --0.092 Tc -23.288 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-140(use)]TJ -/TT0 1 Tf -3.147 0 Td -(hcp)Tj -/T1_1 1 Tf -2.191 0 Td -(and)Tj -/TT0 1 Tf -2.084 0 Td -(hbuf)Tj -/T1_1 1 Tf -2.79 0 Td -[(to )-140(build )-140(the )-140(HTTP )-140(header)]TJ -0.6404 Tc 11.804 0 Td -(.W)Tj -0.3904 Tc 1.798 0 Td -(en)Tj -0 Tc 1.451 0 Td -[(eed )-140(to )-140(build )-140(the)]TJ --26.652 -1.2 Td -[(headers )-211(in )-211(separate )-211(buf)19(fers. )-461(The)-461(HTTP )-211(header )-211(includes )-211(a )-211(length )-211(\336eld )-211(in)]TJ -0 -1.2 TD -[(ASCII, )-264(and )-264(we )-264(won\325t )-264(know )-264(how )-264(much )-264(space )-264(to )-264(r)18(eserve )-264(for )-264(it )-264(until )-264(we)]TJ -T* -[(assemble )-139(the )-139(IPP )-139(header)]TJ -0.6395 Tc 11.105 0 Td -(.W)Tj -0 Tc 1.798 0 Td -[(e\325ll )-139(use)]TJ -/TT0 1 Tf -3.624 0 Td -(writev)Tj -/T1_1 1 Tf -3.989 0 Td -[(to )-139(write )-139(these )-139(two )-139(headers )-139(in)]TJ --20.516 -1.2 Td -(one call.)Tj --5 -1.6 Td -[([628 )167(\320 )167(640])-668(The )-84(printer )-84(thr)18(ead )-84(r)8(uns )-84(in )-84(an )-84(in\336nite )-84(loop )-84(that )-84(waits )-84(for )-84(jobs )-84(to )-84(transmit )-84(to)]TJ -5 -1.2 Td -[(the )-49(printer)]TJ -0.5491 Tc 4.681 0 Td -(.W)Tj -0.2992 Tc 1.707 0 Td -(eu)Tj -0 Tc 1.381 0 Td -[(se )-49(the)]TJ -/TT0 1 Tf -2.888 0 Td -(joblock)Tj -/T1_1 1 Tf -4.499 0 Td -[(mutex )-49(to )-49(pr)18(otect )-49(the )-49(list )-49(of )-49(jobs.)-549(If )-49(a )-49(job )-49(is)]TJ --15.157 -1.2 Td -[(not )-44(pending, )-44(we )-44(use)]TJ -/TT0 1 Tf -9.4 0 Td -(pthread_cond_wait)Tj -/T1_1 1 Tf -10.494 0 Td -[(to )-44(wait )-44(for )-44(one )-44(to )-44(arrive.)-542(When)]TJ -0.3642 Tc -19.894 -1.2 Td -(aj)Tj -0 Tc 1.098 0 Td -[(ob )-114(is )-114(r)18(eady)111(,)-364(we)-364(r)18(emove )-114(it )-114(fr)18(om )-114(the )-114(list )-114(by )-114(calling)]TJ -/TT0 1 Tf -22.663 0 Td -(remove_job)Tj -/T1_1 1 Tf -0.6143 Tc (.W)Tj -0.3643 Tc 7.772 0 Td -(es)Tj -0 Tc 1.267 0 Td -(till)Tj --32.801 -1.2 Td -[(hold )-174(the )-174(mutex )-174(at )-174(this )-174(point, )-174(so )-174(we )-174(r)18(elease )-174(it )-174(and )-174(call)]TJ -/TT0 1 Tf -25.504 0 Td -(update_jobno)Tj -/T1_1 1 Tf -7.624 0 Td -(to)Tj --33.128 -1.2 Td -(write the next job number to)Tj -/TT0 1 Tf -12.815 0 Td -(/var/spool/printer/jobno)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47097 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.8)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(773)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(532 )-2400(/*)]TJ -0 -1.189 TD -[(533 )-3000(*)-600(Position the index file and record the offset.)]TJ -T* -[(534 )-3000(*/)]TJ -T* -[(535 )-2400(if)-600(\(\(db->idxoff = lseek\(db->idxfd, offset, whence\)\) == -1\))]TJ -T* -[(536 )-4800(err_dump\("_db_writeidx:)-600(lseek error"\);)]TJ -0 -2.021 TD -[(537 )-2400(iov[0].iov_base)]TJ -0.6 Tc 14.4 0 Td -(=a)Tj -0 Tc 1.8 0 Td -(sciiptrlen;)Tj --16.2 -1.189 Td -[(538 )-2400(iov[0].iov_len)]TJ -0.6 Tc 14.4 0 Td -(=P)Tj -0 Tc 1.8 0 Td -(TR_SZ + IDXLEN_SZ;)Tj --16.2 -1.189 Td -[(539 )-2400(iov[1].iov_base)]TJ -0.6 Tc 14.4 0 Td -(=d)Tj -0 Tc 1.8 0 Td -(b->idxbuf;)Tj --16.2 -1.189 Td -[(540 )-2400(iov[1].iov_len)]TJ -0.6 Tc 14.4 0 Td -(=l)Tj -0 Tc 1.8 0 Td -(en;)Tj --16.2 -1.189 Td -[(541 )-2400(if)-600(\(writev\(db->idxfd, &iov[0], 2\) != PTR_SZ + IDXLEN_SZ + len\))]TJ -0 -1.189 TD -[(542 )-4800(err_dump\("_db_writeidx:)-600(writev error of index record"\);)]TJ -0 -2.021 TD -[(543 )-2400(if)-600(\(whence == SEEK_END\))]TJ -0 -1.189 TD -[(544 )-4800(if)-600(\(un_lock\(db->idxfd, \(\(db->nhash+1\)*PTR_SZ\)+1,)]TJ -T* -(545 )Tj -8.4 0 Td -[(SEEK_SET,)-600(0\) < 0\))]TJ --8.4 -1.189 Td -(546 )Tj -9.6 0 Td -[(err_dump\("_db_writeidx:)-600(un_lock error"\);)]TJ --9.6 -1.189 Td -[(547 )-1200(})]TJ -0 -2.021 TD -[(548 )-1200(/*)]TJ -0 -1.189 TD -[(549 )-1800(*)-600(Write a chain ptr field somewhere in the index file:)]TJ -T* -[(550 )-1800(*)-600(the free list, the hash table, or in an index record.)]TJ -T* -[(551 )-1800(*/)]TJ -T* -[(552 )-1200(static)-600(void)]TJ -T* -[(553 )-1200(_db_writeptr\(DB)-600(*db, off_t offset, off_t ptrval\))]TJ -0 -1.189 TD -[(554 )-1200({)]TJ -0 -1.189 TD -[(555 )-2400(char)-2400(asciiptr[PTR_SZ + 1];)]TJ -0 -2.021 TD -[(556 )-2400(if)-600(\(ptrval < 0 || ptrval > PTR_MAX\))]TJ -0 -1.189 TD -[(557 )-4800(err_quit\("_db_writeptr:)-600(invalid ptr: %d", ptrval\);)]TJ -T* -[(558 )-2400(sprintf\(asciiptr,)-600("%*lld", PTR_SZ, \(long long\)ptrval\);)]TJ -0 -2.021 TD -[(559 )-2400(if)-600(\(lseek\(db->idxfd, offset, SEEK_SET\) == -1\))]TJ -0 -1.189 TD -[(560 )-4800(err_dump\("_db_writeptr:)-600(lseek error to ptr field"\);)]TJ -0 -1.189 TD -[(561 )-2400(if)-600(\(write\(db->idxfd, asciiptr, PTR_SZ\) != PTR_SZ\))]TJ -0 -1.189 TD -[(562 )-4800(err_dump\("_db_writeptr:)-600(write error of ptr field"\);)]TJ -0 -1.189 TD -[(563 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2855.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 261.5166 Tm -[([532 )167(\320 )167(547])]TJ --0.092 Tc 5 0 Td -[(We )-293(s)]TJ -0 Tc 2.17 0 Td -[(eek )-109(to )-109(the )-109(location )-109(wher)18(e)-359(we)-359(want )-109(to )-109(write )-109(the )-109(index )-109(r)18(ecor)]TJ -0.359 Tc 26.84 0 Td -(da)Tj -0 Tc 1.47 0 Td -[(nd )-109(save)]TJ --30.48 -1.2 Td -[(this )-79(of)18(fset )-79(in )-79(the)]TJ -/TT0 1 Tf -7.623 0 Td -(idxoff)Tj -/T1_0 1 Tf -3.929 0 Td -[(\336eld )-79(of )-79(the)]TJ -/TT0 1 Tf -5.24 0 Td -(DB)Tj -/T1_0 1 Tf -1.529 0 Td -[(str)8(uctur)18(e. )-329(Since)-329(we )-79(built )-79(the )-79(index)]TJ --0.018 Tc -18.321 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(d)-279(in)-279(two )-29(separate )-29(buf)18(fers, )-29(we )-29(use)]TJ -/TT0 1 Tf -16.386 0 Td -(writev)Tj -/T1_0 1 Tf -3.879 0 Td -[(to )-29(stor)]TJ -0.2791 Tc 2.824 0 Td -(ei)Tj -0 Tc 1.049 0 Td -[(t)-279(in)-279(the )-29(index )-29(\336le.)-530(If)]TJ --24.994 -1.2 Td -[(we )-277(wer)]TJ -0.5267 Tc 3.53 0 Td -(ea)Tj -0 Tc 1.506 0 Td -[(ppending )-277(to )-277(the )-277(\336le, )-277(we )-277(r)20(elease )-277(the )-277(lock )-277(we )-277(acquir)18(ed )-277(befor)20(e)]TJ --5.035 -1.2 Td -[(seeking. )-399(This)-399(makes )-149(the )-149(seek )-149(and )-149(the )-149(write )-149(an )-149(atomic )-149(operation )-149(fr)19(om )-149(the)]TJ -0 -1.2 TD -[(perspective )-18(of )-18(concurr)18(ently )-18(r)8(unning )-18(pr)16(ocesses )-18(appending )-18(new )-18(r)17(ecor)18(ds )-18(to )-18(the)]TJ -0 -1.2 Td -(same database.)Tj --5 -1.6 Td -[([548 )167(\320 )167(563])]TJ -/TT0 1 Tf -5 0 Td -(_db_writeptr)Tj -/T1_0 1 Tf -7.754 0 Td -[(is )-304(used )-304(to )-304(write )-304(a )-304(chain )-304(pointer )-304(to )-304(the )-304(index )-304(\336le.)]TJ --0.092 Tc 24.858 0 Td -(We)Tj -0 Tc -32.613 -1.2 Td -[(validate )-53(that )-53(the )-53(chain )-53(pointer )-53(is )-53(within )-53(bounds, )-53(then )-53(convert )-53(it )-53(to )-53(an )-53(ASCII)]TJ -T* -[(string. )-250(W)]TJ -0.25 Tc 4.232 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(eek to the speci\336ed of)18(fset in the index \336le and write the pointer)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47098 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(660)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(if \(writev\(csfd, &iov[0], 3\) != len\) {)Tj -2.4 -1.189 Td -(err_ret\("writev error"\);)Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/* read back descriptor; returned errors handled by write\(\) */)Tj -0 -1.189 TD -(return\(recv_fd\(csfd, write\)\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5938.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 243.7387 577.7397 Tm -(Figure 17.25)Tj -/T1_1 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(csopen)Tj -/T1_1 1 Tf -3.85 0 Td -(function, version 2)Tj -9.9988 0 0 9.9988 129.5848 553.7425 Tm -[(The pr)18(otocol fr)18(om the client to the server r)18(emains the same.)]TJ -1.8 -1.2 Td -[(Next, )-208(we\325ll )-208(look )-208(at )-208(the )-208(server)]TJ -0.7083 Tc 13.682 0 Td -(.T)Tj -0 Tc 1.571 0 Td -[(he )-208(header)]TJ -/TT0 1 Tf -5.024 0 Td -(opend.h)Tj -/T1_1 1 Tf -4.658 0 Td -(\(Figur)Tj -0.4584 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.437 0 Td -[(7.26\) )-208(includes )-208(the)]TJ --30.888 -1.2 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(dh)Tj -0 Tc 1.443 0 Td -[(eaders and declar)18(es the global variables and the function pr)18(ototypes.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5226.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 513.0156 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -(#define CS_OPEN "/tmp/opend.socket" /* well-known name */)Tj -0 -1.189 TD -(#define CL_OPEN "open")Tj -21.6 0 Td -(/* client\325s request for server */)Tj --21.6 -2.14 Td -[(extern int)-1800(debug; )-2400(/*)-600(nonzero if interactive \(not daemon\) */)]TJ -T* -[(extern char)-1200(errmsg[]; )-600(/*)-600(error message string to return to client */)]TJ -T* -[(extern int)-1800(oflag; )-2400(/*)-600(open flag: O_xxx ... */)]TJ -T* -[(extern char *pathname;)-1200(/* of file to open for client */)]TJ -0 -2.14 TD -[(typedef struct {)-2400(/* one Client struct per connected client */)]TJ -1.2 -1.189 Td -[(int )-1200(fd;)]TJ -10.8 0 Td -(/* fd, or -1 if available */)Tj --10.8 -1.189 Td -(uid_t uid;)Tj -0.6 Tc -1.2 -1.189 Td -(}C)Tj -0 Tc 1.8 0 Td -(lient;)Tj --1.8 -2.14 Td -[(extern Client)-1800(*client; )-4200(/*)-600(ptr to malloc\325ed array */)]TJ -0 -1.189 TD -[(extern int)-4200(client_size; )-1200(/*)]TJ -0.6 Tc 21 0 Td -(#e)Tj -0 Tc 1.8 0 Td -(ntries in client[] array */)Tj --22.8 -2.14 Td -[(int )-3000(cli_args\(int,)-600(char **\);)]TJ -T* -[(int )-3000(client_add\(int,)-600(uid_t\);)]TJ -0 -1.189 TD -[(void )-2400(client_del\(int\);)]TJ -0 -1.189 TD -[(void )-2400(loop\(void\);)]TJ -T* -[(void )-2400(handle_request\(char)-600(*, int, int, uid_t\);)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2729.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 244.2494 256.8453 Tm -(Figure 17.26)Tj -/T1_1 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(opend.h)Tj -/T1_1 1 Tf -4.45 0 Td -(header)Tj -0.25 Tc 2.972 0 Td -(,v)Tj -0 Tc 1.065 0 Td -(ersion 2)Tj -9.9976 0 0 9.9976 147.5641 232.8511 Tm -[(Since )-314(this )-314(server )-314(handles )-314(all )-314(clients, )-314(it )-314(must )-314(maintain )-314(the )-314(state )-314(of )-314(each )-314(client)]TJ --1.8 -1.2 Td -[(connection. )-499(This)-500(is )-250(done )-250(with )-250(the)]TJ -/TT0 1 Tf -16.582 0 Td -(client)Tj -/T1_1 1 Tf -4.1 0 Td -[(array )-250(declar)18(ed )-250(in )-250(the)]TJ -/TT0 1 Tf -10.396 0 Td -(opend.h)Tj -/T1_1 1 Tf -4.7 0 Td -[(header)74(.)]TJ --35.778 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(7.27 de\336nes thr)18(ee functions that manipulate this array)111(.)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2017.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9973 0 0 8.9973 129.5611 192.1483 Tm -[(#include )-1800("opend.h")]TJ -0 -2.14 TD -[(#define NALLOC)-1200(10 )-3000(/*)]TJ -0.6 Tc 16.2 0 Td -(#c)Tj -0 Tc 1.8 0 Td -(lient structs to alloc/realloc for */)Tj --18 -2.14 Td -(static void)Tj -0 -1.189 TD -[(client_alloc\(void\) )-3000(/*)-600(alloc more entries in the client[] array */)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47099 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.5)]TJ -31.183 0 Td -[(An )-250(Open )-250(Server)]TJ -0.5 Tc 7.572 0 Td -(,V)Tj -0 Tc 1.361 0 Td -[(ersion )-250(1)]TJ -/T1_1 1 Tf -5.717 0 Td -(655)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(char )Tj -9.6 0 Td -(buf[10];)Tj --9.6 -1.189 Td -[(struct iovec)-2400(iov[3];)]TJ -0 -1.189 TD -[(static int)-3600(fd[2] = { -1, -1 };)]TJ -0 -1.902 TD -[(if \(fd[0] < 0\) {)-2400(/* fork/exec our open server first time */)]TJ -2.4 -1.189 Td -(if \(fd_pipe\(fd\) < 0\) {)Tj -2.4 -1.189 Td -(err_ret\("fd_pipe error"\);)Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_ret\("fork error"\);)Tj -T* -(return\(-1\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(pid == 0\) {)-3600(/* child */)]TJ -0.6 -1.189 Td -(close\(fd[0]\);)Tj -T* -(if \(fd[1] != STDIN_FILENO &&)Tj -1.2 -1.189 Td -(dup2\(fd[1], STDIN_FILENO\) != STDIN_FILENO\))Tj -1.2 -1.189 Td -(err_sys\("dup2 error to stdin"\);)Tj --2.4 -1.189 Td -(if \(fd[1] != STDOUT_FILENO &&)Tj -1.2 -1.189 Td -(dup2\(fd[1], STDOUT_FILENO\) != STDOUT_FILENO\))Tj -1.2 -1.189 Td -(err_sys\("dup2 error to stdout"\);)Tj --2.4 -1.189 Td -(if \(execl\("./opend", "opend", \(char *\)0\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("execl error"\);)Tj --4.8 -1.189 Td -(})Tj -T* -(close\(fd[1]\); )Tj -16.8 0 Td -[(/*)-600(parent */)]TJ --19.2 -1.189 Td -(})Tj -T* -[(sprintf\(buf, " %d", oflag\);)-3000(/* oflag to ascii */)]TJ -0 -1.189 TD -[(iov[0].iov_base = CL_OPEN " ";)-3600(/* string concatenation */)]TJ -0 -1.189 TD -[(iov[0].iov_len )-600(=)-600(strlen\(CL_OPEN\) + 1;)]TJ -T* -(iov[1].iov_base = name;)Tj -T* -[(iov[1].iov_len )-600(=)-600(strlen\(name\);)]TJ -T* -(iov[2].iov_base = buf;)Tj -T* -[(iov[2].iov_len )-600(=)-600(strlen\(buf\) + 1;)-1200(/* +1 for null at end of buf */)]TJ -T* -(len = iov[0].iov_len + iov[1].iov_len + iov[2].iov_len;)Tj -T* -(if \(writev\(fd[0], &iov[0], 3\) != len\) {)Tj -2.4 -1.189 Td -(err_ret\("writev error"\);)Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(/* read descriptor, returned errors handled by write\(\) */)Tj -0 -1.189 TD -(return\(recv_fd\(fd[0], write\)\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2460.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 243.7387 230.0314 Tm -(Figure 17.19)Tj -/T1_0 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(csopen)Tj -/T1_0 1 Tf -3.85 0 Td -(function, version 1)Tj -9.9988 0 0 9.9988 147.5827 206.0343 Tm -[(The )-155(child )-155(closes )-155(one )-155(end )-155(of )-155(the )-155(fd-pipe, )-155(and )-155(the )-155(par)17(ent )-155(closes )-155(the )-155(other)]TJ -0.6552 Tc 33.006 0 Td -(.F)Tj -0 Tc 1.461 0 Td -[(or )-155(the)]TJ --36.267 -1.2 Td -[(server )-68(that )-68(it )-68(executes, )-68(the )-68(child )-68(also )-68(duplicates )-68(its )-68(end )-68(of )-68(the )-68(fd-pipe )-68(onto )-68(its )-68(standar)14(d)]TJ -0 -1.2 TD -[(input )-296(and )-296(standar)]TJ -0.5464 Tc 8.509 0 Td -(do)Tj -0 Tc 1.703 0 Td -[(utput. )-546(\(Another)-547(option )-296(would )-296(have )-296(been )-296(to )-296(pass )-296(the )-296(ASCII)]TJ --0.018 Tc -10.212 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(pr)18(esentation of the descriptor)]TJ -/TT0 1 Tf -13.291 0 Td -(fd[1])Tj -/T1_0 1 Tf -3.25 0 Td -[(as an ar)18(gument to the server)74(.\))]TJ --15.597 -1.2 Td -[(The )-4(par)18(ent )-4(sends )-4(to )-4(the )-4(server )-4(the )-4(r)19(equest )-4(containing )-4(the )-4(pathname )-4(and )-4(open )-4(mode.)]TJ --1.8 -1.2 Td -(Finally)Tj -0.2504 Tc 2.956 0 Td -(,t)Tj -0 Tc 0.826 0 Td -[(he par)18(ent calls)]TJ -/TT0 1 Tf -6.627 0 Td -(recv_fd)Tj -/T1_0 1 Tf -4.45 0 Td -[(to r)18(eturn either the descriptor or an err)15(or)]TJ -0.5005 Tc 17.979 0 Td -(.I)Tj -0 Tc 1.087 0 Td -[(f)-250(an)-250(e)-1(rr)18(or is)]TJ --0.018 Tc -33.926 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turned by the server)74(,)]TJ -/TT0 1 Tf -9.405 0 Td -(write)Tj -/T1_0 1 Tf -3.25 0 Td -(is called to output the message to standar)Tj -0.25 Tc 18.282 0 Td -(de)Tj -0 Tc 1.34 0 Td -[(rr)18(or)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47100 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(644)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(socket )-18(until )-18(it )-18(encounters )-18(a )-18(null )-18(byte.)-519(Any )-18(characters )-18(r)18(ead )-18(up )-18(to )-18(this )-18(point )-18(ar)]TJ -0.2681 Tc 34.074 0 Td -(ep)Tj -0 Tc 1.348 0 Td -[(assed )-18(to)]TJ --35.422 -1.2 Td -[(the )-141(caller)-74(\325s)]TJ -/T1_2 1 Tf -5.346 0 Td -(userfunc)Tj -/T1_1 1 Tf -0.6414 Tc (.T)Tj -0 Tc 5.024 0 Td -[(he )-141(next )-141(byte )-141(r)18(ead )-141(by)]TJ -/TT0 1 Tf -9.911 0 Td -(recv_fd)Tj -/T1_1 1 Tf -4.591 0 Td -[(is )-141(the )-141(status )-141(byte.)-641(If )-141(the )-141(status)]TJ --24.873 -1.2 Td -[(byte is 0, a descriptor was passed; otherwise, ther)18(e)-250(is)-250(no)-250(descriptor to r)18(eceive.)]TJ -1.8 -1.2 Td -[(The )-36(function)]TJ -/TT0 1 Tf -5.953 0 Td -(send_err)Tj -/T1_1 1 Tf -5.086 0 Td -[(calls )-36(the)]TJ -/TT0 1 Tf -3.908 0 Td -(send_fd)Tj -/T1_1 1 Tf -4.486 0 Td -[(function )-36(after )-36(writing )-36(the )-36(err)18(or )-36(message)]TJ --21.233 -1.2 Td -[(to the socket.)-500(This is shown in Figur)]TJ -0.25 Tc 16.133 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(7.12.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6138.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 604.2265 Tm -(#include "apue.h")Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*U)Tj -0 Tc 1.8 0 Td -(sed when we had planned to send an fd using send_fd\(\),)Tj -0.6 Tc -1.8 -1.189 Td -(*b)Tj -0 Tc 1.8 0 Td -[(ut encountered an error instead.)-1200(We send the error back)]TJ -0.6 Tc -1.8 -1.189 Td -(*u)Tj -0 Tc 1.8 0 Td -(sing the send_fd\(\)/recv_fd\(\) protocol.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(int)Tj -0 -1.189 TD -(send_err\(int fd, int errcode, const char *msg\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(n;)]TJ -0 -1.902 TD -(if \(\(n = strlen\(msg\)\) > 0\))Tj -2.4 -1.189 Td -[(if \(writen\(fd, msg, n\) != n\))-2400(/* send the error message */)]TJ -2.4 -1.189 Td -(return\(-1\);)Tj --4.8 -1.902 Td -(if \(errcode >= 0\))Tj -2.4 -1.189 Td -[(errcode = -1;)-1800(/* must be negative */)]TJ --2.4 -1.902 Td -(if \(send_fd\(fd, errcode\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.902 Td -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3748.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 257.0497 358.7334 Tm -(Figure 17.12)Tj -/T1_1 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(send_err)Tj -/T1_1 1 Tf -5.05 0 Td -(function)Tj --0.092 Tc 9.9982 0 0 9.9982 147.5738 334.7377 Tm -[(To )-312(e)]TJ -0 Tc 1.924 0 Td -[(xchange )-128(\336le )-128(descriptors )-128(using )-128(UNIX )-128(domain )-128(sockets, )-128(we )-128(call )-128(the)]TJ -/TT0 1 Tf -29.91 0 Td -(sendmsg)Tj -/T1_1 1 Tf -4.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj --38.667 -1.24 Td -(and)Tj -/TT0 1 Tf -2.106 0 Td -(recvmsg)Tj -/T1_1 1 Tf -4.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.746 -0.04 Td -[(functions )-163(\(Section )-163(16.5\).)-663(Both )-163(functions )-163(take )-163(a )-163(pointer )-163(to )-163(a)]TJ -/TT0 1 Tf -27.516 0 Td -(msghdr)Tj -/T1_1 1 Tf --35.4 -1.2 Td -[(str)8(uctur)]TJ -0.2995 Tc 3.49 0 Td -(et)Tj -0 Tc 1.104 0 Td -[(hat )-50(contains )-50(all )-50(the )-50(information )-50(on )-50(what )-50(to )-50(send )-50(or )-50(r)22(eceive. )-300(The)-299(str)8(uctur)]TJ -0.2996 Tc 32.499 0 Td -(eo)Tj -0 Tc 1.325 0 Td -(n)Tj --38.418 -1.2 Td -(your system might look similar to the following:)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.5742 283.1169 Tm -(struct msghdr {)Tj -2.4 -1.189 Td -[(void )-4800(*msg_name;)-4800(/* optional address */)]TJ -0 -1.189 TD -[(socklen_t )-2400(msg_namelen; )-2400(/*)-600(address size in bytes */)]TJ -T* -(struct iovec *msg_iov;)Tj -18.6 0 Td -(/* array of I/O buffers */)Tj --18.6 -1.189 Td -(int )Tj -8.4 0 Td -[(msg_iovlen;)-3600(/* number of elements in array */)]TJ --8.4 -1.189 Td -[(void )-4800(*msg_control;)-3000(/* ancillary data */)]TJ -T* -[(socklen_t )-2400(msg_controllen;)-1200(/* number of ancillary bytes */)]TJ -T* -(int )Tj -8.4 0 Td -[(msg_flags;)-4200(/* flags for received message */)]TJ --10.8 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9982 0 0 9.9982 147.5742 180.6053 Tm -[(The )-231(\336rst )-231(two )-231(elements )-231(ar)]TJ -0.4808 Tc 11.874 0 Td -(en)Tj -0 Tc 1.542 0 Td -[(ormally )-231(used )-231(for )-231(sending )-231(datagrams )-231(on )-231(a )-231(network)]TJ --15.215 -1.2 Td -[(connection, )-153(wher)]TJ -0.4028 Tc 7.747 0 Td -(et)Tj -0 Tc 1.208 0 Td -[(he )-153(destination )-153(addr)18(ess )-153(can )-153(be )-153(speci\336ed )-153(with )-153(each )-153(datagram.)-651(The)]TJ --8.955 -1.2 Td -[(next )-61(two )-61(elements )-61(allow )-61(us )-61(to )-61(specify )-61(an )-61(array )-61(of )-61(buf)15(fers )-61(\(scatter )-61(r)18(ead )-61(or )-61(gather )-61(write\),)]TJ -0 -1.2 TD -[(as )-101(we )-101(described )-101(for )-101(the)]TJ -/TT0 1 Tf -10.938 0 Td -(readv)Tj -/T1_1 1 Tf -3.351 0 Td -(and)Tj -/TT0 1 Tf -2.044 0 Td -(writev)Tj -/T1_1 1 Tf -3.951 0 Td -[(functions )-101(\(Section )-101(14.6\).)-600(The)]TJ -/TT0 1 Tf -13.317 0 Td -(msg_flags)Tj -/T1_1 1 Tf --33.6 -1.2 Td -[(\336eld contains \337ags describing the message r)18(eceived, as summarized in Figur)]TJ -0.25 Tc 33.751 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(6.15.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47101 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.5)]TJ -37.639 0 Td -[(Data )-250(T)90(ransfer)]TJ -/T1_1 1 Tf -8.231 0 Td -[(61)37(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(the )-46(destination )-46(addr)18(ess )-46(is )-46(\336rst )-46(set )-46(by )-46(calling)]TJ -/TT0 1 Tf -19.9 0 Td -(connect)Tj -/T1_0 1 Tf -0.2963 Tc (,s)Tj -0 Tc 5.17 0 Td -(o)Tj -/TT0 1 Tf -0.842 0 Td -(sendto)Tj -/T1_0 1 Tf -3.896 0 Td -[(gives )-46(us )-46(an )-46(alternate)]TJ --29.809 -1.2 Td -(way to send a message.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1188.25 6382.25 cm -0 0 m -3995 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 364.7682 630.1244 Tm -[(Fr)18(eeBSD )-1416(Linux)-1382(Mac OS X)-1198(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-2993(3.2.0)-2618(10.6.8 )-2868(10)]TJ --28.579 0.625 Td -(Flag)Tj -11.425 0 Td -(Description)Tj -11.076 0 Td -(POSIX.1)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1188.25 6162.25 cm -0 0 m -3995 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1188.25 6142.25 cm -0 0 m -3995 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 122.7779 606.0909 Tm -(MSG_CONFIRM)Tj -/T1_0 1 Tf -36.717 0 Td -(\245)Tj --27.417 0 Td -[(Pr)18(ovide feedback to the link layer)]TJ -1.35 -1.25 Td -[(to keep addr)18(ess mapping valid.)]TJ -/TT0 1 Tf --10.65 -1.25 Td -(MSG_DONTROUTE)Tj -/T1_0 1 Tf -4.262 Tc 31.849 0 Td -(\245\245\245\245)Tj -0 Tc -22.549 0 Td -[(Don\325t r)18(oute packet outside of local)]TJ -1.35 -1.25 Td -(network.)Tj -/TT0 1 Tf --10.65 -1.25 Td -(MSG_DONTWAIT)Tj -/T1_0 1 Tf -4.262 Tc 31.849 0 Td -(\245\245\245\245)Tj -0 Tc -22.549 0 Td -(Enable nonblocking operation)Tj -1.35 -1.25 Td -(\(equivalent to using)Tj -/TT0 1 Tf -0 -1.25 TD -(O_NONBLOCK)Tj -/T1_0 1 Tf -(\).)Tj -/TT0 1 Tf --10.65 -1.25 Td -(MSG_EOF)Tj -/T1_0 1 Tf -9.13 Tc 31.849 0 Td -(\245\245)Tj -0 Tc -22.549 0 Td -(Shut the sender side of the socket)Tj -1.35 -1.25 Td -(down after sending data.)Tj -/TT0 1 Tf --10.65 -1.25 Td -(MSG_EOR)Tj -/T1_0 1 Tf -4.262 Tc 26.981 0 Td -(\245\245\245\245\245)Tj -0 Tc -17.681 0 Td -[(Mark the end of the r)18(ecor)]TJ -0.25 Tc 11.195 0 Td -(di)Tj -0 Tc 1.152 0 Td -(f)Tj --10.997 -1.25 Td -[(supported by pr)18(otocol.)]TJ -/TT0 1 Tf --10.65 -1.25 Td -(MSG_MORE)Tj -/T1_0 1 Tf -36.717 0 Td -(\245)Tj --27.417 0 Td -(Delay sending the packet to allow)Tj -1.35 -1.25 Td -(mor)Tj -0.25 Tc 1.806 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(ata to be written.)Tj -/TT0 1 Tf --13.796 -1.25 Td -(MSG_NOSIGNAL)Tj -/T1_0 1 Tf -4.262 Tc 26.981 0 Td -(\245\245\245)Tj -0 Tc -17.681 0 Td -(Don\325t generate)Tj -/TT0 1 Tf -6.802 0 Td -(SIGPIPE)Tj -/T1_0 1 Tf -4.45 0 Td -(when)Tj --9.902 -1.25 Td -(writing to an unconnected)Tj -T* -(socket.)Tj -/TT0 1 Tf --10.65 -1.25 Td -(MSG_OOB)Tj -/T1_0 1 Tf -4.262 Tc 26.981 0 Td -(\245\245\245\245\245)Tj -0 Tc -17.681 0 Td -(Send out-of-band data if)Tj -1.35 -1.25 Td -[(supported by pr)18(otocol \(see)]TJ -T* -(Section 16.7\).)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1188.25 4222.25 cm -0 0 m -3995 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4774.25 4222.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4384.25 4222.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3995.25 4222.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3595.25 4222.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3615.25 4222.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3216.25 4222.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1912.25 4222.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5183.25 4222.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1188.25 4222.25 cm -0 0 m -0 2160 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 229.5569 404.103 Tm -(Figure 16.13)Tj -/T1_0 1 Tf -6.195 0 Td -(Flags used with)Tj -/TT0 1 Tf -7.227 0 Td -(send)Tj -/T1_0 1 Tf -2.65 0 Td -(socket calls)Tj --0.092 Tc 9.9976 0 0 9.9976 147.5648 378.909 Tm -[(We )-466(h)]TJ -0 Tc 2.501 0 Td -[(ave )-282(one )-282(mor)]TJ -0.5318 Tc 6.021 0 Td -(ec)Tj -0 Tc 1.455 0 Td -[(hoice )-282(when )-282(transmitting )-282(data )-282(over )-282(a )-282(socket.)]TJ --0.092 Tc 21.721 0 Td -[(We )-466(c)]TJ -0 Tc 2.363 0 Td -[(an )-282(call)]TJ -/TT0 1 Tf --35.86 -1.2 Td -(sendmsg)Tj -/T1_0 1 Tf -4.563 0 Td -[(with )-113(a)]TJ -/TT0 1 Tf -3.26 0 Td -(msghdr)Tj -/T1_0 1 Tf -3.963 0 Td -[(str)8(uctur)18(e)-363(to)-363(s)-1(pecify )-113(multiple )-113(buf)18(fers )-113(fr)18(om )-113(which )-113(to )-113(transmit)]TJ --11.787 -1.2 Td -(data, similar to the)Tj -/TT0 1 Tf -8.521 0 Td -(writev)Tj -/T1_0 1 Tf -3.85 0 Td -(function \(Section 14.6\).)Tj -/TT0 1 Tf -8.9978 0 0 8.9978 147.5642 338.2188 Tm -(#include )Tj -0 -1.902 TD -(ssize_t sendmsg\(int)Tj -/T1_2 1 Tf -12 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.262 0 Td -(onst struct msghdr *)Tj -/T1_2 1 Tf -(msg)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 15.467 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --15.451 -1.902 Td -(Returns: number of bytes sent if OK,)Tj -/TT1 1 Tf -16.386 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2995.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.997 0 0 9.997 147.5557 285.9742 Tm -(POSIX.1 de\336nes the)Tj -/TT0 1 Tf -8.986 0 Td -(msghdr)Tj -/T1_0 1 Tf -3.85 0 Td -[(str)8(uctur)18(e)-250(to)-250(have at least the following members:)]TJ -/TT0 1 Tf -8.9973 0 0 8.9973 147.556 268.2092 Tm -(struct msghdr {)Tj -1.2 -1.189 Td -(void )Tj -8.4 0 Td -[(*msg_name;)-4800(/* optional address */)]TJ --8.4 -1.189 Td -[(socklen_t )-3000(msg_namelen;)-3000(/* address size in bytes */)]TJ -0 -1.189 TD -[(struct iovec)-1200(*msg_iov; )-4800(/*)-600(array of I/O buffers */)]TJ -0 -1.189 TD -(int )Tj -9 0 Td -[(msg_iovlen;)-3600(/* number of elements in array */)]TJ --9 -1.189 Td -(void )Tj -8.4 0 Td -[(*msg_control;)-3000(/* ancillary data */)]TJ --8.4 -1.189 Td -[(socklen_t )-3000(msg_controllen;)-1200(/* number of ancillary bytes */)]TJ -T* -(int )Tj -9 0 Td -[(msg_flags;)-4200(/* flags for received message */)]TJ --9 -1.189 Td -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --1.2 -1.189 Td -(};)Tj -/T1_0 1 Tf --0.092 Tc 9.997 0 0 9.997 129.5614 144.3171 Tm -[(We )-409(s)]TJ -0 Tc 2.286 0 Td -[(aw )-225(the)]TJ -/TT0 1 Tf -3.671 0 Td -(iovec)Tj -/T1_0 1 Tf -3.475 0 Td -[(str)8(uctur)18(e)-475(in)-475(Section )-225(14.6.)]TJ --0.092 Tc 12.184 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-225(see )-225(the )-225(use )-225(of )-225(ancillary )-225(data )-225(in)]TJ --23.002 -1.2 Td -(Section 17.4.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47102 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(592)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(to )-234(cr)18(eate )-234(a )-234(raw )-234(socket )-234(to )-234(pr)18(event )-234(malicious )-234(applications )-234(fr)16(om )-234(cr)18(eating )-234(packets )-234(that)]TJ -0 -1.2 TD -(might bypass established security mechanisms.)Tj -1.8 -1.2 Td -(Calling)Tj -/TT0 1 Tf -3.574 0 Td -(socket)Tj -/T1_1 1 Tf -3.954 0 Td -[(is )-104(similar )-104(to )-104(calling)]TJ -/TT0 1 Tf -9.035 0 Td -(open)Tj -/T1_1 1 Tf -0.6045 Tc (.I)Tj -0.3545 Tc 3.591 0 Td -(nb)Tj -0 Tc 1.489 0 Td -[(oth )-104(cases, )-104(you )-104(get )-104(a )-104(\336le )-104(descriptor)]TJ --23.445 -1.2 Td -[(that )-64(can )-64(be )-64(used )-64(for )-64(I/O.)-564(When )-64(you )-64(ar)]TJ -0.3143 Tc 17.651 0 Td -(ed)Tj -0 Tc 1.404 0 Td -[(one )-64(using )-64(the )-64(\336le )-64(descriptor)]TJ -0.3143 Tc 12.52 0 Td -(,y)Tj -0 Tc 1.12 0 Td -[(ou )-64(call)]TJ -/TT0 1 Tf -3.304 0 Td -(close)Tj -/T1_1 1 Tf --36 -1.2 Td -[(to r)18(elinquish access to the \336le or socket and fr)18(ee up the \336le descriptor for r)18(euse.)]TJ -1.8 -1.2 Td -[(Although )-192(a )-192(socket )-192(descriptor )-192(is )-192(actually )-192(a )-192(\336le )-192(descriptor)]TJ -0.4419 Tc 26.124 0 Td -(,y)Tj -0 Tc 1.248 0 Td -[(ou )-192(can\325t )-192(use )-192(a )-192(socket)]TJ --29.172 -1.2 Td -[(descriptor )-252(with )-252(every )-252(function )-252(that )-252(accepts )-252(a )-252(\336le )-252(descriptor )-252(ar)22(gument. )-501(Figur)]TJ -0.5015 Tc 36.27 0 Td -(e1)Tj -0 Tc 1.481 0 Td -(6.4)Tj --37.75 -1.2 Td -[(summarizes )-312(most )-312(of )-312(the )-312(functions )-312(we\325ve )-312(described )-312(so )-312(far )-312(that )-312(ar)]TJ -0.5621 Tc 31.31 0 Td -(eu)Tj -0 Tc 1.644 0 Td -[(sed )-312(with )-312(\336le)]TJ --32.954 -1.2 Td -[(descriptors )-412(and )-412(describes )-412(how )-412(they )-412(behave )-412(when )-412(used )-412(with )-412(socket )-412(descriptors.)]TJ -T* -[(Unspeci\336ed )-297(and )-297(implementation-de\336ned )-297(behavior )-297(usually )-297(means )-297(that )-297(the )-297(function)]TJ -T* -[(doesn\325t )-79(work )-79(with )-79(socket )-79(descriptors.)-579(For )-79(example,)]TJ -/TT0 1 Tf -23.623 0 Td -(lseek)Tj -/T1_1 1 Tf -3.329 0 Td -[(doesn\325t )-79(work )-79(with )-79(sockets,)]TJ --26.953 -1.2 Td -[(since sockets don\325t support the concept of a \336le of)18(fset.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1357.25 5158.25 cm -0 0 m -3777 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 184.0579 507.7391 Tm -(Function )Tj -21.181 0 Td -[(Behavior)-250(with socket)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1357.25 5038.25 cm -0 0 m -3777 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1357.25 5018.25 cm -0 0 m -3777 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 139.7388 493.7111 Tm -(close)Tj -/T1_1 1 Tf -3.25 0 Td -(\(Section 3.3\))Tj -13.259 0 Td -(deallocates the socket)Tj -/TT0 1 Tf --16.509 -1.25 Td -(dup)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.3 0 Td -(dup2)Tj -/T1_1 1 Tf -2.65 0 Td -(\(Section 3.12\))Tj -11.559 0 Td -(duplicates the \336le descriptor as normal)Tj -/TT0 1 Tf --16.509 -1.25 Td -(fchdir)Tj -/T1_1 1 Tf -3.85 0 Td -(\(Section 4.23\))Tj -12.659 0 Td -(fails with)Tj -/TT0 1 Tf -4.372 0 Td -(errno)Tj -/T1_1 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(ENOTDIR)Tj --26.732 -1.25 Td -(fchmod)Tj -/T1_1 1 Tf -3.85 0 Td -(\(Section 4.9\))Tj -12.659 0 Td -(unspeci\336ed)Tj -/TT0 1 Tf --16.509 -1.25 Td -(fchown)Tj -/T1_1 1 Tf -3.85 0 Td -[(\(Section 4.1)55(1\))]TJ -12.659 0 Td -(implementation de\336ned)Tj -/TT0 1 Tf --16.509 -1.25 Td -(fcntl)Tj -/T1_1 1 Tf -3.25 0 Td -(\(Section 3.14\))Tj -13.259 0 Td -(some commands supported, including)Tj -/TT0 1 Tf -17.292 0 Td -(F_DUPFD)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --15.942 -1.25 Td -(F_DUPFD_CLOEXEC)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -9.5 0 Td -(F_GETFD)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.7 0 Td -(F_GETFL)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.7 0 Td -(F_GETOWN)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --18.9 -1.25 Td -(F_SETFD)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.7 0 Td -(F_SETFL)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 5.2 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(F_SETOWN)Tj --29.202 -1.25 Td -(fdatasync)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -5.9 0 Td -(fsync)Tj -/T1_1 1 Tf -3.25 0 Td -[(\(Section 3.13\))-1500(implementation de\336ned)]TJ -/TT0 1 Tf --9.15 -1.25 Td -(fstat)Tj -/T1_1 1 Tf -3.25 0 Td -(\(Section 4.2\))Tj -13.259 0 Td -(some)Tj -/TT0 1 Tf -2.582 0 Td -(stat)Tj -/T1_1 1 Tf -2.65 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(em)Tj -0 Tc 1.612 0 Td -(embers supported, but how left up to the)Tj --8.984 -1.25 Td -(implementation)Tj -/TT0 1 Tf --17.859 -1.25 Td -(ftruncate)Tj -/T1_1 1 Tf -5.65 0 Td -[(\(Section 4.13\))-5000(unspeci\336ed)]TJ -/TT0 1 Tf --5.65 -1.25 Td -(ioctl)Tj -/T1_1 1 Tf -3.25 0 Td -(\(Section 3.15\))Tj -13.259 0 Td -(some commands work, depending on underlying device driver)Tj -/TT0 1 Tf --16.509 -1.25 Td -(lseek)Tj -/T1_1 1 Tf -3.25 0 Td -(\(Section 3.6\))Tj -13.259 0 Td -(implementation de\336ned \(usually fails with)Tj -/TT0 1 Tf -19.15 0 Td -(errno)Tj -/T1_1 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(ESPIPE)Tj -/T1_1 1 Tf -(\))Tj -/TT0 1 Tf --41.51 -1.25 Td -(mmap)Tj -/T1_1 1 Tf -2.65 0 Td -(\(Section 14.8\))Tj -13.859 0 Td -(unspeci\336ed)Tj -/TT0 1 Tf --16.509 -1.25 Td -(poll)Tj -/T1_1 1 Tf -2.65 0 Td -(\(Section 14.4.2\))Tj -13.859 0 Td -(works as expected)Tj -/TT0 1 Tf --16.509 -1.25 Td -(pread)Tj -/T1_1 1 Tf -3.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(pwrite)Tj -/T1_1 1 Tf -3.85 0 Td -[(\(Section 3.1)55(1\))-1662(fails with)]TJ -/TT0 1 Tf -11.838 0 Td -(errno)Tj -/T1_1 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(ESPIPE)Tj --26.732 -1.25 Td -(read)Tj -/T1_1 1 Tf -2.65 0 Td -(\(Section 3.7\) and)Tj -/TT0 1 Tf -7.552 0 Td -(readv)Tj -/T1_1 1 Tf --8.852 -1.25 Td -(\(Section 14.6\))Tj -15.159 1.25 Td -(equivalent to)Tj -/TT0 1 Tf -6.048 0 Td -(recv)Tj -/T1_1 1 Tf -2.65 0 Td -(\(Section 16.5\) without any \337ags)Tj -/TT0 1 Tf --25.207 -2.5 Td -(select)Tj -/T1_1 1 Tf -3.85 0 Td -(\(Section 14.4.1\))Tj -12.659 0 Td -(works as expected)Tj -/TT0 1 Tf --16.509 -1.25 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -(\(Section 3.8\) and)Tj -/TT0 1 Tf -7.552 0 Td -(writev)Tj -/T1_1 1 Tf --9.452 -1.25 Td -(\(Section 14.6\))Tj -15.159 1.25 Td -(equivalent to)Tj -/TT0 1 Tf -6.048 0 Td -(send)Tj -/T1_1 1 Tf -2.65 0 Td -(\(Section 16.5\) without any \337ags)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1357.25 2798.25 cm -0 0 m -3777 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2658.25 2798.25 cm -0 0 m -0 2360 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5134.25 2798.25 cm -0 0 m -0 2360 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1357.25 2798.25 cm -0 0 m -0 2360 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 220.839 261.7372 Tm -(Figure 16.4)Tj -/T1_1 1 Tf -5.695 0 Td -(How \336le descriptor functions act with sockets)Tj -9.9976 0 0 9.9976 147.5648 235.3435 Tm -[(Communication )-103(on )-103(a )-103(socket )-103(is )-103(bidir)19(ectional. )-353(W)]TJ -0.3528 Tc 21.411 0 Td -(ec)Tj -0 Tc 1.276 0 Td -[(an )-103(disable )-103(I/O )-103(on )-103(a )-103(socket )-103(with)]TJ --24.487 -1.2 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(shutdown)Tj -/T1_1 1 Tf -5.05 0 Td -(function.)Tj -/TT0 1 Tf -8.9978 0 0 8.9978 147.5654 207.8501 Tm -(#include )Tj -0 -1.783 TD -(int shutdown\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.262 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(how)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -10.589 -1.783 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1713.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.997 0 0 9.997 129.5611 158.9523 Tm -(If)Tj -/T1_2 1 Tf -0.925 0 Td -(how)Tj -/T1_1 1 Tf -1.921 0 Td -(is)Tj -/TT0 1 Tf -0.97 0 Td -(SHUT_RD)Tj -/T1_1 1 Tf -0.2547 Tc (,t)Tj -0 Tc 5.031 0 Td -[(hen )-5(r)18(eading )-5(fr)18(om )-5(the )-5(socket )-5(is )-5(disabled.)-503(If)]TJ -/T1_2 1 Tf -19.023 0 Td -(how)Tj -/T1_1 1 Tf -1.921 0 Td -(is)Tj -/TT0 1 Tf -0.97 0 Td -(SHUT_WR)Tj -/T1_1 1 Tf -0.2547 Tc (,t)Tj -0 Tc 5.031 0 Td -[(hen )-5(we)]TJ --35.789 -1.2 Td -[(can\325t )-52(use )-52(the )-52(socket )-52(for )-52(transmitting )-52(data.)]TJ --0.092 Tc 19.104 0 Td -[(We )-236(c)]TJ -0 Tc 2.133 0 Td -[(an )-52(use)]TJ -/TT0 1 Tf -3.192 0 Td -(SHUT_RDWR)Tj -/T1_1 1 Tf -5.702 0 Td -[(to )-52(disable )-52(both )-52(data)]TJ --30.13 -1.2 Td -[(transmission and r)18(eception.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47103 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(532)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 129.5922 668.9599 Tm -[(Ex)10(er)20(cises)]TJ -/T1_0 1 Tf -8.9995 0 0 8.9995 129.5922 647.9611 Tm -(14.1)Tj -/T1_1 1 Tf --0.074 Tc 3.065 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-179(a )-179(test )-179(pr)18(ogram )-179(that )-179(illustrates )-179(your )-179(system\325s )-179(behavior )-179(when )-179(a )-179(pr)13(ocess )-179(is )-179(blocked)]TJ --1.321 -1.222 Td -[(while )-72(trying )-72(to )-72(write )-72(lock )-72(a )-72(range )-72(of )-72(a )-72(\336le )-72(and )-72(additional )-72(r)23(ead)]TJ -28.051 0.09 Td -(-)Tj -0.333 -0.09 Td -[(lock )-72(r)18(equests )-72(ar)]TJ -0.3216 Tc 7.029 0 Td -(em)Tj -0 Tc 1.684 0 Td -[(ade. )-322(Is)]TJ --37.096 -1.222 Td -[(the pr)18(ocess r)18(equesting a write lock starved by the pr)18(ocesses r)18(ead locking the \336le?)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(14.2)Tj -/T1_1 1 Tf --0.092 Tc 3.065 0 Td -(Ta)Tj -0 Tc 1.021 0 Td -[(ke )-47(a )-47(look )-47(at )-47(your )-47(system\325s )-47(headers )-47(and )-47(examine )-47(the )-47(implementation )-47(of)]TJ -/TT1 1 Tf -31.974 0 Td -(select)Tj -/T1_1 1 Tf -3.897 0 Td -[(and )-47(the)]TJ --36.892 -1.222 Td -(four)Tj -/TT1 1 Tf -2.127 0 Td -(FD_)Tj -/T1_1 1 Tf -2.05 0 Td -[(macr)18(os.)]TJ -/T1_0 1 Tf --7.242 -1.667 Td -(14.3)Tj -/T1_1 1 Tf -3.065 0 Td -[(The )-89(system )-89(headers )-89(usually )-89(have )-89(a )-89(built-in )-89(limit )-89(on )-89(the )-89(maximum )-89(number )-89(of )-89(descriptors)]TJ -0 -1.222 TD -[(that )-201(the)]TJ -/TT1 1 Tf -4.023 0 Td -(fd_set)Tj -/T1_1 1 Tf -4.051 0 Td -[(data )-201(type )-201(can )-201(handle.)-701(Assume )-201(that )-201(we )-201(need )-201(to )-201(incr)18(ease )-201(this )-201(limit )-201(to)]TJ --8.074 -1.222 Td -[(handle up to 2,048 descriptors.)-500(How can we do this?)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(14.4)Tj -/T1_1 1 Tf -3.065 0 Td -(Compar)Tj -0.3131 Tc 3.616 0 Td -(et)Tj -0 Tc 1.118 0 Td -[(he )-63(functions )-63(pr)18(ovided )-63(for )-63(signal )-63(sets )-63(\(Section )-63(10.1)55(1\) )-63(and )-63(the)]TJ -/TT1 1 Tf -27.109 0 Td -(fd_set)Tj -/T1_1 1 Tf -3.913 0 Td -(descriptor)Tj --35.756 -1.222 Td -[(sets. )-250(Also)-250(compar)]TJ -0.25 Tc 8.043 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he implementation of the two on your system.)Tj -/T1_0 1 Tf --12.163 -1.667 Td -(14.5)Tj -/T1_1 1 Tf -3.065 0 Td -[(Implement )-139(the )-139(function)]TJ -/TT1 1 Tf -11.121 0 Td -(sleep_us)Tj -/T1_1 1 Tf -0.3888 Tc (,w)Tj -0 Tc 6.273 0 Td -[(hich )-139(is )-139(similar )-139(to)]TJ -/TT1 1 Tf -8.116 0 Td -(sleep)Tj -/T1_1 1 Tf -0.3887 Tc (,b)Tj -0 Tc 4.192 0 Td -[(ut )-139(waits )-139(for )-139(a )-139(speci\336ed)]TJ --29.702 -1.222 Td -[(number )-63(of )-63(micr)17(oseconds. )-313(Use)-314(either)]TJ -/TT1 1 Tf -16.725 0 Td -(select)Tj -/T1_1 1 Tf -3.913 0 Td -(or)Tj -/TT1 1 Tf -1.254 0 Td -(poll)Tj -/T1_1 1 Tf -0.5634 Tc (.C)Tj -0 Tc 3.922 0 Td -(ompar)Tj -0.3136 Tc 2.907 0 Td -(et)Tj -0 Tc 1.119 0 Td -[(his )-64(function )-64(to )-64(the )-64(BSD)]TJ -/TT1 1 Tf --29.841 -1.222 Td -(usleep)Tj -/T1_1 1 Tf -3.85 0 Td -(function.)Tj -/T1_0 1 Tf --6.915 -1.667 Td -(14.6)Tj -/T1_1 1 Tf -3.065 0 Td -[(Can )-849(you )-849(implement )-849(the )-849(functions)]TJ -/TT1 1 Tf -19.322 0 Td -(TELL_WAIT)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -6.748 0 Td -(TELL_PARENT)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -7.948 0 Td -(TELL_CHILD)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf --34.019 -1.222 Td -(WAIT_PARENT)Tj -/T1_1 1 Tf -0.2817 Tc (,a)Tj -0 Tc 7.632 0 Td -(nd)Tj -/TT1 1 Tf -1.475 0 Td -(WAIT_CHILD)Tj -/T1_1 1 Tf -6.282 0 Td -[(fr)18(om )-32(Figur)]TJ -0.2818 Tc 4.804 0 Td -(e1)Tj -0 Tc 1.261 0 Td -[(0.24 )-32(using )-32(advisory )-32(r)19(ecor)]TJ -0.2818 Tc 11.162 0 Td -(dl)Tj -0 Tc 1.184 0 Td -[(ocking )-32(instead)]TJ --33.799 -1.222 Td -[(of signals?)-500(If so, code and test your implementation.)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(14.7)Tj -/T1_1 1 Tf -3.065 0 Td -[(Determine )-86(the )-86(capacity )-86(of )-86(a )-86(pipe )-86(using )-86(nonblocking )-86(writes.)-588(Compar)]TJ -0.3361 Tc 30.964 0 Td -(et)Tj -0 Tc 1.141 0 Td -[(his )-86(value )-86(with )-86(the)]TJ --32.105 -1.222 Td -(value of)Tj -/TT1 1 Tf -3.817 0 Td -(PIPE_BUF)Tj -/T1_1 1 Tf -5.05 0 Td -[(fr)18(om Chapter 2.)]TJ -/T1_0 1 Tf --11.932 -1.667 Td -(14.8)Tj -/T1_1 1 Tf -3.065 0 Td -[(Rewrite )-81(the )-81(pr)18(ogram )-81(in )-81(Figur)]TJ -0.3308 Tc 13.296 0 Td -(e1)Tj -0 Tc 1.31 0 Td -[(4.21 )-81(to )-81(make )-81(it )-81(a )-81(\336lter: )-81(r)19(ead )-81(fr)18(om )-81(the )-81(standar)]TJ -0.3309 Tc 20.293 0 Td -(di)Tj -0 Tc 1.233 0 Td -[(nput )-81(and)]TJ --36.132 -1.222 Td -[(write )-144(to )-144(the )-144(standar)]TJ -0.3943 Tc 9.087 0 Td -(do)Tj -0 Tc 1.551 0 Td -[(utput, )-144(but )-144(use )-144(the )-144(asynchr)18(onous )-144(I/O )-144(interfaces.)-644(What )-144(must )-144(you)]TJ --10.638 -1.222 Td -[(change )-175(to )-175(make )-175(it )-175(work )-175(pr)20(operly? )-425(Keep)-424(in )-175(mind )-175(that )-175(you )-175(should )-175(get )-175(the )-175(same )-175(r)22(esults)]TJ --0 -1.222 Td -(whether the standar)Tj -0.25 Tc 8.884 0 Td -(do)Tj -0 Tc 1.407 0 Td -[(utput is attached to a terminal, a pipe, or a r)18(egular \336le.)]TJ -/T1_0 1 Tf --13.356 -1.667 Td -(14.9)Tj -/T1_1 1 Tf -3.065 0 Td -[(Recall )-44(Figur)]TJ -0.2944 Tc 5.35 0 Td -(e1)Tj -0 Tc 1.273 0 Td -[(4.23. )-294(Determine)-295(the )-44(br)18(eak-even )-44(point )-44(on )-44(your )-44(system )-44(wher)]TJ -0.2943 Tc 26.521 0 Td -(eu)Tj -0 Tc 1.376 0 Td -(sing)Tj -/TT1 1 Tf -2.147 0 Td -(writev)Tj -/T1_1 1 Tf --36.668 -1.222 Td -(is faster than copying the data yourself and using a single)Tj -/TT1 1 Tf -25.711 0 Td -(write)Tj -/T1_1 1 Tf -(.)Tj -/T1_0 1 Tf --28.776 -1.667 Td -(14.10)Tj -/T1_1 1 Tf -3.065 0 Td -[(Run )-46(the )-46(pr)18(ogram )-46(in )-46(Figur)]TJ -0.2961 Tc 11.538 0 Td -(e1)Tj -0 Tc 1.275 0 Td -[(4.27 )-46(to )-46(copy )-46(a )-46(\336le )-46(and )-46(determine )-46(whether )-46(the )-46(last-access )-46(time)]TJ --12.813 -1.222 Td -(for the input \336le is updated.)Tj -/T1_0 1 Tf --3.065 -1.667 Td -[(14.1)37(1)]TJ -/T1_1 1 Tf -3.065 0 Td -[(In )-138(the )-138(pr)18(ogram )-138(fr)17(om )-138(Figur)]TJ -0.3883 Tc 12.24 0 Td -(e1)Tj -0 Tc 1.367 0 Td -(4.27,)Tj -/TT1 1 Tf -2.388 0 Td -(close)Tj -/T1_1 1 Tf -3.388 0 Td -[(the )-138(input )-138(\336le )-138(after )-138(calling)]TJ -/TT1 1 Tf -12.095 0 Td -(mmap)Tj -/T1_1 1 Tf -2.788 0 Td -[(to )-138(verify )-138(that)]TJ --34.267 -1.222 Td -(closing the descriptor does not invalidate the memory-mapped I/O.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47104 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.5)]TJ -41.507 0 Td -(Limits)Tj -/T1_1 1 Tf -4.826 0 Td -(43)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1366.25 6670.25 cm -0 0 m -3760 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 154.3747 658.9605 Tm -(Name of limit)Tj -17.5 0 Td -(Description)Tj -/T1_2 1 Tf -17.416 0 Td -(name)Tj -/T1_0 1 Tf -2.417 0 Td -[(ar)18(gument)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1366.25 6550.25 cm -0 0 m -3760 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1366.25 6530.25 cm -0 0 m -3760 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 140.5831 644.9226 Tm -(ARG_MAX )Tj -34 0 Td -(_SC_ARG_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -[(maximum length, in bytes, of ar)18(guments to the)]TJ -/TT0 1 Tf -20.954 0 Td -(exec)Tj -/T1_0 1 Tf --18.704 -1.25 Td -(functions)Tj -/TT0 1 Tf --12.35 -1.25 Td -(ATEXIT_MAX )Tj -34 0 Td -(_SC_ATEXIT_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -(maximum number of functions that can be)Tj --0.018 Tc 2.25 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(gister)18(ed with the)]TJ -/TT0 1 Tf -7.713 0 Td -(atexit)Tj -/T1_0 1 Tf -3.85 0 Td -(function)Tj -/TT0 1 Tf --24.769 -1.25 Td -(CHILD_MAX )Tj -34 0 Td -(_SC_CHILD_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -[(maximum number of pr)18(ocesses per r)18(eal user ID)]TJ --10.1 -1.25 Td -(clock ticks/second)Tj -/TT0 1 Tf -34 0 Td -(_SC_CLK_TCK)Tj -/T1_0 1 Tf --23.9 0 Td -(number of clock ticks per second)Tj -/TT0 1 Tf --10.1 -1.25 Td -(COLL_WEIGHTS_MAX )Tj -34 0 Td -(_SC_COLL_WEIGHTS_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -(maximum number of weights that can be assigned)Tj -2.25 -1.25 Td -(to an entry of the)Tj -/TT0 1 Tf -7.808 0 Td -(LC_COLLATE)Tj -/T1_0 1 Tf -6.25 0 Td -[(or)18(der keywor)18(d)]TJ --14.058 -1.25 Td -(in the locale de\336nition \336le)Tj -/TT0 1 Tf --12.35 -1.25 Td -(DELAYTIMER_MAX )Tj -34 0 Td -(_SC_DELAYTIMER_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -[(maximum number of timer expiration overr)8(uns)]TJ -/TT0 1 Tf --10.1 -1.25 Td -(HOST_NAME_MAX )Tj -34 0 Td -(_SC_HOST_NAME_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -[(maximum length of a host name as r)18(eturned by)]TJ -/TT0 1 Tf -2.25 -1.25 Td -(gethostname)Tj --12.35 -1.25 Td -(IOV_MAX )Tj -34 0 Td -(_SC_IOV_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -(maximum number of)Tj -/TT0 1 Tf -9.683 0 Td -(iovec)Tj -/T1_0 1 Tf -3.25 0 Td -[(str)8(uctur)18(es that can be)]TJ --10.683 -1.25 Td -(used with)Tj -/TT0 1 Tf -4.65 0 Td -(readv)Tj -/T1_0 1 Tf -3.25 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(writev)Tj --21.441 -1.25 Td -(LINE_MAX )Tj -34 0 Td -(_SC_LINE_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -(maximum length of a utility\325s input line)Tj -/TT0 1 Tf --10.1 -1.25 Td -(LOGIN_NAME_MAX )Tj -34 0 Td -(_SC_LOGIN_NAME_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -(maximum length of a login name)Tj -/TT0 1 Tf --10.1 -1.25 Td -(NGROUPS_MAX )Tj -34 0 Td -(_SC_NGROUPS_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -(maximum number of simultaneous supplementary)Tj -2.25 -1.25 Td -[(pr)18(ocess gr)18(oup IDs per pr)18(ocess)]TJ -/TT0 1 Tf --12.35 -1.25 Td -(OPEN_MAX )Tj -34 0 Td -(_SC_OPEN_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -(one mor)Tj -0.25 Tc 3.663 0 Td -(et)Tj -0 Tc 1.055 0 Td -(han the maximum value assigned to a)Tj --2.468 -1.25 Td -[(newly cr)18(eated \336le descriptor)]TJ -/TT0 1 Tf --12.35 -1.25 Td -(PAGESIZE )Tj -34 0 Td -(_SC_PAGESIZE)Tj -/T1_0 1 Tf --23.9 0 Td -(system memory page size, in bytes)Tj -/TT0 1 Tf --10.1 -1.25 Td -(PAGE_SIZE )Tj -34 0 Td -(_SC_PAGE_SIZE)Tj -/T1_0 1 Tf --23.9 0 Td -(system memory page size, in bytes)Tj -/TT0 1 Tf --10.1 -1.25 Td -(RE_DUP_MAX )Tj -34 0 Td -(_SC_RE_DUP_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -[(number of r)18(epeated occurr)18(ences of a basic r)18(egular)]TJ -2.25 -1.25 Td -[(expr)18(ession permitted by the)]TJ -/TT0 1 Tf -12.606 0 Td -(regexec)Tj -/T1_0 1 Tf -4.45 0 Td -(and)Tj -/TT0 1 Tf --17.056 -1.25 Td -(regcomp)Tj -/T1_0 1 Tf -4.45 0 Td -(functions when using the interval)Tj --4.45 -1.25 Td -(notation)Tj -/TT0 1 Tf -3.949 0 Td -(\\{m,n\\})Tj --16.299 -1.25 Td -(RTSIG_MAX )Tj -34 0 Td -(_SC_RTSIG_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -[(maximum number of r)18(eal-time signals r)18(eserved for)]TJ -2.25 -1.25 Td -(application use)Tj -/TT0 1 Tf --12.35 -1.25 Td -(SEM_NSEMS_MAX )Tj -34 0 Td -(_SC_SEM_NSEMS_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -[(maximum number of semaphor)18(es a pr)18(ocess can use)]TJ -2.25 -1.25 Td -(at one time)Tj -/TT0 1 Tf --12.35 -1.25 Td -(SEM_VALUE_MAX )Tj -34 0 Td -(_SC_SEM_VALUE_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -[(maximum value of a semaphor)18(e)]TJ -/TT0 1 Tf --10.1 -1.25 Td -(SIGQUEUE_MAX )Tj -34 0 Td -(_SC_SIGQUEUE_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -(maximum number of signals that can be queued for)Tj -0.25 Tc 2.25 -1.25 Td -(ap)Tj --0.018 Tc 1.351 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(cess)Tj -/TT0 1 Tf --14.624 -1.25 Td -(STREAM_MAX )Tj -34 0 Td -(_SC_STREAM_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -(maximum number of standar)Tj -0.25 Tc 13.003 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O str)18(eams per)]TJ --11.951 -1.25 Td -[(pr)18(ocess at any given time; if de\336ned, it must)]TJ -0 -1.25 TD -(have the same value as)Tj -/TT0 1 Tf -10.411 0 Td -(FOPEN_MAX)Tj --22.761 -1.25 Td -(SYMLOOP_MAX )Tj -34 0 Td -(_SC_SYMLOOP_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -(number of symbolic links that can be traversed)Tj -2.25 -1.25 Td -[(during pathname r)18(esolution)]TJ -/TT0 1 Tf --12.35 -1.25 Td -(TIMER_MAX )Tj -34 0 Td -(_SC_TIMER_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -[(maximum number of timers per pr)18(ocess)]TJ -/TT0 1 Tf --10.1 -1.25 Td -(TTY_NAME_MAX )Tj -34 0 Td -(_SC_TTY_NAME_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -(length of a terminal device name, including the)Tj -2.25 -1.25 Td -(terminating null)Tj -/TT0 1 Tf --12.35 -1.25 Td -(TZNAME_MAX )Tj -34 0 Td -(_SC_TZNAME_MAX)Tj -/T1_0 1 Tf --23.9 0 Td -(maximum number of bytes for a time zone name)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1366.25 2310.25 cm -0 0 m -3760 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4106.25 2310.25 cm -0 0 m -0 4360 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2194.25 2310.25 cm -0 0 m -0 4360 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5126.25 2310.25 cm -0 0 m -0 4360 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1366.25 2310.25 cm -0 0 m -0 4360 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 230.9744 212.9617 Tm -[(Figure 2.1)37(1)]TJ -/T1_0 1 Tf -5.658 0 Td -(Limits and)Tj -/T1_2 1 Tf -5.019 0 Td -(name)Tj -/T1_0 1 Tf -2.417 0 Td -[(ar)18(guments to)]TJ -/TT0 1 Tf -6.102 0 Td -(sysconf)Tj -/T1_0 1 Tf -9.9982 0 0 9.9982 147.5734 188.966 Tm -[(4. )-633(The)]TJ --0.018 Tc 3.603 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(enced )-46(\336le )-46(for)]TJ -/TT0 1 Tf -7.322 0 Td -(_PC_PATH_MAX)Tj -/T1_0 1 Tf -7.496 0 Td -[(must )-46(be )-46(a )-46(dir)17(ectory)]TJ -0.5462 Tc 8.571 0 Td -(.T)Tj -0 Tc 1.409 0 Td -[(he )-46(value )-46(r)18(eturned)]TJ --27.624 -1.2 Td -[(is )-118(the )-118(maximum )-118(length )-118(of )-118(a )-118(r)20(elative )-118(pathname )-118(when )-118(the )-118(speci\336ed )-118(dir)18(ectory )-118(is)]TJ -0 -1.2 TD -[(the )-54(working )-54(dir)18(ectory)]TJ -0.5539 Tc 9.669 0 Td -(.\()Tj -0 Tc 1.137 0 Td -(Unfortunately)Tj -0.3039 Tc 6.186 0 Td -(,t)Tj -0 Tc 0.88 0 Td -[(his )-54(isn\325t )-54(the )-54(r)18(eal )-54(maximum )-54(length )-54(of )-54(an)]TJ --17.872 -1.2 Td -[(absolute )-300(pathname, )-300(which )-300(is )-300(what )-300(we )-300(want )-300(to )-300(know)]TJ -0.7996 Tc 25.365 0 Td -(.W)Tj -0 Tc 1.958 0 Td -[(e\325ll )-300(r)18(eturn )-300(to )-300(this)]TJ --27.322 -1.2 Td -[(pr)18(oblem in Section 2.5.5.\))]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47105 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(524)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(of )-89(\336le )-89(while )-89(r)18(eading, )-89(we )-89(r)18(eturn )-89(the )-89(number )-89(of )-89(bytes )-89(copied )-89(to )-89(the )-89(caller)-74(\325s )-89(buf)15(fer )-89(if )-89(we)]TJ -0 -1.2 TD -[(alr)18(eady r)18(ead some data successfully and have not yet satis\336ed the amount r)18(equested.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6450.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 635.4227 Tm -(#include "apue.h")Tj -0 -2.14 TD -(ssize_t )Tj -12 0 Td -[(/*)-600(Read "n" bytes from a descriptor)-1200(*/)]TJ --12 -1.189 Td -(readn\(int fd, void *ptr, size_t n\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(size_t )-3000(nleft;)]TJ -T* -[(ssize_t )-2400(nread;)]TJ -0 -2.14 TD -(nleft = n;)Tj -0 -1.189 TD -(while \(nleft > 0\) {)Tj -2.4 -1.189 Td -(if \(\(nread = read\(fd, ptr, nleft\)\) < 0\) {)Tj -2.4 -1.189 Td -(if \(nleft == n\))Tj -2.4 -1.189 Td -(return\(-1\); /* error, return -1 */)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -[(break; )-3000(/*)-600(error, return amount read so far */)]TJ -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(nread == 0\) {)Tj -0.6 -1.189 Td -(break; )Tj -9.6 0 Td -[(/*)-600(EOF */)]TJ --12 -1.189 Td -(})Tj -T* -(nleft -= nread;)Tj -T* -[(ptr )-1200(+=)-600(nread;)]TJ --2.4 -1.189 Td -(})Tj -T* -[(return\(n - nleft\);)-3600(/* return >= 0 */)]TJ --2.4 -1.189 Td -(})Tj -0 -2.616 TD -(ssize_t )Tj -12 0 Td -[(/*)-600(Write "n" bytes to a descriptor)-1200(*/)]TJ --12 -1.189 Td -(writen\(int fd, const void *ptr, size_t n\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(size_t )-3000(nleft;)]TJ -T* -[(ssize_t )-2400(nwritten;)]TJ -0 -2.14 TD -(nleft = n;)Tj -0 -1.189 TD -(while \(nleft > 0\) {)Tj -2.4 -1.189 Td -(if \(\(nwritten = write\(fd, ptr, nleft\)\) < 0\) {)Tj -2.4 -1.189 Td -(if \(nleft == n\))Tj -2.4 -1.189 Td -(return\(-1\); /* error, return -1 */)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -[(break; )-3000(/*)-600(error, return amount written so far */)]TJ -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(nwritten == 0\) {)Tj -0.6 -1.189 Td -(break;)Tj --2.4 -1.189 Td -(})Tj -T* -(nleft -= nwritten;)Tj -0 -1.189 TD -[(ptr )-1200(+=)-600(nwritten;)]TJ --2.4 -1.189 Td -(})Tj -T* -[(return\(n - nleft\);)-3600(/* return >= 0 */)]TJ --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1642.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 239.3849 148.1513 Tm -(Figure 14.24)Tj -/T1_1 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(readn)Tj -/T1_1 1 Tf -3.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(writen)Tj -/T1_1 1 Tf -3.85 0 Td -(functions)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47106 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(896)Tj -/T1_1 1 Tf -3.5 0 Td -[(Miscellaneous )-250(Sour)18(ce )-250(Code)]TJ -38.263 0 Td -[(Appendix )-250(B)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -(#if defined\(MACOS\) || !defined\(TIOCGWINSZ\))Tj -0 -1.189 TD -(#include )Tj -T* -(#endif)Tj -0 -2.259 TD -[(#include )-3600(/* for convenience */)]TJ -0 -1.189 TD -[(#include )-3000(/* for convenience */)]TJ -T* -[(#include )-3000(/* for offsetof */)]TJ -0 -1.189 TD -[(#include )-3000(/* for convenience */)]TJ -0 -1.189 TD -[(#include )-3000(/* for convenience */)]TJ -T* -[(#include )-3000(/* for SIG_ERR */)]TJ -0 -2.259 TD -(#define MAXLINE 4096)Tj -19.2 0 Td -(/* max line length */)Tj --19.2 -2.259 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*D)Tj -0 Tc 1.8 0 Td -(efault file access permissions for new files.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -[(#define FILE_MODE)-1800(\(S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH\))]TJ -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*D)Tj -0 Tc 1.8 0 Td -(efault permissions for new directories.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -[(#define DIR_MODE)-2400(\(FILE_MODE | S_IXUSR | S_IXGRP | S_IXOTH\))]TJ -T* -[(typedef void)-2400(Sigfunc\(int\); )-1200(/*)-600(for signal handlers */)]TJ -0 -2.259 TD -[(#define min\(a,b\))-2400(\(\(a\) < \(b\) ? \(a\) : \(b\)\))]TJ -0 -1.189 TD -[(#define max\(a,b\))-2400(\(\(a\) > \(b\) ? \(a\) : \(b\)\))]TJ -0 -2.259 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(rototypes for our own functions.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -[(char )-1800(*path_alloc\(size_t)-600(*\); )]TJ -26.4 0 Td -[(/*)-600(Figure 2.16 */)]TJ --26.4 -1.189 Td -[(long )-2400(open_max\(void\);)]TJ -26.4 0 Td -(/* Figure 2.17 */)Tj --26.4 -2.259 Td -[(int )-3000(set_cloexec\(int\);)]TJ -26.4 0 Td -(/* Figure 13.9 */)Tj --26.4 -1.189 Td -[(void )-2400(clr_fl\(int,)-600(int\);)]TJ -0 -1.189 TD -[(void )-2400(set_fl\(int,)-600(int\); )]TJ -26.4 0 Td -[(/*)-600(Figure 3.12 */)]TJ --26.4 -2.259 Td -[(void )-2400(pr_exit\(int\);)]TJ -26.4 0 Td -(/* Figure 8.5 */)Tj --26.4 -2.259 Td -[(void )-2400(pr_mask\(const)-600(char *\);)]TJ -26.4 0 Td -(/* Figure 10.14 */)Tj --26.4 -1.189 Td -[(Sigfunc *signal_intr\(int, Sigfunc *\);)-4200(/* Figure 10.19 */)]TJ -0 -2.259 TD -[(void )-2400(daemonize\(const)-600(char *\);)]TJ -26.4 0 Td -(/* Figure 13.1 */)Tj --26.4 -2.259 Td -[(void )-2400(sleep_us\(unsigned)-600(int\); )]TJ -26.4 0 Td -[(/*)-600(Exercise 14.5 */)]TJ --26.4 -1.189 Td -[(ssize_t )-600(readn\(int,)-600(void *, size_t\);)-4800(/* Figure 14.24 */)]TJ -0 -1.189 TD -[(ssize_t )-600(writen\(int,)-600(const void *, size_t\); /* Figure 14.24 */)]TJ -0 -2.259 TD -[(int )-3000(fd_pipe\(int)-600(*\); )]TJ -26.4 0 Td -[(/*)-600(Figure 17.2 */)]TJ --26.4 -1.189 Td -[(int )-3000(recv_fd\(int,)-600(ssize_t \(*func\)\(int,)]TJ -10.2 -1.189 Td -[(const void *, size_t\)\);)-2400(/* Figure 17.14 */)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47107 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(827)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(449 )-2400(nw)]TJ -0.6 Tc 6.6 0 Td -(=w)Tj -0 Tc 1.8 0 Td -(rite\(fd, &req, sizeof\(struct printreq\)\);)Tj --8.4 -1.189 Td -[(450 )-2400(if)-600(\(nw != sizeof\(struct printreq\)\) {)]TJ -0 -1.189 TD -[(451 )-4800(res.jobid)]TJ -0.6 Tc 13.2 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --15 -1.189 Td -[(452 )-4800(if)-600(\(nw < 0\))]TJ -T* -(453 )Tj -9.6 0 Td -(res.retcode)Tj -0.6 Tc 7.2 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(tonl\(errno\);)Tj --18.6 -1.189 Td -[(454 )-4800(else)]TJ -T* -(455 )Tj -9.6 0 Td -(res.retcode)Tj -0.6 Tc 7.2 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(tonl\(EIO\);)Tj --18.6 -1.189 Td -[(456 )-4800(log_msg\("client_thread:)-600(can\325t write %s: %s", name,)]TJ -T* -(457 )Tj -8.4 0 Td -(strerror\(res.retcode\)\);)Tj --8.4 -1.189 Td -[(458 )-4800(close\(fd\);)]TJ -T* -[(459 )-4800(strncpy\(res.msg,)-600(strerror\(res.retcode\), MSGLEN_MAX\);)]TJ -T* -[(460 )-4800(writen\(sockfd,)-600(&res, sizeof\(struct printresp\)\);)]TJ -T* -[(461 )-4800(unlink\(name\);)]TJ -T* -[(462 )-4800(sprintf\(name,)-600("%s/%s/%d", SPOOLDIR, DATADIR, jobid\);)]TJ -0 -1.189 TD -[(463 )-4800(unlink\(name\);)]TJ -0 -1.189 TD -[(464 )-4800(pthread_exit\(\(void)-600(*\)1\);)]TJ -T* -[(465 )-2400(})]TJ -T* -[(466 )-2400(close\(fd\);)]TJ -0 -1.783 TD -[(467 )-2400(/*)]TJ -0 -1.189 TD -[(468 )-3000(*)-600(Send response to client.)]TJ -0 -1.189 TD -[(469 )-3000(*/)]TJ -0 -1.189 TD -[(470 )-2400(res.retcode)]TJ -0.6 Tc 12 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --13.8 -1.189 Td -[(471 )-2400(res.jobid)]TJ -0.6 Tc 10.8 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(tonl\(jobid\);)Tj --12.6 -1.189 Td -[(472 )-2400(sprintf\(res.msg,)-600("request ID %d", jobid\);)]TJ -0 -1.189 TD -[(473 )-2400(writen\(sockfd,)-600(&res, sizeof\(struct printresp\)\);)]TJ -0 -1.783 TD -[(474 )-2400(/*)]TJ -0 -1.189 TD -[(475 )-3000(*)-600(Notify the printer thread, clean up, and exit.)]TJ -0 -1.189 TD -[(476 )-3000(*/)]TJ -0 -1.189 TD -[(477 )-2400(log_msg\("adding)-600(job %d to queue", jobid\);)]TJ -0 -1.189 TD -[(478 )-2400(add_job\(&req,)-600(jobid\);)]TJ -0 -1.189 TD -[(479 )-2400(pthread_cleanup_pop\(1\);)]TJ -0 -1.189 TD -[(480 )-2400(return\(\(void)-600(*\)0\);)]TJ -0 -1.189 TD -[(481 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3016.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 277.5647 Tm -[([449 )167(\320 )167(465])]TJ --0.092 Tc 5 0 Td -[(We )-391(w)]TJ -0 Tc 2.678 0 Td -[(rite )-207(the)]TJ -/TT0 1 Tf -3.793 0 Td -(printreq)Tj -/T1_0 1 Tf -5.257 0 Td -[(str)8(uctur)18(e)-457(to)-457(the )-207(contr)18(ol )-207(\336le.)-707(On )-207(err)17(or)74(,)-457(we)-457(log )-207(a)]TJ --11.728 -1.2 Td -[(message, )-7(close )-7(the )-7(descriptor )-7(for )-7(the )-7(contr)18(ol )-7(\336le, )-7(send )-7(a )-7(failur)]TJ -0.2575 Tc 27.041 0 Td -(er)Tj -0 Tc 1.114 0 Td -[(esponse )-7(back)]TJ --28.154 -1.2 Td -[(to the client, r)18(emove the data and contr)18(ol \336les, and terminate the thr)18(ead.)]TJ --5 -1.6 Td -[([466 )167(\320 )167(473])]TJ --0.092 Tc 5 0 Td -[(We )-186(c)]TJ -0 Tc 2.083 0 Td -[(lose )-2(the )-2(\336le )-2(descriptor )-2(for )-2(the )-2(contr)19(ol )-2(\336le )-2(and )-2(send )-2(a )-2(message )-2(containing)]TJ --2.083 -1.2 Td -(the job ID and a successful status \()Tj -/TT0 1 Tf -(retcode)Tj -/T1_0 1 Tf -19.629 0 Td -(set to 0\) back to the client.)Tj --24.629 -1.6 Td -[([474 )167(\320 )167(481])]TJ --0.092 Tc 5 0 Td -[(We )-203(c)]TJ -0 Tc 2.1 0 Td -(all)Tj -/TT0 1 Tf -1.351 0 Td -(add_job)Tj -/T1_0 1 Tf -4.469 0 Td -[(to )-19(add )-19(the )-19(r)19(eceived )-19(job )-19(to )-19(the )-19(list )-19(of )-19(pending )-19(print )-19(jobs )-19(and)]TJ --7.919 -1.2 Td -(call)Tj -/TT0 1 Tf -2.15 0 Td -(pthread_cleanup_pop)Tj -/T1_0 1 Tf -12.024 0 Td -[(to )-374(complete )-374(the )-374(cleanup )-374(pr)18(ocessing. )-624(The)]TJ --14.174 -1.2 Td -[(thr)18(ead terminates when we r)18(eturn.)]TJ -0 -1.56 TD -[(Note )-107(that )-107(befor)]TJ -0.3574 Tc 6.919 0 Td -(et)Tj -0 Tc 1.162 0 Td -[(he )-107(thr)18(ead )-107(exits, )-107(we )-107(must )-107(close )-107(any )-107(\336le )-107(descriptors )-107(we )-107(no)]TJ --8.081 -1.2 Td -[(longer )-33(need.)-533(Unlike )-33(with )-33(pr)18(ocess )-33(termination, )-33(\336le )-33(descriptors )-33(ar)]TJ -0.2828 Tc 28.706 0 Td -(en)Tj -0 Tc 1.344 0 Td -[(ot )-33(closed)]TJ --30.05 -1.2 Td -[(automatically )-32(when )-32(a )-32(thr)18(ead )-32(ends )-32(if )-32(other )-32(thr)18(eads )-32(exist )-32(in )-32(the )-32(pr)15(ocess. )-282(If)-283(we)]TJ -0 -1.2 Td -[(didn\325t )-43(close )-43(unneeded )-43(\336le )-43(descriptors, )-43(we\325d )-43(eventually )-43(r)8(un )-43(out )-43(of )-43(r)21(esour)18(ces.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47108 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(824)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(352 )-1200(/*)]TJ -0 -1.189 TD -[(353 )-1800(*)-600(Accept a print job from a client.)]TJ -T* -[(354 )-1800(*)]TJ -T* -[(355 )-1800(*)-600(LOCKING: none.)]TJ -T* -[(356 )-1800(*/)]TJ -0 -1.189 TD -[(357 )-1200(void)-600(*)]TJ -0 -1.189 TD -[(358 )-1200(client_thread\(void)-600(*arg\))]TJ -T* -[(359 )-1200({)]TJ -T* -[(360 )-2400(int)]TJ -16.8 0 Td -(n, fd, sockfd, nr, nw, first;)Tj --16.8 -1.189 Td -[(361 )-2400(int32_t)]TJ -16.8 0 Td -(jobid;)Tj --16.8 -1.189 Td -[(362 )-2400(pthread_t)]TJ -16.8 0 Td -(tid;)Tj --16.8 -1.189 Td -[(363 )-2400(struct)-600(printreq )-2400(req;)]TJ -T* -[(364 )-2400(struct)-600(printresp )-1800(res;)]TJ -0 -1.189 TD -[(365 )-2400(char)]TJ -16.8 0 Td -(name[FILENMSZ];)Tj --16.8 -1.189 Td -[(366 )-2400(char)]TJ -16.8 0 Td -(buf[IOBUFSZ];)Tj --16.8 -1.783 Td -[(367 )-2400(tid)]TJ -0.6 Tc 7.2 0 Td -(=p)Tj -0 Tc 1.8 0 Td -(thread_self\(\);)Tj --9 -1.189 Td -[(368 )-2400(pthread_cleanup_push\(client_cleanup,)-600(\(void *\)\(\(long\)tid\)\);)]TJ -0 -1.189 TD -[(369 )-2400(sockfd)]TJ -0.6 Tc 9 0 Td -(=\()Tj -0 Tc 1.8 0 Td -(long\)arg;)Tj --10.8 -1.189 Td -[(370 )-2400(add_worker\(tid,)-600(sockfd\);)]TJ -0 -1.783 TD -[(371 )-2400(/*)]TJ -0 -1.189 TD -[(372 )-3000(*)-600(Read the request header.)]TJ -T* -[(373 )-3000(*/)]TJ -0 -1.189 TD -[(374 )-2400(if)-600(\(\(n = treadn\(sockfd, &req, sizeof\(struct printreq\), 10\)\) !=)]TJ -0 -1.189 TD -[(375 )-3600(sizeof\(struct)-600(printreq\)\) {)]TJ -T* -[(376 )-4800(res.jobid)]TJ -0.6 Tc 13.2 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --15 -1.189 Td -[(377 )-4800(if)-600(\(n < 0\))]TJ -T* -(378 )Tj -9.6 0 Td -(res.retcode)Tj -0.6 Tc 7.2 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(tonl\(errno\);)Tj --18.6 -1.189 Td -[(379 )-4800(else)]TJ -T* -(380 )Tj -9.6 0 Td -(res.retcode)Tj -0.6 Tc 7.2 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(tonl\(EIO\);)Tj --18.6 -1.189 Td -[(381 )-4800(strncpy\(res.msg,)-600(strerror\(res.retcode\), MSGLEN_MAX\);)]TJ -0 -1.189 TD -[(382 )-4800(writen\(sockfd,)-600(&res, sizeof\(struct printresp\)\);)]TJ -0 -1.189 TD -[(383 )-4800(pthread_exit\(\(void)-600(*\)1\);)]TJ -0 -1.189 TD -[(384 )-2400(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3016.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 277.5647 Tm -[([352 )167(\320 )167(370])-668(The)]TJ -/TT0 1 Tf -7.134 0 Td -(client_thread)Tj -/T1_1 1 Tf -8.26 0 Td -[(is )-210(spawned )-210(fr)18(om )-210(the)]TJ -/TT0 1 Tf -10.112 0 Td -(main)Tj -/T1_1 1 Tf -2.86 0 Td -[(thr)18(ead )-210(when )-210(a )-210(connect)]TJ --0.018 Tc -23.365 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quest )-59(is )-59(accepted.)-559(Its )-59(job )-59(is )-59(to )-59(r)18(eceive )-59(the )-59(\336le )-59(to )-59(be )-59(printed )-59(fr)12(om )-59(the )-59(client)]TJ -/TT0 1 Tf --0.856 -1.2 Td -(print)Tj -/T1_1 1 Tf -3.25 0 Td -[(command. )-250(W)]TJ -0.25 Tc 6.107 0 Td -(ec)Tj --0.018 Tc 1.173 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ate a separate thr)18(ead for each client print r)18(equest.)]TJ --11.386 -1.56 Td -[(The )-47(\336rst )-47(thing )-47(we )-47(do )-47(is )-47(install )-47(a )-47(thr)19(ead )-47(cleanup )-47(handler )-47(\(see )-47(Section )-47(1)55(1.5 )-47(for)]TJ -0.8423 Tc 0 -1.2 TD -(ad)Tj -0 Tc 1.953 0 Td -[(iscussion )-592(of )-592(thr)17(ead )-592(cleanup )-592(handlers\).)-1092(The )-592(cleanup )-592(handler )-592(is)]TJ -/TT0 1 Tf --1.953 -1.2 Td -(client_cleanup)Tj -/T1_1 1 Tf -0.3297 Tc (,w)Tj -0 Tc 9.814 0 Td -[(hich )-80(we )-80(will )-80(see )-80(later)]TJ -0.5797 Tc 9.537 0 Td -(.I)Tj -0.3297 Tc 1.167 0 Td -(tt)Tj -0 Tc 0.982 0 Td -[(akes )-80(a )-80(single )-80(ar)18(gument: )-80(our)]TJ --21.499 -1.2 Td -[(thr)18(ead )-17(ID.)-517(Then )-17(we )-17(call)]TJ -/TT0 1 Tf -10.918 0 Td -(add_worker)Tj -/T1_1 1 Tf -6.267 0 Td -[(to )-17(cr)18(eate )-17(a)]TJ -/TT0 1 Tf -4.779 0 Td -(worker_thread)Tj -/T1_1 1 Tf -8.067 0 Td -[(str)8(uctur)18(e)]TJ --30.031 -1.2 Td -[(and add it to the list of active client thr)18(eads.)]TJ --5 -1.6 Td -[([371 )167(\320 )167(384])-668(At )-93(this )-93(point, )-93(we )-93(ar)]TJ -0.3427 Tc 13.884 0 Td -(ed)Tj -0 Tc 1.433 0 Td -[(one )-93(with )-93(the )-93(thr)18(ead\325s )-93(initialization )-93(tasks, )-93(so )-93(we )-93(r)20(ead)]TJ --10.317 -1.2 Td -[(the )-214(r)18(equest )-214(header )-214(fr)18(om )-214(the )-214(client.)-714(If )-214(the )-214(client )-214(sends )-214(less )-214(data )-214(than )-214(we)]TJ -T* -[(expect )-79(or )-79(we )-79(encounter )-79(an )-79(err)20(or)74(,)-329(we)-329(r)19(espond )-79(with )-79(a )-79(message )-79(indicating )-79(the)]TJ --0.018 Tc 0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ason for the err)18(or and call)]TJ -/TT0 1 Tf -11.624 0 Td -(pthread_exit)Tj -/T1_1 1 Tf -7.45 0 Td -[(to terminate the thr)18(ead.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47109 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.051 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -[(81)37(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(107 )-2400(/*)]TJ -0 -1.189 TD -[(108 )-3000(*)-600(Now send the file.)]TJ -T* -[(109 )-3000(*/)]TJ -T* -[(110 )-2400(while)-600(\(\(nr = read\(fd, buf, IOBUFSZ\)\) != 0\) {)]TJ -T* -[(111 )-4800(nw)]TJ -0.6 Tc 9 0 Td -(=w)Tj -0 Tc 1.8 0 Td -(riten\(sockfd, buf, nr\);)Tj --10.8 -1.189 Td -[(112 )-4800(if)-600(\(nw != nr\) {)]TJ -T* -(113 )Tj -9.6 0 Td -[(if)-600(\(nw < 0\))]TJ --9.6 -1.189 Td -(114 )Tj -12 0 Td -[(err_sys\("can\325t)-600(write to print server"\);)]TJ --12 -1.189 Td -(115 )Tj -9.6 0 Td -(else)Tj --9.6 -1.189 Td -(116 )Tj -12 0 Td -[(err_quit\("short)-600(write \(%d/%d\) to print server",)]TJ --12 -1.189 Td -(117 )Tj -13.2 0 Td -[(nw,)-600(nr\);)]TJ --13.2 -1.189 Td -[(118 )-4800(})]TJ -T* -[(119 )-2400(})]TJ -0 -2.021 TD -[(120 )-2400(/*)]TJ -0 -1.189 TD -[(121 )-3000(*)-600(Read the response.)]TJ -T* -[(122 )-3000(*/)]TJ -T* -[(123 )-2400(if)-600(\(\(nr = readn\(sockfd, &res, sizeof\(struct printresp\)\)\) !=)]TJ -T* -[(124 )-3600(sizeof\(struct)-600(printresp\)\))]TJ -0 -1.189 TD -[(125 )-4800(err_sys\("can\325t)-600(read response from server"\);)]TJ -0 -1.189 TD -[(126 )-2400(if)-600(\(res.retcode != 0\) {)]TJ -T* -[(127 )-4800(printf\("rejected:)-600(%s\\n", res.msg\);)]TJ -T* -[(128 )-4800(exit\(1\);)]TJ -T* -[(129 )-2400(})-600(else {)]TJ -T* -[(130 )-4800(printf\("job)-600(ID %ld\\n", \(long\)ntohl\(res.jobid\)\);)]TJ -T* -[(131 )-2400(})]TJ -T* -[(132 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3797.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 355.6653 Tm -[([107 )167(\320 )167(1)54(19] )-472(After)-313(sending )-62(the )-62(header )-62(to )-62(the )-62(daemon, )-62(we )-62(send )-62(the )-62(\336le )-62(to )-62(be )-62(printed.)]TJ --0.092 Tc 37.613 0 Td -(We)Tj --0.018 Tc -32.613 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad )-5(the )-5(\336le)]TJ -/TT0 1 Tf -4.638 0 Td -(IOBUFSZ)Tj -/T1_0 1 Tf -4.455 0 Td -[(bytes )-5(at )-5(a )-5(time )-5(and )-5(use)]TJ -/TT0 1 Tf -10.371 0 Td -(writen)Tj -/T1_0 1 Tf -3.855 0 Td -[(to )-5(send )-5(the )-5(data )-5(to )-5(the)]TJ --24.175 -1.2 Td -[(daemon. )-456(As)-455(with )-206(the )-206(header)75(,)-456(if)-456(t)1(he )-206(write )-206(fails )-206(or )-206(we )-206(write )-206(less )-206(than )-206(we)]TJ -0 -1.2 Td -[(expect, we print an err)18(or message and exit.)]TJ --5 -1.6 Td -[([120 )167(\320 )167(132])-668(Once )-111(we )-111(have )-111(sent )-111(the )-111(\336le )-111(to )-111(be )-111(printed )-111(to )-111(the )-111(print )-111(spooling )-111(daemon, )-111(we)]TJ --0.018 Tc 5 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad )-245(the )-245(daemon\325s )-245(r)18(esponse. )-495(If)-495(the )-245(print )-245(r)18(equest )-245(failed, )-245(the )-245(r)18(eturn )-245(code)]TJ --0.856 -1.2 Td -(\()Tj -/TT0 1 Tf -(retcode)Tj -/T1_0 1 Tf -0.3435 Tc (\)w)Tj -0 Tc 6.044 0 Td -[(ill )-93(be )-93(nonzer)18(o, )-93(so )-93(we )-93(print )-93(the )-93(textual )-93(err)14(or )-93(message )-93(included)]TJ --6.043 -1.2 Td -[(in )-8(the )-8(r)18(esponse. )-258(If)-258(the )-8(r)18(equest )-8(succeeded, )-8(we )-8(print )-8(the )-8(job )-8(ID )-8(so )-8(that )-8(the )-8(user)]TJ -0 -1.2 Td -[(knows )-185(how )-185(to )-185(r)18(efer )-185(to )-185(the )-185(r)18(equest )-185(in )-185(the )-185(futur)20(e. )-435(\(W)74(riting )-185(a )-185(command )-185(to)]TJ -0 -1.2 TD -[(cancel )-22(a )-22(pending )-22(print )-22(r)20(equest )-22(is )-22(left )-22(as )-22(an )-22(exer)18(cise; )-22(the )-22(job )-22(ID )-22(can )-22(be )-22(used )-22(in)]TJ -T* -[(the )-205(cancellation )-205(r)18(equest )-205(to )-205(identify )-205(the )-205(job )-205(to )-205(be )-205(r)15(emoved )-205(fr)18(om )-205(the )-205(print)]TJ -T* -[(queue. )-444(See )-444(Exer)18(cise )-444(21.5.\))-946(When)]TJ -/TT0 1 Tf -16.777 0 Td -(submit_file)Tj -/T1_0 1 Tf --0.018 Tc 7.295 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-445(to )-445(the)]TJ -/TT0 1 Tf -6.673 0 Td -(main)Tj -/T1_0 1 Tf --31.6 -1.2 Td -(function, we exit, indicating success.)Tj -0 -1.8 TD -[(Note )-166(that )-166(a )-166(successful )-166(r)16(esponse )-166(fr)18(om )-166(the )-166(daemon )-166(does )-166(not )-166(mean )-166(that )-166(the)]TJ -0 -1.2 TD -[(printer )-417(was )-417(able )-417(to )-417(print )-417(the )-417(\336le; )-417(it )-417(mer)18(ely )-417(means )-417(that )-417(the )-417(daemon)]TJ -T* -(successfully added the print job to the queue.)Tj --5 -1.8 Td -[(This )-138(completes )-138(our )-138(look )-138(at )-138(the )-138(print )-138(command.)-638(The )-138(last )-138(\336le )-138(we )-138(will )-138(look )-138(at )-138(is )-138(the )-138(C)]TJ -T* -[(sour)18(ce \336le for the printer spooling daemon.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47110 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(810)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 134.9919 659.4594 Tm -[(81 )-2400(req.size)]TJ -0.6 Tc 9.6 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(tonl\(nbytes\);)Tj --11.4 -2.021 Td -[(82 )-2400(if)-600(\(text\))]TJ -0 -1.189 TD -[(83 )-4800(req.flags)]TJ -0.6 Tc 12.6 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(tonl\(PR_TEXT\);)Tj --14.4 -1.189 Td -[(84 )-2400(else)]TJ -T* -[(85 )-4800(req.flags)]TJ -0.6 Tc 12.6 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --14.4 -2.021 Td -[(86 )-2400(if)-600(\(\(len = strlen\(fname\)\) >= JOBNM_MAX\) {)]TJ -T* -[(87 )-4800(/*)]TJ -T* -(88 )Tj -7.2 0 Td -[(*)-600(Truncate the filename \(+-5 accounts for the leading)]TJ --7.2 -1.189 Td -(89 )Tj -7.2 0 Td -[(*)-600(four characters and the terminating null\).)]TJ --7.2 -1.189 Td -(90 )Tj -7.2 0 Td -(*/)Tj --7.2 -1.189 Td -[(91 )-4800(strcpy\(req.jobnm,)-600("... "\);)]TJ -T* -[(92 )-4800(strncat\(req.jobnm,)-600(&fname[len-JOBNM_MAX+5], JOBNM_MAX-5\);)]TJ -T* -[(93 )-2400(})-600(else {)]TJ -T* -[(94 )-4800(strcpy\(req.jobnm,)-600(fname\);)]TJ -T* -[(95 )-2400(})]TJ -0 -2.021 TD -[(96 )-2400(/*)]TJ -0 -1.189 TD -[(97 )-3000(*)-600(Send the header to the server.)]TJ -T* -[(98 )-3000(*/)]TJ -T* -[(99 )-2400(nw)]TJ -0.6 Tc 6 0 Td -(=w)Tj -0 Tc 1.8 0 Td -(riten\(sockfd, &req, sizeof\(struct printreq\)\);)Tj --8.4 -1.189 Td -[(100 )-2400(if)-600(\(nw != sizeof\(struct printreq\)\) {)]TJ -T* -[(101 )-4800(if)-600(\(nw < 0\))]TJ -T* -(102 )Tj -9.6 0 Td -[(err_sys\("can\325t)-600(write to print server"\);)]TJ --9.6 -1.189 Td -[(103 )-4800(else)]TJ -T* -(104 )Tj -9.6 0 Td -[(err_quit\("short)-600(write \(%d/%d\) to print server",)]TJ --9.6 -1.189 Td -(105 )Tj -10.8 0 Td -[(nw,)-600(sizeof\(struct printreq\)\);)]TJ --10.8 -1.189 Td -[(106 )-2400(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3647.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 340.6871 Tm -[([81 )167(\320 )167(95])]TJ --0.092 Tc 5 0 Td -[(We )-244(s)]TJ -0 Tc 2.121 0 Td -(tor)Tj -0.3098 Tc 1.249 0 Td -(et)Tj -0 Tc 1.115 0 Td -[(he )-60(size )-60(of )-60(the )-60(\336le )-60(to )-60(be )-60(printed )-60(in )-60(the )-60(header )-60(after )-60(converting )-60(it )-60(to)]TJ --4.485 -1.2 Td -[(network byte or)18(der)]TJ -0.5 Tc 8.466 0 Td -(.T)Tj -0 Tc 1.363 0 Td -(hen we do the same with the)Tj -/TT0 1 Tf -12.956 0 Td -(PR_TEXT)Tj -/T1_1 1 Tf -4.45 0 Td -(\337ag if the \336le is)Tj --27.235 -1.2 Td -[(to )-224(be )-224(printed )-224(as )-224(plaintext.)-722(By )-223(translating )-223(these )-223(integers )-223(to )-223(network )-223(byte)]TJ -0 -1.2 TD -[(or)18(der)74(,)-377(we)-377(c)-1(an )-127(r)8(un )-127(the )-127(print )-127(command )-127(on )-127(a )-127(client )-127(system )-127(while )-127(the )-127(printer)]TJ --0 -1.2 Td -[(spooling )-88(daemon )-88(is )-88(r)8(unning )-88(on )-88(another )-88(computer )-88(system.)-588(If )-88(these )-88(systems)]TJ -T* -[(use )-195(pr)18(ocessors )-195(with )-195(dif)19(fer)18(ent )-195(byte )-195(or)18(dering, )-195(then )-195(the )-195(commands )-195(will )-195(still)]TJ --0 -1.2 Td -[(work. )-250(\(W)]TJ -0.25 Tc 4.322 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(iscussed byte or)18(dering in Section 16.3.1.\))]TJ --0.092 Tc -5.662 -1.8 Td -[(We )-335(s)]TJ -0 Tc 2.212 0 Td -[(et )-151(the )-151(job )-151(name )-151(to )-151(the )-151(name )-151(of )-151(the )-151(\336le )-151(being )-151(printed.)-650(If )-151(the )-151(name )-151(is)]TJ --2.212 -1.2 Td -[(longer )-111(than )-111(will )-111(\336t )-111(in )-111(the )-111(job )-111(name )-111(\336eld )-111(in )-111(the )-111(message, )-111(we )-111(copy )-111(only )-111(the)]TJ -T* -[(last )-16(portion )-16(of )-16(the )-16(name )-16(that )-16(will )-16(\336t.)-516(This )-16(ef)18(fectively )-16(tr)8(uncates )-16(the )-16(beginning)]TJ -T* -[(portion )-174(of )-174(the )-174(name.)-675(In )-174(this )-174(case, )-174(we )-174(pr)18(epend )-174(an )-174(ellipsis )-174(to )-174(indicate )-174(that)]TJ -T* -(ther)Tj -0.25 Tc 1.764 0 Td -(ew)Tj -0 Tc 1.563 0 Td -(er)Tj -0.25 Tc 0.856 0 Td -(em)Tj -0 Tc 1.612 0 Td -(or)Tj -0.25 Tc 0.923 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(haracters than would \336t in the \336eld.)Tj --12.891 -1.72 Td -[([96 )167(\320 )167(106])]TJ --0.092 Tc 5 0 Td -[(We )-298(s)]TJ -0 Tc 2.175 0 Td -[(end )-114(the )-114(r)18(equest )-114(header )-114(to )-114(the )-114(daemon )-114(using)]TJ -/TT0 1 Tf -20.58 0 Td -(writen)Tj -/T1_1 1 Tf -0.6139 Tc (.\()Tj -0 Tc 4.797 0 Td -[(Recall )-114(that )-114(we)]TJ --27.552 -1.2 Td -[(intr)18(oduced )-21(the)]TJ -/TT0 1 Tf -6.798 0 Td -(writen)Tj -/T1_1 1 Tf -3.871 0 Td -[(function )-21(in )-21(Figur)]TJ -0.2707 Tc 7.504 0 Td -(e1)Tj -0 Tc 1.25 0 Td -[(4.24.\) )-271(The)]TJ -/TT0 1 Tf -4.798 0 Td -(writen)Tj -/T1_1 1 Tf -3.871 0 Td -[(function )-21(uses)]TJ --28.092 -1.2 Td -[(multiple )-17(calls )-17(to)]TJ -/TT0 1 Tf -7.387 0 Td -(write)Tj -/T1_1 1 Tf -[(,)-267(if)-267(n)1(ecessary)111(,)-267(to)-267(t)1(ransmit )-17(the )-17(speci\336ed )-17(amount.)-517(If )-17(the)]TJ -/TT0 1 Tf --7.387 -1.2 Td -(writen)Tj -/T1_1 1 Tf -3.993 0 Td -[(function )-143(r)18(eturns )-143(an )-143(err)18(or )-143(or )-143(transmits )-143(less )-143(than )-143(we )-143(r)22(equested, )-143(we)]TJ --3.993 -1.2 Td -[(print an err)18(or message and exit.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47111 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(738)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pseudo )-250(T)92(erminals )]TJ -38.741 0 Td -[(Chapter)-500(19)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(isatty)Tj -/T1_1 1 Tf --0.018 Tc 4.05 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-200(false.)-700(This )-200(means )-200(that )-200(the )-200(line )-200(discipline )-200(above )-200(the )-200(actual )-200(terminal)]TJ --0.018 Tc -4.906 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(mains )-32(in )-32(canonical )-32(mode )-32(with )-32(echo )-32(enabled.)-532(By )-32(specifying )-32(the)]TJ -/TT0 1 Tf -28.261 0 Td -(-e)Tj -/T1_1 1 Tf -1.482 0 Td -[(option, )-32(we )-32(turn )-32(of)18(f)]TJ --30.599 -1.2 Td -[(echo )-49(in )-49(the )-49(line )-49(discipline )-49(module )-49(above )-49(the )-49(PTY )-49(slave.)-549(If )-49(we )-49(don\325t )-49(do )-49(this, )-49(everything)]TJ -0 -1.2 TD -(we type is echoed twice)Tj -0.0833 Tc 10.588 0 Td -(\321b)Tj -0.25 Tc 1.636 0 Td -(yb)Tj -0 Tc 1.359 0 Td -(oth line discipline modules.)Tj --0.092 Tc -11.784 -1.2 Td -[(We )-334(a)]TJ -0 Tc 2.287 0 Td -[(lso )-150(have )-150(the)]TJ -/TT0 1 Tf -5.973 0 Td -(-e)Tj -/T1_1 1 Tf -1.6 0 Td -[(option )-150(turn )-150(of)]TJ -0.3997 Tc 6.458 0 Td -(ft)Tj -0 Tc 1.059 0 Td -(he)Tj -/TT0 1 Tf -1.461 0 Td -(ONLCR)Tj -/T1_1 1 Tf -3.4 0 Td -[(\337ag )-150(in )-150(the)]TJ -/TT0 1 Tf -5.123 0 Td -(termios)Tj -/T1_1 1 Tf -4.6 0 Td -[(str)8(uctur)]TJ -0.3997 Tc 3.49 0 Td -(et)Tj -0 Tc 1.205 0 Td -(o)Tj --38.454 -1.2 Td -[(pr)18(event )-56(all )-56(the )-56(output )-56(fr)18(om )-56(the )-56(copr)18(ocess )-56(fr)18(om )-56(being )-56(terminated )-56(with )-56(a )-56(carriage )-56(r)17(eturn)]TJ -0 -1.2 Td -(and a newline.)Tj --0.092 Tc 1.8 -1.2 Td -(Te)Tj -0 Tc 1 0 Td -[(sting )-10(this )-10(example )-10(on )-10(dif)19(fer)18(ent )-10(systems )-10(r)18(evealed )-10(another )-10(pr)19(oblem )-10(that )-10(we )-10(alluded)]TJ --2.8 -1.2 Td -[(to )-31(in )-31(Section )-31(14.7 )-31(when )-31(we )-31(described )-31(the)]TJ -/TT0 1 Tf -18.398 0 Td -(readn)Tj -/T1_1 1 Tf -3.281 0 Td -(and)Tj -/TT0 1 Tf -1.974 0 Td -(writen)Tj -/T1_1 1 Tf -3.881 0 Td -[(functions. )-281(The)-280(amount )-31(of)]TJ --27.534 -1.2 Td -[(data )-300(r)18(eturned )-300(by )-300(a)]TJ -/TT0 1 Tf -9.597 0 Td -(read)Tj -/T1_1 1 Tf -0.5498 Tc (,w)Tj -0 Tc 4.034 0 Td -[(hen )-300(the )-300(descriptor )-300(r)19(efers )-300(to )-300(something )-300(other )-300(than )-300(an)]TJ --13.631 -1.2 Td -[(or)18(dinary )-107(disk )-107(\336le, )-107(can )-107(dif)18(fer )-107(between )-107(implementations.)-607(This )-107(copr)18(ocess )-107(example )-107(using)]TJ -/TT0 1 Tf -T* -(pty)Tj -/T1_1 1 Tf -2.115 0 Td -[(gave )-65(unexpected )-65(r)18(esults )-65(that )-65(wer)]TJ -0.3154 Tc 14.83 0 Td -(et)Tj -0 Tc 1.12 0 Td -[(racked )-65(down )-65(to )-65(the)]TJ -/TT0 1 Tf -9.079 0 Td -(read)Tj -/T1_1 1 Tf -2.716 0 Td -[(function )-65(on )-65(the )-65(pipe)]TJ --29.859 -1.2 Td -[(in )-59(the )-59(pr)18(ogram )-59(fr)18(om )-59(Figur)]TJ -0.3088 Tc 11.875 0 Td -(e1)Tj -0 Tc 1.288 0 Td -[(5.18, )-59(which )-59(r)18(eturned )-59(less )-59(than )-59(a )-59(line.)-559(The )-59(solution )-59(was )-59(to)]TJ --13.163 -1.2 Td -[(not )-2(use )-2(the )-2(pr)18(ogram )-2(shown )-2(in )-2(Figur)]TJ -0.2516 Tc 15.939 0 Td -(e1)Tj -0 Tc 1.231 0 Td -[(5.18, )-2(but )-2(rather )-2(to )-2(use )-2(the )-2(version )-2(of )-2(this )-2(pr)22(ogram)]TJ --17.169 -1.2 Td -[(fr)18(om )-41(Exer)18(cise )-41(15.5 )-41(that )-41(was )-41(modi\336ed )-41(to )-41(use )-41(the )-41(standar)]TJ -0.2911 Tc 24.734 0 Td -(dI)Tj -0 Tc 1.239 0 Td -[(/O )-41(library)]TJ -0.2911 Tc 4.553 0 Td -(,w)Tj -0 Tc 1.375 0 Td -[(ith )-41(the )-41(standar)18(d)]TJ --31.901 -1.2 Td -[(I/O )-5(str)18(eams )-5(for )-5(both )-5(pipes )-5(set )-5(to )-5(line )-5(buf)20(fering. )-255(W)55(ith )-5(this )-5(appr)18(oach, )-5(the)]TJ -/TT0 1 Tf -32.038 0 Td -(fgets)Tj -/T1_1 1 Tf -3.255 0 Td -(function)Tj --35.293 -1.2 Td -[(does )-327(as )-327(many)]TJ -/TT0 1 Tf -7.236 0 Td -(read)Tj -/T1_1 1 Tf -0.577 Tc (sa)Tj -0.5769 Tc 3.901 0 Td -(sr)Tj -0 Tc 1.378 0 Td -[(equir)18(ed )-327(to )-327(obtain )-327(a )-327(complete )-327(line.)-826(The)]TJ -/TT0 1 Tf -19.474 0 Td -(while)Tj -/T1_1 1 Tf -3.577 0 Td -[(loop )-327(in)]TJ --35.566 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(5.18 assumes that each line sent to the copr)18(ocess causes one line to be r)18(eturned.)]TJ -/TT1 1 Tf --7.212 -2.88 Td -[(Driving Interactive Pr)20(ograms Noninteractivel)15(y)]TJ -/T1_1 1 Tf -3.6 -2.04 Td -[(Although )-18(it\325s )-18(tempting )-18(to )-18(think )-18(that)]TJ -/TT0 1 Tf -16.178 0 Td -(pty)Tj -/T1_1 1 Tf -2.068 0 Td -[(can )-18(r)8(un )-18(any )-18(copr)18(ocess, )-18(even )-18(a )-18(copr)18(ocess )-18(that )-18(is)]TJ --18.246 -1.2 Td -[(interactive, )-240(it )-240(doesn\325t )-240(work.)-741(The )-240(pr)18(oblem )-240(is )-240(that)]TJ -/TT0 1 Tf -23.397 0 Td -(pty)Tj -/T1_1 1 Tf -2.29 0 Td -[(just )-240(copies )-240(everything )-240(on )-240(its)]TJ --25.687 -1.2 Td -(standar)Tj -0.3578 Tc 3.32 0 Td -(di)Tj -0 Tc 1.26 0 Td -[(nput )-108(to )-108(the )-108(PTY )-108(and )-108(everything )-108(fr)19(om )-108(the )-108(PTY )-108(to )-108(its )-108(standar)]TJ -0.3579 Tc 27.338 0 Td -(do)Tj -0 Tc 1.515 0 Td -[(utput, )-108(never)]TJ --33.433 -1.2 Td -(looking at what it sends or what it gets back.)Tj -1.8 -1.2 Td -[(As )-8(an )-8(example, )-8(we )-8(can )-8(r)8(un )-8(the)]TJ -/TT0 1 Tf -13.888 0 Td -(telnet)Tj -/T1_1 1 Tf -3.858 0 Td -[(command )-8(under)]TJ -/TT0 1 Tf -7.635 0 Td -(pty)Tj -/T1_1 1 Tf -0.2581 Tc (,t)Tj -0 Tc 2.634 0 Td -[(alking )-8(dir)18(ectly )-8(to )-8(the)]TJ --0.018 Tc -29.816 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(mote host:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5916 339.0797 Tm -(pty telnet 192.168.1.3)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5927 321.0807 Tm -[(Doing )-51(this )-51(pr)18(ovides )-51(no )-51(bene\336t )-51(over )-51(just )-51(typing)]TJ -/TT0 1 Tf -21.314 0 Td -[(telnet )-51(192.168.1.3)]TJ -/T1_1 1 Tf -0.3015 Tc (,b)Tj -0 Tc 11.956 0 Td -[(ut )-51(we )-51(would)]TJ --33.27 -1.2 Td -[(like )-64(to )-64(r)8(un )-64(the)]TJ -/TT0 1 Tf -6.706 0 Td -(telnet)Tj -/T1_1 1 Tf -3.914 0 Td -[(pr)18(ogram )-64(fr)18(om )-64(a )-64(script, )-64(per)16(haps )-64(to )-64(check )-64(some )-64(condition )-64(on )-64(the)]TJ --0.018 Tc -10.62 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(mote host.)-500(If the \336le)]TJ -/TT0 1 Tf -9.294 0 Td -(telnet.cmd)Tj -/T1_1 1 Tf -6.25 0 Td -(contains the four lines)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5917 280.3832 Tm -(sar)Tj -/T1_2 1 Tf -0 -1.189 TD -(passwd)Tj -/TT0 1 Tf -T* -(uptime)Tj -T* -(exit)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5928 230.2862 Tm -[(the )-56(\336rst )-56(line )-56(is )-56(the )-56(user )-56(name )-56(we )-56(use )-56(to )-56(log )-56(in )-56(to )-56(the )-56(r)18(emote )-56(host, )-56(the )-56(second )-56(line )-56(is )-56(the)]TJ -0 -1.2 TD -[(passwor)18(d, )-73(the )-73(thir)]TJ -0.3231 Tc 8.176 0 Td -(dl)Tj -0 Tc 1.225 0 Td -[(ine )-73(is )-73(a )-73(command )-73(we\325d )-73(like )-73(to )-73(r)7(un, )-73(and )-73(the )-73(fourth )-73(line )-73(terminates)]TJ --9.401 -1.2 Td -[(the session.)-500(But if we r)8(un this script as)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5921 189.5886 Tm -(pty -i < telnet.cmd telnet 192.168.1.3)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5932 171.5897 Tm -[(it )-1(doesn\325t )-1(do )-1(what )-1(we )-1(want.)-501(Instead, )-1(the )-1(contents )-1(of )-1(the )-1(\336le)]TJ -/TT0 1 Tf -26.571 0 Td -(telnet.cmd)Tj -/T1_1 1 Tf -6.251 0 Td -(ar)Tj -0.2507 Tc 0.877 0 Td -(es)Tj -0 Tc 1.154 0 Td -[(ent )-1(to )-1(the)]TJ --0.018 Tc -34.853 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(mote )-142(host )-142(befor)19(e)-392(it)-392(h)1(as )-141(a )-141(chance )-141(to )-141(pr)18(ompt )-141(us )-141(for )-141(an )-141(account )-141(name )-141(and )-141(passwor)13(d.)]TJ --0.856 -1.2 Td -[(When )-141(it )-141(turns )-141(of)]TJ -0.3911 Tc 7.624 0 Td -(fe)Tj -0 Tc 1.203 0 Td -[(choing )-141(to )-141(r)18(ead )-141(the )-141(passwor)18(d,)]TJ -/TT0 1 Tf -13.75 0 Td -(login)Tj -/T1_1 1 Tf -3.391 0 Td -[(uses )-141(the)]TJ -/TT0 1 Tf -4.099 0 Td -(tcsetattr)Tj -/T1_1 1 Tf -5.791 0 Td -(option,)Tj --35.858 -1.2 Td -[(which discar)18(ds any data alr)18(eady queued.)-500(Thus, the data we send is thr)18(own away)111(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47112 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(732)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pseudo )-250(T)92(erminals )]TJ -38.741 0 Td -[(Chapter)-500(19)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(Befor)Tj -0.6258 Tc 2.346 0 Td -(ec)Tj -0 Tc 1.549 0 Td -(alling)Tj -/TT0 1 Tf -3.137 0 Td -(pty_fork)Tj -/T1_1 1 Tf -[(,)-626(we)-626(fetch )-376(the )-376(curr)18(ent )-376(values )-376(for )-376(the)]TJ -/TT0 1 Tf -23.65 0 Td -(termios)Tj -/T1_1 1 Tf -4.826 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(winsize)Tj -/T1_1 1 Tf -4.466 0 Td -[(str)8(uctur)18(es, )-16(passing )-16(these )-16(as )-16(ar)18(guments )-16(to)]TJ -/TT0 1 Tf -18.434 0 Td -(pty_fork)Tj -/T1_1 1 Tf -0.5162 Tc (.T)Tj -0 Tc 6.179 0 Td -[(his )-16(way)]TJ -0.2661 Tc 3.342 0 Td -(,t)Tj -0 Tc 0.842 0 Td -[(he )-16(PTY )-16(slave)]TJ --33.264 -1.2 Td -[(assumes the same initial state as the curr)18(ent terminal.)]TJ -1.8 -1.2 Td -[(After )-37(r)18(eturning )-37(fr)17(om)]TJ -/TT0 1 Tf -9.503 0 Td -(pty_fork)Tj -/T1_1 1 Tf -0.2874 Tc (,t)Tj -0 Tc 5.663 0 Td -[(he )-37(child )-37(optionally )-37(turns )-37(of)]TJ -0.2874 Tc 12.151 0 Td -(fe)Tj -0 Tc 1.099 0 Td -[(choing )-37(for )-37(the )-37(slave)]TJ --30.217 -1.2 Td -[(PTY )-40(and )-40(then )-40(calls)]TJ -/TT0 1 Tf -8.656 0 Td -(execvp)Tj -/T1_1 1 Tf -3.89 0 Td -[(to )-40(execute )-40(the )-40(pr)18(ogram )-40(speci\336ed )-40(on )-40(the )-40(command )-40(line.)-540(All)]TJ --0.018 Tc -12.546 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(maining command)Tj -8.384 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line ar)18(guments ar)]TJ -0.25 Tc 7.75 0 Td -(ep)Tj -0 Tc 1.33 0 Td -[(assed as ar)18(guments to this pr)18(ogram.)]TJ --16.853 -1.2 Td -[(The )-47(par)18(ent )-47(optionally )-47(sets )-47(the )-47(user)-73(\325s )-47(terminal )-47(to )-47(raw )-47(mode.)-547(In )-47(this )-47(case, )-47(the )-47(par)19(ent)]TJ --1.8 -1.2 Td -[(also )-9(sets )-9(an )-9(exit )-9(handler )-9(to )-9(r)18(eset )-9(the )-9(terminal )-9(state )-9(when)]TJ -/TT0 1 Tf -25.023 0 Td -(exit)Tj -/T1_1 1 Tf -2.659 0 Td -[(is )-9(called.)]TJ --0.092 Tc 4.349 0 Td -[(We )-193(d)]TJ -0 Tc 2.257 0 Td -[(escribe )-9(the)]TJ -/TT0 1 Tf --34.289 -1.2 Td -(do_driver)Tj -/T1_1 1 Tf -5.65 0 Td -(function in the next section.)Tj --3.85 -1.2 Td -[(The )-195(par)18(ent )-195(then )-195(calls )-195(the )-195(function)]TJ -/TT0 1 Tf -16.22 0 Td -(loop)Tj -/T1_1 1 Tf -2.845 0 Td -(\(Figur)Tj -0.4447 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.424 0 Td -[(9.12\), )-195(which )-195(copies )-195(everything)]TJ --0.018 Tc -25.004 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ceived )-239(fr)18(om )-239(the )-239(standar)]TJ -0.4886 Tc 11.181 0 Td -(di)Tj -0 Tc 1.391 0 Td -[(nput )-238(to )-238(the )-238(PTY )-238(master )-238(and )-238(everything )-238(fr)18(om )-238(the )-238(PTY)]TJ --13.427 -1.2 Td -[(master )-147(to )-147(standar)]TJ -0.3972 Tc 7.993 0 Td -(do)Tj -0 Tc 1.554 0 Td -[(utput. )-397(For)-397(variety)111(,)-397(we)-397(have )-147(coded )-147(it )-147(in )-147(two )-147(pr)17(ocesses )-147(this )-147(time,)]TJ --9.548 -1.2 Td -[(although a single pr)18(ocess using)]TJ -/TT0 1 Tf -14.11 0 Td -(select)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.1 0 Td -(poll)Tj -/T1_1 1 Tf -[(,)-250(or)-250(multiple thr)18(eads would also work.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5178.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 508.238 Tm -(#include "apue.h")Tj -0 -1.902 TD -[(#define BUFFSIZE)-2400(512)]TJ -0 -1.902 TD -(static void sig_term\(int\);)Tj -0 -1.189 TD -[(static volatile sig_atomic_t)-2400(sigcaught; )-600(/*)-600(set by signal handler */)]TJ -0 -1.902 TD -(void)Tj -0 -1.189 TD -(loop\(int ptym, int ignoreeof\))Tj -T* -({)Tj -2.4 -1.189 Td -[(pid_t )-1200(child;)]TJ -T* -[(int )-2400(nread;)]TJ -T* -[(char )-1800(buf[BUFFSIZE];)]TJ -0 -1.902 TD -(if \(\(child = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(child == 0\) {)-2400(/* child copies stdin to ptym */)]TJ -0.6 -1.189 Td -(for \( ; ; \) {)Tj -2.4 -1.189 Td -(if \(\(nread = read\(STDIN_FILENO, buf, BUFFSIZE\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("read error from stdin"\);)Tj --2.4 -1.189 Td -(else if \(nread == 0\))Tj -2.4 -1.189 Td -[(break; )-3000(/*)-600(EOF on stdin means we\325re done */)]TJ --2.4 -1.189 Td -(if \(writen\(ptym, buf, nread\) != nread\))Tj -2.4 -1.189 Td -(err_sys\("writen error to master pty"\);)Tj --4.8 -1.189 Td -(})Tj -T* -(/*)Tj -0.6 -1.189 Td -[(*)-600(We)-600(always terminate when we encounter an EOF on stdin,)]TJ -0.6 Tc 0 -1.189 TD -(*b)Tj -0 Tc 1.8 0 Td -(ut we notify the parent only if ignoreeof is 0.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(ignoreeof == 0\))Tj -2.4 -1.189 Td -[(kill\(getppid\(\), SIGTERM\);)-1800(/* notify parent */)]TJ --2.4 -1.189 Td -[(exit\(0\); )-1800(/*)-600(and terminate; child can\325t return */)]TJ --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(arent copies ptym to stdout.)Tj --1.8 -1.189 Td -(*/)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47113 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(818)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(168 )-1200(/*)]TJ -0 -1.189 TD -[(169 )-1800(*)-600(Initialize the job ID file.)-1200(Use a record lock to prevent)]TJ -T* -[(170 )-1800(*)-600(more than one printer daemon from running at a time.)]TJ -T* -[(171 )-1800(*)]TJ -T* -[(172 )-1800(*)-600(LOCKING: none, except for record-lock on job ID file.)]TJ -0 -1.189 TD -[(173 )-1800(*/)]TJ -0 -1.189 TD -[(174 )-1200(void)]TJ -T* -[(175 )-1200(init_request\(void\))]TJ -T* -[(176 )-1200({)]TJ -T* -[(177 )-2400(int )-2400(n;)]TJ -T* -[(178 )-2400(char)-2400(name[FILENMSZ];)]TJ -0 -1.902 TD -[(179 )-2400(sprintf\(name,)-600("%s/%s", SPOOLDIR, JOBFILE\);)]TJ -0 -1.189 TD -[(180 )-2400(jobfd)]TJ -0.6 Tc 8.4 0 Td -(=o)Tj -0 Tc 1.8 0 Td -(pen\(name, O_CREAT|O_RDWR, S_IRUSR|S_IWUSR\);)Tj --10.2 -1.189 Td -[(181 )-2400(if)-600(\(write_lock\(jobfd, 0, SEEK_SET, 0\) < 0\))]TJ -T* -[(182 )-4800(log_quit\("daemon)-600(already running"\);)]TJ -0 -1.902 TD -[(183 )-2400(/*)]TJ -0 -1.189 TD -[(184 )-3000(*)-600(Reuse the name buffer for the job counter.)]TJ -T* -[(185 )-3000(*/)]TJ -T* -[(186 )-2400(if)-600(\(\(n = read\(jobfd, name, FILENMSZ\)\) < 0\))]TJ -T* -[(187 )-4800(log_sys\("can\325t)-600(read job file"\);)]TJ -T* -[(188 )-2400(if)-600(\(n == 0\))]TJ -T* -[(189 )-4800(nextjob)]TJ -0.6 Tc 12 0 Td -(=1)Tj -0 Tc 1.8 0 Td -(;)Tj --13.8 -1.189 Td -[(190 )-2400(else)]TJ -T* -[(191 )-4800(nextjob)]TJ -0.6 Tc 12 0 Td -(=a)Tj -0 Tc 1.8 0 Td -(tol\(name\);)Tj --13.8 -1.189 Td -[(192 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3850.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 361.0147 Tm -[([168 )167(\320 )167(182])-668(The)]TJ -/TT0 1 Tf -6.974 0 Td -(init_request)Tj -/T1_1 1 Tf -7.5 0 Td -[(function )-50(does )-50(two )-50(things: )-50(it )-50(places )-50(a )-50(r)18(ecor)]TJ -0.3 Tc 18.663 0 Td -(dl)Tj -0 Tc 1.202 0 Td -[(ock )-50(on )-50(the)]TJ --29.339 -1.2 Td -[(job )-142(\336le,)]TJ -/TT0 1 Tf -3.743 0 Td -(/var/spool/printer/jobno)Tj -/T1_1 1 Tf -0.3925 Tc (,a)Tj -0 Tc 15.543 0 Td -[(nd )-142(it )-142(r)17(eads )-142(the )-142(\336le )-142(to )-142(determine)]TJ --19.286 -1.2 Td -[(the )-155(next )-155(job )-155(number )-155(to )-155(assign.)]TJ --0.092 Tc 14.696 0 Td -[(We )-339(p)]TJ -0 Tc 2.393 0 Td -[(lace )-155(a )-155(write )-155(lock )-155(on )-155(the )-155(entir)]TJ -0.4049 Tc 13.375 0 Td -(e\336)Tj -0 Tc 1.489 0 Td -[(le )-155(to)]TJ --31.953 -1.2 Td -[(indicate )-208(that )-208(the )-208(daemon )-208(is )-208(r)7(unning. )-458(If)-458(someone )-208(tries )-208(to )-208(start )-208(additional)]TJ --0 -1.2 Td -[(copies )-132(of )-132(the )-132(printer )-132(spooling )-132(daemon )-132(while )-132(one )-132(is )-132(alr)18(eady )-132(r)8(unning, )-132(these)]TJ -0 -1.2 TD -[(additional )-175(daemons )-175(will )-175(fail )-175(to )-175(obtain )-175(the )-175(write )-175(lock )-175(and )-175(will )-175(exit.)-676(Thus,)]TJ -T* -[(only )-36(one )-36(copy )-36(of )-36(the )-36(daemon )-36(can )-36(be )-36(r)10(unning )-36(at )-36(a )-36(time.)-536(\(Recall )-36(that )-36(we )-36(used)]TJ -T* -[(this )-316(technique )-316(in )-316(Figur)]TJ -0.5662 Tc 10.924 0 Td -(e1)Tj -0 Tc 1.545 0 Td -[(3.6; )-316(we )-316(discussed )-316(the)]TJ -/TT0 1 Tf -10.776 0 Td -(write_lock)Tj -/T1_1 1 Tf -6.566 0 Td -(macr)Tj -0.5662 Tc 2.204 0 Td -(oi)Tj -0 Tc 1.403 0 Td -(n)Tj --33.418 -1.2 Td -(Section 14.3.\))Tj --5 -1.6 Td -[([183 )167(\320 )167(192])-668(The )-322(job )-322(\336le )-322(contains )-322(an )-322(ASCII )-322(integer )-322(string )-322(r)15(epr)18(esenting )-322(the )-322(next )-322(job)]TJ -5 -1.2 Td -(number)Tj -0.5557 Tc 3.421 0 Td -(.I)Tj -0.3057 Tc 1.143 0 Td -(ft)Tj -0 Tc 0.965 0 Td -[(he )-56(\336le )-56(was )-56(just )-56(cr)18(eated )-56(and )-56(ther)20(efor)18(e)-306(is)-306(e)1(mpty)111(,)-306(we)-306(s)1(et)]TJ -/TT0 1 Tf -24.272 0 Td -(nextjob)Tj -/T1_1 1 Tf --29.8 -1.2 Td -[(to )-17(1.)-517(Otherwise, )-17(we )-17(use)]TJ -/TT0 1 Tf -10.873 0 Td -(atol)Tj -/T1_1 1 Tf -2.667 0 Td -[(to )-17(convert )-17(the )-17(string )-17(to )-17(an )-17(integer )-17(and )-17(use )-17(this)]TJ --13.54 -1.2 Td -[(value )-13(as )-13(the )-13(next )-13(job )-13(number)]TJ -0.5126 Tc 12.719 0 Td -(.W)Tj -0.2626 Tc 1.671 0 Td -(el)Tj -0 Tc 1.033 0 Td -(eave)Tj -/TT0 1 Tf -2.286 0 Td -(jobfd)Tj -/T1_1 1 Tf -3.263 0 Td -[(open )-12(to )-12(the )-12(job )-12(\336le )-12(so )-12(that )-12(we)]TJ --20.97 -1.2 Td -[(can )-263(update )-263(the )-263(job )-263(number )-263(as )-263(jobs )-263(ar)]TJ -0.5133 Tc 18.012 0 Td -(ec)Tj --0.018 Tc 1.436 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ated. )-513(W)]TJ -0.5133 Tc 3.837 0 Td -(ec)Tj -0 Tc 1.436 0 Td -[(an\325t )-263(close )-263(the )-263(\336le,)]TJ --25.578 -1.2 Td -[(because this would r)18(elease the write lock that we\325ve placed on it.)]TJ -0 -1.56 TD -[(On )-11(a )-11(system )-11(wher)]TJ -0.2614 Tc 8.016 0 Td -(eal)Tj -0 Tc 1.793 0 Td -[(ong )-11(integer )-11(is )-11(64 )-11(bits )-11(wide, )-11(we )-11(need )-11(a )-11(buf)18(fer )-11(at )-11(least )-11(21)]TJ --9.809 -1.2 Td -[(bytes )-44(in )-44(size )-44(to )-44(\336t )-44(a )-44(string )-44(r)19(epr)18(esenting )-44(the )-44(lar)18(gest )-44(possible )-44(long )-44(integer)]TJ -0.5439 Tc 31.819 0 Td -(.W)Tj -0 Tc 1.702 0 Td -(e)Tj --33.521 -1.2 Td -[(can )-6(safely )-6(r)18(euse )-6(the )-6(\336lename )-6(buf)18(fer)]TJ -0.256 Tc 15.561 0 Td -(,b)Tj -0 Tc 1.059 0 Td -(ecause)Tj -/TT0 1 Tf -3.185 0 Td -(FILENMSZ)Tj -/T1_1 1 Tf -5.056 0 Td -[(is )-6(de\336ned )-6(to )-6(be )-6(64 )-6(in)]TJ -/TT0 1 Tf --24.861 -1.2 Td -(print.h)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47114 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(498)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(pid_t )Tj -9.6 0 Td -(pid;)Tj --9.6 -1.189 Td -(char )Tj -9.6 0 Td -(buf[5];)Tj --9.6 -1.189 Td -[(struct stat)-3000(statbuf;)]TJ -0 -1.783 TD -(if \(argc != 2\) {)Tj -2.4 -1.189 Td -(fprintf\(stderr, "usage: %s filename\\n", argv[0]\);)Tj -0 -1.189 TD -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(\(fd = open\(argv[1], O_RDWR | O_CREAT | O_TRUNC, FILE_MODE\)\) < 0\ \))Tj -2.4 -1.189 Td -(err_sys\("open error"\);)Tj --2.4 -1.189 Td -(if \(write\(fd, "abcdef", 6\) != 6\))Tj -2.4 -1.189 Td -(err_sys\("write error"\);)Tj --2.4 -1.783 Td -(/* turn on set-group-ID and turn off group-execute */)Tj -T* -(if \(fstat\(fd, &statbuf\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("fstat error"\);)Tj --2.4 -1.189 Td -(if \(fchmod\(fd, \(statbuf.st_mode & \367S_IXGRP\) | S_ISGID\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("fchmod error"\);)Tj --2.4 -1.783 Td -(TELL_WAIT\(\);)Tj -0 -1.783 TD -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(pid > 0\) {)-1800(/* parent */)]TJ -0.6 -1.189 Td -(/* write lock entire file */)Tj -0 -1.189 TD -(if \(write_lock\(fd, 0, SEEK_SET, 0\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("write_lock error"\);)Tj --2.4 -1.783 Td -(TELL_CHILD\(pid\);)Tj -0 -1.783 TD -(if \(waitpid\(pid, NULL, 0\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("waitpid error"\);)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -12.6 0 Td -(/* child */)Tj --12 -1.189 Td -[(WAIT_PARENT\(\); )-3000(/*)-600(wait for parent to set lock */)]TJ -T* -(set_fl\(fd, O_NONBLOCK\);)Tj -T* -(/* first let\325s see what error we get if region is locked */)Tj -0 -1.189 TD -[(if \(read_lock\(fd, 0, SEEK_SET, 0\) != -1\))-2400(/* no wait */)]TJ -2.4 -1.189 Td -(err_sys\("child: read_lock succeeded"\);)Tj --2.4 -1.189 Td -(printf\("read_lock of already-locked region returns %d\\n",)Tj -1.2 -1.189 Td -(errno\);)Tj --1.2 -1.783 Td -(/* now try to read the mandatory locked file */)Tj -T* -(if \(lseek\(fd, 0, SEEK_SET\) == -1\))Tj -2.4 -1.189 Td -(err_sys\("lseek error"\);)Tj --2.4 -1.189 Td -(if \(read\(fd, buf, 2\) < 0\))Tj -2.4 -1.189 Td -(err_ret\("read failed \(mandatory locking works\)"\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(printf\("read OK \(no mandatory locking\), buf = %2.2s\\n",)Tj -1.2 -1.189 Td -(buf\);)Tj --6 -1.189 Td -(})Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1465.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 207.4711 134.1329 Tm -(Figure 14.12)Tj -/T1_1 1 Tf -6.195 0 Td -(Determine whether mandatory locking is supported)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47115 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.3)]TJ -36.622 0 Td -(Recor)Tj -0.5 Tc 2.514 0 Td -(dL)Tj -0 Tc 1.722 0 Td -(ocking)Tj -/T1_1 1 Tf -4.975 0 Td -(493)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(Figur)Tj -0.301 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.28 0 Td -[(4.8 )-51(shows )-51(the )-51(r)18(esulting )-51(data )-51(str)8(uctur)18(es )-51(after )-51(both )-51(the )-51(par)18(ent )-51(and )-51(the )-51(child )-51(have)]TJ --3.663 -1.2 Td -(paused.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1341.24 5318 1008 1008 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 138.9193 635.7637 Tm -[(par)18(ent pr)18(ocess table entry)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 5750 576 72 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 5678 576 72 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 5606 576 72 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 5462 576 144 re -S -Q -BT -/T1_0 1 Tf -0.25 Tc 13.9975 0 0 13.9975 182.9411 551.5407 Tm -(...)Tj -0 Tc 6.9987 0 0 6.9987 149.2893 576.7362 Tm -(fd1:)Tj -0 -1.029 TD -(fd2:)Tj -T* -(fd3:)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1845.25 5822.25 cm -0 0 m -0 -216 l -S -Q -Q -BT -/T1_0 1 Tf -6.9983 0 0 6.9983 170.3791 591.0581 Tm -(fd)Tj --0.572 -0.714 Td -(\337ags)Tj -4.471 0.714 Td -(\336le)Tj --0.923 -0.714 Td -(pointer)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1341.24 3950 1008 1008 re -S -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 141.4775 498.8903 Tm -[(child pr)18(ocess table entry)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -1629.24 4382 576 72 re -S -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -1629.24 4310 576 72 re -S -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -1629.24 4238 576 72 re -S -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -1629.24 4094 576 144 re -S -Q -BT -/T1_0 1 Tf -0.25 Tc 13.995 0 0 13.995 182.9081 414.6907 Tm -(...)Tj -0 Tc 6.9975 0 0 6.9975 149.2625 439.882 Tm -(fd1:)Tj -0 -1.029 TD -(fd2:)Tj -0 -1.029 TD -(fd3:)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1845.25 4454.25 cm -0 0 m -0 -216 l -S -Q -Q -BT -/T1_0 1 Tf -6.9971 0 0 6.9971 170.3484 454.2092 Tm -(fd)Tj --0.572 -0.714 Td -(\337ags)Tj -4.471 0.714 Td -(\336le)Tj --0.923 -0.714 Td -(pointer)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -2925.24 6038 720 144 re -S -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 302.1149 608.9476 Tm -(\336le status \337ags)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -2925.24 5894 720 144 re -S -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 298.3468 594.5189 Tm -[(curr)18(ent \336le of)18(fset)]TJ -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -2925.24 5750 720 144 re -S -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 301.9987 580.0918 Tm -(v-node pointer)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -2925.24 5246 720 144 re -S -Q -BT -/T1_0 1 Tf -7.9947 0 0 7.9947 302.0606 529.6903 Tm -(\336le status \337ags)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -2925.24 5102 720 144 re -S -Q -BT -/T1_0 1 Tf -7.9942 0 0 7.9942 298.2931 515.2689 Tm -[(curr)18(ent \336le of)18(fset)]TJ -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -2925.24 4958 720 144 re -S -Q -BT -/T1_0 1 Tf -7.9938 0 0 7.9938 301.9444 500.8492 Tm -(v-node pointer)Tj -0.112 15.025 Td -(\336le table entry)Tj -0 -9.9 TD -(\336le table entry)Tj -6.9945 0 0 6.9945 427.5475 556.6057 Tm -(v-node information)Tj -/TT0 1 Tf -1.085 -2.057 Td -(lockf)Tj -/T1_0 1 Tf -3.25 0 Td -(pointer)Tj -/TT0 1 Tf --1.815 -1.543 Td -(v_data)Tj -/T1_0 1 Tf --2.383 -4.114 Td -(i-node information)Tj -0.796 -2.057 Td -[(curr)18(ent \336le size)]TJ -/TT0 1 Tf -1.287 -1.543 Td -(i_vnode)Tj -ET -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5678.25 cm -0 0 m -0 -396 l -720 -396 l -720 0 l -0 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5138.25 cm -0 0 m -0 -396 l -720 -396 l -720 0 l -0 0 l -720 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5390.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 5390.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 5390.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 5390.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 5390.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 5390.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 5390.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 5390.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 5390.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 5390.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 4958.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 4958.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 4958.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 4958.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 4958.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 4958.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 4958.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 4958.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 4958.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 4958.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 4850.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 4850.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 4850.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 4850.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 4850.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 4850.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 4850.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 4850.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 4850.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 4850.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5498.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 5498.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 5498.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 5498.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 5498.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 5498.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 5498.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 5498.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 5498.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 5498.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 422.124 515.96 cm -0 0 m --4.392 5.976 l --1.08 7.344 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 4221.2402 5159.6001 cm -0 0 m --43.92 59.76 l --10.8 73.44 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4293.2402 5336 cm -0 0 m --72 0 l --120 0 -132.48 -28.32 -109.44 -84.96 c --74.88 -169.92 l -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 496.284 567.8 cm -0 0 m -3.816 -6.408 l -0.36 -7.416 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 4962.8398 5678 cm -0 0 m -38.16 -64.08 l -3.6 -74.16 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4869.2402 4796 cm -0 0 m -180 0 l -300 0 315.96 145.8 227.88 437.4 c -95.76 874.8 l -S -Q -Q -BT -/T1_0 1 Tf -7.9923 0 0 7.9923 425.3035 570.492 Tm -(v-node table entry)Tj -2.63 -6.75 Td -(i-node)Tj -ET -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -3285.24 4130 720 324 re -S -Q -BT -/T1_0 1 Tf -7.9918 0 0 7.9918 343.6413 437.7932 Tm -(lock header)Tj -/TT0 1 Tf -6.9929 0 0 6.9929 335.5445 416.2156 Tm -(lockf_entry)Tj -/T1_0 1 Tf -6.85 0 Td -(list)Tj -ET -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3285.25 4238.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3361.25 4238.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3437.25 4238.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3513.25 4238.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3589.25 4238.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3665.25 4238.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3741.25 4238.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3817.25 4238.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3893.25 4238.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3969.25 4238.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -2709.24 3770 864 108 re -S -Q -BT -/T1_0 1 Tf -7.9914 0 0 7.9914 306.9123 380.2291 Tm -(link)Tj -ET -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -2709.24 3662 864 108 re -S -Q -BT -/T1_0 1 Tf -7.9909 0 0 7.9909 305.4236 369.4186 Tm -(\337ags)Tj -ET -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -2709.24 3554 864 108 re -S -Q -BT -/T1_0 1 Tf -7.9904 0 0 7.9904 289.4844 358.6094 Tm -[(starting of)18(fset)]TJ -ET -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -2709.24 3446 864 108 re -S -Q -BT -/T1_0 1 Tf -7.9899 0 0 7.9899 290.6615 347.8015 Tm -[(ending of)18(fset)]TJ -ET -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -2709.24 3338 864 108 re -S -Q -BT -/TT0 1 Tf -6.9908 0 0 6.9908 280.6083 336.9949 Tm -(lock_owner)Tj -/T1_0 1 Tf -6.25 0 Td -(pointer)Tj -ET -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -4005.24 3770 864.004 108 re -S -Q -BT -/T1_0 1 Tf -7.989 0 0 7.989 436.2416 380.1151 Tm -(link)Tj -ET -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -4005.24 3662 864.004 108 re -S -Q -BT -/T1_0 1 Tf -7.9885 0 0 7.9885 434.7455 369.3078 Tm -(\337ags)Tj -ET -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -4005.24 3554 864.004 108 re -S -Q -BT -/T1_0 1 Tf -7.988 0 0 7.988 418.8033 358.5018 Tm -[(starting of)18(fset)]TJ -ET -q -0.0998501 0 0 0.0998501 0 0 cm -3.2 w 1 j 1 J -4005.24 3446 864.004 108 re -S -Q -BT -/T1_0 1 Tf -7.9875 0 0 7.9875 419.9723 347.6972 Tm -[(ending of)18(fset)]TJ -ET -q -0.0998441 0 0 0.0998441 0 0 cm -3.2 w 1 j 1 J -4005.24 3338 864.004 108 re -S -Q -BT -/TT0 1 Tf -6.9887 0 0 6.9887 409.9144 336.8938 Tm -(lock_owner)Tj -/T1_0 1 Tf -6.25 0 Td -(pointer)Tj -ET -q -0.0998381 0 0 0.0998381 0 0 cm -3.2 w 1 j 1 J -2781.24 2726 720 324 re -S -Q -BT -/T1_0 1 Tf -7.9866 0 0 7.9866 280.2088 297.34 Tm -(owner information)Tj -0.295 -2.7 Td -[(par)18(ent pr)18(ocess ID)]TJ -ET -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2781.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2857.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2933.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3009.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3085.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3161.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3237.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3313.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3389.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3465.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -4077.24 2726 720 324 re -S -Q -BT -/T1_0 1 Tf -7.9861 0 0 7.9861 409.5667 297.3222 Tm -(owner information)Tj -0.618 -2.7 Td -[(child pr)18(ocess ID)]TJ -ET -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4077.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4153.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4229.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4305.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4381.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4457.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4533.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4609.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4685.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4761.25 2834.25 cm -0 0 m -36 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9856 0 0 7.9856 335.1202 447.8332 Tm -(struct lockf)Tj --8.1 -7.2 Td -(struct lockf_entry)Tj -16.2 0 Td -(struct lockf_entry)Tj --15.9 -10.35 Td -(struct lock_owner)Tj -16.2 0 Td -(struct lock_owner)Tj -ET -q -0.9982016 0 0 0.9982016 0 0 cm -q 1 0 0 1 396.924 382.4 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998202 0 0 0.0998202 0 0 cm -1 j 1 J -q 1 0 0 1 3969.24 3824 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998202 0 0 0.0998202 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3501.25 3824.25 cm -0 0 m -396 0 l -S -Q -Q -q -0.9981417 0 0 0.9981417 0 0 cm -q 1 0 0 1 404.124 449 cm -0 0 m -3.816 6.336 l -6.336 3.816 l -f -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -1 j 1 J -q 1 0 0 1 4041.24 4490 cm -0 0 m -38.16 63.36 l -63.36 38.16 l -h -S -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4242.8398 5444 cm -0 0 m --72 0 l --120 0 -135.6 -141 -118.8 -423 c --102 -705 -110.76 -863.16 -145.08 -897.48 c --196.56 -948.96 l -S -Q -Q -q -0.9980818 0 0 0.9980818 0 0 cm -q 1 0 0 1 267.324 387.8 cm -0 0 m --5.76 4.68 l --2.88 6.84 l -f -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -1 j 1 J -q 1 0 0 1 2673.24 3878 cm -0 0 m --57.6 46.8 l --28.8 68.4 l -h -S -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3342.8401 4184 cm -0 0 m --72 0 l --120 0 -237.6 -3 -424.8 -9 c --612 -15 -717.6 -42 -741.6 -90 c --765.6 -138 -760.32 -185.04 -725.76 -231.12 c --673.92 -300.24 l -S -Q -Q -q -0.9980219 0 0 0.9980219 0 0 cm -q 1 0 0 1 274.524 305 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -1 j 1 J -q 1 0 0 1 2745.24 3050 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2766.8401 3392 cm -0 0 m --72 0 l --120 0 -153.6 -33 -172.8 -99 c --192 -165 -189.6 -222 -165.6 -270 c --141.6 -318 -112.8 -342 -79.2 -342 c --28.8 -342 l -S -Q -Q -q -0.997962 0 0 0.997962 0 0 cm -q 1 0 0 1 404.124 305 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0997962 0 0 0.0997962 0 0 cm -1 j 1 J -q 1 0 0 1 4041.24 3050 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0997962 0 0 0.0997962 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4062.8401 3392 cm -0 0 m --72 0 l --120 0 -153.6 -33 -172.8 -99 c --192 -165 -189.6 -222 -165.6 -270 c --141.6 -318 -112.8 -342 -79.2 -342 c --28.8 -342 l -S -Q -Q -q -0.9979021 0 0 0.9979021 0 0 cm -q 1 0 0 1 288.924 614.6 cm -0 0 m --4.104 -6.192 l --6.552 -3.528 l -f -Q -Q -q -0.0997902 0 0 0.0997902 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 6146 cm -0 0 m --41.04 -61.92 l --65.52 -35.28 l -h -S -Q -Q -q -0.0997902 0 0 0.0997902 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 5786 cm -0 0 m -180 0 l -300 0 425.16 59.16 555.48 177.48 c -750.96 354.96 l -S -Q -Q -q -0.9978423 0 0 0.9978423 0 0 cm -q 1 0 0 1 288.924 611 cm -0 0 m --3.816 -6.336 l --6.336 -3.816 l -f -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 6110 cm -0 0 m --38.16 -63.36 l --63.36 -38.16 l -h -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 5714 cm -0 0 m -180 0 l -300 0 425.16 65.16 555.48 195.48 c -750.96 390.96 l -S -Q -Q -q -0.9977824 0 0 0.9977824 0 0 cm -q 1 0 0 1 288.924 542.6 cm -0 0 m --7.2 1.872 l --5.472 5.04 l -f -Q -Q -q -0.0997782 0 0 0.0997782 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 5426 cm -0 0 m --72 18.72 l --54.72 50.4 l -h -S -Q -Q -q -0.0997782 0 0 0.0997782 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 5642 cm -0 0 m -180 0 l -300 0 424.92 -35.4 554.76 -106.2 c -749.52 -212.4 l -S -Q -Q -q -0.9977225 0 0 0.9977225 0 0 cm -q 1 0 0 1 288.924 607.4 cm -0 0 m -0.072 -7.416 l --3.456 -6.552 l -f -Q -Q -q -0.0997723 0 0 0.0997723 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 6074 cm -0 0 m -0.72 -74.16 l --34.56 -65.52 l -h -S -Q -Q -q -0.0997723 0 0 0.0997723 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 4418 cm -0 0 m -180 0 l -300 0 425.76 274.8 557.28 824.4 c -754.56 1648.8 l -S -Q -Q -q -0.9976627 0 0 0.9976627 0 0 cm -q 1 0 0 1 418.524 571.4 cm -0 0 m --7.344 1.152 l --5.904 4.464 l -f -Q -Q -q -0.0997663 0 0 0.0997663 0 0 cm -1 j 1 J -q 1 0 0 1 4185.2402 5714 cm -0 0 m --73.44 11.52 l --59.04 44.64 l -h -S -Q -Q -q -0.0997663 0 0 0.0997663 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3573.24 5822 cm -0 0 m -180 0 l -300 0 400.92 -17.52 482.76 -52.56 c -605.52 -105.12 l -S -Q -Q -q -0.9976028 0 0 0.9976028 0 0 cm -q 1 0 0 1 418.524 564.2 cm -0 0 m --1.08 -7.344 l --4.392 -5.976 l -f -Q -Q -q -0.0997603 0 0 0.0997603 0 0 cm -1 j 1 J -q 1 0 0 1 4185.2402 5642 cm -0 0 m --10.8 -73.44 l --43.92 -59.76 l -h -S -Q -Q -q -0.0997603 0 0 0.0997603 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3573.24 5030 cm -0 0 m -180 0 l -300 0 401.52 100.92 484.56 302.76 c -609.12 605.52 l -S -Q -Q -BT -/T1_1 1 Tf -7.9803 0 0 7.9803 218.5657 246.7921 Tm -(Figure 14.8)Tj -/T1_0 1 Tf -5.695 0 Td -[(The Fr)18(eeBSD data str)8(uctur)18(es for r)18(ecor)]TJ -0.25 Tc 16.552 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(ocking)Tj --0.092 Tc 9.9754 0 0 9.9754 147.2375 220.457 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-158(shown )-158(the )-158(data )-158(str)8(uctur)18(es )-158(that )-158(r)18(esult )-158(fr)18(om )-158(the)]TJ -/TT0 1 Tf -23.439 0 Td -(open)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.058 0 Td -(fork)Tj -/T1_0 1 Tf -0.4079 Tc (,a)Tj -0 Tc 3.558 0 Td -(nd)Tj -/TT0 1 Tf -1.601 0 Td -(dup)Tj -/T1_0 1 Tf -2.208 0 Td -(calls)Tj --37.05 -1.2 Td -[(earlier )-54(\(Figur)18(es )-54(3.9 )-54(and )-54(8.2\).)-554(What )-54(is )-54(new )-54(her)]TJ -0.3036 Tc 20.36 0 Td -(ea)Tj --0.018 Tc 1.283 0 Td -[(re )-90(t)]TJ -0 Tc 1.486 0 Td -(he)Tj -/TT0 1 Tf -1.365 0 Td -(lockf)Tj -/T1_0 1 Tf -3.304 0 Td -[(str)8(uctur)18(es )-54(that )-54(ar)]TJ -0.3036 Tc 7.611 0 Td -(el)Tj -0 Tc 1.074 0 Td -(inked)Tj --36.481 -1.2 Td -[(together )-105(fr)18(om )-105(the )-105(i-node )-105(str)9(uctur)18(e. )-355(Each)]TJ -/TT0 1 Tf -18.792 0 Td -(lockf)Tj -/T1_0 1 Tf -3.355 0 Td -[(str)8(uctur)]TJ -0.3548 Tc 3.49 0 Td -(ed)Tj -0 Tc 1.445 0 Td -[(escribes )-105(one )-105(locked )-105(r)19(egion)]TJ --27.081 -1.2 Td -[(\(de\336ned )-51(by )-51(an )-51(of)18(fset )-51(and )-51(length\) )-51(for )-51(a )-51(given )-51(pr)21(ocess. )-301(W)]TJ -0.3008 Tc 25.113 0 Td -(es)Tj -0 Tc 1.204 0 Td -[(how )-51(two )-51(of )-51(these )-51(str)9(uctur)18(es:)]TJ --26.317 -1.2 Td -[(one )-167(for )-167(the )-167(par)18(ent\325s )-167(call )-167(to)]TJ -/TT0 1 Tf -12.735 0 Td -(write_lock)Tj -/T1_0 1 Tf -6.417 0 Td -[(and )-167(one )-167(for )-167(the )-167(child\325s )-167(call )-167(to)]TJ -/TT0 1 Tf -14.198 0 Td -(read_lock)Tj -/T1_0 1 Tf -(.)Tj --33.35 -1.2 Td -[(Each str)8(uctur)]TJ -0.25 Tc 5.877 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(ontains the corr)18(esponding pr)18(ocess ID.)]TJ --5.25 -1.2 Td -[(In )-132(the )-132(par)18(ent, )-132(closing )-132(any )-132(one )-132(of)]TJ -/TT0 1 Tf -15.352 0 Td -(fd1)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -2.432 0 Td -(fd2)Tj -/T1_0 1 Tf -0.3819 Tc (,o)Tj -0 Tc 2.978 0 Td -(r)Tj -/TT0 1 Tf -0.777 0 Td -(fd3)Tj -/T1_0 1 Tf -2.182 0 Td -[(causes )-132(the )-132(par)18(ent\325s )-132(lock )-132(to )-132(be)]TJ --0.018 Tc -25.521 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(leased. )-267(When)-268(any )-17(one )-17(of )-17(these )-17(thr)16(ee )-17(\336le )-17(descriptors )-17(is )-17(closed, )-17(the )-17(kernel )-17(goes )-17(thr)16(ough)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47116 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -33.857 0 Td -[(Chapter )-250(21)-750(Solutions)]TJ -/T1_1 1 Tf -11.976 0 Td -(945)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 160.2404 668.9599 Tm -[(that )-106(it )-106(was )-106(not )-106(blank, )-106(and )-106(then )-106(r)18(ead )-106(the )-106(data )-106(r)14(ecor)18(d, )-106(which )-106(could )-106(be )-106(erased )-106(by)]TJ -/TT0 1 Tf -0 -1.2 Td -(_db_dodelete)Tj -/T1_0 1 Tf -7.829 0 Td -[(between )-378(the )-378(calls )-378(to)]TJ -/TT0 1 Tf -10.455 0 Td -(_db_readidx)Tj -/T1_0 1 Tf -7.229 0 Td -(and)Tj -/TT0 1 Tf -2.321 0 Td -(_db_readdat)Tj -/T1_0 1 Tf -7.229 0 Td -(in)Tj -/TT0 1 Tf --35.062 -1.2 Td -(db_nextrec)Tj -/T1_0 1 Tf -(.)Tj -/T1_1 1 Tf --3.065 -1.84 Td -(20.2)Tj -/T1_0 1 Tf -3.065 0 Td -[(Assume )-208(that)]TJ -/TT0 1 Tf -6.24 0 Td -(db_nextrec)Tj -/T1_0 1 Tf -6.458 0 Td -(calls)Tj -/TT0 1 Tf -2.408 0 Td -(_db_readidx)Tj -/T1_0 1 Tf -0.4576 Tc (,w)Tj -0 Tc 8.142 0 Td -[(hich )-208(r)18(eads )-208(the )-208(key )-208(into )-208(the)]TJ --23.247 -1.2 Td -[(index )-183(buf)18(fer )-183(for )-183(the )-183(pr)20(ocess. )-433(This)-432(pr)18(ocess )-183(is )-183(then )-183(stopped )-183(by )-183(the )-183(kernel, )-183(and)]TJ -0 -1.2 TD -[(another )-43(pr)18(ocess )-43(r)7(uns. )-293(This)-294(other )-43(pr)18(ocess )-43(calls)]TJ -/TT0 1 Tf -20.737 0 Td -(db_delete)Tj -/T1_0 1 Tf -0.2933 Tc (,a)Tj -0 Tc 6.443 0 Td -[(nd )-43(the )-43(r)18(ecor)]TJ -0.2932 Tc 5.389 0 Td -(db)Tj -0 Tc 1.457 0 Td -(eing)Tj --0.018 Tc -34.027 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad )-18(by )-18(the )-18(other )-18(pr)18(ocess )-18(is )-18(deleted.)-518(Both )-18(its )-18(key )-18(and )-18(its )-18(data )-18(ar)]TJ -0.2678 Tc 27.447 0 Td -(er)Tj -0 Tc 1.124 0 Td -[(ewritten )-18(in )-18(the)]TJ --29.427 -1.2 Td -[(two )-76(\336les )-76(as )-76(all )-76(blanks.)-576(The )-76(\336rst )-76(pr)16(ocess )-76(r)18(esumes )-76(and )-76(calls)]TJ -/TT0 1 Tf -26.537 0 Td -(_db_readdat)Tj -/T1_0 1 Tf -6.926 0 Td -[(\(fr)18(om)]TJ -/TT0 1 Tf --33.463 -1.2 Td -(db_nextrec)Tj -/T1_0 1 Tf -0.8376 Tc (\)a)Tj -0 Tc 7.671 0 Td -[(nd )-588(r)18(eads )-588(the )-588(all-blank )-588(data )-588(r)20(ecor)18(d. )-838(The)]TJ --0.018 Tc 21.676 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad )-588(lock )-588(by)]TJ -/TT0 1 Tf --30.203 -1.2 Td -(db_nextrec)Tj -/T1_0 1 Tf -6.263 0 Td -[(allows )-13(it )-13(to )-13(do )-13(the )-13(r)17(ead )-13(of )-13(the )-13(index )-13(r)18(ecor)18(d, )-13(followed )-13(by )-13(the )-13(r)18(ead )-13(of)]TJ --6.263 -1.2 Td -[(the )-344(data )-344(r)18(ecor)18(d, )-344(as )-344(an )-344(atomic )-344(operation )-344(\(with )-344(r)19(egar)18(d)-594(to)-594(other )-344(cooperating)]TJ -T* -[(pr)18(ocesses using the same database\).)]TJ -/T1_1 1 Tf --3.065 -1.84 Td -(20.3)Tj -/T1_0 1 Tf --0.055 Tc 3.065 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-18(mandatory )-18(locking, )-18(other )-18(r)18(eaders )-18(and )-18(writers )-18(ar)]TJ -0.2683 Tc 22.508 0 Td -(ea)Tj --0.018 Tc 1.247 0 Td -(ff)Tj -0 Tc 0.648 0 Td -[(ected. )-268(Other)]TJ --0.018 Tc 5.943 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ads )-18(and)]TJ --32.439 -1.2 Td -[(writes )-117(ar)]TJ -0.3669 Tc 3.993 0 Td -(eb)Tj -0 Tc 1.399 0 Td -[(locked )-117(by )-117(the )-117(kernel )-117(until )-117(the )-117(locks )-117(placed )-117(by)]TJ -/TT0 1 Tf -21.283 0 Td -(_db_writeidx)Tj -/T1_0 1 Tf -7.567 0 Td -(and)Tj -/TT0 1 Tf --34.242 -1.2 Td -(_db_writedat)Tj -/T1_0 1 Tf -7.45 0 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(er)Tj -0 Tc 1.106 0 Td -(emoved.)Tj -/T1_1 1 Tf --12.498 -1.84 Td -(20.5)Tj -/T1_0 1 Tf -3.065 0 Td -[(By )-155(writing )-155(the )-155(data )-155(r)18(ecor)]TJ -0.4051 Tc 11.609 0 Td -(db)Tj -0 Tc 1.569 0 Td -(efor)Tj -0.4051 Tc 1.735 0 Td -(et)Tj -0 Tc 1.21 0 Td -[(he )-155(index )-155(r)18(ecor)18(d, )-155(we )-155(pr)18(otect )-155(ourselves )-155(fr)18(om)]TJ --16.124 -1.2 Td -[(generating )-130(a )-130(corr)8(upt )-130(r)18(ecor)18(d)-380(if)-380(the )-130(pr)18(ocess )-130(should )-130(be )-130(killed )-130(in )-130(between )-130(the )-130(two)]TJ -0 -1.2 Td -[(writes. )-391(If)-390(the )-141(pr)18(ocess )-141(wer)19(e)-391(to)-391(w)1(rite )-141(the )-141(index )-141(r)19(ecor)]TJ -0.3906 Tc 23.571 0 Td -(d\336)Tj -0 Tc 1.607 0 Td -[(rst, )-140(but )-140(be )-140(killed )-140(befor)16(e)]TJ --25.178 -1.2 Td -[(writing )-199(the )-199(data )-199(r)17(ecor)18(d, )-199(then )-199(we\325d )-199(have )-199(a )-199(valid )-199(index )-199(r)15(ecor)]TJ -0.4494 Tc 27.934 0 Td -(dt)Tj -0 Tc 1.386 0 Td -[(hat )-199(pointed )-199(to)]TJ --29.32 -1.2 Td -(invalid data.)Tj -/TT1 1 Tf --6.665 -3.12 Td -[(Chapter )-278(21)]TJ -/T1_1 1 Tf -3.6 -2.56 Td -(21.5)Tj -/T1_0 1 Tf -3.065 0 Td -(Her)Tj -0.3283 Tc 1.688 0 Td -(ea)Tj --0.018 Tc 1.307 0 Td -[(re )-114(s)]TJ -0 Tc 1.608 0 Td -[(ome )-78(hints.)-578(Ther)]TJ -0.3282 Tc 7.32 0 Td -(ea)Tj --0.018 Tc 1.307 0 Td -[(re )-114(t)]TJ -0 Tc 1.51 0 Td -[(wo )-78(places )-78(to )-78(check )-78(for )-78(queued )-78(jobs: )-78(the )-78(printer)]TJ --14.741 -1.2 Td -[(spooling )-25(daemon\325s )-25(queue )-25(and )-25(the )-25(network )-25(printer)-76(\325s )-25(internal )-25(queue.)]TJ --0.092 Tc 30.656 0 Td -(Ta)Tj -0 Tc 1.021 0 Td -[(ke )-25(car)]TJ -0.2755 Tc 2.631 0 Td -(et)Tj -0 Tc 1.081 0 Td -(o)Tj --35.389 -1.2 Td -[(pr)18(event )-87(one )-87(user )-87(fr)18(om )-87(being )-87(able )-87(to )-87(cancel )-87(someone )-87(else\325s )-87(print )-87(job.)-587(Of )-87(course,)]TJ -T* -[(the super)8(user should be able to cancel any job.)]TJ -/T1_1 1 Tf --3.065 -1.84 Td -(21.7)Tj -/T1_0 1 Tf --0.092 Tc 3.065 0 Td -[(We )-506(d)]TJ -0 Tc 2.57 0 Td -[(on\325t )-322(need )-322(to )-322(pr)18(od )-322(the )-322(daemon, )-322(because )-322(we )-322(don\325t )-322(need )-322(to )-322(r)16(er)18(ead )-322(the)]TJ --2.57 -1.2 Td -[(con\336guration )-96(\336le )-96(until )-96(we )-96(need )-96(to )-96(print )-96(a )-96(\336le.)-594(The)]TJ -/TT0 1 Tf -23.482 0 Td -(printer_thread)Tj -/T1_0 1 Tf -8.746 0 Td -(function)Tj --32.228 -1.2 Td -[(checks )-135(whether )-135(it )-135(needs )-135(to )-135(r)19(er)18(ead )-135(the )-135(con\336guration )-135(\336le )-135(befor)]TJ -0.3849 Tc 27.983 0 Td -(ee)Tj -0 Tc 1.343 0 Td -[(ach )-135(attempt )-135(to)]TJ --29.326 -1.2 Td -[(send a job to the printer)74(.)]TJ -/T1_1 1 Tf --3.065 -1.84 Td -(21.9)Tj -/T1_0 1 Tf --0.092 Tc 3.065 0 Td -[(We )-259(n)]TJ -0 Tc 2.294 0 Td -[(eed )-75(to )-75(null-terminate )-75(the )-75(string )-75(we )-75(write )-75(to )-75(the )-75(job )-75(\336le )-75(\(r)18(ecall )-75(that)]TJ -/TT0 1 Tf -30.041 0 Td -(strlen)Tj -/T1_0 1 Tf --32.335 -1.2 Td -[(doesn\325t )-261(include )-261(the )-261(terminating )-261(null )-261(byte )-261(when )-261(it )-261(calculates )-261(the )-261(length )-261(of )-261(a)]TJ -T* -[(string\). )-315(Ther)]TJ -0.3155 Tc 5.774 0 Td -(ea)Tj --0.018 Tc 1.294 0 Td -[(re )-102(t)]TJ -0 Tc 1.498 0 Td -[(wo )-65(simple )-65(appr)18(oaches: )-65(either )-65(we )-65(can )-65(add )-65(1 )-65(to )-65(the )-65(number )-65(of)]TJ --8.566 -1.2 Td -[(bytes )-49(we )-49(write, )-49(or )-49(we )-49(can )-49(use )-49(the)]TJ -/TT0 1 Tf -15.288 0 Td -(dprintf)Tj -/T1_0 1 Tf -4.499 0 Td -[(function )-49(instead )-49(of )-49(calling)]TJ -/TT0 1 Tf -11.948 0 Td -(sprintf)Tj -/T1_0 1 Tf --31.735 -1.2 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(write)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47117 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -33.857 0 Td -[(Chapter )-250(15)-750(Solutions)]TJ -/T1_1 1 Tf -11.976 0 Td -(937)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 160.2404 668.9599 Tm -[(signal )-80(handler)74(,)]TJ -/TT0 1 Tf -6.921 0 Td -(write)Tj -/T1_0 1 Tf -3.33 0 Td -[(fails )-80(with)]TJ -/TT0 1 Tf -4.533 0 Td -(errno)Tj -/T1_0 1 Tf -3.33 0 Td -[(set )-80(to)]TJ -/TT0 1 Tf -2.762 0 Td -(EPIPE)Tj -/T1_0 1 Tf -0.5804 Tc (.W)Tj -0 Tc 4.775 0 Td -(ith)Tj -/TT0 1 Tf -1.529 0 Td -(poll)Tj -/T1_0 1 Tf -0.3304 Tc (,h)Tj -0 Tc 3.562 0 Td -(owever)Tj -0.3304 Tc 3.224 0 Td -(,t)Tj -0 Tc 0.906 0 Td -(he)Tj --34.874 -1.2 Td -(behavior varies by platform.)Tj -/T1_1 1 Tf --3.065 -1.84 Td -(15.8)Tj -/T1_0 1 Tf -3.065 0 Td -[(Anything )-122(written )-122(by )-122(the )-122(child )-122(to )-122(standar)]TJ -0.3723 Tc 18.626 0 Td -(de)Tj -0 Tc 1.462 0 Td -[(rr)18(or )-122(appears )-122(wher)18(ever )-122(the )-122(par)17(ent\325s)]TJ --20.088 -1.2 Td -(standar)Tj -0.2843 Tc 3.32 0 Td -(de)Tj -0 Tc 1.374 0 Td -[(rr)18(or )-34(would )-34(appear)]TJ -0.5343 Tc 8.169 0 Td -(.T)Tj -0.2843 Tc 1.305 0 Td -(os)Tj -0 Tc 1.254 0 Td -[(end )-34(standar)]TJ -0.2842 Tc 5.276 0 Td -(de)Tj -0 Tc 1.374 0 Td -[(rr)18(or )-34(back )-34(to )-34(the )-34(par)18(ent, )-34(include)]TJ --22.073 -1.2 Td -[(the shell r)18(edir)18(ection)]TJ -/TT0 1 Tf -9.007 0 Td -(2>&1)Tj -/T1_0 1 Tf -2.65 0 Td -(in the)Tj -/T1_2 1 Tf -2.76 0 Td -(cmdstring)Tj -/T1_0 1 Tf -(.)Tj -/T1_1 1 Tf --17.482 -1.84 Td -(15.9)Tj -/T1_0 1 Tf -3.065 0 Td -(The)Tj -/TT0 1 Tf -1.97 0 Td -(popen)Tj -/T1_0 1 Tf -3.296 0 Td -(function)Tj -/TT0 1 Tf -4.003 0 Td -(fork)Tj -/T1_0 1 Tf -0.296 Tc (sac)Tj -0 Tc 4.36 0 Td -[(hild, )-46(and )-46(the )-46(child )-46(executes )-46(the )-46(shell.)-546(The )-46(shell )-46(in)]TJ --13.629 -1.2 Td -[(turn )-96(calls)]TJ -/TT0 1 Tf -4.547 0 Td -(fork)Tj -/T1_0 1 Tf -0.3457 Tc (,a)Tj -0 Tc 3.496 0 Td -[(nd )-96(the )-96(child )-96(of )-96(the )-96(shell )-96(executes )-96(the )-96(command )-96(string.)-593(When)]TJ -/T1_2 1 Tf --8.043 -1.2 Td -(cmdstring)Tj -/T1_0 1 Tf -4.415 0 Td -[(terminates, )-35(the )-35(shell )-35(is )-35(waiting )-35(for )-35(this )-35(to )-35(happen.)-539(The )-35(shell )-35(then )-35(exits,)]TJ --4.415 -1.2 Td -(which is what the)Tj -/TT0 1 Tf -8.077 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.45 0 Td -(in)Tj -/TT0 1 Tf -1.123 0 Td -(pclose)Tj -/T1_0 1 Tf -3.85 0 Td -[(is waiting for)74(.)]TJ -/T1_1 1 Tf --20.565 -1.84 Td -(15.10)Tj -/T1_0 1 Tf -3.065 0 Td -[(The )-91(trick )-91(is )-91(to)]TJ -/TT0 1 Tf -6.637 0 Td -(open)Tj -/T1_0 1 Tf -2.741 0 Td -[(the )-91(FIFO )-91(twice: )-91(once )-91(for )-91(r)18(eading )-91(and )-91(once )-91(for )-91(writing.)]TJ --0.092 Tc 25.17 0 Td -(We)Tj -0 Tc -34.548 -1.2 Td -[(never )-124(use )-124(the )-124(descriptor )-124(that )-124(is )-124(opened )-124(for )-124(writing, )-124(but )-124(leaving )-124(that )-124(descriptor)]TJ -0 -1.2 TD -[(open )-120(pr)18(events )-120(an )-120(end )-120(of )-120(\336le )-120(fr)20(om )-119(being )-119(generated )-119(when )-119(the )-119(number )-119(of )-119(clients)]TJ -T* -[(goes )-80(fr)18(om )-80(1 )-80(to )-80(0.)-580(Opening )-80(the )-80(FIFO )-80(twice )-80(r)18(equir)18(es )-80(some )-80(car)18(e, )-80(as )-80(a )-80(nonblocking)]TJ -/TT0 1 Tf --0 -1.2 Td -(open)Tj -/T1_0 1 Tf -2.743 0 Td -[(is )-93(r)18(equir)18(ed. )-343(W)]TJ -0.343 Tc 6.586 0 Td -(eh)Tj -0 Tc 1.404 0 Td -[(ave )-93(to )-93(do )-93(a )-93(nonblocking, )-93(r)18(ead-only)]TJ -/TT0 1 Tf -16.185 0 Td -(open)Tj -/T1_0 1 Tf -2.743 0 Td -[(\336rst, )-93(followed)]TJ --29.661 -1.2 Td -[(by )-137(a )-137(blocking)]TJ -/TT0 1 Tf -6.589 0 Td -(open)Tj -/T1_0 1 Tf -2.787 0 Td -[(for )-137(write-only)]TJ -0.6371 Tc 6.183 0 Td -(.\()Tj -0 Tc 1.22 0 Td -[(If )-137(we )-137(tried )-137(a )-137(nonblocking)]TJ -/TT0 1 Tf -12.05 0 Td -(open)Tj -/T1_0 1 Tf -2.787 0 Td -[(for )-137(write-)]TJ --31.616 -1.2 Td -[(only )-111(\336rst, )-111(it )-111(would )-111(r)19(eturn )-111(an )-111(err)19(or)74(.\) )-361(W)]TJ -0.3607 Tc 17.705 0 Td -(et)Tj -0 Tc 1.166 0 Td -[(hen )-111(turn )-111(of)]TJ -0.3607 Tc 5.131 0 Td -(fn)Tj -0 Tc 1.276 0 Td -[(onblocking )-111(for )-111(the )-111(r)19(ead)]TJ --25.278 -1.2 Td -(descriptor)Tj -0.5 Tc 4.438 0 Td -(.F)Tj -0 Tc 1.306 0 Td -(igur)Tj -0.25 Tc 1.827 0 Td -(eC)Tj -0 Tc 1.438 0 Td -(.20 shows the code for this.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 4506.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 4506.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 160.2308 441.0461 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -[(#define FIFO)-2400("temp.fifo")]TJ -T* -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-2400(fdread,)-600(fdwrite;)]TJ -0 -1.783 TD -(unlink\(FIFO\);)Tj -0 -1.189 TD -(if \(mkfifo\(FIFO, FILE_MODE\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("mkfifo error"\);)Tj --2.4 -1.189 Td -(if \(\(fdread = open\(FIFO, O_RDONLY | O_NONBLOCK\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("open error for reading"\);)Tj --2.4 -1.189 Td -(if \(\(fdwrite = open\(FIFO, O_WRONLY\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("open error for writing"\);)Tj --2.4 -1.189 Td -(clr_fl\(fdread, O_NONBLOCK\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 2490.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 2490.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 212.9107 233.0061 Tm -(Figure C.20)Tj -/T1_0 1 Tf -5.917 0 Td -[(Opening a FIFO for r)18(eading and writing, without blocking)]TJ -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5766 205.0111 Tm -[(15.1)37(1)]TJ -/T1_0 1 Tf -3.065 0 Td -[(Randomly )-210(r)18(eading )-210(a )-210(message )-210(fr)18(om )-210(an )-210(active )-210(queue )-210(would )-210(interfer)]TJ -0.4601 Tc 31.116 0 Td -(ew)Tj -0 Tc 1.773 0 Td -[(ith )-210(the)]TJ --32.889 -1.2 Td -[(client\320server )-78(pr)18(otocol, )-78(as )-78(either )-78(a )-78(client )-78(r)18(equest )-78(or )-78(a )-78(server)-76(\325s )-78(r)18(esponse )-78(would )-78(be)]TJ -0 -1.2 TD -[(lost. )-261(T)]TJ -0.2608 Tc 2.869 0 Td -(or)Tj -0 Tc 1.184 0 Td -[(ead )-11(the )-11(queue, )-11(all )-11(that )-11(is )-11(needed )-11(is )-11(for )-11(the )-11(pr)18(ocess )-11(to )-11(know )-11(the )-11(identi\336er)]TJ --4.053 -1.2 Td -[(for the queue and for the queue to allow world-r)18(ead access.)]TJ -/T1_1 1 Tf --3.065 -1.84 Td -(15.13)Tj -/T1_0 1 Tf --0.092 Tc 3.065 0 Td -[(We )-241(n)]TJ -0 Tc 2.276 0 Td -[(ever )-57(stor)]TJ -0.3074 Tc 3.898 0 Td -(ea)Tj -0 Tc 1.286 0 Td -[(ctual )-57(addr)18(esses )-57(in )-57(a )-57(shar)18(ed )-57(memory )-57(segment, )-57(since )-57(it\325s )-57(possible)]TJ --7.461 -1.2 Td -[(for )-186(the )-186(server )-186(and )-186(all )-186(the )-186(clients )-186(to )-186(attach )-186(the )-186(segment )-186(at )-186(dif)12(fer)18(ent )-186(addr)18(esses.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47118 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(936)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 160.2404 668.9599 Tm -[(Then )-87(use)]TJ -/TT0 1 Tf -4.435 0 Td -(fdopen)Tj -/T1_1 1 Tf -3.937 0 Td -[(to )-87(associate )-87(the )-87(pipe )-87(descriptors )-87(with )-87(a )-87(standar)]TJ -0.3366 Tc 21.311 0 Td -(dI)Tj -0 Tc 1.285 0 Td -[(/O )-87(str)18(eam,)]TJ --30.968 -1.2 Td -[(and )-31(set )-31(the )-31(str)18(eams )-31(to )-31(be )-31(line )-31(buf)21(fer)18(ed. )-281(Do)-280(this )-31(befor)]TJ -0.2807 Tc 23.556 0 Td -(et)Tj -0 Tc 1.086 0 Td -(he)Tj -/TT0 1 Tf -1.342 0 Td -(while)Tj -/T1_1 1 Tf -3.281 0 Td -[(loop )-31(that )-31(r)19(eads)]TJ --29.264 -1.2 Td -[(fr)18(om standar)]TJ -0.25 Tc 5.709 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 178.2387 629.3321 Tm -(if \(\(fpin = fdopen\(fd2[0], "r"\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("fdopen error"\);)Tj --2.4 -1.189 Td -(if \(\(fpout = fdopen\(fd1[1], "w"\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("fdopen error"\);)Tj --2.4 -1.189 Td -(if \(setvbuf\(fpin, NULL, _IOLBF, 0\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("setvbuf error"\);)Tj --2.4 -1.189 Td -(if \(setvbuf\(fpout, NULL, _IOLBF, 0\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("setvbuf error"\);)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 160.2398 537.5075 Tm -(The)Tj -/TT0 1 Tf -1.924 0 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(read)Tj -/T1_1 1 Tf -2.65 0 Td -(in the)Tj -/TT0 1 Tf -2.76 0 Td -(while)Tj -/T1_1 1 Tf -3.25 0 Td -(loop ar)Tj -0.25 Tc 3.111 0 Td -(er)Tj -0 Tc 1.106 0 Td -(eplaced with)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 178.239 521.8788 Tm -(if \(fputs\(line, fpout\) == EOF\))Tj -2.4 -1.189 Td -(err_sys\("fputs error to pipe"\);)Tj --2.4 -1.189 Td -(if \(fgets\(line, MAXLINE, fpin\) == NULL\) {)Tj -2.4 -1.189 Td -(err_msg\("child closed pipe"\);)Tj -0 -1.189 TD -(break;)Tj --2.4 -1.189 Td -(})Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5919 446.3833 Tm -(15.6)Tj -/T1_1 1 Tf -3.065 0 Td -(The)Tj -/TT0 1 Tf -2.124 0 Td -(system)Tj -/T1_1 1 Tf -4.05 0 Td -[(function )-200(calls)]TJ -/TT0 1 Tf -6.557 0 Td -(wait)Tj -/T1_1 1 Tf -0.4501 Tc (,a)Tj -0 Tc 3.6 0 Td -[(nd )-200(the )-200(\336rst )-200(child )-200(to )-200(terminate )-200(is )-200(the )-200(child)]TJ --16.331 -1.2 Td -[(generated )-6(by)]TJ -/TT0 1 Tf -6.029 0 Td -(popen)Tj -/T1_1 1 Tf -0.5065 Tc (.S)Tj -0 Tc 4.281 0 Td -[(ince )-6(that\325s )-6(not )-6(the )-6(child )-6(that)]TJ -/TT0 1 Tf -12.565 0 Td -(system)Tj -/T1_1 1 Tf -3.857 0 Td -[(cr)18(eated, )-7(it )-7(calls)]TJ -/TT0 1 Tf -6.803 0 Td -(wait)Tj -/T1_1 1 Tf --33.535 -1.2 Td -[(again )-25(and )-25(blocks )-25(until )-25(the)]TJ -/TT0 1 Tf -11.791 0 Td -(sleep)Tj -/T1_1 1 Tf -3.275 0 Td -[(is )-25(done.)-525(Then)]TJ -/TT0 1 Tf -6.514 0 Td -(system)Tj -/T1_1 1 Tf --0.018 Tc 3.875 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns. )-275(When)]TJ -/TT0 1 Tf -6.023 0 Td -(pclose)Tj -/T1_1 1 Tf --32.335 -1.2 Td -(calls)Tj -/TT0 1 Tf -2.352 0 Td -(wait)Tj -/T1_1 1 Tf -[(,)-402(an)-402(e)-1(rr)18(or )-152(is )-152(r)18(eturned, )-152(since )-152(ther)]TJ -0.4024 Tc 17.139 0 Td -(ea)Tj --0.018 Tc 1.381 0 Td -[(re )-188(n)]TJ -0.4024 Tc 1.84 0 Td -(om)Tj -0 Tc 1.831 0 Td -(or)Tj -0.4024 Tc 0.923 0 Td -(ec)Tj -0 Tc 1.325 0 Td -[(hildr)18(en )-152(to)]TJ -/TT0 1 Tf -4.89 0 Td -(wait)Tj -/T1_1 1 Tf -2.802 0 Td -[(for)74(.)]TJ --34.485 -1.2 Td -(Then)Tj -/TT0 1 Tf -2.506 0 Td -(pclose)Tj -/T1_1 1 Tf --0.018 Tc 3.85 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns an err)18(or)74(.)]TJ -/T1_0 1 Tf --10.277 -1.84 Td -(15.7)Tj -/T1_1 1 Tf -3.065 0 Td -[(Although )-110(the )-110(details )-110(vary )-110(by )-110(platform )-110(\(see )-110(Figur)]TJ -0.3601 Tc 22.192 0 Td -(eC)Tj -0 Tc 1.548 0 Td -(.19\),)Tj -/TT0 1 Tf -2.193 0 Td -(select)Tj -/T1_1 1 Tf -3.96 0 Td -[(indicates )-110(that)]TJ --29.893 -1.2 Td -[(the )-146(descriptor )-146(is )-146(r)19(eadable. )-396(After)-395(all )-146(the )-146(data )-146(has )-146(been )-146(r)20(ead,)]TJ -/TT0 1 Tf -27.79 0 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.796 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-146(0 )-146(to)]TJ --31.441 -1.2 Td -[(indicate )-52(the )-52(end )-52(of )-52(\336le.)-551(But )-52(with)]TJ -/TT0 1 Tf -15.022 0 Td -(poll)Tj -/T1_1 1 Tf -0.3017 Tc (,t)Tj -0 Tc 3.278 0 Td -(he)Tj -/TT0 1 Tf -1.363 0 Td -(POLLHUP)Tj -/T1_1 1 Tf -4.502 0 Td -[(event )-52(is )-52(r)18(eturned, )-52(and )-52(this)]TJ --24.164 -1.2 Td -[(can )-84(happen )-84(while )-84(ther)18(e)-334(is)-334(still )-84(data )-84(to )-84(be )-84(r)18(ead. )-334(Once)-334(we )-84(have )-84(r)18(ead )-84(all )-84(the )-84(data,)]TJ -0 -1.2 TD -[(however)74(,)]TJ -/TT0 1 Tf -4.407 0 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.751 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-101(0 )-101(to )-101(indicate )-101(the )-101(end )-101(of )-101(\336le.)-601(After )-101(all )-101(the )-101(data )-101(has )-101(been)]TJ --0.018 Tc -8.014 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad, )-43(the)]TJ -/TT0 1 Tf -3.335 0 Td -(POLLIN)Tj -/T1_1 1 Tf -3.893 0 Td -[(event )-43(is )-43(not )-43(r)18(eturned, )-43(even )-43(though )-43(we )-43(need )-43(to )-43(issue )-43(a)]TJ -/TT0 1 Tf -24.285 0 Td -(read)Tj -/T1_1 1 Tf -2.693 0 Td -(to)Tj --0.018 Tc -35.063 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ceive the end-of-\336le noti\336cation \(the r)18(eturn value of 0\).)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1499.25 2892.25 cm -0 0 m -3656 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 353.7905 281.1763 Tm -[(Fr)18(eeBSD )-1725(Linux )-1725(Mac)-250(OS X)-1759(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-3302(3.2.0)-3210(10.6.8 )-3429(10)]TJ --16.773 0.625 Td -(Operation)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1499.25 2672.25 cm -0 0 m -3656 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1499.25 2652.25 cm -0 0 m -3656 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 355.0091 257.1637 Tm -[(R/W/E )-2847(R)-3990(R/W )-2297(R/W/E)]TJ -/TT0 1 Tf --25.145 0 Td -(select)Tj -/T1_1 1 Tf -3.85 0 Td -(on)Tj -/TT0 1 Tf -1.378 0 Td -(read)Tj -/T1_1 1 Tf -2.65 0 Td -(end of pipe with)Tj -/TT0 1 Tf -7.556 0 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -(end closed)Tj -6.463 -1.25 Td -[(R/HUP )-2076(HUP)-3408(INV )-3127(HUP)]TJ -/TT0 1 Tf --25.146 0 Td -(poll)Tj -/T1_1 1 Tf -2.65 0 Td -(on)Tj -/TT0 1 Tf -1.378 0 Td -(read)Tj -/T1_1 1 Tf -2.65 0 Td -(end of pipe with)Tj -/TT0 1 Tf -7.556 0 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -(end closed)Tj -7.661 -1.25 Td -[(R/W/E )-2045(R/W)-3186(R/W )-2905(R/W)]TJ -/TT0 1 Tf --25.145 0 Td -(select)Tj -/T1_1 1 Tf -3.85 0 Td -(on)Tj -/TT0 1 Tf -1.378 0 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -(end of pipe with)Tj -/TT0 1 Tf -7.556 0 Td -(read)Tj -/T1_1 1 Tf -2.65 0 Td -(end closed)Tj -6.463 -1.25 Td -[(R/HUP )-1406(W/ERR)-2739(INV )-3127(HUP)]TJ -/TT0 1 Tf --25.146 0 Td -(poll)Tj -/T1_1 1 Tf -2.65 0 Td -(on)Tj -/TT0 1 Tf -1.378 0 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -(end of pipe with)Tj -/TT0 1 Tf -7.556 0 Td -(read)Tj -/T1_1 1 Tf -2.65 0 Td -(end closed)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1499.25 2232.25 cm -0 0 m -3656 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4776.25 2232.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4306.25 2232.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3902.25 2232.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3478.25 2232.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5155.25 2232.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1499.25 2232.25 cm -0 0 m -0 660 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 241.551 205.1608 Tm -(Figure C.19)Tj -/T1_1 1 Tf -5.917 0 Td -(Pipe behavior with)Tj -/TT0 1 Tf -8.669 0 Td -(select)Tj -/T1_1 1 Tf -3.85 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(poll)Tj -/T1_1 1 Tf -9.9976 0 0 9.9976 160.2115 181.1665 Tm -[(The )-303(conditions )-303(shown )-303(in )-303(Figur)]TJ -0.5532 Tc 14.754 0 Td -(eC)Tj -0 Tc 1.741 0 Td -[(.19 )-303(include )-303(R )-303(\(r)17(eadable\), )-303(W )-303(\(writable\), )-303(E)]TJ --16.495 -1.2 Td -[(\(exception\), )-73(HUP )-73(\(hangup\), )-73(ERR )-73(\(err)18(or\), )-73(and )-73(INV )-73(\(invalid )-73(\336le )-73(descriptor\).)]TJ --0.055 Tc 33.791 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj --35.027 -1.2 Td -[(an )-188(output )-188(descriptor )-188(that )-188(r)18(efers )-188(to )-188(a )-188(pipe )-188(that )-188(has )-188(been )-188(closed )-188(by )-188(the )-188(r)20(eader)74(,)]TJ -/TT0 1 Tf -T* -(select)Tj -/T1_1 1 Tf -3.965 0 Td -[(indicates )-115(that )-115(the )-115(descriptor )-115(is )-115(writable.)-613(But )-115(when )-115(we )-115(call)]TJ -/TT0 1 Tf -26.968 0 Td -(write)Tj -/T1_1 1 Tf -0.3648 Tc (,t)Tj -0 Tc 3.941 0 Td -(he)Tj -/TT0 1 Tf --34.874 -1.2 Td -(SIGPIPE)Tj -/T1_1 1 Tf -4.581 0 Td -[(signal )-131(is )-131(generated.)-631(If )-131(we )-131(either )-131(ignor)]TJ -0.381 Tc 17.439 0 Td -(et)Tj -0 Tc 1.186 0 Td -[(his )-131(signal )-131(or )-131(r)18(eturn )-131(fr)18(om )-131(its)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47119 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(934)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 6690.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 160.2404 659.4594 Tm -(#include )Tj -0 -1.783 TD -(void)Tj -0 -1.189 TD -(sleep_us\(unsigned int nusecs\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct pollfd)-1800(dummy;)]TJ -T* -(int )Tj -9.6 0 Td -(timeout;)Tj --9.6 -1.783 Td -(if \(\(timeout = nusecs / 1000\) <= 0\))Tj -2.4 -1.189 Td -(timeout = 1;)Tj --2.4 -1.189 Td -(poll\(&dummy, 0, timeout\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 5477.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 5477.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 241.664 531.6342 Tm -(Figure C.17)Tj -/T1_1 1 Tf -5.917 0 Td -(Implementation of)Tj -/TT0 1 Tf -8.485 0 Td -(sleep_us)Tj -/T1_1 1 Tf -5.05 0 Td -(using)Tj -/TT0 1 Tf -2.706 0 Td -(poll)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 160.2308 507.6371 Tm -[(As )-363(the )-363(BSD)]TJ -/TT0 1 Tf -6.338 0 Td -(usleep)Tj -/T1_1 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.946 -0.04 Td -[(manual )-363(page )-363(states,)]TJ -/TT0 1 Tf -10.063 0 Td -(usleep)Tj -/T1_1 1 Tf -4.213 0 Td -[(uses )-363(the)]TJ -/TT0 1 Tf -4.543 0 Td -(nanosleep)Tj -/T1_1 1 Tf --30.535 -1.2 Td -(function, which doesn\325t interfer)Tj -0.25 Tc 13.948 0 Td -(ew)Tj -0 Tc 1.563 0 Td -[(ith timers set by the calling pr)18(ocess.)]TJ -/T1_0 1 Tf --18.576 -1.84 Td -(14.6)Tj -/T1_1 1 Tf -3.065 0 Td -[(No. )-336(What)-337(we )-86(would )-86(like )-86(to )-86(do )-86(is )-86(have)]TJ -/TT0 1 Tf -17.999 0 Td -(TELL_WAIT)Tj -/T1_1 1 Tf -5.736 0 Td -[(cr)18(eate )-86(a )-86(temporary )-86(\336le )-86(and)]TJ --23.735 -1.2 Td -[(use )-173(1 )-173(byte )-173(for )-173(the )-173(par)18(ent\325s )-173(lock )-173(and )-173(1 )-173(byte )-173(for )-173(the )-173(child\325s )-173(lock.)]TJ -/TT0 1 Tf -29.935 0 Td -(WAIT_CHILD)Tj -/T1_1 1 Tf --29.935 -1.2 Td -[(would )-475(have )-475(the )-475(par)18(ent )-475(wait )-475(to )-475(obtain )-475(a )-475(lock )-475(on )-475(the )-475(child\325s )-475(byte, )-475(and)]TJ -/TT0 1 Tf -0 -1.2 TD -(TELL_PARENT)Tj -/T1_1 1 Tf -7.012 0 Td -[(would )-162(have )-162(the )-162(child )-162(r)19(elease )-162(the )-162(lock )-162(on )-162(the )-162(child\325s )-162(byte.)-661(The)]TJ --7.012 -1.2 Td -[(pr)18(oblem, )-95(however)]TJ -0.3448 Tc 8.131 0 Td -(,i)Tj -0.3447 Tc 0.886 0 Td -(st)Tj -0 Tc 1.095 0 Td -[(hat )-95(calling)]TJ -/TT0 1 Tf -5.052 0 Td -(fork)Tj -/T1_1 1 Tf --0.018 Tc 2.745 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(leases )-95(all )-95(the )-95(locks )-95(in )-95(the )-95(child, )-95(so )-95(the)]TJ --18.764 -1.2 Td -(child can\325t start of)Tj -0.25 Tc 7.931 0 Td -(fw)Tj -0 Tc 1.417 0 Td -(ith any locks of its own.)Tj -/T1_0 1 Tf --12.413 -1.84 Td -(14.7)Tj -/T1_1 1 Tf -0.25 Tc 3.065 0 Td -(As)Tj -0 Tc 1.452 0 Td -(olution is shown in Figur)Tj -0.25 Tc 11.124 0 Td -(eC)Tj -0 Tc 1.438 0 Td -(.18.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 3917.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 3917.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 160.2212 382.1282 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(int i, n;)Tj -T* -(int fd[2];)Tj -0 -1.783 TD -(if \(pipe\(fd\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("pipe error"\);)Tj --2.4 -1.189 Td -(set_fl\(fd[1], O_NONBLOCK\);)Tj -T* -(/* write 1 byte at a time until pipe is full */)Tj -0 -1.189 TD -(for \(n = 0; ; n++\) {)Tj -2.4 -1.189 Td -(if \(\(i = write\(fd[1], "a", 1\)\) != 1\) {)Tj -2.4 -1.189 Td -(printf\("write ret %d, ", i\);)Tj -T* -(break;)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(printf\("pipe capacity = %d\\n", n\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 1580.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 1580.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 220.884 142.0119 Tm -(Figure C.18)Tj -/T1_1 1 Tf -5.917 0 Td -(Calculation of pipe capacity using nonblocking writes)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47120 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -33.912 0 Td -[(Chapter )-250(1)]TJ -0.75 Tc 4.537 0 Td -(1S)Tj -0 Tc 1.775 0 Td -(olutions)Tj -/T1_1 1 Tf -5.609 0 Td -(925)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(10.10)Tj -/T1_0 1 Tf -3.065 0 Td -[(On )-5(one )-5(system )-5(used )-5(by )-5(the )-5(author)]TJ -0.255 Tc 15.088 0 Td -(,t)Tj -0 Tc 0.831 0 Td -[(he )-5(value )-5(for )-5(the )-5(number )-5(of )-5(seconds )-5(incr)18(eased)]TJ --15.919 -1.2 Td -[(by )-106(1 )-106(about )-106(every )-106(60)]TJ -9.118 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(90 )-106(minutes.)-606(This )-106(skew )-106(occurs )-106(because )-106(each )-106(call )-106(to)]TJ -/TT0 1 Tf -23.234 0 Td -(sleep)Tj -/T1_0 1 Tf --32.935 -1.2 Td -[(schedules )-130(an )-130(event )-130(for )-130(a )-130(time )-130(in )-130(the )-130(futur)18(e, )-130(but )-130(is )-130(not )-130(awakened )-130(exactly )-130(when)]TJ -0 -1.2 TD -[(that )-117(event )-117(occurs )-117(\(because )-117(of )-117(CPU )-117(scheduling\).)-617(In )-117(addition, )-117(a )-117(\336nite )-117(amount )-117(of)]TJ -T* -[(time is r)18(equir)18(ed for our pr)18(ocess to start r)8(unning and call)]TJ -/TT0 1 Tf -24.979 0 Td -(sleep)Tj -/T1_0 1 Tf -3.25 0 Td -(again.)Tj -0.2809 Tc -28.229 -1.8 Td -(Ap)Tj --0.018 Tc 1.66 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(gram )-31(such )-31(as )-31(the)]TJ -/TT0 1 Tf -7.822 0 Td -(cron)Tj -/T1_0 1 Tf -2.681 0 Td -[(daemon )-31(has )-31(to )-31(fetch )-31(the )-31(curr)18(ent )-31(time )-31(every )-31(minute,)]TJ --13.085 -1.2 Td -[(as )-74(well )-74(as )-74(to )-74(set )-74(its )-74(\336rst )-74(sleep )-74(period )-74(so )-74(that )-74(it )-74(wakes )-74(up )-74(at )-74(the )-74(beginning )-74(of )-74(the)]TJ -T* -[(next )-43(minute.)-543(\(Convert )-43(the )-43(curr)18(ent )-43(time )-43(to )-43(the )-43(local )-43(time )-43(and )-43(look )-43(at )-43(the)]TJ -/TT0 1 Tf -32.335 0 Td -(tm_sec)Tj -/T1_0 1 Tf --32.335 -1.2 Td -[(value.\) )-251(Every)-251(minute, )-1(it )-1(sets )-1(the )-1(next )-1(sleep )-1(period )-1(so )-1(that )-1(it\325ll )-1(wake )-1(up )-1(at )-1(the )-1(next)]TJ -T* -[(minute. )-524(Most)-524(of )-274(the )-274(calls )-274(will )-274(pr)18(obably )-274(be)]TJ -/TT0 1 Tf -21.03 0 Td -(sleep\(60\))Tj -/T1_0 1 Tf -0.524 Tc (,w)Tj -0 Tc 7.008 0 Td -[(ith )-274(an )-274(occasional)]TJ -/TT0 1 Tf --28.038 -1.2 Td -(sleep\(59\))Tj -/T1_0 1 Tf -5.85 0 Td -[(to )-200(r)18(esynchr)18(onize )-200(with )-200(the )-200(next )-200(minute.)-701(But )-200(if )-200(at )-200(some )-200(point )-200(the)]TJ --5.85 -1.2 Td -[(pr)18(ocess )-222(takes )-222(a )-222(long )-222(time )-222(executing )-222(commands )-222(or )-222(if )-222(the )-222(system )-222(gets )-222(heavily)]TJ -T* -[(loaded )-69(and )-69(scheduling )-69(delays )-69(hold )-69(up )-69(the )-69(pr)19(ocess, )-69(the )-69(sleep )-69(value )-69(can )-69(be )-69(much)]TJ -T* -(less than 60.)Tj -/T1_1 1 Tf --3.065 -1.84 Td -[(10.1)37(1)]TJ -/T1_0 1 Tf -3.065 0 Td -[(Under )-285(Linux )-285(3.2.0, )-285(Mac )-285(OS )-285(X )-285(10.6.8, )-285(and )-285(Solaris )-285(10, )-285(the )-285(signal )-285(handler )-285(for)]TJ -/TT0 1 Tf -T* -(SIGXFSZ)Tj -/T1_0 1 Tf -4.559 0 Td -[(is )-109(never )-109(called.)-610(But)]TJ -/TT0 1 Tf -9.308 0 Td -(write)Tj -/T1_0 1 Tf --0.018 Tc 3.359 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-109(a )-109(count )-109(of )-109(24 )-109(as )-109(soon )-109(as )-109(the )-109(\336le\325s)]TJ --18.082 -1.2 Td -[(size r)18(eaches 1,024 bytes.)]TJ -0 -1.8 TD -[(When )-297(the )-297(\336le\325s )-297(size )-297(has )-297(r)18(eached )-297(1,000 )-297(bytes )-297(under )-297(Fr)16(eeBSD )-297(8.0, )-297(the )-297(signal)]TJ -0 -1.2 TD -[(handler )-208(is )-208(called )-208(on )-208(the )-208(next )-208(attempt )-208(to )-208(write )-208(100 )-208(bytes, )-208(and )-208(the)]TJ -/TT0 1 Tf -30.95 0 Td -(write)Tj -/T1_0 1 Tf -3.458 0 Td -(call)Tj --0.018 Tc -34.409 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -/TT1 1 Tf -2.58 0 Td -(!)Tj -/T1_0 1 Tf -0.25 Tc (1w)Tj -0 Tc 2.133 0 Td -(ith)Tj -/TT0 1 Tf -1.449 0 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(EFBIG)Tj -/T1_0 1 Tf -3.25 0 Td -[(\(\324)37(\324File too big\325)37(\325\).)]TJ --16.119 -1.8 Td -[(On )-24(all )-24(four )-24(platforms, )-24(if )-24(we )-24(attempt )-24(an )-24(additional)]TJ -/TT0 1 Tf -22.349 0 Td -(write)Tj -/T1_0 1 Tf -3.274 0 Td -[(at )-24(the )-24(curr)18(ent )-24(\336le )-24(of)19(fset)]TJ --25.623 -1.2 Td -[(\(the )-84(end )-84(of )-84(the )-84(\336le\), )-84(we )-84(will )-84(r)16(eceive)]TJ -/TT0 1 Tf -16.424 0 Td -(SIGXFSZ)Tj -/T1_0 1 Tf -4.534 0 Td -(and)Tj -/TT0 1 Tf -2.027 0 Td -(write)Tj -/T1_0 1 Tf -3.334 0 Td -[(will )-84(fail, )-84(r)17(eturning)]TJ -/TT1 1 Tf -8.566 0 Td -(!)Tj -/T1_0 1 Tf -(1)Tj --34.886 -1.2 Td -(with)Tj -/TT0 1 Tf -2.283 0 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(EFBIG)Tj -/T1_0 1 Tf -(.)Tj -/T1_1 1 Tf --11.199 -1.84 Td -(10.12)Tj -/T1_0 1 Tf -3.065 0 Td -[(The )-74(r)18(esults )-74(depend )-74(on )-74(the )-74(implementation )-74(of )-74(the )-74(standar)]TJ -0.3244 Tc 25.717 0 Td -(dI)Tj -0 Tc 1.272 0 Td -[(/O )-74(library: )-74(how )-74(the)]TJ -/TT0 1 Tf --26.99 -1.2 Td -(fwrite)Tj -/T1_0 1 Tf -3.85 0 Td -[(function handles an interr)8(upted)]TJ -/TT0 1 Tf -14.338 0 Td -(write)Tj -/T1_0 1 Tf -(.)Tj --18.188 -1.8 Td -[(On )-75(Linux )-75(3.2.0, )-75(for )-75(example, )-75(when )-75(we )-75(use )-75(the)]TJ -/TT0 1 Tf -21.102 0 Td -(fwrite)Tj -/T1_0 1 Tf -3.925 0 Td -[(function )-75(to )-75(write )-75(a )-75(lar)18(ge)]TJ --25.027 -1.2 Td -[(buf)18(fer)]TJ -0.3461 Tc 2.604 0 Td -(,t)Tj -0 Tc 0.922 0 Td -(he)Tj -/TT0 1 Tf -1.407 0 Td -(fwrite)Tj -/T1_0 1 Tf -3.946 0 Td -[(function )-96(calls)]TJ -/TT0 1 Tf -6.349 0 Td -(write)Tj -/T1_0 1 Tf -3.346 0 Td -[(dir)18(ectly )-96(for )-96(the )-96(same )-96(number )-96(of )-96(bytes.)]TJ --18.575 -1.2 Td -[(While )-91(in )-91(the )-91(middle )-91(of )-91(the)]TJ -/TT0 1 Tf -12.383 0 Td -(write)Tj -/T1_0 1 Tf -3.341 0 Td -[(system )-91(call, )-91(the )-91(alarm )-91(\336r)18(es, )-91(but )-91(we )-91(don\325t )-91(see)]TJ --15.725 -1.2 Td -[(the )-130(signal )-130(until )-130(the )-130(write )-130(completes.)-632(It )-130(appears )-130(as )-130(if )-130(the )-130(kernel )-130(is )-130(blocking )-130(the)]TJ -T* -[(signal while we ar)18(e)-250(in)-250(the middle of the)]TJ -/TT0 1 Tf -17.732 0 Td -(write)Tj -/T1_0 1 Tf -3.25 0 Td -(system call.)Tj --20.982 -1.8 Td -[(In )-108(contrast, )-108(on )-108(Solaris )-108(10, )-108(the)]TJ -/TT0 1 Tf -13.596 0 Td -(fwrite)Tj -/T1_0 1 Tf -3.958 0 Td -[(function )-108(calls)]TJ -/TT0 1 Tf -6.373 0 Td -(write)Tj -/T1_0 1 Tf -3.358 0 Td -[(in )-108(8 )-108(KB )-108(incr)18(ements)]TJ --27.284 -1.2 Td -[(until )-3(the )-3(entir)]TJ -0.2529 Tc 6.041 0 Td -(ea)Tj -0 Tc 1.232 0 Td -[(mount )-3(is )-3(written.)-503(When )-3(the )-3(alarm )-3(\336r)18(es, )-3(it )-3(is )-3(caught, )-3(interr)9(upting)]TJ --7.273 -1.2 Td -[(the )-146(call )-146(to)]TJ -/TT0 1 Tf -4.973 0 Td -(fwrite)Tj -/T1_0 1 Tf -0.646 Tc (.A)Tj -0 Tc 5.274 0 Td -[(fter )-146(we )-146(r)18(eturn )-146(fr)18(om )-146(the )-146(signal )-146(handler)74(,)-396(we)-396(r)18(eturn )-146(to )-146(the)]TJ --10.247 -1.2 Td -(loop inside the)Tj -/TT0 1 Tf -6.799 0 Td -(fwrite)Tj -/T1_0 1 Tf -3.85 0 Td -[(function and continue writing in 8 KB incr)18(ements.)]TJ -/TT2 1 Tf --17.314 -4.32 Td -[(Chapter )-278(11)]TJ -/T1_1 1 Tf --0.037 Tc 3.6 -2.8 Td -(11)Tj -0 Tc 0.963 0 Td -(.1)Tj -/T1_0 1 Tf -0.2529 Tc 2.102 0 Td -(Av)Tj -0 Tc 1.596 0 Td -[(ersion )-3(of )-3(the )-3(pr)18(ogram )-3(that )-3(allocates )-3(the )-3(memory )-3(dynamically )-3(instead )-3(of )-3(using)]TJ --1.596 -1.2 Td -(an automatic variable is shown in Figur)Tj -0.25 Tc 17.514 0 Td -(eC)Tj -0 Tc 1.438 0 Td -(.12.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47121 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -34.357 0 Td -[(Chapter )-250(8)-750(Solutions)]TJ -/T1_1 1 Tf -11.476 0 Td -(921)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 155.6107 668.9599 Tm -[(This )-45(assumes )-45(that )-45(the )-45(standar)]TJ -0.2952 Tc 13.269 0 Td -(dI)Tj -0 Tc 1.243 0 Td -[(/O )-45(str)18(eam)]TJ -/TT0 1 Tf -4.971 0 Td -(stdout)Tj -/T1_0 1 Tf -3.895 0 Td -[(is )-45(closed )-45(when )-45(the )-45(child )-45(calls)]TJ -/TT0 1 Tf --23.379 -1.2 Td -(exit)Tj -/T1_0 1 Tf -0.4384 Tc (,n)Tj -0 Tc 3.67 0 Td -[(ot )-188(the )-188(\336le )-188(descriptor)]TJ -/TT0 1 Tf -9.9 0 Td -(STDOUT_FILENO)Tj -/T1_0 1 Tf -0.6884 Tc (.S)Tj -0 Tc 9.263 0 Td -[(ome )-188(versions )-188(of )-188(the )-188(standar)16(d)]TJ --22.833 -1.2 Td -[(I/O )-9(library )-9(close )-9(the )-9(\336le )-9(descriptor )-9(associated )-9(with )-9(standar)]TJ -0.2589 Tc 26.137 0 Td -(do)Tj -0 Tc 1.416 0 Td -[(utput, )-9(which )-9(would)]TJ --27.553 -1.2 Td -[(cause )-24(the)]TJ -/TT0 1 Tf -4.384 0 Td -(write)Tj -/T1_0 1 Tf -3.274 0 Td -[(to )-24(standar)]TJ -0.2736 Tc 4.466 0 Td -(do)Tj -0 Tc 1.431 0 Td -[(utput )-24(to )-24(also )-24(fail.)-524(In )-24(this )-24(case,)]TJ -/TT0 1 Tf -13.561 0 Td -(dup)Tj -/T1_0 1 Tf -2.074 0 Td -(standar)Tj -0.2735 Tc 3.32 0 Td -(do)Tj -0 Tc 1.431 0 Td -(utput)Tj --33.939 -1.2 Td -(to another descriptor)Tj -0.25 Tc 9.22 0 Td -(,a)Tj -0 Tc 1 0 Td -(nd use this new descriptor for the)Tj -/TT0 1 Tf -15.14 0 Td -(write)Tj -/T1_0 1 Tf -(.)Tj -/T1_1 1 Tf --27.962 -1.84 Td -(8.2)Tj -/T1_0 1 Tf -2.602 0 Td -(Consider Figur)Tj -0.25 Tc 6.67 0 Td -(eC)Tj -0 Tc 1.438 0 Td -(.8.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1556.25 5930.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1596.25 5930.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 155.6013 583.429 Tm -(#include "apue.h")Tj -0 -2.259 TD -(static void f1\(void\), f2\(void\);)Tj -T* -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(f1\(\);)Tj -T* -(f2\(\);)Tj -0 -1.189 TD -(_exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.259 TD -(static void)Tj -0 -1.189 TD -(f1\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(pid_t )-1200(pid;)]TJ -0 -2.259 TD -(if \(\(pid = vfork\(\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("vfork error"\);)Tj --2.4 -1.189 Td -(/* child and parent both return */)Tj --2.4 -1.189 Td -(})Tj -T* -(static void)Tj -0 -1.189 TD -(f2\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(char )-1800(buf[1000];)-3600(/* automatic variables */)]TJ -0 -1.189 TD -[(int )-2400(i;)]TJ -0 -2.259 TD -(for \(i = 0; i < sizeof\(buf\); i++\))Tj -2.4 -1.189 Td -(buf[i] = 0;)Tj --4.8 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1556.25 2641.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1596.25 2641.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 275.6324 248.0733 Tm -(Figure C.8)Tj -/T1_0 1 Tf -5.417 0 Td -[(Incorr)18(ect use of)]TJ -/TT0 1 Tf -7.065 0 Td -(vfork)Tj -/T1_0 1 Tf -9.9982 0 0 9.9982 155.5918 214.4794 Tm -(When)Tj -/TT0 1 Tf -2.944 0 Td -(vfork)Tj -/T1_0 1 Tf -3.301 0 Td -[(is )-51(called, )-51(the )-51(par)18(ent\325s )-51(stack )-51(pointer )-51(points )-51(to )-51(the )-51(stack )-51(frame )-51(for )-51(the)]TJ -/TT0 1 Tf --6.246 -1.2 Td -(f1)Tj -/T1_0 1 Tf -1.562 0 Td -[(function )-112(that )-112(calls)]TJ -/TT0 1 Tf -8.476 0 Td -(vfork)Tj -/T1_0 1 Tf -0.6116 Tc (.F)Tj -0 Tc 4.418 0 Td -(igur)Tj -0.3616 Tc 1.827 0 Td -(eC)Tj -0 Tc 1.55 0 Td -[(.9 )-112(shows )-112(this.)]TJ -/TT0 1 Tf -6.768 0 Td -(vfork)Tj -/T1_0 1 Tf -3.362 0 Td -[(causes )-112(the )-112(child )-112(to)]TJ --27.961 -1.2 Td -[(execute )-50(\336rst, )-50(and )-50(the )-50(child )-50(r)18(eturns )-50(fr)17(om)]TJ -/TT0 1 Tf -18.051 0 Td -(f1)Tj -/T1_0 1 Tf -0.5501 Tc (.T)Tj -0 Tc 2.613 0 Td -[(he )-50(child )-50(then )-50(calls)]TJ -/TT0 1 Tf -8.399 0 Td -(f2)Tj -/T1_0 1 Tf -0.3002 Tc (,a)Tj -0 Tc 2.25 0 Td -[(nd )-50(its )-50(stack)]TJ --31.314 -1.2 Td -[(frame )-130(overwrites )-130(the )-130(pr)18(evious )-130(stack )-130(frame )-130(for)]TJ -/TT0 1 Tf -21.37 0 Td -(f1)Tj -/T1_0 1 Tf -0.6298 Tc (.T)Tj -0 Tc 2.693 0 Td -[(he )-130(child )-130(then )-130(zer)18(os )-130(out )-130(the)]TJ --24.062 -1.2 Td -[(automatic )-205(variable)]TJ -/TT0 1 Tf -8.902 0 Td -(buf)Tj -/T1_0 1 Tf -0.4547 Tc (,s)Tj -0 Tc 2.929 0 Td -[(etting )-205(1,000 )-205(bytes )-205(of )-205(the )-205(stack )-205(frame )-205(to )-205(0.)-705(The )-205(child)]TJ --0.018 Tc -11.831 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-109(fr)18(om)]TJ -/TT0 1 Tf -5.188 0 Td -(f2)Tj -/T1_0 1 Tf -1.559 0 Td -[(and )-109(then )-109(calls)]TJ -/TT0 1 Tf -6.69 0 Td -(_exit)Tj -/T1_0 1 Tf -0.3592 Tc (,b)Tj -0 Tc 4.162 0 Td -[(ut )-109(the )-109(contents )-109(of )-109(the )-109(stack )-109(beneath )-109(the)]TJ --18.455 -1.2 Td -[(stack )-80(frame )-80(for)]TJ -/TT0 1 Tf -7.103 0 Td -(main)Tj -/T1_0 1 Tf -2.73 0 Td -[(have )-80(been )-80(changed.)-579(The )-80(par)18(ent )-80(then )-80(r)18(esumes )-80(after )-80(the )-80(call)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47122 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(908)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -1341.24 5558 1008 1080 re -S -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 151.3869 667 Tm -[(pr)18(ocess table entry)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1629.24 6062 576 72 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1629.24 5990 576 72 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1629.24 5918 576 72 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1629.24 5702 576 216 re -S -Q -BT -/T1_1 1 Tf -0.25 Tc 13.9983 0 0 13.9983 182.952 579.1705 Tm -(...)Tj -0 Tc 6.9992 0 0 6.9992 149.2983 607.9666 Tm -(fd1:)Tj -0 -1.029 TD -(fd2:)Tj -T* -(fd3:)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1845.25 6134.25 cm -0 0 m -0 -216 l -S -Q -Q -BT -/T1_1 1 Tf -6.9987 0 0 6.9987 170.3893 622.288 Tm -(fd)Tj --0.572 -0.714 Td -(\337ags)Tj -4.471 0.714 Td -(\336le)Tj --0.923 -0.714 Td -(pointer)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2925.24 6494 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 302.1875 654.6829 Tm -(\336le status \337ags)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2925.24 6350 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 298.4185 640.2479 Tm -[(curr)18(ent \336le of)18(fset)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2925.24 6206 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 302.0712 625.8147 Tm -(v-node pointer)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2925.24 5702 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 302.1331 575.3983 Tm -(\336le status \337ags)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -2925.24 5558 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 298.3647 560.9707 Tm -[(curr)18(ent \336le of)18(fset)]TJ -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -2925.24 5414 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 302.0169 546.5448 Tm -(v-node pointer)Tj -1.406 15.025 Td -(\336le table)Tj -6.9962 0 0 6.9962 427.65 616.7069 Tm -(v-node information)Tj -/TT0 1 Tf -2.52 -2.057 Td -(v_data)Tj -/T1_1 1 Tf --2.383 -4.114 Td -(i-node information)Tj -0.796 -2.057 Td -[(curr)18(ent \336le size)]TJ -/TT0 1 Tf -1.287 -1.543 Td -(i_vnode)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 6278.25 cm -0 0 m -0 -288 l -720 -288 l -720 0 l -0 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5846.25 cm -0 0 m -0 -396 l -720 -396 l -720 0 l -0 0 l -720 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 6098.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 6098.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 6098.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 6098.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 6098.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 6098.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 6098.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 6098.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 6098.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 6098.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5666.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 5666.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 5666.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 5666.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 5666.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 5666.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 5666.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 5666.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 5666.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 5666.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 5558.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 422.124 586.76 cm -0 0 m --5.328 5.184 l --2.232 7.056 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 4221.2402 5867.6001 cm -0 0 m --53.28 51.84 l --22.32 70.56 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4293.2402 6044 cm -0 0 m --90 0 l --150 0 -162.6 -28.32 -127.8 -84.96 c --75.6 -169.92 l -S -Q -Q -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 496.284 627.8 cm -0 0 m -4.032 -6.192 l -0.648 -7.344 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 4962.8398 6278 cm -0 0 m -40.32 -61.92 l -6.48 -73.44 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4869.2402 5504 cm -0 0 m -180 0 l -300 0 315.96 127.92 227.88 383.76 c -95.76 767.52 l -S -Q -Q -BT -/T1_1 1 Tf -7.9942 0 0 7.9942 435.7501 630.5858 Tm -(v-node table)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 288.924 663.8 cm -0 0 m --2.808 -6.84 l --5.688 -4.68 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 6638 cm -0 0 m --28.08 -68.4 l --56.88 -46.8 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 6098 cm -0 0 m -180 0 l -300 0 425.28 89.04 555.84 267.12 c -751.68 534.24 l -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 288.924 660.2 cm -0 0 m --2.592 -6.984 l --5.544 -4.968 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 6602 cm -0 0 m --25.92 -69.84 l --55.44 -49.68 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 6026 cm -0 0 m -180 0 l -300 0 425.28 95.04 555.84 285.12 c -751.68 570.24 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 288.924 584.6 cm -0 0 m --7.416 0.144 l --6.48 3.6 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 5846 cm -0 0 m --74.16 1.44 l --64.8 36 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 5954 cm -0 0 m -180 0 l -300 0 424.8 -17.64 554.4 -52.92 c -748.8 -105.84 l -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 418.524 627.8 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 4185.2402 6278 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3573.24 6278 cm -0 0 m -180 0 l -300 0 400.8 0 482.4 0 c -604.8 0 l -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 418.524 624.2 cm -0 0 m --0.576 -7.416 l --3.96 -6.264 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 4185.2402 6242 cm -0 0 m --5.76 -74.16 l --39.6 -62.64 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3573.24 5486 cm -0 0 m -180 0 l -300 0 401.64 124.92 484.92 374.76 c -609.84 749.52 l -S -Q -Q -BT -/T1_0 1 Tf -7.9918 0 0 7.9918 273.411 515.6737 Tm -(Figure C.2)Tj -/T1_1 1 Tf -5.417 0 Td -(Result of)Tj -/TT0 1 Tf -4.17 0 Td -(dup)Tj -/T1_1 1 Tf -2.05 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(open)Tj -/T1_1 1 Tf -9.9898 0 0 9.9898 155.4615 484.5055 Tm -(If)Tj -/TT0 1 Tf -1.007 0 Td -(fd)Tj -/T1_1 1 Tf -1.537 0 Td -[(is )-87(3, )-87(however)]TJ -0.337 Tc 5.945 0 Td -(,a)Tj -0 Tc 1.087 0 Td -[(fter )-87(the )-87(thr)18(ee )-87(calls )-87(to)]TJ -/TT0 1 Tf -9.671 0 Td -(dup2)Tj -/T1_1 1 Tf -0.3371 Tc (,f)Tj -0 Tc 3.32 0 Td -[(our )-87(descriptors )-87(ar)]TJ -0.3371 Tc 8.031 0 Td -(ep)Tj -0 Tc 1.417 0 Td -[(ointing )-87(to)]TJ --32.015 -1.2 Td -(the same \336le table entry)Tj -0.5 Tc 10.424 0 Td -(.I)Tj -0.25 Tc 1.087 0 Td -(nt)Tj -0 Tc 1.158 0 Td -(his case, we need to close descriptor 3.)Tj -/T1_0 1 Tf --15.271 -1.84 Td -(3.5)Tj -/T1_1 1 Tf -2.602 0 Td -[(Since the shells pr)18(ocess their command line fr)18(om left to right, the command)]TJ -/TT0 1 Tf -8.9908 0 0 8.9908 173.4433 438.5224 Tm -(./a.out > outfile 2>&1)Tj -/T1_1 1 Tf -9.9898 0 0 9.9898 155.4616 421.6099 Tm -[(\336rst )-310(sets )-310(standar)]TJ -0.5605 Tc 7.844 0 Td -(do)Tj -0 Tc 1.717 0 Td -[(utput )-310(to)]TJ -/TT0 1 Tf -4.452 0 Td -(outfile)Tj -/T1_1 1 Tf -4.761 0 Td -[(and )-310(then)]TJ -/TT0 1 Tf -4.783 0 Td -(dup)Tj -/T1_1 1 Tf -0.5604 Tc (ss)Tj -0 Tc 3.208 0 Td -(tandar)Tj -0.5604 Tc 2.896 0 Td -(do)Tj -0 Tc 1.717 0 Td -[(utput )-310(onto)]TJ --31.379 -1.2 Td -[(descriptor )-197(2 )-197(\(standar)]TJ -0.4467 Tc 9.558 0 Td -(de)Tj -0 Tc 1.537 0 Td -[(rr)18(or\). )-447(The)]TJ --0.018 Tc 5.113 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sult )-197(is )-197(that )-197(standar)]TJ -0.4468 Tc 8.753 0 Td -(do)Tj -0 Tc 1.604 0 Td -[(utput )-197(and )-197(standar)18(d)]TJ --27.421 -1.2 Td -[(err)18(or )-43(ar)]TJ -0.2934 Tc 3.362 0 Td -(es)Tj -0 Tc 1.196 0 Td -[(et )-43(to )-43(the )-43(same )-43(\336le.)-545(Descriptors )-43(1 )-43(and )-43(2 )-43(both )-43(point )-43(to )-43(the )-43(same )-43(\336le )-43(table)]TJ --4.559 -1.2 Td -(entry)Tj -0.5 Tc 2.227 0 Td -(.W)Tj -0 Tc 1.695 0 Td -(ith)Tj -/TT0 1 Tf -8.9908 0 0 8.9908 173.4435 370.0329 Tm -(./a.out 2>&1 > outfile)Tj -/T1_1 1 Tf -9.9898 0 0 9.9898 155.4618 353.12 Tm -(however)Tj -0.5877 Tc 3.806 0 Td -(,t)Tj -0 Tc 1.164 0 Td -(he)Tj -/TT0 1 Tf -1.649 0 Td -(dup)Tj -/T1_1 1 Tf -2.388 0 Td -[(is )-338(executed )-338(\336rst, )-338(causing )-338(descriptor )-338(2 )-338(to )-338(be )-338(the )-338(terminal)]TJ --9.006 -1.2 Td -[(\(assuming )-318(that )-318(the )-318(command )-318(is )-318(r)8(un )-318(interactively\).)-818(Then )-318(standar)]TJ -0.568 Tc 30.931 0 Td -(do)Tj -0 Tc 1.725 0 Td -[(utput )-318(is)]TJ --0.018 Tc -32.656 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(dir)18(ected )-146(to )-146(the )-146(\336le)]TJ -/TT0 1 Tf -8.838 0 Td -(outfile)Tj -/T1_1 1 Tf -0.6465 Tc (.T)Tj -0 Tc 5.709 0 Td -[(he )-146(r)18(esult )-146(is )-146(that )-146(descriptor )-146(1 )-146(points )-146(to )-146(the )-146(\336le)]TJ --15.403 -1.2 Td -[(table )-174(entry )-174(for)]TJ -/TT0 1 Tf -7.032 0 Td -(outfile)Tj -/T1_1 1 Tf -0.4236 Tc (,a)Tj -0 Tc 5.374 0 Td -[(nd )-174(descriptor )-174(2 )-174(points )-174(to )-174(the )-174(\336le )-174(table )-174(entry )-174(for )-174(the)]TJ --12.405 -1.2 Td -(terminal.)Tj -/T1_0 1 Tf --2.602 -1.84 Td -(3.6)Tj -/T1_1 1 Tf --0.092 Tc 2.602 0 Td -(Yo)Tj -0.3937 Tc 1.121 0 Td -(uc)Tj -0 Tc 1.441 0 Td -[(an )-144(still)]TJ -/TT0 1 Tf -3.492 0 Td -(lseek)Tj -/T1_1 1 Tf -3.394 0 Td -(and)Tj -/TT0 1 Tf -2.087 0 Td -(read)Tj -/T1_1 1 Tf -2.794 0 Td -[(anywher)18(e)-394(in)-394(the )-144(\336le, )-144(but )-144(a)]TJ -/TT0 1 Tf -12.619 0 Td -(write)Tj -/T1_1 1 Tf -3.394 0 Td -(automatically)Tj --0.018 Tc -30.341 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sets )-163(the )-163(\336le )-163(of)18(fset )-163(to )-163(the )-163(end )-163(of )-163(\336le )-163(befor)]TJ -0.4132 Tc 19.03 0 Td -(et)Tj -0 Tc 1.218 0 Td -[(he )-163(data )-163(is )-163(written.)-664(This )-163(makes )-163(it)]TJ --21.104 -1.2 Td -(impossible to)Tj -/TT0 1 Tf -6.155 0 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -(anywher)Tj -0.25 Tc 3.91 0 Td -(eo)Tj -0 Tc 1.275 0 Td -(ther than at the end of \336le.)Tj -/TT1 1 Tf --20.792 -3.12 Td -[(Chapter )-278(4)]TJ -/T1_0 1 Tf -3.6 -2.44 Td -(4.1)Tj -/T1_1 1 Tf -2.602 0 Td -(If)Tj -/TT0 1 Tf -1.09 0 Td -(stat)Tj -/T1_1 1 Tf -2.82 0 Td -[(is )-170(called, )-170(it )-170(always )-170(tries )-170(to )-170(follow )-170(a )-170(symbolic )-170(link )-170(\(Figur)]TJ -0.4203 Tc 26.058 0 Td -(e4)Tj -0 Tc 1.399 0 Td -[(.17\), )-170(so )-170(the)]TJ --31.368 -1.2 Td -[(pr)18(ogram )-14(will )-14(never )-14(print )-14(a )-14(\336le )-14(type )-14(of )-14(\324)33(\324symbolic )-14(link.\325)]TJ -0.5144 Tc 24.074 0 Td -(\325F)Tj -0 Tc 1.348 0 Td -[(or )-14(the )-14(example )-14(shown )-14(in)]TJ --25.423 -1.2 Td -[(the )-103(text, )-103(wher)18(e)]TJ -/TT0 1 Tf -7.094 0 Td -(/dev/cdrom)Tj -/T1_1 1 Tf -6.353 0 Td -[(is )-103(a )-103(symbolic )-103(link )-103(to)]TJ -/TT0 1 Tf -9.56 0 Td -(/dev/sr0)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -5.403 0 Td -(stat)Tj -/T1_1 1 Tf --0.018 Tc 2.753 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ports )-103(that)]TJ -/TT0 1 Tf --32.019 -1.2 Td -(/dev/cdrom)Tj -/T1_1 1 Tf -6.478 0 Td -[(is )-228(a )-228(block )-228(special )-228(\336le, )-228(not )-228(a )-228(symbolic )-228(link.)-726(If )-228(the )-228(symbolic )-228(link)]TJ --6.478 -1.2 Td -(points to a nonexistent \336le,)Tj -/TT0 1 Tf -12.15 0 Td -(stat)Tj -/T1_1 1 Tf --0.018 Tc 2.65 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns an err)18(or)74(.)]TJ -/T1_0 1 Tf --18.258 -1.84 Td -(4.2)Tj -/T1_1 1 Tf -2.602 0 Td -(All permissions ar)Tj -0.25 Tc 8.077 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(urned of)18(f:)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47123 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -34.357 0 Td -[(Chapter )-250(3)-750(Solutions)]TJ -/T1_1 1 Tf -11.476 0 Td -(907)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1556.25 6690.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1596.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 155.6107 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -2.259 TD -[(#define OPEN_MAX_GUESS)-1200(256)]TJ -T* -(long)Tj -0 -1.189 TD -(open_max\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(long openmax;)Tj -T* -(struct rlimit rl;)Tj -0 -2.259 TD -(if \(\(openmax = sysconf\(_SC_OPEN_MAX\)\) < 0 ||)Tj -1.2 -1.189 Td -(openmax == LONG_MAX\) {)Tj -1.2 -1.189 Td -(if \(getrlimit\(RLIMIT_NOFILE, &rl\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t get file limit"\);)Tj --2.4 -1.189 Td -(if \(rl.rlim_max == RLIM_INFINITY\))Tj -2.4 -1.189 Td -(openmax = OPEN_MAX_GUESS;)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(openmax = rl.rlim_max;)Tj --4.8 -1.189 Td -(})Tj -0 -1.189 TD -(return\(openmax\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1556.25 4225.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1596.25 4225.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 194.1307 406.4592 Tm -(Figure C.1)Tj -/T1_0 1 Tf -5.417 0 Td -[(Alternative method for identifying the lar)18(gest possible \336le descriptor)]TJ -/TT1 1 Tf -9.9988 0 0 9.9988 93.5887 358.465 Tm -[(Chapter )-278(3)]TJ -/T1_1 1 Tf -3.6 -2.8 Td -(3.1)Tj -/T1_0 1 Tf -2.602 0 Td -[(All )-242(disk )-242(I/O )-242(goes )-242(thr)18(ough )-242(the )-242(kernel\325s )-242(block )-242(buf)18(fers )-242(\(also )-242(called )-242(the )-242(kernel\325s)]TJ -0 -1.2 TD -[(buf)18(fer )-58(cache\).)-558(The )-58(exception )-58(to )-58(this )-58(is )-58(I/O )-58(on )-58(a )-58(raw )-58(disk )-58(device, )-58(which )-58(we )-58(ar)23(en\325t)]TJ -0 -1.2 Td -[(considering. )-307(\(Some)-307(systems )-57(also )-57(pr)18(ovide )-57(a)]TJ -/T1_2 1 Tf -19.555 0 Td -[(dir)18(ect )-57(I/O)]TJ -/T1_0 1 Tf -4.299 0 Td -[(option )-57(to )-57(allow )-57(applications)]TJ --23.854 -1.2 Td -[(to )-371(bypass )-371(the )-371(kernel )-371(buf)18(fers, )-371(but )-371(we )-371(ar)18(en\325t )-371(considering )-371(this )-371(option )-371(either)72(.\))]TJ -T* -[(Chapter )-137(3 )-137(of )-137(Bach)]TJ -8.657 0.04 Td -([)Tj -0.333 -0.04 Td -(1986)Tj -2 0.04 Td -(])Tj -0.72 -0.04 Td -[(describes )-137(the )-137(operation )-137(of )-137(this )-137(buf)17(fer )-137(cache.)-637(Since )-137(the)]TJ --11.71 -1.2 Td -[(data )-169(that )-169(we)]TJ -/TT0 1 Tf -6.241 0 Td -(read)Tj -/T1_0 1 Tf -2.819 0 Td -(or)Tj -/TT0 1 Tf -1.36 0 Td -(write)Tj -/T1_0 1 Tf -3.419 0 Td -[(is )-169(buf)18(fer)18(ed )-169(by )-169(the )-169(kernel, )-169(the )-169(term)]TJ -/T1_2 1 Tf -16.397 0 Td -[(unbuffer)18(ed )-169(I/O)]TJ -/T1_0 1 Tf --0.018 Tc -30.236 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(fers )-286(to )-286(the )-286(lack )-286(of )-286(automatic )-286(buf)18(fering )-286(in )-286(the )-286(user )-286(pr)16(ocess )-286(with )-286(these )-286(two)]TJ --0.856 -1.2 Td -[(functions. )-250(Each)]TJ -/TT0 1 Tf -7.268 0 Td -(read)Tj -/T1_0 1 Tf -2.65 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(write)Tj -/T1_0 1 Tf -3.25 0 Td -(invokes a single system call.)Tj -/T1_1 1 Tf --16.961 -1.84 Td -(3.3)Tj -/T1_0 1 Tf -2.602 0 Td -[(Each )-187(call )-187(to)]TJ -/TT0 1 Tf -5.846 0 Td -(open)Tj -/T1_0 1 Tf -2.837 0 Td -[(gives )-187(us )-187(a )-187(new )-187(\336le )-187(table )-187(entry)]TJ -0.687 Tc 14.11 0 Td -(.H)Tj -0 Tc 1.769 0 Td -(owever)Tj -0.437 Tc 3.224 0 Td -(,s)Tj -0 Tc 1.111 0 Td -[(ince )-187(both)]TJ -/TT0 1 Tf -4.677 0 Td -(open)Tj -/T1_0 1 Tf -(s)Tj --0.018 Tc -33.574 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(ence )-31(the )-31(same )-31(\336le, )-31(both )-31(\336le )-31(table )-31(entries )-31(point )-31(to )-31(the )-31(same )-31(v-node )-31(table )-31(entry)114(.)]TJ --0.856 -1.2 Td -[(The )-25(call )-25(to)]TJ -/TT0 1 Tf -4.898 0 Td -(dup)Tj -/T1_0 1 Tf --0.018 Tc 2.075 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(ences )-25(the )-25(existing )-25(\336le )-25(table )-25(entry)]TJ -0.5253 Tc 15.576 0 Td -(.W)Tj -0.2753 Tc 1.683 0 Td -(es)Tj -0 Tc 1.178 0 Td -[(how )-25(this )-25(in )-25(Figur)]TJ -0.2753 Tc 7.667 0 Td -(eC)Tj -0 Tc 1.463 0 Td -(.2.)Tj --35.398 -1.2 Td -(An)Tj -/TT0 1 Tf -1.622 0 Td -(F_SETFD)Tj -/T1_0 1 Tf -4.462 0 Td -(on)Tj -/TT0 1 Tf -1.39 0 Td -(fd1)Tj -/T1_0 1 Tf -2.062 0 Td -[(af)18(fects )-12(only )-12(the )-12(\336le )-12(descriptor )-12(\337ags )-12(for)]TJ -/TT0 1 Tf -17.264 0 Td -(fd1)Tj -/T1_0 1 Tf -0.2617 Tc (,b)Tj -0 Tc 2.865 0 Td -[(ut )-12(an)]TJ -/TT0 1 Tf -2.535 0 Td -(F_SETFL)Tj -/T1_0 1 Tf --32.198 -1.2 Td -(on)Tj -/TT0 1 Tf -1.378 0 Td -(fd1)Tj -/T1_0 1 Tf -2.05 0 Td -[(af)18(fects the \336le table entry that both)]TJ -/TT0 1 Tf -15.561 0 Td -(fd1)Tj -/T1_0 1 Tf -2.05 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(fd2)Tj -/T1_0 1 Tf -2.05 0 Td -(point to.)Tj -/T1_1 1 Tf --27.634 -1.84 Td -(3.4)Tj -/T1_0 1 Tf -2.602 0 Td -(If)Tj -/TT0 1 Tf -1.163 0 Td -(fd)Tj -/T1_0 1 Tf -1.693 0 Td -[(is )-243(1, )-243(then )-243(the)]TJ -/TT0 1 Tf -6.793 0 Td -[(dup2\(fd, )267(1\))]TJ -/T1_0 1 Tf --0.018 Tc 6.826 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-243(1 )-243(without )-243(closing )-243(\336le )-243(descriptor )-243(1.)]TJ --17.331 -1.2 Td -[(\(Remember )-96(our )-96(discussion )-96(of )-96(this )-96(in )-96(Section )-96(3.12.\))-596(After )-96(the )-96(thr)18(ee )-96(calls )-96(to)]TJ -/TT0 1 Tf -33.748 0 Td -(dup2)Tj -/T1_0 1 Tf -(,)Tj --33.748 -1.2 Td -[(all )-18(thr)18(ee )-18(descriptors )-18(point )-18(to )-18(the )-18(same )-18(\336le )-18(table )-18(entry)]TJ -0.5183 Tc 23.319 0 Td -(.N)Tj -0 Tc 1.599 0 Td -[(othing )-18(needs )-18(to )-18(be )-18(closed.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47124 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(826)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(414 )-4800(nw)]TJ -0.6 Tc 9 0 Td -(=w)Tj -0 Tc 1.8 0 Td -(rite\(fd, buf, nr\);)Tj --10.8 -1.189 Td -[(415 )-4800(if)-600(\(nw != nr\) {)]TJ -0 -1.189 TD -(416 )Tj -9.6 0 Td -(res.jobid)Tj -0.6 Tc 6 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --17.4 -1.189 Td -(417 )Tj -9.6 0 Td -[(if)-600(\(nw < 0\))]TJ --9.6 -1.189 Td -(418 )Tj -12 0 Td -(res.retcode)Tj -0.6 Tc 7.2 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(tonl\(errno\);)Tj --21 -1.189 Td -(419 )Tj -9.6 0 Td -(else)Tj --9.6 -1.189 Td -(420 )Tj -12 0 Td -(res.retcode)Tj -0.6 Tc 7.2 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(tonl\(EIO\);)Tj --21 -1.189 Td -(421 )Tj -9.6 0 Td -[(log_msg\("client_thread:)-600(can\325t write %s: %s", name,)]TJ --9.6 -1.189 Td -(422 )Tj -10.8 0 Td -(strerror\(res.retcode\)\);)Tj --10.8 -1.189 Td -(423 )Tj -9.6 0 Td -(close\(fd\);)Tj --9.6 -1.189 Td -(424 )Tj -9.6 0 Td -[(strncpy\(res.msg,)-600(strerror\(res.retcode\), MSGLEN_MAX\);)]TJ --9.6 -1.189 Td -(425 )Tj -9.6 0 Td -[(writen\(sockfd,)-600(&res, sizeof\(struct printresp\)\);)]TJ --9.6 -1.189 Td -(426 )Tj -9.6 0 Td -(unlink\(name\);)Tj --9.6 -1.189 Td -(427 )Tj -9.6 0 Td -[(pthread_exit\(\(void)-600(*\)1\);)]TJ --9.6 -1.189 Td -[(428 )-4800(})]TJ -T* -[(429 )-2400(})]TJ -T* -[(430 )-2400(close\(fd\);)]TJ -0 -1.783 TD -[(431 )-2400(/*)]TJ -0 -1.189 TD -[(432 )-3000(*)-600(Create the control file.)-1200(Then write the)]TJ -T* -[(433 )-3000(*)-600(print request information to the control)]TJ -0 -1.189 TD -[(434 )-3000(*)-600(file.)]TJ -0 -1.189 TD -[(435 )-3000(*/)]TJ -0 -1.189 TD -[(436 )-2400(sprintf\(name,)-600("%s/%s/%d", SPOOLDIR, REQDIR, jobid\);)]TJ -0 -1.189 TD -[(437 )-2400(fd)]TJ -0.6 Tc 6.6 0 Td -(=c)Tj -0 Tc 1.8 0 Td -(reat\(name, FILEPERM\);)Tj --8.4 -1.189 Td -[(438 )-2400(if)-600(\(fd < 0\) {)]TJ -0 -1.189 TD -[(439 )-4800(res.jobid)]TJ -0.6 Tc 13.2 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --15 -1.189 Td -[(440 )-4800(res.retcode)]TJ -0.6 Tc 14.4 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(tonl\(errno\);)Tj --16.2 -1.189 Td -[(441 )-4800(log_msg\("client_thread:)-600(can\325t create %s: %s", name,)]TJ -0 -1.189 TD -(442 )Tj -8.4 0 Td -(strerror\(res.retcode\)\);)Tj --8.4 -1.189 Td -[(443 )-4800(strncpy\(res.msg,)-600(strerror\(res.retcode\), MSGLEN_MAX\);)]TJ -0 -1.189 TD -[(444 )-4800(writen\(sockfd,)-600(&res, sizeof\(struct printresp\)\);)]TJ -0 -1.189 TD -[(445 )-4800(sprintf\(name,)-600("%s/%s/%d", SPOOLDIR, DATADIR, jobid\);)]TJ -0 -1.189 TD -[(446 )-4800(unlink\(name\);)]TJ -0 -1.189 TD -[(447 )-4800(pthread_exit\(\(void)-600(*\)1\);)]TJ -T* -[(448 )-2400(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2855.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 261.5166 Tm -[([414 )167(\320 )167(430])]TJ --0.092 Tc 5 0 Td -[(We )-195(w)]TJ -0 Tc 2.482 0 Td -[(rite )-11(the )-11(data )-11(that )-11(we )-11(r)18(ead )-11(fr)18(om )-11(the )-11(client )-11(to )-11(the )-11(data )-11(\336le.)-515(If)]TJ -/TT0 1 Tf -26.167 0 Td -(write)Tj -/T1_1 1 Tf -3.261 0 Td -(fails,)Tj --31.911 -1.2 Td -[(we )-119(log )-119(an )-119(err)18(or )-119(message, )-119(close )-119(the )-119(\336le )-119(descriptor )-119(for )-119(the )-119(data )-119(\336le, )-119(send )-119(an)]TJ -0 -1.2 TD -[(err)18(or )-1(message )-1(back )-1(to )-1(the )-1(client, )-1(delete )-1(the )-1(data )-1(\336le, )-1(and )-1(terminate )-1(the )-1(thr)23(ead)]TJ -0 -1.2 Td -[(by )-110(calling)]TJ -/TT0 1 Tf -4.785 0 Td -(pthread_exit)Tj -/T1_1 1 Tf -0.6104 Tc (.N)Tj -0 Tc 8.891 0 Td -[(ote )-110(that )-110(we )-110(do )-110(not )-110(explicitly )-110(close )-110(the )-110(socket)]TJ --13.676 -1.2 Td -[(\336le )-68(descriptor)]TJ -0.5678 Tc 6.131 0 Td -(.T)Tj -0 Tc 1.431 0 Td -[(his )-68(is )-68(done )-68(for )-68(us )-68(by )-68(our )-68(thr)19(ead )-68(cleanup )-68(handler )-68(as )-68(part )-68(of)]TJ --7.562 -1.2 Td -[(the pr)18(ocessing that occurs when we call)]TJ -/TT0 1 Tf -17.767 0 Td -(pthread_exit)Tj -/T1_1 1 Tf -(.)Tj --17.767 -1.56 Td -[(When )-110(we )-110(r)18(eceive )-110(all )-110(the )-110(data )-110(to )-110(be )-110(printed, )-110(we )-110(close )-110(the )-110(\336le )-110(descriptor )-110(for)]TJ -T* -(the data \336le.)Tj --5 -1.6 Td -[([431 )167(\320 )167(448])-668(Next, )-19(we )-19(cr)17(eate )-19(a )-19(\336le,)]TJ -/TT0 1 Tf -14.792 0 Td -(/var/spool/printer/reqs/)Tj -/T1_2 1 Tf -(jobid)Tj -/T1_1 1 Tf -[(,)-269(to)-269(r)17(emember )-19(the)]TJ --9.792 -1.2 Td -[(print )-3(r)18(equest. )-253(If)-254(this )-3(fails, )-3(we )-3(log )-3(an )-3(err)18(or )-3(message, )-3(send )-3(an )-3(err)15(or )-3(r)18(esponse )-3(to)]TJ -0 -1.2 Td -[(the client, r)18(emove the data \336le, and terminate the thr)18(ead.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47125 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(819)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(193 )-1200(/*)]TJ -0 -1.189 TD -[(194 )-1800(*)-600(Initialize printer information from configuration file.)]TJ -T* -[(195 )-1800(*)]TJ -T* -[(196 )-1800(*)-600(LOCKING: none.)]TJ -T* -[(197 )-1800(*/)]TJ -0 -1.189 TD -[(198 )-1200(void)]TJ -0 -1.189 TD -[(199 )-1200(init_printer\(void\))]TJ -T* -[(200 )-1200({)]TJ -T* -[(201 )-2400(printer)]TJ -0.6 Tc 9.6 0 Td -(=g)Tj -0 Tc 1.8 0 Td -(et_printaddr\(\);)Tj --11.4 -1.189 Td -[(202 )-2400(if)-600(\(printer == NULL\))]TJ -T* -[(203 )-4800(exit\(1\);)-2400(/* message already logged */)]TJ -T* -[(204 )-2400(printer_name)]TJ -0.6 Tc 12.6 0 Td -(=p)Tj -0 Tc 1.8 0 Td -(rinter->ai_canonname;)Tj --14.4 -1.189 Td -[(205 )-2400(if)-600(\(printer_name == NULL\))]TJ -0 -1.189 TD -[(206 )-4800(printer_name)]TJ -0.6 Tc 15 0 Td -(=")Tj -0 Tc 1.8 0 Td -(printer";)Tj --16.8 -1.189 Td -[(207 )-2400(log_msg\("printer)-600(is %s", printer_name\);)]TJ -0 -1.189 TD -[(208 )-1200(})]TJ -0 -1.902 TD -[(209 )-1200(/*)]TJ -0 -1.189 TD -[(210 )-1800(*)-600(Update the job ID file with the next job number.)]TJ -T* -[(211 )-1800(*)-600(Doesn\325t handle wrap-around of job number.)]TJ -T* -[(212 )-1800(*)]TJ -0 -1.189 TD -[(213 )-1800(*)-600(LOCKING: none.)]TJ -0 -1.189 TD -[(214 )-1800(*/)]TJ -T* -[(215 )-1200(void)]TJ -T* -[(216 )-1200(update_jobno\(void\))]TJ -T* -[(217 )-1200({)]TJ -T* -[(218 )-2400(char)-2400(buf[32];)]TJ -0 -1.902 TD -[(219 )-2400(if)-600(\(lseek\(jobfd, 0, SEEK_SET\) == -1\))]TJ -0 -1.189 TD -[(220 )-4800(log_sys\("can\325t)-600(seek in job file"\);)]TJ -T* -[(221 )-2400(sprintf\(buf,)-600("%d", nextjob\);)]TJ -T* -[(222 )-2400(if)-600(\(write\(jobfd, buf, strlen\(buf\)\) < 0\))]TJ -T* -[(223 )-4800(log_sys\("can\325t)-600(update job file"\);)]TJ -0 -1.189 TD -[(224 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3101.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 286.1237 Tm -[([193 )167(\320 )167(208])-668(The)]TJ -/TT0 1 Tf -7.057 0 Td -(init_printer)Tj -/T1_0 1 Tf -7.583 0 Td -[(function )-133(is )-133(used )-133(to )-133(set )-133(the )-133(printer )-133(name )-133(and )-133(addr)14(ess.)]TJ --0.092 Tc -9.641 -1.2 Td -[(We )-327(g)]TJ -0 Tc 2.336 0 Td -[(et )-143(the )-143(printer )-143(addr)18(ess )-143(by )-143(calling)]TJ -/TT0 1 Tf -15.11 0 Td -(get_printaddr)Tj -/T1_0 1 Tf -8.193 0 Td -[(\(fr)18(om)]TJ -/TT0 1 Tf -2.865 0 Td -(util.c)Tj -/T1_0 1 Tf -[(\). )-393(If)]TJ --28.504 -1.2 Td -[(this )-262(fails, )-262(we )-262(exit.)-761(The)]TJ -/TT0 1 Tf -11.369 0 Td -(get_printaddr)Tj -/T1_0 1 Tf -8.312 0 Td -[(function )-262(logs )-262(its )-262(own )-262(message)]TJ --19.681 -1.2 Td -[(when )-39(it )-39(is )-39(unable )-39(to )-39(\336nd )-39(the )-39(printer)-74(\325s )-39(addr)16(ess. )-289(If)]TJ -0.2893 Tc 22.208 0 Td -(ap)Tj -0 Tc 1.39 0 Td -[(rinter )-39(addr)18(ess )-39(is )-39(found,)]TJ --23.598 -1.2 Td -(however)Tj -0.618 Tc 3.806 0 Td -(,w)Tj -0.6179 Tc 1.702 0 Td -(es)Tj -0 Tc 1.521 0 Td -[(et )-368(the )-368(printer )-368(name )-368(to )-368(the)]TJ -/TT0 1 Tf -13.671 0 Td -(ai_canonname)Tj -/T1_0 1 Tf -7.818 0 Td -[(\336eld )-368(in )-368(the)]TJ -/TT0 1 Tf --28.518 -1.2 Td -(addrinfo)Tj -/T1_0 1 Tf -5.069 0 Td -[(str)8(uctur)18(e. )-269(If)-268(this )-19(\336eld )-19(is )-19(null, )-19(we )-19(set )-19(the )-19(printer )-19(name )-19(to )-19(a )-19(default)]TJ --5.069 -1.2 Td -[(value )-30(of)]TJ -/TT0 1 Tf -3.877 0 Td -(printer)Tj -/T1_0 1 Tf -0.5299 Tc (.N)Tj -0 Tc 5.811 0 Td -[(ote )-30(that )-30(we )-30(log )-30(the )-30(name )-30(of )-30(the )-30(printer )-30(we )-30(ar)]TJ -0.2798 Tc 19.946 0 Td -(eu)Tj -0 Tc 1.362 0 Td -[(sing )-30(to)]TJ --30.995 -1.2 Td -[(aid administrators in diagnosing pr)18(oblems with the spooling system.)]TJ --5 -1.6 Td -[([209 )167(\320 )167(224])-668(The)]TJ -/TT0 1 Tf -6.957 0 Td -(update_jobno)Tj -/T1_0 1 Tf -7.483 0 Td -[(function )-33(is )-33(used )-33(to )-33(write )-33(the )-33(next )-33(job )-33(number )-33(to )-33(the )-33(job)]TJ --9.44 -1.2 Td -(\336le,)Tj -/TT0 1 Tf -2.017 0 Td -(/var/spool/printer/jobno)Tj -/T1_0 1 Tf -0.642 Tc (.W)Tj -0.392 Tc 16.2 0 Td -(es)Tj -0 Tc 1.295 0 Td -[(eek )-142(to )-142(the )-142(beginning )-142(of )-142(the )-142(\336le,)]TJ --19.512 -1.2 Td -[(convert )-1(the )-1(integer )-1(job )-1(number )-1(into )-1(a )-1(string, )-1(and )-1(write )-1(it )-1(to )-1(the )-1(\336le.)-501(On )-1(err)17(or)74(,)]TJ -0 -1.2 TD -[(we )-361(log )-361(a )-361(message )-361(and )-361(exit.)-861(The )-361(job )-361(number )-361(incr)18(eases )-361(monotonically;)]TJ -T* -[(handling wrap-ar)18(ound is left as an exer)18(cise \(see Exer)18(cise 21.9\).)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47126 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(760)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(138 )Tj -9.6 0 Td -(hash[0])Tj -0.6 Tc 4.8 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --16.2 -1.189 Td -(139 )Tj -9.6 0 Td -[(for)-600(\(i = 0; i < NHASH_DEF + 1; i++\))]TJ --9.6 -1.189 Td -(140 )Tj -12 0 Td -[(strcat\(hash,)-600(asciiptr\);)]TJ --12 -1.189 Td -(141 )Tj -9.6 0 Td -[(strcat\(hash,)-600("\\n"\);)]TJ --9.6 -1.189 Td -(142 )Tj -9.6 0 Td -(i)Tj -0.6 Tc 1.2 0 Td -(=s)Tj -0 Tc 1.8 0 Td -(trlen\(hash\);)Tj --12.6 -1.189 Td -(143 )Tj -9.6 0 Td -[(if)-600(\(write\(db->idxfd, hash, i\) != i\))]TJ --9.6 -1.189 Td -(144 )Tj -12 0 Td -[(err_dump\("db_open:)-600(index file init write error"\);)]TJ --12 -1.189 Td -[(145 )-4800(})]TJ -0 -1.189 TD -[(146 )-4800(if)-600(\(un_lock\(db->idxfd, 0, SEEK_SET, 0\) < 0\))]TJ -T* -(147 )Tj -9.6 0 Td -[(err_dump\("db_open:)-600(un_lock error"\);)]TJ --9.6 -1.189 Td -[(148 )-2400(})]TJ -T* -[(149 )-2400(db_rewind\(db\);)]TJ -T* -[(150 )-2400(return\(db\);)]TJ -T* -[(151 )-1200(})]TJ -0 -1.783 TD -[(152 )-1200(/*)]TJ -0 -1.189 TD -[(153 )-1800(*)-600(Allocate & initialize a DB structure and its buffers.)]TJ -0 -1.189 TD -[(154 )-1800(*/)]TJ -0 -1.189 TD -[(155 )-1200(static)-600(DB *)]TJ -0 -1.189 TD -[(156 )-1200(_db_alloc\(int)-600(namelen\))]TJ -0 -1.189 TD -[(157 )-1200({)]TJ -0 -1.189 TD -[(158 )-2400(DB)-3600(*db;)]TJ -0 -1.783 TD -[(159 )-2400(/*)]TJ -0 -1.189 TD -[(160 )-3000(*)-600(Use calloc, to initialize the structure to zero.)]TJ -0 -1.189 TD -[(161 )-3000(*/)]TJ -0 -1.189 TD -[(162 )-2400(if)-600(\(\(db = calloc\(1, sizeof\(DB\)\)\) == NULL\))]TJ -0 -1.189 TD -[(163 )-4800(err_dump\("_db_alloc:)-600(calloc error for DB"\);)]TJ -0 -1.189 TD -[(164 )-2400(db->idxfd)]TJ -0.6 Tc 10.8 0 Td -(=d)Tj -0 Tc 1.8 0 Td -(b->datfd = -1;)Tj -16.2 0 Td -(/* descriptors */)Tj --28.8 -1.783 Td -[(165 )-2400(/*)]TJ -0 -1.189 TD -[(166 )-3000(*)-600(Allocate room for the name.)]TJ -T* -[(167 )-3000(*)-600(+5 for ".idx" or ".dat" plus null at end.)]TJ -0 -1.189 TD -[(168 )-3000(*/)]TJ -0 -1.189 TD -[(169 )-2400(if)-600(\(\(db->name = malloc\(namelen + 5\)\) == NULL\))]TJ -0 -1.189 TD -[(170 )-4800(err_dump\("_db_alloc:)-600(malloc error for name"\);)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2962.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 272.2153 Tm -[([138 )167(\320 )167(151])]TJ --0.092 Tc 5 0 Td -[(We )-397(c)]TJ -0 Tc 2.294 0 Td -[(ontinue )-213(to )-213(initialize )-213(the )-213(newly )-213(cr)17(eated )-213(database.)]TJ --0.092 Tc 23.104 0 Td -[(We )-397(b)]TJ -0 Tc 2.403 0 Td -[(uild )-213(the )-213(hash)]TJ --27.802 -1.2 Td -[(table )-87(and )-87(write )-87(it )-87(to )-87(the )-87(index )-87(\336le.)-587(Then )-87(we )-87(unlock )-87(the )-87(index )-87(\336le, )-87(r)18(eset )-87(the)]TJ -0 -1.2 TD -[(database )-30(\336le )-30(pointers, )-30(and )-30(r)18(eturn )-30(a )-30(pointer )-30(to )-30(the)]TJ -/TT0 1 Tf -22.112 0 Td -(DB)Tj -/T1_1 1 Tf -1.48 0 Td -[(str)8(uctur)]TJ -0.2796 Tc 3.49 0 Td -(ea)Tj -0.2797 Tc 1.259 0 Td -(st)Tj -0 Tc 1.03 0 Td -[(he )-30(opaque)]TJ --29.37 -1.2 Td -(handle for the caller to use with the other database functions.)Tj --5 -1.6 Td -[([152 )167(\320 )167(164])-668(The)]TJ -/TT0 1 Tf -6.944 0 Td -(_db_alloc)Tj -/T1_1 1 Tf -5.67 0 Td -[(function )-20(is )-20(called )-20(by)]TJ -/TT0 1 Tf -9.228 0 Td -(db_open)Tj -/T1_1 1 Tf -4.47 0 Td -[(to )-20(allocate )-20(storage )-20(for )-20(the)]TJ -/TT0 1 Tf -11.487 0 Td -(DB)Tj -/T1_1 1 Tf --32.8 -1.2 Td -[(str)8(uctur)18(e, )-199(an )-199(index )-199(buf)18(fer)]TJ -0.4491 Tc 11.731 0 Td -(,a)Tj -0 Tc 1.199 0 Td -[(nd )-199(a )-199(data )-199(buf)17(fer)]TJ -0.6992 Tc 7.582 0 Td -(.W)Tj -0.4492 Tc 1.857 0 Td -(eu)Tj -0 Tc 1.531 0 Td -(se)Tj -/TT0 1 Tf -1.352 0 Td -(calloc)Tj -/T1_1 1 Tf -4.049 0 Td -[(to )-199(allocate)]TJ --29.302 -1.2 Td -[(memory )-44(to )-44(hold )-44(the)]TJ -/TT0 1 Tf -9.207 0 Td -(DB)Tj -/T1_1 1 Tf -1.494 0 Td -[(str)8(uctur)]TJ -0.2939 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.273 0 Td -[(nd )-44(ensur)]TJ -0.2939 Tc 3.952 0 Td -(et)Tj -0 Tc 1.099 0 Td -[(hat )-44(it )-44(is )-44(initialized )-44(to )-44(all )-44(zer)19(os.)]TJ --20.514 -1.2 Td -[(Since )-96(this )-96(has )-96(the )-96(side )-96(ef)16(fect )-96(of )-96(setting )-96(the )-96(database )-96(\336le )-96(descriptors )-96(to )-96(zer)14(o,)]TJ -T* -[(we need to r)18(eset them to)]TJ -/TT1 1 Tf -11.063 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(to)-250(indicate that they ar)]TJ -0.25 Tc 11.249 0 Td -(en)Tj -0 Tc 1.311 0 Td -(ot yet valid.)Tj --28.623 -1.6 Td -[([165 )167(\320 )167(170])]TJ --0.092 Tc 5 0 Td -[(We )-198(a)]TJ -0 Tc 2.151 0 Td -[(llocate )-14(space )-14(to )-14(hold )-14(the )-14(name )-14(of )-14(the )-14(database )-14(\336le.)]TJ --0.092 Tc 22.729 0 Td -[(We )-198(u)]TJ -0 Tc 2.254 0 Td -[(se )-14(this )-14(buf)18(fer )-14(to)]TJ --27.133 -1.2 Td -[(cr)18(eate )-4(both )-4(\336lenames )-4(by )-4(changing )-4(the )-4(suf)18(\336x )-4(to )-4(r)18(efer )-4(to )-4(either )-4(the )-4(index )-4(\336le )-4(or)]TJ -T* -(the data \336le, as we saw in)Tj -/TT0 1 Tf -11.567 0 Td -(db_open)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47127 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(672)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(If )-33(we )-33(don\325t )-33(do )-33(anything )-33(special, )-33(canonical )-33(mode )-33(is )-33(the )-33(default.)-533(For )-33(example, )-33(if )-33(the )-33(shell)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(dir)18(ects )-57(standar)]TJ -0.3069 Tc 6.579 0 Td -(di)Tj -0 Tc 1.209 0 Td -[(nput )-57(to )-57(the )-57(terminal )-57(and )-57(we )-57(use)]TJ -/TT0 1 Tf -14.778 0 Td -(read)Tj -/T1_1 1 Tf -2.707 0 Td -(and)Tj -/TT0 1 Tf -2 0 Td -(write)Tj -/T1_1 1 Tf -3.307 0 Td -[(to )-57(copy )-57(standar)18(d)]TJ --31.436 -1.2 Td -[(input )-90(to )-90(standar)]TJ -0.3399 Tc 7.275 0 Td -(do)Tj -0 Tc 1.497 0 Td -[(utput, )-90(the )-90(terminal )-90(is )-90(in )-90(canonical )-90(mode, )-90(and )-90(each)]TJ -/TT0 1 Tf -23.137 0 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.74 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-90(at)]TJ --35.505 -1.2 Td -[(most )-117(one )-117(line.)-618(Pr)18(ograms )-118(that )-118(manipulate )-118(the )-118(entir)]TJ -0.3676 Tc 23.019 0 Td -(es)Tj -0 Tc 1.271 0 Td -[(cr)18(een, )-118(such )-118(as )-118(the)]TJ -/TT0 1 Tf -8.445 0 Td -(vi)Tj -/T1_1 1 Tf -1.568 0 Td -(editor)Tj -0.3676 Tc 2.574 0 Td -(,u)Tj -0 Tc 1.221 0 Td -(se)Tj --38.097 -1.2 Td -[(noncanonical )-411(mode, )-411(since )-411(the )-411(commands )-411(may )-411(be )-411(single )-411(characters )-411(and )-411(ar)]TJ -0.6613 Tc 36.406 0 Td -(en)Tj -0 Tc 1.722 0 Td -(ot)Tj --38.128 -1.2 Td -[(terminated )-52(by )-52(newlines.)-553(Also, )-52(this )-52(editor )-52(doesn\325t )-52(want )-52(pr)18(ocessing )-52(by )-52(the )-52(system )-52(of )-52(the)]TJ -T* -[(special )-36(characters, )-36(since )-36(they )-36(may )-36(overlap )-36(with )-36(the )-36(editor )-36(commands.)-533(For )-36(example, )-36(the)]TJ -T* -[(Contr)18(ol)]TJ -3.377 0.09 Td -(-)Tj -0.3218 Tc 0.333 -0.09 Td -(Dc)Tj -0 Tc 1.54 0 Td -[(haracter )-72(is )-72(often )-72(the )-72(end-of-\336le )-72(character )-72(for )-72(the )-72(terminal, )-72(but )-72(it\325s )-72(also )-72(a)]TJ -/TT0 1 Tf -32.551 0 Td -(vi)Tj -/T1_1 1 Tf --37.801 -1.2 Td -[(command to scr)18(oll down one-half scr)18(een.)]TJ -7.9995 0 0 7.9995 183.5892 552.9668 Tm -[(The )-43(V)111(ersion )-43(7 )-43(and )-43(older )-43(BSD-style )-43(terminal )-43(drivers )-43(supported )-43(thr)18(ee )-43(modes )-43(for )-43(terminal )-43(input:)]TJ -0 -1.25 TD -[(\(a\) )-29(cooked )-29(mode )-29(\(the )-29(input )-29(is )-29(collected )-29(into )-29(lines, )-29(and )-29(the )-29(special )-29(characters )-29(ar)]TJ -0.2788 Tc 34.776 0 Td -(ep)Tj --0.018 Tc 1.359 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cessed\), )-29(\(b\))]TJ --37.058 -1.25 Td -[(raw )-306(mode )-306(\(the )-306(input )-306(is )-306(not )-306(assembled )-306(into )-306(lines, )-306(and )-306(ther)17(e)-556(is)-556(no)-556(p)]TJ --0.018 Tc (ro)Tj -0 Tc 33.779 0 Td -[(cessing )-306(of )-306(special)]TJ --33.779 -1.25 Td -[(characters\), )-37(and )-37(\(c\) )-37(cbr)19(eak )-37(mode )-37(\(the )-37(input )-37(is )-37(not )-37(assembled )-37(into )-37(lines, )-37(but )-37(some )-37(of )-37(the )-37(special)]TJ -T* -[(characters )-177(ar)]TJ -0.4266 Tc 5.793 0 Td -(ep)Tj --0.018 Tc 1.507 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cessed\). )-427(Figur)]TJ -0.4266 Tc 6.504 0 Td -(e1)Tj -0 Tc 1.406 0 Td -[(8.20 )-177(shows )-177(a )-177(POSIX.1 )-177(function )-177(that )-177(places )-177(a )-177(terminal )-177(in)]TJ --16.131 -1.25 Td -[(cbr)18(eak or raw mode.)]TJ -9.9994 0 0 9.9994 147.591 481.9711 Tm -[(POSIX.1 )-45(de\336nes )-45(1)]TJ -0.2952 Tc 7.884 0 Td -(1s)Tj -0 Tc 1.219 0 Td -[(pecial )-45(input )-45(characters, )-45(9 )-45(of )-45(which )-45(we )-45(can )-45(change.)]TJ --0.092 Tc 22.999 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-45(been)]TJ --35.289 -1.2 Td -[(using )-83(some )-83(of )-83(these )-83(thr)16(oughout )-83(the )-83(text)]TJ -0.0833 Tc 18.121 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-83(end-of-\336le )-83(character )-83(\(usually )-83(Contr)17(ol)]TJ -18.029 0.09 Td -(-)Tj -0.333 -0.09 Td -(D\))Tj --37.893 -1.2 Td -[(and )-23(the )-23(suspend )-23(character )-23(\(usually )-23(Contr)20(ol)]TJ -19.21 0.09 Td -(-)Tj -0.333 -0.09 Td -[(Z\), )-23(for )-23(example.)-522(Section )-23(18.3 )-23(describes )-23(each)]TJ --19.543 -1.2 Td -(of these characters.)Tj --0.092 Tc 1.8 -1.2 Td -[(We )-258(c)]TJ -0 Tc 2.155 0 Td -[(an )-74(think )-74(of )-74(a )-74(terminal )-74(device )-74(as )-74(being )-74(contr)15(olled )-74(by )-74(a )-74(terminal )-74(driver)]TJ -0.3243 Tc 31.202 0 Td -(,u)Tj -0 Tc 1.177 0 Td -(sually)Tj --36.335 -1.2 Td -[(within )-227(the )-227(kernel.)-727(Each )-227(terminal )-227(device )-227(has )-227(an )-227(input )-227(queue )-227(and )-227(an )-227(output )-227(queue,)]TJ -0 -1.2 TD -(shown in Figur)Tj -0.25 Tc 6.724 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(8.1.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1707 3136 1080 216 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 200.7599 322.6013 Tm -(output queue)Tj -ET -q -0.99988 0 0 0.99988 0 0 cm -q 1 0 0 1 285.9 324.4 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -1 j 1 J -q 1 0 0 1 2859 3244 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2931.25 3244.25 cm -0 0 m -792 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 302.3656 327.581 Tm -(if echo enabled)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -3795 3136 864 216 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 401.0957 322.5626 Tm -(input queue)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4659.25 3352.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4724.25 3352.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4788.25 3352.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4853.25 3352.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4918.25 3352.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4983.25 3352.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5019.25 3292.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5019.25 3232.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5019.25 3172.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4954.25 3136.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4889.25 3136.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4824.25 3136.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4760.25 3136.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4695.25 3136.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 174.3 281.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 1743 2812 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1743.25 3100.25 cm -0 0 m -0 -216 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 144.8878 273.5415 Tm -(next character to)Tj --0.314 -1.25 Td -(transmit to device)Tj -ET -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 275.1 338.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 2751 3388 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2751.25 3460.25 cm -0 0 m -0 216 l -S -Q -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 250.1229 381.4797 Tm -(next character)Tj --0.96 -1.25 Td -[(written by pr)18(ocess)]TJ -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 383.1 310 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3831 3100 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3831.25 3028.25 cm -0 0 m -0 -216 l -S -Q -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 358.0561 273.5087 Tm -(next character)Tj --0.018 Tc -0.629 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad fr)18(om device)]TJ -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 462.3 367.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 4623 3676 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4623.25 3388.25 cm -0 0 m -0 216 l -S -Q -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 437.1918 381.434 Tm -(next character)Tj --0.018 Tc -0.327 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad by pr)18(ocess)]TJ -ET -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 379.5 292 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 3795 2920 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3867.25 2920.25 cm -0 0 m -288 0 l -S -Q -Q -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 501.9 292 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 5019 2920 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4947.25 2920.25 cm -0 0 m --288 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9947 0 0 7.9947 418.8235 290.0485 Tm -(MAX_INPUT)Tj -/T1_0 1 Tf --28.849 -6.98 Td -(Figure 18.1)Tj -/T1_1 1 Tf -5.695 0 Td -[(Logical pictur)18(e)-250(of)-250(input and output queues for a terminal device)]TJ -9.9934 0 0 9.9934 129.5149 206.6638 Tm -(Ther)Tj -0.25 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(s)]TJ -0 Tc 1.53 0 Td -[(everal points to consider fr)18(om this pictur)18(e.)]TJ -0.883 Tc -3.01 -2.04 Td -(\245I)Tj -0.3263 Tc 1.826 0 Td -(fe)Tj -0 Tc 1.138 0 Td -[(choing )-76(is )-76(enabled, )-76(ther)17(e)-326(is)-326(an)-326(i)-1(mplied )-76(link )-76(between )-76(the )-76(input )-76(queue )-76(and )-76(the)]TJ --1.475 -1.2 Td -(output queue.)Tj -0.883 Tc -1.489 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-124(size )-124(of )-124(the )-124(input )-124(queue,)]TJ -/TT0 1 Tf -12.642 0 Td -(MAX_INPUT)Tj -/T1_1 1 Tf -5.774 0 Td -[(\(see )-124(Figur)]TJ -0.374 Tc 4.472 0 Td -(e2)Tj -0 Tc 1.353 0 Td -[(.12\), )-124(is )-124(\336nite.)-624(When )-124(the)]TJ --24.854 -1.2 Td -[(input )-74(queue )-74(for )-74(a )-74(particular )-74(device )-74(\336lls, )-74(the )-74(system )-74(behavior )-74(is )-74(implementation)]TJ -T* -[(dependent. )-250(Most)-250(UNIX systems echo the bell character when this happens.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47128 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(654)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(The)Tj -/TT0 1 Tf -2.081 0 Td -(main)Tj -/T1_1 1 Tf -2.807 0 Td -[(function )-157(\(Figur)]TJ -0.4072 Tc 6.83 0 Td -(e1)Tj -0 Tc 1.386 0 Td -[(7.18\) )-157(is )-157(a )-157(loop )-157(that )-157(r)17(eads )-157(a )-157(pathname )-157(fr)18(om )-157(standar)17(d)]TJ --14.905 -1.2 Td -[(input )-85(and )-85(copies )-85(the )-85(\336le )-85(to )-85(standar)]TJ -0.3351 Tc 15.846 0 Td -(do)Tj -0 Tc 1.492 0 Td -[(utput. )-335(The)-335(function )-85(calls)]TJ -/TT0 1 Tf -11.63 0 Td -(csopen)Tj -/T1_1 1 Tf -3.935 0 Td -[(to )-85(contact )-85(the)]TJ --32.903 -1.2 Td -[(open server and r)18(eturn an open descriptor)74(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6378.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 628.2236 Tm -[(#include )-1800("open.h")]TJ -0 -1.189 TD -[(#include )-1800()]TJ -0 -1.902 TD -[(#define BUFFSIZE)-2400(8192)]TJ -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(n,)-600(fd;)]TJ -T* -[(char )-1800(buf[BUFFSIZE];)]TJ -0 -1.189 TD -[(char )-1800(line[MAXLINE];)]TJ -0 -1.902 TD -(/* read filename to cat from stdin */)Tj -0 -1.189 TD -(while \(fgets\(line, MAXLINE, stdin\) != NULL\) {)Tj -2.4 -1.189 Td -(if \(line[strlen\(line\) - 1] == \325\\n\325\))Tj -2.4 -1.189 Td -(line[strlen\(line\) - 1] = 0; /* replace newline with null */)Tj --2.4 -1.902 Td -(/* open the file */)Tj -0 -1.189 TD -(if \(\(fd = csopen\(line, O_RDONLY\)\) < 0\))Tj -2.4 -1.189 Td -[(continue; )-1200(/*)-600(csopen\(\) prints error from server */)]TJ --2.4 -1.902 Td -(/* and cat to stdout */)Tj -T* -(while \(\(n = read\(fd, buf, BUFFSIZE\)\) > 0\))Tj -2.4 -1.189 Td -(if \(write\(STDOUT_FILENO, buf, n\) != n\))Tj -2.4 -1.189 Td -(err_sys\("write error"\);)Tj --4.8 -1.189 Td -(if \(n < 0\))Tj -2.4 -1.189 Td -(err_sys\("read error"\);)Tj --2.4 -1.189 Td -(close\(fd\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3175.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 237.8732 301.4237 Tm -(Figure 17.18)Tj -/T1_1 1 Tf -6.195 0 Td -(The client)Tj -/TT0 1 Tf -4.587 0 Td -(main)Tj -/T1_1 1 Tf -2.65 0 Td -(function, version 1)Tj -9.9982 0 0 9.9982 147.5737 277.4281 Tm -[(The )-157(function)]TJ -/TT0 1 Tf -6.195 0 Td -(csopen)Tj -/T1_1 1 Tf -4.007 0 Td -(\(Figur)Tj -0.4068 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.386 0 Td -[(7.19\) )-157(does )-157(the)]TJ -/TT0 1 Tf -6.75 0 Td -(fork)Tj -/T1_1 1 Tf -2.807 0 Td -(and)Tj -/TT0 1 Tf -2.1 0 Td -(exec)Tj -/T1_1 1 Tf -2.807 0 Td -[(of )-157(the )-157(server)]TJ -0.4069 Tc 5.743 0 Td -(,a)Tj -0 Tc 1.157 0 Td -(fter)Tj --37.467 -1.2 Td -[(cr)18(eating the fd-pipe.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2583.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 129.5689 248.7173 Tm -[(#include )-1800("open.h")]TJ -0 -1.189 TD -[(#include )-1800()-3000(/* struct iovec */)]TJ -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*O)Tj -0 Tc 1.8 0 Td -(pen the file by sending the "name" and "oflag" to the)Tj -0.6 Tc -1.8 -1.189 Td -(*c)Tj -0 Tc 1.8 0 Td -(onnection server and reading a file descriptor back.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(int)Tj -0 -1.189 TD -(csopen\(char *name, int oflag\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(pid_t )Tj -9.6 0 Td -(pid;)Tj --9.6 -1.189 Td -(int )Tj -9.6 0 Td -(len;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47129 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.4)]TJ -32.736 0 Td -[(Passing )-250(File )-250(Descriptors)]TJ -/T1_1 1 Tf -13.097 0 Td -(643)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -1413.24 5486 1008 1152 re -S -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 158.5865 667 Tm -[(pr)18(ocess table entry)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1701.24 6134 576 72 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1701.24 6062 576 72 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1701.24 5990 576 72 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1701.24 5918 576 72 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1701.24 5630 576 288 re -S -Q -BT -/T1_0 1 Tf -0.25 Tc 13.9983 0 0 13.9983 190.1512 575.5709 Tm -(...)Tj -0 Tc 6.9992 0 0 6.9992 154.7476 615.1662 Tm -(fd 0:)Tj -0 -1.029 TD -(fd 1:)Tj -T* -(fd 2:)Tj -T* -(fd 3:)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1917.25 6206.25 cm -0 0 m -0 -288 l -S -Q -Q -BT -/T1_0 1 Tf -6.9987 0 0 6.9987 177.588 629.4867 Tm -(fd)Tj --0.572 -0.714 Td -(\337ags)Tj -4.471 0.714 Td -(\336le)Tj --0.923 -0.714 Td -(pointer)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -1413.24 3974 1008 1152 re -S -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 158.5579 515.7162 Tm -[(pr)18(ocess table entry)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1701.24 4694 576 72 re -S -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1701.24 4622 576 72 re -S -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1701.24 4550 576 72 re -S -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1701.24 4478 576 72 re -S -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1701.24 4406 576 72 re -S -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1701.24 4118 576 288 re -S -Q -BT -/T1_0 1 Tf -0.25 Tc 13.9958 0 0 13.9958 190.117 424.3127 Tm -(...)Tj -0 Tc 6.9979 0 0 6.9979 154.7198 471.0986 Tm -(fd 0:)Tj -0 -1.029 TD -(fd 1:)Tj -0 -1.029 TD -(fd 2:)Tj -0 -1.029 TD -(fd 3:)Tj -0 -1.029 TD -(fd 4:)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1917.25 4766.25 cm -0 0 m -0 -360 l -S -Q -Q -BT -/T1_0 1 Tf -6.9975 0 0 6.9975 177.5561 485.4252 Tm -(fd)Tj --0.572 -0.714 Td -(\337ags)Tj -4.471 0.714 Td -(\336le)Tj --0.923 -0.714 Td -(pointer)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2925.24 5918 720 144 re -S -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 302.1331 596.9892 Tm -(\336le status \337ags)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -2925.24 5774 720 144 re -S -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 298.3647 582.5603 Tm -[(curr)18(ent \336le of)18(fset)]TJ -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -2925.24 5630 720 144 re -S -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 302.0169 568.1331 Tm -(v-node pointer)Tj -1.406 5.125 Td -(\336le table)Tj -6.9962 0 0 6.9962 420.4539 566.3341 Tm -(v-node information)Tj -/TT0 1 Tf -2.52 -2.057 Td -(v_data)Tj -/T1_0 1 Tf --2.383 -4.114 Td -(i-node information)Tj -0.796 -2.057 Td -[(curr)18(ent \336le size)]TJ -/TT0 1 Tf -1.287 -1.543 Td -(i_vnode)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4149.25 5774.25 cm -0 0 m -0 -288 l -720 -288 l -720 0 l -0 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4149.25 5342.25 cm -0 0 m -0 -396 l -720 -396 l -720 0 l -0 0 l -720 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4149.25 5594.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4225.25 5594.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4301.25 5594.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4377.25 5594.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4453.25 5594.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4529.25 5594.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4605.25 5594.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4681.25 5594.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4757.25 5594.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4833.25 5594.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4149.25 5162.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4225.25 5162.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4301.25 5162.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4377.25 5162.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4453.25 5162.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4529.25 5162.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4605.25 5162.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4681.25 5162.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4757.25 5162.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4833.25 5162.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4149.25 5054.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4225.25 5054.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4301.25 5054.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4377.25 5054.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4453.25 5054.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4529.25 5054.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4605.25 5054.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4681.25 5054.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4757.25 5054.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4833.25 5054.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 414.924 536.36 cm -0 0 m --5.328 5.184 l --2.232 7.056 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 4149.2402 5363.6001 cm -0 0 m --53.28 51.84 l --22.32 70.56 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.2402 5540 cm -0 0 m --90 0 l --150 0 -162.6 -28.32 -127.8 -84.96 c --75.6 -169.92 l -S -Q -Q -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 489.084 577.4 cm -0 0 m -4.032 -6.192 l -0.648 -7.344 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 4890.8398 5774 cm -0 0 m -40.32 -61.92 l -6.48 -73.44 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4797.2402 5000 cm -0 0 m -180 0 l -300 0 315.96 127.92 227.88 383.76 c -95.76 767.52 l -S -Q -Q -BT -/T1_0 1 Tf -7.9942 0 0 7.9942 428.5553 580.2221 Tm -(v-node table)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 288.924 606.2 cm -0 0 m --6.264 -3.96 l --7.416 -0.576 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 6062 cm -0 0 m --62.64 -39.6 l --74.16 -5.76 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2205.24 5954 cm -0 0 m -180 0 l -300 0 412.92 17.64 518.76 52.92 c -677.52 105.84 l -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 288.924 602.6 cm -0 0 m -0.288 -7.416 l --3.24 -6.696 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 6026 cm -0 0 m -2.88 -74.16 l --32.4 -66.96 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2205.24 4442 cm -0 0 m -180 0 l -300 0 413.76 262.8 521.28 788.4 c -682.56 1576.8 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 411.324 577.4 cm -0 0 m --6.048 -4.32 l --7.416 -1.008 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 4113.2402 5774 cm -0 0 m --60.48 -43.2 l --74.16 -10.08 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3573.24 5702 cm -0 0 m -180 0 l -300 0 388.92 11.52 446.76 34.56 c -533.52 69.12 l -S -Q -Q -BT -/T1_1 1 Tf -7.9928 0 0 7.9928 188.5023 371.8652 Tm -[(Figure 17.1)37(1)]TJ -/T1_0 1 Tf -6.158 0 Td -[(Passing an open \336le fr)18(om the top pr)18(ocess to the bottom pr)18(ocess)]TJ -0.413 Tc 9.991 0 0 9.991 147.4674 344.29 Tm -(Ap)Tj --0.018 Tc 1.792 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-163(\(normally )-163(a )-163(server\) )-163(that )-163(wants )-163(to )-163(pass )-163(a )-163(descriptor )-163(to )-163(another )-163(pr)17(ocess)]TJ --4.515 -1.2 Td -[(calls )-92(either)]TJ -/TT0 1 Tf -5.186 0 Td -(send_fd)Tj -/T1_0 1 Tf -4.542 0 Td -(or)Tj -/TT0 1 Tf -1.283 0 Td -(send_err)Tj -/T1_0 1 Tf -0.5919 Tc (.T)Tj -0 Tc 6.255 0 Td -[(he )-92(pr)18(ocess )-92(waiting )-92(to )-92(r)18(eceive )-92(the )-92(descriptor )-92(\(the)]TJ --17.266 -1.2 Td -(client\) calls)Tj -/TT0 1 Tf -5.196 0 Td -(recv_fd)Tj -/T1_0 1 Tf -(.)Tj --3.396 -1.2 Td -(The)Tj -/TT0 1 Tf -2.238 0 Td -(send_fd)Tj -/T1_0 1 Tf -4.764 0 Td -[(function )-314(sends )-314(the )-314(descriptor)]TJ -/T1_2 1 Tf -14.382 0 Td -(fd_to_send)Tj -/T1_0 1 Tf -4.953 0 Td -[(acr)18(oss )-314(using )-314(the )-314(UNIX)]TJ --28.137 -1.2 Td -[(domain )-150(socket )-150(r)17(epr)18(esented )-150(by)]TJ -/T1_2 1 Tf -14.113 0 Td -(fd)Tj -/T1_0 1 Tf -0.6504 Tc (.T)Tj -0 Tc 2.291 0 Td -(he)Tj -/TT0 1 Tf -1.461 0 Td -(send_err)Tj -/T1_0 1 Tf -5.2 0 Td -[(function )-150(sends )-150(the)]TJ -/T1_2 1 Tf -8.815 0 Td -(errmsg)Tj -/T1_0 1 Tf -3.234 0 Td -(using)Tj -/T1_2 1 Tf -2.856 0 Td -(fd)Tj -/T1_0 1 Tf -(,)Tj --37.972 -1.2 Td -(followed by the)Tj -/T1_2 1 Tf -7.177 0 Td -(status)Tj -/T1_0 1 Tf -2.694 0 Td -[(byte. )-250(The)-250(value of)]TJ -/T1_2 1 Tf -8.405 0 Td -(status)Tj -/T1_0 1 Tf -2.694 0 Td -(must be in the range)Tj -/TT1 1 Tf -9.29 0 Td -(!)Tj -/T1_0 1 Tf -0.25 Tc (1t)Tj -0 Tc 1.625 0 Td -[(hr)18(ough)]TJ -/TT1 1 Tf -3.496 0 Td -(!)Tj -/T1_0 1 Tf -(255.)Tj --33.581 -1.2 Td -[(Clients )-339(call)]TJ -/TT0 1 Tf -5.807 0 Td -(recv_fd)Tj -/T1_0 1 Tf -4.789 0 Td -[(to )-339(r)18(eceive )-339(a )-339(descriptor)]TJ -0.8395 Tc 10.692 0 Td -(.I)Tj -0.5895 Tc 1.426 0 Td -(fa)Tj -0 Tc 1.423 0 Td -[(ll )-339(is )-339(OK )-339(\(the )-339(sender )-339(called)]TJ -/TT0 1 Tf --25.937 -1.2 Td -(send_fd)Tj -/T1_0 1 Tf -[(\), )-383(the )-383(non-negative )-383(descriptor )-383(is )-383(r)20(eturned )-382(as )-382(the )-382(value )-382(of )-382(the )-382(function.)]TJ -0 -1.2 TD -[(Otherwise, )-12(the )-12(value )-12(r)18(eturned )-12(is )-12(the)]TJ -/T1_2 1 Tf -16.198 0 Td -(status)Tj -/T1_0 1 Tf -2.706 0 Td -[(that )-12(was )-12(sent )-12(by)]TJ -/TT0 1 Tf -7.461 0 Td -(send_err)Tj -/T1_0 1 Tf -5.062 0.04 Td -(\()Tj -0.2622 Tc 0.333 -0.04 Td -(an)Tj -0 Tc 1.344 0 Td -[(egative )-12(value)]TJ --33.104 -1.2 Td -[(in )-36(the )-36(range)]TJ -/TT1 1 Tf -5.63 0 Td -(!)Tj -/T1_0 1 Tf -0.2861 Tc (1t)Tj -0 Tc 1.661 0 Td -[(hr)18(ough)]TJ -/TT1 1 Tf -3.532 0 Td -(!)Tj -/T1_0 1 Tf -(255)Tj -2.049 0.04 Td -(\))Tj -0.5361 Tc 0.333 -0.04 Td -(.A)Tj -0 Tc 1.564 0 Td -[(dditionally)111(,)-286(if)-286(an)-286(err)18(or )-36(message )-36(was )-36(sent )-36(by )-36(the )-36(server)74(,)]TJ --14.77 -1.2 Td -[(the )-108(client\325s)]TJ -/T1_2 1 Tf -5.218 0 Td -(userfunc)Tj -/T1_0 1 Tf -3.878 0 Td -[(is )-108(called )-108(to )-108(pr)18(ocess )-108(the )-108(message.)-608(The )-108(\336rst )-108(ar)19(gument )-108(to)]TJ -/T1_2 1 Tf -25.311 0 Td -(userfunc)Tj -/T1_0 1 Tf -3.878 0 Td -(is)Tj --38.285 -1.2 Td -[(the )-262(constant)]TJ -/TT0 1 Tf -6.141 0 Td -(STDERR_FILENO)Tj -/T1_0 1 Tf -0.5119 Tc (,f)Tj -0 Tc 8.895 0 Td -[(ollowed )-262(by )-262(a )-262(pointer )-262(to )-262(the )-262(err)18(or )-262(message )-262(and )-262(its)]TJ --15.036 -1.2 Td -[(length. )-420(The)]TJ --0.018 Tc 5.831 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-170(value )-170(fr)17(om)]TJ -/T1_2 1 Tf -7.744 0 Td -(userfunc)Tj -/T1_0 1 Tf -3.94 0 Td -[(is )-170(the )-170(number )-170(of )-170(bytes )-170(written )-170(or )-170(a )-170(negative)]TJ --18.371 -1.2 Td -[(number on err)18(or)]TJ -0.5 Tc 7.241 0 Td -(.O)Tj -0 Tc 1.536 0 Td -(ften, the client speci\336es the normal)Tj -/TT0 1 Tf -15.601 0 Td -(write)Tj -/T1_0 1 Tf -3.25 0 Td -(function as the)Tj -/T1_2 1 Tf -6.768 0 Td -(userfunc)Tj -/T1_0 1 Tf -(.)Tj --0.092 Tc -32.596 -1.2 Td -[(We )-314(i)]TJ -0 Tc 2.058 0 Td -[(mplement )-129(our )-129(own )-129(pr)18(otocol )-129(that )-129(is )-129(used )-129(by )-129(these )-129(thr)18(ee )-129(functions.)]TJ --0.092 Tc 30.721 0 Td -[(To )-314(s)]TJ -0 Tc 1.871 0 Td -[(end )-129(a)]TJ --36.449 -1.2 Td -[(descriptor)74(,)]TJ -/TT0 1 Tf -4.948 0 Td -(send_fd)Tj -/T1_0 1 Tf -4.46 0 Td -[(sends )-10(two )-10(bytes )-10(of )-10(0, )-10(followed )-10(by )-10(the )-10(actual )-10(descriptor)]TJ -0.5104 Tc 24.066 0 Td -(.T)Tj -0.2604 Tc 1.281 0 Td -(os)Tj -0 Tc 1.23 0 Td -[(end )-10(an)]TJ --35.986 -1.2 Td -[(err)18(or)74(,)]TJ -/TT0 1 Tf -2.769 0 Td -(send_err)Tj -/T1_0 1 Tf -5.201 0 Td -[(sends )-151(the)]TJ -/T1_2 1 Tf -4.708 0 Td -(errmsg)Tj -/T1_0 1 Tf -0.4007 Tc (,f)Tj -0 Tc 3.818 0 Td -[(ollowed )-151(by )-151(a )-151(byte )-151(of )-151(0, )-151(followed )-151(by )-151(the )-151(absolute)]TJ --16.495 -1.2 Td -[(value )-29(of )-29(the)]TJ -/T1_2 1 Tf -5.54 0 Td -(status)Tj -/T1_0 1 Tf -2.723 0 Td -(byte)Tj -2.193 0.04 Td -(\()Tj -0.2787 Tc 0.333 -0.04 Td -(1t)Tj -0 Tc 1.105 0 Td -[(hr)18(ough )-29(255)]TJ -5.025 0.04 Td -(\))Tj -0.5287 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.392 0 Td -(he)Tj -/TT0 1 Tf -1.34 0 Td -(recv_fd)Tj -/T1_0 1 Tf -4.479 0 Td -[(function )-29(r)18(eads )-29(everything )-29(on )-29(the)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47130 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(620)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-195(other )-195(choice )-195(we )-195(have )-195(is )-195(to )-195(deal )-195(with )-195(the )-195(err)18(or )-195(by )-195(letting )-195(the )-195(user )-195(r)18(etry )-195(the)]TJ --1.8 -1.2 Td -[(command. )-807(For)-807(simple )-557(applications )-557(this )-557(might )-557(be )-557(adequate, )-557(but )-557(for )-557(complex)]TJ -0 -1.2 TD -[(applications )-253(it )-253(usually )-253(isn\325t )-253(a )-253(viable )-253(alternative.)-753(Thus, )-253(it )-253(is )-253(generally )-253(better )-253(to )-253(use)]TJ -T* -(connection-oriented sockets in this case.)Tj -1.8 -1.2 Td -[(The )-208(drawbacks )-208(to )-208(connection-oriented )-208(sockets )-208(ar)]TJ -0.4582 Tc 22.594 0 Td -(et)Tj -0 Tc 1.263 0 Td -[(hat )-208(mor)]TJ -0.4582 Tc 3.672 0 Td -(ew)Tj -0 Tc 1.771 0 Td -[(ork )-208(and )-208(time )-208(ar)17(e)]TJ --31.101 -1.2 Td -[(needed )-110(to )-110(establish )-110(a )-110(connection, )-110(and )-110(each )-110(connection )-110(consumes )-110(mor)]TJ -0.3602 Tc 31.509 0 Td -(er)Tj -0 Tc 1.216 0 Td -[(esour)18(ces )-110(fr)18(om)]TJ --32.725 -1.2 Td -(the operating system.)Tj -/TT0 1 Tf --3.6 -3.12 Td -[(Example )195(\321 )195(Connectionless)-279(Client)]TJ -/T1_1 1 Tf -3.6 -2.16 Td -[(The )-97(pr)18(ogram )-97(in )-97(Figur)]TJ -0.3471 Tc 9.829 0 Td -(e1)Tj -0 Tc 1.326 0 Td -[(6.19 )-97(is )-97(a )-97(version )-97(of )-97(the)]TJ -/TT1 1 Tf -10.596 0 Td -(uptime)Tj -/T1_1 1 Tf -3.947 0 Td -[(client )-97(command )-97(that )-97(uses )-97(the)]TJ --25.698 -1.2 Td -(datagram socket interface.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5250.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 515.4371 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -2.14 TD -[(#define BUFLEN)-3600(128)]TJ -0 -1.189 TD -[(#define TIMEOUT)-3000(20)]TJ -0 -2.14 TD -(void)Tj -0 -1.189 TD -(sigalrm\(int signo\))Tj -0 -1.189 TD -({)Tj -T* -(})Tj -0 -2.14 TD -(void)Tj -0 -1.189 TD -(print_uptime\(int sockfd, struct addrinfo *aip\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(n;)]TJ -T* -[(char )-1800(buf[BUFLEN];)]TJ -0 -2.14 TD -(buf[0] = 0;)Tj -0 -1.189 TD -(if \(sendto\(sockfd, buf, 1, 0, aip->ai_addr, aip->ai_addrlen\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("sendto error"\);)Tj --2.4 -1.189 Td -(alarm\(TIMEOUT\);)Tj -T* -(if \(\(n = recvfrom\(sockfd, buf, BUFLEN, 0, NULL, NULL\)\) < 0\) {)Tj -2.4 -1.189 Td -(if \(errno != EINTR\))Tj -2.4 -1.189 Td -(alarm\(0\);)Tj --2.4 -1.189 Td -(err_sys\("recv error"\);)Tj --2.4 -1.189 Td -(})Tj -T* -(alarm\(0\);)Tj -T* -(write\(STDOUT_FILENO, buf, n\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct addrinfo)-3000(*ailist, *aip;)]TJ -T* -[(struct addrinfo)-3000(hint;)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47131 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(614)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Example )195(\321 )195(Connection-Oriented)-279(Client)]TJ -/T1_1 1 Tf -3.6 -2.16 Td -(Figur)Tj -0.4038 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.383 0 Td -[(6.16 )-154(shows )-154(a )-154(client )-154(command )-154(that )-154(communicates )-154(with )-154(a )-154(server )-154(to )-154(obtain )-154(the)]TJ --3.766 -1.2 Td -[(output )-151(fr)18(om )-151(a )-151(system\325s)]TJ -/TT1 1 Tf -11.043 0 Td -(uptime)Tj -/T1_1 1 Tf -4.001 0 Td -[(command. )-401(W)]TJ -0.4012 Tc 6.258 0 Td -(ec)Tj -0 Tc 1.324 0 Td -[(all )-151(this )-151(service )-151(\324)36(\324r)18(emote )-151(uptime\325)]TJ -0.4012 Tc 14.42 0 Td -(\325\()Tj -0 Tc 1.012 0 Td -(or)Tj --0.037 Tc -38.059 -1.2 Td -(\324\324)Tj --0.008 Tc 0.519 0 Td -(ru)Tj -0 Tc 0.99 0 Td -(ptime\325)Tj -0.25 Tc 2.821 0 Td -(\325f)Tj -0 Tc 0.861 0 Td -(or short\).)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6162.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 606.6262 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -1.902 TD -[(#define BUFLEN)-3600(128)]TJ -0 -1.902 TD -(extern int connect_retry\(int, int, int, const struct sockaddr *,)Tj -2.4 -1.189 Td -(socklen_t\);)Tj --2.4 -1.902 Td -(void)Tj -0 -1.189 TD -(print_uptime\(int sockfd\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(n;)]TJ -T* -[(char )-1800(buf[BUFLEN];)]TJ -0 -1.902 TD -(while \(\(n = recv\(sockfd, buf, BUFLEN, 0\)\) > 0\))Tj -2.4 -1.189 Td -(write\(STDOUT_FILENO, buf, n\);)Tj --2.4 -1.189 Td -(if \(n < 0\))Tj -2.4 -1.189 Td -(err_sys\("recv error"\);)Tj --4.8 -1.189 Td -(})Tj -T* -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -(struct addrinfo *ailist, *aip;)Tj -T* -(struct addrinfo hint;)Tj -T* -(int )Tj -9.6 0 Td -[(sockfd,)-600(err;)]TJ --9.6 -1.902 Td -(if \(argc != 2\))Tj -2.4 -1.189 Td -(err_quit\("usage: ruptime hostname"\);)Tj --2.4 -1.189 Td -(memset\(&hint, 0, sizeof\(hint\)\);)Tj -T* -(hint.ai_socktype = SOCK_STREAM;)Tj -T* -(hint.ai_canonname = NULL;)Tj -T* -(hint.ai_addr = NULL;)Tj -0 -1.189 TD -(hint.ai_next = NULL;)Tj -0 -1.189 TD -(if \(\(err = getaddrinfo\(argv[1], "ruptime", &hint, &ailist\)\) != 0\))Tj -2.4 -1.189 Td -(err_quit\("getaddrinfo error: %s", gai_strerror\(err\)\);)Tj --2.4 -1.189 Td -(for \(aip = ailist; aip != NULL; aip = aip->ai_next\) {)Tj -2.4 -1.189 Td -(if \(\(sockfd = connect_retry\(aip->ai_family, SOCK_STREAM, 0,)Tj -1.2 -1.189 Td -(aip->ai_addr, aip->ai_addrlen\)\) < 0\) {)Tj -1.2 -1.189 Td -(err = errno;)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(print_uptime\(sockfd\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47132 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.5)]TJ -41.174 0 Td -(FIFOs)Tj -/T1_1 1 Tf -4.659 0 Td -(555)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 151.1789 631.0021 Tm -(input)Tj -0.514 -1.25 Td -(\336le)Tj -ET -q -0.99994 0 0 0.99994 0 0 cm -q 1 0 0 1 211.2 627.8 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -1 j 1 J -q 1 0 0 1 2112 6278 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1752.25 6278.25 cm -0 0 m -288 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2112 6134 432 288 re -S -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 220.7735 625.9649 Tm -(prog1)Tj -ET -q -0.99988 0 0 0.99988 0 0 cm -q 1 0 0 1 290.4 627.8 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -1 j 1 J -q 1 0 0 1 2904 6278 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2544.25 6278.25 cm -0 0 m -288 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2904 6134 432 288 re -S -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 304.7451 625.9273 Tm -(tee)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -3876 6422 360 144 re -S -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 396.5648 647.4846 Tm -(FIFO)Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 459.6 649.4 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 4596 6494 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4236.25 6494.25 cm -0 0 m -288 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -4596 6350 432 288 re -S -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 469.0593 647.4457 Tm -(prog3)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -3840 5846 432 288 re -S -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 393.4583 597.025 Tm -(prog2)Tj -ET -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 384 599 cm -0 0 m --7.128 2.016 l --5.328 5.112 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3840 5990 cm -0 0 m --71.28 20.16 l --53.28 51.12 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3336.25 6278.25 cm -0 0 m -441 -252 l -S -Q -Q -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 387.6 649.4 cm -0 0 m --6.048 -4.32 l --7.416 -1.008 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3876 6494 cm -0 0 m --60.48 -43.2 l --74.16 -10.08 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3336.25 6278.25 cm -0 0 m -473 189 l -S -Q -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 184.1916 559.1315 Tm -(Figure 15.21)Tj -/T1_0 1 Tf -6.195 0 Td -(Using a FIFO and)Tj -/TT0 1 Tf -8.059 0 Td -(tee)Tj -/T1_0 1 Tf -2.05 0 Td -[(to send a str)18(eam to two dif)18(fer)18(ent pr)18(ocesses)]TJ -9.9952 0 0 9.9952 129.5379 535.1431 Tm -[(FIFO )-186(that )-186(the )-186(server )-186(cr)19(eates. )-436(\(By)]TJ --0.037 Tc 15.737 0 Td -(\324\324)Tj -0 Tc 0.519 0 Td -[(well-known,\325)37(\325)-436(we)-436(mean )-186(that )-186(the )-186(pathname )-186(of )-186(the)]TJ --16.256 -1.2 Td -[(FIFO )-26(is )-26(known )-26(to )-26(all )-26(the )-26(clients )-26(that )-26(need )-26(to )-26(contact )-26(the )-26(server)72(.\) )-276(Figur)]TJ -0.2762 Tc 31.01 0 Td -(e1)Tj -0 Tc 1.255 0 Td -[(5.22 )-26(shows )-26(this)]TJ --32.265 -1.2 Td -(arrangement.)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -2310 3286 432 288 re -S -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 242.8168 341.0558 Tm -(client)Tj -/T1_1 1 Tf -0.25 Tc 9.9946 0 0 9.9946 318.1781 341.0558 Tm -(...)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -3750 3286 432 288 re -S -Q -BT -/T1_0 1 Tf -0 Tc 7.9952 0 0 7.9952 386.7159 341.0353 Tm -(client)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -2994 4078 504 216 re -S -Q -BT -/T1_0 1 Tf -7.9947 0 0 7.9947 303.0879 421.5617 Tm -(well-known)Tj -1.547 -1.25 Td -(FIFO)Tj -ET -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 324.6 465.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 3246 4654 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 4294.25 cm -0 0 m -0 288 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -3030 4654 432 288 re -S -Q -BT -/T1_0 1 Tf -7.9942 0 0 7.9942 313.4262 477.6959 Tm -(server)Tj -/TT0 1 Tf --1.292 -4.05 Td -(read)Tj -/T1_0 1 Tf --0.018 Tc 2.9 0 Td -(re)Tj -0 Tc 0.856 0 Td -(quests)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 316.176 407.8 cm -0 0 m --4.536 -5.904 l --6.768 -3.096 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 3161.76 4078 cm -0 0 m --45.36 -59.04 l --67.68 -30.96 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2526.25 3574.25 cm -0 0 m -579 459 l -S -Q -Q -BT -/TT0 1 Tf -6.2651 4.9648 -4.9648 6.2651 260.5077 367.6561 Tm -(write)Tj -/T1_0 1 Tf --0.018 Tc 3.25 -0 Td -(re)Tj -0 Tc 0.856 0 Td -(quests)Tj -ET -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 333.024 407.8 cm -0 0 m -6.768 -3.096 l -4.536 -5.904 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 3330.24 4078 cm -0 0 m -67.68 -30.96 l -45.36 -59.04 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3386.25 4033.25 cm -0 0 m -580 -459 l -S -Q -Q -BT -/TT0 1 Tf -6.2647 -4.9645 4.9645 6.2647 344.7982 401.9982 Tm -(write)Tj -/T1_0 1 Tf --0.018 Tc 3.25 0 Td -(re)Tj -0 Tc 0.856 0 Td -(quests)Tj -/T1_1 1 Tf -7.9933 0 0 7.9933 213.2448 303.1452 Tm -(Figure 15.22)Tj -/T1_0 1 Tf -6.195 0 Td -[(Clients sending r)18(equests to a server using a FIFO)]TJ -9.9916 0 0 9.9916 129.4914 279.1654 Tm -[(Since )-188(ther)]TJ -0.4376 Tc 4.523 0 Td -(ea)Tj --0.018 Tc 1.417 0 Td -[(re )-224(m)]TJ -0 Tc 2.177 0 Td -[(ultiple )-187(writers )-187(for )-187(the )-187(FIFO, )-187(the )-187(r)18(equests )-187(sent )-187(by )-187(the )-187(clients )-187(to )-187(the)]TJ --8.116 -1.2 Td -[(server )-93(need )-93(to )-93(be )-93(less )-93(than)]TJ -/TT0 1 Tf -12.456 0 Td -(PIPE_BUF)Tj -/T1_0 1 Tf -5.143 0 Td -[(bytes )-93(in )-93(size.)-593(This )-93(pr)19(events )-93(any )-93(interleaving )-93(of)]TJ --17.599 -1.2 Td -(the client)Tj -/TT0 1 Tf -4.3 0 Td -(write)Tj -/T1_0 1 Tf -(s.)Tj --2.5 -1.2 Td -[(The )-54(pr)18(oblem )-54(in )-54(using )-54(FIFOs )-54(for )-54(this )-54(type )-54(of )-54(client\320server )-54(communication )-54(is )-54(how )-54(to)]TJ --1.8 -1.2 Td -[(send )-149(r)18(eplies )-149(back )-149(fr)18(om )-149(the )-149(server )-149(to )-149(each )-149(client.)]TJ -0.3988 Tc 22.732 0 Td -(As)Tj -0 Tc 1.601 0 Td -[(ingle )-149(FIFO )-149(can\325t )-149(be )-149(used, )-149(as )-149(the)]TJ --24.333 -1.2 Td -[(clients )-261(would )-261(never )-261(know )-261(when )-261(to )-261(r)18(ead )-261(their )-261(r)18(esponse )-261(versus )-261(r)18(esponses )-261(for )-261(other)]TJ -0 -1.2 TD -[(clients. )-436(One)-436(solution )-186(is )-186(for )-186(each )-186(client )-186(to )-186(send )-186(its )-186(pr)18(ocess )-186(ID )-186(with )-186(the )-186(r)16(equest. )-436(The)]TJ -0 -1.2 Td -[(server )-8(then )-8(cr)18(eates )-8(a )-8(unique )-8(FIFO )-8(for )-8(each )-8(client, )-8(using )-8(a )-8(pathname )-8(based )-8(on )-8(the )-8(client\325s)]TJ -T* -[(pr)18(ocess )-729(ID.)-1228(For )-729(example, )-729(the )-729(server )-729(can )-729(cr)18(eate )-729(a )-729(FIFO )-729(with )-729(the )-729(name)]TJ -/TT0 1 Tf -0 -1.2 Td -(/tmp/serv1.XXXXX)Tj -/T1_0 1 Tf -0.5551 Tc (,w)Tj -0 Tc 11.239 0 Td -[(her)18(e)]TJ -/TT0 1 Tf -2.472 0 Td -(XXXXX)Tj -/T1_0 1 Tf -3.555 0 Td -[(is )-305(r)18(eplaced )-305(with )-305(the )-305(client\325s )-305(pr)18(ocess )-305(ID.)-806(This)]TJ --17.266 -1.2 Td -(arrangement is shown in Figur)Tj -0.25 Tc 13.616 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.23.)Tj --13.045 -1.2 Td -[(This )-109(arrangement )-109(works, )-109(although )-109(it )-109(is )-109(impossible )-109(for )-109(the )-109(server )-109(to )-109(tell )-109(whether )-109(a)]TJ --1.8 -1.2 Td -[(client )-212(crashes.)]TJ -0.4622 Tc 7.085 0 Td -(Ac)Tj -0 Tc 1.684 0 Td -[(lient )-212(crash )-212(leaves )-212(the )-212(client-speci\336c )-212(FIFO )-212(in )-212(the )-212(\336le )-212(system.)-713(The)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47133 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.4)]TJ -38.38 0 Td -[(Copr)18(ocesses)]TJ -/T1_1 1 Tf -7.453 0 Td -(551)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(})Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(static void)Tj -0 -1.189 TD -(sig_pipe\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("SIGPIPE caught\\n"\);)Tj -T* -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5713.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 242.9628 555.2724 Tm -(Figure 15.18)Tj -/T1_0 1 Tf -6.195 0 Td -[(Pr)18(ogram to drive the)]TJ -/TT0 1 Tf -9.461 0 Td -(add2)Tj -/T1_0 1 Tf -2.65 0 Td -(\336lter)Tj -9.9988 0 0 9.9988 147.5824 531.2752 Tm -[(Her)18(e, )-18(we )-18(cr)18(eate )-18(two )-18(pipes, )-18(with )-18(the )-18(par)18(ent )-18(and )-18(the )-18(child )-18(closing )-18(the )-18(ends )-18(they )-18(don\325t)]TJ --1.8 -1.2 Td -[(need. )-257(W)]TJ -0.2575 Tc 3.816 0 Td -(eh)Tj -0 Tc 1.319 0 Td -[(ave )-8(to )-8(use )-8(two )-8(pipes: )-8(one )-8(for )-8(the )-8(standar)]TJ -0.2576 Tc 17.923 0 Td -(di)Tj -0 Tc 1.16 0 Td -[(nput )-8(of )-8(the )-8(copr)18(ocess )-8(and )-8(one )-8(for)]TJ --24.217 -1.2 Td -[(its )-152(standar)]TJ -0.4022 Tc 4.763 0 Td -(do)Tj -0 Tc 1.559 0 Td -[(utput. )-402(The)-402(child )-152(then )-152(calls)]TJ -/TT0 1 Tf -12.782 0 Td -(dup2)Tj -/T1_0 1 Tf -2.802 0 Td -[(to )-152(move )-152(the )-152(pipe )-152(descriptors )-152(onto )-152(its)]TJ --21.906 -1.2 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput and standar)Tj -0.25 Tc 7.625 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput, befor)Tj -0.25 Tc 5.247 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(alling)Tj -/TT0 1 Tf -2.761 0 Td -(execl)Tj -/T1_0 1 Tf -(.)Tj --20.885 -1.2 Td -[(If )-400(we )-400(compile )-400(and )-400(r)8(un )-400(the )-400(pr)16(ogram )-400(in )-400(Figur)]TJ -0.6505 Tc 22.487 0 Td -(e1)Tj -0 Tc 1.629 0 Td -[(5.18, )-400(it )-400(works )-400(as )-400(expected.)]TJ --25.917 -1.2 Td -[(Furthermor)18(e, )-234(if )-234(we)]TJ -/TT0 1 Tf -9.261 0 Td -(kill)Tj -/T1_0 1 Tf -2.884 0 Td -(the)Tj -/TT0 1 Tf -1.871 0 Td -(add2)Tj -/T1_0 1 Tf -2.884 0 Td -[(copr)18(ocess )-234(while )-234(the )-234(pr)17(ogram )-234(in )-234(Figur)]TJ -0.4844 Tc 17.685 0 Td -(e1)Tj -0 Tc 1.463 0 Td -[(5.18 )-234(is)]TJ --36.051 -1.2 Td -[(waiting )-58(for )-58(our )-58(input )-58(and )-58(then )-58(enter )-58(two )-58(numbers, )-58(the )-58(signal )-58(handler )-58(is )-58(invoked )-58(when)]TJ -0 -1.2 TD -[(the pr)18(ogram writes to the pipe that has no r)18(eader)]TJ -0.5 Tc 21.61 0 Td -(.\()Tj -0 Tc 1.083 0 Td -[(See Exer)18(cise 15.4.\))]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4473.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -9.9982 0 0 9.9982 93.5832 411.265 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(In )-98(the )-98(copr)18(ocess)]TJ -/TT0 1 Tf -7.636 0 Td -(add2)Tj -/T1_0 1 Tf -2.748 0 Td -(\(Figur)Tj -0.3482 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.327 0 Td -[(5.17\), )-98(we )-98(purposely )-98(used )-98(low-level )-98(I/O )-98(\(UNIX )-98(system)]TJ --14.427 -1.2 Td -(calls\):)Tj -/TT0 1 Tf -2.946 0 Td -(read)Tj -/T1_0 1 Tf -2.813 0 Td -(and)Tj -/TT0 1 Tf -2.106 0 Td -(write)Tj -/T1_0 1 Tf -0.6625 Tc (.W)Tj -0 Tc 4.912 0 Td -[(hat )-162(happens )-162(if )-162(we )-162(r)16(ewrite )-162(this )-162(copr)18(ocess )-162(to )-162(use )-162(standar)16(d)]TJ --12.776 -1.2 Td -[(I/O? )-250(Figur)]TJ -0.25 Tc 5.056 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.19 shows the new version.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3561.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 129.5689 346.5548 Tm -(#include "apue.h")Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(int1,)-600(int2;)]TJ -T* -[(char )-1800(line[MAXLINE];)]TJ -0 -2.14 TD -(while \(fgets\(line, MAXLINE, stdin\) != NULL\) {)Tj -2.4 -1.189 Td -(if \(sscanf\(line, "%d%d", &int1, &int2\) == 2\) {)Tj -2.4 -1.189 Td -(if \(printf\("%d\\n", int1 + int2\) == EOF\))Tj -2.4 -1.189 Td -(err_sys\("printf error"\);)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(if \(printf\("invalid args\\n"\) == EOF\))Tj -2.4 -1.189 Td -(err_sys\("printf error"\);)Tj --4.8 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1535.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 217.0629 137.4757 Tm -(Figure 15.19)Tj -/T1_0 1 Tf -6.195 0 Td -(Filter to add two numbers, using standar)Tj -0.25 Tc 18.083 0 Td -(dI)Tj -0 Tc 1.198 0 Td -(/O)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47134 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.4)]TJ -38.38 0 Td -[(Copr)18(ocesses)]TJ -/T1_1 1 Tf -7.453 0 Td -(549)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2274 6086 576 432 re -S -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -3642 6086 576 432 re -S -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 244.7253 655.0007 Tm -[(par)18(ent)]TJ -14.822 0 Td -[(child \(copr)18(ocess\))]TJ -/TT0 1 Tf --13.889 -1.975 Td -(fd1[1])Tj --0 -2.7 Td -(fd2[0])Tj -/T1_2 1 Tf -14.5 2.7 Td -(stdin)Tj -0 -2.7 TD -(stdout)Tj -ET -q -0.99994 0 0 0.99994 0 0 cm -q 1 0 0 1 364.2 641 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -1 j 1 J -q 1 0 0 1 3642 6410 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2850.25 6410.25 cm -0 0 m -720 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 314.6742 644.1627 Tm -(pipe1)Tj -ET -q -0.99988 0 0 0.99988 0 0 cm -q 1 0 0 1 285 619.4 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -1 j 1 J -q 1 0 0 1 2850 6194 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 6194.25 cm -0 0 m --720 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 314.6554 612.5297 Tm -(pipe2)Tj -/T1_1 1 Tf --19.893 -3.655 Td -(Figure 15.16)Tj -/T1_0 1 Tf -6.195 0 Td -[(Driving a copr)18(ocess by writing its standar)]TJ -0.25 Tc 18.484 0 Td -(di)Tj -0 Tc 1.152 0 Td -[(nput and r)18(eading its standar)]TJ -0.25 Tc 12.562 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput)Tj -9.9982 0 0 9.9982 147.5735 553.3006 Tm -[(The )-56(pr)18(ogram )-56(in )-56(Figur)]TJ -0.306 Tc 9.706 0 Td -(e1)Tj -0 Tc 1.285 0 Td -[(5.17 )-56(is )-56(a )-56(simple )-56(copr)18(ocess )-56(that )-56(r)18(eads )-56(two )-56(numbers )-56(fr)18(om )-56(its)]TJ --12.791 -1.2 Td -(standar)Tj -0.5865 Tc 3.32 0 Td -(di)Tj -0 Tc 1.489 0 Td -[(nput, )-337(computes )-337(their )-337(sum, )-337(and )-337(writes )-337(the )-337(sum )-337(to )-337(its )-337(standar)]TJ -0.5866 Tc 29.739 0 Td -(do)Tj -0 Tc 1.744 0 Td -(utput.)Tj --36.291 -1.2 Td -[(\(Copr)18(ocesses )-37(usually )-37(do )-37(mor)]TJ -0.2867 Tc 12.877 0 Td -(ei)Tj -0 Tc 1.057 0 Td -[(nter)18(esting )-37(work )-37(than )-37(we )-37(illustrate )-37(her)20(e. )-287(This)-286(example )-37(is)]TJ --13.934 -1.2 Td -[(admittedly )-348(contrived )-348(so )-348(that )-348(we )-348(can )-348(study )-348(the )-348(plumbing )-348(needed )-348(to )-348(connect )-348(the)]TJ -0 -1.2 TD -[(pr)18(ocesses.\))]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4982.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 129.5689 488.5817 Tm -(#include "apue.h")Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(n,)-600(int1, int2;)]TJ -T* -[(char )-1800(line[MAXLINE];)]TJ -0 -2.14 TD -(while \(\(n = read\(STDIN_FILENO, line, MAXLINE\)\) > 0\) {)Tj -2.4 -1.189 Td -[(line[n] = 0;)-4800(/* null terminate */)]TJ -0 -1.189 TD -(if \(sscanf\(line, "%d%d", &int1, &int2\) == 2\) {)Tj -2.4 -1.189 Td -(sprintf\(line, "%d\\n", int1 + int2\);)Tj -0.6 Tc T* -(n=s)Tj -0 Tc 3 0 Td -(trlen\(line\);)Tj --3 -1.189 Td -(if \(write\(STDOUT_FILENO, line, n\) != n\))Tj -2.4 -1.189 Td -(err_sys\("write error"\);)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(if \(write\(STDOUT_FILENO, "invalid args\\n", 13\) != 13\))Tj -2.4 -1.189 Td -(err_sys\("write error"\);)Tj --4.8 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2635.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 241.2076 247.4038 Tm -(Figure 15.17)Tj -/T1_0 1 Tf -6.195 0 Td -(Simple \336lter to add two numbers)Tj --0.092 Tc 9.997 0 0 9.997 129.5613 222.2113 Tm -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -[(ompile this pr)18(ogram and leave the executable in the \336le)]TJ -/TT0 1 Tf -24.771 0 Td -(add2)Tj -/T1_0 1 Tf -(.)Tj --25.052 -1.2 Td -[(The )-9(pr)18(ogram )-9(in )-9(Figur)]TJ -0.2595 Tc 9.566 0 Td -(e1)Tj -0 Tc 1.239 0 Td -[(5.18 )-9(invokes )-9(the)]TJ -/TT0 1 Tf -7.359 0 Td -(add2)Tj -/T1_0 1 Tf -2.659 0 Td -[(copr)18(ocess )-9(after )-9(r)18(eading )-9(two )-9(numbers)]TJ --22.623 -1.2 Td -[(fr)18(om its standar)]TJ -0.25 Tc 7 0 Td -(di)Tj -0 Tc 1.152 0 Td -[(nput. )-250(The)-250(value fr)18(om the copr)18(ocess is written to its standar)]TJ -0.25 Tc 26.216 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput.)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1911.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9968 0 0 8.9968 129.5534 181.5116 Tm -(#include "apue.h")Tj -0 -2.14 TD -[(static void sig_pipe\(int\);)-3600(/* our signal handler */)]TJ -T* -(int)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47135 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(540)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -2.259 TD -[(static int)-1200(pfd1[2], pfd2[2];)]TJ -T* -(void)Tj -0 -1.189 TD -(TELL_WAIT\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(pipe\(pfd1\) < 0 || pipe\(pfd2\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("pipe error"\);)Tj --4.8 -1.189 Td -(})Tj -0 -2.259 TD -(void)Tj -0 -1.189 TD -(TELL_PARENT\(pid_t pid\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(write\(pfd2[1], "c", 1\) != 1\))Tj -2.4 -1.189 Td -(err_sys\("write error"\);)Tj --4.8 -1.189 Td -(})Tj -0 -2.259 TD -(void)Tj -0 -1.189 TD -(WAIT_PARENT\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(c;)]TJ -0 -2.259 TD -(if \(read\(pfd1[0], &c, 1\) != 1\))Tj -2.4 -1.189 Td -(err_sys\("read error"\);)Tj --2.4 -2.259 Td -(if \(c != \325p\325\))Tj -2.4 -1.189 Td -(err_quit\("WAIT_PARENT: incorrect data"\);)Tj --4.8 -1.189 Td -(})Tj -T* -(void)Tj -0 -1.189 TD -(TELL_CHILD\(pid_t pid\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(write\(pfd1[1], "p", 1\) != 1\))Tj -2.4 -1.189 Td -(err_sys\("write error"\);)Tj --4.8 -1.189 Td -(})Tj -0 -2.259 TD -(void)Tj -0 -1.189 TD -(WAIT_CHILD\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(c;)]TJ -0 -2.259 TD -(if \(read\(pfd2[0], &c, 1\) != 1\))Tj -2.4 -1.189 Td -(err_sys\("read error"\);)Tj --2.4 -2.259 Td -(if \(c != \325c\325\))Tj -2.4 -1.189 Td -(err_quit\("WAIT_CHILD: incorrect data"\);)Tj --4.8 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1625.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 220.6855 146.4804 Tm -(Figure 15.7)Tj -/T1_1 1 Tf -5.695 0 Td -[(Routines to let a par)18(ent and child synchr)18(onize)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47136 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(538)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(Consider )-98(a )-98(pr)18(ogram )-98(that )-98(displays )-98(some )-98(output )-98(that )-98(it )-98(has )-98(cr)21(eated, )-98(one )-98(page )-98(at )-98(a )-98(time.)]TJ -0 -1.2 TD -[(Rather )-62(than )-62(r)19(einvent )-62(the )-62(pagination )-62(done )-62(by )-62(several )-62(UNIX )-62(system )-62(utilities, )-62(we )-62(want )-62(to)]TJ -T* -[(invoke )-93(the )-93(user)-74(\325s )-93(favorite )-93(pager)]TJ -0.5929 Tc 14.347 0 Td -(.T)Tj -0.3429 Tc 1.364 0 Td -(oa)Tj -0 Tc 1.389 0 Td -[(void )-93(writing )-93(all )-93(the )-93(data )-93(to )-93(a )-93(temporary )-93(\336le )-93(and)]TJ --17.099 -1.2 Td -(calling)Tj -/TT1 1 Tf -3.236 0 Td -(system)Tj -/T1_1 1 Tf -3.881 0 Td -[(to )-31(display )-31(that )-31(\336le, )-31(we )-31(want )-31(to )-31(pipe )-31(the )-31(output )-31(dir)18(ectly )-31(to )-31(the )-31(pager)]TJ -0.5307 Tc 30.036 0 Td -(.T)Tj -0 Tc 1.302 0 Td -(o)Tj --38.454 -1.2 Td -[(do )-85(this, )-85(we )-85(cr)18(eate )-85(a )-85(pipe,)]TJ -/TT1 1 Tf -11.678 0 Td -(fork)Tj -/T1_1 1 Tf -0.3345 Tc 2.734 0 Td -(ac)Tj -0 Tc 1.279 0 Td -[(hild )-84(pr)18(ocess, )-84(set )-84(up )-84(the )-84(child\325s )-84(standar)]TJ -0.3345 Tc 17.388 0 Td -(di)Tj -0 Tc 1.236 0 Td -[(nput )-84(to )-84(be)]TJ --34.315 -1.2 Td -[(the )-11(r)18(ead )-11(end )-11(of )-11(the )-11(pipe, )-11(and)]TJ -/TT1 1 Tf -13.038 0 Td -(exec)Tj -/T1_1 1 Tf -2.661 0 Td -[(the )-11(user)-74(\325s )-11(pager )-11(pr)17(ogram. )-261(Figur)]TJ -0.2615 Tc 14.382 0 Td -(e1)Tj -0 Tc 1.241 0 Td -[(5.6 )-11(shows )-11(how )-11(to)]TJ --31.321 -1.2 Td -[(do )-67(this.)-567(\(This )-67(example )-67(takes )-67(a )-67(command)]TJ -18.408 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-67(ar)18(gument )-67(to )-67(specify )-67(the )-67(name )-67(of )-67(a )-67(\336le )-67(to)]TJ --18.741 -1.2 Td -(display)Tj -0.6303 Tc 3.163 0 Td -(.O)Tj -0 Tc 1.666 0 Td -[(ften, )-130(a )-130(pr)18(ogram )-130(of )-130(this )-130(type )-130(would )-130(alr)16(eady )-130(have )-130(the )-130(data )-130(to )-130(display )-130(to )-130(the)]TJ --4.829 -1.2 Td -[(terminal in memory)111(.\))]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5418.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 532.2351 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -[(#define DEF_PAGER)-1800("/bin/more" )-2400(/*)-600(default pager program */)]TJ -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-2400(n;)]TJ -T* -[(int )-2400(fd[2];)]TJ -T* -[(pid_t )-1200(pid;)]TJ -T* -[(char )-1800(*pager,)-600(*argv0;)]TJ -T* -[(char )-1800(line[MAXLINE];)]TJ -T* -[(FILE )-1800(*fp;)]TJ -0 -1.902 TD -(if \(argc != 2\))Tj -2.4 -1.189 Td -(err_quit\("usage: a.out "\);)Tj --2.4 -1.902 Td -(if \(\(fp = fopen\(argv[1], "r"\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("can\325t open %s", argv[1]\);)Tj --2.4 -1.189 Td -(if \(pipe\(fd\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("pipe error"\);)Tj --2.4 -1.902 Td -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid > 0\) {)Tj -29.4 0 Td -(/* parent */)Tj --28.8 -1.189 Td -[(close\(fd[0]\); )-3600(/*)-600(close read end */)]TJ -0 -1.902 TD -(/* parent copies argv[1] to pipe */)Tj -0 -1.189 TD -(while \(fgets\(line, MAXLINE, fp\) != NULL\) {)Tj -0.6 Tc 2.4 -1.189 Td -(n=s)Tj -0 Tc 3 0 Td -(trlen\(line\);)Tj --3 -1.189 Td -(if \(write\(fd[1], line, n\) != n\))Tj -2.4 -1.189 Td -(err_sys\("write error to pipe"\);)Tj --4.8 -1.189 Td -(})Tj -T* -(if \(ferror\(fp\)\))Tj -2.4 -1.189 Td -(err_sys\("fgets error"\);)Tj --2.4 -1.902 Td -[(close\(fd[1]\); )-1200(/*)-600(close write end of pipe for reader */)]TJ -0 -1.902 TD -(if \(waitpid\(pid, NULL, 0\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("waitpid error"\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47137 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.2)]TJ -41.434 0 Td -(Pipes)Tj -/T1_1 1 Tf -4.399 0 Td -(537)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(2. )-633(If)-343(we)]TJ -/TT0 1 Tf -4.302 0 Td -(write)Tj -/T1_0 1 Tf -3.343 0 Td -[(to )-93(a )-93(pipe )-93(whose )-93(r)18(ead )-93(end )-93(has )-93(been )-93(closed, )-93(the )-93(signal)]TJ -/TT0 1 Tf -24.297 0 Td -(SIGPIPE)Tj -/T1_0 1 Tf -4.543 0 Td -(is)Tj --34.852 -1.2 Td -[(generated. )-342(If)-342(we )-92(either )-92(ignor)]TJ -0.3417 Tc 13.161 0 Td -(et)Tj -0 Tc 1.147 0 Td -[(he )-92(signal )-92(or )-92(catch )-92(it )-92(and )-92(r)18(eturn )-92(fr)18(om )-92(the )-92(signal)]TJ --14.308 -1.2 Td -[(handler)74(,)]TJ -/TT0 1 Tf -3.866 0 Td -(write)Tj -/T1_0 1 Tf --0.018 Tc 3.25 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -/TT1 1 Tf -2.58 0 Td -(!)Tj -/T1_0 1 Tf -0.25 Tc (1w)Tj -0 Tc 2.133 0 Td -(ith)Tj -/TT0 1 Tf -1.449 0 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(EPIPE)Tj -/T1_0 1 Tf -(.)Tj --21.618 -2.04 Td -[(When )-279(we\325r)]TJ -0.529 Tc 5.14 0 Td -(ew)Tj -0 Tc 1.842 0 Td -[(riting )-279(to )-279(a )-279(pipe )-279(\(or )-279(FIFO\), )-279(the )-279(constant)]TJ -/TT0 1 Tf -19.226 0 Td -(PIPE_BUF)Tj -/T1_0 1 Tf -5.329 0 Td -[(speci\336es )-279(the)]TJ --33.337 -1.2 Td -[(kernel\325s )-116(pipe )-116(buf)17(fer )-116(size.)-616(A)]TJ -/TT0 1 Tf -12.937 0 Td -(write)Tj -/T1_0 1 Tf -3.366 0 Td -(of)Tj -/TT0 1 Tf -1.245 0 Td -(PIPE_BUF)Tj -/T1_0 1 Tf -5.166 0 Td -[(bytes )-116(or )-116(less )-116(will )-116(not )-116(be )-116(interleaved)]TJ --22.715 -1.2 Td -[(with )-229(the)]TJ -/TT0 1 Tf -4.377 0 Td -(write)Tj -/T1_0 1 Tf -0.4788 Tc (sf)Tj --0.018 Tc 4.236 0 Td -(ro)Tj -0.4788 Tc 0.923 0 Td -(mo)Tj -0 Tc 1.908 0 Td -[(ther )-229(pr)18(ocesses )-229(to )-229(the )-229(same )-229(pipe )-229(\(or )-229(FIFO\).)-729(But )-229(if )-229(multiple)]TJ --11.444 -1.2 Td -[(pr)18(ocesses )-46(ar)]TJ -0.2962 Tc 5.371 0 Td -(ew)Tj -0 Tc 1.609 0 Td -[(riting )-46(to )-46(a )-46(pipe )-46(\(or )-46(FIFO\), )-46(and )-46(if )-46(we)]TJ -/TT0 1 Tf -16.172 0 Td -(write)Tj -/T1_0 1 Tf -3.296 0 Td -(mor)Tj -0.2961 Tc 1.806 0 Td -(et)Tj -0 Tc 1.101 0 Td -(han)Tj -/TT0 1 Tf -1.96 0 Td -(PIPE_BUF)Tj -/T1_0 1 Tf -5.096 0 Td -(bytes,)Tj --36.412 -1.2 Td -[(the )-87(data )-87(might )-87(be )-87(interleaved )-87(with )-87(the )-87(data )-87(fr)18(om )-87(the )-87(other )-87(writers.)]TJ --0.092 Tc 30.889 0 Td -[(We )-271(c)]TJ -0 Tc 2.168 0 Td -[(an )-87(determine)]TJ --33.056 -1.2 Td -(the value of)Tj -/TT0 1 Tf -5.454 0 Td -(PIPE_BUF)Tj -/T1_0 1 Tf -5.05 0 Td -(by using)Tj -/TT0 1 Tf -4.065 0 Td -(pathconf)Tj -/T1_0 1 Tf -5.05 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(fpathconf)Tj -/T1_0 1 Tf -5.65 0 Td -[(\(r)18(ecall Figur)]TJ -0.25 Tc 5.348 0 Td -(e2)Tj -0 Tc 1.229 0 Td -(.12\).)Tj -/TT2 1 Tf --36.637 -2.76 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.16 Td -(Figur)Tj -0.3207 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.3 0 Td -[(5.5 )-71(shows )-71(the )-71(code )-71(to )-71(cr)20(eate )-71(a )-71(pipe )-71(between )-71(a )-71(par)18(ent )-71(and )-71(its )-71(child )-71(and )-71(to )-71(send)]TJ --3.683 -1.2 Td -(data down the pipe.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4962.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 486.6406 Tm -(#include "apue.h")Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-2400(n;)]TJ -T* -[(int )-2400(fd[2];)]TJ -T* -[(pid_t )-1200(pid;)]TJ -T* -[(char )-1800(line[MAXLINE];)]TJ -0 -1.902 TD -(if \(pipe\(fd\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("pipe error"\);)Tj --2.4 -1.189 Td -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(pid > 0\) {)-4200(/* parent */)]TJ -0.6 -1.189 Td -(close\(fd[0]\);)Tj -0 -1.189 TD -(write\(fd[1], "hello world\\n", 12\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -15 0 Td -(/* child */)Tj --14.4 -1.189 Td -(close\(fd[1]\);)Tj -0.6 Tc T* -(n=r)Tj -0 Tc 3 0 Td -(ead\(fd[0], line, MAXLINE\);)Tj --3 -1.189 Td -(write\(STDOUT_FILENO, line, n\);)Tj --2.4 -1.189 Td -(})Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2443.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 227.0351 228.3169 Tm -(Figure 15.5)Tj -/T1_0 1 Tf -5.695 0 Td -[(Send data fr)18(om par)18(ent to child over a pipe)]TJ -9.9982 0 0 9.9982 129.5769 204.3212 Tm -[(Note that the pipe dir)18(ection her)]TJ -0.25 Tc 13.91 0 Td -(em)Tj -0 Tc 1.612 0 Td -(atches the orientation shown in Figur)Tj -0.25 Tc 16.48 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.4.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2043.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9976 0 0 9.9976 147.5646 180.3147 Tm -[(In )-427(the )-427(pr)18(evious )-427(example, )-427(we )-427(called)]TJ -/TT0 1 Tf -18.183 0 Td -(read)Tj -/T1_0 1 Tf -3.077 0 Td -(and)Tj -/TT0 1 Tf -2.37 0 Td -(write)Tj -/T1_0 1 Tf -3.677 0 Td -[(dir)18(ectly )-427(on )-427(the )-427(pipe)]TJ --29.107 -1.2 Td -[(descriptors. )-290(What)-291(is )-40(mor)]TJ -0.2903 Tc 11.236 0 Td -(ei)Tj -0 Tc 1.06 0 Td -[(nter)18(esting )-40(is )-40(to )-40(duplicate )-40(the )-40(pipe )-40(descriptors )-40(onto )-40(standar)16(d)]TJ --12.296 -1.2 Td -[(input )-188(or )-188(standar)]TJ -0.4383 Tc 7.541 0 Td -(do)Tj -0 Tc 1.595 0 Td -[(utput. )-438(Often,)-439(the )-188(child )-188(then )-188(r)8(uns )-188(some )-188(other )-188(pr)18(ogram, )-188(and )-188(that)]TJ --9.136 -1.2 Td -[(pr)18(ogram )-7(can )-7(either )-7(r)18(ead )-7(fr)18(om )-7(its )-7(standar)]TJ -0.2572 Tc 17.946 0 Td -(di)Tj -0 Tc 1.159 0 Td -[(nput )-7(\(the )-7(pipe )-7(that )-7(we )-7(cr)18(eated\) )-7(or )-7(write )-7(to )-7(its)]TJ --19.105 -1.2 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput \(the pipe\).)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47138 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(530)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-239(\336)]TJ -0 Tc 2.297 0 Td -[(rst )-55(open )-55(both )-55(\336les )-55(and )-55(then )-55(call)]TJ -/TT0 1 Tf -14.479 0 Td -(fstat)Tj -/T1_1 1 Tf -3.305 0 Td -[(to )-55(obtain )-55(the )-55(size )-55(of )-55(the )-55(input )-55(\336le.)]TJ --0.092 Tc 15.733 0 Td -(We)Tj -0 Tc -37.613 -1.2 Td -[(need )-70(this )-70(size )-70(for )-70(the )-70(call )-70(to)]TJ -/TT0 1 Tf -12.769 0 Td -(mmap)Tj -/T1_1 1 Tf -2.72 0 Td -[(for )-70(the )-70(input )-70(\336le, )-70(and )-70(we )-70(also )-70(need )-70(to )-70(set )-70(the )-70(size )-70(of)]TJ --15.489 -1.2 Td -[(the )-36(output )-36(\336le.)]TJ --0.092 Tc 7.125 0 Td -[(We )-220(c)]TJ -0 Tc 2.117 0 Td -(all)Tj -/TT0 1 Tf -1.368 0 Td -(ftruncate)Tj -/T1_1 1 Tf -5.686 0 Td -[(to )-36(set )-36(the )-36(size )-36(of )-36(the )-36(output )-36(\336le.)-536(If )-36(we )-36(don\325t )-36(set )-36(the)]TJ --16.297 -1.2 Td -[(output )-42(\336le\325s )-42(size, )-42(the )-42(call )-42(to)]TJ -/TT0 1 Tf -12.561 0 Td -(mmap)Tj -/T1_1 1 Tf -2.692 0 Td -[(for )-42(the )-42(output )-42(\336le )-42(is )-42(successful, )-42(but )-42(the )-42(\336rst )-42(r)22(efer)18(ence)]TJ --15.253 -1.2 Td -[(to the associated memory r)18(egion generates a)]TJ -/TT0 1 Tf -19.847 0 Td -(SIGBUS)Tj -/T1_1 1 Tf -3.85 0 Td -(signal.)Tj --0.092 Tc -21.897 -1.2 Td -[(We )-192(t)]TJ -0 Tc 1.971 0 Td -[(hen )-8(call)]TJ -/TT0 1 Tf -3.685 0 Td -(mmap)Tj -/T1_1 1 Tf -2.658 0 Td -[(for )-8(each )-8(\336le, )-8(to )-8(map )-8(the )-8(\336le )-8(into )-8(memory)]TJ -0.2579 Tc 17.961 0 Td -(,a)Tj -0 Tc 1.008 0 Td -[(nd )-8(\336nally )-8(call)]TJ -/TT0 1 Tf -6.318 0 Td -(memcpy)Tj -/T1_1 1 Tf --35.4 -1.2 Td -[(to )-14(copy )-14(data )-14(fr)18(om )-14(the )-14(input )-14(buf)18(fer )-14(to )-14(the )-14(output )-14(buf)19(fer)]TJ -0.5139 Tc 24.07 0 Td -(.W)Tj -0.2639 Tc 1.672 0 Td -(ec)Tj -0 Tc 1.187 0 Td -[(opy )-14(at )-14(most )-14(1 )-14(GB )-14(of )-14(data )-14(at)]TJ -0.2688 Tc -26.929 -1.2 Td -(at)Tj -0 Tc 1.095 0 Td -[(ime )-19(to )-19(limit )-19(the )-19(amount )-19(of )-19(memory )-19(we )-19(use )-19(\(it )-19(might )-19(not )-19(be )-19(possible )-19(to )-19(map )-19(the )-19(entir)20(e)]TJ --1.095 -1.2 Td -[(contents )-297(of )-297(a )-297(very )-297(lar)18(ge )-297(\336le )-297(if )-297(the )-297(system )-297(doesn\325t )-297(have )-297(enough )-297(memory\).)-802(Befor)18(e)]TJ -0 -1.2 TD -[(mapping the next sections of the \336les, we unmap the pr)18(evious sections.)]TJ -1.8 -1.2 Td -[(As )-260(the )-260(bytes )-260(of )-260(data )-260(ar)]TJ -0.5096 Tc 11.168 0 Td -(ef)Tj -0 Tc 1.322 0 Td -[(etched )-260(fr)18(om )-260(the )-260(input )-260(buf)18(fer )-260(\()]TJ -/TT0 1 Tf -14.409 0 Td -(src)Tj -/T1_1 1 Tf -[(\), )-260(the )-260(input )-260(\336le )-260(is)]TJ --28.699 -1.2 Td -[(automatically )-128(r)18(ead )-128(by )-128(the )-128(kernel; )-128(as )-128(the )-128(data )-128(is )-128(stor)18(ed )-128(in )-128(the )-128(output )-128(buf)18(fer )-128(\()]TJ -/TT0 1 Tf -34.852 0 Td -(dst)Tj -/T1_1 1 Tf -[(\), )-128(the)]TJ --34.852 -1.2 Td -(data is automatically written to the output \336le.)Tj -7.9995 0 0 7.9995 183.5884 504.9697 Tm -[(Exactly )-276(when )-276(the )-276(data )-276(is )-276(written )-276(to )-276(the )-276(\336le )-276(depends )-276(on )-276(the )-276(system\325s )-276(page )-276(management)]TJ -0 -1.25 TD -[(algorithms. )-356(Some)-355(systems )-106(have )-106(daemons )-106(that )-106(write )-106(dirty )-106(pages )-106(to )-106(disk )-106(slowly )-106(over )-106(time.)-601(If)]TJ --0 -1.25 Td -[(we )-112(want )-112(to )-112(ensur)]TJ -0.3618 Tc 7.977 0 Td -(et)Tj -0 Tc 1.167 0 Td -[(hat )-112(the )-112(data )-112(is )-112(safely )-112(written )-112(to )-112(the )-112(\336le, )-112(we )-112(need )-112(to )-112(call)]TJ -/TT0 1 Tf -25.712 0 Td -(msync)Tj -/T1_1 1 Tf -3.362 0 Td -[(with )-112(the)]TJ -/TT0 1 Tf --38.218 -1.25 Td -(MS_SYNC)Tj -/T1_1 1 Tf -4.45 0 Td -(\337ag befor)Tj -0.25 Tc 4.202 0 Td -(ee)Tj -0 Tc 1.208 0 Td -(xiting.)Tj -9.9994 0 0 9.9994 147.5903 452.9728 Tm -[(Let\325s )-15(compar)]TJ -0.2648 Tc 5.734 0 Td -(et)Tj -0 Tc 1.07 0 Td -[(his )-15(memory-mapped )-15(\336le )-15(copy )-15(to )-15(a )-15(copy )-15(that )-15(is )-15(done )-15(by )-15(calling)]TJ -/TT0 1 Tf -27.996 0 Td -(read)Tj -/T1_1 1 Tf --36.6 -1.2 Td -(and)Tj -/TT0 1 Tf -2.022 0 Td -(write)Tj -/T1_1 1 Tf -3.329 0 Td -[(\(with )-79(a )-79(buf)18(fer )-79(size )-79(of )-79(8,192\).)-581(Figur)]TJ -0.3294 Tc 15.559 0 Td -(e1)Tj -0 Tc 1.308 0 Td -[(4.28 )-79(shows )-79(the )-79(r)17(esults. )-329(The)-330(times )-79(ar)18(e)]TJ --22.22 -1.2 Td -[(given )-61(in )-61(seconds )-61(and )-61(the )-61(size )-61(of )-61(the )-61(\336le )-61(copied )-61(was )-61(300 )-61(MB.)-561(Note )-61(that )-61(we )-61(don\325t )-61(synch)]TJ -0 -1.2 TD -(the data to disk befor)Tj -0.25 Tc 9.366 0 Td -(ee)Tj -0 Tc 1.208 0 Td -(xiting.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1815.25 3934.25 cm -0 0 m -2861 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 262.4525 385.3538 Tm -(Linux 3.2.0)Tj -5.103 0.04 Td -(\()Tj -0.333 -0.04 Td -(Intel x86)Tj -3.781 0.04 Td -(\))Tj -5.472 -0.04 Td -(Solaris 10)Tj -4.472 0.04 Td -(\()Tj -0.333 -0.04 Td -[(SP)92(ARC)]TJ -3.192 0.04 Td -(\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2443.25 3814.25 cm -0 0 m -2233 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 254.7901 373.3328 Tm -[(User )-1808(System)-1824(Clock )-2132(User)-2058(System )-1573(Clock)]TJ --7.612 0.75 Td -(Operation)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1815.25 3694.25 cm -0 0 m -2861 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1815.25 3674.25 cm -0 0 m -2861 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 185.5235 359.3138 Tm -(read/write)Tj -/T1_1 1 Tf -8.821 0 Td -[(0.01 )-2693(0.54)-3193(5.67 )-2443(0.29 )-2443(10.60)-2443(43.67)]TJ -/TT0 1 Tf --8.822 -1.25 Td -(mmap/memcpy)Tj -/T1_1 1 Tf -8.821 0 Td -[(0.08 )-2693(0.65)-2693(22.54 )-2443(1.89)-3193(8.56 )-2193(38.42)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1815.25 3454.25 cm -0 0 m -2861 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4321.25 3454.25 cm -0 0 m -0 360 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3945.25 3454.25 cm -0 0 m -0 360 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3570.25 3454.25 cm -0 0 m -0 480 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3194.25 3454.25 cm -0 0 m -0 360 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2819.25 3454.25 cm -0 0 m -0 360 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2443.25 3454.25 cm -0 0 m -0 480 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4676.25 3454.25 cm -0 0 m -0 480 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1815.25 3454.25 cm -0 0 m -0 480 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 189.2712 327.3018 Tm -(Figure 14.28)Tj -/T1_1 1 Tf --0.055 Tc 6.195 0 Td -(Ti)Tj -0 Tc 0.849 0 Td -[(ming r)18(esults comparing)]TJ -/TT0 1 Tf -10.784 0 Td -(read/write)Tj -/T1_1 1 Tf -6.25 0 Td -(versus)Tj -/TT0 1 Tf -3.14 0 Td -(mmap/memcpy)Tj -/T1_1 1 Tf -9.997 0 0 9.997 147.5553 298.5104 Tm -[(For )-44(both )-44(Linux )-44(3.2.0 )-44(and )-44(Solaris )-44(10, )-44(the )-44(total )-44(CPU )-44(time )-44(\(user)]TJ -/TT1 1 Tf -27.105 0 Td -(+)Tj -/T1_1 1 Tf -0.716 0 Td -[(system\) )-44(is )-44(almost )-44(the)]TJ --29.62 -1.2 Td -[(same )-166(for )-166(both )-166(appr)17(oaches. )-416(On)-416(Solaris, )-166(copying )-166(using)]TJ -/TT0 1 Tf -25.073 0 Td -(mmap)Tj -/T1_1 1 Tf -2.816 0 Td -(and)Tj -/TT0 1 Tf -2.109 0 Td -(memcpy)Tj -/T1_1 1 Tf -4.016 0 Td -[(takes )-166(mor)18(e)]TJ --34.014 -1.2 Td -[(user )-159(time )-159(but )-159(less )-159(system )-159(time )-159(than )-159(copying )-159(using)]TJ -/TT0 1 Tf -23.754 0 Td -(read)Tj -/T1_1 1 Tf -2.809 0 Td -(and)Tj -/TT0 1 Tf -2.102 0 Td -(write)Tj -/T1_1 1 Tf -0.659 Tc (.O)Tj -0.409 Tc 4.695 0 Td -(nL)Tj -0 Tc 1.602 0 Td -[(inux, )-159(the)]TJ --0.018 Tc -34.962 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sults )-86(ar)]TJ -0.336 Tc 3.281 0 Td -(es)Tj -0 Tc 1.239 0 Td -[(imilar )-86(for )-86(the )-86(user )-86(time, )-86(but )-86(the )-86(system )-86(time )-86(for )-86(using)]TJ -/TT0 1 Tf -24.808 0 Td -(read)Tj -/T1_1 1 Tf -2.736 0 Td -(and)Tj -/TT0 1 Tf -2.029 0 Td -(write)Tj -/T1_1 1 Tf -3.336 0 Td -(is)Tj --38.285 -1.2 Td -[(slightly )-72(better )-72(than )-72(using)]TJ -/TT0 1 Tf -11.609 0 Td -(mmap)Tj -/T1_1 1 Tf -2.722 0 Td -(and)Tj -/TT0 1 Tf -2.015 0 Td -(memcpy)Tj -/T1_1 1 Tf -0.5719 Tc (.T)Tj -0 Tc 5.035 0 Td -[(he )-72(two )-72(versions )-72(do )-72(the )-72(same )-72(work, )-72(but)]TJ --21.38 -1.2 Td -[(they go about it dif)18(fer)18(ently)111(.)]TJ -1.8 -1.2 Td -[(The )-112(major )-112(dif)17(fer)18(ence )-112(is )-112(that )-112(with)]TJ -/TT0 1 Tf -15.279 0 Td -(read)Tj -/T1_1 1 Tf -2.762 0 Td -(and)Tj -/TT0 1 Tf -2.055 0 Td -(write)Tj -/T1_1 1 Tf -[(,)-362(we)-362(e)-1(xecute )-112(a )-112(lot )-112(mor)]TJ -0.3624 Tc 13.17 0 Td -(es)Tj -0 Tc 1.265 0 Td -(ystem)Tj --36.332 -1.2 Td -[(calls )-130(and )-130(do )-130(mor)]TJ -0.3802 Tc 7.747 0 Td -(ec)Tj -0 Tc 1.303 0 Td -[(opying )-130(than )-130(with)]TJ -/TT0 1 Tf -8.296 0 Td -(mmap)Tj -/T1_1 1 Tf -2.78 0 Td -(and)Tj -/TT0 1 Tf -2.073 0 Td -(memcpy)Tj -/T1_1 1 Tf -0.6302 Tc (.W)Tj -0 Tc 5.425 0 Td -(ith)Tj -/TT0 1 Tf -1.579 0 Td -(read)Tj -/T1_1 1 Tf -2.78 0 Td -(and)Tj -/TT0 1 Tf -2.073 0 Td -(write)Tj -/T1_1 1 Tf -0.3803 Tc (,w)Tj -0 Tc 4.464 0 Td -(e)Tj --38.521 -1.2 Td -[(copy )-43(the )-43(data )-43(fr)18(om )-43(the )-43(kernel\325s )-43(buf)17(fer )-43(to )-43(the )-43(application\325s )-43(buf)18(fer )-43(\()]TJ -/TT0 1 Tf -(read)Tj -/T1_1 1 Tf -[(\), )-43(and )-43(then )-43(copy)]TJ -T* -[(the )-132(data )-132(fr)18(om )-132(the )-132(application\325s )-132(buf)18(fer )-132(to )-132(the )-132(kernel\325s )-132(buf)14(fer )-133(\()]TJ -/TT0 1 Tf -(write)Tj -/T1_1 1 Tf -[(\). )-383(W)55(ith)]TJ -/TT0 1 Tf -34.524 0 Td -(mmap)Tj -/T1_1 1 Tf -2.783 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(memcpy)Tj -/T1_1 1 Tf -[(,)-415(we)-415(copy )-165(the )-165(data )-165(dir)18(ectly )-165(fr)18(om )-165(one )-165(kernel )-165(buf)18(fer )-165(mapped )-165(into )-165(our )-165(addr)18(ess)]TJ --0 -1.2 Td -[(space )-6(into )-6(another )-6(kernel )-6(buf)17(fer )-6(mapped )-6(into )-6(our )-6(addr)18(ess )-6(space.)-506(This )-6(copying )-6(occurs )-6(as)]TJ -0.3816 Tc T* -(ar)Tj -0 Tc 1.259 0 Td -[(esult )-132(of )-132(page )-132(fault )-132(handling )-132(when )-132(we )-132(r)21(efer)18(ence )-131(memory )-131(pages )-131(that )-131(don\325t )-131(yet )-131(exist)]TJ --1.259 -1.2 Td -[(\(ther)18(e)-270(is)-270(o)1(ne )-20(fault )-20(per )-20(page )-20(r)18(ead )-20(and )-20(one )-20(fault )-20(per )-20(page )-20(written\).)-516(If )-20(the )-20(over)18(head )-20(for )-20(the)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47139 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(522)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.16 Td -[(In )-417(Section )-417(20.8, )-417(in )-417(the )-417(function)]TJ -/TT1 1 Tf -16.08 0 Td -(_db_writeidx)Tj -/T1_1 1 Tf -[(,)-667(we)-667(need )-417(to )-417(write )-417(two )-417(buf)18(fers)]TJ --16.08 -1.2 Td -[(consecutively )-30(to )-30(a )-30(\336le.)-530(The )-30(second )-30(buf)18(fer )-30(to )-30(output )-30(is )-30(an )-30(ar)18(gument )-30(passed )-30(by )-30(the )-30(caller)80(,)]TJ -0 -1.2 TD -[(and )-15(the )-15(\336rst )-15(buf)18(fer )-15(is )-15(one )-15(we )-15(cr)20(eate, )-15(containing )-15(the )-15(length )-15(of )-15(the )-15(second )-15(buf)18(fer )-15(and )-15(a )-15(\336le)]TJ -T* -[(of)18(fset of other information in the \336le.)-500(Ther)]TJ -0.25 Tc 18.841 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(t)]TJ -0 Tc 1.432 0 Td -[(hr)18(ee ways we can do this.)]TJ --19.702 -1.8 Td -[(1. )-633(Call)]TJ -/TT1 1 Tf -3.674 0 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -[(twice, once for each buf)18(fer)74(.)]TJ --6.924 -1.6 Td -[(2. )-633(Allocate)]TJ -0.3682 Tc 5.656 0 Td -(ab)Tj -0 Tc 1.421 0 Td -[(uf)18(fer )-118(of )-118(our )-118(own )-118(that )-118(is )-118(lar)17(ge )-118(enough )-118(to )-118(contain )-118(both )-118(buf)18(fers, )-118(and)]TJ --5.444 -1.2 Td -[(copy both into the new buf)18(fer)]TJ -0.5 Tc 13.035 0 Td -(.W)Tj -0.25 Tc 1.658 0 Td -(et)Tj -0 Tc 1.055 0 Td -(hen call)Tj -/TT1 1 Tf -3.669 0 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -[(once for this new buf)18(fer)74(.)]TJ --24.3 -1.6 Td -[(3. )-633(Call)]TJ -/TT1 1 Tf -3.674 0 Td -(writev)Tj -/T1_1 1 Tf -3.85 0 Td -[(to output both buf)18(fers.)]TJ --9.324 -1.8 Td -[(The )-10(solution )-10(we )-10(use )-10(in )-10(Section )-10(20.8 )-10(is )-10(to )-10(use)]TJ -/TT1 1 Tf -19.616 0 Td -(writev)Tj -/T1_1 1 Tf -0.2605 Tc (,b)Tj -0 Tc 4.664 0 Td -[(ut )-10(it\325s )-10(instr)7(uctive )-11(to )-11(compar)19(e)-261(it)-261(t)1(o)]TJ --24.28 -1.2 Td -(the other two solutions.)Tj -1.8 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(4.23 shows the r)18(esults fr)18(om the thr)18(ee methods just described.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1578.25 4862.25 cm -0 0 m -3336 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 295.2086 478.1426 Tm -(Linux)Tj -2.853 0.04 Td -(\()Tj -0.333 -0.04 Td -(Intel x86)Tj -3.781 0.04 Td -(\))Tj -6.229 -0.04 Td -(Mac OS X)Tj -4.618 0.04 Td -(\()Tj -0.333 -0.04 Td -(Intel x86)Tj -3.781 0.04 Td -(\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2681.25 4742.25 cm -0 0 m -2233 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 278.5459 466.1161 Tm -[(User )-1808(System)-1824(Clock )-2132(User)-2058(System )-1573(Clock)]TJ --10.582 0.75 Td -(Operation)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1578.25 4622.25 cm -0 0 m -3336 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1578.25 4602.25 cm -0 0 m -3336 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 161.7692 452.0915 Tm -(two)Tj -/TT1 1 Tf -1.956 0 Td -(write)Tj -/T1_1 1 Tf -9.3815 Tc (s0)Tj -0 Tc 13.306 0 Td -[(.06 )-2693(2.04 )-2693(2.13 )-2693(0.85 )-2693(8.33)-2693(13.83)]TJ --15.262 -1.25 Td -[(buf)18(fer copy)]TJ -0.25 Tc 4.964 0 Td -(,t)Tj -0 Tc 0.826 0 Td -(hen one)Tj -/TT1 1 Tf -3.75 0 Td -(write)Tj -/T1_1 1 Tf -5.221 0 Td -[(0.03 )-2693(1.13 )-2693(1.16 )-2693(0.70 )-2693(4.87)-3193(9.25)]TJ --14.762 -1.25 Td -(one)Tj -/TT1 1 Tf -1.857 0 Td -(writev)Tj -/T1_1 1 Tf -12.905 0 Td -[(0.04 )-2693(1.21 )-2693(1.26 )-2693(0.43 )-2693(5.34)-3193(9.24)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1578.25 4282.25 cm -0 0 m -3336 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4558.25 4282.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4183.25 4282.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3807.25 4282.25 cm -0 0 m -0 580 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3432.25 4282.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3056.25 4282.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2681.25 4282.25 cm -0 0 m -0 580 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4914.25 4282.25 cm -0 0 m -0 580 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1578.25 4282.25 cm -0 0 m -0 580 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 200.6638 410.077 Tm -(Figure 14.23)Tj -/T1_1 1 Tf --0.055 Tc 6.195 0 Td -(Ti)Tj -0 Tc 0.849 0 Td -[(ming r)18(esults comparing)]TJ -/TT1 1 Tf -10.784 0 Td -(writev)Tj -/T1_1 1 Tf -3.85 0 Td -(and other techniques)Tj -9.997 0 0 9.997 129.5618 383.6849 Tm -[(The )-68(test )-68(pr)17(ogram )-68(that )-68(we )-68(measur)18(ed )-68(output )-68(a )-68(100)]TJ -22.041 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-68(header )-68(followed )-68(by )-68(200 )-68(bytes )-68(of)]TJ --22.374 -1.2 Td -[(data. )-304(This)-304(was )-54(done )-54(1,048,576 )-54(times, )-54(generating )-54(a )-54(300-megabyte )-54(\336le.)-556(The )-54(test )-54(pr)17(ogram)]TJ --0 -1.2 Td -[(has )-55(thr)18(ee )-55(separate )-55(cases)]TJ -0.0833 Tc 10.721 0 Td -(\321o)Tj -0 Tc 1.629 0 Td -[(ne )-55(for )-55(each )-55(of )-55(the )-55(techniques )-55(measur)20(ed )-54(in )-54(Figur)]TJ -0.3045 Tc 21.425 0 Td -(e1)Tj -0 Tc 1.284 0 Td -[(4.23. )-304(W)92(e)]TJ --35.059 -1.2 Td -(used)Tj -/TT1 1 Tf -2.544 0 Td -(times)Tj -/T1_1 1 Tf -3.427 0 Td -[(\(Section )-177(8.17\) )-177(to )-177(obtain )-177(the )-177(user )-177(CPU )-177(time, )-177(system )-177(CPU )-177(time, )-177(and )-177(wall)]TJ --5.97 -1.2 Td -(clock time befor)Tj -0.25 Tc 7.048 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(nd after the writes.)-500(All thr)18(ee times ar)]TJ -0.25 Tc 16.495 0 Td -(es)Tj -0 Tc 1.153 0 Td -(hown in seconds.)Tj --24.125 -1.2 Td -[(As )-125(we )-125(expect, )-125(the )-125(system )-125(time )-125(incr)18(eases )-125(when )-125(we )-125(call)]TJ -/TT1 1 Tf -25.137 0 Td -(write)Tj -/T1_1 1 Tf -3.375 0 Td -[(twice, )-125(compar)18(ed )-125(to)]TJ --30.312 -1.2 Td -(calling either)Tj -/TT1 1 Tf -6.007 0 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -(or)Tj -/TT1 1 Tf -1.191 0 Td -(writev)Tj -/T1_1 1 Tf -3.85 0 Td -[(once. )-250(This)-250(corr)18(elates with the r)18(esults in Figur)]TJ -0.25 Tc 20.072 0 Td -(e3)Tj -0 Tc 1.229 0 Td -(.6.)Tj --33.799 -1.2 Td -[(Next, )-3(note )-3(that )-3(the )-3(sum )-3(of )-3(the )-3(CPU )-3(times )-3(\(user )-3(plus )-3(system\) )-3(is )-3(slightly )-3(less )-3(when )-3(we)]TJ --1.8 -1.2 Td -[(do )-17(a )-17(buf)17(fer )-17(copy )-17(followed )-17(by )-17(a )-17(single)]TJ -/TT1 1 Tf -16.784 0 Td -(write)Tj -/T1_1 1 Tf -3.267 0 Td -[(compar)18(ed )-17(to )-17(a )-17(single )-17(call )-17(to)]TJ -/TT1 1 Tf -12.438 0 Td -(writev)Tj -/T1_1 1 Tf -0.5173 Tc (.W)Tj -0 Tc 5.312 0 Td -(ith)Tj --37.801 -1.2 Td -[(the )-148(single)]TJ -/TT1 1 Tf -4.807 0 Td -(write)Tj -/T1_1 1 Tf -[(,)-398(we)-398(c)-1(opy )-148(the )-148(buf)18(fers )-148(to )-148(a )-148(staging )-148(buf)16(fer )-148(at )-148(user )-148(level, )-148(and )-148(then )-148(the)]TJ --4.807 -1.2 Td -[(kernel )-47(will )-47(copy )-47(the )-47(data )-47(to )-47(its )-47(internal )-47(buf)18(fers )-47(when )-47(we )-47(call)]TJ -/TT1 1 Tf -27.302 0 Td -(write)Tj -/T1_1 1 Tf -0.547 Tc (.W)Tj -0 Tc 4.742 0 Td -(ith)Tj -/TT1 1 Tf -1.496 0 Td -(writev)Tj -/T1_1 1 Tf -0.297 Tc (,w)Tj -0 Tc 4.981 0 Td -(e)Tj --38.521 -1.2 Td -[(should )-59(do )-59(less )-59(copying, )-59(because )-59(the )-59(kernel )-59(only )-59(needs )-59(to )-59(copy )-59(the )-59(data )-59(dir)17(ectly )-59(into )-59(its)]TJ -T* -[(staging )-285(buf)18(fers. )-535(The)-535(\336xed )-285(cost )-285(of )-285(using)]TJ -/TT1 1 Tf -19.543 0 Td -(writev)Tj -/T1_1 1 Tf -4.135 0 Td -[(for )-285(such )-285(small )-285(amounts )-285(of )-285(data,)]TJ --23.678 -1.2 Td -[(however)74(,)-309(is)-309(g)]TJ --0.018 Tc (re)Tj -0 Tc 6.801 0 Td -[(ater )-59(than )-59(the )-59(bene\336t.)-559(As )-59(the )-59(amount )-59(of )-59(data )-59(we )-59(need )-59(to )-59(copy )-59(incr)15(eases,)]TJ --6.801 -1.2 Td -[(the )-206(mor)]TJ -0.4562 Tc 3.649 0 Td -(ee)Tj -0 Tc 1.414 0 Td -[(xpensive )-206(it )-206(will )-206(be )-206(to )-206(copy )-206(the )-206(buf)18(fers )-206(in )-206(our )-206(pr)18(ogram, )-206(and )-206(the)]TJ -/TT1 1 Tf -30.337 0 Td -(writev)Tj -/T1_1 1 Tf --35.4 -1.2 Td -(alternative will be mor)Tj -0.25 Tc 10.029 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ttractive.)Tj -7.9976 0 0 7.9976 183.5464 186.1441 Tm -[(Don\325t )-8(infer )-8(too )-8(much )-8(about )-8(the )-8(r)18(elative )-8(performance )-8(of )-8(Linux )-8(and )-8(Mac )-8(OS )-8(X )-8(fr)18(om )-8(the )-8(numbers)]TJ -0 -1.25 TD -[(shown )-103(in )-103(Figur)]TJ -0.3534 Tc 6.931 0 Td -(e1)Tj -0 Tc 1.332 0 Td -[(4.23. )-353(The)-354(two )-103(computers )-103(wer)]TJ -0.3534 Tc 13.435 0 Td -(ev)Tj -0 Tc 1.397 0 Td -[(ery )-103(dif)18(fer)18(ent: )-103(they )-103(had )-103(dif)17(fer)18(ent )-103(pr)18(ocessor)]TJ --23.095 -1.25 Td -[(generations, )-83(dif)18(fer)18(ent )-83(amounts )-83(of )-83(RAM, )-83(and )-83(disks )-83(with )-83(dif)18(fer)18(ent )-83(speeds.)]TJ --0.092 Tc 33.261 0 Td -[(To )-267(d)]TJ -0 Tc 2.011 0 Td -[(o)-333(an)-333(apples-to-)]TJ --35.272 -1.25 Td -[(apples )-52(comparison )-52(of )-52(one )-52(operating )-52(system )-52(to )-52(another)]TJ -0.3021 Tc 24.285 0 Td -(,w)Tj -0.302 Tc 1.386 0 Td -(en)Tj -0 Tc 1.363 0 Td -[(eed )-52(to )-52(use )-52(the )-52(same )-52(har)18(dwar)]TJ -0.302 Tc 12.911 0 Td -(ef)Tj -0 Tc 1.114 0 Td -(or)Tj --41.059 -1.25 Td -(each operating system.)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1322.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47140 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.5)]TJ -35.16 0 Td -[(Asynchr)18(onous )-250(I/O)]TJ -/T1_1 1 Tf -10.673 0 Td -(517)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(if \(argc != 3\))Tj -2.4 -1.189 Td -(err_quit\("usage: rot13 infile outfile"\);)Tj --2.4 -1.189 Td -(if \(\(ifd = open\(argv[1], O_RDONLY\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t open %s", argv[1]\);)Tj --2.4 -1.189 Td -(if \(\(ofd = open\(argv[2], O_RDWR|O_CREAT|O_TRUNC, FILE_MODE\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t create %s", argv[2]\);)Tj --2.4 -2.14 Td -(while \(\(n = read\(ifd, buf, BSZ\)\) > 0\) {)Tj -2.4 -1.189 Td -(for \(i = 0; i < n; i++\))Tj -2.4 -1.189 Td -(buf[i] = translate\(buf[i]\);)Tj --2.4 -1.189 Td -(if \(\(nw = write\(ofd, buf, n\)\) != n\) {)Tj -2.4 -1.189 Td -(if \(nw < 0\))Tj -2.4 -1.189 Td -(err_sys\("write failed"\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(err_quit\("short write \(%d/%d\)", nw, n\);)Tj --4.8 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(fsync\(ofd\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4558.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 248.7861 439.7262 Tm -(Figure 14.20)Tj -/T1_0 1 Tf --0.09 Tc 6.195 0 Td -(Tr)Tj -0 Tc 0.918 0 Td -(anslate a \336le using ROT)Tj -10.5 0.09 Td -(-)Tj -0.333 -0.09 Td -(13)Tj -9.9988 0 0 9.9988 147.5827 415.7291 Tm -[(The )-59(I/O )-59(portion )-59(of )-59(the )-59(pr)18(ogram )-59(is )-59(straightforwar)18(d: )-59(we )-59(r)18(ead )-59(a )-59(block )-59(fr)18(om )-59(the )-59(input)]TJ --1.8 -1.2 Td -[(\336le, )-68(translate )-68(it, )-68(and )-68(then )-68(write )-68(the )-68(block )-68(to )-68(the )-68(output )-68(\336le.)]TJ --0.092 Tc 27.033 0 Td -[(We )-252(r)]TJ -0 Tc 2.082 0 Td -[(epeat )-68(this )-68(until )-68(we )-68(hit)]TJ --29.115 -1.2 Td -[(the )-206(end )-206(of )-206(\336le )-206(and)]TJ -/TT0 1 Tf -9.288 0 Td -(read)Tj -/T1_0 1 Tf --0.018 Tc 2.856 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-206(zer)18(o. )-456(The)-457(pr)18(ogram )-206(in )-206(Figur)]TJ -0.4563 Tc 15.802 0 Td -(e1)Tj -0 Tc 1.435 0 Td -[(4.21 )-206(shows )-206(how )-206(to)]TJ --30.237 -1.2 Td -[(perform the same task using the equivalent asynchr)18(onous I/O functions.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3726.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 363.0126 Tm -(#include "apue.h")Tj -T* -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -2.14 TD -(#define BSZ 4096)Tj -0 -1.189 TD -(#define NBUF 8)Tj -0 -2.14 TD -(enum rwop {)Tj -2.4 -1.189 Td -(UNUSED = 0,)Tj -0 -1.189 TD -(READ_PENDING = 1,)Tj -0 -1.189 TD -(WRITE_PENDING = 2)Tj --2.4 -1.189 Td -(};)Tj -0 -2.14 TD -(struct buf {)Tj -2.4 -1.189 Td -[(enum rwop)-3000(op;)]TJ -0 -1.189 TD -(int )Tj -8.4 0 Td -(last;)Tj --8.4 -1.189 Td -[(struct aiocb)-1200(aiocb;)]TJ -T* -(unsigned char data[BSZ];)Tj --2.4 -1.189 Td -(};)Tj -0 -2.14 TD -(struct buf bufs[NBUF];)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47141 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.5)]TJ -35.16 0 Td -[(Asynchr)18(onous )-250(I/O)]TJ -/T1_1 1 Tf -10.673 0 Td -(513)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -1.902 TD -(int aio_fsync\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(op)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 2.744 0 Td -(truct aiocb *)Tj -/T1_2 1 Tf -(aiocb)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -13.307 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6195.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 605.9873 Tm -(The)Tj -/TT0 1 Tf -2.002 0 Td -(aio_fildes)Tj -/T1_0 1 Tf -6.328 0 Td -[(\336eld )-78(in )-78(the )-78(AIO )-78(contr)18(ol )-78(block )-78(indicates )-78(the )-78(\336le )-78(whose )-78(asynchr)18(onous)]TJ --8.33 -1.2 Td -[(writes )-103(ar)]TJ -0.3528 Tc 3.979 0 Td -(es)Tj -0 Tc 1.256 0 Td -[(ynched. )-353(If)-353(the)]TJ -/T1_2 1 Tf -6.869 0 Td -(op)Tj -/T1_0 1 Tf -1.297 0 Td -[(ar)18(gument )-103(is )-103(set )-103(to)]TJ -/TT0 1 Tf -8.534 0 Td -(O_DSYNC)Tj -/T1_0 1 Tf -0.3529 Tc (,t)Tj -0 Tc 5.129 0 Td -[(hen )-103(the )-103(operation )-103(behaves)]TJ --27.063 -1.2 Td -[(like )-10(a )-10(call )-10(to)]TJ -/TT0 1 Tf -5.553 0 Td -(fdatasync)Tj -/T1_0 1 Tf -0.5096 Tc (.O)Tj -0 Tc 6.946 0 Td -[(therwise, )-10(if)]TJ -/T1_2 1 Tf -5.203 0 Td -(op)Tj -/T1_0 1 Tf -1.204 0 Td -[(is )-10(set )-10(to)]TJ -/TT0 1 Tf -3.595 0 Td -(O_SYNC)Tj -/T1_0 1 Tf -0.2595 Tc (,t)Tj -0 Tc 4.436 0 Td -[(he )-9(operation )-9(behaves )-9(like )-9(a)]TJ --26.936 -1.2 Td -(call to)Tj -/TT0 1 Tf -2.898 0 Td -(fsync)Tj -/T1_0 1 Tf -(.)Tj --1.098 -1.2 Td -[(Like )-124(the)]TJ -/TT0 1 Tf -4.071 0 Td -(aio_read)Tj -/T1_0 1 Tf -5.174 0 Td -(and)Tj -/TT0 1 Tf -2.067 0 Td -(aio_write)Tj -/T1_0 1 Tf -5.774 0 Td -[(functions, )-124(the)]TJ -/TT0 1 Tf -6.515 0 Td -(aio_fsync)Tj -/T1_0 1 Tf -5.774 0 Td -[(operation )-124(r)18(eturns)]TJ --31.174 -1.2 Td -[(when )-219(the )-219(synch )-219(is )-219(scheduled.)-719(The )-219(data )-219(won\325t )-219(be )-219(persistent )-219(until )-219(the )-219(asynchr)19(onous)]TJ -0 -1.2 TD -[(synch )-77(completes.)-577(The )-77(AIO )-77(contr)18(ol )-77(block )-77(contr)18(ols )-77(how )-77(we )-77(ar)]TJ -0.3267 Tc 27.266 0 Td -(en)Tj -0 Tc 1.388 0 Td -[(oti\336ed, )-77(just )-77(as )-77(with )-77(the)]TJ -/TT0 1 Tf --28.654 -1.2 Td -(aio_read)Tj -/T1_0 1 Tf -5.05 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(aio_write)Tj -/T1_0 1 Tf -5.65 0 Td -(functions.)Tj --0.092 Tc -10.843 -1.2 Td -[(To )-496(d)]TJ -0 Tc 2.24 0 Td -[(etermine )-312(the )-312(completion )-312(status )-312(of )-312(an )-312(asynchr)18(onous )-312(r)18(ead, )-312(write, )-312(or )-312(synch)]TJ --4.04 -1.2 Td -(operation, we need to call the)Tj -/TT0 1 Tf -13.265 0 Td -(aio_error)Tj -/T1_0 1 Tf -5.65 0 Td -(function.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5815 481.3022 Tm -(#include )Tj -0 -1.902 TD -(int aio_error\(const struct aiocb *)Tj -/T1_2 1 Tf -(aiocb)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -28.788 -1.902 Td -(Returns: \(see following\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4426.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 429.0428 Tm -[(The r)18(eturn value tells us one of four things.)]TJ -/TT0 1 Tf -1.8 -1.8 Td -(0)Tj -/T1_0 1 Tf -7.483 0 Td -[(The )-155(asynchr)18(onous )-155(operation )-155(completed )-155(successfully)]TJ -0.6552 Tc 23.591 0 Td -(.W)Tj -0.4052 Tc 1.813 0 Td -(en)Tj -0 Tc 1.466 0 Td -[(eed )-155(to)]TJ --26.871 -1.2 Td -[(call )-81(the)]TJ -/TT0 1 Tf -3.576 0 Td -(aio_return)Tj -/T1_0 1 Tf -6.331 0 Td -[(function )-81(to )-81(obtain )-81(the )-81(r)18(eturn )-81(value )-81(fr)18(om )-81(the)]TJ --9.907 -1.2 Td -(operation.)Tj -/TT1 1 Tf --7.483 -1.6 Td -(!)Tj -/T1_0 1 Tf -6.434 Tc (1T)Tj -0 Tc 8.096 0 Td -(he call to)Tj -/TT0 1 Tf -4.209 0 Td -(aio_error)Tj -/T1_0 1 Tf -5.65 0 Td -[(failed. )-250(In)-250(this case,)]TJ -/TT0 1 Tf -8.644 0 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -[(tells us why)111(.)]TJ -/TT0 1 Tf --29.849 -1.6 Td -(EINPROGRESS)Tj -/T1_0 1 Tf -7.483 0 Td -[(The asynchr)18(onous r)18(ead, write, or synch is still pending.)]TJ -/T1_2 1 Tf --7.483 -1.6 Td -[(anything )-133(else)]TJ -/T1_0 1 Tf -7.616 0 Td -[(Any )-133(other )-133(r)18(eturn )-133(value )-133(gives )-133(us )-133(the )-133(err)18(or )-133(code )-133(corr)18(esponding )-133(to)]TJ --0.133 -1.2 Td -[(the failed asynchr)18(onous operation.)]TJ --7.483 -1.8 Td -[(If )-73(the )-73(asynchr)18(onous )-73(operation )-73(succeeded, )-73(we )-73(can )-73(call )-73(the)]TJ -/TT0 1 Tf -25.975 0 Td -(aio_return)Tj -/T1_0 1 Tf -6.323 0 Td -[(function )-73(to)]TJ --34.098 -1.2 Td -[(get the asynchr)18(onous operation\325s r)18(eturn value.)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.5737 280.3695 Tm -(#include )Tj -0 -1.902 TD -(ssize_t aio_return\(const struct aiocb *)Tj -/T1_2 1 Tf -(aiocb)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -28.788 -1.902 Td -(Returns: \(see following\))Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2417.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9976 0 0 9.9976 129.5689 228.1252 Tm -[(Until )-63(the )-63(asynchr)18(onous )-63(operation )-63(completes, )-63(we )-63(need )-63(to )-63(be )-63(car)19(eful )-63(to )-63(avoid )-63(calling )-63(the)]TJ -/TT0 1 Tf -0 -1.2 TD -(aio_return)Tj -/T1_0 1 Tf -6.418 0 Td -[(function. )-418(The)]TJ --0.018 Tc 6.717 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sults )-168(ar)]TJ -0.4181 Tc 3.363 0 Td -(eu)Tj -0 Tc 1.5 0 Td -[(nde\336ned )-168(until )-168(the )-168(operation )-168(completes.)]TJ --0.092 Tc 18.759 0 Td -(We)Tj -0 Tc -37.613 -1.2 Td -[(also )-275(need )-275(to )-275(be )-275(car)18(eful )-275(to )-275(call)]TJ -/TT0 1 Tf -14.917 0 Td -(aio_return)Tj -/T1_0 1 Tf -6.525 0 Td -[(only )-275(one )-275(time )-275(per )-275(asynchr)18(onous )-275(I/O)]TJ --21.443 -1.2 Td -[(operation. )-435(Once)-436(we )-185(call )-185(this )-185(function, )-185(the )-185(operating )-185(system )-185(is )-185(fr)15(ee )-185(to )-185(deallocate )-185(the)]TJ --0.018 Tc 0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.25 Tc 1.367 0 Td -(dc)Tj -0 Tc 1.305 0 Td -[(ontaining the I/O operation\325s r)18(eturn value.)]TJ --1.728 -1.2 Td -(The)Tj -/TT0 1 Tf -1.967 0 Td -(aio_return)Tj -/T1_0 1 Tf -6.294 0 Td -[(function )-43(will )-43(r)17(eturn)]TJ -/TT1 1 Tf -9.057 0 Td -(!)Tj -/T1_0 1 Tf -0.2935 Tc (1a)Tj -0 Tc 1.843 0 Td -[(nd )-43(set)]TJ -/TT0 1 Tf -3.009 0 Td -(errno)Tj -/T1_0 1 Tf -3.294 0 Td -(if)Tj -/TT0 1 Tf -0.918 0 Td -(aio_return)Tj -/T1_0 1 Tf -6.294 0 Td -[(itself )-43(fails.)]TJ --34.474 -1.2 Td -[(Otherwise, )-78(it )-78(will )-78(r)18(eturn )-78(the )-78(r)18(esults )-78(of )-78(the )-78(asynchr)18(onous )-78(operation.)-578(In )-78(this )-78(case, )-78(it )-78(will)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(turn )-3(whatever)]TJ -/TT0 1 Tf -6.571 0 Td -(read)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -2.903 0 Td -(write)Tj -/T1_0 1 Tf -0.2526 Tc (,o)Tj -0 Tc 4.049 0 Td -(r)Tj -/TT0 1 Tf -0.648 0 Td -(fsync)Tj -/T1_0 1 Tf -3.253 0 Td -[(would )-3(have )-3(r)19(eturned )-3(on )-3(success )-3(if )-3(one )-3(of )-3(those)]TJ --18.279 -1.2 Td -(functions had been called.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47142 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.4)]TJ -35.831 0 Td -[(I/O )-250(Multiplexing)]TJ -/T1_1 1 Tf -10.002 0 Td -(505)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-27(r)18(eason )-27(we )-27(have )-27(to )-27(add )-27(1 )-27(to )-27(the )-27(maximum )-27(descriptor )-27(number )-27(is )-27(that )-27(descriptors)]TJ --1.8 -1.2 Td -[(start )-53(at )-53(0, )-53(and )-53(the )-53(\336rst )-53(ar)18(gument )-53(is )-53(r)18(eally )-53(a )-53(count )-53(of )-53(the )-53(number )-53(of )-53(descriptors )-53(to )-53(check)]TJ -0 -1.2 TD -(\(starting with descriptor 0\).)Tj -/TT0 1 Tf -7.9995 0 0 7.9995 193.7884 603.2036 Tm -(readset:)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2418 5942 216 216 re -S -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 250.17 603.1676 Tm -(1)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2634 5942 216 216 re -S -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 271.7511 603.1314 Tm -(0)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2850 5942 216 216 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 293.3296 603.0952 Tm -(0)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -3066 5942 216 216 re -S -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 314.9055 603.059 Tm -(1)Tj -ET -q -0.9997 0 0 0.9997 0 0 cm -0.699 g -328.2 594.2 129.6 21.6 re -f -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -3282 5942 1296 216 re -S -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 191.3311 559.8384 Tm -(writeset:)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2418 5510 216 216 re -S -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 250.0949 559.8048 Tm -(0)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -2634 5510 216 216 re -S -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 271.6696 559.7712 Tm -(1)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -2850 5510 216 216 re -S -Q -BT -/TT0 1 Tf -7.9957 0 0 7.9957 293.2416 559.7377 Tm -(1)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -3066 5510 216 216 re -S -Q -BT -/TT0 1 Tf -7.9952 0 0 7.9952 314.8111 559.7041 Tm -(0)Tj -ET -q -0.9994002 0 0 0.9994002 0 0 cm -0.699 g -328.2 551 129.6 21.6 re -f -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -3282 5510 1296 216 re -S -Q -BT -/T1_0 1 Tf -7.9947 0 0 7.9947 245.6618 618.6316 Tm -[(fd 0)-1006(fd 1)-1006(fd 2)-1006(fd 3)]TJ -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3282.25 5870.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 349.8 583.4 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 3498 5834 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3282.25 5834.25 cm -0 0 m -144 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9938 0 0 7.9938 349.875 581.1865 Tm -(none of these bits ar)Tj -0.25 Tc 8.829 0 Td -(el)Tj -0 Tc 1.02 0 Td -(ooked at)Tj -ET -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 328.2 547.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 3282 5474 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3282.25 5258.25 cm -0 0 m -0 144 l -S -Q -Q -BT -/T1_2 1 Tf -7.9933 0 0 7.9933 307.5176 518.6042 Tm -(maxfdp1)Tj -/T1_0 1 Tf -0.25 Tc 3.75 0 Td -(=4)Tj -/T1_1 1 Tf -0 Tc -12.705 -2.605 Td -(Figure 14.16)Tj -/T1_0 1 Tf -6.195 -0 Td -(Example descriptor sets for)Tj -/TT0 1 Tf -12.32 0 Td -(select)Tj -/T1_0 1 Tf -9.9916 0 0 9.9916 147.4765 466.6077 Tm -(Ther)Tj -0.25 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(t)]TJ -0 Tc 1.432 0 Td -[(hr)18(ee possible r)18(eturn values fr)18(om)]TJ -/TT0 1 Tf -14.539 0 Td -(select)Tj -/T1_0 1 Tf -(.)Tj --19.251 -1.92 Td -[(1. )-633(A)]TJ --0.018 Tc 2.956 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-295(value )-295(of)]TJ -/TT1 1 Tf -6.857 0 Td -(!)Tj -/T1_0 1 Tf -0.5447 Tc (1m)Tj -0 Tc 2.477 0 Td -[(eans )-295(that )-295(an )-295(err)18(or )-295(occurr)19(ed. )-545(This)-544(can )-295(happen, )-295(for)]TJ --11.512 -1.2 Td -[(example, )-97(if )-97(a )-97(signal )-97(is )-97(caught )-97(befor)]TJ -0.3473 Tc 15.865 0 Td -(ea)Tj -0 Tc 1.326 0 Td -[(ny )-97(of )-97(the )-97(speci\336ed )-97(descriptors )-97(ar)]TJ -0.3473 Tc 14.887 0 Td -(er)Tj -0 Tc 1.203 0 Td -[(eady)111(.)]TJ --33.282 -1.2 Td -(In this case, none of the descriptor sets will be modi\336ed.)Tj --1.633 -1.6 Td -[(2. )-633(A)]TJ --0.018 Tc 2.81 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-149(value )-149(of )-149(0 )-149(means )-149(that )-149(no )-149(descriptors )-149(ar)]TJ -0.399 Tc 20.458 0 Td -(er)Tj -0 Tc 1.255 0 Td -(eady)Tj -0.649 Tc 2.035 0 Td -(.T)Tj -0 Tc 1.512 0 Td -[(his )-149(happens )-149(if )-149(the)]TJ --27.293 -1.2 Td -[(time )-98(limit )-98(expir)18(es )-98(befor)]TJ -0.3483 Tc 10.561 0 Td -(ea)Tj -0 Tc 1.327 0 Td -[(ny )-98(of )-98(the )-98(descriptors )-98(ar)]TJ -0.3482 Tc 10.61 0 Td -(er)Tj -0 Tc 1.204 0 Td -(eady)Tj -0.5982 Tc 2.035 0 Td -(.W)Tj -0 Tc 1.848 0 Td -[(hen )-98(this )-98(happens,)]TJ --27.586 -1.2 Td -[(all the descriptor sets will be zer)18(oed out.)]TJ --1.633 -1.6 Td -[(3. )-633(A)-309(positive )-59(r)18(eturn )-59(value )-59(speci\336es )-59(the )-59(number )-59(of )-59(descriptors )-59(that )-59(ar)]TJ -0.3092 Tc 31.281 0 Td -(er)Tj -0 Tc 1.165 0 Td -(eady)Tj -0.5592 Tc 2.035 0 Td -(.T)Tj -0 Tc 1.422 0 Td -(his)Tj --34.27 -1.2 Td -[(value )-285(is )-285(the )-285(sum )-285(of )-285(the )-285(descriptors )-285(r)18(eady )-285(in )-285(all )-285(thr)18(ee )-285(sets, )-285(so )-285(if )-285(the )-285(same)]TJ -T* -[(descriptor )-58(is )-58(r)18(eady )-58(to )-58(be )-58(r)18(ead)]TJ -/T1_2 1 Tf -13.469 0 Td -(and)Tj -/T1_0 1 Tf -1.808 0 Td -[(written, )-58(it )-58(will )-58(be )-58(counted )-58(twice )-58(in )-58(the )-58(r)18(eturn)]TJ --15.277 -1.2 Td -[(value. )-756(The)-755(only )-506(bits )-506(left )-506(on )-506(in )-506(the )-506(thr)18(ee )-506(descriptor )-506(sets )-506(ar)]TJ -0.7557 Tc 30.596 0 Td -(et)Tj -0 Tc 1.561 0 Td -[(he )-506(bits)]TJ --32.156 -1.2 Td -[(corr)18(esponding to the descriptors that ar)]TJ -0.25 Tc 17.49 0 Td -(er)Tj -0 Tc 1.106 0 Td -[(eady)111(.)]TJ --0.092 Tc -20.229 -2.16 Td -[(We )-184(n)]TJ -0 Tc 2.219 0 Td -(ow need to be mor)Tj -0.25 Tc 8.241 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(peci\336c about what \324)37(\324r)18(eady\325)]TJ -0.25 Tc 11.667 0 Td -(\325m)Tj -0 Tc 1.411 0 Td -(eans.)Tj -0.883 Tc -24.691 -2.16 Td -(\245A)Tj -0 Tc 2.692 0 Td -[(descriptor )-175(in )-175(the )-175(r)18(ead )-175(set )-175(\()]TJ -/T1_2 1 Tf --0.018 Tc 12.426 0 Td -(re)Tj -0 Tc 0.76 0 Td -(adfds)Tj -/T1_0 1 Tf -[(\))-425(is)-425(consider)18(ed )-175(r)18(eady )-175(if )-175(a)]TJ -/TT0 1 Tf -14.2 0 Td -(read)Tj -/T1_0 1 Tf -2.825 0 Td -[(fr)18(om )-175(that)]TJ --31.413 -1.2 Td -(descriptor won\325t block.)Tj -0.883 Tc -1.489 -1.6 Td -(\245A)Tj -0 Tc 2.685 0 Td -[(descriptor )-168(in )-168(the )-168(write )-168(set )-168(\()]TJ -/T1_2 1 Tf -(writefds)Tj -/T1_0 1 Tf -[(\))-418(is)-418(consider)18(ed )-168(r)18(eady )-168(if )-168(a)]TJ -/TT0 1 Tf -28.073 0 Td -(write)Tj -/T1_0 1 Tf -3.418 0 Td -[(to )-168(that)]TJ --32.687 -1.2 Td -(descriptor won\325t block.)Tj -0.883 Tc -1.489 -1.6 Td -(\245A)Tj -0 Tc 2.622 0 Td -[(descriptor )-105(in )-105(the )-105(exception )-105(set )-105(\()]TJ -/T1_2 1 Tf -14.375 0 Td -(exceptfds)Tj -/T1_0 1 Tf -[(\))-355(is)-355(c)-1(onsider)18(ed )-105(r)18(eady )-105(if )-105(an )-105(exception)]TJ --15.508 -1.2 Td -[(condition )-334(is )-334(pending )-334(on )-334(that )-334(descriptor)]TJ -0.8337 Tc 18.855 0 Td -(.C)Tj -0 Tc 1.793 0 Td -[(urr)18(ently)111(,)-584(an)-584(e)1(xception )-334(condition)]TJ --20.647 -1.2 Td -[(corr)18(esponds )-29(to )-29(either )-29(the )-29(arrival )-29(of )-29(out-of-band )-29(data )-29(on )-29(a )-29(network )-29(connection )-29(or)]TJ -T* -[(certain )-218(conditions )-218(occurring )-218(on )-218(a )-218(pseudo )-218(terminal )-218(that )-218(has )-218(been )-218(placed )-218(into)]TJ -T* -[(packet mode.)-500(\(Section 15.10 of Stevens)]TJ -17.46 0.04 Td -([)Tj -0.333 -0.04 Td -(1990)Tj -2 0.04 Td -(])Tj -0.583 -0.04 Td -(describes this latter condition.\))Tj -0.883 Tc -21.865 -1.6 Td -(\245F)Tj -0 Tc 2.045 0 Td -[(ile )-146(descriptors )-146(for )-146(r)18(egular )-146(\336les )-146(always )-146(r)18(eturn )-146(r)18(eady )-146(for )-146(r)18(eading, )-146(writing, )-146(and)]TJ --0.556 -1.2 Td -(exception conditions.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47143 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.3)]TJ -36.622 0 Td -(Recor)Tj -0.5 Tc 2.514 0 Td -(dL)Tj -0 Tc 1.722 0 Td -(ocking)Tj -/T1_1 1 Tf -4.975 0 Td -(495)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Assuming )-124(that )-124(we )-124(ar)19(e)-374(at)-374(end )-124(of )-124(\336le )-124(when )-124(we )-124(perform )-124(the )-124(\336rst)]TJ -/TT0 1 Tf -29.114 0 Td -(write)Tj -/T1_0 1 Tf -0.3737 Tc (,t)Tj -0 Tc 3.95 0 Td -[(his )-124(operation)]TJ --33.063 -1.2 Td -[(will )-28(extend )-28(the )-28(\336le )-28(by )-28(one )-28(byte, )-28(and )-28(that )-28(byte )-28(will )-28(be )-28(locked.)-533(The )-28(unlock )-28(operation )-28(that)]TJ -0 -1.2 TD -[(follows )-124(has )-124(the )-124(ef)18(fect )-124(of )-124(r)17(emoving )-124(the )-124(locks )-124(for )-124(futur)]TJ -0.3741 Tc 24.223 0 Td -(ew)Tj -0 Tc 1.687 0 Td -[(rites )-124(that )-124(append )-124(data )-124(to )-124(the)]TJ --25.91 -1.2 Td -[(\336le, )-92(but )-92(it )-92(leaves )-92(a )-92(lock )-92(on )-92(the )-92(last )-92(byte )-92(in )-92(the )-92(\336le.)-596(When )-92(the )-92(second )-92(write )-92(occurs, )-92(the)]TJ -T* -[(end )-21(of )-21(\336le )-21(is )-21(extended )-21(by )-21(one )-21(byte, )-21(but )-21(this )-21(byte )-21(is )-21(not )-21(locked.)-522(The )-21(state )-21(of )-21(the )-21(\336le )-21(locks)]TJ -T* -(for this sequence of steps is shown in Figur)Tj -0.25 Tc 19.019 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(4.10.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -3606 5342 504 360 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 378.7545 560.3727 Tm -(\336rst)Tj --0.082 -1.25 Td -(byte)Tj --0.66 -1.25 Td -(written)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3606.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3535.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3465.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3394.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3324.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3253.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3182.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3113.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3042.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2971.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2901.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2830.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2760.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2689.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2619.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2548.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2478.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2407.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2336.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2267.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2196.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2125.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2055.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1984.25 5702.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 5702.25 cm -0 0 m --36 0 l --36 -36 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 5637.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 5572.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 5507.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 5443.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 5378.25 cm -0 0 m -0 -36 l -36 -36 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1948.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2019.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2089.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2160.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2231.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2301.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2371.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2442.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2512.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2583.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2653.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2724.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2794.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2865.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2935.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3006.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3077.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3146.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3217.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3288.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3358.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3429.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3499.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3570.25 5342.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3606.25 5774.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.99982 0 0 0.99982 0 0 cm -q 1 0 0 1 360.6 584.6 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -1 j 1 J -q 1 0 0 1 3606 5846 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 425.4 584.6 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 4254 5846 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3678.25 5846.25 cm -0 0 m -504 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 381.1776 587.6637 Tm -(locked)Tj --19.557 -4.675 Td -(state of \336le after \336rst)Tj -/TT0 1 Tf -9.342 0 Td -(write)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -3606 4550 504 360 re -S -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 378.6637 481.0668 Tm -(\336rst)Tj --0.082 -1.25 Td -(byte)Tj --0.66 -1.25 Td -(written)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -4110 4550 504 360 re -S -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 423.678 481.0379 Tm -(second)Tj -0.586 -1.25 Td -(byte)Tj --0.66 -1.25 Td -(written)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3606.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3535.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3465.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3394.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3324.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3253.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3182.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3113.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3042.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2971.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2901.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2830.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2760.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2689.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2619.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2548.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2478.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2407.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2336.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2267.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2196.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2125.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2055.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1984.25 4910.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 4910.25 cm -0 0 m --36 0 l --36 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4845.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4780.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4715.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4651.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4586.25 cm -0 0 m -0 -36 l -36 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1948.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2019.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2089.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2160.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2231.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2301.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2371.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2442.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2512.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2583.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2653.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2724.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2794.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2865.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2935.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3006.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3077.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3146.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3217.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3288.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3358.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3429.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3499.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3570.25 4550.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3606.25 4982.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 4982.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 360.6 505.4 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3606 5054 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 411 505.4 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 4110 5054 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3678.25 5054.25 cm -0 0 m -360 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 373.8676 508.3349 Tm -(locked)Tj --19.326 -4.675 Td -(state of \336le after second)Tj -/TT0 1 Tf -10.678 0 Td -(write)Tj -/T1_1 1 Tf --5.862 -5.18 Td -(Figure 14.10)Tj -/T1_0 1 Tf -6.195 0 Td -(File range lock diagram)Tj -9.994 0 0 9.994 147.5119 401.9585 Tm -[(When )-125(a )-125(portion )-125(of )-125(a )-125(\336le )-125(is )-125(locked, )-125(the )-125(kernel )-125(converts )-125(the )-125(of)18(fset )-125(speci\336ed )-125(into )-125(an)]TJ --1.8 -1.2 Td -[(absolute )-46(\336le )-46(of)17(fset. )-296(In)-297(addition )-46(to )-46(specifying )-46(an )-46(absolute )-46(\336le )-46(of)18(fset )-46(\()]TJ -/TT0 1 Tf -30.321 0 Td -(SEEK_SET)Tj -/T1_0 1 Tf -(\),)Tj -/TT0 1 Tf -5.679 0 Td -(fcntl)Tj -/T1_0 1 Tf --36 -1.2 Td -[(allows )-53(us )-53(to )-53(specify )-53(this )-53(of)18(fset )-53(r)18(elative )-53(to )-53(a )-53(point )-53(in )-53(the )-53(\336le: )-53(curr)18(ent )-53(\()]TJ -/TT0 1 Tf -30.648 0 Td -(SEEK_CUR)Tj -/T1_0 1 Tf -[(\))-303(or)-303(end)]TJ --30.648 -1.2 Td -[(of )-27(\336le )-27(\()]TJ -/TT0 1 Tf -3.142 0 Td -(SEEK_END)Tj -/T1_0 1 Tf -[(\). )-277(The)-278(kernel )-27(needs )-27(to )-27(r)18(emember )-27(the )-27(locks )-27(independent )-27(of )-27(the )-27(curr)14(ent)]TJ --3.142 -1.2 Td -[(\336le )-210(of)18(fset )-210(or )-210(end )-210(of )-210(\336le, )-210(because )-210(the )-210(curr)20(ent )-210(of)18(fset )-210(and )-210(end )-210(of )-210(\336le )-210(can )-210(change, )-210(and)]TJ -T* -[(changes to these attributes shouldn\325t af)18(fect the state of existing locks.)]TJ -1.8 -1.2 Td -[(If )-56(we )-56(intended )-56(to )-56(r)18(emove )-56(the )-56(lock )-56(covering )-56(the )-56(byte )-56(we )-56(wr)18(ote )-56(in )-56(the )-56(\336rst )-56(write, )-56(we)]TJ --1.8 -1.2 Td -[(could )-15(have )-15(speci\336ed )-15(the )-15(length )-15(as)]TJ -/TT1 1 Tf -15.273 0 Td -(!)Tj -/T1_0 1 Tf -[(1. )-265(Negative)-265(length )-15(values )-15(r)18(epr)18(esent )-15(the )-15(bytes )-15(befor)17(e)]TJ --15.273 -1.2 Td -[(the speci\336ed of)18(fset.)]TJ -/TT2 1 Tf --3.6 -2.88 Td -[(Ad)15(visor )268(y)-278(ver)15(sus Mandator)]TJ -0.278 Tc 12.549 0 Td -(yL)Tj -0 Tc 1.445 0 Td -[(oc)20(king)]TJ -/T1_0 1 Tf --10.394 -2.4 Td -[(Consider )-58(a )-58(library )-58(of )-58(database )-58(access )-58(r)18(outines. )-308(If)-308(all )-58(the )-58(functions )-58(in )-58(the )-58(library )-58(handle)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.3925 Tc 1.367 0 Td -(dl)Tj -0 Tc 1.294 0 Td -[(ocking )-142(in )-142(a )-142(consistent )-142(way)]TJ -0.3925 Tc 12.121 0 Td -(,t)Tj -0 Tc 0.969 0 Td -[(hen )-142(we )-142(say )-142(that )-142(any )-142(set )-142(of )-142(pr)15(ocesses )-143(using )-143(these)]TJ --16.607 -1.2 Td -[(functions )-96(to )-96(access )-96(a )-96(database )-96(ar)18(e)]TJ -/T1_2 1 Tf -15.543 0 Td -[(cooperating )-96(pr)18(ocesses)]TJ -/T1_0 1 Tf -0.5959 Tc (.I)Tj -0 Tc 9.88 0 Td -[(t)-346(is)-346(feasible )-96(for )-96(these )-96(database)]TJ --25.423 -1.2 Td -[(access )-93(functions )-93(to )-93(use )-93(advisory )-93(locking )-93(if )-93(they )-93(ar)]TJ -0.3427 Tc 22.564 0 Td -(et)Tj -0 Tc 1.148 0 Td -[(he )-93(only )-93(ones )-93(being )-93(used )-93(to )-93(access)]TJ --23.711 -1.2 Td -[(the )-113(database.)-613(But )-113(advisory )-113(locking )-113(doesn\325t )-113(pr)18(event )-113(some )-113(other )-113(pr)22(ocess )-112(that )-112(has )-112(write)]TJ -T* -[(permission )-175(for )-175(the )-175(database )-175(\336le )-175(fr)18(om )-175(writing )-175(whatever )-175(it )-175(wants )-175(to )-175(the )-175(database )-175(\336le.)]TJ -T* -[(This )-21(r)18(ogue )-21(pr)18(ocess )-21(would )-21(be )-21(an )-21(uncooperating )-21(pr)18(ocess, )-21(since )-21(it\325s )-21(not )-21(using )-21(the )-21(accepted)]TJ -T* -(method \(the library of database functions\) to access the database.)Tj -1.8 -1.2 Td -[(Mandatory )-184(locking )-184(causes )-184(the )-184(kernel )-184(to )-184(check )-184(every)]TJ -/TT0 1 Tf -24.597 0 Td -(open)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.084 0 Td -(read)Tj -/T1_0 1 Tf -0.4344 Tc (,a)Tj -0 Tc 3.584 0 Td -(nd)Tj -/TT0 1 Tf -1.627 0 Td -(write)Tj -/T1_0 1 Tf -3.434 0 Td -(to)Tj --38.128 -1.2 Td -[(verify )-398(that )-398(the )-398(calling )-398(pr)20(ocess )-397(isn\325t )-397(violating )-397(a )-397(lock )-397(on )-397(the )-397(\336le )-397(being )-397(accessed.)]TJ -T* -(Mandatory locking is sometimes called)Tj -/T1_2 1 Tf -17.544 0 Td -[(enfor)18(cement-mode locking)]TJ -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47144 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(484)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 670.2598 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out < /etc/services 2>stderr.out)Tj -/T1_2 1 Tf -26.8 0 Td -(output to terminal)Tj -0 -1.189 TD -(lots of output to terminal ...)Tj -/TT0 1 Tf --28 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(cat stderr.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(read 500000 bytes)Tj -T* -(nwrite = 999, errno = 0)Tj -0 -1.189 TD -(nwrite = -1, errno = 35)Tj -0 -1.189 TD -(nwrite = -1, errno = 35)Tj -T* -(nwrite = -1, errno = 35)Tj -T* -(nwrite = -1, errno = 35)Tj -T* -(nwrite = 1001, errno = 0)Tj -T* -(nwrite = -1, errno = 35)Tj -T* -(nwrite = 1002, errno = 0)Tj -T* -(nwrite = 1004, errno = 0)Tj -T* -(nwrite = 1003, errno = 0)Tj -0 -1.189 TD -(nwrite = 1003, errno = 0)Tj -0 -1.189 TD -(nwrite = 1005, errno = 0)Tj -T* -(nwrite = -1, errno = 35)Tj -/T1_2 1 Tf -28 0 Td -[(61 of these err)18(ors)]TJ -/TT0 1 Tf --26.2 -0.713 Td -(.)Tj -0 -0.476 TD -(.)Tj -T* -(.)Tj --1.8 -1.189 Td -(nwrite = 1006, errno = 0)Tj -0 -1.189 TD -(nwrite = 1004, errno = 0)Tj -0 -1.189 TD -(nwrite = 1005, errno = 0)Tj -0 -1.189 TD -(nwrite = 1006, errno = 0)Tj -T* -(nwrite = -1, errno = 35)Tj -/T1_2 1 Tf -28 0 Td -[(108 of these err)18(ors)]TJ -/TT0 1 Tf --26.2 -0.713 Td -(.)Tj -0 -0.476 TD -(.)Tj -T* -(.)Tj --1.8 -1.189 Td -(nwrite = 1006, errno = 0)Tj -0 -1.189 TD -(nwrite = 1005, errno = 0)Tj -0 -1.189 TD -(nwrite = 1005, errno = 0)Tj -T* -(nwrite = -1, errno = 35)Tj -/T1_2 1 Tf -28 0 Td -[(681 of these err)18(ors)]TJ -/TT0 1 Tf --26.2 -0.713 Td -(.)Tj -0 -0.476 TD -(.)Tj -T* -(.)Tj -/T1_2 1 Tf -26.2 -1.189 Td -(and so on ...)Tj -/TT0 1 Tf --28 -1.189 Td -(nwrite = 347, errno = 0)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 318.441 Tm -[(On )-235(this )-235(system, )-235(the)]TJ -/TT0 1 Tf -9.66 0 Td -(errno)Tj -/T1_1 1 Tf -3.485 0 Td -[(of )-235(35 )-235(is)]TJ -/TT0 1 Tf -4.049 0 Td -(EAGAIN)Tj -/T1_1 1 Tf -0.7351 Tc (.T)Tj -0 Tc 5.198 0 Td -[(he )-235(amount )-235(of )-235(data )-235(accepted )-235(by )-235(the)]TJ --22.393 -1.2 Td -[(terminal )-70(driver )-70(varies )-70(fr)18(om )-70(system )-70(to )-70(system.)-573(The )-70(r)18(esults )-70(will )-70(also )-70(vary )-70(depending )-70(on)]TJ -0 -1.2 TD -[(how )-62(you )-62(ar)]TJ -0.3117 Tc 5.167 0 Td -(el)Tj -0 Tc 1.082 0 Td -[(ogged )-62(in )-62(to )-62(the )-62(system: )-62(on )-62(the )-62(system )-62(console, )-62(on )-62(a )-62(har)21(d-wir)18(ed )-62(terminal,)]TJ --6.249 -1.2 Td -[(on )-167(a )-167(network )-167(connection )-167(using )-167(a )-167(pseudo )-167(terminal.)-667(If )-167(you )-167(ar)]TJ -0.4173 Tc 28.059 0 Td -(er)Tj -0 Tc 1.283 0 Td -[(unning )-167(a )-167(windowing)]TJ --29.342 -1.2 Td -(system on your terminal, you ar)Tj -0.25 Tc 14.149 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(lso going thr)18(ough a pseudo terminal device.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2704.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 241.631 Tm -[(In )-40(this )-40(example, )-40(the )-40(pr)18(ogram )-40(issues )-40(mor)]TJ -0.2899 Tc 17.976 0 Td -(et)Tj -0 Tc 1.095 0 Td -[(han )-40(9,000)]TJ -/TT0 1 Tf -4.494 0 Td -(write)Tj -/T1_1 1 Tf -3.29 0 Td -[(calls, )-40(even )-40(though )-40(only)]TJ --28.655 -1.2 Td -[(500 )-1(ar)]TJ -0.2513 Tc 2.628 0 Td -(en)Tj -0 Tc 1.312 0 Td -[(eeded )-1(to )-1(output )-1(the )-1(data.)-501(The )-1(r)18(est )-1(just )-1(r)18(eturn )-1(an )-1(err)15(or)]TJ -0.5013 Tc 23.702 0 Td -(.T)Tj -0 Tc 1.364 0 Td -[(his )-1(type )-1(of )-1(loop, )-1(called)]TJ -/T1_2 1 Tf --29.007 -1.2 Td -(polling)Tj -/T1_1 1 Tf -0.2672 Tc (,i)Tj -0.2673 Tc 3.642 0 Td -(saw)Tj -0 Tc 2.293 0 Td -[(aste )-17(of )-17(CPU )-17(time )-17(on )-17(a )-17(multiuser )-17(system.)-517(In )-17(Section )-17(14.4, )-17(we\325ll )-17(see )-17(that )-17(I/O)]TJ --5.935 -1.2 Td -(multiplexing with a nonblocking descriptor is a mor)Tj -0.25 Tc 23.055 0 Td -(ee)Tj --0.018 Tc 1.208 0 Td -(f\336)Tj -0 Tc 0.92 0 Td -(cient way to do this.)Tj --23.383 -1.2 Td -[(Sometimes, )-91(we )-91(can )-91(avoid )-91(using )-91(nonblocking )-91(I/O )-91(by )-91(designing )-91(our )-91(applications )-91(to)]TJ --1.8 -1.2 Td -[(use )-48(multiple )-48(thr)18(eads )-48(\(see )-48(Chapter )-48(1)56(1\). )-298(W)]TJ -0.2979 Tc 18.35 0 Td -(ec)Tj -0 Tc 1.221 0 Td -[(an )-48(allow )-48(individual )-48(thr)18(eads )-48(to )-48(block )-48(in )-48(I/O)]TJ --19.571 -1.2 Td -[(calls )-23(if )-23(we )-23(can )-23(continue )-23(to )-23(make )-23(pr)19(ogr)18(ess )-23(in )-23(other )-23(thr)19(eads. )-273(This)-273(can )-23(sometimes )-23(simplify)]TJ -T* -[(the )-199(design, )-199(as )-199(we )-199(shall )-199(see )-199(in )-199(Chapter )-199(21; )-199(at )-199(other )-199(times, )-199(however)]TJ -0.4487 Tc 30.999 0 Td -(,t)Tj -0 Tc 1.025 0 Td -[(he )-199(over)18(head )-199(of)]TJ --32.024 -1.2 Td -[(synchr)18(onization can add mor)]TJ -0.25 Tc 12.933 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(omplexity than is saved fr)18(om using thr)18(eads.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47145 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(482)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -0.883 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245C)Tj -0 Tc 2.198 0 Td -(ertain)Tj -/TT0 1 Tf -2.823 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.25 0 Td -(operations)Tj -0.883 Tc -8.271 -1.6 Td -(\245S)Tj -0 Tc 2.014 0 Td -[(ome of the interpr)18(ocess communication functions \(Chapter 15\))]TJ --0.092 Tc -3.814 -2.04 Td -[(We )-234(a)]TJ -0 Tc 2.187 0 Td -[(lso )-50(said )-50(that )-50(system )-50(calls )-50(r)18(elated )-50(to )-50(disk )-50(I/O )-50(ar)]TJ -0.2998 Tc 20.984 0 Td -(en)Tj -0 Tc 1.361 0 Td -[(ot )-50(consider)18(ed )-50(slow)]TJ -0.2998 Tc 8.319 0 Td -(,e)Tj -0 Tc 1.029 0 Td -[(ven )-50(though)]TJ --33.879 -1.2 Td -[(the r)18(ead or write of a disk \336le can block the caller temporarily)111(.)]TJ -1.8 -1.2 Td -[(Nonblocking )-39(I/O )-39(lets )-39(us )-39(issue )-39(an )-39(I/O )-39(operation, )-39(such )-39(as )-39(an)]TJ -/TT0 1 Tf -26.842 0 Td -(open)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.939 0 Td -(read)Tj -/T1_1 1 Tf -0.2891 Tc (,o)Tj -0 Tc 3.485 0 Td -(r)Tj -/TT0 1 Tf -0.684 0 Td -(write)Tj -/T1_1 1 Tf -(,)Tj --35.75 -1.2 Td -[(and )-162(not )-162(have )-162(it )-162(block )-162(for)16(ever)]TJ -0.6626 Tc 13.442 0 Td -(.I)Tj -0.4126 Tc 1.25 0 Td -(ft)Tj -0 Tc 1.072 0 Td -[(he )-163(operation )-163(cannot )-163(be )-163(completed, )-163(the )-163(call )-163(r)21(eturns)]TJ --15.764 -1.2 Td -[(immediately with an err)18(or noting that the operation would have blocked.)]TJ -1.8 -1.2 Td -(Ther)Tj -0.25 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(t)]TJ -0 Tc 1.432 0 Td -[(wo ways to specify nonblocking I/O for a given descriptor)74(.)]TJ --4.712 -2.04 Td -[(1. )-633(If)-487(we )-237(call)]TJ -/TT0 1 Tf -6.603 0 Td -(open)Tj -/T1_1 1 Tf -2.887 0 Td -[(to )-237(get )-237(the )-237(descriptor)74(,)-487(we)-487(can )-237(specify )-237(the)]TJ -/TT0 1 Tf -19.559 0 Td -(O_NONBLOCK)Tj -/T1_1 1 Tf -6.487 0 Td -(\337ag)Tj --33.903 -1.2 Td -(\(Section 3.3\).)Tj --1.633 -1.6 Td -[(2. )-633(For)]TJ -0.2646 Tc 3.395 0 Td -(ad)Tj -0 Tc 1.376 0 Td -[(escriptor )-15(that )-15(is )-15(alr)18(eady )-15(open, )-15(we )-15(call)]TJ -/TT0 1 Tf -16.813 0 Td -(fcntl)Tj -/T1_1 1 Tf -3.265 0 Td -[(to )-15(turn )-15(on )-15(the)]TJ -/TT0 1 Tf -6.352 0 Td -(O_NONBLOCK)Tj -/T1_1 1 Tf --29.567 -1.2 Td -[(\336le )-123(status )-123(\337ag )-123(\(Section )-123(3.14\).)-621(Figur)]TJ -0.3726 Tc 15.997 0 Td -(e3)Tj -0 Tc 1.352 0 Td -[(.12 )-123(shows )-123(a )-123(function )-123(that )-123(we )-123(can )-123(call )-123(to)]TJ --17.349 -1.2 Td -[(turn on any of the \336le status \337ags for a descriptor)74(.)]TJ -7.9995 0 0 7.9995 183.5898 480.1712 Tm -[(Earlier )-169(versions )-169(of )-169(System )-169(V )-169(used )-169(the )-169(\337ag)]TJ -/TT0 1 Tf -19.981 0 Td -(O_NDELAY)Tj -/T1_1 1 Tf -5.219 0 Td -[(to )-169(specify )-169(nonblocking )-169(mode.)-668(These)]TJ --25.2 -1.25 Td -[(versions )-52(of )-52(System )-52(V )-52(r)18(eturned )-52(a )-52(value )-52(of )-52(0 )-52(fr)18(om )-52(the)]TJ -/TT0 1 Tf -23.52 0 Td -(read)Tj -/T1_1 1 Tf -2.702 0 Td -[(function )-52(if )-52(ther)]TJ -0.3021 Tc 6.7 0 Td -(ew)Tj -0 Tc 1.615 0 Td -[(asn\325t )-52(any )-52(data )-52(to)]TJ --34.537 -1.25 Td -[(be )-225(r)18(ead. )-475(Since)-475(this )-225(use )-225(of )-225(a )-225(r)18(eturn )-225(value )-225(of )-225(0 )-225(overlapped )-225(with )-225(the )-225(normal )-225(UNIX )-225(System)]TJ --0 -1.25 Td -[(convention )-96(of )-96(0 )-96(meaning )-96(the )-96(end )-96(of )-96(\336le, )-96(POSIX.1 )-96(chose )-96(to )-96(pr)18(ovide )-96(a )-96(nonblocking )-96(\337ag )-96(with )-96(a)]TJ -0 -1.25 TD -[(dif)18(fer)18(ent )-83(name )-83(and )-83(dif)18(fer)18(ent )-83(semantics.)-583(Indeed, )-83(with )-83(these )-83(older )-83(versions )-83(of )-83(System )-83(V)]TJ -0.3333 Tc 38.94 0 Td -(,w)Tj -0 Tc 1.417 0 Td -(hen)Tj --40.357 -1.25 Td -[(we )-203(get )-203(a )-203(r)18(eturn )-203(of )-203(0 )-203(fr)18(om)]TJ -/TT0 1 Tf -12.625 0 Td -(read)Tj -/T1_1 1 Tf -[(,)-453(we)-453(don\325t )-203(know )-203(whether )-203(the )-203(call )-203(would )-203(have )-203(blocked )-203(or)]TJ --12.625 -1.25 Td -[(whether )-62(the )-62(end )-62(of )-62(\336le )-62(was )-62(encounter)20(ed. )-312(W)92(e\325ll )-62(see )-62(that )-62(POSIX.1 )-62(r)19(equir)18(es )-62(that)]TJ -/TT0 1 Tf -35.165 0 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.712 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turn)Tj -/TT1 1 Tf -2.218 0 Td -(!)Tj -/T1_1 1 Tf -(1)Tj --40.951 -1.25 Td -(with)Tj -/TT0 1 Tf -2.423 0 Td -(errno)Tj -/T1_1 1 Tf -3.39 0 Td -[(set )-140(to)]TJ -/TT0 1 Tf -2.881 0 Td -(EAGAIN)Tj -/T1_1 1 Tf -3.99 0 Td -[(if )-140(ther)18(e)-390(is)-390(n)]TJ -0.39 Tc (od)Tj -0 Tc 6.881 0 Td -[(ata )-140(to )-140(r)18(ead )-140(fr)18(om )-140(a )-140(nonblocking )-140(descriptor)]TJ -0.64 Tc 19.111 0 Td -(.S)Tj -0 Tc 1.415 0 Td -(ome)Tj --40.092 -1.25 Td -[(platforms )-371(derived )-371(fr)18(om )-371(System )-371(V )-371(support )-371(both )-371(the )-371(older)]TJ -/TT0 1 Tf -28.587 0 Td -(O_NDELAY)Tj -/T1_1 1 Tf -5.421 0 Td -[(and )-371(the )-371(POSIX.1)]TJ -/TT0 1 Tf --34.009 -1.25 Td -(O_NONBLOCK)Tj -/T1_1 1 Tf -0.4505 Tc (,b)Tj -0 Tc 7.254 0 Td -[(ut )-200(in )-200(this )-200(text )-200(we\325ll )-200(use )-200(only )-200(the )-200(POSIX.1 )-200(featur)14(e. )-450(The)-451(older)]TJ -/TT0 1 Tf -28.781 0 Td -(O_NDELAY)Tj -/T1_1 1 Tf -5.25 0 Td -(is)Tj --41.285 -1.25 Td -(intended for backwar)Tj -0.25 Tc 9.499 0 Td -(dc)Tj -0 Tc 1.305 0 Td -(ompatibility and should not be used in new applications.)Tj --10.804 -2.5 Td -[(4.3BSD )-281(pr)18(ovided )-281(the)]TJ -/TT0 1 Tf -10.22 0 Td -(FNDELAY)Tj -/T1_1 1 Tf -4.731 0 Td -[(\337ag )-281(for)]TJ -/TT0 1 Tf -3.999 0 Td -(fcntl)Tj -/T1_1 1 Tf -0.5306 Tc (,a)Tj -0 Tc 4.281 0 Td -[(nd )-281(its )-281(semantics )-281(wer)]TJ -0.5308 Tc 9.869 0 Td -(es)Tj -0 Tc 1.434 0 Td -[(lightly )-281(dif)18(fer)18(ent.)]TJ --34.533 -1.25 Td -[(Instead )-51(of )-51(af)18(fecting )-51(only )-51(the )-51(\336le )-51(status )-51(\337ags )-51(for )-51(the )-51(descriptor)]TJ -0.3015 Tc 27.506 0 Td -(,t)Tj -0 Tc 0.877 0 Td -[(he )-51(\337ags )-51(for )-51(either )-51(the )-51(terminal)]TJ --28.384 -1.25 Td -[(device )-137(or )-137(the )-137(socket )-137(wer)]TJ -0.3873 Tc 11.211 0 Td -(ea)Tj -0 Tc 1.366 0 Td -[(lso )-137(changed )-137(to )-137(be )-137(nonblocking, )-137(ther)18(eby )-137(af)18(fecting )-137(all )-137(users )-137(of )-137(the)]TJ --12.577 -1.25 Td -[(terminal )-11(or )-11(socket, )-11(not )-11(just )-11(the )-11(users )-11(sharing )-11(the )-11(same )-11(\336le )-11(table )-11(entry )-11(\(4.3BSD )-11(nonblocking )-11(I/O)]TJ -T* -[(worked )-59(only )-59(on )-59(terminals )-59(and )-59(sockets\).)-559(Also, )-59(4.3BSD )-59(r)19(eturned)]TJ -/TT0 1 Tf -28.501 0 Td -(EWOULDBLOCK)Tj -/T1_1 1 Tf -6.909 0 Td -[(if )-59(an )-59(operation)]TJ --35.41 -1.25 Td -[(on )-51(a )-51(nonblocking )-51(descriptor )-51(could )-51(not )-51(complete )-51(without )-51(blocking.)]TJ --0.092 Tc 30.2 0 Td -(To)Tj -0 Tc 1.067 0 Td -(day)Tj -0.3006 Tc 1.556 0 Td -(,B)Tj -0 Tc 1.162 0 Td -(SD)Tj -1.299 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-51(systems)]TJ --35.616 -1.25 Td -[(pr)18(ovide )-89(the )-89(POSIX.1)]TJ -/TT0 1 Tf -9.543 0 Td -(O_NONBLOCK)Tj -/T1_1 1 Tf -6.339 0 Td -[(\337ag )-89(and )-89(de\336ne)]TJ -/TT0 1 Tf -7.131 0 Td -(EWOULDBLOCK)Tj -/T1_1 1 Tf -6.939 0 Td -[(to )-89(be )-89(the )-89(same )-89(as)]TJ -/TT0 1 Tf -8.197 0 Td -(EAGAIN)Tj -/T1_1 1 Tf -(.)Tj --38.15 -1.25 Td -[(These )-450(systems )-450(pr)18(ovide )-450(nonblocking )-450(semantics )-450(consistent )-450(with )-450(other )-450(POSIX-compatible)]TJ -T* -[(systems: )-283(changes )-283(in )-283(\336le )-283(status )-283(\337ags )-283(af)17(fect )-283(all )-283(users )-283(of )-283(the )-283(same )-283(\336le )-283(table )-283(entry)]TJ -0.5334 Tc 37.846 0 Td -(,b)Tj -0 Tc 1.336 0 Td -[(ut )-283(ar)18(e)]TJ --39.182 -1.25 Td -[(independent )-87(of )-87(accesses )-87(to )-87(the )-87(same )-87(device )-87(thr)18(ough )-87(other )-87(\336le )-87(table )-87(entries.)-590(\(Refer )-87(to )-87(Figur)18(es)]TJ -0 -1.25 Td -(3.7 and 3.9.\))Tj -/TT2 1 Tf -9.9994 0 0 9.9994 93.5962 226.1864 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(Let\325s )-94(look )-94(at )-94(an )-94(example )-94(of )-94(nonblocking )-94(I/O.)-594(The )-94(pr)18(ogram )-94(in )-94(Figur)]TJ -0.3444 Tc 30.926 0 Td -(e1)Tj -0 Tc 1.323 0 Td -[(4.1 )-94(r)18(eads )-94(up )-94(to)]TJ --32.25 -1.2 Td -[(500,000 )-88(bytes )-88(fr)17(om )-88(the )-88(standar)]TJ -0.3382 Tc 13.787 0 Td -(di)Tj -0 Tc 1.24 0 Td -[(nput )-88(and )-88(attempts )-88(to )-88(write )-88(it )-88(to )-88(the )-88(standar)]TJ -0.3382 Tc 19.769 0 Td -(do)Tj -0 Tc 1.495 0 Td -(utput.)Tj --36.291 -1.2 Td -[(The )-146(standar)]TJ -0.3963 Tc 5.39 0 Td -(do)Tj -0 Tc 1.553 0 Td -[(utput )-146(is )-146(\336rst )-146(set )-146(to )-146(be )-146(nonblocking.)-646(The )-146(output )-146(is )-146(in )-146(a )-146(loop, )-146(with )-146(the)]TJ --0.018 Tc -6.944 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sults )-187(of )-187(each)]TJ -/TT0 1 Tf -6.264 0 Td -(write)Tj -/T1_1 1 Tf -3.437 0 Td -[(being )-187(printed )-187(on )-187(the )-187(standar)]TJ -0.4374 Tc 13.331 0 Td -(de)Tj -0 Tc 1.527 0 Td -[(rr)18(or)]TJ -0.6874 Tc 1.639 0 Td -(.T)Tj -0 Tc 1.55 0 Td -[(he )-187(function)]TJ -/TT0 1 Tf -5.643 0 Td -(clr_fl)Tj -/T1_1 1 Tf -4.037 0 Td -(is)Tj --38.285 -1.2 Td -[(similar )-238(to )-238(the )-238(function)]TJ -/TT0 1 Tf -10.991 0 Td -(set_fl)Tj -/T1_1 1 Tf -4.088 0 Td -[(that )-238(we )-238(showed )-238(in )-238(Figur)]TJ -0.4876 Tc 11.729 0 Td -(e3)Tj -0 Tc 1.467 0 Td -[(.12. )-488(This)-487(new )-238(function)]TJ --28.275 -1.2 Td -[(simply clears one or mor)18(e)-250(of)-250(the \337ag bits.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47146 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(382)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -8.9995 0 0 8.9995 129.5922 669.9598 Tm -(10.10)Tj -/T1_1 1 Tf --0.074 Tc 3.065 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-121(a )-121(pr)18(ogram )-121(that )-121(calls)]TJ -/TT0 1 Tf -10.994 0 Td -(sleep\(60\))Tj -/T1_1 1 Tf -5.771 0 Td -[(in )-121(an )-121(in\336nite )-121(loop.)-621(Every )-121(\336ve )-121(times )-121(thr)16(ough )-121(the)]TJ --18.086 -1.222 Td -[(loop )-58(\(every )-58(5 )-58(minutes\), )-58(fetch )-58(the )-58(curr)19(ent )-58(time )-58(of )-58(day )-58(and )-58(print )-58(the)]TJ -/TT0 1 Tf -30.019 0 Td -(tm_sec)Tj -/T1_1 1 Tf -3.908 0 Td -[(\336eld. )-308(Run)-307(the)]TJ --33.927 -1.222 Td -[(pr)18(ogram )-220(overnight )-220(and )-220(explain )-220(the )-220(r)20(esults. )-470(How)-469(would )-220(a )-220(pr)18(ogram )-220(such )-220(as )-220(the)]TJ -/TT0 1 Tf -37.868 0 Td -(cron)Tj -/T1_1 1 Tf --37.868 -1.222 Td -[(daemon, which r)8(uns every minute on the minute, handle this situation?)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -[(10.1)37(1)]TJ -/T1_1 1 Tf -3.065 0 Td -[(Modify )-104(Figur)]TJ -0.3541 Tc 6.02 0 Td -(e3)Tj -0 Tc 1.333 0 Td -[(.5 )-104(as )-104(follows: )-104(\(a\) )-104(change)]TJ -/TT0 1 Tf -11.269 0 Td -(BUFFSIZE)Tj -/T1_1 1 Tf -5.154 0 Td -[(to )-104(100; )-104(\(b\) )-104(catch )-104(the)]TJ -/TT0 1 Tf -9.294 0 Td -(SIGXFSZ)Tj -/T1_1 1 Tf -4.554 0 Td -(signal)Tj --37.624 -1.222 Td -[(using )-210(the)]TJ -/TT0 1 Tf -4.763 0 Td -(signal_intr)Tj -/T1_1 1 Tf -7.06 0 Td -[(function, )-210(printing )-210(a )-210(message )-210(when )-210(it\325s )-210(caught, )-210(and )-210(r)19(eturning)]TJ --11.822 -1.222 Td -[(fr)18(om )-6(the )-6(signal )-6(handler; )-6(and )-6(\(c\) )-6(print )-6(the )-6(r)18(eturn )-6(value )-6(fr)18(om)]TJ -/TT0 1 Tf -26.4 0 Td -(write)Tj -/T1_1 1 Tf -3.256 0 Td -[(if )-6(the )-6(r)18(equested )-6(number)]TJ --29.656 -1.222 Td -[(of )-136(bytes )-136(wasn\325t )-136(written.)-638(Modify )-137(the )-137(soft)]TJ -/TT0 1 Tf -18.899 0 Td -(RLIMIT_FSIZE)Tj -/T1_1 1 Tf --0.018 Tc 7.587 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ce )-137(limit )-137(\(Section )-137(7.1)55(1\) )-137(to)]TJ --27.341 -1.222 Td -[(1,024 )-58(bytes )-58(and )-58(r)8(un )-58(your )-58(new )-58(pr)18(ogram, )-58(copying )-58(a )-58(\336le )-58(that )-58(is )-58(lar)17(ger )-58(than )-58(1,024 )-58(bytes.)-558(\(T)90(ry)]TJ -0 -1.222 Td -[(to )-172(set )-172(the )-172(soft )-172(r)20(esour)18(ce )-172(limit )-172(fr)18(om )-172(your )-172(shell.)-670(If )-172(you )-172(can\325t )-172(do )-172(this )-172(fr)18(om )-172(your )-172(shell, )-172(call)]TJ -/TT0 1 Tf --0 -1.222 Td -(setrlimit)Tj -/T1_1 1 Tf -5.765 0 Td -[(dir)18(ectly )-115(fr)18(om )-115(the )-115(pr)17(ogram.\) )-365(Run)-366(this )-115(pr)18(ogram )-115(on )-115(the )-115(dif)17(fer)18(ent )-115(systems )-115(that)]TJ --5.766 -1.222 Td -[(you have access to.)-500(What happens and why?)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(10.12)Tj -/T1_1 1 Tf --0.074 Tc 3.065 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-28(a )-28(pr)18(ogram )-28(that )-28(calls)]TJ -/TT0 1 Tf -10.53 0 Td -(fwrite)Tj -/T1_1 1 Tf -3.878 0 Td -[(with )-28(a )-28(lar)17(ge )-28(buf)18(fer )-28(\(about )-28(one )-28(gigabyte\).)-530(Befor)]TJ -0.2784 Tc 20.827 0 Td -(ec)Tj -0 Tc 1.201 0 Td -(alling)Tj -/TT0 1 Tf --37.757 -1.222 Td -(fwrite)Tj -/T1_1 1 Tf -0.2757 Tc (,c)Tj -0 Tc 4.57 0 Td -(all)Tj -/TT0 1 Tf -1.358 0 Td -(alarm)Tj -/T1_1 1 Tf -3.276 0 Td -[(to )-26(schedule )-26(a )-26(signal )-26(in )-26(1 )-26(second.)-526(In )-26(your )-26(signal )-26(handler)]TJ -0.2756 Tc 24.673 0 Td -(,p)Tj -0 Tc 1.127 0 Td -[(rint )-26(that )-26(the)]TJ --35.002 -1.222 Td -[(signal was caught and r)18(eturn. )-250(Does)-250(the call to)]TJ -/TT0 1 Tf -20.626 0 Td -(fwrite)Tj -/T1_1 1 Tf -3.85 0 Td -[(complete? )-250(What\325s)-250(happening?)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47147 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(378)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.783 TD -[(#define BUFFSIZE)-2400(1024)]TJ -0 -1.783 TD -(static void)Tj -0 -1.189 TD -(sig_tstp\(int signo\) /* signal handler for SIGTSTP */)Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(sigset_t )-1800(mask;)]TJ -0 -1.783 TD -(/* ... move cursor to lower left corner, reset tty mode ... */)Tj -0 -1.783 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*U)Tj -0 Tc 1.8 0 Td -(nblock SIGTSTP, since it\325s blocked while we\325re handling it.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(sigemptyset\(&mask\);)Tj -0 -1.189 TD -(sigaddset\(&mask, SIGTSTP\);)Tj -0 -1.189 TD -(sigprocmask\(SIG_UNBLOCK, &mask, NULL\);)Tj -0 -1.783 TD -[(signal\(SIGTSTP, SIG_DFL\);)-1800(/* reset disposition to default */)]TJ -0 -1.783 TD -[(kill\(getpid\(\), SIGTSTP\);)-2400(/* and send the signal to ourself */)]TJ -T* -(/* we won\325t return from the kill until we\325re continued */)Tj -T* -[(signal\(SIGTSTP, sig_tstp\);)-1200(/* reestablish signal handler */)]TJ -T* -(/* ... reset tty mode, redraw screen ... */)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(n;)]TJ -T* -[(char )-1800(buf[BUFFSIZE];)]TJ -0 -1.783 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*O)Tj -0 Tc 1.8 0 Td -(nly catch SIGTSTP if we\325re running with a job-control shell.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(signal\(SIGTSTP, SIG_IGN\) == SIG_DFL\))Tj -2.4 -1.189 Td -(signal\(SIGTSTP, sig_tstp\);)Tj --2.4 -1.783 Td -(while \(\(n = read\(STDIN_FILENO, buf, BUFFSIZE\)\) > 0\))Tj -2.4 -1.189 Td -(if \(write\(STDOUT_FILENO, buf, n\) != n\))Tj -2.4 -1.189 Td -(err_sys\("write error"\);)Tj --4.8 -1.783 Td -(if \(n < 0\))Tj -2.4 -1.189 Td -(err_sys\("read error"\);)Tj --2.4 -1.783 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2053.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 255.4733 189.2753 Tm -(Figure 10.31)Tj -/T1_1 1 Tf -6.195 0 Td -(How to handle)Tj -/TT0 1 Tf -6.879 0 Td -(SIGTSTP)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5846 165.2782 Tm -[(When )-19(the )-19(pr)18(ogram )-19(in )-19(Figur)]TJ -0.2691 Tc 12.22 0 Td -(e1)Tj -0 Tc 1.248 0 Td -[(0.31 )-19(starts, )-19(it )-19(arranges )-19(to )-19(catch )-19(the)]TJ -/TT0 1 Tf -15.282 0 Td -(SIGTSTP)Tj -/T1_1 1 Tf -4.469 0 Td -[(signal )-19(only )-19(if)]TJ --33.219 -1.2 Td -[(the )-2(signal\325s )-2(disposition )-2(is)]TJ -/TT0 1 Tf -11.389 0 Td -(SIG_DFL)Tj -/T1_1 1 Tf -0.502 Tc (.T)Tj -0 Tc 5.565 0 Td -[(he )-2(r)18(eason )-2(is )-2(that )-2(when )-2(the )-2(pr)18(ogram )-2(is )-2(started )-2(by )-2(a)]TJ --16.954 -1.2 Td -[(shell )-110(that )-110(doesn\325t )-110(support )-110(job )-110(contr)19(ol )-110(\()]TJ -/TT0 1 Tf -(/bin/sh)Tj -/T1_1 1 Tf -0.3597 Tc (,f)Tj -0 Tc 22.622 0 Td -[(or )-110(example\), )-110(the )-110(signal\325s )-110(disposition)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47148 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.10)]TJ -/TT0 1 Tf -30.286 0 Td -(alarm)Tj -/T1_0 1 Tf -3.5 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(pause)Tj -/T1_0 1 Tf -3.5 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(343)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Her)18(e, )-149(we )-149(speci\336cally )-149(want )-149(a )-149(slow )-149(system )-149(call )-149(to )-149(be )-149(interr)9(upted. )-399(W)92(e\325ll )-149(see )-149(a )-149(portable)]TJ -0 -1.2 Td -(way to do this in Section 10.14.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 6570.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -9.9988 0 0 9.9988 93.5888 632.924 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.04 Td -[(Let\325s )-120(r)18(edo )-120(the )-120(pr)18(eceding )-120(example )-120(using)]TJ -/TT0 1 Tf -18.365 0 Td -(longjmp)Tj -/T1_0 1 Tf -0.6202 Tc (.T)Tj -0 Tc 5.683 0 Td -[(his )-120(way)111(,)-370(we)-370(don\325t )-120(need )-120(to )-120(worry)]TJ --24.048 -1.2 Td -[(about whether a slow system call is interr)8(upted.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5934.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 583.7939 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -[(static void)-3000(sig_alrm\(int\);)]TJ -0 -1.189 TD -[(static jmp_buf)-1200(env_alrm;)]TJ -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(n;)]TJ -T* -[(char )-1800(line[MAXLINE];)]TJ -0 -2.14 TD -(if \(signal\(SIGALRM, sig_alrm\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("signal\(SIGALRM\) error"\);)Tj --2.4 -1.189 Td -(if \(setjmp\(env_alrm\) != 0\))Tj -2.4 -1.189 Td -(err_quit\("read timeout"\);)Tj --2.4 -2.14 Td -(alarm\(10\);)Tj -0 -1.189 TD -(if \(\(n = read\(STDIN_FILENO, line, MAXLINE\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("read error"\);)Tj --2.4 -1.189 Td -(alarm\(0\);)Tj -0 -2.14 TD -(write\(STDOUT_FILENO, line, n\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(static void)Tj -0 -1.189 TD -(sig_alrm\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(longjmp\(env_alrm, 1\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2709.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 219.8632 254.8768 Tm -[(Figure 10.1)37(1)]TJ -/T1_0 1 Tf -6.158 0 Td -(Calling)Tj -/TT0 1 Tf -3.47 0 Td -(read)Tj -/T1_0 1 Tf -2.65 0 Td -(with a timeout, using)Tj -/TT0 1 Tf -9.693 0 Td -(longjmp)Tj -/T1_0 1 Tf -9.9976 0 0 9.9976 129.5693 230.8826 Tm -[(This )-119(version )-119(works )-119(as )-119(expected, )-119(r)18(egar)18(dless )-119(of )-119(whether )-119(the )-119(system )-119(r)18(estarts )-119(interr)7(upted)]TJ --0 -1.2 Td -[(system )-27(calls.)-528(Realize, )-27(however)]TJ -0.2773 Tc 13.638 0 Td -(,t)Tj -0 Tc 0.853 0 Td -[(hat )-27(we )-27(still )-27(have )-27(the )-27(pr)18(oblem )-27(of )-27(interactions )-27(with )-27(other)]TJ --14.491 -1.2 Td -(signal handlers, as in Figur)Tj -0.25 Tc 11.938 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(0.8.)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2069.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.997 0 0 9.997 147.5557 178.0846 Tm -[(If )-141(we )-141(want )-141(to )-141(set )-141(a )-141(time )-141(limit )-141(on )-141(an )-141(I/O )-141(operation, )-141(we )-141(need )-141(to )-141(use)]TJ -/TT0 1 Tf -31.435 0 Td -(longjmp)Tj -/T1_0 1 Tf -0.3907 Tc (,a)Tj -0 Tc 5.341 0 Td -(s)Tj --38.576 -1.2 Td -[(shown )-45(pr)18(eviously)]TJ -0.2948 Tc 7.885 0 Td -(,w)Tj -0 Tc 1.379 0 Td -[(hile )-45(r)18(ecognizing )-45(its )-45(possible )-45(interaction )-45(with )-45(other )-45(signal )-45(handlers.)]TJ --9.264 -1.2 Td -[(Another )-11(option )-11(is )-11(to )-11(use )-11(the)]TJ -/TT0 1 Tf -12.624 0 Td -(select)Tj -/T1_0 1 Tf -3.861 0 Td -(or)Tj -/TT0 1 Tf -1.202 0 Td -(poll)Tj -/T1_0 1 Tf -2.661 0 Td -[(functions, )-10(described )-10(in )-10(Sections )-10(14.4.1 )-10(and)]TJ --20.346 -1.2 Td -(14.4.2.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47149 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(342)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_1 1 Tf -0.2678 Tc 3.6 -2.4 Td -(Ac)Tj -0 Tc 1.49 0 Td -[(ommon )-18(use )-18(for)]TJ -/TT1 1 Tf -7.023 0 Td -(alarm)Tj -/T1_1 1 Tf -0.2678 Tc (,i)Tj -0.2679 Tc 3.809 0 Td -(na)Tj -0 Tc 1.35 0 Td -[(ddition )-18(to )-18(implementing )-18(the)]TJ -/TT1 1 Tf -12.833 0 Td -(sleep)Tj -/T1_1 1 Tf -3.268 0 Td -[(function, )-18(is )-18(to )-18(put )-18(an)]TJ --29.772 -1.2 Td -[(upper )-309(time )-309(limit )-309(on )-309(operations )-309(that )-309(can )-309(block.)-809(For )-309(example, )-309(if )-309(we )-309(have )-309(a)]TJ -/TT1 1 Tf -36.6 0 Td -(read)Tj -/T1_1 1 Tf --36.6 -1.2 Td -[(operation )-55(on )-55(a )-55(device )-55(that )-55(can )-55(block )-55(\(a )-55(\324)35(\324slow\325)]TJ -0.3053 Tc 20.543 0 Td -(\325d)Tj -0 Tc 1.194 0 Td -[(evice, )-55(as )-55(described )-55(in )-55(Section )-55(10.5\), )-55(we)]TJ --21.737 -1.2 Td -[(might )-353(want )-353(the)]TJ -/TT1 1 Tf -8.075 0 Td -(read)Tj -/T1_1 1 Tf -3.003 0 Td -[(to )-353(time )-353(out )-353(after )-353(some )-353(amount )-353(of )-353(time.)-851(The )-353(pr)18(ogram )-353(in)]TJ --11.078 -1.2 Td -(Figur)Tj -0.3177 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.297 0 Td -[(0.10 )-68(does )-68(this, )-68(r)18(eading )-68(one )-68(line )-68(fr)18(om )-68(standar)]TJ -0.3177 Tc 20.012 0 Td -(di)Tj -0 Tc 1.22 0 Td -[(nput )-68(and )-68(writing )-68(it )-68(to )-68(standar)20(d)]TJ --24.911 -1.2 Td -(output.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5730.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 563.4314 Tm -(#include "apue.h")Tj -0 -2.021 TD -(static void sig_alrm\(int\);)Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-2400(n;)]TJ -0 -1.189 TD -[(char )-1800(line[MAXLINE];)]TJ -0 -2.021 TD -(if \(signal\(SIGALRM, sig_alrm\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("signal\(SIGALRM\) error"\);)Tj --2.4 -2.021 Td -(alarm\(10\);)Tj -0 -1.189 TD -(if \(\(n = read\(STDIN_FILENO, line, MAXLINE\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("read error"\);)Tj --2.4 -1.189 Td -(alarm\(0\);)Tj -0 -2.021 TD -(write\(STDOUT_FILENO, line, n\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(static void)Tj -0 -1.189 TD -(sig_alrm\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(/* nothing to do, just return to interrupt the read */)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2997.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 249.3471 283.7069 Tm -(Figure 10.10)Tj -/T1_1 1 Tf -6.195 0 Td -(Calling)Tj -/TT1 1 Tf -3.47 0 Td -(read)Tj -/T1_1 1 Tf -2.65 0 Td -(with a timeout)Tj -9.9982 0 0 9.9982 129.5771 259.7112 Tm -[(This )-225(sequence )-225(of )-225(code )-225(is )-225(common )-225(in )-225(UNIX )-225(applications, )-225(but )-225(this )-225(pr)18(ogram )-225(has )-225(two)]TJ -0 -1.2 TD -[(pr)18(oblems.)]TJ -1.8 -1.92 Td -[(1. )-633(The)-415(pr)18(ogram )-165(in )-165(Figur)]TJ -0.4151 Tc 11.666 0 Td -(e1)Tj -0 Tc 1.394 0 Td -[(0.10 )-165(has )-165(one )-165(of )-165(the )-165(same )-165(\337aws )-165(that )-165(we )-165(described )-165(in)]TJ --11.427 -1.2 Td -(Figur)Tj -0.2516 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.231 0 Td -[(0.7: )-2(a )-2(race )-2(condition )-2(between )-2(the )-2(\336rst )-2(call )-2(to)]TJ -/TT1 1 Tf -19.568 0 Td -(alarm)Tj -/T1_1 1 Tf -3.251 0 Td -[(and )-1(the )-1(call )-1(to)]TJ -/TT1 1 Tf -6.484 0 Td -(read)Tj -/T1_1 1 Tf -(.)Tj --32.917 -1.2 Td -[(If )-37(the )-37(kernel )-37(blocks )-37(the )-37(pr)18(ocess )-37(between )-37(these )-37(two )-37(function )-37(calls )-37(for )-37(longer )-37(than)]TJ -T* -[(the )-1(alarm )-1(period, )-1(the)]TJ -/TT1 1 Tf -9.52 0 Td -(read)Tj -/T1_1 1 Tf -2.651 0 Td -[(could )-1(block )-1(for)18(ever)]TJ -0.5011 Tc 8.487 0 Td -(.M)Tj -0 Tc 1.697 0 Td -[(ost )-1(operations )-1(of )-1(this )-1(type )-1(use)]TJ -0.6952 Tc -22.356 -1.2 Td -(al)Tj -0 Tc 1.486 0 Td -[(ong )-445(alarm )-445(period, )-445(such )-445(as )-445(a )-445(minute )-445(or )-445(mor)16(e, )-445(making )-445(this )-445(unlikely;)]TJ --1.486 -1.2 Td -(nevertheless, it is a race condition.)Tj --1.633 -1.6 Td -[(2. )-633(If)-281(system )-31(calls )-31(ar)]TJ -0.2813 Tc 9.066 0 Td -(ea)Tj -0 Tc 1.26 0 Td -[(utomatically )-31(r)18(estarted, )-31(the)]TJ -/TT1 1 Tf -11.955 0 Td -(read)Tj -/T1_1 1 Tf -2.681 0 Td -[(is )-31(not )-31(interr)8(upted )-31(when )-31(the)]TJ -/TT1 1 Tf --23.329 -1.2 Td -(SIGALRM)Tj -/T1_1 1 Tf -4.45 0 Td -[(signal handler r)18(eturns. )-250(In)-250(this case, the timeout does nothing.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47150 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.6)]TJ -34.642 0 Td -[(Reentrant )-250(Functions)]TJ -/T1_1 1 Tf -11.191 0 Td -(331)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1334.25 6670.25 cm -0 0 m -3824 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 137.3918 658.9605 Tm -(abort )Tj -9.3 0 Td -[(faccessat)-2700(linkat )]TJ -19.8 0 Td -[(select)-4500(socketpair)]TJ --29.1 -1.25 Td -(accept )Tj -9.3 0 Td -[(fchmod)-4500(listen )]TJ -19.8 0 Td -[(sem_post)-3300(stat)]TJ --29.1 -1.25 Td -(access )Tj -9.3 0 Td -[(fchmodat)-3300(lseek )]TJ -19.8 0 Td -(send)Tj -8.1 0 Td -(symlink)Tj --37.2 -1.25 Td -[(aio_error )-3300(fchown)-4500(lstat )]TJ -29.1 0 Td -[(sendmsg)-3900(symlinkat)]TJ --29.1 -1.25 Td -[(aio_return )-2700(fchownat )-2700(mkdir)]TJ -29.1 0 Td -[(sendto )-3900(tcdrain)]TJ --29.1 -1.25 Td -[(aio_suspend )-2100(fcntl)]TJ -17.4 0 Td -(mkdirat )Tj -11.7 0 Td -[(setgid)-4500(tcflow)]TJ --29.1 -1.25 Td -(alarm )Tj -9.3 0 Td -[(fdatasync)-2700(mkfifo )]TJ -19.8 0 Td -[(setpgid)-3900(tcflush)]TJ --29.1 -1.25 Td -(bind )Tj -9.3 0 Td -[(fexecve)-3900(mkfifoat )]TJ -19.8 0 Td -[(setsid)-4500(tcgetattr)]TJ --29.1 -1.25 Td -[(cfgetispeed )-2100(fork)]TJ -17.4 0 Td -(mknod )Tj -11.7 0 Td -[(setsockopt)-2100(tcgetpgrp)]TJ --29.1 -1.25 Td -[(cfgetospeed )-2100(fstat)]TJ -17.4 0 Td -(mknodat )Tj -11.7 0 Td -[(setuid)-4500(tcsendbreak)]TJ --29.1 -1.25 Td -[(cfsetispeed )-2100(fstatat)-3900(open )]TJ -29.1 0 Td -[(shutdown)-3300(tcsetattr)]TJ --29.1 -1.25 Td -[(cfsetospeed )-2100(fsync)]TJ -17.4 0 Td -(openat )Tj -11.7 0 Td -[(sigaction)-2700(tcsetpgrp)]TJ --29.1 -1.25 Td -(chdir )Tj -9.3 0 Td -[(ftruncate)-2700(pause )]TJ -19.8 0 Td -[(sigaddset)-2700(time)]TJ --29.1 -1.25 Td -(chmod )Tj -9.3 0 Td -[(futimens)-3300(pipe )]TJ -19.8 0 Td -[(sigdelset)-2700(timer_getoverrun)]TJ --29.1 -1.25 Td -(chown )Tj -9.3 0 Td -[(getegid)-3900(poll )]TJ -19.8 0 Td -[(sigemptyset)-1500(timer_gettime)]TJ --29.1 -1.25 Td -[(clock_gettime )-900(geteuid)-3900(posix_trace_event )-900(sigfillset)-2100(timer_settime)]TJ -0 -1.25 TD -(close )Tj -9.3 0 Td -[(getgid)-4500(pselect )]TJ -19.8 0 Td -[(sigismember)-1500(times)]TJ --29.1 -1.25 Td -[(connect )-4500(getgroups)-2700(raise )]TJ -29.1 0 Td -[(signal)-4500(umask)]TJ --29.1 -1.25 Td -(creat )Tj -9.3 0 Td -[(getpeername)-1500(read )]TJ -19.8 0 Td -[(sigpause)-3300(uname)]TJ --29.1 -1.25 Td -(dup )Tj -9.3 0 Td -[(getpgrp)-3900(readlink )]TJ -19.8 0 Td -[(sigpending)-2100(unlink)]TJ --29.1 -1.25 Td -(dup2 )Tj -9.3 0 Td -[(getpid)-4500(readlinkat )]TJ -19.8 0 Td -[(sigprocmask)-1500(unlinkat)]TJ --29.1 -1.25 Td -(execl )Tj -9.3 0 Td -[(getppid)-3900(recv )]TJ -19.8 0 Td -[(sigqueue)-3300(utime)]TJ --29.1 -1.25 Td -(execle )Tj -9.3 0 Td -[(getsockname)-1500(recvfrom )]TJ -19.8 0 Td -[(sigset)-4500(utimensat)]TJ --29.1 -1.25 Td -(execv )Tj -9.3 0 Td -[(getsockopt)-2100(recvmsg )]TJ -19.8 0 Td -[(sigsuspend)-2100(utimes)]TJ --29.1 -1.25 Td -(execve )Tj -9.3 0 Td -[(getuid)-4500(rename )]TJ -19.8 0 Td -(sleep)Tj -8.1 0 Td -(wait)Tj --37.2 -1.25 Td -(_Exit )Tj -9.3 0 Td -(kill)Tj -8.1 0 Td -(renameat )Tj -11.7 0 Td -[(sockatmark)-2100(waitpid)]TJ --29.1 -1.25 Td -(_exit )Tj -9.3 0 Td -(link)Tj -8.1 0 Td -(rmdir )Tj -11.7 0 Td -[(socket)-4500(write)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1334.25 3950.25 cm -0 0 m -3824 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4290.25 3950.25 cm -0 0 m -0 2720 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 3950.25 cm -0 0 m -0 2720 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3950.25 cm -0 0 m -0 2720 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2058.25 3950.25 cm -0 0 m -0 2720 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5158.25 3950.25 cm -0 0 m -0 2720 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1334.25 3950.25 cm -0 0 m -0 2720 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 194.7486 376.9548 Tm -(Figure 10.4)Tj -/T1_0 1 Tf -5.695 0 Td -[(Reentrant functions that may be called fr)18(om a signal handler)]TJ -9.9988 0 0 9.9988 129.5846 345.7585 Tm -[(stor)18(ed )-288(in)]TJ -/TT0 1 Tf -4.711 0 Td -(main)Tj -/T1_0 1 Tf -0.7876 Tc (.T)Tj -0 Tc 4.051 0 Td -[(her)18(efor)18(e, )-288(as )-288(a )-288(general )-288(r)10(ule, )-287(when )-287(calling )-287(the )-287(functions )-287(listed )-287(in)]TJ --8.762 -1.2 Td -(Figur)Tj -0.3068 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.286 0 Td -[(0.4 )-57(fr)18(om )-57(a )-57(signal )-57(handler)75(,)-307(we)-307(should )-57(save )-57(and )-57(r)18(estor)18(e)]TJ -/TT0 1 Tf -24.257 0 Td -(errno)Tj -/T1_0 1 Tf -0.5569 Tc (.\()Tj -0 Tc 4.14 0 Td -[(Be )-57(awar)]TJ -0.3069 Tc 3.608 0 Td -(et)Tj -0 Tc 1.112 0 Td -[(hat )-57(a)]TJ --36.785 -1.2 Td -[(commonly )-176(caught )-176(signal )-176(is)]TJ -/TT0 1 Tf -12.806 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -0.4262 Tc (,a)Tj -0 Tc 5.376 0 Td -[(nd )-176(its )-176(signal )-176(handler )-176(usually )-176(calls )-176(one )-176(of )-176(the)]TJ -/TT0 1 Tf --18.182 -1.2 Td -(wait)Tj -/T1_0 1 Tf -2.65 0 Td -[(functions. )-250(All)-250(the)]TJ -/TT0 1 Tf -8.128 0 Td -(wait)Tj -/T1_0 1 Tf -2.65 0 Td -(functions can change)Tj -/TT0 1 Tf -9.55 0 Td -(errno)Tj -/T1_0 1 Tf -(.\))Tj --21.178 -1.2 Td -[(Note )-237(that)]TJ -/TT0 1 Tf -4.889 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.687 0 Td -[(\(Section )-237(7.10\) )-237(and)]TJ -/TT0 1 Tf -8.762 0 Td -(siglongjmp)Tj -/T1_0 1 Tf -6.487 0 Td -[(\(Section )-237(10.15\) )-237(ar)]TJ -0.4866 Tc 7.959 0 Td -(em)Tj -0 Tc 1.849 0 Td -(issing)Tj --36.432 -1.2 Td -[(fr)18(om )-168(Figur)]TJ -0.4185 Tc 4.941 0 Td -(e1)Tj -0 Tc 1.397 0 Td -[(0.4, )-168(because )-168(the )-168(signal )-168(may )-168(have )-168(occurr)15(ed )-168(while )-168(the )-168(main )-168(r)18(outine )-168(was)]TJ --6.338 -1.2 Td -[(updating )-81(a )-81(data )-81(str)7(uctur)18(e)-331(in)-331(a)-331(n)-1(onr)18(eentrant )-81(way)]TJ -0.5813 Tc 21.703 0 Td -(.T)Tj -0 Tc 1.444 0 Td -[(his )-81(data )-81(str)7(uctur)]TJ -0.3313 Tc 7.387 0 Td -(ec)Tj -0 Tc 1.254 0 Td -[(ould )-81(be )-81(left )-81(half)]TJ --31.788 -1.2 Td -[(updated )-142(if )-142(we )-142(call)]TJ -/TT0 1 Tf -8.761 0 Td -(siglongjmp)Tj -/T1_0 1 Tf -6.392 0 Td -[(instead )-142(of )-142(r)18(eturning )-142(fr)18(om )-142(the )-142(signal )-142(handler)]TJ -0.6418 Tc 20.17 0 Td -(.I)Tj -0 Tc 1.229 0 Td -[(f)-392(it)-392(i)1(s)]TJ --36.552 -1.2 Td -[(going )-158(to )-158(do )-158(such )-158(things )-158(as )-158(update )-158(global )-158(data )-158(str)11(uctur)18(es, )-158(as )-158(we )-158(describe )-158(her)19(e, )-158(while)]TJ -0 -1.2 Td -(catching signals that cause)Tj -/TT0 1 Tf -11.978 0 Td -(sigsetjmp)Tj -/T1_0 1 Tf -5.65 0 Td -(to be executed, an application needs to block the)Tj --17.628 -1.2 Td -[(signals while updating the data str)8(uctur)18(es.)]TJ -/TT1 1 Tf --3.6 -3.12 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.4372 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.416 0 Td -[(0.5 )-187(shows )-187(a )-187(pr)18(ogram )-187(that )-187(calls )-187(the )-187(nonr)17(eentrant )-187(function)]TJ -/TT0 1 Tf -26.887 0 Td -(getpwnam)Tj -/T1_0 1 Tf -5.237 0 Td -[(fr)18(om )-187(a)]TJ --35.923 -1.2 Td -[(signal )-397(handler )-397(that )-397(is )-397(called )-397(every )-397(second.)]TJ --0.092 Tc 21.736 0 Td -[(We )-581(d)]TJ -0 Tc 2.645 0 Td -[(escribe )-397(the)]TJ -/TT0 1 Tf -5.745 0 Td -(alarm)Tj -/T1_0 1 Tf -3.647 0 Td -[(function )-397(in)]TJ --33.773 -1.2 Td -(Section 10.10.)Tj --0.092 Tc 6.443 0 Td -[(We )-184(u)]TJ -0 Tc 2.24 0 Td -[(se it her)18(e)-250(to)-250(generate a)]TJ -/TT0 1 Tf -10.105 0 Td -(SIGALRM)Tj -/T1_0 1 Tf -4.45 0 Td -(signal every second.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47151 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(328)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(To )-223(s)]TJ -0 Tc 1.78 0 Td -[(upport )-39(this )-39(featur)17(e, )-39(the )-39(system )-39(calls )-39(ar)]TJ -0.2894 Tc 17.084 0 Td -(ed)Tj -0 Tc 1.379 0 Td -[(ivided )-39(into )-39(two )-39(categories: )-39(the )-39(\324)35(\324slow\325)37(\325)]TJ --22.044 -1.2 Td -[(system )-85(calls )-85(and )-85(all )-85(the )-85(others.)-585(The )-85(slow )-85(system )-85(calls )-85(ar)]TJ -0.3346 Tc 25.491 0 Td -(et)Tj -0 Tc 1.14 0 Td -[(hose )-85(that )-85(can )-85(block )-85(for)20(ever)74(.)]TJ --26.631 -1.2 Td -[(Included in this category ar)18(e)]TJ -0.883 Tc 1.8 -1.8 Td -(\245R)Tj -0 Tc 2.157 0 Td -[(eads )-27(that )-27(can )-27(block )-27(the )-27(caller )-27(for)18(ever )-27(if )-27(data )-27(isn\325t )-27(pr)19(esent )-27(with )-27(certain )-27(\336le )-27(types)]TJ --0.668 -1.2 Td -(\(pipes, terminal devices, and network devices\))Tj -0.883 Tc -1.489 -1.6 Td -(\245W)Tj -0 Tc 2.415 0 Td -[(rites )-33(that )-33(can )-33(block )-33(the )-33(caller )-33(for)18(ever )-33(if )-33(the )-33(data )-33(can\325t )-33(be )-33(accepted )-33(immediately)]TJ --0.926 -1.2 Td -(by these same \336le types)Tj -0.883 Tc -1.489 -1.6 Td -(\245O)Tj -0 Tc 2.275 0 Td -[(pens )-210(on )-210(certain )-210(\336le )-210(types )-210(that )-210(block )-210(the )-210(caller )-210(until )-210(some )-210(condition )-210(occurs)]TJ --0.786 -1.2 Td -[(\(such )-111(as )-111(a )-111(terminal )-111(device )-111(open )-111(waiting )-111(until )-111(an )-111(attached )-111(modem )-111(answers )-111(the)]TJ -0 -1.2 TD -(phone\))Tj -0.883 Tc -1.489 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.331 0 Td -(pause)Tj -/T1_1 1 Tf -3.27 0 Td -[(function )-20(\(which )-20(by )-20(de\336nition )-20(puts )-20(the )-20(calling )-20(pr)17(ocess )-20(to )-20(sleep )-20(until )-20(a)]TJ --5.214 -1.2 Td -(signal is caught\) and the)Tj -/TT0 1 Tf -11.033 0 Td -(wait)Tj -/T1_1 1 Tf -2.65 0 Td -(function)Tj -0.883 Tc -15.172 -1.6 Td -(\245C)Tj -0 Tc 2.198 0 Td -(ertain)Tj -/TT0 1 Tf -2.823 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.25 0 Td -(operations)Tj -0.883 Tc -8.271 -1.6 Td -(\245S)Tj -0 Tc 2.014 0 Td -[(ome of the interpr)18(ocess communication functions \(Chapter 15\))]TJ --3.814 -1.8 Td -[(The )-288(notable )-288(exception )-288(to )-288(these )-288(slow )-288(system )-288(calls )-288(is )-288(anything )-288(r)13(elated )-288(to )-288(disk )-288(I/O.)]TJ -T* -[(Although )-34(a )-34(r)19(ead )-34(or )-34(a )-34(write )-34(of )-34(a )-34(disk )-34(\336le )-34(can )-34(block )-34(the )-34(caller )-34(temporarily )-34(\(while )-34(the )-34(disk)]TJ -T* -[(driver )-150(queues )-150(the )-150(r)18(equest )-150(and )-150(then )-150(the )-150(r)21(equest )-149(is )-149(executed\), )-149(unless )-149(a )-149(har)16(dwar)]TJ -0.3995 Tc 35.93 0 Td -(ee)Tj -0 Tc 1.357 0 Td -[(rr)18(or)]TJ --37.287 -1.2 Td -[(occurs, the I/O operation always r)18(eturns and unblocks the caller quickly)111(.)]TJ -1.8 -1.2 Td -[(One )-102(condition )-102(that )-102(is )-102(handled )-102(by )-102(interr)5(upted )-103(system )-103(calls, )-103(for )-103(example, )-103(is )-103(when )-103(a)]TJ --1.8 -1.2 Td -[(pr)18(ocess )-52(initiates )-52(a )-52(r)18(ead )-52(fr)18(om )-52(a )-52(terminal )-52(device )-52(and )-52(the )-52(user )-52(at )-52(the )-52(terminal )-52(walks )-52(away)]TJ -T* -[(fr)18(om )-10(the )-10(terminal )-10(for )-10(an )-10(extended )-10(period.)-507(In )-10(this )-10(example, )-10(the )-10(pr)18(ocess )-10(could )-10(be )-10(blocked)]TJ -T* -[(for hours or days and would r)18(emain so unless the system was taken down.)]TJ -7.9995 0 0 7.9995 183.5896 364.9781 Tm -[(POSIX.1 )-132(semantics )-132(for )-132(interr)9(upted)]TJ -/TT0 1 Tf -15.902 0 Td -(read)Tj -/T1_1 1 Tf -0.3816 Tc (sa)Tj -0 Tc 3.706 0 Td -(nd)Tj -/TT0 1 Tf -1.575 0 Td -(write)Tj -/T1_1 1 Tf -0.3816 Tc (sc)Tj -0 Tc 4.25 0 Td -[(hanged )-132(with )-132(the )-132(2001 )-132(version )-132(of )-132(the)]TJ --25.432 -1.25 Td -[(standar)18(d. )-453(Earlier)-452(versions )-203(gave )-203(implementations )-203(a )-203(choice )-203(of )-203(how )-203(to )-203(deal )-203(with)]TJ -/TT0 1 Tf -37.03 0 Td -(read)Tj -/T1_1 1 Tf -0.4529 Tc (sa)Tj -0 Tc 3.777 0 Td -(nd)Tj -/TT0 1 Tf --40.807 -1.25 Td -(write)Tj -/T1_1 1 Tf -0.4118 Tc (st)Tj -0 Tc 4.162 0 Td -[(hat )-162(have )-162(pr)18(ocessed )-162(partial )-162(amounts )-162(of )-162(data.)-660(If)]TJ -/TT0 1 Tf -21.967 0 Td -(read)Tj -/T1_1 1 Tf -2.812 0 Td -[(has )-162(r)18(eceived )-162(and )-162(transferr)19(ed)]TJ --28.94 -1.25 Td -[(data )-8(to )-8(an )-8(application\325s )-8(buf)18(fer)]TJ -0.2581 Tc 13.203 0 Td -(,b)Tj -0 Tc 1.061 0 Td -[(ut )-8(has )-8(not )-8(yet )-8(r)18(eceived )-8(all )-8(that )-8(the )-8(application )-8(r)18(equested )-8(and )-8(is)]TJ --14.264 -1.25 Td -[(then )-185(interr)8(upted, )-185(the )-185(operating )-185(system )-185(could )-185(either )-185(fail )-185(the )-185(system )-185(call, )-185(with)]TJ -/TT0 1 Tf -36.029 0 Td -(errno)Tj -/T1_1 1 Tf -3.435 0 Td -[(set )-185(to)]TJ -/TT0 1 Tf --39.464 -1.25 Td -(EINTR)Tj -/T1_1 1 Tf -[(,)-430(or)-430(allow )-180(the )-180(system )-180(call )-180(to )-180(succeed, )-180(r)18(eturning )-180(the )-180(partial )-180(amount )-180(of )-180(data )-180(r)15(eceived.)]TJ -0 -1.25 Td -(Similarly)Tj -0.2935 Tc 3.912 0 Td -(,i)Tj -0 Tc 0.835 0 Td -(f)Tj -/TT0 1 Tf -0.627 0 Td -(write)Tj -/T1_1 1 Tf -3.294 0 Td -[(is )-43(interr)8(upted )-43(after )-43(transferring )-43(some )-43(of )-43(the )-43(data )-43(in )-43(an )-43(application\325s )-43(buf)13(fer)74(,)]TJ --8.666 -1.25 Td -[(the )-85(operation )-85(system )-85(could )-85(either )-85(fail )-85(the )-85(system )-85(call, )-85(with)]TJ -/TT0 1 Tf -26.847 0 Td -(errno)Tj -/T1_1 1 Tf -3.335 0 Td -[(set )-85(to)]TJ -/TT0 1 Tf -2.771 0 Td -(EINTR)Tj -/T1_1 1 Tf -[(,)-335(or)-335(allow )-85(the)]TJ --32.954 -1.25 Td -[(system )-566(call )-566(to )-566(succeed, )-566(r)17(eturning )-566(the )-566(partial )-566(amount )-566(of )-566(data )-566(written.)-1068(Historically)111(,)]TJ -0 -1.25 Td -[(implementations )-551(derived )-551(fr)18(om )-551(System )-551(V )-551(fail )-551(the )-551(system )-551(call, )-551(wher)18(eas )-551(BSD-derived)]TJ -0 -1.25 TD -[(implementations )-149(r)18(eturn )-149(partial )-149(success.)]TJ --0.055 Tc 18.489 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-149(the )-149(2001 )-149(version )-149(of )-149(the )-149(POSIX.1 )-149(standar)15(d, )-149(the)]TJ --19.725 -1.25 Td -(BSD-style semantics ar)Tj -0.25 Tc 10.049 0 Td -(er)Tj -0 Tc 1.106 0 Td -[(equir)18(ed.)]TJ -9.9994 0 0 9.9994 147.5924 234.9859 Tm -[(The )-57(pr)18(oblem )-57(with )-57(interr)9(upted )-57(system )-57(calls )-57(is )-57(that )-57(we )-57(now )-57(have )-57(to )-57(handle )-57(the )-57(err)20(or)]TJ --0.018 Tc -1.8 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-83(explicitly)]TJ -0.5832 Tc 6.214 0 Td -(.T)Tj -0 Tc 1.446 0 Td -[(he )-83(typical )-83(code )-83(sequence )-83(\(assuming )-83(a )-83(r)17(ead )-83(operation )-83(and )-83(assuming)]TJ --8.516 -1.2 Td -[(that we want to r)18(estart the r)18(ead even if it\325s interr)8(upted\) would be)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5929 194.2883 Tm -(again:)Tj -2.4 -1.189 Td -(if \(\(n = read\(fd, buf, BUFFSIZE\)\) < 0\) {)Tj -2.4 -1.189 Td -(if \(errno == EINTR\))Tj -2.4 -1.189 Td -[(goto again;)-3000(/* just an interrupted system call */)]TJ --2.4 -1.189 Td -(/* handle other errors */)Tj --2.4 -1.189 Td -(})Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47152 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.9)]TJ -36.334 0 Td -[(Race )-250(Conditions)]TJ -/T1_1 1 Tf -9.499 0 Td -(247)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(We )-287(a)]TJ -0 Tc 2.24 0 Td -[(ssume )-103(that )-103(the )-103(header)]TJ -/TT0 1 Tf -10.393 0 Td -(apue.h)Tj -/T1_0 1 Tf -3.953 0 Td -[(de\336nes )-103(whatever )-103(variables )-103(ar)]TJ -0.3533 Tc 13.275 0 Td -(er)Tj -0 Tc 1.209 0 Td -[(equir)18(ed. )-353(The)-354(\336ve)]TJ --0.018 Tc -31.07 -1.2 Td -(ro)Tj -0 Tc 0.923 0 Td -(utines)Tj -/TT0 1 Tf -3.051 0 Td -(TELL_WAIT)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -5.996 0 Td -(TELL_PARENT)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -7.196 0 Td -(TELL_CHILD)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -6.596 0 Td -(WAIT_PARENT)Tj -/T1_0 1 Tf -0.3465 Tc (,a)Tj -0 Tc 7.696 0 Td -(nd)Tj -/TT0 1 Tf -1.539 0 Td -(WAIT_CHILD)Tj -/T1_0 1 Tf --33 -1.2 Td -[(can be either macr)18(os or functions.)]TJ --0.092 Tc 1.8 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-247(show )-247(various )-247(ways )-247(to )-247(implement )-247(these)]TJ -/TT0 1 Tf -20.341 0 Td -(TELL)Tj -/T1_0 1 Tf -2.897 0 Td -(and)Tj -/TT0 1 Tf -2.19 0 Td -(WAIT)Tj -/T1_0 1 Tf --0.018 Tc 2.897 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(utines )-247(in )-247(later)]TJ --32.436 -1.2 Td -[(chapters: )-143(Section )-143(10.16 )-143(shows )-143(an )-143(implementation )-143(using )-143(signals; )-143(Figur)]TJ -0.3932 Tc 31.699 0 Td -(e1)Tj -0 Tc 1.372 0 Td -[(5.7 )-143(shows )-143(an)]TJ --33.072 -1.2 Td -[(implementation using pipes.)-500(Let\325s look at an example that uses these \336ve r)18(outines.)]TJ -/TT1 1 Tf --3.6 -3.36 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(The )-111(pr)18(ogram )-111(in )-111(Figur)]TJ -0.3614 Tc 9.872 0 Td -(e8)Tj -0 Tc 1.34 0 Td -[(.12 )-111(outputs )-111(two )-111(strings: )-111(one )-111(fr)18(om )-111(the )-111(child )-111(and )-111(one )-111(fr)18(om )-111(the)]TJ --11.213 -1.2 Td -[(par)18(ent. )-253(The)-253(pr)18(ogram )-3(contains )-3(a )-3(race )-3(condition )-3(because )-3(the )-3(output )-3(depends )-3(on )-3(the )-3(or)20(der)]TJ -0 -1.2 Td -[(in )-177(which )-177(the )-177(pr)18(ocesses )-177(ar)]TJ -0.4273 Tc 11.777 0 Td -(er)Tj -0 Tc 1.293 0 Td -[(un )-177(by )-177(the )-177(kernel )-177(and )-177(the )-177(length )-177(of )-177(time )-177(for )-177(which )-177(each)]TJ --13.07 -1.2 Td -[(pr)18(ocess r)8(uns.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5034.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 493.8397 Tm -(#include "apue.h")Tj -0 -1.902 TD -(static void charatatime\(char *\);)Tj -T* -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(pid_t )-1200(pid;)]TJ -0 -1.902 TD -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid == 0\) {)Tj -0.6 -1.189 Td -(charatatime\("output from child\\n"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(charatatime\("output from parent\\n"\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(static void)Tj -0 -1.189 TD -(charatatime\(char *str\))Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(*ptr;)]TJ -T* -[(int )-2400(c;)]TJ -0 -1.902 TD -(setbuf\(stdout, NULL\);)Tj -19.2 0 Td -(/* set unbuffered */)Tj --19.2 -1.189 Td -(for \(ptr = str; \(c = *ptr++\) != 0; \))Tj -2.4 -1.189 Td -(putc\(c, stdout\);)Tj --4.8 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2109.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 248.0513 194.8629 Tm -(Figure 8.12)Tj -/T1_0 1 Tf -5.695 0 Td -[(Pr)18(ogram with a race condition)]TJ --0.092 Tc 9.9982 0 0 9.9982 129.5769 168.4677 Tm -[(We )-300(s)]TJ -0 Tc 2.177 0 Td -[(et )-116(the )-116(standar)]TJ -0.366 Tc 6.244 0 Td -(do)Tj -0 Tc 1.523 0 Td -[(utput )-116(unbuf)18(fer)18(ed, )-116(so )-116(every )-116(character )-116(output )-116(generates )-116(a)]TJ -/TT0 1 Tf -25.806 0 Td -(write)Tj -/T1_0 1 Tf -(.)Tj --35.75 -1.2 Td -[(The )-78(goal )-78(in )-78(this )-78(example )-78(is )-78(to )-78(allow )-78(the )-78(kernel )-78(to )-78(switch )-78(between )-78(the )-78(two )-78(pr)17(ocesses )-78(as)]TJ -0 -1.2 TD -[(often )-168(as )-168(possible )-168(to )-168(demonstrate )-168(the )-168(race )-168(condition.)-672(\(If )-168(we )-168(didn\325t )-168(do )-168(this, )-168(we )-168(might)]TJ -T* -[(never )-196(see )-196(the )-196(type )-196(of )-196(output )-196(that )-196(follows.)-696(Not )-196(seeing )-196(the )-196(err)18(oneous )-196(output )-196(doesn\325t)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47153 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.3)]TJ -/TT0 1 Tf -37.003 0 Td -(fork)Tj -/T1_0 1 Tf -2.9 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(231)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(communication )-123(is )-123(r)18(equir)18(ed. )-373(In)-373(the )-123(pr)18(ogram )-123(shown )-123(in )-123(Figur)]TJ -0.3729 Tc 27.284 0 Td -(e8)Tj -0 Tc 1.352 0 Td -[(.1, )-123(we )-123(simply )-123(have )-123(the)]TJ --28.636 -1.2 Td -[(par)18(ent )-99(put )-99(itself )-99(to )-99(sleep )-99(for )-99(2 )-99(seconds, )-99(to )-99(let )-99(the )-99(child )-99(execute.)-602(Ther)18(e)-349(is)-349(no)-349(g)-1(uarantee)]TJ -0 -1.2 Td -[(that )-187(the )-187(length )-187(of )-187(this )-187(delay )-187(is )-187(adequate, )-187(and )-187(we )-187(talk )-187(about )-187(this )-187(and )-187(other )-187(types )-187(of)]TJ -0 -1.2 TD -[(synchr)18(onization )-138(in )-138(Section )-138(8.9 )-138(when )-138(we )-138(discuss )-138(race )-138(conditions.)-639(In )-138(Section )-138(10.16, )-138(we)]TJ -T* -[(show how to use signals to synchr)18(onize a par)18(ent and a child after a)]TJ -/TT0 1 Tf -29.839 0 Td -(fork)Tj -/T1_0 1 Tf -(.)Tj --28.039 -1.2 Td -[(When )-163(we )-163(write )-163(to )-163(standar)]TJ -0.4129 Tc 12.125 0 Td -(do)Tj -0 Tc 1.57 0 Td -[(utput, )-163(we )-163(subtract )-163(1 )-163(fr)18(om )-163(the )-163(size )-163(of)]TJ -/TT0 1 Tf -17.495 0 Td -(buf)Tj -/T1_0 1 Tf -2.213 0 Td -[(to )-163(avoid)]TJ --35.202 -1.2 Td -[(writing )-7(the )-7(terminating )-7(null )-7(byte.)-507(Although)]TJ -/TT0 1 Tf -19.86 0 Td -(strlen)Tj -/T1_0 1 Tf -3.857 0 Td -[(will )-7(calculate )-7(the )-7(length )-7(of )-7(a )-7(string)]TJ --23.717 -1.2 Td -[(not )-52(including )-52(the )-52(terminating )-52(null )-52(byte,)]TJ -/TT0 1 Tf -18.048 0 Td -(sizeof)Tj -/T1_0 1 Tf -3.902 0 Td -[(calculates )-52(the )-52(size )-52(of )-52(the )-52(buf)17(fer)]TJ -0.3023 Tc 13.765 0 Td -(,w)Tj -0 Tc 1.386 0 Td -(hich)Tj --37.101 -1.2 Td -[(does )-321(include )-321(the )-321(terminating )-321(null )-321(byte.)-821(Another )-321(dif)21(fer)18(ence )-321(is )-321(that )-321(using)]TJ -/TT0 1 Tf -35.4 0 Td -(strlen)Tj -/T1_0 1 Tf --0.018 Tc -35.4 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(es )-16(a )-16(function )-16(call, )-16(wher)19(eas)]TJ -/TT0 1 Tf -13.721 0 Td -(sizeof)Tj -/T1_0 1 Tf -3.866 0 Td -[(calculates )-16(the )-16(buf)18(fer )-16(length )-16(at )-16(compile )-16(time, )-16(as)]TJ --18.443 -1.2 Td -[(the buf)18(fer is initialized with a known string and its size is \336xed.)]TJ -1.8 -1.2 Td -[(Note )-104(the )-104(interaction )-104(of)]TJ -/TT0 1 Tf -10.626 0 Td -(fork)Tj -/T1_0 1 Tf -2.754 0 Td -[(with )-104(the )-104(I/O )-104(functions )-104(in )-104(the )-104(pr)18(ogram )-104(in )-104(Figur)]TJ -0.3541 Tc 21.487 0 Td -(e8)Tj -0 Tc 1.333 0 Td -(.1.)Tj --38 -1.2 Td -[(Recall )-34(fr)18(om )-34(Chapter )-34(3 )-34(that )-34(the)]TJ -/TT0 1 Tf -13.73 0 Td -(write)Tj -/T1_0 1 Tf -3.284 0 Td -[(function )-34(is )-34(not )-34(buf)18(fer)18(ed. )-284(Because)]TJ -/TT0 1 Tf -15.086 0 Td -(write)Tj -/T1_0 1 Tf -3.284 0 Td -[(is )-34(called)]TJ --35.385 -1.2 Td -(befor)Tj -0.3183 Tc 2.288 0 Td -(et)Tj -0 Tc 1.123 0 Td -(he)Tj -/TT0 1 Tf -1.379 0 Td -(fork)Tj -/T1_0 1 Tf -0.3183 Tc (,i)Tj -0 Tc 3.259 0 Td -[(ts )-68(data )-68(is )-68(written )-68(once )-68(to )-68(standar)]TJ -0.3184 Tc 14.788 0 Td -(do)Tj -0 Tc 1.475 0 Td -[(utput. )-318(The)-319(standar)]TJ -0.3184 Tc 8.59 0 Td -(dI)Tj -0 Tc 1.266 0 Td -[(/O )-68(library)111(,)]TJ --34.169 -1.2 Td -[(however)74(,)-250(is)-250(b)-1(uf)18(fer)18(ed. )-250(Recall)-250(fr)18(om Section 5.12 that standar)]TJ -0.2502 Tc 25.832 0 Td -(do)Tj -0 Tc 1.407 0 Td -[(utput is line buf)17(fer)18(ed if it\325s)]TJ --27.239 -1.2 Td -[(connected )-342(to )-342(a )-342(terminal )-342(device; )-342(otherwise, )-342(it\325s )-342(fully )-342(buf)17(fer)18(ed. )-592(When)-592(we )-342(r)8(un )-342(the)]TJ --0 -1.2 Td -[(pr)18(ogram )-120(interactively)111(,)-370(we)-370(get )-120(only )-120(a )-120(single )-120(copy )-120(of )-120(the )-120(\336rst)]TJ -/TT0 1 Tf -27.528 0 Td -(printf)Tj -/T1_0 1 Tf -3.97 0 Td -[(line, )-120(because )-120(the)]TJ --31.498 -1.2 Td -(standar)Tj -0.2832 Tc 3.32 0 Td -(do)Tj -0 Tc 1.44 0 Td -[(utput )-33(buf)18(fer )-33(is )-33(\337ushed )-33(by )-33(the )-33(newline.)-533(When )-33(we )-33(r)16(edir)18(ect )-33(standar)]TJ -0.2833 Tc 29.185 0 Td -(do)Tj -0 Tc 1.44 0 Td -[(utput )-33(to)]TJ -0.3084 Tc -35.386 -1.2 Td -(a\336)Tj -0 Tc 1.413 0 Td -[(le, )-58(however)74(,)-308(we)-308(g)-1(et )-58(two )-58(copies )-58(of )-58(the)]TJ -/TT0 1 Tf -16.974 0 Td -(printf)Tj -/T1_0 1 Tf -3.908 0 Td -[(line. )-308(In)-309(this )-58(second )-58(case, )-58(the)]TJ -/TT0 1 Tf -13.105 0 Td -(printf)Tj -/T1_0 1 Tf --35.4 -1.2 Td -(befor)Tj -0.3356 Tc 2.288 0 Td -(et)Tj -0 Tc 1.141 0 Td -(he)Tj -/TT0 1 Tf -1.397 0 Td -(fork)Tj -/T1_0 1 Tf -2.736 0 Td -[(is )-86(called )-86(once, )-86(but )-86(the )-86(line )-86(r)18(emains )-86(in )-86(the )-86(buf)22(fer )-86(when)]TJ -/TT0 1 Tf -24.787 0 Td -(fork)Tj -/T1_0 1 Tf -2.736 0 Td -[(is )-86(called.)]TJ --35.083 -1.2 Td -[(This )-103(buf)18(fer )-103(is )-103(then )-103(copied )-103(into )-103(the )-103(child )-103(when )-103(the )-103(par)18(ent\325s )-103(data )-103(space )-103(is )-103(copied )-103(to )-103(the)]TJ -T* -[(child. )-276(Both)-277(the )-26(par)18(ent )-26(and )-26(the )-26(child )-26(now )-26(have )-26(a )-26(standar)]TJ -0.2765 Tc 25.008 0 Td -(dI)Tj -0 Tc 1.224 0 Td -[(/O )-26(buf)18(fer )-26(with )-26(this )-26(line )-26(in )-26(it.)]TJ --26.232 -1.2 Td -[(The )-71(second)]TJ -/TT0 1 Tf -5.402 0 Td -(printf)Tj -/T1_0 1 Tf -0.3211 Tc (,r)Tj -0 Tc 4.566 0 Td -[(ight )-71(befor)]TJ -0.3211 Tc 4.364 0 Td -(et)Tj -0 Tc 1.126 0 Td -(he)Tj -/TT0 1 Tf -1.382 0 Td -(exit)Tj -/T1_0 1 Tf -0.3211 Tc (,j)Tj -0 Tc 3.205 0 Td -[(ust )-71(appends )-71(its )-71(data )-71(to )-71(the )-71(existing )-71(buf)18(fer)74(.)]TJ --20.046 -1.2 Td -[(When each pr)18(ocess terminates, its copy of the buf)18(fer is \336nally \337ushed.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3930.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -9.9988 0 0 9.9988 93.5888 364.1563 Tm -(File Sharing)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(When )-30(we )-30(r)18(edir)18(ect )-30(the )-30(standar)]TJ -0.28 Tc 13.167 0 Td -(do)Tj -0 Tc 1.437 0 Td -[(utput )-30(of )-30(the )-30(par)18(ent )-30(fr)18(om )-30(the )-30(pr)18(ogram )-30(in )-30(Figur)]TJ -0.28 Tc 20.47 0 Td -(e8)Tj -0 Tc 1.259 0 Td -[(.1, )-30(the)]TJ --36.333 -1.2 Td -[(child\325s )-64(standar)]TJ -0.3143 Tc 6.555 0 Td -(do)Tj -0 Tc 1.471 0 Td -[(utput )-64(is )-64(also )-64(r)17(edir)18(ected. )-314(Indeed,)-315(one )-64(characteristic )-64(of)]TJ -/TT0 1 Tf -24.099 0 Td -(fork)Tj -/T1_0 1 Tf -2.714 0 Td -[(is )-64(that )-64(all)]TJ --34.84 -1.2 Td -[(\336le )-343(descriptors )-343(that )-343(ar)]TJ -0.5934 Tc 10.702 0 Td -(eo)Tj -0 Tc 1.618 0 Td -[(pen )-343(in )-343(the )-343(par)18(ent )-343(ar)]TJ -0.5933 Tc 10.038 0 Td -(ed)Tj -0 Tc 1.683 0 Td -[(uplicated )-343(in )-343(the )-343(child.)]TJ --0.092 Tc 11.498 0 Td -[(We )-527(s)]TJ -0 Tc 2.404 0 Td -(ay)Tj --0.037 Tc -37.944 -1.2 Td -(\324\324)Tj -0 Tc 0.519 0 Td -(duplicated\325)Tj -0.262 Tc 4.998 0 Td -(\325b)Tj -0 Tc 1.093 0 Td -[(ecause )-12(it\325s )-12(as )-12(if )-12(the)]TJ -/TT0 1 Tf -8.493 0 Td -(dup)Tj -/T1_0 1 Tf -2.062 0 Td -[(function )-12(had )-12(been )-12(called )-12(for )-12(each )-12(descriptor)]TJ -0.5121 Tc 19.399 0 Td -(.T)Tj -0 Tc 1.375 0 Td -(he)Tj --37.939 -1.2 Td -[(par)18(ent )-32(and )-32(the )-32(child )-32(shar)]TJ -0.2823 Tc 11.176 0 Td -(ea\336)Tj -0 Tc 2.149 0 Td -[(le )-32(table )-32(entry )-32(for )-32(every )-32(open )-32(descriptor )-32(\(r)16(ecall )-32(Figur)]TJ -0.2822 Tc 23.081 0 Td -(e3)Tj -0 Tc 1.261 0 Td -(.9\).)Tj --35.867 -1.2 Td -[(Consider )-17(a )-17(pr)18(ocess )-17(that )-17(has )-17(thr)18(ee )-17(dif)18(fer)18(ent )-17(\336les )-17(opened )-17(for )-17(standar)]TJ -0.2672 Tc 29.47 0 Td -(di)Tj -0 Tc 1.169 0 Td -[(nput, )-17(standar)18(d)]TJ --32.44 -1.2 Td -[(output, )-76(and )-76(standar)]TJ -0.3262 Tc 8.92 0 Td -(de)Tj -0 Tc 1.416 0 Td -[(rr)18(or)]TJ -0.5762 Tc 1.639 0 Td -(.O)Tj -0.3262 Tc 1.612 0 Td -(nr)Tj -0 Tc 1.285 0 Td -[(eturn )-76(fr)18(om)]TJ -/TT0 1 Tf -5.176 0 Td -(fork)Tj -/T1_0 1 Tf -[(,)-326(we)-326(have )-76(the )-76(arrangement )-76(shown )-76(in)]TJ --20.049 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.2.)Tj --1.812 -1.2 Td -[(It )-98(is )-98(important )-98(that )-98(the )-98(par)18(ent )-98(and )-98(the )-98(child )-98(shar)]TJ -0.3478 Tc 22.126 0 Td -(et)Tj -0 Tc 1.153 0 Td -[(he )-98(same )-98(\336le )-98(of)19(fset. )-348(Consider)-348(a)]TJ --25.079 -1.2 Td -[(pr)18(ocess )-161(that)]TJ -/TT0 1 Tf -5.851 0 Td -(fork)Tj -/T1_0 1 Tf -0.4109 Tc (sac)Tj -0 Tc 4.59 0 Td -[(hild, )-161(then)]TJ -/TT0 1 Tf -4.816 0 Td -(wait)Tj -/T1_0 1 Tf -0.4109 Tc (sf)Tj -0 Tc 3.568 0 Td -[(or )-161(the )-161(child )-161(to )-161(complete.)-661(Assume )-161(that )-161(both)]TJ --18.824 -1.2 Td -[(pr)18(ocesses )-44(write )-44(to )-44(standar)]TJ -0.2944 Tc 11.598 0 Td -(do)Tj -0 Tc 1.451 0 Td -[(utput )-44(as )-44(part )-44(of )-44(their )-44(normal )-44(pr)16(ocessing. )-294(If)-295(the )-44(par)18(ent )-44(has)]TJ --13.05 -1.2 Td -[(its )-104(standar)]TJ -0.3538 Tc 4.715 0 Td -(do)Tj -0 Tc 1.511 0 Td -[(utput )-104(r)18(edir)18(ected )-104(\(by )-104(a )-104(shell, )-104(per)18(haps\), )-104(it )-104(is )-104(essential )-104(that )-104(the )-104(par)18(ent\325s )-104(\336le)]TJ --6.226 -1.2 Td -[(of)18(fset )-105(be )-105(updated )-105(by )-105(the )-105(child )-105(when )-105(the )-105(child )-105(writes )-105(to )-105(standar)]TJ -0.3547 Tc 28.827 0 Td -(do)Tj -0 Tc 1.512 0 Td -[(utput. )-355(In)-354(this )-105(case,)]TJ --30.338 -1.2 Td -[(the )-30(child )-30(can )-30(write )-30(to )-30(standar)]TJ -0.2803 Tc 13.05 0 Td -(do)Tj -0 Tc 1.437 0 Td -[(utput )-30(while )-30(the )-30(par)18(ent )-30(is)]TJ -/TT0 1 Tf -11.304 0 Td -(wait)Tj -/T1_0 1 Tf -[(ing )-30(for )-30(it; )-30(on )-30(completion)]TJ --25.792 -1.2 Td -[(of )-5(the )-5(child, )-5(the )-5(par)17(ent )-5(can )-5(continue )-5(writing )-5(to )-5(standar)]TJ -0.2553 Tc 24.13 0 Td -(do)Tj -0 Tc 1.412 0 Td -[(utput, )-5(knowing )-5(that )-5(its )-5(output)]TJ --25.543 -1.2 Td -[(will )-34(be )-34(appended )-34(to )-34(whatever )-34(the )-34(child )-34(wr)17(ote. )-284(If)-284(the )-34(par)18(ent )-34(and )-34(the )-34(child )-34(did )-34(not )-34(shar)17(e)]TJ -0 -1.2 Td -[(the )-92(same )-92(\336le )-92(of)18(fset, )-92(this )-92(type )-92(of )-92(interaction )-92(would )-92(be )-92(mor)]TJ -0.3425 Tc 26.094 0 Td -(ed)Tj -0 Tc 1.433 0 Td -[(if)18(\336cult )-92(to )-92(accomplish )-92(and)]TJ --27.526 -1.2 Td -[(would r)18(equir)]TJ -0.25 Tc 5.822 0 Td -(ee)Tj -0 Tc 1.208 0 Td -[(xplicit actions by the par)18(ent.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47154 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(230)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -1.92 Td -[(The )-129(pr)18(ogram )-129(in )-129(Figur)]TJ -0.379 Tc 9.925 0 Td -(e8)Tj -0 Tc 1.358 0 Td -[(.1 )-129(demonstrates )-129(the)]TJ -/TT1 1 Tf -9.249 0 Td -(fork)Tj -/T1_1 1 Tf -2.779 0 Td -[(function, )-129(showing )-129(how )-129(changes )-129(to)]TJ --23.311 -1.2 Td -[(variables )-22(in )-22(a )-22(child )-22(pr)18(ocess )-22(do )-22(not )-22(af)20(fect )-22(the )-22(value )-22(of )-22(the )-22(variables )-22(in )-22(the )-22(par)18(ent )-22(pr)20(ocess.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6306.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 621.0245 Tm -(#include "apue.h")Tj -0 -1.783 TD -[(int )-2400(globvar)]TJ -0.6 Tc 9.6 0 Td -(=6)Tj -4.8 Tc 1.8 0 Td -(;/)Tj -0.6 Tc 6 0 Td -(*e)Tj -0 Tc 1.8 0 Td -(xternal variable in initialized data */)Tj --19.2 -1.189 Td -[(char )-1800(buf[])-600(=)-600("a)-600(write to stdout\\n";)]TJ -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-2400(var;)-4800(/* automatic variable on the stack */)]TJ -T* -[(pid_t )-1200(pid;)]TJ -0 -1.783 TD -(var = 88;)Tj -0 -1.189 TD -(if \(write\(STDOUT_FILENO, buf, sizeof\(buf\)-1\) != sizeof\(buf\)-1\))Tj -2.4 -1.189 Td -(err_sys\("write error"\);)Tj --2.4 -1.189 Td -[(printf\("before fork\\n"\);)-2400(/* we don\325t flush stdout */)]TJ -0 -1.783 TD -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(pid == 0\) {)-3600(/* child */)]TJ -0.6 -1.189 Td -(globvar++; )Tj -14.4 0 Td -[(/*)-600(modify variables */)]TJ --14.4 -1.189 Td -(var++;)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(sleep\(2\); )Tj -14.4 0 Td -[(/*)-600(parent */)]TJ --16.8 -1.189 Td -(})Tj -T* -(printf\("pid = %ld, glob = %d, var = %d\\n", \(long\)getpid\(\), globvar\ ,)Tj -1.2 -1.189 Td -(var\);)Tj --1.2 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3434.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 257.3057 327.3891 Tm -(Figure 8.1)Tj -/T1_1 1 Tf -5.195 0 Td -(Example of)Tj -/TT1 1 Tf -5.26 0 Td -(fork)Tj -/T1_1 1 Tf -2.65 0 Td -(function)Tj -9.9982 0 0 9.9982 129.577 303.3934 Tm -[(If we execute this pr)18(ogram, we get)]TJ -/TT1 1 Tf -8.9984 0 0 8.9984 147.5737 289.906 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(./a.out)Tj -/TT1 1 Tf -0.6 Tc -1.2 -1.189 Td -(aw)Tj -0 Tc 1.8 0 Td -(rite to stdout)Tj --1.8 -1.189 Td -(before fork)Tj -0 -1.189 TD -(pid = 430, glob = 7, var = 89)Tj -/T1_2 1 Tf -20 0 Td -(child\325)Tj -0.25 Tc 2.186 0 Td -(sv)Tj -0 Tc 1.139 0 Td -(ariables wer)Tj -0.25 Tc 4.806 0 Td -(ec)Tj -0 Tc 1.046 0 Td -(hanged)Tj -/TT1 1 Tf --29.177 -1.189 Td -(pid = 429, glob = 6, var = 88)Tj -/T1_2 1 Tf -20 0 Td -[(par)18(ent\325)]TJ -0.25 Tc 2.816 0 Td -(sc)Tj -0 Tc 1.046 0 Td -(opy was not changed)Tj -/TT1 1 Tf --23.862 -1.189 Td -($)Tj -/TT2 1 Tf -1.2 0 Td -(./a.out > temp.out)Tj -/TT1 1 Tf --1.2 -1.189 Td -($)Tj -/TT2 1 Tf -1.2 0 Td -(cat temp.out)Tj -/TT1 1 Tf -0.6 Tc -1.2 -1.189 Td -(aw)Tj -0 Tc 1.8 0 Td -(rite to stdout)Tj --1.8 -1.189 Td -(before fork)Tj -0 -1.189 TD -(pid = 432, glob = 7, var = 89)Tj -T* -(before fork)Tj -0 -1.189 TD -(pid = 431, glob = 6, var = 88)Tj -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5771 157.4405 Tm -[(In )-55(general, )-55(we )-55(never )-55(know )-55(whether )-55(the )-55(child )-55(starts )-55(executing )-55(befor)]TJ -0.3053 Tc 30.078 0 Td -(et)Tj -0 Tc 1.11 0 Td -[(he )-55(par)18(ent, )-55(or )-55(vice)]TJ --31.188 -1.2 Td -[(versa. )-510(The)-511(or)18(der )-260(depends )-260(on )-260(the )-260(scheduling )-260(algorithm )-260(used )-260(by )-260(the )-260(kernel.)-760(If )-260(it\325s)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(ed )-66(that )-66(the )-66(child )-66(and )-66(par)19(ent )-66(synchr)18(onize )-66(their )-66(actions, )-66(some )-66(form )-66(of )-66(interpr)19(ocess)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47155 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(146)Tj -/T1_1 1 Tf -3.5 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Library)]TJ -34.372 0 Td -[(Chapter )-250(5)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 163.9202 668.9599 Tm -[(or )-16(\(b\) )-16(a )-16(line-buf)17(fer)18(ed )-16(str)18(eam )-16(\(that )-16(r)17(equir)18(es )-16(data )-16(to )-16(be )-16(r)16(equested )-17(fr)18(om )-17(the )-17(kernel\),)]TJ -/T1_2 1 Tf --0 -1.2 Td -(all)Tj -/T1_1 1 Tf -1.329 0 Td -[(line-buf)18(fer)18(ed )-79(output )-79(str)18(eams )-79(ar)]TJ -0.3288 Tc 14.008 0 Td -(e\337)Tj -0 Tc 1.416 0 Td -[(ushed. )-329(The)]TJ --0.018 Tc 5.531 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ason )-79(for )-79(the )-79(quali\336er )-79(on )-79(\(b\))]TJ --23.139 -1.2 Td -[(is )-128(that )-128(the )-128(r)18(equested )-128(data )-128(may )-128(alr)19(eady )-128(be )-128(in )-128(the )-128(buf)18(fer)]TJ -0.3779 Tc 25.038 0 Td -(,w)Tj -0 Tc 1.462 0 Td -[(hich )-128(doesn\325t )-128(r)18(equir)18(e)]TJ --26.5 -1.2 Td -[(data )-250(to )-250(be )-250(r)18(ead )-250(fr)18(om )-250(the )-250(kernel.)-750(Obviously)]TJ -0.5 Tc 20.62 0 Td -(,a)Tj -0 Tc 1.25 0 Td -[(ny )-250(input )-250(fr)18(om )-250(an )-250(unbuf)18(fer)18(ed)]TJ --21.87 -1.2 Td -[(str)18(eam, item \(a\), r)18(equir)18(es data to be obtained fr)18(om the kernel.)]TJ --1.633 -2.08 Td -[(3. )-633(Unbuf)18(fer)18(ed. )-463(The)-463(standar)]TJ -0.4628 Tc 13.163 0 Td -(dI)Tj -0 Tc 1.411 0 Td -[(/O )-213(library )-213(does )-213(not )-213(buf)18(fer )-213(the )-213(characters.)-712(If )-213(we)]TJ --12.94 -1.2 Td -[(write )-216(15 )-216(characters )-216(with )-216(the )-216(standar)]TJ -0.4664 Tc 16.886 0 Td -(dI)Tj -0 Tc 1.414 0 Td -(/O)Tj -/TT0 1 Tf -1.858 0 Td -(fputs)Tj -/T1_1 1 Tf -3.466 0 Td -[(function, )-216(for )-216(example, )-216(we)]TJ --23.625 -1.2 Td -[(expect )-122(these )-122(15 )-122(characters )-122(to )-122(be )-122(output )-122(as )-122(soon )-122(as )-122(possible, )-122(pr)18(obably )-122(with )-122(the)]TJ -/TT0 1 Tf -0 -1.2 TD -(write)Tj -/T1_1 1 Tf -3.25 0 Td -[(function fr)18(om Section 3.8.)]TJ --3.25 -1.8 Td -[(The )-2(standar)]TJ -0.2525 Tc 5.246 0 Td -(de)Tj -0 Tc 1.342 0 Td -[(rr)18(or )-2(str)18(eam, )-2(for )-2(example, )-2(is )-2(normally )-2(unbuf)15(fer)18(ed )-2(so )-2(that )-2(any )-2(err)16(or)]TJ --6.589 -1.2 Td -[(messages )-315(ar)]TJ -0.5653 Tc 5.611 0 Td -(ed)Tj -0 Tc 1.655 0 Td -[(isplayed )-315(as )-315(quickly )-315(as )-315(possible, )-315(r)17(egar)18(dless )-315(of )-315(whether )-315(they)]TJ --7.267 -1.2 Td -(contain a newline.)Tj --3.433 -2.16 Td -[(ISO C r)18(equir)18(es the following buf)18(fering characteristics:)]TJ -0.883 Tc 1.8 -2.16 Td -(\245S)Tj -0 Tc 2.014 0 Td -(tandar)Tj -0.2677 Tc 2.896 0 Td -(di)Tj -0 Tc 1.17 0 Td -[(nput )-18(and )-18(standar)]TJ -0.2677 Tc 7.66 0 Td -(do)Tj -0 Tc 1.425 0 Td -[(utput )-18(ar)]TJ -0.2677 Tc 3.604 0 Td -(ef)Tj -0 Tc 1.08 0 Td -[(ully )-18(buf)18(fer)18(ed, )-18(if )-18(and )-18(only )-18(if )-18(they )-18(do )-18(not)]TJ --0.018 Tc -18.359 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(fer to an interactive device.)Tj -0.883 Tc -2.345 -1.6 Td -(\245S)Tj -0 Tc 2.014 0 Td -(tandar)Tj -0.25 Tc 2.896 0 Td -(de)Tj -0 Tc 1.34 0 Td -[(rr)18(or is never fully buf)18(fer)18(ed.)]TJ --6.25 -2.16 Td -[(This, )-234(however)]TJ -0.4843 Tc 6.45 0 Td -(,d)Tj -0 Tc 1.345 0 Td -[(oesn\325t )-234(tell )-234(us )-234(whether )-234(standar)]TJ -0.4844 Tc 13.983 0 Td -(di)Tj -0 Tc 1.386 0 Td -[(nput )-234(and )-234(standar)]TJ -0.4844 Tc 8.094 0 Td -(do)Tj -0 Tc 1.641 0 Td -[(utput )-234(ar)18(e)]TJ --34.7 -1.2 Td -[(unbuf)18(fer)18(ed )-81(or )-81(line )-81(buf)19(fer)18(ed )-81(if )-81(they )-81(r)18(efer )-81(to )-81(an )-81(interactive )-81(device )-81(and )-81(whether )-81(standar)21(d)]TJ --0 -1.2 Td -[(err)18(or )-279(should )-279(be )-279(unbuf)17(fer)18(ed )-279(or )-279(line )-279(buf)17(fer)18(ed. )-529(Most)-530(implementations )-279(default )-279(to )-279(the)]TJ --0 -1.2 Td -[(following types of buf)18(fering:)]TJ -0.883 Tc 1.8 -2.16 Td -(\245S)Tj -0 Tc 2.014 0 Td -(tandar)Tj -0.25 Tc 2.896 0 Td -(de)Tj -0 Tc 1.34 0 Td -[(rr)18(or is always unbuf)18(fer)18(ed.)]TJ -0.883 Tc -6.25 -1.6 Td -(\245A)Tj -0 Tc 2.267 0 Td -[(ll )-87(other )-87(str)18(eams )-87(ar)]TJ -0.3375 Tc 8.213 0 Td -(el)Tj -0 Tc 1.107 0 Td -[(ine )-87(buf)18(fer)18(ed )-87(if )-87(they )-87(r)17(efer )-87(to )-87(a )-87(terminal )-87(device; )-87(otherwise,)]TJ --10.098 -1.2 Td -(they ar)Tj -0.25 Tc 3.07 0 Td -(ef)Tj -0 Tc 1.062 0 Td -[(ully buf)18(fer)18(ed.)]TJ -7.9995 0 0 7.9995 183.5863 326.1804 Tm -[(The )-8(four )-8(platforms )-8(discussed )-8(in )-8(this )-8(book )-8(follow )-8(these )-8(conventions )-8(for )-8(standar)]TJ -0.258 Tc 34.787 0 Td -(dI)Tj -0 Tc 1.206 0 Td -[(/O )-8(buf)18(fering:)]TJ --35.993 -1.25 Td -(standar)Tj -0.3103 Tc 3.32 0 Td -(de)Tj -0 Tc 1.4 0 Td -[(rr)18(or )-60(is )-60(unbuf)18(fer)18(ed, )-60(str)18(eams )-60(open )-60(to )-60(terminal )-60(devices )-60(ar)]TJ -0.3101 Tc 24.504 0 Td -(el)Tj -0 Tc 1.08 0 Td -[(ine )-60(buf)18(fer)18(ed, )-60(and )-60(all )-60(other)]TJ --30.305 -1.25 Td -[(str)18(eams ar)]TJ -0.25 Tc 4.54 0 Td -(ef)Tj -0 Tc 1.062 0 Td -[(ully buf)18(fer)18(ed.)]TJ --0.092 Tc 9.9994 0 0 9.9994 129.5892 283.183 Tm -[(We )-184(e)]TJ -0 Tc 2.116 0 Td -(xplor)Tj -0.25 Tc 2.331 0 Td -(es)Tj -0 Tc 1.153 0 Td -(tandar)Tj -0.25 Tc 2.896 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O buf)18(fering in mor)]TJ -0.25 Tc 8.928 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(etail in Section 5.12 and Figur)Tj -0.25 Tc 13.029 0 Td -(e5)Tj -0 Tc 1.229 0 Td -[(.1)55(1.)]TJ --32.42 -1.2 Td -[(If )-29(we )-29(don\325t )-29(like )-29(these )-29(defaults )-29(for )-29(any )-29(given )-29(str)18(eam, )-29(we )-29(can )-29(change )-29(the )-29(buf)18(fering )-29(by)]TJ --1.8 -1.2 Td -(calling either the)Tj -/TT0 1 Tf -7.644 0 Td -(setbuf)Tj -/T1_1 1 Tf -3.85 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(setvbuf)Tj -/T1_1 1 Tf -4.45 0 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5888 241.2855 Tm -(#include )Tj -0 -2.021 TD -(void setbuf\(FILE *restrict)Tj -/T1_2 1 Tf -16.2 0 Td -(fp)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(har *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(buf)Tj -/TT0 1 Tf -1.482 0 Td -(\);)Tj --28.66 -2.021 Td -(int setvbuf\(FILE *restrict)Tj -/T1_2 1 Tf -16.2 0 Td -(fp)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(har *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.097 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(mode)Tj -/TT0 1 Tf -(,)Tj --24.875 -1.189 Td -(size_t)Tj -/T1_2 1 Tf -4.2 0 Td -(size)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -12.888 -2.021 Td -[(Returns: 0 if OK, nonzer)18(o)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1715.25 cm -0 0 m -0 788 l -3900 788 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 156.8112 Tm -[(These )-75(functions )-75(must )-75(be )-75(called)]TJ -/T1_2 1 Tf -14.219 0 Td -(after)Tj -/T1_1 1 Tf -2.158 0 Td -[(the )-75(str)18(eam )-75(has )-75(been )-75(opened )-75(\(obviously)]TJ -0.3253 Tc 17.497 0 Td -(,s)Tj -0 Tc 0.999 0 Td -[(ince )-75(each)]TJ --0.018 Tc -34.874 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(es )-246(a )-246(valid )-246(\336le )-246(pointer )-246(as )-246(its )-246(\336rst )-246(ar)18(gument\) )-246(but)]TJ -/T1_2 1 Tf -24.88 0 Td -[(befor)18(e)]TJ -/T1_1 1 Tf -2.83 0 Td -[(any )-246(other )-246(operation )-246(is)]TJ --28.566 -1.2 Td -[(performed on the str)18(eam.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47156 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.19)]TJ -39.081 0 Td -[(File )-250(T)55(imes)]TJ -/T1_1 1 Tf -6.752 0 Td -(125)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(The)Tj -/TT0 1 Tf -1.941 0 Td -(ls)Tj -/T1_0 1 Tf -1.467 0 Td -[(command )-17(displays )-17(or )-17(sorts )-17(only )-17(on )-17(one )-17(of )-17(the )-17(thr)18(ee )-17(time )-17(values.)-517(By )-17(default,)]TJ --5.208 -1.2 Td -[(when )-15(invoked )-15(with )-15(either )-15(the)]TJ -/TT0 1 Tf -13.406 0 Td -(-l)Tj -/T1_0 1 Tf -1.465 0 Td -[(or )-15(the)]TJ -/TT0 1 Tf -2.858 0 Td -(-t)Tj -/T1_0 1 Tf -1.465 0 Td -[(option, )-15(it )-15(uses )-15(the )-15(modi\336cation )-15(time )-15(of )-15(a )-15(\336le.)]TJ --19.194 -1.2 Td -(The)Tj -/TT0 1 Tf -1.959 0 Td -(-u)Tj -/T1_0 1 Tf -1.486 0 Td -[(option )-35(causes )-35(the)]TJ -/TT0 1 Tf -8.009 0 Td -(ls)Tj -/T1_0 1 Tf -1.486 0 Td -[(command )-36(to )-36(use )-36(the )-36(access )-36(time, )-36(and )-36(the)]TJ -/TT0 1 Tf -18.523 0 Td -(-c)Tj -/T1_0 1 Tf -1.486 0 Td -[(option )-36(causes)]TJ --32.948 -1.2 Td -(it to use the changed-status time.)Tj -1.8 -1.2 Td -(Figur)Tj -0.2929 Tc 2.383 0 Td -(e4)Tj -0 Tc 1.272 0 Td -[(.20 )-43(summarizes )-43(the )-43(ef)18(fects )-43(of )-43(the )-43(various )-43(functions )-43(that )-43(we\325ve )-43(described )-43(on)]TJ --5.455 -1.2 Td -[(these )-122(thr)18(ee )-122(times.)-622(Recall )-122(fr)18(om )-122(Section )-122(4.14 )-122(that )-122(a )-122(dir)15(ectory )-122(is )-122(simply )-122(a )-122(\336le )-122(containing)]TJ -0 -1.2 TD -[(dir)18(ectory )-364(entries: )-364(\336lenames )-364(and )-364(associated )-364(i-node )-364(numbers.)-861(Adding, )-363(deleting, )-363(or)]TJ --0 -1.2 Td -[(modifying )-367(these )-367(dir)18(ectory )-367(entries )-367(can )-367(af)16(fect )-367(the )-367(thr)18(ee )-367(times )-367(associated )-367(with )-367(that)]TJ -T* -[(dir)18(ectory)]TJ -0.625 Tc 3.914 0 Td -(.T)Tj -0 Tc 1.488 0 Td -[(his )-125(is )-125(why )-125(Figur)]TJ -0.3749 Tc 7.492 0 Td -(e4)Tj -0 Tc 1.354 0 Td -[(.20 )-125(contains )-125(one )-125(column )-125(for )-125(the )-125(thr)18(ee )-125(times )-125(associated)]TJ --14.248 -1.2 Td -[(with )-144(the )-144(\336le )-144(or )-144(dir)18(ectory )-144(and )-144(another )-144(column )-144(for )-144(the )-144(thr)19(ee )-144(times )-144(associated )-144(with )-144(the)]TJ -T* -[(par)18(ent )-185(dir)18(ectory )-185(of )-185(the )-185(r)18(efer)18(enced )-185(\336le )-185(or )-185(dir)18(ectory)]TJ -0.6848 Tc 23.07 0 Td -(.F)Tj -0 Tc 1.491 0 Td -[(or )-185(example, )-185(cr)18(eating )-185(a )-185(new )-185(\336le)]TJ --24.561 -1.2 Td -[(af)18(fects )-56(the )-56(dir)18(ectory )-56(that )-56(contains )-56(the )-56(new )-56(\336le, )-56(and )-56(it )-56(af)22(fects )-56(the )-56(i-node )-56(for )-56(the )-56(new )-56(\336le.)]TJ -T* -[(Reading )-10(or )-10(writing )-10(a )-10(\336le, )-10(however)]TJ -0.26 Tc 15.134 0 Td -(,a)Tj --0.018 Tc 1.01 0 Td -(ff)Tj -0 Tc 0.648 0 Td -[(ects )-10(only )-10(the )-10(i-node )-10(of )-10(the )-10(\336le )-10(and )-10(has )-10(no )-10(ef)18(fect )-10(on)]TJ --16.792 -1.2 Td -[(the dir)18(ectory)111(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1376.25 4992.25 cm -0 0 m -3739 0 l -S -Q -Q -BT -/T1_0 1 Tf -6.9992 0 0 6.9992 322.4263 490.9411 Tm -[(Par)18(ent dir)18(ectory)]TJ --20.175 -1.429 Td -(Function )Tj -11.575 0 Td -[(Refer)18(enced \336le)-1919(of r)18(efer)18(enced \336le)-1790(Section )]TJ -27.786 0 Td -(Note)Tj --27.116 -1.429 Td -[(or dir)18(ectory )-3428(or)-250(dir)18(ectory)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2541.25 4672.25 cm -0 0 m -1245 0 l -S -Q -Q -BT -/T1_0 1 Tf -2.273 Tc 6.9987 0 0 6.9987 262.6607 458.9174 Tm -[(am )2495(c)-220(am )2495(c)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1376.25 4552.25 cm -0 0 m -3739 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1376.25 4532.25 cm -0 0 m -3739 0 l -S -Q -Q -BT -/TT0 1 Tf -0 Tc 6.9983 0 0 6.9983 141.1271 444.8932 Tm -(chmod)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.5 0 Td -(fchmod)Tj -/T1_0 1 Tf -12.0853 Tc 19.74 0 Td -(\2454)Tj -0 Tc 13.191 0 Td -(.9)Tj -/TT0 1 Tf --36.431 -1.429 Td -(chown)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.5 0 Td -(fchown)Tj -/T1_0 1 Tf -12.0853 Tc 19.74 0 Td -(\2454)Tj -0 Tc 13.191 0 Td -[(.1)55(1)]TJ -/TT0 1 Tf --36.431 -1.429 Td -(creat)Tj -/T1_0 1 Tf -2.3586 Tc 17.311 0 Td -[(\245\245\245 )-356(\245\245)]TJ -0 Tc 18.62 0 Td -(3.4)Tj -/TT0 1 Tf -4.012 0 Td -(O_CREAT)Tj -/T1_0 1 Tf -4.45 0 Td -(new \336le)Tj -/TT0 1 Tf --44.394 -1.429 Td -(creat)Tj -/T1_0 1 Tf -2.3586 Tc 20.275 0 Td -(\245\245 )Tj -15.656 0 Td -(3)Tj -0 Tc 0.5 0 Td -(.4)Tj -/TT0 1 Tf -3.512 0 Td -(O_TRUNC)Tj -/T1_0 1 Tf -4.45 0 Td -(existing \336le)Tj -/TT0 1 Tf --44.394 -1.429 Td -(exec)Tj -/T1_0 1 Tf -18.0144 Tc 17.311 0 Td -(\2458)Tj -0 Tc 19.12 0 Td -(.10)Tj -/TT0 1 Tf --36.431 -1.429 Td -(lchown)Tj -/T1_0 1 Tf -12.0853 Tc 23.24 0 Td -(\2454)Tj -0 Tc 13.191 0 Td -[(.1)55(1)]TJ -/TT0 1 Tf --36.431 -1.429 Td -(link)Tj -/T1_0 1 Tf -5.3231 Tc 23.24 0 Td -(\245\245)Tj -3.1916 Tc 8.894 0 Td -(\2454)Tj -0 Tc 4.298 0 Td -[(.15 )-2012(par)18(ent of second ar)18(gument)]TJ -/TT0 1 Tf --36.431 -1.429 Td -(mkdir)Tj -/T1_0 1 Tf -2.3586 Tc 17.311 0 Td -[(\245\245\245 )-356(\245\245)]TJ -0 Tc 18.62 0 Td -(4.21)Tj -/TT0 1 Tf --35.931 -1.429 Td -(mkfifo)Tj -/T1_0 1 Tf -2.3586 Tc 17.311 0 Td -[(\245\245\245 )-356(\245\245)]TJ -0 Tc 18.12 0 Td -(15.5)Tj -/TT0 1 Tf --35.431 -1.429 Td -(open)Tj -/T1_0 1 Tf -2.3586 Tc 17.311 0 Td -[(\245\245\245 )-356(\245\245)]TJ -0 Tc 18.62 0 Td -(3.3)Tj -/TT0 1 Tf -4.012 0 Td -(O_CREAT)Tj -/T1_0 1 Tf -4.45 0 Td -(new \336le)Tj -/TT0 1 Tf --44.394 -1.429 Td -(open)Tj -/T1_0 1 Tf -2.3586 Tc 20.275 0 Td -(\245\245 )Tj -15.656 0 Td -(3)Tj -0 Tc 0.5 0 Td -(.3)Tj -/TT0 1 Tf -3.512 0 Td -(O_TRUNC)Tj -/T1_0 1 Tf -4.45 0 Td -(existing \336le)Tj -/TT0 1 Tf --44.394 -1.429 Td -(pipe)Tj -/T1_0 1 Tf -2.3586 Tc 17.311 0 Td -(\245\245\245 )Tj -18.12 0 Td -(1)Tj -0 Tc 0.5 0 Td -(5.2)Tj -/TT0 1 Tf --35.931 -1.429 Td -(read)Tj -/T1_0 1 Tf -18.0144 Tc 17.311 0 Td -(\2453)Tj -0 Tc 19.12 0 Td -(.7)Tj -/TT0 1 Tf --36.431 -1.429 Td -(remove)Tj -/T1_0 1 Tf -5.3231 Tc 23.24 0 Td -(\245\245)Tj -3.1916 Tc 8.894 0 Td -(\2454)Tj -0 Tc 4.298 0 Td -[(.15 )-2012(r)18(emove \336le =)]TJ -/TT0 1 Tf -9.572 0 Td -(unlink)Tj --46.004 -1.429 Td -(remove)Tj -/T1_0 1 Tf -2.3586 Tc 29.169 0 Td -[(\245\245 )1776(4)]TJ -0 Tc 7.262 0 Td -[(.15 )-2012(r)18(emove dir)18(ectory =)]TJ -/TT0 1 Tf -12.222 0 Td -(rmdir)Tj --48.654 -1.429 Td -(rename)Tj -/T1_0 1 Tf -5.3231 Tc 23.24 0 Td -(\245\245)Tj -3.1916 Tc 8.894 0 Td -(\2454)Tj -0 Tc 4.298 0 Td -[(.16 )-2012(for)-250(both ar)18(guments)]TJ -/TT0 1 Tf --36.431 -1.429 Td -(rmdir)Tj -/T1_0 1 Tf -2.3586 Tc 29.169 0 Td -[(\245\245 )1776(4)]TJ -0 Tc 7.262 0 Td -(.21)Tj -/TT0 1 Tf --36.431 -1.429 Td -(truncate)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -5.3 0 Td -(ftruncate)Tj -/T1_0 1 Tf -2.3586 Tc 14.975 0 Td -(\245\245 )Tj -15.656 0 Td -(4)Tj -0 Tc 0.5 0 Td -(.13)Tj -/TT0 1 Tf --36.431 -1.429 Td -(unlink)Tj -/T1_0 1 Tf -5.3231 Tc 23.24 0 Td -(\245\245)Tj -3.1916 Tc 8.894 0 Td -(\2454)Tj -0 Tc 4.298 0 Td -(.15)Tj -/TT0 1 Tf --36.431 -1.429 Td -(utimes)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.1 0 Td -(utimensat)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -5.9 0 Td -(futimens)Tj -/T1_0 1 Tf -2.3586 Tc 7.311 0 Td -(\245\245\245 )Tj -18.62 0 Td -(4)Tj -0 Tc 0.5 0 Td -(.20)Tj -/TT0 1 Tf --36.431 -1.429 Td -(write)Tj -/T1_0 1 Tf -2.3586 Tc 20.275 0 Td -(\245\245 )Tj -15.656 0 Td -(3)Tj -0 Tc 0.5 0 Td -(.8)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1376.25 2412.25 cm -0 0 m -3739 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4155.25 2412.25 cm -0 0 m -0 2580 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3786.25 2412.25 cm -0 0 m -0 2580 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3163.25 2412.25 cm -0 0 m -0 2580 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2541.25 2412.25 cm -0 0 m -0 2580 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 5115.25 2412.25 cm -0 0 m -0 2580 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1376.25 2412.25 cm -0 0 m -0 2580 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 159.84 222.9331 Tm -(Figure 4.20)Tj -/T1_0 1 Tf -5.695 0 Td -[(Ef)18(fect of various functions on the access, modi\336cation, and changed-sta\ tus times)]TJ -9.997 0 0 9.997 129.5613 198.9403 Tm -(\(The)Tj -/TT0 1 Tf -2.777 0 Td -(mkdir)Tj -/T1_0 1 Tf -3.77 0 Td -(and)Tj -/TT0 1 Tf -2.463 0 Td -(rmdir)Tj -/T1_0 1 Tf -3.77 0 Td -[(functions )-520(ar)]TJ -0.7702 Tc 5.778 0 Td -(ec)Tj -0 Tc 1.693 0 Td -[(over)18(ed )-520(in )-520(Section )-520(4.21.)-1021(The)]TJ -/TT0 1 Tf -14.898 0 Td -(utimes)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf --35.15 -1.2 Td -(utimensat)Tj -/T1_0 1 Tf -0.2926 Tc (,a)Tj -0 Tc 6.443 0 Td -(nd)Tj -/TT0 1 Tf -1.486 0 Td -(futimens)Tj -/T1_0 1 Tf -5.093 0 Td -[(functions )-43(ar)]TJ -0.2926 Tc 5.301 0 Td -(ec)Tj -0 Tc 1.216 0 Td -[(over)18(ed )-43(in )-43(the )-43(next )-43(section.)-541(The )-42(seven)]TJ -/TT0 1 Tf -17.063 0 Td -(exec)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(functions )-39(ar)]TJ -0.2894 Tc 5.297 0 Td -(ed)Tj -0 Tc 1.379 0 Td -[(escribed )-39(in )-39(Section )-39(8.10.)]TJ --0.092 Tc 11.15 0 Td -[(We )-224(d)]TJ -0 Tc 2.288 0 Td -[(escribe )-39(the)]TJ -/TT0 1 Tf -5.031 0 Td -(mkfifo)Tj -/T1_0 1 Tf -3.889 0 Td -(and)Tj -/TT0 1 Tf -1.982 0 Td -(pipe)Tj -/T1_0 1 Tf -2.689 0 Td -[(functions )-39(in)]TJ --33.707 -1.2 Td -(Chapter 15.\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47157 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(86)Tj -/T1_1 1 Tf -3 0 Td -[(File )-250(I/O)]TJ -39.741 0 Td -[(Chapter )-250(3)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(If we add the line)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 651.191 Tm -(set_fl\(STDOUT_FILENO, O_SYNC\);)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 632.1223 Tm -[(to )-132(the )-132(beginning )-132(of )-132(the )-132(pr)18(ogram )-132(shown )-132(in )-132(Figur)]TJ -0.3821 Tc 22.136 0 Td -(e3)Tj -0 Tc 1.361 0 Td -[(.5, )-132(we\325ll )-132(turn )-132(on )-132(the )-132(synchr)18(onous-)]TJ --23.497 -1.2 Td -[(write )-165(\337ag.)-665(This )-165(causes )-165(each)]TJ -/TT0 1 Tf -13.354 0 Td -(write)Tj -/T1_1 1 Tf -3.415 0 Td -[(to )-165(wait )-165(for )-165(the )-165(data )-165(to )-165(be )-165(written )-165(to )-165(disk )-165(befor)16(e)]TJ --0.018 Tc -16.769 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turning. )-255(Normally)-255(in )-5(the )-5(UNIX )-5(System, )-5(a)]TJ -/TT0 1 Tf -18.728 0 Td -(write)Tj -/T1_1 1 Tf -3.255 0 Td -[(only )-5(queues )-5(the )-5(data )-5(for )-5(writing; )-5(the)]TJ --22.838 -1.2 Td -[(actual )-35(disk )-35(write )-35(operation )-35(can )-35(take )-35(place )-35(sometime )-35(later)]TJ -0.5351 Tc 25.347 0 Td -(.A)Tj -0 Tc 1.848 0 Td -[(database )-35(system )-35(is )-35(a )-35(likely)]TJ --27.195 -1.2 Td -[(candidate )-94(for )-94(using)]TJ -/TT0 1 Tf -9.108 0 Td -(O_SYNC)Tj -/T1_1 1 Tf -[(,)-344(so)-344(t)-1(hat )-94(it )-94(knows )-94(on )-94(r)18(eturn )-94(fr)18(om )-94(a)]TJ -/TT0 1 Tf -19.742 0 Td -(write)Tj -/T1_1 1 Tf -3.344 0 Td -[(that )-94(the )-94(data )-94(is)]TJ --32.194 -1.2 Td -[(actually on the disk, in case of an abnormal system failur)18(e.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-484(e)]TJ -0 Tc 2.416 0 Td -[(xpect )-300(the)]TJ -/TT0 1 Tf -4.853 0 Td -(O_SYNC)Tj -/T1_1 1 Tf -4.15 0 Td -[(\337ag )-300(to )-300(incr)18(ease )-300(the )-300(system )-300(and )-300(clock )-300(times )-300(when )-300(the)]TJ --13.219 -1.2 Td -[(pr)18(ogram )-62(r)8(uns. )-312(T)]TJ -0.3124 Tc 7.5 0 Td -(ot)Tj -0 Tc 1.184 0 Td -[(est )-62(this, )-62(we )-62(can )-62(r)8(un )-62(the )-62(pr)18(ogram )-62(in )-62(Figur)]TJ -0.3124 Tc 18.513 0 Td -(e3)Tj -0 Tc 1.291 0 Td -[(.5, )-62(copying )-62(492.6 )-62(MB )-62(of)]TJ --28.489 -1.2 Td -[(data )-157(fr)18(om )-157(one )-157(\336le )-157(on )-157(disk )-157(to )-157(another )-157(and )-157(compar)]TJ -0.4068 Tc 23.054 0 Td -(et)Tj -0 Tc 1.212 0 Td -[(his )-157(with )-157(a )-157(version )-157(that )-157(does )-157(the)]TJ --24.266 -1.2 Td -[(same )-69(thing )-69(with )-69(the)]TJ -/TT0 1 Tf -9.32 0 Td -(O_SYNC)Tj -/T1_1 1 Tf -3.919 0 Td -[(\337ag )-69(set.)-569(The )-69(r)18(esults )-69(fr)17(om )-69(a )-69(Linux )-69(system )-69(using )-69(the)]TJ -/TT0 1 Tf -23.36 0 Td -(ext4)Tj -/T1_1 1 Tf --36.6 -1.2 Td -(\336le system ar)Tj -0.25 Tc 5.844 0 Td -(es)Tj -0 Tc 1.153 0 Td -(hown in Figur)Tj -0.25 Tc 6.3 0 Td -(e3)Tj -0 Tc 1.229 0 Td -(.13.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1530.25 4897.25 cm -0 0 m -3431 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 350.278 481.7022 Tm -[(User CPU)-1500(System CPU)-1500(Clock time)]TJ -0.121 -1.25 Td -[(\(seconds\) )-2049(\(seconds\))-2479(\(seconds\))]TJ --15.201 0.625 Td -(Operation)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1530.25 4677.25 cm -0 0 m -3431 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1530.25 4657.25 cm -0 0 m -3431 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.018 Tc 7.9986 0 0 7.9986 157.0437 457.6776 Tm -(re)Tj -0 Tc 0.856 0 Td -[(ad time fr)18(om Figur)]TJ -0.25 Tc 8.362 0 Td -(e3)Tj -0 Tc 1.229 0 Td -(.6 for)Tj -/TT0 1 Tf -2.524 0 Td -(BUFFSIZE)Tj -/T1_1 1 Tf -0.25 Tc 5.05 0 Td -(=4)Tj -0 Tc 1.356 0 Td -[(,096 )-4112(0.03)-4726(0.58 )-4904(8.62)]TJ --19.377 -1.25 Td -(normal)Tj -/TT0 1 Tf -3.447 0 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -(to disk \336le)Tj -18.793 0 Td -[(0.00 )-4475(1.05)]TJ -13.38 0 Td -(9.70)Tj -/TT0 1 Tf --38.87 -1.25 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -(to disk \336le with)Tj -/TT0 1 Tf -7.162 0 Td -(O_SYNC)Tj -/T1_1 1 Tf -3.85 0 Td -(set )Tj -11.227 0 Td -[(0.02)-4726(1.09 )-4404(10.28)]TJ -/TT0 1 Tf --25.489 -1.25 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -(to disk followed by)Tj -/TT0 1 Tf -8.794 0 Td -(fdatasync)Tj -/T1_1 1 Tf -13.445 0 Td -[(0.02 )-4475(1.14)-4655(17.93)]TJ -/TT0 1 Tf --25.489 -1.25 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -(to disk followed by)Tj -/TT0 1 Tf -8.794 0 Td -(fsync)Tj -/T1_1 1 Tf -13.445 0 Td -[(0.00 )-4475(1.19)-4655(18.17)]TJ -/TT0 1 Tf --25.489 -1.25 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -(to disk with)Tj -/TT0 1 Tf -5.537 0 Td -(O_SYNC)Tj -/T1_1 1 Tf -3.85 0 Td -(set followed by)Tj -/TT0 1 Tf -7.019 0 Td -(fsync)Tj -/T1_1 1 Tf -5.833 0 Td -[(0.02 )-4475(1.15)-4655(17.88)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1530.25 4037.25 cm -0 0 m -3431 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4479.25 4037.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3916.25 4037.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3443.25 4037.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4961.25 4037.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1530.25 4037.25 cm -0 0 m -0 860 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 177.7493 385.6674 Tm -(Figure 3.13)Tj -/T1_1 1 Tf -5.695 0 Td -(Linux)Tj -/TT0 1 Tf -2.853 0 Td -(ext4)Tj -/T1_1 1 Tf -2.65 0 Td -[(timing r)18(esults using various synchr)18(onization mechanisms)]TJ -9.9976 0 0 9.9976 147.5646 358.074 Tm -[(The )-20(six )-20(r)18(ows )-20(in )-20(Figur)]TJ -0.2698 Tc 9.421 0 Td -(e3)Tj -0 Tc 1.249 0 Td -[(.13 )-20(wer)]TJ -0.2699 Tc 3.21 0 Td -(ea)Tj -0 Tc 1.249 0 Td -[(ll )-20(measur)18(ed )-20(with )-20(a)]TJ -/TT0 1 Tf -8.551 0 Td -(BUFFSIZE)Tj -/T1_1 1 Tf -5.07 0 Td -[(of )-20(4,096 )-20(bytes.)-520(The)]TJ --0.018 Tc -30.549 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sults )-450(in )-450(Figur)]TJ -0.6997 Tc 6.723 0 Td -(e3)Tj -0 Tc 1.679 0 Td -[(.6 )-450(wer)]TJ -0.6997 Tc 3.14 0 Td -(em)Tj -0 Tc 2.062 0 Td -[(easur)18(ed )-450(while )-450(r)18(eading )-450(a )-450(disk )-450(\336le )-450(and )-450(writing )-450(to)]TJ -/TT0 1 Tf --14.459 -1.2 Td -(/dev/null)Tj -/T1_1 1 Tf -[(,)-254(so)-254(t)-1(her)]TJ -0.2543 Tc 8.893 0 Td -(ew)Tj -0 Tc 1.567 0 Td -[(as )-4(no )-4(disk )-4(output.)-505(The )-4(second )-4(r)18(ow )-4(in )-4(Figur)]TJ -0.2544 Tc 19.247 0 Td -(e3)Tj -0 Tc 1.233 0 Td -[(.13 )-4(corr)18(esponds )-4(to)]TJ --0.018 Tc -30.94 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading )-145(a )-145(disk )-145(\336le )-145(and )-145(writing )-145(to )-145(another )-145(disk )-145(\336le.)-650(This )-145(is )-145(why )-145(the )-145(\336rst )-145(and )-145(second)]TJ --0.018 Tc -0.856 -1.2 Td -(ro)Tj -0 Tc 0.923 0 Td -[(ws )-121(in )-121(Figur)]TJ -0.3714 Tc 5.257 0 Td -(e3)Tj -0 Tc 1.35 0 Td -[(.13 )-121(ar)]TJ -0.3714 Tc 2.498 0 Td -(ed)Tj -0 Tc 1.461 0 Td -[(if)18(fer)18(ent. )-371(The)-372(system )-121(time )-121(incr)18(eases )-121(when )-121(we )-121(write )-121(to )-121(a )-121(disk)]TJ --11.49 -1.2 Td -[(\336le, )-99(because )-99(the )-99(kernel )-99(now )-99(copies )-99(the )-99(data )-99(fr)18(om )-99(our )-99(pr)17(ocess )-99(and )-99(queues )-99(the )-99(data )-99(for)]TJ -0 -1.2 TD -[(writing )-58(by )-58(the )-58(disk )-58(driver)]TJ -0.5577 Tc 11.546 0 Td -(.W)Tj -0.3077 Tc 1.716 0 Td -(ee)Tj -0 Tc 1.266 0 Td -[(xpect )-58(the )-58(clock )-58(time )-58(to )-58(incr)18(ease )-58(as )-58(well )-58(when )-58(we )-58(write)]TJ --14.527 -1.2 Td -(to a disk \336le.)Tj -1.8 -1.2 Td -[(When )-132(we )-132(enable )-132(synchr)18(onous )-132(writes, )-132(the )-132(system )-132(and )-132(clock )-132(times )-132(should )-132(incr)14(ease)]TJ --1.8 -1.2 Td -(signi\336cantly)Tj -0.5485 Tc 5.337 0 Td -(.A)Tj -0.2985 Tc 1.576 0 Td -(st)Tj -0 Tc 1.049 0 Td -[(he )-48(thir)]TJ -0.2985 Tc 2.936 0 Td -(dr)Tj -0 Tc 1.286 0 Td -[(ow )-48(shows, )-48(the )-48(system )-48(time )-48(for )-48(writing )-48(synchr)15(onously )-49(is )-49(not)]TJ --12.184 -1.2 Td -[(much )-75(mor)]TJ -0.3247 Tc 4.643 0 Td -(ee)Tj -0 Tc 1.283 0 Td -[(xpensive )-75(than )-75(when )-75(we )-75(used )-75(delayed )-75(writes.)-575(This )-75(implies )-75(that )-75(the )-75(Linux)]TJ --5.925 -1.2 Td -[(operating )-237(system )-237(is )-237(doing )-237(the )-237(same )-237(amount )-237(of )-237(work )-237(for )-237(delayed )-237(and )-237(synchr)14(onous)]TJ -T* -[(writes )-11(\(which )-11(is )-11(unlikely\), )-11(or )-11(else )-11(the)]TJ -/TT0 1 Tf -16.592 0 Td -(O_SYNC)Tj -/T1_1 1 Tf -3.861 0 Td -[(\337ag )-11(isn\325t )-11(having )-11(the )-11(desir)17(ed )-11(ef)18(fect. )-261(In)-261(this)]TJ --20.453 -1.2 Td -[(case, )-55(the )-55(Linux )-55(operating )-55(system )-55(isn\325t )-55(allowing )-55(us )-55(to )-55(set )-55(the)]TJ -/TT0 1 Tf -27.115 0 Td -(O_SYNC)Tj -/T1_1 1 Tf -3.905 0 Td -[(\337ag )-55(using)]TJ -/TT0 1 Tf -4.73 0 Td -(fcntl)Tj -/T1_1 1 Tf -(,)Tj --35.75 -1.2 Td -[(instead )-165(failing )-165(without )-165(r)18(eturning )-165(an )-165(err)16(or )-165(\(but )-165(it )-165(would )-165(have )-165(honor)18(ed )-165(the )-165(\337ag )-165(if )-165(we)]TJ -T* -(wer)Tj -0.25 Tc 1.69 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ble to specify it when the \336le was opened\).)Tj --1.119 -1.2 Td -[(The )-45(clock )-45(time )-45(in )-45(the )-45(last )-45(thr)16(ee )-45(r)18(ows )-45(r)18(e\337ects )-45(the )-45(extra )-45(time )-45(needed )-45(to )-45(wait )-45(for )-45(all )-45(of)]TJ --1.8 -1.2 Td -[(the )-44(writes )-44(to )-44(be )-44(committed )-44(to )-44(disk.)-545(After )-44(writing )-44(a )-44(\336le )-44(synchr)18(onously)111(,)-294(we)-294(expect )-44(that )-44(a)]TJ --0 -1.2 Td -[(call )-115(to)]TJ -/TT0 1 Tf -3.129 0 Td -(fsync)Tj -/T1_1 1 Tf -3.366 0 Td -[(will )-115(have )-115(no )-115(ef)17(fect. )-366(This)-365(case )-116(is )-116(supposed )-116(to )-116(be )-116(r)20(epr)18(esented )-116(by )-116(the )-116(last)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47158 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(3.6)]TJ -/TT0 1 Tf -36.903 0 Td -(lseek)Tj -/T1_0 1 Tf -3.5 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(69)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(if \(lseek\(fd, 16384, SEEK_SET\) == -1\))Tj -2.4 -1.189 Td -(err_sys\("lseek error"\);)Tj --2.4 -1.189 Td -(/* offset now = 16384 */)Tj -0 -2.021 TD -(if \(write\(fd, buf2, 10\) != 10\))Tj -2.4 -1.189 Td -(err_sys\("buf2 write error"\);)Tj --2.4 -1.189 Td -(/* offset now = 16394 */)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5756.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 254.1255 559.5518 Tm -(Figure 3.2)Tj -/T1_0 1 Tf -5.195 0 Td -[(Cr)18(eate a \336le with a hole in it)]TJ -9.9988 0 0 9.9988 129.5846 535.5547 Tm -[(Running this pr)18(ogram gives us)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5825 517.787 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l file.hole)Tj -/T1_2 1 Tf -18.8 0 Td -(check its size)Tj -/TT0 1 Tf --20 -1.189 Td -[(-rw-r--r-- )-600(1)-600(sar )-3600(16394)-600(Nov 25 01:01 file.hole)]TJ -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(od -c file.hole)Tj -/T1_2 1 Tf -18.8 0 Td -(let\325)Tj -0.25 Tc 1.223 0 Td -(sl)Tj -0 Tc 0.917 0 Td -(ook at the actual contents)Tj -/TT0 1 Tf --22.14 -1.189 Td -[(0000000 )-1200(a)]TJ -1.2 Tc 7.8 0 Td -(bcdefghij)Tj -0 Tc 15.6 0 Td -(\\0 \\0 \\0 \\0 \\0 \\0)Tj --23.4 -1.189 Td -[(0000020 )-600(\\0)-600(\\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0 \\0)]TJ -0 -1.189 TD -(*)Tj -0 -1.189 TD -[(0040000 )-1200(A)]TJ -1.2 Tc 7.8 0 Td -(BCDEFGHIJ)Tj -0 Tc -7.8 -1.189 Td -(0040012)Tj -/T1_0 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5847 413.1292 Tm -[(We )-197(u)]TJ -0 Tc 2.253 0 Td -[(se )-13(the)]TJ -/TT0 1 Tf -2.816 0 Td -(od)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.596 -0.04 Td -[(command )-13(to )-13(look )-13(at )-13(the )-13(contents )-13(of )-13(the )-13(\336le.)-514(The)]TJ -/TT0 1 Tf -21.628 0 Td -(-c)Tj -/T1_0 1 Tf -1.463 0 Td -[(\337ag )-13(tells )-13(it )-13(to )-13(print)]TJ --30.789 -1.2 Td -[(the )-88(contents )-88(as )-88(characters.)]TJ --0.092 Tc 12.361 0 Td -[(We )-272(c)]TJ -0 Tc 2.169 0 Td -[(an )-88(see )-88(that )-88(the )-88(unwritten )-88(bytes )-88(in )-88(the )-88(middle )-88(ar)]TJ -0.338 Tc 21.686 0 Td -(er)Tj -0 Tc 1.194 0 Td -(ead)Tj --37.41 -1.2 Td -[(back )-62(as )-62(zer)18(o. )-312(The)-312(seven-digit )-62(number )-62(at )-62(the )-62(beginning )-62(of )-62(each )-62(line )-62(is )-62(the )-62(byte )-62(of)18(fset )-62(in)]TJ -0 -1.2 TD -(octal.)Tj --0.092 Tc 1.8 -1.2 Td -[(To )-263(p)]TJ --0.018 Tc 1.997 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(ve )-79(that )-79(ther)18(e)-329(is)-329(r)18(eally )-79(a )-79(hole )-79(in )-79(the )-79(\336le, )-79(let\325s )-79(compar)]TJ -0.3288 Tc 23.279 0 Td -(et)Tj -0 Tc 1.134 0 Td -[(he )-79(\336le )-79(we )-79(just )-79(cr)18(eated)]TJ --29.132 -1.2 Td -(with a \336le of the same size, but without holes:)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 335.3687 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -ls file.hole file.nohole)Tj -/T1_2 1 Tf -19.2 0 Td -(compar)Tj -0.25 Tc 2.944 0 Td -(es)Tj -0 Tc 1.028 0 Td -(izes)Tj -/TT0 1 Tf -0.6 Tc -23.172 -1.189 Td -(8-)Tj -0 Tc 1.8 0 Td -[(rw-r--r-- )-600(1)-600(sar )-3600(16394)-600(Nov 25 01:01 file.hole)]TJ --2.4 -1.189 Td -(20 -rw-r--r--)Tj -0.6 Tc 9 0 Td -(1s)Tj -0 Tc 1.8 0 Td -[(ar )-3600(16394)-600(Nov 25 01:03 file.nohole)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5845 294.9036 Tm -[(Although )-110(both )-110(\336les )-110(ar)]TJ -0.3596 Tc 10.026 0 Td -(et)Tj -0 Tc 1.165 0 Td -[(he )-110(same )-110(size, )-110(the )-110(\336le )-110(without )-110(holes )-110(consumes )-110(20 )-110(disk )-110(blocks,)]TJ --11.19 -1.2 Td -[(wher)18(eas the \336le with holes consumes only 8 blocks.)]TJ -1.8 -1.2 Td -[(In )-115(this )-115(example, )-115(we )-115(call )-115(the)]TJ -/TT0 1 Tf -12.956 0 Td -(write)Tj -/T1_0 1 Tf -3.365 0 Td -[(function )-115(\(Section )-115(3.8\).)]TJ --0.092 Tc 10.41 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-115(have )-115(mor)18(e)-365(to)-365(say)]TJ --29.918 -1.2 Td -(about \336les with holes in Section 4.12.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2589.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 147.5734 231.2974 Tm -[(Because )-513(the )-513(of)18(fset )-513(addr)18(ess )-513(that)]TJ -/TT0 1 Tf -16.323 0 Td -(lseek)Tj -/T1_0 1 Tf -3.763 0 Td -[(uses )-513(is )-513(r)19(epr)18(esented )-513(by )-513(an)]TJ -/TT0 1 Tf -13.864 0 Td -(off_t)Tj -/T1_0 1 Tf -(,)Tj --35.75 -1.2 Td -[(implementations )-14(ar)]TJ -0.2643 Tc 8.625 0 Td -(ea)Tj -0 Tc 1.243 0 Td -[(llowed )-14(to )-14(support )-14(whatever )-14(size )-14(is )-14(appr)16(opriate )-14(on )-14(their )-14(particular)]TJ --9.869 -1.2 Td -[(platform. )-265(Most)-266(platforms )-15(today )-15(pr)18(ovide )-15(two )-15(sets )-15(of )-15(interfaces )-15(to )-15(manipulate )-15(\336le )-15(of)15(fsets:)]TJ -0 -1.2 Td -(one set that uses 32)Tj -8.5 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit \336le of)18(fsets and another set that uses 64)]TJ -18.388 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit \336le of)18(fsets.)]TJ --25.754 -1.2 Td -[(The )-65(Single )-65(UNIX )-65(Speci\336cation )-65(pr)16(ovides )-65(a )-65(way )-65(for )-65(applications )-65(to )-65(determine )-65(which)]TJ --1.8 -1.2 Td -[(envir)18(onments )-110(ar)]TJ -0.3605 Tc 7.353 0 Td -(es)Tj -0 Tc 1.264 0 Td -[(upported )-110(thr)18(ough )-110(the)]TJ -/TT0 1 Tf -10.203 0 Td -(sysconf)Tj -/T1_0 1 Tf -4.561 0 Td -[(function )-110(\(Section )-110(2.5.4\).)-611(Figur)]TJ -0.3605 Tc 13.531 0 Td -(e3)Tj -0 Tc 1.339 0 Td -(.3)Tj --38.25 -1.2 Td -(summarizes the)Tj -/TT0 1 Tf -7.269 0 Td -(sysconf)Tj -/T1_0 1 Tf -4.45 0 Td -(constants that ar)Tj -0.25 Tc 7.265 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(e\336ned.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47159 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(68)Tj -/T1_1 1 Tf -3 0 Td -[(File )-250(I/O)]TJ -39.741 0 Td -[(Chapter )-250(3)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(If we invoke this pr)18(ogram interactively)111(,)-250(we)-250(get)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 652.2609 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out < /etc/passwd)Tj -/TT0 1 Tf --1.2 -1.189 Td -(seek OK)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(cat < /etc/passwd | ./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(cannot seek)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out < /var/spool/cron/FIFO)Tj -/TT0 1 Tf --1.2 -1.189 Td -(cannot seek)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5915.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 567.4319 Tm -(Normally)Tj -0.5169 Tc 4.182 0 Td -(,a\336)Tj -0 Tc 2.389 0 Td -[(le\325s )-267(curr)18(ent )-267(of)18(fset )-267(must )-267(be )-267(a )-267(non-negative )-267(integer)]TJ -0.7668 Tc 23.342 0 Td -(.I)Tj -0 Tc 1.354 0 Td -[(t)-517(is)-517(possible,)]TJ --33.066 -1.2 Td -(however)Tj -0.4472 Tc 3.806 0 Td -(,t)Tj -0 Tc 1.023 0 Td -[(hat )-197(certain )-197(devices )-197(could )-197(allow )-197(negative )-197(of)17(fsets. )-447(But)-448(for )-197(r)18(egular )-197(\336les, )-197(the)]TJ --4.829 -1.2 Td -[(of)18(fset )-15(must )-15(be )-15(non-negative.)-515(Because )-15(negative )-15(of)18(fsets )-15(ar)]TJ -0.2649 Tc 24.909 0 Td -(ep)Tj -0 Tc 1.345 0 Td -[(ossible, )-15(we )-15(should )-15(be )-15(car)18(eful)]TJ --26.253 -1.2 Td -[(to )-138(compar)]TJ -0.3878 Tc 4.611 0 Td -(et)Tj -0 Tc 1.193 0 Td -[(he )-138(r)18(eturn )-138(value )-138(fr)19(om)]TJ -/TT0 1 Tf -9.951 0 Td -(lseek)Tj -/T1_1 1 Tf -3.388 0 Td -[(as )-138(being )-138(equal )-138(to )-138(or )-138(not )-138(equal )-138(to)]TJ -/TT2 1 Tf -15.493 0 Td -(!)Tj -/T1_1 1 Tf -[(1, )-138(rather)]TJ --34.636 -1.2 Td -(than testing whether it is less than 0.)Tj -7.999 0 0 7.999 183.5779 501.4398 Tm -(The)Tj -/TT0 1 Tf -1.924 0 Td -(/dev/kmem)Tj -/T1_1 1 Tf -5.65 0 Td -[(device on Fr)18(eeBSD for the Intel x86 pr)18(ocessor supports negative of)18(fsets.)]TJ --7.574 -1.75 Td -[(Because )-176(the )-176(of)18(fset )-176(\()]TJ -/TT0 1 Tf -8.96 0 Td -(off_t)Tj -/T1_1 1 Tf -[(\))-426(is)-426(a)-426(s)1(igned )-176(data )-176(type )-176(\(Figur)]TJ -0.4258 Tc 16.66 0 Td -(e2)Tj -0 Tc 1.405 0 Td -[(.21\), )-176(we )-176(lose )-176(a )-176(factor )-176(of )-176(2 )-176(in )-176(the)]TJ --27.025 -1.25 Td -[(maximum \336le size.)-500(If)]TJ -/TT0 1 Tf -9.798 0 Td -(off_t)Tj -/T1_1 1 Tf -3.25 0 Td -(is a 32)Tj -2.715 0.09 Td -(-)Tj -0.333 -0.09 Td -(bit integer)Tj -0.25 Tc 4.454 0 Td -(,t)Tj -0 Tc 0.826 0 Td -(he maximum \336le size is 2)Tj -4.9994 0 0 4.9994 443.7862 481.4422 Tm -(31)Tj -/TT2 1 Tf -7.999 0 0 7.999 448.7856 477.4427 Tm -(!)Tj -/T1_1 1 Tf -0.25 Tc (1b)Tj -0 Tc 1.852 0 Td -(ytes.)Tj -/TT0 1 Tf -9.9988 0 0 9.9988 147.5818 459.4449 Tm -(lseek)Tj -/T1_1 1 Tf -3.316 0 Td -[(only )-66(r)18(ecor)18(ds )-66(the )-66(curr)17(ent )-67(\336le )-67(of)18(fset )-67(within )-67(the )-67(kernel)]TJ -0.0833 Tc 23.315 0 Td -(\321i)Tj -0.3166 Tc 1.374 0 Td -(td)Tj -0 Tc 1.254 0 Td -[(oes )-67(not )-67(cause )-67(any)]TJ --31.059 -1.2 Td -[(I/O to take place.)-500(This of)18(fset is then used by the next r)18(ead or write operation.)]TJ -1.8 -1.2 Td -[(The )-151(\336le\325s )-151(of)18(fset )-151(can )-151(be )-151(gr)18(eater )-151(than )-151(the )-151(\336le\325s )-151(curr)18(ent )-151(size, )-151(in )-151(which )-151(case )-151(the )-151(next)]TJ -/TT0 1 Tf --1.8 -1.2 Td -(write)Tj -/T1_1 1 Tf -3.267 0 Td -[(to )-17(the )-17(\336le )-17(will )-17(extend )-17(the )-17(\336le.)-517(This )-17(is )-17(r)16(eferr)18(ed )-17(to )-17(as )-17(cr)18(eating )-17(a )-17(hole )-17(in )-17(a )-17(\336le )-17(and )-17(is)]TJ --3.267 -1.2 Td -[(allowed. )-250(Any)-250(bytes in a \336le that have not been written ar)]TJ -0.25 Tc 25.321 0 Td -(er)Tj -0 Tc 1.106 0 Td -(ead back as 0.)Tj -0.2997 Tc -24.627 -1.2 Td -(Ah)Tj -0 Tc 1.66 0 Td -[(ole )-50(in )-50(a )-50(\336le )-50(isn\325t )-50(r)20(equir)18(ed )-50(to )-50(have )-50(storage )-50(backing )-50(it )-50(on )-50(disk.)-548(Depending )-50(on )-50(the)]TJ --3.46 -1.2 Td -[(\336le )-143(system )-143(implementation, )-143(when )-143(you )-143(write )-143(after )-143(seeking )-143(past )-143(the )-143(end )-143(of )-143(a )-143(\336le, )-143(new)]TJ -0 -1.2 TD -[(disk )-137(blocks )-137(might )-137(be )-137(allocated )-137(to )-137(stor)]TJ -0.3874 Tc 17.223 0 Td -(et)Tj -0 Tc 1.192 0 Td -[(he )-137(data, )-137(but )-137(ther)17(e)-387(is)-387(n)]TJ -0.3873 Tc 10.207 0 Td -(on)Tj -0 Tc 1.515 0 Td -[(eed )-137(to )-137(allocate )-137(disk)]TJ --30.138 -1.2 Td -(blocks for the data between the old end of \336le and the location wher)Tj -0.25 Tc 30.033 0 Td -(ey)Tj -0 Tc 1.285 0 Td -(ou start writing.)Tj -/TT3 1 Tf --34.918 -2.16 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.04 Td -[(The pr)18(ogram shown in Figur)]TJ -0.25 Tc 12.756 0 Td -(e3)Tj -0 Tc 1.229 0 Td -[(.2 cr)18(eates a \336le with a hole in it.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3143.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 304.7441 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -[(char )-1800(buf1[])]TJ -0.6 Tc 9 0 Td -(=")Tj -0 Tc 1.8 0 Td -(abcdefghij";)Tj --10.8 -1.189 Td -[(char )-1800(buf2[])]TJ -0.6 Tc 9 0 Td -(=")Tj -0 Tc 1.8 0 Td -(ABCDEFGHIJ";)Tj --10.8 -2.021 Td -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(fd;)]TJ -0 -2.021 TD -(if \(\(fd = creat\("file.hole", FILE_MODE\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("creat error"\);)Tj --2.4 -2.021 Td -(if \(write\(fd, buf1, 10\) != 10\))Tj -2.4 -1.189 Td -(err_sys\("buf1 write error"\);)Tj --2.4 -1.189 Td -(/* offset now = 10 */)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47160 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(64)Tj -/T1_1 1 Tf -3 0 Td -[(File )-250(I/O)]TJ -39.741 0 Td -[(Chapter )-250(3)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(O_TTY_INIT)Tj -/T1_1 1 Tf -7.2 0 Td -[(When )-306(opening )-306(a )-306(terminal )-306(device )-306(that )-306(is )-306(not )-306(alr)20(eady )-306(open, )-306(set )-306(the)]TJ -0 -1.2 TD -[(nonstandar)18(d)]TJ -/TT0 1 Tf -5.918 0 Td -(termios)Tj -/T1_1 1 Tf -4.477 0 Td -[(parameters )-27(to )-27(values )-27(that )-27(r)19(esult )-27(in )-27(behavior )-27(that)]TJ --10.395 -1.2 Td -[(conforms )-163(to )-163(the )-163(Single )-163(UNIX )-163(Speci\336cation.)]TJ --0.092 Tc 20.364 0 Td -[(We )-348(d)]TJ -0 Tc 2.412 0 Td -[(iscuss )-164(the)]TJ -/TT0 1 Tf -4.824 0 Td -(termios)Tj -/T1_1 1 Tf --27.6 -1.2 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ew)Tj -0 Tc 1.563 0 Td -(hen we discuss terminal I/O in Chapter 18.)Tj --12.253 -2.04 Td -[(The )-51(following )-51(two )-51(\337ags )-51(ar)]TJ -0.3013 Tc 11.82 0 Td -(ea)Tj -0 Tc 1.28 0 Td -[(lso )-51(optional.)-551(They )-51(ar)]TJ -0.3013 Tc 9.455 0 Td -(ep)Tj -0 Tc 1.381 0 Td -[(art )-51(of )-51(the )-51(synchr)17(onized )-51(input )-51(and)]TJ --23.937 -1.2 Td -(output option of the Single UNIX Speci\336cation \(and thus POSIX.1\).)Tj -/TT0 1 Tf -0 -2.28 TD -(O_DSYNC)Tj -/T1_1 1 Tf -7.2 0 Td -[(Have )-46(each)]TJ -/TT0 1 Tf -4.973 0 Td -(write)Tj -/T1_1 1 Tf -3.296 0 Td -[(wait )-46(for )-46(physical )-46(I/O )-46(to )-46(complete, )-46(but )-46(don\325t )-46(wait )-46(for)]TJ --8.27 -1.2 Td -[(\336le )-122(attributes )-122(to )-122(be )-122(updated )-122(if )-122(they )-122(don\325t )-122(af)16(fect )-122(the )-122(ability )-122(to )-122(r)18(ead )-122(the)]TJ -0 -1.2 TD -(data just written.)Tj -7.9995 0 0 7.9995 219.587 533.768 Tm -(The)Tj -/TT0 1 Tf -1.972 0 Td -(O_DSYNC)Tj -/T1_1 1 Tf -4.498 0 Td -(and)Tj -/TT0 1 Tf -1.991 0 Td -(O_SYNC)Tj -/T1_1 1 Tf -3.898 0 Td -[(\337ags )-48(ar)]TJ -0.2976 Tc 3.263 0 Td -(es)Tj -0 Tc 1.201 0 Td -(imilar)Tj -0.2976 Tc 2.577 0 Td -(,b)Tj -0 Tc 1.101 0 Td -[(ut )-48(subtly )-48(dif)19(fer)18(ent. )-298(The)]TJ -/TT0 1 Tf -10.84 0 Td -(O_DSYNC)Tj -/T1_1 1 Tf -4.498 0 Td -(\337ag)Tj --35.836 -1.25 Td -[(af)18(fects )-13(a )-13(\336le\325s )-13(attributes )-13(only )-13(when )-13(they )-13(need )-13(to )-13(be )-13(updated )-13(to )-13(r)18(e\337ect )-13(a )-13(change )-13(in )-13(the)]TJ -0 -1.25 TD -[(\336le\325s )-24(data )-24(\(for )-24(example, )-24(update )-24(the )-24(\336le\325s )-24(size )-24(to )-24(r)18(e\337ect )-24(mor)]TJ -0.2736 Tc 26.025 0 Td -(ed)Tj -0 Tc 1.364 0 Td -[(ata\). )-274(W)55(ith )-24(the)]TJ -/TT0 1 Tf -6.511 0 Td -(O_SYNC)Tj -/T1_1 1 Tf --33.9 -1.25 Td -[(\337ag, )-115(data )-115(and )-115(attributes )-115(ar)]TJ -0.3654 Tc 12.106 0 Td -(ea)Tj -0 Tc 1.344 0 Td -[(lways )-115(updated )-115(synchr)17(onously)]TJ -0.6154 Tc 13.469 0 Td -(.W)Tj -0 Tc 1.865 0 Td -[(hen )-115(overwriting )-115(an)]TJ --28.785 -1.25 Td -[(existing )-204(part )-204(of )-204(a )-204(\336le )-204(opened )-204(with )-204(the)]TJ -/TT0 1 Tf -18.392 0 Td -(O_DSYNC)Tj -/T1_1 1 Tf -4.654 0 Td -[(\337ag, )-204(the )-204(\336le )-204(times )-204(wouldn\325t )-204(be)]TJ --23.046 -1.25 Td -[(updated )-22(synchr)18(onously)]TJ -0.5216 Tc 10.405 0 Td -(.I)Tj -0.2716 Tc 1.109 0 Td -(nc)Tj -0 Tc 1.298 0 Td -[(ontrast, )-22(if )-22(we )-22(had )-22(opened )-22(the )-22(\336le )-22(with )-22(the)]TJ -/TT0 1 Tf -18.904 0 Td -(O_SYNC)Tj -/T1_1 1 Tf -3.871 0 Td -(\337ag,)Tj --35.586 -1.25 Td -(every)Tj -/TT0 1 Tf -2.93 0 Td -(write)Tj -/T1_1 1 Tf -3.456 0 Td -[(to )-206(the )-206(\336le )-206(would )-206(update )-206(the )-206(\336le\325s )-206(times )-206(befor)]TJ -0.4563 Tc 21.443 0 Td -(et)Tj -0 Tc 1.261 0 Td -(he)Tj -/TT0 1 Tf -1.517 0 Td -(write)Tj -/T1_1 1 Tf --0.018 Tc 3.456 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns,)Tj --0.018 Tc -34.92 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(gar)18(dless of whether we wer)]TJ -0.25 Tc 12.221 0 Td -(ew)Tj -0 Tc 1.563 0 Td -(riting over existing bytes or appending to the \336le.)Tj -/TT0 1 Tf -9.9994 0 0 9.9994 129.5923 439.7736 Tm -(O_RSYNC)Tj -/T1_1 1 Tf -7.2 0 Td -[(Have )-20(each)]TJ -/TT0 1 Tf -4.921 0 Td -(read)Tj -/T1_1 1 Tf -2.67 0 Td -[(operation )-20(on )-20(the )-20(\336le )-20(descriptor )-20(wait )-20(until )-20(any )-20(pending)]TJ --7.59 -1.2 Td -(writes for the same portion of the \336le ar)Tj -0.25 Tc 17.501 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(omplete.)Tj -7.9995 0 0 7.9995 219.587 407.7755 Tm -[(Solaris )-98(10 )-98(supports )-98(all )-98(thr)18(ee )-98(synchr)18(onization )-98(\337ags.)-596(Historically)]TJ -0.3479 Tc 28.444 0 Td -(,F)Tj --0.018 Tc 1.154 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD )-98(\(and )-98(thus)]TJ --30.454 -1.25 Td -[(Mac )-104(OS )-104(X\) )-104(have )-104(used )-104(the)]TJ -/TT0 1 Tf -11.956 0 Td -(O_FSYNC)Tj -/T1_1 1 Tf -4.554 0 Td -[(\337ag, )-104(which )-104(has )-104(the )-104(same )-104(behavior )-104(as)]TJ -/TT0 1 Tf -17.14 0 Td -(O_SYNC)Tj -/T1_1 1 Tf -(.)Tj --33.65 -1.25 Td -[(Because )-104(the )-104(two )-104(\337ags )-104(ar)]TJ -0.3545 Tc 11.016 0 Td -(ee)Tj -0 Tc 1.312 0 Td -[(quivalent, )-105(they )-105(de\336ne )-105(the )-105(\337ags )-105(to )-105(have )-105(the )-105(same )-105(value.)]TJ --12.329 -1.25 Td -[(Fr)18(eeBSD )-190(8.0 )-190(doesn\325t )-190(support )-190(the)]TJ -/TT0 1 Tf -15.379 0 Td -(O_DSYNC)Tj -/T1_1 1 Tf -4.64 0 Td -(or)Tj -/TT0 1 Tf -1.381 0 Td -(O_RSYNC)Tj -/T1_1 1 Tf -4.64 0 Td -[(\337ags. )-440(Mac)-439(OS )-190(X )-190(doesn\325t)]TJ --26.039 -1.25 Td -[(support )-57(the)]TJ -/TT0 1 Tf -5.498 0 Td -(O_RSYNC)Tj -/T1_1 1 Tf -4.507 0 Td -[(\337ag, )-57(but )-57(de\336nes )-57(the)]TJ -/TT0 1 Tf -9.192 0 Td -(O_DSYNC)Tj -/T1_1 1 Tf -4.507 0 Td -[(\337ag, )-57(tr)18(eating )-57(it )-57(the )-57(same )-57(as )-57(the)]TJ -/TT0 1 Tf --23.704 -1.25 Td -(O_SYNC)Tj -/T1_1 1 Tf -3.979 0 Td -[(\337ag. )-379(Linux)-379(3.2.0 )-129(supports )-129(the)]TJ -/TT0 1 Tf -13.969 0 Td -(O_DSYNC)Tj -/T1_1 1 Tf -4.579 0 Td -[(\337ag, )-129(but )-129(tr)18(eats )-129(the)]TJ -/TT0 1 Tf -8.73 0 Td -(O_RSYNC)Tj -/T1_1 1 Tf -4.579 0 Td -(\337ag)Tj --35.836 -1.25 Td -(the same as)Tj -/TT0 1 Tf -5.347 0 Td -(O_SYNC)Tj -/T1_1 1 Tf -(.)Tj -9.9994 0 0 9.9994 147.591 326.7804 Tm -[(The )-113(\336le )-113(descriptor )-113(r)18(eturned )-113(by)]TJ -/TT0 1 Tf -14.336 0 Td -(open)Tj -/T1_1 1 Tf -2.763 0 Td -(and)Tj -/TT0 1 Tf -2.056 0 Td -(openat)Tj -/T1_1 1 Tf -3.963 0 Td -[(is )-113(guaranteed )-113(to )-113(be )-113(the )-113(lowest-)]TJ --24.917 -1.2 Td -[(number)18(ed )-47(unused )-47(descriptor)]TJ -0.5472 Tc 12.901 0 Td -(.T)Tj -0 Tc 1.41 0 Td -[(his )-47(fact )-47(is )-47(used )-47(by )-47(some )-47(applications )-47(to )-47(open )-47(a )-47(new )-47(\336le)]TJ --14.312 -1.2 Td -[(on )-210(standar)]TJ -0.4601 Tc 4.908 0 Td -(di)Tj -0 Tc 1.362 0 Td -[(nput, )-210(standar)]TJ -0.4601 Tc 6.142 0 Td -(do)Tj -0 Tc 1.617 0 Td -[(utput, )-210(or )-210(standar)]TJ -0.4601 Tc 7.89 0 Td -(de)Tj -0 Tc 1.55 0 Td -[(rr)18(or)]TJ -0.7101 Tc 1.639 0 Td -(.F)Tj -0 Tc 1.516 0 Td -[(or )-210(example, )-210(an )-210(application)]TJ --26.625 -1.2 Td -[(might )-93(close )-93(standar)]TJ -0.3434 Tc 8.829 0 Td -(do)Tj -0 Tc 1.5 0 Td -[(utput )167(\321 )167(normally)]TJ -0.3434 Tc 7.559 0 Td -(,\336)Tj -0 Tc 1.198 0 Td -[(le )-93(descriptor )-93(1)]TJ -0.0833 Tc 6.552 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -[(nd )-93(then )-93(open )-93(another )-93(\336le,)]TJ --27.222 -1.2 Td -[(knowing )-49(that )-49(it )-49(will )-49(be )-49(opened )-49(on )-49(\336le )-49(descriptor )-49(1.)]TJ --0.092 Tc 23.338 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-49(see )-49(a )-49(better )-49(way )-49(to )-49(guarantee)]TJ --24.725 -1.2 Td -[(that )-183(a )-183(\336le )-183(is )-183(open )-183(on )-183(a )-183(given )-183(descriptor )-183(in )-183(Section )-183(3.12, )-183(when )-183(we )-183(explor)]TJ -0.4326 Tc 33.869 0 Td -(et)Tj -0 Tc 1.238 0 Td -(he)Tj -/TT0 1 Tf -1.494 0 Td -(dup2)Tj -/T1_1 1 Tf --36.6 -1.2 Td -(function.)Tj -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.942 0 Td -(fd)Tj -/T1_1 1 Tf -1.046 0 Td -[(parameter )-18(distinguishes )-18(the)]TJ -/TT0 1 Tf -12.633 0 Td -(openat)Tj -/T1_1 1 Tf -3.868 0 Td -[(function )-18(fr)18(om )-18(the)]TJ -/TT0 1 Tf -8.037 0 Td -(open)Tj -/T1_1 1 Tf -2.668 0 Td -[(function. )-268(Ther)18(e)]TJ --31.995 -1.2 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(hr)18(ee possibilities:)]TJ --1.932 -2.16 Td -[(1. )-633(The)]TJ -/T1_2 1 Tf -3.598 0 Td -(path)Tj -/T1_1 1 Tf -2.068 0 Td -[(parameter )-41(speci\336es )-41(an )-41(absolute )-41(pathname.)-539(In )-40(this )-40(case, )-40(the)]TJ -/T1_2 1 Tf -26.703 0 Td -(fd)Tj -/T1_1 1 Tf -1.069 0 Td -[(parameter )-40(is)]TJ --31.804 -1.2 Td -[(ignor)18(ed and the)]TJ -/TT0 1 Tf -7.272 0 Td -(openat)Tj -/T1_1 1 Tf -3.85 0 Td -(function behaves like the)Tj -/TT0 1 Tf -11.293 0 Td -(open)Tj -/T1_1 1 Tf -2.65 0 Td -(function.)Tj --26.698 -1.6 Td -[(2. )-633(The)]TJ -/T1_2 1 Tf -3.795 0 Td -(path)Tj -/T1_1 1 Tf -2.265 0 Td -[(parameter )-238(speci\336es )-238(a )-238(r)18(elative )-238(pathname )-238(and )-238(the)]TJ -/T1_2 1 Tf -23.062 0 Td -(fd)Tj -/T1_1 1 Tf -1.266 0 Td -[(parameter )-238(is )-238(a )-238(\336le)]TJ --28.755 -1.2 Td -[(descriptor )-157(that )-157(speci\336es )-157(the )-157(starting )-157(location )-157(in )-157(the )-157(\336le )-157(system )-157(wher)]TJ -0.4073 Tc 31.378 0 Td -(et)Tj -0 Tc 1.212 0 Td -[(he )-157(r)18(elative)]TJ --32.59 -1.2 Td -[(pathname )-32(is )-32(to )-32(be )-32(evaluated.)-533(The)]TJ -/T1_2 1 Tf -15.294 0 Td -(fd)Tj -/T1_1 1 Tf -1.06 0 Td -[(parameter )-32(is )-32(obtained )-32(by )-32(opening )-32(the )-32(dir)16(ectory)]TJ --16.354 -1.2 Td -(wher)Tj -0.25 Tc 2.272 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(he r)18(elative pathname is to be evaluated.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47161 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(3.3)]TJ -/TT0 1 Tf -30.786 0 Td -(open)Tj -/T1_0 1 Tf -2.9 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(openat)Tj -/T1_0 1 Tf -4.1 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(63)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 219.5868 670.9597 Tm -[(The )-36(purpose )-36(of )-36(the)]TJ -/TT0 1 Tf -8.732 0 Td -(O_SEARCH)Tj -/T1_0 1 Tf -5.086 0 Td -[(constant )-36(is )-36(to )-36(evaluate )-36(sear)18(ch )-36(permissions )-36(at )-36(the )-36(time)]TJ -0.3884 Tc -13.817 -1.25 Td -(ad)Tj -0 Tc 1.499 0 Td -[(ir)18(ectory )-138(is )-138(opened.)-638(Further )-138(operations )-138(using )-138(the )-138(dir)18(ectory\325s )-138(\336le )-138(descriptor )-138(will)]TJ --1.499 -1.25 Td -[(not )-281(r)18(eevaluate )-281(permission )-281(to )-281(sear)17(ch )-281(the )-281(dir)17(ectory)]TJ -0.7814 Tc 23.136 0 Td -(.N)Tj -0 Tc 1.862 0 Td -[(one )-281(of )-281(the )-281(versions )-281(of )-281(the)]TJ --24.998 -1.25 Td -[(operating systems cover)18(ed in this book support)]TJ -/TT0 1 Tf -21.236 0 Td -(O_SEARCH)Tj -/T1_0 1 Tf -5.05 0 Td -(yet.)Tj -9.9994 0 0 9.9994 129.5921 618.9629 Tm -[(One )-233(and )-233(only )-233(one )-233(of )-233(the )-233(pr)19(evious )-233(\336ve )-233(constants )-233(must )-233(be )-233(speci\336ed.)-733(The )-233(following)]TJ -0 -1.2 TD -(constants ar)Tj -0.25 Tc 5.281 0 Td -(eo)Tj -0 Tc 1.275 0 Td -(ptional:)Tj -/TT0 1 Tf --6.556 -2.4 Td -(O_APPEND)Tj -/T1_0 1 Tf -7.2 0 Td -[(Append )-177(to )-177(the )-177(end )-177(of )-177(\336le )-177(on )-177(each )-177(write.)]TJ --0.092 Tc 19.64 0 Td -[(We )-361(d)]TJ -0 Tc 2.425 0 Td -[(escribe )-177(this )-177(option )-177(in)]TJ --22.065 -1.2 Td -[(detail in Section 3.1)55(1.)]TJ -/TT0 1 Tf --7.2 -1.6 Td -(O_CLOEXEC)Tj -/T1_0 1 Tf -7.2 0 Td -[(Set )-254(the)]TJ -/TT0 1 Tf -3.725 0 Td -(FD_CLOEXEC)Tj -/T1_0 1 Tf -6.504 0 Td -[(\336le )-254(descriptor )-254(\337ag.)]TJ --0.092 Tc 9.563 0 Td -[(We )-438(d)]TJ -0 Tc 2.502 0 Td -[(iscuss )-254(\336le )-254(descriptor)]TJ --22.295 -1.2 Td -(\337ags in Section 3.14.)Tj -/TT0 1 Tf --7.2 -1.6 Td -(O_CREAT)Tj -/T1_0 1 Tf -7.2 0 Td -[(Cr)18(eate )-63(the )-63(\336le )-63(if )-63(it )-63(doesn\325t )-63(exist.)-563(This )-63(option )-63(r)15(equir)18(es )-63(a )-63(thir)]TJ -0.3134 Tc 26.57 0 Td -(da)Tj --0.018 Tc 1.424 0 Td -(rg)Tj -0 Tc 0.933 0 Td -(ument)Tj --28.927 -1.2 Td -[(to )-56(the)]TJ -/TT0 1 Tf -2.871 0 Td -(open)Tj -/T1_0 1 Tf -2.706 0 Td -[(function )-56(\(a )-56(fourth )-56(ar)18(gument )-56(to )-56(the)]TJ -/TT0 1 Tf -15.724 0 Td -(openat)Tj -/T1_0 1 Tf -3.906 0 Td -[(function\) )167(\321 )167(the)]TJ -/T1_2 1 Tf --25.206 -1.2 Td -(mode)Tj -/T1_0 1 Tf -0.3031 Tc (,w)Tj -0 Tc 3.498 0 Td -[(hich )-53(speci\336es )-53(the )-53(access )-53(permission )-53(bits )-53(of )-53(the )-53(new )-53(\336le.)]TJ -25.326 0.04 Td -(\()Tj -0.333 -0.04 Td -(When)Tj --29.157 -1.2 Td -[(we )-77(describe )-77(a )-77(\336le\325s )-77(access )-77(permission )-77(bits )-77(in )-77(Section )-77(4.5, )-77(we\325ll )-77(see )-77(how)]TJ -T* -[(to )-25(specify )-25(the)]TJ -/T1_2 1 Tf -6.214 0 Td -(mode)Tj -/T1_0 1 Tf -2.386 0 Td -[(and )-25(how )-25(it )-25(can )-25(be )-25(modi\336ed )-25(by )-25(the)]TJ -/TT0 1 Tf -15.556 0 Td -(umask)Tj -/T1_0 1 Tf -3.276 0 Td -[(value )-26(of )-26(a)]TJ --27.432 -1.2 Td -[(pr)18(ocess.\))]TJ -/TT0 1 Tf --7.2 -1.6 Td -(O_DIRECTORY)Tj -/T1_0 1 Tf -7.2 0 Td -[(Generate an err)18(or if)]TJ -/T1_2 1 Tf -8.901 0 Td -(path)Tj -/T1_0 1 Tf -2.027 0 Td -[(doesn\325t r)18(efer to a dir)18(ectory)111(.)]TJ -/TT0 1 Tf --18.128 -1.6 Td -(O_EXCL)Tj -/T1_0 1 Tf -7.2 0 Td -[(Generate )-252(an )-252(err)18(or )-252(if)]TJ -/TT0 1 Tf -9.908 0 Td -(O_CREAT)Tj -/T1_0 1 Tf -4.702 0 Td -[(is )-252(also )-252(speci\336ed )-252(and )-252(the )-252(\336le )-252(alr)19(eady)]TJ --14.61 -1.2 Td -[(exists. )-365(This)-366(test )-115(for )-115(whether )-115(the )-115(\336le )-115(alr)17(eady )-115(exists )-115(and )-115(the )-115(cr)18(eation )-115(of)]TJ --0 -1.2 Td -[(the )-159(\336le )-159(if )-159(it )-159(doesn\325t )-159(exist )-159(is )-159(an )-159(atomic )-159(operation.)]TJ --0.092 Tc 22.929 0 Td -[(We )-343(d)]TJ -0 Tc 2.407 0 Td -[(escribe )-159(atomic)]TJ --25.336 -1.2 Td -(operations in mor)Tj -0.25 Tc 7.869 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(etail in Section 3.1)55(1.)]TJ -/TT0 1 Tf --16.409 -1.6 Td -(O_NOCTTY)Tj -/T1_0 1 Tf -7.2 0 Td -(If)Tj -/T1_2 1 Tf -1.137 0 Td -(path)Tj -/T1_0 1 Tf --0.018 Tc 2.244 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fers )-217(to )-217(a )-217(terminal )-217(device, )-217(do )-217(not )-217(allocate )-217(the )-217(device )-217(as )-217(the)]TJ --4.237 -1.2 Td -[(contr)18(olling )-514(terminal )-514(for )-514(this )-514(pr)19(ocess. )-764(W)]TJ -0.7636 Tc 19.997 0 Td -(et)Tj -0 Tc 1.569 0 Td -[(alk )-514(about )-514(contr)19(olling)]TJ --21.566 -1.2 Td -(terminals in Section 9.6.)Tj -/TT0 1 Tf --7.2 -1.6 Td -(O_NOFOLLOW)Tj -/T1_0 1 Tf -7.2 0 Td -[(Generate )-38(an )-38(err)18(or )-38(if)]TJ -/T1_2 1 Tf -9.054 0 Td -(path)Tj -/T1_0 1 Tf --0.018 Tc 2.065 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fers )-38(to )-38(a )-38(symbolic )-38(link.)]TJ --0.092 Tc 10.653 0 Td -[(We )-222(d)]TJ -0 Tc 2.286 0 Td -[(iscuss )-38(symbolic)]TJ --24.914 -1.2 Td -(links in Section 4.17.)Tj -/TT0 1 Tf --7.2 -1.6 Td -(O_NONBLOCK)Tj -/T1_0 1 Tf -7.2 0 Td -(If)Tj -/T1_2 1 Tf -1.049 0 Td -(path)Tj -/T1_0 1 Tf --0.018 Tc 2.156 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fers )-129(to )-129(a )-129(FIFO, )-129(a )-129(block )-129(special )-129(\336le, )-129(or )-129(a )-129(character )-129(special )-129(\336le,)]TJ --4.061 -1.2 Td -[(this )-104(option )-104(sets )-104(the )-104(nonblocking )-104(mode )-104(for )-104(both )-104(the )-104(opening )-104(of )-104(the )-104(\336le)]TJ -T* -(and subsequent I/O.)Tj --0.092 Tc 9.705 0 Td -[(We )-184(d)]TJ -0 Tc 2.248 0 Td -(escribe this mode in Section 14.2.)Tj -7.9995 0 0 7.9995 219.5863 270.9837 Tm -[(In )-78(earlier )-78(r)18(eleases )-78(of )-78(System )-78(V)]TJ -0.3279 Tc 13.507 0 Td -(,t)Tj -0 Tc 0.904 0 Td -(he)Tj -/TT0 1 Tf -1.389 0 Td -(O_NDELAY)Tj -/T1_0 1 Tf -5.128 0 Td -[(\(no )-78(delay\) )-78(\337ag )-78(was )-78(intr)19(oduced. )-328(This)]TJ --20.928 -1.25 Td -[(option )-145(is )-145(similar )-145(to )-145(the)]TJ -/TT0 1 Tf -10.914 0 Td -(O_NONBLOCK)Tj -/T1_0 1 Tf -6.395 0 Td -[(\(nonblocking\) )-145(option, )-145(but )-145(an )-145(ambiguity )-145(was)]TJ --17.309 -1.25 Td -[(intr)18(oduced )-55(in )-55(the )-55(r)18(eturn )-55(value )-55(fr)18(om )-55(a )-55(r)18(ead )-55(operation.)-555(The )-55(no-delay )-55(option )-55(causes )-55(a)]TJ --0.018 Tc 0 -1.25 TD -(re)Tj -0 Tc 0.856 0 Td -[(ad )-39(operation )-39(to )-39(r)18(eturn )-39(0 )-39(if )-39(ther)16(e)-289(is)-289(no)-289(d)-1(ata )-39(to )-39(be )-39(r)18(ead )-39(fr)18(om )-39(a )-39(pipe, )-39(FIFO, )-39(or )-39(device,)]TJ --0.856 -1.25 Td -[(but )-184(this )-184(con\337icts )-184(with )-184(a )-184(r)18(eturn )-184(value )-184(of )-184(0, )-184(indicating )-184(an )-184(end )-184(of )-184(\336le.)-679(SVR4)]TJ -34.6 0.09 Td -(-)Tj -0.333 -0.09 Td -(based)Tj --34.933 -1.25 Td -[(systems )-440(still )-440(support )-440(the )-440(no-delay )-440(option, )-440(with )-440(the )-440(old )-440(semantics, )-440(but )-440(new)]TJ -T* -(applications should use the nonblocking option instead.)Tj -/TT0 1 Tf -9.9994 0 0 9.9994 129.5912 186.9888 Tm -(O_SYNC)Tj -/T1_0 1 Tf -7.2 0 Td -[(Have )-212(each)]TJ -/TT0 1 Tf -5.306 0 Td -(write)Tj -/T1_0 1 Tf -3.463 0 Td -[(wait )-212(for )-212(physical )-212(I/O )-212(to )-212(complete, )-212(including )-212(I/O)]TJ --8.769 -1.2 Td -[(necessary )-155(to )-155(update )-155(\336le )-155(attributes )-155(modi\336ed )-155(as )-155(a )-155(r)14(esult )-156(of )-156(the)]TJ -/TT0 1 Tf -28.55 0 Td -(write)Tj -/T1_0 1 Tf -(.)Tj --0.092 Tc -28.55 -1.2 Td -[(We )-184(u)]TJ -0 Tc 2.24 0 Td -(se this option in Section 3.14.)Tj -/TT0 1 Tf --9.44 -1.6 Td -(O_TRUNC)Tj -/T1_0 1 Tf -7.2 0 Td -[(If )-76(the )-76(\336le )-76(exists )-76(and )-76(if )-76(it )-76(is )-76(successfully )-76(opened )-76(for )-76(either )-76(write-only )-76(or)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(ad\320write, tr)8(uncate its length to 0.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47162 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.9)]TJ -30.11 0 Td -[(Dif)18(fer)18(ences )-250(Between )-250(Standar)18(ds)]TJ -/T1_1 1 Tf -16.223 0 Td -(59)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1569.25 6670.25 cm -0 0 m -3353 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.09 Tc 7.9995 0 0 7.9995 181.1011 658.9605 Tm -(Ty)Tj -0 Tc 1.079 0 Td -(pe )Tj -18.63 0 Td -(Description)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1569.25 6550.25 cm -0 0 m -3353 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1569.25 6530.25 cm -0 0 m -3353 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 160.9287 644.9226 Tm -(clock_t)Tj -/T1_0 1 Tf -8.7 0 Td -[(counter of clock ticks \(pr)18(ocess time\) \(Section 1.10\))]TJ -/TT0 1 Tf --8.7 -1.25 Td -(comp_t)Tj -/T1_0 1 Tf -8.7 0 Td -[(compr)18(essed clock ticks \(not de\336ned by POSIX.1; see Section 8.14\))]TJ -/TT0 1 Tf --8.7 -1.25 Td -(dev_t)Tj -/T1_0 1 Tf -8.7 0 Td -(device numbers \(major and minor\) \(Section 4.24\))Tj -/TT0 1 Tf --8.7 -1.25 Td -(fd_set)Tj -/T1_0 1 Tf -8.7 0 Td -(\336le descriptor sets \(Section 14.4.1\))Tj -/TT0 1 Tf --8.7 -1.25 Td -(fpos_t)Tj -/T1_0 1 Tf -8.7 0 Td -(\336le position \(Section 5.10\))Tj -/TT0 1 Tf --8.7 -1.25 Td -(gid_t)Tj -/T1_0 1 Tf -8.7 0 Td -[(numeric gr)18(oup IDs)]TJ -/TT0 1 Tf --8.7 -1.25 Td -(ino_t)Tj -/T1_0 1 Tf -8.7 0 Td -(i-node numbers \(Section 4.14\))Tj -/TT0 1 Tf --8.7 -1.25 Td -(mode_t)Tj -/T1_0 1 Tf -8.7 0 Td -[(\336le type, \336le cr)18(eation mode \(Section 4.5\))]TJ -/TT0 1 Tf --8.7 -1.25 Td -(nlink_t)Tj -/T1_0 1 Tf -8.7 0 Td -[(link counts for dir)18(ectory entries \(Section 4.14\))]TJ -/TT0 1 Tf --8.7 -1.25 Td -(off_t)Tj -/T1_0 1 Tf -8.7 0 Td -[(\336le sizes and of)18(fsets \(signed\) \()]TJ -/TT0 1 Tf -(lseek)Tj -/T1_0 1 Tf -0.25 Tc (,S)Tj -0 Tc 17.25 0 Td -(ection 3.6\))Tj -/TT0 1 Tf --25.95 -1.25 Td -(pid_t)Tj -/T1_0 1 Tf -8.7 0 Td -[(pr)18(ocess IDs and pr)18(ocess gr)18(oup IDs \(signed\) \(Sections 8.2 and 9.4\))]TJ -/TT0 1 Tf --8.7 -1.25 Td -(pthread_t)Tj -/T1_0 1 Tf -8.7 0 Td -[(thr)18(ead IDs \(Section 1)55(1.3\))]TJ -/TT0 1 Tf --8.7 -1.25 Td -(ptrdiff_t)Tj -/T1_0 1 Tf --0.018 Tc 8.7 0 Td -(re)Tj -0 Tc 0.856 0 Td -(sult of subtracting two pointers \(signed\))Tj -/TT0 1 Tf --9.556 -1.25 Td -(rlim_t)Tj -/T1_0 1 Tf --0.018 Tc 8.7 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ce limits \(Section 7.1)55(1\))]TJ -/TT0 1 Tf --9.556 -1.25 Td -(sig_atomic_t)Tj -/T1_0 1 Tf -8.7 0 Td -(data type that can be accessed atomically \(Section 10.15\))Tj -/TT0 1 Tf --8.7 -1.25 Td -(sigset_t)Tj -/T1_0 1 Tf -8.7 0 Td -[(signal set \(Section 10.1)55(1\))]TJ -/TT0 1 Tf --8.7 -1.25 Td -(size_t)Tj -/T1_0 1 Tf -8.7 0 Td -(sizes of objects \(such as strings\) \(unsigned\) \(Section 3.7\))Tj -/TT0 1 Tf --8.7 -1.25 Td -(ssize_t)Tj -/T1_0 1 Tf -8.7 0 Td -[(functions that r)18(eturn a count of bytes \(signed\) \()]TJ -/TT0 1 Tf -(read)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -23.687 0 Td -(write)Tj -/T1_0 1 Tf -0.25 Tc (,S)Tj -0 Tc 4.025 0 Td -(ection 3.7\))Tj -/TT0 1 Tf --36.412 -1.25 Td -(time_t)Tj -/T1_0 1 Tf -8.7 0 Td -(counter of seconds of calendar time \(Section 1.10\))Tj -/TT0 1 Tf --8.7 -1.25 Td -(uid_t)Tj -/T1_0 1 Tf -8.7 0 Td -(numeric user IDs)Tj -/TT0 1 Tf --8.7 -1.25 Td -(wchar_t)Tj -/T1_0 1 Tf -8.7 0 Td -[(can r)18(epr)18(esent all distinct character codes)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1569.25 4410.25 cm -0 0 m -3353 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2245.25 4410.25 cm -0 0 m -0 2260 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4922.25 4410.25 cm -0 0 m -0 2260 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1569.25 4410.25 cm -0 0 m -0 2260 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 225.3634 422.9239 Tm -(Figure 2.21)Tj -/T1_0 1 Tf -5.695 0 Td -(Some common primitive system data types)Tj -9.9982 0 0 9.9982 129.5769 392.9293 Tm -[(convert )-115(this )-115(value )-115(to )-115(seconds, )-115(we )-115(divide )-115(it )-115(by)]TJ -/TT0 1 Tf -21.202 0 Td -(CLOCKS_PER_SEC)Tj -/T1_0 1 Tf -0.365 Tc (,w)Tj -0 Tc 9.849 0 Td -[(hich )-115(is )-115(de\336ned )-115(in)]TJ --31.051 -1.2 Td -(the)Tj -/TT0 1 Tf -1.72 0 Td -()Tj -/T1_0 1 Tf -5.133 0 Td -(header)Tj -0.5827 Tc 2.972 0 Td -(.P)Tj -0 Tc 1.437 0 Td -[(OSIX.1 )-83(de\336nes )-83(the )-83(function)]TJ -/TT0 1 Tf -12.67 0 Td -(times)Tj -/T1_0 1 Tf -3.333 0 Td -[(that )-83(r)18(eturns )-83(both )-83(the )-83(CPU)]TJ --27.264 -1.2 Td -[(time )-115(\(for )-115(the )-115(caller )-115(and )-115(all )-115(its )-115(terminated )-115(childr)15(en\) )-115(and )-115(the )-115(clock )-115(time.)-615(All )-115(these )-115(time)]TJ -0 -1.2 TD -[(values )-163(ar)18(e)]TJ -/TT0 1 Tf -5.045 0 Td -(clock_t)Tj -/T1_0 1 Tf -4.614 0 Td -[(values. )-413(The)]TJ -/TT0 1 Tf -5.863 0 Td -(sysconf)Tj -/T1_0 1 Tf -4.614 0 Td -[(function )-164(is )-164(used )-164(to )-164(obtain )-164(the )-164(number )-164(of)]TJ --20.135 -1.2 Td -[(clock )-6(ticks )-6(per )-6(second )-6(for )-6(use )-6(with )-6(the )-6(r)18(eturn )-6(values )-6(fr)18(om )-6(the)]TJ -/TT0 1 Tf -27.305 0 Td -(times)Tj -/T1_0 1 Tf -3.256 0 Td -[(function. )-256(What)-256(we)]TJ --30.56 -1.2 Td -[(have )-36(is )-36(the )-36(same )-36(data )-36(type )-36(\()]TJ -/TT0 1 Tf -(clock_t)Tj -/T1_0 1 Tf -0.2861 Tc (\)u)Tj -0 Tc 17.884 0 Td -[(sed )-36(to )-36(hold )-36(measur)18(ements )-36(of )-36(time )-36(de\336ned )-36(with)]TJ --17.884 -1.2 Td -[(dif)18(fer)18(ent )-194(units )-194(by )-194(ISO )-194(C )-194(and )-194(POSIX.1.)-694(The )-194(dif)15(fer)18(ence )-194(can )-194(be )-194(seen )-194(in )-194(Solaris, )-194(wher)16(e)]TJ -/TT0 1 Tf -0 -1.2 Td -(clock)Tj -/T1_0 1 Tf --0.018 Tc 3.291 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-41(micr)18(oseconds )-41(\(hence)]TJ -/TT0 1 Tf -12.152 0 Td -(CLOCKS_PER_SEC)Tj -/T1_0 1 Tf -8.691 0 Td -[(is )-41(1 )-41(million\), )-41(wher)19(eas)]TJ -/TT0 1 Tf -9.811 0 Td -(sysconf)Tj -/T1_0 1 Tf --0.018 Tc -34.8 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-114(the )-114(value )-114(100 )-114(for )-114(clock )-114(ticks )-114(per )-114(second.)-618(Thus )-114(we )-114(must )-114(take )-114(car)]TJ -0.3644 Tc 32.003 0 Td -(ew)Tj -0 Tc 1.677 0 Td -[(hen )-114(using)]TJ --34.536 -1.2 Td -(variables of type)Tj -/TT0 1 Tf -7.589 0 Td -(clock_t)Tj -/T1_0 1 Tf -4.45 0 Td -[(so that we don\325t mix variables with dif)18(fer)18(ent units.)]TJ --10.239 -1.2 Td -[(Another )-98(ar)18(ea )-98(of )-98(potential )-98(con\337ict )-98(is )-98(when )-98(the )-98(ISO )-98(C )-98(standar)]TJ -0.348 Tc 27.341 0 Td -(ds)Tj -0 Tc 1.383 0 Td -[(peci\336es )-98(a )-98(function,)]TJ --30.524 -1.2 Td -[(but )-136(doesn\325t )-136(specify )-136(it )-136(as )-136(str)18(ongly )-136(as )-136(POSIX.1 )-136(does.)-639(This )-136(is )-136(the )-136(case )-136(for )-136(functions )-136(that)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -(quir)Tj -0.3835 Tc 1.831 0 Td -(ead)Tj -0 Tc 2.357 0 Td -[(if)18(fer)18(ent )-133(implementation )-133(in )-133(a )-133(POSIX )-133(envir)18(onment )-133(\(with )-133(multiple )-133(pr)14(ocesses\))]TJ --5.044 -1.2 Td -[(than )-296(in )-296(an )-296(ISO )-296(C )-296(envir)18(onment )-296(\(wher)]TJ -0.5463 Tc 17.877 0 Td -(ev)Tj -0 Tc 1.59 0 Td -[(ery )-296(little )-296(can )-296(be )-296(assumed )-296(about )-296(the )-296(host)]TJ --19.467 -1.2 Td -[(operating )-375(system\).)-875(Nevertheless, )-375(POSIX-compliant )-375(systems )-375(implement )-375(the )-375(ISO )-375(C)]TJ -T* -[(function )-20(for )-20(compatibility)]TJ -0.5197 Tc 11.308 0 Td -(.T)Tj -0 Tc 1.383 0 Td -(he)Tj -/TT0 1 Tf -1.331 0 Td -(signal)Tj -/T1_0 1 Tf -3.87 0 Td -[(function )-20(is )-20(an )-20(example.)-519(If )-20(we )-20(unknowingly )-20(use)]TJ --17.891 -1.2 Td -(the)Tj -/TT0 1 Tf -1.66 0 Td -(signal)Tj -/T1_0 1 Tf -3.873 0 Td -[(function )-23(pr)18(ovided )-23(by )-23(Solaris )-23(\(hoping )-23(to )-23(write )-23(portable )-23(code )-23(that )-23(can )-23(be )-23(r)9(un)]TJ --5.533 -1.2 Td -[(in )-259(ISO )-259(C )-259(envir)18(onments )-259(and )-259(under )-259(older )-259(UNIX )-259(systems\), )-259(it )-259(will )-259(pr)16(ovide )-259(semantics)]TJ -T* -[(dif)18(fer)18(ent )-207(fr)18(om )-207(the )-207(POSIX.1)]TJ -/TT0 1 Tf -12.814 0 Td -(sigaction)Tj -/T1_0 1 Tf -5.857 0 Td -[(function. )-457(W)92(e\325ll )-207(have )-207(mor)19(e)-457(to)-457(s)1(ay )-207(about )-207(the)]TJ -/TT0 1 Tf --18.671 -1.2 Td -(signal)Tj -/T1_0 1 Tf -3.85 0 Td -(function in Chapter 10.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47163 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(19.3)]TJ -27.958 0 Td -[(Opening )-250(Pseudo-T)92(erminal )-250(Devices)]TJ -/T1_1 1 Tf -17.875 0 Td -(723)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(The)Tj -/T1_2 1 Tf -2.038 0 Td -(o\337ag)Tj -/T1_0 1 Tf -2.297 0 Td -[(ar)18(gument )-114(is )-114(a )-114(bitmask )-114(that )-114(speci\336es )-114(how )-114(the )-114(master )-114(device )-114(is )-114(to )-114(be )-114(opened,)]TJ --4.336 -1.2 Td -[(similar )-180(to )-180(the )-180(same )-180(ar)19(gument )-180(used )-180(with)]TJ -/TT0 1 Tf -19.084 0 Td -(open)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.6796 Tc 0.333 -0.04 Td -(.N)Tj -0 Tc 1.761 0 Td -[(ot )-180(all )-180(open )-180(\337ags )-180(ar)]TJ -0.4296 Tc 8.845 0 Td -(es)Tj -0 Tc 1.333 0 Td -(upported,)Tj --34.588 -1.2 Td -(however)Tj -0.5763 Tc 3.806 0 Td -(.W)Tj -0 Tc 1.771 0 Td -(ith)Tj -/TT0 1 Tf -1.525 0 Td -(posix_openpt)Tj -/T1_0 1 Tf -[(,)-326(we)-326(c)-1(an )-76(specify)]TJ -/TT0 1 Tf -14.722 0 Td -(O_RDWR)Tj -/T1_0 1 Tf -3.926 0 Td -[(to )-76(open )-76(the )-76(master )-76(device )-76(for)]TJ --0.018 Tc -25.751 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading )-76(and )-76(writing, )-76(and )-76(we )-76(can )-76(specify)]TJ -/TT0 1 Tf -17.703 0 Td -(O_NOCTTY)Tj -/T1_0 1 Tf -5.126 0 Td -[(to )-76(pr)18(event )-76(the )-76(master )-76(device )-76(fr)16(om)]TJ --23.685 -1.2 Td -[(becoming )-29(a )-29(contr)18(olling )-29(terminal )-29(for )-29(the )-29(caller)]TJ -0.5288 Tc 20.072 0 Td -(.A)Tj -0 Tc 1.557 0 Td -[(ll )-29(other )-29(open )-29(\337ags )-29(r)18(esult )-29(in )-29(unspeci\336ed)]TJ --21.629 -1.2 Td -[(behavior)74(.)]TJ -1.8 -1.2 Td -(Befor)Tj -0.2784 Tc 2.346 0 Td -(eas)Tj -0 Tc 1.96 0 Td -[(lave )-28(pseudo )-28(terminal )-28(device )-28(can )-28(be )-28(used, )-28(its )-28(permissions )-28(need )-28(to )-28(be )-28(set )-28(so)]TJ --6.106 -1.2 Td -[(that )-9(it )-9(is )-9(accessible )-9(to )-9(applications.)-507(The)]TJ -/TT0 1 Tf -17.649 0 Td -(grantpt)Tj -/T1_0 1 Tf -4.459 0 Td -[(function )-9(does )-9(just )-9(this.)-508(It )-9(sets )-9(the )-9(user)]TJ --22.108 -1.2 Td -[(ID )-37(of )-37(the )-37(slave\325s )-37(device )-37(node )-37(to )-37(the )-37(caller)-74(\325s )-37(r)18(eal )-37(user )-37(ID )-37(and )-37(sets )-37(the )-37(node\325s )-37(gr)21(oup )-37(ID )-37(to)]TJ -0 -1.2 TD -[(an )-232(unspeci\336ed )-232(value, )-232(usually )-232(some )-232(gr)17(oup )-232(that )-232(has )-232(access )-232(to )-232(terminal )-232(devices.)-734(The)]TJ -T* -[(permissions )-3(ar)]TJ -0.2529 Tc 6.47 0 Td -(es)Tj -0 Tc 1.156 0 Td -[(et )-3(to )-3(allow )-3(r)18(ead )-3(and )-3(write )-3(access )-3(to )-3(individual )-3(owners )-3(and )-3(write )-3(access)]TJ --7.626 -1.2 Td -[(to gr)18(oup owners)]TJ -7.565 0.04 Td -(\()Tj -0.333 -0.04 Td -(0620)Tj -2 0.04 Td -(\))Tj -0.333 -0.04 Td -(.)Tj --8.431 -1.2 Td -[(Implementations )-182(commonly )-182(set )-182(the )-182(gr)17(oup )-182(ownership )-182(of )-182(the )-182(slave )-182(PTY )-182(device )-182(to)]TJ --1.8 -1.2 Td -[(gr)18(oup)]TJ -/TT0 1 Tf -3.182 0 Td -(tty)Tj -/T1_0 1 Tf -0.7492 Tc (.P)Tj --0.018 Tc 3.403 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(grams )-249(that )-249(need )-249(permission )-249(to )-249(write )-249(to )-249(all )-249(active )-249(terminals )-249(on )-249(the)]TJ --7.508 -1.2 Td -[(system )-18(ar)]TJ -0.2682 Tc 4.237 0 Td -(es)Tj -0 Tc 1.171 0 Td -[(et-gr)18(oup-ID )-18(to )-18(the )-18(gr)17(oup)]TJ -/TT0 1 Tf -11.28 0 Td -(tty)Tj -/T1_0 1 Tf -0.5182 Tc (.E)Tj -0 Tc 3.179 0 Td -[(xamples )-18(of )-18(such )-18(pr)17(ograms )-18(ar)18(e)]TJ -/TT0 1 Tf -13.605 0 Td -(wall)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.601 -0.04 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(write)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.5975 Tc 0.333 -0.04 Td -(.B)Tj -0 Tc 1.459 0 Td -[(ecause )-97(the )-97(gr)17(oup )-97(write )-97(permission )-97(is )-97(enabled )-97(on )-97(slave )-97(PTY )-97(devices, )-97(these)]TJ --5.625 -1.2 Td -[(pr)18(ograms can write to them.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5922 460.2724 Tm -(#include )Tj -0 -1.902 TD -(int grantpt\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj --9.6 -1.902 Td -(int unlockpt\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -12.817 -1.902 Td -[(Both r)18(eturn: 0 on success,)]TJ -/TT1 1 Tf -11.447 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4044.25 cm -0 0 m -0 649 l -3900 649 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9988 0 0 9.9988 147.5823 390.8931 Tm -[(To )-242(c)]TJ -0 Tc 1.819 0 Td -[(hange )-58(permission )-58(on )-58(the )-58(slave )-58(device )-58(node,)]TJ -/TT0 1 Tf -19.885 0 Td -(grantpt)Tj -/T1_0 1 Tf -4.508 0 Td -[(might )-58(need )-58(to)]TJ -/TT0 1 Tf -6.586 0 Td -(fork)Tj -/T1_0 1 Tf -2.708 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(exec)Tj -/T1_0 1 Tf -0.2755 Tc 2.676 0 Td -(as)Tj -0 Tc 1.199 0 Td -[(et-user)18(-ID )-25(pr)18(ogram )-25(\()]TJ -/TT0 1 Tf -9.207 0 Td -(/usr/lib/pt_chmod)Tj -/T1_0 1 Tf -10.476 0 Td -[(on )-25(Solaris, )-25(for )-25(example\).)-525(Thus, )-25(the)]TJ --23.557 -1.2 Td -(behavior is unspeci\336ed if the caller is catching)Tj -/TT0 1 Tf -20.596 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -(.)Tj --18.796 -1.2 Td -(The)Tj -/TT0 1 Tf -1.95 0 Td -(unlockpt)Tj -/T1_0 1 Tf -5.076 0 Td -[(function )-26(is )-26(used )-26(to )-26(grant )-26(access )-26(to )-26(the )-26(slave )-26(pseudo )-26(terminal )-26(device,)]TJ --8.827 -1.2 Td -[(ther)18(eby )-113(allowing )-113(applications )-113(to )-113(open )-113(the )-113(device.)-613(By )-113(pr)18(eventing )-113(others )-113(fr)18(om )-113(opening)]TJ -0 -1.2 TD -[(the )-3(slave )-3(device, )-3(applications )-3(setting )-3(up )-3(the )-3(devices )-3(have )-3(an )-3(opportunity )-3(to )-3(initialize )-3(the)]TJ -T* -[(slave and master devices pr)18(operly befor)]TJ -0.25 Tc 17.636 0 Td -(et)Tj -0 Tc 1.055 0 Td -(hey can be used.)Tj --16.891 -1.2 Td -[(Note )-89(that )-89(in )-89(both)]TJ -/TT0 1 Tf -8.151 0 Td -(grantpt)Tj -/T1_0 1 Tf -4.539 0 Td -(and)Tj -/TT0 1 Tf -2.032 0 Td -(unlockpt)Tj -/T1_0 1 Tf -0.3388 Tc (,t)Tj -0 Tc 5.715 0 Td -[(he )-89(\336le )-89(descriptor )-89(ar)19(gument )-89(is )-89(the )-89(\336le)]TJ --22.237 -1.2 Td -(descriptor associated with the master pseudo terminal device.)Tj -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.039 0 Td -(ptsname)Tj -/T1_0 1 Tf -4.565 0 Td -[(function )-115(is )-115(used )-115(to )-115(\336nd )-115(the )-115(pathname )-115(of )-115(the )-115(slave )-115(pseudo )-115(terminal)]TJ --8.403 -1.2 Td -[(device, )-97(given )-97(the )-97(\336le )-97(descriptor )-97(of )-97(the )-97(master)]TJ -0.5972 Tc 20.496 0 Td -(.T)Tj -0 Tc 1.46 0 Td -[(his )-97(allows )-97(applications )-97(to )-97(identify )-97(the)]TJ --21.956 -1.2 Td -[(slave )-206(independent )-206(of )-206(any )-206(particular )-206(conventions )-206(that )-206(might )-206(be )-206(followed )-206(by )-206(a )-206(given)]TJ -T* -[(platform. )-359(Note)-359(that )-109(the )-109(name )-109(r)18(eturned )-109(might )-109(be )-109(stor)18(ed )-109(in )-109(static )-109(memory)112(,)-359(so)-359(it)-359(c)1(an )-109(be)]TJ --0 -1.2 Td -(overwritten on successive calls.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5827 218.2138 Tm -(#include )Tj -0 -1.902 TD -(char *ptsname\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -2.392 -1.902 Td -(Returns: pointer to name of PTY slave if OK,)Tj -/TT0 1 Tf -19.921 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1795.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 147.5734 165.9701 Tm -(Figur)Tj -0.708 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.687 0 Td -[(9.8 )-458(summarizes )-458(the )-458(pseudo )-458(terminal )-458(functions )-458(in )-458(the )-458(Single )-458(UNIX)]TJ --5.87 -1.2 Td -[(Speci\336cation )-17(and )-17(indicates )-17(which )-17(functions )-17(ar)]TJ -0.2673 Tc 20.352 0 Td -(es)Tj -0 Tc 1.17 0 Td -[(upported )-17(by )-17(the )-17(platforms )-17(discussed )-17(in)]TJ --21.523 -1.2 Td -(this text.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47164 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(829)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(520 )-1200(/*)]TJ -0 -1.189 TD -[(521 )-1800(*)-600(Cancellation routine for the worker thread.)]TJ -T* -[(522 )-1800(*)]TJ -T* -[(523 )-1800(*)-600(LOCKING: acquires and releases workerlock.)]TJ -T* -[(524 )-1800(*/)]TJ -0 -1.189 TD -[(525 )-1200(void)]TJ -0 -1.189 TD -[(526 )-1200(client_cleanup\(void)-600(*arg\))]TJ -T* -[(527 )-1200({)]TJ -T* -[(528 )-2400(struct)-600(worker_thread )-1800(*wtp;)]TJ -T* -[(529 )-2400(pthread_t)]TJ -19.2 0 Td -(tid;)Tj --19.2 -2.14 Td -[(530 )-2400(tid)]TJ -0.6 Tc 7.2 0 Td -(=\()Tj -0 Tc 1.8 0 Td -(pthread_t\)\(\(long\)arg\);)Tj --9 -1.189 Td -[(531 )-2400(pthread_mutex_lock\(&workerlock\);)]TJ -T* -[(532 )-2400(for)-600(\(wtp = workers; wtp != NULL; wtp = wtp->next\) {)]TJ -T* -[(533 )-4800(if)-600(\(wtp->tid == tid\) {)]TJ -T* -(534 )Tj -9.6 0 Td -[(if)-600(\(wtp->next != NULL\))]TJ --9.6 -1.189 Td -(535 )Tj -12 0 Td -(wtp->next->prev)Tj -0.6 Tc 9.6 0 Td -(=w)Tj -0 Tc 1.8 0 Td -(tp->prev;)Tj --23.4 -1.189 Td -(536 )Tj -9.6 0 Td -[(if)-600(\(wtp->prev != NULL\))]TJ --9.6 -1.189 Td -(537 )Tj -12 0 Td -(wtp->prev->next)Tj -0.6 Tc 9.6 0 Td -(=w)Tj -0 Tc 1.8 0 Td -(tp->next;)Tj --23.4 -1.189 Td -(538 )Tj -9.6 0 Td -(else)Tj --9.6 -1.189 Td -(539 )Tj -12 0 Td -(workers)Tj -0.6 Tc 4.8 0 Td -(=w)Tj -0 Tc 1.8 0 Td -(tp->next;)Tj --18.6 -1.189 Td -(540 )Tj -9.6 0 Td -(break;)Tj --9.6 -1.189 Td -[(541 )-4800(})]TJ -T* -[(542 )-2400(})]TJ -T* -[(543 )-2400(pthread_mutex_unlock\(&workerlock\);)]TJ -T* -[(544 )-2400(if)-600(\(wtp != NULL\) {)]TJ -T* -[(545 )-4800(close\(wtp->sockfd\);)]TJ -0 -1.189 TD -[(546 )-4800(free\(wtp\);)]TJ -0 -1.189 TD -[(547 )-2400(})]TJ -T* -[(548 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3465.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 322.4993 Tm -[([520 )167(\320 )167(542])-668(The)]TJ -/TT0 1 Tf -7.301 0 Td -(client_cleanup)Tj -/T1_0 1 Tf -9.027 0 Td -[(function )-377(is )-377(the )-377(thr)18(ead )-377(cleanup )-377(handler )-377(for )-377(the)]TJ --11.327 -1.2 Td -[(worker )-153(thr)18(eads )-153(that )-153(communicate )-153(with )-153(client )-153(commands.)-653(This )-153(function )-153(is)]TJ -0 -1.2 TD -[(called )-21(when )-21(the )-21(thr)18(ead )-21(calls)]TJ -/TT0 1 Tf -12.659 0 Td -(pthread_exit)Tj -/T1_0 1 Tf -0.2707 Tc (,c)Tj -0 Tc 8.165 0 Td -(alls)Tj -/TT0 1 Tf -1.777 0 Td -(pthread_cleanup_pop)Tj -/T1_0 1 Tf --22.6 -1.2 Td -[(with )-374(a )-374(nonzer)]TJ -0.6244 Tc 6.848 0 Td -(oa)Tj --0.018 Tc 1.67 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument, )-374(or )-374(r)18(esponds )-374(to )-374(a )-374(cancellation )-374(r)16(equest. )-624(The)]TJ --9.451 -1.2 Td -[(ar)18(gument is the thr)18(ead ID of the thr)18(ead terminating.)]TJ --0.092 Tc 0 -1.8 TD -[(We )-258(l)]TJ -0 Tc 2.002 0 Td -[(ock )-74(the)]TJ -/TT0 1 Tf -3.581 0 Td -(workerlock)Tj -/T1_0 1 Tf -6.324 0 Td -[(mutex )-74(and )-74(sear)18(ch )-74(the )-74(list )-74(of )-74(worker )-74(thr)18(eads )-74(until)]TJ --11.907 -1.2 Td -[(we )-248(\336nd )-248(a )-248(matching )-248(thr)18(ead )-248(ID.)-748(When )-248(we )-248(\336nd )-248(a )-248(match, )-248(we )-248(r)20(emove )-248(the)]TJ -0 -1.2 TD -[(worker thr)18(ead str)8(uctur)]TJ -0.25 Tc 10.07 0 Td -(ef)Tj --0.018 Tc 1.062 0 Td -(ro)Tj -0.25 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.459 0 Td -[(he list and stop the sear)18(ch.)]TJ --18.514 -1.72 Td -[([543 )167(\320 )167(548])]TJ --0.092 Tc 5 0 Td -[(We )-269(u)]TJ -0 Tc 2.325 0 Td -[(nlock )-85(the)]TJ -/TT0 1 Tf -4.476 0 Td -(workerlock)Tj -/T1_0 1 Tf -6.335 0 Td -[(mutex, )-85(close )-85(the )-85(socket )-85(\336le )-85(descriptor )-85(used )-85(by)]TJ --13.137 -1.2 Td -[(the )-37(thr)18(ead )-37(to )-37(communicate )-37(with )-37(the )-37(client, )-37(and )-37(fr)18(ee )-37(the )-37(memory )-37(backing )-37(the)]TJ -/TT0 1 Tf -T* -(worker_thread)Tj -/T1_0 1 Tf -8.05 0 Td -[(str)8(uctur)18(e.)]TJ --8.05 -1.8 Td -[(Since )-311(we )-311(try )-311(to )-311(acquir)]TJ -0.5612 Tc 10.803 0 Td -(et)Tj -0 Tc 1.366 0 Td -(he)Tj -/TT0 1 Tf -1.622 0 Td -(workerlock)Tj -/T1_0 1 Tf -6.561 0 Td -[(mutex, )-311(if )-311(a )-311(thr)18(ead )-311(r)18(eaches )-311(a)]TJ --20.352 -1.2 Td -[(cancellation )-19(point )-19(while )-19(the)]TJ -/TT0 1 Tf -12.562 0 Td -(kill_workers)Tj -/T1_0 1 Tf -7.469 0 Td -[(function )-19(is )-19(still )-19(walking )-19(the )-19(list,)]TJ --20.031 -1.2 Td -[(we )-40(will )-40(have )-40(to )-40(wait )-40(until)]TJ -/TT0 1 Tf -11.804 0 Td -(kill_workers)Tj -/T1_0 1 Tf --0.018 Tc 7.49 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(leases )-40(the )-40(mutex )-40(befor)17(e)-290(we)-290(c)-1(an)]TJ --20.151 -1.2 Td -[(pr)18(oceed.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47165 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(828)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(482 )-1200(/*)]TJ -0 -1.189 TD -[(483 )-1800(*)-600(Add a worker to the list of worker threads.)]TJ -T* -[(484 )-1800(*)]TJ -T* -[(485 )-1800(*)-600(LOCKING: acquires and releases workerlock.)]TJ -T* -[(486 )-1800(*/)]TJ -0 -1.189 TD -[(487 )-1200(void)]TJ -0 -1.189 TD -[(488 )-1200(add_worker\(pthread_t)-600(tid, int sockfd\))]TJ -T* -[(489 )-1200({)]TJ -T* -[(490 )-2400(struct)-600(worker_thread )-1800(*wtp;)]TJ -0 -1.902 TD -[(491 )-2400(if)-600(\(\(wtp = malloc\(sizeof\(struct worker_thread\)\)\) == NULL\) {)]TJ -0 -1.189 TD -[(492 )-4800(log_ret\("add_worker:)-600(can\325t malloc"\);)]TJ -0 -1.189 TD -[(493 )-4800(pthread_exit\(\(void)-600(*\)1\);)]TJ -0 -1.189 TD -[(494 )-2400(})]TJ -T* -[(495 )-2400(wtp->tid)]TJ -0.6 Tc 10.2 0 Td -(=t)Tj -0 Tc 1.8 0 Td -(id;)Tj --12 -1.189 Td -[(496 )-2400(wtp->sockfd)]TJ -0.6 Tc 12 0 Td -(=s)Tj -0 Tc 1.8 0 Td -(ockfd;)Tj --13.8 -1.189 Td -[(497 )-2400(pthread_mutex_lock\(&workerlock\);)]TJ -T* -[(498 )-2400(wtp->prev)]TJ -0.6 Tc 10.8 0 Td -(=N)Tj -0 Tc 1.8 0 Td -(ULL;)Tj --12.6 -1.189 Td -[(499 )-2400(wtp->next)]TJ -0.6 Tc 10.8 0 Td -(=w)Tj -0 Tc 1.8 0 Td -(orkers;)Tj --12.6 -1.189 Td -[(500 )-2400(if)-600(\(workers == NULL\))]TJ -T* -[(501 )-4800(workers)]TJ -0.6 Tc 12 0 Td -(=w)Tj -0 Tc 1.8 0 Td -(tp;)Tj --13.8 -1.189 Td -[(502 )-2400(else)]TJ -T* -[(503 )-4800(workers->prev)]TJ -0.6 Tc 15.6 0 Td -(=w)Tj -0 Tc 1.8 0 Td -(tp;)Tj --17.4 -1.189 Td -[(504 )-2400(pthread_mutex_unlock\(&workerlock\);)]TJ -T* -[(505 )-1200(})]TJ -0 -1.902 TD -[(506 )-1200(/*)]TJ -0 -1.189 TD -[(507 )-1800(*)-600(Cancel \(kill\) all outstanding workers.)]TJ -T* -[(508 )-1800(*)]TJ -T* -[(509 )-1800(*)-600(LOCKING: acquires and releases workerlock.)]TJ -T* -[(510 )-1800(*/)]TJ -T* -[(511 )-1200(void)]TJ -T* -[(512 )-1200(kill_workers\(void\))]TJ -0 -1.189 TD -[(513 )-1200({)]TJ -0 -1.189 TD -[(514 )-2400(struct)-600(worker_thread )-1800(*wtp;)]TJ -0 -1.902 TD -[(515 )-2400(pthread_mutex_lock\(&workerlock\);)]TJ -0 -1.189 TD -[(516 )-2400(for)-600(\(wtp = workers; wtp != NULL; wtp = wtp->next\))]TJ -T* -[(517 )-4800(pthread_cancel\(wtp->tid\);)]TJ -T* -[(518 )-2400(pthread_mutex_unlock\(&workerlock\);)]TJ -T* -[(519 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2395.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 215.5121 Tm -[([482 )167(\320 )167(505])]TJ -/TT0 1 Tf -5 0 Td -(add_worker)Tj -/T1_1 1 Tf -6.296 0 Td -[(adds )-46(a)]TJ -/TT0 1 Tf -3.238 0 Td -(worker_thread)Tj -/T1_1 1 Tf -8.096 0 Td -[(str)8(uctur)18(e)-296(to)-296(the )-46(list )-46(of )-46(active )-46(thr)18(eads.)]TJ --0.092 Tc -17.63 -1.2 Td -[(We )-402(a)]TJ -0 Tc 2.355 0 Td -[(llocate )-218(memory )-218(for )-218(the )-218(str)8(uctur)18(e, )-218(initialize )-218(it, )-218(lock )-218(the)]TJ -/TT0 1 Tf -25.645 0 Td -(workerlock)Tj -/T1_1 1 Tf --28 -1.2 Td -[(mutex, add the str)8(uctur)18(e)-250(to)-250(the head of the list, and unlock the mutex.)]TJ --5 -1.6 Td -[([506 )167(\320 )167(519])-668(The)]TJ -/TT0 1 Tf -7.059 0 Td -(kill_workers)Tj -/T1_1 1 Tf -7.586 0 Td -[(function )-135(walks )-135(the )-135(list )-135(of )-135(worker )-135(thr)18(eads )-135(and )-135(cancels)]TJ --9.645 -1.2 Td -[(each )-118(one.)]TJ --0.092 Tc 4.848 0 Td -[(We )-302(h)]TJ -0 Tc 2.337 0 Td -[(old )-118(the)]TJ -/TT0 1 Tf -3.571 0 Td -(workerlock)Tj -/T1_1 1 Tf -6.368 0 Td -[(mutex )-118(while )-118(we )-118(walk )-118(the )-118(list.)-617(Recall)]TJ --17.123 -1.2 Td -(that)Tj -/TT0 1 Tf -2.187 0 Td -(pthread_cancel)Tj -/T1_1 1 Tf -8.853 0 Td -[(mer)18(ely )-203(schedules )-203(a )-203(thr)18(ead )-203(for )-203(cancellation; )-203(actual)]TJ --11.04 -1.2 Td -[(cancellation happens when each thr)18(ead r)18(eaches the next cancellation point.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47166 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(813)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(38 )-1200(/*)]TJ -0 -1.189 TD -[(39 )-1800(*)-600(Needed for logging.)]TJ -T* -[(40 )-1800(*/)]TJ -T* -[(41 )-1200(int)]TJ -16.8 0 Td -(log_to_stderr = 0;)Tj --16.8 -1.902 Td -[(42 )-1200(/*)]TJ -T* -[(43 )-1800(*)-600(Printer-related stuff.)]TJ -T* -[(44 )-1800(*/)]TJ -T* -[(45 )-1200(struct)-600(addrinfo )-4200(*printer;)]TJ -T* -[(46 )-1200(char)]TJ -16.8 0 Td -(*printer_name;)Tj --16.8 -1.189 Td -[(47 )-1200(pthread_mutex_t)-4800(configlock = PTHREAD_MUTEX_INITIALIZER;)]TJ -T* -[(48 )-1200(int)]TJ -16.8 0 Td -(reread;)Tj --16.8 -1.902 Td -[(49 )-1200(/*)]TJ -T* -[(50 )-1800(*)-600(Thread-related stuff.)]TJ -0 -1.189 TD -[(51 )-1800(*/)]TJ -0 -1.189 TD -[(52 )-1200(struct)-600(worker_thread )-1200(*workers;)]TJ -T* -[(53 )-1200(pthread_mutex_t)-4800(workerlock = PTHREAD_MUTEX_INITIALIZER;)]TJ -T* -[(54 )-1200(sigset_t)]TJ -16.8 0 Td -(mask;)Tj --16.8 -1.902 Td -[(55 )-1200(/*)]TJ -T* -[(56 )-1800(*)-600(Job-related stuff.)]TJ -T* -[(57 )-1800(*/)]TJ -T* -[(58 )-1200(struct)-600(job )]TJ -16.8 0 Td -[(*jobhead,)-600(*jobtail;)]TJ --16.8 -1.189 Td -[(59 )-1200(int)]TJ -16.8 0 Td -(jobfd;)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4107.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 386.6916 Tm -[([38 )167(\320 )167(41])-668(Our )-192(logging )-192(functions )-192(r)18(equir)]TJ -0.4419 Tc 17.306 0 Td -(et)Tj -0 Tc 1.247 0 Td -[(hat )-192(we )-192(de\336ne )-192(the)]TJ -/TT0 1 Tf -8.632 0 Td -(log_to_stderr)Tj -/T1_0 1 Tf -8.242 0 Td -(variable)Tj --31.426 -1.2 Td -[(and )-86(set )-86(it )-86(to )-86(0 )-86(to )-86(for)18(ce )-86(log )-86(messages )-86(to )-86(be )-86(sent )-86(to )-86(the )-86(system )-86(log )-86(instead )-86(of )-86(to)]TJ -0 -1.2 TD -[(the )-88(standar)]TJ -0.3378 Tc 5.045 0 Td -(de)Tj -0 Tc 1.428 0 Td -[(rr)18(or)]TJ -0.5878 Tc 1.639 0 Td -(.I)Tj -0 Tc 1.175 0 Td -(n)Tj -/TT0 1 Tf -0.92 0 Td -(print.c)Tj -/T1_0 1 Tf -[(,)-338(we)-338(de\336ned)]TJ -/TT0 1 Tf -10.143 0 Td -(log_to_stderr)Tj -/T1_0 1 Tf -8.138 0 Td -[(and )-88(set )-88(it )-88(to )-88(1,)]TJ --28.487 -1.2 Td -[(even )-106(though )-106(we )-106(don\325t )-106(use )-106(the )-106(log )-106(functions )-106(in )-106(the )-106(user )-106(command.)]TJ --0.092 Tc 30.761 0 Td -[(We )-291(c)]TJ -0 Tc 2.188 0 Td -(ould)Tj --32.948 -1.2 Td -[(have )-70(avoided )-70(this )-70(by )-70(splitting )-70(the )-70(utility )-70(functions )-70(into )-70(two )-70(separate )-70(\336les: )-70(one)]TJ -T* -(for the server and one for the client commands.)Tj --4 -1.6 Td -[([42 )167(\320 )167(48])]TJ --0.092 Tc 4 0 Td -[(We )-185(u)]TJ -0 Tc 2.241 0 Td -[(se )-1(the )-1(global )-1(variable)]TJ -/TT0 1 Tf -9.606 0 Td -(printer)Tj -/T1_0 1 Tf -4.451 0 Td -[(to )-1(hold )-1(the )-1(network )-1(addr)18(ess )-1(of )-1(the )-1(printer)73(.)]TJ --0.092 Tc -16.298 -1.2 Td -[(We )-313(s)]TJ -0 Tc 2.19 0 Td -(tor)Tj -0.3791 Tc 1.249 0 Td -(et)Tj -0 Tc 1.184 0 Td -[(he )-129(host )-129(name )-129(of )-129(the )-129(printer )-129(in)]TJ -/TT0 1 Tf -14.245 0 Td -(printer_name)Tj -/T1_0 1 Tf -0.6291 Tc (.T)Tj -0 Tc 8.692 0 Td -(he)Tj -/TT0 1 Tf -1.44 0 Td -(configlock)Tj -/T1_0 1 Tf --29 -1.2 Td -[(mutex )-131(pr)18(otects )-131(access )-131(to )-131(the)]TJ -/TT0 1 Tf -13.211 0 Td -(reread)Tj -/T1_0 1 Tf -3.981 0 Td -[(variable, )-131(which )-131(is )-131(used )-131(to )-131(indicate )-131(that)]TJ --17.192 -1.2 Td -[(the )-242(daemon )-242(needs )-242(to )-242(r)17(er)18(ead )-242(the )-242(con\336guration )-242(\336le, )-242(pr)18(esumably )-242(because )-242(an)]TJ -0 -1.2 Td -[(administrator changed the printer or its network addr)18(ess.)]TJ --4 -1.6 Td -[([49 )167(\320 )167(54])-668(Next, )-13(we )-13(de\336ne )-13(the )-13(thr)18(ead-r)18(elated )-13(variables.)]TJ --0.092 Tc 24.205 0 Td -[(We )-197(u)]TJ -0 Tc 2.253 0 Td -(se)Tj -/TT0 1 Tf -1.166 0 Td -(workers)Tj -/T1_0 1 Tf -4.463 0 Td -[(as )-13(the )-13(head )-13(of )-13(a)]TJ --28.086 -1.2 Td -[(doubly )-145(linked )-145(list )-145(of )-145(thr)18(eads )-145(that )-145(ar)]TJ -0.3949 Tc 16.46 0 Td -(er)Tj -0 Tc 1.251 0 Td -[(eceiving )-145(\336les )-145(fr)18(om )-145(clients.)-645(This )-145(list )-145(is)]TJ --17.711 -1.2 Td -[(pr)18(otected )-58(by )-58(the )-58(mutex)]TJ -/TT0 1 Tf -10.726 0 Td -(workerlock)Tj -/T1_0 1 Tf -0.5583 Tc (.T)Tj -0 Tc 7.421 0 Td -[(he )-58(signal )-58(mask )-58(used )-58(by )-58(the )-58(thr)18(eads )-58(is)]TJ --18.147 -1.2 Td -(held in the variable)Tj -/TT0 1 Tf -8.797 0 Td -(mask)Tj -/T1_0 1 Tf -(.)Tj --12.797 -1.6 Td -[([55 )167(\320 )167(59])-668(For )-86(the )-86(list )-86(of )-86(pending )-86(jobs, )-86(we )-86(de\336ne)]TJ -/TT0 1 Tf -21.559 0 Td -(jobhead)Tj -/T1_0 1 Tf -4.536 0 Td -[(to )-86(be )-86(the )-86(start )-86(of )-86(the )-86(list )-86(and)]TJ -/TT0 1 Tf --22.095 -1.2 Td -(jobtail)Tj -/T1_0 1 Tf -4.52 0 Td -[(to )-70(be )-70(the )-70(tail )-70(of )-70(the )-70(list.)-570(This )-70(list )-70(is )-70(also )-70(doubly )-70(linked, )-70(but )-70(we )-70(need)]TJ --4.52 -1.2 Td -[(to )-20(add )-20(jobs )-20(to )-20(the )-20(end )-20(of )-20(the )-20(list, )-20(so )-20(we )-20(must )-20(r)23(emember )-20(a )-20(pointer )-20(to )-20(the )-20(list )-20(tail.)]TJ --0.055 Tc T* -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-77(the )-77(list )-77(of )-77(worker )-77(thr)18(eads, )-77(the )-77(or)18(der )-77(doesn\325t )-77(matter)74(,)-327(so)-327(we)-327(can )-77(add )-77(them)]TJ --1.236 -1.2 Td -[(to )-98(the )-98(head )-98(of )-98(the )-98(list )-98(and )-98(don\325t )-98(need )-98(to )-98(r)13(emember )-99(the )-99(tail )-99(pointer)75(.)]TJ -/TT0 1 Tf -30.936 0 Td -(jobfd)Tj -/T1_0 1 Tf -3.349 0 Td -(is)Tj --34.285 -1.2 Td -(the \336le descriptor for the job \336le.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47167 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(812)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -1.8 Tc 8.9995 0 0 8.9995 134.9919 659.4594 Tm -(1/)Tj -0 Tc 3 0 Td -(*)Tj -2.4 Tc -3 -1.189 Td -(2*)Tj -0 Tc 4.2 0 Td -(Print server daemon.)Tj -2.4 Tc -4.2 -1.189 Td -(3*)Tj -0 Tc 3.6 0 Td -(/)Tj -1.8 Tc -3.6 -1.189 Td -(4#)Tj -0 Tc 3 0 Td -(include "apue.h")Tj -1.8 Tc -3 -1.189 Td -(5#)Tj -0 Tc 3 0 Td -(include )Tj -1.8 Tc -3 -1.189 Td -(6#)Tj -0 Tc 3 0 Td -(include )Tj -1.8 Tc -3 -1.189 Td -(7#)Tj -0 Tc 3 0 Td -(include )Tj -1.8 Tc -3 -1.189 Td -(8#)Tj -0 Tc 3 0 Td -(include )Tj -1.8 Tc -3 -1.189 Td -(9#)Tj -0 Tc 3 0 Td -(include )Tj --3.6 -1.189 Td -[(10 )-1200(#include)-600()]TJ -0 -1.189 TD -[(11 )-1200(#include)-600()]TJ -T* -[(12 )-1200(#include)-600()]TJ -0 -2.14 TD -[(13 )-1200(#include)-600("print.h")]TJ -0 -1.189 TD -[(14 )-1200(#include)-600("ipp.h")]TJ -0 -2.14 TD -[(15 )-1200(/*)]TJ -0 -1.189 TD -[(16 )-1800(*)-600(These are for the HTTP response from the printer.)]TJ -T* -[(17 )-1800(*/)]TJ -T* -[(18 )-1200(#define)-600(HTTP_INFO\(x\) )-1200(\(\(x\))-600(>= 100 && \(x\) <= 199\))]TJ -T* -[(19 )-1200(#define)-600(HTTP_SUCCESS\(x\) \(\(x\) >= 200 && \(x\) <= 299\))]TJ -0 -2.14 TD -[(20 )-1200(/*)]TJ -0 -1.189 TD -[(21 )-1800(*)-600(Describes a print job.)]TJ -T* -[(22 )-1800(*/)]TJ -T* -[(23 )-1200(struct)-600(job {)]TJ -T* -[(24 )-3000(struct)-600(job )-3000(*next; )-3000(/*)-600(next in list */)]TJ -T* -[(25 )-3000(struct)-600(job )-3000(*prev; )-3000(/*)-600(previous in list */)]TJ -T* -[(26 )-3000(int32_t)]TJ -15 0 Td -[(jobid; )-2400(/*)-600(job ID */)]TJ --15 -1.189 Td -[(27 )-3000(struct)-600(printreq )-600(req;)-4200(/* copy of print request */)]TJ -T* -[(28 )-1200(};)]TJ -0 -2.14 TD -[(29 )-1200(/*)]TJ -0 -1.189 TD -[(30 )-1800(*)-600(Describes a thread processing a client request.)]TJ -T* -[(31 )-1800(*/)]TJ -0 -1.189 TD -[(32 )-1200(struct)-600(worker_thread {)]TJ -0 -1.189 TD -[(33 )-3000(struct)-600(worker_thread )-600(*next;)-2400(/* next in list */)]TJ -T* -[(34 )-3000(struct)-600(worker_thread )-600(*prev;)-2400(/* previous in list */)]TJ -T* -[(35 )-3000(pthread_t)]TJ -18.6 0 Td -[(tid; )-2400(/*)-600(thread ID */)]TJ --18.6 -1.189 Td -[(36 )-3000(int)]TJ -18.6 0 Td -[(sockfd; )-600(/*)-600(socket */)]TJ --18.6 -1.189 Td -[(37 )-1200(};)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2352.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 211.2326 Tm -[([1 )167(\320 )167(19])-1168(The )-77(printer )-77(spooling )-77(daemon )-77(includes )-77(the )-77(IPP )-77(header )-77(\336le )-77(that )-77(we )-77(saw )-77(earlier)68(,)]TJ -4 -1.2 Td -[(because )-403(the )-403(daemon )-403(needs )-403(to )-403(communicate )-403(with )-403(the )-403(printer )-403(using )-403(this)]TJ -0 -1.2 TD -[(pr)18(otocol. )-267(The)]TJ -/TT0 1 Tf -6.385 0 Td -(HTTP_INFO)Tj -/T1_1 1 Tf -5.667 0 Td -(and)Tj -/TT0 1 Tf -1.96 0 Td -(HTTP_SUCCESS)Tj -/T1_1 1 Tf -7.467 0 Td -[(macr)18(os )-17(de\336ne )-17(the )-17(status )-17(of )-17(the)]TJ --21.479 -1.2 Td -[(HTTP )-40(r)18(equest )-40(\(r)19(ecall )-39(that )-39(IPP )-39(is )-39(built )-39(on )-39(top )-39(of )-39(HTTP\).)-539(Section )-39(10 )-39(in )-39(RFC )-39(2616)]TJ -T* -(de\336nes the HTTP status codes.)Tj --4 -1.6 Td -[([20 )167(\320 )167(37])-668(The)]TJ -/TT0 1 Tf -5.979 0 Td -(job)Tj -/T1_1 1 Tf -2.106 0 Td -(and)Tj -/TT0 1 Tf -1.999 0 Td -(worker_thread)Tj -/T1_1 1 Tf -8.106 0 Td -[(str)8(uctur)18(es )-55(ar)]TJ -0.3055 Tc 5.576 0 Td -(eu)Tj -0 Tc 1.387 0 Td -[(sed )-56(by )-56(the )-56(spooling )-56(daemon )-56(to)]TJ --21.152 -1.2 Td -[(keep track of print jobs and thr)18(eads accepting print r)18(equests, r)18(espectively)111(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47168 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.2)]TJ -34.152 0 Td -[(UNIX )-250(Standar)18(dization)]TJ -/T1_1 1 Tf -12.181 0 Td -(29)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1380.25 6670.25 cm -0 0 m -3731 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 218.0229 658.9605 Tm -[(Fr)18(eeBSD )-250(Linux )-250(Mac)-250(OS X)-500(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-1827(3.2.0)-1735(10.6.8 )-2170(10)]TJ --7.923 0.625 Td -(Header)Tj -30.014 0 Td -(Description)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1380.25 6450.25 cm -0 0 m -3731 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1380.25 6430.25 cm -0 0 m -3731 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 142.019 634.9238 Tm -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245a)Tj -0 Tc 2.789 0 Td -[(synchr)18(onous I/O)]TJ -/TT0 1 Tf --25.744 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj -/TT0 1 Tf -2.289 0 Td -(cpio)Tj -/T1_0 1 Tf -2.65 0 Td -[(ar)18(chive values)]TJ -/TT0 1 Tf --27.894 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245d)Tj -0 Tc 2.9 0 Td -[(ir)18(ectory entries \(Section 4.22\))]TJ -/TT0 1 Tf --25.855 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245d)Tj -0 Tc 2.9 0 Td -(ynamic linking)Tj -/TT0 1 Tf --25.855 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245\336)Tj -0 Tc 2.894 0 Td -[(le contr)18(ol \(Section 3.14\))]TJ -/TT0 1 Tf --25.849 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245\336)Tj -0 Tc 2.894 0 Td -(lename-matching types)Tj -/TT0 1 Tf --25.849 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245p)Tj -0 Tc 2.89 0 Td -(athname pattern-matching and generation)Tj -/TT0 1 Tf --25.845 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245g)Tj --0.018 Tc 2.845 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(up \336le \(Section 6.4\))Tj -/TT0 1 Tf --26.723 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245c)Tj -0 Tc 2.733 0 Td -(odeset conversion utility)Tj -/TT0 1 Tf --25.688 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245l)Tj -0 Tc 2.58 0 Td -(anguage information constants)Tj -/TT0 1 Tf --25.535 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245m)Tj -0 Tc 3.172 0 Td -(onetary types and functions)Tj -/TT0 1 Tf --26.127 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245n)Tj -0 Tc 2.871 0 Td -(etwork database operations)Tj -/TT0 1 Tf --25.826 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245m)Tj -0 Tc 3.172 0 Td -(essage catalogs)Tj -/TT0 1 Tf --26.127 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245p)Tj -0 Tc 2.89 0 Td -(oll function \(Section 14.4.2\))Tj -/TT0 1 Tf --25.845 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245t)Tj -0 Tc 2.615 0 Td -[(hr)18(eads \(Chapters 1)]TJ -0.25 Tc 8.267 0 Td -(1a)Tj -0 Tc 1.25 0 Td -(nd 12\))Tj -/TT0 1 Tf --35.087 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245p)Tj -0 Tc 2.89 0 Td -(asswor)Tj -0.25 Tc 3.105 0 Td -(d\336)Tj -0 Tc 1.466 0 Td -(le \(Section 6.2\))Tj -/TT0 1 Tf --30.416 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245r)Tj -0 Tc 2.666 0 Td -[(egular expr)18(essions)]TJ -/TT0 1 Tf --25.621 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245e)Tj -0 Tc 2.768 0 Td -(xecution scheduling)Tj -/TT0 1 Tf --25.723 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245s)Tj -0 Tc 2.713 0 Td -[(emaphor)18(es)]TJ -/TT0 1 Tf --25.668 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245s)Tj -0 Tc 2.713 0 Td -(tring operations)Tj -/TT0 1 Tf --25.668 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj -/TT0 1 Tf -2.289 0 Td -(tar)Tj -/T1_0 1 Tf -2.05 0 Td -[(ar)18(chive values)]TJ -/TT0 1 Tf --27.294 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245t)Tj -0 Tc 2.615 0 Td -(erminal I/O \(Chapter 18\))Tj -/TT0 1 Tf --25.57 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245s)Tj -0 Tc 2.713 0 Td -(ymbolic constants)Tj -/TT0 1 Tf --25.668 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245w)Tj -0 Tc 3.123 0 Td -[(or)18(d-expansion de\336nitions)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1380.25 4010.25 cm -0 0 m -3731 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 142.0104 392.9293 Tm -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245I)Tj -0 Tc 2.626 0 Td -(nternet de\336nitions \(Chapter 16\))Tj -/TT0 1 Tf --25.581 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245s)Tj -0 Tc 2.713 0 Td -(ocket local interfaces \(Chapter 16\))Tj -/TT0 1 Tf --25.668 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245I)Tj -0 Tc 2.626 0 Td -[(nternet addr)18(ess family \(Section 16.3\))]TJ -/TT0 1 Tf --25.581 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245T)Tj -0 Tc 2.812 0 Td -[(ransmission Contr)18(ol Pr)18(otocol de\336nitions)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1380.25 3590.25 cm -0 0 m -3731 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 142.0019 350.9158 Tm -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245m)Tj -0 Tc 3.172 0 Td -(emory management declarations)Tj -/TT0 1 Tf --26.127 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj -/TT0 1 Tf -2.289 0 Td -(select)Tj -/T1_0 1 Tf -3.85 0 Td -(function \(Section 14.4.1\))Tj -/TT0 1 Tf --29.094 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245s)Tj -0 Tc 2.713 0 Td -(ockets interface \(Chapter 16\))Tj -/TT0 1 Tf --25.668 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245\336)Tj -0 Tc 2.894 0 Td -(le status \(Chapter 4\))Tj -/TT0 1 Tf --25.849 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245\336)Tj -0 Tc 2.894 0 Td -(le system information)Tj -/TT0 1 Tf --25.849 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245p)Tj --0.018 Tc 2.89 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(cess times \(Section 8.17\))Tj -/TT0 1 Tf --26.768 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245p)Tj -0 Tc 2.89 0 Td -(rimitive system data types \(Section 2.8\))Tj -/TT0 1 Tf --25.845 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245U)Tj -0 Tc 3.067 0 Td -(NIX domain socket de\336nitions \(Section 17.2\))Tj -/TT0 1 Tf --26.022 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245s)Tj -0 Tc 2.713 0 Td -(ystem name \(Section 6.9\))Tj -/TT0 1 Tf --25.668 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 11.098 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245p)Tj --0.018 Tc 2.89 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess contr)18(ol \(Section 8.6\))]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1380.25 2570.25 cm -0 0 m -3731 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3420.25 2570.25 cm -0 0 m -0 4100 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2160.25 2570.25 cm -0 0 m -0 4100 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5111.25 2570.25 cm -0 0 m -0 4100 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1380.25 2570.25 cm -0 0 m -0 4100 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 216.751 238.9283 Tm -(Figure 2.2)Tj -/T1_0 1 Tf -5.195 0 Td -[(Requir)18(ed headers de\336ned by the POSIX standar)18(d)]TJ -9.997 0 0 9.997 129.5613 212.5362 Tm -[(each )-94(functional )-94(ar)18(ea )-94(and )-94(highlight )-94(text )-94(describing )-94(aspects )-94(of )-94(the )-94(standar)]TJ -0.3439 Tc 32.604 0 Td -(dt)Tj -0 Tc 1.281 0 Td -[(hat )-94(depend)]TJ --33.885 -1.2 Td -[(on the support of a particular option.)-500(Many options deal with r)18(eal-time extensions.)]TJ -1.8 -1.2 Td -[(POSIX.1 )-208(does )-208(not )-208(include )-208(the )-208(notion )-208(of )-208(a )-208(super)6(user)]TJ -0.7082 Tc 24.11 0 Td -(.I)Tj -0 Tc 1.295 0 Td -[(nstead, )-208(certain )-208(operations)]TJ --0.018 Tc -27.205 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(quir)Tj -0.2795 Tc 1.831 0 Td -(e\324)Tj -0 Tc 0.999 0 Td -[(\324appr)18(opriate )-29(privileges,\325)]TJ -0.2795 Tc 10.637 0 Td -(\325a)Tj -0 Tc 1.058 0 Td -[(lthough )-30(POSIX.1 )-30(leaves )-30(the )-30(de\336nition )-30(of )-30(this )-30(term )-30(up)]TJ --15.382 -1.2 Td -[(to )-191(the )-191(implementation.)-691(UNIX )-191(systems )-191(that )-191(conform )-191(to )-191(the )-191(Department )-191(of )-191(Defense\325s)]TJ -0 -1.2 TD -[(security )-228(guidelines )-228(have )-228(many )-228(levels )-228(of )-228(security)]TJ -0.7278 Tc 22.454 0 Td -(.I)Tj -0.4779 Tc 1.315 0 Td -(nt)Tj -0 Tc 1.386 0 Td -[(his )-228(text, )-228(however)74(,)-478(we)-478(use )-228(the)]TJ --25.155 -1.2 Td -[(traditional terminology and r)18(efer to operations that r)18(equir)]TJ -0.25 Tc 25.599 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(uper)8(user privilege.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47169 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(944)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Chapter )-278(19)]TJ -/T1_0 1 Tf -3.6 -2.8 Td -(19.1)Tj -/T1_1 1 Tf -3.065 0 Td -[(Both )-195(servers,)]TJ -/TT1 1 Tf -6.366 0 Td -(telnetd)Tj -/T1_1 1 Tf -4.645 0 Td -(and)Tj -/TT1 1 Tf -2.138 0 Td -(rlogind)Tj -/T1_1 1 Tf -0.4451 Tc (,r)Tj -0 Tc 5.282 0 Td -[(un )-195(with )-195(super)8(user )-195(privileges, )-195(so )-195(their)]TJ --18.431 -1.2 Td -(calls to)Tj -/TT1 1 Tf -3.322 0 Td -(chown)Tj -/T1_1 1 Tf -3.25 0 Td -(and)Tj -/TT1 1 Tf -1.943 0 Td -(chmod)Tj -/T1_1 1 Tf -3.25 0 Td -(succeed.)Tj -/T1_0 1 Tf --14.83 -1.84 Td -(19.2)Tj -/T1_1 1 Tf -3.065 0 Td -(Execute)Tj -/TT1 1 Tf -4.256 0 Td -[(pty )267(-n )267(stty )267(-a)]TJ -/T1_1 1 Tf -8.398 0 Td -[(to )-548(pr)18(event )-548(the )-548(slave\325s)]TJ -/TT1 1 Tf -11.822 0 Td -(termios)Tj -/T1_1 1 Tf -4.998 0 Td -[(str)8(uctur)]TJ -0.7983 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.777 0 Td -(nd)Tj -/TT1 1 Tf --34.742 -1.2 Td -(winsize)Tj -/T1_1 1 Tf -4.45 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ef)Tj --0.018 Tc 1.062 0 Td -(ro)Tj -0.25 Tc 0.923 0 Td -(mb)Tj -0 Tc 1.686 0 Td -(eing initialized.)Tj -/T1_0 1 Tf --14.676 -1.84 Td -(19.4)Tj -/T1_1 1 Tf -3.065 0 Td -(Unfortunately)Tj -0.4107 Tc 6.186 0 Td -(,t)Tj -0 Tc 0.987 0 Td -(he)Tj -/TT1 1 Tf -1.472 0 Td -(F_SETFL)Tj -/T1_1 1 Tf -4.611 0 Td -[(command )-161(of)]TJ -/TT1 1 Tf -6.15 0 Td -(fcntl)Tj -/T1_1 1 Tf -3.411 0 Td -[(doesn\325t )-161(allow )-161(the )-161(r)19(ead\320write)]TJ --22.816 -1.2 Td -(status to be changed.)Tj -/T1_0 1 Tf --3.065 -1.84 Td -(19.5)Tj -/T1_1 1 Tf -3.065 0 Td -(Ther)Tj -0.3313 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.31 0 Td -[(re )-117(t)]TJ -0 Tc 1.513 0 Td -[(hr)18(ee )-81(pr)18(ocess )-81(gr)17(oups:)]TJ -9.563 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.664 -0.04 Td -[(the )-81(login )-81(shell,)]TJ -6.964 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.664 -0.04 Td -(the)Tj -/TT1 1 Tf -1.718 0 Td -(pty)Tj -/T1_1 1 Tf -2.131 0 Td -[(par)18(ent )-81(and )-81(child,)]TJ --28.246 -1.2 Td -(and)Tj -2.04 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.68 -0.04 Td -(the)Tj -/TT1 1 Tf -1.734 0 Td -(cat)Tj -/T1_1 1 Tf -2.147 0 Td -[(pr)18(ocess. )-347(The)-347(\336rst )-97(two )-97(pr)18(ocess )-97(gr)18(oups )-97(constitute )-97(a )-97(session )-97(with)]TJ --7.434 -1.2 Td -[(the )-117(login )-117(shell )-117(as )-117(the )-117(session )-117(leader)]TJ -0.6166 Tc 16.082 0 Td -(.T)Tj -0 Tc 1.48 0 Td -[(he )-117(second )-117(session )-117(contains )-117(only )-117(the)]TJ -/TT1 1 Tf -16.574 0 Td -(cat)Tj -/T1_1 1 Tf --34.135 -1.2 Td -[(pr)18(ocess. )-298(The)-299(\336rst )-48(pr)18(ocess )-48(gr)18(oup )-48(\(the )-48(login )-48(shell\) )-48(is )-48(a )-48(backgr)15(ound )-48(pr)18(ocess )-48(gr)17(oup,)]TJ -0 -1.2 Td -(and the other two ar)Tj -0.25 Tc 8.991 0 Td -(ef)Tj -0 Tc 1.062 0 Td -[(or)18(egr)18(ound pr)18(ocess gr)18(oups.)]TJ -/T1_0 1 Tf --13.118 -1.84 Td -(19.6)Tj -/T1_1 1 Tf -3.065 0 Td -(First,)Tj -/TT1 1 Tf -2.508 0 Td -(cat)Tj -/T1_1 1 Tf -2.066 0 Td -[(terminates )-16(when )-16(it )-16(r)18(eceives )-16(the )-16(end )-16(of )-16(\336le )-16(fr)17(om )-16(its )-16(line )-16(discipline.)-516(This)]TJ --4.574 -1.2 Td -[(causes )-157(the )-157(PTY )-157(slave )-157(to )-157(terminate, )-157(which )-157(causes )-157(the )-157(PTY )-157(master )-157(to )-157(terminate.)]TJ -0 -1.2 TD -[(This )-106(in )-106(turn )-106(generates )-106(an )-106(end )-106(of )-106(\336le )-106(for )-106(the)]TJ -/TT1 1 Tf -20.134 0 Td -(pty)Tj -/T1_1 1 Tf -2.156 0 Td -[(par)18(ent )-106(that\325s )-106(r)18(eading )-106(fr)18(om )-106(the)]TJ --22.29 -1.2 Td -[(PTY )-197(master)]TJ -0.6975 Tc 5.264 0 Td -(.T)Tj -0 Tc 1.561 0 Td -[(he )-197(par)18(ent )-197(sends)]TJ -/TT1 1 Tf -7.788 0 Td -(SIGTERM)Tj -/T1_1 1 Tf -4.647 0 Td -[(to )-197(the )-197(child, )-197(so )-197(the )-197(child )-197(terminates)]TJ --19.261 -1.2 Td -[(next. )-352(\(The)-353(child )-102(doesn\325t )-102(catch )-102(this )-102(signal.\))-604(Finally)]TJ -0.3525 Tc 22.695 0 Td -(,t)Tj -0 Tc 0.929 0 Td -[(he )-102(par)18(ent )-102(calls)]TJ -/TT1 1 Tf -6.933 0 Td -(exit\(0\))Tj -/T1_1 1 Tf -4.552 0 Td -(at)Tj --35.109 -1.2 Td -(the end of the)Tj -/TT1 1 Tf -6.325 0 Td -(main)Tj -/T1_1 1 Tf -2.65 0 Td -(function.)Tj --8.975 -1.8 Td -[(The r)18(elevant output fr)18(om the pr)18(ogram shown in Figur)]TJ -0.25 Tc 23.886 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.29 is)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 178.2399 388.6767 Tm -[(cat )-3600(e)]TJ -2.4 Tc 7.2 0 Td -(=2)Tj -0 Tc 3.6 0 Td -[(70, chars =)-3000(274, stat =)-1800(0:)]TJ --10.8 -1.189 Td -[(pty )-3600(e)]TJ -2.4 Tc 7.2 0 Td -(=2)Tj -0 Tc 3.6 0 Td -[(62, chars =)-3600(40, stat =)-1200(15: F)-3000(X)]TJ --10.8 -1.189 Td -[(pty )-3600(e)]TJ -2.4 Tc 7.2 0 Td -(=2)Tj -0 Tc 3.6 0 Td -[(88, chars =)-3000(188, stat =)-1800(0:)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5928 342.8794 Tm -(19.7)Tj -/T1_1 1 Tf -3.065 0 Td -[(This )-41(can )-41(be )-41(done )-41(with )-41(the )-41(shell\325s)]TJ -/TT1 1 Tf -14.912 0 Td -(echo)Tj -/T1_1 1 Tf -2.691 0 Td -[(command )-41(and )-41(the)]TJ -/TT1 1 Tf -8.402 0 Td -(date)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.624 -0.04 Td -[(command, )-41(all)]TJ --29.863 -1.2 Td -(in a subshell:)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 178.2399 316.3208 Tm -(#!/bin/sh)Tj -0.6 Tc 0 -1.189 TD -(\(e)Tj -0 Tc 1.8 0 Td -(cho "Script started on " `date`;)Tj --0.6 -1.189 Td -(pty "${SHELL:-/bin/sh}";)Tj -T* -(echo "Script done on " `date` \) | tee typescript)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5928 263.0346 Tm -(19.8)Tj -/T1_1 1 Tf -3.065 0 Td -[(The )-20(line )-20(discipline )-20(above )-20(the )-20(PTY )-20(slave )-20(has )-20(echo )-20(enabled, )-20(so )-20(whatever)]TJ -/TT1 1 Tf -31.473 0 Td -(pty)Tj -/T1_1 1 Tf --0.018 Tc 2.071 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ads)Tj --34.4 -1.2 Td -[(on )-54(its )-54(standar)]TJ -0.3037 Tc 6.096 0 Td -(di)Tj -0 Tc 1.206 0 Td -[(nput )-54(and )-54(writes )-54(to )-54(the )-54(PTY )-54(master )-54(gets )-54(echoed )-54(by )-54(default.)-551(This)]TJ --7.302 -1.2 Td -[(echoing )-111(is )-111(done )-111(by )-111(the )-111(line )-111(discipline )-111(module )-111(above )-111(the )-111(slave )-111(even )-111(though )-111(the)]TJ -0 -1.2 TD -[(pr)18(ogram \()]TJ -/TT1 1 Tf -(ttyname)Tj -/T1_1 1 Tf -0.25 Tc (\)n)Tj -0 Tc 9.806 0 Td -[(ever r)18(eads the data.)]TJ -/TT0 1 Tf --16.471 -3.12 Td -[(Chapter )-278(20)]TJ -/T1_0 1 Tf -3.6 -2.56 Td -(20.1)Tj -/T1_1 1 Tf -3.065 0 Td -[(Our )-138(conservative )-138(locking )-138(in)]TJ -/TT1 1 Tf -13.073 0 Td -(_db_dodelete)Tj -/T1_1 1 Tf -7.589 0 Td -[(is )-138(meant )-138(to )-138(avoid )-138(race )-138(conditions)]TJ --20.661 -1.2 Td -(with)Tj -/TT1 1 Tf -2.289 0 Td -(db_nextrec)Tj -/T1_1 1 Tf -0.5065 Tc (.I)Tj -0.2564 Tc 7.094 0 Td -(ft)Tj -0 Tc 0.915 0 Td -[(he )-6(call )-6(to)]TJ -/TT1 1 Tf -4.228 0 Td -(_db_writedat)Tj -/T1_1 1 Tf -7.456 0 Td -(wer)Tj -0.2564 Tc 1.69 0 Td -(en)Tj -0 Tc 1.317 0 Td -[(ot )-6(pr)18(otected )-6(with )-6(a )-6(write)]TJ --24.99 -1.2 Td -[(lock, )-264(it )-264(would )-264(be )-264(possible )-264(to )-264(erase )-264(the )-264(data )-264(r)22(ecor)]TJ -0.5136 Tc 23.548 0 Td -(dw)Tj -0 Tc 1.959 0 Td -(hile)Tj -/TT1 1 Tf -2.157 0 Td -(db_nextrec)Tj -/T1_1 1 Tf -6.514 0 Td -(was)Tj --0.018 Tc -34.177 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading )-126(that )-126(data )-126(r)17(ecor)18(d:)]TJ -/TT1 1 Tf -10.8 0 Td -(db_nextrec)Tj -/T1_1 1 Tf -6.376 0 Td -[(would )-126(r)18(ead )-126(an )-126(index )-126(r)17(ecor)18(d, )-126(determine)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47170 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(742)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pseudo )-250(T)92(erminals )]TJ -38.741 0 Td -[(Chapter)-500(19)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 129.5922 668.9599 Tm -[(Ex)10(er)20(cises)]TJ -/T1_0 1 Tf -8.9995 0 0 8.9995 129.5922 647.9611 Tm -(19.1)Tj -/T1_1 1 Tf -3.065 0 Td -[(When )-31(we )-31(r)18(emotely )-31(log )-31(in )-31(to )-31(a )-31(BSD )-31(system )-31(using )-31(either)]TJ -/TT1 1 Tf -24.632 0 Td -(telnet)Tj -/T1_1 1 Tf -3.881 0 Td -(or)Tj -/TT1 1 Tf -1.222 0 Td -(rlogin)Tj -/T1_1 1 Tf -0.2811 Tc (,t)Tj -0 Tc 4.457 0 Td -[(he )-31(ownership)]TJ --34.192 -1.222 Td -[(of )-115(the )-115(PTY )-115(slave )-115(and )-115(its )-115(permissions )-115(ar)]TJ -0.3649 Tc 17.914 0 Td -(es)Tj -0 Tc 1.268 0 Td -[(et, )-115(as )-115(we )-115(described )-115(in )-115(Section )-115(19.3.)-615(How )-115(does)]TJ --19.182 -1.222 Td -(this happen?)Tj -/T1_0 1 Tf --3.065 -1.667 Td -(19.2)Tj -/T1_1 1 Tf -3.065 0 Td -[(Use )-150(the)]TJ -/TT1 1 Tf -3.869 0 Td -(pty)Tj -/T1_1 1 Tf -2.2 0 Td -[(pr)18(ogram )-150(to )-150(determine )-150(the )-150(values )-150(used )-150(by )-150(your )-150(system )-150(to )-150(initialize )-150(a )-150(slave)]TJ --6.069 -1.222 Td -(PTY\325s)Tj -/TT1 1 Tf -2.836 0 Td -(termios)Tj -/T1_1 1 Tf -4.45 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(nd)Tj -/TT1 1 Tf -1.443 0 Td -(winsize)Tj -/T1_1 1 Tf -4.45 0 Td -[(str)8(uctur)18(e.)]TJ -/T1_0 1 Tf --20.963 -1.667 Td -(19.3)Tj -/T1_1 1 Tf -3.065 0 Td -(Recode the)Tj -/TT1 1 Tf -5.114 0 Td -(loop)Tj -/T1_1 1 Tf -2.65 0 Td -(function \(Figur)Tj -0.25 Tc 6.673 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(9.12\) as a single pr)18(ocess using either)]TJ -/TT1 1 Tf -16.183 0 Td -(select)Tj -/T1_1 1 Tf -3.85 0 Td -(or)Tj -/TT1 1 Tf -1.191 0 Td -(poll)Tj -/T1_1 1 Tf -(.)Tj -/T1_0 1 Tf --39.955 -1.667 Td -(19.4)Tj -/T1_1 1 Tf -3.065 0 Td -[(In )-361(the )-361(child )-361(pr)19(ocess )-361(after)]TJ -/TT1 1 Tf -12.906 0 Td -(pty_fork)Tj -/T1_1 1 Tf --0.018 Tc 5.411 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns, )-361(standar)]TJ -0.6106 Tc 6.511 0 Td -(di)Tj -0 Tc 1.513 0 Td -[(nput, )-361(standar)]TJ -0.6106 Tc 6.293 0 Td -(do)Tj -0 Tc 1.768 0 Td -[(utput, )-361(and)]TJ --35.256 -1.222 Td -(standar)Tj -0.27 Tc 3.32 0 Td -(de)Tj -0 Tc 1.36 0 Td -[(rr)18(or )-20(ar)]TJ -0.2701 Tc 2.86 0 Td -(ea)Tj -0 Tc 1.249 0 Td -[(ll )-20(open )-20(for )-20(r)18(ead\320write. )-270(Can)-270(you )-20(change )-20(standar)]TJ -0.2701 Tc 21.206 0 Td -(di)Tj -0 Tc 1.172 0 Td -[(nput )-20(to )-20(be )-20(r)18(ead-only)]TJ --31.167 -1.222 Td -(and the other two to be write-only?)Tj -/T1_0 1 Tf --3.065 -1.667 Td -(19.5)Tj -/T1_1 1 Tf -3.065 0 Td -[(In )-64(Figur)]TJ -0.3144 Tc 3.616 0 Td -(e1)Tj -0 Tc 1.293 0 Td -[(9.13, )-64(identify )-64(which )-64(pr)18(ocess )-64(gr)18(oups )-64(ar)16(e)-314(in)-314(t)-1(he )-64(for)18(egr)18(ound )-64(and )-64(which )-64(ar)17(e)-314(in)-314(t)-1(he)]TJ --4.91 -1.222 Td -[(backgr)18(ound, and identify the session leaders.)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(19.6)Tj -/T1_1 1 Tf -3.065 0 Td -[(In )-159(Figur)]TJ -0.4092 Tc 3.711 0 Td -(e1)Tj -0 Tc 1.388 0 Td -[(9.13, )-159(in )-159(what )-159(or)18(der )-159(do )-159(the )-159(pr)18(ocesses )-159(terminate )-159(when )-159(we )-159(type )-159(the )-159(end-of-\336le)]TJ --5.099 -1.222 Td -[(character? )-250(V)111(erify this with pr)18(ocess accounting, if possible.)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(19.7)Tj -/T1_1 1 Tf -3.065 0 Td -(The)Tj -/TT1 1 Tf -1.997 0 Td -(script)Tj -/T1_1 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.656 -0.04 Td -[(pr)18(ogram )-73(normally )-73(adds )-73(to )-73(the )-73(beginning )-73(of )-73(the )-73(output )-73(\336le )-73(a )-73(line )-73(with )-73(the)]TJ --7.086 -1.222 Td -[(starting )-145(time, )-145(and )-145(to )-145(the )-145(end )-145(of )-145(the )-145(output )-145(\336le )-145(another )-145(line )-145(with )-145(the )-145(ending )-145(time.)-641(Add)]TJ -0 -1.222 TD -[(these featur)18(es to the simple shell script that we showed.)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(19.8)Tj -/T1_1 1 Tf -3.065 0 Td -[(Explain )-208(why )-208(the )-208(contents )-208(of )-208(the )-208(\336le)]TJ -/TT1 1 Tf -17.308 0 Td -(data)Tj -/T1_1 1 Tf -2.858 0 Td -(ar)Tj -0.458 Tc 0.877 0 Td -(eo)Tj -0 Tc 1.483 0 Td -[(utput )-208(to )-208(the )-208(terminal )-208(in )-208(the )-208(following)]TJ --22.526 -1.222 Td -[(example, )-191(even )-191(though )-191(the )-191(pr)17(ogram)]TJ -/TT1 1 Tf -16.75 0 Td -(ttyname)Tj -/T1_1 1 Tf -4.641 0 Td -(\(Figur)Tj -0.4412 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.42 0 Td -[(8.16\) )-191(only )-191(generates )-191(output )-191(and)]TJ --25.528 -1.222 Td -[(never r)18(eads its input.)]TJ -/TT1 1 Tf -2 -1.8 Td -($)Tj -/TT2 1 Tf -1.2 0 Td -(cat data)Tj -/T1_2 1 Tf -0.25 Tc 14.8 0 Td -(a\336)Tj -0 Tc 1.222 0 Td -(le with two lines)Tj -/TT1 1 Tf --17.222 -1.189 Td -(hello,)Tj -0 -1.189 TD -(world)Tj -T* -($)Tj -/TT2 1 Tf -1.2 0 Td -(pty -i < data ttyname)Tj -/T1_2 1 Tf -14.8 0 Td -(-i says ignor)Tj -0.25 Tc 4.982 0 Td -(ee)Tj -0 Tc 1.028 0 Td -(of on stdin)Tj -/TT1 1 Tf --22.01 -1.189 Td -(hello,)Tj -/T1_2 1 Tf -16 0 Td -(wher)Tj -0.25 Tc 1.982 0 Td -(ed)Tj -0 Tc 1.139 0 Td -[(id these two lines come fr)18(om?)]TJ -/TT1 1 Tf --19.121 -1.189 Td -(world)Tj -0 -1.189 TD -(fd 0: /dev/ttys005)Tj -/T1_2 1 Tf -16 0 Td -[(we expect these thr)18(ee lines fr)18(om ttyname)]TJ -/TT1 1 Tf --16 -1.189 Td -(fd 1: /dev/ttys005)Tj -0 -1.189 TD -(fd 2: /dev/ttys005)Tj -/T1_0 1 Tf --5.065 -2.278 Td -(19.9)Tj -/T1_1 1 Tf --0.074 Tc 3.065 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-70(a )-70(pr)18(ogram )-70(that )-70(calls)]TJ -/TT1 1 Tf -10.737 0 Td -(pty_fork)Tj -/T1_1 1 Tf -5.12 0 Td -[(and )-70(have )-70(the )-70(child)]TJ -/TT1 1 Tf -8.704 0 Td -(exec)Tj -/T1_1 1 Tf -2.72 0 Td -[(another )-70(pr)18(ogram )-70(that )-70(you)]TJ --28.602 -1.222 Td -[(will )-109(write.)-609(The )-109(new )-109(pr)18(ogram )-109(that )-109(the )-109(child)]TJ -/TT1 1 Tf -20.173 0 Td -(exec)Tj -/T1_1 1 Tf -0.3592 Tc (sm)Tj -0 Tc 4.066 0 Td -[(ust )-109(catch)]TJ -/TT1 1 Tf -4.368 0 Td -(SIGTERM)Tj -/T1_1 1 Tf -4.559 0 Td -(and)Tj -/TT1 1 Tf -2.052 0 Td -(SIGWINCH)Tj -/T1_1 1 Tf -(.)Tj --35.218 -1.222 Td -[(When )-1(it )-1(catches )-1(a )-1(signal, )-1(the )-1(pr)21(ogram should print that it did; for the latter signal, it should)]TJ -0 -1.222 TD -[(also )-132(print )-132(the )-132(terminal\325s )-132(window )-132(size.)-632(Then )-132(have )-132(the )-132(par)14(ent )-133(pr)18(ocess )-133(send )-133(the)]TJ -/TT1 1 Tf -36.068 0 Td -(SIGTERM)Tj -/T1_1 1 Tf --36.068 -1.222 Td -[(signal )-126(to )-126(the )-126(pr)18(ocess )-126(gr)18(oup )-126(of )-126(the )-126(PTY )-126(slave )-126(with )-126(the)]TJ -/TT1 1 Tf -24.844 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.376 0 Td -[(command )-126(we )-126(described )-126(in)]TJ --28.219 -1.222 Td -[(Section )-118(19.7.)-618(Read )-118(back )-118(fr)18(om )-118(the )-118(slave )-118(to )-118(verify )-118(that )-118(the )-118(signal )-118(was )-118(caught.)-615(Follow )-118(this)]TJ -0 -1.222 TD -[(with )-96(the )-96(par)18(ent )-96(setting )-96(the )-96(window )-96(size )-96(of )-96(the )-96(PTY )-96(slave, )-96(and )-96(then )-96(r)18(ead )-96(back )-96(the )-96(slave\325s)]TJ -0 -1.222 TD -[(output )-309(again.)-809(Have )-309(the )-309(par)18(ent)]TJ -/TT1 1 Tf -15.358 0 Td -(exit)Tj -/T1_1 1 Tf -2.959 0 Td -[(and )-309(determine )-309(whether )-309(the )-309(slave )-309(pr)18(ocess )-309(also)]TJ --18.317 -1.222 Td -(terminates; if so, how does it terminate?)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47171 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(730)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pseudo )-250(T)92(erminals )]TJ -38.741 0 Td -[(Chapter)-500(19)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -[(struct termios)-1200(orig_termios;)]TJ -0 -1.189 TD -[(struct winsize)-1200(size;)]TJ -0 -2.021 TD -(interactive = isatty\(STDIN_FILENO\);)Tj -0 -1.189 TD -(ignoreeof = 0;)Tj -T* -(noecho = 0;)Tj -0 -1.189 TD -(verbose = 0;)Tj -0 -1.189 TD -(driver = NULL;)Tj -0 -2.021 TD -[(opterr = 0;)-3000(/* don\325t want getopt\(\) writing to stderr */)]TJ -0 -1.189 TD -(while \(\(c = getopt\(argc, argv, OPTSTR\)\) != EOF\) {)Tj -2.4 -1.189 Td -(switch \(c\) {)Tj -T* -[(case \325d\325:)-4200(/* driver for stdin/stdout */)]TJ -2.4 -1.189 Td -(driver = optarg;)Tj -T* -(break;)Tj --2.4 -2.021 Td -[(case \325e\325:)-4200(/* noecho for slave pty\325s line discipline */)]TJ -2.4 -1.189 Td -(noecho = 1;)Tj -T* -(break;)Tj --2.4 -2.021 Td -[(case \325i\325:)-4200(/* ignore EOF on standard input */)]TJ -2.4 -1.189 Td -(ignoreeof = 1;)Tj -T* -(break;)Tj --2.4 -2.021 Td -[(case \325n\325:)-4200(/* not interactive */)]TJ -2.4 -1.189 Td -(interactive = 0;)Tj -T* -(break;)Tj --2.4 -2.021 Td -[(case \325v\325:)-4200(/* verbose */)]TJ -2.4 -1.189 Td -(verbose = 1;)Tj -T* -(break;)Tj --2.4 -2.021 Td -(case \325?\325:)Tj -2.4 -1.189 Td -(err_quit\("unrecognized option: -%c", optopt\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -T* -(if \(optind >= argc\))Tj -2.4 -1.189 Td -(err_quit\("usage: pty [ -d driver -einv ] program [ arg ... ]"\);)Tj --2.4 -2.021 Td -[(if \(interactive\) {)-1200(/* fetch current termios and window size */)]TJ -2.4 -1.189 Td -(if \(tcgetattr\(STDIN_FILENO, &orig_termios\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("tcgetattr error on stdin"\);)Tj --2.4 -1.189 Td -(if \(ioctl\(STDIN_FILENO, TIOCGWINSZ, \(char *\) &size\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("TIOCGWINSZ error"\);)Tj --2.4 -1.189 Td -(pid = pty_fork\(&fdm, slave_name, sizeof\(slave_name\),)Tj -1.2 -1.189 Td -(&orig_termios, &size\);)Tj -0.6 Tc -3.6 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(pid = pty_fork\(&fdm, slave_name, sizeof\(slave_name\),)Tj -1.2 -1.189 Td -(NULL, NULL\);)Tj --3.6 -1.189 Td -(})Tj -0 -2.021 TD -(if \(pid < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47172 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(19.4)]TJ -/TT0 1 Tf -34.603 0 Td -(pty_fork)Tj -/T1_0 1 Tf -5.3 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(727)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(pid_t pty_fork\(int *)Tj -/T1_2 1 Tf -(ptrfdm)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 16.578 0 Td -(har *)Tj -/T1_2 1 Tf -(slave_name)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 9.467 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(slave_namesz)Tj -/TT0 1 Tf -(,)Tj --18.845 -1.189 Td -(const struct termios *)Tj -/T1_2 1 Tf -(slave_termios)Tj -/TT0 1 Tf -(,)Tj -0 -1.189 TD -(const struct winsize *)Tj -/T1_2 1 Tf -(slave_winsize)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -3.903 -2.021 Td -[(Returns: 0 in child, pr)18(ocess ID of child in par)18(ent,)]TJ -/TT1 1 Tf -21.561 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5853.25 cm -0 0 m -0 820 l -3900 820 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 569.3517 Tm -[(The \336le descriptor of the PTY master is r)18(eturned thr)18(ough the)]TJ -/T1_2 1 Tf -26.994 0 Td -(ptrfdm)Tj -/T1_0 1 Tf -3.028 0 Td -[(pointer)74(.)]TJ --28.222 -1.2 Td -(If)Tj -/T1_2 1 Tf -0.945 0 Td -(slave_name)Tj -/T1_0 1 Tf -4.942 0 Td -[(is )-25(non-null, )-25(the )-25(name )-25(of )-25(the )-25(slave )-25(device )-25(is )-25(stor)18(ed )-25(at )-25(that )-25(location.)-525(The)]TJ --7.687 -1.2 Td -[(caller is r)18(esponsible for allocating the storage pointed to by this ar)18(gument.)]TJ -1.8 -1.2 Td -[(If )-114(the )-114(pointer)]TJ -/T1_2 1 Tf -6.37 0 Td -(slave_termios)Tj -/T1_0 1 Tf -5.864 0 Td -[(is )-114(non-null, )-114(the )-114(system )-114(uses )-114(the )-114(r)17(efer)18(enced )-114(str)8(uctur)]TJ -0.3642 Tc 23.25 0 Td -(et)Tj -0 Tc 1.169 0 Td -(o)Tj --38.454 -1.2 Td -[(initialize )-62(the )-62(terminal )-62(line )-62(discipline )-62(of )-62(the )-62(slave.)-562(If )-62(this )-62(pointer )-62(is )-62(null, )-62(the )-62(system )-62(sets)]TJ -0 -1.2 TD -[(the )-136(slave\325s)]TJ -/TT0 1 Tf -5.119 0 Td -(termios)Tj -/T1_0 1 Tf -4.586 0 Td -[(str)8(uctur)18(e)-386(to)-386(an)-386(i)1(mplementation-de\336ned )-136(initial )-136(state.)-635(Similarly)]TJ -0.3856 Tc 28.036 0 Td -(,i)Tj -0 Tc 0.927 0 Td -(f)Tj --38.667 -1.2 Td -(the)Tj -/T1_2 1 Tf -1.932 0 Td -(slave_winsize)Tj -/T1_0 1 Tf -6.101 0 Td -[(pointer )-295(is )-295(non-null, )-295(the )-295(r)17(efer)18(enced )-295(str)8(uctur)]TJ -0.5452 Tc 20.238 0 Td -(ei)Tj -0 Tc 1.315 0 Td -[(nitializes )-295(the )-295(slave\325s)]TJ --29.587 -1.2 Td -[(window size.)-500(If this pointer is null, the)]TJ -/TT0 1 Tf -17.524 0 Td -(winsize)Tj -/T1_0 1 Tf -4.45 0 Td -[(str)8(uctur)18(e)-250(is)-250(normally initialized to 0.)]TJ --20.174 -1.2 Td -(Figur)Tj -0.531 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.51 0 Td -[(9.10 )-281(shows )-281(the )-281(code )-281(for )-281(this )-281(function.)-781(It )-281(works )-281(on )-281(all )-281(four )-281(platforms)]TJ --5.693 -1.2 Td -(described in this text, calling the)Tj -/TT0 1 Tf -14.522 0 Td -(ptym_open)Tj -/T1_0 1 Tf -5.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(ptys_open)Tj -/T1_0 1 Tf -5.65 0 Td -(functions.)Tj --25.965 -1.2 Td -[(After )-23(opening )-23(the )-23(PTY )-23(master)72(,)]TJ -/TT0 1 Tf -13.77 0 Td -(fork)Tj -/T1_0 1 Tf -2.674 0 Td -[(is )-23(called.)-523(As )-23(we )-23(mentioned )-23(befor)18(e, )-23(we )-23(want )-23(to)]TJ --18.243 -1.2 Td -[(wait )-101(to )-101(call)]TJ -/TT0 1 Tf -5.401 0 Td -(ptys_open)Tj -/T1_0 1 Tf -5.751 0 Td -[(until )-101(in )-101(the )-101(child )-101(and )-101(after )-101(calling)]TJ -/TT0 1 Tf -15.708 0 Td -(setsid)Tj -/T1_0 1 Tf -3.951 0 Td -[(to )-101(establish )-101(a )-101(new)]TJ --30.811 -1.2 Td -[(session. )-264(When)-265(it )-14(calls)]TJ -/TT0 1 Tf -9.938 0 Td -(setsid)Tj -/T1_0 1 Tf -0.2645 Tc (,t)Tj -0 Tc 4.441 0 Td -[(he )-14(child )-14(is )-14(not )-14(a )-14(pr)18(ocess )-14(gr)18(oup )-14(leader)71(,)-264(so)-264(t)-1(he )-14(thr)18(ee )-14(steps)]TJ --14.379 -1.2 Td -[(listed )-175(in )-175(Section )-175(9.5 )-175(occur: )-175(\(a\) )-175(a )-175(new )-175(session )-175(is )-175(cr)19(eated )-175(with )-175(the )-175(child )-175(as )-175(the )-175(session)]TJ -T* -(leader)Tj -0.4503 Tc 2.681 0 Td -(,\()Tj -0 Tc 1.033 0 Td -[(b\) )-200(a )-200(new )-200(pr)18(ocess )-200(gr)18(oup )-200(is )-200(cr)18(eated )-200(for )-200(the )-200(child, )-200(and )-200(\(c\) )-200(the )-200(child )-200(loses )-200(any)]TJ --3.714 -1.2 Td -[(association )-35(it )-35(might )-35(have )-35(had )-35(with )-35(its )-35(pr)18(evious )-35(contr)18(olling )-35(terminal.)-535(Under )-35(Linux, )-35(Mac)]TJ -T* -[(OS )-64(X, )-64(and )-64(Solaris, )-64(the )-64(slave )-64(becomes )-64(the )-64(contr)18(olling )-64(terminal )-64(of )-64(this )-64(new )-64(session )-64(when)]TJ -/TT0 1 Tf -T* -(ptys_open)Tj -/T1_0 1 Tf -6.061 0 Td -[(is )-411(called.)-911(Under )-411(Fr)18(eeBSD, )-411(we )-411(have )-411(to )-411(use )-411(the)]TJ -/TT0 1 Tf -23.878 0 Td -[(TIOCSCTTY )-61(ioctl)]TJ -/T1_0 1 Tf --29.939 -1.2 Td -[(command )-309(to )-309(allocate )-309(the )-309(contr)18(olling )-309(terminal.)-811(\(Recall )-309(Figur)]TJ -0.5594 Tc 28.468 0 Td -(e9)Tj -0 Tc 1.538 0 Td -[(.8 )167(\321 )167(the)-560(other )-309(thr)18(ee)]TJ --30.007 -1.2 Td -(platforms also support)Tj -/TT0 1 Tf -10.306 0 Td -(TIOCSCTTY)Tj -/T1_0 1 Tf -0.25 Tc (,b)Tj -0 Tc 6.453 0 Td -[(ut we need to call it only on Fr)18(eeBSD.\))]TJ --14.959 -1.2 Td -[(The )-31(two )-31(str)8(uctur)18(es)]TJ -/TT0 1 Tf -8.616 0 Td -(termios)Tj -/T1_0 1 Tf -4.481 0 Td -(and)Tj -/TT0 1 Tf -1.974 0 Td -(winsize)Tj -/T1_0 1 Tf -4.481 0 Td -(ar)Tj -0.2809 Tc 0.877 0 Td -(et)Tj -0 Tc 1.086 0 Td -[(hen )-31(initialized )-31(in )-31(the )-31(child.)-530(Finally)111(,)]TJ --23.314 -1.2 Td -[(the )-344(slave )-344(\336le )-344(descriptor )-344(is )-344(duplicated )-344(onto )-344(standar)]TJ -0.5938 Tc 24.482 0 Td -(di)Tj -0 Tc 1.496 0 Td -[(nput, )-344(standar)]TJ -0.5939 Tc 6.276 0 Td -(do)Tj -0 Tc 1.751 0 Td -[(utput, )-344(and)]TJ --34.004 -1.2 Td -(standar)Tj -0.271 Tc 3.32 0 Td -(de)Tj -0 Tc 1.361 0 Td -[(rr)18(or )-21(in )-21(the )-21(child.)-521(This )-21(means )-21(that )-21(whatever )-21(pr)18(ocess )-21(the )-21(caller)]TJ -/TT0 1 Tf -27.427 0 Td -(exec)Tj -/T1_0 1 Tf -0.271 Tc (sf)Tj --0.018 Tc 3.428 0 Td -(ro)Tj -0.271 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.48 0 Td -(he)Tj --37.939 -1.2 Td -[(child )-281(will )-281(have )-281(these )-281(thr)18(ee )-281(descriptors )-281(connected )-281(to )-281(the )-281(slave )-281(PTY )-281(\(its )-281(contr)12(olling)]TJ -T* -(terminal\).)Tj -1.8 -1.2 Td -[(After )-147(the )-147(call )-147(to)]TJ -/TT0 1 Tf -7.684 0 Td -(fork)Tj -/T1_0 1 Tf -0.3971 Tc (,t)Tj -0 Tc 3.373 0 Td -[(he )-147(par)18(ent )-147(just )-147(r)18(eturns )-147(the )-147(PTY )-147(master )-147(descriptor )-147(and )-147(the)]TJ --12.858 -1.2 Td -[(pr)18(ocess )-80(ID )-80(of )-80(the )-80(child.)-580(In )-80(the )-80(next )-80(section, )-80(we )-80(use )-80(the)]TJ -/TT0 1 Tf -25.112 0 Td -(pty_fork)Tj -/T1_0 1 Tf -5.13 0 Td -[(function )-80(in )-80(the)]TJ -/TT0 1 Tf -6.958 0 Td -(pty)Tj -/T1_0 1 Tf --37.2 -1.2 Td -[(pr)18(ogram.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2346.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 225.0785 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -(pid_t)Tj -0 -1.189 TD -(pty_fork\(int *ptrfdm, char *slave_name, int slave_namesz,)Tj -5.4 -1.189 Td -(const struct termios *slave_termios,)Tj -T* -(const struct winsize *slave_winsize\))Tj --5.4 -1.189 Td -({)Tj -2.4 -1.189 Td -[(int )-2400(fdm,)-600(fds;)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47173 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.12)]TJ --0.092 Tc 33.324 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(W)55(indow )-250(Size)]TJ -/T1_1 1 Tf -11.546 0 Td -[(71)37(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -0.883 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245O)Tj -0 Tc 2.275 0 Td -[(ther )-182(than )-182(storing )-182(the )-182(curr)18(ent )-182(value )-182(of )-182(the )-182(str)8(uctur)]TJ -0.432 Tc 23.135 0 Td -(ea)Tj -0 Tc 1.411 0 Td -[(nd )-182(generating )-182(a )-182(signal)]TJ --25.332 -1.2 Td -[(when )-327(the )-327(value )-327(changes, )-327(the )-327(kernel )-327(does )-327(nothing )-327(else )-327(with )-327(this )-327(str)5(uctur)18(e.)]TJ -0 -1.2 TD -[(Interpr)18(eting the str)8(uctur)18(e)-250(is)-250(entir)18(ely up to the application.)]TJ --3.289 -2.04 Td -[(This )-25(featur)]TJ -0.2752 Tc 4.803 0 Td -(ei)Tj -0.2753 Tc 1.045 0 Td -(sp)Tj --0.018 Tc 1.3 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vided )-25(to )-25(notify )-25(applications )-25(\(such )-25(as )-25(the)]TJ -/TT0 1 Tf -18.084 0 Td -(vi)Tj -/T1_0 1 Tf -1.475 0 Td -[(editor\) )-25(when )-25(the )-25(window)]TJ --27.631 -1.2 Td -[(size )-139(changes.)-639(When )-139(it )-139(r)19(eceives )-139(the )-139(signal, )-139(the )-139(application )-139(can )-139(fetch )-139(the )-139(new )-139(size )-139(and)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(draw the scr)18(een.)]TJ -/TT1 1 Tf --4.456 -2.4 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.3777 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.357 0 Td -[(8.22 )-128(shows )-128(a )-128(pr)18(ogram )-128(that )-128(prints )-128(the )-128(curr)18(ent )-128(window )-128(size )-128(and )-128(goes )-128(to )-128(sleep.)]TJ --3.74 -1.2 Td -[(Each )-96(time )-96(the )-96(window )-96(size )-96(changes,)]TJ -/TT0 1 Tf -16.788 0 Td -(SIGWINCH)Tj -/T1_0 1 Tf -5.146 0 Td -[(is )-96(caught )-96(and )-96(the )-96(new )-96(size )-96(is )-96(printed.)]TJ --0.092 Tc -21.934 -1.2 Td -[(We )-184(h)]TJ -0 Tc 2.219 0 Td -[(ave to terminate this pr)18(ogram with a signal.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5214.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 511.8376 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#ifndef TIOCGWINSZ)Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#endif)Tj -0 -2.14 TD -(static void)Tj -0 -1.189 TD -(pr_winsize\(int fd\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct winsize)-1200(size;)]TJ -0 -2.14 TD -(if \(ioctl\(fd, TIOCGWINSZ, \(char *\) &size\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("TIOCGWINSZ error"\);)Tj --2.4 -1.189 Td -(printf\("%d rows, %d columns\\n", size.ws_row, size.ws_col\);)Tj --2.4 -1.189 Td -(})Tj -T* -(static void)Tj -0 -1.189 TD -(sig_winch\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("SIGWINCH received\\n"\);)Tj -T* -(pr_winsize\(STDIN_FILENO\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(isatty\(STDIN_FILENO\) == 0\))Tj -2.4 -1.189 Td -(exit\(1\);)Tj --2.4 -1.189 Td -(if \(signal\(SIGWINCH, sig_winch\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("signal error"\);)Tj --2.4 -1.189 Td -[(pr_winsize\(STDIN_FILENO\); )-1200(/*)-600(print initial size */)]TJ -T* -(for \( ; ; \))Tj -16.8 0 Td -(/* and sleep forever */)Tj --14.4 -1.189 Td -(pause\(\);)Tj --4.8 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1625.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 267.4119 146.5316 Tm -(Figure 18.22)Tj -/T1_0 1 Tf -6.195 0 Td -(Print window size)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47174 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(9.1)]TJ -27.0753 Tc 4.888 0 Td -(1F)Tj --0.018 Tc 28.131 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD )-250(Implementation)]TJ -/T1_1 1 Tf -11.995 0 Td -[(31)37(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(s_leader)Tj -/T1_0 1 Tf -5.05 0 Td -(is a pointer to the)Tj -/TT0 1 Tf -7.944 0 Td -(proc)Tj -/T1_0 1 Tf -2.65 0 Td -[(str)8(uctur)18(e)-250(of)-250(the session leader)74(.)]TJ --17.133 -1.72 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(s_ttyvp)Tj -/T1_0 1 Tf -4.45 0 Td -(is a pointer to the)Tj -/TT0 1 Tf -7.944 0 Td -(vnode)Tj -/T1_0 1 Tf -3.25 0 Td -[(str)8(uctur)18(e)-250(of)-250(the contr)18(olling terminal.)]TJ --17.133 -1.72 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(s_ttyp)Tj -/T1_0 1 Tf -3.85 0 Td -(is a pointer to the)Tj -/TT0 1 Tf -7.944 0 Td -(tty)Tj -/T1_0 1 Tf -2.05 0 Td -[(str)8(uctur)18(e)-250(of)-250(the contr)18(olling terminal.)]TJ --15.333 -1.72 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(s_sid)Tj -/T1_0 1 Tf -3.276 0 Td -[(is )-26(the )-26(session )-26(ID.)-526(Recall )-26(that )-26(the )-26(concept )-26(of )-26(a )-26(session )-26(ID )-26(is )-26(not )-26(part )-26(of )-26(the)]TJ --3.276 -1.2 Td -(Single UNIX Speci\336cation.)Tj --1.489 -2.16 Td -(When)Tj -/TT0 1 Tf -3.042 0 Td -(setsid)Tj -/T1_0 1 Tf -3.999 0 Td -[(is )-149(called, )-149(a )-149(new)]TJ -/TT0 1 Tf -7.571 0 Td -(session)Tj -/T1_0 1 Tf -4.599 0 Td -[(str)8(uctur)]TJ -0.3987 Tc 3.49 0 Td -(ei)Tj -0.3986 Tc 1.169 0 Td -(sa)Tj -0 Tc 1.323 0 Td -[(llocated )-149(within )-149(the )-149(kernel.)]TJ --26.991 -1.2 Td -(Now)Tj -/TT0 1 Tf -2.518 0 Td -(s_count)Tj -/T1_0 1 Tf -4.506 0 Td -[(is )-57(set )-57(to )-57(1,)]TJ -/TT0 1 Tf -4.792 0 Td -(s_leader)Tj -/T1_0 1 Tf -5.107 0 Td -[(is )-57(set )-57(to )-57(point )-57(to )-57(the)]TJ -/TT0 1 Tf -9.261 0 Td -(proc)Tj -/T1_0 1 Tf -2.707 0 Td -[(str)8(uctur)18(e)-307(of)-307(t)1(he )-57(calling)]TJ --28.89 -1.2 Td -[(pr)18(ocess,)]TJ -/TT0 1 Tf -4.024 0 Td -(s_sid)Tj -/T1_0 1 Tf -3.479 0 Td -[(is )-229(set )-229(to )-229(the )-229(pr)18(ocess )-229(ID, )-229(and)]TJ -/TT0 1 Tf -13.906 0 Td -(s_ttyvp)Tj -/T1_0 1 Tf -4.679 0 Td -(and)Tj -/TT0 1 Tf -2.172 0 Td -(s_ttyp)Tj -/T1_0 1 Tf -4.079 0 Td -(ar)Tj -0.479 Tc 0.877 0 Td -(es)Tj -0 Tc 1.382 0 Td -[(et )-229(to )-229(null)]TJ --34.598 -1.2 Td -[(pointers, since the new session doesn\325t have a contr)18(olling terminal.)]TJ -1.8 -1.2 Td -[(Let\325s )-172(move )-172(to )-172(the)]TJ -/TT0 1 Tf -8.538 0 Td -(tty)Tj -/T1_0 1 Tf -2.222 0 Td -[(str)8(uctur)18(e. )-422(The)-422(kernel )-172(contains )-172(one )-172(of )-172(these )-172(str)8(uctur)18(es )-172(for)]TJ --12.56 -1.2 Td -[(each )-153(terminal )-153(device )-153(and )-153(each )-153(pseudo )-153(terminal )-153(device.)-650(\(W)]TJ -0.4026 Tc 27.161 0 Td -(et)Tj -0 Tc 1.208 0 Td -[(alk )-153(mor)]TJ -0.4025 Tc 3.556 0 Td -(ea)Tj -0 Tc 1.381 0 Td -[(bout )-152(pseudo)]TJ --33.306 -1.2 Td -(terminals in Chapter 19.\))Tj -1.8 -2.16 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(t_session)Tj -/T1_0 1 Tf -5.994 0 Td -[(points )-344(to )-344(the)]TJ -/TT0 1 Tf -6.812 0 Td -(session)Tj -/T1_0 1 Tf -4.794 0 Td -[(str)8(uctur)]TJ -0.5944 Tc 3.49 0 Td -(et)Tj -0 Tc 1.399 0 Td -[(hat )-344(has )-344(this )-344(terminal )-344(as )-344(its)]TJ --22.49 -1.2 Td -[(contr)18(olling )-350(terminal.)-850(\(Note )-350(that )-350(the)]TJ -/TT0 1 Tf -17.714 0 Td -(tty)Tj -/T1_0 1 Tf -2.4 0 Td -[(str)8(uctur)]TJ -0.5998 Tc 3.49 0 Td -(ep)Tj -0 Tc 1.68 0 Td -[(oints )-350(to )-350(the)]TJ -/TT0 1 Tf -6.227 0 Td -(session)Tj -/T1_0 1 Tf --31.511 -1.2 Td -[(str)8(uctur)18(e, )-78(and )-78(vice )-78(versa.\))-578(This )-78(pointer )-78(is )-78(used )-78(by )-78(the )-78(terminal )-78(to )-78(send )-78(a )-78(hang-)]TJ -0 -1.2 TD -(up signal to the session leader if the terminal loses carrier \(Figur)Tj -0.25 Tc 28.319 0 Td -(e9)Tj -0 Tc 1.229 0 Td -(.7\).)Tj --31.037 -1.72 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(t_pgrp)Tj -/T1_0 1 Tf -3.855 0 Td -[(points )-5(to )-5(the)]TJ -/TT0 1 Tf -5.795 0 Td -(pgrp)Tj -/T1_0 1 Tf -2.655 0 Td -[(str)8(uctur)]TJ -0.2553 Tc 3.49 0 Td -(eo)Tj -0.2552 Tc 1.28 0 Td -(ft)Tj -0 Tc 0.914 0 Td -[(he )-5(for)18(egr)18(ound )-5(pr)18(ocess )-5(gr)18(oup. )-255(This)-255(\336eld)]TJ --17.99 -1.2 Td -[(is )-86(used )-86(by )-86(the )-86(terminal )-86(driver )-86(to )-86(send )-86(signals )-86(to )-86(the )-86(for)19(egr)18(ound )-86(pr)18(ocess )-86(gr)18(oup.)]TJ -0 -1.2 Td -[(The )-120(thr)18(ee )-120(signals )-120(generated )-120(by )-120(entering )-120(special )-120(characters )-120(\(interr)8(upt, )-120(quit, )-120(and)]TJ -T* -(suspend\) ar)Tj -0.25 Tc 5.184 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(ent to the for)18(egr)18(ound pr)18(ocess gr)18(oup.)]TJ --7.826 -1.72 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(t_termios)Tj -/T1_0 1 Tf -5.968 0 Td -[(is )-318(a )-318(str)7(uctur)]TJ -0.5683 Tc 5.842 0 Td -(ec)Tj -0 Tc 1.491 0 Td -[(ontaining )-318(all )-318(the )-318(special )-318(characters )-318(and )-318(r)16(elated)]TJ --13.301 -1.2 Td -[(information )-19(for )-19(this )-19(terminal, )-19(such )-19(as )-19(baud )-19(rate, )-19(whether )-19(echo )-19(is )-19(enabled, )-19(and )-19(so)]TJ -T* -[(on. )-250(W)92(e\325ll r)18(eturn to this str)8(uctur)18(e)-250(in)-250(Chapter 18.)]TJ --1.489 -1.72 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(t_winsize)Tj -/T1_0 1 Tf -5.666 0 Td -[(is )-16(a)]TJ -/TT0 1 Tf -1.748 0 Td -(winsize)Tj -/T1_0 1 Tf -4.466 0 Td -[(str)8(uctur)]TJ -0.2665 Tc 3.49 0 Td -(et)Tj -0 Tc 1.071 0 Td -[(hat )-16(contains )-16(the )-16(curr)18(ent )-16(size )-16(of )-16(the )-16(terminal)]TJ --16.442 -1.2 Td -(window)Tj -0.5702 Tc 3.606 0 Td -(.W)Tj -0 Tc 1.82 0 Td -[(hen )-70(the )-70(size )-70(of )-70(the )-70(terminal )-70(window )-70(changes, )-70(the)]TJ -/TT0 1 Tf -22.521 0 Td -(SIGWINCH)Tj -/T1_0 1 Tf -5.12 0 Td -(signal)Tj --33.067 -1.2 Td -[(is )-204(sent )-204(to )-204(the )-204(for)18(egr)18(ound )-204(pr)18(ocess )-204(gr)18(oup. )-454(W)]TJ -0.4541 Tc 20.36 0 Td -(es)Tj -0 Tc 1.357 0 Td -[(how )-204(how )-204(to )-204(set )-204(and )-204(fetch )-204(the)]TJ --21.717 -1.2 Td -[(terminal\325s curr)18(ent window size in Section 18.12.)]TJ --0.092 Tc -3.289 -2.16 Td -[(To )-205(\336)]TJ -0 Tc 1.943 0 Td -[(nd )-21(the )-21(for)18(egr)18(ound )-21(pr)18(ocess )-21(gr)18(oup )-21(of )-21(a )-21(particular )-21(session, )-21(the )-21(kernel )-21(has )-21(to )-21(start )-21(with)]TJ --1.943 -1.2 Td -[(the )-82(session )-82(str)7(uctur)18(e, )-83(follow)]TJ -/TT0 1 Tf -12.947 0 Td -(s_ttyp)Tj -/T1_0 1 Tf -3.933 0 Td -[(to )-83(get )-83(to )-83(the )-83(contr)18(olling )-83(terminal\325s)]TJ -/TT0 1 Tf -15.769 0 Td -(tty)Tj -/T1_0 1 Tf -2.133 0 Td -[(str)8(uctur)18(e,)]TJ --34.781 -1.2 Td -[(and )-71(then )-71(follow)]TJ -/TT0 1 Tf -7.466 0 Td -(t_pgrp)Tj -/T1_0 1 Tf -3.921 0 Td -[(to )-71(get )-71(to )-71(the )-71(for)18(egr)18(ound )-71(pr)18(ocess )-71(gr)18(oup\325s)]TJ -/TT0 1 Tf -18.428 0 Td -(pgrp)Tj -/T1_0 1 Tf -2.721 0 Td -[(str)8(uctur)18(e. )-321(The)]TJ -/TT0 1 Tf --32.536 -1.2 Td -(pgrp)Tj -/T1_0 1 Tf -2.65 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(ontains the information for a particular pr)18(ocess gr)18(oup.)]TJ --5.513 -2.16 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(pg_id)Tj -/T1_0 1 Tf -3.25 0 Td -[(is the pr)18(ocess gr)18(oup ID.)]TJ --4.739 -1.72 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(pg_session)Tj -/T1_0 1 Tf -6.496 0 Td -[(points )-246(to )-246(the)]TJ -/TT0 1 Tf -6.516 0 Td -(session)Tj -/T1_0 1 Tf -4.696 0 Td -[(str)8(uctur)]TJ -0.4958 Tc 3.49 0 Td -(ef)Tj -0 Tc 1.308 0 Td -[(or )-246(the )-246(session )-246(to )-246(which )-246(this)]TJ --22.506 -1.2 Td -[(pr)18(ocess gr)18(oup belongs.)]TJ --1.489 -1.72 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(pg_members)Tj -/T1_0 1 Tf -6.309 0 Td -[(is )-59(a )-59(pointer )-59(to )-59(the )-59(list )-59(of)]TJ -/TT0 1 Tf -11.068 0 Td -(proc)Tj -/T1_0 1 Tf -2.709 0 Td -[(str)8(uctur)18(es )-59(that )-59(ar)]TJ -0.3089 Tc 7.622 0 Td -(em)Tj -0 Tc 1.671 0 Td -[(embers )-59(of )-59(this)]TJ --29.378 -1.2 Td -[(pr)18(ocess )-244(gr)18(oup. )-494(The)]TJ -/TT0 1 Tf -9.635 0 Td -(p_pglist)Tj -/T1_0 1 Tf -5.294 0 Td -[(str)8(uctur)]TJ -0.4944 Tc 3.49 0 Td -(ei)Tj -0.4945 Tc 1.264 0 Td -(nt)Tj -0 Tc 1.403 0 Td -(hat)Tj -/TT0 1 Tf -1.903 0 Td -(proc)Tj -/T1_0 1 Tf -2.894 0 Td -[(str)8(uctur)18(e)-494(is)-494(a)-494(d)-1(oubly)]TJ --25.884 -1.2 Td -[(linked )-45(list )-45(entry )-45(that )-45(points )-45(to )-45(both )-45(the )-45(next )-45(pr)18(ocess )-45(and )-45(the )-45(pr)18(evious )-45(pr)18(ocess )-45(in)]TJ -T* -[(the )-19(gr)18(oup, )-19(and )-19(so )-19(on, )-19(until )-19(a )-19(null )-19(pointer )-19(is )-19(encounter)18(ed )-19(in )-19(the)]TJ -/TT0 1 Tf -27.925 0 Td -(proc)Tj -/T1_0 1 Tf -2.669 0 Td -[(str)8(uctur)]TJ -0.2693 Tc 3.49 0 Td -(eo)Tj -0 Tc 1.294 0 Td -(f)Tj --35.378 -1.2 Td -[(the last pr)18(ocess in the gr)18(oup.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47175 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(718)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pseudo )-250(T)92(erminals )]TJ -38.741 0 Td -[(Chapter)-500(19)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2166 5306 576 252 re -S -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 229.5142 546.4072 Tm -(network)Tj --0.944 -1.25 Td -(device driver)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2958 5306 576 252 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 303.9995 541.375 Tm -(PTY master)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -3750 5306 576 252 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 386.1585 541.3425 Tm -(PTY slave)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2166 5774 576 252 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 231.4524 588.0988 Tm -(TCP/IP)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -3750 5774 576 252 re -S -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 388.6954 593.062 Tm -(terminal)Tj --1.225 -1.25 Td -(line discipline)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5018.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5088.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5157.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5227.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5296.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5366.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5436.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5506.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5576.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5646.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5715.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5785.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5854.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5924.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5994.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 6064.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 6134.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2093.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2164.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2235.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2305.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2377.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2447.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2519.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2589.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2660.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2731.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2802.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2873.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2944.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3015.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3086.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3156.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3228.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3299.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3370.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3441.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3511.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3583.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3653.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3725.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3795.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3866.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3937.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4008.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4079.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4150.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4292.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4362.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4434.25 6170.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 6100.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 6030.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5960.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5890.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5821.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5751.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5682.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5612.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5542.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5472.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5402.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5332.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5263.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5193.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5124.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5054.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4398.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4328.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4257.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4186.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4115.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4044.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3973.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3902.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3831.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3761.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3689.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3619.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3547.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3477.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3406.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3335.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3264.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3192.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3122.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3051.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2980.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2909.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2838.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2767.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2696.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2625.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2555.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2483.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2413.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2341.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2271.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2200.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2129.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2058.25 5018.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 448.8384 557.4393 Tm -(kernel)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2370.48 6386 959.758 252 re -S -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 268.0874 654.1652 Tm -(rlogind)Tj -/T1_1 1 Tf -0.731 -1.25 Td -(server)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -3822 6386 432 252 re -S -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 394.5466 654.1259 Tm -(login)Tj -0.1 -1.25 Td -(shell)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 382.2 651.2 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3822 6512 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3330.25 6512.25 cm -0 0 m -420 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9957 0 0 7.9957 347.7881 654.0867 Tm -(fork)Tj --1.45 -1.25 Td -(exec)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.9 0 Td -(exec)Tj -ET -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 235.824 555.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 2358.24 5558 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2358.25 5774.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 254.976 577.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 2549.76 5774 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2550.25 5702.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 394.224 555.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 3942.24 5558 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3942.25 5774.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 413.376 577.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 4133.7598 5774 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4134.25 5702.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 396.6 602.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 3966 6026 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3966.25 6386.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 411 638.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 4110 6386 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 6314.25 cm -0 0 m -0 -288 l -S -Q -Q -BT -/T1_2 1 Tf -7.9928 0 0 7.9928 372.2248 630.832 Tm -(stdout)Tj -0.166 -1.25 Td -(stderr)Tj -5.089 1.25 Td -(stdin)Tj -ET -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 394.224 516.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 3942.24 5162 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3942.25 5306.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 334.176 530.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 3341.76 5306 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3342.25 5234.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 334.176 516.2 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 3341.76 5162 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3942.25 5162.25 cm -0 0 m --528 0 l -S -Q -Q -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 413.376 530.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 4133.7598 5306 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4134.25 5234.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 315.024 509 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 3150.24 5090 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3150.25 5306.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9988007 0 0 0.9988007 0 0 cm -q 1 0 0 1 413.376 509 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -1 j 1 J -q 1 0 0 1 4133.7598 5090 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3150.25 5090.25 cm -0 0 m -912 0 l -S -Q -Q -q -0.9987408 0 0 0.9987408 0 0 cm -q 1 0 0 1 235.824 602.6 cm -0 0 m -2.016 7.128 l -5.184 5.328 l -f -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -1 j 1 J -q 1 0 0 1 2358.24 6026 cm -0 0 m -20.16 71.28 l -51.84 53.28 l -h -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2562.25 6386.25 cm -0 0 m --169 -298 l -S -Q -Q -q -0.9986808 0 0 0.9986808 0 0 cm -q 1 0 0 1 275.424 638.6 cm -0 0 m --2.016 -7.128 l --5.184 -5.328 l -f -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -1 j 1 J -q 1 0 0 1 2754.24 6386 cm -0 0 m --20.16 -71.28 l --51.84 -53.28 l -h -S -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2550.25 6026.25 cm -0 0 m -168 297 l -S -Q -Q -q -0.9986209 0 0 0.9986209 0 0 cm -q 1 0 0 1 315.024 555.8 cm -0 0 m --3.456 6.552 l -0.072 7.416 l -f -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -1 j 1 J -q 1 0 0 1 3150.24 5558 cm -0 0 m --34.56 65.52 l -0.72 74.16 l -h -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2946.25 6386.25 cm -0 0 m -186 -758 l -S -Q -Q -q -0.998561 0 0 0.998561 0 0 cm -q 1 0 0 1 313.8 638.6 cm -0 0 m -3.456 -6.552 l --0.072 -7.416 l -f -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -1 j 1 J -q 1 0 0 1 3138 6386 cm -0 0 m -34.56 -65.52 l --0.72 -74.16 l -h -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3342.25 5558.25 cm -0 0 m --187 758 l -S -Q -Q -q -0.9985011 0 0 0.9985011 0 0 cm -q 1 0 0 1 245.4 530.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -1 j 1 J -q 1 0 0 1 2454 5306 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9984412 0 0 0.9984412 0 0 cm -q 1 0 0 1 245.4 480.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -1 j 1 J -q 1 0 0 1 2454 4802 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2454.25 5234.25 cm -0 0 m -0 -360 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2166.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2202.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2238.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2274.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2310.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2346.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2382.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2418.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2454.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2490.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2526.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2562.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2598.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2634.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2670.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2706.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2742.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9871 0 0 7.9871 230.1548 472.6736 Tm -(network)Tj -/T1_0 1 Tf --1.335 -3.055 Td -(Figure 19.3)Tj -/T1_1 1 Tf -5.695 0 Td -[(Arrangement of pr)18(ocesses for)]TJ -/TT0 1 Tf -13.306 -0 Td -(rlogind)Tj -/T1_1 1 Tf -4.45 0 Td -(server)Tj -0.3694 Tc 9.9838 0 0 9.9838 147.3612 415.9258 Tm -(Ak)Tj -0 Tc 1.703 0 Td -[(ey )-119(point )-119(in )-119(Figur)]TJ -0.3694 Tc 7.745 0 Td -(e1)Tj -0 Tc 1.348 0 Td -[(9.3 )-119(is )-119(that )-119(the )-119(pr)18(ocess )-119(driving )-119(the )-119(PTY )-119(master )-119(is )-119(normally)]TJ --0.018 Tc -12.597 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading )-127(and )-127(writing )-127(another )-127(I/O )-127(str)18(eam )-127(at )-127(the )-127(same )-127(time.)-627(In )-127(this )-127(example, )-127(the )-127(other)]TJ --0.856 -1.2 Td -[(I/O )-69(str)18(eam )-69(is )-69(the )-69(TCP/IP )-69(box.)-569(This )-69(implies )-69(that )-69(the )-69(pr)13(ocess )-70(must )-70(be )-70(using )-70(some )-70(form)]TJ -0 -1.2 TD -[(of )-124(I/O )-124(multiplexing )-124(\(Section )-124(14.4\), )-124(such )-124(as)]TJ -/TT0 1 Tf -19.775 0 Td -(select)Tj -/T1_1 1 Tf -3.974 0 Td -(or)Tj -/TT0 1 Tf -1.315 0 Td -(poll)Tj -/T1_1 1 Tf -[(,)-374(or)-374(m)-1(ust )-124(be )-124(divided )-124(into)]TJ --25.065 -1.2 Td -[(two pr)18(ocesses or thr)18(eads.)]TJ -/TT1 1 Tf --3.6 -3.36 Td -[(Windo)15(wing System T)60(erminal Em)20(ulation)]TJ -/T1_1 1 Tf --0.055 Tc 3.6 -2.4 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(ndowing )-47(systems )-47(typically )-47(pr)17(ovide )-47(a )-47(terminal )-47(emulator )-47(so )-47(that )-47(we )-47(can )-47(use )-47(a )-47(shell )-47(to)]TJ --0.008 Tc -1.236 -1.2 Td -(ru)Tj -0.3418 Tc 0.99 0 Td -(no)Tj -0 Tc 1.47 0 Td -[(ur )-92(pr)18(ograms )-92(fr)18(om )-92(a )-92(familiar )-92(command)]TJ -17.561 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-92(envir)18(onment. )-342(The)-342(terminal )-92(emulator)]TJ --20.354 -1.2 Td -[(acts )-70(as )-70(an )-70(intermediary )-70(between )-70(a )-70(shell )-70(and )-70(the )-70(window )-70(manager)]TJ -0.57 Tc 29.586 0 Td -(.E)Tj -0 Tc 1.431 0 Td -[(ach )-70(shell )-70(executes)]TJ --31.017 -1.2 Td -[(in )-15(its )-15(own )-15(window)]TJ -0.5153 Tc 8.278 0 Td -(.T)Tj -0 Tc 1.378 0 Td -[(his )-15(arrangement )-15(\(with )-15(two )-15(shells )-15(r)8(unning )-15(in )-15(dif)16(fer)18(ent )-15(windows\) )-15(is)]TJ --9.656 -1.2 Td -(shown in Figur)Tj -0.25 Tc 6.724 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(9.4.)Tj --6.153 -1.2 Td -[(The )-3(shell )-3(r)8(uns )-3(with )-3(its )-3(standar)]TJ -0.2529 Tc 13.396 0 Td -(di)Tj -0 Tc 1.155 0 Td -[(nput, )-3(standar)]TJ -0.2529 Tc 5.935 0 Td -(do)Tj -0 Tc 1.41 0 Td -[(utput, )-3(and )-3(standar)]TJ -0.253 Tc 8.228 0 Td -(de)Tj -0 Tc 1.343 0 Td -[(rr)18(or )-3(attached)]TJ --33.266 -1.2 Td -[(to )-92(the )-92(slave )-92(side )-92(of )-92(the )-92(PTY)]TJ -0.5917 Tc 12.413 0 Td -(.T)Tj -0 Tc 1.455 0 Td -[(he )-92(terminal )-92(emulator )-92(pr)18(ogram )-92(opens )-92(the )-92(master )-92(side )-92(of)]TJ --13.868 -1.2 Td -[(the )-254(PTY)]TJ -0.7537 Tc 3.664 0 Td -(.B)Tj -0 Tc 1.615 0 Td -[(esides )-254(acting )-254(as )-254(an )-254(interface )-254(to )-254(the )-254(windowing )-254(subsystem, )-254(the )-254(terminal)]TJ --5.278 -1.2 Td -[(emulator )-211(is )-211(r)18(esponsible )-211(for )-211(emulating )-211(a )-211(particular )-211(type )-211(of )-211(terminal, )-211(which )-211(means )-211(it)]TJ -T* -[(needs )-48(to )-48(r)18(espond )-48(to )-48(the )-48(escape )-48(codes )-48(associated )-48(with )-48(the )-48(type )-48(of )-48(device )-48(it )-48(is )-48(emulating.)]TJ -T* -(These codes ar)Tj -0.25 Tc 6.458 0 Td -(el)Tj -0 Tc 1.02 0 Td -(isted in the)Tj -/TT0 1 Tf -5.141 0 Td -(termcap)Tj -/T1_1 1 Tf -4.45 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(terminfo)Tj -/T1_1 1 Tf -5.05 0 Td -(databases.)Tj --22.262 -1.2 Td -[(When )-20(a )-20(user )-20(r)18(esizes )-20(a )-20(terminal )-20(emulator )-20(window)]TJ -0.2696 Tc 21.781 0 Td -(,t)Tj -0 Tc 0.846 0 Td -[(he )-20(window )-20(manager )-20(informs )-20(the)]TJ --24.427 -1.2 Td -[(terminal )-114(emulator)]TJ -0.6138 Tc 8.06 0 Td -(.T)Tj -0 Tc 1.477 0 Td -[(he )-114(terminal )-114(emulator )-114(issues )-114(a)]TJ -/TT0 1 Tf -13.795 0 Td -[(TIOCSWINSZ )236(ioctl)]TJ -/T1_1 1 Tf -9.728 0 Td -[(command )-114(on)]TJ --33.059 -1.2 Td -[(the )-133(master )-133(side )-133(of )-133(the )-133(PTY )-133(to )-133(set )-133(the )-133(window )-133(size )-133(for )-133(the )-133(slave )-133(side.)-633(If )-133(the )-133(new )-133(size)]TJ -T* -[(dif)18(fers )-179(fr)18(om )-179(the )-179(curr)19(ent )-179(size, )-179(the )-179(kernel )-179(sends )-179(a)]TJ -/TT0 1 Tf -22.572 0 Td -(SIGWINCH)Tj -/T1_1 1 Tf -5.229 0 Td -[(signal )-179(to )-179(the )-179(for)19(egr)18(ound)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47176 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(734)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pseudo )-250(T)92(erminals )]TJ -38.741 0 Td -[(Chapter)-500(19)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 666.4 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(who)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(sar )-600(console )-600(May)-600(19 16:47)]TJ -0 -1.189 TD -[(sar )-600(ttys000 )-600(May)-600(19 16:47)]TJ -T* -[(sar )-600(ttys001 )-600(May)-600(19 16:48)]TJ -T* -[(sar )-600(ttys002 )-600(May)-600(19 16:48)]TJ -0 -1.189 TD -[(sar )-600(ttys003 )-600(May)-600(19 16:49)]TJ -0 -1.189 TD -[(sar )-600(ttys004 )-600(May)-600(19 16:49)]TJ -/T1_2 1 Tf -20 0 Td -[(ttys004 is the highest PTY curr)18(ently in use)]TJ -/TT0 1 Tf --20 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(pty ttyname)Tj -/T1_2 1 Tf -18.8 0 Td -[(run pr)18(ogram in Figur)]TJ -0.25 Tc 8.772 0 Td -(e1)Tj -0 Tc 1.139 0 Td -[(8.16 fr)18(om PTY)]TJ -/TT0 1 Tf --29.911 -1.189 Td -(fd 0: /dev/ttys005)Tj -/T1_2 1 Tf -20 0 Td -(ttys005 is the next available PTY)Tj -/TT0 1 Tf --20 -1.189 Td -(fd 1: /dev/ttys005)Tj -T* -(fd 2: /dev/ttys005)Tj -/TT1 1 Tf -9.9994 0 0 9.9994 93.5946 531.5483 Tm -(utmp)Tj -/TT2 1 Tf -2.678 0 Td -(File)Tj -/T1_1 1 Tf -0.922 -2.16 Td -[(In )-56(Section )-56(6.8, )-56(we )-56(described )-56(the)]TJ -/TT0 1 Tf -14.433 0 Td -(utmp)Tj -/T1_1 1 Tf -2.706 0 Td -[(\336le )-56(that )-56(r)19(ecor)18(ds )-56(all )-56(users )-56(curr)18(ently )-56(logged )-56(in )-56(to )-56(a)]TJ --17.139 -1.2 Td -[(UNIX )-31(system.)-531(The )-31(question )-31(is )-31(whether )-31(a )-31(user )-31(r)8(unning )-31(a )-31(pr)18(ogram )-31(on )-31(a )-31(pseudo )-31(terminal)]TJ -0 -1.2 TD -[(is )-180(consider)18(ed )-180(logged )-180(in.)-680(In )-180(the )-180(case )-180(of )-180(r)18(emote )-180(logins, )-180(with)]TJ -/TT0 1 Tf -27.797 0 Td -(telnetd)Tj -/T1_1 1 Tf -4.63 0 Td -(and)Tj -/TT0 1 Tf -2.123 0 Td -(rlogind)Tj -/T1_1 1 Tf -(,)Tj --34.55 -1.2 Td -[(obviously )-6(an )-6(entry )-6(should )-6(be )-6(made )-6(in )-6(the)]TJ -/TT0 1 Tf -18.666 0 Td -(utmp)Tj -/T1_1 1 Tf -2.656 0 Td -[(\336le )-6(for )-6(the )-6(user )-6(logged )-6(in )-6(on )-6(the )-6(pseudo)]TJ --21.322 -1.2 Td -[(terminal. )-269(Ther)18(e)-269(is)-269(l)1(ittle )-19(agr)18(eement, )-19(however)]TJ -0.2687 Tc 19.557 0 Td -(,w)Tj -0 Tc 1.353 0 Td -[(hether )-19(users )-19(r)8(unning )-19(a )-19(shell )-19(on )-19(a )-19(pseudo)]TJ --20.909 -1.2 Td -[(terminal )-221(fr)18(om )-221(a )-221(window )-221(system )-221(or )-221(fr)18(om )-221(a )-221(pr)18(ogram, )-221(such )-221(as)]TJ -/TT0 1 Tf -29.024 0 Td -(script)Tj -/T1_1 1 Tf -0.4713 Tc (,s)Tj -0 Tc 4.745 0 Td -[(hould )-221(have)]TJ --33.77 -1.2 Td -[(entries )-167(made )-167(in )-167(the)]TJ -/TT0 1 Tf -9.377 0 Td -(utmp)Tj -/T1_1 1 Tf -2.817 0 Td -[(\336le. )-417(Some)-417(systems )-167(r)18(ecor)]TJ -0.4168 Tc 11.298 0 Td -(dt)Tj -0 Tc 1.354 0 Td -[(hese; )-167(others )-167(don\325t.)-667(If )-167(a )-167(system)]TJ --24.845 -1.2 Td -[(doesn\325t )-70(r)18(ecor)]TJ -0.3201 Tc 5.789 0 Td -(dt)Tj -0 Tc 1.257 0 Td -[(hese )-70(entries )-70(in )-70(the)]TJ -/TT0 1 Tf -8.48 0 Td -(utmp)Tj -/T1_1 1 Tf -2.72 0 Td -[(\336le, )-70(the)]TJ -/TT0 1 Tf -3.652 0 Td -(who)Tj -/T1_1 1 Tf -1.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.653 -0.04 Td -[(pr)18(ogram )-70(normally )-70(won\325t )-70(show)]TJ --25.185 -1.2 Td -[(the corr)18(esponding pseudo terminals as being used.)]TJ -1.8 -1.2 Td -[(Unless )-54(the)]TJ -/TT0 1 Tf -4.973 0 Td -(utmp)Tj -/T1_1 1 Tf -2.704 0 Td -[(\336le )-54(has )-54(other)18(-write )-54(permission )-54(enabled )-54(\(which )-54(is )-54(consider)18(ed )-54(to )-54(be)]TJ -0.324 Tc -9.477 -1.2 Td -(as)Tj -0 Tc 1.248 0 Td -[(ecurity )-74(hole\), )-74(random )-74(pr)18(ograms )-74(that )-74(use )-74(pseudo )-74(terminals )-74(won\325t )-74(be )-74(able )-74(to )-74(write )-74(to)]TJ --1.248 -1.2 Td -(this \336le.)Tj -/TT2 1 Tf --3.6 -2.88 Td -[(Job Contr)20(ol Interaction)]TJ -/T1_1 1 Tf -3.6 -2.16 Td -[(If we r)8(un a job-contr)18(ol shell under)]TJ -/TT0 1 Tf -15.32 0 Td -(pty)Tj -/T1_1 1 Tf -[(,)-250(it)-250(works normally)]TJ -0.5 Tc 10.105 0 Td -(.F)Tj -0 Tc 1.306 0 Td -(or example,)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5925 310.8615 Tm -(pty ksh)Tj -/T1_1 1 Tf --0.008 Tc 9.9994 0 0 9.9994 129.5936 292.8626 Tm -(ru)Tj -0 Tc 0.99 0 Td -[(ns )-49(the )-49(Korn )-49(shell )-49(under)]TJ -/TT0 1 Tf -10.872 0 Td -(pty)Tj -/T1_1 1 Tf -0.5486 Tc (.W)Tj -0.2986 Tc 3.507 0 Td -(ec)Tj -0 Tc 1.222 0 Td -[(an )-49(r)8(un )-49(pr)19(ograms )-48(under )-48(this )-48(new )-48(shell )-48(and )-48(use )-48(job)]TJ --16.59 -1.2 Td -[(contr)18(ol )-94(just )-94(as )-94(we )-94(do )-94(with )-94(our )-94(login )-94(shell.)-592(But )-94(if )-94(we )-94(r)8(un )-94(an )-94(interactive )-94(pr)18(ogram )-94(other)]TJ -T* -[(than a job-contr)18(ol shell under)]TJ -/TT0 1 Tf -13.255 0 Td -(pty)Tj -/T1_1 1 Tf -[(,)-250(as)-250(in)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5927 252.1651 Tm -(pty cat)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5938 234.1661 Tm -[(everything )-153(is )-153(\336ne )-153(until )-153(we )-153(type )-153(the )-153(job-contr)18(ol )-153(suspend )-153(character)]TJ -0.653 Tc 30.067 0 Td -(.A)Tj -0.403 Tc 1.681 0 Td -(tt)Tj -0 Tc 1.055 0 Td -[(hat )-153(point, )-153(the)]TJ --32.803 -1.2 Td -[(job-contr)18(ol )-48(character )-48(is )-48(echoed )-48(as)]TJ -/TT0 1 Tf -15.113 0 Td -(\366Z)Tj -/T1_1 1 Tf -1.498 0 Td -[(and )-48(is )-48(ignor)18(ed. )-298(Under)-298(earlier )-48(BSD)]TJ -15.425 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-48(systems,)]TJ --32.369 -1.2 Td -(the)Tj -/TT0 1 Tf -1.703 0 Td -(cat)Tj -/T1_1 1 Tf -2.116 0 Td -[(pr)18(ocess )-66(terminates, )-66(the)]TJ -/TT0 1 Tf -10.564 0 Td -(pty)Tj -/T1_1 1 Tf -2.116 0 Td -[(pr)18(ocess )-66(terminates, )-66(and )-66(we\325r)]TJ -0.3157 Tc 12.838 0 Td -(eb)Tj -0 Tc 1.348 0 Td -[(ack )-66(to )-66(our )-66(original)]TJ --30.685 -1.2 Td -[(shell. )-519(T)]TJ -0.5192 Tc 3.607 0 Td -(ou)Tj -0 Tc 1.668 0 Td -[(nderstand )-269(what\325s )-269(going )-269(on )-269(her)17(e, )-269(we )-269(need )-269(to )-269(examine )-269(all )-269(the )-269(pr)16(ocesses)]TJ --5.275 -1.2 Td -[(involved, )-9(their )-9(pr)18(ocess )-9(gr)18(oups, )-9(and )-9(sessions.)-507(Figur)]TJ -0.2586 Tc 22.627 0 Td -(e1)Tj -0 Tc 1.238 0 Td -[(9.13 )-9(shows )-9(the )-9(arrangement )-9(when)]TJ -/TT0 1 Tf --23.865 -1.2 Td -[(pty )267(cat)]TJ -/T1_1 1 Tf -4.183 0 Td -[(is r)8(unning.)]TJ --2.383 -1.2 Td -[(When )-290(we )-290(type )-290(the )-290(suspend )-290(character )-290(\(Contr)20(ol)]TJ -22.042 0.09 Td -(-)Tj -0.333 -0.09 Td -[(Z\), )-290(it )-290(is )-290(r)18(ecognized )-290(by )-290(the )-290(line)]TJ --24.175 -1.2 Td -[(discipline )-143(module )-143(beneath )-143(the)]TJ -/TT0 1 Tf -14.18 0 Td -(cat)Tj -/T1_1 1 Tf -2.193 0 Td -[(pr)18(ocess, )-143(since)]TJ -/TT0 1 Tf -6.552 0 Td -(pty)Tj -/T1_1 1 Tf -2.193 0 Td -[(puts )-143(the )-143(terminal )-143(\(beneath )-143(the)]TJ -/TT0 1 Tf --25.118 -1.2 Td -(pty)Tj -/T1_1 1 Tf -2.265 0 Td -[(par)18(ent\) )-215(into )-215(raw )-215(mode.)-715(But )-215(the )-215(kernel )-215(won\325t )-215(stop )-215(the)]TJ -/TT0 1 Tf -25.897 0 Td -(cat)Tj -/T1_1 1 Tf -2.265 0 Td -[(pr)18(ocess, )-215(because )-215(it)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47177 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(682)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(ST)Tj --0.074 Tc 1.064 0 Td -(AT)Tj -0 Tc 1.317 0 Td -[(US )-1514(The)-333(BSD )-83(status-r)18(equest )-83(character)]TJ -0.5834 Tc 17.826 0 Td -(.T)Tj -0 Tc 1.446 0 Td -[(his )-83(character )-83(is )-83(r)18(ecognized )-83(on )-83(input )-83(in)]TJ --16.206 -1.2 Td -[(extended, )-410(canonical )-410(mode )-410(\(both)]TJ -/TT0 1 Tf -16.014 0 Td -(IEXTEN)Tj -/T1_1 1 Tf -4.26 0 Td -(and)Tj -/TT0 1 Tf -2.354 0 Td -(ICANON)Tj -/T1_1 1 Tf -4.261 0 Td -[(\337ags )-410(set\) )-410(and)]TJ --26.888 -1.2 Td -[(generates )-403(the)]TJ -/TT0 1 Tf -6.913 0 Td -(SIGINFO)Tj -/T1_1 1 Tf -4.853 0 Td -[(signal, )-403(which )-403(is )-403(sent )-403(to )-403(all )-403(pr)18(ocesses )-403(in )-403(the)]TJ --11.765 -1.2 Td -[(for)18(egr)18(ound )-475(pr)18(ocess )-475(gr)18(oup )-475(\(r)18(efer )-475(to )-475(Figur)]TJ -0.7252 Tc 20.265 0 Td -(e9)Tj -0 Tc 1.704 0 Td -[(.7\). )-725(Additionally)111(,)-725(if)-725(t)-1(he)]TJ -/TT0 1 Tf --21.969 -1.2 Td -(NOKERNINFO)Tj -/T1_1 1 Tf -6.354 0 Td -[(\337ag )-104(is )-104(not )-104(set, )-104(status )-104(information )-104(on )-104(the )-104(for)16(egr)18(ound )-104(pr)18(ocess)]TJ --6.354 -1.2 Td -[(gr)18(oup )-301(is )-301(displayed )-301(on )-301(the )-301(terminal.)-801(This )-301(character )-301(is )-301(discar)18(ded )-301(when)]TJ -0 -1.2 TD -[(pr)18(ocessed \(i.e., it is not passed to the pr)18(ocess\).)]TJ --5.448 -1.84 Td -[(ST)18(OP )-2688(The)-278(stop )-28(character)]TJ -0.528 Tc 13.566 0 Td -(.T)Tj -0 Tc 1.391 0 Td -[(his )-28(character )-28(is )-28(r)18(ecognized )-28(on )-28(input )-28(if )-28(the)]TJ -/TT0 1 Tf -18.708 0 Td -(IXON)Tj -/T1_1 1 Tf -2.678 0 Td -[(\337ag )-28(is)]TJ --30.895 -1.2 Td -[(set )-183(and )-183(is )-183(automatically )-183(generated )-183(as )-183(output )-183(if )-183(the)]TJ -/TT0 1 Tf -23.935 0 Td -(IXOFF)Tj -/T1_1 1 Tf -3.433 0 Td -[(\337ag )-183(is )-183(set.)-682(A)]TJ --0.018 Tc -27.368 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ceived )-113(ST)18(OP )-113(character )-113(with)]TJ -/TT0 1 Tf -12.927 0 Td -(IXON)Tj -/T1_1 1 Tf -2.763 0 Td -[(set )-113(stops )-113(the )-113(output.)-611(In )-112(this )-112(case, )-112(the)]TJ --16.546 -1.2 Td -[(ST)18(OP )-176(character )-176(is )-176(discar)18(ded )-176(when )-176(pr)17(ocessed )-176(\(i.e., )-176(it )-176(is )-176(not )-176(passed )-176(to )-176(the)]TJ -T* -[(pr)18(ocess\). )-568(The)-568(stopped )-318(output )-318(is )-318(r)18(estarted )-318(when )-318(a )-318(ST)73(AR)]TJ -0.5682 Tc 27.023 0 Td -(Tc)Tj -0 Tc 1.625 0 Td -[(haracter )-318(is)]TJ --28.648 -1.2 Td -[(enter)18(ed.)]TJ -0 -1.8 TD -(When)Tj -/TT0 1 Tf -3.099 0 Td -(IXOFF)Tj -/T1_1 1 Tf -3.456 0 Td -[(is )-206(set, )-206(the )-206(terminal )-206(driver )-206(automatically )-206(generates )-206(a )-206(ST)20(OP)]TJ --6.555 -1.2 Td -[(character to pr)18(event the input buf)18(fer fr)18(om over\337owing.)]TJ --5.448 -1.84 Td -[(SUSP )-2766(The)-317(suspend )-67(job-contr)18(ol )-67(character)]TJ -0.5675 Tc 20.567 0 Td -(.T)Tj -0 Tc 1.431 0 Td -[(his )-67(character )-67(is )-67(r)18(ecognized )-67(on )-67(input )-67(if)]TJ --16.55 -1.2 Td -[(job )-68(contr)18(ol )-68(is )-68(supported )-68(and )-68(if )-68(the)]TJ -/TT0 1 Tf -15.674 0 Td -(ISIG)Tj -/T1_1 1 Tf -2.718 0 Td -[(\337ag )-68(is )-68(set.)-568(The )-68(suspend )-68(character)]TJ --18.392 -1.2 Td -[(generates )-403(the)]TJ -/TT0 1 Tf -6.913 0 Td -(SIGTSTP)Tj -/T1_1 1 Tf -4.853 0 Td -[(signal, )-403(which )-403(is )-403(sent )-403(to )-403(all )-403(pr)18(ocesses )-403(in )-403(the)]TJ --11.765 -1.2 Td -[(for)18(egr)18(ound )-81(pr)18(ocess )-81(gr)18(oup )-81(\(r)18(efer )-81(to )-81(Figur)]TJ -0.3313 Tc 18.296 0 Td -(e9)Tj -0 Tc 1.31 0 Td -[(.7\). )-331(This)-332(character )-81(is )-81(discar)17(ded)]TJ --19.606 -1.2 Td -[(when pr)18(ocessed \(i.e., it is not passed to the pr)18(ocess\).)]TJ --5.448 -1.84 Td -[(WERASE )-1005(The)-717(wor)18(d-erase )-467(character)]TJ -0.9667 Tc 17.524 0 Td -(.T)Tj -0 Tc 1.83 0 Td -[(his )-467(character )-467(is )-467(r)19(ecognized )-467(on )-467(input )-467(in)]TJ --13.906 -1.2 Td -[(extended, )-57(canonical )-57(mode )-57(\(both)]TJ -/TT0 1 Tf -14.6 0 Td -(IEXTEN)Tj -/T1_1 1 Tf -3.907 0 Td -(and)Tj -/TT0 1 Tf -2 0 Td -(ICANON)Tj -/T1_1 1 Tf -3.907 0 Td -[(\337ags )-57(set\) )-57(and )-57(causes)]TJ --24.414 -1.2 Td -[(the )-163(pr)18(evious )-163(wor)18(d)-413(to)-413(b)]TJ -0.4128 Tc (ee)Tj -0 Tc 12.088 0 Td -[(rased. )-413(First,)-413(it )-163(skips )-163(backwar)]TJ -0.4128 Tc 13.479 0 Td -(do)Tj -0 Tc 1.57 0 Td -[(ver )-163(any )-163(white)]TJ --27.137 -1.2 Td -[(space )-343(\(spaces )-343(or )-343(tabs\), )-343(then )-343(skips )-343(backwar)]TJ -0.5935 Tc 20.57 0 Td -(do)Tj -0 Tc 1.751 0 Td -[(ver )-343(the )-343(pr)18(evious )-343(token,)]TJ --22.32 -1.2 Td -[(leaving )-5(the )-5(cursor )-5(positioned )-5(wher)]TJ -0.2548 Tc 15.447 0 Td -(et)Tj -0 Tc 1.06 0 Td -[(he )-5(\336rst )-5(character )-5(of )-5(the )-5(pr)18(evious )-5(token)]TJ --16.506 -1.2 Td -[(was )-337(located.)-837(Normally)]TJ -0.587 Tc 10.811 0 Td -(,t)Tj -0 Tc 1.163 0 Td -[(he )-337(pr)18(evious )-337(token )-337(ends )-337(when )-337(a )-337(white )-337(space)]TJ --11.974 -1.2 Td -[(character )-35(is )-35(encounter)18(ed. )-285(W)]TJ -0.2849 Tc 12.551 0 Td -(ec)Tj -0 Tc 1.208 0 Td -[(an )-35(change )-35(this )-35(behavior)]TJ -0.2849 Tc 10.54 0 Td -(,h)Tj -0 Tc 1.117 0 Td -[(owever)74(,)-285(by)-285(setting)]TJ --25.415 -1.2 Td -(the)Tj -/TT0 1 Tf -1.719 0 Td -(ALTWERASE)Tj -/T1_1 1 Tf -5.732 0 Td -[(\337ag. )-332(This)-332(\337ag )-82(causes )-82(the )-82(pr)18(evious )-82(token )-82(to )-82(end )-82(when )-82(the)]TJ --7.451 -1.2 Td -[(\336rst )-98(nonalphanumeric )-98(character )-98(is )-98(encounter)18(ed. )-348(The)-348(wor)18(d-erase )-98(character)]TJ --0 -1.2 Td -[(is discar)18(ded when pr)18(ocessed \(i.e., it is not passed to the pr)18(ocess\).)]TJ --3.648 -1.92 Td -[(Another )-225(\324)37(\324character )176(\325)]TJ -0.4749 Tc 9.062 0 Td -(\325t)Tj -0 Tc 1.079 0 Td -[(hat )-225(we )-225(need )-225(to )-225(de\336ne )-225(for )-225(terminal )-225(devices )-225(is )-225(the )-225(BREAK)]TJ --11.941 -1.2 Td -(character)Tj -0.6504 Tc 3.991 0 Td -(.B)Tj -0 Tc 1.511 0 Td -[(REAK )-150(is )-150(not )-150(r)18(eally )-150(a )-150(character)]TJ -0.4004 Tc 13.939 0 Td -(,b)Tj -0 Tc 1.203 0 Td -[(ut )-150(rather )-150(a )-150(condition )-150(that )-150(occurs )-150(during)]TJ --20.645 -1.2 Td -[(asynchr)18(onous )-148(serial )-148(data )-148(transmission.)]TJ -0.3983 Tc 18.244 0 Td -(AB)Tj -0 Tc 1.787 0 Td -[(REAK )-148(condition )-148(is )-148(signaled )-148(to )-148(the )-148(device)]TJ --20.031 -1.2 Td -(driver in various ways, depending on the serial interface.)Tj -7.9995 0 0 7.9995 183.59 220.5868 Tm -[(Most )-191(old )-191(serial )-191(terminals )-191(have )-191(a )-191(key )-191(labeled )-191(BREAK )-191(that )-191(generates )-191(the )-191(BREAK )-191(condition,)]TJ -0 -1.25 TD -[(which )-130(is )-130(why )-130(most )-130(people )-130(think )-130(of )-130(BREAK )-130(as )-130(a )-130(character)]TJ -0.6306 Tc 26.426 0 Td -(.S)Tj -0 Tc 1.406 0 Td -[(ome )-131(newer )-131(terminal )-131(keyboar)19(ds)]TJ --27.832 -1.25 Td -[(don\325t )-90(have )-90(a )-90(BREAK )-90(key)113(.)-340(On)-340(P)1(Cs, )-90(the )-90(br)18(eak )-90(key )-90(might )-90(be )-90(mapped )-90(for )-90(another )-90(purpose.)-586(For)]TJ -0 -1.25 Td -[(example, the W)55(indows command interpr)18(eter can be interr)8(upted by pr)18(essing Contr)18(ol)]TJ -37.156 0.09 Td -(-)Tj -0.333 -0.09 Td -(BREAK.)Tj -9.9994 0 0 9.9994 147.5924 168.5899 Tm -[(For )-112(asynchr)18(onous )-112(serial )-112(data )-112(transmission, )-112(a )-112(BREAK )-112(is )-112(a )-112(sequence )-112(of )-112(zer)20(o-valued)]TJ --1.8 -1.2 Td -[(bits )-246(that )-246(continues )-246(for )-246(longer )-246(than )-246(the )-246(time )-246(r)19(equir)18(ed )-246(to )-246(send )-246(one )-246(byte.)-746(The )-246(entir)19(e)]TJ -0 -1.2 TD -[(sequence )-131(of )-131(zer)18(o-valued )-131(bits )-131(is )-131(consider)20(ed )-131(a )-131(single )-131(BREAK.)-631(In )-131(Section )-131(18.8, )-131(we\325ll )-131(see)]TJ -T* -(how to send a BREAK with the)Tj -/TT0 1 Tf -13.994 0 Td -(tcsendbreak)Tj -/T1_1 1 Tf -6.85 0 Td -(function.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47178 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Bibliogra )260(ph)30(y)]TJ -/T1_1 1 Tf -9 0 0 9 129.6 435.4 Tm -[(Accetta, )-177(M., )-177(Bar)18(on, )-177(R., )-177(Bolosky)]TJ -0.4271 Tc 14.154 0 Td -(,W)Tj -0 Tc 1.585 0 Td -[(., )-177(Golub, )-177(D., )-177(Rashid, )-177(R., )-177(T)92(evanian, )-177(A., )-177(and )-177(Y)92(oung, )-177(M.)-678(1986.)]TJ --0.037 Tc -12.539 -1.222 Td -(\324\324)Tj -0 Tc 0.519 0 Td -[(Mach: )-335(A )-335(New )-335(Kernel )-335(Foundation )-335(for )-335(UNIX )-335(Development,\325)36(\325)]TJ -/T1_2 1 Tf -29.081 0 Td -[(Pr)18(oceedings )-335(of )-335(the )-335(1986)]TJ --29.6 -1.222 Td -[(Summer USENIX Confer)18(ence)]TJ -/T1_1 1 Tf -0.25 Tc (,p)Tj -0 Tc 13.271 0 Td -(p. 93)Tj -2.184 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(3, Atlanta, GA.)Tj -0.25 Tc 8 0 0 8 180 400.1 Tm -(Ap)Tj -0 Tc 1.629 0 Td -[(aper intr)18(oducing the Mach operating system.)]TJ -9 0 0 9 129.6 383.6 Tm -[(Adams, )-157(J., )-157(Bustos, )-157(D., )-157(Hahn, )-157(S., )-157(Powell, )-157(D., )-157(and )-157(Praza, )-157(L.)-659(2005. )-407(\324)37(\324Solaris )-157(Service )-157(Management)]TJ -3.2 -1.222 Td -[(Facility: )-394(Modern )-394(System )-394(Startup )-394(and )-394(Administration,\325)36(\325)]TJ -/T1_2 1 Tf -26.686 0 Td -[(Pr)18(oceedings )-394(of )-394(the )-394(19th )-394(Lar)18(ge)]TJ --26.686 -1.222 Td -[(Installation System Administration Confer)18(ence \(LISA)55(\32505\))]TJ -/T1_1 1 Tf -0.25 Tc (,p)Tj -0 Tc 24.492 0 Td -(p. 225)Tj -2.684 0.09 Td -(\320)Tj -0.583 -0.09 Td -(236, San Diego, CA.)Tj -0.5751 Tc 8 0 0 8 180.0007 348.3 Tm -(Ap)Tj -0 Tc 1.954 0 Td -[(aper )-325(describing )-325(the )-325(Service )-325(Management )-325(Facility)]TJ -23.705 0.04 Td -(\()Tj -0.333 -0.04 Td -(SMF)Tj -2.027 0.04 Td -(\))Tj -0.908 -0.04 Td -[(in )-325(Solaris, )-325(which )-325(pr)18(ovides )-325(a)]TJ --28.927 -1.25 Td -[(framework )-91(for )-91(starting )-91(and )-91(monitoring )-91(administrative )-91(pr)19(ocesses, )-91(and )-91(r)18(ecovering )-91(fr)18(om )-91(failur)19(es)]TJ -0 -1.25 TD -[(af)18(fecting the services they pr)18(ovide.)]TJ -9 0 0 9 129.6004 311.8 Tm -[(Adobe )-105(Systems )-105(Inc.)-606(1999.)]TJ -/T1_2 1 Tf -12.368 0 Td -[(PostScript )-105(Language )-105(Refer)18(ence )-105(Manual, )-105(Third )-105(Edition)]TJ -/T1_1 1 Tf -0.6053 Tc 22.547 0 Td -(.A)Tj -0 Tc 1.633 0 Td -[(ddison-W)92(esley,)]TJ --33.348 -1.222 Td -(Reading, MA.)Tj -8 0 0 8 180.0006 287.5 Tm -[(The language r)18(efer)18(ence manual for PostScript.)]TJ -9 0 0 9 129.6006 271 Tm -[(Aho, )-264(A. )-264(V)129(., )-264(Kernighan, )-264(B. )-264(W)92(., )-264(and )-264(W)92(einber)18(ger)]TJ -0.514 Tc 21.805 0 Td -[(,P)643(.J)]TJ -0.764 Tc 2.336 0 Td -(.1)Tj -0 Tc 1.514 0 Td -(988.)Tj -/T1_2 1 Tf -2.514 0 Td -[(The )-264(A)55(WK )-264(Pr)18(ogramming )-264(Language)]TJ -/T1_1 1 Tf -(.)Tj --24.969 -1.222 Td -[(Addison-W)92(esley, Reading, MA.)]TJ -0.4123 Tc 8 0 0 8 180.0008 246.7 Tm -(Ac)Tj -0 Tc 1.634 0 Td -[(omplete )-162(book )-162(on )-162(the )-162(awk )-162(pr)18(ogramming )-162(language.)-664(The )-162(version )-162(of )-162(awk )-162(described )-162(in )-162(this)]TJ --1.634 -1.25 Td -[(book is sometimes called \324)37(\324nawk\325)]TJ -0.25 Tc 14.499 0 Td -(\325\()Tj -0 Tc 0.861 0 Td -(for new awk\).)Tj -9 0 0 9 129.6005 220.2 Tm -[(Andrade, )-245(J. )-245(M., )-245(Car)18(ges, )-245(M. )-245(T)74(., )-245(and )-245(Kovach, )-245(K. )-245(R.)-741(1989. )-494(\324)37(\324Building )-244(a )-244(T)90(ransaction )-244(Pr)17(ocessing)]TJ -3.2 -1.222 Td -[(System )-14(on )-14(UNIX )-14(Systems,\325)38(\325)]TJ -/T1_2 1 Tf -12.374 0 Td -[(Pr)18(oceedings )-14(of )-14(the )-14(1989 )-14(USENIX )-14(T)113(ransaction )-14(Pr)18(ocessing )-14(W)21(orkshop)]TJ -/T1_1 1 Tf -(,)Tj --12.374 -1.222 Td -(pp. 13)Tj -2.785 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(22, Pittsbur)18(gh, P)92(A.)]TJ -0.25 Tc 8 0 0 8 180.0002 184.9 Tm -(Ad)Tj -0 Tc 1.639 0 Td -[(escription of the A)74(T&T T)90(uxedo T)90(ransaction Pr)18(ocessing System.)]TJ -9 0 0 9 129.6003 168.4 Tm -[(Arnold, )-283(J. )-283(Q.)-783(1986. )-533(\324)37(\324Shar)18(ed )-283(Libraries )-283(on )-283(UNIX )-283(System )-283(V)130(,\325)37(\325)]TJ -/T1_2 1 Tf -28.978 0 Td -[(Pr)18(oceedings )-283(of )-283(the )-283(1986 )-283(Summer)]TJ --25.778 -1.222 Td -[(USENIX Confer)18(ence)]TJ -/T1_1 1 Tf -0.25 Tc (,p)Tj -0 Tc 9.575 0 Td -(p. 395)Tj -2.684 0.09 Td -(\320)Tj -0.583 -0.09 Td -(404, Atlanta, GA.)Tj -8 0 0 8 180.0006 144.1 Tm -[(Describes the implementation of shar)18(ed libraries in SVR3.)]TJ -/T1_3 1 Tf -9 0 0 9 506.1006 115 Tm -(947)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47179 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(xviii)Tj -/T1_1 1 Tf -4.055 0 Td -(Contents)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 154.7907 667.9599 Tm -[(21.5 )-2456(Source)-556(Code )-1882(795)]TJ -0 -1.3 TD -[(21.6 )-2456(Summar)]TJ -2.16 Tc 8.488 0 Td -(y8)Tj -0 Tc 3.216 0 Td -(43)Tj -/TT1 1 Tf --14.224 -2.47 Td -[(Appendix )-278(A.)-1088(Function )-278(Pr)20(ototypes )]TJ -34.118 0 Td -(845)Tj --34.118 -2.99 Td -[(Appendix )-278(B.)-1088(Miscellaneous )-278(Sour)20(ce )-278(Code)]TJ -34.118 0 Td -(895)Tj -/TT0 1 Tf --0.02 Tc -31.598 -1.82 Td -(B.)Tj -3.199 Tc 0.925 0 Td -(1O)Tj -0 Tc 4.533 0 Td -[(ur )-278(Header )-278(File)-2160(895)]TJ --0.02 Tc -5.458 -1.3 Td -(B.)Tj -3.199 Tc 0.925 0 Td -(2S)Tj -0 Tc 4.422 0 Td -[(tandard )-278(Error )-278(Routines)-2160(898)]TJ -/TT1 1 Tf --7.867 -2.47 Td -[(Appendix )-278(C.)-1088(Solutions )-278(to )-278(Selected )-278(Ex)10(er)20(cises )]TJ -34.118 0 Td -(905)Tj --34.118 -2.99 Td -[(Bib)10(liograph)]TJ -28.036 Tc 5.526 0 Td -(y9)Tj -0 Tc 29.148 0 Td -(47)Tj --34.674 -2.47 Td -(Inde)Tj -31.521 Tc 2.041 0 Td -(x9)Tj -0 Tc 32.633 0 Td -(55)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47180 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Inde)20(x)]TJ -/T1_1 1 Tf -10 0 0 10 129.6 482.3998 Tm -[(The )-127(function )-127(subentries )-127(labeled )-127(\324)37(\324de\336nition )-127(of)]TJ --0.037 Tc 20.794 0 Td -[(\325\325 )-202(p)]TJ -0 Tc 1.498 0 Td -[(oint )-128(to )-128(wher)]TJ -0.3776 Tc 5.644 0 Td -(et)Tj -0 Tc 1.183 0 Td -[(he )-128(function )-128(pr)19(ototype)]TJ --29.119 -1.2 Td -[(appears )-27(and, )-27(when )-27(applicable, )-27(to )-27(the )-27(sour)18(ce )-27(code )-27(for )-27(the )-27(function.)-527(Functions )-27(de\336ned )-27(in)]TJ -0 -1.2 TD -[(the )-44(text )-44(that )-44(ar)]TJ -0.2943 Tc 6.528 0 Td -(eu)Tj -0 Tc 1.376 0 Td -[(sed )-44(in )-44(later )-44(examples, )-44(such )-44(as )-44(the)]TJ -/TT0 1 Tf -15.226 0 Td -(set_fl)Tj -/T1_1 1 Tf -3.894 0 Td -[(function )-44(in )-44(Figur)]TJ -0.2944 Tc 7.552 0 Td -(e3)Tj -0 Tc 1.273 0 Td -[(.12, )-44(ar)18(e)]TJ --35.85 -1.2 Td -[(included )-53(in )-53(this )-53(index.)-553(The )-53(de\336nitions )-53(of )-53(functions )-53(that )-53(ar)]TJ -0.3031 Tc 26.147 0 Td -(ep)Tj -0 Tc 1.383 0 Td -[(art )-53(of )-53(the )-53(lar)18(ger )-53(examples)]TJ --27.53 -1.16 Td -(\()Tj -0.333 -0.04 Td -[(Chapters )-39(17, )-39(19, )-39(20, )-39(and )-39(21)]TJ -11.903 0.04 Td -(\))Tj -0.622 -0.04 Td -(ar)Tj -0.2888 Tc 0.877 0 Td -(ea)Tj -0 Tc 1.268 0 Td -[(lso )-39(included )-39(to )-39(help )-39(in )-39(going )-39(thr)18(ough )-39(these )-39(examples.)]TJ --15.003 -1.2 Td -[(Also, )-97(signi\336cant )-97(functions )-97(and )-97(constants )-97(that )-97(occur )-97(in )-97(any )-97(of )-97(the )-97(examples )-97(in )-97(the )-97(text,)]TJ -T* -[(such )-66(as)]TJ -/TT0 1 Tf -3.609 0 Td -(select)Tj -/T1_1 1 Tf -3.916 0 Td -(and)Tj -/TT0 1 Tf -2.009 0 Td -(poll)Tj -/T1_1 1 Tf -0.3159 Tc (,a)Tj --0.018 Tc 3.466 0 Td -[(re )-102(a)]TJ -0 Tc 1.672 0 Td -[(lso )-66(included )-66(in )-66(this )-66(index.)]TJ --0.09 Tc 12.228 0 Td -(Tr)Tj -0 Tc 0.918 0 Td -[(ivial )-66(functions )-66(that )-66(occur)]TJ --27.817 -1.2 Td -[(fr)18(equently)]TJ -0.2596 Tc 4.475 0 Td -(,s)Tj -0 Tc 0.934 0 Td -[(uch )-10(as)]TJ -/TT0 1 Tf -3.072 0 Td -(printf)Tj -/T1_1 1 Tf -0.2596 Tc (,a)Tj --0.018 Tc 4.61 0 Td -[(re )-46(s)]TJ -0 Tc 1.54 0 Td -[(ometimes )-10(not )-10(r)19(efer)18(enced )-10(when )-10(they )-10(occur )-10(in )-10(examples.)]TJ -/TT0 1 Tf -8 0 0 8 129.6009 358.3998 Tm -(#!)Tj -/T1_1 1 Tf -1.367 0 Td -(,)Tj -/T1_2 1 Tf -0.75 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -[(interpr)18(eter \336le)]TJ -/TT0 1 Tf --3.534 -1.25 Td -(.)Tj -/T1_1 1 Tf -0.767 0 Td -(,)Tj -/T1_2 1 Tf -0.75 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -[(curr)18(ent dir)18(ectory)]TJ -/TT0 1 Tf --2.934 -1.25 Td -(..)Tj -/T1_1 1 Tf -1.367 0 Td -(,)Tj -/T1_2 1 Tf -0.75 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -[(par)18(ent dir)18(ectory)]TJ --3.534 -1.25 Td -[(2.9BSD, )-250(234)]TJ -0 -1.25 TD -[(386BSD, )-250(xxxi,)-250(34)]TJ -T* -[(4.1BSD, )-250(525)]TJ -T* -[(4.2BSD, )-250(18,)-250(34, 81, 121, 129)]TJ -11.993 0.09 Td -(\320)Tj -0.583 -0.09 Td -(130, 183, 277, 326, 329,)Tj --9.877 -1.25 Td -(469, 502, 508, 521, 525, 589)Tj --2.7 -1.25 Td -[(4.3BSD, )-250(xxxi,)-250(33)]TJ -7.332 0.09 Td -(\320)Tj -0.583 -0.09 Td -(34, 36, 49, 201, 257, 267, 289, 313,)Tj --5.216 -1.25 Td -(318, 329, 366, 482, 535, 735, 898, 951)Tj --1.35 -1.25 Td -[(Reno, )-250(xxxi,)-250(34, 76)]TJ --0.092 Tc -0 -1.25 Td -(Ta)Tj -0 Tc 1.021 0 Td -[(hoe, )-250(xxxi,)-250(34, 951)]TJ --2.371 -1.25 Td -[(4.4BSD, )-250(xxvi,)-250(xxxi, 21, 34, 74, 1)55(12, 121, 129, 149,)]TJ -2.7 -1.25 Td -(234, 329, 535, 589, 735, 744, 951)Tj -/TT0 1 Tf --2.7 -4.75 Td -(a2ps)Tj -/T1_1 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(842)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(abort)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(198,)-250(236, 241, 272, 275, 313,)]TJ --0.717 -1.25 Td -(317)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(319, 331, 365)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(367, 381, 447, 900)Tj --9.683 -1.25 Td -[(de\336nition of,)-500(365)]TJ -7.775 0.09 Td -(\320)Tj -0.583 -0.09 Td -(366)Tj --9.709 -1.25 Td -[(absolute pathname,)-500(5, 8, 43, 50, 64, 136, 141)]TJ -19.258 0.09 Td -(\320)Tj -0.583 -0.09 Td -(142,)Tj --17.141 -1.25 Td -[(260, 553, 91)55(1)]TJ -/TT0 1 Tf -23.3 27.25 Td -(accept)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(148,)-250(331, 451, 608)]TJ -12.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(609, 615, 617,)Tj --13.94 -1.25 Td -(635, 639)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(640, 648, 817)Tj --5.516 -1.25 Td -[(de\336nition of,)-500(608)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(access)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(102)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(104, 121, 124, 331, 452)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(102)]TJ --1.35 -1.25 Td -[(Accetta, M.,)-500(35)]TJ -T* -(accounting)Tj -1.35 -1.25 Td -[(login, )-250(186)]TJ -4.599 0.09 Td -(\320)Tj -0.583 -0.09 Td -(187)Tj --5.183 -1.25 Td -[(pr)18(ocess, )-250(269)]TJ -5.628 0.09 Td -(\320)Tj -0.583 -0.09 Td -(275)Tj -/TT0 1 Tf --7.561 -1.25 Td -(acct)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(269)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(acct)Tj -/T1_1 1 Tf -2.817 0 Td -[(str)8(uctur)18(e, )-250(270,)-250(273)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(acctcom)Tj -/T1_1 1 Tf -4.617 0 Td -[(pr)18(ogram, )-250(269)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(accton)Tj -/T1_1 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(269,)-250(274)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(ACORE)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(271,)-250(273)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(274)Tj --12.063 -1.25 Td -[(Adams, J.,)-500(293)]TJ -/TT0 1 Tf -T* -(add_job)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(814,)-250(820, 823, 827)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(820)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(add_option)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(831,)-250(834)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(831)]TJ --1.35 -1.25 Td -[(addr)18(essing, socket,)-500(593)]TJ -10.463 0.09 Td -(\320)Tj -0.583 -0.09 Td -(605)Tj -/TT0 1 Tf --11.047 -1.25 Td -(addrinfo)Tj -/T1_1 1 Tf -5.217 0 Td -[(str)8(uctur)18(e, )-250(599)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(603, 614, 616, 618, 620,)Tj --9.402 -1.25 Td -(622, 800, 802, 804, 807, 813)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(814, 816, 819, 833)Tj -/T1_3 1 Tf -9 0 0 9 506.1001 115.9998 Tm -(955)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47181 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(833)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(641 )-4800(/*)]TJ -0 -1.189 TD -(642 )Tj -7.8 0 Td -[(*)-600(Check for a change in the config file.)]TJ --7.8 -1.189 Td -(643 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(644 )-4800(pthread_mutex_lock\(&configlock\);)]TJ -T* -[(645 )-4800(if)-600(\(reread\) {)]TJ -0 -1.189 TD -(646 )Tj -9.6 0 Td -(freeaddrinfo\(printer\);)Tj --9.6 -1.189 Td -(647 )Tj -9.6 0 Td -(printer)Tj -0.6 Tc 4.8 0 Td -(=N)Tj -0 Tc 1.8 0 Td -(ULL;)Tj --16.2 -1.189 Td -(648 )Tj -9.6 0 Td -(printer_name)Tj -0.6 Tc 7.8 0 Td -(=N)Tj -0 Tc 1.8 0 Td -(ULL;)Tj --19.2 -1.189 Td -(649 )Tj -9.6 0 Td -(reread)Tj -0.6 Tc 4.2 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --15.6 -1.189 Td -(650 )Tj -9.6 0 Td -(pthread_mutex_unlock\(&configlock\);)Tj --9.6 -1.189 Td -(651 )Tj -9.6 0 Td -(init_printer\(\);)Tj --9.6 -1.189 Td -[(652 )-4800(})-600(else {)]TJ -0 -1.189 TD -(653 )Tj -9.6 0 Td -(pthread_mutex_unlock\(&configlock\);)Tj --9.6 -1.189 Td -[(654 )-4800(})]TJ -0 -1.902 TD -[(655 )-4800(/*)]TJ -0 -1.189 TD -(656 )Tj -7.8 0 Td -[(*)-600(Send job to printer.)]TJ --7.8 -1.189 Td -(657 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(658 )-4800(sprintf\(name,)-600("%s/%s/%d", SPOOLDIR, DATADIR, jp->jobid\);)]TJ -T* -[(659 )-4800(if)-600(\(\(fd = open\(name, O_RDONLY\)\) < 0\) {)]TJ -T* -(660 )Tj -9.6 0 Td -[(log_msg\("job)-600(%d canceled - can\325t open %s: %s",)]TJ --9.6 -1.189 Td -(661 )Tj -10.8 0 Td -[(jp->jobid,)-600(name, strerror\(errno\)\);)]TJ --10.8 -1.189 Td -(662 )Tj -9.6 0 Td -(free\(jp\);)Tj --9.6 -1.189 Td -(663 )Tj -9.6 0 Td -(continue;)Tj --9.6 -1.189 Td -[(664 )-4800(})]TJ -T* -[(665 )-4800(if)-600(\(fstat\(fd, &sbuf\) < 0\) {)]TJ -0 -1.189 TD -(666 )Tj -9.6 0 Td -[(log_msg\("job)-600(%d canceled - can\325t fstat %s: %s",)]TJ --9.6 -1.189 Td -(667 )Tj -10.8 0 Td -[(jp->jobid,)-600(name, strerror\(errno\)\);)]TJ --10.8 -1.189 Td -(668 )Tj -9.6 0 Td -(free\(jp\);)Tj --9.6 -1.189 Td -(669 )Tj -9.6 0 Td -(close\(fd\);)Tj --9.6 -1.189 Td -(670 )Tj -9.6 0 Td -(continue;)Tj --9.6 -1.189 Td -[(671 )-4800(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3273.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 303.2416 Tm -[([641 )167(\320 )167(654])-668(Now )-50(that )-50(we )-50(have )-50(a )-50(job )-50(to )-50(print, )-50(we )-50(check )-50(for )-50(a )-50(change )-50(in )-50(the )-50(con\336guration)]TJ -5 -1.2 Td -[(\336le. )-265(W)]TJ -0.265 Tc 3.048 0 Td -(el)Tj -0 Tc 1.035 0 Td -[(ock )-15(the)]TJ -/TT0 1 Tf -3.463 0 Td -(configlock)Tj -/T1_0 1 Tf -6.265 0 Td -[(mutex )-15(and )-15(check )-15(the)]TJ -/TT0 1 Tf -9.452 0 Td -(reread)Tj -/T1_0 1 Tf -3.865 0 Td -[(variable. )-265(If)-265(it )-15(is)]TJ --27.129 -1.2 Td -[(nonzer)18(o, )-251(then )-251(we )-251(fr)18(ee )-251(the )-251(old )-251(printer)]TJ -/TT0 1 Tf -18.224 0 Td -(addrinfo)Tj -/T1_0 1 Tf -5.301 0 Td -[(list, )-251(clear )-251(the )-251(pointers,)]TJ --23.525 -1.2 Td -[(unlock )-426(the )-426(mutex, )-426(and )-426(call)]TJ -/TT0 1 Tf -14.068 0 Td -(init_printer)Tj -/T1_0 1 Tf -7.877 0 Td -[(to )-427(r)18(einitialize )-427(the )-427(printer)]TJ --21.944 -1.2 Td -[(information. )-446(Since)-446(only )-196(this )-196(context )-196(looks )-196(at )-196(and )-196(potentially )-196(changes )-196(the)]TJ -0 -1.2 TD -[(printer )-131(information )-131(after )-131(the)]TJ -/TT0 1 Tf -13.29 0 Td -(main)Tj -/T1_0 1 Tf -2.781 0 Td -[(thr)18(ead )-131(initialized )-131(it, )-131(we )-131(don\325t )-131(need )-131(any)]TJ --16.071 -1.2 Td -[(synchr)18(onization )-255(other )-255(than )-255(using )-255(the)]TJ -/TT0 1 Tf -17.815 0 Td -(configlock)Tj -/T1_0 1 Tf -6.505 0 Td -[(mutex )-255(to )-255(pr)18(otect )-255(the)]TJ --24.32 -1.2 Td -(state of the)Tj -/TT0 1 Tf -5.071 0 Td -(reread)Tj -/T1_0 1 Tf -3.85 0 Td -(\337ag.)Tj --8.921 -1.56 Td -[(Note )-62(that )-62(although )-62(we )-62(acquir)]TJ -0.3122 Tc 13.238 0 Td -(ea)Tj -0 Tc 1.291 0 Td -[(nd )-62(r)18(elease )-62(two )-62(dif)17(fer)18(ent )-62(mutex )-62(locks )-62(in )-62(this)]TJ --14.53 -1.2 Td -[(function, )-32(we )-32(never )-32(hold )-32(both )-32(at )-32(the )-32(same )-32(time, )-32(so )-32(we )-32(don\325t )-32(need )-32(to )-32(establish)]TJ -0.25 Tc T* -(al)Tj -0 Tc 1.041 0 Td -[(ock hierar)18(chy \(Section 1)55(1.6.2\).)]TJ --6.041 -1.6 Td -[([655 )167(\320 )167(671])-668(If )-314(we )-314(can\325t )-314(open )-314(the )-314(data )-314(\336le, )-314(we )-314(log )-314(an )-314(err)18(or )-314(message, )-314(fr)18(ee )-314(the)]TJ -/TT0 1 Tf -37.2 0 Td -(job)Tj -/T1_0 1 Tf --32.2 -1.2 Td -[(str)8(uctur)18(e, )-157(and )-157(continue.)-657(After )-157(opening )-157(the )-157(\336le, )-157(we )-157(call)]TJ -/TT0 1 Tf -25.723 0 Td -(fstat)Tj -/T1_0 1 Tf -3.407 0 Td -[(to )-156(\336nd )-156(the)]TJ --29.13 -1.2 Td -[(size of the \336le.)-500(If this fails, we log an err)18(or message, clean up, and continue.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47182 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(816)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(122 )-2400(FD_ZERO\(&rendezvous\);)]TJ -0 -1.189 TD -[(123 )-2400(maxfd)]TJ -0.6 Tc 8.4 0 Td -(=-)Tj -0 Tc 1.8 0 Td -(1;)Tj --10.2 -1.189 Td -[(124 )-2400(for)-600(\(aip = ailist; aip != NULL; aip = aip->ai_next\) {)]TJ -T* -[(125 )-4800(if)-600(\(\(sockfd = initserver\(SOCK_STREAM, aip->ai_addr,)]TJ -T* -(126 )Tj -8.4 0 Td -[(aip->ai_addrlen,)-600(QLEN\)\) >= 0\) {)]TJ --8.4 -1.189 Td -(127 )Tj -9.6 0 Td -[(FD_SET\(sockfd,)-600(&rendezvous\);)]TJ --9.6 -1.189 Td -(128 )Tj -9.6 0 Td -[(if)-600(\(sockfd > maxfd\))]TJ --9.6 -1.189 Td -(129 )Tj -12 0 Td -(maxfd)Tj -0.6 Tc 3.6 0 Td -(=s)Tj -0 Tc 1.8 0 Td -(ockfd;)Tj --17.4 -1.189 Td -[(130 )-4800(})]TJ -T* -[(131 )-2400(})]TJ -T* -[(132 )-2400(if)-600(\(maxfd == -1\))]TJ -T* -[(133 )-4800(log_quit\("service)-600(not enabled"\);)]TJ -0 -2.021 TD -[(134 )-2400(pwdp)]TJ -0.6 Tc 7.8 0 Td -(=g)Tj -0 Tc 1.8 0 Td -(etpwnam\(LPNAME\);)Tj --9.6 -1.189 Td -[(135 )-2400(if)-600(\(pwdp == NULL\))]TJ -0 -1.189 TD -[(136 )-4800(log_sys\("can\325t)-600(find user %s", LPNAME\);)]TJ -T* -[(137 )-2400(if)-600(\(pwdp->pw_uid == 0\))]TJ -T* -[(138 )-4800(log_quit\("user)-600(%s is privileged", LPNAME\);)]TJ -T* -[(139 )-2400(if)-600(\(setgid\(pwdp->pw_gid\) < 0 || setuid\(pwdp->pw_uid\) < 0\))]TJ -0 -1.189 TD -[(140 )-4800(log_sys\("can\325t)-600(change IDs to user %s", LPNAME\);)]TJ -0 -2.021 TD -[(141 )-2400(init_request\(\);)]TJ -0 -1.189 TD -[(142 )-2400(init_printer\(\);)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4257.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 401.6698 Tm -[([122 )167(\320 )167(131])]TJ --0.092 Tc 5 0 Td -[(We )-199(c)]TJ -0 Tc 2.096 0 Td -[(lear )-15(the)]TJ -/TT0 1 Tf -3.582 0 Td -[(rendezvous )335(fd_set)]TJ -/T1_1 1 Tf -10.13 0 Td -[(variable )-15(that )-15(we )-15(will )-15(use )-15(with)]TJ -/TT0 1 Tf -13.456 0 Td -(select)Tj -/T1_1 1 Tf -3.865 0 Td -(to)Tj --33.128 -1.2 Td -[(wait )-9(for )-9(client )-9(connect )-9(r)16(equests. )-259(W)]TJ -0.2594 Tc 15.418 0 Td -(ei)Tj -0 Tc 1.029 0 Td -[(nitialize )-9(the )-9(maximum )-9(\336le )-9(descriptor )-9(to)]TJ -/TT1 1 Tf --16.447 -1.2 Td -(!)Tj -/T1_1 1 Tf -[(1)-495(so)-495(that )-245(the )-245(\336rst )-245(\336le )-245(descriptor )-245(we )-245(allocate )-245(is )-245(sur)19(e)-495(to)-495(be)-495(g)]TJ --0.018 Tc (re)Tj -0 Tc 29.815 0 Td -[(ater )-245(than)]TJ -/TT0 1 Tf --29.815 -1.2 Td -(maxfd)Tj -/T1_1 1 Tf -0.5456 Tc (.F)Tj -0 Tc 4.352 0 Td -[(or )-46(each )-46(network )-46(addr)18(ess )-46(on )-46(which )-46(we )-46(need )-46(to )-46(pr)22(ovide )-45(service, )-45(we)]TJ --4.352 -1.2 Td -(call)Tj -/TT0 1 Tf -1.919 0 Td -(initserver)Tj -/T1_1 1 Tf -6.393 0 Td -[(\(fr)18(om )-143(Figur)]TJ -0.3934 Tc 5.248 0 Td -(e1)Tj -0 Tc 1.372 0 Td -[(6.22\) )-143(to )-143(allocate )-143(and )-143(initialize )-143(a )-143(socket.)-646(If)]TJ -/TT0 1 Tf --14.934 -1.2 Td -(initserver)Tj -/T1_1 1 Tf -6.456 0 Td -[(succeeds, )-206(we )-206(add )-206(the )-206(\336le )-206(descriptor )-206(to )-206(the)]TJ -/TT0 1 Tf -20.371 0 Td -(fd_set)Tj -/T1_1 1 Tf -[(;)-456(if)-456(it)-456(i)1(s)]TJ --26.827 -1.2 Td -[(gr)18(eater than the maximum, we set)]TJ -/TT0 1 Tf -15.34 0 Td -(maxfd)Tj -/T1_1 1 Tf -3.25 0 Td -[(equal to the socket \336le descriptor)74(.)]TJ --23.59 -1.6 Td -[([132 )167(\320 )167(133])-668(If)]TJ -/TT0 1 Tf -6.04 0 Td -(maxfd)Tj -/T1_1 1 Tf -3.37 0 Td -[(is )-120(still)]TJ -/TT1 1 Tf -3.077 0 Td -(!)Tj -/T1_1 1 Tf -0.3697 Tc (1a)Tj -0 Tc 1.919 0 Td -[(fter )-120(stepping )-120(thr)19(ough )-120(the )-120(list )-120(of)]TJ -/TT0 1 Tf -14.782 0 Td -(addrinfo)Tj -/T1_1 1 Tf -5.17 0 Td -[(str)8(uctur)18(es,)]TJ --29.357 -1.2 Td -(we can\325t enable the printer spooling service, so we log a message and\ exit.)Tj --5 -1.6 Td -[([134 )167(\320 )167(140])-668(Our )-87(daemon )-87(needs )-87(super)8(user )-87(privileges )-87(to )-87(bind )-87(a )-87(socket )-87(to )-87(a )-87(r)21(eserved )-87(port)]TJ -5 -1.2 Td -(number)Tj -0.5798 Tc 3.421 0 Td -(.N)Tj -0 Tc 1.661 0 Td -[(ow )-80(that )-80(this )-80(is )-80(done, )-80(we )-80(can )-80(lower )-80(its )-80(privileges )-80(by )-80(changing )-80(its)]TJ --5.082 -1.2 Td -[(user )-167(and )-167(gr)18(oup )-167(IDs )-167(to )-167(the )-167(ones )-167(associated )-167(with )-167(the)]TJ -/TT0 1 Tf -24.235 0 Td -(LPNAME)Tj -/T1_1 1 Tf -4.017 0 Td -[(account. )-417(W)92(e)]TJ --28.252 -1.2 Td -[(follow )-96(the )-96(principles )-96(of )-96(least )-96(privilege )-96(to )-96(avoid )-96(exposing )-96(the )-96(system )-96(to )-96(any)]TJ -0 -1.2 TD -[(potential )-307(vulnerabilities )-307(in )-307(the )-307(daemon.)]TJ --0.092 Tc 19.447 0 Td -[(We )-491(c)]TJ -0 Tc 2.388 0 Td -(all)Tj -/TT0 1 Tf -1.639 0 Td -(getpwnam)Tj -/T1_1 1 Tf -5.357 0 Td -[(to )-307(\336nd )-307(the)]TJ --28.83 -1.2 Td -(passwor)Tj -0.2881 Tc 3.706 0 Td -(de)Tj -0 Tc 1.378 0 Td -[(ntry )-38(for )-38(the )-38(daemon.)-538(If )-38(no )-38(such )-38(user )-38(account )-38(exists, )-38(or )-38(if )-38(it )-38(exists)]TJ --5.084 -1.2 Td -[(with )-116(the )-116(same )-116(user )-116(ID )-116(as )-116(the )-116(super)10(user)74(,)-366(we)-366(l)1(og )-116(an )-116(err)18(or )-116(message )-116(and )-116(exit.)]TJ --0 -1.2 Td -[(Otherwise, )-30(we )-30(change )-30(both )-30(the )-30(r)18(eal )-30(and )-30(ef)18(fective )-30(IDs )-30(by )-30(calling)]TJ -/TT0 1 Tf -28.427 0 Td -(setgid)Tj -/T1_1 1 Tf -3.88 0 Td -(and)Tj -/TT0 1 Tf --32.307 -1.2 Td -(setuid)Tj -/T1_1 1 Tf -0.561 Tc (.T)Tj -0.311 Tc 4.932 0 Td -(oa)Tj -0 Tc 1.357 0 Td -[(void )-61(exposing )-61(our )-61(system, )-61(we )-61(choose )-61(to )-61(pr)18(ovide )-61(no )-61(service )-61(at)]TJ --6.289 -1.2 Td -[(all if we can\325t r)18(educe our privileges.)]TJ --5 -1.6 Td -[([141 )167(\320 )167(142])]TJ --0.092 Tc 5 0 Td -[(We )-337(c)]TJ -0 Tc 2.234 0 Td -(all)Tj -/TT0 1 Tf -1.485 0 Td -(init_request)Tj -/T1_1 1 Tf -7.603 0 Td -[(to )-153(initialize )-153(the )-153(job )-153(r)18(equests )-153(and )-153(ensur)]TJ -0.4032 Tc 17.683 0 Td -(et)Tj -0 Tc 1.208 0 Td -[(hat )-153(only)]TJ --30.214 -1.2 Td -[(one )-32(copy )-32(of )-32(the )-32(daemon )-32(is )-32(r)8(unning, )-32(and )-32(we )-32(call)]TJ -/TT0 1 Tf -21.522 0 Td -(init_printer)Tj -/T1_1 1 Tf -7.482 0 Td -[(to )-32(initialize)]TJ --29.004 -1.2 Td -(the printer information \(we\325ll see both of these functions shortly\)\ .)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47183 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(814)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(60 )-1200(int32_t)]TJ -16.8 0 Td -(nextjob;)Tj --16.8 -1.189 Td -[(61 )-1200(pthread_mutex_t)-4800(joblock = PTHREAD_MUTEX_INITIALIZER;)]TJ -0 -1.189 TD -[(62 )-1200(pthread_cond_t)]TJ -16.8 0 Td -(jobwait = PTHREAD_COND_INITIALIZER;)Tj --16.8 -1.783 Td -[(63 )-1200(/*)]TJ -T* -[(64 )-1800(*)-600(Function prototypes.)]TJ -T* -[(65 )-1800(*/)]TJ -T* -[(66 )-1200(void)-4200(init_request\(void\);)]TJ -T* -[(67 )-1200(void)-4200(init_printer\(void\);)]TJ -T* -[(68 )-1200(void)-4200(update_jobno\(void\);)]TJ -0 -1.189 TD -[(69 )-1200(int32_t)-2400(get_newjobno\(void\);)]TJ -0 -1.189 TD -[(70 )-1200(void)-4200(add_job\(struct printreq *, int32_t\);)]TJ -T* -[(71 )-1200(void)-4200(replace_job\(struct job *\);)]TJ -T* -[(72 )-1200(void)-4200(remove_job\(struct job *\);)]TJ -T* -[(73 )-1200(void)-4200(build_qonstart\(void\);)]TJ -T* -[(74 )-1200(void)-4200(*client_thread\(void *\);)]TJ -0 -1.189 TD -[(75 )-1200(void)-4200(*printer_thread\(void *\);)]TJ -0 -1.189 TD -[(76 )-1200(void)-4200(*signal_thread\(void *\);)]TJ -0 -1.189 TD -[(77 )-1200(ssize_t)-2400(readmore\(int, char **, int, int *\);)]TJ -0 -1.189 TD -[(78 )-1200(int)-4800(printer_status\(int, struct job *\);)]TJ -0 -1.189 TD -[(79 )-1200(void)-4200(add_worker\(pthread_t, int\);)]TJ -0 -1.189 TD -[(80 )-1200(void)-4200(kill_workers\(void\);)]TJ -0 -1.189 TD -[(81 )-1200(void)-4200(client_cleanup\(void *\);)]TJ -0 -1.783 TD -[(82 )-1200(/*)]TJ -0 -1.189 TD -[(83 )-1800(*)-600(Main print server thread.)-1200(Accepts connect requests from)]TJ -T* -[(84 )-1800(*)-600(clients and spawns additional threads to service requests.)]TJ -0 -1.189 TD -[(85 )-1800(*)]TJ -0 -1.189 TD -[(86 )-1800(*)-600(LOCKING: none.)]TJ -0 -1.189 TD -[(87 )-1800(*/)]TJ -0 -1.189 TD -[(88 )-1200(int)]TJ -T* -[(89 )-1200(main\(int)-600(argc, char *argv[]\))]TJ -0 -1.189 TD -[(90 )-1200({)]TJ -0 -1.189 TD -[(91 )-3000(pthread_t)]TJ -16.8 0 Td -(tid;)Tj --16.8 -1.189 Td -[(92 )-3000(struct)-600(addrinfo )-2400(*ailist,)-600(*aip;)]TJ -0 -1.189 TD -[(93 )-3000(int)]TJ -16.8 0 Td -(sockfd, err, i, n, maxfd;)Tj --16.8 -1.189 Td -[(94 )-3000(char)]TJ -16.8 0 Td -(*host;)Tj --16.8 -1.189 Td -[(95 )-3000(fd_set)]TJ -16.8 0 Td -(rendezvous, rset;)Tj --16.8 -1.189 Td -[(96 )-3000(struct)-600(sigaction )-1800(sa;)]TJ -0 -1.189 TD -[(97 )-3000(struct)-600(passwd )-3600(*pwdp;)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2481.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 224.0711 Tm -[([60 )167(\320 )167(62])]TJ -/TT0 1 Tf -4 0 Td -(nextjob)Tj -/T1_1 1 Tf -4.563 0 Td -[(is )-113(the )-113(ID )-113(of )-113(the )-113(next )-113(print )-113(job )-113(to )-113(be )-113(r)19(eceived. )-363(The)]TJ -/TT0 1 Tf -23.068 0 Td -(joblock)Tj -/T1_1 1 Tf -4.563 0 Td -(mutex)Tj --32.193 -1.2 Td -[(pr)18(otects )-212(the )-212(linked )-212(list )-212(of )-212(jobs, )-212(as )-212(well )-212(as )-212(the )-212(condition )-212(r)20(epr)18(esented )-212(by )-212(the)]TJ -/TT0 1 Tf -0 -1.2 TD -(jobwait)Tj -/T1_1 1 Tf -4.45 0 Td -(condition variable.)Tj --8.45 -1.6 Td -[([63 )167(\320 )167(81])]TJ --0.092 Tc 4 0 Td -[(We )-398(d)]TJ -0 Tc 2.462 0 Td -(eclar)Tj -0.4639 Tc 2.091 0 Td -(et)Tj -0 Tc 1.269 0 Td -[(he )-214(function )-214(pr)18(ototypes )-214(for )-214(the )-214(r)18(emaining )-214(functions )-214(in )-214(this )-214(\336le.)]TJ --5.822 -1.2 Td -[(Doing )-327(this )-327(up )-327(fr)19(ont )-327(allows )-327(us )-327(to )-327(place )-327(the )-327(functions )-327(in )-327(the )-327(\336le )-327(without)]TJ -T* -[(worrying about the or)18(der in which each is called.)]TJ --4 -1.6 Td -[([82 )167(\320 )167(97])-668(The)]TJ -/TT0 1 Tf -5.995 0 Td -(main)Tj -/T1_1 1 Tf -2.721 0 Td -[(function )-71(for )-71(the )-71(printer )-71(spooling )-71(daemon )-71(has )-71(two )-71(tasks )-71(to )-71(perform:)]TJ --4.717 -1.2 Td -[(initialize the daemon and then pr)18(ocess connect r)18(equests fr)18(om clients.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47184 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(807)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(The command used to submit a print job is shown next.)-500(The C sour)18(ce \336le is)]TJ -/TT0 1 Tf -33.652 0 Td -(print.c)Tj -/T1_0 1 Tf -(.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6570.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -1.8 Tc 8.9989 0 0 8.9989 134.9838 647.4213 Tm -(1/)Tj -0 Tc 3 0 Td -(*)Tj -2.4 Tc -3 -1.189 Td -(2*)Tj -0 Tc 4.2 0 Td -[(The client command for printing documents.)-1200(Opens the file)]TJ -2.4 Tc -4.2 -1.189 Td -(3*)Tj -0 Tc 4.2 0 Td -[(and sends it to the printer spooling daemon.)-1200(Usage:)]TJ --4.2 -1.189 Td -[(4)-2400(*)-2400( print [-t] filename)]TJ -2.4 Tc 0 -1.189 TD -(5*)Tj -0 Tc 3.6 0 Td -(/)Tj -1.8 Tc -3.6 -1.189 Td -(6#)Tj -0 Tc 3 0 Td -(include "apue.h")Tj -1.8 Tc -3 -1.189 Td -(7#)Tj -0 Tc 3 0 Td -(include "print.h")Tj -1.8 Tc -3 -1.189 Td -(8#)Tj -0 Tc 3 0 Td -(include )Tj -1.8 Tc -3 -1.189 Td -(9#)Tj -0 Tc 3 0 Td -(include )Tj --3.6 -2.14 Td -[(10 )-1200(/*)]TJ -T* -[(11 )-1800(*)-600(Needed for logging funtions.)]TJ -T* -[(12 )-1800(*/)]TJ -T* -[(13 )-1200(int)-600(log_to_stderr = 1;)]TJ -0 -2.14 TD -[(14 )-1200(void)-600(submit_file\(int, int, const char *, size_t, int\);)]TJ -0 -2.14 TD -[(15 )-1200(int)]TJ -0 -1.189 TD -[(16 )-1200(main\(int)-600(argc, char *argv[]\))]TJ -T* -[(17 )-1200({)]TJ -T* -[(18 )-3000(int)]TJ -14.4 0 Td -(fd, sfd, err, text, c;)Tj --14.4 -1.189 Td -[(19 )-3000(struct)-600(stat )-2400(sbuf;)]TJ -0 -1.189 TD -[(20 )-3000(char)]TJ -14.4 0 Td -(*host;)Tj --14.4 -1.189 Td -[(21 )-3000(struct)-600(addrinfo *ailist, *aip;)]TJ -0 -2.14 TD -[(22 )-3000(err)]TJ -0.6 Tc 7.2 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --9 -1.189 Td -[(23 )-3000(text)]TJ -0.6 Tc 7.8 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --9.6 -1.189 Td -[(24 )-3000(while)-600(\(\(c = getopt\(argc, argv, "t"\)\) != -1\) {)]TJ -0 -1.189 TD -(25 )Tj -7.2 0 Td -[(switch)-600(\(c\) {)]TJ --7.2 -1.189 Td -(26 )Tj -7.2 0 Td -[(case)-600(\325t\325:)]TJ --7.2 -1.189 Td -(27 )Tj -9.6 0 Td -(text)Tj -0.6 Tc 3 0 Td -(=1)Tj -0 Tc 1.8 0 Td -(;)Tj --14.4 -1.189 Td -(28 )Tj -9.6 0 Td -(break;)Tj --9.6 -2.14 Td -(29 )Tj -7.2 0 Td -[(case)-600(\325?\325:)]TJ --7.2 -1.189 Td -(30 )Tj -9.6 0 Td -(err)Tj -0.6 Tc 2.4 0 Td -(=1)Tj -0 Tc 1.8 0 Td -(;)Tj --13.8 -1.189 Td -(31 )Tj -9.6 0 Td -(break;)Tj --9.6 -1.189 Td -(32 )Tj -7.2 0 Td -(})Tj --7.2 -1.189 Td -[(33 )-3000(})]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2575.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 233.456 Tm -[([1 )167(\320 )167(14])]TJ --0.092 Tc 4 0 Td -[(We )-244(n)]TJ -0 Tc 2.279 0 Td -[(eed )-60(to )-60(de\336ne )-60(an )-60(integer )-60(called)]TJ -/TT0 1 Tf -13.864 0 Td -(log_to_stderr)Tj -/T1_0 1 Tf -8.11 0 Td -[(to )-60(be )-60(able )-60(to )-60(use )-60(the )-60(log)]TJ --24.254 -1.2 Td -[(functions )-14(in )-14(our )-14(library)]TJ -0.5145 Tc 10.211 0 Td -(.I)Tj -0.2646 Tc 1.101 0 Td -(ft)Tj -0 Tc 0.924 0 Td -[(his )-15(integer )-15(is )-15(set )-15(to )-15(a )-15(nonzer)]TJ -0.2646 Tc 12.375 0 Td -(ov)Tj -0 Tc 1.376 0 Td -[(alue, )-15(err)18(or )-15(messages)]TJ --25.987 -1.2 Td -[(will )-68(be )-68(sent )-68(to )-68(the )-68(standar)]TJ -0.318 Tc 11.719 0 Td -(de)Tj -0 Tc 1.408 0 Td -[(rr)18(or )-68(str)18(eam )-68(instead )-68(of )-68(to )-68(a )-68(log )-68(\336le.)-568(Although )-68(we)]TJ --13.127 -1.2 Td -[(don\325t )-373(use )-373(any )-373(logging )-373(functions )-373(in)]TJ -/TT0 1 Tf -17.609 0 Td -(print.c)Tj -/T1_0 1 Tf -[(,)-623(we)-623(do)-623(l)-1(ink)]TJ -/TT0 1 Tf -11.134 0 Td -(util.o)Tj -/T1_0 1 Tf -4.224 0 Td -(with)Tj -/TT0 1 Tf --32.967 -1.2 Td -(print.o)Tj -/T1_0 1 Tf -4.737 0 Td -[(to )-287(build )-287(the )-287(executable)]TJ -/TT0 1 Tf -11.427 0 Td -(print)Tj -/T1_0 1 Tf -3.537 0 Td -[(command, )-287(and)]TJ -/TT0 1 Tf -7.466 0 Td -(util.c)Tj -/T1_0 1 Tf -4.137 0 Td -(contains)Tj --31.305 -1.2 Td -(functions for both user commands and daemons.)Tj --4 -1.6 Td -[([15 )167(\320 )167(33])]TJ --0.092 Tc 4 0 Td -[(We )-198(s)]TJ -0 Tc 2.075 0 Td -[(upport )-14(one )-14(option,)]TJ -/TT0 1 Tf -8.614 0 Td -(-t)Tj -/T1_0 1 Tf -0.2644 Tc (,t)Tj -0.2645 Tc 2.04 0 Td -(of)Tj -0 Tc 1.144 0 Td -[(or)18(ce )-14(the )-14(\336le )-14(to )-14(be )-14(printed )-14(as )-14(text )-14(\(instead )-14(of )-14(as )-14(a)]TJ --13.873 -1.2 Td -[(PostScript )-39(pr)18(ogram, )-39(for )-39(example\).)]TJ --0.092 Tc 15.602 0 Td -[(We )-223(u)]TJ -0 Tc 2.279 0 Td -[(se )-39(the)]TJ -/TT0 1 Tf -2.868 0 Td -(getopt)Tj -/T1_0 1 Tf -3.889 0 Td -[(function )-39(\(intr)18(oduced )-39(in)]TJ --24.639 -1.2 Td -[(Section 17.6\) to pr)18(ocess the command options.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47185 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(804)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(64 )-1200(/*)]TJ -0 -1.189 TD -[(65 )-1800(*)-600(Return the host name running the print server or NULL on error.)]TJ -T* -[(66 )-1800(*)]TJ -T* -[(67 )-1800(*)-600(LOCKING: none.)]TJ -T* -[(68 )-1800(*/)]TJ -0 -1.189 TD -[(69 )-1200(char)-600(*)]TJ -0 -1.189 TD -[(70 )-1200(get_printserver\(void\))]TJ -T* -[(71 )-1200({)]TJ -T* -[(72 )-3000(return\(scan_configfile\("printserver"\)\);)]TJ -T* -[(73 )-1200(})]TJ -0 -1.902 TD -[(74 )-1200(/*)]TJ -0 -1.189 TD -[(75 )-1800(*)-600(Return the address of the network printer or NULL on error.)]TJ -0 -1.189 TD -[(76 )-1800(*)]TJ -T* -[(77 )-1800(*)-600(LOCKING: none.)]TJ -T* -[(78 )-1800(*/)]TJ -T* -[(79 )-1200(struct)-600(addrinfo *)]TJ -T* -[(80 )-1200(get_printaddr\(void\))]TJ -T* -[(81 )-1200({)]TJ -T* -[(82 )-3000(int)]TJ -14.4 0 Td -(err;)Tj --14.4 -1.189 Td -[(83 )-3000(char)]TJ -14.4 0 Td -(*p;)Tj --14.4 -1.189 Td -[(84 )-3000(struct)-600(addrinfo *ailist;)]TJ -0 -1.902 TD -[(85 )-3000(if)-600(\(\(p = scan_configfile\("printer"\)\) != NULL\) {)]TJ -0 -1.189 TD -(86 )Tj -7.2 0 Td -[(if)-600(\(\(err = getaddrlist\(p, "ipp", &ailist\)\) != 0\) {)]TJ --7.2 -1.189 Td -(87 )Tj -9.6 0 Td -[(log_msg\("no)-600(address information for %s", p\);)]TJ --9.6 -1.189 Td -(88 )Tj -9.6 0 Td -(return\(NULL\);)Tj --9.6 -1.189 Td -(89 )Tj -7.2 0 Td -(})Tj --7.2 -1.189 Td -(90 )Tj -7.2 0 Td -(return\(ailist\);)Tj --7.2 -1.189 Td -[(91 )-3000(})]TJ -0 -1.189 TD -[(92 )-3000(log_msg\("no)-600(printer address specified"\);)]TJ -T* -[(93 )-3000(return\(NULL\);)]TJ -T* -[(94 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3208.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 296.8224 Tm -[([64 )167(\320 )167(73])-668(The)]TJ -/TT0 1 Tf -6.247 0 Td -(get_printserver)Tj -/T1_1 1 Tf -9.574 0 Td -[(function )-324(is )-324(simply )-324(a )-324(wrapper )-324(function )-324(that )-324(calls)]TJ -/TT0 1 Tf --11.821 -1.2 Td -(scan_configfile)Tj -/T1_1 1 Tf -9.573 0 Td -[(to )-323(\336nd )-323(the )-323(name )-323(of )-323(the )-323(computer )-323(system )-323(wher)]TJ -0.5726 Tc 22.989 0 Td -(et)Tj -0 Tc 1.378 0 Td -(he)Tj --33.939 -1.2 Td -[(printer spooling daemon is r)8(unning.)]TJ --4 -1.6 Td -[([74 )167(\320 )167(94])]TJ --0.092 Tc 4 0 Td -[(We )-496(u)]TJ -0 Tc 2.552 0 Td -[(se )-312(the)]TJ -/TT0 1 Tf -3.414 0 Td -(get_printaddr)Tj -/T1_1 1 Tf -8.362 0 Td -[(function )-312(to )-312(get )-312(the )-312(addr)18(ess )-312(of )-312(the )-312(network)]TJ --14.328 -1.2 Td -(printer)Tj -0.6844 Tc 2.995 0 Td -(.I)Tj -0 Tc 1.271 0 Td -[(t)-434(is)-434(s)-1(imilar )-184(to )-184(the )-184(pr)18(evious )-184(function )-184(except )-184(that )-184(when )-184(we )-184(\336nd )-184(the)]TJ --4.266 -1.2 Td -[(name )-225(of )-225(the )-225(printer )-225(in )-225(the )-225(con\336guration )-225(\336le, )-225(we )-225(use )-225(the )-225(name )-225(to )-225(\336nd )-225(the)]TJ -0 -1.2 TD -[(corr)18(esponding network addr)18(ess.)]TJ -0 -1.56 TD -(Both)Tj -/TT0 1 Tf -2.369 0 Td -(get_printserver)Tj -/T1_1 1 Tf -9.304 0 Td -(and)Tj -/TT0 1 Tf -1.997 0 Td -(get_printaddr)Tj -/T1_1 1 Tf -8.104 0 Td -(call)Tj -/TT0 1 Tf -1.83 0 Td -(scan_configfile)Tj -/T1_1 1 Tf -0.5541 Tc (.I)Tj -0.3041 Tc 10.141 0 Td -(fi)Tj -0 Tc 0.928 0 Td -(t)Tj --34.674 -1.2 Td -[(can\325t )-37(open )-37(the )-37(printer )-37(con\336guration )-37(\336le,)]TJ -/TT0 1 Tf -18.117 0 Td -(scan_configfile)Tj -/T1_1 1 Tf -9.287 0 Td -(calls)Tj -/TT0 1 Tf -2.237 0 Td -(log_sys)Tj -/T1_1 1 Tf -4.487 0 Td -(to)Tj --34.128 -1.2 Td -[(print )-53(an )-53(err)18(or )-53(message )-53(and )-53(exit.)-550(Although)]TJ -/TT0 1 Tf -19.401 0 Td -(get_printserver)Tj -/T1_1 1 Tf -9.303 0 Td -[(is )-52(meant )-52(to )-52(be)]TJ --28.703 -1.2 Td -[(called )-20(fr)18(om )-20(a )-20(client )-20(command )-20(and)]TJ -/TT0 1 Tf -15.433 0 Td -(get_printaddr)Tj -/T1_1 1 Tf -8.071 0 Td -[(is )-20(meant )-20(to )-20(be )-20(called )-20(fr)16(om)]TJ --23.503 -1.2 Td -[(the )-64(daemon, )-64(having )-64(both )-64(call)]TJ -/TT0 1 Tf -13.419 0 Td -(log_sys)Tj -/T1_1 1 Tf -4.514 0 Td -[(is )-64(OK, )-64(because )-64(we )-64(can )-64(arrange )-64(for )-64(the)]TJ --17.933 -1.2 Td -[(log )-20(functions )-20(to )-20(print )-20(to )-20(the )-20(standar)]TJ -0.2697 Tc 15.788 0 Td -(de)Tj -0 Tc 1.36 0 Td -[(rr)18(or )-20(instead )-20(of )-20(to )-20(the )-20(log )-20(\336le )-20(by )-20(setting )-20(a)]TJ --17.148 -1.2 Td -(global variable.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47186 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(802)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(The next \336le we will look at is)Tj -/TT0 1 Tf -13.452 0 Td -(util.c)Tj -/T1_1 1 Tf -0.25 Tc (,t)Tj -0 Tc 4.426 0 Td -[(he \336le containing utility r)18(outines.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6570.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -1.8 Tc 8.9989 0 0 8.9989 134.9838 647.4213 Tm -(1#)Tj -0 Tc 3 0 Td -(include "apue.h")Tj -1.8 Tc -3 -1.189 Td -(2#)Tj -0 Tc 3 0 Td -(include "print.h")Tj -1.8 Tc -3 -1.189 Td -(3#)Tj -0 Tc 3 0 Td -(include )Tj -1.8 Tc -3 -1.189 Td -(4#)Tj -0 Tc 3 0 Td -(include )Tj -1.8 Tc -3 -2.021 Td -(5#)Tj -0 Tc 3 0 Td -(define MAXCFGLINE 512)Tj -1.8 Tc -3 -1.189 Td -(6#)Tj -0 Tc 3 0 Td -[(define MAXKWLEN)-1800(16)]TJ -1.8 Tc -3 -1.189 Td -(7#)Tj -0 Tc 3 0 Td -[(define MAXFMTLEN)-1200(16)]TJ -1.8 Tc -3 -2.021 Td -(8/)Tj -0 Tc 3 0 Td -(*)Tj -2.4 Tc -3 -1.189 Td -(9*)Tj -0 Tc 4.2 0 Td -(Get the address list for the given host and service and)Tj --4.8 -1.189 Td -[(10 )-1800(*)-600(return through ailistpp.)-1200(Returns 0 on success or an error)]TJ -0 -1.189 TD -[(11 )-1800(*)-600(code on failure.)-1200(Note that we do not set errno if we)]TJ -T* -[(12 )-1800(*)-600(encounter an error.)]TJ -T* -[(13 )-1800(*)]TJ -T* -[(14 )-1800(*)-600(LOCKING: none.)]TJ -T* -[(15 )-1800(*/)]TJ -T* -[(16 )-1200(int)]TJ -T* -[(17 )-1200(getaddrlist\(const)-600(char *host, const char *service,)]TJ -T* -[(18 )-2400(struct)-600(addrinfo **ailistpp\))]TJ -0 -1.189 TD -[(19 )-1200({)]TJ -0 -1.189 TD -[(20 )-3000(int)]TJ -14.4 0 Td -(err;)Tj --14.4 -1.189 Td -[(21 )-3000(struct)-600(addrinfo hint;)]TJ -0 -2.021 TD -[(22 )-3000(hint.ai_flags)]TJ -0.6 Tc 13.2 0 Td -(=A)Tj -0 Tc 1.8 0 Td -(I_CANONNAME;)Tj --15 -1.189 Td -[(23 )-3000(hint.ai_family)]TJ -0.6 Tc 13.8 0 Td -(=A)Tj -0 Tc 1.8 0 Td -(F_INET;)Tj --15.6 -1.189 Td -[(24 )-3000(hint.ai_socktype)]TJ -0.6 Tc 15 0 Td -(=S)Tj -0 Tc 1.8 0 Td -(OCK_STREAM;)Tj --16.8 -1.189 Td -[(25 )-3000(hint.ai_protocol)]TJ -0.6 Tc 15 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --16.8 -1.189 Td -[(26 )-3000(hint.ai_addrlen)]TJ -0.6 Tc 14.4 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --16.2 -1.189 Td -[(27 )-3000(hint.ai_canonname)]TJ -0.6 Tc 15.6 0 Td -(=N)Tj -0 Tc 1.8 0 Td -(ULL;)Tj --17.4 -1.189 Td -[(28 )-3000(hint.ai_addr)]TJ -0.6 Tc 12.6 0 Td -(=N)Tj -0 Tc 1.8 0 Td -(ULL;)Tj --14.4 -1.189 Td -[(29 )-3000(hint.ai_next)]TJ -0.6 Tc 12.6 0 Td -(=N)Tj -0 Tc 1.8 0 Td -(ULL;)Tj --14.4 -1.189 Td -[(30 )-3000(err)]TJ -0.6 Tc 7.2 0 Td -(=g)Tj -0 Tc 1.8 0 Td -(etaddrinfo\(host, service, &hint, ailistpp\);)Tj --9 -1.189 Td -[(31 )-3000(return\(err\);)]TJ -0 -1.189 TD -[(32 )-1200(})]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2885.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 264.4804 Tm -[([1 )167(\320 )167(7])]TJ --0.092 Tc 4 0 Td -[(We )-262(\336)]TJ -0 Tc 2.32 0 Td -[(rst )-78(de\336ne )-78(the )-78(limits )-78(needed )-78(by )-78(the )-78(functions )-78(in )-78(this )-78(\336le.)]TJ -/TT0 1 Tf -25.638 0 Td -(MAXCFGLINE)Tj -/T1_1 1 Tf -6.328 0 Td -(is)Tj --34.285 -1.2 Td -[(the )-97(maximum )-97(size )-97(of )-97(a )-97(line )-97(in )-97(the )-97(printer )-97(con\336guration )-97(\336le,)]TJ -/TT0 1 Tf -27.405 0 Td -(MAXKWLEN)Tj -/T1_1 1 Tf -5.147 0 Td -[(is )-97(the)]TJ --32.551 -1.2 Td -[(maximum )-113(size )-113(of )-113(a )-113(keywor)19(d)-363(in)-363(the )-113(con\336guration )-113(\336le, )-113(and)]TJ -/TT0 1 Tf -26.773 0 Td -(MAXFMTLEN)Tj -/T1_1 1 Tf -5.763 0 Td -[(is )-113(the)]TJ --32.535 -1.2 Td -(maximum size of the format string we pass to)Tj -/TT0 1 Tf -20.46 0 Td -(sscanf)Tj -/T1_1 1 Tf -(.)Tj --24.46 -1.6 Td -[([8 )167(\320 )167(32])-1168(The )-400(\336rst )-400(function )-400(is)]TJ -/TT0 1 Tf -14.445 0 Td -(getaddrlist)Tj -/T1_1 1 Tf -0.8997 Tc (.I)Tj -0 Tc 8.087 0 Td -[(t)-650(is)-650(a)-650(w)1(rapper )-400(for)]TJ -/TT0 1 Tf -9.869 0 Td -(getaddrinfo)Tj -/T1_1 1 Tf --28.4 -1.2 Td -[(\(Section )-364(16.3.3\), )-364(since )-364(we )-364(always )-364(call)]TJ -/TT0 1 Tf -18.457 0 Td -(getaddrinfo)Tj -/T1_1 1 Tf -7.214 0 Td -[(with )-364(the )-364(same )-364(hint)]TJ --25.671 -1.2 Td -[(str)8(uctur)18(e. )-507(Note)-508(that )-257(we )-257(do )-257(not )-257(need )-257(mutex )-257(locking )-257(in )-257(this )-257(function.)-762(The)]TJ -/TT0 1 Tf -0 -1.2 Td -(LOCKING)Tj -/T1_1 1 Tf -4.696 0 Td -[(comment )-246(at )-246(the )-246(beginning )-246(of )-246(each )-246(function )-246(is )-246(intended )-246(only )-246(for)]TJ --4.696 -1.2 Td -[(documenting )-162(multithr)18(eaded )-162(locking.)-663(This )-162(comment )-162(lists )-162(the )-162(assumptions, )-162(if)]TJ -0 -1.2 TD -(any)Tj -0.3243 Tc 1.527 0 Td -(,t)Tj -0 Tc 0.9 0 Td -[(hat )-74(ar)]TJ -0.3243 Tc 2.609 0 Td -(em)Tj -0 Tc 1.686 0 Td -[(ade )-74(r)18(egar)18(ding )-74(the )-74(locking, )-74(tells )-74(which )-74(locks )-74(the )-74(function )-74(might)]TJ --6.723 -1.2 Td -[(acquir)18(e)-250(or)-250(r)18(elease, and tells which locks must be held to call the function.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47187 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(800)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(22 )-1200(#define)-600(FILENMSZ )-4200(64)]TJ -0 -1.189 TD -[(23 )-1200(#define)-600(FILEPERM )-4200(\(S_IRUSR|S_IWUSR\))]TJ -0 -2.021 TD -[(24 )-1200(#define)-600(USERNM_MAX )-3000(64)]TJ -0 -1.189 TD -[(25 )-1200(#define)-600(JOBNM_MAX )-3600(256)]TJ -T* -[(26 )-1200(#define)-600(MSGLEN_MAX )-3000(512)]TJ -0 -2.021 TD -[(27 )-1200(#ifndef)-600(HOST_NAME_MAX)]TJ -0 -1.189 TD -[(28 )-1200(#define)-600(HOST_NAME_MAX )-1200(256)]TJ -T* -[(29 )-1200(#endif)]TJ -0 -2.021 TD -[(30 )-1200(#define)-600(IPP_PORT )-4200(631)]TJ -0 -1.189 TD -[(31 )-1200(#define)-600(QLEN )]TJ -17.4 0 Td -(10)Tj --17.4 -2.021 Td -[(32 )-1200(#define)-600(IBUFSZ )]TJ -17.4 0 Td -[(512)-2400(/* IPP header buffer size */)]TJ --17.4 -1.189 Td -[(33 )-1200(#define)-600(HBUFSZ )]TJ -17.4 0 Td -[(512)-2400(/* HTTP header buffer size */)]TJ --17.4 -1.189 Td -[(34 )-1200(#define)-600(IOBUFSZ )-4800(8192)-1800(/* data buffer size */)]TJ -0 -2.021 TD -[(35 )-1200(#ifndef)-600(ETIME)]TJ -0 -1.189 TD -[(36 )-1200(#define)-600(ETIME ETIMEDOUT)]TJ -T* -[(37 )-1200(#endif)]TJ -0 -2.021 TD -[(38 )-1200(extern)-600(int getaddrlist\(const char *, const char *,)]TJ -0 -1.189 TD -[(39 )-2400(struct)-600(addrinfo **\);)]TJ -0 -1.189 TD -[(40 )-1200(extern)-600(char *get_printserver\(void\);)]TJ -T* -[(41 )-1200(extern)-600(struct addrinfo *get_printaddr\(void\);)]TJ -T* -[(42 )-1200(extern)-600(ssize_t tread\(int, void *, size_t, unsigned int\);)]TJ -T* -[(43 )-1200(extern)-600(ssize_t treadn\(int, void *, size_t, unsigned int\);)]TJ -T* -[(44 )-1200(extern)-600(int connect_retry\(int, int, int, const struct sockaddr *,)]TJ -T* -[(45 )-2400(socklen_t\);)]TJ -T* -[(46 )-1200(extern)-600(int initserver\(int, const struct sockaddr *, socklen_t,)]TJ -T* -[(47 )-2400(int\);)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3422.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 318.2198 Tm -[([22 )167(\320 )167(34])-668(Next, )-8(we )-8(de\336ne )-8(limits )-8(and )-8(constants.)]TJ -/TT0 1 Tf -20.873 0 Td -(FILEPERM)Tj -/T1_1 1 Tf -5.058 0 Td -[(is )-8(the )-8(permissions )-8(used )-8(when)]TJ --21.931 -1.2 Td -[(cr)18(eating )-25(copies )-25(of )-25(\336les )-25(submitted )-25(to )-25(be )-25(printed.)-529(The )-25(permissions )-25(ar)]TJ -0.2754 Tc 29.849 0 Td -(er)Tj -0 Tc 1.131 0 Td -(estrictive)Tj --30.98 -1.2 Td -[(because )-209(we )-209(don\325t )-209(want )-209(or)18(dinary )-209(users )-209(to )-209(be )-209(able )-209(to )-209(r)18(ead )-209(each )-209(other)-74(\325s )-209(\336les)]TJ -0 -1.2 TD -[(while )-286(they )-286(ar)]TJ -0.5365 Tc 6.37 0 Td -(ew)Tj -0 Tc 1.849 0 Td -[(aiting )-286(to )-286(be )-286(printed.)]TJ --0.092 Tc 10.381 0 Td -[(We )-470(d)]TJ -0 Tc 2.534 0 Td -(e\336ne)Tj -/TT0 1 Tf -2.681 0 Td -(HOST_NAME_MAX)Tj -/T1_1 1 Tf -8.336 0 Td -[(as )-286(the)]TJ --32.153 -1.2 Td -[(lar)18(gest )-83(host )-83(name )-83(we )-83(will )-83(support )-83(if )-83(we )-83(ar)]TJ -0.3331 Tc 19.27 0 Td -(eu)Tj -0 Tc 1.415 0 Td -[(nable )-83(to )-83(determine )-83(the )-83(system\325s)]TJ --20.685 -1.2 Td -(limit with)Tj -/TT0 1 Tf -4.615 0 Td -(sysconf)Tj -/T1_1 1 Tf -(.)Tj --4.615 -1.8 Td -[(IPP )-71(is )-71(de\336ned )-71(to )-71(use )-71(port )-71(631.)-570(The)]TJ -/TT0 1 Tf -16.114 0 Td -(QLEN)Tj -/T1_1 1 Tf -2.721 0 Td -[(is )-71(the )-71(backlog )-71(parameter )-71(we )-71(pass )-71(to)]TJ -/TT0 1 Tf --18.835 -1.2 Td -(listen)Tj -/T1_1 1 Tf -3.85 0 Td -(\(see Section 16.4 for details\).)Tj --7.85 -1.72 Td -[([35 )167(\320 )167(37])-668(Some )-123(platforms )-123(don\325t )-123(de\336ne )-123(the )-123(err)17(or)]TJ -/TT0 1 Tf -21.649 0 Td -(ETIME)Tj -/T1_1 1 Tf -[(,)-373(so)-373(we)-373(d)-1(e\336ne )-123(it )-123(to )-123(an )-123(alternate)]TJ --17.649 -1.2 Td -[(err)18(or )-23(code )-23(that )-23(makes )-23(sense )-23(for )-23(these )-23(systems.)-523(This )-23(is )-23(the )-23(err)18(or )-23(code )-23(we )-23(r)15(eturn)]TJ -0 -1.2 Td -[(when )-63(a )-63(r)18(ead )-63(times )-63(out )-63(\(we )-63(don\325t )-63(want )-63(the )-63(server )-63(to )-63(block )-63(inde\336nitely )-63(r)15(eading)]TJ -T* -[(fr)18(om a socket\).)]TJ --4 -1.72 Td -[([38 )167(\320 )167(47])-668(Next, )-177(we )-177(declar)]TJ -0.4266 Tc 11.27 0 Td -(ea)Tj -0 Tc 1.406 0 Td -[(ll )-177(the )-177(public )-177(r)18(outines )-177(contained )-177(in)]TJ -/TT0 1 Tf -16.174 0 Td -(util.c)Tj -/T1_1 1 Tf -4.027 0 Td -[(\(we\325ll )-176(look )-176(at)]TJ --28.876 -1.2 Td -[(these )-6(shortly\).)-506(Note )-6(that )-6(the)]TJ -/TT0 1 Tf -12.825 0 Td -(connect_retry)Tj -/T1_1 1 Tf -8.056 0 Td -[(function, )-6(fr)18(om )-6(Figur)]TJ -0.2558 Tc 8.991 0 Td -(e1)Tj -0 Tc 1.235 0 Td -[(6.1)55(1, )-6(and)]TJ --31.106 -1.2 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(initserver)Tj -/T1_1 1 Tf -6.25 0 Td -[(function, fr)18(om Figur)]TJ -0.25 Tc 8.979 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(6.22, ar)Tj -0.25 Tc 3.127 0 Td -(en)Tj -0 Tc 1.311 0 Td -(ot included in)Tj -/TT0 1 Tf -6.407 0 Td -(util.c)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47188 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(622)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Example )195(\321 )195(Connectionless)-279(Ser )268(ver)]TJ -/T1_1 1 Tf -3.6 -1.68 Td -[(The pr)18(ogram in Figur)]TJ -0.25 Tc 9.538 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(6.20 is the datagram version of the)Tj -/TT1 1 Tf -15.421 0 Td -(uptime)Tj -/T1_1 1 Tf -3.85 0 Td -[(server)74(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6462.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 636.6226 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -1.783 TD -[(#define BUFLEN)-3600(128)]TJ -0 -1.189 TD -[(#define MAXADDRLEN)-1200(256)]TJ -0 -1.783 TD -(#ifndef HOST_NAME_MAX)Tj -0 -1.189 TD -(#define HOST_NAME_MAX 256)Tj -T* -(#endif)Tj -0 -1.783 TD -(extern int initserver\(int, const struct sockaddr *, socklen_t, int\);)Tj -0 -1.783 TD -(void)Tj -0 -1.189 TD -(serve\(int sockfd\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -(n;)Tj --9.6 -1.189 Td -[(socklen_t )-3600(alen;)]TJ -T* -(FILE )Tj -9.6 0 Td -(*fp;)Tj --9.6 -1.189 Td -(char )Tj -9.6 0 Td -(buf[BUFLEN];)Tj --9.6 -1.189 Td -(char )Tj -9.6 0 Td -(abuf[MAXADDRLEN];)Tj --9.6 -1.189 Td -(struct sockaddr *addr = \(struct sockaddr *\)abuf;)Tj -0 -1.783 TD -(set_cloexec\(sockfd\);)Tj -0 -1.189 TD -(for \(;;\) {)Tj -2.4 -1.189 Td -(alen = MAXADDRLEN;)Tj -T* -(if \(\(n = recvfrom\(sockfd, buf, BUFLEN, 0, addr, &alen\)\) < 0\) {)Tj -2.4 -1.189 Td -(syslog\(LOG_ERR, "ruptimed: recvfrom error: %s",)Tj -1.2 -1.189 Td -(strerror\(errno\)\);)Tj --1.2 -1.189 Td -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(\(fp = popen\("/usr/bin/uptime", "r"\)\) == NULL\) {)Tj -2.4 -1.189 Td -(sprintf\(buf, "error: %s\\n", strerror\(errno\)\);)Tj -T* -(sendto\(sockfd, buf, strlen\(buf\), 0, addr, alen\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(if \(fgets\(buf, BUFLEN, fp\) != NULL\))Tj -2.4 -1.189 Td -(sendto\(sockfd, buf, strlen\(buf\), 0, addr, alen\);)Tj --2.4 -1.189 Td -(pclose\(fp\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(struct addrinfo *ailist, *aip;)Tj -T* -(struct addrinfo hint;)Tj -0 -1.189 TD -(int )Tj -9.6 0 Td -[(sockfd,)-600(err, n;)]TJ --9.6 -1.189 Td -(char )Tj -9.6 0 Td -(*host;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47189 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(618)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 194.3883 670.2598 Tm -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(syslog\(LOG_ERR, "ruptimed: fork error: %s",)Tj -1.2 -1.189 Td -(strerror\(errno\)\);)Tj --1.2 -1.189 Td -(exit\(1\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(pid == 0\) {)-1200(/* child */)]TJ -0.6 -1.189 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*T)Tj -0 Tc 1.8 0 Td -(he parent called daemonize \(Figure 13.1\), so)Tj -0.6 Tc -1.8 -1.189 Td -(*S)Tj -0 Tc 1.8 0 Td -(TDIN_FILENO, STDOUT_FILENO, and STDERR_FILENO)Tj -0.6 Tc -1.8 -1.189 Td -(*a)Tj -0 Tc 1.8 0 Td -[(re already open to /dev/null.)-1200(Thus, the call to)]TJ -0.6 Tc -1.8 -1.189 Td -(*c)Tj -0 Tc 1.8 0 Td -(lose doesn\325t need to be protected by checks that)Tj -0.6 Tc -1.8 -1.189 Td -(*c)Tj -0 Tc 1.8 0 Td -(lfd isn\325t already equal to one of these values.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(dup2\(clfd, STDOUT_FILENO\) != STDOUT_FILENO ||)Tj -1.2 -1.189 Td -(dup2\(clfd, STDERR_FILENO\) != STDERR_FILENO\) {)Tj -1.2 -1.189 Td -(syslog\(LOG_ERR, "ruptimed: unexpected error"\);)Tj -T* -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(close\(clfd\);)Tj -T* -(execl\("/usr/bin/uptime", "uptime", \(char *\)0\);)Tj -T* -(syslog\(LOG_ERR, "ruptimed: unexpected return from exec: %s",)Tj -1.2 -1.189 Td -(strerror\(errno\)\);)Tj -0.6 Tc -3.6 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse {)-4800(/* parent */)]TJ -0.6 -1.189 Td -(close\(clfd\);)Tj -T* -(waitpid\(pid, &status, 0\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -(struct addrinfo *ailist, *aip;)Tj -T* -(struct addrinfo hint;)Tj -T* -(int )Tj -9.6 0 Td -[(sockfd,)-600(err, n;)]TJ --9.6 -1.189 Td -(char )Tj -9.6 0 Td -(*host;)Tj --9.6 -2.021 Td -(if \(argc != 1\))Tj -2.4 -1.189 Td -(err_quit\("usage: ruptimed"\);)Tj --2.4 -1.189 Td -(if \(\(n = sysconf\(_SC_HOST_NAME_MAX\)\) < 0\))Tj -0.6 Tc 2.4 -1.189 Td -(n=H)Tj -0 Tc 3 0 Td -[(OST_NAME_MAX; )-600(/*)-600(best guess */)]TJ --5.4 -1.189 Td -(if \(\(host = malloc\(n\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("malloc error"\);)Tj --2.4 -1.189 Td -(if \(gethostname\(host, n\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("gethostname error"\);)Tj --2.4 -1.189 Td -(daemonize\("ruptimed"\);)Tj -0 -1.189 TD -(memset\(&hint, 0, sizeof\(hint\)\);)Tj -0 -1.189 TD -(hint.ai_flags = AI_CANONNAME;)Tj -T* -(hint.ai_socktype = SOCK_STREAM;)Tj -T* -(hint.ai_canonname = NULL;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47190 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(616)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 194.3883 670.2598 Tm -(sprintf\(buf, "error: %s\\n", strerror\(errno\)\);)Tj -0 -1.189 TD -(send\(clfd, buf, strlen\(buf\), 0\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(while \(fgets\(buf, BUFLEN, fp\) != NULL\))Tj -2.4 -1.189 Td -(send\(clfd, buf, strlen\(buf\), 0\);)Tj --2.4 -1.189 Td -(pclose\(fp\);)Tj --2.4 -1.189 Td -(})Tj -T* -(close\(clfd\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -(struct addrinfo *ailist, *aip;)Tj -T* -(struct addrinfo hint;)Tj -T* -(int )Tj -9.6 0 Td -[(sockfd,)-600(err, n;)]TJ --9.6 -1.189 Td -(char )Tj -9.6 0 Td -(*host;)Tj --9.6 -1.902 Td -(if \(argc != 1\))Tj -2.4 -1.189 Td -(err_quit\("usage: ruptimed"\);)Tj --2.4 -1.189 Td -(if \(\(n = sysconf\(_SC_HOST_NAME_MAX\)\) < 0\))Tj -0.6 Tc 2.4 -1.189 Td -(n=H)Tj -0 Tc 3 0 Td -[(OST_NAME_MAX; )-600(/*)-600(best guess */)]TJ --5.4 -1.189 Td -(if \(\(host = malloc\(n\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("malloc error"\);)Tj --2.4 -1.189 Td -(if \(gethostname\(host, n\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("gethostname error"\);)Tj --2.4 -1.189 Td -(daemonize\("ruptimed"\);)Tj -T* -(memset\(&hint, 0, sizeof\(hint\)\);)Tj -0 -1.189 TD -(hint.ai_flags = AI_CANONNAME;)Tj -0 -1.189 TD -(hint.ai_socktype = SOCK_STREAM;)Tj -T* -(hint.ai_canonname = NULL;)Tj -T* -(hint.ai_addr = NULL;)Tj -T* -(hint.ai_next = NULL;)Tj -T* -(if \(\(err = getaddrinfo\(host, "ruptime", &hint, &ailist\)\) != 0\) {)Tj -2.4 -1.189 Td -(syslog\(LOG_ERR, "ruptimed: getaddrinfo error: %s",)Tj -1.2 -1.189 Td -(gai_strerror\(err\)\);)Tj --1.2 -1.189 Td -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(for \(aip = ailist; aip != NULL; aip = aip->ai_next\) {)Tj -2.4 -1.189 Td -(if \(\(sockfd = initserver\(SOCK_STREAM, aip->ai_addr,)Tj -1.2 -1.189 Td -(aip->ai_addrlen, QLEN\)\) >= 0\) {)Tj -1.2 -1.189 Td -(serve\(sockfd\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -T* -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1711.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 225.5409 155.1404 Tm -(Figure 16.17)Tj -/T1_1 1 Tf -6.195 0 Td -[(Server pr)18(ogram to pr)18(ovide system uptime)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47191 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.3)]TJ -38.7 0 Td -[(Addr)18(essing)]TJ -/T1_1 1 Tf -7.133 0 Td -(603)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -(void)Tj -0 -1.189 TD -(print_flags\(struct addrinfo *aip\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("flags"\);)Tj -T* -(if \(aip->ai_flags == 0\) {)Tj -2.4 -1.189 Td -(printf\(" 0"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(if \(aip->ai_flags & AI_PASSIVE\))Tj -2.4 -1.189 Td -(printf\(" passive"\);)Tj --2.4 -1.189 Td -(if \(aip->ai_flags & AI_CANONNAME\))Tj -2.4 -1.189 Td -(printf\(" canon"\);)Tj --2.4 -1.189 Td -(if \(aip->ai_flags & AI_NUMERICHOST\))Tj -2.4 -1.189 Td -(printf\(" numhost"\);)Tj --2.4 -1.189 Td -(if \(aip->ai_flags & AI_NUMERICSERV\))Tj -2.4 -1.189 Td -(printf\(" numserv"\);)Tj --2.4 -1.189 Td -(if \(aip->ai_flags & AI_V4MAPPED\))Tj -2.4 -1.189 Td -(printf\(" v4mapped"\);)Tj --2.4 -1.189 Td -(if \(aip->ai_flags & AI_ALL\))Tj -2.4 -1.189 Td -(printf\(" all"\);)Tj --4.8 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(struct addrinfo)-3000(*ailist, *aip;)]TJ -T* -[(struct addrinfo)-3000(hint;)]TJ -0 -1.189 TD -[(struct sockaddr_in)-1200(*sinp;)]TJ -0 -1.189 TD -(const char)Tj -12 0 Td -(*addr;)Tj --12 -1.189 Td -(int )Tj -12 0 Td -(err;)Tj --12 -1.189 Td -(char )Tj -12 0 Td -(abuf[INET_ADDRSTRLEN];)Tj --12 -2.14 Td -(if \(argc != 3\))Tj -2.4 -1.189 Td -(err_quit\("usage: %s nodename service", argv[0]\);)Tj --2.4 -1.189 Td -(hint.ai_flags = AI_CANONNAME;)Tj -0 -1.189 TD -(hint.ai_family = 0;)Tj -T* -(hint.ai_socktype = 0;)Tj -T* -(hint.ai_protocol = 0;)Tj -T* -(hint.ai_addrlen = 0;)Tj -T* -(hint.ai_canonname = NULL;)Tj -T* -(hint.ai_addr = NULL;)Tj -T* -(hint.ai_next = NULL;)Tj -0 -1.189 TD -(if \(\(err = getaddrinfo\(argv[1], argv[2], &hint, &ailist\)\) != 0\))Tj -2.4 -1.189 Td -(err_quit\("getaddrinfo error: %s", gai_strerror\(err\)\);)Tj --2.4 -1.189 Td -(for \(aip = ailist; aip != NULL; aip = aip->ai_next\) {)Tj -2.4 -1.189 Td -(print_flags\(aip\);)Tj -0 -1.189 TD -(print_family\(aip\);)Tj -T* -(print_type\(aip\);)Tj -T* -(print_protocol\(aip\);)Tj -T* -(printf\("\\n\\thost %s", aip->ai_canonname?aip->ai_canonname:"-"\);)Tj -T* -(if \(aip->ai_family == AF_INET\) {)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47192 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.3)]TJ -38.7 0 Td -[(Addr)18(essing)]TJ -/T1_1 1 Tf -7.133 0 Td -(599)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(number )-536(with)]TJ -/TT0 1 Tf -7.1 0 Td -(getservbyname)Tj -/T1_0 1 Tf -0.7862 Tc (,m)Tj -0 Tc 9.719 0 Td -[(ap )-536(a )-536(port )-536(number )-536(to )-536(a )-536(service )-536(name )-536(with)]TJ -/TT0 1 Tf --16.82 -1.2 Td -(getservbyport)Tj -/T1_0 1 Tf -[(,)-250(or)-250(scan the services database sequentially with)]TJ -/TT0 1 Tf -29.137 0 Td -(getservent)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 636.6618 Tm -(#include )Tj -0 -2.14 TD -(struct servent *getservbyname\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 29.167 0 Td -(onst char *)Tj -/T1_2 1 Tf -[(pr)18(oto)]TJ -/TT0 1 Tf -(\);)Tj --29.167 -2.14 Td -(struct servent *getservbyport\(int)Tj -/T1_2 1 Tf -20.4 0 Td -(port)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.466 0 Td -(onst char *)Tj -/T1_2 1 Tf -[(pr)18(oto)]TJ -/TT0 1 Tf -(\);)Tj --23.866 -2.14 Td -(struct servent *getservent\(void\);)Tj -/T1_0 1 Tf -21.885 -2.14 Td -[(All r)18(eturn: pointer if OK,)]TJ -/TT0 1 Tf -11.228 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --35.763 -2.14 Td -(void setservent\(int)Tj -/T1_2 1 Tf -12 0 Td -(stayopen)Tj -/TT0 1 Tf -(\);)Tj --12 -2.14 Td -(void endservent\(void\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5166.25 cm -0 0 m -0 1291 l -3900 1291 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 499.4801 Tm -(The)Tj -/TT0 1 Tf -1.924 0 Td -(servent)Tj -/T1_0 1 Tf -4.45 0 Td -[(str)8(uctur)18(e)-250(is)-250(de\336ned to have at least the following members:)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5821 482.7817 Tm -(struct servent {)Tj -1.2 -1.189 Td -[(char )-1200(*s_name;)-3000(/* service name */)]TJ -0 -1.189 TD -[(char )-600(**s_aliases; )-600(/*)-600(pointer to alternate service name array */)]TJ -0 -1.189 TD -[(int )-2400(s_port; )-2400(/*)-600(port number */)]TJ -0 -1.189 TD -[(char )-1200(*s_proto;)-2400(/* name of protocol */)]TJ -0 -1.189 TD -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --1.2 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5821 392.0332 Tm -[(POSIX.1 )-91(de\336nes )-91(several )-91(new )-91(functions )-91(to )-91(allow )-91(an )-91(application )-91(to )-91(map )-91(fr)20(om )-91(a )-91(host)]TJ --1.8 -1.2 Td -[(name )-151(and )-151(a )-151(service )-151(name )-151(to )-151(an )-151(addr)18(ess, )-151(and )-151(vice )-151(versa.)-651(These )-151(functions )-151(r)18(eplace )-151(the)]TJ -0 -1.2 TD -(older)Tj -/TT0 1 Tf -2.572 0 Td -(gethostbyname)Tj -/T1_0 1 Tf -8.05 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(gethostbyaddr)Tj -/T1_0 1 Tf -8.05 0 Td -(functions.)Tj --18.815 -1.2 Td -(The)Tj -/TT0 1 Tf -1.938 0 Td -(getaddrinfo)Tj -/T1_0 1 Tf -6.864 0 Td -[(function )-14(allows )-14(us )-14(to )-14(map )-14(a )-14(host )-14(name )-14(and )-14(a )-14(service )-14(name )-14(to )-14(an)]TJ --10.602 -1.2 Td -[(addr)18(ess.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.582 323.7413 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -(int getaddrinfo\(const char *restrict)Tj -/T1_2 1 Tf -22.2 0 Td -(host)Tj -/TT0 1 Tf -(,)Tj --12.6 -1.189 Td -(const char *restrict)Tj -/T1_2 1 Tf -12.6 0 Td -(service)Tj -/TT0 1 Tf -(,)Tj --12.6 -1.189 Td -(const struct addrinfo *restrict)Tj -/T1_2 1 Tf -19.2 0 Td -(hint)Tj -/TT0 1 Tf -(,)Tj --19.2 -1.189 Td -(struct addrinfo **restrict)Tj -/T1_2 1 Tf --0.018 Tc 16.2 0 Td -(re)Tj -0 Tc 0.76 0 Td -(s)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --7.044 -2.14 Td -(Returns: 0 if OK, nonzer)Tj -0.25 Tc 10.679 0 Td -(oe)Tj -0 Tc 1.275 0 Td -[(rr)18(or code on err)18(or)]TJ -/TT0 1 Tf --31.47 -2.14 Td -(void freeaddrinfo\(struct addrinfo *)Tj -/T1_2 1 Tf -(ai)Tj -/TT0 1 Tf -(\);)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2187.25 cm -0 0 m -0 1141 l -3900 1141 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9982 0 0 9.9982 129.5767 201.5637 Tm -[(We )-279(n)]TJ -0 Tc 2.314 0 Td -[(eed )-95(to )-95(pr)18(ovide )-95(the )-95(host )-95(name, )-95(the )-95(service )-95(name, )-95(or )-95(both.)-595(If )-95(we )-95(pr)18(ovide )-95(only )-95(one)]TJ --2.314 -1.2 Td -[(name, )-66(the )-66(other )-66(should )-66(be )-66(a )-66(null )-66(pointer)]TJ -0.5665 Tc 18.126 0 Td -(.T)Tj -0 Tc 1.429 0 Td -[(he )-66(host )-66(name )-66(can )-66(be )-66(either )-66(a )-66(node )-66(name )-66(or)]TJ --19.556 -1.2 Td -[(the host addr)18(ess in dotted-decimal notation.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.029 0 Td -(getaddrinfo)Tj -/T1_0 1 Tf -6.955 0 Td -[(function )-105(r)18(eturns )-105(a )-105(linked )-105(list )-105(of)]TJ -/TT0 1 Tf -14.545 0 Td -(addrinfo)Tj -/T1_0 1 Tf -5.155 0 Td -[(str)8(uctur)18(es. )-355(W)]TJ -0.3551 Tc 6.156 0 Td -(ec)Tj -0 Tc 1.278 0 Td -(an)Tj --37.918 -1.2 Td -(use)Tj -/TT0 1 Tf -1.868 0 Td -(freeaddrinfo)Tj -/T1_0 1 Tf -7.562 0 Td -[(to )-112(fr)18(ee )-112(one )-112(or )-112(mor)18(e)-362(of)-362(these )-112(str)8(uctur)18(es, )-112(depending )-112(on )-112(how )-112(many)]TJ --9.43 -1.2 Td -[(str)8(uctur)18(es ar)]TJ -0.25 Tc 5.52 0 Td -(el)Tj -0 Tc 1.02 0 Td -(inked together using the)Tj -/TT0 1 Tf -11.051 0 Td -(ai_next)Tj -/T1_0 1 Tf -4.45 0 Td -[(\336eld in the str)8(uctur)18(es.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47193 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(831)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(581 )-1200(/*)]TJ -0 -1.189 TD -[(582 )-1800(*)-600(Add an option to the IPP header.)]TJ -T* -[(583 )-1800(*)]TJ -T* -[(584 )-1800(*)-600(LOCKING: none.)]TJ -T* -[(585 )-1800(*/)]TJ -0 -1.189 TD -[(586 )-1200(char)-600(*)]TJ -0 -1.189 TD -[(587 )-1200(add_option\(char)-600(*cp, int tag, char *optname, char *optval\))]TJ -T* -[(588 )-1200({)]TJ -T* -[(589 )-2400(int )-2400(n;)]TJ -T* -[(590 )-2400(union)-600({)]TJ -T* -[(591 )-4800(int16_t)-600(s;)]TJ -T* -[(592 )-4800(char)-600(c[2];)]TJ -T* -[(593 )-2400(})-4200(u;)]TJ -0 -2.021 TD -[(594 )-2400(*cp++)]TJ -0.6 Tc 8.4 0 Td -(=t)Tj -0 Tc 1.8 0 Td -(ag;)Tj --10.2 -1.189 Td -[(595 )-2400(n)]TJ -0.6 Tc 6 0 Td -(=s)Tj -0 Tc 1.8 0 Td -(trlen\(optname\);)Tj --7.8 -1.189 Td -[(596 )-2400(u.s)]TJ -0.6 Tc 7.2 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(tons\(n\);)Tj --9 -1.189 Td -[(597 )-2400(*cp++)]TJ -0.6 Tc 8.4 0 Td -(=u)Tj -0 Tc 1.8 0 Td -(.c[0];)Tj --10.2 -1.189 Td -[(598 )-2400(*cp++)]TJ -0.6 Tc 8.4 0 Td -(=u)Tj -0 Tc 1.8 0 Td -(.c[1];)Tj --10.2 -1.189 Td -[(599 )-2400(strcpy\(cp,)-600(optname\);)]TJ -0 -1.189 TD -[(600 )-2400(cp)-600(+= n;)]TJ -T* -[(601 )-2400(n)]TJ -0.6 Tc 6 0 Td -(=s)Tj -0 Tc 1.8 0 Td -(trlen\(optval\);)Tj --7.8 -1.189 Td -[(602 )-2400(u.s)]TJ -0.6 Tc 7.2 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(tons\(n\);)Tj --9 -1.189 Td -[(603 )-2400(*cp++)]TJ -0.6 Tc 8.4 0 Td -(=u)Tj -0 Tc 1.8 0 Td -(.c[0];)Tj --10.2 -1.189 Td -[(604 )-2400(*cp++)]TJ -0.6 Tc 8.4 0 Td -(=u)Tj -0 Tc 1.8 0 Td -(.c[1];)Tj --10.2 -1.189 Td -[(605 )-2400(strcpy\(cp,)-600(optval\);)]TJ -T* -[(606 )-2400(return\(cp)]TJ -0.6 Tc 10.8 0 Td -(+n)Tj -0 Tc 1.8 0 Td -(\);)Tj --12.6 -1.189 Td -[(607 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 344.9666 Tm -[([581 )167(\320 )167(593])-668(The)]TJ -/TT0 1 Tf -7.031 0 Td -(add_option)Tj -/T1_0 1 Tf -6.357 0 Td -[(function )-106(is )-106(used )-106(to )-106(add )-106(an )-106(option )-106(to )-106(the )-106(IPP )-106(header )-106(that)]TJ --8.387 -1.2 Td -[(we )-25(build )-25(to )-25(send )-25(to )-25(the )-25(printer)]TJ -0.5251 Tc 13.535 0 Td -(.R)Tj -0 Tc 1.443 0 Td -[(ecall )-25(fr)18(om )-25(Figur)]TJ -0.2751 Tc 7.077 0 Td -(e2)Tj -0 Tc 1.254 0 Td -[(1.4 )-25(that )-25(the )-25(format )-25(of )-25(an)]TJ --23.309 -1.2 Td -[(attribute )-68(is )-68(a )-68(1)]TJ -6.469 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-68(tag )-68(describing )-68(the )-68(type )-68(of )-68(the )-68(attribute, )-68(followed )-68(by )-68(the)]TJ --6.802 -1.2 Td -[(length )-32(of )-32(the )-32(attribute )-32(name )-32(stor)18(ed )-32(in )-32(binary )-32(as )-32(a )-32(2)]TJ -22.582 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-32(integer)]TJ -0.2821 Tc 5.23 0 Td -(,f)Tj -0 Tc 0.865 0 Td -[(ollowed )-32(by)]TJ --29.011 -1.2 Td -(the name, the size of the attribute value, and \336nally the value itsel\ f.)Tj -0 -1.56 TD -[(IPP )-342(makes )-342(no )-342(attempt )-342(to )-342(contr)20(ol )-342(the )-342(alignment )-342(of )-342(the )-342(binary )-342(integers)]TJ -0 -1.2 TD -[(embedded )-68(in )-68(the )-68(header)]TJ -0.5685 Tc 10.894 0 Td -(.S)Tj -0 Tc 1.344 0 Td -[(ome )-68(pr)18(ocessor )-68(ar)17(chitectur)18(es, )-68(such )-68(as )-68(the )-68(SP)90(ARC,)]TJ --12.237 -1.2 Td -[(can\325t )-143(load )-143(an )-143(integer )-143(fr)18(om )-143(an )-143(arbitrary )-143(addr)16(ess. )-393(This)-393(means )-143(that )-143(we )-143(can\325t)]TJ -T* -(stor)Tj -0.4876 Tc 1.673 0 Td -(et)Tj -0 Tc 1.293 0 Td -[(he )-238(integers )-238(in )-238(the )-238(header )-238(by )-238(casting )-238(a )-238(pointer )-238(to)]TJ -/TT0 1 Tf -23.6 0 Td -(int16_t)Tj -/T1_0 1 Tf -4.688 0 Td -[(to )-238(the)]TJ --31.253 -1.2 Td -[(addr)18(ess )-57(in )-57(the )-57(header )-57(wher)]TJ -0.3068 Tc 12.231 0 Td -(et)Tj -0 Tc 1.112 0 Td -[(he )-57(integer )-57(is )-57(to )-57(be )-57(stor)19(ed. )-307(Instead,)-307(we )-57(need )-57(to)]TJ --13.343 -1.2 Td -[(copy )-327(the )-327(integer )-327(1 )-327(byte )-327(at )-327(a )-327(time.)-831(This )-328(is )-328(why )-328(we )-328(de\336ne )-328(the)]TJ -/TT0 1 Tf -31 0 Td -(union)Tj -/T1_0 1 Tf --31 -1.2 Td -(containing a 16)Tj -6.7 0.09 Td -(-)Tj -0.333 -0.09 Td -(bit integer and 2 bytes.)Tj --12.033 -1.6 Td -[([594 )167(\320 )167(607])]TJ --0.092 Tc 5 0 Td -[(We )-186(s)]TJ -0 Tc 2.063 0 Td -(tor)Tj -0.2515 Tc 1.249 0 Td -(et)Tj -0 Tc 1.056 0 Td -[(he )-1(tag )-1(in )-1(the )-1(header )-1(and )-1(convert )-1(the )-1(length )-1(of )-1(the )-1(attribute )-1(name )-1(to)]TJ --4.368 -1.2 Td -[(network )-23(byte )-23(or)19(der)]TJ -0.5227 Tc 8.511 0 Td -(.W)Tj -0.2727 Tc 1.681 0 Td -(ec)Tj -0 Tc 1.196 0 Td -[(opy )-23(the )-23(length )-23(1 )-23(byte )-23(at )-23(a )-23(time )-23(to )-23(the )-23(header)]TJ -0.5228 Tc 19.583 0 Td -(.T)Tj -0 Tc 1.386 0 Td -(hen)Tj --32.357 -1.2 Td -[(we )-120(copy )-120(the )-120(attribute )-120(name.)]TJ --0.092 Tc 13.442 0 Td -[(We )-304(r)]TJ -0 Tc 2.134 0 Td -[(epeat )-120(this )-120(pr)18(ocess )-120(for )-120(the )-120(attribute )-120(value)]TJ --15.577 -1.2 Td -[(and )-231(r)18(eturn )-231(the )-231(addr)18(ess )-231(in )-231(the )-231(header )-231(wher)]TJ -0.4809 Tc 20.212 0 Td -(et)Tj -0 Tc 1.286 0 Td -[(he )-231(next )-231(part )-231(of )-231(the )-231(header)]TJ --21.497 -1.2 Td -(should begin.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47194 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(834)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(672 )-4800(if)-600(\(\(sockfd = connect_retry\(AF_INET, SOCK_STREAM, 0,)]TJ -0 -1.189 TD -(673 )Tj -8.4 0 Td -[(printer->ai_addr,)-600(printer->ai_addrlen\)\) < 0\) {)]TJ --8.4 -1.189 Td -(674 )Tj -9.6 0 Td -[(log_msg\("job)-600(%d deferred - can\325t contact printer: %s",)]TJ --9.6 -1.189 Td -(675 )Tj -10.8 0 Td -[(jp->jobid,)-600(strerror\(errno\)\);)]TJ --10.8 -1.189 Td -(676 )Tj -9.6 0 Td -[(goto)-600(defer;)]TJ --9.6 -1.189 Td -[(677 )-4800(})]TJ -0 -2.021 TD -[(678 )-4800(/*)]TJ -0 -1.189 TD -(679 )Tj -7.8 0 Td -[(*)-600(Set up the IPP header.)]TJ --7.8 -1.189 Td -(680 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(681 )-4800(icp)]TJ -0.6 Tc 9.6 0 Td -(=i)Tj -0 Tc 1.8 0 Td -(buf;)Tj --11.4 -1.189 Td -[(682 )-4800(hp)]TJ -0.6 Tc 9 0 Td -(=\()Tj -0 Tc 1.8 0 Td -(struct ipp_hdr *\)icp;)Tj --10.8 -1.189 Td -[(683 )-4800(hp->major_version)]TJ -0.6 Tc 18 0 Td -(=1)Tj -0 Tc 1.8 0 Td -(;)Tj --19.8 -1.189 Td -[(684 )-4800(hp->minor_version)]TJ -0.6 Tc 18 0 Td -(=1)Tj -0 Tc 1.8 0 Td -(;)Tj --19.8 -1.189 Td -[(685 )-4800(hp->operation)]TJ -0.6 Tc 15.6 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(tons\(OP_PRINT_JOB\);)Tj --17.4 -1.189 Td -[(686 )-4800(hp->request_id)]TJ -0.6 Tc 16.2 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(tonl\(jp->jobid\);)Tj --18 -1.189 Td -[(687 )-4800(icp)-600(+= offsetof\(struct ipp_hdr, attr_group\);)]TJ -T* -[(688 )-4800(*icp++)]TJ -0.6 Tc 11.4 0 Td -(=T)Tj -0 Tc 1.8 0 Td -(AG_OPERATION_ATTR;)Tj --13.2 -1.189 Td -[(689 )-4800(icp)]TJ -0.6 Tc 9.6 0 Td -(=a)Tj -0 Tc 1.8 0 Td -(dd_option\(icp, TAG_CHARSET, "attributes-charset",)Tj --11.4 -1.189 Td -(690 )Tj -8.4 0 Td -("utf-8"\);)Tj --8.4 -1.189 Td -[(691 )-4800(icp)]TJ -0.6 Tc 9.6 0 Td -(=a)Tj -0 Tc 1.8 0 Td -(dd_option\(icp, TAG_NATULANG,)Tj --11.4 -1.189 Td -(692 )Tj -8.4 0 Td -[("attributes-natural-language",)-600("en-us"\);)]TJ --8.4 -1.189 Td -[(693 )-4800(sprintf\(str,)-600("http://%s/ipp", printer_name\);)]TJ -T* -[(694 )-4800(icp)]TJ -0.6 Tc 9.6 0 Td -(=a)Tj -0 Tc 1.8 0 Td -(dd_option\(icp, TAG_URI, "printer-uri", str\);)Tj --11.4 -1.189 Td -[(695 )-4800(icp)]TJ -0.6 Tc 9.6 0 Td -(=a)Tj -0 Tc 1.8 0 Td -(dd_option\(icp, TAG_NAMEWOLANG,)Tj --11.4 -1.189 Td -(696 )Tj -8.4 0 Td -[("requesting-user-name",)-600(jp->req.usernm\);)]TJ --8.4 -1.189 Td -[(697 )-4800(icp)]TJ -0.6 Tc 9.6 0 Td -(=a)Tj -0 Tc 1.8 0 Td -(dd_option\(icp, TAG_NAMEWOLANG, "job-name",)Tj --11.4 -1.189 Td -(698 )Tj -8.4 0 Td -(jp->req.jobnm\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 344.9666 Tm -[([672 )167(\320 )167(677])]TJ --0.092 Tc 5 0 Td -[(We )-301(o)]TJ -0 Tc 2.3 0 Td -[(pen )-117(a )-117(str)18(eam )-117(socket )-117(connected )-117(to )-117(the )-117(printer)]TJ -0.617 Tc 20.242 0 Td -(.I)Tj -0.367 Tc 1.204 0 Td -(ft)Tj -0 Tc 1.026 0 Td -(he)Tj -/TT0 1 Tf -1.428 0 Td -(connect_retry)Tj -/T1_1 1 Tf --26.2 -1.2 Td -[(call )-106(fails, )-106(we )-106(jump )-106(down )-106(to)]TJ -/TT0 1 Tf -12.832 0 Td -(defer)Tj -/T1_1 1 Tf -0.3564 Tc (,w)Tj -0 Tc 4.44 0 Td -(her)Tj -0.3564 Tc 1.438 0 Td -(ew)Tj -0.3563 Tc 1.669 0 Td -(ew)Tj -0 Tc 1.669 0 Td -[(ill )-106(clean )-106(up, )-106(delay)]TJ -0.3563 Tc 8.018 0 Td -(,a)Tj -0 Tc 1.106 0 Td -[(nd )-106(try)]TJ --31.174 -1.2 Td -[(again later)74(.)]TJ --5 -1.72 Td -[([678 )167(\320 )167(698])-668(Next, )-21(we )-21(set )-21(up )-21(the )-21(IPP )-21(header)]TJ -0.5208 Tc 18.677 0 Td -(.T)Tj -0 Tc 1.384 0 Td -[(he )-21(operation )-21(is )-21(a )-21(print-job )-21(r)19(equest. )-271(W)]TJ -0.2708 Tc 16.684 0 Td -(eu)Tj -0 Tc 1.353 0 Td -(se)Tj -/TT0 1 Tf --33.097 -1.2 Td -(htons)Tj -/T1_1 1 Tf -3.363 0 Td -[(to )-113(convert )-113(the )-113(2)]TJ -7.184 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-113(operation )-113(ID )-113(fr)18(om )-113(host )-113(to )-113(network )-113(byte )-113(or)21(der)]TJ --10.879 -1.2 Td -(and)Tj -/TT0 1 Tf -2.109 0 Td -(htonl)Tj -/T1_1 1 Tf -3.416 0 Td -[(to )-166(convert )-166(the )-166(4)]TJ -7.346 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-166(job )-166(ID )-166(fr)17(om )-167(host )-167(to )-167(network )-167(byte )-167(or)20(der)74(.)]TJ --13.205 -1.2 Td -[(After )-113(the )-113(initial )-113(portion )-113(of )-113(the )-113(header)76(,)-363(we)-363(s)1(et )-112(the )-112(tag )-112(value )-112(to )-112(indicate )-112(that)]TJ --0 -1.2 Td -[(operation )-177(attributes )-177(follow)]TJ -0.6773 Tc 12.093 0 Td -(.W)Tj -0.4273 Tc 1.835 0 Td -(ec)Tj -0 Tc 1.35 0 Td -(all)Tj -/TT0 1 Tf -1.509 0 Td -(add_option)Tj -/T1_1 1 Tf -6.427 0 Td -[(to )-177(add )-177(attributes )-177(to )-177(the)]TJ --23.215 -1.2 Td -[(message. )-349(Figur)]TJ -0.3489 Tc 6.977 0 Td -(e2)Tj -0 Tc 1.328 0 Td -[(1.5 )-99(lists )-99(the )-99(r)18(equir)18(ed )-99(and )-99(optional )-99(attributes )-99(for )-99(print-job)]TJ --0.018 Tc -8.305 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quests; )-247(the )-247(\336rst )-247(thr)18(ee )-247(ar)]TJ -0.4971 Tc 11.311 0 Td -(er)Tj -0 Tc 1.353 0 Td -[(equir)18(ed. )-497(W)]TJ -0.4971 Tc 5.305 0 Td -(es)Tj -0 Tc 1.4 0 Td -[(pecify )-247(the )-247(character )-247(set )-247(to )-247(be)]TJ --20.225 -1.2 Td -(UTF)Tj -1.947 0.09 Td -(-)Tj -0.333 -0.09 Td -[(8, )-60(which )-60(the )-60(printer )-60(must )-60(support.)]TJ --0.092 Tc 16.029 0 Td -[(We )-244(s)]TJ -0 Tc 2.121 0 Td -[(pecify )-60(the )-60(language )-60(as)]TJ -/TT0 1 Tf -10.32 0 Td -(en-us)Tj -/T1_1 1 Tf -(,)Tj --30.75 -1.2 Td -[(which )-266(r)18(epr)18(esents )-266(U.S. )-266(English.)-766(Another )-266(r)18(equir)18(ed )-266(attribute )-266(is )-266(the )-266(printer)]TJ -0 -1.2 Td -[(Universal )-61(Resour)18(ce )-61(Identi\336er)]TJ -13.364 0.04 Td -(\()Tj -0.333 -0.04 Td -(URI)Tj -1.783 0.04 Td -(\))Tj -0.333 -0.04 Td -[(;)-311(we)-311(set )-61(it )-61(to)]TJ -/TT0 1 Tf -5.837 0 Td -(http://)Tj -/T1_2 1 Tf -(printer_name)Tj -/TT0 1 Tf -(/ipp)Tj -/T1_1 1 Tf -(.)Tj --21.649 -1.8 Td -(The)Tj -/TT0 1 Tf -1.992 0 Td -(requesting-user-name)Tj -/T1_1 1 Tf -12.318 0 Td -[(attribute )-68(is )-68(r)18(ecommended, )-68(but )-68(not )-68(r)18(equir)18(ed.)]TJ --14.31 -1.2 Td -(The)Tj -/TT0 1 Tf -1.981 0 Td -(job-name)Tj -/T1_1 1 Tf -5.107 0 Td -[(attribute )-57(is )-57(optional.)-557(Recall )-57(that )-57(the)]TJ -/TT0 1 Tf -16.331 0 Td -(print)Tj -/T1_1 1 Tf -3.307 0 Td -[(command )-57(sends)]TJ --26.724 -1.2 Td -[(the )-172(name )-172(of )-172(the )-172(\336le )-172(being )-172(printed )-172(as )-172(the )-172(job )-172(name, )-172(which )-172(can )-172(help )-172(users)]TJ -0 -1.2 TD -(distinguish among multiple pending jobs.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47195 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(820)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(225 )-1200(/*)]TJ -0 -1.189 TD -[(226 )-1800(*)-600(Get the next job number.)]TJ -T* -[(227 )-1800(*)]TJ -T* -[(228 )-1800(*)-600(LOCKING: acquires and releases joblock.)]TJ -T* -[(229 )-1800(*/)]TJ -0 -1.189 TD -[(230 )-1200(int32_t)]TJ -0 -1.189 TD -[(231 )-1200(get_newjobno\(void\))]TJ -T* -[(232 )-1200({)]TJ -T* -[(233 )-2400(int32_t)-600(jobid;)]TJ -0 -2.14 TD -[(234 )-2400(pthread_mutex_lock\(&joblock\);)]TJ -0 -1.189 TD -[(235 )-2400(jobid)]TJ -0.6 Tc 8.4 0 Td -(=n)Tj -0 Tc 1.8 0 Td -(extjob++;)Tj --10.2 -1.189 Td -[(236 )-2400(if)-600(\(nextjob <= 0\))]TJ -T* -[(237 )-4800(nextjob)]TJ -0.6 Tc 12 0 Td -(=1)Tj -0 Tc 1.8 0 Td -(;)Tj --13.8 -1.189 Td -[(238 )-2400(pthread_mutex_unlock\(&joblock\);)]TJ -T* -[(239 )-2400(return\(jobid\);)]TJ -T* -[(240 )-1200(})]TJ -0 -2.14 TD -[(241 )-1200(/*)]TJ -0 -1.189 TD -[(242 )-1800(*)-600(Add a new job to the list of pending jobs.)-1200(Then signal)]TJ -T* -[(243 )-1800(*)-600(the printer thread that a job is pending.)]TJ -T* -[(244 )-1800(*)]TJ -0 -1.189 TD -[(245 )-1800(*)-600(LOCKING: acquires and releases joblock.)]TJ -0 -1.189 TD -[(246 )-1800(*/)]TJ -T* -[(247 )-1200(void)]TJ -T* -[(248 )-1200(add_job\(struct)-600(printreq *reqp, int32_t jobid\))]TJ -T* -[(249 )-1200({)]TJ -T* -[(250 )-2400(struct)-600(job )-600(*jp;)]TJ -0 -2.14 TD -[(251 )-2400(if)-600(\(\(jp = malloc\(sizeof\(struct job\)\)\) == NULL\))]TJ -0 -1.189 TD -[(252 )-4800(log_sys\("malloc)-600(failed"\);)]TJ -0 -1.189 TD -[(253 )-2400(memcpy\(&jp->req,)-600(reqp, sizeof\(struct printreq\)\);)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3294.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 305.3814 Tm -[([225 )167(\320 )167(240])-668(The)]TJ -/TT0 1 Tf -7.063 0 Td -(get_newjobno)Tj -/T1_1 1 Tf -7.589 0 Td -[(function )-139(is )-139(used )-139(to )-139(get )-139(the )-139(next )-139(job )-139(number)]TJ -0.6395 Tc 19.931 0 Td -(.W)Tj -0.3895 Tc 1.798 0 Td -(e\336)Tj -0 Tc 1.474 0 Td -(rst)Tj --32.855 -1.2 Td -[(lock )-104(the)]TJ -/TT0 1 Tf -3.932 0 Td -(joblock)Tj -/T1_1 1 Tf -4.554 0 Td -[(mutex. )-354(W)]TJ -0.354 Tc 4.569 0 Td -(ei)Tj -0 Tc 1.124 0 Td -[(ncr)18(ement )-104(the)]TJ -/TT0 1 Tf -6.247 0 Td -(nextjob)Tj -/T1_1 1 Tf -4.554 0 Td -[(variable )-104(and )-104(handle)]TJ --24.98 -1.2 Td -[(the )-81(case )-81(wher)19(e)-331(it)-331(w)1(raps )-81(ar)18(ound. )-331(Then)-330(we )-81(unlock )-81(the )-81(mutex )-81(and )-81(r)20(eturn )-81(the)]TJ -0 -1.2 TD -(value)Tj -/TT0 1 Tf -2.914 0 Td -(nextjob)Tj -/T1_1 1 Tf -4.676 0 Td -[(had )-226(befor)18(e)-476(we)-476(incr)18(emented )-226(it.)-726(Multiple )-226(thr)18(eads )-226(can )-226(call)]TJ -/TT0 1 Tf --7.59 -1.2 Td -(get_newjobno)Tj -/T1_1 1 Tf -7.498 0 Td -[(at )-48(the )-48(same )-48(time; )-48(we )-48(need )-48(to )-48(serialize )-48(access )-48(to )-48(the )-48(next )-48(job)]TJ --7.498 -1.2 Td -[(number )-69(so )-69(that )-69(each )-69(thr)18(ead )-69(gets )-69(a )-69(unique )-69(job )-69(number)]TJ -0.5691 Tc 24.108 0 Td -(.\()Tj -0 Tc 1.152 0 Td -[(Refer )-69(to )-69(Figur)]TJ -0.319 Tc 6.247 0 Td -(e1)Tj -0 Tc 1.243 0 Td -(1.9)Tj --32.75 -1.2 Td -[(to see what could happen if we don\325t serialize the thr)18(eads in this case.\))]TJ --5 -1.6 Td -[([241 )167(\320 )167(253])-668(The)]TJ -/TT0 1 Tf -7.004 0 Td -(add_job)Tj -/T1_1 1 Tf -4.531 0 Td -[(function )-80(is )-80(used )-80(to )-80(add )-80(a )-80(new )-80(print )-80(r)14(equest )-81(to )-81(the )-81(end )-81(of )-81(the)]TJ --6.535 -1.2 Td -[(list )-36(of )-36(pending )-36(print )-36(jobs.)]TJ --0.092 Tc 11.793 0 Td -[(We )-220(s)]TJ -0 Tc 2.097 0 Td -[(tart )-36(by )-36(allocating )-36(space )-36(for )-36(the)]TJ -/TT0 1 Tf -13.806 0 Td -(job)Tj -/T1_1 1 Tf -2.086 0 Td -[(str)8(uctur)18(e.)]TJ --29.781 -1.2 Td -[(If )-12(this )-12(fails, )-12(we )-12(log )-12(an )-12(err)18(or )-12(message )-12(and )-12(exit.)-515(At )-12(this )-12(point, )-12(the )-12(print )-12(r)16(equest)]TJ -T* -[(is )-151(stor)18(ed )-151(safely )-151(on )-151(disk; )-151(when )-151(the )-151(printer )-151(spooling )-151(daemon )-151(is )-151(r)20(estarted, )-151(it)]TJ -T* -[(will )-16(pick )-16(the )-16(r)18(equest )-16(up.)-516(After )-16(we )-16(allocate )-16(memory )-16(for )-16(the )-16(new )-16(job, )-16(we )-16(copy)]TJ -T* -[(the )-269(r)18(equest )-269(str)8(uctur)]TJ -0.5192 Tc 9.163 0 Td -(ef)Tj --0.018 Tc 1.331 0 Td -(ro)Tj -0.5192 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.728 0 Td -[(he )-269(client )-269(into )-269(the )-269(job )-269(str)7(uctur)18(e. )-519(Recall)-519(fr)18(om)]TJ -/TT0 1 Tf --13.146 -1.2 Td -(print.h)Tj -/T1_1 1 Tf -4.479 0 Td -[(that )-28(a)]TJ -/TT0 1 Tf -2.791 0 Td -(job)Tj -/T1_1 1 Tf -2.079 0 Td -[(str)8(uctur)]TJ -0.2785 Tc 3.49 0 Td -(ec)Tj -0 Tc 1.201 0 Td -[(onsists )-28(of )-28(a )-28(pair )-28(of )-28(list )-28(pointers, )-28(a )-28(job )-28(ID, )-28(and)]TJ -0.25 Tc -14.04 -1.2 Td -(ac)Tj -0 Tc 1.194 0 Td -(opy of the)Tj -/TT0 1 Tf -4.719 0 Td -(printreq)Tj -/T1_1 1 Tf -5.05 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(es)Tj -0 Tc 1.153 0 Td -(ent to us by the client)Tj -/TT0 1 Tf -9.695 0 Td -(print)Tj -/T1_1 1 Tf -3.25 0 Td -(command.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47196 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(823)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(318 )-2400(while)-600(\(\(entp = readdir\(dirp\)\) != NULL\) {)]TJ -0 -1.189 TD -[(319 )-4800(/*)]TJ -T* -(320 )Tj -7.8 0 Td -[(*)-600(Skip "." and "..")]TJ --7.8 -1.189 Td -(321 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(322 )-4800(if)-600(\(strcmp\(entp->d_name, "."\) == 0 ||)]TJ -0 -1.189 TD -(323 )Tj -8.4 0 Td -[(strcmp\(entp->d_name,)-600(".."\) == 0\))]TJ --8.4 -1.189 Td -(324 )Tj -9.6 0 Td -(continue;)Tj --9.6 -1.783 Td -[(325 )-4800(/*)]TJ -0 -1.189 TD -(326 )Tj -7.8 0 Td -[(*)-600(Read the request structure.)]TJ --7.8 -1.189 Td -(327 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(328 )-4800(sprintf\(fname,)-600("%s/%s/%s", SPOOLDIR, REQDIR, entp->d_name\);)]TJ -T* -[(329 )-4800(if)-600(\(\(fd = open\(fname, O_RDONLY\)\) < 0\))]TJ -T* -(330 )Tj -9.6 0 Td -(continue;)Tj --9.6 -1.189 Td -[(331 )-4800(nr)]TJ -0.6 Tc 9 0 Td -(=r)Tj -0 Tc 1.8 0 Td -(ead\(fd, &req, sizeof\(struct printreq\)\);)Tj --10.8 -1.189 Td -[(332 )-4800(if)-600(\(nr != sizeof\(struct printreq\)\) {)]TJ -0 -1.189 TD -(333 )Tj -9.6 0 Td -[(if)-600(\(nr < 0\))]TJ --9.6 -1.189 Td -(334 )Tj -12 0 Td -(err)Tj -0.6 Tc 2.4 0 Td -(=e)Tj -0 Tc 1.8 0 Td -(rrno;)Tj --16.2 -1.189 Td -(335 )Tj -9.6 0 Td -(else)Tj --9.6 -1.189 Td -(336 )Tj -12 0 Td -(err)Tj -0.6 Tc 2.4 0 Td -(=E)Tj -0 Tc 1.8 0 Td -(IO;)Tj --16.2 -1.189 Td -(337 )Tj -9.6 0 Td -(close\(fd\);)Tj --9.6 -1.189 Td -(338 )Tj -9.6 0 Td -[(log_msg\("build_qonstart:)-600(can\325t read %s: %s",)]TJ --9.6 -1.189 Td -(339 )Tj -10.8 0 Td -[(fname,)-600(strerror\(err\)\);)]TJ --10.8 -1.189 Td -(340 )Tj -9.6 0 Td -(unlink\(fname\);)Tj --9.6 -1.189 Td -(341 )Tj -9.6 0 Td -[(sprintf\(fname,)-600("%s/%s/%s", SPOOLDIR, DATADIR,)]TJ --9.6 -1.189 Td -(342 )Tj -10.8 0 Td -(entp->d_name\);)Tj --10.8 -1.189 Td -(343 )Tj -9.6 0 Td -(unlink\(fname\);)Tj --9.6 -1.189 Td -(344 )Tj -9.6 0 Td -(continue;)Tj --9.6 -1.189 Td -[(345 )-4800(})]TJ -0 -1.189 TD -[(346 )-4800(jobid)]TJ -0.6 Tc 10.8 0 Td -(=a)Tj -0 Tc 1.8 0 Td -(tol\(entp->d_name\);)Tj --12.6 -1.189 Td -[(347 )-4800(log_msg\("adding)-600(job %d to queue", jobid\);)]TJ -0 -1.189 TD -[(348 )-4800(add_job\(&req,)-600(jobid\);)]TJ -0 -1.189 TD -[(349 )-2400(})]TJ -0 -1.189 TD -[(350 )-2400(closedir\(dirp\);)]TJ -T* -[(351 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2962.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 272.2153 Tm -[([318 )167(\320 )167(324])]TJ --0.092 Tc 5 0 Td -[(We )-190(r)]TJ -0 Tc 2.019 0 Td -[(ead )-5(each )-5(entry )-5(in )-5(the )-5(dir)16(ectory)]TJ -0.2555 Tc 13.384 0 Td -(,o)Tj -0 Tc 1.051 0 Td -[(ne )-5(at )-5(a )-5(time.)]TJ --0.092 Tc 5.888 0 Td -[(We )-190(s)]TJ -0 Tc 2.066 0 Td -[(kip )-5(the )-5(entries )-5(for )-5(dot)]TJ --24.41 -1.2 Td -(and dot-dot.)Tj --5 -1.6 Td -[([325 )167(\320 )167(345])-668(For )-272(each )-272(entry)111(,)-522(we)-522(c)]TJ --0.018 Tc 14.825 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ate )-272(the )-272(full )-272(pathname )-272(of )-272(the )-272(\336le )-272(and )-272(open )-272(it )-272(for)]TJ --0.018 Tc -10.681 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading. )-320(If)-321(the)]TJ -/TT0 1 Tf -6.058 0 Td -(open)Tj -/T1_0 1 Tf -2.72 0 Td -[(call )-70(fails, )-70(we )-70(just )-70(skip )-70(the )-70(\336le.)-573(Otherwise, )-70(we )-70(r)18(ead )-70(the)]TJ -/TT0 1 Tf --9.635 -1.2 Td -(printreq)Tj -/T1_0 1 Tf -5.194 0 Td -[(str)8(uctur)]TJ -0.3943 Tc 3.49 0 Td -(es)Tj -0 Tc 1.297 0 Td -[(tor)18(ed )-144(in )-144(it.)-644(If )-144(we )-144(don\325t )-144(r)16(ead )-144(the )-144(entir)]TJ -0.3944 Tc 17.219 0 Td -(es)Tj -0 Tc 1.297 0 Td -[(tr)8(uctur)18(e, )-144(we)]TJ --28.498 -1.2 Td -[(close )-87(the )-87(\336le, )-87(log )-87(an )-87(err)18(or )-87(message, )-87(and )-87(unlink )-87(the )-87(\336le.)-587(Then )-87(we )-87(cr)18(eate )-87(the)]TJ -0 -1.2 TD -[(full pathname of the corr)18(esponding data \336le and unlink it, too.)]TJ --5 -1.6 Td -[([346 )167(\320 )167(351])-668(If )-215(we )-215(wer)]TJ -0.4651 Tc 9.603 0 Td -(ea)Tj -0 Tc 1.444 0 Td -[(ble )-215(to )-215(r)18(ead )-215(a )-215(complete)]TJ -/TT0 1 Tf -11.037 0 Td -(printreq)Tj -/T1_0 1 Tf -5.265 0 Td -[(str)8(uctur)18(e, )-215(we )-215(convert )-215(the)]TJ --22.349 -1.2 Td -[(\336lename )-63(into )-63(a )-63(job )-63(ID )-63(\(the )-63(name )-63(of )-63(the )-63(\336le )-63(is )-63(its )-63(job )-63(ID\), )-63(log )-63(a )-63(message, )-63(and)]TJ -T* -[(then )-144(add )-144(the )-144(r)17(equest )-144(to )-144(the )-144(list )-144(of )-144(pending )-144(print )-144(jobs.)-644(When )-144(we )-144(ar)]TJ -0.3943 Tc 30.909 0 Td -(ed)Tj -0 Tc 1.484 0 Td -(one)Tj --0.018 Tc -32.393 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading )-35(the )-35(dir)18(ectory)111(,)]TJ -/TT0 1 Tf -8.945 0 Td -(readdir)Tj -/T1_0 1 Tf -4.485 0 Td -[(will )-35(r)18(eturn)]TJ -/TT0 1 Tf -5.038 0 Td -(NULL)Tj -/T1_0 1 Tf -0.2847 Tc (,a)Tj -0 Tc 3.435 0 Td -[(nd )-35(we )-35(close )-35(the )-35(dir)19(ectory)]TJ --22.759 -1.2 Td -[(and r)18(eturn.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47197 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(274)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(BSD-derived )-303(platforms )-303(don\325t )-303(support )-303(the)]TJ -/TT0 1 Tf -19.962 0 Td -(ac_stat)Tj -/T1_1 1 Tf -4.753 0 Td -[(member)74(,)-553(so)-553(we)-553(d)1(e\336ne )-303(the)]TJ -/TT0 1 Tf --26.515 -1.2 Td -(HAS_AC_STAT)Tj -/T1_1 1 Tf -7.091 0 Td -[(constant )-241(on )-241(the )-241(platforms )-241(that )-241(do )-241(support )-241(this )-241(member)]TJ -0.7406 Tc 26.077 0 Td -(.B)Tj -0 Tc 1.602 0 Td -[(asing )-241(the)]TJ --34.769 -1.2 Td -[(de\336ned )-1(symbol )-1(on )-1(the )-1(featur)]TJ -0.2506 Tc 12.755 0 Td -(ei)Tj -0 Tc 1.021 0 Td -[(nstead )-1(of )-1(on )-1(the )-1(platform )-1(makes )-1(the )-1(code )-1(r)18(ead )-1(better )-1(and)]TJ --13.776 -1.2 Td -[(allows )-399(us )-399(to )-399(modify )-399(the )-399(pr)18(ogram )-399(simply )-399(by )-399(adding )-399(the )-399(new )-399(de\336nition )-399(to )-399(our)]TJ -0 -1.2 TD -[(compilation command.)-500(The alternative would be to use)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 604.2637 Tm -(#if !defined\(BSD\) && !defined\(MACOS\))Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5923 586.2648 Tm -(which becomes unwieldy as we port our application to additional platform\ s.)Tj --0.092 Tc 1.8 -1.2 Td -[(We )-224(d)]TJ -0 Tc 2.288 0 Td -[(e\336ne )-39(similar )-39(constants )-39(to )-39(determine )-39(whether )-39(the )-39(platform )-39(supports )-39(the)]TJ -/TT0 1 Tf -31.912 0 Td -(ACORE)Tj -/T1_1 1 Tf --36 -1.2 Td -(and)Tj -/TT0 1 Tf -2.135 0 Td -(AXSIG)Tj -/T1_1 1 Tf -3.442 0 Td -[(accounting )-192(\337ags.)]TJ --0.092 Tc 8.346 0 Td -[(We )-376(c)]TJ -0 Tc 2.273 0 Td -[(an\325t )-192(use )-192(the )-192(\337ag )-192(symbols )-192(themselves, )-192(because )-192(on)]TJ --16.195 -1.2 Td -(Linux, they ar)Tj -0.25 Tc 6.173 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(e\336ned as)Tj -/TT0 1 Tf -4.18 0 Td -(enum)Tj -/T1_1 1 Tf -2.65 0 Td -(values, which we can\325t use in a)Tj -/TT0 1 Tf -13.917 0 Td -(#ifdef)Tj -/T1_1 1 Tf -3.85 0 Td -[(expr)18(ession.)]TJ --0.092 Tc -30.31 -1.2 Td -[(To )-184(p)]TJ -0 Tc 1.918 0 Td -(erform our test, we do the following:)Tj --1.918 -2.4 Td -[(1. )-633(Become)-431(super)8(user )-181(and )-181(enable )-181(accounting, )-181(with )-181(the)]TJ -/TT0 1 Tf -25.607 0 Td -(accton)Tj -/T1_1 1 Tf -4.031 0 Td -[(command. )-431(Note)]TJ --28.005 -1.2 Td -[(that )-189(when )-189(this )-189(command )-189(terminates, )-189(accounting )-189(should )-189(be )-189(on; )-189(ther)15(efor)18(e, )-189(the)]TJ -T* -[(\336rst r)18(ecor)18(d)-250(in)-250(the accounting \336le should be fr)18(om this command.)]TJ --1.633 -1.84 Td -[(2. )-633(Exit)-543(the )-293(super)8(user )-293(shell )-293(and )-293(r)10(un )-293(the )-293(pr)18(ogram )-293(in )-293(Figur)]TJ -0.5427 Tc 27.876 0 Td -(e8)Tj -0 Tc 1.522 0 Td -[(.28. )-543(This)-542(should)]TJ --27.765 -1.2 Td -[(append )-14(six )-14(r)18(ecor)18(ds )-14(to )-14(the )-14(accounting )-14(\336le: )-14(one )-14(for )-14(the )-14(super)6(user )-14(shell, )-14(one )-14(for )-14(the)]TJ -0 -1.2 Td -[(test par)18(ent, and one for each of the four test childr)18(en.)]TJ -0.3083 Tc 0 -1.8 TD -(An)Tj -0 Tc 1.668 0 Td -[(ew )-58(pr)18(ocess )-58(is )-58(not )-58(cr)18(eated )-58(by )-58(the)]TJ -/TT0 1 Tf -14.647 0 Td -(execl)Tj -/T1_1 1 Tf -3.308 0 Td -[(in )-58(the )-58(second )-58(child.)-559(Ther)]TJ -0.3083 Tc 11.349 0 Td -(ei)Tj -0.3084 Tc 1.078 0 Td -(so)Tj -0 Tc 1.278 0 Td -[(nly )-58(a)]TJ --33.33 -1.2 Td -[(single accounting r)18(ecor)]TJ -0.25 Tc 10.22 0 Td -(df)Tj -0 Tc 1.194 0 Td -(or the second child.)Tj --13.047 -1.84 Td -[(3. )-633(Become)-396(super)8(user )-146(and )-146(turn )-146(accounting )-146(of)17(f. )-396(Since)-397(accounting )-146(is )-146(of)]TJ -0.3962 Tc 31.975 0 Td -(fw)Tj -0 Tc 1.563 0 Td -[(hen )-146(this)]TJ -/TT0 1 Tf --31.905 -1.2 Td -(accton)Tj -/T1_1 1 Tf -3.85 0 Td -(command terminates, it should not appear in the accounting \336le.)Tj --5.483 -1.84 Td -[(4. )-633(Run)-322(the )-72(pr)18(ogram )-72(in )-72(Figur)]TJ -0.3221 Tc 13.275 0 Td -(e8)Tj -0 Tc 1.301 0 Td -[(.29 )-72(to )-72(print )-72(the )-72(selected )-72(\336elds )-72(fr)18(om )-72(the )-72(accounting)]TJ --12.943 -1.2 Td -(\336le.)Tj --3.433 -2.4 Td -[(The )-128(output )-128(fr)18(om )-128(step )-128(4 )-128(follows.)]TJ --0.092 Tc 15.184 0 Td -[(We )-313(h)]TJ -0 Tc 2.348 0 Td -[(ave )-128(appended )-128(the )-128(description )-128(of )-128(the )-128(pr)18(ocess )-128(in)]TJ --17.532 -1.2 Td -[(italics to selected lines, for the discussion later)74(.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 140.3914 304.3817 Tm -[(accton )-1800(e)]TJ -3.6 Tc 7.2 0 Td -(=1)Tj -0.6 Tc 4.8 0 Td -(,c)Tj -0 Tc 1.8 0 Td -[(hars =)-3000(336, stat =)-1800(0: )-3600(S)]TJ --13.8 -1.189 Td -[(sh )-4200(e)]TJ -1.8 Tc 7.2 0 Td -(=1)Tj -0 Tc 3 0 Td -[(550, chars =)-1800(20168, stat =)-1800(0: )-3600(S)]TJ --10.2 -1.189 Td -[(dd )-4200(e)]TJ -3.6 Tc 7.2 0 Td -(=2)Tj -0.6 Tc 4.8 0 Td -(,c)Tj -0 Tc 1.8 0 Td -[(hars =)-2400(1585, stat =)-1800(0:)]TJ -/T1_2 1 Tf -22.2 0 Td -(second child)Tj -/TT0 1 Tf --36 -1.189 Td -[(a.out )-2400(e)]TJ -2.4 Tc 7.2 0 Td -(=2)Tj -0 Tc 3.6 0 Td -[(02, chars =)-4200(0, stat =)-1800(0:)]TJ -/T1_2 1 Tf -25.2 0 Td -[(par)18(ent)]TJ -/TT0 1 Tf --36 -1.189 Td -[(a.out )-2400(e)]TJ -2.4 Tc 7.2 0 Td -(=4)Tj -0 Tc 3.6 0 Td -[(20, chars =)-4200(0, stat = 134:)-3000(F)]TJ -/T1_2 1 Tf -25.2 0 Td -(\336rst child)Tj -/TT0 1 Tf --36 -1.189 Td -[(a.out )-2400(e)]TJ -2.4 Tc 7.2 0 Td -(=6)Tj -0 Tc 3.6 0 Td -[(00, chars =)-4200(0, stat =)-1800(9: )-2400(F)]TJ -/T1_2 1 Tf -25.2 0 Td -(fourth child)Tj -/TT0 1 Tf --36 -1.189 Td -[(a.out )-2400(e)]TJ -2.4 Tc 7.2 0 Td -(=8)Tj -0 Tc 3.6 0 Td -[(01, chars =)-4200(0, stat =)-1800(0: )-2400(F)]TJ -/T1_2 1 Tf -25.2 0 Td -(third child)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5909 222.1867 Tm -[(For )-278(this )-278(system, )-278(the )-278(elapsed )-278(time )-278(values )-278(ar)]TJ -0.5279 Tc 20.647 0 Td -(em)Tj -0 Tc 1.89 0 Td -[(easur)18(ed )-278(in )-278(units )-278(of )-278(clock )-278(ticks.)]TJ --24.337 -1.2 Td -(Figur)Tj -0.3485 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.327 0 Td -[(.15 )-98(shows )-98(that )-98(this )-98(system )-98(generates )-98(100 )-98(clock )-98(ticks )-98(per )-98(second.)-603(For )-98(example,)]TJ --3.711 -1.2 Td -(the)Tj -/TT0 1 Tf -1.69 0 Td -(sleep\(2\))Tj -/T1_1 1 Tf -5.103 0 Td -[(in )-53(the )-53(par)18(ent )-53(corr)18(esponds )-53(to )-53(the )-53(elapsed )-53(time )-53(of )-53(202 )-53(clock )-53(ticks.)-553(For )-53(the)]TJ --6.794 -1.2 Td -[(\336rst )-204(child, )-204(the)]TJ -/TT0 1 Tf -6.969 0 Td -(sleep\(4\))Tj -/T1_1 1 Tf -5.254 0 Td -[(becomes )-204(420 )-204(clock )-204(ticks.)-704(Note )-204(that )-204(the )-204(amount )-204(of )-204(time )-204(a)]TJ --12.224 -1.2 Td -[(pr)18(ocess )-3(sleeps )-3(is )-3(not )-3(exact.)-501(\(W)92(e\325ll )-3(r)18(eturn )-3(to )-3(the)]TJ -/TT0 1 Tf -20.802 0 Td -(sleep)Tj -/T1_1 1 Tf -3.253 0 Td -[(function )-3(in )-3(Chapter )-3(10.\))-503(Also, )-3(the)]TJ --24.055 -1.2 Td -(calls to)Tj -/TT0 1 Tf -3.322 0 Td -(fork)Tj -/T1_1 1 Tf -2.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(exit)Tj -/T1_1 1 Tf -2.65 0 Td -(take some amount of time.)Tj --8.765 -1.2 Td -[(Note )-5(that )-5(the)]TJ -/TT0 1 Tf -6.069 0 Td -(ac_stat)Tj -/T1_1 1 Tf -4.456 0 Td -[(member )-5(is )-5(not )-5(the )-5(tr)8(ue )-5(termination )-5(status )-5(of )-5(the )-5(pr)18(ocess, )-5(but)]TJ --12.325 -1.2 Td -[(rather )-411(corr)18(esponds )-411(to )-411(a )-411(portion )-411(of )-411(the )-411(termination )-411(status )-411(that )-411(we )-411(discussed )-411(in)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47198 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.14)]TJ -34.883 0 Td -[(Pr)18(ocess )-250(Accounting)]TJ -/T1_1 1 Tf -10.95 0 Td -(273)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -(#endif)Tj -0 -1.189 TD -(#if !defined\(HAS_AXSIG\))Tj -T* -(#define AXSIG 0)Tj -T* -(#endif)Tj -0 -1.783 TD -(#if !defined\(BSD\))Tj -0 -1.189 TD -(static unsigned long)Tj -T* -[(compt2ulong\(comp_t comptime\))-2400(/* convert comp_t to unsigned long */)]TJ -T* -({)Tj -2.4 -1.189 Td -[(unsigned long)-1800(val;)]TJ -0 -1.189 TD -(int )Tj -9.6 0 Td -(exp;)Tj --9.6 -1.783 Td -[(val = comptime & 0x1fff;)-2400(/* 13-bit fraction */)]TJ -0 -1.189 TD -(exp = \(comptime >> 13\) & 7; /* 3-bit exponent \(0-7\) */)Tj -T* -(while \(exp-- > 0\))Tj -2.4 -1.189 Td -(val *= 8;)Tj --2.4 -1.189 Td -(return\(val\);)Tj --2.4 -1.189 Td -(})Tj -T* -(#endif)Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct acct)-3000(acdata;)]TJ -T* -(FILE )Tj -9.6 0 Td -(*fp;)Tj --9.6 -1.783 Td -(if \(argc != 2\))Tj -2.4 -1.189 Td -(err_quit\("usage: pracct filename"\);)Tj --2.4 -1.189 Td -(if \(\(fp = fopen\(argv[1], "r"\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("can\325t open %s", argv[1]\);)Tj --2.4 -1.189 Td -(while \(fread\(&acdata, sizeof\(acdata\), 1, fp\) == 1\) {)Tj -2.4 -1.189 Td -(printf\(FMT, \(int\)sizeof\(acdata.ac_comm\),)Tj -2.4 -1.189 Td -(\(int\)sizeof\(acdata.ac_comm\), acdata.ac_comm,)Tj --7.2 -1.189 Td -(#if defined\(BSD\))Tj -7.2 -1.189 Td -(acdata.ac_etime, acdata.ac_io,)Tj --7.2 -1.189 Td -(#else)Tj -7.2 -1.189 Td -(compt2ulong\(acdata.ac_etime\), compt2ulong\(acdata.ac_io\),)Tj --7.2 -1.189 Td -(#endif)Tj -T* -(#if defined\(HAS_AC_STAT\))Tj -7.2 -1.189 Td -(\(unsigned char\) acdata.ac_stat,)Tj --7.2 -1.189 Td -(#endif)Tj -7.2 -1.189 Td -(acdata.ac_flag & ACORE ? \325D\325 : \325 \325,)Tj -T* -(acdata.ac_flag & AXSIG ? \325X\325 : \325 \325,)Tj -0 -1.189 TD -(acdata.ac_flag & AFORK ? \325F\325 : \325 \325,)Tj -0 -1.189 TD -(acdata.ac_flag & ASU)Tj -0.6 Tc 13.8 0 Td -(?\325)Tj -0 Tc 1.8 0 Td -(S\325 : \325 \325\);)Tj --20.4 -1.189 Td -(})Tj -T* -(if \(ferror\(fp\)\))Tj -2.4 -1.189 Td -(err_sys\("read error"\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1626.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 214.5023 146.5814 Tm -(Figure 8.29)Tj -/T1_0 1 Tf -5.695 0 Td -[(Print selected \336elds fr)18(om system\325s accounting \336le)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47199 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.14)]TJ -34.883 0 Td -[(Pr)18(ocess )-250(Accounting)]TJ -/T1_1 1 Tf -10.95 0 Td -(271)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 6670.25 cm -0 0 m -3987 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 374.8375 658.9605 Tm -[(Fr)18(eeBSD )-1416(Linux)-1382(Mac OS X)-1198(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-2993(3.2.0)-2618(10.6.8 )-2868(10)]TJ -/TT0 1 Tf --31.433 0.625 Td -(ac_flag)Tj -/T1_0 1 Tf -14.461 0 Td -(Description)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 6450.25 cm -0 0 m -3987 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 6430.25 cm -0 0 m -3987 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 133.584 634.9238 Tm -(AFORK)Tj -/T1_0 1 Tf -5.7 0 Td -[(pr)18(ocess is the r)18(esult of)]TJ -/TT0 1 Tf -10.026 0 Td -(fork)Tj -/T1_0 1 Tf -0.25 Tc (,b)Tj -0 Tc 3.453 0 Td -(ut never called)Tj -/TT0 1 Tf -6.795 0 Td -(exec)Tj -/T1_0 1 Tf -4.262 Tc 5.781 0 Td -(\245\245\245\245)Tj -/TT0 1 Tf -0 Tc -31.755 -1.25 Td -(ASU)Tj -/T1_0 1 Tf -5.7 0 Td -[(pr)18(ocess used super)8(user privileges)]TJ -4.262 Tc 30.923 0 Td -(\245\245\245)Tj -/TT0 1 Tf -0 Tc -36.623 -1.25 Td -(ACORE)Tj -/T1_0 1 Tf -5.7 0 Td -[(pr)18(ocess dumped cor)]TJ -16.626 Tc 8.95 0 Td -(e\245)Tj -4.262 Tc 21.973 0 Td -(\245\245)Tj -/TT0 1 Tf -0 Tc -36.623 -1.25 Td -(AXSIG)Tj -/T1_0 1 Tf -5.7 0 Td -[(pr)18(ocess was killed by a signal)]TJ -4.262 Tc 26.055 0 Td -(\245\245\245)Tj -/TT0 1 Tf -0 Tc -31.755 -1.25 Td -(AEXPND)Tj -/T1_0 1 Tf -5.7 0 Td -(expanded accounting entry)Tj -40.659 0 Td -(\245)Tj -/TT0 1 Tf --46.359 -1.25 Td -(ANVER)Tj -/T1_0 1 Tf -5.7 0 Td -[(new r)18(ecor)]TJ -0.25 Tc 4.368 0 Td -(df)Tj -0 Tc 1.194 0 Td -(ormat )Tj -20.493 0 Td -(\245)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 5810.25 cm -0 0 m -3987 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3666.25 5810.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1732.25 5810.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5283.25 5810.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1296.25 5810.25 cm -0 0 m -0 860 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 223.7877 562.8987 Tm -(Figure 8.26)Tj -/T1_0 1 Tf --0.092 Tc 5.695 0 Td -(Va)Tj -0 Tc 1.13 0 Td -(lues for)Tj -/TT0 1 Tf -3.571 0 Td -(ac_flag)Tj -/T1_0 1 Tf -4.45 0 Td -[(fr)18(om accounting r)18(ecor)18(d)]TJ -/TT0 1 Tf -9.9982 0 0 9.9982 129.5767 538.903 Tm -(exec)Tj -/T1_0 1 Tf -[(s)-397(B,)-397(then )-147(B)]TJ -/TT0 1 Tf -7.852 0 Td -(exec)Tj -/T1_0 1 Tf -[(s)-397(C,)-397(and )-147(C)]TJ -/TT0 1 Tf -7.772 0 Td -(exit)Tj -/T1_0 1 Tf -0.0833 Tc (s\321o)Tj -0 Tc 4.537 0 Td -[(nly )-147(a )-147(single )-147(accounting )-147(r)19(ecor)18(d)-397(is)-397(written.)]TJ --20.161 -1.2 Td -[(The )-131(command )-131(name )-131(in )-131(the )-131(r)18(ecor)]TJ -0.381 Tc 14.955 0 Td -(dc)Tj -0 Tc 1.436 0 Td -[(orr)18(esponds )-131(to )-131(pr)18(ogram )-131(C, )-131(but )-131(the )-131(CPU )-131(times, )-131(for)]TJ --16.391 -1.2 Td -(example, ar)Tj -0.25 Tc 5.126 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(he sum for pr)18(ograms A, B, and C.)]TJ -/TT1 1 Tf --9.781 -2.4 Td -(Example)Tj -/T1_0 1 Tf --0.092 Tc 3.6 -1.92 Td -[(To )-223(h)]TJ -0 Tc 1.938 0 Td -[(ave )-39(some )-39(accounting )-39(data )-39(to )-39(examine, )-39(we\325ll )-39(cr)18(eate )-39(a )-39(test )-39(pr)18(ogram )-39(to )-39(implement )-39(the)]TJ --1.938 -1.2 Td -(diagram shown in Figur)Tj -0.25 Tc 10.71 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.27.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -1446 4018 432 360 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 146.9647 422.9385 Tm -(sleep)Tj -3 0.04 Td -(\()Tj -0.6 -0.04 Td -(2)Tj -0.6 0.04 Td -(\))Tj --4.2 -1.29 Td -(exit)Tj -2.4 0.04 Td -(\()Tj -0.6 -0.04 Td -(2)Tj -0.6 0.04 Td -(\))Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2238 3838 432 360 re -S -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 226.1321 404.9185 Tm -(sleep)Tj -3 0.04 Td -(\()Tj -0.6 -0.04 Td -(4)Tj -0.6 0.04 Td -(\))Tj --4.2 -1.29 Td -(abort\(\))Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -3030 3658 432 360 re -S -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -3822 3478 432 360 re -S -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 384.4616 368.9072 Tm -(sleep)Tj -3 0.04 Td -(\()Tj -0.6 -0.04 Td -(8)Tj -0.6 0.04 Td -(\))Tj --4.2 -1.29 Td -(exit)Tj -2.4 0.04 Td -(\()Tj -0.6 -0.04 Td -(0)Tj -0.6 0.04 Td -(\))Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -4614 3298 432 360 re -S -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 463.6052 350.8926 Tm -(sleep)Tj -3 0.04 Td -(\()Tj -0.6 -0.04 Td -(6)Tj -0.6 0.04 Td -(\))Tj --4.2 -1.29 Td -(kill\(\))Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -3030 2866 432 360 re -S -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 154.6657 440.8283 Tm -[(par)18(ent)]TJ -9.223 -2.25 Td -(\336rst child)Tj -9.232 -2.25 Td -(second child)Tj -10.35 -2.25 Td -(thir)Tj -0.25 Tc 1.576 0 Td -(dc)Tj -0 Tc 1.305 0 Td -(hild)Tj -6.72 -2.25 Td -(fourth child)Tj -/TT0 1 Tf --19.273 -5.4 Td -(/bin/dd)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 220.2 413.824 cm -0 0 m --7.056 2.304 l --5.184 5.328 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 2202 4138.2402 cm -0 0 m --70.56 23.04 l --51.84 53.28 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 4318.25 cm -0 0 m -227 -142 l -S -Q -Q -BT -/TT0 1 Tf -6.7803 -4.2377 4.2377 6.7803 199.2694 430.4265 Tm -(fork)Tj -ET -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 299.4 395.824 cm -0 0 m --7.056 2.304 l --5.184 5.328 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 2994 3958.24 cm -0 0 m --70.56 23.04 l --51.84 53.28 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 4138.25 cm -0 0 m -227 -142 l -S -Q -Q -BT -/TT0 1 Tf -6.7799 -4.2375 4.2375 6.7799 278.4099 412.4115 Tm -(fork)Tj -ET -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 378.6 377.824 cm -0 0 m --7.056 2.304 l --5.184 5.328 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 3786 3778.24 cm -0 0 m --70.56 23.04 l --51.84 53.28 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3498.25 3958.25 cm -0 0 m -227 -142 l -S -Q -Q -BT -/TT0 1 Tf -6.7795 -4.2372 4.2372 6.7795 357.5409 394.3986 Tm -(fork)Tj -ET -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 457.8 359.824 cm -0 0 m --7.056 2.304 l --5.184 5.328 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 4578 3598.24 cm -0 0 m --70.56 23.04 l --51.84 53.28 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4290.25 3778.25 cm -0 0 m -227 -142 l -S -Q -Q -BT -/TT0 1 Tf -6.7791 -4.2369 4.2369 6.7791 436.6625 376.3879 Tm -(fork)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 324.6 333.4 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 3246 3334 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 3622.25 cm -0 0 m -0 -216 l -S -Q -Q -BT -/TT0 1 Tf -7.9938 0 0 7.9938 329.1432 345.7702 Tm -(execl)Tj -/T1_1 1 Tf --12.53 -10.28 Td -(Figure 8.27)Tj -/T1_0 1 Tf -5.695 0 Td -[(Pr)18(ocess str)8(uctur)]TJ -0.25 Tc 7.038 0 Td -(ef)Tj -0 Tc 1.062 0 Td -(or accounting example)Tj -9.9922 0 0 9.9922 129.4991 239.6132 Tm -[(The )-49(sour)18(ce )-49(for )-49(the )-49(test )-49(pr)18(ogram )-49(is )-49(shown )-49(in )-49(Figur)]TJ -0.2988 Tc 22.249 0 Td -(e8)Tj -0 Tc 1.278 0 Td -[(.28. )-299(It)-299(calls)]TJ -/TT0 1 Tf -5.259 0 Td -(fork)Tj -/T1_0 1 Tf -2.699 0 Td -[(four )-49(times.)-549(Each)]TJ --31.485 -1.2 Td -[(child does something dif)18(fer)18(ent and then terminates.)]TJ -ET -q -0.099922 0 0 0.099922 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2206.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9924 0 0 8.9924 129.4912 210.9217 Tm -(#include "apue.h")Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(pid_t )-1200(pid;)]TJ -0 -1.783 TD -(if \(\(pid = fork\(\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47200 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(270)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 133.192 664.2601 Tm -[(typedef )-600(u_short)-600(comp_t; )-600(/*)-600(3-bit base 8 exponent; 13-bit fraction */)]TJ -0 -1.783 TD -[(struct )-600(acct)]TJ -0 -1.189 TD -({)Tj -1.2 -1.189 Td -[(char )-1200(ac_flag;)-2400(/* flag \(see Figure 8.26\) */)]TJ -T* -[(char )-1200(ac_stat;)-2400(/* termination status \(signal & core flag only\) */)]TJ -11.4 -1.189 Td -(/* \(Solaris only\) */)Tj --11.4 -1.189 Td -[(uid_t )-600(ac_uid;)-3000(/* real user ID */)]TJ -T* -[(gid_t )-600(ac_gid;)-3000(/* real group ID */)]TJ -T* -[(dev_t )-600(ac_tty;)-3000(/* controlling terminal */)]TJ -0 -1.189 TD -[(time_t ac_btime;)-1800(/* starting calendar time */)]TJ -0 -1.189 TD -[(comp_t ac_utime;)-1800(/* user CPU time */)]TJ -T* -[(comp_t ac_stime;)-1800(/* system CPU time */)]TJ -T* -[(comp_t ac_etime;)-1800(/* elapsed time */)]TJ -T* -[(comp_t ac_mem;)-3000(/* average memory usage */)]TJ -T* -[(comp_t ac_io;)-3600(/* bytes transferred \(by read and write\) */)]TJ -11.4 -1.189 Td -(/* "blocks" on BSD systems */)Tj --11.4 -1.189 Td -[(comp_t ac_rw;)-3600(/* blocks read or written */)]TJ -11.4 -1.189 Td -(/* \(not present on BSD systems\) */)Tj --11.4 -1.189 Td -[(char )-1200(ac_comm[8];)-600(/* command name: [8] for Solaris, */)]TJ -11.4 -1.189 Td -(/* [10] for Mac OS X, [16] for FreeBSD, and */)Tj -T* -(/* [17] for Linux */)Tj --12.6 -1.189 Td -(};)Tj -/T1_1 1 Tf --0.055 Tc 9.9994 0 0 9.9994 147.5911 411.9452 Tm -(Ti)Tj -0 Tc 0.849 0 Td -[(mes )-155(ar)]TJ -0.4054 Tc 3.068 0 Td -(er)Tj -0 Tc 1.261 0 Td -[(ecor)18(ded )-155(in )-155(units )-155(of )-155(clock )-155(ticks )-155(on )-155(most )-155(platforms, )-155(but )-155(Fr)14(eeBSD )-155(stor)18(es)]TJ --6.979 -1.2 Td -[(micr)18(oseconds )-432(instead.)-931(The)]TJ -/TT0 1 Tf -13.483 0 Td -(ac_flag)Tj -/T1_1 1 Tf -4.882 0 Td -[(member )-432(r)18(ecor)18(ds )-432(certain )-432(events )-432(during )-432(the)]TJ --18.364 -1.2 Td -[(execution of the pr)18(ocess. )-250(These)-250(events ar)]TJ -0.25 Tc 18.136 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(escribed in Figur)Tj -0.25 Tc 7.432 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.26.)Tj --26.337 -1.2 Td -[(The )-185(data )-185(r)18(equir)18(ed )-185(for )-185(the )-185(accounting )-185(r)18(ecor)18(d, )-185(such )-185(as )-185(CPU )-185(times )-185(and )-185(number )-185(of)]TJ --1.8 -1.2 Td -[(characters )-379(transferr)18(ed, )-380(is )-380(kept )-380(by )-380(the )-380(kernel )-380(in )-380(the )-380(pr)18(ocess )-380(table )-380(and )-380(initialized)]TJ -0 -1.2 TD -[(whenever )-20(a )-20(new )-20(pr)18(ocess )-20(is )-20(cr)18(eated, )-20(as )-20(in )-20(the )-20(child )-20(after )-20(a)]TJ -/TT0 1 Tf -25.444 0 Td -(fork)Tj -/T1_1 1 Tf -0.5202 Tc (.E)Tj -0 Tc 3.781 0 Td -[(ach )-20(accounting )-20(r)18(ecor)18(d)]TJ --29.226 -1.2 Td -[(is written when the pr)18(ocess terminates.)-500(This has two consequences.)]TJ -1.8 -1.2 Td -[(First, )-35(we )-35(don\325t )-35(get )-35(accounting )-35(r)16(ecor)18(ds )-35(for )-35(pr)17(ocesses )-36(that )-36(never )-36(terminate.)-534(Pr)18(ocesses)]TJ --1.8 -1.2 Td -(like)Tj -/TT0 1 Tf -1.874 0 Td -(init)Tj -/T1_1 1 Tf -2.658 0 Td -[(that )-7(r)8(un )-7(for )-7(the )-7(lifetime )-7(of )-7(the )-7(system )-7(don\325t )-7(generate )-7(accounting )-7(r)14(ecor)18(ds. )-257(This)]TJ --4.532 -1.2 Td -(also applies to kernel daemons, which normally don\325t exit.)Tj -1.8 -1.2 Td -[(Second, )-437(the )-437(or)18(der )-437(of )-437(the )-437(r)17(ecor)18(ds )-437(in )-437(the )-437(accounting )-437(\336le )-437(corr)18(esponds )-437(to )-437(the)]TJ --1.8 -1.2 Td -[(termination )-76(or)18(der )-76(of )-76(the )-76(pr)18(ocesses, )-76(not )-76(the )-76(or)18(der )-76(in )-76(which )-76(they )-76(wer)]TJ -0.326 Tc 30.397 0 Td -(es)Tj -0 Tc 1.229 0 Td -[(tarted. )-326(T)]TJ -0.326 Tc 3.984 0 Td -(ok)Tj -0 Tc 1.428 0 Td -(now)Tj --37.038 -1.2 Td -[(the )-166(starting )-166(or)18(der)74(,)-416(we)-416(would )-166(have )-166(to )-166(go )-166(thr)18(ough )-166(the )-166(accounting )-166(\336le )-166(and )-166(sort )-166(by )-166(the)]TJ -0 -1.2 Td -[(starting )-13(calendar )-13(time.)-513(But )-13(this )-13(isn\325t )-13(perfect, )-13(since )-13(calendar )-13(times )-13(ar)20(e)-263(in)-263(units )-13(of )-13(seconds)]TJ --0 -1.2 Td -[(\(Section )-124(1.10\), )-124(and )-124(it\325s )-124(possible )-124(for )-124(many )-124(pr)15(ocesses )-124(to )-124(be )-124(started )-124(in )-124(any )-124(given )-124(second.)]TJ -T* -(Alternatively)Tj -0.274 Tc 5.748 0 Td -(,t)Tj -0 Tc 0.85 0 Td -[(he )-24(elapsed )-24(time )-24(is )-24(given )-24(in )-24(clock )-24(ticks, )-24(which )-24(ar)]TJ -0.274 Tc 21.134 0 Td -(eu)Tj -0 Tc 1.356 0 Td -[(sually )-24(between )-24(60 )-24(and)]TJ --29.088 -1.2 Td -[(128 )-7(ticks )-7(per )-7(second.)-506(But )-7(we )-7(don\325t )-7(know )-7(the )-7(ending )-7(time )-7(of )-7(a )-7(pr)18(ocess; )-7(all )-7(we )-7(know )-7(is )-7(its)]TJ -T* -[(starting )-118(time )-118(and )-118(ending )-118(or)19(der)]TJ -0.6176 Tc 13.978 0 Td -(.T)Tj -0 Tc 1.481 0 Td -[(hus, )-118(even )-118(though )-118(the )-118(elapsed )-118(time )-118(is )-118(mor)]TJ -0.3676 Tc 19.004 0 Td -(ea)Tj -0 Tc 1.347 0 Td -(ccurate)Tj --35.809 -1.2 Td -[(than )-237(the )-237(starting )-237(time, )-237(we )-237(still )-237(can\325t )-237(r)20(econstr)8(uct )-237(the )-237(exact )-237(starting )-237(or)18(der )-237(of )-237(various)]TJ -0 -1.2 Td -[(pr)18(ocesses, given the data in the accounting \336le.)]TJ -1.8 -1.2 Td -[(The )-169(accounting )-169(r)18(ecor)18(ds )-169(corr)18(espond )-169(to )-169(pr)18(ocesses, )-169(not )-169(pr)17(ograms. )-419(A)-419(new )-169(r)18(ecor)]TJ -0.4191 Tc 35.455 0 Td -(di)Tj -0 Tc 1.321 0 Td -(s)Tj --38.576 -1.2 Td -[(initialized )-7(by )-7(the )-7(kernel )-7(for )-7(the )-7(child )-7(after )-7(a)]TJ -/TT0 1 Tf -19.461 0 Td -(fork)Tj -/T1_1 1 Tf -0.2575 Tc (,n)Tj -0 Tc 3.489 0 Td -[(ot )-7(when )-7(a )-7(new )-7(pr)18(ogram )-7(is )-7(executed.)]TJ --22.951 -1.2 Td -(Although)Tj -/TT0 1 Tf -4.631 0 Td -(exec)Tj -/T1_1 1 Tf -2.767 0 Td -[(doesn\325t )-117(cr)18(eate )-117(a )-117(new )-117(accounting )-117(r)19(ecor)18(d, )-117(the )-117(command )-117(name )-117(changes,)]TJ --7.398 -1.2 Td -[(and )-2(the)]TJ -/TT0 1 Tf -3.585 0 Td -(AFORK)Tj -/T1_1 1 Tf -3.252 0 Td -[(\337ag )-2(is )-2(clear)17(ed. )-252(This)-253(means )-2(that )-2(if )-2(we )-2(have )-2(a )-2(chain )-2(of )-2(thr)18(ee )-2(pr)14(ograms )167(\321 )167(A)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47201 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.17)]TJ -36.78 0 Td -[(Symbolic )-250(Links)]TJ -/T1_1 1 Tf -9.053 0 Td -(121)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(Symbolic )-2(links )-2(wer)]TJ -0.2523 Tc 8.427 0 Td -(ei)Tj -0 Tc 1.022 0 Td -[(ntr)18(oduced )-2(with )-2(4.2BSD.)-503(Initially)111(,)]TJ -/TT0 1 Tf -14.885 0 Td -(chown)Tj -/T1_0 1 Tf -3.252 0 Td -[(didn\325t )-2(follow )-2(symbolic )-2(links, )-2(but)]TJ --27.587 -1.25 Td -[(this )-47(behavior )-47(was )-47(changed )-47(in )-47(4.4BSD.)-545(System )-47(V )-47(included )-47(support )-47(for )-47(symbolic )-47(links )-47(in )-47(SVR4,)]TJ -0 -1.25 TD -[(but )-4(diver)18(ged )-4(fr)18(om )-4(the )-4(original )-4(BSD )-4(behavior )-4(by )-4(implementing)]TJ -/TT0 1 Tf -27.889 0 Td -(chown)Tj -/T1_0 1 Tf -3.254 0 Td -[(to )-4(follow )-4(symbolic )-4(links.)]TJ --31.143 -1.25 Td -[(In )-121(older )-121(versions )-121(of )-121(Linux )-121(\(those )-121(befor)]TJ -0.3713 Tc 17.634 0 Td -(ev)Tj -0 Tc 1.415 0 Td -[(ersion )-121(2.1.81\),)]TJ -/TT0 1 Tf -6.543 0 Td -(chown)Tj -/T1_0 1 Tf -3.371 0 Td -[(didn\325t )-121(follow )-121(symbolic )-121(links.)]TJ --28.964 -1.25 Td -[(Fr)18(om )-207(version )-207(2.1.81 )-207(onwar)17(d,)]TJ -/TT0 1 Tf -13.674 0 Td -(chown)Tj -/T1_0 1 Tf -3.457 0 Td -[(follows )-207(symbolic )-207(links.)]TJ --0.055 Tc 11.269 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-207(Fr)18(eeBSD )-207(8.0, )-207(Mac )-207(OS )-207(X)]TJ --29.636 -1.25 Td -[(10.6.8, )-428(and )-428(Solaris )-428(10,)]TJ -/TT0 1 Tf -11.378 0 Td -(chown)Tj -/T1_0 1 Tf -3.678 0 Td -[(follows )-428(symbolic )-428(links.)-928(All )-428(of )-428(these )-428(platforms )-428(pr)15(ovide)]TJ --15.056 -1.25 Td -(implementations of)Tj -/TT0 1 Tf -8.863 0 Td -(lchown)Tj -/T1_0 1 Tf -3.85 0 Td -(to change the ownership of symbolic links themselves.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2332.25 5880.25 cm -0 0 m -1827 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 287.6215 579.9304 Tm -[(Does not follow)-3265(Follows)]TJ -0.53 -1.25 Td -[(symbolic link)-2560(symbolic link)]TJ --6.83 0.625 Td -(Function)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2332.25 5660.25 cm -0 0 m -1827 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2332.25 5640.25 cm -0 0 m -1827 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 237.2133 555.8999 Tm -(access)Tj -/T1_0 1 Tf -18.024 0 Td -(\245)Tj -/TT0 1 Tf --18.024 -1.25 Td -(chdir)Tj -/T1_0 1 Tf -18.024 0 Td -(\245)Tj -/TT0 1 Tf --18.024 -1.25 Td -(chmod)Tj -/T1_0 1 Tf -18.024 0 Td -(\245)Tj -/TT0 1 Tf --18.024 -1.25 Td -(chown)Tj -/T1_0 1 Tf -18.024 0 Td -(\245)Tj -/TT0 1 Tf --18.024 -1.25 Td -(creat)Tj -/T1_0 1 Tf -18.024 0 Td -(\245)Tj -/TT0 1 Tf --18.024 -1.25 Td -(exec)Tj -/T1_0 1 Tf -18.024 0 Td -(\245)Tj -/TT0 1 Tf --18.024 -1.25 Td -(lchown)Tj -/T1_0 1 Tf -9.506 0 Td -(\245)Tj -/TT0 1 Tf --9.506 -1.25 Td -(link)Tj -/T1_0 1 Tf -18.024 0 Td -(\245)Tj -/TT0 1 Tf --18.024 -1.25 Td -(lstat)Tj -/T1_0 1 Tf -9.506 0 Td -(\245)Tj -/TT0 1 Tf --9.506 -1.25 Td -(open)Tj -/T1_0 1 Tf -18.024 0 Td -(\245)Tj -/TT0 1 Tf --18.024 -1.25 Td -(opendir)Tj -/T1_0 1 Tf -18.024 0 Td -(\245)Tj -/TT0 1 Tf --18.024 -1.25 Td -(pathconf)Tj -/T1_0 1 Tf -18.024 0 Td -(\245)Tj -/TT0 1 Tf --18.024 -1.25 Td -(readlink)Tj -/T1_0 1 Tf -9.506 0 Td -(\245)Tj -/TT0 1 Tf --9.506 -1.25 Td -(remove)Tj -/T1_0 1 Tf -9.506 0 Td -(\245)Tj -/TT0 1 Tf --9.506 -1.25 Td -(rename)Tj -/T1_0 1 Tf -9.506 0 Td -(\245)Tj -/TT0 1 Tf --9.506 -1.25 Td -(stat)Tj -/T1_0 1 Tf -18.024 0 Td -(\245)Tj -/TT0 1 Tf --18.024 -1.25 Td -(truncate)Tj -/T1_0 1 Tf -18.024 0 Td -(\245)Tj -/TT0 1 Tf --18.024 -1.25 Td -(unlink)Tj -/T1_0 1 Tf -9.506 0 Td -(\245)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2332.25 3820.25 cm -0 0 m -1827 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3498.25 3820.25 cm -0 0 m -0 2060 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2816.25 3820.25 cm -0 0 m -0 2060 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4159.25 3820.25 cm -0 0 m -0 2060 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2332.25 3820.25 cm -0 0 m -0 2060 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 215.5683 363.9126 Tm -(Figure 4.17)Tj -/T1_0 1 Tf --0.09 Tc 5.695 0 Td -[(Tr )88(e)]TJ -0 Tc 1.379 0 Td -(atment of symbolic links by various functions)Tj -9.9976 0 0 9.9976 147.5648 336.3193 Tm -[(One )-145(exception )-145(to )-145(the )-145(behavior )-145(summarized )-145(in )-145(Figur)]TJ -0.3954 Tc 23.874 0 Td -(e4)Tj -0 Tc 1.374 0 Td -[(.17 )-145(occurs )-145(when )-145(the)]TJ -/TT0 1 Tf -9.552 0 Td -(open)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(function )-150(is )-150(called )-150(with )-150(both)]TJ -/TT0 1 Tf -13.077 0 Td -(O_CREAT)Tj -/T1_0 1 Tf -4.6 0 Td -(and)Tj -/TT0 1 Tf -2.093 0 Td -(O_EXCL)Tj -/T1_0 1 Tf -4 0 Td -[(set. )-400(In)-400(this )-150(case, )-150(if )-150(the )-150(pathname)]TJ --0.018 Tc -23.769 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(fers )-143(to )-143(a )-143(symbolic )-143(link,)]TJ -/TT0 1 Tf -10.925 0 Td -(open)Tj -/T1_0 1 Tf -2.793 0 Td -[(will )-143(fail )-143(with)]TJ -/TT0 1 Tf -6.333 0 Td -(errno)Tj -/T1_0 1 Tf -3.393 0 Td -[(set )-143(to)]TJ -/TT0 1 Tf -2.886 0 Td -(EEXIST)Tj -/T1_0 1 Tf -0.6427 Tc (.T)Tj -0 Tc 5.106 0 Td -[(his )-143(behavior )-143(is)]TJ --32.292 -1.2 Td -[(intended )-8(to )-8(close )-8(a )-8(security )-8(hole )-8(so )-8(that )-8(privileged )-8(pr)14(ocesses )-8(can\325t )-8(be )-8(fooled )-8(into )-8(writing)]TJ -0 -1.2 TD -[(to the wr)18(ong \336les.)]TJ -/TT1 1 Tf --3.6 -2.52 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.28 Td -[(It )-210(is )-210(possible )-210(to )-210(intr)19(oduce )-210(loops )-210(into )-210(the )-210(\336le )-210(system )-210(by )-210(using )-210(symbolic )-210(links.)-707(Most)]TJ -0 -1.2 Td -[(functions )-297(that )-297(look )-297(up )-297(a )-297(pathname )-297(r)18(eturn )-297(an)]TJ -/TT0 1 Tf -22.18 0 Td -(errno)Tj -/T1_0 1 Tf -3.547 0 Td -(of)Tj -/TT0 1 Tf -1.426 0 Td -(ELOOP)Tj -/T1_0 1 Tf -3.547 0 Td -[(when )-297(this )-297(occurs.)]TJ --30.7 -1.2 Td -(Consider the following commands:)Tj -/TT0 1 Tf -8.9978 0 0 8.9978 147.5656 199.6521 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(mkdir foo)Tj -/T1_2 1 Tf -17.2 0 Td -[(make a new dir)18(ectory)]TJ -/TT0 1 Tf --18.4 -1.189 Td -($)Tj -/TT2 1 Tf -1.2 0 Td -(touch foo/a)Tj -/T1_2 1 Tf -17.2 0 Td -[(cr)18(eate a 0-length \336le)]TJ -/TT0 1 Tf --18.4 -1.189 Td -($)Tj -/TT2 1 Tf -1.2 0 Td -(ln -s ../foo foo/testdir)Tj -/T1_2 1 Tf -17.2 0 Td -[(cr)18(eate a symbolic link)]TJ -/TT0 1 Tf --18.4 -1.189 Td -($)Tj -/TT2 1 Tf -1.2 0 Td -(ls -l foo)Tj -/TT0 1 Tf --1.2 -1.189 Td -(total 0)Tj -0 -1.189 TD -[(-rw-r----- )-600(1)-600(sar )]TJ -16.8 0 Td -[(0)-600(Jan 22 00:16 a)]TJ --16.8 -1.189 Td -[(lrwxrwxrwx )-600(1)-600(sar )]TJ -16.8 0 Td -[(6)-600(Jan 22 00:16 testdir -> ../foo)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47202 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(608)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(If )-310(the )-310(socket )-310(descriptor )-310(is )-310(in )-310(nonblocking )-310(mode, )-310(which )-310(we )-310(discuss )-310(further )-310(in)]TJ --1.8 -1.2 Td -[(Section )-386(16.8,)]TJ -/TT0 1 Tf -6.465 0 Td -(connect)Tj -/T1_1 1 Tf -4.836 0 Td -[(will )-386(r)18(eturn)]TJ -/TT1 1 Tf -5.741 0 Td -(!)Tj -/T1_1 1 Tf -0.6358 Tc (1w)Tj -0 Tc 2.519 0 Td -(ith)Tj -/TT0 1 Tf -1.835 0 Td -(errno)Tj -/T1_1 1 Tf -3.636 0 Td -[(set )-386(to )-386(the )-386(special )-386(err)18(or )-386(code)]TJ -/TT0 1 Tf --25.03 -1.2 Td -(EINPROGRESS)Tj -/T1_1 1 Tf -6.929 0 Td -[(if )-79(the )-79(connection )-79(can\325t )-79(be )-79(established )-79(immediately)]TJ -0.5793 Tc 22.41 0 Td -(.T)Tj -0 Tc 1.442 0 Td -[(he )-79(application )-79(can)]TJ --30.781 -1.2 Td -[(use )-124(either)]TJ -/TT0 1 Tf -4.807 0 Td -(poll)Tj -/T1_1 1 Tf -2.774 0 Td -(or)Tj -/TT0 1 Tf -1.315 0 Td -(select)Tj -/T1_1 1 Tf -3.974 0 Td -[(to )-124(determine )-124(when )-124(the )-124(\336le )-124(descriptor )-124(is )-124(writable.)-627(At )-124(this)]TJ --12.871 -1.2 Td -(point, the connection is complete.)Tj -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.166 0 Td -(connect)Tj -/T1_1 1 Tf -4.692 0 Td -[(function )-242(can )-242(also )-242(be )-242(used )-242(with )-242(a )-242(connectionless )-242(network )-242(service)]TJ --8.659 -1.2 Td -(\()Tj -/TT0 1 Tf -(SOCK_DGRAM)Tj -/T1_1 1 Tf -[(\). )-311(This)-310(might )-61(seem )-61(like )-61(a )-61(contradiction, )-61(but )-61(it )-61(is )-61(an )-61(optimization )-61(instead.)]TJ -0 -1.2 TD -[(If )-45(we )-45(call)]TJ -/TT0 1 Tf -4.393 0 Td -(connect)Tj -/T1_1 1 Tf -4.495 0 Td -[(with )-45(a)]TJ -/TT0 1 Tf -3.123 0 Td -(SOCK_DGRAM)Tj -/T1_1 1 Tf -6.295 0 Td -[(socket, )-45(the )-45(destination )-45(addr)19(ess )-45(of )-45(all )-45(messages)]TJ --18.306 -1.2 Td -[(we )-20(send )-20(is )-20(set )-20(to )-20(the )-20(addr)16(ess )-20(we )-20(speci\336ed )-20(in )-20(the)]TJ -/TT0 1 Tf -21.519 0 Td -(connect)Tj -/T1_1 1 Tf -4.47 0 Td -[(call, )-20(r)18(elieving )-20(us )-20(fr)18(om )-20(having)]TJ --25.989 -1.2 Td -[(to )-75(pr)18(ovide )-75(the )-75(addr)19(ess )-75(every )-75(time )-75(we )-75(transmit )-75(a )-75(message.)-575(In )-75(addition, )-75(we )-75(will )-75(r)21(eceive)]TJ -0 -1.2 Td -[(datagrams only fr)18(om the addr)18(ess we\325ve speci\336ed.)]TJ -0.5037 Tc 1.8 -1.2 Td -(As)Tj -0 Tc 1.706 0 Td -[(erver )-254(announces )-254(that )-254(it )-254(is )-254(willing )-254(to )-254(accept )-254(connect )-254(r)18(equests )-254(by )-254(calling )-254(the)]TJ -/TT0 1 Tf --3.506 -1.2 Td -(listen)Tj -/T1_1 1 Tf -3.85 0 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 509.4694 Tm -(#include )Tj -0 -1.783 TD -(int listen\(int)Tj -/T1_2 1 Tf -9 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.262 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(backlog)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -11.789 -1.783 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4729.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 460.5447 Tm -(The)Tj -/T1_2 1 Tf -2.376 0 Td -(backlog)Tj -/T1_1 1 Tf -3.682 0 Td -[(ar)18(gument )-452(pr)18(ovides )-452(a )-452(hint )-452(to )-452(the )-452(system )-452(r)18(egar)18(ding )-452(the )-452(number )-452(of)]TJ --6.058 -1.2 Td -[(outstanding )-232(connect )-232(r)18(equests )-232(that )-232(it )-232(should )-232(enqueue )-232(on )-232(behalf )-232(of )-232(the )-232(pr)18(ocess. )-482(The)]TJ -0 -1.2 TD -[(actual )-8(value )-8(is )-8(determined )-8(by )-8(the )-8(system, )-8(but )-8(the )-8(upper )-8(limit )-8(is )-8(speci\336ed )-8(as)]TJ -/TT0 1 Tf -33.6 0 Td -(SOMAXCONN)Tj -/T1_1 1 Tf --33.6 -1.2 Td -(in)Tj -/TT0 1 Tf -1.123 0 Td -()Tj -/T1_1 1 Tf -(.)Tj -7.999 0 0 7.999 183.5779 404.5514 Tm -[(On )-84(Solaris, )-84(the)]TJ -/TT0 1 Tf -6.979 0 Td -(SOMAXCONN)Tj -/T1_1 1 Tf -5.734 0 Td -[(value )-84(in)]TJ -/TT0 1 Tf -3.979 0 Td -()Tj -/T1_1 1 Tf -8.734 0 Td -[(is )-84(ignor)18(ed. )-334(The)-334(particular )-84(maximum)]TJ --25.427 -1.25 Td -[(depends on the implementation of each pr)18(otocol. )-250(For)-250(TCP)]TJ -0.25 Tc 25.717 0 Td -(,t)Tj -0 Tc 0.826 0 Td -(he default is 128.)Tj -9.9988 0 0 9.9988 147.5826 372.5553 Tm -[(Once )-178(the )-178(queue )-178(is )-178(full, )-178(the )-178(system )-178(will )-178(r)18(eject )-178(additional )-178(connect )-178(r)18(equests, )-178(so )-178(the)]TJ -/T1_2 1 Tf --1.8 -1.2 Td -(backlog)Tj -/T1_1 1 Tf -3.298 0 Td -[(value )-68(must )-68(be )-68(chosen )-68(based )-68(on )-68(the )-68(expected )-68(load )-68(of )-68(the )-68(server )-68(and )-68(the )-68(amount)]TJ --3.298 -1.2 Td -[(of pr)18(ocessing it must do to accept a connect r)18(equest and start the service.)]TJ -1.8 -1.2 Td -[(Once )-44(a )-44(server )-44(has )-44(called)]TJ -/TT0 1 Tf -11.119 0 Td -(listen)Tj -/T1_1 1 Tf -0.2938 Tc (,t)Tj -0 Tc 4.47 0 Td -[(he )-44(socket )-44(used )-44(can )-44(r)19(eceive )-44(connect )-44(r)19(equests. )-294(W)92(e)]TJ --17.389 -1.2 Td -(use the)Tj -/TT0 1 Tf -3.393 0 Td -(accept)Tj -/T1_1 1 Tf -3.85 0 Td -[(function to r)18(etrieve a connect r)18(equest and convert it into a connection.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5831 309.0629 Tm -(#include )Tj -0 -1.783 TD -(int accept\(int)Tj -/T1_2 1 Tf -9 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.262 0 Td -(truct sockaddr *restrict)Tj -/T1_2 1 Tf -15 0 Td -(addr)Tj -/TT0 1 Tf -(,)Tj --21.662 -1.189 Td -(socklen_t *restrict)Tj -/T1_2 1 Tf -12 0 Td -(len)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --1.077 -1.783 Td -(Returns: \336le \(socket\) descriptor if OK,)Tj -/TT1 1 Tf -16.941 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2618.25 cm -0 0 m -0 563 l -3900 563 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 249.4551 Tm -[(The )-120(\336le )-120(descriptor )-120(r)18(eturned )-120(by)]TJ -/TT0 1 Tf -14.37 0 Td -(accept)Tj -/T1_1 1 Tf -3.97 0 Td -[(is )-120(a )-120(socket )-120(descriptor )-120(that )-120(is )-120(connected )-120(to )-120(the)]TJ --18.34 -1.2 Td -[(client )-122(that )-122(called)]TJ -/TT0 1 Tf -7.879 0 Td -(connect)Tj -/T1_1 1 Tf -0.622 Tc (.T)Tj -0 Tc 5.685 0 Td -[(his )-122(new )-122(socket )-122(descriptor )-122(has )-122(the )-122(same )-122(socket )-122(type )-122(and)]TJ --13.564 -1.2 Td -[(addr)18(ess )-90(family )-90(as )-90(the )-90(original )-90(socket )-90(\()]TJ -/T1_2 1 Tf -17.194 0 Td -(sockfd)Tj -/T1_1 1 Tf -[(\). )-340(The)-341(original )-91(socket )-91(passed )-91(to)]TJ -/TT0 1 Tf -17.15 0 Td -(accept)Tj -/T1_1 1 Tf -3.941 0 Td -(is)Tj --38.285 -1.2 Td -[(not )-93(associated )-93(with )-93(the )-93(connection, )-93(but )-93(instead )-93(r)18(emains )-93(available )-93(to )-93(r)18(eceive )-93(additional)]TJ -0 -1.2 TD -[(connect r)18(equests.)]TJ -1.8 -1.2 Td -[(If )-24(we )-24(don\325t )-24(car)]TJ -0.274 Tc 6.469 0 Td -(ea)Tj -0 Tc 1.253 0 Td -[(bout )-24(the )-24(client\325s )-24(identity)111(,)-274(we)-274(can )-24(set )-24(the)]TJ -/T1_2 1 Tf -17.779 0 Td -(addr)Tj -/T1_1 1 Tf -2.107 0 Td -(and)Tj -/T1_2 1 Tf -1.967 0 Td -(len)Tj -/T1_1 1 Tf -1.497 0 Td -[(parameters )-24(to)]TJ -/TT0 1 Tf --32.872 -1.2 Td -(NULL)Tj -/T1_1 1 Tf -0.5564 Tc (.O)Tj -0 Tc 3.992 0 Td -[(therwise, )-56(befor)]TJ -0.3064 Tc 6.654 0 Td -(ec)Tj -0 Tc 1.229 0 Td -(alling)Tj -/TT0 1 Tf -2.817 0 Td -(accept)Tj -/T1_1 1 Tf -[(,)-306(we)-306(n)-1(eed )-56(to )-56(set )-56(the)]TJ -/T1_2 1 Tf -12.64 0 Td -(addr)Tj -/T1_1 1 Tf -2.139 0 Td -[(parameter )-56(to )-56(a )-56(buf)17(fer)]TJ --29.473 -1.2 Td -[(lar)18(ge )-53(enough )-53(to )-53(hold )-53(the )-53(addr)18(ess )-53(and )-53(set )-53(the )-53(integer )-53(pointed )-53(to )-53(by)]TJ -/T1_2 1 Tf -30.042 0 Td -(len)Tj -/T1_1 1 Tf -1.526 0 Td -[(to )-53(the )-53(size )-53(of )-53(the)]TJ --31.568 -1.2 Td -[(buf)18(fer )-170(in )-170(bytes.)-670(On )-170(r)16(eturn,)]TJ -/TT0 1 Tf -12.871 0 Td -(accept)Tj -/T1_1 1 Tf -4.02 0 Td -[(will )-170(\336ll )-170(in )-170(the )-170(client\325s )-170(addr)18(ess )-170(in )-170(the )-170(buf)18(fer )-170(and)]TJ --16.891 -1.2 Td -(update the integer pointed to by)Tj -/T1_2 1 Tf -14.532 0 Td -(len)Tj -/T1_1 1 Tf -1.473 0 Td -[(to r)18(e\337ect the size of the addr)18(ess.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47203 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(817)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(143 )-2400(err)]TJ -0.6 Tc 7.2 0 Td -(=p)Tj -0 Tc 1.8 0 Td -(thread_create\(&tid, NULL, printer_thread, NULL\);)Tj --9 -1.189 Td -[(144 )-2400(if)-600(\(err == 0\))]TJ -0 -1.189 TD -[(145 )-4800(err)]TJ -0.6 Tc 9.6 0 Td -(=p)Tj -0 Tc 1.8 0 Td -(thread_create\(&tid, NULL, signal_thread, NULL\);)Tj --11.4 -1.189 Td -[(146 )-2400(if)-600(\(err != 0\))]TJ -T* -[(147 )-4800(log_exit\(err,)-600("can\325t create thread"\);)]TJ -0 -1.189 TD -[(148 )-2400(build_qonstart\(\);)]TJ -0 -1.902 TD -[(149 )-2400(log_msg\("daemon)-600(initialized"\);)]TJ -0 -1.902 TD -[(150 )-2400(for)-600(\(;;\) {)]TJ -0 -1.189 TD -[(151 )-4800(rset)]TJ -0.6 Tc 10.2 0 Td -(=r)Tj -0 Tc 1.8 0 Td -(endezvous;)Tj --12 -1.189 Td -[(152 )-4800(if)-600(\(select\(maxfd+1, &rset, NULL, NULL, NULL\) < 0\))]TJ -T* -(153 )Tj -9.6 0 Td -[(log_sys\("select)-600(failed"\);)]TJ --9.6 -1.189 Td -[(154 )-4800(for)-600(\(i = 0; i <= maxfd; i++\) {)]TJ -T* -(155 )Tj -9.6 0 Td -[(if)-600(\(FD_ISSET\(i, &rset\)\) {)]TJ --9.6 -1.189 Td -(156 )Tj -12 0 Td -(/*)Tj --12 -1.189 Td -(157 )Tj -12.6 0 Td -[(*)-600(Accept the connection and handle the request.)]TJ --12.6 -1.189 Td -(158 )Tj -12.6 0 Td -(*/)Tj --12.6 -1.189 Td -(159 )Tj -12 0 Td -[(if)-600(\(\(sockfd = accept\(i, NULL, NULL\)\) < 0\))]TJ --12 -1.189 Td -(160 )Tj -14.4 0 Td -[(log_ret\("accept)-600(failed"\);)]TJ --14.4 -1.189 Td -(161 )Tj -12 0 Td -[(pthread_create\(&tid,)-600(NULL, client_thread,)]TJ --12 -1.189 Td -(162 )Tj -13.2 0 Td -[(\(void)-600(*\)\(\(long\)sockfd\)\);)]TJ --13.2 -1.189 Td -(163 )Tj -9.6 0 Td -(})Tj --9.6 -1.189 Td -[(164 )-4800(})]TJ -0 -1.189 TD -[(165 )-2400(})]TJ -0 -1.189 TD -[(166 )-2400(exit\(1\);)]TJ -T* -[(167 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3850.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 361.0147 Tm -[([143 )167(\320 )167(149])]TJ --0.092 Tc 5 0 Td -[(We )-224(c)]TJ --0.018 Tc 2.121 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ate )-40(one )-40(thr)18(ead )-40(to )-40(handle )-40(signals )-40(and )-40(one )-40(thr)18(ead )-40(to )-40(communicate )-40(with)]TJ --2.977 -1.2 Td -[(the )-219(printer)]TJ -0.7194 Tc 4.851 0 Td -(.\()Tj -0 Tc 1.302 0 Td -[(By )-219(r)18(estricting )-219(printer )-219(communication )-219(to )-219(one )-219(thr)18(ead, )-219(we )-219(can)]TJ --6.154 -1.2 Td -[(simplify )-221(the )-221(locking )-221(of )-221(the )-221(printer)20(-r)18(elated )-221(data )-221(str)9(uctur)18(es.\) )-471(Then)-470(we )-221(call)]TJ -/TT0 1 Tf -0 -1.2 Td -(build_qonstart)Tj -/T1_0 1 Tf -8.818 0 Td -[(to )-168(sear)18(ch )-168(the )-168(dir)19(ectories )-168(in)]TJ -/TT0 1 Tf -12.69 0 Td -(/var/spool/printer)Tj -/T1_0 1 Tf -11.218 0 Td -(for)Tj --32.726 -1.2 Td -[(any )-274(pending )-274(jobs.)-775(For )-274(each )-274(job )-274(that )-274(we )-274(\336nd )-274(on )-274(disk, )-274(we )-274(will )-274(cr)18(eate )-274(a)]TJ -0 -1.2 TD -[(str)8(uctur)18(e)-406(to)-406(l)-1(et )-156(the )-156(printer )-156(thr)17(ead )-156(know )-156(that )-156(it )-156(should )-156(send )-156(the )-156(\336le )-156(to )-156(the)]TJ --0 -1.2 Td -(printer)Tj -0.7281 Tc 2.995 0 Td -(.A)Tj -0.4781 Tc 1.756 0 Td -(tt)Tj -0 Tc 1.13 0 Td -[(his )-228(point, )-228(we )-228(ar)]TJ -0.4781 Tc 7.517 0 Td -(ed)Tj -0 Tc 1.568 0 Td -[(one )-228(setting )-228(up )-228(the )-228(daemon, )-228(so )-228(we )-228(log )-228(a)]TJ --14.967 -1.2 Td -[(message to indicate that the daemon has initialized successfully)111(.)]TJ --5 -1.6 Td -[([150 )167(\320 )167(167])]TJ --0.092 Tc 5 0 Td -[(We )-347(c)]TJ -0 Tc 2.244 0 Td -[(opy )-163(the)]TJ -/TT0 1 Tf -3.917 0 Td -[(rendezvous )187(fd_set)]TJ -/T1_0 1 Tf -10.427 0 Td -[(str)8(uctur)]TJ -0.4134 Tc 3.49 0 Td -(et)Tj -0 Tc 1.218 0 Td -(o)Tj -/TT0 1 Tf -0.959 0 Td -(rset)Tj -/T1_0 1 Tf -2.813 0 Td -[(and )-163(call)]TJ -/TT0 1 Tf -4.046 0 Td -(select)Tj -/T1_0 1 Tf -4.013 0 Td -(to)Tj --33.128 -1.2 Td -[(wait )-174(for )-174(one )-174(of )-174(the )-174(\336le )-174(descriptors )-174(to )-174(become )-174(r)17(eadable. )-424(W)]TJ -0.424 Tc 27.104 0 Td -(eh)Tj -0 Tc 1.485 0 Td -[(ave )-174(to )-174(copy)]TJ -/TT0 1 Tf --28.589 -1.2 Td -(rendezvous)Tj -/T1_0 1 Tf -0.4153 Tc (,b)Tj -0 Tc 7.218 0 Td -(ecause)Tj -/TT0 1 Tf -3.344 0 Td -(select)Tj -/T1_0 1 Tf -4.015 0 Td -[(will )-165(modify )-165(the)]TJ -/TT0 1 Tf -7.56 0 Td -(fd_set)Tj -/T1_0 1 Tf -4.015 0 Td -[(str)8(uctur)]TJ -0.4154 Tc 3.49 0 Td -(et)Tj -0 Tc 1.22 0 Td -[(hat )-165(we)]TJ --30.864 -1.2 Td -[(pass )-98(to )-98(it )-98(to )-98(include )-98(only )-98(those )-98(\336le )-98(descriptors )-98(that )-98(satisfy )-98(the )-98(event.)-593(Since)]TJ -T* -[(the )-1(sockets )-1(have )-1(been )-1(initialized )-1(for )-1(use )-1(by )-1(a )-1(server)]TJ -0.251 Tc 22.569 0 Td -(,ar)Tj -0 Tc 1.629 0 Td -[(eadable )-1(\336le )-1(descriptor)]TJ --24.198 -1.2 Td -[(means )-129(that )-129(a )-129(connect )-129(r)19(equest )-129(is )-129(pending.)-628(After)]TJ -/TT0 1 Tf -22.01 0 Td -(select)Tj -/T1_0 1 Tf --0.018 Tc 3.979 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns, )-129(we )-129(check)]TJ -/TT0 1 Tf --26.845 -1.2 Td -(rset)Tj -/T1_0 1 Tf -2.684 0 Td -[(for )-34(a )-34(r)18(eadable )-34(\336le )-34(descriptor)]TJ -0.5343 Tc 12.514 0 Td -(.I)Tj -0 Tc 1.121 0 Td -[(f)-284(we)-284(\336)-1(nd )-34(one, )-34(we )-34(call)]TJ -/TT0 1 Tf -9.846 0 Td -(accept)Tj -/T1_0 1 Tf -3.884 0 Td -[(to )-34(accept)]TJ --30.05 -1.2 Td -[(the )-59(connection.)-559(If )-59(this )-59(fails, )-59(we )-59(log )-59(an )-59(err)20(or )-59(message )-59(and )-59(continue )-59(checking)]TJ -T* -[(for )-94(mor)]TJ -0.344 Tc 3.424 0 Td -(er)Tj -0 Tc 1.2 0 Td -[(eadable )-94(\336le )-94(descriptors.)-594(Otherwise, )-94(we )-94(cr)18(eate )-94(a )-94(thr)18(ead )-94(to )-94(handle)]TJ --4.624 -1.2 Td -[(the )-58(client )-58(connection.)-557(The)]TJ -/TT0 1 Tf -12.027 0 Td -(main)Tj -/T1_0 1 Tf -2.708 0 Td -[(thr)18(ead )-58(loops, )-58(farming )-58(r)18(equests )-58(out )-58(to )-58(other)]TJ --14.735 -1.2 Td -[(thr)18(eads for pr)18(ocessing, and should never r)18(each the)]TJ -/TT0 1 Tf -22.566 0 Td -(exit)Tj -/T1_0 1 Tf -2.65 0 Td -(statement.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47204 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(648)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 172.7896 670.2598 Tm -(for \(ptr = buf; ptr < &buf[nr]; \) {)Tj -2.4 -1.189 Td -(if \(*ptr++ == 0\) {)Tj -2.4 -1.189 Td -(if \(ptr != &buf[nr-1]\))Tj -2.4 -1.189 Td -(err_dump\("message format error"\);)Tj --2.4 -1.189 Td -[(status = *ptr & 0xFF;)-1800(/* prevent sign extension */)]TJ -0 -1.189 TD -(if \(status == 0\) {)Tj -2.4 -1.189 Td -(if \(msg.msg_controllen != CONTROLLEN\))Tj -2.4 -1.189 Td -(err_dump\("status = 0 but no fd"\);)Tj --2.4 -1.189 Td -(newfd = *\(int *\)CMSG_DATA\(cmptr\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(newfd = -status;)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(nr -= 2;)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -T* -(if \(nr > 0 && \(*userfunc\)\(STDERR_FILENO, buf, nr\) != nr\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -[(if \(status >= 0\))-2400(/* final data has arrived */)]TJ -2.4 -1.189 Td -[(return\(newfd\); )-600(/*)-600(descriptor, or -status */)]TJ --4.8 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4515.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 203.6836 435.4467 Tm -(Figure 17.14)Tj -/T1_1 1 Tf -6.195 0 Td -(Receiving a \336le descriptor over a UNIX domain socket)Tj -9.9988 0 0 9.9988 129.5846 411.4496 Tm -[(Note )-144(that )-144(we )-144(ar)]TJ -0.3937 Tc 7.287 0 Td -(ea)Tj -0 Tc 1.373 0 Td -[(lways )-144(pr)18(epar)18(ed )-144(to )-144(r)18(eceive )-144(a )-144(descriptor )-144(\(we )-144(set)]TJ -/TT0 1 Tf -21.653 0 Td -(msg_control)Tj -/T1_1 1 Tf -6.994 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(msg_controllen)Tj -/T1_1 1 Tf -8.945 0 Td -(befor)Tj -0.5451 Tc 2.288 0 Td -(ee)Tj -0 Tc 1.503 0 Td -[(ach )-295(call )-295(to)]TJ -/TT0 1 Tf -5.559 0 Td -(recvmsg)Tj -/T1_1 1 Tf -[(\), )-295(but )-295(only )-295(if)]TJ -/TT0 1 Tf -11.044 0 Td -(msg_controllen)Tj -/T1_1 1 Tf -8.945 0 Td -(is)Tj --38.285 -1.2 Td -[(nonzer)18(o)-250(on)-250(r)18(eturn did we actually r)18(eceive a descriptor)74(.)]TJ -1.8 -1.2 Td -[(Recall )-51(the )-51(hoops )-51(we )-51(needed )-51(to )-51(jump )-51(thr)18(ough )-51(to )-51(determine )-51(the )-51(identity )-51(of )-51(the )-51(caller)]TJ --1.8 -1.2 Td -[(in )-37(the)]TJ -/TT0 1 Tf -2.834 0 Td -(serv_accept)Tj -/T1_1 1 Tf -6.887 0 Td -[(function )-37(\(Figur)]TJ -0.2868 Tc 6.71 0 Td -(e1)Tj -0 Tc 1.266 0 Td -[(7.9\). )-287(It)-287(would )-37(have )-37(been )-37(better )-37(for )-37(the )-37(kernel )-37(to)]TJ --17.696 -1.2 Td -[(pass )-164(us )-164(the )-164(cr)18(edentials )-164(of )-164(the )-164(caller )-164(on )-164(r)18(eturn )-164(fr)18(om )-164(the )-164(call )-164(to)]TJ -/TT0 1 Tf -29.026 0 Td -(accept)Tj -/T1_1 1 Tf -0.6638 Tc (.S)Tj -0 Tc 5.039 0 Td -[(ome )-164(UNIX)]TJ --34.065 -1.2 Td -[(domain )-542(socket )-542(implementations )-542(pr)17(ovide )-542(similar )-542(functionality )-542(when )-542(exchanging)]TJ -0 -1.2 TD -[(messages, but their interfaces dif)18(fer)74(.)]TJ -7.999 0 0 7.999 183.5784 307.4621 Tm -[(Fr)18(eeBSD )-256(8.0 )-256(and )-256(Linux )-256(3.2.0 )-256(pr)18(ovide )-256(support )-256(for )-256(sending )-256(cr)18(edentials )-256(over )-256(UNIX )-256(domain)]TJ -0 -1.25 Td -[(sockets, )-99(but )-99(they )-99(do )-99(it )-99(dif)17(fer)18(ently)]TJ -0.5993 Tc 14.923 0 Td -(.M)Tj -0 Tc 1.795 0 Td -[(ac )-99(OS )-99(X )-99(10.6.8 )-99(is )-99(derived )-99(in )-99(part )-99(fr)18(om )-99(Fr)18(eeBSD, )-99(but )-99(has)]TJ --16.718 -1.25 Td -[(cr)18(edential )-16(passing )-16(disabled.)-516(Solaris )-16(10 )-16(doesn\325t )-16(support )-16(sending )-16(cr)17(edentials )-16(over )-16(UNIX )-16(domain)]TJ --0 -1.25 Td -[(sockets. )-365(However)74(,)-365(it)-365(supports )-115(the )-115(ability )-115(to )-115(obtain )-115(the )-115(cr)18(edentials )-115(of )-115(a )-115(pr)18(ocess )-115(passing )-115(a )-115(\336le)]TJ -0 -1.25 Td -[(descriptor over a STREAMS pipe, although we do not discuss the details h\ er)18(e.)]TJ --0.055 Tc 9.9988 0 0 9.9988 147.5828 245.4695 Tm -(Wi)Tj -0 Tc 1.236 0 Td -[(th Fr)18(eeBSD, cr)18(edentials ar)]TJ -0.25 Tc 11.39 0 Td -(et)Tj -0 Tc 1.055 0 Td -(ransmitted as a)Tj -/TT0 1 Tf -6.991 0 Td -(cmsgcred)Tj -/T1_1 1 Tf -5.05 0 Td -[(str)8(uctur)18(e:)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5832 228.7715 Tm -(#define CMGROUP_MAX 16)Tj -0 -1.783 TD -(struct cmsgcred {)Tj -2.4 -1.189 Td -[(pid_t )-600(cmcred_pid;)]TJ -21.6 0 Td -(/* sender\325s process ID */)Tj --21.6 -1.189 Td -[(uid_t )-600(cmcred_uid;)]TJ -21.6 0 Td -(/* sender\325s real UID */)Tj --21.6 -1.189 Td -[(uid_t )-600(cmcred_euid;)]TJ -21.6 0 Td -(/* sender\325s effective UID */)Tj --21.6 -1.189 Td -[(gid_t )-600(cmcred_gid;)]TJ -21.6 0 Td -(/* sender\325s real GID */)Tj --21.6 -1.189 Td -[(short )-600(cmcred_ngroups;)]TJ -21.6 0 Td -(/* number of groups */)Tj --21.6 -1.189 Td -[(gid_t )-600(cmcred_groups[CMGROUP_MAX]; )-600(/*)-600(groups */)]TJ --2.4 -1.189 Td -(};)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47205 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(640)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-211(server )-211(blocks )-211(in )-211(the )-211(call )-211(to)]TJ -/TT0 1 Tf -15.109 0 Td -(accept)Tj -/T1_1 1 Tf -0.4609 Tc (,w)Tj -0 Tc 5.145 0 Td -[(aiting )-211(for )-211(a )-211(client )-211(to )-211(call)]TJ -/TT0 1 Tf -11.896 0 Td -(cli_conn)Tj -/T1_1 1 Tf -(.)Tj --33.95 -1.2 Td -(When)Tj -/TT0 1 Tf -3.002 0 Td -(accept)Tj -/T1_1 1 Tf --0.018 Tc 3.959 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns, )-109(its )-109(r)17(eturn )-109(value )-109(is )-109(a )-109(brand-new )-109(descriptor )-109(that )-109(is )-109(connected )-109(to)]TJ --7.818 -1.2 Td -[(the )-119(client.)-618(Additionally)]TJ -0.3687 Tc 10.6 0 Td -(,t)Tj -0 Tc 0.945 0 Td -[(he )-119(pathname )-119(that )-119(the )-119(client )-119(assigned )-119(to )-119(its )-119(socket )-119(\(the )-119(name)]TJ --11.545 -1.2 Td -[(that )-258(contained )-258(the )-258(client\325s )-258(pr)18(ocess )-258(ID\) )-258(is )-258(r)19(eturned )-258(by)]TJ -/TT0 1 Tf -25.582 0 Td -(accept)Tj -/T1_1 1 Tf -0.5077 Tc (,t)Tj -0 Tc 4.684 0 Td -[(hr)18(ough )-258(the )-258(second)]TJ --30.266 -1.2 Td -[(ar)18(gument )-185(\(the )-185(pointer )-185(to )-185(the)]TJ -/TT0 1 Tf -13.682 0 Td -(sockaddr_un)Tj -/T1_1 1 Tf -7.036 0 Td -[(str)8(uctur)18(e\). )-435(W)]TJ -0.4355 Tc 6.146 0 Td -(ec)Tj -0 Tc 1.359 0 Td -[(opy )-185(this )-185(pathname )-185(and)]TJ --28.221 -1.2 Td -(ensur)Tj -0.4204 Tc 2.465 0 Td -(et)Tj -0 Tc 1.225 0 Td -[(hat )-170(it )-170(is )-170(null )-170(terminated )-170(\(if )-170(the )-170(pathname )-170(takes )-170(up )-170(all )-170(available )-170(space )-170(in )-170(the)]TJ -/TT0 1 Tf --3.69 -1.2 Td -(sun_path)Tj -/T1_1 1 Tf -5.399 0 Td -[(member )-349(of )-349(the)]TJ -/TT0 1 Tf -7.735 0 Td -(sockaddr_un)Tj -/T1_1 1 Tf -7.199 0 Td -[(str)8(uctur)18(e, )-349(ther)]TJ -0.599 Tc 6.582 0 Td -(ew)Tj -0 Tc 1.912 0 Td -[(on\325t )-349(be )-349(r)18(oom )-349(for )-349(the)]TJ --28.827 -1.2 Td -[(terminating )-210(null )-210(byte\).)-710(Then )-210(we )-210(call)]TJ -/TT0 1 Tf -17.583 0 Td -(stat)Tj -/T1_1 1 Tf -2.861 0 Td -[(to )-210(verify )-210(that )-210(the )-210(pathname )-210(is )-210(indeed )-210(a)]TJ --20.443 -1.2 Td -[(socket )-49(and )-49(that )-49(the )-49(permissions )-49(allow )-49(only )-49(user)19(-r)18(ead, )-49(user)18(-write, )-49(and )-49(user)18(-execute. )-299(W)92(e)]TJ -0 -1.2 Td -[(also )-54(verify )-54(that )-54(the )-54(thr)18(ee )-54(times )-54(associated )-54(with )-54(the )-54(socket )-54(ar)20(e)-304(no)-304(older )-54(than )-54(30 )-54(seconds.)]TJ --0 -1.2 Td -[(\(Recall )-139(fr)18(om )-139(Section )-139(6.10 )-139(that )-139(the)]TJ -/TT0 1 Tf -15.542 0 Td -(time)Tj -/T1_1 1 Tf -2.789 0 Td -[(function )-139(r)18(eturns )-139(the )-139(curr)18(ent )-139(time )-139(and )-139(date )-139(in)]TJ --18.331 -1.2 Td -(seconds past the Epoch.\))Tj -1.8 -1.2 Td -[(If )-15(all )-15(these )-15(checks )-15(ar)]TJ -0.2648 Tc 8.908 0 Td -(eO)Tj -0 Tc 1.53 0 Td -[(K, )-15(we )-15(assume )-15(that )-15(the )-15(identity )-15(of )-15(the )-15(client )-15(\(its )-15(ef)18(fective )-15(user)]TJ --12.237 -1.2 Td -[(ID\) )-44(is )-44(the )-44(owner )-44(of )-44(the )-44(socket.)-544(Although )-44(this )-44(check )-44(isn\325t )-44(perfect, )-44(it\325s )-44(the )-44(best )-44(we )-44(can )-44(do)]TJ -0 -1.2 TD -[(with )-60(curr)18(ent )-60(systems.)-560(\(It )-60(would )-60(be )-60(better )-60(if )-60(the )-60(kernel )-60(r)18(eturned )-60(the )-60(ef)18(fective )-60(user )-60(ID )-60(to)]TJ -T* -[(us thr)18(ough a parameter to)]TJ -/TT0 1 Tf -11.779 0 Td -(accept)Tj -/T1_1 1 Tf -(.\))Tj --9.979 -1.2 Td -[(The )-120(client )-120(initiates )-120(the )-120(connection )-120(to )-120(the )-120(server )-120(by )-120(calling )-120(the)]TJ -/TT0 1 Tf -28.323 0 Td -(cli_conn)Tj -/T1_1 1 Tf -5.17 0 Td -(function)Tj --35.293 -1.2 Td -(\(Figur)Tj -0.25 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(7.10\).)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4578.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 448.2452 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -1.902 TD -[(#define CLI_PATH)-2400("/var/tmp/")]TJ -0 -1.189 TD -[(#define CLI_PERM)-2400(S_IRWXU )-4800(/*)-600(rwx for user only */)]TJ -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(reate a client endpoint and connect to a server.)Tj -0.6 Tc -1.8 -1.189 Td -(*R)Tj -0 Tc 1.8 0 Td -(eturns fd if all OK, <0 on error.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(int)Tj -0 -1.189 TD -(cli_conn\(const char *name\))Tj -T* -({)Tj -2.4 -1.189 Td -(int )Tj -12 0 Td -[(fd,)-600(len, err, rval;)]TJ --12 -1.189 Td -[(struct sockaddr_un)-1200(un, sun;)]TJ -T* -(int )Tj -12 0 Td -(do_unlink)Tj -0.6 Tc 6 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --19.8 -1.902 Td -(if \(strlen\(name\) >= sizeof\(un.sun_path\)\) {)Tj -2.4 -1.189 Td -(errno = ENAMETOOLONG;)Tj -T* -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(/* create a UNIX domain stream socket */)Tj -0 -1.189 TD -(if \(\(fd = socket\(AF_UNIX, SOCK_STREAM, 0\)\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.902 Td -(/* fill socket address structure with our address */)Tj -T* -(memset\(&un, 0, sizeof\(un\)\);)Tj -T* -(un.sun_family = AF_UNIX;)Tj -T* -(sprintf\(un.sun_path, "%s%05ld", CLI_PATH, \(long\)getpid\(\)\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47206 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.3)]TJ -34.529 0 Td -[(Unique )-250(Connections)]TJ -/T1_1 1 Tf -11.304 0 Td -(639)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(if \(\(name = malloc\(sizeof\(un.sun_path + 1\)\)\) == NULL\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -(len = sizeof\(un\);)Tj -0 -1.189 TD -(if \(\(clifd = accept\(listenfd, \(struct sockaddr *\)&un, &len\)\) < 0\)\ {)Tj -2.4 -1.189 Td -(free\(name\);)Tj -0 -1.189 TD -[(return\(-2\); )-2400(/*)-600(often errno=EINTR, if signal caught */)]TJ --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(/* obtain the client\325s uid from its calling address */)Tj -0 -1.189 TD -(len -= offsetof\(struct sockaddr_un, sun_path\); /* len of pathname */)Tj -T* -(memcpy\(name, un.sun_path, len\);)Tj -T* -(name[len] = 0;)Tj -14.4 0 Td -(/* null terminate */)Tj --14.4 -1.189 Td -(if \(stat\(name, &statbuf\) < 0\) {)Tj -2.4 -1.189 Td -(rval = -3;)Tj -T* -(goto errout;)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.902 Td -[(#ifdef )-600(S_ISSOCK)-2400(/* not defined for SVR4 */)]TJ -2.4 -1.189 Td -(if \(S_ISSOCK\(statbuf.st_mode\) == 0\) {)Tj -2.4 -1.189 Td -[(rval = -4;)-3600(/* not a socket */)]TJ -0 -1.189 TD -(goto errout;)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(#endif)Tj -2.4 -1.902 Td -(if \(\(statbuf.st_mode & \(S_IRWXG | S_IRWXO\)\) ||)Tj -2.4 -1.189 Td -(\(statbuf.st_mode & S_IRWXU\) != S_IRWXU\) {)Tj -1.2 -1.189 Td -[(rval = -5;)-2400(/* is not rwx------ */)]TJ -T* -(goto errout;)Tj --3.6 -1.189 Td -(})Tj -0 -1.902 TD -(staletime = time\(NULL\) - STALE;)Tj -0 -1.189 TD -(if \(statbuf.st_atime < staletime ||)Tj -2.4 -1.189 Td -(statbuf.st_ctime < staletime ||)Tj -T* -(statbuf.st_mtime < staletime\) {)Tj -1.2 -1.189 Td -[(rval = -6;)-2400(/* i-node is too old */)]TJ -T* -(goto errout;)Tj --3.6 -1.189 Td -(})Tj -0 -1.902 TD -(if \(uidptr != NULL\))Tj -2.4 -1.189 Td -[(*uidptr = statbuf.st_uid;)-1800(/* return uid of caller */)]TJ --2.4 -1.189 Td -[(unlink\(name\); )-3600(/*)-600(we\325re done with pathname now */)]TJ -0 -1.189 TD -(free\(name\);)Tj -0 -1.189 TD -(return\(clifd\);)Tj --2.4 -1.902 Td -(errout:)Tj -2.4 -1.189 Td -(err = errno;)Tj -0 -1.189 TD -(close\(clifd\);)Tj -T* -(free\(name\);)Tj -T* -(errno = err;)Tj -T* -(return\(rval\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1562.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 251.8658 141.362 Tm -(Figure 17.9)Tj -/T1_0 1 Tf -5.695 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(serv_accept)Tj -/T1_0 1 Tf -6.85 0 Td -(function)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47207 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.5)]TJ -37.602 0 Td -[(Data )-250(T)90(ransfer)]TJ -/T1_1 1 Tf -8.231 0 Td -(617)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(To )-376(\336)]TJ -0 Tc 2.114 0 Td -[(nd )-192(its )-192(addr)17(ess, )-192(the )-192(server )-192(needs )-192(to )-192(get )-192(the )-192(name )-192(of )-192(the )-192(host )-192(on )-192(which )-192(it )-192(is)]TJ --0.008 Tc -3.914 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning. )-78(If )-78(the )-78(maximum )-78(host )-78(name )-78(length )-78(is )-78(indeterminate, )-78(we )-78(use)]TJ -/TT0 1 Tf -30.21 0 Td -(HOST_NAME_MAX)Tj -/T1_0 1 Tf --31.2 -1.2 Td -[(instead. )-275(If)-275(the )-25(system )-25(doesn\325t )-25(de\336ne)]TJ -/TT0 1 Tf -16.514 0 Td -(HOST_NAME_MAX)Tj -/T1_0 1 Tf -[(,)-275(we)-275(de\336ne )-25(it )-25(ourselves.)-525(POSIX.1)]TJ --0.018 Tc -16.514 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(es )-207(the )-207(maximum )-207(host )-207(name )-207(length )-207(to )-207(be )-207(at )-207(least )-207(255 )-207(bytes, )-207(not )-207(including )-207(the)]TJ --0.856 -1.2 Td -[(terminating )-146(null, )-146(so )-146(we )-146(de\336ne)]TJ -/TT0 1 Tf -14.25 0 Td -(HOST_NAME_MAX)Tj -/T1_0 1 Tf -8.196 0 Td -[(to )-146(be )-146(256 )-146(to )-146(include )-146(the )-146(terminating)]TJ --22.446 -1.2 Td -(null.)Tj -1.8 -1.2 Td -[(The )-101(server )-101(gets )-101(the )-101(host )-101(name )-101(by )-101(calling)]TJ -/TT0 1 Tf -18.774 0 Td -(gethostname)Tj -/T1_0 1 Tf -6.951 0 Td -[(and )-101(looks )-101(up )-101(the )-101(addr)20(ess)]TJ --27.524 -1.2 Td -[(for )-236(the )-236(r)18(emote )-236(uptime )-236(service.)-736(Multiple )-236(addr)18(esses )-236(can )-236(be )-236(r)18(eturned, )-236(but )-236(we )-236(simply)]TJ -0 -1.2 TD -[(choose )-41(the )-41(\336rst )-41(one )-41(for )-41(which )-41(we )-41(can )-41(establish )-41(a )-41(passive )-41(socket )-41(endpoint )-41(\(i.e., )-41(one )-41(used)]TJ -T* -[(only to listen for connect r)18(equests\). )-250(Handling)-250(multiple addr)18(esses is left as an exer)18(cise.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-190(u)]TJ -0 Tc 2.246 0 Td -[(se )-6(the)]TJ -/TT0 1 Tf -2.801 0 Td -(initserver)Tj -/T1_0 1 Tf -6.256 0 Td -[(function )-6(fr)18(om )-6(Figur)]TJ -0.2557 Tc 8.74 0 Td -(e1)Tj -0 Tc 1.235 0 Td -[(6.12 )-6(to )-6(initialize )-6(the )-6(socket )-6(endpoint)]TJ --23.078 -1.2 Td -[(on )-12(which )-12(we )-12(will )-12(wait )-12(for )-12(connect )-12(r)17(equests )-12(to )-12(arrive.)-513(\(Actually)111(,)-262(we)-262(u)-1(se )-12(the )-12(version )-12(fr)17(om)]TJ -0 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(6.22; we\325ll see why when we discuss socket options in Section 16.6.\)\ )Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5250.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -9.9988 0 0 9.9988 93.5888 493.7407 Tm -[(Example )195(\321 )195(Alternative)-279(Connection-Oriented Ser)-10(ver)]TJ -/T1_0 1 Tf -3.6 -2.16 Td -[(Pr)18(eviously)111(,)-568(we)-568(stated )-318(that )-318(using )-318(\336le )-318(descriptors )-318(to )-318(access )-318(sockets )-318(was )-318(signi\336cant,)]TJ -T* -[(because )-238(it )-238(allowed )-238(pr)18(ograms )-238(that )-238(knew )-238(nothing )-238(about )-238(networking )-238(to )-238(be )-238(used )-238(in )-238(a)]TJ -T* -[(networked )-9(envir)18(onment. )-259(The)-260(version )-10(of )-10(the )-10(server )-10(shown )-10(in )-10(Figur)]TJ -0.2596 Tc 29.519 0 Td -(e1)Tj -0 Tc 1.239 0 Td -[(6.18 )-10(illustrates )-10(this)]TJ --30.758 -1.2 Td -[(point. )-416(Instead)-415(of )-166(r)18(eading )-166(the )-166(output )-166(of )-166(the)]TJ -/TT0 1 Tf -20.364 0 Td -(uptime)Tj -/T1_0 1 Tf -4.016 0 Td -[(command )-166(and )-166(sending )-166(it )-166(to )-166(the)]TJ --24.379 -1.2 Td -[(client, )-287(the )-287(server )-287(arranges )-287(to )-287(have )-287(the )-287(standar)]TJ -0.5369 Tc 22.081 0 Td -(do)Tj -0 Tc 1.694 0 Td -[(utput )-287(and )-287(standar)]TJ -0.5369 Tc 8.546 0 Td -(de)Tj -0 Tc 1.627 0 Td -[(rr)18(or )-287(of )-287(the)]TJ -/TT0 1 Tf --33.947 -1.2 Td -(uptime)Tj -/T1_0 1 Tf -3.85 0 Td -(command be the socket endpoint connected to the client.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4050.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 395.4278 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(#define QLEN 10)Tj -0 -2.021 TD -(#ifndef HOST_NAME_MAX)Tj -0 -1.189 TD -(#define HOST_NAME_MAX 256)Tj -T* -(#endif)Tj -0 -2.021 TD -(extern int initserver\(int, const struct sockaddr *, socklen_t, int\);)Tj -0 -2.021 TD -(void)Tj -0 -1.189 TD -(serve\(int sockfd\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-2400(clfd,)-600(status;)]TJ -T* -[(pid_t )-1200(pid;)]TJ -0 -2.021 TD -(set_cloexec\(sockfd\);)Tj -0 -1.189 TD -(for \(;;\) {)Tj -2.4 -1.189 Td -(if \(\(clfd = accept\(sockfd, NULL, NULL\)\) < 0\) {)Tj -2.4 -1.189 Td -(syslog\(LOG_ERR, "ruptimed: accept error: %s",)Tj -1.2 -1.189 Td -(strerror\(errno\)\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47208 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.5)]TJ -37.602 0 Td -[(Data )-250(T)90(ransfer)]TJ -/T1_1 1 Tf -8.231 0 Td -(615)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(err_exit\(err, "can\325t connect to %s", argv[1]\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6548.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 224.1171 638.7223 Tm -(Figure 16.16)Tj -/T1_0 1 Tf -6.195 0 Td -[(Client command to get uptime fr)18(om server)]TJ -9.9988 0 0 9.9988 129.5846 614.7252 Tm -[(This )-140(pr)18(ogram )-140(connects )-140(to )-140(a )-140(server)]TJ -0.3899 Tc 15.58 0 Td -(,r)Tj -0 Tc 1.017 0 Td -[(eads )-140(the )-140(string )-140(sent )-140(by )-140(the )-140(server)]TJ -0.3899 Tc 15.284 0 Td -(,a)Tj -0 Tc 1.14 0 Td -[(nd )-140(prints )-140(the)]TJ --33.021 -1.2 Td -[(string )-108(on )-108(the )-108(standar)]TJ -0.3577 Tc 9.482 0 Td -(do)Tj -0 Tc 1.515 0 Td -[(utput. )-358(Since)-358(we\325r)]TJ -0.3578 Tc 7.964 0 Td -(eu)Tj -0 Tc 1.44 0 Td -[(sing )-108(a)]TJ -/TT0 1 Tf -3.069 0 Td -(SOCK_STREAM)Tj -/T1_0 1 Tf -6.958 0 Td -[(socket, )-108(we )-108(can\325t )-108(be)]TJ --30.427 -1.2 Td -[(guaranteed )-53(that )-53(we )-53(will )-53(r)18(ead )-53(the )-53(entir)]TJ -0.3034 Tc 17.014 0 Td -(es)Tj -0 Tc 1.206 0 Td -[(tring )-53(in )-53(one )-53(call )-53(to)]TJ -/TT0 1 Tf -8.545 0 Td -(recv)Tj -/T1_0 1 Tf -[(,)-303(so)-303(we)-303(n)-1(eed )-53(to )-53(r)17(epeat)]TJ --26.766 -1.2 Td -[(the call until it r)18(eturns 0.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.025 0 Td -(getaddrinfo)Tj -/T1_0 1 Tf -6.951 0 Td -[(function )-101(might )-101(r)18(eturn )-101(mor)]TJ -0.3515 Tc 11.967 0 Td -(et)Tj -0 Tc 1.156 0 Td -[(han )-101(one )-101(candidate )-101(addr)18(ess )-101(for )-101(us)]TJ --23.9 -1.2 Td -[(to )-37(use )-37(if )-37(the )-37(server )-37(supports )-37(multiple )-37(network )-37(interfaces )-37(or )-37(multiple )-37(network )-37(pr)19(otocols.)]TJ --0.092 Tc 0 -1.2 TD -[(We )-283(t)]TJ -0 Tc 2.061 0 Td -[(ry )-99(each )-99(one )-99(in )-99(turn, )-99(giving )-99(up )-99(when )-99(we )-99(\336nd )-99(one )-99(that )-99(allows )-99(us )-99(to )-99(connect )-99(to )-99(the)]TJ --2.061 -1.2 Td -[(service. )-654(W)]TJ -0.6544 Tc 5.139 0 Td -(eu)Tj -0 Tc 1.736 0 Td -[(se )-404(the)]TJ -/TT0 1 Tf -3.599 0 Td -(connect_retry)Tj -/T1_0 1 Tf -8.454 0 Td -[(function )-404(fr)18(om )-404(Figur)]TJ -0.6543 Tc 9.538 0 Td -(e1)Tj -0 Tc 1.633 0 Td -[(6.1)55(1)-654(to)-654(e)-1(stablish )-404(a)]TJ --30.1 -1.2 Td -[(connection with the server)74(.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5188.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -9.9982 0 0 9.9982 93.5832 487.5112 Tm -[(Example )195(\321 )195(Connection-Oriented)-279(Ser )268(ver)]TJ -/T1_0 1 Tf -3.6 -2.16 Td -(Figur)Tj -0.2701 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.249 0 Td -[(6.17 )-20(shows )-20(the )-20(server )-20(that )-20(pr)18(ovides )-20(the)]TJ -/TT0 1 Tf -17.59 0 Td -(uptime)Tj -/T1_0 1 Tf -3.87 0 Td -[(command\325s )-20(output )-20(to )-20(the )-20(client)]TJ --25.092 -1.2 Td -[(pr)18(ogram fr)18(om Figur)]TJ -0.25 Tc 8.88 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(6.16.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4468.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 129.5689 437.1931 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -1.902 TD -[(#define BUFLEN)-1200(128)]TJ -0 -1.189 TD -(#define QLEN 10)Tj -0 -1.902 TD -(#ifndef HOST_NAME_MAX)Tj -0 -1.189 TD -(#define HOST_NAME_MAX 256)Tj -0 -1.189 TD -(#endif)Tj -0 -1.902 TD -(extern int initserver\(int, const struct sockaddr *, socklen_t, int\);)Tj -T* -(void)Tj -0 -1.189 TD -(serve\(int sockfd\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-2400(clfd;)]TJ -T* -[(FILE )-1800(*fp;)]TJ -T* -[(char )-1800(buf[BUFLEN];)]TJ -0 -1.902 TD -(set_cloexec\(sockfd\);)Tj -0 -1.189 TD -(for \(;;\) {)Tj -2.4 -1.189 Td -(if \(\(clfd = accept\(sockfd, NULL, NULL\)\) < 0\) {)Tj -2.4 -1.189 Td -(syslog\(LOG_ERR, "ruptimed: accept error: %s",)Tj -1.2 -1.189 Td -(strerror\(errno\)\);)Tj --1.2 -1.189 Td -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(set_cloexec\(clfd\);)Tj -T* -(if \(\(fp = popen\("/usr/bin/uptime", "r"\)\) == NULL\) {)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47209 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.4)]TJ -31.974 0 Td -[(Connection )-250(Establishment)]TJ -/T1_1 1 Tf -13.859 0 Td -(609)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(If )-52(no )-52(connect )-52(r)18(equests )-52(ar)]TJ -0.3019 Tc 10.958 0 Td -(ep)Tj -0 Tc 1.382 0 Td -(ending,)Tj -/TT0 1 Tf -3.653 0 Td -(accept)Tj -/T1_0 1 Tf -3.902 0 Td -[(will )-52(block )-52(until )-52(one )-52(arrives.)-551(If)]TJ -/T1_2 1 Tf -13.827 0 Td -(sockfd)Tj -/T1_0 1 Tf -2.764 0 Td -(is)Tj --38.285 -1.2 Td -[(in )-275(nonblocking )-275(mode,)]TJ -/TT0 1 Tf -10.746 0 Td -(accept)Tj -/T1_0 1 Tf -4.125 0 Td -[(will )-275(r)18(eturn)]TJ -/TT1 1 Tf -5.519 0 Td -(!)Tj -/T1_0 1 Tf -0.5249 Tc (1a)Tj -0 Tc 2.074 0 Td -[(nd )-275(set)]TJ -/TT0 1 Tf -3.472 0 Td -(errno)Tj -/T1_0 1 Tf -3.525 0 Td -[(to )-275(either)]TJ -/TT0 1 Tf -4.474 0 Td -(EAGAIN)Tj -/T1_0 1 Tf -4.125 0 Td -(or)Tj -/TT0 1 Tf --38.059 -1.2 Td -(EWOULDBLOCK)Tj -/T1_0 1 Tf -(.)Tj -7.9995 0 0 7.9995 183.5889 624.9625 Tm -(All four platforms discussed in this text de\336ne)Tj -/TT0 1 Tf -20.746 0 Td -(EAGAIN)Tj -/T1_0 1 Tf -3.85 0 Td -(to be the same as)Tj -/TT0 1 Tf -7.751 0 Td -(EWOULDBLOCK)Tj -/T1_0 1 Tf -(.)Tj -9.9994 0 0 9.9994 147.5908 602.9638 Tm -[(If )-165(a )-165(server )-165(calls)]TJ -/TT0 1 Tf -7.519 0 Td -(accept)Tj -/T1_0 1 Tf -4.016 0 Td -[(and )-165(no )-165(connect )-165(r)18(equest )-165(is )-165(pr)18(esent, )-165(the )-165(server )-165(will )-165(block)]TJ --13.335 -1.2 Td -[(until )-110(one )-110(arrives.)-609(Alternatively)]TJ -0.3596 Tc 14.076 0 Td -(,as)Tj -0 Tc 1.893 0 Td -[(erver )-110(can )-110(use )-110(either)]TJ -/TT0 1 Tf -9.335 0 Td -(poll)Tj -/T1_0 1 Tf -2.76 0 Td -(or)Tj -/TT0 1 Tf -1.301 0 Td -(select)Tj -/T1_0 1 Tf -3.96 0 Td -[(to )-110(wait )-110(for )-110(a)]TJ --33.324 -1.2 Td -[(connect )-205(r)18(equest )-205(to )-205(arrive.)-705(In )-205(this )-205(case, )-205(a )-205(socket )-205(with )-205(pending )-205(connect )-205(r)12(equests )-205(will)]TJ -0 -1.2 TD -[(appear to be r)18(eadable.)]TJ -/TT2 1 Tf --3.6 -3.12 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.16 Td -(Figur)Tj -0.2987 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.278 0 Td -[(6.12 )-49(shows )-49(a )-49(function )-49(we )-49(can )-49(use )-49(to )-49(allocate )-49(and )-49(initialize )-49(a )-49(socket )-49(for )-49(use )-49(by )-49(a)]TJ --3.661 -1.2 Td -[(server pr)18(ocess.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4950.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 485.4407 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(initserver\(int type, const struct sockaddr *addr, socklen_t alen,)Tj -1.2 -1.189 Td -(int qlen\))Tj --1.2 -1.189 Td -({)Tj -2.4 -1.189 Td -(int fd;)Tj -T* -(int err = 0;)Tj -0 -1.902 TD -(if \(\(fd = socket\(addr->sa_family, type, 0\)\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -(if \(bind\(fd, addr, alen\) < 0\))Tj -2.4 -1.189 Td -(goto errout;)Tj --2.4 -1.189 Td -(if \(type == SOCK_STREAM || type == SOCK_SEQPACKET\) {)Tj -2.4 -1.189 Td -(if \(listen\(fd, qlen\) < 0\))Tj -2.4 -1.189 Td -(goto errout;)Tj --4.8 -1.189 Td -(})Tj -0 -1.189 TD -(return\(fd\);)Tj --2.4 -1.902 Td -(errout:)Tj -2.4 -1.189 Td -(err = errno;)Tj -T* -(close\(fd\);)Tj -T* -(errno = err;)Tj -T* -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2153.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 218.5527 199.3021 Tm -(Figure 16.12)Tj -/T1_0 1 Tf -6.195 0 Td -(Initialize a socket endpoint for use by a server)Tj --0.092 Tc 9.9982 0 0 9.9982 147.5736 175.3064 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-114(see )-114(that )-114(TCP )-114(has )-114(some )-114(strange )-114(r)6(ules )-114(r)18(egar)18(ding )-114(addr)18(ess )-114(r)18(euse )-114(that )-114(make )-114(this)]TJ --3.187 -1.2 Td -[(example )-77(inadequate.)-577(Figur)]TJ -0.3268 Tc 12.217 0 Td -(e1)Tj -0 Tc 1.306 0 Td -[(6.22 )-77(shows )-77(a )-77(version )-77(of )-77(this )-77(function )-77(that )-77(bypasses )-77(these)]TJ --0.008 Tc -13.522 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -(les, solving the major drawback with this version.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1513.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47210 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -34.394 0 Td -[(Chapter )-250(5)-750(Solutions)]TJ -/T1_1 1 Tf -11.476 0 Td -[(91)37(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.018 Tc 9.9994 0 0 9.9994 155.6107 668.9599 Tm -(re)Tj -0 Tc 0.856 0 Td -(stor)Tj -0.3832 Tc 1.673 0 Td -(et)Tj -0 Tc 1.188 0 Td -[(he )-133(modi\336cation )-133(time )-133(fr)17(om )-133(the )-133(ar)18(chive; )-133(instead, )-133(the )-133(modi\336cation )-133(time )-133(is)]TJ --3.717 -1.2 Td -[(set )-35(to )-35(the )-35(time )-35(of )-35(extraction.)-535(In )-35(all )-35(cases )-35(with)]TJ -/TT0 1 Tf -20.405 0 Td -(tar)Tj -/T1_0 1 Tf -0.2848 Tc (,t)Tj -0 Tc 2.661 0 Td -[(he )-35(access )-35(time )-35(after )-35(extraction)]TJ --23.066 -1.2 Td -(will be the time of extraction.)Tj -0 -1.8 TD -[(In )-161(contrast,)]TJ -/TT0 1 Tf -5.533 0 Td -(cpio)Tj -/T1_0 1 Tf -2.811 0 Td -[(sets )-161(the )-161(access )-161(time )-161(and )-161(the )-161(modi\336cation )-161(time )-161(to )-161(the )-161(time )-161(of)]TJ --8.344 -1.2 Td -[(extraction. )-348(By)-349(default, )-98(it )-98(doesn\325t )-98(try )-98(to )-98(set )-98(the )-98(modi\336cation )-98(time )-98(to )-98(the )-98(value )-98(on)]TJ -0 -1.2 TD -[(the )-264(ar)18(chive. )-514(The)]TJ -/TT0 1 Tf -8.342 0 Td -(-m)Tj -/T1_0 1 Tf -1.714 0 Td -[(option )-264(to)]TJ -/TT0 1 Tf -4.793 0 Td -(cpio)Tj -/T1_0 1 Tf -2.914 0 Td -[(has )-264(it )-264(set )-264(both )-264(the )-264(access )-264(time )-264(and )-264(the)]TJ --17.763 -1.2 Td -[(modi\336cation time to the value that was ar)18(chived.)]TJ -/T1_1 1 Tf --2.602 -1.84 Td -(4.16)Tj -/T1_0 1 Tf -2.602 0 Td -[(The )-123(kernel )-123(has )-123(no )-123(inher)18(ent )-123(limit )-123(on )-123(the )-123(depth )-123(of )-123(a )-123(dir)18(ectory )-123(tr)22(ee. )-373(Nevertheless,)]TJ -T* -[(many )-180(commands )-180(will )-180(fail )-180(on )-180(pathnames )-180(that )-180(exceed)]TJ -/TT0 1 Tf -24.705 0 Td -(PATH_MAX)Tj -/T1_0 1 Tf -0.6803 Tc (.T)Tj -0 Tc 6.343 0 Td -[(he )-180(pr)18(ogram)]TJ --31.049 -1.2 Td -[(shown )-131(in )-131(Figur)]TJ -0.3811 Tc 6.986 0 Td -(eC)Tj -0 Tc 1.569 0 Td -[(.3 )-131(cr)18(eates )-131(a )-131(dir)18(ectory )-131(tr)18(ee )-131(that )-131(is )-131(1,000 )-131(levels )-131(deep, )-131(with )-131(each)]TJ --8.555 -1.2 Td -[(level )-300(being )-300(a )-300(45-character )-300(name.)]TJ --0.092 Tc 16.156 0 Td -[(We )-484(a)]TJ --0.018 Tc 2.437 0 Td -[(re )-336(a)]TJ -0 Tc 1.906 0 Td -[(ble )-300(to )-300(cr)18(eate )-300(this )-300(str)10(uctur)18(e)-550(on)-550(a)1(ll)]TJ --20.498 -1.2 Td -[(platforms; )-116(however)74(,)-366(we)-366(cannot )-116(obtain )-116(the )-116(absolute )-116(pathname )-116(of )-116(the )-116(dir)18(ectory )-116(at)]TJ --0 -1.2 Td -[(the )-168(1,000th )-168(level )-168(using)]TJ -/TT0 1 Tf -10.78 0 Td -(getcwd)Tj -/T1_0 1 Tf -4.018 0 Td -[(on )-168(all )-168(platforms.)-669(On )-168(Mac )-168(OS )-168(X )-168(10.6.8, )-168(we )-168(can)]TJ --14.798 -1.2 Td -[(never )-97(get)]TJ -/TT0 1 Tf -4.554 0 Td -(getcwd)Tj -/T1_0 1 Tf -3.947 0 Td -[(to )-96(succeed )-96(while )-96(in )-96(the )-96(dir)18(ectory )-96(at )-96(the )-96(end )-96(of )-96(this )-96(long )-96(path.)]TJ --8.501 -1.2 Td -[(The )-154(pr)18(ogram )-154(is )-154(able )-154(to )-154(r)18(etrieve )-154(the )-154(pathname )-154(on )-154(Fr)20(eeBSD )-154(8.0, )-154(Linux )-154(3.2.0, )-154(and)]TJ -T* -[(Solaris )-47(10, )-47(but )-47(we )-47(have )-47(to )-47(call)]TJ -/TT0 1 Tf -13.623 0 Td -(realloc)Tj -/T1_0 1 Tf -4.497 0 Td -[(numer)18(ous )-47(times )-47(to )-47(obtain )-47(a )-47(buf)18(fer )-47(that )-47(is)]TJ --18.12 -1.2 Td -[(lar)18(ge enough.)-500(Running this pr)18(ogram on Linux 3.2.0 gives us)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 173.6083 447.8731 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(getcwd failed, size = 4096: Numerical result out of range)Tj -0 -1.189 TD -(getcwd failed, size = 4196: Numerical result out of range)Tj -T* -(...)Tj -/T1_2 1 Tf -16 0 Td -(418 mor)Tj -0.25 Tc 3.343 0 Td -(el)Tj -0 Tc 0.917 0 Td -(ines)Tj -/TT0 1 Tf --20.26 -1.189 Td -(getcwd failed, size = 45896: Numerical result out of range)Tj -0 -1.189 TD -(getcwd failed, size = 45996: Numerical result out of range)Tj -0 -1.189 TD -(length = 46004)Tj -/T1_2 1 Tf -16 -1.189 Td -[(the 46,004-byte pathname is printed her)18(e)]TJ -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 155.6096 354.9787 Tm -[(We )-250(a)]TJ --0.018 Tc 2.203 0 Td -[(re )-102(n)]TJ -0 Tc 1.754 0 Td -[(ot )-66(able )-66(to )-66(ar)18(chive )-66(this )-66(dir)18(ectory)]TJ -0.3162 Tc 13.923 0 Td -(,h)Tj -0 Tc 1.148 0 Td -(owever)Tj -0.3162 Tc 3.224 0 Td -(,u)Tj -0 Tc 1.169 0 Td -(sing)Tj -/TT0 1 Tf -2.169 0 Td -(cpio)Tj -/T1_0 1 Tf -0.5662 Tc (.I)Tj -0.3162 Tc 3.553 0 Td -(tc)Tj -0 Tc 1.086 0 Td -[(omplains )-66(that)]TJ --30.23 -1.2 Td -[(many )-285(of )-285(the )-285(\336lenames )-285(ar)]TJ -0.5351 Tc 12.047 0 Td -(et)Tj -0 Tc 1.34 0 Td -[(oo )-285(long.)-785(In )-285(fact,)]TJ -/TT0 1 Tf -8.479 0 Td -(cpio)Tj -/T1_0 1 Tf -2.935 0 Td -[(is )-285(unable )-285(to )-285(ar)18(chive )-285(this)]TJ --24.802 -1.2 Td -[(dir)18(ectory )-133(on )-133(all )-133(four )-133(platforms.)-633(In )-133(contrast, )-133(we )-133(can )-133(ar)20(chive )-133(this )-133(dir)18(ectory )-133(using)]TJ -/TT0 1 Tf --0 -1.2 Td -(tar)Tj -/T1_0 1 Tf -2.06 0 Td -[(on )-10(Fr)18(eeBSD )-10(8.0, )-10(Linux )-10(3.2.0, )-10(and )-10(Mac )-10(OS )-10(X )-10(10.6.8.)-510(However)74(,)-260(we)-260(a)]TJ --0.018 Tc [(re )-46(u)]TJ -0 Tc 30.801 0 Td -[(nable )-10(to)]TJ --32.861 -1.2 Td -[(extract the dir)18(ectory hierar)18(chy fr)18(om the ar)18(chive on Linux 3.2.0.)]TJ -/T1_1 1 Tf --2.602 -1.84 Td -(4.17)Tj -/T1_0 1 Tf -2.602 0 Td -(The)Tj -/TT0 1 Tf -2.096 0 Td -(/dev)Tj -/T1_0 1 Tf -2.821 0 Td -[(dir)18(ectory )-172(has )-172(write )-172(permissions )-172(turned )-172(of)20(f)-422(to)-422(p)]TJ --0.018 Tc 21.81 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(vent )-172(a )-172(normal )-172(user)]TJ --27.583 -1.2 Td -[(fr)18(om )-312(r)18(emoving )-312(the )-312(\336lenames )-312(in )-312(the )-312(dir)20(ectory)]TJ -0.8115 Tc 21.592 0 Td -(.T)Tj -0 Tc 1.674 0 Td -[(his )-311(means )-311(that )-311(the)]TJ -/TT0 1 Tf -9.532 0 Td -(unlink)Tj -/T1_0 1 Tf --32.798 -1.2 Td -(attempt fails.)Tj -/TT2 1 Tf --6.202 -2.88 Td -[(Chapter )-278(5)]TJ -/T1_1 1 Tf -3.6 -2.56 Td -(5.2)Tj -/T1_0 1 Tf -2.602 0 Td -(The)Tj -/TT0 1 Tf -1.964 0 Td -(fgets)Tj -/T1_0 1 Tf -3.29 0 Td -[(function )-40(r)18(eads )-40(up )-40(thr)18(ough )-40(and )-40(including )-40(the )-40(next )-40(newline)]TJ -/T1_2 1 Tf -26.252 0 Td -(or)Tj -/T1_0 1 Tf -1.123 0 Td -[(until )-40(the)]TJ --32.628 -1.2 Td -[(buf)18(fer )-209(is )-209(full)]TJ -6.288 0.04 Td -(\()Tj -0.333 -0.04 Td -[(leaving )-209(r)18(oom, )-209(of )-209(course, )-209(for )-209(the )-209(terminating )-209(null)]TJ -22.737 0.04 Td -(\))Tj -0.7089 Tc 0.333 -0.04 Td -(.A)Tj -0 Tc 1.737 0 Td -(lso,)Tj -/TT0 1 Tf -1.97 0 Td -(fputs)Tj -/T1_0 1 Tf --33.398 -1.2 Td -[(writes )-103(everything )-103(in )-103(the )-103(buf)18(fer )-103(until )-103(it )-103(hits )-103(a )-103(null )-103(byte; )-103(it )-103(doesn\325t )-103(car)]TJ -0.3531 Tc 31.036 0 Td -(ew)Tj -0 Tc 1.666 0 Td -[(hether )-103(a)]TJ --32.702 -1.2 Td -[(newline )-144(is )-144(in )-144(the )-144(buf)16(fer)]TJ -0.6444 Tc 10.695 0 Td -(.S)Tj -0 Tc 1.419 0 Td -[(o, )-144(if)]TJ -/TT0 1 Tf -2.209 0 Td -(MAXLINE)Tj -/T1_0 1 Tf -4.594 0 Td -[(is )-144(too )-144(small, )-144(both )-144(functions )-144(still )-144(work;)]TJ --18.918 -1.2 Td -(they\325r)Tj -0.25 Tc 2.598 0 Td -(ej)Tj -0 Tc 0.963 0 Td -(ust called mor)Tj -0.25 Tc 6.275 0 Td -(eo)Tj -0 Tc 1.275 0 Td -[(ften than they would be if the buf)18(fer wer)]TJ -0.25 Tc 17.949 0 Td -(el)Tj -0 Tc 1.02 0 Td -[(ar)18(ger)74(.)]TJ --30.08 -1.8 Td -[(If )-19(either )-19(of )-19(these )-19(functions )-19(r)18(emoved )-19(or )-19(added )-19(the )-19(newline )-19(\(as)]TJ -/TT0 1 Tf -27.357 0 Td -(gets)Tj -/T1_0 1 Tf -2.669 0 Td -(and)Tj -/TT0 1 Tf -1.962 0 Td -(puts)Tj -/T1_0 1 Tf -2.669 0 Td -(do\),)Tj --34.658 -1.2 Td -(we would have to ensur)Tj -0.25 Tc 10.661 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(hat our buf)18(fer was big enough for the lar)18(gest line.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47211 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(142)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -8.9995 0 0 8.9995 129.5922 669.9598 Tm -(4.15)Tj -/T1_1 1 Tf -2.602 0 Td -[(Examine )-451(the )-451(ar)18(chive )-451(formats )-451(used )-451(by )-451(the)]TJ -/TT0 1 Tf -21.417 0 Td -(cpio)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -1.035 -0.04 Td -(and)Tj -/TT0 1 Tf -2.395 0 Td -(tar)Tj -/T1_1 1 Tf -1.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -1.035 -0.04 Td -[(commands. )-702(\(These)]TJ --31.747 -1.222 Td -[(descriptions )-61(ar)]TJ -0.3112 Tc 6.602 0 Td -(eu)Tj -0 Tc 1.393 0 Td -[(sually )-61(found )-61(in )-61(Section )-61(5 )-61(of )-61(the)]TJ -/T1_2 1 Tf -14.35 0 Td -[(UNIX )-61(Pr)18(ogrammer )213(\325)]TJ -0.3111 Tc 8.275 0 Td -(sM)Tj -0 Tc 1.644 0 Td -(anual)Tj -/T1_1 1 Tf -[(.\) )-311(How)-311(many)]TJ --32.265 -1.222 Td -[(of )-27(the )-27(thr)18(ee )-27(possible )-27(time )-27(values )-27(ar)]TJ -0.2769 Tc 15.497 0 Td -(es)Tj -0 Tc 1.18 0 Td -[(aved )-27(for )-27(each )-27(\336le?)-527(When )-27(a )-27(\336le )-27(is )-27(r)19(estor)18(ed, )-27(what )-27(value)]TJ --16.677 -1.222 Td -(do you think the access time is set to, and why?)Tj -/T1_0 1 Tf --2.602 -1.667 Td -(4.16)Tj -/T1_1 1 Tf -2.602 0 Td -[(Does )-65(the )-65(UNIX )-65(System )-65(have )-65(a )-65(fundamental )-65(limitation )-65(on )-65(the )-65(depth )-65(of )-65(a )-65(dir)18(ectory )-65(tr)12(ee? )-315(T)92(o)]TJ -0 -1.222 Td -[(\336nd )-117(out, )-117(write )-117(a )-117(pr)18(ogram )-117(that )-117(cr)18(eates )-117(a )-117(dir)18(ectory )-117(and )-117(then )-117(changes )-117(to )-117(that )-117(dir)24(ectory)111(,)-367(in)-367(a)]TJ --0 -1.222 Td -[(loop. )-329(Make)-329(certain )-79(that )-79(the )-79(length )-79(of )-79(the )-79(absolute )-79(pathname )-79(of )-79(the )-79(leaf )-79(of )-79(this )-79(dir)21(ectory )-79(is)]TJ -0 -1.222 Td -[(gr)18(eater )-102(than )-102(your )-102(system\325s)]TJ -/TT0 1 Tf -12.405 0 Td -(PATH_MAX)Tj -/T1_1 1 Tf -5.152 0 Td -[(limit. )-352(Can)-353(you )-102(call)]TJ -/TT0 1 Tf -9.014 0 Td -(getcwd)Tj -/T1_1 1 Tf -3.952 0 Td -[(to )-102(fetch )-102(the )-102(dir)17(ectory\325s)]TJ --30.524 -1.222 Td -[(pathname? )-347(How)-347(do )-97(the )-97(standar)]TJ -0.3468 Tc 14.61 0 Td -(dU)Tj -0 Tc 1.736 0 Td -[(NIX )-97(System )-97(tools )-97(deal )-97(with )-97(this )-97(long )-97(pathname?)-595(Can)]TJ --16.346 -1.222 Td -[(you ar)18(chive the dir)18(ectory using either)]TJ -/TT0 1 Tf -16.863 0 Td -(tar)Tj -/T1_1 1 Tf -2.05 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(cpio)Tj -/T1_1 1 Tf -(?)Tj -/T1_0 1 Tf --22.706 -1.789 Td -(4.17)Tj -/T1_1 1 Tf -2.602 0 Td -[(In )-75(Section )-75(3.16, )-75(we )-75(described )-75(the)]TJ -/TT0 1 Tf -15.047 0 Td -(/dev/fd)Tj -/T1_1 1 Tf -4.525 0 Td -[(featur)18(e. )-325(For)-324(any )-75(user )-75(to )-75(be )-75(able )-75(to )-75(access )-75(these)]TJ --19.572 -1.222 Td -[(\336les, )-215(their )-215(permissions )-215(must )-215(be)]TJ -/TT0 1 Tf -15.057 0 Td -(rw-rw-rw-)Tj -/T1_1 1 Tf -0.7154 Tc (.S)Tj -0 Tc 6.89 0 Td -[(ome )-215(pr)18(ograms )-215(that )-215(cr)18(eate )-215(an )-215(output )-215(\336le)]TJ --21.948 -1.222 Td -[(delete the \336le \336rst, in case it alr)18(eady exists, ignoring the r)18(eturn code:)]TJ -/TT0 1 Tf -2 -1.8 Td -(unlink\(path\);)Tj -0 -1.189 TD -(if \(\(fd = creat\(path, FILE_MODE\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\(...\);)Tj -/T1_1 1 Tf --4.4 -1.833 Td -(What happens if)Tj -/TT0 1 Tf -7.551 0 Td -(path)Tj -/T1_1 1 Tf -2.65 0 Td -(is)Tj -/TT0 1 Tf -0.965 0 Td -(/dev/fd/1)Tj -/T1_1 1 Tf -(?)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47212 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Chapter )-250(4)]TJ -39.788 0 Td -[(Exer)18(cises)]TJ -/T1_1 1 Tf -6.045 0 Td -(141)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(system, )-299(and )-299(we\325ve )-299(seen )-299(how )-299(to )-299(navigate )-299(the )-299(\336le )-299(system )-299(namespace.)]TJ -0.5492 Tc 33.555 0 Td -(At)Tj -0 Tc 1.653 0 Td -[(hor)18(ough)]TJ --35.208 -1.2 Td -[(understanding )-175(of )-175(all )-175(the )-175(pr)17(operties )-175(of )-175(\336les )-175(and )-175(dir)18(ectories )-175(and )-175(all )-175(the )-175(functions )-175(that)]TJ -0 -1.2 TD -[(operate on them is essential to UNIX pr)18(ogramming.)]TJ -/TT0 1 Tf -11.9993 0 0 11.9993 129.5922 590.9645 Tm -[(Ex)10(er)20(cises)]TJ -/T1_1 1 Tf -8.9995 0 0 8.9995 129.5922 566.666 Tm -(4.1)Tj -/T1_0 1 Tf -2.602 0 Td -[(Modify )-7(the )-7(pr)18(ogram )-7(in )-7(Figur)]TJ -0.2574 Tc 12.814 0 Td -(e4)Tj -0 Tc 1.236 0 Td -[(.3 )-7(to )-7(use)]TJ -/TT1 1 Tf -3.9 0 Td -(stat)Tj -/T1_0 1 Tf -2.657 0 Td -[(instead )-7(of)]TJ -/TT1 1 Tf -4.607 0 Td -(lstat)Tj -/T1_0 1 Tf -0.5074 Tc (.W)Tj -0 Tc 4.757 0 Td -[(hat )-7(changes )-7(if )-7(one )-7(of )-7(the)]TJ --29.972 -1.222 Td -(command)Tj -4.449 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line ar)18(guments is a symbolic link?)]TJ -/T1_1 1 Tf --7.384 -1.789 Td -(4.2)Tj -/T1_0 1 Tf -2.602 0 Td -[(What )-95(happens )-95(if )-95(the )-95(\336le )-95(mode )-95(cr)16(eation )-95(mask )-95(is )-95(set )-95(to )-95(777 )-95(\(octal\)?)]TJ --0.111 Tc 30.263 0 Td -(Ve)Tj -0 Tc 1.09 0 Td -[(rify )-95(the )-95(r)18(esults )-95(using)]TJ --31.353 -1.222 Td -(your shell\325s)Tj -/TT1 1 Tf -5.369 0 Td -(umask)Tj -/T1_0 1 Tf -3.25 0 Td -(command.)Tj -/T1_1 1 Tf --11.221 -1.789 Td -(4.3)Tj -/T1_0 1 Tf --0.111 Tc 2.602 0 Td -(Ve)Tj -0 Tc 1.09 0 Td -[(rify )-123(that )-123(turning )-123(of)]TJ -0.3734 Tc 8.625 0 Td -(fu)Tj -0 Tc 1.309 0 Td -[(ser)18(-r)18(ead )-123(permission )-123(for )-123(a )-123(\336le )-123(that )-123(you )-123(own )-123(denies )-123(your )-123(access )-123(to)]TJ --11.025 -1.222 Td -(the \336le.)Tj -/T1_1 1 Tf --2.602 -1.789 Td -(4.4)Tj -/T1_0 1 Tf -2.602 0 Td -[(Run the pr)18(ogram in Figur)]TJ -0.25 Tc 11.354 0 Td -(e4)Tj -0 Tc 1.229 0 Td -(.9)Tj -/T1_2 1 Tf -1 0 Td -(after)Tj -/T1_0 1 Tf -2.083 0 Td -[(cr)18(eating the \336les)]TJ -/TT1 1 Tf -7.491 0 Td -(foo)Tj -/T1_0 1 Tf -2.05 0 Td -(and)Tj -/TT1 1 Tf -1.943 0 Td -(bar)Tj -/T1_0 1 Tf -0.5 Tc (.W)Tj -0 Tc 3.55 0 Td -(hat happens?)Tj -/T1_1 1 Tf --33.302 -1.789 Td -(4.5)Tj -/T1_0 1 Tf -2.602 0 Td -[(In )-78(Section )-78(4.12, )-78(we )-78(said )-78(that )-78(a )-78(\336le )-78(size )-78(of )-78(0 )-78(is )-78(valid )-78(for )-78(a )-78(r)18(egular )-78(\336le.)]TJ --0.092 Tc 31.326 0 Td -[(We )-262(a)]TJ -0 Tc 2.215 0 Td -[(lso )-78(said )-78(that )-78(the)]TJ -/TT1 1 Tf --33.541 -1.222 Td -(st_size)Tj -/T1_0 1 Tf -4.524 0 Td -[(\336eld )-74(is )-74(de\336ned )-74(for )-74(dir)18(ectories )-74(and )-74(symbolic )-74(links.)-574(Should )-74(we )-74(ever )-74(see )-74(a )-74(\336le )-74(size)]TJ --4.524 -1.222 Td -[(of 0 for a dir)18(ectory or a symbolic link?)]TJ -/T1_1 1 Tf --2.602 -1.789 Td -(4.6)Tj -/T1_0 1 Tf --0.074 Tc 2.602 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-28(a )-28(utility )-28(like)]TJ -/TT1 1 Tf -7.008 0 Td -(cp)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.611 -0.04 Td -[(that )-28(copies )-28(a )-28(\336le )-28(containing )-28(holes, )-28(without )-28(writing )-28(the )-28(bytes )-28(of )-28(0 )-28(to)]TJ --10.973 -1.222 Td -(the output \336le.)Tj -/T1_1 1 Tf --2.602 -1.789 Td -(4.7)Tj -/T1_0 1 Tf -2.602 0 Td -[(Note )-369(in )-369(the )-369(output )-369(fr)19(om )-369(the)]TJ -/TT1 1 Tf -14.685 0 Td -(ls)Tj -/T1_0 1 Tf -1.819 0 Td -[(command )-369(in )-369(Section )-369(4.12 )-369(that )-369(the )-369(\336les)]TJ -/TT1 1 Tf -19.516 0 Td -(core)Tj -/T1_0 1 Tf -3.019 0 Td -(and)Tj -/TT1 1 Tf --39.038 -1.222 Td -(core.copy)Tj -/T1_0 1 Tf -5.744 0 Td -[(have )-94(dif)18(fer)18(ent )-94(access )-94(permissions.)-595(If )-94(the)]TJ -/TT1 1 Tf -18.597 0 Td -(umask)Tj -/T1_0 1 Tf -3.344 0 Td -[(value )-94(didn\325t )-94(change )-94(between)]TJ --27.686 -1.222 Td -[(the cr)18(eation of the two \336les, explain how the dif)18(fer)18(ence could have occurr)18(ed.)]TJ -/T1_1 1 Tf --2.602 -1.789 Td -(4.8)Tj -/T1_0 1 Tf -2.602 0 Td -[(When )-32(r)8(unning )-32(the )-32(pr)18(ogram )-32(in )-32(Figur)]TJ -0.2823 Tc 16.139 0 Td -(e4)Tj -0 Tc 1.261 0 Td -[(.16, )-32(we )-32(check )-32(the )-32(available )-32(disk )-32(space )-32(with )-32(the)]TJ -/TT1 1 Tf -20.965 0 Td -(df)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj --40.398 -1.262 Td -[(command. )-250(Why)-250(didn\325t we use the)]TJ -/TT1 1 Tf -15.492 0 Td -(du)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(command?)Tj -/T1_1 1 Tf --20.71 -1.789 Td -(4.9)Tj -/T1_0 1 Tf -2.602 0 Td -[(In )-83(Figur)]TJ -0.333 Tc 3.635 0 Td -(e4)Tj -0 Tc 1.312 0 Td -[(.20, )-83(we )-83(show )-83(the)]TJ -/TT1 1 Tf -7.918 0 Td -(unlink)Tj -/T1_0 1 Tf -3.933 0 Td -[(function )-83(as )-83(modifying )-83(the )-83(changed-status )-83(time )-83(of )-83(the)]TJ --16.798 -1.222 Td -[(\336le itself.)-500(How can this happen?)]TJ -/T1_1 1 Tf --2.602 -1.789 Td -(4.10)Tj -/T1_0 1 Tf -2.602 0 Td -[(In )-103(Section )-103(4.22, )-103(how )-103(does )-103(the )-103(system\325s )-103(limit )-103(on )-103(the )-103(number )-103(of )-103(open )-103(\336les )-103(af)12(fect )-103(the)]TJ -/TT1 1 Tf -37.732 0 Td -(myftw)Tj -/T1_0 1 Tf --37.732 -1.222 Td -(function?)Tj -/T1_1 1 Tf --2.602 -1.789 Td -[(4.1)37(1)]TJ -/T1_0 1 Tf -2.602 0 Td -[(In )-69(Section )-69(4.22, )-69(our )-69(version )-69(of)]TJ -/TT1 1 Tf -13.728 0 Td -(ftw)Tj -/T1_0 1 Tf -2.119 0 Td -[(never )-69(changes )-69(its )-69(dir)19(ectory)]TJ -0.5686 Tc 11.978 0 Td -(.M)Tj -0 Tc 1.765 0 Td -[(odify )-69(this )-69(r)18(outine )-69(so )-69(that)]TJ --29.589 -1.222 Td -[(each )-95(time )-95(it )-95(encounters )-95(a )-95(dir)16(ectory)111(,)-345(it)-345(u)-1(ses )-95(the)]TJ -/TT1 1 Tf -21.168 0 Td -(chdir)Tj -/T1_0 1 Tf -3.345 0 Td -[(function )-95(to )-95(change )-95(to )-95(that )-95(dir)16(ectory)111(,)]TJ --24.513 -1.222 Td -[(allowing )-65(it )-65(to )-65(use )-65(the )-65(\336lename )-65(and )-65(not )-65(the )-65(pathname )-65(for )-65(each )-65(call )-65(to)]TJ -/TT1 1 Tf -31.172 0 Td -(lstat)Tj -/T1_0 1 Tf -0.5656 Tc (.W)Tj -0 Tc 4.816 0 Td -[(hen )-66(all )-66(the)]TJ --35.988 -1.222 Td -[(entries )-42(in )-42(a )-42(dir)18(ectory )-42(have )-42(been )-42(pr)20(ocessed, )-42(execute)]TJ -/TT1 1 Tf -22.887 0 Td -(chdir\(".."\))Tj -/T1_0 1 Tf -0.5416 Tc (.C)Tj -0 Tc 8.101 0 Td -(ompar)Tj -0.2916 Tc 2.907 0 Td -(et)Tj -0 Tc 1.097 0 Td -[(he )-42(time )-42(used)]TJ --34.991 -1.222 Td -(by this version and the version in the text.)Tj -/T1_1 1 Tf --2.602 -1.789 Td -(4.12)Tj -/T1_0 1 Tf -2.602 0 Td -[(Each )-156(pr)18(ocess )-156(also )-156(has )-156(a )-156(r)18(oot )-156(dir)18(ectory )-156(that )-156(is )-156(used )-156(for )-156(r)18(esolution )-156(of )-156(absolute )-156(pathnames.)]TJ -0 -1.222 TD -[(This )-61(r)18(oot )-61(dir)18(ectory )-61(can )-61(be )-61(changed )-61(with )-61(the)]TJ -/TT1 1 Tf -19.947 0 Td -(chroot)Tj -/T1_0 1 Tf -3.911 0 Td -[(function. )-311(Look)-310(up )-61(the )-61(description )-61(for)]TJ --23.858 -1.222 Td -[(this function in your manuals.)-500(When might this function be useful?)]TJ -/T1_1 1 Tf --2.602 -1.789 Td -(4.13)Tj -/T1_0 1 Tf -2.602 0 Td -(How can you set only one of the two time values with the)Tj -/TT1 1 Tf -25.737 0 Td -(utimes)Tj -/T1_0 1 Tf -3.85 0 Td -(function?)Tj -/T1_1 1 Tf --32.189 -1.789 Td -(4.14)Tj -/T1_0 1 Tf -2.602 0 Td -[(Some )-177(versions )-177(of )-177(the)]TJ -/TT1 1 Tf -10.112 0 Td -(finger)Tj -/T1_0 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.76 -0.04 Td -[(command )-177(output )-177(\324)37(\324New )-177(mail )-177(r)19(eceived )-177(...\325)]TJ -0.4268 Tc 18.931 0 Td -(\325a)Tj -0 Tc 1.205 0 Td -[(nd )-177(\324)37(\324unr)18(ead)]TJ --35.441 -1.222 Td -[(since )-27(...\325)]TJ -0.5264 Tc 3.488 0 Td -(\325w)Tj -0 Tc 1.638 0 Td -(her)Tj -0.2764 Tc 1.438 0 Td -(e.)Tj -0 Tc 1.005 0 Td -[(.. )-26(ar)]TJ -0.2764 Tc 1.653 0 Td -(et)Tj -0 Tc 1.081 0 Td -[(he )-26(corr)18(esponding )-26(times )-26(and )-26(dates.)-526(How )-26(can )-26(the )-26(pr)18(ogram )-26(determine)]TJ --10.304 -1.222 Td -(these two times and dates?)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47213 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(136)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(If we compile this pr)18(ogram, call the executable)]TJ -/TT0 1 Tf -20.832 0 Td -(mycd)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 3.4 0 Td -[(nd r)8(un it, we get the following:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 657.0606 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(pwd)Tj -/TT0 1 Tf --1.2 -1.189 Td -(/usr/lib)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(mycd)Tj -/TT0 1 Tf --1.2 -1.189 Td -(chdir to /tmp succeeded)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(pwd)Tj -/TT0 1 Tf --1.2 -1.189 Td -(/usr/lib)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 590.3646 Tm -[(The )-216(curr)18(ent )-216(working )-216(dir)18(ectory )-216(for )-216(the )-216(shell )-216(that )-216(executed )-216(the)]TJ -/TT0 1 Tf -29.111 0 Td -(mycd)Tj -/T1_1 1 Tf -2.866 0 Td -[(pr)18(ogram )-216(didn\325t)]TJ --31.977 -1.2 Td -[(change. )-279(This)-278(is )-29(a )-29(side )-29(ef)19(fect )-29(of )-29(the )-29(way )-29(that )-29(the )-29(shell )-29(executes )-29(pr)20(ograms. )-279(Each)-278(pr)18(ogram)]TJ -0 -1.2 TD -[(is )-85(r)8(un )-85(in )-85(a )-85(separate )-85(pr)18(ocess, )-85(so )-85(the )-85(curr)18(ent )-85(working )-85(dir)19(ectory )-85(of )-85(the )-85(shell )-85(is )-85(unaf)19(fected)]TJ -T* -[(by )-169(the )-169(call )-169(to)]TJ -/TT0 1 Tf -6.57 0 Td -(chdir)Tj -/T1_1 1 Tf -3.419 0 Td -[(in )-169(the )-169(pr)18(ogram. )-419(For)-419(this )-169(r)18(eason, )-169(the)]TJ -/TT0 1 Tf -17.217 0 Td -(chdir)Tj -/T1_1 1 Tf -3.419 0 Td -[(function )-169(has )-169(to )-169(be)]TJ --30.625 -1.2 Td -[(called dir)18(ectly fr)18(om the shell, so the)]TJ -/TT0 1 Tf -15.941 0 Td -(cd)Tj -/T1_1 1 Tf -1.45 0 Td -(command is built into the shells.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5424.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 517.1379 Tm -[(Because )-82(the )-82(kernel )-82(must )-82(maintain )-82(knowledge )-82(of )-82(the )-82(curr)15(ent )-82(working )-82(dir)17(ectory)]TJ -0.3325 Tc 35.304 0 Td -(,w)Tj -0 Tc 1.416 0 Td -(e)Tj --38.521 -1.2 Td -[(should )-33(be )-33(able )-33(to )-33(fetch )-33(its )-33(curr)18(ent )-33(value.)-530(Unfortunately)]TJ -0.2826 Tc 24.58 0 Td -(,t)Tj -0 Tc 0.859 0 Td -[(he )-33(kernel )-33(doesn\325t )-33(maintain )-33(the)]TJ --25.438 -1.2 Td -[(full )-381(pathname )-381(of )-381(the )-381(dir)18(ectory)]TJ -0.8811 Tc 14.675 0 Td -(.I)Tj -0 Tc 1.468 0 Td -[(nstead, )-381(the )-381(kernel )-381(keeps )-381(information )-381(about )-381(the)]TJ --16.143 -1.2 Td -[(dir)18(ectory)]TJ -0.25 Tc 3.914 0 Td -(,s)Tj -0 Tc 0.924 0 Td -[(uch as a pointer to the dir)18(ectory\325s v-node.)]TJ -7.999 0 0 7.999 183.578 463.5444 Tm -[(The )-18(Linux )-18(kernel )-18(can )-18(determine )-18(the )-18(full )-18(pathname.)-518(Its )-18(components )-18(ar)]TJ -0.2683 Tc 31.027 0 Td -(ed)Tj -0 Tc 1.358 0 Td -[(istributed )-18(thr)18(oughout)]TJ --32.386 -1.25 Td -[(the )-108(mount )-108(table )-108(and )-108(the )-108(dcache )-108(table, )-108(and )-108(ar)]TJ -0.3585 Tc 20.452 0 Td -(er)Tj -0 Tc 1.214 0 Td -[(eassembled, )-108(for )-108(example, )-108(when )-108(you )-108(r)18(ead )-108(the)]TJ -/TT0 1 Tf --21.666 -1.25 Td -(/proc/self/cwd)Tj -/T1_1 1 Tf -8.65 0 Td -(symbolic link.)Tj -9.9988 0 0 9.9988 147.5823 425.5489 Tm -[(What )-124(we )-124(need )-124(is )-124(a )-124(function )-124(that )-124(starts )-124(at )-124(the )-124(curr)21(ent )-124(working )-124(dir)18(ectory )-124(\(dot\) )-124(and)]TJ --1.8 -1.2 Td -[(works )-65(its )-65(way )-65(up )-65(the )-65(dir)18(ectory )-65(hierar)17(chy)]TJ -0.3152 Tc 18.288 0 Td -(,u)Tj -0 Tc 1.168 0 Td -[(sing )-65(dot-dot )-65(to )-65(move )-65(up )-65(one )-65(level.)-565(At )-65(each)]TJ --19.456 -1.2 Td -[(level, )-34(the )-34(function )-34(r)18(eads )-34(the )-34(dir)19(ectory )-34(entries )-34(until )-34(it )-34(\336nds )-34(the )-34(name )-34(that )-34(corr)18(esponds )-34(to)]TJ -T* -[(the )-142(i-node )-142(of )-142(the )-142(dir)18(ectory )-142(that )-142(it )-142(just )-142(came )-142(fr)14(om. )-392(Repeating)-393(this )-142(pr)18(ocedur)]TJ -0.3925 Tc 34.256 0 Td -(eu)Tj -0 Tc 1.474 0 Td -[(ntil )-142(the)]TJ --0.018 Tc -35.731 -1.2 Td -(ro)Tj -0 Tc 0.923 0 Td -[(ot )-387(is )-387(encounter)18(ed )-387(yields )-387(the )-387(entir)]TJ -0.6365 Tc 16.372 0 Td -(ea)Tj -0 Tc 1.616 0 Td -[(bsolute )-386(pathname )-386(of )-386(the )-386(curr)18(ent )-386(working)]TJ --18.91 -1.2 Td -[(dir)18(ectory)]TJ -0.5 Tc 3.914 0 Td -(.F)Tj -0 Tc 1.306 0 Td -(ortunately)Tj -0.25 Tc 4.493 0 Td -(,af)Tj -0 Tc 1.583 0 Td -[(unction alr)18(eady exists that does this work for us.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.583 351.2578 Tm -(#include )Tj -0 -1.783 TD -(char *getcwd\(char *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 14.497 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(size)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -6.606 -1.783 Td -(Returns:)Tj -/T1_2 1 Tf -3.977 0 Td -(buf)Tj -/T1_1 1 Tf -1.547 0 Td -(if OK,)Tj -/TT0 1 Tf -2.886 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3147.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9982 0 0 9.9982 129.5767 303.5454 Tm -[(We )-307(m)]TJ -0 Tc 2.643 0 Td -[(ust )-123(pass )-123(to )-123(this )-123(function )-123(the )-123(addr)18(ess )-123(of )-123(a )-123(buf)14(fer)74(,)]TJ -/T1_2 1 Tf -22.284 0 Td -(buf)Tj -/T1_1 1 Tf -0.3734 Tc (,a)Tj -0 Tc 2.42 0 Td -[(nd )-123(its)]TJ -/T1_2 1 Tf -2.981 0 Td -(size)Tj -/T1_1 1 Tf -1.873 0 Td -[(\(in )-123(bytes\).)-624(The)]TJ --32.202 -1.2 Td -[(buf)18(fer )-23(must )-23(be )-23(lar)18(ge )-23(enough )-23(to )-23(accommodate )-23(the )-23(absolute )-23(pathname )-23(plus )-23(a )-23(terminating)]TJ -0 -1.2 TD -[(null )-25(byte, )-25(or )-25(else )-25(an )-25(err)17(or )-25(will )-25(be )-25(r)17(eturned. )-275(\(Recall)-276(the )-25(discussion )-25(of )-25(allocating )-25(space )-25(for)]TJ -0.25 Tc -0 -1.2 Td -(am)Tj -0 Tc 1.633 0 Td -(aximum-sized pathname in Section 2.5.5.\))Tj -7.9986 0 0 7.9986 183.5675 249.955 Tm -[(Some )-59(older )-59(implementations )-59(of)]TJ -/TT0 1 Tf -14.355 0 Td -(getcwd)Tj -/T1_1 1 Tf -3.909 0 Td -[(allow )-59(the )-59(\336rst )-59(ar)18(gument)]TJ -/T1_2 1 Tf -11.142 0 Td -(buf)Tj -/T1_1 1 Tf -1.606 0 Td -[(to )-59(be)]TJ -/TT0 1 Tf -2.522 0 Td -(NULL)Tj -/T1_1 1 Tf -0.5591 Tc (.I)Tj -0.3091 Tc 3.546 0 Td -(nt)Tj -0 Tc 1.217 0 Td -[(his )-59(case,)]TJ --38.297 -1.25 Td -[(the )-165(function )-165(calls)]TJ -/TT0 1 Tf -8.288 0 Td -(malloc)Tj -/T1_1 1 Tf -4.015 0 Td -[(to )-165(allocate)]TJ -/T1_2 1 Tf -5.079 0 Td -(size)Tj -/T1_1 1 Tf -1.915 0 Td -[(number )-165(of )-165(bytes )-165(dynamically)]TJ -0.6648 Tc 13.35 0 Td -(.T)Tj -0 Tc 1.528 0 Td -[(his )-165(is )-165(not )-165(part )-165(of)]TJ --34.174 -1.25 Td -(POSIX.1 or the Single UNIX Speci\336cation and should be avoided.)Tj -/TT2 1 Tf -9.9982 0 0 9.9982 93.5838 209.9622 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -1.92 Td -[(The )-153(pr)18(ogram )-153(in )-153(Figur)]TJ -0.4034 Tc 9.998 0 Td -(e4)Tj -0 Tc 1.382 0 Td -[(.24 )-153(changes )-153(to )-153(a )-153(speci\336c )-153(dir)16(ectory )-153(and )-153(then )-153(calls)]TJ -/TT0 1 Tf -22.744 0 Td -(getcwd)Tj -/T1_1 1 Tf -4.003 0 Td -(to)Tj --38.128 -1.2 Td -[(print the working dir)18(ectory)]TJ -0.5 Tc 12.006 0 Td -(.I)Tj -0 Tc 1.087 0 Td -[(f)-250(we)-250(r)8(un the pr)18(ogram, we get)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.5738 165.6702 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(cwd = /var/spool/uucppublic)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l /usr/spool)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(lrwxrwxrwx )-600(1)-600(root )-600(12)-600(Jan 31 07:57 /usr/spool -> ../var/spool)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47214 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(50)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(POSIX.1 )-98(tries )-98(to )-98(help )-98(with )-98(the)]TJ -/TT0 1 Tf -13.918 0 Td -(PATH_MAX)Tj -/T1_1 1 Tf -5.148 0 Td -[(value, )-98(but )-98(if )-98(this )-98(value )-98(is )-98(indeterminate,)]TJ --20.866 -1.2 Td -(we\325r)Tj -0.3216 Tc 1.968 0 Td -(es)Tj -0 Tc 1.225 0 Td -[(till )-72(out )-72(of )-72(luck.)-570(Figur)]TJ -0.3215 Tc 9.616 0 Td -(e2)Tj -0 Tc 1.301 0 Td -[(.16 )-71(shows )-71(a )-71(function )-71(that )-71(we\325ll )-71(use )-71(thr)18(oughout )-71(this )-71(text)]TJ --14.11 -1.2 Td -(to allocate storage dynamically for a pathname.)Tj -1.8 -1.2 Td -[(If )-70(the )-70(constant)]TJ -/TT0 1 Tf -6.749 0 Td -(PATH_MAX)Tj -/T1_1 1 Tf -5.121 0 Td -[(is )-71(de\336ned )-71(in)]TJ -/TT0 1 Tf -5.917 0 Td -()Tj -/T1_1 1 Tf -0.3206 Tc (,t)Tj -0 Tc 6.897 0 Td -[(hen )-71(we\325r)]TJ -0.3206 Tc 3.932 0 Td -(ea)Tj -0 Tc 1.3 0 Td -[(ll )-71(set.)-571(If )-71(it\325s )-71(not,)]TJ --31.714 -1.2 Td -[(then )-10(we )-10(need )-10(to )-10(call)]TJ -/TT0 1 Tf -9.131 0 Td -(pathconf)Tj -/T1_1 1 Tf -0.5101 Tc (.T)Tj -0 Tc 6.173 0 Td -[(he )-10(value )-10(r)18(eturned )-10(by)]TJ -/TT0 1 Tf -9.5 0 Td -(pathconf)Tj -/T1_1 1 Tf -5.06 0 Td -[(is )-10(the )-10(maximum )-10(size)]TJ --29.865 -1.2 Td -[(of )-72(a )-72(r)18(elative )-72(pathname )-72(when )-72(the )-72(\336rst )-72(ar)21(gument )-72(is )-72(the )-72(working )-72(dir)19(ectory)111(,)-322(so)-322(we)-322(s)1(pecify)]TJ -0 -1.2 Td -[(the )-225(r)18(oot )-225(as )-225(the )-225(\336rst )-225(ar)18(gument )-225(and )-225(add )-225(1 )-225(to )-225(the )-225(r)18(esult. )-475(If)]TJ -/TT0 1 Tf -27.568 0 Td -(pathconf)Tj -/T1_1 1 Tf -5.275 0 Td -[(indicates )-225(that)]TJ -/TT0 1 Tf --32.843 -1.2 Td -(PATH_MAX)Tj -/T1_1 1 Tf -5.05 0 Td -(is indeterminate, we have to punt and just guess a value.)Tj --0.111 Tc -3.25 -1.2 Td -(Ve)Tj -0 Tc 1.09 0 Td -[(rsions )-31(of )-31(POSIX.1 )-31(prior )-31(to )-31(2001 )-31(wer)]TJ -0.2809 Tc 15.685 0 Td -(eu)Tj -0 Tc 1.363 0 Td -[(nclear )-31(as )-31(to )-31(whether)]TJ -/TT0 1 Tf -9.288 0 Td -(PATH_MAX)Tj -/T1_1 1 Tf -5.081 0 Td -[(included )-31(a)]TJ --34.307 -1.2 Td -[(null )-25(byte )-25(at )-25(the )-25(end )-25(of )-25(the )-25(pathname.)-526(If )-25(the )-25(operating )-25(system )-25(implementation )-25(conforms)]TJ -0 -1.2 TD -[(to )-107(one )-107(of )-107(these )-107(prior )-107(versions )-107(and )-107(doesn\325t )-107(conform )-107(to )-107(any )-107(version )-107(of )-107(the )-107(Single )-107(UNIX)]TJ -T* -[(Speci\336cation )-88(\(which)]TJ -/T1_2 1 Tf -9.377 0 Td -(does)Tj -/T1_1 1 Tf --0.018 Tc 2.06 0 Td -(re)Tj -0 Tc 0.856 0 Td -(quir)Tj -0.3383 Tc 1.831 0 Td -(et)Tj -0 Tc 1.143 0 Td -[(he )-88(terminating )-88(null )-88(byte )-88(to )-88(be )-88(included\), )-88(we )-88(need )-88(to)]TJ --15.267 -1.2 Td -(add 1 to the amount of memory we allocate for a pathname, just to be on \ the safe side.)Tj -1.8 -1.2 Td -[(The )-73(corr)18(ect )-73(way )-73(to )-73(handle )-73(the )-73(case )-73(of )-73(an )-73(indeterminate )-73(r)18(esult )-73(depends )-73(on )-73(how )-73(the)]TJ --1.8 -1.2 Td -[(allocated )-241(space )-241(is )-241(being )-241(used.)-740(If )-241(we )-241(ar)]TJ -0.4907 Tc 18.524 0 Td -(ea)Tj -0 Tc 1.47 0 Td -[(llocating )-241(space )-241(for )-241(a )-241(call )-241(to)]TJ -/TT0 1 Tf -13.391 0 Td -(getcwd)Tj -/T1_1 1 Tf -0.4907 Tc (,f)Tj -0 Tc 4.674 0 Td -(or)Tj --38.059 -1.2 Td -[(example )167(\321 )167(to)]TJ --0.018 Tc 6.387 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-350(the )-350(absolute )-350(pathname )-350(of )-350(the )-350(curr)19(ent )-350(working )-350(dir)18(ectory; )-350(see)]TJ --7.243 -1.2 Td -[(Section )-65(4.23)]TJ -0.0833 Tc 5.342 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -[(nd )-65(if )-65(the )-65(allocated )-65(space )-65(is )-65(too )-65(small, )-65(an )-65(err)18(or )-65(is )-65(r)18(eturned )-65(and)]TJ -/TT0 1 Tf -28.045 0 Td -(errno)Tj -/T1_1 1 Tf -3.315 0 Td -(is)Tj --38.285 -1.2 Td -[(set )-178(to)]TJ -/TT0 1 Tf -2.958 0 Td -(ERANGE)Tj -/T1_1 1 Tf -0.6784 Tc (.W)Tj -0.4284 Tc 5.436 0 Td -(ec)Tj -0 Tc 1.351 0 Td -[(ould )-178(then )-178(incr)17(ease )-178(the )-178(allocated )-178(space )-178(by )-178(calling)]TJ -/TT0 1 Tf -22.911 0 Td -(realloc)Tj -/T1_1 1 Tf -4.629 0 Td -(\(see)Tj --37.285 -1.2 Td -[(Section )-74(7.8 )-74(and )-74(Exer)18(cise )-74(4.16\) )-74(and )-74(try )-74(again.)]TJ --0.092 Tc 20.328 0 Td -[(We )-258(c)]TJ -0 Tc 2.155 0 Td -[(ould )-73(keep )-73(doing )-73(this )-73(until )-73(the )-73(call )-73(to)]TJ -/TT0 1 Tf --22.482 -1.2 Td -(getcwd)Tj -/T1_1 1 Tf -3.85 0 Td -(succeeded.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4314.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 421.8484 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -[(#ifdef )-600(PATH_MAX)]TJ -0 -1.189 TD -(static long pathmax = PATH_MAX;)Tj -0 -1.189 TD -(#else)Tj -T* -(static long pathmax = 0;)Tj -T* -(#endif)Tj -0 -2.14 TD -(static long posix_version = 0;)Tj -0 -1.189 TD -(static long xsi_version = 0;)Tj -0 -2.14 TD -(/* If PATH_MAX is indeterminate, no guarantee this is adequate */)Tj -0 -1.189 TD -[(#define PATH_MAX_GUESS)-1200(1024)]TJ -0 -2.14 TD -(char *)Tj -0 -1.189 TD -(path_alloc\(size_t *sizep\) /* also return allocated size, if nonnull */\ )Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(*ptr;)]TJ -T* -[(size_t )-600(size;)]TJ -0 -2.14 TD -(if \(posix_version == 0\))Tj -2.4 -1.189 Td -(posix_version = sysconf\(_SC_VERSION\);)Tj --2.4 -2.14 Td -(if \(xsi_version == 0\))Tj -2.4 -1.189 Td -(xsi_version = sysconf\(_SC_XOPEN_VERSION\);)Tj --2.4 -2.14 Td -[(if \(pathmax == 0\) {)-3000(/* first time through */)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47215 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1.4)]TJ -35.273 0 Td -[(Files )-250(and )-250(Dir)18(ectories)]TJ -/T1_1 1 Tf -11.56 0 Td -(5)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(The )-59(Resear)18(ch )-59(UNIX )-59(System )-59(and )-59(some )-59(older )-59(UNIX )-59(System )-59(V )-59(\336le )-59(systems )-59(r)18(estricted )-59(a )-59(\336lename)]TJ -0 -1.25 TD -[(to )-323(14 )-323(characters.)-823(BSD )-323(versions )-323(extended )-323(this )-323(limit )-323(to )-323(255 )-323(characters.)]TJ --0.092 Tc 33.929 0 Td -(To)Tj -0 Tc 1.067 0 Td -(day)Tj -0.573 Tc 1.556 0 Td -(,a)Tj -0 Tc 1.323 0 Td -[(lmost )-323(all)]TJ --37.875 -1.25 Td -[(commer)18(cial UNIX \336le systems support at least 255-character \336lenames.)]TJ -/TT0 1 Tf --0.03 Tc 9.9994 0 0 9.9994 93.5943 622.9626 Tm -(Pa)Tj -0 Tc 1.193 0 Td -(thname)Tj -/T1_0 1 Tf -0.2895 Tc 2.407 -2.04 Td -(As)Tj -0 Tc 1.491 0 Td -[(equence )-39(of )-39(one )-39(or )-39(mor)]TJ -0.2895 Tc 10.017 0 Td -(e\336)Tj -0 Tc 1.374 0 Td -[(lenames, )-39(separated )-39(by )-39(slashes )-39(and )-39(optionally )-39(starting )-39(with)]TJ -0.4127 Tc -12.882 -1.2 Td -(as)Tj -0 Tc 1.337 0 Td -[(lash, )-163(forms )-163(a)]TJ -/T1_2 1 Tf -6.366 0 Td -(pathname)Tj -/T1_0 1 Tf -0.6627 Tc (.A)Tj -0 Tc 6.047 0 Td -[(pathname )-163(that )-163(begins )-163(with )-163(a )-163(slash )-163(is )-163(called )-163(an)]TJ -/T1_2 1 Tf -21.953 0 Td -(absolute)Tj --35.704 -1.2 Td -(pathname)Tj -/T1_0 1 Tf -0.4663 Tc (;o)Tj -0 Tc 5.206 0 Td -[(therwise, )-216(it\325s )-216(called )-216(a)]TJ -/T1_2 1 Tf --0.018 Tc 10.36 0 Td -(re)Tj -0 Tc 0.76 0 Td -[(lative )-216(pathname)]TJ -/T1_0 1 Tf -0.7163 Tc (.R)Tj -0 Tc 8.267 0 Td -[(elative )-216(pathnames )-216(r)17(efer )-216(to )-216(\336les)]TJ --0.018 Tc -24.593 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(lative )-251(to )-251(the )-251(curr)18(ent )-251(dir)16(ectory)]TJ -0.7515 Tc 13.837 0 Td -(.T)Tj -0 Tc 1.614 0 Td -[(he )-252(name )-252(for )-252(the )-252(r)18(oot )-252(of )-252(the )-252(\336le )-252(system )-252(\()]TJ -/TT1 1 Tf -19.541 0 Td -(/)Tj -/T1_0 1 Tf -[(\))-502(is)-502(a)]TJ --35.849 -1.2 Td -(special-case absolute pathname that has no \336lename component.)Tj -/TT0 1 Tf --3.6 -2.88 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.04 Td -[(Listing )-221(the )-221(names )-221(of )-221(all )-221(the )-221(\336les )-221(in )-221(a )-221(dir)18(ectory )-221(is )-221(not )-221(dif)13(\336cult. )-471(Figur)]TJ -0.4713 Tc 32.547 0 Td -(e1)Tj -0 Tc 1.45 0 Td -[(.3 )-221(shows )-221(a)]TJ --33.997 -1.2 Td -[(bar)18(e-bones implementation of the)]TJ -/TT1 1 Tf -15.152 0 Td -(ls)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(command.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4862.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 476.6418 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -(DIR )Tj -9.6 0 Td -(*dp;)Tj --9.6 -1.189 Td -[(struct dirent)-1800(*dirp;)]TJ -0 -2.14 TD -(if \(argc != 2\))Tj -2.4 -1.189 Td -(err_quit\("usage: ls directory_name"\);)Tj --2.4 -2.14 Td -(if \(\(dp = opendir\(argv[1]\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("can\325t open %s", argv[1]\);)Tj --2.4 -1.189 Td -(while \(\(dirp = readdir\(dp\)\) != NULL\))Tj -2.4 -1.189 Td -(printf\("%s\\n", dirp->d_name\);)Tj --2.4 -2.14 Td -(closedir\(dp\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2771.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 252.5025 261.111 Tm -(Figure 1.3)Tj -/T1_0 1 Tf -5.195 0 Td -[(List all the \336les in a dir)18(ectory)]TJ -9.9982 0 0 9.9982 147.5736 237.1153 Tm -[(The )-129(notation)]TJ -/TT1 1 Tf -6.132 0 Td -(ls)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.712 -0.04 Td -[(is )-130(the )-130(normal )-130(way )-130(to )-130(r)20(efer)18(ence )-130(a )-130(particular )-130(entry )-130(in )-130(the )-130(UNIX)]TJ --10.677 -1.2 Td -[(system )-133(manuals.)-633(It )-133(r)18(efers )-133(to )-133(the )-133(entry )-133(for)]TJ -/TT1 1 Tf -19.462 0 Td -(ls)Tj -/T1_0 1 Tf -1.583 0 Td -[(in )-133(Section )-133(1.)-633(The )-133(sections )-133(ar)]TJ -0.3832 Tc 13.049 0 Td -(en)Tj -0 Tc 1.444 0 Td -(ormally)Tj --35.538 -1.2 Td -[(number)18(ed )-508(1 )-508(thr)18(ough )-508(8, )-508(and )-508(all )-508(the )-508(entries )-508(within )-508(each )-508(section )-508(ar)]TJ -0.758 Tc 33.745 0 Td -(ea)Tj -0 Tc 1.737 0 Td -(rranged)Tj --35.482 -1.2 Td -(alphabetically)Tj -0.6089 Tc 6.094 0 Td -(.T)Tj -0 Tc 1.472 0 Td -[(hr)18(oughout )-109(this )-109(text, )-109(we )-109(assume )-109(that )-109(you )-109(have )-109(a )-109(copy )-109(of )-109(the )-109(manuals)]TJ --7.566 -1.2 Td -(for your UNIX system.)Tj -7.9986 0 0 7.9986 183.5672 169.1276 Tm -(Historically)Tj -0.3228 Tc 5.076 0 Td -(,U)Tj -0 Tc 1.351 0 Td -[(NIX )-73(systems )-73(lumped )-73(all )-73(eight )-73(sections )-73(together )-73(into )-73(what )-73(was )-73(called )-73(the)]TJ -/T1_2 1 Tf -32.963 0 Td -(UNIX)Tj --39.389 -1.25 Td -[(Pr)18(ogrammer )213(\325)]TJ -0.4875 Tc 5.353 0 Td -(sM)Tj -0 Tc 1.821 0 Td -(anual)Tj -/T1_0 1 Tf -0.7375 Tc (.A)Tj -0.4875 Tc 4.043 0 Td -(st)Tj -0 Tc 1.237 0 Td -[(he )-237(page )-237(count )-237(incr)18(eased, )-237(the )-237(tr)18(end )-237(changed )-237(to )-237(distributing )-237(the)]TJ --12.454 -1.25 Td -[(sections )-164(among )-164(separate )-164(manuals: )-164(one )-164(for )-164(users, )-164(one )-164(for )-164(pr)18(ogrammers, )-164(and )-164(one )-164(for )-164(system)]TJ -0 -1.25 TD -(administrators, for example.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47216 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(366)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(4.3BSD )-143(generated )-143(the)]TJ -/TT0 1 Tf -10.132 0 Td -(SIGILL)Tj -/T1_1 1 Tf -3.993 0 Td -[(signal. )-393(Befor)]TJ -0.3926 Tc 5.883 0 Td -(ed)Tj -0 Tc 1.483 0 Td -[(oing )-143(this, )-143(the )-143(4.3BSD )-143(function )-143(unblocked )-143(the)]TJ --21.49 -1.25 Td -[(signal )-241(and )-241(r)17(eset )-241(its )-241(disposition )-241(to)]TJ -/TT0 1 Tf -16.217 0 Td -(SIG_DFL)Tj -/T1_1 1 Tf -4.691 0 Td -[(\(terminate )-241(with)]TJ -/TT0 1 Tf -7.61 0 Td -(core)Tj -/T1_1 1 Tf -2.891 0 Td -[(\336le\). )-491(This)-492(pr)18(evented )-241(a)]TJ --31.409 -1.25 Td -[(pr)18(ocess fr)18(om either ignoring the signal or catching it.)]TJ -0 -2.125 TD -(Historically)Tj -0.4448 Tc 5.076 0 Td -(,i)Tj -0 Tc 0.986 0 Td -[(mplementations )-195(of)]TJ -/TT0 1 Tf -8.962 0 Td -(abort)Tj -/T1_1 1 Tf -3.445 0 Td -[(have )-195(dif)18(fer)18(ed )-195(in )-195(how )-195(they )-195(deal )-195(with )-195(standar)]TJ -0.4448 Tc 20.747 0 Td -(dI)Tj -0 Tc 1.393 0 Td -(/O)Tj --40.608 -1.25 Td -[(str)18(eams. )-498(For)-498(defensive )-248(pr)18(ogramming )-248(and )-248(impr)18(oved )-248(portability)111(,)-498(if)-498(we)-498(want )-248(standar)]TJ -0.4979 Tc 39.162 0 Td -(dI)Tj -0 Tc 1.446 0 Td -(/O)Tj --40.608 -1.25 Td -[(str)18(eams )-41(to )-41(be )-41(\337ushed, )-41(we )-41(speci\336cally )-41(do )-41(it )-41(befor)]TJ -0.2915 Tc 21.507 0 Td -(ec)Tj -0 Tc 1.214 0 Td -(alling)Tj -/TT0 1 Tf -2.803 0 Td -(abort)Tj -/T1_1 1 Tf -0.5415 Tc (.W)Tj -0 Tc 4.7 0 Td -[(e)-291(do)-291(t)-1(his )-41(in )-41(the)]TJ -/TT0 1 Tf -6.976 0 Td -(err_dump)Tj -/T1_1 1 Tf --37.2 -1.25 Td -(function \(Appendix B\).)Tj -T* -[(Since )-7(most )-7(UNIX )-7(System )-7(implementations )-7(of)]TJ -/TT0 1 Tf -20.211 0 Td -(tmpfile)Tj -/T1_1 1 Tf -4.457 0 Td -(call)Tj -/TT0 1 Tf -1.783 0 Td -(unlink)Tj -/T1_1 1 Tf -3.857 0 Td -[(immediately )-7(after )-7(cr)18(eating)]TJ --30.308 -1.25 Td -(the \336le, the ISO C warning about temporary \336les does not usually c\ oncern us.)Tj -/TT1 1 Tf -9.9994 0 0 9.9994 93.5943 552.9668 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(0.25 shows an implementation of the)Tj -/TT0 1 Tf -16.468 0 Td -(abort)Tj -/T1_1 1 Tf -3.25 0 Td -(function as speci\336ed by POSIX.1.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5218.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 512.2375 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -2.14 TD -(void)Tj -0 -1.189 TD -[(abort\(void\) )-4800(/*)-600(POSIX-style abort\(\) function */)]TJ -T* -({)Tj -2.4 -1.189 Td -(sigset_t )Tj -12 0 Td -(mask;)Tj --12 -1.189 Td -[(struct sigaction)-2400(action;)]TJ -0 -2.14 TD -(/* Caller can\325t ignore SIGABRT, if so reset to default */)Tj -0 -1.189 TD -(sigaction\(SIGABRT, NULL, &action\);)Tj -0 -1.189 TD -(if \(action.sa_handler == SIG_IGN\) {)Tj -2.4 -1.189 Td -(action.sa_handler = SIG_DFL;)Tj -0 -1.189 TD -(sigaction\(SIGABRT, &action, NULL\);)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(action.sa_handler == SIG_DFL\))Tj -2.4 -1.189 Td -(fflush\(NULL\); )Tj -14.4 0 Td -[(/*)-600(flush all open stdio streams */)]TJ --16.8 -2.14 Td -(/* Caller can\325t block SIGABRT; make sure it\325s unblocked */)Tj -T* -(sigfillset\(&mask\);)Tj -0 -1.189 TD -[(sigdelset\(&mask, SIGABRT\);)-1200(/* mask has only SIGABRT turned off */)]TJ -0 -1.189 TD -(sigprocmask\(SIG_SETMASK, &mask, NULL\);)Tj -T* -[(kill\(getpid\(\), SIGABRT\);)-2400(/* send the signal */)]TJ -0 -2.14 TD -(/* If we\325re here, process caught SIGABRT and returned */)Tj -0 -1.189 TD -(fflush\(NULL\); )Tj -16.8 0 Td -[(/*)-600(flush all open stdio streams */)]TJ --16.8 -1.189 Td -(action.sa_handler = SIG_DFL;)Tj -T* -[(sigaction\(SIGABRT, &action, NULL\);)-1200(/* reset to default */)]TJ -T* -[(sigprocmask\(SIG_SETMASK, &mask, NULL\);)-1200(/* just in case ... */)]TJ -T* -(kill\(getpid\(\), SIGABRT\);)Tj -24 0 Td -(/* and one more time */)Tj --24 -1.189 Td -[(exit\(1\); )-1800(/*)-600(this should never be executed ... */)]TJ --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1629.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 238.1611 146.9315 Tm -(Figure 10.25)Tj -/T1_1 1 Tf -6.195 0 Td -(Implementation of POSIX.1)Tj -/TT0 1 Tf -12.404 0 Td -(abort)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47217 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(900)Tj -/T1_1 1 Tf -3.5 0 Td -[(Miscellaneous )-250(Sour)18(ce )-250(Code)]TJ -38.263 0 Td -[(Appendix )-250(B)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(va_end\(ap\);)Tj -0 -1.189 TD -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*N)Tj -0 Tc 1.8 0 Td -(onfatal error unrelated to a system call.)Tj -0.6 Tc -1.8 -1.189 Td -(*E)Tj -0 Tc 1.8 0 Td -(rror code passed as explict parameter.)Tj -0.6 Tc -1.8 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(rint a message and return.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(err_cont\(int error, const char *fmt, ...\))Tj -T* -({)Tj -2.4 -1.189 Td -[(va_list )-2400(ap;)]TJ -0 -2.021 TD -(va_start\(ap, fmt\);)Tj -0 -1.189 TD -(err_doit\(1, error, fmt, ap\);)Tj -T* -(va_end\(ap\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*F)Tj -0 Tc 1.8 0 Td -(atal error unrelated to a system call.)Tj -0.6 Tc -1.8 -1.189 Td -(*E)Tj -0 Tc 1.8 0 Td -(rror code passed as explict parameter.)Tj -0.6 Tc -1.8 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(rint a message and terminate.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(err_exit\(int error, const char *fmt, ...\))Tj -T* -({)Tj -2.4 -1.189 Td -[(va_list )-2400(ap;)]TJ -0 -2.021 TD -(va_start\(ap, fmt\);)Tj -0 -1.189 TD -(err_doit\(1, error, fmt, ap\);)Tj -0 -1.189 TD -(va_end\(ap\);)Tj -T* -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*F)Tj -0 Tc 1.8 0 Td -(atal error related to a system call.)Tj -0.6 Tc -1.8 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(rint a message, dump core, and terminate.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(err_dump\(const char *fmt, ...\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(va_list )-2400(ap;)]TJ -0 -2.021 TD -(va_start\(ap, fmt\);)Tj -0 -1.189 TD -(err_doit\(1, errno, fmt, ap\);)Tj -T* -(va_end\(ap\);)Tj -T* -[(abort\(\); )-4200(/*)-600(dump core and terminate */)]TJ -T* -[(exit\(1\); )-4200(/*)-600(shouldn\325t get here */)]TJ --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*N)Tj -0 Tc 1.8 0 Td -(onfatal error unrelated to a system call.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47218 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.6)]TJ -34.349 0 Td -[(Thr)18(ead)]TJ -3.162 0.09 Td -(-)Tj -0.333 -0.09 Td -[(Speci\336c )-250(Data)]TJ -/T1_1 1 Tf -7.989 0 Td -(447)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.018 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -(ro)Tj -0 Tc 0.923 0 Td -(utines,)Tj -/TT0 1 Tf -3.234 0 Td -(errno)Tj -/T1_0 1 Tf -3.279 0 Td -[(is )-29(r)18(ede\336ned )-29(as )-29(thr)18(ead-private )-29(data.)-529(Thus )-29(one )-29(thr)18(ead )-29(making )-29(a )-29(call )-29(that)]TJ --7.436 -1.2 Td -(sets)Tj -/TT0 1 Tf -1.903 0 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -[(doesn\325t af)18(fect the value of)]TJ -/TT0 1 Tf -11.597 0 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -[(for the other thr)18(eads in the pr)18(ocess.)]TJ --18.2 -1.2 Td -[(Recall )-148(that )-148(all )-148(thr)18(eads )-148(in )-148(a )-148(pr)18(ocess )-148(have )-148(access )-148(to )-148(the )-148(entir)]TJ -0.398 Tc 26.989 0 Td -(ea)Tj -0 Tc 1.377 0 Td -[(ddr)18(ess )-148(space )-148(of )-148(the)]TJ --30.166 -1.2 Td -[(pr)18(ocess. )-340(Other)-341(than )-90(using )-90(r)18(egisters, )-90(ther)17(e)-340(is)-340(no)-340(w)-1(ay )-90(for )-90(one )-90(thr)18(ead )-90(to )-90(pr)18(event )-90(another)]TJ -0 -1.2 Td -[(fr)18(om )-187(accessing )-187(its )-187(data.)-687(This )-187(is )-187(tr)8(ue )-187(even )-187(for )-187(thr)14(ead-speci\336c )-188(data.)-688(Even )-188(though )-188(the)]TJ -0 -1.2 TD -[(underlying )-128(implementation )-128(doesn\325t )-128(pr)18(event )-128(access, )-128(the )-128(functions )-128(pr)18(ovided )-128(to )-128(manage)]TJ -T* -[(thr)18(ead-speci\336c )-22(data )-22(pr)18(omote )-22(data )-22(separation )-22(among )-22(thr)16(eads )-22(by )-22(making )-22(it )-22(mor)]TJ -0.2725 Tc 34.762 0 Td -(ed)Tj -0 Tc 1.362 0 Td -[(if)18(\336cult)]TJ --36.125 -1.2 Td -[(for thr)18(eads to gain access to thr)18(ead-speci\336c data fr)18(om other thr)18(eads.)]TJ -1.8 -1.2 Td -(Befor)Tj -0.3358 Tc 2.346 0 Td -(ea)Tj -0 Tc 1.315 0 Td -[(llocating )-86(thr)18(ead-speci\336c )-86(data, )-86(we )-86(need )-86(to )-86(cr)18(eate )-86(a)]TJ -/T1_2 1 Tf -22.637 0 Td -(key)Tj -/T1_0 1 Tf -1.669 0 Td -[(to )-86(associate )-86(with )-86(the)]TJ --29.767 -1.2 Td -[(data. )-631(The)-632(key )-381(will )-381(be )-381(used )-381(to )-381(gain )-381(access )-381(to )-381(the )-381(thr)18(ead-speci\336c )-381(data.)]TJ --0.092 Tc 35.475 0 Td -[(We )-566(u)]TJ -0 Tc 2.621 0 Td -(se)Tj -/TT0 1 Tf --38.097 -1.2 Td -(pthread_key_create)Tj -/T1_0 1 Tf -11.05 0 Td -[(to cr)18(eate such a key)111(.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 140.3916 532.2681 Tm -(#include )Tj -0 -1.902 TD -(int pthread_key_create\(pthread_key_t *)Tj -/T1_2 1 Tf -(keyp)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 26.433 0 Td -(oid \(*)Tj -/T1_2 1 Tf -(destructor)Tj -/TT0 1 Tf -(\)\(void *\)\);)Tj -/T1_0 1 Tf --3.552 -1.902 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4935.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 480.0024 Tm -[(The )-43(key )-43(cr)18(eated )-43(is )-43(stor)18(ed )-43(in )-43(the )-43(memory )-43(location )-43(pointed )-43(to )-43(by)]TJ -/T1_2 1 Tf -28.419 0 Td -(keyp)Tj -/T1_0 1 Tf -0.5428 Tc (.T)Tj -0 Tc 3.239 0 Td -[(he )-43(same )-43(key )-43(can)]TJ --31.658 -1.2 Td -[(be )-340(used )-340(by )-340(all )-340(thr)18(eads )-340(in )-340(the )-340(pr)18(ocess, )-340(but )-340(each )-340(thr)18(ead )-340(will )-340(associate )-340(a )-340(dif)18(fer)18(ent)]TJ -0 -1.2 TD -[(thr)18(ead-speci\336c )-30(data )-30(addr)18(ess )-30(with )-30(the )-30(key)]TJ -0.5297 Tc 18.157 0 Td -(.W)Tj -0 Tc 1.78 0 Td -[(hen )-30(the )-30(key )-30(is )-30(cr)18(eated, )-30(the )-30(data )-30(addr)18(ess )-30(for)]TJ --19.937 -1.2 Td -[(each thr)18(ead is set to a null value.)]TJ -1.8 -1.2 Td -[(In )-410(addition )-410(to )-410(cr)18(eating )-410(a )-410(key)110(,)]TJ -/TT0 1 Tf -15.296 0 Td -(pthread_key_create)Tj -/T1_0 1 Tf -11.46 0 Td -[(associates )-410(an )-410(optional)]TJ --28.556 -1.2 Td -[(destr)8(uctor )-14(function )-14(with )-14(the )-14(key)]TJ -0.514 Tc 14.204 0 Td -(.W)Tj -0 Tc 1.764 0 Td -[(hen )-14(the )-14(thr)18(ead )-14(exits, )-14(if )-14(the )-14(data )-14(addr)18(ess )-14(has )-14(been )-14(set)]TJ --15.968 -1.2 Td -[(to )-90(a )-90(non-null )-90(value, )-90(the )-90(destr)10(uctor )-90(function )-90(is )-90(called )-90(with )-90(the )-90(data )-90(addr)18(ess )-90(as )-90(the )-90(only)]TJ -T* -[(ar)18(gument. )-378(If)]TJ -/T1_2 1 Tf -6.231 0 Td -(destructor)Tj -/T1_0 1 Tf -4.507 0 Td -[(is )-128(null, )-128(then )-128(no )-128(destr)10(uctor )-127(function )-127(is )-127(associated )-127(with )-127(the )-127(key)108(.)]TJ --10.738 -1.2 Td -[(When )-98(the )-98(thr)18(ead )-98(exits )-98(normally)]TJ -0.3485 Tc 14.268 0 Td -(,e)Tj -0 Tc 1.077 0 Td -[(ither )-98(by )-98(calling)]TJ -/TT0 1 Tf -7.183 0 Td -(pthread_exit)Tj -/T1_0 1 Tf -7.549 0 Td -[(or )-98(by )-98(r)18(eturning, )-98(the)]TJ --30.076 -1.2 Td -[(destr)8(uctor )-157(is )-157(called.)-657(Also, )-157(if )-157(the )-157(thr)18(ead )-157(is )-157(canceled, )-157(the )-157(destr)12(uctor )-156(is )-156(called, )-156(but )-156(only)]TJ --0 -1.2 Td -[(after )-103(the )-103(last )-103(cleanup )-103(handler )-103(r)17(eturns. )-353(But)-354(if )-103(the )-103(thr)18(ead )-103(calls)]TJ -/TT0 1 Tf -27.849 0 Td -(exit)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.003 0 Td -(_exit)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.603 0 Td -(_Exit)Tj -/T1_0 1 Tf -0.3533 Tc (,o)Tj -0 Tc 4.149 0 Td -(r)Tj -/TT0 1 Tf --38.605 -1.2 Td -(abort)Tj -/T1_0 1 Tf -[(,)-250(or)-250(otherwise exits abnormally)]TJ -0.25 Tc 16.569 0 Td -(,t)Tj -0 Tc 0.826 0 Td -[(he destr)8(uctor is not called.)]TJ --15.595 -1.2 Td -[(Thr)18(eads )-213(typically )-213(use)]TJ -/TT0 1 Tf -10.337 0 Td -(malloc)Tj -/T1_0 1 Tf -4.063 0 Td -[(to )-213(allocate )-213(memory )-213(for )-213(their )-213(thr)18(ead-speci\336c )-213(data.)]TJ --16.2 -1.2 Td -[(The )-223(destr)8(uctor )-223(function )-223(usually )-223(fr)18(ees )-223(the )-223(memory )-223(that )-223(was )-223(allocated.)-723(If )-223(the )-223(thr)17(ead)]TJ --0 -1.2 Td -[(exited )-187(without )-187(fr)18(eeing )-187(the )-187(memory)]TJ -0.437 Tc 16.073 0 Td -(,t)Tj -0 Tc 1.013 0 Td -[(hen )-187(the )-187(memory )-187(would )-187(be )-187(lost)]TJ -0.0833 Tc 14.544 0 Td -(\321l)Tj -0 Tc 1.374 0 Td -[(eaked )-187(by )-187(the)]TJ --33.005 -1.2 Td -[(pr)18(ocess.)]TJ -0.3674 Tc 1.8 -1.2 Td -(At)Tj -0 Tc 1.471 0 Td -[(hr)18(ead )-117(can )-117(allocate )-117(multiple )-117(keys )-117(for )-117(thr)16(ead-speci\336c )-117(data.)-617(Each )-117(key )-117(can )-117(have )-117(a)]TJ --3.271 -1.2 Td -[(destr)8(uctor )-67(associated )-67(with )-67(it.)-569(Ther)]TJ -0.3174 Tc 15.557 0 Td -(ec)Tj -0 Tc 1.24 0 Td -[(an )-67(be )-67(a )-67(dif)17(fer)18(ent )-67(destr)8(uctor )-67(function )-67(for )-67(each )-67(key)109(,)]TJ --16.797 -1.2 Td -[(or )-14(all )-14(of )-14(the )-14(keys )-14(can )-14(use )-14(the )-14(same )-14(function.)-514(Each )-14(operating )-14(system )-14(implementation )-14(can)]TJ -T* -[(place )-72(a )-72(limit )-72(on )-72(the )-72(number )-72(of )-72(keys )-72(a )-72(pr)18(ocess )-72(can )-72(allocate )-72(\(r)18(ecall)]TJ -/TT0 1 Tf -29.4 0 Td -(PTHREAD_KEYS_MAX)Tj -/T1_0 1 Tf --29.4 -1.2 Td -[(fr)18(om Figur)]TJ -0.25 Tc 4.772 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(2.1\).)Tj --4.201 -1.2 Td -[(When )-201(a )-201(thr)18(ead )-201(exits, )-201(the )-201(destr)6(uctors )-201(for )-201(its )-201(thr)18(ead-speci\336c )-201(data )-201(ar)]TJ -0.4515 Tc 30.795 0 Td -(ec)Tj -0 Tc 1.374 0 Td -[(alled )-201(in )-201(an)]TJ --33.97 -1.2 Td -[(implementation-de\336ned )-87(or)18(der)]TJ -0.5866 Tc 13.431 0 Td -(.I)Tj -0 Tc 1.174 0 Td -[(t)-337(is)-337(p)1(ossible )-86(for )-86(the )-86(destr)8(uctor )-86(to )-86(call )-86(another )-86(function)]TJ --14.604 -1.2 Td -[(that )-50(cr)18(eates )-50(new )-50(thr)18(ead-speci\336c )-50(data )-50(and )-50(associate )-50(it )-50(with )-50(the )-50(key)]TJ -0.5506 Tc 29.24 0 Td -(.A)Tj -0 Tc 1.579 0 Td -[(fter )-51(all )-51(destr)9(uctors)]TJ --30.819 -1.2 Td -(ar)Tj -0.4941 Tc 0.877 0 Td -(ec)Tj -0 Tc 1.417 0 Td -[(alled, )-244(the )-244(system )-244(will )-244(check )-244(whether )-244(any )-244(non-null )-244(thr)18(ead-speci\336c )-244(values )-244(wer)17(e)]TJ --2.294 -1.2 Td -[(associated )-32(with )-32(the )-32(keys )-32(and, )-32(if )-32(so, )-32(call )-32(the )-32(destr)8(uctors )-32(again.)-532(This )-32(pr)18(ocess )-32(r)18(epeats )-32(until)]TJ -T* -[(either )-161(all )-161(keys )-161(for )-161(the )-161(thr)18(ead )-161(have )-161(null )-161(thr)21(ead-speci\336c )-160(data )-160(values )-160(or )-160(a )-160(maximum )-160(of)]TJ -/TT0 1 Tf -T* -(PTHREAD_DESTRUCTOR_ITERATIONS)Tj -/T1_0 1 Tf -17.65 0 Td -(\(Figur)Tj -0.25 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(2.1\) attempts have been made.)Tj --0.092 Tc -19.795 -1.2 Td -[(We )-328(c)]TJ -0 Tc 2.225 0 Td -[(an )-144(br)18(eak )-144(the )-144(association )-144(of )-144(a )-144(key )-144(with )-144(the )-144(thr)18(ead-speci\336c )-144(data )-144(values )-144(for )-144(all)]TJ --4.025 -1.2 Td -[(thr)18(eads by calling)]TJ -/TT0 1 Tf -8.113 0 Td -(pthread_key_delete)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47219 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.2)]TJ -36.477 0 Td -[(Signal )-250(Concepts)]TJ -/T1_1 1 Tf -9.356 0 Td -(319)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(SIGINT)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-321(signal )-321(is )-321(generated )-321(by )-321(the )-321(terminal )-321(driver )-321(when )-321(we )-321(pr)18(ess )-321(the)]TJ -0 -1.2 TD -[(interr)8(upt )-221(key )-221(\(often )-221(DELETE )-221(or )-221(Contr)19(ol)]TJ -18.683 0.09 Td -(-)Tj -0.333 -0.09 Td -[(C\). )-471(This)-471(signal )-221(is )-221(sent )-221(to )-221(all)]TJ --19.017 -1.2 Td -[(pr)18(ocesses )-235(in )-235(the )-235(for)18(egr)18(ound )-235(pr)18(ocess )-235(gr)18(oup )-235(\(r)18(efer )-235(to )-235(Figur)]TJ -0.4849 Tc 26.976 0 Td -(e9)Tj -0 Tc 1.464 0 Td -[(.9\). )-485(This)]TJ --28.44 -1.2 Td -[(signal )-6(is )-6(often )-6(used )-6(to )-6(terminate )-6(a )-6(r)5(unaway )-6(pr)18(ogram, )-6(especially )-6(when )-6(it\325s)]TJ -T* -[(generating a lot of unwanted output on the scr)18(een.)]TJ -/TT0 1 Tf --6.582 -1.84 Td -(SIGIO)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-341(signal )-341(indicates )-341(an )-341(asynchr)18(onous )-341(I/O )-341(event.)]TJ --0.092 Tc 24.547 0 Td -[(We )-525(d)]TJ -0 Tc 2.589 0 Td -[(iscuss )-341(it )-341(in)]TJ --27.136 -1.2 Td -(Section 14.5.2.)Tj -7.9995 0 0 7.9995 237.5855 570.5658 Tm -[(In )-38(Figur)]TJ -0.288 Tc 3.59 0 Td -(e1)Tj -0 Tc 1.267 0 Td -[(0.1, )-38(we )-38(labeled )-38(the )-38(default )-38(action )-38(for)]TJ -/TT0 1 Tf -16.526 0 Td -(SIGIO)Tj -/T1_0 1 Tf -3.288 0 Td -[(as )-38(either )-38(\324)37(\324terminate\325)]TJ -0.2879 Tc 9.073 0 Td -(\325o)Tj -0 Tc 1.112 0 Td -(r)Tj --0.037 Tc -34.855 -1.25 Td -(\324\324)Tj -0 Tc 0.519 0 Td -[(ignor)18(e.\325)]TJ -0.564 Tc 3.322 0 Td -(\325U)Tj -0 Tc 1.62 0 Td -(nfortunately)Tj -0.314 Tc 5.408 0 Td -(,t)Tj -0 Tc 0.89 0 Td -[(he )-64(default )-64(depends )-64(on )-64(the )-64(system.)-564(Under )-64(System )-64(V)129(,)]TJ -/TT0 1 Tf --11.759 -1.25 Td -(SIGIO)Tj -/T1_0 1 Tf -3.29 0 Td -[(is )-40(identical )-40(to)]TJ -/TT0 1 Tf -6.273 0 Td -(SIGPOLL)Tj -/T1_0 1 Tf -[(,)-290(so)-290(i)-1(ts )-40(default )-40(action )-40(is )-40(to )-40(terminate )-40(the )-40(pr)15(ocess.)]TJ --9.564 -1.25 Td -(Under BSD, the default is to ignor)Tj -0.25 Tc 14.974 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he signal.)Tj --16.029 -1.875 Td -[(Linux )-98(3.2.0 )-98(and )-98(Solaris )-98(10 )-98(de\336ne)]TJ -/TT0 1 Tf -15.11 0 Td -(SIGIO)Tj -/T1_0 1 Tf -3.348 0 Td -[(to )-98(be )-98(the )-98(same )-98(value )-98(as)]TJ -/TT0 1 Tf -11.025 0 Td -(SIGPOLL)Tj -/T1_0 1 Tf -0.3478 Tc (,s)Tj -0 Tc 5.222 0 Td -(o)Tj --34.704 -1.25 Td -[(the )-21(default )-21(behavior )-21(is )-21(to )-21(terminate )-21(the )-21(pr)15(ocess. )-271(On)-272(Fr)18(eeBSD )-21(8.0 )-21(and )-21(Mac )-21(OS )-21(X)]TJ -0 -1.25 TD -(10.6.8, the default is to ignor)Tj -0.25 Tc 12.469 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he signal.)Tj -/TT0 1 Tf -9.9994 0 0 9.9994 129.5913 484.5709 Tm -(SIGIOT)Tj -/T1_0 1 Tf -6.582 0 Td -[(This indicates an implementation-de\336ned har)18(dwar)]TJ -0.25 Tc 22.481 0 Td -(ef)Tj -0 Tc 1.062 0 Td -(ault.)Tj -7.9995 0 0 7.9995 237.5846 464.5721 Tm -[(The )-2(name )-2(IOT )-2(comes )-2(fr)18(om )-2(the )-2(PDP)]TJ -15.648 0.09 Td -(-)Tj --0.055 Tc 0.333 -0.09 Td -[(11 )-112(m)]TJ -0 Tc 2.08 0 Td -[(nemonic )-2(for )-2(the )-2(\324)38(\324input/output )-2(TRAP\325)37(\325)]TJ --18.06 -1.25 Td -[(instr)8(uction. )-299(Earlier)-298(versions )-49(of )-49(System )-49(V )-49(generated )-49(this )-49(signal )-49(fr)20(om )-49(the)]TJ -/TT0 1 Tf -32.25 0 Td -(abort)Tj -/T1_0 1 Tf --32.25 -1.25 Td -(function.)Tj -/TT0 1 Tf -4.457 0 Td -(SIGABRT)Tj -/T1_0 1 Tf -4.45 0 Td -(is now used for this purpose.)Tj --8.907 -1.875 Td -[(On )-1(Fr)18(eeBSD )-1(8.0, )-1(Linux )-1(3.2.0, )-1(Mac )-1(OS )-1(X )-1(10.6.8, )-1(and )-1(Solaris )-1(10,)]TJ -/TT0 1 Tf -27.066 0 Td -(SIGIOT)Tj -/T1_0 1 Tf -3.851 0 Td -[(is )-1(de\336ned)]TJ --30.917 -1.25 Td -(to be the same value as)Tj -/TT0 1 Tf -10.439 0 Td -(SIGABRT)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -9.9994 0 0 9.9994 129.5912 398.5761 Tm -(SIGJVM1)Tj -/T1_0 1 Tf -0.25 Tc 6.582 0 Td -(As)Tj -0 Tc 1.452 0 Td -[(ignal r)18(eserved for use by the Java virtual machine on Solaris.)]TJ -/TT0 1 Tf --8.034 -1.84 Td -(SIGJVM2)Tj -/T1_0 1 Tf -6.582 0 Td -[(Another signal r)18(eserved for use by the Java virtual machine on Solaris.)]TJ -/TT0 1 Tf --6.582 -1.84 Td -(SIGKILL)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-52(signal )-52(is )-52(one )-52(of )-52(the )-52(two )-52(that )-52(can\325t )-52(be )-52(caught )-52(or )-52(ignor)22(ed. )-302(It)-301(pr)18(ovides)]TJ -0 -1.2 Td -(the system administrator with a sur)Tj -0.25 Tc 15.736 0 Td -(ew)Tj -0 Tc 1.563 0 Td -[(ay to kill any pr)18(ocess.)]TJ -/TT0 1 Tf --23.881 -1.84 Td -(SIGLOST)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-70(signal )-70(is )-70(used )-70(to )-70(notify )-70(a )-70(pr)19(ocess )-70(r)8(unning )-70(on )-70(a )-70(Solaris )-70(NFSv4 )-70(client)]TJ -0 -1.2 TD -[(system that a lock could not be r)18(eacquir)18(ed during r)18(ecovery)111(.)]TJ -/TT0 1 Tf --6.582 -1.84 Td -(SIGLWP)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-246(signal )-246(is )-246(used )-246(internally )-246(by )-246(the )-246(Solaris )-246(thr)16(eads )-246(library; )-246(it )-246(is )-246(not)]TJ -T* -[(available )-66(for )-66(general )-66(use.)-566(On )-66(Fr)18(eeBSD,)]TJ -/TT0 1 Tf -17.847 0 Td -(SIGLWP)Tj -/T1_0 1 Tf -3.916 0 Td -[(is )-66(de\336ned )-66(to )-66(be )-66(an )-66(alias)]TJ --21.763 -1.2 Td -(for)Tj -/TT0 1 Tf -1.524 0 Td -(SIGTHR)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf --8.106 -1.84 Td -(SIGPIPE)Tj -/T1_0 1 Tf -6.582 0 Td -[(If )-239(we )-239(write )-239(to )-239(a )-239(pipeline )-239(but )-239(the )-239(r)16(eader )-239(has )-239(terminated,)]TJ -/TT0 1 Tf -27.014 0 Td -(SIGPIPE)Tj -/T1_0 1 Tf -4.689 0 Td -(is)Tj --31.703 -1.2 Td -[(generated. )-671(W)]TJ -0.6706 Tc 6.486 0 Td -(ed)Tj -0 Tc 1.761 0 Td -[(escribe )-421(pipes )-421(in )-421(Section )-421(15.2.)-921(This )-421(signal )-421(is )-421(also)]TJ --8.246 -1.2 Td -[(generated )-83(when )-83(a )-83(pr)18(ocess )-83(writes )-83(to )-83(a )-83(socket )-83(of )-83(type)]TJ -/TT0 1 Tf -23.751 0 Td -(SOCK_STREAM)Tj -/T1_0 1 Tf -6.933 0 Td -(that)Tj --30.684 -1.2 Td -(is no longer connected.)Tj --0.092 Tc 10.685 0 Td -[(We )-184(d)]TJ -0 Tc 2.248 0 Td -(escribe sockets in Chapter 16.)Tj -/TT0 1 Tf --19.515 -1.84 Td -(SIGPOLL)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-61(signal )-61(is )-61(marked )-61(obsolescent )-61(in )-61(SUSv4, )-61(so )-61(it )-61(might )-61(be )-61(r)17(emoved )-61(in )-61(a)]TJ -T* -(futur)Tj -0.2829 Tc 2.242 0 Td -(ev)Tj -0 Tc 1.327 0 Td -[(ersion )-33(of )-33(the )-33(standar)18(d. )-283(It)-283(can )-33(be )-33(generated )-33(when )-33(a )-33(speci\336c )-33(event)]TJ --3.569 -1.2 Td -[(occurs )-283(on )-283(a )-283(pollable )-283(device.)]TJ --0.092 Tc 14.07 0 Td -[(We )-467(d)]TJ -0 Tc 2.531 0 Td -[(escribe )-283(this )-283(signal )-283(with )-283(the)]TJ -/TT0 1 Tf -13.417 0 Td -(poll)Tj -/T1_0 1 Tf --30.018 -1.2 Td -[(function )-122(in )-122(Section )-122(14.4.2.)]TJ -/TT0 1 Tf -12.259 0 Td -(SIGPOLL)Tj -/T1_0 1 Tf -4.572 0 Td -[(originated )-121(with )-121(SVR3, )-121(and )-121(loosely)]TJ --16.831 -1.2 Td -[(corr)18(esponds to the BSD)]TJ -/TT0 1 Tf -10.598 0 Td -(SIGIO)Tj -/T1_0 1 Tf -3.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(SIGURG)Tj -/T1_0 1 Tf -3.85 0 Td -(signals.)Tj -7.9995 0 0 7.9995 237.5851 136.1918 Tm -(On Linux and Solaris,)Tj -/TT0 1 Tf -9.886 0 Td -(SIGPOLL)Tj -/T1_0 1 Tf -4.45 0 Td -(is de\336ned to have the same value as)Tj -/TT0 1 Tf -16.115 0 Td -(SIGIO)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47220 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(272)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -[(else if \(pid != 0\) {)-4800(/* parent */)]TJ -2.4 -1.189 Td -(sleep\(2\);)Tj -0 -1.189 TD -(exit\(2\); )Tj -14.4 0 Td -[(/*)-600(terminate with exit status 2 */)]TJ --16.8 -1.189 Td -(})Tj -0 -1.783 TD -(if \(\(pid = fork\(\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj --2.4 -1.189 Td -[(else if \(pid != 0\) {)-4800(/* first child */)]TJ -2.4 -1.189 Td -(sleep\(4\);)Tj -0 -1.189 TD -(abort\(\); )Tj -14.4 0 Td -[(/*)-600(terminate with core dump */)]TJ --16.8 -1.189 Td -(})Tj -0 -1.783 TD -(if \(\(pid = fork\(\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj --2.4 -1.189 Td -[(else if \(pid != 0\) {)-4800(/* second child */)]TJ -2.4 -1.189 Td -(execl\("/bin/dd", "dd", "if=/etc/passwd", "of=/dev/null", NULL\);)Tj -0 -1.189 TD -(exit\(7\); )Tj -14.4 0 Td -[(/*)-600(shouldn\325t get here */)]TJ --16.8 -1.189 Td -(})Tj -0 -1.783 TD -(if \(\(pid = fork\(\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj --2.4 -1.189 Td -[(else if \(pid != 0\) {)-4800(/* third child */)]TJ -2.4 -1.189 Td -(sleep\(8\);)Tj -0 -1.189 TD -(exit\(0\); )Tj -14.4 0 Td -[(/*)-600(normal exit */)]TJ --16.8 -1.189 Td -(})Tj -0 -1.783 TD -(sleep\(6\); )Tj -16.8 0 Td -[(/*)-600(fourth child */)]TJ --16.8 -1.189 Td -[(kill\(getpid\(\), SIGKILL\);)-2400(/* terminate w/signal, no core dump */)]TJ -0 -1.189 TD -(exit\(6\); )Tj -16.8 0 Td -[(/*)-600(shouldn\325t get here */)]TJ --19.2 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3766.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 236.4316 360.5557 Tm -(Figure 8.28)Tj -/T1_1 1 Tf -5.695 0 Td -[(Pr)18(ogram to generate accounting data)]TJ --0.092 Tc 9.9988 0 0 9.9988 147.5825 336.5586 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-131(r)8(un )-131(the )-131(test )-131(pr)18(ogram )-131(on )-131(Solaris )-131(and )-131(then )-131(use )-131(the )-131(pr)21(ogram )-131(in )-131(Figur)]TJ -0.3808 Tc 31.95 0 Td -(e8)Tj -0 Tc 1.36 0 Td -[(.29 )-131(to)]TJ --36.497 -1.2 Td -[(print out selected \336elds fr)18(om the accounting r)18(ecor)18(ds.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3174.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 307.8426 Tm -(#include "apue.h")Tj -T* -(#include )Tj -0 -1.783 TD -[(#if defined\(BSD\))-2400(/* different structure in FreeBSD */)]TJ -0 -1.189 TD -(#define acct acctv2)Tj -T* -(#define ac_flag ac_trailer.ac_flag)Tj -T* -(#define FMT "%-*.*s)Tj -0.6 Tc 12.6 0 Td -(e=%)Tj -0 Tc 3 0 Td -(.0f, chars = %.0f, %c %c %c %c\\n")Tj --15.6 -1.189 Td -(#elif defined\(HAS_AC_STAT\))Tj -T* -(#define FMT "%-*.*s)Tj -0.6 Tc 12.6 0 Td -(e=%)Tj -0 Tc 3 0 Td -(6ld, chars = %7ld, stat = %3u: %c %c %c %c\\n")Tj --15.6 -1.189 Td -(#else)Tj -0 -1.189 TD -(#define FMT "%-*.*s)Tj -0.6 Tc 12.6 0 Td -(e=%)Tj -0 Tc 3 0 Td -(6ld, chars = %7ld, %c %c %c %c\\n")Tj --15.6 -1.189 Td -(#endif)Tj -0 -1.189 TD -(#if defined\(LINUX\))Tj -T* -[(#define acct acct_v3)-2400(/* different structure in Linux */)]TJ -T* -(#endif)Tj -0 -1.783 TD -(#if !defined\(HAS_ACORE\))Tj -0 -1.189 TD -(#define ACORE 0)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47221 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.6)]TJ -/TT0 1 Tf -29.686 0 Td -(wait)Tj -/T1_0 1 Tf -2.9 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.7 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(241)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(pid_t )-1200(pid;)]TJ -T* -[(int )-2400(status;)]TJ -0 -1.783 TD -(if \(\(pid = fork\(\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj --2.4 -1.189 Td -(else if \(pid == 0\))Tj -19.2 0 Td -(/* child */)Tj --16.8 -1.189 Td -(exit\(7\);)Tj --2.4 -1.783 Td -[(if \(wait\(&status\) != pid\))-4200(/* wait for child */)]TJ -2.4 -1.189 Td -(err_sys\("wait error"\);)Tj --2.4 -1.189 Td -(pr_exit\(status\); )Tj -19.2 0 Td -[(/*)-600(and print its status */)]TJ --19.2 -1.783 Td -(if \(\(pid = fork\(\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj --2.4 -1.189 Td -(else if \(pid == 0\))Tj -19.2 0 Td -(/* child */)Tj --16.8 -1.189 Td -(abort\(\); )Tj -16.8 0 Td -[(/*)-600(generates SIGABRT */)]TJ --19.2 -1.783 Td -[(if \(wait\(&status\) != pid\))-4200(/* wait for child */)]TJ -2.4 -1.189 Td -(err_sys\("wait error"\);)Tj --2.4 -1.189 Td -(pr_exit\(status\); )Tj -19.2 0 Td -[(/*)-600(and print its status */)]TJ --19.2 -1.783 Td -(if \(\(pid = fork\(\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj --2.4 -1.189 Td -(else if \(pid == 0\))Tj -19.2 0 Td -(/* child */)Tj --16.8 -1.189 Td -(status /= 0;)Tj -16.8 0 Td -(/* divide by 0 generates SIGFPE */)Tj --19.2 -1.783 Td -[(if \(wait\(&status\) != pid\))-4200(/* wait for child */)]TJ -2.4 -1.189 Td -(err_sys\("wait error"\);)Tj --2.4 -1.189 Td -(pr_exit\(status\); )Tj -19.2 0 Td -[(/*)-600(and print its status */)]TJ --19.2 -1.783 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3016.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 241.0151 285.5637 Tm -(Figure 8.6)Tj -/T1_0 1 Tf -5.195 0 Td -(Demonstrate various)Tj -/TT0 1 Tf -9.538 0 Td -(exit)Tj -/T1_0 1 Tf -2.65 0 Td -(statuses)Tj -9.9988 0 0 9.9988 129.5845 259.1669 Tm -[(again. )-338(What)-338(we )-88(need )-88(is )-88(a )-88(function )-88(that )-88(waits )-88(for )-88(a )-88(speci\336c )-88(pr)19(ocess. )-338(This)-338(functionality)]TJ -0 -1.2 Td -[(\(and mor)18(e\) is pr)18(ovided by the POSIX.1)]TJ -/TT0 1 Tf -17.355 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.45 0 Td -(function.)Tj --20.005 -1.2 Td -[(The interpr)18(etation of the)]TJ -/T1_2 1 Tf -11.041 0 Td -(pid)Tj -/T1_0 1 Tf -1.528 0 Td -[(ar)18(gument for)]TJ -/TT0 1 Tf -6.08 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.45 0 Td -(depends on its value:)Tj -/T1_2 1 Tf --23.099 -1.8 Td -(pid)Tj -/TT0 1 Tf -1.778 0 Td -(==)Tj -/TT1 1 Tf -1.7 0 Td -(!)Tj -/T1_0 1 Tf -2.649 Tc (1W)Tj -0 Tc 4.606 0 Td -[(aits )-64(for )-64(any )-64(child )-64(pr)20(ocess. )-314(In)-313(this )-64(r)18(espect,)]TJ -/TT0 1 Tf -18.898 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.514 0 Td -[(is )-64(equivalent)]TJ --24.319 -1.2 Td -(to)Tj -/TT0 1 Tf -1.122 0 Td -(wait)Tj -/T1_0 1 Tf -(.)Tj -/T1_2 1 Tf --8.298 -1.6 Td -(pid)Tj -/TT0 1 Tf -1.778 0 Td -(>)Tj -/T1_0 1 Tf -3.798 Tc 1.1 0 Td -(0W)Tj -0 Tc 5.206 0 Td -[(aits for the child whose pr)18(ocess ID equals)]TJ -/T1_2 1 Tf -18.549 0 Td -(pid)Tj -/T1_0 1 Tf -(.)Tj -/T1_2 1 Tf --26.633 -1.6 Td -(pid)Tj -/TT0 1 Tf -1.778 0 Td -(==)Tj -/T1_0 1 Tf -3.198 Tc 1.7 0 Td -(0W)Tj -0 Tc 4.606 0 Td -[(aits )-262(for )-262(any )-262(child )-262(whose )-262(pr)18(ocess )-262(gr)18(oup )-262(ID )-262(equals )-262(that )-262(of )-262(the)]TJ --0.908 -1.2 Td -[(calling pr)18(ocess. )-250(\(W)]TJ -0.25 Tc 8.491 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(iscuss pr)18(ocess gr)18(oups in Section 9.4.\))]TJ -/T1_2 1 Tf --17.007 -1.6 Td -(pid)Tj -/TT0 1 Tf -1.778 0 Td -(<)Tj -/TT1 1 Tf -1.1 0 Td -(!)Tj -/T1_0 1 Tf -3.249 Tc (1W)Tj -0 Tc 5.206 0 Td -[(aits )-202(for )-202(any )-202(child )-202(whose )-202(pr)18(ocess )-202(gr)18(oup )-202(ID )-202(equals )-202(the )-202(absolute)]TJ --0.908 -1.2 Td -(value of)Tj -/T1_2 1 Tf -3.817 0 Td -(pid)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47222 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(842)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(923 )Tj -12 0 Td -(})Tj --12 -1.189 Td -(924 )Tj -9.6 0 Td -(})Tj --9.6 -2.021 Td -(925 )Tj -9.6 0 Td -(hp)Tj -0.6 Tc 1.8 0 Td -(=\()Tj -0 Tc 1.8 0 Td -(struct ipp_hdr *\)cp;)Tj --13.2 -1.189 Td -(926 )Tj -9.6 0 Td -(i)Tj -0.6 Tc 1.2 0 Td -(=n)Tj -0 Tc 1.8 0 Td -(tohs\(hp->status\);)Tj --12.6 -1.189 Td -(927 )Tj -9.6 0 Td -(jobid)Tj -0.6 Tc 3.6 0 Td -(=n)Tj -0 Tc 1.8 0 Td -(tohl\(hp->request_id\);)Tj --15 -2.021 Td -(928 )Tj -9.6 0 Td -[(if)-600(\(jobid != jp->jobid\) {)]TJ --9.6 -1.189 Td -(929 )Tj -12 0 Td -(/*)Tj --12 -1.189 Td -(930 )Tj -12.6 0 Td -[(*)-600(Different jobs.)-1200(Ignore it.)]TJ --12.6 -1.189 Td -(931 )Tj -12.6 0 Td -(*/)Tj --12.6 -1.189 Td -(932 )Tj -12 0 Td -[(log_msg\("jobid)-600(%d status code %d", jobid, i\);)]TJ --12 -1.189 Td -(933 )Tj -12 0 Td -(break;)Tj --12 -1.189 Td -(934 )Tj -9.6 0 Td -(})Tj --9.6 -2.021 Td -(935 )Tj -9.6 0 Td -[(if)-600(\(STATCLASS_OK\(i\)\))]TJ --9.6 -1.189 Td -(936 )Tj -12 0 Td -(success)Tj -0.6 Tc 4.8 0 Td -(=1)Tj -0 Tc 1.8 0 Td -(;)Tj --18.6 -1.189 Td -(937 )Tj -9.6 0 Td -(break;)Tj --9.6 -1.189 Td -[(938 )-4800(})]TJ -0 -1.189 TD -[(939 )-2400(})]TJ -0 -2.021 TD -[(940 )-1200(out:)]TJ -0 -1.189 TD -[(941 )-2400(free\(bp\);)]TJ -T* -[(942 )-2400(if)-600(\(nr < 0\) {)]TJ -T* -[(943 )-4800(log_msg\("jobid)-600(%d: error reading printer response: %s",)]TJ -T* -(944 )Tj -8.4 0 Td -[(jobid,)-600(strerror\(errno\)\);)]TJ --8.4 -1.189 Td -[(945 )-2400(})]TJ -T* -[(946 )-2400(return\(success\);)]TJ -T* -[(947 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3679.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 343.8967 Tm -[([923 )167(\320 )167(927])]TJ --0.092 Tc 5 0 Td -[(We )-273(g)]TJ -0 Tc 2.282 0 Td -[(et )-89(the )-89(status )-89(and )-89(job )-89(ID )-89(fr)18(om )-89(the )-89(IPP )-89(header )-89(in )-89(the )-89(message.)-589(Both )-89(ar)21(e)]TJ --2.282 -1.2 Td -[(stor)18(ed )-73(as )-73(integers )-73(in )-73(network )-73(byte )-73(or)19(der)74(,)-323(so)-323(w)]TJ -0.3228 Tc (en)Tj -0 Tc 22.079 0 Td -[(eed )-73(to )-73(convert )-73(them )-73(to )-73(the)]TJ --22.079 -1.2 Td -[(host byte or)18(der by calling)]TJ -/TT0 1 Tf -11.514 0 Td -(ntohs)Tj -/T1_1 1 Tf -3.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(ntohl)Tj -/T1_1 1 Tf -0.25 Tc (,r)Tj -0 Tc 3.877 0 Td -[(espectively)111(.)]TJ --25.584 -1.6 Td -[([928 )167(\320 )167(939])-668(If )-22(the )-22(job )-22(IDs )-22(don\325t )-22(match, )-22(then )-22(this )-22(is )-22(not )-22(our )-22(r)14(esponse, )-22(so )-22(we )-22(log )-22(a )-22(message)]TJ -5 -1.2 Td -[(and )-106(br)18(eak )-106(out )-106(of )-106(the )-106(outer)]TJ -/TT0 1 Tf -12.382 0 Td -(while)Tj -/T1_1 1 Tf -3.356 0 Td -[(loop. )-356(If)-355(the )-106(IPP )-106(status )-106(indicates )-106(success,)]TJ --15.737 -1.2 Td -[(then we save the r)18(eturn value and br)18(eak out of the loop.)]TJ --5 -1.6 Td -[([940 )167(\320 )167(947])-668(Befor)18(e)-321(we)-321(r)17(eturn, )-71(we )-71(fr)18(ee )-71(the )-71(buf)18(fer )-71(we )-71(used )-71(to )-71(hold )-71(the )-71(r)18(esponse )-71(message.)]TJ --0.092 Tc 5 -1.2 Td -[(We )-184(r)]TJ -0 Tc 2.014 0 Td -[(eturn 1 if the print r)18(equest was successful and 0 if it failed.)]TJ --5.214 -2.4 Td -[(This )-78(concludes )-78(our )-78(look )-78(at )-78(the )-78(extended )-78(example )-78(in )-78(this )-78(chapter)]TJ -0.5777 Tc 28.888 0 Td -(.T)Tj -0 Tc 1.441 0 Td -[(he )-78(pr)18(ograms )-78(in)]TJ --32.129 -1.2 Td -[(this )-76(chapter )-76(wer)]TJ -0.3262 Tc 7.292 0 Td -(et)Tj -0 Tc 1.131 0 Td -[(ested )-76(with )-76(a )-76(Xer)18(ox )-76(Phaser )-76(8560 )-76(network-attached )-76(PostScript )-76(printer)72(.)]TJ --8.423 -1.2 Td -(Unfortunately)Tj -0.5973 Tc 6.186 0 Td -(,t)Tj -0 Tc 1.173 0 Td -[(his )-347(printer )-347(doesn\325t )-347(disable )-347(its )-347(autosense )-347(featur)]TJ -0.5973 Tc 22.367 0 Td -(ew)Tj -0 Tc 1.91 0 Td -[(hen )-347(we )-347(set )-347(the)]TJ --31.636 -1.2 Td -[(document )-53(format )-53(to)]TJ -/TT0 1 Tf -9.238 0 Td -(text/plain)Tj -/T1_1 1 Tf -0.553 Tc (.T)Tj -0 Tc 7.416 0 Td -[(his )-53(led )-53(us )-53(to )-53(use )-53(a )-53(hack )-53(to )-53(trick )-53(the )-53(printer )-53(so )-53(that)]TJ --16.654 -1.2 Td -[(it )-150(wouldn\325t )-150(autosense )-150(the )-150(document )-150(format )-150(when )-150(we )-150(wanted )-150(to )-150(tr)14(eat )-150(a )-150(document )-150(as)]TJ -0 -1.2 TD -[(plaintext. )-364(An)-364(alternative )-114(is )-114(to )-114(print )-114(the )-114(sour)18(ce )-114(to )-114(a )-114(PostScript )-114(pr)18(ogram )-114(using )-114(a )-114(utility)]TJ -T* -(such as)Tj -/TT0 1 Tf -3.477 0 Td -(a2ps)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.25 Tc 0.333 -0.04 Td -(,w)Tj -0 Tc 1.334 0 Td -[(hich encapsulates the PostScript pr)18(ogram befor)]TJ -0.25 Tc 20.817 0 Td -(ep)Tj -0 Tc 1.33 0 Td -(rinting.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47223 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 436.143 708 Tm -(Bibliography)Tj -/T1_1 1 Tf -7.773 0 Td -(951)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -8.9995 0 0 8.9995 129.5922 669.9598 Tm -[(Lef)18(\337er)74(,)-568(S.)-568(J., )-318(McKusick, )-318(M. )-318(K., )-318(Kar)18(els, )-318(M. )-318(J., )-318(and )-318(Quarterman, )-318(J. )-318(S.)-819(1989.)]TJ -/T1_2 1 Tf -36.307 0 Td -[(The )-318(Design )-318(and)]TJ --33.107 -1.222 Td -(Implementation of the 4.3BSD UNIX Operating System)Tj -/T1_0 1 Tf -0.5 Tc (.A)Tj -0 Tc 24.279 0 Td -[(ddison-W)92(esley, Reading, MA.)]TJ -7.9995 0 0 7.9995 179.9891 645.6613 Tm -[(An )-227(entir)]TJ -0.477 Tc 3.892 0 Td -(eb)Tj -0 Tc 1.509 0 Td -[(ook )-227(on )-227(the )-227(4.3BSD )-227(operating )-227(system.)-727(This )-227(book )-227(describes )-227(the )-227(T)92(ahoe )-227(r)18(elease )-227(of)]TJ --5.401 -1.25 Td -[(4.3BSD. )-250(Curr)18(ently out of print.)]TJ -8.9995 0 0 8.9995 129.5921 619.1628 Tm -[(Lennert, )-540(D.)-1041(1987. )-790(\324)37(\324How )-540(to )-540(W)73(rite )-540(a )-540(UNIX )-540(Daemon,\325)36(\325)]TJ -/T1_2 1 Tf -28.257 0 Td -(;login:)Tj -/T1_0 1 Tf -0.7904 Tc (,v)Tj -0 Tc 4.161 0 Td -[(ol. 12,)-790(no. 4,)-790(pp. 17)]TJ -9.331 0.09 Td -(\320)Tj -0.583 -0.09 Td -(23)Tj --39.133 -1.222 Td -(\(July/August\).)Tj -7.9995 0 0 7.9995 179.9888 594.8643 Tm -(Describes how to write a daemon in the UNIX System.)Tj -8.9995 0 0 8.9995 129.5918 578.3653 Tm -[(Libes, )-69(D.)-568(1990. )-319(\324)38(\324expect: )-69(Curing )-69(Those )-69(Uncontr)19(ollable )-68(Fits )-68(of )-68(Interaction,\325)36(\325)]TJ -/T1_2 1 Tf -33.6 0 Td -[(Pr)18(oceedings )-68(of )-68(the )-68(1990)]TJ --30.4 -1.222 Td -[(Summer USENIX Confer)18(ence)]TJ -/T1_0 1 Tf -0.25 Tc (,p)Tj -0 Tc 13.271 0 Td -(p. 183)Tj -2.684 0.09 Td -(\320)Tj -0.583 -0.09 Td -(192, Anaheim, CA.)Tj -0.25 Tc 7.9995 0 0 7.9995 179.9885 554.0668 Tm -(Ad)Tj -0 Tc 1.639 0 Td -(escription of the)Tj -/TT0 1 Tf -7.395 0 Td -(expect)Tj -/T1_0 1 Tf -3.85 0 Td -[(pr)18(ogram and its implementation.)]TJ -8.9995 0 0 8.9995 129.5918 537.5677 Tm -[(Libes, )-61(D.)-560(1991. )-311(\324)37(\324expect: )-61(Scripts )-61(for )-61(Contr)18(olling )-61(Interactive )-61(Pr)19(ocesses,\325)37(\325)]TJ -/T1_2 1 Tf -31.864 0 Td -[(Computing )-61(Systems)]TJ -/T1_0 1 Tf -0.3108 Tc (,v)Tj -0 Tc 9.383 0 Td -(ol. 4,)Tj --38.046 -1.222 Td -(no. 2, pp. 99)Tj -5.413 0.09 Td -(\320)Tj -0.583 -0.09 Td -(125 \(Spring\).)Tj -7.9995 0 0 7.9995 179.9885 513.2692 Tm -[(This paper pr)18(esents numer)18(ous)]TJ -/TT0 1 Tf -13.675 0 Td -(expect)Tj -/T1_0 1 Tf -3.85 0 Td -(scripts.)Tj -8.9995 0 0 8.9995 129.5915 496.7702 Tm -[(Libes, D.)-500(1994.)]TJ -/T1_2 1 Tf -7.132 0 Td -(Exploring Expect)Tj -/T1_0 1 Tf -0.5 Tc (.O)Tj -0 Tc 8.582 0 Td -(\325Reilly & Associates, Sebastopol, CA.)Tj -0.25 Tc 7.9995 0 0 7.9995 179.9885 483.471 Tm -(Ac)Tj -0 Tc 1.472 0 Td -(omplete book on using the)Tj -/TT0 1 Tf -12.027 0 Td -(expect)Tj -/T1_0 1 Tf -3.85 0 Td -[(pr)18(ogram.)]TJ -8.9995 0 0 8.9995 129.5917 466.972 Tm -[(Lions, )-155(J.)-654(1977.)]TJ -/T1_2 1 Tf -0.4047 Tc 7.251 0 Td -(AC)Tj -0 Tc 1.794 0 Td -[(ommentary )-155(on )-155(the )-155(UNIX )-155(Operating )-155(System)]TJ -/T1_0 1 Tf -0.6547 Tc 18.579 0 Td -(.A)Tj -0 Tc 1.609 0 Td -[(T&T )-155(Bell )-155(Laboratories, )-155(Murray)]TJ --26.033 -1.222 Td -(Hill, NJ.)Tj -7.9995 0 0 7.9995 179.9882 442.6734 Tm -[(Describes )-29(the )-29(sour)18(ce )-29(code )-29(of )-29(the )-29(6th )-29(Edition )-29(UNIX )-29(System.)]TJ --0.092 Tc 26.634 0 Td -(Av)Tj -0 Tc 1.251 0 Td -[(ailable )-29(only )-29(to )-29(A)74(T&T )-29(employees,)]TJ --27.884 -1.25 Td -[(contractors, and interns, although copies leaked outside of A)74(T&T)74(.)]TJ -8.9995 0 0 8.9995 129.591 416.175 Tm -[(Lions, )-95(J.)-595(1996.)]TJ -/T1_2 1 Tf -7.072 0 Td -[(Lions\325 )-95(Commentary )-95(on )-95(UNIX )-95(6th )-95(Edition)]TJ -/T1_0 1 Tf -0.595 Tc (.P)Tj -0 Tc 18.897 0 Td -[(eer)18(-to-Peer )-95(Communications, )-95(San )-95(Jose,)]TJ --22.769 -1.222 Td -(CA.)Tj -7.9995 0 0 7.9995 179.9876 391.8765 Tm -(Describes the 6th Edition UNIX System in a publicly available version of\ the 1977 classic.)Tj -8.9995 0 0 8.9995 129.5906 375.3775 Tm -[(Litwin, )-44(W)]TJ -0.5441 Tc 4.387 0 Td -(.1)Tj -0 Tc 1.294 0 Td -[(980. )-294(\324)37(\324Linear )-44(Hashing: )-44(A )-44(New )-44(T)92(ool )-44(for )-44(File )-44(and )-44(T)91(able )-44(Addr)18(essing,\325)37(\325)]TJ -/T1_2 1 Tf -30.285 0 Td -[(Pr)18(oceedings )-44(of )-44(the)]TJ --32.767 -1.222 Td -[(6th International Confer)18(ence on V)92(ery Lar)18(ge Databases)]TJ -/T1_0 1 Tf -0.25 Tc (,p)Tj -0 Tc 22.954 0 Td -(p. 212)Tj -2.684 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(223, Montr)18(eal, Canada.)]TJ -0.25 Tc 7.9995 0 0 7.9995 179.9873 351.0789 Tm -(Ap)Tj -0 Tc 1.629 0 Td -(aper describing the linear hashing technique.)Tj -8.9995 0 0 8.9995 129.5903 334.5799 Tm -[(McKusick, )-393(M. )-393(K., )-393(Bostic, )-393(K., )-393(Kar)18(els, )-393(M. )-393(J., )-393(and )-393(Quarterman, )-393(J. )-393(S.)-892(1996.)]TJ -/T1_2 1 Tf -36.158 0 Td -[(The )-393(Design )-393(and)]TJ --32.958 -1.222 Td -(Implementation of the 4.4BSD Operating System)Tj -/T1_0 1 Tf -0.5 Tc (.A)Tj -0 Tc 21.418 0 Td -[(ddison-W)92(esley, Reading, MA.)]TJ -7.9995 0 0 7.9995 179.9872 310.2814 Tm -(An entir)Tj -0.25 Tc 3.665 0 Td -(eb)Tj -0 Tc 1.282 0 Td -(ook on the 4.4BSD operating system.)Tj -8.9995 0 0 8.9995 129.5902 293.7824 Tm -[(McKusick, )-204(M. )-204(K., )-204(and )-204(Neville-Neil, )-204(G. )-204(V)]TJ -0.7038 Tc 18.83 0 Td -(.2)Tj -0 Tc 1.454 0 Td -(005.)Tj -/T1_2 1 Tf -2.454 0 Td -[(The )-204(Design )-204(and )-204(Implementation )-204(of )-204(the )-204(Fr)19(eeBSD)]TJ --19.537 -1.222 Td -(Operating System)Tj -/T1_0 1 Tf -0.5 Tc (.A)Tj -0 Tc 8.89 0 Td -[(ddison-W)92(esley, Boston, MA.)]TJ -7.9995 0 0 7.9995 179.9872 269.4838 Tm -(An entir)Tj -0.25 Tc 3.665 0 Td -(eb)Tj -0 Tc 1.282 0 Td -[(ook on the Fr)18(eeBSD operating system, version 5.2.)]TJ -8.9995 0 0 8.9995 129.5902 252.9848 Tm -[(McDougall, )-40(R., )-40(and )-40(Maur)18(o, )-40(J.)-539(2007.)]TJ -/T1_2 1 Tf -16.356 0 Td -[(Solaris )-40(Internals: )-40(Solaris )-40(10 )-40(and )-40(OpenSolaris )-40(Kernel )-40(Ar)19(chitectur)18(e,)]TJ --13.156 -1.222 Td -(Second Edition)Tj -/T1_0 1 Tf -0.5 Tc (.P)Tj --0.018 Tc 7.456 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ntice Hall, Upper Saddle River)Tj -0.25 Tc 13.481 0 Td -(,N)Tj -0 Tc 1.331 0 Td -(J.)Tj -0.25 Tc 7.9995 0 0 7.9995 179.9869 228.6863 Tm -(Ab)Tj -0 Tc 1.581 0 Td -[(ook on the internals of the Solaris 10 operating system.)-500(Also covers OpenSolaris.)]TJ -8.9995 0 0 8.9995 129.5899 212.1873 Tm -[(Morris, )-192(R., )-192(and )-192(Thompson, )-192(K.)-694(1979. )-442(\324)37(\324UNIX )-192(Passwor)]TJ -0.4423 Tc 24.798 0 Td -(dS)Tj -0 Tc 1.578 0 Td -[(ecurity)111(,\325)37(\325)]TJ -/T1_2 1 Tf -4.194 0 Td -[(Communications )-192(of )-192(the )-192(ACM)]TJ -/T1_0 1 Tf -12.512 0 Td -(,)Tj --39.883 -1.222 Td -[(vol. 22, no. 1)55(1, pp. 594)]TJ -9.76 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(597 \(Nov)111(.\).)]TJ -0.25 Tc 7.9995 0 0 7.9995 179.9867 187.8887 Tm -(Ad)Tj -0 Tc 1.639 0 Td -(escription of the history of the design of the passwor)Tj -0.25 Tc 23.196 0 Td -(ds)Tj -0 Tc 1.285 0 Td -(cheme used in UNIX Systems.)Tj -8.9995 0 0 8.9995 129.5899 171.3897 Tm -[(Nemeth, )-65(E., )-65(Snyder)]TJ -0.3147 Tc 8.644 0 Td -(,G)Tj -0 Tc 1.328 0 Td -[(., )-65(Seebass, )-65(S., )-65(and )-65(Hein, )-65(T)]TJ -0.3147 Tc 11.398 0 Td -(.R)Tj -0.5647 Tc 1.233 0 Td -(.2)Tj -0 Tc 1.315 0 Td -(001.)Tj -/T1_2 1 Tf -2.315 0 Td -[(UNIX )-65(System )-65(Administration )-65(Handbook,)]TJ --23.032 -1.222 Td -(Third Edition)Tj -/T1_0 1 Tf -0.5 Tc (.P)Tj --0.018 Tc 6.882 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ntice Hall, Upper Saddle River)Tj -0.25 Tc 13.481 0 Td -(,N)Tj -0 Tc 1.331 0 Td -(J.)Tj -0.25 Tc 7.9995 0 0 7.9995 179.9863 147.0912 Tm -(Ab)Tj -0 Tc 1.581 0 Td -(ook with many details on administering a UNIX system.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47224 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(19.6)]TJ -32.654 0 Td -[(Using )-250(the)]TJ -/TT0 1 Tf -5.018 0 Td -(pty)Tj -/T1_0 1 Tf -2.3 0 Td -[(Pr)18(ogram)]TJ -/T1_1 1 Tf -5.861 0 Td -(735)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2562 5090 576 252 re -S -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 268.9959 524.8085 Tm -(terminal)Tj --0.929 -1.25 Td -(device driver)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -3354 5090 576 252 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 343.5948 519.7776 Tm -(PTY master)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -4146 5090 576 252 re -S -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 425.7514 519.7464 Tm -(PTY slave)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2562 5558 576 252 re -S -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 269.9472 571.5028 Tm -(terminal)Tj --1.225 -1.25 Td -(line discipline)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -4146 5558 576 252 re -S -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 428.2835 571.4685 Tm -(terminal)Tj --1.225 -1.25 Td -(line discipline)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2634 6170 432 252 re -S -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 277.7 632.6122 Tm -(pty)Tj -/T1_0 1 Tf --0.533 -1.25 Td -[(par)18(ent)]TJ -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -3426 6170 432 252 re -S -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 356.8501 632.5743 Tm -(pty)Tj -/T1_0 1 Tf --0.21 -1.25 Td -(child)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -1842 6170 432 252 re -S -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 196.6416 632.5363 Tm -(login)Tj -0.1 -1.25 Td -(shell)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -4218 6170 432 252 re -S -Q -BT -/TT0 1 Tf -7.9957 0 0 7.9957 435.9645 627.501 Tm -(cat)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1770.25 6098.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1770.25 6170.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1770.25 6242.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1770.25 6314.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1770.25 6386.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1770.25 6458.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1837.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1904.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1972.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2040.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2107.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2174.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2242.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2310.25 6494.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 6422.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 6350.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 6278.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 6206.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 6134.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2278.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2210.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2143.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2076.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2008.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1940.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1873.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1806.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -5.9964 0 0 5.9964 187.0038 652.2485 Tm -[(pr)18(ocess gr)18(oup)]TJ -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2562.25 6098.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2562.25 6170.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2562.25 6242.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2562.25 6314.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2562.25 6386.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2562.25 6458.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2632.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2702.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2772.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2842.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2912.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2982.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3053.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3123.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3192.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3263.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3333.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3403.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3473.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3543.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3614.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3684.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3753.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3824.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3894.25 6494.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3930.25 6422.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3930.25 6350.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3930.25 6278.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3930.25 6206.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3930.25 6134.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3860.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3789.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3720.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3650.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3579.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3509.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3439.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3369.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3299.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3228.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3159.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3089.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3018.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2948.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2878.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2808.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2738.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2668.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2598.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -5.996 0 0 5.996 305.7142 652.2094 Tm -[(pr)18(ocess gr)18(oup)]TJ -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 6098.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 6170.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 6242.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 6314.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 6386.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 6458.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4213.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4280.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4348.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4416.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4483.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4551.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4618.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4686.25 6494.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4722.25 6422.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4722.25 6350.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4722.25 6278.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4722.25 6206.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4722.25 6134.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4654.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4587.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4519.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4452.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4384.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4317.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4249.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4182.25 6098.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -5.9957 0 0 5.9957 424.4103 652.1703 Tm -[(pr)18(ocess gr)18(oup)]TJ -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1698.25 5954.25 cm -0 0 m -0 108 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1698.25 6146.25 cm -0 0 m -0 108 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1698.25 6338.25 cm -0 0 m -0 108 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1698.25 6530.25 cm -0 0 m -0 108 l -108 108 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1917.25 6638.25 cm -0 0 m -108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2137.25 6638.25 cm -0 0 m -108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2357.25 6638.25 cm -0 0 m -108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2576.25 6638.25 cm -0 0 m -108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2796.25 6638.25 cm -0 0 m -108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3015.25 6638.25 cm -0 0 m -108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3235.25 6638.25 cm -0 0 m -108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3455.25 6638.25 cm -0 0 m -108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3674.25 6638.25 cm -0 0 m -108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3894.25 6638.25 cm -0 0 m -108 0 l -108 -108 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4002.25 6446.25 cm -0 0 m -0 -108 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4002.25 6254.25 cm -0 0 m -0 -108 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4002.25 6062.25 cm -0 0 m -0 -108 l --108 -108 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3782.25 5954.25 cm -0 0 m --108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3563.25 5954.25 cm -0 0 m --108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3343.25 5954.25 cm -0 0 m --108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3123.25 5954.25 cm -0 0 m --108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2904.25 5954.25 cm -0 0 m --108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2684.25 5954.25 cm -0 0 m --108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2465.25 5954.25 cm -0 0 m --108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2245.25 5954.25 cm -0 0 m --108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2025.25 5954.25 cm -0 0 m --108 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1806.25 5954.25 cm -0 0 m --108 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9938 0 0 7.9938 272.1077 666.5199 Tm -(session)Tj -ET -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4074.25 5954.25 cm -0 0 m -0 108 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4074.25 6146.25 cm -0 0 m -0 108 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4074.25 6338.25 cm -0 0 m -0 108 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4074.25 6530.25 cm -0 0 m -0 108 l -108 108 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4278.25 6638.25 cm -0 0 m -108 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4482.25 6638.25 cm -0 0 m -108 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4686.25 6638.25 cm -0 0 m -108 0 l -108 -108 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4794.25 6446.25 cm -0 0 m -0 -108 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4794.25 6254.25 cm -0 0 m -0 -108 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4794.25 6062.25 cm -0 0 m -0 -108 l --108 -108 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4590.25 5954.25 cm -0 0 m --108 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4386.25 5954.25 cm -0 0 m --108 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4182.25 5954.25 cm -0 0 m --108 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9933 0 0 7.9933 430.3583 666.4799 Tm -(session)Tj -ET -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 275.424 534.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 2754.24 5342 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2754.25 5558.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 294.576 555.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 2945.76 5558 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2946.25 5486.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 433.824 534.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 4338.2402 5342 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4338.25 5558.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 452.976 555.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 4529.7598 5558 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4530.25 5486.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 277.8 581 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 2778 5810 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 6170.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 292.2 617 cm -0 0 m -6.336 -3.888 l -3.744 -6.408 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 2922 6170 cm -0 0 m -63.36 -38.88 l -37.44 -64.08 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3738.25 5342.25 cm -0 0 m --766 777 l -S -Q -Q -q -0.9988007 0 0 0.9988007 0 0 cm -q 1 0 0 1 436.2 581 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -1 j 1 J -q 1 0 0 1 4362 5810 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4362.25 6170.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9987408 0 0 0.9987408 0 0 cm -q 1 0 0 1 450.6 617 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -1 j 1 J -q 1 0 0 1 4506 6170 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4506.25 6098.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9986808 0 0 0.9986808 0 0 cm -q 1 0 0 1 357 534.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -1 j 1 J -q 1 0 0 1 3570 5342 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3570.25 6170.25 cm -0 0 m -0 -756 l -S -Q -Q -q -0.9986209 0 0 0.9986209 0 0 cm -q 1 0 0 1 371.4 617 cm -0 0 m --5.76 -4.68 l --7.272 -1.44 l -f -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -1 j 1 J -q 1 0 0 1 3714 6170 cm -0 0 m --57.6 -46.8 l --72.72 -14.4 l -h -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2946.25 5810.25 cm -0 0 m -702 330 l -S -Q -Q -q -0.998561 0 0 0.998561 0 0 cm -q 1 0 0 1 433.824 494.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -1 j 1 J -q 1 0 0 1 4338.2402 4946 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4338.25 5090.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9985011 0 0 0.9985011 0 0 cm -q 1 0 0 1 373.776 509 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -1 j 1 J -q 1 0 0 1 3737.76 5090 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3738.25 5018.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9984412 0 0 0.9984412 0 0 cm -q 1 0 0 1 373.776 494.6 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -1 j 1 J -q 1 0 0 1 3737.76 4946 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4338.25 4946.25 cm -0 0 m --528 0 l -S -Q -Q -q -0.9983813 0 0 0.9983813 0 0 cm -q 1 0 0 1 452.976 509 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -1 j 1 J -q 1 0 0 1 4529.7598 5090 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4530.25 5018.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9983214 0 0 0.9983214 0 0 cm -q 1 0 0 1 354.624 487.4 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -1 j 1 J -q 1 0 0 1 3546.24 4874 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3546.25 5090.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9982615 0 0 0.9982615 0 0 cm -q 1 0 0 1 452.976 487.4 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -1 j 1 J -q 1 0 0 1 4529.7598 4874 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3546.25 4874.25 cm -0 0 m -912 0 l -S -Q -Q -q -0.9982016 0 0 0.9982016 0 0 cm -q 1 0 0 1 285 509 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998202 0 0 0.0998202 0 0 cm -1 j 1 J -q 1 0 0 1 2850 5090 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9981417 0 0 0.9981417 0 0 cm -q 1 0 0 1 285 480.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -1 j 1 J -q 1 0 0 1 2850 4802 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2850.25 5018.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3066 4676 cm -0 0 m -0 -69.59 -96.71 -126 -216 -126 c --335.29 -126 -432 -69.59 -432 0 c --432 69.59 -335.29 126 -216 126 c --96.71 126 0 69.59 0 0 c -h -S -Q -Q -BT -/T1_0 1 Tf -7.9847 0 0 7.9847 269.5739 469.9368 Tm -(user at a)Tj --0.01 -1.25 Td -(terminal)Tj -/T1_1 1 Tf --5.349 -3.88 Td -(Figure 19.13)Tj -/T1_0 1 Tf -6.195 0 Td -[(Pr)18(ocess gr)18(oups and sessions for)]TJ -/TT0 1 Tf -14.216 0 Td -[(pty )267(cat)]TJ -/T1_0 1 Tf -9.9808 0 0 9.9808 129.3514 400.231 Tm -[(belongs )-186(to )-186(an )-186(orphaned )-186(pr)16(ocess )-187(gr)18(oup )-187(\(Section )-187(9.10\).)-687(The )-187(par)18(ent )-187(of)]TJ -/TT0 1 Tf -31.988 0 Td -(cat)Tj -/T1_0 1 Tf -2.237 0 Td -[(is )-187(the)]TJ -/TT0 1 Tf -2.975 0 Td -(pty)Tj -/T1_0 1 Tf --37.2 -1.2 Td -[(par)18(ent, and it belongs to another session.)]TJ -1.8 -1.2 Td -(Historically)Tj -0.2705 Tc 5.076 0 Td -(,i)Tj -0 Tc 0.811 0 Td -[(mplementations )-20(have )-20(handled )-20(this )-20(condition )-20(dif)16(fer)18(ently)]TJ -0.5205 Tc 24.698 0 Td -(.P)Tj -0 Tc 1.374 0 Td -[(OSIX.1 )-20(says)]TJ --33.761 -1.2 Td -[(only )-94(that )-94(the)]TJ -/TT0 1 Tf -6.128 0 Td -(SIGTSTP)Tj -/T1_0 1 Tf -4.544 0 Td -[(signal )-94(can\325t )-94(be )-94(deliver)18(ed )-94(to )-94(the )-94(pr)17(ocess. )-344(Systems)-344(derived )-94(fr)18(om)]TJ --10.672 -1.2 Td -[(4.3BSD )-50(deliver)18(ed)]TJ -/TT0 1 Tf -7.942 0 Td -(SIGKILL)Tj -/T1_0 1 Tf -4.5 0 Td -[(instead, )-50(which )-50(the )-50(pr)18(ocess )-50(can\325t )-50(even )-50(catch.)-548(In )-50(4.4BSD, )-50(this)]TJ --12.442 -1.2 Td -[(behavior )-23(was )-23(changed )-23(to )-23(conform )-23(to )-23(POSIX.1.)-523(Instead )-23(of )-23(sending)]TJ -/TT0 1 Tf -29.457 0 Td -(SIGKILL)Tj -/T1_0 1 Tf -0.273 Tc (,t)Tj -0 Tc 5.049 0 Td -[(he )-23(4.4BSD)]TJ --34.506 -1.2 Td -[(kernel )-53(silently )-53(discar)18(ds )-53(the)]TJ -/TT0 1 Tf -12.303 0 Td -(SIGTSTP)Tj -/T1_0 1 Tf -4.503 0 Td -[(signal )-53(if )-53(it )-53(has )-53(the )-53(default )-53(disposition )-53(and )-53(is )-53(to )-53(be)]TJ --16.805 -1.2 Td -[(deliver)18(ed )-158(to )-158(a )-158(pr)18(ocess )-158(in )-158(an )-158(orphaned )-158(pr)18(ocess )-158(gr)17(oup. )-408(Most)-408(curr)18(ent )-158(implementations)]TJ --0 -1.2 Td -[(follow this behavior)74(.)]TJ -1.8 -1.2 Td -[(When )-67(we )-67(use)]TJ -/TT0 1 Tf -6.414 0 Td -(pty)Tj -/T1_0 1 Tf -2.117 0 Td -[(to )-67(r)8(un )-67(a )-67(job-contr)18(ol )-67(shell, )-67(the )-67(jobs )-67(invoked )-67(by )-67(this )-67(new )-67(shell )-67(ar)16(e)]TJ --10.331 -1.2 Td -[(never )-214(members )-214(of )-214(an )-214(orphaned )-214(pr)18(ocess )-214(gr)20(oup, )-214(because )-214(the )-214(job-contr)18(ol )-214(shell )-214(always)]TJ -0 -1.2 TD -[(belongs )-190(to )-190(the )-190(same )-190(session.)-690(In )-190(that )-190(case, )-190(the )-190(Contr)14(ol)]TJ -25.124 0.09 Td -(-)Tj -0.4404 Tc 0.333 -0.09 Td -(Zt)Tj -0 Tc 1.433 0 Td -[(hat )-190(we )-190(type )-190(is )-190(sent )-190(to )-190(the)]TJ --26.89 -1.2 Td -[(pr)18(ocess invoked by the shell, not to the shell itself.)]TJ -1.8 -1.2 Td -[(The )-247(only )-247(way )-247(to )-247(avoid )-247(this )-247(inability )-247(of )-247(the )-247(pr)18(ocess )-247(invoked )-247(by)]TJ -/TT0 1 Tf -30.49 0 Td -(pty)Tj -/T1_0 1 Tf -2.297 0 Td -[(to )-247(handle)]TJ --34.586 -1.2 Td -[(job-contr)18(ol signals is to add yet another command)]TJ -22.127 0.09 Td -(-)Tj -0.333 -0.09 Td -(line \337ag to)Tj -/TT0 1 Tf -4.93 0 Td -(pty)Tj -/T1_0 1 Tf -0.2503 Tc (,t)Tj -0 Tc 2.626 0 Td -[(elling it to r)17(ecognize)]TJ --30.016 -1.2 Td -[(the )-28(job )-28(contr)18(ol )-28(suspend )-28(character )-28(itself )-28(\(in )-28(the)]TJ -/TT0 1 Tf -20.584 0 Td -(pty)Tj -/T1_0 1 Tf -2.078 0 Td -[(child\) )-28(instead )-28(of )-28(letting )-28(the )-28(character)]TJ --22.662 -1.2 Td -[(get all the way thr)18(ough to the other line discipline.)]TJ -/TT1 1 Tf --0.04 Tc -3.6 -2.76 Td -(Wa)Tj -0 Tc 1.46 0 Td -[(tc)10(hing the Output of Long-Running Pr)20(ograms)]TJ -/T1_0 1 Tf -2.14 -2.04 Td -[(Another )-269(example )-269(of )-269(job )-269(contr)18(ol )-269(interaction )-269(with )-269(the)]TJ -/TT0 1 Tf -25.096 0 Td -(pty)Tj -/T1_0 1 Tf -2.319 0 Td -[(pr)18(ogram )-269(is )-269(found )-269(in )-269(the)]TJ --27.416 -1.2 Td -[(con\336guration )-145(illustrated )-145(in )-145(Figur)]TJ -0.3952 Tc 14.955 0 Td -(e1)Tj -0 Tc 1.374 0 Td -[(9.7. )-395(If)-395(we )-145(r)8(un )-145(the )-145(pr)18(ogram )-145(that )-145(generates )-145(output)]TJ --16.329 -1.2 Td -(slowly as)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47225 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.2)]TJ -41.434 0 Td -(Pipes)Tj -/T1_1 1 Tf -4.399 0 Td -(535)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Despite )-63(these )-63(limitations, )-63(half-duplex )-63(pipes )-63(ar)]TJ -0.3135 Tc 20.645 0 Td -(es)Tj -0 Tc 1.216 0 Td -[(till )-64(the )-64(most )-64(commonly )-64(used )-64(form)]TJ --23.662 -1.2 Td -[(of )-177(IPC.)-677(Every )-177(time )-177(you )-177(type )-177(a )-177(sequence )-177(of )-177(commands )-177(in )-177(a )-177(pipeline )-177(for )-177(the )-177(shell )-177(to)]TJ -0 -1.2 TD -[(execute, )-101(the )-101(shell )-101(cr)18(eates )-101(a )-101(separate )-101(pr)18(ocess )-101(for )-101(each )-101(command )-101(and )-101(links )-101(the )-101(standar)22(d)]TJ -T* -[(output of one pr)18(ocess to the standar)]TJ -0.25 Tc 15.865 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput of the next using a pipe.)Tj -0.25 Tc -15.217 -1.2 Td -(Ap)Tj -0 Tc 1.629 0 Td -[(ipe is cr)18(eated by calling the)]TJ -/TT0 1 Tf -12.253 0 Td -(pipe)Tj -/T1_0 1 Tf -2.65 0 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5906 604.2637 Tm -(#include )Tj -0 -1.783 TD -(int pipe\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(fd[2])Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -19.051 -1.783 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5677.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.09 Tc 9.9988 0 0 9.9988 129.5844 554.1335 Tm -(Tw)Tj -0.2718 Tc 1.357 0 Td -(o\336)Tj -0 Tc 1.423 0 Td -[(le )-22(descriptors )-22(ar)]TJ -0.2718 Tc 7.127 0 Td -(er)Tj -0 Tc 1.128 0 Td -[(eturned )-22(thr)18(ough )-22(the)]TJ -/T1_2 1 Tf -9.249 0 Td -(fd)Tj -/T1_0 1 Tf -1.05 0 Td -[(ar)18(gument:)]TJ -/T1_2 1 Tf -4.828 0 Td -(fd[0])Tj -/T1_0 1 Tf -2.216 0 Td -[(is )-22(open )-22(for )-22(r)19(eading, )-22(and)]TJ -/T1_2 1 Tf --28.377 -1.2 Td -(fd[1])Tj -/T1_0 1 Tf -2.194 0 Td -[(is open for writing.)-500(The output of)]TJ -/T1_2 1 Tf -15.28 0 Td -(fd[1])Tj -/T1_0 1 Tf -2.194 0 Td -(is the input for)Tj -/T1_2 1 Tf -6.779 0 Td -(fd[0])Tj -/T1_0 1 Tf -(.)Tj -7.999 0 0 7.999 183.578 522.1373 Tm -[(Originally )-36(in )-36(4.3BSD )-36(and )-36(4.4BSD, )-36(pipes )-36(wer)]TJ -0.2864 Tc 19.479 0 Td -(ei)Tj -0 Tc 1.056 0 Td -[(mplemented )-36(using )-36(UNIX )-36(domain )-36(sockets.)-538(Even)]TJ --20.536 -1.25 Td -[(though )-59(UNIX )-59(domain )-59(sockets )-59(ar)]TJ -0.3091 Tc 14.534 0 Td -(ef)Tj -0 Tc 1.121 0 Td -[(ull )-59(duplex )-59(by )-59(default, )-59(these )-59(operating )-59(systems )-59(hobbled )-59(the)]TJ --15.655 -1.25 Td -[(sockets used with pipes so that they operated in half-duplex mode only)111(.)]TJ -0 -1.875 TD -[(POSIX.1 )-45(allows )-45(for )-45(implementations )-45(to )-45(support )-45(full-duplex )-45(pipes.)-545(For )-45(these )-45(implementations,)]TJ -/T1_2 1 Tf -0 -1.25 TD -(fd[0])Tj -/T1_0 1 Tf -2.194 0 Td -(and)Tj -/T1_2 1 Tf -1.943 0 Td -(fd[1])Tj -/T1_0 1 Tf -2.194 0 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(eo)Tj -0 Tc 1.275 0 Td -[(pen for both r)18(eading and writing.)]TJ --0.09 Tc 9.9988 0 0 9.9988 147.5827 457.1451 Tm -(Tw)Tj -0.3588 Tc 1.357 0 Td -(ow)Tj -0 Tc 1.739 0 Td -[(ays )-109(to )-109(pictur)]TJ -0.3588 Tc 5.712 0 Td -(eah)Tj -0 Tc 2.279 0 Td -[(alf-duplex )-109(pipe )-109(ar)]TJ -0.3587 Tc 8.124 0 Td -(es)Tj -0 Tc 1.262 0 Td -[(hown )-109(in )-109(Figur)]TJ -0.3587 Tc 6.517 0 Td -(e1)Tj -0 Tc 1.338 0 Td -[(5.2. )-359(The)-358(left )-109(half )-109(of)]TJ --30.127 -1.2 Td -[(the )-59(\336gur)]TJ -0.3088 Tc 3.837 0 Td -(es)Tj -0 Tc 1.212 0 Td -[(hows )-59(the )-59(two )-59(ends )-59(of )-59(the )-59(pipe )-59(connected )-59(in )-59(a )-59(single )-59(pr)19(ocess. )-309(The)-309(right )-59(half)]TJ --5.049 -1.2 Td -(of the \336gur)Tj -0.25 Tc 4.907 0 Td -(ee)Tj -0 Tc 1.208 0 Td -[(mphasizes that the data in the pipe \337ows thr)18(ough the kernel.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1650.84 3704 720 360 re -S -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 303.4654 386.5704 Tm -(or)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -3774.84 3704 720 360 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 171.0429 373.5503 Tm -[(fd[0])-1500(fd[1])]TJ -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 183.084 370.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 1830.84 3704 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1830.84 3696.8 cm -0 0 m -0 -68.4 l -0 -114 30 -148.8 90 -172.8 c -150 -196.8 210 -196.8 270 -172.8 c -330 -148.8 360 -112.8 360 -64.8 c -360 7.2 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 179.2462 409.5171 Tm -[(user pr)18(ocess)]TJ -26.55 0 Td -[(user pr)18(ocess)]TJ -/TT0 1 Tf --1.027 -4.5 Td -[(fd[0])-1500(fd[1])]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -3702.84 2912 864 432 re -S -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 402.2112 284.3376 Tm -(kernel)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -3846.84 3056 576 144 re -S -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 405.4257 310.9094 Tm -(pipe)Tj -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 395.484 370.4 cm -0 0 m --4.32 -6.048 l --6.624 -3.312 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3954.8401 3704 cm -0 0 m --43.2 -60.48 l --66.24 -33.12 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3949.0801 3699.6799 cm -0 0 m --339.12 -285.84 l --565.2 -476.4 -582.24 -571.68 -390.24 -571.68 c --102.24 -571.68 l -S -Q -Q -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 442.284 312.8 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 4422.8398 3128 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4314.8398 3704 cm -0 0 m -342 -288 l -570 -480 589.2 -576 399.6 -576 c -115.2 -576 l -S -Q -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 236.2124 265.8564 Tm -(Figure 15.2)Tj -/T1_0 1 Tf --0.09 Tc 5.695 0 Td -(Tw)Tj -0.25 Tc 1.357 0 Td -(ow)Tj -0 Tc 1.63 0 Td -(ays to view a half-duplex pipe)Tj -9.9946 0 0 9.9946 147.5202 239.4706 Tm -(The)Tj -/TT0 1 Tf -1.95 0 Td -(fstat)Tj -/T1_0 1 Tf -3.276 0 Td -[(function )-26(\(Section )-26(4.2\) )-26(r)18(eturns )-26(a )-26(\336le )-26(type )-26(of )-26(FIFO )-26(for )-26(the )-26(\336le )-26(descriptor )-26(of)]TJ --7.027 -1.2 Td -(either end of a pipe.)Tj --0.092 Tc 9.325 0 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -(an test for a pipe with the)Tj -/TT0 1 Tf -11.553 0 Td -(S_ISFIFO)Tj -/T1_0 1 Tf -5.05 0 Td -[(macr)18(o.)]TJ -7.9957 0 0 7.9957 183.501 207.4879 Tm -[(POSIX.1 )-125(states )-125(that )-125(the)]TJ -/TT0 1 Tf -10.768 0 Td -(st_size)Tj -/T1_0 1 Tf -4.575 0 Td -[(member )-125(of )-125(the)]TJ -/TT0 1 Tf -7.062 0 Td -(stat)Tj -/T1_0 1 Tf -2.775 0 Td -[(str)8(uctur)]TJ -0.3748 Tc 3.49 0 Td -(ei)Tj -0.3749 Tc 1.145 0 Td -(su)Tj -0 Tc 1.402 0 Td -[(nde\336ned )-125(for )-125(pipes.)-625(But)]TJ --31.216 -1.25 Td -[(when )-96(the)]TJ -/TT0 1 Tf -4.556 0 Td -(fstat)Tj -/T1_0 1 Tf -3.346 0 Td -[(function )-96(is )-96(applied )-96(to )-96(the )-96(\336le )-96(descriptor )-96(for )-96(the )-96(r)18(ead )-96(end )-96(of )-96(the )-96(pipe, )-96(many)]TJ --7.903 -1.25 Td -[(systems )-211(stor)]TJ -0.4609 Tc 5.65 0 Td -(ei)Tj -0 Tc 1.231 0 Td -(n)Tj -/TT0 1 Tf -1.043 0 Td -(st_size)Tj -/T1_0 1 Tf -4.661 0 Td -[(the )-211(number )-211(of )-211(bytes )-211(available )-211(for )-211(r)18(eading )-211(in )-211(the )-211(pipe.)-711(This )-211(is,)]TJ --12.584 -1.25 Td -(however)Tj -0.25 Tc 3.806 0 Td -(,n)Tj -0 Tc 1.082 0 Td -(onportable.)Tj -0.3232 Tc 9.9946 0 0 9.9946 147.5197 157.5149 Tm -(Ap)Tj -0 Tc 1.702 0 Td -[(ipe )-73(in )-73(a )-73(single )-73(pr)17(ocess )-73(is )-73(next )-73(to )-73(useless.)-573(Normally)]TJ -0.3231 Tc 22.866 0 Td -(,t)Tj -0 Tc 0.899 0 Td -[(he )-73(pr)18(ocess )-73(that )-73(calls)]TJ -/TT0 1 Tf -9.332 0 Td -(pipe)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(then )-165(calls)]TJ -/TT0 1 Tf -4.75 0 Td -(fork)Tj -/T1_0 1 Tf -0.4154 Tc (,c)Tj --0.018 Tc 3.509 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ating )-165(an )-165(IPC )-165(channel )-165(fr)16(om )-165(the )-165(par)18(ent )-165(to )-165(the )-165(child, )-165(or )-165(vice )-165(versa.)]TJ --9.115 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.3 shows this scenario.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47226 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(5.5)]TJ -35.366 0 Td -[(Opening )-250(a )-250(Str)18(eam)]TJ -/T1_1 1 Tf -10.467 0 Td -(149)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(text )-156(\336le )-156(and )-156(a )-156(binary )-156(\336le.)-656(Since )-156(the )-156(UNIX )-156(kernel )-156(doesn\325t )-156(dif)22(fer)18(entiate )-156(between )-156(these)]TJ --0 -1.2 Td -(types of \336les, specifying the character)Tj -/TT0 1 Tf -16.823 0 Td -(b)Tj -/T1_0 1 Tf -0.85 0 Td -(as part of the)Tj -/T1_2 1 Tf -6.012 0 Td -(type)Tj -/T1_0 1 Tf -1.972 0 Td -[(has no ef)18(fect.)]TJ --0.055 Tc -23.857 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj -/TT0 1 Tf -1.192 0 Td -(fdopen)Tj -/T1_0 1 Tf -0.2839 Tc (,t)Tj -0 Tc 4.46 0 Td -[(he )-34(meanings )-34(of )-34(the)]TJ -/T1_2 1 Tf -8.759 0 Td -(type)Tj -/T1_0 1 Tf -2.006 0 Td -[(ar)18(gument )-34(dif)18(fer )-34(slightly)]TJ -0.5338 Tc 10.504 0 Td -(.T)Tj -0 Tc 1.397 0 Td -[(he )-34(descriptor )-34(has)]TJ --31.353 -1.2 Td -[(alr)18(eady )-5(been )-5(opened, )-5(so )-5(opening )-5(for )-5(writing )-5(does )-5(not )-5(tr)8(uncate )-5(the )-5(\336le.)-505(\(If )-5(the )-5(descriptor)]TJ -0 -1.2 TD -[(was )-317(cr)18(eated )-317(by )-317(the)]TJ -/TT0 1 Tf -9.737 0 Td -(open)Tj -/T1_0 1 Tf -2.967 0 Td -[(function, )-317(for )-317(example, )-317(and )-317(the )-317(\336le )-317(alr)19(eady )-317(existed, )-317(the)]TJ -/TT0 1 Tf --12.704 -1.2 Td -(O_TRUNC)Tj -/T1_0 1 Tf -4.673 0 Td -[(\337ag )-223(would )-223(contr)18(ol )-223(whether )-223(the )-223(\336le )-223(was )-223(tr)8(uncated. )-473(The)]TJ -/TT0 1 Tf -26.547 0 Td -(fdopen)Tj -/T1_0 1 Tf -4.073 0 Td -(function)Tj --35.293 -1.2 Td -[(cannot )-133(simply )-133(tr)8(uncate )-133(any )-133(\336le )-133(it )-133(opens )-133(for )-133(writing.\))-629(Also, )-132(the )-132(standar)]TJ -0.3825 Tc 32.521 0 Td -(dI)Tj -0 Tc 1.33 0 Td -[(/O )-132(append)]TJ --33.852 -1.2 Td -[(mode cannot cr)18(eate the \336le \(since the \336le has to exist if a descriptor r)18(efers to it\).)]TJ -1.8 -1.2 Td -[(When )-60(a )-60(\336le )-60(is )-60(opened )-60(with )-60(a )-60(type )-60(of )-60(append, )-60(each )-60(write )-60(will )-60(take )-60(place )-60(at )-60(the )-60(then)]TJ --1.8 -1.2 Td -[(curr)18(ent )-207(end )-207(of )-207(\336le.)-707(If )-207(multiple )-207(pr)18(ocesses )-207(open )-207(the )-207(same )-207(\336le )-207(with )-207(the )-207(standar)]TJ -0.457 Tc 36.203 0 Td -(dI)Tj -0 Tc 1.405 0 Td -(/O)Tj --37.608 -1.2 Td -[(append mode, the data fr)18(om each pr)18(ocess will be corr)18(ectly written to the \336le.)]TJ --0.111 Tc 7.9995 0 0 7.9995 183.5885 528.9683 Tm -(Ve)Tj -0 Tc 1.09 0 Td -[(rsions )-51(of)]TJ -/TT0 1 Tf -4.143 0 Td -(fopen)Tj -/T1_0 1 Tf -3.301 0 Td -[(fr)18(om )-51(Berkeley )-51(befor)]TJ -0.301 Tc 8.875 0 Td -(e4)Tj -0 Tc 1.28 0 Td -[(.4BSD )-51(and )-51(the )-51(simple )-51(version )-51(shown )-51(on )-51(page )-51(177 )-51(of)]TJ --18.689 -1.25 Td -[(Kernighan )-47(and )-47(Ritchie)]TJ -10.359 0.04 Td -([)Tj -0.333 -0.04 Td -(1988)Tj -2 0.04 Td -(])Tj -0.63 -0.04 Td -[(do )-47(not )-47(handle )-47(the )-47(append )-47(mode )-47(corr)17(ectly)]TJ -0.5473 Tc 18.467 0 Td -(.T)Tj -0 Tc 1.41 0 Td -[(hese )-47(versions )-47(do )-47(an)]TJ -/TT0 1 Tf --33.199 -1.25 Td -(lseek)Tj -/T1_0 1 Tf -3.359 0 Td -[(to )-109(the )-109(end )-109(of )-109(\336le )-109(when )-109(the )-109(str)18(eam )-109(is )-109(opened.)]TJ --0.092 Tc 21.143 0 Td -[(To )-293(c)]TJ -0 Tc 1.87 0 Td -[(orr)18(ectly )-109(support )-109(the )-109(append )-109(mode)]TJ --26.373 -1.25 Td -[(when )-23(multiple )-23(pr)18(ocesses )-23(ar)]TJ -0.2735 Tc 12.138 0 Td -(ei)Tj -0 Tc 1.044 0 Td -[(nvolved, )-23(the )-23(\336le )-23(must )-23(be )-23(opened )-23(with )-23(the)]TJ -/TT0 1 Tf -18.825 0 Td -(O_APPEND)Tj -/T1_0 1 Tf -5.073 0 Td -[(\337ag, )-23(which)]TJ --37.08 -1.25 Td -[(we )-201(discussed )-201(in )-201(Section )-201(3.3.)-702(Doing )-201(an)]TJ -/TT0 1 Tf -18.43 0 Td -(lseek)Tj -/T1_0 1 Tf -3.451 0 Td -(befor)Tj -0.4514 Tc 2.288 0 Td -(ee)Tj -0 Tc 1.409 0 Td -[(ach )-201(write )-201(won\325t )-201(work )-201(either)73(,)-451(as)-451(w)-1(e)]TJ --25.579 -1.25 Td -[(discussed in Section 3.1)55(1.)]TJ -9.9994 0 0 9.9994 147.5899 458.9725 Tm -[(When )-235(a )-235(\336le )-235(is )-235(opened )-235(for )-235(r)20(eading )-234(and )-234(writing )-234(\(the )-234(plus )-234(sign )-234(in )-234(the)]TJ -/T1_2 1 Tf -32.705 0 Td -(type)Tj -/T1_0 1 Tf -[(\), )-234(two)]TJ --0.018 Tc -34.505 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(strictions apply)111(.)]TJ -0.883 Tc 0.944 -1.8 Td -(\245O)Tj -0 Tc 2.275 0 Td -[(utput )-157(cannot )-157(be )-157(dir)18(ectly )-157(followed )-157(by )-157(input )-157(without )-157(an )-157(intervening)]TJ -/TT0 1 Tf -31.075 0 Td -(fflush)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf --31.861 -1.2 Td -(fseek)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.5 0 Td -(fsetpos)Tj -/T1_0 1 Tf -0.25 Tc (,o)Tj -0 Tc 5.246 0 Td -(r)Tj -/TT0 1 Tf -0.645 0 Td -(rewind)Tj -/T1_0 1 Tf -(.)Tj -0.883 Tc -10.88 -1.36 Td -(\245I)Tj -0 Tc 1.826 0 Td -[(nput )-236(cannot )-236(be )-236(dir)18(ectly )-236(followed )-236(by )-236(output )-236(without )-236(an )-236(intervening)]TJ -/TT0 1 Tf -32.124 0 Td -(fseek)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf --32.461 -1.2 Td -(fsetpos)Tj -/T1_0 1 Tf -0.25 Tc (,o)Tj -0 Tc 5.246 0 Td -(r)Tj -/TT0 1 Tf -0.645 0 Td -(rewind)Tj -/T1_0 1 Tf -[(,)-250(or)-250(an)-250(input operation that encounters an end of \336le.)]TJ --0.092 Tc -7.38 -1.8 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -[(an summarize the six ways to open a str)18(eam fr)18(om Figur)]TJ -0.25 Tc 24.563 0 Td -(e5)Tj -0 Tc 1.229 0 Td -(.2 in Figur)Tj -0.25 Tc 4.506 0 Td -(e5)Tj -0 Tc 1.229 0 Td -(.3.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1950.25 3546.25 cm -0 0 m -2592 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 240.6831 346.5584 Tm -(Restriction)Tj -/TT0 1 Tf -2.1 Tc 11.785 0 Td -(rwa)Tj -0 Tc 7.8 0 Td -[(r+ )-900(w+ )-900(a+)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1950.25 3426.25 cm -0 0 m -2592 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1950.25 3406.25 cm -0 0 m -2592 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 198.9762 332.5401 Tm -[(\336le must alr)18(eady exist)]TJ -7.494 Tc 16.994 0 Td -(\245\245)Tj -0 Tc -16.994 -1.25 Td -[(pr)18(evious contents of \336le discar)18(ded )-4247(\245)]TJ -27.794 0 Td -(\245)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1950.25 3186.25 cm -0 0 m -2592 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 198.9642 310.5255 Tm -[(str)18(eam can be r)18(ead )]TJ -16.994 0 Td -(\245)Tj -2.094 Tc 8.1 0 Td -(\245\245\245)Tj -0 Tc -25.094 -1.25 Td -[(str)18(eam can be written)]TJ -2.094 Tc 19.694 0 Td -(\245\245\245\245\245)Tj -0 Tc -19.694 -1.25 Td -[(str)18(eam can be written only at end)]TJ -7.494 Tc 22.394 0 Td -(\245\245)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1950.25 2866.25 cm -0 0 m -2592 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4346.25 2866.25 cm -0 0 m -0 680 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4130.25 2866.25 cm -0 0 m -0 680 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3914.25 2866.25 cm -0 0 m -0 680 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3698.25 2866.25 cm -0 0 m -0 680 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3482.25 2866.25 cm -0 0 m -0 680 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3266.25 2866.25 cm -0 0 m -0 680 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4542.25 2866.25 cm -0 0 m -0 680 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1950.25 2866.25 cm -0 0 m -0 680 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 7.9976 0 0 7.9976 233.25 268.5194 Tm -(Figure 5.3)Tj -/T1_0 1 Tf -5.195 0 Td -(Six ways to open a standar)Tj -0.25 Tc 11.796 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O str)18(eam)]TJ -9.997 0 0 9.997 129.5613 244.5266 Tm -[(Note )-47(that )-47(if )-47(a )-47(new )-47(\336le )-47(is )-47(cr)18(eated )-47(by )-47(specifying )-47(a)]TJ -/T1_2 1 Tf -21.671 0 Td -(type)Tj -/T1_0 1 Tf -2.019 0 Td -[(of )-47(either)]TJ -/TT0 1 Tf -4.024 0 Td -(w)Tj -/T1_0 1 Tf -0.897 0 Td -(or)Tj -/TT0 1 Tf -1.238 0 Td -(a)Tj -/T1_0 1 Tf -[(,)-297(we)-297(a)]TJ --0.018 Tc 3.256 0 Td -[(re )-83(n)]TJ -0 Tc 1.735 0 Td -[(ot )-47(able )-47(to)]TJ --34.84 -1.2 Td -[(specify )-93(the )-93(\336le\325s )-93(access )-93(permission )-93(bits, )-93(as )-93(we )-93(wer)]TJ -0.3432 Tc 22.74 0 Td -(ea)Tj -0 Tc 1.322 0 Td -[(ble )-93(to )-93(do )-93(with )-93(the)]TJ -/TT0 1 Tf -8.488 0 Td -(open)Tj -/T1_0 1 Tf -2.743 0 Td -(function)Tj --35.293 -1.2 Td -[(and )-95(the)]TJ -/TT0 1 Tf -3.77 0 Td -(creat)Tj -/T1_0 1 Tf -3.345 0 Td -[(function )-95(in )-95(Chapter )-95(3.)-595(POSIX.1 )-95(r)18(equir)18(es )-95(implementations )-95(to )-95(cr)18(eate )-95(the)]TJ --7.115 -1.2 Td -(\336le with the following permissions bit set:)Tj -/TT0 1 Tf -8.9973 0 0 8.9973 147.5556 191.8424 Tm -(S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)Tj -/T1_0 1 Tf -9.997 0 0 9.997 129.561 173.8478 Tm -[(Recall )-11(fr)18(om )-11(Section )-11(4.8, )-11(however)]TJ -0.2611 Tc 14.355 0 Td -(,t)Tj -0 Tc 0.837 0 Td -[(hat )-11(we )-11(can )-11(r)18(estrict )-11(these )-11(permissions )-11(by )-11(adjusting )-11(our)]TJ -/TT0 1 Tf --15.193 -1.2 Td -(umask)Tj -/T1_0 1 Tf -3.25 0 Td -(value.)Tj --1.45 -1.2 Td -[(By )-63(default, )-63(the )-63(str)17(eam )-63(that )-63(is )-63(opened )-63(is )-63(fully )-63(buf)15(fer)18(ed, )-63(unless )-63(it )-63(r)18(efers )-63(to )-63(a )-63(terminal)]TJ --1.8 -1.2 Td -[(device, )-97(in )-97(which )-97(case )-97(it )-97(is )-97(line )-97(buf)17(fer)18(ed. )-347(Once)-347(the )-97(str)18(eam )-97(is )-97(opened, )-97(but )-97(befor)18(e)-347(we)-347(do)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47227 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(76)Tj -/T1_1 1 Tf -3 0 Td -[(File )-250(I/O)]TJ -39.741 0 Td -[(Chapter )-250(3)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(The )-290(v-node )-290(was )-290(invented )-290(to )-290(pr)18(ovide )-290(support )-290(for )-290(multiple )-290(\336le )-290(system )-290(types )-290(on )-290(a )-290(single)]TJ -0 -1.25 TD -[(computer )-27(system.)-527(This )-27(work )-27(was )-27(done )-27(independently )-27(by )-27(Peter )-27(W)91(einber)18(ger )-27(\(Bell )-27(Laboratories\))]TJ --0 -1.25 Td -[(and )-157(Bill )-157(Joy )-157(\(Sun )-157(Micr)19(osystems\). )-407(Sun)-407(called )-157(this )-157(the )-157(V)55(irtual )-157(File )-157(System )-157(and )-157(called )-157(the )-157(\336le)]TJ --0 -1.25 Td -[(system\320independent )-30(portion )-30(of )-30(the )-30(i-node )-30(the )-30(v-node)]TJ -24.074 0.04 Td -([)Tj -0.333 -0.04 Td -[(Kleiman )-30(1986)]TJ -6.032 0.04 Td -(])Tj -0.5303 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.393 0 Td -[(he )-30(v-node )-30(pr)18(opagated)]TJ --32.166 -1.25 Td -[(thr)18(ough )-19(various )-19(vendor )-19(implementations )-19(as )-19(support )-19(for )-19(Sun\325s )-19(Network )-19(File )-19(System)]TJ -37.396 0.04 Td -(\()Tj -0.333 -0.04 Td -(NFS)Tj -1.912 0.04 Td -(\))Tj -0.602 -0.04 Td -(was)Tj --40.242 -1.25 Td -[(added. )-288(The)-288(\336rst )-38(r)18(elease )-38(fr)18(om )-38(Berkeley )-38(to )-38(pr)18(ovide )-38(v-nodes )-38(was )-38(the )-38(4.3BSD )-38(Reno )-38(r)18(elease, )-38(when)]TJ -T* -(NFS was added.)Tj -0 -1.875 TD -[(In )-88(SVR4, )-88(the )-88(v-node )-88(r)18(eplaced )-88(the )-88(\336le )-88(system\320independent )-88(i-node )-88(of )-88(SVR3.)-593(Solaris )-88(is )-88(derived)]TJ -0 -1.25 TD -[(fr)18(om SVR4 and, ther)18(efor)18(e, uses v-nodes.)]TJ -0 -1.875 TD -[(Instead )-338(of )-338(splitting )-338(the )-338(data )-338(str)8(uctur)18(es )-338(into )-338(a )-338(v-node )-338(and )-338(an )-338(i-node, )-338(Linux )-338(uses )-338(a )-338(\336le)]TJ --0 -1.25 Td -(system\320independent i-node and a \336le system\320dependent i-node.)Tj -9.9994 0 0 9.9994 147.5908 540.9675 Tm -[(If )-421(two )-421(independent )-421(pr)18(ocesses )-421(have )-421(the )-421(same )-421(\336le )-421(open, )-421(we )-421(could )-421(have )-421(the)]TJ --1.8 -1.2 Td -(arrangement shown in Figur)Tj -0.25 Tc 12.651 0 Td -(e3)Tj -0 Tc 1.229 0 Td -(.8.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1341.24 3966 1008 1008 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 151.3778 500.5799 Tm -[(pr)18(ocess table entry)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 4614 576 72 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 4542 576 72 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 4470 576 72 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 4398 576 72 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 4110 576 288 re -S -Q -BT -/T1_1 1 Tf -0.25 Tc 13.9975 0 0 13.9975 182.9411 423.5637 Tm -(...)Tj -0 Tc 6.9987 0 0 6.9987 147.5396 463.1562 Tm -(fd 0:)Tj -0 -1.029 TD -(fd 1:)Tj -0 -1.029 TD -(fd 2:)Tj -0 -1.029 TD -(fd 3:)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1845.25 4686.25 cm -0 0 m -0 -288 l -S -Q -Q -BT -/T1_1 1 Tf -6.9983 0 0 6.9983 170.3791 477.4854 Tm -(fd)Tj --0.572 -0.714 Td -(\337ags)Tj -4.471 0.714 Td -(\336le)Tj --0.923 -0.714 Td -(pointer)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1341.24 2670 1008 1008 re -S -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 151.3506 370.9287 Tm -[(pr)18(ocess table entry)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -1629.24 3390 576 72 re -S -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -1629.24 3318 576 72 re -S -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -1629.24 3246 576 72 re -S -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -1629.24 3174 576 72 re -S -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -1629.24 3102 576 72 re -S -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -1629.24 2814 576 288 re -S -Q -BT -/T1_1 1 Tf -0.25 Tc 13.995 0 0 13.995 182.9081 293.9342 Tm -(...)Tj -0 Tc 6.9975 0 0 6.9975 147.5131 340.7173 Tm -(fd 0:)Tj -0 -1.029 TD -(fd 1:)Tj -0 -1.029 TD -(fd 2:)Tj -T* -(fd 3:)Tj -T* -(fd 4:)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1845.25 3462.25 cm -0 0 m -0 -360 l -S -Q -Q -BT -/T1_1 1 Tf -6.9971 0 0 6.9971 170.3484 355.0508 Tm -(fd)Tj --0.572 -0.714 Td -(\337ags)Tj -4.471 0.714 Td -(\336le)Tj --0.923 -0.714 Td -(pointer)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -2925.24 4254 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 302.1149 430.6332 Tm -(\336le status \337ags)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -2925.24 4110 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 298.3468 416.2152 Tm -[(curr)18(ent \336le of)18(fset)]TJ -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -2925.24 3966 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9952 0 0 7.9952 301.9987 401.7988 Tm -(v-node pointer)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -2925.24 3462 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9947 0 0 7.9947 302.0606 351.408 Tm -(\336le status \337ags)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -2925.24 3318 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9942 0 0 7.9942 298.2931 336.9973 Tm -[(curr)18(ent \336le of)18(fset)]TJ -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -2925.24 3174 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9938 0 0 7.9938 301.9444 322.5883 Tm -(v-node pointer)Tj -0.112 15.025 Td -(\336le table entry)Tj -0 -9.9 TD -(\336le table entry)Tj -6.9945 0 0 6.9945 427.5475 371.15 Tm -(v-node information)Tj -/TT0 1 Tf -2.52 -2.057 Td -(v_data)Tj -/T1_1 1 Tf --2.383 -4.114 Td -(i-node information)Tj -0.796 -2.057 Td -[(curr)18(ent \336le size)]TJ -/TT0 1 Tf -1.287 -1.543 Td -(i_vnode)Tj -ET -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 3822.25 cm -0 0 m -0 -288 l -720 -288 l -720 0 l -0 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 3390.25 cm -0 0 m -0 -396 l -720 -396 l -720 0 l -0 0 l -720 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 3642.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 3642.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 3642.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 3642.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 3642.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 3642.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 3642.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 3642.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 3642.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 3642.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 3210.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 3210.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 3210.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 3210.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 3210.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 3210.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 3210.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 3210.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 3210.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 3210.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 3102.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 3102.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 3102.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 3102.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 3102.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 3102.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 3102.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 3102.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 3102.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 3102.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 422.124 341.16 cm -0 0 m --5.328 5.184 l --2.232 7.056 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 4221.2402 3411.6001 cm -0 0 m --53.28 51.84 l --22.32 70.56 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4293.2402 3588 cm -0 0 m --90 0 l --150 0 -162.6 -28.32 -127.8 -84.96 c --75.6 -169.92 l -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 496.284 382.2 cm -0 0 m -4.032 -6.192 l -0.648 -7.344 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 4962.8398 3822 cm -0 0 m -40.32 -61.92 l -6.48 -73.44 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4869.2402 3048 cm -0 0 m -180 0 l -300 0 315.96 127.92 227.88 383.76 c -95.76 767.52 l -S -Q -Q -BT -/T1_1 1 Tf -7.9923 0 0 7.9923 425.3035 385.0701 Tm -(v-node table entry)Tj -2.63 -5.4 Td -(i-node)Tj -ET -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 288.924 439.8 cm -0 0 m --7.344 -1.152 l --6.984 2.448 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 4398 cm -0 0 m --73.44 -11.52 l --69.84 24.48 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 4434 cm -0 0 m -180 0 l -300 0 424.8 -5.88 554.4 -17.64 c -748.8 -35.28 l -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 288.924 357 cm -0 0 m --3.528 -6.552 l --6.192 -4.104 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 3570 cm -0 0 m --35.28 -65.52 l --61.92 -41.04 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 3138 cm -0 0 m -180 0 l -300 0 425.16 71.16 555.48 213.48 c -750.96 426.96 l -S -Q -Q -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 418.524 382.2 cm -0 0 m --6.624 3.312 l --4.248 6.048 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 4185.2402 3822 cm -0 0 m --66.24 33.12 l --42.48 60.48 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3573.24 4038 cm -0 0 m -180 0 l -300 0 401.04 -35.16 483.12 -105.48 c -606.24 -210.96 l -S -Q -Q -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 418.524 378.6 cm -0 0 m --1.44 -7.272 l --4.68 -5.76 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 4185.2402 3786 cm -0 0 m --14.4 -72.72 l --46.8 -57.6 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3573.24 3246 cm -0 0 m -180 0 l -300 0 401.52 88.92 484.56 266.76 c -609.12 533.52 l -S -Q -Q -BT -/T1_0 1 Tf -7.9904 0 0 7.9904 212.5128 241.51 Tm -(Figure 3.8)Tj -/T1_1 1 Tf --0.09 Tc 5.195 0 Td -(Tw)Tj -0.25 Tc 1.357 0 Td -(oi)Tj -0 Tc 1.087 0 Td -[(ndependent pr)18(ocesses with the same \336le open)]TJ --0.092 Tc 9.988 0 0 9.988 129.4448 211.546 Tm -[(We )-358(a)]TJ -0 Tc 2.311 0 Td -[(ssume )-174(her)]TJ -0.4242 Tc 4.675 0 Td -(et)Tj -0 Tc 1.229 0 Td -[(hat )-174(the )-174(\336rst )-174(pr)18(ocess )-174(has )-174(the )-174(\336le )-174(open )-174(on )-174(descriptor )-174(3 )-174(and )-174(that )-174(the)]TJ --8.215 -1.2 Td -[(second )-37(pr)18(ocess )-37(has )-37(that )-37(same )-37(\336le )-37(open )-37(on )-37(descriptor )-37(4.)-541(Each )-37(pr)18(ocess )-37(that )-37(opens )-37(the )-37(\336le)]TJ -0 -1.2 TD -[(gets )-61(its )-61(own )-61(\336le )-61(table )-61(entry)]TJ -0.3111 Tc 12.095 0 Td -(,b)Tj -0 Tc 1.114 0 Td -[(ut )-61(only )-61(a )-61(single )-61(v-node )-61(table )-61(entry )-61(is )-61(r)17(equir)18(ed )-61(for )-61(a )-61(given)]TJ --13.209 -1.2 Td -[(\336le. )-303(One)]TJ --0.018 Tc 4.328 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ason )-53(each )-53(pr)18(ocess )-53(gets )-53(its )-53(own )-53(\336le )-53(table )-53(entry )-53(is )-53(so )-53(that )-53(each )-53(pr)15(ocess )-53(has )-53(its)]TJ --5.184 -1.2 Td -[(own curr)18(ent of)18(fset for the \336le.)]TJ -1.8 -1.2 Td -[(Given )-74(these )-74(data )-74(str)9(uctur)18(es, )-74(we )-74(now )-74(need )-74(to )-74(be )-74(mor)]TJ -0.3237 Tc 23.599 0 Td -(es)Tj -0 Tc 1.227 0 Td -[(peci\336c )-74(about )-74(what )-74(happens)]TJ --26.626 -1.2 Td -[(with certain operations that we\325ve alr)18(eady described.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47228 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(898)Tj -/T1_1 1 Tf -3.5 0 Td -[(Miscellaneous )-250(Sour)18(ce )-250(Code)]TJ -38.263 0 Td -[(Appendix )-250(B)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -[(void )-1800(log_open\(const)-600(char *, int, int\);)]TJ -0 -1.189 TD -[(void )-1800(log_quit\(const)-600(char *, ...\) __attribute__\(\(noreturn\)\);)]TJ -T* -[(void )-1800(log_ret\(const)-600(char *, ...\);)]TJ -T* -[(void )-1800(log_sys\(const)-600(char *, ...\) __attribute__\(\(noreturn\)\);)]TJ -T* -[(void )-1800(log_exit\(int,)-600(const char *, ...\) __attribute__\(\(noreturn\)\);)]TJ -0 -2.259 TD -[(void )-1800(TELL_WAIT\(void\);)-4800(/* parent/child from Section 8.9 */)]TJ -0 -1.189 TD -[(void )-1800(TELL_PARENT\(pid_t\);)]TJ -0 -1.189 TD -[(void )-1800(TELL_CHILD\(pid_t\);)]TJ -T* -[(void )-1800(WAIT_PARENT\(void\);)]TJ -T* -[(void )-1800(WAIT_CHILD\(void\);)]TJ -0 -2.259 TD -[(#endif )-600(/*)-600(_APUE_H */)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5392.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 266.4 523.1762 Tm -(Figure B.1)Tj -/T1_1 1 Tf -5.362 0 Td -(Our header:)Tj -/TT0 1 Tf -5.58 0 Td -(apue.h)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5843 495.5795 Tm -[(The )-22(r)18(easons )-22(we )-22(include )-22(our )-22(header )-22(befor)]TJ -0.2719 Tc 18.129 0 Td -(ea)Tj -0 Tc 1.251 0 Td -[(ll )-22(the )-22(normal )-22(system )-22(headers )-22(ar)19(e)-272(to)-272(allow )-22(us)]TJ --19.38 -1.2 Td -[(to )-253(de\336ne )-253(anything )-253(that )-253(might )-253(be )-253(r)19(equir)18(ed )-253(by )-253(headers )-253(befor)]TJ -0.5029 Tc 28.176 0 Td -(et)Tj -0 Tc 1.308 0 Td -[(hey )-253(ar)]TJ -0.5029 Tc 2.997 0 Td -(ei)Tj -0 Tc 1.273 0 Td -[(ncluded, )-253(to)]TJ --33.754 -1.2 Td -[(contr)18(ol )-292(the )-292(or)18(der )-292(in )-292(which )-292(header )-292(\336les )-292(ar)]TJ -0.5419 Tc 20.028 0 Td -(ei)Tj -0 Tc 1.312 0 Td -[(ncluded, )-292(and )-292(to )-292(allow )-292(us )-292(to )-292(r)19(ede\336ne)]TJ --21.34 -1.2 Td -[(anything that needs to be \336xed up to hide the dif)18(fer)18(ences between systems.)]TJ -/TT1 1 Tf -11.9986 0 0 11.9986 93.5888 419.9886 Tm -[(B.2 )-1166(Standar)]TJ -0.556 Tc 6.703 0 Td -(dE)Tj -0 Tc 1.834 0 Td -[(rr)20(or )-278(Routines)]TJ -/T1_1 1 Tf --0.09 Tc 9.9988 0 0 9.9988 129.5844 395.9915 Tm -(Tw)Tj -0.4216 Tc 1.357 0 Td -(os)Tj -0 Tc 1.392 0 Td -[(ets )-172(of )-172(err)18(or )-172(functions )-172(ar)]TJ -0.4217 Tc 10.994 0 Td -(eu)Tj -0 Tc 1.504 0 Td -[(sed )-172(in )-172(most )-172(of )-172(the )-172(examples )-172(thr)18(oughout )-172(the )-172(text )-172(to)]TJ --15.247 -1.2 Td -[(handle )-151(err)18(or )-151(conditions.)-651(One )-151(set )-151(begins )-151(with)]TJ -/TT0 1 Tf -21.181 0 Td -(err_)Tj -/T1_1 1 Tf -2.801 0 Td -[(and )-151(outputs )-151(an )-151(err)18(or )-151(message )-151(to)]TJ --23.982 -1.2 Td -(standar)Tj -0.343 Tc 3.32 0 Td -(de)Tj -0 Tc 1.433 0 Td -[(rr)18(or)]TJ -0.593 Tc 1.639 0 Td -(.T)Tj -0 Tc 1.456 0 Td -[(he )-93(other )-93(set )-93(begins )-93(with)]TJ -/TT0 1 Tf -11.252 0 Td -(log_)Tj -/T1_1 1 Tf -2.743 0 Td -[(and )-93(is )-93(intended )-93(for )-93(daemon )-93(pr)18(ocesses)]TJ --21.843 -1.2 Td -[(\(Chapter 13\) that pr)18(obably have no contr)18(olling terminal.)]TJ -1.8 -1.2 Td -[(The )-20(r)18(eason )-20(for )-20(de\336ning )-20(our )-20(own )-20(err)20(or )-19(functions )-19(is )-19(to )-19(let )-19(us )-19(write )-19(our )-19(err)18(or )-19(handling)]TJ --1.8 -1.2 Td -(with a single line of C code, as in)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5825 317.1611 Tm -(if \()Tj -/T1_2 1 Tf -[(err)18(or condition)]TJ -/TT0 1 Tf -(\))Tj -4.8 -1.189 Td -(err_dump\()Tj -/T1_2 1 Tf -[(printf format with any number of ar)18(guments)]TJ -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5846 286.3246 Tm -(instead of)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5825 267.4871 Tm -(if \()Tj -/T1_2 1 Tf -[(err)18(or condition)]TJ -/TT0 1 Tf -0.6 Tc (\){)Tj -0 Tc 4.8 -1.189 Td -[(char )-600(buf[200];)]TJ -0 -2.378 TD -(sprintf\(buf,)Tj -/T1_2 1 Tf -7.8 0 Td -[(printf format with any number of ar)18(guments)]TJ -/TT0 1 Tf -(\);)Tj --7.8 -1.189 Td -(perror\(buf\);)Tj -0 -1.189 TD -(abort\(\);)Tj --4.8 -1.189 Td -(})Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5846 183.157 Tm -[(Our )-261(err)18(or )-261(functions )-261(use )-261(the )-261(variable-length )-261(ar)20(gument )-261(list )-261(facility )-261(fr)18(om )-261(ISO )-261(C.)-759(See)]TJ -0 -1.2 TD -[(Section )-1(7.3 )-1(of )-1(Kernighan )-1(and )-1(Ritchie)]TJ -16.296 0.04 Td -([)Tj -0.333 -0.04 Td -(1988)Tj -2 0.04 Td -(])Tj -0.584 -0.04 Td -[(for )-1(additional )-1(details.)-501(Be )-1(awar)]TJ -0.251 Tc 13.55 0 Td -(et)Tj -0 Tc 1.056 0 Td -[(hat )-1(this )-1(ISO)]TJ -0.3378 Tc -33.819 -1.2 Td -(Cf)Tj -0 Tc 1.38 0 Td -[(acility )-88(dif)18(fers )-88(fr)18(om )-88(the)]TJ -/TT0 1 Tf -10.424 0 Td -(varargs)Tj -/T1_1 1 Tf -4.538 0 Td -[(facility )-88(pr)18(ovided )-88(by )-88(earlier )-88(systems )-88(\(such )-88(as )-88(SVR3)]TJ --16.342 -1.2 Td -[(and )-61(4.3BSD\).)-561(The )-61(names )-61(of )-61(the )-61(macr)18(os )-61(ar)]TJ -0.3115 Tc 18.725 0 Td -(et)Tj -0 Tc 1.116 0 Td -[(he )-61(same, )-61(but )-61(the )-61(ar)18(guments )-61(to )-61(some )-61(of )-61(the)]TJ --19.842 -1.2 Td -[(macr)18(os have changed.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47229 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(318)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(SIGEMT)Tj -/T1_1 1 Tf -6.582 0 Td -[(This indicates an implementation-de\336ned har)18(dwar)]TJ -0.25 Tc 22.481 0 Td -(ef)Tj -0 Tc 1.062 0 Td -(ault.)Tj -7.9995 0 0 7.9995 237.5855 648.9611 Tm -[(The )-153(name )-153(EMT )-153(comes )-153(fr)20(om )-153(the )-153(PDP)]TJ -16.988 0.09 Td -(-)Tj --0.055 Tc 0.333 -0.09 Td -[(11 )-263(\324)]TJ -0 Tc 1.589 0 Td -[(\324emulator )-153(trap\325)]TJ -0.4028 Tc 6.767 0 Td -(\325i)Tj -0 Tc 0.972 0 Td -[(nstr)8(uction. )-403(Not)-402(all)]TJ --26.648 -1.25 Td -[(platforms )-179(support )-179(this )-179(signal.)-680(On )-179(Linux, )-179(for )-179(example,)]TJ -/TT0 1 Tf -25.49 0 Td -(SIGEMT)Tj -/T1_1 1 Tf -4.029 0 Td -[(is )-179(supported)]TJ --29.52 -1.25 Td -[(only for selected ar)18(chitectur)18(es, such as SP)92(ARC, MIPS, and P)92(A)]TJ -26.998 0.09 Td -(-)Tj -0.333 -0.09 Td -(RISC.)Tj -/TT0 1 Tf -9.9994 0 0 9.9994 129.5923 607.9635 Tm -(SIGFPE)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-105(signals )-105(an )-105(arithmetic )-105(exception, )-105(such )-105(as )-105(divide )-105(by )-105(0, )-105(\337oating-point)]TJ -0 -1.2 TD -(over\337ow)Tj -0.25 Tc 3.881 0 Td -(,a)Tj -0 Tc 1 0 Td -(nd so on.)Tj -/TT0 1 Tf --11.463 -1.84 Td -(SIGFREEZE)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-80(signal )-80(is )-80(de\336ned )-80(only )-80(by )-80(Solaris.)-582(It )-80(is )-80(used )-80(to )-80(notify )-80(pr)18(ocesses )-80(that)]TJ -T* -[(need )-4(to )-4(take )-4(special )-4(action )-4(befor)]TJ -0.2543 Tc 14.163 0 Td -(ef)Tj --0.018 Tc 1.066 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ezing )-4(the )-4(system )-4(state, )-4(such )-4(as )-4(might)]TJ --16.085 -1.2 Td -(happen when a system goes into hibernation or suspended mode.)Tj -/TT0 1 Tf --6.582 -1.84 Td -(SIGHUP)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-132(signal )-132(is )-132(sent )-132(to )-132(the )-132(contr)18(olling )-132(pr)18(ocess )-132(\(session )-132(leader\) )-132(associated)]TJ -T* -[(with )-181(a )-181(contr)18(olling )-181(terminal )-181(if )-181(a )-181(disconnect )-181(is )-181(detected )-181(by )-181(the )-181(terminal)]TJ -T* -[(interface. )-379(Referring)-380(to )-129(Figur)]TJ -0.3794 Tc 12.9 0 Td -(e9)Tj -0 Tc 1.358 0 Td -[(.13, )-129(we )-129(see )-129(that )-129(the )-129(signal )-129(is )-129(sent )-129(to )-129(the)]TJ --14.259 -1.2 Td -[(pr)18(ocess )-235(pointed )-235(to )-235(by )-235(the)]TJ -/TT0 1 Tf -12.526 0 Td -(s_leader)Tj -/T1_1 1 Tf -5.285 0 Td -[(\336eld )-235(in )-235(the)]TJ -/TT0 1 Tf -5.702 0 Td -(session)Tj -/T1_1 1 Tf -4.685 0 Td -[(str)8(uctur)18(e.)]TJ --28.199 -1.2 Td -[(This )-76(signal )-76(is )-76(generated )-76(for )-76(this )-76(condition )-76(only )-76(if )-76(the )-76(terminal\325s)]TJ -/TT0 1 Tf -28.818 0 Td -(CLOCAL)Tj -/T1_1 1 Tf --28.818 -1.2 Td -[(\337ag )-203(is )-203(not )-203(set.)-703(\(The)]TJ -/TT0 1 Tf -9.833 0 Td -(CLOCAL)Tj -/T1_1 1 Tf -4.053 0 Td -[(\337ag )-203(for )-203(a )-203(terminal )-203(is )-203(set )-203(if )-203(the )-203(attached)]TJ --13.886 -1.2 Td -[(terminal )-98(is )-98(local.)-598(The )-98(\337ag )-98(tells )-98(the )-98(terminal )-98(driver )-98(to )-98(ignor)]TJ -0.3481 Tc 26.759 0 Td -(ea)Tj -0 Tc 1.327 0 Td -[(ll )-98(modem)]TJ --28.086 -1.2 Td -(status lines.)Tj --0.092 Tc 5.67 0 Td -[(We )-184(d)]TJ -0 Tc 2.248 0 Td -(escribe how to set this \337ag in Chapter 18.\))Tj --7.918 -1.8 Td -[(Note )-285(that )-285(the )-285(session )-285(leader )-285(that )-285(r)18(eceives )-285(this )-285(signal )-285(may )-285(be )-285(in )-285(the)]TJ -T* -[(backgr)18(ound; )-46(see )-46(Figur)]TJ -0.2964 Tc 9.936 0 Td -(e9)Tj -0 Tc 1.275 0 Td -[(.7 )-46(for )-46(an )-46(example.)-548(This )-46(dif)18(fers )-46(fr)18(om )-46(the )-46(normal)]TJ --11.211 -1.2 Td -[(terminal-generated )-346(signals )-346(\(interr)8(upt, )-346(quit, )-346(and )-346(suspend\), )-346(which )-346(ar)19(e)]TJ -T* -[(always deliver)18(ed to the for)18(egr)18(ound pr)18(ocess gr)18(oup.)]TJ -0 -1.8 TD -[(This )-18(signal )-18(is )-18(also )-18(generated )-18(if )-18(the )-18(session )-18(leader )-18(terminates.)-518(In )-18(this )-18(case,)]TJ -0 -1.2 TD -[(the signal is sent to each pr)18(ocess in the for)18(egr)18(ound pr)18(ocess gr)18(oup.)]TJ -0 -1.8 TD -[(This )-10(signal )-10(is )-10(commonly )-10(used )-10(to )-10(notify )-10(daemon )-10(pr)14(ocesses )-11(\(Chapter )-11(13\) )-11(to)]TJ -0 -1.2 TD -[(r)18(er)18(ead )-190(their )-190(con\336guration )-190(\336les.)-690(The )-190(r)20(eason)]TJ -/TT0 1 Tf -20.391 0 Td -(SIGHUP)Tj -/T1_1 1 Tf -4.04 0 Td -[(is )-190(chosen )-190(for )-190(this)]TJ --24.43 -1.2 Td -[(task )-64(is )-64(that )-64(a )-64(daemon )-64(should )-64(not )-64(have )-64(a )-64(contr)18(olling )-64(terminal )-64(and )-64(would)]TJ -T* -[(normally never r)18(eceive this signal.)]TJ -/TT0 1 Tf --6.582 -1.84 Td -(SIGILL)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-152(signal )-152(indicates )-152(that )-152(the )-152(pr)18(ocess )-152(has )-152(executed )-152(an )-152(illegal )-152(har)22(dwar)18(e)]TJ -T* -[(instr)8(uction.)]TJ -7.9995 0 0 7.9995 237.5856 262.7842 Tm -[(4.3BSD )-85(generated )-85(this )-85(signal )-85(fr)18(om )-85(the)]TJ -/TT0 1 Tf -17.372 0 Td -(abort)Tj -/T1_1 1 Tf -3.335 0 Td -(function.)Tj -/TT0 1 Tf -4.542 0 Td -(SIGABRT)Tj -/T1_1 1 Tf -4.535 0 Td -[(is )-85(now )-85(used)]TJ --29.785 -1.25 Td -(for this purpose.)Tj -/TT0 1 Tf -9.9994 0 0 9.9994 129.5918 231.7861 Tm -(SIGINFO)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-143(BSD )-143(signal )-143(is )-143(generated )-143(by )-143(the )-143(terminal )-143(driver )-143(when )-143(we )-143(type )-143(the)]TJ -T* -[(status )-165(key )-165(\(often )-165(Contr)19(ol)]TJ -11.414 0.09 Td -(-)Tj -0.333 -0.09 Td -[(T\). )-415(This)-414(signal )-165(is )-165(sent )-165(to )-165(all )-165(pr)18(ocesses )-165(in )-165(the)]TJ --11.747 -1.2 Td -[(for)18(egr)18(ound )-263(pr)18(ocess )-263(gr)17(oup )-263(\(r)18(efer )-263(to )-263(Figur)]TJ -0.5132 Tc 19.205 0 Td -(e9)Tj -0 Tc 1.492 0 Td -[(.9\). )-513(This)-513(signal )-263(normally)]TJ --20.697 -1.2 Td -[(causes )-93(status )-93(information )-93(on )-93(pr)16(ocesses )-94(in )-94(the )-94(for)19(egr)18(ound )-94(pr)18(ocess )-94(gr)19(oup)]TJ --0 -1.2 Td -(to be displayed on the terminal.)Tj -7.9995 0 0 7.9995 237.5846 163.7902 Tm -[(Linux )-35(doesn\325t )-35(pr)19(ovide )-35(support )-35(for)]TJ -/TT0 1 Tf -15.512 0 Td -(SIGINFO)Tj -/T1_1 1 Tf -0.2846 Tc (,a)Tj -0 Tc 5.235 0 Td -[(lthough )-35(the )-35(symbol )-35(is )-35(de\336ned )-35(to)]TJ --20.747 -1.25 Td -[(be )-164(the )-164(same )-164(value )-164(as)]TJ -/TT0 1 Tf -10.138 0 Td -(SIGPWR)Tj -/T1_1 1 Tf -4.014 0 Td -[(on )-164(the )-164(Alpha )-164(platform.)-664(This )-164(is )-164(most )-164(likely )-164(to)]TJ --14.153 -1.25 Td -[(pr)18(ovide some level of compatibility with softwar)]TJ -0.25 Tc 21.558 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(eveloped for OSF/1.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47230 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(9.2)]TJ --0.092 Tc 36.381 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(Logins)]TJ -/T1_1 1 Tf -8.452 0 Td -(289)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2746.32 6422 576 216 re -S -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 293.8144 651.2009 Tm -(init)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2746.32 5918 576 216 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 285.0658 600.7679 Tm -(login shell)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2746.32 5414 576 216 re -S -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 288.3921 555.34 Tm -(terminal)Tj --1.054 -1.25 Td -(device driver)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3304.3201 5018 cm -0 0 m -0 -59.64 -120.89 -108 -270 -108 c --419.11 -108 -540 -59.64 -540 0 c --540 59.64 -419.11 108 -270 108 c --120.89 108 0 59.64 0 0 c -h -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 288.4548 504.9188 Tm -(user at a)Tj --0.01 -1.25 Td -(terminal)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3034.25 6415.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3034.25 6379.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3034.25 6345.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3034.25 6309.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3034.25 6275.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3034.25 6240.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3034.25 6205.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3034.25 6170.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 303.432 613.4 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 3034.3201 6134 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3034.25 6206.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 303.432 591.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3034.3201 5918 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 303.432 563 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3034.3201 5630 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3034.25 5846.25 cm -0 0 m -0 -144 l -S -Q -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 309.2835 575.3638 Tm -(fd 0, 1, 2)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 303.432 541.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3034.3201 5414 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 303.432 512.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 3034.3201 5126 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3034.25 5342.25 cm -0 0 m -0 -144 l -S -Q -Q -BT -/T1_2 1 Tf -7.9952 0 0 7.9952 283.262 666.6399 Tm -[(pr)18(ocess ID 1)]TJ -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3434.6399 6376.6401 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3434.25 6376.25 cm -0 0 m -0 -76 l -23 -98 l -1 -121 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3434.25 6255.25 cm -0 0 m -0 -76 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3390 6134 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/T1_0 1 Tf -7.9947 0 0 7.9947 347.5385 625.6269 Tm -[(thr)18(ough)]TJ -/TT0 1 Tf -3.822 0 Td -(getty)Tj -/T1_0 1 Tf -3.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(login)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3434.6399 5369.3599 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3434.25 5369.25 cm -0 0 m -0 -76 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3434.25 5292.25 cm -0 0 m -23 -22 l -1 -45 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3434.25 5247.25 cm -0 0 m -0 -76 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3390 5126 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/T1_0 1 Tf -7.9942 0 0 7.9942 347.5177 524.862 Tm -[(har)18(d-wir)18(ed connection)]TJ -/T1_1 1 Tf --20.547 -7.43 Td -(Figure 9.3)Tj -/T1_0 1 Tf -5.195 0 Td -[(Arrangement of pr)18(ocesses after everything is set for a terminal login)]TJ -9.9928 0 0 9.9928 147.4937 437.8848 Tm -[(Our )-182(login )-182(shell )-182(now )-182(r)18(eads )-182(its )-182(start-up )-182(\336les )-182(\()]TJ -/TT0 1 Tf -20.605 0 Td -(.profile)Tj -/T1_0 1 Tf -5.232 0 Td -[(for )-182(the )-182(Bourne )-182(shell )-182(and)]TJ --27.636 -1.2 Td -[(Korn )-59(shell;)]TJ -/TT0 1 Tf -5.184 0 Td -(.bash_profile)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -8.359 0 Td -(.bash_login)Tj -/T1_0 1 Tf -0.3091 Tc (,o)Tj -0 Tc 7.705 0 Td -(r)Tj -/TT0 1 Tf -0.704 0 Td -(.profile)Tj -/T1_0 1 Tf -5.109 0 Td -[(for )-59(the )-59(GNU )-59(Bourne-again)]TJ --27.062 -1.2 Td -[(shell; )-175(and)]TJ -/TT0 1 Tf -4.861 0 Td -(.cshrc)Tj -/T1_0 1 Tf -4.026 0 Td -(and)Tj -/TT0 1 Tf -2.119 0 Td -(.login)Tj -/T1_0 1 Tf -4.026 0 Td -[(for )-175(the )-175(C )-175(shell\).)-677(These )-176(start-up )-176(\336les )-176(usually )-176(change)]TJ --15.031 -1.2 Td -[(some )-104(of )-104(the )-104(envir)18(onment )-104(variables )-104(and )-104(add )-104(many )-104(other )-104(variables )-104(to )-104(the )-104(envir)17(onment.)]TJ -0 -1.2 TD -[(For )-105(example, )-105(most )-105(users )-105(set )-105(their )-105(own)]TJ -/TT0 1 Tf -17.749 0 Td -(PATH)Tj -/T1_0 1 Tf -2.755 0 Td -[(and )-105(often )-105(pr)18(ompt )-105(for )-105(the )-105(actual )-105(terminal)]TJ --20.504 -1.2 Td -[(type )-24(\()]TJ -/TT0 1 Tf -(TERM)Tj -/T1_0 1 Tf -[(\). )-274(When)-273(the )-24(start-up )-24(\336les )-24(ar)]TJ -0.2735 Tc 17.384 0 Td -(ed)Tj -0 Tc 1.364 0 Td -[(one, )-23(we )-23(\336nally )-23(get )-23(the )-23(shell\325s )-23(pr)18(ompt )-23(and )-23(can)]TJ --18.747 -1.2 Td -(enter commands.)Tj -/TT1 1 Tf --3.6 -2.88 Td -[(Mac OS X T)60(erminal Logins)]TJ -/T1_0 1 Tf -3.6 -2.4 Td -[(On )-137(Mac )-137(OS )-137(X, )-137(the )-137(terminal )-137(login )-137(pr)21(ocess )-137(follows )-137(essentially )-137(the )-137(same )-137(steps )-137(as )-137(in )-137(the)]TJ -T* -[(BSD )-220(login )-220(pr)18(ocess, )-220(since )-220(Mac )-220(OS )-220(X )-220(is )-220(based )-220(in )-220(part )-220(on )-220(Fr)16(eeBSD. )-470(W)55(ith )-220(Mac )-220(OS )-220(X,)]TJ -T* -(however)Tj -0.25 Tc 3.806 0 Td -(,t)Tj -0 Tc 0.826 0 Td -(her)Tj -0.25 Tc 1.438 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(s)]TJ -0 Tc 1.53 0 Td -[(ome dif)18(fer)18(ences:)]TJ -0.883 Tc -7.029 -2.4 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he work of)Tj -/TT0 1 Tf -5.021 0 Td -(init)Tj -/T1_0 1 Tf -2.65 0 Td -(is performed by)Tj -/TT0 1 Tf -7.296 0 Td -(launchd)Tj -/T1_0 1 Tf -(.)Tj -0.883 Tc -17.069 -1.6 Td -(\245W)Tj -0.25 Tc 2.397 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(p)-18(re)]TJ -0 Tc 2.563 0 Td -[(sented with a graphical-based login scr)18(een fr)18(om the start.)]TJ -/TT1 1 Tf --11.589 -2.88 Td -[(Lin)10(ux T)60(erminal Logins)]TJ -/T1_0 1 Tf -3.6 -2.4 Td -[(The )-183(Linux )-183(login )-183(pr)18(ocedur)18(e)-433(is)-433(very )-183(similar )-183(to )-183(the )-183(BSD )-183(pr)18(ocedur)18(e. )-433(Indeed,)-433(the )-183(Linux)]TJ -/TT0 1 Tf -0 -1.2 Td -(login)Tj -/T1_0 1 Tf -3.405 0 Td -[(command )-155(is )-155(derived )-155(fr)18(om )-155(the )-155(4.3BSD)]TJ -/TT0 1 Tf -17.708 0 Td -(login)Tj -/T1_0 1 Tf -3.404 0 Td -[(command. )-404(The)-405(main )-154(dif)18(fer)18(ence)]TJ --24.518 -1.2 Td -[(between )-212(the )-212(BSD )-212(login )-212(pr)18(ocedur)]TJ -0.4621 Tc 15.181 0 Td -(ea)Tj -0 Tc 1.441 0 Td -[(nd )-212(the )-212(Linux )-212(login )-212(pr)18(ocedur)18(e)-462(is)-462(in)-462(t)-1(he )-212(way )-212(the)]TJ --16.623 -1.2 Td -(terminal con\336guration is speci\336ed.)Tj -1.8 -1.2 Td -[(Some )-300(Linux )-300(distributions )-300(ship )-300(with )-300(a )-300(version )-300(of )-300(the)]TJ -/TT0 1 Tf -25.628 0 Td -(init)Tj -/T1_0 1 Tf -2.95 0 Td -[(pr)18(ogram )-300(that )-300(uses)]TJ --30.378 -1.2 Td -[(administrative )-176(\336les )-176(patterned )-176(after )-176(System )-176(V\325s)]TJ -/TT0 1 Tf -21.766 0 Td -(init)Tj -/T1_0 1 Tf -2.826 0 Td -[(\336le )-176(formats.)-676(On )-176(these )-176(systems,)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47231 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.13)]TJ -/TT0 1 Tf -35.803 0 Td -(system)Tj -/T1_0 1 Tf -4.1 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(267)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(status;)]TJ -0 -2.14 TD -(if \(\(status = system\("date"\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("system\(\) error"\);)Tj --2.4 -2.14 Td -(pr_exit\(status\);)Tj -T* -(if \(\(status = system\("nosuchcommand"\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("system\(\) error"\);)Tj --2.4 -2.14 Td -(pr_exit\(status\);)Tj -T* -(if \(\(status = system\("who; exit 44"\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("system\(\) error"\);)Tj --2.4 -2.14 Td -(pr_exit\(status\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4150.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 251.1339 398.9701 Tm -(Figure 8.23)Tj -/T1_0 1 Tf -5.695 0 Td -(Calling the)Tj -/TT0 1 Tf -5.107 0 Td -(system)Tj -/T1_0 1 Tf -3.85 0 Td -(function)Tj -9.9988 0 0 9.9988 147.5824 367.7739 Tm -[(Earlier )-133(systems, )-133(including )-133(SVR3.2 )-133(and )-133(4.3BSD, )-133(didn\325t )-133(have )-133(the)]TJ -/TT0 1 Tf -28.91 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.583 0 Td -(function)Tj --35.293 -1.2 Td -[(available. )-250(Instead,)-250(the par)18(ent waited for the child, using a statement such as)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 169.1798 336.6776 Tm -(while \(\(lastpid = wait\(&status\)\) != pid && lastpid != -1\))Tj -2.4 -1.189 Td -(;)Tj -/T1_0 1 Tf -0.2916 Tc 9.9988 0 0 9.9988 129.5845 305.5813 Tm -(Ap)Tj --0.018 Tc 1.671 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(blem )-42(occurs )-42(if )-42(the )-42(pr)18(ocess )-42(that )-42(calls)]TJ -/TT0 1 Tf -16.093 0 Td -(system)Tj -/T1_0 1 Tf -3.892 0 Td -[(has )-41(spawned )-41(its )-41(own )-41(childr)18(en )-41(befor)16(e)]TJ --22.578 -1.2 Td -(calling)Tj -/TT0 1 Tf -3.26 0 Td -(system)Tj -/T1_0 1 Tf -0.5554 Tc (.B)Tj -0 Tc 5.016 0 Td -[(ecause )-55(the)]TJ -/TT0 1 Tf -4.927 0 Td -(while)Tj -/T1_0 1 Tf -3.305 0 Td -[(statement )-55(above )-55(keeps )-55(looping )-55(until )-55(the )-55(child )-55(that)]TJ --16.509 -1.2 Td -[(was )-4(generated )-4(by)]TJ -/TT0 1 Tf -8.035 0 Td -(system)Tj -/T1_0 1 Tf -3.854 0 Td -[(terminates, )-3(if )-3(any )-3(childr)18(en )-3(of )-3(the )-3(pr)18(ocess )-3(terminate )-3(befor)]TJ -0.2535 Tc 24.992 0 Td -(et)Tj -0 Tc 1.059 0 Td -(he)Tj --37.939 -1.2 Td -[(pr)18(ocess )-174(identi\336ed )-174(by)]TJ -/TT0 1 Tf -9.952 0 Td -(pid)Tj -/T1_0 1 Tf -0.4242 Tc (,t)Tj -0 Tc 2.8 0 Td -[(hen )-174(the )-174(pr)18(ocess )-174(ID )-174(and )-174(termination )-174(status )-174(of )-174(these )-174(other)]TJ --12.752 -1.2 Td -[(childr)18(en )-182(ar)]TJ -0.4323 Tc 4.966 0 Td -(ed)Tj -0 Tc 1.522 0 Td -[(iscar)18(ded )-182(by )-182(the)]TJ -/TT0 1 Tf -7.53 0 Td -(while)Tj -/T1_0 1 Tf -3.432 0 Td -[(statement. )-432(Indeed,)-432(this )-182(inability )-182(to)]TJ -/TT0 1 Tf -16.511 0 Td -(wait)Tj -/T1_0 1 Tf -2.832 0 Td -[(for )-182(a)]TJ --36.794 -1.2 Td -[(speci\336c )-184(child )-184(is )-184(one )-184(of )-184(the )-184(r)18(easons )-184(given )-184(in )-184(the )-184(POSIX.1 )-184(Rationale )-184(for )-184(including )-184(the)]TJ -/TT0 1 Tf -0 -1.2 TD -(waitpid)Tj -/T1_0 1 Tf -4.641 0 Td -[(function. )-441(W)92(e\325ll )-191(see )-191(in )-191(Section )-191(15.3 )-191(that )-191(the )-191(same )-191(pr)16(oblem )-191(occurs )-191(with )-191(the)]TJ -/TT0 1 Tf --4.641 -1.2 Td -(popen)Tj -/T1_0 1 Tf -3.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(pclose)Tj -/T1_0 1 Tf -3.85 0 Td -[(functions if the system doesn\325t pr)18(ovide a)]TJ -/TT0 1 Tf -18.2 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.45 0 Td -(function.)Tj -/TT1 1 Tf --35.293 -3.12 Td -[(Set-User)20(-ID Pr)20(ograms)]TJ -/T1_0 1 Tf -3.6 -2.4 Td -[(What )-245(happens )-245(if )-245(we )-245(call)]TJ -/TT0 1 Tf -12.114 0 Td -(system)Tj -/T1_0 1 Tf -4.095 0 Td -[(fr)18(om )-245(a )-245(set-user)18(-ID )-245(pr)19(ogram? )-495(Doing)-495(so )-245(cr)18(eates )-245(a)]TJ --16.208 -1.2 Td -[(security )-41(hole )-41(and )-41(should )-41(never )-41(be )-41(attempted.)-544(Figur)]TJ -0.2914 Tc 23.152 0 Td -(e8)Tj -0 Tc 1.27 0 Td -[(.24 )-41(shows )-41(a )-41(simple )-41(pr)16(ogram )-41(that)]TJ --24.422 -1.2 Td -(just calls)Tj -/TT0 1 Tf -4.037 0 Td -(system)Tj -/T1_0 1 Tf -3.85 0 Td -(for its command)Tj -7.264 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line ar)18(gument.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47232 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(7.3)]TJ -34.639 0 Td -[(Pr)18(ocess )-250(T)92(ermination)]TJ -/T1_1 1 Tf -11.194 0 Td -(201)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(These )-17(exit )-17(handlers )-17(\336rst )-17(appear)17(ed )-17(in )-17(the )-17(ANSI )-17(C )-17(Standar)17(d)-267(in)-267(1989. )-267(Systems)-268(that )-17(pr)18(edate )-17(ANSI)]TJ -0 -1.25 Td -[(C, such as SVR3 and 4.3BSD, did not pr)18(ovide these exit handlers.)]TJ -0 -2.5 TD -[(ISO )-250(C )-250(r)18(equir)18(es )-250(that )-250(systems )-250(support )-250(at )-250(least )-250(32 )-250(exit )-250(handlers, )-250(but )-250(implementations )-250(often)]TJ -0 -1.25 TD -[(support )-367(mor)]TJ -0.6169 Tc 5.919 0 Td -(e\()Tj -0 Tc 1.429 0 Td -[(see )-367(Figur)]TJ -0.6169 Tc 4.382 0 Td -(e2)Tj -0 Tc 1.596 0 Td -[(.15\). )-617(The)]TJ -/TT0 1 Tf -4.991 0 Td -(sysconf)Tj -/T1_0 1 Tf -4.817 0 Td -[(function )-367(can )-367(be )-367(used )-367(to )-367(determine )-367(the)]TJ --23.133 -1.25 Td -[(maximum )-7(number )-7(of )-7(exit )-7(handlers )-7(supported )-7(by )-7(a )-7(given )-7(platform, )-7(as )-7(illustrated )-7(in )-7(Figur)]TJ -0.2574 Tc 39.263 0 Td -(e2)Tj -0 Tc 1.236 0 Td -(.14.)Tj --0.055 Tc 9.9994 0 0 9.9994 147.591 597.9641 Tm -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-190(ISO )-190(C )-190(and )-190(POSIX.1,)]TJ -/TT0 1 Tf -11.079 0 Td -(exit)Tj -/T1_0 1 Tf -2.84 0 Td -[(\336rst )-190(calls )-190(the )-190(exit )-190(handlers )-190(and )-190(then )-190(closes )-190(\(via)]TJ -/TT0 1 Tf --16.955 -1.2 Td -(fclose)Tj -/T1_0 1 Tf -0.3126 Tc (\)a)Tj -0 Tc 4.746 0 Td -[(ll )-63(open )-63(str)19(eams. )-313(POSIX.1)-312(extends )-63(the )-63(ISO )-63(C )-63(standar)19(d)-313(by)-313(s)1(pecifying )-63(that )-63(any)]TJ --4.746 -1.2 Td -[(exit )-147(handlers )-147(installed )-147(will )-147(be )-147(clear)18(ed )-147(if )-147(the )-147(pr)18(ogram )-147(calls )-147(any )-147(of )-147(the)]TJ -/TT0 1 Tf -32.074 0 Td -(exec)Tj -/T1_0 1 Tf -2.797 0 Td -[(family )-147(of)]TJ --34.87 -1.2 Td -[(functions. )-338(Figur)]TJ -0.3382 Tc 7.352 0 Td -(e7)Tj -0 Tc 1.317 0 Td -[(.2 )-88(summarizes )-88(how )-88(a )-88(C )-88(pr)18(ogram )-88(is )-88(started )-88(and )-88(the )-88(various )-88(ways )-88(it)]TJ --8.669 -1.2 Td -(can terminate.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2022 4764 432 288 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 216.1701 493.9807 Tm -(user)Tj --1.115 -1.25 Td -(functions)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2022 4188 432 288 re -S -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 214.1614 436.3614 Tm -(main)Tj -/T1_0 1 Tf --0.654 -1.25 Td -(function)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2022 3612 432 288 re -S -Q -BT -/T1_0 1 Tf -0.25 Tc 7.9981 0 0 7.9981 205.8826 378.7491 Tm -(Cs)Tj -0 Tc 1.383 0 Td -(tart-up)Tj --0.018 Tc -0.752 -1.25 Td -(ro)Tj -0 Tc 0.923 0 Td -(utine)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -3030 4188 432 288 re -S -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 314.9055 436.3091 Tm -(exit)Tj -/T1_0 1 Tf --0.654 -1.25 Td -(function)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -3930 4764 504 144 re -S -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 396.8491 481.6666 Tm -(exit handler)Tj -/TT0 1 Tf -0.6 Tc 9.9964 0 0 9.9964 403.0547 463.673 Tm -(...)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -3930 4404 504 144 re -S -Q -BT -/T1_0 1 Tf -0 Tc 7.9966 0 0 7.9966 396.8253 445.6528 Tm -(exit handler)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -3930 3828 504 288 re -S -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 394.3707 400.2478 Tm -(standar)Tj -0.25 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.198 0 Td -(/O)Tj --3.313 -1.25 Td -(cleanup)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 216.6 390 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 2166 3900 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 3972.25 cm -0 0 m -0 216 l -S -Q -Q -BT -/T1_0 1 Tf --0.018 Tc 0 6.9962 -6.9962 0 213.2448 396.269 Tm -(re)Tj -0 Tc 0.856 0 Td -(turn)Tj -ET -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 216.6 447.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 2166 4476 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 4548.25 cm -0 0 m -0 216 l -S -Q -Q -BT -/T1_0 1 Tf --0.018 Tc 0 6.9958 -6.9958 0 213.232 453.8106 Tm -(re)Tj -0 Tc 0.856 0 Td -(turn)Tj -ET -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 231 418.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 2310 4188 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2310.25 3900.25 cm -0 0 m -0 216 l -S -Q -Q -BT -/T1_0 1 Tf -0 6.9954 -6.9954 0 237.6031 397.0469 Tm -(call)Tj -ET -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 231 476.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 2310 4764 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2310.25 4476.25 cm -0 0 m -0 216 l -S -Q -Q -BT -/T1_0 1 Tf -0 6.995 -6.995 0 237.5889 454.5816 Tm -(call)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 223.8 361.2 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 2238 3612 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2238.25 3540.25 cm -0 0 m -0 -504 l -S -Q -Q -BT -/TT0 1 Tf -7.9938 0 0 7.9938 225.6239 325.3861 Tm -(exec)Tj -ET -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 324.6 303.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 3246 3036 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 4188.25 cm -0 0 m -0 -1080 l -S -Q -Q -BT -/TT0 1 Tf -7.9933 0 0 7.9933 324.9269 394.3086 Tm -(_exit)Tj -/T1_0 1 Tf -1.029 -1.25 Td -(or)Tj -/TT0 1 Tf --1.029 -1.25 Td -(_Exit)Tj -ET -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 159 490.8 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 1590 4908 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 4908.25 cm -0 0 m --360 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9928 0 0 7.9928 163.0532 516.5749 Tm -(_exit)Tj -/T1_0 1 Tf -1.029 -1.25 Td -(or)Tj -/TT0 1 Tf --1.029 -1.25 Td -(_Exit)Tj -0 -4.7 TD -(_exit)Tj -/T1_0 1 Tf -1.029 -1.25 Td -(or)Tj -/TT0 1 Tf --1.029 -1.25 Td -(_Exit)Tj -ET -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 159 303.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 1590 3036 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1590.25 4908.25 cm -0 0 m -0 -1800 l -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 173.4 433.2 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 1734 4332 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 4332.25 cm -0 0 m --216 0 l -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 173.4 303.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 1734 3036 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1734.25 4332.25 cm -0 0 m -0 -1224 l -S -Q -Q -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 303 443.496 cm -0 0 m --6.696 3.168 l --4.392 5.976 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 3030 4434.96 cm -0 0 m --66.96 31.68 l --43.92 59.76 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2454.25 4908.25 cm -0 0 m -520 -428 l -S -Q -Q -BT -/TT0 1 Tf -6.1748 -5.0721 5.0721 6.1748 268.5317 475.167 Tm -(exit)Tj -/T1_0 1 Tf -4.6311 -3.8041 3.8041 4.6311 252.369 475.517 Tm -[(\(does not r)18(eturn\))]TJ -ET -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 303 433.2 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 3030 4332 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2454.25 4332.25 cm -0 0 m -504 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9904 0 0 7.9904 264.2827 435.9166 Tm -(exit)Tj -/T1_0 1 Tf -5.9928 0 0 5.9928 251.5717 425.9286 Tm -[(\(does not r)18(eturn\))]TJ -ET -q -0.9988007 0 0 0.9988007 0 0 cm -q 1 0 0 1 303 422.904 cm -0 0 m --4.392 -5.976 l --6.696 -3.168 l -f -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -1 j 1 J -q 1 0 0 1 3030 4229.04 cm -0 0 m --43.92 -59.76 l --66.96 -31.68 l -h -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2454.25 3756.25 cm -0 0 m -520 427 l -S -Q -Q -BT -/TT0 1 Tf -6.174 5.0715 -5.0715 6.174 264.3916 395.1997 Tm -(exit)Tj -/T1_0 1 Tf -4.6306 3.8036 -3.8036 4.6306 260.9096 379.4146 Tm -[(\(does not r)18(eturn\))]TJ -ET -q -0.9987408 0 0 0.9987408 0 0 cm -q 1 0 0 1 393 485.976 cm -0 0 m --4.104 -6.192 l --6.552 -3.528 l -f -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -1 j 1 J -q 1 0 0 1 3930 4859.7598 cm -0 0 m --41.04 -61.92 l --65.52 -35.28 l -h -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3462.25 4435.25 cm -0 0 m -414 376 l -S -Q -Q -BT -/T1_0 1 Tf -4.4352 4.0291 -4.0291 4.4352 367.9879 467.4725 Tm -(call)Tj -ET -q -0.9986808 0 0 0.9986808 0 0 cm -q 1 0 0 1 346.2 439.392 cm -0 0 m -4.176 6.12 l -6.552 3.456 l -f -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -1 j 1 J -q 1 0 0 1 3462 4393.9199 cm -0 0 m -41.76 61.2 l -65.52 34.56 l -h -S -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3516.25 4441.25 cm -0 0 m -414 370 l -S -Q -Q -BT -/T1_0 1 Tf --0.018 Tc 4.4674 3.9929 -3.9929 4.4674 371.8864 453.0823 Tm -(re)Tj -0 Tc 0.856 0 Td -(turn)Tj -ET -q -0.9986209 0 0 0.9986209 0 0 cm -q 1 0 0 1 393 449.976 cm -0 0 m --6.336 -3.888 l --7.416 -0.432 l -f -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -1 j 1 J -q 1 0 0 1 3930 4499.7598 cm -0 0 m --63.36 -38.88 l --74.16 -4.32 l -h -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3462.25 4353.25 cm -0 0 m -399 126 l -S -Q -Q -BT -/T1_0 1 Tf -5.7146 1.8002 -1.8002 5.7146 363.7358 443.7076 Tm -(call)Tj -ET -q -0.998561 0 0 0.998561 0 0 cm -q 1 0 0 1 346.2 431.112 cm -0 0 m -6.408 3.816 l -7.416 0.36 l -f -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -1 j 1 J -q 1 0 0 1 3462 4311.1201 cm -0 0 m -64.08 38.16 l -74.16 3.6 l -h -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3531.25 4332.25 cm -0 0 m -399 119 l -S -Q -Q -BT -/T1_0 1 Tf --0.018 Tc 5.7378 1.7234 -1.7234 5.7378 363.064 428.6665 Tm -(re)Tj -0 Tc 0.856 0 Td -(turn)Tj -ET -q -0.9985011 0 0 0.9985011 0 0 cm -q 1 0 0 1 393 399.288 cm -0 0 m --7.128 2.16 l --5.256 5.256 l -f -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -1 j 1 J -q 1 0 0 1 3930 3992.8799 cm -0 0 m --71.28 21.6 l --52.56 52.56 l -h -S -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3462.25 4270.25 cm -0 0 m -406 -241 l -S -Q -Q -BT -/T1_0 1 Tf -5.1519 -3.0571 3.0571 5.1519 366.7434 417.583 Tm -(call)Tj -ET -q -0.9984412 0 0 0.9984412 0 0 cm -q 1 0 0 1 346.2 422.904 cm -0 0 m -7.128 -2.16 l -5.256 -5.256 l -f -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -1 j 1 J -q 1 0 0 1 3462 4229.04 cm -0 0 m -71.28 -21.6 l -52.56 -52.56 l -h -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3524.25 4192.25 cm -0 0 m -406 -241 l -S -Q -Q -BT -/T1_0 1 Tf --0.018 Tc 5.1515 -3.0569 3.0569 5.1515 358.4428 406.7635 Tm -(re)Tj -0 Tc 0.856 0 Td -(turn)Tj -ET -q -0.0998381 0 0 0.0998381 0 0 cm -3.2 w 1 j 1 J -1446 2460 3600 576 re -S -Q -BT -/T1_0 1 Tf -11.9799 0 0 11.9799 307.3911 272.5817 Tm -(kernel)Tj -ET -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 3468.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 3538.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 3609.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 3679.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 3750.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 3821.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 3890.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 3961.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4032.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4102.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4173.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4243.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4314.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4384.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4455.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4525.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4596.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4667.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4737.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4807.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4878.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 4948.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 5019.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 5089.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 5160.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1950.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2094.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2238.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2310.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2454.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2526.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2598.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2742.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2814.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2886.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2958.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3030.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3102.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3174.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3318.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3390.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3462.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3606.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3678.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3894.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3966.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4038.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4182.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4254.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4326.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4398.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5196.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4542.25 5196.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 5125.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 5055.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 4984.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 4914.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 4843.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 4772.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 4703.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 4632.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 4561.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 4491.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 4420.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 4350.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 4279.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 4209.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 4138.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 4068.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 3997.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 3926.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 3857.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 3786.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 3715.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 3645.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 3574.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 3504.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4506.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4434.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4362.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4290.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4218.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4074.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4002.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3930.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3858.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3714.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3570.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3498.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3426.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3282.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3210.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3066.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2994.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2922.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2850.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2634.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2562.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2490.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2274.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2202.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2130.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2058.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1986.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1914.25 3468.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9861 0 0 7.9861 459.0006 430.6899 Tm -[(user pr)18(ocess)]TJ -/T1_1 1 Tf --30.628 -26.33 Td -(Figure 7.2)Tj -/T1_0 1 Tf -5.195 0 Td -[(How a C pr)18(ogram is started and how it terminates)]TJ -9.9826 0 0 9.9826 129.3749 190.4683 Tm -[(The )-21(only )-21(way )-21(a )-21(pr)18(ogram )-21(can )-21(be )-21(executed )-21(by )-21(the )-21(kernel )-21(is )-21(if )-21(one )-21(of )-21(the)]TJ -/TT0 1 Tf -31.213 0 Td -(exec)Tj -/T1_0 1 Tf -2.671 0 Td -[(functions )-21(is)]TJ --33.884 -1.2 Td -[(called. )-264(The)-263(only )-14(way )-14(a )-14(pr)18(ocess )-14(can )-14(voluntarily )-14(terminate )-14(is )-14(if)]TJ -/TT0 1 Tf -27.423 0 Td -(_exit)Tj -/T1_0 1 Tf -3.264 0 Td -(or)Tj -/TT0 1 Tf -1.205 0 Td -(_Exit)Tj -/T1_0 1 Tf -3.264 0 Td -[(is )-14(called,)]TJ --35.155 -1.2 Td -[(either )-193(explicitly )-193(or )-193(implicitly )-193(\(by )-193(calling)]TJ -/TT0 1 Tf -18.898 0 Td -(exit)Tj -/T1_0 1 Tf -[(\). )-443(A)-443(pr)18(ocess )-193(can )-193(also )-193(be )-193(involuntarily)]TJ --18.898 -1.2 Td -(terminated by a signal \(not shown in Figur)Tj -0.25 Tc 18.886 0 Td -(e7)Tj -0 Tc 1.229 0 Td -(.2\).)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47233 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(508)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-294(\336rst )-294(four )-294(r)18(ows )-294(of )-294(Figur)]TJ -0.5444 Tc 13.467 0 Td -(e1)Tj -0 Tc 1.523 0 Td -[(4.17 )-294(test )-294(for )-294(r)17(eadability)]TJ -0.5444 Tc 10.876 0 Td -(,t)Tj -0 Tc 1.12 0 Td -[(he )-294(next )-294(thr)18(ee )-294(test )-294(for)]TJ --28.786 -1.2 Td -(writability)Tj -0.489 Tc 4.543 0 Td -(,a)Tj -0 Tc 1.239 0 Td -[(nd )-239(the )-239(\336nal )-239(thr)18(ee )-239(ar)]TJ -0.489 Tc 9.634 0 Td -(ef)Tj -0 Tc 1.301 0 Td -[(or )-239(exception )-239(conditions.)-739(The )-239(last )-239(thr)18(ee )-239(r)18(ows )-239(in)]TJ --16.717 -1.2 Td -(Figur)Tj -0.5623 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.541 0 Td -[(4.17 )-312(ar)]TJ -0.5623 Tc 3.189 0 Td -(es)Tj -0 Tc 1.465 0 Td -[(et )-312(by )-312(the )-312(kernel )-312(on )-312(r)17(eturn. )-562(These)-563(thr)18(ee )-312(values )-312(ar)]TJ -0.5622 Tc 24.093 0 Td -(er)Tj -0 Tc 1.418 0 Td -[(eturned )-312(in)]TJ -/TT0 1 Tf --34.09 -1.2 Td -(revents)Tj -/T1_1 1 Tf -4.473 0 Td -[(when )-23(the )-23(condition )-23(occurs, )-23(even )-23(if )-23(they )-23(wer)18(en\325t )-23(speci\336ed )-23(in )-23(the)]TJ -/TT0 1 Tf -28.417 0 Td -(events)Tj -/T1_1 1 Tf -3.873 0 Td -(\336eld.)Tj -7.9995 0 0 7.9995 183.5888 609.9634 Tm -[(The )-15(poll )-15(event )-15(names )-15(containing )-15(the )-15(term)]TJ -/T1_2 1 Tf -18.724 0 Td -(BAND)Tj -/T1_1 1 Tf --0.018 Tc 3.154 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer )-14(to )-14(priority )-14(bands )-14(in )-14(STREAMS.)-514(Refer )-14(to)]TJ --22.734 -1.25 Td -(Rago)Tj -2.52 0.04 Td -([)Tj -0.333 -0.04 Td -(1993)Tj -2 0.04 Td -(])Tj -0.583 -0.04 Td -(for mor)Tj -0.25 Tc 3.33 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(nformation about STREAMS and priority bands.)Tj -9.9994 0 0 9.9994 147.5913 576.9654 Tm -[(When )-43(a )-43(descriptor )-43(is )-43(hung )-43(up )-43(\()]TJ -/TT0 1 Tf -13.987 0 Td -(POLLHUP)Tj -/T1_1 1 Tf -[(\), )-43(we )-43(can )-43(no )-43(longer )-43(write )-43(to )-43(the )-43(descriptor)76(.)]TJ --15.787 -1.2 Td -(Ther)Tj -0.25 Tc 2.051 0 Td -(em)Tj -0 Tc 1.612 0 Td -(ay)Tj -0.25 Tc 0.945 0 Td -(,h)Tj -0 Tc 1.082 0 Td -(owever)Tj -0.25 Tc 3.224 0 Td -(,s)Tj -0 Tc 0.924 0 Td -[(till be data to be r)18(ead fr)18(om the descriptor)74(.)]TJ --8.038 -1.2 Td -[(The )-59(\336nal )-59(ar)18(gument )-59(to)]TJ -/TT0 1 Tf -10.065 0 Td -(poll)Tj -/T1_1 1 Tf -2.709 0 Td -[(speci\336es )-59(how )-59(long )-59(we )-59(want )-59(to )-59(wait.)-558(As )-59(with)]TJ -/TT0 1 Tf -20.576 0 Td -(select)Tj -/T1_1 1 Tf -(,)Tj --35.15 -1.2 Td -(ther)Tj -0.25 Tc 1.764 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(t)]TJ -0 Tc 1.432 0 Td -[(hr)18(ee cases.)]TJ -/T1_2 1 Tf --2.625 -1.72 Td -(timeout)Tj -/TT0 1 Tf -3.611 0 Td -(==)Tj -/TT1 1 Tf -1.7 0 Td -(!)Tj -/T1_1 1 Tf -(1)Tj --0.092 Tc -3.511 -1.32 Td -(Wa)Tj -0 Tc 1.408 0 Td -[(it )-112(for)18(ever)]TJ -0.6123 Tc 4.079 0 Td -(.\()Tj -0 Tc 1.195 0 Td -[(Some )-112(systems )-112(de\336ne )-112(the )-112(constant)]TJ -/TT0 1 Tf -15.634 0 Td -(INFTIM)Tj -/T1_1 1 Tf -3.962 0 Td -(in)Tj -/TT0 1 Tf -1.235 0 Td -()Tj -/T1_1 1 Tf -6.962 0 Td -(as)Tj -/TT1 1 Tf --34.476 -1.2 Td -(!)Tj -/T1_1 1 Tf -[(1.\) )-311(W)]TJ -0.3107 Tc 3.101 0 Td -(er)Tj -0 Tc 1.167 0 Td -[(eturn )-61(when )-61(one )-61(of )-61(the )-61(speci\336ed )-61(descriptors )-61(is )-61(r)20(eady )-61(or )-61(when )-61(a )-61(signal)]TJ --4.267 -1.2 Td -[(is caught.)-500(If a signal is caught,)]TJ -/TT0 1 Tf -13.766 0 Td -(poll)Tj -/T1_1 1 Tf --0.018 Tc 2.65 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -/TT1 1 Tf -2.58 0 Td -(!)Tj -/T1_1 1 Tf -0.25 Tc (1w)Tj -0 Tc 2.133 0 Td -(ith)Tj -/TT0 1 Tf -1.449 0 Td -(errno)Tj -/T1_1 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(EINTR)Tj -/T1_1 1 Tf -(.)Tj -/T1_2 1 Tf --31.085 -1.72 Td -(timeout)Tj -/TT0 1 Tf -3.611 0 Td -(==)Tj -/T1_1 1 Tf -1.7 0 Td -(0)Tj --3.511 -1.32 Td -[(Don\325t )-30(wait.)-530(All )-30(the )-30(speci\336ed )-30(descriptors )-30(ar)]TJ -0.2798 Tc 19.13 0 Td -(et)Tj -0 Tc 1.085 0 Td -[(ested, )-30(and )-30(we )-30(r)19(eturn )-30(immediately)111(.)]TJ --20.215 -1.2 Td -[(This )-106(is )-106(a )-106(way )-106(to )-106(poll )-106(the )-106(system )-106(to )-106(\336nd )-106(out )-106(the )-106(status )-106(of )-106(multiple )-106(descriptors,)]TJ -0 -1.2 TD -(without blocking in the call to)Tj -/TT0 1 Tf -13.485 0 Td -(poll)Tj -/T1_1 1 Tf -(.)Tj -/T1_2 1 Tf --15.285 -1.72 Td -(timeout)Tj -/TT0 1 Tf -3.611 0 Td -(>)Tj -/T1_1 1 Tf -1.1 0 Td -(0)Tj --0.092 Tc -2.911 -1.32 Td -(Wa)Tj -0 Tc 1.408 0 Td -(it)Tj -/T1_2 1 Tf -0.992 0 Td -(timeout)Tj -/T1_1 1 Tf -3.486 0 Td -[(milliseconds. )-375(W)]TJ -0.3748 Tc 7.34 0 Td -(er)Tj -0 Tc 1.231 0 Td -[(eturn )-125(when )-125(one )-125(of )-125(the )-125(speci\336ed )-125(descriptors )-125(is)]TJ --0.018 Tc -14.456 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ady )-234(or )-234(when )-234(the)]TJ -/T1_2 1 Tf -8.407 0 Td -(timeout)Tj -/T1_1 1 Tf -3.595 0 Td -[(expir)18(es. )-484(If)-483(the)]TJ -/T1_2 1 Tf -7.175 0 Td -(timeout)Tj -/T1_1 1 Tf -3.595 0 Td -[(expir)18(es )-234(befor)]TJ -0.4837 Tc 5.939 0 Td -(ea)Tj -0 Tc 1.463 0 Td -[(ny )-234(of )-234(the)]TJ --31.029 -1.2 Td -[(descriptors )-239(is )-239(r)17(eady)]TJ -0.4895 Tc 9.042 0 Td -(,t)Tj -0 Tc 1.066 0 Td -[(he )-239(r)18(eturn )-239(value )-239(is )-239(0.)-739(\(If )-239(your )-239(system )-239(doesn\325t )-239(pr)14(ovide)]TJ --10.108 -1.2 Td -[(millisecond r)18(esolution,)]TJ -/T1_2 1 Tf -10.348 0 Td -(timeout)Tj -/T1_1 1 Tf -3.361 0 Td -[(is r)18(ounded up to the near)18(est supported value.\))]TJ --15.509 -1.92 Td -[(It )-169(is )-169(important )-169(to )-169(r)18(ealize )-169(the )-169(dif)20(fer)18(ence )-169(between )-169(an )-169(end )-169(of )-169(\336le )-169(and )-169(a )-169(hangup.)-665(If)]TJ --1.8 -1.2 Td -(we\325r)Tj -0.4552 Tc 1.968 0 Td -(ee)Tj -0 Tc 1.413 0 Td -[(ntering )-205(data )-205(fr)18(om )-205(the )-205(terminal )-205(and )-205(type )-205(the )-205(end-of-\336le )-205(character)72(,)]TJ -/TT0 1 Tf -30.849 0 Td -(POLLIN)Tj -/T1_1 1 Tf -4.055 0 Td -(is)Tj --38.285 -1.2 Td -[(turned )-110(on )-110(so )-110(we )-110(can )-110(r)18(ead )-110(the )-110(end-of-\336le )-110(indication )-110(\()]TJ -/TT0 1 Tf -23.913 0 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.76 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-110(0\).)]TJ -/TT0 1 Tf -4.382 0 Td -(POLLHUP)Tj -/T1_1 1 Tf -4.56 0 Td -[(is )-110(not)]TJ --36.471 -1.2 Td -[(turned )-58(on )-58(in)]TJ -/TT0 1 Tf -5.922 0 Td -(revents)Tj -/T1_1 1 Tf -0.5582 Tc (.I)Tj -0.3082 Tc 5.345 0 Td -(fw)Tj -0 Tc 1.475 0 Td -(e\325r)Tj -0.3082 Tc 1.134 0 Td -(er)Tj -0 Tc 1.164 0 Td -[(eading )-58(fr)18(om )-58(a )-58(modem )-58(and )-58(the )-58(telephone )-58(line )-58(is )-58(hung)]TJ --15.04 -1.2 Td -[(up, we\325ll r)18(eceive the)]TJ -/TT0 1 Tf -9.128 0 Td -(POLLHUP)Tj -/T1_1 1 Tf -4.45 0 Td -(noti\336cation.)Tj --11.778 -1.2 Td -[(As )-220(with)]TJ -/TT0 1 Tf -4.175 0 Td -(select)Tj -/T1_1 1 Tf -0.4702 Tc (,w)Tj -0 Tc 5.154 0 Td -[(hether )-220(a )-220(descriptor )-220(is )-220(blocking )-220(doesn\325t )-220(af)17(fect )-220(whether)]TJ -/TT0 1 Tf -25.47 0 Td -(poll)Tj -/T1_1 1 Tf --36.6 -1.2 Td -(blocks.)Tj -/TT2 1 Tf --3.6 -3.12 Td -(Interruptibility of)Tj -/TT3 1 Tf -8.223 0 Td -(select)Tj -/TT2 1 Tf -3.878 0 Td -(and)Tj -/TT3 1 Tf -2.056 0 Td -(poll)Tj -/T1_1 1 Tf --10.557 -2.16 Td -[(When )-66(the )-66(automatic )-66(r)18(estarting )-66(of )-66(interr)8(upted )-66(system )-66(calls )-66(was )-66(intr)21(oduced )-66(with )-66(4.2BSD)]TJ -T* -[(\(Section )-124(10.5\), )-124(the)]TJ -/TT0 1 Tf -8.369 0 Td -(select)Tj -/T1_1 1 Tf -3.974 0 Td -[(function )-124(was )-124(never )-124(r)17(estarted. )-374(This)-375(characteristic )-124(continues)]TJ --12.344 -1.2 Td -[(with )-182(most )-182(systems )-182(even )-182(if )-182(the)]TJ -/TT0 1 Tf -14.436 0 Td -(SA_RESTART)Tj -/T1_1 1 Tf -6.432 0 Td -[(option )-182(is )-182(speci\336ed.)-682(But )-182(under )-182(SVR4, )-182(if)]TJ -/TT0 1 Tf --20.868 -1.2 Td -(SA_RESTART)Tj -/T1_1 1 Tf -6.355 0 Td -[(was )-105(speci\336ed, )-105(even)]TJ -/TT0 1 Tf -9.112 0 Td -(select)Tj -/T1_1 1 Tf -3.955 0 Td -(and)Tj -/TT0 1 Tf -2.048 0 Td -(poll)Tj -/T1_1 1 Tf -2.755 0 Td -(wer)Tj -0.355 Tc 1.69 0 Td -(ea)Tj -0 Tc 1.334 0 Td -[(utomatically )-105(r)18(estarted. )-355(T)92(o)]TJ --27.249 -1.2 Td -[(pr)18(event )-133(this )-133(fr)18(om )-133(catching )-133(us )-133(when )-133(we )-133(port )-133(softwar)20(e)-383(to)-383(systems )-133(derived )-133(fr)18(om )-133(SVR4,)]TJ --0 -1.2 Td -[(we\325ll )-50(always )-50(use )-50(the)]TJ -/TT0 1 Tf -9.373 0 Td -(signal_intr)Tj -/T1_1 1 Tf -6.9 0 Td -[(function )-50(\(Figur)]TJ -0.3003 Tc 6.723 0 Td -(e1)Tj -0 Tc 1.279 0 Td -[(0.19\) )-50(if )-50(the )-50(signal )-50(could )-50(interr)7(upt)]TJ -0.25 Tc -24.275 -1.2 Td -(ac)Tj -0 Tc 1.194 0 Td -(all to)Tj -/TT0 1 Tf -2.454 0 Td -(select)Tj -/T1_1 1 Tf -3.85 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(poll)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47234 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.16)]TJ -35.071 0 Td -[(Pr)18(ocess )-250(Scheduling)]TJ -/T1_1 1 Tf -10.762 0 Td -(277)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(The)Tj -/T1_2 1 Tf -1.996 0 Td -(incr)Tj -/T1_0 1 Tf -1.952 0 Td -[(ar)18(gument )-72(is )-72(added )-72(to )-72(the )-72(nice )-72(value )-72(of )-72(the )-72(calling )-72(pr)21(ocess. )-322(If)]TJ -/T1_2 1 Tf -27.872 0 Td -(incr)Tj -/T1_0 1 Tf -1.952 0 Td -[(is )-72(too )-72(lar)19(ge,)]TJ --33.771 -1.2 Td -[(the )-29(system )-29(silently )-29(r)18(educes )-29(it )-29(to )-29(the )-29(maximum )-29(legal )-29(value.)-530(Similarly)]TJ -0.2791 Tc 30.329 0 Td -(,i)Tj -0 Tc 0.82 0 Td -(f)Tj -/T1_2 1 Tf -0.612 0 Td -(incr)Tj -/T1_0 1 Tf -1.909 0 Td -[(is )-29(too )-29(small,)]TJ --33.67 -1.2 Td -[(the )-251(system )-251(silently )-251(incr)18(eases )-251(it )-251(to )-251(the )-251(minimum )-251(legal )-251(value.)-750(Because)]TJ -/TT0 1 Tf -33.116 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-501(is)-501(a)-501(legal)]TJ --33.116 -1.2 Td -[(successful )-24(r)18(eturn )-24(value, )-24(we )-24(need )-24(to )-24(clear)]TJ -/TT1 1 Tf -18.282 0 Td -(errno)Tj -/T1_0 1 Tf -3.274 0 Td -(befor)Tj -0.2741 Tc 2.288 0 Td -(ec)Tj -0 Tc 1.197 0 Td -(alling)Tj -/TT1 1 Tf -2.785 0 Td -(nice)Tj -/T1_0 1 Tf -2.674 0 Td -[(and )-24(check )-24(its )-24(value)]TJ --30.5 -1.2 Td -(if)Tj -/TT1 1 Tf -0.931 0 Td -(nice)Tj -/T1_0 1 Tf --0.018 Tc 2.707 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -/TT0 1 Tf -2.637 0 Td -(!)Tj -/T1_0 1 Tf -[(1. )-307(If)-307(the )-57(call )-57(to)]TJ -/TT1 1 Tf -7.538 0 Td -(nice)Tj -/T1_0 1 Tf -2.707 0 Td -[(succeeds )-57(and )-57(the )-57(r)19(eturn )-57(value )-57(is)]TJ -/TT0 1 Tf -14.743 0 Td -(!)Tj -/T1_0 1 Tf -[(1, )-57(then)]TJ -/TT1 1 Tf -3.881 0 Td -(errno)Tj -/T1_0 1 Tf --36 -1.2 Td -[(will still be zer)18(o. )-250(If)]TJ -/TT1 1 Tf -8.684 0 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -[(is nonzer)18(o, it means that the call to)]TJ -/TT1 1 Tf -15.581 0 Td -(nice)Tj -/T1_0 1 Tf -2.65 0 Td -(failed.)Tj --28.365 -1.2 Td -(The)Tj -/TT1 1 Tf -1.952 0 Td -(getpriority)Tj -/T1_0 1 Tf -6.878 0 Td -[(function )-28(can )-28(be )-28(used )-28(to )-28(get )-28(the )-28(nice )-28(value )-28(for )-28(a )-28(pr)18(ocess, )-28(just )-28(like)]TJ --10.63 -1.2 Td -(the)Tj -/TT1 1 Tf -1.708 0 Td -(nice)Tj -/T1_0 1 Tf -2.721 0 Td -[(function. )-321(However)74(,)]TJ -/TT1 1 Tf -9.155 0 Td -(getpriority)Tj -/T1_0 1 Tf -6.921 0 Td -[(can )-71(also )-71(get )-71(the )-71(nice )-71(value )-71(for )-71(a )-71(gr)17(oup )-71(of)]TJ --0.018 Tc -20.506 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(lated pr)18(ocesses.)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.5921 556.2666 Tm -(#include )Tj -0 -1.902 TD -(int getpriority\(int)Tj -/T1_2 1 Tf -12 0 Td -(which)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.207 0 Td -(d_t)Tj -/T1_2 1 Tf -2.4 0 Td -(who)Tj -/TT1 1 Tf -(\);)Tj -/T1_0 1 Tf --9.863 -1.902 Td -(Returns: nice value between)Tj -/TT0 1 Tf -12.693 0 Td -(!)Tj -/TT1 1 Tf -(NZERO)Tj -/T1_0 1 Tf -3.799 0 Td -(and)Tj -/TT1 1 Tf -1.943 0 Td -(NZERO)Tj -/TT0 1 Tf -(!)Tj -/TT1 1 Tf -(1)Tj -/T1_0 1 Tf -4.399 0 Td -(if OK,)Tj -/TT0 1 Tf -2.886 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5175.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 503.9995 Tm -(The)Tj -/T1_2 1 Tf -2.009 0 Td -(which)Tj -/T1_0 1 Tf -2.742 0 Td -[(ar)18(gument )-85(can )-85(take )-85(on )-85(one )-85(of )-85(thr)16(ee )-85(values:)]TJ -/TT1 1 Tf -19.345 0 Td -(PRIO_PROCESS)Tj -/T1_0 1 Tf -7.536 0 Td -[(to )-85(indicate )-85(a)]TJ --33.433 -1.2 Td -[(pr)18(ocess,)]TJ -/TT1 1 Tf -3.828 0 Td -(PRIO_PGRP)Tj -/T1_0 1 Tf -5.683 0 Td -[(to )-33(indicate )-33(a )-33(pr)18(ocess )-33(gr)18(oup, )-33(and)]TJ -/TT1 1 Tf -14.516 0 Td -(PRIO_USER)Tj -/T1_0 1 Tf -5.683 0 Td -[(to )-33(indicate )-33(a )-33(user )-33(ID.)]TJ --29.71 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.286 0 Td -(which)Tj -/T1_0 1 Tf -3.019 0 Td -[(ar)18(gument )-362(contr)18(ols )-362(how )-362(the)]TJ -/T1_2 1 Tf -13.641 0 Td -(who)Tj -/T1_0 1 Tf -2.278 0 Td -[(ar)18(gument )-362(is )-362(interpr)18(eted )-362(and )-362(the)]TJ -/T1_2 1 Tf -16.109 0 Td -(who)Tj -/T1_0 1 Tf --37.334 -1.2 Td -[(ar)18(gument )-101(selects )-101(the )-101(pr)18(ocess )-101(or )-101(pr)18(ocesses )-101(of )-101(inter)19(est. )-351(If)-351(the)]TJ -/T1_2 1 Tf -27.223 0 Td -(who)Tj -/T1_0 1 Tf -2.017 0 Td -[(ar)18(gument )-101(is )-101(0, )-101(then )-101(it)]TJ --29.24 -1.2 Td -[(indicates )-192(the )-192(calling )-192(pr)17(ocess, )-192(pr)18(ocess )-192(gr)18(oup, )-192(or )-192(user )-192(\(depending )-192(on )-192(the )-192(value )-192(of )-192(the)]TJ -/T1_2 1 Tf -0 -1.2 TD -(which)Tj -/T1_0 1 Tf -2.704 0 Td -[(ar)18(gument\). )-297(When)]TJ -/T1_2 1 Tf -8.376 0 Td -(which)Tj -/T1_0 1 Tf -2.704 0 Td -[(is )-47(set )-47(to)]TJ -/TT1 1 Tf -3.708 0 Td -(PRIO_USER)Tj -/T1_0 1 Tf -5.697 0 Td -(and)Tj -/T1_2 1 Tf -1.99 0 Td -(who)Tj -/T1_0 1 Tf -1.963 0 Td -[(is )-47(0, )-47(the )-47(r)17(eal )-47(user )-47(ID )-47(of )-47(the)]TJ --27.143 -1.2 Td -[(calling )-21(pr)18(ocess )-21(is )-21(used.)-523(When )-22(the)]TJ -/T1_2 1 Tf -15.241 0 Td -(which)Tj -/T1_0 1 Tf -2.679 0 Td -[(ar)18(gument )-22(applies )-22(to )-22(mor)]TJ -0.2716 Tc 10.986 0 Td -(et)Tj -0 Tc 1.077 0 Td -[(han )-22(one )-22(pr)18(ocess, )-22(the)]TJ --29.982 -1.2 Td -[(highest priority \(lowest value\) of all the applicable pr)18(ocesses is r)18(eturned.)]TJ -1.8 -1.2 Td -(The)Tj -/TT1 1 Tf -2.027 0 Td -(setpriority)Tj -/T1_0 1 Tf -6.953 0 Td -[(function )-103(can )-103(be )-103(used )-103(to )-103(set )-103(the )-103(priority )-103(of )-103(a )-103(pr)22(ocess, )-102(a )-102(pr)17(ocess)]TJ --10.779 -1.2 Td -[(gr)18(oup, or all the pr)18(ocesses belonging to a particular user ID.)]TJ -/TT1 1 Tf -8.9989 0 0 8.9989 147.5824 379.3145 Tm -(#include )Tj -0 -1.902 TD -(int setpriority\(int)Tj -/T1_2 1 Tf -12 0 Td -(which)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.207 0 Td -(d_t)Tj -/T1_2 1 Tf -2.4 0 Td -(who)Tj -/TT1 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.466 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(value)Tj -/TT1 1 Tf -(\);)Tj -/T1_0 1 Tf -2.978 -1.902 Td -(Returns: 0 if OK,)Tj -/TT0 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3406.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 327.0611 Tm -(The)Tj -/T1_2 1 Tf -1.958 0 Td -(which)Tj -/T1_0 1 Tf -2.691 0 Td -(and)Tj -/T1_2 1 Tf -1.976 0 Td -(who)Tj -/T1_0 1 Tf -1.949 0 Td -[(ar)18(guments )-33(ar)]TJ -0.2835 Tc 5.891 0 Td -(et)Tj -0 Tc 1.089 0 Td -[(he )-33(same )-33(as )-33(in )-33(the)]TJ -/TT1 1 Tf -7.949 0 Td -(getpriority)Tj -/T1_0 1 Tf -6.884 0 Td -[(function. )-283(The)]TJ -/T1_2 1 Tf -6.448 0 Td -(value)Tj -/T1_0 1 Tf --36.833 -1.2 Td -(is added to)Tj -/TT1 1 Tf -5.149 0 Td -(NZERO)Tj -/T1_0 1 Tf -3.25 0 Td -(and this becomes the new nice value.)Tj -7.9986 0 0 7.9986 183.5676 295.0669 Tm -(The)Tj -/TT1 1 Tf -2.001 0 Td -(nice)Tj -/T1_0 1 Tf -2.727 0 Td -[(system )-77(call )-77(originated )-77(with )-77(an )-77(early )-77(PDP)]TJ -18.475 0.09 Td -(-)Tj --0.055 Tc 0.333 -0.09 Td -[(11 )-187(v)]TJ -0 Tc 1.837 0 Td -[(ersion )-77(of )-77(the )-77(Resear)18(ch )-77(UNIX )-77(System.)]TJ --25.373 -1.25 Td -(The)Tj -/TT1 1 Tf -1.924 0 Td -(getpriority)Tj -/T1_0 1 Tf -6.85 0 Td -(and)Tj -/TT1 1 Tf -1.943 0 Td -(setpriority)Tj -/T1_0 1 Tf -6.85 0 Td -(functions originated with 4.2BSD.)Tj -9.9982 0 0 9.9982 147.5743 264.0725 Tm -[(The )-68(Single )-68(UNIX )-68(Speci\336cation )-68(leaves )-68(it )-68(up )-68(to )-68(the )-68(implementation )-68(whether )-68(the )-68(nice)]TJ --1.8 -1.2 Td -[(value )-39(is )-39(inherited )-39(by )-39(a )-39(child )-39(pr)20(ocess )-38(after )-38(a)]TJ -/TT1 1 Tf -19.442 0 Td -(fork)Tj -/T1_0 1 Tf -0.5385 Tc (.H)Tj -0 Tc 4.021 0 Td -(owever)Tj -0.2885 Tc 3.224 0 Td -(,X)Tj -0 Tc 1.206 0 Td -[(SI-compliant )-38(systems )-38(ar)17(e)]TJ --0.018 Tc -27.892 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(ed to pr)18(eserve the nice value acr)18(oss a call to)]TJ -/TT1 1 Tf -21.326 0 Td -(exec)Tj -/T1_0 1 Tf -(.)Tj -0.2788 Tc 7.9986 0 0 7.9986 183.5681 220.0804 Tm -(Ac)Tj -0 Tc 1.501 0 Td -[(hild )-29(pr)18(ocess )-29(inherits )-29(the )-29(nice )-29(value )-29(fr)18(om )-29(its )-29(par)18(ent )-29(pr)18(ocess )-29(in )-29(Fr)18(eeBSD )-29(8.0, )-29(Linux )-29(3.2.0, )-29(Mac)]TJ --1.501 -1.25 Td -(OS X 10.6.8, and Solaris 10.)Tj -/TT2 1 Tf -9.9982 0 0 9.9982 93.5843 182.4871 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(The )-50(pr)18(ogram )-50(in )-50(Figur)]TJ -0.3 Tc 9.688 0 Td -(e8)Tj -0 Tc 1.279 0 Td -[(.30 )-50(measur)18(es )-50(the )-50(ef)18(fect )-50(of )-50(adjusting )-50(the )-50(nice )-50(value )-50(of )-50(a )-50(pr)18(ocess.)]TJ --0.09 Tc -10.967 -1.2 Td -(Tw)Tj -0.2774 Tc 1.357 0 Td -(op)Tj --0.018 Tc 1.424 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cesses )-27(r)8(un )-27(in )-27(parallel, )-27(each )-27(incr)16(ementing )-27(its )-27(own )-27(counter)]TJ -0.5275 Tc 25.117 0 Td -(.T)Tj -0 Tc 1.391 0 Td -[(he )-27(par)18(ent )-27(r)8(uns )-27(with)]TJ --30.212 -1.2 Td -[(the )-12(default )-12(nice )-12(value, )-12(and )-12(the )-12(child )-12(r)8(uns )-12(with )-12(an )-12(adjusted )-12(nice )-12(value )-12(as )-12(speci\336ed )-12(by )-12(the)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47235 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(386)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1860 5342 cm -0 0 m -0 -159.05 -64.47 -288 -144 -288 c --223.53 -288 -288 -159.05 -288 0 c --288 159.05 -223.53 288 -144 288 c --64.47 288 0 159.05 0 0 c -h -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 7.9995 0 0 7.9995 160.0904 537.4078 Tm -[(thr)18(ead)]TJ -1.187 -1.25 Td -(2)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2249.52 5905.7598 cm -0 0 m -0 -159.05 -64.47 -288 -144 -288 c --223.53 -288 -288 -159.05 -288 0 c --288 159.06 -223.53 288 -144 288 c --64.47 288 0 159.06 0 0 c -h -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 199.0281 593.7447 Tm -[(thr)18(ead)]TJ -1.187 -1.25 Td -(1)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2249.52 4778.2402 cm -0 0 m -0 -159.05 -64.47 -288 -144 -288 c --223.53 -288 -288 -159.05 -288 0 c --288 159.06 -223.53 288 -144 288 c --64.47 288 0 159.06 0 0 c -h -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 199.0162 480.9774 Tm -[(thr)18(ead)]TJ -1.187 -1.25 Td -(3)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2544 4910 360 864 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 263.0129 537.311 Tm -(work)Tj --0.197 -1.25 Td -(queue)Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 290.4 534.2 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 2904 5342 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 312 534.2 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 3120 5342 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2976.25 5342.25 cm -0 0 m -72 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -3120 5054 288 576 re -S -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 320.9524 532.2484 Tm -(job)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3120.25 5486.25 cm -0 0 m -288 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 316.3711 551.6083 Tm -(TID 1)Tj -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 340.8 534.2 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3408 5342 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 362.4 534.2 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3624 5342 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3480.25 5342.25 cm -0 0 m -72 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -3624 5054 288 576 re -S -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 371.2675 532.1526 Tm -(job)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3624.25 5486.25 cm -0 0 m -288 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9952 0 0 7.9952 366.6839 551.509 Tm -(TID 3)Tj -ET -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 391.2 534.2 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 3912 5342 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 412.8 534.2 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 4128 5342 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3984.25 5342.25 cm -0 0 m -72 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -4128 5054 288 576 re -S -Q -BT -/T1_1 1 Tf -7.9942 0 0 7.9942 421.5644 532.0568 Tm -(job)Tj -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4128.25 5486.25 cm -0 0 m -288 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9938 0 0 7.9938 416.9786 551.4097 Tm -(TID 2)Tj -ET -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 441.6 534.2 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 4416 5342 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 463.2 534.2 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 4632 5342 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4488.25 5342.25 cm -0 0 m -72 0 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -4632 5054 288 576 re -S -Q -BT -/T1_1 1 Tf -7.9928 0 0 7.9928 471.8431 531.961 Tm -(job)Tj -ET -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4632.25 5486.25 cm -0 0 m -288 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9923 0 0 7.9923 467.2552 551.3105 Tm -(TID 3)Tj -ET -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3336 6350 cm -0 0 m -0 -159.05 -64.47 -288 -144 -288 c --223.53 -288 -288 -159.05 -288 0 c --288 159.05 -223.53 288 -144 288 c --64.47 288 0 159.05 0 0 c -h -S -Q -Q -BT -/T1_1 1 Tf -7.9918 0 0 7.9918 306.8588 637.5893 Tm -(master)Tj -0.066 -1.25 Td -[(thr)18(ead)]TJ -ET -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 186 534.2 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 1860 5342 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2544.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2508.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2472.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2436.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2400.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2364.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2328.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2292.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2256.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2220.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2184.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2148.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2112.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2076.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2040.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2004.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1968.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1932.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 220.776 570.2 cm -0 0 m -7.056 -2.376 l -5.112 -5.4 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 2207.76 5702 cm -0 0 m -70.56 -23.76 l -51.12 -54 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2544.25 5486.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2513.25 5505.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2483.25 5525.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2452.25 5545.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2421.25 5564.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2390.25 5584.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2360.25 5604.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2329.25 5623.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2299.25 5643.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2268.25 5663.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 220.776 498.2 cm -0 0 m -5.112 5.4 l -7.056 2.376 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 2207.76 4982 cm -0 0 m -51.12 54 l -70.56 23.76 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2544.25 5198.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2513.25 5178.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2483.25 5158.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2452.25 5139.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2421.25 5119.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2390.25 5099.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2360.25 5080.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2329.25 5060.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2299.25 5040.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2268.25 5021.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.9988007 0 0 0.9988007 0 0 cm -q 1 0 0 1 290.4 577.4 cm -0 0 m -1.584 7.272 l -4.824 5.688 l -f -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -1 j 1 J -q 1 0 0 1 2904 5774 cm -0 0 m -15.84 72.72 l -48.24 56.88 l -h -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3090.25 6146.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3074.25 6115.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3059.25 6085.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3043.25 6054.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3028.25 6023.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3013.25 5992.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2997.25 5962.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2982.25 5931.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2966.25 5900.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2951.25 5869.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2936.25 5838.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9899 0 0 7.9899 261.758 423.2903 Tm -[(Figure 1)37(1.1)]TJ -/T1_1 1 Tf --0.092 Tc 6.25 0 Td -(Wo)Tj -0 Tc 1.454 0 Td -(rk queue example)Tj -9.9874 0 0 9.9874 129.4368 399.3205 Tm -[(The )-164(memory )-164(location )-164(pointed )-164(to )-164(by)]TJ -/T1_2 1 Tf -16.841 0 Td -(tidp)Tj -/T1_1 1 Tf -2.025 0 Td -[(is )-164(set )-164(to )-164(the )-164(thr)20(ead )-163(ID )-163(of )-163(the )-163(newly )-163(cr)16(eated)]TJ --18.865 -1.2 Td -[(thr)18(ead )-267(when)]TJ -/TT0 1 Tf -6.387 0 Td -(pthread_create)Tj -/T1_1 1 Tf --0.018 Tc 8.917 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-267(successfully)]TJ -0.7674 Tc 8.052 0 Td -(.T)Tj -0 Tc 1.63 0 Td -(he)Tj -/T1_2 1 Tf -1.578 0 Td -(attr)Tj -/T1_1 1 Tf -2.016 0 Td -[(ar)18(gument )-267(is )-267(used )-267(to)]TJ --29.438 -1.2 Td -[(customize )-137(various )-137(thr)18(ead )-137(attributes.)]TJ --0.092 Tc 16.967 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-137(cover )-137(thr)17(ead )-137(attributes )-137(in )-137(Section )-137(12.3, )-137(but)]TJ --18.354 -1.2 Td -(for now)Tj -0.25 Tc 3.394 0 Td -(,w)Tj -0 Tc 1.334 0 Td -(e\325ll set this to)Tj -/TT0 1 Tf -6.063 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(to cr)18(eate a thr)18(ead with the default attributes.)]TJ --11.641 -1.2 Td -[(The )-182(newly )-182(cr)18(eated )-182(thr)18(ead )-182(starts )-182(r)7(unning )-182(at )-182(the )-182(addr)18(ess )-182(of )-182(the)]TJ -/T1_2 1 Tf -29.145 0 Td -(start_rtn)Tj -/T1_1 1 Tf -4.098 0 Td -(function.)Tj --35.043 -1.2 Td -[(This )-102(function )-102(takes )-102(a )-102(single )-102(ar)17(gument,)]TJ -/T1_2 1 Tf -17.694 0 Td -[(ar)18(g)]TJ -/T1_1 1 Tf -0.3521 Tc (,w)Tj -0 Tc 2.751 0 Td -[(hich )-102(is )-102(a )-102(typeless )-102(pointer)]TJ -0.6021 Tc 11.248 0 Td -(.I)Tj -0.3521 Tc 1.189 0 Td -(fy)Tj -0 Tc 1.241 0 Td -[(ou )-102(need )-102(to)]TJ --34.124 -1.2 Td -[(pass )-30(mor)]TJ -0.2805 Tc 4.036 0 Td -(et)Tj -0 Tc 1.086 0 Td -[(han )-30(one )-30(ar)18(gument )-30(to )-30(the)]TJ -/T1_2 1 Tf -11.239 0 Td -(start_rtn)Tj -/T1_1 1 Tf -3.947 0 Td -[(function, )-31(then )-31(you )-31(need )-31(to )-31(stor)]TJ -0.2806 Tc 13.73 0 Td -(et)Tj -0 Tc 1.086 0 Td -[(hem )-31(in )-31(a)]TJ --35.122 -1.2 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(nd pass the addr)18(ess of the str)8(uctur)]TJ -0.25 Tc 15.211 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(n)Tj -/T1_2 1 Tf -0.832 0 Td -[(ar)18(g)]TJ -/T1_1 1 Tf -(.)Tj --19.982 -1.2 Td -[(When )-204(a )-204(thr)18(ead )-204(is )-204(cr)18(eated, )-204(ther)19(e)-454(is)-454(no)-454(guarantee )-204(which )-204(will )-204(r)8(un )-204(\336rst: )-204(the )-204(newly)]TJ --1.8 -1.2 Td -[(cr)18(eated )-33(thr)18(ead )-33(or )-33(the )-33(calling )-33(thr)16(ead. )-283(The)-284(newly )-33(cr)18(eated )-33(thr)18(ead )-33(has )-33(access )-33(to )-33(the )-33(pr)15(ocess)]TJ -0 -1.2 Td -[(addr)18(ess )-153(space )-153(and )-153(inherits )-153(the )-153(calling )-153(thr)18(ead\325s )-153(\337oating-point )-153(envir)18(onment )-153(and )-153(signal)]TJ -0 -1.2 TD -(mask; however)Tj -0.25 Tc 6.669 0 Td -(,t)Tj -0 Tc 0.826 0 Td -[(he set of pending signals for the thr)18(ead is clear)18(ed.)]TJ --5.695 -1.2 Td -[(Note )-84(that )-84(the )-84(pthr)18(ead )-84(functions )-84(usually )-84(r)18(eturn )-84(an )-84(err)18(or )-84(code )-84(when )-84(they )-84(fail.)-583(They)]TJ --1.8 -1.2 Td -[(don\325t )-247(set)]TJ -/TT0 1 Tf -4.567 0 Td -(errno)Tj -/T1_1 1 Tf -3.497 0 Td -[(like )-247(the )-247(other )-247(POSIX )-247(functions.)-747(The )-247(per)16(-thr)18(ead )-247(copy )-247(of)]TJ -/TT0 1 Tf -26.724 0 Td -(errno)Tj -/T1_1 1 Tf -3.497 0 Td -(is)Tj --38.285 -1.2 Td -[(pr)18(ovided )-116(only )-116(for )-116(compatibility )-116(with )-116(existing )-116(functions )-116(that )-116(use )-116(it.)]TJ --0.055 Tc 30.876 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-116(thr)18(eads, )-116(it )-116(is)]TJ --32.112 -1.2 Td -[(cleaner )-112(to )-112(r)18(eturn )-112(the )-112(err)18(or )-112(code )-112(fr)18(om )-112(the )-112(function, )-112(ther)18(eby )-112(r)18(estricting )-112(the )-112(scope )-112(of )-112(the)]TJ -T* -[(err)18(or )-234(to )-234(the )-234(function )-234(that )-234(caused )-234(it, )-234(instead )-234(of )-234(r)22(elying )-234(on )-234(some )-234(global )-234(state )-234(that )-234(is)]TJ -0 -1.2 Td -[(changed as a side ef)18(fect of the function.)]TJ -/TT1 1 Tf --3.6 -2.4 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(Although )-173(ther)18(e)-423(is)-423(no)-423(p)-1(ortable )-173(way )-173(to )-173(print )-173(the )-173(thr)18(ead )-173(ID, )-173(we )-173(can )-173(write )-173(a )-173(small )-173(test)]TJ -0 -1.2 Td -[(pr)18(ogram )-263(that )-263(does, )-263(to )-263(gain )-263(some )-263(insight )-263(into )-263(how )-263(thr)17(eads )-263(work.)-763(The )-263(pr)18(ogram )-263(in)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47236 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1.3)]TJ -39.716 0 Td -[(Logging )-250(In)]TJ -/T1_1 1 Tf -7.117 0 Td -(3)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Shells)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(Once )-127(we )-127(log )-127(in, )-127(some )-127(system )-127(information )-127(messages )-127(ar)]TJ -0.377 Tc 24.881 0 Td -(et)Tj -0 Tc 1.182 0 Td -[(ypically )-127(displayed, )-127(and )-127(then)]TJ --26.063 -1.2 Td -[(we )-433(can )-433(type )-433(commands )-433(to )-433(the )-433(shell )-433(pr)21(ogram. )-683(\(Some)-682(systems )-433(start )-433(a )-433(window)]TJ -0 -1.2 Td -[(management )-57(pr)18(ogram )-57(when )-57(you )-57(log )-57(in, )-57(but )-57(you )-57(generally )-57(end )-57(up )-57(with )-57(a )-57(shell )-57(r)7(unning)]TJ -0 -1.2 TD -[(in )-30(one )-30(of )-30(the )-30(windows.\))-528(A)]TJ -/T1_2 1 Tf -12.157 0 Td -(shell)Tj -/T1_0 1 Tf -2.114 0 Td -[(is )-30(a )-30(command)]TJ -6.223 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-30(interpr)18(eter )-30(that )-30(r)18(eads )-30(user )-30(input )-30(and)]TJ --20.827 -1.2 Td -[(executes )-289(commands.)-789(The )-289(user )-289(input )-289(to )-289(a )-289(shell )-289(is )-289(normally )-289(fr)13(om )-289(the )-289(terminal )-289(\(an)]TJ -T* -[(interactive )-100(shell\) )-100(or )-100(sometimes )-100(fr)18(om )-100(a )-100(\336le )-100(\(called )-100(a)]TJ -/T1_2 1 Tf -23.365 0 Td -[(shell )-100(script)]TJ -/T1_0 1 Tf -[(\). )-350(The)-350(common )-100(shells )-100(in)]TJ --23.365 -1.2 Td -(use ar)Tj -0.25 Tc 2.633 0 Td -(es)Tj -0 Tc 1.153 0 Td -(ummarized in Figur)Tj -0.25 Tc 8.901 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(.2.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1491.25 5540.25 cm -0 0 m -3510 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 175.4669 545.9345 Tm -(Name )Tj -8.688 0 Td -[(Path)-3289(Fr)18(eeBSD 8.0)-1595(Linux 3.2.0)-1500(Mac OS X 10.6.8)-1500(Solaris 10)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1491.25 5420.25 cm -0 0 m -3510 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1491.25 5400.25 cm -0 0 m -3510 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 153.0524 531.9042 Tm -(Bourne shell)Tj -/TT1 1 Tf -9.795 0 Td -(/bin/sh)Tj -/T1_0 1 Tf -6.0665 Tc 9.343 0 Td -(\245\245)Tj -0 Tc 11.498 0 Td -(copy of)Tj -/TT1 1 Tf -3.526 0 Td -(bash)Tj -/T1_0 1 Tf -6.304 0 Td -(\245)Tj --40.466 -1.25 Td -(Bourne-again shell)Tj -/TT1 1 Tf -9.795 0 Td -(/bin/bash)Tj -/T1_0 1 Tf -7.804 0 Td -[(optional )-4278(\245)]TJ -6.564 Tc 15.697 0 Td -(\245\245)Tj -0.25 Tc -33.296 -1.25 Td -(Cs)Tj -0 Tc 1.383 0 Td -(hell)Tj -/TT1 1 Tf -8.412 0 Td -(/bin/csh)Tj -/T1_0 1 Tf -6.9 0 Td -(link to)Tj -/TT1 1 Tf -3.092 0 Td -(tcsh)Tj -/T1_0 1 Tf -4.485 0 Td -[(optional )-2648(link)-250(to)]TJ -/TT1 1 Tf -9.673 0 Td -(tcsh)Tj -/T1_0 1 Tf -6.521 0 Td -(\245)Tj --40.466 -1.25 Td -(Korn shell)Tj -/TT1 1 Tf -9.795 0 Td -(/bin/ksh)Tj -/T1_0 1 Tf -7.804 0 Td -[(optional )-2739(optional)]TJ -6.564 Tc 15.697 0 Td -(\245\245)Tj -0 Tc -33.296 -1.25 Td -(TENEX C shell)Tj -/TT1 1 Tf -9.795 0 Td -(/bin/tcsh)Tj -/T1_0 1 Tf -4.528 Tc 9.343 0 Td -(\245o)Tj -0 Tc 5.68 0 Td -(ptional )Tj -8.478 0 Td -(\245)Tj -7.17 0 Td -(\245)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1491.25 4880.25 cm -0 0 m -3510 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4563.25 4880.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3874.25 4880.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3366.25 4880.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2806.25 4880.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2254.25 4880.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5001.25 4880.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1491.25 4880.25 cm -0 0 m -0 660 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 234.7077 469.8872 Tm -(Figure 1.2)Tj -/T1_0 1 Tf -5.195 0 Td -(Common shells used on UNIX systems)Tj -9.9976 0 0 9.9976 129.5691 445.893 Tm -[(The )-63(system )-63(knows )-63(which )-63(shell )-63(to )-63(execute )-63(for )-63(us )-63(based )-63(on )-63(the )-63(\336nal )-63(\336eld )-63(in )-63(our )-63(entry )-63(in)]TJ -T* -(the passwor)Tj -0.25 Tc 5.343 0 Td -(d\336)Tj -0 Tc 1.466 0 Td -(le.)Tj --5.009 -1.2 Td -[(The )-150(Bourne )-150(shell, )-150(developed )-150(by )-150(Steve )-150(Bourne )-150(at )-150(Bell )-150(Labs, )-150(has )-150(been )-150(in )-150(use )-150(since)]TJ --0.111 Tc -1.8 -1.2 Td -(Ve)Tj -0 Tc 1.09 0 Td -[(rsion )-453(7 )-453(and )-453(is )-453(pr)18(ovided )-453(with )-453(almost )-453(every )-453(UNIX )-453(system )-453(in )-453(existence.)-951(The)]TJ --1.09 -1.2 Td -[(contr)18(ol-\337ow constr)8(ucts of the Bourne shell ar)]TJ -0.25 Tc 19.865 0 Td -(er)Tj -0 Tc 1.106 0 Td -(eminiscent of Algol 68.)Tj --19.171 -1.2 Td -[(The )-22(C )-22(shell, )-22(developed )-22(by )-22(Bill )-22(Joy )-22(at )-22(Berkeley)107(,)-272(is)-272(p)]TJ --0.018 Tc 22.242 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vided )-23(with )-23(all )-23(the )-23(BSD )-23(r)20(eleases.)]TJ --24.965 -1.2 Td -(Additionally)Tj -0.3886 Tc 5.563 0 Td -(,t)Tj -0 Tc 0.965 0 Td -[(he )-139(C )-139(shell )-139(was )-139(pr)20(ovided )-138(by )-138(A)74(T&T )-138(with )-138(System )-138(V/386 )-138(Release )-138(3.2 )-138(and)]TJ --6.528 -1.2 Td -[(was )-98(also )-98(included )-98(in )-98(System )-98(V )-98(Release )-98(4)]TJ -18.822 0.04 Td -(\()Tj -0.333 -0.04 Td -(SVR4)Tj -2.415 0.04 Td -(\))Tj -0.5979 Tc 0.333 -0.04 Td -(.\()Tj --0.092 Tc 1.181 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-98(have )-98(mor)18(e)-348(to)-348(say )-98(about )-98(these)]TJ --24.471 -1.2 Td -[(dif)18(fer)18(ent )-25(versions )-25(of )-25(the )-25(UNIX )-25(System )-25(in )-25(the )-25(next )-25(chapter)78(.\) )-275(The)]TJ -0.2745 Tc 28.514 0 Td -(Cs)Tj -0 Tc 1.407 0 Td -[(hell )-24(was )-24(built )-24(on )-24(the)]TJ --29.922 -1.2 Td -[(6th )-52(Edition )-52(shell, )-52(not )-52(the )-52(Bourne )-52(shell.)-551(Its )-52(contr)18(ol )-52(\337ow )-52(looks )-52(mor)]TJ -0.3019 Tc 29.283 0 Td -(el)Tj -0 Tc 1.072 0 Td -[(ike )-52(the )-52(C )-52(language,)]TJ --30.355 -1.2 Td -[(and )-264(it )-264(supports )-264(additional )-264(featur)18(es )-264(that )-264(wer)18(en\325t )-264(pr)18(ovided )-264(by )-264(the )-264(Bourne )-264(shell: )-264(job)]TJ -T* -[(contr)18(ol, a history mechanism, and command)]TJ -19.692 0.09 Td -(-)Tj -0.333 -0.09 Td -(line editing.)Tj --18.225 -1.2 Td -[(The )-46(Korn )-46(shell )-46(is )-46(consider)18(ed )-46(a )-46(successor )-46(to )-46(the )-46(Bourne )-46(shell )-46(and )-46(was )-46(\336rst )-46(pr)18(ovided)]TJ --1.8 -1.2 Td -[(with )-37(SVR4.)-537(The )-37(Korn )-37(shell, )-37(developed )-37(by )-37(David )-37(Korn )-37(at )-37(Bell )-37(Labs, )-37(r)8(uns )-37(on )-37(most )-37(UNIX)]TJ -T* -[(systems, )-12(but )-12(befor)]TJ -0.2619 Tc 8.06 0 Td -(eS)Tj -0 Tc 1.266 0 Td -[(VR4 )-12(was )-12(usually )-12(an )-12(extra-cost )-12(add-on, )-12(so )-12(it )-12(is )-12(not )-12(as )-12(widespr)19(ead )-12(as)]TJ --9.326 -1.2 Td -[(the )-57(other )-57(two )-57(shells.)-557(It )-57(is )-57(upwar)]TJ -0.3066 Tc 14.545 0 Td -(dc)Tj -0 Tc 1.362 0 Td -[(ompatible )-56(with )-56(the )-56(Bourne )-56(shell )-56(and )-56(includes )-56(those)]TJ --15.906 -1.2 Td -[(featur)18(es that made the C shell popular: job contr)18(ol, command)]TJ -27.072 0.09 Td -(-)Tj -0.333 -0.09 Td -(line editing, and so on.)Tj --25.605 -1.2 Td -[(The )-112(Bourne-again )-112(shell )-112(is )-112(the )-112(GNU )-112(shell )-112(pr)19(ovided )-112(with )-112(all )-112(Linux )-112(systems.)-612(It )-112(was)]TJ --1.8 -1.2 Td -[(designed )-165(to )-165(be )-165(POSIX )-165(conformant, )-165(while )-165(still )-165(r)18(emaining )-165(compatible )-165(with )-165(the )-165(Bourne)]TJ -T* -[(shell. )-250(It)-250(supports featur)18(es fr)18(om both the C shell and the Korn shell.)]TJ -1.8 -1.2 Td -[(The )-255(TENEX )-255(C )-255(shell )-255(is )-255(an )-255(enhanced )-255(version )-255(of )-255(the )-255(C )-255(shell.)-751(It )-255(borr)18(ows )-255(several)]TJ --1.8 -1.2 Td -[(featur)18(es, )-84(such )-84(as )-84(command )-84(completion, )-84(fr)18(om )-84(the )-84(TENEX )-84(operating )-84(system )-84(\(developed)]TJ -T* -[(in )-22(1972 )-22(at )-22(Bolt )-22(Beranek )-22(and )-22(Newman\).)-522(The )-22(TENEX )-22(C )-22(shell )-22(adds )-22(many )-22(featur)19(es )-22(to )-22(the )-22(C)]TJ -T* -[(shell and is often used as a r)18(eplacement for the C shell.)]TJ -1.8 -1.2 Td -[(The )-165(shell )-165(was )-165(standar)18(dized )-165(in )-165(the )-165(POSIX )-165(1003.2 )-165(standar)19(d. )-415(The)-415(speci\336cation )-165(was)]TJ --1.8 -1.2 Td -[(based on featur)18(es fr)18(om the Korn shell and Bourne shell.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47237 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -[(Appendix )-277(C)]TJ -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Solutions )-280(to )-280(Selected)]TJ -0 -1.667 TD -[(Ex)20(er)7(cises)]TJ -/TT0 1 Tf -10 0 0 10 93.6 374.4 Tm -[(Chapter )-278(1)]TJ -/T1_2 1 Tf -3.6 -2.8 Td -(1.1)Tj -/T1_3 1 Tf -2.602 0 Td -[(For )-35(this )-35(exer)18(cise, )-35(we )-35(use )-35(the )-35(following )-35(two )-35(ar)18(guments )-35(for )-35(the)]TJ -/TT1 1 Tf -27.564 0 Td -(ls)Tj -/T1_3 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.618 -0.04 Td -(command:)Tj -/TT1 1 Tf -4.984 0 Td -(-i)Tj -/T1_3 1 Tf --35.198 -1.2 Td -[(prints )-133(the )-133(i-node )-133(number )-133(of )-133(the )-133(\336le )-133(or )-133(dir)14(ectory )-134(\(we )-134(say )-134(mor)]TJ -0.3836 Tc 28.101 0 Td -(ea)Tj -0 Tc 1.363 0 Td -[(bout )-134(i-nodes )-134(in)]TJ --29.463 -1.2 Td -[(Section )-83(4.14\), )-83(and)]TJ -/TT1 1 Tf -8.219 0 Td -(-d)Tj -/T1_3 1 Tf -1.533 0 Td -[(prints )-83(information )-83(about )-83(a )-83(dir)17(ectory )-83(instead )-83(of )-83(information)]TJ --9.752 -1.2 Td -[(on all the \336les in the dir)18(ectory)111(.)]TJ -0 -2.16 TD -(Execute the following:)Tj -/TT1 1 Tf -9 0 0 9 173.6198 269.9602 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(ls -ldi /etc/. /etc/..)Tj -/TT1 1 Tf -19.6 0 Td -(-i)Tj -/T1_4 1 Tf -1.8 0 Td -(says print i-node number)Tj -/TT1 1 Tf --22 -1.189 Td -[(162561 drwxr-xr-x)-1200(66 root)-2400(4096 Feb)]TJ -0.6 Tc 24 0 Td -(50)Tj -0 Tc 1.8 0 Td -(3:59 /etc/./)Tj -0.6 Tc -22.8 -1.189 Td -(2d)Tj -0 Tc 1.8 0 Td -[(rwxr-xr-x )-600(19)-600(root )-1800(4096)-600(Jan 15 07:25 /etc/../)]TJ --5.4 -1.189 Td -($)Tj -/TT2 1 Tf -1.2 0 Td -(ls -ldi /. /..)Tj -/T1_4 1 Tf -19.6 0 Td -(both)Tj -/TT1 1 Tf -1.99 0 Td -(.)Tj -/T1_4 1 Tf -0.85 0 Td -(and)Tj -/TT1 1 Tf -1.75 0 Td -(..)Tj -/T1_4 1 Tf -1.45 0 Td -(have i-node number 2)Tj -/TT1 1 Tf -0.6 Tc -23.24 -1.189 Td -(2d)Tj -0 Tc 1.8 0 Td -[(rwxr-xr-x )-600(19)-600(root )-1800(4096)-600(Jan 15 07:25 /./)]TJ -0.6 Tc -1.8 -1.189 Td -(2d)Tj -0 Tc 1.8 0 Td -[(rwxr-xr-x )-600(19)-600(root )-1800(4096)-600(Jan 15 07:25 /../)]TJ -/T1_2 1 Tf -10 0 0 10 129.6 189.92 Tm -(1.2)Tj -/T1_3 1 Tf -2.602 0 Td -[(The )-406(UNIX )-406(System )-406(is )-406(a )-406(multipr)16(ogramming, )-407(or )-407(multitasking, )-407(system.)-905(Other)]TJ -0 -1.2 TD -[(pr)18(ocesses wer)]TJ -0.25 Tc 6.138 0 Td -(er)Tj -0 Tc 1.116 0 Td -[(unning at the time this pr)18(ogram was r)8(un.)]TJ -/T1_2 1 Tf --9.856 -1.84 Td -(1.3)Tj -/T1_3 1 Tf -2.602 0 Td -[(Since )-85(the)]TJ -/T1_4 1 Tf -4.379 0 Td -(msg)Tj -/T1_3 1 Tf -2.002 0 Td -[(ar)18(gument )-85(to)]TJ -/TT1 1 Tf -5.848 0 Td -(perror)Tj -/T1_3 1 Tf -3.935 0 Td -[(is )-85(a )-85(pointer)74(,)]TJ -/TT1 1 Tf -5.617 0 Td -(perror)Tj -/T1_3 1 Tf -3.935 0 Td -[(could )-85(modify )-85(the )-85(string)]TJ --25.716 -1.2 Td -(that)Tj -/T1_4 1 Tf -2.184 0 Td -(msg)Tj -/T1_3 1 Tf -2.117 0 Td -[(points )-200(to.)-700(The )-200(quali\336er)]TJ -/TT1 1 Tf -11.34 0 Td -(const)Tj -/T1_3 1 Tf -0.4499 Tc (,h)Tj -0 Tc 4.282 0 Td -(owever)Tj -0.4499 Tc 3.224 0 Td -(,s)Tj -0 Tc 1.124 0 Td -[(ays )-200(that)]TJ -/TT1 1 Tf -4.114 0 Td -(perror)Tj -/T1_3 1 Tf -4.05 0 Td -[(does )-200(not)]TJ --32.434 -1.2 Td -[(modify )-375(what )-375(the )-375(pointer )-375(points )-375(to.)-875(On )-375(the )-375(other )-375(hand, )-375(the )-375(err)18(or )-375(number)]TJ -/T1_2 1 Tf -9 0 0 9 506.0997 114.0001 Tm -(905)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47238 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -[(Appendix )-277(B)]TJ -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Miscellaneous )-280(Sour)7(ce )-280(Code)]TJ -/TT0 1 Tf -12 0 0 12 93.6 415.2 Tm -[(B.1 )-1166(Our)-556(Header )-278(File)]TJ -/T1_2 1 Tf -10 0 0 10 129.6 391.2 Tm -[(Most )-77(pr)18(ograms )-77(in )-77(the )-77(text )-77(include )-77(the )-77(header)]TJ -/TT1 1 Tf -20.781 0 Td -(apue.h)Tj -/T1_2 1 Tf -0.327 Tc (,s)Tj -0 Tc 4.601 0 Td -[(hown )-77(in )-77(Figur)]TJ -0.327 Tc 6.454 0 Td -(eB)Tj -0 Tc 1.417 0 Td -[(.1. )-327(It)-327(de\336nes)]TJ --33.253 -1.2 Td -(constants \(such as)Tj -/TT1 1 Tf -8.214 0 Td -(MAXLINE)Tj -/T1_2 1 Tf -0.25 Tc (\)a)Tj -0 Tc 5.283 0 Td -[(nd pr)18(ototypes for our own functions.)]TJ --11.697 -1.2 Td -[(Most )-119(pr)18(ograms )-119(need )-119(to )-119(include )-119(the )-119(following )-119(headers:)]TJ -/TT1 1 Tf -25.181 0 Td -()Tj -/T1_2 1 Tf -(,)Tj -/TT1 1 Tf -6.019 0 Td -()Tj -/T1_2 1 Tf --33 -1.2 Td -[(\(for )-354(the)]TJ -/TT1 1 Tf -4.202 0 Td -(exit)Tj -/T1_2 1 Tf -3.004 0 Td -[(function )-354(pr)18(ototype\), )-354(and)]TJ -/TT1 1 Tf -12.153 0 Td -()Tj -/T1_2 1 Tf -6.604 0 Td -[(\(for )-354(all )-354(the )-354(standar)]TJ -0.6041 Tc 9.208 0 Td -(dU)Tj -0 Tc 1.993 0 Td -(NIX)Tj --37.165 -1.2 Td -[(function )-16(pr)18(ototypes\). )-266(So)-266(our )-16(header )-16(automatically )-16(includes )-16(these )-16(system )-16(headers, )-16(along)]TJ --0 -1.2 Td -(with)Tj -/TT1 1 Tf -2.283 0 Td -()Tj -/T1_2 1 Tf -0.5 Tc (.T)Tj -0 Tc 7.363 0 Td -[(his also r)18(educes the size of all the pr)18(ogram listings in the text.)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3204.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9995 0 0 8.9995 129.5922 310.8803 Tm -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*O)Tj -0 Tc 1.8 0 Td -(ur own header, to be included before all standard system headers.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(#ifndef _APUE_H)Tj -0 -1.189 TD -(#define _APUE_H)Tj -0 -2.259 TD -(#define _POSIX_C_SOURCE 200809L)Tj -T* -[(#if defined\(SOLARIS\))-4800(/* Solaris 10 */)]TJ -0 -1.189 TD -(#define _XOPEN_SOURCE 600)Tj -T* -(#else)Tj -T* -(#define _XOPEN_SOURCE 700)Tj -T* -(#endif)Tj -0 -2.259 TD -[(#include )-3600(/* some systems still require this */)]TJ -0 -1.189 TD -(#include )Tj -0 -1.189 TD -[(#include )-2400(/* for winsize */)]TJ -/T1_3 1 Tf -41.833 -3.068 Td -(895)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47239 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 129.6 650.4 Tm -[(Appendix )-277(A)]TJ -/T1_1 1 Tf -24 0 0 24 129.6 545.576 Tm -[(Function )-280(Pr)15(ototypes)]TJ -/T1_2 1 Tf -10 0 0 10 129.6 422.4 Tm -[(This )-190(appendix )-190(contains )-190(the )-190(function )-190(pr)20(ototypes )-190(for )-190(the )-190(standar)]TJ -0.4398 Tc 29.161 0 Td -(dI)Tj -0 Tc 1.388 0 Td -[(SO )-190(C, )-190(POSIX, )-190(and)]TJ --30.549 -1.2 Td -[(UNIX )-15(System )-15(functions )-15(described )-15(in )-15(the )-15(text.)-516(Often, )-15(we )-15(want )-15(to )-15(see )-15(only )-15(the )-15(ar)17(guments)]TJ -0 -1.2 TD -[(to )-6(a )-6(function )-6(\(\324)37(\324Which )-6(ar)17(gument )-6(is )-6(the )-6(\336le )-6(pointer )-6(for)]TJ -/TT0 1 Tf -23.67 0 Td -(fgets)Tj -/T1_2 1 Tf -[(?\325)37(\325\) )-256(or)-257(only )-6(the )-6(r)18(eturn )-6(value)]TJ --23.67 -1.2 Td -[(\(\324)37(\324Does)]TJ -/TT0 1 Tf -3.514 0 Td -(sprintf)Tj -/T1_2 1 Tf --0.018 Tc 4.639 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-189(a )-189(pointer )-189(or )-189(a )-189(count?\325)38(\325\). )-439(These)-439(pr)18(ototypes )-189(also )-189(show )-189(which)]TJ --9.009 -1.2 Td -[(headers )-143(need )-143(to )-143(be )-143(included )-143(to )-143(obtain )-143(the )-143(de\336nitions )-143(of )-143(any )-143(special )-143(constants )-143(and )-143(to)]TJ -T* -[(obtain the ISO C function pr)18(ototype to help detect any compile-time err)18(ors.)]TJ -1.8 -1.2 Td -[(The )-84(page )-84(number )-84(r)17(efer)18(ence )-84(for )-84(each )-84(function )-84(pr)18(ototype )-84(appears )-84(to )-84(the )-84(right )-84(of )-84(the)]TJ --1.8 -1.2 Td -[(\336rst )-240(header )-240(\336le )-240(listed )-240(for )-240(the )-240(function.)-738(The )-240(page )-240(number )-240(r)19(efer)18(ence )-240(gives )-240(the )-240(page)]TJ -0 -1.2 Td -[(containing )-26(the )-26(pr)18(ototype )-26(for )-26(the )-26(function.)-526(That )-26(page )-26(should )-26(be )-26(consulted )-26(for )-26(additional)]TJ -T* -(information on the function.)Tj -1.8 -1.2 Td -[(Some )-51(functions )-51(ar)]TJ -0.3013 Tc 8.044 0 Td -(es)Tj -0 Tc 1.204 0 Td -[(upported )-51(by )-51(only )-51(a )-51(few )-51(of )-51(the )-51(platforms )-51(described )-51(in )-51(this )-51(text.)]TJ --11.048 -1.2 Td -[(In )-86(addition, )-86(some )-86(platforms )-86(support )-86(function )-86(\337ags )-86(that )-86(other )-86(platforms )-86(don\325t )-86(support.)]TJ -T* -[(In )-137(these )-137(cases, )-137(we )-137(usually )-137(list )-137(the )-137(platforms )-137(for )-137(which )-137(support )-137(is )-137(pr)17(ovided. )-387(In)]TJ -0.3872 Tc 36.467 0 Td -(af)Tj -0 Tc 1.22 0 Td -(ew)Tj --37.687 -1.2 Td -[(cases, however)74(,)-250(we)-250(list platforms that lack support.)]TJ -/TT0 1 Tf -8 0 0 8 129.6003 230.4 Tm -(void)Tj -/TT1 1 Tf -6 0 Td -(abort)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_2 1 Tf -28.125 0 Td -(p. 365)Tj --28.125 -1.5 Td -[(This function never r)18(eturns)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(accept)Tj -/TT0 1 Tf -(\(int)Tj -/T1_3 1 Tf -6.6 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.262 0 Td -(truct sockaddr *restrict)Tj -/T1_3 1 Tf -15 0 Td -(addr)Tj -/TT0 1 Tf -(,)Tj --21.662 -1.25 Td -(socklen_t *restrict)Tj -/T1_3 1 Tf -12 0 Td -(len)Tj -/TT0 1 Tf -(\);)Tj --8.7 -1.5 Td -()Tj -/T1_2 1 Tf -28.125 0 Td -(p. 608)Tj --28.125 -1.5 Td -(Returns: \336le \(socket\) descriptor if OK,)Tj -/TT2 1 Tf -16.941 0 Td -(!)Tj -/T1_2 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/T1_4 1 Tf -9 0 0 9 506.1006 116 Tm -(845)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47240 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Chapter )-250(21)]TJ -39.788 0 Td -[(Exer)18(cises)]TJ -/T1_1 1 Tf -6.045 0 Td -(843)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 93.5944 668.9599 Tm -[(21.6 )-776(Summar)-10(y)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 644.9613 Tm -[(This )-140(chapter )-140(has )-140(examined )-140(in )-140(detail )-140(two )-140(complete )-140(pr)18(ograms: )-140(a )-140(print )-140(spooler )-140(daemon)]TJ -0 -1.2 TD -[(that )-31(sends )-31(a )-31(print )-31(job )-31(to )-31(a )-31(network )-31(printer )-31(and )-31(a )-31(command )-31(that )-31(can )-31(be )-31(used )-31(to )-31(submit )-31(a)]TJ -T* -[(job )-191(to )-191(be )-191(printed )-191(to )-191(the )-191(spooling )-191(daemon.)-691(This )-191(has )-191(given )-191(us )-191(a )-191(chance )-191(to )-191(see )-191(many)]TJ -T* -[(featur)18(es )-270(that )-270(we )-270(described )-270(in )-270(earlier )-270(chapters )-270(used )-270(in )-270(r)18(eal )-270(pr)18(ograms: )-270(thr)18(eads, )-270(I/O)]TJ -T* -[(multiplexing, \336le I/O, r)18(eading dir)18(ectories, socket I/O, and signals.)]TJ -/TT0 1 Tf -11.9993 0 0 11.9993 129.5922 554.9667 Tm -[(Ex)10(er)20(cises)]TJ -/T1_1 1 Tf -8.9995 0 0 8.9995 129.5922 533.968 Tm -(21.1)Tj -/T1_0 1 Tf --0.09 Tc 3.065 0 Td -(Tr)Tj -0 Tc 0.918 0 Td -[(anslate )-66(the )-66(IPP )-66(err)18(or )-66(code )-66(values )-66(listed )-66(in)]TJ -/TT1 1 Tf -18.987 0 Td -(ipp.h)Tj -/T1_0 1 Tf -3.316 0 Td -[(into )-66(err)18(or )-66(messages.)-566(Then )-66(modify )-66(the)]TJ --23.221 -1.222 Td -[(print )-32(spooler )-32(daemon )-32(to )-32(log )-32(a )-32(message )-32(at )-32(the )-32(end )-32(of )-32(the)]TJ -/TT1 1 Tf -25.12 0 Td -(printer_status)Tj -/T1_0 1 Tf -8.682 0 Td -[(function )-32(when)]TJ --33.802 -1.222 Td -[(the IPP header indicates a printer err)18(or)74(.)]TJ -/T1_1 1 Tf --3.065 -1.667 Td -(21.2)Tj -/T1_0 1 Tf -3.065 0 Td -[(Add )-107(support )-107(to )-107(the)]TJ -/TT1 1 Tf -9.185 0 Td -(print)Tj -/T1_0 1 Tf -3.357 0 Td -[(command )-107(and )-107(the)]TJ -/TT1 1 Tf -8.601 0 Td -(printd)Tj -/T1_0 1 Tf -3.957 0 Td -[(daemon )-107(to )-107(allow )-107(users )-107(to )-107(r)16(equest)]TJ --25.101 -1.222 Td -[(double-sided printing.)-500(Do the same for landscape and portrait page orientation.)]TJ -/T1_1 1 Tf --3.065 -1.667 Td -(21.3)Tj -/T1_0 1 Tf -3.065 0 Td -[(Modify )-79(the )-79(print )-79(spooler )-79(daemon )-79(so )-79(that )-79(when )-79(it )-79(starts, )-79(it )-79(contacts )-79(the )-79(printer )-79(to )-79(\336nd )-79(out)]TJ -0 -1.222 TD -[(which )-60(featur)18(es )-60(ar)]TJ -0.3104 Tc 7.752 0 Td -(es)Tj -0 Tc 1.213 0 Td -[(upported )-61(by )-61(the )-61(printer )-61(so )-61(that )-61(the )-61(daemon )-61(doesn\325t )-61(r)18(equest )-61(an )-61(option)]TJ --8.965 -1.222 Td -(that isn\325t supported.)Tj -/T1_1 1 Tf --3.065 -1.667 Td -(21.4)Tj -/T1_0 1 Tf --0.074 Tc 3.065 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite a command to r)18(eport on the status of pending print jobs.)]TJ -/T1_1 1 Tf --4.386 -1.667 Td -(21.5)Tj -/T1_0 1 Tf --0.074 Tc 3.065 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-143(a )-143(command )-143(to )-143(cancel )-143(a )-143(pending )-143(print )-143(job.)-639(Use )-142(the )-142(job )-142(ID )-142(as )-142(the )-142(ar)18(gument )-142(to )-142(the)]TJ --1.321 -1.222 Td -[(command )-105(to )-105(specify )-105(which )-105(job )-105(to )-105(cancel.)-605(How )-105(can )-105(you )-105(pr)18(event )-105(one )-105(user )-105(fr)15(om )-105(canceling)]TJ -T* -[(another user)-74(\325s print jobs?)]TJ -/T1_1 1 Tf --3.065 -1.667 Td -(21.6)Tj -/T1_0 1 Tf -3.065 0 Td -[(Add )-28(support )-28(for )-28(multiple )-28(printers )-28(to )-28(the )-28(printer )-28(spooler)]TJ -0.528 Tc 24.788 0 Td -(.I)Tj -0 Tc 1.115 0 Td -[(nclude )-28(a )-28(way )-28(to )-28(move )-28(print )-28(jobs)]TJ --25.903 -1.222 Td -[(fr)18(om one printer to another)74(.)]TJ -/T1_1 1 Tf --3.065 -1.667 Td -(21.7)Tj -/T1_0 1 Tf -3.065 0 Td -[(In )-137(the )-137(printer )-137(daemon, )-137(explain )-137(why )-137(we )-137(don\325t )-137(need )-137(to )-137(pr)18(od )-137(the )-137(printer )-137(thr)18(ead )-137(when )-137(the)]TJ -T* -[(signal handling thr)18(ead catches)]TJ -/TT1 1 Tf -13.713 0 Td -(SIGHUP)Tj -/T1_0 1 Tf -3.85 0 Td -(and sets)Tj -/TT1 1 Tf -3.846 0 Td -(reread)Tj -/T1_0 1 Tf -3.85 0 Td -(to 1.)Tj -/T1_1 1 Tf --28.324 -1.667 Td -(21.8)Tj -/T1_0 1 Tf -3.065 0 Td -[(In )-34(the)]TJ -/TT1 1 Tf -2.874 0 Td -(printer_status)Tj -/T1_0 1 Tf -8.684 0 Td -[(function, )-34(we )-34(sear)18(ch )-34(for )-34(the )-34(length )-34(of )-34(the )-34(IPP )-34(message )-34(by )-34(looking)]TJ --11.558 -1.222 Td -[(for )-63(the)]TJ -/TT1 1 Tf -3.287 0 Td -(Content-Length)Tj -/T1_0 1 Tf -8.713 0 Td -[(HTTP )-63(attribute.)-563(This )-63(technique )-63(won\325t )-63(work )-63(with )-63(a )-63(printer )-63(that)]TJ --0.018 Tc -12 -1.222 Td -(re)Tj -0 Tc 0.856 0 Td -[(sponds )-220(using )-220(a )-220(chunked )-220(transfer )-220(encoding.)-721(Check )-220(RFC )-220(2616 )-220(to )-220(see )-220(how )-220(a )-220(chunked)]TJ --0.856 -1.222 Td -[(message )-16(is )-16(formatted )-16(and )-16(then )-16(modify)]TJ -/TT1 1 Tf -17.335 0 Td -(printer_status)Tj -/T1_0 1 Tf -8.666 0 Td -[(to )-16(support )-16(this )-16(form )-16(of )-16(r)19(esponse)]TJ --26.001 -1.222 Td -(as well.)Tj -/T1_1 1 Tf --3.065 -1.667 Td -(21.9)Tj -/T1_0 1 Tf -3.065 0 Td -[(In )-309(the)]TJ -/TT1 1 Tf -3.425 0 Td -(update_jobno)Tj -/T1_0 1 Tf -7.759 0 Td -[(function, )-309(when )-309(the )-309(next )-309(job )-309(number )-309(wraps )-309(ar)18(ound )-309(fr)18(om )-309(the)]TJ --11.184 -1.222 Td -[(maximum )-131(positive )-131(value )-131(to )-131(1 )-131(\(see)]TJ -/TT1 1 Tf -15.891 0 Td -(get_newjobno)Tj -/T1_0 1 Tf -7.581 0 Td -[(to )-131(see )-131(how )-131(this )-131(can )-131(happen\), )-131(we )-131(can)]TJ --23.472 -1.222 Td -[(write )-231(a )-231(smaller )-231(number )-231(over )-231(a )-231(lar)15(ger )-231(one.)-731(This )-231(can )-231(r)18(esult )-231(in )-231(the )-231(daemon )-231(r)18(eading )-231(an)]TJ -T* -[(incorr)18(ect number when it r)18(estarts. )-250(What)-250(is a simple solution to this pr)18(oblem?)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47241 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(795)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(names )-230(ar)]TJ -0.4798 Tc 4.225 0 Td -(el)Tj -0 Tc 1.25 0 Td -[(isted )-230(in)]TJ -/TT0 1 Tf -3.964 0 Td -(/etc/hosts)Tj -/T1_0 1 Tf -6.48 0 Td -[(or )-230(r)18(egister)18(ed )-230(with )-230(whatever )-230(name )-230(service )-230(we )-230(ar)19(e)]TJ --15.918 -1.2 Td -[(using, so that we can translate the names to network addr)18(esses.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-263(c)]TJ -0 Tc 2.16 0 Td -[(an )-79(r)8(un )-79(the)]TJ -/TT0 1 Tf -5.027 0 Td -(print)Tj -/T1_0 1 Tf -3.329 0 Td -[(command )-79(on )-79(the )-79(same )-79(machine )-79(wher)]TJ -0.3287 Tc 16.926 0 Td -(et)Tj -0 Tc 1.134 0 Td -[(he )-79(printer )-79(spooling)]TJ --30.376 -1.2 Td -[(daemon )-60(is )-60(r)8(unning, )-60(or )-60(we )-60(can )-60(r)8(un )-60(it )-60(fr)18(om )-60(any )-60(machine )-60(on )-60(the )-60(same )-60(network.)]TJ --0.092 Tc 35.328 0 Td -[(We )-244(o)]TJ -0 Tc 2.243 0 Td -(nly)Tj --37.571 -1.2 Td -[(need )-120(to )-120(con\336gur)]TJ -0.3696 Tc 7.475 0 Td -(et)Tj -0 Tc 1.175 0 Td -(he)Tj -/TT0 1 Tf -1.431 0 Td -(printserver)Tj -/T1_0 1 Tf -6.97 0 Td -[(\336eld )-119(in)]TJ -/TT0 1 Tf -3.598 0 Td -(/etc/printer.conf)Tj -/T1_0 1 Tf -10.57 0 Td -[(in )-119(the )-119(latter )-119(case,)]TJ --31.217 -1.2 Td -[(because only the daemon needs to know the name of the printer)74(.)]TJ -/TT1 1 Tf --3.6 -2.88 Td -(Security)Tj -/T1_0 1 Tf -3.6 -2.16 Td -[(Pr)18(ograms )-191(that )-191(r)8(un )-191(with )-191(super)8(user )-191(privileges )-191(have )-191(the )-191(potential )-191(to )-191(open )-191(a )-191(computer)]TJ -0 -1.2 TD -[(system )-205(up )-205(to )-205(attack.)-705(Such )-205(pr)18(ograms )-205(usually )-205(ar)18(en\325t )-205(mor)]TJ -0.4546 Tc 26.009 0 Td -(ev)Tj -0 Tc 1.499 0 Td -[(ulnerable )-204(than )-204(any )-204(other)]TJ --27.507 -1.2 Td -[(pr)18(ogram, )-182(but )-182(when )-182(compr)17(omised )-182(can )-182(lead )-182(to )-182(attackers )-182(obtaining )-182(full )-182(access )-182(to )-182(your)]TJ -0 -1.2 Td -(system.)Tj -1.8 -1.2 Td -[(The )-54(printer )-54(spooling )-54(daemon )-54(in )-54(this )-54(chapter )-54(starts )-54(out )-54(with )-54(super)8(user )-54(privileges )-54(in)]TJ --1.8 -1.2 Td -[(this )-56(example )-56(to )-56(be )-56(able )-56(to )-56(bind )-56(a )-56(socket )-56(to )-56(a )-56(privileged )-56(TCP )-56(port )-56(number)]TJ -0.5559 Tc 32.71 0 Td -(.T)Tj -0.3059 Tc 1.327 0 Td -(om)Tj -0 Tc 1.735 0 Td -[(ake )-56(the)]TJ --35.772 -1.2 Td -(daemon less vulnerable to attack, we can)Tj -0.883 Tc 1.8 -1.8 Td -(\245D)Tj -0 Tc 2.263 0 Td -[(esign )-59(the )-59(daemon )-59(to )-59(conform )-59(to )-59(the )-59(principles )-59(of )-59(least )-59(privilege )-59(\(Section )-59(8.1)56(1\).)]TJ --0.774 -1.2 Td -[(After )-55(we )-55(obtain )-55(a )-55(socket )-55(bound )-55(to )-55(a )-55(privileged )-55(port )-55(addr)15(ess, )-55(we )-55(can )-55(change )-55(the)]TJ -T* -[(user )-267(and )-267(gr)19(oup )-267(IDs )-267(of )-267(the )-267(daemon )-267(to )-267(something )-267(other )-267(than)]TJ -/TT0 1 Tf -29.221 0 Td -(root)Tj -/T1_0 1 Tf -2.917 0 Td -(\()Tj -/TT0 1 Tf -(lp)Tj -/T1_0 1 Tf -0.5166 Tc (,f)Tj -0 Tc 2.633 0 Td -(or)Tj --34.77 -1.2 Td -[(example\). )-285(All)-286(the )-35(\336les )-35(and )-35(dir)18(ectories )-35(used )-35(to )-35(stor)]TJ -0.2854 Tc 22.429 0 Td -(eq)Tj -0 Tc 1.324 0 Td -[(ueued )-35(print )-35(jobs )-35(should )-35(be)]TJ --23.753 -1.2 Td -[(owned )-67(by )-67(this )-67(nonprivileged )-67(user)]TJ -0.5671 Tc 15.148 0 Td -(.T)Tj -0 Tc 1.43 0 Td -[(his )-67(way)]TJ -0.3171 Tc 3.393 0 Td -(,t)Tj -0 Tc 0.893 0 Td -[(he )-67(daemon, )-67(if )-67(compr)18(omised, )-67(will)]TJ --20.865 -1.2 Td -[(pr)18(ovide )-119(the )-119(attacker )-119(with )-119(access )-119(only )-119(to )-119(the )-119(printing )-119(subsystem.)-619(This )-119(is )-119(still )-119(a)]TJ -T* -[(concern, )-196(but )-196(it )-196(is )-196(far )-196(less )-196(serious )-196(than )-196(an )-196(attacker )-196(getting )-196(full )-196(access )-196(to )-196(your)]TJ -T* -(system.)Tj -0.883 Tc -1.489 -1.6 Td -(\245A)Tj -0 Tc 2.267 0 Td -[(udit )-66(the )-66(daemon\325s )-66(sour)18(ce )-66(code )-66(for )-66(all )-66(known )-66(potential )-66(vulnerabilities, )-66(such )-66(as)]TJ --0.778 -1.2 Td -[(buf)18(fer overr)8(uns.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245L)Tj -0 Tc 2.1 0 Td -[(og )-132(unexpected )-132(or )-132(suspicious )-132(behavior )-132(so )-132(that )-132(an )-132(administrator )-132(can )-132(take )-132(note)]TJ --0.611 -1.2 Td -[(and investigate further)74(.)]TJ -/TT1 1 Tf -11.9993 0 0 11.9993 93.5951 292.5824 Tm -[(21.5 )-776(Sour)20(ce )-278(Code)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5929 268.5839 Tm -[(The )-20(sour)18(ce )-20(code )-20(for )-20(this )-20(chapter )-20(comprises )-20(\336ve )-20(\336les, )-20(not )-20(including )-20(some )-20(of )-20(the )-20(common)]TJ -T* -[(library r)18(outines we\325ve used in earlier chapters:)]TJ -/TT0 1 Tf -1.8 -1.8 Td -(ipp.h)Tj -/T1_0 1 Tf -6 0 Td -(Header \336le containing IPP de\336nitions)Tj -/TT0 1 Tf --6 -1.6 Td -(print.h)Tj -/T1_0 1 Tf -6 0 Td -[(Header )-83(containing )-83(common )-83(constants, )-83(data )-83(str)9(uctur)]TJ -0.3328 Tc 23.376 0 Td -(ed)Tj -0 Tc 1.423 0 Td -[(e\336nitions, )-83(and)]TJ --24.798 -1.2 Td -[(utility r)18(outine declarations)]TJ -/TT0 1 Tf --6 -1.6 Td -(util.c)Tj -/T1_0 1 Tf -6 0 Td -[(Utility r)18(outines used by the two pr)18(ograms)]TJ -/TT0 1 Tf --6 -1.6 Td -(print.c)Tj -/T1_0 1 Tf -6 0 Td -[(The C sour)18(ce \336le for the command used to print a \336le)]TJ -/TT0 1 Tf --6 -1.6 Td -(printd.c)Tj -/T1_0 1 Tf -6 0 Td -[(The C sour)18(ce \336le for the printer spooling daemon)]TJ --0.092 Tc -7.8 -1.8 Td -[(We )-184(w)]TJ -0 Tc 2.471 0 Td -[(ill study each \336le in the or)18(der listed.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47242 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(262)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_1 1 Tf -0.522 Tc 3.6 -2.4 Td -(Ac)Tj -0 Tc 1.744 0 Td -[(ommon )-272(use )-272(for )-272(the )-272(optional )-272(ar)18(gument )-272(following )-272(the )-272(interpr)18(eter)]TJ -/T1_2 1 Tf -30.681 0 Td -(pathname)Tj -/T1_1 1 Tf -4.466 0 Td -[(is )-272(to)]TJ --36.891 -1.2 Td -[(specify )-138(the)]TJ -/TT1 1 Tf -5.292 0 Td -(-f)Tj -/T1_1 1 Tf -1.588 0 Td -[(option )-138(for )-138(pr)18(ograms )-138(that )-138(support )-138(this )-138(option.)-638(For )-138(example, )-138(an)]TJ -/TT1 1 Tf -29.154 0 Td -(awk)Tj -/T1_1 1 Tf -1.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj --38.667 -1.24 Td -[(pr)18(ogram can be executed as)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.5914 604.2637 Tm -(awk -f myfile)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5925 586.2648 Tm -(which tells)Tj -/TT1 1 Tf -5.044 0 Td -(awk)Tj -/T1_1 1 Tf -2.05 0 Td -[(to r)18(ead the)]TJ -/TT1 1 Tf -4.976 0 Td -(awk)Tj -/T1_1 1 Tf -2.05 0 Td -[(pr)18(ogram fr)18(om the \336le)]TJ -/TT1 1 Tf -9.759 0 Td -(myfile)Tj -/T1_1 1 Tf -(.)Tj -7.9995 0 0 7.9995 183.5891 566.266 Tm -[(Systems )-129(derived )-129(fr)18(om )-129(UNIX )-129(System )-129(V )-129(often )-129(include )-129(two )-129(versions )-129(of )-129(the)]TJ -/TT1 1 Tf -33.507 0 Td -(awk)Tj -/T1_1 1 Tf -2.179 0 Td -[(language. )-379(On)]TJ --35.686 -1.25 Td -[(these )-377(systems,)]TJ -/TT1 1 Tf -7.309 0 Td -(awk)Tj -/T1_1 1 Tf -2.427 0 Td -[(is )-377(often )-377(called )-377(\324)38(\324old)]TJ -/TT1 1 Tf -10.071 0 Td -(awk)Tj -/T1_1 1 Tf --0.037 Tc [(\325\325 )-451(a)]TJ -0 Tc 3.446 0 Td -[(nd )-377(corr)18(esponds )-377(to )-377(the )-377(original )-377(version)]TJ --23.252 -1.25 Td -[(distributed )-2(with )-2(V)111(ersion )-2(7.)-502(In )-2(contrast,)]TJ -/TT1 1 Tf -17.497 0 Td -(nawk)Tj -/T1_1 1 Tf -2.652 0 Td -(\(new)Tj -/TT1 1 Tf -2.48 0 Td -(awk)Tj -/T1_1 1 Tf -0.2525 Tc (\)c)Tj -0 Tc 2.829 0 Td -[(ontains )-2(numer)18(ous )-2(enhancements )-2(and)]TJ --25.459 -1.25 Td -[(corr)18(esponds )-29(to )-29(the )-29(language )-29(described )-29(in )-29(Aho, )-29(Kernighan, )-29(and )-29(W)91(einber)18(ger)]TJ -33.597 0.04 Td -([)Tj -0.333 -0.04 Td -(1988)Tj -2 0.04 Td -(])Tj -0.529 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.392 0 Td -[(his )-29(newer)]TJ --37.655 -1.25 Td -[(version )-66(pr)18(ovides )-66(access )-66(to )-66(the )-66(command)]TJ -18.177 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-66(ar)18(guments, )-66(which )-66(we )-66(need )-66(for )-66(the )-66(example )-66(that)]TJ --18.51 -1.25 Td -[(follows. )-250(Solaris)-250(10 pr)18(ovides both versions.)]TJ -0 -2.125 TD -(The)Tj -/TT1 1 Tf -1.942 0 Td -(awk)Tj -/T1_1 1 Tf -2.068 0 Td -[(pr)18(ogram )-18(is )-18(one )-18(of )-18(the )-18(utilities )-18(included )-18(by )-18(POSIX )-18(in )-18(its )-18(1003.2 )-18(standar)18(d, )-18(which )-18(is )-18(now)]TJ --4.011 -1.25 Td -[(part )-175(of )-175(the )-175(base )-175(POSIX.1 )-175(speci\336cation )-175(in )-175(the )-175(Single )-175(UNIX )-175(Speci\336cation.)-675(This )-175(utility )-175(is )-175(also)]TJ -0 -1.25 TD -[(based on the language described in Aho, Kernighan, and W)92(einber)18(ger)]TJ -30.7 0.04 Td -([)Tj -0.333 -0.04 Td -(1988)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -(.)Tj --33.366 -2.125 Td -[(The )-122(version )-122(of)]TJ -/TT1 1 Tf -6.95 0 Td -(awk)Tj -/T1_1 1 Tf -2.172 0 Td -[(in )-122(Mac )-122(OS )-122(X )-122(10.6.8 )-122(is )-122(based )-122(on )-122(the )-122(Bell )-122(Laboratories )-122(version, )-122(which )-122(has)]TJ --9.122 -1.25 Td -[(been )-63(placed )-63(in )-63(the )-63(public )-63(domain.)-562(Fr)18(eeBSD )-63(8.0 )-63(and )-63(some )-63(Linux )-63(distributions )-63(ship )-63(with )-63(GNU)]TJ -/TT1 1 Tf -0 -1.25 Td -(awk)Tj -/T1_1 1 Tf -0.2519 Tc (,c)Tj -0 Tc 2.746 0 Td -(alled)Tj -/TT1 1 Tf -2.424 0 Td -(gawk)Tj -/T1_1 1 Tf -0.2519 Tc (,w)Tj -0 Tc 3.736 0 Td -[(hich )-2(is )-2(linked )-2(to )-2(the )-2(name)]TJ -/TT1 1 Tf -11.638 0 Td -(awk)Tj -/T1_1 1 Tf -(.)Tj -/TT1 1 Tf -2.552 0 Td -(gawk)Tj -/T1_1 1 Tf -2.652 0 Td -[(conforms )-2(to )-2(the )-2(POSIX )-2(standar)18(d, )-2(but)]TJ --25.747 -1.25 Td -[(also )-4(includes )-4(other )-4(extensions.)-504(Because )-4(they )-4(ar)]TJ -0.2546 Tc 20.85 0 Td -(em)Tj -0 Tc 1.617 0 Td -(or)Tj -0.2546 Tc 0.923 0 Td -(eu)Tj -0 Tc 1.337 0 Td -(p-to-date,)Tj -/TT1 1 Tf -4.56 0 Td -(gawk)Tj -/T1_1 1 Tf -2.655 0 Td -[(and )-5(the )-5(version )-5(of)]TJ -/TT1 1 Tf -8.26 0 Td -(awk)Tj -/T1_1 1 Tf --40.2 -1.25 Td -[(fr)18(om )-56(Bell )-56(Laboratories )-56(ar)]TJ -0.306 Tc 11.172 0 Td -(ep)Tj --0.018 Tc 1.386 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ferr)18(ed )-56(to )-56(either)]TJ -/TT1 1 Tf -7.016 0 Td -(nawk)Tj -/T1_1 1 Tf -2.706 0 Td -[(or )-56(old)]TJ -/TT1 1 Tf -3.001 0 Td -(awk)Tj -/T1_1 1 Tf -0.5559 Tc (.\()Tj -0 Tc 2.939 0 Td -[(The )-56(Bell )-56(Labs )-56(version )-56(of)]TJ -/TT1 1 Tf -11.124 0 Td -(awk)Tj -/T1_1 1 Tf --40.2 -1.25 Td -(is available at)Tj -/TT1 1 Tf -6.261 0 Td -(http://cm.bell-labs.com/cm/cs/awkbook/index.html)Tj -/T1_1 1 Tf -(.\))Tj -9.9994 0 0 9.9994 129.5914 390.2766 Tm -(Using the)Tj -/TT1 1 Tf -4.518 0 Td -(-f)Tj -/T1_1 1 Tf -1.45 0 Td -[(option with an interpr)18(eter \336le lets us write)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.5903 373.5776 Tm -(#!/bin/awk -f)Tj -/T1_2 1 Tf -0 -1.189 TD -[(\(awk pr)18(ogram follows in the interpr)18(eter \336le\))]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5914 344.8793 Tm -(For example, Figur)Tj -0.25 Tc 8.379 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.21 shows)Tj -/TT1 1 Tf -4.56 0 Td -(/usr/local/bin/awkexample)Tj -/T1_1 1 Tf -15.25 0 Td -[(\(an interpr)18(eter \336le\).)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3377.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 328.1596 Tm -(#!/usr/bin/awk -f)Tj -0.6 Tc 0 -1.189 TD -(#N)Tj -0 Tc 1.8 0 Td -(ote: on Solaris, use nawk instead)Tj --1.8 -1.189 Td -(BEGIN {)Tj -2.4 -1.189 Td -(for \(i = 0; i < ARGC; i++\))Tj -2.4 -1.189 Td -(printf "ARGV[%d] = %s\\n", i, ARGV[i])Tj --2.4 -1.189 Td -(exit)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2592.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 235.2616 243.1542 Tm -(Figure 8.21)Tj -/T1_1 1 Tf -5.695 0 Td -(An)Tj -/TT1 1 Tf -1.61 0 Td -(awk)Tj -/T1_1 1 Tf -2.05 0 Td -[(pr)18(ogram as an interpr)18(eter \336le)]TJ -9.9982 0 0 9.9982 129.577 219.1585 Tm -[(If )-313(one )-313(of )-313(the )-313(path )-313(pr)18(e\336xes )-313(is)]TJ -/TT1 1 Tf -14.689 0 Td -(/usr/local/bin)Tj -/T1_1 1 Tf -[(,)-563(we)-563(can )-313(execute )-313(the )-313(pr)18(ogram )-313(in)]TJ --14.689 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.21 \(assuming that we\325ve turned on the execute bit for the \336le\) \ as)Tj -/TT1 1 Tf -8.9984 0 0 8.9984 147.5738 190.4637 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(awkexample file1 FILENAME2 f3)Tj -/TT1 1 Tf --1.2 -1.189 Td -(ARGV[0] = awk)Tj -0 -1.189 TD -(ARGV[1] = file1)Tj -T* -(ARGV[2] = FILENAME2)Tj -T* -(ARGV[3] = f3)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47243 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(3.3)]TJ -/TT0 1 Tf -30.786 0 Td -(open)Tj -/T1_0 1 Tf -2.9 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(openat)Tj -/T1_0 1 Tf -4.1 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(65)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(3. )-633(The)]TJ -/T1_2 1 Tf -3.81 0 Td -(path)Tj -/T1_0 1 Tf -2.28 0 Td -[(parameter )-253(speci\336es )-253(a )-253(r)18(elative )-253(pathname )-253(and )-253(the)]TJ -/T1_2 1 Tf -23.17 0 Td -(fd)Tj -/T1_0 1 Tf -1.281 0 Td -[(parameter )-253(has )-253(the)]TJ --28.909 -1.2 Td -[(special )-199(value)]TJ -/TT0 1 Tf -6.367 0 Td -(AT_FDCWD)Tj -/T1_0 1 Tf -0.6993 Tc (.I)Tj -0.4493 Tc 6.086 0 Td -(nt)Tj -0 Tc 1.357 0 Td -[(his )-199(case, )-199(the )-199(pathname )-199(is )-199(evaluated )-199(starting )-199(in )-199(the)]TJ --13.81 -1.2 Td -[(curr)18(ent )-27(working )-27(dir)18(ectory )-27(and )-27(the)]TJ -/TT0 1 Tf -15.455 0 Td -(openat)Tj -/T1_0 1 Tf -3.877 0 Td -[(function )-27(behaves )-27(like )-27(the)]TJ -/TT0 1 Tf -11.401 0 Td -(open)Tj -/T1_0 1 Tf -2.677 0 Td -(function.)Tj --33.243 -1.8 Td -(The)Tj -/TT0 1 Tf -2.064 0 Td -(openat)Tj -/T1_0 1 Tf -3.99 0 Td -[(function )-140(is )-140(one )-140(of )-140(a )-140(class )-140(of )-140(functions )-140(added )-140(to )-140(the )-140(latest )-140(version )-140(of)]TJ --7.854 -1.2 Td -[(POSIX.1 )-375(to )-375(addr)18(ess )-375(two )-375(pr)18(oblems. )-625(First,)-625(it )-375(gives )-375(thr)18(eads )-375(a )-375(way )-375(to )-375(use )-375(r)18(elative)]TJ -0 -1.2 Td -[(pathnames )-202(to )-202(open )-202(\336les )-202(in )-202(dir)19(ectories )-202(other )-202(than )-202(the )-202(curr)18(ent )-202(working )-202(dir)20(ectory)]TJ -0.7017 Tc 36.846 0 Td -(.A)Tj -0 Tc 1.73 0 Td -(s)Tj --38.576 -1.2 Td -[(we\325ll )-54(see )-54(in )-54(Chapter )-54(1)55(1, )-54(all )-54(thr)18(eads )-54(in )-54(the )-54(same )-54(pr)17(ocess )-54(shar)]TJ -0.3042 Tc 26.665 0 Td -(et)Tj -0 Tc 1.109 0 Td -[(he )-54(same )-54(curr)18(ent )-54(working)]TJ --27.774 -1.2 Td -[(dir)18(ectory)111(,)-336(so)-336(this )-86(makes )-86(it )-86(dif)18(\336cult )-86(for )-86(multiple )-86(thr)18(eads )-86(in )-86(the )-86(same )-86(pr)18(ocess )-86(to )-86(work )-86(in)]TJ -0 -1.2 TD -[(dif)18(fer)18(ent )-18(dir)18(ectories )-18(at )-18(the )-18(same )-18(time.)-516(Second, )-18(it )-18(pr)18(ovides )-18(a )-18(way )-18(to )-18(avoid )-18(time-of-check-)]TJ --0 -1.2 Td -(to-time-of-use)Tj -6.485 0.04 Td -(\()Tj --0.018 Tc 0.333 -0.04 Td -(TO)Tj -0 Tc 1.381 0 Td -[(CTT)18(OU)]TJ -3.481 0.04 Td -(\))Tj -0.583 -0.04 Td -[(err)18(ors.)]TJ --10.463 -1.2 Td -[(The )-72(basic )-72(idea )-72(behind )-72(T)16(OCTT)18(OU )-72(err)18(ors )-72(is )-72(that )-72(a )-72(pr)18(ogram )-72(is )-72(vulnerable )-72(if )-72(it )-72(makes)]TJ --1.8 -1.2 Td -[(two )-133(\336le-based )-133(function )-133(calls )-133(wher)]TJ -0.3836 Tc 15.444 0 Td -(et)Tj -0 Tc 1.189 0 Td -[(he )-134(second )-134(call )-134(depends )-134(on )-134(the )-134(r)18(esults )-134(of )-134(the )-134(\336rst)]TJ --16.633 -1.2 Td -[(call. )-392(Because)-393(the )-142(two )-142(calls )-142(ar)]TJ -0.3923 Tc 13.448 0 Td -(en)Tj -0 Tc 1.453 0 Td -[(ot )-142(atomic, )-142(the )-142(\336le )-142(can )-142(change )-142(between )-142(the )-142(two )-142(calls,)]TJ --14.901 -1.2 Td -[(ther)18(eby )-68(invalidating )-68(the )-68(r)17(esults )-68(of )-68(the )-68(\336rst )-68(call, )-68(leading )-68(to )-68(a )-68(pr)18(ogram )-68(err)14(or)]TJ -0.5684 Tc 33.319 0 Td -(.T)Tj -0 Tc 1.413 0 Td -[(OCTT)18(OU)]TJ --34.733 -1.2 Td -[(err)18(ors )-71(in )-71(the )-71(\336le )-71(system )-71(namespace )-71(generally )-71(deal )-71(with )-71(attempts )-71(to )-71(subvert )-71(\336le )-71(system)]TJ -T* -[(permissions )-203(by )-203(tricking )-203(a )-203(privileged )-203(pr)18(ogram )-203(into )-203(either )-203(r)18(educing )-203(permissions )-203(on )-203(a)]TJ -T* -[(privileged )-134(\336le )-134(or )-134(modifying )-134(a )-134(privileged )-134(\336le )-134(to )-134(open )-134(up )-134(a )-134(security )-134(hole.)]TJ --0.092 Tc 33.654 0 Td -(We)Tj -0.3842 Tc 1.387 0 Td -(ia)Tj -0 Tc 1.175 0 Td -[(nd )-134(Pu)]TJ --36.216 -1.16 Td -([)Tj -0.333 -0.04 Td -(2005)Tj -2 0.04 Td -(])Tj -0.583 -0.04 Td -[(discuss T)18(OCTT)18(OU weaknesses in the UNIX \336le system interface.)]TJ -/TT1 1 Tf --6.516 -2.4 Td -[(Filename and P)30(athname T)80(runcation)]TJ -/T1_0 1 Tf -3.6 -1.8 Td -[(What )-24(happens )-24(if)]TJ -/TT0 1 Tf -7.624 0 Td -(NAME_MAX)Tj -/T1_0 1 Tf -5.074 0 Td -[(is )-24(14 )-24(and )-24(we )-24(try )-24(to )-24(cr)18(eate )-24(a )-24(new )-24(\336le )-24(in )-24(the )-24(curr)18(ent )-24(dir)14(ectory)]TJ --12.698 -1.2 Td -[(with )-23(a )-23(\336lename )-23(containing )-23(15 )-23(characters?)]TJ --0.09 Tc 18.875 0 Td -(Tr)Tj -0 Tc 0.918 0 Td -(aditionally)Tj -0.2734 Tc 4.674 0 Td -(,e)Tj -0 Tc 1.002 0 Td -[(arly )-23(r)18(eleases )-23(of )-23(System )-23(V)]TJ -0.2734 Tc 10.954 0 Td -(,s)Tj -0 Tc 0.947 0 Td -(uch)Tj --37.371 -1.2 Td -[(as )-259(SVR2, )-259(allowed )-259(this )-259(to )-259(happen, )-259(silently )-259(tr)11(uncating )-259(the )-259(\336lename )-259(beyond )-259(the )-259(14th)]TJ -T* -(character)Tj -0.5242 Tc 3.991 0 Td -(.B)Tj -0 Tc 1.385 0 Td -[(SD-derived )-24(systems, )-24(in )-24(contrast, )-24(r)18(eturned )-24(an )-24(err)18(or )-24(status, )-24(with)]TJ -/TT0 1 Tf -27.975 0 Td -(errno)Tj -/T1_0 1 Tf -3.274 0 Td -[(set )-24(to)]TJ -/TT0 1 Tf --36.625 -1.2 Td -(ENAMETOOLONG)Tj -/T1_0 1 Tf -0.5894 Tc (.S)Tj -0 Tc 8.564 0 Td -[(ilently )-89(tr)8(uncating )-89(the )-89(\336lename )-89(pr)18(esents )-89(a )-89(pr)18(oblem )-89(that )-89(af)18(fects )-89(mor)14(e)]TJ --8.564 -1.2 Td -[(than )-28(simply )-28(the )-28(cr)18(eation )-28(of )-28(new )-28(\336les.)-527(If)]TJ -/TT0 1 Tf -17.933 0 Td -(NAME_MAX)Tj -/T1_0 1 Tf -5.078 0 Td -[(is )-28(14 )-28(and )-28(a )-28(\336le )-28(exists )-28(whose )-28(name )-28(is)]TJ --23.011 -1.2 Td -[(exactly )-60(14 )-60(characters, )-60(any )-60(function )-60(that )-60(accepts )-60(a )-60(pathname )-60(ar)18(gument, )-60(such )-60(as)]TJ -/TT0 1 Tf -35.349 0 Td -(open)Tj -/T1_0 1 Tf -2.71 0 Td -(or)Tj -/TT0 1 Tf --38.059 -1.2 Td -(stat)Tj -/T1_0 1 Tf -0.3433 Tc (,h)Tj -0 Tc 3.575 0 Td -[(as )-93(no )-93(way )-93(to )-93(determine )-93(what )-93(the )-93(original )-93(name )-93(of )-93(the )-93(\336le )-93(was, )-93(as )-93(the )-93(original)]TJ --3.575 -1.2 Td -[(name might have been tr)8(uncated.)]TJ --0.055 Tc 1.8 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-22(POSIX.1, )-22(the )-22(constant)]TJ -/TT0 1 Tf -11.032 0 Td -(_POSIX_NO_TRUNC)Tj -/T1_0 1 Tf -9.272 0 Td -[(determines )-22(whether )-22(long )-22(\336lenames)]TJ --23.34 -1.2 Td -[(and )-25(long )-25(components )-25(of )-25(pathnames )-25(ar)]TJ -0.2747 Tc 17.088 0 Td -(et)Tj --0.008 Tc 1.08 0 Td -(ru)Tj -0 Tc 0.99 0 Td -[(ncated )-25(or )-25(an )-25(err)18(or )-25(is )-25(r)20(eturned. )-275(As)-274(we )-25(saw )-25(in)]TJ --19.158 -1.2 Td -[(Chapter )-161(2, )-161(this )-161(value )-161(can )-161(vary )-161(based )-161(on )-161(the )-161(type )-161(of )-161(the )-161(\336le )-161(system, )-161(and )-161(we )-161(can )-161(use)]TJ -/TT0 1 Tf -T* -(fpathconf)Tj -/T1_0 1 Tf -5.65 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(pathconf)Tj -/T1_0 1 Tf -5.05 0 Td -[(to query a dir)18(ectory to see which behavior is supported.)]TJ -7.9995 0 0 7.9995 183.5891 254.9847 Tm -[(Whether )-136(an )-136(err)17(or )-136(is )-136(r)18(eturned )-136(is )-136(lar)18(gely )-136(historical.)-636(For )-136(example, )-136(SVR4)]TJ -31.814 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-136(systems )-136(do )-136(not)]TJ --32.147 -1.25 Td -[(generate )-124(an )-124(err)19(or )-124(for )-124(the )-124(traditional )-124(System )-124(V )-124(\336le )-124(system,)]TJ -/TT0 1 Tf -26.761 0 Td -(S5)Tj -/T1_0 1 Tf -0.6239 Tc (.F)Tj -0 Tc 2.63 0 Td -[(or )-124(the )-124(BSD-style )-124(\336le )-124(system)]TJ --29.39 -1.25 Td -[(\(known )-146(as)]TJ -/TT0 1 Tf -5.15 0 Td -(UFS)Tj -/T1_0 1 Tf -[(\), )-146(however)]TJ -0.3965 Tc 6.585 0 Td -(,S)Tj -0 Tc 1.171 0 Td -(VR4)Tj -1.89 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-146(systems )-146(do )-146(generate )-146(an )-146(err)16(or)]TJ -0.6465 Tc 16.218 0 Td -(.F)Tj -0 Tc 1.452 0 Td -(igur)Tj -0.3965 Tc 1.827 0 Td -(e2)Tj -0 Tc 1.375 0 Td -[(.20 )-146(illustrates)]TJ --36.004 -1.25 Td -[(another )-105(example: )-105(Solaris )-105(will )-105(r)18(eturn )-105(an )-105(err)18(or )-105(for)]TJ -/TT0 1 Tf -22.239 0 Td -(UFS)Tj -/T1_0 1 Tf -0.3553 Tc (,b)Tj -0 Tc 2.958 0 Td -[(ut )-105(not )-105(for)]TJ -/TT0 1 Tf -4.723 0 Td -(PCFS)Tj -/T1_0 1 Tf -0.3553 Tc (,t)Tj -0 Tc 3.331 0 Td -[(he )-105(DOS-compatible)]TJ --33.252 -1.25 Td -[(\336le )-132(system, )-132(as )-132(DOS )-132(silently )-132(tr)8(uncates )-132(\336lenames )-132(that )-132(don\325t )-132(\336t )-132(in )-132(an )-132(8.3 )-132(format.)-634(BSD-derived)]TJ -0 -1.25 TD -[(systems and Linux always r)18(eturn an err)18(or)74(.)]TJ -9.9994 0 0 9.9994 147.5912 185.9888 Tm -(If)Tj -/TT0 1 Tf -1.094 0 Td -(_POSIX_NO_TRUNC)Tj -/T1_0 1 Tf -9.424 0 Td -[(is )-174(in )-174(ef)19(fect,)]TJ -/TT0 1 Tf -5.485 0 Td -(errno)Tj -/T1_0 1 Tf -3.424 0 Td -[(is )-174(set )-174(to)]TJ -/TT0 1 Tf -4.087 0 Td -(ENAMETOOLONG)Tj -/T1_0 1 Tf -0.4236 Tc (,a)Tj -0 Tc 8.374 0 Td -[(nd )-174(an )-174(err)19(or)]TJ --33.686 -1.2 Td -[(status is r)18(eturned if any \336lename component of the pathname exceeds)]TJ -/TT0 1 Tf -31.141 0 Td -(NAME_MAX)Tj -/T1_0 1 Tf -(.)Tj -7.9995 0 0 7.9995 183.5894 155.9906 Tm -[(Most )-283(modern )-283(\336le )-283(systems )-283(support )-283(a )-283(maximum )-283(of )-283(255 )-283(characters )-283(for )-283(\336lenames.)-778(Because)]TJ -T* -[(\336lenames )-75(ar)]TJ -0.3255 Tc 5.446 0 Td -(eu)Tj -0 Tc 1.408 0 Td -[(sually )-76(shorter )-76(than )-76(this )-76(limit, )-76(this )-76(constraint )-76(tends )-76(to )-76(not )-76(pr)18(esent )-76(pr)18(oblems )-76(for)]TJ --6.853 -1.25 Td -(most applications.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47244 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 436.143 708 Tm -(Bibliography)Tj -/T1_1 1 Tf -7.773 0 Td -(949)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -8.9995 0 0 8.9995 129.5922 669.9598 Tm -[(Comer)74(,)-288(D.)-288(E)]TJ -0.5379 Tc (.1)Tj -0 Tc 6.687 0 Td -[(979. )-288(\324)37(\324The )-38(Ubiquitous )-38(B)]TJ -10.642 0.09 Td -(-)Tj --0.09 Tc 0.333 -0.09 Td -[(Tr )88(e)]TJ -0 Tc 1.379 0 Td -[(e,\325)37(\325)]TJ -/T1_2 1 Tf -1.536 0 Td -[(ACM )-38(Computing )-38(Surveys)]TJ -/T1_0 1 Tf -0.2878 Tc (,v)Tj -0 Tc 11.902 0 Td -[(ol. 1)55(1, )-38(no.)-250(2, )-38(pp.)-250(121)]TJ -8.771 0.09 Td -(\320)Tj -0.583 -0.09 Td -(137)Tj --38.633 -1.222 Td -(\(June\).)Tj -0.25 Tc 7.9995 0 0 7.9995 179.9893 645.6613 Tm -(Ag)Tj -0 Tc 1.584 0 Td -[(ood, compr)18(ehensive paper on B-tr)18(ees.)]TJ -8.9995 0 0 8.9995 129.5923 626.9624 Tm -[(Date, )-184(C. )-184(J.)-684(2004.)]TJ -/T1_2 1 Tf -8.357 0 Td -[(An )-184(Intr)18(oduction )-184(to )-184(Database )-184(Systems, )-184(Eighth )-184(Edition)]TJ -/T1_0 1 Tf -0.6841 Tc (.A)Tj -0 Tc 24.472 0 Td -[(ddison-W)92(esley, )-184(Boston,)]TJ --29.629 -1.222 Td -(MA.)Tj -0.25 Tc 7.9995 0 0 7.9995 179.9891 602.6638 Tm -(Ac)Tj -0 Tc 1.472 0 Td -[(ompr)18(ehensive overview of database systems.)]TJ -8.9995 0 0 8.9995 129.5921 583.965 Tm -[(Evans, )-208(J.)-708(2006. )-458(\324)37(\324A )-208(Scalable )-208(Concurr)18(ent)]TJ -/TT0 1 Tf -18.937 0 Td -(malloc)Tj -/T1_0 1 Tf -4.058 0 Td -[(Implementation )-208(for )-208(Fr)18(eeBSD,\325)37(\325)]TJ -/T1_2 1 Tf -14.324 0 Td -[(Pr)18(oceedings )-208(of)]TJ --34.119 -1.222 Td -(BSDCan)Tj -/T1_0 1 Tf -(.)Tj -0.3681 Tc 7.9995 0 0 7.9995 179.9891 559.6664 Tm -(Ap)Tj -0 Tc 1.747 0 Td -[(aper )-118(describing )-118(the)]TJ -/TT0 1 Tf -9.092 0 Td -(jemalloc)Tj -/T1_0 1 Tf -5.168 0 Td -[(implementation )-118(of )-118(the )-118(dynamic )-118(memory )-118(allocation )-118(library)]TJ --16.008 -1.25 Td -[(used in Fr)18(eeBSD.)]TJ -8.9995 0 0 8.9995 129.5921 530.9681 Tm -[(Fagin, )-150(R., )-150(Niever)18(gelt, )-150(J., )-150(Pippenger)]TJ -0.3999 Tc 15.774 0 Td -(,N)Tj -0 Tc 1.481 0 Td -[(., )-150(and )-150(Str)18(ong, )-150(H. )-150(R.)-649(1979. )-400(\324)37(\324Extendible )-150(Hashing)]TJ -0.0833 Tc 22.012 0 Td -[(\321A )17(F)]TJ -0 Tc 2.817 0 Td -(ast)Tj --38.883 -1.222 Td -[(Access )-522(Method )-522(for )-522(Dynamic )-522(Files,\325)37(\325)]TJ -/T1_2 1 Tf -18.458 0 Td -[(ACM )-522(T)111(ransactions )-522(on )-522(Databases)]TJ -/T1_0 1 Tf -0.7722 Tc (,v)Tj -0 Tc 16.439 0 Td -[(ol. 4,)-772(no. 3,)]TJ --34.896 -1.222 Td -(pp. 315)Tj -3.285 0.09 Td -(\320)Tj -0.583 -0.09 Td -(344 \(September\).)Tj -0.25 Tc 7.9995 0 0 7.9995 179.9887 495.6703 Tm -(Ap)Tj -0 Tc 1.629 0 Td -(aper describing the extendible hashing technique.)Tj -8.9995 0 0 8.9995 129.5917 476.9714 Tm -[(Fowler)74(,)-299(G.)-299(S., )-49(Korn, )-49(D. )-49(G., )-49(and )-49(V)111(o, )-49(K. )-49(P)]TJ -0.5491 Tc 17.344 0 Td -(.1)Tj -0 Tc 1.299 0 Td -[(989. )-299(\324)37(\324An )-49(Ef)18(\336cient )-49(File )-49(Hierar)18(chy )-49(W)92(alker)74(,\325)37(\325)]TJ -/T1_2 1 Tf -19.224 0 Td -[(Pr)18(oceeding )-49(of)]TJ --34.667 -1.222 Td -[(the 1989 Summer USENIX Confer)18(ence)]TJ -/T1_0 1 Tf -0.25 Tc (,p)Tj -0 Tc 16.993 0 Td -(p. 173)Tj -2.684 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(188, Baltimor)18(e, MD.)]TJ -7.9995 0 0 7.9995 179.9891 452.6728 Tm -[(Describes an alternative library function to traverse a \336le system hi\ erar)18(chy)111(.)]TJ -8.9995 0 0 8.9995 129.5921 433.974 Tm -[(Gallmeister)74(,)-607(B.)-607(O)]TJ -0.8574 Tc 8.16 0 Td -(.1)Tj -0 Tc 1.607 0 Td -(995.)Tj -/T1_2 1 Tf -2.607 0 Td -[(POSIX.4: )-357(Pr)18(ogramming )-357(for )-357(the )-357(Real )-357(W)18(orld)]TJ -/T1_0 1 Tf -0.8574 Tc (.O)Tj -0 Tc 21.226 0 Td -[(\325Reilly )-357(& )-357(Associates,)]TJ --30.4 -1.222 Td -(Sebastopol, CA.)Tj -7.9995 0 0 7.9995 179.9893 409.6754 Tm -[(Describes the r)18(eal-time interfaces in the POSIX standar)18(d.)]TJ -8.9995 0 0 8.9995 129.5923 390.9765 Tm -[(Gar\336nkel, )-256(S., )-256(Spaf)17(for)18(d, )-256(G., )-256(and )-256(Schwartz, )-256(A.)-758(2003.)]TJ -/T1_2 1 Tf -24.645 0 Td -[(Practical )-256(UNIX )-256(& )-256(Internet )-256(Security)]TJ -0.5063 Tc 15.654 0 Td -(,T)Tj -0 Tc 1.367 0 Td -(hird)Tj --38.466 -1.222 Td -(Edition)Tj -/T1_0 1 Tf -0.5 Tc (.O)Tj -0 Tc 4.536 0 Td -(\325Reilly & Associates, Sebastopol, CA.)Tj -0.25 Tc 7.9995 0 0 7.9995 179.989 366.678 Tm -(Ad)Tj -0 Tc 1.639 0 Td -[(etailed book on UNIX System security)111(.)]TJ -8.9995 0 0 8.9995 129.592 347.9791 Tm -(Ghemawat, S., and Menage, P)Tj -0.5 Tc 13.102 0 Td -(.2)Tj -0 Tc 1.25 0 Td -[(005. )-250(\324)37(\324TCMalloc: Thr)18(ead)]TJ -10.771 0.09 Td -(-)Tj -0.333 -0.09 Td -[(Caching Malloc.\325)37(\325)]TJ -0.4073 Tc 7.9995 0 0 7.9995 179.9893 334.6799 Tm -(Ab)Tj -0 Tc 1.738 0 Td -[(rief )-157(description )-157(of )-157(Google\325s)]TJ -/TT0 1 Tf -12.879 0 Td -(TCMalloc)Tj -/T1_0 1 Tf -5.207 0 Td -[(memory )-157(allocator)]TJ -0.6573 Tc 7.914 0 Td -(.T)Tj -0 Tc 1.52 0 Td -[(he )-157(description )-157(is )-157(available )-157(at)]TJ -/TT0 1 Tf --29.259 -1.25 Td -(http://goog-perftools.sourceforge.net/doc/tcmalloc.html)Tj -/T1_0 1 Tf -(.)Tj -8.9995 0 0 8.9995 129.5922 305.9816 Tm -[(Gingell, )-253(R. )-253(A., )-253(Lee, )-253(M., )-253(Dang, )-253(X. )-253(T)74(., )-253(and )-253(W)92(eeks, )-253(M. )-253(S.)-752(1987. )-503(\324)37(\324Shar)18(ed )-253(Libraries )-253(in )-253(SunOS,\325)37(\325)]TJ -/T1_2 1 Tf -3.2 -1.222 Td -[(Pr)18(oceedings of the 1987 Summer USENIX Confer)18(ence)]TJ -/T1_0 1 Tf -0.25 Tc (,p)Tj -0 Tc 23.049 0 Td -(p. 131)Tj -2.684 0.09 Td -(\320)Tj -0.583 -0.09 Td -(145, Phoenix, AZ.)Tj -7.9995 0 0 7.9995 179.9898 281.6831 Tm -[(Describes the implementation of shar)18(ed libraries in SunOS.)]TJ -8.9995 0 0 8.9995 129.5928 262.9842 Tm -[(Gingell, )-51(R. )-51(A., )-51(Moran, )-51(J. )-51(P)129(., )-51(and )-51(Shannon, )-51(W)]TJ -0.3009 Tc 19.633 0 Td -(.A)Tj -0.5509 Tc 1.329 0 Td -(.1)Tj -0 Tc 1.301 0 Td -[(987. )-301(\324)37(\324V)55(irtual )-51(Memory )-51(Ar)18(chitectur)18(e)-301(in)-301(SunOS,\325)37(\325)]TJ -/T1_2 1 Tf --19.063 -1.222 Td -[(Pr)18(oceedings of the 1987 Summer USENIX Confer)18(ence)]TJ -/T1_0 1 Tf -0.25 Tc (,p)Tj -0 Tc 23.049 0 Td -(p. 81)Tj -2.184 0.09 Td -(\320)Tj -0.583 -0.09 Td -(94, Phoenix, AZ.)Tj -7.9995 0 0 7.9995 179.99 238.6857 Tm -[(Describes )-224(the )-224(initial )-224(implementation )-224(of )-224(the)]TJ -/TT0 1 Tf -20.393 0 Td -(mmap)Tj -/T1_0 1 Tf -2.874 0 Td -[(function )-224(and )-224(r)18(elated )-224(issues )-224(in )-224(the )-224(virtual)]TJ --23.267 -1.25 Td -(memory design.)Tj -8.9995 0 0 8.9995 129.593 209.9874 Tm -[(Goodheart, B.)-500(1991.)]TJ -/T1_2 1 Tf -9.359 0 Td -(UNIX Curses Explained)Tj -/T1_0 1 Tf -0.5 Tc (.P)Tj --0.018 Tc 11.3 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ntice Hall, Englewood Clif)18(fs, NJ.)]TJ -0.25 Tc 7.9995 0 0 7.9995 179.9898 196.6882 Tm -(Ac)Tj -0 Tc 1.472 0 Td -[(omplete r)18(efer)18(ence on terminfo and the)]TJ -/TT0 1 Tf -17.177 0 Td -(curses)Tj -/T1_0 1 Tf -3.85 0 Td -(library)Tj -0.5 Tc 2.87 0 Td -(.C)Tj -0 Tc 1.459 0 Td -[(urr)18(ently out of print.)]TJ -8.9995 0 0 8.9995 129.5931 177.9893 Tm -[(Hume, )-270(A. )-270(G.)-771(1988. )-520(\324)37(\324A )-270(T)92(ale )-270(of )-270(T)90(wo )-270(Gr)17(eps,\325)37(\325)]TJ -/T1_2 1 Tf -21.804 0 Td -(Softwar)Tj -0.5203 Tc 3.148 0 Td -(eP)Tj -0 Tc 1.52 0 Td -[(ractice )-270(and )-270(Experience)]TJ -/T1_0 1 Tf -0.5203 Tc 9.596 0 Td -(,v)Tj -0 Tc 1.335 0 Td -[(ol. 18,)-520(no. 1)55(1,)]TJ --34.203 -1.222 Td -(pp. 1063)Tj -3.785 0.09 Td -(\320)Tj -0.583 -0.09 Td -(1072.)Tj -7.9995 0 0 7.9995 179.99 153.6908 Tm -[(An inter)18(esting paper that discusses performance impr)18(ovements in)]TJ -/TT0 1 Tf -29.453 0 Td -(grep)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47245 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.2)]TJ -34.152 0 Td -[(UNIX )-250(Standar)18(dization)]TJ -/T1_1 1 Tf -12.181 0 Td -(27)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1080.25 6670.25 cm -0 0 m -4092 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 178.3893 658.9605 Tm -[(Fr)18(eeBSD )-250(Linux )-250(Mac)-250(OS X)-500(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-1827(3.2.0)-1735(10.6.8 )-2170(10)]TJ --7.323 0.625 Td -(Header)Tj -32.267 0 Td -(Description)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1080.25 6450.25 cm -0 0 m -4092 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1080.25 6430.25 cm -0 0 m -4092 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 111.9866 634.9238 Tm -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245v)Tj -0 Tc 2.854 0 Td -[(erify pr)18(ogram assertion)]TJ -/TT0 1 Tf --24.609 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245c)Tj -0 Tc 2.733 0 Td -(omplex arithmetic support)Tj -/TT0 1 Tf --24.488 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245c)Tj -0 Tc 2.733 0 Td -(haracter classi\336cation and mapping support)Tj -/TT0 1 Tf --24.488 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245e)Tj -0 Tc 2.768 0 Td -[(rr)18(or codes \(Section 1.7\))]TJ -/TT0 1 Tf --24.523 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245\337)Tj -0 Tc 2.897 0 Td -[(oating-point envir)18(onment)]TJ -/TT0 1 Tf --24.652 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245\337)Tj -0 Tc 2.897 0 Td -(oating-point constants and characteristics)Tj -/TT0 1 Tf --24.652 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245i)Tj -0 Tc 2.58 0 Td -(nteger type format conversion)Tj -/TT0 1 Tf --24.335 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245m)Tj -0 Tc 3.172 0 Td -[(acr)18(os for assignment, r)18(elational, and unary operators)]TJ -/TT0 1 Tf --24.927 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245i)Tj -0 Tc 2.58 0 Td -(mplementation constants \(Section 2.5\))Tj -/TT0 1 Tf --24.335 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245l)Tj -0 Tc 2.58 0 Td -[(ocale categories and r)18(elated de\336nitions)]TJ -/TT0 1 Tf --24.335 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245m)Tj -0 Tc 3.172 0 Td -(athematical function and type declarations and constants)Tj -/TT0 1 Tf --24.927 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245n)Tj -0 Tc 2.871 0 Td -(onlocal goto \(Section 7.10\))Tj -/TT0 1 Tf --24.626 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245s)Tj -0 Tc 2.713 0 Td -(ignals \(Chapter 10\))Tj -/TT0 1 Tf --24.468 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245v)Tj -0 Tc 2.854 0 Td -[(ariable ar)18(gument lists)]TJ -/TT0 1 Tf --24.609 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245B)Tj -0 Tc 2.9 0 Td -(oolean type and values)Tj -/TT0 1 Tf --24.655 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245s)Tj -0 Tc 2.713 0 Td -(tandar)Tj -0.25 Tc 2.896 0 Td -(dd)Tj -0 Tc 1.472 0 Td -(e\336nitions)Tj -/TT0 1 Tf --28.836 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245i)Tj -0 Tc 2.58 0 Td -(nteger types)Tj -/TT0 1 Tf --24.335 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245s)Tj -0 Tc 2.713 0 Td -(tandar)Tj -0.25 Tc 2.896 0 Td -(dI)Tj -0 Tc 1.198 0 Td -(/O library \(Chapter 5\))Tj -/TT0 1 Tf --28.562 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245u)Tj -0 Tc 2.892 0 Td -(tility functions)Tj -/TT0 1 Tf --24.647 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245s)Tj -0 Tc 2.713 0 Td -(tring operations)Tj -/TT0 1 Tf --24.468 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245t)Tj -0 Tc 2.615 0 Td -[(ype-generic math macr)18(os)]TJ -/TT0 1 Tf --24.37 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245t)Tj -0 Tc 2.615 0 Td -(ime and date \(Section 6.10\))Tj -/TT0 1 Tf --24.37 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245e)Tj -0 Tc 2.768 0 Td -(xtended multibyte and wide character support)Tj -/TT0 1 Tf --24.523 -1.25 Td -()Tj -/T1_0 1 Tf -3.096 Tc 9.898 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245w)Tj -0 Tc 3.123 0 Td -(ide character classi\336cation and mapping support)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1080.25 4010.25 cm -0 0 m -4092 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3023.25 4010.25 cm -0 0 m -0 2660 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1764.25 4010.25 cm -0 0 m -0 2660 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5172.25 4010.25 cm -0 0 m -0 2660 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1080.25 4010.25 cm -0 0 m -0 2660 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 212.6977 382.9311 Tm -(Figure 2.1)Tj -/T1_0 1 Tf -5.195 0 Td -[(Headers de\336ned by the ISO C standar)18(d)]TJ -9.9982 0 0 9.9982 129.5769 357.7356 Tm -[(pr)18(ovide )-212(if )-212(it )-212(is )-212(to )-212(be )-212(\324)37(\324POSIX )-212(compliant,\325)]TJ -0.462 Tc 18.957 0 Td -(\325a)Tj -0 Tc 1.24 0 Td -[(nd )-212(has )-212(been )-212(adopted )-212(by )-212(most )-212(computer)]TJ --20.197 -1.2 Td -[(vendors. )-429(Although)-429(the )-179(1003.1 )-179(standar)18(d)-429(is)-429(based )-179(on )-179(the )-179(UNIX )-179(operating )-179(system, )-179(the)]TJ -0 -1.2 Td -(standar)Tj -0.519 Tc 3.32 0 Td -(di)Tj -0.5189 Tc 1.421 0 Td -(sn)Tj -0 Tc 1.525 0 Td -[(ot )-269(r)18(estricted )-269(to )-269(UNIX )-269(and )-269(UNIX)]TJ -15.41 0.09 Td -(-)Tj -0.333 -0.09 Td -[(like )-269(systems.)-769(Indeed, )-269(some )-269(vendors)]TJ --22.008 -1.2 Td -[(supplying )-249(pr)18(oprietary )-249(operating )-249(systems )-249(claim )-249(that )-249(these )-249(systems )-249(have )-249(been )-249(made)]TJ -0 -1.2 TD -[(POSIX compliant, while still leaving all their pr)18(oprietary featur)18(es in place.)]TJ -1.8 -1.2 Td -[(Because )-237(the )-237(1003.1 )-237(standar)]TJ -0.4872 Tc 12.459 0 Td -(ds)Tj -0 Tc 1.522 0 Td -[(peci\336es )-237(an)]TJ -/T1_2 1 Tf -5.379 0 Td -(interface)Tj -/T1_0 1 Tf -3.95 0 Td -[(and )-237(not )-237(an)]TJ -/T1_2 1 Tf -5.69 0 Td -(implementation)Tj -/T1_0 1 Tf -0.4871 Tc (,n)Tj -0 Tc 7.653 0 Td -(o)Tj --38.454 -1.2 Td -[(distinction )-87(is )-87(made )-87(between )-87(system )-87(calls )-87(and )-87(library )-87(functions.)-589(All )-87(the )-87(r)18(outines )-87(in )-87(the)]TJ -T* -(standar)Tj -0.25 Tc 3.32 0 Td -(da)Tj --0.018 Tc 1.361 0 Td -[(re )-36(c)]TJ -0 Tc 1.55 0 Td -(alled)Tj -/T1_2 1 Tf -2.422 0 Td -(functions)Tj -/T1_0 1 Tf -(.)Tj --6.853 -1.2 Td -[(Standar)18(ds )-133(ar)]TJ -0.3827 Tc 5.716 0 Td -(ec)Tj -0 Tc 1.306 0 Td -[(ontinually )-133(evolving, )-133(and )-133(the )-133(1003.1 )-133(standar)20(d)-383(is)-383(no)-383(e)1(xception. )-383(The)]TJ --8.821 -1.2 Td -[(1988 )-520(version, )-520(IEEE )-520(Standar)]TJ -0.7701 Tc 13.433 0 Td -(d1)Tj -0 Tc 1.881 0 Td -(003.1)Tj -2.25 0.09 Td -(-)Tj -0.333 -0.09 Td -[(1988, )-520(was )-520(modi\336ed )-520(and )-520(submitted )-520(to )-520(the)]TJ --17.897 -1.2 Td -[(International )-242(Or)18(ganization )-242(for )-242(Standar)18(dization. )-492(No)-492(new )-242(interfaces )-242(or )-242(featur)18(es )-242(wer)18(e)]TJ -0 -1.2 Td -[(added, )-298(but )-298(the )-298(text )-298(was )-298(r)19(evised. )-548(The)]TJ --0.018 Tc 18.571 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sulting )-298(document )-298(was )-298(published )-298(as )-298(IEEE)]TJ --19.427 -1.2 Td -(Standar)Tj -0.7204 Tc 3.421 0 Td -(d1)Tj -0 Tc 1.831 0 Td -(003.1)Tj -2.25 0.09 Td -(-)Tj -0.333 -0.09 Td -(1990)Tj -2.72 0.04 Td -([)Tj -0.333 -0.04 Td -[(IEEE )-470(1990)]TJ -4.89 0.04 Td -(])Tj -0.9703 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.833 0 Td -[(his )-470(is )-470(also )-470(International )-470(Standar)]TJ -0.7203 Tc 15.812 0 Td -(dI)Tj -0 Tc 1.668 0 Td -(SO/IEC)Tj --35.426 -1.2 Td -(9945)Tj -2 0.09 Td -(-)Tj -0.333 -0.09 Td -[(1:1990. )-356(This)-356(standar)]TJ -0.356 Tc 9.192 0 Td -(dw)Tj -0 Tc 1.801 0 Td -[(as )-106(commonly )-106(r)18(eferr)18(ed )-106(to )-106(as)]TJ -/T1_2 1 Tf -12.761 0 Td -(POSIX.1)Tj -/T1_0 1 Tf -0.356 Tc (,at)Tj -0 Tc 5.538 0 Td -[(erm )-106(which )-106(we\325ll)]TJ --31.625 -1.2 Td -[(use in this text to r)18(efer to the dif)18(fer)18(ent versions of the standar)18(d.)]TJ -1.8 -1.2 Td -[(The )-186(IEEE )-186(1003.1 )-186(working )-186(gr)18(oup )-186(continued )-186(to )-186(make )-186(changes )-186(to )-186(the )-186(standar)17(d. )-436(In)]TJ --1.8 -1.2 Td -[(1996, )-209(a )-209(r)18(evised )-209(version )-209(of )-209(the )-209(IEEE )-209(1003.1 )-209(standar)]TJ -0.4592 Tc 23.438 0 Td -(dw)Tj -0 Tc 1.904 0 Td -[(as )-209(published.)-709(It )-209(included )-209(the)]TJ --25.342 -1.2 Td -(1003.1)Tj -2.75 0.09 Td -(-)Tj -0.333 -0.09 Td -[(1990 )-38(standar)18(d, )-38(the )-38(1003.1b-1993 )-38(r)18(eal-time )-38(extensions )-38(standar)18(d, )-38(and )-38(the )-38(interfaces)]TJ --3.083 -1.2 Td -[(for )-64(multithr)18(eaded )-64(pr)18(ogramming, )-64(called)]TJ -/T1_2 1 Tf -17.925 0 Td -[(pthr)18(eads)]TJ -/T1_0 1 Tf -3.74 0 Td -[(for )-64(POSIX )-64(thr)18(eads. )-314(This)-314(version )-64(of )-64(the)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47246 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(144)Tj -/T1_1 1 Tf -3.5 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Library)]TJ -34.372 0 Td -[(Chapter )-250(5)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(Standar)Tj -0.4121 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.36 0 Td -[(/O )-162(\336le )-162(str)18(eams )-162(can )-162(be )-162(used )-162(with )-162(both )-162(single-byte )-162(and )-162(multibyte )-162(\(\324)35(\324wide\325)37(\325\))]TJ --4.781 -1.2 Td -[(character )-104(sets.)]TJ -0.3537 Tc 6.925 0 Td -(As)Tj -0 Tc 1.556 0 Td -[(tr)18(eam\325s )-104(orientation )-104(determines )-104(whether )-104(the )-104(characters )-104(that )-104(ar)]TJ -0.3536 Tc 27.719 0 Td -(er)Tj -0 Tc 1.21 0 Td -(ead)Tj --37.41 -1.2 Td -[(and )-112(written )-112(ar)]TJ -0.362 Tc 6.527 0 Td -(es)Tj -0 Tc 1.265 0 Td -[(ingle )-112(byte )-112(or )-112(multibyte.)-612(Initially)]TJ -0.362 Tc 14.664 0 Td -(,w)Tj -0 Tc 1.446 0 Td -[(hen )-112(a )-112(str)18(eam )-112(is )-112(cr)18(eated, )-112(it )-112(has )-112(no)]TJ --23.902 -1.2 Td -[(orientation. )-332(If)]TJ -0.3321 Tc 6.698 0 Td -(am)Tj -0 Tc 1.715 0 Td -[(ultibyte )-82(I/O )-82(function )-82(\(see)]TJ -/TT0 1 Tf -11.904 0 Td -()Tj -/T1_1 1 Tf -[(\))-332(is)-332(used )-82(on )-82(a )-82(str)18(eam )-82(without)]TJ --20.318 -1.2 Td -[(orientation, )-141(the )-141(str)18(eam\325s )-141(orientation )-141(is )-141(set )-141(to )-141(wide )-141(oriented.)-637(If )-141(a )-141(byte )-141(I/O )-141(function )-141(is)]TJ -0 -1.2 TD -[(used )-136(on )-136(a )-136(str)19(eam )-136(without )-136(orientation, )-136(the )-136(str)18(eam\325s )-136(orientation )-136(is )-136(set )-136(to )-136(byte )-136(oriented.)]TJ -T* -[(Only )-356(two )-356(functions )-356(can )-356(change )-356(the )-356(orientation )-356(once )-356(set.)-857(The)]TJ -/TT0 1 Tf -30.487 0 Td -(freopen)Tj -/T1_1 1 Tf -4.806 0 Td -(function)Tj --35.293 -1.2 Td -[(\(discussed )-69(shortly\) )-69(will )-69(clear )-69(a )-69(str)20(eam\325s )-68(orientation; )-68(the)]TJ -/TT0 1 Tf -25.153 0 Td -(fwide)Tj -/T1_1 1 Tf -3.319 0 Td -[(function )-68(can )-68(be )-68(used )-68(to)]TJ --28.472 -1.2 Td -[(set a str)18(eam\325s orientation.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.592 556.2666 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(int fwide\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 12.178 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -6.103 -1.783 Td -[(Returns: positive if str)18(eam is wide oriented,)]TJ -4.023 -1.189 Td -[(negative if str)18(eam is byte oriented,)]TJ -0.01 -1.189 Td -[(or 0 if str)18(eam has no orientation)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4876.25 cm -0 0 m -0 777 l -3900 777 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 474.0431 Tm -(The)Tj -/TT0 1 Tf -2.188 0 Td -(fwide)Tj -/T1_1 1 Tf -3.514 0 Td -[(function )-264(performs )-264(dif)18(fer)18(ent )-264(tasks, )-264(depending )-264(on )-264(the )-264(value )-264(of )-264(the)]TJ -/T1_2 1 Tf -31.187 0 Td -(mode)Tj -/T1_1 1 Tf --36.889 -1.2 Td -[(ar)18(gument.)]TJ -0.883 Tc 1.8 -2.4 Td -(\245I)Tj -0.3777 Tc 1.826 0 Td -(ft)Tj -0 Tc 1.037 0 Td -(he)Tj -/T1_2 1 Tf -1.439 0 Td -(mode)Tj -/T1_1 1 Tf -2.489 0 Td -[(ar)18(gument )-128(is )-128(negative,)]TJ -/TT0 1 Tf -10.182 0 Td -(fwide)Tj -/T1_1 1 Tf -3.378 0 Td -[(will )-128(try )-128(to )-128(make )-128(the )-128(speci\336ed )-128(str)20(eam)]TJ --18.861 -1.2 Td -(byte oriented.)Tj -0.883 Tc -1.489 -1.6 Td -(\245I)Tj -0.3973 Tc 1.826 0 Td -(ft)Tj -0 Tc 1.056 0 Td -(he)Tj -/T1_2 1 Tf -1.458 0 Td -(mode)Tj -/T1_1 1 Tf -2.508 0 Td -[(ar)18(gument )-147(is )-147(positive,)]TJ -/TT0 1 Tf -9.986 0 Td -(fwide)Tj -/T1_1 1 Tf -3.397 0 Td -[(will )-147(try )-147(to )-147(make )-147(the )-147(speci\336ed )-147(str)16(eam)]TJ --18.743 -1.2 Td -(wide oriented.)Tj -0.883 Tc -1.489 -1.6 Td -(\245I)Tj -0.3428 Tc 1.826 0 Td -(ft)Tj -0 Tc 1.002 0 Td -(he)Tj -/T1_2 1 Tf -1.404 0 Td -(mode)Tj -/T1_1 1 Tf -2.454 0 Td -[(ar)18(gument )-93(is )-93(zer)18(o,)]TJ -/TT0 1 Tf -8.201 0 Td -(fwide)Tj -/T1_1 1 Tf -3.343 0 Td -[(will )-93(not )-93(try )-93(to )-93(set )-93(the )-93(orientation, )-93(but )-93(will)]TJ --16.74 -1.2 Td -[(still r)18(eturn a value identifying the str)18(eam\325s orientation.)]TJ --1.489 -2.4 Td -[(Note )-10(that)]TJ -/TT0 1 Tf -4.436 0 Td -(fwide)Tj -/T1_1 1 Tf -3.26 0 Td -[(will )-10(not )-10(change )-10(the )-10(orientation )-10(of )-10(a )-10(str)19(eam )-10(that )-10(is )-10(alr)18(eady )-10(oriented.)]TJ --9.496 -1.2 Td -[(Also )-119(note )-119(that )-119(ther)19(e)-369(is)-369(no)-369(e)1(rr)18(or )-119(r)18(eturn. )-369(Consider)-368(what )-119(would )-119(happen )-119(if )-119(the )-119(str)18(eam )-119(is)]TJ -0 -1.2 Td -[(invalid. )-351(The)-351(only )-101(r)18(ecourse )-101(we )-101(have )-101(is )-101(to )-101(clear)]TJ -/TT0 1 Tf -21.323 0 Td -(errno)Tj -/T1_1 1 Tf -3.351 0 Td -(befor)Tj -0.3513 Tc 2.288 0 Td -(ec)Tj -0 Tc 1.274 0 Td -(alling)Tj -/TT0 1 Tf -2.862 0 Td -(fwide)Tj -/T1_1 1 Tf -3.351 0 Td -[(and )-101(check)]TJ --34.451 -1.2 Td -[(the )-5(value )-5(of)]TJ -/TT0 1 Tf -5.471 0 Td -(errno)Tj -/T1_1 1 Tf -3.256 0 Td -[(when )-5(we )-5(r)17(eturn. )-255(Thr)18(oughout )-5(the )-5(r)18(est )-5(of )-5(this )-5(book, )-5(we )-5(will )-5(deal )-5(only)]TJ --8.726 -1.2 Td -[(with byte-oriented str)18(eams.)]TJ -1.8 -1.2 Td -[(When )-115(we )-115(open )-115(a )-115(str)18(eam, )-115(the )-115(standar)]TJ -0.3652 Tc 16.801 0 Td -(dI)Tj -0 Tc 1.313 0 Td -[(/O )-115(function)]TJ -/TT0 1 Tf -5.829 0 Td -(fopen)Tj -/T1_1 1 Tf -3.365 0 Td -[(\(Section )-115(5.5\) )-115(r)18(eturns )-115(a)]TJ --29.109 -1.2 Td -[(pointer )-272(to )-272(a)]TJ -/TT0 1 Tf -6.158 0 Td -(FILE)Tj -/T1_1 1 Tf -2.922 0 Td -[(object. )-522(This)-522(object )-272(is )-272(normally )-272(a )-272(str)8(uctur)]TJ -0.522 Tc 19.455 0 Td -(et)Tj -0 Tc 1.327 0 Td -[(hat )-272(contains )-272(all )-272(the)]TJ --29.862 -1.2 Td -[(information )-337(r)18(equir)18(ed )-338(by )-338(the )-338(standar)]TJ -0.5876 Tc 17.218 0 Td -(dI)Tj -0 Tc 1.536 0 Td -[(/O )-338(library )-338(to )-338(manage )-338(the )-338(str)18(eam: )-338(the )-338(\336le)]TJ --18.754 -1.2 Td -[(descriptor )-20(used )-20(for )-20(actual )-20(I/O, )-20(a )-20(pointer )-20(to )-20(a )-20(buf)18(fer )-20(for )-20(the )-20(str)18(eam, )-20(the )-20(size )-20(of )-20(the )-20(buf)25(fer)74(,)]TJ -0.25 Tc 0 -1.2 TD -(ac)Tj -0 Tc 1.194 0 Td -[(ount of the number of characters curr)18(ently in the buf)18(fer)74(,)-250(an)-250(err)18(or \337ag, and the like.)]TJ -0.606 -1.2 Td -[(Application )-29(softwar)]TJ -0.2795 Tc 8.871 0 Td -(es)Tj -0 Tc 1.183 0 Td -[(hould )-30(never )-30(need )-30(to )-30(examine )-30(a)]TJ -/TT0 1 Tf -14.064 0 Td -(FILE)Tj -/T1_1 1 Tf -2.68 0 Td -[(object. )-280(T)]TJ -0.2796 Tc 3.883 0 Td -(or)Tj -0 Tc 1.203 0 Td -[(efer)18(ence )-30(the)]TJ --33.681 -1.2 Td -[(str)18(eam, )-291(we )-291(pass )-291(its)]TJ -/TT0 1 Tf -9.706 0 Td -(FILE)Tj -/T1_1 1 Tf -2.941 0 Td -[(pointer )-291(as )-291(an )-291(ar)18(gument )-291(to )-291(each )-291(standar)]TJ -0.5409 Tc 18.974 0 Td -(dI)Tj -0 Tc 1.489 0 Td -[(/O )-291(function.)]TJ --33.11 -1.2 Td -[(Thr)18(oughout )-54(this )-54(text, )-54(we\325ll )-54(r)18(efer )-54(to )-54(a )-54(pointer )-54(to )-54(a)]TJ -/TT0 1 Tf -22.091 0 Td -(FILE)Tj -/T1_1 1 Tf -2.704 0 Td -[(object, )-54(the )-54(type)]TJ -/TT0 1 Tf -7.092 0 Td -[(FILE )267(*)]TJ -/T1_1 1 Tf -[(,)-304(as)-304(a)]TJ -/T1_2 1 Tf -5.918 0 Td -(\336le)Tj --37.805 -1.2 Td -(pointer)Tj -/T1_1 1 Tf -(.)Tj -1.8 -1.2 Td -[(Thr)18(oughout )-124(this )-124(chapter)73(,)-374(we)-374(d)-1(escribe )-124(the )-124(standar)]TJ -0.3742 Tc 22.402 0 Td -(dI)Tj -0 Tc 1.322 0 Td -[(/O )-124(library )-124(in )-124(the )-124(context )-124(of )-124(a)]TJ --25.524 -1.2 Td -[(UNIX )-29(system.)-529(As )-29(we )-29(mentioned, )-29(this )-29(library )-29(has )-29(been )-29(ported )-29(to )-29(a )-29(wide )-29(variety )-29(of )-29(other)]TJ -T* -[(operating )-580(systems.)]TJ --0.092 Tc 9.953 0 Td -[(To )-765(p)]TJ --0.018 Tc 2.499 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vide )-580(some )-580(insight )-580(about )-580(how )-580(this )-580(library )-580(can )-580(be)]TJ --13.375 -1.2 Td -(implemented, we will talk about its typical implementation on a UNIX sys\ tem.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47247 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -33.857 0 Td -[(Chapter )-250(16)-750(Solutions)]TJ -/T1_1 1 Tf -11.976 0 Td -(939)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(16.3)Tj -/T1_0 1 Tf -3.065 0 Td -[(For )-106(each )-106(endpoint )-106(we )-106(will )-106(be )-106(listening )-106(on, )-106(we )-106(need )-106(to )-106(bind )-106(the )-106(pr)23(oper )-105(addr)18(ess)]TJ -0 -1.2 Td -[(and )-7(r)18(ecor)18(d)-257(an)-257(e)-1(ntry )-7(in )-7(an)]TJ -/TT0 1 Tf -11.447 0 Td -(fd_set)Tj -/T1_0 1 Tf -3.858 0 Td -[(str)8(uctur)]TJ -0.2575 Tc 3.49 0 Td -(ec)Tj -0 Tc 1.181 0 Td -[(orr)18(esponding )-7(to )-7(each )-7(\336le )-7(descriptor)72(.)]TJ --0.092 Tc -19.975 -1.2 Td -[(We )-202(w)]TJ -0 Tc 2.489 0 Td -[(ill )-18(use)]TJ -/TT0 1 Tf -2.915 0 Td -(select)Tj -/T1_0 1 Tf -3.868 0 Td -[(to )-18(wait )-18(for )-18(connect )-18(r)19(equests )-18(to )-18(arrive )-18(on )-18(multiple )-18(endpoints.)]TJ --9.271 -1.2 Td -[(Recall )-34(fr)18(om )-34(Section )-34(16.4 )-34(that )-34(a )-34(passive )-34(endpoint )-34(will )-34(appear )-34(to )-34(be )-34(r)20(eadable )-34(when)]TJ -0.4417 Tc 0 -1.2 TD -(ac)Tj -0 Tc 1.386 0 Td -[(onnect )-192(r)18(equest )-192(arrives )-192(on )-192(it.)-692(When )-192(a )-192(connect )-192(r)18(equest )-192(does )-192(arrive, )-192(we )-192(will)]TJ --1.386 -1.2 Td -[(accept the r)18(equest and pr)18(ocess it as befor)18(e.)]TJ -/T1_1 1 Tf --3.065 -1.84 Td -(16.5)Tj -/T1_0 1 Tf -3.065 0 Td -[(In )-192(the)]TJ -/TT0 1 Tf -3.189 0 Td -(main)Tj -/T1_0 1 Tf -2.842 0 Td -[(pr)18(ocedur)18(e, )-192(we )-192(need )-192(to )-192(arrange )-192(to )-192(catch)]TJ -/TT0 1 Tf -18.771 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.642 0 Td -[(by )-192(calling )-192(our)]TJ -/TT0 1 Tf --29.444 -1.2 Td -(signal)Tj -/T1_0 1 Tf -3.859 0 Td -[(function )-9(\(Figur)]TJ -0.2591 Tc 6.682 0 Td -(e1)Tj -0 Tc 1.238 0 Td -[(0.18\), )-9(which )-9(will )-9(use)]TJ -/TT0 1 Tf -9.315 0 Td -(sigaction)Tj -/T1_0 1 Tf -5.659 0 Td -[(to )-9(install )-9(the )-9(handler)]TJ --26.754 -1.2 Td -[(specifying )-18(the )-18(r)18(estartable )-18(system )-18(call )-18(option.)-518(Next, )-18(we )-18(need )-18(to )-18(r)22(emove )-18(the )-18(call )-18(to)]TJ -/TT0 1 Tf -T* -(waitpid)Tj -/T1_0 1 Tf -4.724 0 Td -[(fr)18(om )-274(our)]TJ -/TT0 1 Tf -4.731 0 Td -(serve)Tj -/T1_0 1 Tf -3.524 0 Td -[(function. )-524(After)]TJ -/TT0 1 Tf -7.566 0 Td -(fork)Tj -/T1_0 1 Tf -[(ing )-274(the )-274(child )-274(to )-274(service )-274(the)]TJ --0.018 Tc -20.544 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quest, )-291(the )-291(par)18(ent )-291(closes )-291(the )-291(new )-291(\336le )-291(descriptor )-291(and )-291(r)18(esumes )-291(listening )-291(for)]TJ --0.856 -1.2 Td -[(additional )-105(connect )-105(r)17(equests. )-355(Finally)111(,)-355(we)-355(n)-1(eed )-105(a )-105(signal )-105(handler )-105(for)]TJ -/TT0 1 Tf -30.206 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -0.3553 Tc (,a)Tj -0 Tc 5.305 0 Td -(s)Tj --35.511 -1.2 Td -(follows:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 178.2382 501.8699 Tm -(void)Tj -0 -1.189 TD -(sigchld\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(while \(waitpid\(\(pid_t\)-1, NULL, WNOHANG\) > 0\))Tj -2.4 -1.189 Td -(;)Tj --4.8 -1.189 Td -(})Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5911 426.3744 Tm -(16.6)Tj -/T1_0 1 Tf --0.092 Tc 3.065 0 Td -[(To )-197(e)]TJ -0 Tc 1.809 0 Td -[(nable )-13(asynchr)18(onous )-13(socket )-13(I/O, )-13(we )-13(need )-13(to )-13(establish )-13(socket )-13(ownership )-13(using)]TJ --1.809 -1.2 Td -(the)Tj -/TT0 1 Tf -1.699 0 Td -[(F_SETOWN )288(fcntl)]TJ -/T1_0 1 Tf -8.424 0 Td -[(command, )-62(and )-62(then )-62(enable )-62(asynchr)18(onous )-62(signaling )-62(using)]TJ --10.123 -1.2 Td -(the)Tj -/TT0 1 Tf -1.981 0 Td -[(FIOASYNC )6(ioctl)]TJ -/T1_0 1 Tf -8.989 0 Td -[(command. )-594(T)]TJ -0.5944 Tc 6.064 0 Td -(od)Tj -0 Tc 1.751 0 Td -[(isable )-344(asynchr)18(onous )-344(socket )-344(I/O, )-344(we)]TJ --18.786 -1.2 Td -[(simply )-86(need )-86(to )-86(disable )-86(asynchr)18(onous )-86(signaling.)-586(The )-86(r)15(eason )-86(we )-86(mix)]TJ -/TT0 1 Tf -30.906 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.336 0 Td -(and)Tj -/TT0 1 Tf --34.242 -1.2 Td -(ioctl)Tj -/T1_0 1 Tf -3.424 0 Td -[(commands )-174(is )-174(to )-174(\336nd )-174(the )-174(methods )-174(that )-174(ar)]TJ -0.4239 Tc 19.074 0 Td -(em)Tj -0 Tc 1.786 0 Td -[(ost )-174(portable.)-674(The )-174(code )-174(is)]TJ --24.283 -1.2 Td -(shown in Figur)Tj -0.25 Tc 6.724 0 Td -(eC)Tj -0 Tc 1.438 0 Td -(.23.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 3592.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 3592.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 160.2308 349.657 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#if defined\(BSD\) || defined\(MACOS\) || defined\(SOLARIS\))Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#endif)Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(setasync\(int sockfd\))Tj -T* -({)Tj -2.4 -1.189 Td -(int n;)Tj -0 -2.021 TD -(if \(fcntl\(sockfd, F_SETOWN, getpid\(\)\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj -0.6 Tc -2.4 -1.189 Td -(n=1)Tj -0 Tc 3 0 Td -(;)Tj --3 -1.189 Td -(if \(ioctl\(sockfd, FIOASYNC, &n\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47248 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -33.857 0 Td -[(Chapter )-250(15)-750(Solutions)]TJ -/T1_1 1 Tf -11.976 0 Td -(935)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 160.2404 668.9599 Tm -(The following table shows the values calculated for our four platforms.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2638.25 6526.25 cm -0 0 m -1522 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 280.7553 644.5227 Tm -[(Platform )-2870(Pipe)-250(Capacity \(bytes\))]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2638.25 6406.25 cm -0 0 m -1522 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2638.25 6386.25 cm -0 0 m -1522 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 267.7808 630.4865 Tm -[(Fr)18(eeBSD 8.0)]TJ -11.946 0 Td -(65,536)Tj --11.946 -1.25 Td -(Linux 3.2.0)Tj -11.946 0 Td -(65,536)Tj --11.946 -1.25 Td -[(Mac OS X 10.6.8)-4828(16,384)]TJ -0 -1.25 TD -(Solaris 10)Tj -11.946 0 Td -(16,384)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2638.25 5966.25 cm -0 0 m -1522 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3307.25 5966.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4160.25 5966.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2638.25 5966.25 cm -0 0 m -0 560 l -S -Q -Q -BT -/T1_0 1 Tf -9.9976 0 0 9.9976 160.2115 575.2619 Tm -[(These )-327(values )-327(can )-327(dif)18(fer )-327(fr)18(om )-327(the )-327(corr)19(esponding)]TJ -/TT0 1 Tf -23.387 0 Td -(PIPE_BUF)Tj -/T1_0 1 Tf -5.377 0 Td -[(values, )-327(because)]TJ -/TT0 1 Tf --28.764 -1.2 Td -(PIPE_BUF)Tj -/T1_0 1 Tf -5.07 0 Td -[(is )-20(de\336ned )-20(to )-20(be )-20(the )-20(maximum )-20(amount )-20(of )-20(data )-20(that )-20(can )-20(be )-20(written )-20(to )-20(a)]TJ --5.07 -1.2 Td -(pipe)Tj -/T1_2 1 Tf -2.454 0 Td -(atomically)Tj -/T1_0 1 Tf -0.732 Tc (.H)Tj -0 Tc 5.998 0 Td -[(er)18(e, )-232(we )-232(calculate )-232(the )-232(amount )-232(of )-232(data )-232(that )-232(a )-232(pipe )-232(can )-232(hold)]TJ --8.452 -1.2 Td -(independent of any atomicity constraints.)Tj -/T1_1 1 Tf --3.065 -1.84 Td -(14.10)Tj -/T1_0 1 Tf -3.065 0 Td -[(Whether )-108(the )-108(pr)18(ogram )-108(in )-108(Figur)]TJ -0.3582 Tc 13.777 0 Td -(e1)Tj -0 Tc 1.337 0 Td -[(4.27 )-108(updates )-108(the )-108(last-access )-108(time )-108(for )-108(the )-108(input)]TJ --15.114 -1.2 Td -[(\336le )-26(depends )-26(on )-26(the )-26(operating )-26(system )-26(and )-26(the )-26(type )-26(of )-26(\336le )-26(system )-26(in )-26(which )-26(the )-26(\336le)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(sides. )-486(On)-486(all )-236(four )-236(platforms, )-236(the )-236(last-access )-236(time )-236(is )-236(updated )-236(when )-236(the )-236(\336le)]TJ --0.018 Tc -0.856 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(sides in the default \336le system type for the given operating system.)Tj -/TT1 1 Tf --7.521 -3.36 Td -[(Chapter )-278(15)]TJ -/T1_1 1 Tf -3.6 -2.56 Td -(15.1)Tj -/T1_0 1 Tf -3.065 0 Td -[(If )-79(the )-79(write )-79(end )-79(of )-79(the )-79(pipe )-79(is )-79(never )-79(closed, )-79(the )-79(r)18(eader )-79(never )-79(sees )-79(an )-79(end )-79(of )-79(\336le.)]TJ -T* -[(The pager pr)18(ogram blocks for)18(ever r)18(eading fr)18(om its standar)]TJ -0.25 Tc 25.947 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput.)Tj -/T1_1 1 Tf --30.164 -1.84 Td -(15.2)Tj -/T1_0 1 Tf -3.065 0 Td -[(The )-1(par)18(ent )-1(terminates )-1(right )-1(after )-1(writing )-1(the )-1(last )-1(line )-1(to )-1(the )-1(pipe.)-501(The )-1(r)18(ead )-1(end )-1(of)]TJ -T* -[(the )-132(pipe )-132(is )-132(automatically )-132(closed )-132(when )-132(the )-132(par)15(ent )-132(terminates.)-632(But )-132(the )-132(par)18(ent )-132(is)]TJ -T* -[(pr)18(obably )-7(r)8(unning )-7(ahead )-7(of )-7(the )-7(child )-7(by )-7(one )-7(pipe )-7(buf)17(fer)]TJ -0.2571 Tc 24.323 0 Td -(,s)Tj -0 Tc 0.931 0 Td -[(ince )-7(the )-7(child )-7(\(the )-7(pager)]TJ --25.254 -1.2 Td -[(pr)18(ogram\) )-73(is )-73(waiting )-73(for )-73(us )-73(to )-73(look )-73(at )-73(a )-73(page )-73(of )-73(output.)-578(If )-73(we\325r)]TJ -0.3233 Tc 28.086 0 Td -(er)Tj -0 Tc 1.189 0 Td -[(unning )-73(a )-73(shell,)]TJ --29.275 -1.2 Td -[(such )-71(as )-71(the )-71(Korn )-71(shell, )-71(with )-71(interactive )-71(command)]TJ -22.339 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-71(editing )-71(enabled, )-71(the )-71(shell)]TJ --22.672 -1.2 Td -[(pr)18(obably )-115(changes )-115(the )-115(terminal )-115(mode )-115(when )-115(our )-115(par)15(ent )-115(terminates )-115(and )-115(the )-115(shell)]TJ -T* -[(prints )-9(a )-9(pr)18(ompt. )-259(This)-259(undoubtedly )-9(interfer)18(es )-9(with )-9(the )-9(pager )-9(pr)18(ogram, )-9(which )-9(has)]TJ -T* -[(also )-238(modi\336ed )-238(the )-238(terminal )-238(mode.)-738(\(Most )-238(pager )-238(pr)15(ograms )-238(set )-238(the )-238(terminal )-238(to)]TJ -T* -[(noncanonical mode when awaiting input to pr)18(oceed to the next page.\))]TJ -/T1_1 1 Tf --3.065 -1.84 Td -(15.3)Tj -/T1_0 1 Tf -3.065 0 Td -(The)Tj -/TT0 1 Tf -2.001 0 Td -(popen)Tj -/T1_0 1 Tf -3.328 0 Td -[(function )-77(r)18(eturns )-77(a )-77(\336le )-77(pointer )-77(because )-77(the )-77(shell )-77(is )-77(executed.)-582(But )-78(the)]TJ --5.329 -1.2 Td -(shell can\325t execute the nonexistent command, so it prints)Tj -/TT0 1 Tf -8.9978 0 0 8.9978 178.2072 253.3091 Tm -(sh: line 1: ./a.out: No such file or directory)Tj -/T1_0 1 Tf -9.9976 0 0 9.9976 160.2115 236.3831 Tm -[(on )-173(the )-173(standar)]TJ -0.4234 Tc 6.682 0 Td -(de)Tj -0 Tc 1.513 0 Td -[(rr)18(or )-173(and )-173(terminates )-173(with )-173(an )-173(exit )-173(status )-173(of )-173(127 )-173(\(although )-173(the)]TJ --8.195 -1.2 Td -[(value )-133(depends )-133(on )-133(the )-133(type )-133(of )-133(shell\).)]TJ -/TT0 1 Tf -17.163 0 Td -(pclose)Tj -/T1_0 1 Tf --0.018 Tc 3.983 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-133(the )-133(termination )-133(status )-133(of)]TJ --22.002 -1.2 Td -[(the command as it is r)18(eturned by)]TJ -/TT0 1 Tf -14.803 0 Td -(waitpid)Tj -/T1_0 1 Tf -(.)Tj -/T1_1 1 Tf --17.868 -1.84 Td -(15.4)Tj -/T1_0 1 Tf -3.065 0 Td -[(When )-29(the )-29(par)18(ent )-29(terminates, )-29(look )-29(at )-29(its )-29(termination )-29(status )-29(with )-29(the )-29(shell.)-526(For )-29(the)]TJ -T* -[(Bourne )-40(shell, )-40(Bourne-again )-40(shell, )-40(and )-40(Korn )-40(shell, )-40(the )-40(command )-40(is)]TJ -/TT0 1 Tf -29.538 0 Td -[(echo )267($?)]TJ -/T1_0 1 Tf -0.54 Tc (.T)Tj -0 Tc 5.336 0 Td -(he)Tj --34.874 -1.2 Td -[(number printed is 128 plus the signal number)74(.)]TJ -/T1_1 1 Tf --3.065 -1.84 Td -(15.5)Tj -/T1_0 1 Tf -3.065 0 Td -(First add the declaration)Tj -/TT0 1 Tf -8.9978 0 0 8.9978 178.2075 135.9775 Tm -[(FILE )-1800(*fpin,)-600(*fpout;)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47249 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(546)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Note )-284(that )-284(our)]TJ -/TT0 1 Tf -7.062 0 Td -(open_max)Tj -/T1_1 1 Tf -5.334 0 Td -[(function )-284(fr)18(om )-284(Figur)]TJ -0.534 Tc 9.297 0 Td -(e2)Tj -0 Tc 1.513 0 Td -[(.17 )-284(can )-284(r)18(eturn )-284(a )-284(guess )-284(of )-284(the)]TJ --25.006 -1.2 Td -[(maximum )-1(number )-1(of )-1(open )-1(\336les )-1(if )-1(this )-1(value )-1(is )-1(indeterminate )-1(for )-1(the )-1(system.)]TJ --0.092 Tc 34.087 0 Td -[(We )-186(n)]TJ -0 Tc 2.221 0 Td -[(eed )-1(to)]TJ --36.307 -1.2 Td -[(be )-43(car)18(eful )-43(not )-43(to )-43(use )-43(a )-43(pipe )-43(\336le )-43(descriptor )-43(whose )-43(value )-43(is )-43(lar)12(ger )-44(than )-44(\(or )-44(equal )-44(to\) )-44(what)]TJ -0 -1.2 TD -(the)Tj -/TT0 1 Tf -1.66 0 Td -(open_max)Tj -/T1_1 1 Tf -5.073 0 Td -[(function )-23(r)18(eturns. )-273(In)]TJ -/TT0 1 Tf -9.13 0 Td -(popen)Tj -/T1_1 1 Tf -[(,)-273(if)-273(t)1(he )-23(value )-23(r)19(eturned )-23(by)]TJ -/TT0 1 Tf -14.296 0 Td -(open_max)Tj -/T1_1 1 Tf -5.073 0 Td -(happens)Tj --35.231 -1.2 Td -[(to )-69(be )-69(too )-69(small, )-69(we )-69(close )-69(the )-69(pipe )-69(\336le )-69(descriptors, )-69(set)]TJ -/TT0 1 Tf -24.118 0 Td -(errno)Tj -/T1_1 1 Tf -3.319 0 Td -(to)Tj -/TT0 1 Tf -1.191 0 Td -(EMFILE)Tj -/T1_1 1 Tf -3.919 0 Td -[(to )-69(indicate )-69(too)]TJ --32.548 -1.2 Td -[(many )-341(\336le )-341(descriptors )-341(ar)]TJ -0.591 Tc 11.482 0 Td -(eo)Tj -0 Tc 1.616 0 Td -[(pen, )-341(and )-341(r)18(eturn)]TJ -/TT1 1 Tf -8.14 0 Td -(!)Tj -/T1_1 1 Tf -[(1. )-591(In)]TJ -/TT0 1 Tf -3.65 0 Td -(pclose)Tj -/T1_1 1 Tf -[(,)-591(if)-591(the )-341(\336le )-341(descriptor)]TJ --24.888 -1.2 Td -[(corr)18(esponding )-173(to )-173(the )-173(\336le )-173(pointer )-173(ar)18(gument )-173(is )-173(lar)18(ger )-173(than )-173(expected, )-173(we )-173(set)]TJ -/TT0 1 Tf -34.705 0 Td -(errno)Tj -/T1_1 1 Tf -3.423 0 Td -(to)Tj -/TT0 1 Tf --38.128 -1.2 Td -(EINVAL)Tj -/T1_1 1 Tf -3.85 0 Td -[(and r)18(eturn)]TJ -/TT1 1 Tf -4.955 0 Td -(!)Tj -/T1_1 1 Tf -(1.)Tj --7.005 -1.2 Td -(Calling)Tj -/TT0 1 Tf -3.576 0 Td -(pipe)Tj -/T1_1 1 Tf -2.756 0 Td -(and)Tj -/TT0 1 Tf -2.049 0 Td -(fork)Tj -/T1_1 1 Tf -2.756 0 Td -[(and )-105(then )-105(duplicating )-105(the )-105(appr)16(opriate )-105(descriptors )-105(for )-105(each)]TJ --12.935 -1.2 Td -[(pr)18(ocess in the)]TJ -/TT0 1 Tf -6.305 0 Td -(popen)Tj -/T1_1 1 Tf -3.25 0 Td -[(function is similar to what we did earlier in this chapter)74(.)]TJ --7.755 -1.2 Td -[(POSIX.1 )-67(r)18(equir)18(es )-67(that)]TJ -/TT0 1 Tf -9.943 0 Td -(popen)Tj -/T1_1 1 Tf -3.317 0 Td -[(close )-67(any )-67(str)18(eams )-67(that )-67(ar)]TJ -0.3167 Tc 11.112 0 Td -(es)Tj -0 Tc 1.22 0 Td -[(till )-67(open )-67(in )-67(the )-67(child )-67(fr)20(om)]TJ --27.391 -1.2 Td -[(pr)18(evious )-113(calls )-113(to)]TJ -/TT0 1 Tf -7.797 0 Td -(popen)Tj -/T1_1 1 Tf -0.6131 Tc (.T)Tj -0 Tc 4.384 0 Td -[(o)-363(do)-363(this, )-113(we )-113(go )-113(thr)18(ough )-113(the)]TJ -/TT0 1 Tf -13.492 0 Td -(childpid)Tj -/T1_1 1 Tf -5.163 0 Td -[(array )-113(in )-113(the )-113(child,)]TJ --30.836 -1.2 Td -(closing any descriptors that ar)Tj -0.25 Tc 13.319 0 Td -(es)Tj -0 Tc 1.153 0 Td -(till open.)Tj --12.672 -1.2 Td -[(What )-401(happens )-401(if )-401(the )-401(caller )-401(of)]TJ -/TT0 1 Tf -15.371 0 Td -(pclose)Tj -/T1_1 1 Tf -4.251 0 Td -[(has )-401(established )-401(a )-401(signal )-401(handler )-401(for)]TJ -/TT0 1 Tf --21.422 -1.2 Td -(SIGCHLD)Tj -/T1_1 1 Tf -0.5942 Tc (?T)Tj -0 Tc 5.851 0 Td -[(he )-94(call )-94(to)]TJ -/TT0 1 Tf -4.492 0 Td -(waitpid)Tj -/T1_1 1 Tf -4.544 0 Td -[(fr)18(om)]TJ -/TT0 1 Tf -2.483 0 Td -(pclose)Tj -/T1_1 1 Tf -3.944 0 Td -[(would )-94(r)18(eturn )-94(an )-94(err)18(or )-94(of)]TJ -/TT0 1 Tf -11.521 0 Td -(EINTR)Tj -/T1_1 1 Tf -0.5941 Tc (.S)Tj -0 Tc 4.369 0 Td -(ince)Tj --37.204 -1.2 Td -[(the )-22(caller )-22(is )-22(allowed )-22(to )-22(catch )-22(this )-22(signal )-22(\(or )-22(any )-22(other )-22(signal )-22(that )-22(might )-22(interr)8(upt )-22(the )-22(call)]TJ -T* -(to)Tj -/TT0 1 Tf -1.122 0 Td -(waitpid)Tj -/T1_1 1 Tf -(\), we simply call)Tj -/TT0 1 Tf -11.668 0 Td -(waitpid)Tj -/T1_1 1 Tf -4.45 0 Td -[(again if it is interr)8(upted by a caught signal.)]TJ --15.44 -1.2 Td -[(Note )-118(that )-118(if )-118(the )-118(application )-118(calls)]TJ -/TT0 1 Tf -15.056 0 Td -(waitpid)Tj -/T1_1 1 Tf -4.568 0 Td -[(and )-118(obtains )-118(the )-118(exit )-118(status )-118(of )-118(the )-118(child)]TJ --21.424 -1.2 Td -[(cr)18(eated )-97(by)]TJ -/TT0 1 Tf -5.019 0 Td -(popen)Tj -/T1_1 1 Tf -[(,)-347(we)-347(will )-97(call)]TJ -/TT0 1 Tf -9.184 0 Td -(waitpid)Tj -/T1_1 1 Tf -4.547 0 Td -[(when )-97(the )-97(application )-97(calls)]TJ -/TT0 1 Tf -12.175 0 Td -(pclose)Tj -/T1_1 1 Tf -0.347 Tc (,\336)Tj -0 Tc 4.802 0 Td -[(nd )-97(that)]TJ --35.726 -1.2 Td -[(the )-3(child )-3(no )-3(longer )-3(exists, )-3(and )-3(r)19(eturn)]TJ -/TT1 1 Tf -16.518 0 Td -(!)Tj -/T1_1 1 Tf -0.2529 Tc (1w)Tj -0 Tc 2.136 0 Td -(ith)Tj -/TT0 1 Tf -1.452 0 Td -(errno)Tj -/T1_1 1 Tf -3.253 0 Td -[(set )-3(to)]TJ -/TT0 1 Tf -2.607 0 Td -(ECHILD)Tj -/T1_1 1 Tf -0.5028 Tc (.T)Tj -0 Tc 4.966 0 Td -[(his )-3(is )-3(the )-3(behavior)]TJ --0.018 Tc -30.932 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(ed by POSIX.1 in this situation.)]TJ -7.9995 0 0 7.9995 183.5869 408.9755 Tm -[(Some )-101(early )-101(versions )-101(of)]TJ -/TT0 1 Tf -10.644 0 Td -(pclose)Tj -/T1_1 1 Tf --0.018 Tc 3.951 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turned )-101(an )-101(err)18(or )-101(of)]TJ -/TT0 1 Tf -8.554 0 Td -(EINTR)Tj -/T1_1 1 Tf -3.351 0 Td -[(if )-101(a )-101(signal )-101(interr)7(upted )-101(the)]TJ -/TT0 1 Tf -11.992 0 Td -(wait)Tj -/T1_1 1 Tf -(.)Tj --39.35 -1.25 Td -[(Also, )-109(some )-109(early )-109(versions )-109(of)]TJ -/TT0 1 Tf -13.22 0 Td -(pclose)Tj -/T1_1 1 Tf -3.959 0 Td -[(blocked )-109(or )-109(ignor)18(ed )-109(the )-109(signals)]TJ -/TT0 1 Tf -14.111 0 Td -(SIGINT)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.209 0 Td -(SIGQUIT)Tj -/T1_1 1 Tf -0.3585 Tc (,a)Tj -0 Tc 5.309 0 Td -(nd)Tj -/TT0 1 Tf --40.807 -1.25 Td -(SIGHUP)Tj -/T1_1 1 Tf -3.85 0 Td -(during the)Tj -/TT0 1 Tf -4.925 0 Td -(wait)Tj -/T1_1 1 Tf -0.5 Tc (.T)Tj -0 Tc 3.763 0 Td -(his is not allowed by POSIX.1.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3830.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 346.9584 Tm -[(Note )-70(that)]TJ -/TT0 1 Tf -4.557 0 Td -(popen)Tj -/T1_1 1 Tf -3.32 0 Td -[(should )-70(never )-70(be )-70(called )-70(by )-70(a )-70(set-user)16(-ID )-70(or )-70(set-gr)18(oup-ID )-70(pr)17(ogram.)]TJ --9.677 -1.2 Td -(When it executes the command,)Tj -/TT0 1 Tf -14.346 0 Td -(popen)Tj -/T1_1 1 Tf -3.25 0 Td -(does the equivalent of)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5824 318.2618 Tm -(execl\("/bin/sh", "sh", "-c",)Tj -/T1_2 1 Tf -17.4 0 Td -(command)Tj -/TT0 1 Tf -0.6 Tc (,N)Tj -0 Tc 5.707 0 Td -(ULL\);)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 300.264 Tm -[(which )-74(executes )-74(the )-74(shell )-74(and)]TJ -/T1_2 1 Tf -13.251 0 Td -(command)Tj -/T1_1 1 Tf -4.231 0 Td -[(with )-74(the )-74(envir)18(onment )-74(inherited )-74(by )-74(the )-74(caller)]TJ -0.5743 Tc 19.916 0 Td -(.A)Tj -0 Tc -37.398 -1.2 Td -[(malicious )-149(user )-149(can )-149(manipulate )-149(the )-149(envir)20(onment )-148(so )-148(that )-148(the )-148(shell )-148(executes )-148(commands)]TJ -T* -[(other )-219(than )-219(those )-219(intended, )-219(with )-219(the )-219(elevated )-219(permissions )-219(granted )-219(by )-219(the )-219(set-ID )-219(\336le)]TJ -T* -(mode.)Tj -1.8 -1.2 Td -[(One )-208(thing )-208(that)]TJ -/TT0 1 Tf -7.293 0 Td -(popen)Tj -/T1_1 1 Tf -3.458 0 Td -[(is )-208(especially )-208(well )-208(suited )-208(for )-208(is )-208(executing )-208(simple )-208(\336lters )-208(to)]TJ --12.551 -1.2 Td -[(transform )-250(the )-250(input )-250(or )-250(output )-250(of )-250(the )-250(r)8(unning )-250(command.)-751(Such )-250(is )-250(the )-250(case )-250(when )-250(a)]TJ -T* -(command wants to build its own pipeline.)Tj -/TT2 1 Tf --3.6 -3 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(Consider )-65(an )-65(application )-65(that )-65(writes )-65(a )-65(pr)18(ompt )-65(to )-65(standar)]TJ -0.3155 Tc 25.125 0 Td -(do)Tj -0 Tc 1.472 0 Td -[(utput )-65(and )-65(r)18(eads )-65(a )-65(line )-65(fr)16(om)]TJ --26.597 -1.2 Td -(standar)Tj -0.4365 Tc 3.32 0 Td -(di)Tj -0 Tc 1.339 0 Td -[(nput. )-436(W)55(ith )-187(the)]TJ -/TT0 1 Tf -7.453 0 Td -(popen)Tj -/T1_1 1 Tf -3.437 0 Td -[(function, )-187(we )-187(can )-187(interpose )-187(a )-187(pr)18(ogram )-187(between )-187(the)]TJ --15.548 -1.2 Td -[(application )-18(and )-18(its )-18(input )-18(to )-18(transform )-18(the )-18(input.)-515(Figur)]TJ -0.2676 Tc 24.18 0 Td -(e1)Tj -0 Tc 1.247 0 Td -[(5.13 )-18(shows )-18(the )-18(arrangement )-18(of)]TJ --25.426 -1.2 Td -[(pr)18(ocesses in this situation.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47250 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.3)]TJ -/TT0 1 Tf -29.686 0 Td -(popen)Tj -/T1_0 1 Tf -3.5 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(pclose)Tj -/T1_0 1 Tf -4.1 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(545)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(})Tj -0 -2.259 TD -(childpid[fileno\(fp\)] = pid; /* remember child pid for this fd */)Tj -0 -1.189 TD -(return\(fp\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.259 TD -(int)Tj -0 -1.189 TD -(pclose\(FILE *fp\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(fd,)-600(stat;)]TJ -T* -[(pid_t )-1200(pid;)]TJ -0 -2.259 TD -(if \(childpid == NULL\) {)Tj -2.4 -1.189 Td -(errno = EINVAL;)Tj -0 -1.189 TD -[(return\(-1\); )-2400(/*)-600(popen\(\) has never been called */)]TJ --2.4 -1.189 Td -(})Tj -0 -2.259 TD -(fd = fileno\(fp\);)Tj -0 -1.189 TD -(if \(fd >= maxfd\) {)Tj -2.4 -1.189 Td -(errno = EINVAL;)Tj -0 -1.189 TD -[(return\(-1\); )-2400(/*)-600(invalid file descriptor */)]TJ --2.4 -1.189 Td -(})Tj -T* -(if \(\(pid = childpid[fd]\) == 0\) {)Tj -2.4 -1.189 Td -(errno = EINVAL;)Tj -T* -[(return\(-1\); )-2400(/*)-600(fp wasn\325t opened by popen\(\) */)]TJ --2.4 -1.189 Td -(})Tj -0 -2.259 TD -(childpid[fd] = 0;)Tj -0 -1.189 TD -(if \(fclose\(fp\) == EOF\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -2.259 Td -(while \(waitpid\(pid, &stat, 0\) < 0\))Tj -2.4 -1.189 Td -(if \(errno != EINTR\))Tj -2.4 -1.189 Td -(return\(-1\); /* error other than EINTR from waitpid\(\) */)Tj --4.8 -2.259 Td -[(return\(stat\); )-1200(/*)-600(return child\325s termination status */)]TJ --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2878.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 239.3993 271.7564 Tm -(Figure 15.12)Tj -/T1_0 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(popen)Tj -/T1_0 1 Tf -3.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(pclose)Tj -/T1_0 1 Tf -3.85 0 Td -(functions)Tj -9.9988 0 0 9.9988 129.5839 247.7593 Tm -[(Although )-144(the )-144(cor)]TJ -0.3943 Tc 7.807 0 Td -(eo)Tj -0 Tc 1.419 0 Td -(f)Tj -/TT0 1 Tf -0.727 0 Td -(popen)Tj -/T1_0 1 Tf -3.394 0 Td -[(is )-144(similar )-144(to )-144(the )-144(code )-144(we\325ve )-144(used )-144(earlier )-144(in )-144(this )-144(chapter)71(,)]TJ --13.348 -1.2 Td -(ther)Tj -0.2781 Tc 1.764 0 Td -(ea)Tj --0.018 Tc 1.257 0 Td -[(re )-64(m)]TJ -0 Tc 2.017 0 Td -[(any )-28(details )-28(that )-28(we )-28(need )-28(to )-28(take )-28(car)]TJ -0.2781 Tc 15.759 0 Td -(eo)Tj -0 Tc 1.303 0 Td -[(f. )-278(First,)-278(each )-28(time)]TJ -/TT0 1 Tf -8.171 0 Td -(popen)Tj -/T1_0 1 Tf -3.278 0 Td -[(is )-28(called, )-28(we)]TJ --33.55 -1.2 Td -[(have )-23(to )-23(r)18(emember )-23(the )-23(pr)18(ocess )-23(ID )-23(of )-23(the )-23(child )-23(that )-23(we )-23(cr)18(eate )-23(and )-23(either )-23(its )-23(\336le )-23(descriptor)]TJ -0 -1.2 TD -(or)Tj -/TT0 1 Tf -1.398 0 Td -(FILE)Tj -/T1_0 1 Tf -2.857 0 Td -(pointer)Tj -0.7068 Tc 3.146 0 Td -(.W)Tj -0.4568 Tc 1.865 0 Td -(ec)Tj -0 Tc 1.38 0 Td -[(hoose )-207(to )-207(save )-207(the )-207(child\325s )-207(pr)18(ocess )-207(ID )-207(in )-207(the )-207(array)]TJ -/TT0 1 Tf -23.305 0 Td -(childpid)Tj -/T1_0 1 Tf -(,)Tj --33.95 -1.2 Td -[(which )-50(we )-50(index )-50(by )-50(the )-50(\336le )-50(descriptor)]TJ -0.5499 Tc 16.634 0 Td -(.T)Tj -0 Tc 1.413 0 Td -[(his )-50(way)]TJ -0.2999 Tc 3.376 0 Td -(,w)Tj -0 Tc 1.384 0 Td -(hen)Tj -/TT0 1 Tf -1.943 0 Td -(pclose)Tj -/T1_0 1 Tf -3.9 0 Td -[(is )-50(called )-50(with )-50(the)]TJ -/TT0 1 Tf -7.951 0 Td -(FILE)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(pointer )-255(as )-255(its )-255(ar)18(gument, )-255(we )-255(call )-255(the )-255(standar)]TJ -0.5051 Tc 20.822 0 Td -(dI)Tj -0 Tc 1.453 0 Td -[(/O )-255(function)]TJ -/TT0 1 Tf -6.109 0 Td -(fileno)Tj -/T1_0 1 Tf -4.105 0 Td -[(to )-255(get )-255(the )-255(\336le)]TJ --32.49 -1.2 Td -[(descriptor )-271(and )-271(then )-271(have )-271(the )-271(child )-271(pr)20(ocess )-271(ID )-271(for )-271(the )-271(call )-271(to)]TJ -/TT0 1 Tf -29.619 0 Td -(waitpid)Tj -/T1_0 1 Tf -0.7706 Tc (.S)Tj -0 Tc 5.746 0 Td -[(ince )-271(it\325s)]TJ --35.364 -1.2 Td -[(possible )-57(for )-57(a )-57(given )-57(pr)18(ocess )-57(to )-57(call)]TJ -/TT0 1 Tf -15.695 0 Td -(popen)Tj -/T1_0 1 Tf -3.307 0 Td -(mor)Tj -0.3067 Tc 1.806 0 Td -(et)Tj -0 Tc 1.112 0 Td -[(han )-57(once, )-57(we )-57(dynamically )-57(allocate )-57(the)]TJ -/TT0 1 Tf --21.92 -1.2 Td -(childpid)Tj -/T1_0 1 Tf -5.215 0 Td -[(array )-165(\(the )-165(\336rst )-165(time)]TJ -/TT0 1 Tf -9.454 0 Td -(popen)Tj -/T1_0 1 Tf -3.415 0 Td -[(is )-165(called\), )-165(with )-165(r)18(oom )-165(for )-165(as )-165(many )-165(childr)18(en )-165(as)]TJ --18.083 -1.2 Td -(ther)Tj -0.25 Tc 1.764 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(\336)]TJ -0 Tc 1.711 0 Td -(le descriptors.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47251 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.18)]TJ -/TT0 1 Tf -35.803 0 Td -(system)Tj -/T1_0 1 Tf -4.1 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(371)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(POSIX.1 )-31(states )-31(that )-31(if)]TJ -/TT0 1 Tf -9.629 0 Td -(wait)Tj -/T1_0 1 Tf -2.681 0 Td -(or)Tj -/TT0 1 Tf -1.222 0 Td -(waitpid)Tj -/T1_0 1 Tf --0.018 Tc 4.481 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-31(the )-31(status )-31(of )-31(a )-31(child )-31(pr)18(ocess )-31(while)]TJ -/TT0 1 Tf -17.936 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.481 0 Td -(is)Tj --41.285 -1.25 Td -[(pending, )-144(then)]TJ -/TT0 1 Tf -6.709 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.594 0 Td -[(should )-144(not )-144(be )-144(deliver)18(ed )-144(to )-144(the )-144(pr)18(ocess )-144(unless )-144(the )-144(status )-144(of )-144(another)]TJ --11.303 -1.25 Td -[(child )-27(pr)18(ocess )-27(is )-27(also )-27(available.)-528(Fr)18(eeBSD )-27(8.0, )-27(Mac )-27(OS )-27(X )-27(10.6.8, )-27(and )-27(Solaris )-27(10 )-27(all )-27(implement )-27(this)]TJ -0 -1.25 TD -[(semantic. )-643(Linux)-644(3.2.0, )-393(however)]TJ -0.6435 Tc 15.019 0 Td -(,d)Tj -0 Tc 1.504 0 Td -[(oesn\325t )167(\321)]TJ -/TT0 1 Tf -3.802 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf --0.018 Tc 4.843 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(mains )-393(pending )-393(after )-393(the)]TJ -/TT0 1 Tf -12.376 0 Td -(system)Tj -/T1_0 1 Tf --38.4 -1.25 Td -[(function )-35(calls)]TJ -/TT0 1 Tf -6.227 0 Td -(waitpid)Tj -/T1_0 1 Tf -0.2848 Tc (;w)Tj -0 Tc 5.569 0 Td -[(hen )-35(the )-35(signal )-35(is )-35(unblocked, )-35(it )-35(is )-35(deliver)18(ed )-35(to )-35(the )-35(caller)]TJ -0.5348 Tc 24.251 0 Td -(.I)Tj -0 Tc 1.122 0 Td -[(f)-285(we)-285(c)1(alled)]TJ -/TT0 1 Tf --37.168 -1.25 Td -(wait)Tj -/T1_0 1 Tf -2.712 0 Td -[(in )-61(the)]TJ -/TT0 1 Tf -2.883 0 Td -(sig_chld)Tj -/T1_0 1 Tf -5.112 0 Td -[(function )-62(in )-62(Figur)]TJ -0.3116 Tc 7.586 0 Td -(e1)Tj -0 Tc 1.291 0 Td -[(0.26, )-62(a )-62(Linux )-62(system )-62(would )-62(r)20(eturn)]TJ -/TT1 1 Tf -15.712 0 Td -(!)Tj -/T1_0 1 Tf -0.3116 Tc (1w)Tj -0 Tc 2.195 0 Td -(ith)Tj -/TT0 1 Tf -1.511 0 Td -(errno)Tj -/T1_0 1 Tf --39 -1.25 Td -[(set )-28(to)]TJ -/TT0 1 Tf -2.657 0 Td -(ECHILD)Tj -/T1_0 1 Tf -0.2781 Tc (,s)Tj -0 Tc 4.552 0 Td -[(ince )-28(the)]TJ -/TT0 1 Tf -3.739 0 Td -(system)Tj -/T1_0 1 Tf -3.878 0 Td -[(function )-28(alr)18(eady )-28(r)18(etrieved )-28(the )-28(termination )-28(status )-28(of )-28(the )-28(child.)]TJ -9.9994 0 0 9.9994 147.5918 589.9646 Tm -[(Many older texts show the ignoring of the interr)8(upt and quit signals as follows:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 169.1905 573.2656 Tm -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid == 0\) {)Tj -0.6 -1.189 Td -(/* child */)Tj -0 -1.189 TD -(execl\(...\);)Tj -0 -1.189 TD -(_exit\(127\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.378 TD -(/* parent */)Tj -0 -1.189 TD -(old_intr = signal\(SIGINT, SIG_IGN\);)Tj -T* -(old_quit = signal\(SIGQUIT, SIG_IGN\);)Tj -T* -(waitpid\(pid, &status, 0\))Tj -T* -(signal\(SIGINT, old_intr\);)Tj -T* -(signal\(SIGQUIT, old_quit\);)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5929 416.175 Tm -[(The )-128(pr)18(oblem )-128(with )-128(this )-128(sequence )-128(of )-128(code )-128(is )-128(that )-128(we )-128(have )-128(no )-128(guarantee )-128(after )-128(the)]TJ -/TT0 1 Tf -36.6 0 Td -(fork)Tj -/T1_0 1 Tf --0.018 Tc -36.6 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(gar)18(ding )-108(whether )-108(the )-108(par)18(ent )-108(or )-108(child )-108(r)8(uns )-108(\336rst.)-608(If )-108(the )-108(child )-108(r)8(uns )-108(\336rst )-108(and )-108(the )-108(par)19(ent)]TJ --0.856 -1.2 Td -[(doesn\325t )-5(r)8(un )-5(for )-5(some )-5(time )-5(after)72(,)-255(an)-255(i)-1(nterr)8(upt )-5(signal )-5(might )-5(be )-5(generated )-5(befor)]TJ -0.2555 Tc 33.758 0 Td -(et)Tj -0 Tc 1.06 0 Td -[(he )-5(par)18(ent)]TJ --34.818 -1.2 Td -[(is )-203(able )-203(to )-203(change )-203(its )-203(disposition )-203(to )-203(be )-203(ignor)15(ed. )-453(For)-454(this )-203(r)18(eason, )-203(in )-203(Figur)]TJ -0.4534 Tc 33.801 0 Td -(e1)Tj -0 Tc 1.432 0 Td -[(0.28, )-203(we)]TJ --35.234 -1.2 Td -(change the disposition of the signals befor)Tj -0.25 Tc 18.585 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he)Tj -/TT0 1 Tf -1.311 0 Td -(fork)Tj -/T1_0 1 Tf -(.)Tj --19.151 -1.2 Td -[(Note )-80(that )-80(we )-80(have )-80(to )-80(r)18(eset )-80(the )-80(dispositions )-80(of )-80(these )-80(two )-80(signals )-80(in )-80(the )-80(child )-80(befor)14(e)]TJ --1.8 -1.2 Td -[(the )-54(call )-54(to)]TJ -/TT0 1 Tf -4.697 0 Td -(execl)Tj -/T1_0 1 Tf -0.554 Tc (.T)Tj -0 Tc 4.417 0 Td -[(his )-54(allows)]TJ -/TT0 1 Tf -4.791 0 Td -(execl)Tj -/T1_0 1 Tf -3.304 0 Td -[(to )-54(change )-54(their )-54(dispositions )-54(to )-54(the )-54(default, )-54(based)]TJ --17.209 -1.2 Td -[(on the caller)-74(\325s dispositions, as we described in Section 8.10.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3322.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -9.9988 0 0 9.9988 93.5888 299.764 Tm -[(Return V)60(alue fr)20(om)]TJ -/TT3 1 Tf -8.866 0 Td -(system)Tj -/T1_0 1 Tf --5.266 -2.4 Td -[(The )-47(r)18(eturn )-47(value )-47(fr)18(om)]TJ -/TT0 1 Tf -10.201 0 Td -(system)Tj -/T1_0 1 Tf -3.897 0 Td -[(is )-47(the )-47(termination )-47(status )-47(of )-47(the )-47(shell, )-47(which )-47(isn\325t )-47(always)]TJ --14.099 -1.2 Td -[(the )-106(termination )-106(status )-106(of )-106(the )-106(command )-106(string.)]TJ --0.092 Tc 21.475 0 Td -[(We )-291(s)]TJ -0 Tc 2.168 0 Td -[(aw )-107(some )-107(examples )-107(in )-107(Figur)]TJ -0.3566 Tc 12.521 0 Td -(e8)Tj -0 Tc 1.336 0 Td -(.23,)Tj --37.5 -1.2 Td -[(and )-106(the )-106(r)18(esults )-106(wer)17(e)-356(as)-356(we)-356(e)-1(xpected: )-106(if )-106(we )-106(execute )-106(a )-106(simple )-106(command, )-106(such )-106(as)]TJ -/TT0 1 Tf -36.35 0 Td -(date)Tj -/T1_0 1 Tf -(,)Tj --36.35 -1.2 Td -[(the )-435(termination )-435(status )-435(is )-435(0.)-935(Executing )-435(the )-435(shell )-435(command)]TJ -/TT0 1 Tf -29.384 0 Td -[(exit )267(44)]TJ -/T1_0 1 Tf -4.619 0 Td -[(gave )-435(us )-435(a)]TJ --34.002 -1.2 Td -[(termination status of 44.)-500(What happens with signals?)]TJ -1.8 -1.2 Td -[(Let\325s )-68(r)8(un )-68(the )-68(pr)18(ogram )-68(in )-68(Figur)]TJ -0.3177 Tc 13.78 0 Td -(e8)Tj -0 Tc 1.297 0 Td -[(.24 )-68(and )-68(send )-68(some )-68(signals )-68(to )-68(the )-68(command )-68(that\325s)]TJ --16.876 -1.2 Td -(executing:)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5824 187.0775 Tm -($)Tj -/TT3 1 Tf -1.2 0 Td -(tsys "sleep 30")Tj --1.2 -1.189 Td -(\366C)Tj -/TT0 1 Tf -(normal termination, exit status = 130)Tj -/T1_2 1 Tf -24.8 0 Td -[(we pr)18(ess the interrupt key)]TJ -/TT0 1 Tf --24.8 -1.189 Td -($)Tj -/TT3 1 Tf -1.2 0 Td -(tsys "sleep 30")Tj --1.2 -1.189 Td -(\366\\)Tj -/TT0 1 Tf -(sh: 946 Quit)Tj -/T1_2 1 Tf -24.8 0 Td -[(we pr)18(ess the quit key)]TJ -/TT0 1 Tf --24.8 -1.189 Td -(normal termination, exit status = 131)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47252 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(370)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(if \(sigaction\(SIGINT, &ignore, &saveintr\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -(if \(sigaction\(SIGQUIT, &ignore, &savequit\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -[(sigemptyset\(&chldmask\); )-4800(/*)-600(now block SIGCHLD */)]TJ -0 -1.189 TD -(sigaddset\(&chldmask, SIGCHLD\);)Tj -0 -1.189 TD -(if \(sigprocmask\(SIG_BLOCK, &chldmask, &savemask\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -2.14 Td -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -[(status = -1;)-2400(/* probably out of processes */)]TJ -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid == 0\) {)Tj -17.4 0 Td -(/* child */)Tj --16.8 -1.189 Td -(/* restore previous signal actions & reset signal mask */)Tj -T* -(sigaction\(SIGINT, &saveintr, NULL\);)Tj -T* -(sigaction\(SIGQUIT, &savequit, NULL\);)Tj -T* -(sigprocmask\(SIG_SETMASK, &savemask, NULL\);)Tj -0 -2.14 TD -(execl\("/bin/sh", "sh", "-c", cmdstring, \(char *\)0\);)Tj -0 -1.189 TD -[(_exit\(127\); )-2400(/*)-600(exec error */)]TJ -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -17.4 0 Td -(/* parent */)Tj --16.8 -1.189 Td -(while \(waitpid\(pid, &status, 0\) < 0\))Tj -2.4 -1.189 Td -(if \(errno != EINTR\) {)Tj -2.4 -1.189 Td -(status = -1; /* error other than EINTR from waitpid\(\) */)Tj -0 -1.189 TD -(break;)Tj --2.4 -1.189 Td -(})Tj --4.8 -1.189 Td -(})Tj -0 -2.14 TD -(/* restore previous signal actions & reset signal mask */)Tj -0 -1.189 TD -(if \(sigaction\(SIGINT, &saveintr, NULL\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -(if \(sigaction\(SIGQUIT, &savequit, NULL\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -(if \(sigprocmask\(SIG_SETMASK, &savemask, NULL\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -2.14 Td -(return\(status\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2888.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 206.0313 272.8263 Tm -(Figure 10.28)Tj -/T1_1 1 Tf -6.195 0 Td -[(Corr)18(ect POSIX.1 implementation of)]TJ -/TT0 1 Tf -15.884 0 Td -(system)Tj -/T1_1 1 Tf -3.85 0 Td -(function)Tj -9.9988 0 0 9.9988 129.5846 245.2296 Tm -[(If )-2(we )-2(link )-2(the )-2(pr)18(ogram )-2(in )-2(Figur)]TJ -0.252 Tc 13.716 0 Td -(e1)Tj -0 Tc 1.231 0 Td -[(0.26 )-2(with )-2(this )-2(implementation )-2(of )-2(the)]TJ -/TT0 1 Tf -16.244 0 Td -(system)Tj -/T1_1 1 Tf -3.852 0 Td -(function,)Tj --35.043 -1.2 Td -[(the r)18(esulting binary dif)18(fers fr)18(om the last \(\337awed\) one in the following ways.)]TJ -1.8 -2.04 Td -[(1. )-633(No)-476(signal )-226(is )-226(sent )-226(to )-226(the )-226(calling )-226(pr)18(ocess )-226(when )-226(we )-226(type )-226(the )-226(interr)8(upt )-226(or )-226(quit)]TJ -1.633 -1.2 Td -[(character)74(.)]TJ --1.633 -1.6 Td -[(2. )-633(When)-555(the)]TJ -/TT0 1 Tf -6.774 0 Td -(ed)Tj -/T1_1 1 Tf -1.755 0 Td -[(command )-305(exits,)]TJ -/TT0 1 Tf -7.846 0 Td -(SIGCHLD)Tj -/T1_1 1 Tf -4.755 0 Td -[(is )-305(not )-305(sent )-305(to )-305(the )-305(calling )-305(pr)17(ocess.)]TJ --19.497 -1.2 Td -[(Instead, )-76(it )-76(is )-76(blocked )-76(until )-76(we )-76(unblock )-76(it )-76(in )-76(the )-76(last )-76(call )-76(to)]TJ -/TT0 1 Tf -26.357 0 Td -(sigprocmask)Tj -/T1_1 1 Tf -0.3262 Tc (,a)Tj -0 Tc 7.676 0 Td -(fter)Tj --34.034 -1.2 Td -(the)Tj -/TT0 1 Tf -2.152 0 Td -(system)Tj -/T1_1 1 Tf -4.365 0 Td -[(function )-515(r)18(etrieves )-515(the )-515(child\325s )-515(termination )-515(status )-515(by )-515(calling)]TJ -/TT0 1 Tf --6.516 -1.2 Td -(waitpid)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47253 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(9.8)]TJ -38.524 0 Td -[(Job )-250(Contr)18(ol)]TJ -/T1_1 1 Tf -7.309 0 Td -(301)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 670.2598 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(fg %1)Tj -/T1_2 1 Tf -14.8 0 Td -[(bring job number 1 into the for)18(egr)18(ound)]TJ -/TT0 1 Tf --16 -1.189 Td -(cat > temp.foo)Tj -/T1_2 1 Tf -16 0 Td -[(the shell tells us which job is now in the for)18(egr)18(ound)]TJ -/TT1 1 Tf --16 -1.189 Td -(hello, world)Tj -/T1_2 1 Tf -16 0 Td -(enter one line)Tj -/TT1 1 Tf --16 -1.189 Td -(\366D)Tj -/T1_2 1 Tf -16 0 Td -(type the end-of-\336le character)Tj -/TT0 1 Tf --16 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(cat temp.foo)Tj -/T1_2 1 Tf -14.8 0 Td -(check that the one line was put into the \336le)Tj -/TT0 1 Tf --16 -1.189 Td -(hello, world)Tj -/T1_0 1 Tf -7.9995 0 0 7.9995 183.589 595.5643 Tm -[(Note )-189(that )-189(this )-189(example )-189(doesn\325t )-189(work )-189(on )-189(Mac )-189(OS )-189(X )-189(10.6.8.)-694(When )-189(we )-189(try )-189(to )-189(bring )-189(the)]TJ -/TT0 1 Tf -40.201 0 Td -(cat)Tj -/T1_0 1 Tf --40.201 -1.25 Td -[(command )-125(into )-125(the )-125(for)19(egr)18(ound, )-125(the)]TJ -/TT0 1 Tf -16.101 0 Td -(read)Tj -/T1_0 1 Tf -2.775 0 Td -[(fails )-125(with)]TJ -/TT0 1 Tf -4.621 0 Td -(errno)Tj -/T1_0 1 Tf -3.375 0 Td -[(set )-125(to)]TJ -/TT0 1 Tf -2.85 0 Td -(EINTR)Tj -/T1_0 1 Tf -0.6248 Tc (.S)Tj -0 Tc 4.4 0 Td -[(ince )-125(Mac )-125(OS )-125(X )-125(is)]TJ --34.122 -1.25 Td -[(based on Fr)18(eeBSD, and Fr)18(eeBSD works as expected, this must be a bug in Mac OS X.)]TJ -9.9994 0 0 9.9994 129.5923 553.5668 Tm -[(The )-216(shell )-216(starts )-216(the)]TJ -/TT0 1 Tf -9.387 0 Td -(cat)Tj -/T1_0 1 Tf -2.266 0 Td -[(pr)18(ocess )-216(in )-216(the )-216(backgr)18(ound, )-216(but )-216(when)]TJ -/TT0 1 Tf -17.888 0 Td -(cat)Tj -/T1_0 1 Tf -2.266 0 Td -[(tries )-216(to )-216(r)18(ead )-216(its)]TJ --31.807 -1.2 Td -(standar)Tj -0.5187 Tc 3.32 0 Td -(di)Tj -0 Tc 1.421 0 Td -[(nput )-269(\(the )-269(contr)18(olling )-269(terminal\), )-269(the )-269(terminal )-269(driver)]TJ -0.5188 Tc 23.902 0 Td -(,k)Tj -0 Tc 1.325 0 Td -[(nowing )-269(that )-269(it )-269(is )-269(a)]TJ --29.968 -1.2 Td -[(backgr)18(ound )-17(job, )-17(sends )-17(the)]TJ -/TT0 1 Tf -11.884 0 Td -(SIGTTIN)Tj -/T1_0 1 Tf -4.467 0 Td -[(signal )-16(to )-16(the )-16(backgr)18(ound )-16(job.)-516(The )-16(shell )-16(detects )-16(this)]TJ --16.351 -1.2 Td -[(change )-30(in )-30(status )-30(of )-30(its )-30(child )-30(\(r)17(ecall )-30(our )-30(discussion )-30(of )-30(the)]TJ -/TT0 1 Tf -25.006 0 Td -(wait)Tj -/T1_0 1 Tf -2.68 0 Td -(and)Tj -/TT0 1 Tf -1.973 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.48 0 Td -[(function )-30(in)]TJ --34.14 -1.2 Td -[(Section )-88(8.6\) )-88(and )-88(tells )-88(us )-88(that )-88(the )-88(job )-88(has )-88(been )-88(stopped.)]TJ --0.092 Tc 25.171 0 Td -[(We )-272(t)]TJ -0 Tc 2.051 0 Td -[(hen )-88(move )-88(the )-88(stopped )-88(job)]TJ --27.223 -1.2 Td -[(into )-137(the )-137(for)18(egr)18(ound )-137(with )-137(the )-137(shell\325s)]TJ -/TT0 1 Tf -16.653 0 Td -(fg)Tj -/T1_0 1 Tf -1.587 0 Td -[(command. )-387(\(Refer)-387(to )-137(the )-137(manual )-137(page )-137(for )-137(the)]TJ --18.24 -1.2 Td -[(shell )-68(that )-68(you )-68(ar)]TJ -0.3183 Tc 7.338 0 Td -(eu)Tj -0 Tc 1.4 0 Td -[(sing )-68(for )-68(all )-68(the )-68(details )-68(on )-68(its )-68(job )-68(contr)18(ol )-68(commands, )-68(such )-68(as)]TJ -/TT0 1 Tf -27.05 0 Td -(fg)Tj -/T1_0 1 Tf -1.518 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(bg)Tj -/T1_0 1 Tf -0.3432 Tc (,a)Tj -0 Tc 2.293 0 Td -[(nd )-93(the )-93(various )-93(ways )-93(to )-93(identify )-93(the )-93(dif)17(fer)18(ent )-93(jobs.\))-593(Doing )-93(this )-93(causes )-93(the )-93(shell )-93(to)]TJ --2.293 -1.2 Td -[(place )-146(the )-146(job )-146(into )-146(the )-146(for)19(egr)18(ound )-146(pr)18(ocess )-146(gr)18(oup )-146(\()]TJ -/TT0 1 Tf -22.655 0 Td -(tcsetpgrp)Tj -/T1_0 1 Tf -0.3958 Tc (\)a)Tj -0 Tc 6.629 0 Td -[(nd )-146(send )-146(the )-146(continue)]TJ --29.284 -1.2 Td -[(signal )-10(\()]TJ -/TT0 1 Tf -(SIGCONT)Tj -/T1_0 1 Tf -[(\))-260(to)-260(the )-10(pr)18(ocess )-10(gr)18(oup. )-260(Since)-260(it )-10(is )-10(now )-10(in )-10(the )-10(for)18(egr)18(ound )-10(pr)18(ocess )-10(gr)18(oup,)]TJ --0 -1.2 Td -[(the job can r)18(ead fr)18(om the contr)18(olling terminal.)]TJ -1.8 -1.2 Td -[(What )-199(happens )-199(if )-199(a )-199(backgr)18(ound )-199(job )-199(sends )-199(its )-199(output )-199(to )-199(the )-199(contr)16(olling )-199(terminal?)]TJ --1.8 -1.2 Td -[(This )-323(is )-323(an )-323(option )-323(that )-323(we )-323(can )-323(allow )-323(or )-323(disallow)]TJ -0.8232 Tc 23.43 0 Td -(.N)Tj -0 Tc 1.904 0 Td -[(ormally)111(,)-573(we)-573(use )-323(the)]TJ -/TT0 1 Tf -10.1 0 Td -(stty)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj --38.667 -1.24 Td -[(command )-216(to )-216(change )-216(this )-216(option.)-717(\(W)92(e\325ll )-216(see )-216(in )-216(Chapter )-216(18 )-216(how )-216(we )-216(can )-216(change )-216(this)]TJ -0 -1.2 Td -[(option fr)18(om a pr)18(ogram.\) )-250(The)-250(following example shows how this works:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5915 368.8779 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(cat temp.foo &)Tj -/T1_2 1 Tf -12.4 0 Td -[(execute in backgr)18(ound)]TJ -/TT0 1 Tf --13.6 -1.189 Td -[([1] )-2400(1719)]TJ -0.6 Tc 0 -1.189 TD -($h)Tj -0 Tc 1.8 0 Td -(ello, world)Tj -/T1_2 1 Tf -11.8 0 Td -[(the output fr)18(om the backgr)18(ound job appears after the pr)18(ompt)]TJ -T* -[(we pr)18(ess RETURN)]TJ -/TT0 1 Tf --13.6 -1.189 Td -[([1] +)-1200(Done )-3600(cat)-600(temp.foo &)]TJ -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(stty tostop)Tj -/T1_2 1 Tf -12.4 0 Td -[(disable ability of backgr)18(ound jobs to output to contr)18(olling terminal)]TJ -/TT0 1 Tf --13.6 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(cat temp.foo &)Tj -/T1_2 1 Tf -12.4 0 Td -[(try it again in the backgr)18(ound)]TJ -/TT0 1 Tf --13.6 -1.189 Td -[([1] )-2400(1721)]TJ -0 -1.189 TD -($)Tj -/T1_2 1 Tf -13.6 0 Td -[(we pr)18(ess RETURN and \336nd the job is stopped)]TJ -/TT0 1 Tf --13.6 -1.189 Td -[([1] + Stopped\(SIGTTOU\))-3600(cat temp.foo &)]TJ -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(fg %1)Tj -/T1_2 1 Tf --0.018 Tc 12.4 0 Td -(re)Tj -0 Tc 0.76 0 Td -[(sume stopped job in the for)18(egr)18(ound)]TJ -/TT0 1 Tf --14.36 -1.189 Td -(cat temp.foo)Tj -/T1_2 1 Tf -13.6 0 Td -[(the shell tells us which job is now in the for)18(egr)18(ound)]TJ -/TT0 1 Tf --13.6 -1.189 Td -(hello, world)Tj -/T1_2 1 Tf -13.6 0 Td -[(and her)18(e)-250(is)-250(its output)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5925 222.4866 Tm -[(When )-97(we )-97(disallow )-97(backgr)18(ound )-97(jobs )-97(fr)18(om )-97(writing )-97(to )-97(the )-97(contr)20(olling )-97(terminal,)]TJ -/TT0 1 Tf -35.146 0 Td -(cat)Tj -/T1_0 1 Tf -2.147 0 Td -(will)Tj --37.293 -1.2 Td -[(block )-26(when )-26(it )-26(tries )-26(to )-26(write )-26(to )-26(its )-26(standar)]TJ -0.2761 Tc 18.038 0 Td -(do)Tj -0 Tc 1.433 0 Td -[(utput, )-26(because )-26(the )-26(terminal )-26(driver )-26(identi\336es)]TJ --19.471 -1.2 Td -[(the )-63(write )-63(as )-63(coming )-63(fr)17(om )-63(a )-63(backgr)18(ound )-63(pr)18(ocess )-63(and )-63(sends )-63(the )-63(job )-63(the)]TJ -/TT0 1 Tf -31.592 0 Td -(SIGTTOU)Tj -/T1_0 1 Tf -4.513 0 Td -(signal.)Tj --36.106 -1.2 Td -[(As )-112(with )-112(the )-112(pr)19(evious )-111(example, )-111(when )-111(we )-111(use )-111(the )-111(shell\325s)]TJ -/TT0 1 Tf -25.574 0 Td -(fg)Tj -/T1_0 1 Tf -1.561 0 Td -[(command )-111(to )-111(bring )-111(the )-111(job)]TJ --27.136 -1.2 Td -[(into the for)18(egr)18(ound, the job completes.)]TJ -1.8 -1.2 Td -(Figur)Tj -0.65 Tc 2.383 0 Td -(e9)Tj -0 Tc 1.629 0 Td -[(.9 )-400(summarizes )-400(some )-400(of )-400(the )-400(featur)18(es )-400(of )-400(job )-400(contr)18(ol )-400(that )-400(we\325ve )-400(been)]TJ --5.812 -1.2 Td -[(describing. )-298(The)-298(solid )-48(lines )-48(thr)18(ough )-48(the )-48(terminal )-48(driver )-48(box )-48(mean )-48(that )-48(the )-48(terminal )-48(I/O)]TJ --0 -1.2 Td -[(and )-108(the )-108(terminal-generated )-108(signals )-108(ar)]TJ -0.358 Tc 16.944 0 Td -(ea)Tj -0 Tc 1.337 0 Td -[(lways )-108(connected )-108(fr)18(om )-108(the )-108(for)18(egr)18(ound )-108(pr)18(ocess)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47254 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(294)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Relationships)]TJ -39.241 0 Td -[(Chapter )-250(9)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -1.902 TD -(pid_t getpgid\(pid_t)Tj -/T1_2 1 Tf -12 0 Td -(pid)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -7.762 -1.902 Td -[(Returns: pr)18(ocess gr)18(oup ID if OK,)]TJ -/TT1 1 Tf -14.702 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6195.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 603.5876 Tm -(If)Tj -/T1_2 1 Tf -0.92 0 Td -(pid)Tj -/T1_1 1 Tf -1.528 0 Td -[(is 0, the pr)18(ocess gr)18(oup ID of the calling pr)18(ocess is r)18(eturned. )-250(Thus)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 172.5794 585.8194 Tm -(getpgid\(0\);)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5845 566.7518 Tm -(is equivalent to)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 172.5794 548.984 Tm -(getpgrp\(\);)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5824 529.9164 Tm -[(Each )-50(pr)18(ocess )-50(gr)18(oup )-50(can )-50(have )-50(a )-50(pr)16(ocess )-50(gr)18(oup )-50(leader)]TJ -0.5504 Tc 23.329 0 Td -(.T)Tj -0 Tc 1.413 0 Td -[(he )-50(leader )-50(is )-50(identi\336ed )-50(by )-50(its)]TJ --26.542 -1.2 Td -[(pr)18(ocess gr)18(oup ID being equal to its pr)18(ocess ID.)]TJ -1.8 -1.2 Td -[(It )-5(is )-5(possible )-5(for )-5(a )-5(pr)18(ocess )-5(gr)18(oup )-5(leader )-5(to )-5(cr)18(eate )-5(a )-5(pr)18(ocess )-5(gr)18(oup, )-5(cr)18(eate )-5(pr)18(ocesses )-5(in)]TJ --1.8 -1.2 Td -[(the )-150(gr)18(oup, )-150(and )-150(then )-150(terminate.)-650(The )-150(pr)18(ocess )-150(gr)20(oup )-150(still )-150(exists, )-150(as )-150(long )-150(as )-150(at )-150(least )-150(one)]TJ -0 -1.2 TD -[(pr)18(ocess )-218(is )-218(in )-218(the )-218(gr)18(oup, )-218(r)17(egar)18(dless )-218(of )-218(whether )-218(the )-218(gr)18(oup )-218(leader )-218(terminates.)-718(This )-218(is)]TJ -T* -[(called )-168(the )-168(pr)18(ocess )-168(gr)18(oup )-168(lifetime)]TJ -0.0833 Tc 15.108 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-168(period )-168(of )-168(time )-168(that )-168(begins )-168(when )-168(the )-168(gr)20(oup )-168(is)]TJ --16.517 -1.2 Td -[(cr)18(eated )-34(and )-34(ends )-34(when )-34(the )-34(last )-34(r)19(emaining )-34(pr)18(ocess )-34(leaves )-34(the )-34(gr)19(oup. )-284(The)-284(last )-34(r)18(emaining)]TJ -0 -1.2 Td -[(pr)18(ocess in the pr)18(ocess gr)18(oup can either terminate or enter some other pr)18(ocess gr)18(oup.)]TJ -0.2941 Tc 1.8 -1.2 Td -(Ap)Tj --0.018 Tc 1.673 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-44(joins )-44(an )-44(existing )-44(pr)18(ocess )-44(gr)18(oup )-44(or )-44(cr)17(eates )-44(a )-44(new )-44(pr)18(ocess )-44(gr)18(oup )-44(by )-44(calling)]TJ -/TT0 1 Tf --4.396 -1.2 Td -(setpgid)Tj -/T1_1 1 Tf -0.5201 Tc (.\()Tj -0 Tc 5.303 0 Td -[(In )-20(the )-20(next )-20(section, )-20(we\325ll )-20(see )-20(that)]TJ -/TT0 1 Tf -14.731 0 Td -(setsid)Tj -/T1_1 1 Tf -3.87 0 Td -[(also )-20(cr)18(eates )-20(a )-20(new )-20(pr)18(ocess )-20(gr)18(oup.\))]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5829 402.8317 Tm -(#include )Tj -0 -1.902 TD -(int setpgid\(pid_t)Tj -/T1_2 1 Tf -10.8 0 Td -(pid)Tj -/TT0 1 Tf -0.6 Tc (,p)Tj -0 Tc 3.078 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(pgid)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -9.973 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3641.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 348.1773 Tm -[(This )-78(function )-78(sets )-78(the )-78(pr)18(ocess )-78(gr)18(oup )-78(ID )-78(to)]TJ -/T1_2 1 Tf -19.242 0 Td -(pgid)Tj -/T1_1 1 Tf -2.106 0 Td -[(in )-78(the )-78(pr)18(ocess )-78(whose )-78(pr)18(ocess )-78(ID )-78(equals)]TJ -/T1_2 1 Tf --21.348 -1.2 Td -(pid)Tj -/T1_1 1 Tf -0.6846 Tc (.I)Tj -0.4346 Tc 2.55 0 Td -(ft)Tj -0 Tc 1.094 0 Td -[(he )-185(two )-185(ar)18(guments )-185(ar)]TJ -0.4346 Tc 9.678 0 Td -(ee)Tj -0 Tc 1.393 0 Td -[(qual, )-185(the )-185(pr)18(ocess )-185(speci\336ed )-185(by)]TJ -/T1_2 1 Tf -14.102 0 Td -(pid)Tj -/T1_1 1 Tf -1.712 0 Td -[(becomes )-184(a )-184(pr)17(ocess)]TJ --30.528 -1.2 Td -[(gr)18(oup )-5(leader)]TJ -0.5047 Tc 5.619 0 Td -(.I)Tj -0 Tc 1.092 0 Td -(f)Tj -/T1_2 1 Tf -0.588 0 Td -(pid)Tj -/T1_1 1 Tf -1.533 0 Td -[(is )-5(0, )-5(the )-5(pr)18(ocess )-5(ID )-5(of )-5(the )-5(caller )-5(is )-5(used.)-505(Also, )-5(if)]TJ -/T1_2 1 Tf -21.225 0 Td -(pgid)Tj -/T1_1 1 Tf -2.033 0 Td -[(is )-5(0, )-5(the )-5(pr)19(ocess)]TJ --32.089 -1.2 Td -(ID speci\336ed by)Tj -/T1_2 1 Tf -6.904 0 Td -(pid)Tj -/T1_1 1 Tf -1.528 0 Td -[(is used as the pr)18(ocess gr)18(oup ID.)]TJ -0.5662 Tc -6.632 -1.2 Td -(Ap)Tj --0.018 Tc 1.945 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-316(can )-316(set )-316(the )-316(pr)17(ocess )-316(gr)18(oup )-316(ID )-316(of )-316(only )-316(itself )-316(or )-316(any )-316(of )-316(its )-316(childr)17(en.)]TJ --4.668 -1.2 Td -[(Furthermor)18(e, )-64(it )-64(can\325t )-64(change )-64(the )-64(pr)17(ocess )-64(gr)18(oup )-64(ID )-64(of )-64(one )-64(of )-64(its )-64(childr)18(en )-64(after )-64(that )-64(child)]TJ --0 -1.2 Td -(has called one of the)Tj -/TT0 1 Tf -9.245 0 Td -(exec)Tj -/T1_1 1 Tf -2.65 0 Td -(functions.)Tj --10.095 -1.2 Td -[(In )-51(most )-51(job-contr)18(ol )-51(shells, )-51(this )-51(function )-51(is )-51(called )-51(after )-51(a)]TJ -/TT0 1 Tf -24.818 0 Td -(fork)Tj -/T1_1 1 Tf -2.701 0 Td -[(to )-51(have )-51(the )-51(par)18(ent )-51(set)]TJ --29.319 -1.2 Td -[(the )-98(pr)18(ocess )-98(gr)18(oup )-98(ID )-98(of )-98(the )-98(child, )-98(and )-98(to )-98(have )-98(the )-98(child )-98(set )-98(its )-98(own )-98(pr)18(ocess )-98(gr)18(oup )-98(ID.)]TJ -0 -1.2 TD -[(One )-76(of )-76(these )-76(calls )-76(is )-76(r)18(edundant, )-76(but )-76(by )-76(doing )-76(both, )-76(we )-76(ar)]TJ -0.3255 Tc 25.808 0 Td -(eg)Tj -0 Tc 1.361 0 Td -[(uaranteed )-75(that )-75(the )-75(child )-75(is)]TJ --27.168 -1.2 Td -[(placed )-15(into )-15(its )-15(own )-15(pr)18(ocess )-15(gr)18(oup )-15(befor)]TJ -0.2653 Tc 17.532 0 Td -(ee)Tj -0 Tc 1.223 0 Td -[(ither )-15(pr)18(ocess )-15(assumes )-15(that )-15(this )-15(has )-15(happened.)]TJ --18.755 -1.2 Td -[(If )-128(we )-128(didn\325t )-128(do )-128(this, )-128(we )-128(would )-128(have )-128(a )-128(race )-128(condition, )-128(since )-128(the )-128(child\325s )-128(pr)17(ocess )-128(gr)18(oup)]TJ -0 -1.2 Td -[(membership would depend on which pr)18(ocess executes \336rst.)]TJ -1.8 -1.2 Td -[(When )-187(we )-187(discuss )-187(signals, )-187(we\325ll )-187(see )-187(how )-187(we )-187(can )-187(send )-187(a )-187(signal )-187(to )-187(either )-187(a )-187(single)]TJ --1.8 -1.2 Td -[(pr)18(ocess )-39(\(identi\336ed )-39(by )-39(its )-39(pr)18(ocess )-39(ID\) )-39(or )-39(a )-39(pr)18(ocess )-39(gr)18(oup )-39(\(identi\336ed )-39(by )-39(its )-39(pr)18(ocess )-39(gr)11(oup)]TJ -0 -1.2 Td -[(ID\). )-398(Similarly)]TJ -0.3979 Tc 6.254 0 Td -(,t)Tj -0 Tc 0.974 0 Td -(he)Tj -/TT0 1 Tf -1.459 0 Td -(waitpid)Tj -/T1_1 1 Tf -4.598 0 Td -[(function )-148(fr)18(om )-148(Section )-148(8.6 )-148(lets )-148(us )-148(wait )-148(for )-148(either )-148(a )-148(single)]TJ --13.285 -1.2 Td -[(pr)18(ocess or one pr)18(ocess fr)18(om a speci\336ed pr)18(ocess gr)18(oup.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47255 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.13)]TJ -/TT0 1 Tf -35.803 0 Td -(system)Tj -/T1_0 1 Tf -4.1 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(265)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -2.14 TD -(int system\(const char *)Tj -/T1_2 1 Tf -(cmdstring)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -30.355 -2.14 Td -(Returns: \(see below\))Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6153.25 cm -0 0 m -0 520 l -3900 520 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 595.7085 Tm -(If)Tj -/T1_2 1 Tf -0.965 0 Td -(cmdstring)Tj -/T1_0 1 Tf -4.425 0 Td -[(is )-45(a )-45(null )-45(pointer)73(,)]TJ -/TT0 1 Tf -7.56 0 Td -(system)Tj -/T1_0 1 Tf --0.018 Tc 3.895 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-45(nonzer)]TJ -0.2954 Tc 5.691 0 Td -(oo)Tj -0 Tc 1.387 0 Td -[(nly )-45(if )-45(a )-45(command )-45(pr)16(ocessor)]TJ --26.581 -1.2 Td -[(is )-130(available.)-630(This )-130(featur)]TJ -0.3799 Tc 10.853 0 Td -(ed)Tj -0 Tc 1.47 0 Td -[(etermines )-130(whether )-130(the)]TJ -/TT0 1 Tf -10.542 0 Td -(system)Tj -/T1_0 1 Tf -3.98 0 Td -[(function )-130(is )-130(supported )-130(on )-130(a)]TJ --26.844 -1.2 Td -[(given operating system.)-500(Under the UNIX System,)]TJ -/TT0 1 Tf -22.379 0 Td -(system)Tj -/T1_0 1 Tf -3.85 0 Td -(is always available.)Tj --24.429 -1.2 Td -(Because)Tj -/TT0 1 Tf -3.934 0 Td -(system)Tj -/T1_0 1 Tf -3.994 0 Td -[(is )-144(implemented )-144(by )-144(calling)]TJ -/TT0 1 Tf -12.26 0 Td -(fork)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.044 0 Td -(exec)Tj -/T1_0 1 Tf -0.394 Tc (,a)Tj -0 Tc 3.544 0 Td -(nd)Tj -/TT0 1 Tf -1.587 0 Td -(waitpid)Tj -/T1_0 1 Tf -0.394 Tc (,t)Tj -0 Tc 5.17 0 Td -(her)Tj -0.394 Tc 1.438 0 Td -(ea)Tj --0.018 Tc 1.373 0 Td -(re)Tj -0 Tc -38.144 -1.2 Td -[(thr)18(ee types of r)18(eturn values.)]TJ -1.8 -2.04 Td -[(1. )-633(If)-304(either )-54(the)]TJ -/TT0 1 Tf -7.153 0 Td -(fork)Tj -/T1_0 1 Tf -2.704 0 Td -[(fails )-54(or)]TJ -/TT0 1 Tf -3.388 0 Td -(waitpid)Tj -/T1_0 1 Tf --0.018 Tc 4.504 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-54(an )-54(err)18(or )-54(other )-54(than)]TJ -/TT0 1 Tf -11.442 0 Td -(EINTR)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.554 0 Td -(system)Tj -/T1_0 1 Tf --0.018 Tc -31.967 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -/TT1 1 Tf -2.58 0 Td -(!)Tj -/T1_0 1 Tf -0.25 Tc (1w)Tj -0 Tc 2.133 0 Td -(ith)Tj -/TT0 1 Tf -1.449 0 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -[(set to indicate the err)18(or)74(.)]TJ --11.901 -1.84 Td -[(2. )-633(If)-280(the)]TJ -/TT0 1 Tf -4.251 0 Td -(exec)Tj -/T1_0 1 Tf -2.681 0 Td -[(fails, )-30(implying )-30(that )-30(the )-30(shell )-30(can\325t )-30(be )-30(executed, )-30(the )-30(r)14(eturn )-30(value )-30(is )-30(as)]TJ --5.298 -1.2 Td -(if the shell had executed)Tj -/TT0 1 Tf -10.958 0 Td -(exit\(127\))Tj -/T1_0 1 Tf -(.)Tj --12.591 -1.84 Td -[(3. )-633(Otherwise,)-366(all )-116(thr)18(ee )-116(functions)-82(\321)]TJ -/TT0 1 Tf -16.198 0 Td -(fork)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.016 0 Td -(exec)Tj -/T1_0 1 Tf -0.3656 Tc (,a)Tj -0 Tc 3.516 0 Td -(nd)Tj -/TT0 1 Tf -1.559 0 Td -(waitpid)Tj -/T1_0 1 Tf -0.0833 Tc 4.283 0 Td -(\321s)Tj -0 Tc 1.507 0 Td -[(ucceed, )-116(and )-116(the)]TJ --0.018 Tc -28.446 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-127(value )-127(fr)19(om)]TJ -/TT0 1 Tf -7.613 0 Td -(system)Tj -/T1_0 1 Tf -3.977 0 Td -[(is )-127(the )-127(termination )-127(status )-127(of )-127(the )-127(shell, )-127(in )-127(the )-127(format)]TJ --12.446 -1.2 Td -(speci\336ed for)Tj -/TT0 1 Tf -5.708 0 Td -(waitpid)Tj -/T1_0 1 Tf -(.)Tj -7.999 0 0 7.999 201.576 421.3294 Tm -[(Some )-264(older )-264(implementations )-264(of)]TJ -/TT0 1 Tf -15.176 0 Td -(system)Tj -/T1_0 1 Tf --0.018 Tc 4.114 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turned )-264(an )-264(err)18(or )-264(\()]TJ -/TT0 1 Tf -8.146 0 Td -(EINTR)Tj -/T1_0 1 Tf -0.5144 Tc (\)i)Tj -0 Tc 4.138 0 Td -(f)Tj -/TT0 1 Tf -0.847 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.714 0 Td -(was)Tj --37.992 -1.25 Td -[(interr)8(upted )-18(by )-18(a )-18(caught )-18(signal.)-518(Because )-18(ther)16(e)-268(is)-268(no)-268(s)-1(trategy )-18(that )-18(an )-18(application )-18(can )-18(use )-18(to)]TJ --0.018 Tc 0 -1.25 TD -(re)Tj -0 Tc 0.856 0 Td -[(cover )-167(fr)18(om )-167(this )-167(type )-167(of )-167(err)18(or )-167(\(the )-167(pr)15(ocess )-167(ID )-167(of )-167(the )-167(child )-167(is )-167(hidden )-167(fr)18(om )-167(the )-167(caller\),)]TJ --0.856 -1.25 Td -[(POSIX )-166(later )-166(added )-166(the )-166(r)20(equir)18(ement )-166(that)]TJ -/TT0 1 Tf -18.773 0 Td -(system)Tj -/T1_0 1 Tf -4.016 0 Td -[(not )-166(r)18(eturn )-165(an )-165(err)18(or )-165(in )-165(this )-165(case.)-668(\(W)92(e)]TJ --22.788 -1.25 Td -[(discuss interr)8(upted system calls in Section 10.5.\))]TJ -9.9988 0 0 9.9988 147.5824 357.3371 Tm -(Figur)Tj -0.2875 Tc 2.383 0 Td -(e8)Tj -0 Tc 1.266 0 Td -[(.22 )-38(shows )-38(an )-38(implementation )-38(of )-38(the)]TJ -/TT0 1 Tf -16.194 0 Td -(system)Tj -/T1_0 1 Tf -3.888 0 Td -[(function. )-288(The)-287(one )-38(featur)]TJ -0.2876 Tc 10.969 0 Td -(et)Tj -0 Tc 1.093 0 Td -(hat)Tj --37.592 -1.2 Td -[(it )-381(doesn\325t )-381(handle )-381(is )-381(signals.)]TJ --0.092 Tc 14.344 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-381(update )-381(this )-381(function )-381(with )-381(signal )-381(handling )-381(in)]TJ --15.731 -1.2 Td -(Section 10.18.)Tj -1.8 -1.2 Td -[(The )-19(shell\325s)]TJ -/TT0 1 Tf -4.981 0 Td -(-c)Tj -/T1_0 1 Tf -1.469 0 Td -[(option )-19(tells )-19(it )-19(to )-19(take )-19(the )-19(next )-19(command)]TJ -17.676 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-19(ar)18(gument\321)]TJ -/T1_2 1 Tf -(cmdstring)Tj -/T1_0 1 Tf -0.2692 Tc (,i)Tj -0 Tc 12.158 0 Td -(n)Tj --38.418 -1.2 Td -[(this )-2(case)]TJ -0.0833 Tc 3.806 0 Td -(\321a)Tj -0.2524 Tc 1.583 0 Td -(si)Tj -0 Tc 0.967 0 Td -[(ts )-2(command )-2(input )-2(instead )-2(of )-2(r)18(eading )-2(fr)18(om )-2(standar)]TJ -0.2523 Tc 22.315 0 Td -(di)Tj -0 Tc 1.154 0 Td -[(nput )-2(or )-2(fr)18(om )-2(a )-2(given)]TJ --29.826 -1.2 Td -[(\336le. )-525(The)-526(shell )-275(parses )-275(this )-275(null-terminated )-275(C )-275(string )-275(and )-275(br)18(eaks )-275(it )-275(up )-275(into )-275(separate)]TJ -0 -1.2 TD -(command)Tj -4.449 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-58(ar)18(guments )-58(for )-58(the )-58(command.)-558(The )-58(actual )-58(command )-58(string )-58(that )-58(is )-58(passed)]TJ --4.782 -1.2 Td -[(to )-207(the )-207(shell )-207(can )-207(contain )-207(any )-207(valid )-207(shell )-207(commands.)-709(For )-207(example, )-207(input )-207(and )-207(output)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(dir)18(ection using)]TJ -/TT0 1 Tf -6.903 0 Td -(<)Tj -/T1_0 1 Tf -0.85 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(>)Tj -/T1_0 1 Tf -0.85 0 Td -(can be used.)Tj --9.602 -1.2 Td -[(If )-329(we )-329(didn\325t )-329(use )-329(the )-329(shell )-329(to )-329(execute )-329(the )-329(command, )-329(but )-329(tried )-329(to )-329(execute )-329(the)]TJ --1.8 -1.2 Td -[(command )-173(ourself, )-173(it )-173(would )-173(be )-173(mor)]TJ -0.4227 Tc 16.224 0 Td -(ed)Tj -0 Tc 1.513 0 Td -[(if)18(\336cult. )-423(First,)-422(we )-173(would )-173(want )-173(to )-173(call)]TJ -/TT0 1 Tf -17.414 0 Td -(execlp)Tj -/T1_0 1 Tf -(,)Tj --35.15 -1.2 Td -[(instead )-38(of)]TJ -/TT0 1 Tf -4.667 0 Td -(execl)Tj -/T1_0 1 Tf -[(,)-288(to)-288(u)1(se )-38(the)]TJ -/TT0 1 Tf -8.166 0 Td -(PATH)Tj -/T1_0 1 Tf -2.688 0 Td -[(variable, )-38(like )-38(the )-38(shell.)]TJ --0.092 Tc 10.545 0 Td -[(We )-222(w)]TJ -0 Tc 2.509 0 Td -[(ould )-38(also )-38(have )-38(to )-38(br)20(eak)]TJ --28.575 -1.2 Td -[(up )-124(the )-124(null-terminated )-124(C )-124(string )-124(into )-124(separate )-124(command)]TJ -25.363 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-124(ar)18(guments )-124(for )-124(the )-124(call )-124(to)]TJ -/TT0 1 Tf --25.696 -1.2 Td -(execlp)Tj -/T1_0 1 Tf -0.5 Tc (.F)Tj -0 Tc 4.906 0 Td -[(inally)111(,)-250(we)-250(wouldn\325t be able to use any of the shell metacharacters.)]TJ --3.106 -1.2 Td -[(Note )-64(that )-64(we )-64(call)]TJ -/TT0 1 Tf -8.01 0 Td -(_exit)Tj -/T1_0 1 Tf -3.314 0 Td -[(instead )-64(of)]TJ -/TT0 1 Tf -4.72 0 Td -(exit)Tj -/T1_0 1 Tf -0.5638 Tc (.W)Tj -0 Tc 4.122 0 Td -[(e)-314(do)-314(this )-64(to )-64(pr)18(event )-64(any )-64(standar)]TJ -0.3138 Tc 14.381 0 Td -(dI)Tj -0 Tc 1.262 0 Td -(/O)Tj --37.608 -1.2 Td -[(buf)18(fers, )-123(which )-123(would )-123(have )-123(been )-123(copied )-123(fr)18(om )-123(the )-123(par)18(ent )-123(to )-123(the )-123(child )-123(acr)22(oss )-123(the)]TJ -/TT0 1 Tf -36.35 0 Td -(fork)Tj -/T1_0 1 Tf -(,)Tj --36.35 -1.2 Td -[(fr)18(om being \337ushed in the child.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47256 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.12)]TJ -36.516 0 Td -[(Interpr)18(eter )-250(Files)]TJ -/T1_1 1 Tf -9.317 0 Td -(261)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(Let\325s )-109(look )-109(at )-109(an )-109(example )-109(to )-109(see )-109(what )-109(the )-109(kernel )-109(does )-109(with )-109(the )-109(ar)18(guments )-109(to )-109(the)]TJ -/TT1 1 Tf -36.6 0 Td -(exec)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(function )-4(when )-4(the )-4(\336le )-4(being )-4(executed )-4(is )-4(an )-4(interpr)17(eter )-4(\336le )-4(and )-4(the )-4(optional )-4(ar)18(gument )-4(on)]TJ -0 -1.2 TD -[(the )-21(\336rst )-21(line )-21(of )-21(the )-21(interpr)18(eter )-21(\336le.)-521(The )-21(pr)18(ogram )-21(in )-21(Figur)]TJ -0.2714 Tc 25.153 0 Td -(e8)Tj -0 Tc 1.25 0 Td -(.20)Tj -/TT1 1 Tf -1.521 0 Td -(exec)Tj -/T1_0 1 Tf -[(s)-271(an)-271(i)-1(nterpr)18(eter )-21(\336le.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6138.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 604.2265 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(pid_t )-1200(pid;)]TJ -0 -1.902 TD -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid == 0\) {)Tj -17.4 0 Td -(/* child */)Tj --16.8 -1.189 Td -(if \(execl\("/home/sar/bin/testinterp",)Tj -6 -1.189 Td -("testinterp", "myarg1", "MY ARG2", \(char *\)0\) < 0\))Tj --3.6 -1.189 Td -(err_sys\("execl error"\);)Tj --4.8 -1.189 Td -(})Tj -0 -1.189 TD -[(if \(waitpid\(pid, NULL, 0\) < 0\))-1200(/* parent */)]TJ -2.4 -1.189 Td -(err_sys\("waitpid error"\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4154.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 230.2545 399.3861 Tm -(Figure 8.20)Tj -/T1_0 1 Tf -0.25 Tc 5.695 0 Td -(Ap)Tj --0.018 Tc 1.629 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(gram that)Tj -/TT1 1 Tf -4.568 0 Td -(exec)Tj -/T1_0 1 Tf -[(s)-250(an)-250(interpr)18(eter \336le)]TJ -9.9982 0 0 9.9982 129.5762 375.3904 Tm -[(The )-16(following )-16(shows )-16(the )-16(contents )-16(of )-16(the )-16(one-line )-16(interpr)14(eter )-16(\336le )-16(that )-16(is )-16(executed )-16(and )-16(the)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(sult fr)18(om r)8(unning the pr)18(ogram in Figur)]TJ -0.25 Tc 17.367 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.20:)Tj -/TT1 1 Tf -8.9984 0 0 8.9984 147.5728 346.6956 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(cat /home/sar/bin/testinterp)Tj -/TT1 1 Tf --1.2 -1.189 Td -(#!/home/sar/bin/echoarg foo)Tj -0 -1.189 TD -($)Tj -/TT2 1 Tf -1.2 0 Td -(./a.out)Tj -/TT1 1 Tf --1.2 -1.189 Td -(argv[0]: /home/sar/bin/echoarg)Tj -T* -(argv[1]: foo)Tj -0 -1.189 TD -(argv[2]: /home/sar/bin/testinterp)Tj -0 -1.189 TD -(argv[3]: myarg1)Tj -T* -(argv[4]: MY ARG2)Tj -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5761 253.8123 Tm -[(The )-509(pr)18(ogram)]TJ -/TT1 1 Tf -7.051 0 Td -(echoarg)Tj -/T1_0 1 Tf -4.959 0 Td -[(\(the )-509(interpr)18(eter\) )-509(just )-509(echoes )-509(each )-509(of )-509(its )-509(command)]TJ -25.014 0.09 Td -(-)Tj -0.333 -0.09 Td -(line)Tj --37.357 -1.2 Td -[(ar)18(guments. )-265(\(This)-265(is )-15(the )-15(pr)18(ogram )-15(fr)18(om )-15(Figur)]TJ -0.265 Tc 19.545 0 Td -(e7)Tj -0 Tc 1.244 0 Td -[(.4.\) )-265(Note)-265(that )-15(when )-15(the )-15(kernel)]TJ -/TT1 1 Tf -13.735 0 Td -(exec)Tj -/T1_0 1 Tf -0.265 Tc (st)Tj -0 Tc 3.415 0 Td -(he)Tj --37.939 -1.2 Td -[(interpr)18(eter )-167(\()]TJ -/TT1 1 Tf -(/home/sar/bin/echoarg)Tj -/T1_0 1 Tf -(\),)Tj -/TT1 1 Tf -19.08 0 Td -(argv[0])Tj -/T1_0 1 Tf -4.617 0 Td -[(is )-167(the)]TJ -/T1_2 1 Tf -2.936 0 Td -(pathname)Tj -/T1_0 1 Tf -4.361 0 Td -[(of )-167(the )-167(interpr)18(eter)74(,)]TJ -/TT1 1 Tf --30.994 -1.2 Td -(argv[1])Tj -/T1_0 1 Tf -4.855 0 Td -[(is )-405(the )-405(optional )-405(ar)18(gument )-405(fr)18(om )-405(the )-405(interpr)18(eter )-405(\336le, )-405(and )-405(the )-405(r)16(emaining)]TJ --4.855 -1.2 Td -[(ar)18(guments )-24(ar)]TJ -0.2745 Tc 5.881 0 Td -(et)Tj -0 Tc 1.079 0 Td -(he)Tj -/T1_2 1 Tf -1.336 0 Td -(pathname)Tj -/T1_0 1 Tf -4.219 0 Td -(\()Tj -/TT1 1 Tf -(/home/sar/bin/testinterp)Tj -/T1_0 1 Tf -0.2746 Tc (\)a)Tj -0 Tc 15.841 0 Td -[(nd )-25(the )-25(second )-25(and )-25(thir)20(d)]TJ --28.356 -1.2 Td -[(ar)18(guments )-13(fr)18(om )-13(the )-13(call )-13(to)]TJ -/TT1 1 Tf -11.971 0 Td -(execl)Tj -/T1_0 1 Tf -3.263 0 Td -[(in )-13(the )-13(pr)18(ogram )-13(shown )-13(in )-13(Figur)]TJ -0.2632 Tc 13.659 0 Td -(e8)Tj -0 Tc 1.242 0 Td -[(.20 )-13(\()]TJ -/TT1 1 Tf -(myarg1)Tj -/T1_0 1 Tf -5.709 0 Td -(and)Tj -/TT1 1 Tf -1.956 0 Td -(MY)Tj --37.8 -1.2 Td -(ARG2)Tj -/T1_0 1 Tf -[(\). )-254(Both)]TJ -/TT1 1 Tf -5.807 0 Td -(argv[1])Tj -/T1_0 1 Tf -4.454 0 Td -(and)Tj -/TT1 1 Tf -1.948 0 Td -(argv[2])Tj -/T1_0 1 Tf -4.455 0 Td -[(fr)18(om )-5(the )-5(call )-5(to)]TJ -/TT1 1 Tf -6.942 0 Td -(execl)Tj -/T1_0 1 Tf -3.255 0 Td -[(have )-5(been )-5(shifted )-5(right )-5(two)]TJ --26.861 -1.2 Td -[(positions. )-374(Note)-374(that )-124(the )-124(kernel )-124(takes )-124(the)]TJ -/T1_2 1 Tf -18.907 0 Td -(pathname)Tj -/T1_0 1 Tf -4.318 0 Td -[(fr)18(om )-124(the)]TJ -/TT1 1 Tf -4.274 0 Td -(execl)Tj -/T1_0 1 Tf -3.374 0 Td -[(call )-124(instead )-124(of )-124(the)]TJ --30.873 -1.2 Td -[(\336rst )-29(ar)18(gument )-29(\()]TJ -/TT1 1 Tf -6.948 0 Td -(testinterp)Tj -/T1_0 1 Tf -[(\), )-29(on )-29(the )-29(assumption )-29(that )-29(the)]TJ -/T1_2 1 Tf -19.076 0 Td -(pathname)Tj -/T1_0 1 Tf -4.224 0 Td -[(might )-29(contain )-29(mor)17(e)]TJ --30.247 -1.2 Td -[(information than the \336rst ar)18(gument.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1458.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47257 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(254)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(The pr)18(ogram in Figur)]TJ -0.25 Tc 9.538 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.16 demonstrates the)Tj -/TT1 1 Tf -9.362 0 Td -(exec)Tj -/T1_1 1 Tf -2.65 0 Td -(functions.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6342.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 624.624 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -[(char )-1800(*env_init[])]TJ -0.6 Tc 12 0 Td -(={")Tj -0 Tc 3 0 Td -(USER=unknown", "PATH=/tmp", NULL };)Tj --15 -2.14 Td -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(pid_t )-1200(pid;)]TJ -0 -2.14 TD -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(pid == 0\) {)-1200(/* specify pathname, specify environment */)]TJ -0.6 -1.189 Td -(if \(execle\("/home/sar/bin/echoall", "echoall", "myarg1",)Tj -4.8 -1.189 Td -("MY ARG2", \(char *\)0, env_init\) < 0\))Tj --2.4 -1.189 Td -(err_sys\("execle error"\);)Tj --4.8 -1.189 Td -(})Tj -T* -(if \(waitpid\(pid, NULL, 0\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("wait error"\);)Tj --2.4 -2.14 Td -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(pid == 0\) {)-1200(/* specify filename, inherit environment */)]TJ -0.6 -1.189 Td -(if \(execlp\("echoall", "echoall", "only 1 arg", \(char *\)0\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("execlp error"\);)Tj --4.8 -1.189 Td -(})Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3224.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 253.6103 306.3828 Tm -(Figure 8.16)Tj -/T1_1 1 Tf -5.695 0 Td -(Example of)Tj -/TT1 1 Tf -5.26 0 Td -(exec)Tj -/T1_1 1 Tf -2.65 0 Td -(functions)Tj --0.092 Tc 9.9982 0 0 9.9982 147.5737 278.7878 Tm -[(We )-273(\336)]TJ -0 Tc 2.331 0 Td -[(rst )-89(call)]TJ -/TT1 1 Tf -3.348 0 Td -(execle)Tj -/T1_1 1 Tf -0.3387 Tc (,w)Tj -0 Tc 5.023 0 Td -[(hich )-89(r)18(equir)18(es )-89(a )-89(pathname )-89(and )-89(a )-89(speci\336c )-89(envir)20(onment. )-339(The)]TJ --12.502 -1.2 Td -[(next )-23(call )-23(is )-23(to)]TJ -/TT1 1 Tf -6.107 0 Td -(execlp)Tj -/T1_1 1 Tf -0.2728 Tc (,w)Tj -0 Tc 4.957 0 Td -[(hich )-23(uses )-23(a )-23(\336lename )-23(and )-23(passes )-23(the )-23(caller)-74(\325s )-23(envir)18(onment )-23(to )-23(the)]TJ --11.064 -1.2 Td -[(new )-380(pr)18(ogram. )-630(The)-630(only )-380(r)18(eason )-380(the )-380(call )-380(to)]TJ -/TT1 1 Tf -21.634 0 Td -(execlp)Tj -/T1_1 1 Tf -4.23 0 Td -[(works )-380(is )-380(that )-380(the )-380(dir)18(ectory)]TJ -/TT1 1 Tf --25.864 -1.2 Td -(/home/sar/bin)Tj -/T1_1 1 Tf -8.233 0 Td -[(is )-183(one )-183(of )-183(the )-183(curr)18(ent )-183(path )-183(pr)19(e\336xes. )-433(Note)-433(also )-183(that )-183(we )-183(set )-183(the )-183(\336rst)]TJ --8.233 -1.2 Td -[(ar)18(gument,)]TJ -/TT1 1 Tf -5.191 0 Td -(argv[0])Tj -/T1_1 1 Tf -4.835 0 Td -[(in )-385(the )-385(new )-385(pr)19(ogram, )-385(to )-385(be )-385(the )-385(\336lename )-385(component )-385(of )-385(the)]TJ --10.025 -1.2 Td -[(pathname. )-504(Some)-503(shells )-254(set )-254(this )-254(ar)18(gument )-254(to )-254(be )-254(the )-254(complete )-254(pathname.)-750(This )-254(is )-254(a)]TJ -0 -1.2 TD -[(convention )-26(only; )-26(we )-26(can )-26(set)]TJ -/TT1 1 Tf -12.617 0 Td -(argv[0])Tj -/T1_1 1 Tf -4.476 0 Td -[(to )-26(any )-26(string )-26(we )-26(like.)-527(The)]TJ -/TT1 1 Tf -11.845 0 Td -(login)Tj -/T1_1 1 Tf -3.276 0 Td -[(command )-26(does)]TJ --32.215 -1.2 Td -[(this when it executes the shell.)-503(Befor)]TJ -0.2506 Tc 16.27 0 Td -(ee)Tj -0 Tc 1.209 0 Td -[(xecuting )-1(the )-1(shell,)]TJ -/TT1 1 Tf -8.253 0 Td -(login)Tj -/T1_1 1 Tf -3.251 0 Td -[(adds )-1(a )-1(dash )-1(as )-1(a )-1(pr)20(e\336x)]TJ --28.982 -1.2 Td -(to)Tj -/TT1 1 Tf -1.132 0 Td -(argv[0])Tj -/T1_1 1 Tf -4.46 0 Td -[(to )-10(indicate )-10(to )-10(the )-10(shell )-10(that )-10(it )-10(is )-10(being )-10(invoked )-10(as )-10(a )-10(login )-10(shell.)]TJ -0.26 Tc 27.777 0 Td -(Al)Tj -0 Tc 1.329 0 Td -[(ogin )-10(shell)]TJ --34.699 -1.2 Td -[(will execute the start-up pr)18(o\336le commands, wher)18(eas a nonlogin shell will not.)]TJ -1.8 -1.2 Td -[(The )-241(pr)18(ogram)]TJ -/TT1 1 Tf -6.515 0 Td -(echoall)Tj -/T1_1 1 Tf -4.691 0 Td -[(that )-241(is )-241(executed )-241(twice )-241(in )-241(the )-241(pr)15(ogram )-242(in )-242(Figur)]TJ -0.4916 Tc 22.066 0 Td -(e8)Tj -0 Tc 1.471 0 Td -[(.16 )-242(is)]TJ --36.543 -1.2 Td -[(shown )-13(in )-13(Figur)]TJ -0.2633 Tc 6.751 0 Td -(e8)Tj -0 Tc 1.242 0 Td -[(.17. )-263(It)-264(is )-13(a )-13(trivial )-13(pr)18(ogram )-13(that )-13(echoes )-13(all )-13(its )-13(command)]TJ -24.038 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-13(ar)18(guments)]TJ --32.364 -1.2 Td -(and its entir)Tj -0.25 Tc 5.289 0 Td -(ee)Tj -0 Tc 1.208 0 Td -[(nvir)18(onment list.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47258 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1.9)]TJ -41.164 0 Td -(Signals)Tj -/T1_1 1 Tf -5.169 0 Td -(19)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.055 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(11 )-216(l)]TJ -0 Tc 1.591 0 Td -[(ines )-105(to )-105(the )-105(pr)18(ogram )-105(in )-105(Figur)]TJ -0.3555 Tc 12.927 0 Td -(e1)Tj -0 Tc 1.334 0 Td -[(.7 )-105(gives )-105(us )-105(the )-105(version )-105(in )-105(Figur)]TJ -0.3554 Tc 14.15 0 Td -(e1)Tj -0 Tc 1.334 0 Td -[(.10. )-355(\(The)]TJ --0.055 Tc 4.468 0 Td -[(11 )-215(n)]TJ -0 Tc 1.882 0 Td -(ew)Tj --37.687 -1.2 Td -(lines ar)Tj -0.25 Tc 3.194 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(ndicated with a plus sign at the beginning of the line.\))Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6462.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 140.3832 636.6226 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0.6 Tc -1.2 -2.378 Td -(+s)Tj -0 Tc 1.8 0 Td -[(tatic void sig_int\(int\);)-4200(/* our signal-catching function */)]TJ --1.8 -1.189 Td -(+)Tj -1.2 -1.189 Td -(int)Tj -T* -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(buf[MAXLINE];)-1800(/* from apue.h */)]TJ -T* -[(pid_t )-1200(pid;)]TJ -T* -[(int )-2400(status;)]TJ -3 Tc -3.6 -2.378 Td -(+i)Tj -0.6 Tc 4.2 0 Td -(f\()Tj -0 Tc 1.8 0 Td -(signal\(SIGINT, sig_int\) == SIG_ERR\))Tj -5.4 Tc -6 -1.189 Td -(+e)Tj -0 Tc 6.6 0 Td -(rr_sys\("signal error"\);)Tj --6.6 -1.189 Td -(+)Tj -3.6 -1.189 Td -[(printf\("%% "\);)-1200(/* print prompt \(printf requires %% to print %\) */)]TJ -T* -(while \(fgets\(buf, MAXLINE, stdin\) != NULL\) {)Tj -2.4 -1.189 Td -(if \(buf[strlen\(buf\) - 1] == \325\\n\325\))Tj -2.4 -1.189 Td -(buf[strlen\(buf\) - 1] = 0; /* replace newline with null */)Tj --2.4 -2.378 Td -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(pid == 0\) {)-3600(/* child */)]TJ -0.6 -1.189 Td -(execlp\(buf, buf, \(char *\)0\);)Tj -T* -(err_ret\("couldn\325t execute: %s", buf\);)Tj -T* -(exit\(127\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.378 TD -(/* parent */)Tj -0 -1.189 TD -(if \(\(pid = waitpid\(pid, &status, 0\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("waitpid error"\);)Tj --2.4 -1.189 Td -(printf\("%% "\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj --1.2 -1.189 Td -(+)Tj -0.6 Tc 0 -1.189 TD -(+v)Tj -0 Tc 1.8 0 Td -(oid)Tj -0.6 Tc -1.8 -1.189 Td -(+s)Tj -0 Tc 1.8 0 Td -(ig_int\(int signo\))Tj -0.6 Tc -1.8 -1.189 Td -(+{)Tj -3 Tc 0 -1.189 TD -(+p)Tj -0 Tc 4.2 0 Td -(rintf\("interrupt\\n%% "\);)Tj -0.6 Tc -4.2 -1.189 Td -(+})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2039.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 7.9986 0 0 7.9986 203.2114 187.8642 Tm -(Figure 1.10)Tj -/T1_0 1 Tf -5.695 0 Td -[(Read commands fr)18(om standar)]TJ -0.25 Tc 13.34 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput and execute them)Tj -9.9982 0 0 9.9982 147.5726 156.6698 Tm -[(In )-43(Chapter )-43(10, )-43(we\325ll )-43(take )-43(a )-43(long )-43(look )-43(at )-43(signals, )-43(as )-43(most )-43(nontrivial )-43(applications )-43(deal)]TJ --1.8 -1.2 Td -(with them.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1447.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47259 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1.6)]TJ -33.154 0 Td -[(Pr)18(ograms )-250(and )-250(Pr)18(ocesses)]TJ -/T1_1 1 Tf -13.179 0 Td -(13)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 162.4803 668.9599 Tm -[(and )-37(r)18(eturns )-37(0 )-37(to )-37(the )-37(child.)-535(Because)]TJ -/TT0 1 Tf -15.904 0 Td -(fork)Tj -/T1_0 1 Tf -2.687 0 Td -[(cr)18(eates )-37(a )-37(new )-37(pr)18(ocess, )-37(we )-37(say )-37(that )-37(it )-37(is)]TJ --18.59 -1.2 Td -(called once)Tj -0.0833 Tc 5 0 Td -(\321b)Tj -0.25 Tc 1.636 0 Td -(yt)Tj -0 Tc 1.132 0 Td -[(he par)18(ent )167(\321 )167(but)]TJ --0.018 Tc 7.075 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns twice)Tj -0.0833 Tc 5.037 0 Td -(\321i)Tj -0.25 Tc 1.374 0 Td -(nt)Tj -0 Tc 1.158 0 Td -[(he par)18(ent and in the child.)]TJ -0.883 Tc -24.758 -1.6 Td -(\245I)Tj -0.3912 Tc 1.826 0 Td -(nt)Tj -0 Tc 1.299 0 Td -[(he )-141(child, )-141(we )-141(call)]TJ -/TT0 1 Tf -7.934 0 Td -(execlp)Tj -/T1_0 1 Tf -3.991 0 Td -[(to )-141(execute )-141(the )-141(command )-141(that )-141(was )-141(r)18(ead )-141(fr)18(om )-141(the)]TJ --13.562 -1.2 Td -(standar)Tj -0.3125 Tc 3.32 0 Td -(di)Tj -0 Tc 1.214 0 Td -[(nput. )-312(This)]TJ --0.018 Tc 5.147 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(places )-62(the )-62(child )-62(pr)18(ocess )-62(with )-62(the )-62(new )-62(pr)18(ogram )-62(\336le.)-566(The)]TJ --10.537 -1.2 Td -[(combination )-161(of)]TJ -/TT0 1 Tf -7.244 0 Td -(fork)Tj -/T1_0 1 Tf -2.811 0 Td -[(followed )-161(by)]TJ -/TT0 1 Tf -5.861 0 Td -(exec)Tj -/T1_0 1 Tf -2.811 0 Td -[(is )-161(called )-161(spawning )-161(a )-161(new )-161(pr)18(ocess )-161(on)]TJ --18.727 -1.2 Td -[(some )-81(operating )-81(systems.)-581(In )-81(the )-81(UNIX )-81(System, )-81(the )-81(two )-81(parts )-81(ar)]TJ -0.3308 Tc 28.51 0 Td -(es)Tj -0 Tc 1.234 0 Td -[(eparated )-81(into)]TJ --29.744 -1.2 Td -(individual functions.)Tj --0.092 Tc 9.767 0 Td -(We)Tj -0 Tc 1.387 0 Td -(\325ll say a lot mor)Tj -0.25 Tc 6.809 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(bout these functions in Chapter 8.)Tj -0.883 Tc -20.681 -1.6 Td -(\245B)Tj -0 Tc 2.1 0 Td -[(ecause )-233(the )-233(child )-233(calls)]TJ -/TT0 1 Tf -10.418 0 Td -(execlp)Tj -/T1_0 1 Tf -4.083 0 Td -[(to )-233(execute )-233(the )-233(new )-233(pr)17(ogram )-233(\336le, )-233(the )-233(par)17(ent)]TJ --15.113 -1.2 Td -[(wants )-239(to )-239(wait )-239(for )-239(the )-239(child )-239(to )-239(terminate.)-739(This )-239(is )-239(done )-239(by )-239(calling)]TJ -/TT0 1 Tf -31.261 0 Td -(waitpid)Tj -/T1_0 1 Tf -(,)Tj --31.261 -1.2 Td -[(specifying )-42(which )-42(pr)18(ocess )-42(to )-42(wait )-42(for: )-42(the)]TJ -/TT0 1 Tf -18.362 0 Td -(pid)Tj -/T1_0 1 Tf -2.092 0 Td -[(ar)18(gument, )-42(which )-42(is )-42(the )-42(pr)18(ocess )-42(ID)]TJ --20.454 -1.2 Td -[(of )-145(the )-145(child.)-645(The)]TJ -/TT0 1 Tf -8.239 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.595 0 Td -[(function )-145(also )-145(r)18(eturns )-145(the )-145(termination )-145(status )-145(of )-145(the)]TJ --12.835 -1.2 Td -[(child )167(\321 )167(the)]TJ -/TT0 1 Tf -5.048 0 Td -(status)Tj -/T1_0 1 Tf -3.875 0 Td -[(variable )167(\321 )167(but)-276(in )-25(this )-25(simple )-25(pr)18(ogram, )-25(we )-25(don\325t )-25(do )-25(anything)]TJ --8.923 -1.2 Td -(with this value.)Tj --0.092 Tc 7.344 0 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -(ould examine it to determine how the child terminated.)Tj -0.883 Tc -10.914 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-445(most )-445(fundamental )-445(limitation )-445(of )-445(this )-445(pr)20(ogram )-444(is )-444(that )-444(we )-444(can\325t )-444(pass)]TJ --0.613 -1.2 Td -[(ar)18(guments )-11(to )-11(the )-11(command )-11(we )-11(execute.)]TJ --0.092 Tc 18.144 0 Td -[(We )-195(c)]TJ -0 Tc 2.092 0 Td -[(an\325t, )-11(for )-11(example, )-11(specify )-11(the )-11(name)]TJ --20.236 -1.2 Td -[(of )-15(a )-15(dir)18(ectory )-15(to )-15(list.)]TJ --0.092 Tc 9.432 0 Td -[(We )-199(c)]TJ -0 Tc 2.096 0 Td -[(an )-15(execute)]TJ -/TT0 1 Tf -4.937 0 Td -(ls)Tj -/T1_0 1 Tf -1.465 0 Td -[(only )-15(on )-15(the )-15(working )-15(dir)19(ectory)]TJ -0.5147 Tc 13.223 0 Td -(.T)Tj -0.2647 Tc 1.286 0 Td -(oa)Tj -0 Tc 1.311 0 Td -(llow)Tj --33.749 -1.2 Td -[(ar)18(guments )-25(would )-25(r)17(equir)]TJ -0.2754 Tc 10.853 0 Td -(et)Tj -0 Tc 1.08 0 Td -[(hat )-25(we )-25(parse )-25(the )-25(input )-25(line, )-25(separating )-25(the )-25(ar)14(guments)]TJ --11.933 -1.2 Td -[(by )-49(some )-49(convention, )-49(pr)18(obably )-49(spaces )-49(or )-49(tabs, )-49(and )-49(then )-49(pass )-49(each )-49(ar)17(gument )-49(as )-49(a)]TJ -0 -1.2 TD -[(separate )-28(parameter )-28(to )-28(the)]TJ -/TT0 1 Tf -11.634 0 Td -(execlp)Tj -/T1_0 1 Tf -3.878 0 Td -[(function. )-278(Nevertheless,)-278(this )-28(pr)18(ogram )-28(is )-28(still )-28(a)]TJ --15.512 -1.2 Td -[(useful demonstration of the UNIX System\325s pr)18(ocess contr)18(ol functions.)]TJ --3.289 -2.4 Td -[(If )-192(we )-192(r)8(un )-192(this )-192(pr)16(ogram, )-192(we )-192(get )-192(the )-192(following )-192(r)17(esults. )-442(Note)-443(that )-192(our )-192(pr)18(ogram )-192(has )-192(a)]TJ --0 -1.2 Td -[(dif)18(fer)18(ent pr)18(ompt )167(\321 )167(the)-251(per)18(cent sign)]TJ -0.0833 Tc 15.655 0 Td -(\321t)Tj -0.25 Tc 1.409 0 Td -(od)Tj -0 Tc 1.407 0 Td -[(istinguish it fr)18(om the shell\325s pr)18(ompt.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5905 373.0674 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(%)Tj -/TT1 1 Tf -1.2 0 Td -(date)Tj -/TT0 1 Tf --1.2 -1.189 Td -(Sat Jan 21 19:42:07 EST 2012)Tj -0 -1.189 TD -(%)Tj -/TT1 1 Tf -1.2 0 Td -(who)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(sar )-3000(console)-1200(Jan )-600(1)-600(14:59)]TJ -0 -1.189 TD -[(sar )-3000(ttys000)-1200(Jan )-600(1)-600(14:59)]TJ -0 -1.189 TD -[(sar )-3000(ttys001)-1200(Jan 15 15:28)]TJ -0 -1.189 TD -(%)Tj -/TT1 1 Tf -1.2 0 Td -(pwd)Tj -/TT0 1 Tf --1.2 -1.189 Td -(/home/sar/bk/apue/3e)Tj -0 -1.189 TD -(%)Tj -/TT1 1 Tf -1.2 0 Td -(ls)Tj -/TT0 1 Tf --1.2 -1.189 Td -(Makefile)Tj -T* -(a.out)Tj -T* -(shell1.c)Tj -T* -(%)Tj -/TT1 1 Tf -1.2 0 Td -(\366D)Tj -/T1_2 1 Tf -22.8 0 Td -(type the end-of-\336le character)Tj -/TT0 1 Tf --24 -1.189 Td -($)Tj -/T1_2 1 Tf -24 0 Td -[(the r)18(egular shell pr)18(ompt)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2117.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 183.578 191.687 Tm -[(The )-353(notation)]TJ -/TT0 1 Tf -6.58 0 Td -(\366D)Tj -/T1_0 1 Tf -1.803 0 Td -[(is )-353(used )-353(to )-353(indicate )-353(a )-353(contr)18(ol )-353(character)]TJ -0.8534 Tc 18.451 0 Td -(.C)Tj -0 Tc 1.812 0 Td -[(ontr)18(ol )-353(characters )-353(ar)]TJ -0.6034 Tc 9.241 0 Td -(es)Tj -0 Tc 1.506 0 Td -(pecial)Tj --39.394 -1.25 Td -[(characters )-165(formed )-165(by )-165(holding )-165(down )-165(the )-165(contr)18(ol )-165(key)]TJ -0.0833 Tc 23.953 0 Td -(\321o)Tj -0 Tc 1.629 0 Td -[(ften )-165(labeled)]TJ -/TT0 1 Tf -5.753 0 Td -(Control)Tj -/T1_0 1 Tf -4.615 0 Td -(or)Tj -/TT0 1 Tf -1.356 0 Td -(Ctrl)Tj -/T1_0 1 Tf -0.0833 Tc 2.483 0 Td -(\321o)Tj -0 Tc 1.629 0 Td -(n)Tj --41.418 -1.25 Td -[(your )-225(keyboar)]TJ -0.4748 Tc 6.142 0 Td -(da)Tj -0 Tc 1.586 0 Td -[(nd )-225(then )-225(pr)19(essing )-225(another )-225(key )-225(at )-225(the )-225(same )-225(time.)-722(Contr)18(ol)]TJ -26.524 0.09 Td -(-)Tj -0.333 -0.09 Td -[(D, )-225(or)]TJ -/TT0 1 Tf -2.914 0 Td -(\366D)Tj -/T1_0 1 Tf -[(,)-475(is)-475(t)1(he)]TJ --37.499 -1.25 Td -[(default )-361(end-of-\336le )-361(character)]TJ -0.8615 Tc 12.949 0 Td -(.W)Tj -0 Tc 2.019 0 Td -[(e\325ll )-361(see )-361(many )-361(mor)]TJ -0.6115 Tc 8.883 0 Td -(ec)Tj -0 Tc 1.535 0 Td -[(ontr)18(ol )-362(characters )-362(when )-362(we )-362(discuss)]TJ --25.385 -1.25 Td -(terminal I/O in Chapter 18.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47260 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1.6)]TJ -33.191 0 Td -[(Pr)18(ograms )-250(and )-250(Pr)18(ocesses)]TJ -/T1_1 1 Tf --0.037 Tc 13.179 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -0 Tc 9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Pr)20(ocesses and Pr)20(ocess ID)]TJ -/T1_0 1 Tf -3.6 -1.92 Td -[(An )-8(executing )-8(instance )-8(of )-8(a )-8(pr)18(ogram )-8(is )-8(called )-8(a)]TJ -/T1_2 1 Tf -20.65 0 Td -[(pr)18(ocess)]TJ -/T1_0 1 Tf -0.2576 Tc (,a)Tj -0 Tc [(term )-7(used )-7(on )-7(almost )-7(every )-7(page)]TJ --20.65 -1.2 Td -[(of )-13(this )-13(text.)-513(Some )-13(operating )-13(systems )-13(use )-13(the )-13(term)]TJ -/T1_2 1 Tf -22.213 0 Td -(task)Tj -/T1_0 1 Tf -1.873 0 Td -[(to )-13(r)18(efer )-13(to )-13(a )-13(pr)18(ogram )-13(that )-13(is )-13(being)]TJ --24.086 -1.2 Td -(executed.)Tj -1.8 -1.2 Td -[(The )-160(UNIX )-160(System )-160(guarantees )-160(that )-160(every )-160(pr)16(ocess )-160(has )-160(a )-160(unique )-160(numeric )-160(identi\336er)]TJ --1.8 -1.2 Td -(called the)Tj -/T1_2 1 Tf -4.503 0 Td -[(pr)18(ocess ID)]TJ -/T1_0 1 Tf -0.5 Tc (.T)Tj -0 Tc 5.613 0 Td -[(he pr)18(ocess ID is always a non-negative integer)74(.)]TJ -/TT0 1 Tf --13.716 -2.4 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(The pr)18(ogram in Figur)]TJ -0.25 Tc 9.538 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(.6 prints its pr)18(ocess ID.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5466.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 537.0346 Tm -(#include "apue.h")Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("hello world from process ID %ld\\n", \(long\)getpid\(\)\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4595.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 268.8076 443.4582 Tm -(Figure 1.6)Tj -/T1_0 1 Tf -5.195 0 Td -[(Print the pr)18(ocess ID)]TJ -9.9982 0 0 9.9982 129.5769 419.4625 Tm -[(If we compile this pr)18(ogram into the \336le)]TJ -/TT1 1 Tf -17.506 0 Td -(a.out)Tj -/T1_0 1 Tf -3.25 0 Td -(and execute it, we have)Tj -/TT1 1 Tf -8.9984 0 0 8.9984 147.5736 400.6261 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(./a.out)Tj -/TT1 1 Tf --1.2 -1.189 Td -(hello world from process ID 851)Tj -T* -($)Tj -/TT2 1 Tf -1.2 0 Td -(./a.out)Tj -/TT1 1 Tf --1.2 -1.189 Td -(hello world from process ID 854)Tj -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5769 348.3957 Tm -[(When )-99(this )-99(pr)18(ogram )-99(r)8(uns, )-99(it )-99(calls )-99(the )-99(function)]TJ -/TT1 1 Tf -20.824 0 Td -(getpid)Tj -/T1_0 1 Tf -3.949 0 Td -[(to )-99(obtain )-99(its )-99(pr)18(ocess )-99(ID.)-599(As )-99(we)]TJ --24.773 -1.2 Td -[(shall )-33(see )-33(later)73(,)]TJ -/TT1 1 Tf -6.487 0 Td -(getpid)Tj -/T1_0 1 Tf --0.018 Tc 3.883 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-33(a)]TJ -/TT1 1 Tf -3.397 0 Td -(pid_t)Tj -/T1_0 1 Tf -3.283 0 Td -[(data )-33(type.)]TJ --0.092 Tc 4.966 0 Td -[(We )-217(d)]TJ -0 Tc 2.281 0 Td -[(on\325t )-33(know )-33(its )-33(size; )-33(all )-33(we )-33(know)]TJ --25.153 -1.2 Td -[(is )-60(that )-60(the )-60(standar)17(ds )-61(guarantee )-61(that )-61(it )-61(will )-61(\336t )-61(in )-61(a )-61(long )-61(integer)]TJ -0.5606 Tc 27.709 0 Td -(.B)Tj -0 Tc 1.422 0 Td -[(ecause )-61(we )-61(have )-61(to )-61(tell)]TJ -/TT1 1 Tf --29.131 -1.2 Td -(printf)Tj -/T1_0 1 Tf -3.874 0 Td -[(the )-23(size )-23(of )-23(each )-23(ar)18(gument )-23(to )-23(be )-23(printed, )-23(we )-23(have )-23(to )-23(cast )-23(the )-23(value )-23(to )-23(the )-23(lar)12(gest)]TJ --3.874 -1.2 Td -[(data )-18(type )-18(that )-18(it )-18(might )-18(use )-18(\(in )-18(this )-18(case, )-18(a )-18(long )-18(integer\).)-514(Although )-18(most )-18(pr)18(ocess )-18(IDs )-18(will)]TJ -0 -1.2 TD -(\336t in an)Tj -/TT1 1 Tf -3.636 0 Td -(int)Tj -/T1_0 1 Tf -0.25 Tc (,u)Tj -0 Tc 2.903 0 Td -(sing a)Tj -/TT1 1 Tf -2.853 0 Td -(long)Tj -/T1_0 1 Tf -2.65 0 Td -[(pr)18(omotes portability)111(.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2884.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9976 0 0 9.9976 93.5775 254.7968 Tm -[(Pr)20(ocess Contr)20(ol)]TJ -/T1_0 1 Tf -3.6 -2.4 Td -(Ther)Tj -0.2906 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.27 0 Td -[(re )-77(t)]TJ -0 Tc 1.473 0 Td -[(hr)18(ee )-41(primary )-41(functions )-41(for )-41(pr)20(ocess )-41(contr)18(ol:)]TJ -/TT1 1 Tf -19.344 0 Td -(fork)Tj -/T1_0 1 Tf -(,)Tj -/TT1 1 Tf -2.941 0 Td -(exec)Tj -/T1_0 1 Tf -0.2907 Tc (,a)Tj -0 Tc 3.441 0 Td -(nd)Tj -/TT1 1 Tf -1.484 0 Td -(waitpid)Tj -/T1_0 1 Tf -0.5407 Tc (.\()Tj -0 Tc 5.324 0 Td -(The)Tj -/TT1 1 Tf --37.326 -1.2 Td -(exec)Tj -/T1_0 1 Tf -2.714 0 Td -[(function )-64(has )-64(seven )-64(variants, )-64(but )-64(we )-64(often )-64(r)18(efer )-64(to )-64(them )-64(collectively )-64(as )-64(simply )-64(the)]TJ -/TT1 1 Tf --2.714 -1.2 Td -(exec)Tj -/T1_0 1 Tf -2.65 0 Td -(function.\))Tj -/TT0 1 Tf --6.25 -2.4 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.04 Td -[(The )-240(pr)18(ocess )-240(contr)18(ol )-240(featur)18(es )-240(of )-240(the )-240(UNIX )-240(System )-240(ar)]TJ -0.4903 Tc 24.473 0 Td -(ed)Tj -0 Tc 1.58 0 Td -[(emonstrated )-240(using )-240(a )-240(simple)]TJ --26.053 -1.2 Td -[(pr)18(ogram )-301(\(Figur)]TJ -0.5512 Tc 7.125 0 Td -(e1)Tj -0 Tc 1.53 0 Td -[(.7\) )-301(that )-301(r)18(eads )-301(commands )-301(fr)18(om )-301(standar)]TJ -0.5512 Tc 18.296 0 Td -(di)Tj -0 Tc 1.453 0 Td -[(nput )-301(and )-301(executes )-301(the)]TJ --28.405 -1.2 Td -[(commands. )-250(This)-250(is a bar)18(e-bones implementation of a shell)]TJ -25.83 0.09 Td -(-)Tj -0.333 -0.09 Td -[(like pr)18(ogram.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47261 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.16)]TJ -/TT0 1 Tf -33.403 0 Td -(sigsuspend)Tj -/T1_0 1 Tf -6.5 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(363)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.783 TD -(static volatile sig_atomic_t sigflag; /* set nonzero by sig handler */)Tj -0 -1.189 TD -(static sigset_t newmask, oldmask, zeromask;)Tj -0 -1.783 TD -(static void)Tj -0 -1.189 TD -[(sig_usr\(int signo\))-1200(/* one signal handler for SIGUSR1 and SIGUSR2 */)]TJ -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(sigflag = 1;)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(void)Tj -0 -1.189 TD -(TELL_WAIT\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(signal\(SIGUSR1, sig_usr\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("signal\(SIGUSR1\) error"\);)Tj --2.4 -1.189 Td -(if \(signal\(SIGUSR2, sig_usr\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("signal\(SIGUSR2\) error"\);)Tj --2.4 -1.189 Td -(sigemptyset\(&zeromask\);)Tj -T* -(sigemptyset\(&newmask\);)Tj -0 -1.189 TD -(sigaddset\(&newmask, SIGUSR1\);)Tj -0 -1.189 TD -(sigaddset\(&newmask, SIGUSR2\);)Tj -0 -1.783 TD -(/* Block SIGUSR1 and SIGUSR2, and save current signal mask */)Tj -0 -1.189 TD -(if \(sigprocmask\(SIG_BLOCK, &newmask, &oldmask\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("SIG_BLOCK error"\);)Tj --4.8 -1.189 Td -(})Tj -0 -1.783 TD -(void)Tj -0 -1.189 TD -(TELL_PARENT\(pid_t pid\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(kill\(pid, SIGUSR2\);)-3000(/* tell parent we\325re done */)]TJ --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(void)Tj -0 -1.189 TD -(WAIT_PARENT\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(while \(sigflag == 0\))Tj -2.4 -1.189 Td -[(sigsuspend\(&zeromask\); )-600(/*)-600(and wait for parent */)]TJ --2.4 -1.189 Td -(sigflag = 0;)Tj -0 -1.783 TD -(/* Reset signal mask to original value */)Tj -0 -1.189 TD -(if \(sigprocmask\(SIG_SETMASK, &oldmask, NULL\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("SIG_SETMASK error"\);)Tj --4.8 -1.189 Td -(})Tj -0 -1.783 TD -(void)Tj -0 -1.189 TD -(TELL_CHILD\(pid_t pid\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(kill\(pid, SIGUSR1\);)Tj -16.8 0 Td -(/* tell child we\325re done */)Tj --19.2 -1.189 Td -(})Tj -0 -1.783 TD -(void)Tj -0 -1.189 TD -(WAIT_CHILD\(void\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47262 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.9)]TJ -36.454 0 Td -[(Shar)18(ed )-250(Memory)]TJ -/T1_1 1 Tf -9.379 0 Td -(577)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -1.902 TD -[(#define NLOOPS)-3600(1000)]TJ -0 -1.189 TD -[(#define SIZE)-4800(sizeof\(long\) )-1800(/*)-600(size of shared memory area */)]TJ -0 -1.902 TD -(static int)Tj -0 -1.189 TD -(update\(long *ptr\))Tj -T* -({)Tj -2.4 -1.189 Td -[(return\(\(*ptr\)++\); )-1200(/*)-600(return value before increment */)]TJ --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(fd,)-600(i, counter;)]TJ -T* -[(pid_t )-1200(pid;)]TJ -0 -1.189 TD -[(void )-1800(*area;)]TJ -0 -1.902 TD -(if \(\(fd = open\("/dev/zero", O_RDWR\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("open error"\);)Tj --2.4 -1.189 Td -(if \(\(area = mmap\(0, SIZE, PROT_READ | PROT_WRITE, MAP_SHARED,)Tj -1.2 -1.189 Td -(fd, 0\)\) == MAP_FAILED\))Tj -1.2 -1.189 Td -(err_sys\("mmap error"\);)Tj --2.4 -1.189 Td -[(close\(fd\); )-3000(/*)-600(can close /dev/zero now that it\325s mapped */)]TJ -0 -1.902 TD -(TELL_WAIT\(\);)Tj -0 -1.902 TD -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid > 0\) {)Tj -17.4 0 Td -(/* parent */)Tj --16.8 -1.189 Td -(for \(i = 0; i < NLOOPS; i += 2\) {)Tj -2.4 -1.189 Td -(if \(\(counter = update\(\(long *\)area\)\) != i\))Tj -2.4 -1.189 Td -(err_quit\("parent: expected %d, got %d", i, counter\);)Tj --2.4 -1.902 Td -(TELL_CHILD\(pid\);)Tj -0 -1.189 TD -(WAIT_CHILD\(\);)Tj --2.4 -1.189 Td -(})Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -17.4 0 Td -(/* child */)Tj --16.8 -1.189 Td -(for \(i = 1; i < NLOOPS + 1; i += 2\) {)Tj -2.4 -1.189 Td -(WAIT_PARENT\(\);)Tj -0 -1.902 TD -(if \(\(counter = update\(\(long *\)area\)\) != i\))Tj -2.4 -1.189 Td -(err_quit\("child: expected %d, got %d", i, counter\);)Tj --2.4 -1.902 Td -(TELL_PARENT\(getppid\(\)\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1518.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 169.6396 135.7817 Tm -(Figure 15.33)Tj -/T1_0 1 Tf -6.195 0 Td -[(IPC between par)18(ent and child using memory mapped I/O of)]TJ -/TT0 1 Tf -27.14 0 Td -(/dev/zero)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47263 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.2)]TJ -41.434 0 Td -(Pipes)Tj -/T1_1 1 Tf -4.399 0 Td -(539)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 172.7896 670.2598 Tm -(exit\(0\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -27 0 Td -(/* child */)Tj --26.4 -1.189 Td -[(close\(fd[1]\); )-1200(/*)-600(close write end */)]TJ -0 -1.189 TD -(if \(fd[0] != STDIN_FILENO\) {)Tj -2.4 -1.189 Td -(if \(dup2\(fd[0], STDIN_FILENO\) != STDIN_FILENO\))Tj -2.4 -1.189 Td -(err_sys\("dup2 error to stdin"\);)Tj --2.4 -1.189 Td -[(close\(fd[0]\); )-1200(/*)-600(don\325t need this after dup2 */)]TJ --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(/* get arguments for execl\(\) */)Tj -0 -1.189 TD -(if \(\(pager = getenv\("PAGER"\)\) == NULL\))Tj -2.4 -1.189 Td -(pager = DEF_PAGER;)Tj --2.4 -1.189 Td -(if \(\(argv0 = strrchr\(pager, \325/\325\)\) != NULL\))Tj -2.4 -1.189 Td -[(argv0++; )-4200(/*)-600(step past rightmost slash */)]TJ --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -[(argv0 = pager;)-1200(/* no slash in pager */)]TJ --2.4 -1.902 Td -(if \(execl\(pager, argv0, \(char *\)0\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("execl error for %s", pager\);)Tj --4.8 -1.189 Td -(})Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4493.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 253.5976 433.307 Tm -(Figure 15.6)Tj -/T1_0 1 Tf -5.695 0 Td -[(Copy \336le to pager pr)18(ogram)]TJ -9.9988 0 0 9.9988 147.5825 409.3099 Tm -(Befor)Tj -0.4045 Tc 2.346 0 Td -(ec)Tj -0 Tc 1.327 0 Td -(alling)Tj -/TT0 1 Tf -2.916 0 Td -(fork)Tj -/T1_0 1 Tf -[(,)-404(we)-404(c)]TJ --0.018 Tc 5.216 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ate )-155(a )-155(pipe.)-655(After )-155(the)]TJ -/TT0 1 Tf -9.998 0 Td -(fork)Tj -/T1_0 1 Tf -0.4046 Tc (,t)Tj -0 Tc 3.381 0 Td -[(he )-155(par)18(ent )-155(closes )-155(its )-155(r)20(ead)]TJ --27.84 -1.2 Td -[(end, )-91(and )-91(the )-91(child )-91(closes )-91(its )-91(write )-91(end.)-591(The )-91(child )-91(then )-91(calls)]TJ -/TT0 1 Tf -27.267 0 Td -(dup2)Tj -/T1_0 1 Tf -2.741 0 Td -[(to )-91(have )-91(its )-91(standar)19(d)]TJ --30.008 -1.2 Td -[(input )-117(be )-117(the )-117(r)18(ead )-117(end )-117(of )-117(the )-117(pipe.)-617(When )-117(the )-117(pager )-117(pr)18(ogram )-117(is )-117(executed, )-117(its )-117(standar)15(d)]TJ -0 -1.2 TD -[(input will be the r)18(ead end of the pipe.)]TJ -1.8 -1.2 Td -[(When )-53(we )-53(duplicate )-53(one )-53(descriptor )-53(onto )-53(another )-53(\()]TJ -/TT0 1 Tf -22.088 0 Td -(fd[0])Tj -/T1_0 1 Tf -3.304 0 Td -[(onto )-53(standar)]TJ -0.3035 Tc 5.624 0 Td -(di)Tj -0 Tc 1.206 0 Td -[(nput )-53(in )-53(the)]TJ --34.021 -1.2 Td -[(child\), )-47(we )-47(have )-47(to )-47(be )-47(car)18(eful )-47(that )-47(the )-47(descriptor )-47(doesn\325t )-47(alr)18(eady )-47(have )-47(the )-47(desir)18(ed )-47(value.)]TJ -T* -[(If )-177(the )-177(descriptor )-177(alr)18(eady )-177(had )-177(the )-177(desir)18(ed )-177(value )-177(and )-177(we )-177(called)]TJ -/TT0 1 Tf -28.99 0 Td -(dup2)Tj -/T1_0 1 Tf -2.827 0 Td -(and)Tj -/TT0 1 Tf -2.12 0 Td -(close)Tj -/T1_0 1 Tf -0.4267 Tc (,t)Tj -0 Tc 4.003 0 Td -(he)Tj --37.939 -1.2 Td -[(single )-92(copy )-92(of )-92(the )-92(descriptor )-92(would )-92(be )-92(closed.)-592(\(Recall )-92(the )-92(operation )-92(of)]TJ -/TT0 1 Tf -32.398 0 Td -(dup2)Tj -/T1_0 1 Tf -2.742 0 Td -[(when )-92(its)]TJ --35.14 -1.2 Td -[(two )-54(ar)18(guments )-54(ar)]TJ -0.3044 Tc 7.922 0 Td -(ee)Tj -0 Tc 1.262 0 Td -[(qual, )-54(discussed )-54(in )-54(Section )-54(3.12.\))-554(In )-54(this )-54(pr)18(ogram, )-54(if )-54(standar)]TJ -0.3043 Tc 26.498 0 Td -(di)Tj -0 Tc 1.206 0 Td -(nput)Tj --36.888 -1.2 Td -[(had )-110(not )-110(been )-110(opened )-110(by )-110(the )-110(shell, )-110(the)]TJ -/TT0 1 Tf -17.616 0 Td -(fopen)Tj -/T1_0 1 Tf -3.36 0 Td -[(at )-110(the )-110(beginning )-110(of )-110(the )-110(pr)18(ogram )-110(should)]TJ --20.975 -1.2 Td -[(have )-188(used )-188(descriptor )-188(0, )-188(the )-188(lowest )-188(unused )-188(descriptor)]TJ -0.4382 Tc 24.599 0 Td -(,s)Tj -0 Tc 1.112 0 Td -(o)Tj -/TT0 1 Tf -0.984 0 Td -(fd[0])Tj -/T1_0 1 Tf -3.438 0 Td -[(should )-188(never )-188(equal)]TJ --30.134 -1.2 Td -(standar)Tj -0.4736 Tc 3.32 0 Td -(di)Tj -0 Tc 1.376 0 Td -[(nput. )-474(Nevertheless,)-473(whenever )-224(we )-224(call)]TJ -/TT0 1 Tf -18.218 0 Td -(dup2)Tj -/T1_0 1 Tf -2.874 0 Td -(and)Tj -/TT0 1 Tf -2.167 0 Td -(close)Tj -/T1_0 1 Tf -3.474 0 Td -[(to )-224(duplicate )-224(one)]TJ --31.428 -1.2 Td -[(descriptor )-278(onto )-278(another)]TJ -0.5277 Tc 10.903 0 Td -(,w)Tj -0 Tc 1.612 0 Td -[(e\325ll )-278(always )-278(compar)]TJ -0.5276 Tc 8.85 0 Td -(et)Tj -0 Tc 1.333 0 Td -[(he )-278(descriptors )-278(\336rst, )-278(as )-278(a )-278(defensive)]TJ --22.698 -1.2 Td -[(pr)18(ogramming measur)18(e.)]TJ -1.8 -1.2 Td -[(Note )-61(how )-61(we )-61(try )-61(to )-61(use )-61(the )-61(envir)18(onment )-61(variable)]TJ -/TT0 1 Tf -22.566 0 Td -(PAGER)Tj -/T1_0 1 Tf -3.311 0 Td -[(to )-61(obtain )-61(the )-61(name )-61(of )-61(the)]TJ --27.677 -1.2 Td -[(user )176(\325s)-319(pager )-69(pr)18(ogram. )-319(If)-319(this )-69(doesn\325t )-69(work, )-69(we )-69(use )-69(a )-69(default.)-569(This )-69(is )-69(a )-69(common )-69(usage)]TJ -0 -1.2 Td -[(of envir)18(onment variables.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2173.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -9.9982 0 0 9.9982 93.5832 188.5251 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(Recall )-259(the )-259(\336ve )-259(functions)]TJ -/TT0 1 Tf -11.874 0 Td -(TELL_WAIT)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -6.159 0 Td -(TELL_PARENT)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -7.359 0 Td -(TELL_CHILD)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -6.759 0 Td -(WAIT_PARENT)Tj -/T1_0 1 Tf -(,)Tj --32.15 -1.2 Td -(and)Tj -/TT0 1 Tf -2.149 0 Td -(WAIT_CHILD)Tj -/T1_0 1 Tf -6.456 0 Td -[(fr)18(om )-206(Section )-206(8.9.)-706(In )-206(Figur)]TJ -0.4557 Tc 12.207 0 Td -(e1)Tj -0 Tc 1.435 0 Td -[(0.24, )-206(we )-206(showed )-206(an )-206(implementation)]TJ --22.246 -1.2 Td -[(using signals.)-500(Figur)]TJ -0.25 Tc 8.907 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.7 shows an implementation using pipes.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47264 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(362)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 172.7896 670.2598 Tm -(err_sys\("signal\(SIGQUIT\) error"\);)Tj --2.4 -1.902 Td -(sigemptyset\(&zeromask\);)Tj -0 -1.189 TD -(sigemptyset\(&newmask\);)Tj -T* -(sigaddset\(&newmask, SIGQUIT\);)Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*B)Tj -0 Tc 1.8 0 Td -(lock SIGQUIT and save current signal mask.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(sigprocmask\(SIG_BLOCK, &newmask, &oldmask\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("SIG_BLOCK error"\);)Tj --2.4 -1.902 Td -(while \(quitflag == 0\))Tj -2.4 -1.189 Td -(sigsuspend\(&zeromask\);)Tj --2.4 -1.902 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*S)Tj -0 Tc 1.8 0 Td -(IGQUIT has been caught and is now blocked; do whatever.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(quitflag = 0;)Tj -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*R)Tj -0 Tc 1.8 0 Td -(eset signal mask which unblocks SIGQUIT.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(sigprocmask\(SIG_SETMASK, &oldmask, NULL\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("SIG_SETMASK error"\);)Tj --2.4 -1.902 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4023.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 199.1081 386.2326 Tm -(Figure 10.23)Tj -/T1_1 1 Tf -6.195 0 Td -(Using)Tj -/TT0 1 Tf -2.881 0 Td -(sigsuspend)Tj -/T1_1 1 Tf -6.25 0 Td -(to wait for a global variable to be set)Tj -9.9988 0 0 9.9988 129.5846 362.2355 Tm -[(Sample output fr)18(om this pr)18(ogram is)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5825 345.5375 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj --1.2 -1.189 Td -(\366C)Tj -/T1_2 1 Tf -12 0 Td -(type the interrupt character)Tj -/TT0 1 Tf --12 -1.189 Td -(interrupt)Tj -/TT1 1 Tf -0 -1.189 TD -(\366C)Tj -/T1_2 1 Tf -12 0 Td -(type the interrupt character again)Tj -/TT0 1 Tf --12 -1.189 Td -(interrupt)Tj -/TT1 1 Tf -0 -1.189 TD -(\366C)Tj -/T1_2 1 Tf -12 0 Td -(and again)Tj -/TT0 1 Tf --12 -1.189 Td -(interrupt)Tj -/TT1 1 Tf -0 -1.189 TD -(\366\\)Tj -/TT0 1 Tf -1.8 0 Td -($)Tj -/T1_2 1 Tf -10.2 0 Td -(now terminate with the quit character)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2647.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 183.567 241.0356 Tm -[(For )-22(portability )-22(between )-22(non-POSIX )-22(systems )-22(that )-22(support )-22(ISO )-22(C )-22(and )-22(POSIX.1 )-22(systems, )-22(the )-22(only)]TJ -0 -1.25 TD -[(thing )-402(we )-402(should )-402(do )-402(within )-402(a )-402(signal )-402(handler )-402(is )-402(assign )-402(a )-402(value )-402(to )-402(a )-402(variable )-402(of )-402(type)]TJ -/TT0 1 Tf -T* -(sig_atomic_t)Tj -/T1_1 1 Tf -0.0833 Tc 7.283 0 Td -(\321n)Tj -0 Tc 1.665 0 Td -[(othing )-70(else.)-569(POSIX.1 )-70(goes )-70(further )-70(and )-70(speci\336es )-70(a )-70(list )-70(of )-70(functions )-70(that )-70(ar)21(e)]TJ --8.948 -1.25 Td -[(safe )-48(to )-48(call )-48(fr)18(om )-48(within )-48(a )-48(signal )-48(handler )-48(\(Figur)]TJ -0.2985 Tc 20.867 0 Td -(e1)Tj -0 Tc 1.277 0 Td -[(0.4\), )-48(but )-48(if )-48(we )-48(do )-48(this, )-48(our )-48(code )-48(may )-48(not )-48(r)3(un)]TJ --22.144 -1.25 Td -[(corr)18(ectly on non-POSIX systems.)]TJ -/TT2 1 Tf -9.9982 0 0 9.9982 93.5831 177.0471 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.04 Td -[(As )-200(another )-200(example )-200(of )-200(signals, )-200(we )-200(show )-200(how )-200(signals )-200(can )-200(be )-200(used )-200(to )-200(synchr)15(onize )-200(a)]TJ -0 -1.2 TD -[(par)18(ent )-34(and )-34(child.)-534(Figur)]TJ -0.284 Tc 10.512 0 Td -(e1)Tj -0 Tc 1.263 0 Td -[(0.24 )-34(shows )-34(implementations )-34(of )-34(the )-34(\336ve )-34(r)18(outines)]TJ -/TT0 1 Tf -21.575 0 Td -(TELL_WAIT)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --33.35 -1.2 Td -(TELL_PARENT)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -7.1 0 Td -(TELL_CHILD)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -6.5 0 Td -(WAIT_PARENT)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 7.6 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(WAIT_CHILD)Tj -/T1_1 1 Tf -6.25 0 Td -[(fr)18(om Section 8.9.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47265 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(248)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(mean )-88(that )-88(the )-88(race )-88(condition )-88(doesn\325t )-88(exist; )-88(it )-88(simply )-88(means )-88(that )-88(we )-88(can\325t )-88(see )-88(it )-88(on )-88(this)]TJ -0 -1.2 TD -[(particular system.\))-500(The following actual output shows how the r)18(esults can vary:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 640.2616 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(ooutput from child)Tj -0 -1.189 TD -(utput from parent)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(ooutput from child)Tj -0 -1.189 TD -(utput from parent)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(output from child)Tj -T* -(output from parent)Tj -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5922 536.6678 Tm -[(We )-194(n)]TJ -0 Tc 2.229 0 Td -[(eed )-10(to )-10(change )-10(the )-10(pr)18(ogram )-10(in )-10(Figur)]TJ -0.2596 Tc 15.643 0 Td -(e8)Tj -0 Tc 1.239 0 Td -[(.12 )-10(to )-10(use )-10(the)]TJ -/TT0 1 Tf -6.053 0 Td -(TELL)Tj -/T1_1 1 Tf -2.66 0 Td -(and)Tj -/TT0 1 Tf -1.953 0 Td -(WAIT)Tj -/T1_1 1 Tf -2.66 0 Td -[(functions. )-260(The)]TJ --32.435 -1.2 Td -[(pr)18(ogram in Figur)]TJ -0.25 Tc 7.614 0 Td -(e8)Tj -0 Tc 1.229 0 Td -[(.13 does this.)-500(The lines pr)18(eceded by a plus sign ar)]TJ -0.25 Tc 22.013 0 Td -(en)Tj -0 Tc 1.311 0 Td -(ew lines.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5175.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 140.3832 507.938 Tm -(#include "apue.h")Tj -0 -1.783 TD -(static void charatatime\(char *\);)Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(pid_t )-1200(pid;)]TJ -3 Tc -3.6 -1.783 Td -(+T)Tj -0 Tc 4.2 0 Td -(ELL_WAIT\(\);)Tj --4.2 -1.189 Td -(+)Tj -3.6 -1.189 Td -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid == 0\) {)Tj -5.4 Tc -5.4 -1.189 Td -(+W)Tj -0 Tc 6.6 0 Td -[(AIT_PARENT\(\); )-3000(/*)-600(parent goes first */)]TJ --0.6 -1.189 Td -(charatatime\("output from child\\n"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(charatatime\("output from parent\\n"\);)Tj -5.4 Tc -6 -1.189 Td -(+T)Tj -0 Tc 6.6 0 Td -(ELL_CHILD\(pid\);)Tj --3 -1.189 Td -(})Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(static void)Tj -0 -1.189 TD -(charatatime\(char *str\))Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(*ptr;)]TJ -T* -[(int )-2400(c;)]TJ -0 -1.783 TD -(setbuf\(stdout, NULL\);)Tj -19.2 0 Td -(/* set unbuffered */)Tj --19.2 -1.189 Td -(for \(ptr = str; \(c = *ptr++\) != 0; \))Tj -2.4 -1.189 Td -(putc\(c, stdout\);)Tj --4.8 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1875.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 212.3778 171.5171 Tm -(Figure 8.13)Tj -/T1_1 1 Tf -5.695 0 Td -(Modi\336cation of Figur)Tj -0.25 Tc 9.45 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.12 to avoid race condition)Tj -9.9982 0 0 9.9982 129.5769 147.5214 Tm -[(When )-9(we )-9(r)8(un )-9(this )-9(pr)18(ogram, )-9(the )-9(output )-9(is )-9(as )-9(we )-9(expect; )-9(ther)20(e)-259(is)-259(no)-259(i)1(ntermixing )-9(of )-9(output)]TJ -0 -1.2 TD -[(fr)18(om the two pr)18(ocesses.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47266 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.3)]TJ -36.622 0 Td -(Recor)Tj -0.5 Tc 2.514 0 Td -(dL)Tj -0 Tc 1.722 0 Td -(ocking)Tj -/T1_1 1 Tf -4.975 0 Td -(499)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(This )-3(pr)18(ogram )-3(cr)17(eates )-3(a )-3(\336le )-3(and )-3(enables )-3(mandatory )-3(locking )-3(for )-3(the )-3(\336le.)-503(The )-3(pr)14(ogram)]TJ --1.8 -1.2 Td -[(then )-3(splits )-3(into )-3(par)18(ent )-3(and )-3(child, )-3(with )-3(the )-3(par)18(ent )-3(obtaining )-3(a )-3(write )-3(lock )-3(on )-3(the )-3(entir)]TJ -0.2533 Tc 36.643 0 Td -(e\336)Tj -0 Tc 1.337 0 Td -(le.)Tj --37.98 -1.2 Td -[(The )-87(child )-87(\336rst )-87(sets )-87(its )-87(descriptor )-87(to )-87(be )-87(nonblocking )-87(and )-87(then )-87(attempts )-87(to )-87(obtain )-87(a )-87(r)20(ead)]TJ -0 -1.2 TD -[(lock )-102(on )-102(the )-102(\336le, )-102(expecting )-102(to )-102(get )-102(an )-102(err)16(or)]TJ -0.6022 Tc 18.502 0 Td -(.T)Tj -0 Tc 1.465 0 Td -[(his )-102(lets )-102(us )-102(see )-102(whether )-102(the )-102(system )-102(r)17(eturns)]TJ -/TT0 1 Tf --19.967 -1.2 Td -(EACCES)Tj -/T1_0 1 Tf -3.915 0 Td -(or)Tj -/TT0 1 Tf -1.256 0 Td -(EAGAIN)Tj -/T1_0 1 Tf -0.565 Tc (.N)Tj -0 Tc 5.246 0 Td -[(ext, )-65(the )-65(child )-65(r)18(ewinds )-65(the )-65(\336le )-65(and )-65(tries )-65(to)]TJ -/TT0 1 Tf -18.852 0 Td -(read)Tj -/T1_0 1 Tf -2.715 0 Td -[(fr)18(om )-65(the )-65(\336le.)-565(If)]TJ --31.984 -1.2 Td -[(mandatory )-92(locking )-92(is )-92(pr)18(ovided, )-92(the)]TJ -/TT0 1 Tf -16.307 0 Td -(read)Tj -/T1_0 1 Tf -2.742 0 Td -[(should )-92(r)18(eturn)]TJ -/TT0 1 Tf -6.503 0 Td -(EACCES)Tj -/T1_0 1 Tf -3.942 0 Td -(or)Tj -/TT0 1 Tf -1.283 0 Td -(EAGAIN)Tj -/T1_0 1 Tf -3.942 0 Td -[(\(since )-92(the)]TJ --34.718 -1.2 Td -[(descriptor )-49(is )-49(nonblocking\).)-549(Otherwise, )-49(the)]TJ -/TT0 1 Tf -19.316 0 Td -(read)Tj -/T1_0 1 Tf --0.018 Tc 2.699 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-49(the )-49(data )-49(that )-49(it )-49(r)19(ead. )-299(Running)]TJ --22.871 -1.2 Td -[(this pr)18(ogram under Solaris 10 \(which supports mandatory locking\) gives us)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 129.5924 568.2659 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out temp.lock)Tj -/TT0 1 Tf --1.2 -1.189 Td -(read_lock of already-locked region returns 11)Tj -0 -1.189 TD -(read failed \(mandatory locking works\): Resource temporarily unavailabl\ e)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5924 528.8683 Tm -[(If )-81(we )-81(look )-81(at )-81(either )-81(the )-81(system\325s )-81(headers )-81(or )-81(the)]TJ -/TT0 1 Tf -21.591 0 Td -(intro)Tj -/T1_0 1 Tf -[(\(2\) )-81(manual )-81(page, )-81(we )-81(see )-81(that )-81(an)]TJ -/TT0 1 Tf --21.591 -1.2 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -(of 1)Tj -0.25 Tc 1.574 0 Td -(1c)Tj -0 Tc 1.194 0 Td -[(orr)18(esponds to)]TJ -/TT0 1 Tf -6.357 0 Td -(EAGAIN)Tj -/T1_0 1 Tf -0.5 Tc (.U)Tj -0 Tc 5.128 0 Td -[(nder Fr)18(eeBSD 8.0, we get)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 129.592 500.17 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out temp.lock)Tj -/TT0 1 Tf --1.2 -1.189 Td -(read_lock of already-locked region returns 35)Tj -T* -(read OK \(no mandatory locking\), buf = ab)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.592 460.7724 Tm -[(Her)18(e, an)]TJ -/TT0 1 Tf -3.999 0 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -[(of 35 corr)18(esponds to)]TJ -/TT0 1 Tf -9.18 0 Td -(EAGAIN)Tj -/T1_0 1 Tf -0.5 Tc (.M)Tj -0 Tc 5.296 0 Td -(andatory locking is not supported.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4608.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -9.9988 0 0 9.9988 93.5888 431.9482 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.16 Td -[(Let\325s )-79(r)18(eturn )-79(to )-79(the )-79(\336rst )-79(question )-79(posed )-79(in )-79(this )-79(section: )-79(what )-79(happens )-79(when )-79(two )-79(people)]TJ -0 -1.2 TD -[(edit )-97(the )-97(same )-97(\336le )-97(at )-97(the )-97(same )-97(time?)-597(The )-97(normal )-97(UNIX )-97(System )-97(text )-97(editors )-97(do )-97(not )-97(use)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.2513 Tc 1.367 0 Td -(dl)Tj -0 Tc 1.153 0 Td -[(ocking, )-1(so )-1(the )-1(answer )-1(is )-1(still )-1(that )-1(the )-1(\336nal )-1(r)18(esult )-1(of )-1(the )-1(\336le )-1(corr)18(esponds )-1(to )-1(the )-1(last)]TJ --3.376 -1.2 Td -[(pr)18(ocess that wr)18(ote the \336le.)]TJ -1.8 -1.2 Td -[(Some )-47(versions )-47(of )-47(the)]TJ -/TT0 1 Tf -9.592 0 Td -(vi)Tj -/T1_0 1 Tf -1.497 0 Td -[(editor )-47(use )-47(advisory )-47(r)19(ecor)]TJ -0.2967 Tc 11.155 0 Td -(dl)Tj -0 Tc 1.199 0 Td -[(ocking. )-297(Even)-296(if )-47(we )-47(wer)]TJ -0.2968 Tc 10.526 0 Td -(eu)Tj -0 Tc 1.379 0 Td -(sing)Tj --37.147 -1.2 Td -[(one )-121(of )-121(these )-121(versions )-121(of)]TJ -/TT0 1 Tf -11.214 0 Td -(vi)Tj -/T1_0 1 Tf -0.3707 Tc (,i)Tj -0.3706 Tc 2.112 0 Td -(ts)Tj -0 Tc 1.121 0 Td -[(till )-121(doesn\325t )-121(pr)18(event )-121(users )-121(fr)18(om )-121(r)8(unning )-121(another )-121(editor)]TJ --14.447 -1.2 Td -[(that doesn\325t use advisory r)18(ecor)]TJ -0.25 Tc 13.597 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(ocking.)Tj --12.949 -1.2 Td -[(If )-195(the )-195(system )-195(pr)18(ovides )-195(mandatory )-195(r)16(ecor)]TJ -0.4455 Tc 18.393 0 Td -(dl)Tj -0 Tc 1.347 0 Td -[(ocking, )-196(we )-196(could )-196(modify )-196(our )-196(favorite)]TJ --21.54 -1.2 Td -[(editor )-20(to )-20(use )-20(it )-20(\(if )-20(we )-20(have )-20(the )-20(editor)-72(\325s )-20(sour)18(ce )-20(code\).)-520(Not )-20(having )-20(the )-20(sour)18(ce )-20(code )-20(for )-20(the)]TJ -T* -[(editor)74(,)-271(we)-271(might )-21(try )-21(the )-21(following.)]TJ --0.092 Tc 15.835 0 Td -[(We )-205(w)]TJ -0 Tc 2.492 0 Td -[(rite )-21(our )-21(own )-21(pr)18(ogram )-21(that )-21(is )-21(a )-21(fr)18(ont )-21(end )-21(to)]TJ -/TT0 1 Tf -19.223 0 Td -(vi)Tj -/T1_0 1 Tf -(.)Tj --37.55 -1.2 Td -[(This )-318(pr)18(ogram )-318(immediately )-318(calls)]TJ -/TT0 1 Tf -15.58 0 Td -(fork)Tj -/T1_0 1 Tf -0.5679 Tc (,a)Tj -0 Tc 3.718 0 Td -[(nd )-318(the )-318(par)18(ent )-318(just )-318(waits )-318(for )-318(the )-318(child )-318(to)]TJ --19.298 -1.2 Td -[(complete. )-347(The)-347(child )-97(opens )-97(the )-97(\336le )-97(speci\336ed )-97(on )-97(the )-97(command )-97(line, )-97(enables )-97(mandatory)]TJ -T* -[(locking, )-234(obtains )-234(a )-234(write )-234(lock )-234(on )-234(the )-234(entir)]TJ -0.4837 Tc 19.357 0 Td -(e\336)Tj -0 Tc 1.568 0 Td -[(le, )-234(and )-234(then )-234(executes)]TJ -/TT0 1 Tf -10.367 0 Td -(vi)Tj -/T1_0 1 Tf -0.7337 Tc (.W)Tj -0 Tc 3.184 0 Td -(hile)Tj -/TT0 1 Tf -2.127 0 Td -(vi)Tj -/T1_0 1 Tf -1.684 0 Td -(is)Tj --0.008 Tc -38.285 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning, )-12(the )-12(\336le )-12(is )-12(write )-12(locked, )-12(so )-12(other )-12(users )-12(can\325t )-12(modify )-12(it.)-514(When)]TJ -/TT0 1 Tf -29.964 0 Td -(vi)Tj -/T1_0 1 Tf -1.462 0 Td -[(terminates, )-12(the)]TJ --32.416 -1.2 Td -[(par)18(ent\325s)]TJ -/TT0 1 Tf -3.817 0 Td -(wait)Tj -/T1_0 1 Tf --0.018 Tc 2.65 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns and our fr)18(ont end terminates.)]TJ -0.4037 Tc -5.523 -1.2 Td -(As)Tj -0 Tc 1.606 0 Td -[(mall )-154(fr)18(ont-end )-154(pr)19(ogram )-154(of )-154(this )-154(type )-154(can )-154(be )-154(written, )-154(but )-154(it )-154(doesn\325t )-154(work.)-650(The)]TJ --3.406 -1.2 Td -[(pr)18(oblem )-7(is )-7(that )-7(it )-7(is )-7(common )-7(practice )-7(for )-7(editors )-7(to )-7(r)18(ead )-7(their )-7(input )-7(\336le )-7(and )-7(then )-7(close )-7(it.)]TJ -0.2713 Tc T* -(Al)Tj -0 Tc 1.34 0 Td -[(ock )-21(is )-21(r)18(eleased )-21(on )-21(a )-21(\336le )-21(whenever )-21(a )-21(descriptor )-21(that )-21(r)15(efer)18(ences )-21(that )-21(\336le )-21(is )-21(closed.)-522(As )-21(a)]TJ --0.018 Tc -1.34 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sult, )-6(when )-6(the )-6(editor )-6(closes )-6(the )-6(\336le )-6(after )-6(r)20(eading )-6(its )-6(contents, )-6(the )-6(lock )-6(is )-6(gone.)-505(Ther)]TJ -0.2558 Tc 36.694 0 Td -(ei)Tj -0 Tc 1.026 0 Td -(s)Tj --38.576 -1.2 Td -[(no way to pr)18(event this fr)18(om happening in the fr)18(ont-end pr)18(ogram.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1824.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9982 0 0 9.9982 147.5734 158.3715 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-17(use )-17(r)18(ecor)]TJ -0.267 Tc 5.123 0 Td -(dl)Tj -0 Tc 1.169 0 Td -[(ocking )-17(in )-17(Chapter )-17(20 )-17(in )-17(our )-17(database )-17(library )-17(to )-17(pr)18(ovide )-17(concurr)18(ent)]TJ --9.479 -1.2 Td -[(access )-46(to )-46(multiple )-46(pr)17(ocesses. )-296(W)92(e\325ll )-46(also )-46(pr)18(ovide )-46(some )-46(timing )-46(measur)18(ements )-46(to )-46(see )-46(how)]TJ --0.018 Tc 0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.25 Tc 1.367 0 Td -(dl)Tj -0 Tc 1.152 0 Td -[(ocking af)18(fects a pr)18(ocess.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47267 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(13.4)]TJ -37.311 0 Td -[(Err)18(or )-250(Logging)]TJ -/T1_1 1 Tf -8.522 0 Td -(471)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1417.25 6634.25 cm -0 0 m -3658 0 l -S -Q -Q -BT -/T1_2 1 Tf -7.9995 0 0 7.9995 159.4544 655.3607 Tm -(option)Tj -/T1_0 1 Tf -5.777 0 Td -(XSI )Tj -17.552 0 Td -(Description)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1417.25 6514.25 cm -0 0 m -3658 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1417.25 6494.25 cm -0 0 m -3658 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 145.6665 641.323 Tm -(LOG_CONS)Tj -/T1_0 1 Tf -7.962 0 Td -[(\245)-1961(If the log message can\325t be sent to)]TJ -/TT0 1 Tf -17.608 0 Td -(syslogd)Tj -/T1_0 1 Tf -4.45 0 Td -(via the UNIX domain datagram,)Tj --18.14 -1.25 Td -(the message is written to the console instead.)Tj -/TT0 1 Tf --11.879 -1.625 Td -(LOG_NDELAY)Tj -/T1_0 1 Tf -7.962 0 Td -[(\245)-1961(Open the UNIX domain datagram socket to the)]TJ -/TT0 1 Tf -23.733 0 Td -(syslogd)Tj -/T1_0 1 Tf -4.45 0 Td -(daemon)Tj --24.266 -1.25 Td -[(immediately; don\325t wait until the \336rst message is logged.)-500(Normally)]TJ -0.25 Tc 29.795 0 Td -(,t)Tj -0 Tc 0.826 0 Td -(he)Tj --30.621 -1.25 Td -(socket is not opened until the \336rst message is logged.)Tj -/TT0 1 Tf --11.879 -1.625 Td -(LOG_NOWAIT)Tj -/T1_0 1 Tf -7.962 0 Td -[(\245)-1961(Do not wait for child pr)18(ocesses that might have been cr)18(eated in the pr)18(ocess of)]TJ -3.917 -1.25 Td -[(logging the message.)-500(This pr)18(events con\337icts with applications that catch)]TJ -/TT0 1 Tf -0 -1.25 TD -(SIGCHLD)Tj -/T1_0 1 Tf -0.25 Tc (,s)Tj -0 Tc 5.124 0 Td -[(ince the application might have r)18(etrieved the child\325s status by)]TJ --5.124 -1.25 Td -(the time that)Tj -/TT0 1 Tf -5.85 0 Td -(syslog)Tj -/T1_0 1 Tf -3.85 0 Td -(calls)Tj -/TT0 1 Tf -2.2 0 Td -(wait)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf --23.779 -1.625 Td -(LOG_ODELAY)Tj -/T1_0 1 Tf -7.962 0 Td -[(\245)-1961(Delay the opening of the connection to the)]TJ -/TT0 1 Tf -21.538 0 Td -(syslogd)Tj -/T1_0 1 Tf -4.45 0 Td -(daemon until the \336rst)Tj --22.071 -1.25 Td -(message is logged.)Tj -/TT0 1 Tf --11.879 -1.625 Td -(LOG_PERROR)Tj -/T1_0 1 Tf --0.074 Tc 10.529 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -(ite the log message to standar)Tj -0.25 Tc 13.063 0 Td -(de)Tj -0 Tc 1.34 0 Td -[(rr)18(or in addition to sending it to)]TJ -/TT0 1 Tf -13.98 0 Td -(syslogd)Tj -/T1_0 1 Tf -(.)Tj --28.354 -1.25 Td -(\(Unavailable on Solaris.\))Tj -/TT0 1 Tf --11.879 -1.625 Td -(LOG_PID)Tj -/T1_0 1 Tf -7.962 0 Td -[(\245)-1961(Log the pr)18(ocess ID with each message.)-500(This is intended for daemons that)]TJ -/TT0 1 Tf -3.917 -1.25 Td -(fork)Tj -/T1_0 1 Tf -0.25 Tc 2.65 0 Td -(ac)Tj -0 Tc 1.194 0 Td -[(hild pr)18(ocess to handle dif)18(fer)18(ent r)18(equests \(as compar)18(ed to)]TJ --3.844 -1.25 Td -(daemons, such as)Tj -/TT0 1 Tf -8.002 0 Td -(syslogd)Tj -/T1_0 1 Tf -0.25 Tc (,t)Tj -0 Tc 5.026 0 Td -(hat never call)Tj -/TT0 1 Tf -6.184 0 Td -(fork)Tj -/T1_0 1 Tf -(\).)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1417.25 4724.25 cm -0 0 m -3658 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2239.25 4724.25 cm -0 0 m -0 1910 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1997.25 4724.25 cm -0 0 m -0 1910 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5075.25 4724.25 cm -0 0 m -0 1910 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1417.25 4724.25 cm -0 0 m -0 1910 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 241.7405 454.3182 Tm -(Figure 13.3)Tj -/T1_0 1 Tf -5.695 0 Td -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(option)Tj -/T1_0 1 Tf -2.805 0 Td -[(ar)18(gument for)]TJ -/TT0 1 Tf -6.08 0 Td -(openlog)Tj -/T1_0 1 Tf -9.9982 0 0 9.9982 147.5734 426.7232 Tm -(The)Tj -/T1_2 1 Tf -2.083 0 Td -(format)Tj -/T1_0 1 Tf -3.075 0 Td -[(ar)18(gument )-159(and )-159(any )-159(r)18(emaining )-159(ar)18(guments )-159(ar)]TJ -0.4089 Tc 19.829 0 Td -(ep)Tj -0 Tc 1.489 0 Td -[(assed )-159(to )-159(the)]TJ -/TT0 1 Tf -5.924 0 Td -(vsprintf)Tj -/T1_0 1 Tf --34.2 -1.2 Td -[(function )-1(for )-1(formatting.)-501(Any )-1(occurr)17(ences )-1(of )-1(the )-1(characters)]TJ -/TT0 1 Tf -26.117 0 Td -(%m)Tj -/T1_0 1 Tf -1.451 0 Td -(in)Tj -/T1_2 1 Tf -1.124 0 Td -(format)Tj -/T1_0 1 Tf -2.917 0 Td -(ar)Tj -0.2512 Tc 0.877 0 Td -(e\336)Tj -0 Tc 1.335 0 Td -[(rst )-1(r)18(eplaced)]TJ --33.822 -1.2 Td -[(with the err)18(or message string \()]TJ -/TT0 1 Tf -(strerror)Tj -/T1_0 1 Tf -0.25 Tc (\)c)Tj -0 Tc 19.341 0 Td -[(orr)18(esponding to the value of)]TJ -/TT0 1 Tf -12.816 0 Td -(errno)Tj -/T1_0 1 Tf -(.)Tj --30.357 -1.2 Td -(The)Tj -/TT0 1 Tf -1.981 0 Td -(setlogmask)Tj -/T1_0 1 Tf -6.307 0 Td -[(function )-57(can )-57(be )-57(used )-57(to )-57(set )-57(the )-57(log )-57(priority )-57(mask )-57(for )-57(the )-57(pr)23(ocess.)]TJ --10.087 -1.2 Td -[(This )-97(function )-97(r)18(eturns )-97(the )-97(pr)18(evious )-97(mask.)-597(When )-97(the )-97(log )-97(priority )-97(mask )-97(is )-97(set, )-97(messages)]TJ -0 -1.2 TD -(ar)Tj -0.2725 Tc 0.877 0 Td -(en)Tj -0 Tc 1.334 0 Td -[(ot )-22(logged )-22(unless )-22(their )-22(priority )-22(is )-22(set )-22(in )-22(the )-22(log )-22(priority )-22(mask.)-522(Note )-22(that )-22(attempts )-22(to)]TJ --2.211 -1.2 Td -[(set the log priority mask to 0 will have no ef)18(fect.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.069 0 Td -(logger)Tj -/T1_0 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.728 -0.04 Td -[(pr)18(ogram )-145(is )-145(also )-145(pr)18(ovided )-145(by )-145(many )-145(systems )-145(as )-145(a )-145(way )-145(to )-145(send )-145(log)]TJ --9.029 -1.2 Td -[(messages )-139(to )-139(the)]TJ -/TT0 1 Tf -7.594 0 Td -(syslog)Tj -/T1_0 1 Tf -3.989 0 Td -(facility)Tj -0.6387 Tc 2.921 0 Td -(.S)Tj -0 Tc 1.414 0 Td -[(ome )-139(implementations )-139(allow )-139(optional )-139(ar)18(guments )-139(to)]TJ --15.918 -1.2 Td -[(this )-431(pr)18(ogram, )-431(specifying )-431(the)]TJ -/T1_2 1 Tf -14.397 0 Td -(facility)Tj -/T1_0 1 Tf -(,)Tj -/T1_2 1 Tf -3.727 0 Td -(level)Tj -/T1_0 1 Tf -0.6805 Tc (,a)Tj -0 Tc 3.264 0 Td -(nd)Tj -/T1_2 1 Tf -1.874 0 Td -(ident)Tj -/T1_0 1 Tf -0.6805 Tc (,a)Tj -0 Tc 3.487 0 Td -[(lthough )-430(the )-430(Single )-430(UNIX)]TJ --26.749 -1.2 Td -[(Speci\336cation )-56(doesn\325t )-56(de\336ne )-56(any )-56(options.)-555(The)]TJ -/TT0 1 Tf -20.599 0 Td -(logger)Tj -/T1_0 1 Tf -3.906 0 Td -[(command )-56(is )-56(intended )-56(for )-56(a )-56(shell)]TJ --24.505 -1.2 Td -[(script r)8(unning noninteractively that needs to generate log messages.)]TJ -/TT1 1 Tf --3.6 -2.4 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.16 Td -(In a \(hypothetical\) line printer spooler daemon, you might encounter t\ he sequence)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.5738 234.598 Tm -(openlog\("lpd", LOG_PID, LOG_LPR\);)Tj -0 -1.189 TD -(syslog\(LOG_ERR, "open error for %s: %m", filename\);)Tj -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5771 208.0425 Tm -[(The )-170(\336rst )-170(call )-170(sets )-170(the)]TJ -/T1_2 1 Tf -10.089 0 Td -(ident)Tj -/T1_0 1 Tf -2.476 0 Td -[(string )-170(to )-170(the )-170(pr)19(ogram )-170(name, )-170(speci\336es )-170(that )-170(the )-170(pr)18(ocess )-170(ID)]TJ --12.564 -1.2 Td -[(should )-6(always )-6(be )-6(printed, )-6(and )-6(sets )-6(the )-6(default)]TJ -/T1_2 1 Tf -20.651 0 Td -(facility)Tj -/T1_0 1 Tf -3.052 0 Td -[(to )-6(the )-6(line )-6(printer )-6(system.)-506(The )-6(call)]TJ --23.702 -1.2 Td -(to)Tj -/TT0 1 Tf -1.339 0 Td -(syslog)Tj -/T1_0 1 Tf -4.066 0 Td -[(speci\336es )-216(an )-216(err)17(or )-216(condition )-216(and )-216(a )-216(message )-216(string.)-716(If )-216(we )-216(had )-216(not )-216(called)]TJ -/TT0 1 Tf --5.405 -1.2 Td -(openlog)Tj -/T1_0 1 Tf -0.25 Tc (,t)Tj -0 Tc 5.026 0 Td -(he second call could have been)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.5743 157.4914 Tm -(syslog\(LOG_ERR | LOG_LPR, "open error for %s: %m", filename\);)Tj -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5776 141.6345 Tm -[(Her)18(e, we specify the)]TJ -/T1_2 1 Tf -9.245 0 Td -(priority)Tj -/T1_0 1 Tf -3.361 0 Td -[(ar)18(gument as a combination of a)]TJ -/T1_2 1 Tf -14.153 0 Td -(level)Tj -/T1_0 1 Tf -2.084 0 Td -(and a)Tj -/T1_2 1 Tf -2.693 0 Td -(facility)Tj -/T1_0 1 Tf -(.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1416.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47268 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(372)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(When )-189(we )-189(terminate )-189(the)]TJ -/TT0 1 Tf -11.361 0 Td -(sleep)Tj -/T1_1 1 Tf -3.439 0 Td -[(call )-189(with )-189(the )-189(interr)7(upt )-189(signal, )-189(the)]TJ -/TT0 1 Tf -15.853 0 Td -(pr_exit)Tj -/T1_1 1 Tf -4.639 0 Td -(function)Tj --35.293 -1.2 Td -(\(Figur)Tj -0.3477 Tc 2.716 0 Td -(e8)Tj -0 Tc 1.327 0 Td -[(.5\) )-98(thinks )-98(that )-98(it )-98(terminated )-98(normally)]TJ -0.5977 Tc 16.738 0 Td -(.T)Tj -0 Tc 1.461 0 Td -[(he )-98(same )-98(thing )-98(happens )-98(when )-98(we )-98(kill)]TJ --22.242 -1.2 Td -(the)Tj -/TT0 1 Tf -1.682 0 Td -(sleep)Tj -/T1_1 1 Tf -3.295 0 Td -[(call )-45(with )-45(the )-45(quit )-45(key)]TJ -0.5455 Tc 9.388 0 Td -(.A)Tj -0.2955 Tc 1.574 0 Td -(st)Tj -0 Tc 1.046 0 Td -[(his )-45(example )-45(demonstrates, )-45(the )-45(Bourne )-45(shell )-45(has )-45(a)]TJ --16.984 -1.2 Td -[(poorly )-316(documented )-316(featur)19(e)-566(in)-566(w)1(hich )-316(its )-316(termination )-316(status )-316(is )-316(128 )-316(plus )-316(the )-316(signal)]TJ -0 -1.2 Td -(number)Tj -0.2738 Tc 3.421 0 Td -(,w)Tj -0 Tc 1.358 0 Td -[(hen )-24(the )-24(command )-24(it )-24(was )-24(executing )-24(is )-24(terminated )-24(by )-24(a )-24(signal.)]TJ --0.092 Tc 27.482 0 Td -[(We )-208(c)]TJ -0 Tc 2.105 0 Td -[(an )-24(see )-24(this)]TJ --34.365 -1.2 Td -[(with the shell interactively)111(.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5916 590.1248 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(sh)Tj -/T1_2 1 Tf -18.8 0 Td -(make sur)Tj -0.25 Tc 3.621 0 Td -(ew)Tj -0 Tc 1.361 0 Td -(e\325r)Tj -0.25 Tc 1.038 0 Td -(er)Tj -0 Tc 1.028 0 Td -(unning the Bourne shell)Tj -/TT0 1 Tf --27.048 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(sh -c "sleep 30")Tj --1.2 -1.189 Td -(\366C)Tj -/T1_2 1 Tf -20 0 Td -[(pr)18(ess the interrupt key)]TJ -/TT0 1 Tf --20 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(echo $?)Tj -/T1_2 1 Tf -18.8 0 Td -(print termination status of last command)Tj -/TT0 1 Tf --20 -1.189 Td -(130)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(sh -c "sleep 30")Tj --1.2 -1.189 Td -(\366\\)Tj -/TT0 1 Tf -(sh: 962 Quit - core dumped)Tj -/T1_2 1 Tf -20 0 Td -[(pr)18(ess the quit key)]TJ -/TT0 1 Tf --20 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(echo $?)Tj -/T1_2 1 Tf -18.8 0 Td -(print termination status of last command)Tj -/TT0 1 Tf --20 -1.189 Td -(131)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(exit)Tj -/T1_2 1 Tf -18.8 0 Td -(leave Bourne shell)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5927 473.6916 Tm -[(On )-158(the )-158(system )-158(being )-158(used,)]TJ -/TT0 1 Tf -12.715 0 Td -(SIGINT)Tj -/T1_1 1 Tf -4.008 0 Td -[(has )-158(a )-158(value )-158(of )-158(2 )-158(and)]TJ -/TT0 1 Tf -9.964 0 Td -(SIGQUIT)Tj -/T1_1 1 Tf -4.608 0 Td -[(has )-158(a )-158(value )-158(of )-158(3,)]TJ --31.295 -1.2 Td -(giving us the shell\325s termination statuses of 130 and 131.)Tj -1.8 -1.2 Td -[(Let\325s )-21(try )-21(a )-21(similar )-21(example, )-21(but )-21(this )-21(time )-21(we\325ll )-21(send )-21(a )-21(signal )-21(dir)16(ectly )-21(to )-21(the )-21(shell )-21(and)]TJ --1.8 -1.2 Td -[(see what is r)18(eturned by)]TJ -/TT0 1 Tf -10.55 0 Td -(system)Tj -/T1_1 1 Tf -(:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5916 418.8551 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(tsys "sleep 30" &)Tj -/T1_2 1 Tf -20.4 0 Td -[(start it in backgr)18(ound this time)]TJ -/TT0 1 Tf --21.6 -1.189 Td -(9257)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(ps -f)Tj -/T1_2 1 Tf -20.4 0 Td -[(look at the pr)18(ocess IDs)]TJ -/TT0 1 Tf --18.6 -1.189 Td -[(UID )-1200(PID)-1200(PPID )-600(TTY)-3600(TIME CMD)]TJ -T* -[(sar )-600(9260)-1800(949 )-600(pts/5)-2400(0:00 ps -f)]TJ -0 -1.189 TD -[(sar )-600(9258 )-600(9257 )-600(pts/5)-2400(0:00 sh -c sleep 30)]TJ -0 -1.189 TD -[(sar )-1200(949 )-1200(947)-1200(pts/5 )-1800(0:01)-600(/bin/sh)]TJ -T* -[(sar )-600(9257)-1800(949 )-600(pts/5)-2400(0:00 tsys sleep 30)]TJ -T* -[(sar )-600(9259 )-600(9258 )-600(pts/5)-2400(0:00 sleep 30)]TJ --3 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(kill -KILL 9258)Tj -/T1_2 1 Tf -20.4 0 Td -(kill the shell itself)Tj -/TT0 1 Tf --21.6 -1.189 Td -(abnormal termination, signal number = 9)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5927 291.7225 Tm -[(Her)18(e, )-105(we )-105(can )-105(see )-105(that )-105(the )-105(r)18(eturn )-105(value )-105(fr)14(om)]TJ -/TT0 1 Tf -20.297 0 Td -(system)Tj -/T1_1 1 Tf --0.018 Tc 3.955 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ports )-105(an )-105(abnormal )-105(termination)]TJ --25.109 -1.2 Td -[(only when the shell itself terminates abnormally)111(.)]TJ -7.9995 0 0 7.9995 183.5898 258.7245 Tm -[(Other )-179(shells )-179(behave )-179(dif)18(fer)18(ently )-179(when )-179(handling )-179(terminal-generated )-179(signals, )-179(such )-179(as)]TJ -/TT0 1 Tf -38.4 0 Td -(SIGINT)Tj -/T1_1 1 Tf --38.4 -1.25 Td -(and)Tj -/TT0 1 Tf -1.948 0 Td -(SIGQUIT)Tj -/T1_1 1 Tf -0.5045 Tc (.W)Tj -0 Tc 5.9 0 Td -(ith)Tj -/TT0 1 Tf -1.454 0 Td -(bash)Tj -/T1_1 1 Tf -2.654 0 Td -(and)Tj -/TT0 1 Tf -1.948 0 Td -(dash)Tj -/T1_1 1 Tf -0.2545 Tc (,f)Tj -0 Tc 3.237 0 Td -[(or )-4(example, )-4(pr)18(essing )-4(the )-4(interr)6(upt )-4(or )-4(quit )-4(key )-4(will )-4(r)16(esult)]TJ --17.14 -1.25 Td -[(in )-271(an )-271(exit )-271(status )-271(indicating )-271(abnormal )-271(termination )-271(with )-271(the )-271(corr)18(esponding )-271(signal )-271(number)69(.)]TJ -0 -1.25 TD -[(However)74(,)-418(if)-418(we)-418(\336nd )-168(our )-168(pr)18(ocess )-168(executing)]TJ -/TT0 1 Tf -20.083 0 Td -(sleep)Tj -/T1_1 1 Tf -3.418 0 Td -[(and )-168(send )-168(it )-168(a )-168(signal )-168(dir)18(ectly)111(,)-418(so)-418(that )-168(the)]TJ --23.501 -1.25 Td -[(signal )-80(goes )-80(only )-80(to )-80(the )-80(individual )-80(pr)18(ocess )-80(instead )-80(of )-80(the )-80(entir)]TJ -0.3301 Tc 27.649 0 Td -(ef)Tj -0 Tc 1.142 0 Td -[(or)18(egr)18(ound )-80(pr)18(ocess )-80(gr)18(oup, )-80(we)]TJ --28.791 -1.25 Td -[(will )-170(\336nd )-170(that )-170(these )-170(shells )-170(behave )-170(like )-170(the )-170(Bourne )-170(shell )-170(and )-170(exit )-170(with )-170(a )-170(normal )-170(termination)]TJ -T* -[(status of 128 plus the signal number)74(.)]TJ -9.9994 0 0 9.9994 147.5924 175.7295 Tm -[(When )-232(writing )-232(pr)18(ograms )-232(that )-232(use )-232(the)]TJ -/TT0 1 Tf -17.72 0 Td -(system)Tj -/T1_1 1 Tf -4.082 0 Td -[(function, )-232(be )-232(sur)18(e)-482(to)-482(interpr)18(et )-232(the)]TJ --0.018 Tc -23.602 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-233(value )-233(corr)18(ectly)]TJ -0.7329 Tc 9.057 0 Td -(.I)Tj -0.4829 Tc 1.32 0 Td -(fy)Tj -0 Tc 1.372 0 Td -[(ou )-233(call)]TJ -/TT0 1 Tf -3.641 0 Td -(fork)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.133 0 Td -(exec)Tj -/T1_1 1 Tf -0.4828 Tc (,a)Tj -0 Tc 3.633 0 Td -(nd)Tj -/TT0 1 Tf -1.676 0 Td -(wait)Tj -/T1_1 1 Tf -2.883 0 Td -[(yourself, )-233(the )-233(termination)]TJ --27.569 -1.2 Td -(status is not the same as if you call)Tj -/TT0 1 Tf -15.474 0 Td -(system)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47269 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(368)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -2.259 TD -(static void)Tj -0 -1.189 TD -(sig_int\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("caught SIGINT\\n"\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.259 TD -(static void)Tj -0 -1.189 TD -(sig_chld\(int signo\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(printf\("caught SIGCHLD\\n"\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.259 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(signal\(SIGINT, sig_int\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("signal\(SIGINT\) error"\);)Tj --2.4 -1.189 Td -(if \(signal\(SIGCHLD, sig_chld\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("signal\(SIGCHLD\) error"\);)Tj --2.4 -1.189 Td -(if \(system\("/bin/ed"\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("system\(\) error"\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4011.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 232.3641 385.0618 Tm -(Figure 10.26)Tj -/T1_1 1 Tf -6.195 0 Td -(Using)Tj -/TT0 1 Tf -2.881 0 Td -(system)Tj -/T1_1 1 Tf -3.85 0 Td -(to invoke the)Tj -/TT0 1 Tf -6.028 0 Td -(ed)Tj -/T1_1 1 Tf -1.45 0 Td -(editor)Tj -9.9988 0 0 9.9988 129.5844 361.0647 Tm -[(par)18(ent )-56(should )-56(be )-56(blocked )-56(while )-56(the)]TJ -/TT0 1 Tf -16.132 0 Td -(system)Tj -/T1_1 1 Tf -3.906 0 Td -[(function )-56(is )-56(executing.)-556(Indeed, )-56(this )-56(is )-56(what)]TJ --20.038 -1.2 Td -[(POSIX.1 )-95(speci\336es.)-595(Otherwise, )-95(when )-95(the )-95(child )-95(cr)18(eated )-95(by)]TJ -/TT0 1 Tf -25.929 0 Td -(system)Tj -/T1_1 1 Tf -3.945 0 Td -[(terminates, )-95(it )-95(would)]TJ --29.873 -1.2 Td -[(fool )-149(the )-149(caller )-149(of)]TJ -/TT0 1 Tf -7.976 0 Td -(system)Tj -/T1_1 1 Tf -3.999 0 Td -[(into )-149(thinking )-149(that )-149(one )-149(of )-149(its )-149(own )-149(childr)18(en )-149(terminated.)-646(The)]TJ --11.975 -1.2 Td -[(caller )-160(would )-160(then )-160(use )-160(one )-160(of )-160(the)]TJ -/TT0 1 Tf -15.502 0 Td -(wait)Tj -/T1_1 1 Tf -2.81 0 Td -[(functions )-160(to )-160(get )-160(the )-160(termination )-160(status )-160(of )-160(the)]TJ --18.311 -1.2 Td -[(child, )-187(ther)18(eby )-187(pr)18(eventing )-187(the)]TJ -/TT0 1 Tf -13.794 0 Td -(system)Tj -/T1_1 1 Tf -4.037 0 Td -[(function )-187(fr)18(om )-187(being )-187(able )-187(to )-187(obtain )-187(the )-187(child\325s)]TJ --17.832 -1.2 Td -[(termination status for its r)18(eturn value.)]TJ -1.8 -1.2 Td -[(If )-11(we )-11(r)8(un )-11(the )-11(pr)18(ogram )-11(again, )-11(this )-11(time )-11(sending )-11(the )-11(editor )-11(an )-11(interr)4(upt )-11(signal, )-11(we )-11(get)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5818 272.3753 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj --1.2 -1.189 Td -(a)Tj -/T1_2 1 Tf -12 0 Td -(append text to the editor)Tj --0.055 Tc 9.813 0 Td -[(\325s )-110(b)]TJ -0 Tc 1.325 0 Td -(uffer)Tj -/TT1 1 Tf --23.138 -1.189 Td -(hello, world)Tj -T* -(.)Tj -/T1_2 1 Tf -12 0 Td -(period on a line by itself stops append mode)Tj -/TT1 1 Tf --12 -1.189 Td -(1,$p)Tj -/T1_2 1 Tf -12 0 Td -[(print \336rst thr)18(ough last lines to see what\325)]TJ -0.25 Tc 16.149 0 Td -(st)Tj -0 Tc 0.972 0 Td -[(her)18(e)]TJ -/TT0 1 Tf --29.121 -1.189 Td -(hello, world)Tj -/TT1 1 Tf -0.6 Tc T* -(wt)Tj -0 Tc 1.8 0 Td -(emp.foo)Tj -/T1_2 1 Tf -10.2 0 Td -(write the buffer to a \336le)Tj -/TT0 1 Tf --12 -1.189 Td -(13)Tj -/T1_2 1 Tf -12 0 Td -[(editor says it wr)18(ote 13 bytes)]TJ -/TT1 1 Tf --12 -1.189 Td -(\366C)Tj -/T1_2 1 Tf -12 0 Td -(type the interrupt character)Tj -/TT0 1 Tf --12 -1.189 Td -(?)Tj -/T1_2 1 Tf -12 0 Td -(editor catches signal, prints question mark)Tj -/TT0 1 Tf --12 -1.189 Td -(caught SIGINT)Tj -/T1_2 1 Tf -12 0 Td -[(and so does the par)18(ent pr)18(ocess)]TJ -/TT1 1 Tf --12 -1.189 Td -(q)Tj -/T1_2 1 Tf -12 0 Td -(leave editor)Tj -/TT0 1 Tf --12 -1.189 Td -(caught SIGCHLD)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47270 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(246)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-329(s)]TJ -0 Tc 2.206 0 Td -[(aw )-144(a )-144(potential )-144(race )-144(condition )-144(in )-144(the )-144(pr)18(ogram )-144(in )-144(Figur)]TJ -0.3945 Tc 24.737 0 Td -(e8)Tj -0 Tc 1.374 0 Td -[(.8 )-144(when )-144(the )-144(second)]TJ --30.116 -1.2 Td -[(child )-82(printed )-82(its )-82(par)18(ent )-82(pr)18(ocess )-82(ID.)-582(If )-82(the )-82(second )-82(child )-82(r)5(uns )-82(befor)]TJ -0.3322 Tc 29.617 0 Td -(et)Tj -0 Tc 1.137 0 Td -[(he )-82(\336rst )-82(child, )-82(then)]TJ --30.754 -1.2 Td -[(its )-67(par)18(ent )-67(pr)18(ocess )-67(will )-67(be )-67(the )-67(\336rst )-67(child.)-567(But )-67(if )-67(the )-67(\336rst )-67(child )-67(r)7(uns )-67(\336rst )-67(and )-67(has )-67(enough)]TJ -0 -1.2 TD -[(time )-40(to)]TJ -/TT0 1 Tf -3.432 0 Td -(exit)Tj -/T1_1 1 Tf -0.2904 Tc (,t)Tj -0 Tc 3.266 0 Td -[(hen )-40(the )-40(par)17(ent )-40(pr)18(ocess )-40(of )-40(the )-40(second )-40(child )-40(is)]TJ -/TT0 1 Tf -20.089 0 Td -(init)Tj -/T1_1 1 Tf -0.5403 Tc (.E)Tj -0 Tc 3.801 0 Td -[(ven )-40(calling)]TJ -/TT0 1 Tf -5.162 0 Td -(sleep)Tj -/T1_1 1 Tf -(,)Tj --35.75 -1.2 Td -[(as )-3(we )-3(did, )-3(guarantees )-3(nothing.)-503(If )-3(the )-3(system )-3(was )-3(heavily )-3(loaded, )-3(the )-3(second )-3(child )-3(could)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(sume )-52(after)]TJ -/TT0 1 Tf -5.025 0 Td -(sleep)Tj -/T1_1 1 Tf --0.018 Tc 3.302 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns, )-52(befor)]TJ -0.3016 Tc 5.17 0 Td -(et)Tj -0 Tc 1.107 0 Td -[(he )-51(\336rst )-51(child )-51(has )-51(a )-51(chance )-51(to )-51(r)5(un. )-301(Pr)18(oblems )-51(of )-51(this)]TJ --16.315 -1.2 Td -[(form can be dif)18(\336cult to debug because they tend to work \324)37(\324most of the time.\325)37(\325)]TJ -0.4214 Tc 1.8 -1.2 Td -(Ap)Tj --0.018 Tc 1.8 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-171(that )-171(wants )-171(to )-171(wait )-171(for )-171(a )-171(child )-171(to )-171(terminate )-171(must )-171(call )-171(one )-171(of )-171(the)]TJ -/TT0 1 Tf -32.076 0 Td -(wait)Tj -/T1_1 1 Tf --36.6 -1.2 Td -[(functions. )-292(If)]TJ -0.292 Tc 5.885 0 Td -(ap)Tj --0.018 Tc 1.393 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-42(wants )-42(to )-42(wait )-42(for )-42(its )-42(par)18(ent )-42(to )-42(terminate, )-42(as )-42(in )-42(the )-42(pr)18(ogram )-42(fr)19(om)]TJ --8.201 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.8, a loop of the following form could be used:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5919 544.2673 Tm -(while \(getppid\(\) != 1\))Tj -2.4 -1.189 Td -(sleep\(1\);)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.593 515.5691 Tm -[(The )-155(pr)18(oblem )-155(with )-155(this )-155(type )-155(of )-155(loop, )-155(called)]TJ -/T1_2 1 Tf -19.991 0 Td -(polling)Tj -/T1_1 1 Tf -[(,)-405(is)-405(that )-155(it )-155(wastes )-155(CPU )-155(time, )-155(as )-155(the)]TJ --19.991 -1.2 Td -(caller is awakened every second to test the condition.)Tj --0.092 Tc 1.8 -1.2 Td -[(To )-299(a)]TJ -0 Tc 1.932 0 Td -[(void )-115(race )-115(conditions )-115(and )-115(to )-115(avoid )-115(polling, )-115(some )-115(form )-115(of )-115(signaling )-115(is )-115(r)23(equir)18(ed)]TJ --3.732 -1.2 Td -[(between )-48(multiple )-48(pr)18(ocesses. )-298(Signals)-298(can )-48(be )-48(used )-48(for )-48(this )-48(purpose, )-48(and )-48(we )-48(describe )-48(one)]TJ -0 -1.2 Td -[(way )-32(to )-32(do )-32(this )-32(in )-32(Section )-32(10.16.)]TJ --0.092 Tc 14.33 0 Td -(Va)Tj -0 Tc 1.13 0 Td -[(rious )-32(forms )-32(of )-32(interpr)18(ocess )-32(communication)]TJ -19.417 0.04 Td -(\()Tj -0.333 -0.04 Td -(IPC)Tj -1.65 0.04 Td -(\))Tj -0.615 -0.04 Td -(can)Tj --37.474 -1.2 Td -(also be used.)Tj --0.092 Tc 6.16 0 Td -(We)Tj -0 Tc 1.387 0 Td -(\325ll discuss some of these options in Chapters 15 and 17.)Tj --5.747 -1.2 Td -[(For )-32(a )-32(par)18(ent )-32(and )-32(child )-32(r)18(elationship, )-32(we )-32(often )-32(have )-32(the )-32(following )-32(scenario.)-531(After )-32(the)]TJ -/TT0 1 Tf --1.8 -1.2 Td -(fork)Tj -/T1_1 1 Tf -0.4086 Tc (,b)Tj -0 Tc 3.612 0 Td -[(oth )-159(the )-159(par)18(ent )-159(and )-159(the )-159(child )-159(have )-159(something )-159(to )-159(do.)-655(For )-158(example, )-158(the )-158(par)17(ent)]TJ --3.612 -1.2 Td -[(could )-35(update )-35(a )-35(r)17(ecor)18(d)-285(in)-285(a)-285(l)-1(og )-35(\336le )-35(with )-35(the )-35(child\325s )-35(pr)18(ocess )-35(ID, )-35(and )-35(the )-35(child )-35(might )-35(have)]TJ -0 -1.2 Td -[(to )-13(cr)18(eate )-13(a )-13(\336le )-13(for )-13(the )-13(par)20(ent. )-263(In)-262(this )-13(example, )-13(we )-13(r)19(equir)]TJ -0.2627 Tc 24.809 0 Td -(et)Tj -0 Tc 1.068 0 Td -[(hat )-13(each )-13(pr)18(ocess )-13(tell )-13(the )-13(other)]TJ --25.876 -1.2 Td -[(when )-183(it )-183(has )-183(\336nished )-183(its )-183(initial )-183(set )-183(of )-183(operations, )-183(and )-183(that )-183(each )-183(wait )-183(for )-183(the )-183(other )-183(to)]TJ -T* -(complete, befor)Tj -0.25 Tc 6.837 0 Td -(eh)Tj -0 Tc 1.311 0 Td -[(eading of)18(f)-250(on)-250(its own.)-500(The following code illustrates this scenario:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5921 366.878 Tm -[(#include )-600("apue.h")]TJ -0 -1.902 TD -[(TELL_WAIT\(\); )-1800(/*)-600(set things up for TELL_xxx & WAIT_xxx */)]TJ -T* -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid == 0\) {)Tj -18.6 0 Td -(/* child */)Tj --18 -1.902 Td -(/* child does whatever is necessary ... */)Tj -T* -[(TELL_PARENT\(getppid\(\)\); )-2400(/*)-600(tell parent we\325re done */)]TJ -0 -1.189 TD -(WAIT_PARENT\(\); )Tj -16.8 0 Td -[(/*)-600(and wait for parent */)]TJ --16.8 -1.902 Td -(/* and the child continues on its way ... */)Tj -0 -1.902 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -T* -(/* parent does whatever is necessary ... */)Tj -T* -(TELL_CHILD\(pid\); )Tj -16.8 0 Td -[(/*)-600(tell child we\325re done */)]TJ --16.8 -1.189 Td -(WAIT_CHILD\(\); )Tj -16.8 0 Td -[(/*)-600(and wait for child */)]TJ --16.8 -1.902 Td -(/* and the parent continues on its way ... */)Tj -T* -(exit\(0\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47271 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(232)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -1341.24 5558 1008 1080 re -S -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 138.9277 667 Tm -[(par)18(ent pr)18(ocess table entry)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1629.24 6062 576 72 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1629.24 5990 576 72 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1629.24 5918 576 72 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1629.24 5702 576 216 re -S -Q -BT -/T1_1 1 Tf -0.25 Tc 13.9983 0 0 13.9983 182.952 579.1705 Tm -(...)Tj -0 Tc 6.9992 0 0 6.9992 147.5485 607.9666 Tm -(fd 0:)Tj -0 -1.029 TD -(fd 1:)Tj -T* -(fd 2:)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1845.25 6134.25 cm -0 0 m -0 -216 l -S -Q -Q -BT -/T1_1 1 Tf -6.9987 0 0 6.9987 170.3893 622.288 Tm -(fd)Tj --0.572 -0.714 Td -(\337ags)Tj -4.471 0.714 Td -(\336le)Tj --0.923 -0.714 Td -(pointer)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -1341.24 4118 1008 1080 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 141.486 522.9145 Tm -[(child pr)18(ocess table entry)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1629.24 4622 576 72 re -S -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1629.24 4550 576 72 re -S -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1629.24 4478 576 72 re -S -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1629.24 4262 576 216 re -S -Q -BT -/T1_1 1 Tf -0.25 Tc 13.9958 0 0 13.9958 182.9191 435.1094 Tm -(...)Tj -0 Tc 6.9979 0 0 6.9979 147.5219 463.9012 Tm -(fd 0:)Tj -0 -1.029 TD -(fd 1:)Tj -0 -1.029 TD -(fd 2:)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1845.25 4694.25 cm -0 0 m -0 -216 l -S -Q -Q -BT -/T1_1 1 Tf -6.9975 0 0 6.9975 170.3587 478.2278 Tm -(fd)Tj --0.572 -0.714 Td -(\337ags)Tj -4.471 0.714 Td -(\336le)Tj --0.923 -0.714 Td -(pointer)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2925.24 6494 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 302.1331 654.565 Tm -(\336le status \337ags)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -2925.24 6350 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 298.3647 640.1327 Tm -[(curr)18(ent \336le of)18(fset)]TJ -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -2925.24 6206 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 302.0169 625.702 Tm -(v-node pointer)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -2925.24 5702 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9952 0 0 7.9952 302.0787 575.2947 Tm -(\336le status \337ags)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -2925.24 5558 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9947 0 0 7.9947 298.311 560.8697 Tm -[(curr)18(ent \336le of)18(fset)]TJ -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -2925.24 5414 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9942 0 0 7.9942 301.9625 546.4464 Tm -(v-node pointer)Tj -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -2925.24 4910 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9938 0 0 7.9938 302.0243 496.0529 Tm -(\336le status \337ags)Tj -ET -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -2925.24 4766 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9933 0 0 7.9933 298.2574 481.6352 Tm -[(curr)18(ent \336le of)18(fset)]TJ -ET -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -2925.24 4622 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9928 0 0 7.9928 301.9082 467.2193 Tm -(v-node pointer)Tj -1.406 24.925 Td -(\336le table)Tj -6.9937 0 0 6.9937 427.4961 652.4525 Tm -(v-node information)Tj -/TT0 1 Tf -2.52 -2.057 Td -(v_data)Tj -/T1_1 1 Tf --2.383 -4.114 Td -(i-node information)Tj -0.796 -2.057 Td -[(curr)18(ent \336le size)]TJ -/TT0 1 Tf -1.287 -1.543 Td -(i_vnode)Tj -ET -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 6638.25 cm -0 0 m -0 -288 l -720 -288 l -720 0 l -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 6206.25 cm -0 0 m -0 -396 l -720 -396 l -720 0 l -0 0 l -720 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 6458.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 6458.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 6458.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 6458.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 6458.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 6458.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 6458.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 6458.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 6458.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 6458.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 6026.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 6026.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 6026.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 6026.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 6026.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 6026.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 6026.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 6026.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 6026.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 6026.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5918.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 5918.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 5918.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 5918.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 5918.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 5918.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 5918.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 5918.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 5918.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 5918.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 422.124 622.76 cm -0 0 m --5.328 5.184 l --2.232 7.056 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 4221.2402 6227.6001 cm -0 0 m --53.28 51.84 l --22.32 70.56 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4293.2402 6404 cm -0 0 m --90 0 l --150 0 -162.6 -28.32 -127.8 -84.96 c --75.6 -169.92 l -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 496.284 663.8 cm -0 0 m -4.032 -6.192 l -0.648 -7.344 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 4962.8398 6638 cm -0 0 m -40.32 -61.92 l -6.48 -73.44 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4869.2402 5864 cm -0 0 m -180 0 l -300 0 315.96 127.92 227.88 383.76 c -95.76 767.52 l -S -Q -Q -BT -/T1_1 1 Tf -6.9924 0 0 6.9924 427.4191 533.6633 Tm -(v-node information)Tj -/TT0 1 Tf -2.52 -2.057 Td -(v_data)Tj -/T1_1 1 Tf --2.383 -4.114 Td -(i-node information)Tj -0.796 -2.057 Td -[(curr)18(ent \336le size)]TJ -/TT0 1 Tf -1.287 -1.543 Td -(i_vnode)Tj -ET -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5450.25 cm -0 0 m -0 -288 l -720 -288 l -720 0 l -0 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5018.25 cm -0 0 m -0 -396 l -720 -396 l -720 0 l -0 0 l -720 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 5270.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 4838.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 4838.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 4838.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 4838.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 4838.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 4838.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 4838.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 4838.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 4838.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 4838.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 4730.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 4730.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 4730.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 4730.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 4730.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 4730.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 4730.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 4730.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 4730.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 4730.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 422.124 503.96 cm -0 0 m --5.328 5.184 l --2.232 7.056 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 4221.2402 5039.6001 cm -0 0 m --53.28 51.84 l --22.32 70.56 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4293.2402 5216 cm -0 0 m --90 0 l --150 0 -162.6 -28.32 -127.8 -84.96 c --75.6 -169.92 l -S -Q -Q -q -0.9988007 0 0 0.9988007 0 0 cm -q 1 0 0 1 496.284 545 cm -0 0 m -4.032 -6.192 l -0.648 -7.344 l -f -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -1 j 1 J -q 1 0 0 1 4962.8398 5450 cm -0 0 m -40.32 -61.92 l -6.48 -73.44 l -h -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4869.2402 4676 cm -0 0 m -180 0 l -300 0 315.96 127.92 227.88 383.76 c -95.76 767.52 l -S -Q -Q -BT -/T1_1 1 Tf -6.9912 0 0 6.9912 427.3422 414.9169 Tm -(v-node information)Tj -/TT0 1 Tf -2.52 -2.057 Td -(v_data)Tj -/T1_1 1 Tf --2.383 -4.114 Td -(i-node information)Tj -0.796 -2.057 Td -[(curr)18(ent \336le size)]TJ -/TT0 1 Tf -1.287 -1.543 Td -(i_vnode)Tj -ET -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 4262.25 cm -0 0 m -0 -288 l -720 -288 l -720 0 l -0 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 3830.25 cm -0 0 m -0 -396 l -720 -396 l -720 0 l -0 0 l -720 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 4082.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 4082.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 4082.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 4082.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 4082.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 4082.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 4082.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 4082.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 4082.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 4082.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 3650.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 3650.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 3650.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 3650.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 3650.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 3650.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 3650.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 3650.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 3650.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 3650.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 3542.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 3542.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 3542.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 3542.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 3542.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 3542.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 3542.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 3542.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 3542.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 3542.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.9986808 0 0 0.9986808 0 0 cm -q 1 0 0 1 422.124 385.16 cm -0 0 m --5.328 5.184 l --2.232 7.056 l -f -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -1 j 1 J -q 1 0 0 1 4221.2402 3851.6001 cm -0 0 m --53.28 51.84 l --22.32 70.56 l -h -S -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4293.2402 4028 cm -0 0 m --90 0 l --150 0 -162.6 -28.32 -127.8 -84.96 c --75.6 -169.92 l -S -Q -Q -q -0.9986209 0 0 0.9986209 0 0 cm -q 1 0 0 1 496.284 426.2 cm -0 0 m -4.032 -6.192 l -0.648 -7.344 l -f -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -1 j 1 J -q 1 0 0 1 4962.8398 4262 cm -0 0 m -40.32 -61.92 l -6.48 -73.44 l -h -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4869.2402 3488 cm -0 0 m -180 0 l -300 0 315.96 127.92 227.88 383.76 c -95.76 767.52 l -S -Q -Q -BT -/T1_1 1 Tf -7.9885 0 0 7.9885 435.4365 666.0801 Tm -(v-node table)Tj -ET -q -0.998561 0 0 0.998561 0 0 cm -q 1 0 0 1 288.924 660.2 cm -0 0 m --3.024 -6.768 l --5.832 -4.536 l -f -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 6602 cm -0 0 m --30.24 -67.68 l --58.32 -45.36 l -h -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 6098 cm -0 0 m -180 0 l -300 0 425.28 83.04 555.84 249.12 c -751.68 498.24 l -S -Q -Q -q -0.9985011 0 0 0.9985011 0 0 cm -q 1 0 0 1 288.924 586.04 cm -0 0 m --7.344 1.152 l --5.976 4.464 l -f -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 5860.3999 cm -0 0 m --73.44 11.52 l --59.76 44.64 l -h -S -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 6026 cm -0 0 m -180 0 l -300 0 424.92 -27.12 554.76 -81.36 c -749.52 -162.72 l -S -Q -Q -q -0.9984412 0 0 0.9984412 0 0 cm -q 1 0 0 1 288.924 506.84 cm -0 0 m --4.608 5.832 l --1.296 7.272 l -f -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 5068.3999 cm -0 0 m --46.08 58.32 l --12.96 72.72 l -h -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 5954 cm -0 0 m -180 0 l -300 0 425.52 -146.52 556.56 -439.56 c -753.12 -879.12 l -S -Q -Q -q -0.9983813 0 0 0.9983813 0 0 cm -q 1 0 0 1 288.924 656.6 cm -0 0 m -0.288 -7.416 l --3.24 -6.696 l -f -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 6566 cm -0 0 m -2.88 -74.16 l --32.4 -66.96 l -h -S -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 4658 cm -0 0 m -180 0 l -300 0 425.76 316.8 557.28 950.4 c -754.56 1900.8 l -S -Q -Q -q -0.9983214 0 0 0.9983214 0 0 cm -q 1 0 0 1 288.924 583.16 cm -0 0 m --0.432 -7.416 l --3.888 -6.336 l -f -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 5831.6001 cm -0 0 m --4.32 -74.16 l --38.88 -63.36 l -h -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 4586 cm -0 0 m -180 0 l -300 0 425.64 206.4 556.92 619.2 c -753.84 1238.4 l -S -Q -Q -q -0.9982615 0 0 0.9982615 0 0 cm -q 1 0 0 1 288.924 503.96 cm -0 0 m --2.88 -6.84 l --5.76 -4.68 l -f -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 5039.6001 cm -0 0 m --28.8 -68.4 l --57.6 -46.8 l -h -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 4514 cm -0 0 m -180 0 l -300 0 425.28 86.64 555.84 259.92 c -751.68 519.84 l -S -Q -Q -q -0.9982016 0 0 0.9982016 0 0 cm -q 1 0 0 1 418.524 660.2 cm -0 0 m --3.024 -6.768 l --5.832 -4.536 l -f -Q -Q -q -0.0998202 0 0 0.0998202 0 0 cm -1 j 1 J -q 1 0 0 1 4185.2402 6602 cm -0 0 m --30.24 -67.68 l --58.32 -45.36 l -h -S -Q -Q -q -0.0998202 0 0 0.0998202 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3573.24 6278 cm -0 0 m -180 0 l -300 0 401.28 53.04 483.84 159.12 c -607.68 318.24 l -S -Q -Q -q -0.9981417 0 0 0.9981417 0 0 cm -q 1 0 0 1 418.524 543.56 cm -0 0 m --7.416 -0.36 l --6.696 3.168 l -f -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -1 j 1 J -q 1 0 0 1 4185.2402 5435.6001 cm -0 0 m --74.16 -3.6 l --66.96 31.68 l -h -S -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3573.24 5486 cm -0 0 m -180 0 l -300 0 400.8 -8.16 482.4 -24.48 c -604.8 -48.96 l -S -Q -Q -q -0.9980818 0 0 0.9980818 0 0 cm -q 1 0 0 1 418.524 426.2 cm -0 0 m --5.184 5.328 l --2.088 7.128 l -f -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -1 j 1 J -q 1 0 0 1 4185.2402 4262 cm -0 0 m --51.84 53.28 l --20.88 71.28 l -h -S -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3573.24 4694 cm -0 0 m -180 0 l -300 0 401.4 -70.92 484.2 -212.76 c -608.4 -425.52 l -S -Q -Q -BT -/T1_0 1 Tf -7.9842 0 0 7.9842 201.3849 317.5706 Tm -(Figure 8.2)Tj -/T1_1 1 Tf -5.195 0 Td -[(Sharing of open \336les between par)18(ent and child after)]TJ -/TT0 1 Tf -23.109 0 Td -(fork)Tj -/T1_1 1 Tf -9.9802 0 0 9.9802 147.3082 291.2228 Tm -[(If )-366(both )-366(par)18(ent )-366(and )-366(child )-366(write )-366(to )-366(the )-366(same )-366(descriptor)]TJ -0.6158 Tc 26.305 0 Td -(,w)Tj -0 Tc 1.7 0 Td -[(ithout )-366(any )-366(form )-366(of)]TJ --29.805 -1.2 Td -[(synchr)18(onization, )-209(such )-209(as )-209(having )-209(the )-209(par)18(ent)]TJ -/TT0 1 Tf -20.439 0 Td -(wait)Tj -/T1_1 1 Tf -2.859 0 Td -[(for )-209(the )-209(child, )-209(their )-209(output )-209(will )-209(be)]TJ --23.298 -1.2 Td -[(intermixed )-22(\(assuming )-22(it\325s )-22(a )-22(descriptor )-22(that )-22(was )-22(open )-22(befor)]TJ -0.2716 Tc 25.941 0 Td -(et)Tj -0 Tc 1.077 0 Td -(he)Tj -/TT0 1 Tf -1.333 0 Td -(fork)Tj -/T1_1 1 Tf -[(\). )-272(Although)-271(this )-22(is)]TJ --28.35 -1.2 Td -[(possible )167(\321 )167(we)-251(saw it in Figur)]TJ -0.25 Tc 12.72 0 Td -(e8)Tj -0 Tc 1.229 0 Td -[(.2 )167(\321 )167(it\325s)-251(not the normal mode of operation.)]TJ --12.149 -1.2 Td -(Ther)Tj -0.25 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(t)]TJ -0 Tc 1.432 0 Td -(wo normal cases for handling the descriptors after a)Tj -/TT0 1 Tf -23.223 0 Td -(fork)Tj -/T1_1 1 Tf -(.)Tj --27.935 -1.68 Td -[(1. )-633(The)-253(par)18(ent )-3(waits )-3(for )-3(the )-3(child )-3(to )-3(complete.)-503(In )-3(this )-3(case, )-3(the )-3(par)18(ent )-3(does )-3(not )-3(need)]TJ -1.633 -1.2 Td -[(to )-247(do )-247(anything )-247(with )-247(its )-247(descriptors.)-747(When )-247(the )-247(child )-247(terminates, )-247(any )-247(of )-247(the)]TJ -0 -1.2 TD -[(shar)18(ed )-15(descriptors )-15(that )-15(the )-15(child )-15(r)18(ead )-15(fr)18(om )-15(or )-15(wr)19(ote )-15(to )-15(will )-15(have )-15(their )-15(\336le )-15(of)18(fsets)]TJ -0 -1.2 Td -[(updated accor)18(dingly)111(.)]TJ --1.633 -1.6 Td -[(2. )-633(Both)-438(the )-188(par)18(ent )-188(and )-188(the )-188(child )-188(go )-188(their )-188(own )-188(ways.)-684(Her)18(e, )-187(after )-187(the)]TJ -/TT0 1 Tf -32.725 0 Td -(fork)Tj -/T1_1 1 Tf -0.4375 Tc (,t)Tj -0 Tc 3.414 0 Td -(he)Tj --34.506 -1.2 Td -[(par)18(ent )-115(closes )-115(the )-115(descriptors )-115(that )-115(it )-115(doesn\325t )-115(need, )-115(and )-115(the )-115(child )-115(does )-115(the )-115(same)]TJ -T* -[(thing. )-541(This)-542(way)]TJ -0.5414 Tc 7.609 0 Td -(,n)Tj -0 Tc 1.373 0 Td -[(either )-291(interfer)18(es )-291(with )-291(the )-291(other)-74(\325s )-291(open )-291(descriptors.)-794(This)]TJ --8.982 -1.2 Td -(scenario is often found with network servers.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47272 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.1)]TJ -28.7243 Tc 5.388 0 Td -(1N)Tj -0 Tc 30.055 0 Td -[(oncanonical )-250(Mode)]TJ -/T1_1 1 Tf -10.39 0 Td -(707)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -0.6 Tc 8.9995 0 0 8.9995 156.5906 670.2598 Tm -(*O)Tj -0 Tc 1.8 0 Td -(utput processing off.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(buf.c_oflag &= \367\(OPOST\);)Tj -0 -2.14 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(ase B: 1 byte at a time, no timer.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(buf.c_cc[VMIN] = 1;)Tj -0 -1.189 TD -(buf.c_cc[VTIME] = 0;)Tj -0 -1.189 TD -(if \(tcsetattr\(fd, TCSAFLUSH, &buf\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -2.14 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*V)Tj -0 Tc 1.8 0 Td -[(erify that the changes stuck.)-1200(tcsetattr can return 0 on)]TJ -0.6 Tc -1.8 -1.189 Td -(*p)Tj -0 Tc 1.8 0 Td -(artial success.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(tcgetattr\(fd, &buf\) < 0\) {)Tj -2.4 -1.189 Td -(err = errno;)Tj -T* -(tcsetattr\(fd, TCSAFLUSH, &save_termios\);)Tj -0 -1.189 TD -(errno = err;)Tj -T* -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(\(buf.c_lflag & \(ECHO | ICANON | IEXTEN | ISIG\)\) ||)Tj -1.2 -1.189 Td -(\(buf.c_iflag & \(BRKINT | ICRNL | INPCK | ISTRIP | IXON\)\) ||)Tj -T* -(\(buf.c_cflag & \(CSIZE | PARENB | CS8\)\) != CS8 ||)Tj -T* -(\(buf.c_oflag & OPOST\) || buf.c_cc[VMIN] != 1 ||)Tj -T* -(buf.c_cc[VTIME] != 0\) {)Tj -1.2 -1.189 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*O)Tj -0 Tc 1.8 0 Td -[(nly some of the changes were made.)-1200(Restore the)]TJ -0.6 Tc -1.8 -1.189 Td -(*o)Tj -0 Tc 1.8 0 Td -(riginal settings.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(tcsetattr\(fd, TCSAFLUSH, &save_termios\);)Tj -T* -(errno = EINVAL;)Tj -T* -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(ttystate = RAW;)Tj -0 -1.189 TD -(ttysavefd = fd;)Tj -T* -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -[(tty_reset\(int fd\))-4200(/* restore terminal\325s mode */)]TJ -T* -({)Tj -2.4 -1.189 Td -(if \(ttystate == RESET\))Tj -2.4 -1.189 Td -(return\(0\);)Tj --2.4 -1.189 Td -(if \(tcsetattr\(fd, TCSAFLUSH, &save_termios\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -(ttystate = RESET;)Tj -0 -1.189 TD -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47273 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.1)]TJ -28.7243 Tc 5.388 0 Td -(1N)Tj -0 Tc 30.055 0 Td -[(oncanonical )-250(Mode)]TJ -/T1_1 1 Tf -10.39 0 Td -(705)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.09 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(Tw)Tj -0.3449 Tc 1.357 0 Td -(oa)Tj -0 Tc 1.391 0 Td -[(dditional )-95(functions )-95(ar)]TJ -0.3449 Tc 9.747 0 Td -(ep)Tj --0.018 Tc 1.425 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(vided:)Tj -/TT0 1 Tf -3.152 0 Td -(tty_atexit)Tj -/T1_0 1 Tf -6.345 0 Td -[(can )-95(be )-95(established )-95(as )-95(an )-95(exit)]TJ --26.139 -1.2 Td -[(handler )-23(to )-23(ensur)]TJ -0.2728 Tc 7.323 0 Td -(et)Tj -0 Tc 1.078 0 Td -[(hat )-23(the )-23(terminal )-23(mode )-23(is )-23(r)18(eset )-23(by)]TJ -/TT0 1 Tf -14.88 0 Td -(exit)Tj -/T1_0 1 Tf -0.2728 Tc (,a)Tj -0 Tc 3.423 0 Td -(nd)Tj -/TT0 1 Tf -1.466 0 Td -(tty_termios)Tj -/T1_0 1 Tf --0.018 Tc 6.873 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-23(a)]TJ --35.897 -1.2 Td -(pointer to the original canonical mode)Tj -/TT0 1 Tf -17.13 0 Td -(termios)Tj -/T1_0 1 Tf -4.45 0 Td -[(str)8(uctur)18(e.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6318.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 622.2243 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -2.14 TD -[(static struct termios)-4200(save_termios;)]TJ -0 -1.189 TD -(static int)Tj -16.8 0 Td -(ttysavefd = -1;)Tj --16.8 -1.189 Td -[(static enum { RESET, RAW, CBREAK })-1200(ttystate = RESET;)]TJ -0 -2.14 TD -(int)Tj -0 -1.189 TD -[(tty_cbreak\(int fd\))-1200(/* put terminal into a cbreak mode */)]TJ -T* -({)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -(err;)Tj --9.6 -1.189 Td -[(struct termios)-1200(buf;)]TJ -0 -2.14 TD -(if \(ttystate != RESET\) {)Tj -2.4 -1.189 Td -(errno = EINVAL;)Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(tcgetattr\(fd, &buf\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -(save_termios = buf; /* structure copy */)Tj -0 -2.14 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*E)Tj -0 Tc 1.8 0 Td -(cho off, canonical mode off.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(buf.c_lflag &= \367\(ECHO | ICANON\);)Tj -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(ase B: 1 byte at a time, no timer.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(buf.c_cc[VMIN] = 1;)Tj -0 -1.189 TD -(buf.c_cc[VTIME] = 0;)Tj -0 -1.189 TD -(if \(tcsetattr\(fd, TCSAFLUSH, &buf\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -2.14 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*V)Tj -0 Tc 1.8 0 Td -[(erify that the changes stuck.)-1200(tcsetattr can return 0 on)]TJ -0.6 Tc -1.8 -1.189 Td -(*p)Tj -0 Tc 1.8 0 Td -(artial success.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(tcgetattr\(fd, &buf\) < 0\) {)Tj -2.4 -1.189 Td -(err = errno;)Tj -T* -(tcsetattr\(fd, TCSAFLUSH, &save_termios\);)Tj -0 -1.189 TD -(errno = err;)Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(if \(\(buf.c_lflag & \(ECHO | ICANON\)\) || buf.c_cc[VMIN] != 1 ||)Tj -1.2 -1.189 Td -(buf.c_cc[VTIME] != 0\) {)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47274 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(684)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(All )-70(the )-70(\337ags )-70(listed )-70(specify )-70(one )-70(or )-70(mor)]TJ -0.3199 Tc 16.979 0 Td -(eb)Tj -0 Tc 1.352 0 Td -[(its )-70(that )-70(we )-70(turn )-70(on )-70(or )-70(clear)]TJ -0.3199 Tc 12.017 0 Td -(,u)Tj -0 Tc 1.173 0 Td -[(nless )-70(we )-70(call)]TJ --33.321 -1.2 Td -[(the )-168(\337ag )-168(a)]TJ -/T1_2 1 Tf -4.805 0 Td -(mask)Tj -/T1_1 1 Tf -0.6681 Tc (.A)Tj -0 Tc 4.169 0 Td -[(mask )-168(de\336nes )-168(multiple )-168(bits )-168(gr)18(ouped )-168(together )-168(fr)17(om )-168(which )-168(a )-168(set )-168(of)]TJ --8.975 -1.2 Td -[(values )-6(is )-6(de\336ned.)]TJ --0.092 Tc 8.213 0 Td -[(We )-190(h)]TJ -0 Tc 2.225 0 Td -[(ave )-6(a )-6(de\336ned )-6(name )-6(for )-6(the )-6(mask )-6(and )-6(a )-6(name )-6(for )-6(each )-6(value.)-510(For)]TJ --10.438 -1.2 Td -[(example, )-127(to )-127(set )-127(the )-127(character )-127(size, )-127(we )-127(\336rst )-127(zer)]TJ -0.377 Tc 20.931 0 Td -(ot)Tj -0 Tc 1.249 0 Td -[(he )-127(bits )-127(using )-127(the )-127(character)18(-size )-127(mask)]TJ -/TT0 1 Tf --22.18 -1.2 Td -(CSIZE)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 4 0 Td -(nd then set one of the values)Tj -/TT0 1 Tf -12.876 0 Td -(CS5)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.3 0 Td -(CS6)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.3 0 Td -(CS7)Tj -/T1_1 1 Tf -0.25 Tc (,o)Tj -0 Tc 2.846 0 Td -(r)Tj -/TT0 1 Tf -0.645 0 Td -(CS8)Tj -/T1_1 1 Tf -(.)Tj --23.167 -1.2 Td -[(The )-10(six )-10(delay )-10(values )-10(supported )-10(by )-10(Linux )-10(and )-10(Solaris )-10(ar)]TJ -0.2599 Tc 24.383 0 Td -(ea)Tj -0 Tc 1.239 0 Td -[(lso )-10(masks:)]TJ -/TT0 1 Tf -4.818 0 Td -(BSDLY)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.51 0 Td -(CRDLY)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --35.75 -1.2 Td -(FFDLY)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.596 0 Td -(NLDLY)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.596 0 Td -(TABDLY)Tj -/T1_1 1 Tf -0.3455 Tc (,a)Tj -0 Tc 4.696 0 Td -(nd)Tj -/TT0 1 Tf -1.539 0 Td -(VTDLY)Tj -/T1_1 1 Tf -0.5955 Tc (.R)Tj -0 Tc 4.514 0 Td -[(efer )-95(to )-95(the)]TJ -/TT0 1 Tf -4.981 0 Td -(termio)Tj -/T1_1 1 Tf -[(\(7I\) )-95(manual )-95(page )-95(on )-95(Solaris)]TJ --22.92 -1.2 Td -[(for )-70(the )-70(length )-70(of )-70(each )-70(delay )-70(value.)-567(In )-69(all )-69(cases, )-69(a )-69(delay )-69(mask )-69(of )-69(0 )-69(means )-69(no )-69(delay)]TJ -0.5695 Tc 36.691 0 Td -(.I)Tj -0.3195 Tc 1.156 0 Td -(fa)Tj -0 Tc -37.848 -1.2 Td -[(delay )-137(is )-137(speci\336ed, )-137(the)]TJ -/TT0 1 Tf -10.27 0 Td -(OFILL)Tj -/T1_1 1 Tf -3.387 0 Td -(and)Tj -/TT0 1 Tf -2.08 0 Td -(OFDEL)Tj -/T1_1 1 Tf -3.387 0 Td -[(\337ags )-137(determine )-137(whether )-137(the )-137(driver )-137(does )-137(an)]TJ --19.124 -1.2 Td -(actual delay or whether \336ll characters ar)Tj -0.25 Tc 17.772 0 Td -(et)Tj -0 Tc 1.055 0 Td -(ransmitted instead.)Tj -/TT1 1 Tf --22.427 -2.4 Td -(Example)Tj -/T1_1 1 Tf -3.6 -1.92 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(8.1)Tj -0.25 Tc 1.195 0 Td -(1d)Tj -0 Tc 1.361 0 Td -(emonstrates the use of these masks to extract a value and to set a value\ .)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5106.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 501.0389 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(struct termios)-1200(term;)]TJ -0 -1.783 TD -(if \(tcgetattr\(STDIN_FILENO, &term\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("tcgetattr error"\);)Tj --2.4 -1.783 Td -(switch \(term.c_cflag & CSIZE\) {)Tj -0 -1.189 TD -(case CS5:)Tj -2.4 -1.189 Td -(printf\("5 bits/byte\\n"\);)Tj -T* -(break;)Tj --2.4 -1.189 Td -(case CS6:)Tj -2.4 -1.189 Td -(printf\("6 bits/byte\\n"\);)Tj -T* -(break;)Tj --2.4 -1.189 Td -(case CS7:)Tj -2.4 -1.189 Td -(printf\("7 bits/byte\\n"\);)Tj -T* -(break;)Tj --2.4 -1.189 Td -(case CS8:)Tj -2.4 -1.189 Td -(printf\("8 bits/byte\\n"\);)Tj -T* -(break;)Tj --2.4 -1.189 Td -(default:)Tj -2.4 -1.189 Td -(printf\("unknown bits/byte\\n"\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -[(term.c_cflag &= \367CSIZE;)-3000(/* zero out the bits */)]TJ -0 -1.189 TD -[(term.c_cflag |= CS8;)-4800(/* set 8 bits/byte */)]TJ -T* -(if \(tcsetattr\(STDIN_FILENO, TCSANOW, &term\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("tcsetattr error"\);)Tj --2.4 -1.783 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1592.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 226.9152 144.422 Tm -[(Figure 18.1)37(1)]TJ -/T1_1 1 Tf -6.158 0 Td -(Example of)Tj -/TT0 1 Tf -5.26 0 Td -(tcgetattr)Tj -/T1_1 1 Tf -5.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(tcsetattr)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1384.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47275 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(992)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(unlink)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(1)55(14, 1)55(16)]TJ -7.93 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(9, 121)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(122, 125, 141,)Tj --13.942 -1.25 Td -(169)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(170, 331, 366, 452, 497, 553, 637, 639, 641,)Tj --2.167 -1.25 Td -(823, 826)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(827, 837, 909, 91)55(1, 937, 942)]TJ --5.516 -1.25 Td -(de\336nition of,)Tj --0.055 Tc 6.192 0 Td -(11)Tj -0 Tc 0.945 0 Td -(7)Tj -/TT0 1 Tf --8.487 -1.25 Td -(unlinkat)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(1)55(16)]TJ -5.985 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(9, 331, 452)Tj --11.38 -1.25 Td -(de\336nition of,)Tj --0.055 Tc 6.192 0 Td -(11)Tj -0 Tc 0.945 0 Td -(7)Tj -/TT0 1 Tf --8.487 -1.25 Td -(un_lock)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(489,)-250(759)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(760, 762, 768,)Tj --10.54 -1.25 Td -(770)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(771, 773, 777)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(778, 780, 897)Tj -/TT0 1 Tf --11.033 -1.25 Td -(unlockpt)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(723)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(725)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(723)]TJ --1.35 -1.25 Td -[(Unrau, R.,)-500(174, 531, 950)]TJ -0 -1.25 TD -[(unr)18(eliable signals,)-500(326)]TJ -10.097 0.09 Td -(\320)Tj -0.583 -0.09 Td -(327)Tj -/TT0 1 Tf --10.681 -1.25 Td -(unsetenv)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(212,)-250(442)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(212)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(update)Tj -/T1_1 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(81)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(update_jobno)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(814,)-250(819, 832, 843)]TJ --6.267 -1.25 Td -[(de\336nition of,)-500(819)]TJ --1.35 -1.25 Td -[(Upstart, )-250(290)]TJ -/TT0 1 Tf -T* -(uptime)Tj -/T1_1 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(614)]TJ -6.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(615, 617, 619)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(620,)Tj --14.258 -1.25 Td -(622)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(623, 628)Tj -/TT0 1 Tf -0.1666 Tc -4.866 -1.25 Td -(__)Tj -0 Tc 1.367 0 Td -(USE_BSD)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(473)]TJ -/TT0 1 Tf --5.983 -1.25 Td -(USER)Tj -/T1_1 1 Tf -2.817 0 Td -[(envir)18(onment variable,)-500(210, 288)]TJ --2.817 -1.25 Td -[(user ID,)-500(16, 255)]TJ -7.095 0.09 Td -(\320)Tj -0.583 -0.09 Td -(260)Tj --6.329 -1.25 Td -[(ef)18(fective, )-250(98)]TJ -5.544 0.09 Td -(\320)Tj -0.583 -0.09 Td -(99, 101)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(102, 106, 1)55(10, 126, 140,)]TJ --8.444 -1.25 Td -(228, 233, 253, 256)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(260, 276, 286, 288, 337, 381,)Tj --8.166 -1.25 Td -(558, 562, 568, 573, 586)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(587, 637, 640, 809, 918)Tj --0.018 Tc -11.517 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(al, )-250(39)]TJ -2.624 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40, 43, 98)Tj -4.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(99, 102, 221, 228, 233,)Tj --7.38 -1.25 Td -(252)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(253, 256)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(260, 270, 276, 286, 288, 337,)Tj --6.333 -1.25 Td -(381, 585, 924)Tj -/TT0 1 Tf --2.7 -1.25 Td -(USHRT_MAX)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(37)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(usleep)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(532,)-250(934)]TJ --4.017 -1.25 Td -[(UTC \(Coor)18(dinated Universal T)55(ime\), )-250(20,)-250(189, 192,)]TJ -2.7 -1.25 Td -(196)Tj -/TT0 1 Tf --2.7 -1.25 Td -(utime)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(127,)-250(331, 910)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(UTIME_NOW)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(126)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(utimensat)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(125)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(128, 331, 452, 910)Tj --11.09 -1.25 Td -[(de\336nition of,)-500(126)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(UTIME_OMIT)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(126)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(127)Tj -/TT0 1 Tf --13.063 -1.25 Td -(utimes)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(125)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(128, 141, 331, 452, 910)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(127)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(utmp)Tj -/T1_1 1 Tf -2.817 0 Td -[(\336le, )-250(186)]TJ -3.708 0.09 Td -(\320)Tj -0.583 -0.09 Td -(187, 276, 312, 734, 923, 930)Tj -/TT0 1 Tf --7.108 -1.25 Td -(utmp)Tj -/T1_1 1 Tf -2.817 0 Td -[(str)8(uctur)18(e, )-250(187)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(utmpx)Tj -/T1_1 1 Tf -3.417 0 Td -[(\336le, )-250(187)]TJ -/TT0 1 Tf --3.417 -1.25 Td -()Tj -/T1_1 1 Tf -5.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(0)Tj -/TT0 1 Tf --10.039 -1.25 Td -(utsname)Tj -/T1_1 1 Tf -4.617 0 Td -[(str)8(uctur)18(e, )-250(187)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(188, 196)Tj --11.502 -1.25 Td -[(UUCP \(Unix-to-Unix Copy\),)-500(188)]TJ -/TT0 1 Tf -T* -(uucp)Tj -/T1_1 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(500)]TJ --2.817 -4.75 Td -[(V7, )-250(329,)-250(726)]TJ -/TT0 1 Tf -T* -(va_arg)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(758)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(va_end)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(758,)-250(899)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(903)Tj -/TT0 1 Tf -13.36 64.75 Td -(va_list)Tj -/T1_1 1 Tf -4.617 0 Td -[(data type,)-500(758, 899)]TJ -8.482 0.09 Td -(\320)Tj -0.583 -0.09 Td -(903)Tj -/TT0 1 Tf --13.682 -1.25 Td -(/var/account/acct)Tj -/T1_1 1 Tf -10.617 0 Td -[(\336le, )-250(269)]TJ -/TT0 1 Tf --10.617 -1.25 Td -(/var/adm/pacct)Tj -/T1_1 1 Tf -8.817 0 Td -[(\336le, )-250(269)]TJ -/TT0 1 Tf --8.817 -1.25 Td -()Tj -/T1_1 1 Tf -7.017 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(62)Tj --11.239 -1.25 Td -(variables)Tj -1.35 -1.25 Td -[(automatic, )-250(205,)-250(215, 217, 219, 226)]TJ -T* -[(global, )-250(219)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -(gister)Tj -0.5 Tc 2.397 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(17)Tj --4.503 -1.25 Td -[(static, )-250(219)]TJ -T* -[(volatile, )-250(217,)-250(219, 340, 357)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(/var/log/account/pacct)Tj -/T1_1 1 Tf -13.617 0 Td -[(\336le, )-250(269)]TJ -/TT0 1 Tf --13.617 -1.25 Td -(/var/log/wtmp)Tj -/T1_1 1 Tf -8.217 0 Td -[(\336le, )-250(187)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(/var/run/utmp)Tj -/T1_1 1 Tf -8.217 0 Td -[(\336le, )-250(187)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(va_start)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(758,)-250(899)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(903)Tj -/TT0 1 Tf --13.84 -1.25 Td -(VDISCARD)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(678)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(vdprintf)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(161,)-250(452)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(161)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(VDSUSP)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(678)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(VEOF)Tj -/T1_1 1 Tf -2.817 0 Td -[(constant, )-250(678)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(679, 704)Tj -/TT0 1 Tf --9.463 -1.25 Td -(VEOL)Tj -/T1_1 1 Tf -2.817 0 Td -[(constant, )-250(678,)-250(704)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(VEOL2)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(678)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(VERASE)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(678)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(VERASE2)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(678)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(vfork)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(229,)-250(234)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(236, 283, 921)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(922)Tj -/TT0 1 Tf --18.207 -1.25 Td -(vfprintf)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(161,)-250(452)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(161)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(vfscanf)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(163)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(163)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(vfwprintf)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(vi)Tj -/T1_1 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(377,)-250(497, 499, 672, 71)55(1)]TJ -14.136 0.09 Td -(\320)Tj -0.583 -0.09 Td -(713, 943)Tj -/TT0 1 Tf --16.336 -1.25 Td -(VINTR)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(678)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(679)Tj -/TT0 1 Tf --10.063 -1.25 Td -(vipw)Tj -/T1_1 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(179)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(VKILL)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(678)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(VLNEXT)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(678)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(VMIN)Tj -/T1_1 1 Tf -2.817 0 Td -[(constant, )-250(703)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(705, 707)Tj --9.463 -1.25 Td -[(v-node, )-250(74)]TJ -4.949 0.09 Td -(\320)Tj -0.583 -0.09 Td -(76, 78, 136, 312, 642, 907, 950)Tj -/TT0 1 Tf --5.533 -1.25 Td -(vnode)Tj -/T1_1 1 Tf -3.417 0 Td -[(str)8(uctur)18(e, )-250(31)55(1)]TJ -6.247 0.09 Td -(\320)Tj -0.583 -0.09 Td -(312)Tj --0.111 Tc -10.247 -1.25 Td -(Vo)Tj -0 Tc 1.157 0 Td -[(,)-250(K.)-250(P)129(., )-250(135,)-250(174, 949)]TJ -8.784 0.09 Td -(\320)Tj -0.583 -0.09 Td -(950, 953)Tj --10.524 -1.25 Td -[(volatile variables,)-500(217, 219, 340, 357)]TJ -/TT0 1 Tf --0 -1.25 Td -(vprintf)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(161,)-250(452)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(161)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(VQUIT)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(678)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(vread)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(525)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(VREPRINT)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(678)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(vscanf)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(163)]TJ --2.667 -1.25 Td -[(de\336nition of,)-500(163)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(vsnprintf)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(161,)-250(901)]TJ --4.467 -1.25 Td -[(de\336nition of,)-500(161)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(vsprintf)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(161,)-250(471)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(161)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(vsscanf)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(163)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(163)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(VSTART)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(678)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47276 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(B.2)]TJ -32.558 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dE)Tj -0 Tc 1.722 0 Td -[(rr)18(or )-250(Routines)]TJ -/T1_1 1 Tf -8.132 0 Td -(901)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -0.6 Tc 8.9995 0 0 8.9995 134.9919 670.2598 Tm -(*P)Tj -0 Tc 1.8 0 Td -(rint a message and return.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(err_msg\(const char *fmt, ...\))Tj -T* -({)Tj -2.4 -1.189 Td -[(va_list )-2400(ap;)]TJ -0 -2.021 TD -(va_start\(ap, fmt\);)Tj -0 -1.189 TD -(err_doit\(0, 0, fmt, ap\);)Tj -T* -(va_end\(ap\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*F)Tj -0 Tc 1.8 0 Td -(atal error unrelated to a system call.)Tj -0.6 Tc -1.8 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(rint a message and terminate.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(err_quit\(const char *fmt, ...\))Tj -T* -({)Tj -2.4 -1.189 Td -[(va_list )-2400(ap;)]TJ -0 -2.021 TD -(va_start\(ap, fmt\);)Tj -0 -1.189 TD -(err_doit\(0, 0, fmt, ap\);)Tj -T* -(va_end\(ap\);)Tj -T* -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(rint a message and return to caller.)Tj -0.6 Tc -1.8 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(aller specifies "errnoflag".)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(static void)Tj -0 -1.189 TD -(err_doit\(int errnoflag, int error, const char *fmt, va_list ap\))Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(buf[MAXLINE];)]TJ -0 -2.021 TD -(vsnprintf\(buf, MAXLINE-1, fmt, ap\);)Tj -0 -1.189 TD -(if \(errnoflag\))Tj -2.4 -1.189 Td -(snprintf\(buf+strlen\(buf\), MAXLINE-strlen\(buf\)-1, ": %s",)Tj -1.2 -1.189 Td -(strerror\(error\)\);)Tj --3.6 -1.189 Td -(strcat\(buf, "\\n"\);)Tj -T* -[(fflush\(stdout\); )-2400(/*)-600(in case stdout and stderr are the same */)]TJ -T* -(fputs\(buf, stderr\);)Tj -T* -[(fflush\(NULL\); )-3600(/*)-600(flushes all stdio output streams */)]TJ --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2107.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 224.3691 194.7256 Tm -(Figure B.3)Tj -/T1_0 1 Tf -5.362 0 Td -[(Err)18(or functions that output to standar)]TJ -0.25 Tc 16.636 0 Td -(de)Tj -0 Tc 1.34 0 Td -[(rr)18(or)]TJ -9.9988 0 0 9.9988 147.5823 170.7285 Tm -(Figur)Tj -0.3832 Tc 2.383 0 Td -(eB)Tj -0 Tc 1.473 0 Td -[(.4 )-133(shows )-133(the)]TJ -/TT0 1 Tf -6.097 0 Td -(log_XXX)Tj -/T1_0 1 Tf -4.583 0 Td -[(err)18(or )-133(functions.)-633(These )-133(r)18(equir)]TJ -0.3833 Tc 13.237 0 Td -(et)Tj -0 Tc 1.188 0 Td -[(he )-133(caller )-133(to )-133(de\336ne)]TJ --30.761 -1.2 Td -[(the )-222(variable)]TJ -/TT0 1 Tf -5.905 0 Td -(log_to_stderr)Tj -/T1_0 1 Tf -8.272 0 Td -[(and )-222(set )-222(it )-222(nonzer)18(o)-472(if)-472(the )-222(pr)18(ocess )-222(is )-222(not )-222(r)8(unning )-222(as )-222(a)]TJ --14.177 -1.2 Td -[(daemon. )-759(In)-759(this )-509(case, )-509(the )-509(err)18(or )-509(messages )-509(ar)]TJ -0.759 Tc 22.678 0 Td -(es)Tj -0 Tc 1.662 0 Td -[(ent )-509(to )-509(standar)]TJ -0.759 Tc 7.097 0 Td -(de)Tj -0 Tc 1.849 0 Td -[(rr)18(or)]TJ -1.009 Tc 1.639 0 Td -(.I)Tj -0.759 Tc 1.596 0 Td -(ft)Tj -0 Tc 1.418 0 Td -(he)Tj -/TT0 1 Tf --37.939 -1.2 Td -(log_to_stderr)Tj -/T1_0 1 Tf -8.05 0 Td -(\337ag is 0, the)Tj -/TT0 1 Tf -5.516 0 Td -(syslog)Tj -/T1_0 1 Tf -3.85 0 Td -(facility \(Section 13.4\) is used.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47277 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.15)]TJ -/TT0 1 Tf -24.886 0 Td -(sigsetjmp)Tj -/T1_0 1 Tf -5.9 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(siglongjmp)Tj -/T1_0 1 Tf -6.5 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(357)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -({)Tj -2.4 -1.189 Td -[(time_t )-600(starttime;)]TJ -0 -1.783 TD -(if \(canjump == 0\))Tj -2.4 -1.189 Td -[(return; )-2400(/*)-600(unexpected signal, ignore */)]TJ --2.4 -1.783 Td -(pr_mask\("starting sig_usr1: "\);)Tj -0 -1.783 TD -(alarm\(3\); )Tj -14.4 0 Td -[(/*)-600(SIGALRM in 3 seconds */)]TJ --14.4 -1.189 Td -(starttime = time\(NULL\);)Tj -0 -1.189 TD -(for \( ; ; \))Tj -14.4 0 Td -(/* busy wait for 5 seconds */)Tj --12 -1.189 Td -(if \(time\(NULL\) > starttime + 5\))Tj -2.4 -1.189 Td -(break;)Tj --4.8 -1.783 Td -(pr_mask\("finishing sig_usr1: "\);)Tj -0 -1.783 TD -(canjump = 0;)Tj -0 -1.189 TD -[(siglongjmp\(jmpbuf, 1\);)-1200(/* jump back to main, don\325t return */)]TJ --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(static void)Tj -0 -1.189 TD -(sig_alrm\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(pr_mask\("in sig_alrm: "\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4408.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 198.6602 424.748 Tm -(Figure 10.20)Tj -/T1_0 1 Tf -6.195 0 Td -(Example of signal masks,)Tj -/TT0 1 Tf -11.441 0 Td -(sigsetjmp)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 6.4 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(siglongjmp)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5827 400.7509 Tm -[(This )-346(pr)18(ogram )-346(demonstrates )-346(another )-346(technique )-346(that )-346(should )-346(be )-346(used )-346(whenever)]TJ -/TT0 1 Tf --1.8 -1.2 Td -(siglongjmp)Tj -/T1_0 1 Tf -6.269 0 Td -[(is )-18(called )-18(fr)18(om )-18(a )-18(signal )-18(handler)]TJ -0.5185 Tc 13.323 0 Td -(.W)Tj -0.2685 Tc 1.676 0 Td -(es)Tj -0 Tc 1.171 0 Td -[(et )-18(the )-18(variable)]TJ -/TT0 1 Tf -6.571 0 Td -(canjump)Tj -/T1_0 1 Tf -4.469 0 Td -[(to )-18(a )-18(nonzer)17(o)]TJ --33.479 -1.2 Td -[(value )-246(only )-246(after )-246(we\325ve )-246(called)]TJ -/TT0 1 Tf -14.18 0 Td -(sigsetjmp)Tj -/T1_0 1 Tf -0.7466 Tc (.T)Tj -0 Tc 7.01 0 Td -[(his )-247(variable )-247(is )-247(examined )-247(in )-247(the )-247(signal)]TJ --21.189 -1.2 Td -(handler)Tj -0.2637 Tc 3.366 0 Td -(,a)Tj -0 Tc 1.014 0 Td -(nd)Tj -/TT0 1 Tf -1.457 0 Td -(siglongjmp)Tj -/T1_0 1 Tf -6.264 0 Td -[(is )-14(called )-14(only )-14(if )-14(the )-14(\337ag)]TJ -/TT0 1 Tf -10.563 0 Td -(canjump)Tj -/T1_0 1 Tf -4.464 0 Td -[(is )-14(nonzer)18(o. )-264(This)-263(technique)]TJ --27.126 -1.2 Td -[(pr)18(ovides )-35(pr)18(otection )-35(against )-35(the )-35(signal )-35(handler )-35(being )-35(called )-35(at )-35(some )-35(earlier )-35(or )-35(later )-35(time,)]TJ -0 -1.2 TD -[(when )-104(the )-104(jump )-104(buf)18(fer )-104(hasn\325t )-104(been )-104(initialized )-104(by)]TJ -/TT0 1 Tf -22.042 0 Td -(sigsetjmp)Tj -/T1_0 1 Tf -0.604 Tc (.\()Tj -0 Tc 6.587 0 Td -[(In )-104(this )-104(trivial )-104(pr)18(ogram,)]TJ --28.629 -1.2 Td -[(we )-41(terminate )-41(quickly )-41(after )-41(the)]TJ -/TT0 1 Tf -13.753 0 Td -(siglongjmp)Tj -/T1_0 1 Tf -0.2916 Tc (,b)Tj -0 Tc 7.095 0 Td -[(ut )-42(in )-42(lar)18(ger )-42(pr)18(ograms, )-42(the )-42(signal )-42(handler)]TJ --20.847 -1.2 Td -[(may )-161(r)18(emain )-161(installed )-161(long )-161(after )-161(the)]TJ -/TT0 1 Tf -16.707 0 Td -(siglongjmp)Tj -/T1_0 1 Tf -[(.\) )-411(Pr)18(oviding )-161(this )-161(type )-161(of )-161(pr)18(otection)]TJ --16.707 -1.2 Td -[(usually )-25(isn\325t )-25(r)17(equir)18(ed )-25(with)]TJ -/TT0 1 Tf -12.081 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.476 0 Td -[(in )-26(normal )-26(C )-26(code )-26(\(as )-26(opposed )-26(to )-26(a )-26(signal )-26(handler\).)]TJ --16.557 -1.2 Td -[(Since )-48(a )-48(signal )-48(can )-48(occur )-48(at)]TJ -/T1_2 1 Tf -12.037 0 Td -(any)Tj -/T1_0 1 Tf -1.798 0 Td -[(time, )-48(however)74(,)-298(we)-298(need )-48(the )-48(added )-48(pr)18(otection )-48(in )-48(a )-48(signal)]TJ --13.835 -1.2 Td -[(handler)74(.)]TJ -1.8 -1.2 Td -[(Her)18(e, )-9(we )-9(use )-9(the )-9(data )-9(type)]TJ -/TT0 1 Tf -12.077 0 Td -(sig_atomic_t)Tj -/T1_0 1 Tf -0.2592 Tc (,w)Tj -0 Tc 8.543 0 Td -[(hich )-9(is )-9(de\336ned )-9(by )-9(the )-9(ISO )-9(C )-9(standar)17(d)]TJ --22.42 -1.2 Td -[(to )-158(be )-158(the )-158(type )-158(of )-158(variable )-158(that )-158(can )-158(be )-158(written )-158(without )-158(being )-158(interr)10(upted. )-408(By)-408(this )-158(we)]TJ -0 -1.2 Td -[(mean )-32(that )-32(a )-32(variable )-32(of )-32(this )-32(type )-32(should )-32(not )-32(extend )-32(acr)22(oss )-32(page )-32(boundaries )-32(on )-32(a )-32(system)]TJ -T* -[(with )-330(virtual )-330(memory )-330(and )-330(can )-330(be )-330(accessed )-330(with )-330(a )-330(single )-330(machine )-330(instr)12(uction, )-329(for)]TJ -T* -[(example. )-356(W)]TJ -0.3558 Tc 5.513 0 Td -(ea)Tj -0 Tc 1.335 0 Td -[(lways )-106(include )-106(the )-106(ISO )-106(type )-106(quali\336er)]TJ -/TT0 1 Tf -16.762 0 Td -(volatile)Tj -/T1_0 1 Tf -5.156 0 Td -[(for )-106(these )-106(data )-106(types )-106(as)]TJ --28.765 -1.2 Td -[(well, )-90(since )-90(the )-90(variable )-90(is )-90(being )-90(accessed )-90(by )-90(two )-90(dif)19(fer)18(ent )-90(thr)18(eads )-90(of )-90(contr)18(ol: )-90(the)]TJ -/TT0 1 Tf -36.6 0 Td -(main)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(function )-349(and )-349(the )-349(asynchr)18(onously )-349(executing )-349(signal )-349(handler)]TJ -0.8492 Tc 27.681 0 Td -(.F)Tj -0 Tc 1.655 0 Td -(igur)Tj -0.5992 Tc 1.827 0 Td -(e1)Tj -0 Tc 1.578 0 Td -[(0.21 )-349(shows )-349(a)]TJ --32.742 -1.2 Td -[(timeline )-188(for )-188(this )-188(pr)19(ogram. )-438(W)]TJ -0.4377 Tc 13.536 0 Td -(ec)Tj -0 Tc 1.361 0 Td -[(an )-188(divide )-188(Figur)]TJ -0.4377 Tc 7.188 0 Td -(e1)Tj -0 Tc 1.417 0 Td -[(0.21 )-188(into )-188(thr)18(ee )-188(parts: )-188(the )-188(left )-188(part)]TJ --23.502 -1.2 Td -[(\(corr)18(esponding )-112(to)]TJ -/TT0 1 Tf -8.363 0 Td -(main)Tj -/T1_0 1 Tf -[(\), )-112(the )-112(center )-112(part )-112(\()]TJ -/TT0 1 Tf -10.677 0 Td -(sig_usr1)Tj -/T1_0 1 Tf -[(\), )-112(and )-112(the )-112(right )-112(part )-112(\()]TJ -/TT0 1 Tf -14.577 0 Td -(sig_alrm)Tj -/T1_0 1 Tf -(\).)Tj --33.617 -1.2 Td -[(While )-236(the )-236(pr)18(ocess )-236(is )-236(executing )-236(in )-236(the )-236(left )-236(part, )-236(its )-236(signal )-236(mask )-236(is )-236(0 )-236(\(no )-236(signals )-236(ar)19(e)]TJ -T* -[(blocked\). )-552(While)-552(executing )-302(in )-302(the )-302(center )-302(part, )-302(its )-302(signal )-302(mask )-302(is)]TJ -/TT0 1 Tf -31.105 0 Td -(SIGUSR1)Tj -/T1_0 1 Tf -0.8021 Tc (.W)Tj -0 Tc 6.252 0 Td -(hile)Tj --37.357 -1.2 Td -(executing in the right part, its signal mask is)Tj -/TT0 1 Tf -19.771 0 Td -(SIGUSR1|SIGALRM)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47278 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(340)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Earlier )-208(implementations )-208(of)]TJ -/TT0 1 Tf -12.699 0 Td -(sleep)Tj -/T1_1 1 Tf -3.458 0 Td -[(looked )-208(like )-208(our )-208(pr)18(ogram, )-208(with )-208(pr)18(oblems )-208(1 )-208(and )-208(2)]TJ --16.157 -1.2 Td -[(corr)18(ected )-313(as )-313(described.)-812(Ther)]TJ -0.5627 Tc 13.551 0 Td -(ea)Tj --0.018 Tc 1.542 0 Td -[(re )-349(t)]TJ -0 Tc 1.745 0 Td -[(wo )-313(ways )-313(to )-313(corr)18(ect )-313(pr)18(oblem )-313(3.)-813(The )-313(\336rst )-313(uses)]TJ -/TT0 1 Tf --16.837 -1.2 Td -(setjmp)Tj -/T1_1 1 Tf -0.5068 Tc (,w)Tj -0 Tc 5.191 0 Td -[(hich )-257(we )-257(show )-257(in )-257(the )-257(next )-257(example.)-755(The )-257(other )-257(uses)]TJ -/TT0 1 Tf -25.01 0 Td -(sigprocmask)Tj -/T1_1 1 Tf -7.107 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(sigsuspend)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 7 0 Td -(nd we describe it in Section 10.19.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 6330.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -9.9988 0 0 9.9988 93.5888 599.3281 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(The )-31(SVR2 )-31(implementation )-31(of)]TJ -/TT0 1 Tf -13.151 0 Td -(sleep)Tj -/T1_1 1 Tf -3.281 0 Td -(used)Tj -/TT0 1 Tf -2.398 0 Td -(setjmp)Tj -/T1_1 1 Tf -3.881 0 Td -(and)Tj -/TT0 1 Tf -1.974 0 Td -(longjmp)Tj -/T1_1 1 Tf -4.481 0 Td -[(\(Section )-31(7.10\) )-31(to )-31(avoid)]TJ --29.164 -1.2 Td -[(the )-27(race )-27(condition )-27(described )-27(in )-27(pr)18(oblem )-27(3 )-27(of )-27(the )-27(pr)18(evious )-27(example.)]TJ -0.277 Tc 30.261 0 Td -(As)Tj -0 Tc 1.479 0 Td -[(imple )-27(version )-27(of)]TJ --31.74 -1.2 Td -[(this )-272(function, )-272(called)]TJ -/TT0 1 Tf -9.763 0 Td -(sleep2)Tj -/T1_1 1 Tf -[(,)-522(is)-522(shown )-272(in )-272(Figur)]TJ -0.5221 Tc 12.878 0 Td -(e1)Tj -0 Tc 1.501 0 Td -[(0.8. )-522(\(T)]TJ -0.5221 Tc 3.126 0 Td -(or)Tj -0 Tc 1.445 0 Td -[(educe )-272(the )-272(size )-272(of )-272(this)]TJ --28.713 -1.2 Td -[(example, we don\325t handle pr)18(oblems 1 and 2 described earlier)74(.\))]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5322.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 522.6049 Tm -[(#include )-1800()]TJ -0 -1.189 TD -[(#include )-1800()]TJ -T* -[(#include )-1800()]TJ -0 -2.14 TD -[(static jmp_buf)-1200(env_alrm;)]TJ -T* -(static void)Tj -0 -1.189 TD -(sig_alrm\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(longjmp\(env_alrm, 1\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(unsigned int)Tj -0 -1.189 TD -(sleep2\(unsigned int seconds\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(if \(signal\(SIGALRM, sig_alrm\) == SIG_ERR\))Tj -2.4 -1.189 Td -(return\(seconds\);)Tj --2.4 -1.189 Td -(if \(setjmp\(env_alrm\) == 0\) {)Tj -2.4 -1.189 Td -[(alarm\(seconds\); )-2400(/*)-600(start the timer */)]TJ -T* -(pause\(\); )Tj -12 0 Td -[(/*)-600(next caught signal wakes us up */)]TJ --14.4 -1.189 Td -(})Tj -T* -[(return\(alarm\(0\)\); )-3600(/*)-600(turn off timer, return unslept time */)]TJ --2.4 -1.189 Td -(})Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2889.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 219.6713 272.8525 Tm -(Figure 10.8)Tj -/T1_1 1 Tf -5.695 0 Td -(Another \(imperfect\) implementation of)Tj -/TT0 1 Tf -17.524 0 Td -(sleep)Tj -/T1_1 1 Tf -9.9976 0 0 9.9976 129.5691 248.8583 Tm -(The)Tj -/TT0 1 Tf -1.991 0 Td -(sleep2)Tj -/T1_1 1 Tf -3.917 0 Td -[(function )-67(avoids )-67(the )-67(race )-67(condition )-67(fr)18(om )-67(Figur)]TJ -0.3174 Tc 20.494 0 Td -(e1)Tj -0 Tc 1.296 0 Td -[(0.7. )-317(Even)-318(if )-67(the)]TJ -/TT0 1 Tf -7.268 0 Td -(pause)Tj -/T1_1 1 Tf -3.318 0 Td -(is)Tj --38.285 -1.2 Td -(never executed, the)Tj -/TT0 1 Tf -8.824 0 Td -(sleep2)Tj -/T1_1 1 Tf -3.85 0 Td -[(function r)18(eturns when the)]TJ -/TT0 1 Tf -11.757 0 Td -(SIGALRM)Tj -/T1_1 1 Tf -4.45 0 Td -(occurs.)Tj --27.081 -1.2 Td -(Ther)Tj -0.33 Tc 2.051 0 Td -(ei)Tj -0 Tc 1.1 0 Td -[(s, )-80(however)]TJ -0.3299 Tc 4.81 0 Td -(,a)Tj -0 Tc 1.08 0 Td -[(nother )-80(subtle )-80(pr)18(oblem )-80(with )-80(the)]TJ -/TT0 1 Tf -14.386 0 Td -(sleep2)Tj -/T1_1 1 Tf -3.93 0 Td -[(function )-80(that )-80(involves)]TJ --29.156 -1.2 Td -[(its )-56(interaction )-56(with )-56(other )-56(signals.)-556(If )-56(the)]TJ -/TT0 1 Tf -17.934 0 Td -(SIGALRM)Tj -/T1_1 1 Tf -4.506 0 Td -[(interr)8(upts )-56(some )-56(other )-56(signal )-56(handler)72(,)]TJ --22.44 -1.2 Td -[(then )-62(when )-62(we )-62(call)]TJ -/TT0 1 Tf -8.531 0 Td -(longjmp)Tj -/T1_1 1 Tf -[(,)-312(we)-312(a)1(bort )-62(the )-62(other )-62(signal )-62(handler)]TJ -0.5615 Tc 19.678 0 Td -(.F)Tj -0 Tc 1.367 0 Td -(igur)Tj -0.3115 Tc 1.827 0 Td -(e1)Tj -0 Tc 1.291 0 Td -[(0.9 )-61(shows )-61(this)]TJ --32.694 -1.2 Td -[(scenario. )-407(The)-407(loop )-157(in )-157(the)]TJ -/TT0 1 Tf -12.113 0 Td -(SIGINT)Tj -/T1_1 1 Tf -4.007 0 Td -[(handler )-157(was )-157(written )-157(so )-157(that )-157(it )-157(executes )-157(for )-157(longer)]TJ --16.12 -1.2 Td -[(than )-44(5 )-44(seconds )-44(on )-44(one )-44(of )-44(the )-44(systems )-44(used )-44(by )-44(the )-44(author)]TJ -0.5442 Tc 25.245 0 Td -(.W)Tj -0.2942 Tc 1.702 0 Td -(es)Tj -0 Tc 1.197 0 Td -[(imply )-44(want )-44(it )-44(to )-44(execute)]TJ --28.145 -1.2 Td -[(longer )-7(than )-7(the )-7(ar)17(gument )-7(to)]TJ -/TT0 1 Tf -12.69 0 Td -(sleep2)Tj -/T1_1 1 Tf -0.5073 Tc (.T)Tj -0 Tc 4.97 0 Td -[(he )-7(integer)]TJ -/TT0 1 Tf -4.684 0 Td -(k)Tj -/T1_1 1 Tf -0.857 0 Td -[(is )-7(declar)18(ed )-7(as)]TJ -/TT0 1 Tf -6.203 0 Td -(volatile)Tj -/T1_1 1 Tf -5.057 0 Td -[(to )-7(pr)18(event)]TJ --34.462 -1.2 Td -[(an optimizing compiler fr)18(om discar)18(ding the loop.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47279 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(7.10)]TJ -/TT0 1 Tf -28.486 0 Td -(setjmp)Tj -/T1_0 1 Tf -4.1 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.7 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(219)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(If )-372(we )-372(compile )-372(and )-372(test )-372(the )-372(pr)18(ogram )-372(in )-372(Figur)]TJ -0.6223 Tc 22.245 0 Td -(e7)Tj -0 Tc 1.601 0 Td -[(.13, )-372(with )-372(and )-372(without )-372(compiler)]TJ --23.847 -1.2 Td -[(optimizations, the r)18(esults ar)]TJ -0.25 Tc 12.295 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(if)18(fer)18(ent:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 640.2616 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(gcc testjmp.c)Tj -/T1_2 1 Tf -16.4 0 Td -(compile without any optimization)Tj -/TT0 1 Tf --17.6 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(in f1\(\):)Tj -0 -1.189 TD -(globval = 95, autoval = 96, regival = 97, volaval = 98, statval = 99)Tj -T* -(after longjmp:)Tj -0 -1.189 TD -(globval = 95, autoval = 96, regival = 97, volaval = 98, statval = 99)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(gcc -O testjmp.c)Tj -/T1_2 1 Tf -16.4 0 Td -(compile with full optimization)Tj -/TT0 1 Tf --17.6 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(in f1\(\):)Tj -T* -(globval = 95, autoval = 96, regival = 97, volaval = 98, statval = 99)Tj -T* -(after longjmp:)Tj -T* -(globval = 95, autoval = 2, regival = 3, volaval = 98, statval = 99)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5921 504.5697 Tm -[(Note )-134(that )-134(the )-134(optimizations )-134(don\325t )-134(af)17(fect )-134(the )-134(global, )-134(static, )-134(and )-134(volatile )-134(variables; )-134(their)]TJ -0 -1.2 TD -[(values )-17(after )-17(the)]TJ -/TT0 1 Tf -7.083 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.467 0 Td -(ar)Tj -0.2671 Tc 0.877 0 Td -(et)Tj -0 Tc 1.072 0 Td -[(he )-17(last )-17(values )-17(that )-17(they )-17(assumed.)-517(The)]TJ -/TT0 1 Tf -17.109 0 Td -(setjmp)Tj -/T1_0 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.6 -0.04 Td -(manual)Tj --35.641 -1.2 Td -[(page )-121(on )-121(one )-121(system )-121(states )-121(that )-121(variables )-121(stor)19(ed )-121(in )-121(memory )-121(will )-121(have )-121(values )-121(as )-121(of )-121(the)]TJ -T* -[(time )-199(of )-199(the)]TJ -/TT0 1 Tf -5.593 0 Td -(longjmp)Tj -/T1_0 1 Tf -0.4494 Tc (,w)Tj -0 Tc 5.733 0 Td -[(her)18(eas )-199(variables )-199(in )-199(the )-199(CPU )-199(and )-199(\337oating-point )-199(r)18(egisters )-199(ar)15(e)]TJ --0.018 Tc -11.327 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(stor)18(ed )-31(to )-31(their )-31(values )-31(when)]TJ -/TT0 1 Tf -12.453 0 Td -(setjmp)Tj -/T1_0 1 Tf -3.881 0 Td -[(was )-31(called.)-531(This )-31(is )-31(indeed )-31(what )-31(we )-31(see )-31(when )-31(we)]TJ --0.008 Tc -17.19 -1.2 Td -(ru)Tj -0.3789 Tc 0.99 0 Td -(nt)Tj -0 Tc 1.287 0 Td -[(he )-129(pr)18(ogram )-129(in )-129(Figur)]TJ -0.3789 Tc 9.312 0 Td -(e7)Tj -0 Tc 1.358 0 Td -[(.13. )-379(W)55(ithout )-129(optimization, )-129(all )-129(\336ve )-129(variables )-129(ar)]TJ -0.3788 Tc 21.181 0 Td -(es)Tj -0 Tc 1.282 0 Td -[(tor)18(ed )-129(in)]TJ --35.409 -1.2 Td -[(memory )-88(\(the)]TJ -/TT0 1 Tf -6.138 0 Td -(register)Tj -/T1_0 1 Tf -5.138 0 Td -[(hint )-88(is )-88(ignor)18(ed )-88(for)]TJ -/TT0 1 Tf -8.565 0 Td -(regival)Tj -/T1_0 1 Tf -[(\). )-338(When)-338(we )-88(enable )-88(optimization,)]TJ --19.841 -1.2 Td -(both)Tj -/TT0 1 Tf -2.307 0 Td -(autoval)Tj -/T1_0 1 Tf -4.5 0 Td -(and)Tj -/TT0 1 Tf -1.993 0 Td -(regival)Tj -/T1_0 1 Tf -4.5 0 Td -[(go )-50(into )-50(r)18(egisters, )-50(even )-50(though )-50(the )-50(former )-50(wasn\325t )-50(declar)20(ed)]TJ -/TT0 1 Tf --13.3 -1.2 Td -(register)Tj -/T1_0 1 Tf -0.251 Tc (,a)Tj -0 Tc 5.801 0 Td -[(nd )-1(the)]TJ -/TT0 1 Tf -3.082 0 Td -(volatile)Tj -/T1_0 1 Tf -5.051 0 Td -[(variable )-1(stays )-1(in )-1(memory)]TJ -0.501 Tc 11.061 0 Td -(.T)Tj -0 Tc 1.364 0 Td -[(he )-1(important )-1(thing )-1(to )-1(r)18(ealize)]TJ --26.359 -1.2 Td -[(with )-287(this )-287(example )-287(is )-287(that )-287(you )-287(must )-287(use )-287(the)]TJ -/TT0 1 Tf -21.517 0 Td -(volatile)Tj -/T1_0 1 Tf -5.336 0 Td -[(attribute )-286(if )-286(you\325r)]TJ -0.5365 Tc 7.856 0 Td -(ew)Tj -0 Tc 1.849 0 Td -(riting)Tj --36.559 -1.2 Td -[(portable )-76(code )-76(that )-76(uses )-76(nonlocal )-76(jumps.)-576(Anything )-76(else )-76(can )-76(change )-76(fr)22(om )-76(one )-76(system )-76(to)]TJ -T* -(the next.)Tj -1.8 -1.2 Td -(Some)Tj -/TT0 1 Tf -2.758 0 Td -(printf)Tj -/T1_0 1 Tf -3.925 0 Td -[(format )-75(strings )-75(in )-75(Figur)]TJ -0.3247 Tc 10.211 0 Td -(e7)Tj -0 Tc 1.304 0 Td -[(.13 )-75(ar)]TJ -0.3247 Tc 2.452 0 Td -(el)Tj -0 Tc 1.095 0 Td -[(onger )-75(than )-75(will )-75(\336t )-75(comfortably )-75(for)]TJ --23.544 -1.2 Td -[(display )-32(in )-32(a )-32(pr)18(ogramming )-32(text.)-532(Instead )-32(of )-32(making )-32(multiple )-32(calls )-32(to)]TJ -/TT0 1 Tf -30.16 0 Td -(printf)Tj -/T1_0 1 Tf -[(,)-282(we)-282(r)18(ely )-32(on)]TJ --30.16 -1.2 Td -[(ISO C\325s string concatenation featur)18(e, wher)]TJ -0.25 Tc 18.65 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he sequence)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5907 321.0807 Tm -("string1" "string2")Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5918 304.2817 Tm -(is equivalent to)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5907 288.7827 Tm -("string1string2")Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2840.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9988 0 0 9.9988 147.5823 259.9688 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-53(r)18(eturn )-53(to )-53(these )-53(two )-53(functions,)]TJ -/TT0 1 Tf -14.691 0 Td -(setjmp)Tj -/T1_0 1 Tf -3.903 0 Td -(and)Tj -/TT0 1 Tf -1.996 0 Td -(longjmp)Tj -/T1_0 1 Tf -[(,)-303(in)-303(C)-1(hapter )-53(10 )-53(when )-53(we)]TJ --23.778 -1.2 Td -(discuss signal handlers and their signal versions:)Tj -/TT0 1 Tf -21.845 0 Td -(sigsetjmp)Tj -/T1_0 1 Tf -5.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(siglongjmp)Tj -/T1_0 1 Tf -(.)Tj -/TT2 1 Tf --0.04 Tc -33.038 -2.88 Td -(Po)Tj -0 Tc 1.238 0 Td -[(tential Pr)20(ob)10(lem with A)30(utomatic V)60(ariab)10(les)]TJ -/T1_0 1 Tf -2.362 -2.16 Td -[(Having )-153(looked )-153(at )-153(the )-153(way )-153(stack )-153(frames )-153(ar)]TJ -0.4026 Tc 19.417 0 Td -(eu)Tj -0 Tc 1.485 0 Td -[(sually )-153(handled, )-153(it )-153(is )-153(worth )-153(looking )-153(at )-153(a)]TJ --20.902 -1.2 Td -[(potential )-68(err)18(or )-68(in )-68(dealing )-68(with )-68(automatic )-68(variables.)-568(The )-68(basic )-68(r)6(ule )-68(is )-68(that )-68(an )-68(automatic)]TJ -T* -[(variable )-85(can )-85(never )-85(be )-85(r)16(efer)18(enced )-85(after )-85(the )-85(function )-85(that )-85(declar)18(ed )-85(it )-85(r)15(eturns. )-335(Numer)18(ous)]TJ -0 -1.2 Td -[(warnings about this can be found thr)18(oughout the UNIX System manuals.)]TJ -1.8 -1.2 Td -(Figur)Tj -0.3366 Tc 2.383 0 Td -(e7)Tj -0 Tc 1.316 0 Td -[(.14 )-87(shows )-87(a )-87(function )-87(called)]TJ -/TT0 1 Tf -12.566 0 Td -(open_data)Tj -/T1_0 1 Tf -5.737 0 Td -[(that )-87(opens )-87(a )-87(standar)]TJ -0.3367 Tc 9.196 0 Td -(dI)Tj -0 Tc 1.285 0 Td -[(/O )-87(str)18(eam)]TJ --34.282 -1.2 Td -[(and sets the buf)18(fering for the str)18(eam.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47280 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(7.10)]TJ -/TT0 1 Tf -28.486 0 Td -(setjmp)Tj -/T1_0 1 Tf -4.1 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.7 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(217)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(When)Tj -/TT0 1 Tf -2.955 0 Td -(main)Tj -/T1_0 1 Tf -2.712 0 Td -[(is )-62(executed, )-62(we )-62(call)]TJ -/TT0 1 Tf -8.991 0 Td -(setjmp)Tj -/T1_0 1 Tf -0.3123 Tc (,w)Tj -0 Tc 4.996 0 Td -[(hich )-62(r)18(ecor)18(ds )-62(whatever )-62(information )-62(it )-62(needs)]TJ --19.655 -1.2 Td -[(to )-288(in )-288(the )-288(variable)]TJ -/TT0 1 Tf -8.86 0 Td -(jmpbuffer)Tj -/T1_0 1 Tf -5.938 0 Td -[(and )-288(r)18(eturns )-288(0.)]TJ --0.092 Tc 7.495 0 Td -[(We )-473(t)]TJ -0 Tc 2.251 0 Td -[(hen )-288(call)]TJ -/TT0 1 Tf -4.246 0 Td -(do_line)Tj -/T1_0 1 Tf -0.5385 Tc (,w)Tj -0 Tc 5.822 0 Td -[(hich )-288(calls)]TJ -/TT0 1 Tf --34.612 -1.2 Td -(cmd_add)Tj -/T1_0 1 Tf -0.542 Tc (,a)Tj -0 Tc 5.492 0 Td -[(nd )-292(assume )-292(that )-292(an )-292(err)18(or )-292(of )-292(some )-292(form )-292(is )-292(detected.)-792(Befor)]TJ -0.542 Tc 27.618 0 Td -(et)Tj -0 Tc 1.347 0 Td -[(he )-292(call )-292(to)]TJ -/TT0 1 Tf --34.457 -1.2 Td -(longjmp)Tj -/T1_0 1 Tf -4.496 0 Td -(in)Tj -/TT0 1 Tf -1.169 0 Td -(cmd_add)Tj -/T1_0 1 Tf -0.2957 Tc (,t)Tj -0 Tc 5.072 0 Td -[(he )-46(stack )-46(looks )-46(like )-46(that )-46(in )-46(Figur)]TJ -0.2957 Tc 14.055 0 Td -(e7)Tj -0 Tc 1.275 0 Td -[(.10. )-296(But)]TJ -/TT0 1 Tf -3.881 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.496 0 Td -[(causes )-46(the)]TJ --34.443 -1.2 Td -[(stack )-62(to )-62(be )-62(\324)37(\324unwound\325)]TJ -0.3121 Tc 10.211 0 Td -(\325b)Tj -0 Tc 1.143 0 Td -[(ack )-62(to )-62(the)]TJ -/TT0 1 Tf -4.695 0 Td -(main)Tj -/T1_0 1 Tf -2.712 0 Td -[(function, )-62(thr)18(owing )-62(away )-62(the )-62(stack )-62(frames )-62(for)]TJ -/TT0 1 Tf --18.762 -1.2 Td -(cmd_add)Tj -/T1_0 1 Tf -4.509 0 Td -(and)Tj -/TT0 1 Tf -2.001 0 Td -(do_line)Tj -/T1_0 1 Tf -4.509 0 Td -(\(Figur)Tj -0.3086 Tc 2.716 0 Td -(e7)Tj -0 Tc 1.288 0 Td -[(.12\). )-309(Calling)]TJ -/TT0 1 Tf -5.92 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.509 0 Td -[(causes )-59(the)]TJ -/TT0 1 Tf -4.878 0 Td -(setjmp)Tj -/T1_0 1 Tf -3.909 0 Td -(in)Tj -/TT0 1 Tf -1.182 0 Td -(main)Tj -/T1_0 1 Tf -2.709 0 Td -(to)Tj --0.018 Tc -38.128 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn, but this time it r)18(eturns with a value of 1 \(the second ar)18(gument for)]TJ -/TT0 1 Tf -31.529 0 Td -(longjmp)Tj -/T1_0 1 Tf -(\).)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -3030 5126 720 576 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 318.6018 544.5746 Tm -(stack frame)Tj -0.583 -1.25 Td -(for)Tj -/TT0 1 Tf -1.524 0 Td -(main)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3030.25 5126.25 cm -0 0 m -0 -648 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5126.25 cm -0 0 m -0 -648 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 246.4836 563.3386 Tm -(bottom of stack)Tj -16.309 0 Td -[(higher addr)18(ess)]TJ -0 -14.405 TD -[(lower addr)18(ess)]TJ -ET -q -0.99982 0 0 0.99982 0 0 cm -q 1 0 0 1 274.2 447.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -1 j 1 J -q 1 0 0 1 2742 4478 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2742.25 4766.25 cm -0 0 m -0 -216 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 217.1399 465.3283 Tm -[(dir)18(ection of)]TJ --0.645 -1.25 Td -[(stack gr)18(owth)]TJ -/T1_1 1 Tf -1.779 -4.555 Td -(Figure 7.12)Tj -/T1_0 1 Tf -5.695 -0 Td -(Stack frame after)Tj -/TT0 1 Tf -7.724 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.45 -0 Td -(has been called)Tj -/TT1 1 Tf --0.03 Tc 9.9976 0 0 9.9976 93.5777 373.3106 Tm -(Au)Tj -0 Tc 1.303 0 Td -(tomatic, Register)Tj -0.278 Tc 8.053 0 Td -(,a)Tj -0 Tc 1.112 0 Td -[(nd V)90(olatile V)60(ariab)10(les)]TJ -/T1_0 1 Tf --0.092 Tc -6.868 -2.4 Td -(We)Tj -0 Tc 1.387 0 Td -(\325ve seen what the stack looks like after calling)Tj -/TT0 1 Tf -20.383 0 Td -(longjmp)Tj -/T1_0 1 Tf -0.5 Tc (.T)Tj -0 Tc 5.563 0 Td -[(he next question is, \324)37(\324What)]TJ --27.333 -1.2 Td -(ar)Tj -0.3651 Tc 0.877 0 Td -(et)Tj -0 Tc 1.17 0 Td -[(he )-115(states )-115(of )-115(the )-115(automatic )-115(variables )-115(and )-115(r)17(egister )-115(variables )-115(in )-115(the)]TJ -/TT0 1 Tf -29.517 0 Td -(main)Tj -/T1_0 1 Tf -2.765 0 Td -[(function?\325)37(\325)]TJ --34.33 -1.2 Td -[(When )-146(we )-146(r)18(eturn )-146(to)]TJ -/TT0 1 Tf -9.173 0 Td -(main)Tj -/T1_0 1 Tf -2.796 0 Td -[(as )-146(a )-146(r)18(esult )-146(of )-146(the)]TJ -/TT0 1 Tf -8.169 0 Td -(longjmp)Tj -/T1_0 1 Tf -[(,)-396(do)-396(these )-146(variables )-146(have )-146(values)]TJ --20.138 -1.2 Td -[(corr)18(esponding )-135(to )-135(those )-135(when )-135(the)]TJ -/TT0 1 Tf -15.453 0 Td -(setjmp)Tj -/T1_0 1 Tf -3.985 0 Td -[(was )-135(pr)18(eviously )-135(called )-135(\(i.e., )-135(ar)]TJ -0.3852 Tc 13.378 0 Td -(et)Tj -0 Tc 1.19 0 Td -[(heir )-135(values)]TJ --0.018 Tc -34.006 -1.2 Td -(ro)Tj -0 Tc 0.923 0 Td -[(lled )-113(back\), )-113(or )-113(ar)]TJ -0.3629 Tc 7.215 0 Td -(et)Tj -0 Tc 1.168 0 Td -[(heir )-113(values )-113(left )-113(alone )-113(so )-113(that )-113(their )-113(values )-113(ar)]TJ -0.3628 Tc 19.855 0 Td -(ew)Tj -0 Tc 1.676 0 Td -[(hatever )-113(they )-113(wer)18(e)]TJ --30.837 -1.2 Td -(when)Tj -/TT0 1 Tf -3.119 0 Td -(do_line)Tj -/T1_0 1 Tf -4.842 0 Td -[(was )-392(called )-392(\(which )-392(caused)]TJ -/TT0 1 Tf -13.067 0 Td -(cmd_add)Tj -/T1_0 1 Tf -4.842 0 Td -[(to )-392(be )-392(called, )-392(which )-392(caused)]TJ -/TT0 1 Tf --25.869 -1.2 Td -(longjmp)Tj -/T1_0 1 Tf -5.127 0 Td -[(to )-677(be )-677(called\)?)-1177(Unfortunately)]TJ -0.9271 Tc 14.514 0 Td -(,t)Tj -0 Tc 1.503 0 Td -[(he )-677(answer )-677(is )-677(\324)37(\324It )-677(depends.\325)]TJ -1.1771 Tc 14.158 0 Td -(\325M)Tj -0 Tc 2.401 0 Td -(ost)Tj --37.704 -1.2 Td -[(implementations )-19(do )-19(not )-19(try )-19(to )-19(r)18(oll )-19(back )-19(these )-19(automatic )-19(variables )-19(and )-19(r)18(egister )-19(variables,)]TJ -0 -1.2 TD -[(but )-5(the )-5(standar)18(ds )-5(say )-5(only )-5(that )-5(their )-5(values )-5(ar)]TJ -0.255 Tc 20.265 0 Td -(ei)Tj -0 Tc 1.025 0 Td -[(ndeterminate. )-255(If)-255(you )-5(have )-5(an )-5(automatic)]TJ --21.29 -1.2 Td -[(variable )-322(that )-322(you )-322(don\325t )-322(want )-322(r)18(olled )-322(back, )-322(de\336ne )-322(it )-322(with )-322(the)]TJ -/TT0 1 Tf -29.579 0 Td -(volatile)Tj -/T1_0 1 Tf -5.372 0 Td -(attribute.)Tj --0.092 Tc -34.951 -1.2 Td -(Va)Tj -0 Tc 1.13 0 Td -(riables that ar)Tj -0.25 Tc 6.044 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(eclar)18(ed as global or static ar)]TJ -0.25 Tc 12.221 0 Td -(el)Tj -0 Tc 1.02 0 Td -(eft alone when)Tj -/TT0 1 Tf -6.763 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.45 0 Td -(is executed.)Tj -/TT1 1 Tf --36.568 -4.2 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(The )-106(pr)18(ogram )-106(in )-106(Figur)]TJ -0.356 Tc 9.856 0 Td -(e7)Tj -0 Tc 1.335 0 Td -[(.13 )-106(demonstrates )-106(the )-106(dif)18(fer)18(ent )-106(behavior )-106(that )-106(can )-106(be )-106(seen )-106(with)]TJ --11.191 -1.2 Td -[(automatic, global, r)18(egister)]TJ -0.25 Tc 11.409 0 Td -(,s)Tj -0 Tc 0.924 0 Td -(tatic, and volatile variables after calling)Tj -/TT0 1 Tf -17.605 0 Td -(longjmp)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47281 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(950)Tj -/T1_1 1 Tf -3.5 0 Td -(Bibliography)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -8.9995 0 0 8.9995 129.5922 669.9598 Tm -[(IEEE. )-453(1990.)]TJ -/T1_2 1 Tf -6.075 0 Td -[(Information )-203(T)111(echnology )167(\321 )167(Portable)-453(Operating )-203(System )-203(Interface)]TJ -26.762 0.04 Td -(\()Tj -0.333 -0.04 Td -(POSIX)Tj -3 0.04 Td -(\))Tj -0.786 -0.04 Td -[(Part )-203(1: )-203(System)]TJ --33.756 -1.222 Td -[(Application Pr)18(ogram Interface)]TJ -12.545 0.04 Td -(\()Tj -0.333 -0.04 Td -(API)Tj -1.666 0.04 Td -(\))Tj -0.583 -0.04 Td -([C Language].)Tj -/T1_1 1 Tf -6.778 0 Td -(IEEE \(Dec.\).)Tj -7.9995 0 0 7.9995 179.9891 645.6613 Tm -[(This )-195(was )-195(the )-195(\336rst )-195(of )-195(the )-195(POSIX )-195(standar)21(ds, )-195(and )-195(it )-195(de\336ned )-195(the )-195(C )-195(language )-195(systems )-195(interface)]TJ -0 -1.25 TD -[(standar)18(d, )-35(based )-35(on )-35(the )-35(UNIX )-35(operating )-35(system.)-535(It )-35(is )-35(often )-35(called )-35(POSIX.1.)-535(It )-35(is )-35(now )-35(part )-35(of )-35(the)]TJ -T* -[(Single UNIX Speci\336cation published by The Open Gr)18(oup)]TJ -25.527 0.04 Td -([)Tj -0.333 -0.04 Td -(2008)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -(.)Tj -8.9995 0 0 8.9995 129.5923 609.1634 Tm -[(ISO. )-250(1999.)]TJ -/T1_2 1 Tf -5.148 0 Td -(International Standard ISO/IEC 9899)Tj -0.0833 Tc 15.462 0 Td -(\321P)Tj --0.018 Tc 1.694 0 Td -(ro)Tj -0 Tc 0.815 0 Td -(gramming Language C.)Tj -/T1_1 1 Tf -10.585 0 Td -(ISO/IEC.)Tj -7.9995 0 0 7.9995 179.989 595.8642 Tm -[(The )-26(of)18(\336cial )-26(standar)]TJ -0.2756 Tc 8.537 0 Td -(df)Tj -0 Tc 1.22 0 Td -[(or )-26(the )-26(C )-26(language )-26(and )-26(the )-26(standar)]TJ -0.2756 Tc 15.158 0 Td -(dl)Tj -0 Tc 1.178 0 Td -[(ibraries. )-276(Although)-275(this )-26(was )-26(r)19(eplaced)]TJ --26.092 -1.25 Td -[(by )-22(a )-22(new )-22(version )-22(of )-22(the )-22(standar)16(d)-272(in)-272(201)55(1, )-22(the )-22(systems )-22(described )-22(in )-22(this )-22(book )-22(still )-22(conform )-22(to )-22(the)]TJ -0 -1.25 Td -[(1999 version of the standar)18(d.)]TJ -0 -1.875 TD -[(PDF )-142(versions )-142(of )-142(this )-142(standar)]TJ -0.3924 Tc 13.031 0 Td -(dc)Tj -0 Tc 1.447 0 Td -[(an )-142(be )-142(pur)18(chased )-142(online )-142(at )-142(either)]TJ -/TT0 1 Tf -15.238 0 Td -(http://www.ansi.org)Tj -/T1_1 1 Tf -11.792 0 Td -(or)Tj -/TT0 1 Tf --41.509 -1.25 Td -(http://www.iso.org)Tj -/T1_1 1 Tf -(.)Tj -8.9995 0 0 8.9995 129.5917 533.268 Tm -[(ISO. )-1099(201)55(1.)]TJ -/T1_2 1 Tf -6.792 0 Td -[(International )-849(Standard )-849(ISO/IEC )-849(9899, )-849(Information )-849(T)110(echnology )167(\321 )167(Pr)17(ogramming)]TJ --3.592 -1.222 Td -[(Languages )167(\321 )167(C.)]TJ -/T1_1 1 Tf -7.418 0 Td -(ISO/IEC.)Tj -7.9995 0 0 7.9995 179.9886 508.9695 Tm -[(The )-77(latest )-77(version )-77(of )-77(the )-77(of)18(\336cial )-77(standar)]TJ -0.3273 Tc 17.843 0 Td -(df)Tj -0 Tc 1.271 0 Td -[(or )-77(the )-77(C )-77(language )-77(and )-77(the )-77(standar)]TJ -0.3274 Tc 15.467 0 Td -(dl)Tj -0 Tc 1.229 0 Td -[(ibraries, )-77(which)]TJ --0.018 Tc -35.812 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(places the 1999 version.)Tj --0.856 -1.875 Td -[(PDF )-142(versions )-142(of )-142(this )-142(standar)]TJ -0.3924 Tc 13.032 0 Td -(dc)Tj -0 Tc 1.447 0 Td -[(an )-142(be )-142(pur)17(chased )-142(online )-142(at )-142(either)]TJ -/TT0 1 Tf -15.238 0 Td -(http://www.ansi.org)Tj -/T1_1 1 Tf -11.792 0 Td -(or)Tj -/TT0 1 Tf --41.509 -1.25 Td -(http://www.iso.org)Tj -/T1_1 1 Tf -(.)Tj -8.9995 0 0 8.9995 129.5914 456.3726 Tm -[(Kernighan, )-350(B. )-350(W)92(., )-350(and )-350(Pike, )-350(R.)-851(1984.)]TJ -/T1_2 1 Tf -18.954 0 Td -[(The )-350(UNIX )-350(Pr)18(ogramming )-350(Envir)17(onment)]TJ -/T1_1 1 Tf -0.8502 Tc (.P)Tj --0.018 Tc 18.637 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ntice )-350(Hall,)]TJ --35.247 -1.222 Td -[(Englewood Clif)18(fs, NJ.)]TJ -0.312 Tc 7.9995 0 0 7.9995 179.9884 432.0741 Tm -(Ag)Tj -0 Tc 1.646 0 Td -[(eneral )-62(r)18(efer)18(ence )-62(for )-62(additional )-62(details )-62(on )-62(UNIX )-62(pr)18(ogramming. )-312(This)-312(book )-62(covers )-62(numer)18(ous)]TJ --1.646 -1.25 Td -(UNIX commands and utilities, such as)Tj -/TT0 1 Tf -17.228 0 Td -(grep)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.9 0 Td -(sed)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.3 0 Td -(awk)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 2.8 0 Td -(nd the Bourne shell.)Tj -8.9995 0 0 8.9995 129.5912 404.4757 Tm -[(Kernighan, )-49(B. )-49(W)92(., )-49(and )-49(Ritchie, )-49(D. )-49(M.)-547(1988.)]TJ -/T1_2 1 Tf -19.596 0 Td -[(The )-49(C )-49(Pr)18(ogramming )-49(Language, )-49(Second )-49(Edition)]TJ -/T1_1 1 Tf -0.5488 Tc 19.357 0 Td -(.P)Tj --0.018 Tc 1.403 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ntice)Tj --38.011 -1.222 Td -[(Hall, Englewood Clif)18(fs, NJ.)]TJ -0.2864 Tc 7.9995 0 0 7.9995 179.9882 380.1772 Tm -(Ab)Tj -0 Tc 1.617 0 Td -[(ook )-36(on )-36(the )-36(ANSI )-36(standar)]TJ -0.2864 Tc 11.1 0 Td -(dv)Tj -0 Tc 1.462 0 Td -[(ersion )-36(of )-36(the )-36(C )-36(pr)17(ogramming )-36(language.)-536(Appendix )-36(B )-36(contains )-36(a)]TJ --14.179 -1.25 Td -[(description of the libraries de\336ned by the ANSI standar)18(d.)]TJ -8.9995 0 0 8.9995 129.591 352.5788 Tm -[(Kerrisk, M.)-500(2010.)]TJ -/T1_2 1 Tf -8.212 0 Td -[(The Linux Pr)18(ogramming Interface)]TJ -/T1_1 1 Tf -0.5 Tc (.N)Tj -0.25 Tc 15.444 0 Td -(oS)Tj -0 Tc 1.321 0 Td -[(tartch Pr)18(ess, San Francisco, CA.)]TJ -7.9995 0 0 7.9995 179.9878 339.2796 Tm -[(If )-56(you )-56(thought )-56(this )-56(book )-56(was )-56(long, )-56(her)16(e)-306(is)-306(o)-1(ne )-56(that )-56(is )-56(half )-56(again )-56(as )-56(big, )-56(but )-56(focuses )-56(only )-56(on )-56(the)]TJ -0 -1.25 Td -[(Linux pr)18(ogramming interface.)]TJ -8.9995 0 0 8.9995 129.5911 311.6813 Tm -[(Kleiman, )-170(S. )-170(R.)-669(1986. )-420(\324)37(\324Vnodes: )-170(An )-170(Ar)19(chitectur)]TJ -0.4197 Tc 21.483 0 Td -(ef)Tj -0 Tc 1.232 0 Td -[(or )-170(Multiple )-170(File )-170(System )-170(T)90(ypes )-170(in )-170(Sun )-170(Unix,\325)39(\325)]TJ -/T1_2 1 Tf --19.515 -1.222 Td -[(Pr)18(oceedings of the 1986 Summer USENIX Confer)18(ence)]TJ -/T1_1 1 Tf -0.25 Tc (,p)Tj -0 Tc 23.049 0 Td -(p. 238)Tj -2.684 0.09 Td -(\320)Tj -0.583 -0.09 Td -(247, Atlanta, GA.)Tj -0.25 Tc 7.9995 0 0 7.9995 179.9885 287.3828 Tm -(Ad)Tj -0 Tc 1.639 0 Td -(escription of the original v-node implementation.)Tj -8.9995 0 0 8.9995 129.5914 269.7838 Tm -[(Knuth, )-215(D. )-215(E.)-714(1998.)]TJ -/T1_2 1 Tf -9.563 0 Td -[(The )-215(Art )-215(of )-215(Computer )-215(Pr)18(ogramming, )-215(V)74(olume )-215(3: )-215(Sorting )-215(and )-215(Sear)18(ching, )-215(Second)]TJ --6.363 -1.222 Td -(Edition)Tj -/T1_1 1 Tf -0.5 Tc (.A)Tj -0 Tc 4.528 0 Td -[(ddison-W)92(esley, Boston, MA.)]TJ -7.9995 0 0 7.9995 179.9883 245.4853 Tm -[(Describes sorting and sear)18(ching algorithms.)]TJ -8.9995 0 0 8.9995 129.5914 227.8863 Tm -[(Korn, )-48(D. )-48(G., )-48(and )-48(V)111(o, )-48(K. )-48(P)]TJ -0.5476 Tc 11.122 0 Td -(.1)Tj -0 Tc 1.298 0 Td -[(991. )-298(\324)38(\324SFIO: )-48(Safe/Fast )-48(String/File )-48(IO,\325)38(\325)]TJ -/T1_2 1 Tf -17.5 0 Td -[(Pr)18(oceedings )-47(of )-47(the )-47(1991 )-47(Summer)]TJ --26.72 -1.222 Td -[(USENIX Confer)18(ence)]TJ -/T1_1 1 Tf -0.25 Tc (,p)Tj -0 Tc 9.575 0 Td -(p. 235)Tj -2.684 0.09 Td -(\320)Tj -0.583 -0.09 Td -(255, Nashville, TN.)Tj -0.6094 Tc 7.9995 0 0 7.9995 179.9881 203.5878 Tm -(Ad)Tj -0 Tc 1.998 0 Td -[(escription )-359(of )-359(an )-359(alternative )-359(to )-359(the )-359(standar)]TJ -0.6094 Tc 20.309 0 Td -(dI)Tj -0 Tc 1.557 0 Td -[(/O )-359(library)]TJ -0.8595 Tc 4.871 0 Td -(.T)Tj -0 Tc 1.723 0 Td -[(he )-359(library )-359(is )-359(available )-359(at)]TJ -/TT0 1 Tf --30.459 -1.25 Td -(http://www.research.att.com/sw/tools/sfio)Tj -/T1_1 1 Tf -(.)Tj -8.9995 0 0 8.9995 129.5912 175.9894 Tm -(Krieger)Tj -0.3854 Tc 3.247 0 Td -(,O)Tj -0 Tc 1.421 0 Td -[(., )-135(Stumm, )-135(M., )-135(and )-135(Unrau, )-135(R.)-638(1992. )-385(\324)37(\324Exploiting )-135(the )-135(Advantages )-135(of )-135(Mapped )-135(Files )-135(for)]TJ --1.468 -1.222 Td -[(Str)18(eam )-92(I/O,\325)37(\325)]TJ -/T1_2 1 Tf -6.273 0 Td -[(Pr)18(oceedings )-92(of )-92(the )-92(1992 )-92(W)20(inter )-92(USENIX )-92(Confer)15(ence)]TJ -/T1_1 1 Tf -0.3424 Tc (,p)Tj -0 Tc 23.119 0 Td -(p. 27)Tj -2.184 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(42, )-92(San )-92(Francisco,)]TJ --32.159 -1.222 Td -(CA.)Tj -7.9995 0 0 7.9995 179.9882 140.6916 Tm -(An alternative to the standar)Tj -0.25 Tc 12.673 0 Td -(dI)Tj -0 Tc 1.198 0 Td -(/O library based on mapped \336les.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47282 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(78)Tj -/T1_1 1 Tf -3 0 Td -[(File )-250(I/O)]TJ -39.741 0 Td -[(Chapter )-250(3)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(This )-127(works )-127(\336ne )-127(for )-127(a )-127(single )-127(pr)15(ocess, )-128(but )-128(pr)18(oblems )-128(arise )-128(if )-128(multiple )-128(pr)18(ocesses )-128(use )-128(this)]TJ -0 -1.2 TD -[(technique )-1(to )-1(append )-1(to )-1(the )-1(same )-1(\336le.)-501(\(This )-1(scenario )-1(can )-1(arise )-1(if )-1(multiple )-1(instances )-1(of )-1(the)]TJ -T* -[(same pr)18(ogram ar)]TJ -0.25 Tc 7.521 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ppending messages to a log \336le, for example.\))Tj --6.95 -1.2 Td -[(Assume )-91(that )-91(two )-91(independent )-91(pr)18(ocesses, )-91(A )-91(and )-91(B, )-91(ar)]TJ -0.3413 Tc 24.041 0 Td -(ea)Tj -0 Tc 1.32 0 Td -[(ppending )-91(to )-91(the )-91(same )-91(\336le.)]TJ --27.162 -1.2 Td -[(Each )-33(has )-33(opened )-33(the )-33(\336le )-33(but)]TJ -/T1_2 1 Tf -12.886 0 Td -(without)Tj -/T1_1 1 Tf -3.449 0 Td -(the)Tj -/TT0 1 Tf -1.671 0 Td -(O_APPEND)Tj -/T1_1 1 Tf -5.084 0 Td -[(\337ag. )-283(This)-284(gives )-33(us )-33(the )-33(same )-33(pictur)16(e)]TJ --23.089 -1.2 Td -[(as )-93(Figur)]TJ -0.3435 Tc 3.651 0 Td -(e3)Tj -0 Tc 1.322 0 Td -[(.8. )-343(Each)-344(pr)18(ocess )-93(has )-93(its )-93(own )-93(\336le )-93(table )-93(entry)]TJ -0.3435 Tc 19.69 0 Td -(,b)Tj -0 Tc 1.146 0 Td -[(ut )-93(they )-93(shar)]TJ -0.3435 Tc 5.442 0 Td -(eas)Tj -0 Tc 2.09 0 Td -[(ingle )-93(v-node)]TJ --33.342 -1.2 Td -[(table )-54(entry)]TJ -0.554 Tc 4.68 0 Td -(.A)Tj -0 Tc 1.582 0 Td -[(ssume )-54(that )-54(pr)18(ocess )-54(A )-54(does )-54(the)]TJ -/TT0 1 Tf -13.891 0 Td -(lseek)Tj -/T1_1 1 Tf -3.304 0 Td -[(and )-54(that )-54(this )-54(sets )-54(the )-54(curr)18(ent )-54(of)18(fset)]TJ --23.457 -1.2 Td -[(for )-106(the )-106(\336le )-106(for )-106(pr)18(ocess )-106(A )-106(to )-106(byte )-106(of)20(fset )-106(1,500 )-106(\(the )-106(curr)18(ent )-106(end )-106(of )-106(\336le\).)-606(Then )-106(the )-106(kernel)]TJ -T* -[(switches )-148(pr)18(ocesses, )-148(and )-148(B )-148(continues )-148(r)8(unning. )-398(Pr)18(ocess )-148(B )-148(then )-148(does )-148(the)]TJ -/TT0 1 Tf -32.619 0 Td -(lseek)Tj -/T1_1 1 Tf -0.398 Tc (,w)Tj -0 Tc 4.482 0 Td -(hich)Tj --37.101 -1.2 Td -[(sets )-61(the )-61(curr)17(ent )-62(of)18(fset )-62(for )-62(the )-62(\336le )-62(for )-62(pr)18(ocess )-62(B )-62(to )-62(byte )-62(of)18(fset )-62(1,500 )-62(also )-62(\(the )-62(curr)18(ent )-62(end)]TJ -T* -[(of )-33(\336le\).)-533(Then )-33(B )-33(calls)]TJ -/TT0 1 Tf -9.317 0 Td -(write)Tj -/T1_1 1 Tf -0.2826 Tc (,w)Tj -0 Tc 4.367 0 Td -[(hich )-33(incr)18(ements )-33(B\325s )-33(curr)18(ent )-33(\336le )-33(of)20(fset )-32(for )-32(the )-32(\336le )-32(to )-32(1,600.)]TJ --13.684 -1.2 Td -[(Because )-41(the )-41(\336le\325s )-41(size )-41(has )-41(been )-41(extended, )-41(the )-41(kernel )-41(also )-41(updates )-41(the )-41(curr)22(ent )-41(\336le )-41(size )-41(in)]TJ -T* -[(the )-67(v-node )-67(to )-67(1,600.)-567(Then )-67(the )-67(kernel )-67(switches )-67(pr)18(ocesses )-67(and )-67(A )-67(r)19(esumes. )-317(When)]TJ -0.3169 Tc 35.955 0 Td -(Ac)Tj -0 Tc 1.539 0 Td -(alls)Tj -/TT0 1 Tf --37.494 -1.2 Td -(write)Tj -/T1_1 1 Tf -0.3608 Tc (,t)Tj -0 Tc 3.937 0 Td -[(he )-111(data )-111(is )-111(written )-111(starting )-111(at )-111(the )-111(curr)18(ent )-111(\336le )-111(of)18(fset )-111(for )-111(A, )-111(which )-111(is )-111(byte )-111(of)20(fset)]TJ --3.937 -1.2 Td -[(1,500. )-250(This)-250(overwrites the data that B wr)18(ote to the \336le.)]TJ -1.8 -1.2 Td -[(The )-138(pr)18(oblem )-138(her)18(e)-388(is)-388(that )-138(our )-138(logical )-138(operation )-138(of )-138(\324)38(\324position )-138(to )-138(the )-138(end )-138(of )-138(\336le )-138(and)]TJ --1.8 -1.2 Td -(write\325)Tj -0.2995 Tc 2.566 0 Td -(\325r)Tj -0 Tc 0.954 0 Td -[(equir)18(es )-49(two )-49(separate )-49(function )-49(calls )-49(\(as )-49(we\325ve )-49(shown )-49(it\).)-549(The )-49(solution )-49(is )-49(to )-49(have)]TJ --3.521 -1.2 Td -[(the )-175(positioning )-175(to )-175(the )-175(curr)18(ent )-175(end )-175(of )-175(\336le )-175(and )-175(the )-175(write )-175(be )-175(an )-175(atomic )-175(operation )-175(with)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(gar)18(d)-465(to)-465(other )-215(pr)18(ocesses. )-465(Any)-465(operation )-215(that )-215(r)18(equir)18(es )-215(mor)]TJ -0.4651 Tc 26.975 0 Td -(et)Tj -0 Tc 1.27 0 Td -[(han )-215(one )-215(function )-215(call)]TJ --29.101 -1.2 Td -[(cannot )-133(be )-133(atomic, )-133(as )-133(ther)19(e)-383(is)-383(always )-133(the )-133(possibility )-133(that )-133(the )-133(kernel )-133(might )-133(temporarily)]TJ -0 -1.2 Td -[(suspend the pr)18(ocess between the two function calls \(as we assumed pr)18(eviously\).)]TJ -1.8 -1.2 Td -[(The )-278(UNIX )-278(System )-278(pr)18(ovides )-278(an )-278(atomic )-278(way )-278(to )-278(do )-278(this )-278(operation )-278(if )-278(we )-278(set )-278(the)]TJ -/TT0 1 Tf --1.8 -1.2 Td -(O_APPEND)Tj -/T1_1 1 Tf -5.211 0 Td -[(\337ag )-161(when )-161(a )-161(\336le )-161(is )-161(opened.)-661(As )-161(we )-161(described )-161(in )-161(the )-161(pr)15(evious )-161(section, )-161(this)]TJ --5.211 -1.2 Td -[(causes )-37(the )-37(kernel )-37(to )-37(position )-37(the )-37(\336le )-37(to )-37(its )-37(curr)18(ent )-37(end )-37(of )-37(\336le )-37(befor)]TJ -0.2873 Tc 29.352 0 Td -(ee)Tj -0 Tc 1.245 0 Td -(ach)Tj -/TT0 1 Tf -1.813 0 Td -(write)Tj -/T1_1 1 Tf -0.5373 Tc (.W)Tj -0.2873 Tc 4.695 0 Td -(en)Tj -0 Tc 1.348 0 Td -(o)Tj --38.454 -1.2 Td -(longer have to call)Tj -/TT0 1 Tf -8.373 0 Td -(lseek)Tj -/T1_1 1 Tf -3.25 0 Td -(befor)Tj -0.25 Tc 2.288 0 Td -(ee)Tj -0 Tc 1.208 0 Td -(ach)Tj -/TT0 1 Tf -1.776 0 Td -(write)Tj -/T1_1 1 Tf -(.)Tj -/TT1 1 Tf --20.495 -3.12 Td -(pread)Tj -/TT2 1 Tf -3.278 0 Td -(and)Tj -/TT1 1 Tf -2.056 0 Td -(pwrite)Tj -/TT2 1 Tf -3.878 0 Td -(Functions)Tj -/T1_1 1 Tf --5.612 -2.4 Td -[(The )-149(Single )-149(UNIX )-149(Speci\336cation )-149(includes )-149(two )-149(functions )-149(that )-149(allow )-149(applications )-149(to )-149(seek)]TJ -T* -(and perform I/O atomically:)Tj -/TT0 1 Tf -12.932 0 Td -(pread)Tj -/T1_1 1 Tf -3.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(pwrite)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5921 297.0822 Tm -(#include )Tj -0 -2.14 TD -(ssize_t pread\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 2.578 0 Td -(oid *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 6.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -0.6 Tc (,o)Tj -0 Tc 4.43 0 Td -(ff_t)Tj -/T1_2 1 Tf -3 0 Td -(offset)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --16.497 -2.14 Td -[(Returns: number of bytes r)18(ead, 0 if end of \336le,)]TJ -/TT3 1 Tf -20.456 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --34.464 -2.378 Td -(ssize_t pwrite\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst void *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 9.697 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -0.6 Tc (,o)Tj -0 Tc 4.43 0 Td -(ff_t)Tj -/T1_2 1 Tf -3 0 Td -(offset)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --18.049 -2.14 Td -(Returns: number of bytes written if OK,)Tj -/TT3 1 Tf -17.808 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2134.25 cm -0 0 m -0 927 l -3900 927 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 199.896 Tm -(Calling)Tj -/TT0 1 Tf -3.559 0 Td -(pread)Tj -/T1_1 1 Tf -3.339 0 Td -[(is )-89(equivalent )-89(to )-89(calling)]TJ -/TT0 1 Tf -10.576 0 Td -(lseek)Tj -/T1_1 1 Tf -3.34 0 Td -[(followed )-90(by )-90(a )-90(call )-90(to)]TJ -/TT0 1 Tf -9.636 0 Td -(read)Tj -/T1_1 1 Tf -0.3396 Tc (,w)Tj -0 Tc 3.824 0 Td -[(ith )-90(the)]TJ --36.074 -1.2 Td -(following exceptions.)Tj -0.883 Tc 1.8 -2.4 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(her)18(e)-250(is)-250(no)-250(way to interr)8(upt the two operations that occur when we call)]TJ -/TT0 1 Tf -31.277 0 Td -(pread)Tj -/T1_1 1 Tf -(.)Tj -0.883 Tc -33.379 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he curr)18(ent \336le of)18(fset is not updated.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47283 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(6.2)]TJ -37.396 0 Td -(Passwor)Tj -0.5 Tc 3.709 0 Td -(dF)Tj -0 Tc 1.667 0 Td -(ile)Tj -/T1_1 1 Tf -3.061 0 Td -(179)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -0.883 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245T)Tj -0 Tc 2.102 0 Td -(her)Tj -0.3434 Tc 1.438 0 Td -(ea)Tj --0.018 Tc 1.322 0 Td -[(re )-129(s)]TJ -0 Tc 1.623 0 Td -[(everal )-93(alternatives )-93(to )-93(using)]TJ -/TT0 1 Tf -12.569 0 Td -(/dev/null)Tj -/T1_0 1 Tf -5.744 0 Td -[(to )-93(pr)18(event )-93(a )-93(particular )-93(user)]TJ --23.309 -1.2 Td -[(fr)18(om )-169(logging )-169(in )-169(to )-169(a )-169(system.)-669(For )-169(example,)]TJ -/TT0 1 Tf -20.205 0 Td -(/bin/false)Tj -/T1_0 1 Tf -6.419 0 Td -[(is )-169(often )-169(used )-169(as )-169(the)]TJ --26.625 -1.2 Td -[(login )-275(shell.)-776(It )-275(simply )-275(exits )-275(with )-275(an )-275(unsuccessful )-275(\(nonzer)18(o\) )-275(status; )-275(the )-275(shell)]TJ -0 -1.2 TD -[(evaluates )-95(the )-95(exit )-95(status )-95(as )-95(false.)-593(It )-95(is )-95(also )-95(common )-95(to )-95(see)]TJ -/TT0 1 Tf -26.633 0 Td -(/bin/true)Tj -/T1_0 1 Tf -5.745 0 Td -[(used )-95(to)]TJ --32.377 -1.2 Td -[(disable )-39(an )-39(account; )-39(it )-39(simply )-39(exits )-39(with )-39(a )-39(successful )-39(\(zer)18(o\) )-39(status.)-539(Some )-39(systems)]TJ -T* -[(pr)18(ovide )-13(the)]TJ -/TT0 1 Tf -5.384 0 Td -(nologin)Tj -/T1_0 1 Tf -4.463 0 Td -[(command, )-13(which )-13(prints )-13(a )-13(customizable )-13(err)18(or )-13(message )-13(and)]TJ --9.847 -1.2 Td -(exits with a nonzer)Tj -0.25 Tc 8.385 0 Td -(oe)Tj -0 Tc 1.275 0 Td -(xit status.)Tj -0.883 Tc -11.149 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.421 0 Td -(nobody)Tj -/T1_0 1 Tf -3.959 0 Td -[(user )-109(name )-109(can )-109(be )-109(used )-109(to )-109(allow )-109(people )-109(to )-109(log )-109(in )-109(to )-109(a )-109(system, )-109(but)]TJ --5.993 -1.2 Td -[(with )-171(a )-171(user )-171(ID)]TJ -7.228 0.04 Td -(\()Tj -0.333 -0.04 Td -(65534)Tj -2.5 0.04 Td -(\))Tj -0.754 -0.04 Td -[(and )-171(gr)18(oup )-171(ID)]TJ -6.749 0.04 Td -(\()Tj -0.333 -0.04 Td -(65534)Tj -2.5 0.04 Td -(\))Tj -0.754 -0.04 Td -[(that )-171(pr)18(ovide )-171(no )-171(privileges.)-670(The)]TJ --21.15 -1.2 Td -[(only )-19(\336les )-19(that )-19(this )-19(user )-19(ID )-19(and )-19(gr)18(oup )-19(ID )-19(can )-19(access )-19(ar)]TJ -0.2691 Tc 23.708 0 Td -(et)Tj -0 Tc 1.074 0 Td -[(hose )-19(that )-19(ar)]TJ -0.2692 Tc 5.18 0 Td -(er)Tj -0 Tc 1.125 0 Td -[(eadable )-19(or)]TJ --31.088 -1.2 Td -[(writable )-4(by )-4(the )-4(world.)-506(\(This )-4(appr)18(oach )-4(assumes )-4(that )-4(ther)]TJ -0.2543 Tc 25.006 0 Td -(ea)Tj --0.018 Tc 1.233 0 Td -[(re )-40(n)]TJ -0.2543 Tc 1.692 0 Td -(o\336)Tj -0 Tc 1.405 0 Td -[(les )-4(speci\336cally)]TJ --29.337 -1.2 Td -[(owned by user ID 65534 or gr)18(oup ID 65534, which should be the case.\))]TJ -0.883 Tc -1.489 -1.6 Td -(\245S)Tj -0 Tc 2.014 0 Td -[(ome )-489(systems )-489(that )-489(pr)19(ovide )-489(the)]TJ -/TT0 1 Tf -15.709 0 Td -(finger)Tj -/T1_0 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -1.072 -0.04 Td -[(command )-489(support )-489(additional)]TJ --21.739 -1.2 Td -[(information )-34(in )-34(the )-34(comment )-34(\336eld.)-532(Each )-33(of )-33(these )-33(\336elds )-33(is )-33(separated )-33(by )-33(a )-33(comma:)]TJ -T* -[(the )-49(user)-74(\325s )-49(name, )-49(of)18(\336ce )-49(location, )-49(of)16(\336ce )-49(phone )-49(number)]TJ -0.2995 Tc 23.619 0 Td -(,a)Tj -0 Tc 1.049 0 Td -[(nd )-49(home )-49(phone )-49(number)73(.)]TJ --24.669 -1.2 Td -[(Additionally)111(,)-479(an)-479(ampersand )-229(in )-229(the )-229(comment )-229(\336eld )-229(is )-229(r)18(eplaced )-229(with )-229(the )-229(login)]TJ -T* -[(name \(capitalized\) by some utilities.)-500(For example, we could have)]TJ -/TT0 1 Tf -7.9995 0 0 7.9995 169.6802 453.3427 Tm -(sar:x:205:105:Steve Rago, SF 5-121, 555-1111, 555-2222:/home/sar:/bin/sh\ )Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 162.4807 436.4136 Tm -(Then we could use)Tj -/TT0 1 Tf -8.57 0 Td -(finger)Tj -/T1_0 1 Tf -3.85 0 Td -(to print information about Steve Rago.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 180.4796 420.7849 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(finger -p sar)Tj -/TT0 1 Tf --1.2 -1.189 Td -(Login: sar)Tj -19.2 0 Td -(Name: Steve Rago)Tj --19.2 -1.189 Td -(Directory: /home/sar)Tj -19.2 0 Td -(Shell: /bin/sh)Tj --19.2 -1.189 Td -[(Office: )-600(SF)-600(5-121, )-600(555-1111)-2400(Home Phone:)-1200(555-2222)]TJ -0 -1.189 TD -(On since Mon Jan 19 03:57 \(EST\) on ttyv0 \(messages off\))Tj -0 -1.189 TD -(No Mail.)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 162.4807 350.359 Tm -[(Even )-32(if )-32(your )-32(system )-32(doesn\325t )-32(support )-32(the)]TJ -/TT0 1 Tf -18.154 0 Td -(finger)Tj -/T1_0 1 Tf -3.882 0 Td -[(command, )-32(these )-32(\336elds )-32(can )-32(still)]TJ --22.036 -1.2 Td -[(go )-335(into )-335(the )-335(comment )-335(\336eld, )-335(since )-335(that )-335(\336eld )-335(is )-335(simply )-335(a )-335(comment )-335(and )-335(not)]TJ -0 -1.2 TD -[(interpr)18(eted by system utilities.)]TJ --1.489 -1.8 Td -[(Some )-273(systems )-273(pr)18(ovide )-273(the)]TJ -/TT0 1 Tf -12.897 0 Td -(vipw)Tj -/T1_0 1 Tf -2.923 0 Td -[(command )-273(to )-273(allow )-273(administrators )-273(to )-273(edit )-273(the)]TJ --17.62 -1.2 Td -(passwor)Tj -0.3465 Tc 3.706 0 Td -(d\336)Tj -0 Tc 1.562 0 Td -[(le. )-346(The)]TJ -/TT0 1 Tf -3.637 0 Td -(vipw)Tj -/T1_0 1 Tf -2.746 0 Td -[(command )-96(serializes )-96(changes )-96(to )-96(the )-96(passwor)]TJ -0.3465 Tc 19.788 0 Td -(d\336)Tj -0 Tc 1.562 0 Td -[(le )-96(and )-96(makes)]TJ --33.002 -1.2 Td -(sur)Tj -0.331 Tc 1.404 0 Td -(et)Tj -0 Tc 1.136 0 Td -[(hat )-81(any )-81(additional )-81(\336les )-81(ar)]TJ -0.331 Tc 11.595 0 Td -(ec)Tj -0 Tc 1.254 0 Td -[(onsistent )-81(with )-81(the )-81(changes )-81(made.)-581(It )-81(is )-81(also )-81(common)]TJ --15.389 -1.2 Td -[(for systems to pr)18(ovide similar functionality thr)18(ough graphical user interfaces.)]TJ -1.8 -1.2 Td -[(POSIX.1 )-314(de\336nes )-314(two )-314(functions )-314(to )-314(fetch )-314(entries )-314(fr)18(om )-314(the )-314(passwor)]TJ -0.5642 Tc 31.009 0 Td -(d\336)Tj -0 Tc 1.78 0 Td -[(le. )-564(These)]TJ --34.589 -1.2 Td -[(functions allow us to look up an entry given a user)-74(\325s login name or numerical user ID.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5915 231.6661 Tm -(#include )Tj -0 -1.902 TD -(struct passwd *getpwuid\(uid_t)Tj -/T1_2 1 Tf -18 0 Td -(uid)Tj -/TT0 1 Tf -(\);)Tj --18 -1.902 Td -(struct passwd *getpwnam\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -21.18 -1.902 Td -[(Both r)18(eturn: pointer if OK,)]TJ -/TT0 1 Tf -11.933 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1758.25 cm -0 0 m -0 649 l -3900 649 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 162.3005 Tm -(The)Tj -/TT0 1 Tf -2.07 0 Td -(getpwuid)Tj -/T1_0 1 Tf -5.196 0 Td -[(function )-146(is )-146(used )-146(by )-146(the)]TJ -/TT0 1 Tf -11.015 0 Td -(ls)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.729 -0.04 Td -[(pr)18(ogram )-146(to )-146(map )-146(the )-146(numerical )-146(user )-146(ID)]TJ --21.043 -1.2 Td -[(contained )-30(in )-30(an )-30(i-node )-30(into )-30(a )-30(user)-74(\325s )-30(login )-30(name.)-531(The)]TJ -/TT0 1 Tf -23.765 0 Td -(getpwnam)Tj -/T1_0 1 Tf -5.08 0 Td -[(function )-30(is )-30(used )-30(by )-30(the)]TJ -/TT0 1 Tf --28.845 -1.2 Td -(login)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -[(pr)18(ogram when we enter our login name.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47284 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.3)]TJ -32.499 0 Td -[(Special )-250(Input )-250(Characters)]TJ -/T1_1 1 Tf -13.334 0 Td -(679)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -(Befor)Tj -0.3497 Tc 2.346 0 Td -(ed)Tj -0 Tc 1.44 0 Td -[(escribing )-100(all )-100(the )-100(special )-100(characters )-100(in )-100(detail, )-100(let\325s )-100(look )-100(at )-100(a )-100(small )-100(pr)22(ogram )-100(that)]TJ --3.786 -1.2 Td -[(changes )-11(them.)-511(The )-11(pr)18(ogram )-11(in )-11(Figur)]TJ -0.2614 Tc 16.432 0 Td -(e1)Tj -0 Tc 1.24 0 Td -[(8.10 )-11(disables )-11(the )-11(interr)8(upt )-11(character )-11(and )-11(sets )-11(the)]TJ --17.672 -1.2 Td -[(end-of-\336le character to Contr)18(ol)]TJ -13.656 0.09 Td -(-)Tj -0.333 -0.09 Td -(B.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6102.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 600.6269 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.259 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct termios)-1200(term;)]TJ -0 -1.189 TD -(long )Tj -9.6 0 Td -(vdisable;)Tj --9.6 -2.259 Td -(if \(isatty\(STDIN_FILENO\) == 0\))Tj -2.4 -1.189 Td -(err_quit\("standard input is not a terminal device"\);)Tj --2.4 -2.259 Td -(if \(\(vdisable = fpathconf\(STDIN_FILENO, _PC_VDISABLE\)\) < 0\))Tj -2.4 -1.189 Td -(err_quit\("fpathconf error or _POSIX_VDISABLE not in effect"\);)Tj --2.4 -2.259 Td -(if \(tcgetattr\(STDIN_FILENO, &term\) < 0\) /* fetch tty state */)Tj -2.4 -1.189 Td -(err_sys\("tcgetattr error"\);)Tj --2.4 -2.259 Td -[(term.c_cc[VINTR] = vdisable;)-2400(/* disable INTR character */)]TJ -0 -1.189 TD -[(term.c_cc[VEOF] )-600(=)-600(2; )]TJ -19.2 0 Td -[(/*)-600(EOF is Control-B */)]TJ --19.2 -2.259 Td -(if \(tcsetattr\(STDIN_FILENO, TCSAFLUSH, &term\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("tcsetattr error"\);)Tj --2.4 -2.259 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3359.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 194.345 319.8304 Tm -(Figure 18.10)Tj -/T1_0 1 Tf -6.195 0 Td -[(Disable interr)8(upt character and change end-of-\336le character)]TJ -9.9982 0 0 9.9982 129.5769 289.8358 Tm -[(Note the following points r)18(egar)18(ding this pr)18(ogram.)]TJ -0.883 Tc 1.8 -2.04 Td -(\245W)Tj -0.3722 Tc 2.397 0 Td -(em)Tj -0 Tc 1.734 0 Td -[(odify )-122(the )-122(terminal )-122(characters )-122(only )-122(if )-122(standar)]TJ -0.3723 Tc 20.112 0 Td -(di)Tj -0 Tc 1.274 0 Td -[(nput )-122(is )-122(a )-122(terminal )-122(device.)]TJ --0.092 Tc -24.029 -1.2 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -(all)Tj -/TT1 1 Tf -1.332 0 Td -(isatty)Tj -/T1_0 1 Tf -3.85 0 Td -(\(Section 18.9\) to check this.)Tj -0.883 Tc -8.752 -1.6 Td -(\245W)Tj -0.25 Tc 2.397 0 Td -(ef)Tj -0 Tc 1.062 0 Td -(etch the)Tj -/TT1 1 Tf -3.718 0 Td -(_POSIX_VDISABLE)Tj -/T1_0 1 Tf -9.25 0 Td -(value using)Tj -/TT1 1 Tf -5.394 0 Td -(fpathconf)Tj -/T1_0 1 Tf -(.)Tj -0.883 Tc -21.821 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-156(function)]TJ -/TT1 1 Tf -5.58 0 Td -(tcgetattr)Tj -/T1_0 1 Tf -5.806 0 Td -[(\(Section )-156(18.4\) )-156(fetches )-156(a)]TJ -/TT1 1 Tf -10.8 0 Td -(termios)Tj -/T1_0 1 Tf -4.606 0 Td -[(str)8(uctur)]TJ -0.4059 Tc 3.49 0 Td -(ef)Tj --0.018 Tc 1.218 0 Td -(ro)Tj -0.4059 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.615 0 Td -(he)Tj --34.65 -1.2 Td -[(kernel. )-535(After)-535(we\325ve )-285(modi\336ed )-285(this )-285(str)7(uctur)18(e, )-285(we )-285(call)]TJ -/TT1 1 Tf -25.217 0 Td -(tcsetattr)Tj -/T1_0 1 Tf -5.935 0 Td -[(to )-285(set )-285(the)]TJ --31.152 -1.2 Td -[(attributes. )-268(The)-268(only )-18(attributes )-18(that )-18(change )-18(ar)]TJ -0.2682 Tc 19.958 0 Td -(et)Tj -0 Tc 1.073 0 Td -[(he )-18(ones )-18(we )-18(speci\336cally )-18(modi\336ed.)]TJ -0.883 Tc -22.52 -1.6 Td -(\245D)Tj -0 Tc 2.263 0 Td -[(isabling )-99(the )-99(interr)8(upt )-99(key )-99(is )-99(dif)18(fer)18(ent )-99(fr)18(om )-99(ignoring )-99(the )-99(interr)8(upt )-99(signal.)-600(The)]TJ --0.774 -1.2 Td -[(pr)18(ogram )-184(in )-184(Figur)]TJ -0.4338 Tc 7.982 0 Td -(e1)Tj -0 Tc 1.413 0 Td -[(8.10 )-184(simply )-184(disables )-184(the )-184(special )-184(character )-184(that )-184(causes )-184(the)]TJ --9.395 -1.2 Td -[(terminal )-54(driver )-54(to )-54(generate)]TJ -/TT1 1 Tf -12.368 0 Td -(SIGINT)Tj -/T1_0 1 Tf -0.5543 Tc (.W)Tj -0.3043 Tc 5.312 0 Td -(ec)Tj -0 Tc 1.227 0 Td -[(an )-54(still )-54(use )-54(the)]TJ -/TT1 1 Tf -6.815 0 Td -(kill)Tj -/T1_0 1 Tf -2.704 0 Td -[(function )-54(to )-54(send)]TJ --28.427 -1.2 Td -[(the signal to the pr)18(ocess.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1495.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47285 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -33.857 0 Td -[(Chapter )-250(18)-750(Solutions)]TJ -/T1_1 1 Tf -11.976 0 Td -(943)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 178.2393 670.2598 Tm -(if \(\(cmptr = calloc\(1, CMSG_LEN\(2*sizeof\(int\)\)\)\) == NULL\))Tj -3.406 -1.189 Td -(err_sys\("calloc error"\);)Tj --3.406 -1.189 Td -(msg.msg_control = cmptr;)Tj -0 -1.189 TD -(msg.msg_controllen = CMSG_LEN\(2*sizeof\(int\)\);)Tj -T* -(/* continue initializing msghdr... */)Tj -0 -1.189 TD -(cmptr->cmsg_len = CMSG_LEN\(2*sizeof\(int\)\);)Tj -0 -1.189 TD -(cmptr->cmsg_level = SOL_SOCKET;)Tj -T* -(cmptr->cmsg_type = SCM_RIGHTS;)Tj -T* -(ip = \(int *\)CMSG_DATA\(cmptr\);)Tj -T* -(*ip++ = fd1;)Tj -T* -(*ip = fd2;)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 160.2404 546.3371 Tm -[(This )-189(appr)18(oach )-190(works )-190(on )-190(all )-190(four )-190(platforms )-190(cover)18(ed )-190(in )-190(this )-190(book.)-690(The )-190(second)]TJ -0 -1.2 TD -(option is to pack two separate)Tj -/TT0 1 Tf -13.49 0 Td -(cmsghdr)Tj -/T1_0 1 Tf -4.45 0 Td -[(str)8(uctur)18(es into a single message:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 178.2393 518.7087 Tm -(struct msghdr msg;)Tj -0 -1.189 TD -(struct cmsghdr *cmptr;)Tj -0 -2.021 TD -(if \(\(cmptr = calloc\(1, 2*CMSG_LEN\(sizeof\(int\)\)\)\) == NULL\))Tj -3.406 -1.189 Td -(err_sys\("calloc error"\);)Tj --3.406 -1.189 Td -(msg.msg_control = cmptr;)Tj -0 -1.189 TD -(msg.msg_controllen = 2*CMSG_LEN\(sizeof\(int\)\);)Tj -T* -(/* continue initializing msghdr... */)Tj -T* -(cmptr->cmsg_len = CMSG_LEN\(sizeof\(int\)\);)Tj -T* -(cmptr->cmsg_level = SOL_SOCKET;)Tj -0 -1.189 TD -(cmptr->cmsg_type = SCM_RIGHTS;)Tj -0 -1.189 TD -(*\(int *\)CMSG_DATA\(cmptr\) = fd1;)Tj -T* -(cmptr = CMPTR_NXTHDR\(&msg, cmptr\);)Tj -T* -(cmptr->cmsg_len = CMSG_LEN\(sizeof\(int\)\);)Tj -T* -(cmptr->cmsg_level = SOL_SOCKET;)Tj -T* -(cmptr->cmsg_type = SCM_RIGHTS;)Tj -T* -(*\(int *\)CMSG_DATA\(cmptr\) = fd2;)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 160.2404 333.7995 Tm -[(Unlike the \336rst appr)18(oach, this method works only on Fr)18(eeBSD 8.0.)]TJ -/TT1 1 Tf --6.665 -3.6 Td -[(Chapter )-278(18)]TJ -/T1_1 1 Tf -3.6 -2.8 Td -(18.1)Tj -/T1_0 1 Tf -3.065 0 Td -[(Note )-50(that )-50(you )-50(have )-50(to )-50(terminate )-50(the)]TJ -/TT0 1 Tf -16.367 0 Td -(reset)Tj -/T1_0 1 Tf -3.3 0 Td -[(command )-50(with )-50(a )-50(line )-50(feed )-50(character)74(,)]TJ --19.667 -1.2 Td -[(not a r)18(eturn, since the terminal is in noncanonical mode.)]TJ -/T1_1 1 Tf --3.065 -1.84 Td -(18.2)Tj -/T1_0 1 Tf -3.065 0 Td -[(It )-146(builds )-146(a )-146(table )-146(for )-146(each )-146(of )-146(the )-146(128 )-146(characters )-146(and )-146(sets )-146(the )-146(high-or)18(der )-146(bit )-146(\(the)]TJ -0 -1.2 TD -[(parity )-75(bit\) )-75(accor)18(ding )-75(to )-75(the )-75(user)-76(\325s )-75(speci\336cation.)-575(It )-75(then )-75(uses )-75(8)]TJ -27.807 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-75(I/O, )-75(handling)]TJ --28.14 -1.2 Td -(the parity generation itself.)Tj -/T1_1 1 Tf --3.065 -1.84 Td -(18.3)Tj -/T1_0 1 Tf -3.065 0 Td -[(If )-123(you )-123(happen )-123(to )-123(be )-123(on )-123(a )-123(windowing )-123(terminal, )-123(you )-123(don\325t )-123(need )-123(to )-123(log )-123(in )-123(twice.)]TJ --0.092 Tc T* -(Yo)Tj -0.5043 Tc 1.121 0 Td -(uc)Tj -0 Tc 1.551 0 Td -[(an )-254(do )-254(this )-254(experiment )-254(between )-254(two )-254(separate )-254(windows.)-754(Under )-254(Solaris,)]TJ --2.672 -1.2 Td -(execute)Tj -/TT0 1 Tf -3.866 0 Td -[(stty )267(-a)]TJ -/T1_0 1 Tf -4.474 0 Td -[(with )-290(standar)]TJ -0.5404 Tc 5.893 0 Td -(di)Tj -0 Tc 1.442 0 Td -[(nput )-290(r)18(edir)18(ected )-290(fr)18(om )-290(the )-290(terminal )-290(window)]TJ --0.008 Tc -15.676 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -(nning)Tj -/TT0 1 Tf -2.843 0 Td -(vi)Tj -/T1_0 1 Tf -0.5003 Tc (.T)Tj -0 Tc 2.563 0 Td -(his shows that)Tj -/TT0 1 Tf -6.592 0 Td -(vi)Tj -/T1_0 1 Tf -1.45 0 Td -(sets MIN to 1 and TIME to 1.)Tj -0.2502 Tc 13.213 0 Td -(Ac)Tj -0 Tc 1.472 0 Td -(all to)Tj -/TT0 1 Tf -2.454 0 Td -(read)Tj -/T1_0 1 Tf -2.65 0 Td -(will)Tj --34.228 -1.2 Td -[(wait )-168(for )-168(at )-168(least )-168(one )-168(character )-168(to )-168(be )-168(typed, )-168(but )-168(after )-168(that )-168(character )-168(is )-168(enter)17(ed,)]TJ -/TT0 1 Tf -T* -(read)Tj -/T1_0 1 Tf -2.67 0 Td -[(waits )-19(only )-19(one-tenth )-19(of )-19(a )-19(second )-19(for )-19(additional )-19(characters )-19(befor)]TJ -0.2695 Tc 28.076 0 Td -(er)Tj -0 Tc 1.126 0 Td -(eturning.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47286 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.3)]TJ -36.622 0 Td -(Recor)Tj -0.5 Tc 2.514 0 Td -(dL)Tj -0 Tc 1.722 0 Td -(ocking)Tj -/T1_1 1 Tf -4.975 0 Td -(497)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 162.4803 668.9599 Tm -[(wr)18(ote )-90(the )-90(new )-90(contents )-90(to )-90(a )-90(temporary )-90(\336le, )-90(r)21(emoved )-89(the )-89(original )-89(\336le, )-89(and )-89(then)]TJ --0.018 Tc 0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(named )-5(the )-5(temporary )-5(\336le )-5(to )-5(be )-5(the )-5(original )-5(\336le.)-505(The )-5(mandatory )-5(r)13(ecor)]TJ -0.2555 Tc 30.723 0 Td -(dl)Tj -0 Tc 1.157 0 Td -(ocking)Tj --32.736 -1.2 Td -[(has no ef)18(fect on the)]TJ -/TT0 1 Tf -8.775 0 Td -(unlink)Tj -/T1_0 1 Tf -3.85 0 Td -(function, which allowed this to happen.)Tj -7.9995 0 0 7.9995 201.5877 624.9625 Tm -[(Under )-90(Fr)18(eeBSD )-90(8.0 )-90(and )-90(Solaris )-90(10, )-90(we )-90(can )-90(obtain )-90(the )-90(system )-90(call )-90(trace )-90(of )-90(a )-90(pr)18(ocess )-90(with)]TJ -0 -1.25 TD -(the)Tj -/TT0 1 Tf -1.86 0 Td -(truss)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.806 -0.04 Td -[(command. )-473(Linux)-473(3.2.0 )-223(pr)18(ovides )-223(the)]TJ -/TT0 1 Tf -17.197 0 Td -(strace)Tj -/T1_0 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.806 -0.04 Td -[(command )-223(for )-223(the )-223(same)]TJ --28.935 -1.25 Td -[(purpose. )-313(Mac)-312(OS )-63(X )-63(10.6.8 )-63(pr)18(ovides )-63(the)]TJ -/TT0 1 Tf -17.986 0 Td -(dtruss)Tj -/T1_0 1 Tf -[(\(1m\) )-63(command )-63(to )-63(trace )-63(system )-63(calls, )-63(but)]TJ --17.986 -1.25 Td -[(its use r)18(equir)18(es super)8(user privileges.)]TJ -0.883 Tc 9.9994 0 0 9.9994 147.5909 573.9656 Tm -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.326 0 Td -(vi)Tj -/T1_0 1 Tf -1.465 0 Td -[(editor )-15(was )-15(never )-15(able )-15(to )-15(edit )-15(the )-15(\336le.)-515(It )-15(could )-15(r)18(ead )-15(the )-15(\336le\325s )-15(contents, )-15(but)]TJ --3.404 -1.2 Td -[(whenever )-128(we )-128(tried )-128(to )-128(write )-128(new )-128(data )-128(to )-128(the )-128(\336le,)]TJ -/TT0 1 Tf -22.505 0 Td -(EAGAIN)Tj -/T1_0 1 Tf -3.978 0 Td -[(was )-128(r)18(eturned. )-378(If)-378(we)]TJ --26.483 -1.2 Td -[(tried )-44(to )-44(append )-44(new )-44(data )-44(to )-44(the )-44(\336le, )-44(the)]TJ -/TT0 1 Tf -18.1 0 Td -(write)Tj -/T1_0 1 Tf -3.294 0 Td -[(blocked. )-294(This)-295(behavior )-44(fr)18(om)]TJ -/TT0 1 Tf -13.117 0 Td -(vi)Tj -/T1_0 1 Tf --34.511 -1.2 Td -(is what we expect.)Tj -0.883 Tc -1.489 -1.72 Td -(\245U)Tj -0 Tc 2.267 0 Td -[(sing )-167(the )-167(Korn )-167(shell\325s)]TJ -/TT0 1 Tf -9.926 0 Td -(>)Tj -/T1_0 1 Tf -1.017 0 Td -(and)Tj -/TT0 1 Tf -2.11 0 Td -(>>)Tj -/T1_0 1 Tf -1.617 0 Td -[(operators )-167(to )-167(overwrite )-167(or )-167(append )-167(to )-167(the )-167(\336le)]TJ --0.018 Tc -15.449 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sulted in the err)18(or \324)37(\324cannot cr)18(eate.\325)37(\325)]TJ -0.883 Tc -2.345 -1.72 Td -(\245U)Tj -0 Tc 2.267 0 Td -[(sing )-102(the )-102(same )-102(two )-102(operators )-102(with )-102(the )-102(Bourne )-102(shell )-102(r)18(esulted )-102(in )-102(an )-102(err)18(or )-102(for)]TJ -/TT0 1 Tf -34.083 0 Td -(>)Tj -/T1_0 1 Tf -(,)Tj --34.861 -1.2 Td -[(but )-161(the)]TJ -/TT0 1 Tf -3.691 0 Td -(>>)Tj -/T1_0 1 Tf -1.611 0 Td -[(operator )-161(just )-161(blocked )-161(until )-161(the )-161(mandatory )-161(lock )-161(was )-161(r)18(emoved, )-161(and)]TJ --5.302 -1.2 Td -[(then )-84(pr)18(oceeded. )-334(\(The)-335(dif)18(fer)18(ence )-84(in )-84(the )-84(handling )-84(of )-84(the )-84(append )-84(operator )-84(occurs)]TJ --0 -1.2 Td -[(because )-163(the )-163(Korn )-163(shell)]TJ -/TT0 1 Tf -10.838 0 Td -(open)Tj -/T1_0 1 Tf -0.4132 Tc (st)Tj -0 Tc 3.563 0 Td -[(he )-163(\336le )-163(with)]TJ -/TT0 1 Tf -5.709 0 Td -(O_CREAT)Tj -/T1_0 1 Tf -4.613 0 Td -(and)Tj -/TT0 1 Tf -2.106 0 Td -(O_APPEND)Tj -/T1_0 1 Tf -0.4131 Tc (,a)Tj -0 Tc 5.963 0 Td -[(nd )-163(we)]TJ --32.792 -1.2 Td -[(mentioned )-283(earlier )-283(that )-283(specifying)]TJ -/TT0 1 Tf -16.034 0 Td -(O_CREAT)Tj -/T1_0 1 Tf -4.733 0 Td -[(generates )-283(an )-283(err)17(or)]TJ -0.7835 Tc 8.487 0 Td -(.T)Tj -0 Tc 1.646 0 Td -[(he )-283(Bourne)]TJ --30.9 -1.2 Td -[(shell, )-133(however)]TJ -0.3831 Tc 6.506 0 Td -(,d)Tj -0 Tc 1.244 0 Td -[(oesn\325t )-133(specify)]TJ -/TT0 1 Tf -6.529 0 Td -(O_CREAT)Tj -/T1_0 1 Tf -4.583 0 Td -[(if )-133(the )-133(\336le )-133(alr)18(eady )-133(exists, )-133(so )-133(the)]TJ -/TT0 1 Tf -14.449 0 Td -(open)Tj -/T1_0 1 Tf --33.311 -1.2 Td -(succeeds but the next)Tj -/TT0 1 Tf -9.68 0 Td -(write)Tj -/T1_0 1 Tf -3.25 0 Td -(blocks.\))Tj --16.219 -2.04 Td -[(Results )-36(will )-36(vary)]TJ -0.2863 Tc 7.4 0 Td -(,d)Tj -0 Tc 1.147 0 Td -[(epending )-36(on )-36(the )-36(version )-36(of )-36(the )-36(operating )-36(system )-36(you )-36(ar)]TJ -0.2864 Tc 24.772 0 Td -(eu)Tj -0 Tc 1.368 0 Td -[(sing. )-286(The)]TJ --34.687 -1.2 Td -[(bottom )-277(line, )-277(as )-277(demonstrated )-277(by )-277(this )-277(exer)16(cise, )-277(is )-277(to )-277(be )-277(wary )-277(of )-277(mandatory )-277(r)17(ecor)18(d)]TJ -0 -1.2 TD -[(locking. )-250(As)-250(seen with the)]TJ -/TT0 1 Tf -11.602 0 Td -(ed)Tj -/T1_0 1 Tf -1.45 0 Td -[(example, it can be cir)18(cumvented.)]TJ --11.252 -1.2 Td -[(Mandatory )-64(r)18(ecor)]TJ -0.3142 Tc 7.499 0 Td -(dl)Tj -0 Tc 1.216 0 Td -[(ocking )-64(can )-64(also )-64(be )-64(used )-64(by )-64(a )-64(malicious )-64(user )-64(to )-64(hold )-64(a )-64(r)18(ead )-64(lock)]TJ --10.515 -1.2 Td -[(on )-34(a )-34(\336le )-34(that )-34(is )-34(publicly )-34(r)20(eadable. )-284(This)-283(can )-34(pr)18(event )-34(anyone )-34(fr)18(om )-34(writing )-34(to )-34(the )-34(\336le.)-531(\(Of)]TJ -T* -[(course, )-106(the )-106(\336le )-106(has )-106(to )-106(have )-106(mandatory )-106(r)16(ecor)]TJ -0.3564 Tc 20.023 0 Td -(dl)Tj -0 Tc 1.258 0 Td -[(ocking )-106(enabled )-106(for )-106(this )-106(to )-106(occur)]TJ -0.3564 Tc 14.379 0 Td -(,w)Tj -0 Tc 1.44 0 Td -(hich)Tj --37.101 -1.2 Td -[(may )-122(r)18(equir)]TJ -0.3724 Tc 4.998 0 Td -(et)Tj -0 Tc 1.177 0 Td -[(he )-122(user )-122(to )-122(be )-122(able )-122(to )-122(change )-122(the )-122(permission )-122(bits )-122(of )-122(the )-122(\336le.\))-622(Consider )-122(a)]TJ --6.176 -1.2 Td -[(database )-169(\336le )-169(that )-169(is )-169(world )-169(r)16(eadable )-169(and )-169(has )-169(mandatory )-169(r)16(ecor)]TJ -0.4195 Tc 28.28 0 Td -(dl)Tj -0 Tc 1.321 0 Td -[(ocking )-169(enabled.)-669(If )-169(a)]TJ --29.602 -1.2 Td -[(malicious )-24(user )-24(wer)18(e)-274(to)-274(hold )-24(a )-24(r)18(ead )-24(lock )-24(on )-24(the )-24(entir)]TJ -0.2738 Tc 22.858 0 Td -(e\336)Tj -0 Tc 1.358 0 Td -[(le, )-24(the )-24(\336le )-24(could )-24(not )-24(be )-24(written )-24(to)]TJ --24.215 -1.2 Td -[(by other pr)18(ocesses.)]TJ -/TT1 1 Tf --3.6 -2.64 Td -(Example)Tj -/T1_0 1 Tf --0.092 Tc 3.6 -2.16 Td -[(We )-369(c)]TJ -0 Tc 2.266 0 Td -[(an )-185(r)8(un )-185(the )-185(pr)18(ogram )-185(in )-185(Figur)]TJ -0.435 Tc 13.33 0 Td -(e1)Tj -0 Tc 1.414 0 Td -[(4.12 )-185(to )-185(determine )-185(whether )-185(our )-185(system )-185(supports)]TJ --17.01 -1.2 Td -(mandatory locking.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2240.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 214.4733 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -(fd;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47287 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(922)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 155.6107 668.9599 Tm -(to)Tj -/TT0 1 Tf -1.136 0 Td -(vfork)Tj -/T1_1 1 Tf -3.264 0 Td -[(and )-14(does )-14(a )-14(r)18(eturn )-14(fr)19(om)]TJ -/TT0 1 Tf -10.473 0 Td -(f1)Tj -/T1_1 1 Tf -0.5138 Tc (.T)Tj -0 Tc 2.577 0 Td -[(he )-14(r)18(eturn )-14(information )-14(is )-14(often )-14(stor)18(ed )-14(in )-14(the)]TJ --17.449 -1.2 Td -[(stack )-40(frame, )-40(and )-40(that )-40(information )-40(has )-40(pr)19(obably )-40(been )-40(modi\336ed )-40(by )-40(the )-40(child.)-539(After)]TJ -0 -1.2 TD -[(the )-487(par)18(ent )-487(r)18(esumes, )-487(what )-487(happens )-487(with )-487(this )-487(example )-487(depends )-487(on )-487(many)]TJ -T* -[(implementation )-256(featur)18(es )-256(of )-256(your )-256(UNIX )-256(system )-256(\(wher)]TJ -0.5056 Tc 24.904 0 Td -(ei)Tj -0.5057 Tc 1.276 0 Td -(nt)Tj -0 Tc 1.414 0 Td -[(he )-256(stack )-256(frame )-256(the)]TJ --0.018 Tc -27.593 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-167(information )-167(is )-167(stor)18(ed, )-167(what )-167(information )-167(in )-167(the )-167(stack )-167(frame )-167(is )-167(wiped )-167(out)]TJ --0.856 -1.2 Td -[(when )-156(the )-156(automatic )-156(variables )-156(ar)]TJ -0.4058 Tc 14.781 0 Td -(em)Tj -0 Tc 1.768 0 Td -[(odi\336ed, )-156(and )-156(so )-156(on\).)-656(The )-156(normal )-156(r)18(esult )-156(is )-156(a)]TJ -/TT0 1 Tf --16.549 -1.2 Td -(core)Tj -/T1_1 1 Tf -2.65 0 Td -[(\336le, but your r)18(esults may dif)18(fer)74(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -3174 5366 720 360 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 333 557.7731 Tm -(stack frame)Tj -0.583 -1.25 Td -(for)Tj -/TT0 1 Tf -1.524 0 Td -(main)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -3174 5006 720 360 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 332.9801 521.7461 Tm -(stack frame)Tj -1.183 -1.25 Td -(for)Tj -/TT0 1 Tf -1.524 0 Td -(f1)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3174.25 5006.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3894.25 5006.25 cm -0 0 m -0 -144 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 260.8654 565.7042 Tm -(bottom of stack)Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 288.6 486.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 2886 4862 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2886.25 5150.25 cm -0 0 m -0 -216 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 231.5225 503.6889 Tm -[(dir)18(ection of)]TJ --0.645 -1.25 Td -[(stack gr)18(owth)]TJ -/T1_0 1 Tf -3.477 -4.555 Td -(Figure C.9)Tj -/T1_1 1 Tf -5.417 0 Td -(Stack frames when)Tj -/TT0 1 Tf -8.592 0 Td -(vfork)Tj -/T1_1 1 Tf -3.25 0 Td -(is called)Tj -/T1_0 1 Tf -9.997 0 0 9.997 129.5607 424.4728 Tm -(8.4)Tj -/T1_1 1 Tf -2.602 0 Td -[(In )-32(Figur)]TJ -0.2818 Tc 3.584 0 Td -(e8)Tj -0 Tc 1.261 0 Td -[(.13, )-32(we )-32(have )-32(the )-32(par)18(ent )-32(write )-32(its )-32(output )-32(\336rst.)-532(When )-32(the )-32(par)18(ent )-32(is )-32(done,)]TJ --4.845 -1.2 Td -[(the )-115(child )-115(writes )-115(its )-115(output, )-115(but )-115(we )-115(let )-115(the )-115(par)16(ent )-115(terminate.)-615(Whether )-115(the )-115(par)17(ent)]TJ -T* -[(terminates )-127(or )-127(whether )-127(the )-127(child )-127(\336nishes )-127(its )-127(output )-127(\336rst )-127(depends )-127(on )-127(the )-127(kernel\325s)]TJ -T* -[(scheduling )-336(of )-336(the )-336(two )-336(pr)18(ocesses )-336(\(another )-336(race )-336(condition\).)-836(When )-336(the )-336(par)21(ent)]TJ -T* -[(terminates, )-284(the )-284(shell )-284(starts )-284(up )-284(the )-284(next )-284(pr)18(ogram, )-284(and )-284(this )-284(next )-284(pr)17(ogram )-284(can)]TJ -T* -(interfer)Tj -0.25 Tc 3.262 0 Td -(ew)Tj -0 Tc 1.563 0 Td -[(ith the output fr)18(om the pr)18(evious child.)]TJ --0.092 Tc -4.825 -1.8 Td -[(We )-252(c)]TJ -0 Tc 2.149 0 Td -[(an )-68(pr)18(event )-68(this )-68(fr)18(om )-68(happening )-68(by )-68(not )-68(letting )-68(the )-68(par)19(ent )-68(terminate )-68(until )-68(the)]TJ --2.149 -1.2 Td -[(child )-87(has )-87(also )-87(\336nished )-87(its )-87(output.)-587(Replace )-87(the )-87(code )-87(following )-87(the)]TJ -/TT0 1 Tf -29.903 0 Td -(fork)Tj -/T1_1 1 Tf -2.737 0 Td -[(with )-87(the)]TJ --32.641 -1.2 Td -(following:)Tj -/TT0 1 Tf -8.9973 0 0 8.9973 173.5675 305.8084 Tm -(else if \(pid == 0\) {)Tj -2.4 -1.189 Td -(WAIT_PARENT\(\); )Tj -14.4 0 Td -[(/*)-600(parent goes first */)]TJ --14.4 -1.189 Td -(charatatime\("output from child\\n"\);)Tj -0 -1.189 TD -(TELL_PARENT\(getppid\(\)\); /* tell parent we\325re done */)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(charatatime\("output from parent\\n"\);)Tj -T* -[(TELL_CHILD\(pid\); )-4200(/*)-600(tell child we\325re done */)]TJ -T* -(WAIT_CHILD\(\); )Tj -14.4 0 Td -[(/*)-600(wait for child to finish */)]TJ --16.8 -1.189 Td -(})Tj -/T1_1 1 Tf --0.092 Tc 9.997 0 0 9.997 155.5729 202.2395 Tm -[(We )-275(w)]TJ -0 Tc 2.562 0 Td -[(on\325t )-91(see )-91(this )-91(happen )-91(if )-91(we )-91(let )-91(the )-91(child )-91(go )-91(\336rst, )-91(since )-91(the )-91(shell )-91(doesn\325t )-91(start)]TJ --2.562 -1.2 Td -[(the next pr)18(ogram until the par)18(ent terminates.)]TJ -/T1_0 1 Tf --2.602 -1.96 Td -(8.5)Tj -/T1_1 1 Tf -2.602 0 Td -[(The )-161(same )-161(value )-161(\()]TJ -/TT0 1 Tf -7.963 0 Td -(/home/sar/bin/testinterp)Tj -/T1_1 1 Tf -0.4108 Tc (\)i)Tj -0.4107 Tc 15.435 0 Td -(sp)Tj -0 Tc 1.436 0 Td -[(rinted )-161(for)]TJ -/TT0 1 Tf -4.779 0 Td -(argv[2])Tj -/T1_1 1 Tf -0.6607 Tc (.T)Tj -0 Tc 5.724 0 Td -(he)Tj --0.018 Tc -35.337 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ason )-99(is )-99(that)]TJ -/TT0 1 Tf -5.547 0 Td -(execlp)Tj -/T1_1 1 Tf -3.949 0 Td -[(ends )-99(up )-99(calling)]TJ -/TT0 1 Tf -7.301 0 Td -(execve)Tj -/T1_1 1 Tf -3.949 0 Td -[(with )-99(the )-99(same)]TJ -/T1_2 1 Tf -6.753 0 Td -(pathname)Tj -/T1_1 1 Tf -4.293 0 Td -[(as )-99(when)]TJ --32.648 -1.2 Td -(we call)Tj -/TT0 1 Tf -3.339 0 Td -(execl)Tj -/T1_1 1 Tf -3.25 0 Td -[(dir)18(ectly)]TJ -0.5 Tc 3.264 0 Td -(.R)Tj -0 Tc 1.418 0 Td -(ecall Figur)Tj -0.25 Tc 4.638 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.15.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47288 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(704)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Case C:)-500(MIN == 0, TIME > 0)]TJ -1.8 -1.56 Td -[(TIME )-60(speci\336es )-60(a )-60(r)17(ead )-60(timer )-60(that )-60(is )-60(started )-60(when)]TJ -/TT0 1 Tf -21.876 0 Td -(read)Tj -/T1_1 1 Tf -2.711 0 Td -[(is )-60(called.)-561(\(Compar)]TJ -0.3105 Tc 8.401 0 Td -(et)Tj -0 Tc 1.116 0 Td -(his)Tj --34.103 -1.2 Td -[(to )-23(case )-23(A, )-23(in )-23(which )-23(a )-23(nonzer)]TJ -0.2732 Tc 12.558 0 Td -(oT)Tj -0 Tc 1.432 0 Td -[(IME )-23(r)18(epr)18(esented )-23(an )-23(interbyte )-23(timer )-23(that )-23(was )-23(not)]TJ --13.99 -1.2 Td -[(started )-66(until )-66(the )-66(\336rst )-66(byte )-66(was )-66(r)20(eceived.\) )-316(The)]TJ -/TT0 1 Tf -20.721 0 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.716 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-66(when )-66(a )-66(single )-66(byte)]TJ --24.293 -1.2 Td -[(is r)18(eceived or when the timer expir)18(es. )-250(If)-250(the timer expir)18(es,)]TJ -/TT0 1 Tf -25.884 0 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.65 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns 0.)Tj --31.19 -1.84 Td -[(Case D:)-500(MIN == 0, TIME == 0)]TJ -1.8 -1.56 Td -[(If )-54(some )-54(data )-54(is )-54(available,)]TJ -/TT0 1 Tf -11.395 0 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.704 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-54(up )-54(to )-54(the )-54(number )-54(of )-54(bytes )-54(r)17(equested. )-304(If)]TJ --14.955 -1.2 Td -(no data is available,)Tj -/TT0 1 Tf -9 0 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.65 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns 0 immediately)111(.)]TJ --16.106 -2.04 Td -[(Realize )-113(in )-113(all )-113(these )-113(cases )-113(that )-113(MIN )-113(is )-113(only )-113(a )-113(minimum.)-616(If )-113(the )-113(pr)18(ogram )-113(r)18(equests )-113(mor)16(e)]TJ -0 -1.2 TD -[(than )-94(MIN )-94(bytes )-94(of )-94(data, )-94(it\325s )-94(possible )-94(to )-94(r)18(eceive )-94(up )-94(to )-94(the )-94(r)18(equested )-94(amount.)-594(This )-94(also)]TJ -T* -(applies to cases C and D, in which MIN is 0.)Tj -1.8 -1.2 Td -(Figur)Tj -0.2551 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.234 0 Td -[(8.19 )-5(summarizes )-5(the )-5(four )-5(cases )-5(for )-5(noncanonical )-5(input.)-505(In )-5(this )-5(\336gur)16(e,)]TJ -/T1_2 1 Tf -30.953 0 Td -(nbytes)Tj -/T1_1 1 Tf --36.37 -1.2 Td -(is the thir)Tj -0.25 Tc 4.178 0 Td -(da)Tj --0.018 Tc 1.361 0 Td -(rg)Tj -0 Tc 0.933 0 Td -(ument to)Tj -/TT0 1 Tf -4.245 0 Td -(read)Tj -/T1_1 1 Tf -2.65 0 Td -[(\(the maximum number of bytes to r)18(eturn\).)]TJ -7.9995 0 0 7.9995 265.381 476.9714 Tm -[(MIN )-250(> )-250(0)]TJ -16.497 0 Td -[(MIN )-250(== )-250(0)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2151.25 4730.25 cm -0 0 m -2668 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 167.3039 439.9472 Tm -[(TIME )-250(> )-250(0)]TJ -/T1_0 1 Tf -6.719 3.125 Td -(A:)Tj -/TT0 1 Tf -1.278 0 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.65 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -2.58 0.04 Td -([)Tj -0.333 -0.04 Td -(MIN,)Tj -/T1_2 1 Tf -2.614 0 Td -(nbytes)Tj -/T1_1 1 Tf -2.63 0.04 Td -(])Tj --9.791 -1.29 Td -(befor)Tj -0.25 Tc 2.288 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(imer expir)18(es;)]TJ -/TT0 1 Tf --5.215 -1.25 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.65 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns [1, MIN\))Tj --1.634 -1.25 Td -[(if timer expir)18(es.)]TJ --3.15 -1.75 Td -[(\(TIME = interbyte timer)74(.)]TJ -0 -1.25 TD -[(Caller can block inde\336nitely)111(.\))]TJ -/T1_0 1 Tf -16.8 6.75 Td -(C:)Tj -/TT0 1 Tf -1.222 0 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.65 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -2.58 0.04 Td -([)Tj -0.333 -0.04 Td -(1,)Tj -/T1_2 1 Tf -1 0 Td -(nbytes)Tj -/T1_1 1 Tf -2.63 0.04 Td -(])Tj --8.121 -1.29 Td -(befor)Tj -0.25 Tc 2.288 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(imer expir)18(es;)]TJ -/TT0 1 Tf --5.271 -1.25 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.65 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns 0)Tj --1.578 -1.25 Td -[(if timer expir)18(es.)]TJ --3.15 -1.75 Td -(\(TIME =)Tj -/TT0 1 Tf -3.946 0 Td -(read)Tj -/T1_1 1 Tf -2.65 0 Td -[(timer)74(.\))]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2151.25 4070.25 cm -0 0 m -2668 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 167.2939 388.93 Tm -[(TIME )-250(== )-250(0)]TJ -/T1_0 1 Tf -6.719 1.25 Td -(B)Tj -/T1_1 1 Tf -(:)Tj -/TT0 1 Tf -1.167 0 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.65 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -2.58 0.04 Td -([)Tj -0.333 -0.04 Td -(MIN,)Tj -/T1_2 1 Tf -2.614 0 Td -(nbytes)Tj -/T1_1 1 Tf -2.63 0.04 Td -(])Tj --9.68 -1.29 Td -(when available.)Tj --3.15 -1.75 Td -[(\(Caller can block inde\336nitely)111(.\))]TJ -/T1_0 1 Tf -16.8 3 Td -(D)Tj -/T1_1 1 Tf -(:)Tj -/TT0 1 Tf -1.333 0 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.65 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -2.58 0.04 Td -([)Tj -0.333 -0.04 Td -(0,)Tj -/T1_2 1 Tf -1 0 Td -(nbytes)Tj -/T1_1 1 Tf -2.63 0.04 Td -(])Tj --8.232 -1.29 Td -[(immediately)111(.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2151.25 3710.25 cm -0 0 m -2668 0 l -2668 1020 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3495.25 3710.25 cm -0 0 m -0 1020 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2151.25 3710.25 cm -0 0 m -0 1020 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 240.0104 350.9158 Tm -(Figure 18.19)Tj -/T1_1 1 Tf -6.195 0 Td -(Four cases for noncanonical input)Tj --13.253 -3.25 Td -[(Be )-7(awar)]TJ -0.2569 Tc 3.558 0 Td -(et)Tj -0 Tc 1.062 0 Td -[(hat )-7(POSIX.1 )-7(allows )-7(the )-7(subscripts)]TJ -/TT0 1 Tf -15.119 0 Td -(VMIN)Tj -/T1_1 1 Tf -2.657 0 Td -(and)Tj -/TT0 1 Tf -1.95 0 Td -(VTIME)Tj -/T1_1 1 Tf -3.257 0 Td -[(to )-7(have )-7(the )-7(same )-7(values )-7(as)]TJ -/TT0 1 Tf -11.998 0 Td -(VEOF)Tj -/T1_1 1 Tf --39.6 -1.25 Td -(and)Tj -/TT0 1 Tf -2.243 0 Td -(VEOL)Tj -/T1_1 1 Tf -0.5499 Tc (,r)Tj -0 Tc 3.577 0 Td -(espectively)Tj -0.7999 Tc 4.824 0 Td -(.I)Tj -0 Tc 1.387 0 Td -[(ndeed, )-300(Solaris )-300(does )-300(this )-300(for )-300(backwar)]TJ -0.55 Tc 17.454 0 Td -(dc)Tj -0 Tc 1.605 0 Td -[(ompatibility )-300(with )-300(older)]TJ --31.09 -1.25 Td -[(versions )-512(of )-512(System )-512(V)]TJ -1.0116 Tc 10.656 0 Td -(.T)Tj -0 Tc 1.875 0 Td -[(his )-512(cr)18(eates )-512(a )-512(portability )-512(pr)20(oblem, )-511(however)]TJ -1.0115 Tc 21.096 0 Td -(.I)Tj -0.7615 Tc 1.598 0 Td -(ng)Tj -0 Tc 1.9 0 Td -[(oing )-511(fr)18(om)]TJ --37.125 -1.25 Td -[(noncanonical )-19(to )-19(canonical )-19(mode, )-19(we )-19(must )-19(now )-19(r)20(estor)18(e)]TJ -/TT0 1 Tf -24.38 0 Td -(VEOF)Tj -/T1_1 1 Tf -2.669 0 Td -(and)Tj -/TT0 1 Tf -1.962 0 Td -(VEOL)Tj -/T1_1 1 Tf -2.669 0 Td -[(as )-19(well.)-518(If)]TJ -/TT0 1 Tf -4.795 0 Td -(VMIN)Tj -/T1_1 1 Tf -2.669 0 Td -(equals)Tj -/TT0 1 Tf --39.143 -1.25 Td -(VEOF)Tj -/T1_1 1 Tf -2.886 0 Td -[(and )-236(we )-236(don\325t )-236(r)18(estor)]TJ -0.4861 Tc 9.336 0 Td -(et)Tj -0 Tc 1.291 0 Td -[(heir )-236(values, )-236(when )-236(we )-236(set)]TJ -/TT0 1 Tf -12.309 0 Td -(VMIN)Tj -/T1_1 1 Tf -2.886 0 Td -[(to )-236(its )-236(typical )-236(value )-236(of )-236(1, )-236(the)]TJ --28.708 -1.25 Td -[(end-of-\336le )-100(character )-100(becomes )-100(Contr)19(ol)]TJ -16.891 0.09 Td -(-)Tj -0.333 -0.09 Td -[(A. )-350(The)-349(easiest )-100(way )-100(ar)19(ound )-100(this )-100(pr)18(oblem )-100(is )-100(to )-100(save )-100(the)]TJ --17.224 -1.25 Td -[(entir)18(e)]TJ -/TT0 1 Tf -2.823 0 Td -(termios)Tj -/T1_1 1 Tf -4.489 0 Td -[(str)8(uctur)]TJ -0.289 Tc 3.49 0 Td -(ew)Tj -0 Tc 1.602 0 Td -[(hen )-39(going )-39(into )-39(noncanonical )-39(mode )-39(and )-39(r)19(estor)18(e)-289(it)-289(when )-39(going )-39(back)]TJ --12.404 -1.25 Td -(to canonical mode.)Tj -/TT1 1 Tf -9.9976 0 0 9.9976 93.5777 230.9446 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(The )-77(pr)18(ogram )-77(in )-77(Figur)]TJ -0.3274 Tc 9.77 0 Td -(e1)Tj -0 Tc 1.306 0 Td -[(8.20 )-77(de\336nes )-77(the)]TJ -/TT0 1 Tf -7.299 0 Td -(tty_cbreak)Tj -/T1_1 1 Tf -6.327 0 Td -(and)Tj -/TT0 1 Tf -2.02 0 Td -(tty_raw)Tj -/T1_1 1 Tf -4.527 0 Td -[(functions )-77(that )-77(set)]TJ --31.251 -1.2 Td -[(the )-173(terminal )-173(in)]TJ -/T1_2 1 Tf -7.277 0 Td -[(cbr)18(eak )-173(mode)]TJ -/T1_1 1 Tf -5.475 0 Td -(and)Tj -/T1_2 1 Tf -2.116 0 Td -[(raw )-173(mode)]TJ -/T1_1 1 Tf -0.6731 Tc (.\()Tj -0 Tc 5.345 0 Td -[(The )-173(terms)]TJ -/T1_2 1 Tf -5.027 0 Td -[(cbr)18(eak)]TJ -/T1_1 1 Tf -2.941 0 Td -(and)Tj -/T1_2 1 Tf -2.116 0 Td -(raw)Tj -/T1_1 1 Tf -1.978 0 Td -[(come )-173(fr)18(om )-173(the)]TJ --0.111 Tc -32.276 -1.2 Td -(Ve)Tj -0 Tc 1.09 0 Td -[(rsion )-6(7 )-6(terminal )-6(driver)75(.\) )-256(W)]TJ -0.2557 Tc 11.911 0 Td -(ec)Tj -0 Tc 1.179 0 Td -[(an )-6(r)18(eset )-6(the )-6(terminal )-6(to )-6(its )-6(original )-6(state )-6(\(the )-6(state )-6(befor)20(e)]TJ --14.18 -1.2 Td -(either of these functions was called\) by calling the function)Tj -/TT0 1 Tf -26.217 0 Td -(tty_reset)Tj -/T1_1 1 Tf -(.)Tj --24.417 -1.2 Td -[(If )-77(we\325ve )-77(called)]TJ -/TT0 1 Tf -6.902 0 Td -(tty_cbreak)Tj -/T1_1 1 Tf -[(,)-327(we)-327(need )-77(to )-77(call)]TJ -/TT0 1 Tf -13.746 0 Td -(tty_reset)Tj -/T1_1 1 Tf -5.727 0 Td -(befor)Tj -0.3268 Tc 2.288 0 Td -(ec)Tj -0 Tc 1.25 0 Td -(alling)Tj -/TT0 1 Tf -2.838 0 Td -(tty_raw)Tj -/T1_1 1 Tf -(.)Tj --34.55 -1.2 Td -[(The )-264(same )-264(goes )-264(for )-264(calling)]TJ -/TT0 1 Tf -12.765 0 Td -(tty_cbreak)Tj -/T1_1 1 Tf -6.514 0 Td -[(after )-264(calling)]TJ -/TT0 1 Tf -6.016 0 Td -(tty_raw)Tj -/T1_1 1 Tf -0.7641 Tc (.T)Tj -0 Tc 5.827 0 Td -[(his )-264(impr)18(oves )-264(the)]TJ --31.122 -1.2 Td -[(chances that the terminal will be left in a usable state if we encounter\ any err)18(ors.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47289 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(B.2)]TJ -32.558 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dE)Tj -0 Tc 1.722 0 Td -[(rr)18(or )-250(Routines)]TJ -/T1_1 1 Tf -8.132 0 Td -(903)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(va_end\(ap\);)Tj -0 -1.189 TD -(exit\(2\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*N)Tj -0 Tc 1.8 0 Td -(onfatal error unrelated to a system call.)Tj -0.6 Tc -1.8 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(rint a message and return.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(log_msg\(const char *fmt, ...\))Tj -T* -({)Tj -2.4 -1.189 Td -[(va_list )-2400(ap;)]TJ -0 -2.021 TD -(va_start\(ap, fmt\);)Tj -0 -1.189 TD -(log_doit\(0, 0, LOG_ERR, fmt, ap\);)Tj -T* -(va_end\(ap\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*F)Tj -0 Tc 1.8 0 Td -(atal error unrelated to a system call.)Tj -0.6 Tc -1.8 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(rint a message and terminate.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(log_quit\(const char *fmt, ...\))Tj -T* -({)Tj -2.4 -1.189 Td -[(va_list )-2400(ap;)]TJ -0 -2.021 TD -(va_start\(ap, fmt\);)Tj -0 -1.189 TD -(log_doit\(0, 0, LOG_ERR, fmt, ap\);)Tj -T* -(va_end\(ap\);)Tj -T* -(exit\(2\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*F)Tj -0 Tc 1.8 0 Td -(atal error related to a system call.)Tj -0.6 Tc -1.8 -1.189 Td -(*E)Tj -0 Tc 1.8 0 Td -(rror number passed as an explicit parameter.)Tj -0.6 Tc -1.8 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(rint a message and terminate.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(log_exit\(int error, const char *fmt, ...\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(va_list )-2400(ap;)]TJ -0 -2.021 TD -(va_start\(ap, fmt\);)Tj -0 -1.189 TD -(log_doit\(1, error, LOG_ERR, fmt, ap\);)Tj -T* -(va_end\(ap\);)Tj -T* -(exit\(2\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(rint a message and return to caller.)Tj -0.6 Tc -1.8 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(aller specifies "errnoflag" and "priority".)Tj --1.8 -1.189 Td -(*/)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47290 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(B.2)]TJ -32.558 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dE)Tj -0 Tc 1.722 0 Td -[(rr)18(or )-250(Routines)]TJ -/T1_1 1 Tf -8.132 0 Td -(899)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(Figur)Tj -0.25 Tc 2.383 0 Td -(eB)Tj -0 Tc 1.34 0 Td -[(.2 summarizes the dif)18(fer)18(ences between the various err)18(or functions.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1683.25 6502.25 cm -0 0 m -3125 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 175.8029 642.1229 Tm -[(Function )-1685(Adds)-250(string fr)18(om)]TJ -/TT0 1 Tf -13.752 0 Td -(strerror)Tj -/T1_0 1 Tf -1.5 Tc (?P)Tj -0 Tc 7.348 0 Td -(arameter to)Tj -/TT0 1 Tf -5.329 0 Td -(strerror)Tj -/T1_0 1 Tf --0.092 Tc 6.3 0 Td -(Te)Tj -0 Tc 1 0 Td -(rminate?)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1683.25 6382.25 cm -0 0 m -3125 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1683.25 6362.25 cm -0 0 m -3125 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 172.313 628.0869 Tm -(err_dump)Tj -/T1_0 1 Tf -12.136 0 Td -(yes)Tj -/TT0 1 Tf -12.662 0 Td -[(errno )-4766(abort\(\);)]TJ --24.797 -1.25 Td -(err_exit)Tj -/T1_0 1 Tf -12.136 0 Td -(yes )Tj -10.138 0 Td -[(explicit)-250(parameter)]TJ -/TT0 1 Tf -10.89 0 Td -(exit)Tj -2.4 0.04 Td -(\()Tj -0.6 -0.04 Td -(1)Tj -0.6 0.04 Td -(\))Tj -0.6 -0.04 Td -(;)Tj --37.364 -1.25 Td -(err_msg)Tj -/T1_0 1 Tf -12.302 0 Td -(no)Tj -/TT0 1 Tf -20.862 0 Td -(return;)Tj --33.164 -1.25 Td -(err_quit)Tj -/T1_0 1 Tf -12.302 0 Td -(no)Tj -/TT0 1 Tf -20.862 0 Td -(exit)Tj -2.4 0.04 Td -(\()Tj -0.6 -0.04 Td -(1)Tj -0.6 0.04 Td -(\))Tj -0.6 -0.04 Td -(;)Tj --37.364 -1.25 Td -(err_ret)Tj -/T1_0 1 Tf -12.136 0 Td -(yes)Tj -/TT0 1 Tf -12.662 0 Td -[(errno )-4766(return;)]TJ --24.797 -1.25 Td -(err_sys)Tj -/T1_0 1 Tf -12.136 0 Td -(yes)Tj -/TT0 1 Tf -12.662 0 Td -[(errno )-4766(exit)]TJ -10.767 0.04 Td -(\()Tj -0.6 -0.04 Td -(1)Tj -0.6 0.04 Td -(\))Tj -0.6 -0.04 Td -(;)Tj --37.364 -1.25 Td -(err_cont)Tj -/T1_0 1 Tf -12.136 0 Td -(yes )Tj -10.138 0 Td -[(explicit)-250(parameter)]TJ -/TT0 1 Tf -10.89 0 Td -(return;)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1683.25 5642.25 cm -0 0 m -3125 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 172.3026 556.0665 Tm -(log_msg)Tj -/T1_0 1 Tf -12.302 0 Td -(no)Tj -/TT0 1 Tf -20.862 0 Td -(return;)Tj --33.164 -1.25 Td -(log_quit)Tj -/T1_0 1 Tf -12.302 0 Td -(no)Tj -/TT0 1 Tf -20.863 0 Td -(exit)Tj -2.4 0.04 Td -(\()Tj -0.6 -0.04 Td -(2)Tj -0.6 0.04 Td -(\))Tj -0.6 -0.04 Td -(;)Tj --37.364 -1.25 Td -(log_ret)Tj -/T1_0 1 Tf -12.136 0 Td -(yes)Tj -/TT0 1 Tf -12.662 0 Td -[(errno )-4766(return;)]TJ --24.797 -1.25 Td -(log_sys)Tj -/T1_0 1 Tf -12.136 0 Td -(yes)Tj -/TT0 1 Tf -12.662 0 Td -[(errno )-4766(exit)]TJ -10.767 0.04 Td -(\()Tj -0.6 -0.04 Td -(2)Tj -0.6 0.04 Td -(\))Tj -0.6 -0.04 Td -(;)Tj --37.364 -1.25 Td -(log_exit)Tj -/T1_0 1 Tf -12.136 0 Td -(yes )Tj -10.138 0 Td -[(explicit)-250(parameter)]TJ -/TT0 1 Tf -10.89 0 Td -(exit)Tj -2.4 0.04 Td -(\()Tj -0.6 -0.04 Td -(2)Tj -0.6 0.04 Td -(\))Tj -0.6 -0.04 Td -(;)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1683.25 5122.25 cm -0 0 m -3125 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4316.25 5122.25 cm -0 0 m -0 1380 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3338.25 5122.25 cm -0 0 m -0 1380 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2167.25 5122.25 cm -0 0 m -0 1380 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4808.25 5122.25 cm -0 0 m -0 1380 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1683.25 5122.25 cm -0 0 m -0 1380 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 251.9244 494.0518 Tm -(Figure B.2)Tj -/T1_0 1 Tf -5.362 0 Td -(Our standar)Tj -0.25 Tc 5.354 0 Td -(de)Tj -0 Tc 1.34 0 Td -[(rr)18(or functions)]TJ -9.997 0 0 9.997 147.5557 464.0608 Tm -(Figur)Tj -0.25 Tc 2.383 0 Td -(eB)Tj -0 Tc 1.34 0 Td -[(.3 shows the err)18(or functions that output to standar)]TJ -0.25 Tc 22.201 0 Td -(de)Tj -0 Tc 1.34 0 Td -[(rr)18(or)74(.)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4570.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9968 0 0 8.9968 129.5534 447.3379 Tm -(#include "apue.h")Tj -0 -1.189 TD -[(#include )-3600(/* for definition of errno */)]TJ -T* -[(#include )-3000(/* ISO C variable aruments */)]TJ -0 -2.021 TD -(static void err_doit\(int, int, const char *, va_list\);)Tj -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*N)Tj -0 Tc 1.8 0 Td -(onfatal error related to a system call.)Tj -0.6 Tc -1.8 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(rint a message and return.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(err_ret\(const char *fmt, ...\))Tj -T* -({)Tj -2.4 -1.189 Td -[(va_list )-2400(ap;)]TJ -0 -2.021 TD -(va_start\(ap, fmt\);)Tj -0 -1.189 TD -(err_doit\(1, errno, fmt, ap\);)Tj -T* -(va_end\(ap\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*F)Tj -0 Tc 1.8 0 Td -(atal error related to a system call.)Tj -0.6 Tc -1.8 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(rint a message and terminate.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(err_sys\(const char *fmt, ...\))Tj -T* -({)Tj -2.4 -1.189 Td -[(va_list )-2400(ap;)]TJ -0 -2.021 TD -(va_start\(ap, fmt\);)Tj -0 -1.189 TD -(err_doit\(1, errno, fmt, ap\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47291 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(758)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 134.9919 659.4594 Tm -[(94 )-2400(db->nhash)]TJ -0.6 Tc 11.4 0 Td -(=N)Tj -0 Tc 1.8 0 Td -(HASH_DEF;/* hash table size */)Tj --13.2 -1.189 Td -[(95 )-2400(db->hashoff)]TJ -0.6 Tc 11.4 0 Td -(=H)Tj -0 Tc 1.8 0 Td -(ASH_OFF; /* offset in index file of hash table */)Tj --13.2 -1.189 Td -[(96 )-2400(strcpy\(db->name,)-600(pathname\);)]TJ -0 -1.189 TD -[(97 )-2400(strcat\(db->name,)-600(".idx"\);)]TJ -0 -2.259 TD -[(98 )-2400(if)-600(\(oflag & O_CREAT\) {)]TJ -0 -1.189 TD -[(99 )-4800(va_list)-600(ap;)]TJ --0.6 -2.259 Td -[(100 )-4800(va_start\(ap,)-600(oflag\);)]TJ -0 -1.189 TD -[(101 )-4800(mode)]TJ -0.6 Tc 10.2 0 Td -(=v)Tj -0 Tc 1.8 0 Td -(a_arg\(ap, int\);)Tj --12 -1.189 Td -[(102 )-4800(va_end\(ap\);)]TJ -0 -2.259 TD -[(103 )-4800(/*)]TJ -0 -1.189 TD -(104 )Tj -7.8 0 Td -[(*)-600(Open index file and data file.)]TJ --7.8 -1.189 Td -(105 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(106 )-4800(db->idxfd)]TJ -0.6 Tc 13.2 0 Td -(=o)Tj -0 Tc 1.8 0 Td -(pen\(db->name, oflag, mode\);)Tj --15 -1.189 Td -[(107 )-4800(strcpy\(db->name)]TJ -0.6 Tc 16.8 0 Td -(+l)Tj -0 Tc 1.8 0 Td -(en, ".dat"\);)Tj --18.6 -1.189 Td -[(108 )-4800(db->datfd)]TJ -0.6 Tc 13.2 0 Td -(=o)Tj -0 Tc 1.8 0 Td -(pen\(db->name, oflag, mode\);)Tj --15 -1.189 Td -[(109 )-2400(})-600(else {)]TJ -T* -[(110 )-4800(/*)]TJ -0 -1.189 TD -(111 )Tj -7.8 0 Td -[(*)-600(Open index file and data file.)]TJ --7.8 -1.189 Td -(112 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(113 )-4800(db->idxfd)]TJ -0.6 Tc 13.2 0 Td -(=o)Tj -0 Tc 1.8 0 Td -(pen\(db->name, oflag\);)Tj --15 -1.189 Td -[(114 )-4800(strcpy\(db->name)]TJ -0.6 Tc 16.8 0 Td -(+l)Tj -0 Tc 1.8 0 Td -(en, ".dat"\);)Tj --18.6 -1.189 Td -[(115 )-4800(db->datfd)]TJ -0.6 Tc 13.2 0 Td -(=o)Tj -0 Tc 1.8 0 Td -(pen\(db->name, oflag\);)Tj --15 -1.189 Td -[(116 )-2400(})]TJ -0 -2.259 TD -[(117 )-2400(if)-600(\(db->idxfd < 0 || db->datfd < 0\) {)]TJ -0 -1.189 TD -[(118 )-4800(_db_free\(db\);)]TJ -T* -[(119 )-4800(return\(NULL\);)]TJ -T* -[(120 )-2400(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3380.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 313.9403 Tm -[([94 )167(\320 )167(97])]TJ --0.092 Tc 5 0 Td -[(We )-305(c)]TJ -0 Tc 2.202 0 Td -[(ontinue )-121(to )-121(initialize )-121(the)]TJ -/TT0 1 Tf -10.995 0 Td -(DB)Tj -/T1_1 1 Tf -1.571 0 Td -[(str)8(uctur)18(e. )-371(The)-371(pathname )-121(passed )-121(in )-121(by )-121(the)]TJ --14.769 -1.2 Td -[(caller )-148(speci\336es )-148(the )-148(pr)18(e\336x )-148(of )-148(the )-148(database )-148(\336lenames.)]TJ --0.092 Tc 24.196 0 Td -[(We )-332(a)]TJ -0 Tc 2.285 0 Td -[(ppend )-148(the )-148(suf)18(\336x)]TJ -/TT0 1 Tf --26.48 -1.2 Td -(.idx)Tj -/T1_1 1 Tf -2.65 0 Td -[(to cr)18(eate the name for the database index \336le.)]TJ --7.65 -1.6 Td -[([98 )167(\320 )167(108])-1168(If )-57(the )-57(caller )-57(wants )-57(to )-57(cr)20(eate )-56(the )-56(database )-56(\336les, )-56(we )-56(use )-56(the )-56(variable )-56(ar)14(gument)]TJ -5 -1.2 Td -[(functions )-93(fr)18(om)]TJ -/TT0 1 Tf -6.956 0 Td -()Tj -/T1_1 1 Tf -6.343 0 Td -[(to )-93(\336nd )-93(the )-93(optional )-93(thir)]TJ -0.3428 Tc 10.687 0 Td -(da)Tj --0.018 Tc 1.454 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument. )-343(Then)-343(we)]TJ --26.372 -1.2 Td -(use)Tj -/TT0 1 Tf -1.982 0 Td -(open)Tj -/T1_1 1 Tf -2.876 0 Td -[(to )-226(cr)18(eate )-226(and )-226(open )-226(the )-226(index )-226(\336le )-226(and )-226(data )-226(\336le.)-726(Note )-226(that )-226(the)]TJ --4.859 -1.2 Td -[(\336lename )-68(of )-68(the )-68(data )-68(\336le )-68(starts )-68(with )-68(the )-68(same )-68(pr)18(e\336x )-68(as )-68(the )-68(index )-68(\336le )-68(but )-68(has)]TJ -/TT0 1 Tf -0 -1.2 TD -(.dat)Tj -/T1_1 1 Tf -2.65 0 Td -[(as a suf)18(\336x instead.)]TJ --7.65 -1.6 Td -[([109 )167(\320 )167(1)54(16] )-472(If)-378(the )-127(caller )-127(doesn\325t )-127(specify )-127(the)]TJ -/TT0 1 Tf -19.482 0 Td -(O_CREAT)Tj -/T1_1 1 Tf -4.577 0 Td -[(\337ag, )-127(then )-127(we\325r)]TJ -0.3772 Tc 6.606 0 Td -(eo)Tj -0 Tc 1.402 0 Td -[(pening )-127(existing)]TJ --27.067 -1.2 Td -[(database \336les.)-500(In this case, we simply call)]TJ -/TT0 1 Tf -18.716 0 Td -(open)Tj -/T1_1 1 Tf -2.65 0 Td -[(with two ar)18(guments.)]TJ --26.366 -1.6 Td -[([1)55(17 )167(\320 )167(120])-723(If )-99(an )-99(err)18(or )-99(occurs )-99(while )-99(we )-99(ar)]TJ -0.3491 Tc 18.561 0 Td -(eo)Tj -0 Tc 1.374 0 Td -[(pening )-99(or )-99(cr)18(eating )-99(either )-99(database )-99(\336le, )-99(we)]TJ --14.935 -1.2 Td -(call)Tj -/TT0 1 Tf -1.962 0 Td -(_db_free)Tj -/T1_1 1 Tf -5.236 0 Td -[(to )-186(clean )-186(up )-186(the)]TJ -/TT0 1 Tf -7.501 0 Td -(DB)Tj -/T1_1 1 Tf -1.636 0 Td -[(str)8(uctur)]TJ -0.4356 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.415 0 Td -[(nd )-186(then )-186(r)19(eturn)]TJ -/TT0 1 Tf -7.231 0 Td -(NULL)Tj -/T1_1 1 Tf -2.836 0 Td -[(to )-186(the)]TJ --31.305 -1.2 Td -(caller)Tj -0.6517 Tc 2.326 0 Td -(.I)Tj -0.4017 Tc 1.239 0 Td -(fo)Tj -0 Tc 1.281 0 Td -(ne)Tj -/TT0 1 Tf -1.463 0 Td -(open)Tj -/T1_1 1 Tf -2.802 0 Td -[(succeeded )-152(and )-152(one )-152(failed,)]TJ -/TT0 1 Tf -12.236 0 Td -(_db_free)Tj -/T1_1 1 Tf -5.202 0 Td -[(will )-152(take )-152(car)]TJ -0.4018 Tc 5.693 0 Td -(eo)Tj -0 Tc 1.427 0 Td -(f)Tj --33.667 -1.2 Td -[(closing the open \336le descriptor)74(,)-250(as)-250(we)-250(shall see shortly)111(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47292 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(226)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Envir)18(onment )]TJ -39.241 0 Td -[(Chapter)-500(7)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 129.5922 668.9599 Tm -[(Ex)10(er)20(cises)]TJ -/T1_0 1 Tf -8.9995 0 0 8.9995 129.5922 647.9611 Tm -(7.1)Tj -/T1_1 1 Tf -2.602 0 Td -[(On )-91(an )-91(Intel )-91(x86 )-91(system )-91(under )-91(Linux, )-91(if )-91(we )-91(execute )-91(the )-91(pr)18(ogram )-91(that )-91(prints )-91(\324)37(\324hello, )-91(world\325)32(\325)]TJ -0 -1.222 TD -[(and )-154(do )-154(not )-154(call)]TJ -/TT1 1 Tf -7.446 0 Td -(exit)Tj -/T1_1 1 Tf -2.804 0 Td -(or)Tj -/TT1 1 Tf -1.345 0 Td -(return)Tj -/T1_1 1 Tf -0.404 Tc (,t)Tj -0 Tc 4.58 0 Td -[(he )-154(termination )-154(status )-154(of )-154(the )-154(pr)17(ogram )167(\321 )167(which)-405(we )-154(can)]TJ --16.175 -1.222 Td -(examine with the shell)Tj -0.0833 Tc 10.05 0 Td -(\321i)Tj -0.25 Tc 1.374 0 Td -(s1)Tj -0 Tc 1.174 0 Td -[(3. )-250(Why?)]TJ -/T1_0 1 Tf --15.201 -1.667 Td -(7.2)Tj -/T1_1 1 Tf -2.602 0 Td -[(When is the output fr)18(om the)]TJ -/TT1 1 Tf -12.776 0 Td -(printf)Tj -/T1_1 1 Tf -[(s)-250(in)-250(Figur)]TJ -0.25 Tc 7.78 0 Td -(e7)Tj -0 Tc 1.229 0 Td -(.3 actually output?)Tj -/T1_0 1 Tf --24.387 -1.667 Td -(7.3)Tj -/T1_1 1 Tf -2.602 0 Td -[(Is )-265(ther)]TJ -0.5154 Tc 3.04 0 Td -(ea)Tj -0 Tc 1.494 0 Td -[(ny )-265(way )-265(for )-265(a )-265(function )-265(that )-265(is )-265(called )-265(by)]TJ -/TT1 1 Tf -19.321 0 Td -(main)Tj -/T1_1 1 Tf -2.915 0 Td -[(to )-265(examine )-265(the )-265(command)]TJ -11.984 0.09 Td -(-)Tj -0.333 -0.09 Td -(line)Tj --39.088 -1.222 Td -[(ar)18(guments )-61(without )-61(\(a\) )-61(passing)]TJ -/TT1 1 Tf -14.026 0 Td -(argc)Tj -/T1_1 1 Tf -2.711 0 Td -(and)Tj -/TT1 1 Tf -2.004 0 Td -(argv)Tj -/T1_1 1 Tf -2.711 0 Td -[(as )-61(ar)18(guments )-61(fr)18(om)]TJ -/TT1 1 Tf -8.727 0 Td -(main)Tj -/T1_1 1 Tf -2.711 0 Td -[(to )-61(the )-61(function )-61(or)]TJ --32.891 -1.222 Td -(\(b\) having)Tj -/TT1 1 Tf -4.795 0 Td -(main)Tj -/T1_1 1 Tf -2.65 0 Td -(copy)Tj -/TT1 1 Tf -2.397 0 Td -(argc)Tj -/T1_1 1 Tf -2.65 0 Td -(and)Tj -/TT1 1 Tf -1.943 0 Td -(argv)Tj -/T1_1 1 Tf -2.65 0 Td -(into global variables?)Tj -/T1_0 1 Tf --19.687 -1.667 Td -(7.4)Tj -/T1_1 1 Tf -2.602 0 Td -[(Some )-67(UNIX )-67(system )-67(implementations )-67(purposely )-67(arrange )-67(that, )-67(when )-67(a )-67(pr)19(ogram )-67(is )-67(executed,)]TJ -T* -[(location 0 in the data segment is not accessible.)-500(Why?)]TJ -/T1_0 1 Tf --2.602 -1.667 Td -(7.5)Tj -/T1_1 1 Tf -2.602 0 Td -[(Use )-159(the)]TJ -/TT1 1 Tf -3.885 0 Td -(typedef)Tj -/T1_1 1 Tf -4.609 0 Td -[(facility )-159(of )-159(C )-159(to )-159(de\336ne )-159(a )-159(new )-159(data )-159(type)]TJ -/TT1 1 Tf -18.219 0 Td -(Exitfunc)Tj -/T1_1 1 Tf -5.209 0 Td -[(for )-159(an )-159(exit )-159(handler)75(.)]TJ --31.921 -1.222 Td -[(Redo the pr)18(ototype for)]TJ -/TT1 1 Tf -10.323 0 Td -(atexit)Tj -/T1_1 1 Tf -3.85 0 Td -(using this data type.)Tj -/T1_0 1 Tf --16.775 -1.667 Td -(7.6)Tj -/T1_1 1 Tf -2.602 0 Td -[(If )-1(we )-1(allocate )-1(an )-1(array )-1(of)]TJ -/TT1 1 Tf -11.176 0 Td -(long)Tj -/T1_1 1 Tf -0.2514 Tc (su)Tj -0 Tc 3.678 0 Td -(sing)Tj -/TT1 1 Tf -2.104 0 Td -(calloc)Tj -/T1_1 1 Tf -[(,)-251(is)-251(t)-1(he )-1(array )-1(initialized )-1(to )-1(0?)-503(If )-1(we )-1(allocate )-1(an)]TJ --16.959 -1.222 Td -(array of pointers using)Tj -/TT1 1 Tf -10.325 0 Td -(calloc)Tj -/T1_1 1 Tf -[(,)-250(is)-250(the array initialized to null pointers?)]TJ -/T1_0 1 Tf --12.927 -1.667 Td -(7.7)Tj -/T1_1 1 Tf -2.602 0 Td -[(In )-35(the )-35(output )-35(fr)18(om )-35(the)]TJ -/TT1 1 Tf -10.262 0 Td -(size)Tj -/T1_1 1 Tf -2.685 0 Td -[(command )-35(at )-35(the )-35(end )-35(of )-35(Section )-35(7.6, )-35(why )-35(ar)18(en\325t )-35(any )-35(sizes )-35(given)]TJ --12.947 -1.222 Td -(for the heap and the stack?)Tj -/T1_0 1 Tf --2.602 -1.667 Td -(7.8)Tj -/T1_1 1 Tf -2.602 0 Td -[(In )-79(Section )-79(7.7, )-79(the )-79(two )-79(\336le )-79(sizes)]TJ -14.499 0.04 Td -(\()Tj -0.333 -0.04 Td -[(879443 )-79(and )-79(8378)]TJ -7.351 0.04 Td -(\))Tj -0.662 -0.04 Td -[(don\325t )-79(equal )-79(the )-79(sums )-79(of )-79(their )-79(r)19(espective)]TJ --22.845 -1.222 Td -[(text and data sizes.)-500(Why?)]TJ -/T1_0 1 Tf --2.602 -1.667 Td -(7.9)Tj -/T1_1 1 Tf -2.602 0 Td -[(In )-89(Section )-89(7.7, )-89(why )-89(does )-89(the )-89(size )-89(of )-89(the )-89(executable )-89(\336le )-89(dif)23(fer )-89(so )-89(dramatically )-89(when )-89(we )-89(use)]TJ -0 -1.222 TD -[(shar)18(ed libraries for such a trivial pr)18(ogram?)]TJ -/T1_0 1 Tf --2.602 -1.667 Td -(7.10)Tj -/T1_1 1 Tf -2.602 0 Td -[(At )-18(the )-18(end )-18(of )-18(Section )-18(7.10, )-18(we )-18(showed )-18(how )-18(a )-18(function )-18(can\325t )-18(r)19(eturn )-18(a )-18(pointer )-18(to )-18(an )-18(automatic)]TJ -0 -1.222 TD -[(variable. )-250(Is)-250(the following code corr)18(ect?)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1530.25 3854.25 cm -0 0 m -45 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1551.25 3854.25 cm -0 0 m -45 0 l -90 0 l -135 0 l -180 0 l -225 0 l -270 0 l -315 0 l -360 0 l -405 0 l -450 0 l -495 0 l -540 0 l -585 0 l -630 0 l -675 0 l -720 0 l -765 0 l -810 0 l -855 0 l -900 0 l -945 0 l -990 0 l -1035 0 l -1080 0 l -1125 0 l -1170 0 l -1215 0 l -1260 0 l -1305 0 l -1350 0 l -1395 0 l -1440 0 l -1485 0 l -1530 0 l -1575 0 l -1620 0 l -1665 0 l -1710 0 l -1755 0 l -1800 0 l -1845 0 l -1890 0 l -1935 0 l -1980 0 l -2025 0 l -2070 0 l -2115 0 l -2160 0 l -2205 0 l -2250 0 l -2295 0 l -2340 0 l -2385 0 l -2430 0 l -2475 0 l -2520 0 l -2565 0 l -2610 0 l -2655 0 l -2700 0 l -2745 0 l -2790 0 l -2835 0 l -2880 0 l -2925 0 l -2970 0 l -3015 0 l -3060 0 l -3105 0 l -3150 0 l -3195 0 l -3240 0 l -3285 0 l -3330 0 l -3375 0 l -3420 0 l -3465 0 l -3510 0 l -3555 0 l -3600 0 l -3645 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 152.9996 375.7539 Tm -(int)Tj -0 -1.189 TD -(f1\(int val\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(num)]TJ -0.6 Tc 7.2 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --9 -1.189 Td -[(int )-2400(*ptr)]TJ -0.6 Tc 7.8 0 Td -(=&)Tj -0 Tc 1.8 0 Td -(num;)Tj --9.6 -2.021 Td -(if \(val == 0\) {)Tj -2.4 -1.189 Td -[(int )-2400(val;)]TJ -0 -2.021 TD -(val = 5;)Tj -0 -1.189 TD -(ptr = &val;)Tj --2.4 -1.189 Td -(})Tj -T* -(return\(*ptr + 1\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1530.25 2387.25 cm -0 0 m -45 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1551.25 2387.25 cm -0 0 m -45 0 l -90 0 l -135 0 l -180 0 l -225 0 l -270 0 l -315 0 l -360 0 l -405 0 l -450 0 l -495 0 l -540 0 l -585 0 l -630 0 l -675 0 l -720 0 l -765 0 l -810 0 l -855 0 l -900 0 l -945 0 l -990 0 l -1035 0 l -1080 0 l -1125 0 l -1170 0 l -1215 0 l -1260 0 l -1305 0 l -1350 0 l -1395 0 l -1440 0 l -1485 0 l -1530 0 l -1575 0 l -1620 0 l -1665 0 l -1710 0 l -1755 0 l -1800 0 l -1845 0 l -1890 0 l -1935 0 l -1980 0 l -2025 0 l -2070 0 l -2115 0 l -2160 0 l -2205 0 l -2250 0 l -2295 0 l -2340 0 l -2385 0 l -2430 0 l -2475 0 l -2520 0 l -2565 0 l -2610 0 l -2655 0 l -2700 0 l -2745 0 l -2790 0 l -2835 0 l -2880 0 l -2925 0 l -2970 0 l -3015 0 l -3060 0 l -3105 0 l -3150 0 l -3195 0 l -3240 0 l -3285 0 l -3330 0 l -3375 0 l -3420 0 l -3465 0 l -3510 0 l -3555 0 l -3600 0 l -3645 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47293 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(7.10)]TJ -/TT0 1 Tf -28.486 0 Td -(setjmp)Tj -/T1_0 1 Tf -4.1 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.7 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(215)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -3102 5882 720 576 re -S -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 325.8204 620.2028 Tm -(stack frame)Tj -0.583 -1.25 Td -(for)Tj -/TT0 1 Tf -1.524 0 Td -(main)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -3102 5594 720 288 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 325.8009 576.9708 Tm -(stack frame)Tj --0.317 -1.25 Td -(for)Tj -/TT0 1 Tf -1.524 0 Td -(do_line)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -3102 5234 720 360 re -S -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 325.7814 544.542 Tm -(stack frame)Tj --0.317 -1.25 Td -(for)Tj -/TT0 1 Tf -1.524 0 Td -(cmd_add)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3102.25 5234.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 5234.25 cm -0 0 m -0 -144 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 253.6671 638.8866 Tm -(bottom of stack)Tj -16.309 0 Td -[(higher addr)18(ess)]TJ -0 -16.205 TD -[(lower addr)18(ess)]TJ -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 281.4 509 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 2814 5090 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2814.25 5378.25 cm -0 0 m -0 -216 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 224.3247 526.482 Tm -[(dir)18(ection of)]TJ --0.645 -1.25 Td -[(stack gr)18(owth)]TJ -/T1_1 1 Tf -0.667 -4.555 Td -(Figure 7.10)Tj -/T1_0 1 Tf -5.695 0 Td -(Stack frames after)Tj -/TT0 1 Tf -8.148 0 Td -(cmd_add)Tj -/T1_0 1 Tf -4.45 0 Td -(has been called)Tj -9.997 0 0 9.997 129.5611 456.063 Tm -[(Storage )-180(for )-180(the )-180(automatic )-180(variables )-180(is )-180(within )-180(the )-180(stack )-180(frame )-180(for )-180(each )-180(function.)-677(The)]TJ -0 -1.2 TD -(array)Tj -/TT0 1 Tf -2.765 0 Td -(line)Tj -/T1_0 1 Tf -2.819 0 Td -[(is )-169(in )-169(the )-169(stack )-169(frame )-169(for)]TJ -/TT0 1 Tf -11.605 0 Td -(main)Tj -/T1_0 1 Tf -0.4195 Tc (,t)Tj -0 Tc 3.396 0 Td -[(he )-169(integer)]TJ -/TT0 1 Tf -5.008 0 Td -(cmd)Tj -/T1_0 1 Tf -2.22 0 Td -[(is )-169(in )-169(the )-169(stack )-169(frame )-169(for)]TJ -/TT0 1 Tf --27.813 -1.2 Td -(do_line)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 5.2 0 Td -(nd the integer)Tj -/TT0 1 Tf -6.438 0 Td -(token)Tj -/T1_0 1 Tf -3.25 0 Td -(is in the stack frame for)Tj -/TT0 1 Tf -10.589 0 Td -(cmd_add)Tj -/T1_0 1 Tf -(.)Tj --23.677 -1.2 Td -[(As )-157(we\325ve )-157(said, )-157(this )-157(type )-157(of )-157(arrangement )-157(of )-157(the )-157(stack )-157(is )-157(typical, )-157(but )-157(not )-157(r)24(equir)18(ed.)]TJ --1.8 -1.2 Td -[(Stacks )-137(do )-137(not )-137(have )-137(to )-137(gr)18(ow )-137(towar)]TJ -0.3871 Tc 15.602 0 Td -(dl)Tj -0 Tc 1.289 0 Td -[(ower )-137(memory )-137(addr)18(esses. )-387(On)-387(systems )-137(that )-137(don\325t)]TJ --16.891 -1.2 Td -[(have )-103(built-in )-103(har)17(dwar)]TJ -0.3535 Tc 9.884 0 Td -(es)Tj -0 Tc 1.256 0 Td -[(upport )-103(for )-103(stacks, )-103(a )-103(C )-103(implementation )-103(might )-103(use )-103(a )-103(linked )-103(list)]TJ --11.141 -1.2 Td -(for its stack frames.)Tj -1.8 -1.2 Td -[(The )-66(coding )-66(pr)18(oblem )-66(that\325s )-66(often )-66(encounter)18(ed )-66(with )-66(pr)20(ograms )-66(like )-66(the )-66(one )-66(shown )-66(in)]TJ --1.8 -1.2 Td -(Figur)Tj -0.4696 Tc 2.383 0 Td -(e7)Tj -0 Tc 1.449 0 Td -[(.9 )-220(is )-220(how )-220(to )-220(handle )-220(nonfatal )-220(err)20(ors. )-469(For)-470(example, )-219(if )-219(the)]TJ -/TT0 1 Tf -26.792 0 Td -(cmd_add)Tj -/T1_0 1 Tf -4.669 0 Td -(function)Tj --35.293 -1.2 Td -[(encounters )-31(an )-31(err)18(or )167(\321 )167(say)110(,)-281(an)-281(invalid )-31(number)]TJ -0.0833 Tc 20.116 0 Td -(\321i)Tj -0.2811 Tc 1.374 0 Td -(tm)Tj -0 Tc 1.49 0 Td -[(ight )-31(want )-31(to )-31(print )-31(an )-31(err)18(or )-31(message,)]TJ --22.98 -1.2 Td -(ignor)Tj -0.3095 Tc 2.352 0 Td -(et)Tj -0 Tc 1.114 0 Td -[(he )-59(r)18(est )-59(of )-59(the )-59(input )-59(line, )-59(and )-59(r)18(eturn )-59(to )-59(the)]TJ -/TT0 1 Tf -19.038 0 Td -(main)Tj -/T1_0 1 Tf -2.709 0 Td -[(function )-59(to )-59(r)18(ead )-59(the )-59(next )-59(input)]TJ --25.214 -1.2 Td -[(line. )-259(But)-259(when )-9(we\325r)]TJ -0.2592 Tc 8.906 0 Td -(ed)Tj -0 Tc 1.349 0 Td -[(eeply )-9(nested )-9(numer)18(ous )-9(levels )-9(down )-9(fr)17(om )-9(the)]TJ -/TT0 1 Tf -20.247 0 Td -(main)Tj -/T1_0 1 Tf -2.659 0 Td -[(function, )-9(this)]TJ --33.161 -1.2 Td -[(is )-64(dif)18(\336cult )-64(to )-64(do )-64(in )-64(C.)-564(\(In )-64(this )-64(example, )-64(the)]TJ -/TT0 1 Tf -19.712 0 Td -(cmd_add)Tj -/T1_0 1 Tf -4.514 0 Td -[(function )-64(is )-64(only )-64(two )-64(levels )-64(down)]TJ --24.226 -1.2 Td -[(fr)18(om)]TJ -/TT0 1 Tf -2.53 0 Td -(main)Tj -/T1_0 1 Tf -0.3913 Tc (,b)Tj -0 Tc 3.594 0 Td -[(ut )-141(it\325s )-141(not )-141(uncommon )-141(to )-141(be )-141(\336ve )-141(or )-141(mor)]TJ -0.3914 Tc 18.202 0 Td -(el)Tj -0 Tc 1.161 0 Td -[(evels )-141(down )-141(fr)18(om )-141(the )-141(point )-141(to)]TJ --25.488 -1.2 Td -[(which )-109(we )-109(want )-109(to )-109(r)17(eturn.\) )-359(It)-360(becomes )-109(messy )-109(if )-109(we )-109(have )-109(to )-109(code )-109(each )-109(function )-109(with )-109(a)]TJ -0 -1.2 Td -[(special r)18(eturn value that tells it to r)18(eturn one level.)]TJ -1.8 -1.2 Td -[(The )-92(solution )-92(to )-92(this )-92(pr)18(oblem )-92(is )-92(to )-92(use )-92(a )-92(nonlocal)]TJ -/TT0 1 Tf -22.302 0 Td -(goto)Tj -/T1_0 1 Tf -0.342 Tc (:t)Tj -0 Tc 3.318 0 Td -(he)Tj -/TT0 1 Tf -1.403 0 Td -(setjmp)Tj -/T1_0 1 Tf -3.942 0 Td -(and)Tj -/TT0 1 Tf -2.035 0 Td -(longjmp)Tj -/T1_0 1 Tf --34.8 -1.2 Td -[(functions. )-414(The)-415(adjective )-164(\324)37(\324nonlocal\325)]TJ -0.4143 Tc 16.019 0 Td -(\325i)Tj -0 Tc 0.983 0 Td -[(ndicates )-164(that )-164(we\325r)]TJ -0.4142 Tc 8.188 0 Td -(en)Tj -0 Tc 1.475 0 Td -[(ot )-164(doing )-164(a )-164(normal )-164(C)]TJ -/TT0 1 Tf -9.935 0 Td -(goto)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(statement )-57(within )-57(a )-57(function; )-57(instead, )-57(we\325r)]TJ -0.3071 Tc 18.654 0 Td -(eb)Tj -0 Tc 1.339 0 Td -[(ranching )-57(back )-57(thr)18(ough )-57(the )-57(call )-57(frames )-57(to )-57(a)]TJ --19.994 -1.2 Td -[(function that is in the call path of the curr)18(ent function.)]TJ -/TT0 1 Tf -8.9973 0 0 8.9973 147.5565 209.0371 Tm -(#include )Tj -0 -2.378 TD -(int setjmp\(jmp_buf)Tj -/T1_2 1 Tf -11.4 0 Td -(env)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --3.712 -2.378 Td -[(Returns: 0 if called dir)18(ectly)]TJ -0.25 Tc 11.731 0 Td -(,n)Tj -0 Tc 1.082 0 Td -[(onzer)18(o)-250(if)-250(r)18(eturning fr)18(om a call to)]TJ -/TT0 1 Tf -14.632 0 Td -(longjmp)Tj --35.133 -2.378 Td -(void longjmp\(jmp_buf)Tj -/T1_2 1 Tf -12.6 0 Td -(env)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.245 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(val)Tj -/TT0 1 Tf -(\);)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1404.25 cm -0 0 m -0 777 l -3900 777 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47294 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(7.6)]TJ -28.437 0 Td -[(Memory )-250(Layout )-250(of )-250(a )-250(C )-250(Pr)18(ogram)]TJ -/T1_1 1 Tf -17.396 0 Td -(205)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -0.883 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245I)Tj -0 Tc 1.826 0 Td -[(nitialized )-235(data )-235(segment, )-235(usually )-235(called )-235(simply )-235(the )-235(data )-235(segment, )-235(containing)]TJ --0.337 -1.2 Td -[(variables )-208(that )-208(ar)]TJ -0.4576 Tc 7.524 0 Td -(es)Tj -0 Tc 1.361 0 Td -[(peci\336cally )-208(initialized )-208(in )-208(the )-208(pr)20(ogram. )-458(For)-457(example, )-208(the )-208(C)]TJ --8.885 -1.2 Td -(declaration)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 180.479 626.1226 Tm -[(int )-1200(maxcount)]TJ -0.6 Tc 9 0 Td -(=9)Tj -0 Tc 1.8 0 Td -(9;)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 162.4801 605.9836 Tm -[(appearing )-11(outside )-11(any )-11(function )-11(causes )-11(this )-11(variable )-11(to )-11(be )-11(stor)18(ed )-11(in )-11(the )-11(initialized)]TJ -0 -1.2 TD -(data segment with its initial value.)Tj -0.883 Tc -1.489 -1.96 Td -(\245U)Tj -0 Tc 2.267 0 Td -[(ninitialized )-262(data )-262(segment, )-262(often )-262(called )-262(the )-262(\324)34(\324bss\325)]TJ -0.5125 Tc 22.456 0 Td -(\325s)Tj -0 Tc 1.214 0 Td -[(egment, )-262(named )-262(after )-262(an)]TJ --24.448 -1.2 Td -[(ancient )-160(assembler )-160(operator )-160(that )-160(stood )-160(for )-160(\324)39(\324block )-160(started )-160(by )-160(symbol.\325)]TJ -0.6596 Tc 31.391 0 Td -(\325D)Tj -0 Tc 1.712 0 Td -[(ata )-160(in)]TJ --33.103 -1.2 Td -[(this )-1(segment )-1(is )-1(initialized )-1(by )-1(the )-1(kernel )-1(to )-1(arithmetic )-1(0 )-1(or )-1(null )-1(pointers )-1(befor)]TJ -0.2513 Tc 33.594 0 Td -(et)Tj -0 Tc 1.056 0 Td -(he)Tj --34.65 -1.2 Td -[(pr)18(ogram starts executing.)-500(The C declaration)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 180.4789 519.549 Tm -[(long )-1200(sum[1000];)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 162.48 499.41 Tm -[(appearing )-439(outside )-439(any )-439(function )-439(causes )-439(this )-439(variable )-439(to )-439(be )-439(stor)14(ed )-439(in )-439(the)]TJ -T* -(uninitialized data segment.)Tj -0.883 Tc -1.489 -1.96 Td -(\245S)Tj -0 Tc 2.014 0 Td -[(tack, )-1(wher)]TJ -0.2511 Tc 4.599 0 Td -(ea)Tj -0 Tc 1.23 0 Td -[(utomatic )-1(variables )-1(ar)]TJ -0.2511 Tc 9.296 0 Td -(es)Tj -0 Tc 1.154 0 Td -[(tor)18(ed, )-1(along )-1(with )-1(information )-1(that )-1(is )-1(saved)]TJ --16.804 -1.2 Td -[(each )-185(time )-185(a )-185(function )-185(is )-185(called.)-685(Each )-185(time )-185(a )-185(function )-185(is )-185(called, )-185(the )-185(addr)18(ess )-185(of)]TJ -T* -[(wher)18(e)-307(to)-307(r)17(eturn )-57(to )-57(and )-57(certain )-57(information )-57(about )-57(the )-57(caller)-77(\325s )-58(envir)18(onment, )-58(such)]TJ -T* -[(as )-227(some )-227(of )-227(the )-227(machine )-227(r)20(egisters, )-226(ar)]TJ -0.4765 Tc 17.02 0 Td -(es)Tj -0 Tc 1.379 0 Td -[(aved )-226(on )-226(the )-226(stack.)-726(The )-226(newly )-226(called)]TJ --18.4 -1.2 Td -[(function )-296(then )-296(allocates )-296(r)17(oom )-296(on )-296(the )-296(stack )-296(for )-296(its )-296(automatic )-296(and )-296(temporary)]TJ -T* -[(variables. )-294(This)-295(is )-44(how )-44(r)18(ecursive )-44(functions )-44(in )-44(C )-44(can )-44(work.)-544(Each )-44(time )-44(a )-44(r)15(ecursive)]TJ -0 -1.2 Td -[(function )-137(calls )-137(itself, )-137(a )-137(new )-137(stack )-137(frame )-137(is )-137(used, )-137(so )-137(one )-137(set )-137(of )-137(variables )-137(doesn\325t)]TJ -T* -(interfer)Tj -0.25 Tc 3.262 0 Td -(ew)Tj -0 Tc 1.563 0 Td -[(ith the variables fr)18(om another instance of the function.)]TJ -0.883 Tc -6.314 -1.96 Td -(\245H)Tj -0 Tc 2.321 0 Td -[(eap, )-116(wher)]TJ -0.3657 Tc 4.468 0 Td -(ed)Tj -0 Tc 1.456 0 Td -[(ynamic )-116(memory )-116(allocation )-116(usually )-116(takes )-116(place.)-614(Historically)]TJ -0.3656 Tc 26.953 0 Td -(,t)Tj -0 Tc 0.942 0 Td -(he)Tj --34.65 -1.2 Td -(heap has been located between the uninitialized data and the stack.)Tj --3.289 -2.4 Td -(Figur)Tj -0.2956 Tc 2.383 0 Td -(e7)Tj -0 Tc 1.275 0 Td -[(.6 )-46(shows )-46(the )-46(typical )-46(arrangement )-46(of )-46(these )-46(segments.)-543(This )-46(is )-46(a )-46(logical )-46(pictur)]TJ -0.2957 Tc 33.689 0 Td -(eo)Tj -0 Tc 1.321 0 Td -(f)Tj --38.667 -1.2 Td -[(how )-83(a )-83(pr)18(ogram )-83(looks; )-83(ther)18(e)-333(is)-333(no)-333(r)18(equir)18(ement )-83(that )-83(a )-83(given )-83(implementation )-83(arrange )-83(its)]TJ --0 -1.2 Td -[(memory )-87(in )-87(this )-87(fashion.)-589(Nevertheless, )-88(this )-88(gives )-88(us )-88(a )-88(typical )-88(arrangement )-88(to )-88(describe.)]TJ --0.055 Tc T* -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-417(Linux )-417(on )-417(a )-417(32)]TJ -8.807 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-417(Intel )-417(x86 )-417(pr)18(ocessor)]TJ -0.6668 Tc 10.864 0 Td -(,t)Tj -0 Tc 1.243 0 Td -[(he )-417(text )-417(segment )-417(starts )-417(at )-417(location)]TJ -/TT0 1 Tf --22.482 -1.2 Td -(0x08048000)Tj -/T1_0 1 Tf -0.3776 Tc (,a)Tj -0 Tc 7.128 0 Td -[(nd )-128(the )-128(bottom )-128(of )-128(the )-128(stack )-128(starts )-128(just )-128(below)]TJ -/TT0 1 Tf -20.36 0 Td -(0xC0000000)Tj -/T1_0 1 Tf -0.6277 Tc (.\()Tj -0 Tc 7.211 0 Td -[(The )-128(stack)]TJ --34.699 -1.2 Td -[(gr)18(ows )-6(fr)18(om )-6(higher)18(-number)18(ed )-6(addr)18(esses )-6(to )-6(lower)18(-number)18(ed )-6(addr)18(esses )-6(on )-6(this )-6(particular)]TJ --0 -1.2 Td -[(ar)18(chitectur)18(e.\) )-253(The)-253(unused )-3(virtual )-3(addr)18(ess )-3(space )-3(between )-3(the )-3(top )-3(of )-3(the )-3(heap )-3(and )-3(the )-3(top)]TJ --0 -1.2 Td -[(of the stack is lar)18(ge.)]TJ -7.9995 0 0 7.9995 183.5883 221.8271 Tm -[(Several )-300(mor)]TJ -0.55 Tc 5.59 0 Td -(es)Tj -0 Tc 1.453 0 Td -[(egment )-300(types )-300(exist )-300(in )-300(an)]TJ -/TT0 1 Tf -12.432 0 Td -(a.out)Tj -/T1_0 1 Tf -0.5499 Tc (,c)Tj -0 Tc 4.244 0 Td -[(ontaining )-300(the )-300(symbol )-300(table, )-300(debugging)]TJ --23.719 -1.25 Td -[(information, )-326(linkage )-326(tables )-326(for )-326(dynamic )-326(shar)16(ed )-326(libraries, )-326(and )-326(the )-326(like.)-826(These )-326(additional)]TJ -0 -1.25 TD -[(sections don\325t get loaded as part of the pr)18(ogram\325s image executed by a pr)18(ocess.)]TJ -9.9994 0 0 9.9994 147.5903 178.8297 Tm -[(Note )-177(fr)18(om )-177(Figur)]TJ -0.4275 Tc 7.559 0 Td -(e7)Tj -0 Tc 1.406 0 Td -[(.6 )-177(that )-177(the )-177(contents )-177(of )-177(the )-177(uninitialized )-177(data )-177(segment )-177(ar)]TJ -0.4274 Tc 25.875 0 Td -(en)Tj -0 Tc 1.488 0 Td -(ot)Tj --38.128 -1.2 Td -[(stor)18(ed )-97(in )-97(the )-97(pr)17(ogram )-97(\336le )-97(on )-97(disk, )-97(because )-97(the )-97(kernel )-97(sets )-97(the )-97(contents )-97(to )-97(0 )-97(befor)]TJ -0.3474 Tc 36.787 0 Td -(et)Tj -0 Tc 1.152 0 Td -(he)Tj --37.939 -1.2 Td -[(pr)18(ogram )-53(starts )-53(r)7(unning. )-303(The)-304(only )-53(portions )-53(of )-53(the )-53(pr)16(ogram )-53(that )-53(need )-53(to )-53(be )-53(saved )-53(in )-53(the)]TJ --0 -1.2 Td -[(pr)18(ogram \336le ar)]TJ -0.25 Tc 6.61 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he text segment and the initialized data.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47295 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(162)Tj -/T1_1 1 Tf -3.5 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Library)]TJ -34.372 0 Td -[(Chapter )-250(5)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Refer )-304(to )-304(Section )-304(7.3 )-304(of )-304(Kernighan )-304(and )-304(Ritchie)]TJ -22.446 0.04 Td -([)Tj -0.333 -0.04 Td -(1988)Tj -2 0.04 Td -(])Tj -0.887 -0.04 Td -[(for )-304(additional )-304(details )-304(on)]TJ --27.466 -1.2 Td -[(handling )-331(variable-length )-331(ar)18(gument )-331(lists )-331(with )-331(ISO )-331(Standar)]TJ -0.5816 Tc 27.371 0 Td -(dC)Tj -0.8316 Tc 1.902 0 Td -(.B)Tj -0.5816 Tc 1.693 0 Td -(ea)Tj -0 Tc 1.561 0 Td -(war)Tj -0.5816 Tc 1.711 0 Td -(et)Tj -0 Tc 1.387 0 Td -[(hat )-332(the)]TJ --35.623 -1.2 Td -[(variable-length )-77(ar)18(gument )-77(list )-77(r)18(outines )-77(pr)18(ovided )-77(with )-77(ISO )-77(C)]TJ -0.0833 Tc 26.83 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -(he)Tj -/TT0 1 Tf -1.388 0 Td -()Tj -/T1_1 1 Tf -6.327 0 Td -(header)Tj --35.954 -1.2 Td -[(and )-26(its )-26(associated )-26(r)17(outines )167(\321 )167(dif)17(fer )-26(fr)18(om )-26(the)]TJ -/TT0 1 Tf -19.682 0 Td -()Tj -/T1_1 1 Tf --0.018 Tc 6.876 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(utines )-26(that )-26(wer)]TJ -0.2765 Tc 6.682 0 Td -(ep)Tj --0.018 Tc 1.356 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(vided)Tj --36.443 -1.2 Td -(with older UNIX systems.)Tj -/TT1 1 Tf --3.6 -3.12 Td -(Formatted Input)Tj -/T1_1 1 Tf -3.6 -2.16 Td -[(Formatted input is handled by the thr)18(ee)]TJ -/TT0 1 Tf -17.885 0 Td -(scanf)Tj -/T1_1 1 Tf -3.25 0 Td -(functions.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 140.3918 551.4669 Tm -(#include )Tj -0 -1.902 TD -(int scanf\(const char *restrict)Tj -/T1_2 1 Tf -18.6 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 4.466 0 Td -(..\);)Tj --23.066 -1.902 Td -(int fscanf\(FILE *restrict)Tj -/T1_2 1 Tf -15.6 0 Td -(fp)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 4.466 0 Td -(..\);)Tj --34.644 -1.902 Td -(int sscanf\(const char *restrict)Tj -/T1_2 1 Tf -19.2 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.097 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 4.466 0 Td -(..\);)Tj -/T1_1 1 Tf --21.092 -1.902 Td -[(All thr)18(ee r)18(eturn: number of input items assigned,)]TJ -/TT0 1 Tf --1.983 -1.189 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(if input err)18(or or end of \336le befor)]TJ -0.25 Tc 14.124 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ny conversion)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4678.25 cm -0 0 m -0 927 l -3900 927 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 454.2655 Tm -(The)Tj -/TT0 1 Tf -1.959 0 Td -(scanf)Tj -/T1_1 1 Tf -3.286 0 Td -[(family )-35(is )-35(used )-35(to )-35(parse )-35(an )-35(input )-35(string )-35(and )-35(convert )-35(character )-35(sequences )-35(into)]TJ --5.245 -1.2 Td -[(variables )-47(of )-47(speci\336ed )-47(types.)-547(The )-47(ar)16(guments )-47(following )-47(the )-47(format )-47(contain )-47(the )-47(addr)15(esses)]TJ -0 -1.2 TD -[(of the variables to initialize with the r)18(esults of the conversions.)]TJ -1.8 -1.2 Td -[(The )-54(format )-54(speci\336cation )-54(contr)18(ols )-54(how )-54(the )-54(ar)18(guments )-54(ar)]TJ -0.3041 Tc 24.811 0 Td -(ec)Tj -0 Tc 1.227 0 Td -[(onverted )-54(for )-54(assignment.)]TJ --27.838 -1.2 Td -[(The )-113(per)18(cent )-113(sign )-113(\(%\) )-113(indicates )-113(the )-113(beginning )-113(of )-113(a )-113(conversion )-113(speci\336cation.)-612(Except )-113(for)]TJ -T* -[(the )-153(conversion )-153(speci\336cations )-153(and )-153(white )-153(space, )-153(other )-153(characters )-153(in )-153(the )-153(format )-153(have )-153(to)]TJ -T* -[(match )-80(the )-80(input.)-580(If )-80(a )-80(character )-80(doesn\325t )-80(match, )-80(pr)18(ocessing )-80(stops, )-80(leaving )-80(the )-80(r)12(emainder)]TJ -T* -[(of the input unr)18(ead.)]TJ -1.8 -1.2 Td -(Ther)Tj -0.2893 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.268 0 Td -[(re )-75(t)]TJ -0 Tc 1.471 0 Td -[(hr)18(ee )-39(optional )-39(components )-39(to )-39(a )-39(conversion )-39(speci\336cation, )-39(shown )-39(in )-39(squar)15(e)]TJ --6.591 -1.2 Td -(brackets below:)Tj -/TT0 1 Tf -1.8 -2.16 Td -(%[*][fldwidth][m][lenmodifier]convtype)Tj -/T1_1 1 Tf --1.8 -2.16 Td -[(The )-203(optional )-203(leading )-203(asterisk )-203(is )-203(used )-203(to )-203(suppr)21(ess )-203(conversion.)-703(Input )-203(is )-203(converted )-203(as)]TJ -T* -[(speci\336ed )-137(by )-137(the )-137(r)18(est )-137(of )-137(the )-137(conversion )-137(speci\336cation, )-137(but )-137(the )-137(r)18(esult )-137(is )-137(not )-137(stor)18(ed )-137(in )-137(an)]TJ -T* -[(ar)18(gument.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.062 0 Td -(fldwidth)Tj -/T1_1 1 Tf -5.188 0 Td -[(component )-138(speci\336es )-138(the )-138(maximum )-138(\336eld )-138(width )-138(in )-138(characters.)-636(The)]TJ -/TT0 1 Tf --9.05 -1.2 Td -(lenmodifier)Tj -/T1_1 1 Tf -6.953 0 Td -[(component )-103(speci\336es )-103(the )-103(size )-103(of )-103(the )-103(ar)19(gument )-103(to )-103(be )-103(initialized )-103(with )-103(the)]TJ --0.018 Tc -6.953 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sult )-16(of )-16(the )-16(conversion.)-515(The )-16(same )-16(length )-16(modi\336ers )-16(supported )-16(by )-16(the)]TJ -/TT0 1 Tf -30.279 0 Td -(printf)Tj -/T1_1 1 Tf -3.866 0 Td -[(family )-16(of)]TJ --35.001 -1.2 Td -[(functions )-23(ar)]TJ -0.273 Tc 5.281 0 Td -(es)Tj -0 Tc 1.176 0 Td -[(upported )-23(by )-23(the)]TJ -/TT0 1 Tf -7.477 0 Td -(scanf)Tj -/T1_1 1 Tf -3.273 0 Td -[(family )-23(of )-23(functions )-23(\(see )-23(Figur)]TJ -0.273 Tc 13.054 0 Td -(e5)Tj -0 Tc 1.252 0 Td -[(.8 )-23(for )-23(a )-23(list )-23(of )-23(the)]TJ --31.513 -1.2 Td -(length modi\336ers\).)Tj -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.111 0 Td -(convtype)Tj -/T1_1 1 Tf -5.237 0 Td -[(\336eld )-187(is )-187(similar )-187(to )-187(the )-187(conversion )-187(type )-187(\336eld )-187(used )-187(by )-187(the)]TJ -/TT0 1 Tf -26.253 0 Td -(printf)Tj -/T1_1 1 Tf --35.4 -1.2 Td -(family)Tj -0.3532 Tc 2.743 0 Td -(,b)Tj -0 Tc 1.156 0 Td -[(ut )-103(ther)]TJ -0.3532 Tc 3.046 0 Td -(ea)Tj --0.018 Tc 1.332 0 Td -[(re )-139(s)]TJ -0 Tc 1.633 0 Td -[(ome )-103(dif)18(fer)18(ences. )-353(One)-353(dif)18(fer)18(ence )-103(is )-103(that )-103(r)18(esults )-103(that )-103(ar)]TJ -0.3531 Tc 24.268 0 Td -(es)Tj -0 Tc 1.256 0 Td -[(tor)18(ed )-103(in)]TJ --35.435 -1.2 Td -[(unsigned )-311(types )-311(can )-311(optionally )-311(be )-311(signed )-311(on )-311(input.)-811(For )-311(example,)]TJ -/TT2 1 Tf -31.686 0 Td -(!)Tj -/T1_1 1 Tf -0.5614 Tc (1w)Tj -0 Tc 2.444 0 Td -[(ill )-311(scan )-311(as)]TJ --34.13 -1.2 Td -[(4294967295 )-239(into )-239(an )-239(unsigned )-239(integer)]TJ -0.739 Tc 16.945 0 Td -(.F)Tj -0 Tc 1.545 0 Td -(igur)Tj -0.489 Tc 1.827 0 Td -(e5)Tj -0 Tc 1.468 0 Td -[(.10 )-239(summarizes )-239(the )-239(conversion )-239(types)]TJ --21.785 -1.2 Td -(supported by the)Tj -/TT0 1 Tf -7.832 0 Td -(scanf)Tj -/T1_1 1 Tf -3.25 0 Td -(family of functions.)Tj --9.282 -1.2 Td -[(The )-88(optional)]TJ -/TT0 1 Tf -6.033 0 Td -(m)Tj -/T1_1 1 Tf -0.938 0 Td -[(character )-88(between )-88(the )-88(\336eld )-88(width )-88(and )-88(the )-88(length )-88(modi\336er )-88(is )-88(called)]TJ --8.77 -1.2 Td -(the)Tj -/T1_2 1 Tf -1.784 0 Td -[(assignment-allocation )-147(character)]TJ -/T1_1 1 Tf -0.6466 Tc (.I)Tj -0.3966 Tc 14.183 0 Td -(tc)Tj -0 Tc 1.167 0 Td -[(an )-146(be )-146(used )-146(with )-146(the)]TJ -/TT0 1 Tf -9.634 0 Td -(%c)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -1.846 0 Td -(%s)Tj -/T1_1 1 Tf -0.3965 Tc (,a)Tj -0 Tc 2.346 0 Td -(nd)Tj -/TT0 1 Tf -1.589 0 Td -(%[)Tj -/T1_1 1 Tf -1.596 0 Td -(conversion)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47296 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(188)Tj -/T1_1 1 Tf -3.5 0 Td -[(System )-250(Data )-250(Files )-250(and )-250(Information)]TJ -39.241 0 Td -[(Chapter )-250(6)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 664.2601 Tm -(struct utsname {)Tj -1.2 -1.189 Td -[(char )-600(sysname[];)-2400(/* name of the operating system */)]TJ -0 -1.189 TD -[(char )-600(nodename[];)-1800(/* name of this node */)]TJ -T* -[(char )-600(release[];)-2400(/* current release of operating system */)]TJ -T* -[(char )-600(version[];)-2400(/* current version of this release */)]TJ -0 -1.189 TD -[(char )-600(machine[];)-2400(/* name of hardware type */)]TJ --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 582.0651 Tm -[(Each )-61(string )-61(is )-61(null )-61(terminated.)-560(The )-61(maximum )-61(name )-61(lengths, )-61(including )-61(the )-61(terminating)]TJ -0 -1.2 TD -[(null )-3(byte, )-3(supported )-3(by )-3(the )-3(four )-3(platforms )-3(discussed )-3(in )-3(this )-3(book )-3(ar)]TJ -0.2527 Tc 29.854 0 Td -(el)Tj -0 Tc 1.023 0 Td -[(isted )-3(in )-3(Figur)]TJ -0.2527 Tc 5.892 0 Td -(e6)Tj -0 Tc 1.232 0 Td -(.7.)Tj --38.001 -1.2 Td -[(The )-160(information )-160(in )-160(the)]TJ -/TT0 1 Tf -10.851 0 Td -(utsname)Tj -/T1_1 1 Tf -4.61 0 Td -[(str)8(uctur)]TJ -0.4104 Tc 3.49 0 Td -(ec)Tj -0 Tc 1.333 0 Td -[(an )-160(usually )-160(be )-160(printed )-160(with )-160(the)]TJ -/TT0 1 Tf -14.549 0 Td -(uname)Tj -/T1_1 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj --38.667 -1.24 Td -(command.)Tj -7.9995 0 0 7.9995 183.589 526.0684 Tm -[(POSIX.1 )-142(warns )-142(that )-142(the)]TJ -/TT0 1 Tf -11.092 0 Td -(nodename)Tj -/T1_1 1 Tf -5.192 0 Td -[(element )-142(may )-142(not )-142(be )-142(adequate )-142(to )-142(r)19(efer)18(ence )-142(the )-142(host )-142(on )-142(a)]TJ --16.284 -1.25 Td -[(communications )-97(network.)-597(This )-97(function )-97(is )-97(fr)18(om )-97(System )-97(V)]TJ -0.3473 Tc 26.251 0 Td -(,a)Tj -0 Tc 1.097 0 Td -[(nd )-97(in )-97(older )-97(days, )-97(the)]TJ -/TT0 1 Tf -9.852 0 Td -(nodename)Tj -/T1_1 1 Tf --37.2 -1.25 Td -[(element was adequate for r)18(efer)18(encing the host on a UUCP network.)]TJ -0 -2.125 TD -[(Realize )-274(also )-274(that )-274(the )-274(information )-274(in )-274(this )-274(str)8(uctur)]TJ -0.5241 Tc 23.019 0 Td -(ed)Tj -0 Tc 1.614 0 Td -[(oes )-274(not )-274(give )-274(any )-274(information )-274(on )-274(the)]TJ --24.633 -1.25 Td -[(POSIX.1 level.)-500(This should be obtained using)]TJ -/TT0 1 Tf -20.367 0 Td -(_POSIX_VERSION)Tj -/T1_1 1 Tf -[(,)-250(as)-250(described in Section 2.6.)]TJ --20.367 -2.125 Td -(Finally)Tj -0.4139 Tc 2.956 0 Td -(,t)Tj -0 Tc 0.99 0 Td -[(his )-164(function )-164(gives )-164(us )-164(a )-164(way )-164(only )-164(to )-164(fetch )-164(the )-164(information )-164(in )-164(the )-164(str)10(uctur)18(e; )-164(ther)]TJ -0.4139 Tc 36.446 0 Td -(ei)Tj -0 Tc 1.184 0 Td -(s)Tj --41.576 -1.25 Td -(nothing speci\336ed by POSIX.1 about initializing this information.)Tj -9.9994 0 0 9.9994 147.5904 429.0743 Tm -(Historically)Tj -0.4093 Tc 5.076 0 Td -(,B)Tj -0 Tc 1.27 0 Td -[(SD-derived )-159(systems )-159(pr)17(ovided )-159(the)]TJ -/TT0 1 Tf -15.684 0 Td -(gethostname)Tj -/T1_1 1 Tf -7.009 0 Td -[(function )-159(to )-159(r)17(eturn)]TJ --30.84 -1.2 Td -[(only )-170(the )-170(name )-170(of )-170(the )-170(host.)-669(This )-170(name )-170(is )-170(usually )-170(the )-170(name )-170(of )-170(the )-170(host )-170(on )-170(a )-170(TCP/IP)]TJ -0 -1.2 TD -(network.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5907 385.9768 Tm -(#include )Tj -0 -2.021 TD -(int gethostname\(char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 17.167 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(namelen)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -7.884 -2.021 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3451.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 329.1805 Tm -(The)Tj -/T1_2 1 Tf -1.942 0 Td -(namelen)Tj -/T1_1 1 Tf -3.658 0 Td -[(ar)18(gument )-18(speci\336es )-18(the )-18(size )-18(of )-18(the)]TJ -/T1_2 1 Tf -15.009 0 Td -(name)Tj -/T1_1 1 Tf -2.435 0 Td -[(buf)18(fer)]TJ -0.5181 Tc 2.604 0 Td -(.I)Tj -0.2681 Tc 1.105 0 Td -(fe)Tj -0 Tc 1.08 0 Td -[(nough )-18(space )-18(is )-18(pr)18(ovided,)]TJ --27.833 -1.2 Td -[(the )-132(string )-132(r)18(eturned )-132(thr)18(ough)]TJ -/T1_2 1 Tf -12.913 0 Td -(name)Tj -/T1_1 1 Tf -2.549 0 Td -[(is )-132(null )-132(terminated.)-632(If )-132(insuf)18(\336cient )-132(r)18(oom )-132(is )-132(pr)18(ovided,)]TJ --15.462 -1.2 Td -[(however)74(,)-250(it)-250(is)-250(unspeci\336ed whether the string is null terminated.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -1.938 0 Td -(gethostname)Tj -/T1_1 1 Tf -6.864 0 Td -[(function, )-14(which )-14(is )-14(now )-14(de\336ned )-14(as )-14(part )-14(of )-14(POSIX.1, )-14(speci\336es )-14(that)]TJ --10.602 -1.2 Td -[(the )-352(maximum )-352(host )-352(name )-352(length )-352(is)]TJ -/TT0 1 Tf -17.411 0 Td -(HOST_NAME_MAX)Tj -/T1_1 1 Tf -0.852 Tc (.F)Tj -0 Tc 9.458 0 Td -(igur)Tj -0.602 Tc 1.827 0 Td -(e6)Tj -0 Tc 1.581 0 Td -[(.7 )-352(summarizes )-352(the)]TJ --30.277 -1.2 Td -[(maximum name lengths supported by the four implementations cover)18(ed in this book.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2003.25 2502.25 cm -0 0 m -2486 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 315.4152 242.1764 Tm -(Maximum name length)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2631.25 2382.25 cm -0 0 m -1858 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 271.3149 230.1648 Tm -[(Fr)18(eeBSD )-2416(Linux)-2382(Mac OS X)-2198(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-3993(3.2.0)-3618(10.6.8 )-3868(10)]TJ --8.297 1.375 Td -(Interface)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2003.25 2162.25 cm -0 0 m -2486 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2003.25 2142.25 cm -0 0 m -2486 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 204.2507 206.1581 Tm -(uname)Tj -/T1_1 1 Tf -9.534 0 Td -[(256 )-4368(65 )-4368(256)-4368(257)]TJ -/TT0 1 Tf --9.534 -1.25 Td -(gethostname)Tj -/T1_1 1 Tf -9.534 0 Td -[(256 )-4368(64 )-4368(256)-4368(256)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2003.25 1922.25 cm -0 0 m -2486 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4039.25 1922.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3570.25 1922.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3100.25 1922.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2631.25 1922.25 cm -0 0 m -0 580 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4489.25 1922.25 cm -0 0 m -0 580 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2003.25 1922.25 cm -0 0 m -0 580 l -S -Q -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 244.6639 174.1573 Tm -(Figure 6.7)Tj -/T1_1 1 Tf -5.195 0 Td -(System identi\336cation name limits)Tj -9.9964 0 0 9.9964 147.5471 150.1659 Tm -[(If )-104(the )-104(host )-104(is )-104(connected )-104(to )-104(a )-104(TCP/IP )-104(network, )-104(the )-104(host )-104(name )-104(is )-104(normally )-104(the )-104(fully)]TJ --1.8 -1.2 Td -(quali\336ed domain name of the host.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47297 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(930)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 160.2404 668.9599 Tm -[(The )-84(r)18(esults )-84(depend )-84(on )-84(the )-84(platform.)-584(Recall )-84(that)]TJ -/TT0 1 Tf -21.928 0 Td -(daemonize)Tj -/T1_1 1 Tf -5.734 0 Td -[(closes )-84(all )-84(open )-84(\336le)]TJ --27.661 -1.2 Td -[(descriptors )-66(and )-66(then )-66(r)18(eopens )-66(the )-66(\336rst )-66(thr)18(ee )-66(to)]TJ -/TT0 1 Tf -20.87 0 Td -(/dev/null)Tj -/T1_1 1 Tf -0.5665 Tc (.T)Tj -0 Tc 6.829 0 Td -[(his )-66(means )-66(that )-66(the)]TJ --27.699 -1.2 Td -[(pr)18(ocess )-38(won\325t )-38(have )-38(a )-38(contr)18(olling )-38(terminal, )-38(so)]TJ -/TT0 1 Tf -20.302 0 Td -(getlogin)Tj -/T1_1 1 Tf -5.088 0 Td -[(won\325t )-38(be )-38(able )-38(to )-38(look )-38(in)]TJ --25.39 -1.2 Td -(the)Tj -/TT0 1 Tf -1.744 0 Td -(utmp)Tj -/T1_1 1 Tf -2.757 0 Td -[(\336le )-107(for )-107(the )-107(pr)18(ocess\325s )-107(login )-107(entry)]TJ -0.6074 Tc 14.313 0 Td -(.T)Tj -0 Tc 1.47 0 Td -[(hus, )-107(on )-107(Linux )-107(3.2.0 )-107(and )-107(Solaris )-107(10,)]TJ --20.285 -1.2 Td -(we \336nd that a daemon has no login name.)Tj -0 -1.8 TD -[(Under )-43(Fr)18(eeBSD )-43(8.0 )-43(and )-43(Mac )-43(OS )-43(X )-43(10.6.8, )-43(however)]TJ -0.2934 Tc 22.361 0 Td -(,t)Tj -0 Tc 0.869 0 Td -[(he )-43(login )-43(name )-43(is )-43(maintained)]TJ --23.23 -1.2 Td -[(in )-88(the )-88(pr)18(ocess )-88(table )-88(and )-88(copied )-88(acr)18(oss )-88(a)]TJ -/TT0 1 Tf -18.287 0 Td -(fork)Tj -/T1_1 1 Tf -0.5879 Tc (.T)Tj -0 Tc 3.851 0 Td -[(his )-88(means )-88(that )-88(the )-88(pr)18(ocess )-88(can)]TJ --22.138 -1.2 Td -[(always )-17(get )-17(the )-17(login )-17(name, )-17(unless )-17(the )-17(par)17(ent )-17(didn\325t )-17(have )-17(one )-17(to )-17(start )-17(out )-17(\(such )-17(as)]TJ -/TT0 1 Tf -0 -1.2 TD -(init)Tj -/T1_1 1 Tf -2.65 0 Td -(when the system is bootstrapped\).)Tj -/TT1 1 Tf --9.315 -3.36 Td -[(Chapter )-278(14)]TJ -/T1_0 1 Tf -3.6 -2.8 Td -(14.1)Tj -/T1_1 1 Tf -3.065 0 Td -[(The test pr)18(ogram is shown in Figur)]TJ -0.25 Tc 15.526 0 Td -(eC)Tj -0 Tc 1.438 0 Td -(.15.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 4982.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 4982.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 160.2308 488.6404 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -2.14 TD -(void)Tj -0 -1.189 TD -(sigint\(int signo\))Tj -T* -({)Tj -T* -(})Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(pid_t pid1, pid2, pid3;)Tj -0 -1.189 TD -(int fd;)Tj -0 -2.14 TD -(setbuf\(stdout, NULL\);)Tj -0 -1.189 TD -(signal_intr\(SIGINT, sigint\);)Tj -0 -2.14 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(reate a file.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(\(fd = open\("lockfile", O_RDWR|O_CREAT, 0666\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t open/create lockfile"\);)Tj --2.4 -2.14 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*R)Tj -0 Tc 1.8 0 Td -(ead-lock the file.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(\(pid1 = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork failed"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid1 == 0\) { /* child */)Tj -0.6 -1.189 Td -(if \(lock_reg\(fd, F_SETLK, F_RDLCK, 0, SEEK_SET, 0\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("child 1: can\325t read-lock file"\);)Tj --2.4 -1.189 Td -(printf\("child 1: obtained read lock on file\\n"\);)Tj -0 -1.189 TD -(pause\(\);)Tj -T* -(printf\("child 1: exit after pause\\n"\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47298 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.20)]TJ -/TT0 1 Tf -21.486 0 Td -(futimens)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -5.55 0 Td -(utimensat)Tj -/T1_0 1 Tf -0.5 Tc (,a)Tj -0 Tc 6.65 0 Td -(nd)Tj -/TT0 1 Tf -1.693 0 Td -(utimes)Tj -/T1_0 1 Tf -4.1 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(127)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -0.883 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245I)Tj -0 Tc 1.826 0 Td -(f)Tj -/T1_2 1 Tf -0.688 0 Td -(times)Tj -/T1_0 1 Tf -2.522 0 Td -[(is )-105(a )-105(non-null )-105(pointer )-105(and )-105(both)]TJ -/TT0 1 Tf -14.074 0 Td -(tv_nsec)Tj -/T1_0 1 Tf -4.555 0 Td -[(\336elds )-105(ar)]TJ -0.3547 Tc 3.642 0 Td -(es)Tj -0 Tc 1.258 0 Td -[(et )-105(to)]TJ -/TT0 1 Tf -2.386 0 Td -(UTIME_OMIT)Tj -/T1_0 1 Tf -(,)Tj --29.461 -1.2 Td -(no permissions checks ar)Tj -0.25 Tc 11.024 0 Td -(ep)Tj -0 Tc 1.33 0 Td -(erformed.)Tj --0.055 Tc -13.843 -2.04 Td -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj -/TT0 1 Tf -1.314 0 Td -(futimens)Tj -/T1_0 1 Tf -0.4057 Tc (,y)Tj -0 Tc 6.012 0 Td -[(ou )-156(need )-156(to )-156(open )-156(the )-156(\336le )-156(to )-156(change )-156(its )-156(times.)-654(The)]TJ -/TT0 1 Tf -23.239 0 Td -(utimensat)Tj -/T1_0 1 Tf --33.6 -1.2 Td -[(function )-145(pr)18(ovides )-145(a )-145(way )-145(to )-145(change )-145(a )-145(\336le\325s )-145(times )-145(using )-145(the )-145(\336le\325s )-145(name.)-646(The)]TJ -/T1_2 1 Tf -35.056 0 Td -(pathname)Tj -/T1_0 1 Tf --35.056 -1.2 Td -[(ar)18(gument )-42(is )-42(evaluated )-42(r)18(elative )-42(to )-42(the)]TJ -/T1_2 1 Tf -16.692 0 Td -(fd)Tj -/T1_0 1 Tf -1.07 0 Td -[(ar)18(gument, )-42(which )-42(is )-42(either )-42(a )-42(\336le )-42(descriptor )-42(of )-42(an)]TJ --17.762 -1.2 Td -[(open )-32(dir)18(ectory )-32(or )-32(the )-32(special )-32(value)]TJ -/TT0 1 Tf -15.72 0 Td -(AT_FDCWD)Tj -/T1_0 1 Tf -5.082 0 Td -[(to )-32(for)18(ce )-32(evaluation )-32(r)18(elative )-32(to )-32(the )-32(curr)19(ent)]TJ --20.802 -1.2 Td -[(dir)18(ectory )-54(of )-54(the )-54(calling )-54(pr)17(ocess. )-304(If)]TJ -/T1_2 1 Tf -15.537 0 Td -(pathname)Tj -/T1_0 1 Tf -4.248 0 Td -[(speci\336es )-54(an )-54(absolute )-54(pathname, )-54(then )-54(the)]TJ -/T1_2 1 Tf -18.436 0 Td -(fd)Tj -/T1_0 1 Tf --38.222 -1.2 Td -[(ar)18(gument is ignor)18(ed.)]TJ -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.261 0 Td -(\337ag)Tj -/T1_0 1 Tf -2.076 0 Td -[(ar)18(gument )-337(to)]TJ -/TT0 1 Tf -6.353 0 Td -(utimensat)Tj -/T1_0 1 Tf -5.987 0 Td -[(can )-337(be )-337(used )-337(to )-337(further )-337(modify )-337(the )-337(default)]TJ --18.478 -1.2 Td -(behavior)Tj -0.528 Tc 3.837 0 Td -(.I)Tj -0.278 Tc 1.115 0 Td -(ft)Tj -0 Tc 0.937 0 Td -(he)Tj -/TT0 1 Tf -1.339 0 Td -(AT_SYMLINK_NOFOLLOW)Tj -/T1_0 1 Tf -11.678 0 Td -[(\337ag )-28(is )-28(set, )-28(then )-28(the )-28(times )-28(of )-28(the )-28(symbolic )-28(link)]TJ --18.906 -1.2 Td -[(itself )-32(ar)]TJ -0.2823 Tc 3.303 0 Td -(ec)Tj -0 Tc 1.205 0 Td -[(hanged )-32(\(if )-32(the )-32(pathname )-32(r)18(efers )-32(to )-32(a )-32(symbolic )-32(link\).)-535(The )-32(default )-32(behavior )-32(is )-32(to)]TJ --4.509 -1.2 Td -[(follow a symbolic link and modify the times of the \336le to which the l\ ink r)18(efers.)]TJ -1.8 -1.2 Td -(Both)Tj -/TT0 1 Tf -2.666 0 Td -(futimens)Tj -/T1_0 1 Tf -5.401 0 Td -(and)Tj -/TT0 1 Tf -2.294 0 Td -(utimensat)Tj -/T1_0 1 Tf -6.001 0 Td -(ar)Tj -0.601 Tc 0.877 0 Td -(ei)Tj -0 Tc 1.371 0 Td -[(ncluded )-351(in )-351(POSIX.1.)]TJ -0.601 Tc 10.466 0 Td -(At)Tj -0 Tc 1.705 0 Td -(hir)Tj -0.601 Tc 1.25 0 Td -(df)Tj -0 Tc 1.545 0 Td -(unction,)Tj -/TT0 1 Tf --35.376 -1.2 Td -(utimes)Tj -/T1_0 1 Tf -[(,)-250(is)-250(included in the Single UNIX Speci\336cation as part of the XSI option.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5897 487.8707 Tm -(#include )Tj -0 -1.902 TD -(int utimes\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 19.544 0 Td -(onst struct timeval)Tj -/T1_2 1 Tf -12 0 Td -(times[2])Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --4.693 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4491.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 435.6077 Tm -(The)Tj -/TT0 1 Tf -2.015 0 Td -(utimes)Tj -/T1_0 1 Tf -3.941 0 Td -[(function )-91(operates )-91(on )-91(a )-91(pathname.)-591(The)]TJ -/T1_2 1 Tf -17.759 0 Td -(times)Tj -/T1_0 1 Tf -2.508 0 Td -[(ar)18(gument )-91(is )-91(a )-91(pointer )-91(to)]TJ --28.023 -1.2 Td -[(an )-424(array )-424(of )-424(two )-424(timestamps)]TJ -0.0833 Tc 13.931 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -[(ccess )-424(time )-424(and )-424(modi\336cation )-424(time)]TJ -0.0833 Tc 16.272 0 Td -(\321b)Tj -0 Tc 1.636 0 Td -[(ut )-424(they )-424(ar)17(e)]TJ --33.423 -1.2 Td -[(expr)18(essed in seconds and micr)18(oseconds:)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5822 392.7727 Tm -(struct timeval {)Tj -4.8 -1.189 Td -[(time_t tv_sec;)-2400(/* seconds */)]TJ -0 -1.189 TD -[(long )-1200(tv_usec; )-1200(/*)-600(microseconds */)]TJ --4.8 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5822 340.5391 Tm -[(Note )-507(that )-507(we )-507(ar)]TJ -0.7574 Tc 8.379 0 Td -(eu)Tj -0 Tc 1.839 0 Td -[(nable )-507(to )-507(specify )-507(a )-507(value )-507(for )-507(the )-507(changed-status )-507(time,)]TJ -/TT0 1 Tf --12.018 -1.2 Td -(st_ctim)Tj -/T1_0 1 Tf -[(\321the )-18(time )-18(the )-18(i-node )-18(was )-18(last )-18(changed)]TJ -0.0833 Tc 21.54 0 Td -(\321a)Tj -0.2681 Tc 1.583 0 Td -(st)Tj -0 Tc 1.018 0 Td -[(his )-18(\336eld )-18(is )-18(automatically )-18(updated)]TJ --24.141 -1.2 Td -(when the)Tj -/TT0 1 Tf -4.364 0 Td -(utime)Tj -/T1_0 1 Tf -3.25 0 Td -(function is called.)Tj --5.814 -1.2 Td -[(On )-116(some )-116(versions )-116(of )-116(the )-116(UNIX )-116(System, )-116(the)]TJ -/TT0 1 Tf -20.047 0 Td -(touch)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.699 -0.04 Td -[(command )-116(uses )-116(one )-116(of )-116(these)]TJ --26.379 -1.2 Td -[(functions. )-446(Also,)-446(the )-196(standar)]TJ -0.4461 Tc 12.965 0 Td -(da)Tj --0.018 Tc 1.557 0 Td -(rc)Tj -0 Tc 0.821 0 Td -[(hive )-196(pr)18(ograms,)]TJ -/TT0 1 Tf -7.341 0 Td -(tar)Tj -/T1_0 1 Tf -1.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.779 -0.04 Td -(and)Tj -/TT0 1 Tf -2.139 0 Td -(cpio)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.4461 Tc 0.333 -0.04 Td -(,o)Tj -0 Tc 1.242 0 Td -[(ptionally )-196(call)]TJ --33.044 -1.2 Td -[(these functions to set a \336le\325s times to the time values saved when\ the \336le was ar)18(chived.)]TJ -/TT2 1 Tf --3.6 -2.64 Td -(Example)Tj -/T1_0 1 Tf -3.6 -1.92 Td -[(The )-174(pr)18(ogram )-174(shown )-174(in )-174(Figur)]TJ -0.424 Tc 13.452 0 Td -(e4)Tj -0 Tc 1.403 0 Td -[(.21 )-174(tr)8(uncates )-174(\336les )-174(to )-174(zer)]TJ -0.424 Tc 11.044 0 Td -(ol)Tj -0 Tc 1.261 0 Td -[(ength )-174(using )-174(the)]TJ -/TT0 1 Tf -7.64 0 Td -(O_TRUNC)Tj -/T1_0 1 Tf --34.8 -1.2 Td -[(option )-20(of )-20(the)]TJ -/TT0 1 Tf -5.969 0 Td -(open)Tj -/T1_0 1 Tf -2.67 0 Td -[(function, )-20(but )-20(does )-20(not )-20(change )-20(their )-20(access )-20(time )-20(or )-20(modi\336cation )-20(time.)]TJ --0.092 Tc -8.639 -1.2 Td -[(To )-203(d)]TJ -0.2691 Tc 1.947 0 Td -(ot)Tj -0 Tc 1.141 0 Td -[(his, )-19(the )-19(pr)18(ogram )-19(\336rst )-19(obtains )-19(the )-19(times )-19(with )-19(the)]TJ -/TT0 1 Tf -21.396 0 Td -(stat)Tj -/T1_0 1 Tf -2.669 0 Td -[(function, )-19(tr)8(uncates )-19(the )-19(\336le,)]TJ --27.153 -1.2 Td -[(and then r)18(esets the times with the)]TJ -/TT0 1 Tf -15.131 0 Td -(futimens)Tj -/T1_0 1 Tf -5.05 0 Td -(function.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1918.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 182.2462 Tm -(#include "apue.h")Tj -T* -(#include )Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47299 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(128)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -({)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -[(i,)-600(fd;)]TJ --9.6 -1.189 Td -[(struct stat)-3000(statbuf;)]TJ -0 -1.189 TD -(struct timespec times[2];)Tj -0 -2.14 TD -(for \(i = 1; i < argc; i++\) {)Tj -2.4 -1.189 Td -[(if \(stat\(argv[i], &statbuf\) < 0\) {)-1200(/* fetch current times */)]TJ -2.4 -1.189 Td -(err_ret\("%s: stat error", argv[i]\);)Tj -0 -1.189 TD -(continue;)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(\(fd = open\(argv[i], O_RDWR | O_TRUNC\)\) < 0\) { /* truncate */)Tj -2.4 -1.189 Td -(err_ret\("%s: open error", argv[i]\);)Tj -T* -(continue;)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(times[0] = statbuf.st_atim;)Tj -0 -1.189 TD -(times[1] = statbuf.st_mtim;)Tj -T* -[(if \(futimens\(fd, times\) < 0\))-4800(/* reset times */)]TJ -2.4 -1.189 Td -(err_ret\("%s: futimens error", argv[i]\);)Tj --2.4 -1.189 Td -(close\(fd\);)Tj --2.4 -1.189 Td -(})Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4429.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 245.7225 426.8878 Tm -(Figure 4.21)Tj -/T1_1 1 Tf -5.695 0 Td -(Example of)Tj -/TT0 1 Tf -5.26 0 Td -(futimens)Tj -/T1_1 1 Tf -5.05 0 Td -(function)Tj --0.092 Tc 9.9988 0 0 9.9988 129.5847 398.0912 Tm -[(We )-185(c)]TJ -0 Tc 2.082 0 Td -[(an )-1(demonstrate )-1(the )-1(pr)18(ogram )-1(in )-1(Figur)]TJ -0.2509 Tc 16.388 0 Td -(e4)Tj -0 Tc 1.23 0 Td -[(.21 )-1(on )-1(Linux )-1(with )-1(the )-1(following )-1(commands:)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5825 378.9935 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l changemod times)Tj -/T1_2 1 Tf -18 0 Td -(look at sizes and last-modi\336cation times)Tj -/TT0 1 Tf --19.2 -1.189 Td -[(-rwxr-xr-x )-600(1)-600(sar )-1200(13792)-600(Jan 22 01:26 changemod)]TJ -T* -[(-rwxr-xr-x )-600(1)-600(sar )-1200(13824)-600(Jan 22 01:26 times)]TJ -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -lu changemod times)Tj -/T1_2 1 Tf -18 0 Td -(look at last-access times)Tj -/TT0 1 Tf --19.2 -1.189 Td -[(-rwxr-xr-x )-600(1)-600(sar )-1200(13792)-600(Jan 22 22:22 changemod)]TJ -0 -1.189 TD -[(-rwxr-xr-x )-600(1)-600(sar )-1200(13824)-600(Jan 22 22:22 times)]TJ -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(date)Tj -/T1_2 1 Tf -18 0 Td -(print today\325)Tj -0.25 Tc 4.75 0 Td -(sd)Tj -0 Tc 1.139 0 Td -(ate)Tj -/TT0 1 Tf --25.089 -1.189 Td -(Fri Jan 27 20:53:46 EST 2012)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out changemod times)Tj -/T1_2 1 Tf -18 0 Td -[(run the pr)18(ogram in Figur)]TJ -0.25 Tc 10.244 0 Td -(e4)Tj -0 Tc 1.139 0 Td -(.21)Tj -/TT0 1 Tf --30.583 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l changemod times)Tj -/T1_2 1 Tf -18 0 Td -[(and check the r)18(esults)]TJ -/TT0 1 Tf --19.2 -1.189 Td -[(-rwxr-xr-x )-600(1)-600(sar )-3600(0)-600(Jan 22 01:26 changemod)]TJ -T* -[(-rwxr-xr-x )-600(1)-600(sar )-3600(0)-600(Jan 22 01:26 times)]TJ -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -lu changemod times)Tj -/T1_2 1 Tf -18 0 Td -(check the last-access times also)Tj -/TT0 1 Tf --19.2 -1.189 Td -[(-rwxr-xr-x )-600(1)-600(sar )-3600(0)-600(Jan 22 22:22 changemod)]TJ -0 -1.189 TD -[(-rwxr-xr-x )-600(1)-600(sar )-3600(0)-600(Jan 22 22:22 times)]TJ -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -lc changemod times)Tj -/T1_2 1 Tf -18 0 Td -(and the changed-status times)Tj -/TT0 1 Tf --19.2 -1.189 Td -[(-rwxr-xr-x )-600(1)-600(sar )-3600(0)-600(Jan 27 20:53 changemod)]TJ -T* -[(-rwxr-xr-x )-600(1)-600(sar )-3600(0)-600(Jan 27 20:53 times)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5851 176.7178 Tm -[(As )-214(we )-214(would )-214(expect, )-214(the )-214(last-modi\336cation )-214(times )-214(and )-214(the )-214(last-access )-214(times )-214(have )-214(not)]TJ -0 -1.2 TD -[(changed. )-585(The)-585(changed-status )-335(times, )-335(however)]TJ -0.5849 Tc 21.417 0 Td -(,h)Tj -0 Tc 1.417 0 Td -[(ave )-335(changed )-335(to )-335(the )-335(time )-335(that )-335(the)]TJ --22.833 -1.2 Td -[(pr)18(ogram was r)8(un.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1527.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47300 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(192)Tj -/T1_1 1 Tf -3.5 0 Td -[(System )-250(Data )-250(Files )-250(and )-250(Information)]TJ -39.241 0 Td -[(Chapter )-250(6)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -1.902 TD -(struct tm *gmtime\(const time_t *)Tj -/T1_2 1 Tf -(calptr)Tj -/TT0 1 Tf -(\);)Tj -T* -(struct tm *localtime\(const time_t *)Tj -/T1_2 1 Tf -(calptr)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -14.216 -1.902 Td -[(Both r)18(eturn: pointer to br)18(oken-down time,)]TJ -/TT0 1 Tf -18.897 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6024.25 cm -0 0 m -0 649 l -3900 649 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 588.8693 Tm -[(The )-81(dif)18(fer)18(ence )-81(between)]TJ -/TT0 1 Tf -10.79 0 Td -(localtime)Tj -/T1_1 1 Tf -5.731 0 Td -(and)Tj -/TT0 1 Tf -2.024 0 Td -(gmtime)Tj -/T1_1 1 Tf -3.931 0 Td -[(is )-81(that )-81(the )-81(\336rst )-81(converts )-81(the )-81(calendar)]TJ --22.476 -1.2 Td -[(time )-57(to )-57(the )-57(local )-57(time, )-57(taking )-57(into )-57(account )-57(the )-57(local )-57(time )-57(zone )-57(and )-57(daylight )-57(saving )-57(time)]TJ -0 -1.2 TD -[(\337ag, )-97(wher)18(eas )-97(the )-97(latter )-97(converts )-97(the )-97(calendar )-97(time )-97(into )-97(a )-97(br)18(oken-down )-97(time )-97(expr)17(essed)]TJ -0 -1.2 Td -(as UTC.)Tj -1.8 -1.2 Td -[(The )-200(function)]TJ -/TT0 1 Tf -6.281 0 Td -(mktime)Tj -/T1_1 1 Tf -4.05 0 Td -[(takes )-200(a )-200(br)18(oken-down )-200(time, )-200(expr)18(essed )-200(as )-200(a )-200(local )-200(time, )-200(and)]TJ --12.131 -1.2 Td -(converts it into a)Tj -/TT0 1 Tf -7.623 0 Td -(time_t)Tj -/T1_1 1 Tf -3.85 0 Td -(value.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5821 512.1785 Tm -(#include )Tj -0 -1.902 TD -(time_t mktime\(struct tm *)Tj -/T1_2 1 Tf -(tmptr)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -21.32 -1.902 Td -(Returns: calendar time if OK,)Tj -/TT1 1 Tf -13.144 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4735.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 147.5734 459.9172 Tm -(The)Tj -/TT0 1 Tf -1.936 0 Td -(strftime)Tj -/T1_1 1 Tf -5.061 0 Td -[(function )-11(is )-11(a)]TJ -/TT0 1 Tf -5.706 0 Td -(printf)Tj -/T1_1 1 Tf -[(-like )-11(function )-11(for )-11(time )-11(values.)-511(It )-11(is )-11(complicated)]TJ --14.504 -1.2 Td -[(by the multitude of ar)18(guments available to customize the string it pr)18(oduces.)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.5731 431.2224 Tm -(#include )Tj -T* -(size_t strftime\(char *restrict)Tj -/T1_2 1 Tf -18.6 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(maxsize)Tj -/TT0 1 Tf -(,)Tj --15.697 -1.189 Td -(const char *restrict)Tj -/T1_2 1 Tf -12.6 0 Td -(format)Tj -/TT0 1 Tf -(,)Tj --12.6 -1.189 Td -(const struct tm *restrict)Tj -/T1_2 1 Tf -15.6 0 Td -(tmptr)Tj -/TT0 1 Tf -(\);)Tj --25.2 -1.902 Td -(size_t strftime_l\(char *restrict)Tj -/T1_2 1 Tf -19.8 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(maxsize)Tj -/TT0 1 Tf -(,)Tj --16.897 -1.189 Td -(const char *restrict)Tj -/T1_2 1 Tf -12.6 0 Td -(format)Tj -/TT0 1 Tf -(,)Tj --12.6 -1.189 Td -(const struct tm *restrict)Tj -/T1_2 1 Tf -15.6 0 Td -(tmptr)Tj -/TT0 1 Tf -0.6 Tc (,l)Tj -0 Tc 4.133 0 Td -(ocale_t)Tj -/T1_2 1 Tf -4.8 0 Td -(locale)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --25.554 -1.902 Td -[(Both r)18(eturn: number of characters stor)18(ed in array if r)18(oom, 0 otherwise)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3326.25 cm -0 0 m -0 1077 l -3900 1077 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.09 Tc 7.9981 0 0 7.9981 183.5559 311.0653 Tm -(Tw)Tj -0.336 Tc 1.357 0 Td -(oo)Tj -0 Tc 1.428 0 Td -[(lder )-86(functions,)]TJ -/TT0 1 Tf -6.829 0 Td -(asctime)Tj -/T1_1 1 Tf -4.536 0 Td -(and)Tj -/TT0 1 Tf -2.029 0 Td -(ctime)Tj -/T1_1 1 Tf -0.336 Tc (,c)Tj -0 Tc 4.03 0 Td -[(an )-86(be )-86(used )-86(to )-86(pr)18(oduce )-86(a )-86(26)]TJ -12.28 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-86(printable )-86(string)]TJ --32.822 -1.25 Td -[(similar )-188(to )-188(the )-188(default )-188(output )-188(of )-188(the)]TJ -/TT0 1 Tf -16.812 0 Td -(date)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.771 -0.04 Td -[(command. )-438(However)]TJ -0.4379 Tc 9.443 0 Td -(,t)Tj -0 Tc 1.014 0 Td -[(hese )-188(functions )-188(ar)]TJ -0.4379 Tc 7.848 0 Td -(en)Tj -0 Tc 1.499 0 Td -(ow)Tj --40.62 -1.25 Td -(marked obsolescent, because they ar)Tj -0.25 Tc 16.07 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(usceptible to buf)18(fer over\337ow pr)18(oblems.)]TJ -9.9976 0 0 9.9976 129.5692 270.0752 Tm -(The)Tj -/TT0 1 Tf -1.988 0 Td -(strftime)Tj -/T1_1 1 Tf -5.114 0 Td -(and)Tj -/TT0 1 Tf -2.007 0 Td -(strftime_l)Tj -/T1_1 1 Tf -6.314 0 Td -[(functions )-64(ar)]TJ -0.3143 Tc 5.322 0 Td -(et)Tj -0 Tc 1.119 0 Td -[(he )-64(same, )-64(except )-64(that )-64(the)]TJ -/TT0 1 Tf -11.134 0 Td -(strftime_l)Tj -/T1_1 1 Tf --33 -1.2 Td -[(function )-34(allows )-34(the )-34(caller )-34(to )-34(specify )-34(the )-34(locale )-34(as )-34(an )-34(ar)20(gument. )-284(The)]TJ -/TT0 1 Tf -30.21 0 Td -(strftime)Tj -/T1_1 1 Tf -5.084 0 Td -(function)Tj --35.293 -1.2 Td -(uses the locale speci\336ed by the)Tj -/TT0 1 Tf -13.798 0 Td -(TZ)Tj -/T1_1 1 Tf -1.45 0 Td -[(envir)18(onment variable.)]TJ --13.448 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.987 0 Td -(tmptr)Tj -/T1_1 1 Tf -2.646 0 Td -[(ar)18(gument )-63(is )-63(the )-63(time )-63(value )-63(to )-63(format, )-63(speci\336ed )-63(by )-63(a )-63(pointer )-63(to )-63(a )-63(br)12(oken-)]TJ --6.434 -1.2 Td -[(down )-87(time )-87(value.)-587(The )-87(formatted )-87(r)18(esult )-87(is )-87(stor)18(ed )-87(in )-87(the )-87(array)]TJ -/T1_2 1 Tf -27.857 0 Td -(buf)Tj -/T1_1 1 Tf -1.634 0 Td -[(whose )-87(size )-87(is)]TJ -/T1_2 1 Tf -6.286 0 Td -(maxsize)Tj -/T1_1 1 Tf --35.778 -1.2 Td -[(characters. )-422(If)-422(the )-172(size )-172(of )-172(the )-172(r)18(esult, )-172(including )-172(the )-172(terminating )-172(null, )-172(\336ts )-172(in )-172(the )-172(buf)17(fer)74(,)]TJ -0 -1.2 TD -[(these )-34(functions )-34(r)18(eturn )-34(the )-34(number )-34(of )-34(characters )-34(stor)18(ed )-34(in)]TJ -/T1_2 1 Tf -25.629 0 Td -(buf)Tj -/T1_1 1 Tf -0.2844 Tc (,e)Tj -0 Tc 2.31 0 Td -[(xcluding )-34(the )-34(terminating)]TJ --27.939 -1.2 Td -[(null. )-250(Otherwise,)-250(these functions r)18(eturn 0.)]TJ -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.073 0 Td -(format)Tj -/T1_1 1 Tf -3.065 0 Td -[(ar)18(gument )-149(contr)18(ols )-149(the )-149(formatting )-149(of )-149(the )-149(time )-149(value.)-649(Like )-149(the)]TJ -/TT0 1 Tf -28.462 0 Td -(printf)Tj -/T1_1 1 Tf --35.4 -1.2 Td -[(functions, )-305(conversion )-305(speci\336ers )-305(ar)]TJ -0.5549 Tc 15.919 0 Td -(eg)Tj -0 Tc 1.59 0 Td -[(iven )-305(as )-305(a )-305(per)18(cent )-305(sign )-305(followed )-305(by )-305(a )-305(special)]TJ --17.509 -1.2 Td -(character)Tj -0.5035 Tc 3.991 0 Td -(.A)Tj -0 Tc 1.531 0 Td -[(ll )-3(other )-3(characters )-3(in )-3(the)]TJ -/T1_2 1 Tf -10.927 0 Td -(format)Tj -/T1_1 1 Tf -2.919 0 Td -[(string )-3(ar)]TJ -0.2535 Tc 3.704 0 Td -(ec)Tj -0 Tc 1.176 0 Td -[(opied )-3(to )-3(the )-3(output.)]TJ --0.09 Tc 9.306 0 Td -(Tw)Tj -0.2535 Tc 1.357 0 Td -(op)Tj -0 Tc 1.401 0 Td -[(er)18(cent)]TJ --36.313 -1.2 Td -[(signs )-307(in )-307(a )-307(r)18(ow )-307(generate )-307(a )-307(single )-307(per)18(cent )-307(sign )-307(in )-307(the )-307(output.)-812(Unlike )-307(the)]TJ -/TT0 1 Tf -35.4 0 Td -(printf)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47301 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(924)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Chapter )-278(10)]TJ -/T1_0 1 Tf -3.6 -2.8 Td -(10.1)Tj -/T1_1 1 Tf -3.065 0 Td -[(The )-51(pr)18(ogram )-51(terminates )-51(the )-51(\336rst )-51(time )-51(we )-51(send )-51(it )-51(a )-51(signal.)-551(The )-51(r)18(eason )-51(is )-51(that )-51(the)]TJ -/TT1 1 Tf -0 -1.2 TD -(pause)Tj -/T1_1 1 Tf -3.25 0 Td -[(function r)18(eturns whenever a signal is caught.)]TJ -/T1_0 1 Tf --6.315 -1.84 Td -(10.3)Tj -/T1_1 1 Tf -3.065 0 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(eC)Tj -0 Tc 1.438 0 Td -(.1)Tj -0.25 Tc 0.695 0 Td -(1s)Tj -0 Tc 1.174 0 Td -(hows the stack frames.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1878 5286 576 360 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 196.2165 549.774 Tm -(stack frame)Tj -0.583 -1.25 Td -(for)Tj -/TT1 1 Tf -1.524 0 Td -(main)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1878.25 5286.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2454.25 5286.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2598 5286 576 360 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 268.1917 549.741 Tm -(stack frame)Tj -0.583 -1.25 Td -(for)Tj -/TT1 1 Tf -1.524 0 Td -(main)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2598 4926 576 360 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 268.1756 513.7167 Tm -(stack frame)Tj --0.017 -1.25 Td -(for)Tj -/TT1 1 Tf -1.524 0 Td -(sleep2)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2598 4566 576 360 re -S -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 268.1595 477.6967 Tm -(stack frame)Tj --0.317 -1.25 Td -(for)Tj -/TT1 1 Tf -1.524 0 Td -(sig_int)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2598.25 4566.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3174.25 4566.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -3318 5286 576 360 re -S -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 340.1175 549.6421 Tm -(stack frame)Tj -0.583 -1.25 Td -(for)Tj -/TT1 1 Tf -1.524 0 Td -(main)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -3318 4926 576 360 re -S -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 340.0971 513.6242 Tm -(stack frame)Tj --0.017 -1.25 Td -(for)Tj -/TT1 1 Tf -1.524 0 Td -(sleep2)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -3318 4566 576 360 re -S -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 340.0767 477.6107 Tm -(stack frame)Tj --0.317 -1.25 Td -(for)Tj -/TT1 1 Tf -1.524 0 Td -(sig_int)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -3318 4206 576 360 re -S -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 340.0563 441.6015 Tm -(stack frame)Tj --0.617 -1.25 Td -(for)Tj -/TT1 1 Tf -1.524 0 Td -(sig_alrm)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3318.25 4206.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3894.25 4206.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 393 510.6 cm -0 0 m -4.32 -6.048 l -1.008 -7.344 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 3930 5106 cm -0 0 m -43.2 -60.48 l -10.08 -73.44 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3858.01 4386 cm -0 0 m -88.86 122.78 136.7 270.48 136.7 422.05 c -136.7 500.6 123.84 578.63 98.64 653.03 c -S -Q -Q -BT -/TT1 1 Tf -7.9947 0 0 7.9947 397.5375 450.9423 Tm -(longjmp)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -4146 5286 576 360 re -S -Q -BT -/T1_1 1 Tf -7.9942 0 0 7.9942 422.7355 549.4442 Tm -(stack frame)Tj -0.583 -1.25 Td -(for)Tj -/TT1 1 Tf -1.524 0 Td -(main)Tj -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -4146 4926 576 360 re -S -Q -BT -/T1_1 1 Tf -7.9938 0 0 7.9938 422.7101 513.4393 Tm -(stack frame)Tj --0.017 -1.25 Td -(for)Tj -/TT1 1 Tf -1.524 0 Td -(sleep2)Tj -ET -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 4926.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4722.25 4926.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 475.8 546.6 cm -0 0 m -3.456 -6.552 l --0.072 -7.416 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 4758 5466 cm -0 0 m -34.56 -65.52 l --0.72 -74.16 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4686.0098 5106 cm -0 0 m -59.25 66.03 92.02 151.63 92.02 240.35 c -92.02 257.01 90.86 273.66 88.56 290.16 c -S -Q -Q -BT -/T1_1 1 Tf --0.018 Tc 7.9928 0 0 7.9928 481.4305 531.3615 Tm -(re)Tj -0 Tc 0.856 0 Td -(turn to)Tj -/TT1 1 Tf --0.114 -1.25 Td -(main)Tj -/T1_1 1 Tf --41.79 5.3 Td -(bottom)Tj -0.026 -1.25 Td -(of stack)Tj -ET -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 173.4 507 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 1734 5070 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1734.25 5286.25 cm -0 0 m -0 -144 l -S -Q -Q -BT -/T1_1 1 Tf -7.9923 0 0 7.9923 269.4452 581.6813 Tm -[(pr)18(ocessing)]TJ -/TT1 1 Tf -0.562 -1.25 Td -(SIGINT)Tj -/T1_1 1 Tf -8.438 1.25 Td -[(pr)18(ocessing)]TJ -/TT1 1 Tf -0.262 -1.25 Td -(SIGALRM)Tj -/T1_1 1 Tf -11.434 1.25 Td -(after)Tj -/TT1 1 Tf --1.083 -1.25 Td -(longjmp)Tj -/T1_0 1 Tf --22.428 -23.905 Td -[(Figure C.1)37(1)]TJ -/T1_1 1 Tf -5.88 0 Td -(Stack frames befor)Tj -0.25 Tc 8.153 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(nd after)Tj -/TT1 1 Tf -3.726 0 Td -(longjmp)Tj -/T1_1 1 Tf -9.9904 0 0 9.9904 160.0957 351.862 Tm -(The)Tj -/TT1 1 Tf -2.175 0 Td -(longjmp)Tj -/T1_1 1 Tf -4.701 0 Td -[(fr)18(om)]TJ -/TT1 1 Tf -2.64 0 Td -(sig_alrm)Tj -/T1_1 1 Tf -5.301 0 Td -[(back )-251(to)]TJ -/TT1 1 Tf -3.927 0 Td -(sleep2)Tj -/T1_1 1 Tf -4.101 0 Td -[(ef)18(fectively )-251(aborts )-251(the )-251(call )-251(to)]TJ -/TT1 1 Tf --22.844 -1.2 Td -(sig_int)Tj -/T1_1 1 Tf -0.5 Tc (.F)Tj --0.018 Tc 5.506 0 Td -(ro)Tj -0.25 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.459 0 Td -(his point,)Tj -/TT1 1 Tf -4.393 0 Td -(sleep2)Tj -/T1_1 1 Tf --0.018 Tc 3.85 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns to main \(r)18(ecall Figur)]TJ -0.25 Tc 11.556 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(0.8\).)Tj -/T1_0 1 Tf --32.837 -1.84 Td -(10.4)Tj -/T1_1 1 Tf --0.092 Tc 3.065 0 Td -[(We )-218(a)]TJ -0 Tc 2.171 0 Td -[(gain )-34(have )-34(a )-34(race )-34(condition, )-34(this )-34(time )-34(between )-34(the )-34(\336rst )-34(call )-34(to)]TJ -/TT1 1 Tf -27.117 0 Td -(alarm)Tj -/T1_1 1 Tf -3.284 0 Td -[(and )-34(the)]TJ --32.571 -1.2 Td -[(call )-279(to)]TJ -/TT1 1 Tf -3.457 0 Td -(setjmp)Tj -/T1_1 1 Tf -0.7795 Tc (.I)Tj -0.5295 Tc 4.966 0 Td -(ft)Tj -0 Tc 1.189 0 Td -[(he )-279(pr)18(ocess )-280(is )-280(blocked )-280(by )-280(the )-280(kernel )-280(between )-280(these )-280(two)]TJ --9.612 -1.2 Td -[(function )-132(calls, )-132(the )-132(alarm )-132(goes )-132(of)18(f, )-132(the )-132(signal )-132(handler )-132(is )-132(called, )-132(and)]TJ -/TT1 1 Tf -30.638 0 Td -(longjmp)Tj -/T1_1 1 Tf -4.582 0 Td -(is)Tj --35.22 -1.2 Td -[(called. )-300(But)-300(since)]TJ -/TT1 1 Tf -7.775 0 Td -(setjmp)Tj -/T1_1 1 Tf -3.9 0 Td -[(was )-50(never )-50(called, )-50(the )-50(buf)19(fer)]TJ -/TT1 1 Tf -12.688 0 Td -(env_alrm)Tj -/T1_1 1 Tf -5.1 0 Td -[(is )-50(not )-50(set.)-550(The)]TJ --29.463 -1.2 Td -[(operation )-61(of)]TJ -/TT1 1 Tf -5.767 0 Td -(longjmp)Tj -/T1_1 1 Tf -4.511 0 Td -[(is )-61(unde\336ned )-61(if )-61(its )-61(jump )-61(buf)18(fer )-61(has )-61(not )-61(been )-61(initialized )-61(by)]TJ -/TT1 1 Tf --10.278 -1.2 Td -(setjmp)Tj -/T1_1 1 Tf -(.)Tj -/T1_0 1 Tf --3.065 -1.84 Td -(10.5)Tj -/T1_1 1 Tf -3.065 0 Td -[(See )-120(\324)37(\324Implementing )-120(Softwar)]TJ -0.3701 Tc 12.473 0 Td -(eT)Tj -0 Tc 1.407 0 Td -[(imers\325)37(\325)-370(by)-370(Don )-120(Libes )-120(\()]TJ -/T1_2 1 Tf -0.3701 Tc (CU)Tj -0 Tc 11.989 0 Td -[(sers )-120(Journal)]TJ -/T1_1 1 Tf -0.3701 Tc (,v)Tj -0 Tc 6.111 0 Td -[(ol. )-120(8, )-120(no.)]TJ --0.055 Tc -31.98 -1.2 Td -(11)Tj -0.5312 Tc 0.945 0 Td -(,N)Tj -0 Tc 1.612 0 Td -(ov)Tj -0.5312 Tc 1 0 Td -(.1)Tj -0 Tc 1.281 0 Td -[(990\) )-281(for )-281(an )-281(example.)]TJ -0.5311 Tc 10.563 0 Td -(Ac)Tj -0 Tc 1.753 0 Td -[(opy )-281(of )-281(this )-281(paper )-281(is )-281(available )-281(online )-281(at)]TJ -/TT1 1 Tf --17.154 -1.2 Td -(http://www.kohala.com/start/libes.timers.txt)Tj -/T1_1 1 Tf -(.)Tj -/T1_0 1 Tf --3.065 -1.84 Td -(10.7)Tj -/T1_1 1 Tf -3.065 0 Td -[(If )-24(we )-24(simply )-24(called)]TJ -/TT1 1 Tf -8.741 0 Td -(_exit)Tj -/T1_1 1 Tf -0.2741 Tc (,t)Tj -0 Tc 3.85 0 Td -[(he )-24(termination )-24(status )-24(of )-24(the )-24(pr)18(ocess )-24(would )-24(not )-24(show)]TJ --12.591 -1.2 Td -(that it was terminated by the)Tj -/TT1 1 Tf -12.977 0 Td -(SIGABRT)Tj -/T1_1 1 Tf -4.45 0 Td -(signal.)Tj -/T1_0 1 Tf --20.492 -1.84 Td -(10.8)Tj -/T1_1 1 Tf -3.065 0 Td -[(If )-50(the )-50(signal )-50(was )-50(sent )-50(by )-50(a )-50(pr)18(ocess )-50(owned )-50(by )-50(some )-50(other )-50(user)]TJ -0.3002 Tc 27.424 0 Td -(,t)Tj -0 Tc 0.876 0 Td -[(he )-50(pr)18(ocess )-50(has )-50(to)]TJ --28.301 -1.2 Td -[(be )-27(set-user)18(-ID )-27(to )-27(either )-27(r)18(oot )-27(or )-27(to )-27(the )-27(owner )-27(of )-27(the )-27(r)18(eceiving )-27(pr)18(ocess, )-27(or )-27(the)]TJ -/TT1 1 Tf -33.535 0 Td -(kill)Tj -/T1_1 1 Tf --33.535 -1.2 Td -[(attempt )-133(won\325t )-133(work.)-632(Ther)18(efor)18(e, )-133(the )-133(r)18(eal )-133(user )-133(ID )-133(pr)18(ovides )-133(mor)]TJ -0.3827 Tc 28.544 0 Td -(ei)Tj -0 Tc 1.153 0 Td -[(nformation )-133(to)]TJ --29.696 -1.2 Td -[(the r)18(eceiver of the signal.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47302 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.9)]TJ -/TT0 1 Tf -30.886 0 Td -(kill)Tj -/T1_0 1 Tf -2.9 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(raise)Tj -/T1_0 1 Tf -3.5 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(337)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -1.902 TD -(int kill\(pid_t)Tj -/T1_2 1 Tf -9 0 Td -(pid)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.078 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(signo)Tj -/TT0 1 Tf -(\);)Tj --13.878 -1.902 Td -(int raise\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(signo)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -16.851 -1.902 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT1 1 Tf -9.213 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6024.25 cm -0 0 m -0 649 l -3900 649 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 588.8693 Tm -(The call)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 572.1717 Tm -(raise\(signo\);)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 554.1739 Tm -(is equivalent to the call)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 537.4755 Tm -(kill\(getpid\(\), signo\);)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 519.4777 Tm -(Ther)Tj -0.25 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(f)]TJ -0 Tc 1.439 0 Td -[(our dif)18(fer)18(ent conditions for the)]TJ -/T1_2 1 Tf -13.891 0 Td -(pid)Tj -/T1_0 1 Tf -1.528 0 Td -[(ar)18(gument to)]TJ -/TT0 1 Tf -5.678 0 Td -(kill)Tj -/T1_0 1 Tf -(.)Tj -/T1_2 1 Tf --25.816 -2.16 Td -(pid)Tj -/TT0 1 Tf -1.778 0 Td -(>)Tj -/T1_0 1 Tf -2.915 Tc 1.1 0 Td -(0T)Tj -0 Tc 4.028 0 Td -[(he signal is sent to the pr)18(ocess whose pr)18(ocess ID is)]TJ -/T1_2 1 Tf -22.521 0 Td -(pid)Tj -/T1_0 1 Tf -(.)Tj -/T1_2 1 Tf --29.427 -1.96 Td -(pid)Tj -/TT0 1 Tf -1.778 0 Td -(==)Tj -/T1_0 1 Tf -2.315 Tc 1.7 0 Td -(0T)Tj -0 Tc 3.428 0 Td -[(he )-209(signal )-209(is )-209(sent )-209(to )-209(all )-209(pr)18(ocesses )-209(whose )-209(pr)18(ocess )-209(gr)14(oup )-209(ID )-209(equals )-209(the)]TJ --0.613 -1.2 Td -[(pr)18(ocess )-75(gr)18(oup )-75(ID )-75(of )-75(the )-75(sender )-75(and )-75(for )-75(which )-75(the )-75(sender )-75(has )-75(permission)]TJ -0 -1.2 TD -[(to )-498(send )-498(the )-498(signal.)-998(Note )-498(that )-498(the )-498(term)]TJ -/T1_2 1 Tf -20.867 0 Td -[(all )-498(pr)18(ocesses)]TJ -/T1_0 1 Tf -6.163 0 Td -[(excludes )-498(an)]TJ --27.03 -1.2 Td -[(implementation-de\336ned )-573(set )-573(of )-573(system )-573(pr)18(ocesses. )-823(For)-823(most )-573(UNIX)]TJ -0 -1.2 Td -[(systems, )-163(this )-163(set )-163(of )-163(system )-163(pr)18(ocesses )-163(includes )-163(the )-163(kernel )-163(pr)18(ocesses )-163(and)]TJ -/TT0 1 Tf -T* -(init)Tj -/T1_0 1 Tf -2.65 0 Td -(\(pid 1\).)Tj -/T1_2 1 Tf --8.943 -1.96 Td -(pid)Tj -/TT0 1 Tf -1.778 0 Td -(<)Tj -/T1_0 1 Tf -2.915 Tc 1.1 0 Td -(0T)Tj -0 Tc 4.028 0 Td -[(he )-209(signal )-209(is )-209(sent )-209(to )-209(all )-209(pr)18(ocesses )-209(whose )-209(pr)18(ocess )-209(gr)18(oup )-209(ID )-209(equals )-209(the)]TJ --0.613 -1.2 Td -[(absolute )-23(value )-23(of)]TJ -/T1_2 1 Tf -7.859 0 Td -(pid)Tj -/T1_0 1 Tf -1.551 0 Td -[(and )-24(for )-24(which )-24(the )-24(sender )-24(has )-24(permission )-24(to )-24(send )-24(the)]TJ --9.411 -1.2 Td -[(signal. )-343(Again,)-342(the )-93(set )-93(of )-93(all )-93(pr)18(ocesses )-93(excludes )-93(certain )-93(system )-93(pr)20(ocesses,)]TJ -0 -1.2 Td -[(as described earlier)74(.)]TJ -/T1_2 1 Tf --6.293 -1.96 Td -(pid)Tj -/TT0 1 Tf -1.778 0 Td -(==)Tj -/TT1 1 Tf -1.7 0 Td -(!)Tj -/T1_0 1 Tf -1.766 Tc (1T)Tj -0 Tc 3.428 0 Td -[(he )-52(signal )-52(is )-52(sent )-52(to )-52(all )-52(pr)18(ocesses )-52(on )-52(the )-52(system )-52(for )-52(which )-52(the )-52(sender )-52(has)]TJ --0.613 -1.2 Td -[(permission )-162(to )-162(send )-162(the )-162(signal.)-662(As )-162(befor)18(e, )-162(the )-162(set )-162(of )-162(pr)17(ocesses )-162(excludes)]TJ -T* -[(certain system pr)18(ocesses.)]TJ --4.493 -2.16 Td -[(As )-304(we\325ve )-304(mentioned, )-304(a )-304(pr)18(ocess )-304(needs )-304(permission )-304(to )-304(send )-304(a )-304(signal )-304(to )-304(another)]TJ --1.8 -1.2 Td -[(pr)18(ocess. )-287(The)-287(super)8(user )-37(can )-37(send )-37(a )-37(signal )-37(to )-37(any )-37(pr)17(ocess. )-287(For)-287(other )-37(users, )-37(the )-37(basic )-37(r)8(ule)]TJ --0 -1.2 Td -[(is )-19(that )-19(the )-19(r)18(eal )-19(or )-19(ef)18(fective )-19(user )-19(ID )-19(of )-19(the )-19(sender )-19(has )-19(to )-19(equal )-19(the )-19(r)21(eal )-19(or )-19(ef)18(fective )-19(user )-19(ID)]TJ -T* -[(of )-77(the )-77(r)17(eceiver)]TJ -0.5774 Tc 6.356 0 Td -(.I)Tj -0.3274 Tc 1.164 0 Td -(ft)Tj -0 Tc 0.986 0 Td -[(he )-77(implementation )-77(supports)]TJ -/TT0 1 Tf -13.023 0 Td -(_POSIX_SAVED_IDS)Tj -/T1_0 1 Tf -9.927 0 Td -[(\(as )-77(POSIX.1 )-77(now)]TJ --0.018 Tc -31.457 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(es\), )-20(the )-20(saved )-20(set-user)18(-ID )-20(of )-20(the )-20(r)18(eceiver )-20(is )-20(checked )-20(instead )-20(of )-20(its )-20(ef)18(fective )-20(user )-20(ID.)]TJ --0.856 -1.2 Td -[(One )-293(special )-293(case )-293(for )-293(the )-293(permission )-293(testing )-293(also )-293(exists: )-293(if )-293(the )-293(signal )-293(being )-293(sent )-293(is)]TJ -/TT0 1 Tf -T* -(SIGCONT)Tj -/T1_0 1 Tf -0.25 Tc (,ap)Tj --0.018 Tc 6.051 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess can send it to any other pr)18(ocess in the same session.)]TJ --5.174 -1.2 Td -[(POSIX.1 )-52(de\336nes )-52(signal )-52(number )-52(0 )-52(as )-52(the )-52(null )-52(signal.)-552(If )-52(the)]TJ -/T1_2 1 Tf -26.086 0 Td -(signo)Tj -/T1_0 1 Tf -2.469 0 Td -[(ar)18(gument )-52(is )-52(0, )-52(then)]TJ --30.355 -1.2 Td -[(the )-6(normal )-6(err)18(or )-6(checking )-6(is )-6(performed )-6(by)]TJ -/TT0 1 Tf -19.049 0 Td -(kill)Tj -/T1_0 1 Tf -0.2562 Tc (,b)Tj -0 Tc 3.459 0 Td -[(ut )-6(no )-6(signal )-6(is )-6(sent.)-506(This )-6(technique )-6(is)]TJ --22.509 -1.2 Td -[(often )-63(used )-63(to )-63(determine )-63(if )-63(a )-63(speci\336c )-63(pr)18(ocess )-63(still )-63(exists.)-567(If )-63(we )-63(send )-63(the )-63(pr)18(ocess )-63(the )-63(null)]TJ -T* -[(signal )-206(and )-206(it )-206(doesn\325t )-206(exist,)]TJ -/TT0 1 Tf -12.766 0 Td -(kill)Tj -/T1_0 1 Tf --0.018 Tc 2.856 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -/TT1 1 Tf -2.786 0 Td -(!)Tj -/T1_0 1 Tf -0.456 Tc (1a)Tj -0 Tc 2.005 0 Td -(nd)Tj -/TT0 1 Tf -1.649 0 Td -(errno)Tj -/T1_0 1 Tf -3.456 0 Td -[(is )-206(set )-206(to)]TJ -/TT0 1 Tf -4.184 0 Td -(ESRCH)Tj -/T1_0 1 Tf -0.706 Tc (.B)Tj -0.456 Tc 4.567 0 Td -(ea)Tj -0 Tc 1.435 0 Td -[(war)18(e,)]TJ --36.56 -1.2 Td -(however)Tj -0.4546 Tc 3.806 0 Td -(,t)Tj -0 Tc 1.031 0 Td -[(hat )-205(UNIX )-205(systems )-205(r)18(ecycle )-205(pr)18(ocess )-205(IDs )-205(after )-205(some )-205(amount )-205(of )-205(time, )-205(so )-205(the)]TJ --4.837 -1.2 Td -[(existence )-125(of )-125(a )-125(pr)18(ocess )-125(with )-125(a )-125(given )-125(pr)18(ocess )-125(ID )-125(does )-125(not )-125(necessarily )-125(mean )-125(that )-125(it\325s )-125(the)]TJ -T* -[(pr)18(ocess that you think it is.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47303 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(288)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Relationships)]TJ -39.241 0 Td -[(Chapter )-250(9)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.018 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -(re)Tj -0 Tc 0.856 0 Td -[(sult )-283(to )-283(the)]TJ -/TT0 1 Tf -5.503 0 Td -(pw_passwd)Tj -/T1_1 1 Tf -5.933 0 Td -[(\336eld )-283(fr)18(om )-283(our )-283(shadow )-283(passwor)]TJ -0.5333 Tc 15.005 0 Td -(d\336)Tj -0 Tc 1.749 0 Td -[(le )-283(entry)]TJ -0.7833 Tc 3.53 0 Td -(.I)Tj -0.5333 Tc 1.37 0 Td -(ft)Tj -0 Tc 1.192 0 Td -[(he )-283(login)]TJ --35.14 -1.2 Td -[(attempt )-67(fails )-67(because )-67(of )-67(an )-67(invalid )-67(passwor)]TJ -0.3169 Tc 19.461 0 Td -(d\()Tj -0 Tc 1.261 0 Td -[(after )-67(a )-67(few )-67(tries\),)]TJ -/TT0 1 Tf -7.944 0 Td -(login)Tj -/T1_1 1 Tf -3.317 0 Td -(calls)Tj -/TT0 1 Tf -2.267 0 Td -(exit)Tj -/T1_1 1 Tf -2.717 0 Td -(with)Tj --36.967 -1.2 Td -[(an )-47(ar)18(gument )-47(of )-47(1.)-547(This )-47(termination )-47(will )-47(be )-47(noticed )-47(by )-47(the )-47(par)18(ent )-47(\()]TJ -/TT0 1 Tf -29.655 0 Td -(init)Tj -/T1_1 1 Tf -[(\), )-47(and )-47(it )-47(will )-47(do)]TJ --29.655 -1.2 Td -(another)Tj -/TT0 1 Tf -3.69 0 Td -(fork)Tj -/T1_1 1 Tf -2.68 0 Td -[(followed )-30(by )-30(an)]TJ -/TT0 1 Tf -6.963 0 Td -(exec)Tj -/T1_1 1 Tf -2.68 0 Td -(of)Tj -/TT0 1 Tf -1.159 0 Td -(getty)Tj -/T1_1 1 Tf -0.2803 Tc (,s)Tj -0 Tc 3.954 0 Td -[(tarting )-30(the )-30(pr)17(ocedur)]TJ -0.2803 Tc 8.962 0 Td -(eo)Tj -0 Tc 1.305 0 Td -[(ver )-30(again )-30(for )-30(this)]TJ --31.394 -1.2 Td -(terminal.)Tj -1.8 -1.2 Td -[(This )-170(is )-170(the )-170(traditional )-170(authentication )-170(pr)18(ocedur)]TJ -0.4201 Tc 21.187 0 Td -(eu)Tj -0 Tc 1.502 0 Td -[(sed )-170(on )-170(UNIX )-170(systems.)-670(Modern)]TJ --24.49 -1.2 Td -[(UNIX )-106(systems, )-106(however)]TJ -0.3557 Tc 10.896 0 Td -(,h)Tj -0 Tc 1.188 0 Td -[(ave )-106(evolved )-106(to )-106(support )-106(multiple )-106(authentication )-106(pr)20(ocedur)18(es.)]TJ --12.084 -1.2 Td -[(For )-32(example, )-32(Fr)18(eeBSD, )-32(Linux, )-32(Mac )-32(OS )-32(X, )-32(and )-32(Solaris )-32(all )-32(support )-32(a )-32(mor)]TJ -0.2819 Tc 31.45 0 Td -(e\337)Tj -0 Tc 1.369 0 Td -[(exible )-32(scheme)]TJ --32.819 -1.2 Td -[(known )-94(as )-94(P)92(AM )-94(\(Pluggable )-94(Authentication )-94(Modules\).)]TJ --0.092 Tc 24.478 0 Td -(PA)Tj -0.3439 Tc 1.29 0 Td -(Ma)Tj -0 Tc 1.79 0 Td -[(llows )-94(an )-94(administrator )-94(to)]TJ --27.558 -1.2 Td -(con\336gur)Tj -0.376 Tc 3.713 0 Td -(et)Tj -0 Tc 1.181 0 Td -[(he )-126(authentication )-126(methods )-126(to )-126(be )-126(used )-126(to )-126(access )-126(services )-126(that )-126(ar)]TJ -0.376 Tc 28.77 0 Td -(ew)Tj -0 Tc 1.689 0 Td -[(ritten )-126(to)]TJ --35.353 -1.2 Td -[(use the P)92(AM library)111(.)]TJ -1.8 -1.2 Td -[(If )-205(our )-205(application )-205(needs )-205(to )-205(verify )-205(that )-205(a )-205(user )-205(has )-205(the )-205(appr)18(opriate )-205(permission )-205(to)]TJ --1.8 -1.2 Td -[(perform )-431(a )-431(task, )-431(we )-431(can )-431(either )-431(har)]TJ -0.6815 Tc 17.127 0 Td -(dc)Tj -0 Tc 1.736 0 Td -[(ode )-431(the )-431(authentication )-431(mechanism )-431(in )-431(the)]TJ --18.863 -1.2 Td -[(application )-366(or )-366(use )-366(the )-366(P)93(AM )-366(library )-366(to )-366(give )-366(us )-366(the )-366(equivalent )-366(functionality)]TJ -0.8657 Tc 36.21 0 Td -(.T)Tj -0 Tc 1.729 0 Td -(he)Tj --37.939 -1.2 Td -[(advantage )-402(to )-402(using )-402(P)91(AM )-402(is )-402(that )-402(administrators )-402(can )-402(con\336gur)]TJ -0.6525 Tc 29.585 0 Td -(ed)Tj -0 Tc 1.742 0 Td -[(if)18(fer)18(ent )-402(ways )-402(to)]TJ --31.327 -1.2 Td -[(authenticate users for dif)18(fer)18(ent tasks, based on the local site policies.)]TJ -1.8 -1.2 Td -[(If we log in corr)18(ectly)111(,)]TJ -/TT0 1 Tf -9.496 0 Td -(login)Tj -/T1_1 1 Tf -3.25 0 Td -(will)Tj -0.883 Tc -12.746 -1.92 Td -(\245C)Tj -0 Tc 2.198 0 Td -[(hange to our home dir)18(ectory \()]TJ -/TT0 1 Tf -(chdir)Tj -/T1_1 1 Tf -(\))Tj -0.883 Tc -2.198 -1.6 Td -(\245C)Tj -0 Tc 2.198 0 Td -(hange the ownership of our terminal device \()Tj -/TT0 1 Tf -(chown)Tj -/T1_1 1 Tf -[(\))-250(so)-250(we)-250(own it)]TJ -0.883 Tc -2.198 -1.6 Td -(\245C)Tj -0 Tc 2.198 0 Td -[(hange )-19(the )-19(access )-19(permissions )-19(for )-19(our )-19(terminal )-19(device )-19(so )-19(we )-19(have )-19(permission )-19(to)]TJ --0.018 Tc -0.709 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad fr)18(om and write to it)]TJ -0.883 Tc -2.345 -1.6 Td -(\245S)Tj -0 Tc 2.014 0 Td -[(et our gr)18(oup IDs by calling)]TJ -/TT0 1 Tf -12.131 0 Td -(setgid)Tj -/T1_1 1 Tf -3.85 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(initgroups)Tj -/T1_1 1 Tf -0.883 Tc -19.938 -1.6 Td -(\245I)Tj -0 Tc 1.826 0 Td -[(nitialize )-154(the )-154(envir)18(onment )-154(with )-154(all )-154(the )-154(information )-154(that)]TJ -/TT0 1 Tf -25.372 0 Td -(login)Tj -/T1_1 1 Tf -3.404 0 Td -[(has: )-154(our )-154(home)]TJ --29.113 -1.2 Td -[(dir)18(ectory )-68(\()]TJ -/TT0 1 Tf -(HOME)Tj -/T1_1 1 Tf -[(\), )-68(shell )-68(\()]TJ -/TT0 1 Tf -(SHELL)Tj -/T1_1 1 Tf -[(\), )-68(user )-68(name )-68(\()]TJ -/TT0 1 Tf -(USER)Tj -/T1_1 1 Tf -22.627 0 Td -(and)Tj -/TT0 1 Tf -2.011 0 Td -(LOGNAME)Tj -/T1_1 1 Tf -[(\), )-68(and )-68(a )-68(default)]TJ --24.638 -1.2 Td -(path \()Tj -/TT0 1 Tf -(PATH)Tj -/T1_1 1 Tf -(\))Tj -0.883 Tc -1.489 -1.6 Td -(\245C)Tj -0 Tc 2.198 0 Td -(hange to our user ID \()Tj -/TT0 1 Tf -(setuid)Tj -/T1_1 1 Tf -0.25 Tc (\)a)Tj -0 Tc 14.393 0 Td -(nd invoke our login shell, as in)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 180.4812 325.0805 Tm -(execl\("/bin/sh", "-sh", \(char *\)0\);)Tj -/T1_1 1 Tf -7.9995 0 0 7.9995 183.5911 305.0817 Tm -[(The )-2(minus )-2(sign )-2(as )-2(the )-2(\336rst )-2(character )-2(of)]TJ -/TT0 1 Tf -17.333 0 Td -(argv[0])Tj -/T1_1 1 Tf -4.452 0 Td -[(is )-2(a )-2(\337ag )-2(to )-2(all )-2(the )-2(shells )-2(that )-2(indicates )-2(they )-2(ar)16(e)]TJ --21.785 -1.25 Td -[(being )-63(invoked )-63(as )-63(a )-63(login )-63(shell.)-563(The )-63(shells )-63(can )-63(look )-63(at )-63(this )-63(character )-63(and )-63(modify )-63(their )-63(start-up)]TJ -0 -1.25 TD -[(accor)18(dingly)111(.)]TJ -9.9994 0 0 9.9994 147.5932 267.084 Tm -(The)Tj -/TT0 1 Tf -2.156 0 Td -(login)Tj -/T1_1 1 Tf -3.482 0 Td -[(pr)18(ogram )-232(r)18(eally )-232(does )-232(mor)]TJ -0.4825 Tc 11.665 0 Td -(et)Tj -0 Tc 1.288 0 Td -[(han )-232(we\325ve )-232(described )-232(her)17(e. )-482(It)-483(optionally)]TJ --20.392 -1.2 Td -[(prints )-138(the )-138(message-of-the-day )-138(\336le, )-138(checks )-138(for )-138(new )-138(mail, )-138(and )-138(performs )-138(other )-138(tasks.)-635(In)]TJ -0 -1.2 TD -(this chapter)Tj -0.25 Tc 5.126 0 Td -(,w)Tj -0 Tc 1.334 0 Td -(e\325r)Tj -0.25 Tc 1.134 0 Td -(ei)Tj -0 Tc 1.02 0 Td -[(nter)18(ested only in the featur)18(es that we\325ve described.)]TJ --6.814 -1.2 Td -[(Recall )-149(fr)18(om )-149(our )-149(discussion )-149(of )-149(the)]TJ -/TT0 1 Tf -15.655 0 Td -(setuid)Tj -/T1_1 1 Tf -3.999 0 Td -[(function )-149(in )-149(Section )-149(8.1)]TJ -0.3989 Tc 10.165 0 Td -(1t)Tj -0 Tc 1.225 0 Td -[(hat )-149(since )-149(it )-149(is)]TJ --32.843 -1.2 Td -[(called )-204(by )-204(a )-204(super)8(user )-204(pr)16(ocess,)]TJ -/TT0 1 Tf -14.437 0 Td -(setuid)Tj -/T1_1 1 Tf -4.054 0 Td -[(changes )-204(all )-204(thr)17(ee )-204(user )-204(IDs: )-204(the )-204(r)18(eal )-204(user )-204(ID,)]TJ --18.491 -1.2 Td -[(ef)18(fective )-110(user )-110(ID, )-110(and )-110(saved )-110(set-user)17(-ID. )-360(The)-361(call )-110(to)]TJ -/TT0 1 Tf -23.949 0 Td -(setgid)Tj -/T1_1 1 Tf -3.96 0 Td -[(that )-110(was )-110(done )-110(earlier )-110(by)]TJ -/TT0 1 Tf --27.909 -1.2 Td -(login)Tj -/T1_1 1 Tf -3.25 0 Td -[(has the same ef)18(fect on all thr)18(ee gr)18(oup IDs.)]TJ --1.45 -1.2 Td -[(At )-76(this )-76(point, )-76(our )-76(login )-76(shell )-76(is )-76(r)8(unning. )-326(Its)-326(par)18(ent )-76(pr)18(ocess )-76(ID )-76(is )-76(the )-76(original)]TJ -/TT0 1 Tf -34.8 0 Td -(init)Tj -/T1_1 1 Tf --36.6 -1.2 Td -[(pr)18(ocess )-68(\(pr)18(ocess )-68(ID )-68(1\), )-68(so )-68(when )-68(our )-68(login )-68(shell )-68(terminates,)]TJ -/TT0 1 Tf -26.559 0 Td -(init)Tj -/T1_1 1 Tf -2.718 0 Td -[(is )-68(noti\336ed )-68(\(it )-68(is )-68(sent )-68(a)]TJ -/TT0 1 Tf --29.277 -1.2 Td -(SIGCHLD)Tj -/T1_1 1 Tf -4.608 0 Td -[(signal\) )-158(and )-158(it )-158(starts )-158(the )-158(whole )-158(pr)16(ocedur)]TJ -0.4082 Tc 18.289 0 Td -(eo)Tj -0 Tc 1.433 0 Td -[(ver )-158(again )-158(for )-158(this )-158(terminal.)-659(File)]TJ --24.33 -1.2 Td -[(descriptors )-5(0, )-5(1, )-5(and )-5(2 )-5(for )-5(our )-5(login )-5(shell )-5(ar)]TJ -0.2552 Tc 18.954 0 Td -(es)Tj -0 Tc 1.158 0 Td -[(et )-5(to )-5(the )-5(terminal )-5(device.)-506(Figur)]TJ -0.2552 Tc 13.839 0 Td -(e9)Tj -0 Tc 1.234 0 Td -[(.3 )-5(shows)]TJ --35.185 -1.2 Td -(this arrangement.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47304 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(286)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Relationships)]TJ -39.241 0 Td -[(Chapter )-250(9)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(common )-90(devices )-90(on )-90(PDP)]TJ -11.308 0.09 Td -(-)Tj --0.055 Tc 0.333 -0.09 Td -(11)Tj -0.3403 Tc 0.945 0 Td -(sw)Tj -0 Tc 1.598 0 Td -(er)Tj -0.3403 Tc 0.856 0 Td -(eD)Tj -0 Tc 1.593 0 Td -(H)Tj -0.832 0.09 Td -(-)Tj --0.055 Tc 0.333 -0.09 Td -(11)Tj -0.3403 Tc 0.945 0 Td -(sa)Tj -0 Tc 1.264 0 Td -[(nd )-90(DZ)]TJ -2.974 0.09 Td -(-)Tj --0.055 Tc 0.333 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -[(s. )-340(A)-341(host )-90(had )-90(a )-90(\336xed )-90(number )-90(of)]TJ --24.26 -1.2 Td -[(these )-458(terminal )-458(devices, )-458(so )-458(ther)]TJ -0.7076 Tc 15.145 0 Td -(ew)Tj -0 Tc 2.021 0 Td -[(as )-458(a )-458(known )-458(upper )-458(limit )-458(on )-458(the )-458(number )-458(of)]TJ --17.165 -1.2 Td -(simultaneous logins.)Tj -1.8 -1.2 Td -[(As )-306(bitmapped )-306(graphical )-306(terminals )-306(became )-306(available, )-306(windowing )-306(systems )-306(wer)14(e)]TJ --1.8 -1.2 Td -[(developed )-509(to )-509(pr)18(ovide )-509(users )-509(with )-509(new )-509(ways )-509(to )-509(interact )-509(with )-509(host )-509(computers.)]TJ -0 -1.2 TD -[(Applications )-53(wer)]TJ -0.3033 Tc 7.668 0 Td -(ed)Tj -0 Tc 1.393 0 Td -[(eveloped )-53(to )-53(cr)18(eate )-53(\324)37(\324terminal )-53(windows\325)36(\325)-303(to)-303(e)-1(mulate )-53(character)18(-based)]TJ --9.062 -1.2 Td -[(terminals, )-248(allowing )-248(users )-248(to )-248(interact )-248(with )-248(hosts )-248(in )-248(familiar )-248(ways )-248(\(i.e., )-248(via )-248(the )-248(shell)]TJ -T* -(command line\).)Tj --0.092 Tc 1.8 -1.2 Td -(To)Tj -0 Tc 1.067 0 Td -(day)Tj -0.4527 Tc 1.556 0 Td -(,s)Tj -0 Tc 1.127 0 Td -[(ome )-203(platforms )-203(allow )-203(you )-203(to )-203(start )-203(a )-203(windowing )-203(system )-203(after )-203(logging )-203(in,)]TJ --5.55 -1.2 Td -[(wher)18(eas )-230(other )-230(platforms )-230(automatically )-230(start )-230(the )-230(windowing )-230(system )-230(for )-230(you.)-730(In )-230(the)]TJ -T* -[(latter )-77(case, )-77(you )-77(might )-77(still )-77(have )-77(to )-77(log )-77(in, )-77(depending )-77(on )-77(how )-77(the )-77(windowing )-77(system )-77(is)]TJ -T* -[(con\336gur)18(ed \(some windowing systems can be con\336gur)18(ed to log you in automatically\).)]TJ -1.8 -1.2 Td -[(The )-145(pr)18(ocedur)]TJ -0.3951 Tc 6.107 0 Td -(et)Tj -0 Tc 1.2 0 Td -[(hat )-145(we )-145(now )-145(describe )-145(is )-145(used )-145(to )-145(log )-145(in )-145(to )-145(a )-145(UNIX )-145(system )-145(using )-145(a)]TJ --9.107 -1.2 Td -[(terminal. )-331(The)-331(pr)18(ocedur)18(e)-331(is)-331(similar )-81(r)18(egar)18(dless )-81(of )-81(the )-81(type )-81(of )-81(terminal )-81(we )-81(use)]TJ -0.0833 Tc 34.474 0 Td -(\321i)Tj -0.331 Tc 1.374 0 Td -(tc)Tj -0 Tc 1.101 0 Td -(ould)Tj --36.949 -1.2 Td -[(be )-69(a )-69(character)18(-based )-69(terminal, )-69(a )-69(graphical )-69(terminal )-69(emulating )-69(a )-69(simple )-69(character)18(-based)]TJ -T* -[(terminal, or a graphical terminal r)8(unning a windowing system.)]TJ -/TT0 1 Tf --3.6 -2.4 Td -[(BSD T)60(erminal Logins)]TJ -/T1_1 1 Tf -3.6 -2.4 Td -[(The )-101(BSD )-101(terminal )-101(login )-101(pr)20(ocedur)]TJ -0.3506 Tc 15.037 0 Td -(eh)Tj -0 Tc 1.412 0 Td -[(as )-101(not )-101(changed )-101(much )-101(over )-101(the )-101(past )-101(35 )-101(years.)-598(The)]TJ --16.449 -1.2 Td -[(system )-88(administrator )-88(cr)18(eates )-88(a )-88(\336le, )-88(usually)]TJ -/TT1 1 Tf -19.611 0 Td -(/etc/ttys)Tj -/T1_1 1 Tf -0.3378 Tc (,t)Tj -0 Tc 6.314 0 Td -[(hat )-88(has )-88(one )-88(line )-88(per )-88(terminal)]TJ --25.925 -1.2 Td -[(device. )-286(Each)-286(line )-36(speci\336es )-36(the )-36(name )-36(of )-36(the )-36(device )-36(and )-36(other )-36(parameters )-36(that )-36(ar)]TJ -0.2862 Tc 35.195 0 Td -(ep)Tj -0 Tc 1.366 0 Td -(assed)Tj --36.562 -1.2 Td -[(to )-134(the)]TJ -/TT1 1 Tf -3.027 0 Td -(getty)Tj -/T1_1 1 Tf -3.384 0 Td -[(pr)18(ogram. )-384(One)-384(parameter )-134(is )-134(the )-134(baud )-134(rate )-134(of )-134(the )-134(terminal, )-134(for )-134(example.)]TJ --6.41 -1.2 Td -[(When )-9(the )-9(system )-9(is )-9(bootstrapped, )-9(the )-9(kernel )-9(cr)18(eates )-9(pr)18(ocess )-9(ID )-9(1, )-9(the)]TJ -/TT1 1 Tf -30.844 0 Td -(init)Tj -/T1_1 1 Tf -2.659 0 Td -[(pr)18(ocess, )-9(and)]TJ --33.503 -1.2 Td -[(it )-21(is)]TJ -/TT1 1 Tf -1.875 0 Td -(init)Tj -/T1_1 1 Tf -2.671 0 Td -[(that )-21(brings )-21(the )-21(system )-21(up )-21(in )-21(multiuser )-21(mode.)-523(The)]TJ -/TT1 1 Tf -22.521 0 Td -(init)Tj -/T1_1 1 Tf -2.671 0 Td -[(pr)18(ocess )-21(r)18(eads )-21(the )-21(\336le)]TJ -/TT1 1 Tf --29.738 -1.2 Td -(/etc/ttys)Tj -/T1_1 1 Tf -5.661 0 Td -[(and, )-11(for )-11(every )-11(terminal )-11(device )-11(that )-11(allows )-11(a )-11(login, )-11(does )-11(a)]TJ -/TT1 1 Tf -25.376 0 Td -(fork)Tj -/T1_1 1 Tf -2.661 0 Td -[(followed )-11(by)]TJ --33.699 -1.2 Td -(an)Tj -/TT1 1 Tf -1.332 0 Td -(exec)Tj -/T1_1 1 Tf -2.65 0 Td -[(of the pr)18(ogram)]TJ -/TT1 1 Tf -6.874 0 Td -(getty)Tj -/T1_1 1 Tf -0.5 Tc (.T)Tj -0 Tc 4.363 0 Td -[(his gives us the pr)18(ocesses shown in Figur)]TJ -0.25 Tc 18.198 0 Td -(e9)Tj -0 Tc 1.229 0 Td -(.1.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2836.32 2474 432 216 re -S -Q -BT -/TT1 1 Tf -7.999 0 0 7.999 295.5965 256.4092 Tm -(init)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2836.32 3122 432 216 re -S -Q -BT -/TT1 1 Tf -7.9986 0 0 7.9986 295.5788 321.1822 Tm -(init)Tj -/T1_2 1 Tf --1.3 1.975 Td -[(pr)18(ocess ID 1)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2836.32 2042 432 216 re -S -Q -BT -/TT1 1 Tf -7.9981 0 0 7.9981 293.1616 213.1888 Tm -(getty)Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 305.232 269 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 3052.3201 2690 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3052.25 3122.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3052.25 3057.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3052.25 2992.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3052.25 2927.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3052.25 2863.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3052.25 2798.25 cm -0 0 m -0 -36 l -S -Q -Q -BT -/TT1 1 Tf -7.9976 0 0 7.9976 309.939 288.7534 Tm -(fork)Tj -ET -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 272.832 297.8 cm -0 0 m -4.968 5.472 l -6.984 2.448 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 2728.3201 2978 cm -0 0 m -49.68 54.72 l -69.84 24.48 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2944.25 3122.25 cm -0 0 m --30 -20 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2881.25 3080.25 cm -0 0 m --31 -20 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2818.25 3038.25 cm -0 0 m --30 -21 l -S -Q -Q -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 337.632 297.8 cm -0 0 m --6.984 2.52 l --4.968 5.544 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3376.3201 2978 cm -0 0 m --69.84 25.2 l --49.68 55.44 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3160.25 3122.25 cm -0 0 m -30 -20 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3223.25 3080.25 cm -0 0 m -31 -20 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3286.25 3038.25 cm -0 0 m -30 -21 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3524.6399 3076.6399 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3524.25 3076.25 cm -0 0 m -0 -148 l -23 -170 l -1 -193 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3524.25 2883.25 cm -0 0 m -0 -148 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3480 2690 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/TT1 1 Tf -7.9966 0 0 7.9966 356.6182 293.7166 Tm -(fork)Tj -/T1_1 1 Tf -0.25 Tc (so)Tj -0 Tc 3.62 0 Td -(nce)Tj --3.62 -1.25 Td -(per terminal)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3524.6399 2428.6399 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3524.25 2428.25 cm -0 0 m -0 -40 l -23 -62 l -1 -85 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3524.25 2343.25 cm -0 0 m -0 -40 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3480 2258 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 356.5968 239.7249 Tm -(each child)Tj -/TT1 1 Tf -0 -1.25 TD -(exec)Tj -/T1_1 1 Tf -(s)Tj -/TT1 1 Tf -3.074 0 Td -(getty)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 305.232 225.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3052.3201 2258 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3052.25 2474.25 cm -0 0 m -0 -144 l -S -Q -Q -BT -/TT1 1 Tf -7.9957 0 0 7.9957 309.8646 234.7132 Tm -(exec)Tj -/T1_0 1 Tf --12.207 -6.605 Td -(Figure 9.1)Tj -/T1_1 1 Tf -5.195 0 Td -[(Pr)18(ocesses invoked by)]TJ -/TT1 1 Tf -9.69 0 Td -(init)Tj -/T1_1 1 Tf -2.65 0 Td -(to allow terminal logins)Tj -9.9946 0 0 9.9946 129.5302 157.9145 Tm -[(All )-16(the )-16(pr)18(ocesses )-16(shown )-16(in )-16(Figur)]TJ -0.2664 Tc 14.501 0 Td -(e9)Tj -0 Tc 1.245 0 Td -[(.1 )-16(have )-16(a )-16(r)18(eal )-16(user )-16(ID )-16(of )-16(0 )-16(and )-16(an )-16(ef)14(fective )-16(user )-16(ID )-16(of)]TJ -0.4273 Tc -15.746 -1.2 Td -(0\()Tj -0 Tc 1.26 0 Td -[(i.e., )-177(they )-177(all )-177(have )-177(super)8(user )-177(privileges\).)-679(The)]TJ -/TT1 1 Tf -20.936 0 Td -(init)Tj -/T1_1 1 Tf -2.827 0 Td -[(pr)18(ocess )-177(also)]TJ -/TT1 1 Tf -5.911 0 Td -(exec)Tj -/T1_1 1 Tf -0.4273 Tc (st)Tj -0 Tc 3.577 0 Td -(he)Tj -/TT1 1 Tf -1.488 0 Td -(getty)Tj -/T1_1 1 Tf --36 -1.2 Td -[(pr)18(ogram with an empty envir)18(onment.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47305 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(256)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(In )-57(general, )-57(we )-57(try )-57(to )-57(use )-57(the)]TJ -/T1_2 1 Tf -12.956 0 Td -(least-privilege)Tj -/T1_1 1 Tf -5.974 0 Td -[(model )-57(when )-57(we )-57(design )-57(our )-57(applications.)]TJ --20.73 -1.2 Td -[(Accor)18(ding )-243(to )-243(this )-243(model, )-243(our )-243(pr)18(ograms )-243(should )-243(use )-243(the )-243(least )-243(privilege )-243(necessary )-243(to)]TJ -0 -1.2 TD -[(accomplish )-99(any )-99(given )-99(task.)-599(This )-99(r)18(educes )-99(the )-99(risk )-99(that )-99(security )-99(might )-99(be )-99(compr)16(omised)]TJ -T* -[(by )-387(a )-387(malicious )-387(user )-387(trying )-387(to )-387(trick )-387(our )-387(pr)17(ograms )-387(into )-387(using )-387(their )-387(privileges )-387(in)]TJ -T* -(unintended ways.)Tj --0.092 Tc 1.8 -1.2 Td -[(We )-478(c)]TJ -0 Tc 2.375 0 Td -[(an )-294(set )-294(the )-294(r)18(eal )-294(user )-294(ID )-294(and )-294(ef)18(fective )-294(user )-294(ID )-294(with )-294(the)]TJ -/TT0 1 Tf -26.724 0 Td -(setuid)Tj -/T1_1 1 Tf -4.144 0 Td -(function.)Tj --35.043 -1.2 Td -[(Similarly)111(,)-422(we)-422(c)-1(an )-172(set )-172(the )-172(r)18(eal )-172(gr)18(oup )-172(ID )-172(and )-172(the )-172(ef)14(fective )-172(gr)18(oup )-172(ID )-172(with )-172(the)]TJ -/TT0 1 Tf -35.4 0 Td -(setgid)Tj -/T1_1 1 Tf --35.4 -1.2 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 565.866 Tm -(#include )Tj -0 -1.783 TD -(int setuid\(uid_t)Tj -/T1_2 1 Tf -10.2 0 Td -(uid)Tj -/TT0 1 Tf -(\);)Tj --10.2 -1.783 Td -(int setgid\(gid_t)Tj -/T1_2 1 Tf -10.2 0 Td -(gid)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -15.051 -1.783 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT1 1 Tf -9.213 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5132.25 cm -0 0 m -0 617 l -3900 617 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 497.2903 Tm -(Ther)Tj -0.3715 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.351 0 Td -[(re )-158(r)]TJ -0 Tc 1.614 0 Td -[(ules )-121(for )-121(who )-121(can )-121(change )-121(the )-121(IDs.)-625(Let\325s )-122(consider )-122(only )-122(the )-122(user )-122(ID )-122(for )-122(now)95(.)]TJ --5.016 -1.2 Td -[(\(Everything we describe for the user ID also applies to the gr)18(oup ID.\))]TJ -1.8 -2.04 Td -[(1. )-633(If)-367(the )-117(pr)18(ocess )-117(has )-117(super)8(user )-117(privileges, )-117(the)]TJ -/TT0 1 Tf -21.468 0 Td -(setuid)Tj -/T1_1 1 Tf -3.967 0 Td -[(function )-117(sets )-117(the )-117(r)18(eal )-117(user)]TJ --23.802 -1.2 Td -[(ID, ef)18(fective user ID, and saved set-user)18(-ID to)]TJ -/T1_2 1 Tf -20.367 0 Td -(uid)Tj -/T1_1 1 Tf -(.)Tj --22 -1.6 Td -[(2. )-633(If)-331(the )-81(pr)18(ocess )-81(does )-81(not )-81(have )-81(super)8(user )-81(privileges, )-81(but)]TJ -/T1_2 1 Tf -26.1 0 Td -(uid)Tj -/T1_1 1 Tf -1.665 0 Td -[(equals )-81(either )-81(the )-81(r)19(eal)]TJ --26.132 -1.2 Td -[(user )-87(ID )-87(or )-87(the )-87(saved )-87(set-user)19(-ID,)]TJ -/TT0 1 Tf -15.079 0 Td -(setuid)Tj -/T1_1 1 Tf -3.937 0 Td -[(sets )-87(only )-87(the )-87(ef)18(fective )-87(user )-87(ID )-87(to)]TJ -/T1_2 1 Tf -14.967 0 Td -(uid)Tj -/T1_1 1 Tf -(.)Tj --33.983 -1.2 Td -[(The r)18(eal user ID and the saved set-user)18(-ID ar)]TJ -0.25 Tc 19.758 0 Td -(en)Tj -0 Tc 1.311 0 Td -(ot changed.)Tj --22.702 -1.6 Td -[(3. )-633(If)-481(neither )-231(of )-231(these )-231(two )-231(conditions )-231(is )-231(tr)9(ue,)]TJ -/TT0 1 Tf -21.561 0 Td -(errno)Tj -/T1_1 1 Tf -3.481 0 Td -[(is )-231(set )-231(to)]TJ -/TT0 1 Tf -4.258 0 Td -(EPERM)Tj -/T1_1 1 Tf -3.481 0 Td -(and)Tj -/TT1 1 Tf -2.174 0 Td -(!)Tj -/T1_1 1 Tf -0.4808 Tc (1i)Tj -0 Tc 1.821 0 Td -(s)Tj --0.018 Tc -35.143 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(turned.)Tj --4.289 -2.04 Td -[(Her)18(e, )-57(we )-57(ar)]TJ -0.3071 Tc 5.221 0 Td -(ea)Tj -0 Tc 1.286 0 Td -[(ssuming )-57(that)]TJ -/TT0 1 Tf -6.111 0 Td -(_POSIX_SAVED_IDS)Tj -/T1_1 1 Tf -9.907 0 Td -[(is )-57(tr)8(ue. )-307(If)-307(this )-57(featur)]TJ -0.307 Tc 9.149 0 Td -(ei)Tj -0 Tc 1.077 0 Td -[(sn\325t )-57(pr)18(ovided,)]TJ --32.752 -1.2 Td -[(then delete all pr)18(eceding r)18(efer)18(ences to the saved set-user)18(-ID.)]TJ -7.999 0 0 7.999 183.5775 332.5101 Tm -[(The )-51(saved )-51(IDs )-51(ar)]TJ -0.3009 Tc 7.568 0 Td -(eam)Tj -0 Tc 2.464 0 Td -[(andatory )-51(featur)18(e)-301(in)-301(the )-51(2001 )-51(version )-51(of )-51(POSIX.1.)-551(They )-51(wer)]TJ -0.301 Tc 26.332 0 Td -(eo)Tj -0 Tc 1.326 0 Td -[(ptional )-51(in)]TJ --37.689 -1.25 Td -[(older )-369(versions )-369(of )-369(POSIX.)]TJ --0.092 Tc 12.804 0 Td -[(To )-554(s)]TJ -0 Tc 2.11 0 Td -[(ee )-369(whether )-369(an )-369(implementation )-369(supports )-369(this )-369(featur)18(e, )-369(an)]TJ --14.915 -1.25 Td -[(application )-162(can )-162(test )-162(for )-162(the )-162(constant)]TJ -/TT0 1 Tf -16.919 0 Td -(_POSIX_SAVED_IDS)Tj -/T1_1 1 Tf -10.012 0 Td -[(at )-162(compile )-162(time )-162(or )-162(call)]TJ -/TT0 1 Tf -10.869 0 Td -(sysconf)Tj -/T1_1 1 Tf --37.8 -1.25 Td -(with the)Tj -/TT0 1 Tf -3.92 0 Td -(_SC_SAVED_IDS)Tj -/T1_1 1 Tf -8.05 0 Td -[(ar)18(gument at r)8(untime.)]TJ --0.092 Tc 9.9988 0 0 9.9988 147.5822 282.5161 Tm -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -[(an make a few statements about the thr)18(ee user IDs that the kernel maintains.)]TJ --2.081 -2.04 Td -[(1. )-633(Only)]TJ -0.3523 Tc 4.2 0 Td -(as)Tj -0 Tc 1.276 0 Td -[(uper)8(user )-102(pr)18(ocess )-102(can )-102(change )-102(the )-102(r)18(eal )-102(user )-102(ID.)-604(Normally)]TJ -0.3523 Tc 25.481 0 Td -(,t)Tj -0 Tc 0.928 0 Td -[(he )-102(r)18(eal )-102(user)]TJ --30.253 -1.2 Td -[(ID )-45(is )-45(set )-45(by )-45(the)]TJ -/TT0 1 Tf -7.028 0 Td -(login)Tj -/T1_1 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.628 -0.04 Td -[(pr)18(ogram )-45(when )-45(we )-45(log )-45(in )-45(and )-45(never )-45(changes.)-548(Because)]TJ -/TT0 1 Tf --11.489 -1.2 Td -(login)Tj -/T1_1 1 Tf -3.25 0 Td -[(is a super)8(user pr)18(ocess, it sets all thr)18(ee user IDs when it calls)]TJ -/TT0 1 Tf -26.48 0 Td -(setuid)Tj -/T1_1 1 Tf -(.)Tj --31.363 -1.6 Td -[(2. )-633(The)-263(ef)18(fective )-13(user )-13(ID )-13(is )-13(set )-13(by )-13(the)]TJ -/TT0 1 Tf -16.575 0 Td -(exec)Tj -/T1_1 1 Tf -2.663 0 Td -[(functions )-13(only )-13(if )-13(the )-13(set-user)18(-ID )-13(bit )-13(is )-13(set)]TJ --17.605 -1.2 Td -[(for )-3(the )-3(pr)18(ogram )-3(\336le.)-503(If )-3(the )-3(set-user)20(-ID )-3(bit )-3(is )-3(not )-3(set, )-3(the)]TJ -/TT0 1 Tf -24.577 0 Td -(exec)Tj -/T1_1 1 Tf -2.653 0 Td -[(functions )-3(leave )-3(the)]TJ --27.23 -1.2 Td -[(ef)18(fective )-48(user )-48(ID )-48(as )-48(its )-48(curr)18(ent )-48(value.)]TJ --0.092 Tc 16.917 0 Td -[(We )-232(c)]TJ -0 Tc 2.129 0 Td -[(an )-48(call)]TJ -/TT0 1 Tf -3.204 0 Td -(setuid)Tj -/T1_1 1 Tf -3.898 0 Td -[(at )-48(any )-48(time )-48(to )-48(set )-48(the)]TJ --26.147 -1.2 Td -[(ef)18(fective )-107(user )-107(ID )-107(to )-107(either )-107(the )-107(r)18(eal )-107(user )-107(ID )-107(or )-107(the )-107(saved )-107(set-user)13(-ID. )-357(Naturally)111(,)]TJ --0 -1.2 Td -[(we can\325t set the ef)18(fective user ID to any random value.)]TJ --1.633 -1.6 Td -[(3. )-633(The)-310(saved )-60(set-user)18(-ID )-60(is )-60(copied )-60(fr)16(om )-60(the )-60(ef)18(fective )-60(user )-60(ID )-60(by)]TJ -/TT0 1 Tf -29.235 0 Td -(exec)Tj -/T1_1 1 Tf -0.5604 Tc (.I)Tj -0.3104 Tc 3.547 0 Td -(ft)Tj -0 Tc 0.969 0 Td -[(he )-60(\336le\325s)]TJ --32.119 -1.2 Td -[(set-user)18(-ID )-116(bit )-116(is )-116(set, )-116(this )-116(copy )-116(is )-116(saved )-116(after)]TJ -/TT0 1 Tf -20.648 0 Td -(exec)Tj -/T1_1 1 Tf -2.766 0 Td -[(stor)18(es )-116(the )-116(ef)18(fective )-116(user )-116(ID)]TJ --23.415 -1.2 Td -[(fr)18(om the \336le\325s user ID.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47306 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.10)]TJ -/TT0 1 Tf -36.579 0 Td -(exec)Tj -/T1_0 1 Tf -2.9 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(253)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(function )-176(fr)18(om )-176(Section )-176(4.22\) )-176(be )-176(closed )-176(acr)18(oss )-176(an)]TJ -/TT0 1 Tf -22.158 0 Td -(exec)Tj -/T1_0 1 Tf -0.6765 Tc (.T)Tj -0 Tc 3.939 0 Td -[(his )-176(is )-176(normally )-176(done )-176(by )-176(the)]TJ -/TT0 1 Tf --26.097 -1.2 Td -(opendir)Tj -/T1_0 1 Tf -4.829 0 Td -[(function )-379(calling)]TJ -/TT0 1 Tf -7.92 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.629 0 Td -[(to )-379(set )-379(the )-379(close-on-exec )-379(\337ag )-379(for )-379(the )-379(descriptor)]TJ --16.377 -1.2 Td -[(corr)18(esponding to the open dir)18(ectory str)18(eam.)]TJ -1.8 -1.2 Td -[(Note )-74(that )-74(the )-74(r)18(eal )-74(user )-74(ID )-74(and )-74(the )-74(r)20(eal )-74(gr)18(oup )-74(ID )-74(r)18(emain )-74(the )-74(same )-74(acr)18(oss )-74(the)]TJ -/TT0 1 Tf -34.55 0 Td -(exec)Tj -/T1_0 1 Tf -(,)Tj --36.35 -1.2 Td -[(but )-34(the )-34(ef)18(fective )-34(IDs )-34(can )-34(change, )-34(depending )-34(on )-34(the )-34(status )-34(of )-34(the )-34(set-user)18(-ID )-34(and )-34(the )-34(set-)]TJ -0 -1.2 TD -[(gr)18(oup-ID )-111(bits )-111(for )-111(the )-111(pr)18(ogram )-111(\336le )-111(that )-111(is )-111(executed.)-611(If )-111(the )-111(set-user)17(-ID )-111(bit )-111(is )-111(set )-111(for )-111(the)]TJ -0 -1.2 Td -[(new )-365(pr)18(ogram, )-365(the )-365(ef)18(fective )-365(user )-365(ID )-365(becomes )-365(the )-365(owner )-365(ID )-365(of )-365(the )-365(pr)17(ogram )-365(\336le.)]TJ -T* -[(Otherwise, )-147(the )-147(ef)17(fective )-148(user )-148(ID )-148(is )-148(not )-148(changed )-148(\(it\325s )-148(not )-148(set )-148(to )-148(the )-148(r)18(eal )-148(user )-148(ID\).)-642(The)]TJ --0 -1.2 Td -[(gr)18(oup ID is handled in the same way)111(.)]TJ -1.8 -1.2 Td -[(In )-5(many )-5(UNIX )-5(system )-5(implementations, )-5(only )-5(one )-5(of )-5(these )-5(seven )-5(functions,)]TJ -/TT0 1 Tf -33.35 0 Td -(execve)Tj -/T1_0 1 Tf -(,)Tj --35.15 -1.2 Td -[(is )-10(a )-10(system )-10(call )-10(within )-10(the )-10(kernel.)-509(The )-10(other )-10(six )-10(ar)]TJ -0.2599 Tc 22.116 0 Td -(ej)Tj -0 Tc 0.973 0 Td -[(ust )-10(library )-10(functions )-10(that )-10(eventually)]TJ --23.089 -1.2 Td -[(invoke )-59(this )-59(system )-59(call.)]TJ --0.092 Tc 10.996 0 Td -[(We )-243(c)]TJ -0 Tc 2.14 0 Td -[(an )-59(illustrate )-59(the )-59(r)18(elationship )-59(among )-59(these )-59(seven )-59(functions)]TJ --13.136 -1.2 Td -(as shown in Figur)Tj -0.25 Tc 7.898 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.15.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1599 4802 540 216 re -S -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 172.4793 489.1813 Tm -(execlp)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2751 4802 540 216 re -S -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 287.6482 489.1519 Tm -(execl)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -3903 4802 540 216 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 402.8033 489.1226 Tm -(execle)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -1599 4226 540 216 re -S -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 172.4483 431.5105 Tm -(execvp)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2751 4226 540 216 re -S -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 287.5964 431.4846 Tm -(execv)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -3903 4226 540 216 re -S -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 402.7308 436.4566 Tm -(execve)Tj -/T1_0 1 Tf --0.967 -1.25 Td -(\(system call\))Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -3903 3470 540 216 re -S -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 400.3078 355.8691 Tm -(fexecve)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 186.9 444.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 1869 4442 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1869.25 4802.25 cm -0 0 m -0 -288 l -S -Q -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 188.798 460.1914 Tm -(build)Tj -/T1_2 1 Tf -2.599 0 Td -[(ar)18(gv)]TJ -ET -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 302.1 444.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 3021 4442 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3021.25 4802.25 cm -0 0 m -0 -288 l -S -Q -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 303.9176 460.1638 Tm -(build)Tj -/T1_2 1 Tf -2.599 0 Td -[(ar)18(gv)]TJ -ET -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 417.3 444.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 4173 4442 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4173.25 4802.25 cm -0 0 m -0 -288 l -S -Q -Q -BT -/T1_0 1 Tf -7.9947 0 0 7.9947 419.0233 460.1362 Tm -(build)Tj -/T1_2 1 Tf -2.599 0 Td -[(ar)18(gv)]TJ -ET -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 275.1 433.4 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 2751 4334 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2139.25 4334.25 cm -0 0 m -540 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9942 0 0 7.9942 230.2062 436.3257 Tm -(try each)Tj -/TT0 1 Tf --0.848 -1.25 Td -(PATH)Tj -/T1_0 1 Tf -2.65 0 Td -[(pr)18(e\336x)]TJ -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 390.3 433.4 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 3903 4334 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3291.25 4334.25 cm -0 0 m -540 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9938 0 0 7.9938 353.4002 436.2995 Tm -(use)Tj -/TT0 1 Tf --1.347 -1.25 Td -(environ)Tj -ET -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 417.3 422.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 4173 4226 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4173.25 3686.25 cm -0 0 m -0 468 l -S -Q -Q -BT -/T1_0 1 Tf -7.9933 0 0 7.9933 418.9479 403.5009 Tm -[(build path fr)18(om)]TJ -/TT0 1 Tf -0 -1.25 TD -(/proc/self/fd)Tj -/T1_0 1 Tf -T* -(alias)Tj -/T1_1 1 Tf --23.763 -7.755 Td -(Figure 8.15)Tj -/T1_0 1 Tf -5.695 0 Td -(Relationship of the seven)Tj -/TT0 1 Tf -11.376 0 Td -(exec)Tj -/T1_0 1 Tf -2.65 0 Td -(functions)Tj -9.9916 0 0 9.9916 129.4912 290.3562 Tm -[(In )-301(this )-301(arrangement, )-301(the )-301(library )-301(functions)]TJ -/TT0 1 Tf -20.272 0 Td -(execlp)Tj -/T1_0 1 Tf -4.151 0 Td -(and)Tj -/TT0 1 Tf -2.244 0 Td -(execvp)Tj -/T1_0 1 Tf -4.151 0 Td -[(pr)18(ocess )-301(the)]TJ -/TT0 1 Tf -5.783 0 Td -(PATH)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(envir)18(onment )-130(variable, )-130(looking )-130(for )-130(the )-130(\336rst )-130(path )-130(pr)17(e\336x )-130(that )-130(contains )-130(an )-130(executable )-130(\336le)]TJ --0 -1.2 Td -(named)Tj -/T1_2 1 Tf -3.314 0 Td -(\336lename)Tj -/T1_0 1 Tf -0.509 Tc (.T)Tj -0 Tc 4.734 0 Td -(he)Tj -/TT0 1 Tf -1.32 0 Td -(fexecve)Tj -/T1_0 1 Tf -4.459 0 Td -[(library )-9(function )-9(uses)]TJ -/TT0 1 Tf -9.395 0 Td -(/proc)Tj -/T1_0 1 Tf -3.259 0 Td -[(to )-9(convert )-9(the )-9(\336le )-9(descriptor)]TJ --26.481 -1.2 Td -[(ar)18(gument into a pathname that can be used by)]TJ -/TT0 1 Tf -20.772 0 Td -(execve)Tj -/T1_0 1 Tf -3.85 0 Td -[(to execute the pr)18(ogram.)]TJ -7.9933 0 0 7.9933 183.4458 234.4032 Tm -[(This )-89(describes )-89(how)]TJ -/TT0 1 Tf -8.988 0 Td -(fexecve)Tj -/T1_0 1 Tf -4.539 0 Td -[(is )-89(implemented )-89(in )-89(Fr)18(eeBSD )-89(8.0 )-89(and )-89(Linux )-89(3.2.0.)-589(Other )-89(systems)]TJ --13.527 -1.25 Td -[(might )-160(take )-160(a )-160(dif)19(fer)18(ent )-160(appr)18(oach. )-410(For)-409(example, )-160(a )-160(system )-160(without)]TJ -/TT0 1 Tf -30.135 0 Td -(/proc)Tj -/T1_0 1 Tf -3.41 0 Td -(or)Tj -/TT0 1 Tf -1.351 0 Td -(/dev/fd)Tj -/T1_0 1 Tf -4.61 0 Td -(could)Tj --39.505 -1.25 Td -(implement)Tj -/TT0 1 Tf -5.071 0 Td -(fexecve)Tj -/T1_0 1 Tf -4.456 0 Td -[(as )-5(a )-5(system )-5(call )-5(veneer )-5(that )-5(translates )-5(the )-5(\336le )-5(descriptor )-5(ar)18(gument )-5(into )-5(an)]TJ --9.526 -1.25 Td -[(i-node )-292(pointer)]TJ -0.542 Tc 6.53 0 Td -(,i)Tj -0 Tc 1.083 0 Td -(mplement)Tj -/TT0 1 Tf -5.066 0 Td -(execve)Tj -/T1_0 1 Tf -4.142 0 Td -[(as )-292(a )-292(system )-292(call )-292(veneer )-292(that )-292(translates )-292(the )-292(pathname)]TJ --16.821 -1.25 Td -[(ar)18(gument )-190(into )-190(an )-190(i-node )-190(pointer)]TJ -0.4399 Tc 14.881 0 Td -(,a)Tj -0 Tc 1.19 0 Td -[(nd )-190(place )-190(all )-190(the )-190(r)19(est )-190(of )-190(the)]TJ -/TT0 1 Tf -12.928 0 Td -(exec)Tj -/T1_0 1 Tf -2.84 0 Td -[(code )-190(common )-190(to )-190(both)]TJ -/TT0 1 Tf --31.838 -1.25 Td -(execve)Tj -/T1_0 1 Tf -3.901 0 Td -(and)Tj -/TT0 1 Tf -1.994 0 Td -(fexecve)Tj -/T1_0 1 Tf -4.501 0 Td -[(in )-51(a )-51(separate )-51(function )-51(to )-51(be )-51(called )-51(with )-51(an )-51(i-node )-51(pointer )-51(for )-51(the )-51(\336le )-51(to)]TJ --10.396 -1.25 Td -(be executed.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47307 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.3)]TJ -/TT0 1 Tf -37.003 0 Td -(fork)Tj -/T1_0 1 Tf -2.9 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(233)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Besides )-48(the )-48(open )-48(\336les, )-48(numer)18(ous )-48(other )-48(pr)18(operties )-48(of )-48(the )-48(par)18(ent )-48(ar)]TJ -0.298 Tc 29.295 0 Td -(ei)Tj -0 Tc 1.068 0 Td -[(nherited )-48(by )-48(the)]TJ --32.163 -1.2 Td -(child:)Tj -0.883 Tc 1.8 -1.56 Td -(\245R)Tj -0 Tc 2.157 0 Td -[(eal user ID, r)18(eal gr)18(oup ID, ef)18(fective user ID, and ef)18(fective gr)18(oup ID)]TJ -0.883 Tc -2.157 -1.36 Td -(\245S)Tj -0 Tc 2.014 0 Td -[(upplementary gr)18(oup IDs)]TJ -0.883 Tc -2.014 -1.36 Td -(\245P)Tj --0.018 Tc 2.093 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess gr)18(oup ID)]TJ -0.883 Tc -3.016 -1.36 Td -(\245S)Tj -0 Tc 2.014 0 Td -(ession ID)Tj -0.883 Tc -2.014 -1.36 Td -(\245C)Tj -0 Tc 2.198 0 Td -[(ontr)18(olling terminal)]TJ -0.883 Tc -2.198 -1.36 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he set-user)18(-ID and set-gr)18(oup-ID \337ags)]TJ -0.883 Tc -2.102 -1.36 Td -(\245C)Tj -0 Tc 2.198 0 Td -[(urr)18(ent working dir)18(ectory)]TJ -0.883 Tc -2.198 -1.36 Td -(\245R)Tj -0 Tc 2.157 0 Td -[(oot dir)18(ectory)]TJ -0.883 Tc -2.157 -1.36 Td -(\245F)Tj -0 Tc 2.045 0 Td -[(ile mode cr)18(eation mask)]TJ -0.883 Tc -2.045 -1.36 Td -(\245S)Tj -0 Tc 2.014 0 Td -(ignal mask and dispositions)Tj -0.883 Tc -2.014 -1.36 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he close-on-exec \337ag for any open \336le descriptors)Tj -0.883 Tc -2.102 -1.36 Td -(\245E)Tj -0 Tc 2.1 0 Td -[(nvir)18(onment)]TJ -0.883 Tc -2.1 -1.36 Td -(\245A)Tj -0 Tc 2.267 0 Td -[(ttached shar)18(ed memory segments)]TJ -0.883 Tc -2.267 -1.36 Td -(\245M)Tj -0 Tc 2.435 0 Td -(emory mappings)Tj -0.883 Tc -2.435 -1.36 Td -(\245R)Tj -0 Tc 2.157 0 Td -[(esour)18(ce limits)]TJ --3.957 -1.68 Td -[(The dif)18(fer)18(ences between the par)18(ent and child ar)18(e)]TJ -0.883 Tc 1.8 -1.56 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he r)18(eturn values fr)18(om)]TJ -/TT0 1 Tf -9.824 0 Td -(fork)Tj -/T1_0 1 Tf -2.65 0 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(if)18(fer)18(ent.)]TJ -0.883 Tc -16.793 -1.36 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he pr)18(ocess IDs ar)]TJ -0.25 Tc 7.518 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(if)18(fer)18(ent.)]TJ -0.883 Tc -10.96 -1.36 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-7(two )-7(pr)18(ocesses )-7(have )-7(dif)17(fer)18(ent )-7(par)18(ent )-7(pr)18(ocess )-7(IDs: )-7(the )-7(par)18(ent )-7(pr)18(ocess )-7(ID )-7(of )-7(the)]TJ --0.613 -1.2 Td -[(child is the par)18(ent; the par)18(ent pr)18(ocess ID of the par)18(ent doesn\325t change.)]TJ -0.883 Tc -1.489 -1.36 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-180(child\325s)]TJ -/TT0 1 Tf -4.842 0 Td -(tms_utime)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -6.08 0 Td -(tms_stime)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -6.08 0 Td -(tms_cutime)Tj -/T1_0 1 Tf -0.4301 Tc (,a)Tj -0 Tc 7.18 0 Td -(nd)Tj -/TT0 1 Tf -1.623 0 Td -(tms_cstime)Tj -/T1_0 1 Tf -6.43 0 Td -(values)Tj --32.849 -1.2 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(es)Tj -0 Tc 1.153 0 Td -(et to 0 \(these times ar)Tj -0.25 Tc 9.33 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(iscussed in Section 8.17\).)Tj -0.883 Tc -14.189 -1.36 Td -(\245F)Tj -0 Tc 2.045 0 Td -[(ile locks set by the par)18(ent ar)]TJ -0.25 Tc 12.289 0 Td -(en)Tj -0 Tc 1.311 0 Td -(ot inherited by the child.)Tj -0.883 Tc -15.645 -1.36 Td -(\245P)Tj -0 Tc 2.093 0 Td -(ending alarms ar)Tj -0.25 Tc 7.471 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(lear)18(ed for the child.)]TJ -0.883 Tc -10.737 -1.36 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he set of pending signals for the child is set to the empty set.)Tj --3.902 -1.68 Td -[(Many of these featur)18(es haven\325t been discussed yet)]TJ -0.0833 Tc 22.184 0 Td -(\321w)Tj -0 Tc 1.917 0 Td -(e\325ll cover them in later chapters.)Tj --22.302 -1.2 Td -[(The )-90(two )-90(main )-90(r)18(easons )-90(for)]TJ -/TT0 1 Tf -11.944 0 Td -(fork)Tj -/T1_0 1 Tf -2.74 0 Td -[(to )-90(fail )-90(ar)]TJ -0.3403 Tc 3.845 0 Td -(e\()Tj -0 Tc 1.152 0 Td -[(a\) )-90(if )-90(too )-90(many )-90(pr)18(ocesses )-90(ar)]TJ -0.3404 Tc 12.173 0 Td -(ea)Tj -0 Tc 1.319 0 Td -[(lr)18(eady )-90(in)]TJ --34.973 -1.2 Td -[(the )-4(system, )-4(which )-4(usually )-4(means )-4(that )-4(something )-4(else )-4(is )-4(wr)17(ong, )-4(or )-4(\(b\) )-4(if )-4(the )-4(total )-4(number)]TJ -0 -1.2 TD -[(of )-21(pr)18(ocesses )-21(for )-21(this )-21(r)17(eal )-21(user )-21(ID )-21(exceeds )-21(the )-21(system\325s )-21(limit.)-521(Recall )-21(fr)18(om )-21(Figur)]TJ -0.2713 Tc 34.55 0 Td -(e2)Tj -0 Tc 1.25 0 Td -(.1)Tj -0.2713 Tc 0.695 0 Td -(1t)Tj -0 Tc 1.097 0 Td -(hat)Tj -/TT0 1 Tf --37.592 -1.2 Td -(CHILD_MAX)Tj -/T1_0 1 Tf -5.673 0 Td -[(speci\336es )-23(the )-23(maximum )-23(number )-23(of )-23(simultaneous )-23(pr)20(ocesses )-23(per )-23(r)18(eal )-23(user )-23(ID.)]TJ --3.873 -1.2 Td -(Ther)Tj -0.25 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(t)]TJ -0 Tc 1.432 0 Td -(wo uses for)Tj -/TT0 1 Tf -5.334 0 Td -(fork)Tj -/T1_0 1 Tf -(:)Tj --10.046 -1.56 Td -[(1. )-633(When)]TJ -0.3942 Tc 4.67 0 Td -(ap)Tj --0.018 Tc 1.495 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-144(wants )-144(to )-144(duplicate )-144(itself )-144(so )-144(that )-144(the )-144(par)18(ent )-144(and )-144(the )-144(child )-144(can)]TJ --5.455 -1.2 Td -[(each )-151(execute )-151(dif)19(fer)18(ent )-150(sections )-150(of )-150(code )-150(at )-150(the )-150(same )-150(time.)-650(This )-150(is )-150(common )-150(for)]TJ -T* -[(network )-18(servers)]TJ -0.0833 Tc 7.23 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-18(par)18(ent )-18(waits )-18(for )-18(a )-18(service )-18(r)18(equest )-18(fr)18(om )-18(a )-18(client.)-518(When )-18(the)]TJ --0.018 Tc -8.639 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quest )-38(arrives, )-38(the )-38(par)18(ent )-38(calls)]TJ -/TT0 1 Tf -13.334 0 Td -(fork)Tj -/T1_0 1 Tf -2.688 0 Td -[(and )-38(lets )-38(the )-38(child )-38(handle )-38(the )-38(r)17(equest. )-288(The)]TJ --16.878 -1.2 Td -[(par)18(ent goes back to waiting for the next service r)18(equest to arrive.)]TJ --1.633 -1.6 Td -[(2. )-633(When)]TJ -0.4859 Tc 4.762 0 Td -(ap)Tj --0.018 Tc 1.587 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-236(wants )-236(to )-236(execute )-236(a )-236(dif)19(fer)18(ent )-236(pr)18(ogram. )-486(This)-486(is )-236(common )-236(for)]TJ --5.639 -1.2 Td -[(shells. )-327(In)-328(this )-77(case, )-77(the )-77(child )-77(does )-77(an)]TJ -/TT0 1 Tf -16.998 0 Td -(exec)Tj -/T1_0 1 Tf -2.728 0 Td -[(\(which )-77(we )-77(describe )-77(in )-77(Section )-77(8.10\))]TJ --19.726 -1.2 Td -[(right after it r)18(eturns fr)18(om the)]TJ -/TT0 1 Tf -13.012 0 Td -(fork)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47308 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(228)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(kernel )-46(and )-46(is )-46(known )-46(as )-46(a )-46(system )-46(pr)19(ocess. )-296(Pr)18(ocess )-46(ID )-46(1 )-46(is )-46(usually )-46(the)]TJ -/TT0 1 Tf -31.021 0 Td -(init)Tj -/T1_1 1 Tf -2.696 0 Td -[(pr)18(ocess )-46(and)]TJ --33.716 -1.2 Td -[(is )-12(invoked )-12(by )-12(the )-12(kernel )-12(at )-12(the )-12(end )-12(of )-12(the )-12(bootstrap )-12(pr)21(ocedur)18(e. )-262(The)-262(pr)18(ogram )-12(\336le )-12(for )-12(this)]TJ -0 -1.2 Td -[(pr)18(ocess )-80(was)]TJ -/TT0 1 Tf -5.714 0 Td -(/etc/init)Tj -/T1_1 1 Tf -5.73 0 Td -[(in )-80(older )-80(versions )-80(of )-80(the )-80(UNIX )-80(System )-80(and )-80(is)]TJ -/TT0 1 Tf -20.353 0 Td -(/sbin/init)Tj -/T1_1 1 Tf -6.33 0 Td -(in)Tj --38.127 -1.2 Td -[(newer )-146(versions.)-646(This )-146(pr)18(ocess )-146(is )-146(r)18(esponsible )-146(for )-146(bringing )-146(up )-146(a )-146(UNIX )-146(system )-146(after )-146(the)]TJ -0 -1.2 TD -[(kernel )-81(has )-81(been )-81(bootstrapped.)]TJ -/TT0 1 Tf -14.115 0 Td -(init)Tj -/T1_1 1 Tf -2.731 0 Td -[(usually )-81(r)18(eads )-81(the )-81(system-dependent )-81(initialization)]TJ --16.846 -1.2 Td -[(\336les )167(\321 )167(the)]TJ -/TT0 1 Tf -4.893 0 Td -(/etc/rc*)Tj -/T1_1 1 Tf -5.34 0 Td -[(\336les )-290(or)]TJ -/TT0 1 Tf -3.821 0 Td -(/etc/inittab)Tj -/T1_1 1 Tf -7.74 0 Td -[(and )-290(the )-290(\336les )-290(in)]TJ -/TT0 1 Tf -7.913 0 Td -(/etc/init.d)Tj -/T1_1 1 Tf -(\321and)Tj --29.707 -1.2 Td -[(brings )-49(the )-49(system )-49(to )-49(a )-49(certain )-49(state, )-49(such )-49(as )-49(multiuser)]TJ -0.5494 Tc 23.867 0 Td -(.T)Tj -0 Tc 1.412 0 Td -(he)Tj -/TT0 1 Tf -1.36 0 Td -(init)Tj -/T1_1 1 Tf -2.699 0 Td -[(pr)18(ocess )-49(never )-49(dies.)-550(It)]TJ --29.339 -1.2 Td -[(is )-211(a )-211(normal )-211(user )-211(pr)16(ocess, )-212(not )-212(a )-212(system )-212(pr)18(ocess )-212(within )-212(the )-212(kernel, )-212(like )-212(the )-212(swapper)78(,)]TJ --0 -1.2 Td -[(although )-184(it )-184(does )-184(r)8(un )-184(with )-184(super)8(user )-184(privileges.)-684(Later )-184(in )-184(this )-184(chapter)]TJ -0.4337 Tc 31.932 0 Td -(,w)Tj -0 Tc 1.518 0 Td -[(e\325ll )-184(see )-184(how)]TJ -/TT0 1 Tf --33.45 -1.2 Td -(init)Tj -/T1_1 1 Tf -2.65 0 Td -[(becomes the par)18(ent pr)18(ocess of any orphaned child pr)18(ocess.)]TJ -7.9995 0 0 7.9995 183.5891 540.9675 Tm -[(In )-59(Mac )-59(OS )-59(X )-59(10.4, )-59(the)]TJ -/TT0 1 Tf -10.029 0 Td -(init)Tj -/T1_1 1 Tf -2.709 0 Td -[(pr)18(ocess )-59(was )-59(r)18(eplaced )-59(with )-59(the)]TJ -/TT0 1 Tf -13.801 0 Td -(launchd)Tj -/T1_1 1 Tf -4.509 0 Td -[(pr)18(ocess, )-59(which )-59(performs)]TJ --31.048 -1.25 Td -[(the )-30(same )-30(set )-30(of )-30(tasks )-30(as)]TJ -/TT0 1 Tf -10.618 0 Td -(init)Tj -/T1_1 1 Tf -0.2805 Tc (,b)Tj -0 Tc 3.483 0 Td -[(ut )-30(has )-30(expanded )-30(functionality)]TJ -0.5304 Tc 13.215 0 Td -(.S)Tj -0 Tc 1.305 0 Td -[(ee )-30(Section )-30(5.10 )-30(in )-30(Singh)]TJ -10.712 0.04 Td -([)Tj -0.333 -0.04 Td -(2006)Tj -2 0.04 Td -(])Tj --41.667 -1.29 Td -(for a discussion of how)Tj -/TT0 1 Tf -10.505 0 Td -(launchd)Tj -/T1_1 1 Tf -4.45 0 Td -(operates.)Tj -9.9994 0 0 9.9994 147.5908 499.97 Tm -[(Each )-33(UNIX )-33(System )-33(implementation )-33(has )-33(its )-33(own )-33(set )-33(of )-33(kernel )-33(pr)18(ocesses )-33(that )-33(pr)18(ovide)]TJ --1.8 -1.2 Td -[(operating )-110(system )-110(services.)-610(For )-110(example, )-110(on )-110(some )-110(virtual )-110(memory )-110(implementations )-110(of)]TJ -T* -[(the )-278(UNIX )-278(System, )-278(pr)18(ocess )-278(ID )-278(2 )-278(is )-278(the)]TJ -/T1_2 1 Tf -18.675 0 Td -(pagedaemon)Tj -/T1_1 1 Tf -0.778 Tc (.T)Tj -0 Tc 6.585 0 Td -[(his )-278(pr)18(ocess )-278(is )-278(r)18(esponsible )-278(for)]TJ --25.26 -1.2 Td -(supporting the paging of the virtual memory system.)Tj -1.8 -1.2 Td -[(In )-210(addition )-210(to )-210(the )-210(pr)18(ocess )-210(ID, )-210(ther)]TJ -0.4601 Tc 16.117 0 Td -(ea)Tj --0.018 Tc 1.439 0 Td -[(re )-246(o)]TJ -0 Tc 1.862 0 Td -[(ther )-210(identi\336ers )-210(for )-210(every )-210(pr)18(ocess. )-460(The)]TJ --21.218 -1.2 Td -[(following functions r)18(eturn these identi\336ers.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 417.275 Tm -(#include )Tj -0 -2.14 TD -(pid_t getpid\(void\);)Tj -/T1_1 1 Tf -22.821 -2.14 Td -[(Returns: pr)18(ocess ID of calling pr)18(ocess)]TJ -/TT0 1 Tf --22.821 -2.14 Td -(pid_t getppid\(void\);)Tj -/T1_1 1 Tf -19.706 -2.14 Td -[(Returns: par)18(ent pr)18(ocess ID of calling pr)18(ocess)]TJ -/TT0 1 Tf --19.706 -2.14 Td -(uid_t getuid\(void\);)Tj -/T1_1 1 Tf -22.318 -2.14 Td -[(Returns: r)18(eal user ID of calling pr)18(ocess)]TJ -/TT0 1 Tf --22.318 -2.14 Td -(uid_t geteuid\(void\);)Tj -/T1_1 1 Tf -20.254 -2.14 Td -[(Returns: ef)18(fective user ID of calling pr)18(ocess)]TJ -/TT0 1 Tf --20.254 -2.14 Td -(gid_t getgid\(void\);)Tj -/T1_1 1 Tf -21.536 -2.14 Td -[(Returns: r)18(eal gr)18(oup ID of calling pr)18(ocess)]TJ -/TT0 1 Tf --21.536 -2.14 Td -(gid_t getegid\(void\);)Tj -/T1_1 1 Tf -19.472 -2.14 Td -[(Returns: ef)18(fective gr)18(oup ID of calling pr)18(ocess)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1817.25 cm -0 0 m -0 2446 l -3900 2446 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 162.1605 Tm -[(Note )-25(that )-25(none )-25(of )-25(these )-25(functions )-25(has )-25(an )-25(err)18(or )-25(r)18(eturn. )-275(W)92(e\325ll )-25(r)18(eturn )-25(to )-25(the )-25(par)18(ent )-25(pr)18(ocess)]TJ -0 -1.2 Td -[(ID )-84(in )-84(the )-84(next )-84(section )-84(when )-84(we )-84(discuss )-84(the)]TJ -/TT0 1 Tf -19.766 0 Td -(fork)Tj -/T1_1 1 Tf -2.734 0 Td -[(function. )-333(The)]TJ --0.018 Tc 6.548 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(al )-83(and )-83(ef)18(fective )-83(user)]TJ --29.904 -1.2 Td -[(and gr)18(oup IDs wer)]TJ -0.25 Tc 8.351 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(iscussed in Section 4.4.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47309 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(7.1)55(1)]TJ -/TT0 1 Tf -25.486 0 Td -(getrlimit)Tj -/T1_0 1 Tf -5.9 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(setrlimit)Tj -/T1_0 1 Tf -5.9 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(221)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Thr)18(ee r)8(ules govern the changing of the r)18(esour)18(ce limits.)]TJ -1.8 -2.4 Td -[(1. )-633(A)-250(pr)18(ocess can change its soft limit to a value less than or equal to its har\ )]TJ -0.25 Tc 33.291 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(imit.)Tj --34.443 -1.6 Td -[(2. )-633(A)-400(pr)18(ocess )-150(can )-150(lower )-150(its )-150(har)]TJ -0.4001 Tc 14.278 0 Td -(dl)Tj -0 Tc 1.302 0 Td -[(imit )-150(to )-150(a )-150(value )-150(gr)18(eater )-150(than )-150(or )-150(equal )-150(to )-150(its )-150(soft)]TJ --13.947 -1.2 Td -[(limit. )-250(This)-250(lowering of the har)]TJ -0.25 Tc 13.441 0 Td -(dl)Tj -0 Tc 1.152 0 Td -[(imit is irr)18(eversible for normal users.)]TJ --16.226 -1.6 Td -[(3. )-633(Only)]TJ -0.25 Tc 4.098 0 Td -(as)Tj -0 Tc 1.174 0 Td -[(uper)8(user pr)18(ocess can raise a har)]TJ -0.25 Tc 14.09 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(imit.)Tj --22.314 -2.4 Td -(An in\336nite limit is speci\336ed by the constant)Tj -/TT0 1 Tf -19.473 0 Td -(RLIM_INFINITY)Tj -/T1_0 1 Tf -(.)Tj --17.673 -1.2 Td -(The)Tj -/T1_2 1 Tf --0.018 Tc 2.138 0 Td -(re)Tj -0 Tc 0.76 0 Td -[(sour)18(ce)]TJ -/T1_0 1 Tf -3.02 0 Td -[(ar)18(gument )-214(takes )-214(on )-214(one )-214(of )-214(the )-214(following )-214(values.)-712(Figur)]TJ -0.4637 Tc 25.317 0 Td -(e7)Tj -0 Tc 1.443 0 Td -[(.15 )-214(shows)]TJ --34.477 -1.2 Td -[(which )-265(limits )-265(ar)]TJ -0.5149 Tc 7.146 0 Td -(ed)Tj -0 Tc 1.605 0 Td -[(e\336ned )-265(by )-265(the )-265(Single )-265(UNIX )-265(Speci\336cation )-265(and )-265(supported )-265(by )-265(each)]TJ --8.751 -1.2 Td -(implementation.)Tj -/TT0 1 Tf -0 -2.4 TD -(RLIMIT_AS)Tj -/T1_0 1 Tf -11.4 0 Td -[(The )-320(maximum )-320(size )-320(in )-320(bytes )-320(of )-320(a )-320(pr)18(ocess\325s )-320(total )-320(available)]TJ -0 -1.2 TD -(memory)Tj -0.54 Tc 3.631 0 Td -(.T)Tj -0 Tc 1.403 0 Td -[(his )-40(af)18(fects )-40(the)]TJ -/TT0 1 Tf -6.375 0 Td -(sbrk)Tj -/T1_0 1 Tf -2.69 0 Td -[(function )-40(\(Section )-40(1.1)55(1\) )-40(and )-40(the)]TJ -/TT0 1 Tf --14.099 -1.2 Td -(mmap)Tj -/T1_0 1 Tf -2.65 0 Td -(function \(Section 14.8\).)Tj -/TT0 1 Tf --14.05 -1.6 Td -(RLIMIT_CORE)Tj -/T1_0 1 Tf -11.4 0 Td -[(The )-3(maximum )-3(size )-3(in )-3(bytes )-3(of )-3(a )-3(cor)]TJ -0.2531 Tc 15.656 0 Td -(e\336)Tj -0 Tc 1.337 0 Td -[(le. )-253(A)-253(limit )-3(of )-3(0 )-3(pr)18(events)]TJ --16.993 -1.2 Td -[(the cr)18(eation of a cor)]TJ -0.25 Tc 8.678 0 Td -(e\336)Tj -0 Tc 1.334 0 Td -(le.)Tj -/TT0 1 Tf --21.412 -1.6 Td -(RLIMIT_CPU)Tj -/T1_0 1 Tf -11.4 0 Td -[(The )-202(maximum )-202(amount )-202(of )-202(CPU )-202(time )-202(in )-202(seconds.)-699(When )-202(the)]TJ -T* -[(soft )-331(limit )-331(is )-331(exceeded, )-331(the)]TJ -/TT0 1 Tf -13.066 0 Td -(SIGXCPU)Tj -/T1_0 1 Tf -4.781 0 Td -[(signal )-331(is )-331(sent )-331(to )-331(the)]TJ --17.847 -1.2 Td -[(pr)18(ocess.)]TJ -/TT0 1 Tf --11.4 -1.6 Td -(RLIMIT_DATA)Tj -/T1_0 1 Tf -11.4 0 Td -[(The )-123(maximum )-123(size )-123(in )-123(bytes )-123(of )-123(the )-123(data )-123(segment: )-123(the )-123(sum )-123(of)]TJ -T* -[(the )-572(initialized )-572(data, )-572(uninitialized )-572(data, )-572(and )-572(heap )-572(fr)18(om)]TJ -T* -(Figur)Tj -0.25 Tc 2.383 0 Td -(e7)Tj -0 Tc 1.229 0 Td -(.6.)Tj -/TT0 1 Tf --15.012 -1.6 Td -(RLIMIT_FSIZE)Tj -/T1_0 1 Tf -11.4 0 Td -[(The )-253(maximum )-253(size )-253(in )-253(bytes )-253(of )-253(a )-253(\336le )-253(that )-253(may )-253(be )-253(cr)14(eated.)]TJ -T* -[(When )-370(the )-370(soft )-370(limit )-370(is )-370(exceeded, )-370(the )-370(pr)18(ocess )-370(is )-370(sent )-370(the)]TJ -/TT0 1 Tf -T* -(SIGXFSZ)Tj -/T1_0 1 Tf -4.45 0 Td -(signal.)Tj -/TT0 1 Tf --15.85 -1.6 Td -(RLIMIT_MEMLOCK)Tj -/T1_0 1 Tf -11.4 0 Td -[(The )-54(maximum )-54(amount )-54(of )-54(memory )-54(in )-54(bytes )-54(that )-54(a )-54(pr)18(ocess )-54(can)]TJ -T* -(lock into memory using)Tj -/TT0 1 Tf -10.78 0 Td -(mlock)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.333 -0.04 Td -(.)Tj -/TT0 1 Tf --26.346 -1.6 Td -(RLIMIT_MSGQUEUE)Tj -/T1_0 1 Tf -11.4 0 Td -[(The )-54(maximum )-54(amount )-54(of )-54(memory )-54(in )-54(bytes )-54(that )-54(a )-54(pr)18(ocess )-54(can)]TJ -T* -(allocate for POSIX message queues.)Tj -/TT0 1 Tf --11.4 -1.6 Td -(RLIMIT_NICE)Tj -/T1_0 1 Tf -11.4 0 Td -[(The )-54(limit )-54(to )-54(which )-54(a )-54(pr)19(ocess\325s )-54(nice )-54(value )-54(\(Section )-54(8.16\) )-54(can )-54(be)]TJ -T* -[(raised to af)18(fect its scheduling priority)111(.)]TJ -/TT0 1 Tf --11.4 -1.6 Td -(RLIMIT_NOFILE)Tj -/T1_0 1 Tf -11.4 0 Td -[(The )-170(maximum )-170(number )-170(of )-170(open )-170(\336les )-170(per )-170(pr)20(ocess. )-420(Changing)]TJ -T* -[(this )-83(limit )-83(af)18(fects )-83(the )-83(value )-83(r)18(eturned )-83(by )-83(the)]TJ -/TT0 1 Tf -19.36 0 Td -(sysconf)Tj -/T1_0 1 Tf -4.533 0 Td -(function)Tj --23.893 -1.2 Td -[(for )-739(its)]TJ -/TT0 1 Tf -4.294 0 Td -(_SC_OPEN_MAX)Tj -/T1_0 1 Tf -8.189 0 Td -[(ar)18(gument )-739(\(Section )-739(2.5.4\).)-1240(See)]TJ --12.483 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.229 0 Td -(.17 also.)Tj -/TT0 1 Tf --15.012 -1.6 Td -(RLIMIT_NPROC)Tj -/T1_0 1 Tf -11.4 0 Td -[(The )-216(maximum )-216(number )-216(of )-216(child )-216(pr)18(ocesses )-216(per )-216(r)19(eal )-216(user )-216(ID.)]TJ -T* -[(Changing )-859(this )-859(limit )-859(af)18(fects )-859(the )-859(value )-859(r)18(eturned )-859(for)]TJ -/TT0 1 Tf -T* -(_SC_CHILD_MAX)Tj -/T1_0 1 Tf -8.05 0 Td -(by the)Tj -/TT0 1 Tf -2.996 0 Td -(sysconf)Tj -/T1_0 1 Tf -4.45 0 Td -(function \(Section 2.5.4\).)Tj -/TT0 1 Tf --26.896 -1.6 Td -(RLIMIT_NPTS)Tj -/T1_0 1 Tf -11.4 0 Td -[(The )-71(maximum )-71(number )-71(of )-71(pseudo )-71(terminals )-71(\(Chapter )-71(19\) )-71(that)]TJ -0.25 Tc T* -(au)Tj -0 Tc 1.353 0 Td -(ser can have open at one time.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47310 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(40)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(These )-4(minimum )-4(values )-4(do )-4(not )-4(change )-4(fr)19(om )-4(one )-4(system )-4(to )-4(another)]TJ -0.5039 Tc 29.193 0 Td -(.T)Tj -0 Tc 1.367 0 Td -[(hey )-4(specify )-4(the)]TJ --32.36 -1.2 Td -[(most )-58(r)18(estrictive )-58(values )-58(for )-58(these )-58(featur)20(es. )-308(A)-307(conforming )-58(POSIX.1 )-58(implementation )-58(must)]TJ -0 -1.2 Td -[(pr)18(ovide )-236(values )-236(that )-236(ar)18(e)-486(at)-486(least )-236(this )-236(lar)18(ge. )-486(This)-486(is )-236(why )-236(they )-236(ar)]TJ -0.486 Tc 29.843 0 Td -(ec)Tj -0 Tc 1.409 0 Td -[(alled )-236(minimums,)]TJ --31.252 -1.2 Td -[(although )-66(their )-66(names )-66(all )-66(contain)]TJ -/TT0 1 Tf -14.859 0 Td -(MAX)Tj -/T1_1 1 Tf -0.5658 Tc (.A)Tj -0 Tc 3.394 0 Td -[(lso, )-66(to )-66(ensur)]TJ -0.3157 Tc 5.479 0 Td -(ep)Tj -0 Tc 1.396 0 Td -(ortability)Tj -0.3157 Tc 3.964 0 Td -(,as)Tj -0 Tc 1.805 0 Td -[(trictly )-66(conforming)]TJ --30.897 -1.2 Td -[(application )-96(must )-96(not )-96(r)17(equir)]TJ -0.3463 Tc 12.389 0 Td -(eal)Tj -0 Tc 1.963 0 Td -[(ar)18(ger )-96(value.)]TJ --0.092 Tc 5.938 0 Td -[(We )-280(d)]TJ -0 Tc 2.344 0 Td -[(escribe )-96(what )-96(each )-96(of )-96(these )-96(constants)]TJ --0.018 Tc -22.633 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(fers to as we pr)18(oceed thr)18(ough the text.)]TJ -0.3065 Tc 7.9995 0 0 7.9995 183.5888 585.3649 Tm -(As)Tj -0 Tc 1.508 0 Td -[(trictly )-56(conforming )-56(POSIX )-56(application )-56(is )-56(dif)16(fer)18(ent )-56(fr)18(om )-56(an )-56(application )-56(that )-56(is )-56(mer)18(ely )-56(POSIX)]TJ --1.508 -1.25 Td -[(conforming. )-358(A)-358(POSIX-conforming )-108(application )-108(uses )-108(only )-108(interfaces )-108(de\336ned )-108(in )-108(IEEE )-108(Standar)17(d)]TJ -0 -1.25 TD -(1003.1)Tj -2.75 0.09 Td -(-)Tj -0.333 -0.09 Td -[(2008. )-353(A)-354(strictly )-103(conforming )-103(POSIX )-103(application )-103(must )-103(meet )-103(further )-103(r)15(estrictions, )-103(such )-103(as)]TJ --3.083 -1.25 Td -[(not )-25(r)18(elying )-26(on )-26(any )-26(unde\336ned )-26(behavior)]TJ -0.2756 Tc 17.119 0 Td -(,n)Tj -0 Tc 1.108 0 Td -[(ot )-26(using )-26(any )-26(obsolescent )-26(interfaces, )-26(and )-26(not )-26(r)21(equiring)]TJ --18.227 -1.25 Td -[(values of constants lar)18(ger than the minimums shown in Figur)]TJ -0.25 Tc 27.184 0 Td -(e2)Tj -0 Tc 1.229 0 Td -(.8.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1400.25 5218.25 cm -0 0 m -3692 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 166.808 513.7383 Tm -(Name )Tj -15.045 0 Td -(Description)Tj -14.935 0 Td -(Minimum acceptable value)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1400.25 5098.25 cm -0 0 m -3692 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1400.25 5078.25 cm -0 0 m -3692 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 143.9741 499.71 Tm -(ARG_MAX )Tj -32.55 0 Td -(_POSIX_ARG_MAX)Tj -/T1_1 1 Tf --22.65 0 Td -[(maximum length of ar)18(guments to)]TJ -/TT0 1 Tf -15.106 0 Td -(exec)Tj -/T1_1 1 Tf --12.856 -1.25 Td -(functions)Tj -/TT0 1 Tf --12.15 -1.25 Td -(ATEXIT_MAX)Tj -/T1_1 1 Tf -32.55 0 Td -(32)Tj --22.65 0 Td -(maximum number of functions that can be)Tj --0.018 Tc 2.25 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(gister)18(ed with the)]TJ -/TT0 1 Tf -7.713 0 Td -(atexit)Tj -/T1_1 1 Tf -3.85 0 Td -(function)Tj -/TT0 1 Tf --24.569 -1.25 Td -(CHILD_MAX )Tj -32.55 0 Td -(_POSIX_CHILD_MAX)Tj -/T1_1 1 Tf --22.65 0 Td -[(maximum number of child pr)18(ocesses per r)18(eal)]TJ -2.25 -1.25 Td -(user ID)Tj -/TT0 1 Tf --12.15 -1.25 Td -(DELAYTIMER_MAX )Tj -32.55 0 Td -(_POSIX_DELAYTIMER_MAX)Tj -/T1_1 1 Tf --22.65 0 Td -[(maximum number of timer expiration overr)8(uns)]TJ -/TT0 1 Tf --9.9 -1.25 Td -(HOST_NAME_MAX )Tj -32.55 0 Td -(_POSIX_HOST_NAME_MAX)Tj -/T1_1 1 Tf --22.65 0 Td -[(maximum length of a host name as r)18(eturned by)]TJ -/TT0 1 Tf -2.25 -1.25 Td -(gethostname)Tj --12.15 -1.25 Td -(LOGIN_NAME_MAX )Tj -32.55 0 Td -(_POSIX_LOGIN_NAME_MAX)Tj -/T1_1 1 Tf --22.65 0 Td -(maximum length of a login name)Tj -/TT0 1 Tf --9.9 -1.25 Td -(OPEN_MAX )Tj -32.55 0 Td -(_POSIX_OPEN_MAX)Tj -/T1_1 1 Tf --22.65 0 Td -(one mor)Tj -0.25 Tc 3.663 0 Td -(et)Tj -0 Tc 1.055 0 Td -(han the maximum value assigned to)Tj -0.25 Tc -2.468 -1.25 Td -(an)Tj -0 Tc 1.332 0 Td -[(ewly cr)18(eated \336le descriptor)]TJ -/TT0 1 Tf --13.482 -1.25 Td -(PAGESIZE)Tj -/T1_1 1 Tf -32.55 0 Td -(1)Tj --22.65 0 Td -(system memory page size, in bytes)Tj -/TT0 1 Tf --9.9 -1.25 Td -(RTSIG_MAX )Tj -32.55 0 Td -(_POSIX_RTSIG_MAX)Tj -/T1_1 1 Tf --22.65 0 Td -[(maximum number of r)18(eal-time signals r)18(eserved)]TJ -2.25 -1.25 Td -(for application use)Tj -/TT0 1 Tf --12.15 -1.25 Td -(SEM_NSEMS_MAX )Tj -32.55 0 Td -(_POSIX_SEM_NSEMS_MAX)Tj -/T1_1 1 Tf --22.65 0 Td -[(maximum number of semaphor)18(es a pr)18(ocess can)]TJ -2.25 -1.25 Td -(use)Tj -/TT0 1 Tf --12.15 -1.25 Td -(SEM_VALUE_MAX )Tj -32.55 0 Td -(_POSIX_SEM_VALUE_MAX)Tj -/T1_1 1 Tf --22.65 0 Td -[(maximum value of a semaphor)18(e)]TJ -/TT0 1 Tf --9.9 -1.25 Td -(SIGQUEUE_MAX )Tj -32.55 0 Td -(_POSIX_SIGQUEUE_MAX)Tj -/T1_1 1 Tf --22.65 0 Td -(maximum number of signals that can be)Tj -2.25 -1.25 Td -[(queued for a pr)18(ocess)]TJ -/TT0 1 Tf --12.15 -1.25 Td -(STREAM_MAX )Tj -32.55 0 Td -(_POSIX_STREAM_MAX)Tj -/T1_1 1 Tf --22.65 0 Td -(maximum number of standar)Tj -0.25 Tc 13.003 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O str)18(eams a)]TJ --11.951 -1.25 Td -[(pr)18(ocess can have open at once)]TJ -/TT0 1 Tf --12.15 -1.25 Td -(SYMLOOP_MAX )Tj -32.55 0 Td -(_POSIX_SYMLOOP_MAX)Tj -/T1_1 1 Tf --22.65 0 Td -(number of symbolic links that can be traversed)Tj -2.25 -1.25 Td -[(during pathname r)18(esolution)]TJ -/TT0 1 Tf --12.15 -1.25 Td -(TIMER_MAX )Tj -32.55 0 Td -(_POSIX_TIMER_MAX)Tj -/T1_1 1 Tf --22.65 0 Td -[(maximum number of timers per pr)18(ocess)]TJ -/TT0 1 Tf --9.9 -1.25 Td -(TTY_NAME_MAX )Tj -32.55 0 Td -(_POSIX_TTY_NAME_MAX)Tj -/T1_1 1 Tf --22.65 0 Td -(length of a terminal device name, including the)Tj -2.25 -1.25 Td -(terminating null)Tj -/TT0 1 Tf --12.15 -1.25 Td -(TZNAME_MAX )Tj -32.55 0 Td -(_POSIX_TZNAME_MAX)Tj -/T1_1 1 Tf --22.65 0 Td -(number of bytes for the name of a time zone)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1400.25 2258.25 cm -0 0 m -3692 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3984.25 2258.25 cm -0 0 m -0 2960 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2172.25 2258.25 cm -0 0 m -0 2960 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5092.25 2258.25 cm -0 0 m -0 2960 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1400.25 2258.25 cm -0 0 m -0 2960 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 209.7577 207.7501 Tm -(Figure 2.9)Tj -/T1_1 1 Tf -5.195 0 Td -[(POSIX.1 r)8(untime invariant values fr)18(om)]TJ -/TT0 1 Tf -17.503 0 Td -()Tj -/T1_1 1 Tf -9.9976 0 0 9.9976 147.5638 180.1568 Tm -(Unfortunately)Tj -0.5006 Tc 6.186 0 Td -(,s)Tj -0 Tc 1.175 0 Td -[(ome )-251(of )-251(these )-251(invariant )-251(minimum )-251(values )-251(ar)]TJ -0.5006 Tc 20.268 0 Td -(et)Tj -0 Tc 1.306 0 Td -[(oo )-251(small )-251(to )-251(be )-251(of)]TJ --30.734 -1.2 Td -[(practical )-110(use.)-610(For )-110(example, )-110(most )-110(UNIX )-110(systems )-110(today )-110(pr)20(ovide )-110(far )-110(mor)]TJ -0.3599 Tc 32.243 0 Td -(et)Tj -0 Tc 1.165 0 Td -[(han )-110(20 )-110(open)]TJ --33.408 -1.2 Td -[(\336les )-83(per )-83(pr)17(ocess. )-333(Also,)-334(the )-83(minimum )-83(limit )-83(of )-83(256 )-83(for)]TJ -/TT0 1 Tf -24.228 0 Td -(_POSIX_PATH_MAX)Tj -/T1_1 1 Tf -9.333 0 Td -[(is )-83(too )-83(small.)]TJ --33.562 -1.2 Td -[(Pathnames )-263(can )-263(exceed )-263(this )-263(limit.)-763(This )-263(means )-263(that )-263(we )-263(can\325t )-263(use )-263(the )-263(two )-263(constants)]TJ -/TT0 1 Tf -0 -1.2 TD -(_POSIX_OPEN_MAX)Tj -/T1_1 1 Tf -9.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(_POSIX_PATH_MAX)Tj -/T1_1 1 Tf -9.25 0 Td -(as array sizes at compile time.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47311 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.5)]TJ -41.507 0 Td -(Limits)Tj -/T1_1 1 Tf -4.826 0 Td -(39)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(4. )-633(Runtime)-701(incr)18(easable )-451(values:)]TJ -/TT0 1 Tf -15.599 0 Td -(CHARCLASS_NAME_MAX)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -11.751 0 Td -(COLL_WEIGHTS_MAX)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf --25.717 -1.2 Td -(LINE_MAX)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -5.3 0 Td -(NGROUPS_MAX)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 7.6 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(RE_DUP_MAX)Tj -/T1_0 1 Tf --15.976 -1.6 Td -[(5. )-633(Runtime)-290(invariant )-40(values, )-40(possibly )-40(indeterminate: )-40(the )-40(17 )-40(constants )-40(in )-40(Figur)]TJ -0.2905 Tc 35.181 0 Td -(e2)Tj -0 Tc 1.269 0 Td -(.9)Tj --34.817 -1.2 Td -[(\(plus )-11(an )-11(additional )-11(four )-11(constants )-11(intr)16(oduced )-12(in )-12(Section )-12(12.2 )-12(and )-12(thr)18(ee )-12(constants)]TJ -0 -1.2 TD -[(intr)18(oduced in Section 14.5\))]TJ --1.633 -1.6 Td -[(6. )-633(Other)-1202(invariant )-952(values:)]TJ -/TT0 1 Tf -14.951 0 Td -(NL_ARGMAX)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -6.852 0 Td -(NL_MSGMAX)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -6.852 0 Td -(NL_SETMAX)Tj -/T1_0 1 Tf -1.202 Tc (,a)Tj -0 Tc 7.352 0 Td -(nd)Tj -/TT0 1 Tf --34.374 -1.2 Td -(NL_TEXTMAX)Tj -/T1_0 1 Tf --1.633 -1.6 Td -[(7. )-633(Pathname)-1255(variable )-1005(values:)]TJ -/TT0 1 Tf -16.54 0 Td -(FILESIZEBITS)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -8.705 0 Td -(LINK_MAX)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -6.305 0 Td -(MAX_CANON)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf --29.917 -1.2 Td -(MAX_INPUT)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -5.9 0 Td -(NAME_MAX)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -5.3 0 Td -(PATH_MAX)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -5.3 0 Td -(PIPE_BUF)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 5.8 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(SYMLINK_MAX)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1320.25 5350.25 cm -0 0 m -3852 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 175.6069 526.9368 Tm -(Name )Tj -11.068 0 Td -[(Description:)-250(minimum acceptable value for maximum ...)]TJ --0.092 Tc 28.502 0 Td -(Va)Tj -0 Tc 1.13 0 Td -(lue)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1320.25 5230.25 cm -0 0 m -3852 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1320.25 5210.25 cm -0 0 m -3852 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 135.9755 512.9077 Tm -(_POSIX_ARG_MAX)Tj -/T1_0 1 Tf -44.9 0 Td -(4,096)Tj --30.8 0 Td -[(length of ar)18(guments to)]TJ -/TT0 1 Tf -10.297 0 Td -(exec)Tj -/T1_0 1 Tf -2.65 0 Td -(functions)Tj -/TT0 1 Tf --27.047 -1.25 Td -(_POSIX_CHILD_MAX)Tj -/T1_0 1 Tf -46.15 0 Td -(25)Tj --32.05 0 Td -[(number of child pr)18(ocesses at a time per r)18(eal user ID)]TJ -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_DELAYTIMER_MAX)Tj -/T1_0 1 Tf -46.15 0 Td -(32)Tj --32.05 0 Td -[(number of timer expiration overr)8(uns)]TJ -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_HOST_NAME_MAX)Tj -/T1_0 1 Tf -45.65 0 Td -(255)Tj --31.55 0 Td -[(length of a host name as r)18(eturned by)]TJ -/TT0 1 Tf -16.402 0 Td -(gethostname)Tj --30.502 -1.25 Td -(_POSIX_LINK_MAX)Tj -/T1_0 1 Tf -46.65 0 Td -(8)Tj --32.55 0 Td -(number of links to a \336le)Tj -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_LOGIN_NAME_MAX)Tj -/T1_0 1 Tf -46.65 0 Td -(9)Tj --32.55 0 Td -(length of a login name)Tj -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_MAX_CANON)Tj -/T1_0 1 Tf -45.65 0 Td -(255)Tj --31.55 0 Td -(number of bytes on a terminal\325s canonical input queue)Tj -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_MAX_INPUT)Tj -/T1_0 1 Tf -45.65 0 Td -(255)Tj --31.55 0 Td -(space available on a terminal\325s input queue)Tj -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_NAME_MAX)Tj -/T1_0 1 Tf -46.15 0 Td -(14)Tj --32.05 0 Td -(number of bytes in a \336lename, not including the terminating null)Tj -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_NGROUPS_MAX)Tj -/T1_0 1 Tf -46.65 0 Td -(8)Tj --32.55 0 Td -[(number of simultaneous supplementary gr)18(oup IDs per pr)18(ocess)]TJ -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_OPEN_MAX)Tj -/T1_0 1 Tf -46.15 0 Td -(20)Tj --32.05 0 Td -[(maximum number of open \336les per pr)18(ocess)]TJ -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_PATH_MAX)Tj -/T1_0 1 Tf -45.65 0 Td -(256)Tj --31.55 0 Td -(number of bytes in a pathname, including the terminating null)Tj -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_PIPE_BUF)Tj -/T1_0 1 Tf -45.65 0 Td -(512)Tj --31.55 0 Td -(number of bytes that can be written atomically to a pipe)Tj -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_RE_DUP_MAX)Tj -/T1_0 1 Tf -45.65 0 Td -(255)Tj --31.55 0 Td -[(number of r)18(epeated occurr)18(ences of a basic r)18(egular expr)18(ession)]TJ -2.25 -1.25 Td -(permitted by the)Tj -/TT0 1 Tf -7.637 0 Td -(regexec)Tj -/T1_0 1 Tf -4.45 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(regcomp)Tj -/T1_0 1 Tf -4.45 0 Td -(functions when)Tj --18.48 -1.25 Td -(using the interval notation)Tj -/TT0 1 Tf -11.971 0 Td -(\\{m,n\\})Tj --28.321 -1.25 Td -(_POSIX_RTSIG_MAX)Tj -/T1_0 1 Tf -46.65 0 Td -(8)Tj --32.55 0 Td -[(number of r)18(eal-time signal numbers r)18(eserved for applications)]TJ -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_SEM_NSEMS_MAX)Tj -/T1_0 1 Tf -45.65 0 Td -(256)Tj --31.55 0 Td -[(number of semaphor)18(es a pr)18(ocess can have in use at one time)]TJ -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_SEM_VALUE_MAX)Tj -/T1_0 1 Tf -44.4 0 Td -(32,767)Tj --30.3 0 Td -(value a semaphor)Tj -0.25 Tc 7.83 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(an hold)Tj -/TT0 1 Tf --23.103 -1.25 Td -(_POSIX_SIGQUEUE_MAX)Tj -/T1_0 1 Tf -46.15 0 Td -(32)Tj --32.05 0 Td -[(number of queued signals a pr)18(ocess can send and have pending)]TJ -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_SSIZE_MAX)Tj -/T1_0 1 Tf -44.4 0 Td -(32,767)Tj --30.3 0 Td -[(value that can be stor)18(ed in)]TJ -/TT0 1 Tf -11.866 0 Td -(ssize_t)Tj -/T1_0 1 Tf -4.45 0 Td -(object)Tj -/TT0 1 Tf --30.416 -1.25 Td -(_POSIX_STREAM_MAX)Tj -/T1_0 1 Tf -46.65 0 Td -(8)Tj --32.55 0 Td -(number of standar)Tj -0.25 Tc 8.194 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O str)18(eams a pr)18(ocess can have open at once)]TJ -/TT0 1 Tf --23.492 -1.25 Td -(_POSIX_SYMLINK_MAX)Tj -/T1_0 1 Tf -45.65 0 Td -(255)Tj --31.55 0 Td -(number of bytes in a symbolic link)Tj -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_SYMLOOP_MAX)Tj -/T1_0 1 Tf -46.65 0 Td -(8)Tj --32.55 0 Td -(number of symbolic links that can be traversed during pathname)Tj --0.018 Tc 2.25 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(solution)Tj -/TT0 1 Tf --17.206 -1.25 Td -(_POSIX_TIMER_MAX)Tj -/T1_0 1 Tf -46.15 0 Td -(32)Tj --32.05 0 Td -[(number of timers per pr)18(ocess)]TJ -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_TTY_NAME_MAX)Tj -/T1_0 1 Tf -46.65 0 Td -(9)Tj --32.55 0 Td -(length of a terminal device name, including the terminating null)Tj -/TT0 1 Tf --14.1 -1.25 Td -(_POSIX_TZNAME_MAX)Tj -/T1_0 1 Tf -46.65 0 Td -(6)Tj --32.55 0 Td -(number of bytes for the name of a time zone)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1320.25 2390.25 cm -0 0 m -3852 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4852.25 2390.25 cm -0 0 m -0 2960 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2428.25 2390.25 cm -0 0 m -0 2960 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5172.25 2390.25 cm -0 0 m -0 2960 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1320.25 2390.25 cm -0 0 m -0 2960 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 223.4224 220.947 Tm -(Figure 2.8)Tj -/T1_0 1 Tf -5.195 0 Td -[(POSIX.1 minimum values fr)18(om)]TJ -/TT0 1 Tf -14.086 0 Td -()Tj -/T1_0 1 Tf -9.9976 0 0 9.9976 129.5691 190.9542 Tm -[(Of )-26(these )-26(limits )-26(and )-26(constants, )-26(some )-26(may )-26(be )-26(de\336ned )-26(in)]TJ -/TT0 1 Tf -24.319 0 Td -()Tj -/T1_0 1 Tf -0.2765 Tc (,a)Tj -0 Tc 7.026 0 Td -[(nd )-26(others )-26(may )-26(or)]TJ --31.346 -1.2 Td -[(may )-269(not )-269(be )-269(de\336ned, )-269(depending )-269(on )-269(certain )-269(conditions.)]TJ --0.092 Tc 26.275 0 Td -[(We )-453(d)]TJ -0 Tc 2.517 0 Td -[(escribe )-269(the )-269(limits )-269(and)]TJ --28.792 -1.2 Td -[(constants )-269(that )-269(may )-269(or )-269(may )-269(not )-269(be )-269(de\336ned )-269(in )-269(Section )-269(2.5.4, )-269(when )-269(we )-269(describe )-269(the)]TJ -/TT0 1 Tf -T* -(sysconf)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.8 0 Td -(pathconf)Tj -/T1_0 1 Tf -0.35 Tc (,a)Tj -0 Tc 5.9 0 Td -(nd)Tj -/TT0 1 Tf -1.543 0 Td -(fpathconf)Tj -/T1_0 1 Tf -5.75 0 Td -[(functions. )-350(The)-350(25 )-100(minimum )-100(values )-100(ar)]TJ -0.35 Tc 17.21 0 Td -(es)Tj -0 Tc 1.253 0 Td -(hown)Tj --36.456 -1.2 Td -(in Figur)Tj -0.25 Tc 3.506 0 Td -(e2)Tj -0 Tc 1.229 0 Td -(.8.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47312 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(918)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Chapter )-278(6)]TJ -/T1_0 1 Tf -3.6 -2.56 Td -(6.1)Tj -/T1_1 1 Tf -2.602 0 Td -[(The )-306(functions )-306(to )-306(access )-306(the )-306(shadow )-306(passwor)]TJ -0.5565 Tc 21.321 0 Td -(d\336)Tj -0 Tc 1.772 0 Td -[(le )-306(on )-306(Linux )-306(and )-306(Solaris )-306(ar)16(e)]TJ --23.093 -1.2 Td -[(discussed )-52(in )-52(Section )-52(6.3.)]TJ --0.092 Tc 11.335 0 Td -[(We )-236(c)]TJ -0 Tc 2.133 0 Td -[(an\325t )-52(use )-52(the )-52(value )-52(r)18(eturned )-52(in )-52(the)]TJ -/TT1 1 Tf -15.242 0 Td -(pw_passwd)Tj -/T1_1 1 Tf -5.702 0 Td -(\336eld)Tj --34.412 -1.2 Td -[(by )-10(the )-10(functions )-10(described )-10(in )-10(Section )-10(6.2 )-10(to )-10(compar)15(e)-260(an)-260(e)-1(ncrypted )-10(passwor)18(d, )-10(since)]TJ --0 -1.2 Td -[(that )-20(\336eld )-20(is )-20(not )-20(the )-20(encrypted )-20(passwor)15(d. )-270(Instead,)-271(we )-20(need )-20(to )-20(\336nd )-20(the )-20(user)-74(\325s )-20(entry)]TJ -0 -1.2 Td -(in the shadow \336le and use its encrypted passwor)Tj -0.25 Tc 21.551 0 Td -(d\336)Tj -0 Tc 1.466 0 Td -(eld.)Tj --23.017 -1.8 Td -[(On )-80(Fr)18(eeBSD )-80(and )-80(Mac )-80(OS )-80(X, )-80(the )-80(passwor)]TJ -0.3296 Tc 18.38 0 Td -(d\336)Tj -0 Tc 1.546 0 Td -[(le )-80(is )-80(shadowed )-80(automatically)]TJ -0.5796 Tc 13.007 0 Td -(.I)Tj -0.3296 Tc 1.167 0 Td -(nt)Tj -0 Tc 1.238 0 Td -(he)Tj -/TT1 1 Tf --35.337 -1.2 Td -(passwd)Tj -/T1_1 1 Tf -4.076 0 Td -[(str)8(uctur)]TJ -0.4759 Tc 3.49 0 Td -(er)Tj -0 Tc 1.332 0 Td -[(eturned )-226(by)]TJ -/TT1 1 Tf -5.536 0 Td -(getpwnam)Tj -/T1_1 1 Tf -5.276 0 Td -(and)Tj -/TT1 1 Tf -2.169 0 Td -(getpwuid)Tj -/T1_1 1 Tf -5.276 0 Td -[(on )-226(Fr)18(eeBSD )-226(8.0, )-226(the)]TJ -/TT1 1 Tf --27.154 -1.2 Td -(pw_passwd)Tj -/T1_1 1 Tf -6.025 0 Td -[(\336eld )-375(contains )-375(the )-375(encrypted )-375(passwor)18(d, )-375(but )-375(only )-375(if )-375(the )-375(caller)-70(\325s)]TJ --6.025 -1.2 Td -[(ef)18(fective )-295(user )-295(ID )-295(is )-295(0.)-794(On )-295(Mac )-295(OS )-295(X )-295(10.6.8, )-295(the )-295(encrypted )-295(passwor)19(d)-545(is)-545(not)]TJ --0 -1.2 Td -(accessible using these interfaces.)Tj -/T1_0 1 Tf --2.602 -1.84 Td -(6.2)Tj -/T1_1 1 Tf -2.602 0 Td -[(The )-204(pr)18(ogram )-204(in )-204(Figur)]TJ -0.4544 Tc 10.151 0 Td -(eC)Tj -0 Tc 1.642 0 Td -[(.5 )-204(prints )-204(the )-204(encrypted )-204(passwor)17(d)-454(on)-454(L)-1(inux )-204(3.2.0 )-204(and)]TJ --11.794 -1.2 Td -[(Solaris )-198(10.)-698(Unless )-198(this )-198(pr)18(ogram )-198(is )-198(r)8(un )-198(with )-198(super)8(user )-198(permissions, )-198(the )-198(call )-198(to)]TJ -/TT1 1 Tf -0 -1.2 TD -(getspnam)Tj -/T1_1 1 Tf -5.05 0 Td -[(fails with an err)18(or of)]TJ -/TT1 1 Tf -9.275 0 Td -(EACCES)Tj -/T1_1 1 Tf -(.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1556.25 4798.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1596.25 4798.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 155.6013 470.2426 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -[(main\(void\) )-3000(/*)-600(Linux/Solaris version */)]TJ -T* -({)Tj -2.4 -1.189 Td -(struct spwd *ptr;)Tj -0 -2.14 TD -(if \(\(ptr = getspnam\("sar"\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("getspnam error"\);)Tj --2.4 -1.189 Td -(printf\("sp_pwdp = %s\\n", ptr->sp_pwdp == NULL ||)Tj -1.2 -1.189 Td -[(ptr->sp_pwdp[0] == 0 ?)-1200("\(null\)" : ptr->sp_pwdp\);)]TJ --1.2 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1556.25 3307.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1596.25 3307.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 226.1973 314.6214 Tm -(Figure C.5)Tj -/T1_1 1 Tf -5.417 0 Td -(Print encrypted passwor)Tj -0.25 Tc 10.877 0 Td -(du)Tj -0 Tc 1.464 0 Td -(nder Linux and Solaris)Tj -9.9982 0 0 9.9982 155.592 285.8265 Tm -[(Under )-116(Fr)18(eeBSD )-116(8.0, )-116(the )-116(pr)18(ogram )-116(in )-116(Figur)]TJ -0.3661 Tc 18.844 0 Td -(eC)Tj -0 Tc 1.554 0 Td -[(.6 )-116(prints )-116(the )-116(encrypted )-116(passwor)]TJ -0.366 Tc 14.399 0 Td -(di)Tj -0 Tc 1.268 0 Td -(f)Tj --36.065 -1.2 Td -[(the )-41(pr)18(ogram )-41(is )-41(r)8(un )-41(with )-41(super)8(user )-41(permissions.)-541(Otherwise, )-41(the )-41(value )-41(r)18(eturned )-41(in)]TJ -/TT1 1 Tf -0 -1.2 TD -(pw_passwd)Tj -/T1_1 1 Tf -5.666 0 Td -[(is )-16(an )-16(asterisk.)-516(On )-16(Mac )-16(OS )-16(X )-16(10.6.8, )-16(asterisks )-16(ar)]TJ -0.2664 Tc 20.772 0 Td -(ep)Tj -0 Tc 1.346 0 Td -[(rinted )-16(r)18(egar)18(dless )-16(of)]TJ --27.784 -1.2 Td -[(the permissions with which it is r)8(un.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1556.25 2427.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1596.25 2427.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9978 0 0 8.9978 155.5827 233.121 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -[(main\(void\) )-3000(/*)-600(FreeBSD/Mac OS X version */)]TJ -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(struct passwd)-1800(*ptr;)]TJ -0 -2.14 TD -(if \(\(ptr = getpwnam\("sar"\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("getpwnam error"\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47313 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(809)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(53 )Tj -7.2 0 Td -[(})-600(else {)]TJ --7.2 -1.189 Td -(54 )Tj -9.6 0 Td -[(submit_file\(fd,)-600(sfd, argv[optind], sbuf.st_size, text\);)]TJ --9.6 -1.189 Td -(55 )Tj -9.6 0 Td -(exit\(0\);)Tj --9.6 -1.189 Td -(56 )Tj -7.2 0 Td -(})Tj --7.2 -1.189 Td -[(57 )-3000(})]TJ -0 -1.189 TD -[(58 )-3000(err_exit\(err,)-600("print: can\325t contact %s", host\);)]TJ -0 -1.189 TD -[(59 )-1200(})]TJ -0 -2.14 TD -[(60 )-1200(/*)]TJ -0 -1.189 TD -[(61 )-1800(*)-600(Send a file to the printer daemon.)]TJ -0 -1.189 TD -[(62 )-1800(*/)]TJ -T* -[(63 )-1200(void)]TJ -T* -[(64 )-1200(submit_file\(int)-600(fd, int sockfd, const char *fname, size_t nbytes,)]TJ -T* -(65 )Tj -10.2 0 Td -[(int)-600(text\))]TJ --10.2 -1.189 Td -[(66 )-1200({)]TJ -T* -[(67 )-3000(int)]TJ -16.8 0 Td -(nr, nw, len;)Tj --16.8 -1.189 Td -[(68 )-3000(struct)-600(passwd )-3600(*pwd;)]TJ -T* -[(69 )-3000(struct)-600(printreq )-2400(req;)]TJ -0 -1.189 TD -[(70 )-3000(struct)-600(printresp )-1800(res;)]TJ -0 -1.189 TD -[(71 )-3000(char)]TJ -16.8 0 Td -(buf[IOBUFSZ];)Tj --16.8 -2.14 Td -[(72 )-3000(/*)]TJ -0 -1.189 TD -[(73 )-3600(*)-600(First build the header.)]TJ -0 -1.189 TD -[(74 )-3600(*/)]TJ -T* -[(75 )-3000(if)-600(\(\(pwd = getpwuid\(geteuid\(\)\)\) == NULL\) {)]TJ -T* -(76 )Tj -7.2 0 Td -[(strcpy\(req.usernm,)-600("unknown"\);)]TJ --7.2 -1.189 Td -[(77 )-3000(})-600(else {)]TJ -T* -(78 )Tj -7.2 0 Td -[(strncpy\(req.usernm,)-600(pwd->pw_name, USERNM_MAX-1\);)]TJ --7.2 -1.189 Td -(79 )Tj -7.2 0 Td -(req.usernm[USERNM_MAX-1])Tj -0.6 Tc 15 0 Td -(=\325)Tj -0 Tc 1.8 0 Td -(\\0\325;)Tj --24 -1.189 Td -[(80 )-3000(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3487.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 324.639 Tm -[([53 )167(\320 )167(59])-668(If )-559(we )-559(ar)]TJ -0.809 Tc 8.478 0 Td -(ea)Tj -0 Tc 1.788 0 Td -[(ble )-559(to )-559(connect )-559(to )-559(the )-559(printer )-559(spooling )-559(daemon, )-559(we )-559(call)]TJ -/TT0 1 Tf --6.266 -1.2 Td -(submit_file)Tj -/T1_0 1 Tf -6.945 0 Td -[(to )-95(transmit )-95(the )-95(\336le )-95(we )-95(want )-95(to )-95(print )-95(to )-95(the )-95(daemon.)-595(Then )-95(we)]TJ --6.945 -1.2 Td -[(exit )-163(with )-163(a )-163(value )-163(of )-163(0 )-163(to )-163(indicate )-163(success.)-663(If )-163(we )-163(can\325t )-163(connect )-163(to )-163(any )-163(of )-163(the)]TJ -0 -1.2 TD -[(addr)18(esses, )-3(we )-3(call)]TJ -/TT0 1 Tf -8.177 0 Td -(err_exit)Tj -/T1_0 1 Tf -5.053 0 Td -[(to )-3(print )-3(an )-3(err)18(or )-3(message )-3(and )-3(exit )-3(with )-3(a )-3(value )-3(of)]TJ --13.23 -1.2 Td -[(1)-294(to)-294(i)1(ndicate )-44(failur)18(e. )-294(\(Appendix)]TJ -0.2937 Tc 14.531 0 Td -(Bc)Tj -0 Tc 1.349 0 Td -[(ontains )-44(the )-44(sour)18(ce )-44(code )-44(for)]TJ -/TT0 1 Tf -12.334 0 Td -(err_exit)Tj -/T1_0 1 Tf -5.094 0 Td -(and)Tj --33.307 -1.2 Td -[(the other err)18(or r)18(outines.\))]TJ --4 -1.6 Td -[([60 )167(\320 )167(80])-668(The)]TJ -/TT0 1 Tf -5.943 0 Td -(submit_file)Tj -/T1_0 1 Tf -6.869 0 Td -[(function )-19(sends )-19(a )-19(print )-19(r)19(equest )-19(to )-19(the )-19(daemon )-19(and )-19(r)18(eads )-19(the)]TJ --0.018 Tc -8.812 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sponse. )-346(First,)-347(we )-96(build )-96(the)]TJ -/TT0 1 Tf -12.58 0 Td -(printreq)Tj -/T1_0 1 Tf --0.018 Tc 5.146 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(quest )-97(header)]TJ -0.5966 Tc 5.711 0 Td -(.W)Tj -0.3466 Tc 1.755 0 Td -(eu)Tj -0 Tc 1.429 0 Td -(se)Tj -/TT0 1 Tf -1.25 0 Td -(geteuid)Tj -/T1_0 1 Tf -4.547 0 Td -(to)Tj --34.128 -1.2 Td -[(get )-20(the )-20(caller)-74(\325s )-20(ef)19(fective )-19(user )-19(ID )-19(and )-19(pass )-19(this )-19(to)]TJ -/TT0 1 Tf -21.479 0 Td -(getpwuid)Tj -/T1_0 1 Tf -5.069 0 Td -[(to )-19(look )-19(for )-19(the )-19(user)]TJ --26.549 -1.2 Td -[(in )-70(the )-70(system\325s )-70(passwor)]TJ -0.3199 Tc 10.72 0 Td -(d\336)Tj -0 Tc 1.536 0 Td -[(le. )-320(W)]TJ -0.3199 Tc 2.498 0 Td -(ec)Tj -0 Tc 1.243 0 Td -[(opy )-70(the )-70(user)-74(\325s )-70(name )-70(to )-70(the )-70(r)19(equest )-70(header)]TJ --15.996 -1.2 Td -[(or )-5(use )-5(the )-5(string)]TJ -/TT0 1 Tf -7.429 0 Td -(unknown)Tj -/T1_0 1 Tf -4.455 0 Td -[(if )-5(we )-5(can\325t )-5(identify )-5(the )-5(user)]TJ -0.5051 Tc 12.025 0 Td -(.W)Tj -0.2551 Tc 1.663 0 Td -(eu)Tj -0 Tc 1.337 0 Td -(se)Tj -/TT0 1 Tf -1.158 0 Td -(strncpy)Tj -/T1_0 1 Tf -4.455 0 Td -(when)Tj --32.523 -1.2 Td -[(copying )-74(the )-74(name )-74(fr)18(om )-74(the )-74(passwor)]TJ -0.3242 Tc 16.26 0 Td -(d\336)Tj -0 Tc 1.54 0 Td -[(le )-74(to )-74(avoid )-74(writing )-74(past )-74(the )-74(end )-74(of )-74(the)]TJ --17.8 -1.2 Td -[(user )-82(name )-82(buf)18(fer )-82(in )-82(the )-82(r)17(equest )-82(header)]TJ -0.5821 Tc 17.496 0 Td -(.I)Tj -0.3321 Tc 1.169 0 Td -(ft)Tj -0 Tc 0.991 0 Td -[(he )-82(name )-82(is )-82(longer )-82(than )-82(the )-82(size )-82(of)]TJ --19.656 -1.2 Td -[(the )-139(buf)18(fer)74(,)]TJ -/TT0 1 Tf -5.018 0 Td -(strncpy)Tj -/T1_0 1 Tf -4.589 0 Td -[(won\325t )-139(stor)]TJ -0.3886 Tc 4.628 0 Td -(eat)Tj -0 Tc 2.082 0 Td -[(erminating )-139(null )-139(byte )-139(in )-139(the )-139(buf)20(fer)74(,)-389(so)-389(w)1(e)]TJ --16.317 -1.2 Td -(need to do it ourselves.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47314 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.3)]TJ -34.529 0 Td -[(Unique )-250(Connections)]TJ -/T1_1 1 Tf -11.304 0 Td -(637)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(The)Tj -/TT0 1 Tf -2.035 0 Td -(serv_listen)Tj -/T1_0 1 Tf -6.961 0 Td -[(function )-111(\(Figur)]TJ -0.3607 Tc 6.784 0 Td -(e1)Tj -0 Tc 1.34 0 Td -[(7.8\) )-111(can )-111(be )-111(used )-111(by )-111(a )-111(server )-111(to )-111(announce )-111(its)]TJ --18.919 -1.2 Td -[(willingness )-34(to )-34(listen )-34(for )-34(client )-34(connect )-34(r)17(equests )-34(on )-34(a )-34(well-known )-34(name )-34(\(some )-34(pathname)]TJ -0 -1.2 TD -[(in )-59(the )-59(\336le )-59(system\).)-560(Clients )-59(will )-59(use )-59(this )-59(name )-59(when )-59(they )-59(want )-59(to )-59(connect )-59(to )-59(the )-59(server)70(.)]TJ -T* -[(The )-86(r)18(eturn )-86(value )-86(is )-86(the )-86(server)-74(\325s )-86(UNIX )-86(domain )-86(socket )-86(used )-86(to )-86(r)18(eceive )-86(client )-86(connection)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -(quests.)Tj -0.944 -1.2 Td -(The)Tj -/TT0 1 Tf -2.035 0 Td -(serv_accept)Tj -/T1_0 1 Tf -6.961 0 Td -[(function )-111(\(Figur)]TJ -0.3608 Tc 6.784 0 Td -(e1)Tj -0 Tc 1.34 0 Td -[(7.9\) )-111(is )-111(used )-111(by )-111(a )-111(server )-111(to )-111(wait )-111(for )-111(a )-111(client\325s)]TJ --18.919 -1.2 Td -[(connect )-153(r)18(equest )-153(to )-153(arrive.)-655(When )-154(one )-154(arrives, )-154(the )-154(system )-154(automatically )-154(cr)18(eates )-154(a )-154(new)]TJ -T* -[(UNIX )-11(domain )-11(socket, )-11(connects )-11(it )-11(to )-11(the )-11(client\325s )-11(socket, )-11(and )-11(r)20(eturns )-11(the )-11(new )-11(socket )-11(to )-11(the)]TJ -T* -(server)Tj -0.5266 Tc 2.663 0 Td -(.A)Tj -0 Tc 1.555 0 Td -(dditionally)Tj -0.2766 Tc 4.785 0 Td -(,t)Tj -0 Tc 0.853 0 Td -[(he )-27(ef)18(fective )-27(user )-27(ID )-27(of )-27(the )-27(client )-27(is )-27(stor)18(ed )-27(in )-27(the )-27(memory )-27(to )-27(which)]TJ -/T1_2 1 Tf --9.855 -1.2 Td -(uidptr)Tj -/T1_0 1 Tf -2.806 0 Td -(points.)Tj -0.348 Tc -1.006 -1.2 Td -(Ac)Tj -0 Tc 1.57 0 Td -[(lient )-98(calls)]TJ -/TT0 1 Tf -4.615 0 Td -(cli_conn)Tj -/T1_0 1 Tf -5.148 0 Td -(\(Figur)Tj -0.348 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.327 0 Td -[(7.10\) )-98(to )-98(connect )-98(to )-98(a )-98(server)]TJ -0.598 Tc 12.133 0 Td -(.T)Tj -0 Tc 1.461 0 Td -(he)Tj -/T1_2 1 Tf -1.409 0 Td -(name)Tj -/T1_0 1 Tf -2.515 0 Td -[(ar)18(gument)]TJ --34.694 -1.2 Td -[(speci\336ed )-12(by )-12(the )-12(client )-12(must )-12(be )-12(the )-12(same )-12(name )-12(that )-12(was )-12(advertised )-12(by )-12(the )-12(server)-74(\325s )-12(call )-12(to)]TJ -/TT0 1 Tf -T* -(serv_listen)Tj -/T1_0 1 Tf -0.5 Tc (.O)Tj -0.25 Tc 8.136 0 Td -(nr)Tj -0 Tc 1.209 0 Td -[(eturn, the client gets a \336le descriptor connected to the server)74(.)]TJ --7.545 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(7.8 shows the)Tj -/TT0 1 Tf -6.197 0 Td -(serv_listen)Tj -/T1_0 1 Tf -6.85 0 Td -(function.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5058.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 496.2394 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -2.021 TD -[(#define QLEN)-2400(10)]TJ -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(reate a server endpoint of a connection.)Tj -0.6 Tc -1.8 -1.189 Td -(*R)Tj -0 Tc 1.8 0 Td -(eturns fd if all OK, <0 on error.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(int)Tj -0 -1.189 TD -(serv_listen\(const char *name\))Tj -T* -({)Tj -2.4 -1.189 Td -(int )Tj -12 0 Td -[(fd,)-600(len, err, rval;)]TJ --12 -1.189 Td -[(struct sockaddr_un)-1200(un;)]TJ -0 -2.021 TD -(if \(strlen\(name\) >= sizeof\(un.sun_path\)\) {)Tj -2.4 -1.189 Td -(errno = ENAMETOOLONG;)Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/* create a UNIX domain stream socket */)Tj -0 -1.189 TD -(if \(\(fd = socket\(AF_UNIX, SOCK_STREAM, 0\)\) < 0\))Tj -2.4 -1.189 Td -(return\(-2\);)Tj --2.4 -2.021 Td -[(unlink\(name\); )-1200(/*)-600(in case it already exists */)]TJ -0 -2.021 TD -(/* fill in socket address structure */)Tj -0 -1.189 TD -(memset\(&un, 0, sizeof\(un\)\);)Tj -T* -(un.sun_family = AF_UNIX;)Tj -T* -(strcpy\(un.sun_path, name\);)Tj -T* -(len = offsetof\(struct sockaddr_un, sun_path\) + strlen\(name\);)Tj -0 -2.021 TD -(/* bind the name to the descriptor */)Tj -0 -1.189 TD -(if \(bind\(fd, \(struct sockaddr *\)&un, len\) < 0\) {)Tj -2.4 -1.189 Td -(rval = -3;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47315 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(586)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 163.9202 668.9599 Tm -[(with )-66(a )-66(key )-66(of)]TJ -/TT0 1 Tf -6.268 0 Td -(IPC_PRIVATE)Tj -/T1_1 1 Tf -0.5663 Tc (.T)Tj -0 Tc 8.029 0 Td -[(he )-66(server )-66(also )-66(has )-66(its )-66(own )-66(queue, )-66(with )-66(a )-66(key )-66(or)]TJ --14.298 -1.2 Td -[(identi\336er )-111(known )-111(to )-111(all )-111(clients.)-613(The )-111(client )-111(sends )-111(its )-111(\336rst )-111(r)18(equest )-111(to )-111(the )-111(server)-78(\325s)]TJ -0 -1.2 TD -[(well-known )-80(queue, )-80(and )-80(this )-80(r)18(equest )-80(must )-80(contain )-80(the )-80(message )-80(queue )-80(ID )-80(of )-80(the)]TJ -T* -[(client\325s )-94(queue.)-594(The )-94(server )-94(sends )-94(its )-94(\336rst )-94(r)18(esponse )-94(to )-94(the )-94(client\325s )-94(queue, )-94(and )-94(all)]TJ -T* -(futur)Tj -0.25 Tc 2.242 0 Td -(er)Tj -0 Tc 1.106 0 Td -[(equests and r)18(esponses ar)]TJ -0.25 Tc 10.951 0 Td -(ee)Tj -0 Tc 1.208 0 Td -(xchanged on this queue.)Tj --15.507 -2.16 Td -[(One )-114(pr)18(oblem )-114(with )-114(this )-114(technique )-114(is )-114(that )-114(each )-114(client-speci\336c )-114(queue )-114(usually )-114(has)]TJ -T* -[(only )-112(a )-112(single )-112(message )-112(on )-112(it: )-112(a )-112(r)18(equest )-112(for )-112(the )-112(server )-112(or )-112(a )-112(r)18(esponse )-112(for )-112(a )-112(client.)]TJ -T* -[(This )-43(seems )-43(wasteful )-43(of )-43(a )-43(limited )-43(systemwide )-43(r)19(esour)18(ce )-43(\(a )-43(message )-43(queue\), )-43(and )-43(a)]TJ --0 -1.2 Td -[(FIFO )-258(can )-258(be )-258(used )-258(instead.)-758(Another )-258(pr)18(oblem )-258(is )-258(that )-258(the )-258(server )-258(has )-258(to )-258(r)14(ead)]TJ -T* -[(messages )-434(fr)18(om )-434(multiple )-434(queues.)-932(Neither)]TJ -/TT0 1 Tf -20.522 0 Td -(select)Tj -/T1_1 1 Tf -4.284 0 Td -(nor)Tj -/TT0 1 Tf -2.206 0 Td -(poll)Tj -/T1_1 1 Tf -3.084 0 Td -[(works )-433(with)]TJ --30.096 -1.2 Td -(message queues.)Tj --3.433 -2.4 Td -[(Either )-36(of )-36(these )-36(two )-36(techniques )-36(using )-36(message )-36(queues )-36(can )-36(be )-36(implemented )-36(using )-36(shar)20(ed)]TJ -T* -[(memory segments and a synchr)18(onization method \(a semaphor)18(e)-250(or)-250(r)18(ecor)]TJ -0.25 Tc 31.762 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(ocking\).)Tj --31.114 -1.2 Td -[(The )-117(pr)18(oblem )-117(with )-117(this )-117(type )-117(of )-117(client\320server )-117(r)18(elationship )-117(\(the )-117(client )-117(and )-117(the )-117(server)]TJ --1.8 -1.2 Td -[(being )-74(unr)18(elated )-74(pr)18(ocesses\) )-74(is )-74(for )-74(the )-74(server )-74(to )-74(identify )-74(the )-74(client )-74(accurately)]TJ -0.5742 Tc 33.487 0 Td -(.U)Tj -0 Tc 1.602 0 Td -[(nless )-74(the)]TJ --35.089 -1.2 Td -[(server )-37(is )-37(performing )-37(a )-37(nonprivileged )-37(operation, )-37(it )-37(is )-37(essential )-37(that )-37(the )-37(server )-37(know )-37(who)]TJ -T* -[(the )-257(client )-257(is.)-757(This )-257(is )-257(r)18(equir)18(ed, )-257(for )-257(example, )-257(if )-257(the )-257(server )-257(is )-257(a )-257(set-user)18(-ID )-257(pr)16(ogram.)]TJ -T* -[(Although )-74(all )-74(these )-74(forms )-74(of )-74(IPC )-74(go )-74(thr)21(ough )-73(the )-73(kernel, )-73(ther)17(e)-323(is)-323(no)-323(f)-1(acility )-73(pr)18(ovided )-73(by)]TJ -0 -1.2 Td -[(them to have the kernel identify the sender)74(.)]TJ --0.055 Tc 1.8 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-14(message )-14(queues, )-14(if )-14(a )-14(single )-14(queue )-14(is )-14(used )-14(between )-14(the )-14(client )-14(and )-14(the )-14(server )-14(\(so)]TJ --3.036 -1.2 Td -(that only a single message is on the queue at a time, for example\), the\ )Tj -/TT0 1 Tf -30.833 0 Td -(msg_lspid)Tj -/T1_1 1 Tf -5.65 0 Td -(of the)Tj --36.484 -1.2 Td -[(queue )-142(contains )-142(the )-142(pr)18(ocess )-142(ID )-142(of )-142(the )-142(other )-142(pr)15(ocess. )-392(But)-393(when )-142(writing )-142(the )-142(server)]TJ -0.3925 Tc 37.045 0 Td -(,w)Tj -0 Tc 1.476 0 Td -(e)Tj --38.521 -1.2 Td -[(want )-73(the )-73(ef)18(fective )-73(user )-73(ID )-73(of )-73(the )-73(client, )-73(not )-73(its )-73(pr)17(ocess )-73(ID.)-573(Ther)18(e)-323(is)-323(no)-323(portable )-73(way )-73(to)]TJ --0 -1.2 Td -[(obtain )-39(the )-39(ef)18(fective )-39(user )-39(ID, )-39(given )-39(the )-39(pr)18(ocess )-39(ID.)-538(\(Naturally)]TJ -0.2889 Tc 27.039 0 Td -(,t)Tj -0 Tc 0.865 0 Td -[(he )-39(kernel )-39(maintains )-39(both)]TJ --27.904 -1.2 Td -[(values in the pr)18(ocess table entry)]TJ -0.2503 Tc 14.044 0 Td -(,b)Tj -0 Tc 1.053 0 Td -[(ut other than r)8(ummaging ar)18(ound thr)18(ough the kernel\325s)]TJ --15.098 -1.2 Td -[(memory)111(,)-250(we)-250(can\325t obtain one, given the other)74(.\))]TJ --0.092 Tc 1.8 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-67(use )-67(the )-67(following )-67(technique )-67(in )-67(Section )-67(17.2 )-67(to )-67(allow )-67(the )-67(server )-67(to )-67(identify )-67(the)]TJ --3.187 -1.2 Td -[(client. )-315(The)-316(same )-65(technique )-65(can )-65(be )-65(used )-65(with )-65(FIFOs, )-65(message )-65(queues, )-65(semaphor)18(es, )-65(and)]TJ -T* -[(shar)18(ed )-43(memory)]TJ -0.5434 Tc 6.897 0 Td -(.F)Tj -0 Tc 1.349 0 Td -[(or )-43(the )-43(following )-43(description, )-43(assume )-43(that )-43(FIFOs )-43(ar)]TJ -0.2935 Tc 22.475 0 Td -(eb)Tj -0 Tc 1.326 0 Td -[(eing )-43(used, )-43(as )-43(in)]TJ --32.048 -1.2 Td -(Figur)Tj -0.307 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.286 0 Td -[(5.23. )-307(The)-307(client )-57(must )-57(cr)18(eate )-57(its )-57(own )-57(FIFO )-57(and )-57(set )-57(the )-57(\336le )-57(access )-57(permissions )-57(of)]TJ --3.669 -1.2 Td -[(the )-99(FIFO )-99(so )-99(that )-99(only )-99(user)19(-r)18(ead )-99(and )-99(user)18(-write )-99(ar)]TJ -0.3489 Tc 22.386 0 Td -(eo)Tj -0 Tc 1.374 0 Td -[(n. )-349(W)]TJ -0.349 Tc 2.339 0 Td -(ea)Tj -0 Tc 1.328 0 Td -[(ssume )-99(that )-99(the )-99(server )-99(has)]TJ --27.427 -1.2 Td -[(super)8(user )-79(privileges )-79(\(or )-79(else )-79(it )-79(pr)18(obably )-79(wouldn\325t )-79(car)]TJ -0.3292 Tc 24.005 0 Td -(ea)Tj -0 Tc 1.308 0 Td -[(bout )-79(the )-79(client\325s )-79(tr)8(ue )-79(identity\),)]TJ --25.313 -1.2 Td -[(so )-46(the )-46(server )-46(can )-46(still )-46(r)18(ead )-46(and )-46(write )-46(to )-46(this )-46(FIFO.)-545(When )-46(the )-46(server )-46(r)18(eceives )-46(the )-46(client\325s)]TJ -T* -[(\336rst )-113(r)18(equest )-113(on )-113(the )-113(server)-74(\325s )-113(well-known )-113(FIFO )-113(\(which )-113(must )-113(contain )-113(the )-113(identity )-113(of )-113(the)]TJ -T* -[(client-speci\336c )-96(FIFO\), )-96(the )-96(server )-96(calls )-96(either)]TJ -/TT0 1 Tf -19.552 0 Td -(stat)Tj -/T1_1 1 Tf -2.746 0 Td -(or)Tj -/TT0 1 Tf -1.287 0 Td -(fstat)Tj -/T1_1 1 Tf -3.346 0 Td -[(on )-96(the )-96(client-speci\336c )-96(FIFO.)]TJ --26.929 -1.2 Td -[(The )-54(server )-54(assumes )-54(that )-54(the )-54(ef)17(fective )-54(user )-54(ID )-54(of )-54(the )-54(client )-54(is )-54(the )-54(owner )-54(of )-54(the )-54(FIFO )-54(\(the)]TJ -/TT0 1 Tf -T* -(st_uid)Tj -/T1_1 1 Tf -4.01 0 Td -[(\336eld )-160(of )-160(the)]TJ -/TT0 1 Tf -5.481 0 Td -(stat)Tj -/T1_1 1 Tf -2.81 0 Td -[(str)8(uctur)18(e\). )-410(The)-409(server )-160(veri\336es )-160(that )-160(only )-160(the )-160(user)20(-r)18(ead )-160(and)]TJ --12.3 -1.2 Td -[(user)18(-write )-172(permissions )-172(ar)]TJ -0.4224 Tc 11.603 0 Td -(ee)Tj -0 Tc 1.38 0 Td -[(nabled. )-422(As)-423(another )-172(check, )-172(the )-172(server )-172(should )-172(look )-172(at )-172(the)]TJ --12.983 -1.2 Td -[(thr)18(ee )-62(times )-62(associated )-62(with )-62(the )-62(FIFO )-62(\(the)]TJ -/TT0 1 Tf -18.749 0 Td -(st_atime)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -5.362 0 Td -(st_mtime)Tj -/T1_1 1 Tf -0.3119 Tc (,a)Tj -0 Tc 5.862 0 Td -(nd)Tj -/TT0 1 Tf -1.505 0 Td -(st_ctime)Tj -/T1_1 1 Tf -5.112 0 Td -(\336elds)Tj --36.59 -1.2 Td -[(of )-48(the)]TJ -/TT0 1 Tf -2.863 0 Td -(stat)Tj -/T1_1 1 Tf -2.698 0 Td -[(str)8(uctur)18(e\) )-48(to )-48(verify )-48(that )-48(they )-48(ar)]TJ -0.2984 Tc 13.839 0 Td -(er)Tj -0 Tc 1.154 0 Td -[(ecent )-48(\(no )-48(older )-48(than )-48(15 )-48(or )-48(30 )-48(seconds, )-48(for)]TJ --20.555 -1.2 Td -[(example\). )-347(If)]TJ -0.3474 Tc 5.947 0 Td -(am)Tj -0 Tc 1.73 0 Td -[(alicious )-97(client )-97(can )-97(cr)18(eate )-97(a )-97(FIFO )-97(with )-97(someone )-97(else )-97(as )-97(the )-97(owner )-97(and)]TJ --7.677 -1.2 Td -[(set )-44(the )-44(\336le\325s )-44(permission )-44(bits )-44(to )-44(user)20(-r)18(ead )-44(and )-44(user)18(-write )-44(only)]TJ -0.2937 Tc 26.999 0 Td -(,t)Tj -0 Tc 0.87 0 Td -[(hen )-44(the )-44(system )-44(has )-44(other)]TJ --27.869 -1.2 Td -[(fundamental security pr)18(oblems.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47316 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.9)]TJ -36.454 0 Td -[(Shar)18(ed )-250(Memory)]TJ -/T1_1 1 Tf -9.379 0 Td -(573)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(shm_lpid)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -5.3 0 Td -(shm_nattch)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -6.5 0 Td -(shm_atime)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 6.4 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(shm_dtime)Tj -/T1_0 1 Tf -5.65 0 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ll set to 0.)Tj --28.888 -1.6 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(shm_ctime)Tj -/T1_0 1 Tf -5.65 0 Td -[(is set to the curr)18(ent time.)]TJ --7.139 -1.6 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(shm_segsz)Tj -/T1_0 1 Tf -5.65 0 Td -(is set to the)Tj -/T1_2 1 Tf -5.203 0 Td -(size)Tj -/T1_0 1 Tf --0.018 Tc 1.75 0 Td -(re)Tj -0 Tc 0.856 0 Td -(quested.)Tj --14.948 -1.8 Td -(The)Tj -/T1_2 1 Tf -2.466 0 Td -(size)Tj -/T1_0 1 Tf -2.292 0 Td -[(parameter )-542(is )-542(the )-542(size )-542(of )-542(the )-542(shar)20(ed )-542(memory )-542(segment )-542(in )-542(bytes.)]TJ --6.557 -1.2 Td -[(Implementations )-34(will )-34(usually )-34(r)17(ound )-34(up )-34(this )-34(size )-34(to )-34(a )-34(multiple )-34(of )-34(the )-34(system\325s )-34(page )-34(size,)]TJ -0 -1.2 TD -[(but )-209(if )-209(an )-209(application )-209(speci\336es)]TJ -/T1_2 1 Tf -14.201 0 Td -(size)Tj -/T1_0 1 Tf -1.959 0 Td -[(as )-209(a )-209(value )-209(other )-209(than )-209(an )-209(integral )-209(multiple )-209(of )-209(the)]TJ --16.16 -1.2 Td -[(system\325s )-60(page )-60(size, )-60(the )-60(r)18(emainder )-60(of )-60(the )-60(last )-60(page )-60(will )-60(be )-60(unavailable )-60(for )-60(use.)-560(If )-60(a )-60(new)]TJ -T* -[(segment )-138(is )-138(being )-138(cr)18(eated )-138(\(typically )-138(by )-138(the )-138(server\), )-138(we )-138(must )-138(specify )-138(its)]TJ -/T1_2 1 Tf -32.498 0 Td -(size)Tj -/T1_0 1 Tf -0.6378 Tc (.I)Tj -0 Tc 2.725 0 Td -[(f)-388(we)-388(a)]TJ --0.018 Tc (re)Tj --35.222 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(encing )-1(an )-1(existing )-1(segment )-1(\(a )-1(client\), )-1(we )-1(can )-1(specify)]TJ -/T1_2 1 Tf -24.45 0 Td -(size)Tj -/T1_0 1 Tf -1.75 0 Td -[(as 0.)-500(When a new segment)]TJ --27.057 -1.2 Td -[(is cr)18(eated, the contents of the segment ar)]TJ -0.25 Tc 17.899 0 Td -(ei)Tj -0 Tc 1.02 0 Td -[(nitialized with zer)18(os.)]TJ --17.119 -1.2 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(shmctl)Tj -/T1_0 1 Tf -3.85 0 Td -[(function is the catchall for various shar)18(ed memory operations.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 518.2689 Tm -(#include )Tj -0 -1.902 TD -(int shmctl\(int)Tj -/T1_2 1 Tf -9 0 Td -(shmid)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.245 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(cmd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.485 0 Td -(truct shmid_ds *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -11.082 0 Td -(\);)Tj -/T1_0 1 Tf --2.761 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4795.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 466.0041 Tm -(The)Tj -/T1_2 1 Tf -2.028 0 Td -(cmd)Tj -/T1_0 1 Tf -2.039 0 Td -[(ar)18(gument )-104(speci\336es )-104(one )-104(of )-104(the )-104(following )-104(\336ve )-104(commands )-104(to )-104(be )-104(performed,)]TJ --5.867 -1.2 Td -(on the segment speci\336ed by)Tj -/T1_2 1 Tf -12.537 0 Td -(shmid)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf --10.737 -2.04 Td -(IPC_STAT)Tj -/T1_0 1 Tf -6 0 Td -[(Fetch )-328(the)]TJ -/TT0 1 Tf -4.931 0 Td -(shmid_ds)Tj -/T1_0 1 Tf -5.378 0 Td -[(str)8(uctur)]TJ -0.5784 Tc 3.49 0 Td -(ef)Tj -0 Tc 1.39 0 Td -[(or )-328(this )-328(segment, )-328(storing )-328(it )-328(in )-328(the)]TJ --15.19 -1.2 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ep)Tj -0 Tc 1.33 0 Td -(ointed to by)Tj -/T1_2 1 Tf -5.566 0 Td -(buf)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf --16.386 -1.72 Td -(IPC_SET)Tj -/T1_0 1 Tf -6 0 Td -[(Set )-123(the )-123(following )-123(thr)18(ee )-123(\336elds )-123(fr)18(om )-123(the )-123(str)8(uctur)]TJ -0.3732 Tc 21.268 0 Td -(ep)Tj -0 Tc 1.453 0 Td -[(ointed )-123(to )-123(by)]TJ -/T1_2 1 Tf -5.936 0 Td -(buf)Tj -/T1_0 1 Tf -1.67 0 Td -(in)Tj --30.327 -1.2 Td -(the)Tj -/TT0 1 Tf -1.656 0 Td -(shmid_ds)Tj -/T1_0 1 Tf -5.069 0 Td -[(str)8(uctur)]TJ -0.2686 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.248 0 Td -[(ssociated )-19(with )-19(this )-19(shar)18(ed )-19(memory )-19(segment:)]TJ -/TT0 1 Tf --11.462 -1.2 Td -(shm_perm.uid)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -8.549 0 Td -(shm_perm.gid)Tj -/T1_0 1 Tf -1.0992 Tc (,a)Tj -0 Tc 9.049 0 Td -(nd)Tj -/TT0 1 Tf -2.292 0 Td -(shm_perm.mode)Tj -/T1_0 1 Tf -1.3493 Tc (.T)Tj -0 Tc 10.012 0 Td -(his)Tj --29.903 -1.2 Td -[(command )-94(can )-94(be )-94(executed )-94(only )-94(by )-94(a )-94(pr)15(ocess )-94(whose )-94(ef)18(fective )-94(user )-94(ID)]TJ -0 -1.2 TD -(equals)Tj -/TT0 1 Tf -3.423 0 Td -(shm_perm.cuid)Tj -/T1_0 1 Tf -8.366 0 Td -(or)Tj -/TT0 1 Tf -1.506 0 Td -(shm_perm.uid)Tj -/T1_0 1 Tf -7.766 0 Td -[(or )-315(by )-315(a )-315(pr)18(ocess )-315(with)]TJ --21.06 -1.2 Td -[(super)8(user privileges.)]TJ -/TT0 1 Tf --6 -1.72 Td -(IPC_RMID)Tj -/T1_0 1 Tf -6 0 Td -[(Remove )-150(the )-150(shar)18(ed )-150(memory )-150(segment )-150(set )-150(fr)18(om )-150(the )-150(system.)-650(Since )-150(an)]TJ -T* -[(attachment )-266(count )-266(is )-266(maintained )-266(for )-266(shar)18(ed )-266(memory )-266(segments )-266(\(the)]TJ -/TT0 1 Tf -T* -(shm_nattch)Tj -/T1_0 1 Tf -6.48 0 Td -[(\336eld )-230(in )-230(the)]TJ -/TT0 1 Tf -5.685 0 Td -(shmid_ds)Tj -/T1_0 1 Tf -5.28 0 Td -[(str)8(uctur)18(e\), )-230(the )-230(segment )-230(is )-230(not)]TJ --0.018 Tc -17.445 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(moved )-388(until )-388(the )-388(last )-388(pr)16(ocess )-388(using )-388(the )-388(segment )-388(terminates )-388(or)]TJ --0.856 -1.2 Td -[(detaches )-241(it.)-741(Regar)18(dless )-241(of )-241(whether )-241(the )-241(segment )-241(is )-241(still )-241(in )-241(use, )-241(the)]TJ -T* -[(segment\325s )-206(identi\336er )-206(is )-206(immediately )-206(r)18(emoved )-206(so )-206(that)]TJ -/TT0 1 Tf -24.633 0 Td -(shmat)Tj -/T1_0 1 Tf -3.456 0 Td -[(can )-206(no)]TJ --28.09 -1.2 Td -[(longer )-79(attach )-79(the )-79(segment.)-579(This )-79(command )-79(can )-79(be )-79(executed )-79(only )-79(by )-79(a)]TJ -T* -[(pr)18(ocess )-710(whose )-710(ef)18(fective )-710(user )-710(ID )-710(equals)]TJ -/TT0 1 Tf -21.499 0 Td -(shm_perm.cuid)Tj -/T1_0 1 Tf -8.76 0 Td -(or)Tj -/TT0 1 Tf --30.259 -1.2 Td -(shm_perm.uid)Tj -/T1_0 1 Tf -7.45 0 Td -[(or by a pr)18(ocess with super)8(user privileges.)]TJ --0.09 Tc -15.25 -2.04 Td -(Tw)Tj -0.3737 Tc 1.357 0 Td -(oa)Tj -0 Tc 1.42 0 Td -[(dditional )-124(commands )-124(ar)]TJ -0.3737 Tc 10.546 0 Td -(ep)Tj --0.018 Tc 1.454 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vided )-124(by )-124(Linux )-124(and )-124(Solaris, )-124(but )-124(ar)]TJ -0.3736 Tc 15.785 0 Td -(en)Tj -0 Tc 1.435 0 Td -[(ot )-124(part )-124(of )-124(the)]TJ --32.919 -1.2 Td -(Single UNIX Speci\336cation.)Tj -/TT0 1 Tf -1.8 -2.04 Td -(SHM_LOCK)Tj -/T1_0 1 Tf -7.2 0 Td -[(Lock )-97(the )-97(shar)18(ed )-97(memory )-97(segment )-97(in )-97(memory)]TJ -0.597 Tc 20.574 0 Td -(.T)Tj -0 Tc 1.46 0 Td -[(his )-97(command )-97(can)]TJ --22.034 -1.2 Td -[(be executed only by the super)8(user)74(.)]TJ -/TT0 1 Tf --7.2 -1.72 Td -(SHM_UNLOCK)Tj -/T1_0 1 Tf -7.2 0 Td -[(Unlock )-444(the )-444(shar)18(ed )-444(memory )-444(segment.)-946(This )-444(command )-444(can )-444(be)]TJ -T* -[(executed only by the super)8(user)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47317 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(568)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Note that the optional ar)18(gument is the actual union, not a pointer to the union.)]TJ -7.9995 0 0 7.9995 183.589 648.9611 Tm -[(Usually )-249(our )-249(application )-249(must )-249(de\336ne )-249(the)]TJ -/TT0 1 Tf -19.331 0 Td -(semun)Tj -/T1_1 1 Tf -3.499 0 Td -[(union. )-499(However)74(,)-499(on)-499(F)]TJ --0.018 Tc 10.59 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD )-249(8.0, )-249(this )-249(is)]TJ --34.277 -1.25 Td -(de\336ned for us in)Tj -/TT0 1 Tf -7.541 0 Td -()Tj -/T1_1 1 Tf -(.)Tj -9.9994 0 0 9.9994 147.591 617.9629 Tm -(The)Tj -/T1_2 1 Tf -1.953 0 Td -(cmd)Tj -/T1_1 1 Tf -1.964 0 Td -[(ar)18(gument )-29(speci\336es )-29(one )-29(of )-29(the )-29(following )-29(ten )-29(commands )-29(to )-29(be )-29(performed )-29(on)]TJ --5.718 -1.2 Td -[(the )-121(set )-121(speci\336ed )-121(by)]TJ -/T1_2 1 Tf -9.142 0 Td -(semid)Tj -/T1_1 1 Tf -0.6206 Tc (.T)Tj -0 Tc 3.818 0 Td -[(he )-121(\336ve )-121(commands )-121(that )-121(r)18(efer )-121(to )-121(one )-121(particular )-121(semaphor)21(e)]TJ --12.959 -1.2 Td -[(value )-59(use)]TJ -/T1_2 1 Tf -4.563 0 Td -(semnum)Tj -/T1_1 1 Tf -3.756 0 Td -[(to )-59(specify )-59(one )-59(member )-59(of )-59(the )-59(set.)-559(The )-59(value )-59(of)]TJ -/T1_2 1 Tf -21.36 0 Td -(semnum)Tj -/T1_1 1 Tf -3.756 0 Td -[(is )-59(between )-59(0)]TJ --33.434 -1.2 Td -(and)Tj -/T1_2 1 Tf -1.943 0 Td -(nsems)Tj -/TT1 1 Tf -2.668 0 Td -(!)Tj -/T1_2 1 Tf -0.716 0 Td -(1)Tj -/T1_1 1 Tf -0.25 Tc (,i)Tj -0 Tc 1.291 0 Td -(nclusive.)Tj -/TT0 1 Tf --4.817 -1.8 Td -(IPC_STAT)Tj -/T1_1 1 Tf -6 0 Td -[(Fetch )-142(the)]TJ -/TT0 1 Tf -4.559 0 Td -(semid_ds)Tj -/T1_1 1 Tf -5.192 0 Td -[(str)8(uctur)]TJ -0.3923 Tc 3.49 0 Td -(ef)Tj -0 Tc 1.204 0 Td -[(or )-142(this )-142(set, )-142(storing )-142(it )-142(in )-142(the )-142(str)6(uctur)18(e)]TJ --14.445 -1.2 Td -(pointed to by)Tj -/T1_2 1 Tf -6.167 0 Td -[(ar)18(g.buf)]TJ -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf --12.167 -1.6 Td -(IPC_SET)Tj -/T1_1 1 Tf -6 0 Td -[(Set )-30(the)]TJ -/TT0 1 Tf -3.277 0 Td -(sem_perm.uid)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -7.73 0 Td -(sem_perm.gid)Tj -/T1_1 1 Tf -0.28 Tc (,a)Tj -0 Tc 8.23 0 Td -(nd)Tj -/TT0 1 Tf -1.473 0 Td -(sem_perm.mode)Tj -/T1_1 1 Tf -8.08 0 Td -(\336elds)Tj --28.79 -1.2 Td -[(fr)18(om )-190(the )-190(str)9(uctur)]TJ -0.4397 Tc 7.895 0 Td -(ep)Tj -0 Tc 1.52 0 Td -[(ointed )-190(to )-190(by)]TJ -/T1_2 1 Tf -6.135 0 Td -[(ar)18(g.buf)]TJ -/T1_1 1 Tf -3.302 0 Td -[(in )-190(the)]TJ -/TT0 1 Tf -3.139 0 Td -(semid_ds)Tj -/T1_1 1 Tf -5.24 0 Td -[(str)8(uctur)18(e)]TJ --27.231 -1.2 Td -[(associated )-189(with )-189(this )-189(set.)-690(This )-189(command )-189(can )-189(be )-189(executed )-189(only )-189(by )-189(a)]TJ -0 -1.2 TD -[(pr)18(ocess )-710(whose )-710(ef)18(fective )-710(user )-710(ID )-710(equals)]TJ -/TT0 1 Tf -21.499 0 Td -(sem_perm.cuid)Tj -/T1_1 1 Tf -8.76 0 Td -(or)Tj -/TT0 1 Tf --30.259 -1.2 Td -(sem_perm.uid)Tj -/T1_1 1 Tf -7.45 0 Td -[(or by a pr)18(ocess with super)8(user privileges.)]TJ -/TT0 1 Tf --13.45 -1.6 Td -(IPC_RMID)Tj -/T1_1 1 Tf -6 0 Td -[(Remove )-495(the )-495(semaphor)]TJ -0.7454 Tc 10.89 0 Td -(es)Tj -0 Tc 1.648 0 Td -[(et )-495(fr)18(om )-495(the )-495(system.)-997(This )-495(r)18(emoval )-495(is)]TJ --12.538 -1.2 Td -[(immediate. )-393(Any)-393(other )-143(pr)18(ocess )-143(still )-143(using )-143(the )-143(semaphor)]TJ -0.3931 Tc 25.392 0 Td -(ew)Tj -0 Tc 1.706 0 Td -[(ill )-143(get )-143(an)]TJ --27.098 -1.2 Td -[(err)18(or )-212(of)]TJ -/TT0 1 Tf -3.996 0 Td -(EIDRM)Tj -/T1_1 1 Tf -3.462 0 Td -[(on )-212(its )-212(next )-212(attempted )-212(operation )-212(on )-212(the )-212(semaphor)15(e.)]TJ --7.458 -1.2 Td -[(This )-22(command )-22(can )-22(be )-22(executed )-22(only )-22(by )-22(a )-22(pr)18(ocess )-22(whose )-22(ef)18(fective )-22(user)]TJ -T* -[(ID )-129(equals)]TJ -/TT0 1 Tf -4.726 0 Td -(sem_perm.cuid)Tj -/T1_1 1 Tf -8.179 0 Td -(or)Tj -/TT0 1 Tf -1.32 0 Td -(sem_perm.uid)Tj -/T1_1 1 Tf -7.579 0 Td -[(or )-129(by )-129(a )-129(pr)17(ocess )-129(with)]TJ --21.805 -1.2 Td -[(super)8(user privileges.)]TJ -/TT0 1 Tf --6 -1.6 Td -(GETVAL)Tj -/T1_1 1 Tf -6 0 Td -(Return the value of)Tj -/TT0 1 Tf -8.757 0 Td -(semval)Tj -/T1_1 1 Tf -3.85 0 Td -(for the member)Tj -/T1_2 1 Tf -7.083 0 Td -(semnum)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf --25.69 -1.6 Td -(SETVAL)Tj -/T1_1 1 Tf -6 0 Td -[(Set )-337(the )-337(value )-337(of)]TJ -/TT0 1 Tf -8.383 0 Td -(semval)Tj -/T1_1 1 Tf -4.187 0 Td -[(for )-337(the )-337(member)]TJ -/T1_2 1 Tf -8.095 0 Td -(semnum)Tj -/T1_1 1 Tf -0.8372 Tc (.T)Tj -0 Tc 5.146 0 Td -[(he )-337(value )-337(is)]TJ --25.812 -1.2 Td -(speci\336ed by)Tj -/T1_2 1 Tf -5.543 0 Td -[(ar)18(g.val)]TJ -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf --11.543 -1.6 Td -(GETPID)Tj -/T1_1 1 Tf -6 0 Td -(Return the value of)Tj -/TT0 1 Tf -8.757 0 Td -(sempid)Tj -/T1_1 1 Tf -3.85 0 Td -(for the member)Tj -/T1_2 1 Tf -7.083 0 Td -(semnum)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf --25.69 -1.6 Td -(GETNCNT)Tj -/T1_1 1 Tf -6 0 Td -(Return the value of)Tj -/TT0 1 Tf -8.757 0 Td -(semncnt)Tj -/T1_1 1 Tf -4.45 0 Td -(for the member)Tj -/T1_2 1 Tf -7.083 0 Td -(semnum)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf --26.29 -1.6 Td -(GETZCNT)Tj -/T1_1 1 Tf -6 0 Td -(Return the value of)Tj -/TT0 1 Tf -8.757 0 Td -(semzcnt)Tj -/T1_1 1 Tf -4.45 0 Td -(for the member)Tj -/T1_2 1 Tf -7.083 0 Td -(semnum)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf --26.29 -1.6 Td -(GETALL)Tj -/T1_1 1 Tf -6 0 Td -[(Fetch )-99(all )-99(the )-99(semaphor)]TJ -0.3492 Tc 10.296 0 Td -(ev)Tj -0 Tc 1.393 0 Td -[(alues )-99(in )-99(the )-99(set.)-600(These )-99(values )-99(ar)]TJ -0.3493 Tc 14.698 0 Td -(es)Tj -0 Tc 1.252 0 Td -[(tor)18(ed )-99(in)]TJ --27.639 -1.2 Td -(the array pointed to by)Tj -/T1_2 1 Tf -10.4 0 Td -[(ar)18(g.array)]TJ -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf --16.4 -1.6 Td -(SETALL)Tj -/T1_1 1 Tf -6 0 Td -[(Set )-184(all )-184(the )-184(semaphor)]TJ -0.4339 Tc 9.493 0 Td -(ev)Tj -0 Tc 1.478 0 Td -[(alues )-184(in )-184(the )-184(set )-184(to )-184(the )-184(values )-184(pointed )-184(to )-184(by)]TJ -/T1_2 1 Tf --10.971 -1.2 Td -[(ar)18(g.array)]TJ -/T1_1 1 Tf -(.)Tj --7.8 -1.8 Td -[(For )-91(all )-91(the)]TJ -/TT0 1 Tf -4.989 0 Td -(GET)Tj -/T1_1 1 Tf -2.141 0 Td -[(commands )-91(other )-91(than)]TJ -/TT0 1 Tf -10.214 0 Td -(GETALL)Tj -/T1_1 1 Tf -0.341 Tc (,t)Tj -0 Tc 4.517 0 Td -[(he )-91(function )-91(r)18(eturns )-91(the )-91(corr)18(esponding)]TJ --21.861 -1.2 Td -[(value. )-269(For)-269(the )-19(r)18(emaining )-19(commands, )-19(the )-19(r)19(eturn )-19(value )-19(is )-19(0 )-19(if )-19(the )-19(call )-19(succeeds.)-519(On )-19(err)21(or)74(,)]TJ -0 -1.2 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(semctl)Tj -/T1_1 1 Tf -3.85 0 Td -(function sets)Tj -/TT0 1 Tf -5.86 0 Td -(errno)Tj -/T1_1 1 Tf -3.25 0 Td -[(and r)18(eturns)]TJ -/TT1 1 Tf -5.379 0 Td -(!)Tj -/T1_1 1 Tf -(1.)Tj --18.176 -1.2 Td -[(The )-13(function)]TJ -/TT0 1 Tf -5.908 0 Td -(semop)Tj -/T1_1 1 Tf -3.263 0 Td -[(atomically )-13(performs )-13(an )-13(array )-13(of )-13(operations )-13(on )-13(a )-13(semaphor)]TJ -0.2634 Tc 25.807 0 Td -(es)Tj -0 Tc 1.166 0 Td -(et.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5922 194.4883 Tm -(#include )Tj -0 -1.783 TD -(int semop\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(semid)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.134 0 Td -(truct sembuf)Tj -/T1_2 1 Tf -7.8 0 Td -(semoparray)Tj -/TT0 1 Tf -([], size_t)Tj -/T1_2 1 Tf -11.266 0 Td -(nops)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --4.749 -1.783 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1579.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 145.5825 Tm -(The)Tj -/T1_2 1 Tf -1.984 0 Td -(semoparray)Tj -/T1_1 1 Tf -4.976 0 Td -[(ar)18(gument )-60(is )-60(a )-60(pointer )-60(to )-60(an )-60(array )-60(of )-60(semaphor)]TJ -0.3095 Tc 20.789 0 Td -(eo)Tj -0 Tc 1.334 0 Td -[(perations, )-59(r)18(epr)18(esented)]TJ --29.082 -1.2 Td -(by)Tj -/TT0 1 Tf -1.359 0 Td -(sembuf)Tj -/T1_1 1 Tf -3.85 0 Td -[(str)8(uctur)18(es:)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47318 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf --0.037 Tc 9 0 0 9 93.6 708 Tm -(11)Tj -0 Tc 0.963 0 Td -(0)Tj -/T1_1 1 Tf -2.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.278 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(These )-105(four )-105(functions )-105(operate )-105(similarly )-105(unless )-105(the )-105(r)15(efer)18(enced )-105(\336le )-105(is )-105(a )-105(symbolic )-105(link.)-607(In)]TJ -0 -1.2 Td -[(that )-105(case,)]TJ -/TT0 1 Tf -4.542 0 Td -(lchown)Tj -/T1_1 1 Tf -3.955 0 Td -(and)Tj -/TT0 1 Tf -2.048 0 Td -(fchownat)Tj -/T1_1 1 Tf -5.155 0 Td -[(\(with )-105(the)]TJ -/TT0 1 Tf -4.464 0 Td -(AT_SYMLINK_NOFOLLOW)Tj -/T1_1 1 Tf -11.755 0 Td -[(\337ag )-105(set\) )-105(change)]TJ --31.92 -1.2 Td -(the owners of the symbolic link itself, not the \336le pointed to by the\ symbolic link.)Tj -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.041 0 Td -(fchown)Tj -/T1_1 1 Tf -3.967 0 Td -[(function )-117(changes )-117(the )-117(ownership )-117(of )-117(the )-117(open )-117(\336le )-117(r)20(efer)18(enced )-117(by )-117(the)]TJ -/T1_2 1 Tf -30.415 0 Td -(fd)Tj -/T1_1 1 Tf --38.222 -1.2 Td -[(ar)18(gument. )-293(Since)-293(it )-43(operates )-43(on )-43(a )-43(\336le )-43(that )-43(is )-43(alr)18(eady )-43(open, )-43(it )-43(can\325t )-43(be )-43(used )-43(to )-43(change )-43(the)]TJ -0 -1.2 TD -(ownership of a symbolic link.)Tj -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.03 0 Td -(fchownat)Tj -/T1_1 1 Tf -5.156 0 Td -[(function )-106(behaves )-106(like )-106(either)]TJ -/TT0 1 Tf -12.883 0 Td -(chown)Tj -/T1_1 1 Tf -3.356 0 Td -(or)Tj -/TT0 1 Tf -1.297 0 Td -(lchown)Tj -/T1_1 1 Tf -3.956 0 Td -[(when )-106(the)]TJ -/T1_2 1 Tf -4.577 0 Td -(pathname)Tj -/T1_1 1 Tf --35.056 -1.2 Td -[(ar)18(gument )-301(is )-301(absolute )-301(or )-301(when )-301(the)]TJ -/T1_2 1 Tf -16.852 0 Td -(fd)Tj -/T1_1 1 Tf -1.329 0 Td -[(ar)18(gument )-300(has )-300(the )-300(value)]TJ -/TT0 1 Tf -11.839 0 Td -(AT_FDCWD)Tj -/T1_1 1 Tf -5.351 0 Td -[(and )-300(the)]TJ -/T1_2 1 Tf --35.37 -1.2 Td -(pathname)Tj -/T1_1 1 Tf -4.509 0 Td -[(ar)18(gument )-314(is )-314(r)17(elative. )-565(In)-564(these )-315(cases,)]TJ -/TT0 1 Tf -17.946 0 Td -(fchownat)Tj -/T1_1 1 Tf -5.365 0 Td -[(acts )-315(like)]TJ -/TT0 1 Tf -4.44 0 Td -(lchown)Tj -/T1_1 1 Tf -4.165 0 Td -[(if )-315(the)]TJ -/TT0 1 Tf --36.424 -1.2 Td -(AT_SYMLINK_NOFOLLOW)Tj -/T1_1 1 Tf -11.953 0 Td -[(\337ag )-303(is )-303(set )-303(in )-303(the)]TJ -/T1_2 1 Tf -8.635 0 Td -(\337ag)Tj -/T1_1 1 Tf -2.042 0 Td -[(ar)18(gument, )-303(or )-303(it )-303(acts )-303(like)]TJ -/TT0 1 Tf -12.192 0 Td -(chown)Tj -/T1_1 1 Tf -3.553 0 Td -(if)Tj --38.376 -1.2 Td -(the)Tj -/TT0 1 Tf -1.895 0 Td -(AT_SYMLINK_NOFOLLOW)Tj -/T1_1 1 Tf -11.908 0 Td -[(\337ag )-258(is )-258(clear)]TJ -0.7582 Tc 5.43 0 Td -(.W)Tj -0 Tc 2.008 0 Td -[(hen )-258(the)]TJ -/T1_2 1 Tf -4.046 0 Td -(fd)Tj -/T1_1 1 Tf -1.286 0 Td -[(ar)18(gument )-258(is )-258(set )-258(to )-258(the )-258(\336le)]TJ --26.575 -1.2 Td -[(descriptor )-228(of )-228(an )-228(open )-228(dir)18(ectory )-228(and )-228(the)]TJ -/T1_2 1 Tf -19.133 0 Td -(pathname)Tj -/T1_1 1 Tf -4.422 0 Td -[(ar)18(gument )-228(is )-228(a )-228(r)18(elative )-228(pathname,)]TJ -/TT0 1 Tf --23.556 -1.2 Td -(fchownat)Tj -/T1_1 1 Tf -5.05 0 Td -(evaluates the)Tj -/T1_2 1 Tf -6.054 0 Td -(pathname)Tj -/T1_1 1 Tf --0.018 Tc 4.194 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(lative to the open dir)18(ectory)111(.)]TJ --14.354 -1.2 Td -(Historically)Tj -0.7341 Tc 5.076 0 Td -(,B)Tj -0 Tc 1.595 0 Td -(SD)Tj -1.299 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-484(systems )-484(have )-484(enfor)18(ced )-484(the )-484(r)18(estriction )-484(that )-484(only )-484(the)]TJ --10.103 -1.2 Td -[(super)8(user )-14(can )-14(change )-14(the )-14(ownership )-14(of )-14(a )-14(\336le.)-514(This )-14(is )-14(to )-14(pr)18(event )-14(users )-14(fr)18(om )-14(giving )-14(away)]TJ -T* -[(their )-233(\336les )-233(to )-233(others, )-233(ther)18(eby )-233(defeating )-233(any )-233(disk )-233(space )-233(quota )-233(r)14(estrictions. )-483(System)]TJ --0.129 Tc 38.157 0 Td -(V,)Tj -0 Tc -38.157 -1.2 Td -(however)Tj -0.25 Tc 3.806 0 Td -(,h)Tj -0 Tc 1.082 0 Td -(as allowed all users to change the ownership of any \336les they own.)Tj -7.9995 0 0 7.9995 183.5903 456.9726 Tm -[(POSIX.1 )-1222(allows )-1222(either )-1222(form )-1222(of )-1222(operation, )-1222(depending )-1222(on )-1222(the )-1222(value )-1222(of)]TJ -/TT0 1 Tf -0 -1.25 TD -(_POSIX_CHOWN_RESTRICTED)Tj -/T1_1 1 Tf -(.)Tj --0.055 Tc 0 -1.875 TD -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-88(Solaris )-88(10, )-88(this )-88(functionality )-88(is )-88(a )-88(con\336guration )-88(option, )-88(whose )-88(default )-88(value )-88(is )-88(to )-88(enfor)16(ce)]TJ --1.236 -1.25 Td -[(the )-227(r)18(estriction. )-477(Fr)18(eeBSD )-227(8.0, )-227(Linux )-227(3.2.0, )-227(and )-227(Mac )-227(OS )-227(X )-227(10.6.8 )-227(always )-227(enfor)18(ce )-227(the)]TJ -/TT0 1 Tf -39 0 Td -(chown)Tj -/T1_1 1 Tf --0.018 Tc -39 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(striction.)Tj -9.9994 0 0 9.9994 129.5934 390.9765 Tm -[(Recall )-87(fr)18(om )-87(Section )-87(2.6 )-87(that )-87(the)]TJ -/TT0 1 Tf -14.401 0 Td -(_POSIX_CHOWN_RESTRICTED)Tj -/T1_1 1 Tf -14.138 0 Td -[(constant )-88(can )-88(optionally)]TJ --28.539 -1.2 Td -[(be )-202(de\336ned )-202(in )-202(the )-202(header)]TJ -/TT0 1 Tf -11.965 0 Td -()Tj -/T1_1 1 Tf -0.452 Tc (,a)Tj -0 Tc 7.202 0 Td -[(nd )-202(can )-202(always )-202(be )-202(queried )-202(using )-202(either )-202(the)]TJ -/TT0 1 Tf --19.167 -1.2 Td -(pathconf)Tj -/T1_1 1 Tf -5.378 0 Td -[(function )-328(or )-328(the)]TJ -/TT0 1 Tf -7.77 0 Td -(fpathconf)Tj -/T1_1 1 Tf -5.978 0 Td -[(function. )-578(Also)]TJ --0.018 Tc 7.403 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(call )-328(that )-328(this )-328(option )-328(can)]TJ --27.385 -1.2 Td -[(depend )-92(on )-92(the )-92(r)17(efer)18(enced )-92(\336le; )-92(it )-92(can )-92(be )-92(enabled )-92(or )-92(disabled )-92(on )-92(a )-92(per )-92(\336le )-92(system )-92(basis.)]TJ --0.092 Tc 0 -1.2 TD -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-260(use )-260(the )-260(phrase )-260(\324)35(\324if)]TJ -/TT0 1 Tf -10.43 0 Td -(_POSIX_CHOWN_RESTRICTED)Tj -/T1_1 1 Tf -14.311 0 Td -[(is )-261(in )-261(ef)19(fect,\325)37(\325)-511(to)-511(m)1(ean )-261(\324)37(\324if )-261(it)]TJ --26.127 -1.2 Td -[(applies )-49(to )-49(the )-49(particular )-49(\336le )-49(that )-49(we\325r)]TJ -0.2994 Tc 16.665 0 Td -(et)Tj -0 Tc 1.104 0 Td -[(alking )-49(about,\325)]TJ -0.2994 Tc 6.094 0 Td -(\325r)Tj -0 Tc 0.954 0 Td -[(egar)18(dless )-49(of )-49(whether )-49(this )-49(actual)]TJ --24.819 -1.2 Td -[(constant is de\336ned in the header)74(.)]TJ -1.8 -1.2 Td -(If)Tj -/TT0 1 Tf -0.92 0 Td -(_POSIX_CHOWN_RESTRICTED)Tj -/T1_1 1 Tf -14.05 0 Td -[(is in ef)18(fect for the speci\336ed \336le, then)]TJ --14.97 -1.92 Td -[(1. )-633(Only)]TJ -0.25 Tc 4.098 0 Td -(as)Tj -0 Tc 1.174 0 Td -[(uper)8(user pr)18(ocess can change the user ID of the \336le.)]TJ --5.272 -1.6 Td -[(2. )-633(A)-300(nonsuper)8(user )-50(pr)18(ocess )-50(can )-50(change )-50(the )-50(gr)18(oup )-50(ID )-50(of )-50(the )-50(\336le )-50(if )-50(the )-50(pr)13(ocess )-50(owns)]TJ -1.633 -1.2 Td -[(the )-51(\336le )-51(\(the )-51(ef)18(fective )-51(user )-51(ID )-51(equals )-51(the )-51(user )-51(ID )-51(of )-51(the )-51(\336le\),)]TJ -/T1_2 1 Tf -26.593 0 Td -(owner)Tj -/T1_1 1 Tf -2.801 0 Td -[(is )-50(speci\336ed )-50(as)]TJ -/TT1 1 Tf --29.393 -1.2 Td -(!)Tj -/T1_1 1 Tf -[(1)-254(or)-254(equals )-4(the )-4(user )-4(ID )-4(of )-4(the )-4(\336le, )-4(and)]TJ -/T1_2 1 Tf -17.37 0 Td -[(gr)18(oup)]TJ -/T1_1 1 Tf -2.625 0 Td -[(equals )-4(either )-4(the )-4(ef)18(fective )-4(gr)18(oup )-4(ID)]TJ --19.995 -1.2 Td -[(of the pr)18(ocess or one of the pr)18(ocess\325s supplementary gr)18(oup IDs.)]TJ --3.433 -1.92 Td -[(This )-80(means )-80(that )-80(when)]TJ -/TT0 1 Tf -10.31 0 Td -(_POSIX_CHOWN_RESTRICTED)Tj -/T1_1 1 Tf -14.13 0 Td -[(is )-80(in )-80(ef)18(fect, )-80(you )-80(can\325t )-80(change )-80(the)]TJ --24.44 -1.2 Td -[(user )-110(ID )-110(of )-110(your )-110(\336les.)]TJ --0.092 Tc 10.089 0 Td -(Yo)Tj -0.3599 Tc 1.121 0 Td -(uc)Tj -0 Tc 1.407 0 Td -[(an )-110(change )-110(the )-110(gr)18(oup )-110(ID )-110(of )-110(\336les )-110(that )-110(you )-110(own, )-110(but )-110(only )-110(to)]TJ --12.617 -1.2 Td -[(gr)18(oups that you belong to.)]TJ -1.8 -1.2 Td -[(If )-315(these )-315(functions )-315(ar)]TJ -0.5652 Tc 9.664 0 Td -(ec)Tj -0 Tc 1.488 0 Td -[(alled )-315(by )-315(a )-315(pr)17(ocess )-315(other )-315(than )-315(a )-315(super)8(user )-315(pr)18(ocess, )-315(on)]TJ --12.952 -1.2 Td -[(successful r)18(eturn, both the set-user)18(-ID and the set-gr)18(oup-ID bits ar)]TJ -0.25 Tc 29.254 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(lear)18(ed.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47319 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.5)]TJ -37.602 0 Td -[(Data )-250(T)90(ransfer)]TJ -/T1_1 1 Tf -8.231 0 Td -(619)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(hint.ai_addr = NULL;)Tj -0 -1.189 TD -(hint.ai_next = NULL;)Tj -T* -(if \(\(err = getaddrinfo\(host, "ruptime", &hint, &ailist\)\) != 0\) {)Tj -2.4 -1.189 Td -(syslog\(LOG_ERR, "ruptimed: getaddrinfo error: %s",)Tj -1.2 -1.189 Td -(gai_strerror\(err\)\);)Tj --1.2 -1.189 Td -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(for \(aip = ailist; aip != NULL; aip = aip->ai_next\) {)Tj -2.4 -1.189 Td -(if \(\(sockfd = initserver\(SOCK_STREAM, aip->ai_addr,)Tj -1.2 -1.189 Td -(aip->ai_addrlen, QLEN\)\) >= 0\) {)Tj -1.2 -1.189 Td -(serve\(sockfd\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5050.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 187.5255 488.9403 Tm -(Figure 16.18)Tj -/T1_0 1 Tf -6.195 0 Td -[(Server pr)18(ogram illustrating command writing dir)18(ectly to socket)]TJ -9.9988 0 0 9.9988 129.5846 464.9432 Tm -[(Instead )-73(of )-73(using)]TJ -/TT0 1 Tf -7.562 0 Td -(popen)Tj -/T1_0 1 Tf -3.323 0 Td -[(to )-73(r)8(un )-73(the)]TJ -/TT0 1 Tf -4.799 0 Td -(uptime)Tj -/T1_0 1 Tf -3.923 0 Td -[(command )-73(and )-73(r)18(eading )-73(the )-73(output )-73(fr)18(om )-73(the)]TJ --19.607 -1.2 Td -[(pipe )-252(connected )-252(to )-252(the )-252(command\325s )-252(standar)]TJ -0.5019 Tc 19.704 0 Td -(do)Tj -0 Tc 1.659 0 Td -[(utput, )-252(we )-252(use)]TJ -/TT0 1 Tf -7.033 0 Td -(fork)Tj -/T1_0 1 Tf -2.902 0 Td -[(to )-252(cr)18(eate )-252(a )-252(child)]TJ --31.299 -1.2 Td -[(pr)18(ocess )-3(and )-3(then )-3(use)]TJ -/TT0 1 Tf -9.475 0 Td -(dup2)Tj -/T1_0 1 Tf -2.653 0 Td -[(to )-3(arrange )-3(that )-3(the )-3(child\325s )-3(copy )-3(of)]TJ -/TT0 1 Tf -15.118 0 Td -(STDIN_FILENO)Tj -/T1_0 1 Tf -7.453 0 Td -[(is )-3(open )-3(to)]TJ -/TT0 1 Tf --34.699 -1.2 Td -(/dev/null)Tj -/T1_0 1 Tf -5.905 0 Td -[(and )-255(that )-255(both)]TJ -/TT0 1 Tf -6.949 0 Td -(STDOUT_FILENO)Tj -/T1_0 1 Tf -8.305 0 Td -(and)Tj -/TT0 1 Tf -2.198 0 Td -(STDERR_FILENO)Tj -/T1_0 1 Tf -8.305 0 Td -(ar)Tj -0.505 Tc 0.877 0 Td -(eo)Tj -0 Tc 1.53 0 Td -[(pen )-255(to )-255(the)]TJ --34.069 -1.2 Td -[(socket )-230(endpoint.)-730(When )-230(we )-230(execute)]TJ -/TT0 1 Tf -16.977 0 Td -(uptime)Tj -/T1_0 1 Tf -0.4805 Tc (,t)Tj -0 Tc 4.656 0 Td -[(he )-230(command )-230(writes )-230(the )-230(r)18(esults )-230(to )-230(its)]TJ --21.634 -1.2 Td -(standar)Tj -0.449 Tc 3.32 0 Td -(do)Tj -0 Tc 1.606 0 Td -[(utput, )-199(which )-199(is )-199(connected )-199(to )-199(the )-199(socket, )-199(and )-199(the )-199(data )-199(is )-199(sent )-199(back )-199(to )-199(the)]TJ -/TT0 1 Tf --4.926 -1.2 Td -(ruptime)Tj -/T1_0 1 Tf -4.45 0 Td -(client command.)Tj --2.65 -1.2 Td -[(The )-120(par)18(ent )-120(can )-120(safely )-120(close )-120(the )-120(\336le )-120(descriptor )-120(connected )-120(to )-120(the )-120(client, )-120(because )-120(the)]TJ --1.8 -1.2 Td -[(child )-61(still )-61(has )-61(it )-61(open.)-561(The )-61(par)18(ent )-61(waits )-61(for )-61(the )-61(child )-61(to )-61(complete )-61(befor)]TJ -0.3106 Tc 31.714 0 Td -(ep)Tj --0.018 Tc 1.391 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(ceeding, )-61(so)]TJ --34.027 -1.2 Td -[(that )-184(the )-184(child )-184(doesn\325t )-184(become )-184(a )-184(zombie.)-685(Since )-184(it )-184(shouldn\325t )-184(take )-184(too )-184(long )-184(to )-184(r)8(un )-184(the)]TJ -/TT0 1 Tf -0 -1.2 TD -(uptime)Tj -/T1_0 1 Tf -3.962 0 Td -[(command, )-112(the )-112(par)18(ent )-112(can )-112(af)19(for)18(d)-362(to)-362(w)1(ait )-112(for )-112(the )-112(child )-112(to )-112(exit )-112(befor)]TJ -0.3617 Tc 29.975 0 Td -(ea)Tj -0 Tc 1.341 0 Td -(ccepting)Tj --35.277 -1.2 Td -[(the next connect r)17(equest. )-250(This)-251(strategy might not be appr)18(opriate if the child takes a long)]TJ -0 -1.2 Td -[(time, however)74(.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3210.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 147.5734 292.1464 Tm -[(The )-219(pr)18(evious )-219(examples )-219(have )-219(used )-219(connection-oriented )-219(sockets.)-719(But )-219(how )-219(do )-219(we)]TJ --1.8 -1.2 Td -[(choose )-45(the )-45(appr)18(opriate )-45(type?)-545(When )-45(do )-45(we )-45(use )-45(a )-45(connection-oriented )-45(socket, )-45(and )-45(when)]TJ -T* -[(do )-68(we )-68(use )-68(a )-68(connectionless )-68(socket?)-568(The )-68(answer )-68(depends )-68(on )-68(how )-68(much )-68(work )-68(we )-68(want)]TJ -T* -[(to do and how much tolerance we have for err)18(ors.)]TJ --0.055 Tc 1.8 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-5(a )-5(connectionless )-5(socket, )-5(packets )-5(can )-5(arrive )-5(out )-5(of )-5(or)19(der)74(,)-255(so)-255(if)-255(w)]TJ -0.2548 Tc (ec)Tj -0 Tc 29.957 0 Td -[(an\325t )-5(\336t )-5(all )-5(our)]TJ --32.993 -1.2 Td -[(data )-232(in )-232(one )-232(packet, )-232(we )-232(will )-232(have )-232(to )-232(worry )-232(about )-232(or)14(dering )-232(in )-232(our )-232(application.)-734(The)]TJ -T* -[(maximum )-133(packet )-133(size )-133(is )-133(a )-133(characteristic )-133(of )-133(the )-133(communication )-133(pr)15(otocol. )-383(Also,)-383(with )-133(a)]TJ -0 -1.2 Td -[(connectionless )-54(socket, )-54(the )-54(packets )-54(can )-54(be )-54(lost.)-554(If )-54(our )-54(application )-54(can\325t )-54(tolerate )-54(this )-54(loss,)]TJ -T* -(we should use connection-oriented sockets.)Tj --0.092 Tc 1.8 -1.2 Td -(To)Tj -0 Tc 1.067 0 Td -[(lerating )-4(packet )-4(loss )-4(means )-4(that )-4(we )-4(have )-4(two )-4(choices.)-504(If )-4(we )-4(intend )-4(to )-4(have )-4(r)22(eliable)]TJ --2.867 -1.2 Td -[(communication )-545(with )-545(our )-545(peer)73(,)-795(we)-795(h)-1(ave )-546(to )-546(number )-546(our )-546(packets )-546(and )-546(r)20(equest)]TJ --0.018 Tc -0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(transmission )-172(fr)18(om )-172(the )-172(peer )-172(application )-172(when )-172(we )-172(detect )-172(a )-172(missing )-172(packet.)]TJ --0.092 Tc 34.574 0 Td -[(We )-356(a)]TJ -0 Tc 2.309 0 Td -(lso)Tj --37.739 -1.2 Td -[(have )-116(to )-116(identify )-116(duplicate )-116(packets )-116(and )-116(discar)]TJ -0.3664 Tc 20.481 0 Td -(dt)Tj -0 Tc 1.303 0 Td -[(hem, )-116(since )-116(a )-116(packet )-116(might )-116(be )-116(delayed)]TJ --21.785 -1.2 Td -[(and appear to be lost, but show up after we have r)18(equested r)18(etransmission.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47320 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(19.3)]TJ -27.958 0 Td -[(Opening )-250(Pseudo-T)92(erminal )-250(Devices)]TJ -/T1_1 1 Tf -17.875 0 Td -(725)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -(int)Tj -0 -1.189 TD -(ptym_open\(char *pts_name, int pts_namesz\))Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(*ptr;)]TJ -T* -[(int )-2400(fdm,)-600(err;)]TJ -0 -2.021 TD -(if \(\(fdm = posix_openpt\(O_RDWR\)\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -[(if \(grantpt\(fdm\) < 0\))-4200(/* grant access to slave */)]TJ -2.4 -1.189 Td -(goto errout;)Tj --2.4 -1.189 Td -[(if \(unlockpt\(fdm\) < 0\))-3600(/* clear slave\325s lock flag */)]TJ -2.4 -1.189 Td -(goto errout;)Tj --2.4 -1.189 Td -[(if \(\(ptr = ptsname\(fdm\)\) == NULL\))-1800(/* get slave\325s name */)]TJ -2.4 -1.189 Td -(goto errout;)Tj --2.4 -2.021 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*R)Tj -0 Tc 1.8 0 Td -[(eturn name of slave.)-1200(Null terminate to handle)]TJ -0.6 Tc -1.8 -1.189 Td -(*c)Tj -0 Tc 1.8 0 Td -(ase where strlen\(ptr\) > pts_namesz.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(strncpy\(pts_name, ptr, pts_namesz\);)Tj -0 -1.189 TD -(pts_name[pts_namesz - 1] = \325\\0\325;)Tj -0 -1.189 TD -(return\(fdm\); )Tj -14.4 0 Td -[(/*)-600(return fd of master */)]TJ --16.8 -1.189 Td -(errout:)Tj -2.4 -1.189 Td -(err = errno;)Tj -T* -(close\(fdm\);)Tj -T* -(errno = err;)Tj -T* -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(ptys_open\(char *pts_name\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(int fds;)Tj --2.4 -1.189 Td -(#if defined\(SOLARIS\))Tj -2.4 -1.189 Td -(int err, setup;)Tj --2.4 -1.189 Td -(#endif)Tj -2.4 -2.021 Td -(if \(\(fds = open\(pts_name, O_RDWR\)\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --4.8 -2.021 Td -(#if defined\(SOLARIS\))Tj -2.4 -1.189 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(heck if stream is already set up by autopush facility.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(\(setup = ioctl\(fds, I_FIND, "ldterm"\)\) < 0\))Tj -2.4 -1.189 Td -(goto errout;)Tj --2.4 -2.021 Td -(if \(setup == 0\) {)Tj -2.4 -1.189 Td -(if \(ioctl\(fds, I_PUSH, "ptem"\) < 0\))Tj -2.4 -1.189 Td -(goto errout;)Tj --2.4 -1.189 Td -(if \(ioctl\(fds, I_PUSH, "ldterm"\) < 0\))Tj -2.4 -1.189 Td -(goto errout;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47321 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(780)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(751 )-2400(/*)]TJ -0 -1.189 TD -[(752 )-3000(*)-600(We read lock the free list so that we don\325t read)]TJ -T* -[(753 )-3000(*)]TJ -0.6 Tc 6.6 0 Td -(ar)Tj -0 Tc 1.8 0 Td -(ecord in the middle of its being deleted.)Tj --8.4 -1.189 Td -[(754 )-3000(*/)]TJ -T* -[(755 )-2400(if)-600(\(readw_lock\(db->idxfd, FREE_OFF, SEEK_SET, 1\) < 0\))]TJ -0 -1.189 TD -[(756 )-4800(err_dump\("db_nextrec:)-600(readw_lock error"\);)]TJ -0 -2.259 TD -[(757 )-2400(do)-600({)]TJ -0 -1.189 TD -[(758 )-4800(/*)]TJ -T* -(759 )Tj -7.8 0 Td -[(*)-600(Read next sequential index record.)]TJ --7.8 -1.189 Td -(760 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(761 )-4800(if)-600(\(_db_readidx\(db, 0\) < 0\) {)]TJ -T* -(762 )Tj -9.6 0 Td -(ptr)Tj -0.6 Tc 2.4 0 Td -(=N)Tj -0 Tc 1.8 0 Td -[(ULL; )-2400(/*)-600(end of index file, EOF */)]TJ --13.8 -1.189 Td -(763 )Tj -9.6 0 Td -[(goto)-600(doreturn;)]TJ --9.6 -1.189 Td -[(764 )-4800(})]TJ -0 -2.259 TD -[(765 )-4800(/*)]TJ -0 -1.189 TD -(766 )Tj -7.8 0 Td -[(*)-600(Check if key is all blank \(empty record\).)]TJ --7.8 -1.189 Td -(767 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(768 )-4800(ptr)]TJ -0.6 Tc 9.6 0 Td -(=d)Tj -0 Tc 1.8 0 Td -(b->idxbuf;)Tj --11.4 -1.189 Td -[(769 )-4800(while)-600(\(\(c = *ptr++\) != 0)-1200(&& )-600(c)-600(== SPACE\))]TJ -T* -(770 )Tj -9.6 0 Td -[(;)-1800(/* skip until null byte or nonblank */)]TJ --9.6 -1.189 Td -[(771 )-2400(})-600(while \(c == 0\);)-1800(/* loop until a nonblank key is found */)]TJ -0 -2.259 TD -[(772 )-2400(if)-600(\(key != NULL\))]TJ -0 -1.189 TD -[(773 )-4800(strcpy\(key,)-600(db->idxbuf\); )-1800(/*)-600(return key */)]TJ -T* -[(774 )-2400(ptr)]TJ -0.6 Tc 7.2 0 Td -(=_)Tj -0 Tc 1.8 0 Td -[(db_readdat\(db\); )-600(/*)-600(return pointer to data buffer */)]TJ --9 -1.189 Td -[(775 )-2400(db->cnt_nextrec++;)]TJ -0 -2.259 TD -[(776 )-1200(doreturn:)]TJ -0 -1.189 TD -[(777 )-2400(if)-600(\(un_lock\(db->idxfd, FREE_OFF, SEEK_SET, 1\) < 0\))]TJ -0 -1.189 TD -[(778 )-4800(err_dump\("db_nextrec:)-600(un_lock error"\);)]TJ -0 -1.189 TD -[(779 )-2400(return\(ptr\);)]TJ -T* -[(780 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3059.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 281.8442 Tm -[([751 )167(\320 )167(756])]TJ --0.092 Tc 5 0 Td -[(We )-230(\336)]TJ -0 Tc 2.288 0 Td -[(rst )-46(need )-46(to )-46(r)19(ead )-46(lock )-46(the )-46(fr)18(ee )-46(list )-46(so )-46(that )-46(no )-46(other )-46(pr)18(ocesses )-46(can )-46(r)21(emove)]TJ -0.25 Tc -2.288 -1.2 Td -(ar)Tj -0 Tc 1.127 0 Td -(ecor)Tj -0.25 Tc 1.846 0 Td -(dw)Tj -0 Tc 1.695 0 Td -(hile we ar)Tj -0.25 Tc 4.333 0 Td -(er)Tj -0 Tc 1.106 0 Td -(eading it.)Tj --15.107 -1.84 Td -[([757 )167(\320 )167(771])]TJ --0.092 Tc 5 0 Td -[(We )-271(c)]TJ -0 Tc 2.168 0 Td -(all)Tj -/TT0 1 Tf -1.419 0 Td -(_db_readidx)Tj -/T1_1 1 Tf -6.937 0 Td -[(to )-87(r)18(ead )-87(the )-87(next )-87(r)17(ecor)18(d. )-337(W)]TJ -0.3373 Tc 12.057 0 Td -(ep)Tj -0 Tc 1.417 0 Td -[(ass )-87(in )-87(an )-87(of)18(fset )-87(of )-87(0 )-87(to)]TJ --23.999 -1.2 Td -(tell)Tj -/TT0 1 Tf -1.682 0 Td -(_db_readidx)Tj -/T1_1 1 Tf -6.895 0 Td -[(to )-45(continue )-45(r)18(eading )-45(fr)18(om )-45(the )-45(curr)18(ent )-45(of)17(fset. )-295(Since)-295(we )-45(ar)18(e)]TJ --0.018 Tc -8.577 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading )-188(the )-188(index )-188(\336le )-188(sequentially)111(,)-438(we)-438(can )-188(come )-188(acr)18(oss )-188(r)18(ecor)18(ds )-188(that )-188(have)]TJ --0.856 -1.2 Td -[(been )-96(deleted.)]TJ --0.092 Tc 6.561 0 Td -[(We )-280(w)]TJ -0 Tc 2.567 0 Td -[(ant )-96(to )-96(r)18(eturn )-96(only )-96(valid )-96(r)17(ecor)18(ds, )-96(so )-96(we )-96(skip )-96(any )-96(r)18(ecor)18(d)]TJ --9.129 -1.2 Td -[(whose )-49(key )-49(is )-49(all )-49(spaces )-49(\(r)18(ecall )-49(that)]TJ -/TT0 1 Tf -15.67 0 Td -(_db_dodelete)Tj -/T1_1 1 Tf -7.499 0 Td -[(clears )-49(a )-49(key )-49(by )-49(setting )-49(it)]TJ --23.169 -1.2 Td -(to all spaces\).)Tj --5 -1.84 Td -[([772 )167(\320 )167(780])-668(When )-255(we )-255(\336nd )-255(a )-255(valid )-255(key)110(,)-505(we)-505(c)-1(opy )-255(it )-255(to )-255(the )-255(caller)-75(\325s )-255(buf)18(fer )-255(if )-255(one )-255(was)]TJ -5 -1.2 Td -[(supplied. )-307(Then)-308(we )-57(r)18(ead )-58(the )-58(data )-58(r)19(ecor)]TJ -0.3076 Tc 17.329 0 Td -(da)Tj -0 Tc 1.419 0 Td -[(nd )-58(set )-58(the )-58(r)18(eturn )-58(value )-58(to )-58(point )-58(to)]TJ --18.748 -1.2 Td -[(the )-252(internal )-252(buf)18(fer )-252(containing )-252(the )-252(data )-252(r)15(ecor)18(d. )-502(W)]TJ -0.5025 Tc 23.294 0 Td -(ei)Tj -0 Tc 1.272 0 Td -[(ncr)18(ement )-252(a )-252(statistics)]TJ --24.567 -1.2 Td -(counter)Tj -0.25 Tc 3.301 0 Td -(,u)Tj -0 Tc 1.103 0 Td -[(nlock the fr)18(ee list, and r)18(eturn the pointer to the data r)18(ecor)18(d.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47322 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(778)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(687 )-2400(while)-600(\(offset != 0\) {)]TJ -0 -1.189 TD -[(688 )-4800(nextoffset)]TJ -0.6 Tc 13.8 0 Td -(=_)Tj -0 Tc 1.8 0 Td -(db_readidx\(db, offset\);)Tj --15.6 -1.189 Td -[(689 )-4800(if)-600(\(strlen\(db->idxbuf\) == keylen && db->datlen == datlen\))]TJ -T* -(690 )Tj -9.6 0 Td -[(break;)-3600(/* found a match */)]TJ --9.6 -1.189 Td -[(691 )-4800(saveoffset)]TJ -0.6 Tc 13.8 0 Td -(=o)Tj -0 Tc 1.8 0 Td -(ffset;)Tj --15.6 -1.189 Td -[(692 )-4800(offset)]TJ -0.6 Tc 11.4 0 Td -(=n)Tj -0 Tc 1.8 0 Td -(extoffset;)Tj --13.2 -1.189 Td -[(693 )-2400(})]TJ -0 -2.021 TD -[(694 )-2400(if)-600(\(offset == 0\) {)]TJ -0 -1.189 TD -[(695 )-4800(rc)]TJ -0.6 Tc 9 0 Td -(=-)Tj -0 Tc 1.8 0 Td -[(1; )-1800(/*)-600(no match found */)]TJ --10.8 -1.189 Td -[(696 )-2400(})-600(else {)]TJ -T* -[(697 )-4800(/*)]TJ -T* -(698 )Tj -7.8 0 Td -[(*)-600(Found a free record with matching sizes.)]TJ --7.8 -1.189 Td -(699 )Tj -7.8 0 Td -[(*)-600(The index record was read in by _db_readidx above,)]TJ --7.8 -1.189 Td -(700 )Tj -7.8 0 Td -[(*)-600(which sets db->ptrval.)-1200(Also, saveoffset points to)]TJ --7.8 -1.189 Td -(701 )Tj -7.8 0 Td -[(*)-600(the chain ptr that pointed to this empty record on)]TJ --7.8 -1.189 Td -(702 )Tj -7.8 0 Td -[(*)-600(the free list.)-1200(We set this chain ptr to db->ptrval,)]TJ --7.8 -1.189 Td -(703 )Tj -7.8 0 Td -[(*)-600(which removes the empty record from the free list.)]TJ --7.8 -1.189 Td -(704 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(705 )-4800(_db_writeptr\(db,)-600(saveoffset, db->ptrval\);)]TJ -T* -[(706 )-4800(rc)]TJ -0.6 Tc 9 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --10.8 -2.021 Td -[(707 )-4800(/*)]TJ -T* -(708 )Tj -7.8 0 Td -[(*)-600(Notice also that _db_readidx set both db->idxoff)]TJ --7.8 -1.189 Td -(709 )Tj -7.8 0 Td -[(*)-600(and db->datoff.)-1200(This is used by the caller, db_store,)]TJ --7.8 -1.189 Td -(710 )Tj -7.8 0 Td -[(*)-600(to write the new index record and data record.)]TJ --7.8 -1.189 Td -(711 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(712 )-2400(})]TJ -0 -2.021 TD -[(713 )-2400(/*)]TJ -0 -1.189 TD -[(714 )-3000(*)-600(Unlock the free list.)]TJ -T* -[(715 )-3000(*/)]TJ -T* -[(716 )-2400(if)-600(\(un_lock\(db->idxfd, FREE_OFF, SEEK_SET, 1\) < 0\))]TJ -T* -[(717 )-4800(err_dump\("_db_findfree:)-600(un_lock error"\);)]TJ -0 -1.189 TD -[(718 )-2400(return\(rc\);)]TJ -0 -1.189 TD -[(719 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2898.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 265.7961 Tm -[([687 )167(\320 )167(693])-668(The)]TJ -/TT0 1 Tf -7 0 Td -(while)Tj -/T1_1 1 Tf -3.326 0 Td -[(loop )-76(in)]TJ -/TT0 1 Tf -3.509 0 Td -(_db_findfree)Tj -/T1_1 1 Tf -7.526 0 Td -[(goes )-76(thr)18(ough )-76(the )-76(fr)18(ee )-76(list, )-76(looking )-76(for )-76(a)]TJ --0.018 Tc -16.361 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.2724 Tc 1.367 0 Td -(dw)Tj -0 Tc 1.717 0 Td -[(ith )-22(matching )-22(key )-22(and )-22(data )-22(sizes.)-524(In )-22(this )-22(simple )-22(implementation, )-22(we)]TJ --0.018 Tc -3.94 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(use )-240(a )-240(deleted )-240(r)18(ecor)]TJ -0.4899 Tc 8.975 0 Td -(do)Tj -0 Tc 1.647 0 Td -[(nly )-240(if )-240(the )-240(key )-240(length )-240(and )-240(data )-240(length )-240(equal )-240(the)]TJ --11.478 -1.2 Td -[(lengths )-25(for )-25(the )-25(new )-25(r)18(ecor)]TJ -0.2749 Tc 11.119 0 Td -(db)Tj -0 Tc 1.439 0 Td -[(eing )-25(inserted.)-525(Ther)]TJ -0.2748 Tc 8.596 0 Td -(ea)Tj --0.018 Tc 1.254 0 Td -[(re )-61(a )-61(v)]TJ -0 Tc 2.471 0 Td -[(ariety )-25(of )-25(better )-25(ways)]TJ --24.878 -1.2 Td -[(to r)18(euse this deleted space, in exchange for added complexity)111(.)]TJ --5 -1.6 Td -[([694 )167(\320 )167(712])-668(If )-85(we )-85(can\325t )-85(\336nd )-85(an )-85(available )-85(r)15(ecor)18(d)-335(of)-335(t)-1(he )-85(r)18(equested )-85(key )-85(and )-85(data )-85(sizes, )-85(we)]TJ -5 -1.2 Td -[(set )-206(the )-206(r)18(eturn )-206(code )-206(to )-206(indicate )-206(failur)18(e. )-456(Otherwise,)-456(we )-206(write )-206(the )-206(pr)18(evious)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(d\325s )-81(chain )-81(pointer )-81(to )-81(point )-81(to )-81(the )-81(next )-81(chain )-81(pointer )-81(value )-81(of )-81(the )-81(r)13(ecor)18(d)]TJ --0.856 -1.2 Td -[(we have found.)-500(This r)18(emoves the r)18(ecor)]TJ -0.25 Tc 17.387 0 Td -(df)Tj --0.018 Tc 1.194 0 Td -(ro)Tj -0.25 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.459 0 Td -[(he fr)18(ee list.)]TJ --25.963 -1.6 Td -[([713 )167(\320 )167(719])-668(Once )-192(we )-192(ar)]TJ -0.4423 Tc 10.366 0 Td -(ed)Tj -0 Tc 1.532 0 Td -[(one )-192(with )-192(the )-192(fr)18(ee )-192(list, )-192(we )-192(r)18(elease )-192(the )-192(write )-192(lock.)-695(Then )-192(we)]TJ --0.018 Tc -6.898 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn the status to the caller)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47323 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(770)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(441 )-2400(/*)]TJ -0 -1.189 TD -[(442 )-3000(*)-600(Read the free list pointer.)-1200(Its value becomes the)]TJ -T* -[(443 )-3000(*)-600(chain ptr field of the deleted index record.)-1200(This means)]TJ -T* -[(444 )-3000(*)-600(the deleted record becomes the head of the free list.)]TJ -T* -[(445 )-3000(*/)]TJ -0 -1.189 TD -[(446 )-2400(freeptr)]TJ -0.6 Tc 9.6 0 Td -(=_)Tj -0 Tc 1.8 0 Td -(db_readptr\(db, FREE_OFF\);)Tj --11.4 -1.783 Td -[(447 )-2400(/*)]TJ -0 -1.189 TD -[(448 )-3000(*)-600(Save the contents of index record chain ptr,)]TJ -T* -[(449 )-3000(*)-600(before it\325s rewritten by _db_writeidx.)]TJ -0 -1.189 TD -[(450 )-3000(*/)]TJ -0 -1.189 TD -[(451 )-2400(saveptr)]TJ -0.6 Tc 9.6 0 Td -(=d)Tj -0 Tc 1.8 0 Td -(b->ptrval;)Tj --11.4 -1.783 Td -[(452 )-2400(/*)]TJ -T* -[(453 )-3000(*)-600(Rewrite the index record.)-1200(This also rewrites the length)]TJ -0 -1.189 TD -[(454 )-3000(*)-600(of the index record, the data offset, and the data length,)]TJ -0 -1.189 TD -[(455 )-3000(*)-600(none of which has changed, but that\325s OK.)]TJ -T* -[(456 )-3000(*/)]TJ -T* -[(457 )-2400(_db_writeidx\(db,)-600(db->idxbuf, db->idxoff, SEEK_SET, freeptr\);)]TJ -0 -1.783 TD -[(458 )-2400(/*)]TJ -0 -1.189 TD -[(459 )-3000(*)-600(Write the new free list pointer.)]TJ -0 -1.189 TD -[(460 )-3000(*/)]TJ -0 -1.189 TD -[(461 )-2400(_db_writeptr\(db,)-600(FREE_OFF, db->idxoff\);)]TJ -0 -1.783 TD -[(462 )-2400(/*)]TJ -0 -1.189 TD -[(463 )-3000(*)-600(Rewrite the chain ptr that pointed to this record being)]TJ -T* -[(464 )-3000(*)-600(deleted. )-600(Recall)-600(that _db_find_and_lock sets db->ptroff to)]TJ -0 -1.189 TD -[(465 )-3000(*)-600(point to this chain ptr.)-1200(We set this chain ptr to the)]TJ -0 -1.189 TD -[(466 )-3000(*)-600(contents of the deleted record\325s chain ptr, saveptr.)]TJ -0 -1.189 TD -[(467 )-3000(*/)]TJ -0 -1.189 TD -[(468 )-2400(_db_writeptr\(db,)-600(db->ptroff, saveptr\);)]TJ -0 -1.189 TD -[(469 )-2400(if)-600(\(un_lock\(db->idxfd, FREE_OFF, SEEK_SET, 1\) < 0\))]TJ -0 -1.189 TD -[(470 )-4800(err_dump\("_db_dodelete:)-600(un_lock error"\);)]TJ -0 -1.189 TD -[(471 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3123.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 288.2634 Tm -[([441 )167(\320 )167(461])]TJ --0.092 Tc 5 0 Td -[(We )-190(r)]TJ -0 Tc 2.019 0 Td -[(ead )-5(the )-5(fr)17(ee-list )-5(pointer )-5(and )-5(then )-5(update )-5(the )-5(index )-5(r)15(ecor)18(d)-255(so)-255(t)-1(hat )-5(its )-5(next)]TJ --0.018 Tc -2.02 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.3747 Tc 1.367 0 Td -(dp)Tj -0 Tc 1.587 0 Td -[(ointer )-125(is )-125(set )-125(to )-125(the )-125(\336rst )-125(r)20(ecor)]TJ -0.3747 Tc 13.043 0 Td -(do)Tj -0.3748 Tc 1.532 0 Td -(nt)Tj -0 Tc 1.283 0 Td -[(he )-125(fr)18(ee )-125(list.)-625(\(If )-125(the )-125(fr)18(ee )-125(list )-125(was)]TJ --19.667 -1.2 Td -(empty)Tj -0.3231 Tc 2.734 0 Td -(,t)Tj -0 Tc 0.899 0 Td -[(his )-73(new )-73(chain )-73(pointer )-73(is )-73(0.\))]TJ --0.092 Tc 12.798 0 Td -[(We )-257(h)]TJ -0 Tc 2.292 0 Td -[(ave )-73(alr)18(eady )-73(clear)18(ed )-73(the )-73(key)]TJ -0.573 Tc 12.198 0 Td -(.T)Tj -0 Tc 1.436 0 Td -(hen)Tj --32.357 -1.2 Td -[(we )-176(update )-176(the )-176(fr)18(ee-list )-176(pointer )-176(with )-176(the )-176(of)19(fset )-176(of )-176(the )-176(index )-176(r)18(ecor)18(d)-426(we)-426(a)]TJ --0.018 Tc (re)Tj -0 Tc 0 -1.2 Td -[(deleting. )-307(This)-307(means )-57(that )-57(the )-57(fr)18(ee )-57(list )-57(is )-57(handled )-57(on )-57(a )-57(last-in, )-57(\336rst-out )-57(basis;)]TJ -0 -1.2 TD -[(that )-127(is, )-127(deleted )-127(r)18(ecor)18(ds )-127(ar)]TJ -0.377 Tc 11.618 0 Td -(ea)Tj -0 Tc 1.356 0 Td -[(dded )-127(to )-127(the )-127(fr)18(ont )-127(of )-127(the )-127(fr)18(ee )-127(list )-127(\(although )-127(we)]TJ --0.018 Tc -12.974 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(move entries fr)18(om the fr)18(ee list on a \336rst-\336t basis\).)]TJ --0.092 Tc -0.856 -1.8 Td -[(We )-191(d)]TJ -0 Tc 2.255 0 Td -[(on\325t )-7(have )-7(a )-7(separate )-7(fr)18(ee )-7(list )-7(for )-7(each )-7(\336le.)-506(When )-7(we )-7(add )-7(a )-7(deleted )-7(index)]TJ --0.018 Tc -2.255 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(d)-286(to)-286(the )-36(fr)18(ee )-36(list, )-36(the )-36(index )-36(r)17(ecor)]TJ -0.2863 Tc 15.58 0 Td -(ds)Tj -0 Tc 1.321 0 Td -[(till )-36(points )-36(to )-36(the )-36(deleted )-36(data )-36(r)16(ecor)18(d.)]TJ --17.757 -1.2 Td -(Ther)Tj -0.25 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(b)]TJ -0 Tc 1.659 0 Td -[(etter ways to do this, in exchange for added complexity)111(.)]TJ --9.939 -1.6 Td -[([462 )167(\320 )167(471])]TJ --0.092 Tc 5 0 Td -[(We )-241(u)]TJ -0 Tc 2.297 0 Td -[(pdate )-57(the )-57(pr)18(evious )-57(r)19(ecor)18(d)-307(in)-307(the )-57(hash )-57(chain )-57(to )-57(point )-57(to )-57(the )-57(r)19(ecor)]TJ -0.3067 Tc 28.753 0 Td -(da)Tj -0 Tc 1.418 0 Td -(fter)Tj --32.467 -1.2 Td -[(the )-179(one )-179(we )-179(ar)]TJ -0.4289 Tc 6.471 0 Td -(ed)Tj -0 Tc 1.519 0 Td -[(eleting, )-179(thus )-179(r)18(emoving )-179(the )-179(deleted )-179(r)19(ecor)]TJ -0.4289 Tc 18.499 0 Td -(df)Tj --0.018 Tc 1.373 0 Td -(ro)Tj -0.429 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.638 0 Td -[(he )-179(hash)]TJ --30.422 -1.2 Td -[(chain. )-250(Finally)111(,)-250(we)-250(unlock the fr)18(ee list.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47324 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(768)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(377 )-1200(/*)]TJ -0 -1.189 TD -[(378 )-1800(*)-600(Read the current data record into the data buffer.)]TJ -T* -[(379 )-1800(*)-600(Return a pointer to the null-terminated data buffer.)]TJ -T* -[(380 )-1800(*/)]TJ -T* -[(381 )-1200(static)-600(char *)]TJ -0 -1.189 TD -[(382 )-1200(_db_readdat\(DB)-600(*db\))]TJ -0 -1.189 TD -[(383 )-1200({)]TJ -T* -[(384 )-2400(if)-600(\(lseek\(db->datfd, db->datoff, SEEK_SET\) == -1\))]TJ -T* -[(385 )-4800(err_dump\("_db_readdat:)-600(lseek error"\);)]TJ -T* -[(386 )-2400(if)-600(\(read\(db->datfd, db->datbuf, db->datlen\) != db->datlen\))]TJ -T* -[(387 )-4800(err_dump\("_db_readdat:)-600(read error"\);)]TJ -T* -[(388 )-2400(if)-600(\(db->datbuf[db->datlen-1] != NEWLINE\))-2400(/* sanity check */)]TJ -T* -[(389 )-4800(err_dump\("_db_readdat:)-600(missing newline"\);)]TJ -0 -1.189 TD -[(390 )-2400(db->datbuf[db->datlen-1])-600(=)-600(0;)-600(/*)-600(replace newline with null */)]TJ -0 -1.189 TD -[(391 )-2400(return\(db->datbuf\); )-2400(/*)-600(return pointer to data record */)]TJ -0 -1.189 TD -[(392 )-1200(})]TJ -0 -1.783 TD -[(393 )-1200(/*)]TJ -0 -1.189 TD -[(394 )-1800(*)-600(Delete the specified record.)]TJ -0 -1.189 TD -[(395 )-1800(*/)]TJ -0 -1.189 TD -[(396 )-1200(int)]TJ -T* -[(397 )-1200(db_delete\(DBHANDLE)-600(h, const char *key\))]TJ -0 -1.189 TD -[(398 )-1200({)]TJ -0 -1.189 TD -[(399 )-2400(DB)-3600(*db = h;)]TJ -0 -1.189 TD -[(400 )-2400(int )-2400(rc)]TJ -0.6 Tc 11.4 0 Td -(=0)Tj -5.4 Tc 1.8 0 Td -(;/)Tj -0.6 Tc 6.6 0 Td -(*a)Tj -0 Tc 1.8 0 Td -(ssume record will be found */)Tj --21.6 -1.783 Td -[(401 )-2400(if)-600(\(_db_find_and_lock\(db, key, 1\) == 0\) {)]TJ -0 -1.189 TD -[(402 )-4800(_db_dodelete\(db\);)]TJ -0 -1.189 TD -[(403 )-4800(db->cnt_delok++;)]TJ -0 -1.189 TD -[(404 )-2400(})-600(else {)]TJ -0 -1.189 TD -[(405 )-4800(rc)]TJ -0.6 Tc 9 0 Td -(=-)Tj -0 Tc 1.8 0 Td -(1; )Tj -8.4 0 Td -[(/*)-600(not found */)]TJ --19.2 -1.189 Td -[(406 )-4800(db->cnt_delerr++;)]TJ -0 -1.189 TD -[(407 )-2400(})]TJ -T* -[(408 )-2400(if)-600(\(un_lock\(db->idxfd, db->chainoff, SEEK_SET, 1\) < 0\))]TJ -0 -1.189 TD -[(409 )-4800(err_dump\("db_delete:)-600(un_lock error"\);)]TJ -0 -1.189 TD -[(410 )-2400(return\(rc\);)]TJ -0 -1.189 TD -[(411 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2802.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 256.1673 Tm -[([377 )167(\320 )167(392])-668(The)]TJ -/TT0 1 Tf -6.999 0 Td -(_db_readdat)Tj -/T1_1 1 Tf -6.925 0 Td -[(function )-75(populates )-75(the)]TJ -/TT0 1 Tf -10.439 0 Td -(datbuf)Tj -/T1_1 1 Tf -3.925 0 Td -[(\336eld )-75(in )-75(the)]TJ -/TT0 1 Tf -5.22 0 Td -(DB)Tj -/T1_1 1 Tf -1.525 0 Td -[(str)8(uctur)18(e)]TJ --30.031 -1.2 Td -[(with )-25(the )-25(contents )-25(of )-25(the )-25(data )-25(r)20(ecor)18(d, )-25(expecting )-25(that )-25(the)]TJ -/TT0 1 Tf -24.558 0 Td -(datoff)Tj -/T1_1 1 Tf -3.875 0 Td -(and)Tj -/TT0 1 Tf -1.968 0 Td -(datlen)Tj -/T1_1 1 Tf --30.4 -1.2 Td -[(\336elds will have been pr)18(operly initialized alr)18(eady)111(.)]TJ --5 -1.6 Td -[([393 )167(\320 )167(41)54(1] )-472(The)]TJ -/TT0 1 Tf -7.069 0 Td -(db_delete)Tj -/T1_1 1 Tf -5.794 0 Td -[(function )-144(is )-144(used )-144(to )-144(delete )-144(a )-144(r)15(ecor)]TJ -0.3946 Tc 15.166 0 Td -(dg)Tj -0 Tc 1.562 0 Td -[(iven )-145(its )-145(key)]TJ -0.6446 Tc 5.227 0 Td -(.W)Tj -0.3946 Tc 1.803 0 Td -(eu)Tj -0 Tc 1.477 0 Td -(se)Tj -/TT0 1 Tf --33.097 -1.2 Td -(_db_find_and_lock)Tj -/T1_1 1 Tf -10.923 0 Td -[(to )-473(determine )-473(whether )-473(the )-473(r)18(ecor)]TJ -0.7231 Tc 15.576 0 Td -(de)Tj -0 Tc 1.813 0 Td -[(xists )-473(in )-473(the)]TJ --28.313 -1.2 Td -[(database. )-265(If)-265(it )-15(does, )-15(we )-15(call)]TJ -/TT0 1 Tf -12.419 0 Td -(_db_dodelete)Tj -/T1_1 1 Tf -7.465 0 Td -[(to )-15(do )-15(the )-15(work )-15(needed )-15(to )-15(delete)]TJ --19.884 -1.2 Td -[(the )-103(r)18(ecor)18(d. )-353(The)-354(thir)]TJ -0.3534 Tc 9.031 0 Td -(da)Tj --0.018 Tc 1.464 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument )-103(to)]TJ -/TT0 1 Tf -4.452 0 Td -(_db_find_and_lock)Tj -/T1_1 1 Tf -10.553 0 Td -[(contr)18(ols )-103(whether)]TJ --26.434 -1.2 Td -[(the )-179(chain )-179(is )-179(r)19(ead )-179(locked )-179(or )-179(write )-179(locked.)-678(Her)18(e)-429(we)-429(a)]TJ --0.018 Tc [(re )-215(re)]TJ -0 Tc 26.496 0 Td -[(questing )-179(a )-179(write)]TJ --26.496 -1.2 Td -[(lock, )-83(since )-83(we )-83(will )-83(potentially )-83(change )-83(the )-83(list.)-587(Since)]TJ -/TT0 1 Tf -23.8 0 Td -(_db_find_and_lock)Tj -/T1_1 1 Tf --0.018 Tc -23.8 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-90(with )-90(the )-90(lock )-90(still )-90(held, )-90(we )-90(need )-90(to )-90(unlock )-90(it, )-90(r)17(egar)18(dless )-90(of )-90(whether)]TJ --0.856 -1.2 Td -[(the r)18(ecor)]TJ -0.25 Tc 3.86 0 Td -(dw)Tj -0 Tc 1.695 0 Td -(as found.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47325 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(762)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(200 )-2400(if)-600(\(db->idxbuf != NULL\))]TJ -0 -1.189 TD -[(201 )-4800(free\(db->idxbuf\);)]TJ -T* -[(202 )-2400(if)-600(\(db->datbuf != NULL\))]TJ -T* -[(203 )-4800(free\(db->datbuf\);)]TJ -T* -[(204 )-2400(if)-600(\(db->name != NULL\))]TJ -0 -1.189 TD -[(205 )-4800(free\(db->name\);)]TJ -0 -1.189 TD -[(206 )-2400(free\(db\);)]TJ -T* -[(207 )-1200(})]TJ -0 -2.021 TD -[(208 )-1200(/*)]TJ -0 -1.189 TD -[(209 )-1800(*)-600(Fetch a record.)-1200(Return a pointer to the null-terminated data.)]TJ -0 -1.189 TD -[(210 )-1800(*/)]TJ -T* -[(211 )-1200(char)-600(*)]TJ -T* -[(212 )-1200(db_fetch\(DBHANDLE)-600(h, const char *key\))]TJ -T* -[(213 )-1200({)]TJ -T* -[(214 )-2400(DB)-3600(*db = h;)]TJ -T* -[(215 )-2400(char)-2400(*ptr;)]TJ -0 -2.021 TD -[(216 )-2400(if)-600(\(_db_find_and_lock\(db, key, 0\) < 0\) {)]TJ -0 -1.189 TD -[(217 )-4800(ptr)]TJ -0.6 Tc 9.6 0 Td -(=N)Tj -0 Tc 1.8 0 Td -(ULL; )Tj -10.2 0 Td -[(/*)-600(error, record not found */)]TJ --21.6 -1.189 Td -[(218 )-4800(db->cnt_fetcherr++;)]TJ -T* -[(219 )-2400(})-600(else {)]TJ -T* -[(220 )-4800(ptr)]TJ -0.6 Tc 9.6 0 Td -(=_)Tj -0 Tc 1.8 0 Td -[(db_readdat\(db\); )-600(/*)-600(return pointer to data */)]TJ --11.4 -1.189 Td -[(221 )-4800(db->cnt_fetchok++;)]TJ -T* -[(222 )-2400(})]TJ -0 -2.021 TD -[(223 )-2400(/*)]TJ -0 -1.189 TD -[(224 )-3000(*)-600(Unlock the hash chain that _db_find_and_lock locked.)]TJ -T* -[(225 )-3000(*/)]TJ -T* -[(226 )-2400(if)-600(\(un_lock\(db->idxfd, db->chainoff, SEEK_SET, 1\) < 0\))]TJ -T* -[(227 )-4800(err_dump\("db_fetch:)-600(un_lock error"\);)]TJ -T* -[(228 )-2400(return\(ptr\);)]TJ -T* -[(229 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3219.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 297.8922 Tm -[([200 )167(\320 )167(207])-668(Next, )-98(we )-98(fr)18(ee )-98(any )-98(dynamically )-98(allocated )-98(buf)20(fers. )-348(W)]TJ -0.3477 Tc 28.458 0 Td -(ec)Tj -0 Tc 1.271 0 Td -[(an )-98(safely )-98(pass )-98(a )-98(null)]TJ --24.729 -1.2 Td -[(pointer )-71(to)]TJ -/TT0 1 Tf -4.734 0 Td -(free)Tj -/T1_1 1 Tf -[(,)-321(so)-321(we)-321(d)-1(on\325t )-71(need )-71(to )-71(check )-71(the )-71(value )-71(of )-71(each )-71(buf)16(fer )-71(pointer)]TJ --4.734 -1.2 Td -[(befor)18(ehand, )-50(but )-50(we )-50(do )-50(so )-50(anyway )-50(because )-50(we )-50(consider )-50(it )-50(better )-50(style )-50(to )-50(fr)18(ee)]TJ -0 -1.2 Td -[(only )-174(those )-174(objects )-174(that )-174(we )-174(allocated.)-676(\(Not )-174(all )-174(deallocator )-174(functions )-174(ar)]TJ -0.4245 Tc 32.173 0 Td -(ea)Tj -0 Tc 1.404 0 Td -(s)Tj --33.576 -1.2 Td -[(for)18(giving as)]TJ -/TT0 1 Tf -5.521 0 Td -(free)Tj -/T1_1 1 Tf -[(.\) )-250(Finally)111(,)-250(we)-250(f)]TJ --0.018 Tc (re)Tj -0.25 Tc 9.691 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he memory backing the)Tj -/TT0 1 Tf -10.672 0 Td -(DB)Tj -/T1_1 1 Tf -1.45 0 Td -[(str)8(uctur)18(e.)]TJ --33.389 -1.6 Td -[([208 )167(\320 )167(218])-668(The)]TJ -/TT0 1 Tf -6.943 0 Td -(db_fetch)Tj -/T1_1 1 Tf -5.069 0 Td -[(function )-19(is )-19(used )-19(to )-19(r)18(ead )-19(a )-19(r)18(ecor)]TJ -0.2689 Tc 13.715 0 Td -(dg)Tj -0 Tc 1.436 0 Td -[(iven )-19(its )-19(key)]TJ -0.5189 Tc 4.976 0 Td -(.W)Tj -0.2689 Tc 1.677 0 Td -(e\336)Tj -0 Tc 1.353 0 Td -[(rst )-19(try )-19(to)]TJ --30.168 -1.2 Td -[(\336nd )-266(the )-266(r)17(ecor)18(d)-516(by)-516(c)-1(alling)]TJ -/TT0 1 Tf -12.665 0 Td -(_db_find_and_lock)Tj -/T1_1 1 Tf -0.7664 Tc (.I)Tj -0.5164 Tc 11.553 0 Td -(ft)Tj -0 Tc 1.175 0 Td -[(he )-266(r)18(ecor)]TJ -0.5164 Tc 3.8 0 Td -(dc)Tj -0 Tc 1.571 0 Td -[(an\325t )-266(be)]TJ --30.766 -1.2 Td -[(found, )-158(we )-158(set )-158(the )-158(r)18(eturn )-158(value )-158(\()]TJ -/TT0 1 Tf -14.836 0 Td -(ptr)Tj -/T1_1 1 Tf -0.4081 Tc (\)t)Tj -0 Tc 2.867 0 Td -(o)Tj -/TT0 1 Tf -0.954 0 Td -(NULL)Tj -/T1_1 1 Tf -2.808 0 Td -[(and )-158(incr)18(ement )-158(the )-158(count )-158(of)]TJ --21.465 -1.2 Td -[(unsuccessful )-141(r)18(ecor)]TJ -0.3906 Tc 8.268 0 Td -(ds)Tj -0 Tc 1.426 0 Td -[(ear)18(ches. )-391(Because)]TJ -/TT0 1 Tf -8.106 0 Td -(_db_find_and_lock)Tj -/T1_1 1 Tf --0.018 Tc 10.591 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-141(with)]TJ --29.246 -1.2 Td -[(the database index \336le locked, we can\325t r)18(eturn until we unlock it.)]TJ --5 -1.6 Td -[([219 )167(\320 )167(229])-668(If )-36(the )-36(r)18(ecor)18(d)-286(is)-286(found, )-36(we )-36(call)]TJ -/TT0 1 Tf -18.373 0 Td -(_db_readdat)Tj -/T1_1 1 Tf -6.886 0 Td -[(to )-36(r)18(ead )-36(the )-36(corr)18(esponding )-36(data)]TJ --0.018 Tc -20.259 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.4539 Tc 1.367 0 Td -(da)Tj -0 Tc 1.565 0 Td -[(nd )-204(incr)18(ement )-204(the )-204(count )-204(of )-204(the )-204(successful )-204(r)19(ecor)]TJ -0.4539 Tc 21.659 0 Td -(ds)Tj -0 Tc 1.489 0 Td -[(ear)18(ches. )-454(Befor)18(e)]TJ --0.018 Tc -26.936 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turning, )-116(we )-116(unlock )-116(the )-116(index )-116(\336le )-116(by )-116(calling)]TJ -/TT0 1 Tf -20.151 0 Td -(un_lock)Tj -/T1_1 1 Tf -0.6156 Tc (.T)Tj -0 Tc 5.679 0 Td -[(hen )-116(we )-116(r)18(eturn )-116(a)]TJ --26.685 -1.2 Td -[(pointer to the r)18(ecor)]TJ -0.25 Tc 8.452 0 Td -(df)Tj -0 Tc 1.194 0 Td -(ound \(or)Tj -/TT0 1 Tf -4.116 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(if the r)18(ecor)]TJ -0.25 Tc 4.734 0 Td -(dw)Tj -0 Tc 1.695 0 Td -(asn\325t found\).)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47326 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.15)]TJ -/TT0 1 Tf -15.823 0 Td -(link)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.15 0 Td -(linkat)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.35 0 Td -(unlink)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.35 0 Td -(unlinkat)Tj -/T1_0 1 Tf -0.5 Tc (,a)Tj -0 Tc 6.05 0 Td -(nd)Tj -/TT0 1 Tf -1.693 0 Td -(remove)Tj -/T1_0 1 Tf -4.1 0 Td -(Functions)Tj -/T1_1 1 Tf --0.037 Tc 6.354 0 Td -(11)Tj -0 Tc 0.963 0 Td -(7)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Most )-217(implementations )-217(r)17(equir)]TJ -0.4673 Tc 13.348 0 Td -(et)Tj -0 Tc 1.272 0 Td -[(hat )-217(both )-217(pathnames )-217(be )-217(on )-217(the )-217(same )-217(\336le )-217(system,)]TJ --16.42 -1.2 Td -[(although )-116(POSIX.1 )-116(allows )-116(an )-116(implementation )-116(to )-116(support )-116(linking )-116(acr)18(oss )-116(\336le )-116(systems.)-614(If)]TJ -0 -1.2 TD -[(an )-117(implementation )-117(supports )-117(the )-117(cr)18(eation )-117(of )-117(har)]TJ -0.3671 Tc 21.535 0 Td -(dl)Tj -0 Tc 1.269 0 Td -[(inks )-117(to )-117(dir)18(ectories, )-117(it )-117(is )-117(r)18(estricted )-117(to)]TJ --22.804 -1.2 Td -[(only )-10(the )-10(super)8(user)]TJ -0.5098 Tc 8.203 0 Td -(.T)Tj -0 Tc 1.373 0 Td -[(his )-10(constraint )-10(exists )-10(because )-10(such )-10(har)]TJ -0.2599 Tc 16.466 0 Td -(dl)Tj -0 Tc 1.162 0 Td -[(inks )-10(can )-10(cause )-10(loops )-10(in )-10(the)]TJ --27.203 -1.2 Td -[(\336le )-68(system, )-68(which )-68(most )-68(utilities )-68(that )-68(pr)19(ocess )-68(the )-68(\336le )-68(system )-68(ar)18(en\325t )-68(capable )-68(of )-68(handling.)]TJ -T* -(\(W)Tj -0.352 Tc 1.241 0 Td -(es)Tj -0 Tc 1.255 0 Td -[(how )-102(an )-102(example )-102(of )-102(a )-102(loop )-102(intr)18(oduced )-102(by )-102(a )-102(symbolic )-102(link )-102(in )-102(Section )-102(4.17.\))-602(Many)]TJ --2.496 -1.2 Td -(\336le system implementations disallow har)Tj -0.25 Tc 18.198 0 Td -(dl)Tj -0 Tc 1.152 0 Td -[(inks to dir)18(ectories for this r)18(eason.)]TJ --0.092 Tc -17.55 -1.2 Td -[(To )-184(r)]TJ -0 Tc 1.694 0 Td -[(emove an existing dir)18(ectory entry)111(,)-250(we)-250(call the)]TJ -/TT0 1 Tf -20.227 0 Td -(unlink)Tj -/T1_0 1 Tf -3.85 0 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5907 562.2663 Tm -(#include )Tj -0 -2.021 TD -(int unlink\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -(\);)Tj -0 -2.021 Td -(int unlinkat\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 12.344 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --1.671 -2.021 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT1 1 Tf -9.213 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5032.25 cm -0 0 m -0 681 l -3900 681 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 483.672 Tm -[(These )-182(functions )-182(r)19(emove )-182(the )-182(dir)18(ectory )-182(entry )-182(and )-182(decr)18(ement )-182(the )-182(link )-182(count )-182(of )-182(the )-182(\336le)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(enced )-155(by)]TJ -/T1_2 1 Tf -5.703 0 Td -(pathname)Tj -/T1_0 1 Tf -0.655 Tc (.I)Tj -0.405 Tc 5.186 0 Td -(ft)Tj -0 Tc 1.064 0 Td -(her)Tj -0.405 Tc 1.438 0 Td -(ea)Tj --0.018 Tc 1.384 0 Td -[(re )-191(o)]TJ -0 Tc 1.807 0 Td -[(ther )-155(links )-155(to )-155(the )-155(\336le, )-155(the )-155(data )-155(in )-155(the )-155(\336le )-155(is )-155(still)]TJ --17.438 -1.2 Td -[(accessible thr)18(ough the other links.)-500(The \336le is not changed if an err)18(or occurs.)]TJ -1.8 -1.2 Td -[(As )-87(mentioned )-87(earlier)75(,)-337(to)-337(u)1(nlink )-87(a )-87(\336le, )-87(we )-87(must )-87(have )-87(write )-87(permission )-87(and )-87(execute)]TJ --1.8 -1.2 Td -[(permission )-150(in )-150(the )-150(dir)18(ectory )-150(containing )-150(the )-150(dir)18(ectory )-150(entry)109(,)-400(as)-400(it)-400(is)-400(t)-1(he )-150(dir)18(ectory )-150(entry)]TJ -0 -1.2 Td -[(that )-90(we )-90(will )-90(be )-90(r)17(emoving. )-340(Also,)-340(as )-90(mentioned )-90(in )-90(Section )-90(4.10, )-90(if )-90(the )-90(sticky )-90(bit )-90(is )-90(set )-90(in)]TJ -T* -[(this )-180(dir)18(ectory )-180(we )-180(must )-180(have )-180(write )-180(permission )-180(for )-180(the )-180(dir)18(ectory )-180(and )-180(meet )-180(one )-180(of )-180(the)]TJ -T* -(following criteria:)Tj -0.883 Tc 1.8 -2.04 Td -(\245O)Tj -0 Tc 2.275 0 Td -(wn the \336le)Tj -0.883 Tc -2.275 -1.6 Td -(\245O)Tj -0 Tc 2.275 0 Td -[(wn the dir)18(ectory)]TJ -0.883 Tc -2.275 -1.6 Td -(\245H)Tj -0 Tc 2.321 0 Td -[(ave super)8(user privileges)]TJ --2.321 -2.04 Td -[(Only )-163(when )-163(the )-163(link )-163(count )-163(r)17(eaches )-163(0 )-163(can )-163(the )-163(contents )-163(of )-163(the )-163(\336le )-163(be )-163(deleted.)-664(One)]TJ --1.8 -1.2 Td -[(other )-213(condition )-213(pr)18(events )-213(the )-213(contents )-213(of )-213(a )-213(\336le )-213(fr)18(om )-213(being )-213(deleted: )-213(as )-213(long )-213(as )-213(some)]TJ -T* -[(pr)18(ocess )-162(has )-162(the )-162(\336le )-162(open, )-162(its )-162(contents )-162(will )-162(not )-162(be )-162(deleted.)-662(When )-162(a )-162(\336le )-162(is )-162(closed, )-162(the)]TJ -T* -[(kernel )-74(\336rst )-74(checks )-74(the )-74(count )-74(of )-74(the )-74(number )-74(of )-74(pr)18(ocesses )-74(that )-74(have )-74(the )-74(\336le )-74(open.)-574(If )-74(this)]TJ -T* -[(count )-6(has )-6(r)18(eached )-6(0, )-6(the )-6(kernel )-6(then )-6(checks )-6(the )-6(link )-6(count; )-6(if )-6(it )-6(is )-6(0, )-6(the )-6(\336le\325s )-6(contents )-6(ar)14(e)]TJ -T* -(deleted.)Tj -1.8 -1.2 Td -[(If )-278(the)]TJ -/T1_2 1 Tf -3.112 0 Td -(pathname)Tj -/T1_0 1 Tf -4.472 0 Td -[(ar)18(gument )-278(is )-278(a )-278(r)19(elative )-278(pathname, )-278(then )-278(the)]TJ -/TT0 1 Tf -20.582 0 Td -(unlinkat)Tj -/T1_0 1 Tf -5.328 0 Td -(function)Tj --35.293 -1.2 Td -[(evaluates )-169(the )-169(pathname )-169(r)18(elative )-169(to )-169(the )-169(dir)18(ectory )-169(r)19(epr)18(esented )-169(by )-169(the)]TJ -/T1_2 1 Tf -31.497 0 Td -(fd)Tj -/T1_0 1 Tf -1.197 0 Td -[(\336le )-169(descriptor)]TJ --32.694 -1.2 Td -[(ar)18(gument. )-488(If)-489(the)]TJ -/T1_2 1 Tf -8.328 0 Td -(fd)Tj -/T1_0 1 Tf -1.266 0 Td -[(ar)18(gument )-238(is )-238(set )-238(to )-238(the )-238(value)]TJ -/TT0 1 Tf -13.877 0 Td -(AT_FDCWD)Tj -/T1_0 1 Tf -0.4885 Tc (,t)Tj -0 Tc 5.864 0 Td -[(hen )-238(the )-238(pathname )-238(is)]TJ --29.336 -1.2 Td -[(evaluated )-335(r)18(elative )-335(to )-335(the )-335(curr)18(ent )-335(working )-335(dir)18(ectory )-335(of )-335(the )-335(calling )-335(pr)22(ocess. )-584(If)-585(the)]TJ -/T1_2 1 Tf -0 -1.2 Td -(pathname)Tj -/T1_0 1 Tf -4.194 0 Td -[(ar)18(gument is an absolute pathname, then the)]TJ -/T1_2 1 Tf -19.634 0 Td -(fd)Tj -/T1_0 1 Tf -1.028 0 Td -[(ar)18(gument is ignor)18(ed.)]TJ --23.056 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.249 0 Td -(\337ag)Tj -/T1_0 1 Tf -2.064 0 Td -[(ar)18(gument )-325(gives )-325(callers )-325(a )-325(way )-325(to )-325(change )-325(the )-325(default )-325(behavior )-325(of )-325(the)]TJ -/TT0 1 Tf --6.114 -1.2 Td -(unlinkat)Tj -/T1_0 1 Tf -5.077 0 Td -[(function. )-277(When)-276(the)]TJ -/TT0 1 Tf -9.067 0 Td -(AT_REMOVEDIR)Tj -/T1_0 1 Tf -7.477 0 Td -[(\337ag )-26(is )-26(set, )-26(then )-26(the)]TJ -/TT0 1 Tf -8.596 0 Td -(unlinkat)Tj -/T1_0 1 Tf -5.076 0 Td -(function)Tj --35.293 -1.2 Td -[(can )-164(be )-164(used )-164(to )-164(r)18(emove )-164(a )-164(dir)16(ectory)]TJ -0.4144 Tc 15.776 0 Td -(,s)Tj -0 Tc 1.088 0 Td -[(imilar )-164(to )-164(using)]TJ -/TT0 1 Tf -7.222 0 Td -(rmdir)Tj -/T1_0 1 Tf -0.6645 Tc (.I)Tj -0.4145 Tc 4.251 0 Td -(ft)Tj -0 Tc 1.074 0 Td -[(his )-164(\337ag )-164(is )-164(clear)]TJ -0.4145 Tc 6.954 0 Td -(,t)Tj -0 Tc 0.991 0 Td -(hen)Tj -/TT0 1 Tf --37.357 -1.2 Td -(unlinkat)Tj -/T1_0 1 Tf -5.05 0 Td -(operates like)Tj -/TT0 1 Tf -5.867 0 Td -(unlink)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47327 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(942)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 181.8391 670.2598 Tm -(for \(;;\) {)Tj -2.4 -1.189 Td -(if \(poll\(pfd, NQ, -1\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("poll error"\);)Tj --2.4 -1.189 Td -(for \(i = 0; i < NQ; i++\) {)Tj -2.4 -1.189 Td -(if \(pfd[i].revents & POLLIN\) {)Tj -2.4 -1.189 Td -(if \(\(n = read\(pfd[i].fd, &c, sizeof\(char\)\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("read error"\);)Tj --2.4 -1.189 Td -(ti[i].m.mtext[ti[i].len] = 0;)Tj -0 -1.189 TD -(printf\("queue id %d, message %s\\n", qid[i],)Tj -1.2 -1.189 Td -(ti[i].m.mtext\);)Tj --1.2 -1.189 Td -(pthread_mutex_lock\(&ti[i].mutex\);)Tj -T* -(pthread_cond_signal\(&ti[i].ready\);)Tj -T* -(pthread_mutex_unlock\(&ti[i].mutex\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 4750.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 4750.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 257.0022 458.9839 Tm -(Figure C.24)Tj -/T1_1 1 Tf -5.917 0 Td -(Poll for XSI messages using pipes)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5843 430.9873 Tm -(17.3)Tj -/T1_1 1 Tf -3.065 0 Td -(A)Tj -/T1_2 1 Tf -1.077 0 Td -(declaration)Tj -/T1_1 1 Tf -4.761 0 Td -[(speci\336es )-49(the )-49(attributes )-49(\(such )-49(as )-49(the )-49(data )-49(type\) )-49(of )-49(a )-49(set )-49(of )-49(identi\336ers.)]TJ --5.838 -1.2 Td -(If the declaration also causes storage to be allocated, it is called a)Tj -/T1_2 1 Tf -28.723 0 Td -(de\336nition)Tj -/T1_1 1 Tf -(.)Tj --28.723 -1.8 Td -[(In )-111(the)]TJ -/TT0 1 Tf -3.027 0 Td -(opend.h)Tj -/T1_1 1 Tf -4.561 0 Td -[(header)74(,)-361(we)-361(d)1(eclar)]TJ -0.3607 Tc 7.958 0 Td -(et)Tj -0 Tc 1.166 0 Td -[(he )-111(thr)18(ee )-111(global )-111(variables )-111(with )-111(the)]TJ -/TT0 1 Tf -15.623 0 Td -(extern)Tj -/T1_1 1 Tf --32.335 -1.2 Td -[(storage )-193(class.)-693(These )-193(declarations )-193(do )-193(not )-193(cause )-193(storage )-193(to )-193(be )-193(allocated )-193(for )-193(the)]TJ -0 -1.2 TD -[(variables. )-353(In)-354(the)]TJ -/TT0 1 Tf -7.864 0 Td -(main.c)Tj -/T1_1 1 Tf -3.953 0 Td -[(\336le, )-103(we )-103(de\336ne )-103(the )-103(thr)17(ee )-103(global )-103(variables.)-604(Sometimes,)]TJ --11.817 -1.2 Td -[(we\325ll )-23(also )-23(initialize )-23(a )-23(global )-23(variable )-23(when )-23(we )-23(de\336ne )-23(it, )-23(but )-23(we )-23(typically )-23(let )-23(the )-23(C)]TJ -T* -[(default apply)111(.)]TJ -/T1_0 1 Tf --3.065 -1.84 Td -(17.5)Tj -/T1_1 1 Tf -3.065 0 Td -(Both)Tj -/TT0 1 Tf -2.416 0 Td -(select)Tj -/T1_1 1 Tf -3.951 0 Td -(and)Tj -/TT0 1 Tf -2.044 0 Td -(poll)Tj -/T1_1 1 Tf --0.018 Tc 2.751 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-101(the )-101(number )-101(of )-101(r)18(eady )-101(descriptors )-101(as )-101(the )-101(value )-101(of)]TJ --12.019 -1.2 Td -[(the )-64(function.)-565(The )-65(loop )-65(that )-65(goes )-65(thr)18(ough )-65(the)]TJ -/TT0 1 Tf -20.467 0 Td -(client)Tj -/T1_1 1 Tf -3.915 0 Td -[(array )-65(can )-65(terminate )-65(when)]TJ --24.381 -1.2 Td -[(the number of r)18(eady descriptors has been pr)18(ocessed.)]TJ -/T1_0 1 Tf --3.065 -1.84 Td -(17.6)Tj -/T1_1 1 Tf -3.065 0 Td -[(The )-87(\336rst )-87(pr)18(oblem )-87(with )-87(the )-87(pr)18(oposed )-87(solution )-87(is )-87(that )-87(ther)14(e)-337(is)-337(a)-337(r)-1(ace )-87(between )-87(the)]TJ -T* -[(call )-223(to)]TJ -/TT0 1 Tf -3.343 0 Td -(stat)Tj -/T1_1 1 Tf -2.873 0 Td -[(and )-223(the )-223(call )-223(to)]TJ -/TT0 1 Tf -7.368 0 Td -(unlink)Tj -/T1_1 1 Tf -4.073 0 Td -(wher)Tj -0.4727 Tc 2.272 0 Td -(et)Tj -0 Tc 1.278 0 Td -[(he )-223(\336le )-223(can )-223(change.)-723(The )-223(second)]TJ --21.206 -1.2 Td -[(pr)18(oblem )-201(is )-201(that )-201(if )-201(the )-201(name )-201(is )-201(a )-201(symbolic )-201(link )-201(pointing )-201(to )-201(the )-201(UNIX )-201(domain)]TJ -T* -[(socket )-80(\336le, )-80(then)]TJ -/TT0 1 Tf -7.358 0 Td -(stat)Tj -/T1_1 1 Tf -2.73 0 Td -[(will )-80(r)18(eport )-80(that )-80(the )-80(name )-80(is )-80(a )-80(socket )-80(\(r)18(ecall )-80(that )-80(the)]TJ -/TT0 1 Tf -23.448 0 Td -(stat)Tj -/T1_1 1 Tf --33.535 -1.2 Td -[(function )-211(follows )-211(symbolic )-211(links\), )-211(but )-211(when )-211(we )-211(call)]TJ -/TT0 1 Tf -24.171 0 Td -(unlink)Tj -/T1_1 1 Tf -[(,)-461(we)-461(will )-211(actually)]TJ --0.018 Tc -24.171 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(move )-142(the )-142(symbolic )-142(link )-142(instead )-142(of )-142(the )-142(socket )-142(\336le.)]TJ --0.092 Tc 23.223 0 Td -[(To )-326(s)]TJ -0 Tc 1.883 0 Td -[(olve )-142(this )-142(pr)18(oblem, )-142(we)]TJ --25.962 -1.2 Td -(should use)Tj -/TT0 1 Tf -5.063 0 Td -(lstat)Tj -/T1_1 1 Tf -3.25 0 Td -(instead of)Tj -/TT0 1 Tf -4.592 0 Td -(stat)Tj -/T1_1 1 Tf -0.25 Tc (,b)Tj -0 Tc 3.453 0 Td -[(ut this doesn\325t solve the \336rst pr)18(oblem.)]TJ -/T1_0 1 Tf --19.423 -1.84 Td -(17.7)Tj -/T1_1 1 Tf -3.065 0 Td -[(The )-55(\336rst )-55(option )-55(is )-55(to )-55(send )-55(both )-55(\336le )-55(descriptors )-55(in )-55(one )-55(contr)18(ol )-55(message.)-555(Each )-55(\336le)]TJ -T* -[(descriptor )-187(is )-187(stor)18(ed )-187(in )-187(adjacent )-187(memory )-187(locations.)-687(The )-187(following )-187(code )-187(shows)]TJ -T* -(this:)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 178.2294 162.1894 Tm -(struct msghdr msg;)Tj -0 -1.189 TD -(struct cmsghdr *cmptr;)Tj -T* -(int *ip;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47328 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -34.357 0 Td -[(Chapter )-250(4)-750(Solutions)]TJ -/T1_1 1 Tf -11.476 0 Td -(909)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 173.6096 665.3301 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(umask 777)Tj -/TT0 1 Tf --1.2 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(date > temp.foo)Tj -/TT0 1 Tf --1.2 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l temp.foo)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(---------- )-600(1)-600(sar )-4800(29)-600(Feb )-600(5)-600(14:06 temp.foo)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 613.3734 Tm -(4.3)Tj -/T1_0 1 Tf -2.602 0 Td -[(The following shows what happens when user)18(-r)18(ead permission is turned of)18(f:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 173.6095 597.7442 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(date > foo)Tj -/TT0 1 Tf --1.2 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(chmod u-r foo)Tj -/T1_2 1 Tf -18.8 0 Td -[(turn off user-r)18(ead permission)]TJ -/TT0 1 Tf --20 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l foo)Tj -/T1_2 1 Tf -18.8 0 Td -(verify the \336le\325)Tj -0.25 Tc 5.474 0 Td -(sp)Tj -0 Tc 1.139 0 Td -(ermissions)Tj -/TT0 1 Tf --26.613 -1.189 Td -[(--w-r--r-- )-600(1)-600(sar )-4800(29)-600(Feb )-600(5)-600(14:21 foo)]TJ -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(cat foo)Tj -/T1_2 1 Tf -18.8 0 Td -[(and try to r)18(ead it)]TJ -/TT0 1 Tf --20 -1.189 Td -(cat: foo: Permission denied)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5924 524.3884 Tm -(4.4)Tj -/T1_0 1 Tf -2.602 0 Td -[(If )-52(we )-52(try)]TJ -0.3017 Tc 3.752 0 Td -(,u)Tj -0 Tc 1.155 0 Td -[(sing )-52(either)]TJ -/TT0 1 Tf -5.008 0 Td -(open)Tj -/T1_0 1 Tf -2.702 0 Td -(or)Tj -/TT0 1 Tf -1.243 0 Td -(creat)Tj -/T1_0 1 Tf -[(,)-302(to)-302(c)]TJ --0.018 Tc 5.169 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ate )-52(a )-52(\336le )-52(that )-52(alr)18(eady )-52(exists, )-52(the )-52(\336le\325s)]TJ --19.885 -1.2 Td -[(access )-323(permission )-323(bits )-323(ar)]TJ -0.5729 Tc 11.821 0 Td -(en)Tj -0 Tc 1.634 0 Td -[(ot )-323(changed.)]TJ --0.092 Tc 6.272 0 Td -[(We )-507(c)]TJ -0 Tc 2.404 0 Td -[(an )-323(verify )-323(this )-323(by )-323(r)8(unning )-323(the)]TJ --22.13 -1.2 Td -[(pr)18(ogram fr)18(om Figur)]TJ -0.25 Tc 8.88 0 Td -(e4)Tj -0 Tc 1.229 0 Td -(.9:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 173.61 484.7611 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(rm foo bar)Tj -/T1_2 1 Tf -16.4 0 Td -[(delete the \336les in case they alr)18(eady exist)]TJ -/TT0 1 Tf --17.6 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(date > foo)Tj -/T1_2 1 Tf -16.4 0 Td -[(cr)18(eate them with some data)]TJ -/TT0 1 Tf --17.6 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(date > bar)Tj -/TT0 1 Tf --1.2 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(chmod a-r foo bar)Tj -/T1_2 1 Tf -16.4 0 Td -[(turn off all r)18(ead permissions)]TJ -/TT0 1 Tf --17.6 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l foo bar)Tj -/T1_2 1 Tf -16.4 0 Td -(verify their permissions)Tj -/TT0 1 Tf --17.6 -1.189 Td -[(--w------- )-600(1)-600(sar )-4800(29)-600(Feb )-600(5)-600(14:25 bar)]TJ -0 -1.189 TD -[(--w------- )-600(1)-600(sar )-4800(29)-600(Feb )-600(5)-600(14:25 foo)]TJ -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/T1_2 1 Tf -16.4 0 Td -[(run pr)18(ogram fr)18(om Figur)]TJ -0.25 Tc 9.809 0 Td -(e4)Tj -0 Tc 1.139 0 Td -(.9)Tj -/TT0 1 Tf --28.548 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l foo bar)Tj -/T1_2 1 Tf -16.4 0 Td -(check permissions and sizes)Tj -/TT0 1 Tf --17.6 -1.189 Td -[(--w------- )-600(1)-600(sar )]TJ -16.2 0 Td -[(0)-600(Feb )-600(5)-600(14:26 bar)]TJ --16.2 -1.189 Td -[(--w------- )-600(1)-600(sar )]TJ -16.2 0 Td -[(0)-600(Feb )-600(5)-600(14:26 foo)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 155.6112 360.8384 Tm -(Note that the permissions didn\325t change but that the \336les wer)Tj -0.25 Tc 27.077 0 Td -(et)Tj --0.008 Tc 1.055 0 Td -(ru)Tj -0 Tc 0.99 0 Td -(ncated.)Tj -/T1_1 1 Tf --31.724 -1.84 Td -(4.5)Tj -/T1_0 1 Tf -2.602 0 Td -[(The )-42(size )-42(of )-42(a )-42(dir)18(ectory )-42(should )-42(never )-42(be )-42(0, )-42(since )-42(ther)]TJ -0.292 Tc 23.015 0 Td -(es)Tj -0 Tc 1.195 0 Td -[(hould )-42(always )-42(be )-42(entries )-42(for)]TJ --24.21 -1.2 Td -[(dot )-133(and )-133(dot-dot.)-632(The )-133(size )-133(of )-133(a )-133(symbolic )-133(link )-133(is )-133(the )-133(number )-133(of )-133(characters )-133(in )-133(the)]TJ -0 -1.2 TD -[(pathname )-21(contained )-21(in )-21(the )-21(symbolic )-21(link, )-21(and )-21(this )-21(pathname )-21(must )-21(always )-21(contain)]TJ -T* -[(at least one character)74(.)]TJ -/T1_1 1 Tf --2.602 -1.84 Td -(4.7)Tj -/T1_0 1 Tf -2.602 0 Td -[(The )-12(kernel )-12(has )-12(a )-12(default )-12(setting )-12(for )-12(the )-12(\336le )-12(access )-12(permission )-12(bits )-12(when )-12(it )-12(cr)18(eates )-12(a)]TJ -T* -(new)Tj -/TT0 1 Tf -2.283 0 Td -(core)Tj -/T1_0 1 Tf -2.788 0 Td -[(\336le. )-388(In)-388(this )-138(example, )-138(it )-138(was)]TJ -/TT0 1 Tf -13.118 0 Td -(rw-r--r--)Tj -/T1_0 1 Tf -0.6378 Tc (.T)Tj -0 Tc 6.901 0 Td -[(his )-138(default )-138(value )-138(may )-138(or)]TJ --25.089 -1.2 Td -[(may )-57(not )-57(be )-57(modi\336ed )-57(by )-57(the)]TJ -/TT0 1 Tf -12.788 0 Td -(umask)Tj -/T1_0 1 Tf -3.307 0 Td -[(value. )-307(The)-307(shell )-57(also )-57(has )-57(a )-57(default )-57(setting )-57(for)]TJ --16.095 -1.2 Td -[(the )-136(\336le )-136(access )-136(permission )-136(bits )-136(when )-136(it )-136(cr)20(eates )-136(a )-136(new )-136(\336le )-136(for )-136(r)20(edir)18(ection. )-386(In)-385(this)]TJ -T* -[(example, )-159(it )-159(was)]TJ -/TT0 1 Tf -7.603 0 Td -(rw-rw-rw-)Tj -/T1_0 1 Tf -0.4096 Tc (,a)Tj -0 Tc 6.56 0 Td -[(nd )-160(this )-160(value )-160(is )-160(always )-160(modi\336ed )-160(by )-160(our )-160(curr)21(ent)]TJ -/TT0 1 Tf --14.162 -1.2 Td -(umask)Tj -/T1_0 1 Tf -0.5 Tc (.I)Tj -0.25 Tc 4.087 0 Td -(nt)Tj -0 Tc 1.158 0 Td -(his example, our)Tj -/TT0 1 Tf -7.59 0 Td -(umask)Tj -/T1_0 1 Tf -3.25 0 Td -(was 02.)Tj -/T1_1 1 Tf --18.687 -1.84 Td -(4.8)Tj -/T1_0 1 Tf --0.092 Tc 2.602 0 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -(an\325t use)Tj -/TT0 1 Tf -3.692 0 Td -(du)Tj -/T1_0 1 Tf -0.25 Tc (,b)Tj -0 Tc 2.253 0 Td -[(ecause it r)18(equir)18(es either the name of the \336le, as in)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 173.6102 195.0882 Tm -(du tempfile)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 155.6113 179.2289 Tm -[(or a dir)18(ectory name, as in)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 173.6102 164.67 Tm -(du .)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 155.6113 148.8108 Tm -[(But )-25(when )-25(the)]TJ -/TT0 1 Tf -6.229 0 Td -(unlink)Tj -/T1_0 1 Tf -3.875 0 Td -[(function )-25(r)18(eturns, )-25(the )-25(dir)18(ectory )-25(entry )-25(for)]TJ -/TT0 1 Tf -17.816 0 Td -(tempfile)Tj -/T1_0 1 Tf -5.075 0 Td -[(is )-25(gone.)]TJ --32.995 -1.2 Td -(The)Tj -/TT0 1 Tf -2.099 0 Td -[(du )267(.)]TJ -/T1_0 1 Tf -2.558 0 Td -[(command )-174(just )-174(shown )-174(would )-174(not )-174(account )-174(for )-174(the )-174(space )-174(still )-174(taken )-174(by)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47329 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(837)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(754 )-4800(if)-600(\(nr < 0\) {)]TJ -0 -1.189 TD -(755 )Tj -9.6 0 Td -[(log_ret\("can\325t)-600(read %s", name\);)]TJ --9.6 -1.189 Td -(756 )Tj -9.6 0 Td -[(goto)-600(defer;)]TJ --9.6 -1.189 Td -[(757 )-4800(})]TJ -0 -1.783 TD -[(758 )-4800(/*)]TJ -0 -1.189 TD -(759 )Tj -7.8 0 Td -[(*)-600(Read the response from the printer.)]TJ --7.8 -1.189 Td -(760 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(761 )-4800(if)-600(\(printer_status\(sockfd, jp\)\) {)]TJ -T* -(762 )Tj -9.6 0 Td -(unlink\(name\);)Tj --9.6 -1.189 Td -(763 )Tj -9.6 0 Td -[(sprintf\(name,)-600("%s/%s/%d", SPOOLDIR, REQDIR, jp->jobid\);)]TJ --9.6 -1.189 Td -(764 )Tj -9.6 0 Td -(unlink\(name\);)Tj --9.6 -1.189 Td -(765 )Tj -9.6 0 Td -(free\(jp\);)Tj --9.6 -1.189 Td -(766 )Tj -9.6 0 Td -(jp)Tj -0.6 Tc 1.8 0 Td -(=N)Tj -0 Tc 1.8 0 Td -(ULL;)Tj --13.2 -1.189 Td -[(767 )-4800(})]TJ -T* -[(768 )-1200(defer:)]TJ -T* -[(769 )-4800(close\(fd\);)]TJ -T* -[(770 )-4800(if)-600(\(sockfd >= 0\))]TJ -T* -(771 )Tj -9.6 0 Td -(close\(sockfd\);)Tj --9.6 -1.189 Td -[(772 )-4800(if)-600(\(jp != NULL\) {)]TJ -T* -(773 )Tj -9.6 0 Td -(replace_job\(jp\);)Tj --9.6 -1.189 Td -(774 )Tj -9.6 0 Td -[(nanosleep\(&ts,)-600(NULL\);)]TJ --9.6 -1.189 Td -[(775 )-4800(})]TJ -T* -[(776 )-2400(})]TJ -0 -1.189 TD -[(777 )-1200(})]TJ -0 -1.783 TD -[(778 )-1200(/*)]TJ -0 -1.189 TD -[(779 )-1800(*)-600(Read data from the printer, possibly increasing the buffer.)]TJ -0 -1.189 TD -[(780 )-1800(*)-600(Returns offset of end of data in buffer or -1 on failure.)]TJ -0 -1.189 TD -[(781 )-1800(*)]TJ -0 -1.189 TD -[(782 )-1800(*)-600(LOCKING: none.)]TJ -0 -1.189 TD -[(783 )-1800(*/)]TJ -0 -1.189 TD -[(784 )-1200(ssize_t)]TJ -0 -1.189 TD -[(785 )-1200(readmore\(int)-600(sockfd, char **bpp, int off, int *bszp\))]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3123.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 288.2634 Tm -[([754 )167(\320 )167(757])-668(When )-144(we )-144(r)19(each )-144(the )-144(end )-144(of )-144(the )-144(\336le,)]TJ -/TT0 1 Tf -21.438 0 Td -(read)Tj -/T1_0 1 Tf -2.794 0 Td -[(will )-144(r)18(eturn )-144(0.)-643(However)]TJ -0.3938 Tc 10.706 0 Td -(,i)Tj -0 Tc 0.935 0 Td -(f)Tj -/TT0 1 Tf -0.727 0 Td -(read)Tj -/T1_0 1 Tf --31.6 -1.2 Td -[(fails, we log an err)18(or message and jump to)]TJ -/TT0 1 Tf -18.95 0 Td -(defer)Tj -/T1_0 1 Tf -(.)Tj --23.95 -1.6 Td -[([758 )167(\320 )167(767])-668(After )-119(sending )-119(the )-119(\336le )-119(to )-119(the )-119(printer)72(,)-369(we)-369(c)-1(all)]TJ -/TT0 1 Tf -25.266 0 Td -(printer_status)Tj -/T1_0 1 Tf -8.769 0 Td -[(to )-119(r)18(ead )-119(the)]TJ --29.035 -1.2 Td -[(printer )176(\325s)]TJ --0.018 Tc 4.193 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sponse )-98(to )-98(our )-98(r)18(equest. )-348(On)-348(success,)]TJ -/TT0 1 Tf -16.169 0 Td -(printer_status)Tj -/T1_0 1 Tf --0.018 Tc 8.748 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-98(a)]TJ --30.822 -1.2 Td -(nonzer)Tj -0.4021 Tc 3.066 0 Td -(ov)Tj -0 Tc 1.513 0 Td -[(alue )-152(and )-152(we )-152(delete )-152(the )-152(data )-152(and )-152(contr)18(ol )-152(\336les.)-653(Then )-152(we )-152(fr)18(ee )-152(the)]TJ -/TT0 1 Tf --4.579 -1.2 Td -(job)Tj -/T1_0 1 Tf -2.05 0 Td -[(str)8(uctur)18(e, set its pointer to)]TJ -/TT0 1 Tf -11.831 0 Td -(NULL)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 3.4 0 Td -[(nd fall thr)18(ough to the)]TJ -/TT0 1 Tf -9.689 0 Td -(defer)Tj -/T1_0 1 Tf -3.25 0 Td -(label.)Tj --35.22 -1.6 Td -[([768 )167(\320 )167(777])-668(At )-59(the)]TJ -/TT0 1 Tf -8.109 0 Td -(defer)Tj -/T1_0 1 Tf -3.309 0 Td -[(label, )-59(we )-59(close )-59(the )-59(\336le )-59(descriptor )-59(for )-59(the )-59(open )-59(data )-59(\336le.)-559(If )-59(the)]TJ --6.418 -1.2 Td -[(socket )-200(descriptor )-200(is )-200(valid, )-200(we )-200(close )-200(it.)-698(On )-200(err)18(or)74(,)]TJ -/TT0 1 Tf -22.907 0 Td -(jp)Tj -/T1_0 1 Tf -1.65 0 Td -[(will )-200(point )-200(to )-200(the )-200(job)]TJ --24.557 -1.2 Td -[(str)8(uctur)]TJ -0.3411 Tc 3.49 0 Td -(ef)Tj -0 Tc 1.153 0 Td -[(or )-91(the )-91(job )-91(we )-91(ar)]TJ -0.3412 Tc 7.216 0 Td -(et)Tj -0 Tc 1.146 0 Td -[(rying )-91(to )-91(print, )-91(so )-91(we )-91(place )-91(the )-91(job )-91(back )-91(on )-91(the)]TJ --13.005 -1.2 Td -[(head )-30(of )-30(the )-30(pending )-30(job )-30(list )-30(and )-30(delay )-30(for )-30(1 )-30(minute.)-532(On )-30(success,)]TJ -/TT0 1 Tf -28.875 0 Td -(jp)Tj -/T1_0 1 Tf -1.48 0 Td -(is)Tj -/TT0 1 Tf -0.995 0 Td -(NULL)Tj -/T1_0 1 Tf -(,)Tj --31.35 -1.2 Td -(so we simply go back to the top of the loop to get the next job to print\ .)Tj --5 -1.6 Td -[([778 )167(\320 )167(785])-668(The)]TJ -/TT0 1 Tf -7.029 0 Td -(readmore)Tj -/T1_0 1 Tf -5.155 0 Td -[(function )-105(is )-105(used )-105(to )-105(r)18(ead )-105(part )-105(of )-105(the )-105(r)16(esponse )-105(message )-105(fr)17(om)]TJ --7.185 -1.2 Td -[(the printer)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47330 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.3)]TJ -34.529 0 Td -[(Unique )-250(Connections)]TJ -/T1_1 1 Tf -11.304 0 Td -(641)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(len = offsetof\(struct sockaddr_un, sun_path\) + strlen\(un.sun_path\);)Tj -0 -1.902 TD -[(unlink\(un.sun_path\); )-4200(/*)-600(in case it already exists */)]TJ -0 -1.189 TD -(if \(bind\(fd, \(struct sockaddr *\)&un, len\) < 0\) {)Tj -2.4 -1.189 Td -(rval = -2;)Tj -T* -(goto errout;)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(chmod\(un.sun_path, CLI_PERM\) < 0\) {)Tj -2.4 -1.189 Td -(rval = -3;)Tj -T* -(do_unlink = 1;)Tj -T* -(goto errout;)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(/* fill socket address structure with server\325s address */)Tj -0 -1.189 TD -(memset\(&sun, 0, sizeof\(sun\)\);)Tj -T* -(sun.sun_family = AF_UNIX;)Tj -T* -(strcpy\(sun.sun_path, name\);)Tj -T* -(len = offsetof\(struct sockaddr_un, sun_path\) + strlen\(name\);)Tj -T* -(if \(connect\(fd, \(struct sockaddr *\)&sun, len\) < 0\) {)Tj -2.4 -1.189 Td -(rval = -4;)Tj -0 -1.189 TD -(do_unlink = 1;)Tj -0 -1.189 TD -(goto errout;)Tj --2.4 -1.189 Td -(})Tj -T* -(return\(fd\);)Tj --2.4 -1.902 Td -(errout:)Tj -2.4 -1.189 Td -(err = errno;)Tj -0 -1.189 TD -(close\(fd\);)Tj -0 -1.189 TD -(if \(do_unlink\))Tj -2.4 -1.189 Td -(unlink\(un.sun_path\);)Tj --2.4 -1.189 Td -(errno = err;)Tj -T* -(return\(rval\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3359.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 257.0651 319.9006 Tm -(Figure 17.10)Tj -/T1_0 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(cli_conn)Tj -/T1_0 1 Tf -5.05 0 Td -(function)Tj --0.092 Tc 9.9988 0 0 9.9988 129.5848 295.9035 Tm -[(We )-301(c)]TJ -0 Tc 2.198 0 Td -(all)Tj -/TT0 1 Tf -1.449 0 Td -(socket)Tj -/T1_0 1 Tf -3.967 0 Td -[(to )-117(cr)18(eate )-117(the )-117(client\325s )-117(end )-117(of )-117(a )-117(UNIX )-117(domain )-117(socket.)]TJ --0.092 Tc 24.002 0 Td -[(We )-301(t)]TJ -0 Tc 2.08 0 Td -[(hen )-117(\336ll )-117(in )-117(a)]TJ -/TT0 1 Tf --33.696 -1.2 Td -(sockaddr_un)Tj -/T1_0 1 Tf -6.85 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ew)Tj -0 Tc 1.563 0 Td -(ith a client-speci\336c name.)Tj --0.092 Tc -10.103 -1.2 Td -[(We )-274(d)]TJ -0 Tc 2.338 0 Td -[(on\325t )-90(let )-90(the )-90(system )-90(choose )-90(a )-90(default )-90(addr)18(ess )-90(for )-90(us, )-90(because )-90(the )-90(server )-90(would)]TJ --4.138 -1.2 Td -[(be )-30(unable )-30(to )-30(distinguish )-30(one )-30(client )-30(fr)16(om )-30(another )-30(\(if )-30(we )-30(don\325t )-30(explicitly )-30(bind )-30(a )-30(name )-30(to )-30(a)]TJ -0 -1.2 TD -[(UNIX )-72(domain )-72(socket, )-72(the )-72(kernel )-72(implicitly )-72(binds )-72(an )-72(addr)20(ess )-72(to )-72(it )-72(on )-72(our )-72(behalf )-72(and )-72(no)]TJ -T* -[(\336le )-191(is )-191(cr)18(eated )-191(in )-191(the )-191(\336le )-191(system )-191(to )-191(r)20(epr)18(esent )-191(the )-191(socket\).)-690(Instead, )-191(we )-191(bind )-191(our )-191(own)]TJ --0 -1.2 Td -[(addr)18(ess )167(\321 )167(a)-449(step )-198(we )-198(usually )-198(don\325t )-198(take )-198(when )-198(developing )-198(a )-198(client )-198(pr)15(ogram )-198(that )-198(uses)]TJ --0 -1.2 Td -(sockets.)Tj -1.8 -1.2 Td -[(The )-92(last )-92(\336ve )-92(characters )-92(of )-92(the )-92(pathname )-92(we )-92(bind )-92(ar)]TJ -0.3425 Tc 23.381 0 Td -(em)Tj -0 Tc 1.704 0 Td -[(ade )-93(fr)18(om )-93(the )-93(pr)18(ocess )-93(ID )-93(of)]TJ --26.886 -1.2 Td -[(the )-32(client.)]TJ --0.092 Tc 4.865 0 Td -[(We )-216(c)]TJ -0 Tc 2.113 0 Td -(all)Tj -/TT0 1 Tf -1.364 0 Td -(unlink)Tj -/T1_0 1 Tf -0.2823 Tc (,j)Tj -0 Tc 4.366 0 Td -[(ust )-32(in )-32(case )-32(the )-32(pathname )-32(alr)17(eady )-32(exists.)]TJ --0.092 Tc 18.163 0 Td -[(We )-216(t)]TJ -0 Tc 1.995 0 Td -[(hen )-32(call)]TJ -/TT0 1 Tf -3.733 0 Td -(bind)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(to )-68(assign )-68(a )-68(name )-68(to )-68(the )-68(client\325s )-68(socket.)-569(This )-68(cr)18(eates )-68(a )-68(socket )-68(\336le )-68(in )-68(the )-68(\336le )-68(system )-68(with)]TJ -T* -[(the )-23(same )-23(name )-23(as )-23(the )-23(bound )-23(pathname.)]TJ --0.092 Tc 18.184 0 Td -[(We )-207(c)]TJ -0 Tc 2.104 0 Td -(all)Tj -/TT0 1 Tf -1.355 0 Td -(chmod)Tj -/T1_0 1 Tf -3.273 0 Td -[(to )-23(turn )-23(of)]TJ -0.2726 Tc 4.184 0 Td -(fa)Tj -0 Tc 1.106 0 Td -[(ll )-23(permissions )-23(other)]TJ --30.205 -1.2 Td -[(than )-44(user)18(-r)18(ead, )-44(user)18(-write, )-44(and )-44(user)18(-execute. )-294(In)]TJ -/TT0 1 Tf -21.631 0 Td -(serv_accept)Tj -/T1_0 1 Tf -0.2939 Tc (,t)Tj -0 Tc 7.47 0 Td -[(he )-44(server )-44(checks )-44(these)]TJ --29.101 -1.2 Td -[(permissions and the user ID of the socket to verify the client\325s iden\ tity)111(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47331 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(170)Tj -/T1_1 1 Tf -3.5 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Library)]TJ -34.372 0 Td -[(Chapter )-250(5)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(The )-223(pr)18(ogram )-223(in )-223(Figur)]TJ -0.4728 Tc 10.206 0 Td -(e5)Tj -0 Tc 1.452 0 Td -[(.13 )-223(shows )-223(how )-223(to )-223(use )-223(\(and )-223(how )-223(not )-223(to )-223(use\) )-223(the)]TJ -/TT1 1 Tf -23.142 0 Td -(mkstemp)Tj -/T1_1 1 Tf --34.8 -1.2 Td -(function.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6210.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 611.4256 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(void make_temp\(char *template\);)Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(\))Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(good_template[])]TJ -0.6 Tc 14.4 0 Td -(=")Tj -0 Tc 1.8 0 Td -(/tmp/dirXXXXXX"; /* right way */)Tj --16.2 -1.189 Td -[(char )-1800(*bad_template)]TJ -0.6 Tc 13.2 0 Td -(=")Tj -0 Tc 1.8 0 Td -[(/tmp/dirXXXXXX"; )-1200(/*)-600(wrong way*/)]TJ --15 -1.902 Td -(printf\("trying to create first temp file...\\n"\);)Tj -T* -(make_temp\(good_template\);)Tj -0 -1.189 TD -(printf\("trying to create second temp file...\\n"\);)Tj -0 -1.189 TD -(make_temp\(bad_template\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(void)Tj -0 -1.189 TD -(make_temp\(char *template\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-4800(fd;)]TJ -T* -(struct stat sbuf;)Tj -0 -1.902 TD -(if \(\(fd = mkstemp\(template\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t create temp file"\);)Tj --2.4 -1.189 Td -(printf\("temp name = %s\\n", template\);)Tj -0 -1.189 TD -(close\(fd\);)Tj -0 -1.189 TD -(if \(stat\(template, &sbuf\) < 0\) {)Tj -2.4 -1.189 Td -(if \(errno == ENOENT\))Tj -2.4 -1.189 Td -(printf\("file doesn\325t exist\\n"\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(err_sys\("stat failed"\);)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(printf\("file exists\\n"\);)Tj -0 -1.189 TD -(unlink\(template\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2322.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 245.2918 216.1591 Tm -(Figure 5.13)Tj -/T1_1 1 Tf -5.695 0 Td -(Demonstrate)Tj -/TT1 1 Tf -5.964 0 Td -(mkstemp)Tj -/T1_1 1 Tf -4.45 0 Td -(function)Tj -9.9982 0 0 9.9982 129.577 192.1634 Tm -[(If we execute the pr)18(ogram in Figur)]TJ -0.25 Tc 15.31 0 Td -(e5)Tj -0 Tc 1.229 0 Td -(.13, we get)Tj -/TT1 1 Tf -8.9984 0 0 8.9984 147.5735 175.4664 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(./a.out)Tj -/TT1 1 Tf --1.2 -1.189 Td -(trying to create first temp file...)Tj -0 -1.189 TD -(temp name = /tmp/dirUmBT7h)Tj -T* -(file exists)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47332 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(122)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(This )-104(cr)18(eates )-104(a )-104(dir)17(ectory)]TJ -/TT0 1 Tf -10.881 0 Td -(foo)Tj -/T1_1 1 Tf -2.154 0 Td -[(that )-104(contains )-104(the )-104(\336le)]TJ -/TT0 1 Tf -9.608 0 Td -(a)Tj -/T1_1 1 Tf -0.954 0 Td -[(and )-104(a )-104(symbolic )-104(link )-104(that )-104(points )-104(to)]TJ -/TT0 1 Tf --23.598 -1.2 Td -(foo)Tj -/T1_1 1 Tf -0.5175 Tc (.W)Tj -0.2675 Tc 3.476 0 Td -(es)Tj -0 Tc 1.171 0 Td -[(how )-17(this )-17(arrangement )-17(in )-17(Figur)]TJ -0.2675 Tc 13.588 0 Td -(e4)Tj -0 Tc 1.246 0 Td -[(.18, )-17(drawing )-17(a )-17(dir)18(ectory )-17(as )-17(a )-17(cir)18(cle )-17(and )-17(a )-17(\336le)]TJ --19.48 -1.2 Td -[(as a squar)18(e.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3426 6098 cm -0 0 m -0 -99.41 -80.59 -180 -180 -180 c --279.41 -180 -360 -99.41 -360 0 c --360 99.41 -279.41 180 -180 180 c --80.59 180 0 99.41 0 0 c -h -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 317.3619 607.967 Tm -(foo)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2526 5378 360 360 re -S -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 268.1517 553.9403 Tm -(a)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3966 5558 cm -0 0 m -0 -99.41 -80.59 -180 -180 -180 c --279.41 -180 -360 -99.41 -360 0 c --360 99.41 -279.41 180 -180 180 c --80.59 180 0 99.41 0 0 c -h -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 361.7132 553.907 Tm -(testdir)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3105.25 5985.25 cm -0 0 m --309 -247 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3373.25 5970.25 cm -0 0 m -285 -285 l -S -Q -Q -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 342.6 609.8 cm -0 0 m -7.344 1.08 l -6.984 -2.52 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 3426 6098 cm -0 0 m -73.44 10.8 l -69.84 -25.2 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786 5738 cm -0 0 m -0.01 1.2 0.02 2.41 0.02 3.62 c -0.02 14.43 -0.47 25.23 -1.44 36 c -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3778.0801 5813.6099 cm -0 0 m --2.54 11.66 -5.67 23.2 -9.36 34.55 c -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3754.3201 5886.3198 cm -0 0 m --4.99 10.82 -10.52 21.4 -16.57 31.68 c -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3715.4399 5951.8501 cm -0 0 m --6.98 9.47 -14.44 18.61 -22.32 27.36 c -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3664.3201 6008 cm -0 0 m --8.98 7.9 -18.36 15.36 -28.08 22.32 c -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3602.3999 6051.9199 cm -0 0 m --10.52 5.81 -21.35 11.11 -32.4 15.84 c -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3532.5601 6082.1602 cm -0 0 m --11.6 3.47 -23.38 6.36 -35.28 8.64 c -S -Q -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 226.7144 512.4155 Tm -(Figure 4.18)Tj -/T1_1 1 Tf -5.695 0 Td -(Symbolic link)Tj -/TT0 1 Tf -6.309 0 Td -(testdir)Tj -/T1_1 1 Tf -4.45 0 Td -[(that cr)18(eates a loop)]TJ -9.9964 0 0 9.9964 129.5535 483.6259 Tm -[(If )-231(we )-231(write )-231(a )-231(simple )-231(pr)18(ogram )-231(that )-231(uses )-231(the )-231(standar)]TJ -0.4813 Tc 24.338 0 Td -(df)Tj -0 Tc 1.425 0 Td -(unction)Tj -/TT0 1 Tf -3.855 0 Td -(ftw)Tj -/T1_1 1 Tf -1.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.814 -0.04 Td -[(on )-231(Solaris )-231(to)]TJ --33.066 -1.2 Td -[(descend thr)18(ough a \336le hierar)18(chy)]TJ -0.25 Tc 14.172 0 Td -(,p)Tj -0 Tc 1.101 0 Td -[(rinting each pathname encounter)18(ed, the output is)]TJ -/TT0 1 Tf -8.9968 0 0 8.9968 147.5475 457.0752 Tm -(foo)Tj -0 -1.189 TD -(foo/a)Tj -0 -1.189 TD -(foo/testdir)Tj -0 -1.189 TD -(foo/testdir/a)Tj -0 -1.189 TD -(foo/testdir/testdir)Tj -0 -1.189 TD -(foo/testdir/testdir/a)Tj -T* -(foo/testdir/testdir/testdir)Tj -0 -1.189 TD -(foo/testdir/testdir/testdir/a)Tj -/T1_1 1 Tf -1.8 -1.189 Td -(\(many mor)Tj -0.25 Tc 4.91 0 Td -(el)Tj -0 Tc 1.02 0 Td -(ines until we encounter an)Tj -/TT0 1 Tf -11.95 0 Td -(ELOOP)Tj -/T1_1 1 Tf -3.25 0 Td -[(err)18(or\))]TJ -9.9964 0 0 9.9964 129.5538 353.5117 Tm -[(In )-241(Section )-241(4.22, )-241(we )-241(pr)18(ovide )-241(our )-241(own )-241(version )-241(of )-241(the)]TJ -/TT0 1 Tf -24.863 0 Td -(ftw)Tj -/T1_1 1 Tf -2.291 0 Td -[(function )-241(that )-241(uses)]TJ -/TT0 1 Tf -8.846 0 Td -(lstat)Tj -/T1_1 1 Tf --36 -1.2 Td -(instead of)Tj -/TT0 1 Tf -4.592 0 Td -(stat)Tj -/T1_1 1 Tf -[(,)-250(to)-250(p)]TJ --0.018 Tc (re)Tj -0 Tc 5.479 0 Td -[(vent it fr)18(om following symbolic links.)]TJ -7.9971 0 0 7.9971 183.5342 321.5232 Tm -[(Note )-317(that )-317(on )-317(Linux, )-317(the)]TJ -/TT0 1 Tf -12.121 0 Td -(ftw)Tj -/T1_1 1 Tf -2.367 0 Td -(and)Tj -/TT0 1 Tf -2.26 0 Td -(nftw)Tj -/T1_1 1 Tf -2.967 0 Td -[(functions )-317(r)18(ecor)]TJ -0.5674 Tc 6.921 0 Td -(da)Tj -0 Tc 1.678 0 Td -[(ll )-317(dir)18(ectories )-317(seen )-317(and )-317(avoid)]TJ --28.316 -1.25 Td -[(pr)18(ocessing a dir)18(ectory mor)]TJ -0.25 Tc 11.805 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(han once, so they don\325t display this behavior)74(.)]TJ -0.357 Tc 9.9964 0 0 9.9964 147.5471 291.534 Tm -(Al)Tj -0 Tc 1.426 0 Td -[(oop )-107(of )-107(this )-107(form )-107(is )-107(easy )-107(to )-107(r)18(emove. )-357(W)]TJ -0.357 Tc 17.491 0 Td -(ec)Tj -0 Tc 1.28 0 Td -(an)Tj -/TT0 1 Tf -1.439 0 Td -(unlink)Tj -/T1_1 1 Tf -3.957 0 Td -[(the )-107(\336le)]TJ -/TT0 1 Tf -3.476 0 Td -(foo/testdir)Tj -/T1_1 1 Tf -0.357 Tc (,a)Tj -0 Tc 7.707 0 Td -(s)Tj -/TT0 1 Tf --38.576 -1.2 Td -(unlink)Tj -/T1_1 1 Tf -3.904 0 Td -[(does )-54(not )-54(follow )-54(a )-54(symbolic )-54(link.)-554(But )-54(if )-54(we )-54(cr)18(eate )-54(a )-54(har)]TJ -0.3039 Tc 24.447 0 Td -(dl)Tj -0 Tc 1.206 0 Td -[(ink )-54(that )-54(forms )-54(a )-54(loop)]TJ --29.557 -1.2 Td -[(of )-53(this )-53(type, )-53(its )-53(r)17(emoval )-53(is )-53(much )-53(mor)]TJ -0.3034 Tc 16.552 0 Td -(ed)Tj -0 Tc 1.393 0 Td -[(if)18(\336cult. )-303(This)-304(is )-53(why )-53(the)]TJ -/TT0 1 Tf -10.876 0 Td -(link)Tj -/T1_1 1 Tf -2.703 0 Td -[(function )-53(will )-53(not)]TJ --31.525 -1.2 Td -(form a har)Tj -0.25 Tc 4.616 0 Td -(dl)Tj -0 Tc 1.152 0 Td -[(ink to a dir)18(ectory unless the pr)18(ocess has super)8(user privileges.)]TJ -7.9971 0 0 7.9971 183.5342 235.5542 Tm -[(Indeed, )-86(Rich )-86(Stevens )-86(did )-86(this )-86(on )-86(his )-86(own )-86(system )-86(as )-86(an )-86(experiment )-86(while )-86(writing )-86(the )-86(original)]TJ -0 -1.25 TD -[(version )-68(of )-68(this )-68(section.)-568(The )-68(\336le )-68(system )-68(got )-68(corr)8(upted )-68(and )-68(the )-68(normal)]TJ -/TT0 1 Tf -31.432 0 Td -(fsck)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.651 -0.04 Td -[(utility )-68(couldn\325t)]TJ --35.317 -1.25 Td -[(\336x )-25(things.)-525(The )-25(depr)18(ecated )-25(tools)]TJ -/TT0 1 Tf -14.471 0 Td -(clri)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(8)Tj -0.5 0.04 Td -(\))Tj -0.608 -0.04 Td -(and)Tj -/TT0 1 Tf -1.968 0 Td -(dcheck)Tj -/T1_1 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(8)Tj -0.5 0.04 Td -(\))Tj -0.608 -0.04 Td -(wer)Tj -0.275 Tc 1.69 0 Td -(en)Tj -0 Tc 1.336 0 Td -[(eeded )-25(to )-25(r)18(epair )-25(the )-25(\336le )-25(system.)]TJ --28.347 -1.875 Td -[(The )-187(need )-187(for )-187(har)]TJ -0.437 Tc 7.869 0 Td -(dl)Tj -0 Tc 1.339 0 Td -[(inks )-187(to )-187(dir)18(ectories )-187(has )-187(long )-187(since )-187(passed.)]TJ --0.055 Tc 19.688 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-187(symbolic )-187(links )-187(and )-187(the)]TJ -/TT0 1 Tf --30.132 -1.25 Td -(mkdir)Tj -/T1_1 1 Tf -3.25 0 Td -[(function, ther)18(e)-250(is)-250(no)-250(longer any need for users to cr)18(eate har)]TJ -0.25 Tc 25.966 0 Td -(dl)Tj -0 Tc 1.152 0 Td -[(inks to dir)18(ectories.)]TJ -9.9964 0 0 9.9964 147.5466 170.5776 Tm -[(When )-174(we )-174(open )-174(a )-174(\336le, )-174(if )-174(the )-174(pathname )-174(passed )-174(to)]TJ -/TT0 1 Tf -22.901 0 Td -(open)Tj -/T1_1 1 Tf -2.824 0 Td -[(speci\336es )-174(a )-174(symbolic )-174(link,)]TJ -/TT0 1 Tf --27.524 -1.2 Td -(open)Tj -/T1_1 1 Tf -2.789 0 Td -[(follows )-138(the )-138(link )-138(to )-138(the )-138(speci\336ed )-138(\336le.)-638(If )-138(the )-138(\336le )-138(pointed )-138(to )-138(by )-138(the )-138(symbolic )-138(link)]TJ --2.789 -1.2 Td -[(doesn\325t )-43(exist,)]TJ -/TT0 1 Tf -6.119 0 Td -(open)Tj -/T1_1 1 Tf --0.018 Tc 2.693 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-43(an )-43(err)17(or )-43(saying )-43(that )-43(it )-43(can\325t )-43(open )-43(the )-43(\336le.)-543(This )-43(r)18(esponse )-43(can)]TJ --9.668 -1.2 Td -[(confuse users who ar)18(en\325t familiar with symbolic links.)-500(For example,)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47333 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf --0.037 Tc 9 0 0 9 93.6 708 Tm -(11)Tj -0 Tc 0.963 0 Td -(4)Tj -/T1_1 1 Tf -2.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.278 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(If )-39(we )-39(examine )-39(the )-39(i-node )-39(and )-39(data )-39(block )-39(portion )-39(of )-39(a )-39(cylinder )-39(gr)18(oup )-39(in )-39(mor)]TJ -0.2889 Tc 33.684 0 Td -(ed)Tj -0 Tc 1.379 0 Td -(etail,)Tj --36.862 -1.2 Td -(we could have the arrangement shown in Figur)Tj -0.25 Tc 20.972 0 Td -(e4)Tj -0 Tc 1.229 0 Td -(.14.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -2.8 w 1 j 1 J -1662 6048 720 216 re -S -Q -BT -/T1_1 1 Tf -6.9992 0 0 6.9992 183.145 613.9863 Tm -(i-node array)Tj -ET -q -0.99988 0 0 0.99988 0 0 cm -0.699 g -238.2 604.8 14.4 21.6 re -f -Q -q -0.099988 0 0 0.099988 0 0 cm -2.8 w 1 j 1 J -2382 6048 144 216 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -2.8 w 1 j 1 J -2526 6048 288 216 re -S -Q -BT -/T1_1 1 Tf -6.9987 0 0 6.9987 260.1742 618.4487 Tm -(data)Tj --0.227 -1.286 Td -(block)Tj -ET -q -0.99982 0 0 0.99982 0 0 cm -0.699 g -281.4 604.8 14.4 21.6 re -f -Q -q -0.099982 0 0 0.099982 0 0 cm -2.8 w 1 j 1 J -2814 6048 144 216 re -S -Q -q -0.099982 0 0 0.099982 0 0 cm -2.8 w 1 j 1 J -2958 6048 288 216 re -S -Q -BT -/T1_1 1 Tf -6.9983 0 0 6.9983 303.3482 618.4116 Tm -(data)Tj --0.227 -1.286 Td -(block)Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -0.699 g -324.6 604.8 28.8 21.6 re -f -Q -q -0.099976 0 0 0.099976 0 0 cm -2.8 w 1 j 1 J -3246 6048 288 216 re -S -Q -q -0.099976 0 0 0.099976 0 0 cm -2.8 w 1 j 1 J -3534 6048 288 216 re -S -Q -BT -/T1_1 1 Tf -6.9979 0 0 6.9979 353.6069 618.3745 Tm -[(dir)18(ectory)]TJ -0.817 -1.286 Td -(block)Tj -ET -q -0.9997 0 0 0.9997 0 0 cm -0.699 g -382.2 604.8 36 21.6 re -f -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -3822 6048 360 216 re -S -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -4182 6048 288 216 re -S -Q -BT -/T1_1 1 Tf -6.9975 0 0 6.9975 425.6677 618.3374 Tm -(data)Tj --0.227 -1.286 Td -(block)Tj -ET -q -0.9996401 0 0 0.9996401 0 0 cm -0.699 g -447 604.8 14.4 21.6 re -f -Q -q -0.099964 0 0 0.099964 0 0 cm -2.8 w 1 j 1 J -4470 6048 144 216 re -S -Q -q -0.099964 0 0 0.099964 0 0 cm -2.8 w 1 j 1 J -4614 6048 288 216 re -S -Q -BT -/T1_1 1 Tf -6.9971 0 0 6.9971 461.5191 618.3003 Tm -[(dir)18(ectory)]TJ -0.817 -1.286 Td -(block)Tj -ET -q -0.9995801 0 0 0.9995801 0 0 cm -0.699 g -490.2 604.8 14.4 21.6 re -f -Q -q -0.099958 0 0 0.099958 0 0 cm -2.8 w 1 j 1 J -4902 6048 144 216 re -S -Q -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 238.2 633.6 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 2382 6336 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2454.25 6336.25 cm -0 0 m -648 0 l -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 504.6 633.6 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 5046 6336 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4974.25 6336.25 cm -0 0 m --648 0 l -S -Q -Q -BT -/T1_1 1 Tf -6.9958 0 0 6.9958 321.2172 631.6809 Tm -[(dir)18(ectory blocks and data blocks)]TJ -ET -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -1446 5364 216 216 re -S -Q -BT -/T1_1 1 Tf -6.9954 0 0 6.9954 145.357 545.3 Tm -(i-node)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -2.8 w 1 j 1 J -1662 5364 216 216 re -S -Q -BT -/T1_1 1 Tf -6.995 0 0 6.995 166.9328 545.2673 Tm -(i-node)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -0.699 g -187.8 536.4 28.8 21.6 re -f -Q -q -0.099928 0 0 0.099928 0 0 cm -2.8 w 1 j 1 J -1878 5364 288 216 re -S -Q -q -0.099928 0 0 0.099928 0 0 cm -2.8 w 1 j 1 J -2166 5364 216 216 re -S -Q -BT -/T1_1 1 Tf -6.9945 0 0 6.9945 217.2834 545.2345 Tm -(i-node)Tj -ET -q -0.9992203 0 0 0.9992203 0 0 cm -0.699 g -238.2 536.4 28.8 21.6 re -f -Q -q -0.099922 0 0 0.099922 0 0 cm -2.8 w 1 j 1 J -2382 5364 288 216 re -S -Q -q -0.099922 0 0 0.099922 0 0 cm -2.8 w 1 j 1 J -2670 5364 216 216 re -S -Q -BT -/T1_1 1 Tf -6.9941 0 0 6.9941 267.6281 545.2018 Tm -(i-node)Tj -ET -q -0.099916 0 0 0.099916 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1647.25 6012.25 cm -0 0 m --15 -33 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1619.25 5951.25 cm -0 0 m --16 -32 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1590.25 5891.25 cm -0 0 m --15 -33 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1562.25 5830.25 cm -0 0 m --15 -32 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1533.25 5769.25 cm -0 0 m --15 -32 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1504.25 5709.25 cm -0 0 m --15 -33 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1475.25 5648.25 cm -0 0 m --15 -32 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2709.25 5744.25 cm -0 0 m -27 -25 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2766.25 5692.25 cm -0 0 m -27 -24 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2823.25 5640.25 cm -0 0 m -27 -24 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2452.25 5981.25 cm -0 0 m --34 31 l -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 267 604.8 cm -0 0 m --3.672 -6.408 l --6.264 -3.888 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 2670 6048 cm -0 0 m --36.72 -64.08 l --62.64 -38.88 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2220.25 5580.25 cm -0 0 m -400 416 l -S -Q -Q -BT -/T1_1 1 Tf -4.8471 5.041 -5.041 4.8471 226.1588 566.3151 Tm -(\336rst data block)Tj -ET -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 310.2 604.8 cm -0 0 m --5.4 -5.112 l --7.2 -1.944 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 3102 6048 cm -0 0 m --54 -51.12 l --72 -19.44 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2274.25 5580.25 cm -0 0 m -765 432 l -S -Q -Q -BT -/T1_1 1 Tf -6.0877 3.4409 -3.4409 6.0877 242.985 569.7675 Tm -(second data block)Tj -ET -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 432.6 604.8 cm -0 0 m --6.624 -3.384 l --7.416 0.144 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 4326 6048 cm -0 0 m --66.24 -33.84 l --74.16 1.44 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2328.25 5580.25 cm -0 0 m -1928 451 l -S -Q -Q -BT -/T1_1 1 Tf -6.8081 1.5947 -1.5947 6.8081 295.0612 575.0686 Tm -(thir)Tj -0.25 Tc 1.576 0 Td -(dd)Tj -0 Tc 1.472 0 Td -(ata block)Tj -ET -q -0.0998921 0 0 0.0998921 0 0 cm -2.8 w 1 j 1 J -3318 5112 720 432 re -S -Q -q -0.9988606 0 0 0.9988606 0 0 cm -0.699 g -331.8 540 72 14.4 re -f -Q -q -0.0998861 0 0 0.0998861 0 0 cm -2.8 w 1 j 1 J -3318 5400 720 144 re -S -Q -q -0.0998861 0 0 0.0998861 0 0 cm -2.8 w 1 j 1 J -3318 5256 216 144 re -S -Q -BT -/T1_1 1 Tf -4.994 0 0 4.994 335.0926 534.1187 Tm -(i-node)Tj --0.326 -1.4 Td -(number)Tj -ET -q -0.0998801 0 0 0.0998801 0 0 cm -2.8 w 1 j 1 J -3534 5256 504 144 re -S -Q -BT -/T1_1 1 Tf -6.9912 0 0 6.9912 364.7741 530.591 Tm -(\336lename)Tj -ET -q -0.9987408 0 0 0.9987408 0 0 cm -0.699 g -331.8 511.2 72 14.4 re -f -Q -q -0.0998741 0 0 0.0998741 0 0 cm -2.8 w 1 j 1 J -3318 5112 720 144 re -S -Q -q -0.0998741 0 0 0.0998741 0 0 cm -2.8 w 1 j 1 J -4182 4896 720 432 re -S -Q -q -0.9986808 0 0 0.9986808 0 0 cm -0.699 g -418.2 511.2 72 21.6 re -f -Q -q -0.0998681 0 0 0.0998681 0 0 cm -2.8 w 1 j 1 J -4182 5112 720 216 re -S -Q -q -0.0998681 0 0 0.0998681 0 0 cm -2.8 w 1 j 1 J -4182 4968 216 144 re -S -Q -BT -/T1_1 1 Tf -4.9931 0 0 4.9931 421.3132 505.2622 Tm -(i-node)Tj --0.326 -1.4 Td -(number)Tj -ET -q -0.0998621 0 0 0.0998621 0 0 cm -2.8 w 1 j 1 J -4398 4968 504 144 re -S -Q -BT -/T1_1 1 Tf -6.9899 0 0 6.9899 450.9841 501.737 Tm -(\336lename)Tj -ET -q -0.998561 0 0 0.998561 0 0 cm -0.699 g -418.2 489.6 72 7.2 re -f -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -4182 4896 720 72 re -S -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3519.25 6012.25 cm -0 0 m --14 -33 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3491.25 5946.25 cm -0 0 m --15 -34 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3462.25 5879.25 cm -0 0 m --15 -34 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3433.25 5812.25 cm -0 0 m --14 -33 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3404.25 5746.25 cm -0 0 m --14 -33 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3375.25 5679.25 cm -0 0 m --14 -33 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3347.25 5613.25 cm -0 0 m --15 -33 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3836.25 6012.25 cm -0 0 m -15 -33 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3865.25 5946.25 cm -0 0 m -14 -34 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3894.25 5879.25 cm -0 0 m -14 -34 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3923.25 5812.25 cm -0 0 m -14 -33 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3951.25 5746.25 cm -0 0 m -15 -33 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3980.25 5679.25 cm -0 0 m -15 -33 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4009.25 5613.25 cm -0 0 m -14 -33 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4599.25 6012.25 cm -0 0 m --18 -30 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4561.25 5950.25 cm -0 0 m --19 -30 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4522.25 5888.25 cm -0 0 m --18 -30 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4484.25 5827.25 cm -0 0 m --19 -31 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4446.25 5765.25 cm -0 0 m --19 -30 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4407.25 5703.25 cm -0 0 m --19 -30 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4369.25 5641.25 cm -0 0 m --19 -30 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4330.25 5580.25 cm -0 0 m --19 -30 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4292.25 5518.25 cm -0 0 m --19 -30 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4254.25 5456.25 cm -0 0 m --19 -30 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4215.25 5394.25 cm -0 0 m --19 -30 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4902.25 6012.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4902.25 5935.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4902.25 5859.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4902.25 5782.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4902.25 5706.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4902.25 5629.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4902.25 5553.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4902.25 5476.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4902.25 5400.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.9985011 0 0 0.9985011 0 0 cm -q 1 0 0 1 232.8 536.4 cm -0 0 m -6.912 -2.808 l -4.824 -5.688 l -f -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -1 j 1 J -q 1 0 0 1 2328 5364 cm -0 0 m -69.12 -28.08 l -48.24 -56.88 l -h -S -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3325.2 5328 cm -0 0 m --219.6 -90 l --366 -150 -499.2 -168 -619.2 -144 c --739.2 -120 -831.24 -84.72 -895.32 -38.16 c --991.44 31.68 l -S -Q -Q -q -0.9984412 0 0 0.9984412 0 0 cm -q 1 0 0 1 222 536.4 cm -0 0 m -5.112 -5.4 l -1.944 -7.2 l -f -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -1 j 1 J -q 1 0 0 1 2220 5364 cm -0 0 m -51.12 -54 l -19.44 -72 l -h -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4189.2002 5040 cm -0 0 m --651.6 -18 l --1086 -30 -1387.2 -24 -1555.2 0 c --1723.2 24 -1833.6 82.92 -1886.4 176.76 c --1965.6 317.52 l -S -Q -Q -BT -/T1_0 1 Tf -7.9871 0 0 7.9871 202.8311 462.6499 Tm -(Figure 4.14)Tj -/T1_1 1 Tf -5.695 0 Td -[(Cylinder gr)18(oup\325s i-nodes and data blocks in mor)]TJ -0.25 Tc 21.438 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(etail)Tj -9.9838 0 0 9.9838 129.3893 433.8965 Tm -[(Note the following points fr)18(om Figur)]TJ -0.25 Tc 16.381 0 Td -(e4)Tj -0 Tc 1.229 0 Td -(.14.)Tj -0.883 Tc -17.61 -1.92 Td -(\245T)Tj -0 Tc 2.012 0 Td -[(wo )-69(dir)18(ectory )-69(entries )-69(point )-69(to )-69(the )-69(same )-69(i-node )-69(entry)]TJ -0.5694 Tc 22.896 0 Td -(.E)Tj -0 Tc 1.43 0 Td -[(very )-69(i-node )-69(has )-69(a )-69(link )-69(count)]TJ --24.85 -1.2 Td -[(that )-139(contains )-139(the )-139(number )-139(of )-139(dir)16(ectory )-139(entries )-139(that )-139(point )-139(to )-139(it.)-639(Only )-139(when )-139(the )-139(link)]TJ -0 -1.2 TD -[(count )-85(goes )-85(to )-85(0 )-85(can )-85(the )-85(\336le )-85(be )-85(deleted )-85(\(ther)18(eby )-85(r)18(eleasing )-85(the )-85(data )-85(blocks )-85(associated)]TJ -T* -[(with )-46(the )-46(\336le\).)-546(This )-46(is )-46(why )-46(the )-46(operation )-46(of )-46(\324)37(\324unlinking )-46(a )-46(\336le\325)]TJ -0.2962 Tc 26.985 0 Td -(\325d)Tj -0 Tc 1.185 0 Td -[(oes )-46(not )-46(always )-46(mean)]TJ --0.037 Tc -28.17 -1.2 Td -(\324\324)Tj -0 Tc 0.519 0 Td -[(deleting )-30(the )-30(blocks )-30(associated )-30(with )-30(the )-30(\336le.\325)]TJ -0.5299 Tc 19.326 0 Td -(\325T)Tj -0 Tc 1.421 0 Td -[(his )-30(is )-30(why )-30(the )-30(function )-30(that )-30(r)19(emoves)]TJ -0.3083 Tc -21.266 -1.2 Td -(ad)Tj -0 Tc 1.419 0 Td -[(ir)18(ectory )-58(entry )-58(is )-58(called)]TJ -/TT0 1 Tf -10.316 0 Td -(unlink)Tj -/T1_1 1 Tf -0.3082 Tc (,n)Tj -0 Tc 4.74 0 Td -[(ot )-58(delete.)-558(In )-58(the)]TJ -/TT0 1 Tf -7.576 0 Td -(stat)Tj -/T1_1 1 Tf -2.708 0 Td -[(str)8(uctur)18(e, )-58(the )-58(link )-58(count)]TJ --26.759 -1.2 Td -[(is )-76(contained )-76(in )-76(the)]TJ -/TT0 1 Tf -8.64 0 Td -(st_nlink)Tj -/T1_1 1 Tf -5.126 0 Td -(member)Tj -0.576 Tc 3.598 0 Td -(.I)Tj -0 Tc 1.163 0 Td -[(ts )-76(primitive )-76(system )-76(data )-76(type )-76(is)]TJ -/TT0 1 Tf -14.534 0 Td -(nlink_t)Tj -/T1_1 1 Tf -(.)Tj --33.061 -1.2 Td -[(These )-39(types )-39(of )-39(links )-39(ar)]TJ -0.2889 Tc 10.019 0 Td -(ec)Tj -0 Tc 1.212 0 Td -[(alled )-39(har)]TJ -0.2889 Tc 3.92 0 Td -(dl)Tj -0 Tc 1.191 0 Td -[(inks. )-289(Recall)-289(fr)18(om )-39(Section )-39(2.5.2 )-39(that )-39(the )-39(POSIX.1)]TJ --16.341 -1.2 Td -(constant)Tj -/TT0 1 Tf -3.98 0 Td -(LINK_MAX)Tj -/T1_1 1 Tf -5.05 0 Td -(speci\336es the maximum value for a \336le\325s link count.)Tj -0.883 Tc -10.519 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-208(other )-208(type )-208(of )-208(link )-208(is )-208(called )-208(a)]TJ -/T1_2 1 Tf -15.445 0 Td -[(symbolic )-208(link)]TJ -/T1_1 1 Tf -0.7081 Tc (.W)Tj -0 Tc 7.454 0 Td -[(ith )-208(a )-208(symbolic )-208(link, )-208(the )-208(actual)]TJ --23.512 -1.2 Td -[(contents )-131(of )-131(the )-131(\336le)]TJ -0.0833 Tc 8.577 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-131(data )-131(blocks)]TJ -0.0833 Tc 6.658 0 Td -(\321s)Tj -0 Tc 1.507 0 Td -(tor)Tj -0.3813 Tc 1.249 0 Td -(et)Tj -0 Tc 1.186 0 Td -[(he )-131(name )-131(of )-131(the )-131(\336le )-131(that )-131(the )-131(symbolic)]TJ --20.587 -1.2 Td -[(link )-117(points )-117(to.)-618(In )-117(the )-117(following )-117(example, )-117(the )-117(\336lename )-117(in )-117(the )-117(dir)18(ectory )-117(entry )-117(is )-117(the)]TJ -T* -[(thr)18(ee-character string)]TJ -/TT0 1 Tf -9.715 0 Td -(lib)Tj -/T1_1 1 Tf -2.05 0 Td -[(and the 7 bytes of data in the \336le ar)18(e)]TJ -/TT0 1 Tf -16.225 0 Td -(usr/lib)Tj -/T1_1 1 Tf -(:)Tj -/TT0 1 Tf -8.9854 0 0 8.9854 162.2251 250.2942 Tm -[(lrwxrwxrwx )-600(1)-600(root )-3000(7)-600(Sep 25 07:14 lib -> usr/lib)]TJ -/T1_1 1 Tf -9.9838 0 0 9.9838 144.2542 232.3233 Tm -[(The )-20(\336le )-20(type )-20(in )-20(the )-20(i-node )-20(would )-20(be)]TJ -/TT0 1 Tf -16.188 0 Td -(S_IFLNK)Tj -/T1_1 1 Tf -4.47 0 Td -[(so )-20(that )-20(the )-20(system )-20(knows )-20(that )-20(this )-20(is )-20(a)]TJ --20.657 -1.2 Td -(symbolic link.)Tj -0.883 Tc -1.489 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-97(i-node )-97(contains )-97(all )-97(the )-97(information )-97(about )-97(the )-97(\336le: )-97(the )-97(\336le )-97(type, )-97(the )-97(\336le\325s )-97(access)]TJ --0.613 -1.2 Td -[(permission )-17(bits, )-17(the )-17(size )-17(of )-17(the )-17(\336le, )-17(pointers )-17(to )-17(the )-17(\336le\325s )-17(data )-17(blocks, )-17(and )-17(so )-17(on.)-510(Most)]TJ -T* -[(of )-3(the )-3(information )-3(in )-3(the)]TJ -/TT0 1 Tf -11.067 0 Td -(stat)Tj -/T1_1 1 Tf -2.653 0 Td -[(str)8(uctur)18(e)-253(is)-253(o)-1(btained )-3(fr)18(om )-3(the )-3(i-node.)-503(Only )-3(two )-3(items)]TJ --13.72 -1.2 Td -[(of )-9(inter)18(est )-9(ar)]TJ -0.2595 Tc 5.559 0 Td -(es)Tj -0 Tc 1.163 0 Td -[(tor)18(ed )-9(in )-9(the )-9(dir)18(ectory )-9(entry: )-9(the )-9(\336lename )-9(and )-9(the )-9(i-node )-9(number)]TJ -0.5095 Tc 28.356 0 Td -(.T)Tj -0 Tc 1.372 0 Td -(he)Tj --36.45 -1.2 Td -[(other )-65(items)]TJ -0.0833 Tc 5.129 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-65(length )-65(of )-65(the )-65(\336lename )-65(and )-65(the )-65(length )-65(of )-65(the )-65(dir)17(ectory )-65(r)18(ecor)]TJ -0.0833 Tc 27.838 0 Td -(d\321a)Tj --0.018 Tc 2.278 0 Td -(re)Tj -0 Tc -36.655 -1.2 Td -[(not of inter)18(est to this discussion.)-500(The data type for the i-node number is)]TJ -/TT0 1 Tf -32.038 0 Td -(ino_t)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47334 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(991)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 140.3916 670.9597 Tm -(read/write)Tj -/T1_0 1 Tf -6.417 0 Td -(versus)Tj -/TT0 1 Tf -3.14 0 Td -(mmap)Tj -/T1_0 1 Tf -0.5 Tc 2.567 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(30)Tj --13.373 -1.25 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O versus unbuf)18(fer)18(ed I/O,)-500(155)]TJ --4.518 -1.25 Td -(STREAMS)Tj -4.666 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based pipes,)-500(565)]TJ --4.999 -1.25 Td -[(synchr)18(onization mechanisms,)-500(86)]TJ -14.704 0.09 Td -(\320)Tj -0.583 -0.09 Td -(87)Tj --15.288 -1.25 Td -[(UNIX domain sockets,)-500(565)]TJ -/TT0 1 Tf -0 -1.25 TD -(writev)Tj -/T1_0 1 Tf -4.017 0 Td -[(versus other techniques,)-500(522)]TJ --5.367 -1.25 Td -[(timing comparison, mutex,)-500(571)]TJ --0.018 Tc 1.35 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.25 Tc 1.367 0 Td -(dl)Tj -0 Tc 1.152 0 Td -[(ocking, )-250(571)]TJ --3.375 -1.25 Td -(semaphor)Tj -0.25 Tc 4.392 0 Td -(el)Tj -0 Tc 1.02 0 Td -[(ocking, )-250(571,)-250(583)]TJ -/TT0 1 Tf --6.762 -1.25 Td -(TIOCGWINSZ)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(710)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(71)55(1, 719, 730, 897)]TJ -/TT0 1 Tf --13.063 -1.25 Td -(TIOCPKT)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(740)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(TIOCREMOTE)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(741)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(TIOCSCTTY)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(297)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(298, 727)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(728)Tj -/TT0 1 Tf --16.63 -1.25 Td -(TIOCSIG)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(741)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(TIOCSIGNAL)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(741)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(TIOCSWINSZ)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(710,)-250(718, 728, 741)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(tip)Tj -/T1_0 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(713)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(tm)Tj -/T1_0 1 Tf -1.617 0 Td -[(str)8(uctur)18(e, )-250(191,)-250(194, 408, 919)]TJ -/TT0 1 Tf --1.617 -1.25 Td -(TMPDIR)Tj -/T1_0 1 Tf -4.017 0 Td -[(envir)18(onment variable,)-500(21)55(1)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(tmpfile)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(167)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(171, 366, 452)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(167)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(TMP_MAX)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(38,)-250(168)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(tmpnam)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(38,)-250(167)]TJ -7.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(171, 442)Tj --10.79 -1.25 Td -[(de\336nition of,)-500(167)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(tms)Tj -/T1_0 1 Tf -2.217 0 Td -[(str)8(uctur)18(e, )-250(280)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(281)Tj --0.018 Tc -9.102 -1.25 Td -(TO)Tj -0 Tc 1.381 0 Td -[(CTT)18(OU err)18(or)]TJ -0.5 Tc 5.849 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(5, 250, 953)Tj --0.092 Tc -8.48 -1.25 Td -(To)Tj -0 Tc 1.067 0 Td -[(rvalds, L.,)-500(35)]TJ -/TT0 1 Tf --1.067 -1.25 Td -(TOSTOP)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(691)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(touch)Tj -/T1_0 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(127)]TJ --3.417 -1.25 Td -[(tracing system calls,)-500(497)]TJ -T* -[(transactions, database,)-500(952)]TJ -/TT0 1 Tf -T* -(TRAP_BRKPT)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(TRAP_TRACE)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(tread)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(800,)-250(805)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(806, 825, 838)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(839)Tj --16.857 -1.25 Td -[(de\336nition of,)-500(805)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(treadn)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(800,)-250(806, 824)]TJ --2.667 -1.25 Td -[(de\336nition of,)-500(806)]TJ --0.09 Tc -1.35 -1.25 Td -(Tr)Tj -0 Tc 0.918 0 Td -(ickey)Tj -0.25 Tc 2.215 0 Td -(,H)Tj -0 Tc 1.332 0 Td -[(., )-250(229,)-250(952)]TJ -/TT0 1 Tf --4.465 -1.25 Td -(truncate)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(1)55(12, 121, 125, 474)]TJ --3.867 -1.25 Td -(de\336nition of,)Tj --0.055 Tc 6.192 0 Td -(11)Tj -0 Tc 0.945 0 Td -(2)Tj --8.487 -1.25 Td -[(tr)8(uncation)]TJ -1.35 -1.25 Td -[(\336le, )-250(1)55(12)]TJ -T* -[(\336lename, )-250(65)]TJ -5.652 0.09 Td -(\320)Tj -0.583 -0.09 Td -(66)Tj --6.235 -1.25 Td -[(pathname, )-250(65)]TJ -6.286 0.09 Td -(\320)Tj -0.583 -0.09 Td -(66)Tj -/TT0 1 Tf --8.22 -1.25 Td -(truss)Tj -/T1_0 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(497)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(ttcompat)Tj -/T1_0 1 Tf -5.217 0 Td -[(STREAMS module,)-500(716, 726)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(tty)Tj -/T1_0 1 Tf -2.217 0 Td -[(str)8(uctur)18(e, )-250(31)55(1)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(tty_atexit)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(705,)-250(731, 897)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(708)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(tty_cbreak)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(704,)-250(709, 897)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(705)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(ttymon)Tj -/T1_0 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(290)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(ttyname)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(137,)-250(276, 442, 452, 695)]TJ -14.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(696, 699)Tj -8.11 65 Td -[(de\336nition of,)-500(695, 698)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(TTY_NAME_MAX)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(40,)-250(43, 49)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(ttyname_r)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(443,)-250(452)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(tty_raw)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(704,)-250(709, 713, 731, 897)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(706)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(tty_reset)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(704,)-250(709, 897)]TJ --4.467 -1.25 Td -[(de\336nition of,)-500(707)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(tty_termios)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(705,)-250(897)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(708)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(type)Tj -/T1_0 1 Tf -2.817 0 Td -[(attribute, )-250(431)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(typescript)Tj -/T1_0 1 Tf -6.417 0 Td -[(\336le, )-250(719,)-250(737)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(TZ)Tj -/T1_0 1 Tf -1.617 0 Td -[(envir)18(onment variable,)-500(190, 192, 195)]TJ -15.849 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(196, 21)55(1,)]TJ --15.349 -1.25 Td -(919)Tj -/TT0 1 Tf --2.7 -1.25 Td -(TZNAME_MAX)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(40,)-250(43, 49)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(tzset)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(452)]TJ --3.417 -6 Td -[(Ubuntu, )-250(xxii,)-250(7, 26, 35, 290)]TJ -/TT0 1 Tf -T* -(UCHAR_MAX)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(37)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(38)Tj -/TT0 1 Tf --11.963 -1.25 Td -(ucontext_t)Tj -/T1_0 1 Tf -6.417 0 Td -[(str)8(uctur)18(e, )-250(352)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(ucred)Tj -/T1_0 1 Tf -3.417 0 Td -[(str)8(uctur)18(e, )-250(649,)-250(651)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(UFS)Tj -/T1_0 1 Tf -2.217 0 Td -[(\336le system,)-500(49, 57, 65, 1)55(13, 1)55(16, 129)]TJ --2.217 -1.25 Td -(UID,)Tj -/T1_2 1 Tf -2.639 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -(user ID)Tj -/TT0 1 Tf --4.056 -1.25 Td -(uid_t)Tj -/T1_0 1 Tf -3.417 0 Td -[(data type,)-500(59)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(uint16_t)Tj -/T1_0 1 Tf -5.217 0 Td -[(data type,)-500(595)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(uint32_t)Tj -/T1_0 1 Tf -5.217 0 Td -[(data type,)-500(595)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(UINT_MAX)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(37)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(38)Tj -/TT0 1 Tf --11.363 -1.25 Td -(ulimit)Tj -/T1_0 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(53,)-250(222)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(ULLONG_MAX)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(37)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(ULONG_MAX)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(37)]TJ --5.817 -1.25 Td -[(UltraSP)92(ARC, )-250(xxii,)-250(xxvii)]TJ -/TT0 1 Tf -T* -(umask)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(104)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(107, 222, 331, 466)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(467)Tj --16.857 -1.25 Td -[(de\336nition of,)-500(104)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(umask)Tj -/T1_0 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(105,)-250(141)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(uname)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(187,)-250(196, 331)]TJ --2.067 -1.25 Td -[(de\336nition of,)-500(187)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(uname)Tj -/T1_0 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(188,)-250(196)]TJ --3.417 -1.25 Td -[(unbuf)18(fer)18(ed I/O,)-500(8, 61)]TJ -9.747 0.09 Td -(\320)Tj -0.583 -0.09 Td -(91)Tj --10.331 -1.25 Td -[(unbuf)18(fer)18(ed I/O timing, standar)]TJ -0.25 Tc 13.913 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O versus,)-500(155)]TJ -/TT0 1 Tf --15.111 -1.25 Td -(ungetc)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(151)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(152, 452)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(151)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(ungetwc)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(452)]TJ --4.617 -1.25 Td -[(uninitialized data segment,)-500(205)]TJ -/TT0 1 Tf -T* -()Tj -/T1_0 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,9)Tj -0.25 Tc 1.25 0 Td -(,2)Tj -0 Tc 1 0 Td -[(9, 53, 62, 1)55(10, 442, 501,)]TJ --8.939 -1.25 Td -(755, 895)Tj --2.7 -1.25 Td -[(UNIX Ar)18(chitectur)18(e, )-250(1)]TJ -9.702 0.09 Td -(\320)Tj -0.583 -0.09 Td -(2)Tj --10.286 -1.25 Td -[(UNIX domain sockets,)-500(629)]TJ -12.058 0.09 Td -(\320)Tj -0.583 -0.09 Td -(642)Tj --11.291 -1.25 Td -[(timing, )-250(565)]TJ --1.35 -1.25 Td -[(UNIX System implementations,)-500(33)]TJ -T* -[(Unix-to-Unix Copy)111(,)]TJ -/T1_2 1 Tf -9.173 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -(UUCP)Tj --10.59 -1.25 Td -[(UnixW)92(ar)18(e, )-250(35)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47335 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 356.322 708 Tm -[(Pr)18(eface )-250(to )-250(the )-250(Second )-250(Edition)]TJ -/T1_1 1 Tf -15.92 0 Td -(xxvii)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(via )-62(a )-62(serial )-62(or )-62(parallel )-62(port.)-562(Most )-62(PostScript )-62(printers )-62(today )-62(ar)]TJ -0.3118 Tc 27.645 0 Td -(ea)Tj -0 Tc 1.291 0 Td -[(ccessed )-62(via )-62(a )-62(network,)]TJ --28.936 -1.2 Td -[(so )-26(I\325ve )-26(changed )-26(the )-26(case )-26(study )-26(that )-26(deals )-26(with )-26(PostScript )-26(printer )-26(communication )-26(to )-26(take)]TJ -0 -1.2 TD -(this into account.)Tj -1.8 -1.2 Td -[(The )-229(chapter )-229(on )-229(modem )-229(communication )-229(is )-229(less )-229(r)18(elevant )-229(these )-229(days.)-725(So )-228(that )-228(the)]TJ --1.8 -1.2 Td -[(original )-221(material )-221(is )-221(not )-221(lost, )-221(however)75(,)-471(it)-471(is)-471(a)1(vailable )-221(on )-221(the )-221(book\325s )-221(W)92(eb )-221(site )-221(in )-221(two)]TJ -0 -1.2 Td -[(formats: )-451(PostScript )-451(\()]TJ -/TT0 1 Tf -9.873 0 Td -(http://www.apuebook.com/lostchapter/modem.ps)Tj -/T1_0 1 Tf -0.7006 Tc (\)a)Tj -0 Tc 27.934 0 Td -(nd)Tj --37.807 -1.2 Td -(PDF \()Tj -/TT0 1 Tf -(http://www.apuebook.com/lostchapter/modem.pdf)Tj -/T1_0 1 Tf -(\).)Tj -1.8 -1.2 Td -[(The )-427(sour)18(ce )-427(code )-427(for )-427(the )-427(examples )-427(shown )-427(in )-427(this )-427(book )-427(is )-427(also )-427(available )-427(at)]TJ -/TT0 1 Tf --1.8 -1.2 Td -(www.apuebook.com)Tj -/T1_0 1 Tf -0.5 Tc (.M)Tj -0 Tc 11.296 0 Td -[(ost of the examples have been r)8(un on four platforms:)]TJ --9.496 -1.92 Td -[(1. )-633(Fr)18(eeBSD )-148(5.2.1, )-148(a )-148(derivative )-148(of )-148(the )-148(4.4BSD )-148(r)20(elease )-148(fr)18(om )-148(the )-148(Computer )-148(Systems)]TJ -1.633 -1.2 Td -[(Resear)18(ch )-74(Gr)18(oup )-74(at )-74(the )-74(University )-74(of )-74(California )-74(at )-74(Berkeley)]TJ -0.324 Tc 26.213 0 Td -(,r)Tj -0 Tc 0.961 0 Td -[(unning )-74(on )-74(an )-74(Intel)]TJ --27.174 -1.2 Td -[(Pentium pr)18(ocessor)]TJ --1.633 -1.6 Td -[(2. )-633(Linux)-275(2.4.22 )-25(\(the )-25(Mandrake )-25(9.2 )-25(distribution\), )-25(a )-25(fr)18(ee )-25(UNIX)]TJ -27.081 0.09 Td -(-)Tj -0.333 -0.09 Td -[(like )-25(operating )-25(system,)]TJ --0.008 Tc -25.781 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning on Intel Pentium pr)18(ocessors)]TJ --2.623 -1.6 Td -[(3. )-633(Solaris)-254(9, )-4(a )-4(derivative )-4(of )-4(System )-4(V )-4(Release )-4(4 )-4(fr)18(om )-4(Sun )-4(Micr)18(osystems, )-4(r)8(unning )-4(on)]TJ -0.25 Tc 1.633 -1.2 Td -(a6)Tj -0 Tc 1.25 0 Td -(4)Tj -0.5 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit UltraSP)92(ARC IIi pr)18(ocessor)]TJ --3.716 -1.6 Td -[(4. )-633(Darwin)-776(7.4.0, )-526(an )-526(operating )-526(envir)19(onment )-525(based )-525(on )-525(Fr)18(eeBSD )-525(and )-525(Mach,)]TJ -1.633 -1.2 Td -[(supported by Apple Mac OS X, version 10.3, on a PowerPC pr)18(ocessor)]TJ -/TT1 1 Tf --7.033 -2.88 Td -[(Ac)20(kno)15(wledgments)]TJ -/T1_0 1 Tf -3.6 -2.16 Td -[(Rich )-107(Stevens )-107(wr)18(ote )-107(the )-107(\336rst )-107(edition )-107(of )-107(this )-107(book )-107(on )-107(his )-107(own, )-107(and )-107(it )-107(became )-107(an )-107(instant)]TJ -T* -(classic.)Tj -0.3275 Tc 1.8 -1.2 Td -(Ic)Tj -0 Tc 1.109 0 Td -[(ouldn\325t )-77(have )-77(updated )-77(this )-77(book )-77(without )-77(the )-77(support )-77(of )-77(my )-77(family)]TJ -0.5775 Tc 29.645 0 Td -(.T)Tj -0 Tc 1.441 0 Td -[(hey )-77(put )-77(up)]TJ --33.994 -1.2 Td -[(with )-390(piles )-390(of )-390(papers )-390(scatter)18(ed )-390(about )-390(the )-390(house )-390(\(well, )-390(mor)18(e)-640(so)-640(than )-390(usual\), )-390(my)]TJ -T* -[(monopolizing )-218(most )-218(of )-218(the )-218(computers )-218(in )-218(the )-218(house, )-218(and )-218(lots )-218(of )-218(hours )-218(with )-218(my )-218(face)]TJ -T* -[(buried )-182(behind )-182(a )-182(computer )-182(terminal.)-683(My )-182(wife, )-182(Jeanne, )-182(even )-182(helped )-182(out )-182(by )-182(installing)]TJ -T* -(Linux for me on one of the test machines.)Tj -1.8 -1.2 Td -[(The )-58(technical )-58(r)18(eviewers )-58(suggested )-58(many )-58(impr)18(ovements )-58(and )-58(helped )-58(make )-58(sur)]TJ -0.3078 Tc 34.679 0 Td -(et)Tj -0 Tc 1.113 0 Td -(hat)Tj --37.592 -1.2 Td -[(the )-6(content )-6(was )-6(accurate.)-506(Many )-6(thanks )-6(to )-6(David )-6(Bausum, )-6(David )-6(Bor)18(eham, )-6(Keith )-6(Bostic,)]TJ -T* -[(Mark )-335(Ellis, )-335(Phil )-335(Howar)18(d, )-335(Andr)18(ew )-335(Josey)]TJ -0.5847 Tc 19.084 0 Td -(,M)Tj -0 Tc 1.781 0 Td -[(ukesh )-335(Kacker)]TJ -0.5847 Tc 6.255 0 Td -(,B)Tj -0 Tc 1.446 0 Td -[(rian )-335(Kernighan, )-335(Bengt)]TJ --28.566 -1.2 Td -[(Kleber)18(g, Ben Kuperman, Eric Raymond, and Andy Rudof)18(f.)]TJ -1.8 -1.2 Td -[(I\325d )-269(also )-269(like )-269(to )-269(thank )-269(Andy )-269(Rudof)]TJ -0.5192 Tc 16.407 0 Td -(ff)Tj -0 Tc 1.185 0 Td -[(or )-269(answering )-269(questions )-269(about )-269(Solaris )-269(and)]TJ --19.392 -1.2 Td -[(Dennis )-21(Ritchie )-21(for )-21(digging )-21(up )-21(old )-21(papers )-21(and )-21(answering )-21(history )-21(questions.)-521(Once )-21(again,)]TJ -T* -[(the )-80(staf)18(f)-330(at)-330(Addison-W)92(esley )-80(was )-80(gr)18(eat )-80(to )-80(work )-80(with.)-581(Thanks )-80(to )-80(T)89(yrr)18(ell )-80(Albaugh, )-80(Mary)]TJ -0 -1.2 Td -[(Franz, )-161(John )-161(Fuller)]TJ -0.411 Tc 8.189 0 Td -(,K)Tj -0 Tc 1.387 0 Td -[(ar)18(en )-161(Gettman, )-161(Jessica )-161(Goldstein, )-161(Nor)18(een )-161(Regina, )-161(and )-161(John )-161(W)92(ait.)]TJ --9.576 -1.2 Td -(My thanks to Evelyn Pyle for the \336ne job of copyediting.)Tj -1.8 -1.2 Td -[(As )-257(Rich )-257(did, )-257(I )-257(also )-257(welcome )-257(electr)20(onic )-257(mail )-257(fr)18(om )-257(any )-257(r)18(eaders )-257(with )-257(comments,)]TJ --1.8 -1.2 Td -(suggestions, or bug \336xes.)Tj -/T1_2 1 Tf --0.02 Tc 0 -3.36 TD -(Wa)Tj -0 Tc 1.368 0 Td -[(rr)18(en, New Jersey)]TJ -/T1_0 1 Tf -30.26 0 Td -(Stephen A. Rago)Tj -/T1_2 1 Tf --31.628 -1.2 Td -(April 2005)Tj -/TT0 1 Tf -29.4 0 Td -(sar@apuebook.com)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47336 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(xxii)Tj -/T1_1 1 Tf -3.666 0 Td -[(Pr)18(eface)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -0.883 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245I)Tj -0.2663 Tc 1.826 0 Td -(n2)Tj -0 Tc 1.348 0 Td -[(01)55(1, )-16(the )-16(C )-16(standar)]TJ -0.2664 Tc 7.91 0 Td -(dw)Tj -0 Tc 1.711 0 Td -[(as )-16(updated, )-16(but )-16(because )-16(systems )-16(haven\325t )-16(caught )-16(up )-16(yet)]TJ --11.307 -1.2 Td -[(with the changes, we still r)18(efer to the 1999 version in this text.)]TJ --3.289 -1.8 Td -[(Most )-19(notably)]TJ -0.2694 Tc 5.754 0 Td -(,t)Tj -0 Tc 0.845 0 Td -[(he )-19(platforms )-19(used )-19(in )-19(the )-19(second )-19(edition )-19(have )-19(become )-19(out-of-date.)-523(In )-19(this)]TJ --6.6 -1.2 Td -(book, the thir)Tj -0.25 Tc 5.914 0 Td -(de)Tj -0 Tc 1.34 0 Td -(dition, I cover the following platforms:)Tj --5.454 -1.8 Td -[(1. )-633(Fr)18(eeBSD )-167(8.0, )-167(a )-167(descendant )-167(of )-167(the )-167(4.4BSD )-167(r)18(elease )-167(fr)18(om )-167(the )-167(Computer )-167(Systems)]TJ -1.633 -1.2 Td -[(Resear)18(ch )-82(Gr)18(oup )-82(at )-82(the )-82(University )-82(of )-82(California )-82(at )-82(Berkeley)]TJ -0.3318 Tc 26.275 0 Td -(,r)Tj -0 Tc 0.969 0 Td -[(unning )-82(on )-82(a )-82(32)]TJ -6.819 0.09 Td -(-)Tj -0.333 -0.09 Td -(bit)Tj --34.397 -1.2 Td -[(Intel Pentium pr)18(ocessor)74(.)]TJ --1.633 -1.6 Td -[(2. )-633(Linux)-338(3.2.0 )-88(\(the )-88(Ubuntu )-88(12.04 )-88(distribution\), )-88(a )-88(fr)18(ee )-88(UNIX)]TJ -26.956 0.09 Td -(-)Tj -0.333 -0.09 Td -[(like )-88(operating )-88(system,)]TJ --0.008 Tc -25.656 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -(nning on a 64)Tj -5.971 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit Intel Cor)18(e)-250(i5)-250(p)]TJ --0.018 Tc (ro)Tj -0 Tc 8.611 0 Td -[(cessor)74(.)]TJ --17.538 -1.6 Td -[(3. )-633(Apple)-407(Mac )-157(OS )-157(X, )-157(version )-157(10.6.8)]TJ -16.724 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Darwin )-157(10.8.0)]TJ -6.283 0.04 Td -(\))Tj -0.74 -0.04 Td -[(on )-157(a )-157(64)]TJ -3.442 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-157(Intel )-157(Cor)]TJ -0.4067 Tc 5.631 0 Td -(e2D)Tj -0 Tc 2.566 0 Td -(uo)Tj --34.418 -1.2 Td -[(pr)18(ocessor)]TJ -0.669 Tc 4.162 0 Td -(.\()Tj -0 Tc 1.252 0 Td -[(Darwin )-169(is )-169(based )-169(on )-169(Fr)18(eeBSD )-169(and )-169(Mach.\))]TJ -0.4191 Tc 19.518 0 Td -(Ic)Tj -0 Tc 1.2 0 Td -[(hose )-169(to )-169(switch )-169(to )-169(an)]TJ --26.132 -1.2 Td -[(Intel )-128(platform )-128(instead )-128(of )-128(continuing )-128(with )-128(one )-128(based )-128(on )-128(the )-128(PowerPC, )-128(because)]TJ -0 -1.2 TD -[(the )-193(latest )-193(versions )-193(of )-193(Mac )-193(OS )-193(X )-193(ar)19(e)-443(no)-443(longer )-193(being )-193(ported )-193(to )-193(the )-193(PowerPC)]TJ --0 -1.2 Td -[(platform. )-377(The)-378(drawback )-127(to )-127(this )-127(choice )-127(is )-127(that )-127(the )-127(pr)18(ocessors )-127(cover)18(ed )-127(ar)]TJ -0.3774 Tc 32.749 0 Td -(en)Tj -0 Tc 1.438 0 Td -(ow)Tj --34.187 -1.2 Td -[(slanted )-8(in )-8(favor )-8(of )-8(Intel.)-508(When )-8(discussing )-8(issues )-8(of )-8(heter)21(ogeneity)111(,)-258(it)-258(is)-258(h)1(elpful )-8(to)]TJ --0 -1.2 Td -[(have )-41(pr)18(ocessors )-41(with )-41(dif)18(fer)18(ent )-41(characteristics, )-41(such )-41(as )-41(byte )-41(or)18(dering )-41(and )-41(integer)]TJ --0 -1.2 Td -(size.)Tj --1.633 -1.6 Td -[(4. )-633(Solaris)-455(10, )-205(a )-205(derivative )-205(of )-205(System )-205(V )-205(Release )-205(4 )-205(fr)18(om )-205(Sun )-205(Micr)14(osystems )-205(\(now)]TJ -1.633 -1.2 Td -[(Oracle\), r)8(unning on a 64)]TJ -10.689 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit UltraSP)92(ARC IIi pr)18(ocessor)74(.)]TJ -/TT0 1 Tf --18.055 -3.6 Td -[(Chang )268(es)-278(fr)20(om the Second Edition)]TJ -/T1_1 1 Tf -3.6 -2.4 Td -[(One )-206(of )-206(the )-206(biggest )-206(changes )-206(to )-206(the )-206(Single )-206(UNIX )-206(Speci\336cation )-206(in )-206(POSIX.1)]TJ -33.653 0.09 Td -(-)Tj -0.333 -0.09 Td -[(2008 )-206(is )-206(the)]TJ --33.986 -1.2 Td -[(demotion )-41(of )-41(the )-41(STREAMS-r)18(elated )-41(interfaces )-41(to )-41(obsolescent )-41(status.)-541(This )-41(is )-41(the )-41(\336rst )-41(step)]TJ -T* -(befor)Tj -0.2616 Tc 2.288 0 Td -(et)Tj -0 Tc 1.067 0 Td -[(hese )-12(interfaces )-12(ar)]TJ -0.2616 Tc 7.617 0 Td -(er)Tj -0 Tc 1.118 0 Td -[(emoved )-12(entir)18(ely )-11(in )-11(a )-11(futur)]TJ -0.2615 Tc 11.605 0 Td -(ev)Tj -0 Tc 1.306 0 Td -[(ersion )-11(of )-11(the )-11(standar)17(d. )-261(Because)]TJ --25 -1.2 Td -[(of )-45(this, )-45(I )-45(have )-45(r)19(eluctantly )-45(r)18(emoved )-45(the )-45(STREAMS )-45(content )-45(fr)18(om )-45(this )-45(edition )-45(of )-45(the )-45(book.)]TJ -T* -[(This )-337(is )-337(an )-337(unfortunate )-337(change, )-337(because )-337(the )-337(STREAMS )-337(interfaces )-337(pr)15(ovided )-337(a )-337(nice)]TJ -T* -[(contrast )-113(to )-113(the )-113(socket )-113(interfaces, )-113(and )-113(in )-113(many )-113(ways )-113(wer)]TJ -0.3631 Tc 25.439 0 Td -(em)Tj -0 Tc 1.725 0 Td -(or)Tj -0.3631 Tc 0.923 0 Td -(e\337)Tj -0 Tc 1.45 0 Td -[(exible. )-363(Admittedly)]TJ -0.3631 Tc 8.513 0 Td -(,I)Tj -0 Tc -38.05 -1.2 Td -[(am )-111(not )-111(entir)18(ely )-111(unbiased )-111(when )-111(it )-111(comes )-111(to )-111(the )-111(STREAMS )-111(mechanism, )-111(but )-111(ther)14(e)-361(is)-361(no)]TJ -T* -[(debating the r)18(educed r)18(ole it is playing in curr)18(ent systems:)]TJ -0.883 Tc 1.8 -1.8 Td -(\245L)Tj -0 Tc 2.1 0 Td -[(inux )-39(doesn\325t )-39(include )-39(STREAMS )-39(in )-39(its )-39(base )-39(system, )-39(although )-39(packages)]TJ -31.357 0.04 Td -(\()Tj -0.333 -0.04 Td -[(LiS )-39(and)]TJ --32.301 -1.2 Td -(OpenSS7)Tj -3.998 0.04 Td -(\))Tj -0.583 -0.04 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(vailable to add this functionality)111(.)]TJ -0.883 Tc -8.176 -1.6 Td -(\245A)Tj -0 Tc 2.267 0 Td -[(lthough )-15(Solaris )-15(10 )-15(includes )-15(STREAMS, )-15(Solaris )-15(1)]TJ -0.2652 Tc 21.107 0 Td -(1u)Tj -0 Tc 1.368 0 Td -[(ses )-15(a )-15(socket )-15(implementation)]TJ --23.253 -1.2 Td -(that is not built on top of STREAMS.)Tj -0.883 Tc -1.489 -1.6 Td -(\245M)Tj -0 Tc 2.435 0 Td -(ac OS X doesn\325t include support for STREAMS.)Tj -0.883 Tc -2.435 -1.6 Td -(\245F)Tj --0.018 Tc 2.045 0 Td -(re)Tj -0 Tc 0.856 0 Td -(eBSD doesn\325t include support for STREAMS \(and never did\).)Tj --4.701 -1.8 Td -[(So )-55(with )-55(the )-55(r)17(emoval )-56(of )-56(the )-56(STREAMS-r)18(elated )-56(material, )-56(an )-56(opportunity )-56(exists )-56(to )-56(r)22(eplace)]TJ --0 -1.2 Td -[(it with new topics, such as POSIX asynchr)18(onous I/O.)]TJ -1.8 -1.2 Td -[(In )-18(the )-18(second )-18(edition, )-18(the )-18(Linux )-18(version )-18(cover)17(ed )-18(was )-18(based )-18(on )-18(the )-18(2.4 )-18(version )-18(of )-18(the)]TJ --1.8 -1.2 Td -[(sour)18(ce. )-355(In)-354(this )-105(edition, )-105(I )-105(have )-105(updated )-105(the )-105(version )-105(of )-105(Linux )-105(to )-105(3.2.)-602(One )-105(of )-105(the )-105(lar)19(gest)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47337 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.8)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(755)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(The )-161(next )-161(\336le )-161(is)]TJ -/TT0 1 Tf -7.312 0 Td -(db.c)Tj -/T1_0 1 Tf -0.4111 Tc (,t)Tj -0 Tc 3.387 0 Td -[(he )-161(C )-161(sour)18(ce )-161(\336le )-161(for )-161(the )-161(library)]TJ -0.6611 Tc 14.016 0 Td -(.F)Tj -0 Tc 1.467 0 Td -[(or )-161(simplicity)111(,)-411(we)-411(include )-161(all)]TJ --26.182 -1.2 Td -[(functions )-59(in )-59(a )-59(single )-59(\336le.)-559(This )-59(has )-59(the )-59(advantage )-59(that )-59(we )-59(can )-59(hide )-59(private )-59(functions )-59(by)]TJ -0 -1.2 TD -(declaring them as)Tj -/TT0 1 Tf -8.093 0 Td -(static)Tj -/T1_0 1 Tf -(.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6330.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -1.8 Tc 8.9989 0 0 8.9989 134.9838 623.4242 Tm -(1#)Tj -0 Tc 3 0 Td -(include "apue.h")Tj -1.8 Tc -3 -1.189 Td -(2#)Tj -0 Tc 3 0 Td -(include "apue_db.h")Tj -1.8 Tc -3 -1.189 Td -(3#)Tj -0 Tc 3 0 Td -[(include )-3000(/* open & db_open flags */)]TJ -1.8 Tc -3 -1.189 Td -(4#)Tj -0 Tc 3 0 Td -(include )Tj -1.8 Tc -3 -1.189 Td -(5#)Tj -0 Tc 3 0 Td -(include )Tj -1.8 Tc -3 -1.189 Td -(6#)Tj -0 Tc 3 0 Td -[(include )-1800(/* struct iovec */)]TJ -1.8 Tc -3 -2.021 Td -(7/)Tj -0 Tc 3 0 Td -(*)Tj -2.4 Tc -3 -1.189 Td -(8*)Tj -0 Tc 4.2 0 Td -(Internal index file constants.)Tj -2.4 Tc -4.2 -1.189 Td -(9*)Tj -0 Tc 4.2 0 Td -(These are used to construct records in the)Tj --4.8 -1.189 Td -[(10 )-1800(*)-600(index file and data file.)]TJ -0 -1.189 TD -[(11 )-1800(*/)]TJ -T* -[(12 )-1200(#define)-600(IDXLEN_SZ )-2400(4)-2400(/* index record length \(ASCII chars\) */)]TJ -T* -[(13 )-1200(#define)-600(SEP )-4800(\325:\325)-2400(/* separator char in index record */)]TJ -T* -[(14 )-1200(#define)-600(SPACE )-3600(\325)]TJ -2.4 Tc 16.2 0 Td -(\325/)Tj -0.6 Tc 3.6 0 Td -(*s)Tj -0 Tc 1.8 0 Td -(pace character */)Tj --21.6 -1.189 Td -[(15 )-1200(#define)-600(NEWLINE )-2400(\325\\n\325)-1800(/* newline character */)]TJ -0 -2.021 TD -[(16 )-1200(/*)]TJ -0 -1.189 TD -[(17 )-1800(*)-600(The following definitions are for hash chains and free)]TJ -T* -[(18 )-1800(*)-600(list chain in the index file.)]TJ -0 -1.189 TD -[(19 )-1800(*/)]TJ -0 -1.189 TD -[(20 )-1200(#define)-600(PTR_SZ )-4200(7)-2400(/* size of ptr field in hash chain */)]TJ -T* -[(21 )-1200(#define)-600(PTR_MAX 9999999)-2400(/* max file offset = 10**PTR_SZ - 1 */)]TJ -T* -[(22 )-1200(#define)-600(NHASH_DEF )-1200(137)-2400(/* default hash table size */)]TJ -T* -[(23 )-1200(#define)-600(FREE_OFF )-3000(0)-2400(/* free list offset in index file */)]TJ -T* -[(24 )-1200(#define)-600(HASH_OFF PTR_SZ)-2400(/* hash table offset in index file */)]TJ -0 -2.021 TD -[(25 )-1200(typedef)-600(unsigned long)-1200(DBHASH; /* hash values */)]TJ -0 -1.189 TD -[(26 )-1200(typedef)-600(unsigned long)-1200(COUNT; )-600(/*)-600(unsigned counter */)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3287.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 304.6732 Tm -[([1 )167(\320 )167(6])]TJ --0.092 Tc 4 0 Td -[(We )-338(i)]TJ -0 Tc 2.081 0 Td -(nclude)Tj -/TT0 1 Tf -3.414 0 Td -(apue.h)Tj -/T1_0 1 Tf -4.004 0 Td -[(because )-153(we )-153(use )-153(some )-153(of )-153(the )-153(functions )-153(fr)18(om )-153(our )-153(private)]TJ --9.499 -1.2 Td -(library)Tj -0.7855 Tc 2.87 0 Td -(.I)Tj -0.5355 Tc 1.372 0 Td -(nt)Tj -0 Tc 1.444 0 Td -(urn,)Tj -/TT0 1 Tf -2.366 0 Td -(apue.h)Tj -/T1_0 1 Tf -4.136 0 Td -[(includes )-286(several )-286(standar)]TJ -0.5356 Tc 11.249 0 Td -(dh)Tj -0 Tc 1.729 0 Td -[(eader )-286(\336les, )-286(including)]TJ -/TT0 1 Tf --25.165 -1.2 Td -()Tj -/T1_0 1 Tf -6.236 0 Td -(and)Tj -/TT0 1 Tf -2.529 0 Td -()Tj -/T1_0 1 Tf -1.0857 Tc (.W)Tj -0.8357 Tc 8.244 0 Td -(ei)Tj -0 Tc 1.606 0 Td -(nclude)Tj -/TT0 1 Tf -3.846 0 Td -()Tj -/T1_0 1 Tf -6.836 0 Td -[(because )-586(the)]TJ -/TT0 1 Tf --29.295 -1.2 Td -(db_open)Tj -/T1_0 1 Tf -5.133 0 Td -[(function )-683(uses )-683(the )-683(variable-ar)18(gument )-683(functions )-683(declar)18(ed )-683(by)]TJ -/TT0 1 Tf --5.133 -1.2 Td -()Tj -/T1_0 1 Tf -(.)Tj --4 -1.6 Td -[([7 )167(\320 )167(26])-1168(The )-373(size )-373(of )-373(an )-373(index )-373(r)19(ecor)18(d)-623(is)-623(speci\336ed )-373(by)]TJ -/TT0 1 Tf -26.006 0 Td -(IDXLEN_SZ)Tj -/T1_0 1 Tf -0.8729 Tc (.W)Tj -0.6229 Tc 7.431 0 Td -(eu)Tj -0 Tc 1.705 0 Td -[(se )-373(some)]TJ --31.142 -1.2 Td -[(characters, )-121(such )-121(as )-121(colon )-121(and )-121(newline, )-121(as )-121(delimiters )-121(in )-121(the )-121(database.)]TJ --0.092 Tc 31.736 0 Td -[(We )-305(u)]TJ -0 Tc 2.361 0 Td -(se)Tj --34.097 -1.2 Td -[(the space character as \324)37(\324white out\325)]TJ -0.25 Tc 14.821 0 Td -(\325w)Tj -0 Tc 1.362 0 Td -[(hen we delete a r)18(ecor)18(d.)]TJ --16.183 -1.8 Td -[(Some )-216(of )-216(the )-216(values )-216(that )-216(we )-216(have )-216(de\336ned )-216(as )-216(constants )-216(could )-216(also )-216(be )-216(made)]TJ -0 -1.2 TD -[(variable, )-167(with )-167(some )-167(added )-167(complexity )-167(in )-167(the )-167(implementation.)-667(For )-167(example,)]TJ -T* -[(we )-35(set )-35(the )-35(size )-35(of )-35(the )-35(hash )-35(table )-35(to )-35(137 )-35(entries.)]TJ -0.2847 Tc 21.106 0 Td -(Ab)Tj -0 Tc 1.616 0 Td -[(etter )-35(technique )-35(would )-35(be )-35(to)]TJ --22.721 -1.2 Td -[(let )-113(the )-113(caller )-113(specify )-113(this )-113(as )-113(an )-113(ar)18(gument )-113(to)]TJ -/TT0 1 Tf -20.082 0 Td -(db_open)Tj -/T1_0 1 Tf -0.3627 Tc (,b)Tj -0 Tc 5.366 0 Td -[(ased )-113(on )-113(the )-113(expected)]TJ --25.448 -1.2 Td -[(size )-42(of )-42(the )-42(database.)]TJ --0.092 Tc 9.52 0 Td -[(We )-226(w)]TJ -0 Tc 2.513 0 Td -[(ould )-42(then )-42(have )-42(to )-42(stor)]TJ -0.2917 Tc 9.858 0 Td -(et)Tj -0 Tc 1.097 0 Td -[(his )-42(size )-42(at )-42(the )-42(beginning )-42(of)]TJ --22.987 -1.2 Td -(the index \336le.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47338 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.4)]TJ -35.831 0 Td -[(I/O )-250(Multiplexing)]TJ -/T1_1 1 Tf -10.002 0 Td -(501)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(network )-3(connection )-3(is )-3(disconnected )-3(by )-3(the)]TJ -/TT0 1 Tf -19.089 0 Td -(telnetd)Tj -/T1_0 1 Tf -4.453 0 Td -[(daemon\), )-3(then )-3(the )-3(child )-3(terminates)]TJ --23.543 -1.2 Td -[(and )-39(the )-39(par)18(ent )-39(is )-39(noti\336ed )-39(by )-39(the)]TJ -/TT0 1 Tf -14.62 0 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.489 0 Td -[(signal. )-289(But)-289(if )-39(the )-39(par)18(ent )-39(terminates )-39(\(the )-39(user)]TJ --19.11 -1.2 Td -[(enters )-121(an )-121(end-of-\336le )-121(character )-121(at )-121(the )-121(terminal\), )-121(then )-121(the )-121(par)16(ent )-121(has )-121(to )-121(tell )-121(the )-121(child )-121(to)]TJ -0 -1.2 TD -[(stop. )-360(W)]TJ -0.3602 Tc 3.665 0 Td -(ec)Tj -0 Tc 1.283 0 Td -[(an )-110(use )-110(a )-110(signal )-110(for )-110(this )-110(\()]TJ -/TT0 1 Tf -11.123 0 Td -(SIGUSR1)Tj -/T1_0 1 Tf -0.3602 Tc (,f)Tj -0 Tc 5.143 0 Td -[(or )-110(example\), )-110(but )-110(it )-110(does )-110(complicate )-110(the)]TJ --21.215 -1.2 Td -[(pr)18(ogram somewhat.)]TJ -1.8 -1.2 Td -[(Instead )-32(of )-32(two )-32(pr)18(ocesses, )-32(we )-32(could )-32(use )-32(two )-32(thr)18(eads )-32(in )-32(a )-32(single )-32(pr)16(ocess. )-282(This)-283(avoids)]TJ --1.8 -1.2 Td -[(the )-28(termination )-28(complexity)]TJ -0.2781 Tc 11.966 0 Td -(,b)Tj -0 Tc 1.081 0 Td -[(ut )-28(r)18(equir)18(es )-28(that )-28(we )-28(deal )-28(with )-28(synchr)18(onization )-28(between )-28(the)]TJ --13.047 -1.2 Td -[(thr)18(eads, which could add mor)]TJ -0.25 Tc 13.305 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(omplexity than it saves.)Tj --0.092 Tc -12.678 -1.2 Td -[(We )-243(c)]TJ -0 Tc 2.14 0 Td -[(ould )-59(use )-59(nonblocking )-59(I/O )-59(in )-59(a )-59(single )-59(pr)18(ocess )-59(by )-59(setting )-59(both )-59(descriptors )-59(to )-59(be)]TJ --3.94 -1.2 Td -[(nonblocking )-5(and )-5(issuing )-5(a)]TJ -/TT0 1 Tf -11.912 0 Td -(read)Tj -/T1_0 1 Tf -2.655 0 Td -[(on )-5(the )-5(\336rst )-5(descriptor)]TJ -0.5046 Tc 9.467 0 Td -(.I)Tj -0.2546 Tc 1.092 0 Td -(fd)Tj -0 Tc 1.199 0 Td -[(ata )-5(is )-5(pr)18(esent, )-5(we )-5(r)18(ead )-5(it )-5(and)]TJ --26.323 -1.2 Td -[(pr)18(ocess )-17(it.)-517(If )-17(ther)]TJ -0.2671 Tc 7.647 0 Td -(ei)Tj -0 Tc 1.037 0 Td -[(s)-267(no)-267(data )-17(to )-17(r)18(ead, )-17(the )-17(call )-17(r)18(eturns )-17(immediately)]TJ -0.5172 Tc 20.294 0 Td -(.W)Tj -0.2672 Tc 1.675 0 Td -(et)Tj -0 Tc 1.072 0 Td -[(hen )-17(do )-17(the )-17(same)]TJ --31.725 -1.2 Td -[(thing )-109(with )-109(the )-109(second )-109(descriptor)]TJ -0.6092 Tc 14.718 0 Td -(.A)Tj -0 Tc 1.637 0 Td -[(fter )-109(this, )-109(we )-109(wait )-109(for )-109(some )-109(amount )-109(of )-109(time )-109(\(a )-109(few)]TJ --16.355 -1.2 Td -[(seconds, )-24(per)18(haps\) )-24(and )-24(then )-24(try )-24(to )-24(r)18(ead )-24(fr)18(om )-24(the )-24(\336rst )-24(descriptor )-24(again.)-524(This )-24(type )-24(of )-24(loop)]TJ -T* -[(is )-48(called)]TJ -/T1_2 1 Tf -3.926 0 Td -(polling)Tj -/T1_0 1 Tf -0.5477 Tc (.T)Tj -0 Tc 4.245 0 Td -[(he )-48(pr)18(oblem )-48(is )-48(that )-48(it )-48(wastes )-48(CPU )-48(time.)-548(Most )-48(of )-48(the )-48(time, )-48(ther)]TJ -0.2976 Tc 27.486 0 Td -(ew)Tj -0 Tc 1.611 0 Td -(on\325t)Tj --37.268 -1.2 Td -[(be )-99(data )-99(to )-99(r)18(ead, )-99(so )-99(we )-99(waste )-99(time )-99(performing )-99(the)]TJ -/TT0 1 Tf -22.819 0 Td -(read)Tj -/T1_0 1 Tf -2.749 0 Td -[(system )-99(calls.)]TJ --0.092 Tc 6.24 0 Td -[(We )-283(a)]TJ -0 Tc 2.236 0 Td -[(lso )-99(have )-99(to)]TJ --34.043 -1.2 Td -[(guess )-96(how )-96(long )-96(to )-96(wait )-96(each )-96(time )-96(ar)19(ound )-96(the )-96(loop.)-596(Although )-96(it )-96(works )-96(on )-96(any )-96(system)]TJ -T* -(that supports nonblocking I/O, polling should be avoided on a multitaski\ ng system.)Tj -1.8 -1.2 Td -[(Another )-12(technique )-12(is )-12(called)]TJ -/T1_2 1 Tf -12.411 0 Td -[(asynchr)18(onous )-12(I/O)]TJ -/T1_0 1 Tf -0.5117 Tc (.W)Tj -0 Tc 8.931 0 Td -[(ith )-12(this )-12(technique, )-12(we )-12(tell )-12(the )-12(kernel)]TJ --23.143 -1.2 Td -[(to )-82(notify )-82(us )-82(with )-82(a )-82(signal )-82(when )-82(a )-82(descriptor )-82(is )-82(r)18(eady )-82(for )-82(I/O.)-583(Ther)]TJ -0.3321 Tc 30.308 0 Td -(ea)Tj --0.018 Tc 1.311 0 Td -[(re )-118(t)]TJ -0 Tc 1.514 0 Td -[(wo )-82(pr)18(oblems)]TJ --33.133 -1.2 Td -[(with )-369(this )-369(appr)18(oach. )-619(First,)-619(although )-369(systems )-369(pr)18(ovide )-369(their )-369(own )-369(limited )-369(forms )-369(of)]TJ -T* -[(asynchr)18(onous )-433(I/O, )-433(POSIX )-433(chose )-433(to )-433(standar)18(dize )-433(a )-433(dif)17(fer)18(ent )-433(set )-433(of )-433(interfaces, )-433(so)]TJ --0 -1.2 Td -[(portability )-203(can )-203(be )-203(an )-203(issue.)-702(\(In )-203(the )-203(past, )-203(POSIX )-203(asynchr)18(onous )-203(I/O )-203(was )-203(an )-203(optional)]TJ -T* -[(facility )-62(in )-62(the )-62(Single )-62(UNIX )-62(Speci\336cation, )-62(but )-62(these )-62(interfaces )-62(ar)]TJ -0.3115 Tc 28.219 0 Td -(er)Tj -0 Tc 1.167 0 Td -[(equir)18(ed )-61(as )-61(of )-61(SUSv4.\))]TJ --29.387 -1.2 Td -[(System )-38(V )-38(pr)18(ovides )-38(the)]TJ -/TT0 1 Tf -10.346 0 Td -(SIGPOLL)Tj -/T1_0 1 Tf -4.488 0 Td -[(signal )-38(to )-38(support )-38(a )-38(limited )-38(form )-38(of )-38(asynchr)21(onous )-38(I/O,)]TJ --14.834 -1.2 Td -[(but )-163(this )-163(signal )-163(works )-163(only )-163(if )-163(the )-163(descriptor )-163(r)21(efers )-162(to )-162(a )-162(STREAMS )-162(device.)-662(BSD )-162(has )-162(a)]TJ -T* -[(similar )-131(signal,)]TJ -/TT0 1 Tf -6.731 0 Td -(SIGIO)Tj -/T1_0 1 Tf -0.3811 Tc (,b)Tj -0 Tc 4.184 0 Td -[(ut )-131(it )-131(has )-131(similar )-131(limitations: )-131(it )-131(works )-131(only )-131(on )-131(descriptors )-131(that)]TJ --0.018 Tc -10.915 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(fer to terminal devices or networks.)Tj -0.944 -1.2 Td -[(The )-214(second )-214(pr)18(oblem )-214(with )-214(this )-214(technique )-214(is )-214(that )-214(the )-214(limited )-214(forms )-214(use )-214(only )-214(one)]TJ --1.8 -1.2 Td -[(signal )-37(per )-37(pr)18(ocess )-37(\()]TJ -/TT0 1 Tf -8.609 0 Td -(SIGPOLL)Tj -/T1_0 1 Tf -4.487 0 Td -(or)Tj -/TT0 1 Tf -1.228 0 Td -(SIGIO)Tj -/T1_0 1 Tf -[(\). )-287(If)-288(we )-37(enable )-37(this )-37(signal )-37(for )-37(two )-37(descriptors )-37(\(in)]TJ --14.325 -1.2 Td -[(the )-36(example )-36(we\325ve )-36(been )-36(talking )-36(about, )-36(r)18(eading )-36(fr)18(om )-36(two )-36(descriptors\), )-36(the )-36(occurr)18(ence )-36(of)]TJ -T* -[(the )-579(signal )-579(doesn\325t )-579(tell )-579(us )-579(which )-579(descriptor )-579(is )-579(r)20(eady)]TJ -1.0788 Tc 26.693 0 Td -(.A)Tj -0 Tc 2.107 0 Td -[(lthough )-579(the )-579(POSIX.1)]TJ --28.8 -1.2 Td -[(asynchr)18(onous )-84(I/O )-84(interfaces )-84(allow )-84(us )-84(to )-84(select )-84(which )-84(signal )-84(to )-84(use )-84(for )-84(noti\336cation, )-84(the)]TJ -T* -[(number )-193(of )-193(signals )-193(we )-193(can )-193(use )-193(is )-193(still )-193(far )-193(less )-193(than )-193(the )-193(number )-193(of )-193(possible )-193(open )-193(\336le)]TJ -T* -[(descriptors. )-425(T)]TJ -0.4247 Tc 6.382 0 Td -(od)Tj -0 Tc 1.582 0 Td -[(etermine )-175(which )-175(descriptor )-175(is )-175(r)20(eady)111(,)-425(we)-425(w)1(ould )-175(need )-175(to )-175(set )-175(each )-175(\336le)]TJ --7.963 -1.2 Td -[(descriptor )-318(to )-318(nonblocking )-318(mode )-318(and )-318(try )-318(the )-318(descriptors )-318(in )-318(sequence.)]TJ --0.092 Tc 33.824 0 Td -[(We )-502(d)]TJ -0 Tc 2.566 0 Td -(iscuss)Tj --36.39 -1.2 Td -[(asynchr)18(onous I/O in Section 14.5.)]TJ -0.4649 Tc 1.8 -1.2 Td -(Ab)Tj -0 Tc 1.796 0 Td -[(etter )-215(technique )-215(is )-215(to )-215(use)]TJ -/T1_2 1 Tf -11.768 0 Td -[(I/O )-215(multiplexing)]TJ -/T1_0 1 Tf -0.7148 Tc (.T)Tj -0 Tc 8.582 0 Td -[(o)-465(do)-465(this, )-215(we )-215(build )-215(a )-215(list )-215(of )-215(the)]TJ --23.946 -1.2 Td -[(descriptors )-240(that )-240(we )-240(ar)]TJ -0.4897 Tc 10.329 0 Td -(ei)Tj -0 Tc 1.26 0 Td -[(nter)18(ested )-240(in )-240(\(usually )-240(mor)]TJ -0.4898 Tc 11.832 0 Td -(et)Tj -0 Tc 1.295 0 Td -[(han )-240(one )-240(descriptor\) )-240(and )-240(call )-240(a)]TJ --24.716 -1.2 Td -[(function )-318(that )-318(doesn\325t )-318(r)19(eturn )-317(until )-317(one )-317(of )-317(the )-317(descriptors )-317(is )-317(r)18(eady )-317(for )-317(I/O.)-822(Thr)18(ee)]TJ -T* -[(functions )167(\321)]TJ -/TT0 1 Tf -5.298 0 Td -(poll)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -2.966 0 Td -(pselect)Tj -/T1_0 1 Tf -0.3158 Tc (,a)Tj -0 Tc 5.266 0 Td -(nd)Tj -/TT0 1 Tf -1.509 0 Td -(select)Tj -/T1_0 1 Tf -0.0833 Tc 3.683 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -[(llow )-66(us )-66(to )-66(perform )-66(I/O )-66(multiplexing.)-565(On)]TJ --0.018 Tc -20.304 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn fr)18(om these functions, we ar)]TJ -0.25 Tc 14.156 0 Td -(et)Tj -0 Tc 1.055 0 Td -(old which descriptors ar)Tj -0.25 Tc 10.744 0 Td -(er)Tj -0 Tc 1.106 0 Td -(eady for I/O.)Tj -7.9995 0 0 7.9995 183.5886 165.99 Tm -[(POSIX )-110(speci\336es )-110(that)]TJ -/TT0 1 Tf -9.479 0 Td -()Tj -/T1_0 1 Tf -8.76 0 Td -[(be )-110(included )-110(to )-110(pull )-110(the )-110(information )-110(for)]TJ -/TT0 1 Tf -18.056 0 Td -(select)Tj -/T1_0 1 Tf -3.96 0 Td -(into)Tj --40.255 -1.25 Td -[(your )-201(pr)18(ogram. )-451(Older)-451(systems )-201(r)18(equir)]TJ -0.4509 Tc 17.027 0 Td -(et)Tj -0 Tc 1.256 0 Td -[(hat )-201(you )-201(include)]TJ -/TT0 1 Tf -7.767 0 Td -()Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -8.501 0 Td -()Tj -/T1_0 1 Tf -(,)Tj --34.55 -1.25 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -()Tj -/T1_0 1 Tf -0.5 Tc (.C)Tj -0 Tc 7.459 0 Td -(heck the)Tj -/TT0 1 Tf -3.948 0 Td -(select)Tj -/T1_0 1 Tf -3.85 0 Td -(manual page to see what your system supports.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47339 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1.5)]TJ -36.446 0 Td -[(Input )-250(and )-250(Output)]TJ -/T1_1 1 Tf -10.387 0 Td -(9)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.783 TD -[(#define BUFFSIZE)-2400(4096)]TJ -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-2400(n;)]TJ -0 -1.189 TD -[(char )-1800(buf[BUFFSIZE];)]TJ -0 -1.783 TD -(while \(\(n = read\(STDIN_FILENO, buf, BUFFSIZE\)\) > 0\))Tj -2.4 -1.189 Td -(if \(write\(STDOUT_FILENO, buf, n\) != n\))Tj -2.4 -1.189 Td -(err_sys\("write error"\);)Tj --4.8 -1.783 Td -(if \(n < 0\))Tj -2.4 -1.189 Td -(err_sys\("read error"\);)Tj --2.4 -1.783 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4888.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 232.5761 472.7913 Tm -(Figure 1.4)Tj -/T1_0 1 Tf -5.195 0 Td -(Copy standar)Tj -0.25 Tc 5.982 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput to standar)Tj -0.25 Tc 6.804 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput)Tj -9.9988 0 0 9.9988 129.5844 448.7941 Tm -(The)Tj -/TT0 1 Tf -1.983 0 Td -()Tj -/T1_0 1 Tf -6.309 0 Td -(header)Tj -0.3093 Tc 2.972 0 Td -(,i)Tj -0 Tc 0.85 0 Td -[(ncluded )-59(by)]TJ -/TT0 1 Tf -5.349 0 Td -(apue.h)Tj -/T1_0 1 Tf -0.3093 Tc (,a)Tj -0 Tc 4.659 0 Td -[(nd )-59(the )-59(two )-59(constants)]TJ -/TT0 1 Tf -9.677 0 Td -(STDIN_FILENO)Tj -/T1_0 1 Tf --31.8 -1.2 Td -(and)Tj -/TT0 1 Tf -2.128 0 Td -(STDOUT_FILENO)Tj -/T1_0 1 Tf -8.235 0 Td -(ar)Tj -0.4351 Tc 0.877 0 Td -(ep)Tj -0 Tc 1.515 0 Td -[(art )-185(of )-185(the )-185(POSIX )-185(standar)]TJ -0.4352 Tc 11.466 0 Td -(d\()Tj -0 Tc 1.379 0 Td -[(about )-185(which )-185(we\325ll )-185(have )-185(a )-185(lot)]TJ --25.601 -1.2 Td -[(mor)18(e)-302(to)-302(say )-52(in )-52(the )-52(next )-52(chapter\).)-551(This )-52(header )-52(contains )-52(function )-52(pr)18(ototypes )-52(for )-52(many )-52(of)]TJ --0 -1.2 Td -(the UNIX system services, such as the)Tj -/TT0 1 Tf -16.957 0 Td -(read)Tj -/T1_0 1 Tf -2.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(write)Tj -/T1_0 1 Tf -3.25 0 Td -(functions that we call.)Tj --23 -1.2 Td -[(The )-135(constants)]TJ -/TT0 1 Tf -6.599 0 Td -(STDIN_FILENO)Tj -/T1_0 1 Tf -7.585 0 Td -(and)Tj -/TT0 1 Tf -2.078 0 Td -(STDOUT_FILENO)Tj -/T1_0 1 Tf -8.185 0 Td -(ar)Tj -0.3854 Tc 0.877 0 Td -(ed)Tj -0 Tc 1.475 0 Td -[(e\336ned )-135(in)]TJ -/TT0 1 Tf -4.4 0 Td -()Tj -/T1_0 1 Tf --33 -1.2 Td -[(and )-109(specify )-109(the )-109(\336le )-109(descriptors )-109(for )-109(standar)]TJ -0.3587 Tc 19.266 0 Td -(di)Tj -0 Tc 1.261 0 Td -[(nput )-109(and )-109(standar)]TJ -0.3587 Tc 7.842 0 Td -(do)Tj -0 Tc 1.516 0 Td -[(utput. )-359(These)-358(values)]TJ --29.885 -1.2 Td -(ar)Tj -0.2611 Tc 0.877 0 Td -(e0a)Tj -0 Tc 2.001 0 Td -[(nd )-11(1, )-11(r)18(espectively)111(,)-261(as)-261(r)18(equir)18(ed )-11(by )-11(POSIX.1, )-11(but )-11(we\325ll )-11(use )-11(the )-11(names )-11(for )-11(r)16(eadability)111(.)]TJ --1.078 -1.2 Td -[(In )-87(Section )-87(3.9, )-87(we\325ll )-87(examine )-87(the)]TJ -/TT0 1 Tf -14.927 0 Td -(BUFFSIZE)Tj -/T1_0 1 Tf -5.137 0 Td -[(constant )-87(in )-87(detail, )-87(seeing )-87(how )-87(various)]TJ --21.864 -1.2 Td -[(values )-176(af)18(fect )-176(the )-176(ef)18(\336ciency )-176(of )-176(the )-176(pr)17(ogram. )-426(Regar)18(dless )-176(of )-176(the )-176(value )-176(of )-176(this )-176(constant,)]TJ -0 -1.2 Td -(however)Tj -0.25 Tc 3.806 0 Td -(,t)Tj -0 Tc 0.826 0 Td -[(his pr)18(ogram still copies any r)18(egular \336le.)]TJ --2.832 -1.2 Td -(The)Tj -/TT0 1 Tf -1.957 0 Td -(read)Tj -/T1_0 1 Tf -2.683 0 Td -[(function )-33(r)18(eturns )-33(the )-33(number )-33(of )-33(bytes )-33(that )-33(ar)]TJ -0.2827 Tc 19.582 0 Td -(er)Tj -0 Tc 1.139 0 Td -[(ead, )-33(and )-33(this )-33(value )-33(is )-33(used)]TJ --27.16 -1.2 Td -[(as )-104(the )-104(number )-104(of )-104(bytes )-104(to )-104(write.)-604(When )-104(the )-104(end )-104(of )-104(the )-104(input )-104(\336le )-104(is )-104(encounter)21(ed,)]TJ -/TT0 1 Tf -36.6 0 Td -(read)Tj -/T1_0 1 Tf --0.018 Tc -36.6 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-92(0 )-92(and )-92(the )-92(pr)16(ogram )-92(stops.)-592(If )-92(a )-92(r)18(ead )-92(err)18(or )-92(occurs,)]TJ -/TT0 1 Tf -24.79 0 Td -(read)Tj -/T1_0 1 Tf --0.018 Tc 2.742 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -/TT1 1 Tf -2.672 0 Td -(!)Tj -/T1_0 1 Tf -[(1. )-342(Most)-343(of )-92(the)]TJ --31.916 -1.2 Td -[(system functions r)18(eturn)]TJ -/TT1 1 Tf -10.735 0 Td -(!)Tj -/T1_0 1 Tf -0.25 Tc (1w)Tj -0 Tc 2.133 0 Td -[(hen an err)18(or occurs.)]TJ --11.068 -1.2 Td -[(If we compile the pr)18(ogram into the standar)]TJ -0.25 Tc 18.965 0 Td -(dn)Tj -0 Tc 1.443 0 Td -(ame \()Tj -/TT0 1 Tf -(a.out)Tj -/T1_0 1 Tf -0.25 Tc (\)a)Tj -0 Tc 6.528 0 Td -(nd execute it as)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5817 265.1861 Tm -(./a.out > data)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5838 248.258 Tm -(standar)Tj -0.4973 Tc 3.32 0 Td -(di)Tj -0 Tc 1.399 0 Td -[(nput )-247(is )-247(the )-247(terminal, )-247(standar)]TJ -0.4973 Tc 13.52 0 Td -(do)Tj -0 Tc 1.654 0 Td -[(utput )-247(is )-247(r)17(edir)18(ected )-247(to )-247(the )-247(\336le)]TJ -/TT0 1 Tf -14.266 0 Td -(data)Tj -/T1_0 1 Tf -0.4974 Tc (,a)Tj -0 Tc 3.647 0 Td -(nd)Tj --37.807 -1.2 Td -(standar)Tj -0.2721 Tc 3.32 0 Td -(de)Tj -0 Tc 1.362 0 Td -[(rr)18(or )-22(is )-22(also )-22(the )-22(terminal.)-522(If )-22(this )-22(output )-22(\336le )-22(doesn\325t )-22(exist, )-22(the )-22(shell )-22(cr)17(eates )-22(it )-22(by)]TJ --4.682 -1.2 Td -[(default. )-268(The)-267(pr)18(ogram )-18(copies )-18(lines )-18(that )-18(we )-18(type )-18(to )-18(the )-18(standar)]TJ -0.2676 Tc 27.291 0 Td -(do)Tj -0 Tc 1.425 0 Td -[(utput )-18(until )-18(we )-18(type )-18(the)]TJ --28.716 -1.2 Td -[(end-of-\336le character \(usually Contr)18(ol)]TJ -16.385 0.09 Td -(-)Tj -0.333 -0.09 Td -(D\).)Tj --14.918 -1.2 Td -[(If we r)8(un)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5815 184.6359 Tm -(./a.out < infile > outfile)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5836 167.7079 Tm -(then the \336le named)Tj -/TT0 1 Tf -8.786 0 Td -(infile)Tj -/T1_0 1 Tf -3.85 0 Td -(will be copied to the \336le named)Tj -/TT0 1 Tf -14.15 0 Td -(outfile)Tj -/T1_0 1 Tf -(.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1677.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 147.5734 143.7021 Tm -[(In Chapter 3, we describe the unbuf)18(fer)18(ed I/O functions in mor)]TJ -0.25 Tc 27.611 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(etail.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47340 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(5.6)]TJ -29.496 0 Td -[(Reading )-250(and )-250(W)74(riting )-250(a )-250(Str)18(eam)]TJ -/T1_1 1 Tf -16.337 0 Td -(151)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(The )-179(function)]TJ -/TT0 1 Tf -6.239 0 Td -(getchar)Tj -/T1_0 1 Tf -4.629 0 Td -[(is )-179(de\336ned )-179(to )-179(be )-179(equivalent )-179(to)]TJ -/TT0 1 Tf -14.109 0 Td -(getc\(stdin\))Tj -/T1_0 1 Tf -0.6791 Tc (.T)Tj -0 Tc 8.142 0 Td -[(he )-179(dif)18(fer)18(ence)]TJ --33.12 -1.2 Td -(between)Tj -/TT0 1 Tf -4.001 0 Td -(getc)Tj -/T1_0 1 Tf -2.669 0 Td -(and)Tj -/TT0 1 Tf -1.962 0 Td -(fgetc)Tj -/T1_0 1 Tf -3.269 0 Td -[(is )-19(that)]TJ -/TT0 1 Tf -2.987 0 Td -(getc)Tj -/T1_0 1 Tf -2.669 0 Td -[(can )-19(be )-19(implemented )-19(as )-19(a )-19(macr)18(o, )-19(wher)19(eas)]TJ -/TT0 1 Tf -18.444 0 Td -(fgetc)Tj -/T1_0 1 Tf --36 -1.2 Td -[(cannot be implemented as a macr)18(o. )-250(This)-250(means thr)18(ee things.)]TJ -1.8 -1.92 Td -[(1. )-633(The)-306(ar)18(gument )-56(to)]TJ -/TT0 1 Tf -9.404 0 Td -(getc)Tj -/T1_0 1 Tf -2.706 0 Td -[(should )-56(not )-56(be )-56(an )-56(expr)16(ession )-56(with )-56(side )-56(ef)18(fects, )-56(because )-56(it)]TJ --10.478 -1.2 Td -(could be evaluated mor)Tj -0.25 Tc 10.437 0 Td -(et)Tj -0 Tc 1.055 0 Td -(han once.)Tj --13.125 -1.6 Td -[(2. )-633(Since)]TJ -/TT0 1 Tf -4.216 0 Td -(fgetc)Tj -/T1_0 1 Tf -3.263 0 Td -[(is )-13(guaranteed )-13(to )-13(be )-13(a )-13(function, )-13(we )-13(can )-13(take )-13(its )-13(addr)22(ess. )-263(This)-262(allows)]TJ --5.846 -1.2 Td -[(us to pass the addr)18(ess of)]TJ -/TT0 1 Tf -11.04 0 Td -(fgetc)Tj -/T1_0 1 Tf -3.25 0 Td -[(as an ar)18(gument to another function.)]TJ --15.923 -1.6 Td -[(3. )-633(Calls)-282(to)]TJ -/TT0 1 Tf -5.285 0 Td -(fgetc)Tj -/T1_0 1 Tf -3.282 0 Td -[(pr)18(obably )-32(take )-32(longer )-32(than )-32(calls )-32(to)]TJ -/TT0 1 Tf -15.193 0 Td -(getc)Tj -/T1_0 1 Tf -[(,)-282(as)-282(it)-282(u)-1(sually )-32(takes )-32(mor)18(e)]TJ --22.127 -1.2 Td -(time to call a function.)Tj --1.633 -2.04 Td -[(These )-52(thr)18(ee )-52(functions )-52(r)18(eturn )-52(the )-52(next )-52(character )-52(as )-52(an)]TJ -/TT0 1 Tf -23.794 0 Td -[(unsigned )298(char)]TJ -/T1_0 1 Tf -7.805 0 Td -[(converted )-52(to)]TJ --33.399 -1.2 Td -(an)Tj -/TT0 1 Tf -1.399 0 Td -(int)Tj -/T1_0 1 Tf -0.5667 Tc (.T)Tj -0 Tc 3.23 0 Td -[(he )-67(r)18(eason )-67(for )-67(specifying )-67(unsigned )-67(is )-67(so )-67(that )-67(the )-67(high-or)21(der )-67(bit, )-67(if )-67(set, )-67(doesn\325t)]TJ --4.628 -1.2 Td -[(cause )-64(the )-64(r)18(eturn )-64(value )-64(to )-64(be )-64(negative.)-566(The )-64(r)18(eason )-64(for )-64(r)18(equiring )-64(an )-64(integer )-64(r)18(eturn )-64(value)]TJ -0 -1.2 TD -[(is )-144(so )-144(that )-144(all )-144(possible )-144(character )-144(values )-144(can )-144(be )-144(r)18(eturned, )-144(along )-144(with )-144(an )-144(indication )-144(that)]TJ -T* -[(either )-106(an )-106(err)18(or )-106(occurr)18(ed )-106(or )-106(the )-106(end )-106(of )-106(\336le )-106(has )-106(been )-106(encounter)20(ed. )-356(The)-356(constant)]TJ -/TT0 1 Tf -35.971 0 Td -(EOF)Tj -/T1_0 1 Tf -2.156 0 Td -(in)Tj -/TT0 1 Tf --38.127 -1.2 Td -()Tj -/T1_0 1 Tf -5.661 0 Td -[(is )-11(r)18(equir)18(ed )-11(to )-11(be )-11(a )-11(negative )-11(value.)-511(Its )-11(value )-11(is )-11(often)]TJ -/TT1 1 Tf -22.989 0 Td -(!)Tj -/T1_0 1 Tf -[(1. )-261(This)]TJ --0.018 Tc 3.981 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(pr)18(esentation)]TJ --33.487 -1.2 Td -[(also )-281(means )-281(that )-281(we )-281(cannot )-281(stor)]TJ -0.5306 Tc 14.982 0 Td -(et)Tj -0 Tc 1.336 0 Td -[(he )-281(r)18(eturn )-281(value )-281(fr)19(om )-281(these )-281(thr)18(ee )-281(functions )-281(in )-281(a)]TJ --16.318 -1.2 Td -(character variable and later compar)Tj -0.25 Tc 15.674 0 Td -(et)Tj -0 Tc 1.055 0 Td -(his value with the constant)Tj -/TT0 1 Tf -12.135 0 Td -(EOF)Tj -/T1_0 1 Tf -(.)Tj --27.064 -1.2 Td -[(Note )-49(that )-49(these )-49(functions )-49(r)18(eturn )-49(the )-49(same )-49(value )-49(whether )-49(an )-49(err)18(or )-49(occurs )-49(or )-49(the )-49(end)]TJ --1.8 -1.2 Td -[(of )-24(\336le )-24(is )-24(r)17(eached. )-274(T)]TJ -0.2745 Tc 8.56 0 Td -(od)Tj -0 Tc 1.431 0 Td -[(istinguish )-24(between )-24(the )-24(two, )-24(we )-24(must )-24(call )-24(either)]TJ -/TT0 1 Tf -21.268 0 Td -(ferror)Tj -/T1_0 1 Tf -3.875 0 Td -(or)Tj -/TT0 1 Tf -1.216 0 Td -(feof)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5904 411.4753 Tm -(#include )Tj -0 -2.021 TD -(int ferror\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj --0 -2.021 Td -(int feof\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -10.531 -2.021 Td -[(Both r)18(eturn: nonzer)]TJ -0.25 Tc 8.643 0 Td -(o\()Tj -0 Tc 1.129 0 Td -[(tr)8(ue\) if condition is tr)8(ue, 0 \(false\) otherwise)]TJ -/TT0 1 Tf --20.303 -2.021 Td -(void clearerr\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3342.25 cm -0 0 m -0 863 l -3900 863 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 319.5017 Tm -(In most implementations, two \337ags ar)Tj -0.25 Tc 16.753 0 Td -(em)Tj -0 Tc 1.612 0 Td -[(aintained for each str)18(eam in the)]TJ -/TT0 1 Tf -14.19 0 Td -(FILE)Tj -/T1_0 1 Tf -2.65 0 Td -(object:)Tj -0.75 Tc -33.405 -1.8 Td -(\245A)Tj -0.25 Tc 2.134 0 Td -(ne)Tj -0 Tc 1.311 0 Td -[(rr)18(or \337ag)]TJ -0.75 Tc -3.445 -1.2 Td -(\245A)Tj -0.25 Tc 2.134 0 Td -(ne)Tj -0 Tc 1.311 0 Td -(nd-of-\336le \337ag)Tj --5.245 -1.8 Td -(Both \337ags ar)Tj -0.25 Tc 5.53 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(lear)18(ed by calling)]TJ -/TT0 1 Tf -7.551 0 Td -(clearerr)Tj -/T1_0 1 Tf -(.)Tj --12.454 -1.2 Td -[(After r)18(eading fr)18(om a str)18(eam, we can push back characters by calling)]TJ -/TT0 1 Tf -30.24 0 Td -(ungetc)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5821 241.6114 Tm -(#include )Tj -0 -2.021 TD -(int ungetc\(int)Tj -/T1_2 1 Tf -9 0 Td -(c)Tj -/TT0 1 Tf -0.6 Tc (,F)Tj -0 Tc 2.207 0 Td -(ILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -14.986 -2.021 Td -(Returns:)Tj -/T1_2 1 Tf -3.977 0 Td -(c)Tj -/T1_0 1 Tf -0.657 0 Td -(if OK,)Tj -/TT0 1 Tf -2.886 0 Td -(EOF)Tj -/T1_0 1 Tf -2.05 0 Td -[(on err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2007.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 186.0265 Tm -[(The )-55(characters )-55(that )-55(ar)]TJ -0.3055 Tc 9.691 0 Td -(ep)Tj -0 Tc 1.386 0 Td -[(ushed )-55(back )-55(ar)]TJ -0.3054 Tc 6.24 0 Td -(er)Tj -0 Tc 1.161 0 Td -[(eturned )-55(by )-55(subsequent )-55(r)18(eads )-55(on )-55(the )-55(str)18(eam )-55(in)]TJ --0.018 Tc -18.477 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(verse )-225(or)18(der )-225(of )-225(their )-225(pushing.)-724(Be )-225(awar)18(e, )-225(however)]TJ -0.4748 Tc 23 0 Td -(,t)Tj -0 Tc 1.051 0 Td -[(hat )-225(although )-225(ISO )-225(C )-225(allows )-225(an)]TJ --24.907 -1.2 Td -[(implementation )-77(to )-77(support )-77(any )-77(amount )-77(of )-77(pushback, )-77(an )-77(implementation )-77(is )-77(r)19(equir)18(ed )-77(to)]TJ -0 -1.2 TD -[(pr)18(ovide )-3(only )-3(a )-3(single )-3(character )-3(of )-3(pushback.)]TJ --0.092 Tc 20.048 0 Td -[(We )-187(s)]TJ -0 Tc 2.064 0 Td -[(hould )-3(not )-3(count )-3(on )-3(mor)]TJ -0.2534 Tc 10.535 0 Td -(et)Tj -0 Tc 1.058 0 Td -[(han )-3(a )-3(single)]TJ --33.706 -1.2 Td -[(character)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47341 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(5.8)]TJ -32.745 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Ef)18(\336ciency)]TJ -/T1_1 1 Tf -8.219 0 Td -(155)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1586.25 6670.25 cm -0 0 m -3320 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 286.7268 658.9605 Tm -[(User CPU)-1500(System CPU)-1500(Clock time)-2615(Bytes of)]TJ -0.121 -1.25 Td -[(\(seconds\) )-2049(\(seconds\))-2479(\(seconds\) )-1549(pr)18(ogram text)]TJ --10.594 0.625 Td -(Function)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1586.25 6450.25 cm -0 0 m -3320 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1586.25 6430.25 cm -0 0 m -3320 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 162.5885 634.9238 Tm -[(best time fr)18(om Figur)]TJ -0.25 Tc 9.033 0 Td -(e3)Tj -0 Tc 1.229 0 Td -(.6 )Tj -7.088 0 Td -[(0.05)-4726(0.29 )-4654(3.18)]TJ -/TT0 1 Tf --17.35 -1.25 Td -(fgets)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.85 0 Td -(fputs)Tj -/T1_0 1 Tf -13.501 0 Td -[(2.27 )-4475(0.30)-4905(3.49 )-4390(143)]TJ -/TT0 1 Tf --17.35 -1.25 Td -(getc)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.25 0 Td -(putc)Tj -/T1_0 1 Tf -14.101 0 Td -[(8.45 )-4475(0.29)-4405(10.33 )-4445(1)55(14)]TJ -/TT0 1 Tf --17.351 -1.25 Td -(fgetc)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.85 0 Td -(fputc)Tj -/T1_0 1 Tf -13.501 0 Td -[(8.16 )-4475(0.40)-4405(10.18 )-4445(1)55(14)]TJ --17.351 -1.25 Td -[(single byte time fr)18(om Figur)]TJ -0.25 Tc 12.038 0 Td -(e3)Tj -0 Tc 1.229 0 Td -[(.6 )-2083(134.61)-3726(249.94 )-3654(394.95)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1586.25 5910.25 cm -0 0 m -3320 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4345.25 5910.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3843.25 5910.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3281.25 5910.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2807.25 5910.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4906.25 5910.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1586.25 5910.25 cm -0 0 m -0 760 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 227.4631 572.8969 Tm -(Figure 5.6)Tj -/T1_0 1 Tf --0.055 Tc 5.195 0 Td -(Ti)Tj -0 Tc 0.849 0 Td -[(ming r)18(esults using standar)]TJ -0.25 Tc 11.762 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O r)18(outines)]TJ -9.9982 0 0 9.9982 129.5772 544.102 Tm -[(time )-57(version )-57(is )-57(executed )-57(3,144,984 )-57(times.)-557(In )-57(the)]TJ -/TT0 1 Tf -21.576 0 Td -(read)Tj -/T1_0 1 Tf -2.707 0 Td -[(version, )-57(its )-57(loop )-57(is )-57(executed )-57(only)]TJ --24.282 -1.2 Td -[(25,224 )-116(times )-116(\(for )-116(a )-116(buf)18(fer )-116(size )-116(of )-116(4,096\).)-616(This )-116(dif)20(fer)18(ence )-116(in )-116(clock )-116(times )-116(stems )-116(fr)18(om )-116(the)]TJ --0 -1.2 Td -[(dif)18(fer)18(ence )-295(in )-295(user )-295(times )-295(and )-295(the )-295(dif)17(fer)18(ence )-295(in )-295(the )-295(times )-295(spent )-295(waiting )-295(for )-295(I/O )-295(to)]TJ --0 -1.2 Td -(complete, as the system times ar)Tj -0.25 Tc 14.232 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(omparable.)Tj --13.605 -1.2 Td -[(The )-276(system )-276(CPU )-276(time )-276(is )-276(about )-276(the )-276(same )-276(as )-276(befor)18(e, )-276(because )-276(r)18(oughly )-276(the )-276(same)]TJ --1.8 -1.2 Td -[(number )-99(of )-99(kernel )-99(r)18(equests )-99(ar)]TJ -0.3488 Tc 13.1 0 Td -(eb)Tj -0 Tc 1.381 0 Td -[(eing )-99(made.)-599(One )-99(advantage )-99(of )-99(using )-99(the )-99(standar)]TJ -0.3488 Tc 21.831 0 Td -(dI)Tj -0 Tc 1.297 0 Td -(/O)Tj --0.018 Tc -37.608 -1.2 Td -(ro)Tj -0 Tc 0.923 0 Td -[(utines )-139(is )-139(that )-139(we )-139(don\325t )-139(have )-139(to )-139(worry )-139(about )-139(buf)18(fering )-139(or )-139(choosing )-139(the )-139(optimal )-139(I/O)]TJ --0.923 -1.2 Td -[(size. )-307(W)92(e)-307(do)-307(h)1(ave )-57(to )-57(determine )-57(the )-57(maximum )-57(line )-57(size )-57(for )-57(the )-57(version )-57(that )-57(uses)]TJ -/TT0 1 Tf -35.75 0 Td -(fgets)Tj -/T1_0 1 Tf -(,)Tj --35.75 -1.2 Td -(but that\325s easier than trying to choose the optimal I/O size.)Tj -1.8 -1.2 Td -[(The )-115(\336nal )-115(column )-115(in )-115(Figur)]TJ -0.3651 Tc 11.717 0 Td -(e5)Tj -0 Tc 1.344 0 Td -[(.6 )-115(is )-115(the )-115(number )-115(of )-115(bytes )-115(of )-115(text )-115(space)]TJ -0.0833 Tc 17.542 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(he )-115(machine)]TJ --33.813 -1.2 Td -[(instr)8(uctions )-73(generated )-73(by )-73(the )-73(C )-73(compiler)]TJ -0.0833 Tc 18.464 0 Td -(\321f)Tj -0 Tc 1.416 0 Td -[(or )-73(each )-73(of )-73(the)]TJ -/TT0 1 Tf -6.503 0 Td -(main)Tj -/T1_0 1 Tf -2.723 0 Td -[(functions. )-323(W)]TJ -0.3227 Tc 5.862 0 Td -(ec)Tj -0 Tc 1.246 0 Td -[(an )-73(see)]TJ --36.213 -1.2 Td -[(that )-34(the )-34(version )-34(using)]TJ -/TT0 1 Tf -9.996 0 Td -(getc)Tj -/T1_0 1 Tf -2.684 0 Td -(and)Tj -/TT0 1 Tf -1.977 0 Td -(putc)Tj -/T1_0 1 Tf -2.684 0 Td -[(takes )-34(the )-34(same )-34(amount )-34(of )-34(space )-34(as )-34(the )-34(one )-34(using)]TJ --17.342 -1.2 Td -(the)Tj -/TT0 1 Tf -1.687 0 Td -(fgetc)Tj -/T1_0 1 Tf -3.3 0 Td -(and)Tj -/TT0 1 Tf -1.993 0 Td -(fputc)Tj -/T1_0 1 Tf -3.3 0 Td -[(functions. )-300(Usually)111(,)]TJ -/TT0 1 Tf -8.814 0 Td -(getc)Tj -/T1_0 1 Tf -2.7 0 Td -(and)Tj -/TT0 1 Tf -1.993 0 Td -(putc)Tj -/T1_0 1 Tf -2.7 0 Td -(ar)Tj -0.3004 Tc 0.877 0 Td -(ei)Tj -0 Tc 1.07 0 Td -[(mplemented )-50(as )-50(macr)17(os,)]TJ --28.437 -1.2 Td -(but in the GNU C library implementation the macr)Tj -0.25 Tc 22.455 0 Td -(os)Tj -0 Tc 1.22 0 Td -(imply expands to a function call.)Tj --21.875 -1.2 Td -[(The )-173(version )-173(using )-173(line-at-a-time )-173(I/O )-173(is )-173(almost )-173(twice )-173(as )-173(fast )-173(as )-173(the )-173(version )-173(using)]TJ --1.8 -1.2 Td -[(character)18(-at-a-time )-232(I/O.)-732(If )-232(the)]TJ -/TT0 1 Tf -14.566 0 Td -(fgets)Tj -/T1_0 1 Tf -3.482 0 Td -(and)Tj -/TT0 1 Tf -2.175 0 Td -(fputs)Tj -/T1_0 1 Tf -3.482 0 Td -[(functions )-232(ar)]TJ -0.4822 Tc 5.49 0 Td -(ei)Tj -0 Tc 1.252 0 Td -[(mplemented )-232(using)]TJ -/TT0 1 Tf --30.448 -1.2 Td -(getc)Tj -/T1_0 1 Tf -2.7 0 Td -(and)Tj -/TT0 1 Tf -1.993 0 Td -(putc)Tj -/T1_0 1 Tf -2.7 0 Td -[(\(see )-50(Section )-50(7.7 )-50(of )-50(Kernighan )-50(and )-50(Ritchie)]TJ -18.603 0.04 Td -([)Tj -0.333 -0.04 Td -(1988)Tj -2 0.04 Td -(])Tj -0.2999 Tc 0.333 -0.04 Td -(,f)Tj -0 Tc 0.883 0 Td -[(or )-50(example\), )-50(then )-50(we)]TJ --29.545 -1.2 Td -[(would )-93(expect )-93(the )-93(timing )-93(to )-93(be )-93(similar )-93(to )-93(the)]TJ -/TT0 1 Tf -20.376 0 Td -(getc)Tj -/T1_0 1 Tf -2.744 0 Td -[(version. )-344(Actually)111(,)-344(we)-344(m)1(ight )-94(expect)]TJ --23.119 -1.2 Td -[(the )-44(line-at-a-time )-44(version )-44(to )-44(take )-44(longer)]TJ -0.2943 Tc 17.596 0 Td -(,s)Tj -0 Tc 0.968 0 Td -[(ince )-44(we )-44(would )-44(be )-44(adding )-44(the )-44(over)16(head )-44(of )-44(200)]TJ --18.564 -1.2 Td -[(million )-69(extra )-69(function )-69(calls )-69(to )-69(the )-69(existing )-69(6 )-69(million )-69(ones.)-569(What )-69(is )-69(happening )-69(with )-69(this)]TJ -0 -1.2 TD -[(example )-50(is )-50(that )-50(the )-50(line-at-a-time )-50(functions )-50(ar)]TJ -0.2998 Tc 20.339 0 Td -(ei)Tj -0 Tc 1.07 0 Td -[(mplemented )-50(using)]TJ -/TT0 1 Tf -8.67 0 Td -(memccpy)Tj -/T1_0 1 Tf -4.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.5498 Tc 0.333 -0.04 Td -(.O)Tj -0 Tc 1.586 0 Td -(ften,)Tj --37.03 -1.2 Td -(the)Tj -/TT0 1 Tf -1.668 0 Td -(memccpy)Tj -/T1_0 1 Tf -4.481 0 Td -[(function )-31(is )-31(implemented )-31(in )-31(assembly )-31(language )-31(instead )-31(of )-31(C, )-31(for )-31(ef)14(\336ciency)111(.)]TJ --4.35 -1.2 Td -[(The )-50(last )-50(point )-50(of )-50(inter)17(est )-50(with )-50(these )-50(timing )-50(numbers )-50(is )-50(that )-50(the)]TJ -/TT0 1 Tf -28.333 0 Td -(fgetc)Tj -/T1_0 1 Tf -3.3 0 Td -[(version )-50(is )-50(so)]TJ --33.433 -1.2 Td -[(much )-214(faster )-214(than )-214(the)]TJ -/TT0 1 Tf -10.2 0 Td -(BUFFSIZE=1)Tj -/T1_0 1 Tf -6.464 0 Td -[(version )-214(fr)18(om )-214(Figur)]TJ -0.4637 Tc 8.731 0 Td -(e3)Tj -0 Tc 1.443 0 Td -[(.6. )-464(Both)-463(involve )-214(the )-214(same)]TJ --26.838 -1.2 Td -[(number )-118(of )-118(function )-118(calls)]TJ -0.0833 Tc 11.218 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -[(bout )-118(200 )-118(million)]TJ -0.0833 Tc 7.522 0 Td -(\321y)Tj -0 Tc 1.639 0 Td -[(et )-118(the)]TJ -/TT0 1 Tf -2.927 0 Td -(fgetc)Tj -/T1_0 1 Tf -3.368 0 Td -[(version )-118(is )-118(mor)]TJ -0.3677 Tc 6.538 0 Td -(et)Tj -0 Tc 1.173 0 Td -[(han )-118(16)]TJ --35.968 -1.2 Td -[(times )-22(faster )-22(in )-22(terms )-22(of )-22(user )-22(CPU )-22(time )-22(and )-22(almost )-22(39 )-22(times )-22(faster )-22(in )-22(terms )-22(of )-22(clock )-22(time.)]TJ -T* -[(The )-50(dif)18(fer)18(ence )-50(is )-50(that )-50(the )-50(version )-50(using)]TJ -/TT0 1 Tf -17.737 0 Td -(read)Tj -/T1_0 1 Tf -2.7 0 Td -[(executes )-50(200 )-50(million )-50(function )-50(calls, )-50(which)]TJ --20.436 -1.2 Td -[(in )-97(turn )-97(execute )-97(200 )-97(million )-97(system )-97(calls.)]TJ --0.055 Tc 18.748 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-97(the)]TJ -/TT0 1 Tf -2.988 0 Td -(fgetc)Tj -/T1_0 1 Tf -3.347 0 Td -[(version, )-97(we )-97(still )-97(execute )-97(200)]TJ --26.319 -1.2 Td -[(million )-62(function )-62(calls, )-62(but )-62(this )-62(translates )-62(into )-62(only )-62(25,224 )-62(system )-62(calls.)-562(System )-62(calls )-62(ar)19(e)]TJ -T* -(usually much mor)Tj -0.25 Tc 8.086 0 Td -(ee)Tj -0 Tc 1.208 0 Td -[(xpensive than or)18(dinary function calls.)]TJ --7.494 -1.2 Td -[(As )-33(a )-33(disclaimer)]TJ -0.2832 Tc 6.803 0 Td -(,y)Tj -0 Tc 1.089 0 Td -[(ou )-33(should )-33(be )-33(awar)]TJ -0.2832 Tc 8.299 0 Td -(et)Tj -0 Tc 1.088 0 Td -[(hat )-33(these )-33(timing )-33(r)18(esults )-33(ar)]TJ -0.2832 Tc 11.561 0 Td -(ev)Tj -0 Tc 1.327 0 Td -[(alid )-33(only )-33(on )-33(the)]TJ --31.967 -1.2 Td -[(single )-65(system )-65(they )-65(wer)]TJ -0.3152 Tc 10.294 0 Td -(er)Tj -0 Tc 1.181 0 Td -[(un )-65(on.)-565(The )-65(r)17(esults )-65(depend )-65(on )-65(many )-65(implementation )-65(featur)18(es)]TJ --11.475 -1.2 Td -[(that )-6(ar)18(en\325t )-6(the )-6(same )-6(on )-6(every )-6(UNIX )-6(system.)-506(Nevertheless, )-6(having )-6(a )-6(set )-6(of )-6(numbers )-6(such)]TJ -T* -[(as )-272(these, )-272(and )-272(explaining )-272(why )-272(the )-272(various )-272(versions )-272(dif)20(fer)]TJ -0.5217 Tc 26.759 0 Td -(,h)Tj -0 Tc 1.354 0 Td -[(elps )-272(us )-272(understand )-272(the)]TJ --28.113 -1.2 Td -[(system )-112(better)]TJ -0.6121 Tc 5.938 0 Td -(.F)Tj --0.018 Tc 1.418 0 Td -(ro)Tj -0.3621 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.571 0 Td -[(his )-112(section )-112(and )-112(Section )-112(3.9, )-112(we\325ve )-112(learned )-112(that )-112(the )-112(standar)]TJ -0.3622 Tc 26.448 0 Td -(dI)Tj -0 Tc 1.31 0 Td -(/O)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47342 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Chapter )-250(3)]TJ -40.288 0 Td -[(Exer)18(cises)]TJ -/T1_1 1 Tf -6.045 0 Td -(91)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -8.9995 0 0 8.9995 129.5922 669.9598 Tm -(3.6)Tj -/T1_0 1 Tf -2.602 0 Td -[(If )-24(you)]TJ -/TT0 1 Tf -2.922 0 Td -(open)Tj -/T1_0 1 Tf -0.2737 Tc 2.674 0 Td -(a\336)Tj -0 Tc 1.379 0 Td -[(le )-24(for )-24(r)18(ead\320write )-24(with )-24(the )-24(append )-24(\337ag, )-24(can )-24(you )-24(still)]TJ -/TT0 1 Tf -23.135 0 Td -(read)Tj -/T1_0 1 Tf -2.674 0 Td -[(fr)18(om )-24(anywher)]TJ -0.2737 Tc 6.323 0 Td -(ei)Tj -0 Tc 1.044 0 Td -(n)Tj --40.149 -1.222 Td -[(the )-195(\336le )-195(using)]TJ -/TT0 1 Tf -6.554 0 Td -(lseek)Tj -/T1_0 1 Tf -0.6954 Tc (?C)Tj -0 Tc 4.848 0 Td -[(an )-195(you )-195(use)]TJ -/TT0 1 Tf -5.629 0 Td -(lseek)Tj -/T1_0 1 Tf -3.445 0 Td -[(to )-195(r)18(eplace )-195(existing )-195(data )-195(in )-195(the )-195(\336le?)]TJ --0.074 Tc 16.891 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-195(a)]TJ --38.69 -1.222 Td -[(pr)18(ogram to verify this.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47343 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.8)]TJ -/TT0 1 Tf -36.403 0 Td -(umask)Tj -/T1_0 1 Tf -3.5 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(105)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(If we r)8(un this pr)18(ogram, we can see how the permission bits have been set.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 655.4709 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(umask)Tj -/T1_2 1 Tf -16.4 0 Td -[(\336rst print the curr)18(ent \336le mode cr)18(eation mask)]TJ -/TT0 1 Tf --17.6 -1.189 Td -(002)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l foo bar)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(-rw------- )-600(1)-600(sar )]TJ -18 0 Td -[(0)-600(Dec )-600(7)-600(21:20 bar)]TJ --18 -1.189 Td -[(-rw-rw-rw- )-600(1)-600(sar )]TJ -18 0 Td -[(0)-600(Dec )-600(7)-600(21:20 foo)]TJ --18 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(umask)Tj -/T1_2 1 Tf -16.4 0 Td -[(see if the \336le mode cr)18(eation mask changed)]TJ -/TT0 1 Tf --17.6 -1.189 Td -(002)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5746.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 555.3434 Tm -[(Most )-130(users )-130(of )-130(UNIX )-130(systems )-130(never )-130(deal )-130(with )-130(their)]TJ -/TT0 1 Tf -23.485 0 Td -(umask)Tj -/T1_0 1 Tf -3.38 0 Td -[(value. )-380(It)-381(is )-130(usually )-130(set)]TJ --28.665 -1.2 Td -[(once, )-227(on )-227(login, )-227(by )-227(the )-227(shell\325s )-227(start-up )-227(\336le, )-227(and )-227(never )-227(changed.)-727(Nevertheless, )-227(when)]TJ -0 -1.2 TD -[(writing )-321(pr)18(ograms )-321(that )-321(cr)17(eate )-321(new )-321(\336les, )-321(if )-321(we )-321(want )-321(to )-321(ensur)]TJ -0.5714 Tc 29.07 0 Td -(et)Tj -0 Tc 1.376 0 Td -[(hat )-321(speci\336c )-321(access)]TJ --30.446 -1.2 Td -[(permission )-205(bits )-205(ar)]TJ -0.4555 Tc 8.298 0 Td -(ee)Tj -0 Tc 1.414 0 Td -[(nabled, )-205(we )-205(must )-205(modify )-205(the)]TJ -/TT0 1 Tf -13.7 0 Td -(umask)Tj -/T1_0 1 Tf -3.455 0 Td -[(value )-205(while )-205(the )-205(pr)18(ocess )-205(is)]TJ --0.008 Tc -26.866 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning. )-327(For)-327(example, )-77(if )-77(we )-77(want )-77(to )-77(ensur)]TJ -0.3269 Tc 18.393 0 Td -(et)Tj -0 Tc 1.132 0 Td -[(hat )-77(anyone )-77(can )-77(r)18(ead )-77(a )-77(\336le, )-77(we )-77(should )-77(set)]TJ --20.515 -1.2 Td -(the)Tj -/TT0 1 Tf -1.876 0 Td -(umask)Tj -/T1_0 1 Tf -3.489 0 Td -[(to )-239(0.)-739(Otherwise, )-239(the)]TJ -/TT0 1 Tf -10.063 0 Td -(umask)Tj -/T1_0 1 Tf -3.489 0 Td -[(value )-239(that )-239(is )-239(in )-239(ef)18(fect )-239(when )-239(our )-239(pr)18(ocess )-239(is)]TJ --0.008 Tc -18.918 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning can cause permission bits to be turned of)18(f.)]TJ -0.81 -1.2 Td -[(In )-14(the )-14(pr)18(eceding )-14(example, )-14(we )-14(use )-14(the )-14(shell\325s)]TJ -/TT0 1 Tf -19.816 0 Td -(umask)Tj -/T1_0 1 Tf -3.264 0 Td -[(command )-14(to )-14(print )-14(the )-14(\336le )-14(mode)]TJ --24.881 -1.2 Td -[(cr)18(eation )-116(mask )-116(both )-116(befor)18(e)-366(we)-366(r)8(un )-116(the )-116(pr)18(ogram )-116(and )-116(after )-116(it )-116(completes.)-617(This )-116(shows )-116(us)]TJ -0 -1.2 Td -[(that )-150(changing )-150(the )-150(\336le )-150(mode )-150(cr)18(eation )-150(mask )-150(of )-150(a )-150(pr)18(ocess )-150(doesn\325t )-150(af)18(fect )-150(the )-150(mask )-150(of )-150(its)]TJ -T* -[(par)18(ent )-37(\(often )-37(a )-37(shell\).)-537(All )-37(of )-37(the )-37(shells )-37(have )-37(a )-37(built-in)]TJ -/TT0 1 Tf -24.036 0 Td -(umask)Tj -/T1_0 1 Tf -3.287 0 Td -[(command )-37(that )-37(we )-37(can )-37(use)]TJ --27.323 -1.2 Td -[(to set or print the curr)18(ent \336le mode cr)18(eation mask.)]TJ -1.8 -1.2 Td -[(Users )-108(can )-108(set )-108(the)]TJ -/TT0 1 Tf -8.073 0 Td -(umask)Tj -/T1_0 1 Tf -3.358 0 Td -[(value )-108(to )-108(contr)18(ol )-108(the )-108(default )-108(permissions )-108(on )-108(the )-108(\336les )-108(they)]TJ --13.231 -1.2 Td -[(cr)18(eate. )-316(This)-316(value )-66(is )-66(expr)18(essed )-66(in )-66(octal, )-66(with )-66(one )-66(bit )-66(r)19(epr)18(esenting )-66(one )-66(permission )-66(to )-66(be)]TJ --0 -1.2 Td -[(masked )-349(of)18(f, )-349(as )-349(shown )-349(in )-349(Figur)]TJ -0.5994 Tc 15.042 0 Td -(e4)Tj -0 Tc 1.578 0 Td -[(.10. )-599(Permissions)-600(can )-349(be )-349(denied )-349(by )-349(setting )-349(the)]TJ --16.62 -1.2 Td -[(corr)18(esponding )-320(bits.)-820(Some )-320(common)]TJ -/TT0 1 Tf -17.123 0 Td -(umask)Tj -/T1_0 1 Tf -3.57 0 Td -[(values )-319(ar)]TJ -0.5695 Tc 4.309 0 Td -(e0)Tj -0 Tc 1.549 0 Td -[(02 )-319(to )-319(pr)18(event )-319(others )-319(fr)16(om)]TJ --26.55 -1.2 Td -[(writing )-135(your )-135(\336les, )-135(022 )-135(to )-135(pr)18(event )-135(gr)18(oup )-135(members )-135(and )-135(others )-135(fr)16(om )-135(writing )-135(your )-135(\336les,)]TJ -T* -[(and )-150(027 )-150(to )-150(pr)18(event )-150(gr)18(oup )-150(members )-150(fr)18(om )-150(writing )-150(your )-150(\336les )-150(and )-150(others )-150(fr)18(om )-150(r)14(eading,)]TJ -T* -(writing, or executing your \336les.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2738.25 3266.25 cm -0 0 m -1015 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 277.798 318.5527 Tm -[(Mask bit)-2703(Meaning)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2738.25 3146.25 cm -0 0 m -1015 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2738.25 3126.25 cm -0 0 m -1015 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 283.5639 304.5369 Tm -(0400)Tj -/T1_0 1 Tf -4.623 0 Td -[(user)18(-r)18(ead)]TJ -/TT0 1 Tf --4.623 -1.25 Td -(0200)Tj -/T1_0 1 Tf -4.623 0 Td -[(user)18(-write)]TJ -/TT0 1 Tf --4.623 -1.25 Td -(0100)Tj -/T1_0 1 Tf -4.623 0 Td -[(user)18(-execute)]TJ -/TT0 1 Tf --4.623 -1.25 Td -(0040)Tj -/T1_0 1 Tf -4.623 0 Td -[(gr)18(oup-r)18(ead)]TJ -/TT0 1 Tf --4.623 -1.25 Td -(0020)Tj -/T1_0 1 Tf -4.623 0 Td -[(gr)18(oup-write)]TJ -/TT0 1 Tf --4.623 -1.25 Td -(0010)Tj -/T1_0 1 Tf -4.623 0 Td -[(gr)18(oup-execute)]TJ -/TT0 1 Tf --4.623 -1.25 Td -(0004)Tj -/T1_0 1 Tf -4.623 0 Td -[(other)18(-r)18(ead)]TJ -/TT0 1 Tf --4.623 -1.25 Td -(0002)Tj -/T1_0 1 Tf -4.623 0 Td -[(other)18(-write)]TJ -/TT0 1 Tf --4.623 -1.25 Td -(0001)Tj -/T1_0 1 Tf -4.623 0 Td -[(other)18(-execute)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2738.25 2206.25 cm -0 0 m -1015 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3146.25 2206.25 cm -0 0 m -0 1060 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3753.25 2206.25 cm -0 0 m -0 1060 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2738.25 2206.25 cm -0 0 m -0 1060 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 235.6533 202.5492 Tm -(Figure 4.10)Tj -/T1_0 1 Tf -5.695 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(umask)Tj -/T1_0 1 Tf -3.25 0 Td -(\336le access permission bits)Tj -9.997 0 0 9.997 147.5561 182.1553 Tm -[(The )-390(Single )-390(UNIX )-390(Speci\336cation )-390(r)18(equir)18(es )-390(that )-390(the)]TJ -/TT0 1 Tf -23.835 0 Td -(umask)Tj -/T1_0 1 Tf -3.64 0 Td -[(command )-390(support )-390(a)]TJ --29.275 -1.2 Td -[(symbolic )-208(mode )-208(of )-208(operation.)-708(Unlike )-208(the )-208(octal )-208(format, )-208(the )-208(symbolic )-208(format )-208(speci\336es)]TJ -T* -[(which )-192(permissions )-192(ar)19(e)-442(to)-442(be)-442(a)1(llowed )-192(\(i.e., )-192(clear )-192(in )-192(the )-192(\336le )-192(cr)18(eation )-192(mask\) )-192(instead )-192(of)]TJ --0 -1.2 Td -[(which )-56(ones )-56(ar)17(e)-306(to)-306(be)-306(d)-1(enied )-56(\(i.e., )-56(set )-56(in )-56(the )-56(\336le )-56(cr)18(eation )-56(mask\).)-559(Compar)]TJ -0.3064 Tc 32.135 0 Td -(eb)Tj -0 Tc 1.338 0 Td -[(oth )-56(forms )-56(of)]TJ --33.473 -1.2 Td -[(the command, shown below)92(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47344 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(13.3)]TJ -37.573 0 Td -[(Coding )-250(Rules)]TJ -/T1_1 1 Tf -8.26 0 Td -(467)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 163.9202 668.9599 Tm -[(terminal )-299(device, )-299(ther)18(e)-549(is)-549(nowher)]TJ -0.5488 Tc 15.419 0 Td -(ef)Tj -0 Tc 1.361 0 Td -[(or )-299(output )-299(to )-299(be )-299(displayed, )-299(nor )-299(is )-299(ther)19(e)]TJ --16.78 -1.2 Td -[(anywher)18(e)-413(to)-413(r)18(eceive )-163(input )-163(fr)18(om )-163(an )-163(interactive )-163(user)]TJ -0.663 Tc 23.395 0 Td -(.E)Tj -0 Tc 1.524 0 Td -[(ven )-163(if )-163(the )-163(daemon )-163(was)]TJ --24.919 -1.2 Td -[(started )-24(fr)18(om )-24(an )-24(interactive )-24(session, )-24(the )-24(daemon )-24(r)10(uns )-24(in )-24(the )-24(backgr)18(ound, )-24(and )-24(the)]TJ -0 -1.2 TD -[(login )-78(session )-78(can )-78(terminate )-78(without )-78(af)18(fecting )-78(the )-78(daemon.)-576(If )-78(other )-78(users )-78(log )-78(in)]TJ -T* -[(on )-308(the )-308(same )-308(terminal )-308(device, )-308(we )-308(wouldn\325t )-308(want )-308(output )-308(fr)18(om )-308(the )-308(daemon)]TJ -T* -[(showing )-160(up )-160(on )-160(the )-160(terminal, )-160(and )-160(the )-160(users )-160(wouldn\325t )-160(expect )-160(their )-160(input )-160(to )-160(be)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -(ad by the daemon.)Tj -/TT0 1 Tf --7.889 -2.88 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.3234 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.302 0 Td -[(3.1 )-73(shows )-73(a )-73(function )-73(that )-73(can )-73(be )-73(called )-73(fr)15(om )-73(a )-73(pr)18(ogram )-73(that )-73(wants )-73(to )-73(initialize)]TJ --3.685 -1.2 Td -(itself as a daemon.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5250.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 515.4371 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -1.902 TD -(void)Tj -0 -1.189 TD -(daemonize\(const char *cmd\))Tj -T* -({)Tj -2.4 -1.189 Td -(int )Tj -12 0 Td -[(i,)-600(fd0, fd1, fd2;)]TJ --12 -1.189 Td -(pid_t )Tj -12 0 Td -(pid;)Tj --12 -1.189 Td -[(struct rlimit)-4200(rl;)]TJ -T* -[(struct sigaction)-2400(sa;)]TJ -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(lear file creation mask.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(umask\(0\);)Tj -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*G)Tj -0 Tc 1.8 0 Td -(et maximum number of file descriptors.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(getrlimit\(RLIMIT_NOFILE, &rl\) < 0\))Tj -2.4 -1.189 Td -(err_quit\("%s: can\325t get file limit", cmd\);)Tj --2.4 -1.902 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*B)Tj -0 Tc 1.8 0 Td -(ecome a session leader to lose controlling TTY.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(\(pid = fork\(\)\) < 0\))Tj -2.4 -1.189 Td -(err_quit\("%s: can\325t fork", cmd\);)Tj --2.4 -1.189 Td -(else if \(pid != 0\) /* parent */)Tj -2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(setsid\(\);)Tj -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*E)Tj -0 Tc 1.8 0 Td -(nsure future opens won\325t allocate controlling TTYs.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(sa.sa_handler = SIG_IGN;)Tj -0 -1.189 TD -(sigemptyset\(&sa.sa_mask\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47345 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.4)]TJ -32.736 0 Td -[(Passing )-250(File )-250(Descriptors)]TJ -/T1_1 1 Tf -13.097 0 Td -(651)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -[(#define CREDSTRUCT)-3600(ucred)]TJ -0 -1.189 TD -(#define CR_UID)Tj -14.4 0 Td -(uid)Tj --14.4 -1.189 Td -(#define CREDOPT)Tj -14.4 0 Td -(SO_PASSCRED)Tj --14.4 -1.189 Td -[(#define SCM_CREDTYPE)-2400(SCM_CREDENTIALS)]TJ -T* -(#else)Tj -0 -1.189 TD -(#error passing credentials is unsupported!)Tj -0 -1.189 TD -(#endif)Tj -0 -1.783 TD -(/* size of control buffer to send/recv one file descriptor */)Tj -0 -1.189 TD -[(#define RIGHTSLEN)-1800(CMSG_LEN\(sizeof\(int\)\))]TJ -0 -1.189 TD -[(#define CREDSLEN)-2400(CMSG_LEN\(sizeof\(struct CREDSTRUCT\)\))]TJ -0 -1.189 TD -[(#define CONTROLLEN)-1200(\(RIGHTSLEN + CREDSLEN\))]TJ -0 -1.783 TD -[(static struct cmsghdr)-1800(*cmptr = NULL;)-3600(/* malloc\325ed first time */)]TJ -0 -1.783 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*R)Tj -0 Tc 1.8 0 Td -[(eceive a file descriptor from a server process.)-1200(Also, any data)]TJ -0.6 Tc -1.8 -1.189 Td -(*r)Tj -0 Tc 1.8 0 Td -(eceived is passed to \(*userfunc\)\(STDERR_FILENO, buf, nbytes\).)Tj --1.8 -1.189 Td -[(*)-600(We)-600(have a 2-byte protocol for receiving the fd from send_fd\(\).)]TJ -0 -1.189 TD -(*/)Tj --0.6 -1.189 Td -(int)Tj -T* -(recv_ufd\(int fd, uid_t *uidptr,)Tj -5.4 -1.189 Td -(ssize_t \(*userfunc\)\(int, const void *, size_t\)\))Tj --5.4 -1.189 Td -({)Tj -2.4 -1.189 Td -[(struct cmsghdr)-3600(*cmp;)]TJ -T* -[(struct CREDSTRUCT)-1800(*credp;)]TJ -T* -(char )Tj -12 0 Td -(*ptr;)Tj --12 -1.189 Td -(char )Tj -12 0 Td -(buf[MAXLINE];)Tj --12 -1.189 Td -[(struct iovec)-4800(iov[1];)]TJ -0 -1.189 TD -[(struct msghdr)-4200(msg;)]TJ -0 -1.189 TD -(int )Tj -12 0 Td -(nr;)Tj --12 -1.189 Td -(int )Tj -12 0 Td -(newfd)Tj -0.6 Tc 3.6 0 Td -(=-)Tj -0 Tc 1.8 0 Td -(1;)Tj --17.4 -1.189 Td -(int )Tj -12 0 Td -(status)Tj -0.6 Tc 4.2 0 Td -(=-)Tj -0 Tc 1.8 0 Td -(1;)Tj --20.4 -1.189 Td -(#if defined\(CREDOPT\))Tj -2.4 -1.189 Td -(const int)Tj -12 0 Td -(on = 1;)Tj --12 -1.783 Td -(if \(setsockopt\(fd, SOL_SOCKET, CREDOPT, &on, sizeof\(int\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_ret\("setsockopt error"\);)Tj -T* -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(#endif)Tj -2.4 -1.189 Td -(for \( ; ; \) {)Tj -2.4 -1.189 Td -(iov[0].iov_base = buf;)Tj -0 -1.189 TD -[(iov[0].iov_len )-600(=)-600(sizeof\(buf\);)]TJ -0 -1.189 TD -[(msg.msg_iov )-2400(=)-600(iov;)]TJ -T* -[(msg.msg_iovlen )-600(=)-600(1;)]TJ -T* -[(msg.msg_name )-1800(=)-600(NULL;)]TJ -T* -(msg.msg_namelen = 0;)Tj -T* -(if \(cmptr == NULL && \(cmptr = malloc\(CONTROLLEN\)\) == NULL\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -[(msg.msg_control )-1800(=)-600(cmptr;)]TJ -T* -(msg.msg_controllen = CONTROLLEN;)Tj -0 -1.189 TD -(if \(\(nr = recvmsg\(fd, &msg, 0\)\) < 0\) {)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47346 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.4)]TJ -32.736 0 Td -[(Passing )-250(File )-250(Descriptors)]TJ -/T1_1 1 Tf -13.097 0 Td -(649)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(When )-320(we )-320(transmit )-320(cr)17(edentials, )-320(we )-320(need )-320(to )-320(r)18(eserve )-320(space )-320(only )-320(for )-320(the)]TJ -/TT0 1 Tf -34.2 0 Td -(cmsgcred)Tj -/T1_0 1 Tf --34.2 -1.2 Td -[(str)8(uctur)18(e. )-424(The)-424(kernel )-174(will )-174(\336ll )-174(in )-174(this )-174(str)7(uctur)]TJ -0.4243 Tc 20.775 0 Td -(ef)Tj -0 Tc 1.236 0 Td -[(or )-174(us )-174(to )-174(pr)18(event )-174(an )-174(application )-174(fr)16(om)]TJ --22.011 -1.2 Td -[(pr)18(etending to have a dif)18(fer)18(ent identity)111(.)]TJ -1.8 -1.2 Td -[(On Linux, cr)18(edentials ar)]TJ -0.25 Tc 10.652 0 Td -(et)Tj -0 Tc 1.055 0 Td -(ransmitted as a)Tj -/TT0 1 Tf -6.991 0 Td -(ucred)Tj -/T1_0 1 Tf -3.25 0 Td -[(str)8(uctur)18(e:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5914 617.3329 Tm -(struct ucred {)Tj -2.4 -1.189 Td -[(pid_t )-600(pid; )-600(/*)-600(sender\325s process ID */)]TJ -0 -1.189 TD -[(uid_t )-600(uid; )-600(/*)-600(sender\325s user ID */)]TJ -T* -[(gid_t )-600(gid; )-600(/*)-600(sender\325s group ID */)]TJ --2.4 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5925 556.5365 Tm -[(Unlike )-211(Fr)18(eeBSD, )-211(Linux )-211(r)17(equir)18(es )-211(that )-211(we )-211(initialize )-211(this )-211(str)7(uctur)]TJ -0.4613 Tc 28.913 0 Td -(eb)Tj -0 Tc 1.493 0 Td -(efor)Tj -0.4613 Tc 1.735 0 Td -(et)Tj -0 Tc 1.266 0 Td -(ransmission.)Tj --33.408 -1.2 Td -(The kernel will ensur)Tj -0.2502 Tc 9.379 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(hat applications either use values that corr)18(espond to the caller or)]TJ --10.434 -1.2 Td -[(have the appr)18(opriate privilege to use other values.)]TJ -1.8 -1.2 Td -(Figur)Tj -0.302 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.281 0 Td -[(7.15 )-52(shows )-52(the)]TJ -/TT0 1 Tf -6.853 0 Td -(send_fd)Tj -/T1_0 1 Tf -4.502 0 Td -[(function )-52(updated )-52(to )-52(include )-52(the )-52(cr)18(edentials )-52(of )-52(the)]TJ --16.819 -1.2 Td -[(sending pr)18(ocess.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5013.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 491.81 Tm -(#include "apue.h")Tj -T* -(#include )Tj -0 -1.783 TD -(#if defined\(SCM_CREDS\))Tj -19.2 0 Td -(/* BSD interface */)Tj --19.2 -1.189 Td -[(#define CREDSTRUCT)-3600(cmsgcred)]TJ -0 -1.189 TD -[(#define SCM_CREDTYPE)-2400(SCM_CREDS)]TJ -T* -[(#elif defined\(SCM_CREDENTIALS\))-1200(/* Linux interface */)]TJ -T* -[(#define CREDSTRUCT)-3600(ucred)]TJ -T* -[(#define SCM_CREDTYPE)-2400(SCM_CREDENTIALS)]TJ -T* -(#else)Tj -0 -1.189 TD -(#error passing credentials is unsupported!)Tj -0 -1.189 TD -(#endif)Tj -0 -1.783 TD -(/* size of control buffer to send/recv one file descriptor */)Tj -0 -1.189 TD -[(#define RIGHTSLEN)-1800(CMSG_LEN\(sizeof\(int\)\))]TJ -0 -1.189 TD -[(#define CREDSLEN)-2400(CMSG_LEN\(sizeof\(struct CREDSTRUCT\)\))]TJ -0 -1.189 TD -[(#define CONTROLLEN)-1200(\(RIGHTSLEN + CREDSLEN\))]TJ -0 -1.783 TD -[(static struct cmsghdr)-1800(*cmptr = NULL;)-1200(/* malloc\325ed first time */)]TJ -0 -1.783 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(ass a file descriptor to another process.)Tj --1.8 -1.189 Td -[(*)-600(If)-600(fd<0, then -fd is sent back instead as the error status.)]TJ -0 -1.189 TD -(*/)Tj --0.6 -1.189 Td -(int)Tj -0 -1.189 TD -(send_fd\(int fd, int fd_to_send\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(struct CREDSTRUCT)-1800(*credp;)]TJ -T* -[(struct cmsghdr)-3600(*cmp;)]TJ -T* -[(struct iovec)-4800(iov[1];)]TJ -T* -[(struct msghdr)-4200(msg;)]TJ -T* -(char )Tj -12 0 Td -[(buf[2];)-600(/* send_fd/recv_ufd 2-byte protocol */)]TJ --12 -1.783 Td -(iov[0].iov_base = buf;)Tj -T* -[(iov[0].iov_len )-600(=)-600(2;)]TJ -T* -[(msg.msg_iov )-2400(=)-600(iov;)]TJ -T* -[(msg.msg_iovlen )-600(=)-600(1;)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47347 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1.4)]TJ -35.273 0 Td -[(Files )-250(and )-250(Dir)18(ectories)]TJ -/T1_1 1 Tf -11.56 0 Td -(7)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(the )-126(comments )-126(in)]TJ -/T1_2 1 Tf -7.956 0 Td -(italics)Tj -/T1_0 1 Tf -0.6263 Tc (.T)Tj -0 Tc 3.896 0 Td -[(he )-126(dollar )-126(sign )-126(that )-126(pr)17(ecedes )-126(our )-126(input )-126(is )-126(the )-126(pr)18(ompt )-126(that )-126(is)]TJ --11.852 -1.2 Td -(printed by the shell.)Tj --0.092 Tc 9.348 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll always show the shell pr)18(ompt as a dollar sign.)]TJ --8.935 -1.2 Td -[(Note )-91(that )-91(the )-91(dir)18(ectory )-91(listing )-91(is )-91(not )-91(in )-91(alphabetical )-91(or)14(der)]TJ -0.5914 Tc 25.897 0 Td -(.T)Tj -0 Tc 1.454 0 Td -(he)Tj -/TT0 1 Tf -1.402 0 Td -(ls)Tj -/T1_0 1 Tf -1.541 0 Td -[(command )-91(sorts)]TJ --32.095 -1.2 Td -(the names befor)Tj -0.25 Tc 7.043 0 Td -(ep)Tj -0 Tc 1.33 0 Td -(rinting them.)Tj --6.573 -1.2 Td -(Ther)Tj -0.25 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(m)]TJ -0 Tc 1.989 0 Td -(any details to consider in this 20)Tj -14.2 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line pr)18(ogram.)]TJ -0.883 Tc -21.602 -1.8 Td -(\245F)Tj -0 Tc 2.045 0 Td -[(irst, )-119(we )-119(include )-119(a )-119(header )-119(of )-119(our )-119(own:)]TJ -/TT0 1 Tf -17.437 0 Td -(apue.h)Tj -/T1_0 1 Tf -0.6196 Tc (.W)Tj -0.3696 Tc 5.378 0 Td -(ei)Tj -0 Tc 1.14 0 Td -[(nclude )-120(this )-120(header )-120(in )-120(almost)]TJ --24.51 -1.2 Td -[(every )-28(pr)18(ogram )-28(in )-28(this )-28(text.)-528(This )-28(header )-28(includes )-28(some )-28(standar)]TJ -0.2781 Tc 27.811 0 Td -(ds)Tj -0 Tc 1.313 0 Td -[(ystem )-28(headers )-28(and)]TJ --29.124 -1.2 Td -[(de\336nes )-201(numer)18(ous )-201(constants )-201(and )-201(function )-201(pr)18(ototypes )-201(that )-201(we )-201(use )-201(thr)18(oughout )-201(the)]TJ -0 -1.2 TD -(examples in the text.)Tj -0.25 Tc 9.58 0 Td -(Al)Tj -0 Tc 1.319 0 Td -(isting of this header is in Appendix B.)Tj -0.883 Tc -12.388 -1.84 Td -(\245N)Tj -0 Tc 2.32 0 Td -[(ext, )-20(we )-20(include )-20(a )-20(system )-20(header)73(,)]TJ -/TT0 1 Tf -14.621 0 Td -(dirent.h)Tj -/T1_0 1 Tf -[(,)-270(to)-270(pick )-20(up )-20(the )-20(function )-20(pr)18(ototypes )-20(for)]TJ -/TT0 1 Tf --15.452 -1.2 Td -(opendir)Tj -/T1_0 1 Tf -4.555 0 Td -(and)Tj -/TT0 1 Tf -2.048 0 Td -(readdir)Tj -/T1_0 1 Tf -[(,)-355(in)-355(addition )-105(to )-105(the )-105(de\336nition )-105(of )-105(the)]TJ -/TT0 1 Tf -20.76 0 Td -(dirent)Tj -/T1_0 1 Tf -3.955 0 Td -[(str)8(uctur)18(e. )-355(On)]TJ --31.319 -1.2 Td -[(some )-11(systems, )-11(the )-11(de\336nitions )-11(ar)]TJ -0.2607 Tc 14.142 0 Td -(es)Tj -0 Tc 1.164 0 Td -[(plit )-11(into )-11(multiple )-11(header )-11(\336les.)-511(For )-11(example, )-11(in )-11(the)]TJ --15.306 -1.2 Td -[(Ubuntu )-96(12.04 )-96(Linux )-96(distribution,)]TJ -/TT0 1 Tf -15.173 0 Td -(/usr/include/dirent.h)Tj -/T1_0 1 Tf -12.946 0 Td -[(declar)18(es )-96(the )-96(function)]TJ --28.119 -1.2 Td -[(pr)18(ototypes )-13(and )-13(includes)]TJ -/TT0 1 Tf -10.989 0 Td -(bits/dirent.h)Tj -/T1_0 1 Tf -0.2629 Tc (,w)Tj -0 Tc 9.147 0 Td -[(hich )-13(de\336nes )-13(the)]TJ -/TT0 1 Tf -7.255 0 Td -(dirent)Tj -/T1_0 1 Tf -3.863 0 Td -[(str)8(uctur)]TJ -0.2628 Tc 3.49 0 Td -(e\()Tj -0 Tc 1.075 0 Td -(and)Tj --35.818 -1.2 Td -[(is actually stor)18(ed in)]TJ -/TT0 1 Tf -8.862 0 Td -(/usr/include/x86_64-linux-gnu/bits)Tj -/T1_0 1 Tf -(\).)Tj -0.883 Tc -10.351 -1.84 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-340(declaration )-340(of )-340(the)]TJ -/TT0 1 Tf -10.651 0 Td -(main)Tj -/T1_0 1 Tf -2.99 0 Td -[(function )-340(uses )-340(the )-340(style )-340(supported )-340(by )-340(the )-340(ISO )-340(C)]TJ --14.254 -1.2 Td -[(standar)18(d. )-250(\(W)92(e\325ll have mor)18(e)-250(to)-250(say about the ISO C standar)18(d)-250(in)-250(the next chapter)74(.\))]TJ -0.883 Tc -1.489 -1.84 Td -(\245W)Tj -0.2508 Tc 2.397 0 Td -(et)Tj -0 Tc 1.056 0 Td -[(ake )-1(an )-1(ar)18(gument )-1(fr)18(om )-1(the )-1(command )-1(line,)]TJ -/TT0 1 Tf -18.547 0 Td -(argv[1])Tj -/T1_0 1 Tf -[(,)-251(as)-251(the )-1(name )-1(of )-1(the )-1(dir)19(ectory)]TJ --20.51 -1.2 Td -[(to )-174(list.)-673(In )-174(Chapter )-174(7, )-174(we\325ll )-174(look )-174(at )-174(how )-174(the)]TJ -/TT0 1 Tf -20.489 0 Td -(main)Tj -/T1_0 1 Tf -2.824 0 Td -[(function )-174(is )-174(called )-174(and )-174(how )-174(the)]TJ --23.312 -1.2 Td -(command)Tj -4.449 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line ar)18(guments and envir)18(onment variables ar)]TJ -0.25 Tc 19.883 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(ccessible to the pr)18(ogram.)]TJ -0.883 Tc -27.383 -1.84 Td -(\245B)Tj -0 Tc 2.1 0 Td -[(ecause )-257(the )-257(actual )-257(format )-257(of )-257(dir)18(ectory )-257(entries )-257(varies )-257(fr)20(om )-257(one )-257(UNIX )-257(system )-257(to)]TJ --0.611 -1.2 Td -[(another)74(,)-262(we)-262(use )-12(the )-12(functions)]TJ -/TT0 1 Tf -13.232 0 Td -(opendir)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.712 0 Td -(readdir)Tj -/T1_0 1 Tf -0.2618 Tc (,a)Tj -0 Tc 5.212 0 Td -(nd)Tj -/TT0 1 Tf -1.455 0 Td -(closedir)Tj -/T1_0 1 Tf -5.062 0 Td -[(to )-12(manipulate )-12(the)]TJ --29.672 -1.2 Td -[(dir)18(ectory)111(.)]TJ -0.883 Tc -1.489 -1.84 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.335 0 Td -(opendir)Tj -/T1_0 1 Tf -4.474 0 Td -[(function )-24(r)18(eturns )-24(a )-24(pointer )-24(to )-24(a)]TJ -/TT0 1 Tf -13.629 0 Td -(DIR)Tj -/T1_0 1 Tf -2.074 0 Td -[(str)8(uctur)18(e, )-24(and )-24(we )-24(pass )-24(this )-24(pointer)]TJ --22.124 -1.2 Td -[(to )-104(the)]TJ -/TT0 1 Tf -2.967 0 Td -(readdir)Tj -/T1_0 1 Tf -4.554 0 Td -[(function. )-354(W)]TJ -0.3543 Tc 5.469 0 Td -(ed)Tj -0 Tc 1.444 0 Td -[(on\325t )-104(car)]TJ -0.3543 Tc 3.407 0 Td -(ew)Tj -0 Tc 1.667 0 Td -[(hat\325s )-104(in )-104(the)]TJ -/TT0 1 Tf -5.433 0 Td -(DIR)Tj -/T1_0 1 Tf -2.154 0 Td -[(str)8(uctur)18(e. )-354(W)]TJ -0.3543 Tc 5.731 0 Td -(et)Tj -0 Tc 1.159 0 Td -[(hen )-104(call)]TJ -/TT0 1 Tf --33.988 -1.2 Td -(readdir)Tj -/T1_0 1 Tf -4.572 0 Td -[(in )-122(a )-122(loop, )-122(to )-122(r)18(ead )-122(each )-122(dir)18(ectory )-122(entry)]TJ -0.6224 Tc 17.31 0 Td -(.T)Tj -0 Tc 1.485 0 Td -(he)Tj -/TT0 1 Tf -1.433 0 Td -(readdir)Tj -/T1_0 1 Tf -4.572 0 Td -[(function )-122(r)18(eturns )-122(a)]TJ --29.373 -1.2 Td -[(pointer )-8(to )-8(a)]TJ -/TT0 1 Tf -5.367 0 Td -(dirent)Tj -/T1_0 1 Tf -3.858 0 Td -[(str)8(uctur)]TJ -0.2583 Tc 3.49 0 Td -(eo)Tj --0.074 Tc 1.283 0 Td -[(r, )-156(w)]TJ -0 Tc 1.663 0 Td -[(hen )-8(it\325s )-8(\336nished )-8(with )-8(the )-8(dir)17(ectory)]TJ -0.2583 Tc 15.162 0 Td -(,an)Tj -0 Tc 1.849 0 Td -[(ull )-8(pointer)74(.)]TJ --32.672 -1.2 Td -[(All )-326(we )-326(examine )-326(in )-326(the)]TJ -/TT0 1 Tf -11.542 0 Td -(dirent)Tj -/T1_0 1 Tf -4.176 0 Td -[(str)8(uctur)18(e)-576(is)-576(the )-326(name )-326(of )-326(each )-326(dir)18(ectory )-326(entry)]TJ --15.718 -1.2 Td -(\()Tj -/TT0 1 Tf -(d_name)Tj -/T1_0 1 Tf -[(\). )-386(Using)-386(this )-136(name, )-136(we )-136(could )-136(then )-136(call )-136(the)]TJ -/TT0 1 Tf -23.879 0 Td -(stat)Tj -/T1_0 1 Tf -2.786 0 Td -[(function )-136(\(Section )-136(4.2\) )-136(to)]TJ --26.665 -1.2 Td -(determine all the attributes of the \336le.)Tj -0.883 Tc -1.489 -1.84 Td -(\245W)Tj -0.259 Tc 2.397 0 Td -(ec)Tj -0 Tc 1.182 0 Td -[(all )-9(two )-9(functions )-9(of )-9(our )-9(own )-9(to )-9(handle )-9(the )-9(err)18(ors:)]TJ -/TT0 1 Tf -22.064 0 Td -(err_sys)Tj -/T1_0 1 Tf -4.459 0 Td -(and)Tj -/TT0 1 Tf -1.952 0 Td -(err_quit)Tj -/T1_0 1 Tf -0.509 Tc (.W)Tj -0 Tc 6.467 0 Td -(e)Tj --37.032 -1.2 Td -[(can )-61(see )-61(fr)18(om )-61(the )-61(pr)18(eceding )-61(output )-61(that )-61(the)]TJ -/TT0 1 Tf -19.468 0 Td -(err_sys)Tj -/T1_0 1 Tf -4.511 0 Td -[(function )-61(prints )-61(an )-61(informative)]TJ --23.979 -1.2 Td -[(message )-181(describing )-181(what )-181(type )-181(of )-181(err)18(or )-181(was )-181(encounter)18(ed )-181(\(\324)37(\324Permission )-181(denied\325)]TJ -0.4315 Tc 35.861 0 Td -(\325o)Tj -0 Tc 1.256 0 Td -(r)Tj --0.037 Tc -37.116 -1.2 Td -(\324\324)Tj -0 Tc 0.519 0 Td -[(Not )-443(a )-443(dir)17(ectory\325)37(\325\). )-693(These)-694(two )-443(err)18(or )-443(functions )-443(ar)]TJ -0.6936 Tc 23.917 0 Td -(es)Tj -0 Tc 1.597 0 Td -[(hown )-444(and )-444(described )-444(in)]TJ --26.033 -1.2 Td -(Appendix B.)Tj --0.092 Tc 6.07 0 Td -[(We )-184(a)]TJ -0 Tc 2.137 0 Td -(lso talk mor)Tj -0.25 Tc 5.24 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(bout err)18(or handling in Section 1.7.)]TJ -0.883 Tc -16.165 -1.84 Td -(\245W)Tj -0 Tc 2.489 0 Td -[(hen )-110(the )-110(pr)18(ogram )-110(is )-110(done, )-110(it )-110(calls )-110(the )-110(function)]TJ -/TT0 1 Tf -20.975 0 Td -(exit)Tj -/T1_0 1 Tf -2.76 0 Td -[(with )-110(an )-110(ar)18(gument )-110(of )-110(0.)-611(The)]TJ --24.736 -1.2 Td -(function)Tj -/TT0 1 Tf -4.049 0 Td -(exit)Tj -/T1_0 1 Tf -2.742 0 Td -[(terminates )-92(a )-92(pr)18(ogram. )-342(By)-342(convention, )-92(an )-92(ar)18(gument )-92(of )-92(0 )-92(means )-92(OK,)]TJ --6.791 -1.2 Td -[(and )-4(an )-4(ar)18(gument )-4(between )-4(1 )-4(and )-4(255 )-4(means )-4(that )-4(an )-4(err)21(or )-4(occurr)18(ed. )-254(In)-253(Section )-4(8.5, )-4(we)]TJ -T* -[(show )-77(how )-77(any )-77(pr)17(ogram, )-78(such )-78(as )-78(a )-78(shell )-78(or )-78(a )-78(pr)18(ogram )-78(that )-78(we )-78(write, )-78(can )-78(obtain )-78(the)]TJ -/TT0 1 Tf -T* -(exit)Tj -/T1_0 1 Tf -2.65 0 Td -[(status of a pr)18(ogram that it executes.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1502.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47348 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -34.357 0 Td -[(Chapter )-250(7)-750(Solutions)]TJ -/T1_1 1 Tf -11.476 0 Td -(919)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 177.2094 670.2598 Tm -(printf\("pw_passwd = %s\\n", ptr->pw_passwd == NULL ||)Tj -1.2 -1.189 Td -[(ptr->pw_passwd[0] == 0 ?)-1200("\(null\)" : ptr->pw_passwd\);)]TJ --1.2 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1556.25 6334.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1596.25 6334.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 215.8361 617.3249 Tm -(Figure C.6)Tj -/T1_0 1 Tf -5.417 0 Td -(Print encrypted passwor)Tj -0.25 Tc 10.877 0 Td -(du)Tj -0 Tc 1.464 0 Td -[(nder Fr)18(eeBSD and Mac OS X)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 586.9286 Tm -(6.5)Tj -/T1_0 1 Tf -2.602 0 Td -[(The )-63(pr)18(ogram )-63(shown )-63(in )-63(Figur)]TJ -0.3128 Tc 13.007 0 Td -(eC)Tj -0 Tc 1.501 0 Td -[(.7 )-63(prints )-63(the )-63(date )-63(in )-63(a )-63(format )-63(similar )-63(to )-63(the)]TJ -/TT0 1 Tf -19.49 0 Td -(date)Tj -/T1_0 1 Tf --33.998 -1.2 Td -(command.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1556.25 5678.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1596.25 5678.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 155.592 558.1975 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.259 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(time_t )-3000(caltime;)]TJ -0 -1.189 TD -[(struct tm)-1800(*tm;)]TJ -0 -1.189 TD -[(char )-4200(line[MAXLINE];)]TJ -0 -2.259 TD -(if \(\(caltime = time\(NULL\)\) == -1\))Tj -2.4 -1.189 Td -(err_sys\("time error"\);)Tj --2.4 -1.189 Td -(if \(\(tm = localtime\(&caltime\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("localtime error"\);)Tj --2.4 -1.189 Td -(if \(strftime\(line, MAXLINE, "%a %b %d %X %Z %Y\\n", tm\) == 0\))Tj -2.4 -1.189 Td -(err_sys\("strftime error"\);)Tj --2.4 -1.189 Td -(fputs\(line, stdout\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1556.25 3630.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1596.25 3630.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 221.7208 346.9537 Tm -(Figure C.7)Tj -/T1_0 1 Tf -5.417 0 Td -(Print the time and date in a format similar to)Tj -/TT0 1 Tf -19.976 0 Td -(date)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -9.9976 0 0 9.9976 155.5827 318.1606 Tm -[(Running this pr)18(ogram gives us)]TJ -/TT0 1 Tf -8.9978 0 0 8.9978 173.5783 301.4646 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/T1_2 1 Tf -19.6 0 Td -[(author )213(\325)]TJ -0.25 Tc 2.926 0 Td -(sd)Tj -0 Tc 1.139 0 Td -(efault is US/Eastern)Tj -/TT0 1 Tf --24.865 -1.189 Td -(Wed Jul 25 22:58:32 EDT 2012)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(TZ=US/Mountain ./a.out)Tj -/T1_2 1 Tf -19.6 0 Td -(U.S. Mountain time zone)Tj -/TT0 1 Tf --20.8 -1.189 Td -(Wed Jul 25 20:58:32 MDT 2012)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(TZ=Japan ./a.out)Tj -/T1_2 1 Tf -19.6 0 Td -(Japan)Tj -/TT0 1 Tf --20.8 -1.189 Td -(Thu Jul 26 11:58:32 JST 2012)Tj -/TT2 1 Tf -9.9976 0 0 9.9976 93.5778 210.7864 Tm -[(Chapter )-278(7)]TJ -/T1_1 1 Tf -3.6 -2.8 Td -(7.1)Tj -/T1_0 1 Tf -2.602 0 Td -[(It )-104(appears )-104(that )-104(the )-104(r)18(eturn )-104(value )-104(fr)15(om)]TJ -/TT0 1 Tf -17.105 0 Td -(printf)Tj -/T1_0 1 Tf -3.954 0 Td -[(\(the )-104(number )-104(of )-104(characters )-104(output\))]TJ --21.059 -1.2 Td -[(becomes )-56(the )-56(r)18(eturn )-56(value )-56(of)]TJ -/TT0 1 Tf -12.803 0 Td -(main)Tj -/T1_0 1 Tf -0.5557 Tc (.T)Tj -0.3057 Tc 3.727 0 Td -(ov)Tj -0 Tc 1.417 0 Td -[(erify )-56(this )-56(theory)]TJ -0.3057 Tc 7.061 0 Td -(,c)Tj -0 Tc 1 0 Td -[(hange )-56(the )-56(length )-56(of )-56(the)]TJ --26.007 -1.2 Td -[(string )-82(printed )-82(and )-82(see )-82(if )-82(the )-82(new )-82(length )-82(matches )-82(the )-82(r)19(eturn )-82(value.)-582(Note )-82(that )-82(not)]TJ -0 -1.2 TD -[(all )-4(systems )-4(exhibit )-4(this )-4(pr)18(operty)]TJ -0.5041 Tc 14.045 0 Td -(.A)Tj -0 Tc 1.532 0 Td -[(lso )-4(note )-4(that )-4(if )-4(you )-4(enable )-4(the )-4(ISO )-4(C )-4(extensions)]TJ --15.578 -1.2 Td -(in)Tj -/TT0 1 Tf -1.123 0 Td -(gcc)Tj -/T1_0 1 Tf -0.25 Tc (,t)Tj -0 Tc 2.626 0 Td -[(hen the r)18(eturn value is always 0, as r)18(equir)18(ed by the standar)18(d.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47349 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(6.10)]TJ --0.055 Tc 32.431 0 Td -(Ti)Tj -0 Tc 0.849 0 Td -[(me )-250(and )-250(Date )-250(Routines)]TJ -/T1_1 1 Tf -12.553 0 Td -(195)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(The)Tj -/TT0 1 Tf -1.985 0 Td -(strptime)Tj -/T1_0 1 Tf -5.111 0 Td -[(function )-61(is )-61(the )-61(inverse )-61(of)]TJ -/TT0 1 Tf -11.46 0 Td -(strftime)Tj -/T1_0 1 Tf -0.5613 Tc (.I)Tj -0.3113 Tc 5.948 0 Td -(tt)Tj -0 Tc 0.963 0 Td -[(akes )-61(a )-61(string )-61(and )-61(converts)]TJ --27.268 -1.2 Td -[(it into a br)18(oken-down time.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5915 637.8617 Tm -(#include )Tj -0 -1.902 TD -(char *strptime\(const char *restrict)Tj -/T1_2 1 Tf -21.6 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.097 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -(,)Tj --27.697 -1.189 Td -(struct tm *restrict)Tj -/T1_2 1 Tf -12 0 Td -(tmptr)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --15.131 -1.902 Td -(Returns: pointer to one character past last character parsed,)Tj -/TT0 1 Tf -26.458 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -(otherwise)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5884.25 cm -0 0 m -0 585 l -3900 585 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 572.4913 Tm -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(format)Tj -/T1_0 1 Tf -2.916 0 Td -[(ar)18(gument describes the format of the string in the buf)18(fer pointed to by the)]TJ -/T1_2 1 Tf -32.862 0 Td -(buf)Tj -/T1_0 1 Tf --37.703 -1.2 Td -[(ar)18(gument. )-522(The)-522(format )-272(speci\336cation )-272(is )-272(similar)]TJ -0.5222 Tc 21.323 0 Td -(,a)Tj -0 Tc 1.272 0 Td -[(lthough )-272(it )-272(dif)18(fers )-272(slightly )-272(fr)17(om )-272(the)]TJ --22.595 -1.2 Td -[(speci\336cation )-117(for )-117(the)]TJ -/TT0 1 Tf -9.294 0 Td -(strftime)Tj -/T1_0 1 Tf -5.167 0 Td -[(function. )-367(The)-367(conversion )-117(speci\336ers )-117(for )-117(the)]TJ -/TT0 1 Tf -19.739 0 Td -(strptime)Tj -/T1_0 1 Tf --34.2 -1.2 Td -(function ar)Tj -0.25 Tc 4.834 0 Td -(es)Tj -0 Tc 1.153 0 Td -(ummarized in Figur)Tj -0.25 Tc 8.901 0 Td -(e6)Tj -0 Tc 1.229 0 Td -(.12.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2161.25 5225.25 cm -0 0 m -2170 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 220.0604 514.4674 Tm -(Format )Tj -12.839 0 Td -(Description)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2161.25 5105.25 cm -0 0 m -2170 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2161.25 5085.25 cm -0 0 m -2170 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 228.0693 500.4399 Tm -(%a)Tj -/T1_0 1 Tf -3.703 0 Td -[(abbr)18(eviated or full weekday name)]TJ -/TT0 1 Tf --3.703 -1.25 Td -(%A)Tj -/T1_0 1 Tf -3.703 0 Td -(same as)Tj -/TT0 1 Tf -3.71 0 Td -(%a)Tj --7.413 -1.25 Td -(%b)Tj -/T1_0 1 Tf -3.703 0 Td -[(abbr)18(eviated or full month name)]TJ -/TT0 1 Tf --3.703 -1.25 Td -(%B)Tj -/T1_0 1 Tf -3.703 0 Td -(same as)Tj -/TT0 1 Tf -3.71 0 Td -(%b)Tj --7.413 -1.25 Td -(%c)Tj -/T1_0 1 Tf -3.703 0 Td -(date and time)Tj -/TT0 1 Tf --3.703 -1.25 Td -(%C)Tj -/T1_0 1 Tf -3.703 0 Td -(all but the last two digits of the year)Tj -/TT0 1 Tf --3.703 -1.25 Td -(%d)Tj -/T1_0 1 Tf -3.703 0 Td -(day of the month: [01)Tj -9.518 0.09 Td -(\320)Tj -0.583 -0.09 Td -(31])Tj -/TT0 1 Tf --13.805 -1.25 Td -(%D)Tj -/T1_0 1 Tf -3.703 0 Td -(date)Tj -2.166 0.04 Td -([)Tj -0.333 -0.04 Td -(MM/DD/YY)Tj -5.986 0.04 Td -(])Tj -/TT0 1 Tf --12.188 -1.29 Td -(%e)Tj -/T1_0 1 Tf -3.703 0 Td -(same as)Tj -/TT0 1 Tf -3.71 0 Td -(%d)Tj --7.413 -1.25 Td -(%h)Tj -/T1_0 1 Tf -3.703 0 Td -(same as)Tj -/TT0 1 Tf -3.71 0 Td -(%b)Tj --7.413 -1.25 Td -(%H)Tj -/T1_0 1 Tf -3.703 0 Td -(hour of the day \(24-hour format\): [00)Tj -16.333 0.09 Td -(\320)Tj -0.583 -0.09 Td -(23])Tj -/TT0 1 Tf --20.619 -1.25 Td -(%I)Tj -/T1_0 1 Tf -3.703 0 Td -(hour of the day \(12-hour format\): [01)Tj -16.333 0.09 Td -(\320)Tj -0.583 -0.09 Td -(12])Tj -/TT0 1 Tf --20.619 -1.25 Td -(%j)Tj -/T1_0 1 Tf -3.703 0 Td -(day of the year: [001)Tj -9.029 0.09 Td -(\320)Tj -0.583 -0.09 Td -(366])Tj -/TT0 1 Tf --13.316 -1.25 Td -(%m)Tj -/T1_0 1 Tf -3.703 0 Td -(month: [01)Tj -4.835 0.09 Td -(\320)Tj -0.583 -0.09 Td -(12])Tj -/TT0 1 Tf --9.121 -1.25 Td -(%M)Tj -/T1_0 1 Tf -3.703 0 Td -(minute: [00)Tj -5.08 0.09 Td -(\320)Tj -0.583 -0.09 Td -(59])Tj -/TT0 1 Tf --9.367 -1.25 Td -(%n)Tj -/T1_0 1 Tf -3.703 0 Td -(any white space)Tj -/TT0 1 Tf --3.703 -1.25 Td -(%p)Tj -/T1_0 1 Tf -3.703 0 Td -(AM/PM)Tj -/TT0 1 Tf --3.703 -1.25 Td -(%r)Tj -/T1_0 1 Tf -3.703 0 Td -(locale\325s time \(12-hour format, AM/PM notation\))Tj -/TT0 1 Tf --3.703 -1.25 Td -(%R)Tj -/T1_0 1 Tf -3.703 0 Td -(time as)Tj -/TT0 1 Tf -3.403 0 Td -(%H:%M)Tj --7.106 -1.25 Td -(%S)Tj -/T1_0 1 Tf -3.703 0 Td -(second: [00)Tj -5.002 0.09 Td -(\320)Tj -0.583 -0.09 Td -(60])Tj -/TT0 1 Tf --9.288 -1.25 Td -(%t)Tj -/T1_0 1 Tf -3.703 0 Td -(any white space)Tj -/TT0 1 Tf --3.703 -1.25 Td -(%T)Tj -/T1_0 1 Tf -3.703 0 Td -(time as)Tj -/TT0 1 Tf -3.403 0 Td -(%H:%M:%S)Tj --7.106 -1.25 Td -(%U)Tj -/T1_0 1 Tf -3.703 0 Td -(Sunday week number: [00)Tj -11.636 0.09 Td -(\320)Tj -0.583 -0.09 Td -(53])Tj -/TT0 1 Tf --15.923 -1.25 Td -(%w)Tj -/T1_0 1 Tf -3.703 0 Td -(weekday: [0 = Sunday)Tj -0.25 Tc 9.72 0 Td -(,0)Tj -0 Tc 1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(6])Tj -/TT0 1 Tf --15.089 -1.25 Td -(%W)Tj -/T1_0 1 Tf -3.703 0 Td -(Monday week number: [00)Tj -12 0.09 Td -(\320)Tj -0.583 -0.09 Td -(53])Tj -/TT0 1 Tf --16.286 -1.25 Td -(%x)Tj -/T1_0 1 Tf -3.703 0 Td -(locale\325s date)Tj -/TT0 1 Tf --3.703 -1.25 Td -(%X)Tj -/T1_0 1 Tf -3.703 0 Td -(locale\325s time)Tj -/TT0 1 Tf --3.703 -1.25 Td -(%y)Tj -/T1_0 1 Tf -3.703 0 Td -(last two digits of year: [00)Tj -11.471 0.09 Td -(\320)Tj -0.583 -0.09 Td -(99])Tj -/TT0 1 Tf --15.758 -1.25 Td -(%Y)Tj -/T1_0 1 Tf -3.703 0 Td -(year)Tj -/TT0 1 Tf --3.703 -1.25 Td -(%%)Tj -/T1_0 1 Tf -3.703 0 Td -[(translates to a per)18(cent sign)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2161.25 2065.25 cm -0 0 m -2170 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2517.25 2065.25 cm -0 0 m -0 3160 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4331.25 2065.25 cm -0 0 m -0 3160 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2161.25 2065.25 cm -0 0 m -0 3160 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 237.4088 188.5034 Tm -(Figure 6.12)Tj -/T1_0 1 Tf -5.695 0 Td -(Conversion speci\336ers for)Tj -/TT0 1 Tf -11.285 0 Td -(strptime)Tj -/T1_0 1 Tf --0.092 Tc 9.997 0 0 9.997 147.556 164.5106 Tm -[(We )-210(m)]TJ -0 Tc 2.546 0 Td -[(entioned )-26(that )-26(the )-26(thr)17(ee )-26(functions )-26(in )-26(Figur)]TJ -0.2762 Tc 18.304 0 Td -(e6)Tj -0 Tc 1.255 0 Td -[(.9 )-26(with )-26(dashed )-26(lines )-26(wer)]TJ -0.2762 Tc 10.852 0 Td -(ea)Tj --0.018 Tc 1.255 0 Td -(ff)Tj -0 Tc 0.648 0 Td -(ected)Tj --36.661 -1.2 Td -[(by )-79(the)]TJ -/TT0 1 Tf -3.154 0 Td -(TZ)Tj -/T1_0 1 Tf -1.529 0 Td -[(envir)18(onment )-79(variable:)]TJ -/TT0 1 Tf -10.174 0 Td -(localtime)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -5.979 0 Td -(mktime)Tj -/T1_0 1 Tf -0.3292 Tc (,a)Tj -0 Tc 4.679 0 Td -(nd)Tj -/TT0 1 Tf -1.522 0 Td -(strftime)Tj -/T1_0 1 Tf -0.5792 Tc (.I)Tj -0.3292 Tc 5.966 0 Td -(fd)Tj -0 Tc 1.273 0 Td -[(e\336ned, )-79(the)]TJ --34.278 -1.2 Td -[(value )-24(of )-24(this )-24(envir)19(onment )-24(variable )-24(is )-24(used )-24(by )-24(these )-24(functions )-24(instead )-24(of )-24(the )-24(default )-24(time)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47350 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(190)Tj -/T1_1 1 Tf -3.5 0 Td -[(System )-250(Data )-250(Files )-250(and )-250(Information)]TJ -39.241 0 Td -[(Chapter )-250(6)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(When )-292(the )-292(clock )-292(ID )-292(is )-292(set )-292(to)]TJ -/TT0 1 Tf -14.031 0 Td -(CLOCK_REALTIME)Tj -/T1_1 1 Tf -0.5418 Tc (,t)Tj -0 Tc 9.518 0 Td -(he)Tj -/TT0 1 Tf -1.603 0 Td -(clock_gettime)Tj -/T1_1 1 Tf -8.342 0 Td -(function)Tj --35.293 -1.2 Td -[(pr)18(ovides )-100(similar )-100(functionality )-100(to )-100(the)]TJ -/TT0 1 Tf -16.651 0 Td -(time)Tj -/T1_1 1 Tf -2.75 0 Td -[(function, )-100(except )-100(with)]TJ -/TT0 1 Tf -9.886 0 Td -(clock_gettime)Tj -/T1_1 1 Tf -0.3503 Tc (,w)Tj -0 Tc 9.234 0 Td -(e)Tj --38.521 -1.2 Td -[(might be able to get a higher)18(-r)18(esolution time value if the system supports it.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-383(c)]TJ -0 Tc 2.28 0 Td -[(an )-199(use )-199(the)]TJ -/TT0 1 Tf -5.322 0 Td -(clock_getres)Tj -/T1_1 1 Tf -7.649 0 Td -[(function )-199(to )-199(determine )-199(the )-199(r)18(esolution )-199(of )-199(a )-199(given)]TJ --17.05 -1.2 Td -(system clock.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5914 603.0638 Tm -(#include )Tj -0 -1.783 TD -(int clock_getres\(clockid_t)Tj -/T1_2 1 Tf -16.2 0 Td -(clock_id)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 5.058 0 Td -(truct timespec *)Tj -/T1_2 1 Tf -(tsp)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -5.593 -1.783 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5665.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 551.7338 Tm -(The)Tj -/TT0 1 Tf -2.013 0 Td -(clock_getres)Tj -/T1_1 1 Tf -7.539 0 Td -[(function )-89(initializes )-89(the)]TJ -/TT0 1 Tf -10.378 0 Td -(timespec)Tj -/T1_1 1 Tf -5.139 0 Td -[(str)8(uctur)]TJ -0.3393 Tc 3.49 0 Td -(ep)Tj -0 Tc 1.419 0 Td -[(ointed )-89(to )-89(by )-89(the)]TJ -/T1_2 1 Tf --31.779 -1.2 Td -(tsp)Tj -/T1_1 1 Tf -1.526 0 Td -[(ar)18(gument )-54(to )-54(the )-54(r)18(esolution )-54(of )-54(the )-54(clock )-54(corr)18(esponding )-54(to )-54(the)]TJ -/T1_2 1 Tf -27.306 0 Td -(clock_id)Tj -/T1_1 1 Tf -3.562 0 Td -[(ar)18(gument. )-304(For)]TJ --32.393 -1.2 Td -[(example, )-45(if )-45(the )-45(r)18(esolution )-45(is )-45(1 )-45(millisecond, )-45(then )-45(the)]TJ -/TT0 1 Tf -23.085 0 Td -(tv_sec)Tj -/T1_1 1 Tf -3.895 0 Td -[(\336eld )-45(will )-45(contain )-45(0 )-45(and )-45(the)]TJ -/TT0 1 Tf --26.98 -1.2 Td -(tv_nsec)Tj -/T1_1 1 Tf -4.45 0 Td -(\336eld will contain the value 1000000.)Tj --0.092 Tc -2.65 -1.2 Td -[(To )-184(s)]TJ -0 Tc 1.741 0 Td -(et the time for a particular clock, we can call the)Tj -/TT0 1 Tf -21.324 0 Td -(clock_settime)Tj -/T1_1 1 Tf -8.05 0 Td -(function.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 485.8417 Tm -(#include )Tj -T* -(int clock_settime\(clockid_t)Tj -/T1_2 1 Tf -16.8 0 Td -(clock_id)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 5.058 0 Td -(onst struct timespec *)Tj -/T1_2 1 Tf -(tsp)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -4.993 -1.783 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4493.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9982 0 0 9.9982 129.5767 434.5218 Tm -[(We )-356(n)]TJ -0 Tc 2.391 0 Td -[(eed )-172(the )-172(appr)18(opriate )-172(privileges )-172(to )-172(change )-172(a )-172(clock\325s )-172(time.)-673(Some )-172(clocks, )-172(however)74(,)]TJ --2.391 -1.2 Td -(can\325t be modi\336ed.)Tj -7.9986 0 0 7.9986 183.5669 402.5275 Tm -[(Historically)111(,)-329(on)-329(implementations )-79(derived )-79(fr)18(om )-79(System )-79(V)]TJ -0.3291 Tc 25.269 0 Td -(,t)Tj -0 Tc 0.905 0 Td -(he)Tj -/TT0 1 Tf -1.39 0 Td -(stime)Tj -/T1_1 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.662 -0.04 Td -[(function )-79(was )-79(called )-79(to)]TJ --32.059 -1.25 Td -[(set the system time, wher)18(eas BSD-derived systems used)]TJ -/TT0 1 Tf -24.919 0 Td -(settimeofday)Tj -/T1_1 1 Tf -7.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.333 -0.04 Td -(.)Tj --0.111 Tc 9.9982 0 0 9.9982 147.5738 371.5331 Tm -(Ve)Tj -0 Tc 1.09 0 Td -[(rsion )-357(4 )-357(of )-357(the )-357(Single )-357(UNIX )-357(Speci\336cation )-357(speci\336es )-357(that )-357(the)]TJ -/TT0 1 Tf -28.91 0 Td -(gettimeofday)Tj -/T1_1 1 Tf --31.8 -1.2 Td -[(function )-29(is )-29(now )-29(obsolescent.)-528(However)]TJ -0.2788 Tc 17.149 0 Td -(,al)Tj -0 Tc 1.599 0 Td -[(ot )-29(of )-29(pr)18(ograms )-29(still )-29(use )-29(it, )-29(because )-29(it )-29(pr)20(ovides)]TJ --18.747 -1.2 Td -[(gr)18(eater r)18(esolution \(up to a micr)18(osecond\) than the)]TJ -/TT0 1 Tf -21.823 0 Td -(time)Tj -/T1_1 1 Tf -2.65 0 Td -(function.)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.574 329.6407 Tm -(#include )Tj -T* -(int gettimeofday\(struct timeval *restrict)Tj -/T1_2 1 Tf -25.2 0 Td -(tp)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 2.633 0 Td -(oid *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(tzp)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --4.732 -1.783 Td -(Returns: 0 always)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2931.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9976 0 0 9.9976 129.5689 278.3332 Tm -[(The )-66(only )-66(legal )-66(value )-66(for)]TJ -/T1_2 1 Tf -11.06 0 Td -(tzp)Tj -/T1_1 1 Tf -1.593 0 Td -(is)Tj -/TT0 1 Tf -1.031 0 Td -(NULL)Tj -/T1_1 1 Tf -0.3163 Tc (;o)Tj -0 Tc 3.512 0 Td -[(ther )-66(values )-66(r)18(esult )-66(in )-66(unspeci\336ed )-66(behavior)]TJ -0.5662 Tc 18.554 0 Td -(.S)Tj -0 Tc 1.341 0 Td -(ome)Tj --37.092 -1.2 Td -[(platforms )-159(support )-159(the )-159(speci\336cation )-159(of )-159(a )-159(time )-159(zone )-159(thr)18(ough )-159(the )-159(use )-159(of)]TJ -/T1_2 1 Tf -32.427 0 Td -(tzp)Tj -/T1_1 1 Tf -0.4086 Tc (,b)Tj -0 Tc 2.489 0 Td -[(ut )-159(this )-159(is)]TJ --34.916 -1.2 Td -(implementation speci\336c and not de\336ned by the Single UNIX Speci\336\ cation.)Tj -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -1.925 0 Td -(gettimeofday)Tj -/T1_1 1 Tf -7.451 0 Td -[(function )-1(stor)18(es )-1(the )-1(curr)18(ent )-1(time )-1(as )-1(measur)20(ed )-1(fr)18(om )-1(the )-1(Epoch )-1(in)]TJ --11.175 -1.2 Td -[(the )-88(memory )-88(pointed )-88(to )-88(by)]TJ -/T1_2 1 Tf -12.234 0 Td -(tp)Tj -/T1_1 1 Tf -0.5876 Tc (.T)Tj -0 Tc 2.284 0 Td -[(his )-88(time )-88(is )-88(r)19(epr)18(esented )-88(as )-88(a)]TJ -/TT0 1 Tf -12.655 0 Td -(timeval)Tj -/T1_1 1 Tf -4.538 0 Td -[(str)8(uctur)18(e, )-88(which)]TJ --31.71 -1.2 Td -[(stor)18(es seconds and micr)18(oseconds.)]TJ -1.8 -1.2 Td -[(Once )-33(we )-33(have )-33(the )-33(integer )-33(value )-33(that )-33(counts )-33(the )-33(number )-33(of )-33(seconds )-33(since )-33(the )-33(Epoch,)]TJ --1.8 -1.2 Td -[(we )-38(normally )-38(call )-38(a )-38(function )-38(to )-38(convert )-38(it )-38(to )-38(a )-38(br)14(oken-down )-38(time )-38(str)7(uctur)18(e, )-38(and )-38(then )-38(call)]TJ -0 -1.2 TD -[(another )-170(function )-170(to )-170(generate )-170(a )-170(human-r)18(eadable )-170(time )-170(and )-170(date.)-674(Figur)]TJ -0.4204 Tc 31.813 0 Td -(e6)Tj -0 Tc 1.399 0 Td -[(.9 )-170(shows )-170(the)]TJ --0.018 Tc -33.212 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(lationships between the various time functions.)-501(\(The thr)18(ee functions in this \336gur)]TJ -0.2502 Tc 35.681 0 Td -(et)Tj -0 Tc 1.055 0 Td -(hat)Tj --37.592 -1.2 Td -(ar)Tj -0.3465 Tc 0.877 0 Td -(es)Tj -0 Tc 1.249 0 Td -[(hown )-96(with )-96(dashed )-96(lines)-84(\321)]TJ -/TT0 1 Tf -12.057 0 Td -(localtime)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -5.996 0 Td -(mktime)Tj -/T1_1 1 Tf -0.3464 Tc (,a)Tj -0 Tc 4.696 0 Td -(nd)Tj -/TT0 1 Tf -1.539 0 Td -(strftime)Tj -/T1_1 1 Tf -0.0833 Tc 4.883 0 Td -(\321a)Tj --0.018 Tc 1.583 0 Td -[(re )-132(a)]TJ -0 Tc 1.702 0 Td -[(ll )-96(af)18(fected)]TJ --34.585 -1.2 Td -[(by )-166(the)]TJ -/TT0 1 Tf -3.329 0 Td -(TZ)Tj -/T1_1 1 Tf -1.616 0 Td -[(envir)18(onment )-166(variable, )-166(which )-166(we )-166(describe )-166(later )-166(in )-166(this )-166(section.)-666(The )-166(dotted)]TJ --4.945 -1.2 Td -[(lines show how the calendar time is obtained fr)18(om time-r)18(elated str)8(uctur)18(es.\))]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47351 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(19.6)]TJ -32.654 0 Td -[(Using )-250(the)]TJ -/TT0 1 Tf -5.018 0 Td -(pty)Tj -/T1_0 1 Tf -2.3 0 Td -[(Pr)18(ogram)]TJ -/T1_1 1 Tf -5.861 0 Td -(737)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(In )-320(this )-320(example, )-320(we )-320(assume )-320(that )-320(the)]TJ -/TT0 1 Tf -18.278 0 Td -(SHELL)Tj -/T1_0 1 Tf -3.57 0 Td -[(variable )-320(is )-320(the )-320(Korn )-320(shell )-320(\(pr)18(obably)]TJ -/TT0 1 Tf --21.848 -1.2 Td -(/bin/ksh)Tj -/T1_0 1 Tf -[(\). )-335(As)-335(we )-85(mentioned )-85(earlier)74(,)]TJ -/TT0 1 Tf -17.607 0 Td -(script)Tj -/T1_0 1 Tf -3.935 0 Td -[(copies )-85(only )-85(what )-85(is )-85(output )-85(by )-85(the )-85(new)]TJ --21.542 -1.2 Td -[(shell )-51(\(and )-51(any )-51(pr)18(ocesses )-51(that )-51(it )-51(invokes\), )-51(but )-51(since )-51(the )-51(line )-51(discipline )-51(module )-51(above )-51(the)]TJ -0 -1.2 TD -[(PTY )-214(slave )-214(normally )-214(has )-214(echo )-214(enabled, )-214(most )-214(of )-214(what )-214(we )-214(type )-214(is )-214(also )-214(written )-214(to )-214(the)]TJ -/TT0 1 Tf -T* -(typescript)Tj -/T1_0 1 Tf -6.25 0 Td -(\336le.)Tj -/TT1 1 Tf --9.85 -3.36 Td -[(Running Copr)20(ocesses)]TJ -/T1_0 1 Tf -3.6 -2.4 Td -[(In )-2(Figur)]TJ -0.2516 Tc 3.554 0 Td -(e1)Tj -0 Tc 1.231 0 Td -[(5.18, )-2(the )-2(copr)18(ocess )-2(couldn\325t )-2(use )-2(the )-2(standar)]TJ -0.2516 Tc 19.076 0 Td -(dI)Tj -0 Tc 1.2 0 Td -[(/O )-1(functions, )-1(because )-1(standar)17(d)]TJ --25.059 -1.2 Td -[(input )-1(and )-1(standar)]TJ -0.2512 Tc 7.918 0 Td -(do)Tj -0 Tc 1.408 0 Td -[(utput )-1(do )-1(not )-1(r)17(efer )-1(to )-1(a )-1(terminal, )-1(so )-1(the )-1(standar)]TJ -0.2513 Tc 20.44 0 Td -(dI)Tj -0 Tc 1.199 0 Td -[(/O )-1(functions )-1(tr)17(eat)]TJ --30.966 -1.2 Td -[(them as fully buf)18(fer)18(ed. )-250(If)-250(we r)8(un the copr)18(ocess under)]TJ -/TT0 1 Tf -23.915 0 Td -(pty)Tj -/T1_0 1 Tf -2.05 0 Td -[(by r)18(eplacing the line)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5902 523.7385 Tm -(if \(execl\("./add2", "add2", \(char *\)0\) < 0\))Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5913 506.8094 Tm -(with)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5902 491.1806 Tm -(if \(execl\("./pty", "pty", "-e", "add2", \(char *\)0\) < 0\))Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5913 474.2515 Tm -[(the pr)18(ogram now works, even if the copr)18(ocess uses standar)]TJ -0.25 Tc 26.113 0 Td -(dI)Tj -0 Tc 1.198 0 Td -(/O.)Tj --25.511 -1.2 Td -(Figur)Tj -0.2747 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.254 0 Td -[(9.15 )-25(shows )-25(the )-25(arrangement )-25(of )-25(pr)18(ocesses )-25(when )-25(we )-25(r)8(un )-25(the )-25(copr)18(ocess )-25(with )-25(a)]TJ --5.437 -1.2 Td -[(pseudo )-70(terminal )-70(as )-70(its )-70(input )-70(and )-70(output.)-571(It )-70(is )-70(an )-70(expansion )-70(of )-70(Figur)]TJ -0.3203 Tc 30.663 0 Td -(e1)Tj -0 Tc 1.299 0 Td -[(9.6, )-70(showing )-70(all)]TJ --31.962 -1.2 Td -[(the )-272(pr)18(ocess )-272(connections )-272(and )-272(data )-272(\337ow)]TJ -0.772 Tc 18.064 0 Td -(.T)Tj -0 Tc 1.635 0 Td -[(he )-272(box )-272(labeled )-272(\324)37(\324driving )-272(pr)18(ogram\325)37(\325)-522(is)-522(the)]TJ --19.699 -1.2 Td -[(pr)18(ogram fr)18(om Figur)]TJ -0.25 Tc 8.88 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.18, with the)Tj -/TT0 1 Tf -6.17 0 Td -(execl)Tj -/T1_0 1 Tf -3.25 0 Td -[(changed as described pr)18(eviously)111(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1650.12 3622.8 959.758 252 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 183.418 373.0752 Tm -[(driving pr)18(ogram)]TJ -ET -q -0.99988 0 0 0.99988 0 0 cm -q 1 0 0 1 289.788 374.88 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -1 j 1 J -q 1 0 0 1 2897.8799 3748.8 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2610.25 3749.25 cm -0 0 m -216 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 265.7402 378.0519 Tm -(fork)Tj -0 -1.25 TD -(exec)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2897.88 3622.8 432 252 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 304.115 378.0293 Tm -(pty)Tj -/T1_0 1 Tf --0.532 -1.25 Td -[(par)18(ent)]TJ -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 361.788 374.88 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 3617.8799 3748.8 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3330.25 3749.25 cm -0 0 m -216 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 337.6867 368.0096 Tm -(fork)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -3617.88 3622.8 432 252 re -S -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 376.0526 377.9839 Tm -(pty)Tj -/T1_0 1 Tf --0.209 -1.25 Td -(child)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -4337.88 3622.8 432 252 re -S -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 445.6008 377.9612 Tm -(add2)Tj -/T1_0 1 Tf --1.275 -1.25 Td -[(\(copr)18(ocess\))]TJ -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -1650.12 3010.8 576 252 re -S -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 178.7382 316.7679 Tm -(terminal)Tj --1.225 -1.25 Td -(line discipline)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -1650.12 2542.8 576 252 re -S -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 177.728 269.9742 Tm -(terminal)Tj --0.929 -1.25 Td -(device driver)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -4265.88 3010.8 576 252 re -S -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 440.1358 316.7299 Tm -(terminal)Tj --1.225 -1.25 Td -(line discipline)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -4265.88 2542.8 576 252 re -S -Q -BT -/T1_0 1 Tf -7.9947 0 0 7.9947 437.5271 264.9451 Tm -(PTY slave)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -3185.88 2542.8 576 252 re -S -Q -BT -/T1_0 1 Tf -7.9942 0 0 7.9942 326.5888 264.9292 Tm -(PTY master)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 433.788 374.88 cm -0 0 m --6.48 3.6 l --4.032 6.192 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 4337.8799 3748.8 cm -0 0 m --64.8 36 l --40.32 61.92 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3329.8799 3784.8 cm -0 0 m -144 117 l -240 195 360 234 504 234 c -648 234 767.16 189.84 861.48 101.52 c -1002.96 -30.96 l -S -Q -Q -BT -/TT0 1 Tf -7.9938 0 0 7.9938 361.9056 403.4052 Tm -(fork)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -2.9 0 Td -(exec)Tj -ET -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 184.236 279.48 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 1842.36 2794.8 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1842.25 3011.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 203.388 301.08 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 2033.88 3010.8 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2034.25 2939.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 445.812 279.48 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 4458.1201 2794.8 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4458.25 3011.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 465.036 301.08 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 4650.3599 3010.8 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4650.25 2939.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 184.236 326.28 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 1842.36 3262.8 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1842.25 3623.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 203.388 362.28 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 2033.88 3622.8 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2034.25 3551.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 448.188 326.28 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 4481.8799 3262.8 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4482.25 3623.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9988007 0 0 0.9988007 0 0 cm -q 1 0 0 1 462.588 362.28 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -1 j 1 J -q 1 0 0 1 4625.8799 3622.8 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4626.25 3551.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9987408 0 0 0.9987408 0 0 cm -q 1 0 0 1 337.812 279.48 cm -0 0 m -1.368 7.272 l -4.608 5.76 l -f -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -1 j 1 J -q 1 0 0 1 3378.1201 2794.8 cm -0 0 m -13.68 72.72 l -46.08 57.6 l -h -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3762.25 3623.25 cm -0 0 m --354 -763 l -S -Q -Q -q -0.9986808 0 0 0.9986808 0 0 cm -q 1 0 0 1 318.588 362.28 cm -0 0 m -4.68 -5.76 l -1.44 -7.272 l -f -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -1 j 1 J -q 1 0 0 1 3185.8799 3622.8 cm -0 0 m -46.8 -57.6 l -14.4 -72.72 l -h -S -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3216.25 3557.25 cm -0 0 m -353 -762 l -S -Q -Q -q -0.9986209 0 0 0.9986209 0 0 cm -q 1 0 0 1 445.812 239.88 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -1 j 1 J -q 1 0 0 1 4458.1201 2398.8 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4458.25 2543.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.998561 0 0 0.998561 0 0 cm -q 1 0 0 1 357.036 254.28 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -1 j 1 J -q 1 0 0 1 3570.3601 2542.8 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3570.25 2471.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9985011 0 0 0.9985011 0 0 cm -q 1 0 0 1 357.036 239.88 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -1 j 1 J -q 1 0 0 1 3570.3601 2398.8 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4458.25 2399.25 cm -0 0 m --816 0 l -S -Q -Q -q -0.9984412 0 0 0.9984412 0 0 cm -q 1 0 0 1 465.036 254.28 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -1 j 1 J -q 1 0 0 1 4650.3599 2542.8 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4650.25 2471.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9983813 0 0 0.9983813 0 0 cm -q 1 0 0 1 337.812 232.68 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -1 j 1 J -q 1 0 0 1 3378.1201 2326.8 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3378.25 2543.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9983214 0 0 0.9983214 0 0 cm -q 1 0 0 1 465.036 232.68 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -1 j 1 J -q 1 0 0 1 4650.3599 2326.8 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3378.25 2327.25 cm -0 0 m -1200 0 l -S -Q -Q -q -0.9982615 0 0 0.9982615 0 0 cm -q 1 0 0 1 304.188 340.68 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -1 j 1 J -q 1 0 0 1 3041.8799 3406.8 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3042.25 3623.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9982016 0 0 0.9982016 0 0 cm -q 1 0 0 1 241.836 362.28 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998202 0 0 0.0998202 0 0 cm -1 j 1 J -q 1 0 0 1 2418.3601 3622.8 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998202 0 0 0.0998202 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 3551.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9981417 0 0 0.9981417 0 0 cm -q 1 0 0 1 241.836 340.68 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -1 j 1 J -q 1 0 0 1 2418.3601 3406.8 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3042.25 3407.25 cm -0 0 m --553 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9847 0 0 7.9847 262.6193 343.2603 Tm -(pipe2)Tj -ET -q -0.9980818 0 0 0.9980818 0 0 cm -q 1 0 0 1 390.588 362.28 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -1 j 1 J -q 1 0 0 1 3905.8799 3622.8 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3906.25 3551.25 cm -0 0 m -0 -216 l -S -Q -Q -q -0.9980219 0 0 0.9980219 0 0 cm -q 1 0 0 1 222.612 333.48 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -1 j 1 J -q 1 0 0 1 2226.1201 3334.8 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2226.25 3623.25 cm -0 0 m -0 -216 l -S -Q -Q -q -0.997962 0 0 0.997962 0 0 cm -q 1 0 0 1 390.588 333.48 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0997962 0 0 0.0997962 0 0 cm -1 j 1 J -q 1 0 0 1 3905.8799 3334.8 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0997962 0 0 0.0997962 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2226.25 3335.25 cm -0 0 m -1608 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9832 0 0 7.9832 262.572 326.0346 Tm -(pipe1)Tj -ET -q -0.9979021 0 0 0.9979021 0 0 cm -q 1 0 0 1 193.812 254.28 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0997902 0 0 0.0997902 0 0 cm -1 j 1 J -q 1 0 0 1 1938.12 2542.8 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9978423 0 0 0.9978423 0 0 cm -q 1 0 0 1 193.812 232.68 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -1 j 1 J -q 1 0 0 1 1938.12 2326.8 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1938.25 2471.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2154.1201 2200.8 cm -0 0 m -0 -69.59 -96.71 -126 -216 -126 c --335.29 -126 -432 -69.59 -432 0 c --432 69.59 -335.29 126 -216 126 c --96.71 126 0 69.59 0 0 c -h -S -Q -Q -BT -/T1_0 1 Tf -7.9823 0 0 7.9823 178.5073 222.8248 Tm -(user at a)Tj --0.01 -1.25 Td -(terminal)Tj -/T1_1 1 Tf -0.12 -3.43 Td -(Figure 19.15)Tj -/T1_0 1 Tf -6.195 0 Td -[(Running a copr)18(ocess with a pseudo terminal as its input and output)]TJ -9.9778 0 0 9.9778 147.2729 159.1265 Tm -[(This )-23(example )-23(shows )-23(the )-23(need )-23(for )-23(the)]TJ -/TT0 1 Tf -16.582 0 Td -(-e)Tj -/T1_0 1 Tf -1.474 0 Td -[(\(no )-23(echo\) )-23(option )-23(for )-23(the)]TJ -/TT0 1 Tf -10.766 0 Td -(pty)Tj -/T1_0 1 Tf -2.074 0 Td -[(pr)18(ogram. )-273(The)]TJ -/TT0 1 Tf --32.694 -1.2 Td -(pty)Tj -/T1_0 1 Tf -2.072 0 Td -[(pr)18(ogram )-22(is )-22(not )-22(r)8(unning )-22(interactively)]TJ -0.2719 Tc 16.112 0 Td -(,b)Tj -0 Tc 1.075 0 Td -[(ecause )-22(its )-22(standar)]TJ -0.2719 Tc 7.834 0 Td -(di)Tj -0 Tc 1.174 0 Td -[(nput )-22(is )-22(not )-22(connected )-22(to)]TJ -0.4039 Tc -28.266 -1.2 Td -(at)Tj -0 Tc 1.23 0 Td -[(erminal. )-404(In)-404(Figur)]TJ -0.4039 Tc 8.031 0 Td -(e1)Tj -0 Tc 1.383 0 Td -[(9.1)55(1, )-154(the)]TJ -/TT0 1 Tf -4.14 0 Td -(interactive)Tj -/T1_0 1 Tf -7.004 0 Td -[(\337ag )-154(defaults )-154(to )-154(false, )-154(since )-154(the )-154(call )-154(to)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47352 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(19.2)]TJ -39.439 0 Td -(Overview)Tj -/T1_1 1 Tf -6.394 0 Td -(719)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2670 6386 1152 252 re -S -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 293.2104 649.401 Tm -(window manager)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2670 5846 1152 252 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 292.4849 595.3685 Tm -(terminal emulator)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -4182 5846 432 252 re -S -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 431.4543 595.3328 Tm -(shell)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -3341.76 4766 576 252 re -S -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 342.3298 487.323 Tm -(PTY master)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -4110 5234 576 252 re -S -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 424.6846 539.0782 Tm -(terminal)Tj --1.225 -1.25 Td -(line discipline)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -4110 4766 576 252 re -S -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 422.076 487.2645 Tm -(PTY slave)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -1878 5846 432 252 re -S -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 201.0475 595.19 Tm -(shell)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -2574.24 4766 576 252 re -S -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 265.5325 487.2061 Tm -(PTY master)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -1806 5234 576 252 re -S -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 194.307 538.9489 Tm -(terminal)Tj --1.225 -1.25 Td -(line discipline)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -1806 4766 576 252 re -S -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 191.7129 487.1476 Tm -(PTY slave)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 4478.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 4552.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 4627.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 4701.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 4775.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 4850.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 4924.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 4998.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 5073.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 5147.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 5222.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 5296.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 5371.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 5445.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 5520.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 5594.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1733.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1804.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1876.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1946.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2017.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2089.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2160.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2231.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2303.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2374.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2445.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2516.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2587.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2658.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2730.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2801.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2872.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2943.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3014.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3085.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3156.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3228.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3299.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3370.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3442.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3512.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3583.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3655.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3726.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3797.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3869.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3940.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4011.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4082.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4153.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4224.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4296.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4367.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4438.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4509.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4580.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4651.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4722.25 5630.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4794.25 5630.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 5556.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 5481.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 5407.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 5332.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 5258.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 5183.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 5109.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 5034.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 4960.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 4886.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 4811.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 4737.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 4663.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 4588.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 4514.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4758.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4687.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4616.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4545.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4474.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4403.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4332.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4260.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4189.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4118.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4047.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3976.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3905.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3833.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3762.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3691.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3619.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3548.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3478.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3406.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3335.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3264.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3192.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3121.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3050.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2979.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2908.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2837.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2766.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2694.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2623.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2552.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2481.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2410.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2339.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2267.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2196.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2125.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2053.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1982.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1912.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1840.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1769.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1698.25 4478.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9947 0 0 7.9947 484.68 503.3077 Tm -(kernel)Tj --7.874 13.675 Td -(window 2)Tj --28.8 0 Td -(window 1)Tj -ET -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 418.2 597.2 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 4182 5972 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 5972.25 cm -0 0 m -288 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9942 0 0 7.9942 390.3189 600.0078 Tm -(fork)Tj -0 -1.25 TD -(exec)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 430.224 501.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 4302.2402 5018 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4302.25 5234.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 449.376 523.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 4493.7598 5234 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4494.25 5162.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 353.4 501.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 3534 5018 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 5090.25 cm -0 0 m -0 756 l -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 372.624 584.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 3726.24 5846 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3726.25 5018.25 cm -0 0 m -0 756 l -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 432.6 548.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 4326 5486 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4326.25 5846.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 447 584.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 4470 5846 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.25 5774.25 cm -0 0 m -0 -288 l -S -Q -Q -BT -/T1_2 1 Tf -7.9914 0 0 7.9914 408.119 576.7767 Tm -(stdout)Tj -0.166 -1.25 Td -(stderr)Tj -5.089 1.25 Td -(stdin)Tj -ET -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 430.224 462.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 4302.2402 4622 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4302.25 4766.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 372.624 476.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 3726.24 4766 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3726.25 4694.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9988007 0 0 0.9988007 0 0 cm -q 1 0 0 1 372.624 462.2 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -1 j 1 J -q 1 0 0 1 3726.24 4622 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4302.25 4622.25 cm -0 0 m --504 0 l -S -Q -Q -q -0.9987408 0 0 0.9987408 0 0 cm -q 1 0 0 1 449.376 476.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -1 j 1 J -q 1 0 0 1 4493.7598 4766 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4494.25 4694.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9986808 0 0 0.9986808 0 0 cm -q 1 0 0 1 353.4 455 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -1 j 1 J -q 1 0 0 1 3534 4550 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 4766.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9986209 0 0 0.9986209 0 0 cm -q 1 0 0 1 449.376 455 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -1 j 1 J -q 1 0 0 1 4493.7598 4550 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 4550.25 cm -0 0 m -888 0 l -S -Q -Q -q -0.998561 0 0 0.998561 0 0 cm -q 1 0 0 1 231 597.2 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -1 j 1 J -q 1 0 0 1 2310 5972 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5972.25 cm -0 0 m --288 0 l -S -Q -Q -BT -/TT0 1 Tf -7.988 0 0 7.988 239.0412 599.54 Tm -(fork)Tj -T* -(exec)Tj -ET -q -0.9985011 0 0 0.9985011 0 0 cm -q 1 0 0 1 199.824 501.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -1 j 1 J -q 1 0 0 1 1998.24 5018 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1998.25 5234.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9984412 0 0 0.9984412 0 0 cm -q 1 0 0 1 218.976 523.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -1 j 1 J -q 1 0 0 1 2189.76 5234 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2190.25 5162.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9983813 0 0 0.9983813 0 0 cm -q 1 0 0 1 276.576 501.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -1 j 1 J -q 1 0 0 1 2765.76 5018 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2766.25 5090.25 cm -0 0 m -0 756 l -S -Q -Q -q -0.9983214 0 0 0.9983214 0 0 cm -q 1 0 0 1 295.8 584.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -1 j 1 J -q 1 0 0 1 2958 5846 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2958.25 5018.25 cm -0 0 m -0 756 l -S -Q -Q -q -0.9982615 0 0 0.9982615 0 0 cm -q 1 0 0 1 202.2 548.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -1 j 1 J -q 1 0 0 1 2022 5486 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2022.25 5846.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9982016 0 0 0.9982016 0 0 cm -q 1 0 0 1 216.6 584.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998202 0 0 0.0998202 0 0 cm -1 j 1 J -q 1 0 0 1 2166 5846 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998202 0 0 0.0998202 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 5774.25 cm -0 0 m -0 -288 l -S -Q -Q -BT -/T1_2 1 Tf -7.9851 0 0 7.9851 177.8289 576.327 Tm -(stdout)Tj -0.166 -1.25 Td -(stderr)Tj -5.089 1.25 Td -(stdin)Tj -ET -q -0.9981417 0 0 0.9981417 0 0 cm -q 1 0 0 1 199.824 455 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -1 j 1 J -q 1 0 0 1 1998.24 4550 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1998.25 4766.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9980818 0 0 0.9980818 0 0 cm -q 1 0 0 1 295.8 476.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -1 j 1 J -q 1 0 0 1 2958 4766 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2958.25 4694.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9980219 0 0 0.9980219 0 0 cm -q 1 0 0 1 295.8 455 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -1 j 1 J -q 1 0 0 1 2958 4550 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1998.25 4550.25 cm -0 0 m -888 0 l -S -Q -Q -q -0.997962 0 0 0.997962 0 0 cm -q 1 0 0 1 218.976 476.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0997962 0 0 0.0997962 0 0 cm -1 j 1 J -q 1 0 0 1 2189.76 4766 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0997962 0 0 0.0997962 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2190.25 4694.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9979021 0 0 0.9979021 0 0 cm -q 1 0 0 1 276.576 462.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0997902 0 0 0.0997902 0 0 cm -1 j 1 J -q 1 0 0 1 2765.76 4622 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0997902 0 0 0.0997902 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2766.25 4766.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9978423 0 0 0.9978423 0 0 cm -q 1 0 0 1 218.976 462.2 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -1 j 1 J -q 1 0 0 1 2189.76 4622 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2766.25 4622.25 cm -0 0 m --504 0 l -S -Q -Q -q -0.9977824 0 0 0.9977824 0 0 cm -q 1 0 0 1 324.6 638.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0997782 0 0 0.0997782 0 0 cm -1 j 1 J -q 1 0 0 1 3246 6386 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9977225 0 0 0.9977225 0 0 cm -q 1 0 0 1 324.6 609.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0997723 0 0 0.0997723 0 0 cm -1 j 1 J -q 1 0 0 1 3246 6098 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0997723 0 0 0.0997723 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 6314.25 cm -0 0 m -0 -144 l -S -Q -Q -BT -/T1_1 1 Tf -7.9813 0 0 7.9813 214.2181 421.6122 Tm -(Figure 19.4)Tj -/T1_0 1 Tf -5.695 0 Td -[(Arrangement of pr)18(ocesses for windowing system)]TJ -9.9766 0 0 9.9766 129.2973 392.8796 Tm -[(pr)18(ocess )-44(gr)18(oup )-44(of )-44(the )-44(PTY )-44(slave.)-544(If )-44(the )-44(application )-44(needs )-44(to )-44(r)18(edraw )-44(the )-44(scr)18(een )-44(when )-44(the)]TJ -0 -1.2 TD -[(window )-171(is )-171(r)18(esized, )-171(it )-171(can )-171(catch )-171(the)]TJ -/TT0 1 Tf -16.595 0 Td -(SIGWINCH)Tj -/T1_0 1 Tf -5.221 0 Td -[(signal, )-171(issue )-171(the)]TJ -/TT0 1 Tf -7.764 0 Td -[(TIOCGWINSZ )179(ioctl)]TJ -/T1_0 1 Tf --29.579 -1.2 Td -[(command to get the new scr)18(een dimensions, and r)18(edraw the scr)18(een.)]TJ -/TT1 1 Tf --3.6 -3.24 Td -(script)Tj -/TT2 1 Tf -3.878 0 Td -[(Pr)20(ogram)]TJ -/T1_0 1 Tf --0.278 -2.4 Td -(The)Tj -/TT0 1 Tf -1.926 0 Td -(script)Tj -/T1_0 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.585 -0.04 Td -[(pr)18(ogram )-2(that )-2(is )-2(supplied )-2(with )-2(most )-2(UNIX )-2(systems )-2(makes )-2(a )-2(copy )-2(in )-2(a )-2(\336le)]TJ --6.943 -1.2 Td -[(of )-6(everything )-6(that )-6(is )-6(input )-6(and )-6(output )-6(during )-6(a )-6(terminal )-6(session.)-506(The )-6(pr)18(ogram )-6(does )-6(this)]TJ -T* -[(by )-354(placing )-354(itself )-354(between )-354(the )-354(terminal )-354(and )-354(a )-354(new )-354(invocation )-354(of )-354(our )-354(login )-354(shell.)]TJ -T* -(Figur)Tj -0.6378 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.617 0 Td -[(9.5 )-388(details )-388(the )-388(interactions )-388(involved )-388(in )-388(the)]TJ -/TT0 1 Tf -21.399 0 Td -(script)Tj -/T1_0 1 Tf -4.238 0 Td -[(pr)18(ogram. )-638(Her)18(e, )-388(we)]TJ --29.636 -1.2 Td -[(speci\336cally )-121(show )-121(that )-121(the)]TJ -/TT0 1 Tf -11.917 0 Td -(script)Tj -/T1_0 1 Tf -3.971 0 Td -[(pr)18(ogram )-121(is )-121(normally )-121(r)8(un )-121(fr)18(om )-121(a )-121(login )-121(shell, )-121(which)]TJ --15.888 -1.2 Td -(then waits for)Tj -/TT0 1 Tf -6.368 0 Td -(script)Tj -/T1_0 1 Tf -3.85 0 Td -(to terminate.)Tj --8.418 -1.2 Td -(While)Tj -/TT0 1 Tf -2.985 0 Td -(script)Tj -/T1_0 1 Tf -3.942 0 Td -[(is )-92(r)8(unning, )-92(everything )-92(output )-92(by )-92(the )-92(terminal )-92(line )-92(discipline )-92(above)]TJ --8.727 -1.2 Td -[(the )-269(PTY )-269(slave )-269(is )-269(copied )-269(to )-269(the )-269(script )-269(\336le )-269(\(usually )-269(called)]TJ -/TT0 1 Tf -27.262 0 Td -(typescript)Tj -/T1_0 1 Tf -[(\). )-519(Since)-520(our)]TJ --27.262 -1.2 Td -[(keystr)18(okes )-273(ar)]TJ -0.5232 Tc 6.123 0 Td -(en)Tj -0 Tc 1.584 0 Td -[(ormally )-273(echoed )-273(by )-273(that )-273(line )-273(discipline )-273(module, )-273(the )-273(script )-273(\336le )-273(also)]TJ --7.707 -1.2 Td -[(contains )-25(our )-25(input.)-524(The )-25(script )-25(\336le )-25(won\325t )-25(contain )-25(any )-25(passwor)18(ds )-25(that )-25(we )-25(enter)]TJ -0.2748 Tc 34.419 0 Td -(,h)Tj -0 Tc 1.107 0 Td -[(owever)74(,)]TJ --35.526 -1.2 Td -[(since passwor)18(ds ar)18(en\325t echoed.)]TJ -7.9813 0 0 7.9813 183.1715 170.9994 Tm -[(While )-39(writing )-39(the )-39(\336rst )-39(edition )-39(of )-39(this )-39(book, )-39(Rich )-39(Stevens )-39(used )-39(the)]TJ -/TT0 1 Tf -29.472 0 Td -(script)Tj -/T1_0 1 Tf -3.889 0 Td -[(pr)18(ogram )-39(to )-39(captur)18(e)]TJ --33.362 -1.25 Td -[(the )-261(output )-261(of )-261(the )-261(example )-261(pr)16(ograms. )-511(This)-512(avoided )-261(typographical )-261(err)18(ors )-261(that )-261(could )-261(have)]TJ -0 -1.25 Td -[(occurr)18(ed )-205(if )-205(he )-205(had )-205(copied )-205(the )-205(pr)18(ogram )-205(output )-205(by )-205(hand.)-705(The )-205(drawback )-205(to )-205(using)]TJ -/TT0 1 Tf -38.15 0 Td -(script)Tj -/T1_0 1 Tf -(,)Tj --38.15 -1.25 Td -[(however)74(,)-250(is)-250(having to deal with contr)18(ol characters that ar)]TJ -0.25 Tc 25.095 0 Td -(ep)Tj --0.018 Tc 1.33 0 Td -(re)Tj -0 Tc 0.856 0 Td -(sent in the script \336le.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47353 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(708)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -(void)Tj -0 -1.189 TD -[(tty_atexit\(void\) )-4200(/*)-600(can be set up by atexit\(tty_atexit\) */)]TJ -T* -({)Tj -2.4 -1.189 Td -(if \(ttysavefd >= 0\))Tj -2.4 -1.189 Td -(tty_reset\(ttysavefd\);)Tj --4.8 -1.189 Td -(})Tj -0 -2.14 TD -(struct termios *)Tj -0 -1.189 TD -[(tty_termios\(void\) )-3600(/*)-600(let caller see original tty state */)]TJ -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(return\(&save_termios\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5499.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 237.6035 533.8749 Tm -(Figure 18.20)Tj -/T1_1 1 Tf -6.195 0 Td -[(Set terminal mode to cbr)18(eak or raw)]TJ -9.9988 0 0 9.9988 129.5846 497.8792 Tm -[(Our de\336nition of cbr)18(eak mode is the following:)]TJ -0.883 Tc 1.8 -2.04 Td -(\245N)Tj -0 Tc 2.32 0 Td -[(oncanonical )-214(mode.)-714(As )-214(we )-214(mentioned )-214(at )-214(the )-214(beginning )-214(of )-214(this )-214(section, )-214(this)]TJ --0.831 -1.2 Td -[(mode )-227(turns )-227(of)]TJ -0.4769 Tc 6.664 0 Td -(fs)Tj -0 Tc 1.234 0 Td -[(ome )-227(input )-227(character )-227(pr)18(ocessing. )-477(It)-477(does )-227(not )-227(turn )-227(of)]TJ -0.477 Tc 24.359 0 Td -(fs)Tj -0 Tc 1.234 0 Td -(ignal)Tj --33.491 -1.2 Td -[(handling, )-257(so )-257(the )-257(user )-257(can )-257(always )-257(type )-257(one )-257(of )-257(the )-257(characters )-257(that )-257(triggers )-257(a)]TJ -0 -1.2 TD -[(terminal-generated )-132(signal.)-632(Be )-132(awar)]TJ -0.3818 Tc 16.077 0 Td -(et)Tj -0 Tc 1.187 0 Td -[(hat )-132(the )-132(caller )-132(should )-132(catch )-132(these )-132(signals;)]TJ --17.264 -1.2 Td -[(otherwise, )-110(ther)18(e\325s )-110(a )-110(chance )-110(that )-110(the )-110(signal )-110(will )-110(terminate )-110(the )-110(pr)17(ogram, )-110(and )-110(the)]TJ -T* -[(terminal will be left in cbr)18(eak mode.)]TJ -0 -1.68 TD -[(As )-241(a )-241(general )-241(r)8(ule, )-241(whenever )-241(we )-241(write )-241(a )-241(pr)18(ogram )-241(that )-241(changes )-241(the )-241(terminal)]TJ -0 -1.2 TD -[(mode, )-65(we )-65(should )-65(catch )-65(most )-65(signals.)-565(This )-65(allows )-65(us )-65(to )-65(r)17(eset )-65(the )-65(terminal )-65(mode)]TJ -T* -(befor)Tj -0.25 Tc 2.288 0 Td -(et)Tj -0 Tc 1.055 0 Td -(erminating.)Tj -0.883 Tc -4.832 -1.6 Td -(\245E)Tj -0 Tc 2.1 0 Td -[(cho of)18(f.)]TJ -0.883 Tc -2.1 -1.6 Td -(\245O)Tj -0 Tc 2.275 0 Td -[(ne )-4(byte )-4(at )-4(a )-4(time )-4(input.)]TJ --0.092 Tc 10.705 0 Td -[(To )-188(d)]TJ -0.2536 Tc 1.932 0 Td -(ot)Tj -0 Tc 1.126 0 Td -[(his, )-4(we )-4(set )-4(MIN )-4(to )-4(1 )-4(and )-4(TIME )-4(to )-4(0.)-504(This )-4(is )-4(case)]TJ -0.25 Tc -14.548 -1.2 Td -(Bf)Tj --0.018 Tc 1.194 0 Td -(ro)Tj -0.25 Tc 0.923 0 Td -(mF)Tj -0 Tc 1.689 0 Td -(igur)Tj -0.25 Tc 1.827 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(8.19. )-250(A)]TJ -/TT0 1 Tf -3.528 0 Td -(read)Tj -/T1_1 1 Tf -2.65 0 Td -[(won\325t r)18(eturn until at least one byte is available.)]TJ --0.092 Tc -16.329 -2.04 Td -[(We )-184(d)]TJ -0 Tc 2.248 0 Td -(e\336ne raw mode as follows:)Tj -0.883 Tc -0.448 -2.04 Td -(\245N)Tj -0 Tc 2.32 0 Td -[(oncanonical )-371(mode.)]TJ --0.092 Tc 9.57 0 Td -[(We )-555(a)]TJ -0 Tc 2.508 0 Td -[(lso )-371(turn )-371(of)]TJ -0.6213 Tc 5.271 0 Td -(fp)Tj --0.018 Tc 1.555 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cessing )-371(of )-371(the )-371(signal-generating)]TJ --20.658 -1.2 Td -[(characters )-411(\()]TJ -/TT0 1 Tf -(ISIG)Tj -/T1_1 1 Tf -0.6606 Tc (\)a)Tj -0 Tc 9.376 0 Td -[(nd )-411(the )-411(extended )-411(input )-411(character )-411(pr)20(ocessing )-411(\()]TJ -/TT0 1 Tf -(IEXTEN)Tj -/T1_1 1 Tf -(\).)Tj --9.376 -1.2 Td -[(Additionally)111(,)-250(we)-250(d)-1(isable a BREAK character fr)16(om generating a signal, by turning)]TJ -0 -1.2 Td -[(of)18(f)]TJ -/TT0 1 Tf -1.444 0 Td -(BRKINT)Tj -/T1_1 1 Tf -(.)Tj -0.883 Tc -2.933 -1.48 Td -(\245E)Tj -0 Tc 2.1 0 Td -[(cho of)18(f.)]TJ -0.883 Tc -2.1 -1.6 Td -(\245W)Tj -0.4814 Tc 2.397 0 Td -(ed)Tj -0 Tc 1.571 0 Td -[(isable )-231(the )-231(CR-to-NL )-231(mapping )-231(on )-231(input )-231(\()]TJ -/TT0 1 Tf -19.048 0 Td -(ICRNL)Tj -/T1_1 1 Tf -[(\), )-231(input )-231(parity )-231(detection)]TJ --21.528 -1.2 Td -(\()Tj -/TT0 1 Tf -(INPCK)Tj -/T1_1 1 Tf -[(\), )-196(the )-196(stripping )-196(of )-196(the )-196(eighth )-196(bit )-196(on )-196(input )-196(\()]TJ -/TT0 1 Tf -23.503 0 Td -(ISTRIP)Tj -/T1_1 1 Tf -[(\), )-196(and )-196(output )-196(\337ow)]TJ --23.503 -1.2 Td -[(contr)18(ol \()]TJ -/TT0 1 Tf -(IXON)Tj -/T1_1 1 Tf -(\).)Tj -0.883 Tc -1.489 -1.6 Td -(\245E)Tj -0 Tc 2.1 0 Td -(ight-bit characters \()Tj -/TT0 1 Tf -(CS8)Tj -/T1_1 1 Tf -(\), and parity checking is disabled \()Tj -/TT0 1 Tf -(PARENB)Tj -/T1_1 1 Tf -(\).)Tj -0.883 Tc -2.1 -1.6 Td -(\245A)Tj -0 Tc 2.267 0 Td -[(ll output pr)18(ocessing is disabled \()]TJ -/TT0 1 Tf -(OPOST)Tj -/T1_1 1 Tf -(\).)Tj -0.883 Tc -2.267 -1.6 Td -(\245O)Tj -0 Tc 2.275 0 Td -(ne byte at a time input \(MIN = 1, TIME = 0\).)Tj --4.075 -2.04 Td -[(The pr)18(ogram in Figur)]TJ -0.25 Tc 9.538 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(8.21 tests raw and cbr)18(eak modes.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47354 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.1)]TJ -28.7243 Tc 5.388 0 Td -(1N)Tj -0 Tc 30.055 0 Td -[(oncanonical )-250(Mode)]TJ -/T1_1 1 Tf -10.39 0 Td -(709)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.783 TD -(static void)Tj -0 -1.189 TD -(sig_catch\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("signal caught\\n"\);)Tj -T* -(tty_reset\(STDIN_FILENO\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(i;)]TJ -T* -[(char )-1800(c;)]TJ -0 -1.783 TD -[(if \(signal\(SIGINT, sig_catch\) == SIG_ERR\))-1800(/* catch signals */)]TJ -2.4 -1.189 Td -(err_sys\("signal\(SIGINT\) error"\);)Tj --2.4 -1.189 Td -(if \(signal\(SIGQUIT, sig_catch\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("signal\(SIGQUIT\) error"\);)Tj --2.4 -1.189 Td -(if \(signal\(SIGTERM, sig_catch\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("signal\(SIGTERM\) error"\);)Tj --2.4 -1.783 Td -(if \(tty_raw\(STDIN_FILENO\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("tty_raw error"\);)Tj --2.4 -1.189 Td -(printf\("Enter raw mode characters, terminate with DELETE\\n"\);)Tj -0 -1.189 TD -(while \(\(i = read\(STDIN_FILENO, &c, 1\)\) == 1\) {)Tj -2.4 -1.189 Td -[(if \(\(c &= 255\) == 0177\))-3000(/* 0177 = ASCII DELETE */)]TJ -2.4 -1.189 Td -(break;)Tj --2.4 -1.189 Td -(printf\("%o\\n", c\);)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(tty_reset\(STDIN_FILENO\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("tty_reset error"\);)Tj --2.4 -1.189 Td -(if \(i <= 0\))Tj -2.4 -1.189 Td -(err_sys\("read error"\);)Tj --2.4 -1.189 Td -(if \(tty_cbreak\(STDIN_FILENO\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("tty_cbreak error"\);)Tj --2.4 -1.189 Td -(printf\("\\nEnter cbreak mode characters, terminate with SIGINT\\n"\);)Tj -0 -1.189 TD -(while \(\(i = read\(STDIN_FILENO, &c, 1\)\) == 1\) {)Tj -2.4 -1.189 Td -[(c)-600(&=)-600(255;)]TJ -0 -1.189 TD -(printf\("%o\\n", c\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(if \(tty_reset\(STDIN_FILENO\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("tty_reset error"\);)Tj --2.4 -1.189 Td -(if \(i <= 0\))Tj -2.4 -1.189 Td -(err_sys\("read error"\);)Tj --2.4 -1.783 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1678.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 235.7077 151.8298 Tm -(Figure 18.21)Tj -/T1_0 1 Tf --0.092 Tc 6.195 0 Td -(Te)Tj -0 Tc 1 0 Td -[(st raw and cbr)18(eak terminal modes)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47355 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(706)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 172.7896 670.2598 Tm -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*O)Tj -0 Tc 1.8 0 Td -[(nly some of the changes were made.)-1200(Restore the)]TJ -0.6 Tc -1.8 -1.189 Td -(*o)Tj -0 Tc 1.8 0 Td -(riginal settings.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(tcsetattr\(fd, TCSAFLUSH, &save_termios\);)Tj -0 -1.189 TD -(errno = EINVAL;)Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(ttystate = CBREAK;)Tj -0 -1.189 TD -(ttysavefd = fd;)Tj -T* -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -[(tty_raw\(int fd\))-3000(/* put terminal into a raw mode */)]TJ -T* -({)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -(err;)Tj --9.6 -1.189 Td -[(struct termios)-1200(buf;)]TJ -0 -2.14 TD -(if \(ttystate != RESET\) {)Tj -2.4 -1.189 Td -(errno = EINVAL;)Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(tcgetattr\(fd, &buf\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -(save_termios = buf; /* structure copy */)Tj -0 -2.14 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*E)Tj -0 Tc 1.8 0 Td -(cho off, canonical mode off, extended input)Tj -0.6 Tc -1.8 -1.189 Td -(*p)Tj -0 Tc 1.8 0 Td -(rocessing off, signal chars off.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(buf.c_lflag &= \367\(ECHO | ICANON | IEXTEN | ISIG\);)Tj -T* -(/*)Tj -0.6 -1.189 Td -[(*)-600(No)-600(SIGINT on BREAK, CR-to-NL off, input parity)]TJ -0.6 Tc 0 -1.189 TD -(*c)Tj -0 Tc 1.8 0 Td -(heck off, don\325t strip 8th bit on input, output)Tj -0.6 Tc -1.8 -1.189 Td -(*f)Tj -0 Tc 1.8 0 Td -(low control off.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(buf.c_iflag &= \367\(BRKINT | ICRNL | INPCK | ISTRIP | IXON\);)Tj -0 -2.14 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(lear size bits, parity checking off.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(buf.c_cflag &= \367\(CSIZE | PARENB\);)Tj -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*S)Tj -0 Tc 1.8 0 Td -(et 8 bits/char.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(buf.c_cflag |= CS8;)Tj -T* -(/*)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47356 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(19.5)]TJ -/TT0 1 Tf -37.672 0 Td -(pty)Tj -/T1_0 1 Tf -2.3 0 Td -[(Pr)18(ogram)]TJ -/T1_1 1 Tf -5.861 0 Td -(731)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -0.6 Tc 8.9995 0 0 8.9995 151.1909 670.2598 Tm -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(pid == 0\) {)-3600(/* child */)]TJ -0.6 -1.189 Td -(if \(noecho\))Tj -2.4 -1.189 Td -[(set_noecho\(STDIN_FILENO\); )-1200(/*)-600(stdin is slave pty */)]TJ --2.4 -2.021 Td -(if \(execvp\(argv[optind], &argv[optind]\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t execute: %s", argv[optind]\);)Tj --4.8 -1.189 Td -(})Tj -0 -2.021 TD -(if \(verbose\) {)Tj -2.4 -1.189 Td -(fprintf\(stderr, "slave name = %s\\n", slave_name\);)Tj -0 -1.189 TD -(if \(driver != NULL\))Tj -2.4 -1.189 Td -(fprintf\(stderr, "driver = %s\\n", driver\);)Tj --4.8 -1.189 Td -(})Tj -0 -2.021 TD -(if \(interactive && driver == NULL\) {)Tj -2.4 -1.189 Td -[(if \(tty_raw\(STDIN_FILENO\) < 0\))-1200(/* user\325s tty to raw mode */)]TJ -2.4 -1.189 Td -(err_sys\("tty_raw error"\);)Tj --2.4 -1.189 Td -[(if \(atexit\(tty_atexit\) < 0\))-3000(/* reset user\325s tty on exit */)]TJ -2.4 -1.189 Td -(err_sys\("atexit error"\);)Tj --4.8 -1.189 Td -(})Tj -T* -(if \(driver\))Tj -2.4 -1.189 Td -[(do_driver\(driver\); )-600(/*)-600(changes our stdin/stdout */)]TJ --2.4 -2.021 Td -[(loop\(fdm, ignoreeof\);)-1800(/* copies stdin -> ptym, ptym -> stdout */)]TJ -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -T* -(static void)Tj -0 -1.189 TD -[(set_noecho\(int fd\))-3600(/* turn off echo \(for slave pty\) */)]TJ -T* -({)Tj -2.4 -1.189 Td -[(struct termios)-1200(stermios;)]TJ -0 -2.021 TD -(if \(tcgetattr\(fd, &stermios\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("tcgetattr error"\);)Tj --2.4 -2.021 Td -(stermios.c_lflag &= \367\(ECHO | ECHOE | ECHOK | ECHONL\);)Tj -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*A)Tj -0 Tc 1.8 0 Td -(lso turn off NL to CR/NL mapping on output.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(stermios.c_oflag &= \367\(ONLCR\);)Tj -T* -(if \(tcsetattr\(fd, TCSANOW, &stermios\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("tcsetattr error"\);)Tj --4.8 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2086.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 229.5405 192.5859 Tm -[(Figure 19.1)37(1)]TJ -/T1_0 1 Tf -6.158 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(main)Tj -/T1_0 1 Tf -2.65 0 Td -(function for the)Tj -/TT0 1 Tf -7.118 0 Td -(pty)Tj -/T1_0 1 Tf -2.05 0 Td -[(pr)18(ogram)]TJ -9.9988 0 0 9.9988 129.5848 168.5888 Tm -[(In )-99(the )-99(next )-99(section, )-99(we\325ll )-99(look )-99(at )-99(the )-99(various )-99(command)]TJ -24.792 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-99(options )-99(when )-99(we )-99(examine)]TJ --25.125 -1.2 Td -[(dif)18(fer)18(ent )-54(uses )-54(of )-54(the)]TJ -/TT0 1 Tf -9.203 0 Td -(pty)Tj -/T1_0 1 Tf -2.104 0 Td -[(pr)18(ogram. )-304(The)]TJ -/TT0 1 Tf -6.639 0 Td -(getopt)Tj -/T1_0 1 Tf -3.904 0 Td -[(function )-54(helps )-54(us )-54(parse )-54(command)]TJ -15.174 0.09 Td -(-)Tj -0.333 -0.09 Td -(line)Tj --37.357 -1.2 Td -[(ar)18(guments )-15(in )-15(a )-15(consistent )-15(manner)]TJ -0.5154 Tc 14.936 0 Td -(.T)Tj -0.2654 Tc 1.286 0 Td -(oe)Tj -0 Tc 1.29 0 Td -[(nfor)18(ce )-15(POSIX )-15(behavior )-15(on )-15(Linux )-15(systems, )-15(we )-15(set)]TJ --17.512 -1.2 Td -(the \336rst character of the option string to a plus sign.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47357 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.5)]TJ -38.822 0 Td -(Reentrancy)Tj -/T1_1 1 Tf -7.011 0 Td -(443)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(thr)18(ead-safe )-173(versions )-173(of )-173(these )-173(functions.)-673(The )-173(functions )-173(have )-173(the )-173(same )-173(names )-173(as )-173(their)]TJ -0 -1.2 TD -[(non-thr)18(ead-safe )-93(r)18(elatives, )-93(but )-93(with )-93(an)]TJ -/TT0 1 Tf -17.283 0 Td -(_r)Tj -/T1_0 1 Tf -1.543 0 Td -[(appended )-93(at )-93(the )-93(end )-93(of )-93(the )-93(name, )-93(signifying)]TJ --18.826 -1.2 Td -[(that )-225(these )-225(versions )-225(ar)]TJ -0.4749 Tc 10.032 0 Td -(er)Tj -0 Tc 1.331 0 Td -[(eentrant. )-475(Many)-475(functions )-225(ar)]TJ -0.4749 Tc 13.186 0 Td -(en)Tj -0 Tc 1.536 0 Td -[(ot )-225(thr)18(ead-safe, )-225(because )-225(they)]TJ --0.018 Tc -26.084 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-119(data )-119(stor)18(ed )-119(in )-119(a )-119(static )-119(memory )-119(buf)15(fer)]TJ -0.6195 Tc 19.223 0 Td -(.T)Tj -0 Tc 1.482 0 Td -[(hey )-119(ar)]TJ -0.3694 Tc 2.863 0 Td -(em)Tj -0 Tc 1.731 0 Td -[(ade )-119(thr)18(ead-safe )-119(by )-119(changing)]TJ --26.156 -1.2 Td -[(their interfaces to r)18(equir)]TJ -0.25 Tc 10.635 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(hat the caller pr)18(ovide its own buf)18(fer)74(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2642.25 5974.25 cm -0 0 m -1208 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 268.1678 589.3293 Tm -[(getgrgid_r )-900(localtime_r)]TJ -0 -1.25 TD -[(getgrnam_r )-900(readdir_r)]TJ -T* -[(getlogin_r )-900(strerror_r)]TJ -T* -[(getpwnam_r )-900(strtok_r)]TJ -T* -[(getpwuid_r )-900(ttyname_r)]TJ -T* -(gmtime_r)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2642.25 5354.25 cm -0 0 m -1208 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3222.25 5354.25 cm -0 0 m -0 620 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3850.25 5354.25 cm -0 0 m -0 620 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2642.25 5354.25 cm -0 0 m -0 620 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 241.4285 517.3069 Tm -(Figure 12.10)Tj -/T1_0 1 Tf -6.195 0 Td -[(Alternative thr)18(ead-safe functions)]TJ -9.9982 0 0 9.9982 147.5736 488.5121 Tm -[(If )-347(a )-347(function )-347(is )-347(r)18(eentrant )-347(with )-347(r)18(espect )-347(to )-347(multiple )-347(thr)18(eads, )-347(we )-347(say )-347(that )-347(it )-347(is)]TJ --1.8 -1.2 Td -[(thr)18(ead-safe. )-556(This)-556(doesn\325t )-306(tell )-306(us, )-306(however)]TJ -0.5559 Tc 19.85 0 Td -(,w)Tj -0 Tc 1.64 0 Td -[(hether )-306(the )-306(function )-306(is )-306(r)18(eentrant )-306(with)]TJ --0.018 Tc -21.489 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(spect )-105(to )-105(signal )-105(handlers.)]TJ --0.092 Tc 11.575 0 Td -[(We )-289(s)]TJ -0 Tc 2.166 0 Td -[(ay )-105(that )-105(a )-105(function )-105(that )-105(is )-105(safe )-105(to )-105(be )-105(r)16(eenter)18(ed )-105(fr)18(om )-105(an)]TJ --14.597 -1.2 Td -[(asynchr)18(onous )-30(signal )-30(handler )-30(is)]TJ -/T1_2 1 Tf -14.085 0 Td -[(async-signal )-30(safe)]TJ -/T1_0 1 Tf -0.5299 Tc (.W)Tj -0.2799 Tc 8.542 0 Td -(es)Tj -0 Tc 1.183 0 Td -[(aw )-30(the )-30(async-signal )-30(safe )-30(functions)]TJ --23.809 -1.2 Td -(in Figur)Tj -0.25 Tc 3.506 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(0.4 when we discussed r)18(eentrant functions in Section 10.6.)]TJ --2.935 -1.2 Td -[(In )-262(addition )-262(to )-262(the )-262(functions )-262(listed )-262(in )-262(Figur)]TJ -0.5116 Tc 20.326 0 Td -(e1)Tj -0 Tc 1.491 0 Td -[(2.10, )-262(POSIX.1 )-262(pr)19(ovides )-262(a )-262(way )-262(to)]TJ --23.617 -1.2 Td -(manage)Tj -/TT0 1 Tf -4.377 0 Td -(FILE)Tj -/T1_0 1 Tf -3.277 0 Td -[(objects )-627(in )-627(a )-627(thr)18(ead-safe )-627(way)]TJ -1.1272 Tc 14.611 0 Td -(.Y)Tj -0 Tc 1.952 0 Td -[(ou )-627(can )-627(use)]TJ -/TT0 1 Tf -6.812 0 Td -(flockfile)Tj -/T1_0 1 Tf -6.277 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(ftrylockfile)Tj -/T1_0 1 Tf -7.684 0 Td -[(to )-234(obtain )-234(a )-234(lock )-234(associated )-234(with )-234(a )-234(given)]TJ -/TT0 1 Tf -19.433 0 Td -(FILE)Tj -/T1_0 1 Tf -2.884 0 Td -[(object. )-484(This)-485(lock )-234(is)]TJ --0.018 Tc -30.002 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cursive: )-191(you )-191(can )-191(acquir)17(e)-441(it)-441(again, )-191(while )-191(you )-191(alr)17(eady )-191(hold )-191(it, )-191(without )-191(deadlocking.)]TJ --0.856 -1.2 Td -[(Although )-39(the )-39(exact )-39(implementation )-39(of )-39(the )-39(lock )-39(is )-39(unspeci\336ed, )-39(all )-39(standar)]TJ -0.289 Tc 32.454 0 Td -(dI)Tj -0 Tc 1.237 0 Td -[(/O )-39(r)18(outines)]TJ --33.691 -1.2 Td -[(that )-175(manipulate)]TJ -/TT0 1 Tf -7.641 0 Td -(FILE)Tj -/T1_0 1 Tf -2.826 0 Td -[(objects )-175(ar)]TJ -0.4255 Tc 4.309 0 Td -(er)Tj -0 Tc 1.281 0 Td -[(equir)18(ed )-175(to )-175(behave )-175(as )-175(if )-175(they )-175(call)]TJ -/TT0 1 Tf -15.425 0 Td -(flockfile)Tj -/T1_0 1 Tf -5.825 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(funlockfile)Tj -/T1_0 1 Tf -6.85 0 Td -[(internally)111(.)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.5739 338.639 Tm -(#include )Tj -0 -2.14 TD -(int ftrylockfile\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -17.37 -2.14 Td -[(Returns: 0 if OK, nonzer)18(o)-250(if)-250(lock can\325t be acquir)18(ed)]TJ -/TT0 1 Tf --17.37 -2.14 Td -(void flockfile\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj --0 -2.14 Td -(void funlockfile\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2571.25 cm -0 0 m -0 906 l -3900 906 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9976 0 0 9.9976 147.5646 242.4018 Tm -[(Although )-86(the )-86(standar)]TJ -0.3362 Tc 9.643 0 Td -(dI)Tj -0 Tc 1.284 0 Td -[(/O )-86(r)18(outines )-86(might )-86(be )-86(implemented )-86(to )-86(be )-86(thr)18(ead-safe )-86(fr)16(om)]TJ --12.728 -1.2 Td -[(the )-221(perspective )-221(of )-221(their )-221(own )-221(internal )-221(data )-221(str)7(uctur)18(es, )-221(it )-221(is )-221(still )-221(useful )-221(to )-221(expose )-221(the)]TJ -0 -1.2 Td -[(locking )-64(to )-64(applications.)-565(This )-64(allows )-64(applications )-64(to )-64(compose )-64(multiple )-64(calls )-64(to )-64(standar)14(d)]TJ -0 -1.2 TD -[(I/O )-221(functions )-221(into )-221(atomic )-221(sequences.)-723(Of )-221(course, )-221(when )-221(dealing )-221(with )-221(multiple)]TJ -/TT0 1 Tf -36.6 0 Td -(FILE)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(objects, you need to bewar)18(e)-250(of)-250(potential deadlocks and to or)18(der your locks car)18(efully)111(.)]TJ -1.8 -1.2 Td -[(If )-90(the )-90(standar)]TJ -0.3405 Tc 6.058 0 Td -(dI)Tj -0 Tc 1.289 0 Td -[(/O )-90(r)18(outines )-91(acquir)]TJ -0.3406 Tc 8.476 0 Td -(et)Tj -0 Tc 1.146 0 Td -[(heir )-91(own )-91(locks, )-91(then )-91(we )-91(can )-91(r)8(un )-91(into )-91(serious)]TJ --18.768 -1.2 Td -[(performance )-16(degradation )-16(when )-16(doing )-16(character)18(-at-a-time )-16(I/O.)-516(In )-16(this )-16(situation, )-16(we )-16(end)]TJ -T* -[(up )-172(acquiring )-172(and )-172(r)18(eleasing )-172(a )-172(lock )-172(for )-172(every )-172(character )-172(r)18(ead )-172(or )-172(written.)]TJ --0.092 Tc 32.953 0 Td -[(To )-356(a)]TJ -0 Tc 1.989 0 Td -[(void )-172(this)]TJ --34.942 -1.2 Td -[(over)18(head, )-22(unlocked )-22(versions )-22(of )-22(the )-22(character)18(-based )-22(standar)]TJ -0.2716 Tc 26.37 0 Td -(dI)Tj -0 Tc 1.22 0 Td -[(/O )-22(r)18(outines )-22(ar)]TJ -0.2716 Tc 6.44 0 Td -(ea)Tj -0 Tc 1.251 0 Td -(vailable.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47358 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(698)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 183.589 670.2598 Tm -(strcmp\(pathname, "/dev/stdout"\) == 0 ||)Tj -0 -1.189 TD -(strcmp\(pathname, "/dev/stderr"\) == 0\))Tj -1.2 -1.189 Td -(continue;)Tj --2.4 -1.189 Td -(if \(stat\(pathname, &devstat\) < 0\))Tj -2.4 -1.189 Td -(continue;)Tj --2.4 -1.189 Td -(if \(S_ISDIR\(devstat.st_mode\)\) {)Tj -2.4 -1.189 Td -(add\(pathname\);)Tj -T* -(continue;)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(devstat.st_ino == fdstatp->st_ino &&)Tj -1.2 -1.189 Td -[(devstat.st_dev == fdstatp->st_dev\) {)-1200(/* found a match */)]TJ -1.2 -1.189 Td -(closedir\(dp\);)Tj -T* -(return\(pathname\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(closedir\(dp\);)Tj -0 -1.189 TD -(return\(NULL\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(char *)Tj -0 -1.189 TD -(ttyname\(int fd\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct stat)-3000(fdstat;)]TJ -T* -[(struct devdir)-1800(*ddp;)]TJ -T* -(char )Tj -9.6 0 Td -(*rval;)Tj --9.6 -2.021 Td -(if \(isatty\(fd\) == 0\))Tj -2.4 -1.189 Td -(return\(NULL\);)Tj --2.4 -1.189 Td -(if \(fstat\(fd, &fdstat\) < 0\))Tj -2.4 -1.189 Td -(return\(NULL\);)Tj --2.4 -1.189 Td -(if \(S_ISCHR\(fdstat.st_mode\) == 0\))Tj -2.4 -1.189 Td -(return\(NULL\);)Tj --2.4 -2.021 Td -(rval = searchdir\("/dev", &fdstat\);)Tj -0 -1.189 TD -(if \(rval == NULL\) {)Tj -2.4 -1.189 Td -(for \(ddp = head; ddp != NULL; ddp = ddp->d_next\))Tj -2.4 -1.189 Td -(if \(\(rval = searchdir\(ddp->d_name, &fdstat\)\) != NULL\))Tj -2.4 -1.189 Td -(break;)Tj --7.2 -1.189 Td -(})Tj -0 -2.021 TD -(cleanup\(\);)Tj -0 -1.189 TD -(return\(rval\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2214.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 217.5499 205.4243 Tm -(Figure 18.15)Tj -/T1_1 1 Tf -6.195 0 Td -(Implementation of POSIX.1)Tj -/TT0 1 Tf -12.404 0 Td -(ttyname)Tj -/T1_1 1 Tf -4.45 0 Td -(function)Tj -9.9988 0 0 9.9988 147.5825 181.4272 Tm -[(The )-172(technique )-172(is )-172(to )-172(r)18(ead )-172(the)]TJ -/TT0 1 Tf -13.493 0 Td -(/dev)Tj -/T1_1 1 Tf -2.822 0 Td -[(dir)18(ectory)]TJ -0.4219 Tc 3.914 0 Td -(,l)Tj -0 Tc 0.963 0 Td -[(ooking )-172(for )-172(an )-172(entry )-172(with )-172(the )-172(same)]TJ --22.992 -1.2 Td -[(device )-51(number )-51(and )-51(i-node )-51(number)]TJ -0.5509 Tc 15.524 0 Td -(.R)Tj -0 Tc 1.469 0 Td -[(ecall )-51(fr)18(om )-51(Section )-51(4.24 )-51(that )-51(each )-51(\336le )-51(system )-51(has )-51(a)]TJ --16.992 -1.2 Td -[(unique )-94(device )-94(number )-94(\(the)]TJ -/TT0 1 Tf -12.579 0 Td -(st_dev)Tj -/T1_1 1 Tf -3.944 0 Td -[(\336eld )-94(in )-94(the)]TJ -/TT0 1 Tf -5.279 0 Td -(stat)Tj -/T1_1 1 Tf -2.744 0 Td -[(str)8(uctur)18(e, )-94(fr)18(om )-94(Section )-94(4.2\), )-94(and)]TJ --24.546 -1.2 Td -[(each )-11(dir)18(ectory )-11(entry )-11(in )-11(that )-11(\336le )-11(system )-11(has )-11(a )-11(unique )-11(i-node )-11(number )-11(\(the)]TJ -/TT0 1 Tf -32.019 0 Td -(st_ino)Tj -/T1_1 1 Tf -3.861 0 Td -[(\336eld )-11(in)]TJ --35.88 -1.2 Td -(the)Tj -/TT0 1 Tf -1.762 0 Td -(stat)Tj -/T1_1 1 Tf -2.775 0 Td -[(str)8(uctur)18(e\). )-375(W)]TJ -0.3752 Tc 6.085 0 Td -(ea)Tj -0 Tc 1.354 0 Td -[(ssume )-125(in )-125(this )-125(function )-125(that )-125(when )-125(we )-125(hit )-125(a )-125(matching )-125(device)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47359 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.9)]TJ --0.092 Tc 33.471 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(Identi\336cation)]TJ -/T1_1 1 Tf -11.362 0 Td -(695)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Note )-55(that )-55(we )-55(can\325t )-55(pr)18(otect )-55(against )-55(overr)10(unning )-55(the )-55(caller)-74(\325s )-55(buf)19(fer)]TJ -0.3048 Tc 29.115 0 Td -(,b)Tj -0 Tc 1.108 0 Td -[(ecause )-55(we )-55(have)]TJ --32.022 -1.2 Td -(no way to determine its size.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 6570.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.09 Tc 9.9988 0 0 9.9988 147.5823 630.5243 Tm -(Tw)Tj -0.4716 Tc 1.357 0 Td -(of)Tj -0 Tc 1.351 0 Td -[(unctions )-222(that )-222(ar)]TJ -0.4716 Tc 7.352 0 Td -(em)Tj -0 Tc 1.834 0 Td -(or)Tj -0.4717 Tc 0.923 0 Td -(ei)Tj -0 Tc 1.242 0 Td -[(nter)18(esting )-222(for )-222(a )-222(UNIX )-222(system )-222(ar)20(e)]TJ -/TT0 1 Tf -16.087 0 Td -(isatty)Tj -/T1_0 1 Tf -0.4717 Tc (,w)Tj -0 Tc 5.156 0 Td -(hich)Tj --0.018 Tc -37.101 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-51(tr)8(ue )-51(if )-51(a )-51(\336le )-51(descriptor )-51(r)18(efers )-51(to )-51(a )-51(terminal )-51(device, )-51(and)]TJ -/TT0 1 Tf -27.172 0 Td -(ttyname)Tj -/T1_0 1 Tf -0.3015 Tc (,w)Tj -0 Tc 5.586 0 Td -[(hich )-51(r)18(eturns)]TJ --33.614 -1.2 Td -[(the pathname of the terminal device that is open on a \336le descriptor)74(.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 587.4295 Tm -(#include )Tj -0 -2.14 TD -(int isatty\(int)Tj -/T1_2 1 Tf -9 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -6.606 -2.14 Td -[(Returns: 1 \(tr)8(ue\) if terminal device, 0 \(false\) otherwise)]TJ -/TT0 1 Tf --15.606 -2.14 Td -(char *ttyname\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -3.665 -2.14 Td -(Returns: pointer to pathname of terminal,)Tj -/TT0 1 Tf -18.648 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5059.25 cm -0 0 m -0 906 l -3900 906 l -3900 0 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -9.9982 0 0 9.9982 93.5832 468.3757 Tm -[(Example )195(\321)]TJ -/TT2 1 Tf -5.28 0 Td -(isatty)Tj -/TT1 1 Tf -3.878 0 Td -(Function)Tj -/T1_0 1 Tf --5.558 -2.4 Td -(The)Tj -/TT0 1 Tf -1.933 0 Td -(isatty)Tj -/T1_0 1 Tf -3.859 0 Td -[(function )-9(is )-9(trivial )-9(to )-9(implement, )-9(as )-9(we )-9(show )-9(in )-9(Figur)]TJ -0.2594 Tc 23.231 0 Td -(e1)Tj -0 Tc 1.238 0 Td -[(8.13. )-259(W)]TJ -0.2594 Tc 3.417 0 Td -(es)Tj -0 Tc 1.162 0 Td -[(imply )-9(try)]TJ --34.841 -1.2 Td -[(one )-85(of )-85(the )-85(terminal-speci\336c )-85(functions )-85(\(that )-85(doesn\325t )-85(change )-85(anything )-85(if )-85(it )-85(succeeds\) )-85(and)]TJ -0 -1.2 TD -[(look at the r)18(eturn value.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4132.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 129.5689 403.6621 Tm -[(#include )-1800()]TJ -0 -2.14 TD -(int)Tj -0 -1.189 TD -(isatty\(int fd\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(struct termios)-1200(ts;)]TJ -0 -2.14 TD -(return\(tcgetattr\(fd, &ts\) != -1\); /* true if no error \(is a tty\) *\ /)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3176.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 219.91 301.5475 Tm -(Figure 18.13)Tj -/T1_0 1 Tf -6.195 0 Td -(Implementation of POSIX.1)Tj -/TT0 1 Tf -12.404 0 Td -(isatty)Tj -/T1_0 1 Tf -3.85 0 Td -(function)Tj --0.092 Tc 9.997 0 0 9.997 147.5559 271.5565 Tm -[(We )-184(t)]TJ -0 Tc 1.963 0 Td -(est our)Tj -/TT0 1 Tf -3.273 0 Td -(isatty)Tj -/T1_0 1 Tf -3.85 0 Td -[(function with the pr)18(ogram in Figur)]TJ -0.25 Tc 15.491 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(8.14.)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2644.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9968 0 0 8.9968 129.5534 254.8452 Tm -(#include "apue.h")Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("fd 0: %s\\n", isatty\(0\) ? "tty" : "not a tty"\);)Tj -T* -(printf\("fd 1: %s\\n", isatty\(1\) ? "tty" : "not a tty"\);)Tj -T* -(printf\("fd 2: %s\\n", isatty\(2\) ? "tty" : "not a tty"\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1570.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 254.9369 140.9868 Tm -(Figure 18.14)Tj -/T1_0 1 Tf --0.092 Tc 6.195 0 Td -(Te)Tj -0 Tc 1 0 Td -(st the)Tj -/TT0 1 Tf -2.637 0 Td -(isatty)Tj -/T1_0 1 Tf -3.85 0 Td -(function)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47360 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.9)]TJ --0.092 Tc 33.471 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(Identi\336cation)]TJ -/T1_1 1 Tf -11.362 0 Td -(699)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(number )-160(and )-160(matching )-160(i-node )-160(number)]TJ -0.4096 Tc 17.253 0 Td -(,w)Tj -0 Tc 1.494 0 Td -[(e\325ve )-159(located )-159(the )-159(desir)18(ed )-159(dir)18(ectory )-159(entry)]TJ -0.6595 Tc 17.956 0 Td -(.W)Tj -0 Tc 1.817 0 Td -(e)Tj --38.521 -1.2 Td -[(could )-169(also )-169(verify )-169(that )-169(the )-169(two )-169(entries )-169(have )-169(matching)]TJ -/TT0 1 Tf -24.742 0 Td -(st_rdev)Tj -/T1_0 1 Tf -4.619 0 Td -[(\336elds )-169(\(the )-169(major )-169(and)]TJ --29.361 -1.2 Td -[(minor )-328(device )-328(numbers )-328(for )-328(the )-328(terminal )-328(device\) )-328(and )-328(that )-328(the )-328(dir)18(ectory )-328(entry )-328(is )-328(a)]TJ -0 -1.2 TD -[(character )-216(special )-216(\336le.)-715(However)]TJ -0.4656 Tc 14.423 0 Td -(,s)Tj -0 Tc 1.14 0 Td -[(ince )-216(we\325ve )-216(alr)19(eady )-216(veri\336ed )-216(that )-216(the )-216(\336le )-216(descriptor)]TJ --15.562 -1.2 Td -[(ar)18(gument )-133(is )-133(both )-133(a )-133(terminal )-133(device )-133(and )-133(a )-133(character )-133(special )-133(\336le, )-133(and )-133(since )-133(a )-133(matching)]TJ -T* -[(device )-94(number )-94(and )-94(i-node )-94(number )-94(pair )-94(is )-94(unique )-94(on )-94(a )-94(UNIX )-94(system, )-94(ther)13(e)-344(is)-344(no)-344(n)-1(eed)]TJ --0 -1.2 Td -(for the additional comparisons.)Tj -1.8 -1.2 Td -[(The )-67(name )-67(of )-67(our )-67(terminal )-67(might )-67(r)18(eside )-67(in )-67(a )-67(subdir)18(ectory )-67(in)]TJ -/TT0 1 Tf -26.926 0 Td -(/dev)Tj -/T1_0 1 Tf -0.567 Tc (.T)Tj -0 Tc 3.83 0 Td -[(hus, )-67(we )-67(might)]TJ --32.556 -1.2 Td -[(need )-90(to )-90(sear)18(ch )-90(the )-90(entir)]TJ -0.3402 Tc 10.632 0 Td -(e\336)Tj -0 Tc 1.424 0 Td -[(le )-90(system )-90(tr)18(ee )-90(under)]TJ -/TT0 1 Tf -9.554 0 Td -(/dev)Tj -/T1_0 1 Tf -0.5902 Tc (.W)Tj -0.3402 Tc 4.148 0 Td -(es)Tj -0 Tc 1.243 0 Td -[(kip )-90(several )-90(dir)18(ectories )-90(that)]TJ --27.001 -1.2 Td -[(might )-65(pr)18(oduce )-65(incorr)18(ect )-65(or )-65(odd)]TJ -14.153 0.09 Td -(-)Tj -0.333 -0.09 Td -[(looking )-65(r)18(esults:)]TJ -/TT0 1 Tf -7.173 0 Td -(/dev/.)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.165 0 Td -(/dev/..)Tj -/T1_0 1 Tf -0.3153 Tc (,a)Tj -0 Tc 5.265 0 Td -(nd)Tj -/TT0 1 Tf -1.508 0 Td -(/dev/fd)Tj -/T1_0 1 Tf -0.5653 Tc (.W)Tj -0 Tc 5.923 0 Td -(e)Tj --38.521 -1.2 Td -[(also )-141(skip )-141(the )-141(aliases)]TJ -/TT0 1 Tf -9.493 0 Td -(/dev/stdin)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -6.641 0 Td -(/dev/stdout)Tj -/T1_0 1 Tf -0.3909 Tc (,a)Tj -0 Tc 7.741 0 Td -(nd)Tj -/TT0 1 Tf -1.584 0 Td -(/dev/stderr)Tj -/T1_0 1 Tf -0.3909 Tc (,s)Tj -0 Tc 7.665 0 Td -[(ince )-141(they )-141(ar)18(e)]TJ --33.123 -1.2 Td -(symbolic links to \336les in)Tj -/TT0 1 Tf -10.926 0 Td -(/dev/fd)Tj -/T1_0 1 Tf -(.)Tj --0.092 Tc -9.126 -1.2 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -[(an test this implementation with the pr)18(ogram shown in Figur)]TJ -0.25 Tc 27.072 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(8.16.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5178.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 508.238 Tm -(#include "apue.h")Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(char *name;)Tj -0 -1.902 TD -(if \(isatty\(0\)\) {)Tj -2.4 -1.189 Td -(name = ttyname\(0\);)Tj -0 -1.189 TD -(if \(name == NULL\))Tj -2.4 -1.189 Td -(name = "undefined";)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(name = "not a tty";)Tj --2.4 -1.189 Td -(})Tj -T* -(printf\("fd 0: %s\\n", name\);)Tj -0 -1.902 TD -(if \(isatty\(1\)\) {)Tj -2.4 -1.189 Td -(name = ttyname\(1\);)Tj -0 -1.189 TD -(if \(name == NULL\))Tj -2.4 -1.189 Td -(name = "undefined";)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(name = "not a tty";)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(printf\("fd 1: %s\\n", name\);)Tj -0 -1.902 TD -(if \(isatty\(2\)\) {)Tj -2.4 -1.189 Td -(name = ttyname\(2\);)Tj -0 -1.189 TD -(if \(name == NULL\))Tj -2.4 -1.189 Td -(name = "undefined";)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(name = "not a tty";)Tj --2.4 -1.189 Td -(})Tj -T* -(printf\("fd 2: %s\\n", name\);)Tj -0 -1.902 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1504.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 252.5985 134.3738 Tm -(Figure 18.16)Tj -/T1_0 1 Tf --0.092 Tc 6.195 0 Td -(Te)Tj -0 Tc 1 0 Td -(st the)Tj -/TT0 1 Tf -2.637 0 Td -(ttyname)Tj -/T1_0 1 Tf -4.45 0 Td -(function)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47361 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(696)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(When we r)8(un the pr)18(ogram fr)18(om Figur)]TJ -0.25 Tc 16.795 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(8.14, we get the following output:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 652.2609 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(fd 0: tty)Tj -0 -1.189 TD -(fd 1: tty)Tj -T* -(fd 2: tty)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out /dev/null)Tj -/TT0 1 Tf --1.2 -1.189 Td -(fd 0: not a tty)Tj -T* -(fd 1: tty)Tj -T* -(fd 2: not a tty)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5714.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -9.9988 0 0 9.9988 93.5888 535.3358 Tm -[(Example )195(\321)]TJ -/TT1 1 Tf -5.28 0 Td -(ttyname)Tj -/TT2 1 Tf -4.478 0 Td -(Function)Tj -/T1_1 1 Tf --6.158 -2.4 Td -(The)Tj -/TT0 1 Tf -2.14 0 Td -(ttyname)Tj -/T1_1 1 Tf -4.666 0 Td -[(function )-216(\(Figur)]TJ -0.4659 Tc 6.889 0 Td -(e1)Tj -0 Tc 1.445 0 Td -[(8.15\) )-216(is )-216(longer)74(,)-466(as)-466(w)]TJ -0.4658 Tc (eh)Tj -0 Tc 10.971 0 Td -[(ave )-216(to )-216(sear)18(ch )-216(all )-216(the )-216(device)]TJ --26.111 -1.2 Td -(entries, looking for a match.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4922.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 482.6121 Tm -[(#include )-1800()]TJ -T* -[(#include )-1800()]TJ -T* -[(#include )-1800()]TJ -T* -[(#include )-1800()]TJ -T* -[(#include )-1800()]TJ -0 -1.189 TD -[(#include )-1800()]TJ -0 -1.189 TD -[(#include )-1800()]TJ -0 -2.021 TD -(struct devdir {)Tj -2.4 -1.189 Td -[(struct devdir)-1800(*d_next;)]TJ -0 -1.189 TD -(char )Tj -9.6 0 Td -(*d_name;)Tj --12 -1.189 Td -(};)Tj -0 -2.021 TD -[(static struct devdir)-2400(*head;)]TJ -0 -1.189 TD -[(static struct devdir)-2400(*tail;)]TJ -T* -(static char)Tj -14.4 0 Td -(pathname[_POSIX_PATH_MAX + 1];)Tj --14.4 -2.021 Td -(static void)Tj -T* -(add\(char *dirname\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct devdir)-1800(*ddp;)]TJ -T* -(int )Tj -9.6 0 Td -(len;)Tj --9.6 -2.021 Td -(len = strlen\(dirname\);)Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*S)Tj -0 Tc 1.8 0 Td -(kip ., .., and /dev/fd.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(\(dirname[len-1] == \325.\325\) && \(dirname[len-2] == \325/\325 ||\ )Tj -1.2 -1.189 Td -(\(dirname[len-2] == \325.\325 && dirname[len-3] == \325/\325\)\)\))Tj -1.2 -1.189 Td -(return;)Tj --2.4 -1.189 Td -(if \(strcmp\(dirname, "/dev/fd"\) == 0\))Tj -2.4 -1.189 Td -(return;)Tj --2.4 -1.189 Td -(if \(\(ddp = malloc\(sizeof\(struct devdir\)\)\) == NULL\))Tj -2.4 -1.189 Td -(return;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47362 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(716)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pseudo )-250(T)92(erminals )]TJ -38.741 0 Td -[(Chapter)-500(19)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -3354 5774 612 252 re -S -Q -BT -/T1_1 1 Tf --0.018 Tc 7.9995 0 0 7.9995 340.0396 593.2044 Tm -(re)Tj -0 Tc 0.856 0 Td -(ad and write)Tj -0.321 -1.25 Td -(functions)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -3354 5306 612 252 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 350.9699 546.3744 Tm -(terminal)Tj --1.225 -1.25 Td -(line discipline)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -3354 4838 612 252 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 336.8954 499.5501 Tm -(pseudo terminal)Tj -2.501 -1.25 Td -(slave)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2526 4838 612 252 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 254.095 499.5201 Tm -(pseudo terminal)Tj -2.127 -1.25 Td -(master)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2526 5774 612 252 re -S -Q -BT -/T1_1 1 Tf --0.018 Tc 7.9976 0 0 7.9976 257.1828 593.062 Tm -(re)Tj -0 Tc 0.856 0 Td -(ad and write)Tj -0.321 -1.25 Td -(functions)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -3444 6386 432 252 re -S -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 358.267 654.2044 Tm -(user)Tj --0.697 -1.25 Td -[(pr)18(ocess)]TJ -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2616 6386 432 252 re -S -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 275.4803 654.1652 Tm -(user)Tj --0.697 -1.25 Td -[(pr)18(ocess)]TJ -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 344.4 651.2 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3444 6512 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3048.25 6512.25 cm -0 0 m -324 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 314.8488 654.1259 Tm -(fork)Tj -0 -1.25 TD -(exec)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 366 602.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3660 6026 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 366 638.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 3660 6386 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3660.25 6098.25 cm -0 0 m -0 216 l -S -Q -Q -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 283.2 602.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 2832 6026 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 283.2 638.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 2832 6386 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2832.25 6098.25 cm -0 0 m -0 216 l -S -Q -Q -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 272.976 509 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 2729.76 5090 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2730.25 5162.25 cm -0 0 m -0 612 l -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 293.424 577.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 2934.24 5774 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2934.25 5090.25 cm -0 0 m -0 612 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 355.776 555.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 3557.76 5558 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3558.25 5774.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 376.224 577.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 3762.24 5774 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3762.25 5558.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 355.776 509 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 3557.76 5090 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3558.25 5306.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 376.224 530.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 3762.24 5306 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3762.25 5090.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 355.776 469.4 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 3557.76 4694 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3558.25 4838.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 293.424 483.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 2934.24 4838 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2934.25 4766.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9988007 0 0 0.9988007 0 0 cm -q 1 0 0 1 293.424 469.4 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -1 j 1 J -q 1 0 0 1 2934.24 4694 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3558.25 4694.25 cm -0 0 m --553 0 l -S -Q -Q -q -0.9987408 0 0 0.9987408 0 0 cm -q 1 0 0 1 376.224 483.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -1 j 1 J -q 1 0 0 1 3762.24 4838 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3762.25 4766.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9986808 0 0 0.9986808 0 0 cm -q 1 0 0 1 272.976 462.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -1 j 1 J -q 1 0 0 1 2729.76 4622 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2730.25 4838.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9986209 0 0 0.9986209 0 0 cm -q 1 0 0 1 376.224 462.2 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -1 j 1 J -q 1 0 0 1 3762.24 4622 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2730.25 4622.25 cm -0 0 m -959 0 l -S -Q -Q -BT -/T1_2 1 Tf -7.9885 0 0 7.9885 371.4647 630.9308 Tm -(stdin, stdout, stderr)Tj -ET -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 4550.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 4622.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 4694.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 4766.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 4838.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 4910.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 4982.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5054.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5126.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5198.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5270.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5342.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5414.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5486.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5558.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5630.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5702.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5774.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5846.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5918.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5990.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 6062.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 6134.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2452.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2523.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2593.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2664.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2735.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2805.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2875.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2946.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3016.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3087.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3157.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3228.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3298.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3369.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3439.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3510.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3581.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3651.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3721.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3792.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3862.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3933.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4003.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4074.25 6170.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 6098.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 6026.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5954.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5882.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5810.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5738.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5666.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5594.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5522.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5450.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5378.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5306.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5234.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5162.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5090.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 5018.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 4946.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 4874.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 4802.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 4730.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 4658.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 4586.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4039.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3969.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3898.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3828.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3757.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3686.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3617.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3546.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3475.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3405.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3334.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3264.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3193.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3123.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3052.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2982.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2911.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2840.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2771.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2700.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2629.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2559.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2488.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 4550.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.988 0 0 7.988 412.3809 533.4392 Tm -(kernel)Tj -/T1_0 1 Tf --26.736 -12.905 Td -(Figure 19.1)Tj -/T1_1 1 Tf --0.09 Tc 5.695 0 Td -(Ty)Tj -0 Tc 1.079 0 Td -[(pical arrangement of pr)18(ocesses using a pseudo terminal)]TJ -0.883 Tc 9.985 0 0 9.985 147.379 402.7953 Tm -(\245N)Tj -0 Tc 2.32 0 Td -(ormally)Tj -0.2718 Tc 3.351 0 Td -(,ap)Tj --0.018 Tc 1.895 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-22(opens )-22(the )-22(pseudo )-22(terminal )-22(master )-22(and )-22(then )-22(calls)]TJ -/TT0 1 Tf -23.866 0 Td -(fork)Tj -/T1_1 1 Tf -0.5217 Tc (.T)Tj -0 Tc 3.785 0 Td -(he)Tj --34.65 -1.2 Td -[(child )-43(establishes )-43(a )-43(new )-43(session, )-43(opens )-43(the )-43(corr)18(esponding )-43(pseudo )-43(terminal )-43(slave,)]TJ -0 -1.2 TD -[(duplicates )-364(the )-364(\336le )-364(descriptor )-364(to )-364(the )-364(standar)]TJ -0.6145 Tc 21.11 0 Td -(di)Tj -0 Tc 1.516 0 Td -[(nput, )-364(standar)]TJ -0.6145 Tc 6.296 0 Td -(do)Tj -0 Tc 1.771 0 Td -[(utput, )-364(and)]TJ --30.695 -1.2 Td -(standar)Tj -0.4328 Tc 3.32 0 Td -(de)Tj -0 Tc 1.523 0 Td -[(rr)18(or)]TJ -0.4328 Tc 1.639 0 Td -(,a)Tj -0 Tc 1.183 0 Td -[(nd )-183(then )-183(calls)]TJ -/TT0 1 Tf -6.41 0 Td -(exec)Tj -/T1_1 1 Tf -0.6828 Tc (.T)Tj -0 Tc 3.946 0 Td -[(he )-183(pseudo )-183(terminal )-183(slave )-183(becomes )-183(the)]TJ --18.021 -1.2 Td -[(contr)18(olling terminal for the child pr)18(ocess.)]TJ -0.883 Tc -1.489 -1.36 Td -(\245I)Tj -0.3473 Tc 1.826 0 Td -(ta)Tj -0 Tc 1.173 0 Td -[(ppears )-97(to )-97(the )-97(user )-97(pr)17(ocess )-97(above )-97(the )-97(slave )-97(that )-97(its )-97(standar)]TJ -0.3472 Tc 26.311 0 Td -(di)Tj -0 Tc 1.249 0 Td -[(nput, )-97(standar)18(d)]TJ --29.071 -1.2 Td -[(output, )-95(and )-95(standar)]TJ -0.3448 Tc 8.958 0 Td -(de)Tj -0 Tc 1.435 0 Td -[(rr)18(or )-95(ar)]TJ -0.3448 Tc 2.935 0 Td -(eat)Tj -0 Tc 1.995 0 Td -[(erminal )-95(device.)-595(The )-95(pr)18(ocess )-95(can )-95(issue )-95(all )-95(the)]TJ --15.322 -1.2 Td -[(terminal )-9(I/O )-9(functions )-9(fr)17(om )-9(Chapter )-9(18 )-9(on )-9(these )-9(descriptors.)-509(But )-9(since )-9(the )-9(slave)]TJ -T* -[(isn\325t )-178(a )-178(r)18(eal )-178(terminal )-178(device, )-178(functions )-178(that )-178(don\325t )-178(make )-178(sense )-178(\(e.g., )-178(change )-178(the)]TJ -T* -[(baud rate, send a br)18(eak character)]TJ -0.25 Tc 14.519 0 Td -(,s)Tj -0 Tc 0.924 0 Td -(et odd parity\) ar)Tj -0.25 Tc 7.202 0 Td -(ej)Tj -0 Tc 0.963 0 Td -[(ust ignor)18(ed.)]TJ -0.883 Tc -25.097 -1.36 Td -(\245A)Tj -0 Tc 2.267 0 Td -[(nything )-156(written )-156(to )-156(the )-156(master )-156(appears )-156(as )-156(input )-156(to )-156(the )-156(slave, )-156(and )-156(vice )-156(versa.)]TJ --0.778 -1.2 Td -[(Indeed, )-48(all )-48(the )-48(input )-48(to )-48(the )-48(slave )-48(comes )-48(fr)14(om )-49(the )-49(user )-49(pr)18(ocess )-49(above )-49(the )-49(pseudo)]TJ -T* -[(terminal )-156(master)]TJ -0.6563 Tc 7.086 0 Td -(.T)Tj -0 Tc 1.519 0 Td -[(his )-156(behaves )-156(like )-156(a )-156(bidir)17(ectional )-156(pipe, )-156(but )-156(with )-156(the )-156(terminal)]TJ --8.606 -1.2 Td -[(line )-145(discipline )-145(module )-145(above )-145(the )-145(slave, )-145(we )-145(have )-145(additional )-145(capabilities )-145(over )-145(a)]TJ -T* -(plain pipe.)Tj --3.289 -1.56 Td -(Figur)Tj -0.2815 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.261 0 Td -[(9.1 )-31(shows )-31(what )-31(a )-31(pseudo )-31(terminal )-31(looks )-31(like )-31(on )-31(a )-31(Fr)18(eeBSD, )-31(Mac )-31(OS )-31(X, )-31(or )-31(Linux)]TJ --3.644 -1.2 Td -[(system. )-250(In)-250(Section 19.3, we show how to open these devices.)]TJ -1.8 -1.2 Td -[(Under )-491(Solaris, )-491(a )-491(pseudo )-491(terminal )-491(is )-491(built )-491(using )-491(the )-491(STREAMS )-491(subsystem.)]TJ --1.8 -1.2 Td -(Figur)Tj -0.3593 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.338 0 Td -[(9.2 )-109(details )-109(the )-109(arrangement )-109(of )-109(the )-109(pseudo )-109(terminal )-109(STREAMS )-109(modules )-109(under)]TJ --3.721 -1.2 Td -[(Solaris. )-286(The)-287(two )-36(STREAMS )-36(modules )-36(that )-36(ar)]TJ -0.2865 Tc 19.685 0 Td -(es)Tj -0 Tc 1.189 0 Td -[(hown )-37(as )-37(dashed )-37(boxes )-37(ar)]TJ -0.2866 Tc 11.216 0 Td -(eo)Tj -0 Tc 1.312 0 Td -[(ptional. )-287(The)]TJ -/TT0 1 Tf --33.403 -1.2 Td -(pckt)Tj -/T1_1 1 Tf -2.866 0 Td -(and)Tj -/TT0 1 Tf -2.159 0 Td -(ptem)Tj -/T1_1 1 Tf -2.866 0 Td -[(modules )-216(help )-216(pr)18(ovide )-216(semantics )-216(speci\336c )-216(to )-216(pseudo )-216(terminals.)-715(The)]TJ --7.891 -1.2 Td -[(other )-231(two )-231(modules )-231(\()]TJ -/TT0 1 Tf -(ldterm)Tj -/T1_1 1 Tf -13.728 0 Td -(and)Tj -/TT0 1 Tf -2.174 0 Td -(ttcompat)Tj -/T1_1 1 Tf -0.4809 Tc (\)p)Tj --0.018 Tc 6.215 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vide )-231(line )-231(discipline )-231(pr)18(ocessing. )-481(In)]TJ --23.039 -1.2 Td -(Section 19.3, we show how to build this arrangement of STREAMS modules.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47363 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(806)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(120 )-1200(/*)]TJ -0 -1.189 TD -[(121 )-1800(*)-600("Timed" read - timout specifies the number of seconds to wait)]TJ -T* -[(122 )-1800(*)-600(per read call before giving up, but read exactly nbytes bytes.)]TJ -T* -[(123 )-1800(*)-600(Returns number of bytes read or -1 on error.)]TJ -T* -[(124 )-1800(*)]TJ -0 -1.189 TD -[(125 )-1800(*)-600(LOCKING: none.)]TJ -0 -1.189 TD -[(126 )-1800(*/)]TJ -T* -[(127 )-1200(ssize_t)]TJ -T* -[(128 )-1200(treadn\(int)-600(fd, void *buf, size_t nbytes, unsigned int timout\))]TJ -T* -[(129 )-1200({)]TJ -T* -[(130 )-2400(size_t)-1200(nleft;)]TJ -T* -[(131 )-2400(ssize_t)-600(nread;)]TJ -0 -2.14 TD -[(132 )-2400(nleft)]TJ -0.6 Tc 8.4 0 Td -(=n)Tj -0 Tc 1.8 0 Td -(bytes;)Tj --10.2 -1.189 Td -[(133 )-2400(while)-600(\(nleft > 0\) {)]TJ -0 -1.189 TD -[(134 )-4800(if)-600(\(\(nread = tread\(fd, buf, nleft, timout\)\) < 0\) {)]TJ -T* -(135 )Tj -9.6 0 Td -[(if)-600(\(nleft == nbytes\))]TJ --9.6 -1.189 Td -(136 )Tj -12 0 Td -[(return\(-1\);)-600(/* error, return -1 */)]TJ --12 -1.189 Td -(137 )Tj -9.6 0 Td -(else)Tj --9.6 -1.189 Td -(138 )Tj -12 0 Td -[(break;)-3600(/* error, return amount read so far */)]TJ --12 -1.189 Td -[(139 )-4800(})-600(else if \(nread == 0\) {)]TJ -T* -(140 )Tj -9.6 0 Td -(break;)Tj -9.6 0 Td -(/* EOF */)Tj --19.2 -1.189 Td -[(141 )-4800(})]TJ -T* -[(142 )-4800(nleft)-600(-= nread;)]TJ -T* -[(143 )-4800(buf)-600(+= nread;)]TJ -T* -[(144 )-2400(})]TJ -T* -[(145 )-2400(return\(nbytes)]TJ -0.6 Tc 13.2 0 Td -(-n)Tj -0 Tc 1.8 0 Td -[(left\); )-3000(/*)-600(return >= 0 */)]TJ --15 -1.189 Td -[(146 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3679.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 343.8967 Tm -[([120 )167(\320 )167(146])]TJ --0.092 Tc 5 0 Td -[(We )-240(a)]TJ -0 Tc 2.193 0 Td -[(lso )-55(pr)18(ovide )-56(a )-56(variation )-56(of)]TJ -/TT0 1 Tf -11.634 0 Td -(tread)Tj -/T1_1 1 Tf -0.3056 Tc (,c)Tj -0 Tc 4 0 Td -(alled)Tj -/TT0 1 Tf -2.478 0 Td -(treadn)Tj -/T1_1 1 Tf -0.3056 Tc (,t)Tj -0 Tc 4.482 0 Td -[(hat )-56(r)18(eads )-56(exactly )-56(the)]TJ --24.785 -1.2 Td -[(number )-68(of )-68(bytes )-68(r)18(equested. )-318(This)-318(is )-68(similar )-68(to )-68(the)]TJ -/TT0 1 Tf -22.37 0 Td -(readn)Tj -/T1_1 1 Tf -3.318 0 Td -[(function )-68(described)]TJ --25.688 -1.2 Td -[(in Section 14.7, but with the addition of the timeout parameter)74(.)]TJ --0.092 Tc 0 -1.8 TD -[(To )-262(r)]TJ -0 Tc 1.772 0 Td -[(ead )-78(exactly)]TJ -/T1_2 1 Tf -5.358 0 Td -(nbytes)Tj -/T1_1 1 Tf -2.958 0 Td -[(bytes, )-78(we )-78(have )-78(to )-78(be )-78(pr)19(epar)18(ed )-78(to )-78(make )-78(multiple )-78(calls)]TJ --10.088 -1.2 Td -(to)Tj -/TT0 1 Tf -1.373 0 Td -(read)Tj -/T1_1 1 Tf -0.7513 Tc (.T)Tj -0 Tc 4.014 0 Td -[(he )-251(dif)18(\336cult )-251(part )-251(is )-251(trying )-251(to )-251(apply )-251(a )-251(single )-251(timeout )-251(value )-251(to)]TJ --5.388 -1.2 Td -[(multiple )-72(calls )-72(to)]TJ -/TT0 1 Tf -7.553 0 Td -(read)Tj -/T1_1 1 Tf -0.572 Tc (.W)Tj -0.322 Tc 4.13 0 Td -(ed)Tj -0 Tc 1.412 0 Td -[(on\325t )-72(want )-72(to )-72(use )-72(an )-72(alarm, )-72(because )-72(signals )-72(can)]TJ --13.095 -1.2 Td -[(be )-129(messy )-129(to )-129(deal )-129(with )-129(in )-129(multithr)16(eaded )-129(applications.)]TJ --0.092 Tc 24.748 0 Td -[(We )-313(c)]TJ -0 Tc 2.21 0 Td -[(an\325t )-129(r)18(ely )-129(on )-129(the)]TJ --26.958 -1.2 Td -[(system )-76(updating )-76(the)]TJ -/TT0 1 Tf -9.526 0 Td -(timeval)Tj -/T1_1 1 Tf -4.526 0 Td -[(str)8(uctur)18(e)-326(on)-326(r)19(eturn )-76(fr)18(om)]TJ -/TT0 1 Tf -11.301 0 Td -(select)Tj -/T1_1 1 Tf -3.926 0 Td -[(to )-76(indicate)]TJ --29.278 -1.2 Td -[(the )-350(amount )-350(of )-350(time )-350(left, )-350(because )-350(many )-350(platforms )-350(do )-350(not )-350(support )-350(this)]TJ -0 -1.2 TD -[(behavior )-270(\(Section )-270(14.4.1\).)-770(Thus, )-270(we )-270(compr)18(omise )-270(and )-270(de\336ne )-270(the )-270(timeout)]TJ -T* -[(value )-18(in )-18(this )-18(case )-18(to )-18(apply )-18(to )-18(an )-18(individual)]TJ -/TT0 1 Tf -19.2 0 Td -(read)Tj -/T1_1 1 Tf -2.668 0 Td -[(call. )-267(Instead)-268(of )-17(limiting )-17(the)]TJ --21.868 -1.2 Td -[(total )-11(amount )-11(of )-11(time )-11(we )-11(wait, )-11(it )-11(limits )-11(the )-11(amount )-11(of )-11(time )-11(we\325ll )-11(wait )-11(in )-11(every)]TJ -T* -[(iteration )-38(of )-38(the )-38(loop.)-538(The )-38(maximum )-38(time )-38(we )-38(can )-38(wait )-38(is )-38(bounded )-38(by )-38(\()]TJ -/T1_2 1 Tf -31.37 0 Td -(nbytes)Tj -/TT1 1 Tf --31.37 -1.2 Td -(#)Tj -/T1_2 1 Tf -0.799 0 Td -(timout)Tj -/T1_1 1 Tf -0.25 Tc (\)s)Tj -0 Tc 3.729 0 Td -[(econds \(worst case, we\325ll r)18(eceive only 1 byte at a time\).)]TJ --0.092 Tc -4.528 -1.8 Td -[(We )-200(u)]TJ -0 Tc 2.256 0 Td -(se)Tj -/TT0 1 Tf -1.169 0 Td -(nleft)Tj -/T1_1 1 Tf -3.266 0 Td -[(to )-16(r)18(ecor)]TJ -0.2657 Tc 3.361 0 Td -(dt)Tj -0 Tc 1.203 0 Td -[(he )-16(number )-16(of )-16(bytes )-16(r)18(emaining )-16(to )-16(be )-16(r)20(ead. )-266(If)]TJ -/TT0 1 Tf -19.746 0 Td -(tread)Tj -/T1_1 1 Tf --31 -1.2 Td -[(fails )-79(and )-79(we )-79(have )-79(r)18(eceived )-79(data )-79(in )-79(a )-79(pr)18(evious )-79(iteration, )-79(we )-79(br)20(eak )-79(out )-79(of )-79(the)]TJ -/TT0 1 Tf -T* -(while)Tj -/T1_1 1 Tf -3.25 0 Td -[(loop and r)18(eturn the number of bytes r)18(ead; otherwise, we r)18(eturn)]TJ -/TT1 1 Tf -28.186 0 Td -(!)Tj -/T1_1 1 Tf -(1.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47364 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(805)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 134.9919 659.4594 Tm -[(95 )-1200(/*)]TJ -0 -1.189 TD -[(96 )-1800(*)-600("Timed" read - timout specifies the # of seconds to wait before)]TJ -T* -[(97 )-1800(*)-600(giving up \(5th argument to select controls how long to wait for)]TJ -T* -[(98 )-1800(*)-600(data to be readable\).)-1200(Returns # of bytes read or -1 on error.)]TJ -T* -[(99 )-1800(*)]TJ --0.6 -1.189 Td -[(100 )-1800(*)-600(LOCKING: none.)]TJ -T* -[(101 )-1800(*/)]TJ -T* -[(102 )-1200(ssize_t)]TJ -T* -[(103 )-1200(tread\(int)-600(fd, void *buf, size_t nbytes, unsigned int timout\))]TJ -T* -[(104 )-1200({)]TJ -T* -[(105 )-2400(int)]TJ -14.4 0 Td -(nfds;)Tj --14.4 -1.189 Td -[(106 )-2400(fd_set)]TJ -14.4 0 Td -(readfds;)Tj --14.4 -1.189 Td -[(107 )-2400(struct)-600(timeval )-600(tv;)]TJ -0 -1.902 TD -[(108 )-2400(tv.tv_sec)]TJ -0.6 Tc 10.8 0 Td -(=t)Tj -0 Tc 1.8 0 Td -(imout;)Tj --12.6 -1.189 Td -[(109 )-2400(tv.tv_usec)]TJ -0.6 Tc 11.4 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --13.2 -1.189 Td -[(110 )-2400(FD_ZERO\(&readfds\);)]TJ -0 -1.189 TD -[(111 )-2400(FD_SET\(fd,)-600(&readfds\);)]TJ -T* -[(112 )-2400(nfds)]TJ -0.6 Tc 7.8 0 Td -(=s)Tj -0 Tc 1.8 0 Td -(elect\(fd+1, &readfds, NULL, NULL, &tv\);)Tj --9.6 -1.189 Td -[(113 )-2400(if)-600(\(nfds <= 0\) {)]TJ -T* -[(114 )-4800(if)-600(\(nfds == 0\))]TJ -0 -1.189 TD -(115 )Tj -9.6 0 Td -(errno)Tj -0.6 Tc 3.6 0 Td -(=E)Tj -0 Tc 1.8 0 Td -(TIME;)Tj --15 -1.189 Td -[(116 )-4800(return\(-1\);)]TJ -0 -1.189 TD -[(117 )-2400(})]TJ -T* -[(118 )-2400(return\(read\(fd,)-600(buf, nbytes\)\);)]TJ -T* -[(119 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3915.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 367.4339 Tm -[([95 )167(\320 )167(107])]TJ --0.092 Tc 5 0 Td -[(We )-211(p)]TJ --0.018 Tc 2.265 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vide )-27(a )-27(function )-27(called)]TJ -/TT0 1 Tf -9.877 0 Td -(tread)Tj -/T1_0 1 Tf -3.277 0 Td -[(to )-27(r)18(ead )-27(a )-27(speci\336ed )-27(number )-27(of )-27(bytes, )-27(but)]TJ --16.343 -1.2 Td -[(block )-143(for )-143(at )-143(most)]TJ -/T1_2 1 Tf -8.243 0 Td -(timout)Tj -/T1_0 1 Tf -3.116 0 Td -[(seconds )-143(befor)]TJ -0.3935 Tc 6.191 0 Td -(eg)Tj -0 Tc 1.429 0 Td -[(iving )-143(up.)-643(This )-143(function )-143(is )-143(useful)]TJ --18.978 -1.2 Td -[(when )-126(r)18(eading )-126(fr)18(om )-126(a )-126(socket )-126(or )-126(a )-126(pipe.)-628(If )-126(we )-126(don\325t )-126(r)18(eceive )-126(data )-126(befor)]TJ -0.3764 Tc 31.757 0 Td -(et)Tj -0 Tc 1.181 0 Td -(he)Tj --32.939 -1.2 Td -[(speci\336ed )-263(time )-263(limit, )-263(we )-263(r)16(eturn)]TJ -/TT1 1 Tf -14.888 0 Td -(!)Tj -/T1_0 1 Tf -0.5135 Tc (1w)Tj -0 Tc 2.396 0 Td -(ith)Tj -/TT0 1 Tf -1.712 0 Td -(errno)Tj -/T1_0 1 Tf -3.514 0 Td -[(set )-263(to)]TJ -/TT0 1 Tf -3.128 0 Td -(ETIME)Tj -/T1_0 1 Tf -0.7634 Tc (.I)Tj -0.5134 Tc 4.35 0 Td -(fd)Tj -0 Tc 1.457 0 Td -[(ata )-263(is)]TJ --31.446 -1.2 Td -[(available )-1(within )-1(the )-1(time )-1(limit, )-1(we )-1(r)18(eturn )-1(at )-1(most)]TJ -/T1_2 1 Tf -21.915 0 Td -(nbytes)Tj -/T1_0 1 Tf -2.881 0 Td -[(bytes )-1(of )-1(data, )-1(but )-1(we)]TJ --24.796 -1.2 Td -[(can r)18(eturn less than r)18(equested if all the data doesn\325t arrive in time.)]TJ --0.092 Tc 0 -1.8 TD -[(We )-329(u)]TJ -0 Tc 2.385 0 Td -(se)Tj -/TT0 1 Tf -1.298 0 Td -(tread)Tj -/T1_0 1 Tf -3.395 0 Td -[(to )-145(pr)18(event )-145(denial-of-service )-145(attacks )-145(on )-145(the )-145(printer )-145(spooling)]TJ --7.079 -1.2 Td -[(daemon. )-382(A)-381(malicious )-132(user )-132(might )-132(r)19(epeatedly )-132(try )-132(to )-132(connect )-132(to )-132(the )-132(daemon)]TJ --0 -1.2 Td -[(without )-1(sending )-1(it )-1(data, )-1(just )-1(to )-1(pr)18(event )-1(other )-1(users )-1(fr)18(om )-1(being )-1(able )-1(to )-1(submit)]TJ -0 -1.2 TD -[(print )-71(jobs.)-571(By )-71(giving )-71(up )-71(after )-71(a )-71(r)15(easonable )-71(amount )-71(of )-71(time, )-71(we )-71(pr)18(event )-71(this)]TJ -T* -[(fr)18(om )-52(happening.)-553(The )-52(tricky )-52(part )-52(is )-52(selecting )-52(a )-52(suitable )-52(timeout )-52(value )-52(that )-52(is)]TJ -T* -[(lar)18(ge )-110(enough )-110(to )-110(pr)18(event )-110(pr)20(ematur)]TJ -0.3596 Tc 15.416 0 Td -(ef)Tj -0 Tc 1.172 0 Td -[(ailur)18(es )-110(when )-110(the )-110(system )-110(is )-110(under )-110(load)]TJ --16.588 -1.2 Td -[(and )-166(tasks )-166(ar)]TJ -0.4165 Tc 5.633 0 Td -(et)Tj -0 Tc 1.221 0 Td -[(aking )-166(longer )-166(to )-166(complete.)-666(If )-166(we )-166(choose )-166(a )-166(value )-166(that )-166(is )-166(too)]TJ --6.854 -1.2 Td -[(lar)18(ge, )-174(however)74(,)-424(we)-424(might )-174(enable )-174(denial-of-service )-174(attacks )-174(by )-174(allowing )-174(the)]TJ -0 -1.2 Td -[(daemon to consume too many r)18(esour)18(ces to pr)18(ocess the pending r)18(equests.)]TJ --5 -1.72 Td -[([108 )167(\320 )167(1)54(19] )-472(W)]TJ -0.2823 Tc 5.908 0 Td -(eu)Tj -0 Tc 1.364 0 Td -(se)Tj -/TT0 1 Tf -1.185 0 Td -(select)Tj -/T1_0 1 Tf -3.882 0 Td -[(to )-32(wait )-32(for )-32(the )-32(speci\336ed )-32(\336le )-32(descriptor )-32(to )-32(be )-32(r)16(eadable. )-282(If)-282(the)]TJ --7.34 -1.2 Td -[(time )-116(limit )-116(expir)18(es )-116(befor)]TJ -0.3658 Tc 10.613 0 Td -(ed)Tj -0 Tc 1.456 0 Td -[(ata )-116(is )-116(available )-116(to )-116(be )-116(r)19(ead,)]TJ -/TT0 1 Tf -12.327 0 Td -(select)Tj -/T1_0 1 Tf --0.018 Tc 3.966 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-116(0, )-116(so)]TJ --29.218 -1.2 Td -[(we )-49(set)]TJ -/TT0 1 Tf -3.141 0 Td -(errno)Tj -/T1_0 1 Tf -3.299 0 Td -(to)Tj -/TT0 1 Tf -1.171 0 Td -(ETIME)Tj -/T1_0 1 Tf -3.299 0 Td -[(in )-49(this )-49(case.)-550(If)]TJ -/TT0 1 Tf -6.71 0 Td -(select)Tj -/T1_0 1 Tf -3.899 0 Td -[(fails )-49(or )-49(times )-49(out, )-49(we )-49(r)17(eturn)]TJ -/TT1 1 Tf --21.52 -1.2 Td -(!)Tj -/T1_0 1 Tf -[(1. )-250(Otherwise,)-250(we r)18(eturn whatever data is available.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47365 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(839)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(821 )-2400(success)]TJ -0.6 Tc 9.6 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --11.4 -1.189 Td -[(822 )-2400(bufsz)]TJ -0.6 Tc 8.4 0 Td -(=I)Tj -0 Tc 1.8 0 Td -(OBUFSZ;)Tj --10.2 -1.189 Td -[(823 )-2400(if)-600(\(\(bp = malloc\(IOBUFSZ\)\) == NULL\))]TJ -0 -1.189 TD -[(824 )-4800(log_sys\("printer_status:)-600(can\325t allocate read buffer"\);)]TJ -0 -2.021 TD -[(825 )-2400(while)-600(\(\(nr = tread\(sfd, bp, bufsz, 5\)\) > 0\) {)]TJ -0 -1.189 TD -[(826 )-4800(/*)]TJ -T* -(827 )Tj -7.8 0 Td -[(*)-600(Find the status.)-1200(Response starts with "HTTP/x.y")]TJ --7.8 -1.189 Td -(828 )Tj -7.8 0 Td -[(*)-600(so we can skip the first 8 characters.)]TJ --7.8 -1.189 Td -(829 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(830 )-4800(cp)-600(=)-600(bp)-600(+)-600(8;)]TJ -T* -[(831 )-4800(datsz)]TJ -0.6 Tc 10.8 0 Td -(=n)Tj -0 Tc 1.8 0 Td -(r;)Tj --12.6 -1.189 Td -[(832 )-4800(while)-600(\(isspace\(\(int\)*cp\)\))]TJ -T* -(833 )Tj -9.6 0 Td -(cp++;)Tj --9.6 -1.189 Td -[(834 )-4800(statcode)]TJ -0.6 Tc 12.6 0 Td -(=c)Tj -0 Tc 1.8 0 Td -(p;)Tj --14.4 -1.189 Td -[(835 )-4800(while)-600(\(isdigit\(\(int\)*cp\)\))]TJ -T* -(836 )Tj -9.6 0 Td -(cp++;)Tj --9.6 -1.189 Td -[(837 )-4800(if)-600(\(cp == statcode\) { /* Bad format; log it and move on */)]TJ -T* -(838 )Tj -9.6 0 Td -(log_msg\(bp\);)Tj --9.6 -1.189 Td -[(839 )-4800(})-600(else {)]TJ -T* -(840 )Tj -9.6 0 Td -(*cp++)Tj -0.6 Tc 3.6 0 Td -(=\325)Tj -0 Tc 1.8 0 Td -(\\0\325;)Tj --15 -1.189 Td -(841 )Tj -9.6 0 Td -(reason)Tj -0.6 Tc 4.2 0 Td -(=c)Tj -0 Tc 1.8 0 Td -(p;)Tj --15.6 -1.189 Td -(842 )Tj -9.6 0 Td -[(while)-600(\(*cp != \325\\r\325 && *cp != \325\\n\325\))]TJ --9.6 -1.189 Td -(843 )Tj -12 0 Td -(cp++;)Tj --12 -1.189 Td -(844 )Tj -9.6 0 Td -(*cp)Tj -0.6 Tc 2.4 0 Td -(=\325)Tj -0 Tc 1.8 0 Td -(\\0\325;)Tj --13.8 -1.189 Td -(845 )Tj -9.6 0 Td -(code)Tj -0.6 Tc 3 0 Td -(=a)Tj -0 Tc 1.8 0 Td -(toi\(statcode\);)Tj --14.4 -1.189 Td -(846 )Tj -9.6 0 Td -[(if)-600(\(HTTP_INFO\(code\)\))]TJ --9.6 -1.189 Td -(847 )Tj -12 0 Td -(continue;)Tj --12 -1.189 Td -(848 )Tj -9.6 0 Td -[(if)-600(\(!HTTP_SUCCESS\(code\)\) { /* probable error: log it */)]TJ --9.6 -1.189 Td -(849 )Tj -12 0 Td -(bp[datsz])Tj -0.6 Tc 6 0 Td -(=\325)Tj -0 Tc 1.8 0 Td -(\\0\325;)Tj --19.8 -1.189 Td -(850 )Tj -12 0 Td -[(log_msg\("error:)-600(%s", reason\);)]TJ --12 -1.189 Td -(851 )Tj -12 0 Td -(break;)Tj --12 -1.189 Td -(852 )Tj -9.6 0 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3155.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 291.473 Tm -[([821 )167(\320 )167(838])]TJ --0.092 Tc 5 0 Td -[(We )-321(a)]TJ -0 Tc 2.274 0 Td -[(llocate )-137(a )-137(buf)18(fer )-137(and )-137(r)16(ead )-137(fr)18(om )-137(the )-137(printer)]TJ -0.3875 Tc 18.948 0 Td -(,e)Tj -0 Tc 1.116 0 Td -[(xpecting )-137(a )-137(r)18(esponse )-137(to )-137(be)]TJ --22.339 -1.2 Td -[(available )-180(within )-180(about )-180(5 )-180(seconds.)]TJ --0.092 Tc 16.067 0 Td -[(We )-365(s)]TJ -0 Tc 2.241 0 Td -[(kip )-180(the)]TJ -/TT0 1 Tf -3.696 0 Td -(HTTP/1.1)Tj -/T1_0 1 Tf -5.23 0 Td -[(string )-180(and )-180(any)]TJ --27.234 -1.2 Td -[(white )-40(space )-40(that )-40(starts )-40(the )-40(message.)-540(The )-40(numeric )-40(status )-40(code )-40(should )-40(follow)93(.)]TJ -0 -1.2 TD -(If it doesn\325t, we log the contents of the message.)Tj --5 -1.72 Td -[([839 )167(\320 )167(844])-668(If )-46(we )-46(have )-46(found )-46(a )-46(numeric )-46(status )-46(code )-46(in )-46(the )-46(r)18(esponse, )-46(we )-46(convert )-46(the )-46(\336rst)]TJ -5 -1.2 Td -[(nondigit )-180(character )-180(following )-180(the )-180(status )-180(code )-180(to )-180(a )-180(null )-180(byte )-180(\(this )-180(character)]TJ -T* -[(should )-170(be )-170(some )-170(form )-170(of )-170(white )-170(space\).)-670(The )-170(r)20(eason )-170(string )-170(\(a )-170(text )-170(message\))]TJ -T* -[(should )-165(follow)]TJ -0.6655 Tc 6.221 0 Td -(.W)Tj -0.4155 Tc 1.824 0 Td -(es)Tj -0 Tc 1.319 0 Td -[(ear)18(ch )-165(for )-165(the )-165(terminating )-165(carriage )-165(r)16(eturn )-166(or )-166(line )-166(feed,)]TJ --9.363 -1.2 Td -(also terminating the text string with a null byte.)Tj --5 -1.72 Td -[([845 )167(\320 )167(852])]TJ --0.092 Tc 5 0 Td -[(We )-199(c)]TJ -0 Tc 2.096 0 Td -[(all )-15(the)]TJ -/TT0 1 Tf -2.999 0 Td -(atoi)Tj -/T1_0 1 Tf -2.665 0 Td -[(function )-15(to )-15(convert )-15(the )-15(status )-15(code )-15(string )-15(into )-15(an )-15(integer)]TJ -0.5149 Tc 24.805 0 Td -(.I)Tj -0 Tc 1.102 0 Td -(f)Tj --33.667 -1.2 Td -[(this )-66(is )-66(an )-66(informational )-66(message )-66(only)113(,)-316(we)-316(ignor)18(e)-316(it)-316(and )-66(continue )-66(the )-66(loop )-66(to)]TJ --0.018 Tc -0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad )-7(mor)18(e. )-257(W)]TJ -0.2567 Tc 5.317 0 Td -(ee)Tj -0 Tc 1.215 0 Td -[(xpect )-7(to )-7(see )-7(either )-7(a )-7(success )-7(message )-7(or )-7(an )-7(err)18(or )-7(message.)-503(If)]TJ --7.388 -1.2 Td -[(we get an err)18(or message, we log the err)18(or and br)18(eak out of the loop.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47366 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(838)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(786 )-1200({)]TJ -0 -1.189 TD -[(787 )-2400(ssize_t)-600(nr;)]TJ -T* -[(788 )-2400(char)-2400(*bp = *bpp;)]TJ -T* -[(789 )-2400(int )-2400(bsz)]TJ -0.6 Tc 12 0 Td -(=*)Tj -0 Tc 1.8 0 Td -(bszp;)Tj --13.8 -1.783 Td -[(790 )-2400(if)-600(\(off >= bsz\) {)]TJ -T* -[(791 )-4800(bsz)-600(+= IOBUFSZ;)]TJ -T* -[(792 )-4800(if)-600(\(\(bp = realloc\(*bpp, bsz\)\) == NULL\))]TJ -T* -(793 )Tj -9.6 0 Td -[(log_sys\("readmore:)-600(can\325t allocate bigger read buffer"\);)]TJ --9.6 -1.189 Td -[(794 )-4800(*bszp)]TJ -0.6 Tc 10.8 0 Td -(=b)Tj -0 Tc 1.8 0 Td -(sz;)Tj --12.6 -1.189 Td -[(795 )-4800(*bpp)]TJ -0.6 Tc 10.2 0 Td -(=b)Tj -0 Tc 1.8 0 Td -(p;)Tj --12 -1.189 Td -[(796 )-2400(})]TJ -T* -[(797 )-2400(if)-600(\(\(nr = tread\(sockfd, &bp[off], bsz-off, 1\)\) > 0\))]TJ -T* -[(798 )-4800(return\(off+nr\);)]TJ -T* -[(799 )-2400(else)]TJ -T* -[(800 )-4800(return\(-1\);)]TJ -T* -[(801 )-1200(})]TJ -0 -1.783 TD -[(802 )-1200(/*)]TJ -0 -1.189 TD -[(803 )-1800(*)-600(Read and parse the response from the printer.)-1200(Return 1)]TJ -0 -1.189 TD -[(804 )-1800(*)-600(if the request was successful, and 0 otherwise.)]TJ -0 -1.189 TD -[(805 )-1800(*)]TJ -0 -1.189 TD -[(806 )-1800(*)-600(LOCKING: none.)]TJ -0 -1.189 TD -[(807 )-1800(*/)]TJ -0 -1.189 TD -[(808 )-1200(int)]TJ -T* -[(809 )-1200(printer_status\(int)-600(sfd, struct job *jp\))]TJ -0 -1.189 TD -[(810 )-1200({)]TJ -0 -1.189 TD -[(811 )-2400(int)]TJ -14.4 0 Td -(i, success, code, len, found, bufsz, datsz;)Tj --14.4 -1.189 Td -[(812 )-2400(int32_t)]TJ -14.4 0 Td -(jobid;)Tj --14.4 -1.189 Td -[(813 )-2400(ssize_t)]TJ -14.4 0 Td -(nr;)Tj --14.4 -1.189 Td -[(814 )-2400(char)]TJ -14.4 0 Td -(*bp, *cp, *statcode, *reason, *contentlen;)Tj --14.4 -1.189 Td -[(815 )-2400(struct)-600(ipp_hdr )-600(*hp;)]TJ -0 -1.783 TD -[(816 )-2400(/*)]TJ -0 -1.189 TD -[(817 )-3000(*)-600(Read the HTTP header followed by the IPP response header.)]TJ -0 -1.189 TD -[(818 )-3000(*)-600(They can be returned in multiple read attempts.)-1200(Use the)]TJ -0 -1.189 TD -[(819 )-3000(*)-600(Content-Length specifier to determine how much to read.)]TJ -0 -1.189 TD -[(820 )-3000(*/)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2748.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 250.8179 Tm -[([786 )167(\320 )167(801])-668(If )-49(we\325r)18(e)-299(at)-299(the )-49(end )-49(of )-49(the )-49(buf)19(fer)74(,)-299(we)-299(r)18(eallocate )-49(a )-49(bigger )-49(buf)18(fer )-49(and )-49(r)18(eturn )-49(the)]TJ -5 -1.2 Td -[(new )-331(starting )-331(addr)18(ess )-331(and )-331(size )-331(thr)18(ough )-331(the)]TJ -/TT0 1 Tf -21.133 0 Td -(bpp)Tj -/T1_1 1 Tf -2.381 0 Td -(and)Tj -/TT0 1 Tf -2.274 0 Td -(bszp)Tj -/T1_1 1 Tf -2.981 0 Td -(parameters,)Tj --0.018 Tc -28.768 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(spectively)Tj -0.5621 Tc 4.345 0 Td -(.W)Tj -0.3121 Tc 1.72 0 Td -(er)Tj -0 Tc 1.168 0 Td -[(ead )-62(as )-62(much )-62(as )-62(the )-62(buf)18(fer )-62(will )-62(hold, )-62(starting )-62(at )-62(the )-62(end )-62(of)]TJ --8.089 -1.2 Td -[(the )-109(data )-109(alr)18(eady )-109(in )-109(the )-109(buf)16(fer)]TJ -0.3595 Tc 13.3 0 Td -(,a)Tj -0 Tc 1.109 0 Td -[(nd )-109(r)18(eturn )-110(the )-110(new )-110(end-of-data )-110(of)18(fset )-110(in )-110(the)]TJ --14.409 -1.2 Td -[(buf)18(fer)]TJ -0.5 Tc 2.604 0 Td -(.I)Tj -0.25 Tc 1.087 0 Td -(ft)Tj -0 Tc 0.909 0 Td -(he)Tj -/TT0 1 Tf -1.311 0 Td -(read)Tj -/T1_1 1 Tf -2.65 0 Td -[(fails or the timeout expir)18(es, we r)18(eturn)]TJ -/TT1 1 Tf -16.863 0 Td -(!)Tj -/T1_1 1 Tf -(1.)Tj --30.424 -1.6 Td -[([802 )167(\320 )167(820])-668(The)]TJ -/TT0 1 Tf -7.057 0 Td -(printer_status)Tj -/T1_1 1 Tf -8.784 0 Td -[(function )-133(r)18(eads )-133(the )-133(printer)-75(\325s )-133(r)18(esponse )-133(to )-133(a )-133(print-job)]TJ --0.018 Tc -10.841 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quest. )-513(W)]TJ -0.5131 Tc 4.313 0 Td -(ed)Tj -0 Tc 1.603 0 Td -[(on\325t )-263(know )-263(how )-263(the )-263(printer )-263(will )-263(r)18(espond; )-263(it )-263(might )-263(send )-263(a)]TJ --0.018 Tc -6.772 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sponse )-61(in )-61(multiple )-61(messages, )-61(send )-61(the )-61(complete )-61(r)18(esponse )-61(in )-61(one )-61(message,)]TJ --0.856 -1.2 Td -[(or )-132(include )-132(intermediate )-132(acknowledgements, )-132(such )-132(as )-132(HTTP)]TJ -/TT0 1 Tf -27.018 0 Td -[(100 )218(Continue)]TJ -/T1_1 1 Tf --27.018 -1.2 Td -[(messages. )-250(W)]TJ -0.25 Tc 5.827 0 Td -(en)Tj -0 Tc 1.311 0 Td -(eed to handle all these possibilities.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47367 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(825)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(385 )-2400(req.size)]TJ -0.6 Tc 10.2 0 Td -(=n)Tj -0 Tc 1.8 0 Td -(tohl\(req.size\);)Tj --12 -1.189 Td -[(386 )-2400(req.flags)]TJ -0.6 Tc 10.8 0 Td -(=n)Tj -0 Tc 1.8 0 Td -(tohl\(req.flags\);)Tj --12.6 -1.783 Td -[(387 )-2400(/*)]TJ -0 -1.189 TD -[(388 )-3000(*)-600(Create the data file.)]TJ -T* -[(389 )-3000(*/)]TJ -T* -[(390 )-2400(jobid)]TJ -0.6 Tc 8.4 0 Td -(=g)Tj -0 Tc 1.8 0 Td -(et_newjobno\(\);)Tj --10.2 -1.189 Td -[(391 )-2400(sprintf\(name,)-600("%s/%s/%d", SPOOLDIR, DATADIR, jobid\);)]TJ -T* -[(392 )-2400(fd)]TJ -0.6 Tc 6.6 0 Td -(=c)Tj -0 Tc 1.8 0 Td -(reat\(name, FILEPERM\);)Tj --8.4 -1.189 Td -[(393 )-2400(if)-600(\(fd < 0\) {)]TJ -0 -1.189 TD -[(394 )-4800(res.jobid)]TJ -0.6 Tc 13.2 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --15 -1.189 Td -[(395 )-4800(res.retcode)]TJ -0.6 Tc 14.4 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(tonl\(errno\);)Tj --16.2 -1.189 Td -[(396 )-4800(log_msg\("client_thread:)-600(can\325t create %s: %s", name,)]TJ -0 -1.189 TD -(397 )Tj -8.4 0 Td -(strerror\(res.retcode\)\);)Tj --8.4 -1.189 Td -[(398 )-4800(strncpy\(res.msg,)-600(strerror\(res.retcode\), MSGLEN_MAX\);)]TJ -T* -[(399 )-4800(writen\(sockfd,)-600(&res, sizeof\(struct printresp\)\);)]TJ -0 -1.189 TD -[(400 )-4800(pthread_exit\(\(void)-600(*\)1\);)]TJ -0 -1.189 TD -[(401 )-2400(})]TJ -0 -1.783 TD -[(402 )-2400(/*)]TJ -0 -1.189 TD -[(403 )-3000(*)-600(Read the file and store it in the spool directory.)]TJ -0 -1.189 TD -[(404 )-3000(*)-600(Try to figure out if the file is a PostScript file)]TJ -T* -[(405 )-3000(*)-600(or a plain text file.)]TJ -T* -[(406 )-3000(*/)]TJ -0 -1.189 TD -[(407 )-2400(first)]TJ -0.6 Tc 8.4 0 Td -(=1)Tj -0 Tc 1.8 0 Td -(;)Tj --10.2 -1.189 Td -[(408 )-2400(while)-600(\(\(nr = tread\(sockfd, buf, IOBUFSZ, 20\)\) > 0\) {)]TJ -0 -1.189 TD -[(409 )-4800(if)-600(\(first\) {)]TJ -0 -1.189 TD -(410 )Tj -9.6 0 Td -(first)Tj -0.6 Tc 3.6 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --15 -1.189 Td -(411 )Tj -9.6 0 Td -[(if)-600(\(strncmp\(buf, "%!PS", 4\) != 0\))]TJ --9.6 -1.189 Td -(412 )Tj -12 0 Td -[(req.flags)-600(|= PR_TEXT;)]TJ --12 -1.189 Td -[(413 )-4800(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3444.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 320.3596 Tm -[([385 )167(\320 )167(401])]TJ --0.092 Tc 5 0 Td -[(We )-186(c)]TJ -0 Tc 2.083 0 Td -[(onvert )-2(the )-2(integer )-2(\336elds )-2(in )-2(the )-2(r)19(equest )-2(header )-2(to )-2(host )-2(byte )-2(or)18(der )-2(and )-2(call)]TJ -/TT0 1 Tf --2.083 -1.2 Td -(get_newjobno)Tj -/T1_0 1 Tf -7.547 0 Td -[(to )-97(r)18(eserve )-97(the )-97(next )-97(job )-97(ID )-97(for )-97(this )-97(print )-97(r)18(equest. )-347(W)]TJ -0.347 Tc 23.022 0 Td -(ec)Tj --0.018 Tc 1.27 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ate)Tj --32.695 -1.2 Td -[(the )-78(job )-78(data )-78(\336le, )-78(named)]TJ -/TT0 1 Tf -10.975 0 Td -(/var/spool/printer/data/)Tj -/T1_2 1 Tf -(jobid)Tj -/T1_0 1 Tf -0.3276 Tc (,w)Tj -0 Tc 17.775 0 Td -[(her)18(e)]TJ -/T1_2 1 Tf -2.245 0 Td -(jobid)Tj -/T1_0 1 Tf -2.291 0 Td -(is)Tj --33.285 -1.2 Td -[(the )-14(r)18(equest\325s )-14(job )-14(ID.)]TJ --0.092 Tc 9.337 0 Td -[(We )-198(u)]TJ -0 Tc 2.254 0 Td -[(se )-14(permissions )-14(that )-14(pr)18(event )-14(others )-14(fr)18(om )-14(being )-14(able)]TJ --0.018 Tc -11.591 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad )-63(the )-63(\336les )-63(\()]TJ -/TT0 1 Tf -5.57 0 Td -(FILEPERM)Tj -/T1_0 1 Tf -5.113 0 Td -[(is )-63(de\336ned )-63(as)]TJ -/TT0 1 Tf -5.946 0 Td -(S_IRUSR|S_IWUSR)Tj -/T1_0 1 Tf -9.313 0 Td -(in)Tj -/TT0 1 Tf -1.186 0 Td -(print.h)Tj -/T1_0 1 Tf -[(\). )-313(If)]TJ --27.984 -1.2 Td -[(we )-2(can\325t )-2(cr)18(eate )-2(the )-2(\336le, )-2(we )-2(log )-2(an )-2(err)16(or )-2(message, )-2(send )-2(a )-2(failur)]TJ -0.2521 Tc 27.052 0 Td -(er)Tj -0 Tc 1.108 0 Td -[(esponse )-2(back)]TJ --28.16 -1.2 Td -[(to the client, and terminate the thr)18(ead by calling)]TJ -/TT0 1 Tf -21.452 0 Td -(pthread_exit)Tj -/T1_0 1 Tf -(.)Tj --26.452 -1.6 Td -[([402 )167(\320 )167(413])]TJ --0.092 Tc 5 0 Td -[(We )-320(r)]TJ -0 Tc 2.15 0 Td -[(ead )-136(the )-136(\336le )-136(contents )-136(fr)18(om )-136(the )-136(client, )-136(with )-136(the )-136(intention )-136(of )-136(writing )-136(the)]TJ --2.15 -1.2 Td -[(contents )-294(out )-294(to )-294(our )-294(private )-294(copy )-294(of )-294(the )-294(data )-294(\336le.)-795(But )-294(befor)18(e)-544(we)-544(write)]TJ --0 -1.2 Td -[(anything, )-102(we )-102(need )-102(to )-102(check )-102(if )-102(this )-102(is )-102(a )-102(PostScript )-102(\336le )-102(the )-102(\336rst )-102(time )-102(thr)19(ough)]TJ -0 -1.2 TD -[(the )-23(loop.)-524(If )-23(the )-23(\336le )-23(doesn\325t )-23(begin )-23(with )-23(the )-23(pattern)]TJ -/TT0 1 Tf -22.371 0 Td -(%!PS)Tj -/T1_0 1 Tf -[(,)-273(we)-273(can )-23(assume )-23(that)]TJ --22.371 -1.2 Td -[(the )-53(\336le )-53(is )-53(plaintext, )-53(so )-53(we )-53(set )-53(the)]TJ -/TT0 1 Tf -14.964 0 Td -(PR_TEXT)Tj -/T1_0 1 Tf -4.503 0 Td -[(\337ag )-53(in )-53(the )-53(r)18(equest )-53(header )-53(in )-53(this)]TJ --19.467 -1.2 Td -[(case. )-387(\(Recall)-387(that )-137(the )-137(client )-137(can )-137(also )-137(set )-137(this )-137(\337ag )-137(if )-137(the)]TJ -/TT0 1 Tf -25.347 0 Td -(-t)Tj -/T1_0 1 Tf -1.587 0 Td -[(\337ag )-137(is )-137(included)]TJ --26.935 -1.2 Td -[(when )-63(the)]TJ -/TT0 1 Tf -4.49 0 Td -(print)Tj -/T1_0 1 Tf -3.313 0 Td -[(command )-63(is )-63(executed.\))-563(Although )-63(PostScript )-63(pr)18(ograms )-63(ar)18(e)]TJ --7.803 -1.2 Td -[(not )-355(r)18(equir)18(ed )-355(to )-355(start )-355(with )-355(the )-355(pattern)]TJ -/TT0 1 Tf -18.937 0 Td -(%!PS)Tj -/T1_0 1 Tf -0.6048 Tc (,t)Tj -0 Tc 3.581 0 Td -[(he )-355(document )-355(formatting)]TJ --22.517 -1.2 Td -(guidelines \(Adobe Systems)Tj -12.274 0.04 Td -([)Tj -0.333 -0.04 Td -(1999)Tj -2 0.04 Td -(])Tj -0.25 Tc 0.333 -0.04 Td -(\)s)Tj -0 Tc 1.007 0 Td -[(tr)18(ongly r)18(ecommends that they do.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47368 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.14)]TJ -/TT0 1 Tf -34.003 0 Td -(sigaction)Tj -/T1_0 1 Tf -5.9 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(353)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(The)Tj -/TT0 1 Tf -1.964 0 Td -(uc_stack)Tj -/T1_0 1 Tf -5.09 0 Td -[(\336eld )-40(describes )-40(the )-40(stack )-40(used )-40(by )-40(the )-40(curr)18(ent )-40(context.)-540(It )-40(contains )-40(at )-40(least)]TJ --7.054 -1.2 Td -(the following members:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 639.1917 Tm -[(void )-600(*ss_sp;)-2400(/* stack base or pointer */)]TJ -0 -1.189 TD -[(size_t ss_size;)-1200(/* stack size */)]TJ -T* -[(int )-1800(ss_flags;)-600(/* flags */)]TJ -/T1_0 1 Tf -7.9995 0 0 7.9995 183.589 593.1246 Tm -[(When )-44(an )-44(implementation )-44(supports )-44(the )-44(r)19(eal-time )-44(signal )-44(extensions, )-44(signal )-44(handlers )-44(established)]TJ -0 -1.25 TD -[(with )-134(the)]TJ -/TT0 1 Tf -4.187 0 Td -(SA_SIGINFO)Tj -/T1_0 1 Tf -6.384 0 Td -[(\337ag )-134(will )-134(r)19(esult )-134(in )-134(signals )-134(being )-134(queued )-134(r)19(eliably)]TJ -0.6338 Tc 21.521 0 Td -(.A)Tj -0 Tc 2.046 0 Td -[(separate )-134(range )-134(of)]TJ --0.018 Tc -34.137 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(served )-257(signal )-257(numbers )-257(is )-257(available )-257(for )-257(r)18(eal-time )-257(application )-257(use.)-757(Applications )-257(can )-257(pass)]TJ --0.856 -1.25 Td -(information along with the signal by using the)Tj -/TT0 1 Tf -20.766 0 Td -(sigqueue)Tj -/T1_0 1 Tf -5.05 0 Td -(function \(Section 10.20\).)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1515.25 5411.25 cm -0 0 m -3461 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 161.3686 533.096 Tm -[(Signal )-4705(Code)]TJ -26.302 0 Td -(Reason)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1515.25 5291.25 cm -0 0 m -3461 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1515.25 5271.25 cm -0 0 m -3461 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 201.1318 519.0666 Tm -(ILL_ILLOPC)Tj -/T1_0 1 Tf -9.3 0 Td -(illegal opcode)Tj -/TT0 1 Tf --9.3 -1.25 Td -(ILL_ILLOPN)Tj -/T1_0 1 Tf -9.3 0 Td -(illegal operand)Tj -/TT0 1 Tf --9.3 -1.25 Td -(ILL_ILLADR)Tj -/T1_0 1 Tf -9.3 0 Td -[(illegal addr)18(essing mode)]TJ -/TT0 1 Tf --9.3 -1.25 Td -(ILL_ILLTRP)Tj -/T1_0 1 Tf -9.3 0 Td -(illegal trap)Tj -/TT0 1 Tf --9.3 -1.25 Td -(ILL_PRVOPC)Tj -/T1_0 1 Tf -9.3 0 Td -(privileged opcode)Tj -/TT0 1 Tf --9.3 -1.25 Td -(ILL_PRVREG)Tj -/T1_0 1 Tf -9.3 0 Td -[(privileged r)18(egister)]TJ -/TT0 1 Tf --9.3 -1.25 Td -(ILL_COPROC)Tj -/T1_0 1 Tf -9.3 0 Td -[(copr)18(ocessor err)18(or)]TJ -/TT0 1 Tf --9.3 -1.25 Td -(ILL_BADSTK)Tj -/T1_0 1 Tf -9.3 0 Td -[(internal stack err)18(or)]TJ -/TT0 1 Tf --15 4.375 Td -(SIGILL)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1515.25 4451.25 cm -0 0 m -3461 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 201.1197 437.0551 Tm -(FPE_INTDIV)Tj -/T1_0 1 Tf -9.3 0 Td -[(integer divide by zer)18(o)]TJ -/TT0 1 Tf --9.3 -1.25 Td -(FPE_INTOVF)Tj -/T1_0 1 Tf -9.3 0 Td -(integer over\337ow)Tj -/TT0 1 Tf --9.3 -1.25 Td -(FPE_FLTDIV)Tj -/T1_0 1 Tf -9.3 0 Td -[(\337oating-point divide by zer)18(o)]TJ -/TT0 1 Tf --9.3 -1.25 Td -(FPE_FLTOVF)Tj -/T1_0 1 Tf -9.3 0 Td -(\337oating-point over\337ow)Tj -/TT0 1 Tf --9.3 -1.25 Td -(FPE_FLTUND)Tj -/T1_0 1 Tf -9.3 0 Td -(\337oating-point under\337ow)Tj -/TT0 1 Tf --9.3 -1.25 Td -(FPE_FLTRES)Tj -/T1_0 1 Tf -9.3 0 Td -[(\337oating-point inexact r)18(esult)]TJ -/TT0 1 Tf --9.3 -1.25 Td -(FPE_FLTINV)Tj -/T1_0 1 Tf -9.3 0 Td -(invalid \337oating-point operation)Tj -/TT0 1 Tf --9.3 -1.25 Td -(FPE_FLTSUB)Tj -/T1_0 1 Tf -9.3 0 Td -(subscript out of range)Tj -/TT0 1 Tf --15 4.375 Td -(SIGFPE)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1515.25 3631.25 cm -0 0 m -3461 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 201.1077 355.0535 Tm -(SEGV_MAPERR)Tj -/T1_0 1 Tf -9.3 0 Td -[(addr)18(ess not mapped to object)]TJ -/TT0 1 Tf --9.3 -1.25 Td -(SEGV_ACCERR)Tj -/T1_0 1 Tf -9.3 0 Td -(invalid permissions for mapped object)Tj -/TT0 1 Tf --15 0.625 Td -(SIGSEGV)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1515.25 3411.25 cm -0 0 m -3461 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 201.0956 333.0401 Tm -(BUS_ADRALN)Tj -/T1_0 1 Tf -9.3 0 Td -[(invalid addr)18(ess alignment)]TJ -/TT0 1 Tf --9.3 -1.25 Td -(BUS_ADRERR)Tj -/T1_0 1 Tf -9.3 0 Td -[(nonexistent physical addr)18(ess)]TJ -/TT0 1 Tf --9.3 -1.25 Td -(BUS_OBJERR)Tj -/T1_0 1 Tf -9.3 0 Td -[(object-speci\336c har)18(dwar)]TJ -0.25 Tc 10.234 0 Td -(ee)Tj -0 Tc 1.208 0 Td -[(rr)18(or)]TJ -/TT0 1 Tf --26.442 1.25 Td -(SIGBUS)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1515.25 3091.25 cm -0 0 m -3461 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 201.0835 301.0335 Tm -(TRAP_BRKPT)Tj -/T1_0 1 Tf -9.3 0 Td -[(pr)18(ocess br)18(eakpoint trap)]TJ -/TT0 1 Tf --9.3 -1.25 Td -(TRAP_TRACE)Tj -/T1_0 1 Tf -9.3 0 Td -[(pr)18(ocess trace trap)]TJ -/TT0 1 Tf --15 0.625 Td -(SIGTRAP)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1515.25 2871.25 cm -0 0 m -3461 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 201.0715 279.026 Tm -(CLD_EXITED)Tj -/T1_0 1 Tf -9.3 0 Td -(child has exited)Tj -/TT0 1 Tf --9.3 -1.25 Td -(CLD_KILLED)Tj -/T1_0 1 Tf -9.3 0 Td -[(child has terminated abnormally \(no cor)18(e\))]TJ -/TT0 1 Tf --9.3 -1.25 Td -(CLD_DUMPED)Tj -/T1_0 1 Tf -9.3 0 Td -[(child has terminated abnormally with cor)18(e)]TJ -/TT0 1 Tf --9.3 -1.25 Td -(CLD_TRAPPED)Tj -/T1_0 1 Tf -9.3 0 Td -(traced child has trapped)Tj -/TT0 1 Tf --9.3 -1.25 Td -(CLD_STOPPED)Tj -/T1_0 1 Tf -9.3 0 Td -(child has stopped)Tj -/TT0 1 Tf --9.3 -1.25 Td -(CLD_CONTINUED)Tj -/T1_0 1 Tf -9.3 0 Td -(stopped child has continued)Tj -/TT0 1 Tf --15 3.125 Td -(SIGCHLD)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1515.25 2251.25 cm -0 0 m -3461 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9957 0 0 7.9957 201.0594 217.0428 Tm -(SI_USER)Tj -/T1_0 1 Tf -9.3 0 Td -(signal sent by)Tj -/TT0 1 Tf -6.314 0 Td -(kill)Tj --15.614 -1.25 Td -(SI_QUEUE)Tj -/T1_0 1 Tf -9.3 0 Td -(signal sent by)Tj -/TT0 1 Tf -6.314 0 Td -(sigqueue)Tj --15.614 -1.25 Td -(SI_TIMER)Tj -/T1_0 1 Tf -9.3 0 Td -(expiration of a timer set by)Tj -/TT0 1 Tf -12.118 0 Td -(timer_settime)Tj --21.418 -1.25 Td -(SI_ASYNCIO)Tj -/T1_0 1 Tf -9.3 0 Td -[(completion of asynchr)18(onous I/O r)18(equest)]TJ -/TT0 1 Tf --9.3 -1.25 Td -(SI_MESGQ)Tj -/T1_0 1 Tf -9.3 0 Td -[(arrival of a message on a message queue \(r)18(eal-time extension\))]TJ -/TT0 1 Tf --15 2.5 Td -(Any)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1515.25 1731.25 cm -0 0 m -3461 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2695.25 1731.25 cm -0 0 m -0 3680 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1951.25 1731.25 cm -0 0 m -0 3680 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4976.25 1731.25 cm -0 0 m -0 3680 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1515.25 1731.25 cm -0 0 m -0 3680 l -S -Q -Q -BT -/T1_1 1 Tf -7.9952 0 0 7.9952 256.2982 155.0669 Tm -(Figure 10.17)Tj -/TT0 1 Tf -6.195 0 Td -(siginfo_t)Tj -/T1_0 1 Tf -5.65 0 Td -(code values)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47369 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(250)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-351(\336rst )-351(dif)18(fer)18(ence )-351(in )-351(these )-351(functions )-351(is )-351(that )-351(the )-351(\336rst )-351(four )-351(take )-351(a )-351(pathname)]TJ --1.8 -1.2 Td -[(ar)18(gument, )-4(the )-4(next )-4(two )-4(take )-4(a )-4(\336lename )-4(ar)17(gument, )-4(and )-4(the )-4(last )-4(one )-4(takes )-4(a )-4(\336le )-4(descriptor)]TJ --0 -1.2 Td -[(ar)18(gument. )-250(When)-250(a)]TJ -/T1_2 1 Tf -8.699 0 Td -(\336lename)Tj -/T1_1 1 Tf -3.612 0 Td -[(ar)18(gument is speci\336ed,)]TJ -0.883 Tc -10.511 -2.16 Td -(\245I)Tj -0 Tc 1.826 0 Td -(f)Tj -/T1_2 1 Tf -0.583 0 Td -(\336lename)Tj -/T1_1 1 Tf -3.612 0 Td -(contains a slash, it is taken as a pathname.)Tj -0.883 Tc -6.021 -1.6 Td -(\245O)Tj -0 Tc 2.275 0 Td -[(therwise, )-100(the )-100(executable )-100(\336le )-100(is )-100(sear)18(ched )-100(for )-100(in )-100(the )-100(dir)22(ectories )-99(speci\336ed )-99(by )-99(the)]TJ -/TT0 1 Tf --0.786 -1.2 Td -(PATH)Tj -/T1_1 1 Tf -2.65 0 Td -[(envir)18(onment variable.)]TJ --5.939 -2.16 Td -(The)Tj -/TT0 1 Tf -2.003 0 Td -(PATH)Tj -/T1_1 1 Tf -2.729 0 Td -[(variable )-79(contains )-79(a )-79(list )-79(of )-79(dir)18(ectories, )-79(called )-79(path )-79(pr)18(e\336xes, )-79(that )-79(ar)]TJ -0.3287 Tc 29.146 0 Td -(es)Tj -0 Tc 1.232 0 Td -(eparated)Tj --35.109 -1.2 Td -[(by colons.)-500(For example, the)]TJ -/T1_2 1 Tf -12.575 0 Td -(name=value)Tj -/T1_1 1 Tf -5.19 0 Td -[(envir)18(onment string)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 543.9975 Tm -(PATH=/bin:/usr/bin:/usr/local/bin/:.)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5923 524.9287 Tm -[(speci\336es )-102(four )-102(dir)17(ectories )-102(to )-102(sear)17(ch. )-352(The)-353(last )-102(path )-102(pr)18(e\336x )-102(speci\336es )-102(the )-102(curr)18(ent )-102(dir)16(ectory)111(.)]TJ --0 -1.2 Td -[(\(A )-71(zer)18(o-length )-71(pr)18(e\336x )-71(also )-71(means )-71(the )-71(curr)20(ent )-71(dir)18(ectory)]TJ -0.5707 Tc 24.12 0 Td -(.I)Tj -0.3207 Tc 1.158 0 Td -(tc)Tj -0 Tc 1.091 0 Td -[(an )-71(be )-71(speci\336ed )-71(as )-71(a )-71(colon )-71(at)]TJ --26.369 -1.2 Td -(the beginning of the)Tj -/T1_2 1 Tf -9.125 0 Td -(value)Tj -/T1_1 1 Tf -0.25 Tc (,t)Tj -0 Tc 2.993 0 Td -[(wo colons in a r)18(ow)92(,)-250(or)-250(a)-250(colon at the end of the)]TJ -/T1_2 1 Tf -20.752 0 Td -(value)Tj -/T1_1 1 Tf -(.\))Tj -7.9995 0 0 7.9995 183.5896 479.9314 Tm -(Ther)Tj -0.4173 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.396 0 Td -[(re )-203(s)]TJ -0 Tc 1.697 0 Td -[(ecurity )-167(r)18(easons )-167(for)]TJ -/T1_2 1 Tf -8.951 0 Td -(never)Tj -/T1_1 1 Tf -2.64 0 Td -[(including )-167(the )-167(curr)18(ent )-167(dir)18(ectory )-167(in )-167(the )-167(sear)18(ch )-167(path.)-668(See)]TJ --16.736 -1.25 Td -(Gar\336nkel et al.)Tj -6.767 0.04 Td -([)Tj -0.333 -0.04 Td -(2003)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -(.)Tj -9.9994 0 0 9.9994 147.5915 449.9332 Tm -[(If )-66(either)]TJ -/TT0 1 Tf -3.853 0 Td -(execlp)Tj -/T1_1 1 Tf -3.916 0 Td -(or)Tj -/TT0 1 Tf -1.257 0 Td -(execvp)Tj -/T1_1 1 Tf -3.916 0 Td -[(\336nds )-66(an )-66(executable )-66(\336le )-66(using )-66(one )-66(of )-66(the )-66(path )-66(pr)21(e\336xes,)]TJ --14.741 -1.2 Td -[(but )-9(the )-9(\336le )-9(isn\325t )-9(a )-9(machine )-9(executable )-9(that )-9(was )-9(generated )-9(by )-9(the )-9(link )-9(editor)]TJ -0.2594 Tc 33.137 0 Td -(,t)Tj -0 Tc 0.835 0 Td -[(he )-9(function)]TJ --33.973 -1.2 Td -[(assumes )-100(that )-100(the )-100(\336le )-100(is )-100(a )-100(shell )-100(script )-100(and )-100(tries )-100(to )-100(invoke)]TJ -/TT0 1 Tf -25.694 0 Td -(/bin/sh)Tj -/T1_1 1 Tf -4.55 0 Td -[(with )-100(the)]TJ -/T1_2 1 Tf -4.12 0 Td -(\336lename)Tj -/T1_1 1 Tf -3.712 0 Td -(as)Tj --38.076 -1.2 Td -(input to the shell.)Tj --0.055 Tc 1.8 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj -/TT0 1 Tf -1.253 0 Td -(fexecve)Tj -/T1_1 1 Tf -[(,)-345(we)-345(a)-1(void )-95(the )-95(issue )-95(of )-95(\336nding )-95(the )-95(corr)16(ect )-95(executable )-95(\336le )-95(altogether)]TJ --4.289 -1.2 Td -[(and )-10(r)18(ely )-10(on )-10(the )-10(caller )-10(to )-10(do )-10(this.)-510(By )-10(using )-10(a )-10(\336le )-10(descriptor)]TJ -0.2601 Tc 25.52 0 Td -(,t)Tj -0 Tc 0.836 0 Td -[(he )-10(caller )-10(can )-10(verify )-10(the )-10(\336le )-10(is)]TJ --26.356 -1.2 Td -[(in )-36(fact )-36(the )-36(intended )-36(\336le )-36(and )-36(execute )-36(it )-36(without )-36(a )-36(race.)-534(Otherwise, )-36(a )-36(malicious )-36(user )-36(with)]TJ -0 -1.2 TD -[(appr)18(opriate )-87(privileges )-87(could )-87(r)18(eplace )-87(the )-87(executable )-87(\336le )-87(\(or )-87(a )-87(portion )-87(of )-87(the )-87(path )-87(to )-87(the)]TJ -T* -[(executable )-37(\336le\) )-37(after )-37(it )-37(has )-37(been )-37(located )-37(and )-37(veri\336ed, )-37(but )-37(befor)]TJ -0.2868 Tc 27.831 0 Td -(et)Tj -0 Tc 1.092 0 Td -[(he )-37(caller )-37(can )-37(execute )-37(it)]TJ --28.923 -1.2 Td -[(\(r)18(ecall the discussion of T)18(OCTT)18(OU err)18(ors in Section 3.3\).)]TJ -1.8 -1.2 Td -[(The )-15(next )-15(dif)19(fer)18(ence )-15(concerns )-15(the )-15(passing )-15(of )-15(the )-15(ar)18(gument )-15(list )-15(\()]TJ -/TT0 1 Tf -27.511 0 Td -(l)Tj -/T1_1 1 Tf -0.865 0 Td -[(stands )-15(for )-15(list )-15(and)]TJ -/TT0 1 Tf -8.224 0 Td -(v)Tj -/T1_1 1 Tf --38.4 -1.2 Td -[(stands )-220(for )-220(vector\).)-720(The )-220(functions)]TJ -/TT0 1 Tf -15.883 0 Td -(execl)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.72 0 Td -(execlp)Tj -/T1_1 1 Tf -0.4697 Tc (,a)Tj -0 Tc 4.82 0 Td -(nd)Tj -/TT0 1 Tf -1.663 0 Td -(execle)Tj -/T1_1 1 Tf --0.018 Tc 4.07 0 Td -(re)Tj -0 Tc 0.856 0 Td -(quir)Tj -0.4696 Tc 1.831 0 Td -(ee)Tj -0 Tc 1.428 0 Td -[(ach )-220(of )-220(the)]TJ --34.269 -1.2 Td -(command)Tj -4.449 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-149(ar)18(guments )-149(to )-149(the )-149(new )-149(pr)18(ogram )-149(to )-149(be )-149(speci\336ed )-149(as )-149(separate )-149(ar)20(guments.)]TJ --0.092 Tc -4.782 -1.2 Td -[(We )-338(m)]TJ -0 Tc 2.674 0 Td -[(ark )-154(the )-154(end )-154(of )-154(the )-154(ar)18(guments )-154(with )-154(a )-154(null )-154(pointer)]TJ -0.6538 Tc 22.587 0 Td -(.F)Tj -0 Tc 1.46 0 Td -[(or )-154(the )-154(other )-154(four )-154(functions)]TJ --26.721 -1.2 Td -(\()Tj -/TT0 1 Tf -(execv)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.895 0 Td -(execvp)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.162 0 Td -(execve)Tj -/T1_1 1 Tf -0.3122 Tc (,a)Tj -0 Tc 4.662 0 Td -(nd)Tj -/TT0 1 Tf -1.505 0 Td -(fexecve)Tj -/T1_1 1 Tf -[(\), )-62(we )-62(have )-62(to )-62(build )-62(an )-62(array )-62(of )-62(pointers )-62(to )-62(the)]TJ --14.225 -1.2 Td -[(ar)18(guments, and the addr)18(ess of this array is the ar)18(gument to these thr)18(ee functions.)]TJ -1.8 -1.2 Td -(Befor)Tj -0.6351 Tc 2.346 0 Td -(eu)Tj -0 Tc 1.717 0 Td -[(sing )-385(ISO )-385(C )-385(pr)18(ototypes, )-385(the )-385(normal )-385(way )-385(to )-385(show )-385(the )-385(command)]TJ -31.161 0.09 Td -(-)Tj -0.333 -0.09 Td -(line)Tj --37.357 -1.2 Td -[(ar)18(guments for the thr)18(ee functions)]TJ -/TT0 1 Tf -15.015 0 Td -(execl)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.5 0 Td -(execle)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 4.6 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(execlp)Tj -/T1_1 1 Tf -3.85 0 Td -(was)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5916 228.1762 Tm -(char *)Tj -/T1_2 1 Tf -[(ar)18(g0)]TJ -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 7.215 0 Td -(har *)Tj -/T1_2 1 Tf -[(ar)18(g1)]TJ -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 6.615 0 Td -(.., char *)Tj -/T1_2 1 Tf -[(ar)18(gn)]TJ -/TT0 1 Tf -0.6 Tc (,\()Tj -0 Tc 9.671 0 Td -(char *\)0)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5932 209.1075 Tm -[(This )-14(syntax )-14(explicitly )-14(shows )-14(that )-14(the )-14(\336nal )-14(command)]TJ -23.109 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-14(ar)18(gument )-14(is )-14(followed )-14(by )-14(a )-14(null)]TJ --23.442 -1.2 Td -(pointer)Tj -0.5291 Tc 3.146 0 Td -(.I)Tj -0.2791 Tc 1.116 0 Td -(ft)Tj -0 Tc 0.938 0 Td -[(his )-29(null )-29(pointer )-29(is )-29(speci\336ed )-29(by )-29(the )-29(constant)]TJ -/TT0 1 Tf -19.392 0 Td -(0)Tj -/T1_1 1 Tf -[(,)-279(we)-279(must )-29(cast )-29(it )-29(to )-29(a )-29(pointer; )-29(if)]TJ --24.592 -1.2 Td -[(we )-122(don\325t, )-122(it\325s )-122(interpr)18(eted )-122(as )-122(an )-122(integer )-122(ar)18(gument. )-372(If)-372(the )-122(size )-122(of )-122(an )-122(integer )-122(is )-122(dif)17(fer)18(ent)]TJ -T* -[(fr)18(om the size of a)]TJ -/TT0 1 Tf -7.849 0 Td -[(char )267(*)]TJ -/T1_1 1 Tf -0.25 Tc (,t)Tj -0 Tc 4.159 0 Td -[(he actual ar)18(guments to the)]TJ -/TT0 1 Tf -11.964 0 Td -(exec)Tj -/T1_1 1 Tf -2.65 0 Td -[(function will be wr)18(ong.)]TJ --24.822 -1.2 Td -[(The )-50(\336nal )-50(dif)18(fer)18(ence )-50(is )-50(the )-50(passing )-50(of )-50(the )-50(envir)17(onment )-50(list )-50(to )-50(the )-50(new )-50(pr)18(ogram. )-300(The)]TJ --1.8 -1.2 Td -[(thr)18(ee )-39(functions )-39(whose )-39(names )-39(end )-39(in )-39(an)]TJ -/TT0 1 Tf -17.757 0 Td -(e)Tj -/T1_1 1 Tf -0.889 0 Td -(\()Tj -/TT0 1 Tf -(execle)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.472 0 Td -(execve)Tj -/T1_1 1 Tf -0.289 Tc (,a)Tj -0 Tc 4.639 0 Td -(nd)Tj -/TT0 1 Tf -1.482 0 Td -(fexecve)Tj -/T1_1 1 Tf -0.289 Tc (\)a)Tj -0 Tc 5.322 0 Td -[(llow )-39(us )-39(to)]TJ --34.561 -1.2 Td -[(pass )-263(a )-263(pointer )-263(to )-263(an )-263(array )-263(of )-263(pointers )-263(to )-263(the )-263(envir)19(onment )-263(strings.)-763(The )-263(other )-263(four)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47370 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.17)]TJ -37.4 0 Td -[(Pr)18(ocess )-250(T)55(imes)]TJ -/T1_1 1 Tf -8.433 0 Td -(281)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(static void pr_times\(clock_t, struct tms *, struct tms *\);)Tj -0 -1.189 TD -(static void do_cmd\(char *\);)Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(i;)]TJ -0 -1.902 TD -(setbuf\(stdout, NULL\);)Tj -0 -1.189 TD -(for \(i = 1; i < argc; i++\))Tj -2.4 -1.189 Td -[(do_cmd\(argv[i]\); )-1800(/*)-600(once for each command-line arg */)]TJ --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(static void)Tj -0 -1.189 TD -[(do_cmd\(char *cmd\))-4200(/* execute and time the "cmd" */)]TJ -T* -({)Tj -2.4 -1.189 Td -[(struct tms)-1200(tmsstart, tmsend;)]TJ -0 -1.189 TD -[(clock_t )-2400(start,)-600(end;)]TJ -0 -1.189 TD -[(int )-4800(status;)]TJ -0 -1.902 TD -(printf\("\\ncommand: %s\\n", cmd\);)Tj -0 -1.902 TD -[(if \(\(start = times\(&tmsstart\)\) == -1\))-1800(/* starting values */)]TJ -2.4 -1.189 Td -(err_sys\("times error"\);)Tj --2.4 -1.902 Td -(if \(\(status = system\(cmd\)\) < 0\))Tj -24 0 Td -(/* execute command */)Tj --21.6 -1.189 Td -(err_sys\("system\(\) error"\);)Tj --2.4 -1.902 Td -[(if \(\(end = times\(&tmsend\)\) == -1\))-4200(/* ending values */)]TJ -2.4 -1.189 Td -(err_sys\("times error"\);)Tj --2.4 -1.902 Td -(pr_times\(end-start, &tmsstart, &tmsend\);)Tj -0 -1.189 TD -(pr_exit\(status\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(static void)Tj -0 -1.189 TD -(pr_times\(clock_t real, struct tms *tmsstart, struct tms *tmsend\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(static long)-3000(clktck = 0;)]TJ -0 -1.902 TD -[(if \(clktck == 0\))-2400(/* fetch clock ticks per second first time */)]TJ -2.4 -1.189 Td -(if \(\(clktck = sysconf\(_SC_CLK_TCK\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("sysconf error"\);)Tj --4.8 -1.902 Td -[(printf\(" )-600(real: )-600(%7.2f\\n",)-600(real / \(double\) clktck\);)]TJ -0 -1.189 TD -[(printf\(" )-600(user: )-600(%7.2f\\n",)]TJ -1.2 -1.189 Td -(\(tmsend->tms_utime - tmsstart->tms_utime\) / \(double\) clktck\);)Tj --1.2 -1.189 Td -[(printf\(" )-600(sys:)-1800(%7.2f\\n",)]TJ -1.2 -1.189 Td -(\(tmsend->tms_stime - tmsstart->tms_stime\) / \(double\) clktck\);)Tj --1.2 -1.189 Td -[(printf\(" )-600(child)-600(user: )-600(%7.2f\\n",)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47371 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(408)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -0 Tc 8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(int err;)Tj -T* -(struct timespec tout;)Tj -T* -(struct tm *tmp;)Tj -T* -(char buf[64];)Tj -0 -1.189 TD -(pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;)Tj -0 -2.021 TD -(pthread_mutex_lock\(&lock\);)Tj -0 -1.189 TD -(printf\("mutex is locked\\n"\);)Tj -T* -(clock_gettime\(CLOCK_REALTIME, &tout\);)Tj -T* -(tmp = localtime\(&tout.tv_sec\);)Tj -T* -(strftime\(buf, sizeof\(buf\), "%r", tmp\);)Tj -T* -(printf\("current time is %s\\n", buf\);)Tj -T* -[(tout.tv_sec += 10;)-1200(/* 10 seconds from now */)]TJ -T* -(/* caution: this could lead to deadlock */)Tj -0 -1.189 TD -(err = pthread_mutex_timedlock\(&lock, &tout\);)Tj -0 -1.189 TD -(clock_gettime\(CLOCK_REALTIME, &tout\);)Tj -T* -(tmp = localtime\(&tout.tv_sec\);)Tj -T* -(strftime\(buf, sizeof\(buf\), "%r", tmp\);)Tj -T* -(printf\("the time is now %s\\n", buf\);)Tj -T* -(if \(err == 0\))Tj -2.4 -1.189 Td -(printf\("mutex locked again!\\n"\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(printf\("can\325t lock mutex again: %s\\n", strerror\(err\)\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3401.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 232.8481 324.0791 Tm -[(Figure 1)37(1.13)]TJ -/T1_1 1 Tf -6.25 0 Td -(Using)Tj -/TT0 1 Tf -2.881 0 Td -(pthread_mutex_timedlock)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 300.082 Tm -[(Her)18(e)-250(is)-250(the output fr)18(om the pr)18(ogram in Figur)]TJ -0.25 Tc 19.914 0 Td -(e1)Tj -0 Tc 1.174 0 Td -(1.13.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5822 283.384 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(mutex is locked)Tj -T* -(current time is 11:41:58 AM)Tj -T* -(the time is now 11:42:08 AM)Tj -T* -(can\325t lock mutex again: Connection timed out)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5822 222.5913 Tm -[(This )-287(pr)18(ogram )-287(deliberately )-287(locks )-287(a )-287(mutex )-287(it )-287(alr)15(eady )-287(owns )-287(to )-287(demonstrate )-287(how)]TJ -/TT0 1 Tf --1.8 -1.2 Td -(pthread_mutex_timedlock)Tj -/T1_1 1 Tf -14.216 0 Td -[(works. )-416(This)-416(strategy )-166(is )-166(not )-166(r)18(ecommended )-166(in )-166(practice,)]TJ --14.216 -1.2 Td -(because it can lead to deadlock.)Tj -1.8 -1.2 Td -[(Note )-103(that )-103(the )-103(time )-103(blocked )-103(can )-103(vary )-103(for )-103(several )-103(r)18(easons: )-103(the )-103(start )-103(time )-103(could )-103(have)]TJ --1.8 -1.2 Td -[(been )-111(in )-111(the )-111(middle )-111(of )-111(a )-111(second, )-111(the )-111(r)15(esolution )-111(of )-111(the )-111(system\325s )-111(clock )-111(might )-111(not )-111(be )-111(\336ne)]TJ -0 -1.2 TD -[(enough )-1(to )-1(support )-1(the )-1(r)18(esolution )-1(of )-1(our )-1(timeout, )-1(or )-1(scheduling )-1(delays )-1(could )-1(pr)22(olong )-1(the)]TJ -T* -[(amount of time until the pr)18(ogram continues execution.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1506.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47372 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(194)Tj -/T1_1 1 Tf -3.5 0 Td -[(System )-250(Data )-250(Files )-250(and )-250(Information)]TJ -39.241 0 Td -[(Chapter )-250(6)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(containing )-96(the )-96(\336rst )-96(day )-96(in )-96(January )-96(has )-96(four )-96(or )-96(mor)]TJ -0.3462 Tc 23.093 0 Td -(ed)Tj -0 Tc 1.436 0 Td -[(ays )-96(in )-96(the )-96(new )-96(year)]TJ -0.3462 Tc 8.876 0 Td -(,t)Tj -0 Tc 0.922 0 Td -[(hen )-96(this )-96(is)]TJ --34.327 -1.2 Td -[(tr)18(eated )-28(as )-28(week )-28(1.)-528(Otherwise, )-28(it )-28(is )-28(tr)21(eated )-28(as )-28(the )-28(last )-28(week )-28(of )-28(the )-28(pr)18(evious )-28(year)]TJ -0.5277 Tc 35.019 0 Td -(.I)Tj -0.2777 Tc 1.115 0 Td -(nb)Tj -0 Tc 1.413 0 Td -(oth)Tj --37.546 -1.2 Td -[(cases, Monday is tr)18(eated as the \336rst day of the week.)]TJ -1.8 -1.2 Td -[(As )-393(with)]TJ -/TT0 1 Tf -4.522 0 Td -(printf)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.494 0 Td -(strftime)Tj -/T1_1 1 Tf -5.444 0 Td -[(supports )-393(modi\336ers )-393(for )-393(some )-393(of )-393(the )-393(conversion)]TJ --16.259 -1.2 Td -[(speci\336ers. )-279(The)]TJ -/TT0 1 Tf -6.875 0 Td -(E)Tj -/T1_1 1 Tf -0.879 0 Td -(and)Tj -/TT0 1 Tf -1.972 0 Td -(O)Tj -/T1_1 1 Tf -0.879 0 Td -[(modi\336ers )-29(can )-29(be )-29(used )-29(to )-29(generate )-29(an )-29(alternative )-29(format )-29(if )-29(one )-29(is)]TJ --10.605 -1.2 Td -(supported by the locale.)Tj -7.9995 0 0 7.9995 183.5891 588.9647 Tm -(Some systems support additional, nonstandar)Tj -0.25 Tc 20.274 0 Td -(de)Tj -0 Tc 1.34 0 Td -(xtensions to the)Tj -/T1_2 1 Tf -7.179 0 Td -(format)Tj -/T1_1 1 Tf -2.916 0 Td -(string for)Tj -/TT0 1 Tf -4.348 0 Td -(strftime)Tj -/T1_1 1 Tf -(.)Tj -/TT1 1 Tf -9.9994 0 0 9.9994 93.5945 555.3667 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.287 Tc 2.383 0 Td -(e6)Tj -0 Tc 1.266 0 Td -(.1)Tj -0.287 Tc 0.695 0 Td -(1s)Tj -0 Tc 1.211 0 Td -[(hows )-37(how )-37(to )-37(use )-37(several )-37(of )-37(the )-37(time )-37(functions )-37(discussed )-37(in )-37(this )-37(chapter)]TJ -0.537 Tc 31.739 0 Td -(.I)Tj -0 Tc 1.124 0 Td -(n)Tj --38.418 -1.2 Td -[(particular)74(,)-298(it)-298(s)-1(hows )-48(how)]TJ -/TT0 1 Tf -11.105 0 Td -(strftime)Tj -/T1_1 1 Tf -5.099 0 Td -[(can )-49(be )-49(used )-49(to )-49(print )-49(a )-49(string )-49(containing )-49(the )-49(curr)22(ent)]TJ --16.204 -1.2 Td -(date and time.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5002.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 490.6401 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(time_t t;)Tj -T* -(struct tm *tmp;)Tj -T* -(char buf1[16];)Tj -0 -1.189 TD -(char buf2[64];)Tj -0 -2.021 TD -(time\(&t\);)Tj -0 -1.189 TD -(tmp = localtime\(&t\);)Tj -T* -(if \(strftime\(buf1, 16, "time and date: %r, %a %b %d, %Y", tmp\) == 0\)\ )Tj -2.4 -1.189 Td -(printf\("buffer length 16 is too small\\n"\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(printf\("%s\\n", buf1\);)Tj --2.4 -1.189 Td -(if \(strftime\(buf2, 64, "time and date: %r, %a %b %d, %Y", tmp\) == 0\)\ )Tj -2.4 -1.189 Td -(printf\("buffer length 64 is too small\\n"\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(printf\("%s\\n", buf2\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2462.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 248.8232 230.1766 Tm -[(Figure 6.1)37(1)]TJ -/T1_1 1 Tf -5.658 0 Td -(Using the)Tj -/TT0 1 Tf -4.518 0 Td -(strftime)Tj -/T1_1 1 Tf -5.05 0 Td -(function)Tj -9.9982 0 0 9.9982 129.5769 206.1809 Tm -[(Recall )-24(the )-24(r)18(elationship )-24(of )-24(the )-24(various )-24(time )-24(functions )-24(shown )-24(in )-24(Figur)]TJ -0.2738 Tc 30.012 0 Td -(e6)Tj -0 Tc 1.253 0 Td -[(.9. )-274(Befor)18(e)-274(we)-274(c)1(an)]TJ --31.265 -1.2 Td -[(print )-21(the )-21(time )-21(in )-21(a )-21(human-r)19(eadable )-21(format, )-21(we )-21(need )-21(to )-21(get )-21(the )-21(time )-21(and )-21(convert )-21(it )-21(into )-21(a)]TJ -0 -1.2 TD -[(br)18(oken-down time str)8(uctur)18(e. )-250(Sample)-250(output fr)18(om Figur)]TJ -0.25 Tc 24.753 0 Td -(e6)Tj -0 Tc 1.229 0 Td -(.1)Tj -0.25 Tc 0.695 0 Td -(1i)Tj -0 Tc 1.041 0 Td -(s)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.5741 165.4882 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(buffer length 16 is too small)Tj -0 -1.189 TD -(time and date: 11:12:35 PM, Thu Jan 19, 2012)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1325.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47373 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(6.10)]TJ --0.055 Tc 32.431 0 Td -(Ti)Tj -0 Tc 0.849 0 Td -[(me )-250(and )-250(Date )-250(Routines)]TJ -/T1_1 1 Tf -12.553 0 Td -(191)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 313.4532 429.2142 Tm -(kernel)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2922 4958 648 216 re -S -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 310.1628 509.7788 Tm -(time_t)Tj -/T1_0 1 Tf --1.548 -1.25 Td -(\(calendar time\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -4110 4994 504 144 re -S -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 416.9249 504.7491 Tm -(timespec)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2850 5786 792 216 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 302.9273 592.4978 Tm -(struct tm)Tj -/T1_0 1 Tf --1.747 -1.25 Td -[(\(br)18(oken-down time\))]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -3534 6434 792 144 re -S -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 363.9988 648.6454 Tm -(formatted string)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2382 6434 432 144 re -S -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 249.4142 648.6065 Tm -(string)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -1878 4994 504 144 re -S -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 196.1176 504.628 Tm -(timeval)Tj -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 324.6 495.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3246 4958 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 4382.25 cm -0 0 m -0 504 l -S -Q -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 329.2419 465.0167 Tm -(time)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 436.2 499.4 cm -0 0 m --5.112 -5.328 l --7.056 -2.304 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 4362 4994 cm -0 0 m --51.12 -53.28 l --70.56 -23.04 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3390.25 4382.25 cm -0 0 m -911 574 l -S -Q -Q -BT -/TT0 1 Tf -7.9957 0 0 7.9957 392.1882 464.9888 Tm -(clock_gettime)Tj -ET -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 213 499.4 cm -0 0 m -7.056 -2.304 l -5.112 -5.328 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 2130 4994 cm -0 0 m -70.56 -23.04 l -51.12 -53.28 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3102.25 4382.25 cm -0 0 m --911 574 l -S -Q -Q -BT -/TT0 1 Tf -7.9952 0 0 7.9952 196.682 464.9609 Tm -(gettimeofday)Tj -ET -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 357 506.6 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 3570 5066 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4110.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4074.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4038.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4002.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3966.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3930.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3894.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3858.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3822.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3786.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3750.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3714.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3678.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3642.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9947 0 0 7.9947 369.3561 499.5102 Tm -(tv_sec)Tj -ET -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 292.2 506.6 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 2922 5066 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2382.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2418.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2454.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2490.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2526.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2562.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2598.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2634.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2670.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2706.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2742.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2778.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2814.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2850.25 5066.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9942 0 0 7.9942 250.6195 499.4802 Tm -(tv_sec)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 303 578.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 3030 5786 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3030.25 5174.25 cm -0 0 m -0 540 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9938 -7.9938 0 299.5263 533.1839 Tm -(gmtime)Tj -ET -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 313.8 578.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 3138 5786 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 5174.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 5246.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 5318.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 5390.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 5462.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 5534.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 5606.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 5678.25 cm -0 0 m -0 36 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9933 -7.9933 0 320.2908 525.958 Tm -(localtime)Tj -ET -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 346.2 517.4 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 3462 5174 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3462.25 5246.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3462.25 5318.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3462.25 5390.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3462.25 5462.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3462.25 5534.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3462.25 5606.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3462.25 5678.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3462.25 5750.25 cm -0 0 m -0 36 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9928 -7.9928 0 352.6425 533.12 Tm -(mktime)Tj -ET -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 298.176 600.2 cm -0 0 m --6.12 4.176 l --3.456 6.552 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 2981.76 6002 cm -0 0 m --61.2 41.76 l --34.56 65.52 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2598.25 6434.25 cm -0 0 m -336 -378 l -S -Q -Q -BT -/TT0 1 Tf -5.3098 -5.9736 5.9736 5.3098 268.4322 637.6905 Tm -(strptime)Tj -ET -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 379.824 643.4 cm -0 0 m --4.536 -5.832 l --6.768 -3.024 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 3798.24 6434 cm -0 0 m --45.36 -58.32 l --67.68 -30.24 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 6002.25 cm -0 0 m -28 22 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3304.25 6047.25 cm -0 0 m -28 22 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3362.25 6093.25 cm -0 0 m -28 23 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3421.25 6139.25 cm -0 0 m -28 22 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3479.25 6185.25 cm -0 0 m -28 22 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3537.25 6230.25 cm -0 0 m -28 22 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3596.25 6276.25 cm -0 0 m -28 22 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3654.25 6321.25 cm -0 0 m -28 23 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3713.25 6368.25 cm -0 0 m -28 22 l -S -Q -Q -BT -/TT0 1 Tf -6.2936 4.9255 -4.9255 6.2936 330.9413 608.9385 Tm -(strftime)Tj -ET -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 406.176 643.4 cm -0 0 m --4.536 -5.832 l --6.768 -3.024 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 4061.76 6434 cm -0 0 m --45.36 -58.32 l --67.68 -30.24 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3510.25 6002.25 cm -0 0 m -495 387 l -S -Q -Q -BT -/TT0 1 Tf -6.2932 4.9252 -4.9252 6.2932 353.541 605.9472 Tm -(strftime_l)Tj -/T1_1 1 Tf -7.9914 0 0 7.9914 229.4481 398.1697 Tm -(Figure 6.9)Tj -/T1_0 1 Tf -5.195 0 Td -(Relationship of the various time functions)Tj -9.9892 0 0 9.9892 147.4409 371.7982 Tm -[(The )-176(two )-176(functions)]TJ -/TT0 1 Tf -8.79 0 Td -(localtime)Tj -/T1_0 1 Tf -5.826 0 Td -(and)Tj -/TT0 1 Tf -2.119 0 Td -(gmtime)Tj -/T1_0 1 Tf -4.026 0 Td -[(convert )-176(a )-176(calendar )-176(time )-176(into )-176(what\325s)]TJ --22.561 -1.2 Td -[(called a br)18(oken-down time, a)]TJ -/TT0 1 Tf -13.094 0 Td -(tm)Tj -/T1_0 1 Tf -1.45 0 Td -[(str)8(uctur)18(e.)]TJ -/TT0 1 Tf -8.9903 0 0 8.9903 147.4408 339.5331 Tm -[(struct tm {)-3600(/* a broken-down time */)]TJ -1.2 -1.189 Td -[(int )-600(tm_sec;)-1800(/* seconds after the minute: [0 - 60] */)]TJ -0 -1.189 TD -[(int )-600(tm_min;)-1800(/* minutes after the hour: [0 - 59] */)]TJ -T* -[(int )-600(tm_hour; )-600(/*)-600(hours after midnight: [0 - 23] */)]TJ -T* -[(int )-600(tm_mday; )-600(/*)-600(day of the month: [1 - 31] */)]TJ -0 -1.189 TD -[(int )-600(tm_mon;)-1800(/* months since January: [0 - 11] */)]TJ -0 -1.189 TD -[(int )-600(tm_year; )-600(/*)-600(years since 1900 */)]TJ -T* -[(int )-600(tm_wday; )-600(/*)-600(days since Sunday: [0 - 6] */)]TJ -T* -[(int )-600(tm_yday; )-600(/*)-600(days since January 1: [0 - 365] */)]TJ -T* -[(int )-600(tm_isdst;)-600(/* daylight saving time flag: <0, 0, >0 */)]TJ --1.2 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9892 0 0 9.9892 129.4602 214.668 Tm -[(The )-83(r)18(eason )-83(that )-83(the )-83(seconds )-83(can )-83(be )-83(gr)16(eater )-83(than )-83(59 )-83(is )-83(to )-83(allow )-83(for )-83(a )-83(leap )-83(second.)-585(Note)]TJ -0 -1.2 TD -[(that )-6(all )-6(the )-6(\336elds )-6(except )-6(the )-6(day )-6(of )-6(the )-6(month )-6(ar)]TJ -0.2562 Tc 21.136 0 Td -(e0)Tj -0 Tc 1.235 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based. )-256(The)-256(daylight )-6(saving )-6(time )-6(\337ag)]TJ --22.704 -1.2 Td -[(is )-108(positive )-108(if )-108(daylight )-108(saving )-108(time )-108(is )-108(in )-108(ef)21(fect, )-107(0 )-107(if )-107(it\325s )-107(not )-107(in )-107(ef)18(fect, )-107(and )-107(negative )-107(if )-107(the)]TJ -T* -(information isn\325t available.)Tj -7.9914 0 0 7.9914 183.402 158.7285 Tm -[(In )-108(older )-108(versions )-108(of )-108(the )-108(Single )-108(UNIX )-108(Speci\336cation, )-108(double )-108(leap )-108(seconds )-108(wer)]TJ -0.3584 Tc 34.53 0 Td -(ea)Tj -0 Tc 1.337 0 Td -[(llowed. )-358(Thus)]TJ --35.868 -1.25 Td -[(the )-139(valid )-139(range )-139(of )-139(values )-139(for )-139(the)]TJ -/TT0 1 Tf -15.28 0 Td -(tm_sec)Tj -/T1_0 1 Tf -3.989 0 Td -[(member )-139(was )-139(0)]TJ -6.791 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(61. )-389(The)-388(formal )-139(de\336nition )-139(of )-139(UTC)]TJ --26.643 -1.25 Td -(doesn\325t allow for double leap seconds, so the valid range for seconds\ is now 0)Tj -34.367 0.09 Td -(\320)Tj -0.583 -0.09 Td -(60.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47374 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(728)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pseudo )-250(T)92(erminals )]TJ -38.741 0 Td -[(Chapter)-500(19)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -[(pid_t )-1200(pid;)]TJ -0 -1.189 TD -[(char )-1800(pts_name[20];)]TJ -0 -2.14 TD -(if \(\(fdm = ptym_open\(pts_name, sizeof\(pts_name\)\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t open master pty: %s, error %d", pts_name, fdm\);)Tj --2.4 -2.14 Td -(if \(slave_name != NULL\) {)Tj -2.4 -1.189 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*R)Tj -0 Tc 1.8 0 Td -[(eturn name of slave.)-1200(Null terminate to handle case)]TJ -0.6 Tc -1.8 -1.189 Td -(*w)Tj -0 Tc 1.8 0 Td -(here strlen\(pts_name\) > slave_namesz.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(strncpy\(slave_name, pts_name, slave_namesz\);)Tj -0 -1.189 TD -(slave_name[slave_namesz - 1] = \325\\0\325;)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(return\(-1\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(pid == 0\) {)-3600(/* child */)]TJ -0.6 -1.189 Td -(if \(setsid\(\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("setsid error"\);)Tj --2.4 -2.14 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*S)Tj -0 Tc 1.8 0 Td -(ystem V acquires controlling terminal on open\(\).)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(\(fds = ptys_open\(pts_name\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t open slave pty"\);)Tj --2.4 -1.189 Td -[(close\(fdm\); )-2400(/*)-600(all done with master in child */)]TJ --4.8 -2.14 Td -(#if defined\(BSD\))Tj -4.8 -1.189 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*T)Tj -0 Tc 1.8 0 Td -(IOCSCTTY is the BSD way to acquire a controlling terminal.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(ioctl\(fds, TIOCSCTTY, \(char *\)0\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("TIOCSCTTY error"\);)Tj --7.2 -1.189 Td -(#endif)Tj -4.8 -1.189 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*S)Tj -0 Tc 1.8 0 Td -(et slave\325s termios and window size.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(slave_termios != NULL\) {)Tj -2.4 -1.189 Td -(if \(tcsetattr\(fds, TCSANOW, slave_termios\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("tcsetattr error on slave pty"\);)Tj --4.8 -1.189 Td -(})Tj -0 -1.189 TD -(if \(slave_winsize != NULL\) {)Tj -2.4 -1.189 Td -(if \(ioctl\(fds, TIOCSWINSZ, slave_winsize\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("TIOCSWINSZ error on slave pty"\);)Tj --4.8 -1.189 Td -(})Tj -0 -2.14 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*S)Tj -0 Tc 1.8 0 Td -(lave becomes stdin/stdout/stderr of child.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(dup2\(fds, STDIN_FILENO\) != STDIN_FILENO\))Tj -2.4 -1.189 Td -(err_sys\("dup2 error to stdin"\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47375 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(9.6)]TJ -34.294 0 Td -[(Contr)18(olling )-250(T)92(erminal)]TJ -/T1_1 1 Tf -11.539 0 Td -(297)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -0.883 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245W)Tj -0 Tc 2.489 0 Td -[(henever )-149(we )-149(pr)18(ess )-149(the )-149(terminal\325s )-149(quit )-149(key )-149(\(often )-149(Contr)18(ol-backslash\), )-149(the )-149(quit)]TJ --1 -1.2 Td -[(signal is sent to all pr)18(ocesses in the for)18(egr)18(ound pr)18(ocess gr)18(oup.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245I)Tj -0.4089 Tc 1.826 0 Td -(fam)Tj -0 Tc 2.534 0 Td -[(odem )-159(\(or )-159(network\) )-159(disconnect )-159(is )-159(detected )-159(by )-159(the )-159(terminal )-159(interface, )-159(the)]TJ --2.871 -1.2 Td -[(hang-up signal is sent to the contr)18(olling pr)18(ocess \(the session leader\).)]TJ --3.289 -1.92 Td -(These characteristics ar)Tj -0.25 Tc 10.219 0 Td -(es)Tj -0 Tc 1.153 0 Td -(hown in Figur)Tj -0.25 Tc 6.3 0 Td -(e9)Tj -0 Tc 1.229 0 Td -(.7.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1662 5278 432 216 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 169.4477 536.7756 Tm -(login shell)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2454 5278 432 216 re -S -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 254.9541 536.7434 Tm -(proc1)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -3030 5278 432 216 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 312.525 536.7112 Tm -(proc2)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -3822 5278 432 216 re -S -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 391.6825 536.679 Tm -(proc3)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -4398 5278 432 216 re -S -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 449.2382 536.6468 Tm -(proc4)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -4110 4846 432 216 re -S -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 420.4234 493.4327 Tm -(proc5)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1590.25 5206.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1590.25 5271.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1590.25 5335.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1590.25 5400.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1590.25 5465.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1590.25 5530.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1657.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1725.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1792.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1860.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1927.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1995.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2062.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2130.25 5566.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 5501.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 5436.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 5371.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 5307.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 5242.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2098.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2031.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1963.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1896.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1828.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1761.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1693.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1626.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 140.5085 513.5934 Tm -[(backgr)18(ound pr)18(ocess gr)18(oup)]TJ -2.388 -1.35 Td -(session leader =)Tj --0.673 -1.08 Td -[(contr)18(olling pr)18(ocess)]TJ -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5206.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5271.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5335.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5400.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5465.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 5530.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2452.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2521.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2591.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2661.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2730.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2800.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2870.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2940.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3010.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3079.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3149.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3218.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3288.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3358.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3428.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3498.25 5566.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 5501.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 5436.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 5371.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 5307.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 5242.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3464.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3394.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3324.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3254.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3185.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3115.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3046.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2976.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2906.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2836.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2766.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2696.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2627.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2557.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2488.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 5206.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 248.4418 513.5626 Tm -[(backgr)18(ound pr)18(ocess gr)18(oup)]TJ -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 4774.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 4842.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 4911.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 4980.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5049.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5117.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5186.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5255.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5324.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5392.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5461.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 5530.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3824.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3899.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3973.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4047.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4122.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4196.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4270.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4345.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4419.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4494.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4568.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4643.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4717.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4792.25 5566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4866.25 5566.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5497.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5428.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5360.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5291.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5222.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5153.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5085.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 5016.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 4947.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 4878.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4902.25 4810.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4828.25 4774.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 4774.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4679.25 4774.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4604.25 4774.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4530.25 4774.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4455.25 4774.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4381.25 4774.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4306.25 4774.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4232.25 4774.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4158.25 4774.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4083.25 4774.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4009.25 4774.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3935.25 4774.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3860.25 4774.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 4774.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 386.4161 470.3577 Tm -[(for)18(egr)18(ound pr)18(ocess gr)18(oup)]TJ -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1374.25 4558.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1374.25 4828.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1374.25 5098.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1374.25 5368.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1374.25 5638.25 cm -0 0 m -0 144 l -144 144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1674.25 5782.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1974.25 5782.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2274.25 5782.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2574.25 5782.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2874.25 5782.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3174.25 5782.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3474.25 5782.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3774.25 5782.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4074.25 5782.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4374.25 5782.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4674.25 5782.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4974.25 5782.25 cm -0 0 m -144 0 l -144 -144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5118.25 5512.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5118.25 5242.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5118.25 4972.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5118.25 4702.25 cm -0 0 m -0 -144 l --144 -144 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4818.25 4558.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4518.25 4558.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4218.25 4558.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3918.25 4558.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3618.25 4558.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3318.25 4558.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3018.25 4558.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2718.25 4558.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 4558.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2118.25 4558.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1818.25 4558.25 cm -0 0 m --144 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1518.25 4558.25 cm -0 0 m --144 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9934 0 0 9.9934 308.5463 581.0564 Tm -(session)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2891.76 3874 cm -0 0 m -0 -99.41 -120.88 -180 -270 -180 c --419.11 -180 -540 -99.41 -540 0 c --540 99.41 -419.11 180 -270 180 c --120.88 180 0 99.41 0 0 c -h -S -Q -Q -BT -/T1_0 1 Tf -7.9942 0 0 7.9942 242.6732 390.3588 Tm -[(contr)18(olling)]TJ -0.542 -1.25 Td -(terminal)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 411 466.6 cm -0 0 m --5.616 -4.896 l --7.272 -1.728 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 4110 4666 cm -0 0 m --56.16 -48.96 l --72.72 -17.28 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2812.25 4001.25 cm -0 0 m -1234 632 l -S -Q -Q -BT -/T1_0 1 Tf -7.1139 3.6458 -3.6458 7.1139 314.7054 420.6707 Tm -(terminal input and)Tj --1.731 -1.25 Td -(terminal-generated signals)Tj -ET -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 207.816 481.576 cm -0 0 m -4.536 -5.904 l -1.224 -7.344 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 2078.1599 4815.7598 cm -0 0 m -45.36 -59.04 l -12.24 -73.44 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2107.25 4749.25 cm -0 0 m -324 -748 l -S -Q -Q -BT -/T1_0 1 Tf -3.1774 -7.3346 7.3346 3.1774 214.9224 472.4759 Tm -(modem disconnect)Tj -2.157 -1.25 Td -(\(hang-up signal\))Tj -/T1_1 1 Tf -7.9933 0 0 7.9933 201.3068 343.911 Tm -(Figure 9.7)Tj -/T1_0 1 Tf -5.195 0 Td -[(Pr)18(ocess gr)18(oups and sessions showing contr)18(olling terminal)]TJ -9.9916 0 0 9.9916 147.476 315.1352 Tm -[(Usually)111(,)-433(we)-433(d)-1(on\325t )-183(have )-183(to )-183(worry )-183(about )-183(the )-183(contr)18(olling )-183(terminal; )-183(it )-183(is )-183(established)]TJ --1.8 -1.2 Td -(automatically when we log in.)Tj -7.9933 0 0 7.9933 183.4457 283.162 Tm -[(POSIX.1 )-54(leaves )-54(the )-54(choice )-54(of )-54(the )-54(mechanism )-54(used )-54(to )-54(allocate )-54(a )-54(contr)18(olling )-54(terminal )-54(up )-54(to )-54(each)]TJ -0 -1.25 TD -(individual implementation.)Tj --0.092 Tc 12.696 0 Td -(We)Tj -0 Tc 1.387 0 Td -(\325ll show the actual steps in Section 19.4.)Tj --14.083 -1.875 Td -[(Systems )-45(derived )-45(fr)18(om )-45(UNIX )-45(System )-45(V )-45(allocate )-45(the )-45(contr)16(olling )-45(terminal )-45(for )-45(a )-45(session )-45(when )-45(the)]TJ -T* -[(session )-87(leader )-87(opens )-87(the )-87(\336rst )-87(terminal )-87(device )-87(that )-87(is )-87(not )-87(alr)18(eady )-87(associated )-87(with )-87(a )-87(session, )-87(as)]TJ -T* -(long as the call to)Tj -/TT0 1 Tf -7.934 0 Td -(open)Tj -/T1_0 1 Tf -2.65 0 Td -(does not specify the)Tj -/TT0 1 Tf -9.029 0 Td -(O_NOCTTY)Tj -/T1_0 1 Tf -5.05 0 Td -(\337ag \(Section 3.3\).)Tj --24.663 -1.875 Td -(BSD)Tj -1.91 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-31(systems )-31(allocate )-31(the )-31(contr)18(olling )-31(terminal )-31(for )-31(a )-31(session )-31(when )-31(the )-31(session )-31(leader )-31(calls)]TJ -/TT0 1 Tf --2.243 -1.25 Td -(ioctl)Tj -/T1_0 1 Tf -3.434 0 Td -[(with )-184(a)]TJ -/T1_2 1 Tf --0.018 Tc 3.4 0 Td -(re)Tj -0 Tc 0.76 0 Td -(quest)Tj -/T1_0 1 Tf -2.564 0 Td -[(ar)18(gument )-184(of)]TJ -/TT0 1 Tf -6.052 0 Td -(TIOCSCTTY)Tj -/T1_0 1 Tf -5.834 0 Td -[(\(the )-184(thir)]TJ -0.4335 Tc 3.73 0 Td -(da)Tj --0.018 Tc 1.544 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument )-183(is )-183(a )-183(null )-183(pointer\).)-685(The)]TJ --28.251 -1.25 Td -[(session )-45(cannot )-45(alr)18(eady )-45(have )-45(a )-45(contr)16(olling )-46(terminal )-46(for )-46(this )-46(call )-46(to )-46(succeed.)-543(\(Normally)]TJ -0.2956 Tc 38.01 0 Td -(,t)Tj -0 Tc 0.872 0 Td -[(his )-46(call)]TJ --38.882 -1.25 Td -(to)Tj -/TT0 1 Tf -1.337 0 Td -(ioctl)Tj -/T1_0 1 Tf -3.465 0 Td -[(follows )-215(a )-215(call )-215(to)]TJ -/TT0 1 Tf -8.025 0 Td -(setsid)Tj -/T1_0 1 Tf -0.4655 Tc (,w)Tj -0 Tc 5.15 0 Td -[(hich )-215(guarantees )-215(that )-215(the )-215(pr)16(ocess )-215(is )-215(a )-215(session )-215(leader)]TJ --17.977 -1.25 Td -[(without )-373(a )-373(contr)18(olling )-373(terminal.\))-873(The )-373(POSIX.1)]TJ -/TT0 1 Tf -22.504 0 Td -(O_NOCTTY)Tj -/T1_0 1 Tf -5.423 0 Td -[(\337ag )-373(to)]TJ -/TT0 1 Tf -3.783 0 Td -(open)Tj -/T1_0 1 Tf -3.024 0 Td -[(is )-374(not )-374(used )-374(by)]TJ --34.734 -1.25 Td -(BSD)Tj -1.91 0.09 Td -(-)Tj -0.333 -0.09 Td -(based systems, except in compatibility-mode support for other systems.)Tj --2.243 -1.875 Td -(Figur)Tj -0.4006 Tc 2.383 0 Td -(e9)Tj -0 Tc 1.38 0 Td -[(.8 )-151(summarizes )-151(the )-151(way )-151(each )-151(platform )-151(discussed )-151(in )-151(this )-151(book )-151(allocates )-151(a )-151(contr)23(olling)]TJ --3.763 -1.25 Td -[(terminal. )-332(Note)-331(that )-82(although )-82(Mac )-82(OS )-82(X )-82(10.6.8 )-82(is )-82(derived )-82(fr)21(om )-82(BSD, )-82(it )-82(behaves )-82(like )-82(System )-82(V)]TJ --0 -1.25 Td -[(when allocating a contr)18(olling terminal.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47376 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.10)]TJ -35.018 0 Td -[(POSIX )-250(Semaphor)18(es)]TJ -/T1_1 1 Tf -10.815 0 Td -(583)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.16 Td -[(One )-105(of )-105(the )-105(motivations )-105(for )-105(intr)18(oducing )-105(the )-105(POSIX )-105(semaphor)]TJ -0.3549 Tc 27.413 0 Td -(ei)Tj -0 Tc 1.125 0 Td -[(nterfaces )-105(was )-105(that )-105(they)]TJ --28.538 -1.2 Td -[(can )-59(be )-59(made )-59(to )-59(perform )-59(signi\336cantly )-59(better )-59(than )-59(the )-59(existing )-59(XSI )-59(semaphor)]TJ -0.3095 Tc 33.709 0 Td -(ei)Tj -0 Tc 1.079 0 Td -(nterfaces.)Tj --34.788 -1.2 Td -[(It )-122(is )-122(instr)8(uctive )-122(to )-122(see )-122(if )-122(this )-122(goal )-122(was )-122(r)18(eached )-122(in )-122(existing )-122(systems, )-122(even )-122(though )-122(these)]TJ -0 -1.2 TD -(systems wer)Tj -0.25 Tc 5.456 0 Td -(en)Tj -0 Tc 1.311 0 Td -[(ot designed to support r)18(eal-time applications.)]TJ --4.967 -1.2 Td -[(In )-182(Figur)]TJ -0.432 Tc 3.734 0 Td -(e1)Tj -0 Tc 1.411 0 Td -[(5.34, )-182(we )-182(compar)]TJ -0.432 Tc 7.528 0 Td -(et)Tj -0 Tc 1.237 0 Td -[(he )-182(performance )-182(of )-182(using )-182(XSI )-182(semaphor)18(es )-182(\(without)]TJ -/TT1 1 Tf --15.71 -1.2 Td -(SEM_UNDO)Tj -/T1_0 1 Tf -0.3687 Tc (\)a)Tj -0 Tc 6.002 0 Td -[(nd )-119(POSIX )-119(semaphor)18(es )-119(when )-119(3 )-119(pr)20(ocesses )-119(compete )-119(to )-119(allocate )-119(and )-119(r)19(elease)]TJ --6.002 -1.2 Td -(the semaphor)Tj -0.25 Tc 6.029 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(,000,000 times on two platforms)Tj -14.286 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0 and Solaris 10)Tj -11.268 0.04 Td -(\))Tj -0.333 -0.04 Td -(.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1741.25 5542.25 cm -0 0 m -3010 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 291.2171 546.1345 Tm -(Solaris 10)Tj -13.763 0 Td -(Linux 3.2.0)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2518.25 5422.25 cm -0 0 m -2233 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 262.2448 534.1038 Tm -[(User )-1808(System)-1824(Clock )-2132(User)-2058(System )-1573(Clock)]TJ --8.544 0.75 Td -(Operation)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1741.25 5302.25 cm -0 0 m -3010 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1741.25 5282.25 cm -0 0 m -3010 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 178.0693 520.0752 Tm -[(XSI semaphor)18(es )-3166(1)55(1.85 )-2193(15.85 )-2193(27.91)-2693(0.33 )-2693(5.93 )-2693(7.33)]TJ -0 -1.25 TD -[(POSIX semaphor)18(es )-1721(13.72)-2443(10.52 )-2193(24.44)-2693(0.26 )-2693(0.75 )-2693(0.41)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1741.25 5062.25 cm -0 0 m -3010 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4395.25 5062.25 cm -0 0 m -0 360 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4020.25 5062.25 cm -0 0 m -0 360 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3644.25 5062.25 cm -0 0 m -0 480 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3269.25 5062.25 cm -0 0 m -0 360 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2893.25 5062.25 cm -0 0 m -0 360 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2518.25 5062.25 cm -0 0 m -0 480 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4751.25 5062.25 cm -0 0 m -0 480 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1741.25 5062.25 cm -0 0 m -0 480 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 209.3292 488.0536 Tm -(Figure 15.34)Tj -/T1_0 1 Tf --0.055 Tc 6.195 0 Td -(Ti)Tj -0 Tc 0.849 0 Td -(ming comparison of semaphor)Tj -0.25 Tc 13.545 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(mplementations)Tj -9.997 0 0 9.997 147.5552 461.6615 Tm -[(In )-497(Figur)]TJ -0.7471 Tc 4.049 0 Td -(e1)Tj -0 Tc 1.726 0 Td -[(5.34, )-497(we )-497(can )-497(see )-497(that )-497(POSIX )-497(semaphor)18(es )-497(pr)17(ovide )-497(only )-497(a )-497(12%)]TJ --7.575 -1.2 Td -[(impr)18(ovement )-138(over )-138(XSI )-138(semaphor)18(es )-138(on )-138(Solaris, )-138(but )-138(on )-138(Linux )-138(the )-138(impr)18(ovement )-138(is )-138(94%)]TJ -0 -1.2 TD -[(\(almost )-527(18 )-527(times )-527(faster\)!)-1025(If )-526(we )-526(trace )-526(the )-526(pr)18(ograms, )-526(we )-526(\336nd )-526(that )-526(the )-526(Linux)]TJ -T* -[(implementation )-57(of )-57(POSIX )-57(semaphor)18(es )-57(maps )-57(the )-57(\336le )-57(into )-57(the )-57(pr)18(ocess )-57(addr)19(ess )-57(space )-57(and)]TJ -T* -(performs individual semaphor)Tj -0.25 Tc 13.584 0 Td -(eo)Tj -0 Tc 1.275 0 Td -(perations without using system calls.)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4138.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9964 0 0 9.9964 93.5663 383.6619 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.16 Td -[(Recall )-39(fr)18(om )-39(Figur)]TJ -0.2892 Tc 7.773 0 Td -(e1)Tj -0 Tc 1.268 0 Td -[(2.5 )-39(that )-39(the )-39(Single )-39(UNIX )-39(Speci\336cation )-39(doesn\325t )-39(de\336ne )-39(what )-39(happens)]TJ --9.042 -1.2 Td -[(when )-33(one )-33(thr)18(ead )-33(locks )-33(a )-33(normal )-33(mutex )-33(and )-33(a )-33(dif)21(fer)18(ent )-33(thr)18(ead )-33(tries )-33(to )-33(unlock )-33(it, )-33(but )-33(that)]TJ --0 -1.2 Td -[(err)18(or)18(-checking )-122(mutexes )-122(and )-122(r)18(ecursive )-122(mutexes )-122(generate )-122(err)18(ors )-122(in )-122(this )-122(case.)-622(Because )-122(a)]TJ -0 -1.2 Td -[(binary )-44(semaphor)]TJ -0.294 Tc 7.563 0 Td -(ec)Tj -0 Tc 1.217 0 Td -[(an )-44(be )-44(used )-44(like )-44(a )-44(mutex, )-44(we )-44(can )-44(use )-44(a )-44(semaphor)18(e)-294(to)-294(c)]TJ --0.018 Tc (re)Tj -0 Tc 24.821 0 Td -[(ate )-44(our )-44(own)]TJ --33.601 -1.2 Td -[(locking primitive to pr)18(ovide mutual exclusion.)]TJ -1.8 -1.2 Td -[(Assuming )-76(we )-76(wer)19(e)-326(to)-326(c)]TJ --0.018 Tc 10.641 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ate )-76(our )-76(own )-76(lock )-76(that )-76(could )-76(be )-76(locked )-76(by )-76(one )-76(thr)18(ead )-76(and)]TJ --13.297 -1.2 Td -(unlocked by another)Tj -0.25 Tc 9.057 0 Td -(,o)Tj -0 Tc 1.046 0 Td -[(ur lock str)8(uctur)]TJ -0.25 Tc 6.825 0 Td -(em)Tj -0 Tc 1.612 0 Td -(ight look like)Tj -/TT1 1 Tf -8.9968 0 0 8.9968 147.5466 273.4016 Tm -(struct slock {)Tj -1.2 -1.189 Td -(sem_t *semp;)Tj -0 -1.189 TD -[(char )-1200(name[_POSIX_NAME_MAX];)]TJ --1.2 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9964 0 0 9.9964 147.5466 223.3196 Tm -[(The )-308(pr)18(ogram )-308(in )-308(Figur)]TJ -0.5581 Tc 10.462 0 Td -(e1)Tj -0 Tc 1.537 0 Td -[(5.35 )-308(shows )-308(an )-308(implementation )-308(of )-308(a )-308(semaphor)17(e-based)]TJ --13.799 -1.2 Td -(mutual exclusion primitive.)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2042.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9962 0 0 8.9962 129.5456 194.6172 Tm -(#include "slock.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(struct slock *)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47377 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(990)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(tcsendbreak)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(322,)-250(331, 677, 682,)]TJ --4.317 -1.25 Td -(693)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(694)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(693)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(tcsetattr)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(322,)-250(331, 673)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(674, 677, 679,)Tj --13.74 -1.25 Td -(683)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(684, 691)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(692, 701, 705)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(707, 722, 728,)Tj --12.5 -1.25 Td -(731, 738)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(683)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(tcsetpgrp)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(298)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(299, 301, 303, 322, 331,)Tj --9.74 -1.25 Td -(674, 677)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(298)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(tee)Tj -/T1_1 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(554)]TJ -6.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(555)Tj -/TT0 1 Tf --8.991 -1.25 Td -(tell)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(67)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(TELL_CHILD)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(247)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(248, 362, 491, 498,)Tj --10.34 -1.25 Td -(532, 539, 541, 577, 898)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(363, 540)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(telldir)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(130)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(135)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(130)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(TELL_PARENT)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(247,)-250(362, 491, 532, 539,)]TJ --4.317 -1.25 Td -(541, 577, 898, 934)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(363, 540)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(TELL_WAIT)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(247)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(248, 362, 491, 498, 532,)Tj --9.74 -1.25 Td -(539, 577, 898, 934)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(363, 540)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(telnet)Tj -/T1_1 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(292)]TJ -6.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(293, 500, 738)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(739, 742)Tj -/TT0 1 Tf --16.958 -1.25 Td -(telnetd)Tj -/T1_1 1 Tf -4.617 0 Td -[(pr)18(ogram, )-250(291)]TJ -6.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(292, 500)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(501, 717, 734,)Tj --12.858 -1.25 Td -(923, 944)Tj -/TT0 1 Tf --2.7 -1.25 Td -(tempnam)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(169)]TJ --4.617 -1.25 Td -[(TENEX C shell,)-500(3)]TJ -/TT0 1 Tf -0 -1.25 TD -(TERM)Tj -/T1_1 1 Tf -2.817 0 Td -[(envir)18(onment variable,)-500(21)55(1, 287, 289)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(termcap)Tj -/T1_1 1 Tf -0.5 Tc 4.367 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(12)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(713, 953)Tj --7.283 -1.25 Td -(terminal)Tj -1.35 -1.25 Td -[(baud rate,)-500(692)]TJ -6.55 0.09 Td -(\320)Tj -0.583 -0.09 Td -(693)Tj --7.133 -1.25 Td -[(canonical mode,)-500(700)]TJ -9.282 0.09 Td -(\320)Tj -0.583 -0.09 Td -(703)Tj --9.866 -1.25 Td -[(contr)18(olling, )-250(63,)-250(233, 252, 270, 292, 295)]TJ -16.665 0.09 Td -(\320)Tj -0.583 -0.09 Td -(298, 301,)Tj --15.899 -1.25 Td -(303)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(304, 306, 309, 31)55(1)]TJ -7.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(312, 318, 321, 377, 463,)Tj --10.278 -1.25 Td -(465)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(466, 469, 480, 680, 685, 691, 694, 700, 702,)Tj --2.167 -1.25 Td -(716, 724, 726)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(727, 898, 953)Tj --7.517 -1.25 Td -[(identi\336cation, )-250(694)]TJ -8.207 0.09 Td -(\320)Tj -0.583 -0.09 Td -(700)Tj --8.79 -1.25 Td -[(I/O, )-250(671)]TJ -4.062 0.09 Td -(\320)Tj -0.583 -0.09 Td -(713)Tj --4.646 -1.25 Td -[(line contr)18(ol, )-250(693)]TJ -7.338 0.09 Td -(\320)Tj -0.583 -0.09 Td -(694)Tj --7.922 -1.25 Td -[(logins, )-250(285)]TJ -5.023 0.09 Td -(\320)Tj -0.583 -0.09 Td -(290)Tj --5.606 -1.25 Td -[(mode, cbr)18(eak, )-250(672,)-250(704, 708, 713)]TJ -T* -[(mode, cooked,)-500(672)]TJ -T* -(mode, raw)Tj -0.5 Tc 4.656 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(72, 704, 708, 713, 732, 734)Tj --5.906 -1.25 Td -[(noncanonical mode,)-500(703)]TJ -10.992 0.09 Td -(\320)Tj -0.583 -0.09 Td -(710)Tj --11.575 -1.25 Td -[(options, )-250(683)]TJ -5.649 0.09 Td -(\320)Tj -0.583 -0.09 Td -(691)Tj --6.233 -1.25 Td -(parity)Tj -0.5 Tc 2.558 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(88)Tj --3.808 -1.25 Td -[(pr)18(ocess gr)18(oup ID,)-500(303, 463)]TJ -T* -[(special input characters,)-500(678)]TJ -12.755 0.09 Td -(\320)Tj -0.583 -0.09 Td -(682)Tj --13.339 -1.25 Td -[(window size,)-500(31)55(1, 322, 710)]TJ -11.92 0.09 Td -(\320)Tj -0.583 -0.09 Td -(712, 718, 727,)Tj --11.154 -1.25 Td -(741)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(742)Tj --4.866 -1.25 Td -[(termination, pr)18(ocess, )-250(198)]TJ -11.329 0.09 Td -(\320)Tj -0.583 -0.09 Td -(202)Tj -/TT0 1 Tf --11.913 -1.25 Td -(terminfo)Tj -/T1_1 1 Tf -0.5 Tc 4.967 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(12)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(713, 949, 953)Tj -/TT0 1 Tf -18.117 65 Td -(termio)Tj -/T1_1 1 Tf -4.017 0 Td -[(str)8(uctur)18(e, )-250(674)]TJ -/TT0 1 Tf --4.017 -1.25 Td -()Tj -/T1_1 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(74)Tj -/TT0 1 Tf --10.639 -1.25 Td -(termios)Tj -/T1_1 1 Tf -4.617 0 Td -[(str)8(uctur)18(e, )-250(64,)-250(31)55(1, 674, 677)]TJ -11.747 0.09 Td -(\320)Tj -0.583 -0.09 Td -(679,)Tj --14.247 -1.25 Td -(683)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(684, 692)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(693, 695, 701, 703)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(706, 708,)Tj --14.5 -1.25 Td -(722, 727, 730)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(732, 738, 741)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(742, 897, 944)Tj -/TT0 1 Tf --15.033 -1.25 Td -()Tj -/T1_1 1 Tf -7.017 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9, 88, 674)Tj --11.239 -1.25 Td -[(text segment,)-500(204)]TJ -/TT0 1 Tf -T* -()Tj -/T1_1 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7)Tj --10.639 -1.25 Td -[(Thompson, K.,)-500(75, 181, 229, 743, 951)]TJ -16.086 0.09 Td -(\320)Tj -0.583 -0.09 Td -(953)Tj --16.669 -1.25 Td -[(thr)18(ead\320)]TJ -/TT0 1 Tf -(fork)Tj -/T1_1 1 Tf -6.192 0 Td -[(interactions, )-250(457)]TJ -7.519 0.09 Td -(\320)Tj -0.583 -0.09 Td -(461)Tj -/TT0 1 Tf --14.294 -1.25 Td -(thread_init)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(445)]TJ --7.017 -1.25 Td -[(thr)18(eads, )-250(14,)-250(27, 229, 383)]TJ -10.632 0.09 Td -(\320)Tj -0.583 -0.09 Td -(423, 578)Tj --9.866 -1.25 Td -[(cancellation options,)-500(451)]TJ -11.175 0.09 Td -(\320)Tj -0.583 -0.09 Td -(453)Tj --11.759 -1.25 Td -[(concepts, )-250(383)]TJ -6.179 0.09 Td -(\320)Tj -0.583 -0.09 Td -(385)Tj --6.762 -1.25 Td -[(contr)18(ol, )-250(425)]TJ -5.445 0.09 Td -(\320)Tj -0.583 -0.09 Td -(462)Tj --6.029 -1.25 Td -[(cr)18(eation, )-250(385)]TJ -5.878 0.09 Td -(\320)Tj -0.583 -0.09 Td -(388)Tj --6.461 -1.25 Td -[(I/O, )-250(461)]TJ -4.062 0.09 Td -(\320)Tj -0.583 -0.09 Td -(462)Tj --0.018 Tc -4.646 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(entrancy)Tj -0.5 Tc 3.753 0 Td -(,4)Tj -0 Tc 1.25 0 Td -(42)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(446)Tj --7.525 -1.25 Td -[(synchr)18(onization, )-250(397)]TJ -9.462 0.09 Td -(\320)Tj -0.583 -0.09 Td -(422)Tj --10.046 -1.25 Td -[(termination, )-250(388)]TJ -7.534 0.09 Td -(\320)Tj -0.583 -0.09 Td -(397)Tj --9.467 -1.25 Td -[(thr)18(ead\320signal interactions,)-500(453)]TJ -13.788 0.09 Td -(\320)Tj -0.583 -0.09 Td -(457)Tj --14.371 -1.25 Td -[(thr)18(ead-speci\336c data,)-500(446)]TJ -11.016 0.09 Td -(\320)Tj -0.583 -0.09 Td -(451)Tj --11.6 -1.25 Td -[(thundering her)18(d, )-250(927)]TJ -T* -[(tick, clock,)-500(20, 42)]TJ -7.731 0.09 Td -(\320)Tj -0.583 -0.09 Td -(43, 49, 59, 270, 280)Tj --8.315 -1.25 Td -(time)Tj -1.35 -1.25 Td -[(and date functions,)-500(189)]TJ -10.573 0.09 Td -(\320)Tj -0.583 -0.09 Td -(196)Tj --11.157 -1.25 Td -(calendar)Tj -0.5 Tc 3.728 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(0, 24, 59, 126, 189, 191)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(192, 264, 270)Tj --15.145 -1.25 Td -[(pr)18(ocess, )-250(20,)-250(24, 59, 280)]TJ -10.128 0.09 Td -(\320)Tj -0.583 -0.09 Td -(282)Tj --10.711 -1.25 Td -[(values, )-250(20)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(time)Tj -/T1_1 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(20)]TJ --2.817 -1.25 Td -[(TIME terminal value,)-500(687, 703)]TJ -13.525 0.09 Td -(\320)Tj -0.583 -0.09 Td -(704, 708, 713, 943)Tj -/TT0 1 Tf --14.108 -1.25 Td -(time)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(189)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(190, 194, 264, 331, 357,)Tj --6.74 -1.25 Td -(639)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(640, 919, 929)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(189)]TJ -/TT0 1 Tf --1.35 -1.25 Td -()Tj -/T1_1 1 Tf -5.217 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7, 59)Tj -/TT0 1 Tf --9.439 -1.25 Td -(timeout)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(439,)-250(462)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(TIMER_ABSTIME)Tj -/T1_1 1 Tf -8.217 0 Td -[(constant, )-250(375)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(timer_getoverrun)Tj -/T1_1 1 Tf -10.017 0 Td -[(function, )-250(331)]TJ -/TT0 1 Tf --10.017 -1.25 Td -(timer_gettime)Tj -/T1_1 1 Tf -8.217 0 Td -[(function, )-250(331)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(TIMER_MAX)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(40,)-250(43)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(timer_settime)Tj -/T1_1 1 Tf -8.217 0 Td -[(function, )-250(331,)-250(353)]TJ --8.217 -1.25 Td -[(times, \336le,)-500(124)]TJ -6.611 0.09 Td -(\320)Tj -0.583 -0.09 Td -(125, 532)Tj -/TT0 1 Tf --7.194 -1.25 Td -(times)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(42,)-250(59, 280)]TJ -9.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(281, 331, 522)Tj --11.69 -1.25 Td -[(de\336nition of,)-500(280)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(timespec)Tj -/T1_1 1 Tf -5.217 0 Td -[(str)8(uctur)18(e, )-250(94,)-250(126, 128, 189)]TJ -11.802 0.09 Td -(\320)Tj -0.583 -0.09 Td -(190, 375,)Tj --14.902 -1.25 Td -(407)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(408, 413)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(414, 437)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(438, 506, 832)Tj -/TT0 1 Tf --13.2 -1.25 Td -(time_t)Tj -/T1_1 1 Tf -4.017 0 Td -[(data type,)-500(20, 59, 94, 189, 192, 196, 906)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(timeval)Tj -/T1_1 1 Tf -4.617 0 Td -[(str)8(uctur)18(e, )-250(190,)-250(414, 421, 437, 503, 506,)]TJ --1.917 -1.25 Td -(805)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(806, 929, 933)Tj --4.866 -1.25 Td -(timing)Tj -1.35 -1.25 Td -[(full-duplex pipes,)-500(565)]TJ -T* -[(message queues,)-500(565)]TJ -/TT0 1 Tf -T* -(read)Tj -/T1_1 1 Tf -2.817 0 Td -[(buf)18(fer sizes,)-500(73)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47378 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(3.9)]TJ -37.777 0 Td -[(I/O )-250(Ef)18(\336ciency)]TJ -/T1_1 1 Tf -8.556 0 Td -(73)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -0.883 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-167(pr)18(ogram )-167(doesn\325t )-167(close )-167(the )-167(input )-167(\336le )-167(or )-167(output )-167(\336le.)-667(Instead, )-167(the )-167(pr)14(ogram)]TJ --0.613 -1.2 Td -[(uses )-201(the )-201(featur)17(e)-451(of)-451(t)-1(he )-201(UNIX )-201(kernel )-201(that )-201(closes )-201(all )-201(open )-201(\336le )-201(descriptors )-201(in )-201(a)]TJ -0 -1.2 TD -[(pr)18(ocess when that pr)18(ocess terminates.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(his )-338(example )-338(works )-338(for )-338(both )-338(text )-338(\336les )-338(and )-338(binary )-338(\336les, )-338(since )-338(ther)17(e)-588(is)-588(no)]TJ --0.613 -1.2 Td -[(dif)18(fer)18(ence between the two to the UNIX kernel.)]TJ --1.489 -2.4 Td -[(One )-266(question )-266(we )-266(haven\325t )-266(answer)18(ed, )-266(however)76(,)-516(is)-516(h)1(ow )-266(we )-266(chose )-266(the)]TJ -/TT0 1 Tf -32.4 0 Td -(BUFFSIZE)Tj -/T1_0 1 Tf --34.2 -1.2 Td -[(value. )-692(Befor)]TJ -0.6919 Tc 5.976 0 Td -(ea)Tj -0 Tc 1.671 0 Td -[(nswering )-442(that, )-442(let\325s )-442(r)8(un )-442(the )-442(pr)18(ogram )-442(using )-442(dif)19(fer)18(ent )-442(values )-442(for)]TJ -/TT0 1 Tf --7.647 -1.2 Td -(BUFFSIZE)Tj -/T1_0 1 Tf -0.664 Tc (.F)Tj -0 Tc 6.27 0 Td -(igur)Tj -0.414 Tc 1.827 0 Td -(e3)Tj -0 Tc 1.393 0 Td -[(.6 )-164(shows )-164(the )-164(r)18(esults )-164(for )-164(r)18(eading )-164(a )-164(516,581,760)]TJ -20.94 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-164(\336le, )-164(using )-164(20)]TJ --30.763 -1.2 Td -[(dif)18(fer)18(ent buf)18(fer sizes.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1985.25 5370.25 cm -0 0 m -2522 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 252.8657 528.9365 Tm -[(User CPU)-1500(System CPU)-1500(Clock time)-2128(Number)]TJ -0.121 -1.25 Td -[(\(seconds\) )-2049(\(seconds\))-2479(\(seconds\) )-2281(of)-250(loops)]TJ -/TT0 1 Tf --6.421 0.625 Td -(BUFFSIZE)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1985.25 5150.25 cm -0 0 m -2522 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1985.25 5130.25 cm -0 0 m -2522 0 l -S -Q -Q -BT -/T1_0 1 Tf -3.3585 Tc 7.9986 0 0 7.9986 230.6545 504.9091 Tm -(12)Tj -0 Tc 4.358 0 Td -[(0.03 )-3753(1)55(17.50 )-3682(138.73)-2512(516,581,760)]TJ -3.8585 Tc -4.359 -1.25 Td -(29)Tj -0 Tc 4.858 0 Td -[(.69 )-4198(58.76)-4432(68.60 )-2262(258,290,880)]TJ -3.8585 Tc -4.859 -1.25 Td -(44)Tj -0 Tc 4.858 0 Td -[(.60 )-4198(36.47)-4432(41.27 )-2262(129,145,440)]TJ -3.8585 Tc -4.859 -1.25 Td -(82)Tj -0 Tc 4.858 0 Td -[(.47 )-4198(15.44)-4432(18.38 )-2762(64,572,720)]TJ --5.359 -1.25 Td -[(16 )-3608(1.07)-4948(7.93 )-4682(9.38)-3012(32,286,360)]TJ --0 -1.25 Td -[(32 )-3608(0.56)-4948(4.51 )-4682(8.82)-3012(16,143,180)]TJ --0 -1.25 Td -[(64 )-3608(0.34)-4948(2.72 )-4682(8.66)-3512(8,071,590)]TJ --0.5 -1.25 Td -[(128 )-3608(0.34)-4948(1.84 )-4682(8.69)-3512(4,035,795)]TJ --0 -1.25 Td -[(256 )-3608(0.15)-4948(1.30 )-4682(8.69)-3512(2,017,898)]TJ --0 -1.25 Td -[(512 )-3608(0.09)-4948(0.95 )-4682(8.63)-3512(1,008,949)]TJ --0.75 -1.25 Td -[(1,024 )-3608(0.02)-4948(0.78 )-4682(8.58)-4262(504,475)]TJ -0 -1.25 TD -[(2,048 )-3608(0.04)-4948(0.66 )-4682(8.68)-4262(252,238)]TJ -T* -[(4,096 )-3608(0.03)-4948(0.58 )-4682(8.62)-4317(126,1)55(19)]TJ -T* -[(8,192 )-3608(0.00)-4948(0.54 )-4682(8.52)-4762(63,060)]TJ --0.5 -1.25 Td -[(16,384 )-3608(0.01)-4948(0.56 )-4682(8.69)-4762(31,530)]TJ -T* -[(32,768 )-3608(0.00)-4948(0.56 )-4682(8.51)-4762(15,765)]TJ -T* -[(65,536 )-3608(0.01)-4948(0.56 )-4682(9.12)]TJ -27.001 0 Td -(7,883)Tj --27.501 -1.25 Td -[(131,072 )-3608(0.00)-4948(0.58 )-4682(9.08)]TJ -27.501 0 Td -(3,942)Tj --27.501 -1.25 Td -[(262,144 )-3608(0.00)-4948(0.60 )-4682(8.70)]TJ -27.501 0 Td -(1,971)Tj --27.501 -1.25 Td -[(524,288 )-3608(0.01)-4948(0.58 )-4682(8.58)]TJ -28.251 0 Td -(986)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1985.25 3110.25 cm -0 0 m -2522 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4007.25 3110.25 cm -0 0 m -0 2260 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3505.25 3110.25 cm -0 0 m -0 2260 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2942.25 3110.25 cm -0 0 m -0 2260 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2469.25 3110.25 cm -0 0 m -0 2260 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4507.25 3110.25 cm -0 0 m -0 2260 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1985.25 3110.25 cm -0 0 m -0 2260 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 194.3414 292.9297 Tm -(Figure 3.6)Tj -/T1_0 1 Tf --0.055 Tc 5.195 0 Td -(Ti)Tj -0 Tc 0.849 0 Td -[(ming r)18(esults for r)18(eading with dif)18(fer)18(ent buf)18(fer sizes on Linux)]TJ -9.9976 0 0 9.9976 147.5648 262.9369 Tm -[(The )-177(\336le )-177(was )-177(r)18(ead )-177(using )-177(the )-177(pr)17(ogram )-177(shown )-177(in )-177(Figur)]TJ -0.4271 Tc 24.544 0 Td -(e3)Tj -0 Tc 1.406 0 Td -[(.5, )-177(with )-177(standar)]TJ -0.4271 Tc 7.207 0 Td -(do)Tj -0 Tc 1.584 0 Td -(utput)Tj --0.018 Tc -36.541 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(dir)18(ected )-144(to)]TJ -/TT0 1 Tf -5.279 0 Td -(/dev/null)Tj -/T1_0 1 Tf -0.6443 Tc (.T)Tj -0 Tc 6.907 0 Td -[(he )-144(\336le )-144(system )-144(used )-144(for )-144(this )-144(test )-144(was )-144(the )-144(Linux)]TJ -/TT0 1 Tf -21.789 0 Td -(ext4)Tj -/T1_0 1 Tf -2.794 0 Td -(\336le)Tj --37.625 -1.2 Td -[(system )-427(with )-427(4,096)]TJ -8.73 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-427(blocks.)-928(\(The)]TJ -/TT0 1 Tf -9.267 0 Td -(st_blksize)Tj -/T1_0 1 Tf -6.677 0 Td -[(value, )-427(which )-427(we )-427(describe )-427(in)]TJ --25.007 -1.2 Td -[(Section )-88(4.12, )-88(is )-88(4,096.\))-590(This )-89(accounts )-89(for )-89(the )-89(minimum )-89(in )-89(the )-89(system )-89(time )-89(occurring )-89(at)]TJ -0 -1.2 TD -[(the )-213(few )-213(timing )-213(measur)18(ements )-213(starting )-213(ar)18(ound )-213(a)]TJ -/TT0 1 Tf -22.76 0 Td -(BUFFSIZE)Tj -/T1_0 1 Tf -5.263 0 Td -[(of )-213(4,096.)-713(Incr)18(easing )-213(the)]TJ --28.023 -1.2 Td -[(buf)18(fer size beyond this limit has little positive ef)18(fect.)]TJ -1.8 -1.2 Td -[(Most )-18(\336le )-18(systems )-18(support )-18(some )-18(kind )-18(of )-18(r)15(ead-ahead )-19(to )-19(impr)18(ove )-19(performance.)-517(When)]TJ --1.8 -1.2 Td -[(sequential )-60(r)18(eads )-60(ar)]TJ -0.31 Tc 8.423 0 Td -(ed)Tj -0 Tc 1.4 0 Td -[(etected, )-60(the )-60(system )-60(tries )-60(to )-60(r)18(ead )-60(in )-60(mor)]TJ -0.31 Tc 17.476 0 Td -(ed)Tj -0 Tc 1.4 0 Td -[(ata )-60(than )-60(an )-60(application)]TJ --0.018 Tc -28.699 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quests, )-19(assuming )-19(that )-19(the )-19(application )-19(will )-19(r)20(ead )-19(it )-19(shortly)]TJ -0.5188 Tc 24.873 0 Td -(.T)Tj -0 Tc 1.382 0 Td -[(he )-19(ef)18(fect )-19(of )-19(r)18(ead-ahead )-19(can)]TJ --27.111 -1.2 Td -[(be )-82(seen )-82(in )-82(Figur)]TJ -0.3324 Tc 7.249 0 Td -(e3)Tj -0 Tc 1.311 0 Td -[(.6, )-82(wher)]TJ -0.3324 Tc 3.604 0 Td -(et)Tj -0 Tc 1.137 0 Td -[(he )-82(elapsed )-82(time )-82(for )-82(buf)18(fer )-82(sizes )-82(as )-82(small )-82(as )-82(32 )-82(bytes )-82(is )-82(as)]TJ --13.302 -1.2 Td -[(good as the elapsed time for lar)18(ger buf)18(fer sizes.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47379 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -33.857 0 Td -[(Chapter )-250(14)-750(Solutions)]TJ -/T1_1 1 Tf -11.976 0 Td -(933)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 176.5694 668.9599 Tm -[(the )-28(de\336nition )-28(of )-28(the)]TJ -/TT0 1 Tf -9.079 0 Td -(fd_set)Tj -/T1_0 1 Tf -3.878 0 Td -[(type )-28(with )-28(a )-28(separate )-28(symbol.)]TJ --0.092 Tc 13.344 0 Td -[(We )-212(n)]TJ -0 Tc 2.247 0 Td -[(eed )-28(to )-28(de\336ne)]TJ --28.548 -1.2 Td -(this, too.)Tj -0 -1.68 TD -[(For )-351(example, )-351(on )-351(Fr)18(eeBSD )-351(8.0, )-351(we )-351(need )-351(to )-351(de\336ne)]TJ -/TT0 1 Tf -24.429 0 Td -(_SYS_SELECT_H_)Tj -/T1_0 1 Tf -9.001 0 Td -(to)Tj --33.43 -1.2 Td -[(pr)18(event )-69(the )-69(inclusion )-69(of)]TJ -/TT0 1 Tf -11.004 0 Td -()Tj -/T1_0 1 Tf -8.719 0 Td -[(and )-69(we )-69(need )-69(to )-69(de\336ne)]TJ -/TT0 1 Tf -10.379 0 Td -(_FD_SET)Tj -/T1_0 1 Tf --30.102 -1.2 Td -[(to pr)18(event the inclusion of the de\336nition for the)]TJ -/TT0 1 Tf -21.212 0 Td -(fd_set)Tj -/T1_0 1 Tf -3.85 0 Td -(data type.)Tj --26.695 -1.6 Td -[(2. )-633(Sometimes,)-707(for )-457(compatibility )-457(with )-457(older )-457(applications,)]TJ -/TT0 1 Tf -28.135 0 Td -()Tj -/T1_0 1 Tf --26.502 -1.2 Td -[(de\336nes )-92(the )-92(size )-92(of )-92(the)]TJ -/TT0 1 Tf -10.238 0 Td -(fd_set)Tj -/T1_0 1 Tf -[(,)-342(so)-342(we)-342(n)-1(eed )-92(to )-92(include )-92(it )-92(\336rst, )-92(then )-92(unde\336ne)]TJ -/TT0 1 Tf --10.238 -1.2 Td -(FD_SETSIZE)Tj -/T1_0 1 Tf -0.5 Tc (.N)Tj -0 Tc 7.581 0 Td -(ote that some systems use)Tj -/TT0 1 Tf -0.1666 Tc 11.689 0 Td -(__)Tj -0 Tc 1.367 0 Td -(FD_SETSIZE)Tj -/T1_0 1 Tf -6.25 0 Td -(instead.)Tj --28.52 -1.6 Td -[(3. )-633(W)]TJ -0.3459 Tc 2.541 0 Td -(en)Tj -0 Tc 1.407 0 Td -[(eed )-96(to )-96(r)18(ede\336ne)]TJ -/TT0 1 Tf -7.091 0 Td -(FD_SETSIZE)Tj -/T1_0 1 Tf -6.346 0 Td -(\(or)Tj -/TT0 1 Tf -0.1666 Tc (__)Tj -0 Tc 2.641 0 Td -(FD_SETSIZE)Tj -/T1_0 1 Tf -0.3459 Tc (\)t)Tj -0.346 Tc 7.005 0 Td -(ot)Tj -0 Tc 1.218 0 Td -[(he )-96(maximum )-96(\336le)]TJ --26.615 -1.2 Td -(descriptor number we want to be able to use with)Tj -/TT0 1 Tf -22.2 0 Td -(select)Tj -/T1_0 1 Tf -(.)Tj --23.833 -1.6 Td -[(4. )-633(W)]TJ -0.25 Tc 2.541 0 Td -(en)Tj -0 Tc 1.311 0 Td -(eed to unde\336ne the symbols we de\336ned in step 1.)Tj --3.852 -1.6 Td -[(5. )-633(Finally)111(,)-250(we)-250(can include)]TJ -/TT0 1 Tf -11.979 0 Td -()Tj -/T1_0 1 Tf -(.)Tj --11.979 -1.92 Td -[(Befor)18(e)-285(we)-285(r)7(un )-35(the )-35(pr)18(ogram, )-35(we )-35(need )-35(to )-35(con\336gur)]TJ -0.2855 Tc 21.538 0 Td -(et)Tj -0 Tc 1.091 0 Td -[(he )-35(system )-35(to )-35(allow )-35(us )-35(to )-35(open)]TJ --22.629 -1.2 Td -[(as )-103(many )-103(\336le )-103(descriptors )-103(as )-103(we )-103(might )-103(need )-103(so )-103(that )-103(we )-103(can )-103(actually )-103(make )-103(use )-103(of)]TJ -/TT0 1 Tf -0 -1.2 TD -(FD_SETSIZE)Tj -/T1_0 1 Tf -6.25 0 Td -(\336le descriptors.)Tj -/T1_1 1 Tf --9.315 -1.84 Td -(14.4)Tj -/T1_0 1 Tf -3.065 0 Td -(The following table lists the functions that do similar things.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2843.25 4382.25 cm -0 0 m -1112 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 288.2904 430.1484 Tm -[(FD_ZERO )-1500(sigemptyset)]TJ -0 -1.25 TD -[(FD_SET )-2100(sigaddset)]TJ -T* -[(FD_CLR )-2100(sigdelset)]TJ -T* -[(FD_ISSET )-900(sigismember)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2843.25 3962.25 cm -0 0 m -1112 0 l -1112 420 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2843.25 3962.25 cm -0 0 m -0 420 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 160.2212 374.9325 Tm -[(Ther)18(e)-320(is)-320(n)-1(ot )-70(an)]TJ -/TT0 1 Tf -7.063 0 Td -(FD_xxx)Tj -/T1_0 1 Tf -3.92 0 Td -[(function )-70(that )-70(corr)17(esponds )-70(to)]TJ -/TT0 1 Tf -13.023 0 Td -(sigfillset)Tj -/T1_0 1 Tf -0.5703 Tc (.W)Tj -0 Tc 7.765 0 Td -[(ith )-70(signal)]TJ --31.772 -1.2 Td -[(sets, )-49(the )-49(pointer )-49(to )-49(the )-49(set )-49(is )-49(always )-49(the )-49(\336rst )-49(ar)15(gument, )-49(and )-49(the )-49(signal )-49(number )-49(is)]TJ -0 -1.2 TD -[(the )-191(second )-191(ar)18(gument. )-441(W)55(ith )-191(descriptor )-191(sets, )-191(the )-191(descriptor )-191(number )-191(is )-191(the )-191(\336rst)]TJ --0 -1.2 Td -[(ar)18(gument, and the pointer to the set is the next ar)18(gument.)]TJ -/T1_1 1 Tf --3.065 -1.84 Td -(14.5)Tj -/T1_0 1 Tf -3.065 0 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(eC)Tj -0 Tc 1.438 0 Td -(.16 shows an implementation using)Tj -/TT0 1 Tf -15.908 0 Td -(select)Tj -/T1_0 1 Tf -(.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 3134.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 3134.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 160.2115 303.8261 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(void)Tj -0 -1.189 TD -(sleep_us\(unsigned int nusecs\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct timeval)-1200(tval;)]TJ -0 -2.021 TD -(tval.tv_sec = nusecs / 1000000;)Tj -0 -1.189 TD -(tval.tv_usec = nusecs % 1000000;)Tj -T* -(select\(0, NULL, NULL, NULL, &tval\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 1878.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 1878.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 236.8219 171.7665 Tm -(Figure C.16)Tj -/T1_0 1 Tf -5.917 0 Td -(Implementation of)Tj -/TT0 1 Tf -8.485 0 Td -(sleep_us)Tj -/T1_0 1 Tf -5.05 0 Td -(using)Tj -/TT0 1 Tf -2.706 0 Td -(select)Tj -/T1_0 1 Tf -9.997 0 0 9.997 160.2019 147.7737 Tm -(Figur)Tj -0.25 Tc 2.383 0 Td -(eC)Tj -0 Tc 1.438 0 Td -(.17 shows an implementation using)Tj -/TT0 1 Tf -15.908 0 Td -(poll)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47380 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -33.857 0 Td -[(Chapter )-250(13)-750(Solutions)]TJ -/T1_1 1 Tf -11.976 0 Td -(929)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 6690.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 160.2404 659.4594 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -2.259 TD -(unsigned)Tj -0 -1.189 TD -(sleep\(unsigned seconds\))Tj -T* -({)Tj -2.4 -1.189 Td -(int n;)Tj -T* -(unsigned slept;)Tj -T* -(time_t start, end;)Tj -T* -(struct timeval tv;)Tj -0 -2.259 TD -(tv.tv_sec = seconds;)Tj -0 -1.189 TD -(tv.tv_usec = 0;)Tj -T* -(time\(&start\);)Tj -0.6 Tc T* -(n=s)Tj -0 Tc 3 0 Td -(elect\(0, NULL, NULL, NULL, &tv\);)Tj --3 -1.189 Td -(if \(n == 0\))Tj -2.4 -1.189 Td -(return\(0\);)Tj --2.4 -1.189 Td -(time\(&end\);)Tj -T* -(slept = end - start;)Tj -T* -(if \(slept >= seconds\))Tj -2.4 -1.189 Td -(return\(0\);)Tj --2.4 -1.189 Td -(return\(seconds - slept\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 4107.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 4107.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 245.5835 394.6906 Tm -(Figure C.13)Tj -/T1_0 1 Tf -0.25 Tc 5.917 0 Td -(At)Tj -0 Tc 1.354 0 Td -[(hr)18(ead-safe implementation of)]TJ -/TT0 1 Tf -13.307 0 Td -(sleep)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5843 364.6942 Tm -(13.3)Tj -/T1_0 1 Tf -3.065 0 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(eC)Tj -0 Tc 1.438 0 Td -(.14 shows a solution.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 3575.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 3575.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 160.2212 347.9744 Tm -(#include "apue.h")Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(FILE *fp;)Tj -T* -(char *p;)Tj -0 -1.783 TD -(daemonize\("getlog"\);)Tj -0.6 Tc 0 -1.189 TD -(p=g)Tj -0 Tc 3 0 Td -(etlogin\(\);)Tj --3 -1.189 Td -(fp = fopen\("/tmp/getlog.out", "w"\);)Tj -T* -(if \(fp != NULL\) {)Tj -2.4 -1.189 Td -(if \(p == NULL\))Tj -2.4 -1.189 Td -(fprintf\(fp, "no login name\\n"\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(fprintf\(fp, "login name: %s\\n", p\);)Tj --4.8 -1.189 Td -(})Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 1613.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 1613.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 236.7562 145.3011 Tm -(Figure C.14)Tj -/T1_0 1 Tf -5.917 0 Td -(Call)Tj -/TT0 1 Tf -2.041 0 Td -(daemonize)Tj -/T1_0 1 Tf -5.65 0 Td -(and then obtain login name)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47381 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.4)]TJ -35.831 0 Td -[(I/O )-250(Multiplexing)]TJ -/T1_1 1 Tf -10.002 0 Td -(503)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_2 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(tvptr)Tj -/T1_3 1 Tf -(!)Tj -/T1_2 1 Tf -(>tv_sec)Tj -/TT0 1 Tf -6.285 0 Td -(!=)Tj -/T1_0 1 Tf -1.7 0 Td -(0)Tj -/TT0 1 Tf -1 0 Td -(||)Tj -/T1_2 1 Tf -1.7 0 Td -(tvptr)Tj -/T1_3 1 Tf -(!)Tj -/T1_2 1 Tf -(>tv_usec)Tj -/TT0 1 Tf -6.841 0 Td -(!=)Tj -/T1_0 1 Tf -1.7 0 Td -(0)Tj --0.092 Tc -17.426 -1.68 Td -(Wa)Tj -0 Tc 1.408 0 Td -[(it )-42(the )-42(speci\336ed )-42(number )-42(of )-42(seconds )-42(and )-42(micr)20(oseconds. )-292(Return)-291(is )-42(made )-42(when)]TJ --1.408 -1.2 Td -[(one )-87(of )-87(the )-87(speci\336ed )-87(descriptors )-87(is )-87(r)18(eady )-87(or )-87(when )-87(the )-87(timeout )-87(value )-87(expir)14(es. )-337(If)]TJ -0 -1.2 TD -[(the )-61(timeout )-61(expir)18(es )-61(befor)]TJ -0.3112 Tc 11.23 0 Td -(ea)Tj -0 Tc 1.29 0 Td -[(ny )-61(of )-61(the )-61(descriptors )-61(is )-61(r)18(eady)]TJ -0.3111 Tc 13.023 0 Td -(,t)Tj -0 Tc 0.887 0 Td -[(he )-61(r)18(eturn )-61(value )-61(is )-61(0.)]TJ --26.429 -1.2 Td -[(\(If )-49(the )-49(system )-49(doesn\325t )-49(pr)18(ovide )-49(micr)18(osecond )-49(r)16(esolution, )-49(the)]TJ -/T1_2 1 Tf -26.322 0 Td -(tvptr)Tj -/T1_3 1 Tf -(!)Tj -/T1_2 1 Tf -(>tv_usec)Tj -/T1_0 1 Tf -6.64 0 Td -(value)Tj --32.962 -1.2 Td -[(is )-52(r)18(ounded )-52(up )-52(to )-52(the )-52(near)18(est )-52(supported )-52(value.\))-552(As )-52(with )-52(the )-52(\336rst )-52(condition, )-52(this)]TJ -T* -[(wait can also be interr)8(upted by a caught signal.)]TJ -7.9995 0 0 7.9995 183.5891 572.1657 Tm -[(POSIX.1 )-30(allows )-30(an )-30(implementation )-30(to )-30(modify )-30(the)]TJ -/TT0 1 Tf -22.14 0 Td -(timeval)Tj -/T1_0 1 Tf -4.481 0 Td -[(str)8(uctur)18(e, )-30(so )-30(after)]TJ -/TT0 1 Tf -8.063 0 Td -(select)Tj -/T1_0 1 Tf --0.018 Tc 3.881 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns,)Tj --39.42 -1.25 Td -[(you )-253(can\325t )-253(r)18(ely )-253(on )-253(the )-253(str)8(uctur)]TJ -0.503 Tc 14.058 0 Td -(ec)Tj -0 Tc 1.426 0 Td -[(ontaining )-253(the )-253(same )-253(values )-253(it )-253(did )-253(befor)]TJ -0.5029 Tc 18.226 0 Td -(ec)Tj -0 Tc 1.426 0 Td -(alling)Tj -/TT0 1 Tf -3.014 0 Td -(select)Tj -/T1_0 1 Tf -(.)Tj --38.15 -1.25 Td -[(Fr)18(eeBSD )-24(8.0, )-24(Mac )-24(OS )-24(X )-24(10.6.8, )-24(and )-24(Solaris )-24(10 )-24(all )-24(leave )-24(the )-24(str)4(uctur)]TJ -0.2744 Tc 29.149 0 Td -(eu)Tj -0 Tc 1.356 0 Td -[(nchanged, )-24(but )-24(Linux )-24(3.2.0)]TJ --30.506 -1.25 Td -[(will update it with the time r)18(emaining if)]TJ -/TT0 1 Tf -18.008 0 Td -(select)Tj -/T1_0 1 Tf --0.018 Tc 3.85 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns befor)Tj -0.25 Tc 4.868 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(he timeout value expir)18(es.)]TJ -9.9994 0 0 9.9994 147.591 522.1687 Tm -[(The )-436(middle )-436(thr)18(ee )-436(ar)18(guments\321)]TJ -/T1_2 1 Tf --0.018 Tc (re)Tj -0 Tc 15.631 0 Td -(adfds)Tj -/T1_0 1 Tf -(,)Tj -/T1_2 1 Tf -3.047 0 Td -(writefds)Tj -/T1_0 1 Tf -0.686 Tc (,a)Tj -0 Tc 4.714 0 Td -(nd)Tj -/T1_2 1 Tf -1.879 0 Td -(exceptfds)Tj -/T1_0 1 Tf -(\321ar)Tj -0.686 Tc 5.562 0 Td -(ep)Tj -0 Tc 1.766 0 Td -[(ointers )-436(to)]TJ -/T1_2 1 Tf --34.399 -1.2 Td -[(descriptor )-171(sets)]TJ -/T1_0 1 Tf -0.6709 Tc (.T)Tj -0 Tc 7.473 0 Td -[(hese )-171(thr)18(ee )-171(sets )-171(specify )-171(which )-171(descriptors )-171(we\325r)]TJ -0.4209 Tc 21.15 0 Td -(ei)Tj -0 Tc 1.191 0 Td -[(nter)18(ested )-171(in )-171(and )-171(for)]TJ --29.814 -1.2 Td -[(which )-183(conditions )-183(\(r)19(eadable, )-183(writable, )-183(or )-183(an )-183(exception )-183(condition\).)]TJ -0.4326 Tc 30.468 0 Td -(Ad)Tj -0 Tc 1.822 0 Td -[(escriptor )-183(set )-183(is)]TJ --32.29 -1.2 Td -[(stor)18(ed )-46(in )-46(an)]TJ -/TT0 1 Tf -5.606 0 Td -(fd_set)Tj -/T1_0 1 Tf -3.896 0 Td -[(data )-46(type.)-546(This )-46(data )-46(type )-46(is )-46(chosen )-46(by )-46(the )-46(implementation )-46(so )-46(that)]TJ --9.502 -1.2 Td -[(it )-38(can )-38(hold )-38(one )-38(bit )-38(for )-38(each )-38(possible )-38(descriptor)]TJ -0.5381 Tc 20.581 0 Td -(.W)Tj -0.2881 Tc 1.696 0 Td -(ec)Tj -0 Tc 1.211 0 Td -[(an )-38(consider )-38(it )-38(to )-38(be )-38(just )-38(a )-38(big )-38(array)]TJ --23.488 -1.2 Td -(of bits, as shown in Figur)Tj -0.25 Tc 11.121 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(4.15.)Tj -/T1_2 1 Tf --0.018 Tc 7.9995 0 0 7.9995 201.5031 418.0151 Tm -(re)Tj -0 Tc 0.76 0 Td -(adfds)Tj -ET -q -0.99994 0 0 0.99994 0 0 cm -q 1 0 0 1 256.2 419.8 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -1 j 1 J -q 1 0 0 1 2562 4198 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4198.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2634 4090 216 216 re -S -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 271.7674 417.9898 Tm -(0)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2850 4090 216 216 re -S -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 293.3472 417.9648 Tm -(0)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -3066 4090 216 216 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 314.9244 417.9397 Tm -(0)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -3282 4090 1296 216 re -S -Q -BT -/T1_1 1 Tf -0.25 Tc 7.9976 0 0 7.9976 344.6966 417.9146 Tm -(...)Tj -/T1_2 1 Tf -0 Tc -18.114 -5.4 Td -(writefds)Tj -ET -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 256.2 376.6 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 2562 3766 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 3766.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2634 3658 216 216 re -S -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 271.7022 374.7051 Tm -(0)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2850 3658 216 216 re -S -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 293.2768 374.6826 Tm -(0)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -3066 3658 216 216 re -S -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 314.8488 374.6601 Tm -(0)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -3282 3658 1296 216 re -S -Q -BT -/T1_1 1 Tf -0.25 Tc 7.9957 0 0 7.9957 344.6139 374.6376 Tm -(...)Tj -/T1_2 1 Tf -0 Tc -18.317 -5.4 Td -(exceptfds)Tj -ET -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 256.2 333.4 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 2562 3334 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 3334.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -2634 3226 216 216 re -S -Q -BT -/TT0 1 Tf -7.9952 0 0 7.9952 271.637 331.4411 Tm -(0)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -2850 3226 216 216 re -S -Q -BT -/TT0 1 Tf -7.9947 0 0 7.9947 293.2064 331.4212 Tm -(0)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -3066 3226 216 216 re -S -Q -BT -/TT0 1 Tf -7.9942 0 0 7.9942 314.7733 331.4013 Tm -(0)Tj -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -3282 3226 1296 216 re -S -Q -BT -/T1_1 1 Tf -0.25 Tc 7.9938 0 0 7.9938 344.5312 331.3814 Tm -(...)Tj -/T1_0 1 Tf -0 Tc -9.672 12.775 Td -[(fd 0)-1006(fd 1)-1006(fd 2)]TJ -ET -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2634.25 4018.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 263.4 398.2 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 2634 3982 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3982.25 cm -0 0 m -288 0 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 4018.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 457.8 398.2 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 4578 3982 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4506.25 3982.25 cm -0 0 m --288 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9923 0 0 7.9923 306.8133 396.0596 Tm -(one bit per possible descriptor)Tj -ET -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2634.25 3586.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 263.4 355 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 2634 3550 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3550.25 cm -0 0 m -432 0 l -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4578.25 3586.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 457.8 355 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 4578 3550 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4506.25 3550.25 cm -0 0 m --432 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9909 0 0 7.9909 326.8312 352.8375 Tm -(fd_set)Tj -/T1_0 1 Tf -4.2 0 Td -(data type)Tj -/T1_1 1 Tf --21.925 -6.98 Td -(Figure 14.15)Tj -/T1_0 1 Tf -6.195 0 Td -[(Specifying the r)18(ead, write, and exception descriptors for)]TJ -/TT0 1 Tf -25.004 0 Td -(select)Tj -/T1_0 1 Tf -9.9886 0 0 9.9886 147.432 267.0955 Tm -[(The )-102(only )-102(thing )-102(we )-102(can )-102(do )-102(with )-102(the)]TJ -/TT0 1 Tf -16.217 0 Td -(fd_set)Tj -/T1_0 1 Tf -3.952 0 Td -[(data )-102(type )-102(is )-102(allocate )-102(a )-102(variable )-102(of )-102(this)]TJ --21.969 -1.2 Td -[(type, )-2(assign )-2(a )-2(variable )-2(of )-2(this )-2(type )-2(to )-2(another )-2(variable )-2(of )-2(the )-2(same )-2(type, )-2(or )-2(use )-2(one )-2(of )-2(the)]TJ -T* -(following four functions on a variable of this type.)Tj -/TT0 1 Tf -8.9897 0 0 8.9897 147.4321 226.4419 Tm -(#include )Tj -0 -1.902 TD -(int FD_ISSET\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,f)Tj -0 Tc 2.578 0 Td -(d_set *)Tj -/T1_2 1 Tf -(fdset)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -7.891 -1.902 Td -(Returns: nonzer)Tj -0.25 Tc 7.043 0 Td -(oi)Tj -0 Tc 1.087 0 Td -(f)Tj -/T1_2 1 Tf -0.583 0 Td -(fd)Tj -/T1_0 1 Tf -1.028 0 Td -(is in set, 0 otherwise)Tj -/TT0 1 Tf --30.41 -1.902 Td -(void FD_CLR\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,f)Tj -0 Tc 2.578 0 Td -(d_set *)Tj -/T1_2 1 Tf -(fdset)Tj -/TT0 1 Tf -(\);)Tj --12.178 -1.189 Td -(void FD_SET\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,f)Tj -0 Tc 2.578 0 Td -(d_set *)Tj -/T1_2 1 Tf -(fdset)Tj -/TT0 1 Tf -(\);)Tj --12.178 -1.189 Td -(void FD_ZERO\(fd_set *)Tj -/T1_2 1 Tf -(fdset)Tj -/TT0 1 Tf -(\);)Tj -ET -q -0.0998861 0 0 0.0998861 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1494.25 cm -0 0 m -0 863 l -3900 863 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47382 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.4)]TJ -31.602 0 Td -[(Synchr)18(onization )-250(Attributes)]TJ -/T1_1 1 Tf -14.231 0 Td -(437)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(void )Tj -9 0 Td -(*to_arg;)Tj -10.2 0 Td -(/* argument */)Tj --19.2 -1.189 Td -[(struct timespec to_wait;)-4800(/* time to wait */)]TJ --2.4 -1.189 Td -(};)Tj -0 -1.783 TD -[(#define SECTONSEC)-1200(1000000000 )-1200(/*)-600(seconds to nanoseconds */)]TJ -T* -(#if !defined\(CLOCK_REALTIME\) || defined\(BSD\))Tj -0 -1.189 TD -[(#define clock_nanosleep\(ID, FL, REQ, REM\))-1800(nanosleep\(\(REQ\), \(REM\)\))]TJ -T* -(#endif)Tj -0 -1.783 TD -(#ifndef CLOCK_REALTIME)Tj -0 -1.189 TD -(#define CLOCK_REALTIME 0)Tj -0 -1.189 TD -[(#define USECTONSEC 1000)-3000(/* microseconds to nanoseconds */)]TJ -0 -1.783 TD -(void)Tj -0 -1.189 TD -(clock_gettime\(int id, struct timespec *tsp\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(struct timeval tv;)Tj -0 -2.378 TD -(gettimeofday\(&tv, NULL\);)Tj -0 -1.189 TD -(tsp->tv_sec = tv.tv_sec;)Tj -T* -(tsp->tv_nsec = tv.tv_usec * USECTONSEC;)Tj --2.4 -1.189 Td -(})Tj -T* -(#endif)Tj -0 -1.783 TD -(void *)Tj -0 -1.189 TD -(timeout_helper\(void *arg\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct to_info)-1200(*tip;)]TJ -0 -1.783 TD -(tip = \(struct to_info *\)arg;)Tj -0 -1.189 TD -(clock_nanosleep\(CLOCK_REALTIME, 0, &tip->to_wait, NULL\);)Tj -T* -(\(*tip->to_fn\)\(tip->to_arg\);)Tj -T* -(free\(arg\);)Tj -T* -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(void)Tj -0 -1.189 TD -(timeout\(const struct timespec *when, void \(*func\)\(void *\), void *ar\ g\))Tj -T* -({)Tj -2.4 -1.189 Td -(struct timespec now;)Tj -T* -[(struct to_info)-1200(*tip;)]TJ -T* -(int )Tj -9.6 0 Td -(err;)Tj --9.6 -1.783 Td -(clock_gettime\(CLOCK_REALTIME, &now\);)Tj -0 -1.189 TD -(if \(\(when->tv_sec > now.tv_sec\) ||)Tj -1.2 -1.189 Td -(\(when->tv_sec == now.tv_sec && when->tv_nsec > now.tv_nsec\)\) {)Tj -1.2 -1.189 Td -(tip = malloc\(sizeof\(struct to_info\)\);)Tj -0 -1.189 TD -(if \(tip != NULL\) {)Tj -2.4 -1.189 Td -(tip->to_fn = func;)Tj -T* -(tip->to_arg = arg;)Tj -T* -(tip->to_wait.tv_sec = when->tv_sec - now.tv_sec;)Tj -T* -(if \(when->tv_nsec >= now.tv_nsec\) {)Tj -2.4 -1.189 Td -(tip->to_wait.tv_nsec = when->tv_nsec - now.tv_nsec;)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47383 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.6 )]TJ -32.941 0 Td -[(Thr)18(ead )-250(Synchr)18(onization)]TJ -/T1_1 1 Tf -12.892 0 Td -(421)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 215.987 670.2598 Tm -(minidx = i;)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(snums[sidx] = nums[idx[minidx]];)Tj -T* -(idx[minidx]++;)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(\))Tj -T* -({)Tj -2.4 -1.189 Td -[(unsigned long)-1800(i;)]TJ -T* -[(struct timeval)-1200(start, end;)]TJ -T* -[(long long)-4200(startusec, endusec;)]TJ -T* -(double )Tj -9.6 0 Td -(elapsed;)Tj --9.6 -1.189 Td -(int )Tj -9.6 0 Td -(err;)Tj --9.6 -1.189 Td -[(pthread_t )-3600(tid;)]TJ -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(reate the initial set of numbers to sort.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(srandom\(1\);)Tj -0 -1.189 TD -(for \(i = 0; i < NUMNUM; i++\))Tj -2.4 -1.189 Td -(nums[i] = random\(\);)Tj --2.4 -1.902 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(reate 8 threads to sort the numbers.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(gettimeofday\(&start, NULL\);)Tj -T* -(pthread_barrier_init\(&b, NULL, NTHR+1\);)Tj -T* -(for \(i = 0; i < NTHR; i++\) {)Tj -2.4 -1.189 Td -(err = pthread_create\(&tid, NULL, thr_fn, \(void *\)\(i * TNUM\)\);)Tj -T* -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t create thread"\);)Tj --4.8 -1.189 Td -(})Tj -T* -(pthread_barrier_wait\(&b\);)Tj -T* -(merge\(\);)Tj -T* -(gettimeofday\(&end, NULL\);)Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(rint the sorted list.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(startusec = start.tv_sec * 1000000 + start.tv_usec;)Tj -0 -1.189 TD -(endusec = end.tv_sec * 1000000 + end.tv_usec;)Tj -0 -1.189 TD -(elapsed = \(double\)\(endusec - startusec\) / 1000000.0;)Tj -T* -(printf\("sort took %.4f seconds\\n", elapsed\);)Tj -T* -(for \(i = 0; i < NUMNUM; i++\))Tj -2.4 -1.189 Td -(printf\("%ld\\n", snums[i]\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1583.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 273.0112 142.3019 Tm -[(Figure 1)37(1.16)]TJ -/T1_0 1 Tf -6.25 0 Td -(Using a barrier)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47384 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(414)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(variable, )-401(but )-401(if )-401(the )-401(condition )-401(variable )-401(is )-401(allocated )-401(dynamically)112(,)-651(we)-651(can )-401(use )-401(the)]TJ -/TT0 1 Tf --0 -1.2 Td -(pthread_cond_init)Tj -/T1_1 1 Tf -10.45 0 Td -(function to initialize it.)Tj --0.092 Tc -8.65 -1.2 Td -[(We )-508(c)]TJ -0 Tc 2.405 0 Td -[(an )-324(use )-324(the)]TJ -/TT0 1 Tf -5.696 0 Td -(pthread_cond_destroy)Tj -/T1_1 1 Tf -12.574 0 Td -[(function )-324(to )-324(deinitialize )-324(a )-324(condition)]TJ --22.475 -1.2 Td -(variable befor)Tj -0.25 Tc 6.112 0 Td -(ef)Tj --0.018 Tc 1.062 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eing its underlying memory)111(.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 613.8632 Tm -(#include )Tj -0 -2.14 TD -(int pthread_cond_init\(pthread_cond_t *restrict)Tj -/T1_2 1 Tf -28.2 0 Td -(cond)Tj -/TT0 1 Tf -(,)Tj --15 -1.189 Td -(const pthread_condattr_t *restrict)Tj -/T1_2 1 Tf -21 0 Td -(attr)Tj -/TT0 1 Tf -(\);)Tj --34.2 -2.14 Td -(int pthread_cond_destroy\(pthread_cond_t *)Tj -/T1_2 1 Tf -(cond)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -19.681 -2.14 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5409.25 cm -0 0 m -0 820 l -3900 820 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 524.957 Tm -[(Unless )-197(you )-197(need )-197(to )-197(cr)18(eate )-197(a )-197(conditional )-197(variable )-197(with )-197(nondefault )-197(attributes, )-197(the)]TJ -/T1_2 1 Tf -37.501 0 Td -(attr)Tj -/T1_1 1 Tf --37.501 -1.2 Td -[(ar)18(gument )-253(to)]TJ -/TT0 1 Tf -6.183 0 Td -(pthread_cond_init)Tj -/T1_1 1 Tf -10.703 0 Td -[(can )-253(be )-253(set )-253(to)]TJ -/TT0 1 Tf -6.669 0 Td -(NULL)Tj -/T1_1 1 Tf -0.7527 Tc (.W)Tj -0.5027 Tc 4.311 0 Td -(ew)Tj -0 Tc 1.816 0 Td -[(ill )-253(discuss )-253(condition)]TJ --29.682 -1.2 Td -(variable attributes in Section 12.4.3.)Tj --0.092 Tc 1.8 -1.2 Td -[(We )-429(u)]TJ -0 Tc 2.485 0 Td -(se)Tj -/TT0 1 Tf -1.398 0 Td -(pthread_cond_wait)Tj -/T1_1 1 Tf -10.695 0 Td -[(to )-245(wait )-245(for )-245(a )-245(condition )-245(to )-245(be )-245(tr)5(ue. )-495(A)-496(variant )-245(is)]TJ --16.379 -1.2 Td -[(pr)18(ovided )-111(to )-111(r)18(eturn )-111(an )-111(err)16(or )-112(code )-112(if )-112(the )-112(condition )-112(hasn\325t )-112(been )-112(satis\336ed )-112(in )-112(the )-112(speci\336ed)]TJ -0 -1.2 Td -(amount of time.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5824 445.8665 Tm -(#include )Tj -0 -2.14 TD -(int pthread_cond_wait\(pthread_cond_t *restrict)Tj -/T1_2 1 Tf -28.2 0 Td -(cond)Tj -/TT0 1 Tf -(,)Tj --15 -1.189 Td -(pthread_mutex_t *restrict)Tj -/T1_2 1 Tf -15.6 0 Td -(mutex)Tj -/TT0 1 Tf -(\);)Tj --28.8 -2.14 Td -(int pthread_cond_timedwait\(pthread_cond_t *restrict)Tj -/T1_2 1 Tf -31.2 0 Td -(cond)Tj -/TT0 1 Tf -(,)Tj --15 -1.189 Td -(pthread_mutex_t *restrict)Tj -/T1_2 1 Tf -15.6 0 Td -(mutex)Tj -/TT0 1 Tf -(,)Tj --15.6 -1.189 Td -(const struct timespec *restrict)Tj -/T1_2 1 Tf -19.2 0 Td -(tsptr)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --15.719 -2.14 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3515.25 cm -0 0 m -0 1034 l -3900 1034 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 147.5734 335.5796 Tm -[(The )-295(mutex )-295(passed )-295(to)]TJ -/TT0 1 Tf -10.572 0 Td -(pthread_cond_wait)Tj -/T1_1 1 Tf -10.745 0 Td -[(pr)18(otects )-295(the )-295(condition.)-795(The )-295(caller)]TJ --23.117 -1.2 Td -[(passes )-78(it )-78(locked )-78(to )-78(the )-78(function, )-78(which )-78(then )-78(atomically )-78(places )-78(the )-78(calling )-78(thr)23(ead )-78(on )-78(the)]TJ -0 -1.2 TD -[(list )-21(of )-21(thr)18(eads )-21(waiting )-21(for )-21(the )-21(condition )-21(and )-21(unlocks )-21(the )-21(mutex.)-521(This )-21(closes )-21(the )-21(window)]TJ -T* -[(between )-3(the )-3(time )-3(that )-3(the )-3(condition )-3(is )-3(checked )-3(and )-3(the )-3(time )-3(that )-3(the )-3(thr)18(ead )-3(goes )-3(to )-3(sleep)]TJ -T* -[(waiting )-173(for )-173(the )-173(condition )-173(to )-173(change, )-173(so )-173(that )-173(the )-173(thr)22(ead )-172(doesn\325t )-172(miss )-172(a )-172(change )-172(in )-172(the)]TJ -T* -[(condition. )-250(When)]TJ -/TT0 1 Tf -7.862 0 Td -(pthread_cond_wait)Tj -/T1_1 1 Tf --0.018 Tc 10.45 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns, the mutex is again locked.)Tj --17.368 -1.2 Td -(The)Tj -/TT0 1 Tf -2.058 0 Td -(pthread_cond_timedwait)Tj -/T1_1 1 Tf -13.584 0 Td -[(function )-134(pr)18(ovides )-134(the )-134(same )-134(functionality )-134(as )-134(the)]TJ -/TT0 1 Tf --17.441 -1.2 Td -(pthread_cond_wait)Tj -/T1_1 1 Tf -10.596 0 Td -[(function )-146(with )-146(the )-146(addition )-146(of )-146(the )-146(timeout )-146(\()]TJ -/T1_2 1 Tf -19.708 0 Td -(tsptr)Tj -/T1_1 1 Tf -[(\). )-396(The)-395(timeout)]TJ --30.304 -1.2 Td -(value speci\336es how long we ar)Tj -0.25 Tc 13.562 0 Td -(ew)Tj -0 Tc 1.563 0 Td -[(illing to wait expr)18(essed as a)]TJ -/TT0 1 Tf -12.439 0 Td -(timespec)Tj -/T1_1 1 Tf -5.05 0 Td -[(str)8(uctur)18(e.)]TJ --30.814 -1.2 Td -[(Just )-62(as )-62(we )-62(saw )-62(in )-62(Figur)]TJ -0.3123 Tc 10.499 0 Td -(e1)Tj -0 Tc 1.236 0 Td -[(1.13, )-62(we )-62(need )-62(to )-62(specify )-62(how )-62(long )-62(we )-62(ar)]TJ -0.3124 Tc 18.09 0 Td -(ew)Tj -0 Tc 1.625 0 Td -[(illing )-62(to )-62(wait)]TJ --33.25 -1.2 Td -[(as )-88(an )-88(absolute )-88(time )-88(instead )-88(of )-88(a )-88(r)21(elative )-87(time.)-587(For )-87(example, )-87(suppose )-87(we )-87(ar)]TJ -0.3375 Tc 33.838 0 Td -(ew)Tj -0 Tc 1.651 0 Td -[(illing )-87(to)]TJ --35.489 -1.2 Td -[(wait )-26(3 )-26(minutes.)-526(Instead )-26(of )-26(translating )-26(3 )-26(minutes )-26(into )-26(a)]TJ -/TT0 1 Tf -24.541 0 Td -(timespec)Tj -/T1_1 1 Tf -5.076 0 Td -[(str)8(uctur)18(e, )-26(we )-26(need )-26(to)]TJ --29.617 -1.2 Td -(translate now)Tj -/TT1 1 Tf -6.202 0 Td -(+)Tj -/T1_1 1 Tf -0.25 Tc 0.716 0 Td -(3m)Tj -0 Tc 1.633 0 Td -(inutes into a)Tj -/TT0 1 Tf -5.7 0 Td -(timespec)Tj -/T1_1 1 Tf -5.05 0 Td -[(str)8(uctur)18(e.)]TJ --0.092 Tc -17.5 -1.2 Td -[(We )-390(c)]TJ -0 Tc 2.287 0 Td -[(an )-206(use )-206(the)]TJ -/TT0 1 Tf -5.343 0 Td -(clock_gettime)Tj -/T1_1 1 Tf -8.256 0 Td -[(function )-206(\(Section )-206(6.10\) )-206(to )-206(get )-206(the )-206(curr)17(ent )-206(time)]TJ --17.686 -1.2 Td -[(expr)18(essed )-54(as )-54(a)]TJ -/TT0 1 Tf -6.727 0 Td -(timespec)Tj -/T1_1 1 Tf -5.104 0 Td -[(str)8(uctur)18(e. )-304(However)]TJ -0.3042 Tc 8.829 0 Td -(,t)Tj -0 Tc 0.88 0 Td -[(his )-54(function )-54(is )-54(not )-54(yet )-54(supported )-54(on )-54(all)]TJ --21.54 -1.2 Td -[(platforms. )-431(Alternatively)111(,)-431(we)-431(can )-181(use )-181(the)]TJ -/TT0 1 Tf -19.113 0 Td -(gettimeofday)Tj -/T1_1 1 Tf -7.631 0 Td -[(function )-181(to )-181(get )-181(the )-181(curr)19(ent)]TJ --26.744 -1.2 Td -[(time )-83(expr)18(essed )-83(as )-83(a)]TJ -/TT0 1 Tf -9.123 0 Td -(timeval)Tj -/T1_1 1 Tf -4.533 0 Td -[(str)8(uctur)]TJ -0.3326 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.312 0 Td -[(nd )-83(translate )-83(it )-83(into )-83(a)]TJ -/TT0 1 Tf -9.541 0 Td -(timespec)Tj -/T1_1 1 Tf -5.133 0 Td -[(str)8(uctur)18(e. )-333(T)92(o)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47385 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(906)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 155.6107 668.9599 Tm -[(ar)18(gument )-77(to)]TJ -/TT0 1 Tf -5.833 0 Td -(strerror)Tj -/T1_1 1 Tf -5.127 0 Td -[(is )-77(an )-77(integer)]TJ -0.3274 Tc 5.486 0 Td -(,a)Tj -0 Tc 1.077 0 Td -[(nd )-77(since )-77(C )-77(passes )-77(all )-77(ar)18(guments )-77(by )-77(value,)]TJ --17.523 -1.2 Td -(the)Tj -/TT0 1 Tf -1.779 0 Td -(strerror)Tj -/T1_1 1 Tf -5.192 0 Td -[(function )-142(couldn\325t )-142(modify )-142(this )-142(value )-142(even )-142(if )-142(it )-142(wanted )-142(to.)-647(\(If )-142(the)]TJ --6.972 -1.2 Td -[(handling )-31(of )-31(function )-31(ar)17(guments )-32(in )-32(C )-32(is )-32(not )-32(clear)]TJ -0.2816 Tc 21.349 0 Td -(,y)Tj -0 Tc 1.088 0 Td -[(ou )-32(should )-32(r)18(eview )-32(Section )-32(5.2 )-32(of)]TJ --22.437 -1.2 Td -(Kernighan and Ritchie)Tj -10.217 0.04 Td -([)Tj -0.333 -0.04 Td -(1988)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -(.\))Tj -/T1_0 1 Tf --15.485 -1.84 Td -(1.4)Tj -/T1_1 1 Tf -2.602 0 Td -[(During )-13(the )-13(year )-13(2038.)]TJ --0.092 Tc 10.07 0 Td -[(We )-197(c)]TJ -0 Tc 2.094 0 Td -[(an )-13(solve )-13(the )-13(pr)18(oblem )-13(by )-13(making )-13(the)]TJ -/TT0 1 Tf -16.209 0 Td -(time_t)Tj -/T1_1 1 Tf -3.863 0 Td -[(data )-13(type)]TJ -0.456 Tc -32.236 -1.2 Td -(a6)Tj -0 Tc 1.456 0 Td -(4)Tj -0.5 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-206(integer)]TJ -0.706 Tc 4.66 0 Td -(.I)Tj -0.456 Tc 1.293 0 Td -(fi)Tj -0 Tc 1.08 0 Td -[(t)-456(is)-456(curr)18(ently )-206(a )-206(32)]TJ -8.418 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-206(integer)]TJ -0.4561 Tc 4.66 0 Td -(,a)Tj -0 Tc 1.206 0 Td -[(pplications )-206(will )-206(have )-206(to )-206(be)]TJ --0.018 Tc -23.94 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(compiled )-116(to )-116(work )-116(pr)18(operly)]TJ -0.6159 Tc 12.182 0 Td -(.B)Tj -0 Tc 1.477 0 Td -[(ut )-116(the )-116(pr)18(oblem )-116(is )-116(worse.)-616(Some )-116(\336le )-116(systems )-116(and)]TJ --14.515 -1.2 Td -[(backup )-76(media )-76(stor)]TJ -0.3263 Tc 8.347 0 Td -(et)Tj -0 Tc 1.131 0 Td -[(imes )-76(in )-76(32)]TJ -4.603 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-76(integers.)-576(These )-76(would )-76(need )-76(to )-76(be )-76(updated )-76(as)]TJ --14.414 -1.2 Td -[(well, but we still need to be able to r)18(ead the old format.)]TJ -/T1_0 1 Tf --2.602 -1.84 Td -(1.5)Tj -/T1_1 1 Tf -2.602 0 Td -[(Appr)18(oximately 248 days.)]TJ -/TT1 1 Tf --6.202 -4.2 Td -[(Chapter )-278(2)]TJ -/T1_0 1 Tf -3.6 -2.8 Td -(2.1)Tj -/T1_1 1 Tf -2.602 0 Td -[(The )-124(following )-124(technique )-124(is )-124(used )-124(by )-124(Fr)19(eeBSD. )-374(The)-374(primitive )-124(data )-124(types )-124(that )-124(can)]TJ -0 -1.2 TD -[(appear )-209(in )-209(multiple )-209(headers )-209(ar)]TJ -0.4594 Tc 13.899 0 Td -(ed)Tj -0 Tc 1.549 0 Td -[(e\336ned )-209(in )-209(the )-209(header)]TJ -/TT0 1 Tf -9.9 0 Td -()Tj -/T1_1 1 Tf -(.)Tj --25.348 -1.2 Td -(For example:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 173.6109 436.2738 Tm -(#ifndef _MACHINE__TYPES_H_)Tj -0 -1.189 TD -(#define _MACHINE__TYPES_H_)Tj -0 -2.378 TD -(typedef int)Tj -14.4 0 Td -(__int32_t;)Tj --14.4 -1.189 Td -[(typedef unsigned int)-2400(__uint32_t;)]TJ -2.4 -1.189 Td -(.)Tj -0 -0.476 TD -(.)Tj -T* -(.)Tj --2.4 -2.378 Td -[(typedef __uint32_t)-3600(__size_t;)]TJ -2.4 -1.189 Td -(.)Tj -0 -0.476 TD -(.)Tj -T* -(.)Tj --2.4 -2.378 Td -[(#endif )-600(/*)-600(_MACHINE__TYPES_H_ */)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 155.612 293.0926 Tm -[(In )-40(each )-40(of )-40(the )-40(headers )-40(that )-40(can )-40(de\336ne )-40(the)]TJ -/TT0 1 Tf -18.673 0 Td -(size_t)Tj -/T1_1 1 Tf -3.89 0 Td -[(primitive )-40(system )-40(data )-40(type, )-40(we)]TJ --22.563 -1.2 Td -(have the sequence)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 173.6107 263.3245 Tm -[(#ifndef )-600(_SIZE_T_DECLARED)]TJ -0 -1.189 TD -[(typedef __size_t)-4200(size_t;)]TJ -T* -(#define _SIZE_T_DECLARED)Tj -T* -(#endif)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 155.6118 212.1577 Tm -(This way)Tj -0.25 Tc 3.939 0 Td -(,t)Tj -0 Tc 0.826 0 Td -(he)Tj -/TT0 1 Tf -1.311 0 Td -(typedef)Tj -/T1_1 1 Tf -4.45 0 Td -(for)Tj -/TT0 1 Tf -1.524 0 Td -(size_t)Tj -/T1_1 1 Tf -3.85 0 Td -(is executed only once.)Tj -/T1_0 1 Tf --18.502 -1.84 Td -(2.3)Tj -/T1_1 1 Tf -2.602 0 Td -(If)Tj -/TT0 1 Tf -1.001 0 Td -(OPEN_MAX)Tj -/T1_1 1 Tf -5.131 0 Td -[(is )-81(indeterminate )-81(or )-81(ridiculously )-81(lar)17(ge )-81(\(i.e., )-81(equal )-81(to)]TJ -/TT0 1 Tf -23.238 0 Td -(LONG_MAX)Tj -/T1_1 1 Tf -[(\), )-81(we)]TJ --29.37 -1.2 Td -[(can )-174(use)]TJ -/TT0 1 Tf -3.879 0 Td -(getrlimit)Tj -/T1_1 1 Tf -5.824 0 Td -[(to )-174(get )-174(the )-174(per)19(-pr)18(ocess )-173(maximum )-173(for )-173(open )-173(\336le )-173(descriptors.)]TJ --9.703 -1.2 Td -[(Since )-174(the )-174(per)19(-pr)18(ocess )-174(limit )-174(can )-174(be )-174(modi\336ed, )-174(we )-174(can\325t )-174(cache )-174(the )-174(value )-174(obtained)]TJ -0 -1.2 Td -[(fr)18(om the pr)18(evious call \(it might have changed\).)-500(See Figur)]TJ -0.25 Tc 25.355 0 Td -(eC)Tj -0 Tc 1.438 0 Td -(.1.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47386 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(438)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 215.987 670.2598 Tm -(tip->to_wait.tv_sec--;)Tj -0 -1.189 TD -(tip->to_wait.tv_nsec = SECTONSEC - now.tv_nsec +)Tj -1.2 -1.189 Td -(when->tv_nsec;)Tj --3.6 -1.189 Td -(})Tj -T* -(err = makethread\(timeout_helper, \(void *\)tip\);)Tj -0 -1.189 TD -(if \(err == 0\))Tj -2.4 -1.189 Td -(return;)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(free\(tip\);)Tj --4.8 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(/*)Tj -0.6 -1.189 Td -[(*)-600(We)-600(get here if \(a\) when <= now, or \(b\) malloc fails, or)]TJ -0.6 Tc 0 -1.189 TD -(*\()Tj -0 Tc 1.8 0 Td -(c\) we can\325t make a thread, so we just call the function now.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(\(*func\)\(arg\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(pthread_mutexattr_t attr;)Tj -0 -1.189 TD -(pthread_mutex_t mutex;)Tj -0 -1.783 TD -(void)Tj -0 -1.189 TD -(retry\(void *arg\))Tj -T* -({)Tj -2.4 -1.189 Td -(pthread_mutex_lock\(&mutex\);)Tj -0 -1.783 TD -(/* perform retry steps ... */)Tj -0 -1.783 TD -(pthread_mutex_unlock\(&mutex\);)Tj --2.4 -1.189 Td -(})Tj -T* -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -[(err,)-600(condition, arg;)]TJ --9.6 -1.189 Td -(struct timespec when;)Tj -0 -1.783 TD -(if \(\(err = pthread_mutexattr_init\(&attr\)\) != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "pthread_mutexattr_init failed"\);)Tj --2.4 -1.189 Td -(if \(\(err = pthread_mutexattr_settype\(&attr,)Tj -1.2 -1.189 Td -(PTHREAD_MUTEX_RECURSIVE\)\) != 0\))Tj -1.2 -1.189 Td -(err_exit\(err, "can\325t set recursive type"\);)Tj --2.4 -1.189 Td -(if \(\(err = pthread_mutex_init\(&mutex, &attr\)\) != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t create recursive mutex"\);)Tj --2.4 -1.783 Td -(/* continue processing ... */)Tj -T* -(pthread_mutex_lock\(&mutex\);)Tj -0 -1.783 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(heck the condition under the protection of a lock to)Tj -0.6 Tc -1.8 -1.189 Td -(*m)Tj -0 Tc 1.8 0 Td -(ake the check and the call to timeout atomic.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(condition\) {)Tj -2.4 -1.189 Td -(/*)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47387 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.19)]TJ -/TT0 1 Tf -17.886 0 Td -(sleep)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.75 0 Td -(nanosleep)Tj -/T1_0 1 Tf -0.5 Tc (,a)Tj -0 Tc 6.65 0 Td -(nd)Tj -/TT0 1 Tf -1.693 0 Td -(clock_nanosleep)Tj -/T1_0 1 Tf -9.5 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(375)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(to )-20(sleep )-20(in )-20(seconds )-20(and )-20(nanoseconds.)-522(If )-20(the )-20(sleep )-20(interval )-20(is )-20(interr)8(upted )-20(by )-20(a )-20(signal )-20(and)]TJ -0 -1.2 TD -[(the )-407(pr)18(ocess )-407(doesn\325t )-407(terminate, )-407(the)]TJ -/TT0 1 Tf -17.112 0 Td -(timespec)Tj -/T1_0 1 Tf -5.457 0 Td -[(str)8(uctur)]TJ -0.6573 Tc 3.49 0 Td -(ep)Tj -0 Tc 1.737 0 Td -[(ointed )-407(to )-407(by )-407(the)]TJ -/T1_2 1 Tf --0.018 Tc 8.832 0 Td -(re)Tj -0 Tc 0.76 0 Td -(mtp)Tj -/T1_0 1 Tf --37.389 -1.2 Td -[(parameter )-118(will )-118(be )-118(set )-118(to )-118(the )-118(amount )-118(of )-118(time )-118(left )-118(in )-118(the )-118(sleep )-118(interval.)]TJ --0.092 Tc 32.13 0 Td -[(We )-302(c)]TJ -0 Tc 2.199 0 Td -[(an )-118(set )-118(this)]TJ --34.329 -1.2 Td -(parameter to)Tj -/TT0 1 Tf -5.93 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -(if we ar)Tj -0.25 Tc 3.314 0 Td -(eu)Tj -0 Tc 1.332 0 Td -[(ninter)18(ested in the time unslept.)]TJ --11.426 -1.2 Td -[(If )-396(the )-396(system )-396(doesn\325t )-396(support )-396(nanosecond )-396(granularity)]TJ -0.646 Tc 25.947 0 Td -(,t)Tj -0 Tc 1.222 0 Td -[(he )-396(r)18(equested )-396(time )-396(is)]TJ --0.018 Tc -28.969 -1.2 Td -(ro)Tj -0 Tc 0.923 0 Td -[(unded )-136(up.)-636(Because )-136(the)]TJ -/TT0 1 Tf -11.062 0 Td -(nanosleep)Tj -/T1_0 1 Tf -5.786 0 Td -[(function )-136(doesn\325t )-136(involve )-136(the )-136(generation )-136(of )-136(any)]TJ --17.771 -1.2 Td -(signals, we can use it without worrying about interactions with other fu\ nctions.)Tj -7.9995 0 0 7.9995 183.5888 576.9654 Tm -(The)Tj -/TT0 1 Tf -1.928 0 Td -(nanosleep)Tj -/T1_0 1 Tf -5.654 0 Td -[(function )-4(used )-4(to )-4(belong )-4(to )-4(the )-4(T)55(imers )-4(option )-4(in )-4(the )-4(Single )-4(UNIX )-4(Speci\336cation,)]TJ --7.583 -1.25 Td -(but was moved to the base in SUSv4.)Tj --0.055 Tc 9.9994 0 0 9.9994 147.591 546.9672 Tm -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-27(the )-27(intr)18(oduction )-27(of )-27(multiple )-27(system )-27(clocks )-27(\(r)15(ecall )-28(Section )-28(6.10\), )-28(we )-28(need )-28(a )-28(way)]TJ --3.036 -1.2 Td -[(to )-202(suspend )-202(the )-202(calling )-202(thr)16(ead )-202(using )-202(a )-202(delay )-202(time )-202(r)18(elative )-202(to )-202(a )-202(particular )-202(clock.)-706(The)]TJ -/TT0 1 Tf -T* -(clock_nanosleep)Tj -/T1_0 1 Tf -9.25 0 Td -[(function pr)18(ovides us with this capability)111(.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 133.912 505.0697 Tm -(#include )Tj -0 -1.902 TD -(int clock_nanosleep\(clockid_t)Tj -/T1_2 1 Tf -18 0 Td -(clock_id)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 5.058 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT0 1 Tf -(,)Tj --12.858 -1.189 Td -(const struct timespec *)Tj -/T1_2 1 Tf --0.018 Tc (re)Tj -0 Tc 14.56 0 Td -(qtp)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.096 0 Td -(truct timespec *)Tj -/T1_2 1 Tf --0.018 Tc (re)Tj -0 Tc 10.36 0 Td -(mtp)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --25.586 -1.902 Td -[(Returns: 0 if slept for r)18(equested time or err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4556.25 cm -0 0 m -0 585 l -3900 585 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 440.9071 Tm -(The)Tj -/T1_2 1 Tf -2.117 0 Td -(clock_id)Tj -/T1_0 1 Tf -3.701 0 Td -[(ar)18(gument )-193(speci\336es )-193(the )-193(clock )-193(against )-193(which )-193(the )-193(time )-193(delay )-193(is )-193(evaluated.)]TJ --5.817 -1.2 Td -[(Identi\336ers )-218(for )-218(clocks )-218(ar)]TJ -0.4682 Tc 10.79 0 Td -(el)Tj -0 Tc 1.238 0 Td -[(isted )-218(in )-218(Figur)]TJ -0.4682 Tc 6.323 0 Td -(e6)Tj -0 Tc 1.447 0 Td -[(.8. )-468(The)]TJ -/T1_2 1 Tf -3.86 0 Td -(\337ags)Tj -/T1_0 1 Tf -2.346 0 Td -[(ar)18(gument )-218(is )-218(used )-218(to )-218(contr)17(ol)]TJ --26.005 -1.2 Td -[(whether )-18(the )-18(delay )-18(is )-18(absolute )-18(or )-18(r)16(elative. )-268(When)]TJ -/T1_2 1 Tf -21.477 0 Td -(\337ags)Tj -/T1_0 1 Tf -2.146 0 Td -[(is )-18(set )-18(to )-18(0, )-18(the )-18(sleep )-18(time )-18(is )-18(r)15(elative)]TJ --23.624 -1.2 Td -[(\(i.e., )-75(how )-75(long )-75(we )-75(want )-75(to )-75(sleep\).)-575(When )-75(it )-75(is )-75(set )-75(to)]TJ -/TT0 1 Tf -23.296 0 Td -(TIMER_ABSTIME)Tj -/T1_0 1 Tf -0.3247 Tc (,t)Tj -0 Tc 8.701 0 Td -[(he )-75(sleep )-75(time )-75(is)]TJ --31.997 -1.2 Td -[(absolute \(i.e., we want to sleep until the clock r)18(eaches the speci\336ed time\).)]TJ -1.8 -1.2 Td -[(The )-79(other )-79(ar)18(guments,)]TJ -/T1_2 1 Tf --0.018 Tc 9.969 0 Td -(re)Tj -0 Tc 0.76 0 Td -(qtp)Tj -/T1_0 1 Tf -1.625 0 Td -(and)Tj -/T1_2 1 Tf --0.018 Tc 2.022 0 Td -(re)Tj -0 Tc 0.76 0 Td -(mtp)Tj -/T1_0 1 Tf -0.3291 Tc (,a)Tj --0.018 Tc 2.69 0 Td -[(re )-115(t)]TJ -0 Tc 1.511 0 Td -[(he )-79(same )-79(as )-79(in )-79(the)]TJ -/TT0 1 Tf -8.176 0 Td -(nanosleep)Tj -/T1_0 1 Tf -5.729 0 Td -(function.)Tj --35.043 -1.2 Td -(However)Tj -0.2882 Tc 4.056 0 Td -(,w)Tj -0 Tc 1.372 0 Td -[(hen )-38(we )-38(use )-38(an )-38(absolute )-38(time, )-38(the)]TJ -/T1_2 1 Tf --0.018 Tc 14.899 0 Td -(re)Tj -0 Tc 0.76 0 Td -(mtp)Tj -/T1_0 1 Tf -1.899 0 Td -[(ar)18(gument )-38(is )-38(unused, )-38(because )-38(it )-38(isn\325t)]TJ --22.987 -1.2 Td -[(needed; )-216(we )-216(can )-216(r)18(euse )-216(the )-216(same )-216(value )-216(for )-216(the)]TJ -/T1_2 1 Tf --0.018 Tc 21.661 0 Td -(re)Tj -0 Tc 0.76 0 Td -(qtp)Tj -/T1_0 1 Tf -1.762 0 Td -[(ar)18(gument )-216(for )-216(additional )-216(calls )-216(to)]TJ -/TT0 1 Tf --24.183 -1.2 Td -(clock_nanosleep)Tj -/T1_0 1 Tf -9.25 0 Td -[(until the clock r)18(eaches the speci\336ed absolute time value.)]TJ --7.45 -1.2 Td -[(Note that except for err)18(or r)18(eturns, the call)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5828 316.222 Tm -(clock_nanosleep\(CLOCK_REALTIME, 0, reqtp, remtp\);)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5849 298.2242 Tm -[(has the same ef)18(fect as the call)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5828 281.5262 Tm -(nanosleep\(reqtp, remtp\);)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5849 263.5284 Tm -[(The )-28(pr)18(oblem )-28(with )-28(using )-28(a )-28(r)18(elative )-28(sleep )-28(is )-28(that )-28(some )-28(applications )-28(r)19(equir)]TJ -0.2779 Tc 31.897 0 Td -(ep)Tj --0.018 Tc 1.358 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(cision )-28(with)]TJ --34.111 -1.2 Td -[(how )-50(long )-50(they )-50(sleep, )-50(and )-50(a )-50(r)19(elative )-50(sleep )-50(time )-50(can )-50(lead )-50(to )-50(sleeping )-50(longer )-50(than )-50(desir)18(ed.)]TJ -0 -1.2 TD -[(For )-158(example, )-158(if )-158(an )-158(application )-158(wants )-158(to )-158(perform )-158(a )-158(task )-158(at )-158(r)14(egular )-158(intervals, )-158(it )-158(would)]TJ -T* -[(have )-43(to )-43(get )-43(the )-43(curr)18(ent )-43(time, )-43(calculate )-43(the )-43(amount )-43(of )-43(time )-43(until )-43(the )-43(next )-43(time )-43(to )-43(execute)]TJ -T* -[(the )-65(task, )-65(and )-65(then )-65(call)]TJ -/TT0 1 Tf -10.204 0 Td -(nanosleep)Tj -/T1_0 1 Tf -0.5646 Tc (.B)Tj -0 Tc 6.826 0 Td -[(etween )-65(the )-65(time )-65(that )-65(the )-65(curr)20(ent )-64(time )-64(is )-64(obtained)]TJ --17.03 -1.2 Td -[(and )-44(the )-44(call )-44(to)]TJ -/TT0 1 Tf -6.656 0 Td -(nanosleep)Tj -/T1_0 1 Tf -5.694 0 Td -[(is )-44(made, )-44(pr)18(ocessor )-44(scheduling )-44(and )-44(pr)18(eemption )-44(can )-44(r)18(esult )-44(in)]TJ --12.35 -1.2 Td -[(the )-231(r)18(elative )-231(sleep )-231(time )-231(extending )-231(past )-231(the )-231(desir)18(ed )-231(interval.)-731(Using )-231(an )-231(absolute )-231(time)]TJ -T* -[(impr)18(oves )-365(the )-365(pr)18(ecision, )-365(even )-365(though )-365(a )-365(time-sharing )-365(pr)18(ocess )-365(scheduler )-365(makes )-365(no)]TJ -T* -(guarantee that our task will execute immediately after our sleep time ha\ s ended.)Tj -7.999 0 0 7.999 183.5785 147.5423 Tm -[(In )-57(older )-57(versions )-57(of )-57(the )-57(Single )-57(UNIX )-57(Speci\336cation, )-57(the)]TJ -/TT0 1 Tf -24.583 0 Td -(clock_nanosleep)Tj -/T1_0 1 Tf -9.307 0 Td -[(function )-57(belonged)]TJ --33.89 -1.25 Td -[(to the Clock Selection option.)-500(In SUSv4, it was moved to the base.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47388 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(24)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(System )-250(Overview)]TJ -39.741 0 Td -[(Chapter )-250(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-187(next )-187(chapter )-187(is )-187(about )-187(standar)19(dization )-187(of )-187(the )-187(UNIX )-187(System )-187(and )-187(the )-187(ef)18(fect )-187(of)]TJ --1.8 -1.2 Td -[(work )-112(in )-112(this )-112(ar)18(ea )-112(on )-112(curr)20(ent )-111(systems.)-612(Standar)18(ds, )-111(particularly )-111(the )-111(ISO )-111(C )-111(standar)]TJ -0.3615 Tc 36.335 0 Td -(da)Tj -0 Tc 1.472 0 Td -(nd)Tj --37.807 -1.2 Td -[(the POSIX.1 standar)18(d, will af)18(fect the r)18(est of the text.)]TJ -/TT0 1 Tf -11.9993 0 0 11.9993 129.5926 602.9638 Tm -[(Ex)10(er)20(cises)]TJ -/T1_0 1 Tf -8.9995 0 0 8.9995 129.5926 581.9651 Tm -(1.1)Tj -/T1_1 1 Tf --0.111 Tc 2.602 0 Td -(Ve)Tj -0 Tc 1.09 0 Td -[(rify )-103(on )-103(your )-103(system )-103(that )-103(the )-103(dir)18(ectories )-103(dot )-103(and )-103(dot-dot )-103(ar)]TJ -0.3531 Tc 26.561 0 Td -(en)Tj -0 Tc 1.414 0 Td -[(ot )-103(the )-103(same, )-103(except )-103(in )-103(the)]TJ --0.018 Tc -29.066 -1.222 Td -(ro)Tj -0 Tc 0.923 0 Td -[(ot dir)18(ectory)111(.)]TJ -/T1_0 1 Tf --3.525 -1.667 Td -(1.2)Tj -/T1_1 1 Tf -2.602 0 Td -[(In )-39(the )-39(output )-39(fr)18(om )-39(the )-39(pr)18(ogram )-39(in )-39(Figur)]TJ -0.2893 Tc 17.976 0 Td -(e1)Tj -0 Tc 1.268 0 Td -[(.6, )-39(what )-39(happened )-39(to )-39(the )-39(pr)18(ocesses )-39(with )-39(pr)16(ocess)]TJ --19.245 -1.222 Td -(IDs 852 and 853?)Tj -/T1_0 1 Tf --2.602 -1.667 Td -(1.3)Tj -/T1_1 1 Tf -2.602 0 Td -[(In )-41(Section )-41(1.7, )-41(the )-41(ar)17(gument )-41(to)]TJ -/TT1 1 Tf -13.925 0 Td -(perror)Tj -/T1_1 1 Tf -3.891 0 Td -[(is )-41(de\336ned )-41(with )-41(the )-41(ISO )-41(C )-41(attribute)]TJ -/TT1 1 Tf -15.698 0 Td -(const)Tj -/T1_1 1 Tf -0.2914 Tc (,w)Tj -0 Tc 4.375 0 Td -[(her)18(eas)]TJ --37.89 -1.222 Td -[(the integer ar)18(gument to)]TJ -/TT1 1 Tf -10.673 0 Td -(strerror)Tj -/T1_1 1 Tf -5.05 0 Td -[(isn\325t de\336ned with this attribute.)-500(Why?)]TJ -/T1_0 1 Tf --18.325 -1.667 Td -(1.4)Tj -/T1_1 1 Tf -2.602 0 Td -[(If )-16(the )-16(calendar )-16(time )-16(is )-16(stor)18(ed )-16(as )-16(a )-16(signed )-16(32)]TJ -19.078 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-16(integer)74(,)-266(in)-266(which )-16(year )-16(will )-16(it )-16(over\337ow?)-516(How)]TJ --19.411 -1.222 Td -[(can )-474(we )-474(extend )-474(the )-474(over\337ow )-474(point?)-973(Ar)]TJ -0.724 Tc 19.73 0 Td -(et)Tj -0 Tc 1.529 0 Td -[(hese )-474(strategies )-474(compatible )-474(with )-474(existing)]TJ --21.259 -1.222 Td -(applications?)Tj -/T1_0 1 Tf --2.602 -1.667 Td -(1.5)Tj -/T1_1 1 Tf -2.602 0 Td -[(If )-30(the )-30(pr)18(ocess )-30(time )-30(is )-30(stor)18(ed )-30(as )-30(a )-30(signed )-30(32)]TJ -18.692 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-30(integer)]TJ -0.2796 Tc 4.484 0 Td -(,a)Tj -0 Tc 1.03 0 Td -[(nd )-29(if )-29(the )-29(system )-29(counts )-29(100 )-29(ticks )-29(per)]TJ --24.538 -1.222 Td -(second, after how many days will the value over\337ow?)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47389 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -33.857 0 Td -[(Chapter )-250(12)-750(Solutions)]TJ -/T1_1 1 Tf -11.976 0 Td -(927)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.037 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -(11)Tj -0 Tc 0.963 0 Td -(.2)Tj -/T1_0 1 Tf --0.092 Tc 2.102 0 Td -[(To )-221(c)]TJ -0 Tc 1.798 0 Td -[(hange )-37(the )-37(thr)18(ead )-37(ID )-37(of )-37(a )-37(pending )-37(job, )-37(the )-37(r)18(eader\320writer )-37(lock )-37(must )-37(be )-37(held )-37(in)]TJ --1.798 -1.2 Td -[(write )-236(mode )-236(to )-236(pr)18(event )-236(anyone )-236(fr)18(om )-236(sear)17(ching )-236(the )-236(list )-236(while )-236(the )-236(ID )-236(is )-236(being)]TJ -0 -1.2 TD -[(changed. )-342(The)-342(pr)18(oblem )-92(with )-92(the )-92(way )-92(the )-92(interfaces )-92(ar)]TJ -0.3418 Tc 24.22 0 Td -(ec)Tj -0 Tc 1.265 0 Td -[(urr)18(ently )-92(de\336ned )-92(is )-92(that)]TJ --25.484 -1.2 Td -[(the )-18(ID )-18(of )-18(a )-18(job )-18(can )-18(change )-18(between )-18(the )-18(time )-18(that )-18(the )-18(job )-18(is )-18(found )-18(with)]TJ -/TT0 1 Tf -31.136 0 Td -(job_find)Tj -/T1_0 1 Tf --31.136 -1.2 Td -[(and )-79(the )-79(job )-79(is )-79(r)18(emoved )-79(fr)18(om )-79(the )-79(list )-79(by )-79(calling)]TJ -/TT0 1 Tf -21.282 0 Td -(job_remove)Tj -/T1_0 1 Tf -0.5791 Tc (.T)Tj -0 Tc 7.442 0 Td -[(his )-79(pr)18(oblem )-79(can)]TJ --28.724 -1.2 Td -[(be )-55(solved )-55(by )-55(embedding )-55(a )-55(r)17(efer)18(ence )-55(count )-55(and )-55(a )-55(mutex )-55(inside )-55(the)]TJ -/TT0 1 Tf -29.861 0 Td -(job)Tj -/T1_0 1 Tf -2.105 0 Td -[(str)8(uctur)18(e)]TJ --31.966 -1.2 Td -[(and )-29(having)]TJ -/TT0 1 Tf -5.326 0 Td -(job_find)Tj -/T1_0 1 Tf -5.079 0 Td -[(incr)18(ement )-29(the )-29(r)19(efer)18(ence )-28(count.)-528(The )-28(code )-28(that )-28(changes )-28(the)]TJ --10.405 -1.2 Td -(ID can then avoid any job in the list that has a nonzer)Tj -0.25 Tc 23.488 0 Td -(or)Tj -0 Tc 1.173 0 Td -[(efer)18(ence count.)]TJ -/T1_1 1 Tf --0.037 Tc -27.726 -1.84 Td -(11)Tj -0 Tc 0.963 0 Td -(.3)Tj -/T1_0 1 Tf -2.102 0 Td -[(First )-13(of )-13(all, )-13(the )-13(list )-13(is )-13(pr)15(otected )-14(by )-14(a )-14(r)18(eader\320writer )-14(lock, )-14(but )-14(the )-14(condition )-14(variable)]TJ -T* -[(needs )-300(a )-300(mutex )-300(to )-300(pr)18(otect )-300(the )-300(condition.)-802(Second, )-300(the )-300(condition )-300(each )-300(thr)17(ead)]TJ -T* -[(should )-112(wait )-112(to )-112(be )-112(satis\336ed )-112(is )-112(that )-112(ther)21(e)-362(is)-362(a)-362(j)1(ob )-112(for )-112(it )-112(to )-112(pr)18(ocess, )-112(so )-112(we )-112(need )-112(to)]TJ -0 -1.2 Td -[(cr)18(eate )-111(a )-111(per)18(-thr)18(ead )-111(data )-111(str)8(uctur)18(e)-361(to)-361(r)18(epr)18(esent )-111(this )-111(condition.)-611(Alternatively)]TJ -0.361 Tc 34.011 0 Td -(,w)Tj -0 Tc 1.445 0 Td -(e)Tj --35.456 -1.2 Td -[(can )-178(embed )-178(the )-178(mutex )-178(and )-178(condition )-178(variable )-178(in )-178(the)]TJ -/TT0 1 Tf -24.326 0 Td -(queue)Tj -/T1_0 1 Tf -3.428 0 Td -[(str)8(uctur)18(e, )-178(but )-178(this)]TJ --27.754 -1.2 Td -[(means )-20(that )-20(all )-20(worker )-20(thr)18(eads )-20(will )-20(wait )-20(on )-20(the )-20(same )-20(condition.)-520(If )-20(ther)]TJ -0.2699 Tc 31.039 0 Td -(ea)Tj --0.018 Tc 1.249 0 Td -[(re )-56(m)]TJ -0 Tc 2.009 0 Td -(any)Tj --34.297 -1.2 Td -[(worker )-280(thr)18(eads, )-280(we )-280(can )-280(r)8(un )-280(into )-280(a)]TJ -/T1_2 1 Tf -17.119 0 Td -[(thundering )-280(herd)]TJ -/T1_0 1 Tf -7.395 0 Td -[(pr)18(oblem, )-280(wher)18(eby )-280(many)]TJ --24.514 -1.2 Td -[(thr)18(eads )-29(ar)]TJ -0.2795 Tc 4.456 0 Td -(ea)Tj -0 Tc 1.259 0 Td -[(wakened )-29(without )-29(work )-29(to )-29(do, )-29(r)16(esulting )-29(in )-29(a )-29(waste )-29(of )-29(CPU )-29(r)16(esour)18(ces)]TJ --5.714 -1.2 Td -[(and incr)18(eased lock contention.)]TJ -/T1_1 1 Tf --0.037 Tc -3.065 -1.84 Td -(11)Tj -0 Tc 0.963 0 Td -(.4)Tj -/T1_0 1 Tf -2.102 0 Td -[(It )-290(depends )-290(on )-290(the )-290(cir)16(cumstances. )-540(In)-541(general, )-290(both )-290(can )-290(be )-290(corr)16(ect, )-290(but )-290(each)]TJ --0 -1.2 Td -[(alternative )-224(has )-224(drawbacks.)-724(In )-224(the )-224(\336rst )-224(sequence, )-224(the )-224(waiting )-224(thr)15(eads )-224(will )-224(be)]TJ -T* -[(scheduled )-126(to )-126(r)8(un )-126(after )-126(we )-126(call)]TJ -/TT0 1 Tf -14.099 0 Td -(pthread_cond_broadcast)Tj -/T1_0 1 Tf -0.6265 Tc (.I)Tj -0.3765 Tc 14.414 0 Td -(ft)Tj -0 Tc 1.036 0 Td -[(he )-126(pr)18(ogram )-126(is)]TJ --0.008 Tc -29.548 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning )-283(on )-283(a )-283(multipr)17(ocessor)]TJ -0.5335 Tc 12.378 0 Td -(,s)Tj -0 Tc 1.207 0 Td -[(ome )-283(thr)18(eads )-283(will )-283(r)8(un )-283(and )-283(immediately )-283(block)]TJ --14.575 -1.2 Td -[(because )-17(we )-17(ar)]TJ -0.2673 Tc 6.207 0 Td -(es)Tj -0 Tc 1.17 0 Td -[(till )-17(holding )-17(the )-17(mutex )-17(\(r)18(ecall )-17(that)]TJ -/TT0 1 Tf -14.905 0 Td -(pthread_cond_wait)Tj -/T1_0 1 Tf --0.018 Tc 10.467 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj --33.605 -1.2 Td -[(with )-65(the )-65(mutex )-65(held\).)-565(In )-65(the )-65(second )-65(sequence, )-65(a )-65(r)8(unning )-65(thr)18(ead )-65(can )-65(acquir)]TJ -0.315 Tc 33.754 0 Td -(et)Tj -0 Tc 1.12 0 Td -(he)Tj --34.874 -1.2 Td -[(mutex )-145(between )-145(steps )-145(3 )-145(and )-145(4, )-145(invalidate )-145(the )-145(condition, )-145(and )-145(r)18(elease )-145(the )-145(mutex.)]TJ -T* -[(Then, )-125(when )-125(we )-125(call)]TJ -/TT0 1 Tf -9.321 0 Td -(pthread_cond_broadcast)Tj -/T1_0 1 Tf -0.3748 Tc (,t)Tj -0 Tc 14.151 0 Td -[(he )-125(condition )-125(will )-125(no )-125(longer)]TJ --23.472 -1.2 Td -[(be )-86(tr)8(ue, )-86(and )-86(the )-86(thr)18(eads )-86(will )-86(r)8(un )-86(needlessly)]TJ -0.5862 Tc 19.593 0 Td -(.T)Tj -0 Tc 1.449 0 Td -[(his )-86(is )-86(why )-86(the )-86(awakened )-86(thr)17(eads)]TJ --21.043 -1.2 Td -[(must )-322(r)18(echeck )-322(the )-322(condition )-322(and )-322(not )-322(assume )-322(that )-322(it )-322(is )-322(tr)8(ue )-322(mer)18(ely )-322(because)]TJ -/TT0 1 Tf -T* -(pthread_cond_wait)Tj -/T1_0 1 Tf --0.018 Tc 10.45 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turned.)Tj -/TT1 1 Tf --17.971 -2.88 Td -[(Chapter )-278(12)]TJ -/T1_1 1 Tf -3.6 -2.32 Td -(12.1)Tj -/T1_0 1 Tf -3.065 0 Td -[(This )-14(is )-14(not )-14(a )-14(multithr)18(eading )-14(pr)18(oblem, )-14(as )-14(one )-14(might )-14(\336rst )-14(guess.)-520(The )-15(standar)]TJ -0.2646 Tc 33.33 0 Td -(dI)Tj -0 Tc 1.213 0 Td -(/O)Tj --0.018 Tc -34.543 -1.2 Td -(ro)Tj -0 Tc 0.923 0 Td -[(utines )-35(ar)]TJ -0.2855 Tc 3.868 0 Td -(ei)Tj -0 Tc 1.056 0 Td -[(ndeed )-35(thr)18(ead-safe. )-285(When)-286(we )-35(call)]TJ -/TT0 1 Tf -15.116 0 Td -(fork)Tj -/T1_0 1 Tf -0.2855 Tc (,e)Tj -0 Tc 3.414 0 Td -[(ach )-35(pr)18(ocess )-35(gets )-35(a )-35(copy )-35(of)]TJ --24.376 -1.2 Td -[(the )-234(standar)]TJ -0.4837 Tc 5.191 0 Td -(dI)Tj -0 Tc 1.432 0 Td -[(/O )-234(data )-234(str)9(uctur)18(es. )-484(When)-483(we )-234(r)8(un )-234(the )-234(pr)19(ogram )-234(with )-234(standar)18(d)]TJ --6.622 -1.2 Td -[(output )-44(attached )-44(to )-44(a )-44(terminal, )-44(the )-44(output )-44(is )-44(line )-44(buf)21(fer)18(ed, )-44(so )-44(every )-44(time )-44(we )-44(print)]TJ -0.2755 Tc -0 -1.2 Td -(al)Tj -0 Tc 1.066 0 Td -[(ine, )-25(the )-25(standar)]TJ -0.2755 Tc 6.86 0 Td -(dI)Tj -0 Tc 1.224 0 Td -[(/O )-26(library )-26(writes )-26(it )-26(to )-26(our )-26(terminal.)-523(However)74(,)-276(if)-276(we)-276(r)19(edir)18(ect)]TJ --9.15 -1.2 Td -[(the )-182(standar)]TJ -0.4316 Tc 5.139 0 Td -(do)Tj -0 Tc 1.589 0 Td -[(utput )-182(to )-182(a )-182(\336le, )-182(then )-182(the )-182(standar)]TJ -0.4315 Tc 14.722 0 Td -(do)Tj -0 Tc 1.589 0 Td -[(utput )-181(is )-181(fully )-181(buf)17(fer)18(ed. )-431(The)]TJ --23.037 -1.2 Td -[(output )-19(is )-19(written )-19(when )-19(the )-19(buf)18(fer )-19(\336lls )-19(or )-19(the )-19(pr)18(ocess )-19(closes )-19(the )-19(str)18(eam. )-269(When)-269(we)]TJ -/TT0 1 Tf -0 -1.2 Td -(fork)Tj -/T1_0 1 Tf -2.671 0 Td -[(in )-21(this )-21(example, )-21(the )-21(buf)18(fer )-21(contains )-21(several )-21(printed )-21(lines )-21(not )-21(yet )-21(written, )-21(so)]TJ --2.671 -1.2 Td -[(when )-102(the )-102(par)18(ent )-102(and )-102(the )-102(child )-102(\336nally )-102(\337ush )-102(their )-102(copies )-102(of )-102(the )-102(buf)18(fer)]TJ -0.352 Tc 31.022 0 Td -(,t)Tj -0 Tc 0.928 0 Td -[(he )-102(initial)]TJ --31.95 -1.2 Td -(duplicate contents ar)Tj -0.25 Tc 9.232 0 Td -(ew)Tj -0 Tc 1.563 0 Td -(ritten to the \336le.)Tj -/T1_1 1 Tf --13.86 -1.84 Td -(12.3)Tj -/T1_0 1 Tf -3.065 0 Td -[(Theor)18(etically)111(,)-302(if)-302(w)]TJ -0.3016 Tc 7.975 0 Td -(ea)Tj -0 Tc 1.281 0 Td -[(rrange )-52(for )-52(all )-52(signals )-52(to )-52(be )-52(blocked )-52(when )-52(the )-52(signal )-52(handler)]TJ --0.008 Tc -9.256 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(ns, )-144(we )-144(should )-144(be )-144(able )-144(to )-144(make )-144(a )-144(function )-144(async-signal )-144(safe.)-650(The )-145(pr)18(oblem )-145(is)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47390 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Chapter )-250(1)]TJ -34.7513 Tc 4.537 0 Td -(1E)Tj -0 Tc 35.862 0 Td -[(xer)18(cises)]TJ -/T1_1 1 Tf -5.434 0 Td -(423)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -8.9995 0 0 8.9995 157.1756 669.9598 Tm -(or)Tj -2 -1.833 Td -(1. Lock a mutex \()Tj -/TT0 1 Tf -(pthread_mutex_lock)Tj -/T1_0 1 Tf -(\).)Tj -0 -1.528 TD -[(2. Change the condition pr)18(otected by the mutex.)]TJ -T* -(3. Unlock the mutex \()Tj -/TT0 1 Tf -(pthread_mutex_unlock)Tj -/T1_0 1 Tf -(\).)Tj -T* -[(4. Signal thr)18(eads waiting on the condition \()]TJ -/TT0 1 Tf -(pthread_cond_broadcast)Tj -/T1_0 1 Tf -(\).)Tj -/T1_1 1 Tf --0.037 Tc -5.065 -1.911 Td -(11)Tj -0 Tc 0.963 0 Td -(.5)Tj -/T1_0 1 Tf -2.102 0 Td -[(What )-205(synchr)18(onization )-205(primitives )-205(would )-205(you )-205(need )-205(to )-205(implement )-205(a )-205(barrier?)-701(Pr)18(ovide )-205(an)]TJ --0 -1.222 Td -(implementation of the)Tj -/TT0 1 Tf -10.076 0 Td -(pthread_barrier_wait)Tj -/T1_0 1 Tf -12.25 0 Td -(function.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47391 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.5)]TJ -38.822 0 Td -(Reentrancy)Tj -/T1_1 1 Tf -7.011 0 Td -(445)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-404(s)]TJ -0 Tc 2.281 0 Td -[(how )-220(a )-220(r)18(eentrant )-220(version )-220(of)]TJ -/TT0 1 Tf -13.02 0 Td -(getenv)Tj -/T1_0 1 Tf -4.07 0 Td -[(in )-220(Figur)]TJ -0.4701 Tc 3.726 0 Td -(e1)Tj -0 Tc 1.449 0 Td -[(2.12. )-470(This)-470(version )-220(is )-220(called)]TJ -/TT0 1 Tf --26.347 -1.2 Td -(getenv_r)Tj -/T1_0 1 Tf -0.7776 Tc (.I)Tj -0.5276 Tc 6.165 0 Td -(tu)Tj -0 Tc 1.457 0 Td -[(ses )-278(the)]TJ -/TT0 1 Tf -3.769 0 Td -(pthread_once)Tj -/T1_0 1 Tf -7.728 0 Td -[(function )-278(to )-278(ensur)]TJ -0.5276 Tc 8.099 0 Td -(et)Tj -0 Tc 1.333 0 Td -[(hat )-278(the)]TJ -/TT0 1 Tf -3.85 0 Td -(thread_init)Tj -/T1_0 1 Tf --32.4 -1.2 Td -[(function )-65(is )-65(called )-65(only )-65(once )-65(per )-65(pr)18(ocess, )-65(r)18(egar)18(dless )-65(of )-65(how )-65(many )-65(thr)18(eads )-65(might )-65(race )-65(to)]TJ -0 -1.2 TD -(call)Tj -/TT0 1 Tf -1.954 0 Td -(getenv_r)Tj -/T1_0 1 Tf -5.229 0 Td -[(at )-178(the )-178(same )-178(time.)]TJ --0.092 Tc 8.692 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-178(have )-178(mor)17(e)-429(to)-429(s)1(ay )-179(about )-179(the)]TJ -/TT0 1 Tf -14.538 0 Td -(pthread_once)Tj -/T1_0 1 Tf --31.8 -1.2 Td -(function in Section 12.6.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6138.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 604.2265 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -1.902 TD -(extern char **environ;)Tj -0 -1.902 TD -(pthread_mutex_t env_mutex;)Tj -0 -1.902 TD -(static pthread_once_t init_done = PTHREAD_ONCE_INIT;)Tj -0 -1.902 TD -(static void)Tj -0 -1.189 TD -(thread_init\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(pthread_mutexattr_t attr;)Tj -0 -1.902 TD -(pthread_mutexattr_init\(&attr\);)Tj -0 -1.189 TD -(pthread_mutexattr_settype\(&attr, PTHREAD_MUTEX_RECURSIVE\);)Tj -0 -1.189 TD -(pthread_mutex_init\(&env_mutex, &attr\);)Tj -0 -1.189 TD -(pthread_mutexattr_destroy\(&attr\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(getenv_r\(const char *name, char *buf, int buflen\))Tj -T* -({)Tj -2.4 -1.189 Td -(int i, len, olen;)Tj -0 -1.902 TD -(pthread_once\(&init_done, thread_init\);)Tj -0 -1.189 TD -(len = strlen\(name\);)Tj -T* -(pthread_mutex_lock\(&env_mutex\);)Tj -T* -(for \(i = 0; environ[i] != NULL; i++\) {)Tj -2.4 -1.189 Td -(if \(\(strncmp\(name, environ[i], len\) == 0\) &&)Tj -1.2 -1.189 Td -(\(environ[i][len] == \325=\325\)\) {)Tj -1.2 -1.189 Td -(olen = strlen\(&environ[i][len+1]\);)Tj -T* -(if \(olen >= buflen\) {)Tj -2.4 -1.189 Td -(pthread_mutex_unlock\(&env_mutex\);)Tj -T* -(return\(ENOSPC\);)Tj --2.4 -1.189 Td -(})Tj -T* -(strcpy\(buf, &environ[i][len+1]\);)Tj -T* -(pthread_mutex_unlock\(&env_mutex\);)Tj -T* -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -T* -(pthread_mutex_unlock\(&env_mutex\);)Tj -T* -(return\(ENOENT\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1479.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 221.7801 135.5336 Tm -(Figure 12.12)Tj -/T1_0 1 Tf -0.25 Tc 6.25 0 Td -(Ar)Tj -0 Tc 1.405 0 Td -[(eentrant \(thr)18(ead-safe\) version of)]TJ -/TT0 1 Tf -14.44 0 Td -(getenv)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47392 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(3.10)]TJ -38.785 0 Td -[(File )-250(Sharing)]TJ -/T1_1 1 Tf -7.548 0 Td -(75)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 145.9212 668.9599 Tm -[(v-node )-12(also )-12(contains )-12(the )-12(i-node )-12(for )-12(the )-12(\336le.)-512(This )-12(information )-12(is )-12(r)18(ead )-12(fr)18(om )-12(disk )-12(when)]TJ -0 -1.2 TD -[(the )-230(\336le )-230(is )-230(opened, )-230(so )-230(that )-230(all )-230(the )-230(pertinent )-230(information )-230(about )-230(the )-230(\336le )-230(is )-230(r)15(eadily)]TJ -T* -[(available. )-293(For)-292(example, )-43(the )-43(i-node )-43(contains )-43(the )-43(owner )-43(of )-43(the )-43(\336le, )-43(the )-43(size )-43(of )-43(the )-43(\336le,)]TJ -T* -[(pointers )-88(to )-88(wher)]TJ -0.338 Tc 7.464 0 Td -(et)Tj -0 Tc 1.143 0 Td -[(he )-88(actual )-88(data )-88(blocks )-88(for )-88(the )-88(\336le )-88(ar)]TJ -0.338 Tc 15.755 0 Td -(el)Tj -0 Tc 1.108 0 Td -[(ocated )-88(on )-88(disk, )-88(and )-88(so )-88(on.)]TJ --25.47 -1.2 Td -(\(W)Tj -0.302 Tc 1.241 0 Td -(et)Tj -0 Tc 1.107 0 Td -[(alk )-52(mor)]TJ -0.302 Tc 3.455 0 Td -(ea)Tj -0 Tc 1.281 0 Td -[(bout )-52(i-nodes )-52(in )-52(Section )-52(4.14 )-52(when )-52(we )-52(describe )-52(the )-52(typical )-52(UNIX )-52(\336le)]TJ --7.084 -1.2 Td -(system in mor)Tj -0.25 Tc 6.271 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(etail.\))Tj -7.9995 0 0 7.9995 183.5891 588.9647 Tm -[(Linux )-593(has )-593(no )-593(v-node.)-1094(Instead, )-593(a )-593(generic )-593(i-node )-593(str)8(uctur)18(e)-843(is)-843(used. )-843(Although)-843(the)]TJ --0 -1.25 Td -[(implementations )-42(dif)18(fer)]TJ -0.2919 Tc 10.126 0 Td -(,t)Tj -0 Tc 0.868 0 Td -[(he )-42(v-node )-42(is )-42(conceptually )-42(the )-42(same )-42(as )-42(a )-42(generic )-42(i-node.)-541(Both )-42(point )-42(to)]TJ --10.994 -1.25 Td -[(an i-node str)8(uctur)]TJ -0.25 Tc 7.914 0 Td -(es)Tj -0 Tc 1.153 0 Td -(peci\336c to the \336le system.)Tj --0.092 Tc 9.9994 0 0 9.9994 147.5905 545.9672 Tm -(We)Tj -0 Tc 1.387 0 Td -(\325r)Tj -0.3911 Tc 0.655 0 Td -(ei)Tj -0 Tc 1.161 0 Td -[(gnoring )-141(some )-141(implementation )-141(details )-141(that )-141(don\325t )-141(af)18(fect )-141(our )-141(discussion.)-642(For)]TJ --5.003 -1.2 Td -[(example, )-25(the )-25(table )-25(of )-25(open )-25(\336le )-25(descriptors )-25(can )-25(be )-25(stor)18(ed )-25(in )-25(the )-25(user )-25(ar)17(ea )-25(\(a )-25(separate )-25(per)17(-)]TJ --0 -1.2 Td -[(pr)18(ocess )-58(str)8(uctur)]TJ -0.3082 Tc 7.093 0 Td -(et)Tj -0 Tc 1.113 0 Td -[(hat )-58(can )-58(be )-58(paged )-58(out\) )-58(instead )-58(of )-58(the )-58(pr)16(ocess )-58(table.)-558(Also, )-58(these )-58(tables)]TJ --8.206 -1.2 Td -[(can )-350(be )-350(implemented )-350(in )-350(numer)18(ous )-350(ways)]TJ -0.0833 Tc 19.231 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -[(hey )-350(need )-350(not )-350(be )-350(arrays; )-350(one )-350(alternate)]TJ --20.64 -1.2 Td -[(implementation )-30(is )-30(a )-30(linked )-30(lists )-30(of )-30(str)8(uctur)18(es. )-280(Regar)18(dless )-30(of )-30(the )-30(implementation )-30(details,)]TJ -0 -1.2 Td -[(the general concepts r)18(emain the same.)]TJ -1.8 -1.2 Td -(Figur)Tj -0.3645 Tc 2.383 0 Td -(e3)Tj -0 Tc 1.344 0 Td -[(.7 )-114(shows )-114(a )-114(pictorial )-114(arrangement )-114(of )-114(these )-114(thr)15(ee )-115(tables )-115(for )-115(a )-115(single )-115(pr)20(ocess)]TJ --5.527 -1.2 Td -[(that )-106(has )-106(two )-106(dif)19(fer)18(ent )-106(\336les )-106(open: )-106(one )-106(\336le )-106(is )-106(open )-106(on )-106(standar)]TJ -0.3556 Tc 27.261 0 Td -(di)Tj -0 Tc 1.258 0 Td -[(nput )-106(\(\336le )-106(descriptor )-106(0\),)]TJ --28.518 -1.2 Td -(and the other is open on standar)Tj -0.25 Tc 14.279 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput \(\336le descriptor 1\).)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1341.24 3176 1008 1008 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 151.3778 421.5894 Tm -[(pr)18(ocess table entry)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 3752 576 72 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 3680 576 72 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 3608 576 72 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 3320 576 288 re -S -Q -BT -/T1_0 1 Tf -0.25 Tc 13.9975 0 0 13.9975 182.9411 344.578 Tm -(...)Tj -0 Tc 6.9987 0 0 6.9987 147.5396 376.9717 Tm -(fd 0:)Tj -0 -1.029 TD -(fd 1:)Tj -T* -(fd 2:)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1845.25 3824.25 cm -0 0 m -0 -216 l -S -Q -Q -BT -/T1_0 1 Tf -6.9983 0 0 6.9983 170.3791 391.3061 Tm -(fd)Tj --0.572 -0.714 Td -(\337ags)Tj -4.471 0.714 Td -(\336le)Tj --0.923 -0.714 Td -(pointer)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2925.24 4040 720 144 re -S -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 302.1693 409.3172 Tm -(\336le status \337ags)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2925.24 3896 720 144 re -S -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 298.4006 394.8978 Tm -[(curr)18(ent \336le of)18(fset)]TJ -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2925.24 3752 720 144 re -S -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 302.0531 380.4802 Tm -(v-node pointer)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -2925.24 3392 720 144 re -S -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 302.1149 344.4746 Tm -(\336le status \337ags)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -2925.24 3248 720 144 re -S -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 298.3468 330.0617 Tm -[(curr)18(ent \336le of)18(fset)]TJ -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -2925.24 3104 720 144 re -S -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 301.9987 315.6505 Tm -(v-node pointer)Tj -0.112 13.225 Td -(\336le table entry)Tj -0 -8.1 TD -(\336le table entry)Tj -6.9958 0 0 6.9958 427.6244 407.3951 Tm -(v-node information)Tj -/TT0 1 Tf -2.52 -2.057 Td -(v_data)Tj -/T1_0 1 Tf --2.383 -4.114 Td -(i-node information)Tj -0.796 -2.057 Td -[(curr)18(ent \336le size)]TJ -/TT0 1 Tf -1.287 -1.543 Td -(i_vnode)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 4184.25 cm -0 0 m -0 -288 l -720 -288 l -720 0 l -0 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 3752.25 cm -0 0 m -0 -396 l -720 -396 l -720 0 l -0 0 l -720 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 4004.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 4004.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 4004.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 4004.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 4004.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 4004.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 4004.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 4004.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 4004.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 4004.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 3572.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 3572.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 3572.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 3572.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 3572.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 3572.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 3572.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 3572.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 3572.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 3572.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 3464.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 3464.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 3464.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 3464.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 3464.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 3464.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 3464.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 3464.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 3464.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 3464.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 422.124 377.36 cm -0 0 m --5.328 5.184 l --2.232 7.056 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 4221.2402 3773.6001 cm -0 0 m --53.28 51.84 l --22.32 70.56 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4293.2402 3950 cm -0 0 m --90 0 l --150 0 -162.6 -28.32 -127.8 -84.96 c --75.6 -169.92 l -S -Q -Q -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 496.284 418.4 cm -0 0 m -4.032 -6.192 l -0.648 -7.344 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 4962.8398 4184 cm -0 0 m -40.32 -61.92 l -6.48 -73.44 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4869.2402 3410 cm -0 0 m -180 0 l -300 0 315.96 127.92 227.88 383.76 c -95.76 767.52 l -S -Q -Q -BT -/T1_0 1 Tf -6.9945 0 0 6.9945 427.5474 303.0036 Tm -(v-node information)Tj -/TT0 1 Tf -2.52 -2.057 Td -(v_data)Tj -/T1_0 1 Tf --2.383 -4.114 Td -(i-node information)Tj -0.796 -2.057 Td -[(curr)18(ent \336le size)]TJ -/TT0 1 Tf -1.287 -1.543 Td -(i_vnode)Tj -ET -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 3140.25 cm -0 0 m -0 -288 l -720 -288 l -720 0 l -0 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 2708.25 cm -0 0 m -0 -396 l -720 -396 l -720 0 l -0 0 l -720 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 2960.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 2960.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 2960.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 2960.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 2960.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 2960.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 2960.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 2960.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 2960.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 2960.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 2528.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 2528.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 2528.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 2528.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 2528.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 2528.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 2528.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 2528.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 2528.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 2528.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 2420.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 2420.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 2420.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 2420.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 2420.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 2420.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 2420.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 2420.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 2420.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 2420.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 422.124 272.96 cm -0 0 m --5.328 5.184 l --2.232 7.056 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 4221.2402 2729.6001 cm -0 0 m --53.28 51.84 l --22.32 70.56 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4293.2402 2906 cm -0 0 m --90 0 l --150 0 -162.6 -28.32 -127.8 -84.96 c --75.6 -169.92 l -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 496.284 314 cm -0 0 m -4.032 -6.192 l -0.648 -7.344 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 4962.8398 3140 cm -0 0 m -40.32 -61.92 l -6.48 -73.44 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4869.2402 2366 cm -0 0 m -180 0 l -300 0 315.96 127.92 227.88 383.76 c -95.76 767.52 l -S -Q -Q -BT -/T1_0 1 Tf -7.9923 0 0 7.9923 425.3035 421.2354 Tm -(v-node table entry)Tj -0 -13.05 TD -(v-node table entry)Tj -2.63 7.65 Td -(i-node)Tj -T* -(i-node)Tj -ET -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 288.924 418.4 cm -0 0 m --3.816 -6.336 l --6.336 -3.816 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 4184 cm -0 0 m --38.16 -63.36 l --63.36 -38.16 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 3788 cm -0 0 m -180 0 l -300 0 425.16 65.16 555.48 195.48 c -750.96 390.96 l -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 288.924 353.6 cm -0 0 m --7.272 1.368 l --5.76 4.68 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 3536 cm -0 0 m --72.72 13.68 l --57.6 46.8 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 3716 cm -0 0 m -180 0 l -300 0 424.92 -29.52 554.76 -88.56 c -749.52 -177.12 l -S -Q -Q -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 418.524 418.4 cm -0 0 m --2.664 -6.912 l --5.616 -4.824 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 4185.2402 4184 cm -0 0 m --26.64 -69.12 l --56.16 -48.24 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3573.24 3824 cm -0 0 m -180 0 l -300 0 401.28 59.04 483.84 177.12 c -607.68 354.24 l -S -Q -Q -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 418.524 314 cm -0 0 m --7.416 -0.792 l --6.912 2.736 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 4185.2402 3140 cm -0 0 m --74.16 -7.92 l --69.12 27.36 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3573.24 3176 cm -0 0 m -180 0 l -300 0 400.8 -5.88 482.4 -17.64 c -604.8 -35.28 l -S -Q -Q -BT -/T1_1 1 Tf -7.9904 0 0 7.9904 240.2795 205.7529 Tm -(Figure 3.7)Tj -/T1_0 1 Tf -5.195 0 Td -[(Kernel data str)8(uctur)18(es for open \336les)]TJ -9.988 0 0 9.988 129.4448 176.9875 Tm -[(The )-80(arrangement )-80(of )-80(these )-80(thr)18(ee )-80(tables )-80(has )-80(existed )-80(since )-80(the )-80(early )-80(versions )-80(of )-80(the )-80(UNIX)]TJ -0 -1.2 TD -(System)Tj -3.718 0.04 Td -([)Tj -0.333 -0.04 Td -[(Thompson )-275(1978)]TJ -7.302 0.04 Td -(])Tj -0.7753 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.638 0 Td -[(his )-275(arrangement )-275(is )-275(critical )-275(to )-275(the )-275(way )-275(\336les )-275(ar)]TJ -0.5252 Tc 21.698 0 Td -(es)Tj -0 Tc 1.428 0 Td -[(har)18(ed)]TJ --36.451 -1.2 Td -[(among )-315(pr)18(ocesses. )-565(W)92(e\325ll )-315(r)18(eturn )-315(to )-315(this )-315(\336gur)18(e)-565(in)-565(later )-315(chapters, )-315(when )-315(we )-315(describe)]TJ -0 -1.2 Td -(additional ways that \336les ar)Tj -0.25 Tc 12.273 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(har)18(ed.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47393 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(674)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(All )-393(the )-393(terminal )-393(device )-393(characteristics )-393(that )-393(we )-393(can )-393(examine )-393(and )-393(change )-393(ar)14(e)]TJ --1.8 -1.2 Td -[(contained )-598(in )-598(a)]TJ -/TT0 1 Tf -8.279 0 Td -(termios)Tj -/T1_1 1 Tf -5.048 0 Td -[(str)8(uctur)18(e. )-848(This)-848(str)8(uctur)18(e)-848(is)-848(de\336ned )-598(in )-598(the )-598(header)]TJ -/TT0 1 Tf --13.327 -1.2 Td -()Tj -/T1_1 1 Tf -0.25 Tc (,w)Tj -0 Tc 7.934 0 Td -[(hich we use thr)18(oughout this chapter:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 627.1925 Tm -(struct termios {)Tj -1.2 -1.189 Td -[(tcflag_t )-600(c_iflag;)-2400(/* input flags */)]TJ -0 -1.189 TD -[(tcflag_t )-600(c_oflag;)-2400(/* output flags */)]TJ -T* -[(tcflag_t )-600(c_cflag;)-2400(/* control flags */)]TJ -T* -[(tcflag_t )-600(c_lflag;)-2400(/* local flags */)]TJ -0 -1.189 TD -[(cc_t )-3000(c_cc[NCCS];)-600(/* control characters */)]TJ --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5921 543.9276 Tm -[(Roughly )-34(speaking, )-34(the )-34(input )-34(\337ags )-34(contr)16(ol )-35(the )-35(input )-35(of )-35(characters )-35(by )-35(the )-35(terminal )-35(device)]TJ -0 -1.2 TD -[(driver )-164(\(e.g., )-164(strip )-164(eighth )-164(bit )-164(on )-164(input, )-164(enable )-164(input )-164(parity )-164(checking\), )-164(the )-164(output )-164(\337ags)]TJ -T* -[(contr)18(ol )-43(the )-43(driver )-43(output )-43(\(e.g., )-43(perform )-43(output )-43(pr)18(ocessing, )-43(map )-43(newline )-43(to )-43(CR/LF\), )-43(the)]TJ -T* -[(contr)18(ol )-108(\337ags )-108(af)18(fect )-108(the )-108(RS)]TJ -11.611 0.09 Td -(-)Tj -0.333 -0.09 Td -[(232 )-108(serial )-108(lines )-108(\(e.g., )-108(ignor)]TJ -0.3584 Tc 11.851 0 Td -(em)Tj -0 Tc 1.72 0 Td -[(odem )-108(status )-108(lines, )-108(one )-108(or )-108(two)]TJ --25.515 -1.2 Td -[(stop )-106(bits )-106(per )-106(character\), )-106(and )-106(the )-106(local )-106(\337ags )-106(af)18(fect )-106(the )-106(interface )-106(between )-106(the )-106(driver )-106(and)]TJ -T* -[(the )-307(user )-307(\(e.g., )-307(echo )-307(on )-307(or )-307(of)20(f, )-306(visually )-306(erase )-306(characters, )-306(enable )-306(terminal-generated)]TJ -T* -[(signals, job contr)18(ol stop signal for backgr)18(ound output\).)]TJ -1.8 -1.2 Td -[(The )-212(type)]TJ -/TT0 1 Tf -4.56 0 Td -(tcflag_t)Tj -/T1_1 1 Tf -5.262 0 Td -[(is )-212(big )-212(enough )-212(to )-212(hold )-212(each )-212(of )-212(the )-212(\337ag )-212(values )-212(and )-212(is )-212(often)]TJ --11.621 -1.2 Td -[(de\336ned )-87(as )-87(an)]TJ -/TT0 1 Tf -6.385 0 Td -[(unsigned )263(int)]TJ -/T1_1 1 Tf -7.274 0 Td -[(or )-87(an)]TJ -/TT0 1 Tf -2.697 0 Td -[(unsigned )263(long)]TJ -/T1_1 1 Tf -0.5871 Tc (.T)Tj -0 Tc 8.987 0 Td -(he)Tj -/TT0 1 Tf -1.398 0 Td -(c_cc)Tj -/T1_1 1 Tf -2.737 0 Td -[(array )-87(contains )-87(all )-87(the)]TJ --29.479 -1.2 Td -[(special )-11(characters )-11(that )-11(we )-11(can )-11(change.)]TJ -/TT0 1 Tf -17.299 0 Td -(NCCS)Tj -/T1_1 1 Tf -2.661 0 Td -[(is )-11(the )-11(number )-11(of )-11(elements )-11(in )-11(this )-11(array )-11(and)]TJ --19.96 -1.2 Td -[(is )-310(typically )-310(between )-310(15 )-310(and )-310(20 )-310(\(since )-310(most )-310(implementations )-310(of )-310(the )-310(UNIX )-310(System)]TJ -T* -[(support )-164(mor)]TJ -0.4143 Tc 5.716 0 Td -(et)Tj -0 Tc 1.219 0 Td -[(han )-164(the )-164(1)]TJ -0.4143 Tc 4.325 0 Td -(1P)Tj -0 Tc 1.518 0 Td -[(OSIX-de\336ned )-164(special )-164(characters\).)-665(The)]TJ -/TT0 1 Tf -17.698 0 Td -(cc_t)Tj -/T1_1 1 Tf -2.814 0 Td -[(type )-164(is )-164(lar)17(ge)]TJ --33.291 -1.2 Td -(enough to hold each special character and is typically an)Tj -/TT0 1 Tf -25.196 0 Td -[(unsigned )350(char)]TJ -/T1_1 1 Tf -(.)Tj --0.111 Tc 7.9995 0 0 7.9995 183.5881 379.9374 Tm -(Ve)Tj -0 Tc 1.09 0 Td -[(rsions )-1(of )-1(System )-1(V )-1(that )-1(pr)18(edated )-1(the )-1(POSIX )-1(standar)]TJ -0.2509 Tc 22.807 0 Td -(dh)Tj -0 Tc 1.444 0 Td -[(ad )-1(a )-1(header )-1(named)]TJ -/TT0 1 Tf -8.715 0 Td -()Tj -/T1_1 1 Tf -6.251 0 Td -(and)Tj -0.2728 Tc -40.307 -1.25 Td -(as)Tj -0 Tc 1.197 0 Td -[(tr)8(uctur)]TJ -0.2729 Tc 3.066 0 Td -(en)Tj -0 Tc 1.334 0 Td -(amed)Tj -/TT0 1 Tf -2.746 0 Td -(termio)Tj -/T1_1 1 Tf -0.5229 Tc (.P)Tj -0 Tc 4.977 0 Td -[(OSIX.1 )-23(added )-23(an)]TJ -/TT0 1 Tf -7.778 0 Td -(s)Tj -/T1_1 1 Tf -0.873 0 Td -[(to )-23(the )-23(names, )-23(to )-23(dif)19(fer)18(entiate )-23(them )-23(fr)18(om )-23(their)]TJ --21.97 -1.25 Td -[(pr)18(edecessors.)]TJ -9.9994 0 0 9.9994 147.5901 336.94 Tm -[(Figur)18(es )-72(18.3 )-72(thr)18(ough )-72(18.6 )-72(list )-72(all )-72(the )-72(terminal )-72(\337ags )-72(that )-72(we )-72(can )-72(change )-72(to )-72(af)14(fect )-72(the)]TJ --1.8 -1.2 Td -[(characteristics )-504(of )-504(a )-504(terminal )-504(device.)-1006(Note )-505(that )-505(even )-505(though )-505(the )-505(Single )-505(UNIX)]TJ -T* -[(Speci\336cation )-573(de\336nes )-573(a )-573(common )-573(subset )-573(that )-573(all )-573(platforms )-573(start )-573(fr)18(om, )-573(all )-573(the)]TJ -T* -[(implementations )-223(have )-223(their )-223(own )-223(additions.)-723(Most )-223(of )-223(these )-223(additions )-223(come )-223(fr)19(om )-223(the)]TJ -T* -[(historical )-160(dif)18(fer)18(ences )-160(between )-160(the )-160(systems.)]TJ --0.092 Tc 20.089 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-160(discuss )-160(each )-160(of )-160(these )-160(\337ag )-160(values )-160(in)]TJ --21.476 -1.2 Td -(detail in Section 18.5.)Tj -1.8 -1.2 Td -[(Given )-589(all )-589(the )-589(options )-589(available, )-589(how )-589(do )-589(we )-589(examine )-589(and )-589(change )-589(these)]TJ --1.8 -1.2 Td -[(characteristics )-271(of )-271(a )-271(terminal )-271(device?)-771(Figur)]TJ -0.521 Tc 19.942 0 Td -(e1)Tj -0 Tc 1.5 0 Td -[(8.7 )-271(summarizes )-271(the )-271(various )-271(functions)]TJ --21.442 -1.2 Td -[(de\336ned )-196(by )-196(the )-196(Single )-196(UNIX )-196(Speci\336cation )-196(that )-196(operate )-196(on )-196(terminal )-196(devices.)-696(\(All )-196(the)]TJ -T* -[(functions )-184(listed )-184(ar)]TJ -0.4338 Tc 8.298 0 Td -(ep)Tj -0 Tc 1.514 0 Td -[(art )-184(of )-184(the )-184(base )-184(POSIX )-184(speci\336cation.)]TJ --0.092 Tc 16.997 0 Td -[(We )-368(d)]TJ -0 Tc 2.432 0 Td -(escribed)Tj -/TT0 1 Tf -4.11 0 Td -(tcgetpgrp)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --33.35 -1.2 Td -(tcgetsid)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 5.8 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(tcsetpgrp)Tj -/T1_1 1 Tf -5.65 0 Td -(in Section 9.7.\))Tj --11.093 -1.2 Td -[(Note )-91(that )-91(the )-91(Single )-91(UNIX )-91(Speci\336cation )-91(doesn\325t )-91(use )-91(the )-91(classic)]TJ -/TT0 1 Tf -28.643 0 Td -(ioctl)Tj -/T1_1 1 Tf -3.341 0 Td -[(on )-91(terminal)]TJ --33.784 -1.2 Td -[(devices. )-351(Instead,)-351(it )-101(uses )-101(the )-101(13 )-101(functions )-101(shown )-101(in )-101(Figur)]TJ -0.3508 Tc 25.748 0 Td -(e1)Tj -0 Tc 1.33 0 Td -[(8.7. )-351(The)]TJ --0.018 Tc 4.126 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ason )-101(is )-101(that )-101(the)]TJ -/TT0 1 Tf --32.06 -1.2 Td -(ioctl)Tj -/T1_1 1 Tf -3.385 0 Td -[(function )-135(for )-135(terminal )-135(devices )-135(uses )-135(a )-135(dif)17(fer)18(ent )-135(data )-135(type )-135(for )-135(its )-135(\336nal )-135(ar)16(gument,)]TJ --3.385 -1.2 Td -[(which )-307(depends )-307(on )-307(the )-307(action )-307(being )-307(performed.)-807(This )-307(makes )-307(type )-307(checking )-307(of )-307(the)]TJ -T* -[(ar)18(guments impossible.)]TJ -1.8 -1.2 Td -[(Although )-103(only )-103(13 )-103(functions )-103(operate )-103(on )-103(terminal )-103(devices, )-103(the )-103(\336rst )-103(two )-103(functions )-103(in)]TJ --1.8 -1.2 Td -(Figur)Tj -0.4607 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.44 0 Td -[(8.7 )-211(\()]TJ -/TT0 1 Tf -(tcgetattr)Tj -/T1_1 1 Tf -7.904 0 Td -(and)Tj -/TT0 1 Tf -2.154 0 Td -(tcsetattr)Tj -/T1_1 1 Tf -0.4607 Tc (\)m)Tj -0 Tc 7.077 0 Td -[(anipulate )-211(almost )-211(70 )-211(dif)19(fer)18(ent )-211(\337ags )-211(\(see)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47394 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.10)]TJ -36.306 0 Td -[(Canonical )-250(Mode)]TJ -/T1_1 1 Tf -9.527 0 Td -(701)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1476.25 6690.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1496.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 659.4594 Tm -[(#include )-1800()]TJ -0 -1.189 TD -[(#include )-1800()]TJ -T* -[(#include )-1800()]TJ -0 -1.902 TD -(#define MAX_PASS_LEN)Tj -4.2 Tc 14.4 0 Td -(8/)Tj -0.6 Tc 5.4 0 Td -(*m)Tj -0 Tc 1.8 0 Td -(ax #chars for user to enter */)Tj --21.6 -1.902 Td -(char *)Tj -0 -1.189 TD -(getpass\(const char *prompt\))Tj -T* -({)Tj -2.4 -1.189 Td -[(static char)-3000(buf[MAX_PASS_LEN + 1];)-1200(/* null byte at end */)]TJ -T* -(char )Tj -9.6 0 Td -(*ptr;)Tj --9.6 -1.189 Td -[(sigset_t )-4200(sig,)-600(osig;)]TJ -T* -[(struct termios)-1200(ts, ots;)]TJ -T* -(FILE )Tj -9.6 0 Td -(*fp;)Tj --9.6 -1.189 Td -(int )Tj -9.6 0 Td -(c;)Tj --9.6 -1.902 Td -(if \(\(fp = fopen\(ctermid\(NULL\), "r+"\)\) == NULL\))Tj -2.4 -1.189 Td -(return\(NULL\);)Tj --2.4 -1.189 Td -(setbuf\(fp, NULL\);)Tj -0 -1.902 TD -(sigemptyset\(&sig\);)Tj -0 -1.189 TD -[(sigaddset\(&sig, SIGINT\);)-4800(/* block SIGINT */)]TJ -0 -1.189 TD -[(sigaddset\(&sig, SIGTSTP\);)-4200(/* block SIGTSTP */)]TJ -T* -[(sigprocmask\(SIG_BLOCK, &sig, &osig\);)-2400(/* and save mask */)]TJ -0 -1.902 TD -[(tcgetattr\(fileno\(fp\), &ts\);)-3000(/* save tty state */)]TJ -0 -1.189 TD -(ots = ts;)Tj -19.2 0 Td -(/* structure copy */)Tj --19.2 -1.189 Td -(ts.c_lflag &= \367\(ECHO | ECHOE | ECHOK | ECHONL\);)Tj -0 -1.189 TD -(tcsetattr\(fileno\(fp\), TCSAFLUSH, &ts\);)Tj -0 -1.189 TD -(fputs\(prompt, fp\);)Tj -0 -1.902 TD -(ptr = buf;)Tj -0 -1.189 TD -(while \(\(c = getc\(fp\)\) != EOF && c != \325\\n\325\))Tj -2.4 -1.189 Td -(if \(ptr < &buf[MAX_PASS_LEN]\))Tj -2.4 -1.189 Td -(*ptr++ = c;)Tj --4.8 -1.189 Td -(*ptr = 0;)Tj -12 0 Td -(/* null terminate */)Tj --12 -1.189 Td -[(putc\(\325\\n\325, fp\);)-3000(/* we echo a newline */)]TJ -0 -1.902 TD -(tcsetattr\(fileno\(fp\), TCSAFLUSH, &ots\); /* restore TTY state */)Tj -0 -1.189 TD -[(sigprocmask\(SIG_SETMASK, &osig, NULL\);)-1200(/* restore mask */)]TJ -T* -[(fclose\(fp\); )-4800(/*)-600(done with /dev/tty */)]TJ -T* -(return\(buf\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1476.25 2352.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1496.25 2352.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 242.2229 219.2317 Tm -(Figure 18.17)Tj -/T1_0 1 Tf -6.195 0 Td -(Implementation of)Tj -/TT0 1 Tf -8.485 0 Td -(getpass)Tj -/T1_0 1 Tf -4.45 0 Td -(function)Tj -1.194 Tc 9.9988 0 0 9.9988 147.5826 194.8342 Tm -(\245W)Tj -0.3129 Tc 2.708 0 Td -(eb)Tj -0 Tc 1.345 0 Td -[(lock )-63(the )-63(two )-63(signals)]TJ -/TT0 1 Tf -9.25 0 Td -(SIGINT)Tj -/T1_0 1 Tf -3.913 0 Td -(and)Tj -/TT0 1 Tf -2.006 0 Td -(SIGTSTP)Tj -/T1_0 1 Tf -0.5628 Tc (.I)Tj -0 Tc 5.35 0 Td -[(f)-313(we)-313(didn\325t )-63(do )-63(this, )-63(entering)]TJ --22.771 -1.2 Td -[(the )-284(INTR )-284(character )-284(would )-284(abort )-284(the )-284(pr)18(ogram )-284(and )-284(leave )-284(the )-284(terminal )-284(with)]TJ -0 -1.2 TD -[(echoing )-389(disabled.)-890(Similarly)]TJ -0.6395 Tc 12.931 0 Td -(,e)Tj -0 Tc 1.369 0 Td -[(ntering )-389(the )-389(SUSP )-389(character )-389(would )-389(stop )-389(the)]TJ --14.3 -1.2 Td -[(pr)18(ogram )-52(and )-52(r)17(eturn )-52(to )-52(the )-52(shell )-52(with )-52(echoing )-52(disabled.)]TJ --0.092 Tc 25.133 0 Td -[(We )-236(c)]TJ -0 Tc 2.133 0 Td -[(hoose )-52(to )-52(block )-52(the)]TJ --27.267 -1.2 Td -[(signals )-239(while )-239(we )-239(have )-239(echoing )-239(disabled.)-738(If )-239(they )-239(ar)]TJ -0.4887 Tc 24.124 0 Td -(eg)Tj -0 Tc 1.524 0 Td -[(enerated )-239(while )-239(we\325r)19(e)]TJ --0.018 Tc -25.648 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading )-113(the )-113(passwor)18(d, )-113(they )-113(ar)]TJ -0.3631 Tc 12.766 0 Td -(eh)Tj -0 Tc 1.424 0 Td -[(eld )-113(until )-113(we )-113(r)18(eturn. )-363(Ther)]TJ -0.3631 Tc 11.552 0 Td -(ea)Tj --0.018 Tc 1.342 0 Td -[(re )-149(o)]TJ -0 Tc 1.765 0 Td -[(ther )-113(ways )-113(to)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47395 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.2)]TJ -39.439 0 Td -(Overview)Tj -/T1_1 1 Tf -6.394 0 Td -(677)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1862.25 6670.25 cm -0 0 m -2768 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 200.8559 658.9605 Tm -(Function )Tj -16.94 0 Td -(Description)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1862.25 6550.25 cm -0 0 m -2768 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1862.25 6530.25 cm -0 0 m -2768 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 190.1652 644.9226 Tm -(tcgetattr)Tj -/T1_0 1 Tf -8.1 0 Td -(fetch attributes \()Tj -/TT0 1 Tf -(termios)Tj -/T1_0 1 Tf -11.67 0 Td -[(str)8(uctur)18(e\))]TJ -/TT0 1 Tf --19.77 -1.25 Td -(tcsetattr)Tj -/T1_0 1 Tf -8.1 0 Td -(set attributes \()Tj -/TT0 1 Tf -(termios)Tj -/T1_0 1 Tf -10.735 0 Td -[(str)8(uctur)18(e\))]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1862.25 6310.25 cm -0 0 m -2768 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 190.1538 622.8879 Tm -(cfgetispeed)Tj -/T1_0 1 Tf -8.1 0 Td -(get input speed)Tj -/TT0 1 Tf --8.1 -1.25 Td -(cfgetospeed)Tj -/T1_0 1 Tf -8.1 0 Td -(get output speed)Tj -/TT0 1 Tf --8.1 -1.25 Td -(cfsetispeed)Tj -/T1_0 1 Tf -8.1 0 Td -(set input speed)Tj -/TT0 1 Tf --8.1 -1.25 Td -(cfsetospeed)Tj -/T1_0 1 Tf -8.1 0 Td -(set output speed)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1862.25 5890.25 cm -0 0 m -2768 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 190.1424 580.8606 Tm -(tcdrain)Tj -/T1_0 1 Tf -8.1 0 Td -(wait for all output to be transmitted)Tj -/TT0 1 Tf --8.1 -1.25 Td -(tcflow)Tj -/T1_0 1 Tf -8.1 0 Td -[(suspend transmit or r)18(eceive)]TJ -/TT0 1 Tf --8.1 -1.25 Td -(tcflush)Tj -/T1_0 1 Tf -8.1 0 Td -(\337ush pending input and/or output)Tj -/TT0 1 Tf --8.1 -1.25 Td -(tcsendbreak)Tj -/T1_0 1 Tf -8.1 0 Td -(send BREAK character)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1862.25 5470.25 cm -0 0 m -2768 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 190.131 538.8383 Tm -(tcgetpgrp)Tj -/T1_0 1 Tf -8.1 0 Td -[(get for)18(egr)18(ound pr)18(ocess gr)18(oup ID)]TJ -/TT0 1 Tf --8.1 -1.25 Td -(tcsetpgrp)Tj -/T1_0 1 Tf -8.1 0 Td -[(set for)18(egr)18(ound pr)18(ocess gr)18(oup ID)]TJ -/TT0 1 Tf --8.1 -1.25 Td -(tcgetsid)Tj -/T1_0 1 Tf -8.1 0 Td -[(get pr)18(ocess gr)18(oup ID of session leader for contr)18(olling TTY)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1862.25 5150.25 cm -0 0 m -2768 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2490.25 5150.25 cm -0 0 m -0 1520 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4630.25 5150.25 cm -0 0 m -0 1520 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1862.25 5150.25 cm -0 0 m -0 1520 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 238.4102 496.8211 Tm -(Figure 18.7)Tj -/T1_0 1 Tf -5.695 0 Td -(Summary of terminal I/O functions)Tj -9.9964 0 0 9.9964 147.5471 463.2332 Tm -[(The )-167(r)18(elationships )-167(among )-167(the )-167(13 )-167(functions )-167(shown )-167(in )-167(Figur)]TJ -0.4174 Tc 26.535 0 Td -(e1)Tj -0 Tc 1.396 0 Td -[(8.7 )-167(ar)]TJ -0.4174 Tc 2.544 0 Td -(ei)Tj -0 Tc 1.187 0 Td -[(llustrated )-167(in)]TJ --33.464 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(8.8.)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2002.2 3238 1152 360 re -S -Q -BT -/T1_0 1 Tf -6.9971 0 0 6.9971 204.8889 350.6927 Tm -[(input baud rate)-1058(output baud rate)]TJ -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2002.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2072.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2142.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2211.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2281.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2350.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2420.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2490.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2560.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2630.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2700.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2769.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2839.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2908.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2978.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3048.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3118.25 3454.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2578.25 3598.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2578.25 3544.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2578.25 3490.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1944.6 3590.8 cm -0 0 m --19.88 0 -36 -16.12 -36 -36 c -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1908.25 3555.25 cm -0 0 m -0 -108 l --28 -137 l -0 -166 l -0 -274 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1908.6 3281.2 cm -0 0 m -0 -19.88 16.12 -36 36 -36 c -S -Q -Q -BT -/TT0 1 Tf -9.9952 0 0 9.9952 145.9099 344.8744 Tm -(struct)Tj --0.6 -1 Td -(termios)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -2002.2 2230 2880 288 re -S -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 259.4678 235.5128 Tm -(terminal line discipline / terminal device driver)Tj -ET -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 219.444 359.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 2194.4399 3598 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2194.25 3670.25 cm -0 0 m -0 648 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9952 -7.9952 0 216.0743 369.1784 Tm -(cfsetispeed)Tj -ET -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 238.596 431.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 2385.96 4318 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2386.25 3598.25 cm -0 0 m -0 648 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9947 -7.9947 0 235.2007 369.1563 Tm -(cfgetispeed)Tj -ET -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 277.044 359.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 2770.4399 3598 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2770.25 3670.25 cm -0 0 m -0 648 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9942 -7.9942 0 283.5997 369.1341 Tm -(cfsetospeed)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 296.196 431.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 2961.96 4318 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2962.25 3598.25 cm -0 0 m -0 648 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9938 -7.9938 0 302.7198 369.112 Tm -(cfgetospeed)Tj -ET -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 229.02 251.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 2290.2 2518 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2290.25 2590.25 cm -0 0 m -0 648 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9933 -7.9933 0 225.5904 265.9765 Tm -(tcsetattr)Tj -ET -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 286.62 323.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 2866.2 3238 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2866.25 2518.25 cm -0 0 m -0 648 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9928 -7.9928 0 283.1251 265.9605 Tm -(tcgetattr)Tj -ET -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 337.02 251.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 3370.2 2518 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3370.25 2590.25 cm -0 0 m -0 648 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9923 -7.9923 0 333.4597 261.1492 Tm -(tcsendbreak)Tj -ET -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 358.62 251.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 3586.2 2518 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3586.25 2590.25 cm -0 0 m -0 648 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9918 -7.9918 0 355.0177 270.7237 Tm -(tcdrain)Tj -ET -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 380.22 251.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 3802.2 2518 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3802.25 2590.25 cm -0 0 m -0 648 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9914 -7.9914 0 376.5731 270.7075 Tm -(tcflush)Tj -ET -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 401.82 251.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 4018.2 2518 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4018.25 2590.25 cm -0 0 m -0 648 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9909 -7.9909 0 398.1259 273.0885 Tm -(tcflow)Tj -/T1_0 1 Tf -7.9909 0 0 7.9909 331.4979 328.8649 Tm -[(line contr)18(ol functions)]TJ -ET -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 437.82 323.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 4378.2002 3238 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4378.25 2518.25 cm -0 0 m -0 648 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9904 -7.9904 0 444.0468 268.2779 Tm -(tcgetsid)Tj -ET -q -0.9988007 0 0 0.9988007 0 0 cm -q 1 0 0 1 459.42 323.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -1 j 1 J -q 1 0 0 1 4594.2002 3238 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4594.25 2518.25 cm -0 0 m -0 648 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9899 -7.9899 0 465.593 265.8648 Tm -(tcgetpgrp)Tj -ET -q -0.9987408 0 0 0.9987408 0 0 cm -q 1 0 0 1 481.02 251.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -1 j 1 J -q 1 0 0 1 4810.2002 2518 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4810.25 2590.25 cm -0 0 m -0 648 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9894 -7.9894 0 487.1365 265.8488 Tm -(tcsetpgrp)Tj -/T1_0 1 Tf -7.9894 0 0 7.9894 438.8004 340.9896 Tm -[(for)18(egr)18(ound)]TJ --1.29 -1.25 Td -[(pr)18(ocess gr)18(oup ID)]TJ -/T1_1 1 Tf --27.272 -16.705 Td -(Figure 18.8)Tj -/T1_0 1 Tf -5.695 0 Td -[(Relationships among the terminal-r)18(elated functions)]TJ --9.106 -4 Td -[(POSIX.1 )-90(doesn\325t )-90(specify )-90(wher)18(e)-340(in)-340(the)]TJ -/TT0 1 Tf -17.094 0 Td -(termios)Tj -/T1_0 1 Tf -4.54 0 Td -[(str)8(uctur)]TJ -0.34 Tc 3.49 0 Td -(et)Tj -0 Tc 1.145 0 Td -[(he )-90(baud )-90(rate )-90(information )-90(is )-90(stor)18(ed;)]TJ --26.269 -1.25 Td -[(that )-86(is )-86(an )-86(implementation )-86(detail.)-586(Some )-86(systems, )-86(such )-86(as )-86(Solaris, )-86(stor)]TJ -0.336 Tc 31.019 0 Td -(et)Tj -0 Tc 1.141 0 Td -[(his )-86(information )-86(in )-86(the)]TJ -/TT0 1 Tf --32.16 -1.25 Td -(c_cflag)Tj -/T1_0 1 Tf -4.568 0 Td -[(\336eld. )-368(Linux)-369(and )-118(BSD-derived )-118(systems, )-118(such )-118(as )-118(Fr)18(eeBSD )-118(and )-118(Mac )-118(OS )-118(X, )-118(have )-118(two)]TJ --4.568 -1.25 Td -[(separate \336elds in the str)8(uctur)18(e: one for the input speed and one for the output speed.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47396 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(202)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Envir)18(onment )]TJ -39.241 0 Td -[(Chapter)-500(7)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(The pr)18(ogram in Figur)]TJ -0.25 Tc 9.538 0 Td -(e7)Tj -0 Tc 1.229 0 Td -(.3 demonstrates the use of the)Tj -/TT1 1 Tf -13.384 0 Td -(atexit)Tj -/T1_1 1 Tf -3.85 0 Td -(function.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6330.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 623.4242 Tm -(#include "apue.h")Tj -0 -2.378 TD -(static void my_exit1\(void\);)Tj -0 -1.189 TD -(static void my_exit2\(void\);)Tj -0 -2.378 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(atexit\(my_exit2\) != 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t register my_exit2"\);)Tj --2.4 -2.378 Td -(if \(atexit\(my_exit1\) != 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t register my_exit1"\);)Tj --2.4 -1.189 Td -(if \(atexit\(my_exit1\) != 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t register my_exit1"\);)Tj --2.4 -2.378 Td -(printf\("main is done\\n"\);)Tj -T* -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.378 TD -(static void)Tj -0 -1.189 TD -(my_exit1\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(printf\("first exit handler\\n"\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.378 TD -(static void)Tj -0 -1.189 TD -(my_exit2\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("second exit handler\\n"\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2977.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 259.8292 281.6473 Tm -(Figure 7.3)Tj -/T1_1 1 Tf -5.195 0 Td -(Example of exit handlers)Tj -9.9982 0 0 9.9982 129.5769 250.4529 Tm -[(Executing the pr)18(ogram in Figur)]TJ -0.25 Tc 13.909 0 Td -(e7)Tj -0 Tc 1.229 0 Td -(.3 yields)Tj -/TT1 1 Tf -8.9984 0 0 8.9984 147.5734 233.7559 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(./a.out)Tj -/TT1 1 Tf --1.2 -1.189 Td -(main is done)Tj -T* -(first exit handler)Tj -T* -(first exit handler)Tj -T* -(second exit handler)Tj -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 172.9669 Tm -[(An )-84(exit )-84(handler )-84(is )-84(called )-84(once )-84(for )-84(each )-84(time )-84(it )-84(is )-84(r)13(egister)18(ed. )-334(In)-335(Figur)]TJ -0.3346 Tc 30.934 0 Td -(e7)Tj -0 Tc 1.314 0 Td -[(.3, )-85(the )-85(\336rst )-85(exit)]TJ --32.247 -1.2 Td -[(handler )-186(is )-186(r)17(egister)18(ed )-186(twice, )-186(so )-186(it )-186(is )-186(called )-186(two )-186(times.)-690(Note )-186(that )-186(we )-186(don\325t )-186(call)]TJ -/TT1 1 Tf -36.35 0 Td -(exit)Tj -/T1_1 1 Tf -(;)Tj --36.35 -1.2 Td -[(instead, we r)18(eturn fr)18(om)]TJ -/TT1 1 Tf -10.677 0 Td -(main)Tj -/T1_1 1 Tf -(.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1490.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47397 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(688)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(ICRNL)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_iflag)Tj -/T1_1 1 Tf -0.4202 Tc (,P)Tj -0 Tc 5.807 0 Td -[(OSIX.1, )-170(Fr)18(eeBSD, )-170(Linux, )-170(Mac )-170(OS )-170(X, )-170(Solaris\))-671(If )-170(set )-170(and )-170(if)]TJ -/TT0 1 Tf --5.807 -1.2 Td -(IGNCR)Tj -/T1_1 1 Tf -3.581 0 Td -[(is )-330(not )-330(set, )-330(a )-330(r)18(eceived )-330(CR )-330(character )-330(is )-330(translated )-330(into )-330(a )-330(NL)]TJ --3.581 -1.2 Td -[(character)74(.)]TJ -/TT0 1 Tf --6.883 -1.72 Td -(IEXTEN)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_1 1 Tf -0.5302 Tc (,P)Tj -0 Tc 5.917 0 Td -[(OSIX.1, )-280(Fr)18(eeBSD, )-280(Linux, )-280(Mac )-280(OS )-280(X, )-280(Solaris\))-780(If )-280(set, )-280(the)]TJ --5.917 -1.2 Td -[(extended, )-15(implementation-de\336ned )-15(special )-15(characters )-15(ar)]TJ -0.2652 Tc 24.549 0 Td -(er)Tj -0 Tc 1.121 0 Td -[(ecognized )-15(and)]TJ --25.671 -1.2 Td -[(pr)18(ocessed.)]TJ -/TT0 1 Tf --6.883 -1.72 Td -(IGNBRK)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_iflag)Tj -/T1_1 1 Tf -0.4216 Tc (,P)Tj -0 Tc 5.809 0 Td -[(OSIX.1, )-172(Fr)18(eeBSD, )-172(Linux, )-172(Mac )-172(OS )-172(X, )-172(Solaris\))-672(When )-172(set, )-172(a)]TJ --5.809 -1.2 Td -[(BREAK )-63(condition )-63(on )-63(input )-63(is )-63(ignor)18(ed. )-313(See)]TJ -/TT0 1 Tf -19.476 0 Td -(BRKINT)Tj -/T1_1 1 Tf -3.913 0 Td -[(for )-63(a )-63(way )-63(to )-63(have )-63(a)]TJ --23.389 -1.2 Td -(BREAK condition either generate a)Tj -/TT0 1 Tf -15.711 0 Td -(SIGINT)Tj -/T1_1 1 Tf -3.85 0 Td -[(signal or be r)18(ead as data.)]TJ -/TT0 1 Tf --26.444 -1.72 Td -(IGNCR)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_iflag)Tj -/T1_1 1 Tf -0.6189 Tc (,P)Tj -0 Tc 6.006 0 Td -[(OSIX.1, )-369(Fr)18(eeBSD, )-369(Linux, )-369(Mac )-369(OS )-369(X, )-369(Solaris\))-869(If )-369(set, )-369(a)]TJ --0.018 Tc -6.006 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ceived )-98(CR )-98(character )-98(is )-98(ignor)17(ed. )-348(If)-348(this )-98(\337ag )-98(is )-98(not )-98(set, )-98(it )-98(is )-98(possible )-98(to)]TJ --0.856 -1.2 Td -[(translate the r)18(eceived CR into a NL character if the)]TJ -/TT0 1 Tf -22.575 0 Td -(ICRNL)Tj -/T1_1 1 Tf -3.25 0 Td -(\337ag is set.)Tj -/TT0 1 Tf --32.708 -1.72 Td -(IGNPAR)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_iflag)Tj -/T1_1 1 Tf -0.3634 Tc (,P)Tj -0 Tc 5.75 0 Td -[(OSIX.1, )-113(Fr)18(eeBSD, )-113(Linux, )-113(Mac )-113(OS )-113(X, )-113(Solaris\))-613(When )-113(set, )-113(an)]TJ --5.75 -1.2 Td -[(input )-82(byte )-82(with )-82(a )-82(framing )-82(err)18(or )-82(\(other )-82(than )-82(a )-82(BREAK\) )-82(or )-82(an )-82(input )-82(byte)]TJ -0 -1.2 TD -[(with a parity err)18(or is ignor)18(ed.)]TJ -/TT0 1 Tf --6.883 -1.72 Td -(IMAXBEL)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_iflag)Tj -/T1_1 1 Tf -0.4166 Tc (,F)Tj --0.018 Tc 5.756 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-167(Linux, )-167(Mac )-167(OS )-167(X, )-167(Solaris\))-667(Ring )-167(bell )-167(when )-167(input)]TJ --6.612 -1.2 Td -(queue is full.)Tj -/TT0 1 Tf --6.883 -1.72 Td -(INLCR)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_iflag)Tj -/T1_1 1 Tf -0.6189 Tc (,P)Tj -0 Tc 6.006 0 Td -[(OSIX.1, )-369(Fr)18(eeBSD, )-369(Linux, )-369(Mac )-369(OS )-369(X, )-369(Solaris\))-869(If )-369(set, )-369(a)]TJ --0.018 Tc -6.006 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ceived NL character is translated into a CR character)74(.)]TJ -/TT0 1 Tf --7.739 -1.72 Td -(INPCK)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_iflag)Tj -/T1_1 1 Tf -0.524 Tc (,P)Tj -0 Tc 5.911 0 Td -[(OSIX.1, )-274(Fr)18(eeBSD, )-274(Linux, )-274(Mac )-274(OS )-274(X, )-274(Solaris\))-774(When )-274(set,)]TJ --5.911 -1.2 Td -[(input )-296(parity )-296(checking )-296(is )-296(enabled.)-798(If)]TJ -/TT0 1 Tf -17.664 0 Td -(INPCK)Tj -/T1_1 1 Tf -3.546 0 Td -[(is )-296(not )-296(set, )-296(input )-296(parity)]TJ --21.211 -1.2 Td -(checking is disabled.)Tj -0 -1.8 TD -[(Parity )-94(\324)37(\324generation )-94(and )-94(detection\325)]TJ -0.3439 Tc 14.977 0 Td -(\325a)Tj -0 Tc 1.122 0 Td -[(nd )-94(\324)37(\324input )-94(parity )-94(checking\325)]TJ -0.3439 Tc 11.991 0 Td -(\325a)Tj --0.018 Tc 1.122 0 Td -[(re )-130(t)]TJ -0 Tc 1.526 0 Td -(wo)Tj --30.737 -1.2 Td -[(dif)18(fer)18(ent )-3(things.)-503(The )-3(generation )-3(and )-3(detection )-3(of )-3(parity )-3(bits )-3(is )-3(contr)22(olled)]TJ --0 -1.2 Td -[(by )-6(the)]TJ -/TT0 1 Tf -3.009 0 Td -(PARENB)Tj -/T1_1 1 Tf -3.856 0 Td -[(\337ag. )-256(Setting)-257(this )-6(\337ag )-6(usually )-6(causes )-6(the )-6(device )-6(driver )-6(for)]TJ --6.865 -1.2 Td -[(the )-235(serial )-235(interface )-235(to )-235(generate )-235(parity )-235(for )-235(outgoing )-235(characters )-235(and )-235(to)]TJ -0 -1.2 TD -[(verify )-140(the )-140(parity )-140(of )-140(incoming )-140(characters.)-640(The )-140(\337ag)]TJ -/TT0 1 Tf -23.178 0 Td -(PARODD)Tj -/T1_1 1 Tf -3.99 0 Td -(determines)Tj --27.168 -1.2 Td -[(whether )-59(the )-59(parity )-59(should )-59(be )-59(odd )-59(or )-59(even.)-561(If )-59(an )-59(input )-59(character )-59(arrives)]TJ -T* -[(with )-4(the )-4(wr)18(ong )-4(parity)]TJ -0.2536 Tc 9.634 0 Td -(,t)Tj -0 Tc 0.83 0 Td -[(hen )-4(the )-4(state )-4(of )-4(the)]TJ -/TT0 1 Tf -8.619 0 Td -(INPCK)Tj -/T1_1 1 Tf -3.254 0 Td -[(\337ag )-3(is )-3(checked.)-503(If )-3(this)]TJ --22.336 -1.2 Td -[(\337ag )-156(is )-156(set, )-156(then )-156(the)]TJ -/TT0 1 Tf -9.243 0 Td -(IGNPAR)Tj -/T1_1 1 Tf -4.006 0 Td -[(\337ag )-156(is )-156(checked )-156(\(to )-156(see )-156(whether )-156(the )-156(input)]TJ --13.248 -1.2 Td -[(byte )-84(with )-84(the )-84(parity )-84(err)18(or )-84(should )-84(be )-84(ignor)19(ed\); )-84(if )-84(the )-84(byte )-84(should )-84(not )-84(be)]TJ -T* -[(ignor)18(ed, )-19(then )-19(the)]TJ -/TT0 1 Tf -7.856 0 Td -(PARMRK)Tj -/T1_1 1 Tf -3.869 0 Td -[(\337ag )-19(is )-19(checked )-19(to )-19(see )-19(which )-19(characters )-19(should)]TJ --11.725 -1.2 Td -[(be passed to the r)18(eading pr)18(ocess.)]TJ -/TT0 1 Tf --6.883 -1.6 Td -(ISIG)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_1 1 Tf -0.2636 Tc (,P)Tj -0 Tc 5.651 0 Td -[(OSIX.1, )-14(Fr)18(eeBSD, )-14(Linux, )-14(Mac )-14(OS )-14(X, )-14(Solaris\))-511(If )-13(set, )-13(the )-13(input)]TJ --5.651 -1.2 Td -[(characters )-214(ar)]TJ -0.4639 Tc 5.83 0 Td -(ec)Tj -0 Tc 1.387 0 Td -[(ompar)18(ed )-214(against )-214(the )-214(special )-214(characters )-214(that )-214(cause )-214(the)]TJ --7.217 -1.2 Td -[(terminal-generated )-285(signals )-285(to )-285(be )-285(generated)]TJ -20.543 0.04 Td -(\()Tj -0.333 -0.04 Td -[(INTR, )-285(QUIT)]TJ -0.5353 Tc 5.674 0 Td -(,S)Tj -0 Tc 1.31 0 Td -(USP)Tj -0.5353 Tc 1.778 0 Td -(,a)Tj -0 Tc 1.285 0 Td -(nd)Tj --30.924 -1.2 Td -(DSUSP)Tj -3.206 0.04 Td -(\))Tj -0.333 -0.04 Td -[(;)-250(if)-250(equal, the corr)18(esponding signal is generated.)]TJ -/TT0 1 Tf --10.422 -1.72 Td -(ISTRIP)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_iflag)Tj -/T1_1 1 Tf -0.524 Tc (,P)Tj -0 Tc 5.911 0 Td -[(OSIX.1, )-274(Fr)18(eeBSD, )-274(Linux, )-274(Mac )-274(OS )-274(X, )-274(Solaris\))-774(When )-274(set,)]TJ --5.911 -1.2 Td -[(valid )-172(input )-172(bytes )-172(ar)]TJ -0.422 Tc 9.142 0 Td -(es)Tj -0 Tc 1.325 0 Td -[(tripped )-172(to )-172(7 )-172(bits.)-672(When )-172(this )-172(\337ag )-172(is )-172(not )-172(set, )-172(all)]TJ -0.25 Tc -10.467 -1.2 Td -(8b)Tj -0 Tc 1.303 0 Td -(its ar)Tj -0.25 Tc 2.168 0 Td -(ep)Tj --0.018 Tc 1.33 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(cessed.)Tj -/TT0 1 Tf --12.607 -1.72 Td -(IUCLC)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_iflag)Tj -/T1_1 1 Tf -0.25 Tc (,L)Tj -0 Tc 5.644 0 Td -[(inux, Solaris\))-500(Map upper)18(case to lower)18(case on input.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47398 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(702)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 165.5901 668.9599 Tm -[(handle )-166(these )-166(signals.)-666(Some )-166(versions )-166(just )-166(ignor)17(e)]TJ -/TT0 1 Tf -22.373 0 Td -(SIGINT)Tj -/T1_1 1 Tf -4.016 0 Td -[(\(saving )-166(its )-166(pr)18(evious)]TJ --26.39 -1.2 Td -[(action\) )-193(while )-193(in)]TJ -/TT0 1 Tf -7.702 0 Td -(getpass)Tj -/T1_1 1 Tf -0.4435 Tc (,r)Tj -0 Tc 5.271 0 Td -[(esetting )-193(the )-193(action )-193(for )-193(this )-193(signal )-193(to )-193(its )-193(pr)14(evious)]TJ --12.973 -1.2 Td -[(value )-71(befor)]TJ -0.3213 Tc 5.047 0 Td -(er)Tj -0 Tc 1.177 0 Td -[(eturning. )-321(This)-322(means )-71(that )-71(any )-71(occurr)17(ence )-71(of )-71(the )-71(signal )-71(while )-71(it\325s)]TJ --6.225 -1.2 Td -[(ignor)18(ed )-39(is )-39(lost.)-539(Other )-39(versions )-39(catch)]TJ -/TT0 1 Tf -16.548 0 Td -(SIGINT)Tj -/T1_1 1 Tf -3.889 0 Td -[(\(saving )-39(its )-39(pr)18(evious )-39(action\) )-39(and )-39(if)]TJ --20.437 -1.2 Td -[(the )-148(signal )-148(is )-148(caught, )-148(send )-148(themselves )-148(the )-148(signal )-148(with )-148(the)]TJ -/TT0 1 Tf -26.464 0 Td -(kill)Tj -/T1_1 1 Tf -2.798 0 Td -[(function )-148(after)]TJ --0.018 Tc -29.262 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(setting )-30(the )-30(terminal )-30(state )-30(and )-30(signal )-30(action.)-527(None )-30(of )-30(the )-30(versions )-30(of)]TJ -/TT0 1 Tf -30.344 0 Td -(getpass)Tj -/T1_1 1 Tf --31.2 -1.2 Td -[(catch, )-226(ignor)18(e, )-226(or )-226(block)]TJ -/TT0 1 Tf -10.862 0 Td -(SIGQUIT)Tj -/T1_1 1 Tf -[(,)-476(so)-476(entering )-226(the )-226(QUIT )-226(character )-226(aborts )-226(the)]TJ --10.862 -1.2 Td -[(pr)18(ogram and pr)18(obably leaves the terminal with echoing disabled.)]TJ -1.194 Tc -1.8 -1.6 Td -(\245B)Tj -0.5782 Tc 2.411 0 Td -(ea)Tj -0 Tc 1.557 0 Td -(war)Tj -0.5782 Tc 1.711 0 Td -(et)Tj -0 Tc 1.383 0 Td -[(hat )-328(some )-328(shells, )-328(notably )-328(the )-328(Korn )-328(shell, )-328(turn )-328(echoing )-328(back )-328(on)]TJ --5.262 -1.2 Td -[(whenever )-156(they )-156(r)18(ead )-156(interactive )-156(input.)-656(These )-156(shells )-156(ar)]TJ -0.4062 Tc 24.674 0 Td -(et)Tj -0 Tc 1.211 0 Td -[(he )-156(ones )-156(that )-156(pr)18(ovide)]TJ --25.886 -1.2 Td -(command)Tj -4.449 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-68(editing )-68(and )-68(ther)17(efor)]TJ -0.3183 Tc 10.926 0 Td -(em)Tj -0 Tc 1.68 0 Td -[(anipulate )-68(the )-68(state )-68(of )-68(the )-68(terminal )-68(every)]TJ --17.388 -1.2 Td -[(time )-142(we )-142(enter )-142(an )-142(interactive )-142(command.)-642(So, )-142(if )-142(we )-142(invoke )-142(this )-142(pr)18(ogram )-142(under)]TJ -0 -1.2 TD -[(one )-4(of )-4(these )-4(shells )-4(and )-4(abort )-4(it )-4(with )-4(the )-4(QUIT )-4(character)77(,)-254(it)-254(m)1(ay )-4(r)18(eenable )-4(echoing)]TJ --0 -1.2 Td -[(for )-39(us.)-539(Other )-39(shells )-39(that )-39(don\325t )-39(pr)18(ovide )-39(this )-39(form )-39(of )-39(command)]TJ -27.407 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-39(editing, )-39(such)]TJ --27.74 -1.2 Td -[(as )-116(the )-116(Bourne )-116(shell, )-116(will )-116(abort )-116(the )-116(pr)18(ogram )-116(and )-116(leave )-116(the )-116(terminal )-116(in )-116(no-echo)]TJ -T* -[(mode. )-250(If)-250(we do this to our terminal, the)]TJ -/TT0 1 Tf -17.832 0 Td -(stty)Tj -/T1_1 1 Tf -2.65 0 Td -[(command can r)18(eenable echoing.)]TJ -1.194 Tc -22.282 -1.6 Td -(\245W)Tj -0.2676 Tc 2.708 0 Td -(eu)Tj -0 Tc 1.35 0 Td -[(se )-18(standar)]TJ -0.2676 Tc 4.491 0 Td -(dI)Tj -0 Tc 1.216 0 Td -[(/O )-18(to )-18(r)18(ead )-18(and )-18(write )-18(the )-18(contr)18(olling )-18(terminal.)]TJ --0.092 Tc 20.856 0 Td -[(We )-202(s)]TJ -0 Tc 2.079 0 Td -(peci\336cally)Tj --30.898 -1.2 Td -[(set )-174(the )-174(str)18(eam )-174(to )-174(be )-174(unbuf)16(fer)18(ed; )-174(otherwise, )-174(ther)]TJ -0.4245 Tc 22.035 0 Td -(em)Tj -0 Tc 1.786 0 Td -[(ight )-174(be )-174(some )-174(interactions)]TJ --23.821 -1.2 Td -[(between )-121(the )-121(writing )-121(and )-121(r)17(eading )-121(of )-121(the )-121(str)18(eam )-121(\(we )-121(would )-121(need )-121(some )-121(calls )-121(to)]TJ -/TT0 1 Tf -T* -(fflush)Tj -/T1_1 1 Tf -[(\). )-311(W)]TJ -0.3107 Tc 5.652 0 Td -(ec)Tj -0 Tc 1.234 0 Td -[(ould )-61(have )-61(also )-61(used )-61(unbuf)19(fer)18(ed )-61(I/O )-61(\(Chapter )-61(3\), )-61(but )-61(we )-61(would)]TJ --6.885 -1.2 Td -(have to simulate the)Tj -/TT0 1 Tf -9.182 0 Td -(getc)Tj -/T1_1 1 Tf -2.65 0 Td -(function using)Tj -/TT0 1 Tf -6.663 0 Td -(read)Tj -/T1_1 1 Tf -(.)Tj -1.194 Tc -20.295 -1.6 Td -(\245W)Tj -0.2505 Tc 2.708 0 Td -(es)Tj -0 Tc 1.154 0 Td -(tor)Tj -0.2505 Tc 1.249 0 Td -(eo)Tj -0 Tc 1.276 0 Td -[(nly up to eight characters as the passwor)15(d. )-250(Any)-251(additional characters)]TJ --4.586 -1.2 Td -(that ar)Tj -0.25 Tc 2.861 0 Td -(ee)Tj -0 Tc 1.208 0 Td -[(nter)18(ed ar)]TJ -0.25 Tc 3.981 0 Td -(ei)Tj -0 Tc 1.02 0 Td -[(gnor)18(ed.)]TJ --10.87 -2.4 Td -[(The )-3(pr)18(ogram )-3(in )-3(Figur)]TJ -0.2527 Tc 9.546 0 Td -(e1)Tj -0 Tc 1.232 0 Td -[(8.18 )-3(calls)]TJ -/TT0 1 Tf -4.205 0 Td -(getpass)Tj -/T1_1 1 Tf -4.453 0 Td -[(and )-3(prints )-3(what )-3(we )-3(enter )-3(to )-3(let )-3(us )-3(verify)]TJ --21.236 -1.2 Td -(that the ERASE and KILL characters work \(as they should in canonical mo\ de\).)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3498.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 340.2582 Tm -(#include "apue.h")Tj -0 -2.14 TD -[(char )-1800(*getpass\(const)-600(char *\);)]TJ -T* -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(*ptr;)]TJ -0 -2.14 TD -(if \(\(ptr = getpass\("Enter password:"\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("getpass error"\);)Tj --2.4 -1.189 Td -(printf\("password: %s\\n", ptr\);)Tj -0 -2.14 TD -(/* now use password \(probably encrypt it\) ... */)Tj -0 -2.14 TD -(while \(*ptr != 0\))Tj -2.4 -1.189 Td -[(*ptr++ = 0;)-3000(/* zero it out when we\325re done with it */)]TJ --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1536.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 252.4346 137.5732 Tm -(Figure 18.18)Tj -/T1_1 1 Tf -6.195 0 Td -(Call the)Tj -/TT0 1 Tf -3.678 0 Td -(getpass)Tj -/T1_1 1 Tf -4.45 0 Td -(function)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47399 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(680)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-337(n)]TJ -0 Tc 2.372 0 Td -[(ow )-153(describe )-153(each )-153(of )-153(the )-153(special )-153(characters )-153(in )-153(mor)]TJ -0.4028 Tc 22.747 0 Td -(ed)Tj -0 Tc 1.493 0 Td -[(etail. )-403(W)]TJ -0.4028 Tc 3.698 0 Td -(ec)Tj -0 Tc 1.326 0 Td -[(all )-153(these )-153(the)]TJ --33.435 -1.2 Td -[(special )-174(input )-174(characters, )-174(but )-174(two )-174(of )-174(the )-174(characters, )-174(ST)20(OP )-174(and )-174(ST)75(AR)]TJ -0.4237 Tc 31.279 0 Td -(T\()Tj -0 Tc 1.37 0 Td -[(Contr)18(ol)]TJ -3.377 0.09 Td -(-)Tj -0.4237 Tc 0.333 -0.09 Td -(Sa)Tj -0 Tc 1.449 0 Td -(nd)Tj --37.807 -1.2 Td -[(Contr)18(ol)]TJ -3.377 0.09 Td -(-)Tj -0.333 -0.09 Td -[(Q\), )-44(ar)]TJ -0.2945 Tc 2.541 0 Td -(ea)Tj -0 Tc 1.274 0 Td -[(lso )-45(handled )-45(specially )-45(when )-45(output.)-545(Note )-45(that )-45(when )-45(r)18(ecognized )-45(by )-45(the)]TJ --7.524 -1.2 Td -[(terminal )-316(driver )-316(and )-316(pr)18(ocessed )-316(specially)]TJ -0.5665 Tc 18.593 0 Td -(,m)Tj -0 Tc 1.699 0 Td -[(ost )-316(of )-316(these )-316(special )-316(characters )-316(ar)]TJ -0.5664 Tc 15.693 0 Td -(et)Tj -0 Tc 1.371 0 Td -(hen)Tj --37.357 -1.2 Td -[(discar)18(ded: )-66(they )-66(ar)]TJ -0.3156 Tc 8.049 0 Td -(en)Tj -0 Tc 1.377 0 Td -[(ot )-66(r)18(eturned )-66(to )-66(the )-66(pr)20(ocess )-66(in )-66(a )-66(r)18(ead )-66(operation.)-566(The )-66(exceptions )-66(ar)20(e)]TJ --9.426 -1.2 Td -(the newline characters)Tj -10.164 0.04 Td -(\()Tj -0.333 -0.04 Td -(NL, EOL, EOL2)Tj -6.958 0.04 Td -(\))Tj -0.583 -0.04 Td -[(and the carriage r)18(eturn)]TJ -10.402 0.04 Td -(\()Tj -0.333 -0.04 Td -(CR)Tj -1.377 0.04 Td -(\))Tj -0.333 -0.04 Td -(.)Tj --30.483 -2.4 Td -[(CR )-3821(The)-615(carriage )-365(r)18(eturn )-365(character)]TJ -0.8646 Tc 19.279 0 Td -(.W)Tj -0.6146 Tc 2.023 0 Td -(ec)Tj -0 Tc 1.538 0 Td -[(annot )-364(change )-364(this )-364(character)]TJ -0.8645 Tc 13.137 0 Td -(.T)Tj -0 Tc 1.727 0 Td -(his)Tj --32.255 -1.2 Td -[(character )-155(is )-155(r)18(ecognized )-155(on )-155(input )-155(in )-155(canonical )-155(mode.)-655(When )-155(both)]TJ -/TT0 1 Tf -29.952 0 Td -(ICANON)Tj -/T1_1 1 Tf --29.952 -1.2 Td -[(\(canonical )-143(mode\) )-143(and)]TJ -/TT0 1 Tf -10.236 0 Td -(ICRNL)Tj -/T1_1 1 Tf -3.393 0 Td -[(\(map )-143(CR )-143(to )-143(NL\) )-143(ar)]TJ -0.3926 Tc 8.788 0 Td -(es)Tj -0 Tc 1.296 0 Td -[(et )-143(and)]TJ -/TT0 1 Tf -3.283 0 Td -(IGNCR)Tj -/T1_1 1 Tf -3.393 0 Td -[(\(ignor)18(e)]TJ --30.388 -1.2 Td -[(CR\) )-60(is )-60(not )-60(set, )-60(the )-60(CR )-60(character )-60(is )-60(translated )-60(to )-60(NL )-60(and )-60(has )-60(the )-60(same )-60(ef)14(fect)]TJ -0 -1.2 TD -[(as )-359(a )-359(NL )-359(character)]TJ -0.8594 Tc 8.685 0 Td -(.T)Tj -0 Tc 1.722 0 Td -[(his )-359(character )-359(is )-359(r)17(eturned )-359(to )-359(the )-359(r)18(eading )-359(pr)17(ocess)]TJ --10.408 -1.2 Td -[(\(per)18(haps after being translated to a NL\).)]TJ --5.448 -1.84 Td -[(DISCARD )-633(The)-514(discar)]TJ -0.514 Tc 10.283 0 Td -(dc)Tj -0 Tc 1.569 0 Td -(haracter)Tj -0.764 Tc 3.547 0 Td -(.T)Tj -0 Tc 1.627 0 Td -[(his )-264(character)]TJ -0.514 Tc 5.802 0 Td -(,r)Tj -0 Tc 1.141 0 Td -[(ecognized )-264(on )-264(input )-264(in )-264(extended)]TJ --18.521 -1.2 Td -[(mode )-178(\()]TJ -/TT0 1 Tf -(IEXTEN)Tj -/T1_1 1 Tf -[(\), )-178(causes )-178(subsequent )-178(output )-178(to )-178(be )-178(discar)19(ded )-178(until )-178(another)]TJ -T* -[(DISCARD )-120(character )-120(is )-120(enter)18(ed )-120(or )-120(the )-120(discar)]TJ -0.3701 Tc 19.874 0 Td -(dc)Tj -0 Tc 1.425 0 Td -[(ondition )-120(is )-120(clear)18(ed )-120(\(see )-120(the)]TJ -/TT0 1 Tf --21.299 -1.2 Td -(FLUSHO)Tj -/T1_1 1 Tf -3.935 0 Td -[(option\). )-335(This)-336(character )-85(is )-85(discar)18(ded )-85(when )-85(pr)17(ocessed )-85(\(i.e., )-85(it )-85(is )-85(not)]TJ --3.935 -1.2 Td -[(passed to the pr)18(ocess\).)]TJ --5.448 -1.84 Td -[(DSUSP )-1992(The)-293(delayed-suspend )-43(job-contr)18(ol )-43(character)]TJ -0.5427 Tc 24.353 0 Td -(.T)Tj -0 Tc 1.406 0 Td -[(his )-43(character )-43(is )-43(r)18(ecognized )-43(on)]TJ --20.311 -1.2 Td -[(input )-194(in )-194(extended )-194(mode )-194(\()]TJ -/TT0 1 Tf -11.989 0 Td -(IEXTEN)Tj -/T1_1 1 Tf -[(\))-444(if)-444(j)-1(ob )-194(contr)18(ol )-194(is )-194(supported )-194(and )-194(if )-194(the)]TJ -/TT0 1 Tf --11.989 -1.2 Td -(ISIG)Tj -/T1_1 1 Tf -2.778 0 Td -[(\337ag )-127(is )-127(set.)-627(Like )-127(the )-127(SUSP )-127(character)]TJ -0.3775 Tc 16.12 0 Td -(,t)Tj -0 Tc 0.954 0 Td -[(his )-127(delayed-suspend )-127(character)]TJ --19.851 -1.2 Td -[(generates )-35(the)]TJ -/TT0 1 Tf -6.177 0 Td -(SIGTSTP)Tj -/T1_1 1 Tf -4.485 0 Td -[(signal )-35(that )-35(is )-35(sent )-35(to )-35(all )-35(pr)18(ocesses )-35(in )-35(the )-35(for)19(egr)18(ound)]TJ --10.662 -1.2 Td -[(pr)18(ocess )-510(gr)18(oup )-510(\(r)18(efer )-510(to )-510(Figur)]TJ -0.7605 Tc 14.671 0 Td -(e9)Tj -0 Tc 1.739 0 Td -[(.7\). )-760(However)]TJ -0.7605 Tc 6.399 0 Td -(,t)Tj -0 Tc 1.336 0 Td -[(he )-510(delayed-suspend)]TJ --24.146 -1.2 Td -[(character )-34(generates )-34(a )-34(signal )-34(only )-34(when )-34(a )-34(pr)18(ocess )-34(r)16(eads )-34(fr)18(om )-34(the )-34(contr)17(olling)]TJ -0 -1.2 Td -[(terminal, )-11(not )-11(when )-11(the )-11(character )-11(is )-11(typed.)-511(This )-11(character )-11(is )-11(discar)20(ded )-11(when)]TJ -T* -[(pr)18(ocessed \(i.e., it is not passed to the pr)18(ocess\).)]TJ --5.448 -1.84 Td -[(EOF )-3245(The)-266(end-of-\336le )-16(character)]TJ -0.5156 Tc 16.236 0 Td -(.T)Tj -0 Tc 1.379 0 Td -[(his )-16(character )-16(is )-16(r)18(ecognized )-16(on )-16(input )-16(in )-16(canonical)]TJ --12.167 -1.2 Td -[(mode )-68(\()]TJ -/TT0 1 Tf -(ICANON)Tj -/T1_1 1 Tf -[(\). )-318(When)-318(we )-68(type )-68(this )-68(character)]TJ -0.3178 Tc 20.724 0 Td -(,a)Tj -0 Tc 1.068 0 Td -[(ll )-68(bytes )-68(waiting )-68(to )-68(be )-68(r)19(ead)]TJ --21.792 -1.2 Td -(ar)Tj -0.257 Tc 0.877 0 Td -(ei)Tj -0 Tc 1.027 0 Td -[(mmediately )-7(passed )-7(to )-7(the )-7(r)18(eading )-7(pr)18(ocess. )-257(If)-257(no )-7(bytes )-7(ar)]TJ -0.257 Tc 25.114 0 Td -(ew)Tj -0 Tc 1.57 0 Td -[(aiting )-7(to )-7(be)]TJ --0.018 Tc -28.588 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad, )-79(a )-79(count )-79(of )-79(0 )-79(is )-79(r)16(eturned. )-329(Entering)-330(an )-79(EOF )-79(character )-79(at )-79(the )-79(beginning)]TJ --0.856 -1.2 Td -[(of )-69(the )-69(line )-69(is )-69(the )-69(normal )-69(way )-69(to )-69(indicate )-69(the )-69(end )-69(of )-69(\336le )-69(to )-69(a )-69(pr)17(ogram. )-319(This)]TJ -T* -[(character )-236(is )-236(discar)18(ded )-236(when )-236(pr)16(ocessed )-236(in )-236(canonical )-236(mode )-236(\(i.e., )-236(it )-236(is )-236(not)]TJ -T* -[(passed to the pr)18(ocess\).)]TJ --5.448 -1.84 Td -[(EOL )-3190(The)-794(additional )-544(line )-544(delimiter )-544(character)]TJ -0.7944 Tc 24.529 0 Td -(,l)Tj -0 Tc 1.335 0 Td -[(ike )-544(NL.)-1044(This )-544(character )-544(is)]TJ --0.018 Tc -20.416 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cognized )-186(on )-186(input )-186(in )-186(canonical )-186(mode )-186(\()]TJ -/TT0 1 Tf -18.062 0 Td -(ICANON)Tj -/T1_1 1 Tf -0.4363 Tc (\)a)Tj -0 Tc 4.869 0 Td -[(nd )-186(is )-186(r)18(eturned )-186(to )-186(the)]TJ --0.018 Tc -23.788 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading pr)18(ocess; however)]TJ -0.25 Tc 10.391 0 Td -(,t)Tj -0 Tc 0.826 0 Td -(his character is not normally used.)Tj --17.521 -1.84 Td -[(EOL2 )-2690(Another)-732(line )-482(delimiter )-482(character)]TJ -0.7319 Tc 21.012 0 Td -(,l)Tj -0 Tc 1.273 0 Td -[(ike )-482(NL.)-982(This )-482(character )-482(is )-482(tr)19(eated)]TJ --16.837 -1.2 Td -[(identically to the EOL character)74(.)]TJ --5.448 -1.84 Td -[(ERASE )-2005(The)-391(erase )-141(character )-141(\(backspace\).)-641(This )-141(character )-141(is )-141(r)18(ecognized )-141(on )-141(input )-141(in)]TJ -5.448 -1.2 Td -[(canonical )-45(mode )-45(\()]TJ -/TT0 1 Tf -7.623 0 Td -(ICANON)Tj -/T1_1 1 Tf -0.2953 Tc (\)a)Tj -0 Tc 4.728 0 Td -[(nd )-45(erases )-45(the )-45(pr)17(evious )-45(character )-45(in )-45(the )-45(line, )-45(not)]TJ --12.351 -1.2 Td -[(erasing )-82(beyond )-82(the )-82(beginning )-82(of )-82(the )-82(line.)-582(The )-82(erase )-82(character )-82(is )-82(discar)19(ded)]TJ -T* -[(when pr)18(ocessed in canonical mode \(i.e., it is not passed to the pr)18(ocess\).)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47400 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(13.2)]TJ -33.039 0 Td -[(Daemon )-250(Characteristics)]TJ -/T1_1 1 Tf -12.794 0 Td -(465)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(In )-299(the )-299(sample)]TJ -/TT0 1 Tf -7.131 0 Td -(ps)Tj -/T1_0 1 Tf -1.749 0 Td -[(output, )-299(kernel )-299(daemons )-299(appear )-299(with )-299(their )-299(names )-299(in )-299(squar)18(e)]TJ --10.68 -1.2 Td -[(brackets. )-270(This)-269(version )-20(of )-20(Linux )-20(uses )-20(a )-20(special )-20(kernel )-20(pr)19(ocess,)]TJ -/TT0 1 Tf -27.336 0 Td -(kthreadd)Tj -/T1_0 1 Tf -[(,)-270(to)-270(c)]TJ --0.018 Tc (re)Tj -0 Tc 7.762 0 Td -[(ate )-20(other)]TJ --35.097 -1.2 Td -[(kernel )-3(pr)18(ocesses, )-3(so)]TJ -/TT0 1 Tf -8.958 0 Td -(kthreadd)Tj -/T1_0 1 Tf -5.053 0 Td -[(appears )-3(as )-3(the )-3(par)19(ent )-3(of )-3(the )-3(other )-3(kernel )-3(daemons.)-501(Each)]TJ --14.011 -1.2 Td -[(kernel )-275(component )-275(that )-275(needs )-275(to )-275(perform )-275(work )-275(in )-275(a )-275(pr)14(ocess )-275(context, )-275(but )-275(that )-275(isn\325t)]TJ -0 -1.2 TD -[(invoked )-250(fr)18(om )-250(the )-250(context )-250(of )-250(a )-250(user)20(-level )-249(pr)18(ocess, )-249(will )-249(usually )-249(have )-249(its )-249(own )-249(kernel)]TJ -T* -[(daemon. )-250(For)-250(example, on Linux)]TJ -0.883 Tc 1.8 -1.56 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.5 0 Td -(kswapd)Tj -/T1_0 1 Tf -4.039 0 Td -[(daemon )-189(is )-189(also )-189(known )-189(as )-189(the )-189(pageout )-189(daemon.)-688(It )-189(supports )-189(the)]TJ --6.152 -1.2 Td -[(virtual )-110(memory )-110(subsystem )-110(by )-110(writing )-110(dirty )-110(pages )-110(to )-110(disk )-110(slowly )-110(over )-110(time, )-110(so)]TJ -T* -[(the pages can be r)18(eclaimed.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.365 0 Td -(flush)Tj -/T1_0 1 Tf -3.304 0 Td -[(daemon )-54(\337ushes )-54(dirty )-54(pages )-54(to )-54(disk )-54(when )-54(available )-54(memory )-54(r)14(eaches)]TJ -0.4465 Tc -5.283 -1.2 Td -(ac)Tj -0 Tc 1.391 0 Td -[(on\336gur)18(ed )-196(minimum )-196(thr)17(eshold. )-446(It)-447(also )-196(\337ushes )-196(dirty )-196(pages )-196(back )-196(to )-196(disk )-196(at)]TJ --0.018 Tc -1.391 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(gular )-104(intervals )-104(to )-104(decr)19(ease )-104(data )-104(loss )-104(in )-104(the )-104(event )-104(of )-104(a )-104(system )-104(failur)19(e. )-354(Several)]TJ --0.856 -1.2 Td -[(\337ush )-265(daemons )-265(can )-265(exist)]TJ -0.0833 Tc 11.431 0 Td -(\321o)Tj -0 Tc 1.629 0 Td -[(ne )-265(for )-265(each )-265(backing )-265(device.)-765(The )-265(sample )-265(output)]TJ --13.061 -1.2 Td -[(shows )-6(one )-6(\337ush )-6(daemon )-6(named)]TJ -/TT0 1 Tf -14.568 0 Td -(flush-8:0)Tj -/T1_0 1 Tf -0.5057 Tc (.I)Tj -0.2557 Tc 6.493 0 Td -(nt)Tj -0 Tc 1.164 0 Td -[(he )-6(name, )-6(the )-6(backing )-6(device )-6(is)]TJ --22.224 -1.2 Td -(identi\336ed by its major device number)Tj -16.847 0.04 Td -(\()Tj -0.333 -0.04 Td -(8)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(and its minor device number)Tj -13.045 0.04 Td -(\()Tj -0.333 -0.04 Td -(0)Tj -0.5 0.04 Td -(\))Tj -0.333 -0.04 Td -(.)Tj -0.883 Tc -33.963 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.311 0 Td -(sync_supers)Tj -/T1_0 1 Tf -6.85 0 Td -(daemon periodically \337ushes \336le system metadata to disk.)Tj -0.883 Tc -10.263 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.311 0 Td -(jbd)Tj -/T1_0 1 Tf -2.05 0 Td -(daemon helps implement the journal in the)Tj -/TT0 1 Tf -19.341 0 Td -(ext4)Tj -/T1_0 1 Tf -2.65 0 Td -(\336le system.)Tj --27.454 -1.56 Td -[(Pr)18(ocess )-71(1 )-71(is )-71(usually)]TJ -/TT0 1 Tf -9.066 0 Td -(init)Tj -/T1_0 1 Tf -2.721 0 Td -(\()Tj -/TT0 1 Tf -(launchd)Tj -/T1_0 1 Tf -4.854 0 Td -[(on )-71(Mac )-71(OS )-71(X\), )-71(as )-71(we )-71(described )-71(in )-71(Section )-71(8.2.)]TJ --18.441 -1.2 Td -[(It )-211(is )-211(a )-211(system )-211(daemon )-211(r)18(esponsible )-211(for)]TJ -0.4611 Tc 17.585 0 Td -(,a)Tj -0 Tc 1.211 0 Td -[(mong )-211(other )-211(things, )-211(starting )-211(system )-211(services)]TJ --18.796 -1.2 Td -[(speci\336c )-62(to )-62(various )-62(r)8(un )-62(levels.)-562(These )-62(services )-62(ar)]TJ -0.312 Tc 21.224 0 Td -(eu)Tj -0 Tc 1.394 0 Td -[(sually )-62(implemented )-62(with )-62(the )-62(help )-62(of)]TJ --22.618 -1.2 Td -(their own daemons.)Tj -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.1 0 Td -(rpcbind)Tj -/T1_0 1 Tf -4.626 0 Td -[(daemon )-176(pr)18(ovides )-176(the )-176(service )-176(of )-176(mapping )-176(RPC)]TJ -21.814 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Remote )-176(Pr)18(ocedur)18(e)]TJ --30.673 -1.2 Td -(Call)Tj -1.791 0.04 Td -(\))Tj -0.648 -0.04 Td -[(pr)18(ogram )-65(numbers )-65(to )-65(network )-65(port )-65(numbers.)-563(The)]TJ -/TT0 1 Tf -22.531 0 Td -(rsyslogd)Tj -/T1_0 1 Tf -5.115 0 Td -[(daemon )-65(is )-65(available)]TJ --30.084 -1.2 Td -[(to )-168(any )-168(pr)17(ogram )-168(to )-168(log )-168(system )-168(messages )-168(for )-168(an )-168(administrator)]TJ -0.6685 Tc 28.012 0 Td -(.T)Tj -0 Tc 1.531 0 Td -[(he )-168(messages )-168(may )-168(be)]TJ --29.544 -1.2 Td -[(printed )-54(on )-54(a )-54(console )-54(device )-54(and )-54(also )-54(written )-54(to )-54(a )-54(\336le.)-552(\(W)]TJ -0.3038 Tc 25.611 0 Td -(ed)Tj -0 Tc 1.394 0 Td -[(escribe )-54(the)]TJ -/TT0 1 Tf -5.06 0 Td -(syslog)Tj -/T1_0 1 Tf -3.904 0 Td -(facility)Tj --35.968 -1.2 Td -(in Section 13.4.\))Tj --0.092 Tc 1.8 -1.2 Td -[(We )-467(t)]TJ -0 Tc 2.246 0 Td -[(alked )-283(about )-283(the)]TJ -/TT0 1 Tf -7.951 0 Td -(inetd)Tj -/T1_0 1 Tf -3.533 0 Td -[(daemon )-283(in )-283(Section )-283(9.3.)-783(It )-283(listens )-283(on )-283(the )-283(system\325s)]TJ --15.53 -1.2 Td -[(network )-311(interfaces )-311(for )-311(incoming )-311(r)18(equests )-311(for )-311(various )-311(network )-311(servers.)-808(The)]TJ -/TT0 1 Tf -36.35 0 Td -(nfsd)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf --36.35 -1.2 Td -(nfsiod)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.483 0 Td -(lockd)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -3.883 0 Td -(rpciod)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.483 0 Td -(rpc.idmapd)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -6.883 0 Td -(rpc.statd)Tj -/T1_0 1 Tf -0.6332 Tc (,a)Tj -0 Tc 6.783 0 Td -(nd)Tj -/TT0 1 Tf -1.826 0 Td -(rpc.mountd)Tj -/T1_0 1 Tf -6.633 0 Td -(daemons)Tj --34.975 -1.2 Td -[(pr)18(ovide )-68(support )-68(for )-68(the )-68(Network )-68(File )-68(System)]TJ -20.629 0.04 Td -(\()Tj -0.333 -0.04 Td -(NFS)Tj -1.912 0.04 Td -(\))Tj -0.5679 Tc 0.333 -0.04 Td -(.N)Tj -0 Tc 1.649 0 Td -[(ote )-68(that )-68(the )-68(\336rst )-68(four )-68(ar)]TJ -0.3178 Tc 10.565 0 Td -(ek)Tj -0 Tc 1.353 0 Td -(ernel)Tj --36.774 -1.2 Td -[(daemons, while the last thr)18(ee ar)]TJ -0.25 Tc 14.05 0 Td -(eu)Tj -0 Tc 1.332 0 Td -[(ser)18(-level daemons.)]TJ --13.582 -1.2 Td -(The)Tj -/TT0 1 Tf -2.156 0 Td -(cron)Tj -/T1_0 1 Tf -2.882 0 Td -[(daemon )-232(executes )-232(commands )-232(at )-232(r)18(egularly )-232(scheduled )-232(dates )-232(and )-232(times.)]TJ --6.838 -1.2 Td -[(Numer)18(ous )-267(system )-267(administration )-267(tasks )-267(ar)]TJ -0.5172 Tc 19.562 0 Td -(eh)Tj -0 Tc 1.578 0 Td -[(andled )-267(by)]TJ -/TT0 1 Tf -5.217 0 Td -(cron)Tj -/T1_0 1 Tf --0.008 Tc 2.917 0 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning )-267(pr)18(ograms )-267(at)]TJ --0.018 Tc -30.265 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(gularly )-66(intervals.)-567(The)]TJ -/TT0 1 Tf -10.168 0 Td -(atd)Tj -/T1_0 1 Tf -2.116 0 Td -[(daemon )-66(is )-66(similar )-66(to)]TJ -/TT0 1 Tf -9.528 0 Td -(cron)Tj -/T1_0 1 Tf -[(;)-316(it)-316(a)-1(llows )-66(users )-66(to )-66(execute )-66(jobs)]TJ --22.669 -1.2 Td -[(at )-76(speci\336ed )-76(times, )-76(but )-76(it )-76(executes )-76(each )-76(job )-76(once )-76(only)]TJ -0.3264 Tc 23.453 0 Td -(,i)Tj -0 Tc 0.867 0 Td -[(nstead )-76(of )-76(r)18(epeatedly )-76(at )-76(r)16(egularly)]TJ --24.32 -1.2 Td -[(scheduled )-28(times.)-527(The)]TJ -/TT0 1 Tf -9.934 0 Td -(cupsd)Tj -/T1_0 1 Tf -3.278 0 Td -[(daemon )-28(is )-28(a )-28(print )-28(spooler; )-28(it )-28(handles )-28(print )-28(r)20(equests )-28(on )-28(the)]TJ --13.212 -1.2 Td -[(system. )-250(The)]TJ -/TT0 1 Tf -5.766 0 Td -(sshd)Tj -/T1_0 1 Tf -2.65 0 Td -[(daemon pr)18(ovides secur)]TJ -0.25 Tc 10.322 0 Td -(er)Tj -0 Tc 1.106 0 Td -(emote login and execution facilities.)Tj --18.044 -1.2 Td -[(Note )-117(that )-117(most )-117(of )-117(the )-117(daemons )-117(r)8(un )-117(with )-117(super)4(user )-117(\(r)18(oot\) )-117(privileges.)-617(None )-117(of )-117(the)]TJ --1.8 -1.2 Td -[(daemons )-102(has )-102(a )-102(contr)18(olling )-102(terminal: )-102(the )-102(terminal )-102(name )-102(is )-102(set )-102(to )-102(a )-102(question )-102(mark.)-601(The)]TJ -T* -[(kernel )-168(daemons )-168(ar)]TJ -0.4178 Tc 8.52 0 Td -(es)Tj -0 Tc 1.321 0 Td -[(tarted )-168(without )-168(a )-168(contr)19(olling )-168(terminal.)-668(The )-168(lack )-168(of )-168(a )-168(contr)20(olling)]TJ --9.84 -1.2 Td -[(terminal )-64(in )-64(the )-64(user)18(-level )-64(daemons )-64(is )-64(pr)18(obably )-64(the )-64(r)16(esult )-64(of )-64(the )-64(daemons )-64(having )-64(called)]TJ -/TT0 1 Tf -T* -(setsid)Tj -/T1_0 1 Tf -0.5201 Tc (.M)Tj -0 Tc 5.316 0 Td -[(ost )-20(of )-20(the )-20(user)18(-level )-20(daemons )-20(ar)]TJ -0.2701 Tc 14.136 0 Td -(ep)Tj --0.018 Tc 1.35 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-20(gr)18(oup )-20(leaders )-20(and )-20(session )-20(leaders,)]TJ --21.725 -1.2 Td -[(and )-144(ar)]TJ -0.3936 Tc 2.964 0 Td -(et)Tj -0 Tc 1.199 0 Td -[(he )-144(only )-144(pr)18(ocesses )-144(in )-144(their )-144(pr)18(ocess )-144(gr)20(oup )-144(and )-144(session.)-644(\(The )-144(one )-144(exception )-144(is)]TJ -/TT0 1 Tf --4.162 -1.2 Td -(rsyslogd)Tj -/T1_0 1 Tf -[(.\) )-276(Finally)]TJ -0.2757 Tc 8.865 0 Td -(,n)Tj -0 Tc 1.108 0 Td -[(ote )-26(that )-26(the )-26(par)18(ent )-26(of )-26(the )-26(user)18(-level )-26(daemons )-26(is )-26(the)]TJ -/TT0 1 Tf -22.807 0 Td -(init)Tj -/T1_0 1 Tf -2.676 0 Td -[(pr)18(ocess.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47401 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.2)]TJ -36.477 0 Td -[(Signal )-250(Concepts)]TJ -/T1_1 1 Tf -9.356 0 Td -(321)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(SIGTERM)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-90(is )-90(the )-90(termination )-90(signal )-90(sent )-90(by )-90(the)]TJ -/TT0 1 Tf -18.882 0 Td -(kill)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.673 -0.04 Td -[(command )-90(by )-90(default.)]TJ --22.787 -1.2 Td -[(Because )-18(it )-18(can )-18(be )-18(caught )-18(by )-18(applications, )-18(using)]TJ -/TT0 1 Tf -21.084 0 Td -(SIGTERM)Tj -/T1_0 1 Tf -4.468 0 Td -[(gives )-18(pr)18(ograms)]TJ -0.6254 Tc -25.553 -1.2 Td -(ac)Tj -0 Tc 1.569 0 Td -[(hance )-375(to )-375(terminate )-375(gracefully )-375(by )-375(cleaning )-375(up )-375(befor)]TJ -0.6254 Tc 24.872 0 Td -(ee)Tj -0 Tc 1.583 0 Td -[(xiting )-375(\(in)]TJ --28.025 -1.2 Td -(contrast to)Tj -/TT0 1 Tf -4.915 0 Td -(SIGKILL)Tj -/T1_0 1 Tf -0.25 Tc (,w)Tj -0 Tc 5.534 0 Td -[(hich can\325t be caught or ignor)18(ed\).)]TJ -/TT0 1 Tf --17.031 -1.84 Td -(SIGTHAW)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-39(signal )-39(is )-39(de\336ned )-39(only )-39(by )-39(Solaris )-39(and )-39(is )-39(used )-39(to )-39(notify )-39(pr)12(ocesses )-39(that)]TJ -0 -1.2 TD -[(need )-239(to )-239(take )-239(special )-239(action )-239(when )-239(the )-239(system )-239(r)18(esumes )-239(operation )-239(after)]TJ -T* -(being suspended.)Tj -/TT0 1 Tf --6.582 -1.84 Td -(SIGTHR)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-100(is )-100(a )-100(signal )-100(r)18(eserved )-100(for )-100(use )-100(by )-100(the )-100(thr)17(ead )-100(library )-100(on )-100(Fr)18(eeBSD. )-350(It)-350(is)]TJ -0 -1.2 Td -(de\336ned to have the same value as)Tj -/TT0 1 Tf -15.15 0 Td -(SIGLWP)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf --21.732 -1.84 Td -(SIGTRAP)Tj -/T1_0 1 Tf -6.582 0 Td -[(This signal indicates an implementation-de\336ned har)18(dwar)]TJ -0.25 Tc 25.375 0 Td -(ef)Tj -0 Tc 1.062 0 Td -(ault.)Tj -7.9995 0 0 7.9995 237.5852 521.7687 Tm -[(The )-131(signal )-131(name )-131(comes )-131(fr)18(om )-131(the )-131(PDP)]TJ -17.333 0.09 Td -(-)Tj --0.055 Tc 0.333 -0.09 Td -[(11 )-241(T)]TJ -0 Tc 1.939 0 Td -[(RAP )-131(instr)8(uction. )-381(Implementations)]TJ --19.605 -1.25 Td -[(often )-283(use )-283(this )-283(signal )-283(to )-283(transfer )-283(contr)15(ol )-283(to )-283(a )-283(debugger )-283(when )-283(a )-283(br)16(eakpoint)]TJ -0 -1.25 TD -[(instr)8(uction is executed.)]TJ -/TT0 1 Tf -9.9994 0 0 9.9994 129.5921 480.7712 Tm -(SIGTSTP)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-59(interactive )-59(stop )-59(signal )-59(is )-59(generated )-59(by )-59(the )-59(terminal )-59(driver )-59(when )-59(we)]TJ -0 -1.2 TD -[(pr)18(ess )-105(the )-105(terminal )-105(suspend )-105(key )-105(\(often )-105(Contr)19(ol)]TJ -20.859 0.09 Td -(-)Tj -0.333 -0.09 Td -[(Z\). )-355(This)-355(signal )-105(is )-105(sent )-105(to)]TJ --21.192 -1.2 Td -[(all pr)18(ocesses in the for)18(egr)18(ound pr)18(ocess gr)18(oup \(r)18(efer to Figur)]TJ -0.25 Tc 26.429 0 Td -(e9)Tj -0 Tc 1.229 0 Td -(.9\).)Tj -7.9995 0 0 7.9995 237.5854 436.7738 Tm -(Unfortunately)Tj -0.5506 Tc 6.186 0 Td -(,t)Tj -0 Tc 1.127 0 Td -[(he )-301(term)]TJ -/T1_2 1 Tf -4.245 0 Td -(stop)Tj -/T1_0 1 Tf -2.217 0 Td -[(has )-301(dif)18(fer)18(ent )-301(meanings.)-800(When )-301(discussing )-301(job)]TJ --13.774 -1.25 Td -[(contr)18(ol )-69(and )-69(signals, )-69(we )-69(talk )-69(about )-69(stopping )-69(and )-69(continuing )-69(jobs.)-569(The )-69(terminal)]TJ -0 -1.25 TD -(driver)Tj -0.4299 Tc 2.662 0 Td -(,h)Tj -0 Tc 1.262 0 Td -(owever)Tj -0.4299 Tc 3.224 0 Td -(,h)Tj -0 Tc 1.262 0 Td -[(as )-180(historically )-180(used )-180(the )-180(term)]TJ -/T1_2 1 Tf -13.597 0 Td -(stop)Tj -/T1_0 1 Tf -2.096 0 Td -[(to )-180(r)18(efer )-180(to )-180(stopping )-180(and)]TJ --24.103 -1.25 Td -[(starting )-273(the )-273(terminal )-273(output )-273(using )-273(the )-273(Contr)20(ol)]TJ -21.896 0.09 Td -(-)Tj -0.5228 Tc 0.333 -0.09 Td -(Sa)Tj -0 Tc 1.548 0 Td -[(nd )-273(Contr)18(ol)]TJ -5.093 0.09 Td -(-)Tj -0.5228 Tc 0.333 -0.09 Td -(Qc)Tj -0 Tc 1.753 0 Td -(haracters.)Tj --30.955 -1.25 Td -[(Ther)18(efor)18(e, )-94(the )-94(terminal )-94(driver )-94(calls )-94(the )-94(character )-94(that )-94(generates )-94(the )-94(interactive)]TJ -T* -(stop signal the suspend character)Tj -0.25 Tc 14.643 0 Td -(,n)Tj -0 Tc 1.082 0 Td -[(ot the stop character)74(.)]TJ -/TT0 1 Tf -9.9994 0 0 9.9994 129.5921 365.7781 Tm -(SIGTTIN)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-260(signal )-260(is )-260(generated )-260(by )-260(the )-260(terminal )-260(driver )-260(when )-260(a )-260(pr)18(ocess )-260(in )-260(a)]TJ -0 -1.2 TD -[(backgr)18(ound )-233(pr)18(ocess )-233(gr)18(oup )-233(tries )-233(to )-233(r)18(ead )-233(fr)18(om )-233(its )-233(contr)16(olling )-233(terminal.)]TJ -0 -1.2 Td -[(\(Refer )-104(to )-104(the )-104(discussion )-104(of )-104(this )-104(topic )-104(in )-104(Section )-104(9.8.\))-600(As )-103(special )-103(cases, )-103(if)]TJ -T* -[(either )-22(\(a\) )-22(the )-22(r)18(eading )-22(pr)19(ocess )-22(is )-22(ignoring )-22(or )-22(blocking )-22(this )-22(signal )-22(or )-22(\(b\) )-22(the)]TJ -T* -[(pr)18(ocess )-88(gr)18(oup )-88(of )-88(the )-88(r)18(eading )-88(pr)19(ocess )-88(is )-88(orphaned, )-88(then )-88(the )-88(signal )-88(is )-88(not)]TJ -0 -1.2 Td -[(generated; instead, the r)18(ead operation fails with)]TJ -/TT0 1 Tf -21.362 0 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(EIO)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf --33.795 -1.84 Td -(SIGTTOU)Tj -/T1_0 1 Tf -6.582 0 Td -[(This )-260(signal )-260(is )-260(generated )-260(by )-260(the )-260(terminal )-260(driver )-260(when )-260(a )-260(pr)20(ocess )-260(in )-260(a)]TJ -T* -[(backgr)18(ound )-26(pr)18(ocess )-26(gr)18(oup )-26(tries )-26(to )-26(write )-26(to )-26(its )-26(contr)18(olling )-26(terminal.)-531(\(This)]TJ --0 -1.2 Td -[(is )-162(discussed )-162(in )-162(Section )-162(9.8.\))-662(Unlike )-162(the )-162(case )-162(with )-162(backgr)20(ound )-162(r)18(eads, )-162(a)]TJ -T* -[(pr)18(ocess )-425(can )-425(choose )-425(to )-425(allow )-425(backgr)18(ound )-425(writes )-425(to )-425(the )-425(contr)19(olling)]TJ -0 -1.2 Td -[(terminal. )-250(W)]TJ -0.25 Tc 5.405 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(escribe how to modify this option in Chapter 18.)Tj --6.745 -1.8 Td -[(If )-249(backgr)18(ound )-249(writes )-249(ar)]TJ -0.4992 Tc 11.122 0 Td -(en)Tj -0 Tc 1.56 0 Td -[(ot )-249(allowed, )-249(then )-249(like )-249(the)]TJ -/TT0 1 Tf -12.143 0 Td -(SIGTTIN)Tj -/T1_0 1 Tf -4.699 0 Td -(signal,)Tj --29.524 -1.2 Td -(ther)Tj -0.293 Tc 1.764 0 Td -(ea)Tj --0.018 Tc 1.272 0 Td -[(re )-79(t)]TJ -0 Tc 1.475 0 Td -[(wo )-43(special )-43(cases: )-43(if )-43(either )-43(\(a\) )-43(the )-43(writing )-43(pr)18(ocess )-43(is )-43(ignoring )-43(or)]TJ --4.511 -1.2 Td -[(blocking )-188(this )-188(signal )-188(or )-188(\(b\) )-188(the )-188(pr)18(ocess )-188(gr)18(oup )-188(of )-188(the )-188(writing )-188(pr)18(ocess )-188(is)]TJ -T* -[(orphaned, )-110(then )-110(the )-110(signal )-110(is )-110(not )-110(generated; )-110(instead, )-110(the )-110(write )-110(operation)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(turns an err)18(or with)]TJ -/TT0 1 Tf -8.637 0 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(EIO)Tj -/T1_0 1 Tf -(.)Tj --15.344 -1.8 Td -[(Regar)18(dless )-132(of )-132(whether )-132(backgr)18(ound )-132(writes )-132(ar)]TJ -0.3818 Tc 20.227 0 Td -(ea)Tj -0 Tc 1.361 0 Td -[(llowed, )-132(certain )-132(terminal)]TJ --21.588 -1.2 Td -[(operations )-184(\(other )-184(than )-184(writing\) )-184(can )-184(also )-184(generate )-184(the)]TJ -/TT0 1 Tf -24.89 0 Td -(SIGTTOU)Tj -/T1_0 1 Tf -4.634 0 Td -(signal.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47402 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(9.10)]TJ -31.685 0 Td -[(Orphaned )-250(Pr)18(ocess )-250(Gr)18(oups)]TJ -/T1_1 1 Tf -14.148 0 Td -(309)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -0.883 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245W)Tj -0 Tc 2.489 0 Td -[(hen )-48(the )-48(par)18(ent )-48(terminates, )-48(the )-48(child )-48(is )-48(orphaned, )-48(so )-48(the )-48(child\325s )-48(par)18(ent )-48(pr)18(ocess)]TJ --1 -1.2 Td -(ID becomes 1, which is the)Tj -/TT0 1 Tf -12.004 0 Td -(init)Tj -/T1_0 1 Tf -2.65 0 Td -[(pr)18(ocess ID.)]TJ -0.883 Tc -16.143 -1.72 Td -(\245A)Tj -0.4869 Tc 2.267 0 Td -(tt)Tj -0 Tc 1.139 0 Td -[(his )-237(point, )-237(the )-237(child )-237(is )-237(now )-237(a )-237(member )-237(of )-237(an)]TJ -/T1_2 1 Tf -21.178 0 Td -[(orphaned )-237(pr)18(ocess )-237(gr)18(oup)]TJ -/T1_0 1 Tf -0.7368 Tc (.T)Tj -0 Tc 11.555 0 Td -(he)Tj --34.65 -1.2 Td -[(POSIX.1 )-91(de\336nition )-91(of )-91(an )-91(orphaned )-91(pr)18(ocess )-91(gr)17(oup )-91(is )-91(one )-91(in )-91(which )-91(the )-91(par)18(ent )-91(of)]TJ -0 -1.2 TD -[(every )-93(member )-93(is )-93(either )-93(itself )-93(a )-93(member )-93(of )-93(the )-93(gr)18(oup )-93(or )-93(is )-93(not )-93(a )-93(member )-93(of )-93(the)]TJ -T* -[(gr)18(oup\325s )-187(session.)-687(Another )-187(way )-187(of )-187(saying )-187(this )-187(is )-187(that )-187(the )-187(pr)16(ocess )-187(gr)18(oup )-187(is )-187(not)]TJ -0 -1.2 Td -[(orphaned )-118(as )-118(long )-118(as )-118(a )-118(pr)17(ocess )-118(in )-118(the )-118(gr)18(oup )-118(has )-118(a )-118(par)18(ent )-118(in )-118(a )-118(dif)17(fer)18(ent )-118(pr)18(ocess)]TJ -0 -1.2 Td -[(gr)18(oup )-91(but )-91(in )-91(the )-91(same )-91(session.)-593(If )-91(the )-91(pr)18(ocess )-91(gr)18(oup )-91(is )-91(not )-91(orphaned, )-91(ther)15(e)-341(is)-341(a)]TJ -0 -1.2 Td -[(chance )-153(that )-153(one )-153(of )-153(those )-153(par)18(ents )-153(in )-153(a )-153(dif)18(fer)18(ent )-153(pr)18(ocess )-153(gr)18(oup )-153(but )-153(in )-153(the )-153(same)]TJ --0 -1.2 Td -[(session )-53(will )-53(r)18(estart )-53(a )-53(stopped )-53(pr)18(ocess )-53(in )-53(the )-53(pr)20(ocess )-53(gr)18(oup )-53(that )-53(is )-53(not )-53(orphaned.)]TJ -T* -[(Her)18(e, )-129(the )-129(par)18(ent )-129(of )-129(every )-129(pr)18(ocess )-129(in )-129(the )-129(gr)18(oup )-129(\(e.g., )-129(pr)13(ocess )-129(1 )-129(is )-129(the )-129(par)18(ent )-129(of)]TJ -0 -1.2 Td -[(pr)18(ocess 6100\) belongs to another session.)]TJ -0.883 Tc -1.489 -1.72 Td -(\245S)Tj -0 Tc 2.014 0 Td -[(ince )-320(the )-320(pr)18(ocess )-320(gr)18(oup )-320(is )-320(orphaned )-320(when )-320(the )-320(par)18(ent )-320(terminates, )-320(and )-320(the)]TJ --0.525 -1.2 Td -[(pr)18(ocess )-2(gr)18(oup )-2(contains )-2(a )-2(stopped )-2(pr)18(ocess, )-2(POSIX.1 )-2(r)19(equir)18(es )-2(that )-2(every )-2(pr)18(ocess )-2(in)]TJ -0 -1.2 Td -[(the )-391(newly )-391(orphaned )-391(pr)18(ocess )-391(gr)18(oup )-391(be )-391(sent )-391(the )-391(hang-up )-391(signal )-391(\()]TJ -/TT0 1 Tf -31.778 0 Td -(SIGHUP)Tj -/T1_0 1 Tf -(\))Tj --31.778 -1.2 Td -(followed by the continue signal \()Tj -/TT0 1 Tf -(SIGCONT)Tj -/T1_0 1 Tf -(\).)Tj -0.883 Tc -1.489 -1.72 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(his )-82(causes )-82(the )-82(child )-82(to )-82(be )-82(continued, )-82(after )-82(pr)18(ocessing )-82(the )-82(hang-up )-82(signal.)-582(The)]TJ --0.613 -1.2 Td -[(default )-90(action )-90(for )-90(the )-90(hang-up )-90(signal )-90(is )-90(to )-90(terminate )-90(the )-90(pr)18(ocess, )-90(so )-90(we )-90(have )-90(to)]TJ -T* -[(pr)18(ovide )-49(a )-49(signal )-49(handler )-49(to )-49(catch )-49(the )-49(signal.)]TJ --0.092 Tc 20.146 0 Td -[(We )-233(t)]TJ -0 Tc 2.012 0 Td -[(her)18(efor)]TJ -0.2991 Tc 3.173 0 Td -(ee)Tj -0 Tc 1.257 0 Td -[(xpect )-49(the)]TJ -/TT0 1 Tf -4.351 0 Td -(printf)Tj -/T1_0 1 Tf -3.899 0 Td -(in)Tj --34.838 -1.2 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(sig_hup)Tj -/T1_0 1 Tf -4.45 0 Td -(function to appear befor)Tj -0.25 Tc 10.693 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he)Tj -/TT0 1 Tf -1.311 0 Td -(printf)Tj -/T1_0 1 Tf -3.85 0 Td -(in the)Tj -/TT0 1 Tf -2.76 0 Td -(pr_ids)Tj -/T1_0 1 Tf -3.85 0 Td -(function.)Tj --32.895 -2.4 Td -[(Her)18(e)-250(is)-250(the output fr)18(om the pr)18(ogram shown in Figur)]TJ -0.25 Tc 23.132 0 Td -(e9)Tj -0 Tc 1.229 0 Td -(.13:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.592 381.4669 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(parent: pid = 6099, ppid = 2837, pgrp = 6099, tpgrp = 6099)Tj -0 -1.189 TD -(child: pid = 6100, ppid = 6099, pgrp = 6099, tpgrp = 6099)Tj -0.6 Tc T* -($S)Tj -0 Tc 1.8 0 Td -(IGHUP received, pid = 6100)Tj --1.8 -1.189 Td -(child: pid = 6100, ppid = 1, pgrp = 6099, tpgrp = 2837)Tj -T* -(read error 5 on controlling TTY)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5931 306.7612 Tm -[(Note )-388(that )-388(our )-388(shell )-388(pr)18(ompt )-388(appears )-388(with )-388(the )-388(output )-388(fr)19(om )-388(the )-388(child, )-388(since )-388(two)]TJ -0 -1.2 TD -[(pr)18(ocesses )167(\321 )167(our)-379(login )-129(shell )-129(and )-129(the )-129(child)]TJ -0.0833 Tc 18.518 0 Td -(\321a)Tj --0.018 Tc 1.583 0 Td -[(re )-165(w)]TJ -0 Tc 2.069 0 Td -[(riting )-129(to )-129(the )-129(terminal.)-629(As )-129(we )-129(expect,)]TJ --22.17 -1.2 Td -[(the par)18(ent pr)18(ocess ID of the child has become 1.)]TJ -1.8 -1.2 Td -[(After )-126(calling)]TJ -/TT0 1 Tf -6.017 0 Td -(pr_ids)Tj -/T1_0 1 Tf -3.976 0 Td -[(in )-126(the )-126(child, )-126(the )-126(pr)18(ogram )-126(tries )-126(to )-126(r)18(ead )-126(fr)21(om )-126(standar)]TJ -0.3757 Tc 23.567 0 Td -(di)Tj -0 Tc 1.278 0 Td -(nput.)Tj --36.638 -1.2 Td -[(As )-10(we )-10(saw )-10(earlier )-10(in )-10(this )-10(chapter)]TJ -0.26 Tc 14.412 0 Td -(,w)Tj -0 Tc 1.344 0 Td -[(hen )-10(a )-10(pr)18(ocess )-10(in )-10(a )-10(backgr)18(ound )-10(pr)18(ocess )-10(gr)18(oup )-10(tries )-10(to)]TJ --0.018 Tc -15.756 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad )-152(fr)18(om )-152(its )-152(contr)18(olling )-152(terminal,)]TJ -/TT0 1 Tf -15.128 0 Td -(SIGTTIN)Tj -/T1_0 1 Tf -4.602 0 Td -[(is )-152(generated )-152(for )-152(the )-152(backgr)18(ound )-152(pr)20(ocess)]TJ --20.586 -1.2 Td -[(gr)18(oup. )-308(But)-309(her)18(e)-308(we)-308(h)-1(ave )-58(an )-58(orphaned )-58(pr)18(ocess )-58(gr)18(oup; )-58(if )-58(the )-58(kernel )-58(wer)15(e)-308(to)-308(s)-1(top )-58(it )-58(with)]TJ --0 -1.2 Td -[(this )-213(signal, )-213(the )-213(pr)19(ocesses )-213(in )-213(the )-213(pr)18(ocess )-213(gr)18(oup )-213(would )-213(pr)18(obably )-213(never )-213(be )-213(continued.)]TJ -T* -[(POSIX.1 )-171(speci\336es )-171(that )-171(the)]TJ -/TT0 1 Tf -12.219 0 Td -(read)Tj -/T1_0 1 Tf -2.821 0 Td -[(is )-170(to )-170(r)18(eturn )-170(an )-170(err)18(or )-170(with)]TJ -/TT0 1 Tf -12.179 0 Td -(errno)Tj -/T1_0 1 Tf -3.421 0 Td -[(set )-170(to)]TJ -/TT0 1 Tf -2.942 0 Td -(EIO)Tj -/T1_0 1 Tf -2.221 0 Td -(\(whose)Tj --35.802 -1.2 Td -(value is 5 on this system\) in this situation.)Tj -1.8 -1.2 Td -(Finally)Tj -0.4105 Tc 2.956 0 Td -(,n)Tj -0 Tc 1.242 0 Td -[(ote )-160(that )-160(our )-160(child )-160(was )-160(placed )-160(in )-160(a )-160(backgr)14(ound )-161(pr)18(ocess )-161(gr)18(oup )-161(when )-161(the)]TJ --5.998 -1.2 Td -[(par)18(ent terminated, since the par)18(ent was executed as a for)18(egr)18(ound job by the shell.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1748.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9988 0 0 9.9988 147.5823 150.7619 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-42(see )-42(another )-42(example )-42(of )-42(orphaned )-42(pr)18(ocess )-42(gr)17(oups )-42(in )-42(Section )-42(19.5 )-42(with )-42(the)]TJ -/TT0 1 Tf -34.013 0 Td -(pty)Tj -/T1_0 1 Tf --37.2 -1.2 Td -[(pr)18(ogram.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47403 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(306)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Relationships)]TJ -39.241 0 Td -[(Chapter )-250(9)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Since )-91(the )-91(last )-91(pr)18(ocess )-91(in )-91(the )-91(pipeline )-91(is )-91(the )-91(child )-91(of )-91(the )-91(login )-91(shell, )-91(the )-91(shell )-91(is )-91(noti\336ed)]TJ -0 -1.2 TD -[(when that pr)18(ocess \()]TJ -/TT0 1 Tf -(cat2)Tj -/T1_1 1 Tf -0.25 Tc (\)t)Tj -0 Tc 11.898 0 Td -(erminates.)Tj --10.098 -1.2 Td -[(Now )-104(let\325s )-104(examine )-104(the )-104(same )-104(examples )-104(using )-104(a )-104(job-contr)17(ol )-104(shell )-104(r)8(unning )-104(on )-104(Linux.)]TJ --1.8 -1.2 Td -[(This )-123(shows )-123(the )-123(way )-123(these )-123(shells )-123(handle )-123(backgr)19(ound )-123(jobs.)]TJ --0.092 Tc 26.764 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-123(use )-123(the )-123(Bourne-again)]TJ --28.151 -1.2 Td -[(shell in this example; the r)18(esults with other job-contr)18(ol shells ar)]TJ -0.25 Tc 27.88 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(lmost identical.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5905 605.3336 Tm -(ps -o pid,ppid,pgid,sid,tpgid,comm)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5916 588.4045 Tm -(gives us)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 158.3899 572.7757 Tm -[(PID )-600(PPID )-600(PGID)-1800(SID TPGID COMMAND)]TJ --0.6 -1.189 Td -[(2837 )-600(2818 )-600(2837 )-600(2837 )-600(5796)-600(bash)]TJ -/TT1 1 Tf -0 -1.189 TD -(5796)Tj -/TT0 1 Tf -3.6 0 Td -(2837)Tj -/TT1 1 Tf -3.6 0 Td -(5796)Tj -/TT0 1 Tf -3.6 0 Td -[(2837 )-600(5796)-600(ps)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5916 534.4479 Tm -[(\(Starting )-289(with )-289(this )-289(example, )-289(we )-289(show )-289(the )-289(for)21(egr)18(ound )-289(pr)18(ocess )-289(gr)18(oup )-289(in )-289(a)]TJ -/TT1 1 Tf -35.4 0 Td -(bolder)Tj --35.4 -1.2 Td -(font)Tj -/T1_1 1 Tf -[(.\) )-694(W)]TJ -0.6936 Tc 4.835 0 Td -(ei)Tj -0 Tc 1.464 0 Td -[(mmediately )-444(see )-444(a )-444(dif)19(fer)18(ence )-443(fr)18(om )-443(our )-443(Bourne )-443(shell )-443(example.)-946(The)]TJ --6.298 -1.2 Td -[(Bourne-again )-165(shell )-165(places )-165(the )-165(for)19(egr)18(ound )-165(job )-165(\()]TJ -/TT0 1 Tf -(ps)Tj -/T1_1 1 Tf -0.4148 Tc (\)i)Tj -0 Tc 23.575 0 Td -[(nto )-165(its )-165(own )-165(pr)18(ocess )-165(gr)18(oup)]TJ -12.509 0.04 Td -(\()Tj -0.333 -0.04 Td -(5796)Tj -2 0.04 Td -(\))Tj -0.333 -0.04 Td -(.)Tj --38.75 -1.2 Td -(The)Tj -/TT0 1 Tf -1.925 0 Td -(ps)Tj -/T1_1 1 Tf -1.451 0 Td -[(command )-1(is )-1(the )-1(pr)18(ocess )-1(gr)18(oup )-1(leader )-1(and )-1(the )-1(only )-1(pr)18(ocess )-1(in )-1(this )-1(pr)18(ocess )-1(gr)15(oup.)]TJ --3.376 -1.2 Td -[(Furthermor)18(e, )-288(this )-288(pr)18(ocess )-288(gr)18(oup )-288(is )-288(the )-288(for)17(egr)18(ound )-288(pr)18(ocess )-288(gr)18(oup, )-288(since )-288(it )-288(has )-288(the)]TJ -0 -1.2 TD -[(contr)18(olling )-268(terminal.)-768(Our )-268(login )-268(shell )-268(is )-268(a )-268(backgr)16(ound )-268(pr)18(ocess )-268(gr)18(oup )-268(while )-268(the)]TJ -/TT0 1 Tf -37.8 0 Td -(ps)Tj -/T1_1 1 Tf --37.8 -1.2 Td -[(command )-306(executes.)-806(Note, )-306(however)]TJ -0.5564 Tc 16.606 0 Td -(,t)Tj -0 Tc 1.132 0 Td -[(hat )-306(both )-306(pr)17(ocess )-306(gr)18(oups, )-306(2837 )-306(and )-306(5796, )-306(ar)16(e)]TJ --17.739 -1.2 Td -[(members )-46(of )-46(the )-46(same )-46(session.)-546(Indeed, )-46(we\325ll )-46(see )-46(that )-46(the )-46(session )-46(never )-46(changes )-46(thr)18(ough)]TJ -T* -(our examples in this section.)Tj -1.8 -1.2 Td -[(Executing this pr)18(ocess in the backgr)18(ound,)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5899 410.8252 Tm -(ps -o pid,ppid,pgid,sid,tpgid,comm &)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.591 393.8962 Tm -(gives us)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 158.3893 378.267 Tm -[(PID )-600(PPID )-600(PGID)-1800(SID TPGID COMMAND)]TJ -/TT1 1 Tf --0.6 -1.189 Td -(2837)Tj -/TT0 1 Tf -3.6 0 Td -(2818)Tj -/TT1 1 Tf -3.6 0 Td -(2837)Tj -/TT0 1 Tf -3.6 0 Td -[(2837 )-600(2837)-600(bash)]TJ --10.8 -1.189 Td -[(5797 )-600(2837 )-600(5797 )-600(2837 )-600(2837)-600(ps)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.591 339.9396 Tm -[(Again, )-58(the)]TJ -/TT0 1 Tf -4.96 0 Td -(ps)Tj -/T1_1 1 Tf -1.508 0 Td -[(command )-58(is )-58(placed )-58(into )-58(its )-58(own )-58(pr)18(ocess )-58(gr)18(oup, )-58(but )-58(this )-58(time )-58(the )-58(pr)14(ocess)]TJ --6.469 -1.2 Td -[(gr)18(oup)]TJ -3.097 0.04 Td -(\()Tj -0.333 -0.04 Td -(5797)Tj -2 0.04 Td -(\))Tj -0.747 -0.04 Td -[(is )-164(no )-164(longer )-164(the )-164(for)20(egr)18(ound )-163(pr)18(ocess )-163(gr)17(oup )167(\321 )167(it)-414(is )-163(a )-163(backgr)18(ound )-163(pr)16(ocess)]TJ --6.176 -1.2 Td -[(gr)18(oup. )-430(The)-430(TPGID )-180(of )-180(2837 )-180(indicates )-180(that )-180(the )-180(for)17(egr)18(ound )-180(pr)18(ocess )-180(gr)18(oup )-180(is )-180(our )-180(login)]TJ --0 -1.2 Td -(shell.)Tj -1.8 -1.2 Td -[(Executing two pr)18(ocesses in a pipeline, as in)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5893 276.3133 Tm -(ps -o pid,ppid,pgid,sid,tpgid,comm | cat1)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5904 259.3842 Tm -(gives us)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 158.3887 243.7551 Tm -[(PID )-600(PPID )-600(PGID)-1800(SID TPGID COMMAND)]TJ --0.6 -1.189 Td -[(2837 )-600(2818 )-600(2837 )-600(2837 )-600(5799)-600(bash)]TJ -/TT1 1 Tf -0 -1.189 TD -(5799)Tj -/TT0 1 Tf -3.6 0 Td -(2837)Tj -/TT1 1 Tf -3.6 0 Td -(5799)Tj -/TT0 1 Tf -3.6 0 Td -[(2837 )-600(5799)-600(ps)]TJ -/TT1 1 Tf --10.8 -1.189 Td -(5800)Tj -/TT0 1 Tf -3.6 0 Td -(2837)Tj -/TT1 1 Tf -3.6 0 Td -(5799)Tj -/TT0 1 Tf -3.6 0 Td -[(2837 )-600(5799)-600(cat1)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5904 194.7279 Tm -[(Both )-13(pr)18(ocesses,)]TJ -/TT0 1 Tf -7.039 0 Td -(ps)Tj -/T1_1 1 Tf -1.463 0 Td -(and)Tj -/TT0 1 Tf -1.956 0 Td -(cat1)Tj -/T1_1 1 Tf -0.2631 Tc (,a)Tj --0.018 Tc 3.413 0 Td -[(re )-49(p)]TJ -0 Tc 1.72 0 Td -[(laced )-13(into )-13(a )-13(new )-13(pr)18(ocess )-13(gr)18(oup)]TJ -14.022 0.04 Td -(\()Tj -0.333 -0.04 Td -(5799)Tj -2 0.04 Td -(\))Tj -0.2631 Tc 0.333 -0.04 Td -(,a)Tj -0 Tc 1.013 0 Td -[(nd )-13(this )-13(is )-13(the)]TJ --33.293 -1.2 Td -[(for)18(egr)18(ound )-164(pr)18(ocess )-164(gr)18(oup. )-414(W)]TJ -0.4138 Tc 13.637 0 Td -(ec)Tj -0 Tc 1.337 0 Td -[(an )-164(also )-164(see )-164(another )-164(dif)19(fer)18(ence )-164(between )-164(this )-164(example)]TJ --14.974 -1.2 Td -[(and )-83(the )-83(similar )-83(Bourne )-83(shell )-83(example.)-581(The )-83(Bourne )-83(shell )-83(cr)18(eated )-83(the )-83(last )-83(pr)18(ocess )-83(in )-83(the)]TJ -0 -1.2 TD -[(pipeline )-262(\336rst, )-262(and )-262(this )-262(\336nal )-262(pr)18(ocess )-262(was )-262(the )-262(par)18(ent )-262(of )-262(the )-262(\336rst )-262(pr)16(ocess. )-512(Her)18(e, )-262(the)]TJ -T* -[(Bourne-again )-150(shell )-150(is )-150(the )-150(par)18(ent )-150(of )-150(both )-150(pr)19(ocesses. )-400(If)-400(we )-150(execute )-150(this )-150(pipeline )-150(in )-150(the)]TJ -0 -1.2 Td -[(backgr)18(ound,)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47404 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(304)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Relationships)]TJ -39.241 0 Td -[(Chapter )-250(9)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(This )-36(shell )-36(doesn\325t )-36(know )-36(about )-36(job )-36(contr)18(ol, )-36(so )-36(the )-36(backgr)18(ound )-36(job )-36(is )-36(not )-36(put )-36(into )-36(its )-36(own)]TJ -0 -1.2 TD -[(pr)18(ocess gr)18(oup and the contr)18(olling terminal isn\325t taken away fr)18(om the backgr)18(ound job.)]TJ -1.8 -1.2 Td -[(Now let\325s look at how the Bourne shell handles a pipeline.)-500(When we execute)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 629.3321 Tm -(ps -o pid,ppid,pgid,sid,comm | cat1)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 612.4031 Tm -(the output is)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 158.3905 596.7743 Tm -[(PID )-600(PPID )-600(PGID)-1800(SID COMMAND)]TJ -0 -1.189 TD -[(949 )-1200(947 )-1200(949 )-1200(949)-600(sh)]TJ --0.6 -1.189 Td -[(1823 )-1200(949 )-1200(949 )-1200(949)-600(cat1)]TJ -T* -[(1824 )-600(1823)-1800(949 )-1200(949)-600(ps)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 547.7471 Tm -[(\(The )-61(pr)18(ogram)]TJ -/TT0 1 Tf -6.487 0 Td -(cat1)Tj -/T1_1 1 Tf -2.711 0 Td -[(is )-61(just )-61(a )-61(copy )-61(of )-61(the )-61(standar)20(d)]TJ -/TT0 1 Tf -13.321 0 Td -(cat)Tj -/T1_1 1 Tf -2.111 0 Td -[(pr)18(ogram, )-61(with )-61(a )-61(dif)19(fer)18(ent )-61(name.)]TJ --0.092 Tc -24.629 -1.2 Td -[(We )-215(h)]TJ -0 Tc 2.25 0 Td -[(ave )-31(another )-31(copy )-31(of)]TJ -/TT0 1 Tf -9.104 0 Td -(cat)Tj -/T1_1 1 Tf -2.081 0 Td -[(with )-31(the )-31(name)]TJ -/TT0 1 Tf -6.707 0 Td -(cat2)Tj -/T1_1 1 Tf -0.281 Tc (,w)Tj -0 Tc 3.765 0 Td -[(hich )-31(we\325ll )-31(use )-31(later )-31(in )-31(this )-31(section.)]TJ --23.907 -1.2 Td -[(When )-80(we )-80(have )-80(two )-80(copies )-80(of)]TJ -/TT0 1 Tf -13.432 0 Td -(cat)Tj -/T1_1 1 Tf -2.13 0 Td -[(in )-80(a )-80(pipeline, )-80(the )-80(dif)18(fer)18(ent )-80(names )-80(let )-80(us )-80(dif)18(fer)18(entiate)]TJ --15.562 -1.2 Td -[(between )-29(the )-29(two )-29(pr)19(ograms.\) )-279(Note)-278(that )-29(the )-29(last )-29(pr)18(ocess )-29(in )-29(the )-29(pipeline )-29(is )-29(the )-29(child )-29(of )-29(the)]TJ -0 -1.2 TD -[(shell )-103(and )-103(that )-103(the )-103(\336rst )-103(pr)18(ocess )-103(in )-103(the )-103(pipeline )-103(is )-103(a )-103(child )-103(of )-103(the )-103(last )-103(pr)19(ocess. )-353(It)-353(appears)]TJ --0 -1.2 Td -[(that )-70(the )-70(shell)]TJ -/TT0 1 Tf -6.149 0 Td -(fork)Tj -/T1_1 1 Tf -0.3204 Tc (sac)Tj -0 Tc 4.409 0 Td -[(opy )-70(of )-70(itself )-70(and )-70(that )-70(this )-70(copy )-70(then)]TJ -/TT0 1 Tf -16.455 0 Td -(fork)Tj -/T1_1 1 Tf -[(s)-320(to)-320(m)-1(ake )-70(each )-70(of )-70(the)]TJ --27.013 -1.2 Td -[(pr)18(evious pr)18(ocesses in the pipeline.)]TJ -1.8 -1.2 Td -[(If we execute the pipeline in the backgr)18(ound,)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5898 448.123 Tm -(ps -o pid,ppid,pgid,sid,comm | cat1 &)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5909 431.1939 Tm -[(only )-190(the )-190(pr)18(ocess )-190(IDs )-190(change.)-691(Since )-190(the )-190(shell )-190(doesn\325t )-190(handle )-190(job )-190(contr)18(ol, )-190(the )-190(pr)17(ocess)]TJ -T* -[(gr)18(oup )-43(ID )-43(of )-43(the )-43(backgr)18(ound )-43(pr)16(ocesses )-43(r)18(emains )-43(949, )-43(as )-43(does )-43(the )-43(pr)18(ocess )-43(gr)18(oup )-43(ID )-43(of )-43(the)]TJ -0 -1.2 Td -(session.)Tj -1.8 -1.2 Td -[(What )-48(happens )-48(in )-48(this )-48(case )-48(if )-48(a )-48(backgr)20(ound )-48(pr)18(ocess )-48(tries )-48(to )-48(r)18(ead )-48(fr)18(om )-48(its )-48(contr)21(olling)]TJ --1.8 -1.2 Td -[(terminal? )-250(For)-250(example, suppose that we execute)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5899 367.5676 Tm -(cat > temp.foo &)Tj -/T1_1 1 Tf --0.055 Tc 9.9994 0 0 9.9994 129.591 350.639 Tm -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-225(job )-225(contr)19(ol, )-225(this )-225(is )-225(handled )-225(by )-225(placing )-225(the )-225(backgr)18(ound )-225(job )-225(into )-225(a )-225(backgr)20(ound)]TJ --1.236 -1.2 Td -[(pr)18(ocess )-54(gr)18(oup, )-54(which )-54(causes )-54(the )-54(signal)]TJ -/TT0 1 Tf -17.69 0 Td -(SIGTTIN)Tj -/T1_1 1 Tf -4.504 0 Td -[(to )-54(be )-54(generated )-54(if )-54(the )-54(backgr)18(ound )-54(job)]TJ --22.194 -1.2 Td -[(tries )-45(to )-45(r)18(ead )-45(fr)18(om )-45(the )-45(contr)18(olling )-45(terminal.)-545(The )-45(way )-45(this )-45(is )-45(handled )-45(without )-45(job )-45(contr)18(ol)]TJ -T* -[(is )-107(that )-107(the )-107(shell )-107(automatically )-107(r)20(edir)18(ects )-107(the )-107(standar)]TJ -0.3567 Tc 22.972 0 Td -(di)Tj -0 Tc 1.259 0 Td -[(nput )-107(of )-107(a )-107(backgr)18(ound )-107(pr)19(ocess )-107(to)]TJ -/TT0 1 Tf --24.231 -1.2 Td -(/dev/null)Tj -/T1_1 1 Tf -[(,)-686(if)-686(t)-1(he )-436(pr)18(ocess )-436(doesn\325t )-436(r)17(edir)18(ect )-436(standar)]TJ -0.6866 Tc 25.025 0 Td -(di)Tj -0 Tc 1.589 0 Td -[(nput )-437(itself.)]TJ -0.6866 Tc 6.129 0 Td -(Ar)Tj -0 Tc 1.842 0 Td -[(ead )-437(fr)18(om)]TJ -/TT0 1 Tf --34.585 -1.2 Td -(/dev/null)Tj -/T1_1 1 Tf -5.849 0 Td -[(generates )-199(an )-199(end )-199(of )-199(\336le.)-699(This )-199(means )-199(that )-199(our )-199(backgr)14(ound)]TJ -/TT0 1 Tf -27.606 0 Td -(cat)Tj -/T1_1 1 Tf -2.249 0 Td -[(pr)18(ocess)]TJ --35.705 -1.2 Td -[(immediately r)18(eads an end of \336le and terminates normally)111(.)]TJ -1.8 -1.2 Td -[(The )-290(pr)18(evious )-290(paragraph )-290(adequately )-290(handles )-290(the )-290(case )-290(of )-290(a )-290(backgr)18(ound )-290(pr)18(ocess)]TJ --1.8 -1.2 Td -[(accessing )-173(the )-173(contr)18(olling )-173(terminal )-173(thr)18(ough )-173(its )-173(standar)]TJ -0.423 Tc 24.581 0 Td -(di)Tj -0 Tc 1.325 0 Td -[(nput, )-173(but )-173(what )-173(happens )-173(if )-173(a)]TJ --25.906 -1.2 Td -[(backgr)18(ound )-370(pr)18(ocess )-370(speci\336cally )-370(opens)]TJ -/TT0 1 Tf -18.66 0 Td -(/dev/tty)Tj -/T1_1 1 Tf -5.42 0 Td -[(and )-370(r)18(eads )-370(fr)18(om )-370(the )-370(contr)19(olling)]TJ --24.079 -1.2 Td -[(terminal? )-261(The)-260(answer )-11(is )-11(\324)37(\324It )-11(depends,\325)]TJ -0.2606 Tc 16.807 0 Td -(\325b)Tj -0 Tc 1.092 0 Td -[(ut )-11(the )-11(r)18(esult )-11(is )-11(pr)18(obably )-11(not )-11(what )-11(we )-11(want.)-507(For)]TJ --17.899 -1.2 Td -(example,)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.589 203.0177 Tm -(crypt < salaries | lpr &)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5901 186.0886 Tm -[(is )-310(such )-310(a )-310(pipeline.)]TJ --0.092 Tc 9.624 0 Td -[(We )-494(r)]TJ -0 Tc 2.334 0 Td -[(un )-310(it )-310(in )-310(the )-310(backgr)18(ound, )-310(but )-310(the)]TJ -/TT0 1 Tf -16.431 0 Td -(crypt)Tj -/T1_1 1 Tf -3.56 0 Td -[(pr)18(ogram )-310(opens)]TJ -/TT0 1 Tf --31.95 -1.2 Td -(/dev/tty)Tj -/T1_1 1 Tf -0.465 Tc (,c)Tj -0 Tc 5.959 0 Td -[(hanges )-215(the )-215(terminal )-215(characteristics )-215(\(to )-215(disable )-215(echoing\), )-215(r)18(eads )-215(fr)18(om )-215(the)]TJ --5.959 -1.2 Td -[(device, )-305(and )-305(r)18(esets )-305(the )-305(terminal )-305(characteristics.)-805(When )-305(we )-305(execute )-305(this )-305(backgr)21(ound)]TJ -T* -[(pipeline, )-83(the )-83(pr)18(ompt)]TJ -/TT0 1 Tf -9.584 0 Td -(Password:)Tj -/T1_1 1 Tf -5.733 0 Td -[(fr)18(om)]TJ -/TT0 1 Tf -2.472 0 Td -(crypt)Tj -/T1_1 1 Tf -3.333 0 Td -[(is )-83(printed )-83(on )-83(the )-83(terminal, )-83(but )-83(what )-83(we)]TJ --21.122 -1.2 Td -[(enter )-55(\(the )-55(encryption )-55(passwor)18(d\) )-55(is )-55(r)18(ead )-55(by )-55(the )-55(shell, )-55(which )-55(tries )-55(to )-55(execute )-55(a )-55(command)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47405 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(292)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Relationships)]TJ -39.241 0 Td -[(Chapter )-250(9)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(The)Tj -/TT0 1 Tf -2.136 0 Td -(telnetd)Tj -/T1_1 1 Tf -4.662 0 Td -[(pr)18(ocess )-212(then )-212(opens )-212(a )-212(pseudo )-212(terminal )-212(device )-212(and )-212(splits )-212(into )-212(two)]TJ --8.599 -1.2 Td -[(pr)18(ocesses )-281(using)]TJ -/TT0 1 Tf -7.716 0 Td -(fork)Tj -/T1_1 1 Tf -0.781 Tc (.T)Tj -0 Tc 4.044 0 Td -[(he )-281(par)18(ent )-281(handles )-281(the )-281(communication )-281(acr)18(oss )-281(the )-281(network)]TJ --11.76 -1.2 Td -[(connection, )-167(and )-167(the )-167(child )-167(does )-167(an)]TJ -/TT0 1 Tf -16.018 0 Td -(exec)Tj -/T1_1 1 Tf -2.817 0 Td -[(of )-167(the)]TJ -/TT0 1 Tf -3.101 0 Td -(login)Tj -/T1_1 1 Tf -3.417 0 Td -[(pr)18(ogram. )-417(The)-418(par)18(ent )-167(and )-167(the)]TJ --25.353 -1.2 Td -[(child )-39(ar)]TJ -0.2888 Tc 3.385 0 Td -(ec)Tj -0 Tc 1.212 0 Td -[(onnected )-39(thr)18(ough )-39(the )-39(pseudo )-39(terminal.)-538(Befor)]TJ -0.2889 Tc 20.309 0 Td -(ed)Tj -0 Tc 1.379 0 Td -[(oing )-39(the)]TJ -/TT0 1 Tf -3.94 0 Td -(exec)Tj -/T1_1 1 Tf -0.2889 Tc (,t)Tj -0 Tc 3.265 0 Td -[(he )-39(child )-39(sets)]TJ --33.489 -1.2 Td -[(up )-173(\336le )-173(descriptors )-173(0, )-173(1, )-173(and )-173(2 )-173(to )-173(the )-173(pseudo )-173(terminal.)-673(If )-173(we )-173(log )-173(in )-173(corr)11(ectly)111(,)]TJ -/TT0 1 Tf -36 0 Td -(login)Tj -/T1_1 1 Tf --36 -1.2 Td -[(performs )-88(the )-88(same )-88(steps )-88(we )-88(described )-88(in )-88(Section )-88(9.2: )-88(it )-88(changes )-88(to )-88(our )-88(home )-88(dir)14(ectory)]TJ -0 -1.2 TD -[(and )-175(sets )-175(our )-175(gr)17(oup )-175(IDs, )-175(user )-175(ID, )-175(and )-175(our )-175(initial )-175(envir)17(onment. )-425(Then)]TJ -/TT0 1 Tf -31.98 0 Td -(login)Tj -/T1_1 1 Tf --0.018 Tc 3.425 0 Td -(re)Tj -0 Tc 0.856 0 Td -(places)Tj --36.261 -1.2 Td -[(itself )-159(with )-159(our )-159(login )-159(shell )-159(by )-159(calling)]TJ -/TT0 1 Tf -16.983 0 Td -(exec)Tj -/T1_1 1 Tf -0.6593 Tc (.F)Tj -0 Tc 3.865 0 Td -(igur)Tj -0.4093 Tc 1.827 0 Td -(e9)Tj -0 Tc 1.388 0 Td -[(.5 )-159(shows )-159(the )-159(arrangement )-159(of )-159(the)]TJ --24.064 -1.2 Td -[(pr)18(ocesses at this point.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2719.32 5222 612 216 re -S -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 292.8968 531.1763 Tm -(init)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2719.32 4718 612 216 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 284.1488 480.7535 Tm -(login shell)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2719.32 4214 612 216 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 273.4224 435.3355 Tm -(pseudo terminal)Tj -0.703 -1.25 Td -(device driver)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3295.3201 3818 cm -0 0 m -0 -59.64 -120.89 -108 -270 -108 c --419.11 -108 -540 -59.64 -540 0 c --540 59.64 -419.11 108 -270 108 c --120.89 108 0 59.64 0 0 c -h -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 287.5377 384.9245 Tm -(user at a)Tj --0.01 -1.25 Td -(terminal)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3025.25 5215.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3025.25 5179.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3025.25 5145.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3025.25 5109.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3025.25 5075.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3025.25 5040.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3025.25 5005.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3025.25 4970.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 302.532 493.4 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3025.3201 4934 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3025.25 5006.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 302.532 471.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3025.3201 4718 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 302.532 443 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3025.3201 4430 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3025.25 4646.25 cm -0 0 m -0 -144 l -S -Q -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 308.3654 455.394 Tm -(fd 0, 1, 2)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3025.25 4178.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3025.25 4142.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3025.25 4106.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3025.25 4070.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3025.25 4034.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3025.25 3998.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3025.25 3962.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 302.532 392.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 3025.3201 3926 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3025.25 3998.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 302.532 421.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 3025.3201 4214 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3025.25 4142.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/T1_2 1 Tf -7.9942 0 0 7.9942 282.3286 546.6463 Tm -[(pr)18(ocess ID 1)]TJ -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3443.6399 5176.6401 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3443.25 5176.25 cm -0 0 m -0 -76 l -23 -98 l -1 -121 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3443.25 5055.25 cm -0 0 m -0 -76 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3399 4934 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/T1_1 1 Tf -7.9938 0 0 7.9938 348.3961 510.6415 Tm -[(thr)18(ough)]TJ -/TT0 1 Tf -3.822 0 Td -(inetd)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.5 0 Td -(telnetd)Tj -/T1_1 1 Tf -(,)Tj --7.322 -1.25 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(login)Tj -ET -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3443.6399 4169.3599 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3443.25 4169.25 cm -0 0 m -0 -76 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3443.25 4092.25 cm -0 0 m -23 -22 l -1 -45 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3443.25 4047.25 cm -0 0 m -0 -76 l -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3399 3926 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/T1_1 1 Tf -7.9933 0 0 7.9933 348.3752 409.8955 Tm -[(network connection thr)18(ough)]TJ -/TT0 1 Tf -0 -1.25 TD -(telnetd)Tj -/T1_1 1 Tf -4.45 0 Td -(server and)Tj -/TT0 1 Tf -4.93 0 Td -(telnet)Tj -/T1_1 1 Tf -3.85 0 Td -(client)Tj -/T1_0 1 Tf --33.875 -6.805 Td -(Figure 9.5)Tj -/T1_1 1 Tf -5.195 0 Td -[(Arrangement of pr)18(ocesses after everything is set for a network login)]TJ -9.9916 0 0 9.9916 147.4761 317.933 Tm -(Obviously)Tj -0.4304 Tc 4.504 0 Td -(,a)Tj -0 Tc [(lot )-180(is )-180(going )-180(on )-180(between )-180(the )-180(pseudo )-180(terminal )-180(device )-180(driver )-180(and )-180(the)]TJ --6.304 -1.2 Td -[(actual )-279(user )-279(at )-279(the )-279(terminal.)]TJ --0.092 Tc 13.671 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-279(show )-279(all )-279(the )-279(pr)18(ocesses )-279(involved )-279(in )-279(this )-279(type )-279(of)]TJ --15.057 -1.2 Td -(arrangement in Chapter 19 when we talk about pseudo terminals in mor)Tj -0.25 Tc 31.997 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(etail.)Tj --31.537 -1.2 Td -[(The )-152(important )-152(thing )-152(to )-152(understand )-152(is )-152(that )-152(whether )-152(we )-152(log )-152(in )-152(thr)18(ough )-152(a )-152(terminal)]TJ --1.8 -1.2 Td -(\(Figur)Tj -0.407 Tc 2.716 0 Td -(e9)Tj -0 Tc 1.386 0 Td -[(.3\) )-157(or )-157(a )-157(network )-157(\(Figur)]TJ -0.407 Tc 10.586 0 Td -(e9)Tj -0 Tc 1.386 0 Td -[(.5\), )-157(we )-157(have )-157(a )-157(login )-157(shell )-157(with )-157(its )-157(standar)]TJ -0.407 Tc 19.255 0 Td -(di)Tj -0 Tc 1.309 0 Td -(nput,)Tj --36.638 -1.2 Td -(standar)Tj -0.3277 Tc 3.32 0 Td -(do)Tj -0 Tc 1.485 0 Td -[(utput, )-78(and )-78(standar)]TJ -0.3277 Tc 8.377 0 Td -(de)Tj -0 Tc 1.418 0 Td -[(rr)18(or )-78(connected )-78(to )-78(either )-78(a )-78(terminal )-78(device )-78(or )-78(a )-78(pseudo)]TJ --14.6 -1.2 Td -[(terminal )-127(device.)]TJ --0.092 Tc 7.87 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-127(see )-127(in )-127(the )-127(coming )-127(sections )-127(that )-127(this )-127(login )-127(shell )-127(is )-127(the )-127(start )-127(of )-127(a)]TJ --9.257 -1.2 Td -[(POSIX.1 )-15(session, )-15(and )-15(that )-15(the )-15(terminal )-15(or )-15(pseudo )-15(terminal )-15(is )-15(the )-15(contr)19(olling )-15(terminal )-15(for)]TJ -0 -1.2 TD -(the session.)Tj -/TT1 1 Tf --3.6 -3.12 Td -[(Mac OS X Netw)20(ork Logins)]TJ -/T1_1 1 Tf -3.6 -2.4 Td -[(Logging )-137(in )-137(to )-137(a )-137(Mac )-137(OS )-137(X )-137(system )-137(over )-137(a )-137(network )-137(is )-137(identical )-137(to )-137(logging )-137(in )-137(to )-137(a )-137(BSD)]TJ -T* -[(system, )-77(because )-77(Mac )-77(OS )-77(X )-77(is )-77(based )-77(partially )-77(on )-77(Fr)16(eeBSD. )-327(However)74(,)-327(on)-327(Mac )-77(OS )-77(X, )-77(the)]TJ -/TT0 1 Tf --0 -1.2 Td -(telnet)Tj -/T1_1 1 Tf -3.85 0 Td -[(daemon is r)8(un fr)18(om)]TJ -/TT0 1 Tf -9.027 0 Td -(launchd)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47406 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(9.2)]TJ --0.092 Tc 36.381 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(Logins)]TJ -/T1_1 1 Tf -8.452 0 Td -(287)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(It )-197(is)]TJ -/TT0 1 Tf -2.271 0 Td -(getty)Tj -/T1_0 1 Tf -3.447 0 Td -[(that )-197(calls)]TJ -/TT0 1 Tf -4.577 0 Td -(open)Tj -/T1_0 1 Tf -2.847 0 Td -[(for )-197(the )-197(terminal )-197(device.)-695(The )-197(terminal )-197(is )-197(opened )-197(for)]TJ --0.018 Tc -14.942 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading )-100(and )-100(writing.)-599(If )-100(the )-100(device )-100(is )-100(a )-100(modem, )-100(the)]TJ -/TT0 1 Tf -22.685 0 Td -(open)Tj -/T1_0 1 Tf -2.75 0 Td -[(may )-100(delay )-100(inside )-100(the )-100(device)]TJ --26.291 -1.2 Td -[(driver )-43(until )-43(the )-43(modem )-43(is )-43(dialed )-43(and )-43(the )-43(call )-43(is )-43(answer)22(ed. )-293(Once)-292(the )-43(device )-43(is )-43(open, )-43(\336le)]TJ -0 -1.2 Td -[(descriptors )-263(0, )-263(1, )-263(and )-263(2 )-263(ar)]TJ -0.5134 Tc 12.073 0 Td -(es)Tj -0 Tc 1.416 0 Td -[(et )-263(to )-263(the )-263(device.)-764(Then)]TJ -/TT0 1 Tf -11.256 0 Td -(getty)Tj -/T1_0 1 Tf -3.513 0 Td -[(outputs )-263(something )-263(like)]TJ -/TT0 1 Tf --28.259 -1.2 Td -(login:)Tj -/T1_0 1 Tf -4.03 0 Td -[(and )-180(waits )-180(for )-180(us )-180(to )-180(enter )-180(our )-180(user )-180(name.)-680(If )-180(the )-180(terminal )-180(supports )-180(multiple)]TJ --4.03 -1.2 Td -(speeds,)Tj -/TT0 1 Tf -3.64 0 Td -(getty)Tj -/T1_0 1 Tf -3.372 0 Td -[(can )-122(detect )-122(special )-122(characters )-122(that )-122(tell )-122(it )-122(to )-122(change )-122(the )-122(terminal\325s )-122(speed)]TJ --7.013 -1.2 Td -[(\(baud )-128(rate\).)-628(Consult )-128(your )-128(UNIX )-128(system )-128(manuals )-128(for )-128(additional )-128(details )-128(on )-128(the)]TJ -/TT0 1 Tf -36 0 Td -(getty)Tj -/T1_0 1 Tf --36 -1.2 Td -[(pr)18(ogram and the data \336les \()]TJ -/TT0 1 Tf -(gettytab)Tj -/T1_0 1 Tf -0.25 Tc (\)t)Tj -0 Tc 17.966 0 Td -(hat can drive its actions.)Tj --16.166 -1.2 Td -[(When )-156(we )-156(enter )-156(our )-156(user )-156(name,)]TJ -/TT0 1 Tf -14.793 0 Td -(getty)Tj -/T1_0 1 Tf -[(\325s )-156(job )-156(is )-156(complete, )-156(and )-156(it )-156(then )-156(invokes )-156(the)]TJ -/TT0 1 Tf --16.593 -1.2 Td -(login)Tj -/T1_0 1 Tf -3.25 0 Td -[(pr)18(ogram, similar to)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5907 543.1975 Tm -(execle\("/bin/login", "login", "-p", username, \(char *\)0, envp\);)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5918 524.1288 Tm -(\(Ther)Tj -0.3643 Tc 2.384 0 Td -(ec)Tj -0 Tc 1.287 0 Td -[(an )-114(be )-114(options )-114(in )-114(the)]TJ -/TT0 1 Tf -9.511 0 Td -(gettytab)Tj -/T1_0 1 Tf -5.164 0 Td -[(\336le )-114(to )-114(have )-114(it )-114(invoke )-114(other )-114(pr)16(ograms, )-114(but )-114(the)]TJ --18.347 -1.2 Td -[(default )-234(is )-234(the)]TJ -/TT0 1 Tf -6.696 0 Td -(login)Tj -/T1_0 1 Tf -3.484 0 Td -[(pr)18(ogram.\))]TJ -/TT0 1 Tf -5.175 0 Td -(init)Tj -/T1_0 1 Tf -2.884 0 Td -(invokes)Tj -/TT0 1 Tf -3.926 0 Td -(getty)Tj -/T1_0 1 Tf -3.484 0 Td -[(with )-233(an )-233(empty )-233(envir)17(onment;)]TJ -/TT0 1 Tf --25.648 -1.2 Td -(getty)Tj -/T1_0 1 Tf -3.387 0 Td -[(cr)18(eates )-137(an )-137(envir)18(onment )-137(for)]TJ -/TT0 1 Tf -12.626 0 Td -(login)Tj -/T1_0 1 Tf -3.387 0 Td -(\(the)Tj -/TT0 1 Tf -2.107 0 Td -(envp)Tj -/T1_0 1 Tf -2.787 0 Td -[(ar)18(gument\) )-137(with )-137(the )-137(name )-137(of )-137(the)]TJ --24.295 -1.2 Td -[(terminal )-86(\(something )-86(like)]TJ -/TT0 1 Tf -11.376 0 Td -(TERM=foo)Tj -/T1_0 1 Tf -0.3365 Tc (,w)Tj -0 Tc 6.221 0 Td -(her)Tj -0.3365 Tc 1.438 0 Td -(et)Tj -0 Tc 1.141 0 Td -[(he )-86(type )-86(of )-86(terminal)]TJ -/TT0 1 Tf -8.995 0 Td -(foo)Tj -/T1_0 1 Tf -2.136 0 Td -[(is )-86(taken )-86(fr)18(om )-86(the)]TJ -/TT0 1 Tf --31.307 -1.2 Td -(gettytab)Tj -/T1_0 1 Tf -5.151 0 Td -[(\336le\) )-101(and )-101(any )-101(envir)18(onment )-101(strings )-101(that )-101(ar)]TJ -0.3511 Tc 18.447 0 Td -(es)Tj -0 Tc 1.254 0 Td -[(peci\336ed )-101(in )-101(the)]TJ -/TT0 1 Tf -6.823 0 Td -(gettytab)Tj -/T1_0 1 Tf -0.6011 Tc (.T)Tj -0 Tc 6.264 0 Td -(he)Tj -/TT0 1 Tf --37.939 -1.2 Td -(-p)Tj -/T1_0 1 Tf -1.483 0 Td -[(\337ag )-33(to)]TJ -/TT0 1 Tf -3.101 0 Td -(login)Tj -/T1_0 1 Tf -3.283 0 Td -[(tells )-33(it )-33(to )-33(pr)18(eserve )-33(the )-33(envir)20(onment )-33(that )-33(it )-33(is )-33(passed )-33(and )-33(to )-33(add )-33(to )-33(that)]TJ --7.867 -1.2 Td -[(envir)18(onment, )-165(not )-165(r)18(eplace )-165(it.)-667(Figur)]TJ -0.4155 Tc 15.729 0 Td -(e9)Tj -0 Tc 1.394 0 Td -[(.2 )-165(shows )-165(the )-165(state )-165(of )-165(these )-165(pr)15(ocesses )-166(right )-166(after)]TJ -/TT0 1 Tf --17.123 -1.2 Td -(login)Tj -/T1_0 1 Tf -3.25 0 Td -(has been invoked.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2935.32 3953.6 432 216 re -S -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 305.4953 404.3515 Tm -(init)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2935.32 3521.6 432 216 re -S -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 305.477 361.135 Tm -(init)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2935.32 3089.6 432 216 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 303.0593 317.9237 Tm -(getty)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2935.32 2657.6 432 216 re -S -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 303.0411 274.7176 Tm -(login)Tj -ET -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 315.132 373.76 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 3151.3201 3737.6001 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3151.25 3953.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3151.25 3899.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3151.25 3845.25 cm -0 0 m -0 -36 l -S -Q -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 317.0178 382.6622 Tm -(fork)Tj -ET -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 315.132 330.56 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3151.3201 3305.6001 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3151.25 3521.25 cm -0 0 m -0 -144 l -S -Q -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 316.9988 339.4574 Tm -(exec)Tj -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 315.132 287.36 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3151.3201 2873.6001 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3151.25 3089.25 cm -0 0 m -0 -144 l -S -Q -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 316.9798 296.2578 Tm -(exec)Tj -/T1_2 1 Tf --2.75 15.475 Td -[(pr)18(ocess ID 1)]TJ -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 277.332 380.96 cm -0 0 m -4.968 5.472 l -6.984 2.448 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 2773.3201 3809.6001 cm -0 0 m -49.68 54.72 l -69.84 24.48 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2989.25 3953.25 cm -0 0 m --30 -20 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2926.25 3912.25 cm -0 0 m --31 -21 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2863.25 3869.25 cm -0 0 m --30 -20 l -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 352.932 380.96 cm -0 0 m --6.984 2.52 l --4.968 5.544 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 3529.3201 3809.6001 cm -0 0 m --69.84 25.2 l --49.68 55.44 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3313.25 3953.25 cm -0 0 m -30 -20 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3376.25 3912.25 cm -0 0 m -31 -21 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3439.25 3869.25 cm -0 0 m -30 -20 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3479.6399 4124.96 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3479.25 4125.25 cm -0 0 m -0 -41 l -23 -64 l -1 -86 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3479.25 4039.25 cm -0 0 m -0 -40 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3435 3953.6001 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/T1_0 1 Tf --0.018 Tc 7.9952 0 0 7.9952 352.0567 414.1514 Tm -(re)Tj -0 Tc 0.856 0 Td -(ads)Tj -/TT0 1 Tf -1.785 0 Td -(/etc/ttys)Tj -/T1_0 1 Tf -(;)Tj -/TT0 1 Tf --2.641 -1.25 Td -(fork)Tj -/T1_0 1 Tf -0.25 Tc (so)Tj -0 Tc 3.62 0 Td -(nce per terminal;)Tj --3.62 -1.25 Td -[(cr)18(eates empty envir)18(onment)]TJ -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3479.6399 3260.24 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3479.25 3260.25 cm -0 0 m -0 -40 l -23 -63 l -1 -85 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3479.25 3175.25 cm -0 0 m -0 -40 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3435 3089.6001 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/T1_0 1 Tf -7.9947 0 0 7.9947 352.0356 332.7803 Tm -(opens terminal device)Tj -0 -1.25 TD -(\(\336le descriptors 0, 1, 2\);)Tj --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -(ads user name;)Tj --0.856 -1.25 Td -[(initial envir)18(onment set)]TJ -/T1_1 1 Tf --16.678 -7.355 Td -(Figure 9.2)Tj -/T1_0 1 Tf -5.195 0 Td -[(State of pr)18(ocesses after)]TJ -/TT0 1 Tf -10.266 -0 Td -(login)Tj -/T1_0 1 Tf -3.25 0 Td -(has been invoked)Tj -9.9934 0 0 9.9934 129.5144 220.0149 Tm -[(All )-19(the )-19(pr)18(ocesses )-19(shown )-19(in )-19(Figur)]TJ -0.2692 Tc 14.516 0 Td -(e9)Tj -0 Tc 1.248 0 Td -[(.2 )-19(have )-19(super)8(user )-19(privileges, )-19(since )-19(the )-19(original)]TJ -/TT0 1 Tf -20.836 0 Td -(init)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(pr)18(ocess )-258(has )-258(super)8(user )-258(privileges.)-756(The )-258(pr)18(ocess )-258(ID )-258(of )-258(the )-258(bottom )-258(thr)18(ee )-258(pr)18(ocesses )-258(in)]TJ -0 -1.2 Td -(Figur)Tj -0.3445 Tc 2.383 0 Td -(e9)Tj -0 Tc 1.324 0 Td -[(.2 )-94(is )-94(the )-94(same, )-94(since )-94(the )-94(pr)18(ocess )-94(ID )-94(does )-94(not )-94(change )-94(acr)18(oss )-94(an)]TJ -/TT0 1 Tf -28.333 0 Td -(exec)Tj -/T1_0 1 Tf -0.5945 Tc (.A)Tj -0 Tc 4.022 0 Td -[(lso, )-94(all)]TJ --36.063 -1.2 Td -[(the pr)18(ocesses other than the original)]TJ -/TT0 1 Tf -16.242 0 Td -(init)Tj -/T1_0 1 Tf -2.65 0 Td -[(pr)18(ocess have a par)18(ent pr)18(ocess ID of 1.)]TJ --17.092 -1.2 Td -(The)Tj -/TT0 1 Tf -2.144 0 Td -(login)Tj -/T1_0 1 Tf -3.469 0 Td -[(pr)18(ogram )-219(does )-219(many )-219(things.)-721(Since )-220(it )-220(has )-220(our )-220(user )-220(name, )-220(it )-220(can )-220(call)]TJ -/TT0 1 Tf --7.413 -1.2 Td -(getpwnam)Tj -/T1_0 1 Tf -5.174 0 Td -[(to )-124(fetch )-124(our )-124(passwor)]TJ -0.3736 Tc 9.407 0 Td -(d\336)Tj -0 Tc 1.59 0 Td -[(le )-124(entry)]TJ -0.6236 Tc 3.371 0 Td -(.T)Tj -0 Tc 1.487 0 Td -(hen)Tj -/TT0 1 Tf -2.017 0 Td -(login)Tj -/T1_0 1 Tf -3.374 0 Td -(calls)Tj -/TT0 1 Tf -2.324 0 Td -(getpass)Tj -/T1_0 1 Tf -4.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.706 -0.04 Td -[(to )-123(display)]TJ --34.481 -1.2 Td -[(the )-103(pr)18(ompt)]TJ -/TT0 1 Tf -5.427 0 Td -(Password:)Tj -/T1_0 1 Tf -5.753 0 Td -[(and )-103(r)18(ead )-103(our )-103(passwor)]TJ -0.353 Tc 9.969 0 Td -(d\()Tj -0 Tc 1.297 0 Td -[(with )-103(echoing )-103(disabled, )-103(of )-103(course\).)-603(It)]TJ --22.446 -1.2 Td -(calls)Tj -/TT0 1 Tf -2.345 0 Td -(crypt)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.728 -0.04 Td -[(to )-145(encrypt )-145(the )-145(passwor)]TJ -0.3948 Tc 10.533 0 Td -(dt)Tj -0 Tc 1.332 0 Td -[(hat )-145(we )-145(enter)18(ed )-145(and )-145(compar)18(es )-145(the )-145(encrypted)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47407 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(19.2)]TJ -39.439 0 Td -(Overview)Tj -/T1_1 1 Tf -6.394 0 Td -(717)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -3354 5774 648 252 re -S -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 346.1352 588.2047 Tm -[(str)18(eam head)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 5306.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3421.25 5306.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3490.25 5306.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3558.25 5306.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3626.25 5306.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3694.25 5306.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3762.25 5306.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3830.25 5306.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3898.25 5306.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3966.25 5306.25 cm -0 0 m -36 0 l -36 36 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4002.25 5378.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4002.25 5450.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4002.25 5522.25 cm -0 0 m -0 36 l --36 36 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3934.25 5558.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3866.25 5558.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3798.25 5558.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3730.25 5558.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3662.25 5558.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3594.25 5558.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3526.25 5558.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3457.25 5558.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3390.25 5558.25 cm -0 0 m --36 0 l --36 -36 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 5486.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 5414.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 5342.25 cm -0 0 m -0 -36 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 348.5582 546.3744 Tm -(ttcompat)Tj -/T1_0 1 Tf -6.9992 0 0 6.9992 336.7768 536.3756 Tm -(STREAMS)Tj -7.999 0 0 7.999 371.4347 536.3756 Tm -(module)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -3354 4838 648 252 re -S -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 353.3364 499.5501 Tm -(ldterm)Tj -/T1_0 1 Tf -6.9987 0 0 6.9987 336.7566 489.5519 Tm -(STREAMS)Tj -7.9986 0 0 7.9986 371.4124 489.5519 Tm -(module)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -3354 4370 648 252 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 358.114 452.7313 Tm -(ptem)Tj -/T1_0 1 Tf -6.9983 0 0 6.9983 336.7364 442.7337 Tm -(STREAMS)Tj -7.9981 0 0 7.9981 371.3902 442.7337 Tm -(module)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -3354 3902 648 252 re -S -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 338.6544 405.9182 Tm -(pseudo terminal)Tj -2.501 -1.25 Td -(slave)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2490 3902 648 252 re -S -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 252.2652 405.8938 Tm -(pseudo terminal)Tj -2.127 -1.25 Td -(master)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2490.25 4370.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2566.25 4370.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2642.25 4370.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2719.25 4370.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2796.25 4370.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2872.25 4370.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2948.25 4370.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3025.25 4370.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3102.25 4370.25 cm -0 0 m -36 0 l -36 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 4442.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 4514.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 4586.25 cm -0 0 m -0 36 l --36 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3061.25 4622.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2984.25 4622.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2908.25 4622.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2832.25 4622.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2755.25 4622.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2678.25 4622.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2602.25 4622.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2526.25 4622.25 cm -0 0 m --36 0 l --36 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2490.25 4550.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2490.25 4478.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2490.25 4406.25 cm -0 0 m -0 -36 l -S -Q -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 271.6859 452.6498 Tm -(pckt)Tj -/T1_0 1 Tf -6.9971 0 0 6.9971 250.312 442.654 Tm -(STREAMS)Tj -7.9966 0 0 7.9966 284.9596 442.654 Tm -(module)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -2490 5774 648 252 re -S -Q -BT -/T1_0 1 Tf -7.9962 0 0 7.9962 259.6313 587.9577 Tm -[(str)18(eam head)]TJ -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -3462 6386 432 252 re -S -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 360.0015 654.0867 Tm -(user)Tj --0.697 -1.25 Td -[(pr)18(ocess)]TJ -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -2598 6386 432 252 re -S -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 273.6318 654.0474 Tm -(user)Tj --0.697 -1.25 Td -[(pr)18(ocess)]TJ -ET -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 346.2 651.2 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 3462 6512 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3030.25 6512.25 cm -0 0 m -360 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9947 0 0 7.9947 314.7922 654.0082 Tm -(fork)Tj -0 -1.25 TD -(exec)Tj -ET -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 367.8 602.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 3678 6026 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 367.8 638.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 3678 6386 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3678.25 6098.25 cm -0 0 m -0 216 l -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 281.4 602.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 2814 6026 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 281.4 638.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 2814 6386 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2814.25 6098.25 cm -0 0 m -0 216 l -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 270.6 462.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 2706 4622 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 4694.25 cm -0 0 m -0 1080 l -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 292.2 577.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 2922 5774 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2922.25 4622.25 cm -0 0 m -0 1080 l -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 270.6 415.4 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 2706 4154 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 4370.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 292.2 437 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 2922 4370 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2922.25 4154.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 357 555.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 3570 5558 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3570.25 5774.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9988007 0 0 0.9988007 0 0 cm -q 1 0 0 1 378.6 577.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -1 j 1 J -q 1 0 0 1 3786 5774 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 5558.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.9987408 0 0 0.9987408 0 0 cm -q 1 0 0 1 357 509 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -1 j 1 J -q 1 0 0 1 3570 5090 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3570.25 5306.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9986808 0 0 0.9986808 0 0 cm -q 1 0 0 1 378.6 530.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -1 j 1 J -q 1 0 0 1 3786 5306 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 5090.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.9986209 0 0 0.9986209 0 0 cm -q 1 0 0 1 357 462.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -1 j 1 J -q 1 0 0 1 3570 4622 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3570.25 4838.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.998561 0 0 0.998561 0 0 cm -q 1 0 0 1 378.6 483.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -1 j 1 J -q 1 0 0 1 3786 4838 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 4622.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.9985011 0 0 0.9985011 0 0 cm -q 1 0 0 1 357 415.4 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -1 j 1 J -q 1 0 0 1 3570 4154 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3570.25 4370.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9984412 0 0 0.9984412 0 0 cm -q 1 0 0 1 378.6 437 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -1 j 1 J -q 1 0 0 1 3786 4370 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 4154.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.9983813 0 0 0.9983813 0 0 cm -q 1 0 0 1 357 375.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -1 j 1 J -q 1 0 0 1 3570 3758 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3570.25 3902.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9983214 0 0 0.9983214 0 0 cm -q 1 0 0 1 292.2 390.2 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -1 j 1 J -q 1 0 0 1 2922 3902 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2922.25 3830.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9982615 0 0 0.9982615 0 0 cm -q 1 0 0 1 292.2 375.8 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -1 j 1 J -q 1 0 0 1 2922 3758 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3570.25 3758.25 cm -0 0 m --576 0 l -S -Q -Q -q -0.9982016 0 0 0.9982016 0 0 cm -q 1 0 0 1 378.6 390.2 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998202 0 0 0.0998202 0 0 cm -1 j 1 J -q 1 0 0 1 3786 3902 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998202 0 0 0.0998202 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3830.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9981417 0 0 0.9981417 0 0 cm -q 1 0 0 1 270.6 368.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -1 j 1 J -q 1 0 0 1 2706 3686 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3902.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9980818 0 0 0.9980818 0 0 cm -q 1 0 0 1 378.6 368.6 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -1 j 1 J -q 1 0 0 1 3786 3686 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3686.25 cm -0 0 m -1008 0 l -S -Q -Q -BT -/T1_2 1 Tf -7.9842 0 0 7.9842 373.0606 630.5902 Tm -(stdin, stdout, stderr)Tj -ET -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 3614.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 3686.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 3758.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 3830.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 3902.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 3974.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4046.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4118.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4190.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4262.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4334.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4406.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4478.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4550.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4622.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4694.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4766.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4838.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4910.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4982.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 5054.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 5126.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 5198.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 5270.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 5342.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 5414.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 5486.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 5558.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 5630.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 5702.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 5774.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 5846.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 5918.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 5990.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 6062.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 6134.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2416.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2487.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2557.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2628.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2699.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2769.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2840.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2910.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2981.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3051.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3122.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3192.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3263.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3334.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3404.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3475.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3545.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3616.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3686.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3757.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3828.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3898.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3969.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4039.25 6170.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 6170.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 6098.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 6026.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 5954.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 5882.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 5810.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 5738.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 5666.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 5594.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 5522.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 5450.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 5378.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 5306.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 5234.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 5162.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 5090.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 5018.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 4946.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 4874.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 4802.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 4730.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 4658.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 4586.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 4514.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 4442.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 4370.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 4298.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 4226.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 4154.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 4082.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 4010.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 3938.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 3866.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 3794.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 3722.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4146.25 3650.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4075.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4005.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3934.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3864.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3793.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3722.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3652.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3581.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3511.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3440.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3370.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3299.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3228.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3158.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3087.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3017.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2946.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2876.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2805.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2735.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2664.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2593.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2523.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2452.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 3614.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9837 0 0 7.9837 415.751 486.4466 Tm -(kernel)Tj -/T1_1 1 Tf --24.928 -18.905 Td -(Figure 19.2)Tj -/T1_0 1 Tf -5.695 0 Td -(Arrangement of pseudo terminals under Solaris)Tj -9.9796 0 0 9.9796 147.2994 307.9711 Tm -[(Fr)18(om )-103(this )-103(point )-103(on, )-103(we\325ll )-103(simplify )-103(the )-103(\336gur)18(es )-103(by )-103(not )-103(showing )-103(the )-103(\324)32(\324r)18(ead )-103(and )-103(write)]TJ --1.8 -1.2 Td -(functions\325)Tj -0.3515 Tc 4.372 0 Td -(\325f)Tj --0.018 Tc 0.962 0 Td -(ro)Tj -0.3515 Tc 0.923 0 Td -(mF)Tj -0 Tc 1.791 0 Td -(igur)Tj -0.3515 Tc 1.827 0 Td -(e1)Tj -0 Tc 1.331 0 Td -[(9.1 )-101(or )-101(the )-101(\324)36(\324str)18(eam )-101(head\325)]TJ -0.3514 Tc 10.905 0 Td -(\325f)Tj --0.018 Tc 0.962 0 Td -(ro)Tj -0.3514 Tc 0.923 0 Td -(mF)Tj -0 Tc 1.79 0 Td -(igur)Tj -0.3514 Tc 1.827 0 Td -(e1)Tj -0 Tc 1.33 0 Td -[(9.2. )-351(W)92(e\325ll )-101(also )-101(use )-101(the)]TJ --28.943 -1.2 Td -[(abbr)18(eviation )-100(PTY )-100(for )-100(pseudo )-100(terminal )-100(and )-100(lump )-100(all )-100(the )-100(STREAMS )-100(modules )-100(above )-100(the)]TJ -0 -1.2 TD -(slave PTY in Figur)Tj -0.25 Tc 8.149 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(9.2 into a box called \324)37(\324terminal line discipline,\325)37(\325)-250(as)-250(in)-250(Figur)]TJ -0.25 Tc 25.389 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(9.1.)Tj --0.092 Tc -34.196 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -(\325ll now examine some of the typical uses of pseudo terminals.)Tj -/TT1 1 Tf --6.787 -2.88 Td -[(Netw)20(ork Login Ser)-10(ver)15(s)]TJ -/T1_0 1 Tf -3.6 -2.04 Td -[(Pseudo )-336(terminals )-336(ar)]TJ -0.5856 Tc 9.486 0 Td -(eb)Tj -0 Tc 1.618 0 Td -[(uilt )-336(into )-336(servers )-336(that )-336(pr)20(ovide )-335(network )-335(logins.)-835(The )-335(typical)]TJ --11.104 -1.2 Td -[(examples )-74(ar)]TJ -0.3242 Tc 5.374 0 Td -(et)Tj -0 Tc 1.129 0 Td -(he)Tj -/TT0 1 Tf -1.385 0 Td -(telnetd)Tj -/T1_0 1 Tf -4.524 0 Td -(and)Tj -/TT0 1 Tf -2.017 0 Td -(rlogind)Tj -/T1_0 1 Tf -4.524 0 Td -[(servers. )-324(Chapter)-325(15 )-74(of )-74(Stevens)]TJ -14.134 0.04 Td -([)Tj -0.333 -0.04 Td -(1990)Tj -2 0.04 Td -(])Tj -0.657 -0.04 Td -(details)Tj --36.078 -1.2 Td -[(the )-22(steps )-22(involved )-22(in )-22(the)]TJ -/TT0 1 Tf -11.191 0 Td -(rlogin)Tj -/T1_0 1 Tf -3.872 0 Td -[(service. )-272(Once)-272(the )-22(login )-22(shell )-22(is )-22(r)8(unning )-22(on )-22(the )-22(r)19(emote)]TJ --15.062 -1.2 Td -[(host, )-32(we )-32(have )-32(the )-32(arrangement )-32(shown )-32(in )-32(Figur)]TJ -0.2818 Tc 20.828 0 Td -(e1)Tj -0 Tc 1.261 0 Td -[(9.3. )-282(A)-282(similar )-32(arrangement )-32(is )-32(used )-32(by)]TJ --22.088 -1.2 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(telnetd)Tj -/T1_0 1 Tf -4.45 0 Td -[(server)74(.)]TJ --0.092 Tc -4.287 -1.2 Td -[(We )-456(s)]TJ -0 Tc 2.333 0 Td -[(how )-272(two )-272(calls )-272(to)]TJ -/TT0 1 Tf -8.576 0 Td -(exec)Tj -/T1_0 1 Tf -2.921 0 Td -[(between )-271(the)]TJ -/TT0 1 Tf -6.162 0 Td -(rlogind)Tj -/T1_0 1 Tf -4.721 0 Td -[(server )-271(and )-271(the )-271(login )-271(shell,)]TJ --26.514 -1.2 Td -(because the)Tj -/TT0 1 Tf -5.369 0 Td -(login)Tj -/T1_0 1 Tf -3.25 0 Td -[(pr)18(ogram is usually between the two to validate the user)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47408 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(9.3)]TJ -36.356 0 Td -[(Network )-250(Logins)]TJ -/T1_1 1 Tf -9.477 0 Td -(291)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(BSD Netw)20(ork Logins)]TJ -/T1_0 1 Tf -3.6 -2.4 Td -[(In )-294(BSD, )-294(a )-294(single )-294(pr)18(ocess )-294(waits )-294(for )-294(most )-294(network )-294(connections: )-294(the)]TJ -/TT1 1 Tf -31.911 0 Td -(inetd)Tj -/T1_0 1 Tf -3.544 0 Td -[(pr)18(ocess,)]TJ --35.455 -1.2 Td -[(sometimes )-110(called )-110(the)]TJ -/T1_2 1 Tf -9.818 0 Td -[(Internet )-110(superserver)]TJ -/T1_0 1 Tf -0.6099 Tc (.I)Tj -0.3599 Tc 9.503 0 Td -(nt)Tj -0 Tc 1.268 0 Td -[(his )-110(section, )-110(we\325ll )-110(look )-110(at )-110(the )-110(sequence )-110(of)]TJ --20.588 -1.2 Td -[(pr)18(ocesses )-142(involved )-142(in )-142(network )-142(logins )-142(for )-142(a )-142(BSD )-142(system.)]TJ --0.092 Tc 26.21 0 Td -[(We )-326(a)]TJ --0.018 Tc 2.279 0 Td -[(re )-178(n)]TJ -0 Tc 1.83 0 Td -[(ot )-142(inter)18(ested )-142(in )-142(the)]TJ --30.319 -1.2 Td -[(detailed )-41(network )-41(pr)18(ogramming )-41(aspects )-41(of )-41(these )-41(pr)18(ocesses; )-41(r)18(efer )-41(to )-41(Stevens, )-41(Fenner)]TJ -0.291 Tc 36.766 0 Td -(,a)Tj -0 Tc 1.041 0 Td -(nd)Tj --37.807 -1.2 Td -[(Rudof)18(f)]TJ -3.326 0.04 Td -([)Tj -0.333 -0.04 Td -(2004)Tj -2 0.04 Td -(])Tj -0.583 -0.04 Td -(for all the details.)Tj --4.442 -1.2 Td -[(As )-124(part )-124(of )-124(the )-124(system )-124(start-up,)]TJ -/TT1 1 Tf -14.382 0 Td -(init)Tj -/T1_0 1 Tf -2.774 0 Td -[(invokes )-124(a )-124(shell )-124(that )-124(executes )-124(the )-124(shell )-124(script)]TJ -/TT1 1 Tf --18.955 -1.2 Td -(/etc/rc)Tj -/T1_0 1 Tf -0.6153 Tc (.O)Tj -0 Tc 5.851 0 Td -[(ne )-115(of )-115(the )-115(daemons )-115(that )-115(is )-115(started )-115(by )-115(this )-115(shell )-115(script )-115(is)]TJ -/TT1 1 Tf -25.24 0 Td -(inetd)Tj -/T1_0 1 Tf -0.6152 Tc (.O)Tj -0 Tc 4.651 0 Td -[(nce )-115(the)]TJ --35.743 -1.2 Td -[(shell )-165(script )-165(terminates, )-165(the )-165(par)18(ent )-165(pr)18(ocess )-165(of)]TJ -/TT1 1 Tf -20.816 0 Td -(inetd)Tj -/T1_0 1 Tf -3.415 0 Td -(becomes)Tj -/TT1 1 Tf -4.223 0 Td -(init)Tj -/T1_0 1 Tf -(;)Tj -/TT1 1 Tf -3.065 0 Td -(inetd)Tj -/T1_0 1 Tf -3.415 0 Td -[(waits )-165(for)]TJ --34.936 -1.2 Td -[(TCP/IP )-12(connection )-12(r)17(equests )-12(to )-12(arrive )-12(at )-12(the )-12(host.)-512(When )-12(a )-12(connection )-12(r)18(equest )-12(arrives )-12(for)]TJ -0 -1.2 TD -(it to handle,)Tj -/TT1 1 Tf -5.534 0 Td -(inetd)Tj -/T1_0 1 Tf -3.25 0 Td -(does a)Tj -/TT1 1 Tf -3.06 0 Td -(fork)Tj -/T1_0 1 Tf -2.65 0 Td -(and)Tj -/TT1 1 Tf -1.943 0 Td -(exec)Tj -/T1_0 1 Tf -2.65 0 Td -[(of the appr)18(opriate pr)18(ogram.)]TJ --17.287 -1.2 Td -[(Let\325s )-389(assume )-389(that )-389(a )-389(TCP )-389(connection )-389(r)20(equest )-389(arrives )-389(for )-389(the )-389(TELNET )-389(server)75(.)]TJ --1.8 -1.2 Td -[(TELNET )-121(is )-121(a )-121(r)18(emote )-121(login )-121(application )-121(that )-121(uses )-121(the )-121(TCP )-121(pr)17(otocol. )-371(A)-371(user )-121(on )-121(another)]TJ --0 -1.2 Td -[(host )-78(\(that )-78(is )-78(connected )-78(to )-78(the )-78(server)-74(\325s )-78(host )-78(thr)18(ough )-78(a )-78(network )-78(of )-78(some )-78(form\) )-78(or )-78(on )-78(the)]TJ -T* -(same host initiates the login by starting the TELNET client:)Tj -/TT1 1 Tf -8.9995 0 0 8.9995 147.5912 470.132 Tm -(telnet)Tj -/T1_2 1 Tf -4.2 0 Td -(hostname)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5923 449.993 Tm -[(The )-251(client )-251(opens )-251(a )-251(TCP )-251(connection )-251(to)]TJ -/T1_2 1 Tf -18.347 0 Td -(hostname)Tj -/T1_0 1 Tf -0.5011 Tc (,a)Tj -0 Tc 5.084 0 Td -[(nd )-251(the )-251(pr)18(ogram )-251(that\325s )-251(started )-251(on)]TJ -/T1_2 1 Tf --23.432 -1.2 Td -(hostname)Tj -/T1_0 1 Tf -4.252 0 Td -[(is )-169(called )-169(the )-169(TELNET )-169(server)]TJ -0.6691 Tc 12.947 0 Td -(.T)Tj -0 Tc 1.532 0 Td -[(he )-169(client )-169(and )-169(the )-169(server )-169(then )-169(exchange )-169(data)]TJ --18.731 -1.2 Td -[(acr)18(oss )-15(the )-15(TCP )-15(connection )-15(using )-15(the )-15(TELNET )-15(application )-15(pr)16(otocol. )-265(What)-265(has )-15(happened)]TJ -T* -[(is )-131(that )-131(the )-131(user )-131(who )-131(started )-131(the )-131(client )-131(pr)18(ogram )-131(is )-131(now )-131(logged )-131(in )-131(to )-131(the )-131(server)-71(\325s )-131(host.)]TJ -T* -[(\(This )-288(assumes, )-288(of )-288(course, )-288(that )-288(the )-288(user )-288(has )-288(a )-288(valid )-288(account )-288(on )-288(the )-288(server)-73(\325s )-288(host.\))]TJ -T* -(Figur)Tj -0.3579 Tc 2.383 0 Td -(e9)Tj -0 Tc 1.337 0 Td -[(.4 )-108(shows )-108(the )-108(sequence )-108(of )-108(pr)18(ocesses )-108(involved )-108(in )-108(executing )-108(the )-108(TELNET )-108(server)75(,)]TJ --3.72 -1.2 Td -(called)Tj -/TT1 1 Tf -2.866 0 Td -(telnetd)Tj -/T1_0 1 Tf -(.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -3034.32 3272.2 432 216 re -S -Q -BT -/TT1 1 Tf -7.999 0 0 7.999 315.3941 336.2197 Tm -(init)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -3034.32 2768.2 432 216 re -S -Q -BT -/TT1 1 Tf -7.9986 0 0 7.9986 312.9757 285.8085 Tm -(inetd)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -3034.32 2264.2 432 216 re -S -Q -BT -/TT1 1 Tf -7.9981 0 0 7.9981 312.9569 235.4035 Tm -(inetd)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -3034.32 1760.2 432 216 re -S -Q -BT -/TT1 1 Tf -7.9976 0 0 7.9976 308.1395 185.0045 Tm -(telnetd)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3250.25 3265.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3250.25 3229.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3250.25 3195.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3250.25 3160.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3250.25 3125.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3250.25 3090.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3250.25 3055.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3250.25 3020.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 325.032 298.42 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3250.3201 2984.2 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3250.25 3056.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 325.032 248.02 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3250.3201 2480.2 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3250.25 2768.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3250.25 2678.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3250.25 2588.25 cm -0 0 m -0 -36 l -S -Q -Q -BT -/TT1 1 Tf -7.9962 0 0 7.9962 326.8751 260.5349 Tm -(fork)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 325.032 197.62 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3250.3201 1976.2 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3250.25 2264.25 cm -0 0 m -0 -216 l -S -Q -Q -BT -/TT1 1 Tf -7.9957 0 0 7.9957 326.8554 210.1465 Tm -(exec)Tj -/T1_2 1 Tf --2.75 17.725 Td -[(pr)18(ocess ID 1)]TJ -ET -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 303.432 287.62 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 3034.3201 2876.2 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2026.25 2876.25 cm -0 0 m -936 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 210.9214 290.6855 Tm -[(TCP connection r)18(equest)]TJ -0.777 -1.25 Td -[(fr)18(om TELNET client)]TJ -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3578.6399 3226.8401 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3578.25 3227.25 cm -0 0 m -0 -77 l -23 -99 l -1 -121 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3578.25 3106.25 cm -0 0 m -0 -77 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534 2984.2 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/TT1 1 Tf -7.9947 0 0 7.9947 361.929 320.8482 Tm -(fork)Tj -/T1_0 1 Tf -(/)Tj -/TT1 1 Tf -(exec)Tj -/T1_0 1 Tf -5.656 0 Td -(of)Tj -/TT1 1 Tf -1.129 0 Td -(/bin/sh)Tj -/T1_0 1 Tf -0.25 Tc (,w)Tj -0 Tc 5.534 0 Td -(hich)Tj --12.319 -1.25 Td -(executes shell script)Tj -/TT1 1 Tf -9.048 0 Td -(/etc/rc)Tj -/T1_0 1 Tf --9.048 -1.25 Td -(when system comes up multiuser)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3578.6399 2723.5601 cm -0 0 m -0 24.65 -19.99 44.64 -44.64 44.64 c -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3578.25 2723.25 cm -0 0 m -0 -76 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3578.25 2646.25 cm -0 0 m -23 -22 l -1 -44 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3578.25 2602.25 cm -0 0 m -0 -77 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534 2480.2 cm -0 0 m -24.65 0 44.64 19.99 44.64 44.64 c -S -Q -Q -BT -/T1_0 1 Tf -7.9942 0 0 7.9942 361.9073 265.4688 Tm -[(when connection r)18(equest)]TJ -0 -1.25 TD -[(arrives fr)18(om TELNET client)]TJ -/T1_1 1 Tf --20.635 -13.105 Td -(Figure 9.4)Tj -/T1_0 1 Tf -5.195 0 Td -[(Sequence of pr)18(ocesses involved in executing TELNET server)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47409 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(19.6)]TJ -32.654 0 Td -[(Using )-250(the)]TJ -/TT0 1 Tf -5.018 0 Td -(pty)Tj -/T1_0 1 Tf -2.3 0 Td -[(Pr)18(ogram)]TJ -/T1_1 1 Tf -5.861 0 Td -(739)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(When )-165(we )-165(r)8(un )-165(the)]TJ -/TT0 1 Tf -8.576 0 Td -(telnet)Tj -/T1_0 1 Tf -4.015 0 Td -[(pr)18(ogram )-165(interactively)111(,)-415(we)-415(wait )-165(for )-165(the )-165(r)18(emote )-165(host )-165(to)]TJ --14.391 -1.2 Td -[(pr)18(ompt )-30(for )-30(a )-30(passwor)]TJ -0.2796 Tc 9.653 0 Td -(db)Tj -0 Tc 1.444 0 Td -[(efor)18(e)-280(we)-280(t)1(ype )-30(it, )-30(but )-30(the)]TJ -/TT0 1 Tf -10.903 0 Td -(pty)Tj -/T1_0 1 Tf -2.079 0 Td -[(pr)18(ogram )-29(doesn\325t )-29(know )-29(to )-29(do )-29(this.)]TJ --24.078 -1.2 Td -[(This )-79(is )-79(why )-79(it )-79(takes )-79(a )-79(mor)]TJ -0.3289 Tc 11.778 0 Td -(es)Tj -0 Tc 1.232 0 Td -[(ophisticated )-79(pr)18(ogram )-79(than)]TJ -/TT0 1 Tf -12.256 0 Td -(pty)Tj -/T1_0 1 Tf -0.3289 Tc (,s)Tj -0 Tc 2.803 0 Td -[(uch )-79(as)]TJ -/TT0 1 Tf -3.211 0 Td -(expect)Tj -/T1_0 1 Tf -[(,)-329(to)-329(drive)]TJ --31.279 -1.2 Td -[(an interactive pr)18(ogram fr)18(om a script \336le.)]TJ -1.8 -1.2 Td -[(Even )-57(r)8(unning)]TJ -/TT0 1 Tf -6.435 0 Td -(pty)Tj -/T1_0 1 Tf -2.107 0 Td -[(fr)18(om )-57(the )-57(pr)18(ogram )-57(in )-57(Figur)]TJ -0.3074 Tc 11.87 0 Td -(e1)Tj -0 Tc 1.286 0 Td -[(5.18, )-57(as )-57(we )-57(showed )-57(earlier)]TJ -0.3073 Tc 11.699 0 Td -(,d)Tj -0 Tc 1.168 0 Td -(oesn\325t)Tj --36.365 -1.2 Td -[(help, )-108(because )-108(the )-108(pr)18(ogram )-108(in )-108(Figur)]TJ -0.3579 Tc 15.976 0 Td -(e1)Tj -0 Tc 1.337 0 Td -[(5.18 )-108(assumes )-108(that )-108(each )-108(line )-108(it )-108(writes )-108(to )-108(the )-108(pipe)]TJ --17.312 -1.2 Td -[(generates )-104(exactly )-104(one )-104(line )-104(on )-104(the )-104(other )-104(pipe.)]TJ --0.055 Tc 20.733 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-104(an )-104(interactive )-104(pr)18(ogram, )-104(one )-104(line )-104(of)]TJ --21.969 -1.2 Td -[(input )-149(may )-149(generate )-149(many )-149(lines )-149(of )-149(output.)-650(Furthermor)18(e, )-149(the )-149(pr)18(ogram )-149(in )-149(Figur)]TJ -0.3991 Tc 35.872 0 Td -(e1)Tj -0 Tc 1.378 0 Td -(5.18)Tj --37.25 -1.2 Td -[(always )-151(sent )-151(a )-151(line )-151(to )-151(the )-151(copr)20(ocess )-151(befor)]TJ -0.4006 Tc 18.696 0 Td -(er)Tj -0 Tc 1.257 0 Td -[(eading )-151(fr)18(om )-151(it.)-651(This )-151(strategy )-151(won\325t )-151(work)]TJ --19.952 -1.2 Td -[(when we want to r)18(ead fr)18(om the copr)18(ocess befor)]TJ -0.25 Tc 20.97 0 Td -(es)Tj -0 Tc 1.153 0 Td -(ending it anything.)Tj --20.323 -1.2 Td -(Ther)Tj -0.5126 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.492 0 Td -[(re )-299(a )-299(f)]TJ -0 Tc 2.714 0 Td -[(ew )-263(ways )-263(to )-263(pr)18(oceed )-263(fr)18(om )-263(her)20(e)-513(to)-513(be)-513(a)1(ble )-263(to )-263(drive )-263(an )-263(interactive)]TJ --8.057 -1.2 Td -[(pr)18(ogram )-41(fr)18(om )-41(a )-41(script.)]TJ --0.092 Tc 10.642 0 Td -[(We )-225(c)]TJ -0 Tc 2.122 0 Td -[(ould )-41(add )-41(a )-41(command )-41(language )-41(and )-41(interpr)17(eter )-41(to)]TJ -/TT0 1 Tf -22.413 0 Td -(pty)Tj -/T1_0 1 Tf -0.291 Tc (,b)Tj -0 Tc 2.894 0 Td -(ut)Tj -0.4828 Tc -38.071 -1.2 Td -(ar)Tj -0 Tc 1.36 0 Td -[(easonable )-233(command )-233(language )-233(would )-233(pr)18(obably )-233(be )-233(ten )-233(times )-233(lar)20(ger )-233(than )-233(the)]TJ -/TT0 1 Tf -35.84 0 Td -(pty)Tj -/T1_0 1 Tf --37.2 -1.2 Td -[(pr)18(ogram. )-518(Another)-517(option )-268(is )-268(to )-268(take )-268(a )-268(command )-268(language )-268(and )-268(use )-268(the)]TJ -/TT0 1 Tf -34.2 0 Td -(pty_fork)Tj -/T1_0 1 Tf --34.2 -1.2 Td -[(function to invoke interactive pr)18(ograms. )-250(This)-250(is what the)]TJ -/TT0 1 Tf -25.562 0 Td -(expect)Tj -/T1_0 1 Tf -3.85 0 Td -[(pr)18(ogram does.)]TJ --0.092 Tc -27.612 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-78(take )-78(a )-78(dif)19(fer)18(ent )-78(path )-78(her)]TJ -0.3278 Tc 12.1 0 Td -(ea)Tj -0 Tc 1.307 0 Td -[(nd )-78(just )-78(pr)18(ovide )-78(an )-78(option )-78(\()]TJ -/TT0 1 Tf -12.196 0 Td -(-d)Tj -/T1_0 1 Tf -[(\))-328(to)-328(allow)]TJ -/TT0 1 Tf -5.85 0 Td -(pty)Tj -/T1_0 1 Tf -2.128 0 Td -[(to )-78(be)]TJ --36.768 -1.2 Td -[(connected )-201(to )-201(a )-201(driver )-201(pr)18(ocess )-201(for )-201(its )-201(input )-201(and )-201(output.)-700(The )-201(standar)]TJ -0.4508 Tc 31.766 0 Td -(do)Tj -0 Tc 1.608 0 Td -[(utput )-201(of )-201(the)]TJ --33.374 -1.2 Td -(driver is)Tj -/TT0 1 Tf -3.952 0 Td -(pty)Tj -/T1_0 1 Tf -(\325s standar)Tj -0.2503 Tc 6.072 0 Td -(di)Tj -0 Tc 1.152 0 Td -[(nput, and vice versa.)-500(This is similar to a copr)15(ocess, but on \324)36(\324the)]TJ --11.176 -1.2 Td -[(other )-287(side\325)]TJ -0.5367 Tc 4.911 0 Td -(\325o)Tj -0 Tc 1.361 0 Td -(f)Tj -/TT0 1 Tf -0.87 0 Td -(pty)Tj -/T1_0 1 Tf -0.7867 Tc (.T)Tj -0 Tc 3.45 0 Td -[(he )-287(r)18(esulting )-287(arrangement )-287(of )-287(pr)19(ocesses )-287(is )-287(almost )-287(identical )-287(to)]TJ --10.591 -1.2 Td -(Figur)Tj -0.4024 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.381 0 Td -[(9.15, )-152(but )-152(in )-152(the )-152(curr)16(ent )-152(scenario,)]TJ -/TT0 1 Tf -15.274 0 Td -(pty)Tj -/T1_0 1 Tf -2.203 0 Td -[(does )-152(the)]TJ -/TT0 1 Tf -4.252 0 Td -(fork)Tj -/T1_0 1 Tf -2.803 0 Td -(and)Tj -/TT0 1 Tf -2.096 0 Td -(exec)Tj -/T1_0 1 Tf -2.803 0 Td -[(of )-152(the )-152(driver)]TJ --33.193 -1.2 Td -[(pr)18(ocess. )-415(Also,)-414(instead )-165(of )-165(two )-165(half-duplex )-165(pipes, )-165(we\325ll )-165(use )-165(a )-165(single )-165(bidir)21(ectional )-165(pipe)]TJ -0 -1.2 TD -(between)Tj -/TT0 1 Tf -3.982 0 Td -(pty)Tj -/T1_0 1 Tf -2.05 0 Td -[(and the driver pr)18(ocess.)]TJ --4.232 -1.2 Td -(Figur)Tj -0.3415 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.321 0 Td -[(9.16 )-91(shows )-91(the )-91(sour)18(ce )-91(for )-91(the)]TJ -/TT0 1 Tf -13.53 0 Td -(do_driver)Tj -/T1_0 1 Tf -5.741 0 Td -[(function, )-92(which )-92(is )-92(called )-92(by )-92(the)]TJ -/TT0 1 Tf --24.775 -1.2 Td -(main)Tj -/T1_0 1 Tf -2.65 0 Td -(function of)Tj -/TT0 1 Tf -5.086 0 Td -(pty)Tj -/T1_0 1 Tf -2.05 0 Td -(\(Figur)Tj -0.25 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(9.1)55(1\) when the)]TJ -/TT0 1 Tf -6.642 0 Td -(-d)Tj -/T1_0 1 Tf -1.45 0 Td -(option is speci\336ed.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3858.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 376.2538 Tm -(#include "apue.h")Tj -0 -2.021 TD -(void)Tj -0 -1.189 TD -(do_driver\(char *driver\))Tj -T* -({)Tj -2.4 -1.189 Td -[(pid_t )-1200(child;)]TJ -T* -[(int )-2400(pipe[2];)]TJ -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(reate a full-duplex pipe to communicate with the driver.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(fd_pipe\(pipe\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t create stream pipe"\);)Tj --2.4 -2.021 Td -(if \(\(child = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(child == 0\) {)-4800(/* child */)]TJ -0.6 -1.189 Td -(close\(pipe[1]\);)Tj -T* -(/* stdin for driver */)Tj -0 -1.189 TD -(if \(dup2\(pipe[0], STDIN_FILENO\) != STDIN_FILENO\))Tj -2.4 -1.189 Td -(err_sys\("dup2 error to stdin"\);)Tj --2.4 -2.021 Td -(/* stdout for driver */)Tj -T* -(if \(dup2\(pipe[0], STDOUT_FILENO\) != STDOUT_FILENO\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47410 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(3.6)]TJ -/TT0 1 Tf -36.903 0 Td -(lseek)Tj -/T1_0 1 Tf -3.5 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(67)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(An open \336le\325s of)18(fset can be set explicitly by calling)]TJ -/TT0 1 Tf -22.505 0 Td -(lseek)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 652.2609 Tm -(#include )Tj -0 -1.783 TD -(off_t lseek\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,o)Tj -0 Tc 2.578 0 Td -(ff_t)Tj -/T1_2 1 Tf -3 0 Td -(offset)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.911 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(whence)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -0.269 -1.783 Td -[(Returns: new \336le of)18(fset if OK,)]TJ -/TT1 1 Tf -13.306 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6157.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 602.1277 Tm -[(The interpr)18(etation of the)]TJ -/T1_2 1 Tf -11.041 0 Td -(offset)Tj -/T1_0 1 Tf -2.361 0 Td -(depends on the value of the)Tj -/T1_2 1 Tf -12.506 0 Td -(whence)Tj -/T1_0 1 Tf -3.213 0 Td -[(ar)18(gument.)]TJ -0.883 Tc -27.321 -1.8 Td -(\245I)Tj -0 Tc 1.826 0 Td -(f)Tj -/T1_2 1 Tf -0.619 0 Td -(whence)Tj -/T1_0 1 Tf -3.249 0 Td -(is)Tj -/TT0 1 Tf -1.001 0 Td -(SEEK_SET)Tj -/T1_0 1 Tf -0.2856 Tc (,t)Tj -0 Tc 5.662 0 Td -[(he )-36(\336le\325s )-36(of)18(fset )-36(is )-36(set )-36(to)]TJ -/T1_2 1 Tf -10.091 0 Td -(offset)Tj -/T1_0 1 Tf -2.397 0 Td -[(bytes )-36(fr)18(om )-36(the )-36(beginning )-36(of)]TJ --23.354 -1.2 Td -(the \336le.)Tj -0.883 Tc -1.489 -1.6 Td -(\245I)Tj -0 Tc 1.826 0 Td -(f)Tj -/T1_2 1 Tf -0.684 0 Td -(whence)Tj -/T1_0 1 Tf -3.314 0 Td -(is)Tj -/TT0 1 Tf -1.066 0 Td -(SEEK_CUR)Tj -/T1_0 1 Tf -0.3505 Tc (,t)Tj -0 Tc 5.726 0 Td -[(he )-100(\336le\325s )-100(of)18(fset )-100(is )-100(set )-100(to )-100(its )-100(curr)15(ent )-101(value )-101(plus )-101(the)]TJ -/T1_2 1 Tf -22.224 0 Td -(offset)Tj -/T1_0 1 Tf -(.)Tj --33.35 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(offset)Tj -/T1_0 1 Tf -2.361 0 Td -(can be positive or negative.)Tj -0.883 Tc -5.774 -1.6 Td -(\245I)Tj -0 Tc 1.826 0 Td -(f)Tj -/T1_2 1 Tf -0.64 0 Td -(whence)Tj -/T1_0 1 Tf -3.27 0 Td -(is)Tj -/TT0 1 Tf -1.022 0 Td -(SEEK_END)Tj -/T1_0 1 Tf -0.3071 Tc (,t)Tj -0 Tc 5.683 0 Td -[(he )-57(\336le\325s )-57(of)18(fset )-57(is )-57(set )-57(to )-57(the )-57(size )-57(of )-57(the )-57(\336le )-57(plus )-57(the)]TJ -/T1_2 1 Tf -22.397 0 Td -(offset)Tj -/T1_0 1 Tf -(.)Tj --33.35 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(offset)Tj -/T1_0 1 Tf -2.361 0 Td -(can be positive or negative.)Tj --7.574 -1.8 Td -[(Because )-121(a )-121(successful )-121(call )-121(to)]TJ -/TT0 1 Tf -12.76 0 Td -(lseek)Tj -/T1_0 1 Tf --0.018 Tc 3.371 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-121(the )-121(new )-121(\336le )-121(of)18(fset, )-121(we )-121(can )-121(seek )-121(zer)]TJ -0.3707 Tc 18.759 0 Td -(ob)Tj -0 Tc 1.47 0 Td -(ytes)Tj --37.215 -1.2 Td -[(fr)18(om the curr)18(ent position to determine the curr)18(ent of)18(fset:)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.582 469.4437 Tm -[(off_t )-1800(currpos;)]TJ -0 -1.664 TD -(currpos = lseek\(fd, 0, SEEK_CUR\);)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5841 436.4675 Tm -[(This )-112(technique )-112(can )-112(also )-112(be )-112(used )-112(to )-112(determine )-112(if )-112(a )-112(\336le )-112(is )-112(capable )-112(of )-112(seeking.)-612(If )-112(the )-112(\336le)]TJ -0 -1.2 TD -[(descriptor )-8(r)18(efers )-8(to )-8(a )-8(pipe,)]TJ -8.9989 0 0 8.9989 248.4199 424.469 Tm -(FIFO)Tj -9.9988 0 0 9.9988 268.5323 424.469 Tm -[(,)-258(or)-258(s)-1(ocket,)]TJ -/TT0 1 Tf -4.991 0 Td -(lseek)Tj -/T1_0 1 Tf -3.258 0 Td -(sets)Tj -/TT0 1 Tf -1.911 0 Td -(errno)Tj -/T1_0 1 Tf -3.259 0 Td -(to)Tj -/TT0 1 Tf -1.131 0 Td -(ESPIPE)Tj -/T1_0 1 Tf -3.859 0 Td -[(and )-8(r)18(eturns)]TJ -/TT1 1 Tf -5.396 0 Td -(!)Tj -/T1_0 1 Tf -(1.)Tj -7.999 0 0 7.999 183.5783 404.4714 Tm -[(The )-318(thr)18(ee )-318(symbolic )-318(constants)-83(\321)]TJ -/TT0 1 Tf -14.93 0 Td -(SEEK_SET)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -5.618 0 Td -(SEEK_CUR)Tj -/T1_0 1 Tf -0.568 Tc (,a)Tj -0 Tc 6.118 0 Td -(nd)Tj -/TT0 1 Tf -1.761 0 Td -(SEEK_END)Tj -/T1_0 1 Tf -0.0833 Tc 4.883 0 Td -(\321w)Tj -0 Tc 1.917 0 Td -(er)Tj -0.568 Tc 0.856 0 Td -(ei)Tj -0 Tc 1.338 0 Td -[(ntr)18(oduced)]TJ --37.421 -1.25 Td -[(with )-149(System )-149(V)]TJ -0.6489 Tc 6.617 0 Td -(.P)Tj -0 Tc 1.503 0 Td -[(rior )-149(to )-149(this,)]TJ -/T1_2 1 Tf -5.569 0 Td -(whence)Tj -/T1_0 1 Tf -3.362 0 Td -[(was )-149(speci\336ed )-149(as )-149(0 )-149(\(absolute\), )-149(1 )-149(\(r)18(elative )-149(to )-149(the )-149(curr)19(ent)]TJ --17.05 -1.25 Td -[(of)18(fset\), )-132(or )-132(2 )-132(\(r)18(elative )-132(to )-132(the )-132(end )-132(of )-132(\336le\).)-628(Much )-131(softwar)]TJ -0.3815 Tc 24.837 0 Td -(es)Tj -0 Tc 1.285 0 Td -[(till )-131(exists )-131(with )-131(these )-131(numbers )-131(har)16(d)]TJ --26.121 -1.25 Td -(coded.)Tj -0 -1.75 TD -[(The )-217(character)]TJ -/TT0 1 Tf -6.673 0 Td -(l)Tj -/T1_0 1 Tf -1.067 0 Td -[(in )-217(the )-217(name)]TJ -/TT0 1 Tf -6.105 0 Td -(lseek)Tj -/T1_0 1 Tf -3.467 0 Td -[(means )-217(\324)37(\324long )-217(integer)74(.\325)]TJ -0.7171 Tc 9.821 0 Td -(\325B)Tj -0 Tc 1.606 0 Td -(efor)Tj -0.4671 Tc 1.735 0 Td -(et)Tj -0 Tc 1.272 0 Td -[(he )-217(intr)18(oduction )-217(of )-217(the)]TJ -/TT0 1 Tf --31.747 -1.25 Td -(off_t)Tj -/T1_0 1 Tf -3.417 0 Td -[(data )-167(type, )-167(the)]TJ -/T1_2 1 Tf -6.786 0 Td -(offset)Tj -/T1_0 1 Tf -2.528 0 Td -[(ar)18(gument )-167(and )-167(the )-167(r)18(eturn )-167(value )-167(wer)]TJ -0.4166 Tc 16.359 0 Td -(el)Tj -0 Tc 1.187 0 Td -[(ong )-167(integers.)]TJ -/TT0 1 Tf -6.549 0 Td -(lseek)Tj -/T1_0 1 Tf -3.417 0 Td -(was)Tj --40.242 -1.25 Td -[(intr)18(oduced )-156(with )-156(V)111(ersion )-156(7 )-156(when )-156(long )-156(integers )-156(wer)]TJ -0.4065 Tc 23.25 0 Td -(ea)Tj -0 Tc 1.385 0 Td -[(dded )-156(to )-156(C.)-658(\(Similar )-157(functionality )-157(was)]TJ --24.636 -1.25 Td -[(pr)18(ovided in V)111(ersion 6 by the functions)]TJ -/TT0 1 Tf -17.159 0 Td -(seek)Tj -/T1_0 1 Tf -2.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(tell)Tj -/T1_0 1 Tf -(.\))Tj -/TT2 1 Tf -9.9988 0 0 9.9988 93.5886 306.4831 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.04 Td -[(The pr)18(ogram in Figur)]TJ -0.2502 Tc 9.539 0 Td -(e3)Tj -0 Tc 1.229 0 Td -(.1 tests its standar)Tj -0.2501 Tc 7.84 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput to see whether it is capable of seeking.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2789.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 269.3705 Tm -(#include "apue.h")Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(lseek\(STDIN_FILENO, 0, SEEK_CUR\) == -1\))Tj -2.4 -1.189 Td -(printf\("cannot seek\\n"\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(printf\("seek OK\\n"\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1619.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 216.4081 145.863 Tm -(Figure 3.1)Tj -/T1_0 1 Tf --0.092 Tc 5.195 0 Td -(Te)Tj -0 Tc 1 0 Td -(st whether standar)Tj -0.25 Tc 8.247 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput is capable of seeking)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47411 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(554)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(interleaved. )-336(As)-335(with )-86(pipes, )-86(the )-86(constant)]TJ -/TT0 1 Tf -18.51 0 Td -(PIPE_BUF)Tj -/T1_1 1 Tf -5.136 0 Td -[(speci\336es )-86(the )-86(maximum )-86(amount )-86(of)]TJ --23.645 -1.2 Td -(data that can be written atomically to a FIFO.)Tj -1.8 -1.2 Td -(Ther)Tj -0.25 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(t)]TJ -0 Tc 1.432 0 Td -(wo uses for FIFOs.)Tj --4.712 -1.8 Td -[(1. )-633(FIFOs)-487(ar)]TJ -0.4868 Tc 5.656 0 Td -(eu)Tj -0 Tc 1.569 0 Td -[(sed )-237(by )-237(shell )-237(commands )-237(to )-237(pass )-237(data )-237(fr)19(om )-237(one )-237(shell )-237(pipeline )-237(to)]TJ --5.592 -1.2 Td -[(another without cr)18(eating intermediate temporary \336les.)]TJ --1.633 -1.6 Td -[(2. )-633(FIFOs)-354(ar)]TJ -0.3542 Tc 5.523 0 Td -(eu)Tj -0 Tc 1.436 0 Td -[(sed )-104(as )-104(r)18(endezvous )-104(points )-104(in )-104(client\320server )-104(applications )-104(to )-104(pass )-104(data)]TJ --5.326 -1.2 Td -(between the clients and the servers.)Tj --0.092 Tc -3.433 -1.8 Td -[(We )-184(d)]TJ -0 Tc 2.248 0 Td -(iscuss each of these uses with an example.)Tj -/TT1 1 Tf --5.848 -2.76 Td -[(Example )195(\321 )195(Using)-279(FIFOs to Duplicate Output Streams)]TJ -/T1_1 1 Tf -3.6 -2.4 Td -[(FIFOs )-115(can )-115(be )-115(used )-115(to )-115(duplicate )-115(an )-115(output )-115(str)18(eam )-115(in )-115(a )-115(series )-115(of )-115(shell )-115(commands.)-618(This)]TJ -0 -1.2 TD -[(pr)18(events )-121(writing )-121(the )-121(data )-121(to )-121(an )-121(intermediate )-121(disk )-121(\336le )-121(\(similar )-121(to )-121(using )-121(pipes )-121(to )-121(avoid)]TJ -T* -[(intermediate )-210(disk )-210(\336les\).)-711(But )-210(wher)18(eas )-210(pipes )-210(can )-210(be )-210(used )-210(only )-210(for )-210(linear )-210(connections)]TJ -T* -[(between pr)18(ocesses, a FIFO has a name, so it can be used for nonlinear connections.\ )]TJ -1.8 -1.2 Td -[(Consider )-476(a )-476(pr)18(ocedur)]TJ -0.726 Tc 10.027 0 Td -(et)Tj -0 Tc 1.531 0 Td -[(hat )-476(needs )-476(to )-476(pr)18(ocess )-476(a )-476(\336lter)18(ed )-476(input )-476(str)18(eam )-476(twice.)]TJ --13.358 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.20 shows this arrangement.)Tj -7.9995 0 0 7.9995 228.5739 400.2158 Tm -(input)Tj -0.514 -1.25 Td -(\336le)Tj -ET -q -0.99994 0 0 0.99994 0 0 cm -q 1 0 0 1 288.6 397 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -1 j 1 J -q 1 0 0 1 2886 3970 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2526.25 3970.25 cm -0 0 m -288 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2886 3826 432 288 re -S -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 298.1642 395.1926 Tm -(prog1)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -3822 4114 432 288 re -S -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 391.7295 423.9637 Tm -(prog3)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -3822 3538 432 288 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 391.706 366.3521 Tm -(prog2)Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 382.2 368.2 cm -0 0 m --7.128 2.016 l --5.328 5.112 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 3822 3682 cm -0 0 m --71.28 20.16 l --53.28 51.12 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3318.25 3970.25 cm -0 0 m -441 -252 l -S -Q -Q -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 382.2 425.8 cm -0 0 m --5.328 -5.112 l --7.128 -2.016 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 3822 4258 cm -0 0 m --53.28 -51.12 l --71.28 -20.16 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3318.25 3970.25 cm -0 0 m -441 252 l -S -Q -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 205.2021 328.4817 Tm -(Figure 15.20)Tj -/T1_1 1 Tf -6.195 0 Td -[(Pr)18(ocedur)]TJ -0.25 Tc 4.041 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(hat pr)18(ocesses a \336lter)18(ed input str)18(eam twice)]TJ --0.055 Tc 9.9964 0 0 9.9964 147.547 306.8895 Tm -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-214(a )-214(FIFO )-214(and )-214(the )-214(UNIX )-214(pr)17(ogram)]TJ -/TT0 1 Tf -16.443 0 Td -(tee)Tj -/T1_1 1 Tf -1.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.333 -0.04 Td -[(,)-464(we)-464(can )-214(accomplish )-214(this )-214(pr)18(ocedur)18(e)]TJ --22.445 -1.2 Td -[(without )-52(using )-52(a )-52(temporary )-52(\336le.)-554(\(The)]TJ -/TT0 1 Tf -16.842 0 Td -(tee)Tj -/T1_1 1 Tf -2.103 0 Td -[(pr)18(ogram )-52(copies )-52(its )-52(standar)]TJ -0.3025 Tc 11.912 0 Td -(di)Tj -0 Tc 1.204 0 Td -[(nput )-52(to )-52(both )-52(its)]TJ --32.06 -1.2 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput and the \336le named on its command line.\))Tj -/TT0 1 Tf -8.9968 0 0 8.9968 147.5473 266.2041 Tm -(mkfifo fifo1)Tj -0 -1.189 TD -(prog3 < fifo1 &)Tj -T* -(prog1 < infile | tee fifo1 | prog2)Tj -/T1_1 1 Tf --0.092 Tc 9.9964 0 0 9.9964 129.5538 226.8183 Tm -[(We )-192(c)]TJ --0.018 Tc 2.089 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ate )-8(the )-8(FIFO )-8(and )-8(then )-8(start)]TJ -/TT0 1 Tf -12.109 0 Td -(prog3)Tj -/T1_1 1 Tf -3.258 0 Td -[(in )-8(the )-8(backgr)18(ound, )-8(r)18(eading )-8(fr)18(om )-8(the )-8(FIFO.)]TJ --0.092 Tc 19.301 0 Td -(We)Tj -0 Tc -37.613 -1.2 Td -[(then )-364(start)]TJ -/TT0 1 Tf -5.167 0 Td -(prog1)Tj -/T1_1 1 Tf -3.614 0 Td -[(and )-364(use)]TJ -/TT0 1 Tf -4.426 0 Td -(tee)Tj -/T1_1 1 Tf -2.414 0 Td -[(to )-364(send )-364(its )-364(input )-364(to )-364(both )-364(the )-364(FIFO )-364(and)]TJ -/TT0 1 Tf -20.129 0 Td -(prog2)Tj -/T1_1 1 Tf -(.)Tj --35.75 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(5.21 shows the pr)18(ocess arrangement.)]TJ -ET -q -0.099964 0 0 0.099964 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2029.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -9.9958 0 0 9.9958 93.5607 172.8274 Tm -[(Example )195(\321 )195(Client\320Ser)-11(ver Comm)20(unication Using a FIFO)]TJ -/T1_1 1 Tf -3.6 -2.4 Td -[(Another )-22(use )-22(for )-22(FIFOs )-22(is )-22(to )-22(send )-22(data )-22(between )-22(a )-22(client )-22(and )-22(a )-22(server)]TJ -0.5226 Tc 29.791 0 Td -(.I)Tj -0 Tc 1.11 0 Td -[(f)-273(we)-273(h)1(ave )-23(a )-23(server)]TJ --30.9 -1.2 Td -[(that )-60(is )-60(contacted )-60(by )-60(numer)17(ous )-60(clients, )-60(each )-60(client )-60(can )-60(write )-60(its )-60(r)18(equest )-60(to )-60(a )-60(well-known)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47412 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.2)]TJ -39.439 0 Td -(Overview)Tj -/T1_1 1 Tf -6.394 0 Td -(673)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -0.883 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245T)Tj -0 Tc 2.102 0 Td -[(her)18(e)-290(is)-290(another )-40(input )-40(limit,)]TJ -/TT0 1 Tf -12.228 0 Td -(MAX_CANON)Tj -/T1_0 1 Tf -0.2901 Tc (,t)Tj -0 Tc 6.266 0 Td -[(hat )-40(we )-40(don\325t )-40(show )-40(her)18(e. )-290(This)-290(limit )-40(is)]TJ --19.107 -1.2 Td -(the maximum number of bytes in a canonical input line.)Tj -0.883 Tc -1.489 -1.6 Td -(\245A)Tj -0 Tc 2.267 0 Td -[(lthough )-112(the )-112(size )-112(of )-112(the )-112(output )-112(queue )-112(is )-112(\336nite, )-112(no )-112(constants )-112(de\336ning )-112(that )-112(size)]TJ --0.778 -1.2 Td -(ar)Tj -0.3597 Tc 0.877 0 Td -(ea)Tj -0 Tc 1.339 0 Td -[(ccessible )-110(to )-110(the )-110(pr)18(ogram, )-110(because )-110(when )-110(the )-110(output )-110(queue )-110(starts )-110(to )-110(\336ll )-110(up,)]TJ --2.216 -1.2 Td -[(the kernel simply puts the writing pr)18(ocess to sleep until r)18(oom is available.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245W)Tj -0 Tc 2.397 0 Td -[(e\325ll )-155(see )-155(how )-155(the)]TJ -/TT0 1 Tf -7.69 0 Td -(tcflush)Tj -/T1_0 1 Tf -4.605 0 Td -[(\337ush )-155(function )-155(allows )-155(us )-155(to )-155(\337ush )-155(either )-155(the )-155(input)]TJ --13.203 -1.2 Td -[(queue )-351(or )-351(the )-351(output )-351(queue.)-853(Similarly)]TJ -0.6015 Tc 18.2 0 Td -(,w)Tj -0 Tc 1.686 0 Td -[(hen )-351(we )-351(describe )-351(the)]TJ -/TT0 1 Tf -10.425 0 Td -(tcsetattr)Tj -/T1_0 1 Tf --30.311 -1.2 Td -[(function, )-216(we\325ll )-216(see )-216(how )-216(we )-216(can )-216(tell )-216(the )-216(system )-216(to )-216(change )-216(the )-216(attributes )-216(of )-216(a)]TJ -0 -1.2 TD -[(terminal )-99(device )-99(only )-99(after )-99(the )-99(output )-99(queue )-99(is )-99(empty)]TJ -0.5988 Tc 23.98 0 Td -(.\()Tj --0.092 Tc 1.182 0 Td -[(We )-283(w)]TJ -0 Tc 2.57 0 Td -[(ant )-99(to )-99(do )-99(this, )-99(for)]TJ --27.732 -1.2 Td -[(example, )-34(if )-34(we\325r)]TJ -0.2837 Tc 7.158 0 Td -(ec)Tj -0 Tc 1.207 0 Td -[(hanging )-34(the )-34(output )-34(attributes.\))]TJ --0.092 Tc 14.232 0 Td -[(We )-218(c)]TJ -0 Tc 2.115 0 Td -[(an )-34(also )-34(tell )-34(the )-34(system )-34(to)]TJ --24.711 -1.2 Td -(discar)Tj -0.4078 Tc 2.647 0 Td -(de)Tj -0 Tc 1.498 0 Td -[(verything )-158(in )-158(the )-158(input )-158(queue )-158(when )-158(changing )-158(the )-158(terminal )-158(attributes.)]TJ --4.145 -1.2 Td -(\(W)Tj -0.3195 Tc 1.241 0 Td -(ew)Tj -0 Tc 1.633 0 Td -[(ant )-69(to )-69(do )-69(this )-69(if )-69(we\325r)]TJ -0.3195 Tc 9.249 0 Td -(ec)Tj -0 Tc 1.242 0 Td -[(hanging )-70(the )-70(input )-70(attributes )-70(or )-70(changing )-70(between)]TJ --13.366 -1.2 Td -[(canonical )-78(and )-78(noncanonical )-78(modes, )-78(so )-78(that )-78(pr)18(eviously )-78(enter)18(ed )-78(characters )-78(ar)16(en\325t)]TJ -T* -[(interpr)18(eted in the wr)18(ong mode.\))]TJ --1.489 -2.04 Td -[(Most )-71(UNIX )-71(systems )-71(implement )-71(all )-71(the )-71(canonical )-71(pr)18(ocessing )-71(in )-71(a )-71(module )-71(called )-71(the)]TJ -/T1_2 1 Tf --1.8 -1.2 Td -[(terminal )-229(line )-229(discipline)]TJ -/T1_0 1 Tf -0.7286 Tc 9.756 0 Td -(.W)Tj -0.4786 Tc 1.887 0 Td -(ec)Tj -0 Tc 1.402 0 Td -[(an )-229(think )-229(of )-229(this )-229(module )-229(as )-229(a )-229(box )-229(that )-229(sits )-229(between )-229(the)]TJ --13.044 -1.2 Td -[(kernel\325s generic r)18(ead and write functions and the actual device driver \(see Figur)]TJ -0.25 Tc 35.273 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(8.2\).)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2886 3666 720 288 re -S -Q -BT -/T1_0 1 Tf --0.018 Tc 7.999 0 0 7.999 298.6242 384.1939 Tm -(re)Tj -0 Tc 0.856 0 Td -(ad and write)Tj -0.321 -1.25 Td -(functions)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2886 3090 720 288 re -S -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 309.5563 326.5812 Tm -(terminal)Tj --1.225 -1.25 Td -(line discipline)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2886 2514 720 288 re -S -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 309.5377 268.9754 Tm -(terminal)Tj --1.054 -1.25 Td -(device driver)Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 312.576 337.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 3125.76 3378 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3126.25 3666.25 cm -0 0 m -0 -216 l -S -Q -Q -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 336.624 366.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 3366.24 3666 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3366.25 3594.25 cm -0 0 m -0 -216 l -S -Q -Q -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 312.576 280.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3125.76 2802 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3126.25 3090.25 cm -0 0 m -0 -216 l -S -Q -Q -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 336.624 309 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3366.24 3090 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3366.25 3018.25 cm -0 0 m -0 -216 l -S -Q -Q -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 324.6 395.4 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3246 3954 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 324.6 431.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 3246 4314 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 4026.25 cm -0 0 m -0 216 l -S -Q -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 302.6344 434.3793 Tm -[(user pr)18(ocess)]TJ -ET -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 324.6 251.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 3246 2514 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 324.6 215.4 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 3246 2154 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 2442.25 cm -0 0 m -0 -216 l -S -Q -Q -BT -/T1_0 1 Tf -7.9942 0 0 7.9942 301.251 208.4898 Tm -(actual device)Tj -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 2334.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 2404.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 2475.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 2545.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 2616.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 2687.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 2757.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 2828.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 2898.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 2969.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3039.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3110.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3180.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3251.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3322.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3392.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3463.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3533.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3604.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3674.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3745.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3816.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3886.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3957.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 4027.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 4098.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2781.25 4134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2855.25 4134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2930.25 4134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3004.25 4134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3079.25 4134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3153.25 4134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3228.25 4134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3303.25 4134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3377.25 4134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3452.25 4134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3526.25 4134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3601.25 4134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3675.25 4134.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 4134.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 4063.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3993.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3922.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3852.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3781.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3710.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3640.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3569.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3499.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3428.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3358.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3287.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3216.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3146.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3075.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3005.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 2934.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 2864.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 2793.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 2723.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 2652.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 2581.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 2511.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 2440.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 2370.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3711.25 2334.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3637.25 2334.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3562.25 2334.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3488.25 2334.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3413.25 2334.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3339.25 2334.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3264.25 2334.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3189.25 2334.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3115.25 2334.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3040.25 2334.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2966.25 2334.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2891.25 2334.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2817.25 2334.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2742.25 2334.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9938 0 0 7.9938 380.3032 321.3892 Tm -(kernel)Tj -/T1_1 1 Tf --15.043 -16.88 Td -(Figure 18.2)Tj -/T1_0 1 Tf --0.092 Tc 5.695 0 Td -(Te)Tj -0 Tc 1 0 Td -(rminal line discipline)Tj -9.9922 0 0 9.9922 129.4991 157.677 Tm -[(By )-207(isolating )-207(the )-207(canonical )-207(pr)20(ocessing )-207(in )-207(a )-207(separate )-207(module, )-207(all )-207(terminal )-207(drivers )-207(can)]TJ -T* -[(support )-50(canonical )-50(pr)18(ocessing )-50(consistently)]TJ -0.5504 Tc 18.461 0 Td -(.W)Tj -0 Tc 1.708 0 Td -[(e\325ll )-50(r)18(eturn )-50(to )-50(this )-50(pictur)]TJ -0.3003 Tc 10.44 0 Td -(ew)Tj -0 Tc 1.613 0 Td -[(hen )-50(we )-50(discuss)]TJ --32.222 -1.2 Td -(pseudo terminals in Chapter 19.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47413 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(989)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -[(symbolic link,)-500(55, 94)]TJ -9.291 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(95, 1)55(10)]TJ -3.028 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(111)Tj -0.25 Tc 1.39 0 Td -(,1)Tj -0 Tc 0.945 0 Td -[(14, 1)55(18,)]TJ --13.121 -1.25 Td -(120)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(123, 131, 137, 141, 186, 908)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(909)Tj -/TT0 1 Tf --17.033 -1.25 Td -(symlink)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(123)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(124, 331, 452)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(123)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(symlinkat)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(123)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(124, 331, 452)Tj --11.09 -1.25 Td -[(de\336nition of,)-500(123)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(SYMLINK_MAX)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(39,)-250(44, 49)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(SYMLOOP_MAX)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(40,)-250(43, 48)]TJ -8.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(49)Tj -/TT0 1 Tf --16.163 -1.25 Td -(sync)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(61,)-250(81, 452)]TJ --1.467 -1.25 Td -[(de\336nition of,)-500(81)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(sync)Tj -/T1_0 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(81)]TJ --2.817 -1.25 Td -[(synchr)18(onization mechanisms,)-500(86)]TJ -14.704 0.09 Td -(\320)Tj -0.583 -0.09 Td -(87)Tj --15.288 -1.25 Td -[(synchr)18(onous write,)-500(63, 86)]TJ -11.574 0.09 Td -(\320)Tj -0.583 -0.09 Td -(87)Tj -/TT0 1 Tf --12.157 -1.25 Td -()Tj -/T1_0 1 Tf -7.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(69)Tj -/TT0 1 Tf --11.839 -1.25 Td -(sysconf)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(20,)-250(37, 39, 41)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(48, 50)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(54, 57,)Tj --15.707 -1.25 Td -(59)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(60, 69, 98, 201, 221, 256, 276, 280)Tj -14.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(281,)Tj --16.333 -1.25 Td -(384, 425)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(426, 429, 431, 442, 516, 527, 616, 618,)Tj --4.166 -1.25 Td -(623, 800, 815, 907)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(42)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(sysctl)Tj -/T1_0 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(315,)-250(559)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(sysdef)Tj -/T1_0 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(559)]TJ -/TT0 1 Tf --4.017 -1.25 Td -()Tj -/T1_0 1 Tf -10.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,8)Tj -0 Tc 1.25 0 Td -(8)Tj -/TT0 1 Tf --14.839 -1.25 Td -()Tj -/T1_0 1 Tf -8.217 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,8)Tj -0 Tc 1.25 0 Td -(8)Tj -/TT0 1 Tf --12.439 -1.25 Td -()Tj -/T1_0 1 Tf -7.017 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(0, 558)Tj -/TT0 1 Tf --11.239 -1.25 Td -()Tj -/T1_0 1 Tf -13.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(14)Tj -/TT0 1 Tf --17.839 -1.25 Td -(syslog)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(452,)-250(465, 468)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(476, 478)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(480,)Tj --16.107 -1.25 Td -(615)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(619, 622)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(623, 901, 904, 928)Tj --7.683 -1.25 Td -[(de\336nition of,)-500(470)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(syslogd)Tj -/T1_0 1 Tf -4.617 0 Td -[(pr)18(ogram, )-250(470)]TJ -6.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(471, 473, 475, 479)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(480)Tj -/TT0 1 Tf --19.558 -1.25 Td -()Tj -/T1_0 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(0)Tj -/TT0 1 Tf --10.639 -1.25 Td -()Tj -/T1_0 1 Tf -8.217 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(38)Tj -/TT0 1 Tf --12.439 -1.25 Td -()Tj -/T1_0 1 Tf -7.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --11.839 -1.25 Td -()Tj -/T1_0 1 Tf -7.017 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(0)Tj -/TT0 1 Tf --11.239 -1.25 Td -()Tj -/T1_0 1 Tf -7.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,8)Tj -0 Tc 1.25 0 Td -(8)Tj -/TT0 1 Tf --11.839 -1.25 Td -()Tj -/T1_0 1 Tf -8.217 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,4)Tj -0 Tc 1.25 0 Td -(9, 51)Tj -/TT0 1 Tf --12.439 -1.25 Td -()Tj -/T1_0 1 Tf -10.017 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(0)Tj -/TT0 1 Tf --14.239 -1.25 Td -()Tj -/T1_0 1 Tf -8.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9, 501, 504, 932)Tj -6.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(933)Tj -/TT0 1 Tf --20.205 -1.25 Td -()Tj -/T1_0 1 Tf -7.017 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(0, 568)Tj -/TT0 1 Tf --11.239 -1.25 Td -()Tj -/T1_0 1 Tf -7.017 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(0)Tj -/TT0 1 Tf --11.239 -1.25 Td -(sys_siglist)Tj -/T1_0 1 Tf -7.017 0 Td -[(variable, )-250(379)]TJ -/TT0 1 Tf --7.017 -1.25 Td -()Tj -/T1_0 1 Tf -8.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(14)Tj -/TT0 1 Tf --13.039 -1.25 Td -()Tj -/T1_0 1 Tf -8.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9, 608)Tj -/TT0 1 Tf --13.039 -1.25 Td -()Tj -/T1_0 1 Tf -8.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,8)Tj -0 Tc 1.25 0 Td -(8)Tj -/TT0 1 Tf --13.039 -1.25 Td -()Tj -/T1_0 1 Tf -7.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9, 97)Tj -/TT0 1 Tf --11.839 -1.25 Td -()Tj -/T1_0 1 Tf -9.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --13.639 -1.25 Td -()Tj -/T1_0 1 Tf -10.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(38)Tj --14.839 -1.25 Td -[(system calls,)-500(1, 21)]TJ -1.35 -1.25 Td -[(interr)8(upted, )-250(327)]TJ -7.413 0.09 Td -(\320)Tj -0.583 -0.09 Td -(330, 343, 351, 354)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(355, 365,)Tj --14.813 -1.25 Td -(508)Tj --0.018 Tc -1.35 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(started, )-250(329)]TJ -5.394 0.09 Td -(\320)Tj -0.583 -0.09 Td -(330, 342)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(343, 351, 354, 508, 700)Tj --11 -1.25 Td -[(tracing, )-250(497)]TJ -0 -1.25 TD -[(versus functions,)-500(21)]TJ -9.104 0.09 Td -(\320)Tj -0.583 -0.09 Td -(23)Tj -/TT0 1 Tf --11.038 -1.25 Td -(system)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(23,)-250(129, 227, 249, 264)]TJ -13.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(269,)Tj --15.44 -1.25 Td -(281)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(283, 349, 367)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(372, 381, 451, 538, 542,)Tj -17.667 66.25 Td -(923, 936)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(265)]TJ -7.775 0.09 Td -(\320)Tj -0.583 -0.09 Td -(266, 369)Tj --0.018 Tc -8.359 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn value,)-500(371)]TJ --2.206 -1.25 Td -[(system identi\336cation,)-500(187)]TJ -11.549 0.09 Td -(\320)Tj -0.583 -0.09 Td -(189)Tj --12.133 -1.25 Td -[(system pr)18(ocess, )-250(228,)-250(337)]TJ -T* -(System V)Tj -0.5 Tc 4.036 0 Td -(,x)Tj -0 Tc 1.266 0 Td -(xv)Tj -0.25 Tc 0.97 0 Td -(,8)Tj -0 Tc 1 0 Td -(7, 464, 466, 469, 475, 482, 485,)Tj --4.572 -1.25 Td -(500)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(501, 506, 509)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(510, 722, 726)Tj --11.033 -1.25 Td -(System V Interface De\336nition,)Tj -/T1_2 1 Tf -13.766 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -(SVID)Tj -/TT0 1 Tf --15.183 -1.25 Td -()Tj -/T1_0 1 Tf -7.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(0, 501)Tj -/TT0 1 Tf --11.839 -1.25 Td -()Tj -/T1_0 1 Tf -8.217 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --12.439 -1.25 Td -()Tj -/T1_0 1 Tf -8.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,8)Tj -0 Tc 1.25 0 Td -(8)Tj -/TT0 1 Tf --13.039 -1.25 Td -()Tj -/T1_0 1 Tf -8.217 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9, 58, 138, 501, 557, 933)Tj -/TT0 1 Tf --12.439 -1.25 Td -()Tj -/T1_0 1 Tf -7.017 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(0)Tj -/TT0 1 Tf --11.239 -1.25 Td -()Tj -/T1_0 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9, 634)Tj -/TT0 1 Tf --10.639 -1.25 Td -()Tj -/T1_0 1 Tf -9.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --13.639 -1.25 Td -()Tj -/T1_0 1 Tf -7.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9, 239)Tj -/TT0 1 Tf --11.839 -7 Td -(TAB0)Tj -/T1_0 1 Tf -2.817 0 Td -[(constant, )-250(691)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(TAB1)Tj -/T1_0 1 Tf -2.817 0 Td -[(constant, )-250(691)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(TAB2)Tj -/T1_0 1 Tf -2.817 0 Td -[(constant, )-250(691)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(TAB3)Tj -/T1_0 1 Tf -2.817 0 Td -[(constant, )-250(690)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(691)Tj -/TT0 1 Tf --9.463 -1.25 Td -(TABDLY)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(684, 689)]TJ -10.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(691)Tj --0.092 Tc -14.663 -1.25 Td -(Ta)Tj -0 Tc 1.021 0 Td -[(nkus, E.,)-500(xxxii)]TJ -/TT0 1 Tf --1.021 -1.25 Td -(tar)Tj -/T1_0 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(127,)-250(135, 142, 910)]TJ -12.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(91)55(1)]TJ -/TT0 1 Tf --14.991 -1.25 Td -()Tj -/T1_0 1 Tf -4.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --8.839 -1.25 Td -(tcdrain)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(322,)-250(331, 451, 677, 693)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(693)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(tcflag_t)Tj -/T1_0 1 Tf -5.217 0 Td -[(data type,)-500(674)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(tcflow)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(322,)-250(331, 677, 693)]TJ --2.667 -1.25 Td -[(de\336nition of,)-500(693)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(tcflush)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(145,)-250(322, 331, 673, 677, 693)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(693)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(tcgetattr)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(331,)-250(674, 677, 679, 683)]TJ -14.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(684,)Tj --17.74 -1.25 Td -(691)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(692, 695, 701, 705)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(707, 722, 730)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(731)Tj --17.849 -1.25 Td -[(de\336nition of,)-500(683)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(tcgetpgrp)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(298)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(299, 331, 674, 677)Tj --11.09 -1.25 Td -[(de\336nition of,)-500(298)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(tcgetsid)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(298)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(299, 674, 677)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(299)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(TCIFLUSH)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(693)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(TCIOFF)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(693)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(TCIOFLUSH)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(693)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(TCION)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(693)]TJ --3.417 -1.25 Td -[(TCMalloc, )-250(210,)-250(949)]TJ -/TT0 1 Tf -T* -(TCOFLUSH)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(693)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(TCOOFF)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(693)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(TCOON)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(693)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(TCSADRAIN)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(683)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(TCSAFLUSH)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(679,)-250(683, 701, 705)]TJ -12.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(707)Tj -/TT0 1 Tf --18.463 -1.25 Td -(TCSANOW)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(683)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(684, 728, 731)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47414 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.6)]TJ -40.154 0 Td -[(XSI )-250(IPC)]TJ -/T1_1 1 Tf -5.679 0 Td -(557)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(given )-197(IPC )-197(str)7(uctur)18(e)-447(is)-447(c)]TJ --0.018 Tc 11.04 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ated )-197(and )-197(then )-197(r)17(emoved, )-197(the )-197(identi\336er )-197(associated )-197(with )-197(that)]TJ --11.896 -1.2 Td -[(str)8(uctur)]TJ -0.5237 Tc 3.49 0 Td -(ec)Tj -0 Tc 1.447 0 Td -[(ontinually )-274(incr)18(eases )-274(until )-274(it )-274(r)18(eaches )-274(the )-274(maximum )-274(positive )-274(value )-274(for )-274(an)]TJ --4.937 -1.2 Td -(integer)Tj -0.25 Tc 3.034 0 Td -(,a)Tj -0 Tc 1 0 Td -[(nd then wraps ar)18(ound to 0.)]TJ --2.234 -1.2 Td -[(The )-37(identi\336er )-37(is )-37(an )-37(internal )-37(name )-37(for )-37(an )-37(IPC )-37(object.)-537(Cooperating )-37(pr)18(ocesses )-37(need )-37(an)]TJ --1.8 -1.2 Td -[(external )-107(naming )-107(scheme )-107(to )-107(be )-107(able )-107(to )-107(r)18(endezvous )-107(using )-107(the )-107(same )-107(IPC )-107(object.)-610(For )-107(this)]TJ -0 -1.2 TD -(purpose, an IPC object is associated with a)Tj -/T1_2 1 Tf -19.006 0 Td -(key)Tj -/T1_0 1 Tf -1.583 0 Td -(that acts as an external name.)Tj --18.789 -1.2 Td -[(Whenever )-342(an )-342(IPC )-342(str)9(uctur)]TJ -0.5917 Tc 12.558 0 Td -(ei)Tj -0.5916 Tc 1.362 0 Td -(sb)Tj -0 Tc 1.569 0 Td -[(eing )-342(cr)18(eated )-342(\(by )-342(calling)]TJ -/TT0 1 Tf -11.887 0 Td -(msgget)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.442 0 Td -(semget)Tj -/T1_0 1 Tf -0.5916 Tc (,o)Tj -0 Tc 4.988 0 Td -(r)Tj -/TT0 1 Tf --38.605 -1.2 Td -(shmget)Tj -/T1_0 1 Tf -[(\), )-6(a )-6(key )-6(must )-6(be )-6(speci\336ed.)-509(The )-7(data )-7(type )-7(of )-7(this )-7(key )-7(is )-7(the )-7(primitive )-7(system )-7(data)]TJ -T* -(type)Tj -/TT0 1 Tf -2.335 0 Td -(key_t)Tj -/T1_0 1 Tf -0.3727 Tc (,w)Tj -0 Tc 4.457 0 Td -[(hich )-123(is )-123(often )-123(de\336ned )-123(as )-123(a )-123(long )-123(integer )-123(in )-123(the )-123(header)]TJ -/TT0 1 Tf -24.159 0 Td -()Tj -/T1_0 1 Tf -(.)Tj --30.95 -1.2 Td -(This key is converted into an identi\336er by the kernel.)Tj -1.8 -1.2 Td -(Ther)Tj -0.4248 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.404 0 Td -[(re )-211(v)]TJ -0 Tc 1.846 0 Td -[(arious )-175(ways )-175(for )-175(a )-175(client )-175(and )-175(a )-175(server )-175(to )-175(r)18(endezvous )-175(at )-175(the )-175(same )-175(IPC)]TJ --7.101 -1.2 Td -[(str)8(uctur)18(e.)]TJ -1.8 -2.4 Td -[(1. )-633(The)-290(server )-40(can )-40(cr)18(eate )-40(a )-40(new )-40(IPC )-40(str)6(uctur)18(e)-290(by)-290(s)-1(pecifying )-40(a )-40(key )-40(of)]TJ -/TT0 1 Tf -30.6 0 Td -(IPC_PRIVATE)Tj -/T1_0 1 Tf --28.967 -1.2 Td -[(and )-202(stor)]TJ -0.452 Tc 3.818 0 Td -(et)Tj -0 Tc 1.257 0 Td -[(he )-202(r)18(eturned )-202(identi\336er )-202(somewher)]TJ -0.4521 Tc 14.932 0 Td -(e\()Tj -0 Tc 1.264 0 Td -[(such )-202(as )-202(a )-202(\336le\) )-202(for )-202(the )-202(client )-202(to)]TJ --21.271 -1.2 Td -[(obtain. )-421(The)-421(key)]TJ -/TT0 1 Tf -7.825 0 Td -(IPC_PRIVATE)Tj -/T1_0 1 Tf -7.021 0 Td -[(guarantees )-171(that )-171(the )-171(server )-171(cr)18(eates )-171(a )-171(new )-171(IPC)]TJ --14.846 -1.2 Td -[(str)8(uctur)18(e. )-333(The)-334(disadvantage )-84(of )-84(this )-84(technique )-84(is )-84(that )-84(\336le )-84(system )-84(operations )-84(ar)22(e)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(ed )-105(for )-105(the )-105(server )-105(to )-105(write )-105(the )-105(integer )-105(identi\336er )-105(to )-105(a )-105(\336le, )-105(and )-105(then )-105(for )-105(the)]TJ --0.856 -1.2 Td -[(clients to r)18(etrieve this identi\336er later)74(.)]TJ -0 -1.8 TD -(The)Tj -/TT0 1 Tf -2.021 0 Td -(IPC_PRIVATE)Tj -/T1_0 1 Tf -6.947 0 Td -[(key )-97(is )-97(also )-97(used )-97(in )-97(a )-97(par)15(ent\320child )-98(r)18(elationship. )-348(The)-347(par)18(ent)]TJ --8.969 -1.2 Td -[(cr)18(eates )-429(a )-429(new )-429(IPC )-429(str)9(uctur)]TJ -0.6787 Tc 13.279 0 Td -(es)Tj -0 Tc 1.582 0 Td -(pecifying)Tj -/TT0 1 Tf -4.812 0 Td -(IPC_PRIVATE)Tj -/T1_0 1 Tf -0.6786 Tc (,a)Tj -0 Tc 8.029 0 Td -[(nd )-429(the )-429(r)19(esulting)]TJ --27.701 -1.2 Td -[(identi\336er )-129(is )-129(then )-129(available )-129(to )-129(the )-129(child )-129(after )-129(the)]TJ -/TT0 1 Tf -22.018 0 Td -(fork)Tj -/T1_0 1 Tf -0.6287 Tc (.T)Tj -0 Tc 3.892 0 Td -[(he )-129(child )-129(can )-129(pass )-129(the)]TJ --25.91 -1.2 Td -[(identi\336er to a new pr)18(ogram as an ar)18(gument to one of the)]TJ -/TT0 1 Tf -25.241 0 Td -(exec)Tj -/T1_0 1 Tf -2.65 0 Td -(functions.)Tj --29.524 -1.6 Td -[(2. )-633(The)-342(client )-92(and )-92(the )-92(server )-92(can )-92(agr)18(ee )-92(on )-92(a )-92(key )-92(by )-92(de\336ning )-92(the )-92(key )-92(in )-92(a )-92(common)]TJ -1.633 -1.2 Td -(header)Tj -0.2682 Tc 2.972 0 Td -(,f)Tj -0 Tc 0.851 0 Td -[(or )-18(example.)-518(The )-18(server )-18(then )-18(cr)17(eates )-18(a )-18(new )-18(IPC )-18(str)7(uctur)]TJ -0.2683 Tc 24.548 0 Td -(es)Tj -0 Tc 1.171 0 Td -[(pecifying )-18(this)]TJ --29.543 -1.2 Td -(key)Tj -0.5758 Tc 1.48 0 Td -(.T)Tj -0 Tc 1.439 0 Td -[(he )-76(pr)18(oblem )-76(with )-76(this )-76(appr)18(oach )-76(is )-76(that )-76(it\325s )-76(possible )-76(for )-76(the )-76(key )-76(to )-76(alr)21(eady)]TJ --2.919 -1.2 Td -[(be )-123(associated )-123(with )-123(an )-123(IPC )-123(str)8(uctur)18(e, )-123(in )-123(which )-123(case )-123(the)]TJ -/TT0 1 Tf -25.131 0 Td -(get)Tj -/T1_0 1 Tf -2.173 0 Td -[(function )-123(\()]TJ -/TT0 1 Tf -(msgget)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf --27.304 -1.2 Td -(semget)Tj -/T1_0 1 Tf -0.5704 Tc (,o)Tj -0 Tc 4.966 0 Td -(r)Tj -/TT0 1 Tf -0.965 0 Td -(shmget)Tj -/T1_0 1 Tf -0.5704 Tc (\)r)Tj -0 Tc 4.88 0 Td -[(eturns )-320(an )-320(err)17(or)]TJ -0.8204 Tc 7.15 0 Td -(.T)Tj -0 Tc 1.683 0 Td -[(he )-320(server )-320(must )-320(handle )-320(this )-320(err)17(or)74(,)]TJ --19.645 -1.2 Td -[(deleting the existing IPC str)8(uctur)18(e, and try to cr)18(eate it again.)]TJ --1.633 -1.6 Td -[(3. )-633(The)-268(client )-18(and )-18(the )-18(server )-18(can )-18(agr)18(ee )-18(on )-18(a )-18(pathname )-18(and )-18(pr)21(oject )-18(ID )-18(\(the )-18(pr)18(oject )-18(ID)]TJ -1.633 -1.2 Td -[(is )-119(a )-119(character )-119(value )-119(between )-119(0 )-119(and )-119(255\) )-119(and )-119(call )-119(the )-119(function)]TJ -/TT0 1 Tf -28.219 0 Td -(ftok)Tj -/T1_0 1 Tf -2.769 0 Td -[(to )-119(convert)]TJ --30.989 -1.2 Td -[(these )-109(two )-109(values )-109(into )-109(a )-109(key)]TJ -0.6095 Tc 12.381 0 Td -(.T)Tj -0 Tc 1.472 0 Td -[(his )-110(key )-110(is )-110(then )-110(used )-110(in )-110(step )-110(2.)-610(The )-110(only )-110(service)]TJ --13.853 -1.2 Td -[(pr)18(ovided )-17(by)]TJ -/TT0 1 Tf -5.724 0 Td -(ftok)Tj -/T1_0 1 Tf -2.667 0 Td -[(is )-17(a )-17(way )-17(of )-17(generating )-17(a )-17(key )-17(fr)19(om )-17(a )-17(pathname )-17(and )-17(pr)18(oject )-17(ID.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5903 245.8852 Tm -(#include )Tj -0 -1.902 TD -(key_t ftok\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 17.377 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(id)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -2.383 -1.902 Td -(Returns: key if OK,)Tj -/TT0 1 Tf -8.704 0 Td -(\(key_t\))Tj -/TT1 1 Tf -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2071.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 191.237 Tm -(The)Tj -/T1_2 1 Tf -1.937 0 Td -(path)Tj -/T1_0 1 Tf -2.04 0 Td -[(ar)18(gument )-13(must )-13(r)17(efer )-13(to )-13(an )-13(existing )-13(\336le.)-513(Only )-13(the )-13(lower )-13(8 )-13(bits )-13(of)]TJ -/T1_2 1 Tf -28.444 0 Td -(id)Tj -/T1_0 1 Tf -1.041 0 Td -(ar)Tj -0.2635 Tc 0.877 0 Td -(eu)Tj -0 Tc 1.346 0 Td -(sed)Tj --37.486 -1.2 Td -[(when generating the key)111(.)]TJ -1.8 -1.2 Td -[(The )-197(key )-197(cr)18(eated )-197(by)]TJ -/TT0 1 Tf -9.377 0 Td -(ftok)Tj -/T1_0 1 Tf -2.847 0 Td -[(is )-197(usually )-197(formed )-197(by )-197(taking )-197(parts )-197(of )-197(the)]TJ -/TT0 1 Tf -19.236 0 Td -(st_dev)Tj -/T1_0 1 Tf -4.047 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(st_ino)Tj -/T1_0 1 Tf -3.903 0 Td -[(\336elds )-53(in )-53(the)]TJ -/TT0 1 Tf -5.578 0 Td -(stat)Tj -/T1_0 1 Tf -2.703 0 Td -[(str)8(uctur)]TJ -0.3027 Tc 3.49 0 Td -(e\()Tj -0 Tc 1.115 0 Td -[(Section )-53(4.2\) )-53(corr)18(esponding )-53(to )-53(the )-53(given )-53(pathname)]TJ --16.788 -1.2 Td -[(and )-74(combining )-74(them )-74(with )-74(the )-74(pr)18(oject )-74(ID.)-574(If )-74(two )-74(pathnames )-74(r)18(efer )-74(to )-74(two )-74(dif)19(fer)18(ent )-74(\336les,)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47415 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(138)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -0.883 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245W)Tj -0.27 Tc 2.397 0 Td -(ec)Tj -0 Tc 1.193 0 Td -[(an )-20(usually )-20(access )-20(the )-20(major )-20(and )-20(minor )-20(device )-20(numbers )-20(thr)18(ough )-20(two )-20(macr)18(os)]TJ --2.101 -1.2 Td -[(de\336ned )-105(by )-105(most )-105(implementations:)]TJ -/TT0 1 Tf -15.81 0 Td -(major)Tj -/T1_1 1 Tf -3.355 0 Td -(and)Tj -/TT0 1 Tf -2.048 0 Td -(minor)Tj -/T1_1 1 Tf -0.6052 Tc (.C)Tj -0 Tc 4.564 0 Td -[(onsequently)111(,)-355(we)-355(don\325t)]TJ --25.778 -1.2 Td -(car)Tj -0.25 Tc 1.321 0 Td -(eh)Tj -0 Tc 1.311 0 Td -(ow the two numbers ar)Tj -0.25 Tc 10.269 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(tor)18(ed in a)]TJ -/TT0 1 Tf -4.462 0 Td -(dev_t)Tj -/T1_1 1 Tf -3.25 0 Td -(object.)Tj -7.9995 0 0 7.9995 201.5885 624.9625 Tm -[(Early )-207(systems )-207(stor)18(ed )-207(the )-207(device )-207(number )-207(in )-207(a )-207(16)]TJ -22.415 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-207(integer)]TJ -0.4574 Tc 4.661 0 Td -(,w)Tj -0 Tc 1.541 0 Td -[(ith )-207(8 )-207(bits )-207(for )-207(the )-207(major)]TJ --28.951 -1.25 Td -[(number )-78(and )-78(8 )-78(bits )-78(for )-78(the )-78(minor )-78(number)]TJ -0.5775 Tc 18.354 0 Td -(.F)Tj --0.018 Tc 1.384 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD )-77(8.0 )-77(and )-77(Mac )-77(OS )-77(X )-77(10.6.8 )-77(use )-77(a )-77(32)]TJ -17.653 0.09 Td -(-)Tj -0.333 -0.09 Td -(bit)Tj --38.58 -1.25 Td -(integer)Tj -0.3868 Tc 3.034 0 Td -(,w)Tj -0 Tc 1.471 0 Td -[(ith )-137(8 )-137(bits )-137(for )-137(the )-137(major )-137(number )-137(and )-137(24 )-137(bits )-137(for )-137(the )-137(minor )-137(number)]TJ -0.6368 Tc 30.101 0 Td -(.O)Tj -0.3868 Tc 1.673 0 Td -(n3)Tj -0 Tc 1.469 0 Td -(2)Tj -0.5 0.09 Td -(-)Tj -0.333 -0.09 Td -(bit)Tj --38.58 -1.25 Td -[(systems, )-89(Solaris )-89(10 )-89(uses )-89(a )-89(32)]TJ -12.866 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-89(integer )-89(for)]TJ -/TT0 1 Tf -6.571 0 Td -(dev_t)Tj -/T1_1 1 Tf -0.3395 Tc (,w)Tj -0 Tc 4.423 0 Td -[(ith )-89(14 )-89(bits )-89(designated )-89(as )-89(the )-89(major)]TJ --24.192 -1.25 Td -[(number )-255(and )-255(18 )-255(bits )-255(designated )-255(as )-255(the )-255(minor )-255(number)]TJ -0.7555 Tc 25.113 0 Td -(.O)Tj -0.5055 Tc 1.791 0 Td -(n6)Tj -0 Tc 1.587 0 Td -(4)Tj -0.5 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-255(systems, )-255(Solaris )-255(10)]TJ --0.018 Tc -29.325 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(pr)18(esents)]TJ -/TT0 1 Tf -4.188 0 Td -(dev_t)Tj -/T1_1 1 Tf -3.496 0 Td -[(as )-246(a )-246(64)]TJ -3.416 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-246(integer)]TJ -0.496 Tc 4.7 0 Td -(,w)Tj -0 Tc 1.58 0 Td -[(ith )-246(32 )-246(bits )-246(for )-246(each )-246(number)]TJ -0.7459 Tc 12.972 0 Td -(.O)Tj -0.4959 Tc 1.782 0 Td -(nL)Tj -0 Tc 1.689 0 Td -[(inux )-246(3.2.0,)]TJ --35.012 -1.25 Td -(although)Tj -/TT0 1 Tf -4.263 0 Td -(dev_t)Tj -/T1_1 1 Tf -3.277 0 Td -[(is )-27(a )-27(64)]TJ -2.77 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-27(integer)]TJ -0.2776 Tc 4.481 0 Td -(,o)Tj -0 Tc 1.074 0 Td -[(nly )-28(12 )-28(bits )-28(ar)]TJ -0.2776 Tc 5.733 0 Td -(eu)Tj -0 Tc 1.36 0 Td -[(sed )-28(for )-28(the )-28(major )-28(number )-28(and )-28(20 )-28(bits)]TJ --23.292 -1.25 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(eu)Tj -0 Tc 1.332 0 Td -[(sed for the minor number)74(.)]TJ --2.209 -1.875 Td -[(POSIX.1 )-83(states )-83(that )-83(the)]TJ -/TT0 1 Tf -10.602 0 Td -(dev_t)Tj -/T1_1 1 Tf -3.333 0 Td -[(type )-83(exists, )-83(but )-83(doesn\325t )-83(de\336ne )-83(what )-83(it )-83(contains )-83(or )-83(how )-83(to)]TJ --13.935 -1.25 Td -[(get )-60(at )-60(its )-60(contents.)-560(The )-60(macr)19(os)]TJ -/TT0 1 Tf -14.143 0 Td -(major)Tj -/T1_1 1 Tf -3.31 0 Td -(and)Tj -/TT0 1 Tf -2.003 0 Td -(minor)Tj -/T1_1 1 Tf -3.31 0 Td -(ar)Tj -0.3098 Tc 0.877 0 Td -(ed)Tj -0 Tc 1.4 0 Td -[(e\336ned )-60(by )-60(most )-60(implementations.)]TJ --25.042 -1.25 Td -[(Which )-324(header )-324(they )-324(ar)]TJ -0.574 Tc 10.487 0 Td -(ed)Tj -0 Tc 1.664 0 Td -[(e\336ned )-324(in )-324(depends )-324(on )-324(the )-324(system.)-824(They )-324(can )-324(be )-324(found )-324(in)]TJ -/TT0 1 Tf --12.151 -1.25 Td -()Tj -/T1_1 1 Tf -8.29 0 Td -[(on )-240(BSD)]TJ -3.528 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-240(systems.)-740(Solaris )-240(de\336nes )-240(their )-240(function )-240(pr)19(ototypes )-240(in)]TJ -/TT0 1 Tf --12.151 -1.25 Td -()Tj -/T1_1 1 Tf -0.2589 Tc (,b)Tj -0 Tc 8.862 0 Td -[(ecause )-9(the )-9(macr)]TJ -0.2589 Tc 7.038 0 Td -(od)Tj -0 Tc 1.416 0 Td -[(e\336nitions )-9(in)]TJ -/TT0 1 Tf -5.517 0 Td -()Tj -/T1_1 1 Tf -10.459 0 Td -(ar)Tj -0.2589 Tc 0.877 0 Td -(ec)Tj -0 Tc 1.182 0 Td -[(onsider)18(ed)]TJ --35.35 -1.25 Td -[(obsolete )-324(in )-324(Solaris.)-824(Linux )-324(de\336nes )-324(these )-324(macr)17(os )-324(in)]TJ -/TT0 1 Tf -24.703 0 Td -()Tj -/T1_1 1 Tf -0.5744 Tc (,w)Tj -0 Tc 11.858 0 Td -[(hich )-324(is)]TJ --36.562 -1.25 Td -(included by)Tj -/TT0 1 Tf -5.521 0 Td -()Tj -/T1_1 1 Tf -(.)Tj -0.883 Tc 9.9994 0 0 9.9994 147.5921 455.9726 Tm -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.417 0 Td -(st_dev)Tj -/T1_1 1 Tf -3.956 0 Td -[(value )-106(for )-106(every )-106(\336lename )-106(on )-106(a )-106(system )-106(is )-106(the )-106(device )-106(number )-106(of )-106(the)]TJ --5.986 -1.2 Td -[(\336le system containing that \336lename and its corr)18(esponding i-node.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245O)Tj -0 Tc 2.275 0 Td -[(nly )-36(character )-36(special )-36(\336les )-36(and )-36(block )-36(special )-36(\336les )-36(have )-36(an)]TJ -/TT0 1 Tf -25.305 0 Td -(st_rdev)Tj -/T1_1 1 Tf -4.486 0 Td -[(value. )-286(This)]TJ --30.577 -1.2 Td -(value contains the device number for the actual device.)Tj -/TT1 1 Tf --6.889 -2.4 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(The )-29(pr)18(ogram )-29(in )-29(Figur)]TJ -0.2794 Tc 9.626 0 Td -(e4)Tj -0 Tc 1.258 0 Td -[(.25 )-29(prints )-29(the )-29(device )-29(number )-29(for )-29(each )-29(command)]TJ -21.304 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-29(ar)18(gument.)]TJ --32.522 -1.2 Td -[(Additionally)111(,)-311(if)-311(the )-61(ar)18(gument )-61(r)18(efers )-61(to )-61(a )-61(character )-61(special )-61(\336le )-61(or )-61(a )-61(block )-61(special )-61(\336le, )-61(the)]TJ -/TT0 1 Tf -0 -1.2 TD -(st_rdev)Tj -/T1_1 1 Tf -4.45 0 Td -(value for the special \336le is printed.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3368.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 327.2597 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#ifdef SOLARIS)Tj -T* -(#include )Tj -T* -(#endif)Tj -0 -2.259 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-4800(i;)]TJ -0 -1.189 TD -(struct stat buf;)Tj -0 -2.259 TD -(for \(i = 1; i < argc; i++\) {)Tj -2.4 -1.189 Td -(printf\("%s: ", argv[i]\);)Tj -0 -1.189 TD -(if \(stat\(argv[i], &buf\) < 0\) {)Tj -2.4 -1.189 Td -(err_ret\("stat error"\);)Tj -T* -(continue;)Tj --2.4 -1.189 Td -(})Tj -0 -2.259 TD -[(printf\("dev = %d/%d", major\(buf.st_dev\),)-1200(minor\(buf.st_dev\)\);)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47416 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(13.6)]TJ -33.937 0 Td -[(Daemon )-250(Conventions)]TJ -/T1_1 1 Tf -11.896 0 Td -(475)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -0.883 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(\245I)Tj -0.3398 Tc 1.826 0 Td -(ft)Tj -0 Tc 0.999 0 Td -[(he )-90(daemon )-90(supports )-90(con\336guration )-90(options, )-90(they )-90(ar)]TJ -0.3398 Tc 22.983 0 Td -(eu)Tj -0 Tc 1.422 0 Td -[(sually )-90(stor)18(ed )-90(in)]TJ -/TT0 1 Tf -7.321 0 Td -(/etc)Tj -/T1_0 1 Tf -(.)Tj --33.061 -1.2 Td -[(The )-231(con\336guration )-231(\336le )-231(is )-231(named)]TJ -/T1_2 1 Tf -15.199 0 Td -(name)Tj -/TT0 1 Tf -(.conf)Tj -/T1_0 1 Tf -0.4808 Tc (,w)Tj -0 Tc 6.732 0 Td -[(her)18(e)]TJ -/T1_2 1 Tf -2.398 0 Td -(name)Tj -/T1_0 1 Tf -2.648 0 Td -[(is )-231(the )-231(name )-231(of )-231(the)]TJ --26.976 -1.2 Td -[(daemon )-248(or )-248(the )-248(name )-248(of )-248(the )-248(service.)-748(For )-248(example, )-248(the )-248(con\336guration )-248(for )-248(the)]TJ -/TT0 1 Tf -0 -1.2 TD -(syslogd)Tj -/T1_0 1 Tf -4.45 0 Td -(daemon is usually)Tj -/TT0 1 Tf -8.334 0 Td -(/etc/syslog.conf)Tj -/T1_0 1 Tf -(.)Tj -0.883 Tc -14.273 -1.6 Td -(\245D)Tj -0 Tc 2.263 0 Td -[(aemons )-160(can )-160(be )-160(started )-160(fr)18(om )-160(the )-160(command )-160(line, )-160(but )-160(they )-160(ar)]TJ -0.4105 Tc 27.308 0 Td -(eu)Tj -0 Tc 1.492 0 Td -[(sually )-160(started)]TJ --29.574 -1.2 Td -[(fr)18(om )-22(one )-22(of )-22(the )-22(system )-22(initialization )-22(scripts )-22(\()]TJ -/TT0 1 Tf -19.852 0 Td -(/etc/rc*)Tj -/T1_0 1 Tf -5.072 0 Td -(or)Tj -/TT0 1 Tf -1.213 0 Td -(/etc/init.d/*)Tj -/T1_0 1 Tf -[(\). )-272(If)]TJ --26.136 -1.2 Td -[(the )-63(daemon )-63(should )-63(be )-63(r)16(estarted )-63(automatically )-63(when )-63(it )-63(exits, )-63(we )-63(can )-63(arrange )-63(for)]TJ -/TT0 1 Tf -T* -(init)Tj -/T1_0 1 Tf -2.92 0 Td -[(to )-270(r)18(estart )-270(it )-270(if )-270(we )-270(include )-270(a)]TJ -/TT0 1 Tf -13.691 0 Td -(respawn)Tj -/T1_0 1 Tf -4.72 0 Td -[(entry )-270(for )-270(it )-270(in)]TJ -/TT0 1 Tf -7.181 0 Td -(/etc/inittab)Tj -/T1_0 1 Tf --28.511 -1.2 Td -(\(assuming the system uses a System V style)Tj -/TT0 1 Tf -19.496 0 Td -(init)Tj -/T1_0 1 Tf -2.65 0 Td -(command\).)Tj -0.883 Tc -23.635 -1.6 Td -(\245I)Tj -0.2648 Tc 1.826 0 Td -(fad)Tj -0 Tc 1.974 0 Td -[(aemon )-15(has )-15(a )-15(con\336guration )-15(\336le, )-15(the )-15(daemon )-15(r)18(eads )-15(the )-15(\336le )-15(when )-15(it )-15(starts, )-15(but)]TJ --2.311 -1.2 Td -[(usually )-15(won\325t )-15(look )-15(at )-15(it )-15(again.)-513(If )-15(an )-15(administrator )-15(changes )-15(the )-15(con\336guration, )-15(the)]TJ -T* -[(daemon )-1(would )-1(need )-1(to )-1(be )-1(stopped )-1(and )-1(r)18(estarted )-1(to )-1(account )-1(for )-1(the )-1(con\336guration)]TJ -T* -[(changes. )-513(T)]TJ -0.5129 Tc 5.101 0 Td -(oa)Tj -0 Tc 1.559 0 Td -[(void )-263(this, )-263(some )-263(daemons )-263(will )-263(catch)]TJ -/TT0 1 Tf -17.323 0 Td -(SIGHUP)Tj -/T1_0 1 Tf -4.113 0 Td -[(and )-263(r)18(er)18(ead )-263(their)]TJ --28.096 -1.2 Td -[(con\336guration )-202(\336les )-202(when )-202(they )-202(r)18(eceive )-202(the )-202(signal.)-702(Since )-202(they )-202(ar)18(en\325t )-202(associated)]TJ -T* -[(with )-160(terminals )-160(and )-160(ar)]TJ -0.4105 Tc 10.006 0 Td -(ee)Tj -0 Tc 1.369 0 Td -[(ither )-160(session )-160(leaders )-160(without )-160(contr)18(olling )-160(terminals )-160(or)]TJ --11.374 -1.2 Td -[(members )-206(of )-206(orphaned )-206(pr)18(ocess )-206(gr)19(oups, )-206(daemons )-206(have )-206(no )-206(r)18(eason )-206(to )-206(expect )-206(to)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -(ceive)Tj -/TT0 1 Tf -2.508 0 Td -(SIGHUP)Tj -/T1_0 1 Tf -0.5 Tc (.T)Tj -0 Tc 4.963 0 Td -[(hus they can safely r)18(euse it.)]TJ -/TT1 1 Tf --15.216 -3.24 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(The )-459(pr)18(ogram )-459(shown )-459(in )-459(Figur)]TJ -0.709 Tc 14.592 0 Td -(e1)Tj -0 Tc 1.688 0 Td -[(3.7 )-459(shows )-459(one )-459(way )-459(a )-459(daemon )-459(can )-459(r)18(er)18(ead )-459(its)]TJ --16.28 -1.2 Td -[(con\336guration )-147(\336le.)-647(The )-147(pr)18(ogram )-147(uses)]TJ -/TT0 1 Tf -17.3 0 Td -(sigwait)Tj -/T1_0 1 Tf -4.597 0 Td -[(and )-147(multiple )-147(thr)18(eads, )-147(as )-147(discussed )-147(in)]TJ --21.898 -1.2 Td -(Section 12.8.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3814.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 371.8544 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -[(sigset_t )-1800(mask;)]TJ -T* -(extern int already_running\(void\);)Tj -0 -2.021 TD -(void)Tj -0 -1.189 TD -(reread\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(/* ... */)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(void *)Tj -0 -1.189 TD -(thr_fn\(void *arg\))Tj -T* -({)Tj -2.4 -1.189 Td -(int err, signo;)Tj -0 -2.021 TD -(for \(;;\) {)Tj -2.4 -1.189 Td -(err = sigwait\(&mask, &signo\);)Tj -0 -1.189 TD -(if \(err != 0\) {)Tj -2.4 -1.189 Td -(syslog\(LOG_ERR, "sigwait failed"\);)Tj -0 -1.189 TD -(exit\(1\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47417 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(464)Tj -/T1_1 1 Tf -3.5 0 Td -[(Daemon )-250(Pr)18(ocesses )]TJ -38.741 0 Td -[(Chapter)-500(13)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Under )-179(System )-179(V\320based )-179(systems, )-179(a )-179(similar )-179(command )-179(is)]TJ -/TT0 1 Tf -25.761 0 Td -[(ps )-178(-efj)]TJ -/T1_1 1 Tf -0.6785 Tc (.\()Tj -0 Tc 5.64 0 Td -[(In )-178(an )-178(attempt )-178(to)]TJ --31.401 -1.2 Td -[(impr)18(ove )-34(security)]TJ -0.2838 Tc 7.433 0 Td -(,s)Tj -0 Tc 0.958 0 Td -[(ome )-34(UNIX )-34(systems )-34(don\325t )-34(allow )-34(us )-34(to )-34(use)]TJ -/TT0 1 Tf -18.517 0 Td -(ps)Tj -/T1_1 1 Tf -1.484 0 Td -[(to )-34(look )-34(at )-34(any )-34(pr)19(ocesses)]TJ --28.392 -1.2 Td -[(other than our own.\))-500(The output fr)18(om)]TJ -/TT0 1 Tf -17.225 0 Td -(ps)Tj -/T1_1 1 Tf -1.45 0 Td -(looks like)Tj -/TT0 1 Tf -7.9995 0 0 7.9995 147.5908 625.7523 Tm -[(UID )-3600(PID)-1200(PPID )-600(PGID)-1800(SID )-600(TTY )-600(CMD)]TJ -0 -1.25 TD -[(root )-4200(1)]TJ -3 Tc 10.8 0 Td -(011)Tj -2.4 Tc 9 0 Td -(?/)Tj -0 Tc 3.6 0 Td -(sbin/init)Tj --23.4 -1.25 Td -[(root )-4200(2)]TJ -3 Tc 10.8 0 Td -(000)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(kthreadd])Tj --23.4 -1.25 Td -[(root )-4200(3)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(ksoftirqd/0])Tj --23.4 -1.25 Td -[(root )-4200(6)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(migration/0])Tj --23.4 -1.25 Td -[(root )-4200(7)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(watchdog/0])Tj --23.4 -1.25 Td -[(root )-3600(21)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(cpuset])Tj --23.4 -1.25 Td -[(root )-3600(22)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(khelper])Tj --23.4 -1.25 Td -[(root )-3600(26)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(sync_supers])Tj --23.4 -1.25 Td -[(root )-3600(27)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(bdi-default])Tj --23.4 -1.25 Td -[(root )-3600(29)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(kblockd])Tj --23.4 -1.25 Td -[(root )-3600(35)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(kswapd0])Tj --23.4 -1.25 Td -[(root )-3600(49)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(scsi_eh_0])Tj --23.4 -1.25 Td -[(root )-3000(256)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(jbd2/sda5-8])Tj --23.4 -1.25 Td -[(root )-3000(257)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(ext4-dio-unwrit])Tj --23.4 -1.25 Td -[(syslog )-1800(847)]TJ -1.8 Tc 10.8 0 Td -(18)Tj -0 Tc 3 0 Td -[(43 )-1200(843)]TJ -2.4 Tc 6 0 Td -(?r)Tj -0 Tc 3.6 0 Td -(syslogd -c5)Tj --23.4 -1.25 Td -[(root )-3000(906)]TJ -1.8 Tc 10.8 0 Td -(19)Tj -0 Tc 3 0 Td -[(06 )-1200(906)]TJ -2.4 Tc 6 0 Td -(?/)Tj -0 Tc 3.6 0 Td -(usr/sbin/cupsd -F)Tj --23.4 -1.25 Td -[(root )-2400(1037 )-2400(1)-1200(1037 )-600(1037 )-600(?)-2400(/usr/sbin/inetd)]TJ -T* -[(root )-2400(1067 )-2400(1)-1200(1067 )-600(1067 )-600(?)-2400(cron)]TJ -T* -[(daemon )-1200(1068)]TJ -1.2 Tc 10.8 0 Td -(11)Tj -0 Tc 2.4 0 Td -[(068 )-600(1068 )-600(?)-2400(atd)]TJ --13.2 -1.25 Td -[(root )-2400(8196 )-2400(1)-1200(8196 )-600(8196 )-600(?)-2400(/usr/sbin/sshd -D)]TJ -T* -[(root )-1800(13047)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(kworker/1:0])Tj --23.4 -1.25 Td -[(root )-1800(14596)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(flush-8:0])Tj --23.4 -1.25 Td -[(root )-1800(26464)]TJ -0.6 Tc 10.8 0 Td -(12)Tj -0 Tc 1.8 0 Td -(6464 26464)Tj -2.4 Tc 7.2 0 Td -(?r)Tj -0 Tc 3.6 0 Td -(pcbind -w)Tj --23.4 -1.25 Td -[(statd )-1200(28490)]TJ -0.6 Tc 10.8 0 Td -(12)Tj -0 Tc 1.8 0 Td -(8490 28490)Tj -2.4 Tc 7.2 0 Td -(?r)Tj -0 Tc 3.6 0 Td -(pc.statd -L)Tj --23.4 -1.25 Td -[(root )-1800(28553)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(rpciod])Tj --23.4 -1.25 Td -[(root )-1800(28554)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(nfsiod])Tj --23.4 -1.25 Td -[(root )-1800(28561)]TJ -0.6 Tc 10.8 0 Td -(12)Tj -0 Tc 1.8 0 Td -(8561 28561)Tj -2.4 Tc 7.2 0 Td -(?r)Tj -0 Tc 3.6 0 Td -(pc.idmapd)Tj --23.4 -1.25 Td -[(root )-1800(28761)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(lockd])Tj --23.4 -1.25 Td -[(root )-1800(28764)]TJ -3 Tc 10.8 0 Td -(200)Tj -2.4 Tc 9 0 Td -(?[)Tj -0 Tc 3.6 0 Td -(nfsd])Tj --23.4 -1.25 Td -[(root )-1800(28775)]TJ -0.6 Tc 10.8 0 Td -(12)Tj -0 Tc 1.8 0 Td -(8775 28775)Tj -2.4 Tc 7.2 0 Td -(?/)Tj -0 Tc 3.6 0 Td -(usr/sbin/rpc.mountd --manage-gids)Tj -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5919 304.1715 Tm -[(We )-281(h)]TJ -0 Tc 2.316 0 Td -[(ave )-96(r)18(emoved )-96(a )-96(few )-96(columns )-96(that )-96(don\325t )-96(inter)18(est )-96(us, )-96(such )-96(as )-96(the )-96(accumulated )-96(CPU)]TJ --2.316 -1.2 Td -[(time. )-399(The)-399(column )-149(headings, )-149(in )-149(or)19(der)]TJ -0.3988 Tc 16.978 0 Td -(,a)Tj --0.018 Tc 1.149 0 Td -[(re )-185(t)]TJ -0 Tc 1.581 0 Td -[(he )-149(user )-149(ID, )-149(pr)18(ocess )-149(ID, )-149(par)18(ent )-149(pr)18(ocess )-149(ID,)]TJ --19.708 -1.2 Td -[(pr)18(ocess gr)18(oup ID, session ID, terminal name, and command string.)]TJ -7.9995 0 0 7.9995 183.5887 257.1744 Tm -[(The )-9(system )-9(that )-9(this)]TJ -/TT0 1 Tf -9.161 0 Td -(ps)Tj -/T1_1 1 Tf -1.46 0 Td -[(command )-9(was )-9(r)8(un )-9(on)]TJ -9.945 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Linux )-9(3.2.0)]TJ -4.862 0.04 Td -(\))Tj -0.592 -0.04 Td -[(supports )-9(the )-9(notion )-9(of )-9(a )-9(session )-9(ID,)]TJ --26.353 -1.25 Td -[(which )-118(we )-118(mentioned )-118(with )-118(the)]TJ -/TT0 1 Tf -14.088 0 Td -(setsid)Tj -/T1_1 1 Tf -3.969 0 Td -[(function )-119(in )-119(Section )-119(9.5.)-619(The )-119(session )-119(ID )-119(is )-119(simply )-119(the)]TJ --18.056 -1.25 Td -[(pr)18(ocess )-29(ID )-29(of )-29(the )-29(session )-29(leader)]TJ -0.5295 Tc 13.92 0 Td -(.S)Tj -0 Tc 1.304 0 Td -[(ome )-29(BSD)]TJ -4.098 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-29(systems, )-29(such )-29(as )-29(Mac )-29(OS )-29(X )-29(10.6.8, )-29(will )-29(print)]TJ --19.655 -1.25 Td -[(the )-186(addr)18(ess )-186(of )-186(the)]TJ -/TT0 1 Tf -8.822 0 Td -(session)Tj -/T1_1 1 Tf -4.636 0 Td -[(str)8(uctur)]TJ -0.4358 Tc 3.49 0 Td -(ec)Tj -0 Tc 1.359 0 Td -[(orr)18(esponding )-186(to )-186(the )-186(pr)18(ocess )-186(gr)19(oup )-186(that )-186(the )-186(pr)18(ocess)]TJ --18.306 -1.25 Td -[(belongs to \(Section 9.1)55(1\) instead of the session ID.)]TJ -9.9994 0 0 9.9994 147.59 194.1781 Tm -[(The )-12(system )-12(pr)18(ocesses )-12(you )-12(see )-12(will )-12(depend )-12(on )-12(the )-12(operating )-12(system )-12(implementation.)]TJ --1.8 -1.2 Td -[(Anything )-40(with )-40(a )-40(par)18(ent )-40(pr)18(ocess )-40(ID )-40(of )-40(0 )-40(is )-40(usually )-40(a )-40(kernel )-40(pr)18(ocess )-40(started )-40(as )-40(part )-40(of )-40(the)]TJ -0 -1.2 TD -[(system )-171(bootstrap )-171(pr)17(ocedur)18(e. )-421(\(An)-422(exception )-171(is)]TJ -/TT0 1 Tf -21.526 0 Td -(init)Tj -/T1_1 1 Tf -0.4213 Tc (,w)Tj -0 Tc 3.905 0 Td -[(hich )-171(is )-171(a )-171(user)18(-level )-171(command)]TJ --25.431 -1.2 Td -[(started )-63(by )-63(the )-63(kernel )-63(at )-63(boot )-63(time.\))-563(Kernel )-63(pr)17(ocesses )-63(ar)]TJ -0.3132 Tc 24.793 0 Td -(es)Tj -0 Tc 1.216 0 Td -[(pecial )-63(and )-63(generally )-63(exist )-63(for)]TJ --26.009 -1.2 Td -[(the )-235(entir)]TJ -0.4846 Tc 3.927 0 Td -(el)Tj -0 Tc 1.255 0 Td -[(ifetime )-235(of )-235(the )-235(system.)-733(They )-234(r)8(un )-234(with )-234(super)8(user )-234(privileges )-234(and )-234(have )-234(no)]TJ --5.181 -1.2 Td -[(contr)18(olling terminal and no command line.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47418 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.18)]TJ -/TT0 1 Tf -35.803 0 Td -(system)Tj -/T1_0 1 Tf -4.1 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(369)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Recall )-49(fr)18(om )-49(Section )-49(9.6 )-49(that )-49(typing )-49(the )-49(interr)6(upt )-49(character )-49(causes )-49(the )-49(interr)8(upt )-49(signal )-49(to)]TJ -0 -1.2 TD -[(be )-147(sent )-147(to )-147(all )-147(the )-147(pr)18(ocesses )-147(in )-147(the )-147(for)16(egr)18(ound )-147(pr)18(ocess )-147(gr)18(oup. )-397(Figur)]TJ -0.3972 Tc 30.882 0 Td -(e1)Tj -0 Tc 1.376 0 Td -[(0.27 )-147(shows )-147(the)]TJ --32.258 -1.2 Td -[(arrangement of the pr)18(ocesses when the editor is r)8(unning.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1734 5930 432 216 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 176.6468 601.9678 Tm -(login shell)Tj -ET -q -0.99988 0 0 0.99988 0 0 cm -q 1 0 0 1 274.2 603.8 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -1 j 1 J -q 1 0 0 1 2742 6038 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2166.25 6038.25 cm -0 0 m -504 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 235.7576 606.9307 Tm -(fork)Tj -0 -1.25 TD -(exec)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2742 5930 432 216 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 283.7319 601.8955 Tm -(a.out)Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 353.4 603.8 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 3534 6038 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3174.25 6038.25 cm -0 0 m -288 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 325.7023 606.8579 Tm -(fork)Tj -T* -(exec)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -3534 5930 432 216 re -S -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 358.0711 601.8233 Tm -(/bin/sh)Tj -ET -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 432.6 603.8 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 4326 6038 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3966.25 6038.25 cm -0 0 m -288 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 404.8299 606.7851 Tm -(fork)Tj -T* -(exec)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -4326 5930 432 216 re -S -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 437.1901 601.7511 Tm -(/bin/ed)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 5858.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 5923.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 5987.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 6052.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 6117.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1662.25 6182.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1729.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1797.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1864.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1932.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1999.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2066.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2134.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2202.25 6218.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2238.25 6153.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2238.25 6088.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2238.25 6023.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2238.25 5959.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2238.25 5894.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2170.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2103.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2035.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1968.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1900.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1833.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1765.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1698.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 147.6962 578.7274 Tm -[(backgr)18(ound pr)18(ocess gr)18(oup)]TJ -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5858.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5923.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5987.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 6052.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 6117.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 6182.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2743.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2816.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2889.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2963.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3036.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3109.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3182.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3256.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3329.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3402.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3475.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3549.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3622.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3695.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3768.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3842.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3915.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3988.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4062.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4134.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4208.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4281.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4355.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4427.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4501.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4574.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4648.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4720.25 6218.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4794.25 6218.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 6153.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 6088.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 6023.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 5959.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4830.25 5894.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4756.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4684.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4610.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4537.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4463.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4391.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4317.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4244.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4170.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4098.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4024.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3951.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3878.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3804.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3731.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3658.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3585.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3511.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3438.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3365.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3292.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3218.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3145.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3072.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2999.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2925.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2852.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2779.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 5858.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 328.8506 578.6927 Tm -[(for)18(egr)18(ound pr)18(ocess gr)18(oup)]TJ -/T1_1 1 Tf --17.049 -2.305 Td -(Figure 10.27)Tj -/T1_0 1 Tf -6.195 0 Td -[(For)18(egr)18(ound and backgr)18(ound pr)18(ocess gr)18(oups for Figur)]TJ -0.25 Tc 23.813 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(0.26)Tj -9.994 0 0 9.994 147.5117 531.2813 Tm -[(In )-4(this )-4(example,)]TJ -/TT0 1 Tf -7.302 0 Td -(SIGINT)Tj -/T1_0 1 Tf -3.854 0 Td -[(is )-4(sent )-4(to )-4(all )-4(thr)18(ee )-4(for)19(egr)18(ound )-4(pr)18(ocesses. )-254(\(The)-253(shell )-4(ignor)18(es)]TJ --12.956 -1.2 Td -[(it.\) )-390(As)-391(we )-140(can )-140(see )-140(fr)17(om )-140(the )-140(output, )-140(both )-140(the)]TJ -/TT0 1 Tf -20.952 0 Td -(a.out)Tj -/T1_0 1 Tf -3.39 0 Td -[(pr)18(ocess )-140(and )-140(the )-140(editor )-140(catch )-140(the)]TJ --24.342 -1.2 Td -[(signal. )-568(But)-569(when )-318(we\325r)]TJ -0.5683 Tc 10.834 0 Td -(er)Tj -0 Tc 1.434 0 Td -[(unning )-318(another )-318(pr)18(ogram )-318(with )-318(the)]TJ -/TT0 1 Tf -16.725 0 Td -(system)Tj -/T1_0 1 Tf -4.168 0 Td -[(function, )-318(we)]TJ --33.162 -1.2 Td -[(shouldn\325t )-274(have )-274(both )-274(the )-274(par)17(ent )-274(and )-274(the )-274(child )-274(catching )-274(the )-274(two )-274(terminal-generated)]TJ -0 -1.2 TD -[(signals: )-145(interr)8(upt )-145(and )-145(quit.)-643(Instead, )-144(these )-144(two )-144(signals )-144(should )-144(be )-144(sent )-144(to )-144(the )-144(pr)14(ogram)]TJ -T* -[(that )-131(is )-131(r)8(unning: )-131(the )-131(child.)-631(Since )-131(the )-131(command )-131(that )-131(is )-131(executed )-131(by)]TJ -/TT0 1 Tf -30.616 0 Td -(system)Tj -/T1_0 1 Tf -3.981 0 Td -[(can )-131(be )-131(an)]TJ --34.597 -1.2 Td -[(interactive )-200(command )-200(\(as )-200(is )-200(the)]TJ -/TT0 1 Tf -14.736 0 Td -(ed)Tj -/T1_0 1 Tf -1.65 0 Td -[(pr)18(ogram )-200(in )-200(this )-200(example\) )-200(and )-200(since )-200(the )-200(caller )-200(of)]TJ -/TT0 1 Tf --16.386 -1.2 Td -(system)Tj -/T1_0 1 Tf -3.913 0 Td -[(gives )-63(up )-63(contr)18(ol )-63(while )-63(the )-63(pr)18(ogram )-63(executes, )-63(waiting )-63(for )-63(it )-63(to )-63(\336nish, )-63(the )-63(caller)]TJ --3.913 -1.2 Td -(of)Tj -/TT0 1 Tf -1.401 0 Td -(system)Tj -/T1_0 1 Tf -4.122 0 Td -[(should )-272(not )-272(be )-272(r)18(eceiving )-272(these )-272(two )-272(terminal-generated )-272(signals.)-773(For )-272(this)]TJ --0.018 Tc -5.523 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ason, )-209(POSIX.1 )-209(speci\336es )-209(that )-209(the)]TJ -/TT0 1 Tf -15.133 0 Td -(system)Tj -/T1_0 1 Tf -4.059 0 Td -[(function )-209(should )-209(ignor)]TJ -0.4588 Tc 10.033 0 Td -(et)Tj -0 Tc 1.264 0 Td -[(hese )-209(two )-209(signals)]TJ --31.344 -1.2 Td -(while waiting for the command to complete.)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4116.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -9.9934 0 0 9.9934 93.5382 377.7506 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.2935 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.272 0 Td -[(0.28 )-43(shows )-43(an )-43(implementation )-43(of )-43(the)]TJ -/TT0 1 Tf -16.729 0 Td -(system)Tj -/T1_0 1 Tf -3.894 0 Td -[(function )-43(with )-43(the )-43(r)17(equir)18(ed )-43(signal)]TJ --24.278 -1.2 Td -(handling.)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3348.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9935 0 0 8.9935 129.5067 325.0649 Tm -[(#include )-1800()]TJ -0 -1.189 TD -[(#include )-1800()]TJ -T* -[(#include )-1800()]TJ -T* -[(#include )-1800()]TJ -0 -2.14 TD -(int)Tj -0 -1.189 TD -[(system\(const char *cmdstring\))-1800(/* with appropriate signal handling */)]TJ -T* -({)Tj -2.4 -1.189 Td -(pid_t )Tj -12 0 Td -(pid;)Tj --12 -1.189 Td -(int )Tj -12 0 Td -(status;)Tj --12 -1.189 Td -[(struct sigaction)-2400(ignore, saveintr, savequit;)]TJ -T* -(sigset_t )Tj -12 0 Td -[(chldmask,)-600(savemask;)]TJ --12 -2.14 Td -(if \(cmdstring == NULL\))Tj -2.4 -1.189 Td -[(return\(1\); )-3000(/*)-600(always a command processor with UNIX */)]TJ --2.4 -2.14 Td -[(ignore.sa_handler = SIG_IGN;)-2400(/* ignore SIGINT and SIGQUIT */)]TJ -T* -(sigemptyset\(&ignore.sa_mask\);)Tj -T* -(ignore.sa_flags = 0;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47419 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(266)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(#include )-1800()]TJ -0 -1.189 TD -[(#include )-1800()]TJ -T* -[(#include )-1800()]TJ -0 -1.902 TD -(int)Tj -0 -1.189 TD -[(system\(const char *cmdstring\))-1800(/* version without signal handling */)]TJ -T* -({)Tj -2.4 -1.189 Td -[(pid_t )-1200(pid;)]TJ -T* -[(int )-2400(status;)]TJ -0 -1.902 TD -(if \(cmdstring == NULL\))Tj -2.4 -1.189 Td -[(return\(1\); )-3000(/*)-600(always a command processor with UNIX */)]TJ --2.4 -1.902 Td -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -[(status = -1;)-2400(/* probably out of processes */)]TJ -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid == 0\) {)Tj -19.8 0 Td -(/* child */)Tj --19.2 -1.189 Td -(execl\("/bin/sh", "sh", "-c", cmdstring, \(char *\)0\);)Tj -0 -1.189 TD -[(_exit\(127\); )-2400(/*)-600(execl error */)]TJ -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -19.8 0 Td -(/* parent */)Tj --19.2 -1.189 Td -(while \(waitpid\(pid, &status, 0\) < 0\) {)Tj -2.4 -1.189 Td -(if \(errno != EINTR\) {)Tj -2.4 -1.189 Td -(status = -1; /* error other than EINTR from waitpid\(\) */)Tj -T* -(break;)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(return\(status\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3722.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 219.2817 356.1753 Tm -(Figure 8.22)Tj -/T1_1 1 Tf -5.695 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(system)Tj -/T1_1 1 Tf -3.85 0 Td -(function, without signal handling)Tj --0.092 Tc 9.9988 0 0 9.9988 147.5817 327.3787 Tm -[(We )-299(c)]TJ -0 Tc 2.196 0 Td -[(an )-115(test )-115(this )-115(version )-115(of)]TJ -/TT0 1 Tf -10.246 0 Td -(system)Tj -/T1_1 1 Tf -3.965 0 Td -[(with )-115(the )-115(pr)18(ogram )-115(shown )-115(in )-115(Figur)]TJ -0.365 Tc 15.327 0 Td -(e8)Tj -0 Tc 1.344 0 Td -[(.23. )-365(\(The)]TJ -/TT0 1 Tf --34.878 -1.2 Td -(pr_exit)Tj -/T1_1 1 Tf -4.663 0 Td -[(function )-213(was )-213(de\336ned )-213(in )-213(Figur)]TJ -0.463 Tc 13.94 0 Td -(e8)Tj -0 Tc 1.442 0 Td -[(.5.\) )-463(Running)-463(the )-213(pr)18(ogram )-213(in )-213(Figur)]TJ -0.463 Tc 16.263 0 Td -(e8)Tj -0 Tc 1.442 0 Td -(.23)Tj --37.75 -1.2 Td -(gives us)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5817 286.6836 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(Sat Feb 25 19:36:59 EST 2012)Tj -0 -1.189 TD -(normal termination, exit status = 0)Tj -/T1_2 1 Tf -24 0 Td -(for)Tj -/TT0 1 Tf -1.711 0 Td -(date)Tj --25.711 -1.189 Td -(sh: nosuchcommand: command not found)Tj -T* -(normal termination, exit status = 127)Tj -/T1_2 1 Tf -24 0 Td -(for)Tj -/TT0 1 Tf -1.711 0 Td -(nosuchcommand)Tj --25.711 -1.189 Td -[(sar )-3000(console)-1200(Jan )-600(1)-600(14:59)]TJ -T* -[(sar )-3000(ttys000)-1200(Feb )-600(7)-600(19:08)]TJ -T* -[(sar )-3000(ttys001)-1200(Jan 15 15:28)]TJ -T* -[(sar )-3000(ttys002)-1200(Jan 15 21:50)]TJ -T* -[(sar )-3000(ttys003)-1200(Jan 21 16:02)]TJ -T* -(normal termination, exit status = 44)Tj -/T1_2 1 Tf -24 0 Td -(for)Tj -/TT0 1 Tf -1.711 0 Td -(exit)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5811 161.6986 Tm -[(The )-113(advantage )-113(in )-113(using)]TJ -/TT0 1 Tf -11.076 0 Td -(system)Tj -/T1_1 1 Tf -0.3634 Tc (,i)Tj -0 Tc 4.504 0 Td -[(nstead )-113(of )-113(using)]TJ -/TT0 1 Tf -7.347 0 Td -(fork)Tj -/T1_1 1 Tf -2.763 0 Td -(and)Tj -/TT0 1 Tf -2.056 0 Td -(exec)Tj -/T1_1 1 Tf -2.763 0 Td -[(dir)18(ectly)111(,)-363(is)-363(t)-1(hat)]TJ -/TT0 1 Tf --32.31 -1.2 Td -(system)Tj -/T1_1 1 Tf -3.88 0 Td -[(does )-30(all )-30(the )-30(r)19(equir)18(ed )-30(err)18(or )-30(handling )-30(and )-30(\(in )-30(our )-30(next )-30(version )-30(of )-30(this )-30(function )-30(in)]TJ --3.88 -1.2 Td -[(Section 10.18\) all the r)18(equir)18(ed signal handling.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47420 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(542)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2274 6422 576 216 re -S -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -3642 6422 576 216 re -S -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 244.7253 667 Tm -[(par)18(ent)]TJ -/T1_2 1 Tf -14.9 0 Td -(cmdstring)Tj -/T1_1 1 Tf -4.38 0 Td -(\(child\))Tj -/TT0 1 Tf --15.698 -1.975 Td -(fp)Tj -/T1_2 1 Tf -11.6 0 Td -(stdin)Tj -ET -q -0.99994 0 0 0.99994 0 0 cm -q 1 0 0 1 364.2 653 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -1 j 1 J -q 1 0 0 1 3642 6530 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3570.25 6530.25 cm -0 0 m --720 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 225.7929 616.926 Tm -(Figure 15.10)Tj -/T1_1 1 Tf -6.195 0 Td -(Result of)Tj -/TT0 1 Tf -4.17 0 Td -(fp = popen\()Tj -/T1_2 1 Tf -(cmdstring)Tj -/TT0 1 Tf -0.6 Tc (,")Tj -0 Tc 12.53 0 Td -(w"\))Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5846 592.9288 Tm -[(One )-14(way )-14(to )-14(r)18(emember )-14(the )-14(\336nal )-14(ar)18(gument )-14(to)]TJ -/TT0 1 Tf -19.796 0 Td -(popen)Tj -/T1_1 1 Tf -3.264 0 Td -[(is )-14(to )-14(r)17(emember )-14(that, )-14(like)]TJ -/TT0 1 Tf -11.038 0 Td -(fopen)Tj -/T1_1 1 Tf -0.2644 Tc (,t)Tj -0 Tc 3.84 0 Td -(he)Tj --0.018 Tc -37.939 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turned \336le pointer is r)18(eadable if)]TJ -/T1_2 1 Tf -14.22 0 Td -(type)Tj -/T1_1 1 Tf -1.972 0 Td -(is)Tj -/TT0 1 Tf -0.965 0 Td -("r")Tj -/T1_1 1 Tf -2.05 0 Td -(or writable if)Tj -/T1_2 1 Tf -5.984 0 Td -(type)Tj -/T1_1 1 Tf -1.972 0 Td -(is)Tj -/TT0 1 Tf -0.965 0 Td -("w")Tj -/T1_1 1 Tf -(.)Tj --27.184 -1.2 Td -(The)Tj -/TT0 1 Tf -2.088 0 Td -(pclose)Tj -/T1_1 1 Tf -4.014 0 Td -[(function )-164(closes )-164(the )-164(standar)]TJ -0.414 Tc 12.264 0 Td -(dI)Tj -0 Tc 1.362 0 Td -[(/O )-164(str)18(eam, )-164(waits )-164(for )-164(the )-164(command )-164(to)]TJ --21.528 -1.2 Td -[(terminate, )-495(and )-495(r)18(eturns )-495(the )-495(termination )-495(status )-495(of )-495(the )-495(shell.)-993(\(W)]TJ -0.7447 Tc 31.358 0 Td -(ed)Tj -0 Tc 1.835 0 Td -[(escribed )-495(the)]TJ --33.192 -1.2 Td -[(termination )-86(status )-86(in )-86(Section )-86(8.6.)-587(The)]TJ -/TT0 1 Tf -17.311 0 Td -(system)Tj -/T1_1 1 Tf -3.936 0 Td -[(function, )-86(described )-86(in )-86(Section )-86(8.13, )-86(also)]TJ --0.018 Tc -21.247 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-106(the )-106(termination )-106(status.\))-608(If )-106(the )-106(shell )-106(cannot )-106(be )-106(executed, )-106(the )-106(termination )-106(status)]TJ --0.018 Tc -0.856 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(turned by)Tj -/TT0 1 Tf -4.605 0 Td -(pclose)Tj -/T1_1 1 Tf -3.85 0 Td -(is as if the shell had executed)Tj -/TT0 1 Tf -13.097 0 Td -(exit\(127\))Tj -/T1_1 1 Tf -(.)Tj --20.608 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(cmdstring)Tj -/T1_1 1 Tf -4.38 0 Td -(is executed by the Bourne shell, as in)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5822 492.2409 Tm -(sh -c)Tj -/T1_2 1 Tf -3.6 0 Td -(cmdstring)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5843 474.2431 Tm -[(This )-32(means )-32(that )-32(the )-32(shell )-32(expands )-32(any )-32(of )-32(its )-32(special )-32(characters )-32(in)]TJ -/T1_2 1 Tf -29.011 0 Td -(cmdstring)Tj -/T1_1 1 Tf -0.5318 Tc (.T)Tj -0 Tc 5.525 0 Td -[(his )-32(allows)]TJ --34.535 -1.2 Td -(us to say)Tj -0.25 Tc 3.768 0 Td -(,f)Tj -0 Tc 0.833 0 Td -(or example,)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5822 445.5465 Tm -(fp = popen\("ls *.c", "r"\);)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5843 427.5487 Tm -(or)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5822 410.8507 Tm -(fp = popen\("cmd 2>&1", "r"\);)Tj -/TT1 1 Tf -9.9988 0 0 9.9988 93.5887 380.8543 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(Let\325s r)18(edo the pr)18(ogram fr)18(om Figur)]TJ -0.25 Tc 15.148 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.6, using)Tj -/TT0 1 Tf -4.456 0 Td -(popen)Tj -/T1_1 1 Tf -0.5 Tc (.T)Tj -0 Tc 4.363 0 Td -(his is shown in Figur)Tj -0.25 Tc 9.236 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(5.1)55(1.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3497.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 340.1378 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.259 TD -[(#define PAGER)-1800("${PAGER:-more}" /* environment variable, or default */)]TJ -0 -2.259 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(line[MAXLINE];)]TJ -T* -[(FILE )-1800(*fpin,)-600(*fpout;)]TJ -0 -2.259 TD -(if \(argc != 2\))Tj -2.4 -1.189 Td -(err_quit\("usage: a.out "\);)Tj --2.4 -1.189 Td -(if \(\(fpin = fopen\(argv[1], "r"\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("can\325t open %s", argv[1]\);)Tj --2.4 -2.259 Td -(if \(\(fpout = popen\(PAGER, "w"\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("popen error"\);)Tj --2.4 -2.259 Td -(/* copy argv[1] to pager */)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47421 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(354)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Example )195(\321)]TJ -/TT1 1 Tf -5.28 0 Td -(signal)Tj -/TT0 1 Tf -3.878 0 Td -(Function)Tj -/T1_1 1 Tf --5.558 -2.04 Td -[(Let\325s )-265(now )-265(implement )-265(the)]TJ -/TT2 1 Tf -12.342 0 Td -(signal)Tj -/T1_1 1 Tf -4.115 0 Td -[(function )-265(using)]TJ -/TT2 1 Tf -7.193 0 Td -(sigaction)Tj -/T1_1 1 Tf -0.7652 Tc (.T)Tj -0 Tc 7.028 0 Td -[(his )-265(is )-265(what )-265(many)]TJ --30.679 -1.2 Td -[(platforms )-26(do )-26(\(and )-26(what )-26(a )-26(note )-26(in )-26(the )-26(POSIX.1 )-26(Rationale )-26(states )-26(was )-26(the )-26(intent )-26(of )-26(POSIX\).)]TJ -0 -1.2 TD -[(Systems )-251(with )-251(binary )-251(compatibility )-251(constraints, )-251(on )-251(the )-251(other )-251(hand, )-251(might )-251(pr)21(ovide )-251(a)]TJ -/TT2 1 Tf -T* -(signal)Tj -/T1_1 1 Tf -4.177 0 Td -[(function )-327(that )-327(supports )-327(the )-327(older)]TJ -0.5772 Tc 15.305 0 Td -(,u)Tj -0 Tc 1.43 0 Td -[(nr)18(eliable-signal )-327(semantics.)-827(Unless )-327(you)]TJ --20.912 -1.2 Td -[(speci\336cally )-100(r)18(equir)]TJ -0.3502 Tc 7.963 0 Td -(et)Tj -0 Tc 1.155 0 Td -[(hese )-100(older)]TJ -0.3502 Tc 4.562 0 Td -(,u)Tj -0 Tc 1.203 0 Td -[(nr)18(eliable )-100(semantics )-100(\(for )-100(backwar)]TJ -0.3503 Tc 14.618 0 Td -(dc)Tj -0 Tc 1.405 0 Td -[(ompatibility\), )-100(you)]TJ --30.907 -1.2 Td -[(should )-120(use )-120(the )-120(following )-120(implementation )-120(of)]TJ -/TT2 1 Tf -20.382 0 Td -(signal)Tj -/T1_1 1 Tf -3.97 0 Td -[(or )-120(call)]TJ -/TT2 1 Tf -3.208 0 Td -(sigaction)Tj -/T1_1 1 Tf -5.77 0 Td -[(dir)18(ectly)]TJ -0.6204 Tc 3.264 0 Td -(.\()Tj -0 Tc 1.203 0 Td -(As)Tj --37.798 -1.2 Td -[(you )-255(might )-255(guess, )-255(an )-255(implementation )-255(of)]TJ -/TT2 1 Tf -19.129 0 Td -(signal)Tj -/T1_1 1 Tf -4.105 0 Td -[(with )-255(the )-255(old )-255(semantics )-255(could )-255(call)]TJ -/TT2 1 Tf --23.234 -1.2 Td -(sigaction)Tj -/T1_1 1 Tf -5.834 0 Td -(specifying)Tj -/TT2 1 Tf -4.991 0 Td -(SA_RESETHAND)Tj -/T1_1 1 Tf -7.634 0 Td -(and)Tj -/TT2 1 Tf -2.126 0 Td -(SA_NODEFER)Tj -/T1_1 1 Tf -[(.\) )-433(All)-434(the )-183(examples )-183(in )-183(this)]TJ --20.584 -1.2 Td -(text that call)Tj -/TT2 1 Tf -5.657 0 Td -(signal)Tj -/T1_1 1 Tf -3.85 0 Td -(call the function shown in Figur)Tj -0.25 Tc 14.094 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(0.18.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5454.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT2 1 Tf -8.9989 0 0 8.9989 129.5844 535.8347 Tm -(#include "apue.h")Tj -0 -1.902 TD -[(/* Reliable version of signal\(\), using POSIX sigaction\(\).)-1200(*/)]TJ -0 -1.189 TD -(Sigfunc *)Tj -T* -(signal\(int signo, Sigfunc *func\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct sigaction)-2400(act, oact;)]TJ -0 -1.902 TD -(act.sa_handler = func;)Tj -0 -1.189 TD -(sigemptyset\(&act.sa_mask\);)Tj -T* -(act.sa_flags = 0;)Tj -0 -1.189 TD -(if \(signo == SIGALRM\) {)Tj --2.4 -1.189 Td -[(#ifdef )-600(SA_INTERRUPT)]TJ -4.8 -1.189 Td -(act.sa_flags |= SA_INTERRUPT;)Tj --4.8 -1.189 Td -(#endif)Tj -0.6 Tc 2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(act.sa_flags |= SA_RESTART;)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(if \(sigaction\(signo, &act, &oact\) < 0\))Tj -2.4 -1.189 Td -(return\(SIG_ERR\);)Tj --2.4 -1.189 Td -(return\(oact.sa_handler\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3149.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 211.7619 301.3038 Tm -(Figure 10.18)Tj -/T1_1 1 Tf -6.195 0 Td -(An implementation of)Tj -/TT2 1 Tf -10.049 0 Td -(signal)Tj -/T1_1 1 Tf -3.85 0 Td -(using)Tj -/TT2 1 Tf -2.706 0 Td -(sigaction)Tj -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5771 277.3081 Tm -[(Note )-349(that )-349(we )-349(must )-349(use)]TJ -/TT2 1 Tf -11.967 0 Td -(sigemptyset)Tj -/T1_1 1 Tf -7.199 0 Td -[(to )-349(initialize )-349(the)]TJ -/TT2 1 Tf -7.899 0 Td -(sa_mask)Tj -/T1_1 1 Tf -4.799 0 Td -[(member )-349(of )-349(the)]TJ --31.864 -1.2 Td -[(str)8(uctur)18(e. )-250(W)92(e\325r)]TJ -0.25 Tc 6.761 0 Td -(en)Tj -0 Tc 1.311 0 Td -(ot guaranteed that)Tj -/TT2 1 Tf -9.137 0 Td -(act.sa_mask = 0)Tj -/T1_1 1 Tf -10 0 Td -(does the same thing.)Tj --0.092 Tc -25.409 -1.2 Td -[(We )-328(i)]TJ -0 Tc 2.072 0 Td -[(ntentionally )-144(set )-144(the)]TJ -/TT2 1 Tf -9.15 0 Td -(SA_RESTART)Tj -/T1_1 1 Tf -6.394 0 Td -[(\337ag )-144(for )-144(all )-144(signals )-144(other )-144(than)]TJ -/TT2 1 Tf -13.77 0 Td -(SIGALRM)Tj -/T1_1 1 Tf -0.394 Tc (,s)Tj -0 Tc 5.268 0 Td -(o)Tj --38.454 -1.2 Td -[(that )-98(any )-98(system )-98(call )-98(interr)10(upted )-98(by )-98(these )-98(other )-98(signals )-98(will )-98(be )-98(automatically )-98(r)20(estarted.)]TJ -0 -1.2 TD -[(The )-142(r)18(eason )-142(we )-142(don\325t )-142(want)]TJ -/TT2 1 Tf -12.439 0 Td -(SIGALRM)Tj -/T1_1 1 Tf --0.018 Tc 4.592 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(started )-142(is )-142(to )-142(allow )-142(us )-142(to )-142(set )-142(a )-142(timeout )-142(for )-142(I/O)]TJ --17.887 -1.2 Td -[(operations. )-250(\(Recall)-250(the discussion of Figur)]TJ -0.25 Tc 18.735 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(0.10.\))Tj --18.164 -1.2 Td -[(Some )-7(older )-7(systems, )-7(such )-7(as )-7(SunOS, )-7(de\336ne )-7(the)]TJ -/TT2 1 Tf -20.971 0 Td -(SA_INTERRUPT)Tj -/T1_1 1 Tf -7.457 0 Td -[(\337ag. )-257(These)-258(systems)]TJ --0.018 Tc -30.228 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(start )-54(interr)8(upted )-54(system )-54(calls )-54(by )-54(default, )-54(so )-54(specifying )-54(this )-54(\337ag )-54(causes )-54(system )-54(calls )-54(to)]TJ --0.856 -1.2 Td -[(be )-544(interr)8(upted. )-794(Linux)-794(de\336nes )-544(the)]TJ -/TT2 1 Tf -17.753 0 Td -(SA_INTERRUPT)Tj -/T1_1 1 Tf -7.994 0 Td -[(\337ag )-544(for )-544(compatibility )-544(with)]TJ --25.747 -1.2 Td -[(applications )-169(that )-169(use )-169(it, )-169(but )-169(by )-169(default )-169(does )-169(not )-169(r)14(estart )-169(system )-169(calls )-169(when )-169(the )-169(signal)]TJ -T* -[(handler )-78(is )-78(installed )-78(with)]TJ -/TT2 1 Tf -11.293 0 Td -(sigaction)Tj -/T1_1 1 Tf -0.5776 Tc (.T)Tj -0 Tc 6.841 0 Td -[(he )-78(Single )-78(UNIX )-78(Speci\336cation )-78(speci\336es )-78(that )-78(the)]TJ -/TT2 1 Tf --18.134 -1.2 Td -(sigaction)Tj -/T1_1 1 Tf -5.666 0 Td -[(function )-16(not )-16(r)18(estart )-16(interr)9(upted )-15(system )-15(calls )-15(unless )-15(the)]TJ -/TT2 1 Tf -24.424 0 Td -(SA_RESTART)Tj -/T1_1 1 Tf -6.266 0 Td -[(\337ag )-15(is)]TJ --36.355 -1.2 Td -(speci\336ed.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1333.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47422 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.3)]TJ -39.633 0 Td -[(File )-250(T)90(ypes)]TJ -/T1_1 1 Tf -6.7 0 Td -(97)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 194.3883 670.2598 Tm -(ptr = "directory";)Tj --2.4 -1.189 Td -(else if \(S_ISCHR\(buf.st_mode\)\))Tj -2.4 -1.189 Td -(ptr = "character special";)Tj --2.4 -1.189 Td -(else if \(S_ISBLK\(buf.st_mode\)\))Tj -2.4 -1.189 Td -(ptr = "block special";)Tj --2.4 -1.189 Td -(else if \(S_ISFIFO\(buf.st_mode\)\))Tj -2.4 -1.189 Td -(ptr = "fifo";)Tj --2.4 -1.189 Td -(else if \(S_ISLNK\(buf.st_mode\)\))Tj -2.4 -1.189 Td -(ptr = "symbolic link";)Tj --2.4 -1.189 Td -(else if \(S_ISSOCK\(buf.st_mode\)\))Tj -2.4 -1.189 Td -(ptr = "socket";)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(ptr = "** unknown mode **";)Tj --2.4 -1.189 Td -(printf\("%s\\n", ptr\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4943.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 215.0982 478.2416 Tm -(Figure 4.3)Tj -/T1_0 1 Tf -5.195 0 Td -(Print type of \336le for each command)Tj -15.642 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line ar)18(gument)]TJ -9.9988 0 0 9.9988 129.5847 456.6442 Tm -[(Sample output fr)18(om Figur)]TJ -0.25 Tc 11.556 0 Td -(e4)Tj -0 Tc 1.229 0 Td -(.3 is)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5824 442.3455 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out /etc/passwd /etc /dev/log /dev/tty \\)Tj -/TT0 1 Tf --1.2 -1.189 Td -(>)Tj -/TT1 1 Tf -1.2 0 Td -(/var/lib/oprofile/opd_pipe /dev/sr0 /dev/cdrom)Tj -/TT0 1 Tf --1.2 -1.189 Td -(/etc/passwd: regular)Tj -T* -(/etc: directory)Tj -T* -(/dev/log: socket)Tj -T* -(/dev/tty: character special)Tj -T* -(/var/lib/oprofile/opd_pipe: fifo)Tj -T* -(/dev/sr0: block special)Tj -T* -(/dev/cdrom: symbolic link)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5845 338.7583 Tm -[(\(Her)18(e, )-205(we )-205(have )-205(explicitly )-205(enter)17(ed )-205(a )-205(backslash )-205(at )-205(the )-205(end )-205(of )-205(the )-205(\336rst )-205(command )-205(line,)]TJ -0 -1.2 Td -[(telling )-95(the )-95(shell )-95(that )-95(we )-95(want )-95(to )-95(continue )-95(entering )-95(the )-95(command )-95(on )-95(another )-95(line.)-600(The)]TJ -0 -1.2 TD -[(shell )-254(then )-254(pr)18(ompted )-254(us )-254(with )-254(its )-254(secondary )-254(pr)16(ompt,)]TJ -/TT0 1 Tf -24.716 0 Td -(>)Tj -/T1_0 1 Tf -[(,)-504(on)-504(t)-1(he )-254(next )-254(line.\))]TJ --0.092 Tc 10.266 0 Td -[(We )-438(h)]TJ -0 Tc 2.473 0 Td -(ave)Tj --37.456 -1.2 Td -[(speci\336cally )-146(used )-146(the)]TJ -/TT0 1 Tf -9.618 0 Td -(lstat)Tj -/T1_0 1 Tf -3.396 0 Td -[(function )-146(instead )-146(of )-146(the)]TJ -/TT0 1 Tf -10.77 0 Td -(stat)Tj -/T1_0 1 Tf -2.796 0 Td -[(function )-146(to )-146(detect )-146(symbolic)]TJ --26.58 -1.2 Td -[(links. )-250(If)-250(we used the)]TJ -/TT0 1 Tf -9.381 0 Td -(stat)Tj -/T1_0 1 Tf -2.65 0 Td -(function, we would never see symbolic links.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2908.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 147.5734 266.751 Tm -(Historically)Tj -0.6119 Tc 5.076 0 Td -(,e)Tj -0 Tc 1.341 0 Td -[(arly )-362(versions )-362(of )-362(the )-362(UNIX )-362(System )-362(didn\325t )-362(pr)18(ovide )-362(the)]TJ -/TT0 1 Tf -26.583 0 Td -(S_ISxxx)Tj -/T1_0 1 Tf --34.8 -1.2 Td -[(macr)18(os. )-337(Instead,)-337(we )-87(had )-87(to )-87(logically )-87(AND )-87(the)]TJ -/TT0 1 Tf -21.294 0 Td -(st_mode)Tj -/T1_0 1 Tf -4.537 0 Td -[(value )-87(with )-87(the )-87(mask)]TJ -/TT0 1 Tf -9.569 0 Td -(S_IFMT)Tj -/T1_0 1 Tf --35.4 -1.2 Td -[(and )-251(then )-251(compar)]TJ -0.5014 Tc 8.016 0 Td -(et)Tj -0 Tc 1.306 0 Td -[(he )-251(r)18(esult )-251(with )-251(the )-251(constants )-251(whose )-251(names )-251(ar)16(e)]TJ -/TT0 1 Tf -22.235 0 Td -(S_IFxxx)Tj -/T1_0 1 Tf -0.7513 Tc (.M)Tj -0 Tc 6.147 0 Td -(ost)Tj --37.704 -1.2 Td -[(systems )-144(de\336ne )-144(this )-144(mask )-144(and )-144(the )-144(r)18(elated )-144(constants )-144(in )-144(the )-144(\336le)]TJ -/TT0 1 Tf -28.528 0 Td -()Tj -/T1_0 1 Tf -0.6444 Tc (.I)Tj -0.3944 Tc 8.431 0 Td -(fw)Tj -0 Tc 1.561 0 Td -(e)Tj --38.521 -1.2 Td -(examine this \336le, we\325ll \336nd the)Tj -/TT0 1 Tf -13.836 0 Td -(S_ISDIR)Tj -/T1_0 1 Tf -4.45 0 Td -(macr)Tj -0.25 Tc 2.204 0 Td -(od)Tj -0 Tc 1.407 0 Td -(e\336ned something like)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.5737 202.0626 Tm -[(#define )-600(S_ISDIR\(mode\) )-600(\(\(\(mode\))]TJ -0.6 Tc 19.8 0 Td -(&S)Tj -0 Tc 1.8 0 Td -(_IFMT\) == S_IFDIR\))Tj -/T1_0 1 Tf --0.092 Tc 9.9982 0 0 9.9982 147.5737 184.0659 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-252(said )-252(that )-252(r)18(egular )-252(\336les )-252(ar)]TJ -0.5019 Tc 13.269 0 Td -(ep)Tj --0.018 Tc 1.582 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(dominant, )-252(but )-252(it )-252(is )-252(inter)18(esting )-252(to )-252(see )-252(what)]TJ --18.893 -1.2 Td -[(per)18(centage )-158(of )-158(the )-158(\336les )-158(on )-158(a )-158(given )-158(system )-158(ar)16(e)-408(of)-408(e)-1(ach )-158(\336le )-158(type.)-659(Figur)]TJ -0.4083 Tc 31.849 0 Td -(e4)Tj -0 Tc 1.387 0 Td -[(.4 )-158(shows )-158(the)]TJ --33.236 -1.2 Td -[(counts )-153(and )-153(per)17(centages )-153(for )-153(a )-153(Linux )-153(system )-153(that )-153(is )-153(used )-153(as )-153(a )-153(single-user )-153(workstation.)]TJ -T* -[(This data was obtained fr)18(om the pr)18(ogram shown in Section 4.22.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47423 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(314)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Linux )-119(3.2.0 )-119(each )-119(support )-119(31 )-119(dif)20(fer)18(ent )-119(signals, )-119(wher)19(eas )-119(Solaris )-119(10 )-119(supports )-119(40 )-119(dif)19(fer)18(ent)]TJ --0 -1.2 Td -[(signals. )-355(Fr)18(eeBSD, )-105(Linux, )-105(and )-105(Solaris, )-105(however)]TJ -0.3549 Tc 20.967 0 Td -(,s)Tj -0 Tc 1.029 0 Td -[(upport )-105(additional )-105(application-de\336ned)]TJ --21.996 -1.2 Td -[(signals )-229(intr)18(oduced )-229(to )-229(support )-229(r)18(eal-time )-229(applications.)-729(Although )-229(the )-229(POSIX )-229(r)20(eal-time)]TJ -0 -1.2 TD -[(extensions )-11(ar)18(en\325t )-11(cover)18(ed )-11(in )-11(this )-11(book )-11(\(r)18(efer )-11(to )-11(Gallmeister)]TJ -26.132 0.04 Td -([)Tj -0.333 -0.04 Td -(1995)Tj -2 0.04 Td -(])Tj -0.594 -0.04 Td -[(for )-11(mor)]TJ -0.2615 Tc 3.341 0 Td -(ei)Tj -0 Tc 1.031 0 Td -(nformation\),)Tj --33.433 -1.2 Td -[(as of SUSv4 the r)18(eal-time signal interfaces have moved to the base speci\336cation.)]TJ -1.8 -1.2 Td -[(Signal )-14(names )-14(ar)]TJ -0.2643 Tc 7.019 0 Td -(ea)Tj -0 Tc 1.243 0 Td -[(ll )-14(de\336ned )-14(by )-14(positive )-14(integer )-14(constants )-14(\(the )-14(signal )-14(number\) )-14(in )-14(the)]TJ --10.062 -1.2 Td -(header)Tj -/TT0 1 Tf -3.296 0 Td -()Tj -/T1_1 1 Tf -(.)Tj -7.9995 0 0 7.9995 183.5883 579.3652 Tm -[(Implementations )-264(actually )-264(de\336ne )-264(the )-264(individual )-264(signals )-264(in )-264(a )-264(dif)16(fer)18(ent )-264(header )-264(\336le, )-264(but )-264(this)]TJ -0 -1.25 Td -[(header )-129(\336le )-129(is )-129(included )-129(by)]TJ -/TT0 1 Tf -12.051 0 Td -()Tj -/T1_1 1 Tf -0.6289 Tc (.I)Tj -0 Tc 7.216 0 Td -[(t)-379(is)-379(consider)18(ed )-129(bad )-129(form )-129(for )-129(the )-129(kernel )-129(to )-129(include)]TJ --19.267 -1.25 Td -[(header )-89(\336les )-89(meant )-89(for )-89(user)18(-level )-89(applications, )-89(so )-89(if )-89(the )-89(applications )-89(and )-89(the )-89(kernel )-89(both )-89(need)]TJ -0 -1.25 TD -[(the )-64(same )-64(de\336nitions, )-64(the )-64(information )-64(is )-64(placed )-64(in )-64(a )-64(kernel )-64(header )-64(\336le )-64(that )-64(is )-64(then )-64(included )-64(by)]TJ -T* -[(the )-122(user)18(-level )-122(header )-122(\336le.)-622(Thus )-122(both )-122(Fr)18(eeBSD )-122(8.0 )-122(and )-122(Mac )-122(OS )-122(X )-122(10.6.8 )-122(de\336ne )-122(the )-122(signals )-122(in)]TJ -/TT0 1 Tf -T* -()Tj -/T1_1 1 Tf -0.7574 Tc (.L)Tj -0 Tc 10.018 0 Td -[(inux )-257(3.2.0 )-257(de\336nes )-257(the )-257(signals )-257(in)]TJ -/TT0 1 Tf -15.544 0 Td -()Tj -/T1_1 1 Tf -0.5074 Tc (,a)Tj -0 Tc 10.257 0 Td -[(nd )-257(Solaris )-257(10)]TJ --35.82 -1.25 Td -(de\336nes them in)Tj -/TT0 1 Tf -7.073 0 Td -()Tj -/T1_1 1 Tf -(.)Tj -9.9994 0 0 9.9994 129.5917 501.3699 Tm -[(No )-6(signal )-6(has )-6(a )-6(signal )-6(number )-6(of )-6(0.)]TJ --0.092 Tc 16.093 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-6(see )-6(in )-6(Section )-6(10.9 )-6(that )-6(the)]TJ -/TT0 1 Tf -12.971 0 Td -(kill)Tj -/T1_1 1 Tf -2.656 0 Td -[(function )-6(uses)]TJ --33.107 -1.2 Td -[(the signal number of 0 for a special case.)-500(POSIX.1 calls this value the)]TJ -/T1_2 1 Tf -30.623 0 Td -(null signal)Tj -/T1_1 1 Tf -(.)Tj --28.823 -1.2 Td -[(Numer)18(ous conditions can generate a signal:)]TJ -0.883 Tc 0 -1.68 TD -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-185(terminal-generated )-185(signals )-185(occur )-185(when )-185(users )-185(pr)18(ess )-185(certain )-185(terminal )-185(keys.)]TJ --0.613 -1.2 Td -[(Pr)18(essing )-269(the )-269(DELETE )-269(key )-269(on )-269(the )-269(terminal )-269(\(or )-269(Contr)16(ol)]TJ -25.613 0.09 Td -(-)Tj -0.333 -0.09 Td -[(C)-519(on)-519(many )-269(systems\))]TJ --25.946 -1.2 Td -[(normally )-103(causes )-103(the )-103(interr)8(upt )-103(signal )-103(\()]TJ -/TT0 1 Tf -(SIGINT)Tj -/T1_1 1 Tf -[(\))-353(to)-353(be)-353(generated. )-353(This)-353(is )-103(how )-103(to)]TJ --0 -1.2 Td -[(stop )-272(a )-272(r)8(unaway )-272(pr)19(ogram. )-522(\(W)92(e\325ll )-271(see )-271(in )-271(Chapter )-271(18 )-271(how )-271(this )-271(signal )-271(can )-271(be)]TJ -0 -1.2 Td -(mapped to any character on the terminal.\))Tj -0.883 Tc -1.489 -1.72 Td -(\245H)Tj -0 Tc 2.321 0 Td -[(ar)18(dwar)]TJ -0.3933 Tc 3.199 0 Td -(ee)Tj -0 Tc 1.351 0 Td -[(xceptions )-143(generate )-143(signals: )-143(divide )-143(by )-143(0, )-143(invalid )-143(memory )-143(r)16(efer)18(ence,)]TJ --5.382 -1.2 Td -[(and )-152(the )-152(like.)-653(These )-152(conditions )-152(ar)]TJ -0.4024 Tc 15.306 0 Td -(eu)Tj -0 Tc 1.484 0 Td -[(sually )-152(detected )-152(by )-152(the )-152(har)16(dwar)18(e, )-152(and )-152(the)]TJ --16.791 -1.2 Td -[(kernel )-270(is )-270(noti\336ed.)-770(The )-270(kernel )-270(then )-270(generates )-270(the )-270(appr)18(opriate )-270(signal )-270(for )-270(the)]TJ -0 -1.2 TD -[(pr)18(ocess )-263(that )-263(was )-263(r)8(unning )-263(at )-263(the )-263(time )-263(the )-263(condition )-263(occurr)14(ed. )-513(For)-514(example,)]TJ -/TT0 1 Tf -T* -(SIGSEGV)Tj -/T1_1 1 Tf -4.45 0 Td -[(is generated for a pr)18(ocess that executes an invalid memory r)18(efer)18(ence.)]TJ -0.883 Tc -5.939 -1.72 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.393 0 Td -(kill)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.665 -0.04 Td -[(function )-82(allows )-82(a )-82(pr)18(ocess )-82(to )-82(send )-82(any )-82(signal )-82(to )-82(another )-82(pr)19(ocess )-82(or)]TJ --5.904 -1.2 Td -[(pr)18(ocess )-86(gr)18(oup. )-336(Naturally)]TJ -0.3361 Tc 11.332 0 Td -(,t)Tj -0 Tc 0.912 0 Td -(her)Tj -0.3361 Tc 1.438 0 Td -(ea)Tj --0.018 Tc 1.315 0 Td -[(re )-122(l)]TJ -0 Tc 1.483 0 Td -[(imitations: )-86(we )-86(have )-86(to )-86(be )-86(the )-86(owner )-86(of )-86(the)]TJ --16.48 -1.2 Td -[(pr)18(ocess that we\325r)]TJ -0.25 Tc 7.497 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(ending the signal to, or we have to be the super)8(user)74(.)]TJ -0.883 Tc -10.139 -1.72 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.631 0 Td -(kill)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.902 -0.04 Td -[(command )-319(allows )-319(us )-319(to )-319(send )-319(signals )-319(to )-319(other )-319(pr)14(ocesses. )-570(This)]TJ --6.379 -1.2 Td -[(pr)18(ogram )-82(is )-82(just )-82(an )-82(interface )-82(to )-82(the)]TJ -/TT0 1 Tf -15.655 0 Td -(kill)Tj -/T1_1 1 Tf -2.732 0 Td -[(function. )-332(This)-332(command )-82(is )-82(often )-82(used)]TJ --18.387 -1.2 Td -[(to terminate a r)8(unaway backgr)18(ound pr)18(ocess.)]TJ -0.883 Tc -1.489 -1.72 Td -(\245S)Tj -0 Tc 2.014 0 Td -(oftwar)Tj -0.3707 Tc 2.916 0 Td -(ec)Tj -0 Tc 1.294 0 Td -[(onditions )-121(can )-121(generate )-121(signals )-121(when )-121(a )-121(pr)20(ocess )-121(should )-121(be )-121(noti\336ed )-121(of)]TJ --4.735 -1.2 Td -[(various )-164(events.)-664(These )-164(ar)18(en\325t )-164(har)16(dwar)18(e-generated )-164(conditions )-164(\(as )-164(is )-164(the )-164(divide-)]TJ --0 -1.2 Td -[(by-0 )-315(condition\), )-315(but )-315(softwar)]TJ -0.5652 Tc 13.262 0 Td -(ec)Tj -0 Tc 1.488 0 Td -[(onditions. )-565(Examples)-566(ar)18(e)]TJ -/TT0 1 Tf -12.056 0 Td -(SIGURG)Tj -/T1_1 1 Tf -4.165 0 Td -(\(generated)Tj --30.971 -1.2 Td -[(when )-20(out-of-band )-20(data )-20(arrives )-20(over )-20(a )-20(network )-20(connection\),)]TJ -/TT0 1 Tf -26.501 0 Td -(SIGPIPE)Tj -/T1_1 1 Tf -4.47 0 Td -(\(generated)Tj --30.971 -1.2 Td -[(when )-128(a )-128(pr)18(ocess )-128(writes )-128(to )-128(a )-128(pipe )-128(that )-128(has )-128(no )-128(r)13(eader\), )-129(and)]TJ -/TT0 1 Tf -26.392 0 Td -(SIGALRM)Tj -/T1_1 1 Tf -4.579 0 Td -(\(generated)Tj --30.971 -1.2 Td -[(when an alarm clock set by the pr)18(ocess expir)18(es\).)]TJ --1.489 -1.8 Td -[(Signals )-50(ar)]TJ -0.3005 Tc 4.346 0 Td -(ec)Tj -0 Tc 1.224 0 Td -[(lassic )-50(examples )-50(of )-50(asynchr)18(onous )-50(events.)-550(They )-50(occur )-50(at )-50(what )-50(appear )-50(to)]TJ --7.37 -1.2 Td -[(be )-243(random )-243(times )-243(to )-243(the )-243(pr)16(ocess. )-494(The)-493(pr)18(ocess )-244(can\325t )-244(simply )-244(test )-244(a )-244(variable )-244(\(such )-244(as)]TJ -/TT0 1 Tf -T* -(errno)Tj -/T1_1 1 Tf -[(\))-324(to)-324(see )-74(whether )-74(a )-74(signal )-74(has )-74(occurr)18(ed; )-74(instead, )-74(the )-74(pr)19(ocess )-74(has )-74(to )-74(tell )-74(the )-74(kernel)]TJ --0.037 Tc T* -(\324\324)Tj -0 Tc 0.519 0 Td -[(if and when this signal occurs, do the following.\325)37(\325)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47424 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(932)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -0.6 Tc 8.9995 0 0 8.9995 214.2371 670.2598 Tm -("w)Tj -0 Tc 1.8 0 Td -(rite lock is pending\\n"\);)Tj --5.4 -1.189 Td -(printf\("killing child 1...\\n"\);)Tj -0 -1.189 TD -(kill\(pid1, SIGINT\);)Tj -T* -(printf\("killing child 2...\\n"\);)Tj -T* -(kill\(pid2, SIGINT\);)Tj -0 -1.189 TD -(printf\("killing child 3...\\n"\);)Tj -0 -1.189 TD -(kill\(pid3, SIGINT\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 5799.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 5799.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 254.0985 563.8313 Tm -(Figure C.15)Tj -/T1_1 1 Tf -5.917 0 Td -[(Determine r)18(ecor)18(d)]TJ -7.772 0.09 Td -(-)Tj -0.333 -0.09 Td -(locking behavior)Tj -9.9988 0 0 9.9988 160.2306 533.8349 Tm -[(On )-190(Fr)18(eeBSD )-190(8.0, )-190(Linux )-190(3.2.0, )-190(and )-190(Mac )-190(OS )-190(X )-190(10.6.8, )-190(the )-190(behavior )-190(is )-190(the )-190(same:)]TJ -0 -1.2 TD -[(additional r)18(eaders can starve pending writers.)-500(Running the pr)18(ogram gives us)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 167.4297 506.2085 Tm -(child 1: obtained read lock on file)Tj -0 -1.189 TD -(child 2: obtained read lock on file)Tj -T* -(child 3: can\325t set write lock: Resource temporarily unavailable)Tj -T* -(child 3 about to block in write-lock...)Tj -T* -(parent: obtained additional read lock while write lock is pending)Tj -0 -1.189 TD -(killing child 1...)Tj -0 -1.189 TD -(child 1: exit after pause)Tj -T* -(killing child 2...)Tj -T* -(child 2: exit after pause)Tj -T* -(killing child 3...)Tj -T* -(child 3: can\325t write-lock file: Interrupted system call)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 160.2306 382.2933 Tm -[(On )-167(Solaris )-167(10, )-167(r)19(eaders )-167(don\325t )-167(starve )-167(waiting )-167(writers.)-667(In )-167(this )-167(case, )-167(the )-167(par)18(ent )-167(is)]TJ -0 -1.2 TD -[(unable to obtain a r)18(ead lock because ther)18(e)-250(is)-250(a)-250(p)]TJ --0.018 Tc (ro)Tj -0 Tc 21.946 0 Td -(cess waiting for a write lock.)Tj -/T1_0 1 Tf --25.011 -1.84 Td -(14.2)Tj -/T1_1 1 Tf -3.065 0 Td -[(Most )-8(systems )-8(de\336ne )-8(the)]TJ -/TT0 1 Tf -10.933 0 Td -(fd_set)Tj -/T1_1 1 Tf -3.858 0 Td -[(data )-8(type )-8(to )-8(be )-8(a )-8(str)9(uctur)]TJ -0.2578 Tc 11.082 0 Td -(et)Tj -0 Tc 1.063 0 Td -[(hat )-8(contains )-8(a )-8(single)]TJ --26.936 -1.2 Td -[(member: )-176(an )-176(array )-176(of )-176(long )-176(integers.)-676(One )-176(bit )-176(in )-176(this )-176(array )-176(corr)18(esponds )-176(to )-176(each)]TJ -T* -(descriptor)Tj -0.6696 Tc 4.438 0 Td -(.T)Tj -0 Tc 1.533 0 Td -[(he )-170(four)]TJ -/TT0 1 Tf -3.777 0 Td -(FD_)Tj -/T1_1 1 Tf -2.22 0 Td -[(macr)18(os )-169(then )-169(manipulate )-169(this )-169(array )-169(of )-169(longs, )-169(turning)]TJ --11.967 -1.2 Td -(speci\336c bits on and of)Tj -0.25 Tc 9.564 0 Td -(fa)Tj -0 Tc 1.083 0 Td -(nd testing speci\336c bits.)Tj --10.647 -1.8 Td -[(One )-9(r)18(eason )-9(that )-9(the )-9(data )-9(type )-9(is )-9(de\336ned )-9(to )-9(be )-9(a )-9(str)9(uctur)]TJ -0.259 Tc 24.599 0 Td -(ec)Tj -0 Tc 1.182 0 Td -[(ontaining )-9(an )-9(array )-9(and)]TJ --25.781 -1.2 Td -[(not )-101(simply )-101(an )-101(array )-101(is )-101(to )-101(allow )-101(variables )-101(of )-101(type)]TJ -/TT0 1 Tf -22.329 0 Td -(fd_set)Tj -/T1_1 1 Tf -3.951 0 Td -[(to )-101(be )-101(assigned )-101(to )-101(one)]TJ --26.28 -1.2 Td -(another with the C assignment statement.)Tj -/T1_0 1 Tf --3.065 -1.84 Td -(14.3)Tj -/T1_1 1 Tf -3.065 0 Td -[(In )-491(the )-491(good )-491(ol\325 )-491(days, )-491(most )-491(systems )-491(allowed )-491(us )-491(to )-491(de\336ne )-491(the )-491(constant)]TJ -/TT0 1 Tf -T* -(FD_SETSIZE)Tj -/T1_1 1 Tf -6.347 0 Td -(befor)Tj -0.3469 Tc 2.288 0 Td -(ei)Tj -0 Tc 1.117 0 Td -[(ncluding )-97(the )-97(header)]TJ -/TT0 1 Tf -9.434 0 Td -()Tj -/T1_1 1 Tf -0.5969 Tc (.F)Tj -0 Tc 9.803 0 Td -[(or )-97(example, )-97(we)]TJ --28.988 -1.2 Td -(could write)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 178.2288 215.8832 Tm -[(#define FD_SETSIZE)-1200(2048)]TJ -0 -1.189 TD -(#include )Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 160.231 188.2564 Tm -[(to )-744(de\336ne )-744(the)]TJ -/TT0 1 Tf -7.999 0 Td -(fd_set)Tj -/T1_1 1 Tf -4.594 0 Td -[(data )-745(type )-745(to )-745(accommodate )-745(2,048 )-745(descriptors.)]TJ --12.593 -1.2 Td -(Unfortunately)Tj -0.4495 Tc 6.186 0 Td -(,t)Tj -0 Tc 1.026 0 Td -[(hings )-199(ar)18(en\325t )-199(that )-199(simple )-199(anymor)16(e. )-449(T)]TJ -0.4495 Tc 16.871 0 Td -(ou)Tj -0 Tc 1.599 0 Td -[(se )-199(this )-199(technique )-199(with)]TJ --25.681 -1.2 Td -(contemporary systems, we need to do several things:)Tj -0 -1.8 TD -[(1. )-633(Befor)18(e)-511(we)-511(i)-1(nclude )-261(any )-261(header )-261(\336les, )-261(we )-261(need )-261(to )-261(de\336ne )-261(whatever )-261(symbol)]TJ -1.633 -1.2 Td -[(pr)18(events )-58(us )-58(fr)18(om )-58(including)]TJ -/TT0 1 Tf -12.483 0 Td -()Tj -/T1_1 1 Tf -0.5582 Tc (.S)Tj -0 Tc 9.733 0 Td -[(ome )-58(systems )-58(might )-58(pr)17(otect)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47425 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(504)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(These )-84(interfaces )-84(can )-84(be )-84(implemented )-84(as )-84(either )-84(macr)17(os )-84(or )-84(functions.)-585(An)]TJ -/TT0 1 Tf -32.551 0 Td -(fd_set)Tj -/T1_1 1 Tf -3.934 0 Td -(is)Tj --38.285 -1.2 Td -[(set )-47(to )-47(all )-47(zer)]TJ -0.297 Tc 5.43 0 Td -(ob)Tj -0 Tc 1.396 0 Td -[(its )-47(by )-47(calling)]TJ -/TT0 1 Tf -5.996 0 Td -(FD_ZERO)Tj -/T1_1 1 Tf -0.547 Tc (.T)Tj -0.297 Tc 5.518 0 Td -(ot)Tj -0 Tc 1.169 0 Td -[(urn )-47(on )-47(a )-47(single )-47(bit )-47(in )-47(a )-47(set, )-47(we )-47(use)]TJ -/TT0 1 Tf -15.641 0 Td -(FD_SET)Tj -/T1_1 1 Tf -(.)Tj --0.092 Tc -35.15 -1.2 Td -[(We )-251(c)]TJ -0 Tc 2.148 0 Td -[(an )-67(clear )-67(a )-67(single )-67(bit )-67(by )-67(calling)]TJ -/TT0 1 Tf -13.766 0 Td -(FD_CLR)Tj -/T1_1 1 Tf -0.5668 Tc (.F)Tj -0 Tc 4.973 0 Td -[(inally)111(,)-317(we)-317(can )-67(test )-67(whether )-67(a )-67(given )-67(bit )-67(is)]TJ --20.886 -1.2 Td -(turned on in the set with)Tj -/TT0 1 Tf -11.146 0 Td -(FD_ISSET)Tj -/T1_1 1 Tf -(.)Tj --9.346 -1.2 Td -[(After )-67(declaring )-67(a )-67(descriptor )-67(set, )-67(we )-67(must )-67(zer)]TJ -0.3172 Tc 20.076 0 Td -(ot)Tj -0 Tc 1.189 0 Td -[(he )-67(set )-67(using)]TJ -/TT0 1 Tf -5.698 0 Td -(FD_ZERO)Tj -/T1_1 1 Tf -0.5672 Tc (.W)Tj -0.3172 Tc 5.925 0 Td -(et)Tj -0 Tc 1.122 0 Td -[(hen )-67(set)]TJ --35.811 -1.2 Td -(bits in the set for each descriptor that we\325r)Tj -0.25 Tc 18.576 0 Td -(ei)Tj -0 Tc 1.02 0 Td -[(nter)18(ested in, as in)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5913 589.0545 Tm -[(fd_set )-1200(rset;)]TJ -0 -1.189 TD -[(int )-3000(fd;)]TJ -0 -1.902 TD -(FD_ZERO\(&rset\);)Tj -0 -1.189 TD -(FD_SET\(fd, &rset\);)Tj -T* -(FD_SET\(STDIN_FILENO, &rset\);)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5924 519.6989 Tm -[(On )-177(r)18(eturn )-177(fr)18(om)]TJ -/TT0 1 Tf -7.549 0 Td -(select)Tj -/T1_1 1 Tf -[(,)-427(we)-427(can )-177(test )-177(whether )-177(a )-177(given )-177(bit )-177(in )-177(the )-177(set )-177(is )-177(still )-177(on )-177(using)]TJ -/TT0 1 Tf --7.549 -1.2 Td -(FD_ISSET)Tj -/T1_1 1 Tf -(:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 488.861 Tm -(if \(FD_ISSET\(fd, &rset\)\) {)Tj -3.6 -1.189 Td -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --3.6 -1.189 Td -(})Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5909 438.7644 Tm -[(Any )-6(\(or )-6(all\) )-6(of )-6(the )-6(middle )-6(thr)18(ee )-6(ar)18(guments )-6(to)]TJ -/TT0 1 Tf -20.186 0 Td -(select)Tj -/T1_1 1 Tf -3.856 0 Td -[(\(the )-6(pointers )-6(to )-6(the )-6(descriptor)]TJ --25.842 -1.2 Td -[(sets\) )-95(can )-95(be )-95(null )-95(pointers )-95(if )-95(we\325r)]TJ -0.3454 Tc 14.619 0 Td -(en)Tj -0 Tc 1.406 0 Td -[(ot )-95(inter)18(ested )-95(in )-95(that )-95(condition.)-595(If )-95(all )-95(thr)18(ee )-95(pointers)]TJ --16.026 -1.2 Td -[(ar)18(e)]TJ -/TT0 1 Tf -1.746 0 Td -(NULL)Tj -/T1_1 1 Tf -0.3905 Tc (,t)Tj -0 Tc 3.366 0 Td -[(hen )-140(we )-140(have )-140(a )-140(higher)16(-pr)18(ecision )-140(timer )-140(than )-140(is )-140(pr)16(ovided )-140(by)]TJ -/TT0 1 Tf -26.991 0 Td -(sleep)Tj -/T1_1 1 Tf -0.6404 Tc (.\()Tj -0 Tc 4.223 0 Td -(Recall)Tj --36.327 -1.2 Td -[(fr)18(om )-70(Section )-70(10.19 )-70(that)]TJ -/TT0 1 Tf -10.594 0 Td -(sleep)Tj -/T1_1 1 Tf -3.32 0 Td -[(waits )-70(for )-70(an )-70(integral )-70(number )-70(of )-70(seconds.)]TJ --0.055 Tc 18.772 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj -/TT0 1 Tf -1.228 0 Td -(select)Tj -/T1_1 1 Tf -(,)Tj --35.15 -1.2 Td -[(we )-158(can )-158(wait )-158(for )-158(intervals )-158(less )-158(than )-158(one )-158(second; )-158(the )-158(actual )-158(r)16(esolution )-158(depends )-158(on )-158(the)]TJ -0 -1.2 TD -[(system\325s clock.\))-500(Exer)18(cise 14.5 shows such a function.)]TJ -1.8 -1.2 Td -[(The )-111(\336rst )-111(ar)18(gument )-111(to)]TJ -/TT0 1 Tf -10.047 0 Td -(select)Tj -/T1_1 1 Tf -(,)Tj -/T1_2 1 Tf -4.211 0 Td -(maxfdp1)Tj -/T1_1 1 Tf -0.3612 Tc (,s)Tj -0 Tc 4.535 0 Td -[(tands )-111(for )-111(\324)37(\324maximum )-111(\336le )-111(descriptor )-111(plus)]TJ --20.593 -1.2 Td -(1.\325)Tj -0.5573 Tc 0.991 0 Td -(\325W)Tj -0.3073 Tc 1.743 0 Td -(ec)Tj -0 Tc 1.23 0 Td -[(alculate )-57(the )-57(highest )-57(descriptor )-57(that )-57(we\325r)]TJ -0.3072 Tc 17.811 0 Td -(ei)Tj -0 Tc 1.077 0 Td -[(nter)18(ested )-57(in, )-57(considering )-57(all )-57(thr)18(ee )-57(of)]TJ --22.853 -1.2 Td -[(the )-205(descriptor )-205(sets, )-205(add )-205(1, )-205(and )-205(that\325s )-205(the )-205(\336rst )-205(ar)22(gument. )-455(W)]TJ -0.4546 Tc 27.8 0 Td -(ec)Tj -0 Tc 1.378 0 Td -[(ould )-205(just )-205(set )-205(the )-205(\336rst)]TJ --29.178 -1.2 Td -[(ar)18(gument )-14(to)]TJ -/TT0 1 Tf -5.706 0 Td -(FD_SETSIZE)Tj -/T1_1 1 Tf -0.2642 Tc (,ac)Tj -0 Tc 7.722 0 Td -[(onstant )-14(in)]TJ -/TT0 1 Tf -4.687 0 Td -()Tj -/T1_1 1 Tf -8.664 0 Td -[(that )-14(speci\336es )-14(the )-14(maximum)]TJ --26.78 -1.2 Td -[(number )-156(of )-156(descriptors )-156(\(often )-156(1,024\), )-156(but )-156(this )-156(value )-156(is )-156(too )-156(lar)18(ge )-156(for )-156(most )-156(applications.)]TJ -T* -[(Indeed, )-496(most )-496(applications )-496(pr)18(obably )-496(use )-496(between )-496(3 )-496(and )-496(10 )-496(descriptors.)-1001(\(Some)]TJ -T* -[(applications )-107(need )-107(many )-107(mor)]TJ -0.3571 Tc 12.946 0 Td -(ed)Tj -0 Tc 1.447 0 Td -[(escriptors, )-107(but )-107(these )-107(UNIX )-107(pr)18(ograms )-107(ar)]TJ -0.3571 Tc 17.904 0 Td -(ea)Tj -0 Tc 1.336 0 Td -[(typical.\) )-357(By)]TJ --33.634 -1.2 Td -[(specifying )-184(the )-184(highest )-184(descriptor )-184(that )-184(we\325r)]TJ -0.4341 Tc 19.568 0 Td -(ei)Tj -0 Tc 1.204 0 Td -[(nter)18(ested )-184(in, )-184(we )-184(can )-184(pr)18(event )-184(the )-184(kernel)]TJ --20.773 -1.2 Td -[(fr)18(om )-4(going )-4(thr)18(ough )-4(hundr)18(eds )-4(of )-4(unused )-4(bits )-4(in )-4(the )-4(thr)18(ee )-4(descriptor )-4(sets, )-4(looking )-4(for )-4(bits)]TJ -T* -(that ar)Tj -0.25 Tc 2.861 0 Td -(et)Tj -0 Tc 1.055 0 Td -(urned on.)Tj --2.116 -1.2 Td -(As an example, Figur)Tj -0.25 Tc 9.416 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(4.16 shows what two descriptor sets look like if we write)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 226.8673 Tm -[(fd_set )-600(readset,)-600(writeset;)]TJ -0 -1.902 TD -(FD_ZERO\(&readset\);)Tj -0 -1.189 TD -(FD_ZERO\(&writeset\);)Tj -T* -(FD_SET\(0, &readset\);)Tj -T* -(FD_SET\(3, &readset\);)Tj -T* -(FD_SET\(1, &writeset\);)Tj -T* -(FD_SET\(2, &writeset\);)Tj -0 -1.189 TD -(select\(4, &readset, &writeset, NULL, NULL\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47426 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.5)]TJ -41.507 0 Td -(Limits)Tj -/T1_1 1 Tf -4.826 0 Td -(51)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 172.7896 670.2598 Tm -(errno = 0;)Tj -0 -1.189 TD -(if \(\(pathmax = pathconf\("/", _PC_PATH_MAX\)\) < 0\) {)Tj -2.4 -1.189 Td -(if \(errno == 0\))Tj -2.4 -1.189 Td -[(pathmax = PATH_MAX_GUESS;)-1800(/* it\325s indeterminate */)]TJ --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(err_sys\("pathconf error for _PC_PATH_MAX"\);)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -[(pathmax++; )-3000(/*)-600(add one since it\325s relative to root */)]TJ --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*B)Tj -0 Tc 1.8 0 Td -(efore POSIX.1-2001, we aren\325t guaranteed that PATH_MAX includes)Tj -0.6 Tc -1.8 -1.189 Td -(*t)Tj -0 Tc 1.8 0 Td -[(he terminating null byte.)-1200(Same goes for XPG3.)]TJ --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(\(posix_version < 200112L\) && \(xsi_version < 4\)\))Tj -2.4 -1.189 Td -(size = pathmax + 1;)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(size = pathmax;)Tj --2.4 -2.14 Td -(if \(\(ptr = malloc\(size\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("malloc error for pathname"\);)Tj --2.4 -2.14 Td -(if \(sizep != NULL\))Tj -2.4 -1.189 Td -(*sizep = size;)Tj --2.4 -1.189 Td -(return\(ptr\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3937.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 225.9129 377.6737 Tm -(Figure 2.16)Tj -/T1_0 1 Tf -5.695 0 Td -(Dynamically allocate space for a pathname)Tj -/TT1 1 Tf -9.9988 0 0 9.9988 93.589 339.2783 Tm -[(Maxim)20(um Number of Open Files)]TJ -/T1_0 1 Tf -0.6238 Tc 3.6 -2.4 Td -(Ac)Tj -0 Tc 1.846 0 Td -[(ommon )-374(sequence )-374(of )-374(code )-374(in )-374(a )-374(daemon )-374(pr)20(ocess )167(\321 )167(a)-624(pr)18(ocess )-374(that )-374(r)8(uns )-374(in )-374(the)]TJ --1.846 -1.2 Td -[(backgr)18(ound, )-292(not )-292(connected )-292(to )-292(a )-292(terminal)]TJ -0.0833 Tc 19.437 0 Td -(\321i)Tj -0.5419 Tc 1.374 0 Td -(so)Tj -0 Tc 1.512 0 Td -[(ne )-292(that )-292(closes )-292(all )-292(open )-292(\336les.)-792(Some)]TJ --22.323 -1.2 Td -[(pr)18(ograms )-332(have )-332(the )-332(following )-332(code )-332(sequence, )-332(assuming )-332(the )-332(constant)]TJ -/TT0 1 Tf -33.06 0 Td -(NOFILE)Tj -/T1_0 1 Tf -4.182 0 Td -(was)Tj --37.242 -1.2 Td -(de\336ned in the)Tj -/TT0 1 Tf -6.377 0 Td -()Tj -/T1_0 1 Tf -8.05 0 Td -(header:)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5829 262.5875 Tm -[(#include )-600()]TJ -0 -2.021 TD -(for \(i = 0; i < NOFILE; i++\))Tj -2.4 -1.189 Td -(close\(i\);)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.585 215.7029 Tm -[(Other )-40(pr)18(ograms )-40(use )-40(the )-40(constant)]TJ -/TT0 1 Tf -14.924 0 Td -(_NFILE)Tj -/T1_0 1 Tf -3.89 0 Td -[(that )-40(some )-40(versions )-40(of)]TJ -/TT0 1 Tf -9.812 0 Td -()Tj -/T1_0 1 Tf -5.69 0 Td -[(pr)18(ovide )-40(as)]TJ --34.316 -1.2 Td -[(the )-288(upper )-288(limit.)-788(Some )-288(har)]TJ -0.5381 Tc 12.692 0 Td -(dc)Tj -0 Tc 1.593 0 Td -[(ode )-288(the )-288(upper )-288(limit )-288(as )-288(20.)-788(However)]TJ -0.538 Tc 17.493 0 Td -(,n)Tj -0 Tc 1.37 0 Td -[(one )-288(of )-288(these)]TJ --33.148 -1.2 Td -[(appr)18(oaches is portable.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-483(w)]TJ -0 Tc 2.77 0 Td -[(ould )-299(hope )-299(to )-299(use )-299(the )-299(POSIX.1 )-299(value)]TJ -/TT0 1 Tf -17.975 0 Td -(OPEN_MAX)Tj -/T1_0 1 Tf -5.349 0 Td -[(to )-299(determine )-299(this )-299(value)]TJ --27.894 -1.2 Td -(portably)Tj -0.4166 Tc 3.657 0 Td -(,b)Tj -0 Tc 1.22 0 Td -[(ut )-167(if )-167(the )-167(value )-167(is )-167(indeterminate, )-167(we )-167(still )-167(have )-167(a )-167(pr)22(oblem. )-417(If)-416(we )-167(wr)18(ote )-167(the)]TJ --4.877 -1.2 Td -[(following )-202(code )-202(and )-202(if)]TJ -/TT0 1 Tf -10.474 0 Td -(OPEN_MAX)Tj -/T1_0 1 Tf -5.252 0 Td -[(was )-202(indeterminate, )-202(the )-202(loop )-202(would )-202(never )-202(execute,)]TJ --15.726 -1.2 Td -(since)Tj -/TT0 1 Tf -2.47 0 Td -(sysconf)Tj -/T1_0 1 Tf -4.45 0 Td -[(would r)18(eturn)]TJ -/TT2 1 Tf -6.147 0 Td -(!)Tj -/T1_0 1 Tf -(1:)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47427 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(470)Tj -/T1_1 1 Tf -3.5 0 Td -[(Daemon )-250(Pr)18(ocesses )]TJ -38.741 0 Td -[(Chapter)-500(13)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(Ther)Tj -0.25 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(t)]TJ -0 Tc 1.432 0 Td -[(hr)18(ee ways to generate log messages:)]TJ --2.912 -1.68 Td -[(1. )-633(Kernel)]TJ --0.018 Tc 4.933 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(utines )-98(can )-98(call )-98(the)]TJ -/TT0 1 Tf -8.536 0 Td -(log)Tj -/T1_1 1 Tf -2.148 0 Td -[(function. )-348(These)-348(messages )-98(can )-98(be )-98(r)18(ead )-98(by )-98(any)]TJ --14.906 -1.2 Td -[(user )-69(pr)18(ocess )-69(that)]TJ -/TT0 1 Tf -7.888 0 Td -(open)Tj -/T1_1 1 Tf -0.3192 Tc (sa)Tj -0 Tc 3.643 0 Td -(nd)Tj -/TT0 1 Tf -1.512 0 Td -(read)Tj -/T1_1 1 Tf -0.3192 Tc (st)Tj -0 Tc 3.469 0 Td -(he)Tj -/TT0 1 Tf -1.38 0 Td -(/dev/klog)Tj -/T1_1 1 Tf -5.719 0 Td -[(device. )-319(W)]TJ -0.3191 Tc 4.596 0 Td -(ew)Tj -0 Tc 1.632 0 Td -[(on\325t )-69(describe)]TJ --29.84 -1.2 Td -(this function any further)Tj -0.25 Tc 10.757 0 Td -(,s)Tj -0 Tc 0.924 0 Td -(ince we\325r)Tj -0.25 Tc 4.014 0 Td -(en)Tj -0 Tc 1.311 0 Td -[(ot inter)18(ested in writing kernel r)18(outines.)]TJ --18.639 -1.48 Td -[(2. )-633(Most)-509(user )-259(pr)18(ocesses )-259(\(daemons\) )-259(call )-259(the)]TJ -/TT0 1 Tf -20.631 0 Td -(syslog)Tj -/T1_1 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(3)Tj -0.5 0.04 Td -(\))Tj -0.842 -0.04 Td -[(function )-259(to )-259(generate )-259(log)]TJ --24.273 -1.2 Td -[(messages. )-296(W)]TJ -0.296 Tc 5.873 0 Td -(ed)Tj -0 Tc 1.386 0 Td -[(escribe )-46(its )-46(calling )-46(sequence )-46(later)]TJ -0.546 Tc 14.212 0 Td -(.T)Tj -0 Tc 1.409 0 Td -[(his )-46(causes )-46(the )-46(message )-46(to )-46(be)]TJ --22.88 -1.2 Td -(sent to the UNIX domain datagram socket)Tj -/TT0 1 Tf -18.892 0 Td -(/dev/log)Tj -/T1_1 1 Tf -(.)Tj --20.525 -1.48 Td -[(3. )-633(A)-299(user )-49(pr)18(ocess )-49(on )-49(this )-49(host, )-49(or )-49(on )-49(some )-49(other )-49(host )-49(that )-49(is )-49(connected )-49(to )-49(this )-49(host)]TJ -1.633 -1.2 Td -[(by )-117(a )-117(TCP/IP )-117(network, )-117(can )-117(send )-117(log )-117(messages )-117(to )-117(UDP )-117(port )-117(514.)-617(Note )-117(that )-117(the)]TJ -/TT0 1 Tf -0 -1.2 TD -(syslog)Tj -/T1_1 1 Tf -4.022 0 Td -[(function )-172(never )-172(generates )-172(these )-172(UDP )-172(datagrams: )-172(they )-172(r)16(equir)]TJ -0.4224 Tc 27.404 0 Td -(ee)Tj -0 Tc 1.38 0 Td -(xplicit)Tj --32.807 -1.2 Td -[(network pr)18(ogramming by the pr)18(ocess generating the log message.)]TJ --3.433 -1.68 Td -[(Refer )-151(to )-151(Stevens, )-151(Fenner)]TJ -0.4014 Tc 11.059 0 Td -(,a)Tj -0 Tc 1.151 0 Td -[(nd )-151(Rudof)18(f)]TJ -5.072 0.04 Td -([)Tj -0.333 -0.04 Td -(2004)Tj -2 0.04 Td -(])Tj -0.734 -0.04 Td -[(for )-151(details )-151(on )-151(UNIX )-151(domain )-151(sockets )-151(and)]TJ --20.35 -1.2 Td -(UDP sockets.)Tj -1.8 -1.2 Td -(Normally)Tj -0.268 Tc 4.182 0 Td -(,t)Tj -0 Tc 0.844 0 Td -(he)Tj -/TT0 1 Tf -1.329 0 Td -(syslogd)Tj -/T1_1 1 Tf -4.468 0 Td -[(daemon )-18(r)18(eads )-18(all )-18(thr)18(ee )-18(forms )-18(of )-18(log )-18(messages.)-518(On )-18(start-up,)]TJ --12.623 -1.2 Td -[(this )-26(daemon )-26(r)18(eads )-26(a )-26(con\336guration )-26(\336le, )-26(usually)]TJ -/TT0 1 Tf -20.916 0 Td -(/etc/syslog.conf)Tj -/T1_1 1 Tf -0.276 Tc (,w)Tj -0 Tc 10.96 0 Td -[(hich )-26(determines)]TJ --31.876 -1.2 Td -(wher)Tj -0.2646 Tc 2.272 0 Td -(ed)Tj -0 Tc 1.355 0 Td -[(if)18(fer)18(ent )-15(classes )-15(of )-15(messages )-15(ar)20(e)-265(to)-265(be)-265(s)1(ent. )-265(For)-264(example, )-15(ur)18(gent )-15(messages )-15(can )-15(be)]TJ --3.627 -1.2 Td -[(sent )-199(to )-199(the )-199(system )-199(administrator )-199(\(if )-199(logged )-199(in\) )-199(and )-199(printed )-199(on )-199(the )-199(console, )-199(wher)19(eas)]TJ -T* -(warnings may be logged to a \336le.)Tj -1.8 -1.2 Td -[(Our interface to this facility is thr)18(ough the)]TJ -/TT0 1 Tf -18.814 0 Td -(syslog)Tj -/T1_1 1 Tf -3.85 0 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5905 422.2747 Tm -(#include )Tj -0 -1.783 TD -(void openlog\(const char *)Tj -/T1_2 1 Tf -(ident)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 18.856 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(option)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.355 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(facility)Tj -/TT0 1 Tf -(\);)Tj --26.811 -1.783 Td -(void syslog\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(priority)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.911 0 Td -(onst char *)Tj -/T1_2 1 Tf -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 11.066 0 Td -(..\);)Tj --25.577 -1.783 Td -(void closelog\(void\);)Tj -T* -(int setlogmask\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(maskpri)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -9.475 -1.783 Td -[(Returns: pr)18(evious log priority mask value)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3375.25 cm -0 0 m -0 938 l -3900 938 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 325.211 Tm -(Calling)Tj -/TT0 1 Tf -3.497 0 Td -(openlog)Tj -/T1_1 1 Tf -4.477 0 Td -[(is )-27(optional.)-527(If )-27(it\325s )-27(not )-27(called, )-27(the )-27(\336rst )-27(time)]TJ -/TT0 1 Tf -18.815 0 Td -(syslog)Tj -/T1_1 1 Tf -3.877 0 Td -[(is )-27(called,)]TJ -/TT0 1 Tf -4.135 0 Td -(openlog)Tj -/T1_1 1 Tf --34.8 -1.2 Td -[(is )-38(called )-38(automatically)]TJ -0.5379 Tc 9.853 0 Td -(.C)Tj -0 Tc 1.497 0 Td -(alling)Tj -/TT0 1 Tf -2.799 0 Td -(closelog)Tj -/T1_1 1 Tf -5.088 0 Td -[(is )-38(also )-38(optional)]TJ -0.0833 Tc 6.818 0 Td -(\321i)Tj -0.2878 Tc 1.374 0 Td -(tj)Tj -0 Tc 0.848 0 Td -[(ust )-38(closes )-38(the )-38(descriptor)]TJ --28.277 -1.2 Td -(that was being used to communicate with the)Tj -/TT0 1 Tf -20.343 0 Td -(syslogd)Tj -/T1_1 1 Tf -4.45 0 Td -(daemon.)Tj --22.993 -1.2 Td -(Calling)Tj -/TT0 1 Tf -3.524 0 Td -(openlog)Tj -/T1_1 1 Tf -4.504 0 Td -[(lets )-54(us )-54(specify )-54(an)]TJ -/T1_2 1 Tf -7.975 0 Td -(ident)Tj -/T1_1 1 Tf -2.36 0 Td -[(that )-54(is )-54(added )-54(to )-54(each )-54(log )-54(message.)-554(This )-54(is)]TJ --20.164 -1.2 Td -[(normally )-262(the )-262(name )-262(of )-262(the )-262(pr)20(ogram )-261(\(e.g.)]TJ -/TT0 1 Tf -19.698 0 Td -(cron)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -3.161 0 Td -(inetd)Tj -/T1_1 1 Tf -[(\). )-511(The)]TJ -/T1_2 1 Tf -6.53 0 Td -(option)Tj -/T1_1 1 Tf -3.066 0 Td -[(ar)18(gument )-261(is )-261(a)]TJ --32.456 -1.2 Td -[(bitmask )-432(specifying )-432(various )-432(options.)-930(Figur)]TJ -0.6817 Tc 20.34 0 Td -(e1)Tj -0 Tc 1.661 0 Td -[(3.3 )-432(describes )-432(the )-432(available )-432(options,)]TJ --22 -1.2 Td -[(including )-34(a )-34(bullet )-34(in )-34(the )-34(XSI )-34(column )-34(if )-34(the )-34(option )-34(is )-34(included )-34(in )-34(the)]TJ -/TT0 1 Tf -30.202 0 Td -(openlog)Tj -/T1_1 1 Tf -4.484 0 Td -(de\336nition)Tj --34.687 -1.2 Td -(in the Single UNIX Speci\336cation.)Tj -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.021 0 Td -(facility)Tj -/T1_1 1 Tf -3.143 0 Td -[(ar)18(gument )-97(for)]TJ -/TT0 1 Tf -6.274 0 Td -(openlog)Tj -/T1_1 1 Tf -4.547 0 Td -[(is )-97(taken )-97(fr)18(om )-97(Figur)]TJ -0.3472 Tc 8.722 0 Td -(e1)Tj -0 Tc 1.326 0 Td -[(3.4. )-347(Note)-348(that )-97(the )-97(Single)]TJ --27.834 -1.2 Td -[(UNIX )-137(Speci\336cation )-137(de\336nes )-137(only )-137(a )-137(subset )-137(of )-137(the )-137(facility )-137(codes )-137(typically )-137(available )-137(on )-137(a)]TJ -0 -1.2 TD -[(given )-241(platform.)-741(The )-241(r)18(eason )-241(for )-241(the)]TJ -/T1_2 1 Tf -17.038 0 Td -(facility)Tj -/T1_1 1 Tf -3.287 0 Td -[(ar)18(gument )-241(is )-241(to )-241(let )-241(the )-241(con\336guration )-241(\336le)]TJ --20.325 -1.2 Td -[(specify )-65(that )-65(messages )-65(fr)18(om )-65(dif)18(fer)18(ent )-65(facilities )-65(ar)18(e)-315(to)-315(be)-315(handled )-65(dif)18(fer)18(ently)]TJ -0.565 Tc 33.229 0 Td -(.I)Tj -0 Tc 1.152 0 Td -[(f)-315(we)-315(don\325t)]TJ --34.381 -1.2 Td -(call)Tj -/TT0 1 Tf -1.796 0 Td -(openlog)Tj -/T1_1 1 Tf -[(,)-270(or)-270(if)-270(we)-270(c)-2(all )-20(it )-20(with )-20(a)]TJ -/T1_2 1 Tf -14.168 0 Td -(facility)Tj -/T1_1 1 Tf -3.066 0 Td -[(of )-21(0, )-21(we )-21(can )-21(still )-21(specify )-21(the )-21(facility )-21(as )-21(part )-21(of)]TJ --19.031 -1.2 Td -(the)Tj -/T1_2 1 Tf -1.637 0 Td -(priority)Tj -/T1_1 1 Tf -3.361 0 Td -[(ar)18(gument to)]TJ -/TT0 1 Tf -5.678 0 Td -(syslog)Tj -/T1_1 1 Tf -(.)Tj --0.092 Tc -8.876 -1.2 Td -[(We )-244(c)]TJ -0 Tc 2.141 0 Td -(all)Tj -/TT0 1 Tf -1.392 0 Td -(syslog)Tj -/T1_1 1 Tf -3.91 0 Td -[(to )-60(generate )-60(a )-60(log )-60(message.)-560(The)]TJ -/T1_2 1 Tf -14.341 0 Td -(priority)Tj -/T1_1 1 Tf -3.421 0 Td -[(ar)18(gument )-60(is )-60(a )-60(combination)]TJ --27.005 -1.2 Td -[(of )-98(the)]TJ -/T1_2 1 Tf -2.961 0 Td -(facility)Tj -/T1_1 1 Tf -0.3477 Tc (,s)Tj -0 Tc 3.818 0 Td -[(hown )-98(in )-98(Figur)]TJ -0.3477 Tc 6.495 0 Td -(e1)Tj -0 Tc 1.327 0 Td -[(3.4, )-98(and )-98(a)]TJ -/T1_2 1 Tf -4.736 0 Td -(level)Tj -/T1_1 1 Tf -0.3478 Tc (,s)Tj -0 Tc 2.856 0 Td -[(hown )-98(in )-98(Figur)]TJ -0.3478 Tc 6.496 0 Td -(e1)Tj -0 Tc 1.327 0 Td -[(3.5. )-348(These)]TJ -/T1_2 1 Tf -5.023 0 Td -(level)Tj -/T1_1 1 Tf -0.3478 Tc (sa)Tj --0.018 Tc 3.106 0 Td -(re)Tj -0 Tc -38.144 -1.2 Td -[(or)18(der)18(ed by priority)]TJ -0.25 Tc 8.379 0 Td -(,f)Tj --0.018 Tc 0.833 0 Td -(ro)Tj -0.25 Tc 0.923 0 Td -(mh)Tj -0 Tc 1.715 0 Td -(ighest to lowest.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47428 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(928)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 160.2404 668.9599 Tm -[(that )-46(we )-46(don\325t )-46(know )-46(whether )-46(any )-46(of )-46(the )-46(functions )-46(we )-46(call )-46(might )-46(unmask )-46(a )-46(signal)]TJ -0 -1.2 TD -[(that )-119(we\325ve )-119(blocked, )-119(ther)18(eby )-119(making )-119(it )-119(possible )-119(for )-119(the )-119(function )-119(to )-119(be )-119(r)17(eenter)18(ed)]TJ -T* -[(thr)18(ough another signal handler)74(.)]TJ -/T1_0 1 Tf --3.065 -1.84 Td -(12.4)Tj -/T1_1 1 Tf -3.065 0 Td -[(On )-87(Fr)18(eeBSD )-87(8.0, )-87(the )-87(pr)18(ogram )-87(dr)18(ops )-87(cor)18(e. )-337(W)55(ith)]TJ -/TT0 1 Tf -21.659 0 Td -(gdb)Tj -/T1_1 1 Tf -[(,)-337(we)-337(a)]TJ --0.018 Tc [(re )-123(a)]TJ -0 Tc 6.23 0 Td -[(ble )-87(to )-87(see )-87(that )-87(the)]TJ --27.889 -1.2 Td -[(pr)18(ogram )-225(initialization )-225(calls )-225(pthr)18(ead )-225(functions, )-225(which )-225(call)]TJ -/TT0 1 Tf -26.854 0 Td -(getenv)Tj -/T1_1 1 Tf -4.075 0 Td -[(to )-225(\336nd )-225(the)]TJ --30.929 -1.2 Td -[(value )-738(of )-738(the)]TJ -/TT0 1 Tf -7.667 0 Td -(LIBPTHREAD_SPINLOOPS)Tj -/T1_1 1 Tf -12.988 0 Td -(and)Tj -/TT0 1 Tf -2.681 0 Td -(LIBPTHREAD_YIELDLOOPS)Tj -/T1_1 1 Tf --23.335 -1.2 Td -[(envir)18(onment )-104(variables.)-604(However)]TJ -0.3541 Tc 14.954 0 Td -(,o)Tj -0 Tc 1.15 0 Td -[(ur )-104(thr)18(ead-safe )-104(version )-104(of)]TJ -/TT0 1 Tf -11.519 0 Td -(getenv)Tj -/T1_1 1 Tf -3.954 0 Td -[(calls )-104(back)]TJ --31.578 -1.2 Td -[(into )-243(the )-243(pthr)17(ead )-243(library )-243(while )-243(it )-243(is )-243(in )-243(an )-243(intermediate, )-243(inconsistent )-243(state.)-745(In)]TJ -0 -1.2 Td -[(addition, )-251(the )-251(thr)18(ead )-251(initialization )-251(functions )-251(call)]TJ -/TT0 1 Tf -22.542 0 Td -(malloc)Tj -/T1_1 1 Tf -0.5012 Tc (,w)Tj -0 Tc 5.185 0 Td -[(hich, )-251(in )-251(turn, )-251(call)]TJ -/TT0 1 Tf --27.727 -1.2 Td -(getenv)Tj -/T1_1 1 Tf -3.85 0 Td -(to \336nd the value of the)Tj -/TT0 1 Tf -10.261 0 Td -(MALLOC_OPTIONS)Tj -/T1_1 1 Tf -8.65 0 Td -[(envir)18(onment variable.)]TJ --0.092 Tc -22.761 -1.8 Td -[(To )-427(g)]TJ -0 Tc 2.116 0 Td -[(et )-243(ar)18(ound )-243(this )-243(pr)18(oblem, )-243(we )-243(could )-243(make )-243(the )-243(r)15(easonable )-243(assumption )-243(that)]TJ --2.116 -1.2 Td -[(pr)18(ogram )-5(start-up )-5(is )-5(single )-5(thr)18(eaded, )-5(and )-5(use )-5(a )-5(\337ag )-5(to )-5(indicate )-5(whether )-5(the )-5(thr)15(ead)]TJ -0 -1.2 Td -[(initialization )-110(had )-110(been )-110(completed )-110(by )-110(our )-110(version )-110(of)]TJ -/TT0 1 Tf -23.75 0 Td -(getenv)Tj -/T1_1 1 Tf -0.6101 Tc (.W)Tj -0 Tc 5.46 0 Td -[(hile )-110(this )-110(\337ag )-110(is)]TJ --29.21 -1.2 Td -[(false, )-61(our )-61(version )-61(of)]TJ -/TT0 1 Tf -9.226 0 Td -(getenv)Tj -/T1_1 1 Tf -3.911 0 Td -[(can )-61(operate )-61(as )-61(the )-61(non-r)18(eentrant )-61(version )-61(does )-61(\(and)]TJ --13.137 -1.2 Td -[(avoid )-229(all )-229(calls )-229(to )-229(pthr)18(ead )-229(functions )-229(and)]TJ -/TT0 1 Tf -19.072 0 Td -(malloc)Tj -/T1_1 1 Tf -[(\). )-479(Then)-479(we )-229(could )-229(pr)18(ovide )-229(a)]TJ --19.072 -1.2 Td -[(separate )-76(initialization )-76(function )-76(to )-76(call)]TJ -/TT0 1 Tf -17.049 0 Td -(pthread_once)Tj -/T1_1 1 Tf -0.3265 Tc (,i)Tj -0 Tc 8.068 0 Td -[(nstead )-76(of )-76(calling )-76(it )-76(fr)16(om)]TJ --25.117 -1.2 Td -(inside)Tj -/TT0 1 Tf -3.107 0 Td -(getenv)Tj -/T1_1 1 Tf -0.6793 Tc (.T)Tj -0 Tc 5.142 0 Td -[(his )-179(r)18(equir)18(es )-179(that )-179(the )-179(pr)18(ogram )-179(call )-179(our )-179(initialization )-179(function)]TJ --8.25 -1.2 Td -(befor)Tj -0.281 Tc 2.288 0 Td -(ec)Tj -0 Tc 1.204 0 Td -(alling)Tj -/TT0 1 Tf -2.792 0 Td -(getenv)Tj -/T1_1 1 Tf -0.531 Tc (.T)Tj -0 Tc 4.994 0 Td -[(his )-31(solves )-31(our )-31(pr)18(oblem, )-31(because )-31(this )-31(can\325t )-31(be )-31(done )-31(until)]TJ --11.278 -1.2 Td -[(the )-367(pr)18(ogram )-367(start-up )-367(initialization )-367(completes.)-867(After )-367(the )-367(pr)19(ogram )-367(calls )-367(our)]TJ -T* -(initialization function, our version of)Tj -/TT0 1 Tf -16.52 0 Td -(getenv)Tj -/T1_1 1 Tf -3.85 0 Td -[(operates in a thr)18(ead-safe manner)74(.)]TJ -/T1_0 1 Tf --23.435 -1.84 Td -(12.5)Tj -/T1_1 1 Tf --0.092 Tc 3.065 0 Td -[(We )-297(s)]TJ -0 Tc 2.174 0 Td -[(till )-113(need)]TJ -/TT0 1 Tf -4.076 0 Td -(fork)Tj -/T1_1 1 Tf -2.763 0 Td -[(if )-113(we )-113(want )-113(to )-113(r)9(un )-113(a )-113(pr)18(ogram )-113(fr)18(om )-113(within )-113(another )-113(pr)19(ogram)]TJ --9.012 -1.2 Td -(\(i.e., befor)Tj -0.25 Tc 4.391 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(alling)Tj -/TT0 1 Tf -2.761 0 Td -(exec)Tj -/T1_1 1 Tf -(\).)Tj -/T1_0 1 Tf --11.39 -1.84 Td -(12.6)Tj -/T1_1 1 Tf -3.065 0 Td -(Figur)Tj -0.4664 Tc 2.383 0 Td -(eC)Tj -0 Tc 1.654 0 Td -[(.13 )-216(shows )-216(a )-216(thr)17(ead-safe)]TJ -/TT0 1 Tf -11.37 0 Td -(sleep)Tj -/T1_1 1 Tf -3.466 0 Td -[(implementation )-216(that )-216(uses)]TJ -/TT0 1 Tf -12.123 0 Td -(select)Tj -/T1_1 1 Tf -4.066 0 Td -(to)Tj --35.063 -1.2 Td -[(delay )-129(for )-129(the )-129(speci\336ed )-129(amount )-129(of )-129(time.)-629(It )-129(is )-129(thr)18(ead-safe )-129(because )-129(it )-129(doesn\325t )-129(use)]TJ -T* -[(any unpr)18(otected global or static data and calls only other thr)18(ead-safe functions.)]TJ -/T1_0 1 Tf --3.065 -1.84 Td -(12.7)Tj -/T1_1 1 Tf -3.065 0 Td -[(The )-98(implementation )-98(of )-98(a )-98(condition )-98(variable )-98(most )-98(likely )-98(uses )-98(a )-98(mutex )-98(to )-98(pr)16(otect)]TJ -T* -[(its )-229(internal )-229(str)8(uctur)18(e. )-479(Because)-479(this )-229(is )-229(an )-229(implementation )-229(detail )-229(and )-229(ther)18(efor)18(e)]TJ --0 -1.2 Td -[(hidden, )-25(ther)18(e)-275(is)-275(no)-275(portable )-25(way )-25(for )-25(us )-25(to )-25(acquir)]TJ -0.2749 Tc 21.496 0 Td -(ea)Tj -0 Tc 1.254 0 Td -[(nd )-25(r)18(elease )-25(the )-25(lock )-25(in )-25(the )-25(fork)]TJ --22.749 -1.2 Td -[(handlers. )-361(Since)-362(we )-111(can\325t )-111(determine )-111(the )-111(state )-111(of )-111(the )-111(internal )-111(lock )-111(in )-111(a )-111(condition)]TJ -T* -[(variable )-40(after )-40(calling)]TJ -/TT0 1 Tf -9.432 0 Td -(fork)Tj -/T1_1 1 Tf -[(,)-290(it)-290(is)-290(unsafe )-40(for )-40(us )-40(to )-40(use )-40(the )-40(condition )-40(variable )-40(in )-40(the)]TJ --9.432 -1.2 Td -[(child pr)18(ocess.)]TJ -/TT1 1 Tf --6.665 -3.6 Td -[(Chapter )-278(13)]TJ -/T1_0 1 Tf -3.6 -2.8 Td -(13.1)Tj -/T1_1 1 Tf -3.065 0 Td -[(If )-1(it )-1(calls)]TJ -/TT0 1 Tf -3.991 0 Td -(chroot)Tj -/T1_1 1 Tf -0.2514 Tc (,t)Tj -0 Tc 4.427 0 Td -[(he )-1(pr)18(ocess )-1(will )-1(not )-1(be )-1(able )-1(to )-1(open)]TJ -/TT0 1 Tf -15.464 0 Td -(/dev/log)Tj -/T1_1 1 Tf -0.5015 Tc (.T)Tj -0 Tc 6.164 0 Td -[(he )-1(solution )-1(is)]TJ --30.047 -1.2 Td -[(for )-129(the )-129(daemon )-129(to )-129(call)]TJ -/TT0 1 Tf -10.557 0 Td -(openlog)Tj -/T1_1 1 Tf -4.579 0 Td -[(with )-129(an)]TJ -/T1_2 1 Tf -3.874 0 Td -(option)Tj -/T1_1 1 Tf -2.934 0 Td -(of)Tj -/TT0 1 Tf -1.259 0 Td -(LOG_NDELAY)Tj -/T1_1 1 Tf -0.3795 Tc (,b)Tj -0 Tc 7.182 0 Td -(efor)Tj -0.3795 Tc 1.735 0 Td -(ec)Tj -0 Tc 1.302 0 Td -(alling)Tj -/TT0 1 Tf --33.424 -1.2 Td -(chroot)Tj -/T1_1 1 Tf -0.546 Tc (.T)Tj -0 Tc 5.009 0 Td -[(his )-46(opens )-46(the )-46(special )-46(device )-46(\336le )-46(\(the )-46(UNIX )-46(domain )-46(datagram )-46(socket\),)]TJ --5.009 -1.2 Td -[(yielding )-34(a )-34(descriptor )-34(that )-34(is )-34(still )-34(valid, )-34(even )-34(after )-34(a )-34(call )-34(to)]TJ -/TT0 1 Tf -25.695 0 Td -(chroot)Tj -/T1_1 1 Tf -0.5342 Tc (.T)Tj -0 Tc 4.997 0 Td -[(his )-34(scenario)]TJ --30.693 -1.2 Td -[(is )-146(encounter)18(ed )-146(in )-146(daemons, )-146(such )-146(as)]TJ -/TT0 1 Tf -16.723 0 Td -(ftpd)Tj -/T1_1 1 Tf -2.796 0 Td -[(\(the )-146(File )-146(T)90(ransfer )-146(Pr)18(otocol )-146(daemon\),)]TJ --19.519 -1.2 Td -[(that )-50(speci\336cally )-50(call)]TJ -/TT0 1 Tf -9.086 0 Td -(chroot)Tj -/T1_1 1 Tf -3.9 0 Td -[(for )-50(security )-50(r)18(easons )-50(but )-50(still )-50(need )-50(to )-50(call)]TJ -/TT0 1 Tf -18.177 0 Td -(syslog)Tj -/T1_1 1 Tf -3.9 0 Td -(to)Tj --35.063 -1.2 Td -[(log err)18(or conditions.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47429 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(904)Tj -/T1_1 1 Tf -3.5 0 Td -[(Miscellaneous )-250(Sour)18(ce )-250(Code)]TJ -38.263 0 Td -[(Appendix )-250(B)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -(static void)Tj -0 -1.189 TD -(log_doit\(int errnoflag, int error, int priority, const char *fmt,)Tj -5.4 -1.189 Td -(va_list ap\))Tj --5.4 -1.189 Td -({)Tj -2.4 -1.189 Td -[(char )-1800(buf[MAXLINE];)]TJ -0 -2.021 TD -(vsnprintf\(buf, MAXLINE-1, fmt, ap\);)Tj -0 -1.189 TD -(if \(errnoflag\))Tj -2.4 -1.189 Td -(snprintf\(buf+strlen\(buf\), MAXLINE-strlen\(buf\)-1, ": %s",)Tj -1.2 -1.189 Td -(strerror\(error\)\);)Tj --3.6 -1.189 Td -(strcat\(buf, "\\n"\);)Tj -T* -(if \(log_to_stderr\) {)Tj -2.4 -1.189 Td -(fflush\(stdout\);)Tj -T* -(fputs\(buf, stderr\);)Tj -T* -(fflush\(stderr\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(syslog\(priority, "%s", buf\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4761.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 253.1056 460.0538 Tm -(Figure B.4)Tj -/T1_1 1 Tf -5.362 0 Td -[(Err)18(or functions for daemons)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47430 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(478)Tj -/T1_1 1 Tf -3.5 0 Td -[(Daemon )-250(Pr)18(ocesses )]TJ -38.741 0 Td -[(Chapter)-500(13)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -(})Tj -0 -2.021 TD -(void)Tj -0 -1.189 TD -(sigterm\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(syslog\(LOG_INFO, "got SIGTERM; exiting"\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(void)Tj -0 -1.189 TD -(sighup\(int signo\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(syslog\(LOG_INFO, "Re-reading configuration file"\);)Tj -0 -1.189 TD -(reread\(\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -(char )Tj -12 0 Td -(*cmd;)Tj --12 -1.189 Td -[(struct sigaction)-2400(sa;)]TJ -0 -2.021 TD -(if \(\(cmd = strrchr\(argv[0], \325/\325\)\) == NULL\))Tj -2.4 -1.189 Td -(cmd = argv[0];)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(cmd++;)Tj --2.4 -2.021 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*B)Tj -0 Tc 1.8 0 Td -(ecome a daemon.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(daemonize\(cmd\);)Tj -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*M)Tj -0 Tc 1.8 0 Td -(ake sure only one copy of the daemon is running.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(already_running\(\)\) {)Tj -2.4 -1.189 Td -(syslog\(LOG_ERR, "daemon already running"\);)Tj -0 -1.189 TD -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*H)Tj -0 Tc 1.8 0 Td -(andle signals of interest.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(sa.sa_handler = sigterm;)Tj -0 -1.189 TD -(sigemptyset\(&sa.sa_mask\);)Tj -T* -(sigaddset\(&sa.sa_mask, SIGHUP\);)Tj -0 -1.189 TD -(sa.sa_flags = 0;)Tj -0 -1.189 TD -(if \(sigaction\(SIGTERM, &sa, NULL\) < 0\) {)Tj -2.4 -1.189 Td -(syslog\(LOG_ERR, "can\325t catch SIGTERM: %s", strerror\(errno\)\);)Tj -T* -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(sa.sa_handler = sighup;)Tj -T* -(sigemptyset\(&sa.sa_mask\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47431 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(476)Tj -/T1_1 1 Tf -3.5 0 Td -[(Daemon )-250(Pr)18(ocesses )]TJ -38.741 0 Td -[(Chapter)-500(13)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 172.7896 670.2598 Tm -(})Tj -0 -2.021 TD -(switch \(signo\) {)Tj -0 -1.189 TD -(case SIGHUP:)Tj -2.4 -1.189 Td -(syslog\(LOG_INFO, "Re-reading configuration file"\);)Tj -T* -(reread\(\);)Tj -0 -1.189 TD -(break;)Tj --2.4 -2.021 Td -(case SIGTERM:)Tj -2.4 -1.189 Td -(syslog\(LOG_INFO, "got SIGTERM; exiting"\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -2.021 Td -(default:)Tj -2.4 -1.189 Td -(syslog\(LOG_INFO, "unexpected signal %d\\n", signo\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -T* -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(int )Tj -12 0 Td -(err;)Tj --12 -1.189 Td -(pthread_t )Tj -12 0 Td -(tid;)Tj --12 -1.189 Td -(char )Tj -12 0 Td -(*cmd;)Tj --12 -1.189 Td -[(struct sigaction)-2400(sa;)]TJ -0 -2.021 TD -(if \(\(cmd = strrchr\(argv[0], \325/\325\)\) == NULL\))Tj -2.4 -1.189 Td -(cmd = argv[0];)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(cmd++;)Tj --2.4 -2.021 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*B)Tj -0 Tc 1.8 0 Td -(ecome a daemon.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(daemonize\(cmd\);)Tj -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*M)Tj -0 Tc 1.8 0 Td -(ake sure only one copy of the daemon is running.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(already_running\(\)\) {)Tj -2.4 -1.189 Td -(syslog\(LOG_ERR, "daemon already running"\);)Tj -0 -1.189 TD -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*R)Tj -0 Tc 1.8 0 Td -(estore SIGHUP default and block all signals.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(sa.sa_handler = SIG_DFL;)Tj -0 -1.189 TD -(sigemptyset\(&sa.sa_mask\);)Tj -T* -(sa.sa_flags = 0;)Tj -T* -(if \(sigaction\(SIGHUP, &sa, NULL\) < 0\))Tj -2.4 -1.189 Td -(err_quit\("%s: can\325t restore SIGHUP default"\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47432 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(468)Tj -/T1_1 1 Tf -3.5 0 Td -[(Daemon )-250(Pr)18(ocesses )]TJ -38.741 0 Td -[(Chapter)-500(13)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(sa.sa_flags = 0;)Tj -0 -1.189 TD -(if \(sigaction\(SIGHUP, &sa, NULL\) < 0\))Tj -2.4 -1.189 Td -(err_quit\("%s: can\325t ignore SIGHUP", cmd\);)Tj --2.4 -1.189 Td -(if \(\(pid = fork\(\)\) < 0\))Tj -2.4 -1.189 Td -(err_quit\("%s: can\325t fork", cmd\);)Tj --2.4 -1.189 Td -(else if \(pid != 0\) /* parent */)Tj -2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.902 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(hange the current working directory to the root so)Tj --1.8 -1.189 Td -[(*)-600(we)-600(won\325t prevent file systems from being unmounted.)]TJ -T* -(*/)Tj --0.6 -1.189 Td -(if \(chdir\("/"\) < 0\))Tj -2.4 -1.189 Td -(err_quit\("%s: can\325t change directory to /", cmd\);)Tj --2.4 -1.902 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(lose all open file descriptors.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(rl.rlim_max == RLIM_INFINITY\))Tj -2.4 -1.189 Td -(rl.rlim_max = 1024;)Tj --2.4 -1.189 Td -(for \(i = 0; i < rl.rlim_max; i++\))Tj -2.4 -1.189 Td -(close\(i\);)Tj --2.4 -1.902 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*A)Tj -0 Tc 1.8 0 Td -(ttach file descriptors 0, 1, and 2 to /dev/null.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(fd0 = open\("/dev/null", O_RDWR\);)Tj -0 -1.189 TD -(fd1 = dup\(0\);)Tj -0 -1.189 TD -(fd2 = dup\(0\);)Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*I)Tj -0 Tc 1.8 0 Td -(nitialize the log file.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(openlog\(cmd, LOG_CONS, LOG_DAEMON\);)Tj -0 -1.189 TD -(if \(fd0 != 0 || fd1 != 1 || fd2 != 2\) {)Tj -2.4 -1.189 Td -(syslog\(LOG_ERR, "unexpected file descriptors %d %d %d",)Tj -1.2 -1.189 Td -(fd0, fd1, fd2\);)Tj --1.2 -1.189 Td -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2653.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 253.6536 249.2891 Tm -(Figure 13.1)Tj -/T1_1 1 Tf -5.695 0 Td -[(Initialize a daemon pr)18(ocess)]TJ -9.9988 0 0 9.9988 129.5846 221.6924 Tm -[(If )-96(the)]TJ -/TT0 1 Tf -2.749 0 Td -(daemonize)Tj -/T1_1 1 Tf -5.746 0 Td -[(function )-96(is )-96(called )-96(fr)18(om )-96(a)]TJ -/TT0 1 Tf -11.408 0 Td -(main)Tj -/T1_1 1 Tf -2.746 0 Td -[(pr)18(ogram )-96(that )-96(then )-96(goes )-96(to )-96(sleep, )-96(we)]TJ --22.649 -1.2 Td -(can check the status of the daemon with the)Tj -/TT0 1 Tf -19.558 0 Td -(ps)Tj -/T1_1 1 Tf -1.45 0 Td -(command:)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5826 192.9958 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(ps -efj)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(UID )-2400(PID)-1200(PPID )-600(PGID)-1800(SID )-600(TTY )-600(CMD)]TJ -T* -[(sar )-1200(13800)]TJ -0.6 Tc 9.6 0 Td -(11)Tj -0 Tc 1.8 0 Td -(3799 13799)Tj -2.4 Tc 7.2 0 Td -(?.)Tj -0 Tc 3.6 0 Td -(/a.out)Tj --22.2 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(ps -efj | grep 13799)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(sar )-1200(13800)]TJ -0.6 Tc 9.6 0 Td -(11)Tj -0 Tc 1.8 0 Td -(3799 13799)Tj -2.4 Tc 7.2 0 Td -(?.)Tj -0 Tc 3.6 0 Td -(/a.out)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47433 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(815)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 134.9919 659.4594 Tm -[(98 )-2400(if)-600(\(argc != 1\))]TJ -0 -1.189 TD -[(99 )-4800(err_quit\("usage:)-600(printd"\);)]TJ --0.6 -1.189 Td -[(100 )-2400(daemonize\("printd"\);)]TJ -0 -2.021 TD -[(101 )-2400(sigemptyset\(&sa.sa_mask\);)]TJ -0 -1.189 TD -[(102 )-2400(sa.sa_flags)]TJ -0.6 Tc 12 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --13.8 -1.189 Td -[(103 )-2400(sa.sa_handler)]TJ -0.6 Tc 13.2 0 Td -(=S)Tj -0 Tc 1.8 0 Td -(IG_IGN;)Tj --15 -1.189 Td -[(104 )-2400(if)-600(\(sigaction\(SIGPIPE, &sa, NULL\) < 0\))]TJ -T* -[(105 )-4800(log_sys\("sigaction)-600(failed"\);)]TJ -T* -[(106 )-2400(sigemptyset\(&mask\);)]TJ -0 -1.189 TD -[(107 )-2400(sigaddset\(&mask,)-600(SIGHUP\);)]TJ -0 -1.189 TD -[(108 )-2400(sigaddset\(&mask,)-600(SIGTERM\);)]TJ -T* -[(109 )-2400(if)-600(\(\(err = pthread_sigmask\(SIG_BLOCK, &mask, NULL\)\) != 0\))]TJ -T* -[(110 )-4800(log_sys\("pthread_sigmask)-600(failed"\);)]TJ -0 -2.021 TD -[(111 )-2400(n)]TJ -0.6 Tc 6 0 Td -(=s)Tj -0 Tc 1.8 0 Td -(ysconf\(_SC_HOST_NAME_MAX\);)Tj --7.8 -1.189 Td -[(112 )-2400(if)-600(\(n < 0\))-1200(/* best guess */)]TJ -0 -1.189 TD -[(113 )-4800(n)]TJ -0.6 Tc 8.4 0 Td -(=H)Tj -0 Tc 1.8 0 Td -(OST_NAME_MAX;)Tj --10.2 -1.189 Td -[(114 )-2400(if)-600(\(\(host = malloc\(n\)\) == NULL\))]TJ -T* -[(115 )-4800(log_sys\("malloc)-600(error"\);)]TJ -0 -1.189 TD -[(116 )-2400(if)-600(\(gethostname\(host, n\) < 0\))]TJ -0 -1.189 TD -[(117 )-4800(log_sys\("gethostname)-600(error"\);)]TJ -0 -2.021 TD -[(118 )-2400(if)-600(\(\(err = getaddrlist\(host, "print", &ailist\)\) != 0\) {)]TJ -0 -1.189 TD -[(119 )-4800(log_quit\("getaddrinfo)-600(error: %s", gai_strerror\(err\)\);)]TJ -0 -1.189 TD -[(120 )-4800(exit\(1\);)]TJ -0 -1.189 TD -[(121 )-2400(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3861.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 362.0845 Tm -[([98 )167(\320 )167(100])-1168(The )-100(daemon )-100(doesn\325t )-100(have )-100(any )-100(options )-100(\(the )-100(only )-100(ar)18(gument )-100(is )-100(the )-100(command)]TJ -5 -1.2 Td -[(name )-24(itself)-83(\), )-24(so )-24(if)]TJ -/TT0 1 Tf -7.944 0 Td -(argc)Tj -/T1_0 1 Tf -2.674 0 Td -[(is )-24(not )-24(1, )-24(we )-24(call)]TJ -/TT0 1 Tf -7.127 0 Td -(err_quit)Tj -/T1_0 1 Tf -5.074 0 Td -[(to )-24(print )-24(an )-24(err)18(or )-24(message)]TJ --22.818 -1.2 Td -[(and )-190(exit.)]TJ --0.092 Tc 4.685 0 Td -[(We )-374(c)]TJ -0 Tc 2.271 0 Td -[(all )-190(the)]TJ -/TT0 1 Tf -3.349 0 Td -(daemonize)Tj -/T1_0 1 Tf -5.84 0 Td -[(function )-190(fr)18(om )-190(Figur)]TJ -0.4401 Tc 9.109 0 Td -(e1)Tj -0 Tc 1.419 0 Td -[(3.1 )-190(to )-190(become )-190(a)]TJ --26.674 -1.2 Td -[(daemon. )-375(After)-375(this )-125(point, )-125(we )-125(can\325t )-125(print )-125(err)18(or )-125(messages )-125(to )-125(standar)]TJ -0.375 Tc 30.572 0 Td -(de)Tj -0 Tc 1.465 0 Td -[(rr)18(or;)]TJ --32.037 -1.2 Td -(we need to log them instead.)Tj --5 -1.6 Td -[([101 )167(\320 )167(1)54(10] )-472(W)]TJ -0.2662 Tc 5.908 0 Td -(ea)Tj -0 Tc 1.245 0 Td -[(rrange )-16(to )-16(ignor)18(e)]TJ -/TT0 1 Tf -7.409 0 Td -(SIGPIPE)Tj -/T1_0 1 Tf -0.5162 Tc (.W)Tj -0.2662 Tc 5.874 0 Td -(ew)Tj -0 Tc 1.579 0 Td -[(ill )-16(be )-16(writing )-16(to )-16(socket )-16(\336le )-16(descriptors,)]TJ --17.015 -1.2 Td -[(and )-172(we )-172(don\325t )-172(want )-172(a )-172(write )-172(err)20(or )-172(to )-172(trigger)]TJ -/TT0 1 Tf -20.273 0 Td -(SIGPIPE)Tj -/T1_0 1 Tf -0.4217 Tc (,b)Tj -0 Tc 5.425 0 Td -[(ecause )-172(the )-172(default)]TJ --25.697 -1.2 Td -[(action )-134(is )-134(to )-134(kill )-134(the )-134(pr)17(ocess. )-384(Next,)-384(we )-134(set )-134(the )-134(signal )-134(mask )-134(of )-134(the )-134(thr)18(ead )-134(to)]TJ -0 -1.2 TD -(include)Tj -/TT0 1 Tf -3.593 0 Td -(SIGHUP)Tj -/T1_0 1 Tf -3.892 0 Td -(and)Tj -/TT0 1 Tf -1.985 0 Td -(SIGTERM)Tj -/T1_0 1 Tf -0.5417 Tc (.A)Tj -0 Tc 5.77 0 Td -[(ll )-42(thr)18(eads )-42(we )-42(cr)19(eate )-42(will )-42(inherit )-42(this )-42(signal)]TJ --15.239 -1.2 Td -[(mask. )-406(W)92(e\325ll )-156(send )-156(the)]TJ -/TT0 1 Tf -10.219 0 Td -(SIGHUP)Tj -/T1_0 1 Tf -4.006 0 Td -[(signal )-156(to )-156(the )-156(daemon )-156(to )-156(tell )-156(it )-156(to )-156(r)14(er)18(ead )-156(its)]TJ --14.225 -1.2 Td -[(con\336guration )-55(\336le.)]TJ --0.092 Tc 8.461 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-55(send )-55(the)]TJ -/TT0 1 Tf -5.258 0 Td -(SIGTERM)Tj -/T1_0 1 Tf -4.505 0 Td -[(signal )-55(to )-55(the )-55(daemon )-55(to )-55(tell )-55(it )-55(to)]TJ --19.612 -1.2 Td -[(clean up and exit gracefully)111(.)]TJ --5 -1.6 Td -([1)Tj --0.055 Tc 0.778 0 Td -[(11 )57(\320 )57(11)]TJ -0 Tc 2.557 0 Td -[(7] )-582(W)]TJ -0.2932 Tc 2.573 0 Td -(ec)Tj -0 Tc 1.216 0 Td -(all)Tj -/TT0 1 Tf -1.375 0 Td -(sysconf)Tj -/T1_0 1 Tf -4.493 0 Td -[(to )-43(get )-43(the )-43(maximum )-43(size )-43(of )-43(a )-43(host )-43(name.)-544(If)]TJ -/TT0 1 Tf -19.675 0 Td -(sysconf)Tj -/T1_0 1 Tf -4.493 0 Td -(fails)Tj --32.161 -1.2 Td -[(or )-433(the )-433(limit )-433(is )-433(unde\336ned, )-433(we )-433(use)]TJ -/TT0 1 Tf -17.526 0 Td -(HOST_NAME_MAX)Tj -/T1_0 1 Tf -8.483 0 Td -[(as )-433(a )-433(best )-433(guess.)]TJ --26.009 -1.2 Td -[(Sometimes, )-62(this )-62(constant )-62(is )-62(de\336ned )-62(for )-62(us )-62(by )-62(the )-62(platform, )-62(but )-62(if )-62(it )-62(isn\325t, )-62(we)]TJ -T* -[(chose )-194(our )-194(own )-194(value )-194(in)]TJ -/TT0 1 Tf -11.515 0 Td -(print.h)Tj -/T1_0 1 Tf -0.6946 Tc (.W)Tj -0.4446 Tc 6.053 0 Td -(ea)Tj -0 Tc 1.424 0 Td -[(llocate )-195(memory )-195(to )-195(hold )-195(the )-195(host)]TJ --18.991 -1.2 Td -(name and call)Tj -/TT0 1 Tf -6.413 0 Td -(gethostname)Tj -/T1_0 1 Tf -6.85 0 Td -[(to r)18(etrieve it.)]TJ --18.263 -1.6 Td -[([1)55(18 )167(\320 )167(121])-723(Next, )-14(we )-14(try )-14(to )-14(\336nd )-14(the )-14(network )-14(addr)18(ess )-14(that )-14(the )-14(daemon )-14(is )-14(supposed )-14(to )-14(use)]TJ -5 -1.2 Td -[(to pr)18(ovide the printer spooling service.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47434 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.8)]TJ -33.728 0 Td -[(Memory-Mapped )-250(I/O)]TJ -/T1_1 1 Tf -12.105 0 Td -(527)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.018 Tc 9.9994 0 0 9.9994 225.5865 668.9599 Tm -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(ences )-7(to )-7(the )-7(mapped )-7(r)18(egion )-7(then )-7(r)15(efer)18(ence )-7(the )-7(copy)]TJ -0.5075 Tc 23.843 0 Td -(.\()Tj -0 Tc 1.091 0 Td -[(One )-7(use)]TJ --25.789 -1.2 Td -[(of )-263(this )-263(\337ag )-263(is )-263(for )-263(a )-263(debugger )-263(that )-263(maps )-263(the )-263(text )-263(portion )-263(of )-263(a)]TJ -0 -1.2 TD -[(pr)18(ogram )-89(\336le )-89(but )-89(allows )-89(the )-89(user )-89(to )-89(modify )-89(the )-89(instr)8(uctions. )-339(Any)]TJ -T* -[(modi\336cations af)18(fect the copy)]TJ -0.25 Tc 12.619 0 Td -(,n)Tj -0 Tc 1.082 0 Td -[(ot the original pr)18(ogram \336le.\))]TJ --23.301 -2.04 Td -[(Each )-185(implementation )-185(has )-185(additional)]TJ -/TT0 1 Tf -16.993 0 Td -(MAP_xxx)Tj -/T1_0 1 Tf -4.635 0 Td -[(\337ag )-185(values, )-185(which )-185(ar)]TJ -0.4354 Tc 9.692 0 Td -(es)Tj -0 Tc 1.338 0 Td -[(peci\336c )-185(to )-185(that)]TJ --32.659 -1.2 Td -[(implementation. )-250(Check)-250(the)]TJ -/TT0 1 Tf -12.467 0 Td -(mmap)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(manual page on your system for details.)Tj --14.483 -1.2 Td -[(The )-251(value )-251(of)]TJ -/T1_2 1 Tf -6.495 0 Td -(off)Tj -/T1_0 1 Tf -1.501 0 Td -[(and )-251(the )-251(value )-251(of)]TJ -/T1_2 1 Tf -8.402 0 Td -(addr)Tj -/T1_0 1 Tf -2.334 0 Td -(\(if)Tj -/TT0 1 Tf -1.458 0 Td -(MAP_FIXED)Tj -/T1_0 1 Tf -5.901 0 Td -[(is )-251(speci\336ed\) )-251(ar)]TJ -0.5011 Tc 6.861 0 Td -(eu)Tj -0 Tc 1.583 0 Td -(sually)Tj --0.018 Tc -36.335 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(ed )-116(to )-116(be )-116(multiples )-116(of )-116(the )-116(system\325s )-116(virtual )-116(memory )-116(page )-116(size.)-616(This )-116(value )-116(can )-116(be)]TJ --0.856 -1.2 Td -[(obtained )-702(fr)18(om )-702(the)]TJ -/TT0 1 Tf -10.27 0 Td -(sysconf)Tj -/T1_0 1 Tf -5.152 0 Td -[(function )-702(\(Section )-702(2.5.4\) )-702(with )-702(an )-702(ar)18(gument )-702(of)]TJ -/TT0 1 Tf --15.422 -1.2 Td -(_SC_PAGESIZE)Tj -/T1_0 1 Tf -7.605 0 Td -(or)Tj -/TT0 1 Tf -1.346 0 Td -(_SC_PAGE_SIZE)Tj -/T1_0 1 Tf -0.6549 Tc (.S)Tj -0 Tc 9.23 0 Td -(ince)Tj -/T1_2 1 Tf -2.201 0 Td -(off)Tj -/T1_0 1 Tf -1.405 0 Td -(and)Tj -/T1_2 1 Tf -2.098 0 Td -(addr)Tj -/T1_0 1 Tf -2.238 0 Td -(ar)Tj -0.4049 Tc 0.877 0 Td -(eo)Tj -0 Tc 1.43 0 Td -[(ften )-155(speci\336ed )-155(as )-155(0, )-155(this)]TJ --0.018 Tc -28.429 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(ement is not a big deal.)]TJ -7.9995 0 0 7.9995 183.5889 520.5688 Tm -[(This )-194(r)18(equir)18(ement )-194(is )-194(usually )-194(imposed )-194(by )-194(the )-194(system )-194(implementations.)-698(Although )-194(the )-194(Single)]TJ -0 -1.25 Td -[(UNIX )-11(Speci\336cation )-11(no )-11(longer )-11(r)17(equir)18(es )-11(that )-11(this )-11(condition )-11(be )-11(satis\336ed, )-11(all )-11(the )-11(platforms )-11(cover)14(ed)]TJ -0 -1.25 Td -[(in )-166(this )-166(book, )-166(except )-166(Fr)18(eeBSD )-166(8.0, )-166(have )-166(this )-166(r)17(equir)18(ement. )-416(Fr)18(eeBSD )-166(8.0 )-166(allows )-166(us )-166(to )-166(use )-166(any)]TJ -0 -1.25 Td -[(addr)18(ess alignment and of)18(fset alignment as long as the alignments match.)]TJ -9.9994 0 0 9.9994 147.5915 468.5719 Tm -[(Since )-119(the )-119(starting )-119(of)18(fset )-119(of )-119(the )-119(mapped )-119(\336le )-119(is )-119(tied )-119(to )-119(the )-119(system\325s )-119(virtual )-119(memory)]TJ --1.8 -1.2 Td -[(page )-46(size, )-46(what )-46(happens )-46(if )-46(the )-46(length )-46(of )-46(the )-46(mapped )-46(r)14(egion )-46(isn\325t )-46(a )-46(multiple )-46(of )-46(the )-46(page)]TJ -T* -[(size? )-326(Assume)-325(that )-76(the )-76(\336le )-76(size )-76(is )-76(12 )-76(bytes )-76(and )-76(that )-76(the )-76(system\325s )-76(page )-76(size )-76(is )-76(512 )-76(bytes.)]TJ -T* -[(In )-78(this )-78(case, )-78(the )-78(system )-78(normally )-78(pr)20(ovides )-77(a )-77(mapped )-77(r)18(egion )-77(of )-77(512 )-77(bytes, )-77(and )-77(the )-77(\336nal)]TJ -T* -[(500 )-33(bytes )-33(of )-33(this )-33(r)17(egion )-33(ar)]TJ -0.2833 Tc 11.464 0 Td -(es)Tj -0 Tc 1.186 0 Td -[(et )-33(to )-33(0.)]TJ --0.092 Tc 3.527 0 Td -[(We )-217(c)]TJ -0 Tc 2.114 0 Td -[(an )-33(modify )-33(the )-33(\336nal )-33(500 )-33(bytes, )-33(but )-33(any )-33(changes)]TJ --18.292 -1.2 Td -[(we )-145(make )-145(to )-145(them )-145(ar)]TJ -0.3947 Tc 9.329 0 Td -(en)Tj -0 Tc 1.456 0 Td -[(ot )-145(r)18(e\337ected )-145(in )-145(the )-145(\336le.)-645(Thus )-145(we )-145(cannot )-145(append )-145(to )-145(a )-145(\336le )-145(with)]TJ -/TT0 1 Tf --10.785 -1.2 Td -(mmap)Tj -/T1_0 1 Tf -0.5 Tc (.W)Tj -0.25 Tc 4.058 0 Td -(em)Tj -0 Tc 1.612 0 Td -[(ust \336rst gr)18(ow the \336le, as we will see in Figur)]TJ -0.25 Tc 19.51 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(4.27.)Tj --0.09 Tc -24.609 -1.2 Td -(Tw)Tj -0.275 Tc 1.357 0 Td -(os)Tj -0 Tc 1.245 0 Td -[(ignals )-25(ar)]TJ -0.2751 Tc 3.796 0 Td -(en)Tj -0 Tc 1.336 0 Td -[(ormally )-25(used )-25(with )-25(mapped )-25(r)18(egions.)]TJ -/TT0 1 Tf -16.417 0 Td -(SIGSEGV)Tj -/T1_0 1 Tf -4.475 0 Td -[(is )-25(normally )-25(used )-25(to)]TJ --30.427 -1.2 Td -[(indicate )-32(that )-32(we )-32(have )-32(tried )-32(to )-32(access )-32(memory )-32(that )-32(is )-32(not )-32(available )-32(to )-32(us.)-532(This )-32(signal )-32(can)]TJ -T* -[(also )-81(be )-81(generated )-81(if )-81(we )-81(try )-81(to )-81(stor)]TJ -0.3314 Tc 15.279 0 Td -(ei)Tj -0 Tc 1.101 0 Td -[(nto )-81(a )-81(mapped )-81(r)18(egion )-81(that )-81(we )-81(speci\336ed )-81(to)]TJ -/TT0 1 Tf -18.964 0 Td -(mmap)Tj -/T1_0 1 Tf -2.731 0 Td -(as)Tj --0.018 Tc -38.076 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(ad-only)Tj -0.6124 Tc 3.308 0 Td -(.T)Tj -0 Tc 1.475 0 Td -(he)Tj -/TT0 1 Tf -1.423 0 Td -(SIGBUS)Tj -/T1_0 1 Tf -3.962 0 Td -[(signal )-112(can )-112(be )-112(generated )-112(if )-112(we )-112(access )-112(a )-112(portion )-112(of )-112(the )-112(mapped)]TJ --0.018 Tc -11.025 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(gion )-37(that )-37(does )-37(not )-37(make )-37(sense )-37(at )-37(the )-37(time )-37(of )-37(the )-37(access.)-532(For )-37(example, )-37(assume )-37(that )-37(we)]TJ --0.856 -1.2 Td -[(map )-24(a )-24(\336le )-24(using )-24(the )-24(\336le\325s )-24(size, )-24(but )-24(befor)17(e)-274(we)-274(r)18(efer)18(ence )-24(the )-24(mapped )-24(r)18(egion, )-24(the )-24(\336le\325s )-24(size)]TJ -0 -1.2 Td -[(is )-13(tr)8(uncated )-13(by )-13(some )-13(other )-13(pr)19(ocess. )-263(If)-263(we )-13(then )-13(try )-13(to )-13(access )-13(the )-13(memory-mapped )-13(r)19(egion)]TJ -0 -1.2 Td -[(corr)18(esponding to the end portion of the \336le that was tr)8(uncated, we\325ll r)18(eceive)]TJ -/TT0 1 Tf -33.83 0 Td -(SIGBUS)Tj -/T1_0 1 Tf -(.)Tj -0.3625 Tc -32.03 -1.2 Td -(Am)Tj -0 Tc 2.024 0 Td -[(emory-mapped )-112(r)18(egion )-112(is )-112(inherited )-112(by )-112(a )-112(child )-112(acr)18(oss )-112(a)]TJ -/TT0 1 Tf -24.754 0 Td -(fork)Tj -/T1_0 1 Tf -2.762 0 Td -[(\(since )-112(it\325s )-112(part )-112(of)]TJ --31.34 -1.2 Td -[(the )-279(par)18(ent\325s )-279(addr)18(ess )-279(space\), )-279(but )-279(for )-279(the )-279(same )-279(r)18(eason, )-279(is )-279(not )-279(inherited )-279(by )-279(the )-279(new)]TJ -T* -[(pr)18(ogram acr)18(oss an)]TJ -/TT0 1 Tf -8.405 0 Td -(exec)Tj -/T1_0 1 Tf -(.)Tj --0.092 Tc -6.605 -1.2 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -(an change the permissions on an existing mapping by calling)Tj -/TT0 1 Tf -27.205 0 Td -(mprotect)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.592 235.8858 Tm -(#include )Tj -0 -1.902 TD -(int mprotect\(void *)Tj -/T1_2 1 Tf -(addr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 15.033 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(len)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.023 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -[(pr)18(ot)]TJ -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -3.395 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1971.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 183.638 Tm -[(The )-103(legal )-103(values )-103(for)]TJ -/T1_2 1 Tf -9.339 0 Td -[(pr)18(ot)]TJ -/T1_0 1 Tf -2.001 0 Td -(ar)Tj -0.3531 Tc 0.877 0 Td -(et)Tj -0 Tc 1.158 0 Td -[(he )-103(same )-103(as )-103(those )-103(for)]TJ -/TT0 1 Tf -9.667 0 Td -(mmap)Tj -/T1_0 1 Tf -2.753 0 Td -(\(Figur)Tj -0.353 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.332 0 Td -[(4.25\). )-353(Be)-353(awar)]TJ -0.353 Tc 6.59 0 Td -(et)Tj -0 Tc 1.158 0 Td -(hat)Tj --37.592 -1.2 Td -[(implementations )-154(may )-154(r)17(equir)]TJ -0.4046 Tc 12.919 0 Td -(et)Tj -0 Tc 1.21 0 Td -[(he )-155(addr)18(ess )-155(ar)18(gument )-155(to )-155(be )-155(an )-155(integral )-155(multiple )-155(of )-155(the)]TJ --14.129 -1.2 Td -(system\325s page size.)Tj -1.8 -1.2 Td -[(When )-284(we )-284(modify )-284(pages )-284(that )-284(we\325ve )-284(mapped )-284(into )-284(our )-284(addr)18(ess )-284(space )-284(using )-284(the)]TJ -/TT0 1 Tf --1.8 -1.2 Td -(MAP_SHARED)Tj -/T1_0 1 Tf -6.316 0 Td -[(\337ag, )-66(the )-66(changes )-66(ar)17(en\325t )-66(written )-66(back )-66(to )-66(the )-66(\336le )-66(immediately)]TJ -0.5663 Tc 26.655 0 Td -(.I)Tj -0 Tc 1.153 0 Td -[(nstead, )-66(the)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47435 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(516)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-234(c)]TJ -0 Tc 2.131 0 Td -[(an )-50(determine )-50(the )-50(value )-50(of)]TJ -/TT0 1 Tf -11.811 0 Td -(AIO_LISTIO_MAX)Tj -/T1_1 1 Tf -8.7 0 Td -[(by )-50(calling )-50(the)]TJ -/TT0 1 Tf -6.351 0 Td -(sysconf)Tj -/T1_1 1 Tf -4.5 0 Td -(function)Tj --35.293 -1.2 Td -[(with )-58(the)]TJ -/T1_2 1 Tf -4.037 0 Td -(name)Tj -/T1_1 1 Tf -2.475 0 Td -[(ar)18(gument )-58(set )-58(to)]TJ -/TT0 1 Tf -7.332 0 Td -(_SC_IO_LISTIO_MAX)Tj -/T1_1 1 Tf -0.5585 Tc (.S)Tj -0 Tc 11.534 0 Td -[(imilarly)111(,)-308(we)-308(c)-1(an )-58(determine )-58(the)]TJ --25.378 -1.2 Td -[(value )-115(of)]TJ -/TT0 1 Tf -4.046 0 Td -(AIO_MAX)Tj -/T1_1 1 Tf -4.565 0 Td -[(by )-115(calling)]TJ -/TT0 1 Tf -4.793 0 Td -(sysconf)Tj -/T1_1 1 Tf -4.565 0 Td -[(with )-115(the)]TJ -/T1_2 1 Tf -4.149 0 Td -(name)Tj -/T1_1 1 Tf -2.532 0 Td -[(ar)18(gument )-115(set )-115(to)]TJ -/TT0 1 Tf -7.501 0 Td -(_SC_AIO_MAX)Tj -/T1_1 1 Tf -(,)Tj --32.15 -1.2 Td -[(and )-272(we )-272(can )-272(get )-272(the )-272(value )-272(of)]TJ -/TT0 1 Tf -14.252 0 Td -(AIO_PRIO_DELTA_MAX)Tj -/T1_1 1 Tf -11.322 0 Td -[(by )-272(calling)]TJ -/TT0 1 Tf -5.108 0 Td -(sysconf)Tj -/T1_1 1 Tf -4.722 0 Td -[(with )-272(its)]TJ --35.404 -1.2 Td -[(ar)18(gument set to)]TJ -/TT0 1 Tf -7.157 0 Td -(_SC_AIO_PRIO_DELTA_MAX)Tj -/T1_1 1 Tf -(.)Tj --5.357 -1.2 Td -[(The )-30(POSIX )-30(asynchr)18(onous )-30(I/O )-30(interfaces )-30(wer)]TJ -0.2799 Tc 19.831 0 Td -(eo)Tj -0 Tc 1.305 0 Td -[(riginally )-30(intr)18(oduced )-30(to )-30(pr)18(ovide )-30(r)18(eal-)]TJ --22.935 -1.2 Td -[(time )-56(applications )-56(with )-56(a )-56(way )-56(to )-56(avoid )-56(being )-56(blocked )-56(while )-56(performing )-56(I/O )-56(operations.)]TJ -0 -1.2 TD -(Now we\325ll look at an example of how to use the interfaces.)Tj -/TT1 1 Tf --3.6 -2.88 Td -(Example)Tj -/T1_1 1 Tf --0.092 Tc 3.6 -2.4 Td -[(We )-685(d)]TJ -0 Tc 2.749 0 Td -[(on\325t )-501(discuss )-501(r)18(eal-time )-501(pr)19(ogramming )-501(in )-501(this )-501(text, )-501(but )-501(because )-501(the )-501(POSIX)]TJ --2.749 -1.2 Td -[(asynchr)18(onous )-85(I/O )-85(interfaces )-85(ar)]TJ -0.3354 Tc 14.031 0 Td -(en)Tj -0 Tc 1.396 0 Td -[(ow )-85(part )-85(of )-85(the )-85(base )-85(speci\336cation )-85(in )-85(the )-85(Single )-85(UNIX)]TJ --15.427 -1.2 Td -[(Speci\336cation, )-324(we\325ll )-324(look )-324(at )-324(how )-324(to )-324(use )-324(them.)]TJ --0.092 Tc 22.525 0 Td -[(To )-508(c)]TJ -0 Tc 2.085 0 Td -(ompar)Tj -0.5741 Tc 2.907 0 Td -(et)Tj -0 Tc 1.379 0 Td -[(he )-324(asynchr)18(onous )-324(I/O)]TJ --28.896 -1.2 Td -[(interfaces )-10(with )-10(their )-10(conventional )-10(counterparts, )-10(we\325ll )-10(look )-10(at )-10(the )-10(task )-10(of )-10(translating )-10(a )-10(\336le)]TJ -T* -[(fr)18(om one format to another)74(.)]TJ -1.8 -1.2 Td -[(The )-165(pr)18(ogram )-165(shown )-165(in )-165(Figur)]TJ -0.415 Tc 13.416 0 Td -(e1)Tj -0 Tc 1.394 0 Td -[(4.20 )-165(translates )-165(a )-165(\336le )-165(using )-165(the )-165(ROT)]TJ -16.272 0.09 Td -(-)Tj -0.333 -0.09 Td -[(13 )-165(algorithm)]TJ --33.215 -1.2 Td -[(that )-37(the )-37(USENET )-37(news )-37(system, )-37(popular )-37(in )-37(the )-37(1980s, )-37(used )-37(to )-37(obscur)]TJ -0.2875 Tc 30.32 0 Td -(et)Tj -0 Tc 1.092 0 Td -[(ext )-37(that )-37(might )-37(be)]TJ --31.413 -1.2 Td -[(of)18(fensive )-19(or )-19(contain )-19(spoilers )-19(or )-19(joke )-19(punchlines.)-519(The )-19(algorithm )-19(r)18(otates )-19(the )-19(characters )-19(\325a\325)]TJ -T* -[(to \325z\325 and \325A)74(\325)-250(to)-250(\325Z\325 by 13 positions, but leaves all other characters unchanged.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4290.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 419.4487 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -2.14 TD -(#define BSZ 4096)Tj -0 -2.14 TD -(unsigned char buf[BSZ];)Tj -0 -2.14 TD -(unsigned char)Tj -0 -1.189 TD -(translate\(unsigned char c\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(isalpha\(c\)\) {)Tj -2.4 -1.189 Td -(if \(c >= \325n\325\))Tj -2.4 -1.189 Td -[(c)-600(-=)-600(13;)]TJ --2.4 -1.189 Td -(else if \(c >= \325a\325\))Tj -2.4 -1.189 Td -[(c)-600(+=)-600(13;)]TJ --2.4 -1.189 Td -(else if \(c >= \325N\325\))Tj -2.4 -1.189 Td -[(c)-600(-=)-600(13;)]TJ --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -[(c)-600(+=)-600(13;)]TJ --4.8 -1.189 Td -(})Tj -T* -(return\(c\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char* argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -(int ifd, ofd, i, n, nw;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47436 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(48)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 215.987 670.2598 Tm -(err_sys\("sysconf error"\);)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(fputs\(" \(no limit\)\\n", stdout\);)Tj --2.4 -1.189 Td -(})Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(printf\(" %ld\\n", val\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(static void)Tj -0 -1.189 TD -(pr_pathconf\(char *mesg, char *path, int name\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(long )-1800(val;)]TJ -0 -1.783 TD -(fputs\(mesg, stdout\);)Tj -0 -1.189 TD -(errno = 0;)Tj -0 -1.189 TD -(if \(\(val = pathconf\(path, name\)\) < 0\) {)Tj -2.4 -1.189 Td -(if \(errno != 0\) {)Tj -2.4 -1.189 Td -(if \(errno == EINVAL\))Tj -2.4 -1.189 Td -(fputs\(" \(not supported\)\\n", stdout\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(err_sys\("pathconf error, path = %s", path\);)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(fputs\(" \(no limit\)\\n", stdout\);)Tj --2.4 -1.189 Td -(})Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(printf\(" %ld\\n", val\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3766.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 214.0183 360.5557 Tm -(Figure 2.14)Tj -/T1_1 1 Tf -5.695 0 Td -(Print all possible)Tj -/TT0 1 Tf -7.639 0 Td -(sysconf)Tj -/T1_1 1 Tf -4.45 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(pathconf)Tj -/T1_1 1 Tf -5.05 0 Td -(values)Tj -9.9988 0 0 9.9988 129.5838 334.1589 Tm -(Figur)Tj -0.3203 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.299 0 Td -[(.15 )-70(summarizes )-70(the )-70(r)18(esults )-70(fr)18(om )-70(Figur)]TJ -0.3202 Tc 17.066 0 Td -(e2)Tj -0 Tc 1.299 0 Td -[(.14 )-70(for )-70(the )-70(four )-70(systems )-70(we )-70(discuss )-70(in)]TJ --22.047 -1.2 Td -[(this )-496(book.)-996(The )-496(entry )-496(\324)39(\324no )-496(symbol\325)]TJ -0.7457 Tc 17.205 0 Td -(\325m)Tj -0 Tc 1.907 0 Td -[(eans )-496(that )-496(the )-496(system )-496(doesn\325t )-496(pr)18(ovide )-496(a)]TJ --19.112 -1.2 Td -[(corr)18(esponding)]TJ -/TT0 1 Tf -6.739 0 Td -(_SC)Tj -/T1_1 1 Tf -2.105 0 Td -(or)Tj -/TT0 1 Tf -1.246 0 Td -(_PC)Tj -/T1_1 1 Tf -2.105 0 Td -[(symbol )-55(to )-55(query )-55(the )-55(value )-55(of )-55(the )-55(constant.)-555(Thus )-55(the )-55(limit )-55(is)]TJ --12.197 -1.2 Td -[(unde\336ned )-89(in )-89(this )-89(case.)-589(In )-89(contrast, )-89(the )-89(entry )-89(\324)40(\324unsupported\325)]TJ -0.3386 Tc 27.072 0 Td -(\325m)Tj -0 Tc 1.5 0 Td -[(eans )-89(that )-89(the )-89(symbol )-89(is)]TJ --28.571 -1.2 Td -[(de\336ned )-64(by )-64(the )-64(system )-64(but )-64(unr)18(ecognized )-64(by )-64(the)]TJ -/TT0 1 Tf -21.497 0 Td -(sysconf)Tj -/T1_1 1 Tf -4.514 0 Td -(or)Tj -/TT0 1 Tf -1.255 0 Td -(pathconf)Tj -/T1_1 1 Tf -5.114 0 Td -[(functions. )-314(The)]TJ --32.381 -1.2 Td -[(entry )-13(\324)37(\324no )-13(limit\325)]TJ -0.2634 Tc 6.835 0 Td -(\325m)Tj -0 Tc 1.424 0 Td -[(eans )-13(that )-13(the )-13(system )-13(de\336nes )-13(no )-13(limit )-13(for )-13(the )-13(constant, )-13(but )-13(this )-13(doesn\325t)]TJ --8.259 -1.2 Td -(mean that the limit is in\336nite; it just means that the limit is indet\ erminite.)Tj -7.999 0 0 7.999 183.578 242.1699 Tm -(Bewar)Tj -0.4223 Tc 2.801 0 Td -(et)Tj -0 Tc 1.227 0 Td -[(hat )-172(some )-172(limits )-172(ar)]TJ -0.4221 Tc 8.39 0 Td -(er)Tj -0 Tc 1.278 0 Td -[(eported )-172(incorr)18(ectly)]TJ -0.6721 Tc 8.479 0 Td -(.F)Tj -0 Tc 1.478 0 Td -[(or )-172(example, )-172(on )-172(Linux,)]TJ -/TT0 1 Tf -10.61 0 Td -(SYMLOOP_MAX)Tj -/T1_1 1 Tf -7.022 0 Td -(is)Tj --0.018 Tc -41.285 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(portedly )-152(unlimited, )-152(but )-152(an )-152(examination )-152(of )-152(the )-152(sour)18(ce )-152(code )-152(r)18(eveals )-152(that )-152(ther)13(e)-402(is)-402(a)-1(ctually )-152(a)]TJ --0.856 -1.25 Td -[(har)18(d-coded )-5(limit )-5(of )-5(40 )-5(for )-5(the )-5(number )-5(of )-5(consecutive )-5(symbolic )-5(links )-5(traversed )-5(in )-5(the )-5(absence )-5(of)]TJ -0.25 Tc 0 -1.25 TD -(al)Tj -0 Tc 1.041 0 Td -(oop \(see the)Tj -/TT0 1 Tf -5.545 0 Td -(follow_link)Tj -/T1_1 1 Tf -6.85 0 Td -(function in)Tj -/TT0 1 Tf -5.08 0 Td -(fs/namei.c)Tj -/T1_1 1 Tf -(\).)Tj --18.516 -1.875 Td -[(Another )-304(potential )-304(sour)18(ce )-304(of )-304(inaccuracy )-304(in )-304(Linux )-304(is )-304(that )-304(the)]TJ -/TT0 1 Tf -28.998 0 Td -(pathconf)Tj -/T1_1 1 Tf -5.354 0 Td -(and)Tj -/TT0 1 Tf -2.248 0 Td -(fpathconf)Tj -/T1_1 1 Tf --36.6 -1.25 Td -[(functions )-322(ar)]TJ -0.5719 Tc 5.58 0 Td -(ei)Tj -0 Tc 1.342 0 Td -[(mplemented )-322(in )-322(the )-322(C )-322(library)]TJ -0.8219 Tc 13.741 0 Td -(.T)Tj -0 Tc 1.685 0 Td -[(he )-322(con\336guration )-322(limits )-322(r)18(eturned )-322(by )-322(these)]TJ --22.347 -1.25 Td -[(functions )-59(depend )-59(on )-59(the )-59(underlying )-59(\336le )-59(system )-59(type, )-59(so )-59(if )-59(your )-59(\336le )-59(system )-59(is )-59(unknown )-59(to )-59(the)]TJ -0.25 Tc T* -(Cl)Tj -0 Tc 1.25 0 Td -(ibrary)Tj -0.25 Tc 2.579 0 Td -(,t)Tj -0 Tc 0.826 0 Td -[(he functions r)18(eturn an educated guess.)]TJ --0.092 Tc 9.9988 0 0 9.9988 147.582 145.1816 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-103(see )-103(in )-103(Section )-103(4.14 )-103(that)]TJ -/TT0 1 Tf -11.913 0 Td -(UFS)Tj -/T1_1 1 Tf -2.154 0 Td -[(is )-103(the )-103(SVR4 )-103(implementation )-103(of )-103(the )-103(Berkeley )-103(fast)]TJ --17.253 -1.2 Td -[(\336le system.)-500(PCFS is the MS)]TJ -12.184 0.09 Td -(-)Tj -0.333 -0.09 Td -(DOS F)Tj --0.074 Tc 2.817 0 Td -[(AT )-148(\336)]TJ -0 Tc 2.172 0 Td -(le system implementation for Solaris.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1332.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47437 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(44)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1303.25 6670.25 cm -0 0 m -3886 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 166.374 658.9605 Tm -(Name of limit)Tj -17.988 0 Td -(Description)Tj -/T1_2 1 Tf -15.915 0 Td -(name)Tj -/T1_1 1 Tf -2.417 0 Td -[(ar)18(gument)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1303.25 6550.25 cm -0 0 m -3886 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1303.25 6530.25 cm -0 0 m -3886 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 134.2839 644.9226 Tm -(FILESIZEBITS )Tj -34.975 0 Td -(_PC_FILESIZEBITS)Tj -/T1_1 1 Tf --20.3 0 Td -(minimum number of bits needed to)Tj --0.018 Tc 2.25 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(pr)18(esent, as a signed integer value, the)]TJ --0.856 -1.25 Td -[(maximum size of a r)18(egular \336le allowed)]TJ -0 -1.25 TD -[(in the speci\336ed dir)18(ectory)]TJ -/TT0 1 Tf --16.925 -1.25 Td -(LINK_MAX )Tj -34.975 0 Td -(_PC_LINK_MAX)Tj -/T1_1 1 Tf --20.3 0 Td -(maximum value of a \336le\325s link count)Tj -/TT0 1 Tf --14.675 -1.25 Td -(MAX_CANON )Tj -34.975 0 Td -(_PC_MAX_CANON)Tj -/T1_1 1 Tf --20.3 0 Td -(maximum number of bytes on a terminal\325s)Tj -2.25 -1.25 Td -(canonical input queue)Tj -/TT0 1 Tf --16.925 -1.25 Td -(MAX_INPUT )Tj -34.975 0 Td -(_PC_MAX_INPUT)Tj -/T1_1 1 Tf --20.3 0 Td -(number of bytes for which space is available)Tj -2.25 -1.25 Td -(on terminal\325s input queue)Tj -/TT0 1 Tf --16.925 -1.25 Td -(NAME_MAX )Tj -34.975 0 Td -(_PC_NAME_MAX)Tj -/T1_1 1 Tf --20.3 0 Td -(maximum number of bytes in a \336lename)Tj -2.25 -1.25 Td -(\(does not include a null at end\))Tj -/TT0 1 Tf --16.925 -1.25 Td -(PATH_MAX )Tj -34.975 0 Td -(_PC_PATH_MAX)Tj -/T1_1 1 Tf --20.3 0 Td -[(maximum number of bytes in a r)18(elative)]TJ -2.25 -1.25 Td -(pathname, including the terminating)Tj -T* -(null)Tj -/TT0 1 Tf --16.925 -1.25 Td -(PIPE_BUF )Tj -34.975 0 Td -(_PC_PIPE_BUF)Tj -/T1_1 1 Tf --20.3 0 Td -(maximum number of bytes that can be)Tj -2.25 -1.25 Td -(written atomically to a pipe)Tj -/TT0 1 Tf -6.9992 0 0 6.9992 134.2839 484.9418 Tm -(_POSIX_TIMESTAMP_RESOLUTION )Tj -39.971 0 Td -(_PC_TIMESTAMP_RESOLUTION)Tj -/T1_1 1 Tf --0.018 Tc 7.999 0 0 7.999 251.6698 484.9418 Tm -(re)Tj -0 Tc 0.856 0 Td -(solution in nanoseconds for \336le)Tj -1.394 -1.25 Td -(timestamps)Tj -/TT0 1 Tf --16.925 -1.25 Td -(SYMLINK_MAX )Tj -34.975 0 Td -(_PC_SYMLINK_MAX)Tj -/T1_1 1 Tf --20.3 0 Td -(number of bytes in a symbolic link)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1303.25 4610.25 cm -0 0 m -3886 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4121.25 4610.25 cm -0 0 m -0 2060 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2497.25 4610.25 cm -0 0 m -0 2060 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5189.25 4610.25 cm -0 0 m -0 2060 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1303.25 4610.25 cm -0 0 m -0 2060 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 198.0603 442.9203 Tm -(Figure 2.12)Tj -/T1_1 1 Tf -5.695 0 Td -(Limits and)Tj -/T1_2 1 Tf -5.019 0 Td -(name)Tj -/T1_1 1 Tf -2.417 0 Td -[(ar)18(guments to)]TJ -/TT0 1 Tf -6.102 0 Td -(pathconf)Tj -/T1_1 1 Tf -5.05 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(fpathconf)Tj -/T1_1 1 Tf -9.9982 0 0 9.9982 147.5736 409.3263 Tm -[(5. )-633(The)]TJ --0.018 Tc 3.558 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(enced )-1(\336le )-1(for)]TJ -/TT0 1 Tf -7.187 0 Td -(_PC_PIPE_BUF)Tj -/T1_1 1 Tf -7.451 0 Td -[(must )-1(be )-1(a )-1(pipe, )-1(FIFO, )-1(or )-1(dir)16(ectory)]TJ -0.5013 Tc 14.838 0 Td -(.I)Tj -0.2513 Tc 1.088 0 Td -(nt)Tj -0 Tc 1.159 0 Td -(he)Tj --34.506 -1.2 Td -[(\336rst )-157(two )-157(cases )-157(\(pipe )-157(or )-157(FIFO\), )-157(the )-157(r)15(eturn )-157(value )-157(is )-157(the )-157(limit )-157(for )-157(the )-157(r)15(efer)18(enced)]TJ -0 -1.2 TD -[(pipe )-108(or )-108(FIFO.)-608(For )-108(the )-108(other )-108(case )-108(\(a )-108(dir)18(ectory\), )-108(the )-108(r)15(eturn )-108(value )-108(is )-108(the )-108(limit )-108(for)]TJ -T* -[(any FIFO cr)18(eated in that dir)18(ectory)111(.)]TJ --1.633 -1.6 Td -[(6. )-633(The)]TJ --0.018 Tc 3.838 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(enced )-281(\336le )-281(for)]TJ -/TT0 1 Tf -8.026 0 Td -(_PC_SYMLINK_MAX)Tj -/T1_1 1 Tf -9.531 0 Td -[(must )-281(be )-281(a )-281(dir)18(ectory)]TJ -0.781 Tc 9.275 0 Td -(.T)Tj -0 Tc 1.644 0 Td -[(he )-281(value)]TJ --0.018 Tc -31.537 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turned )-277(is )-277(the )-277(maximum )-277(length )-277(of )-277(the )-277(string )-277(that )-277(a )-277(symbolic )-277(link )-277(in )-277(that)]TJ --0.856 -1.2 Td -[(dir)18(ectory can contain.)]TJ -/TT1 1 Tf --7.033 -3.12 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -(The)Tj -/TT0 1 Tf -2.017 0 Td -(awk)Tj -/T1_1 1 Tf -1.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.676 -0.04 Td -[(pr)18(ogram )-93(shown )-93(in )-93(Figur)]TJ -0.3435 Tc 11.112 0 Td -(e2)Tj -0 Tc 1.322 0 Td -[(.13 )-93(builds )-93(a )-93(C )-93(pr)18(ogram )-93(that )-93(prints )-93(the )-93(value )-93(of)]TJ --17.762 -1.2 Td -(each)Tj -/TT0 1 Tf -2.255 0 Td -(pathconf)Tj -/T1_1 1 Tf -5.05 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(sysconf)Tj -/T1_1 1 Tf -4.45 0 Td -(symbol.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2590.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 129.5689 249.4391 Tm -(#!/usr/bin/awk -f)Tj -0 -1.189 TD -[(BEGIN )-1200({)]TJ -2.4 -1.189 Td -(printf\("#include \\"apue.h\\"\\n"\))Tj -T* -(printf\("#include \\n"\))Tj -T* -(printf\("#include \\n"\))Tj -0 -1.189 TD -(printf\("\\n"\))Tj -0 -1.189 TD -(printf\("static void pr_sysconf\(char *, int\);\\n"\))Tj -T* -(printf\("static void pr_pathconf\(char *, char *, int\);\\n"\))Tj -T* -(printf\("\\n"\))Tj -T* -(printf\("int\\n"\))Tj -T* -(printf\("main\(int argc, char *argv[]\)\\n"\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47438 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf --0.037 Tc 9 0 0 9 93.6 708 Tm -(11)Tj -0 Tc 0.963 0 Td -(8)Tj -/T1_1 1 Tf -2.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.278 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -1.8 Td -[(The )-77(pr)18(ogram )-77(shown )-77(in )-77(Figur)]TJ -0.3266 Tc 13.062 0 Td -(e4)Tj -0 Tc 1.306 0 Td -[(.16 )-77(opens )-77(a )-77(\336le )-77(and )-77(then )-77(unlinks )-77(it.)-577(The )-77(pr)18(ogram )-77(then)]TJ --14.368 -1.2 Td -(goes to sleep for 15 seconds befor)Tj -0.25 Tc 14.723 0 Td -(et)Tj -0 Tc 1.055 0 Td -(erminating.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6318.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 622.2243 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(open\("tempfile", O_RDWR\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("open error"\);)Tj --2.4 -1.189 Td -(if \(unlink\("tempfile"\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("unlink error"\);)Tj --2.4 -1.189 Td -(printf\("file unlinked\\n"\);)Tj -T* -(sleep\(15\);)Tj -T* -(printf\("done\\n"\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4730.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 246.9675 456.9657 Tm -(Figure 4.16)Tj -/T1_1 1 Tf -5.695 0 Td -(Open a \336le and then)Tj -/TT1 1 Tf -9.235 0 Td -(unlink)Tj -/T1_1 1 Tf -3.85 0 Td -(it)Tj -9.9982 0 0 9.9982 129.577 435.3696 Tm -[(Running this pr)18(ogram gives us)]TJ -/TT1 1 Tf -8.9984 0 0 8.9984 147.5737 421.0722 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(ls -l tempfile)Tj -/T1_2 1 Tf -16.4 0 Td -(look at how big the \336le is)Tj -/TT1 1 Tf --17.6 -1.189 Td -[(-rw-r----- )-600(1)-600(sar )-2400(413265408)-600(Jan 21 07:14 tempfile)]TJ -T* -($)Tj -/TT2 1 Tf -1.2 0 Td -(df /home)Tj -/T1_2 1 Tf -16.4 0 Td -[(check how much fr)18(ee space is available)]TJ -/TT1 1 Tf --17.6 -1.189 Td -[(Filesystem )-1200(1K-blocks)-3000(Used )-600(Available )-600(Use% )-600(Mounted)-600(on)]TJ -T* -[(/dev/hda4 )-2400(11021440)-1200(1956332 )-1800(9065108)-1800(18% )-600(/home)]TJ -0 -1.189 TD -($)Tj -/TT2 1 Tf -1.2 0 Td -(./a.out &)Tj -/T1_2 1 Tf -16.4 0 Td -[(run the pr)18(ogram in Figur)]TJ -0.25 Tc 10.244 0 Td -(e4)Tj -0 Tc 1.139 0 Td -[(.16 in the backgr)18(ound)]TJ -/TT1 1 Tf --28.983 -1.189 Td -(1364)Tj -/T1_2 1 Tf -17.6 0 Td -[(the shell prints its pr)18(ocess ID)]TJ -/TT1 1 Tf -0.6 Tc -17.6 -1.189 Td -($f)Tj -0 Tc 1.8 0 Td -(ile unlinked)Tj -/T1_2 1 Tf -15.8 0 Td -(the \336le is unlinked)Tj -/TT2 1 Tf --17.6 -1.189 Td -(ls -l tempfile)Tj -/T1_2 1 Tf -17.6 0 Td -[(see if the \336lename is still ther)18(e)]TJ -/TT1 1 Tf --17.6 -1.189 Td -(ls: tempfile: No such file or directory)Tj -/T1_2 1 Tf -25.6 0 Td -[(the dir)18(ectory entry is gone)]TJ -/TT1 1 Tf --25.6 -1.189 Td -($)Tj -/TT2 1 Tf -1.2 0 Td -(df /home)Tj -/T1_2 1 Tf -16.4 0 Td -(see if the space is available yet)Tj -/TT1 1 Tf --17.6 -1.189 Td -[(Filesystem )-1200(1K-blocks)-3000(Used )-600(Available )-600(Use% )-600(Mounted)-600(on)]TJ -0 -1.189 TD -[(/dev/hda4 )-2400(11021440)-1200(1956332 )-1800(9065108)-1800(18% )-600(/home)]TJ -0.6 Tc T* -($d)Tj -0 Tc 1.8 0 Td -(one)Tj -/T1_2 1 Tf -15.8 0 Td -[(the pr)18(ogram is done, all open \336les ar)]TJ -0.25 Tc 14.492 0 Td -(ec)Tj -0 Tc 1.046 0 Td -(losed)Tj -/TT2 1 Tf --33.138 -1.189 Td -(df /home)Tj -/T1_2 1 Tf -17.6 0 Td -(now the disk space should be available)Tj -/TT1 1 Tf --17.6 -1.189 Td -[(Filesystem )-1200(1K-blocks)-3000(Used )-600(Available )-600(Use% )-600(Mounted)-600(on)]TJ -T* -[(/dev/hda4 )-2400(11021440)-1200(1552352 )-1800(9469088)-1800(15% )-600(/home)]TJ -/T1_2 1 Tf -17.6 -1.189 Td -(now the 394.1 MB of disk space ar)Tj -0.25 Tc 13.776 0 Td -(ea)Tj -0 Tc 1.083 0 Td -(vailable)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2392.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9976 0 0 9.9976 147.5646 216.3961 Tm -[(This )-34(pr)18(operty )-34(of)]TJ -/TT1 1 Tf -7.522 0 Td -(unlink)Tj -/T1_1 1 Tf -3.884 0 Td -[(is )-34(often )-34(used )-34(by )-34(a )-34(pr)18(ogram )-34(to )-34(ensur)]TJ -0.2839 Tc 15.889 0 Td -(et)Tj -0 Tc 1.089 0 Td -[(hat )-34(a )-34(temporary )-34(\336le)]TJ --30.184 -1.2 Td -[(it )-118(cr)18(eates )-118(won\325t )-118(be )-118(left )-118(ar)18(ound )-118(in )-118(case )-118(the )-118(pr)18(ogram )-118(crashes.)-619(The )-118(pr)18(ocess )-118(cr)18(eates )-118(a )-118(\336le)]TJ -0 -1.2 TD -[(using )-7(either)]TJ -/TT1 1 Tf -5.523 0 Td -(open)Tj -/T1_1 1 Tf -2.658 0 Td -(or)Tj -/TT1 1 Tf -1.199 0 Td -(creat)Tj -/T1_1 1 Tf -3.258 0 Td -[(and )-7(then )-7(immediately )-7(calls)]TJ -/TT1 1 Tf -12.232 0 Td -(unlink)Tj -/T1_1 1 Tf -0.5075 Tc (.T)Tj -0 Tc 4.971 0 Td -[(he )-7(\336le )-7(is )-7(not )-7(deleted,)]TJ --29.839 -1.2 Td -(however)Tj -0.5401 Tc 3.806 0 Td -(,b)Tj -0 Tc 1.343 0 Td -[(ecause )-290(it )-290(is )-290(still )-290(open.)-790(Only )-290(when )-290(the )-290(pr)17(ocess )-290(either )-290(closes )-290(the )-290(\336le )-290(or)]TJ --5.149 -1.2 Td -(terminates, which causes the kernel to close all its open \336les, is th\ e \336le deleted.)Tj -1.8 -1.2 Td -(If)Tj -/T1_2 1 Tf -1.17 0 Td -(pathname)Tj -/T1_1 1 Tf -4.444 0 Td -[(is )-250(a )-250(symbolic )-250(link,)]TJ -/TT1 1 Tf -9.173 0 Td -(unlink)Tj -/T1_1 1 Tf --0.018 Tc 4.1 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(moves )-250(the )-250(symbolic )-250(link, )-250(not )-250(the )-250(\336le)]TJ --0.018 Tc -21.542 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(enced )-41(by )-41(the )-41(link.)-541(Ther)18(e)-291(is)-291(no)-291(function )-41(to )-41(r)18(emove )-41(the )-41(\336le )-41(r)18(efer)18(enced )-41(by )-41(a )-41(symbolic)]TJ --0.856 -1.2 Td -(link given the name of the link.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47439 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.6)]TJ -40.777 0 Td -(Options)Tj -/T1_1 1 Tf -5.556 0 Td -(55)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 168.9199 668.9599 Tm -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(_POSIX_READER_WRITER_LOCKS)Tj -/T1_0 1 Tf --1.489 -1.6 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(_POSIX_REALTIME_SIGNALS)Tj -/T1_0 1 Tf --1.489 -1.6 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(_POSIX_SEMAPHORES)Tj -/T1_0 1 Tf --1.489 -1.6 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(_POSIX_SPIN_LOCKS)Tj -/T1_0 1 Tf --1.489 -1.6 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(_POSIX_THREAD_SAFE_FUNCTIONS)Tj -/T1_0 1 Tf --1.489 -1.6 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(_POSIX_THREADS)Tj -/T1_0 1 Tf --1.489 -1.6 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(_POSIX_TIMEOUTS)Tj -/T1_0 1 Tf --1.489 -1.6 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(_POSIX_TIMERS)Tj -/T1_0 1 Tf --1.489 -1.68 Td -[(These )-138(constants )-138(ar)]TJ -0.3885 Tc 8.385 0 Td -(ed)Tj -0 Tc 1.479 0 Td -[(e\336ned )-138(to )-138(have )-138(the )-138(value )-138(200809L.)-638(Their )-138(corr)15(esponding)]TJ -/TT0 1 Tf --9.864 -1.2 Td -(_SC)Tj -/T1_0 1 Tf -2.05 0 Td -(symbols ar)Tj -0.25 Tc 4.804 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(lso r)18(etained for backwar)]TJ -0.25 Tc 10.694 0 Td -(dc)Tj -0 Tc 1.305 0 Td -[(ompatibility)111(.)]TJ --22.215 -1.6 Td -(5.)Tj -/TT0 1 Tf -2.133 0 Td -(_PC_CHOWN_RESTRICTED)Tj -/T1_0 1 Tf -12.46 0 Td -(and)Tj -/TT0 1 Tf -2.153 0 Td -(_PC_NO_TRUNC)Tj -/T1_0 1 Tf --0.018 Tc 7.66 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turn)Tj -/TT1 1 Tf -2.366 0 Td -(!)Tj -/T1_0 1 Tf -0.4604 Tc (1w)Tj -0 Tc 2.343 0 Td -[(ithout )-210(changing)]TJ -/TT0 1 Tf --27.84 -1.2 Td -(errno)Tj -/T1_0 1 Tf -3.357 0 Td -[(if )-107(the )-107(featur)18(e)-357(is)-357(not )-107(supported )-107(for )-107(the )-107(speci\336ed)]TJ -/T1_2 1 Tf -21.67 0 Td -(pathname)Tj -/T1_0 1 Tf -4.301 0 Td -(or)Tj -/T1_2 1 Tf -1.298 0 Td -(fd)Tj -/T1_0 1 Tf -0.6068 Tc (.O)Tj -0.3568 Tc 2.421 0 Td -(na)Tj -0 Tc 1.439 0 Td -(ll)Tj --34.485 -1.2 Td -[(POSIX-conforming )-479(systems, )-479(the )-479(r)18(eturn )-479(value )-479(will )-479(be )-479(gr)18(eater )-479(than )-479(zer)18(o)]TJ -0 -1.2 TD -[(\(indicating that the featur)18(e)-250(is)-250(supported\).)]TJ --2.133 -1.6 Td -[(6. )-1133(The)]TJ --0.018 Tc 4.259 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(enced )-202(\336le )-202(for)]TJ -/TT0 1 Tf -7.788 0 Td -(_PC_CHOWN_RESTRICTED)Tj -/T1_0 1 Tf -12.452 0 Td -[(must )-202(be )-202(either )-202(a )-202(\336le )-202(or )-202(a)]TJ --23.221 -1.2 Td -[(dir)18(ectory)]TJ -0.6883 Tc 3.914 0 Td -(.I)Tj -0 Tc 1.275 0 Td -[(f)-438(it)-438(is)-438(a)-438(d)-1(ir)18(ectory)]TJ -0.4383 Tc 7.832 0 Td -(,t)Tj -0 Tc 1.014 0 Td -[(he )-188(r)18(eturn )-188(value )-188(indicates )-188(whether )-188(this )-188(option)]TJ --14.036 -1.2 Td -[(applies to \336les within that dir)18(ectory)111(.)]TJ --2.133 -1.6 Td -[(7. )-1133(The)]TJ --0.018 Tc 4.367 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(enced )-310(\336le )-310(for)]TJ -/TT0 1 Tf -8.114 0 Td -(_PC_NO_TRUNC)Tj -/T1_0 1 Tf -7.76 0 Td -(and)Tj -/TT0 1 Tf -2.253 0 Td -(_PC_2_SYMLINKS)Tj -/T1_0 1 Tf -8.96 0 Td -[(must )-310(be )-310(a)]TJ --30.178 -1.2 Td -[(dir)18(ectory)111(.)]TJ --2.133 -1.6 Td -[(8. )-1133(For)]TJ -/TT0 1 Tf -3.907 0 Td -(_PC_NO_TRUNC)Tj -/T1_0 1 Tf -0.2774 Tc (,t)Tj -0 Tc 8.053 0 Td -[(he )-27(r)18(eturn )-27(value )-27(applies )-27(to )-27(\336lenames )-27(within )-27(the )-27(dir)15(ectory)111(.)]TJ --11.961 -1.6 Td -[(9. )-1133(The)]TJ --0.018 Tc 4.057 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(enced \336le for)]TJ -/TT0 1 Tf -7.183 0 Td -(_PC_VDISABLE)Tj -/T1_0 1 Tf -7.45 0 Td -(must be a terminal \336le.)Tj --19.546 -1.6 Td -[(10. )-633(For)]TJ -/TT0 1 Tf -4.105 0 Td -(_PC_ASYNC_IO)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -7.925 0 Td -(_PC_PRIO_IO)Tj -/T1_0 1 Tf -0.475 Tc (,a)Tj -0 Tc 7.825 0 Td -(nd)Tj -/TT0 1 Tf -1.668 0 Td -(_PC_SYNC_IO)Tj -/T1_0 1 Tf -0.475 Tc (,t)Tj -0 Tc 7.651 0 Td -[(he )-225(r)18(efer)18(enced )-225(\336le)]TJ --27.041 -1.2 Td -[(must not be a dir)18(ectory)111(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1270.25 3270.25 cm -0 0 m -3808 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 158.325 318.9617 Tm -(Name of option)Tj -18.285 0 Td -(Indicates ...)Tj -/T1_2 1 Tf -15.536 0 Td -(name)Tj -/T1_0 1 Tf -2.417 0 Td -[(ar)18(gument)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1270.25 3150.25 cm -0 0 m -3808 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1270.25 3130.25 cm -0 0 m -3808 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 130.9764 304.9451 Tm -(_POSIX_CHOWN_RESTRICTED )Tj -34.6 0 Td -(_PC_CHOWN_RESTRICTED)Tj -/T1_0 1 Tf --20.3 0 Td -(whether use of)Tj -/TT0 1 Tf -6.812 0 Td -(chown)Tj -/T1_0 1 Tf -3.25 0 Td -[(is r)18(estricted)]TJ -/TT0 1 Tf --24.362 -1.25 Td -(_POSIX_NO_TRUNC )Tj -34.6 0 Td -(_PC_NO_TRUNC)Tj -/T1_0 1 Tf --20.3 0 Td -(whether \336lenames longer than)Tj -/TT0 1 Tf -13.759 0 Td -(NAME_MAX)Tj -/T1_0 1 Tf --11.509 -1.25 Td -[(generate an err)18(or)]TJ -/TT0 1 Tf --16.55 -1.25 Td -(_POSIX_VDISABLE )Tj -34.6 0 Td -(_PC_VDISABLE)Tj -/T1_0 1 Tf --20.3 0 Td -(if de\336ned, terminal special characters can be)Tj -2.25 -1.25 Td -(disabled with this value)Tj -/TT0 1 Tf --16.55 -1.25 Td -(_POSIX_ASYNC_IO )Tj -34.6 0 Td -(_PC_ASYNC_IO)Tj -/T1_0 1 Tf --20.3 0 Td -[(whether asynchr)18(onous I/O can be used with)]TJ -2.25 -1.25 Td -(the associated \336le)Tj -/TT0 1 Tf --16.55 -1.25 Td -(_POSIX_PRIO_IO )Tj -34.6 0 Td -(_PC_PRIO_IO)Tj -/T1_0 1 Tf --20.3 0 Td -(whether prioritized I/O can be used with)Tj -2.25 -1.25 Td -(the associated \336le)Tj -/TT0 1 Tf --16.55 -1.25 Td -(_POSIX_SYNC_IO )Tj -34.6 0 Td -(_PC_SYNC_IO)Tj -/T1_0 1 Tf --20.3 0 Td -[(whether synchr)18(onized I/O can be used with)]TJ -2.25 -1.25 Td -(the associated \336le)Tj -/TT0 1 Tf --16.55 -1.25 Td -(_POSIX2_SYMLINKS )Tj -34.6 0 Td -(_PC_2_SYMLINKS)Tj -/T1_0 1 Tf --20.3 0 Td -(whether symbolic links ar)Tj -0.25 Tc 11.436 0 Td -(es)Tj -0 Tc 1.153 0 Td -(upported in the)Tj --10.339 -1.25 Td -[(dir)18(ectory)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1270.25 1810.25 cm -0 0 m -3808 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4058.25 1810.25 cm -0 0 m -0 1460 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2434.25 1810.25 cm -0 0 m -0 1460 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5078.25 1810.25 cm -0 0 m -0 1460 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1270.25 1810.25 cm -0 0 m -0 1460 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 195.1292 162.9609 Tm -(Figure 2.18)Tj -/T1_0 1 Tf -5.695 0 Td -(Options and)Tj -/T1_2 1 Tf -5.749 0 Td -(name)Tj -/T1_0 1 Tf -2.417 0 Td -[(ar)18(guments to)]TJ -/TT0 1 Tf -6.102 0 Td -(pathconf)Tj -/T1_0 1 Tf -5.05 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(fpathconf)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47440 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(988)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -()Tj -/T1_1 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7, 208, 895)Tj -/TT0 1 Tf --10.639 -1.25 Td -(stdout)Tj -/T1_1 1 Tf -4.017 0 Td -[(variable, )-250(10,)-250(145, 154, 247)]TJ -11.407 0.09 Td -(\320)Tj -0.583 -0.09 Td -(248, 275, 901,)Tj --13.307 -1.25 Td -(921, 930)Tj -/TT0 1 Tf --2.7 -1.25 Td -(STDOUT_FILENO)Tj -/T1_1 1 Tf -8.217 0 Td -[(constant, )-250(9,)-250(62, 72, 145, 230, 235,)]TJ --5.517 -1.25 Td -(378, 483, 537, 544, 549)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(550, 614, 618)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(620,)Tj --16.333 -1.25 Td -(654)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(656, 729, 733, 739)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(740, 921)Tj --13.033 -1.25 Td -[(Stevens, D. A.,)-500(xxxii)]TJ -0 -1.25 TD -[(Stevens, E. M.,)-500(xxxii)]TJ -T* -[(Stevens, S. H.,)-500(xxxii)]TJ -T* -(Stevens, W)Tj -0.25 Tc 4.788 0 Td -(.R)Tj -0 Tc 1.168 0 Td -[(., )-250(xx,)-250(xxv\320xxvi, xxxii, 157, 291, 470,)]TJ --3.256 -1.25 Td -(505, 589, 717, 793, 952)Tj --2.7 -1.25 Td -[(sticky bit,)-500(107)]TJ -6.35 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(109, 1)55(17, 140)]TJ -/TT0 1 Tf --6.934 -1.25 Td -(stime)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(190)]TJ --3.417 -1.25 Td -[(Stonebraker)74(,)-250(M.)-250(R., )-250(743,)-250(953)]TJ -T* -[(ST)18(OP terminal character)]TJ -0.5 Tc 10.748 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 680)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(682, 686, 689,)Tj --12.964 -1.25 Td -(693)Tj -/TT0 1 Tf --2.7 -1.25 Td -(str2sig)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(380)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(380)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(strace)Tj -/T1_1 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(497)]TJ --4.017 -1.25 Td -[(Strang, J.,)-500(712, 953)]TJ -/TT0 1 Tf -T* -(strchr)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(767)]TJ --4.017 -1.25 Td -[(str)18(eam orientation,)-500(144)]TJ -/TT0 1 Tf -T* -(STREAM_MAX)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(38,)-250(40, 43, 49)]TJ --6.417 -1.25 Td -[(STREAMS, )-250(xxii,)-250(88, 143, 501)]TJ -12.613 0.09 Td -(\320)Tj -0.583 -0.09 Td -(502, 506, 508, 510,)Tj --10.496 -1.25 Td -(534, 560, 565, 648, 716)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(717, 722, 726, 740)Tj --12.867 -1.25 Td -[(str)18(eams, memory)]TJ -0.5 Tc 7.544 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(71)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(174)Tj --10.461 -1.25 Td -(STREAMS module)Tj -/TT0 1 Tf -1.35 -1.25 Td -(ldterm)Tj -/T1_1 1 Tf -0.5 Tc 3.767 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(16, 726)Tj -/TT0 1 Tf --5.017 -1.25 Td -(pckt)Tj -/T1_1 1 Tf -0.5 Tc 2.567 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(16, 740)Tj -/TT0 1 Tf --3.817 -1.25 Td -(ptem)Tj -/T1_1 1 Tf -0.5 Tc 2.567 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(16, 726)Tj -/TT0 1 Tf --3.817 -1.25 Td -(ttcompat)Tj -/T1_1 1 Tf -0.5 Tc 4.967 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(16, 726)Tj --7.567 -1.25 Td -[(str)18(eams, standar)]TJ -0.25 Tc 7.233 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O, )-250(143)]TJ -3.725 0.09 Td -(\320)Tj -0.583 -0.09 Td -(144)Tj --12.74 -1.25 Td -(STREAMS)Tj -4.666 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based pipes, mounted,)-500(534)]TJ --3.649 -1.25 Td -[(timing, )-250(565)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(strerror)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(15)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(16, 24, 380, 442, 452, 471,)Tj --8.64 -1.25 Td -(474, 478)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(479, 600, 615)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(618, 621)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(622, 657,)Tj --14.5 -1.25 Td -(669, 823)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(827, 830, 833)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(834, 842, 899, 901,)Tj --10.333 -1.25 Td -(904, 906, 931)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(15)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(strerror_r)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(443,)-250(452)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(strftime)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(190,)-250(192)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(196, 264, 408, 452,)Tj --11.14 -1.25 Td -(919)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(192)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(strftime_l)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(192)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(192)]TJ -/TT0 1 Tf --1.35 -1.25 Td -()Tj -/T1_1 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7, 895)Tj -/TT0 1 Tf --10.639 -1.25 Td -()Tj -/T1_1 1 Tf -7.017 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --11.239 -1.25 Td -(strip)Tj -/T1_1 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(920)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(strlen)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(12,)-250(231, 945)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(strncasecmp)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(840)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(strncpy)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(809)]TJ --4.617 -1.25 Td -[(Str)18(ong, H. R.,)-500(744, 750, 949)]TJ -/TT0 1 Tf -T* -()Tj -/T1_1 1 Tf -7.017 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(08, 510)Tj -/TT0 1 Tf -14.761 65 Td -(strptime)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(195)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(195)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(strsignal)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(380,)-250(830)]TJ --4.467 -1.25 Td -[(de\336nition of,)-500(380)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(strtok)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(442,)-250(657)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(658)Tj -/TT0 1 Tf --12.64 -1.25 Td -(strtok_r)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(443)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(strtol)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(633)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(stty)Tj -/T1_1 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(301,)-250(691)]TJ -8.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(692, 702, 713, 943)Tj --11.591 -1.25 Td -[(Stumm, M.,)-500(174, 531, 950)]TJ -/TT0 1 Tf -T* -(S_TYPEISMQ)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(96)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(S_TYPEISSEM)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(96)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(S_TYPEISSHM)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(96)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(su)Tj -/T1_1 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(472)]TJ -/TT0 1 Tf --1.617 -1.25 Td -(submit_file)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(807,)-250(809, 81)55(1)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(809)]TJ --1.35 -1.25 Td -(SUID,)Tj -/T1_2 1 Tf -3.164 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -[(set-user)18(-ID)]TJ --4.581 -1.25 Td -[(Sun Micr)18(osystems, )-250(xxi\320xxii,)-250(xxvii, 33, 35, 76, 740,)]TJ -2.7 -1.25 Td -(953)Tj --2.7 -1.25 Td -[(SunOS, )-250(xxxi,)-250(33, 206, 330, 354)]TJ -T* -[(super)8(user)]TJ -0.5 Tc 4.321 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(6)Tj --5.571 -1.25 Td -[(supplementary gr)18(oup ID,)-500(18, 39, 98, 101, 108, 1)55(10,)]TJ -2.7 -1.25 Td -(183)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(184, 233, 252, 258)Tj --4.867 -1.25 Td -[(SUS \(Single UNIX Speci\336cation\),)-500(xxi, xxvi, 28,)]TJ -2.7 -1.25 Td -(30)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(33, 36, 50, 53)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(54, 57)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(58, 60)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(61, 64, 69, 78,)Tj --14.166 -1.25 Td -(88, 94, 105, 107, 109, 131, 136, 143, 157, 163,)Tj -T* -(168)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(169, 180, 183, 190)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(191, 196, 21)55(1)]TJ -5.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(212,)Tj --16.445 -1.25 Td -(220)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(221, 234, 239, 244)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(245, 262, 293, 296, 31)55(1,)]TJ --10.333 -1.25 Td -(315, 322, 330, 333, 352, 354, 410, 425, 429)Tj -17.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(431,)Tj --18.166 -1.25 Td -(442, 469)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(472, 485, 496, 501, 507, 509, 521,)Tj --4.166 -1.25 Td -(527)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(528, 533)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(534, 559, 561, 565)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(566,)Tj --14.5 -1.25 Td -(572)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(573, 583, 596, 607, 610, 612, 623, 627, 645,)Tj --2.167 -1.25 Td -(662, 674, 678, 683, 722)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(724, 744, 910, 950, 953)Tj --12.867 -1.25 Td -(SUSP terminal character)Tj -0.5 Tc 10.67 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 680, 682, 688, 701)Tj --11.92 -1.25 Td -[(SUSv3 \(Single UNIX Speci\336cation, V)111(ersion 3\),)-500(32)]TJ -T* -[(SUSv4 \(Single UNIX Speci\336cation, V)111(ersion 4\),)-500(32,)]TJ -2.7 -1.25 Td -(88, 132, 143, 153, 168)Tj -9.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(169, 189, 314, 319)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(320,)Tj --17.833 -1.25 Td -(336, 375)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(376, 384, 442, 501, 509)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(510, 525,)Tj --14.333 -1.25 Td -(533, 571, 579)Tj --2.7 -1.25 Td -[(SVID \(System V Interface De\336nition\),)-500(xix, 32)]TJ -19.946 0.09 Td -(\320)Tj -0.583 -0.09 Td -(33,)Tj --17.829 -1.25 Td -(948)Tj --2.7 -1.25 Td -[(SVR2, )-250(65,)-250(187, 317, 329, 336, 340)]TJ -14.248 0.09 Td -(\320)Tj -0.583 -0.09 Td -(341, 712, 948)Tj --14.832 -1.25 Td -[(SVR3, )-250(76,)-250(129, 201, 299, 313, 317, 319, 326, 329, 333,)]TJ -2.7 -1.25 Td -(336, 496, 502, 507, 898, 948)Tj --2.7 -1.25 Td -[(SVR3.0, )-250(xxxi)]TJ -T* -[(SVR3.1, )-250(xxxi)]TJ -T* -[(SVR3.2, )-250(xxxi,)-250(36, 81, 267)]TJ -T* -[(SVR4, )-250(xxii,)-250(xxxi\320xxxii, 3, 21, 33, 35)]TJ -15.331 0.09 Td -(\320)Tj -0.583 -0.09 Td -(36, 48, 63, 65,)Tj --13.214 -1.25 Td -(76, 121, 187, 209, 290, 296, 299, 310, 313, 317,)Tj -T* -(329, 333, 336, 469, 502, 507)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(508, 521, 712, 722,)Tj --12.166 -1.25 Td -(744, 948, 953)Tj --2.7 -1.25 Td -[(swapper pr)18(ocess, )-250(227)]TJ -/TT0 1 Tf -T* -(S_WRBAND)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(510)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(S_WRNORM)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(510)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47441 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(xx)Tj -/T1_1 1 Tf -3 0 Td -[(For)18(ewor)18(d)-500(to)-500(the )-250(Second )-250(Edition)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -0.4211 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -(ac)Tj -0 Tc 1.365 0 Td -[(entral )-171(r)18(eason )-171(for )-171(the )-171(system\325s )-171(longevity )-171(has )-171(been )-171(that )-171(it )-171(has )-171(attracted )-171(r)16(emarkably)]TJ --1.365 -1.2 Td -[(talented )-90(writers )-90(to )-90(explain )-90(its )-90(beauties )-90(and )-90(mysteries. )-90(Brian )-90(Kernighan )-90(is )-90(one )-90(of )-90(these;)]TJ -0 -1.2 TD -[(Rich )-53(Stevens )-53(is )-53(certainly )-53(another)]TJ -0.5527 Tc 14.491 0 Td -(.T)Tj -0 Tc 1.416 0 Td -[(he )-53(\336rst )-53(edition )-53(of )-53(this )-53(book, )-53(along )-53(with )-53(his )-53(series )-53(of)]TJ --15.907 -1.2 Td -[(books )-142(about )-142(networking, )-142(ar)]TJ -0.3916 Tc 12.602 0 Td -(er)Tj -0 Tc 1.266 0 Td -[(ightfully )-142(r)18(egar)18(ded )-142(as )-142(r)18(emarkably )-142(well-crafted )-142(works )-142(of)]TJ --13.867 -1.2 Td -[(exposition, and became hugely popular)74(.)]TJ -1.8 -1.2 Td -(However)Tj -0.3193 Tc 4.056 0 Td -(,t)Tj -0 Tc 0.895 0 Td -[(he )-69(\336rst )-69(edition )-69(of )-69(this )-69(book )-69(was )-69(published )-69(befor)]TJ -0.3194 Tc 21.676 0 Td -(eL)Tj -0 Tc 1.409 0 Td -[(inux )-69(and )-69(the )-69(several)]TJ --29.837 -1.2 Td -[(open-sour)18(ce )-201(r)18(enditions )-201(of )-201(the )-201(Unix )-201(interface )-201(that )-201(stemmed )-201(fr)18(om )-201(the )-201(Berkeley )-201(CSRG)]TJ -0 -1.2 Td -[(became )-65(widespr)18(ead, )-65(and )-65(also )-65(at )-65(a )-65(time )-65(when )-65(many )-65(people\325s )-65(networking )-65(consisted )-65(of )-65(a)]TJ -T* -[(serial modem.)-500(Steve Rago has car)17(efully updated this book to account for the technology)]TJ -T* -[(changes, )-219(as )-219(well )-219(as )-219(developments )-219(in )-219(various )-219(ISO )-219(and )-219(IEEE )-219(standar)16(ds )-219(since )-219(its )-219(\336rst)]TJ -T* -[(publication. )-250(Thus)-250(his examples ar)]TJ -0.25 Tc 15.097 0 Td -(ef)Tj --0.018 Tc 1.062 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sh, and fr)18(eshly tested.)]TJ --15.215 -1.2 Td -(It\325s a most worthy second edition of a classic.)Tj -/T1_2 1 Tf --1.8 -3.6 Td -(Murray Hill, New Jersey)Tj -/T1_1 1 Tf -32.537 0 Td -(Dennis Ritchie)Tj -/T1_2 1 Tf --32.537 -1.2 Td -[(Mar)18(ch 2005)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47442 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(948)Tj -/T1_1 1 Tf -3.5 0 Td -(Bibliography)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.074 Tc 8.9995 0 0 8.9995 129.5922 669.9598 Tm -(AT)Tj -0 Tc 1.317 0 Td -(&T)Tj -0.5 Tc 1.317 0 Td -(.1)Tj -0 Tc 1.25 0 Td -(989.)Tj -/T1_2 1 Tf -2.25 0 Td -(System V Interface De\336nition, Third Edition)Tj -/T1_1 1 Tf -0.5 Tc (.A)Tj -0 Tc 19.631 0 Td -[(ddison-W)92(esley, Reading, MA.)]TJ -7.9995 0 0 7.9995 179.9894 656.6606 Tm -[(This )-24(four)18(-volume )-24(set )-24(speci\336es )-24(the )-24(sour)18(ce )-24(code )-24(interface )-24(and )-24(r)5(untime )-24(behavior )-24(of )-24(System )-24(V)]TJ -0.5245 Tc 40.001 0 Td -(.T)Tj -0 Tc 1.387 0 Td -(he)Tj --41.389 -1.25 Td -(thir)Tj -0.316 Tc 1.576 0 Td -(de)Tj -0 Tc 1.406 0 Td -[(dition )-66(corr)18(esponds )-66(to )-66(SVR4.)]TJ -0.3159 Tc 13.127 0 Td -(A\336)Tj -0 Tc 1.699 0 Td -[(fth )-66(volume, )-66(containing )-66(updated )-66(versions )-66(of )-66(commands)]TJ --17.808 -1.25 Td -[(and functions fr)18(om volumes 1)]TJ -13.337 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(4, was published in 1991.)-500(Curr)18(ently out of print.)]TJ --0.074 Tc 8.9995 0 0 8.9995 129.5922 619.0629 Tm -(AT)Tj -0 Tc 1.317 0 Td -(&T)Tj -0.7318 Tc 1.317 0 Td -(.1)Tj -0 Tc 1.482 0 Td -(990a.)Tj -/T1_2 1 Tf -2.982 0 Td -[(UNIX )-232(Resear)18(ch )-232(System )-232(Pr)19(ogrammer )213(\325)]TJ -0.4819 Tc 15.91 0 Td -(sM)Tj -0 Tc 1.815 0 Td -[(anual, )-232(T)111(enth )-232(Edition, )-232(V)74(olume )-232(I)]TJ -/T1_1 1 Tf -0.7319 Tc 13.41 0 Td -(.S)Tj -0 Tc 1.507 0 Td -(aunders)Tj --36.539 -1.222 Td -[(College Publishing, Fort W)92(orth, TX.)]TJ -7.9995 0 0 7.9995 179.9884 594.7643 Tm -[(The )-3(version )-3(of )-3(the)]TJ -/T1_2 1 Tf -8.236 0 Td -[(UNIX )-3(Pr)18(ogrammer )213(\325)]TJ -0.2534 Tc 8.217 0 Td -(sM)Tj -0 Tc 1.586 0 Td -(anual)Tj -/T1_1 1 Tf -2.531 0 Td -[(for )-3(the )-3(10th )-3(Edition )-3(of )-3(the )-3(Resear)18(ch )-3(UNIX )-3(System)]TJ --20.571 -1.21 Td -(\()Tj -0.333 -0.04 Td -(V10)Tj -1.722 0.04 Td -(\))Tj -0.5 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.363 0 Td -(his volume contains the traditional UNIX System manual pages \(Sections \ 1)Tj -33.163 0.09 Td -(\320)Tj -0.583 -0.09 Td -(9\).)Tj --0.074 Tc 8.9995 0 0 8.9995 129.5921 567.166 Tm -(AT)Tj -0 Tc 1.317 0 Td -(&T)Tj -0.9596 Tc 1.317 0 Td -(.1)Tj -0 Tc 1.71 0 Td -(990b.)Tj -/T1_2 1 Tf -3.263 0 Td -[(UNIX )-460(Resear)18(ch )-460(System )-460(Papers, )-460(T)111(enth )-460(Edition, )-460(V)74(olume )-460(II)]TJ -/T1_1 1 Tf -0.9597 Tc 26.338 0 Td -(.S)Tj -0 Tc 1.735 0 Td -[(aunders )-460(College)]TJ --32.479 -1.222 Td -[(Publishing, Fort W)92(orth, TX.)]TJ --0.111 Tc 7.9995 0 0 7.9995 179.9892 542.8674 Tm -(Vo)Tj -0 Tc 1.157 0 Td -[(lume )-3(II )-3(for )-3(the )-3(10th )-3(Edition )-3(of )-3(the )-3(Resear)18(ch )-3(UNIX )-3(System)]TJ -25.571 0.04 Td -(\()Tj -0.333 -0.04 Td -(V10)Tj -1.722 0.04 Td -(\))Tj -0.586 -0.04 Td -[(contains )-3(40 )-3(papers )-3(describing)]TJ --29.369 -1.25 Td -(various aspects of the system.)Tj --0.074 Tc 8.9995 0 0 8.9995 129.5923 515.2691 Tm -(AT)Tj -0 Tc 1.317 0 Td -(&T)Tj -0.9646 Tc 1.317 0 Td -(.1)Tj -0 Tc 1.715 0 Td -(990c.)Tj -/T1_2 1 Tf -3.159 0 Td -[(UNIX )-465(System )-465(V )-465(Release )-465(4 )-465(BSD/XENIX )-465(Compatibility )-465(Guide)]TJ -/T1_1 1 Tf -0.9647 Tc 28.151 0 Td -(.P)Tj --0.018 Tc 1.819 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ntice )-465(Hall,)]TJ --35.133 -1.222 Td -[(Englewood Clif)18(fs, NJ.)]TJ -7.9995 0 0 7.9995 179.9893 490.9705 Tm -[(Contains manual pages describing the compatibility library)111(.)]TJ --0.074 Tc 8.9995 0 0 8.9995 129.5923 473.3716 Tm -(AT)Tj -0 Tc 1.317 0 Td -(&T)Tj -0.9787 Tc 1.317 0 Td -(.1)Tj -0 Tc 1.729 0 Td -(990d.)Tj -/T1_2 1 Tf -3.34 0 Td -[(UNIX )-479(System )-479(V )-479(Release )-479(4 )-479(Pr)20(ogrammer )213(\325)]TJ -0.7287 Tc 18.719 0 Td -(sG)Tj -0 Tc 1.84 0 Td -[(uide: )-479(STREAMS)]TJ -/T1_1 1 Tf -0.9787 Tc (.P)Tj --0.018 Tc 9.201 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ntice )-479(Hall,)]TJ --35.119 -1.222 Td -[(Englewood Clif)18(fs, NJ.)]TJ -7.9995 0 0 7.9995 179.9894 449.0731 Tm -(Describes the STREAMS system in SVR4.)Tj --0.074 Tc 8.9995 0 0 8.9995 129.5924 431.4741 Tm -(AT)Tj -0 Tc 1.317 0 Td -(&T)Tj -0.533 Tc 1.317 0 Td -(.1)Tj -0 Tc 1.283 0 Td -(990e.)Tj -/T1_2 1 Tf -2.762 0 Td -[(UNIX )-33(System )-33(V )-33(Release )-33(4 )-33(Pr)18(ogrammer )213(\325)]TJ -0.283 Tc 16.491 0 Td -(sR)Tj -0 Tc 1.339 0 Td -[(efer)18(ence )-33(Manual)]TJ -/T1_1 1 Tf -0.5331 Tc (.P)Tj --0.018 Tc 8.06 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ntice )-33(Hall, )-33(Englewood)]TJ --30.225 -1.222 Td -[(Clif)18(fs, NJ.)]TJ -7.9995 0 0 7.9995 179.9896 407.1756 Tm -[(This )-161(is )-161(the )-161(pr)17(ogrammer )176(\325s)]TJ --0.018 Tc 12.048 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(ence )-161(manual )-161(for )-161(the )-161(SVR4 )-161(implementation )-161(for )-161(the )-161(Intel )-161(80386)]TJ --12.904 -1.25 Td -[(pr)18(ocessor)]TJ -0.5764 Tc 4.162 0 Td -(.I)Tj -0.3264 Tc 1.163 0 Td -(tc)Tj -0 Tc 1.096 0 Td -[(ontains )-76(Sections )-76(1 )-76(\(commands\), )-76(2 )-76(\(system )-76(calls\), )-76(3 )-76(\(subr)18(outines\), )-76(4 )-76(\(\336le )-76(formats\),)]TJ --6.422 -1.25 Td -(and 5 \(miscellaneous facilities\).)Tj --0.074 Tc 8.9995 0 0 8.9995 129.5927 369.5778 Tm -(AT)Tj -0 Tc 1.317 0 Td -(&T)Tj -0.6872 Tc 1.317 0 Td -(.1)Tj -0 Tc 1.437 0 Td -(991.)Tj -/T1_2 1 Tf -2.437 0 Td -[(UNIX )-187(System )-187(V )-187(Release )-187(4 )-187(System )-187(Administrator)]TJ --0.055 Tc 21.161 0 Td -[(\325s )-297(R)]TJ -0 Tc 1.716 0 Td -[(efer)18(ence )-187(Manual)]TJ -/T1_1 1 Tf -0.6871 Tc (.P)Tj --0.018 Tc 8.368 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ntice )-187(Hall,)]TJ --35.41 -1.222 Td -[(Englewood Clif)18(fs, NJ.)]TJ -7.9995 0 0 7.9995 179.9894 345.2793 Tm -[(This )-81(is )-81(the )-81(system )-81(administrator)-74(\325s )-81(r)19(efer)18(ence )-81(manual )-81(for )-81(the )-81(SVR4 )-81(implementation )-81(for )-81(the )-81(Intel)]TJ -0 -1.25 Td -[(80386 )-42(pr)18(ocessor)]TJ -0.542 Tc 6.954 0 Td -(.I)Tj -0.292 Tc 1.129 0 Td -(tc)Tj -0 Tc 1.062 0 Td -[(ontains )-42(Sections )-42(1 )-42(\(commands\), )-42(4 )-42(\(\336le )-42(formats\), )-42(5 )-42(\(miscellaneous )-42(facilities\),)]TJ --9.145 -1.25 Td -(and 7 \(special \336les\).)Tj -8.9995 0 0 8.9995 129.5925 307.6815 Tm -[(Bach, M. J.)-500(1986.)]TJ -/T1_2 1 Tf -7.916 0 Td -(The Design of the UNIX Operating System)Tj -/T1_1 1 Tf -0.5 Tc (.P)Tj --0.018 Tc 18.911 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ntice Hall, Englewood Clif)18(fs, NJ.)]TJ -0.541 Tc 7.9995 0 0 7.9995 179.9894 294.3823 Tm -(Ab)Tj -0 Tc 1.872 0 Td -[(ook )-291(on )-291(the )-291(details )-291(of )-291(the )-291(design )-291(and )-291(implementation )-291(of )-291(the )-291(UNIX )-291(operating )-291(system.)]TJ --1.872 -1.25 Td -[(Although )-42(actual )-42(UNIX )-42(System )-42(sour)19(ce )-42(code )-42(is )-42(not )-42(pr)18(ovided )-42(in )-42(this )-42(text )-42(\(since )-42(it )-42(was )-42(pr)22(oprietary)]TJ -0 -1.25 TD -[(to )-51(A)74(T&T )-52(at )-52(the )-52(time\), )-52(many )-52(of )-52(the )-52(algorithms )-52(and )-52(data )-52(str)12(uctur)18(es )-52(used )-52(by )-52(the )-52(UNIX )-52(kernel )-52(ar)20(e)]TJ --0 -1.25 Td -[(pr)18(esented and discussed.)-500(This book describes SVR2.)]TJ -8.9995 0 0 8.9995 129.5921 246.7852 Tm -[(Bolsky)111(,)-446(M.)-446(I., )-196(and )-196(Korn, )-196(D. )-196(G.)-695(1995.)]TJ -/T1_2 1 Tf -17.702 0 Td -[(The )-196(New )-196(KornShell )-196(Command )-196(and )-196(Pr)18(ogramming )-196(Language,)]TJ --14.502 -1.222 Td -(Second Edition)Tj -/T1_1 1 Tf -0.5 Tc (.P)Tj --0.018 Tc 7.456 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ntice Hall, Englewood Clif)18(fs, NJ.)]TJ -0.5515 Tc 7.9995 0 0 7.9995 179.9893 222.4866 Tm -(Ab)Tj -0 Tc 1.883 0 Td -[(ook )-301(describing )-301(how )-301(to )-301(use )-301(the )-301(Korn )-301(shell, )-301(both )-301(as )-301(a )-301(command )-301(interpr)12(eter )-302(and )-302(as )-302(a)]TJ --1.883 -1.25 Td -[(pr)18(ogramming language.)]TJ -8.9995 0 0 8.9995 129.5925 194.8883 Tm -[(Chen, )-132(D., )-132(Barkley)110(,)-382(R.)-382(E)-1(., )-132(and )-132(Lee, )-132(T)]TJ -0.3824 Tc 16.16 0 Td -(.P)Tj -0.6324 Tc 1.107 0 Td -(.1)Tj -0 Tc 1.382 0 Td -[(990. )-382(\324)37(\324Insuring )-132(Impr)18(oved )-132(VM )-132(Performance: )-132(Some )-132(No-)]TJ --15.45 -1.222 Td -[(Fault )-99(Policies,\325)37(\325)]TJ -/T1_2 1 Tf -7.112 0 Td -[(Pr)18(oceedings )-99(of )-99(the )-99(1990 )-99(W)20(inter )-99(USENIX )-99(Confer)20(ence)]TJ -/T1_1 1 Tf -0.3487 Tc (,p)Tj -0 Tc 23.163 0 Td -[(p. 1)55(1)]TJ -2.129 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(22, )-99(W)92(ashington,)]TJ --32.988 -1.222 Td -(DC.)Tj -7.9995 0 0 7.9995 179.9898 159.5904 Tm -[(Describes )-347(changes )-347(made )-347(to )-347(the )-347(virtual )-347(memory )-347(implementation )-347(of )-347(SVR4 )-347(to )-347(impr)18(ove )-347(its)]TJ -T* -(performance, especially for)Tj -/TT0 1 Tf -12.267 0 Td -(fork)Tj -/T1_1 1 Tf -2.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(exec)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47443 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.4)]TJ -35.831 0 Td -[(I/O )-250(Multiplexing)]TJ -/T1_1 1 Tf -10.002 0 Td -(507)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.055 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj -/TT0 1 Tf -1.412 0 Td -(poll)Tj -/T1_0 1 Tf -0.5039 Tc (,i)Tj -0 Tc 3.445 0 Td -[(nstead )-254(of )-254(building )-254(a )-254(set )-254(of )-254(descriptors )-254(for )-254(each )-254(condition )-254(\(r)19(eadability)111(,)]TJ --6.093 -1.2 Td -(writability)Tj -0.469 Tc 4.543 0 Td -(,a)Tj -0 Tc 1.219 0 Td -[(nd )-219(exception )-219(condition\) )-219(as )-219(we )-219(did )-219(with)]TJ -/TT0 1 Tf -19.074 0 Td -(select)Tj -/T1_0 1 Tf -[(,)-469(we)-469(build )-219(an )-219(array )-219(of)]TJ -/TT0 1 Tf --24.836 -1.2 Td -(pollfd)Tj -/T1_0 1 Tf -4.028 0 Td -[(str)8(uctur)18(es, )-178(with )-178(each )-178(array )-178(element )-178(specifying )-178(a )-178(descriptor )-178(number )-178(and )-178(the)]TJ --4.028 -1.2 Td -(conditions that we\325r)Tj -0.25 Tc 8.845 0 Td -(ei)Tj -0 Tc 1.02 0 Td -[(nter)18(ested in for that descriptor:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 617.3329 Tm -(struct pollfd {)Tj -1.2 -1.189 Td -[(int )-1800(fd;)-4200(/* file descriptor to check, or <0 to ignore */)]TJ -0 -1.189 TD -[(short )-600(events;)-1800(/* events of interest on fd */)]TJ -T* -[(short )-600(revents; )-600(/*)-600(events that occurred on fd */)]TJ --1.2 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5921 557.6063 Tm -(The number of elements in the)Tj -/T1_2 1 Tf -13.751 0 Td -(fdarray)Tj -/T1_0 1 Tf -3.194 0 Td -(array is speci\336ed by)Tj -/T1_2 1 Tf -9.104 0 Td -(nfds)Tj -/T1_0 1 Tf -(.)Tj -7.9995 0 0 7.9995 183.5886 538.6075 Tm -(Historically)Tj -0.5359 Tc 5.076 0 Td -(,t)Tj -0 Tc 1.112 0 Td -(her)Tj -0.5359 Tc 1.438 0 Td -(eh)Tj -0 Tc 1.597 0 Td -[(ave )-286(been )-286(dif)18(fer)18(ences )-286(in )-286(how )-286(the)]TJ -/T1_2 1 Tf -15.888 0 Td -(nfds)Tj -/T1_0 1 Tf -2.259 0 Td -[(parameter )-286(was )-286(declar)19(ed. )-536(SVR3)]TJ --27.37 -1.25 Td -[(speci\336ed )-73(the )-73(number )-73(of )-73(elements )-73(in )-73(the )-73(array )-73(as )-73(an)]TJ -/TT0 1 Tf -23.484 0 Td -[(unsigned )277(long)]TJ -/T1_0 1 Tf -0.3234 Tc (,w)Tj -0 Tc 8.931 0 Td -[(hich )-73(seems )-73(excessive.)]TJ --32.414 -1.25 Td -[(In )-9(the )-9(SVR4 )-9(manual )-9([A)74(T&T )-9(1990d], )-9(the )-9(pr)18(ototype )-9(for)]TJ -/TT0 1 Tf -23.669 0 Td -(poll)Tj -/T1_0 1 Tf -2.66 0 Td -[(showed )-9(the )-9(data )-9(type )-9(of )-9(the )-9(second)]TJ --26.329 -1.25 Td -[(ar)18(gument )-5(as)]TJ -/TT0 1 Tf -5.739 0 Td -(size_t)Tj -/T1_0 1 Tf -0.5046 Tc (.\()Tj -0 Tc 4.688 0 Td -[(Recall )-5(the )-5(primitive )-5(system )-5(data )-5(types )-5(fr)18(om )-5(Figur)]TJ -0.2546 Tc 21.901 0 Td -(e2)Tj -0 Tc 1.234 0 Td -[(.21.\) )-255(But)-254(the )-5(actual)]TJ --33.562 -1.25 Td -[(pr)18(ototype )-73(in )-73(the)]TJ -/TT0 1 Tf -7.588 0 Td -()Tj -/T1_0 1 Tf -5.123 0 Td -[(header )-73(still )-73(showed )-73(the )-73(second )-73(ar)18(gument )-73(as )-73(an)]TJ -/TT0 1 Tf -21.516 0 Td -[(unsigned )277(long)]TJ -/T1_0 1 Tf -(.)Tj --34.227 -1.25 Td -[(The )-110(Single )-110(UNIX )-110(Speci\336cation )-110(de\336nes )-110(the )-110(new )-110(type)]TJ -/TT0 1 Tf -23.948 0 Td -(nfds_t)Tj -/T1_0 1 Tf -3.96 0 Td -[(to )-110(allow )-110(the )-110(implementation )-110(to)]TJ --27.908 -1.25 Td -[(select )-5(the )-5(appr)18(opriate )-5(type )-5(and )-5(hide )-5(the )-5(details )-5(fr)18(om )-5(applications.)-505(Note )-5(that )-5(this )-5(type )-5(has )-5(to )-5(be)]TJ -0 -1.25 TD -[(lar)18(ge )-52(enough )-52(to )-52(hold )-52(an )-52(integer)]TJ -0.3018 Tc 14.078 0 Td -(,s)Tj -0 Tc 0.976 0 Td -[(ince )-52(the )-52(r)19(eturn )-52(value )-52(r)18(epr)18(esents )-52(the )-52(number )-52(of )-52(entries )-52(in )-52(the)]TJ --15.054 -1.25 Td -(array with satis\336ed events.)Tj -0 -2.25 TD -[(The )-47(SVID )-47(corr)18(esponding )-47(to )-47(SVR4 )-47([A)74(T&T )-47(1989] )-47(showed )-47(the )-47(\336rst )-47(ar)18(gument )-47(to)]TJ -/TT0 1 Tf -34.482 0 Td -(poll)Tj -/T1_0 1 Tf -2.697 0 Td -(as)Tj -/TT0 1 Tf -1.221 0 Td -(struct)Tj --38.4 -1.25 Td -(pollfd)Tj -/T1_2 1 Tf -4.314 0 Td -(fdarray)Tj -/TT0 1 Tf -([])Tj -/T1_0 1 Tf -0.3641 Tc (,w)Tj -0 Tc 5.592 0 Td -[(her)18(eas )-114(the )-114(SVR4 )-114(manual )-114(page )-114([A)73(T&T )-114(1990d] )-114(showed )-114(this )-114(ar)18(gument )-114(as)]TJ -/TT0 1 Tf --9.906 -1.25 Td -[(struct )-97(pollfd )-97(*)]TJ -/T1_2 1 Tf -9.195 0 Td -(fdarray)Tj -/T1_0 1 Tf -0.5974 Tc (.I)Tj -0.3474 Tc 4.128 0 Td -(nt)Tj -0 Tc 1.255 0 Td -[(he )-97(C )-97(language, )-97(both )-97(declarations )-97(ar)]TJ -0.3474 Tc 16.097 0 Td -(ee)Tj -0 Tc 1.305 0 Td -[(quivalent. )-347(W)]TJ -0.3474 Tc 5.952 0 Td -(eu)Tj -0 Tc 1.429 0 Td -[(se )-97(the)]TJ --39.363 -1.25 Td -[(\336rst )-47(declaration )-47(to )-47(r)18(eiterate )-47(that)]TJ -/TT0 1 Tf -14.456 0 Td -(fdarray)Tj -/T1_0 1 Tf -4.497 0 Td -[(points )-47(to )-47(an )-47(array )-47(of )-47(str)10(uctur)18(es )-47(and )-47(not )-47(a )-47(pointer )-47(to)]TJ -0.25 Tc -18.953 -1.25 Td -(as)Tj -0 Tc 1.174 0 Td -[(ingle str)8(uctur)18(e.)]TJ --0.092 Tc 9.9994 0 0 9.9994 147.5921 379.617 Tm -[(To )-187(t)]TJ -0 Tc 1.646 0 Td -[(ell )-3(the )-3(kernel )-3(which )-3(events )-3(we\325r)]TJ -0.2525 Tc 14.049 0 Td -(ei)Tj -0 Tc 1.023 0 Td -[(nter)18(ested )-2(in )-2(for )-2(each )-2(descriptor)72(,)-252(we)-252(h)-1(ave )-2(to )-2(set)]TJ --18.517 -1.2 Td -(the)Tj -/TT0 1 Tf -1.67 0 Td -(events)Tj -/T1_0 1 Tf -3.883 0 Td -[(member )-33(of )-33(each )-33(array )-33(element )-33(to )-33(one )-33(or )-33(mor)20(e)-283(of)-283(the )-33(values )-33(in )-33(Figur)]TJ -0.2828 Tc 30.186 0 Td -(e1)Tj -0 Tc 1.262 0 Td -(4.17.)Tj --37 -1.2 Td -[(On )-88(r)18(eturn, )-88(the)]TJ -/TT0 1 Tf -6.781 0 Td -(revents)Tj -/T1_0 1 Tf -4.538 0 Td -[(member )-88(is )-88(set )-88(by )-88(the )-88(kernel, )-88(ther)18(eby )-88(specifying )-88(which )-88(events)]TJ --11.319 -1.2 Td -[(have )-362(occurr)18(ed )-362(for )-362(each )-362(descriptor)]TJ -0.8621 Tc 16.19 0 Td -(.\()Tj -0 Tc 1.445 0 Td -[(Note )-362(that)]TJ -/TT0 1 Tf -5.14 0 Td -(poll)Tj -/T1_0 1 Tf -3.012 0 Td -[(doesn\325t )-362(change )-362(the)]TJ -/TT0 1 Tf -9.612 0 Td -(events)Tj -/T1_0 1 Tf --35.4 -1.2 Td -(member)Tj -0.618 Tc 3.598 0 Td -(.T)Tj -0 Tc 1.481 0 Td -[(his )-118(behavior )-118(dif)18(fers )-118(fr)18(om )-118(that )-118(of)]TJ -/TT0 1 Tf -15.016 0 Td -(select)Tj -/T1_0 1 Tf -0.368 Tc (,w)Tj -0 Tc 5.052 0 Td -[(hich )-118(modi\336es )-118(its )-118(ar)18(guments )-118(to)]TJ --25.147 -1.2 Td -[(indicate what is r)18(eady)111(.\))]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1307.25 3008.25 cm -0 0 m -3878 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 192.5729 292.8049 Tm -[(Input to)-1236(Result fr)18(om)]TJ -/TT0 1 Tf --0.237 -1.25 Td -(events)Tj -/T1_0 1 Tf -(?)Tj -/TT0 1 Tf -5.312 0 Td -(revents)Tj -/T1_0 1 Tf -(?)Tj --10.659 0.625 Td -(Name)Tj -28.619 0 Td -(Description)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1307.25 2788.25 cm -0 0 m -3878 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1307.25 2768.25 cm -0 0 m -3878 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 134.6798 268.7916 Tm -(POLLIN)Tj -/T1_0 1 Tf -5.006 Tc 8.719 0 Td -(\245\245)Tj -0 Tc 9.505 0 Td -[(Data other than high priority data can be r)18(ead without blocking)]TJ -1.35 -1.25 Td -(\(equivalent to)Tj -/TT0 1 Tf -6.381 0 Td -(POLLRDNORM|POLLRDBAND)Tj -/T1_0 1 Tf -(\).)Tj -/TT0 1 Tf --25.955 -1.25 Td -(POLLRDNORM)Tj -/T1_0 1 Tf -5.006 Tc 8.719 0 Td -(\245\245)Tj -0 Tc 9.505 0 Td -[(Normal data can be r)18(ead without blocking.)]TJ -/TT0 1 Tf --18.224 -1.25 Td -(POLLRDBAND)Tj -/T1_0 1 Tf -5.006 Tc 8.719 0 Td -(\245\245)Tj -0 Tc 9.505 0 Td -[(Priority data can be r)18(ead without blocking.)]TJ -/TT0 1 Tf --18.224 -1.25 Td -(POLLPRI)Tj -/T1_0 1 Tf -5.006 Tc 8.719 0 Td -(\245\245)Tj -0 Tc 9.505 0 Td -[(High-priority data can be r)18(ead without blocking.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1307.25 2248.25 cm -0 0 m -3878 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 134.6717 216.788 Tm -(POLLOUT)Tj -/T1_0 1 Tf -5.006 Tc 8.719 0 Td -(\245\245)Tj -0 Tc 9.505 0 Td -(Normal data can be written without blocking.)Tj -/TT0 1 Tf --18.224 -1.25 Td -(POLLWRNORM)Tj -/T1_0 1 Tf -5.006 Tc 8.719 0 Td -(\245\245)Tj -0 Tc 9.505 0 Td -(Same as)Tj -/TT0 1 Tf -3.811 0 Td -(POLLOUT)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf --22.035 -1.25 Td -(POLLWRBAND)Tj -/T1_0 1 Tf -5.006 Tc 8.719 0 Td -(\245\245)Tj -0 Tc 9.505 0 Td -(Priority data can be written without blocking.)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1307.25 1928.25 cm -0 0 m -3878 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 134.6636 184.7846 Tm -(POLLERR)Tj -/T1_0 1 Tf -14.331 0 Td -[(\245)-3287(An err)18(or has occurr)18(ed.)]TJ -/TT0 1 Tf --14.331 -1.25 Td -(POLLHUP)Tj -/T1_0 1 Tf -14.331 0 Td -(\245)Tj -0.25 Tc 3.893 0 Td -(Ah)Tj -0 Tc 1.61 0 Td -[(angup has occurr)18(ed.)]TJ -/TT0 1 Tf --19.834 -1.25 Td -(POLLNVAL)Tj -/T1_0 1 Tf -14.331 0 Td -[(\245)-3287(The descriptor does not r)18(efer)18(ence an open \336le.)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1307.25 1608.25 cm -0 0 m -3878 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2765.25 1608.25 cm -0 0 m -0 1400 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2270.25 1608.25 cm -0 0 m -0 1400 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1867.25 1608.25 cm -0 0 m -0 1400 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5185.25 1608.25 cm -0 0 m -0 1400 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1307.25 1608.25 cm -0 0 m -0 1400 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 226.0226 142.7886 Tm -(Figure 14.17)Tj -/T1_0 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(events)Tj -/T1_0 1 Tf -3.85 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(revents)Tj -/T1_0 1 Tf -4.45 0 Td -(\337ags for)Tj -/TT0 1 Tf -3.862 0 Td -(poll)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47444 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(7.8)]TJ -34.933 0 Td -[(Memory )-250(Allocation)]TJ -/T1_1 1 Tf -10.9 0 Td -(209)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(objects. )-417(These)-418(objects )-167(can )-167(be )-167(unr)18(elated )-167(to )-167(the )-167(code )-167(corr)8(upting )-167(them, )-167(making )-167(it )-167(even)]TJ -0 -1.2 TD -(mor)Tj -0.25 Tc 1.806 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(if)18(\336cult to \336nd the sour)18(ce of the corr)8(uption.)]TJ --1.346 -1.2 Td -[(Other )-20(possible )-20(err)18(ors )-20(that )-20(can )-20(be )-20(fatal )-20(ar)]TJ -0.2696 Tc 17.799 0 Td -(ef)Tj --0.018 Tc 1.082 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eing )-20(a )-20(block )-20(that )-20(was )-20(alr)18(eady )-20(fr)18(eed )-20(and)]TJ --21.537 -1.2 Td -(calling)Tj -/TT0 1 Tf -3.512 0 Td -(free)Tj -/T1_0 1 Tf -2.957 0 Td -[(with )-307(a )-307(pointer )-307(that )-307(was )-307(not )-307(obtained )-307(fr)15(om )-307(one )-307(of )-307(the )-307(thr)17(ee)]TJ -/TT0 1 Tf -29.53 0 Td -(alloc)Tj -/T1_0 1 Tf --36 -1.2 Td -[(functions. )-409(If)]TJ -0.4093 Tc 6.12 0 Td -(ap)Tj --0.018 Tc 1.51 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-159(calls)]TJ -/TT0 1 Tf -4.54 0 Td -(malloc)Tj -/T1_0 1 Tf -4.009 0 Td -[(but )-159(for)18(gets )-159(to )-159(call)]TJ -/TT0 1 Tf -8.559 0 Td -(free)Tj -/T1_0 1 Tf -0.4094 Tc (,i)Tj -0 Tc 3.35 0 Td -[(ts )-159(memory )-159(usage )-159(will)]TJ --29.011 -1.2 Td -[(continually )-171(incr)18(ease; )-171(this )-171(is )-171(called )-171(leakage.)-671(If )-171(we )-171(do )-171(not )-171(call)]TJ -/TT0 1 Tf -28.402 0 Td -(free)Tj -/T1_0 1 Tf -2.821 0 Td -[(to )-171(r)18(eturn )-171(unused)]TJ --31.223 -1.2 Td -[(space, )-1(the )-1(size )-1(of )-1(a )-1(pr)18(ocess\325s )-1(addr)18(ess )-1(space )-1(will )-1(slowly )-1(incr)19(ease )-1(until )-1(no )-1(fr)18(ee )-1(space )-1(is )-1(left.)]TJ -T* -[(During this time, performance can degrade fr)18(om excess paging over)18(head.)]TJ -1.8 -1.2 Td -[(Because )-14(memory )-14(allocation )-14(err)18(ors )-14(ar)]TJ -0.2645 Tc 16.15 0 Td -(ed)Tj -0 Tc 1.354 0 Td -[(if)18(\336cult )-14(to )-14(track )-14(down, )-14(some )-14(systems )-14(pr)16(ovide)]TJ --19.304 -1.2 Td -[(versions )-26(of )-26(these )-26(functions )-26(that )-26(do )-26(additional )-26(err)21(or )-26(checking )-26(every )-26(time )-26(one )-26(of )-26(the )-26(thr)20(ee)]TJ -/TT0 1 Tf -T* -(alloc)Tj -/T1_0 1 Tf -3.343 0 Td -[(functions )-93(or)]TJ -/TT0 1 Tf -5.758 0 Td -(free)Tj -/T1_0 1 Tf -2.743 0 Td -[(is )-93(called.)-593(These )-93(versions )-93(of )-93(the )-93(functions )-93(ar)]TJ -0.3431 Tc 19.79 0 Td -(eo)Tj -0 Tc 1.368 0 Td -[(ften )-93(speci\336ed)]TJ --33.003 -1.2 Td -[(by )-244(including )-244(a )-244(special )-244(library )-244(for )-244(the )-244(link )-244(editor)]TJ -0.7444 Tc 22.781 0 Td -(.T)Tj -0 Tc 1.607 0 Td -(her)Tj -0.4944 Tc 1.438 0 Td -(ea)Tj --0.018 Tc 1.473 0 Td -[(re )-280(a)]TJ -0 Tc 1.85 0 Td -[(lso )-244(publicly )-244(available)]TJ --29.15 -1.2 Td -[(sour)18(ces that you can compile with special \337ags to enable additional r)8(untime checking.)]TJ -7.9995 0 0 7.9995 183.5885 500.17 Tm -[(Fr)18(eeBSD, )-407(Mac )-407(OS )-407(X, )-407(and )-407(Linux )-407(support )-407(additional )-407(debugging )-407(thr)18(ough )-407(the )-407(setting )-407(of)]TJ -0 -1.25 TD -[(envir)18(onment )-55(variables.)-555(In )-55(addition, )-55(options )-55(can )-55(be )-55(passed )-55(to )-55(the )-55(Fr)18(eeBSD )-55(library )-55(thr)14(ough )-55(the)]TJ -T* -(symbolic link)Tj -/TT0 1 Tf -6.208 0 Td -(/etc/malloc.conf)Tj -/T1_0 1 Tf -(.)Tj -/TT1 1 Tf -9.9994 0 0 9.9994 93.594 453.1728 Tm -(Alternate Memor)Tj -0.278 Tc 7.9 0 Td -(yA)Tj -0 Tc 1.556 0 Td -[(llocator)15(s)]TJ -/T1_0 1 Tf --5.856 -2.04 Td -[(Many )-40(r)18(eplacements )-40(for)]TJ -/TT0 1 Tf -10.594 0 Td -(malloc)Tj -/T1_0 1 Tf -3.89 0 Td -(and)Tj -/TT0 1 Tf -1.983 0 Td -(free)Tj -/T1_0 1 Tf -2.69 0 Td -(ar)Tj -0.2904 Tc 0.877 0 Td -(ea)Tj -0 Tc 1.269 0 Td -[(vailable. )-290(Some)-291(systems )-40(alr)18(eady )-40(include)]TJ --21.305 -1.2 Td -[(libraries )-404(pr)18(oviding )-404(alternative )-404(memory )-404(allocator )-404(implementations.)-904(Other )-404(systems)]TJ -0 -1.2 TD -[(pr)18(ovide )-99(only )-99(the )-99(standar)]TJ -0.3486 Tc 11.198 0 Td -(da)Tj -0 Tc 1.46 0 Td -(llocator)Tj -0.3486 Tc 3.265 0 Td -(,l)Tj -0 Tc 0.89 0 Td -[(eaving )-99(it )-99(up )-99(to )-99(softwar)]TJ -0.3486 Tc 10.4 0 Td -(ed)Tj -0 Tc 1.439 0 Td -[(evelopers )-98(to )-98(download)]TJ --28.651 -1.2 Td -[(alternatives, if desir)18(ed. )-250(W)]TJ -0.25 Tc 11.462 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(iscuss some of the alternatives her)18(e.)]TJ -/TT2 1 Tf --16.402 -2.4 Td -(libmalloc)Tj -/T1_0 1 Tf -3.6 -1.92 Td -(SVR4)Tj -2.415 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-58(systems, )-58(such )-58(as )-58(Solaris, )-58(include )-58(the)]TJ -/TT0 1 Tf -19.374 0 Td -(libmalloc)Tj -/T1_0 1 Tf -5.708 0 Td -(library)Tj -0.3078 Tc 2.87 0 Td -(,w)Tj -0 Tc 1.392 0 Td -[(hich )-58(pr)18(ovides )-58(a)]TJ --32.091 -1.2 Td -[(set )-202(of )-202(interfaces )-202(matching )-202(the )-202(ISO )-202(C )-202(memory )-202(allocation )-202(functions.)-698(The)]TJ -/TT0 1 Tf -33.6 0 Td -(libmalloc)Tj -/T1_0 1 Tf --33.6 -1.2 Td -[(library )-86(includes)]TJ -/TT0 1 Tf -7.379 0 Td -(mallopt)Tj -/T1_0 1 Tf -0.3363 Tc (,af)Tj -0 Tc 5.956 0 Td -[(unction )-86(that )-86(allows )-86(a )-86(pr)18(ocess )-86(to )-86(set )-86(certain )-86(variables )-86(that)]TJ --13.334 -1.2 Td -[(contr)18(ol )-258(the )-258(operation )-258(of )-258(the )-258(storage )-258(allocator)]TJ -0.7584 Tc 21.072 0 Td -(.A)Tj -0 Tc 2.295 0 Td -[(function )-258(called)]TJ -/TT0 1 Tf -7.34 0 Td -(mallinfo)Tj -/T1_0 1 Tf -5.308 0 Td -[(is )-258(also)]TJ --36.015 -1.2 Td -[(available to pr)18(ovide statistics on the memory allocator)74(.)]TJ -/TT2 1 Tf --3.6 -2.4 Td -(vmalloc)Tj -/T1_0 1 Tf --0.111 Tc 3.6 -1.92 Td -(Vo)Tj -0 Tc 1.468 0.04 Td -([)Tj -0.333 -0.04 Td -(1996)Tj -2 0.04 Td -(])Tj -0.644 -0.04 Td -[(describes )-61(a )-61(memory )-61(allocator )-61(that )-61(allows )-61(pr)18(ocesses )-61(to )-61(allocate )-61(memory )-61(using)]TJ --4.445 -1.2 Td -[(dif)18(fer)18(ent )-299(techniques )-299(for )-299(dif)18(fer)18(ent )-299(r)18(egions )-299(of )-299(memory)]TJ -0.7989 Tc 24.688 0 Td -(.I)Tj -0.5489 Tc 1.386 0 Td -(na)Tj -0 Tc 1.631 0 Td -[(ddition )-299(to )-299(the )-299(functions)]TJ --27.705 -1.2 Td -[(speci\336c )-127(to)]TJ -/TT0 1 Tf -4.913 0 Td -(vmalloc)Tj -/T1_0 1 Tf -0.3767 Tc (,t)Tj -0 Tc 5.153 0 Td -[(he )-127(library )-127(pr)19(ovides )-127(emulations )-127(of )-127(the )-127(ISO )-127(C )-127(memory )-127(allocation)]TJ --10.066 -1.2 Td -(functions.)Tj -/TT2 1 Tf --3.6 -2.4 Td -(quick-fit)Tj -/T1_0 1 Tf -3.6 -1.92 Td -(Historically)Tj -0.3312 Tc 5.076 0 Td -(,t)Tj -0 Tc 0.907 0 Td -[(he )-81(standar)18(d)]TJ -/TT0 1 Tf -5.654 0 Td -(malloc)Tj -/T1_0 1 Tf -3.931 0 Td -[(algorithm )-81(used )-81(either )-81(a )-81(best-\336t )-81(or )-81(a )-81(\336rst-\336t )-81(memory)]TJ --15.569 -1.2 Td -[(allocation )-287(strategy)]TJ -0.7875 Tc 8.306 0 Td -(.Q)Tj -0 Tc 1.824 0 Td -[(uick-\336t )-287(is )-287(faster )-287(than )-287(either)]TJ -0.5375 Tc 12.948 0 Td -(,b)Tj -0 Tc 1.341 0 Td -[(ut )-287(tends )-287(to )-287(use )-287(mor)]TJ -0.5375 Tc 9.685 0 Td -(em)Tj -0 Tc 1.899 0 Td -[(emory)111(.)]TJ --0.092 Tc -36.002 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(instock )-266(and )-266(W)50(ulf)]TJ -8.587 0.04 Td -([)Tj -0.333 -0.04 Td -(1988)Tj -2 0.04 Td -(])Tj -0.849 -0.04 Td -[(describe )-266(the )-266(algorithm, )-266(which )-266(is )-266(based )-266(on )-266(splitting )-266(up)]TJ --13.156 -1.2 Td -[(memory )-85(into )-85(buf)18(fers )-85(of )-85(various )-85(sizes )-85(and )-85(maintaining )-85(unused )-85(buf)18(fers )-85(on )-85(dif)18(fer)18(ent )-85(fr)18(ee)]TJ --0 -1.2 Td -[(lists, depending on the buf)18(fer sizes.)-500(Most modern allocators ar)]TJ -0.25 Tc 27.737 0 Td -(eb)Tj -0 Tc 1.282 0 Td -(ased on quick-\336t.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47445 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(496)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 7.9995 0 0 7.9995 183.589 670.9597 Tm -[(We )-278(s)]TJ -0 Tc 2.155 0 Td -[(aw )-94(in )-94(Figur)]TJ -0.3444 Tc 5.279 0 Td -(e1)Tj -0 Tc 1.323 0 Td -[(4.2 )-94(that )-94(Linux )-94(3.2.0 )-94(and )-94(Solaris )-94(10 )-94(pr)18(ovide )-94(mandatory )-94(r)14(ecor)]TJ -0.3445 Tc 26.945 0 Td -(dl)Tj -0 Tc 1.246 0 Td -[(ocking, )-94(but)]TJ --36.949 -1.25 Td -[(Fr)18(eeBSD )-87(8.0 )-87(and )-87(Mac )-87(OS )-87(X )-87(10.6.8 )-87(do )-87(not.)-590(Mandatory )-87(r)18(ecor)]TJ -0.3373 Tc 26.782 0 Td -(dl)Tj -0 Tc 1.239 0 Td -[(ocking )-87(is )-87(not )-87(part )-87(of )-87(the )-87(Single)]TJ --28.021 -1.25 Td -[(UNIX )-45(Speci\336cation.)-545(On )-45(Linux, )-45(if )-45(you )-45(want )-45(mandatory )-45(locking, )-45(you )-45(need )-45(to )-45(enable )-45(it )-45(on )-45(a )-45(per)]TJ -0 -1.25 TD -(\336le system basis by using the)Tj -/TT0 1 Tf -13.111 0 Td -(-o mand)Tj -/T1_1 1 Tf -4.45 0 Td -(option to the)Tj -/TT0 1 Tf -5.901 0 Td -(mount)Tj -/T1_1 1 Tf -3.25 0 Td -(command.)Tj -9.9994 0 0 9.9994 147.5913 619.9628 Tm -[(Mandatory )-15(locking )-15(is )-15(enabled )-15(for )-15(a )-15(particular )-15(\336le )-15(by )-15(turning )-15(on )-15(the )-15(set-gr)18(oup-ID )-15(bit)]TJ --1.8 -1.2 Td -[(and )-113(turning )-113(of)]TJ -0.3634 Tc 6.616 0 Td -(ft)Tj -0 Tc 1.022 0 Td -[(he )-113(gr)18(oup-execute )-113(bit.)-613(\(Recall )-113(Figur)]TJ -0.3634 Tc 15.916 0 Td -(e4)Tj -0 Tc 1.342 0 Td -[(.12.\) )-363(Since)-364(the )-113(set-gr)18(oup-ID )-113(bit)]TJ --24.896 -1.2 Td -[(makes )-30(no )-30(sense )-30(when )-30(the )-30(gr)18(oup-execute )-30(bit )-30(is )-30(of)18(f, )-30(the )-30(designers )-30(of )-30(SVR3 )-30(chose )-30(this )-30(way)]TJ -0 -1.2 TD -[(to )-8(specify )-8(that )-8(the )-8(locking )-8(for )-8(a )-8(\336le )-8(is )-8(to )-8(be )-8(mandatory )-8(locking )-8(and )-8(not )-8(advisory )-8(locking.)]TJ -1.8 -1.2 Td -[(What )-115(happens )-115(to )-115(a )-115(pr)16(ocess )-115(that )-115(tries )-115(to)]TJ -/TT0 1 Tf -18.288 0 Td -(read)Tj -/T1_1 1 Tf -2.765 0 Td -(or)Tj -/TT0 1 Tf -1.306 0 Td -(write)Tj -/T1_1 1 Tf -0.3653 Tc 3.365 0 Td -(a\336)Tj -0 Tc 1.47 0 Td -[(le )-115(that )-115(has )-115(mandatory)]TJ --28.995 -1.2 Td -[(locking )-141(enabled )-141(and )-141(that )-141(part )-141(of )-141(the )-141(\336le )-141(is )-141(curr)20(ently )-141(locked )-141(by )-141(another )-141(pr)18(ocess? )-391(The)]TJ -T* -[(answer )-37(depends )-37(on )-37(the )-37(type )-37(of )-37(operation )-37(\()]TJ -/TT0 1 Tf -18.967 0 Td -(read)Tj -/T1_1 1 Tf -2.687 0 Td -(or)Tj -/TT0 1 Tf -1.228 0 Td -(write)Tj -/T1_1 1 Tf -[(\), )-37(the )-37(type )-37(of )-37(lock )-37(held )-37(by )-37(the)]TJ --22.883 -1.2 Td -[(other )-199(pr)18(ocess )-199(\(r)19(ead )-199(lock )-199(or )-199(write )-199(lock\), )-199(and )-199(whether )-199(the )-199(descriptor )-199(for )-199(the)]TJ -/TT0 1 Tf -35.21 0 Td -(read)Tj -/T1_1 1 Tf -2.849 0 Td -(or)Tj -/TT0 1 Tf --38.059 -1.2 Td -(write)Tj -/T1_1 1 Tf -3.25 0 Td -[(is nonblocking.)-500(Figur)]TJ -0.25 Tc 9.627 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(4.1)Tj -0.25 Tc 1.195 0 Td -(1s)Tj -0 Tc 1.174 0 Td -(hows the eight possibilities.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1848.25 5052.25 cm -0 0 m -2796 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.09 Tc 7.999 0 0 7.999 198.8361 497.1403 Tm -(Ty)Tj -0 Tc 1.079 0 Td -[(pe of existing)-3707(Blocking descriptor)]TJ -2.4505 Tc 18.196 0 Td -(,N)Tj -0 Tc 3.532 0 Td -[(onblocking descriptor)74(,)]TJ --9.208 -1.25 Td -(tries to)Tj -12.216 0 Td -(tries to)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2719.25 4832.25 cm -0 0 m -1925 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 192.8013 486.1125 Tm -[(lock on r)18(egion held)]TJ -0.639 -1.375 Td -[(by other pr)18(ocess)]TJ -/TT0 1 Tf -10.978 0 Td -[(read )-2808(write )-2808(read )-2808(write)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1848.25 4712.25 cm -0 0 m -2796 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1848.25 4692.25 cm -0 0 m -2796 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.018 Tc 7.9981 0 0 7.9981 210.6054 461.0893 Tm -(re)Tj -0 Tc 0.856 0 Td -(ad lock)Tj -8.977 0 Td -[(OK )-3695(blocks )-3695(OK)]TJ -/TT0 1 Tf -17.28 0 Td -(EAGAIN)Tj -/T1_1 1 Tf --27.292 -1.25 Td -[(write lock)-4949(blocks )-3044(blocks)]TJ -/TT0 1 Tf -21.185 0 Td -[(EAGAIN )-1908(EAGAIN)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1848.25 4472.25 cm -0 0 m -2796 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4175.25 4472.25 cm -0 0 m -0 360 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3686.25 4472.25 cm -0 0 m -0 580 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3198.25 4472.25 cm -0 0 m -0 360 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2699.25 4472.25 cm -0 0 m -0 580 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2719.25 4472.25 cm -0 0 m -0 580 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4644.25 4472.25 cm -0 0 m -0 580 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1848.25 4472.25 cm -0 0 m -0 580 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 176.8909 429.0713 Tm -[(Figure 14.1)37(1)]TJ -/T1_1 1 Tf -6.158 0 Td -[(Ef)18(fect of mandatory locking on)]TJ -/TT0 1 Tf -13.93 0 Td -(read)Tj -/T1_1 1 Tf -0.25 Tc (sa)Tj -0 Tc 3.574 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(write)Tj -/T1_1 1 Tf -[(s)-250(by)-250(other pr)18(ocesses)]TJ -9.997 0 0 9.997 147.5561 402.6792 Tm -[(In )-24(addition )-24(to )-24(the)]TJ -/TT0 1 Tf -8.033 0 Td -(read)Tj -/T1_1 1 Tf -2.674 0 Td -(and)Tj -/TT0 1 Tf -1.967 0 Td -(write)Tj -/T1_1 1 Tf -3.274 0 Td -[(functions )-24(in )-24(Figur)]TJ -0.2743 Tc 7.936 0 Td -(e1)Tj -0 Tc 1.253 0 Td -[(4.1)55(1, )-24(the)]TJ -/TT0 1 Tf -3.881 0 Td -(open)Tj -/T1_1 1 Tf -2.674 0 Td -[(function )-24(can)]TJ --33.493 -1.2 Td -[(be )-320(af)18(fected )-320(by )-320(mandatory )-320(r)18(ecor)]TJ -0.5699 Tc 15.03 0 Td -(dl)Tj -0 Tc 1.472 0 Td -[(ocks )-320(held )-320(by )-320(another )-320(pr)18(ocess. )-570(Normally)111(,)]TJ -/TT0 1 Tf -20.099 0 Td -(open)Tj -/T1_1 1 Tf --36.6 -1.2 Td -[(succeeds, )-131(even )-131(if )-131(the )-131(\336le )-131(being )-131(opened )-131(has )-131(outstanding )-131(mandatory )-131(r)19(ecor)]TJ -0.3809 Tc 33.192 0 Td -(dl)Tj -0 Tc 1.283 0 Td -[(ocks. )-381(The)]TJ --34.475 -1.2 Td -(next)Tj -/TT0 1 Tf -2.177 0 Td -(read)Tj -/T1_1 1 Tf -2.674 0 Td -(or)Tj -/TT0 1 Tf -1.215 0 Td -(write)Tj -/T1_1 1 Tf -3.274 0 Td -[(follows )-24(the )-24(r)8(ules )-24(listed )-24(in )-24(Figur)]TJ -0.2739 Tc 13.884 0 Td -(e1)Tj -0 Tc 1.253 0 Td -[(4.1)55(1. )-274(But)-274(if )-24(the )-24(\336le )-24(being )-24(opened)]TJ --24.476 -1.2 Td -[(has )-152(outstanding )-152(mandatory )-152(r)18(ecor)]TJ -0.402 Tc 15.181 0 Td -(dl)Tj -0 Tc 1.304 0 Td -[(ocks )-152(\(either )-152(r)18(ead )-152(locks )-152(or )-152(write )-152(locks\), )-152(and )-152(if )-152(the)]TJ --16.485 -1.2 Td -(\337ags in the call to)Tj -/TT0 1 Tf -7.997 0 Td -(open)Tj -/T1_1 1 Tf -2.65 0 Td -(specify either)Tj -/TT0 1 Tf -6.181 0 Td -(O_TRUNC)Tj -/T1_1 1 Tf -4.45 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(O_CREAT)Tj -/T1_1 1 Tf -0.2503 Tc (,t)Tj -0 Tc 5.026 0 Td -(hen)Tj -/TT0 1 Tf -1.893 0 Td -(open)Tj -/T1_1 1 Tf --0.018 Tc 2.65 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns an err)17(or)]TJ --32.895 -1.2 Td -(of)Tj -/TT0 1 Tf -1.129 0 Td -(EAGAIN)Tj -/T1_1 1 Tf -3.85 0 Td -(immediately)Tj -0.25 Tc 5.479 0 Td -(,r)Tj -0 Tc 0.877 0 Td -[(egar)18(dless of whether)]TJ -/TT0 1 Tf -9.447 0 Td -(O_NONBLOCK)Tj -/T1_1 1 Tf -6.25 0 Td -(is speci\336ed.)Tj -7.9976 0 0 7.9976 183.5439 310.7068 Tm -[(Only )-121(Solaris )-121(tr)18(eats )-121(the)]TJ -/TT0 1 Tf -10.491 0 Td -(O_CREAT)Tj -/T1_1 1 Tf -4.571 0 Td -[(\337ag )-121(as )-121(an )-121(err)17(or )-121(case.)-621(Linux )-121(allows )-121(the)]TJ -/TT0 1 Tf -18.055 0 Td -(O_CREAT)Tj -/T1_1 1 Tf -4.571 0 Td -[(\337ag )-121(to )-121(be)]TJ --37.69 -1.25 Td -[(speci\336ed )-15(when )-15(opening )-15(a )-15(\336le )-15(with )-15(an )-15(outstanding )-15(mandatory )-15(lock.)-516(Generating )-15(the)]TJ -/TT0 1 Tf -37.143 0 Td -(open)Tj -/T1_1 1 Tf -2.665 0 Td -[(err)18(or)]TJ --39.808 -1.25 Td -(for)Tj -/TT0 1 Tf -1.675 0 Td -(O_TRUNC)Tj -/T1_1 1 Tf -4.601 0 Td -[(makes )-151(sense, )-151(because )-151(the )-151(\336le )-151(cannot )-151(be )-151(tr)8(uncated )-151(if )-151(it )-151(is )-151(r)18(ead )-151(locked )-151(or )-151(write)]TJ --6.276 -1.25 Td -[(locked )-7(by )-7(another )-7(pr)18(ocess. )-257(Generating)-257(the )-7(err)18(or )-7(for)]TJ -/TT0 1 Tf -23.102 0 Td -(O_CREAT)Tj -/T1_1 1 Tf -0.257 Tc (,h)Tj -0 Tc 5.289 0 Td -(owever)Tj -0.257 Tc 3.224 0 Td -(,m)Tj -0 Tc 1.39 0 Td -[(akes )-7(little )-7(sense; )-7(this)]TJ --33.005 -1.25 Td -[(\337ag )-48(says )-48(to )-48(cr)19(eate )-48(the )-48(\336le )-48(only )-48(if )-48(it )-48(doesn\325t )-48(alr)18(eady )-48(exist, )-48(but )-48(it )-48(has )-48(to )-48(exist )-48(to )-48(be )-48(r)24(ecor)]TJ -0.2976 Tc 38.164 0 Td -(dl)Tj -0 Tc 1.2 0 Td -(ocked)Tj --39.364 -1.25 Td -[(by another pr)18(ocess.)]TJ -9.997 0 0 9.997 147.5547 238.7284 Tm -[(This )-95(handling )-95(of )-95(locking )-95(con\337icts )-95(with)]TJ -/TT0 1 Tf -17.82 0 Td -(open)Tj -/T1_1 1 Tf -2.745 0 Td -[(can )-95(lead )-95(to )-95(surprising )-95(r)16(esults. )-345(While)]TJ --22.365 -1.2 Td -[(developing )-229(the )-229(exer)18(cises )-229(in )-229(this )-229(section, )-229(a )-229(test )-229(pr)15(ogram )-229(was )-229(r)8(un )-229(that )-229(opened )-229(a )-229(\336le)]TJ -T* -[(\(whose )-2(mode )-2(speci\336ed )-2(mandatory )-2(locking\), )-2(established )-2(a )-2(r)18(ead )-2(lock )-2(on )-2(an )-2(entir)]TJ -0.252 Tc 34.699 0 Td -(e\336)Tj -0 Tc 1.336 0 Td -[(le, )-2(and)]TJ --36.035 -1.2 Td -[(then )-13(went )-13(to )-13(sleep )-13(for )-13(a )-13(while.)-513(\(Recall )-13(fr)18(om )-13(Figur)]TJ -0.2629 Tc 21.982 0 Td -(e1)Tj -0 Tc 1.242 0 Td -(4.1)Tj -0.2629 Tc 1.195 0 Td -(1t)Tj -0 Tc 1.089 0 Td -[(hat )-13(a )-13(r)18(ead )-13(lock )-13(should )-13(pr)19(event)]TJ --25.507 -1.2 Td -[(writing )-41(to )-41(the )-41(\336le )-41(by )-41(other )-41(pr)18(ocesses.\) )-291(During)-291(this )-41(sleep )-41(period, )-41(the )-41(following )-41(behavior)]TJ -T* -[(was seen in other typical UNIX System pr)18(ograms.)]TJ -0.883 Tc 1.8 -2.04 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-46(same )-46(\336le )-46(could )-46(be )-46(edited )-46(with )-46(the)]TJ -/TT0 1 Tf -16.837 0 Td -(ed)Tj -/T1_1 1 Tf -1.496 0 Td -(editor)Tj -0.2964 Tc 2.574 0 Td -(,a)Tj -0 Tc 1.046 0 Td -[(nd )-46(the )-46(r)18(esults )-46(written )-46(back )-46(to)]TJ --22.567 -1.2 Td -[(disk! )-337(The)-338(mandatory )-87(r)18(ecor)]TJ -0.3374 Tc 12.218 0 Td -(dl)Tj -0 Tc 1.239 0 Td -[(ocking )-87(had )-87(no )-87(ef)18(fect )-87(at )-87(all.)-587(Using )-87(the )-87(system )-87(call)]TJ --13.458 -1.2 Td -[(trace )-10(featur)]TJ -0.2605 Tc 5.022 0 Td -(ep)Tj --0.018 Tc 1.341 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vided )-10(by )-10(some )-10(versions )-10(of )-10(the )-10(UNIX )-10(System, )-10(it )-10(was )-10(seen )-10(that)]TJ -/TT0 1 Tf -27.225 0 Td -(ed)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47446 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.10)]TJ -/TT0 1 Tf -30.286 0 Td -(alarm)Tj -/T1_0 1 Tf -3.5 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(pause)Tj -/T1_0 1 Tf -3.5 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(341)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.902 TD -[(unsigned int)-2400(sleep2\(unsigned int\);)]TJ -0 -1.189 TD -[(static void)-3000(sig_int\(int\);)]TJ -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(unsigned int)-2400(unslept;)]TJ -0 -1.902 TD -(if \(signal\(SIGINT, sig_int\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("signal\(SIGINT\) error"\);)Tj --2.4 -1.189 Td -(unslept = sleep2\(5\);)Tj -0 -1.189 TD -(printf\("sleep2 returned: %u\\n", unslept\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(static void)Tj -0 -1.189 TD -(sig_int\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -[(i,)-600(j;)]TJ --9.6 -1.189 Td -[(volatile int)-2400(k;)]TJ -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*T)Tj -0 Tc 1.8 0 Td -(une these loops to run for more than 5 seconds)Tj --1.8 -1.189 Td -[(*)-600(on)-600(whatever system this test program is run.)]TJ -0 -1.189 TD -(*/)Tj --0.6 -1.189 Td -(printf\("\\nsig_int starting\\n"\);)Tj -0 -1.189 TD -(for \(i = 0; i < 300000; i++\))Tj -2.4 -1.189 Td -(for \(j = 0; j < 4000; j++\))Tj -2.4 -1.189 Td -[(k)-600(+=)-600(i)-600(*)-600(j;)]TJ --4.8 -1.189 Td -(printf\("sig_int finished\\n"\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3337.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 199.2121 317.6599 Tm -(Figure 10.9)Tj -/T1_0 1 Tf -5.695 0 Td -(Calling)Tj -/TT0 1 Tf -3.47 0 Td -(sleep2)Tj -/T1_0 1 Tf -3.85 0 Td -[(fr)18(om a pr)18(ogram that catches other signals)]TJ -9.9988 0 0 9.9988 147.5827 293.6628 Tm -[(When )-194(we )-194(execute )-194(the )-194(pr)18(ogram )-194(shown )-194(in )-194(Figur)]TJ -0.4436 Tc 21.856 0 Td -(e1)Tj -0 Tc 1.423 0 Td -[(0.9 )-194(and )-194(interr)9(upt )-194(the )-194(sleep )-194(by)]TJ --25.079 -1.2 Td -[(typing the interr)8(upt character)74(,)-250(we)-250(get the following output:)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5827 264.9662 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj --1.2 -1.189 Td -(\366C)Tj -/T1_2 1 Tf -16 0 Td -(we type the interrupt character)Tj -/TT0 1 Tf --16 -1.189 Td -(sig_int starting)Tj -0 -1.189 TD -(sleep2 returned: 0)Tj -/T1_0 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5848 214.8722 Tm -[(We )-456(c)]TJ -0 Tc 2.353 0 Td -[(an )-272(see )-272(that )-272(the)]TJ -/TT0 1 Tf -7.672 0 Td -(longjmp)Tj -/T1_0 1 Tf -4.722 0 Td -[(fr)18(om )-272(the)]TJ -/TT0 1 Tf -4.569 0 Td -(sleep2)Tj -/T1_0 1 Tf -4.122 0 Td -[(function )-272(aborted )-272(the )-272(other )-272(signal)]TJ --23.437 -1.2 Td -[(handler)74(,)]TJ -/TT0 1 Tf -3.908 0 Td -(sig_int)Tj -/T1_0 1 Tf -0.2924 Tc (,e)Tj -0 Tc 5.221 0 Td -[(ven )-42(though )-42(it )-42(wasn\325t )-42(\336nished.)-544(This )-42(is )-42(what )-42(you\325ll )-42(encounter )-42(if )-42(you)]TJ --9.13 -1.2 Td -(mix the SVR2)Tj -/TT0 1 Tf -6.242 0 Td -(sleep)Tj -/T1_0 1 Tf -3.25 0 Td -[(function with other signal handling.)-500(See Exer)18(cise 10.3.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1909.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 147.5734 166.868 Tm -[(The )-32(purpose )-32(of )-32(the)]TJ -/TT0 1 Tf -8.716 0 Td -(sleep1)Tj -/T1_0 1 Tf -3.882 0 Td -(and)Tj -/TT0 1 Tf -1.975 0 Td -(sleep2)Tj -/T1_0 1 Tf -3.882 0 Td -[(examples )-32(is )-32(to )-32(show )-32(the )-32(pitfalls )-32(in )-32(dealing)]TJ --20.254 -1.2 Td -[(naively )-23(with )-23(signals.)-523(The )-23(following )-23(sections )-23(will )-23(show )-23(ways )-23(ar)20(ound )-23(all )-23(these )-23(pr)19(oblems,)]TJ -0 -1.2 Td -[(so we can handle signals r)18(eliably)]TJ -0.25 Tc 14.399 0 Td -(,w)Tj -0 Tc 1.334 0 Td -(ithout interfering with other pieces of code.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47447 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(320)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(SIGPROF)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-61(signal )-61(is )-61(marked )-61(obsolescent )-61(in )-61(SUSv4, )-61(so )-61(it )-61(might )-61(be )-61(r)17(emoved )-61(in )-61(a)]TJ -0 -1.2 TD -(futur)Tj -0.2924 Tc 2.242 0 Td -(ev)Tj -0 Tc 1.336 0 Td -[(ersion )-42(of )-42(the )-42(standar)17(d. )-292(This)-293(signal )-42(is )-42(generated )-42(when )-42(a )-42(pr)17(o\336ling)]TJ --3.578 -1.2 Td -(interval timer set by the)Tj -/TT0 1 Tf -10.778 0 Td -(setitimer)Tj -/T1_1 1 Tf -5.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -[(function expir)18(es.)]TJ -/TT0 1 Tf --24.176 -1.84 Td -(SIGPWR)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-50(signal )-50(is )-50(system )-50(dependent.)-550(Its )-50(main )-50(use )-50(is )-50(on )-50(a )-50(system )-50(that )-50(has )-50(an)]TJ -T* -[(uninterr)8(uptible )-95(power )-95(supply)]TJ -13.754 0.04 Td -(\()Tj -0.333 -0.04 Td -(UPS)Tj -1.907 0.04 Td -(\))Tj -0.5947 Tc 0.333 -0.04 Td -(.I)Tj -0.3447 Tc 1.182 0 Td -(fp)Tj -0 Tc 1.279 0 Td -[(ower )-95(fails, )-95(the )-95(UPS )-95(takes )-95(over)]TJ --18.788 -1.2 Td -[(and )-126(the )-126(softwar)]TJ -0.3763 Tc 7.173 0 Td -(ec)Tj -0 Tc 1.299 0 Td -[(an )-126(usually )-126(be )-126(noti\336ed.)-627(Nothing )-126(needs )-126(to )-126(be )-126(done )-126(at)]TJ --8.472 -1.2 Td -[(this )-70(point, )-70(as )-70(the )-70(system )-70(continues )-70(r)8(unning )-70(on )-70(battery )-70(power)]TJ -0.5701 Tc 27.407 0 Td -(.B)Tj -0 Tc 1.431 0 Td -[(ut )-70(if )-70(the)]TJ --28.838 -1.2 Td -[(battery )-19(gets )-19(low )-19(\(for )-19(example, )-19(if )-19(the )-19(power )-19(is )-19(of)]TJ -0.2693 Tc 21.063 0 Td -(ff)Tj -0 Tc 0.935 0 Td -[(or )-19(an )-19(extended )-19(period\),)]TJ --21.998 -1.2 Td -[(the )-285(softwar)18(e)-535(is)-535(usually )-285(noti\336ed )-285(again; )-285(at )-285(this )-285(point, )-285(it )-285(behooves )-285(the)]TJ -T* -[(system )-94(to )-94(shut )-94(everything )-94(down.)-594(This )-94(is )-94(when)]TJ -/TT0 1 Tf -21.636 0 Td -(SIGPWR)Tj -/T1_1 1 Tf -3.944 0 Td -[(should )-94(be )-94(sent.)]TJ --25.58 -1.2 Td -[(On )-15(most )-15(systems, )-15(the )-15(pr)20(ocess )-14(that )-14(is )-14(noti\336ed )-14(of )-14(the )-14(low-battery )-14(condition)]TJ -T* -[(sends )-215(the)]TJ -/TT0 1 Tf -4.837 0 Td -(SIGPWR)Tj -/T1_1 1 Tf -4.065 0 Td -[(signal )-215(to )-215(the)]TJ -/TT0 1 Tf -6.298 0 Td -(init)Tj -/T1_1 1 Tf -2.865 0 Td -[(pr)18(ocess, )-215(and)]TJ -/TT0 1 Tf -6.168 0 Td -(init)Tj -/T1_1 1 Tf -2.865 0 Td -[(handles )-215(the)]TJ --27.097 -1.2 Td -(system shutdown.)Tj -7.9995 0 0 7.9995 237.5857 498.5701 Tm -[(Solaris )-148(10 )-148(and )-148(some )-148(Linux )-148(distributions )-148(have )-148(entries )-148(in )-148(the)]TJ -/TT0 1 Tf -27.605 0 Td -(inittab)Tj -/T1_1 1 Tf -4.598 0 Td -[(\336le )-148(for)]TJ --32.203 -1.25 Td -(this purpose:)Tj -/TT0 1 Tf -6.022 0 Td -(powerfail)Tj -/T1_1 1 Tf -5.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(powerwait)Tj -/T1_1 1 Tf -5.65 0 Td -(\(or)Tj -/TT0 1 Tf -1.524 0 Td -(powerokwait)Tj -/T1_1 1 Tf -(\).)Tj --20.789 -2.25 Td -[(In )-90(Figur)]TJ -0.3403 Tc 3.642 0 Td -(e1)Tj -0 Tc 1.319 0 Td -[(0.1, )-90(we )-90(labeled )-90(the )-90(default )-90(action )-90(for)]TJ -/TT0 1 Tf -16.893 0 Td -(SIGPWR)Tj -/T1_1 1 Tf -3.94 0 Td -[(as )-90(either )-90(\324)36(\324terminate\325)37(\325)]TJ --25.794 -1.25 Td -[(or )-35(\324)37(\324ignor)18(e.\325)]TJ -0.535 Tc 5.067 0 Td -(\325U)Tj -0 Tc 1.591 0 Td -(nfortunately)Tj -0.285 Tc 5.408 0 Td -(,t)Tj -0 Tc 0.861 0 Td -[(he )-35(default )-35(depends )-35(on )-35(the )-35(system.)-535(The )-35(default )-35(on)]TJ --12.927 -1.25 Td -[(Linux is to terminate the pr)18(ocess. )-250(On)-250(Solaris, the signal is ignor)18(ed by default.)]TJ -/TT0 1 Tf -9.9994 0 0 9.9994 129.5917 428.5743 Tm -(SIGQUIT)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-321(signal )-321(is )-321(generated )-321(by )-321(the )-321(terminal )-321(driver )-321(when )-321(we )-321(pr)18(ess )-321(the)]TJ -T* -[(terminal )-235(quit )-235(key )-235(\(often )-235(Contr)18(ol-backslash\). )-485(This)-485(signal )-235(is )-235(sent )-235(to )-235(all)]TJ --0 -1.2 Td -[(pr)18(ocesses )-235(in )-235(the )-235(for)18(egr)18(ound )-235(pr)18(ocess )-235(gr)18(oup )-235(\(r)18(efer )-235(to )-235(Figur)]TJ -0.4849 Tc 26.976 0 Td -(e9)Tj -0 Tc 1.464 0 Td -[(.9\). )-485(This)]TJ --28.44 -1.2 Td -[(signal )-413(not )-413(only )-413(terminates )-413(the )-413(for)18(egr)18(ound )-413(pr)18(ocess )-413(gr)18(oup )-413(\(as )-413(does)]TJ -/TT0 1 Tf --0 -1.2 Td -(SIGINT)Tj -/T1_1 1 Tf -(\), but also generates a)Tj -/TT0 1 Tf -13.396 0 Td -(core)Tj -/T1_1 1 Tf -2.65 0 Td -(\336le.)Tj -/TT0 1 Tf --22.628 -1.84 Td -(SIGSEGV)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-307(signal )-307(indicates )-307(that )-307(the )-307(pr)18(ocess )-307(has )-307(made )-307(an )-307(invalid )-307(memory)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(ence )-139(\(which )-139(is )-139(usually )-139(a )-139(sign )-139(that )-139(the )-139(pr)14(ogram )-139(has )-139(a )-139(bug, )-139(such )-139(as)]TJ --0.856 -1.2 Td -[(der)18(efer)18(encing an uninitialized pointer\).)]TJ -7.9995 0 0 7.9995 237.5852 318.1809 Tm -[(The name SEGV stands for \324)37(\324segmentation violation.\325)37(\325)]TJ -/TT0 1 Tf -9.9994 0 0 9.9994 129.5917 297.1822 Tm -(SIGSTKFLT)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-317(signal )-317(is )-317(de\336ned )-317(only )-317(by )-317(Linux.)-818(It )-317(showed )-317(up )-317(in )-317(the )-317(earliest)]TJ -T* -[(versions )-14(of )-14(Linux, )-14(wher)19(e)-264(it)-264(w)1(as )-14(intended )-14(to )-14(be )-14(used )-14(for )-14(stack )-14(faults )-14(taken)]TJ -0 -1.2 Td -[(by )-70(the )-70(math )-70(copr)18(ocessor)]TJ -0.5699 Tc 10.899 0 Td -(.T)Tj -0 Tc 1.433 0 Td -[(his )-70(signal )-70(is )-70(not )-70(generated )-70(by )-70(the )-70(kernel, )-70(but)]TJ --0.018 Tc -12.332 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(mains for backwar)Tj -0.25 Tc 8.218 0 Td -(dc)Tj -0 Tc 1.305 0 Td -[(ompatibility)111(.)]TJ -/TT0 1 Tf --16.961 -1.84 Td -(SIGSTOP)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-15(job-contr)18(ol )-15(signal )-15(stops )-15(a )-15(pr)17(ocess. )-265(It)-265(is )-15(similar )-15(to )-15(the )-15(interactive )-15(stop)]TJ -0 -1.2 Td -(signal \()Tj -/TT0 1 Tf -(SIGTSTP)Tj -/T1_1 1 Tf -(\), but)Tj -/TT0 1 Tf -9.992 0 Td -(SIGSTOP)Tj -/T1_1 1 Tf -4.45 0 Td -[(cannot be caught or ignor)18(ed.)]TJ -/TT0 1 Tf --21.024 -1.84 Td -(SIGSYS)Tj -/T1_1 1 Tf -6.582 0 Td -[(This )-194(signals )-194(an )-194(invalid )-194(system )-194(call.)-692(Somehow)]TJ -0.4437 Tc 21.274 0 Td -(,t)Tj -0 Tc 1.02 0 Td -[(he )-194(pr)18(ocess )-194(executed )-194(a)]TJ --22.294 -1.2 Td -[(machine )-153(instr)8(uction )-153(that )-153(the )-153(kernel )-153(thought )-153(was )-153(a )-153(system )-153(call, )-153(but )-153(the)]TJ -T* -[(parameter )-55(with )-55(the )-55(instr)8(uction )-55(that )-55(indicates )-55(the )-55(type )-55(of )-55(system )-55(call )-55(was)]TJ -T* -[(invalid. )-483(This)-484(might )-233(happen )-233(if )-233(you )-233(build )-233(a )-233(pr)16(ogram )-233(that )-233(uses )-233(a )-233(new)]TJ -0 -1.2 Td -[(system )-60(call )-60(and )-60(you )-60(then )-60(try )-60(to )-60(r)5(un )-61(the )-61(same )-61(binary )-61(on )-61(an )-61(older )-61(version)]TJ -T* -(of the operating system wher)Tj -0.25 Tc 12.906 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he system call doesn\325t exist.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47448 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(662)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 194.3883 670.2598 Tm -(return;)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(log_quit\("can\325t find client entry for fd %d", fd\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6227.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 230.8803 606.6262 Tm -(Figure 17.27)Tj -/T1_1 1 Tf -6.195 0 Td -(Functions to manipulate)Tj -/TT0 1 Tf -11.032 0 Td -(client)Tj -/T1_1 1 Tf -3.85 0 Td -(array)Tj -9.9988 0 0 9.9988 147.5824 582.6291 Tm -[(The )-145(\336rst )-145(time)]TJ -/TT0 1 Tf -6.587 0 Td -(client_add)Tj -/T1_1 1 Tf -6.395 0 Td -[(is )-145(called, )-145(it )-145(calls)]TJ -/TT0 1 Tf -7.727 0 Td -(client_alloc)Tj -/T1_1 1 Tf -0.3948 Tc (,w)Tj -0 Tc 8.679 0 Td -[(hich )-145(in )-145(turn )-145(calls)]TJ -/TT0 1 Tf --31.187 -1.2 Td -(malloc)Tj -/T1_1 1 Tf -3.962 0 Td -[(to )-112(allocate )-112(space )-112(for )-112(ten )-112(entries )-112(in )-112(the )-112(array)]TJ -0.6122 Tc 19.727 0 Td -(.A)Tj -0 Tc 1.64 0 Td -[(fter )-112(these )-112(ten )-112(entries )-112(ar)]TJ -0.3622 Tc 10.512 0 Td -(ea)Tj -0 Tc 1.341 0 Td -[(ll )-112(in)]TJ --37.183 -1.2 Td -[(use, )-281(a )-281(later )-281(call )-281(to)]TJ -/TT0 1 Tf -9.298 0 Td -(client_add)Tj -/T1_1 1 Tf -6.531 0 Td -(causes)Tj -/TT0 1 Tf -3.405 0 Td -(realloc)Tj -/T1_1 1 Tf -4.731 0 Td -[(to )-281(allocate )-281(additional )-281(space.)-780(By)]TJ --23.964 -1.2 Td -[(dynamically )-15(allocating )-15(space )-15(this )-15(way)111(,)-265(we)-265(have )-15(not )-15(limited )-15(the )-15(size )-15(of )-15(the)]TJ -/TT0 1 Tf -32.789 0 Td -(client)Tj -/T1_1 1 Tf -3.865 0 Td -(array)Tj --36.654 -1.2 Td -[(at )-66(compile )-66(time )-66(to )-66(some )-66(value )-66(that )-66(we )-66(guessed )-66(and )-66(put )-66(into )-66(a )-66(header)]TJ -0.5665 Tc 31.16 0 Td -(.T)Tj -0 Tc 1.429 0 Td -[(hese )-66(functions)]TJ --32.589 -1.2 Td -[(call )-24(the)]TJ -/TT0 1 Tf -3.461 0 Td -(log_)Tj -/T1_1 1 Tf -2.674 0 Td -[(functions )-24(\(Appendix )-24(B\) )-24(if )-24(an )-24(err)18(or )-24(occurs, )-24(since )-24(we )-24(assume )-24(that )-24(the )-24(server)]TJ --6.136 -1.2 Td -(is a daemon.)Tj -1.8 -1.2 Td -[(Normally )-93(the )-93(server )-93(will )-93(r)8(un )-93(as )-93(a )-93(daemon, )-93(but )-93(we )-93(want )-93(to )-93(pr)18(ovide )-93(an )-93(option )-93(that)]TJ --1.8 -1.2 Td -[(allows )-159(it )-159(to )-159(be )-159(r)8(un )-159(in )-159(the )-159(for)17(egr)18(ound, )-159(with )-159(diagnostic )-159(messages )-159(sent )-159(to )-159(the )-159(standar)18(d)]TJ --0 -1.2 Td -[(err)18(or)]TJ -0.5414 Tc 2.118 0 Td -(.T)Tj -0 Tc 1.404 0 Td -[(his )-41(should )-41(make )-41(the )-41(server )-41(easier )-41(to )-41(test )-41(and )-41(debug, )-41(especially )-41(if )-41(we )-41(don\325t )-41(have)]TJ --3.522 -1.2 Td -[(permission )-194(to )-194(r)18(ead )-194(the )-194(log )-194(\336le )-194(wher)]TJ -0.4441 Tc 16.847 0 Td -(et)Tj -0 Tc 1.249 0 Td -[(he )-194(diagnostic )-194(messages )-194(ar)]TJ -0.444 Tc 12.01 0 Td -(en)Tj -0 Tc 1.505 0 Td -[(ormally )-194(written.)]TJ --0.092 Tc -31.611 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-87(use )-87(a )-87(command)]TJ -8.325 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-87(option )-87(to )-87(contr)19(ol )-87(whether )-87(the )-87(server )-87(r)8(uns )-87(in )-87(the )-87(for)19(egr)18(ound)]TJ --10.045 -1.2 Td -[(or as a daemon in the backgr)18(ound.)]TJ -1.8 -1.2 Td -[(It )-8(is )-8(important )-8(that )-8(all )-8(commands )-8(on )-8(a )-8(system )-8(follow )-8(the )-8(same )-8(conventions, )-8(because)]TJ --1.8 -1.2 Td -[(this )-233(makes )-233(them )-233(easier )-233(to )-233(use.)-731(If )-233(someone )-233(is )-233(familiar )-233(with )-233(the )-233(way )-233(command)]TJ -37.024 0.09 Td -(-)Tj -0.333 -0.09 Td -(line)Tj --37.357 -1.2 Td -[(options )-143(ar)]TJ -0.3934 Tc 4.586 0 Td -(ef)Tj -0 Tc 1.205 0 Td -[(ormed )-143(with )-143(one )-143(command, )-143(it )-143(would )-143(cr)18(eate )-143(mor)]TJ -0.3934 Tc 21.92 0 Td -(ec)Tj -0 Tc 1.316 0 Td -[(hances )-143(for )-143(mistakes )-143(if)]TJ --29.028 -1.2 Td -[(another command followed dif)18(fer)18(ent conventions.)]TJ -1.8 -1.2 Td -[(This )-39(pr)18(oblem )-39(is )-39(sometimes )-39(visible )-39(when )-39(dealing )-39(with )-39(white )-39(space )-39(on )-39(the )-39(command)]TJ --1.8 -1.2 Td -[(line. )-325(Some)-325(commands )-75(r)18(equir)]TJ -0.3249 Tc 13.111 0 Td -(et)Tj -0 Tc 1.13 0 Td -[(hat )-75(an )-75(option )-75(be )-75(separated )-75(fr)18(om )-75(its )-75(ar)18(gument )-75(by )-75(white)]TJ --14.241 -1.2 Td -[(space, )-20(but )-20(other )-20(commands )-20(r)18(equir)]TJ -0.2701 Tc 15.148 0 Td -(et)Tj -0 Tc 1.075 0 Td -[(he )-20(ar)18(gument )-20(to )-20(follow )-20(immediately )-20(after )-20(its )-20(option,)]TJ --16.223 -1.2 Td -[(without )-40(any )-40(intervening )-40(spaces.)]TJ --0.055 Tc 14.806 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(thout )-40(a )-40(consistent )-40(set )-40(of )-40(r)8(ules )-40(to )-40(follow)]TJ -0.29 Tc 17.251 0 Td -(,u)Tj -0 Tc 1.143 0 Td -[(sers )-40(either)]TJ --34.436 -1.2 Td -[(have )-205(to )-205(memorize )-205(the )-205(syntax )-205(of )-205(all )-205(commands )-205(or )-205(r)18(esort )-205(to )-205(a )-205(trial-and-err)18(or )-205(pr)21(ocess)]TJ -0 -1.2 TD -(when invoking them.)Tj -1.8 -1.2 Td -[(The )-188(Single )-188(UNIX )-188(Speci\336cation )-188(includes )-188(a )-188(set )-188(of )-188(conventions )-188(and )-188(guidelines )-188(that)]TJ --1.8 -1.2 Td -[(pr)18(omote )-127(consistent )-127(command)]TJ -13.386 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-127(syntax.)-628(They )-128(include )-128(such )-128(suggestions )-128(as )-128(\324)39(\324Restrict)]TJ --13.719 -1.2 Td -[(each )-16(command)]TJ -6.72 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-16(option )-16(to )-16(a )-16(single )-16(alphanumeric )-16(character)]TJ --0.037 Tc 20.418 0 Td -[(\325\325 )-90(a)]TJ -0 Tc 1.285 0 Td -[(nd )-16(\324)37(\324All )-16(options )-16(should)]TJ --28.756 -1.2 Td -[(be pr)18(eceded by a)]TJ -/TT1 1 Tf -7.722 0 Td -(!)Tj -/T1_1 1 Tf -0.799 0 Td -[(character)74(.\325)37(\325)]TJ --6.721 -1.2 Td -(Luckily)Tj -0.7906 Tc 3.241 0 Td -(,t)Tj -0 Tc 1.367 0 Td -(he)Tj -/TT0 1 Tf -1.852 0 Td -(getopt)Tj -/T1_1 1 Tf -4.391 0 Td -[(function )-541(exists )-541(to )-541(help )-541(command )-541(developers )-541(pr)20(ocess)]TJ --12.65 -1.2 Td -(command)Tj -4.449 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line options in a consistent manner)74(.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5832 227.5721 Tm -(#include )Tj -0 -1.902 TD -(int getopt\(int)Tj -/T1_2 1 Tf -9 0 Td -[(ar)18(gc)]TJ -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.522 0 Td -(har * const)Tj -/T1_2 1 Tf -7.2 0 Td -[(ar)18(gv)]TJ -/TT0 1 Tf -([], const char *)Tj -/T1_2 1 Tf -(options)Tj -/TT0 1 Tf -(\);)Tj --19.722 -1.902 Td -(extern int optind, opterr, optopt;)Tj -0 -1.189 TD -(extern char *optarg;)Tj -/T1_1 1 Tf -17.242 -1.902 Td -(Returns: the next option character)Tj -0.25 Tc 14.9 0 Td -(,o)Tj -0 Tc 1.046 0 Td -(r)Tj -/TT1 1 Tf --11.883 -1.189 Td -(!)Tj -/T1_1 1 Tf -0.25 Tc (1w)Tj -0 Tc 2.133 0 Td -[(hen all options have been pr)18(ocessed)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1503.25 cm -0 0 m -0 863 l -3900 863 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47449 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.4)]TJ -32.736 0 Td -[(Passing )-250(File )-250(Descriptors)]TJ -/T1_1 1 Tf -13.097 0 Td -(645)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.09 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(Tw)Tj -0.5663 Tc 1.357 0 Td -(oe)Tj -0 Tc 1.591 0 Td -[(lements )-316(deal )-316(with )-316(the )-316(passing )-316(or )-316(r)16(eceiving )-316(of )-316(contr)18(ol )-316(information.)-818(The)]TJ -/TT0 1 Tf --4.748 -1.2 Td -(msg_control)Tj -/T1_0 1 Tf -6.982 0 Td -[(\336eld )-132(points )-132(to )-132(a)]TJ -/TT0 1 Tf -7.657 0 Td -(cmsghdr)Tj -/T1_0 1 Tf -4.582 0 Td -[(\(contr)18(ol )-132(message )-132(header\) )-132(str)7(uctur)18(e, )-132(and )-132(the)]TJ -/TT0 1 Tf --19.221 -1.2 Td -(msg_controllen)Tj -/T1_0 1 Tf -8.65 0 Td -[(\336eld contains the number of bytes of contr)18(ol information.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 627.1925 Tm -(struct cmsghdr {)Tj -2.4 -1.189 Td -[(socklen_t )-600(cmsg_len;)-2400(/* data byte count, including header */)]TJ -0 -1.189 TD -[(int )-4200(cmsg_level;)-1200(/* originating protocol */)]TJ -T* -[(int )-4200(cmsg_type;)-1800(/* protocol-specific type */)]TJ -T* -(/* followed by the actual control message data */)Tj --2.4 -1.189 Td -(};)Tj -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5909 554.6269 Tm -[(To )-326(s)]TJ -0 Tc 1.883 0 Td -[(end )-142(a )-142(\336le )-142(descriptor)73(,)-392(we)-392(s)-1(et)]TJ -/TT0 1 Tf -13.131 0 Td -(cmsg_len)Tj -/T1_0 1 Tf -5.192 0 Td -[(to )-142(the )-142(size )-142(of )-142(the)]TJ -/TT0 1 Tf -8.181 0 Td -(cmsghdr)Tj -/T1_0 1 Tf -4.592 0 Td -[(str)8(uctur)18(e,)]TJ --34.781 -1.2 Td -[(plus )-472(the )-472(size )-472(of )-472(an )-472(integer )-472(\(the )-472(descriptor\).)-974(The)]TJ -/TT0 1 Tf -25.309 0 Td -(cmsg_level)Tj -/T1_0 1 Tf -6.722 0 Td -[(\336eld )-472(is )-472(set )-472(to)]TJ -/TT0 1 Tf --32.031 -1.2 Td -(SOL_SOCKET)Tj -/T1_0 1 Tf -0.3678 Tc (,a)Tj -0 Tc 7.118 0 Td -(nd)Tj -/TT0 1 Tf -1.561 0 Td -(cmsg_type)Tj -/T1_0 1 Tf -5.768 0 Td -[(is )-118(set )-118(to)]TJ -/TT0 1 Tf -3.919 0 Td -(SCM_RIGHTS)Tj -/T1_0 1 Tf -[(,)-368(to)-368(indicate )-118(that )-118(we )-118(ar)]TJ -0.3679 Tc 16.409 0 Td -(ep)Tj -0 Tc 1.448 0 Td -(assing)Tj --36.223 -1.2 Td -[(access )-105(rights.)-604(\()]TJ -/TT0 1 Tf -(SCM)Tj -/T1_0 1 Tf -8.986 0 Td -[(stands )-105(for)]TJ -/T1_2 1 Tf -4.85 0 Td -[(socket-level )-105(contr)18(ol )-105(message)]TJ -/T1_0 1 Tf -11.393 0 Td -[(.\) )-355(Access)-354(rights )-105(can )-105(be )-105(passed)]TJ --25.23 -1.2 Td -[(only )-48(acr)18(oss )-48(a )-48(UNIX )-48(domain )-48(socket.)-548(The )-48(descriptor )-48(is )-48(stor)18(ed )-48(right )-48(after )-48(the)]TJ -/TT0 1 Tf -33.6 0 Td -(cmsg_type)Tj -/T1_0 1 Tf --33.6 -1.2 Td -[(\336eld, using the macr)18(o)]TJ -/TT0 1 Tf -9.829 0 Td -(CMSG_DATA)Tj -/T1_0 1 Tf -5.65 0 Td -[(to obtain the pointer to this integer)74(.)]TJ --13.679 -1.2 Td -[(Thr)18(ee )-153(macr)18(os )-153(ar)]TJ -0.4029 Tc 7.387 0 Td -(eu)Tj -0 Tc 1.485 0 Td -[(sed )-153(to )-153(access )-153(the )-153(contr)18(ol )-153(data, )-153(and )-153(one )-153(macr)19(o)-403(is)-403(used )-153(to )-153(help)]TJ --10.672 -1.2 Td -(calculate the value to be used for)Tj -/TT0 1 Tf -14.748 0 Td -(cmsg_len)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5908 451.5331 Tm -(#include )Tj -0 -2.14 TD -(unsigned char *CMSG_DATA\(struct cmsghdr *)Tj -/T1_2 1 Tf -(cp)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -13.08 -2.14 Td -(Returns: pointer to data associated with)Tj -/TT0 1 Tf -17.834 0 Td -(cmsghdr)Tj -/T1_0 1 Tf -4.45 0 Td -[(str)8(uctur)18(e)]TJ -/TT0 1 Tf --35.364 -2.14 Td -(struct cmsghdr *CMSG_FIRSTHDR\(struct msghdr *)Tj -/T1_2 1 Tf -(mp)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -15.55 -2.14 Td -(Returns: pointer to \336rst)Tj -/TT0 1 Tf -10.569 0 Td -(cmsghdr)Tj -/T1_0 1 Tf -4.45 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ssociated)Tj --17.808 -1.189 Td -(with the)Tj -/TT0 1 Tf -3.92 0 Td -(msghdr)Tj -/T1_0 1 Tf -3.85 0 Td -[(str)8(uctur)18(e, or)]TJ -/TT0 1 Tf -5.66 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -(if none exists)Tj -/TT0 1 Tf --33.56 -2.14 Td -(struct cmsghdr *CMSG_NXTHDR\(struct msghdr *)Tj -/T1_2 1 Tf -(mp)Tj -/TT0 1 Tf -(,)Tj -16.8 -1.189 Td -(struct cmsghdr *)Tj -/T1_2 1 Tf -(cp)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --3.686 -2.14 Td -(Returns: pointer to next)Tj -/TT0 1 Tf -10.722 0 Td -(cmsghdr)Tj -/T1_0 1 Tf -4.45 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ssociated with)Tj --15.394 -1.189 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(msghdr)Tj -/T1_0 1 Tf -3.85 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(eg)Tj -0 Tc 1.285 0 Td -[(iven the curr)18(ent)]TJ -/TT0 1 Tf -7.26 0 Td -(cmsghdr)Tj -/T1_0 1 Tf --13.792 -1.189 Td -[(str)8(uctur)18(e, or)]TJ -/TT0 1 Tf -5.66 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(if we\325r)18(e)-250(at)-250(the last one)]TJ -/TT0 1 Tf --29.651 -2.14 Td -(unsigned int CMSG_LEN\(unsigned int)Tj -/T1_2 1 Tf -21 0 Td -(nbytes)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --3.963 -2.14 Td -(Returns: size to allocate for data object)Tj -/T1_2 1 Tf -17.213 0 Td -(nbytes)Tj -/T1_0 1 Tf -2.88 0 Td -[(lar)18(ge)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2502.25 cm -0 0 m -0 2103 l -3900 2103 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 183.578 222.6533 Tm -[(The Single UNIX Speci\336cation de\336nes the \336rst thr)18(ee macr)18(os, but omits)]TJ -/TT0 1 Tf -31.331 0 Td -(CMSG_LEN)Tj -/T1_0 1 Tf -(.)Tj -9.9988 0 0 9.9988 129.5844 197.6563 Tm -(The)Tj -/TT0 1 Tf -1.983 0 Td -(CMSG_LEN)Tj -/T1_0 1 Tf -5.109 0 Td -(macr)Tj -0.3089 Tc 2.204 0 Td -(or)Tj -0 Tc 1.232 0 Td -[(eturns )-59(the )-59(number )-59(of )-59(bytes )-59(needed )-59(to )-59(stor)]TJ -0.309 Tc 18.856 0 Td -(ead)Tj -0 Tc 2.208 0 Td -[(ata )-59(object )-59(of )-59(size)]TJ -/T1_2 1 Tf --31.592 -1.2 Td -(nbytes)Tj -/T1_0 1 Tf -0.4701 Tc (,a)Tj -0 Tc 3.85 0 Td -[(fter )-220(adding )-220(the )-220(size )-220(of )-220(the)]TJ -/TT0 1 Tf -12.852 0 Td -(cmsghdr)Tj -/T1_0 1 Tf -4.67 0 Td -[(str)8(uctur)18(e, )-220(adjusting )-220(for )-220(any )-220(alignment)]TJ --21.372 -1.2 Td -[(constraints r)18(equir)18(ed by the pr)18(ocessor ar)18(chitectur)18(e, and r)18(ounding up.)]TJ -1.8 -1.2 Td -[(The )-15(pr)18(ogram )-15(in )-15(Figur)]TJ -0.2655 Tc 9.584 0 Td -(e1)Tj -0 Tc 1.244 0 Td -[(7.13 )-15(is )-15(the)]TJ -/TT0 1 Tf -4.649 0 Td -(send_fd)Tj -/T1_0 1 Tf -4.466 0 Td -[(function, )-16(which )-16(passes )-16(a )-16(\336le )-16(descriptor)]TJ --21.743 -1.2 Td -[(over )-70(a )-70(UNIX )-70(domain )-70(socket.)-570(In )-70(the)]TJ -/TT0 1 Tf -16.33 0 Td -(sendmsg)Tj -/T1_0 1 Tf -4.52 0 Td -[(call, )-70(we )-70(send )-70(both )-70(the )-70(pr)18(otocol )-70(data )-70(\(the)]TJ --20.85 -1.2 Td -[(null and the status byte\) and the descriptor)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47450 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(612)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(The)Tj -/TT0 1 Tf -2.116 0 Td -(recv)Tj -/T1_1 1 Tf -2.842 0 Td -[(function )-192(is )-192(similar )-192(to)]TJ -/TT0 1 Tf -10.138 0 Td -(read)Tj -/T1_1 1 Tf -0.4423 Tc (,b)Tj -0 Tc 3.645 0 Td -[(ut )-192(allows )-192(us )-192(to )-192(specify )-192(some )-192(options )-192(to)]TJ --20.542 -1.2 Td -[(contr)18(ol how we r)18(eceive the data.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 639.0617 Tm -(#include )Tj -0 -2.14 TD -(ssize_t recv\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.262 0 Td -(oid *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 6.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.43 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --6.934 -2.14 Td -(Returns: length of message in bytes,)Tj --15.335 -1.189 Td -[(0)-250(if)-250(no)-250(messages ar)]TJ -0.25 Tc 8.298 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(vailable and peer has done an or)18(derly shutdown,)]TJ -15.626 -1.189 Td -(or)Tj -/TT1 1 Tf -1.191 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5747.25 cm -0 0 m -0 734 l -3900 734 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 559.9128 Tm -[(The )-111(\337ags )-111(that )-111(can )-111(be )-111(passed )-111(to)]TJ -/TT0 1 Tf -14.49 0 Td -(recv)Tj -/T1_1 1 Tf -2.761 0 Td -(ar)Tj -0.3607 Tc 0.877 0 Td -(es)Tj -0 Tc 1.264 0 Td -[(ummarized )-111(in )-111(Figur)]TJ -0.3608 Tc 9.122 0 Td -(e1)Tj -0 Tc 1.34 0 Td -[(6.14. )-361(Only)-361(thr)18(ee )-111(ar)18(e)]TJ --29.854 -1.2 Td -(de\336ned by the Single UNIX Speci\336cation.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1116.25 5256.25 cm -0 0 m -4067 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 364.7463 517.4868 Tm -[(Fr)18(eeBSD )-1416(Linux)-1382(Mac OS X)-1198(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-2993(3.2.0)-2618(10.6.8 )-2868(10)]TJ --28.579 0.625 Td -(Flag)Tj -11.875 0 Td -(Description)Tj -10.626 0 Td -(POSIX.1)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1116.25 5036.25 cm -0 0 m -4067 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1116.25 5016.25 cm -0 0 m -4067 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 115.5723 493.4616 Tm -(MSG_CMSG_CLOEXEC)Tj -/T1_1 1 Tf -37.617 0 Td -(\245)Tj --26.517 0 Td -(Set the close-on-exec \337ag for \336le)Tj -1.35 -1.25 Td -[(descriptors r)18(eceived over a)]TJ -0 -1.25 TD -(UNIX domain socket \(see)Tj -T* -(Section 17.4\).)Tj -/TT0 1 Tf --12.45 -1.25 Td -(MSG_DONTWAIT)Tj -/T1_1 1 Tf -4.262 Tc 32.749 0 Td -[(\245\245 )-356(\245)]TJ -0 Tc -21.649 0 Td -(Enable nonblocking operation)Tj -1.35 -1.25 Td -(\(equivalent to using)Tj -/TT0 1 Tf -T* -(O_NONBLOCK)Tj -/T1_1 1 Tf -(\).)Tj -/TT0 1 Tf --12.45 -1.25 Td -(MSG_ERRQUEUE)Tj -/T1_1 1 Tf -37.617 0 Td -(\245)Tj --26.517 0 Td -[(Receive err)18(or information as)]TJ -1.35 -1.25 Td -(ancillary data.)Tj -/TT0 1 Tf --12.45 -1.25 Td -(MSG_OOB)Tj -/T1_1 1 Tf -4.262 Tc 27.881 0 Td -(\245\245\245\245\245)Tj -0 Tc -16.781 0 Td -(Retrieve out-of-band data if)Tj -1.35 -1.25 Td -[(supported by pr)18(otocol \(see)]TJ -T* -(Section 16.7\).)Tj -/TT0 1 Tf --12.45 -1.25 Td -(MSG_PEEK)Tj -/T1_1 1 Tf -4.262 Tc 27.881 0 Td -(\245\245\245\245\245)Tj -0 Tc -16.781 0 Td -(Return packet contents without)Tj -1.35 -1.25 Td -(consuming the packet.)Tj -/TT0 1 Tf --12.45 -1.25 Td -(MSG_TRUNC)Tj -/T1_1 1 Tf -37.617 0 Td -(\245)Tj --26.517 0 Td -[(Request that the r)18(eal length of)]TJ -1.35 -1.25 Td -[(the packet be r)18(eturned, even)]TJ -T* -[(if it was tr)8(uncated.)]TJ -/TT0 1 Tf --12.45 -1.25 Td -(MSG_WAITALL)Tj -/T1_1 1 Tf -4.262 Tc 27.881 0 Td -(\245\245\245\245\245)Tj --0.092 Tc -16.781 0 Td -(Wa)Tj -0 Tc 1.408 0 Td -(it until all data is available)Tj --0.058 -1.25 Td -(\()Tj -/TT0 1 Tf -(SOCK_STREAM)Tj -/T1_1 1 Tf -7.183 0 Td -(only\).)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1116.25 3096.25 cm -0 0 m -4067 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4774.25 3096.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4384.25 3096.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3995.25 3096.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3595.25 3096.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3615.25 3096.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3216.25 3096.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1984.25 3096.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5183.25 3096.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1116.25 3096.25 cm -0 0 m -0 2160 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 240.3399 291.4925 Tm -(Figure 16.14)Tj -/T1_1 1 Tf -6.195 0 Td -(Flags used with)Tj -/TT0 1 Tf -7.227 0 Td -(recv)Tj -/T1_1 1 Tf -2.65 0 Td -(socket calls)Tj -9.997 0 0 9.997 147.5559 262.7012 Tm -[(When )-226(we )-226(specify )-226(the)]TJ -/TT0 1 Tf -10.374 0 Td -(MSG_PEEK)Tj -/T1_1 1 Tf -5.276 0 Td -[(\337ag, )-226(we )-226(can )-226(peek )-226(at )-226(the )-226(next )-226(data )-226(to )-226(be )-226(r)20(ead)]TJ --17.45 -1.2 Td -[(without )-52(actually )-52(consuming )-52(it.)-552(The )-52(next )-52(call )-52(to)]TJ -/TT0 1 Tf -21.436 0 Td -(read)Tj -/T1_1 1 Tf -2.702 0 Td -[(or )-52(one )-52(of )-52(the)]TJ -/TT0 1 Tf -6.021 0 Td -(recv)Tj -/T1_1 1 Tf -2.702 0 Td -[(functions )-52(will)]TJ --0.018 Tc -32.86 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(turn the same data we peeked at.)Tj --0.055 Tc 0.944 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj -/TT0 1 Tf -1.425 0 Td -(SOCK_STREAM)Tj -/T1_1 1 Tf -7.117 0 Td -[(sockets, )-267(we )-267(can )-267(r)18(eceive )-267(less )-267(data )-267(than )-267(we )-267(r)20(equested. )-517(The)]TJ -/TT0 1 Tf --11.578 -1.2 Td -(MSG_WAITALL)Tj -/T1_1 1 Tf -6.923 0 Td -[(\337ag )-73(inhibits )-73(this )-73(behavior)]TJ -0.3233 Tc 11.434 0 Td -(,p)Tj --0.018 Tc 1.174 0 Td -(re)Tj -0 Tc 0.856 0 Td -(venting)Tj -/TT0 1 Tf -3.704 0 Td -(recv)Tj -/T1_1 1 Tf -2.723 0 Td -[(fr)18(om )-73(r)18(eturning )-73(until )-73(all )-73(the)]TJ --26.815 -1.2 Td -[(data )-345(we )-345(r)18(equested )-345(has )-345(been )-345(r)20(eceived. )-594(W)55(ith)]TJ -/TT0 1 Tf -21.718 0 Td -(SOCK_DGRAM)Tj -/T1_1 1 Tf -6.594 0 Td -(and)Tj -/TT0 1 Tf -2.288 0 Td -(SOCK_SEQPACKET)Tj -/T1_1 1 Tf --30.6 -1.2 Td -[(sockets, )-450(the)]TJ -/TT0 1 Tf -6.237 0 Td -(MSG_WAITALL)Tj -/T1_1 1 Tf -7.3 0 Td -[(\337ag )-450(pr)18(ovides )-450(no )-450(change )-450(in )-450(behavior)]TJ -0.7003 Tc 18.041 0 Td -(,b)Tj -0 Tc 1.503 0 Td -[(ecause )-450(these)]TJ --33.081 -1.2 Td -[(message-based socket types alr)18(eady r)18(eturn an entir)]TJ -0.25 Tc 22.519 0 Td -(em)Tj -0 Tc 1.612 0 Td -[(essage in a single r)18(ead.)]TJ --22.331 -1.2 Td -[(If )-229(the )-229(sender )-229(has )-229(called)]TJ -/TT0 1 Tf -11.544 0 Td -(shutdown)Tj -/T1_1 1 Tf -5.279 0 Td -[(\(Section )-229(16.2\) )-229(to )-229(end )-229(transmission, )-229(or )-229(if )-229(the)]TJ --18.624 -1.2 Td -[(network )-78(pr)18(otocol )-78(supports )-78(or)19(derly )-78(shutdown )-78(by )-78(default )-78(and )-78(the )-78(sender )-78(has )-78(closed )-78(the)]TJ -0 -1.2 TD -(socket, then)Tj -/TT0 1 Tf -5.494 0 Td -(recv)Tj -/T1_1 1 Tf -2.65 0 Td -[(will r)18(eturn 0 when we have r)18(eceived all the data.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47451 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.4)]TJ -31.974 0 Td -[(Connection )-250(Establishment)]TJ -/T1_1 1 Tf -13.859 0 Td -(607)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Ther)18(e)-457(is)-457(a)-457(p)]TJ --0.018 Tc 5.718 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(blem )-207(with )-207(the )-207(code )-207(shown )-207(in )-207(Figur)]TJ -0.4573 Tc 16.674 0 Td -(e1)Tj -0 Tc 1.436 0 Td -[(6.10: )-207(it )-207(isn\325t )-207(portable.)-708(This)]TJ --26.552 -1.2 Td -[(technique )-112(works )-112(on )-112(Linux )-112(and )-112(Solaris, )-112(but )-112(doesn\325t )-112(work )-112(as )-112(expected )-112(on )-112(Fr)12(eeBSD )-113(and)]TJ -0 -1.2 TD -[(Mac )-241(OS )-241(X.)-741(If )-241(the )-241(\336rst )-241(connection )-241(attempt )-241(fails, )-241(BSD)]TJ -24.859 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-241(socket )-241(implementations)]TJ --25.192 -1.2 Td -[(continue )-27(to )-27(fail )-27(successive )-27(connection )-27(attempts )-27(when )-27(the )-27(same )-27(socket )-27(descriptor )-27(is )-27(used)]TJ -T* -[(with )-100(TCP)]TJ -0.6003 Tc 4.18 0 Td -(.T)Tj -0 Tc 1.463 0 Td -[(his )-100(is )-100(a )-100(case )-100(of )-100(a )-100(pr)18(otocol-speci\336c )-100(behavior )-100(leaking )-100(thr)18(ough )-100(the )-100(\(pr)16(otocol-)]TJ --5.644 -1.2 Td -[(independent\) )-47(socket )-47(interface )-47(and )-47(becoming )-47(visible )-47(to )-47(applications.)-549(The )-47(r)18(eason )-47(for )-47(this)]TJ -T* -[(is )-95(historical, )-95(and )-95(thus )-95(the )-95(Single )-95(UNIX )-95(Speci\336cation )-95(warns )-95(that )-95(the )-95(state )-95(of )-95(a )-95(socket )-95(is)]TJ -T* -(unde\336ned if)Tj -/TT0 1 Tf -5.676 0 Td -(connect)Tj -/T1_0 1 Tf -4.45 0 Td -(fails.)Tj --8.326 -1.2 Td -[(Because )-105(of )-105(this, )-105(portable )-105(applications )-105(need )-105(to )-105(close )-105(the )-105(socket )-105(if)]TJ -/TT0 1 Tf -29.28 0 Td -(connect)Tj -/T1_0 1 Tf -4.555 0 Td -[(fails. )-355(If)]TJ --35.636 -1.2 Td -[(we )-12(want )-12(to )-12(r)17(etry)111(,)-262(we)-262(h)-1(ave )-12(to )-12(open )-12(a )-12(new )-12(socket.)-512(This )-12(mor)]TJ -0.2623 Tc 25.752 0 Td -(ep)Tj -0 Tc 1.342 0 Td -[(ortable )-12(technique )-12(is )-12(shown)]TJ --27.094 -1.2 Td -(in Figur)Tj -0.25 Tc 3.506 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(6.1)55(1.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5418.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 532.2351 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(#define MAXSLEEP 128)Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(connect_retry\(int domain, int type, int protocol,)Tj -8.4 -1.189 Td -(const struct sockaddr *addr, socklen_t alen\))Tj --8.4 -1.189 Td -({)Tj -2.4 -1.189 Td -(int numsec, fd;)Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*T)Tj -0 Tc 1.8 0 Td -(ry to connect with exponential backoff.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(for \(numsec = 1; numsec <= MAXSLEEP; numsec <<= 1\) {)Tj -2.4 -1.189 Td -(if \(\(fd = socket\(domain, type, protocol\)\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -(if \(connect\(fd, addr, alen\) == 0\) {)Tj -2.4 -1.189 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(onnection accepted.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(return\(fd\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(close\(fd\);)Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*D)Tj -0 Tc 1.8 0 Td -(elay before trying again.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(numsec <= MAXSLEEP/2\))Tj -2.4 -1.189 Td -(sleep\(numsec\);)Tj --4.8 -1.189 Td -(})Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1979.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 251.8707 181.9053 Tm -[(Figure 16.1)37(1)]TJ -/T1_0 1 Tf -6.158 0 Td -[(Portable connect with r)18(etry)]TJ -9.9982 0 0 9.9982 129.5768 157.9096 Tm -[(Note )-48(that )-48(because )-48(we )-48(might )-48(have )-48(to )-48(establish )-48(a )-48(new )-48(socket, )-48(it )-48(makes )-48(no )-48(sense )-48(to )-48(pass )-48(a)]TJ -0 -1.2 TD -[(socket )-107(descriptor )-107(to )-107(the)]TJ -/TT0 1 Tf -10.975 0 Td -(connect_retry)Tj -/T1_0 1 Tf -8.157 0 Td -[(function. )-357(Instead)-357(of )-107(r)18(eturning )-107(an )-107(indication)]TJ --19.132 -1.2 Td -[(of success, we now r)18(eturn a connected socket descriptor to the caller)74(.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1339.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47452 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(596)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 670.2598 Tm -(struct sockaddr_in6 {)Tj -1.2 -1.189 Td -[(sa_family_t )-2400(sin6_family;)-2400(/* address family */)]TJ -0 -1.189 TD -[(in_port_t )-3600(sin6_port;)-3600(/* port number */)]TJ -T* -[(uint32_t )-4200(sin6_flowinfo;)-1200(/* traffic class and flow info */)]TJ -T* -[(struct in6_addr sin6_addr;)-3600(/* IPv6 address */)]TJ -0 -1.189 TD -[(uint32_t )-4200(sin6_scope_id;)-1200(/* set of interfaces for scope */)]TJ --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 588.0647 Tm -[(These )-402(ar)]TJ -0.6517 Tc 4.106 0 Td -(et)Tj -0 Tc 1.457 0 Td -[(he )-402(de\336nitions )-402(r)19(equir)18(ed )-402(by )-402(the )-402(Single )-402(UNIX )-402(Speci\336cation.)-900(Individual)]TJ --5.562 -1.2 Td -[(implementations )-20(ar)]TJ -0.27 Tc 8.631 0 Td -(ef)Tj --0.018 Tc 1.082 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(e)-270(to)-270(add )-20(mor)]TJ -0.2699 Tc 5.689 0 Td -(e\336)Tj -0 Tc 1.354 0 Td -[(elds. )-270(For)-270(example, )-20(on )-20(Linux, )-20(the)]TJ -/TT0 1 Tf -14.788 0 Td -(sockaddr_in)Tj -/T1_1 1 Tf --32.4 -1.2 Td -[(str)8(uctur)18(e)-250(is)-250(de\336ned as)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5914 547.3672 Tm -(struct sockaddr_in {)Tj -1.2 -1.189 Td -[(sa_family_t )-2400(sin_family;)-2400(/* address family */)]TJ -0 -1.189 TD -[(in_port_t )-3600(sin_port;)-3600(/* port number */)]TJ -T* -[(struct in_addr)-1200(sin_addr; )-3000(/*)-600(IPv4 address */)]TJ -T* -[(unsigned char)-1800(sin_zero[8]; )-1200(/*)-600(filler */)]TJ --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5925 475.8714 Tm -(wher)Tj -0.25 Tc 2.272 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he)Tj -/TT0 1 Tf -1.311 0 Td -(sin_zero)Tj -/T1_1 1 Tf -5.05 0 Td -(member is a \336ller \336eld that should be set to all-zer)Tj -0.25 Tc 22.129 0 Td -(ov)Tj -0 Tc 1.361 0 Td -(alues.)Tj --31.378 -1.2 Td -[(Note )-240(that )-240(although )-240(the)]TJ -/TT0 1 Tf -11.249 0 Td -(sockaddr_in)Tj -/T1_1 1 Tf -7.09 0 Td -(and)Tj -/TT0 1 Tf -2.183 0 Td -(sockaddr_in6)Tj -/T1_1 1 Tf -7.69 0 Td -[(str)8(uctur)18(es )-240(ar)]TJ -0.49 Tc 5.76 0 Td -(eq)Tj -0 Tc 1.529 0 Td -(uite)Tj --37.301 -1.2 Td -[(dif)18(fer)18(ent, )-85(they )-85(ar)]TJ -0.3355 Tc 7.534 0 Td -(eb)Tj -0 Tc 1.367 0 Td -[(oth )-85(passed )-85(to )-85(the )-85(socket )-85(r)18(outines )-85(cast )-85(to )-85(a)]TJ -/TT0 1 Tf -19.24 0 Td -(sockaddr)Tj -/T1_1 1 Tf -5.135 0 Td -[(str)8(uctur)18(e. )-335(In)]TJ --33.277 -1.2 Td -[(Section )-30(17.2, )-30(we )-30(will )-30(see )-30(that )-30(the )-30(str)8(uctur)18(e)-280(of)-280(a)-280(UNIX )-30(domain )-30(socket )-30(addr)18(ess )-30(is )-30(dif)18(fer)18(ent)]TJ --0 -1.2 Td -[(fr)18(om both of the Internet domain socket addr)18(ess formats.)]TJ -1.8 -1.2 Td -[(It )-9(is )-9(sometimes )-9(necessary )-9(to )-9(print )-9(an )-9(addr)18(ess )-9(in )-9(a )-9(format )-9(that )-9(is )-9(understandable )-9(by )-9(a)]TJ --1.8 -1.2 Td -[(person )-62(instead )-62(of )-62(a )-62(computer)]TJ -0.5617 Tc 13.069 0 Td -(.T)Tj -0 Tc 1.425 0 Td -[(he )-62(BSD )-62(networking )-62(softwar)]TJ -0.3118 Tc 12.393 0 Td -(ei)Tj -0 Tc 1.082 0 Td -[(ncluded )-62(the)]TJ -/TT0 1 Tf -5.632 0 Td -(inet_addr)Tj -/T1_1 1 Tf --33.6 -1.2 Td -(and)Tj -/TT0 1 Tf -1.964 0 Td -(inet_ntoa)Tj -/T1_1 1 Tf -5.671 0 Td -[(functions )-21(to )-21(convert )-21(between )-21(the )-21(binary )-21(addr)18(ess )-21(format )-21(and )-21(a )-21(string )-21(in)]TJ --7.635 -1.2 Td -[(dotted-decimal )-326(notation )-326(\(a.b.c.d\).)-826(These )-326(functions, )-326(however)]TJ -0.5763 Tc 28.099 0 Td -(,w)Tj -0 Tc 1.66 0 Td -[(ork )-326(only )-326(with )-326(IPv4)]TJ --29.76 -1.2 Td -[(addr)18(esses. )-807(T)90(wo )-557(new )-557(functions)-84(\321)]TJ -/TT0 1 Tf -16.347 0 Td -(inet_ntop)Tj -/T1_1 1 Tf -6.207 0 Td -(and)Tj -/TT0 1 Tf -2.5 0 Td -(inet_pton)Tj -/T1_1 1 Tf -0.0833 Tc 5.483 0 Td -(\321s)Tj -0 Tc 1.507 0 Td -[(upport )-557(similar)]TJ --32.045 -1.2 Td -[(functionality and work with both IPv4 and IPv6 addr)18(esses.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 337.9797 Tm -(#include )Tj -0 -1.902 TD -(const char *inet_ntop\(int)Tj -/T1_2 1 Tf -15.6 0 Td -(domain)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.8 0 Td -(onst void *restrict)Tj -/T1_2 1 Tf -12 0 Td -(addr)Tj -/TT0 1 Tf -(,)Tj --19.2 -1.189 Td -(char *restrict)Tj -/T1_2 1 Tf -9 0 Td -(str)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 2.911 0 Td -(ocklen_t)Tj -/T1_2 1 Tf -5.4 0 Td -(size)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --17.587 -1.902 Td -[(Returns: pointer to addr)18(ess string on success,)]TJ -/TT0 1 Tf -20.189 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --35.763 -1.902 Td -(int inet_pton\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(domain)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.8 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(str)Tj -/TT0 1 Tf -(,)Tj --19.2 -1.189 Td -(void *restrict)Tj -/T1_2 1 Tf -9 0 Td -(addr)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --5.064 -1.902 Td -(Returns: 1 on success, 0 if the format is invalid, or)Tj -/TT1 1 Tf -22.128 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2436.25 cm -0 0 m -0 1034 l -3900 1034 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 228.8925 Tm -(The)Tj -/TT0 1 Tf -2.065 0 Td -(inet_ntop)Tj -/T1_1 1 Tf -5.791 0 Td -[(function )-141(converts )-141(a )-141(binary )-141(addr)18(ess )-141(in )-141(network )-141(byte )-141(or)15(der )-141(into )-141(a)]TJ --9.657 -1.2 Td -[(text )-180(string;)]TJ -/TT0 1 Tf -5.332 0 Td -(inet_pton)Tj -/T1_1 1 Tf -5.83 0 Td -[(converts )-180(a )-180(text )-180(string )-180(into )-180(a )-180(binary )-180(addr)18(ess )-180(in )-180(network )-180(byte)]TJ --11.162 -1.2 Td -[(or)18(der)]TJ -0.5 Tc 2.334 0 Td -(.O)Tj -0 Tc 1.536 0 Td -(nly two)Tj -/T1_2 1 Tf -3.635 0 Td -(domain)Tj -/T1_1 1 Tf -3.25 0 Td -(values ar)Tj -0.25 Tc 3.989 0 Td -(es)Tj -0 Tc 1.153 0 Td -(upported:)Tj -/TT0 1 Tf -4.662 0 Td -(AF_INET)Tj -/T1_1 1 Tf -4.45 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(AF_INET6)Tj -/T1_1 1 Tf -(.)Tj --25.152 -1.2 Td -(For)Tj -/TT0 1 Tf -1.838 0 Td -(inet_ntop)Tj -/T1_1 1 Tf -0.3407 Tc (,t)Tj -0 Tc 6.317 0 Td -(he)Tj -/T1_2 1 Tf -1.402 0 Td -(size)Tj -/T1_1 1 Tf -1.841 0 Td -[(parameter )-91(speci\336es )-91(the )-91(size )-91(of )-91(the )-91(buf)18(fer )-91(\()]TJ -/T1_2 1 Tf -19.048 0 Td -(str)Tj -/T1_1 1 Tf -0.3407 Tc (\)t)Tj -0.3408 Tc 2.111 0 Td -(oh)Tj -0 Tc 1.469 0 Td -[(old )-91(the)]TJ --35.824 -1.2 Td -[(text )-150(string.)]TJ --0.09 Tc 5.521 0 Td -(Tw)Tj -0.3999 Tc 1.357 0 Td -(oc)Tj -0 Tc 1.39 0 Td -[(onstants )-150(ar)]TJ -0.3999 Tc 4.987 0 Td -(ed)Tj -0 Tc 1.49 0 Td -[(e\336ned )-150(to )-150(make )-150(our )-150(job )-150(easier:)]TJ -/TT0 1 Tf -14.14 0 Td -(INET_ADDRSTRLEN)Tj -/T1_1 1 Tf -9.4 0 Td -(is)Tj --38.285 -1.2 Td -[(lar)18(ge )-824(enough )-824(to )-824(hold )-824(a )-824(text )-824(string )-824(r)17(epr)18(esenting )-824(an )-824(IPv4 )-824(addr)18(ess, )-824(and)]TJ -/TT0 1 Tf -0 -1.2 TD -(INET6_ADDRSTRLEN)Tj -/T1_1 1 Tf -9.866 0 Td -[(is )-16(lar)18(ge )-16(enough )-16(to )-16(hold )-16(a )-16(text )-16(string )-16(r)16(epr)18(esenting )-16(an )-16(IPv6 )-16(addr)18(ess.)]TJ --9.866 -1.2 Td -(For)Tj -/TT0 1 Tf -1.895 0 Td -(inet_pton)Tj -/T1_1 1 Tf -0.398 Tc (,t)Tj -0 Tc 6.374 0 Td -(he)Tj -/T1_2 1 Tf -1.459 0 Td -(addr)Tj -/T1_1 1 Tf -2.231 0 Td -[(buf)18(fer )-148(needs )-148(to )-148(be )-148(lar)18(ge )-148(enough )-148(to )-148(hold )-148(a )-148(32)]TJ -20.692 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-148(addr)18(ess )-148(if)]TJ -/T1_2 1 Tf --32.984 -1.2 Td -(domain)Tj -/T1_1 1 Tf -3.25 0 Td -(is)Tj -/TT0 1 Tf -0.965 0 Td -(AF_INET)Tj -/T1_1 1 Tf -4.45 0 Td -[(or lar)18(ge enough to hold a 128)]TJ -12.894 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit addr)18(ess if)]TJ -/T1_2 1 Tf -5.97 0 Td -(domain)Tj -/T1_1 1 Tf -3.25 0 Td -(is)Tj -/TT0 1 Tf -0.965 0 Td -(AF_INET6)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47453 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(572)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(The )-128(Single )-128(UNIX )-128(Speci\336cation )-128(shar)18(ed )-128(memory )-128(objects )-128(option )-128(includes )-128(alternative )-128(interfaces,)]TJ -0 -1.25 TD -[(originally r)18(eal-time extensions, to access shar)18(ed memory)]TJ -0.5 Tc 24.848 0 Td -(.W)Tj -0.25 Tc 1.658 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(on\325t discuss them in this text.)Tj --0.092 Tc 9.9994 0 0 9.9994 147.5911 640.9615 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-87(alr)18(eady )-87(seen )-87(one )-87(form )-87(of )-87(shar)18(ed )-87(memory )-87(when )-87(multiple )-87(pr)18(ocesses )-87(map )-87(the)]TJ --3.187 -1.2 Td -[(same )-228(\336le )-228(into )-228(their )-228(addr)16(ess )-229(spaces.)-729(The )-229(XSI )-229(shar)18(ed )-229(memory )-229(dif)18(fers )-229(fr)18(om )-229(memory-)]TJ -0 -1.2 TD -[(mapped )-106(\336les )-106(in )-106(that )-106(ther)17(e)-356(is)-356(n)]TJ -0.3561 Tc (oa)Tj -0 Tc 15.16 0 Td -[(ssociated )-106(\336le.)-606(The )-106(XSI )-106(shar)18(ed )-106(memory )-106(segments )-106(ar)17(e)]TJ --15.16 -1.2 Td -[(anonymous segments of memory)111(.)]TJ -1.8 -1.2 Td -[(The )-249(kernel )-249(maintains )-249(a )-249(str)9(uctur)]TJ -0.4987 Tc 14.82 0 Td -(ew)Tj -0 Tc 1.812 0 Td -[(ith )-249(at )-249(least )-249(the )-249(following )-249(members )-249(for )-249(each)]TJ --18.431 -1.2 Td -[(shar)18(ed memory segment:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5915 564.2661 Tm -(struct shmid_ds {)Tj -1.2 -1.189 Td -[(struct ipc_perm)-1200(shm_perm; )-1800(/*)-600(see Section 15.6.2 */)]TJ -0 -1.189 TD -(size_t )Tj -10.2 0 Td -[(shm_segsz;)-1800(/* size of segment in bytes */)]TJ --10.2 -1.189 Td -(pid_t )Tj -10.2 0 Td -[(shm_lpid;)-2400(/* pid of last shmop\(\) */)]TJ --10.2 -1.189 Td -(pid_t )Tj -10.2 0 Td -[(shm_cpid;)-2400(/* pid of creator */)]TJ --10.2 -1.189 Td -[(shmatt_t )-4800(shm_nattch;)-1200(/* number of current attaches */)]TJ -T* -(time_t )Tj -10.2 0 Td -[(shm_atime;)-1800(/* last-attach time */)]TJ --10.2 -1.189 Td -(time_t )Tj -10.2 0 Td -[(shm_dtime;)-1800(/* last-detach time */)]TJ --10.2 -1.189 Td -(time_t )Tj -10.2 0 Td -[(shm_ctime;)-1800(/* last-change time */)]TJ --10.2 -1.189 Td -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5926 430.714 Tm -[(\(Implementations add other str)8(uctur)]TJ -0.25 Tc 16.153 0 Td -(em)Tj -0 Tc 1.612 0 Td -[(embers to support shar)18(ed memory segments.\))]TJ --15.965 -1.2 Td -[(The )-182(type)]TJ -/TT0 1 Tf -4.5 0 Td -(shmatt_t)Tj -/T1_1 1 Tf -5.232 0 Td -[(is )-182(de\336ned )-182(to )-182(be )-182(an )-182(unsigned )-182(integer )-182(at )-182(least )-182(as )-182(lar)17(ge )-182(as )-182(an)]TJ -/TT0 1 Tf --11.532 -1.2 Td -[(unsigned )350(short)]TJ -/T1_1 1 Tf -0.5 Tc (.F)Tj -0 Tc 9.356 0 Td -(igur)Tj -0.25 Tc 1.827 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(5.30 lists the system limits that af)18(fect shar)18(ed memory)111(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1364.25 3879.25 cm -0 0 m -3764 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.09 Tc 7.999 0 0 7.999 411.2786 379.8944 Tm -(Ty)Tj -0 Tc 1.079 0 Td -(pical values)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3604.25 3759.25 cm -0 0 m -1524 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 367.1339 367.8738 Tm -[(Fr)18(eeBSD )-1173(Linux)-1073(Mac OS X)-1229(Solaris)]TJ -1.275 -1.25 Td -[(8.0 )-2750(3.2.0)-2309(10.6.8 )-2899(10)]TJ --18.702 1.375 Td -(Description)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1364.25 3539.25 cm -0 0 m -3764 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1364.25 3519.25 cm -0 0 m -3764 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 364.3166 343.8575 Tm -[(33,554,432 )-750(32,768)-1184(4,194,304 )-934(derived)]TJ --28 0 Td -[(maximum size in bytes of a shar)18(ed memory segment)]TJ -3.25 Tc 32 -1.25 Td -[(11 )2066(1)]TJ -0 Tc 12.584 0 Td -(1)Tj --44.584 0 Td -[(minimum size in bytes of a shar)18(ed memory segment)]TJ -31 -1.25 Td -[(192 )-1250(4,096)-4184(32 )-1899(128)]TJ --31 0 Td -[(maximum number of shar)18(ed memory segments, systemwide)]TJ -31 -1.25 Td -[(128 )-1250(4,096)]TJ -2.1495 Tc 9.934 0 Td -(81)Tj -0 Tc 3.15 0 Td -(28)Tj --44.084 0 Td -[(maximum number of shar)18(ed memory segments, per pr)18(ocess)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1364.25 3099.25 cm -0 0 m -3764 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4773.25 3099.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4344.25 3099.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4044.25 3099.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3604.25 3099.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5128.25 3099.25 cm -0 0 m -0 780 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1364.25 3099.25 cm -0 0 m -0 780 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 228.5714 291.8524 Tm -(Figure 15.30)Tj -/T1_1 1 Tf -6.195 0 Td -[(System limits that af)18(fect shar)18(ed memory)]TJ -9.997 0 0 9.997 147.5559 267.8596 Tm -(The \336rst function called is usually)Tj -/TT0 1 Tf -15.23 0 Td -(shmget)Tj -/T1_1 1 Tf -[(,)-250(to)-250(obtain a shar)18(ed memory identi\336er)74(.)]TJ -/TT0 1 Tf -8.9973 0 0 8.9973 147.556 251.1646 Tm -(#include )Tj -0 -1.902 TD -(int shmget\(key_t)Tj -/T1_2 1 Tf -10.2 0 Td -(key)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.133 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(size)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.3 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --3.008 -1.902 Td -[(Returns: shar)18(ed memory ID if OK,)]TJ -/TT1 1 Tf -15.439 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2125.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9964 0 0 9.9964 129.5534 198.9284 Tm -[(In )-152(Section )-152(15.6.1, )-152(we )-152(described )-152(the )-152(r)8(ules )-152(for )-152(converting )-152(the)]TJ -/T1_2 1 Tf -27.48 0 Td -(key)Tj -/T1_1 1 Tf -1.735 0 Td -[(into )-152(an )-152(identi\336er )-152(and)]TJ --29.215 -1.2 Td -[(whether )-118(a )-118(new )-118(segment )-118(is )-118(cr)18(eated )-118(or )-118(an )-118(existing )-118(segment )-118(is )-118(r)14(efer)18(enced. )-368(When)]TJ -0.3685 Tc 36.236 0 Td -(an)Tj -0 Tc 1.451 0 Td -(ew)Tj --37.687 -1.2 Td -[(segment is cr)18(eated, the following members of the)]TJ -/TT0 1 Tf -21.929 0 Td -(shmid_ds)Tj -/T1_1 1 Tf -5.05 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(i)]TJ -0 Tc 1.397 0 Td -(nitialized.)Tj -0.883 Tc -31.295 -1.8 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.402 0 Td -(ipc_perm)Tj -/T1_1 1 Tf -5.141 0 Td -[(str)8(uctur)18(e)-341(is)-341(initialized )-91(as )-91(described )-91(in )-91(Section )-91(15.6.2.)-590(The)]TJ -/TT0 1 Tf -26.155 0 Td -(mode)Tj -/T1_1 1 Tf --33.311 -1.2 Td -[(member )-233(of )-233(this )-233(str)7(uctur)18(e)-484(is)-484(s)1(et )-234(to )-234(the )-234(corr)18(esponding )-234(permission )-234(bits )-234(of)]TJ -/T1_2 1 Tf -33.972 0 Td -(\337ag)Tj -/T1_1 1 Tf -(.)Tj --33.972 -1.2 Td -(These permissions ar)Tj -0.25 Tc 9.294 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(peci\336ed with the values fr)18(om Figur)]TJ -0.25 Tc 15.564 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.24.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47454 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(410)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.018 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ces )-663(for )-663(the )-663(r)18(eader\320writer )-663(lock,)]TJ -/TT0 1 Tf -18.669 0 Td -(pthread_rwlock_destroy)Tj -/T1_1 1 Tf -14.113 0 Td -[(fr)18(ees )-663(those)]TJ --0.018 Tc -33.638 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ces. )-456(If)-456(we )-206(fr)18(ee )-206(the )-206(memory )-206(backing )-206(a )-206(r)18(eader\320writer )-206(lock )-206(without )-206(\336rst )-206(calling)]TJ -/TT0 1 Tf --0.856 -1.2 Td -(pthread_rwlock_destroy)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 14.2 0 Td -[(ny r)18(esour)18(ces assigned to the lock will be lost.)]TJ --0.092 Tc -12.4 -1.2 Td -[(To )-233(l)]TJ -0 Tc 1.656 0 Td -[(ock )-48(a )-48(r)18(eader\320writer )-48(lock )-48(in )-48(r)16(ead )-48(mode, )-48(we )-48(call)]TJ -/TT0 1 Tf -21.078 0 Td -(pthread_rwlock_rdlock)Tj -/T1_1 1 Tf -0.5484 Tc (.T)Tj -0 Tc 13.919 0 Td -(o)Tj --38.454 -1.2 Td -[(write )-10(lock )-10(a )-10(r)18(eader\320writer )-10(lock, )-10(we )-10(call)]TJ -/TT0 1 Tf -17.47 0 Td -(pthread_rwlock_wrlock)Tj -/T1_1 1 Tf -0.5101 Tc (.R)Tj -0 Tc 14.028 0 Td -[(egar)18(dless )-10(of )-10(how)]TJ --31.498 -1.2 Td -[(we lock a r)18(eader\320writer lock, we can unlock it by calling)]TJ -/TT0 1 Tf -25.09 0 Td -(pthread_rwlock_unlock)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 592.2645 Tm -(#include )Tj -0 -1.783 TD -(int pthread_rwlock_rdlock\(pthread_rwlock_t *)Tj -/T1_2 1 Tf -(rwlock)Tj -/TT0 1 Tf -(\);)Tj --0 -1.783 Td -(int pthread_rwlock_wrlock\(pthread_rwlock_t *)Tj -/T1_2 1 Tf -(rwlock)Tj -/TT0 1 Tf -(\);)Tj --0 -1.783 Td -(int pthread_rwlock_unlock\(pthread_rwlock_t *)Tj -/T1_2 1 Tf -(rwlock)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -20.386 -1.783 Td -[(All r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5236.25 cm -0 0 m -0 777 l -3900 777 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 510.0388 Tm -[(Implementations )-120(might )-120(place )-120(a )-120(limit )-120(on )-120(the )-120(number )-120(of )-120(times )-120(a )-120(r)18(eader\320writer )-120(lock)]TJ --1.8 -1.2 Td -[(can )-580(be )-580(locked )-580(in )-580(shar)18(ed )-580(mode, )-580(so )-580(we )-580(need )-580(to )-580(check )-580(the )-580(r)16(eturn )-580(value )-580(of)]TJ -/TT0 1 Tf -0 -1.2 TD -(pthread_rwlock_rdlock)Tj -/T1_1 1 Tf -1.7938 Tc (.E)Tj -0 Tc 15.255 0 Td -[(ven )-1294(though)]TJ -/TT0 1 Tf -7.909 0 Td -(pthread_rwlock_wrlock)Tj -/T1_1 1 Tf -14.144 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(pthread_rwlock_unlock)Tj -/T1_1 1 Tf -13.187 0 Td -[(have )-336(err)18(or )-336(r)18(eturns, )-336(and )-336(technically )-336(we )-336(should )-336(always)]TJ --13.187 -1.2 Td -[(check )-34(for )-34(err)18(ors )-34(when )-34(we )-34(call )-34(functions )-34(that )-34(can )-34(potentially )-34(fail, )-34(we )-34(don\325t )-34(need )-34(to )-34(check)]TJ -T* -[(them )-1(if )-1(we )-1(design )-1(our )-1(locking )-1(pr)20(operly)]TJ -0.5006 Tc 17.199 0 Td -(.T)Tj -0 Tc 1.364 0 Td -[(he )-1(only )-1(err)18(or )-1(r)18(eturns )-1(de\336ned )-1(ar)]TJ -0.2506 Tc 13.911 0 Td -(ew)Tj -0 Tc 1.564 0 Td -[(hen )-1(we )-1(use)]TJ --34.037 -1.2 Td -[(them )-153(impr)18(operly)]TJ -0.403 Tc 7.582 0 Td -(,s)Tj -0 Tc 1.077 0 Td -[(uch )-153(as )-153(with )-153(an )-153(uninitialized )-153(lock, )-153(or )-153(when )-153(we )-153(might )-153(deadlock )-153(by)]TJ --8.659 -1.2 Td -[(attempting )-377(to )-377(acquir)]TJ -0.6273 Tc 9.772 0 Td -(eal)Tj -0 Tc 2.525 0 Td -[(ock )-377(we )-377(alr)18(eady )-377(own.)-878(However)74(,)-627(be)-627(a)-1(war)]TJ -0.6274 Tc 19.948 0 Td -(et)Tj -0 Tc 1.432 0 Td -[(hat )-377(speci\336c)]TJ --33.677 -1.2 Td -[(implementations might de\336ne additional err)18(or r)18(eturns.)]TJ -1.8 -1.2 Td -[(The )-7(Single )-7(UNIX )-7(Speci\336cation )-7(also )-7(de\336nes )-7(conditional )-7(versions )-7(of )-7(the )-7(r)17(eader\320writer)]TJ --1.8 -1.2 Td -(locking primitives.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5825 373.3552 Tm -(#include )Tj -0 -1.783 TD -(int pthread_rwlock_tryrdlock\(pthread_rwlock_t *)Tj -/T1_2 1 Tf -(rwlock)Tj -/TT0 1 Tf -(\);)Tj --0 -1.783 Td -(int pthread_rwlock_trywrlock\(pthread_rwlock_t *)Tj -/T1_2 1 Tf -(rwlock)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -19.681 -1.783 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3207.25 cm -0 0 m -0 617 l -3900 617 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 307.1947 Tm -[(When )-161(the )-161(lock )-161(can )-161(be )-161(acquir)18(ed, )-161(these )-161(functions )-161(r)18(eturn )-161(0.)-661(Otherwise, )-161(they )-161(r)18(eturn )-161(the)]TJ -0 -1.2 TD -[(err)18(or)]TJ -/TT0 1 Tf -2.704 0 Td -(EBUSY)Tj -/T1_1 1 Tf -0.7618 Tc (.T)Tj -0 Tc 4.625 0 Td -[(hese )-262(functions )-262(can )-262(be )-262(used )-262(to )-262(avoid )-262(deadlocks )-262(in )-262(situations )-262(wher)21(e)]TJ --7.329 -1.2 Td -[(conforming to a lock hierar)18(chy is dif)18(\336cult, as we discussed pr)18(eviously)111(.)]TJ -/TT1 1 Tf --3.6 -2.4 Td -(Example)Tj -/T1_1 1 Tf -3.6 -1.92 Td -[(The )-98(pr)18(ogram )-98(in )-98(Figur)]TJ -0.3485 Tc 9.834 0 Td -(e1)Tj -0 Tc 1.272 0 Td -[(1.14 )-99(illustrates )-99(the )-99(use )-99(of )-99(r)18(eader\320writer )-99(locks.)]TJ -0.3486 Tc 21.134 0 Td -(Aq)Tj -0 Tc 1.687 0 Td -[(ueue )-99(of )-99(job)]TJ --0.018 Tc -33.927 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quests )-185(is )-185(pr)18(otected )-185(by )-185(a )-185(single )-185(r)18(eader\320writer )-185(lock.)-683(This )-185(example )-185(shows )-185(a )-185(possible)]TJ --0.856 -1.2 Td -[(implementation )-7(of )-7(Figur)]TJ -0.2573 Tc 10.837 0 Td -(e1)Tj -0 Tc 1.181 0 Td -[(1.1, )-7(wher)18(eby )-7(multiple )-7(worker )-7(thr)18(eads )-7(obtain )-7(jobs )-7(assigned )-7(to)]TJ --12.018 -1.2 Td -[(them by a single master thr)18(ead.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1968.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 129.5689 187.304 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(struct job {)Tj -2.4 -1.189 Td -(struct job *j_next;)Tj -0 -1.189 TD -(struct job *j_prev;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47455 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(28)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(standar)Tj -0.26 Tc 3.32 0 Td -(dw)Tj -0 Tc 1.705 0 Td -[(as )-10(also )-10(published )-10(as )-10(International )-10(Standar)]TJ -0.26 Tc 18.502 0 Td -(dI)Tj -0 Tc 1.208 0 Td -[(SO/IEC )-10(9945)]TJ -5.834 0.09 Td -(-)Tj -0.333 -0.09 Td -[(1:1996. )-260(Mor)]TJ -0.26 Tc 5.379 0 Td -(er)Tj -0 Tc 1.116 0 Td -(eal-)Tj --37.397 -1.2 Td -[(time )-37(interfaces )-37(wer)]TJ -0.2867 Tc 8.495 0 Td -(ea)Tj -0 Tc 1.266 0 Td -[(dded )-37(in )-37(1999 )-37(with )-37(the )-37(publication )-37(of )-37(IEEE )-37(Standar)]TJ -0.2868 Tc 22.397 0 Td -(d1)Tj -0 Tc 1.398 0 Td -(003.1d)Tj -2.861 0.09 Td -(-)Tj -0.333 -0.09 Td -(1999.)Tj -0.324 Tc -36.75 -1.2 Td -(Ay)Tj -0 Tc 1.658 0 Td -[(ear )-74(later)]TJ -0.3239 Tc 3.615 0 Td -(,I)Tj -0 Tc 0.911 0 Td -[(EEE )-74(Standar)]TJ -0.3239 Tc 5.578 0 Td -(d1)Tj -0 Tc 1.435 0 Td -[(003.1j-2000 )-74(was )-74(published, )-74(including )-74(even )-74(mor)]TJ -0.3239 Tc 21.041 0 Td -(er)Tj -0 Tc 1.18 0 Td -(eal-time)Tj --35.418 -1.2 Td -[(interfaces, )-438(and )-438(IEEE )-438(Standar)]TJ -0.6884 Tc 13.852 0 Td -(d1)Tj -0 Tc 1.799 0 Td -[(003.1q-2000 )-438(was )-438(published, )-438(adding )-438(event-tracing)]TJ --15.651 -1.2 Td -[(extensions to the standar)18(d.)]TJ -1.8 -1.2 Td -[(The )-176(2001 )-176(version )-176(of )-176(1003.1 )-176(departed )-176(fr)17(om )-176(the )-176(prior )-176(versions )-176(in )-176(that )-176(it )-176(combined)]TJ --1.8 -1.2 Td -[(several )-277(1003.1 )-277(amendments, )-277(the )-277(1003.2 )-277(standar)20(d, )-277(and )-277(portions )-277(of )-277(the )-277(Single )-277(UNIX)]TJ -0 -1.2 TD -(Speci\336cation)Tj -6.238 0.04 Td -(\()Tj -0.333 -0.04 Td -(SUS)Tj -1.828 0.04 Td -(\))Tj -0.6043 Tc 0.333 -0.04 Td -(,V)Tj -0 Tc 1.465 0 Td -[(ersion )-354(2 )-354(\(mor)17(e)-604(on)-604(t)-1(his )-354(later\).)-855(The )-354(r)18(esulting )-354(standar)18(d, )-354(IEEE)]TJ --10.198 -1.2 Td -(Standar)Tj -0.25 Tc 3.421 0 Td -(d1)Tj -0 Tc 1.361 0 Td -(003.1)Tj -2.25 0.09 Td -(-)Tj -0.333 -0.09 Td -[(2001, included the following other standar)18(ds:)]TJ -0.5 Tc -5.565 -1.56 Td -(\245I)Tj -0 Tc 1.443 0 Td -(SO/IEC 9945)Tj -5.824 0.09 Td -(-)Tj -0.25 Tc 0.333 -0.09 Td -(1\()Tj -0 Tc 1.083 0 Td -(IEEE Standar)Tj -0.25 Tc 5.841 0 Td -(d1)Tj -0 Tc 1.361 0 Td -(003.1)Tj -2.25 0.09 Td -(-)Tj -0.333 -0.09 Td -(1996\), which includes)Tj -0.5 Tc -15.468 -1.2 Td -(\245I)Tj -0 Tc 1.443 0 Td -(EEE Standar)Tj -0.25 Tc 5.504 0 Td -(d1)Tj -0 Tc 1.361 0 Td -(003.1)Tj -2.25 0.09 Td -(-)Tj -0.333 -0.09 Td -(1990)Tj -0.5 Tc -10.891 -1.2 Td -(\245I)Tj -0 Tc 1.443 0 Td -(EEE Standar)Tj -0.25 Tc 5.504 0 Td -(d1)Tj -0 Tc 1.361 0 Td -[(003.1b-1993 \(r)18(eal-time extensions\))]TJ -0.5 Tc -8.308 -1.2 Td -(\245I)Tj -0 Tc 1.443 0 Td -(EEE Standar)Tj -0.25 Tc 5.504 0 Td -(d1)Tj -0 Tc 1.361 0 Td -[(003.1c-1995 \(pthr)18(eads\))]TJ -0.5 Tc -8.308 -1.2 Td -(\245I)Tj -0 Tc 1.443 0 Td -(EEE Standar)Tj -0.25 Tc 5.504 0 Td -(d1)Tj -0 Tc 1.361 0 Td -[(003.1i-1995 \(r)18(eal-time technical corrigenda\))]TJ -0.5 Tc -11.308 -1.2 Td -(\245I)Tj -0 Tc 1.443 0 Td -(EEE P1003.1a draft standar)Tj -0.25 Tc 11.922 0 Td -(d\()Tj -0 Tc 1.194 0 Td -(system interface amendment\))Tj -0.5 Tc -14.559 -1.2 Td -(\245I)Tj -0 Tc 1.443 0 Td -(EEE Standar)Tj -0.25 Tc 5.504 0 Td -(d1)Tj -0 Tc 1.361 0 Td -(003.1d)Tj -2.861 0.09 Td -(-)Tj -0.333 -0.09 Td -[(1999 \(advanced r)18(eal-time extensions\))]TJ -0.5 Tc -11.502 -1.2 Td -(\245I)Tj -0 Tc 1.443 0 Td -(EEE Standar)Tj -0.25 Tc 5.504 0 Td -(d1)Tj -0 Tc 1.361 0 Td -(003.1j-2000 \(mor)Tj -0.25 Tc 7.206 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(dvanced r)18(eal-time extensions\))]TJ -0.5 Tc -16.743 -1.2 Td -(\245I)Tj -0 Tc 1.443 0 Td -(EEE Standar)Tj -0.25 Tc 5.504 0 Td -(d1)Tj -0 Tc 1.361 0 Td -(003.1q-2000 \(tracing\))Tj -0.5 Tc -8.308 -1.2 Td -(\245P)Tj -0 Tc 1.71 0 Td -(arts of IEEE Standar)Tj -0.25 Tc 8.865 0 Td -(d1)Tj -0 Tc 1.361 0 Td -[(003.1g-2000 \(pr)18(otocol-independent interfaces\))]TJ -0.5 Tc -11.936 -1.2 Td -(\245I)Tj -0 Tc 1.443 0 Td -(SO/IEC 9945)Tj -5.824 0.09 Td -(-)Tj -0.25 Tc 0.333 -0.09 Td -(2\()Tj -0 Tc 1.083 0 Td -(IEEE Standar)Tj -0.25 Tc 5.841 0 Td -(d1)Tj -0 Tc 1.361 0 Td -(003.2)Tj -2.25 0.09 Td -(-)Tj -0.333 -0.09 Td -(1993\))Tj -0.5 Tc -18.468 -1.2 Td -(\245I)Tj -0 Tc 1.443 0 Td -(EEE P1003.2b draft standar)Tj -0.25 Tc 11.975 0 Td -(d\()Tj -0 Tc 1.194 0 Td -(shell and utilities amendment\))Tj -0.5 Tc -14.612 -1.2 Td -(\245I)Tj -0 Tc 1.443 0 Td -(EEE Standar)Tj -0.25 Tc 5.504 0 Td -(d1)Tj -0 Tc 1.361 0 Td -(003.2d)Tj -2.861 0.09 Td -(-)Tj -0.333 -0.09 Td -(1994 \(batch extensions\))Tj -0.5 Tc -11.502 -1.2 Td -(\245T)Tj -0 Tc 1.719 0 Td -(he Base Speci\336cations of the Single UNIX Speci\336cation, version 2, \ which include)Tj -0.5 Tc 1.281 -1.2 Td -(\245S)Tj -0 Tc 1.631 0 Td -(ystem Interface De\336nitions, Issue 5)Tj -0.5 Tc -1.631 -1.2 Td -(\245C)Tj -0 Tc 1.815 0 Td -(ommands and Utilities, Issue 5)Tj -0.5 Tc -1.815 -1.2 Td -(\245S)Tj -0 Tc 1.631 0 Td -(ystem Interfaces and Headers, Issue 5)Tj -0.5 Tc -4.631 -1.2 Td -(\245O)Tj -0 Tc 1.892 0 Td -[(pen Gr)18(oup T)92(echnical Standar)18(d, Networking Services, Issue 5.2)]TJ -0.5 Tc -1.892 -1.2 Td -(\245I)Tj -0 Tc 1.443 0 Td -[(SO/IEC 9899:1999, Pr)18(ogramming Languages\320C)]TJ --1.443 -1.56 Td -[(In )-209(2004, )-209(the )-209(POSIX.1 )-209(speci\336cation )-209(was )-209(updated )-209(with )-209(technical )-209(corr)18(ections; )-209(mor)16(e)]TJ --1.8 -1.2 Td -[(compr)18(ehensive )-356(changes )-356(wer)]TJ -0.6063 Tc 13.202 0 Td -(em)Tj -0 Tc 1.968 0 Td -[(ade )-356(in )-356(2008 )-356(and )-356(r)18(eleased )-356(as )-356(Issue )-356(7 )-356(of )-356(the )-356(Base)]TJ --15.17 -1.2 Td -[(Speci\336cations. )-287(ISO)-287(appr)18(oved )-37(this )-37(version )-37(at )-37(the )-37(end )-37(of )-37(2008 )-37(and )-37(published )-37(it )-37(in )-37(2009 )-37(as)]TJ --0 -1.2 Td -(International Standar)Tj -0.25 Tc 9.408 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(SO/IEC 9945:2009.)-500(It is based on several other standar)18(ds:)]TJ -0.5 Tc -8.806 -1.56 Td -(\245I)Tj -0 Tc 1.443 0 Td -(EEE Standar)Tj -0.25 Tc 5.504 0 Td -(d1)Tj -0 Tc 1.361 0 Td -(003.1, 2004 Edition)Tj -0.5 Tc -8.308 -1.2 Td -(\245O)Tj -0 Tc 1.892 0 Td -[(pen Gr)18(oup T)92(echnical Standar)18(d, 2006, Extended API Set, Parts 1)]TJ -27.814 0.09 Td -(\320)Tj -0.583 -0.09 Td -(4)Tj -0.5 Tc -30.29 -1.2 Td -(\245I)Tj -0 Tc 1.443 0 Td -(SO/IEC 9899:1999, including corrigenda)Tj --1.443 -1.56 Td -(Figur)Tj -0.3086 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.288 0 Td -[(.2, )-59(Figur)]TJ -0.3086 Tc 3.692 0 Td -(e2)Tj -0 Tc 1.288 0 Td -[(.3, )-59(and )-59(Figur)]TJ -0.3086 Tc 5.693 0 Td -(e2)Tj -0 Tc 1.288 0 Td -[(.4 )-59(summarize )-59(the )-59(r)19(equir)18(ed )-58(and )-58(optional )-58(headers)]TJ --17.431 -1.2 Td -[(as )-411(speci\336ed )-411(by )-411(POSIX.1.)-912(Because )-411(POSIX.1 )-411(includes )-411(the )-411(ISO )-411(C )-411(standar)]TJ -0.6613 Tc 34.747 0 Td -(dl)Tj -0 Tc 1.563 0 Td -(ibrary)Tj --36.31 -1.2 Td -[(functions, )-108(it )-108(also )-108(r)19(equir)18(es )-107(the )-107(headers )-107(listed )-107(in )-107(Figur)]TJ -0.3575 Tc 23.744 0 Td -(e2)Tj -0 Tc 1.336 0 Td -[(.1. )-357(All)-358(four )-107(\336gur)18(es )-107(summarize)]TJ --25.081 -1.2 Td -(which headers ar)Tj -0.25 Tc 7.58 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(ncluded in the implementations discussed in this book.)Tj --6.8 -1.2 Td -[(In )-76(this )-76(text )-76(we )-76(describe )-76(the )-76(2008 )-76(edition )-76(of )-76(POSIX.1.)-576(Its )-76(interfaces )-76(ar)]TJ -0.3258 Tc 30.866 0 Td -(ed)Tj -0 Tc 1.416 0 Td -[(ivided )-76(into)]TJ --0.018 Tc -34.081 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(ed )-167(ones )-167(and )-167(optional )-167(ones.)-666(The )-167(optional )-167(interfaces )-167(ar)]TJ -0.4168 Tc 26.681 0 Td -(ef)Tj -0 Tc 1.229 0 Td -[(urther )-167(divided )-167(into )-167(40)]TJ --28.766 -1.2 Td -[(sections, )-258(based )-258(on )-258(functionality)]TJ -0.7581 Tc 14.545 0 Td -(.T)Tj -0 Tc 1.621 0 Td -[(he )-258(sections )-258(containing )-258(nonobsolete )-258(pr)18(ogramming)]TJ --16.166 -1.2 Td -[(interfaces )-226(ar)]TJ -0.4762 Tc 5.606 0 Td -(es)Tj -0 Tc 1.379 0 Td -[(ummarized )-226(in )-226(Figur)]TJ -0.4762 Tc 9.353 0 Td -(e2)Tj -0 Tc 1.455 0 Td -[(.5 )-226(with )-226(their )-226(r)18(espective )-226(option )-226(codes.)-727(Option)]TJ --17.794 -1.2 Td -[(codes )-12(ar)]TJ -0.262 Tc 3.643 0 Td -(et)Tj -0 Tc 1.067 0 Td -[(wo- )-12(to )-12(thr)18(ee-character )-12(abbr)18(eviations )-12(that )-12(identify )-12(the )-12(interfaces )-12(that )-12(belong )-12(to)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47456 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(258)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(seteuid)Tj -/TT1 1 Tf -4.478 0 Td -(and)Tj -/TT0 1 Tf -2.056 0 Td -(setegid)Tj -/TT1 1 Tf -4.478 0 Td -(Functions)Tj -/T1_1 1 Tf --7.412 -2.4 Td -[(POSIX.1 )-322(includes )-322(the )-322(two )-322(functions)]TJ -/TT2 1 Tf -17.48 0 Td -(seteuid)Tj -/T1_1 1 Tf -4.772 0 Td -(and)Tj -/TT2 1 Tf -2.266 0 Td -(setegid)Tj -/T1_1 1 Tf -0.8225 Tc (.T)Tj -0 Tc 5.886 0 Td -[(hese )-322(functions )-322(ar)17(e)]TJ --30.404 -1.2 Td -[(similar )-95(to)]TJ -/TT2 1 Tf -4.638 0 Td -(setuid)Tj -/T1_1 1 Tf -3.946 0 Td -(and)Tj -/TT2 1 Tf -2.039 0 Td -(setgid)Tj -/T1_1 1 Tf -0.3455 Tc (,b)Tj -0 Tc 4.749 0 Td -[(ut )-95(only )-95(the )-95(ef)18(fective )-95(user )-95(ID )-95(or )-95(ef)15(fective )-95(gr)18(oup )-95(ID )-95(is)]TJ --15.371 -1.2 Td -(changed.)Tj -/TT2 1 Tf -8.9995 0 0 8.9995 147.5919 601.8639 Tm -(#include )Tj -0 -1.189 TD -(int seteuid\(uid_t)Tj -/T1_2 1 Tf -10.8 0 Td -(uid)Tj -/TT2 1 Tf -(\);)Tj --10.8 -1.189 Td -(int setegid\(gid_t)Tj -/T1_2 1 Tf -10.8 0 Td -(gid)Tj -/TT2 1 Tf -(\);)Tj -/T1_1 1 Tf -14.451 -1.189 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT3 1 Tf -9.213 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5653.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 549.3341 Tm -[(An )-91(unprivileged )-91(user )-91(can )-91(set )-91(its )-91(ef)18(fective )-91(user )-91(ID )-91(to )-91(either )-91(its )-91(r)23(eal )-91(user )-91(ID )-91(or )-91(its )-91(saved)]TJ -0 -1.2 TD -[(set-user)18(-ID. )-273(For)]TJ -0.2726 Tc 7.431 0 Td -(ap)Tj -0 Tc 1.374 0 Td -[(rivileged )-23(user)]TJ -0.2726 Tc 6.058 0 Td -(,o)Tj -0 Tc 1.069 0 Td -[(nly )-23(the )-23(ef)18(fective )-23(user )-23(ID )-23(is )-23(set )-23(to)]TJ -/T1_2 1 Tf -14.536 0 Td -(uid)Tj -/T1_1 1 Tf -0.5226 Tc (.\()Tj -0 Tc 2.44 0 Td -[(This )-23(behavior)]TJ --32.906 -1.2 Td -[(dif)18(fers fr)18(om that of the)]TJ -/TT2 1 Tf -10.237 0 Td -(setuid)Tj -/T1_1 1 Tf -3.85 0 Td -[(function, which changes all thr)18(ee user IDs.\))]TJ --12.287 -1.2 Td -(Figur)Tj -0.3076 Tc 2.383 0 Td -(e8)Tj -0 Tc 1.287 0 Td -[(.19 )-58(summarizes )-58(all )-58(the )-58(functions )-58(that )-58(we\325ve )-58(described )-58(her)]TJ -0.3077 Tc 25.788 0 Td -(et)Tj -0 Tc 1.113 0 Td -[(hat )-58(modify )-58(the)]TJ --32.37 -1.2 Td -[(thr)18(ee user IDs.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1446 3474 576 360 re -S -Q -BT -/T1_1 1 Tf --0.018 Tc 8.9984 0 0 8.9984 165.9591 368.5736 Tm -(re)Tj -0 Tc 0.856 0 Td -(al)Tj --1.664 -1.111 Td -(user ID)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2958 3474 576 360 re -S -Q -BT -/T1_1 1 Tf -8.9978 0 0 8.9978 307.8271 368.5515 Tm -[(ef)18(fective)]TJ -0.224 -1.111 Td -(user ID)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -4470 3474 576 360 re -S -Q -BT -/T1_1 1 Tf -8.9973 0 0 8.9973 464.0558 368.5294 Tm -(saved)Tj --1.155 -1.111 Td -[(set-user)18(-ID)]TJ -7.9976 0 0 7.9976 155.7734 469.2992 Tm -[(super)8(user)]TJ -/TT2 1 Tf --3.125 -1.25 Td -(setreuid\()Tj -/T1_2 1 Tf -(ruid)Tj -/TT2 1 Tf -(,)Tj -/T1_2 1 Tf -8.323 0 Td -(euid)Tj -/TT2 1 Tf -(\))Tj -/T1_1 1 Tf -13.702 1.25 Td -[(super)8(user)]TJ -/TT2 1 Tf --0.869 -1.25 Td -(setuid\()Tj -/T1_2 1 Tf -(uid)Tj -/TT2 1 Tf -(\))Tj -/T1_1 1 Tf -19.769 1.25 Td -[(super)8(user)]TJ -/TT2 1 Tf --1.169 -1.25 Td -(seteuid\()Tj -/T1_2 1 Tf -(uid)Tj -/TT2 1 Tf -(\))Tj -ET -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 173.4 390.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 1734 3906 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1734.25 4482.25 cm -0 0 m -0 -504 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1806.25 4482.25 cm -0 0 m -571 -241 l -S -Q -Q -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 317.4 390.6 cm -0 0 m --7.344 1.152 l --5.976 4.464 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3174 3906 cm -0 0 m --73.44 11.52 l --59.76 44.64 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2602.25 4146.25 cm -0 0 m -506 -213 l -S -Q -Q -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 180.6 390.6 cm -0 0 m -5.904 4.464 l -7.272 1.152 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 1806 3906 cm -0 0 m -59.04 44.64 l -72.72 11.52 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3174.25 4482.25 cm -0 0 m --1302 -548 l -S -Q -Q -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 324.6 390.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3246 3906 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 4482.25 cm -0 0 m -0 -504 l -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 468.6 390.6 cm -0 0 m --7.344 1.152 l --5.976 4.464 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 4686 3906 cm -0 0 m --73.44 11.52 l --59.76 44.64 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3318.25 4482.25 cm -0 0 m -1302 -548 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4686.25 4482.25 cm -0 0 m --572 -241 l -S -Q -Q -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 331.8 390.6 cm -0 0 m -5.904 4.464 l -7.272 1.152 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 3318 3906 cm -0 0 m -59.04 44.64 l -72.72 11.52 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3889.25 4146.25 cm -0 0 m --505 -213 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1950.25 4482.25 cm -0 0 m -694 -154 l -S -Q -Q -BT -/T1_2 1 Tf -7.8043 -1.7343 1.7343 7.8043 223.5314 444.8603 Tm -(euid)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2863.25 4279.25 cm -0 0 m -273 -61 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3355.25 4169.25 cm -0 0 m -273 -60 l -S -Q -Q -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 454.2 390.6 cm -0 0 m --7.416 -0.216 l --6.624 3.312 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 4542 3906 cm -0 0 m --74.16 -2.16 l --66.24 33.12 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3848.25 4060.25 cm -0 0 m -624 -139 l -S -Q -Q -BT -/T1_2 1 Tf -7.3674 -3.1021 3.1021 7.3674 210.5487 438.6867 Tm -(euid)Tj -7.3674 3.1021 -3.1021 7.3674 289.0395 439.557 Tm -(uid)Tj -17.419 -7.334 Td -(uid)Tj -7.3674 -3.1021 3.1021 7.3674 349.827 443.6948 Tm -(uid)Tj -7.9938 0 0 7.9938 157.4931 424.5087 Tm -(ruid)Tj -21.123 0.9 Td -(uid)Tj -/T1_1 1 Tf --12.572 -7.925 Td -(unprivileged)Tj -/TT2 1 Tf -0.472 -1.25 Td -(setreuid)Tj -/T1_1 1 Tf -18.428 1.25 Td -(unprivileged)Tj -/TT2 1 Tf -0.472 -1.25 Td -(setreuid)Tj -ET -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 295.8 374.4 cm -0 0 m --7.416 -0.288 l --6.696 3.24 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 2958 3744 cm -0 0 m --74.16 -2.88 l --66.96 32.4 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2887.4399 3758.3999 cm -0 0 m --131.08 24.54 -264.15 36.89 -397.51 36.89 c --554.89 36.89 -711.8 19.69 -865.44 -14.4 c -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 202.2 356.4 cm -0 0 m -7.416 0.288 l -6.696 -3.24 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 2022 3564 cm -0 0 m -74.16 2.88 l -66.96 -32.4 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2092.5601 3549.6001 cm -0 0 m -131.08 -24.54 264.15 -36.89 397.51 -36.89 c -554.89 -36.89 711.8 -19.69 865.44 14.4 c -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 353.4 374.4 cm -0 0 m -6.696 3.24 l -7.416 -0.288 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 3534 3744 cm -0 0 m -66.96 32.4 l -74.16 -2.88 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4470.0098 3744 cm -0 0 m --153.64 34.09 -310.55 51.29 -467.93 51.29 c --601.28 51.29 -734.36 38.94 -865.44 14.4 c -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 317.4 347.4 cm -0 0 m --2.304 -7.056 l --5.328 -5.112 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 3174 3474 cm -0 0 m --23.04 -70.56 l --53.28 -51.12 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1733.99 3474 cm -0 0 m -147.14 -259.1 422.14 -419.18 720.11 -419.18 c -992.38 -419.18 1247.26 -285.34 1401.84 -61.2 c -S -Q -Q -BT -/T1_1 1 Tf -7.9918 0 0 7.9918 222.1972 294.0359 Tm -(unprivileged)Tj -/TT2 1 Tf --1.748 -1.25 Td -(setuid)Tj -/T1_1 1 Tf -3.85 0 Td -(or)Tj -/TT2 1 Tf -1.191 0 Td -(seteuid)Tj -ET -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 331.8 347.4 cm -0 0 m -5.328 -5.112 l -2.304 -7.056 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 3318 3474 cm -0 0 m -53.28 -51.12 l -23.04 -70.56 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3356.1599 3412.8 cm -0 0 m -154.58 -224.14 409.46 -357.98 681.73 -357.98 c -979.7 -357.98 1254.7 -197.9 1401.84 61.2 c -S -Q -Q -BT -/T1_1 1 Tf -7.9914 0 0 7.9914 380.4129 294.0183 Tm -(unprivileged)Tj -/TT2 1 Tf --1.748 -1.25 Td -(setuid)Tj -/T1_1 1 Tf -3.85 0 Td -(or)Tj -/TT2 1 Tf -1.191 0 Td -(seteuid)Tj --2.635 6.488 Td -(exec)Tj -/T1_1 1 Tf -2.65 0 Td -(of)Tj --3.33 -1.25 Td -[(set-user)18(-ID)]TJ -ET -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 353.4 347.4 cm -0 0 m -7.416 0 l -6.552 -3.528 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 3534 3474 cm -0 0 m -74.16 0 l -65.52 -35.28 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 3402.25 cm -0 0 m --218 54 l -S -Q -Q -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 447 347.4 cm -0 0 m --6.552 -3.528 l --7.416 0 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 4470 3474 cm -0 0 m --65.52 -35.28 l --74.16 0 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4182.25 3402.25 cm -0 0 m -218 54 l -S -Q -Q -BT -/T1_0 1 Tf -7.9904 0 0 7.9904 199.844 251.1944 Tm -(Figure 8.19)Tj -/T1_1 1 Tf -5.695 0 Td -(Summary of all the functions that set the various user IDs)Tj -/TT1 1 Tf -9.988 0 0 9.988 93.4879 215.2376 Tm -[(Gr)20(oup IDs)]TJ -/T1_1 1 Tf -3.6 -2.4 Td -[(Everything )-187(that )-187(we\325ve )-187(said )-187(so )-187(far )-187(in )-187(this )-187(section )-187(also )-187(applies )-187(in )-187(a )-187(similar )-187(fashion )-187(to)]TJ -T* -[(gr)18(oup )-118(IDs.)-619(The )-119(supplementary )-119(gr)18(oup )-119(IDs )-119(ar)]TJ -0.3686 Tc 20.418 0 Td -(en)Tj -0 Tc 1.43 0 Td -[(ot )-119(af)18(fected )-119(by)]TJ -/TT2 1 Tf -6.574 0 Td -(setgid)Tj -/T1_1 1 Tf -(,)Tj -/TT2 1 Tf -4.219 0 Td -(setregid)Tj -/T1_1 1 Tf -0.3686 Tc (,o)Tj -0 Tc 5.965 0 Td -(r)Tj -/TT2 1 Tf --38.605 -1.2 Td -(setegid)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47457 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(96)Tj -/T1_1 1 Tf -3 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.741 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2547.25 6670.25 cm -0 0 m -1398 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 271.4517 658.9605 Tm -(Macr)Tj -5.122 Tc 2.267 0 Td -(oT)Tj -0 Tc 6.191 0 Td -(ype of \336le)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2547.25 6550.25 cm -0 0 m -1398 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2547.25 6530.25 cm -0 0 m -1398 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 258.689 644.9226 Tm -(S_ISREG\(\))Tj -/T1_1 1 Tf --0.018 Tc 7.5 0 Td -(re)Tj -0 Tc 0.856 0 Td -(gular \336le)Tj -/TT0 1 Tf --8.356 -1.25 Td -(S_ISDIR\(\))Tj -/T1_1 1 Tf -7.5 0 Td -[(dir)18(ectory \336le)]TJ -/TT0 1 Tf --7.5 -1.25 Td -(S_ISCHR\(\))Tj -/T1_1 1 Tf -7.5 0 Td -(character special \336le)Tj -/TT0 1 Tf --7.5 -1.25 Td -(S_ISBLK\(\))Tj -/T1_1 1 Tf -7.5 0 Td -(block special \336le)Tj -/TT0 1 Tf --7.5 -1.25 Td -(S_ISFIFO\(\))Tj -/T1_1 1 Tf -7.5 0 Td -(pipe or FIFO)Tj -/TT0 1 Tf --7.5 -1.25 Td -(S_ISLNK\(\))Tj -/T1_1 1 Tf -7.5 0 Td -(symbolic link)Tj -/TT0 1 Tf --7.5 -1.25 Td -(S_ISSOCK\(\))Tj -/T1_1 1 Tf -7.5 0 Td -(socket)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2547.25 5810.25 cm -0 0 m -1398 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3127.25 5810.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3945.25 5810.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2547.25 5810.25 cm -0 0 m -0 860 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 240.4727 562.8987 Tm -(Figure 4.1)Tj -/T1_1 1 Tf -5.195 0 Td -[(File type macr)18(os in)]TJ -/TT0 1 Tf -8.626 0 Td -()Tj -/T1_1 1 Tf -9.9982 0 0 9.9982 147.5738 541.3026 Tm -[(POSIX.1 )-259(allows )-259(implementations )-259(to )-259(r)20(epr)18(esent )-259(interpr)18(ocess )-258(communication)]TJ -34.884 0.04 Td -(\()Tj -0.333 -0.04 Td -(IPC)Tj -1.65 0.04 Td -(\))Tj --38.667 -1.24 Td -[(objects, )-310(such )-310(as )-310(message )-310(queues )-310(and )-310(semaphor)18(es, )-310(as )-310(\336les.)-813(The )-310(macr)18(os )-310(shown )-310(in)]TJ -0 -1.2 TD -(Figur)Tj -0.2592 Tc 2.383 0 Td -(e4)Tj -0 Tc 1.238 0 Td -[(.2 )-9(allow )-9(us )-9(to )-9(determine )-9(the )-9(type )-9(of )-9(IPC )-9(object )-9(fr)18(om )-9(the)]TJ -/TT0 1 Tf -24.732 0 Td -(stat)Tj -/T1_1 1 Tf -2.659 0 Td -[(str)8(uctur)18(e. )-259(Instead)]TJ --31.013 -1.2 Td -[(of )-229(taking )-229(the)]TJ -/TT0 1 Tf -6.515 0 Td -(st_mode)Tj -/T1_1 1 Tf -4.679 0 Td -[(member )-229(as )-229(an )-229(ar)18(gument, )-229(these )-229(macr)18(os )-229(dif)18(fer )-229(fr)18(om )-229(those )-229(in)]TJ --11.194 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e4)Tj -0 Tc 1.229 0 Td -[(.1 in that their ar)18(gument is a pointer to the)]TJ -/TT0 1 Tf -18.93 0 Td -(stat)Tj -/T1_1 1 Tf -2.65 0 Td -[(str)8(uctur)18(e.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2442.25 4794.25 cm -0 0 m -1608 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 268.0956 471.2869 Tm -(Macr)Tj -5.832 Tc 2.267 0 Td -(oT)Tj -0 Tc 6.901 0 Td -(ype of object)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2442.25 4674.25 cm -0 0 m -1608 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2442.25 4654.25 cm -0 0 m -1608 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 248.1375 457.2628 Tm -(S_TYPEISMQ\(\))Tj -/T1_1 1 Tf -9.3 0 Td -(message queue)Tj -/TT0 1 Tf --9.3 -1.25 Td -(S_TYPEISSEM\(\))Tj -/T1_1 1 Tf -9.3 0 Td -[(semaphor)18(e)]TJ -/TT0 1 Tf --9.3 -1.25 Td -(S_TYPEISSHM\(\))Tj -/T1_1 1 Tf -9.3 0 Td -[(shar)18(ed memory object)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2442.25 4334.25 cm -0 0 m -1608 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3166.25 4334.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4050.25 4334.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2442.25 4334.25 cm -0 0 m -0 460 l -S -Q -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 240.2975 415.2505 Tm -(Figure 4.2)Tj -/T1_1 1 Tf -5.195 0 Td -[(IPC type macr)18(os in)]TJ -/TT0 1 Tf -8.659 0 Td -()Tj -/T1_1 1 Tf -9.9964 0 0 9.9964 129.5539 393.6583 Tm -[(Message )-64(queues, )-64(semaphor)18(es, )-64(and )-64(shar)18(ed )-64(memory )-64(objects )-64(ar)]TJ -0.3139 Tc 27.239 0 Td -(ed)Tj -0 Tc 1.404 0 Td -[(iscussed )-64(in )-64(Chapter )-64(15.)]TJ --28.643 -1.2 Td -(However)Tj -0.3793 Tc 4.056 0 Td -(,n)Tj -0 Tc 1.211 0 Td -[(one )-129(of )-129(the )-129(various )-129(implementations )-129(of )-129(the )-129(UNIX )-129(System )-129(discussed )-129(in )-129(this)]TJ --5.267 -1.2 Td -[(book r)18(epr)18(esent these objects as \336les.)]TJ -/TT1 1 Tf --3.6 -2.4 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.16 Td -[(The pr)18(ogram in Figur)]TJ -0.25 Tc 9.538 0 Td -(e4)Tj -0 Tc 1.229 0 Td -(.3 prints the type of \336le for each command)Tj -18.7 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line ar)18(gument.)]TJ -ET -q -0.099964 0 0 0.099964 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3170.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9962 0 0 8.9962 129.5456 307.3699 Tm -(#include "apue.h")Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-4800(i;)]TJ -0 -1.189 TD -(struct stat buf;)Tj -T* -[(char )-4200(*ptr;)]TJ -0 -1.783 TD -(for \(i = 1; i < argc; i++\) {)Tj -2.4 -1.189 Td -(printf\("%s: ", argv[i]\);)Tj -0 -1.189 TD -(if \(lstat\(argv[i], &buf\) < 0\) {)Tj -2.4 -1.189 Td -(err_ret\("lstat error"\);)Tj -0 -1.189 TD -(continue;)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(S_ISREG\(buf.st_mode\)\))Tj -2.4 -1.189 Td -(ptr = "regular";)Tj --2.4 -1.189 Td -(else if \(S_ISDIR\(buf.st_mode\)\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47458 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.2)]TJ -33.344 0 Td -[(UNIX )-250(Domain )-250(Sockets)]TJ -/T1_1 1 Tf -12.489 0 Td -(633)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(#define MAXMSZ 512)Tj -0 -1.902 TD -(struct mymesg {)Tj -2.4 -1.189 Td -(long mtype;)Tj -0 -1.189 TD -(char mtext[MAXMSZ];)Tj --2.4 -1.189 Td -(};)Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -(key_t key;)Tj -T* -(long qid;)Tj -T* -(size_t nbytes;)Tj -T* -(struct mymesg m;)Tj -0 -1.902 TD -(if \(argc != 3\) {)Tj -2.4 -1.189 Td -(fprintf\(stderr, "usage: sendmsg KEY message\\n"\);)Tj -0 -1.189 TD -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(key = strtol\(argv[1], NULL, 0\);)Tj -T* -(if \(\(qid = msgget\(key, 0\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t open queue key %s", argv[1]\);)Tj --2.4 -1.189 Td -(memset\(&m, 0, sizeof\(m\)\);)Tj -T* -(strncpy\(m.mtext, argv[2], MAXMSZ-1\);)Tj -T* -(nbytes = strlen\(m.mtext\);)Tj -T* -(m.mtype = 1;)Tj -T* -(if \(msgsnd\(qid, &m, nbytes, 0\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t send message"\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3294.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 230.4043 313.3804 Tm -(Figure 17.4)Tj -/T1_0 1 Tf -5.695 0 Td -(Post a message to an XSI message queue)Tj -9.9988 0 0 9.9988 147.5825 289.3833 Tm -[(This )-60(pr)18(ogram )-60(takes )-60(two )-60(ar)18(guments: )-60(the )-60(key )-60(associated )-60(with )-60(the )-60(queue )-60(and )-60(a )-60(string)]TJ --1.8 -1.2 Td -[(to )-77(be )-77(sent )-77(as )-77(the )-77(body )-77(of )-77(the )-77(message.)-577(When )-77(we )-77(send )-77(messages )-77(to )-77(the )-77(server)67(,)-328(it)-328(p)1(rints)]TJ -0 -1.2 TD -[(them as shown below)92(.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5825 251.898 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./pollmsg &)Tj -/T1_2 1 Tf -23.6 0 Td -[(run the server in the backgr)18(ound)]TJ -/TT0 1 Tf --24.8 -1.189 Td -([1] 12814)Tj -0.6 Tc 0 -1.189 TD -($q)Tj -0 Tc 1.8 0 Td -(ueue ID 0 is 196608)Tj --1.8 -1.189 Td -(queue ID 1 is 196609)Tj -T* -(queue ID 2 is 196610)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(./sendmsg 0x123 "hello, world")Tj -/T1_2 1 Tf -23.6 0 Td -(send a message to the \336rst queue)Tj -/TT0 1 Tf --24.8 -1.189 Td -(queue id 196608, message hello, world)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(./sendmsg 0x124 "just a test")Tj -/T1_2 1 Tf -23.6 0 Td -(send a message to the second queue)Tj -/TT0 1 Tf --24.8 -1.189 Td -(queue id 196609, message just a test)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(./sendmsg 0x125 "bye")Tj -/T1_2 1 Tf -23.6 0 Td -(send a message to the third queue)Tj -/TT0 1 Tf --24.8 -1.189 Td -(queue id 196610, message bye)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1443.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47459 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(658)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -[(char )-1800(*ptr,)-600(*argv[MAXARGC];)]TJ -0 -1.189 TD -[(int )-2400(argc;)]TJ -0 -1.902 TD -[(if \(strtok\(buf, WHITE\) == NULL\))-3000(/* an argv[0] is required */)]TJ -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -(argv[argc = 0] = buf;)Tj -0 -1.189 TD -(while \(\(ptr = strtok\(NULL, WHITE\)\) != NULL\) {)Tj -2.4 -1.189 Td -[(if \(++argc >= MAXARGC-1\))-2400(/* -1 for room for NULL at end */)]TJ -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -(argv[argc] = ptr;)Tj --2.4 -1.189 Td -(})Tj -T* -(argv[++argc] = NULL;)Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*S)Tj -0 Tc 1.8 0 Td -(ince argv[] pointers point into the user\325s buf[],)Tj -0.6 Tc -1.8 -1.189 Td -(*u)Tj -0 Tc 1.8 0 Td -(ser\325s function can just copy the pointers, even)Tj -0.6 Tc -1.8 -1.189 Td -(*t)Tj -0 Tc 1.8 0 Td -(hough argv[] array will disappear on return.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(return\(\(*optfunc\)\(argc, argv\)\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4707.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 257.0651 454.7044 Tm -(Figure 17.23)Tj -/T1_1 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(buf_args)Tj -/T1_1 1 Tf -5.05 0 Td -(function)Tj -9.9988 0 0 9.9988 147.5827 430.7073 Tm -[(The )-156(server)-74(\325s )-156(function )-156(that )-156(is )-156(called )-156(by)]TJ -/TT0 1 Tf -17.912 0 Td -(buf_args)Tj -/T1_1 1 Tf -5.206 0 Td -(is)Tj -/TT0 1 Tf -1.121 0 Td -(cli_args)Tj -/T1_1 1 Tf -5.206 0 Td -(\(Figur)Tj -0.4064 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.385 0 Td -[(7.24\). )-406(It)]TJ --35.348 -1.2 Td -[(veri\336es )-34(that )-34(the )-34(client )-34(sent )-34(the )-34(right )-34(number )-34(of )-34(ar)19(guments )-34(and )-34(stor)18(es )-34(the )-34(pathname )-34(and)]TJ -0 -1.2 TD -(open mode in global variables.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3995.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 389.9878 Tm -[(#include )-1800("opend.h")]TJ -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*T)Tj -0 Tc 1.8 0 Td -(his function is called by buf_args\(\), which is called by)Tj -0.6 Tc -1.8 -1.189 Td -(*h)Tj -0 Tc 1.8 0 Td -[(andle_request\(\). )-600(buf_args\(\))-600(has broken up the client\325s)]TJ -0.6 Tc -1.8 -1.189 Td -(*b)Tj -0 Tc 1.8 0 Td -(uffer into an argv[]-style array, which we now process.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(int)Tj -0 -1.189 TD -(cli_args\(int argc, char **argv\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(argc != 3 || strcmp\(argv[0], CL_OPEN\) != 0\) {)Tj -2.4 -1.189 Td -(strcpy\(errmsg, "usage: \\n"\);)Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -[(pathname = argv[1];)-3000(/* save ptr to pathname to open */)]TJ -T* -(oflag = atoi\(argv[2]\);)Tj -T* -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2076.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 257.0343 191.591 Tm -(Figure 17.24)Tj -/T1_1 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(cli_args)Tj -/T1_1 1 Tf -5.05 0 Td -(function)Tj -9.9976 0 0 9.9976 147.565 167.5968 Tm -[(This )-24(completes )-24(the )-24(open )-24(server )-24(that )-24(is )-24(invoked )-24(by )-24(a)]TJ -/TT0 1 Tf -23.146 0 Td -(fork)Tj -/T1_1 1 Tf -2.674 0 Td -(and)Tj -/TT0 1 Tf -1.967 0 Td -(exec)Tj -/T1_1 1 Tf -2.674 0 Td -[(fr)18(om )-24(the )-24(client.)]TJ -0.3835 Tc -32.262 -1.2 Td -(As)Tj -0 Tc 1.586 0 Td -[(ingle )-133(fd-pipe )-133(is )-133(cr)17(eated )-133(befor)]TJ -0.3834 Tc 13.201 0 Td -(et)Tj -0 Tc 1.188 0 Td -(he)Tj -/TT0 1 Tf -1.444 0 Td -(fork)Tj -/T1_1 1 Tf -2.783 0 Td -[(and )-133(is )-133(used )-133(to )-133(communicate )-133(between )-133(the)]TJ --20.203 -1.2 Td -(client and the server)Tj -0.5 Tc 8.906 0 Td -(.W)Tj -0 Tc 1.695 0 Td -(ith this arrangement, we have one server per client.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47460 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.5)]TJ -31.183 0 Td -[(An )-250(Open )-250(Server)]TJ -0.5 Tc 7.572 0 Td -(,V)Tj -0 Tc 1.361 0 Td -[(ersion )-250(1)]TJ -/T1_1 1 Tf -5.717 0 Td -(657)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(#include )-1800("opend.h")]TJ -0 -1.189 TD -[(#include )-1800()]TJ -0 -1.902 TD -(void)Tj -0 -1.189 TD -(handle_request\(char *buf, int nread, int fd\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(newfd;)]TJ -0 -1.902 TD -(if \(buf[nread-1] != 0\) {)Tj -2.4 -1.189 Td -(snprintf\(errmsg, MAXLINE-1,)Tj -1.2 -1.189 Td -("request not null terminated: %*.*s\\n", nread, nread, buf\);)Tj --1.2 -1.189 Td -(send_err\(fd, -1, errmsg\);)Tj -0 -1.189 TD -(return;)Tj --2.4 -1.189 Td -(})Tj -T* -[(if \(buf_args\(buf, cli_args\) < 0\) {)-1200(/* parse args & set options */)]TJ -2.4 -1.189 Td -(send_err\(fd, -1, errmsg\);)Tj -T* -(return;)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(\(newfd = open\(pathname, oflag\)\) < 0\) {)Tj -2.4 -1.189 Td -(snprintf\(errmsg, MAXLINE-1, "can\325t open %s: %s\\n", pathname,)Tj -1.2 -1.189 Td -(strerror\(errno\)\);)Tj --1.2 -1.189 Td -(send_err\(fd, -1, errmsg\);)Tj -T* -(return;)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -[(if \(send_fd\(fd, newfd\) < 0\))-3000(/* send the descriptor */)]TJ -2.4 -1.189 Td -(err_sys\("send_fd error"\);)Tj --2.4 -1.189 Td -[(close\(newfd\); )-3600(/*)-600(we\325re done with descriptor */)]TJ --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3743.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 224.5411 358.315 Tm -(Figure 17.22)Tj -/T1_0 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(handle_request)Tj -/T1_0 1 Tf -8.65 0 Td -(function, version 1)Tj -9.9988 0 0 9.9988 147.5827 334.3179 Tm -[(The )-39(client\325s )-39(r)18(equest )-39(is )-39(a )-39(null-terminated )-39(string )-39(of )-39(white-space-separated )-39(ar)17(guments.)]TJ --1.8 -1.2 Td -[(The )-147(function)]TJ -/TT0 1 Tf -6.175 0 Td -(buf_args)Tj -/T1_0 1 Tf -5.197 0 Td -[(in )-147(Figur)]TJ -0.3969 Tc 3.653 0 Td -(e1)Tj -0 Tc 1.376 0 Td -[(7.23 )-147(br)18(eaks )-147(this )-147(string )-147(into )-147(a )-147(standar)19(d)]TJ -/TT0 1 Tf -17.79 0 Td -(argv)Tj -/T1_0 1 Tf -(-style)Tj --34.191 -1.2 Td -[(ar)18(gument )-163(list )-163(and )-163(calls )-163(a )-163(user )-163(function )-163(to )-163(pr)18(ocess )-163(the )-163(ar)21(guments. )-413(W)]TJ -0.4126 Tc 31.621 0 Td -(eu)Tj -0 Tc 1.495 0 Td -[(se )-163(the )-163(ISO )-163(C)]TJ --33.115 -1.2 Td -(function)Tj -/TT0 1 Tf -3.957 0 Td -(strtok)Tj -/T1_0 1 Tf -3.85 0 Td -[(to tokenize the string into separate ar)18(guments.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2911.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 281.6063 Tm -(#include "apue.h")Tj -0 -1.902 TD -[(#define MAXARGC)-3000(50 )-600(/*)-600(max number of arguments in buf */)]TJ -0 -1.189 TD -(#define WHITE)Tj -0.6 Tc 9.6 0 Td -("\\)Tj -0 Tc 1.8 0 Td -(t\\n" /* white space for tokenizing arguments */)Tj --11.4 -1.902 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*b)Tj -0 Tc 1.8 0 Td -[(uf[] contains white-space-separated arguments.)-1200(We convert it to an)]TJ -0.6 Tc -1.8 -1.189 Td -(*a)Tj -0 Tc 1.8 0 Td -(rgv-style array of pointers, and call the user\325s function \(optfunc\)\ )Tj --1.8 -1.189 Td -[(*)-600(to)-600(process the array.)-1200(We return -1 if there\325s a problem parsing buf,)]TJ -0.6 Tc T* -(*e)Tj -0 Tc 1.8 0 Td -[(lse we return whatever optfunc\(\) returns.)-1200(Note that user\325s buf[])]TJ -0.6 Tc -1.8 -1.189 Td -(*a)Tj -0 Tc 1.8 0 Td -(rray is modified \(nulls placed after each token\).)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(int)Tj -T* -(buf_args\(char *buf, int \(*optfunc\)\(int, char **\)\))Tj -T* -({)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47461 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(380)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(It )-131(operates )-131(in )-131(a )-131(similar )-131(manner )-131(to )-131(the)]TJ -/TT0 1 Tf -17.588 0 Td -(psignal)Tj -/T1_1 1 Tf -4.581 0 Td -[(function. )-381(Although)-381(this )-131(function )-131(has)]TJ --22.169 -1.2 Td -[(access )-60(to )-60(mor)]TJ -0.3101 Tc 6.013 0 Td -(ei)Tj -0 Tc 1.08 0 Td -[(nformation )-60(than )-60(just )-60(the )-60(signal )-60(number)]TJ -0.3102 Tc 17.564 0 Td -(,p)Tj -0 Tc 1.161 0 Td -[(latforms )-60(vary )-60(in )-60(exactly )-60(what)]TJ --25.818 -1.2 Td -(additional information is printed.)Tj -1.8 -1.2 Td -[(If )-94(you )-94(only )-94(need )-94(the )-94(string )-94(description )-94(of )-94(the )-94(signal )-94(and )-94(don\325t )-94(necessarily )-94(want )-94(to)]TJ --1.8 -1.2 Td -[(write )-33(it )-33(to )-33(standar)]TJ -0.2835 Tc 7.984 0 Td -(de)Tj -0 Tc 1.374 0 Td -[(rr)18(or )-34(\(you )-34(might )-34(want )-34(to )-34(write )-34(it )-34(to )-34(a )-34(log )-34(\336le, )-34(for )-34(example\), )-34(you )-34(can)]TJ --9.358 -1.2 Td -[(use )-97(the)]TJ -/TT0 1 Tf -3.588 0 Td -(strsignal)Tj -/T1_1 1 Tf -5.747 0 Td -[(function. )-347(This)-348(function )-97(is )-97(similar )-97(to)]TJ -/TT0 1 Tf -16.569 0 Td -(strerror)Tj -/T1_1 1 Tf -5.147 0 Td -[(\(also )-97(described )-97(in)]TJ --31.051 -1.2 Td -(Section 1.7\).)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5917 577.8653 Tm -(#include )Tj -0 -1.902 TD -(char *strsignal\(int)Tj -/T1_2 1 Tf -12 0 Td -(signo)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -5.283 -1.902 Td -(Returns: a pointer to a string describing the signal)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5391.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 523.1972 Tm -[(Given )-80(a )-80(signal )-80(number)75(,)]TJ -/TT0 1 Tf -10.814 0 Td -(strsignal)Tj -/T1_1 1 Tf -5.73 0 Td -[(will )-80(r)18(eturn )-80(a )-80(string )-80(that )-80(describes )-80(the )-80(signal.)-578(This)]TJ --16.544 -1.2 Td -[(string can be used by applications to print err)18(or messages about signals r)18(eceived.)]TJ -7.999 0 0 7.999 183.5779 491.2011 Tm -[(All )-53(the )-53(platforms )-53(discussed )-53(in )-53(this )-53(book )-53(pr)21(ovide )-52(the)]TJ -/TT0 1 Tf -23.634 0 Td -(psignal)Tj -/T1_1 1 Tf -4.502 0 Td -(and)Tj -/TT0 1 Tf -1.996 0 Td -(strsignal)Tj -/T1_1 1 Tf -5.702 0 Td -[(functions, )-52(but)]TJ --35.835 -1.25 Td -[(dif)18(fer)18(ences )-22(do )-22(occur)]TJ -0.5216 Tc 8.872 0 Td -(.O)Tj -0.2716 Tc 1.558 0 Td -(nS)Tj -0 Tc 1.379 0 Td -[(olaris )-22(10,)]TJ -/TT0 1 Tf -4.24 0 Td -(strsignal)Tj -/T1_1 1 Tf -5.672 0 Td -[(will )-22(r)18(eturn )-22(a )-22(null )-22(pointer )-22(if )-22(the )-22(signal )-22(number)]TJ --21.72 -1.25 Td -[(is )-130(invalid, )-130(wher)17(eas )-130(Fr)18(eeBSD )-130(8.0, )-130(Linux )-130(3.2.0, )-130(and )-130(Mac )-130(OS )-130(X )-130(10.6.8 )-130(r)18(eturn )-130(a )-130(string )-130(indicating)]TJ -0 -1.25 TD -[(that the signal number is unr)18(ecognized.)]TJ -0 -2 TD -(Only Linux 3.2.0 and Solaris 10 support the)Tj -/TT0 1 Tf -19.366 0 Td -(psiginfo)Tj -/T1_1 1 Tf -5.05 0 Td -(function.)Tj -9.9988 0 0 9.9988 147.5817 424.2091 Tm -[(Solaris )-14(pr)18(ovides )-14(a )-14(couple )-14(of )-14(functions )-14(to )-14(map )-14(a )-14(signal )-14(number )-14(to )-14(a )-14(signal )-14(name, )-14(and)]TJ --1.8 -1.2 Td -(vice versa.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5817 393.1128 Tm -(#include )Tj -0 -2.021 TD -(int sig2str\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(signo)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.967 0 Td -(har *)Tj -/T1_2 1 Tf -(str)Tj -/TT0 1 Tf -(\);)Tj --13.567 -2.021 Td -(int str2sig\(const char *)Tj -/T1_2 1 Tf -(str)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 17.311 0 Td -(nt *)Tj -/T1_2 1 Tf -(signop)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -7.94 -2.021 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT1 1 Tf -9.213 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3341.25 cm -0 0 m -0 680 l -3900 680 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 318.1327 Tm -[(These )-104(functions )-104(ar)]TJ -0.3539 Tc 8.293 0 Td -(eu)Tj -0 Tc 1.436 0 Td -[(seful )-104(when )-104(writing )-104(interactive )-104(pr)18(ograms )-104(that )-104(need )-104(to )-104(accept )-104(and)]TJ --9.729 -1.2 Td -(print signal names and numbers.)Tj -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.031 0 Td -(sig2str)Tj -/T1_1 1 Tf -4.557 0 Td -[(function )-107(translates )-107(the )-107(given )-107(signal )-107(number )-107(into )-107(a )-107(string )-107(and )-107(stor)17(es)]TJ --8.388 -1.2 Td -[(the )-78(r)18(esult )-78(in )-78(the )-78(memory )-78(pointed )-78(to )-78(by)]TJ -/T1_2 1 Tf -17.932 0 Td -(str)Tj -/T1_1 1 Tf -0.5782 Tc (.T)Tj -0 Tc 2.552 0 Td -[(he )-78(caller )-78(must )-78(ensur)]TJ -0.3282 Tc 9.147 0 Td -(et)Tj -0 Tc 1.133 0 Td -[(hat )-78(the )-78(memory )-78(is)]TJ --30.764 -1.2 Td -[(lar)18(ge )-177(enough )-177(to )-177(hold )-177(the )-177(longest )-177(string, )-177(including )-177(the )-177(terminating )-177(null )-177(byte.)-683(Solaris)]TJ -0 -1.2 Td -[(pr)18(ovides )-187(the )-187(constant)]TJ -/TT0 1 Tf -10.321 0 Td -(SIG2STR_MAX)Tj -/T1_1 1 Tf -7.037 0 Td -(in)Tj -/TT0 1 Tf -1.31 0 Td -()Tj -/T1_1 1 Tf -6.437 0 Td -[(to )-187(de\336ne )-187(the )-187(maximum )-187(string)]TJ --25.105 -1.2 Td -[(length. )-345(The)-346(string )-95(consists )-95(of )-95(the )-95(signal )-95(name )-95(without )-95(the )-95(\324)35(\324SIG\325)]TJ -0.3453 Tc 29.112 0 Td -(\325p)Tj --0.018 Tc 1.224 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(\336x. )-345(For)-346(example,)]TJ --31.192 -1.2 Td -(translating)Tj -/TT0 1 Tf -5.098 0 Td -(SIGKILL)Tj -/T1_1 1 Tf -4.525 0 Td -[(would )-75(r)18(esult )-75(in )-75(the )-75(string )-75(\324)38(\324KILL)]TJ --0.037 Tc 14.573 0 Td -[(\325\325 )-149(b)]TJ -0 Tc 1.397 0 Td -[(eing )-75(stor)18(ed )-75(in )-75(the)]TJ -/T1_2 1 Tf -8.23 0 Td -(str)Tj -/T1_1 1 Tf -1.436 0 Td -(memory)Tj --35.258 -1.2 Td -[(buf)18(fer)74(.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.002 0 Td -(str2sig)Tj -/T1_1 1 Tf -4.528 0 Td -[(function )-78(translates )-78(the )-78(given )-78(name )-78(into )-78(a )-78(signal )-78(number)]TJ -0.5784 Tc 25.194 0 Td -(.T)Tj -0 Tc 1.441 0 Td -[(he )-78(signal)]TJ --34.966 -1.2 Td -[(number )-51(is )-51(stor)18(ed )-51(in )-51(the )-51(integer )-51(pointed )-51(to )-51(by)]TJ -/T1_2 1 Tf -20.467 0 Td -(signop)Tj -/T1_1 1 Tf -0.551 Tc (.T)Tj -0 Tc 4.081 0 Td -[(he )-51(name )-51(can )-51(be )-51(either )-51(the )-51(signal)]TJ --24.548 -1.2 Td -[(name )-68(without )-68(the )-68(\324)38(\324SIG\325)]TJ -0.3178 Tc 10.677 0 Td -(\325p)Tj --0.018 Tc 1.197 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(\336x )-68(or )-68(a )-68(string )-68(r)19(epr)18(esentation )-68(of )-68(the )-68(decimal )-68(signal )-68(number)]TJ --12.73 -1.2 Td -[(\(i.e., \324)37(\3249\325)37(\325\).)]TJ -1.8 -1.2 Td -[(Note )-251(that)]TJ -/TT0 1 Tf -4.918 0 Td -(sig2str)Tj -/T1_1 1 Tf -4.701 0 Td -(and)Tj -/TT0 1 Tf -2.194 0 Td -(str2sig)Tj -/T1_1 1 Tf -4.701 0 Td -[(depart )-251(fr)18(om )-251(common )-251(practice )-251(and )-251(don\325t )-251(set)]TJ -/TT0 1 Tf --18.314 -1.2 Td -(errno)Tj -/T1_1 1 Tf -3.25 0 Td -(when they fail.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47462 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(830)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(549 )-1200(/*)]TJ -0 -1.189 TD -[(550 )-1800(*)-600(Deal with signals.)]TJ -T* -[(551 )-1800(*)]TJ -T* -[(552 )-1800(*)-600(LOCKING: acquires and releases configlock.)]TJ -T* -[(553 )-1800(*/)]TJ -0 -1.189 TD -[(554 )-1200(void)-600(*)]TJ -0 -1.189 TD -[(555 )-1200(signal_thread\(void)-600(*arg\))]TJ -T* -[(556 )-1200({)]TJ -T* -[(557 )-2400(int )-2400(err,)-600(signo;)]TJ -0 -2.14 TD -[(558 )-2400(for)-600(\(;;\) {)]TJ -0 -1.189 TD -[(559 )-4800(err)]TJ -0.6 Tc 9.6 0 Td -(=s)Tj -0 Tc 1.8 0 Td -(igwait\(&mask, &signo\);)Tj --11.4 -1.189 Td -[(560 )-4800(if)-600(\(err != 0\))]TJ -T* -(561 )Tj -9.6 0 Td -[(log_quit\("sigwait)-600(failed: %s", strerror\(err\)\);)]TJ --9.6 -1.189 Td -[(562 )-4800(switch)-600(\(signo\) {)]TJ -T* -[(563 )-4800(case)-600(SIGHUP:)]TJ -T* -(564 )Tj -9.6 0 Td -(/*)Tj --9.6 -1.189 Td -(565 )Tj -10.2 0 Td -[(*)-600(Schedule to re-read the configuration file.)]TJ --10.2 -1.189 Td -(566 )Tj -10.2 0 Td -(*/)Tj --10.2 -1.189 Td -(567 )Tj -9.6 0 Td -(pthread_mutex_lock\(&configlock\);)Tj --9.6 -1.189 Td -(568 )Tj -9.6 0 Td -(reread)Tj -0.6 Tc 4.2 0 Td -(=1)Tj -0 Tc 1.8 0 Td -(;)Tj --15.6 -1.189 Td -(569 )Tj -9.6 0 Td -(pthread_mutex_unlock\(&configlock\);)Tj --9.6 -1.189 Td -(570 )Tj -9.6 0 Td -(break;)Tj --9.6 -2.14 Td -[(571 )-4800(case)-600(SIGTERM:)]TJ -T* -(572 )Tj -9.6 0 Td -(kill_workers\(\);)Tj --9.6 -1.189 Td -(573 )Tj -9.6 0 Td -[(log_msg\("terminate)-600(with signal %s", strsignal\(signo\)\);)]TJ --9.6 -1.189 Td -(574 )Tj -9.6 0 Td -(exit\(0\);)Tj --9.6 -2.14 Td -[(575 )-4800(default:)]TJ -T* -(576 )Tj -9.6 0 Td -(kill_workers\(\);)Tj --9.6 -1.189 Td -(577 )Tj -9.6 0 Td -[(log_quit\("unexpected)-600(signal %d", signo\);)]TJ --9.6 -1.189 Td -[(578 )-4800(})]TJ -T* -[(579 )-2400(})]TJ -T* -[(580 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2973.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 273.2852 Tm -[([549 )167(\320 )167(562])-668(The)]TJ -/TT0 1 Tf -7.073 0 Td -(signal_thread)Tj -/T1_1 1 Tf -8.199 0 Td -[(function )-149(is )-149(r)8(un )-149(by )-149(the )-149(thr)18(ead )-149(that )-149(is )-149(r)16(esponsible )-149(for)]TJ --10.272 -1.2 Td -[(handling )-181(signals.)-681(In )-181(the)]TJ -/TT0 1 Tf -11.593 0 Td -(main)Tj -/T1_1 1 Tf -2.831 0 Td -[(function, )-181(we )-181(initialized )-181(the )-181(signal )-181(mask )-181(to)]TJ --14.424 -1.2 Td -(include)Tj -/TT0 1 Tf -3.69 0 Td -(SIGHUP)Tj -/T1_1 1 Tf -3.989 0 Td -(and)Tj -/TT0 1 Tf -2.082 0 Td -(SIGTERM)Tj -/T1_1 1 Tf -0.6389 Tc (.H)Tj -0 Tc 5.921 0 Td -[(er)18(e, )-139(we )-139(call)]TJ -/TT0 1 Tf -5.591 0 Td -(sigwait)Tj -/T1_1 1 Tf -4.589 0 Td -[(to )-139(wait )-139(for )-139(one )-139(of)]TJ --25.861 -1.2 Td -(these signals to occur)Tj -0.5 Tc 9.338 0 Td -(.I)Tj -0 Tc 1.087 0 Td -(f)Tj -/TT0 1 Tf -0.583 0 Td -(sigwait)Tj -/T1_1 1 Tf -4.45 0 Td -[(fails, we log an err)18(or message and exit.)]TJ --20.458 -1.6 Td -[([563 )167(\320 )167(570])-668(If )-98(we )-98(r)18(eceive)]TJ -/TT0 1 Tf -11.14 0 Td -(SIGHUP)Tj -/T1_1 1 Tf -[(,)-348(we)-348(acquir)]TJ -0.3478 Tc 8.634 0 Td -(et)Tj -0 Tc 1.153 0 Td -(he)Tj -/TT0 1 Tf -1.409 0 Td -(configlock)Tj -/T1_1 1 Tf -6.348 0 Td -[(mutex, )-98(set )-98(the)]TJ -/TT0 1 Tf -6.716 0 Td -(reread)Tj -/T1_1 1 Tf --30.4 -1.2 Td -[(variable )-51(to )-51(1, )-51(and )-51(r)18(elease )-51(the )-51(mutex.)-552(This )-51(tells )-51(the )-51(printer )-51(daemon )-51(to )-51(r)17(er)18(ead)]TJ -0 -1.2 TD -[(the con\336guration \336le on the next iteration in its pr)18(ocessing loop.)]TJ --5 -1.6 Td -[([571 )167(\320 )167(574])-668(If )-335(we )-335(r)17(eceive)]TJ -/TT0 1 Tf -11.853 0 Td -(SIGTERM)Tj -/T1_1 1 Tf -0.5853 Tc (,w)Tj -0.5854 Tc 5.869 0 Td -(ec)Tj -0 Tc 1.508 0 Td -(all)Tj -/TT0 1 Tf -1.667 0 Td -(kill_workers)Tj -/T1_1 1 Tf -7.785 0 Td -[(to )-335(kill )-335(all )-335(the )-335(worker)]TJ --23.683 -1.2 Td -[(thr)18(eads, log a message, and call)]TJ -/TT0 1 Tf -14.156 0 Td -(exit)Tj -/T1_1 1 Tf -2.65 0 Td -[(to terminate the pr)18(ocess.)]TJ --21.806 -1.6 Td -[([575 )167(\320 )167(580])-668(If )-92(we )-92(r)18(eceive )-92(a )-92(signal )-92(we )-92(ar)]TJ -0.3419 Tc 17.482 0 Td -(en)Tj -0 Tc 1.403 0 Td -[(ot )-92(expecting, )-92(we )-92(kill )-92(the )-92(worker )-92(thr)18(eads )-92(and)]TJ --13.885 -1.2 Td -(call)Tj -/TT0 1 Tf -1.776 0 Td -(log_quit)Tj -/T1_1 1 Tf -5.05 0 Td -[(to log an err)18(or message and exit.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47463 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(840)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(853 )Tj -9.6 0 Td -(/*)Tj --9.6 -1.189 Td -(854 )Tj -10.2 0 Td -[(*)-600(HTTP request was okay, but still need to check)]TJ --10.2 -1.189 Td -(855 )Tj -10.2 0 Td -[(*)-600(IPP status.)-1200(Search for the Content-Length.)]TJ --10.2 -1.189 Td -(856 )Tj -10.2 0 Td -(*/)Tj --10.2 -1.189 Td -(857 )Tj -9.6 0 Td -[(i)-600(=)-600(cp)-600(-)-600(bp;)]TJ --9.6 -1.189 Td -(858 )Tj -9.6 0 Td -[(for)-600(\(;;\) {)]TJ --9.6 -1.189 Td -(859 )Tj -12 0 Td -[(while)-600(\(*cp != \325C\325 && *cp != \325c\325 && i < datsz\) {)]TJ --12 -1.189 Td -(860 )Tj -14.4 0 Td -(cp++;)Tj --14.4 -1.189 Td -(861 )Tj -14.4 0 Td -(i++;)Tj --14.4 -1.189 Td -(862 )Tj -12 0 Td -(})Tj --12 -1.189 Td -(863 )Tj -12 0 Td -[(if)-600(\(i >= datsz\) {)-1800(/* get more header */)]TJ --12 -1.189 Td -(864 )Tj -14.4 0 Td -[(if)-600(\(\(nr = readmore\(sfd, &bp, i, &bufsz\)\) < 0\) {)]TJ --14.4 -1.189 Td -(865 )Tj -16.8 0 Td -[(goto)-600(out;)]TJ --16.8 -1.189 Td -(866 )Tj -14.4 0 Td -[(})-600(else {)]TJ --14.4 -1.189 Td -(867 )Tj -16.8 0 Td -(cp)Tj -0.6 Tc 1.8 0 Td -(=&)Tj -0 Tc 1.8 0 Td -(bp[i];)Tj --20.4 -1.189 Td -(868 )Tj -16.8 0 Td -[(datsz)-600(+= nr;)]TJ --16.8 -1.189 Td -(869 )Tj -14.4 0 Td -(})Tj --14.4 -1.189 Td -(870 )Tj -12 0 Td -(})Tj --12 -2.021 Td -(871 )Tj -12 0 Td -[(if)-600(\(strncasecmp\(cp, "Content-Length:", 15\) == 0\) {)]TJ --12 -1.189 Td -(872 )Tj -14.4 0 Td -[(cp)-600(+= 15;)]TJ --14.4 -1.189 Td -(873 )Tj -14.4 0 Td -[(while)-600(\(isspace\(\(int\)*cp\)\))]TJ --14.4 -1.189 Td -(874 )Tj -16.8 0 Td -(cp++;)Tj --16.8 -1.189 Td -(875 )Tj -14.4 0 Td -(contentlen)Tj -0.6 Tc 6.6 0 Td -(=c)Tj -0 Tc 1.8 0 Td -(p;)Tj --22.8 -1.189 Td -(876 )Tj -14.4 0 Td -[(while)-600(\(isdigit\(\(int\)*cp\)\))]TJ --14.4 -1.189 Td -(877 )Tj -16.8 0 Td -(cp++;)Tj --16.8 -1.189 Td -(878 )Tj -14.4 0 Td -(*cp++)Tj -0.6 Tc 3.6 0 Td -(=\325)Tj -0 Tc 1.8 0 Td -(\\0\325;)Tj --19.8 -1.189 Td -(879 )Tj -14.4 0 Td -[(i)-600(=)-600(cp)-600(-)-600(bp;)]TJ --14.4 -1.189 Td -(880 )Tj -14.4 0 Td -(len)Tj -0.6 Tc 2.4 0 Td -(=a)Tj -0 Tc 1.8 0 Td -(toi\(contentlen\);)Tj --18.6 -1.189 Td -(881 )Tj -14.4 0 Td -(break;)Tj --14.4 -1.189 Td -(882 )Tj -12 0 Td -[(})-600(else {)]TJ --12 -1.189 Td -(883 )Tj -14.4 0 Td -(cp++;)Tj --14.4 -1.189 Td -(884 )Tj -14.4 0 Td -(i++;)Tj --14.4 -1.189 Td -(885 )Tj -12 0 Td -(})Tj --12 -1.189 Td -(886 )Tj -9.6 0 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2941.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 270.0756 Tm -[([853 )167(\320 )167(870])-668(If )-120(the )-120(HTTP )-120(r)18(equest )-120(succeeds, )-120(we )-120(need )-120(to )-120(check )-120(the )-120(IPP )-120(status.)]TJ --0.092 Tc 34.437 0 Td -[(We )-304(s)]TJ -0 Tc 2.181 0 Td -[(ear)18(ch)]TJ --31.618 -1.2 Td -[(thr)18(ough )-122(the )-122(message )-122(until )-122(we )-122(\336nd )-122(the)]TJ -/TT0 1 Tf -17.896 0 Td -(Content-Length)Tj -/T1_1 1 Tf -8.771 0 Td -[(attribute. )-371(HTTP)]TJ --26.668 -1.2 Td -[(header )-131(keywor)18(ds )-131(ar)]TJ -0.3811 Tc 9.068 0 Td -(ec)Tj -0 Tc 1.304 0 Td -[(ase )-131(insensitive, )-131(so )-131(we )-131(need )-131(to )-131(check )-131(both )-131(lower)17(case)]TJ --10.372 -1.2 Td -[(and )-53(upper)18(case )-53(characters.)-553(If )-53(we )-53(r)8(un )-53(out )-53(of )-53(buf)18(fer )-53(space, )-53(we )-53(call)]TJ -/TT0 1 Tf -28.95 0 Td -(readmore)Tj -/T1_1 1 Tf -(,)Tj --28.95 -1.2 Td -[(which )-59(uses)]TJ -/TT0 1 Tf -5.281 0 Td -(realloc)Tj -/T1_1 1 Tf -4.509 0 Td -[(to )-59(incr)18(ease )-59(the )-59(buf)18(fer )-59(size.)-559(Because )-59(the )-59(buf)18(fer )-59(addr)18(ess)]TJ --9.79 -1.2 Td -[(might )-5(change, )-5(we )-5(need )-5(to )-5(adjust)]TJ -/TT0 1 Tf -14.592 0 Td -(cp)Tj -/T1_1 1 Tf -1.454 0 Td -[(to )-4(point )-4(to )-4(the )-4(corr)18(ect )-4(place )-4(in )-4(the )-4(buf)14(fer)74(.)]TJ --21.047 -1.6 Td -[([871 )167(\320 )167(886])]TJ --0.092 Tc 5 0 Td -[(We )-293(u)]TJ -0 Tc 2.349 0 Td -[(se )-109(the)]TJ -/TT0 1 Tf -3.008 0 Td -(strncasecmp)Tj -/T1_1 1 Tf -6.959 0 Td -[(function )-109(to )-109(do )-109(a )-109(case-insensitive )-109(comparison.)-608(If)]TJ --12.315 -1.2 Td -[(we )-88(\336nd )-88(the)]TJ -/TT0 1 Tf -5.513 0 Td -(Content-Length)Tj -/T1_1 1 Tf -8.738 0 Td -[(attribute )-88(string, )-88(we )-88(sear)18(ch )-88(for )-88(its )-88(value.)]TJ --0.092 Tc 18.362 0 Td -(We)Tj -0 Tc -32.613 -1.2 Td -[(convert )-36(this )-36(numeric )-36(string )-36(into )-36(an )-36(integer )-36(and )-36(br)18(eak )-36(out )-36(of )-36(the)]TJ -/TT0 1 Tf -28.475 0 Td -(for)Tj -/T1_1 1 Tf -2.086 0 Td -[(loop. )-286(If)]TJ --30.56 -1.2 Td -[(the )-119(comparison )-119(fails, )-119(we )-119(continue )-119(sear)19(ching )-119(the )-119(buf)18(fer )-119(byte )-119(by )-119(byte.)-619(If )-119(we)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(ach )-54(the )-54(end )-54(of )-54(the )-54(buf)18(fer )-54(without )-54(\336nding )-54(the)]TJ -/TT0 1 Tf -20.391 0 Td -(Content-Length)Tj -/T1_1 1 Tf -8.704 0 Td -(attribute,)Tj --29.951 -1.2 Td -[(we r)18(ead mor)]TJ -0.25 Tc 5.586 0 Td -(ef)Tj --0.018 Tc 1.062 0 Td -(ro)Tj -0.25 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.459 0 Td -[(he printer and continue the sear)18(ch.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47464 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(12)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(System )-250(Overview)]TJ -39.741 0 Td -[(Chapter )-250(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(buf[MAXLINE];)-1800(/* from apue.h */)]TJ -T* -[(pid_t )-1200(pid;)]TJ -T* -[(int )-2400(status;)]TJ -0 -1.902 TD -[(printf\("%% "\);)-1200(/* print prompt \(printf requires %% to print %\) */)]TJ -0 -1.189 TD -(while \(fgets\(buf, MAXLINE, stdin\) != NULL\) {)Tj -2.4 -1.189 Td -(if \(buf[strlen\(buf\) - 1] == \325\\n\325\))Tj -2.4 -1.189 Td -(buf[strlen\(buf\) - 1] = 0; /* replace newline with null */)Tj --2.4 -1.902 Td -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(pid == 0\) {)-3600(/* child */)]TJ -0.6 -1.189 Td -(execlp\(buf, buf, \(char *\)0\);)Tj -T* -(err_ret\("couldn\325t execute: %s", buf\);)Tj -T* -(exit\(127\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(/* parent */)Tj -0 -1.189 TD -(if \(\(pid = waitpid\(pid, &status, 0\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("waitpid error"\);)Tj --2.4 -1.189 Td -(printf\("%% "\);)Tj --2.4 -1.189 Td -(})Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3615.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 205.2234 345.4765 Tm -(Figure 1.7)Tj -/T1_1 1 Tf -5.195 0 Td -[(Read commands fr)18(om standar)]TJ -0.25 Tc 13.34 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput and execute them)Tj -9.9988 0 0 9.9988 129.5836 319.0797 Tm -(Ther)Tj -0.25 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(s)]TJ -0 Tc 1.53 0 Td -[(everal featur)18(es to consider in this 30)]TJ -15.87 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line pr)18(ogram.)]TJ -0.883 Tc -19.213 -2.04 Td -(\245W)Tj -0.4096 Tc 2.397 0 Td -(eu)Tj -0 Tc 1.492 0 Td -[(se )-160(the )-160(standar)]TJ -0.4096 Tc 6.429 0 Td -(dI)Tj -0 Tc 1.358 0 Td -[(/O )-160(function)]TJ -/TT0 1 Tf -5.918 0 Td -(fgets)Tj -/T1_1 1 Tf -3.41 0 Td -[(to )-160(r)18(ead )-160(one )-160(line )-160(at )-160(a )-160(time )-160(fr)18(om )-160(the)]TJ --19.514 -1.2 Td -(standar)Tj -0.6868 Tc 3.32 0 Td -(di)Tj -0 Tc 1.589 0 Td -[(nput. )-687(When)-687(we )-437(type )-437(the )-437(end-of-\336le )-437(character )-437(\(which )-437(is )-437(often)]TJ --4.909 -1.2 Td -[(Contr)18(ol)]TJ -3.377 0.09 Td -(-)Tj -0.333 -0.09 Td -[(D\) )-55(as )-55(the )-55(\336rst )-55(character )-55(of )-55(a )-55(line,)]TJ -/TT0 1 Tf -14.948 0 Td -(fgets)Tj -/T1_1 1 Tf --0.018 Tc 3.305 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-55(a )-55(null )-55(pointer)]TJ -0.3055 Tc 8.659 0 Td -(,t)Tj -0 Tc 0.881 0 Td -[(he )-55(loop)]TJ --32.361 -1.2 Td -[(stops, )-194(and )-194(the )-194(pr)18(ocess )-194(terminates.)-695(In )-194(Chapter )-194(18, )-194(we )-194(describe )-194(all )-194(the )-194(special)]TJ -0 -1.2 TD -[(terminal )-89(characters)]TJ -0.0833 Tc 8.658 0 Td -(\321e)Tj -0 Tc 1.562 0 Td -[(nd )-89(of )-89(\336le, )-89(backspace )-89(one )-89(character)]TJ -0.3387 Tc 15.489 0 Td -(,e)Tj -0 Tc 1.068 0 Td -[(rase )-89(entir)]TJ -0.3387 Tc 4.192 0 Td -(el)Tj -0 Tc 1.109 0 Td -[(ine, )-89(and)]TJ --32.077 -1.2 Td -(so on)Tj -0.0833 Tc 2.431 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -(nd how to change them.)Tj -0.883 Tc -5.504 -1.6 Td -(\245B)Tj -0 Tc 2.1 0 Td -[(ecause )-174(each )-174(line )-174(r)18(eturned )-174(by)]TJ -/TT0 1 Tf -13.658 0 Td -(fgets)Tj -/T1_1 1 Tf -3.424 0 Td -[(is )-174(terminated )-174(with )-174(a )-174(newline )-174(character)75(,)]TJ --17.692 -1.2 Td -[(followed )-32(by )-32(a )-32(null )-32(byte, )-32(we )-32(use )-32(the )-32(standar)]TJ -0.2822 Tc 19.254 0 Td -(dCf)Tj -0 Tc 2.217 0 Td -(unction)Tj -/TT0 1 Tf -3.656 0 Td -(strlen)Tj -/T1_1 1 Tf -3.882 0 Td -[(to )-32(calculate )-32(the)]TJ --29.01 -1.2 Td -[(length )-94(of )-94(the )-94(string, )-94(and )-94(then )-94(r)18(eplace )-94(the )-94(newline )-94(with )-94(a )-94(null )-94(byte.)]TJ --0.092 Tc 30.855 0 Td -[(We )-278(d)]TJ -0.3444 Tc 2.342 0 Td -(ot)Tj -0 Tc 1.216 0 Td -(his)Tj --34.414 -1.2 Td -[(because )-515(the)]TJ -/TT0 1 Tf -6.399 0 Td -(execlp)Tj -/T1_1 1 Tf -4.365 0 Td -[(function )-515(wants )-515(a )-515(null-terminated )-515(ar)17(gument, )-515(not )-515(a)]TJ --10.765 -1.2 Td -[(newline-terminated ar)18(gument.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245W)Tj -0.3055 Tc 2.397 0 Td -(ec)Tj -0 Tc 1.229 0 Td -(all)Tj -/TT0 1 Tf -1.387 0 Td -(fork)Tj -/T1_1 1 Tf -2.706 0 Td -[(to )-55(cr)18(eate )-55(a )-55(new )-55(pr)18(ocess, )-55(which )-55(is )-55(a )-55(copy )-55(of )-55(the )-55(caller)]TJ -0.5554 Tc 23.464 0 Td -(.W)Tj -0.3054 Tc 1.713 0 Td -(es)Tj -0 Tc 1.208 0 Td -[(ay )-55(that)]TJ --32.616 -1.2 Td -[(the )-165(caller )-165(is )-165(the )-165(par)18(ent )-165(and )-165(that )-165(the )-165(newly )-165(cr)18(eated )-165(pr)18(ocess )-165(is )-165(the )-165(child.)-668(Then)]TJ -/TT0 1 Tf -T* -(fork)Tj -/T1_1 1 Tf --0.018 Tc 2.666 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-16(the )-16(non-negative )-16(pr)18(ocess )-16(ID )-16(of )-16(the )-16(new )-16(child )-16(pr)18(ocess )-16(to )-16(the )-16(par)14(ent,)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47465 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(920)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(7.2)Tj -/T1_1 1 Tf -2.602 0 Td -[(When )-2(the )-2(pr)18(ogram )-2(is )-2(r)8(un )-2(interactively)]TJ -0.2522 Tc 16.85 0 Td -(,s)Tj -0 Tc 0.926 0 Td -(tandar)Tj -0.2523 Tc 2.896 0 Td -(do)Tj -0 Tc 1.409 0 Td -[(utput )-2(is )-2(usually )-2(line )-2(buf)17(fer)18(ed, )-2(so)]TJ --22.082 -1.2 Td -[(the )-123(actual )-123(output )-123(occurs )-123(when )-123(each )-123(newline )-123(is )-123(output.)-623(If )-123(standar)]TJ -0.3725 Tc 29.868 0 Td -(do)Tj -0 Tc 1.529 0 Td -[(utput )-122(wer)18(e)]TJ --31.398 -1.2 Td -[(dir)18(ected )-165(to )-165(a )-165(\336le, )-165(however)73(,)-415(it)-415(would )-165(pr)18(obably )-165(be )-165(fully )-165(buf)17(fer)18(ed, )-165(and )-165(the )-165(actual)]TJ --0 -1.2 Td -(output wouldn\325t occur until the standar)Tj -0.25 Tc 17.558 0 Td -(dI)Tj -0 Tc 1.198 0 Td -(/O cleanup is performed.)Tj -/T1_0 1 Tf --21.358 -1.84 Td -(7.3)Tj -/T1_1 1 Tf -2.602 0 Td -[(On )-35(most )-35(UNIX )-35(systems, )-35(ther)16(e)-285(is)-285(no)-285(w)-1(ay )-35(to )-35(do )-35(this.)-535(Copies )-35(of)]TJ -/TT0 1 Tf -27.693 0 Td -(argc)Tj -/T1_1 1 Tf -2.685 0 Td -(and)Tj -/TT0 1 Tf -1.978 0 Td -(argv)Tj -/T1_1 1 Tf -2.685 0 Td -[(ar)18(e)]TJ --35.042 -1.2 Td -(not kept in global variables like)Tj -/TT0 1 Tf -14.141 0 Td -(environ)Tj -/T1_1 1 Tf -4.45 0 Td -(is.)Tj -/T1_0 1 Tf --21.193 -1.84 Td -(7.4)Tj -/T1_1 1 Tf -2.602 0 Td -[(This )-116(pr)18(ovides )-116(a )-116(way )-116(to )-116(terminate )-116(the )-116(pr)19(ocess )-116(when )-116(it )-116(tries )-116(to )-116(der)19(efer)18(ence )-116(a )-116(null)]TJ -0 -1.2 Td -(pointer)Tj -0.25 Tc 3.146 0 Td -(,ac)Tj -0 Tc 1.694 0 Td -[(ommon C pr)18(ogramming err)18(or)74(.)]TJ -/T1_0 1 Tf --7.442 -1.84 Td -(7.5)Tj -/T1_1 1 Tf -2.602 0 Td -[(The de\336nitions ar)18(e)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 173.6089 538.1376 Tm -[(typedef void)-2400(Exitfunc\(void\);)]TJ -0 -1.783 TD -(int atexit\(Exitfunc *)Tj -/T1_2 1 Tf -(func)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5915 500.0899 Tm -(7.6)Tj -/TT0 1 Tf -2.602 0 Td -(calloc)Tj -/T1_1 1 Tf -3.988 0 Td -[(initializes )-138(the )-138(memory )-138(that )-138(it )-138(allocates )-138(to )-138(all )-138(zer)]TJ -0.3878 Tc 21.96 0 Td -(ob)Tj -0 Tc 1.487 0 Td -[(its. )-388(ISO)]TJ -0.3878 Tc 3.965 0 Td -(Cd)Tj -0 Tc 1.708 0 Td -[(oes )-138(not)]TJ --33.107 -1.2 Td -[(guarantee that this is the same as either a \337oating-point 0 or a null\ pointer)74(.)]TJ -/T1_0 1 Tf --2.602 -1.84 Td -(7.7)Tj -/T1_1 1 Tf -2.602 0 Td -[(The )-58(heap )-58(and )-58(the )-58(stack )-58(ar)18(en\325t )-58(allocated )-58(until )-58(a )-58(pr)18(ogram )-58(is )-58(executed )-58(by )-58(one )-58(of )-58(the)]TJ -/TT0 1 Tf -0 -1.2 TD -(exec)Tj -/T1_1 1 Tf -2.65 0 Td -(functions \(described in Section 8.10\).)Tj -/T1_0 1 Tf --5.252 -1.84 Td -(7.8)Tj -/T1_1 1 Tf -2.602 0 Td -[(The )-38(executable )-38(\336le )-38(\()]TJ -/TT0 1 Tf -(a.out)Tj -/T1_1 1 Tf -0.2881 Tc (\)c)Tj -0 Tc 12.981 0 Td -[(ontains )-38(symbol )-38(table )-38(information )-38(that )-38(can )-38(be )-38(helpful)]TJ --12.981 -1.2 Td -[(in )-419(debugging )-419(a)]TJ -/TT0 1 Tf -8.167 0 Td -(core)Tj -/T1_1 1 Tf -3.069 0 Td -[(\336le. )-669(T)]TJ -0.6691 Tc 3.065 0 Td -(or)Tj -0 Tc 1.592 0 Td -[(emove )-419(this )-419(information, )-419(use )-419(the)]TJ -/TT0 1 Tf -16.338 0 Td -(strip)Tj -/T1_1 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj --36.065 -1.24 Td -[(command. )-345(Stripping)-345(the )-95(two)]TJ -/TT0 1 Tf -13.59 0 Td -(a.out)Tj -/T1_1 1 Tf -3.345 0 Td -[(\336les )-95(r)18(educes )-95(their )-95(size )-95(to )-95(798,760 )-95(and )-95(6,200)]TJ --16.935 -1.2 Td -(bytes.)Tj -/T1_0 1 Tf --2.602 -1.84 Td -(7.9)Tj -/T1_1 1 Tf -2.602 0 Td -[(When )-286(shar)18(ed )-286(libraries )-286(ar)]TJ -0.5361 Tc 11.72 0 Td -(en)Tj -0 Tc 1.597 0 Td -[(ot )-286(used, )-286(a )-286(lar)18(ge )-286(portion )-286(of )-286(the )-286(executable )-286(\336le )-286(is)]TJ --13.317 -1.2 Td -(occupied by the standar)Tj -0.25 Tc 10.585 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O library)111(.)]TJ -/T1_0 1 Tf --14.385 -1.84 Td -(7.10)Tj -/T1_1 1 Tf -2.602 0 Td -[(The )-227(code )-227(is )-227(incorr)18(ect, )-227(since )-227(it )-227(r)20(efer)18(ences )-227(the )-227(automatic )-227(integer)]TJ -/TT0 1 Tf -29.573 0 Td -(val)Tj -/T1_1 1 Tf -2.276 0 Td -[(thr)18(ough )-226(a)]TJ --31.849 -1.2 Td -[(pointer )-21(after )-21(the )-21(automatic )-21(variable )-21(is )-21(no )-21(longer )-21(in )-21(existence.)-521(Automatic )-21(variables)]TJ -T* -[(declar)18(ed )-66(after )-66(the )-66(left )-66(brace )-66(that )-66(starts )-66(a )-66(compound )-66(statement )-66(disappear )-66(after )-66(the)]TJ -T* -(matching right brace.)Tj -/TT1 1 Tf --6.202 -4.08 Td -[(Chapter )-278(8)]TJ -/T1_0 1 Tf -3.6 -2.8 Td -(8.1)Tj -/T1_1 1 Tf --0.092 Tc 2.602 0 Td -[(To )-312(s)]TJ -0 Tc 1.869 0 Td -[(imulate )-128(the )-128(behavior )-128(of )-128(the )-128(child )-128(closing )-128(the )-128(standar)]TJ -0.378 Tc 24.021 0 Td -(do)Tj -0 Tc 1.535 0 Td -[(utput )-128(when )-128(it )-128(exits,)]TJ --27.425 -1.2 Td -(add the following line befor)Tj -0.25 Tc 12.31 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(alling)Tj -/TT0 1 Tf -2.761 0 Td -(exit)Tj -/T1_1 1 Tf -2.65 0 Td -(in the child:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 173.6087 221.0066 Tm -(fclose\(stdout\);)Tj -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 155.6098 203.0077 Tm -[(To )-184(s)]TJ -0 Tc 1.741 0 Td -[(ee the ef)18(fects of doing this, r)18(eplace the call to)]TJ -/TT0 1 Tf -19.939 0 Td -(printf)Tj -/T1_1 1 Tf -3.85 0 Td -(with the lines)Tj -/TT0 1 Tf -0.6 Tc 8.9995 0 0 8.9995 173.6089 186.3087 Tm -(i=p)Tj -0 Tc 3 0 Td -(rintf\("pid = %ld, glob = %d, var = %d\\n",)Tj --0.6 -1.189 Td -(\(long\)getpid\(\), glob, var\);)Tj --2.4 -1.189 Td -(sprintf\(buf, "%d\\n", i\);)Tj -0 -1.189 TD -(write\(STDOUT_FILENO, buf, strlen\(buf\)\);)Tj -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 155.61 136.2117 Tm -(Yo)Tj -0.25 Tc 1.121 0 Td -(un)Tj -0 Tc 1.435 0 Td -(eed to de\336ne the variables)Tj -/TT0 1 Tf -11.832 0 Td -(i)Tj -/T1_1 1 Tf -0.85 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(buf)Tj -/T1_1 1 Tf -2.05 0 Td -(also.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47466 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1.7)]TJ -37.264 0 Td -[(Err)18(or )-250(Handling)]TJ -/T1_1 1 Tf -9.069 0 Td -(15)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 670.2598 Tm -[(extern int *_)-167(_errno_location\(void\);)]TJ -0 -1.189 TD -[(#define errno \(*_)-167(_errno_location\(\)\))]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 641.5615 Tm -(Ther)Tj -0.3425 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.321 0 Td -[(re )-129(t)]TJ -0 Tc 1.524 0 Td -[(wo )-92(r)8(ules )-92(to )-92(be )-92(awar)16(e)-342(of)-342(w)-1(ith )-92(r)18(espect )-92(to)]TJ -/TT0 1 Tf -18.154 0 Td -(errno)Tj -/T1_0 1 Tf -0.5925 Tc (.F)Tj -0 Tc 4.399 0 Td -[(irst, )-92(its )-92(value )-92(is )-92(never)]TJ --29.25 -1.2 Td -[(clear)18(ed )-59(by )-59(a )-59(r)18(outine )-59(if )-59(an )-59(err)16(or )-59(does )-59(not )-59(occur)]TJ -0.5595 Tc 20.549 0 Td -(.T)Tj -0 Tc 1.423 0 Td -[(her)18(efor)18(e, )-59(we )-59(should )-59(examine )-59(its )-59(value)]TJ --21.971 -1.2 Td -[(only )-121(when )-121(the )-121(r)18(eturn )-121(value )-121(fr)18(om )-121(a )-121(function )-121(indicates )-121(that )-121(an )-121(err)18(or )-121(occurr)18(ed. )-371(Second,)]TJ -0 -1.2 TD -[(the )-71(value )-71(of)]TJ -/TT0 1 Tf -5.668 0 Td -(errno)Tj -/T1_0 1 Tf -3.321 0 Td -[(is )-71(never )-71(set )-71(to )-71(0 )-71(by )-71(any )-71(of )-71(the )-71(functions, )-71(and )-71(none )-71(of )-71(the )-71(constants)]TJ --8.989 -1.2 Td -(de\336ned in)Tj -/TT0 1 Tf -4.74 0 Td -()Tj -/T1_0 1 Tf -5.65 0 Td -(has a value of 0.)Tj --0.09 Tc -8.59 -1.2 Td -(Tw)Tj -0.25 Tc 1.357 0 Td -(of)Tj -0 Tc 1.129 0 Td -(unctions ar)Tj -0.25 Tc 4.925 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(e\336ned by the C standar)18(d)-250(to)-250(help with printing err)18(or messages.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 563.6662 Tm -(#include )Tj -0 -2.14 TD -(char *strerror\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(errnum)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -12.795 -2.14 Td -(Returns: pointer to message string)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5207.25 cm -0 0 m -0 520 l -3900 520 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 505.9193 Tm -[(This )-98(function )-98(maps)]TJ -/T1_2 1 Tf -9.069 0 Td -(errnum)Tj -/T1_0 1 Tf -0.3481 Tc (,w)Tj -0 Tc 4.489 0 Td -[(hich )-98(is )-98(typically )-98(the)]TJ -/TT0 1 Tf -9.249 0 Td -(errno)Tj -/T1_0 1 Tf -3.348 0 Td -[(value, )-98(into )-98(an )-98(err)18(or )-98(message)]TJ --26.156 -1.2 Td -[(string and r)18(eturns a pointer to the string.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.058 0 Td -(perror)Tj -/T1_0 1 Tf -3.984 0 Td -[(function )-134(pr)18(oduces )-134(an )-134(err)18(or )-134(message )-134(on )-134(the )-134(standar)]TJ -0.3839 Tc 23.333 0 Td -(de)Tj -0 Tc 1.474 0 Td -[(rr)18(or)]TJ -0.3839 Tc 1.639 0 Td -(,b)Tj -0 Tc 1.187 0 Td -[(ased )-134(on)]TJ --35.474 -1.2 Td -[(the curr)18(ent value of)]TJ -/TT0 1 Tf -8.91 0 Td -(errno)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 4 0 Td -[(nd r)18(eturns.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 452.0258 Tm -(#include )Tj -T* -(void perror\(const char *)Tj -/T1_2 1 Tf -(msg)Tj -/TT0 1 Tf -(\);)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4283.25 cm -0 0 m -0 328 l -3900 328 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 413.5456 Tm -[(It )-6(outputs )-6(the )-6(string )-6(pointed )-6(to )-6(by)]TJ -/T1_2 1 Tf -15.26 0 Td -(msg)Tj -/T1_0 1 Tf -0.2557 Tc (,f)Tj -0 Tc 2.506 0 Td -[(ollowed )-6(by )-6(a )-6(colon )-6(and )-6(a )-6(space, )-6(followed )-6(by )-6(the)]TJ --17.766 -1.2 Td -[(err)18(or message corr)18(esponding to the value of)]TJ -/TT0 1 Tf -19.697 0 Td -(errno)Tj -/T1_0 1 Tf -0.25 Tc (,f)Tj -0 Tc 3.833 0 Td -(ollowed by a newline.)Tj -/TT1 1 Tf --27.13 -2.88 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(.8 shows the use of these two err)18(or functions.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3416.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 129.5689 332.0393 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -(fprintf\(stderr, "EACCES: %s\\n", strerror\(EACCES\)\);)Tj -T* -(errno = ENOENT;)Tj -T* -(perror\(argv[0]\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2224.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 237.5207 206.3961 Tm -(Figure 1.8)Tj -/T1_0 1 Tf -5.195 0 Td -(Demonstrate)Tj -/TT0 1 Tf -5.964 0 Td -(strerror)Tj -/T1_0 1 Tf -5.05 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(perror)Tj -/T1_0 1 Tf -9.997 0 0 9.997 129.5605 182.4033 Tm -[(If this pr)18(ogram is compiled into the \336le)]TJ -/TT0 1 Tf -17.519 0 Td -(a.out)Tj -/T1_0 1 Tf -[(,)-250(we)-250(have)]TJ -/TT0 1 Tf -8.9973 0 0 8.9973 147.5551 165.7083 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(EACCES: Permission denied)Tj -0 -1.189 TD -(./a.out: No such file or directory)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47467 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -33.857 0 Td -[(Chapter )-250(14)-750(Solutions)]TJ -/T1_1 1 Tf -11.976 0 Td -(931)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 203.4378 670.2598 Tm -(exit\(0\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse {)-4800(/* parent */)]TJ -0.6 -1.189 Td -(sleep\(2\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(arent continues ... read-lock the file again.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(\(pid2 = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork failed"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid2 == 0\) { /* child */)Tj -0.6 -1.189 Td -(if \(lock_reg\(fd, F_SETLK, F_RDLCK, 0, SEEK_SET, 0\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("child 2: can\325t read-lock file"\);)Tj --2.4 -1.189 Td -(printf\("child 2: obtained read lock on file\\n"\);)Tj -0 -1.189 TD -(pause\(\);)Tj -0 -1.189 TD -(printf\("child 2: exit after pause\\n"\);)Tj -0 -1.189 TD -(exit\(0\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse {)-4800(/* parent */)]TJ -0.6 -1.189 Td -(sleep\(2\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(arent continues ... block while trying to write-lock)Tj -0.6 Tc -1.8 -1.189 Td -(*t)Tj -0 Tc 1.8 0 Td -(he file.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(\(pid3 = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork failed"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid3 == 0\) { /* child */)Tj -0.6 -1.189 Td -(if \(lock_reg\(fd, F_SETLK, F_WRLCK, 0, SEEK_SET, 0\) < 0\))Tj -2.4 -1.189 Td -(printf\("child 3: can\325t set write lock: %s\\n",)Tj -1.2 -1.189 Td -(strerror\(errno\)\);)Tj --3.6 -1.189 Td -(printf\("child 3 about to block in write-lock...\\n"\);)Tj -0 -1.189 TD -(if \(lock_reg\(fd, F_SETLKW, F_WRLCK, 0, SEEK_SET, 0\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("child 3: can\325t write-lock file"\);)Tj --2.4 -1.189 Td -(printf\("child 3 returned and got write lock????\\n"\);)Tj -T* -(pause\(\);)Tj -T* -(printf\("child 3: exit after pause\\n"\);)Tj -T* -(exit\(0\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse {)-4800(/* parent */)]TJ -0.6 -1.189 Td -(sleep\(2\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*S)Tj -0 Tc 1.8 0 Td -(ee if a pending write lock will block the next)Tj -0.6 Tc -1.8 -1.189 Td -(*r)Tj -0 Tc 1.8 0 Td -(ead-lock attempt.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(lock_reg\(fd, F_SETLK, F_RDLCK, 0, SEEK_SET, 0\) < 0\))Tj -2.4 -1.189 Td -(printf\("parent: can\325t set read lock: %s\\n",)Tj -1.2 -1.189 Td -(strerror\(errno\)\);)Tj --3.6 -1.189 Td -(else)Tj -2.4 -1.189 Td -(printf\("parent: obtained additional read lock while")Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47468 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.5)]TJ -37.602 0 Td -[(Data )-250(T)90(ransfer)]TJ -/T1_1 1 Tf -8.231 0 Td -(621)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(int )Tj -12 0 Td -[(sockfd,)-600(err;)]TJ --12 -1.189 Td -[(struct sigaction)-2400(sa;)]TJ -0 -2.14 TD -(if \(argc != 2\))Tj -2.4 -1.189 Td -(err_quit\("usage: ruptime hostname"\);)Tj --2.4 -1.189 Td -(sa.sa_handler = sigalrm;)Tj -0 -1.189 TD -(sa.sa_flags = 0;)Tj -T* -(sigemptyset\(&sa.sa_mask\);)Tj -T* -(if \(sigaction\(SIGALRM, &sa, NULL\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("sigaction error"\);)Tj --2.4 -1.189 Td -(memset\(&hint, 0, sizeof\(hint\)\);)Tj -T* -(hint.ai_socktype = SOCK_DGRAM;)Tj -T* -(hint.ai_canonname = NULL;)Tj -T* -(hint.ai_addr = NULL;)Tj -T* -(hint.ai_next = NULL;)Tj -T* -(if \(\(err = getaddrinfo\(argv[1], "ruptime", &hint, &ailist\)\) != 0\))Tj -2.4 -1.189 Td -(err_quit\("getaddrinfo error: %s", gai_strerror\(err\)\);)Tj --2.4 -2.14 Td -(for \(aip = ailist; aip != NULL; aip = aip->ai_next\) {)Tj -2.4 -1.189 Td -(if \(\(sockfd = socket\(aip->ai_family, SOCK_DGRAM, 0\)\) < 0\) {)Tj -2.4 -1.189 Td -(err = errno;)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(print_uptime\(sockfd, aip\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(fprintf\(stderr, "can\325t contact %s: %s\\n", argv[1], strerror\(err\)\)\ ;)Tj -0 -1.189 TD -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3616.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 228.0686 345.5775 Tm -(Figure 16.19)Tj -/T1_0 1 Tf -6.195 0 Td -(Client command using datagram service)Tj -9.9988 0 0 9.9988 129.5846 321.5804 Tm -(The)Tj -/TT0 1 Tf -2.34 0 Td -(main)Tj -/T1_0 1 Tf -3.066 0 Td -[(function )-416(for )-416(the )-416(datagram-based )-416(client )-416(is )-416(similar )-416(to )-416(the )-416(one )-416(for )-416(the)]TJ --5.406 -1.2 Td -[(connection-oriented )-20(client, )-20(with )-20(the )-20(addition )-20(of )-20(installing )-20(a )-20(signal )-20(handler )-20(for)]TJ -/TT0 1 Tf -34.55 0 Td -(SIGALRM)Tj -/T1_0 1 Tf -(.)Tj --0.092 Tc -34.55 -1.2 Td -[(We )-184(u)]TJ -0 Tc 2.24 0 Td -(se the)Tj -/TT0 1 Tf -2.79 0 Td -(alarm)Tj -/T1_0 1 Tf -3.25 0 Td -(function to avoid blocking inde\336nitely in the call to)Tj -/TT0 1 Tf -22.912 0 Td -(recvfrom)Tj -/T1_0 1 Tf -(.)Tj --0.055 Tc -29.392 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-140(the )-140(connection-oriented )-140(pr)18(otocol, )-140(we )-140(needed )-140(to )-140(connect )-140(to )-140(the )-140(server )-140(befor)22(e)]TJ --3.036 -1.2 Td -[(exchanging )-255(data.)-755(The )-255(arrival )-255(of )-255(the )-255(connect )-255(r)15(equest )-255(was )-255(enough )-255(for )-255(the )-255(server )-255(to)]TJ -0 -1.2 TD -[(determine )-138(that )-138(it )-138(needed )-138(to )-138(pr)18(ovide )-138(service )-138(to )-138(a )-138(client.)-638(But )-138(with )-138(the )-138(datagram-based)]TJ -T* -[(pr)18(otocol, )-99(we )-99(need )-99(a )-99(way )-99(to )-99(notify )-99(the )-99(server )-99(that )-99(we )-99(want )-99(it )-99(to )-99(perform )-99(its )-99(service )-99(on)]TJ -T* -[(our )-121(behalf.)-621(In )-121(this )-121(example, )-121(we )-121(simply )-121(send )-121(the )-121(server )-121(a )-121(1)]TJ -26.984 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-121(message.)-621(The )-121(server)]TJ --27.317 -1.2 Td -[(will )-177(r)18(eceive )-177(it, )-177(get )-177(our )-177(addr)18(ess )-177(fr)18(om )-177(the )-177(packet, )-177(and )-177(use )-177(this )-177(addr)18(ess )-177(to )-177(transmit )-177(its)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(sponse. )-333(If)-334(the )-83(server )-83(of)17(fer)18(ed )-83(multiple )-83(services, )-83(we )-83(could )-83(use )-83(this )-83(r)15(equest )-84(message )-84(to)]TJ --0.856 -1.2 Td -[(indicate )-13(the )-13(service )-13(we )-13(want, )-13(but )-13(since )-13(the )-13(server )-13(does )-13(only )-13(one )-13(thing, )-13(the )-13(content )-13(of )-13(the)]TJ -T* -(1)Tj -0.5 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte message doesn\325t matter)74(.)]TJ -0.967 -1.2 Td -[(If )-34(the )-34(server )-34(isn\325t )-34(r)9(unning, )-34(the )-34(client )-34(will )-34(block )-34(inde\336nitely )-34(in )-34(the )-34(call )-34(to)]TJ -/TT0 1 Tf -32.15 0 Td -(recvfrom)Tj -/T1_0 1 Tf -(.)Tj --0.055 Tc -33.95 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-227(the )-227(connection-oriented )-227(example, )-227(the)]TJ -/TT0 1 Tf -18.929 0 Td -(connect)Tj -/T1_0 1 Tf -4.677 0 Td -[(call )-227(will )-227(fail )-227(if )-227(the )-227(server )-227(isn\325t)]TJ --0.008 Tc -24.842 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning. )-253(T)]TJ -0.2533 Tc 3.867 0 Td -(oa)Tj -0 Tc 1.299 0 Td -[(void )-3(blocking )-3(inde\336nitely)110(,)-253(we)-253(s)-1(et )-3(an )-3(alarm )-3(clock )-3(befor)]TJ -0.2534 Tc 23.852 0 Td -(ec)Tj -0 Tc 1.176 0 Td -(alling)Tj -/TT0 1 Tf -2.764 0 Td -(recvfrom)Tj -/T1_0 1 Tf -(.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1416.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47469 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(600)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(The)Tj -/TT0 1 Tf -1.924 0 Td -(addrinfo)Tj -/T1_1 1 Tf -5.05 0 Td -[(str)8(uctur)18(e)-250(is)-250(de\336ned to include at least the following members:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 655.4709 Tm -(struct addrinfo {)Tj -1.2 -1.189 Td -(int )Tj -10.8 0 Td -[(ai_flags;)-3600(/* customize behavior */)]TJ --10.8 -1.189 Td -(int )Tj -10.8 0 Td -[(ai_family;)-3000(/* address family */)]TJ --10.8 -1.189 Td -(int )Tj -10.8 0 Td -[(ai_socktype;)-1800(/* socket type */)]TJ --10.8 -1.189 Td -(int )Tj -10.8 0 Td -[(ai_protocol;)-1800(/* protocol */)]TJ --10.8 -1.189 Td -[(socklen_t )-4800(ai_addrlen;)-2400(/* length in bytes of address */)]TJ -0 -1.189 TD -[(struct sockaddr)-1200(*ai_addr; )-3600(/*)-600(address */)]TJ -T* -(char )Tj -10.2 0 Td -[(*ai_canonname;)-1200(/* canonical name of host */)]TJ --10.2 -1.189 Td -[(struct addrinfo)-1200(*ai_next; )-3600(/*)-600(next in list */)]TJ -T* -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5909 525.1287 Tm -[(We )-313(c)]TJ -0 Tc 2.21 0 Td -[(an )-129(supply )-129(an )-129(optional)]TJ -/T1_2 1 Tf -10.437 0 Td -(hint)Tj -/T1_1 1 Tf -2.046 0 Td -[(to )-129(select )-129(addr)18(esses )-129(that )-129(meet )-129(certain )-129(criteria.)-626(The)]TJ --16.493 -1.2 Td -[(hint )-437(is )-437(a )-437(template )-437(used )-437(for )-437(\336ltering )-437(addr)18(esses )-437(and )-437(uses )-437(only )-437(the)]TJ -/TT0 1 Tf -33.35 0 Td -(ai_family)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --33.35 -1.2 Td -(ai_flags)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -5.571 0 Td -(ai_protocol)Tj -/T1_1 1 Tf -0.5205 Tc (,a)Tj -0 Tc 7.871 0 Td -(nd)Tj -/TT0 1 Tf -1.714 0 Td -(ai_socktype)Tj -/T1_1 1 Tf -7.121 0 Td -[(\336elds. )-520(The)]TJ --0.018 Tc 5.625 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(maining )-270(integer )-270(\336elds)]TJ --28.756 -1.2 Td -[(must )-73(be )-73(set )-73(to )-73(0, )-73(and )-73(the )-73(pointer )-73(\336elds )-73(must )-73(be )-73(null.)-573(Figur)]TJ -0.3229 Tc 26.623 0 Td -(e1)Tj -0 Tc 1.302 0 Td -[(6.7 )-73(summarizes )-73(the )-73(\337ags)]TJ --27.925 -1.2 Td -(we can use in the)Tj -/TT0 1 Tf -7.855 0 Td -(ai_flags)Tj -/T1_1 1 Tf -5.05 0 Td -[(\336eld to customize how addr)18(esses and names ar)]TJ -0.25 Tc 20.833 0 Td -(et)Tj --0.018 Tc 1.055 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ated.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1406.25 4571.25 cm -0 0 m -3680 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 170.5675 449.1061 Tm -(Flag )Tj -21.625 0 Td -(Description)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1406.25 4451.25 cm -0 0 m -3680 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1406.25 4431.25 cm -0 0 m -3680 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 144.574 435.0817 Tm -(AI_ADDRCONFIG)Tj -/T1_1 1 Tf -9.9 0 Td -[(Query for whichever addr)18(ess type)]TJ -15.382 0.04 Td -(\()Tj -0.333 -0.04 Td -(IPv4 or IPv6)Tj -5.453 0.04 Td -(\))Tj -0.583 -0.04 Td -[(is con\336gur)18(ed.)]TJ -/TT0 1 Tf --31.651 -1.25 Td -(AI_ALL)Tj -/T1_1 1 Tf -9.9 0 Td -[(Look for both IPv4 and IPv6 addr)18(esses \(used only with)]TJ -/TT0 1 Tf -24.532 0 Td -(AI_V4MAPPED)Tj -/T1_1 1 Tf -(\).)Tj -/TT0 1 Tf --34.432 -1.25 Td -(AI_CANONNAME)Tj -/T1_1 1 Tf -9.9 0 Td -(Request a canonical name \(as opposed to an alias\).)Tj -/TT0 1 Tf --9.9 -1.25 Td -(AI_NUMERICHOST)Tj -/T1_1 1 Tf -9.9 0 Td -[(The host addr)18(ess is speci\336ed in numeric format; don\325t try to translate it.)]TJ -/TT0 1 Tf --9.9 -1.25 Td -(AI_NUMERICSERV)Tj -/T1_1 1 Tf -9.9 0 Td -(The service is speci\336ed as a numeric port number; don\325t try to tra\ nslate it.)Tj -/TT0 1 Tf --9.9 -1.25 Td -(AI_PASSIVE)Tj -/T1_1 1 Tf -9.9 0 Td -[(Socket addr)18(ess is intended to be bound for listening.)]TJ -/TT0 1 Tf --9.9 -1.25 Td -(AI_V4MAPPED)Tj -/T1_1 1 Tf -9.9 0 Td -[(If no IPv6 addr)18(esses ar)]TJ -0.25 Tc 10.01 0 Td -(ef)Tj -0 Tc 1.062 0 Td -[(ound, r)18(eturn IPv4 addr)18(esses mapped in IPv6 format.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1406.25 3711.25 cm -0 0 m -3680 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2178.25 3711.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5086.25 3711.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1406.25 3711.25 cm -0 0 m -0 860 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 249.2802 353.0752 Tm -(Figure 16.7)Tj -/T1_1 1 Tf -5.695 0 Td -(Flags for)Tj -/TT0 1 Tf -4.101 0 Td -(addrinfo)Tj -/T1_1 1 Tf -5.05 0 Td -[(str)8(uctur)18(e)]TJ -9.9976 0 0 9.9976 147.5646 327.8813 Tm -(If)Tj -/TT0 1 Tf -1.137 0 Td -(getaddrinfo)Tj -/T1_1 1 Tf -7.067 0 Td -[(fails, )-217(we )-217(can\325t )-217(use)]TJ -/TT0 1 Tf -8.908 0 Td -(perror)Tj -/T1_1 1 Tf -4.067 0 Td -(or)Tj -/TT0 1 Tf -1.408 0 Td -(strerror)Tj -/T1_1 1 Tf -5.267 0 Td -[(to )-217(generate )-217(an )-217(err)17(or)]TJ --29.656 -1.2 Td -[(message. )-372(Instead,)-372(we )-122(need )-122(to )-122(call)]TJ -/TT0 1 Tf -15.848 0 Td -(gai_strerror)Tj -/T1_1 1 Tf -7.572 0 Td -[(to )-122(convert )-122(the )-122(err)18(or )-122(code )-122(r)18(eturned)]TJ --23.42 -1.2 Td -[(into an err)18(or message.)]TJ -/TT0 1 Tf -8.9978 0 0 8.9978 147.5642 288.3908 Tm -(#include )Tj -0 -1.902 TD -(const char *gai_strerror\(int)Tj -/T1_2 1 Tf -17.4 0 Td -[(err)18(or)]TJ -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -0.335 -1.902 Td -[(Returns: a pointer to a string describing the err)18(or)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2497.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.997 0 0 9.997 147.5557 237.3488 Tm -(The)Tj -/TT0 1 Tf -1.924 0 Td -(getnameinfo)Tj -/T1_1 1 Tf -6.85 0 Td -[(function converts an addr)18(ess into host and service names.)]TJ -/TT0 1 Tf -8.9973 0 0 8.9973 147.5557 221.8534 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(int getnameinfo\(const struct sockaddr *restrict)Tj -/T1_2 1 Tf -28.8 0 Td -(addr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.633 0 Td -(ocklen_t)Tj -/T1_2 1 Tf -5.4 0 Td -(alen)Tj -/TT0 1 Tf -(,)Tj --28.233 -1.189 Td -(char *restrict)Tj -/T1_2 1 Tf -9 0 Td -(host)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.466 0 Td -(ocklen_t)Tj -/T1_2 1 Tf -5.4 0 Td -(hostlen)Tj -/TT0 1 Tf -(,)Tj --17.866 -1.189 Td -(char *restrict)Tj -/T1_2 1 Tf -9 0 Td -(service)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.541 0 Td -(ocklen_t)Tj -/T1_2 1 Tf -5.4 0 Td -(servlen)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.69 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --10.743 -1.902 Td -[(Returns: 0 if OK, nonzer)18(o)-250(on)-250(err)18(or)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1511.25 cm -0 0 m -0 798 l -3900 798 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47470 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.8)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(767)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(348 )-2400(/*)]TJ -0 -1.189 TD -[(349 )-3000(*)-600(Now read the actual index record.)-1200(We read it into the key)]TJ -T* -[(350 )-3000(*)-600(buffer that we malloced when we opened the database.)]TJ -T* -[(351 )-3000(*/)]TJ -T* -[(352 )-2400(if)-600(\(\(i = read\(db->idxfd, db->idxbuf, db->idxlen\)\) != db->idxlen\))]TJ -0 -1.189 TD -[(353 )-4800(err_dump\("_db_readidx:)-600(read error of index record"\);)]TJ -0 -1.189 TD -[(354 )-2400(if)-600(\(db->idxbuf[db->idxlen-1] != NEWLINE\))-2400(/* sanity check */)]TJ -T* -[(355 )-4800(err_dump\("_db_readidx:)-600(missing newline"\);)]TJ -T* -[(356 )-2400(db->idxbuf[db->idxlen-1])]TJ -0.6 Tc 19.8 0 Td -(=0)Tj -2.4 Tc 1.8 0 Td -(;/)Tj -0.6 Tc 3.6 0 Td -(*r)Tj -0 Tc 1.8 0 Td -(eplace newline with null */)Tj --27 -1.783 Td -[(357 )-2400(/*)]TJ -T* -[(358 )-3000(*)-600(Find the separators in the index record.)]TJ -T* -[(359 )-3000(*/)]TJ -T* -[(360 )-2400(if)-600(\(\(ptr1 = strchr\(db->idxbuf, SEP\)\) == NULL\))]TJ -T* -[(361 )-4800(err_dump\("_db_readidx:)-600(missing first separator"\);)]TJ -T* -[(362 )-2400(*ptr1++)]TJ -0.6 Tc 9.6 0 Td -(=0)Tj -9.6 Tc 1.8 0 Td -(;/)Tj -0.6 Tc 10.8 0 Td -(*r)Tj -0 Tc 1.8 0 Td -(eplace SEP with null */)Tj --24 -1.783 Td -[(363 )-2400(if)-600(\(\(ptr2 = strchr\(ptr1, SEP\)\) == NULL\))]TJ -T* -[(364 )-4800(err_dump\("_db_readidx:)-600(missing second separator"\);)]TJ -0 -1.189 TD -[(365 )-2400(*ptr2++)]TJ -0.6 Tc 9.6 0 Td -(=0)Tj -9.6 Tc 1.8 0 Td -(;/)Tj -0.6 Tc 10.8 0 Td -(*r)Tj -0 Tc 1.8 0 Td -(eplace SEP with null */)Tj --24 -1.783 Td -[(366 )-2400(if)-600(\(strchr\(ptr2, SEP\) != NULL\))]TJ -0 -1.189 TD -[(367 )-4800(err_dump\("_db_readidx:)-600(too many separators"\);)]TJ -0 -1.783 TD -[(368 )-2400(/*)]TJ -0 -1.189 TD -[(369 )-3000(*)-600(Get the starting offset and length of the data record.)]TJ -0 -1.189 TD -[(370 )-3000(*/)]TJ -T* -[(371 )-2400(if)-600(\(\(db->datoff = atol\(ptr1\)\) < 0\))]TJ -0 -1.189 TD -[(372 )-4800(err_dump\("_db_readidx:)-600(starting offset < 0"\);)]TJ -0 -1.189 TD -[(373 )-2400(if)-600(\(\(db->datlen = atol\(ptr2\)\) <= 0 || db->datlen > DATLEN_MAX\))]TJ -0 -1.189 TD -[(374 )-4800(err_dump\("_db_readidx:)-600(invalid length"\);)]TJ -0 -1.189 TD -[(375 )-2400(return\(db->ptrval\); )-2400(/*)-600(return offset of next key in chain */)]TJ -0 -1.189 TD -[(376 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3337.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 309.6608 Tm -[([348 )167(\320 )167(356])]TJ --0.092 Tc 5 0 Td -[(We )-354(r)]TJ -0 Tc 2.184 0 Td -[(ead )-170(the )-170(variable-length )-170(index )-170(r)16(ecor)]TJ -0.4204 Tc 16.084 0 Td -(di)Tj -0 Tc 1.322 0 Td -[(nto )-170(the)]TJ -/TT0 1 Tf -3.682 0 Td -(idxbuf)Tj -/T1_0 1 Tf -4.02 0 Td -[(\336eld )-170(in )-170(the)]TJ -/TT0 1 Tf -5.507 0 Td -(DB)Tj -/T1_0 1 Tf --32.8 -1.2 Td -[(str)8(uctur)18(e. )-569(The)]TJ --0.018 Tc 7.282 0 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.5695 Tc 1.367 0 Td -(ds)Tj -0 Tc 1.604 0 Td -[(hould )-319(be )-319(terminated )-319(with )-319(a )-319(newline, )-319(which )-319(we)]TJ --0.018 Tc -11.11 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(place )-74(with )-74(a )-74(null )-74(byte.)-574(If )-74(the )-74(index )-74(\336le )-74(is )-74(corr)9(upt, )-74(we )-74(terminate )-74(and )-74(dr)18(op)]TJ --0.856 -1.2 Td -[(cor)18(e)-250(by)-250(calling)]TJ -/TT0 1 Tf -6.66 0 Td -(err_dump)Tj -/T1_0 1 Tf -(.)Tj --11.66 -1.6 Td -[([357 )167(\320 )167(367])]TJ --0.092 Tc 5 0 Td -[(We )-424(s)]TJ -0 Tc 2.301 0 Td -[(eparate )-240(the )-240(index )-240(r)18(ecor)]TJ -0.4899 Tc 10.839 0 Td -(di)Tj -0 Tc 1.392 0 Td -[(nto )-240(thr)18(ee )-240(\336elds: )-240(the )-240(key)]TJ -0.4898 Tc 11.183 0 Td -(,t)Tj -0 Tc 1.066 0 Td -[(he )-240(of)18(fset )-240(of )-240(the)]TJ --26.781 -1.2 Td -[(corr)18(esponding )-99(data )-99(r)18(ecor)18(d, )-99(and )-99(the )-99(length )-99(of )-99(the )-99(data )-99(r)19(ecor)18(d. )-349(The)]TJ -/TT0 1 Tf -30.4 0 Td -(strchr)Tj -/T1_0 1 Tf --30.4 -1.2 Td -[(function )-218(\336nds )-218(the )-218(\336rst )-218(occurr)20(ence )-217(of )-217(the )-217(speci\336ed )-217(character )-217(in )-217(the )-217(given)]TJ -0 -1.2 TD -[(string. )-451(Her)18(e)-451(we)-451(look )-201(for )-201(the )-201(character )-201(that )-201(separates )-201(\336elds )-201(in )-201(the )-201(r)15(ecor)18(d)]TJ -0 -1.2 Td -(\()Tj -/TT0 1 Tf -(SEP)Tj -/T1_0 1 Tf -0.25 Tc (,w)Tj -0 Tc 3.467 0 Td -(hich we de\336ne to be a colon\).)Tj --8.467 -1.6 Td -[([368 )167(\320 )167(376])]TJ --0.092 Tc 5 0 Td -[(We )-236(c)]TJ -0 Tc 2.133 0 Td -[(onvert )-52(the )-52(data )-52(r)19(ecor)]TJ -0.3016 Tc 9.345 0 Td -(do)Tj --0.018 Tc 1.459 0 Td -(ff)Tj -0 Tc 0.648 0 Td -[(set )-52(and )-52(length )-52(into )-52(integers )-52(and )-52(stor)]TJ -0.3016 Tc 16.191 0 Td -(et)Tj -0 Tc 1.107 0 Td -[(hem )-52(in)]TJ --30.881 -1.2 Td -(the)Tj -/TT0 1 Tf -1.776 0 Td -(DB)Tj -/T1_0 1 Tf -1.589 0 Td -[(str)8(uctur)18(e. )-389(Then)-390(we )-139(r)18(eturn )-139(the )-139(of)18(fset )-139(of )-139(the )-139(next )-139(r)15(ecor)18(d)-389(in)-389(t)-1(he )-139(hash)]TJ --3.366 -1.2 Td -[(chain. )-273(Note)-273(that )-23(we )-23(do )-23(not )-23(r)18(ead )-23(the )-23(data )-23(r)18(ecor)18(d; )-23(that )-23(task )-23(is )-23(left )-23(to )-23(the )-23(caller)75(.)]TJ --0 -1.2 Td -[(In )-66(the)]TJ -/TT0 1 Tf -2.938 0 Td -(db_fetch)Tj -/T1_0 1 Tf -5.116 0 Td -[(function, )-66(for )-66(example, )-66(we )-66(don\325t )-66(r)19(ead )-66(the )-66(data )-66(r)18(ecor)]TJ -0.3159 Tc 22.927 0 Td -(du)Tj -0 Tc 1.53 0 Td -(ntil)Tj -/TT0 1 Tf --32.51 -1.2 Td -(_db_find_and_lock)Tj -/T1_0 1 Tf -10.554 0 Td -[(has )-104(r)18(ead )-104(the )-104(index )-104(r)17(ecor)]TJ -0.3543 Tc 10.979 0 Td -(dt)Tj -0 Tc 1.291 0 Td -[(hat )-104(matches )-104(the )-104(key )-104(that)]TJ --22.825 -1.2 Td -(we\325r)Tj -0.25 Tc 1.968 0 Td -(el)Tj -0 Tc 1.02 0 Td -[(ooking for)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47471 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(686)Tj -/T1_1 1 Tf --0.092 Tc 3.5 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(I/O)]TJ -37.741 0 Td -[(Chapter )-250(18)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(CREAD)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_1 1 Tf -0.5302 Tc (,P)Tj -0 Tc 5.917 0 Td -[(OSIX.1, )-280(Fr)18(eeBSD, )-280(Linux, )-280(Mac )-280(OS )-280(X, )-280(Solaris\))-780(If )-280(set, )-280(the)]TJ --0.018 Tc -5.917 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ceiver is enabled and characters can be r)18(eceived.)]TJ -/TT0 1 Tf --7.739 -1.648 Td -(CRTSCTS)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_1 1 Tf -0.4304 Tc (,F)Tj --0.018 Tc 5.769 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-180(Linux, )-180(Mac )-180(OS )-180(X, )-180(Solaris\))-680(Behavior )-180(depends )-180(on)]TJ --6.625 -1.2 Td -[(platform. )-431(For)-432(Solaris, )-181(enables )-181(outbound )-181(har)17(dwar)]TJ -0.4313 Tc 22.709 0 Td -(e\337)Tj -0 Tc 1.518 0 Td -[(ow )-181(contr)18(ol )-181(if )-181(set.)]TJ --24.228 -1.2 Td -[(On )-316(the )-316(other )-316(thr)17(ee )-316(platforms, )-316(enables )-316(both )-316(inbound )-316(and )-316(outbound)]TJ -0 -1.2 TD -[(har)18(dwar)]TJ -0.25 Tc 3.781 0 Td -(e\337)Tj -0 Tc 1.337 0 Td -[(ow contr)18(ol \(equivalent to)]TJ -/TT0 1 Tf -11.373 0 Td -(CCTS_OFLOW|CRTS_IFLOW)Tj -/T1_1 1 Tf -(\).)Tj -/TT0 1 Tf --23.374 -1.648 Td -(CRTS_IFLOW)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_1 1 Tf -0.4647 Tc (,F)Tj --0.018 Tc 5.804 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-215(Mac )-215(OS )-215(X, )-215(Solaris\))-714(Request-T)92(o-Send)]TJ -20.569 0.04 Td -(\()Tj --0.037 Tc 0.333 -0.04 Td -(RT)Tj -0 Tc 1.244 0 Td -(S)Tj -0.525 0.04 Td -(\))Tj -0.798 -0.04 Td -(\337ow)Tj --30.129 -1.2 Td -[(contr)18(ol of input.)]TJ -/TT0 1 Tf --6.883 -1.648 Td -(CRTSXOFF)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_1 1 Tf -0.4492 Tc (,S)Tj -0 Tc 5.757 0 Td -[(olaris\) )-449(If)-449(set, )-199(inbound )-199(har)18(dwar)]TJ -0.4491 Tc 14.524 0 Td -(e\337)Tj -0 Tc 1.536 0 Td -[(ow )-199(contr)18(ol )-199(is )-199(enabled.)]TJ --21.818 -1.2 Td -[(The )-21(state )-21(of )-21(the )-21(Request-T)92(o-Send )-21(RS)]TJ -16.012 0.09 Td -(-)Tj -0.333 -0.09 Td -[(232 )-21(signal )-21(contr)18(ols )-21(the )-21(\337ow )-21(contr)18(ol.)]TJ -/TT0 1 Tf --23.228 -1.648 Td -(CSIZE)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_1 1 Tf -0.3389 Tc (,P)Tj -0 Tc 5.726 0 Td -[(OSIX.1, )-89(Fr)18(eeBSD, )-89(Linux, )-89(Mac )-89(OS )-89(X, )-89(Solaris\))-589(This )-89(\336eld )-89(is )-89(a)]TJ --5.726 -1.2 Td -[(mask )-166(that )-166(speci\336es )-166(the )-166(number )-166(of )-166(bits )-166(per )-166(byte )-166(for )-166(both )-166(transmission)]TJ -T* -[(and )-215(r)18(eception. )-465(This)-465(size )-215(does )-215(not )-215(include )-215(the )-215(parity )-215(bit, )-215(if )-215(any)]TJ -0.7149 Tc 29.478 0 Td -(.T)Tj -0 Tc 1.578 0 Td -(he)Tj --31.056 -1.2 Td -[(values )-9(for )-9(the )-9(\336eld )-9(de\336ned )-9(by )-9(this )-9(mask )-9(ar)20(e)]TJ -/TT0 1 Tf -19.656 0 Td -(CS5)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.309 0 Td -(CS6)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.309 0 Td -(CS7)Tj -/T1_1 1 Tf -0.2588 Tc (,a)Tj -0 Tc 2.809 0 Td -(nd)Tj -/TT0 1 Tf -1.452 0 Td -(CS8)Tj -/T1_1 1 Tf -0.2588 Tc (,f)Tj -0 Tc 2.642 0 Td -(or)Tj --31.176 -1.2 Td -[(5, 6, 7, and 8 bits per byte, r)18(espectively)111(.)]TJ -/TT0 1 Tf --6.883 -1.648 Td -(CSTOPB)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_cflag)Tj -/T1_1 1 Tf -0.2806 Tc (,P)Tj -0 Tc 5.668 0 Td -[(OSIX.1, )-31(Fr)18(eeBSD, )-31(Linux, )-31(Mac )-31(OS )-31(X, )-31(Solaris\))-528(If )-30(set, )-30(two )-30(stop)]TJ --5.668 -1.2 Td -(bits ar)Tj -0.25 Tc 2.721 0 Td -(eu)Tj -0 Tc 1.332 0 Td -(sed; otherwise, one stop bit is used.)Tj -/TT0 1 Tf --10.936 -1.648 Td -(ECHO)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_1 1 Tf -0.4286 Tc (,P)Tj -0 Tc 5.816 0 Td -[(OSIX.1, )-179(Fr)18(eeBSD, )-179(Linux, )-179(Mac )-179(OS )-179(X, )-179(Solaris\))-679(If )-179(set, )-179(input)]TJ --5.816 -1.2 Td -[(characters )-74(ar)]TJ -0.3239 Tc 5.69 0 Td -(ee)Tj -0 Tc 1.282 0 Td -[(choed )-74(back )-74(to )-74(the )-74(terminal )-74(device.)-574(Input )-74(characters )-74(can)]TJ --6.972 -1.2 Td -(be echoed in either canonical or noncanonical mode.)Tj -/TT0 1 Tf --6.883 -1.648 Td -(ECHOCTL)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_1 1 Tf -0.3036 Tc (,F)Tj --0.018 Tc 5.643 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-54(Linux, )-54(Mac )-54(OS )-54(X, )-54(Solaris\))-554(If )-54(set )-54(and )-54(if)]TJ -/TT0 1 Tf -20.417 0 Td -(ECHO)Tj -/T1_1 1 Tf -2.704 0 Td -[(is )-54(set,)]TJ --29.619 -1.2 Td -[(ASCII )-120(contr)18(ol )-120(characters )-120(\(those )-120(characters )-120(in )-120(the )-120(range )-120(0 )-120(thr)18(ough )-120(octal)]TJ -T* -[(37, )-89(inclusive\) )-89(other )-89(than )-89(the )-89(ASCII )-89(T)76(AB, )-89(the )-89(ASCII )-89(NL, )-89(and )-89(the )-89(ST)76(AR)37(T)]TJ -T* -[(and )-45(ST)18(OP )-45(characters )-45(ar)]TJ -0.2954 Tc 10.456 0 Td -(ee)Tj -0 Tc 1.253 0 Td -[(choed )-45(as)]TJ -/TT0 1 Tf -4.177 0 Td -(\366)Tj -/T1_2 1 Tf -(X)Tj -/T1_1 1 Tf -0.2954 Tc (,w)Tj -0 Tc 2.701 0 Td -[(her)18(e)]TJ -/T1_2 1 Tf -2.212 0 Td -(X)Tj -/T1_1 1 Tf -1.017 0 Td -[(is )-45(the )-45(character )-45(formed)]TJ --21.817 -1.2 Td -[(by )-188(adding )-188(octal )-188(100 )-188(to )-188(the )-188(contr)18(ol )-188(character)]TJ -0.6881 Tc 20.296 0 Td -(.F)Tj -0 Tc 1.494 0 Td -[(or )-188(example, )-188(the )-188(ASCII)]TJ --21.79 -1.2 Td -[(Contr)18(ol)]TJ -3.377 0.09 Td -(-)Tj -0.4286 Tc 0.333 -0.09 Td -(Ac)Tj -0 Tc 1.651 0 Td -[(haracter )-179(\(octal )-179(1\) )-179(is )-179(echoed )-179(as)]TJ -/TT0 1 Tf -14.246 0 Td -(\366A)Tj -/T1_1 1 Tf -1.629 0 Td -[(and )-178(the )-178(ASCII )-178(DELETE)]TJ --21.235 -1.2 Td -[(character )-151(\(octal )-151(177\) )-151(is )-151(echoed )-151(as)]TJ -/TT0 1 Tf -15.527 0 Td -(\366?)Tj -/T1_1 1 Tf -0.6515 Tc (.I)Tj -0.4015 Tc 2.439 0 Td -(ft)Tj -0 Tc 1.061 0 Td -[(his )-151(\337ag )-151(is )-151(not )-151(set, )-151(the )-151(ASCII)]TJ --19.026 -1.2 Td -[(contr)18(ol )-32(characters )-32(ar)]TJ -0.2822 Tc 9.042 0 Td -(ee)Tj -0 Tc 1.24 0 Td -[(choed )-32(as )-32(themselves.)-532(As )-32(with )-32(the)]TJ -/TT0 1 Tf -15.333 0 Td -(ECHO)Tj -/T1_1 1 Tf -2.682 0 Td -[(\337ag, )-32(this)]TJ --28.298 -1.2 Td -[(\337ag )-303(af)18(fects )-303(the )-303(echoing )-303(of )-303(contr)18(ol )-303(characters )-303(in )-303(both )-303(canonical )-303(and)]TJ -T* -(noncanonical modes.)Tj -0 -1.8 TD -[(Be )-46(awar)]TJ -0.2963 Tc 3.597 0 Td -(et)Tj -0 Tc 1.101 0 Td -[(hat )-46(some )-46(systems )-46(echo )-46(the )-46(EOF )-46(character )-46(dif)16(fer)18(ently)]TJ -0.2962 Tc 23.315 0 Td -(,s)Tj -0 Tc 0.97 0 Td -[(ince )-46(its)]TJ --28.984 -1.2 Td -[(typical )-318(value )-318(is )-318(Contr)17(ol)]TJ -11.244 0.09 Td -(-)Tj -0.333 -0.09 Td -[(D. )-568(\(Contr)18(ol)]TJ -5.552 0.09 Td -(-)Tj -0.333 -0.09 Td -[(D)-568(is)-568(t)-1(he )-318(ASCII )-318(EOT )-318(character)73(,)]TJ --17.462 -1.2 Td -[(which can cause some terminals to hang up.\))-500(Check your manual.)]TJ -/TT0 1 Tf --6.883 -1.648 Td -(ECHOE)Tj -/T1_1 1 Tf -6.883 0 Td -(\()Tj -/TT0 1 Tf -(c_lflag)Tj -/T1_1 1 Tf -0.4202 Tc (,P)Tj -0 Tc 5.807 0 Td -[(OSIX.1, )-170(Fr)18(eeBSD, )-170(Linux, )-170(Mac )-170(OS )-170(X, )-170(Solaris\))-671(If )-170(set )-170(and )-170(if)]TJ -/TT0 1 Tf --5.807 -1.2 Td -(ICANON)Tj -/T1_1 1 Tf -4.12 0 Td -[(is )-270(set, )-270(the )-270(ERASE )-270(character )-270(erases )-270(the )-270(last )-270(character )-270(in )-270(the)]TJ --4.12 -1.2 Td -[(curr)18(ent )-19(line )-19(fr)18(om )-19(the )-19(display)]TJ -0.5188 Tc 12.613 0 Td -(.T)Tj -0 Tc 1.382 0 Td -[(his )-19(is )-19(usually )-19(done )-19(in )-19(the )-19(terminal )-19(driver)]TJ --13.995 -1.2 Td -[(by writing the thr)18(ee-character sequence backspace, space, backspace.)]TJ -T* -[(If )-24(the )-24(WERASE )-24(character )-24(is )-24(supported,)]TJ -/TT0 1 Tf -17.508 0 Td -(ECHOE)Tj -/T1_1 1 Tf -3.274 0 Td -[(causes )-24(the )-24(pr)18(evious )-24(wor)19(d)]TJ --20.781 -1.2 Td -[(to be erased using one or mor)18(e)-250(of)-250(the same thr)18(ee-character sequence.)]TJ --0 -1.8 Td -[(If )-83(the)]TJ -/TT0 1 Tf -2.724 0 Td -(ECHOPRT)Tj -/T1_1 1 Tf -4.533 0 Td -[(\337ag )-83(is )-83(supported, )-83(the )-83(actions )-83(described )-83(her)]TJ -0.3333 Tc 19.44 0 Td -(ef)Tj -0 Tc 1.145 0 Td -(or)Tj -/TT0 1 Tf -1.274 0 Td -(ECHOE)Tj -/T1_1 1 Tf --29.117 -1.2 Td -(assume that the)Tj -/TT0 1 Tf -7.184 0 Td -(ECHOPRT)Tj -/T1_1 1 Tf -4.45 0 Td -(\337ag is not set.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47472 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(656)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Now )-73(let\325s )-73(look )-73(at )-73(the )-73(open )-73(server)]TJ -0.5727 Tc 14.968 0 Td -(.I)Tj -0 Tc 1.16 0 Td -[(t)-323(is)-323(t)1(he )-73(pr)18(ogram)]TJ -/TT0 1 Tf -7.577 0 Td -(opend)Tj -/T1_1 1 Tf -3.323 0 Td -[(that )-73(is )-73(executed )-73(by )-73(the)]TJ --28.827 -1.2 Td -[(client )-4(in )-4(Figur)]TJ -0.254 Tc 6.177 0 Td -(e1)Tj -0 Tc 1.233 0 Td -[(7.19. )-254(First,)-254(we )-4(have )-4(the)]TJ -/TT0 1 Tf -10.588 0 Td -(opend.h)Tj -/T1_1 1 Tf -4.454 0 Td -[(header )-4(\(Figur)]TJ -0.254 Tc 6.016 0 Td -(e1)Tj -0 Tc 1.233 0 Td -[(7.20\), )-4(which )-4(includes)]TJ --29.701 -1.2 Td -(the standar)Tj -0.25 Tc 4.957 0 Td -(dh)Tj -0 Tc 1.443 0 Td -[(eaders and declar)18(es the global variables and function pr)18(ototypes.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6378.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 628.2236 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -(#define CL_OPEN "open")Tj -19.2 0 Td -(/* client\325s request for server */)Tj --19.2 -2.14 Td -[(extern char)-1200(errmsg[]; )-600(/*)-600(error message string to return to client */)]TJ -0 -1.189 TD -[(extern int)-1800(oflag; )-2400(/*)-600(open\(\) flag: O_xxx ... */)]TJ -T* -[(extern char *pathname;)-1200(/* of file to open\(\) for client */)]TJ -0 -2.14 TD -[(int )-3000(cli_args\(int,)-600(char **\);)]TJ -0 -1.189 TD -[(void )-2400(handle_request\(char)-600(*, int, int\);)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5229.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 244.264 506.8268 Tm -(Figure 17.20)Tj -/T1_1 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(opend.h)Tj -/T1_1 1 Tf -4.45 0 Td -(header)Tj -0.25 Tc 2.972 0 Td -(,v)Tj -0 Tc 1.065 0 Td -(ersion 1)Tj -9.9982 0 0 9.9982 147.5729 485.2306 Tm -(The)Tj -/TT0 1 Tf -2.019 0 Td -(main)Tj -/T1_1 1 Tf -2.745 0 Td -[(function )-95(\(Figur)]TJ -0.3453 Tc 6.768 0 Td -(e1)Tj -0 Tc 1.324 0 Td -[(7.21\) )-95(r)18(eads )-95(the )-95(r)18(equests )-95(fr)18(om )-95(the )-95(client )-95(on )-95(the )-95(fd-pipe)]TJ --14.657 -1.2 Td -(\(its standar)Tj -0.25 Tc 4.944 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput\) and calls the function)Tj -/TT0 1 Tf -12.432 0 Td -(handle_request)Tj -/T1_1 1 Tf -(.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4661.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 129.5689 456.5074 Tm -[(#include )-1800("opend.h")]TJ -0 -2.14 TD -[(char )-2400(errmsg[MAXLINE];)]TJ -0 -1.189 TD -[(int )-3000(oflag;)]TJ -T* -[(char )-1800(*pathname;)]TJ -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(nread;)]TJ -T* -[(char )-1800(buf[MAXLINE];)]TJ -0 -2.14 TD -[(for \( ; ; \) {)-1800(/* read arg buffer from client, process request */)]TJ -2.4 -1.189 Td -(if \(\(nread = read\(STDIN_FILENO, buf, MAXLINE\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("read error on stream pipe"\);)Tj --2.4 -1.189 Td -(else if \(nread == 0\))Tj -2.4 -1.189 Td -[(break; )-3000(/*)-600(client has closed the stream pipe */)]TJ --2.4 -1.189 Td -(handle_request\(buf, nread, STDOUT_FILENO\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2442.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 236.549 228.1675 Tm -(Figure 17.21)Tj -/T1_1 1 Tf -6.195 0 Td -(The server)Tj -/TT0 1 Tf -4.911 0 Td -(main)Tj -/T1_1 1 Tf -2.65 0 Td -(function, version 1)Tj -9.997 0 0 9.997 147.5558 204.1747 Tm -[(The )-256(function)]TJ -/TT0 1 Tf -6.393 0 Td -(handle_request)Tj -/T1_1 1 Tf -8.906 0 Td -[(in )-256(Figur)]TJ -0.5062 Tc 3.762 0 Td -(e1)Tj -0 Tc 1.485 0 Td -[(7.22 )-256(does )-256(all )-256(the )-256(work.)-756(It )-256(calls )-256(the)]TJ --22.347 -1.2 Td -(function)Tj -/TT0 1 Tf -4.363 0 Td -(buf_args)Tj -/T1_1 1 Tf -5.456 0 Td -[(to )-406(br)18(eak )-406(up )-406(the )-406(client\325s )-406(r)18(equest )-406(into )-406(a )-406(standar)17(d)]TJ -/TT0 1 Tf -24.372 0 Td -(argv)Tj -/T1_1 1 Tf -(-style)Tj --34.191 -1.2 Td -[(ar)18(gument )-71(list )-71(and )-71(calls )-71(the )-71(function)]TJ -/TT0 1 Tf -16.301 0 Td -(cli_args)Tj -/T1_1 1 Tf -5.121 0 Td -[(to )-71(pr)18(ocess )-71(the )-71(client\325s )-71(ar)18(guments. )-321(If)-321(all)]TJ --21.422 -1.2 Td -[(is )-93(OK,)]TJ -/TT0 1 Tf -3.164 0 Td -(open)Tj -/T1_1 1 Tf -2.743 0 Td -[(is )-93(called )-93(to )-93(open )-93(the )-93(\336le, )-93(and )-93(then)]TJ -/TT0 1 Tf -15.832 0 Td -(send_fd)Tj -/T1_1 1 Tf -4.543 0 Td -[(sends )-93(the )-93(descriptor )-93(back )-93(to)]TJ --26.283 -1.2 Td -[(the )-18(client )-18(acr)17(oss )-18(the )-18(fd-pipe )-18(\(its )-18(standar)]TJ -0.2684 Tc 17.455 0 Td -(do)Tj -0 Tc 1.425 0 Td -[(utput\). )-268(If)-269(an )-18(err)18(or )-18(is )-18(encounter)17(ed,)]TJ -/TT0 1 Tf -15.319 0 Td -(send_err)Tj -/T1_1 1 Tf --34.2 -1.2 Td -[(is )-301(called )-301(to )-301(send )-301(back )-301(an )-301(err)18(or )-301(message, )-301(using )-301(the )-301(client\320server )-301(pr)18(otocol )-301(that )-301(we)]TJ -0 -1.2 TD -[(described earlier)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47473 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(550)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-2400(n,)-600(fd1[2], fd2[2];)]TJ -T* -[(pid_t )-1200(pid;)]TJ -T* -[(char )-1800(line[MAXLINE];)]TJ -0 -2.14 TD -(if \(signal\(SIGPIPE, sig_pipe\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("signal error"\);)Tj --2.4 -2.14 Td -(if \(pipe\(fd1\) < 0 || pipe\(fd2\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("pipe error"\);)Tj --2.4 -2.14 Td -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid > 0\) {)Tj -27 0 Td -(/* parent */)Tj --26.4 -1.189 Td -(close\(fd1[0]\);)Tj -0 -1.189 TD -(close\(fd2[1]\);)Tj -0 -2.14 TD -(while \(fgets\(line, MAXLINE, stdin\) != NULL\) {)Tj -0.6 Tc 2.4 -1.189 Td -(n=s)Tj -0 Tc 3 0 Td -(trlen\(line\);)Tj --3 -1.189 Td -(if \(write\(fd1[1], line, n\) != n\))Tj -2.4 -1.189 Td -(err_sys\("write error to pipe"\);)Tj --2.4 -1.189 Td -(if \(\(n = read\(fd2[0], line, MAXLINE\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("read error from pipe"\);)Tj --2.4 -1.189 Td -(if \(n == 0\) {)Tj -2.4 -1.189 Td -(err_msg\("child closed pipe"\);)Tj -0 -1.189 TD -(break;)Tj --2.4 -1.189 Td -(})Tj -T* -[(line[n] = 0;)-2400(/* null terminate */)]TJ -T* -(if \(fputs\(line, stdout\) == EOF\))Tj -2.4 -1.189 Td -(err_sys\("fputs error"\);)Tj --4.8 -1.189 Td -(})Tj -0 -2.14 TD -(if \(ferror\(stdin\)\))Tj -2.4 -1.189 Td -(err_sys\("fgets error on stdin"\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -24.6 0 Td -(/* child */)Tj --24 -1.189 Td -(close\(fd1[1]\);)Tj -0 -1.189 TD -(close\(fd2[0]\);)Tj -T* -(if \(fd1[0] != STDIN_FILENO\) {)Tj -2.4 -1.189 Td -(if \(dup2\(fd1[0], STDIN_FILENO\) != STDIN_FILENO\))Tj -2.4 -1.189 Td -(err_sys\("dup2 error to stdin"\);)Tj --2.4 -1.189 Td -(close\(fd1[0]\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(if \(fd2[1] != STDOUT_FILENO\) {)Tj -2.4 -1.189 Td -(if \(dup2\(fd2[1], STDOUT_FILENO\) != STDOUT_FILENO\))Tj -2.4 -1.189 Td -(err_sys\("dup2 error to stdout"\);)Tj --2.4 -1.189 Td -(close\(fd2[1]\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(if \(execl\("./add2", "add2", \(char *\)0\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("execl error"\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47474 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(544)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -[(if \(childpid == NULL\) {)-3000(/* first time through */)]TJ -2.4 -1.189 Td -(/* allocate zeroed out array for child pids */)Tj -0 -1.189 TD -(maxfd = open_max\(\);)Tj -T* -(if \(\(childpid = calloc\(maxfd, sizeof\(pid_t\)\)\) == NULL\))Tj -2.4 -1.189 Td -(return\(NULL\);)Tj --4.8 -1.189 Td -(})Tj -0 -2.259 TD -(if \(pipe\(pfd\) < 0\))Tj -2.4 -1.189 Td -[(return\(NULL\); )-1200(/*)-600(errno set by pipe\(\) */)]TJ --2.4 -1.189 Td -(if \(pfd[0] >= maxfd || pfd[1] >= maxfd\) {)Tj -2.4 -1.189 Td -(close\(pfd[0]\);)Tj -0 -1.189 TD -(close\(pfd[1]\);)Tj -T* -(errno = EMFILE;)Tj -T* -(return\(NULL\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.259 TD -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -[(return\(NULL\); )-1200(/*)-600(errno set by fork\(\) */)]TJ -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid == 0\) {)Tj -27 0 Td -(/* child */)Tj --26.4 -1.189 Td -(if \(*type == \325r\325\) {)Tj -2.4 -1.189 Td -(close\(pfd[0]\);)Tj -0 -1.189 TD -(if \(pfd[1] != STDOUT_FILENO\) {)Tj -2.4 -1.189 Td -(dup2\(pfd[1], STDOUT_FILENO\);)Tj -0 -1.189 TD -(close\(pfd[1]\);)Tj --2.4 -1.189 Td -(})Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(close\(pfd[1]\);)Tj -0 -1.189 TD -(if \(pfd[0] != STDIN_FILENO\) {)Tj -2.4 -1.189 Td -(dup2\(pfd[0], STDIN_FILENO\);)Tj -T* -(close\(pfd[0]\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.259 TD -(/* close all descriptors in childpid[] */)Tj -0 -1.189 TD -(for \(i = 0; i < maxfd; i++\))Tj -2.4 -1.189 Td -(if \(childpid[i] > 0\))Tj -2.4 -1.189 Td -(close\(i\);)Tj --4.8 -2.259 Td -(execl\("/bin/sh", "sh", "-c", cmdstring, \(char *\)0\);)Tj -0 -1.189 TD -(_exit\(127\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.259 TD -(/* parent continues... */)Tj -0 -1.189 TD -(if \(*type == \325r\325\) {)Tj -2.4 -1.189 Td -(close\(pfd[1]\);)Tj -T* -(if \(\(fp = fdopen\(pfd[0], type\)\) == NULL\))Tj -2.4 -1.189 Td -(return\(NULL\);)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(close\(pfd[0]\);)Tj -T* -(if \(\(fp = fdopen\(pfd[1], type\)\) == NULL\))Tj -2.4 -1.189 Td -(return\(NULL\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47475 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.2)]TJ -35.826 0 Td -[(Nonblocking )-250(I/O)]TJ -/T1_1 1 Tf -10.007 0 Td -(483)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -2.259 TD -[(char )-1800(buf[500000];)]TJ -T* -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(ntowrite,)-600(nwrite;)]TJ -T* -[(char )-1800(*ptr;)]TJ -0 -2.259 TD -(ntowrite = read\(STDIN_FILENO, buf, sizeof\(buf\)\);)Tj -0 -1.189 TD -(fprintf\(stderr, "read %d bytes\\n", ntowrite\);)Tj -0 -2.259 TD -[(set_fl\(STDOUT_FILENO, O_NONBLOCK\);)-1200(/* set nonblocking */)]TJ -T* -(ptr = buf;)Tj -0 -1.189 TD -(while \(ntowrite > 0\) {)Tj -2.4 -1.189 Td -(errno = 0;)Tj -T* -(nwrite = write\(STDOUT_FILENO, ptr, ntowrite\);)Tj -T* -(fprintf\(stderr, "nwrite = %d, errno = %d\\n", nwrite, errno\);)Tj -0 -2.259 TD -(if \(nwrite > 0\) {)Tj -2.4 -1.189 Td -(ptr += nwrite;)Tj -0 -1.189 TD -(ntowrite -= nwrite;)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.259 TD -[(clr_fl\(STDOUT_FILENO, O_NONBLOCK\);)-1200(/* clear nonblocking */)]TJ -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3208.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 255.5813 304.8214 Tm -(Figure 14.1)Tj -/T1_0 1 Tf -5.695 0 Td -[(Lar)18(ge nonblocking)]TJ -/TT0 1 Tf -8.552 0 Td -(write)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5825 274.825 Tm -(If the standar)Tj -0.25 Tc 5.877 0 Td -(do)Tj -0 Tc 1.407 0 Td -[(utput is a r)18(egular \336le, we expect the)]TJ -/TT0 1 Tf -16.045 0 Td -(write)Tj -/T1_0 1 Tf -3.25 0 Td -(to be executed once:)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 251.4782 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l /etc/services)Tj -/T1_2 1 Tf -26.8 0 Td -(print \336le size)Tj -/TT0 1 Tf --28 -1.333 Td -[(-rw-r--r-- )-600(1)-600(root )-2400(677959)-600(Jun 23)-1200(2009 /etc/services)]TJ -0 -1.333 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out < /etc/services > temp.file)Tj -/T1_2 1 Tf -26.8 0 Td -[(try a r)18(egular \336le \336rst)]TJ -/TT0 1 Tf --28 -1.333 Td -(read 500000 bytes)Tj -0 -1.333 TD -(nwrite = 500000, errno = 0)Tj -/T1_2 1 Tf -0.25 Tc 28 0 Td -(as)Tj -0 Tc 1.083 0 Td -(ingle write)Tj -/TT0 1 Tf --29.083 -1.333 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l temp.file)Tj -/T1_2 1 Tf -26.8 0 Td -(verify size of output \336le)Tj -/TT0 1 Tf --28 -1.333 Td -[(-rw-rw-r-- )-600(1)-600(sar )-3000(500000)-600(Apr )-600(1)-600(13:03 temp.file)]TJ -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5843 155.4897 Tm -[(But )-76(if )-76(the )-76(standar)]TJ -0.326 Tc 7.849 0 Td -(do)Tj -0 Tc 1.483 0 Td -[(utput )-76(is )-76(a )-76(terminal, )-76(we )-76(expect )-76(the)]TJ -/TT0 1 Tf -15.499 0 Td -(write)Tj -/T1_0 1 Tf -3.326 0 Td -[(to )-76(r)18(eturn )-76(a )-76(partial )-76(count)]TJ --28.157 -1.2 Td -[(sometimes and an err)18(or at other times.)-500(This is what we see:)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47476 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.4)]TJ -/TT0 1 Tf -36.403 0 Td -(vfork)Tj -/T1_0 1 Tf -3.5 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(235)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.902 TD -[(int )-2400(globvar)]TJ -0.6 Tc 9.6 0 Td -(=6)Tj -4.8 Tc 1.8 0 Td -(;/)Tj -0.6 Tc 6 0 Td -(*e)Tj -0 Tc 1.8 0 Td -(xternal variable in initialized data */)Tj --19.2 -1.902 Td -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-2400(var;)-4800(/* automatic variable on the stack */)]TJ -0 -1.189 TD -[(pid_t )-1200(pid;)]TJ -0 -1.902 TD -(var = 88;)Tj -0 -1.189 TD -[(printf\("before vfork\\n"\);)-1800(/* we don\325t flush stdio */)]TJ -T* -(if \(\(pid = vfork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("vfork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(pid == 0\) {)-3600(/* child */)]TJ -0.6 -1.189 Td -(globvar++; )Tj -14.4 0 Td -[(/*)-600(modify parent\325s variables */)]TJ --14.4 -1.189 Td -(var++;)Tj -T* -(_exit\(0\); )Tj -14.4 0 Td -[(/*)-600(child terminates */)]TJ --16.8 -1.189 Td -(})Tj -0 -1.902 TD -(/* parent continues here */)Tj -0 -1.189 TD -(printf\("pid = %ld, glob = %d, var = %d\\n", \(long\)getpid\(\), globvar\ ,)Tj -1.2 -1.189 Td -(var\);)Tj --1.2 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4150.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 254.9214 398.9701 Tm -(Figure 8.3)Tj -/T1_0 1 Tf -5.195 0 Td -(Example of)Tj -/TT0 1 Tf -5.26 0 Td -(vfork)Tj -/T1_0 1 Tf -3.25 0 Td -(function)Tj -9.9988 0 0 9.9988 129.5847 374.973 Tm -[(Running this pr)18(ogram gives us)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5826 358.275 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(before vfork)Tj -0 -1.189 TD -(pid = 29039, glob = 7, var = 89)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5826 318.8797 Tm -[(Her)18(e, )-54(the )-54(incr)18(ementing )-54(of )-54(the )-54(variables )-54(done )-54(by )-54(the )-54(child )-54(changes )-54(the )-54(values )-54(in )-54(the)]TJ --1.8 -1.2 Td -[(par)18(ent. )-321(Because)-322(the )-71(child )-71(r)8(uns )-71(in )-71(the )-71(addr)18(ess )-71(space )-71(of )-71(the )-71(par)18(ent, )-71(this )-71(doesn\325t )-71(surprise)]TJ -0 -1.2 TD -[(us. )-250(This)-250(behavior)]TJ -0.25 Tc 7.774 0 Td -(,h)Tj -0 Tc 1.082 0 Td -(owever)Tj -0.25 Tc 3.224 0 Td -(,d)Tj -0 Tc 1.111 0 Td -[(if)18(fers fr)18(om the behavior of)]TJ -/TT0 1 Tf -11.803 0 Td -(fork)Tj -/T1_0 1 Tf -(.)Tj --23.194 -1.2 Td -[(Note )-307(in )-307(Figur)]TJ -0.5566 Tc 6.551 0 Td -(e8)Tj -0 Tc 1.536 0 Td -[(.3 )-307(that )-307(we )-307(call)]TJ -/TT0 1 Tf -7.549 0 Td -(_exit)Tj -/T1_0 1 Tf -3.557 0 Td -[(instead )-307(of)]TJ -/TT0 1 Tf -5.205 0 Td -(exit)Tj -/T1_0 1 Tf -0.8067 Tc (.A)Tj -0 Tc 4.235 0 Td -[(s)-557(we)-557(d)1(escribed )-307(in)]TJ --30.433 -1.2 Td -[(Section )-123(7.3,)]TJ -/TT0 1 Tf -5.44 0 Td -(_exit)Tj -/T1_0 1 Tf -3.373 0 Td -[(does )-123(not )-123(perform )-123(any )-123(\337ushing )-123(of )-123(standar)]TJ -0.3733 Tc 18.869 0 Td -(dI)Tj -0 Tc 1.321 0 Td -[(/O )-123(buf)18(fers. )-373(If)-374(we )-123(call)]TJ -/TT0 1 Tf --29.004 -1.2 Td -(exit)Tj -/T1_0 1 Tf -2.759 0 Td -[(instead, )-109(the )-109(r)18(esults )-109(ar)]TJ -0.3591 Tc 9.728 0 Td -(ei)Tj -0 Tc 1.129 0 Td -[(ndeterminate. )-359(Depending)-359(on )-109(the )-109(implementation )-109(of )-109(the)]TJ --13.616 -1.2 Td -(standar)Tj -0.2527 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.201 0 Td -[(/O )-3(library)111(,)-253(we)-253(m)1(ight )-3(see )-3(no )-3(dif)19(fer)18(ence )-3(in )-3(the )-3(output, )-3(or )-3(we )-3(might )-3(\336nd )-3(that )-3(the)]TJ --4.521 -1.2 Td -[(output fr)18(om the \336rst)]TJ -/TT0 1 Tf -9.281 0 Td -(printf)Tj -/T1_0 1 Tf -3.85 0 Td -[(in the par)18(ent has disappear)18(ed.)]TJ --11.331 -1.2 Td -[(If )-19(the )-19(child )-19(calls)]TJ -/TT0 1 Tf -7.304 0 Td -(exit)Tj -/T1_0 1 Tf -0.2695 Tc (,t)Tj -0 Tc 3.246 0 Td -[(he )-19(implementation )-19(\337ushes )-19(the )-19(standar)]TJ -0.2696 Tc 17.026 0 Td -(dI)Tj -0 Tc 1.218 0 Td -[(/O )-20(str)18(eams. )-270(If)-269(this)]TJ --30.593 -1.2 Td -[(is )-110(the )-110(only )-110(action )-110(taken )-110(by )-110(the )-110(library)]TJ -0.3597 Tc 17.093 0 Td -(,t)Tj -0 Tc 0.936 0 Td -[(hen )-110(we )-110(will )-110(see )-110(no )-110(dif)20(fer)18(ence )-110(fr)18(om )-110(the )-110(output)]TJ --18.029 -1.2 Td -[(generated )-36(if )-36(the )-36(child )-36(called)]TJ -/TT0 1 Tf -12.682 0 Td -(_exit)Tj -/T1_0 1 Tf -0.5357 Tc (.I)Tj -0.2857 Tc 4.123 0 Td -(ft)Tj -0 Tc 0.945 0 Td -[(he )-36(implementation )-36(also )-36(closes )-36(the )-36(standar)]TJ -0.2857 Tc 18.625 0 Td -(dI)Tj -0 Tc 1.234 0 Td -(/O)Tj --37.608 -1.2 Td -[(str)18(eams, )-171(however)]TJ -0.4212 Tc 7.89 0 Td -(,t)Tj -0 Tc 0.997 0 Td -[(he )-171(memory )-171(r)18(epr)18(esenting )-171(the)]TJ -/TT0 1 Tf -13.428 0 Td -(FILE)Tj -/T1_0 1 Tf -2.821 0 Td -[(object )-171(for )-171(the )-171(standar)]TJ -0.4211 Tc 9.827 0 Td -(do)Tj -0 Tc 1.578 0 Td -(utput)Tj --36.541 -1.2 Td -[(will )-9(be )-9(clear)18(ed )-9(out.)-509(Because )-9(the )-9(child )-9(is )-9(borr)18(owing )-9(the )-9(par)18(ent\325s )-9(addr)21(ess )-9(space, )-9(when )-9(the)]TJ -T* -[(par)18(ent )-134(r)18(esumes )-134(and )-134(calls)]TJ -/TT0 1 Tf -11.714 0 Td -(printf)Tj -/T1_0 1 Tf -[(,)-384(no)-384(o)-1(utput )-134(will )-134(appear )-134(and)]TJ -/TT0 1 Tf -16.765 0 Td -(printf)Tj -/T1_0 1 Tf -3.984 0 Td -[(will )-134(r)18(eturn)]TJ -/TT2 1 Tf -5.238 0 Td -(!)Tj -/T1_0 1 Tf -(1.)Tj --37.701 -1.2 Td -[(Note )-167(that )-167(the )-167(par)18(ent\325s)]TJ -/TT0 1 Tf -10.538 0 Td -(STDOUT_FILENO)Tj -/T1_0 1 Tf -8.217 0 Td -[(is )-167(still )-167(valid, )-167(as )-167(the )-167(child )-167(gets )-167(a )-167(copy )-167(of )-167(the)]TJ --18.755 -1.2 Td -[(par)18(ent\325s \336le descriptor array \(r)18(efer back to Figur)]TJ -0.25 Tc 21.254 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.2\).)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47477 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(154)Tj -/T1_1 1 Tf -3.5 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Library)]TJ -34.372 0 Td -[(Chapter )-250(5)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-2400(c;)]TJ -0 -1.902 TD -(while \(\(c = getc\(stdin\)\) != EOF\))Tj -2.4 -1.189 Td -(if \(putc\(c, stdout\) == EOF\))Tj -2.4 -1.189 Td -(err_sys\("output error"\);)Tj --4.8 -1.902 Td -(if \(ferror\(stdin\)\))Tj -2.4 -1.189 Td -(err_sys\("input error"\);)Tj --2.4 -1.902 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5113.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 192.7849 495.2586 Tm -(Figure 5.4)Tj -/T1_1 1 Tf -5.195 0 Td -(Copy standar)Tj -0.25 Tc 5.982 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput to standar)Tj -0.25 Tc 6.804 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput using)Tj -/TT0 1 Tf -5.415 0 Td -(getc)Tj -/T1_1 1 Tf -2.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(putc)Tj -/T1_1 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5844 471.2614 Tm -[(We )-417(c)]TJ -0 Tc 2.314 0 Td -[(an )-233(make )-233(another )-233(version )-233(of )-233(this )-233(pr)19(ogram )-233(that )-233(uses)]TJ -/TT0 1 Tf -24.562 0 Td -(fgetc)Tj -/T1_1 1 Tf -3.483 0 Td -(and)Tj -/TT0 1 Tf -2.176 0 Td -(fputc)Tj -/T1_1 1 Tf -0.4828 Tc (,w)Tj -0 Tc 4.567 0 Td -(hich)Tj --37.101 -1.2 Td -[(should )-17(be )-17(functions, )-17(not )-17(macr)20(os. )-267(\(W)]TJ -0.2666 Tc 16.172 0 Td -(ed)Tj -0 Tc 1.357 0 Td -[(on\325t )-17(show )-17(this )-17(trivial )-17(change )-17(to )-17(the )-17(sour)18(ce )-17(code.\))]TJ --15.729 -1.2 Td -[(Finally)111(,)-250(we)-250(have a version that r)18(eads and writes lines, shown in Figur)]TJ -0.25 Tc 30.535 0 Td -(e5)Tj -0 Tc 1.229 0 Td -(.5.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4305.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 420.9412 Tm -(#include "apue.h")Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(char )-1800(buf[MAXLINE];)]TJ -0 -1.902 TD -(while \(fgets\(buf, MAXLINE, stdin\) != NULL\))Tj -2.4 -1.189 Td -(if \(fputs\(buf, stdout\) == EOF\))Tj -2.4 -1.189 Td -(err_sys\("output error"\);)Tj --4.8 -1.902 Td -(if \(ferror\(stdin\)\))Tj -2.4 -1.189 Td -(err_sys\("input error"\);)Tj --2.4 -1.902 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2728.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 187.9629 256.7744 Tm -(Figure 5.5)Tj -/T1_1 1 Tf -5.195 0 Td -(Copy standar)Tj -0.25 Tc 5.982 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput to standar)Tj -0.25 Tc 6.804 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput using)Tj -/TT0 1 Tf -5.415 0 Td -(fgets)Tj -/T1_1 1 Tf -3.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(fputs)Tj -/T1_1 1 Tf -9.9976 0 0 9.9976 129.5689 232.7801 Tm -[(Note )-147(that )-147(we )-147(do )-147(not )-147(close )-147(the )-147(standar)]TJ -0.3968 Tc 17.509 0 Td -(dI)Tj -0 Tc 1.345 0 Td -[(/O )-147(str)18(eams )-147(explicitly )-147(in )-147(either )-147(Figur)]TJ -0.3968 Tc 16.683 0 Td -(e5)Tj -0 Tc 1.376 0 Td -[(.4 )-147(or)]TJ --36.912 -1.2 Td -(Figur)Tj -0.3007 Tc 2.383 0 Td -(e5)Tj -0 Tc 1.28 0 Td -[(.5. )-301(Instead,)-300(we )-51(know )-51(that )-51(the)]TJ -/TT0 1 Tf -13.515 0 Td -(exit)Tj -/T1_1 1 Tf -2.701 0 Td -[(function )-51(will )-51(\337ush )-51(any )-51(unwritten )-51(data )-51(and)]TJ --19.879 -1.2 Td -[(then )-258(close )-258(all )-258(open )-258(str)19(eams. )-508(\(W)92(e\325ll )-258(discuss )-258(this )-258(in )-258(Section )-258(8.5.\))-758(It )-258(is )-258(inter)18(esting )-258(to)]TJ --0 -1.2 Td -(compar)Tj -0.3382 Tc 3.351 0 Td -(et)Tj -0 Tc 1.143 0 Td -[(he )-88(timing )-88(of )-88(these )-88(thr)18(ee )-88(pr)18(ograms )-88(with )-88(the )-88(timing )-88(data )-88(fr)18(om )-88(Figur)]TJ -0.3383 Tc 30.213 0 Td -(e3)Tj -0 Tc 1.317 0 Td -[(.6. )-338(W)92(e)]TJ --36.025 -1.2 Td -[(show )-250(this )-250(data )-250(when )-250(operating )-250(on )-250(the )-250(same )-250(\336le )-250(\(98.5 )-250(MB )-250(with )-250(3 )-250(million )-250(lines\) )-250(in)]TJ -0 -1.2 TD -(Figur)Tj -0.25 Tc 2.383 0 Td -(e5)Tj -0 Tc 1.229 0 Td -(.6.)Tj --1.812 -1.2 Td -[(For )-118(each )-118(of )-118(the )-118(thr)18(ee )-118(standar)]TJ -0.3683 Tc 13.173 0 Td -(dI)Tj -0 Tc 1.316 0 Td -[(/O )-118(versions, )-118(the )-118(user )-118(CPU )-118(time )-118(is )-118(lar)16(ger )-118(than )-118(the)]TJ --16.289 -1.2 Td -(best)Tj -/TT0 1 Tf -2.398 0 Td -(read)Tj -/T1_1 1 Tf -3.016 0 Td -[(version )-365(fr)18(om )-365(Figur)]TJ -0.6155 Tc 9.035 0 Td -(e3)Tj -0 Tc 1.594 0 Td -[(.6, )-365(because )-365(the )-365(character)18(-at-a-time )-365(standar)]TJ -0.6155 Tc 20.002 0 Td -(dI)Tj -0 Tc 1.564 0 Td -(/O)Tj --37.608 -1.2 Td -[(versions )-128(have )-128(a )-128(loop )-128(that )-128(is )-128(executed )-128(100 )-128(million )-128(times, )-128(and )-128(the )-128(loop )-128(in )-128(the )-128(line-at-a-)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47478 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(208)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Envir)18(onment )]TJ -39.241 0 Td -[(Chapter)-500(7)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Because )-454(the )-454(thr)18(ee)]TJ -/TT0 1 Tf -9.282 0 Td -(alloc)Tj -/T1_1 1 Tf -3.704 0 Td -[(functions )-454(r)18(eturn )-454(a )-454(generic)]TJ -/TT0 1 Tf -13.435 0 Td -[(void )267(*)]TJ -/T1_1 1 Tf -4.037 0 Td -[(pointer)74(,)-704(if)-704(we)]TJ -/TT0 1 Tf --32.259 -1.2 Td -[(#include )273()]TJ -/T1_1 1 Tf -11.455 0 Td -[(\(to )-77(obtain )-77(the )-77(function )-77(pr)16(ototypes\), )-77(we )-77(do )-77(not )-77(explicitly )-77(have)]TJ --11.455 -1.2 Td -[(to )-206(cast )-206(the )-206(pointer )-206(r)18(eturned )-206(by )-206(these )-206(functions )-206(when )-206(we )-206(assign )-206(it )-206(to )-206(a )-206(pointer )-206(of )-206(a)]TJ -0 -1.2 TD -[(dif)18(fer)18(ent )-33(type.)-533(The )-33(default )-33(r)18(eturn )-33(value )-33(for )-33(undeclar)18(ed )-33(functions )-33(is)]TJ -/TT0 1 Tf -30.198 0 Td -(int)Tj -/T1_1 1 Tf -[(,)-283(so)-283(using )-33(a )-33(cast)]TJ --30.198 -1.2 Td -[(without )-75(the )-75(pr)18(oper )-75(function )-75(declaration )-75(could )-75(hide )-75(an )-75(err)18(or )-75(on )-75(systems )-75(wher)]TJ -0.3251 Tc 34.79 0 Td -(et)Tj -0 Tc 1.13 0 Td -[(he )-75(size)]TJ --35.92 -1.2 Td -(of type)Tj -/TT0 1 Tf -3.341 0 Td -(int)Tj -/T1_1 1 Tf -2.05 0 Td -[(dif)18(fers fr)18(om the size of a function\325s r)18(eturn value \(a pointer in this case\).)]TJ --3.591 -1.2 Td -[(The )-64(function)]TJ -/TT0 1 Tf -6.01 0 Td -(free)Tj -/T1_1 1 Tf -2.714 0 Td -[(causes )-64(the )-64(space )-64(pointed )-64(to )-64(by)]TJ -/T1_2 1 Tf -14.012 0 Td -(ptr)Tj -/T1_1 1 Tf -1.536 0 Td -[(to )-64(be )-64(deallocated.)-565(This )-64(fr)18(eed)]TJ --26.072 -1.2 Td -[(space )-49(is )-49(usually )-49(put )-49(into )-49(a )-49(pool )-49(of )-49(available )-49(memory )-49(and )-49(can )-49(be )-49(allocated )-49(in )-49(a )-49(later )-49(call)]TJ -T* -[(to one of the thr)18(ee)]TJ -/TT0 1 Tf -8.238 0 Td -(alloc)Tj -/T1_1 1 Tf -3.25 0 Td -(functions.)Tj --9.688 -1.2 Td -(The)Tj -/TT0 1 Tf -2.011 0 Td -(realloc)Tj -/T1_1 1 Tf -4.537 0 Td -[(function )-87(lets )-87(us )-87(change )-87(the )-87(size )-87(of )-87(a )-87(pr)18(eviously )-87(allocated )-87(ar)15(ea. )-337(\(The)]TJ --8.349 -1.2 Td -[(most )-57(common )-57(usage )-57(is )-57(to )-57(incr)17(ease )-57(an )-57(ar)18(ea\325s )-57(size.\))-557(For )-57(example, )-57(if )-57(we )-57(allocate )-57(r)18(oom )-57(for)]TJ -T* -[(512 )-163(elements )-163(in )-163(an )-163(array )-163(that )-163(we )-163(\336ll )-163(in )-163(at )-163(r)8(untime )-163(but )-163(later )-163(\336nd )-163(that )-163(we )-163(need )-163(mor)21(e)]TJ --0.018 Tc T* -(ro)Tj -0 Tc 0.923 0 Td -[(om, )-71(we )-71(can )-71(call)]TJ -/TT0 1 Tf -7.326 0 Td -(realloc)Tj -/T1_1 1 Tf -0.5707 Tc (.I)Tj -0.3207 Tc 5.358 0 Td -(ft)Tj -0 Tc 0.98 0 Td -[(her)18(e)-321(is)-321(r)19(oom )-71(beyond )-71(the )-71(end )-71(of )-71(the )-71(existing )-71(r)18(egion )-71(for)]TJ --14.587 -1.2 Td -[(the )-54(r)18(equested )-54(space, )-54(then)]TJ -/TT0 1 Tf -11.609 0 Td -(realloc)Tj -/T1_1 1 Tf -4.504 0 Td -[(simply )-54(allocates )-54(this )-54(additional )-54(ar)18(ea )-54(at )-54(the )-54(end )-54(and)]TJ --0.018 Tc -16.113 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-93(the )-93(same )-93(pointer )-93(that )-93(we )-93(passed )-93(it.)-595(But )-93(if )-93(ther)]TJ -0.3434 Tc 23.787 0 Td -(ei)Tj -0 Tc 1.113 0 Td -[(sn\325t )-93(r)18(oom,)]TJ -/TT0 1 Tf -4.899 0 Td -(realloc)Tj -/T1_1 1 Tf -4.543 0 Td -(allocates)Tj --35.199 -1.2 Td -[(another )-28(ar)18(ea )-28(that )-28(is )-28(lar)18(ge )-28(enough, )-28(copies )-28(the )-28(existing )-28(512-element )-28(array )-28(to )-28(the )-28(new )-28(ar)21(ea,)]TJ -T* -[(fr)18(ees )-33(the )-33(old )-33(ar)18(ea, )-33(and )-33(r)19(eturns )-33(the )-33(pointer )-33(to )-33(the )-33(new )-33(ar)19(ea. )-283(Because)-283(the )-33(ar)18(ea )-33(may )-33(move,)]TJ --0 -1.2 Td -[(we )-118(shouldn\325t )-118(have )-118(any )-118(pointers )-118(into )-118(this )-118(ar)17(ea. )-368(Exer)18(cise )-118(4.16 )-118(and )-118(Figur)]TJ -0.3681 Tc 32.185 0 Td -(eC)Tj -0 Tc 1.556 0 Td -[(.3 )-118(show )-118(the)]TJ --33.741 -1.2 Td -[(use )-47(of)]TJ -/TT0 1 Tf -2.979 0 Td -(realloc)Tj -/T1_1 1 Tf -4.497 0 Td -(with)Tj -/TT0 1 Tf -2.33 0 Td -(getcwd)Tj -/T1_1 1 Tf -3.897 0 Td -[(to )-47(handle )-47(a )-47(pathname )-47(of )-47(any )-47(length.)-546(Figur)]TJ -0.297 Tc 19.164 0 Td -(e1)Tj -0 Tc 1.276 0 Td -[(7.27 )-47(shows)]TJ --34.143 -1.2 Td -(an example that uses)Tj -/TT0 1 Tf -9.495 0 Td -(realloc)Tj -/T1_1 1 Tf -4.45 0 Td -(to avoid arrays with \336xed, compile-time sizes.)Tj --12.145 -1.2 Td -[(Note )-194(that )-194(the )-194(\336nal )-194(ar)18(gument )-194(to)]TJ -/TT0 1 Tf -15.124 0 Td -(realloc)Tj -/T1_1 1 Tf -4.644 0 Td -[(is )-194(the )-194(new )-194(size )-194(of )-194(the )-194(r)18(egion, )-194(not )-194(the)]TJ --21.568 -1.2 Td -[(dif)18(fer)18(ence )-174(between )-174(the )-174(old )-174(and )-174(new )-174(sizes.)-674(As )-174(a )-174(special )-174(case, )-174(if)]TJ -/T1_2 1 Tf -29.704 0 Td -(ptr)Tj -/T1_1 1 Tf -1.646 0 Td -[(is )-174(a )-174(null )-174(pointer)74(,)]TJ -/TT0 1 Tf --31.35 -1.2 Td -(realloc)Tj -/T1_1 1 Tf -4.45 0 Td -(behaves like)Tj -/TT0 1 Tf -5.699 0 Td -(malloc)Tj -/T1_1 1 Tf -3.85 0 Td -[(and allocates a r)18(egion of the speci\336ed)]TJ -/T1_2 1 Tf -16.775 0 Td -(newsize)Tj -/T1_1 1 Tf -(.)Tj -7.9995 0 0 7.9995 183.5899 382.577 Tm -[(Older )-65(versions )-65(of )-65(these )-65(r)18(outines )-65(allowed )-65(us )-65(to)]TJ -/TT0 1 Tf -21.034 0 Td -(realloc)Tj -/T1_1 1 Tf -0.3148 Tc 4.515 0 Td -(ab)Tj -0 Tc 1.368 0 Td -[(lock )-65(that )-65(we )-65(had)]TJ -/TT0 1 Tf -7.836 0 Td -(free)Tj -/T1_1 1 Tf -0.3148 Tc (ds)Tj -0 Tc 3.75 0 Td -[(ince )-65(the)]TJ --38.502 -1.25 Td -[(last )-30(call )-30(to)]TJ -/TT0 1 Tf -4.78 0 Td -(malloc)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.13 0 Td -(realloc)Tj -/T1_1 1 Tf -0.2803 Tc (,o)Tj -0 Tc 5.276 0 Td -(r)Tj -/TT0 1 Tf -0.675 0 Td -(calloc)Tj -/T1_1 1 Tf -0.5303 Tc (.T)Tj -0 Tc 4.993 0 Td -[(his )-30(trick )-30(dates )-30(back )-30(to )-30(V)111(ersion )-30(7 )-30(and )-30(exploited )-30(the)]TJ --19.855 -1.25 Td -[(sear)18(ch )-106(strategy )-106(of)]TJ -/TT0 1 Tf -8.316 0 Td -(malloc)Tj -/T1_1 1 Tf -3.956 0 Td -[(to )-106(perform )-106(storage )-106(compaction.)-606(Solaris )-106(still )-106(supports )-106(this )-106(featur)16(e,)]TJ --12.272 -1.25 Td -[(but many other platforms do not.)-500(This featur)18(e)-250(is)-250(depr)18(ecated and should not be used.)]TJ -9.9994 0 0 9.9994 147.5923 330.5802 Tm -[(The )-26(allocation )-26(r)18(outines )-26(ar)]TJ -0.2762 Tc 11.324 0 Td -(eu)Tj -0 Tc 1.358 0 Td -[(sually )-26(implemented )-26(with )-26(the)]TJ -/TT0 1 Tf -13.095 0 Td -(sbrk)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.609 -0.04 Td -[(system )-26(call.)-526(This)]TJ --31.42 -1.2 Td -[(system )-192(call )-192(expands )-192(\(or )-192(contracts\) )-192(the )-192(heap )-192(of )-192(the )-192(pr)21(ocess. )-442(\(Refer)-441(to )-192(Figur)]TJ -0.4416 Tc 34.777 0 Td -(e7)Tj -0 Tc 1.421 0 Td -[(.6.\) )-442(A)]TJ --36.198 -1.2 Td -[(sample )-90(implementation )-90(of)]TJ -/TT0 1 Tf -12.137 0 Td -(malloc)Tj -/T1_1 1 Tf -3.94 0 Td -(and)Tj -/TT0 1 Tf -2.033 0 Td -(free)Tj -/T1_1 1 Tf -2.74 0 Td -[(is )-90(given )-90(in )-90(Section )-90(8.7 )-90(of )-90(Kernighan )-90(and)]TJ --20.85 -1.2 Td -(Ritchie)Tj -3.331 0.04 Td -([)Tj -0.333 -0.04 Td -(1988)Tj -2 0.04 Td -(])Tj -0.333 -0.04 Td -(.)Tj --4.197 -1.2 Td -(Although)Tj -/TT0 1 Tf -4.603 0 Td -(sbrk)Tj -/T1_1 1 Tf -2.739 0 Td -[(can )-88(expand )-88(or )-88(contract )-88(the )-88(memory )-88(of )-88(a )-88(pr)14(ocess, )-88(most )-88(versions )-88(of)]TJ -/TT0 1 Tf --9.141 -1.2 Td -(malloc)Tj -/T1_1 1 Tf -4.173 0 Td -(and)Tj -/TT0 1 Tf -2.266 0 Td -(free)Tj -/T1_1 1 Tf -2.973 0 Td -[(never )-323(decr)18(ease )-323(their )-323(memory )-323(size.)-823(The )-323(space )-323(that )-323(we )-323(fr)15(ee )-323(is)]TJ --9.413 -1.2 Td -[(available )-51(for )-51(a )-51(later )-51(allocation, )-51(but )-51(the )-51(fr)18(eed )-51(space )-51(is )-51(not )-51(usually )-51(r)12(eturned )-51(to )-51(the )-51(kernel;)]TJ -T* -(instead, that space is kept in the)Tj -/TT0 1 Tf -14.332 0 Td -(malloc)Tj -/T1_1 1 Tf -3.85 0 Td -(pool.)Tj --16.382 -1.2 Td -[(Most )-140(implementations )-140(allocate )-140(mor)]TJ -0.3901 Tc 16.079 0 Td -(es)Tj -0 Tc 1.293 0 Td -[(pace )-140(than )-140(r)18(equested )-140(and )-140(use )-140(the )-140(additional)]TJ --19.172 -1.2 Td -[(space )-124(for )-124(r)18(ecor)]TJ -0.3741 Tc 6.693 0 Td -(dk)Tj -0 Tc 1.541 0 Td -[(eeping )167(\321 )167(the)-375(size )-124(of )-124(the )-124(block, )-124(a )-124(pointer )-124(to )-124(the )-124(next )-124(allocated )-124(block,)]TJ --8.234 -1.2 Td -[(and )-64(the )-64(like.)-564(As )-64(a )-64(consequence, )-64(writing )-64(past )-64(the )-64(end )-64(or )-64(befor)]TJ -0.3143 Tc 27.642 0 Td -(et)Tj -0 Tc 1.119 0 Td -[(he )-64(start )-64(of )-64(an )-64(allocated)]TJ --28.762 -1.2 Td -[(ar)18(ea )-88(could )-88(overwrite )-88(this )-88(r)19(ecor)18(d-keeping )-88(information )-88(in )-88(another )-88(block.)-588(These )-88(types )-88(of)]TJ -0 -1.2 Td -[(err)18(ors )-123(ar)]TJ -0.3727 Tc 3.866 0 Td -(eo)Tj -0 Tc 1.398 0 Td -[(ften )-123(catastr)18(ophic, )-123(but )-123(dif)18(\336cult )-123(to )-123(\336nd, )-123(because )-123(the )-123(err)18(or )-123(may )-123(not )-123(show )-123(up)]TJ --5.263 -1.2 Td -[(until much later)74(.)]TJ --0.074 Tc 1.8 -1.2 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(iting )-79(past )-79(the )-79(end )-79(or )-79(befor)]TJ -0.3292 Tc 11.832 0 Td -(et)Tj -0 Tc 1.134 0 Td -[(he )-79(beginning )-79(of )-79(a )-79(dynamically )-79(allocated )-79(buf)18(fer )-79(can)]TJ --16.087 -1.2 Td -[(corr)8(upt )-30(mor)]TJ -0.2801 Tc 5.388 0 Td -(et)Tj -0 Tc 1.085 0 Td -[(han )-30(internal )-30(r)18(ecor)18(d-keeping )-30(information.)-530(The )-30(memory )-30(befor)]TJ -0.2802 Tc 26.981 0 Td -(ea)Tj -0 Tc 1.259 0 Td -[(nd )-30(after )-30(a)]TJ --34.714 -1.2 Td -[(dynamically )-177(allocated )-177(buf)18(fer )-177(can )-177(potentially )-177(be )-177(used )-177(for )-177(other )-177(dynamically )-177(allocated)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47479 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(987)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 140.3916 670.9597 Tm -[(I/O, nonblocking,)-500(608)]TJ -10.091 0.09 Td -(\320)Tj -0.583 -0.09 Td -(609, 627)Tj --10.675 -1.25 Td -[(mechanism, )-250(95,)-250(534, 587, 589)]TJ -12.901 0.09 Td -(\320)Tj -0.583 -0.09 Td -(628)Tj --13.485 -1.25 Td -[(options, )-250(623)]TJ -5.649 0.09 Td -(\320)Tj -0.583 -0.09 Td -(625)Tj -/TT0 1 Tf --7.583 -1.25 Td -(socket)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(148,)-250(331, 590, 592, 607, 609, 621,)]TJ --1.317 -1.25 Td -(625, 637)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(638, 640)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(641, 808)Tj --9.683 -1.25 Td -[(de\336nition of,)-500(590)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(socketpair)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(148,)-250(331, 629)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(630, 632,)Tj --14.34 -1.25 Td -(634, 941)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(630)]TJ --1.35 -1.25 Td -[(sockets, UNIX domain,)-500(629)]TJ -12.308 0.09 Td -(\320)Tj -0.583 -0.09 Td -(642)Tj --11.541 -1.25 Td -[(timing, )-250(565)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(socklen_t)Tj -/T1_0 1 Tf -5.817 0 Td -[(data type,)-500(606)]TJ -6.482 0.09 Td -(\320)Tj -0.583 -0.09 Td -(607, 609, 622, 625, 800)Tj -/TT0 1 Tf --12.882 -1.25 Td -(SOCK_RAW)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(590)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(591, 602)Tj -/TT0 1 Tf --11.863 -1.25 Td -(SOCK_SEQPACKET)Tj -/T1_0 1 Tf -8.817 0 Td -[(constant, )-250(590)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(591, 602, 605,)Tj --12.763 -1.25 Td -(609, 612, 625)Tj -/TT0 1 Tf --2.7 -1.25 Td -(SOCK_STREAM)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(319,)-250(590)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(591, 602, 605,)Tj --12.963 -1.25 Td -(609, 612, 614)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(616, 618)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(619, 625, 630, 635,)Tj --10.333 -1.25 Td -(637, 640, 802, 808, 816)Tj --2.7 -1.25 Td -[(Solaris, )-250(xxi\320xxii,)-250(xxv)]TJ -0.25 Tc 9.145 0 Td -(,x)Tj -0 Tc 1.016 0 Td -(xvii, 3)Tj -2.746 0.09 Td -(\320)Tj -0.583 -0.09 Td -(4, 26)Tj -2.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(27, 29)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(30,)Tj --16.624 -1.25 Td -(35)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(36, 38, 41, 48)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(49, 57)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(60, 62, 64)Tj -4.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(65, 70, 76,)Tj --15.666 -1.25 Td -(88, 102, 108)Tj -5.083 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(3, 121)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(122, 129, 131)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(132, 138,)Tj --15.945 -1.25 Td -(178, 182, 184)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(188, 208)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(209, 21)55(1)]TJ -3.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(212, 222,)Tj --14.445 -1.25 Td -(225, 229, 240, 242, 244)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(245, 260, 277, 288, 290,)Tj --10.166 -1.25 Td -(293, 296, 298, 303, 314, 316)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(323, 329,)Tj --12.166 -1.25 Td -(334)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(335, 351, 355, 371, 373, 377, 379)Tj -13.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(380,)Tj --16.333 -1.25 Td -(385, 388, 392, 396, 409, 426)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(427, 432, 439, 471,)Tj --12.166 -1.25 Td -(485, 496)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(497, 499, 503, 530)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(531, 534, 559,)Tj --12.333 -1.25 Td -(561, 563, 565, 567, 572)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(573, 576, 592, 594,)Tj --10.166 -1.25 Td -(607)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(608, 61)55(1)]TJ -3.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(613, 627, 634, 648, 675)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(678,)Tj --16.445 -1.25 Td -(684)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(691, 693, 700, 704, 716)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(717, 723)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(724,)Tj --16.5 -1.25 Td -(726)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(727, 740)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(741, 744, 799, 91)55(1, 918, 925, 930,)]TJ --6.333 -1.25 Td -(932, 935)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(936, 951)Tj -/TT0 1 Tf --6.866 -1.25 Td -(SOL_SOCKET)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(624)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(625, 645)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(646,)Tj --14.53 -1.25 Td -(650)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(652)Tj --4.866 -1.25 Td -[(solutions to exer)18(cises, )-250(905)]TJ -11.651 0.09 Td -(\320)Tj -0.583 -0.09 Td -(945)Tj -/TT0 1 Tf --12.235 -1.25 Td -(SOMAXCONN)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(608)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(SO_OOBINLINE)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(626)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(SO_PASSCRED)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(651)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(SO_REUSEADDR)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(625)]TJ --7.617 -1.25 Td -[(sour)18(ce code, availability)]TJ -0.5 Tc 10.547 0 Td -(,x)Tj -0 Tc 1.266 0 Td -(xx)Tj -/TT0 1 Tf --11.813 -1.25 Td -(S_OUTPUT)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(510)]TJ --5.217 -1.25 Td -[(Spaf)18(for)18(d, G.,)-500(181, 250, 298, 949)]TJ -/TT0 1 Tf -0 -1.25 TD -(spawn)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(234)]TJ -/TT0 1 Tf --3.417 -1.25 Td -()Tj -/T1_0 1 Tf -5.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(0)Tj --10.039 -1.25 Td -[(spin locks,)-500(417)]TJ -6.742 0.09 Td -(\320)Tj -0.583 -0.09 Td -(418)Tj --7.325 -1.25 Td -(spooling, printer)Tj -0.5 Tc 7.332 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(93)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(795)Tj -/TT0 1 Tf --10.248 -1.25 Td -(sprintf)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(159,)-250(549, 616, 622, 640, 655,)]TJ --1.917 -1.25 Td -(657, 659, 668)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(669, 759, 772)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(773, 803,)Tj --12.333 -1.25 Td -(818)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(819, 822)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(823, 825)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(827, 833)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(835, 837,)Tj --14.666 -1.25 Td -(845, 945)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(159)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(spwd)Tj -/T1_0 1 Tf -2.817 0 Td -[(str)8(uctur)18(e, )-250(918)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(squid)Tj -/T1_0 1 Tf -3.417 0 Td -[(login name,)-500(178)]TJ -/TT0 1 Tf -22.583 65 Td -(S_RDBAND)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(510)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(S_RDNORM)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(510)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(sscanf)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(162,)-250(549, 551, 802)]TJ -12.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(803)Tj --15.29 -1.25 Td -[(de\336nition of,)-500(162)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(ssh)Tj -/T1_0 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(293)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(sshd)Tj -/T1_0 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(465)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(SSIZE_MAX)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(38,)-250(41, 71)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(ssize_t)Tj -/T1_0 1 Tf -4.617 0 Td -[(data type,)-500(39, 59, 71)]TJ --4.617 -1.25 Td -[(stack, )-250(205,)-250(215)]TJ -/TT0 1 Tf -T* -(stackaddr)Tj -/T1_0 1 Tf -5.817 0 Td -[(attribute, )-250(427)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(stacksize)Tj -/T1_0 1 Tf -5.817 0 Td -[(attribute, )-250(427)]TJ --5.817 -1.25 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(de)Tj -0 Tc 1.34 0 Td -[(rr)18(or)]TJ -0.5 Tc 1.639 0 Td -(,8)Tj -0.25 Tc 1.25 0 Td -(,1)Tj -0 Tc 1 0 Td -(45, 617)Tj --8.549 -1.25 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(de)Tj -0 Tc 1.34 0 Td -[(rr)18(or r)18(outines, )-250(898)]TJ -7.924 0.09 Td -(\320)Tj -0.583 -0.09 Td -(904)Tj --13.168 -1.25 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(di)Tj -0 Tc 1.152 0 Td -[(nput, )-250(8,)-250(145)]TJ --4.472 -1.25 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.198 0 Td -(/O)Tj --3.168 -1.25 Td -[(alternatives, )-250(174)]TJ -7.491 0.09 Td -(\320)Tj -0.583 -0.09 Td -(175)Tj --8.075 -1.25 Td -[(buf)18(fering, )-250(145)]TJ -6.44 0.09 Td -(\320)Tj -0.583 -0.09 Td -(147, 231, 235, 265, 367, 552, 721,)Tj --5.673 -1.25 Td -(752)Tj --1.35 -1.25 Td -[(ef)18(\336ciency)]TJ -0.5 Tc 4.084 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(53)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(156)Tj --7 -1.25 Td -[(implementation, )-250(164)]TJ -9.393 0.09 Td -(\320)Tj -0.583 -0.09 Td -(167)Tj --9.977 -1.25 Td -(library)Tj -0.5 Tc 2.87 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(0, 143)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(175)Tj --7.287 -1.25 Td -[(str)18(eams, )-250(143)]TJ -5.746 0.09 Td -(\320)Tj -0.583 -0.09 Td -(144)Tj --6.329 -1.25 Td -[(versus unbuf)18(fer)18(ed I/O, timing,)-500(155)]TJ --1.35 -1.25 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(do)Tj -0 Tc 1.407 0 Td -[(utput, )-250(8,)-250(145, 617)]TJ --4.727 -1.25 Td -[(standar)18(ds, )-250(25)]TJ -6.188 0.09 Td -(\320)Tj -0.583 -0.09 Td -(33)Tj --5.422 -1.25 Td -[(dif)18(fer)18(ences, )-250(58)]TJ -6.647 0.09 Td -(\320)Tj -0.583 -0.09 Td -(59)Tj --8.581 -1.25 Td -[(ST)74(AR)]TJ -0.25 Tc 2.473 0 Td -(Tt)Tj -0 Tc 1.189 0 Td -(erminal character)Tj -0.5 Tc 7.662 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 680)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(682, 686, 689,)Tj --13.541 -1.25 Td -(693)Tj -/TT0 1 Tf --2.7 -1.25 Td -(stat)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(4,)-250(7, 65, 93)]TJ -9.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(95, 97, 99, 107,)Tj --9.74 -1.25 Td -(121)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(122, 124, 126)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(128, 131, 138, 140)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(141,)Tj --16.5 -1.25 Td -(170, 331, 452, 586, 592, 628, 639)Tj -13.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(640, 670, 698,)Tj --14.166 -1.25 Td -(908, 910, 942)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(93)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(stat)Tj -/T1_0 1 Tf -2.817 0 Td -[(str)8(uctur)18(e, )-250(93)]TJ -5.802 0.09 Td -(\320)Tj -0.583 -0.09 Td -(96, 98, 1)Tj --0.055 Tc 3.445 0 Td -(11)Tj -0.25 Tc 0.945 0 Td -(,1)Tj -0 Tc 0.945 0 Td -(14, 124, 140, 147,)Tj --11.837 -1.25 Td -(167, 170, 498, 518, 529, 535, 552, 557, 586, 638,)Tj -T* -(697)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(698, 757, 807, 832)Tj --4.866 -1.25 Td -[(static variables,)-500(219)]TJ -T* -(ST)Tj --0.074 Tc 1.064 0 Td -(AT)Tj -0 Tc 1.317 0 Td -(US terminal character)Tj -0.5 Tc 9.541 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 682, 687, 689, 703)Tj -/TT0 1 Tf --13.172 -1.25 Td -()Tj -/T1_0 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7, 162)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(163, 755, 758)Tj -/TT0 1 Tf --13.805 -1.25 Td -()Tj -/T1_0 1 Tf -7.017 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7)Tj -/TT0 1 Tf -0.1666 Tc -11.239 -1.25 Td -(__)Tj -0 Tc 1.367 0 Td -[(STDC_IEC_559_ )433(_)]TJ -/T1_0 1 Tf -8.983 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --10.35 -1.25 Td -()Tj -/T1_0 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7, 635)Tj -/TT0 1 Tf --10.639 -1.25 Td -(stderr)Tj -/T1_0 1 Tf -4.017 0 Td -[(variable, )-250(145,)-250(483, 731, 901)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(STDERR_FILENO)Tj -/T1_0 1 Tf -8.217 0 Td -[(constant, )-250(62,)-250(145, 618)]TJ -9.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(619, 643,)Tj --15.663 -1.25 Td -(648, 652, 729)Tj -/TT0 1 Tf --2.7 -1.25 Td -(stdin)Tj -/T1_0 1 Tf -3.417 0 Td -[(variable, )-250(10,)-250(145, 154, 214, 216, 550)]TJ -15.407 0.09 Td -(\320)Tj -0.583 -0.09 Td -(551,)Tj --16.707 -1.25 Td -(654)Tj -/TT0 1 Tf --2.7 -1.25 Td -(STDIN_FILENO)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(9,)-250(62, 67, 72, 145, 308,)]TJ --4.917 -1.25 Td -(378, 483, 539, 544, 549)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(550, 619, 655)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(656,)Tj --16.333 -1.25 Td -[(679, 684, 709, 71)55(1, 728, 730)]TJ -11.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(732, 739)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(740)Tj -/TT0 1 Tf --18.978 -1.25 Td -()Tj -/T1_0 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7, 595)Tj -/TT0 1 Tf --10.639 -1.25 Td -()Tj -/T1_0 1 Tf -5.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(0, 27, 38, 51, 145, 147, 151,)Tj --7.339 -1.25 Td -(164, 168, 694, 755, 895)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47480 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(xxx)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(eface )-250(to )-250(the )-250(First )-250(Edition)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Or)15(ganization of the Book)]TJ -/T1_1 1 Tf -3.6 -2.4 Td -(This book is divided into six parts:)Tj -1.8 -2.04 Td -[(1. )-633(An)-653(overview )-403(and )-403(intr)18(oduction )-403(to )-403(basic )-403(Unix )-403(pr)19(ogramming )-403(concepts )-403(and)]TJ -1.633 -1.2 Td -[(terminology )-71(\(Chapter )-71(1\), )-71(with )-71(a )-71(discussion )-71(of )-71(the )-71(various )-71(Unix )-71(standar)17(dization)]TJ -0 -1.2 TD -[(ef)18(forts and dif)18(fer)18(ent Unix implementations \(Chapter 2\).)]TJ --1.633 -1.6 Td -[(2. )-633(I/O)]TJ -0.0833 Tc 3.445 0 Td -(\321u)Tj -0 Tc 1.686 0 Td -[(nbuf)18(fer)18(ed )-681(I/O )-681(\(Chapter )-681(3\), )-681(pr)18(operties )-681(of )-681(\336les )-681(and )-681(dir)20(ectories)]TJ --3.499 -1.2 Td -[(\(Chapter )-40(4\), )-40(the )-40(standar)]TJ -0.2902 Tc 10.586 0 Td -(dI)Tj -0 Tc 1.238 0 Td -[(/O )-40(library )-40(\(Chapter )-40(5\), )-40(and )-40(the )-40(standar)]TJ -0.2903 Tc 17.523 0 Td -(ds)Tj -0 Tc 1.325 0 Td -[(ystem )-40(data)]TJ --30.672 -1.2 Td -(\336les \(Chapter 6\).)Tj --1.633 -1.6 Td -[(3. )-633(Pr)18(ocesses )167(\321 )167(the)-541(envir)18(onment )-290(of )-290(a )-290(Unix )-290(pr)18(ocess )-290(\(Chapter )-290(7\), )-290(pr)15(ocess )-290(contr)18(ol)]TJ -1.633 -1.2 Td -[(\(Chapter )-309(8\), )-309(the )-309(r)18(elationships )-309(between )-309(dif)17(fer)18(ent )-309(pr)18(ocesses )-309(\(Chapter )-309(9\), )-309(and)]TJ --0 -1.2 Td -(signals \(Chapter 10\).)Tj --1.633 -1.6 Td -[(4. )-633(Mor)]TJ -0.2572 Tc 3.502 0 Td -(eI)Tj -0 Tc 1.073 0 Td -[(/O )167(\321 )167(terminal)-258(I/O )-7(\(Chapter )-7(1)55(1\), )-7(advanced )-7(I/O )-7(\(Chapter )-7(12\), )-7(and )-7(daemon)]TJ --2.942 -1.2 Td -[(pr)18(ocesses \(Chapter 13\).)]TJ --1.633 -1.6 Td -[(5. )-633(IPC)]TJ -0.0833 Tc 3.366 0 Td -(\321I)Tj -0 Tc 1.42 0 Td -[(nterpr)18(ocess communication \(Chapters 14 and 15\).)]TJ --4.787 -1.6 Td -[(6. )-633(Examples)]TJ -0.0833 Tc 6.021 0 Td -[(\321a )8(d)]TJ -0 Tc 2.603 0 Td -[(atabase )-158(library )-158(\(Chapter )-158(16\), )-158(communicating )-158(with )-158(a )-158(PostScript)]TJ --6.991 -1.2 Td -[(printer )-40(\(Chapter )-40(17\), )-40(a )-40(modem )-40(dialing )-40(pr)19(ogram )-40(\(Chapter )-40(18\), )-40(and )-40(using )-40(pseudo)]TJ -T* -(terminals \(Chapter 19\).)Tj -0.3453 Tc -1.633 -2.04 Td -(Ar)Tj -0 Tc 1.5 0 Td -[(eading )-95(familiarity )-95(with )-95(C )-95(would )-95(be )-95(bene\336cial )-95(as )-95(would )-95(some )-95(experience )-95(using)]TJ --3.3 -1.2 Td -[(Unix. )-353(No)-354(prior )-103(pr)18(ogramming )-103(experience )-103(with )-103(Unix )-103(is )-103(assumed.)-603(This )-103(text )-103(is )-103(intended)]TJ -T* -[(for )-359(pr)18(ogrammers )-359(familiar )-359(with )-359(Unix )-359(and )-359(pr)18(ogrammers )-359(familiar )-359(with )-359(some )-359(other)]TJ -T* -[(operating )-93(system )-93(who )-93(wish )-93(to )-93(learn )-93(the )-93(details )-93(of )-93(the )-93(services )-93(pr)18(ovided )-93(by )-93(most )-93(Unix)]TJ -T* -(systems.)Tj -/TT0 1 Tf --3.6 -2.4 Td -(Examples in the T)Tj --0.015 Tc 8.443 0 Td -(ex)Tj -0 Tc 1.097 0 Td -(t)Tj -/T1_1 1 Tf --5.94 -2.4 Td -[(This )-20(book )-20(contains )-20(many )-20(examples)]TJ -0.0833 Tc 15.663 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -[(ppr)18(oximately )-20(10,000 )-20(lines )-20(of )-20(sour)18(ce )-20(code.)-520(All )-20(the)]TJ --17.247 -1.2 Td -[(examples )-223(ar)18(e)-473(in)-473(the )-223(C )-223(pr)18(ogramming )-223(language.)-723(Furthermor)18(e, )-223(these )-223(examples )-223(ar)]TJ -0.4729 Tc 37.175 0 Td -(ei)Tj -0 Tc 1.243 0 Td -(n)Tj --38.418 -1.2 Td -[(ANSI )-175(C.)]TJ --0.092 Tc 4.531 0 Td -(Yo)Tj -0.4255 Tc 1.121 0 Td -(us)Tj -0 Tc 1.452 0 Td -[(hould )-176(have )-176(a )-176(copy )-176(of )-176(the)]TJ -/T1_2 1 Tf -12.226 0 Td -[(Unix )-176(Pr)18(ogrammer )213(\325)]TJ -0.4256 Tc 7.891 0 Td -(sM)Tj -0 Tc 1.759 0 Td -(anual)Tj -/T1_1 1 Tf -2.704 0 Td -[(for )-176(your )-176(system)]TJ --31.683 -1.2 Td -[(handy )-226(while )-226(r)18(eading )-226(this )-226(book, )-226(since )-226(r)18(efer)18(ence )-226(is )-226(made )-226(to )-226(it )-226(for )-226(some )-226(of )-226(the )-226(mor)19(e)]TJ -0 -1.2 Td -[(esoteric and implementation-dependent featur)18(es.)]TJ -1.8 -1.2 Td -[(Almost )-237(every )-237(function )-237(and )-237(system )-237(call )-237(is )-237(demonstrated )-237(with )-237(a )-237(small, )-237(complete)]TJ --1.8 -1.2 Td -[(pr)18(ogram. )-518(This)-519(lets )-268(us )-268(see )-268(the )-268(ar)18(guments )-268(and )-268(r)18(eturn )-268(values )-268(and )-268(is )-268(often )-268(easier )-268(to)]TJ -T* -[(compr)18(ehend )-66(than )-66(the )-66(use )-66(of )-66(the )-66(function )-66(in )-66(a )-66(much )-66(lar)13(ger )-67(pr)18(ogram. )-317(But)-316(since )-67(some )-67(of)]TJ -0 -1.2 Td -[(the )-145(small )-145(pr)18(ograms )-145(ar)]TJ -0.3955 Tc 10.121 0 Td -(ec)Tj -0 Tc 1.319 0 Td -[(ontrived )-145(examples, )-145(a )-145(few )-145(bigger )-145(examples )-145(ar)]TJ -0.3955 Tc 20.617 0 Td -(ea)Tj -0 Tc 1.374 0 Td -[(lso )-145(included)]TJ --33.432 -1.16 Td -(\()Tj -0.333 -0.04 Td -[(Chapters )-197(16, )-197(17, )-197(18, )-197(and )-197(19)]TJ -12.695 0.04 Td -(\))Tj -0.6972 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.56 0 Td -[(hese )-197(lar)18(ger )-197(examples )-197(demonstrate )-197(the )-197(pr)17(ogramming)]TJ --14.921 -1.2 Td -[(techniques in lar)18(ger)]TJ -0.25 Tc 8.667 0 Td -(,r)Tj -0 Tc 0.877 0 Td -(eal-world examples.)Tj --7.744 -1.2 Td -[(All )-86(the )-86(examples )-86(have )-86(been )-86(included )-86(in )-86(the )-86(text )-86(dir)18(ectly )-86(fr)17(om )-86(their )-86(sour)18(ce )-86(\336les.)-586(A)]TJ --1.8 -1.2 Td -[(machine-r)18(eadable )-157(copy )-157(of )-157(all )-157(the )-157(examples )-157(is )-157(available )-157(via )-157(anonymous )-157(FTP )-157(fr)18(om )-157(the)]TJ -T* -[(Internet )-5(host)]TJ -/TT1 1 Tf -5.894 0 Td -(ftp.uu.net)Tj -/T1_1 1 Tf -6.255 0 Td -[(in )-5(the )-5(\336le)]TJ -/TT1 1 Tf -4.401 0 Td -(published/books/stevens.advprog.tar.Z)Tj -/T1_1 1 Tf -(.)Tj --16.55 -1.2 Td -[(Obtaining )-268(the )-268(sour)17(ce )-268(code )-268(allows )-268(you )-268(to )-268(modify )-268(the )-268(pr)18(ograms )-268(fr)18(om )-268(this )-268(text )-268(and)]TJ -T* -(experiment with them on your system.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47481 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(5.4)]TJ -39.668 0 Td -[(Buf)18(fering)]TJ -/T1_1 1 Tf -6.165 0 Td -(147)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.055 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj -/TT0 1 Tf -1.222 0 Td -(setbuf)Tj -/T1_0 1 Tf -[(,)-314(we)-314(c)-1(an )-64(turn )-64(buf)17(fering )-65(on )-65(or )-65(of)19(f. )-315(T)]TJ -0.3146 Tc 19.502 0 Td -(oe)Tj -0 Tc 1.34 0 Td -[(nable )-65(buf)18(fering,)]TJ -/T1_2 1 Tf -7.391 0 Td -(buf)Tj -/T1_0 1 Tf -1.612 0 Td -[(must )-65(point)]TJ --34.103 -1.2 Td -[(to )-1(a )-1(buf)18(fer )-1(of )-1(length)]TJ -/TT0 1 Tf -8.999 0 Td -(BUFSIZ)Tj -/T1_0 1 Tf -0.2509 Tc (,ac)Tj -0 Tc 5.296 0 Td -[(onstant )-1(de\336ned )-1(in)]TJ -/TT0 1 Tf -8.279 0 Td -()Tj -/T1_0 1 Tf -0.5008 Tc (.N)Tj -0 Tc 6.982 0 Td -(ormally)Tj -0.2508 Tc 3.351 0 Td -(,t)Tj -0 Tc 0.827 0 Td -[(he )-1(str)18(eam )-1(is)]TJ --33.734 -1.2 Td -[(then )-68(fully )-68(buf)19(fer)18(ed, )-68(but )-68(some )-68(systems )-68(may )-68(set )-68(line )-68(buf)18(fering )-68(if )-68(the )-68(str)18(eam )-68(is )-68(associated)]TJ --0 -1.2 Td -(with a terminal device.)Tj --0.092 Tc 10.649 0 Td -[(To )-184(d)]TJ -0 Tc 1.928 0 Td -[(isable buf)18(fering, we set)]TJ -/T1_2 1 Tf -10.437 0 Td -(buf)Tj -/T1_0 1 Tf -1.547 0 Td -(to)Tj -/TT0 1 Tf -1.122 0 Td -(NULL)Tj -/T1_0 1 Tf -(.)Tj --0.055 Tc -23.883 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj -/TT0 1 Tf -1.252 0 Td -(setvbuf)Tj -/T1_0 1 Tf -[(,)-344(we)-344(specify )-94(exactly )-94(which )-94(type )-94(of )-94(buf)17(fering )-94(we )-94(want.)-594(This )-94(is )-94(done)]TJ --4.288 -1.2 Td -(with the)Tj -/T1_2 1 Tf -3.92 0 Td -(mode)Tj -/T1_0 1 Tf -2.361 0 Td -[(ar)18(gument:)]TJ -/TT0 1 Tf -7.9995 0 0 7.9995 279.8871 594.9643 Tm -(_IOFBF)Tj -/T1_0 1 Tf -5.1 0 Td -[(fully buf)18(fer)18(ed)]TJ -/TT0 1 Tf --5.1 -1.25 Td -(_IOLBF)Tj -/T1_0 1 Tf -5.1 0 Td -[(line buf)18(fer)18(ed)]TJ -/TT0 1 Tf --5.1 -1.25 Td -(_IONBF)Tj -/T1_0 1 Tf -5.1 0 Td -[(unbuf)18(fer)18(ed)]TJ -9.9994 0 0 9.9994 129.5921 556.9666 Tm -[(If )-232(we )-232(specify )-232(an )-232(unbuf)19(fer)18(ed )-232(str)18(eam, )-232(the)]TJ -/T1_2 1 Tf -19.126 0 Td -(buf)Tj -/T1_0 1 Tf -1.779 0 Td -(and)Tj -/T1_2 1 Tf -2.175 0 Td -(size)Tj -/T1_0 1 Tf -1.982 0 Td -[(ar)18(guments )-232(ar)]TJ -0.4818 Tc 6.089 0 Td -(ei)Tj -0 Tc 1.252 0 Td -[(gnor)18(ed. )-482(If)-482(we)]TJ --32.402 -1.2 Td -[(specify )-9(fully )-9(buf)19(fer)18(ed )-9(or )-9(line )-9(buf)19(fer)18(ed,)]TJ -/T1_2 1 Tf -17.087 0 Td -(buf)Tj -/T1_0 1 Tf -1.556 0 Td -(and)Tj -/T1_2 1 Tf -1.951 0 Td -(size)Tj -/T1_0 1 Tf -1.759 0 Td -[(can )-8(optionally )-8(specify )-8(a )-8(buf)18(fer )-8(and )-8(its)]TJ --22.353 -1.2 Td -[(size. )-657(If)-658(the )-407(str)18(eam )-407(is )-407(buf)17(fer)18(ed )-407(and)]TJ -/T1_2 1 Tf -18 0 Td -(buf)Tj -/T1_0 1 Tf -1.954 0 Td -(is)Tj -/TT0 1 Tf -1.372 0 Td -(NULL)Tj -/T1_0 1 Tf -0.6575 Tc (,t)Tj -0 Tc 3.634 0 Td -[(he )-407(standar)]TJ -0.6575 Tc 5.039 0 Td -(dI)Tj -0 Tc 1.606 0 Td -[(/O )-407(library )-407(will)]TJ --31.605 -1.2 Td -[(automatically )-366(allocate )-366(its )-366(own )-366(buf)18(fer )-366(of )-366(the )-366(appr)18(opriate )-366(size )-366(for )-366(the )-366(str)19(eam. )-616(By)]TJ -0 -1.2 TD -[(appr)18(opriate size, we mean the value speci\336ed by the constant)]TJ -/TT0 1 Tf -27.403 0 Td -(BUFSIZ)Tj -/T1_0 1 Tf -(.)Tj -7.9995 0 0 7.9995 183.5884 491.3705 Tm -[(Some )-150(C )-150(library )-150(implementations )-150(use )-150(the )-150(value )-150(fr)18(om )-150(the)]TJ -/TT0 1 Tf -26.063 0 Td -(st_blksize)Tj -/T1_0 1 Tf -6.4 0 Td -[(member )-150(of )-150(the)]TJ -/TT0 1 Tf -7.138 0 Td -(stat)Tj -/T1_0 1 Tf --39.6 -1.25 Td -[(str)8(uctur)]TJ -0.3455 Tc 3.49 0 Td -(e\()Tj -0 Tc 1.158 0 Td -[(see )-95(Section )-95(4.2\) )-95(to )-95(determine )-95(the )-95(optimal )-95(standar)]TJ -0.3455 Tc 22.118 0 Td -(dI)Tj -0 Tc 1.294 0 Td -[(/O )-95(buf)18(fer )-95(size.)-596(As )-95(we )-95(will )-95(see)]TJ --28.059 -1.25 Td -(later in this chapter)Tj -0.25 Tc 8.49 0 Td -(,t)Tj -0 Tc 0.826 0 Td -(he GNU C library uses this method.)Tj -9.9994 0 0 9.9994 147.5904 453.3728 Tm -(Figur)Tj -0.25 Tc 2.383 0 Td -(e5)Tj -0 Tc 1.229 0 Td -(.1 summarizes the actions of these two functions and their various optio\ ns.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1336.25 4394.25 cm -0 0 m -3820 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 138.6714 431.3482 Tm -(Function)Tj -/T1_2 1 Tf -6.31 0 Td -[(mode )-3400(buf)]TJ -/T1_0 1 Tf -13.932 0 Td -[(Buf)18(fer and length)]TJ --0.09 Tc 15.97 0 Td -(Ty)Tj -0 Tc 1.079 0 Td -[(pe of buf)18(fering)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1336.25 4274.25 cm -0 0 m -3820 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1336.25 4254.25 cm -0 0 m -3820 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 223.9677 417.3249 Tm -[(non-null )-1548(user)]TJ -/T1_2 1 Tf -7.759 0 Td -(buf)Tj -/T1_0 1 Tf -1.547 0 Td -(of length)Tj -/TT0 1 Tf -4.195 0 Td -(BUFSIZ)Tj -/T1_0 1 Tf -9.289 0 Td -[(fully buf)18(fer)18(ed or line buf)18(fer)18(ed)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2180.25 4134.25 cm -0 0 m -2976 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 223.9542 405.3027 Tm -(NULL)Tj -/T1_0 1 Tf -5.608 0 Td -[(\(no buf)18(fer\) )]TJ -17.182 0 Td -[(unbuf)18(fer)18(ed)]TJ -/TT0 1 Tf --33.59 0.75 Td -(setbuf)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1336.25 4014.25 cm -0 0 m -3820 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1336.25 3994.25 cm -0 0 m -3820 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 223.9408 391.2826 Tm -[(non-null )-1548(user)]TJ -/T1_2 1 Tf -7.759 0 Td -(buf)Tj -/T1_0 1 Tf -1.547 0 Td -(of length)Tj -/T1_2 1 Tf -4.195 0 Td -(size)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2180.25 3874.25 cm -0 0 m -1823 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 223.9274 379.2634 Tm -(NULL)Tj -/T1_0 1 Tf -5.608 0 Td -[(system buf)18(fer of appr)18(opriate length)]TJ -/TT0 1 Tf --10.708 0.75 Td -(_IOFBF)Tj -/T1_0 1 Tf -27.89 0 Td -[(fully buf)18(fer)18(ed)]TJ -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1772.25 3754.25 cm -0 0 m -3384 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 223.9139 367.2457 Tm -[(non-null )-1548(user)]TJ -/T1_2 1 Tf -7.759 0 Td -(buf)Tj -/T1_0 1 Tf -1.547 0 Td -(of length)Tj -/T1_2 1 Tf -4.195 0 Td -(size)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2180.25 3634.25 cm -0 0 m -1823 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 223.9005 355.2294 Tm -(NULL)Tj -/T1_0 1 Tf -5.608 0 Td -[(system buf)18(fer of appr)18(opriate length)]TJ -/TT0 1 Tf --10.708 0.75 Td -(_IOLBF)Tj -/T1_0 1 Tf -27.89 0 Td -[(line buf)18(fer)18(ed)]TJ -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1772.25 3514.25 cm -0 0 m -3384 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9957 0 0 7.9957 183.1091 343.2146 Tm -(_IONBF)Tj -/T1_0 1 Tf -5.1 0 Td -[(\(ignor)18(ed\) )-1250(\(no)-250(buf)18(fer\) )]TJ -22.79 0 Td -[(unbuf)18(fer)18(ed)]TJ -/TT0 1 Tf --33.59 3 Td -(setvbuf)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1336.25 3394.25 cm -0 0 m -3820 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4003.25 3394.25 cm -0 0 m -0 1000 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2628.25 3394.25 cm -0 0 m -0 1000 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2180.25 3394.25 cm -0 0 m -0 1000 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1772.25 3394.25 cm -0 0 m -0 1000 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5156.25 3394.25 cm -0 0 m -0 1000 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1336.25 3394.25 cm -0 0 m -0 1000 l -S -Q -Q -BT -/T1_1 1 Tf -7.9952 0 0 7.9952 216.7499 321.2072 Tm -(Figure 5.1)Tj -/T1_0 1 Tf -5.195 0 Td -(Summary of the)Tj -/TT0 1 Tf -7.361 0 Td -(setbuf)Tj -/T1_0 1 Tf -3.85 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(setvbuf)Tj -/T1_0 1 Tf -4.45 0 Td -(functions)Tj -9.994 0 0 9.994 147.5117 297.2216 Tm -[(Be )-25(awar)]TJ -0.2752 Tc 3.576 0 Td -(et)Tj -0 Tc 1.08 0 Td -[(hat )-25(if )-25(we )-25(allocate )-25(a )-25(standar)]TJ -0.2753 Tc 11.918 0 Td -(dI)Tj -0 Tc 1.223 0 Td -[(/O )-25(buf)18(fer )-25(as )-25(an )-25(automatic )-25(variable )-25(within )-25(a)]TJ --19.598 -1.2 Td -[(function, )-33(we )-33(have )-33(to )-33(close )-33(the )-33(str)18(eam )-33(befor)]TJ -0.2831 Tc 19.098 0 Td -(er)Tj -0 Tc 1.139 0 Td -[(eturning )-33(fr)18(om )-33(the )-33(function.)-533(\(W)92(e\325ll )-33(discuss)]TJ --20.237 -1.2 Td -[(this )-44(point )-44(further )-44(in )-44(Section )-44(7.8.\))-545(Also, )-44(some )-44(implementations )-44(use )-44(part )-44(of )-44(the )-44(buf)18(fer )-44(for)]TJ -T* -[(internal )-130(bookkeeping, )-130(so )-130(the )-130(actual )-130(number )-130(of )-130(bytes )-130(of )-130(data )-130(that )-130(can )-130(be )-130(stor)22(ed )-130(in )-130(the)]TJ -T* -[(buf)18(fer )-61(can )-61(be )-61(less )-61(than)]TJ -/T1_2 1 Tf -10.4 0 Td -(size)Tj -/T1_0 1 Tf -0.5612 Tc (.I)Tj -0.3112 Tc 2.648 0 Td -(ng)Tj -0 Tc 1.449 0 Td -[(eneral, )-61(we )-61(should )-61(let )-61(the )-61(system )-61(choose )-61(the )-61(buf)18(fer )-61(size)]TJ --14.497 -1.2 Td -[(and )-281(automatically )-281(allocate )-281(the )-281(buf)19(fer)]TJ -0.7807 Tc 17.241 0 Td -(.W)Tj -0 Tc 2.031 0 Td -[(hen )-281(we )-281(do )-281(this, )-281(the )-281(standar)]TJ -0.5306 Tc 13.347 0 Td -(dI)Tj -0 Tc 1.479 0 Td -[(/O )-281(library)]TJ --34.097 -1.2 Td -[(automatically r)18(eleases the buf)18(fer when we close the str)18(eam.)]TJ -1.8 -1.2 Td -[(At any time, we can for)18(ce a str)18(eam to be \337ushed.)]TJ -/TT0 1 Tf -8.9946 0 0 8.9946 147.512 196.582 Tm -(#include )Tj -0 -1.902 TD -(int fflush\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -26.1 -1.902 Td -(Returns: 0 if OK,)Tj -/TT0 1 Tf -7.613 0 Td -(EOF)Tj -/T1_0 1 Tf -2.05 0 Td -[(on err)18(or)]TJ -ET -q -0.09994 0 0 0.09994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1579.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9934 0 0 9.9934 129.5145 144.3647 Tm -(The)Tj -/TT0 1 Tf -2.124 0 Td -(fflush)Tj -/T1_0 1 Tf -4.05 0 Td -[(function )-200(causes )-200(any )-200(unwritten )-200(data )-200(for )-200(the )-200(str)18(eam )-200(to )-200(be )-200(passed )-200(to )-200(the)]TJ --6.174 -1.2 Td -[(kernel. )-250(As)]TJ -0.25 Tc 4.984 0 Td -(as)Tj -0 Tc 1.174 0 Td -(pecial case, if)Tj -/T1_2 1 Tf -6.077 0 Td -(fp)Tj -/T1_0 1 Tf -1.028 0 Td -(is)Tj -/TT0 1 Tf -0.965 0 Td -(NULL)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -2.9 0 Td -(fflush)Tj -/T1_0 1 Tf -3.85 0 Td -[(causes all output str)18(eams to be \337ushed.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47482 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(308)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Relationships)]TJ -39.241 0 Td -[(Chapter )-250(9)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.664 TD -(static void)Tj -0 -1.189 TD -(sig_hup\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("SIGHUP received, pid = %ld\\n", \(long\)getpid\(\)\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.664 TD -(static void)Tj -0 -1.189 TD -(pr_ids\(char *name\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(printf\("%s: pid = %ld, ppid = %ld, pgrp = %ld, tpgrp = %ld\\n",)Tj -2.4 -1.189 Td -(name, \(long\)getpid\(\), \(long\)getppid\(\), \(long\)getpgrp\(\),)Tj -T* -(\(long\)tcgetpgrp\(STDIN_FILENO\)\);)Tj --2.4 -1.189 Td -(fflush\(stdout\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.664 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(c;)]TJ -T* -[(pid_t )-1200(pid;)]TJ -0 -1.664 TD -(pr_ids\("parent"\);)Tj -0 -1.189 TD -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(pid > 0\) {)-1800(/* parent */)]TJ -0.6 -1.189 Td -[(sleep\(5\); )-3600(/*)-600(sleep to let child stop itself */)]TJ -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -10.2 0 Td -(/* child */)Tj --9.6 -1.189 Td -(pr_ids\("child"\);)Tj -T* -[(signal\(SIGHUP, sig_hup\);)-2400(/* establish signal handler */)]TJ -T* -[(kill\(getpid\(\), SIGTSTP\);)-2400(/* stop ourself */)]TJ -0 -1.189 TD -[(pr_ids\("child"\); )-1800(/*)-600(prints only if we\325re continued */)]TJ -0 -1.189 TD -(if \(read\(STDIN_FILENO, &c, 1\) != 1\))Tj -2.4 -1.189 Td -(printf\("read error %d on controlling TTY\\n", errno\);)Tj --4.8 -1.189 Td -(})Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2738.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 237.0875 261.3466 Tm -(Figure 9.12)Tj -/T1_1 1 Tf -5.695 0 Td -[(Cr)18(eating an orphaned pr)18(ocess gr)18(oup)]TJ -9.9988 0 0 9.9988 129.5846 237.3495 Tm -[(this )-10(example\) )-10(and )-10(that )-10(the )-10(shell )-10(stays )-10(in )-10(its )-10(own )-10(pr)18(ocess )-10(gr)18(oup)]TJ -27.79 0.04 Td -(\()Tj -0.333 -0.04 Td -(2837)Tj -2 0.04 Td -(\))Tj -0.5101 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.373 0 Td -[(he )-10(child )-10(inherits)]TJ --31.829 -1.2 Td -[(the pr)18(ocess gr)18(oup of its par)18(ent)]TJ -13.65 0.04 Td -(\()Tj -0.333 -0.04 Td -(6099)Tj -2 0.04 Td -(\))Tj -0.5 Tc 0.333 -0.04 Td -(.A)Tj -0 Tc 1.528 0 Td -(fter the)Tj -/TT0 1 Tf -3.42 0 Td -(fork)Tj -/T1_1 1 Tf -(,)Tj -0.883 Tc -19.464 -1.56 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-64(par)18(ent )-64(sleeps )-64(for )-64(5 )-64(seconds.)-565(This )-64(is )-64(our )-64(\(imperfect\) )-64(way )-64(of )-64(letting )-64(the )-64(child)]TJ --0.613 -1.2 Td -(execute befor)Tj -0.25 Tc 5.864 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(he par)18(ent terminates.)]TJ -0.883 Tc -8.408 -1.48 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-6(child )-6(establishes )-6(a )-6(signal )-6(handler )-6(for )-6(the )-6(hang-up )-6(signal )-6(\()]TJ -/TT0 1 Tf -26.589 0 Td -(SIGHUP)Tj -/T1_1 1 Tf -[(\))-256(so)-256(we)-256(c)1(an)]TJ --27.202 -1.2 Td -[(see whether it is sent to the child.)-500(\(W)]TJ -0.25 Tc 16.421 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(iscuss signal handlers in Chapter 10.\))Tj -0.883 Tc -19.25 -1.48 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-119(child )-119(sends )-119(itself )-119(the )-119(stop )-119(signal )-119(\()]TJ -/TT0 1 Tf -16.785 0 Td -(SIGTSTP)Tj -/T1_1 1 Tf -0.3686 Tc (\)w)Tj -0 Tc 5.736 0 Td -[(ith )-119(the)]TJ -/TT0 1 Tf -3.323 0 Td -(kill)Tj -/T1_1 1 Tf -2.769 0 Td -[(function. )-368(This)]TJ --29.225 -1.2 Td -[(stops )-187(the )-187(child, )-187(similar )-187(to )-187(our )-187(stopping )-187(a )-187(for)16(egr)18(ound )-187(job )-187(with )-187(our )-187(terminal\325s)]TJ --0 -1.2 Td -[(suspend character \(Contr)18(ol)]TJ -11.999 0.09 Td -(-)Tj -0.333 -0.09 Td -(Z\).)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47483 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(216)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Envir)18(onment )]TJ -39.241 0 Td -[(Chapter)-500(7)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-242(c)]TJ -0 Tc 2.139 0 Td -(all)Tj -/TT0 1 Tf -1.389 0 Td -(setjmp)Tj -/T1_1 1 Tf -3.908 0 Td -[(fr)18(om )-57(the )-57(location )-57(that )-57(we )-57(want )-57(to )-57(r)15(eturn )-57(to, )-57(which )-57(in )-57(this )-57(example)]TJ --9.236 -1.2 Td -[(is )-49(in )-49(the)]TJ -/TT0 1 Tf -3.871 0 Td -(main)Tj -/T1_1 1 Tf -2.699 0 Td -[(function. )-299(In)-299(this )-49(case,)]TJ -/TT0 1 Tf -10.042 0 Td -(setjmp)Tj -/T1_1 1 Tf --0.018 Tc 3.899 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-49(0 )-49(because )-49(we )-49(called )-49(it )-49(dir)19(ectly)]TJ -0.5489 Tc 15.915 0 Td -(.I)Tj -0 Tc 1.136 0 Td -(n)Tj --38.418 -1.2 Td -[(the )-64(call )-64(to)]TJ -/TT0 1 Tf -4.728 0 Td -(setjmp)Tj -/T1_1 1 Tf -0.3144 Tc (,t)Tj -0 Tc 4.49 0 Td -[(he )-64(ar)18(gument)]TJ -/T1_2 1 Tf -5.996 0 Td -(env)Tj -/T1_1 1 Tf -1.759 0 Td -[(is )-64(of )-64(the )-64(special )-64(type)]TJ -/TT0 1 Tf -9.545 0 Td -(jmp_buf)Tj -/T1_1 1 Tf -0.5643 Tc (.T)Tj -0 Tc 5.627 0 Td -[(his )-64(data )-64(type )-64(is)]TJ --32.146 -1.2 Td -[(some )-39(form )-39(of )-39(array )-39(that )-39(is )-39(capable )-39(of )-39(holding )-39(all )-39(the )-39(information )-39(r)12(equir)18(ed )-40(to )-40(r)19(estor)]TJ -0.2896 Tc 36.844 0 Td -(et)Tj -0 Tc 1.095 0 Td -(he)Tj --37.939 -1.2 Td -[(status )-94(of )-94(the )-94(stack )-94(to )-94(the )-94(state )-94(when )-94(we )-94(call)]TJ -/TT0 1 Tf -20.185 0 Td -(longjmp)Tj -/T1_1 1 Tf -0.5936 Tc (.N)Tj -0 Tc 5.875 0 Td -(ormally)Tj -0.3436 Tc 3.351 0 Td -(,t)Tj -0 Tc 0.92 0 Td -(he)Tj -/T1_2 1 Tf -1.405 0 Td -(env)Tj -/T1_1 1 Tf -1.789 0 Td -[(variable )-94(is )-94(a)]TJ --33.523 -1.2 Td -[(global variable, since we\325ll need to r)18(efer)18(ence it fr)18(om another function.)]TJ -1.8 -1.2 Td -[(When )-187(we )-187(encounter )-187(an )-187(err)16(or )167(\321 )167(say)110(,)-438(in)-438(t)1(he)]TJ -/TT0 1 Tf -19.774 0 Td -(cmd_add)Tj -/T1_1 1 Tf -4.638 0 Td -[(function )167(\321 )167(we)-438(call)]TJ -/TT0 1 Tf -8.588 0 Td -(longjmp)Tj -/T1_1 1 Tf --34.8 -1.2 Td -[(with )-23(two )-23(ar)18(guments. )-273(The)-273(\336rst )-23(is )-23(the )-23(same)]TJ -/T1_2 1 Tf -18.963 0 Td -(env)Tj -/T1_1 1 Tf -1.718 0 Td -[(that )-23(we )-23(used )-23(in )-23(a )-23(call )-23(to)]TJ -/TT0 1 Tf -10.844 0 Td -(setjmp)Tj -/T1_1 1 Tf -0.2727 Tc (,a)Tj -0 Tc 4.623 0 Td -[(nd )-23(the)]TJ --36.147 -1.2 Td -(second,)Tj -/T1_2 1 Tf -3.607 0 Td -(val)Tj -/T1_1 1 Tf -[(,)-271(is)-271(a)-271(n)-1(onzer)]TJ -0.2713 Tc 6.567 0 Td -(ov)Tj -0 Tc 1.382 0 Td -[(alue )-21(that )-21(becomes )-21(the )-21(r)18(eturn )-21(value )-21(fr)16(om)]TJ -/TT0 1 Tf -18.041 0 Td -(setjmp)Tj -/T1_1 1 Tf -0.5214 Tc (.T)Tj -0 Tc 4.984 0 Td -[(he )-21(second)]TJ --34.582 -1.2 Td -[(ar)18(gument )-45(allows )-45(us )-45(to )-45(use )-45(mor)]TJ -0.2952 Tc 13.879 0 Td -(et)Tj -0 Tc 1.1 0 Td -[(han )-45(one)]TJ -/TT0 1 Tf -3.861 0 Td -(longjmp)Tj -/T1_1 1 Tf -4.495 0 Td -[(for )-45(each)]TJ -/TT0 1 Tf -3.869 0 Td -(setjmp)Tj -/T1_1 1 Tf -0.5452 Tc (.F)Tj -0 Tc 4.951 0 Td -[(or )-45(example, )-45(we)]TJ --32.156 -1.2 Td -(could)Tj -/TT0 1 Tf -2.789 0 Td -(longjmp)Tj -/T1_1 1 Tf -4.494 0 Td -[(fr)18(om)]TJ -/TT0 1 Tf -2.433 0 Td -(cmd_add)Tj -/T1_1 1 Tf -4.494 0 Td -[(with )-44(a)]TJ -/T1_2 1 Tf -3.121 0 Td -(val)Tj -/T1_1 1 Tf -1.516 0 Td -[(of )-44(1 )-44(and )-44(also )-44(call)]TJ -/TT0 1 Tf -7.828 0 Td -(longjmp)Tj -/T1_1 1 Tf -4.494 0 Td -[(fr)18(om)]TJ -/TT0 1 Tf -2.433 0 Td -(get_token)Tj -/T1_1 1 Tf --33.6 -1.2 Td -[(with )-25(a)]TJ -/T1_2 1 Tf -3.083 0 Td -(val)Tj -/T1_1 1 Tf -1.497 0 Td -[(of )-25(2.)-525(In )-25(the)]TJ -/TT0 1 Tf -5.285 0 Td -(main)Tj -/T1_1 1 Tf -2.675 0 Td -[(function, )-25(the )-25(r)18(eturn )-25(value )-25(fr)18(om)]TJ -/TT0 1 Tf -14.058 0 Td -(setjmp)Tj -/T1_1 1 Tf -3.875 0 Td -[(is )-25(either )-25(1 )-25(or )-25(2, )-25(and)]TJ --30.474 -1.2 Td -[(we )-213(can )-213(test )-213(this )-213(value, )-213(if )-213(we )-213(want, )-213(and )-213(determine )-213(whether )-213(the)]TJ -/TT0 1 Tf -29.976 0 Td -(longjmp)Tj -/T1_1 1 Tf -4.663 0 Td -[(was )-213(fr)18(om)]TJ -/TT0 1 Tf --34.639 -1.2 Td -(cmd_add)Tj -/T1_1 1 Tf -4.45 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(get_token)Tj -/T1_1 1 Tf -(.)Tj --3.841 -1.2 Td -[(Let\325s )-313(r)18(eturn )-313(to )-313(the )-313(example.)-814(Figur)]TJ -0.5632 Tc 16.587 0 Td -(e7)Tj -0 Tc 1.542 0 Td -(.1)Tj -0.5632 Tc 0.695 0 Td -(1s)Tj -0 Tc 1.487 0 Td -[(hows )-313(both )-313(the)]TJ -/TT0 1 Tf -7.469 0 Td -(main)Tj -/T1_1 1 Tf -2.963 0 Td -(and)Tj -/TT0 1 Tf -2.256 0 Td -(cmd_add)Tj -/T1_1 1 Tf --34.8 -1.2 Td -[(functions. )-250(\(The)-250(other two functions,)]TJ -/TT0 1 Tf -16.303 0 Td -(do_line)Tj -/T1_1 1 Tf -4.45 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(get_token)Tj -/T1_1 1 Tf -0.25 Tc (,h)Tj -0 Tc 6.482 0 Td -(aven\325t changed.\))Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4818.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 472.2423 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -[(#define TOK_ADD)-2400(5)]TJ -T* -(jmp_buf jmpbuffer;)Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(char )-1800(line[MAXLINE];)]TJ -0 -2.14 TD -(if \(setjmp\(jmpbuffer\) != 0\))Tj -2.4 -1.189 Td -(printf\("error"\);)Tj --2.4 -1.189 Td -(while \(fgets\(line, MAXLINE, stdin\) != NULL\))Tj -2.4 -1.189 Td -(do_line\(line\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0.6 Tc 0.6 -2.14 Td -(...)Tj -0 Tc -0.6 -2.14 Td -(void)Tj -0 -1.189 TD -(cmd_add\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(token;)]TJ -0 -2.14 TD -(token = get_token\(\);)Tj -0 -1.189 TD -[(if \(token < 0\))-3600(/* an error has occurred */)]TJ -2.4 -1.189 Td -(longjmp\(jmpbuffer, 1\);)Tj --2.4 -1.189 Td -(/* rest of processing for this command */)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1615.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 240.9126 145.4518 Tm -[(Figure 7.1)37(1)]TJ -/T1_1 1 Tf -5.658 0 Td -(Example of)Tj -/TT0 1 Tf -5.26 0 Td -(setjmp)Tj -/T1_1 1 Tf -3.85 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(longjmp)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47484 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(214)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Envir)18(onment )]TJ -39.241 0 Td -[(Chapter)-500(7)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -2.14 TD -[(#define TOK_ADD)-2400(5)]TJ -T* -[(void )-1800(do_line\(char)-600(*\);)]TJ -0 -1.189 TD -[(void )-1800(cmd_add\(void\);)]TJ -T* -[(int )-2400(get_token\(void\);)]TJ -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(line[MAXLINE];)]TJ -0 -2.14 TD -(while \(fgets\(line, MAXLINE, stdin\) != NULL\))Tj -2.4 -1.189 Td -(do_line\(line\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -T* -[(char )-1800(*tok_ptr;)-4200(/* global pointer for get_token\(\) */)]TJ -T* -(void)Tj -0 -1.189 TD -[(do_line\(char *ptr\))-3600(/* process one line of input */)]TJ -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(cmd;)]TJ -0 -2.14 TD -(tok_ptr = ptr;)Tj -0 -1.189 TD -(while \(\(cmd = get_token\(\)\) > 0\) {)Tj -2.4 -1.189 Td -[(switch \(cmd\) {)-1200(/* one case for each command */)]TJ -T* -(case TOK_ADD:)Tj -4.8 -1.189 Td -(cmd_add\(\);)Tj -T* -(break;)Tj --4.8 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(void)Tj -0 -1.189 TD -(cmd_add\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(token;)]TJ -0 -2.14 TD -(token = get_token\(\);)Tj -0 -1.189 TD -(/* rest of processing for this command */)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(get_token\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(/* fetch next token from line pointed to by tok_ptr */)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1625.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 214.0183 146.4804 Tm -(Figure 7.9)Tj -/T1_1 1 Tf --0.09 Tc 5.195 0 Td -(Ty)Tj -0 Tc 1.079 0 Td -[(pical pr)18(ogram skeleton for command pr)18(ocessing)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47485 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(652)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 194.3883 670.2598 Tm -(err_ret\("recvmsg error"\);)Tj -0 -1.189 TD -(return\(-1\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(nr == 0\) {)Tj -0.6 -1.189 Td -(err_ret\("connection closed by server"\);)Tj -T* -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*S)Tj -0 Tc 1.8 0 Td -[(ee if this is the final data with null & status.)-1200(Null)]TJ --1.8 -1.189 Td -[(*)-600(is)-600(next to last byte of buffer; status byte is last byte.)]TJ -0.6 Tc 0 -1.189 TD -(*Z)Tj -0 Tc 1.8 0 Td -(ero status means there is a file descriptor to receive.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(for \(ptr = buf; ptr < &buf[nr]; \) {)Tj -2.4 -1.189 Td -(if \(*ptr++ == 0\) {)Tj -2.4 -1.189 Td -(if \(ptr != &buf[nr-1]\))Tj -2.4 -1.189 Td -(err_dump\("message format error"\);)Tj --2.4 -1.189 Td -[(status = *ptr & 0xFF;)-1800(/* prevent sign extension */)]TJ -0 -1.189 TD -(if \(status == 0\) {)Tj -2.4 -1.189 Td -(if \(msg.msg_controllen != CONTROLLEN\))Tj -2.4 -1.189 Td -(err_dump\("status = 0 but no fd"\);)Tj --2.4 -1.783 Td -(/* process the control data */)Tj -T* -(for \(cmp = CMSG_FIRSTHDR\(&msg\);)Tj -1.2 -1.189 Td -(cmp != NULL; cmp = CMSG_NXTHDR\(&msg, cmp\)\) {)Tj -1.2 -1.189 Td -(if \(cmp->cmsg_level != SOL_SOCKET\))Tj -2.4 -1.189 Td -(continue;)Tj --2.4 -1.189 Td -(switch \(cmp->cmsg_type\) {)Tj -T* -(case SCM_RIGHTS:)Tj -2.4 -1.189 Td -(newfd = *\(int *\)CMSG_DATA\(cmp\);)Tj -T* -(break;)Tj --2.4 -1.189 Td -(case SCM_CREDTYPE:)Tj -2.4 -1.189 Td -(credp = \(struct CREDSTRUCT *\)CMSG_DATA\(cmp\);)Tj -T* -(*uidptr = credp->CR_UID;)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(newfd = -status;)Tj --2.4 -1.189 Td -(})Tj -T* -(nr -= 2;)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -T* -(if \(nr > 0 && \(*userfunc\)\(STDERR_FILENO, buf, nr\) != nr\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -[(if \(status >= 0\))-2400(/* final data has arrived */)]TJ -2.4 -1.189 Td -[(return\(newfd\); )-600(/*)-600(descriptor, or -status */)]TJ --4.8 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1840.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 213.3184 167.9788 Tm -(Figure 17.16)Tj -/T1_1 1 Tf -6.195 0 Td -[(Receiving cr)18(edentials over UNIX domain sockets)]TJ -9.9988 0 0 9.9988 129.5846 145.1812 Tm -[(On )-412(Fr)18(eeBSD, )-412(we )-412(specify)]TJ -/TT0 1 Tf -12.51 0 Td -(SCM_CREDS)Tj -/T1_1 1 Tf -6.062 0 Td -[(to )-412(transmit )-412(cr)18(edentials; )-412(on )-412(Linux, )-412(we )-412(use)]TJ -/TT0 1 Tf --18.572 -1.2 Td -(SCM_CREDENTIALS)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47486 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.8)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(757)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(60 )-1200(/*)]TJ -0 -1.189 TD -[(61 )-1800(*)-600(Internal functions.)]TJ -T* -[(62 )-1800(*/)]TJ -T* -[(63 )-1200(static)-600(DB )-2400(*_db_alloc\(int\);)]TJ -T* -[(64 )-1200(static)-600(void )-1800(_db_dodelete\(DB)-600(*\);)]TJ -0 -1.189 TD -[(65 )-1200(static)-600(int )-2400(_db_find_and_lock\(DB)-600(*, const char *, int\);)]TJ -0 -1.189 TD -[(66 )-1200(static)-600(int )-2400(_db_findfree\(DB)-600(*, int, int\);)]TJ -T* -[(67 )-1200(static)-600(void )-1800(_db_free\(DB)-600(*\);)]TJ -T* -[(68 )-1200(static)-600(DBHASH )-600(_db_hash\(DB)-600(*, const char *\);)]TJ -T* -[(69 )-1200(static)-600(char )-1200(*_db_readdat\(DB)-600(*\);)]TJ -T* -[(70 )-1200(static)-600(off_t )-1200(_db_readidx\(DB)-600(*, off_t\);)]TJ -T* -[(71 )-1200(static)-600(off_t )-1200(_db_readptr\(DB)-600(*, off_t\);)]TJ -T* -[(72 )-1200(static)-600(void )-1800(_db_writedat\(DB)-600(*, const char *, off_t, int\);)]TJ -0 -1.189 TD -[(73 )-1200(static)-600(void )-1800(_db_writeidx\(DB)-600(*, const char *, off_t, int, off_t\);)]TJ -0 -1.189 TD -[(74 )-1200(static)-600(void )-1800(_db_writeptr\(DB)-600(*, off_t, off_t\);)]TJ -0 -2.378 TD -[(75 )-1200(/*)]TJ -0 -1.189 TD -[(76 )-1800(*)-600(Open or create a database.)-1200(Same arguments as open\(2\).)]TJ -0 -1.189 TD -[(77 )-1800(*/)]TJ -0 -1.189 TD -[(78 )-1200(DBHANDLE)]TJ -T* -[(79 )-1200(db_open\(const)-600(char *pathname, int oflag, ...\))]TJ -T* -[(80 )-1200({)]TJ -T* -[(81 )-3000(DB)]TJ -12 0 Td -(*db;)Tj --12 -1.189 Td -[(82 )-3000(int)]TJ -12 0 Td -(len, mode;)Tj --12 -1.189 Td -[(83 )-3000(size_t )-3000(i;)]TJ -T* -[(84 )-3000(char)-4800(asciiptr[PTR_SZ + 1],)]TJ -0 -1.189 TD -(85 )Tj -12 0 Td -[(hash[\(NHASH_DEF)-600(+)-600(1\))-600(*)-600(PTR_SZ + 2];)]TJ --12 -1.189 Td -(86 )Tj -14.4 0 Td -[(/*)-600(+2 for newline and null */)]TJ --14.4 -1.189 Td -[(87 )-3000(struct)-600(stat statbuff;)]TJ -0 -2.378 TD -[(88 )-3000(/*)]TJ -0 -1.189 TD -[(89 )-3600(*)-600(Allocate a DB structure, and the buffers it needs.)]TJ -0 -1.189 TD -[(90 )-3600(*/)]TJ -T* -[(91 )-3000(len)]TJ -0.6 Tc 7.2 0 Td -(=s)Tj -0 Tc 1.8 0 Td -(trlen\(pathname\);)Tj --9 -1.189 Td -[(92 )-3000(if)-600(\(\(db = _db_alloc\(len\)\) == NULL\))]TJ -0 -1.189 TD -(93 )Tj -7.2 0 Td -[(err_dump\("db_open:)-600(_db_alloc error for DB"\);)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2802.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 256.1673 Tm -[([60 )167(\320 )167(74])]TJ --0.092 Tc 4 0 Td -[(We )-304(h)]TJ -0 Tc 2.339 0 Td -[(ave )-120(chosen )-120(to )-120(name )-120(all )-120(the )-120(user)18(-callable )-120(\(public\) )-120(functions )-120(starting )-120(with)]TJ -/TT0 1 Tf --2.339 -1.2 Td -(db_)Tj -/T1_0 1 Tf -2.241 0 Td -[(and )-191(all )-191(the )-191(internal )-191(\(private\) )-191(functions )-191(starting )-191(with)]TJ -/TT0 1 Tf -24.521 0 Td -(_db_)Tj -/T1_0 1 Tf -0.6908 Tc (.T)Tj -0 Tc 3.954 0 Td -[(he )-191(public)]TJ --30.715 -1.2 Td -[(functions )-133(wer)]TJ -0.3826 Tc 6.204 0 Td -(ed)Tj -0 Tc 1.473 0 Td -[(eclar)18(ed )-133(in )-133(the )-133(library\325s )-133(header )-133(\336le,)]TJ -/TT0 1 Tf -16.091 0 Td -(apue_db.h)Tj -/T1_0 1 Tf -0.6326 Tc (.W)Tj -0.3826 Tc 7.191 0 Td -(ed)Tj -0 Tc 1.473 0 Td -[(eclar)18(e)]TJ --32.43 -1.2 Td -[(the )-63(internal )-63(functions )-63(as)]TJ -/TT0 1 Tf -11.141 0 Td -(static)Tj -/T1_0 1 Tf -3.913 0 Td -[(so )-63(they )-63(ar)]TJ -0.3133 Tc 4.417 0 Td -(ev)Tj -0 Tc 1.357 0 Td -[(isible )-63(only )-63(to )-63(functions )-63(r)16(esiding)]TJ --20.828 -1.2 Td -(in the same \336le \(the \336le containing the library implementation\).\ )Tj --4 -1.6 Td -[([75 )167(\320 )167(93])-668(The)]TJ -/TT0 1 Tf -5.957 0 Td -(db_open)Tj -/T1_0 1 Tf -4.483 0 Td -[(function )-33(has )-33(the )-33(same )-33(ar)18(guments )-33(as)]TJ -/TT0 1 Tf -16.239 0 Td -(open)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.5331 Tc 0.333 -0.04 Td -(.I)Tj -0.2831 Tc 1.12 0 Td -(ft)Tj -0 Tc 0.942 0 Td -[(he )-33(caller )-33(wants)]TJ --28.307 -1.2 Td -[(to )-306(cr)18(eate )-306(the )-306(database )-306(\336les, )-306(the )-306(optional )-306(thir)]TJ -0.5566 Tc 21.347 0 Td -(da)Tj --0.018 Tc 1.668 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument )-307(speci\336es )-307(the )-307(\336le)]TJ --23.948 -1.2 Td -[(permissions. )-460(The)]TJ -/TT0 1 Tf -8.435 0 Td -(db_open)Tj -/T1_0 1 Tf -4.66 0 Td -[(function )-210(opens )-210(the )-210(index )-210(\336le )-210(and )-210(the )-210(data )-210(\336le,)]TJ --13.095 -1.2 Td -[(initializing )-508(the )-508(index )-508(\336le, )-508(if )-508(necessary)]TJ -1.0081 Tc 18.869 0 Td -(.T)Tj -0 Tc 1.871 0 Td -[(he )-508(function )-508(starts )-508(by )-508(calling)]TJ -/TT0 1 Tf --20.741 -1.2 Td -(_db_alloc)Tj -/T1_0 1 Tf -5.65 0 Td -(to allocate and initialize a)Tj -/TT0 1 Tf -11.534 0 Td -(DB)Tj -/T1_0 1 Tf -1.45 0 Td -[(str)8(uctur)18(e.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47487 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.9)]TJ --0.092 Tc 33.471 0 Td -(Te)Tj -0 Tc 1 0 Td -[(rminal )-250(Identi\336cation)]TJ -/T1_1 1 Tf -11.362 0 Td -(697)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(if \(\(ddp->d_name = strdup\(dirname\)\) == NULL\) {)Tj -2.4 -1.189 Td -(free\(ddp\);)Tj -0 -1.189 TD -(return;)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(ddp->d_next = NULL;)Tj -0 -1.189 TD -(if \(tail == NULL\) {)Tj -2.4 -1.189 Td -(head = ddp;)Tj -0 -1.189 TD -(tail = ddp;)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(tail->d_next = ddp;)Tj -T* -(tail = ddp;)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(static void)Tj -0 -1.189 TD -(cleanup\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct devdir)-1800(*ddp, *nddp;)]TJ -0 -2.021 TD -(ddp = head;)Tj -0 -1.189 TD -(while \(ddp != NULL\) {)Tj -2.4 -1.189 Td -(nddp = ddp->d_next;)Tj -0 -1.189 TD -(free\(ddp->d_name\);)Tj -T* -(free\(ddp\);)Tj -T* -(ddp = nddp;)Tj --2.4 -1.189 Td -(})Tj -T* -(head = NULL;)Tj -T* -(tail = NULL;)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(static char *)Tj -0 -1.189 TD -(searchdir\(char *dirname, struct stat *fdstatp\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct stat)-3000(devstat;)]TJ -0 -1.189 TD -(DIR )Tj -9.6 0 Td -(*dp;)Tj --9.6 -1.189 Td -(int )Tj -9.6 0 Td -(devlen;)Tj --9.6 -1.189 Td -[(struct dirent)-1800(*dirp;)]TJ -0 -2.021 TD -(strcpy\(pathname, dirname\);)Tj -0 -1.189 TD -(if \(\(dp = opendir\(dirname\)\) == NULL\))Tj -2.4 -1.189 Td -(return\(NULL\);)Tj --2.4 -1.189 Td -(strcat\(pathname, "/"\);)Tj -T* -(devlen = strlen\(pathname\);)Tj -T* -(while \(\(dirp = readdir\(dp\)\) != NULL\) {)Tj -2.4 -1.189 Td -(strncpy\(pathname + devlen, dirp->d_name,)Tj -1.2 -1.189 Td -(_POSIX_PATH_MAX - devlen\);)Tj --1.2 -2.021 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*S)Tj -0 Tc 1.8 0 Td -(kip aliases.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(strcmp\(pathname, "/dev/stdin"\) == 0 ||)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47488 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(638)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 172.7896 670.2598 Tm -(goto errout;)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(if \(listen\(fd, QLEN\) < 0\) { /* tell kernel we\325re a server */)Tj -2.4 -1.189 Td -(rval = -4;)Tj -0 -1.189 TD -(goto errout;)Tj --2.4 -1.189 Td -(})Tj -T* -(return\(fd\);)Tj --2.4 -2.021 Td -(errout:)Tj -2.4 -1.189 Td -(err = errno;)Tj -0 -1.189 TD -(close\(fd\);)Tj -0 -1.189 TD -(errno = err;)Tj -T* -(return\(rval\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5221.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 251.8658 506.0583 Tm -(Figure 17.8)Tj -/T1_1 1 Tf -5.695 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(serv_listen)Tj -/T1_1 1 Tf -6.85 0 Td -(function)Tj -9.9988 0 0 9.9988 129.5848 482.0611 Tm -[(First, )-206(we )-206(cr)18(eate )-206(a )-206(single )-206(UNIX )-206(domain )-206(socket )-206(by )-206(calling)]TJ -/TT0 1 Tf -26.705 0 Td -(socket)Tj -/T1_1 1 Tf -0.7057 Tc (.W)Tj -0.4557 Tc 5.464 0 Td -(et)Tj -0 Tc 1.261 0 Td -[(hen )-206(\336ll )-206(in )-206(a)]TJ -/TT0 1 Tf --33.43 -1.2 Td -(sockaddr_un)Tj -/T1_1 1 Tf -6.979 0 Td -[(str)8(uctur)]TJ -0.3795 Tc 3.49 0 Td -(ew)Tj -0 Tc 1.692 0 Td -[(ith )-130(the )-130(well-known )-130(pathname )-130(to )-130(be )-130(assigned )-130(to )-130(the )-130(socket.)]TJ --12.162 -1.2 Td -[(This )-119(str)8(uctur)18(e)-369(is)-369(t)1(he )-119(ar)18(gument )-119(to)]TJ -/TT0 1 Tf -15.371 0 Td -(bind)Tj -/T1_1 1 Tf -0.6187 Tc (.N)Tj -0 Tc 4.1 0 Td -[(ote )-119(that )-119(we )-119(don\325t )-119(need )-119(to )-119(set )-119(the)]TJ -/TT0 1 Tf -15.329 0 Td -(sun_len)Tj -/T1_1 1 Tf --34.8 -1.2 Td -[(\336eld )-50(pr)18(esent )-50(on )-50(some )-50(platforms, )-50(because )-50(the )-50(operating )-50(system )-50(sets )-50(this )-50(for )-50(us, )-50(deriving)]TJ -0 -1.2 TD -[(it fr)18(om the addr)18(ess length we pass to the)]TJ -/TT0 1 Tf -18.156 0 Td -(bind)Tj -/T1_1 1 Tf -2.65 0 Td -(function.)Tj --19.006 -1.2 Td -[(Finally)111(,)-454(we)-454(c)-1(all)]TJ -/TT0 1 Tf -7.409 0 Td -(listen)Tj -/T1_1 1 Tf -4.054 0 Td -[(\(Section )-204(16.4\) )-204(to )-204(tell )-204(the )-204(kernel )-204(that )-204(the )-204(pr)18(ocess )-204(will )-204(be)]TJ --13.263 -1.2 Td -[(acting )-143(as )-143(a )-143(server )-143(awaiting )-143(connections )-143(fr)18(om )-143(clients.)-643(When )-143(a )-143(connect )-143(r)18(equest )-143(fr)18(om )-143(a)]TJ -T* -(client arrives, the server calls the)Tj -/TT0 1 Tf -14.673 0 Td -(serv_accept)Tj -/T1_1 1 Tf -6.85 0 Td -(function \(Figur)Tj -0.25 Tc 6.673 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(7.9\).)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3909.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 381.3493 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -1.902 TD -[(#define STALE)-1800(30 )-600(/*)-600(client\325s name can\325t be older than this \(sec\) */)]TJ -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*W)Tj -0 Tc 1.8 0 Td -(ait for a client connection to arrive, and accept it.)Tj --1.8 -1.189 Td -[(*)-600(We)-600(also obtain the client\325s user ID from the pathname)]TJ -0.6 Tc 0 -1.189 TD -(*t)Tj -0 Tc 1.8 0 Td -(hat it must bind before calling us.)Tj -0.6 Tc -1.8 -1.189 Td -(*R)Tj -0 Tc 1.8 0 Td -(eturns new fd if all OK, <0 on error)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(int)Tj -0 -1.189 TD -(serv_accept\(int listenfd, uid_t *uidptr\))Tj -T* -({)Tj -2.4 -1.189 Td -(int )Tj -12 0 Td -[(clifd,)-600(err, rval;)]TJ --12 -1.189 Td -(socklen_t )Tj -12 0 Td -(len;)Tj --12 -1.189 Td -(time_t )Tj -12 0 Td -(staletime;)Tj --12 -1.189 Td -[(struct sockaddr_un)-1200(un;)]TJ -T* -(struct stat)Tj -12 0 Td -(statbuf;)Tj --12 -1.189 Td -(char )Tj -12 0 Td -(*name;)Tj --12 -1.902 Td -(/* allocate enough space for longest name plus terminating null */)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47489 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.8)]TJ -33.728 0 Td -[(Memory-Mapped )-250(I/O)]TJ -/T1_1 1 Tf -12.105 0 Td -(529)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -1.902 TD -[(#define COPYINCR \(1024*1024*1024\))-1800(/* 1 GB */)]TJ -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-4800(fdin,)-600(fdout;)]TJ -0 -1.189 TD -[(void )-4200(*src,)-600(*dst;)]TJ -0 -1.189 TD -[(size_t )-3000(copysz;)]TJ -T* -(struct stat sbuf;)Tj -T* -[(off_t )-3600(fsz)]TJ -0.6 Tc 9.6 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --11.4 -1.902 Td -(if \(argc != 3\))Tj -2.4 -1.189 Td -(err_quit\("usage: %s ", argv[0]\);)Tj --2.4 -1.902 Td -(if \(\(fdin = open\(argv[1], O_RDONLY\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t open %s for reading", argv[1]\);)Tj --2.4 -1.902 Td -(if \(\(fdout = open\(argv[2], O_RDWR | O_CREAT | O_TRUNC,)Tj -1.2 -1.189 Td -(FILE_MODE\)\) < 0\))Tj -1.2 -1.189 Td -(err_sys\("can\325t creat %s for writing", argv[2]\);)Tj --2.4 -1.902 Td -(if \(fstat\(fdin, &sbuf\) < 0\))Tj -21.6 0 Td -(/* need size of input file */)Tj --19.2 -1.189 Td -(err_sys\("fstat error"\);)Tj --2.4 -1.902 Td -(if \(ftruncate\(fdout, sbuf.st_size\) < 0\) /* set output file size */)Tj -2.4 -1.189 Td -(err_sys\("ftruncate error"\);)Tj --2.4 -1.902 Td -(while \(fsz < sbuf.st_size\) {)Tj -2.4 -1.189 Td -(if \(\(sbuf.st_size - fsz\) > COPYINCR\))Tj -2.4 -1.189 Td -(copysz = COPYINCR;)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(copysz = sbuf.st_size - fsz;)Tj --2.4 -1.902 Td -(if \(\(src = mmap\(0, copysz, PROT_READ, MAP_SHARED,)Tj -1.2 -1.189 Td -(fdin, fsz\)\) == MAP_FAILED\))Tj -1.2 -1.189 Td -(err_sys\("mmap error for input"\);)Tj --2.4 -1.189 Td -(if \(\(dst = mmap\(0, copysz, PROT_READ | PROT_WRITE,)Tj -1.2 -1.189 Td -(MAP_SHARED, fdout, fsz\)\) == MAP_FAILED\))Tj -1.2 -1.189 Td -(err_sys\("mmap error for output"\);)Tj --2.4 -1.902 Td -[(memcpy\(dst, src, copysz\);)-1800(/* does the file copy */)]TJ -T* -(munmap\(src, copysz\);)Tj -T* -(munmap\(dst, copysz\);)Tj -0 -1.189 TD -(fsz += copysz;)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1625.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 229.9044 146.4804 Tm -(Figure 14.27)Tj -/T1_0 1 Tf -6.195 0 Td -(Copy a \336le using memory-mapped I/O)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47490 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(518)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -(unsigned char)Tj -0 -1.189 TD -(translate\(unsigned char c\))Tj -T* -({)Tj -2.4 -1.189 Td -(/* same as before */)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char* argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -(int )Tj -12 0 Td -[(ifd,)-600(ofd, i, j, n, err, numop;)]TJ --12 -1.189 Td -(struct stat)Tj -12 0 Td -(sbuf;)Tj --12 -1.189 Td -[(const struct aiocb)-1200(*aiolist[NBUF];)]TJ -T* -(off_t )Tj -12 0 Td -(off)Tj -0.6 Tc 2.4 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --16.2 -2.14 Td -(if \(argc != 3\))Tj -2.4 -1.189 Td -(err_quit\("usage: rot13 infile outfile"\);)Tj --2.4 -1.189 Td -(if \(\(ifd = open\(argv[1], O_RDONLY\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t open %s", argv[1]\);)Tj --2.4 -1.189 Td -(if \(\(ofd = open\(argv[2], O_RDWR|O_CREAT|O_TRUNC, FILE_MODE\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("can\325t create %s", argv[2]\);)Tj --2.4 -1.189 Td -(if \(fstat\(ifd, &sbuf\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("fstat failed"\);)Tj --2.4 -2.14 Td -(/* initialize the buffers */)Tj -T* -(for \(i = 0; i < NBUF; i++\) {)Tj -2.4 -1.189 Td -(bufs[i].op = UNUSED;)Tj -T* -(bufs[i].aiocb.aio_buf = bufs[i].data;)Tj -T* -(bufs[i].aiocb.aio_sigevent.sigev_notify = SIGEV_NONE;)Tj -T* -(aiolist[i] = NULL;)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(numop = 0;)Tj -0 -1.189 TD -(for \(;;\) {)Tj -2.4 -1.189 Td -(for \(i = 0; i < NBUF; i++\) {)Tj -2.4 -1.189 Td -(switch \(bufs[i].op\) {)Tj -T* -(case UNUSED:)Tj -2.4 -1.189 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*R)Tj -0 Tc 1.8 0 Td -(ead from the input file if more data)Tj -0.6 Tc -1.8 -1.189 Td -(*r)Tj -0 Tc 1.8 0 Td -(emains unread.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(off < sbuf.st_size\) {)Tj -2.4 -1.189 Td -(bufs[i].op = READ_PENDING;)Tj -T* -(bufs[i].aiocb.aio_fildes = ifd;)Tj -T* -(bufs[i].aiocb.aio_offset = off;)Tj -T* -(off += BSZ;)Tj -T* -(if \(off >= sbuf.st_size\))Tj -2.4 -1.189 Td -(bufs[i].last = 1;)Tj --2.4 -1.189 Td -(bufs[i].aiocb.aio_nbytes = BSZ;)Tj -T* -(if \(aio_read\(&bufs[i].aiocb\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("aio_read failed"\);)Tj --2.4 -1.189 Td -(aiolist[i] = &bufs[i].aiocb;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47491 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(670)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -11.9993 0 0 11.9993 129.5922 668.9599 Tm -[(Ex)10(er)20(cises)]TJ -/T1_0 1 Tf -8.9995 0 0 8.9995 129.5922 647.9611 Tm -(17.1)Tj -/T1_1 1 Tf --0.092 Tc 3.065 0 Td -[(We )-458(c)]TJ -0 Tc 2.355 0 Td -[(hose )-274(to )-274(use )-274(UNIX )-274(domain )-274(datagram )-274(sockets )-274(in )-274(Figur)]TJ -0.5243 Tc 25.357 0 Td -(e1)Tj -0 Tc 1.503 0 Td -[(7.3, )-274(because )-274(they )-274(r)17(etain)]TJ --29.215 -1.222 Td -[(message )-111(boundaries.)-611(Describe )-111(the )-111(changes )-111(that )-111(would )-111(be )-111(necessary )-111(to )-111(use )-111(r)18(egular )-111(pipes)]TJ -0 -1.222 TD -[(instead. )-250(How)-250(can we avoid copying the messages two extra times?)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(17.2)Tj -/T1_1 1 Tf --0.074 Tc 3.065 0 Td -(Wr)Tj -0 Tc 1.321 0 Td -[(ite )-84(the )-84(following )-84(pr)18(ogram )-84(using )-84(the )-84(\336le )-84(descriptor )-84(passing )-84(functions )-84(fr)18(om )-84(this )-84(chapter)]TJ --1.321 -1.222 Td -[(and )-80(the )-80(par)18(ent\320child )-80(synchr)17(onization )-80(r)18(outines )-80(fr)18(om )-80(Section )-80(8.9.)-580(The )-80(pr)18(ogram )-80(calls)]TJ -/TT1 1 Tf -37.618 0 Td -(fork)Tj -/T1_1 1 Tf -(,)Tj --37.618 -1.222 Td -[(and )-3(the )-3(child)]TJ -/TT1 1 Tf -6.059 0 Td -(open)Tj -/T1_1 1 Tf -[(s)-253(an)-253(e)-1(xisting )-3(\336le )-3(and )-3(passes )-3(the )-3(open )-3(descriptor )-3(to )-3(the )-3(par)15(ent. )-253(The)-254(child)]TJ --6.059 -1.222 Td -[(then )-176(positions )-176(the )-176(\336le )-176(using)]TJ -/TT1 1 Tf -13.346 0 Td -(lseek)Tj -/T1_1 1 Tf -3.426 0 Td -[(and )-176(noti\336es )-176(the )-176(par)19(ent. )-426(The)-425(par)18(ent )-176(r)18(eads )-176(the )-176(\336le\325s)]TJ --16.771 -1.222 Td -[(curr)18(ent )-168(of)19(fset )-167(and )-167(prints )-167(it )-167(for )-167(veri\336cation.)-667(If )-167(the )-167(\336le )-167(was )-167(passed )-167(fr)18(om )-167(the )-167(child )-167(to )-167(the)]TJ -T* -[(par)18(ent )-78(as )-78(we )-78(described, )-78(they )-78(should )-78(be )-78(sharing )-78(the )-78(same )-78(\336le )-78(table )-78(entry)108(,)-328(so)-328(e)-1(ach )-78(time )-78(the)]TJ -0 -1.222 Td -[(child )-12(changes )-12(the )-12(\336le\325s )-12(curr)18(ent )-12(of)18(fset, )-12(that )-12(change )-12(should )-12(also )-12(af)18(fect )-12(the )-12(par)18(ent\325s )-12(descriptor)75(.)]TJ -0 -1.222 TD -[(Have the child position the \336le to a dif)18(fer)18(ent of)18(fset and notify the par)18(ent again.)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(17.3)Tj -/T1_1 1 Tf -3.065 0 Td -[(In )-159(Figur)18(es )-159(17.20 )-159(and )-159(17.21, )-159(we )-159(dif)21(fer)18(entiated )-159(between )-159(declaring )-159(and )-159(de\336ning )-159(the )-159(global)]TJ -0 -1.222 Td -[(variables. )-250(What)-250(is the dif)18(fer)18(ence?)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(17.4)Tj -/T1_1 1 Tf -3.065 0 Td -[(Recode )-26(the)]TJ -/TT1 1 Tf -5.167 0 Td -(buf_args)Tj -/T1_1 1 Tf -5.076 0 Td -[(function )-26(\(Figur)]TJ -0.2763 Tc 6.699 0 Td -(e1)Tj -0 Tc 1.255 0 Td -[(7.23\), )-26(r)18(emoving )-26(the )-26(compile-time )-26(limit )-26(on )-26(the )-26(size)]TJ --18.198 -1.222 Td -(of the)Tj -/TT1 1 Tf -2.766 0 Td -(argv)Tj -/T1_1 1 Tf -2.65 0 Td -(array)Tj -0.5 Tc 2.235 0 Td -(.U)Tj -0 Tc 1.528 0 Td -(se dynamic memory allocation.)Tj -/T1_0 1 Tf --12.244 -1.667 Td -(17.5)Tj -/T1_1 1 Tf -3.065 0 Td -[(Describe )-33(ways )-33(to )-33(optimize )-33(the )-33(function)]TJ -/TT1 1 Tf -17.735 0 Td -(loop)Tj -/T1_1 1 Tf -2.683 0 Td -[(in )-33(Figur)]TJ -0.2832 Tc 3.539 0 Td -(e1)Tj -0 Tc 1.262 0 Td -[(7.29 )-33(and )-33(Figur)]TJ -0.2832 Tc 6.392 0 Td -(e1)Tj -0 Tc 1.262 0 Td -[(7.30. )-283(Implement)]TJ --32.874 -1.222 Td -(your optimizations.)Tj -/T1_0 1 Tf --3.065 -1.667 Td -(17.6)Tj -/T1_1 1 Tf -3.065 0 Td -[(In )-126(the)]TJ -/TT1 1 Tf -3.058 0 Td -(serv_listen)Tj -/T1_1 1 Tf -6.976 0 Td -[(function )-126(\(Figur)]TJ -0.3758 Tc 6.799 0 Td -(e1)Tj -0 Tc 1.355 0 Td -[(7.8\), )-126(we )-126(unlink )-126(the )-126(name )-126(of )-126(the )-126(\336le )-126(r)21(epr)18(esenting)]TJ --18.187 -1.222 Td -[(the )-26(UNIX )-26(domain )-26(socket )-26(if )-26(the )-26(\336le )-26(alr)18(eady )-26(exists.)]TJ --0.092 Tc 22.328 0 Td -[(To )-210(a)]TJ -0 Tc 1.843 0 Td -[(void )-26(unintentionally )-26(r)18(emoving )-26(a )-26(\336le)]TJ --24.171 -1.222 Td -[(that )-1(isn\325t )-1(a )-1(socket, )-1(we )-1(could )-1(call)]TJ -/TT1 1 Tf -14.253 0 Td -(stat)Tj -/T1_1 1 Tf -2.651 0 Td -[(\336rst )-1(to )-1(verify )-1(the )-1(\336le )-1(type.)-502(Explain )-1(the )-1(two )-1(pr)18(oblems)]TJ --16.904 -1.222 Td -[(with this appr)18(oach.)]TJ -/T1_0 1 Tf --3.065 -1.667 Td -(17.7)Tj -/T1_1 1 Tf -3.065 0 Td -[(Describe )-194(two )-194(possible )-194(ways )-194(to )-194(pass )-194(mor)]TJ -0.4438 Tc 18.757 0 Td -(et)Tj -0 Tc 1.249 0 Td -[(han )-194(one )-194(\336le )-194(descriptor )-194(with )-194(a )-194(single )-194(call )-194(to)]TJ -/TT1 1 Tf --20.006 -1.222 Td -(sendmsg)Tj -/T1_1 1 Tf -0.5 Tc (.T)Tj -0 Tc 5.473 0 Td -(ry them out to see if they ar)Tj -0.25 Tc 12.144 0 Td -(es)Tj -0 Tc 1.153 0 Td -(upported by your operating system.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47492 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(19.2)]TJ -39.439 0 Td -(Overview)Tj -/T1_1 1 Tf -6.394 0 Td -(721)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Running Copr)20(ocesses)]TJ -/T1_0 1 Tf -3.6 -2.4 Td -[(In )-63(the )-63(copr)18(ocess )-63(example )-63(in )-63(Figur)]TJ -0.3135 Tc 15.164 0 Td -(e1)Tj -0 Tc 1.292 0 Td -[(5.19, )-63(we )-63(couldn\325t )-63(invoke )-63(a )-63(copr)18(ocess )-63(that )-63(used )-63(the)]TJ --16.456 -1.2 Td -(standar)Tj -0.2938 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.242 0 Td -[(/O )-44(library )-44(for )-44(its )-44(input )-44(and )-44(output, )-44(because )-44(when )-44(we )-44(talked )-44(to )-44(the )-44(copr)19(ocess)]TJ --4.562 -1.2 Td -[(acr)18(oss )-86(a )-86(pipe, )-86(the )-86(standar)]TJ -0.3359 Tc 11.488 0 Td -(dI)Tj -0 Tc 1.284 0 Td -[(/O )-86(library )-86(fully )-86(buf)19(fer)18(ed )-86(the )-86(standar)]TJ -0.3358 Tc 16.583 0 Td -(di)Tj -0 Tc 1.238 0 Td -[(nput )-86(and )-86(standar)18(d)]TJ --30.592 -1.2 Td -[(output, )-153(leading )-153(to )-153(a )-153(deadlock.)-653(If )-153(the )-153(copr)17(ocess )-153(is )-153(a )-153(compiled )-153(pr)18(ogram )-153(for )-153(which )-153(we)]TJ -0 -1.2 TD -[(don\325t )-184(have )-184(the )-184(sour)18(ce )-184(code, )-184(we )-184(can\325t )-184(add)]TJ -/TT1 1 Tf -19.699 0 Td -(fflush)Tj -/T1_0 1 Tf -4.034 0 Td -[(statements )-184(to )-184(solve )-184(this )-184(pr)16(oblem.)]TJ --23.734 -1.2 Td -(Figur)Tj -0.4406 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.42 0 Td -[(5.16 )-191(showed )-191(a )-191(pr)19(ocess )-191(driving )-191(a )-191(copr)19(ocess. )-441(What)-440(we )-191(need )-191(to )-191(do )-191(is )-191(place )-191(a)]TJ --3.803 -1.2 Td -[(pseudo )-274(terminal )-274(between )-274(the )-274(two )-274(pr)18(ocesses, )-274(as )-274(shown )-274(in )-274(Figur)]TJ -0.5244 Tc 30.152 0 Td -(e1)Tj -0 Tc 1.503 0 Td -[(9.6, )-274(to )-274(trick )-274(the)]TJ --31.656 -1.2 Td -[(copr)18(ocess )-88(into )-88(thinking )-88(that )-88(it )-88(is )-88(being )-88(driven )-88(fr)21(om )-88(a )-88(terminal )-88(instead )-88(of )-88(fr)18(om )-88(another)]TJ -0 -1.2 Td -[(pr)18(ocess.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1878 4838 576 432 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 203.4116 508.579 Tm -(driving)Tj --0.283 -1.25 Td -[(pr)18(ogram)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2958 4838 576 432 re -S -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 311.4879 508.5485 Tm -(pseudo)Tj --0.241 -1.25 Td -(terminal)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -4038 4838 576 432 re -S -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 415.3603 530.1128 Tm -[(copr)18(ocess)]TJ -/T1_2 1 Tf --0.958 -1.975 Td -(stdin)Tj -0 -2.7 Td -(stdout)Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 295.8 516.2 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 2958 5162 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2454.25 5162.25 cm -0 0 m -432 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 260.6338 519.2842 Tm -(pipe1)Tj -ET -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 245.4 494.6 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 2454 4946 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2526.25 4946.25 cm -0 0 m -432 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 260.6182 487.6644 Tm -(pipe2)Tj -ET -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 403.8 516.2 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 4038 5162 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 5162.25 cm -0 0 m -432 0 l -S -Q -Q -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 353.4 494.6 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3534 4946 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3606.25 4946.25 cm -0 0 m -432 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 222.889 457.1805 Tm -(Figure 19.6)Tj -/T1_0 1 Tf -5.695 0 Td -[(Driving a copr)18(ocess using a pseudo terminal)]TJ -9.9952 0 0 9.9952 129.538 430.7932 Tm -[(Now )-218(the )-218(standar)]TJ -0.4681 Tc 7.854 0 Td -(di)Tj -0 Tc 1.37 0 Td -[(nput )-218(and )-218(standar)]TJ -0.4681 Tc 8.061 0 Td -(do)Tj -0 Tc 1.625 0 Td -[(utput )-218(of )-218(the )-218(copr)18(ocess )-218(look )-218(like )-218(a )-218(terminal)]TJ --18.911 -1.2 Td -(device, so the standar)Tj -0.25 Tc 9.546 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O library will set these two str)18(eams to be line buf)18(fer)18(ed.)]TJ --8.944 -1.2 Td -[(The )-135(par)18(ent )-135(can )-135(obtain )-135(a )-135(pseudo )-135(terminal )-135(between )-135(itself )-135(and )-135(the )-135(copr)18(ocess )-135(in )-135(two)]TJ --1.8 -1.2 Td -[(ways. )-361(\(The)-360(par)18(ent )-110(in )-110(this )-110(case )-110(could )-110(be )-110(the )-110(pr)18(ogram )-110(in )-110(Figur)]TJ -0.3605 Tc 28.023 0 Td -(e1)Tj -0 Tc 1.339 0 Td -[(5.18, )-110(which )-110(used )-110(two)]TJ --29.362 -1.2 Td -[(pipes )-282(to )-282(communicate )-282(with )-282(the )-282(copr)18(ocess.\) )-532(One)-532(way )-282(is )-282(for )-282(the )-282(par)18(ent )-282(to )-282(call )-282(the)]TJ -/TT1 1 Tf -0 -1.2 Td -(pty_fork)Tj -/T1_0 1 Tf -5.124 0 Td -[(function )-74(dir)18(ectly )-74(\(Section )-74(19.4\) )-74(instead )-74(of )-74(calling)]TJ -/TT1 1 Tf -22.005 0 Td -(fork)Tj -/T1_0 1 Tf -0.5739 Tc (.A)Tj -0 Tc 4.002 0 Td -[(nother )-74(is )-74(to)]TJ -/TT1 1 Tf -5.469 0 Td -(exec)Tj -/T1_0 1 Tf --36.6 -1.2 Td -(the)Tj -/TT1 1 Tf -1.713 0 Td -(pty)Tj -/T1_0 1 Tf -2.126 0 Td -[(pr)18(ogram )-76(\(Section )-76(19.5\) )-76(with )-76(the )-76(copr)18(ocess )-76(as )-76(its )-76(ar)16(gument. )-326(W)92(e\325ll )-76(look )-76(at )-76(these)]TJ --3.839 -1.2 Td -(two solutions after showing the)Tj -/TT1 1 Tf -14.224 0 Td -(pty)Tj -/T1_0 1 Tf -2.05 0 Td -[(pr)18(ogram.)]TJ -/TT0 1 Tf --0.04 Tc -19.874 -3.12 Td -(Wa)Tj -0 Tc 1.46 0 Td -[(tc)10(hing the Output of Long-Running Pr)20(ograms)]TJ -/T1_0 1 Tf -2.14 -2.4 Td -[(If )-65(we )-65(have )-65(a )-65(pr)18(ogram )-65(that )-65(r)8(uns )-65(for )-65(a )-65(long )-65(time, )-65(we )-65(can )-65(easily )-65(r)8(un )-65(it )-65(in )-65(the )-65(backgr)20(ound)]TJ -T* -[(using )-79(any )-79(of )-79(the )-79(standar)]TJ -0.3294 Tc 10.998 0 Td -(ds)Tj -0 Tc 1.364 0 Td -[(hells. )-329(Unfortunately)111(,)-329(if)-329(we)-329(r)17(edir)18(ect )-79(its )-79(standar)]TJ -0.3295 Tc 20.661 0 Td -(do)Tj -0 Tc 1.486 0 Td -[(utput )-79(to )-79(a)]TJ --34.51 -1.2 Td -[(\336le, )-2(and )-2(if )-2(it )-2(doesn\325t )-2(generate )-2(much )-2(output, )-2(we )-2(can\325t )-2(easily )-2(monitor )-2(its )-2(pr)23(ogr)18(ess, )-1(because)]TJ --0 -1.2 Td -[(the )-181(standar)]TJ -0.4307 Tc 5.138 0 Td -(dI)Tj -0 Tc 1.379 0 Td -[(/O )-181(library )-181(will )-181(fully )-181(buf)18(fer )-181(its )-181(standar)]TJ -0.4308 Tc 17.778 0 Td -(do)Tj -0 Tc 1.588 0 Td -[(utput. )-431(All)-431(that )-181(we\325ll )-181(see )-181(ar)19(e)]TJ --25.882 -1.2 Td -[(blocks )-213(of )-213(output )-213(written )-213(by )-213(the )-213(standar)]TJ -0.4631 Tc 18.526 0 Td -(dI)Tj -0 Tc 1.411 0 Td -[(/O )-213(library )-213(to )-213(the )-213(output )-213(\336le, )-213(possibly )-213(in)]TJ --19.937 -1.2 Td -[(chunks as lar)18(ge as 8,192 bytes.)]TJ -1.8 -1.2 Td -[(If )-40(we )-40(have )-40(the )-40(sour)18(ce )-40(code, )-40(we )-40(can )-40(insert )-40(calls )-40(to)]TJ -/TT1 1 Tf -22.05 0 Td -(fflush)Tj -/T1_0 1 Tf -3.89 0 Td -[(to )-40(for)18(ce )-40(the )-40(standar)]TJ -0.2904 Tc 8.629 0 Td -(dI)Tj -0 Tc 1.238 0 Td -(/O)Tj --37.608 -1.2 Td -[(buf)18(fers )-5(to )-5(be )-5(\337ushed )-5(at )-5(select )-5(points )-5(or )-5(change )-5(the )-5(buf)14(fering )-5(mode )-5(to )-5(line )-5(buf)17(fer)18(ed )-5(using)]TJ -/TT1 1 Tf -T* -(setvbuf)Tj -/T1_0 1 Tf -0.5982 Tc (.I)Tj -0.3482 Tc 5.385 0 Td -(fw)Tj -0.3483 Tc 1.515 0 Td -(ed)Tj -0 Tc 1.438 0 Td -[(on\325t )-98(have )-98(the )-98(sour)18(ce )-98(code, )-98(however)73(,)-348(we)-348(c)-1(an )-98(r)8(un )-98(the )-98(pr)18(ogram )-98(under)]TJ --8.339 -1.2 Td -(the)Tj -/TT1 1 Tf -1.772 0 Td -(pty)Tj -/T1_0 1 Tf -2.185 0 Td -[(pr)18(ogram, )-135(making )-135(its )-135(standar)]TJ -0.3852 Tc 12.993 0 Td -(dI)Tj -0 Tc 1.333 0 Td -[(/O )-135(library )-135(think )-135(that )-135(its )-135(standar)]TJ -0.3851 Tc 14.73 0 Td -(do)Tj -0 Tc 1.542 0 Td -[(utput )-135(is )-135(a)]TJ --34.556 -1.2 Td -[(terminal. )-374(Figur)]TJ -0.374 Tc 7.004 0 Td -(e1)Tj -0 Tc 1.353 0 Td -[(9.7 )-124(shows )-124(this )-124(arrangement, )-124(wher)18(e)-374(we)-374(have )-124(called )-124(the )-124(slow )-124(output)]TJ --8.357 -1.2 Td -[(pr)18(ogram)]TJ -/TT1 1 Tf -4.226 0 Td -(slowout)Tj -/T1_0 1 Tf -0.6183 Tc (.T)Tj -0 Tc 5.681 0 Td -(he)Tj -/TT1 1 Tf -1.429 0 Td -(fork/exec)Tj -/T1_0 1 Tf -5.768 0 Td -[(arr)18(ow )-118(fr)18(om )-118(the )-118(login )-118(shell )-118(to )-118(the)]TJ -/TT1 1 Tf -15.348 0 Td -(pty)Tj -/T1_0 1 Tf -2.168 0 Td -[(pr)18(ocess )-118(is)]TJ --34.622 -1.2 Td -[(shown )-8(as )-8(a )-8(dashed )-8(arr)18(ow )-8(to )-8(emphasize )-8(that )-8(the)]TJ -/TT1 1 Tf -21.306 0 Td -(pty)Tj -/T1_0 1 Tf -2.058 0 Td -[(pr)18(ocess )-8(is )-8(r)8(unning )-8(as )-8(a )-8(backgr)17(ound)]TJ --23.364 -1.2 Td -(job.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47493 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.3)]TJ -35.67 0 Td -[(Thr)18(ead )-250(Attributes)]TJ -/T1_1 1 Tf -10.163 0 Td -(427)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(2. )-633(An)-250(initialization function exists to set the attributes to their default va\ lues.)]TJ -0 -1.6 TD -[(3. )-633(Another)-516(function )-266(exists )-266(to )-266(destr)18(oy )-266(the )-266(attributes )-266(object.)-766(If )-266(the )-266(initialization)]TJ -1.633 -1.2 Td -[(function )-380(allocated )-380(any )-380(r)17(esour)18(ces )-380(associated )-380(with )-380(the )-380(attributes )-380(object, )-380(the)]TJ --0 -1.2 Td -[(destr)18(oy function fr)18(ees those r)18(esour)18(ces.)]TJ --1.633 -1.6 Td -[(4. )-633(Each)-319(attribute )-69(has )-69(a )-69(function )-69(to )-69(get )-69(the )-69(value )-69(of )-69(the )-69(attribute )-69(fr)15(om )-69(the )-69(attribute)]TJ -1.633 -1.2 Td -[(object. )-295(Because)-295(the )-45(function )-45(r)18(eturns )-45(0 )-45(on )-45(success )-45(or )-45(an )-45(err)20(or )-45(number )-45(on )-45(failur)18(e,)]TJ -0 -1.2 Td -[(the )-51(value )-51(is )-51(r)18(eturned )-51(to )-51(the )-51(caller )-51(by )-51(storing )-51(it )-51(in )-51(the )-51(memory )-51(location )-51(speci\336ed)]TJ -0 -1.2 TD -[(by one of the ar)18(guments.)]TJ --1.633 -1.6 Td -[(5. )-633(Each)-360(attribute )-110(has )-110(a )-110(function )-110(to )-110(set )-110(the )-110(value )-110(of )-110(the )-110(attribute.)-610(In )-110(this )-110(case, )-110(the)]TJ -1.633 -1.2 Td -[(value is passed as an ar)18(gument,)]TJ -/T1_2 1 Tf -14.254 0 Td -(by value)Tj -/T1_0 1 Tf -(.)Tj --15.887 -1.92 Td -[(In )-34(all )-34(the )-34(examples )-34(in )-34(which )-34(we )-34(called)]TJ -/TT0 1 Tf -17.368 0 Td -(pthread_create)Tj -/T1_0 1 Tf -8.684 0 Td -[(in )-34(Chapter )-34(1)55(1, )-34(we )-34(passed)]TJ --27.852 -1.2 Td -[(in )-103(a )-103(null )-103(pointer )-103(instead )-103(of )-103(passing )-103(in )-103(a )-103(pointer )-103(to )-103(a)]TJ -/TT0 1 Tf -24.037 0 Td -(pthread_attr_t)Tj -/T1_0 1 Tf -8.754 0 Td -[(str)8(uctur)18(e. )-353(W)92(e)]TJ --32.79 -1.2 Td -[(can )-67(use )-67(the)]TJ -/TT0 1 Tf -5.371 0 Td -(pthread_attr_t)Tj -/T1_0 1 Tf -8.717 0 Td -[(str)8(uctur)18(e)-317(to)-317(m)-1(odify )-67(the )-67(default )-67(attributes, )-67(and )-67(associate)]TJ --14.088 -1.2 Td -[(these )-6(attributes )-6(with )-6(thr)18(eads )-6(that )-6(we )-6(cr)18(eate. )-256(W)]TJ -0.256 Tc 20.697 0 Td -(eu)Tj -0 Tc 1.338 0 Td -[(se )-6(the)]TJ -/TT0 1 Tf -2.802 0 Td -(pthread_attr_init)Tj -/T1_0 1 Tf -10.456 0 Td -(function)Tj --35.293 -1.2 Td -[(to )-116(initialize )-116(the)]TJ -/TT0 1 Tf -7.199 0 Td -(pthread_attr_t)Tj -/T1_0 1 Tf -8.766 0 Td -[(str)8(uctur)18(e. )-366(After)-366(calling)]TJ -/TT0 1 Tf -10.833 0 Td -(pthread_attr_init)Tj -/T1_0 1 Tf -0.3658 Tc (,t)Tj -0 Tc 11.142 0 Td -(he)Tj -/TT0 1 Tf --37.939 -1.2 Td -(pthread_attr_t)Tj -/T1_0 1 Tf -8.87 0 Td -[(str)8(uctur)]TJ -0.4703 Tc 3.49 0 Td -(ec)Tj -0 Tc 1.393 0 Td -[(ontains )-220(the )-220(default )-220(values )-220(for )-220(all )-220(the )-220(thr)18(ead )-220(attributes)]TJ --13.754 -1.2 Td -(supported by the implementation.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5908 442.2735 Tm -(#include )Tj -0 -1.783 TD -(int pthread_attr_init\(pthread_attr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -0 -1.783 TD -(int pthread_attr_destroy\(pthread_attr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -19.681 -1.783 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3896.25 cm -0 0 m -0 617 l -3900 617 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9988 0 0 9.9988 147.5823 377.3047 Tm -[(To )-193(d)]TJ -0 Tc 1.937 0 Td -[(einitialize )-9(a)]TJ -/TT0 1 Tf -5.339 0 Td -(pthread_attr_t)Tj -/T1_0 1 Tf -8.659 0 Td -[(str)8(uctur)18(e, )-9(we )-9(call)]TJ -/TT0 1 Tf -7.835 0 Td -(pthread_attr_destroy)Tj -/T1_0 1 Tf -0.5091 Tc (.I)Tj -0 Tc 13.096 0 Td -(f)Tj --38.667 -1.2 Td -[(an )-181(implementation )-181(of)]TJ -/TT0 1 Tf -10.315 0 Td -(pthread_attr_init)Tj -/T1_0 1 Tf -10.631 0 Td -[(allocated )-181(any )-181(dynamic )-181(memory )-181(for )-181(the)]TJ --20.947 -1.2 Td -[(attribute )-525(object,)]TJ -/TT0 1 Tf -8.182 0 Td -(pthread_attr_destroy)Tj -/T1_0 1 Tf -12.775 0 Td -[(will )-525(fr)18(ee )-525(that )-525(memory)]TJ -1.0252 Tc 11.066 0 Td -(.I)Tj -0.7752 Tc 1.612 0 Td -(na)Tj -0 Tc 1.857 0 Td -(ddition,)Tj -/TT0 1 Tf --35.492 -1.2 Td -(pthread_attr_destroy)Tj -/T1_0 1 Tf -12.291 0 Td -[(will )-40(initialize )-40(the )-40(attribute )-40(object )-40(with )-40(invalid )-40(values, )-40(so )-40(if )-40(it)]TJ --12.291 -1.2 Td -(is used by mistake,)Tj -/TT0 1 Tf -8.65 0 Td -(pthread_create)Tj -/T1_0 1 Tf -8.65 0 Td -[(will r)18(eturn an err)18(or code.)]TJ --15.5 -1.2 Td -[(The )-87(thr)18(ead )-87(attributes )-87(de\336ned )-87(by )-87(POSIX.1 )-87(ar)]TJ -0.3367 Tc 19.814 0 Td -(es)Tj -0 Tc 1.24 0 Td -[(ummarized )-87(in )-87(Figur)]TJ -0.3367 Tc 9.074 0 Td -(e1)Tj -0 Tc 1.316 0 Td -[(2.3. )-337(POSIX.1)]TJ --33.244 -1.2 Td -[(de\336nes )-179(additional )-179(attributes )-179(in )-179(the )-179(Thr)18(ead )-179(Execution )-179(Scheduling )-179(option, )-179(intended )-179(to)]TJ -0 -1.2 TD -[(support )-57(r)18(eal-time )-57(applications, )-57(but )-57(we )-57(don\325t )-57(discuss )-57(them )-57(her)14(e. )-307(In)-308(Figur)]TJ -0.3074 Tc 32.525 0 Td -(e1)Tj -0 Tc 1.286 0 Td -[(2.3, )-57(we )-57(also)]TJ --33.811 -1.2 Td -[(show which platforms support each thr)18(ead attribute.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1389.25 2637.25 cm -0 0 m -3713 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 356.6878 255.704 Tm -[(Fr)18(eeBSD )-1416(Linux)-1382(Mac OS X)-1198(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-2993(3.2.0)-2618(10.6.8 )-2868(10)]TJ --27.118 0.625 Td -(Name)Tj -11.991 0 Td -(Description)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1389.25 2417.25 cm -0 0 m -3713 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1389.25 2397.25 cm -0 0 m -3713 0 l -S -Q -Q -BT -/T1_2 1 Tf -7.9981 0 0 7.9981 142.9057 231.6944 Tm -(detachstate)Tj -/T1_0 1 Tf -4.961 0 Td -[(detached thr)18(ead attribute)]TJ -4.262 Tc 23.363 0 Td -(\245\245\245\245)Tj -/T1_2 1 Tf -0 Tc -28.324 -1.25 Td -(guardsize)Tj -/T1_0 1 Tf -4.961 0 Td -(guar)Tj -0.25 Tc 2.036 0 Td -(db)Tj -0 Tc 1.414 0 Td -[(uf)18(fer size in bytes at end of thr)18(ead stack)]TJ -4.262 Tc 19.913 0 Td -(\245\245\245\245)Tj -/T1_2 1 Tf -0 Tc -28.324 -1.25 Td -(stackaddr)Tj -/T1_0 1 Tf -4.961 0 Td -[(lowest addr)18(ess of thr)18(ead stack)]TJ -4.262 Tc 23.363 0 Td -(\245\245\245\245)Tj -/T1_2 1 Tf -0 Tc -28.324 -1.25 Td -(stacksize)Tj -/T1_0 1 Tf -4.961 0 Td -[(minimum size in bytes of thr)18(ead stack)]TJ -4.262 Tc 23.363 0 Td -(\245\245\245\245)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1389.25 1977.25 cm -0 0 m -3713 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4693.25 1977.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4303.25 1977.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3914.25 1977.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3525.25 1977.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1806.25 1977.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5102.25 1977.25 cm -0 0 m -0 660 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1389.25 1977.25 cm -0 0 m -0 660 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 7.9976 0 0 7.9976 256.675 179.6961 Tm -(Figure 12.3)Tj -/T1_0 1 Tf -5.695 0 Td -[(POSIX.1 thr)18(ead attributes)]TJ -9.997 0 0 9.997 147.5559 158.1026 Tm -[(In )-45(Section )-45(1)55(1.5, )-45(we )-45(intr)18(oduced )-45(the )-45(concept )-45(of )-45(detached )-45(thr)22(eads. )-295(If)-294(we )-45(ar)18(e)-295(no)-295(l)1(onger)]TJ --1.8 -1.2 Td -[(inter)18(ested )-110(in )-110(an )-110(existing )-110(thr)18(ead\325s )-110(termination )-110(status, )-110(we )-110(can )-110(use)]TJ -/TT0 1 Tf -29.368 0 Td -(pthread_detach)Tj -/T1_0 1 Tf -8.76 0 Td -(to)Tj --38.128 -1.2 Td -[(allow the operating system to r)18(eclaim the thr)18(ead\325s r)18(esour)18(ces when the thr)18(ead exits.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47494 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(803)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(33 )-1200(/*)]TJ -0 -1.189 TD -[(34 )-1800(*)-600(Given a keyword, scan the configuration file for a match)]TJ -T* -[(35 )-1800(*)-600(and return the string value corresponding to the keyword.)]TJ -T* -[(36 )-1800(*)]TJ -T* -[(37 )-1800(*)-600(LOCKING: none.)]TJ -0 -1.189 TD -[(38 )-1800(*/)]TJ -0 -1.189 TD -[(39 )-1200(static)-600(char *)]TJ -T* -[(40 )-1200(scan_configfile\(char)-600(*keyword\))]TJ -T* -[(41 )-1200({)]TJ -T* -[(42 )-3000(int)]TJ -14.4 0 Td -(n, match;)Tj --14.4 -1.189 Td -[(43 )-3000(FILE)]TJ -14.4 0 Td -(*fp;)Tj --14.4 -1.189 Td -[(44 )-3000(char)]TJ -14.4 0 Td -(keybuf[MAXKWLEN], pattern[MAXFMTLEN];)Tj --14.4 -1.189 Td -[(45 )-3000(char)]TJ -14.4 0 Td -(line[MAXCFGLINE];)Tj --14.4 -1.189 Td -[(46 )-3000(static)-600(char )-2400(valbuf[MAXCFGLINE];)]TJ -0 -2.021 TD -[(47 )-3000(if)-600(\(\(fp = fopen\(CONFIG_FILE, "r"\)\) == NULL\))]TJ -0 -1.189 TD -(48 )Tj -7.2 0 Td -[(log_sys\("can\325t)-600(open %s", CONFIG_FILE\);)]TJ --7.2 -1.189 Td -[(49 )-3000(sprintf\(pattern,)-600("%%%ds %%%ds", MAXKWLEN-1, MAXCFGLINE-1\);)]TJ -T* -[(50 )-3000(match)]TJ -0.6 Tc 8.4 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --10.2 -1.189 Td -[(51 )-3000(while)-600(\(fgets\(line, MAXCFGLINE, fp\) != NULL\) {)]TJ -T* -(52 )Tj -7.2 0 Td -(n)Tj -0.6 Tc 1.2 0 Td -(=s)Tj -0 Tc 1.8 0 Td -(scanf\(line, pattern, keybuf, valbuf\);)Tj --10.2 -1.189 Td -(53 )Tj -7.2 0 Td -[(if)-600(\(n == 2 && strcmp\(keyword, keybuf\) == 0\) {)]TJ --7.2 -1.189 Td -(54 )Tj -9.6 0 Td -(match)Tj -0.6 Tc 3.6 0 Td -(=1)Tj -0 Tc 1.8 0 Td -(;)Tj --15 -1.189 Td -(55 )Tj -9.6 0 Td -(break;)Tj --9.6 -1.189 Td -(56 )Tj -7.2 0 Td -(})Tj --7.2 -1.189 Td -[(57 )-3000(})]TJ -T* -[(58 )-3000(fclose\(fp\);)]TJ -T* -[(59 )-3000(if)-600(\(match != 0\))]TJ -0 -1.189 TD -(60 )Tj -7.2 0 Td -(return\(valbuf\);)Tj --7.2 -1.189 Td -[(61 )-3000(else)]TJ -0 -1.189 TD -(62 )Tj -7.2 0 Td -(return\(NULL\);)Tj --7.2 -1.189 Td -[(63 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3262.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 302.1717 Tm -[([33 )167(\320 )167(46])-668(The)]TJ -/TT0 1 Tf -6.089 0 Td -(scan_configfile)Tj -/T1_0 1 Tf -9.415 0 Td -[(function )-165(sear)18(ches )-165(thr)18(ough )-165(the )-165(printer )-165(con\336guration)]TJ --11.504 -1.2 Td -[(\336le for the speci\336ed keywor)18(d.)]TJ --4 -1.6 Td -[([47 )167(\320 )167(63])]TJ --0.092 Tc 4 0 Td -[(We )-571(o)]TJ -0 Tc 2.57 0 Td -[(pen )-387(the )-387(con\336guration )-387(\336le )-387(for )-387(r)17(eading )-387(and )-387(build )-387(the )-387(format )-387(string)]TJ --2.57 -1.2 Td -[(corr)18(esponding )-266(to )-266(the )-266(sear)18(ch )-266(pattern.)-766(The )-266(notation)]TJ -/TT0 1 Tf -24.195 0 Td -(%%%ds)Tj -/T1_0 1 Tf -3.516 0 Td -[(builds )-266(a )-266(format)]TJ --27.711 -1.2 Td -[(speci\336er )-5(that )-5(limits )-5(the )-5(string )-5(size )-5(so )-5(we )-5(don\325t )-5(overr)8(un )-5(the )-5(buf)18(fers )-5(used )-5(to )-5(stor)14(e)]TJ -0 -1.2 TD -[(the )-106(strings )-106(on )-106(the )-106(stack.)]TJ --0.092 Tc 11.432 0 Td -[(We )-290(r)]TJ -0 Tc 2.12 0 Td -[(ead )-106(the )-106(\336le )-106(one )-106(line )-106(at )-106(a )-106(time )-106(and )-106(scan )-106(for )-106(two)]TJ --13.552 -1.2 Td -[(strings )-78(separated )-78(by )-78(white )-78(space; )-78(if )-78(we )-78(\336nd )-78(them, )-78(we )-78(compar)]TJ -0.3276 Tc 27.827 0 Td -(et)Tj -0 Tc 1.133 0 Td -[(he )-78(\336rst )-78(string)]TJ --28.96 -1.2 Td -[(with )-53(the )-53(keywor)18(d. )-303(If)-303(we )-53(\336nd )-53(a )-53(match )-53(or )-53(we )-53(r)18(each )-53(the )-53(end )-53(of )-53(the )-53(\336le, )-53(the )-53(loop)]TJ -T* -[(ends )-50(and )-50(we )-50(close )-50(the )-50(\336le.)-550(If )-50(the )-50(keywor)]TJ -0.2996 Tc 18.35 0 Td -(dm)Tj -0 Tc 1.794 0 Td -[(atches, )-50(we )-50(r)18(eturn )-50(a )-50(pointer )-50(to )-50(the)]TJ --20.143 -1.2 Td -[(buf)18(fer containing the string after the keywor)18(d; otherwise, we r)18(eturn)]TJ -/TT0 1 Tf -30.149 0 Td -(NULL)Tj -/T1_0 1 Tf -(.)Tj --30.149 -1.56 Td -[(The )-354(string )-354(r)17(eturned )-354(is )-354(stor)18(ed )-354(in )-354(a )-354(static )-354(buf)18(fer )-354(\()]TJ -/TT0 1 Tf -23.713 0 Td -(valbuf)Tj -/T1_0 1 Tf -[(\), )-354(which )-354(can )-354(be)]TJ --23.713 -1.2 Td -[(overwritten )-27(on )-27(successive )-27(calls.)-526(Thus,)]TJ -/TT0 1 Tf -17.229 0 Td -(scan_configfile)Tj -/T1_0 1 Tf -9.277 0 Td -[(can\325t )-27(be )-27(called )-27(by )-27(a)]TJ --26.506 -1.2 Td -[(multithr)18(eaded )-25(application )-25(unless )-25(we )-25(take )-25(car)]TJ -0.2755 Tc 20.007 0 Td -(et)Tj -0.2754 Tc 1.081 0 Td -(oa)Tj -0 Tc 1.321 0 Td -[(void )-25(calling )-25(it )-25(fr)18(om )-25(multiple)]TJ --22.409 -1.2 Td -[(thr)18(eads at the same time.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47495 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(178)Tj -/T1_1 1 Tf -3.5 0 Td -[(System )-250(Data )-250(Files )-250(and )-250(Information)]TJ -39.241 0 Td -[(Chapter )-250(6)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1300.25 6670.25 cm -0 0 m -3892 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 250.8809 658.9605 Tm -(struct passwd)Tj -/T1_1 1 Tf -14.352 0 Td -[(Fr)18(eeBSD )-1416(Linux)-1382(Mac OS X)-1198(Solaris)]TJ --12.288 -1.25 Td -(member )Tj -13.563 0 Td -[(8.0)-3243(3.2.0 )-2368(10.6.8)-3118(10)]TJ --26.211 0.625 Td -(Description)Tj -20.133 0 Td -(POSIX.1)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1300.25 6450.25 cm -0 0 m -3892 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1300.25 6430.25 cm -0 0 m -3892 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 133.9679 634.9238 Tm -(user name)Tj -/TT0 1 Tf -13.714 0 Td -[(char )-600(*pw_name)]TJ -/T1_1 1 Tf -4.262 Tc 11.981 0 Td -(\245\245\245\245\245)Tj -0 Tc -25.695 -1.25 Td -[(encrypted passwor)18(d)]TJ -/TT0 1 Tf -13.714 0 Td -[(char )-600(*pw_passwd)]TJ -/T1_1 1 Tf -4.262 Tc 16.849 0 Td -(\245\245\245\245)Tj -0 Tc -30.563 -1.25 Td -(numerical user ID)Tj -/TT0 1 Tf -13.714 0 Td -[(uid_t )-600(pw_uid)]TJ -/T1_1 1 Tf -4.262 Tc 11.981 0 Td -(\245\245\245\245\245)Tj -0 Tc -25.695 -1.25 Td -[(numerical gr)18(oup ID)]TJ -/TT0 1 Tf -13.714 0 Td -[(gid_t )-600(pw_gid)]TJ -/T1_1 1 Tf -4.262 Tc 11.981 0 Td -(\245\245\245\245\245)Tj -0 Tc -25.695 -1.25 Td -(comment \336eld)Tj -/TT0 1 Tf -13.714 0 Td -[(char )-600(*pw_gecos)]TJ -/T1_1 1 Tf -4.262 Tc 16.849 0 Td -(\245\245\245\245)Tj -0 Tc -30.563 -1.25 Td -[(initial working dir)18(ectory)]TJ -/TT0 1 Tf -13.714 0 Td -[(char )-600(*pw_dir)]TJ -/T1_1 1 Tf -4.262 Tc 11.981 0 Td -(\245\245\245\245\245)Tj -0 Tc -25.695 -1.25 Td -[(initial shell \(user pr)18(ogram\))]TJ -/TT0 1 Tf -13.714 0 Td -[(char )-600(*pw_shell)]TJ -/T1_1 1 Tf -4.262 Tc 11.981 0 Td -(\245\245\245\245\245)Tj -0 Tc -25.695 -1.25 Td -(user access class)Tj -/TT0 1 Tf -13.714 0 Td -[(char )-600(*pw_class)]TJ -/T1_1 1 Tf -9.13 Tc 16.849 0 Td -(\245\245)Tj -0 Tc -30.563 -1.25 Td -[(next time to change passwor)18(d)]TJ -/TT0 1 Tf -13.714 0 Td -(time_t pw_change)Tj -/T1_1 1 Tf -9.13 Tc 16.849 0 Td -(\245\245)Tj -0 Tc -30.563 -1.25 Td -(account expiration time)Tj -/TT0 1 Tf -13.714 0 Td -(time_t pw_expire)Tj -/T1_1 1 Tf -9.13 Tc 16.849 0 Td -(\245\245)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1300.25 5410.25 cm -0 0 m -3892 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3614.25 5410.25 cm -0 0 m -0 1260 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3225.25 5410.25 cm -0 0 m -0 1260 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2417.25 5410.25 cm -0 0 m -0 1260 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5192.25 5410.25 cm -0 0 m -0 1260 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1300.25 5410.25 cm -0 0 m -0 1260 l -S -Q -Q -BT -/T1_0 1 Tf -0 Tc 7.9986 0 0 7.9986 254.7741 522.9059 Tm -(Figure 6.1)Tj -/T1_1 1 Tf -5.195 0 Td -(Fields in)Tj -/TT0 1 Tf -4.025 0 Td -(/etc/passwd)Tj -/T1_1 1 Tf -6.85 0 Td -(\336le)Tj -9.9982 0 0 9.9982 147.5736 498.9102 Tm -(Historically)Tj -0.3822 Tc 5.076 0 Td -(,t)Tj -0 Tc 0.958 0 Td -[(he )-132(passwor)]TJ -0.3822 Tc 5.149 0 Td -(d\336)Tj -0 Tc 1.598 0 Td -[(le )-132(has )-132(been )-132(stor)18(ed )-132(in)]TJ -/TT0 1 Tf -9.916 0 Td -(/etc/passwd)Tj -/T1_1 1 Tf -6.982 0 Td -[(and )-132(has )-132(been )-132(an)]TJ --31.48 -1.2 Td -[(ASCII )-145(\336le.)-645(Each )-145(line )-145(contains )-145(the )-145(\336elds )-145(described )-145(in )-145(Figur)]TJ -0.3953 Tc 26.933 0 Td -(e6)Tj -0 Tc 1.374 0 Td -[(.1, )-145(separated )-145(by )-145(colons.)]TJ --28.307 -1.2 Td -[(For example, four lines fr)18(om the)]TJ -/TT0 1 Tf -14.466 0 Td -(/etc/passwd)Tj -/T1_1 1 Tf -6.85 0 Td -(\336le on Linux could be)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.5739 455.0079 Tm -(root:x:0:0:root:/root:/bin/bash)Tj -0 -1.189 TD -(squid:x:23:23::/var/spool/squid:/dev/null)Tj -0 -1.189 TD -(nobody:x:65534:65534:Nobody:/home:/bin/sh)Tj -0 -1.189 TD -(sar:x:205:105:Stephen Rago:/home/sar:/bin/bash)Tj -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5772 401.7073 Tm -(Note the following points about these entries.)Tj -0.883 Tc 1.8 -2.04 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(her)18(e)-263(is)-263(usually )-13(an )-13(entry )-13(with )-13(the )-13(user )-13(name)]TJ -/TT0 1 Tf -19.45 0 Td -(root)Tj -/T1_1 1 Tf -0.5128 Tc (.T)Tj -0 Tc 3.776 0 Td -[(his )-13(entry )-13(has )-13(a )-13(user )-13(ID )-13(of )-13(0)]TJ --23.839 -1.2 Td -[(\(the super)8(user\).)]TJ -0.883 Tc -1.489 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-21(encrypted )-21(passwor)]TJ -0.2712 Tc 9.782 0 Td -(d\336)Tj -0 Tc 1.487 0 Td -[(eld )-21(contains )-21(a )-21(single )-21(character )-21(as )-21(a )-21(placeholder )-21(wher)16(e)]TJ --11.883 -1.2 Td -[(older )-299(versions )-299(of )-299(the )-299(UNIX )-299(System )-299(used )-299(to )-299(stor)]TJ -0.5493 Tc 23.157 0 Td -(et)Tj -0 Tc 1.354 0 Td -[(he )-299(encrypted )-299(passwor)17(d.)]TJ --24.512 -1.2 Td -[(Because )-185(it )-185(is )-185(a )-185(security )-185(hole )-185(to )-185(stor)]TJ -0.435 Tc 16.378 0 Td -(et)Tj -0 Tc 1.24 0 Td -[(he )-185(encrypted )-185(passwor)18(d)-435(in)-435(a)-435(\336le )-185(that )-185(is)]TJ --0.018 Tc -17.618 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(adable )-285(by )-285(everyone, )-285(encrypted )-285(passwor)18(ds )-285(ar)]TJ -0.5351 Tc 21.14 0 Td -(en)Tj -0 Tc 1.596 0 Td -[(ow )-285(kept )-285(elsewher)18(e. )-535(W)92(e\325ll)]TJ --23.593 -1.2 Td -(cover this issue in mor)Tj -0.25 Tc 9.952 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(etail in the next section when we discuss passwor)18(ds.)]TJ -0.883 Tc -12.781 -1.6 Td -(\245S)Tj -0 Tc 2.014 0 Td -[(ome )-121(\336elds )-121(in )-121(a )-121(passwor)]TJ -0.3712 Tc 10.882 0 Td -(d\336)Tj -0 Tc 1.587 0 Td -[(le )-121(entry )-121(can )-121(be )-121(empty)]TJ -0.6213 Tc 9.885 0 Td -(.I)Tj -0.3713 Tc 1.208 0 Td -(ft)Tj -0 Tc 1.03 0 Td -[(he )-121(encrypted )-121(passwor)17(d)]TJ --25.117 -1.2 Td -[(\336eld )-39(is )-39(empty)111(,)-289(it)-289(usually )-39(means )-39(that )-39(the )-39(user )-39(does )-39(not )-39(have )-39(a )-39(passwor)17(d. )-289(\(This)-289(is)]TJ --0 -1.2 Td -[(not )-14(r)18(ecommended.\) )-264(The)-264(entry )-14(for)]TJ -/TT0 1 Tf -15.266 0 Td -(squid)Tj -/T1_1 1 Tf -3.264 0 Td -[(has )-14(one )-14(blank )-14(\336eld: )-14(the )-14(comment )-14(\336eld.)]TJ --18.53 -1.2 Td -[(An empty comment \336eld has no ef)18(fect.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-131(shell )-131(\336eld )-131(contains )-131(the )-131(name )-131(of )-131(the )-131(executable )-131(pr)19(ogram )-131(to )-131(be )-131(used )-131(as )-131(the)]TJ --0.613 -1.2 Td -[(login )-171(shell )-171(for )-171(the )-171(user)]TJ -0.6713 Tc 10.506 0 Td -(.T)Tj -0 Tc 1.534 0 Td -[(he )-171(default )-171(value )-171(for )-171(an )-171(empty )-171(shell )-171(\336eld )-171(is )-171(usually)]TJ -/TT0 1 Tf --12.04 -1.2 Td -(/bin/sh)Tj -/T1_1 1 Tf -0.5256 Tc (.N)Tj -0 Tc 5.807 0 Td -[(ote, )-26(however)]TJ -0.2756 Tc 5.683 0 Td -(,t)Tj -0 Tc 0.852 0 Td -[(hat )-26(the )-26(entry )-26(for)]TJ -/TT0 1 Tf -7.509 0 Td -(squid)Tj -/T1_1 1 Tf -3.276 0 Td -(has)Tj -/TT0 1 Tf -1.782 0 Td -(/dev/null)Tj -/T1_1 1 Tf -5.676 0 Td -[(as )-25(the )-25(login)]TJ --30.583 -1.2 Td -[(shell. )-385(Obviously)]TJ -0.3846 Tc 7.456 0 Td -(,t)Tj -0 Tc 0.961 0 Td -[(his )-135(is )-135(a )-135(device )-135(and )-135(cannot )-135(be )-135(executed, )-135(so )-135(its )-135(use )-135(her)21(e)-385(is)-385(t)1(o)]TJ --8.416 -1.2 Td -[(pr)18(event anyone fr)18(om logging in to our system as user)]TJ -/TT0 1 Tf -23.877 0 Td -(squid)Tj -/T1_1 1 Tf -(.)Tj -7.9986 0 0 7.9986 183.567 169.3491 Tm -[(Many )-307(services )-307(have )-307(separate )-307(user )-307(IDs )-307(for )-307(the )-307(daemon )-307(pr)18(ocesses )-307(\(Chapter )-307(13\) )-307(that )-307(help)]TJ -0 -1.25 TD -[(implement )-89(the )-89(service.)-589(The)]TJ -/TT0 1 Tf -12.809 0 Td -(squid)Tj -/T1_1 1 Tf -3.339 0 Td -[(entry )-89(is )-89(for )-89(the )-89(pr)18(ocesses )-89(implementing )-89(the)]TJ -/TT0 1 Tf -19.917 0 Td -(squid)Tj -/T1_1 1 Tf -3.339 0 Td -[(pr)18(oxy)]TJ --39.404 -1.25 Td -(cache service.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47496 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(835)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(699 )-4800(if)-600(\(jp->req.flags & PR_TEXT\) {)]TJ -0 -1.189 TD -(700 )Tj -9.6 0 Td -(p)Tj -0.6 Tc 1.2 0 Td -(=")Tj -0 Tc 1.8 0 Td -(text/plain";)Tj --12.6 -1.189 Td -(701 )Tj -9.6 0 Td -(extra)Tj -0.6 Tc 3.6 0 Td -(=1)Tj -0 Tc 1.8 0 Td -(;)Tj --15 -1.189 Td -[(702 )-4800(})-600(else {)]TJ -T* -(703 )Tj -9.6 0 Td -(p)Tj -0.6 Tc 1.2 0 Td -(=")Tj -0 Tc 1.8 0 Td -(application/postscript";)Tj --12.6 -1.189 Td -(704 )Tj -9.6 0 Td -(extra)Tj -0.6 Tc 3.6 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --15 -1.189 Td -[(705 )-4800(})]TJ -T* -[(706 )-4800(icp)]TJ -0.6 Tc 9.6 0 Td -(=a)Tj -0 Tc 1.8 0 Td -(dd_option\(icp, TAG_MIMETYPE, "document-format", p\);)Tj --11.4 -1.189 Td -[(707 )-4800(*icp++)]TJ -0.6 Tc 11.4 0 Td -(=T)Tj -0 Tc 1.8 0 Td -(AG_END_OF_ATTR;)Tj --13.2 -1.189 Td -[(708 )-4800(ilen)]TJ -0.6 Tc 10.2 0 Td -(=i)Tj -0 Tc 1.8 0 Td -(cp - ibuf;)Tj --12 -2.021 Td -[(709 )-4800(/*)]TJ -T* -(710 )Tj -7.8 0 Td -[(*)-600(Set up the HTTP header.)]TJ --7.8 -1.189 Td -(711 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(712 )-4800(hcp)]TJ -0.6 Tc 9.6 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(buf;)Tj --11.4 -1.189 Td -[(713 )-4800(sprintf\(hcp,)-600("POST /ipp HTTP/1.1\\r\\n"\);)]TJ -T* -[(714 )-4800(hcp)-600(+= strlen\(hcp\);)]TJ -T* -[(715 )-4800(sprintf\(hcp,)-600("Content-Length: %ld\\r\\n",)]TJ -T* -(716 )Tj -8.4 0 Td -(\(long\)sbuf.st_size)Tj -0.6 Tc 11.4 0 Td -(+i)Tj -0 Tc 1.8 0 Td -(len + extra\);)Tj --21.6 -1.189 Td -[(717 )-4800(hcp)-600(+= strlen\(hcp\);)]TJ -T* -[(718 )-4800(strcpy\(hcp,)-600("Content-Type: application/ipp\\r\\n"\);)]TJ -T* -[(719 )-4800(hcp)-600(+= strlen\(hcp\);)]TJ -T* -[(720 )-4800(sprintf\(hcp,)-600("Host: %s:%d\\r\\n", printer_name, IPP_PORT\);)]TJ -T* -[(721 )-4800(hcp)-600(+= strlen\(hcp\);)]TJ -T* -[(722 )-4800(*hcp++)]TJ -0.6 Tc 11.4 0 Td -(=\325)Tj -0 Tc 1.8 0 Td -(\\r\325;)Tj --13.2 -1.189 Td -[(723 )-4800(*hcp++)]TJ -0.6 Tc 11.4 0 Td -(=\325)Tj -0 Tc 1.8 0 Td -(\\n\325;)Tj --13.2 -1.189 Td -[(724 )-4800(hlen)]TJ -0.6 Tc 10.2 0 Td -(=h)Tj -0 Tc 1.8 0 Td -(cp - hbuf;)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3797.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 355.6653 Tm -[([699 )167(\320 )167(708])-668(The )-143(last )-143(attribute )-143(we )-143(supply )-143(is )-143(the)]TJ -/TT0 1 Tf -21.253 0 Td -(document-format)Tj -/T1_0 1 Tf -0.6427 Tc (.I)Tj -0 Tc 10.23 0 Td -[(f)-393(we)-393(o)1(mit )-143(it, )-143(the)]TJ --26.483 -1.2 Td -[(printer )-178(will )-178(interpr)18(et )-178(the )-178(\336le )-178(using )-178(some )-178(default )-178(format.)-682(For )-178(a )-178(PostScript)]TJ -0 -1.2 TD -(printer)Tj -0.5125 Tc 2.995 0 Td -(,t)Tj -0 Tc 1.089 0 Td -[(his )-262(is )-262(pr)18(obably )-262(PostScript, )-262(but )-262(some )-262(printers )-262(can )-262(autosense )-262(the)]TJ --4.084 -1.2 Td -[(format )-36(and )-36(choose )-36(between )-36(PostScript, )-36(plaintext, )-36(or )-36(PCL )-36(\(Hewlett-Packar)21(d\325s)]TJ -T* -[(Printer )-80(Command )-80(Language\).)-582(If )-81(the)]TJ -/TT0 1 Tf -16.716 0 Td -(PR_TEXT)Tj -/T1_0 1 Tf -4.531 0 Td -[(\337ag )-81(is )-81(set, )-81(we )-81(set )-81(the )-81(format)]TJ --21.246 -1.2 Td -(to)Tj -/TT0 1 Tf -1.486 0 Td -(text/plain)Tj -/T1_0 1 Tf -0.8645 Tc (.O)Tj -0 Tc 7.901 0 Td -[(therwise, )-364(we )-364(set )-364(it )-364(to)]TJ -/TT0 1 Tf -11.163 0 Td -(application/postscript)Tj -/T1_0 1 Tf -(.)Tj --20.55 -1.2 Td -[(Then )-211(we )-211(delimit )-211(the )-211(end )-211(of )-211(the )-211(attributes )-211(portion )-211(of )-211(the )-211(header )-211(with )-211(an)]TJ -T* -[(end-of-attributes tag and calculate the size of the IPP header)74(.)]TJ -0 -1.8 TD -(The)Tj -/TT0 1 Tf -1.956 0 Td -(extra)Tj -/T1_0 1 Tf -3.281 0 Td -[(integer )-31(counts )-31(any )-31(extra )-31(characters )-31(we )-31(might )-31(need )-31(to )-31(transmit )-31(to)]TJ --5.237 -1.2 Td -[(the )-28(printer)]TJ -0.5283 Tc 4.66 0 Td -(.A)Tj -0 Tc 1.556 0 Td -[(s)-278(we)-278(s)-1(hall )-28(see )-28(shortly)110(,)-278(we)-278(n)-1(eed )-28(to )-28(send )-28(an )-28(extra )-28(character )-28(to )-28(be)]TJ --6.217 -1.2 Td -[(able )-91(to )-91(print )-91(plain )-91(text )-91(r)16(eliably)]TJ -0.5914 Tc 13.736 0 Td -(.W)Tj -0.3414 Tc 1.749 0 Td -(en)Tj -0 Tc 1.402 0 Td -[(eed )-91(to )-91(account )-91(for )-91(this )-91(extra )-91(character)]TJ --16.888 -1.2 Td -(when we calculate the content length.)Tj --5 -1.72 Td -[([709 )167(\320 )167(724])-668(Now )-25(that )-25(we )-25(know )-25(the )-25(IPP )-25(header )-25(size, )-25(we )-25(can )-25(set )-25(up )-25(the )-25(HTTP )-25(header)]TJ -0.5248 Tc 36.838 0 Td -(.W)Tj -0 Tc 1.683 0 Td -(e)Tj --33.521 -1.2 Td -[(set )-33(the)]TJ -/TT0 1 Tf -3.182 0 Td -(Content-Length)Tj -/T1_0 1 Tf -8.683 0 Td -[(to )-33(the )-33(size )-33(in )-33(bytes )-33(of )-33(the )-33(IPP )-33(header )-33(plus )-33(the )-33(size)]TJ --11.865 -1.2 Td -[(of )-149(the )-149(\336le )-149(to )-149(be )-149(printed )-149(plus )-149(any )-149(extra )-149(characters )-149(we )-149(might )-149(need )-149(to )-149(send.)]TJ -0 -1.2 TD -(The)Tj -/TT0 1 Tf -1.994 0 Td -(Content-Type)Tj -/T1_0 1 Tf -7.52 0 Td -(is)Tj -/TT0 1 Tf -1.035 0 Td -(application/ipp)Tj -/T1_0 1 Tf -0.5703 Tc (.W)Tj -0.3203 Tc 10.728 0 Td -(em)Tj -0 Tc 1.682 0 Td -[(ark )-70(the )-70(end )-70(of )-70(the )-70(HTTP)]TJ --22.96 -1.2 Td -[(header with a carriage r)17(eturn and a line feed.)-501(Finally)111(,)-250(we)-250(c)-1(alculate the size of)]TJ --0 -1.2 Td -[(the HTTP header)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47497 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(822)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(284 )-1200(/*)]TJ -0 -1.189 TD -[(285 )-1800(*)-600(Remove a job from the list of pending jobs.)]TJ -T* -[(286 )-1800(*)]TJ -T* -[(287 )-1800(*)-600(LOCKING: caller must hold joblock.)]TJ -T* -[(288 )-1800(*/)]TJ -0 -1.189 TD -[(289 )-1200(void)]TJ -0 -1.189 TD -[(290 )-1200(remove_job\(struct)-600(job *target\))]TJ -T* -[(291 )-1200({)]TJ -T* -[(292 )-2400(if)-600(\(target->next != NULL\))]TJ -T* -[(293 )-4800(target->next->prev)]TJ -0.6 Tc 18.6 0 Td -(=t)Tj -0 Tc 1.8 0 Td -(arget->prev;)Tj --20.4 -1.189 Td -[(294 )-2400(else)]TJ -T* -[(295 )-4800(jobtail)]TJ -0.6 Tc 12 0 Td -(=t)Tj -0 Tc 1.8 0 Td -(arget->prev;)Tj --13.8 -1.189 Td -[(296 )-2400(if)-600(\(target->prev != NULL\))]TJ -0 -1.189 TD -[(297 )-4800(target->prev->next)]TJ -0.6 Tc 18.6 0 Td -(=t)Tj -0 Tc 1.8 0 Td -(arget->next;)Tj --20.4 -1.189 Td -[(298 )-2400(else)]TJ -0 -1.189 TD -[(299 )-4800(jobhead)]TJ -0.6 Tc 12 0 Td -(=t)Tj -0 Tc 1.8 0 Td -(arget->next;)Tj --13.8 -1.189 Td -[(300 )-1200(})]TJ -0 -2.14 TD -[(301 )-1200(/*)]TJ -0 -1.189 TD -[(302 )-1800(*)-600(Check the spool directory for pending jobs on start-up.)]TJ -T* -[(303 )-1800(*)]TJ -T* -[(304 )-1800(*)-600(LOCKING: none.)]TJ -T* -[(305 )-1800(*/)]TJ -T* -[(306 )-1200(void)]TJ -T* -[(307 )-1200(build_qonstart\(void\))]TJ -T* -[(308 )-1200({)]TJ -T* -[(309 )-2400(int)]TJ -14.4 0 Td -(fd, err, nr;)Tj --14.4 -1.189 Td -[(310 )-2400(int32_t)]TJ -14.4 0 Td -(jobid;)Tj --14.4 -1.189 Td -[(311 )-2400(DIR)]TJ -14.4 0 Td -(*dirp;)Tj --14.4 -1.189 Td -[(312 )-2400(struct)-600(dirent )-1200(*entp;)]TJ -T* -[(313 )-2400(struct)-600(printreq req;)]TJ -T* -[(314 )-2400(char)]TJ -14.4 0 Td -(dname[FILENMSZ], fname[FILENMSZ];)Tj --14.4 -2.14 Td -[(315 )-2400(sprintf\(dname,)-600("%s/%s", SPOOLDIR, REQDIR\);)]TJ -T* -[(316 )-2400(if)-600(\(\(dirp = opendir\(dname\)\) == NULL\))]TJ -T* -[(317 )-4800(return;)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2845.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 260.4467 Tm -[([284 )167(\320 )167(300])]TJ -/TT0 1 Tf -5 0 Td -(remove_job)Tj -/T1_1 1 Tf --0.018 Tc 6.319 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(moves )-69(a )-69(job )-69(fr)17(om )-69(the )-69(list )-69(of )-69(pending )-69(jobs )-69(given )-69(a )-69(pointer )-69(to)]TJ --7.175 -1.2 Td -[(the )-36(job )-36(to )-36(be )-36(r)18(emoved. )-286(The)-286(caller )-36(must )-36(alr)18(eady )-36(hold )-36(the)]TJ -/TT0 1 Tf -25.251 0 Td -(joblock)Tj -/T1_1 1 Tf -4.486 0 Td -[(mutex. )-286(If)]TJ --29.737 -1.2 Td -[(the )-94(next )-94(pointer )-94(is )-94(non-null, )-94(we )-94(set )-94(the )-94(next )-94(entry\325s )-94(pr)13(evious )-94(pointer )-94(to )-94(the)]TJ -0 -1.2 TD -[(tar)18(get\325s )-82(pr)18(evious )-82(pointer)]TJ -0.5818 Tc 10.962 0 Td -(.O)Tj -0 Tc 1.618 0 Td -[(therwise, )-82(the )-82(entry )-82(is )-82(the )-82(last )-82(one )-82(on )-82(the )-82(list, )-82(so)]TJ --12.579 -1.2 Td -[(we )-204(set)]TJ -/TT0 1 Tf -3.45 0 Td -(jobtail)Tj -/T1_1 1 Tf -4.654 0 Td -[(to )-204(the )-204(tar)18(get\325s )-204(pr)18(evious )-204(pointer)]TJ -0.7038 Tc 14.372 0 Td -(.I)Tj -0.4538 Tc 1.291 0 Td -(ft)Tj -0 Tc 1.113 0 Td -[(he )-204(tar)18(get\325s )-204(pr)18(evious)]TJ --24.879 -1.2 Td -[(pointer )-195(is )-195(non-null, )-195(we )-195(set )-195(the )-195(pr)18(evious )-195(entry\325s )-195(next )-195(pointer )-195(equal )-195(to )-195(the)]TJ -T* -[(tar)18(get\325s )-119(next )-119(pointer)]TJ -0.6195 Tc 9.054 0 Td -(.O)Tj -0 Tc 1.656 0 Td -[(therwise, )-119(this )-119(is )-119(the )-119(\336rst )-119(entry )-119(in )-119(the )-119(list, )-119(so )-119(we )-119(set)]TJ -/TT0 1 Tf --10.71 -1.2 Td -(jobhead)Tj -/T1_1 1 Tf -4.45 0 Td -[(to point to the next entry in the list after the tar)18(get.)]TJ --9.45 -1.6 Td -[([301 )167(\320 )167(317])-668(When )-101(the )-101(daemon )-101(starts, )-101(it )-101(calls)]TJ -/TT0 1 Tf -19.947 0 Td -(build_qonstart)Tj -/T1_1 1 Tf -8.751 0 Td -[(to )-101(build )-101(an )-101(in-memory)]TJ --23.697 -1.2 Td -[(list )-44(of )-44(print )-44(jobs )-44(fr)18(om )-44(the )-44(disk )-44(\336les )-44(stor)18(ed )-44(in)]TJ -/TT0 1 Tf -19.95 0 Td -(/var/spool/printer/reqs)Tj -/T1_1 1 Tf -(.)Tj --19.95 -1.2 Td -[(If we can\325t open the dir)18(ectory)111(,)-250(no)-250(print jobs ar)]TJ -0.25 Tc 20.079 0 Td -(ep)Tj -0 Tc 1.33 0 Td -[(ending, so we r)18(eturn.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47498 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(668)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 237.5857 670.2598 Tm -(})Tj -0 -1.189 TD -(numfd--;)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse {)-4800(/* process client\325s request */)]TJ -0.6 -1.189 Td -(handle_request\(buf, nread, pollfd[i].fd,)Tj -1.2 -1.189 Td -(client[i].uid\);)Tj --3.6 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5692.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 245.2426 553.1326 Tm -(Figure 17.30)Tj -/T1_1 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(loop)Tj -/T1_1 1 Tf -2.65 0 Td -(function using)Tj -/TT0 1 Tf -6.663 0 Td -(poll)Tj -/T1_1 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5847 529.1355 Tm -[(To )-363(a)]TJ -0 Tc 1.996 0 Td -[(llow )-179(for )-179(as )-179(many )-179(clients )-179(as )-179(ther)]TJ -0.4285 Tc 14.778 0 Td -(ea)Tj --0.018 Tc 1.407 0 Td -[(re )-215(p)]TJ -0 Tc 1.886 0 Td -[(ossible )-178(open )-178(descriptors, )-178(we )-178(dynamically)]TJ --20.066 -1.2 Td -[(allocate )-37(space )-37(for )-37(the )-37(array )-37(of)]TJ -/TT0 1 Tf -13.432 0 Td -(pollfd)Tj -/T1_1 1 Tf -3.887 0 Td -[(str)8(uctur)18(es )-37(using )-37(the )-37(same )-37(strategy )-37(as )-37(used )-37(in )-37(the)]TJ -/TT0 1 Tf --17.319 -1.2 Td -(client_alloc)Tj -/T1_1 1 Tf -7.45 0 Td -(function for the)Tj -/TT0 1 Tf -7.118 0 Td -(client)Tj -/T1_1 1 Tf -3.85 0 Td -(array \(see Figur)Tj -0.25 Tc 6.944 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(7.27\).)Tj --0.092 Tc -24.791 -1.2 Td -[(We )-279(u)]TJ -0 Tc 2.335 0 Td -[(se )-95(the )-95(\336rst )-95(entry )-95(\(index )-95(0\) )-95(of )-95(the)]TJ -/TT0 1 Tf -15.047 0 Td -(pollfd)Tj -/T1_1 1 Tf -3.945 0 Td -[(array )-95(for )-95(the)]TJ -/TT0 1 Tf -6.041 0 Td -(listenfd)Tj -/T1_1 1 Tf -5.145 0 Td -[(descriptor)74(.)]TJ --34.312 -1.2 Td -[(The )-215(arrival )-215(of )-215(a )-215(new )-215(client )-215(connection )-215(is )-215(indicated )-215(by )-215(a)]TJ -/TT0 1 Tf -26.691 0 Td -(POLLIN)Tj -/T1_1 1 Tf -4.065 0 Td -[(on )-215(the)]TJ -/TT0 1 Tf -3.445 0 Td -(listenfd)Tj -/T1_1 1 Tf --34.2 -1.2 Td -(descriptor)Tj -0.5 Tc 4.438 0 Td -(.A)Tj -0.25 Tc 1.528 0 Td -(sb)Tj -0 Tc 1.227 0 Td -[(efor)18(e, we call)]TJ -/TT0 1 Tf -6.053 0 Td -(serv_accept)Tj -/T1_1 1 Tf -6.85 0 Td -(to accept the connection.)Tj --18.296 -1.2 Td -[(For )-113(an )-113(existing )-113(client, )-113(we )-113(have )-113(to )-113(handle )-113(two )-113(dif)19(fer)18(ent )-113(events )-113(fr)18(om)]TJ -/TT0 1 Tf -30.911 0 Td -(poll)Tj -/T1_1 1 Tf -0.3629 Tc (:ac)Tj -0 Tc 4.32 0 Td -(lient)Tj --37.031 -1.2 Td -[(termination )-230(is )-230(indicated )-230(by)]TJ -/TT0 1 Tf -13.08 0 Td -(POLLHUP)Tj -/T1_1 1 Tf -0.48 Tc (,a)Tj -0 Tc 5.43 0 Td -[(nd )-230(a )-230(new )-230(r)18(equest )-230(fr)18(om )-230(an )-230(existing )-230(client )-230(is)]TJ --18.51 -1.2 Td -[(indicated )-83(by)]TJ -/TT0 1 Tf -5.911 0 Td -(POLLIN)Tj -/T1_1 1 Tf -0.5834 Tc (.T)Tj -0 Tc 5.046 0 Td -[(he )-83(client )-83(can )-83(close )-83(its )-83(end )-83(of )-83(the )-83(connection )-83(while )-83(ther)15(e)-333(is)-333(s)-1(till)]TJ --10.957 -1.2 Td -[(data )-106(to )-106(be )-106(r)18(ead )-106(fr)18(om )-106(the )-106(server)-74(\325s )-106(end )-106(of )-106(the )-106(connection.)-606(Even )-106(though )-106(the )-106(endpoint )-106(is)]TJ -0 -1.2 TD -[(marked )-102(as )-102(hung )-102(up, )-102(the )-102(server )-102(can )-102(r)18(ead )-102(all )-102(the )-102(data )-102(queued )-102(on )-102(its )-102(end.)-599(But )-102(with )-102(this)]TJ -T* -(server)Tj -0.2584 Tc 2.663 0 Td -(,w)Tj -0 Tc 1.342 0 Td -[(hen )-8(we )-8(r)18(eceive )-8(the )-8(hangup )-8(fr)18(om )-8(the )-8(client, )-8(we )-8(can)]TJ -/TT0 1 Tf -22.493 0 Td -(close)Tj -/T1_1 1 Tf -3.258 0 Td -[(the )-8(connection )-8(to )-8(the)]TJ --29.757 -1.2 Td -[(client, )-119(ef)18(fectively )-119(thr)18(owing )-119(away )-119(any )-119(queued )-119(data.)-620(Ther)18(e)-369(is)-369(no)-369(r)18(eason )-119(to )-119(pr)18(ocess )-119(any)]TJ --0.018 Tc -0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quests still r)18(emaining, since we can\325t send any r)18(esponses back.)]TJ -0.944 -1.2 Td -[(As )-7(with )-7(the)]TJ -/TT0 1 Tf -5.394 0 Td -(select)Tj -/T1_1 1 Tf -3.858 0 Td -[(version )-8(of )-8(this )-8(function, )-8(new )-8(r)18(equests )-8(fr)18(om )-8(a )-8(client )-8(ar)]TJ -0.2576 Tc 23.555 0 Td -(eh)Tj -0 Tc 1.319 0 Td -(andled)Tj --35.926 -1.2 Td -[(by )-41(calling )-41(the)]TJ -/TT0 1 Tf -6.326 0 Td -(handle_request)Tj -/T1_1 1 Tf -8.691 0 Td -[(function )-41(\(Figur)]TJ -0.2915 Tc 6.714 0 Td -(e1)Tj -0 Tc 1.271 0 Td -[(7.31\). )-291(This)-292(function )-41(is )-41(similar )-41(to )-41(the)]TJ --23.002 -1.2 Td -[(earlier )-67(version )-67(\(Figur)]TJ -0.3171 Tc 9.462 0 Td -(e1)Tj -0 Tc 1.296 0 Td -[(7.22\). )-317(It)-317(calls )-67(the )-67(same )-67(function,)]TJ -/TT0 1 Tf -14.729 0 Td -(buf_args)Tj -/T1_1 1 Tf -5.117 0 Td -(\(Figur)Tj -0.3171 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.296 0 Td -[(7.23\), )-67(that)]TJ --34.616 -1.2 Td -(calls)Tj -/TT0 1 Tf -2.343 0 Td -(cli_args)Tj -/T1_1 1 Tf -5.193 0 Td -(\(Figur)Tj -0.3926 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.372 0 Td -[(7.24\), )-143(but )-143(since )-143(it )-143(r)8(uns )-143(fr)18(om )-143(a )-143(daemon )-143(pr)21(ocess, )-142(it )-142(logs )-142(err)17(or)]TJ --11.623 -1.2 Td -(messages instead of printing them on the standar)Tj -0.25 Tc 21.74 0 Td -(de)Tj -0 Tc 1.34 0 Td -[(rr)18(or)74(.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3060.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 296.4446 Tm -[(#include )-1800("opend.h")]TJ -0 -1.189 TD -[(#include )-1800()]TJ -0 -2.14 TD -(void)Tj -0 -1.189 TD -(handle_request\(char *buf, int nread, int clifd, uid_t uid\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(newfd;)]TJ -0 -2.14 TD -(if \(buf[nread-1] != 0\) {)Tj -2.4 -1.189 Td -(snprintf\(errmsg, MAXLINE-1,)Tj -1.2 -1.189 Td -("request from uid %d not null terminated: %*.*s\\n",)Tj -0 -1.189 TD -(uid, nread, nread, buf\);)Tj --1.2 -1.189 Td -(send_err\(clifd, -1, errmsg\);)Tj -T* -(return;)Tj --2.4 -1.189 Td -(})Tj -T* -(log_msg\("request: %s, from uid %d", buf, uid\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47499 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.6)]TJ -36.901 0 Td -[(Socket )-250(Options)]TJ -/T1_1 1 Tf -8.932 0 Td -(625)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(The)Tj -/T1_2 1 Tf -2.061 0 Td -(lenp)Tj -/T1_0 1 Tf -2.11 0 Td -[(ar)18(gument )-137(is )-137(a )-137(pointer )-137(to )-137(an )-137(integer)]TJ -0.6368 Tc 16.05 0 Td -(.B)Tj -0 Tc 1.498 0 Td -(efor)Tj -0.3868 Tc 1.735 0 Td -(ec)Tj -0 Tc 1.31 0 Td -(alling)Tj -/TT0 1 Tf -2.898 0 Td -(getsockopt)Tj -/T1_0 1 Tf -[(,)-387(we)-387(set )-137(the)]TJ --27.661 -1.2 Td -[(integer )-23(to )-23(the )-23(size )-23(of )-23(the )-23(buf)16(fer )-23(wher)]TJ -0.2733 Tc 16.191 0 Td -(et)Tj -0 Tc 1.078 0 Td -[(he )-23(option )-23(is )-23(to )-23(be )-23(copied.)-523(If )-23(the )-23(actual )-23(size )-23(of )-23(the)]TJ --17.269 -1.2 Td -[(option )-66(is )-66(gr)19(eater )-66(than )-66(this )-66(size, )-66(the )-66(option )-66(is )-66(silently )-66(tr)10(uncated. )-316(If)-315(the )-66(actual )-66(size )-66(of )-66(the)]TJ -0 -1.2 Td -[(option is less than this size, then the integer is updated with the actu\ al size on r)18(eturn.)]TJ -/TT1 1 Tf --3.6 -2.88 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(The )-117(function )-117(in )-117(Figur)]TJ -0.3671 Tc 9.738 0 Td -(e1)Tj -0 Tc 1.346 0 Td -[(6.12 )-117(fails )-117(to )-117(operate )-117(pr)18(operly )-117(when )-117(the )-117(server )-117(terminates )-117(and)]TJ --11.084 -1.2 Td -[(we )-80(try )-80(to )-80(r)18(estart )-80(it )-80(immediately)]TJ -0.5798 Tc 14.034 0 Td -(.N)Tj -0 Tc 1.661 0 Td -(ormally)Tj -0.3298 Tc 3.351 0 Td -(,t)Tj -0 Tc 0.906 0 Td -[(he )-80(implementation )-80(of )-80(TCP )-80(will )-80(pr)18(event )-80(us)]TJ --19.952 -1.2 Td -[(fr)18(om )-38(binding )-38(the )-38(same )-38(addr)18(ess )-38(until )-38(a )-38(timeout )-38(expir)18(es, )-38(which )-38(is )-38(usually )-38(on )-38(the )-38(or)18(der )-38(of)]TJ -0 -1.2 TD -[(several )-165(minutes.)-665(Luckily)]TJ -0.4152 Tc 11.292 0 Td -(,t)Tj -0 Tc 0.991 0 Td -(he)Tj -/TT0 1 Tf -1.476 0 Td -(SO_REUSEADDR)Tj -/T1_0 1 Tf -7.615 0 Td -[(socket )-165(option )-165(allows )-165(us )-165(to )-165(bypass )-165(this)]TJ --0.018 Tc -21.375 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(striction, as illustrated in Figur)Tj -0.25 Tc 13.592 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(6.22.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5250.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 515.4371 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(initserver\(int type, const struct sockaddr *addr, socklen_t alen,)Tj -1.2 -1.189 Td -(int qlen\))Tj --1.2 -1.189 Td -({)Tj -2.4 -1.189 Td -(int fd, err;)Tj -0 -1.189 TD -(int reuse = 1;)Tj -0 -2.14 TD -(if \(\(fd = socket\(addr->sa_family, type, 0\)\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -(if \(setsockopt\(fd, SOL_SOCKET, SO_REUSEADDR, &reuse,)Tj -1.2 -1.189 Td -(sizeof\(int\)\) < 0\))Tj -1.2 -1.189 Td -(goto errout;)Tj --2.4 -1.189 Td -(if \(bind\(fd, addr, alen\) < 0\))Tj -2.4 -1.189 Td -(goto errout;)Tj --2.4 -1.189 Td -(if \(type == SOCK_STREAM || type == SOCK_SEQPACKET\))Tj -2.4 -1.189 Td -(if \(listen\(fd, qlen\) < 0\))Tj -2.4 -1.189 Td -(goto errout;)Tj --4.8 -1.189 Td -(return\(fd\);)Tj --2.4 -2.14 Td -(errout:)Tj -2.4 -1.189 Td -(err = errno;)Tj -0 -1.189 TD -(close\(fd\);)Tj -T* -(errno = err;)Tj -T* -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2175.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 184.2748 201.4817 Tm -(Figure 16.22)Tj -/T1_0 1 Tf -6.195 0 Td -[(Initialize a socket endpoint for use by a server with addr)18(ess r)18(euse)]TJ --0.092 Tc 9.9982 0 0 9.9982 129.5769 177.486 Tm -[(To )-210(e)]TJ -0 Tc 1.822 0 Td -[(nable )-26(the)]TJ -/TT0 1 Tf -4.344 0 Td -(SO_REUSEADDR)Tj -/T1_0 1 Tf -7.476 0 Td -[(option, )-26(we )-26(set )-26(an )-26(integer )-26(to )-26(a )-26(nonzer)]TJ -0.2758 Tc 16.243 0 Td -(ov)Tj -0 Tc 1.387 0 Td -[(alue )-26(and )-26(pass )-26(the)]TJ --31.271 -1.2 Td -[(addr)18(ess )-56(of )-56(the )-56(integer )-56(as )-56(the)]TJ -/T1_2 1 Tf -12.945 0 Td -(val)Tj -/T1_0 1 Tf -1.528 0 Td -[(ar)18(gument )-56(to)]TJ -/TT0 1 Tf -5.789 0 Td -(setsockopt)Tj -/T1_0 1 Tf -0.5557 Tc (.W)Tj -0.3057 Tc 7.714 0 Td -(es)Tj -0 Tc 1.209 0 Td -[(et )-56(the)]TJ -/T1_2 1 Tf -2.803 0 Td -(len)Tj -/T1_0 1 Tf -1.529 0 Td -[(ar)18(gument )-56(to)]TJ --33.516 -1.2 Td -(the size of an integer to indicate the size of the object to which)Tj -/T1_2 1 Tf -27.58 0 Td -(val)Tj -/T1_0 1 Tf -1.472 0 Td -(points.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1535.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47500 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(650)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -[(msg.msg_name )-1800(=)-600(NULL;)]TJ -0 -1.189 TD -(msg.msg_namelen = 0;)Tj -T* -(msg.msg_flags = 0;)Tj -T* -(if \(fd_to_send < 0\) {)Tj -2.4 -1.189 Td -[(msg.msg_control )-1800(=)-600(NULL;)]TJ -0 -1.189 TD -(msg.msg_controllen = 0;)Tj -0 -1.189 TD -[(buf[1] = -fd_to_send;)-1800(/* nonzero status means error */)]TJ -T* -(if \(buf[1] == 0\))Tj -2.4 -1.189 Td -(buf[1] = 1; /* -256, etc. would screw up protocol */)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(if \(cmptr == NULL && \(cmptr = malloc\(CONTROLLEN\)\) == NULL\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -[(msg.msg_control )-1800(=)-600(cmptr;)]TJ -T* -(msg.msg_controllen = CONTROLLEN;)Tj -0 -1.189 TD -(cmp = cmptr;)Tj -0 -1.189 TD -[(cmp->cmsg_level )-600(=)-600(SOL_SOCKET;)]TJ -T* -[(cmp->cmsg_type )-1200(=)-600(SCM_RIGHTS;)]TJ -T* -[(cmp->cmsg_len )-1800(=)-600(RIGHTSLEN;)]TJ -T* -[(*\(int *\)CMSG_DATA\(cmp\) = fd_to_send;)-2400(/* the fd to pass */)]TJ -T* -(cmp = CMSG_NXTHDR\(&msg, cmp\);)Tj -T* -[(cmp->cmsg_level )-600(=)-600(SOL_SOCKET;)]TJ -T* -[(cmp->cmsg_type )-1200(=)-600(SCM_CREDTYPE;)]TJ -T* -[(cmp->cmsg_len )-1800(=)-600(CREDSLEN;)]TJ -0 -1.189 TD -(credp = \(struct CREDSTRUCT *\)CMSG_DATA\(cmp\);)Tj --4.8 -1.189 Td -(#if defined\(SCM_CREDENTIALS\))Tj -4.8 -1.189 Td -(credp->uid = geteuid\(\);)Tj -0 -1.189 TD -(credp->gid = getegid\(\);)Tj -T* -(credp->pid = getpid\(\);)Tj --4.8 -1.189 Td -(#endif)Tj -4.8 -1.189 Td -[(buf[1] = 0;)-3000(/* zero status means OK */)]TJ --2.4 -1.189 Td -(})Tj -T* -(buf[0] = 0;)Tj -12 0 Td -(/* null byte flag to recv_ufd\(\) */)Tj --12 -1.189 Td -(if \(sendmsg\(fd, &msg, 0\) != 2\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2910.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 216.234 274.966 Tm -(Figure 17.15)Tj -/T1_1 1 Tf -6.195 0 Td -[(Sending cr)18(edentials over UNIX domain sockets)]TJ -9.9988 0 0 9.9988 129.5846 254.5684 Tm -[(Note that we need to initialize the cr)18(edentials str)8(uctur)]TJ -0.25 Tc 23.775 0 Td -(eo)Tj -0 Tc 1.275 0 Td -(nly on Linux.)Tj --23.25 -1.2 Td -[(The )-110(function )-110(in )-110(Figur)]TJ -0.3596 Tc 9.716 0 Td -(e1)Tj -0 Tc 1.339 0 Td -[(7.16 )-110(is )-110(a )-110(modi\336ed )-110(version )-110(of)]TJ -/TT0 1 Tf -13.31 0 Td -(recv_fd)Tj -/T1_1 1 Tf -0.3597 Tc (,c)Tj -0 Tc 5.254 0 Td -(alled)Tj -/TT0 1 Tf -2.532 0 Td -(recv_ufd)Tj -/T1_1 1 Tf -(,)Tj --33.95 -1.2 Td -[(that r)18(eturns the user ID of the sender thr)18(ough a r)18(efer)18(ence parameter)74(.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2234.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 213.8595 Tm -(#include "apue.h")Tj -T* -[(#include )-3000(/* struct msghdr */)]TJ -T* -(#include )Tj -0 -1.783 TD -(#if defined\(SCM_CREDS\))Tj -19.2 0 Td -(/* BSD interface */)Tj --19.2 -1.189 Td -[(#define CREDSTRUCT)-3600(cmsgcred)]TJ -0 -1.189 TD -(#define CR_UID)Tj -14.4 0 Td -(cmcred_uid)Tj --14.4 -1.189 Td -[(#define SCM_CREDTYPE)-2400(SCM_CREDS)]TJ -T* -[(#elif defined\(SCM_CREDENTIALS\))-1200(/* Linux interface */)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47501 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(646)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(/* size of control buffer to send/recv one file descriptor */)Tj -0 -1.189 TD -[(#define CONTROLLEN)-1200(CMSG_LEN\(sizeof\(int\)\))]TJ -0 -2.021 TD -[(static struct cmsghdr)-1800(*cmptr = NULL;)-1200(/* malloc\325ed first time */)]TJ -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(ass a file descriptor to another process.)Tj --1.8 -1.189 Td -[(*)-600(If)-600(fd<0, then -fd is sent back instead as the error status.)]TJ -0 -1.189 TD -(*/)Tj --0.6 -1.189 Td -(int)Tj -T* -(send_fd\(int fd, int fd_to_send\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct iovec)-2400(iov[1];)]TJ -T* -[(struct msghdr)-1800(msg;)]TJ -T* -(char )Tj -9.6 0 Td -[(buf[2];)-600(/* send_fd\(\)/recv_fd\(\) 2-byte protocol */)]TJ --9.6 -2.021 Td -(iov[0].iov_base = buf;)Tj -T* -[(iov[0].iov_len )-600(=)-600(2;)]TJ -T* -[(msg.msg_iov )-2400(=)-600(iov;)]TJ -0 -1.189 TD -[(msg.msg_iovlen )-600(=)-600(1;)]TJ -0 -1.189 TD -[(msg.msg_name )-1800(=)-600(NULL;)]TJ -T* -(msg.msg_namelen = 0;)Tj -0 -2.021 TD -(if \(fd_to_send < 0\) {)Tj -2.4 -1.189 Td -[(msg.msg_control )-1800(=)-600(NULL;)]TJ -0 -1.189 TD -(msg.msg_controllen = 0;)Tj -0 -1.189 TD -[(buf[1] = -fd_to_send;)-1800(/* nonzero status means error */)]TJ -0 -1.189 TD -(if \(buf[1] == 0\))Tj -2.4 -1.189 Td -(buf[1] = 1; /* -256, etc. would screw up protocol */)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(if \(cmptr == NULL && \(cmptr = malloc\(CONTROLLEN\)\) == NULL\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -[(cmptr->cmsg_level )-600(=)-600(SOL_SOCKET;)]TJ -0 -1.189 TD -[(cmptr->cmsg_type )-1200(=)-600(SCM_RIGHTS;)]TJ -0 -1.189 TD -[(cmptr->cmsg_len )-1800(=)-600(CONTROLLEN;)]TJ -0 -1.189 TD -[(msg.msg_control )-1800(=)-600(cmptr;)]TJ -0 -1.189 TD -(msg.msg_controllen = CONTROLLEN;)Tj -0 -1.189 TD -[(*\(int *\)CMSG_DATA\(cmptr\) = fd_to_send;)-3600(/* the fd to pass */)]TJ -0 -1.189 TD -[(buf[1] = 0;)-3000(/* zero status means OK */)]TJ --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(buf[0] = 0;)Tj -12 0 Td -(/* null byte flag to recv_fd\(\) */)Tj --12 -1.189 Td -(if \(sendmsg\(fd, &msg, 0\) != 2\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1603.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 206.5992 144.3407 Tm -(Figure 17.13)Tj -/T1_1 1 Tf -6.195 0 Td -(Sending a \336le descriptor over a UNIX domain socket)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47502 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(624)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -(an set a socket option with the)Tj -/TT0 1 Tf -13.648 0 Td -(setsockopt)Tj -/T1_1 1 Tf -6.25 0 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5913 652.2609 Tm -(#include )Tj -0 -1.902 TD -(int setsockopt\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.262 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(level)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.634 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(option)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.355 0 Td -(onst void *)Tj -/T1_2 1 Tf -(val)Tj -/TT0 1 Tf -(,)Tj --18.251 -1.189 Td -(socklen_t)Tj -/T1_2 1 Tf -6 0 Td -(len)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -11.851 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6028.25 cm -0 0 m -0 585 l -3900 585 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 589.2893 Tm -(The)Tj -/T1_2 1 Tf -1.961 0 Td -(level)Tj -/T1_1 1 Tf -2.121 0 Td -[(ar)18(gument )-37(identi\336es )-37(the )-37(pr)18(otocol )-37(to )-37(which )-37(the )-37(option )-37(applies.)-537(If )-37(the )-37(option )-37(is )-37(a)]TJ --4.081 -1.2 Td -[(generic )-119(socket-level )-119(option, )-119(then)]TJ -/T1_2 1 Tf -15.028 0 Td -(level)Tj -/T1_1 1 Tf -2.204 0 Td -[(is )-119(set )-119(to)]TJ -/TT0 1 Tf -3.924 0 Td -(SOL_SOCKET)Tj -/T1_1 1 Tf -0.6196 Tc (.O)Tj -0 Tc 7.656 0 Td -(therwise,)Tj -/T1_2 1 Tf -4.43 0 Td -(level)Tj -/T1_1 1 Tf -2.204 0 Td -[(is )-120(set )-120(to)]TJ --35.445 -1.2 Td -[(the )-133(number )-133(of )-133(the )-133(pr)18(otocol )-133(that )-133(contr)18(ols )-133(the )-133(option.)-633(Examples )-133(ar)22(e)]TJ -/TT0 1 Tf -30.743 0 Td -(IPPROTO_TCP)Tj -/T1_1 1 Tf -6.982 0 Td -(for)Tj --37.726 -1.2 Td -[(TCP )-198(options )-198(and)]TJ -/TT0 1 Tf -8.279 0 Td -(IPPROTO_IP)Tj -/T1_1 1 Tf -6.448 0 Td -[(for )-198(IP )-198(options.)-698(Figur)]TJ -0.4479 Tc 9.758 0 Td -(e1)Tj -0 Tc 1.427 0 Td -[(6.21 )-198(summarizes )-198(the )-198(generic)]TJ --25.911 -1.2 Td -(socket-level options de\336ned by the Single UNIX Speci\336cation.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1321.25 5201.25 cm -0 0 m -3849 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 154.7801 512.0678 Tm -[(Option )-3584(T)90(ype of)]TJ -/T1_2 1 Tf -10.504 0 Td -(val)Tj -/T1_1 1 Tf -1.472 0 Td -[(ar)18(gument )]TJ -16.729 0 Td -(Description)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1321.25 5081.25 cm -0 0 m -3849 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1321.25 5061.25 cm -0 0 m -3849 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 136.1033 498.0405 Tm -[(SO_ACCEPTCONN )-900(int)]TJ -/T1_1 1 Tf -20.116 0 Td -(Return whether a socket is enabled for listening)Tj -1.35 -1.25 Td -(\()Tj -/TT0 1 Tf -(getsockopt)Tj -/T1_1 1 Tf -6.583 0 Td -(only\).)Tj -/TT0 1 Tf --28.049 -1.25 Td -[(SO_BROADCAST )-1500(int)]TJ -/T1_1 1 Tf -20.116 0 Td -[(Br)18(oadcast datagrams if)]TJ -/TT0 1 Tf -10.408 0 Td -(*val)Tj -/T1_1 1 Tf -2.65 0 Td -[(is nonzer)18(o.)]TJ -/TT0 1 Tf --33.174 -1.25 Td -[(SO_DEBUG )-3900(int)]TJ -/T1_1 1 Tf -20.116 0 Td -(Debugging in network drivers enabled if)Tj -/TT0 1 Tf -18.32 0 Td -(*val)Tj -/T1_1 1 Tf -2.65 0 Td -[(is nonzer)18(o.)]TJ -/TT0 1 Tf --41.086 -1.25 Td -[(SO_DONTROUTE )-1500(int)]TJ -/T1_1 1 Tf -20.116 0 Td -[(Bypass normal r)18(outing if)]TJ -/TT0 1 Tf -11.218 0 Td -(*val)Tj -/T1_1 1 Tf -2.65 0 Td -[(is nonzer)18(o.)]TJ -/TT0 1 Tf --33.984 -1.25 Td -[(SO_ERROR )-3900(int)]TJ -/T1_1 1 Tf -20.116 0 Td -[(Return and clear pending socket err)18(or \()]TJ -/TT0 1 Tf -(getsockopt)Tj -/T1_1 1 Tf -23.607 0 Td -(only\).)Tj -/TT0 1 Tf --43.723 -1.25 Td -[(SO_KEEPALIVE )-1500(int)]TJ -/T1_1 1 Tf -20.116 0 Td -(Periodic keep-alive messages enabled if)Tj -/TT0 1 Tf -17.773 0 Td -(*val)Tj -/T1_1 1 Tf -2.65 0 Td -[(is nonzer)18(o.)]TJ -/TT0 1 Tf --40.539 -1.25 Td -[(SO_LINGER )-3300(struct)-600(linger)]TJ -/T1_1 1 Tf -20.116 0 Td -(Delay time when unsent messages exist and socket is closed.)Tj -/TT0 1 Tf --20.116 -1.25 Td -[(SO_OOBINLINE )-1500(int)]TJ -/T1_1 1 Tf -20.116 0 Td -(Out-of-band data placed inline with normal data if)Tj -/TT0 1 Tf -22.676 0 Td -(*val)Tj -/T1_1 1 Tf -2.65 0 Td -(is)Tj --23.976 -1.25 Td -[(nonzer)18(o.)]TJ -/TT0 1 Tf --21.466 -1.25 Td -[(SO_RCVBUF )-3300(int)]TJ -/T1_1 1 Tf -20.116 0 Td -[(The size in bytes of the r)18(eceive buf)18(fer)74(.)]TJ -/TT0 1 Tf --20.116 -1.25 Td -[(SO_RCVLOWAT )-2100(int)]TJ -/T1_1 1 Tf -20.116 0 Td -[(The minimum amount of data in bytes to r)18(eturn on a r)18(eceive)]TJ -1.35 -1.25 Td -(call.)Tj -/TT0 1 Tf --21.466 -1.25 Td -[(SO_RCVTIMEO )-2100(struct)-600(timeval)]TJ -/T1_1 1 Tf -20.116 0 Td -[(The timeout value for a socket r)18(eceive call.)]TJ -/TT0 1 Tf --20.116 -1.25 Td -[(SO_REUSEADDR )-1500(int)]TJ -/T1_1 1 Tf -20.116 0 Td -[(Reuse addr)18(esses in)]TJ -/TT0 1 Tf -8.605 0 Td -(bind)Tj -/T1_1 1 Tf -2.65 0 Td -(if)Tj -/TT0 1 Tf -0.874 0 Td -(*val)Tj -/T1_1 1 Tf -2.65 0 Td -[(is nonzer)18(o.)]TJ -/TT0 1 Tf --34.895 -1.25 Td -[(SO_SNDBUF )-3300(int)]TJ -/T1_1 1 Tf -20.116 0 Td -[(The size in bytes of the send buf)18(fer)74(.)]TJ -/TT0 1 Tf --20.116 -1.25 Td -[(SO_SNDLOWAT )-2100(int)]TJ -/T1_1 1 Tf -20.116 0 Td -(The minimum amount of data in bytes to transmit in a send)Tj -1.35 -1.25 Td -(call.)Tj -/TT0 1 Tf --21.466 -1.25 Td -[(SO_SNDTIMEO )-2100(struct)-600(timeval)]TJ -/T1_1 1 Tf -20.116 0 Td -(The timeout value for a socket send call.)Tj -/TT0 1 Tf --20.116 -1.25 Td -[(SO_TYPE )-4500(int)]TJ -/T1_1 1 Tf -20.116 0 Td -(Identify the socket type \()Tj -/TT0 1 Tf -(getsockopt)Tj -/T1_1 1 Tf -17.222 0 Td -(only\).)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1321.25 3041.25 cm -0 0 m -3849 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2910.25 3041.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2045.25 3041.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5170.25 3041.25 cm -0 0 m -0 2160 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1321.25 3041.25 cm -0 0 m -0 2160 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 273.9698 286.0742 Tm -(Figure 16.21)Tj -/T1_1 1 Tf -6.195 0 Td -(Socket options)Tj -9.997 0 0 9.997 147.5559 259.6821 Tm -(The)Tj -/T1_2 1 Tf -1.974 0 Td -(val)Tj -/T1_1 1 Tf -1.521 0 Td -[(ar)18(gument )-50(points )-50(to )-50(a )-50(data )-50(str)10(uctur)18(e)-300(or)-300(an)-300(i)1(nteger)]TJ -0.2996 Tc 21.808 0 Td -(,d)Tj -0 Tc 1.161 0 Td -[(epending )-50(on )-50(the )-50(option.)]TJ --28.263 -1.2 Td -[(Some )-51(options )-51(ar)]TJ -0.301 Tc 7.228 0 Td -(eo)Tj -0 Tc 1.326 0 Td -(n/of)Tj -0.301 Tc 2.049 0 Td -(fs)Tj -0 Tc 1.058 0 Td -[(witches. )-301(If)-301(the )-51(integer )-51(is )-51(nonzer)18(o, )-51(then )-51(the )-51(option )-51(is )-51(enabled.)]TJ --11.661 -1.2 Td -[(If )-52(the )-52(integer )-52(is )-52(zer)18(o, )-52(then )-52(the )-52(option )-52(is )-52(disabled.)-553(The)]TJ -/T1_2 1 Tf -24.253 0 Td -(len)Tj -/T1_1 1 Tf -1.525 0 Td -[(ar)18(gument )-52(speci\336es )-52(the )-52(size )-52(of)]TJ --25.778 -1.2 Td -(the object to which)Tj -/T1_2 1 Tf -8.574 0 Td -(val)Tj -/T1_1 1 Tf -1.472 0 Td -(points.)Tj --0.092 Tc -8.246 -1.2 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -[(an \336nd out the curr)18(ent value of an option with the)]TJ -/TT0 1 Tf -22.409 0 Td -(getsockopt)Tj -/T1_1 1 Tf -6.25 0 Td -(function.)Tj -/TT0 1 Tf -8.9973 0 0 8.9973 147.5567 195.0015 Tm -(#include )Tj -0 -1.902 TD -(int getsockopt\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.262 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(level)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.634 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(option)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.355 0 Td -(oid *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(val)Tj -/TT0 1 Tf -(,)Tj --26.651 -1.189 Td -(socklen_t *restrict)Tj -/T1_2 1 Tf -12 0 Td -(lenp)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -5.851 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1456.25 cm -0 0 m -0 584 l -3900 584 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47503 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(799)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(The next \336le is the)Tj -/TT0 1 Tf -8.304 0 Td -(print.h)Tj -/T1_0 1 Tf -4.45 0 Td -[(header)74(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6570.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -1.8 Tc 8.9989 0 0 8.9989 134.9838 647.4213 Tm -(1#)Tj -0 Tc 3 0 Td -(ifndef _PRINT_H)Tj -1.8 Tc -3 -1.189 Td -(2#)Tj -0 Tc 3 0 Td -(define _PRINT_H)Tj -1.8 Tc -3 -2.021 Td -(3/)Tj -0 Tc 3 0 Td -(*)Tj -2.4 Tc -3 -1.189 Td -(4*)Tj -0 Tc 4.2 0 Td -(Print server header file.)Tj -2.4 Tc -4.2 -1.189 Td -(5*)Tj -0 Tc 3.6 0 Td -(/)Tj -1.8 Tc -3.6 -1.189 Td -(6#)Tj -0 Tc 3 0 Td -(include )Tj -1.8 Tc -3 -1.189 Td -(7#)Tj -0 Tc 3 0 Td -(include )Tj -1.8 Tc -3 -1.189 Td -(8#)Tj -0 Tc 3 0 Td -(include )Tj -1.8 Tc -3 -1.189 Td -(9#)Tj -0 Tc 3 0 Td -(include )Tj --3.6 -2.021 Td -[(10 )-1200(#define)-600(CONFIG_FILE )-1800("/etc/printer.conf")]TJ -0 -1.189 TD -[(11 )-1200(#define)-600(SPOOLDIR )-3600("/var/spool/printer")]TJ -T* -[(12 )-1200(#define)-600(JOBFILE )-4200("jobno")]TJ -T* -[(13 )-1200(#define)-600(DATADIR )-4200("data")]TJ -T* -[(14 )-1200(#define)-600(REQDIR )-4800("reqs")]TJ -0 -2.021 TD -[(15 )-1200(#if)-600(defined\(BSD\))]TJ -0 -1.189 TD -[(16 )-1200(#define)-600(LPNAME )-4800("daemon")]TJ -T* -[(17 )-1200(#elif)-600(defined\(MACOS\))]TJ -T* -[(18 )-1200(#define)-600(LPNAME )-4800("_lp")]TJ -T* -[(19 )-1200(#else)]TJ -T* -[(20 )-1200(#define)-600(LPNAME )-4800("lp")]TJ -T* -[(21 )-1200(#endif)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4062.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 382.1592 Tm -[([1 )167(\320 )167(9])]TJ --0.092 Tc 4 0 Td -[(We )-321(i)]TJ -0 Tc 2.065 0 Td -[(nclude )-137(all )-137(header )-137(\336les )-137(that )-137(an )-137(application )-137(might )-137(need )-137(if )-137(it )-137(included )-137(this)]TJ --2.065 -1.2 Td -(header)Tj -0.8148 Tc 2.972 0 Td -(.T)Tj -0 Tc 1.678 0 Td -[(his )-315(makes )-315(it )-315(easy )-315(for )-315(applications )-315(to )-315(include)]TJ -/TT0 1 Tf -22.077 0 Td -(print.h)Tj -/T1_0 1 Tf -4.765 0 Td -(without)Tj --31.492 -1.2 Td -(having to track down all the header dependencies.)Tj --4 -1.72 Td -[([10 )167(\320 )167(14])]TJ --0.092 Tc 4 0 Td -[(We )-278(d)]TJ -0 Tc 2.342 0 Td -[(e\336ne )-94(the )-94(\336les )-94(and )-94(dir)18(ectories )-94(for )-94(the )-94(implementation.)-594(The )-94(con\336guration)]TJ --2.342 -1.2 Td -[(\336le )-381(containing )-381(the )-381(host )-381(names )-381(of )-381(the )-381(printer )-381(spooling )-381(daemon )-381(and )-381(the)]TJ -0 -1.2 TD -[(network-attached )-159(printer )-159(is)]TJ -/TT0 1 Tf -12.829 0 Td -(/etc/printer.conf)Tj -/T1_0 1 Tf -0.6587 Tc (.C)Tj -0 Tc 11.818 0 Td -[(opies )-159(of )-159(the )-159(\336les )-159(to )-159(be)]TJ --24.646 -1.2 Td -[(printed )-304(will )-304(be )-304(stor)18(ed )-304(in )-304(the )-304(dir)16(ectory)]TJ -/TT0 1 Tf -18.953 0 Td -(/var/spool/printer/data)Tj -/T1_0 1 Tf -14.354 0 Td -(and)Tj --33.307 -1.2 Td -[(contr)18(ol )-580(information )-580(for )-580(each )-580(r)18(equest )-580(will )-580(be )-580(stor)18(ed )-580(in )-580(the )-580(dir)19(ectory)]TJ -/TT0 1 Tf -T* -(/var/spool/printer/reqs)Tj -/T1_0 1 Tf -0.7648 Tc (.T)Tj -0 Tc 15.428 0 Td -[(he )-265(\336le )-265(containing )-265(the )-265(next )-265(job )-265(number )-265(is)]TJ -/TT0 1 Tf --15.428 -1.2 Td -(/var/spool/printer/jobno)Tj -/T1_0 1 Tf -(.)Tj -0 -1.8 TD -[(The )-8(dir)18(ectories )-8(must )-8(be )-8(cr)18(eated )-8(by )-8(an )-8(administrator )-8(and )-8(be )-8(owned )-8(by )-8(the )-8(same)]TJ -0 -1.2 TD -[(user )-209(account )-209(under )-209(which )-209(the )-209(printer )-209(spooling )-209(daemon )-209(r)11(uns. )-459(The)-458(daemon)]TJ -T* -[(won\325t )-172(try )-172(to )-172(cr)18(eate )-172(these )-172(dir)20(ectories )-172(if )-172(they )-172(don\325t )-172(exist, )-172(because )-172(the )-172(daemon)]TJ -T* -[(would )-145(need )-145(r)18(oot )-145(privileges )-145(to )-145(cr)18(eate )-145(dir)18(ectories )-145(in)]TJ -/TT0 1 Tf -23.379 0 Td -(/var/spool)Tj -/T1_0 1 Tf -0.6454 Tc (.W)Tj -0.3954 Tc 7.803 0 Td -(ed)Tj -0 Tc 1.485 0 Td -(esign)Tj --32.668 -1.2 Td -[(the )-127(daemon )-127(to )-127(do )-127(as )-127(little )-127(as )-127(possible )-127(while )-127(r)8(unning )-127(as )-127(r)14(oot )-127(to )-127(minimize )-127(the)]TJ -T* -[(chance of cr)18(eating a security hole.)]TJ --4 -1.72 Td -[([15 )167(\320 )167(21])-668(Next, )-110(we )-110(de\336ne )-110(the )-110(account )-110(name )-110(under )-110(which )-110(the )-110(printer )-110(spooling )-110(daemon)]TJ -4 -1.2 Td -[(will )-114(r)8(un. )-364(On)-364(Linux )-114(and )-114(Solaris, )-114(this )-114(name )-114(is)]TJ -/TT0 1 Tf -20.721 0 Td -(lp)Tj -/T1_0 1 Tf -0.6138 Tc (.O)Tj -0.3638 Tc 2.85 0 Td -(nM)Tj -0 Tc 1.892 0 Td -[(ac )-114(OS )-114(X, )-114(the )-114(name )-114(is)]TJ -/TT0 1 Tf --25.463 -1.2 Td -(_lp)Tj -/T1_0 1 Tf -0.7712 Tc (.F)Tj --0.018 Tc 3.377 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD, )-271(however)]TJ -0.5212 Tc 6.966 0 Td -(,d)Tj -0 Tc 1.382 0 Td -[(oesn\325t )-271(de\336ne )-271(a )-271(separate )-271(account )-271(for )-271(the )-271(printer)]TJ --12.582 -1.2 Td -[(spooling daemon, so we use the account r)18(eserved for system daemons.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47504 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.2)]TJ -39.439 0 Td -(Overview)Tj -/T1_1 1 Tf -6.394 0 Td -(675)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Figur)18(es )-11(18.3 )-11(thr)18(ough )-11(18.6\).)-511(The )-11(handling )-11(of )-11(terminal )-11(devices )-11(is )-11(complicated )-11(by )-11(the )-11(lar)20(ge)]TJ -0 -1.2 Td -[(number )-357(of )-357(options )-357(available )-357(for )-357(terminal )-357(devices )-357(and )-357(the )-357(challenge )-357(of )-357(trying )-357(to)]TJ -0 -1.2 TD -[(determine )-71(which )-71(options )-71(ar)]TJ -0.321 Tc 12.414 0 Td -(er)Tj -0 Tc 1.177 0 Td -[(equir)18(ed )-71(for )-71(a )-71(particular )-71(device )-71(\(be )-71(it )-71(a )-71(terminal, )-71(modem,)]TJ --13.591 -1.2 Td -[(printer)74(,)-250(or)-250(whatever\).)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1403.25 6070.25 cm -0 0 m -3685 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 382.8421 598.9281 Tm -[(Fr)18(eeBSD )-250(Linux )-250(Mac)-250(OS X)-500(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-1827(3.2.0)-1735(10.6.8 )-2170(10)]TJ --29.043 0.625 Td -(Flag)Tj -10.698 0 Td -(Description)Tj -11.9 0 Td -(POSIX.1)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1403.25 5850.25 cm -0 0 m -3685 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1403.25 5830.25 cm -0 0 m -3685 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 144.334 574.8965 Tm -(CBAUDEXT)Tj -/T1_0 1 Tf -7.5 0 Td -(extended baud rate)Tj -35.771 0 Td -(\245)Tj -/TT0 1 Tf --43.271 -1.25 Td -(CCAR_OFLOW)Tj -/T1_0 1 Tf -7.5 0 Td -[(DCD \337ow contr)18(ol of output)]TJ -7.0815 Tc 23.913 0 Td -(\245\245)Tj -/TT0 1 Tf -0 Tc -31.413 -1.25 Td -(CCTS_OFLOW)Tj -/T1_0 1 Tf -7.5 0 Td -[(CTS \337ow contr)18(ol of output)]TJ -7.0815 Tc 23.913 0 Td -(\245\245)Tj -0 Tc 11.858 0 Td -(\245)Tj -/TT0 1 Tf --43.271 -1.25 Td -(CDSR_OFLOW)Tj -/T1_0 1 Tf -7.5 0 Td -[(DSR \337ow contr)18(ol of output)]TJ -7.0815 Tc 23.913 0 Td -(\245\245)Tj -/TT0 1 Tf -0 Tc -31.414 -1.25 Td -(CDTR_IFLOW)Tj -/T1_0 1 Tf -7.5 0 Td -[(DTR \337ow contr)18(ol of input)]TJ -7.0815 Tc 23.913 0 Td -(\245\245)Tj -/TT0 1 Tf -0 Tc -31.414 -1.25 Td -(CIBAUDEXT)Tj -/T1_0 1 Tf -7.5 0 Td -(extended input baud rate)Tj -35.771 0 Td -(\245)Tj -/TT0 1 Tf --43.271 -1.25 Td -(CIGNORE)Tj -/T1_0 1 Tf -7.5 0 Td -(ignor)Tj -0.25 Tc 2.352 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(ontr)18(ol \337ags)]TJ -7.0815 Tc 20.388 0 Td -(\245\245)Tj -/TT0 1 Tf -0 Tc -31.414 -1.25 Td -(CLOCAL)Tj -/T1_0 1 Tf -7.5 0 Td -(ignor)Tj -0.25 Tc 2.352 0 Td -(em)Tj -0 Tc 1.612 0 Td -(odem status lines)Tj -4.629 Tc 14.714 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -/TT0 1 Tf -0 Tc -35.115 -1.25 Td -(CMSPAR)Tj -/T1_0 1 Tf -7.5 0 Td -(mark or space parity)Tj -27.615 0 Td -(\245)Tj -/TT0 1 Tf --35.115 -1.25 Td -(CREAD)Tj -/T1_0 1 Tf -7.5 0 Td -[(enable r)18(eceiver )]TJ -18.678 0 Td -(\245)Tj -3.096 Tc 5.235 0 Td -[(\245\245 )3063(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj -/TT0 1 Tf --43.271 -1.25 Td -(CRTSCTS)Tj -/T1_0 1 Tf -7.5 0 Td -[(enable har)18(dwar)]TJ -0.25 Tc 6.915 0 Td -(e\337)Tj -0 Tc 1.337 0 Td -[(ow contr)18(ol )]TJ -15.661 0 Td -(\245)Tj -3.3795 Tc 3.703 0 Td -[(\245\245 )3445(\245)]TJ -/TT0 1 Tf -0 Tc -35.115 -1.25 Td -(CRTS_IFLOW)Tj -/T1_0 1 Tf --0.037 Tc 7.5 0 Td -(RT)Tj -0.25 Tc 1.244 0 Td -(S\337)Tj -0 Tc 1.383 0 Td -[(ow contr)18(ol of input)]TJ -7.0815 Tc 21.286 0 Td -(\245\245)Tj -0 Tc 11.858 0 Td -(\245)Tj -/TT0 1 Tf --43.271 -1.25 Td -(CRTSXOFF)Tj -/T1_0 1 Tf -7.5 0 Td -[(enable input har)18(dwar)]TJ -0.25 Tc 9.568 0 Td -(e\337)Tj -0 Tc 1.337 0 Td -[(ow contr)18(ol )]TJ -24.866 0 Td -(\245)Tj -/TT0 1 Tf --43.271 -1.25 Td -(CSIZE)Tj -/T1_0 1 Tf -7.5 0 Td -(character size mask)Tj -4.629 Tc 18.678 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -/TT0 1 Tf -0 Tc -35.115 -1.25 Td -(CSTOPB)Tj -/T1_0 1 Tf -7.5 0 Td -(send two stop bits, else one)Tj -4.629 Tc 18.678 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -/TT0 1 Tf -0 Tc -35.115 -1.25 Td -(HUPCL)Tj -/T1_0 1 Tf -7.5 0 Td -(hang up on last close)Tj -4.629 Tc 18.678 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -/TT0 1 Tf -0 Tc -35.115 -1.25 Td -(MDMBUF)Tj -/T1_0 1 Tf -7.5 0 Td -(same as)Tj -/TT0 1 Tf -3.71 0 Td -(CCAR_OFLOW)Tj -/T1_0 1 Tf -7.0815 Tc 20.203 0 Td -(\245\245)Tj -/TT0 1 Tf -0 Tc -31.413 -1.25 Td -(PARENB)Tj -/T1_0 1 Tf -7.5 0 Td -(parity enable)Tj -4.629 Tc 18.678 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -/TT0 1 Tf -0 Tc -35.115 -1.25 Td -(PAREXT)Tj -/T1_0 1 Tf -7.5 0 Td -(mark or space parity)Tj -35.771 0 Td -(\245)Tj -/TT0 1 Tf --43.271 -1.25 Td -(PARODD)Tj -/T1_0 1 Tf -7.5 0 Td -(odd parity)Tj -0.25 Tc 4.576 0 Td -(,e)Tj -0 Tc 0.979 0 Td -(lse even)Tj -4.629 Tc 13.123 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1403.25 3810.25 cm -0 0 m -3685 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3769.25 3810.25 cm -0 0 m -0 2260 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3355.25 3810.25 cm -0 0 m -0 2260 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1983.25 3810.25 cm -0 0 m -0 2260 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5088.25 3810.25 cm -0 0 m -0 2260 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1403.25 3810.25 cm -0 0 m -0 2260 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 7.9981 0 0 7.9981 259.6177 362.9129 Tm -(Figure 18.3)Tj -/TT0 1 Tf -5.695 0 Td -(c_cflag)Tj -/T1_0 1 Tf -4.45 0 Td -(terminal \337ags)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1423.25 3310.25 cm -0 0 m -3646 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 380.8457 322.9031 Tm -[(Fr)18(eeBSD )-250(Linux )-250(Mac)-250(OS X)-500(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-1827(3.2.0)-1735(10.6.8 )-2170(10)]TJ --29.461 0.625 Td -(Flag)Tj -10.457 0 Td -(Description)Tj -12.559 0 Td -(POSIX.1)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1423.25 3090.25 cm -0 0 m -3646 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1423.25 3070.25 cm -0 0 m -3646 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 146.2353 298.8924 Tm -(BRKINT)Tj -/T1_0 1 Tf -5.7 0 Td -(generate)Tj -/TT0 1 Tf -4.046 0 Td -(SIGINT)Tj -/T1_0 1 Tf -3.85 0 Td -(on BREAK)Tj -4.629 Tc 12.1 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -/TT0 1 Tf -0 Tc -34.634 -1.25 Td -(ICRNL)Tj -/T1_0 1 Tf -5.7 0 Td -(map CR to NL on input)Tj -4.629 Tc 19.996 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -/TT0 1 Tf -0 Tc -34.634 -1.25 Td -(IGNBRK)Tj -/T1_0 1 Tf -5.7 0 Td -(ignor)Tj -0.25 Tc 2.352 0 Td -(eB)Tj -0 Tc 1.34 0 Td -(REAK condition)Tj -4.629 Tc 16.304 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -/TT0 1 Tf -0 Tc -34.634 -1.25 Td -(IGNCR)Tj -/T1_0 1 Tf -5.7 0 Td -(ignor)Tj -0.25 Tc 2.352 0 Td -(eC)Tj -15.5385 Tc 1.438 0 Td -(R\245)Tj -3.096 Tc 21.442 0 Td -[(\245\245 )3063(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj -/TT0 1 Tf --42.789 -1.25 Td -(IGNPAR)Tj -/T1_0 1 Tf -5.7 0 Td -(ignor)Tj -0.25 Tc 2.352 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(haracters with parity err)18(ors )-4108(\245)]TJ -3.096 Tc 21.706 0 Td -[(\245\245 )3063(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj -/TT0 1 Tf --42.789 -1.25 Td -(IMAXBEL)Tj -/T1_0 1 Tf -5.7 0 Td -(ring bell on input queue full)Tj -3.096 Tc 25.231 0 Td -[(\245\245 )3063(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj -/TT0 1 Tf --42.789 -1.25 Td -(INLCR)Tj -/T1_0 1 Tf -5.7 0 Td -(map NL to CR on input)Tj -4.629 Tc 19.996 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -/TT0 1 Tf -0 Tc -34.634 -1.25 Td -(INPCK)Tj -/T1_0 1 Tf -5.7 0 Td -(enable input parity checking)Tj -4.629 Tc 19.996 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -/TT0 1 Tf -0 Tc -34.634 -1.25 Td -(ISTRIP)Tj -/T1_0 1 Tf -5.7 0 Td -(strip eighth bit of)Tj -0.25 Tc 7.634 0 Td -(fi)Tj -0 Tc 0.874 0 Td -(nput characters)Tj -4.629 Tc 11.488 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -/TT0 1 Tf -0 Tc -34.634 -1.25 Td -(IUCLC)Tj -/T1_0 1 Tf -5.7 0 Td -[(map upper)18(case to lower)18(case on input)]TJ -7.5495 Tc 28.933 0 Td -(\245\245)Tj -/TT0 1 Tf -0 Tc -34.634 -1.25 Td -(IUTF8)Tj -/T1_0 1 Tf -5.7 0 Td -(input is UTF)Tj -5.565 0.09 Td -(-)Tj -22.5355 Tc 0.333 -0.09 Td -(8\245)Tj -0 Tc 27.021 0 Td -(\245)Tj -/TT0 1 Tf --38.619 -1.25 Td -(IXANY)Tj -/T1_0 1 Tf -5.7 0 Td -[(enable any characters to r)18(estart output)]TJ -4.629 Tc 19.996 0 Td -(\245\245)Tj -3.3795 Tc 8.937 0 Td -[(\245\245 )3445(\245)]TJ -/TT0 1 Tf -0 Tc -34.634 -1.25 Td -(IXOFF)Tj -/T1_0 1 Tf -5.7 0 Td -[(enable start/stop input \337ow contr)18(ol )-3885(\245)]TJ -3.096 Tc 25.232 0 Td -[(\245\245 )3063(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj -/TT0 1 Tf --42.789 -1.25 Td -(IXON)Tj -/T1_0 1 Tf -5.7 0 Td -[(enable start/stop output \337ow contr)18(ol )-3283(\245)]TJ -3.096 Tc 25.232 0 Td -[(\245\245 )3063(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj -/TT0 1 Tf --42.789 -1.25 Td -(PARMRK)Tj -/T1_0 1 Tf -5.7 0 Td -[(mark parity err)18(ors )]TJ -19.996 0 Td -(\245)Tj -3.096 Tc 5.235 0 Td -[(\245\245 )3063(\245)]TJ -0 Tc 11.858 0 Td -(\245)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1423.25 1550.25 cm -0 0 m -3646 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3749.25 1550.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3336.25 1550.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1859.25 1550.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5069.25 1550.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1423.25 1550.25 cm -0 0 m -0 1760 l -S -Q -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 259.571 136.9425 Tm -(Figure 18.4)Tj -/TT0 1 Tf -5.695 0 Td -(c_iflag)Tj -/T1_0 1 Tf -4.45 0 Td -(terminal \337ags)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47505 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.5)]TJ -37.602 0 Td -[(Data )-250(T)90(ransfer)]TJ -/T1_1 1 Tf -8.231 0 Td -(613)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(If )-9(we )-9(ar)]TJ -0.2594 Tc 3.379 0 Td -(ei)Tj -0 Tc 1.029 0 Td -[(nter)18(ested )-9(in )-9(the )-9(identity )-9(of )-9(the )-9(sender)]TJ -0.2594 Tc 16.523 0 Td -(,w)Tj -0.2595 Tc 1.343 0 Td -(ec)Tj -0 Tc 1.183 0 Td -[(an )-9(use)]TJ -/TT0 1 Tf -3.107 0 Td -(recvfrom)Tj -/T1_0 1 Tf -5.059 0 Td -[(to )-9(obtain )-9(the)]TJ --33.424 -1.2 Td -[(sour)18(ce addr)18(ess fr)18(om which the data was sent.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5907 637.8617 Tm -(#include )Tj -0 -2.14 TD -(ssize_t recvfrom\(int)Tj -/T1_2 1 Tf -12.6 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.262 0 Td -(oid *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(len)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.023 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT0 1 Tf -(,)Tj --26.582 -1.189 Td -(struct sockaddr *restrict)Tj -/T1_2 1 Tf -15.6 0 Td -(addr)Tj -/TT0 1 Tf -(,)Tj --15.6 -1.189 Td -(socklen_t *restrict)Tj -/T1_2 1 Tf -12 0 Td -(addrlen)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -1.255 -2.14 Td -(Returns: length of message in bytes,)Tj --15.335 -1.189 Td -[(0)-250(if)-250(no)-250(messages ar)]TJ -0.25 Tc 8.298 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(vailable and peer has done an or)18(derly shutdown,)]TJ -15.626 -1.189 Td -(or)Tj -/TT1 1 Tf -1.191 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5521.25 cm -0 0 m -0 948 l -3900 948 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 536.1157 Tm -(If)Tj -/T1_2 1 Tf -0.924 0 Td -(addr)Tj -/T1_0 1 Tf -2.087 0 Td -[(is )-4(non-null, )-4(it )-4(will )-4(contain )-4(the )-4(addr)18(ess )-4(of )-4(the )-4(socket )-4(endpoint )-4(fr)21(om )-4(which )-4(the )-4(data)]TJ --3.01 -1.2 Td -[(was )-53(sent.)-553(When )-53(calling)]TJ -/TT0 1 Tf -10.879 0 Td -(recvfrom)Tj -/T1_0 1 Tf -[(,)-303(we)-303(need )-53(to )-53(set )-53(the)]TJ -/T1_2 1 Tf -13.82 0 Td -(addrlen)Tj -/T1_0 1 Tf -3.359 0 Td -[(parameter )-53(to )-53(point )-53(to )-53(an)]TJ --28.058 -1.2 Td -[(integer )-23(containing )-23(the )-23(size )-23(in )-23(bytes )-23(of )-23(the )-23(socket )-23(buf)18(fer )-23(to )-23(which)]TJ -/T1_2 1 Tf -28.699 0 Td -(addr)Tj -/T1_0 1 Tf -2.106 0 Td -[(points. )-273(On)]TJ --0.018 Tc 5.184 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turn,)Tj --36.844 -1.2 Td -[(the integer is set to the actual size of the addr)18(ess in bytes.)]TJ -1.8 -1.2 Td -[(Because )-155(it )-155(allows )-155(us )-155(to )-155(r)16(etrieve )-155(the )-155(addr)18(ess )-155(of )-155(the )-155(sender)72(,)]TJ -/TT0 1 Tf -27.018 0 Td -(recvfrom)Tj -/T1_0 1 Tf -5.206 0 Td -[(is )-155(typically)]TJ --34.024 -1.2 Td -[(used with connectionless sockets.)-500(Otherwise,)]TJ -/TT0 1 Tf -20.385 0 Td -(recvfrom)Tj -/T1_0 1 Tf -5.05 0 Td -(behaves identically to)Tj -/TT0 1 Tf -9.866 0 Td -(recv)Tj -/T1_0 1 Tf -(.)Tj --0.092 Tc -33.501 -1.2 Td -[(To )-241(r)]TJ -0 Tc 1.751 0 Td -[(eceive )-57(data )-57(into )-57(multiple )-57(buf)18(fers, )-57(similar )-57(to)]TJ -/TT0 1 Tf -19.63 0 Td -(readv)Tj -/T1_0 1 Tf -3.307 0 Td -[(\(Section )-57(14.6\), )-57(or )-57(if )-57(we )-57(want)]TJ --26.487 -1.2 Td -[(to r)18(eceive ancillary data \(Section 17.4\), we can use)]TJ -/TT0 1 Tf -22.227 0 Td -(recvmsg)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5822 433.028 Tm -(#include )Tj -T* -(ssize_t recvmsg\(int)Tj -/T1_2 1 Tf -12 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.262 0 Td -(truct msghdr *)Tj -/T1_2 1 Tf -(msg)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 11.867 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --6.474 -2.14 Td -(Returns: length of message in bytes,)Tj --15.335 -1.189 Td -[(0)-250(if)-250(no)-250(messages ar)]TJ -0.25 Tc 8.298 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(vailable and peer has done an or)18(derly shutdown,)]TJ -15.626 -1.189 Td -(or)Tj -/TT1 1 Tf -1.191 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3686.25 cm -0 0 m -0 735 l -3900 735 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 352.6965 Tm -(The)Tj -/TT0 1 Tf -2.13 0 Td -(msghdr)Tj -/T1_0 1 Tf -4.056 0 Td -[(str)8(uctur)]TJ -0.4557 Tc 3.49 0 Td -(e\()Tj -0 Tc 1.268 0 Td -[(which )-206(we )-206(saw )-206(used )-206(with)]TJ -/TT0 1 Tf -12.233 0 Td -(sendmsg)Tj -/T1_0 1 Tf -[(\))-456(is)-456(u)1(sed )-206(by)]TJ -/TT0 1 Tf -10.297 0 Td -(recvmsg)Tj -/T1_0 1 Tf -4.656 0 Td -(to)Tj --38.128 -1.2 Td -[(specify )-18(the )-18(input )-18(buf)18(fers )-18(to )-18(be )-18(used )-18(to )-18(r)18(eceive )-18(the )-18(data.)]TJ --0.092 Tc 24.804 0 Td -[(We )-203(c)]TJ -0 Tc 2.099 0 Td -[(an )-18(set )-18(the)]TJ -/T1_2 1 Tf -4.503 0 Td -(\337ags)Tj -/T1_0 1 Tf -2.146 0 Td -[(ar)18(gument )-18(to)]TJ --33.554 -1.2 Td -[(change )-285(the )-285(default )-285(behavior )-285(of)]TJ -/TT0 1 Tf -15.137 0 Td -(recvmsg)Tj -/T1_0 1 Tf -0.7848 Tc (.O)Tj -0.5348 Tc 6.021 0 Td -(nr)Tj -0 Tc 1.494 0 Td -[(eturn, )-285(the)]TJ -/TT0 1 Tf -5.092 0 Td -(msg_flags)Tj -/T1_0 1 Tf -5.935 0 Td -[(\336eld )-285(of )-285(the)]TJ -/TT0 1 Tf --33.678 -1.2 Td -(msghdr)Tj -/T1_0 1 Tf -4.022 0 Td -[(str)8(uctur)18(e)-422(is)-422(s)-1(et )-172(to )-172(indicate )-172(various )-172(characteristics )-172(of )-172(the )-172(data )-172(r)16(eceived. )-422(\(The)]TJ -/TT0 1 Tf --4.022 -1.2 Td -(msg_flags)Tj -/T1_0 1 Tf -5.701 0 Td -[(\336eld )-51(is )-51(ignor)18(ed )-51(on )-51(entry )-51(to)]TJ -/TT0 1 Tf -12.286 0 Td -(recvmsg)Tj -/T1_0 1 Tf -[(.\) )-301(The)-301(possible )-51(values )-51(on )-51(r)18(eturn )-51(fr)18(om)]TJ -/TT0 1 Tf --17.987 -1.2 Td -(recvmsg)Tj -/T1_0 1 Tf -4.523 0 Td -(ar)Tj -0.3226 Tc 0.877 0 Td -(es)Tj -0 Tc 1.226 0 Td -[(ummarized )-73(in )-73(Figur)]TJ -0.3226 Tc 9.046 0 Td -(e1)Tj -0 Tc 1.302 0 Td -[(6.15. )-322(W)92(e\325ll )-72(see )-72(an )-72(example )-72(that )-72(uses)]TJ -/TT0 1 Tf -16.632 0 Td -(recvmsg)Tj -/T1_0 1 Tf -4.522 0 Td -(in)Tj --38.127 -1.2 Td -(Chapter 17.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1308.25 2571.25 cm -0 0 m -3875 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 364.7644 249.1002 Tm -[(Fr)18(eeBSD )-1416(Linux)-1382(Mac OS X)-1198(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-2993(3.2.0)-2618(10.6.8 )-2868(10)]TJ --27.379 0.625 Td -(Flag)Tj -10.675 0 Td -(Description)Tj -10.626 0 Td -(POSIX.1)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1308.25 2351.25 cm -0 0 m -3875 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1308.25 2331.25 cm -0 0 m -3875 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 134.7996 225.0925 Tm -(MSG_CTRUNC)Tj -/T1_0 1 Tf -4.262 Tc 25.481 0 Td -(\245\245\245\245\245)Tj -0 Tc -16.781 0 Td -[(Contr)18(ol data was tr)8(uncated.)]TJ -/TT0 1 Tf --8.7 -1.25 Td -(MSG_EOR)Tj -/T1_0 1 Tf -4.262 Tc 25.481 0 Td -(\245\245\245\245\245)Tj -0 Tc -16.781 0 Td -[(End of r)18(ecor)]TJ -0.25 Tc 5.406 0 Td -(dw)Tj -0 Tc 1.695 0 Td -[(as r)18(eceived.)]TJ -/TT0 1 Tf --15.801 -1.25 Td -(MSG_ERRQUEUE)Tj -/T1_0 1 Tf -35.217 0 Td -(\245)Tj --26.517 0 Td -[(Err)18(or information was r)18(eceived)]TJ -1.35 -1.25 Td -(as ancillary data.)Tj -/TT0 1 Tf --10.05 -1.25 Td -(MSG_OOB)Tj -/T1_0 1 Tf -4.262 Tc 25.481 0 Td -(\245\245\245\245\245)Tj -0 Tc -16.781 0 Td -[(Out-of-band data was r)18(eceived.)]TJ -/TT0 1 Tf --8.7 -1.25 Td -(MSG_TRUNC)Tj -/T1_0 1 Tf -4.262 Tc 25.481 0 Td -(\245\245\245\245\245)Tj -0 Tc -16.781 0 Td -[(Normal data was tr)8(uncated.)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1308.25 1711.25 cm -0 0 m -3875 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4774.25 1711.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4384.25 1711.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3995.25 1711.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3596.25 1711.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3616.25 1711.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3216.25 1711.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1984.25 1711.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5183.25 1711.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1308.25 1711.25 cm -0 0 m -0 860 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 223.6955 153.1049 Tm -(Figure 16.15)Tj -/T1_0 1 Tf -6.195 0 Td -[(Flags r)18(eturned in)]TJ -/TT0 1 Tf -7.802 0 Td -(msg_flags)Tj -/T1_0 1 Tf -5.65 0 Td -(by)Tj -/TT0 1 Tf -1.359 0 Td -(recvmsg)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47506 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(594)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(byte )-281(would )-281(contain )-281(1, )-281(r)20(egar)18(dless )-280(of )-280(the )-280(byte )-280(or)16(dering. )-530(If)-531(we )-280(wer)]TJ -0.5305 Tc 31.364 0 Td -(et)Tj -0 Tc 1.336 0 Td -[(hen )-280(to )-280(cast )-280(a)]TJ --32.699 -1.2 Td -[(character )-58(pointer )-58(\()]TJ -/TT0 1 Tf -(cp)Tj -/T1_1 1 Tf -[(\))-308(to)-308(the )-58(addr)18(ess )-58(of )-58(the )-58(integer)74(,)-308(we)-308(would )-58(see )-58(a )-58(dif)18(fer)18(ence )-58(fr)18(om )-58(the)]TJ -0 -1.2 TD -[(byte )-105(or)18(dering. )-355(On)]TJ -0.3549 Tc 8.684 0 Td -(al)Tj -0 Tc 1.146 0 Td -[(ittle-endian )-105(pr)18(ocessor)74(,)]TJ -/TT0 1 Tf -10.213 0 Td -(cp[0])Tj -/T1_1 1 Tf -3.355 0 Td -[(would )-105(r)18(efer )-105(to )-105(the )-105(least )-105(signi\336cant)]TJ --23.397 -1.2 Td -[(byte )-233(and )-233(contain )-233(1;)]TJ -/TT0 1 Tf -9.558 0 Td -(cp[3])Tj -/T1_1 1 Tf -3.483 0 Td -[(would )-233(r)18(efer )-233(to )-233(the )-233(most )-233(signi\336cant )-233(byte )-233(and )-233(contain )-233(4.)]TJ --13.041 -1.2 Td -(Compar)Tj -0.2928 Tc 3.616 0 Td -(et)Tj -0 Tc 1.098 0 Td -[(hat )-43(to )-43(a )-43(big-endian )-43(pr)19(ocessor)]TJ -0.2928 Tc 12.891 0 Td -(,w)Tj -0 Tc 1.377 0 Td -[(her)18(e)]TJ -/TT0 1 Tf -2.21 0 Td -(cp[0])Tj -/T1_1 1 Tf -3.293 0 Td -[(would )-43(contain )-43(4, )-43(r)18(eferring )-43(to )-43(the)]TJ --24.484 -1.2 Td -[(most )-21(signi\336cant )-21(byte, )-21(and)]TJ -/TT0 1 Tf -11.722 0 Td -(cp[3])Tj -/T1_1 1 Tf -3.271 0 Td -[(would )-21(contain )-21(1, )-21(r)17(eferring )-21(to )-21(the )-21(least )-21(signi\336cant )-21(byte.)]TJ --14.993 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(6.6 summarizes the byte or)18(dering for the four platforms discussed in this text.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2167.25 5758.25 cm -0 0 m -2157 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 220.7455 567.7319 Tm -[(Operating system)-1500(Pr)18(ocessor ar)18(chitectur)]TJ -1.876 Tc 18.596 0 Td -(eB)Tj -0 Tc 2.966 0 Td -[(yte or)18(der)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2167.25 5638.25 cm -0 0 m -2157 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2167.25 5618.25 cm -0 0 m -2157 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 220.7323 553.7003 Tm -[(Fr)18(eeBSD 8.0)-4057(Intel Pentium)]TJ -20.575 0 Td -(little-endian)Tj --20.575 -1.25 Td -[(Linux 3.2.0)-4505(Intel Cor)]TJ -0.25 Tc 13.255 0 Td -(ei)Tj -5.8 Tc 1.02 0 Td -(5l)Tj -0 Tc 6.591 0 Td -(ittle-endian)Tj --20.866 -1.25 Td -[(Mac OS X 10.6.8)-2240(Intel Cor)]TJ -0.25 Tc 13.255 0 Td -(e2D)Tj -0 Tc 2.253 0 Td -[(uo )-3668(little-endian)]TJ --15.508 -1.25 Td -(Solaris 10)Tj -9.358 0 Td -[(Sun SP)92(ARC )]TJ -11.217 0 Td -(big-endian)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2167.25 5198.25 cm -0 0 m -2157 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3793.25 5198.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2896.25 5198.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4324.25 5198.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2167.25 5198.25 cm -0 0 m -0 560 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 251.7276 501.6796 Tm -(Figure 16.6)Tj -/T1_1 1 Tf -5.695 0 Td -[(Byte or)18(der for test platforms)]TJ --0.092 Tc -14.219 -3.1 Td -[(To )-467(c)]TJ -0 Tc 2.044 0 Td -[(onfuse )-283(matters )-283(further)]TJ -0.5333 Tc 10.406 0 Td -(,s)Tj -0 Tc 1.207 0 Td -[(ome )-283(pr)18(ocessors )-283(can )-283(be )-283(con\336gur)18(ed )-283(for )-283(either )-283(little-endian )-283(or)]TJ --13.657 -1.25 Td -(big-endian operation.)Tj -9.9976 0 0 9.9976 147.5646 443.8934 Tm -[(Network )-30(pr)18(otocols )-30(specify )-30(a )-30(byte )-30(or)18(dering )-30(so )-30(that )-30(heter)18(ogeneous )-30(computer )-30(systems)]TJ --1.8 -1.2 Td -[(can )-123(exchange )-123(pr)18(otocol )-123(information )-123(without )-123(confusing )-123(the )-123(byte )-123(or)18(dering. )-373(The)-373(TCP/IP)]TJ --0 -1.2 Td -[(pr)18(otocol )-363(suite )-363(uses )-363(big-endian )-363(byte )-363(or)17(der)]TJ -0.8632 Tc 19.822 0 Td -(.T)Tj -0 Tc 1.726 0 Td -[(he )-363(byte )-363(or)18(dering )-363(becomes )-363(visible )-363(to)]TJ --21.548 -1.2 Td -[(applications )-504(when )-504(they )-504(exchange )-504(formatted )-504(data.)]TJ --0.055 Tc 25.315 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-504(TCP/IP)]TJ -0.754 Tc 5.006 0 Td -(,a)Tj -0 Tc 1.504 0 Td -[(ddr)18(esses )-504(ar)18(e)]TJ --33.061 -1.2 Td -[(pr)18(esented )-235(in )-235(network )-235(byte )-235(or)18(der)74(,)-485(so)-485(applications )-235(sometimes )-235(need )-235(to )-235(translate )-235(them)]TJ -0 -1.2 Td -[(between )-59(the )-59(pr)18(ocessor )176(\325s)-309(byte )-59(or)18(der )-59(and )-59(the )-59(network )-59(byte )-59(or)19(der)]TJ -0.5588 Tc 28.279 0 Td -(.T)Tj -0 Tc 1.422 0 Td -[(his )-59(is )-59(common )-59(when)]TJ --29.7 -1.2 Td -[(printing an addr)18(ess in a human-r)18(eadable form, for example.)]TJ -1.8 -1.2 Td -[(Four )-130(functions )-130(ar)]TJ -0.3805 Tc 7.869 0 Td -(ep)Tj --0.018 Tc 1.461 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(vided )-130(to )-130(convert )-130(between )-130(the )-130(pr)18(ocessor )-130(byte )-130(or)18(der )-130(and )-130(the)]TJ --12.052 -1.2 Td -[(network byte or)18(der for TCP/IP applications.)]TJ -/TT0 1 Tf -8.9978 0 0 8.9978 147.5654 332.4202 Tm -(#include )Tj -0 -1.783 TD -(uint32_t htonl\(uint32_t)Tj -/T1_2 1 Tf -14.4 0 Td -(hostint32)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -5.182 -1.783 Td -[(Returns: 32-bit integer in network byte or)18(der)]TJ -/TT0 1 Tf --19.582 -1.783 Td -(uint16_t htons\(uint16_t)Tj -/T1_2 1 Tf -14.4 0 Td -(hostint16)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -5.182 -1.783 Td -[(Returns: 16-bit integer in network byte or)18(der)]TJ -/TT0 1 Tf --19.582 -1.783 Td -(uint32_t ntohl\(uint32_t)Tj -/T1_2 1 Tf -14.4 0 Td -(netint32)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -7.022 -1.783 Td -[(Returns: 32-bit integer in host byte or)18(der)]TJ -/TT0 1 Tf --21.422 -1.783 Td -(uint16_t ntohs\(uint16_t)Tj -/T1_2 1 Tf -14.4 0 Td -(netint16)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -7.022 -1.783 Td -[(Returns: 16-bit integer in host byte or)18(der)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1996.25 cm -0 0 m -0 1419 l -3900 1419 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.997 0 0 9.997 129.5611 187.2438 Tm -(The)Tj -/TT0 1 Tf -1.931 0 Td -(h)Tj -/T1_1 1 Tf -0.857 0 Td -[(is )-7(for )-7(\324)38(\324host\325)]TJ -0.2566 Tc 5.14 0 Td -(\325b)Tj -0 Tc 1.088 0 Td -[(yte )-6(or)18(der)]TJ -0.2565 Tc 3.952 0 Td -(,a)Tj -0 Tc 1.006 0 Td -[(nd )-6(the)]TJ -/TT0 1 Tf -3.093 0 Td -(n)Tj -/T1_1 1 Tf -0.856 0 Td -[(is )-6(for )-6(\324)36(\324network\325)]TJ -0.2565 Tc 6.98 0 Td -(\325b)Tj -0 Tc 1.087 0 Td -[(yte )-6(or)18(der)]TJ -0.5065 Tc 3.952 0 Td -(.T)Tj -0 Tc 1.369 0 Td -(he)Tj -/TT0 1 Tf -1.317 0 Td -(l)Tj -/T1_1 1 Tf -0.856 0 Td -[(is )-6(for )-6(\324)36(\324long\325)37(\325)]TJ --33.485 -1.2 Td -[(\(i.e., )-68(4)]TJ -2.671 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte\) )-68(integer)]TJ -0.3184 Tc 5.599 0 Td -(,a)Tj -0 Tc 1.068 0 Td -[(nd )-68(the)]TJ -/TT0 1 Tf -3.217 0 Td -(s)Tj -/T1_1 1 Tf -0.918 0 Td -[(is )-68(for )-68(\324)36(\324short\325)]TJ -0.3184 Tc 5.659 0 Td -(\325\()Tj -0 Tc 0.929 0 Td -[(i.e., )-68(2)]TJ -2.338 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte\) )-68(integer)]TJ -0.5685 Tc 5.599 0 Td -(.A)Tj -0 Tc 1.596 0 Td -[(lthough )-68(we )-68(include)]TJ -/TT0 1 Tf --30.263 -1.2 Td -()Tj -/T1_1 1 Tf -8.226 0 Td -[(to )-176(use )-176(these )-176(functions, )-176(system )-176(implementations )-176(often )-176(declar)]TJ -0.4264 Tc 27.578 0 Td -(et)Tj -0 Tc 1.231 0 Td -(hese)Tj --37.036 -1.2 Td -[(functions )-18(in )-18(other )-18(headers )-18(that )-18(ar)]TJ -0.2685 Tc 14.755 0 Td -(ei)Tj -0 Tc 1.039 0 Td -[(ncluded )-18(by)]TJ -/TT0 1 Tf -5.267 0 Td -()Tj -/T1_1 1 Tf -0.5185 Tc (.I)Tj -0 Tc 8.906 0 Td -[(t)-268(is)-268(a)-1(lso )-18(common )-18(for)]TJ --29.966 -1.2 Td -[(systems to implement these functions as macr)18(os.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47507 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.8)]TJ -38.437 0 Td -[(Semaphor)18(es)]TJ -/T1_1 1 Tf -7.396 0 Td -(567)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1401.25 6670.25 cm -0 0 m -3689 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.09 Tc 7.9995 0 0 7.9995 403.9038 658.9605 Tm -(Ty)Tj -0 Tc 1.079 0 Td -(pical values)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3513.25 6550.25 cm -0 0 m -1577 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 353.3296 646.9224 Tm -[(Fr)18(eeBSD )-1627(Linux )-1627(Mac)-250(OS X)-1229(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-3204(3.2.0)-3112(10.6.8 )-2899(10)]TJ --17.177 1.375 Td -(Description)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1401.25 6330.25 cm -0 0 m -3689 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1401.25 6310.25 cm -0 0 m -3689 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 357.5116 622.8879 Tm -[(32,767 )-2079(32,767)-2612(32,767 )-1899(65,535)]TJ --26.675 0 Td -[(maximum value of any semaphor)18(e)]TJ -26.675 -1.25 Td -[(16,384 )-2079(32,767)-2612(16,384 )-1899(32,767)]TJ --26.675 0 Td -[(maximum value of any semaphor)18(e\325s adjust-on-exit value)]TJ -28.425 -1.25 Td -[(10 )-3329(128)-2612(87,381 )-3149(128)]TJ --28.425 0 Td -(maximum number of semaphor)Tj -0.25 Tc 14.075 0 Td -(es)Tj -0 Tc 1.153 0 Td -(ets, systemwide)Tj -13.198 -1.25 Td -[(60 )-2079(32,000)-2612(87,381 )-1559(derived)]TJ --28.426 0 Td -[(maximum number of semaphor)18(es, systemwide)]TJ -28.426 -1.25 Td -[(60 )-3329(250)-2612(87,381 )-3149(512)]TJ --28.426 0 Td -[(maximum number of semaphor)18(es per semaphor)]TJ -0.25 Tc 21.345 0 Td -(es)Tj -0 Tc 1.153 0 Td -(et)Tj -5.928 -1.25 Td -[(30 )-2079(32,000)-2612(87,381 )-1559(derived)]TJ --28.425 0 Td -[(maximum number of undo str)8(uctur)18(es, systemwide)]TJ -28.425 -1.25 Td -[(10 )-1275(unlimited)-3559(10 )-1559(derived)]TJ --28.425 0 Td -[(maximum number of undo entries per undo str)8(uctur)18(es)]TJ -27.925 -1.25 Td -[(100 )-3829(32)]TJ -3.3995 Tc 11.442 0 Td -(55)Tj -0 Tc 4.399 0 Td -(12)Tj --43.766 0 Td -(maximum number of operations per)Tj -/TT0 1 Tf -16.348 0 Td -(semop)Tj -/T1_0 1 Tf -3.25 0 Td -(call)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1401.25 5490.25 cm -0 0 m -3689 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4736.25 5490.25 cm -0 0 m -0 1060 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4306.25 5490.25 cm -0 0 m -0 1060 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3878.25 5490.25 cm -0 0 m -0 1060 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3513.25 5490.25 cm -0 0 m -0 1180 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5090.25 5490.25 cm -0 0 m -0 1180 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1401.25 5490.25 cm -0 0 m -0 1180 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 235.2635 530.8726 Tm -(Figure 15.28)Tj -/T1_0 1 Tf -6.195 0 Td -[(System limits that af)18(fect semaphor)18(es)]TJ -9.9976 0 0 9.9976 147.5648 504.4789 Tm -[(When )-88(we )-88(want )-88(to )-88(use )-88(XSI )-88(semaphor)16(es, )-88(we )-88(\336rst )-88(need )-88(to )-88(obtain )-88(a )-88(semaphor)16(e)-338(ID)-338(b)-1(y)]TJ --1.8 -1.2 Td -(calling the)Tj -/TT0 1 Tf -4.842 0 Td -(semget)Tj -/T1_0 1 Tf -3.85 0 Td -(function.)Tj -/TT0 1 Tf -8.9978 0 0 8.9978 147.5649 476.9855 Tm -(#include )Tj -0 -1.783 TD -(int semget\(key_t)Tj -/T1_2 1 Tf -10.2 0 Td -(key)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.133 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(nsems)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.301 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --0.115 -1.783 Td -[(Returns: semaphor)18(e)-250(ID)-250(if)-250(OK,)]TJ -/TT1 1 Tf -13.345 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4405.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.997 0 0 9.997 129.5611 428.0716 Tm -[(In )-152(Section )-152(15.6.1, )-152(we )-152(described )-152(the )-152(r)8(ules )-152(for )-152(converting )-152(the)]TJ -/T1_2 1 Tf -27.48 0 Td -(key)Tj -/T1_0 1 Tf -1.735 0 Td -[(into )-152(an )-152(identi\336er )-152(and)]TJ --29.215 -1.2 Td -[(discussed )-39(whether )-39(a )-39(new )-39(set )-39(is )-39(cr)20(eated )-39(or )-39(an )-39(existing )-39(set )-39(is )-39(r)20(efer)18(enced. )-289(When)]TJ -0.2886 Tc 34.799 0 Td -(an)Tj -0 Tc 1.371 0 Td -[(ew )-39(set)]TJ --36.17 -1.2 Td -[(is cr)18(eated, the following members of the)]TJ -/TT0 1 Tf -17.95 0 Td -(semid_ds)Tj -/T1_0 1 Tf -5.05 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(i)]TJ -0 Tc 1.397 0 Td -(nitialized.)Tj -0.883 Tc -27.316 -1.56 Td -(\245T)Tj -0 Tc 2.102 0 Td -(he)Tj -/TT0 1 Tf -1.402 0 Td -(ipc_perm)Tj -/T1_0 1 Tf -5.141 0 Td -[(str)8(uctur)18(e)-341(is)-341(initialized )-91(as )-91(described )-91(in )-91(Section )-91(15.6.2.)-590(The)]TJ -/TT0 1 Tf -26.155 0 Td -(mode)Tj -/T1_0 1 Tf --33.311 -1.2 Td -[(member )-234(of )-234(this )-234(str)9(uctur)18(e)-484(is)-484(s)1(et )-234(to )-234(the )-234(corr)18(esponding )-234(permission )-234(bits )-234(of)]TJ -/T1_2 1 Tf -33.972 0 Td -(\337ag)Tj -/T1_0 1 Tf -(.)Tj --33.972 -1.2 Td -(These permissions ar)Tj -0.25 Tc 9.294 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(peci\336ed with the values fr)18(om Figur)]TJ -0.25 Tc 15.564 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.24.)Tj --28.729 -1.48 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(sem_otime)Tj -/T1_0 1 Tf -5.65 0 Td -(is set to 0.)Tj --7.139 -1.48 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(sem_ctime)Tj -/T1_0 1 Tf -5.65 0 Td -[(is set to the curr)18(ent time.)]TJ --7.139 -1.48 Td -(\245)Tj -/TT0 1 Tf -1.489 0 Td -(sem_nsems)Tj -/T1_0 1 Tf -5.65 0 Td -(is set to)Tj -/T1_2 1 Tf -3.566 0 Td -(nsems)Tj -/T1_0 1 Tf -(.)Tj --10.705 -1.56 Td -[(The )-281(number )-281(of )-281(semaphor)18(es )-281(in )-281(the )-281(set )-281(is)]TJ -/T1_2 1 Tf -19.795 0 Td -(nsems)Tj -/T1_0 1 Tf -0.7811 Tc (.I)Tj -0.5311 Tc 3.869 0 Td -(fan)Tj -0 Tc 2.477 0 Td -[(ew )-281(set )-281(is )-281(being )-281(cr)18(eated)]TJ --27.941 -1.2 Td -[(\(typically )-43(by )-43(the )-43(server\), )-43(we )-43(must )-43(specify)]TJ -/T1_2 1 Tf -18.731 0 Td -(nsems)Tj -/T1_0 1 Tf -0.5427 Tc (.I)Tj -0 Tc 3.631 0 Td -[(f)-293(we)-293(a)]TJ --0.018 Tc 2.731 0 Td -[(re )-79(re)]TJ -0 Tc 2.005 0 Td -[(fer)18(encing )-43(an )-43(existing )-43(set )-43(\(a)]TJ --27.098 -1.2 Td -(client\), we can specify)Tj -/T1_2 1 Tf -9.963 0 Td -(nsems)Tj -/T1_0 1 Tf -2.751 0 Td -(as 0.)Tj --10.914 -1.2 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(semctl)Tj -/T1_0 1 Tf -3.85 0 Td -(function is the catchall for various semaphor)Tj -0.25 Tc 19.677 0 Td -(eo)Tj -0 Tc 1.275 0 Td -(perations.)Tj -/TT0 1 Tf -8.9973 0 0 8.9973 140.3587 253.0241 Tm -(#include )Tj -T* -(int semctl\(int)Tj -/T1_2 1 Tf -9 0 Td -(semid)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.134 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(semnum)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 5.246 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(cmd)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 3.485 0 Td -(.. /* union semun)Tj -/T1_2 1 Tf -10.8 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -1.915 0 Td -(*/ \);)Tj -/T1_0 1 Tf --7.792 -1.783 Td -(Returns: \(see following\))Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2165.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9964 0 0 9.9964 129.5534 204.1265 Tm -[(The )-34(fourth )-34(ar)18(gument )-34(is )-34(optional, )-34(depending )-34(on )-34(the )-34(command )-34(r)18(equested, )-34(and )-34(if )-34(pr)18(esent,)]TJ -0 -1.2 TD -(is of type)Tj -/TT0 1 Tf -4.306 0 Td -(semun)Tj -/T1_0 1 Tf -0.25 Tc (,au)Tj -0 Tc 4.853 0 Td -[(nion of various command-speci\336c ar)18(guments:)]TJ -/TT0 1 Tf -8.9968 0 0 8.9968 147.547 179.0355 Tm -(union semun {)Tj -1.2 -1.189 Td -(int )Tj -10.8 0 Td -[(val;)-1800(/* for SETVAL */)]TJ --10.8 -1.189 Td -[(struct semid_ds)-1200(*buf; )-1200(/*)-600(for IPC_STAT and IPC_SET */)]TJ -0 -1.189 TD -[(unsigned short)-1800(*array; /* for GETALL and SETALL */)]TJ --1.2 -1.189 Td -(};)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47508 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(432)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.018 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -(re)Tj -0 Tc 0.856 0 Td -[(strict )-170(the )-170(mor)]TJ -0.4199 Tc 6.239 0 Td -(ee)Tj -0 Tc 1.378 0 Td -[(xpensive )-170(implementation )-170(to )-170(the )-170(case )-170(in )-170(which )-170(mutexes )-170(ar)]TJ -0.42 Tc 26.655 0 Td -(es)Tj -0 Tc 1.323 0 Td -[(har)18(ed)]TJ --36.451 -1.2 Td -[(among pr)18(ocesses.)]TJ -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf --0.018 Tc 2.1 0 Td -(ro)Tj -0 Tc 0.815 0 Td -(bust)Tj -/T1_1 1 Tf -2.167 0 Td -[(mutex )-176(attribute )-176(is )-176(r)19(elated )-176(to )-176(mutexes )-176(that )-176(ar)]TJ -0.4257 Tc 20.557 0 Td -(es)Tj -0 Tc 1.329 0 Td -[(har)18(ed )-176(among )-176(multiple)]TJ --28.768 -1.2 Td -[(pr)18(ocesses. )-349(It)-349(is )-99(meant )-99(to )-99(addr)18(ess )-99(the )-99(pr)18(oblem )-99(of )-99(mutex )-99(state )-99(r)19(ecovery )-99(when )-99(a )-99(pr)18(ocess)]TJ -0 -1.2 TD -[(terminates )-153(while )-153(holding )-153(a )-153(mutex.)-653(When )-153(this )-153(happens, )-153(the )-153(mutex )-153(is )-153(left )-153(in )-153(a )-153(locked)]TJ -T* -[(state )-21(and )-21(r)18(ecovery )-21(is )-21(dif)18(\336cult. )-271(Thr)18(eads )-21(blocked )-21(on )-21(the )-21(lock )-21(in )-21(other )-21(pr)18(ocesses )-21(will )-21(block)]TJ -0 -1.2 Td -[(inde\336nitely)111(.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-222(c)]TJ -0 Tc 2.119 0 Td -[(an )-38(use )-38(the)]TJ -/TT0 1 Tf -4.838 0 Td -(pthread_mutexattr_getrobust)Tj -/T1_1 1 Tf -16.488 0 Td -[(function )-37(to )-37(get )-37(the )-37(value )-37(of )-37(the)]TJ -/T1_2 1 Tf --0.018 Tc -25.244 -1.2 Td -(ro)Tj -0 Tc 0.815 0 Td -(bust)Tj -/T1_1 1 Tf -2.127 0 Td -[(mutex )-136(attribute.)]TJ --0.092 Tc 7.878 0 Td -[(To )-320(s)]TJ -0 Tc 1.877 0 Td -[(et )-136(the )-136(value )-136(of )-136(the)]TJ -/T1_2 1 Tf --0.018 Tc 8.825 0 Td -(ro)Tj -0 Tc 0.815 0 Td -(bust)Tj -/T1_1 1 Tf -2.127 0 Td -[(mutex )-136(attribute, )-136(we )-136(can )-136(call )-136(the)]TJ -/TT0 1 Tf --24.463 -1.2 Td -(pthread_mutexattr_setrobust)Tj -/T1_1 1 Tf -16.45 0 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5913 541.8675 Tm -(#include )Tj -0 -2.14 TD -(int pthread_mutexattr_getrobust\(const pthread_mutexattr_t *)Tj -19.8 -1.189 Td -(restrict)Tj -/T1_2 1 Tf -5.4 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --5.4 -1.189 Td -(int *restrict)Tj -/T1_2 1 Tf --0.018 Tc 8.4 0 Td -(ro)Tj -0 Tc 0.815 0 Td -(bust)Tj -/TT0 1 Tf -(\);)Tj --29.015 -2.14 Td -(int pthread_mutexattr_setrobust\(pthread_mutexattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -19.8 -1.189 Td -(int)Tj -/T1_2 1 Tf --0.018 Tc 2.4 0 Td -(ro)Tj -0 Tc 0.815 0 Td -(bust)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --3.334 -2.14 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4475.25 cm -0 0 m -0 1034 l -3900 1034 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 431.5682 Tm -(Ther)Tj -0.9172 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.896 0 Td -[(re )-703(t)]TJ -0 Tc 2.099 0 Td -[(wo )-667(possible )-667(values )-667(for )-667(the)]TJ -/T1_2 1 Tf --0.018 Tc 15.098 0 Td -(ro)Tj -0 Tc 0.815 0 Td -(bust)Tj -/T1_1 1 Tf -2.658 0 Td -[(attribute. )-917(The)-917(default )-667(is)]TJ -/TT0 1 Tf --26.418 -1.2 Td -(PTHREAD_MUTEX_STALLED)Tj -/T1_1 1 Tf -0.5833 Tc (,w)Tj -0 Tc 14.267 0 Td -[(hich )-333(means )-333(that )-333(no )-333(special )-333(action )-333(is )-333(taken )-333(when )-333(a)]TJ --14.267 -1.2 Td -[(pr)18(ocess )-94(terminates )-94(while )-94(holding )-94(a )-94(mutex.)-594(In )-94(this )-94(case, )-94(use )-94(of )-94(the )-94(mutex )-94(can )-94(r)18(esult )-94(in)]TJ -0 -1.2 TD -[(unde\336ned )-302(behavior)]TJ -0.5518 Tc 8.941 0 Td -(,a)Tj -0 Tc 1.302 0 Td -[(nd )-302(applications )-302(waiting )-302(for )-302(it )-302(to )-302(be )-302(unlocked )-302(ar)]TJ -0.5519 Tc 23.168 0 Td -(ee)Tj --0.018 Tc 1.51 0 Td -(ff)Tj -0 Tc 0.648 0 Td -(ectively)Tj --0.037 Tc -35.569 -1.2 Td -(\324\324)Tj -0 Tc 0.519 0 Td -(stalled.\325)Tj -0.5232 Tc 3.413 0 Td -(\325T)Tj -0 Tc 1.414 0 Td -[(he )-23(other )-23(value )-23(is)]TJ -/TT0 1 Tf -7.635 0 Td -(PTHREAD_MUTEX_ROBUST)Tj -/T1_1 1 Tf -0.5232 Tc (.T)Tj -0 Tc 13.386 0 Td -[(his )-23(value )-23(will )-23(cause )-23(a )-23(thr)17(ead)]TJ --26.367 -1.2 Td -[(blocked )-118(in )-118(a )-118(call )-118(to)]TJ -/TT0 1 Tf -9.091 0 Td -(pthread_mutex_lock)Tj -/T1_1 1 Tf -11.168 0 Td -[(to )-118(acquir)]TJ -0.3681 Tc 4.015 0 Td -(et)Tj -0 Tc 1.173 0 Td -[(he )-118(lock )-118(when )-118(another )-118(pr)18(ocess)]TJ --25.447 -1.2 Td -[(holding )-321(the )-321(lock )-321(terminates )-321(without )-321(\336rst )-321(unlocking )-321(it, )-321(but )-321(the )-321(r)21(eturn )-321(value )-321(fr)19(om)]TJ -/TT0 1 Tf -0 -1.2 Td -(pthread_mutex_lock)Tj -/T1_1 1 Tf -11.103 0 Td -(is)Tj -/TT0 1 Tf -1.018 0 Td -(EOWNERDEAD)Tj -/T1_1 1 Tf -6.303 0 Td -[(instead )-53(of )-53(0.)-553(Applications )-53(can )-53(use )-53(this )-53(special)]TJ --0.018 Tc -18.425 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-120(value )-120(as )-120(an )-120(indication )-120(that )-120(they )-120(need )-120(to )-120(r)19(ecover )-120(whatever )-120(state )-120(the )-120(mutex )-120(was)]TJ --0.856 -1.2 Td -[(pr)18(otecting, )-148(if )-148(possible )-148(\(the )-148(details )-148(of )-148(what )-148(state )-148(is )-148(being )-148(pr)18(otected )-148(and )-148(how )-148(it )-148(can )-148(be)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(cover)18(ed )-65(will )-65(vary )-65(among )-65(applications\).)-565(Note )-65(that )-65(the)]TJ -/TT0 1 Tf -24.344 0 Td -(EOWNERDEAD)Tj -/T1_1 1 Tf -6.315 0 Td -[(err)18(or )-65(r)18(eturn )-65(isn\325t)]TJ --0.018 Tc -31.515 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ally an err)18(or in this case, because the caller will own the lock.)]TJ -0.944 -1.2 Td -[(Using )-2(r)18(obust )-2(mutexes )-2(changes )-2(the )-2(way )-2(we )-2(use)]TJ -/TT0 1 Tf -20.851 0 Td -(pthread_mutex_lock)Tj -/T1_1 1 Tf -0.2522 Tc (,b)Tj -0 Tc 11.855 0 Td -[(ecause )-2(we)]TJ --34.506 -1.2 Td -[(now )-186(have )-186(to )-186(check )-186(for )-186(thr)18(ee )-186(r)19(eturn )-186(values )-186(instead )-186(of )-186(two: )-186(success )-186(with )-186(no )-186(r)20(ecovery)]TJ -T* -[(needed, )-205(success )-205(but )-205(r)18(ecovery )-205(needed, )-205(and )-205(failur)16(e. )-455(However)74(,)-455(if)-455(we)-455(d)-1(on\325t )-205(use )-205(r)17(obust)]TJ --0 -1.2 Td -[(mutexes, then we can continue to check only for success and failur)18(e.)]TJ -7.999 0 0 7.999 183.5778 229.1925 Tm -[(Of )-76(the )-76(four )-76(platforms )-76(cover)17(ed )-76(in )-76(this )-76(text, )-76(only )-76(Linux )-76(3.2.0 )-76(curr)18(ently )-76(supports )-76(r)18(obust )-76(pthr)16(ead)]TJ --0 -1.25 Td -[(mutexes. )-547(Solaris)-548(10 )-297(supports )-297(r)18(obust )-297(mutexes )-297(only )-297(in )-297(its )-297(Solaris )-297(thr)18(eads )-297(library )-297(\(see )-297(the)]TJ -/TT0 1 Tf -0 -1.25 TD -(mutex_init)Tj -/T1_1 1 Tf -6 0.04 Td -(\()Tj -0.333 -0.04 Td -(3C)Tj -1.209 0.04 Td -(\))Tj -0.68 -0.04 Td -[(Solaris )-97(manual )-97(page )-97(for )-97(mor)]TJ -0.3469 Tc 12.935 0 Td -(ei)Tj -0 Tc 1.117 0 Td -[(nformation\). )-347(However)74(,)-347(in)-347(Solaris )-97(1)55(1, )-97(r)18(obust)]TJ --22.274 -1.25 Td -[(pthr)18(ead mutexes ar)]TJ -0.25 Tc 8.563 0 Td -(es)Tj -0 Tc 1.153 0 Td -(upported.)Tj -9.9988 0 0 9.9988 147.5817 176.1989 Tm -[(If )-240(the )-240(application )-240(state )-240(can\325t )-240(be )-240(r)20(ecover)18(ed, )-240(the )-240(mutex )-240(will )-240(be )-240(in )-240(a )-240(permanently)]TJ --1.8 -1.2 Td -[(unusable )-68(state )-68(after )-68(the )-68(thr)18(ead )-68(unlocks )-68(the )-68(mutex.)]TJ --0.092 Tc 23.069 0 Td -[(To )-252(p)]TJ --0.018 Tc 1.986 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(vent )-68(this )-68(pr)18(oblem, )-68(the )-68(thr)18(ead)]TJ --25.911 -1.2 Td -[(can )-515(call )-515(the)]TJ -/TT0 1 Tf -6.733 0 Td -(pthread_mutex_consistent)Tj -/T1_1 1 Tf -15.165 0 Td -[(function )-515(to )-515(indicate )-515(that )-515(the )-515(state)]TJ --21.897 -1.2 Td -(associated with the mutex is consistent befor)Tj -0.25 Tc 19.699 0 Td -(eu)Tj -0 Tc 1.332 0 Td -(nlocking the mutex.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47509 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(396)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Running the pr)18(ogram in Figur)]TJ -0.25 Tc 13.365 0 Td -(e1)Tj -0 Tc 1.174 0 Td -(1.5 on Linux or Solaris gives us)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 651.191 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(thread 1 start)Tj -0 -1.189 TD -(thread 1 push complete)Tj -T* -(thread 2 start)Tj -T* -(thread 2 push complete)Tj -0 -1.189 TD -(cleanup: thread 2 second handler)Tj -0 -1.189 TD -(cleanup: thread 2 first handler)Tj -T* -(thread 1 exit code 1)Tj -T* -(thread 2 exit code 2)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.592 546.5274 Tm -[(Fr)18(om )-49(the )-49(output, )-49(we )-49(can )-49(see )-49(that )-49(both )-49(thr)18(eads )-49(start )-49(pr)17(operly )-49(and )-49(exit, )-49(but )-49(that )-49(only )-49(the)]TJ -0 -1.2 Td -[(second )-13(thr)18(ead\325s )-13(cleanup )-13(handlers )-13(ar)]TJ -0.2632 Tc 15.956 0 Td -(ec)Tj -0 Tc 1.186 0 Td -[(alled. )-263(Thus,)-263(if )-13(the )-13(thr)18(ead )-13(terminates )-13(by )-13(r)17(eturning)]TJ --17.143 -1.2 Td -[(fr)18(om )-68(its )-68(start )-68(r)18(outine, )-68(its )-68(cleanup )-68(handlers )-68(ar)]TJ -0.3185 Tc 20.116 0 Td -(en)Tj -0 Tc 1.379 0 Td -[(ot )-68(called, )-68(although )-68(this )-68(behavior )-68(varies)]TJ --21.496 -1.2 Td -[(among )-88(implementations.)-588(Also )-88(note )-88(that )-88(the )-88(cleanup )-88(handlers )-88(ar)]TJ -0.3385 Tc 29.093 0 Td -(ec)Tj -0 Tc 1.261 0 Td -[(alled )-88(in )-88(the )-88(r)17(everse)]TJ --30.355 -1.2 Td -[(or)18(der fr)18(om which they wer)]TJ -0.25 Tc 11.913 0 Td -(ei)Tj -0 Tc 1.02 0 Td -(nstalled.)Tj --11.133 -1.2 Td -[(If )-153(we )-153(r)8(un )-153(the )-153(same )-153(pr)18(ogram )-153(on )-153(Fr)16(eeBSD )-153(or )-153(Mac )-153(OS )-153(X, )-153(we )-153(see )-153(that )-153(the )-153(pr)16(ogram)]TJ --1.8 -1.2 Td -[(incurs )-356(a )-356(segmentation )-356(violation )-356(and )-356(dr)18(ops )-356(cor)15(e. )-607(This)-606(happens )-357(because )-357(on )-357(these)]TJ --0 -1.2 Td -(systems,)Tj -/TT0 1 Tf -4.024 0 Td -(pthread_cleanup_push)Tj -/T1_1 1 Tf -12.258 0 Td -[(is )-8(implemented )-8(as )-8(a )-8(macr)]TJ -0.2579 Tc 11.28 0 Td -(ot)Tj -0 Tc 1.13 0 Td -[(hat )-8(stor)18(es )-8(some )-8(context)]TJ --28.691 -1.2 Td -[(on )-95(the )-95(stack.)-595(When )-95(thr)18(ead )-95(1 )-95(r)18(eturns )-95(in )-95(between )-95(the )-95(call )-95(to)]TJ -/TT0 1 Tf -27 0 Td -(pthread_cleanup_push)Tj -/T1_1 1 Tf --27 -1.2 Td -[(and )-115(the )-115(call )-115(to)]TJ -/TT0 1 Tf -6.94 0 Td -(pthread_cleanup_pop)Tj -/T1_1 1 Tf -0.3655 Tc (,t)Tj -0 Tc 12.341 0 Td -[(he )-115(stack )-115(is )-115(overwritten )-115(and )-115(these )-115(platforms)]TJ --19.282 -1.2 Td -[(try )-70(to )-70(use )-70(this )-70(\(now )-70(corr)8(upted\) )-70(context )-70(when )-70(they )-70(invoke )-70(the )-70(cleanup )-70(handlers.)-570(In )-70(the)]TJ -0 -1.2 TD -[(Single )-308(UNIX )-308(Speci\336cation, )-308(r)19(eturning )-308(while )-308(in )-308(between )-308(a )-308(matched )-308(pair )-308(of )-308(calls )-308(to)]TJ -/TT0 1 Tf -T* -(pthread_cleanup_push)Tj -/T1_1 1 Tf -13.112 0 Td -(and)Tj -/TT0 1 Tf -2.805 0 Td -(pthread_cleanup_pop)Tj -/T1_1 1 Tf --0.018 Tc 12.512 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sults )-862(in )-862(unde\336ned)]TJ --29.284 -1.2 Td -(behavior)Tj -0.6753 Tc 3.837 0 Td -(.T)Tj -0 Tc 1.538 0 Td -[(he )-175(only )-175(portable )-175(way )-175(to )-175(r)18(eturn )-175(in )-175(between )-175(these )-175(two )-175(functions )-175(is )-175(to )-175(call)]TJ -/TT0 1 Tf --5.375 -1.2 Td -(pthread_exit)Tj -/T1_1 1 Tf -(.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3785.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 349.718 Tm -[(By )-84(now)]TJ -0.3343 Tc 3.371 0 Td -(,y)Tj -0 Tc 1.14 0 Td -[(ou )-84(should )-84(begin )-84(to )-84(see )-84(similarities )-84(between )-84(the )-84(thr)18(ead )-84(functions )-84(and )-84(the)]TJ --6.312 -1.2 Td -[(pr)18(ocess functions.)-500(Figur)]TJ -0.25 Tc 10.809 0 Td -(e1)Tj -0 Tc 1.174 0 Td -(1.6 summarizes the similar functions.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1315.25 3213.25 cm -0 0 m -3862 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 135.4556 313.3036 Tm -[(Pr)18(ocess primitive)-3733(Thr)18(ead primitive)]TJ -32.398 0 Td -(Description)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1315.25 3093.25 cm -0 0 m -3862 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1315.25 3073.25 cm -0 0 m -3862 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 135.4475 299.2882 Tm -(fork )Tj -9.17 0 Td -(pthread_create)Tj -/T1_1 1 Tf -13.5 0 Td -[(cr)18(eate a new \337ow of contr)18(ol)]TJ -/TT0 1 Tf --22.67 -1.25 Td -(exit )Tj -9.17 0 Td -(pthread_exit)Tj -/T1_1 1 Tf -13.5 0 Td -[(exit fr)18(om an existing \337ow of contr)18(ol)]TJ -/TT0 1 Tf --22.67 -1.25 Td -[(waitpid )-4370(pthread_join)]TJ -/T1_1 1 Tf -22.67 0 Td -[(get exit status fr)18(om \337ow of contr)18(ol)]TJ -/TT0 1 Tf --22.67 -1.25 Td -[(atexit )-4970(pthread_cleanup_push)]TJ -/T1_1 1 Tf --0.018 Tc 22.67 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(gister function to be called at exit fr)18(om \337ow of contr)18(ol)]TJ -/TT0 1 Tf --23.526 -1.25 Td -[(getpid )-4970(pthread_self)]TJ -/T1_1 1 Tf -22.67 0 Td -[(get ID for \337ow of contr)18(ol)]TJ -/TT0 1 Tf --22.67 -1.25 Td -(abort )Tj -9.17 0 Td -(pthread_cancel)Tj -/T1_1 1 Tf --0.018 Tc 13.5 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(quest abnormal termination of \337ow of contr)18(ol)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1315.25 2453.25 cm -0 0 m -3862 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3108.25 2453.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2028.25 2453.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5177.25 2453.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1315.25 2453.25 cm -0 0 m -0 760 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 221.8414 227.2918 Tm -[(Figure 1)37(1.6)]TJ -/T1_1 1 Tf -5.658 0 Td -[(Comparison of pr)18(ocess and thr)18(ead primitives)]TJ -9.997 0 0 9.997 147.5558 203.299 Tm -[(By )-138(default, )-138(a )-138(thr)18(ead\325s )-138(termination )-138(status )-138(is )-138(r)18(etained )-138(until )-138(we )-138(call)]TJ -/TT0 1 Tf -30 0 Td -(pthread_join)Tj -/T1_1 1 Tf --31.8 -1.2 Td -[(for )-337(that )-337(thr)18(ead. )-587(A)-587(thr)18(ead\325s )-337(underlying )-337(storage )-337(can )-337(be )-337(r)17(eclaimed )-337(immediately )-337(on)]TJ --0 -1.2 Td -[(termination )-39(if )-39(the )-39(thr)18(ead )-39(has )-39(been)]TJ -/T1_2 1 Tf -15.419 0 Td -(detached)Tj -/T1_1 1 Tf -0.5389 Tc (.A)Tj -0 Tc 5.029 0 Td -[(fter )-39(a )-39(thr)18(ead )-39(is )-39(detached, )-39(we )-39(can\325t )-39(use )-39(the)]TJ -/TT0 1 Tf --20.448 -1.2 Td -(pthread_join)Tj -/T1_1 1 Tf -8.141 0 Td -[(function )-690(to )-690(wait )-690(for )-690(its )-690(termination )-690(status, )-690(because )-690(calling)]TJ -/TT0 1 Tf --8.141 -1.2 Td -(pthread_join)Tj -/T1_1 1 Tf -7.54 0 Td -[(for )-90(a )-90(detached )-90(thr)18(ead )-90(r)18(esults )-90(in )-90(unde\336ned )-90(behavior)]TJ -0.5899 Tc 23.246 0 Td -(.W)Tj -0.3399 Tc 1.748 0 Td -(ec)Tj -0 Tc 1.263 0 Td -[(an )-90(detach )-90(a)]TJ --33.796 -1.2 Td -[(thr)18(ead by calling)]TJ -/TT0 1 Tf -7.689 0 Td -(pthread_detach)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47510 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(392)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -0 Tc 8.9995 0 0 8.9995 151.1909 670.2598 Tm -(err = pthread_create\(&tid2, NULL, thr_fn2, NULL\);)Tj -0 -1.189 TD -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t create thread 2"\);)Tj --2.4 -1.189 Td -(sleep\(1\);)Tj -T* -(printfoo\("parent:\\n", fp\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6013.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 224.2891 585.2288 Tm -[(Figure 1)37(1.4)]TJ -/T1_1 1 Tf -6.25 0 Td -[(Incorr)18(ect use of)]TJ -/TT0 1 Tf -7.065 0 Td -(pthread_exit)Tj -/T1_1 1 Tf -7.45 0 Td -[(ar)18(gument)]TJ -9.9988 0 0 9.9988 129.5843 557.6321 Tm -[(When we r)8(un this pr)18(ogram on Linux, we get)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5822 540.9341 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(thread 1:)Tj -1.2 -1.189 Td -(structure at 0x7f2c83682ed0)Tj -0 -1.189 TD -(foo.a = 1)Tj -0 -1.189 TD -(foo.b = 2)Tj -0 -1.189 TD -(foo.c = 3)Tj -T* -(foo.d = 4)Tj --1.2 -1.189 Td -(parent starting second thread)Tj -0 -1.189 TD -(thread 2: ID is 139829159933696)Tj -0 -1.189 TD -(parent:)Tj -1.2 -1.189 Td -(structure at 0x7f2c83682ed0)Tj -T* -(foo.a = -2090321472)Tj -0 -1.189 TD -(foo.b = 32556)Tj -0 -1.189 TD -(foo.c = 1)Tj -0 -1.189 TD -(foo.d = 0)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5843 373.155 Tm -[(Of )-130(course, )-130(the )-130(r)18(esults )-130(vary)]TJ -0.3801 Tc 11.996 0 Td -(,d)Tj -0 Tc 1.241 0 Td -[(epending )-130(on )-130(the )-130(memory )-130(ar)18(chitectur)18(e, )-130(the )-130(compiler)]TJ -0.3801 Tc 23.44 0 Td -(,a)Tj -0 Tc 1.13 0 Td -(nd)Tj --37.807 -1.2 Td -[(the implementation of the thr)18(eads library)]TJ -0.5 Tc 18.132 0 Td -(.T)Tj -0 Tc 1.363 0 Td -[(he r)18(esults on Solaris ar)]TJ -0.25 Tc 9.962 0 Td -(es)Tj -0 Tc 1.153 0 Td -(imilar:)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5821 344.4581 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(thread 1:)Tj -1.2 -1.189 Td -(structure at 0xffffffff7f0fbf30)Tj -T* -(foo.a = 1)Tj -0 -1.189 TD -(foo.b = 2)Tj -0 -1.189 TD -(foo.c = 3)Tj -0 -1.189 TD -(foo.d = 4)Tj --1.2 -1.189 Td -(parent starting second thread)Tj -0 -1.189 TD -(thread 2: ID is 3)Tj -T* -(parent:)Tj -1.2 -1.189 Td -(structure at 0xffffffff7f0fbf30)Tj -T* -(foo.a = -1)Tj -0 -1.189 TD -(foo.b = 2136969048)Tj -0 -1.189 TD -(foo.c = -1)Tj -T* -(foo.d = 2138049024)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5842 176.6766 Tm -[(As )-68(we )-68(can )-68(see, )-68(the )-68(contents )-68(of )-68(the )-68(str)9(uctur)]TJ -0.3179 Tc 19.068 0 Td -(e\()Tj -0 Tc 1.13 0 Td -[(allocated )-68(on )-68(the )-68(stack )-68(of )-68(thr)19(ead)]TJ -/T1_2 1 Tf -14.414 0 Td -(tid1)Tj -/T1_1 1 Tf -0.3178 Tc (\)h)Tj -0 Tc 2.844 0 Td -(ave)Tj --37.456 -1.2 Td -[(changed )-7(by )-7(the )-7(time )-7(the )-7(main )-7(thr)18(ead )-7(can )-7(access )-7(the )-7(str)10(uctur)18(e. )-257(Note)-257(how )-7(the )-7(stack )-7(of )-7(the)]TJ -0 -1.2 Td -[(second )-80(thr)18(ead )-80(\()]TJ -/T1_2 1 Tf -6.953 0 Td -(tid2)Tj -/T1_1 1 Tf -0.3297 Tc (\)h)Tj -0 Tc 2.856 0 Td -[(as )-80(overwritten )-80(the )-80(\336rst )-80(thr)18(ead\325s )-80(stack.)]TJ --0.092 Tc 17.584 0 Td -[(To )-264(s)]TJ -0 Tc 1.821 0 Td -[(olve )-80(this )-80(pr)19(oblem, )-80(we)]TJ --29.214 -1.2 Td -[(can either use a global str)8(uctur)18(e)-250(or)-250(allocate the str)8(uctur)]TJ -0.25 Tc 24.235 0 Td -(eu)Tj -0 Tc 1.332 0 Td -(sing)Tj -/TT0 1 Tf -2.103 0 Td -(malloc)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47511 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(334)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(#include )-1800("apue.h")]TJ -0 -1.189 TD -[(#include )-1800()]TJ -0 -2.14 TD -(static void sig_cld\(int\);)Tj -T* -(int)Tj -0 -1.189 TD -(main\(\))Tj -T* -({)Tj -2.4 -1.189 Td -[(pid_t )-1200(pid;)]TJ -0 -2.14 TD -(if \(signal\(SIGCLD, sig_cld\) == SIG_ERR\))Tj -2.4 -1.189 Td -(perror\("signal error"\);)Tj --2.4 -1.189 Td -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(perror\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(pid == 0\) {)-3600(/* child */)]TJ -0.6 -1.189 Td -(sleep\(2\);)Tj -0 -1.189 TD -(_exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -[(pause\(\); )-1800(/*)-600(parent */)]TJ -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(static void)Tj -0 -1.189 TD -[(sig_cld\(int signo\))-1200(/* interrupts pause\(\) */)]TJ -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(pid_t )-1200(pid;)]TJ -0 -1.189 TD -[(int )-2400(status;)]TJ -0 -2.14 TD -(printf\("SIGCLD received\\n"\);)Tj -0 -2.14 TD -(if \(signal\(SIGCLD, sig_cld\) == SIG_ERR\) /* reestablish handler */)Tj -2.4 -1.189 Td -(perror\("signal error"\);)Tj --2.4 -2.14 Td -[(if \(\(pid = wait\(&status\)\) < 0\))-3600(/* fetch child status */)]TJ -2.4 -1.189 Td -(perror\("wait error"\);)Tj --2.4 -2.14 Td -(printf\("pid = %d\\n", pid\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2673.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 222.7293 251.3278 Tm -(Figure 10.6)Tj -/T1_1 1 Tf -5.695 0 Td -(System V)Tj -/TT0 1 Tf -4.415 0 Td -(SIGCLD)Tj -/T1_1 1 Tf -3.85 0 Td -(handler that doesn\325t work)Tj --18.855 -3.35 Td -[(Fr)18(eeBSD )-219(8.0 )-219(and )-219(Mac )-219(OS )-219(X )-219(10.6.8 )-219(don\325t )-219(exhibit )-219(this )-219(pr)19(oblem, )-219(because )-219(BSD)]TJ -35.115 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-219(systems)]TJ --35.448 -1.25 Td -[(generally )-141(don\325t )-141(support )-141(historical )-141(System )-141(V )-141(semantics )-141(for)]TJ -/TT0 1 Tf -26.727 0 Td -(SIGCLD)Tj -/T1_1 1 Tf -0.6408 Tc (.L)Tj -0 Tc 5.102 0 Td -[(inux )-141(3.2.0 )-141(also )-141(doesn\325t)]TJ --31.829 -1.25 Td -[(exhibit )-253(this )-253(pr)17(oblem, )-253(because )-253(it )-253(doesn\325t )-253(call )-253(the)]TJ -/TT0 1 Tf -22.927 0 Td -(SIGCHLD)Tj -/T1_1 1 Tf -4.704 0 Td -[(signal )-253(handler )-253(when )-253(a )-253(pr)16(ocess)]TJ --27.63 -1.25 Td -[(arranges )-226(to )-226(catch)]TJ -/TT0 1 Tf -8.428 0 Td -(SIGCHLD)Tj -/T1_1 1 Tf -4.676 0 Td -[(and )-226(child )-226(pr)18(ocesses )-226(ar)]TJ -0.4763 Tc 10.416 0 Td -(er)Tj -0 Tc 1.332 0 Td -[(eady )-226(to )-226(be)]TJ -/TT0 1 Tf -5.479 0 Td -(wait)Tj -/T1_1 1 Tf -[(ed )-226(for)]TJ -0.4763 Tc 5.166 0 Td -(,e)Tj -0 Tc 1.205 0 Td -[(ven )-226(though)]TJ -/TT0 1 Tf --36.703 -1.25 Td -(SIGCLD)Tj -/T1_1 1 Tf -3.951 0 Td -(and)Tj -/TT0 1 Tf -2.044 0 Td -(SIGCHLD)Tj -/T1_1 1 Tf -4.551 0 Td -(ar)Tj -0.3511 Tc 0.877 0 Td -(ed)Tj -0 Tc 1.441 0 Td -[(e\336ned )-101(to )-101(be )-101(the )-101(same )-101(value.)-602(Solaris )-101(10, )-101(on )-101(the )-101(other )-101(hand, )-101(does)]TJ --12.865 -1.25 Td -[(call )-176(the )-176(signal )-176(handler )-176(in )-176(this )-176(situation, )-176(but )-176(includes )-176(extra )-176(code )-176(in )-176(the )-176(kernel )-176(to )-176(avoid )-176(this)]TJ -0 -1.25 TD -[(pr)18(oblem.)]TJ -0 -2.25 TD -[(Although )-83(the )-83(four )-83(platforms )-83(described )-83(in )-83(this )-83(book )-83(solve )-83(this )-83(pr)17(oblem, )-83(r)18(ealize )-83(that )-83(platforms)]TJ -0 -1.25 TD -[(\(such as AIX\) still exist that haven\325t addr)18(essed it.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47512 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(316)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 6670.25 cm -0 0 m -4255 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 329.6122 658.9605 Tm -[(Fr)18(eeBSD )-250(Linux )-250(Mac)-250(OS X)-500(Solaris)]TJ -1.276 -1.25 Td -[(8.0 )-1827(3.2.0)-1735(10.6.8 )-2170(10)]TJ --28.372 0.625 Td -(Name)Tj -10.427 0 Td -(Description)Tj -11.234 0 Td -[(ISO C)-500(SUS)]TJ -21.906 0 Td -(Default action)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 6450.25 cm -0 0 m -4255 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 6430.25 cm -0 0 m -4255 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 99.62 634.9238 Tm -(SIGABRT)Tj -/T1_1 1 Tf -6.5 0 Td -(abnormal termination \()Tj -/TT0 1 Tf -(abort)Tj -/T1_1 1 Tf -4.1985 Tc (\)\245)Tj -2.7085 Tc 20.533 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -[(terminate+cor)18(e)]TJ -/TT0 1 Tf --44.494 -1.25 Td -(SIGALRM)Tj -/T1_1 1 Tf -6.5 0 Td -[(timer expir)18(ed \()]TJ -/TT0 1 Tf -(alarm)Tj -/T1_1 1 Tf -10.639 Tc (\)\245)Tj -3.096 Tc 23.847 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245t)Tj -0 Tc 2.615 0 Td -(erminate)Tj -/TT0 1 Tf --44.82 -1.25 Td -(SIGBUS)Tj -/T1_1 1 Tf -6.5 0 Td -[(har)18(dwar)]TJ -0.25 Tc 3.781 0 Td -(ef)Tj -0 Tc 1.062 0 Td -(ault )Tj -15.69 0 Td -(\245)Tj -3.096 Tc 3.314 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245t)Tj -0 Tc 2.615 0 Td -[(erminate+cor)18(e)]TJ -/TT0 1 Tf --44.82 -1.25 Td -(SIGCANCEL)Tj -/T1_1 1 Tf -6.5 0 Td -[(thr)18(eads library internal use)]TJ -1.683 Tc 35.705 0 Td -(\245i)Tj -0 Tc 2.58 0 Td -[(gnor)18(e)]TJ -/TT0 1 Tf --44.785 -1.25 Td -(SIGCHLD)Tj -/T1_1 1 Tf -6.5 0 Td -(change in status of child)Tj -2.7085 Tc 20.533 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -[(ignor)18(e)]TJ -/TT0 1 Tf --44.494 -1.25 Td -(SIGCONT)Tj -/T1_1 1 Tf -6.5 0 Td -[(continue stopped pr)18(ocess )]TJ -20.533 0 Td -(\245)Tj -3.096 Tc 3.314 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245c)Tj -0 Tc 2.733 0 Td -[(ontinue/ignor)18(e)]TJ -/TT0 1 Tf --44.938 -1.25 Td -(SIGEMT)Tj -/T1_1 1 Tf -6.5 0 Td -[(har)18(dwar)]TJ -0.25 Tc 3.781 0 Td -(ef)Tj -0 Tc 1.062 0 Td -(ault )Tj -19.004 0 Td -(\245)Tj -3.3795 Tc 3.703 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc 10.444 0 Td -[(terminate+cor)18(e)]TJ -/TT0 1 Tf --44.494 -1.25 Td -(SIGFPE)Tj -/T1_1 1 Tf -6.5 0 Td -(arithmetic exception)Tj -2.1115 Tc 17.815 0 Td -[(\245\245 )1765(\245)]TJ -3.3795 Tc 9.734 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc 10.444 0 Td -[(terminate+cor)18(e)]TJ -/TT0 1 Tf --44.494 -1.25 Td -(SIGFREEZE)Tj -/T1_1 1 Tf -6.5 0 Td -[(checkpoint fr)18(eeze )]TJ -35.705 0 Td -[(\245)-1683(ignor)18(e)]TJ -/TT0 1 Tf --42.205 -1.25 Td -(SIGHUP)Tj -/T1_1 1 Tf -6.5 0 Td -(hangup )Tj -20.533 0 Td -(\245)Tj -3.096 Tc 3.314 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245t)Tj -0 Tc 2.615 0 Td -(erminate)Tj -/TT0 1 Tf --44.82 -1.25 Td -(SIGILL)Tj -/T1_1 1 Tf -6.5 0 Td -[(illegal instr)8(uction )]TJ -17.815 0 Td -(\245)Tj -2.7085 Tc 2.718 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -[(terminate+cor)18(e)]TJ -/TT0 1 Tf --44.494 -1.25 Td -(SIGINFO)Tj -/T1_1 1 Tf -6.5 0 Td -[(status r)18(equest fr)18(om keyboar)]TJ -10.9295 Tc 12.307 0 Td -(d\245)Tj -5.853 Tc 19.228 0 Td -(\245i)Tj -0 Tc 6.75 0 Td -[(gnor)18(e)]TJ -/TT0 1 Tf --44.785 -1.25 Td -(SIGINT)Tj -/T1_1 1 Tf -6.5 0 Td -[(terminal interr)8(upt character)]TJ -2.1115 Tc 17.815 0 Td -[(\245\245 )1765(\245)]TJ -3.3795 Tc 9.734 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc 10.444 0 Td -(terminate)Tj -/TT0 1 Tf --44.494 -1.25 Td -(SIGIO)Tj -/T1_1 1 Tf -6.5 0 Td -[(asynchr)18(onous I/O)]TJ -3.096 Tc 23.847 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245t)Tj -0 Tc 2.615 0 Td -[(erminate/ignor)18(e)]TJ -/TT0 1 Tf --44.82 -1.25 Td -(SIGIOT)Tj -/T1_1 1 Tf -6.5 0 Td -[(har)18(dwar)]TJ -0.25 Tc 3.781 0 Td -(ef)Tj -0 Tc 1.062 0 Td -(ault )Tj -19.004 0 Td -(\245)Tj -3.3795 Tc 3.703 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc 10.444 0 Td -[(terminate+cor)18(e)]TJ -/TT0 1 Tf --44.494 -1.25 Td -(SIGJVM1)Tj -/T1_1 1 Tf -6.5 0 Td -(Java virtual machine internal use)Tj -1.683 Tc 35.705 0 Td -(\245i)Tj -0 Tc 2.58 0 Td -[(gnor)18(e)]TJ -/TT0 1 Tf --44.785 -1.25 Td -(SIGJVM2)Tj -/T1_1 1 Tf -6.5 0 Td -(Java virtual machine internal use)Tj -1.683 Tc 35.705 0 Td -(\245i)Tj -0 Tc 2.58 0 Td -[(gnor)18(e)]TJ -/TT0 1 Tf --44.785 -1.25 Td -(SIGKILL)Tj -/T1_1 1 Tf -6.5 0 Td -(termination )Tj -20.533 0 Td -(\245)Tj -3.096 Tc 3.314 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245t)Tj -0 Tc 2.615 0 Td -(erminate)Tj -/TT0 1 Tf --44.82 -1.25 Td -(SIGLOST)Tj -/T1_1 1 Tf --0.018 Tc 6.5 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ce lost)]TJ -1.683 Tc 34.849 0 Td -(\245t)Tj -0 Tc 2.615 0 Td -(erminate)Tj -/TT0 1 Tf --44.82 -1.25 Td -(SIGLWP)Tj -/T1_1 1 Tf -6.5 0 Td -[(thr)18(eads library internal use)]TJ -11.2515 Tc 23.847 0 Td -(\245\245)Tj -0 Tc 14.147 0 Td -[(terminate/ignor)18(e)]TJ -/TT0 1 Tf --44.494 -1.25 Td -(SIGPIPE)Tj -/T1_1 1 Tf -6.5 0 Td -[(write to pipe with no r)18(eaders )]TJ -20.533 0 Td -(\245)Tj -3.096 Tc 3.314 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245t)Tj -0 Tc 2.615 0 Td -(erminate)Tj -/TT0 1 Tf --44.82 -1.25 Td -(SIGPOLL)Tj -/T1_1 1 Tf -6.5 0 Td -(pollable event \()Tj -/TT0 1 Tf -(poll)Tj -/T1_1 1 Tf -18.0005 Tc (\)\245)Tj -1.683 Tc 35.705 0 Td -(\245t)Tj -0 Tc 2.615 0 Td -(erminate)Tj -/TT0 1 Tf --44.82 -1.25 Td -(SIGPROF)Tj -/T1_1 1 Tf -6.5 0 Td -[(pr)18(o\336ling time alarm \()]TJ -/TT0 1 Tf -(setitimer)Tj -/T1_1 1 Tf -8.6345 Tc (\)\245)Tj -3.3795 Tc 27.549 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc 10.444 0 Td -(terminate)Tj -/TT0 1 Tf --44.494 -1.25 Td -(SIGPWR)Tj -/T1_1 1 Tf -6.5 0 Td -[(power fail/r)18(estart )]TJ -27.549 0 Td -(\245)Tj -1.683 Tc 8.156 0 Td -(\245t)Tj -0 Tc 2.615 0 Td -[(erminate/ignor)18(e)]TJ -/TT0 1 Tf --44.82 -1.25 Td -(SIGQUIT)Tj -/T1_1 1 Tf -6.5 0 Td -(terminal quit character)Tj -2.7085 Tc 20.533 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -[(terminate+cor)18(e)]TJ -/TT0 1 Tf --44.494 -1.25 Td -(SIGSEGV)Tj -/T1_1 1 Tf -6.5 0 Td -[(invalid memory r)18(efer)18(ence )]TJ -17.815 0 Td -(\245)Tj -2.7085 Tc 2.718 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -[(terminate+cor)18(e)]TJ -/TT0 1 Tf --44.494 -1.25 Td -(SIGSTKFLT)Tj -/T1_1 1 Tf -6.5 0 Td -[(copr)18(ocessor stack fault)]TJ -9.8385 Tc 27.549 0 Td -(\245t)Tj -0 Tc 10.771 0 Td -(erminate)Tj -/TT0 1 Tf --44.82 -1.25 Td -(SIGSTOP)Tj -/T1_1 1 Tf -6.5 0 Td -(stop )Tj -20.533 0 Td -(\245)Tj -3.096 Tc 3.314 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245s)Tj -0 Tc 2.713 0 Td -[(top pr)18(ocess)]TJ -/TT0 1 Tf --44.918 -1.25 Td -(SIGSYS)Tj -/T1_1 1 Tf -6.5 0 Td -(invalid system call)Tj -20.071 0 Td -[(XSI )-1997(\245)]TJ -3.3795 Tc 7.478 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc 10.444 0 Td -[(terminate+cor)18(e)]TJ -/TT0 1 Tf --44.494 -1.25 Td -(SIGTERM)Tj -/T1_1 1 Tf -6.5 0 Td -(termination )Tj -17.815 0 Td -(\245)Tj -2.7085 Tc 2.718 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -(terminate)Tj -/TT0 1 Tf --44.494 -1.25 Td -(SIGTHAW)Tj -/T1_1 1 Tf -6.5 0 Td -(checkpoint thaw)Tj -1.683 Tc 35.705 0 Td -(\245i)Tj -0 Tc 2.58 0 Td -[(gnor)18(e)]TJ -/TT0 1 Tf --44.785 -1.25 Td -(SIGTHR)Tj -/T1_1 1 Tf -6.5 0 Td -[(thr)18(eads library internal use)]TJ -13.5405 Tc 23.847 0 Td -(\245t)Tj -0 Tc 14.473 0 Td -(erminate)Tj -/TT0 1 Tf --44.82 -1.25 Td -(SIGTRAP)Tj -/T1_1 1 Tf -6.5 0 Td -[(har)18(dwar)]TJ -0.25 Tc 3.781 0 Td -(ef)Tj -0 Tc 1.062 0 Td -(ault )Tj -15.228 0 Td -(XSI)Tj -3.096 Tc 3.777 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245t)Tj -0 Tc 2.615 0 Td -[(erminate+cor)18(e)]TJ -/TT0 1 Tf --44.82 -1.25 Td -(SIGTSTP)Tj -/T1_1 1 Tf -6.5 0 Td -(terminal stop character)Tj -2.7085 Tc 20.533 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -[(stop pr)18(ocess)]TJ -/TT0 1 Tf --44.494 -1.25 Td -(SIGTTIN)Tj -/T1_1 1 Tf -6.5 0 Td -[(backgr)18(ound r)18(ead fr)18(om contr)18(ol tty)]TJ -2.7085 Tc 20.533 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -[(stop pr)18(ocess)]TJ -/TT0 1 Tf --44.494 -1.25 Td -(SIGTTOU)Tj -/T1_1 1 Tf -6.5 0 Td -[(backgr)18(ound write to contr)18(ol tty)]TJ -2.7085 Tc 20.533 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -[(stop pr)18(ocess)]TJ -/TT0 1 Tf --44.494 -1.25 Td -(SIGURG)Tj -/T1_1 1 Tf -6.5 0 Td -[(ur)18(gent condition \(sockets\))]TJ -2.7085 Tc 20.533 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -[(ignor)18(e)]TJ -/TT0 1 Tf --44.494 -1.25 Td -(SIGUSR1)Tj -/T1_1 1 Tf -6.5 0 Td -[(user)18(-de\336ned signal)]TJ -2.7085 Tc 20.533 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -(terminate)Tj -/TT0 1 Tf --44.494 -1.25 Td -(SIGUSR2)Tj -/T1_1 1 Tf -6.5 0 Td -[(user)18(-de\336ned signal)]TJ -2.7085 Tc 20.533 0 Td -[(\245\245 )2571(\245)]TJ -3.564 Tc 11.002 0 Td -(\245\245)Tj -0 Tc 6.459 0 Td -(terminate)Tj -/TT0 1 Tf --44.494 -1.25 Td -(SIGVTALRM)Tj -/T1_1 1 Tf -6.5 0 Td -(virtual time alarm \()Tj -/TT0 1 Tf -(setitimer)Tj -/T1_1 1 Tf -5.7365 Tc (\)X)Tj -0 Tc 20.739 0 Td -[(SI )-1997(\245)]TJ -3.3795 Tc 6.811 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc 10.444 0 Td -(terminate)Tj -/TT0 1 Tf --44.494 -1.25 Td -(SIGWAITING)Tj -/T1_1 1 Tf -6.5 0 Td -[(thr)18(eads library internal use)]TJ -1.683 Tc 35.705 0 Td -(\245i)Tj -0 Tc 2.58 0 Td -[(gnor)18(e)]TJ -/TT0 1 Tf --44.785 -1.25 Td -(SIGWINCH)Tj -/T1_1 1 Tf -6.5 0 Td -(terminal window size change)Tj -3.096 Tc 23.847 0 Td -[(\245\245 )3063(\245)]TJ -1.683 Tc 11.858 0 Td -(\245i)Tj -0 Tc 2.58 0 Td -[(gnor)18(e)]TJ -/TT0 1 Tf --44.785 -1.25 Td -(SIGXCPU)Tj -/T1_1 1 Tf -6.5 0 Td -(CPU limit exceeded \()Tj -/TT0 1 Tf -(setrlimit)Tj -/T1_1 1 Tf -4.9845 Tc (\)X)Tj -0 Tc 20.739 0 Td -[(SI )-1997(\245)]TJ -3.3795 Tc 6.811 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc 10.444 0 Td -(terminate or)Tj -0 -1.25 TD -[(terminate+cor)18(e)]TJ -/TT0 1 Tf --44.494 -1.25 Td -(SIGXFSZ)Tj -/T1_1 1 Tf -6.5 0 Td -(\336le size limit exceeded \()Tj -/TT0 1 Tf -(setrlimit)Tj -/T1_1 1 Tf -3.7565 Tc (\)X)Tj -0 Tc 20.738 0 Td -[(SI )-1997(\245)]TJ -3.3795 Tc 6.811 0 Td -[(\245\245 )3445(\245)]TJ -0 Tc 10.445 0 Td -(terminate or)Tj -T* -[(terminate+cor)18(e)]TJ -/TT0 1 Tf --44.494 -1.25 Td -(SIGXRES)Tj -/T1_1 1 Tf --0.018 Tc 6.5 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ce contr)18(ol exceeded)]TJ -1.683 Tc 34.849 0 Td -(\245i)Tj -0 Tc 2.58 0 Td -[(gnor)18(e)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 1710.25 cm -0 0 m -4255 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4536.25 1710.25 cm -0 0 m -0 4960 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3276.25 1710.25 cm -0 0 m -0 4960 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2841.25 1710.25 cm -0 0 m -0 4960 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1496.25 1710.25 cm -0 0 m -0 4960 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5211.25 1710.25 cm -0 0 m -0 4960 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 1710.25 cm -0 0 m -0 4960 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 248.0793 152.9725 Tm -(Figure 10.1)Tj -/T1_1 1 Tf -5.695 0 Td -(UNIX System signals)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47513 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(70)Tj -/T1_1 1 Tf -3 0 Td -[(File )-250(I/O)]TJ -39.741 0 Td -[(Chapter )-250(3)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1498.25 6670.25 cm -0 0 m -3496 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 178.7333 658.9605 Tm -(Name of option)Tj -16.555 0 Td -(Description)Tj -/T1_2 1 Tf -13.966 0 Td -(name)Tj -/T1_1 1 Tf -2.417 0 Td -[(ar)18(gument)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1498.25 6550.25 cm -0 0 m -3496 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1498.25 6530.25 cm -0 0 m -3496 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 153.7815 644.9226 Tm -(_POSIX_V7_ILP32_OFF32 )Tj -31.3 0 Td -(_SC_V7_ILP32_OFF32)Tj --17.6 0 Td -(int)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.3 0 Td -(long)Tj -/T1_1 1 Tf -0.25 Tc (,p)Tj -0 Tc 3.501 0 Td -(ointer)Tj -0.25 Tc 2.545 0 Td -(,a)Tj -0 Tc 1 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(off_t)Tj -/T1_1 1 Tf -3.25 0 Td -(types)Tj --11.789 -1.25 Td -[(ar)18(e)-250(32)-250(bits.)]TJ -/TT0 1 Tf --15.95 -1.25 Td -(_POSIX_V7_ILP32_OFFBIG )Tj -31.3 0 Td -(_SC_V7_ILP32_OFFBIG)Tj --17.6 0 Td -(int)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.3 0 Td -(long)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 3.4 0 Td -[(nd pointer types ar)18(e)]TJ --3.45 -1.25 Td -(32 bits;)Tj -/TT0 1 Tf -3.344 0 Td -(off_t)Tj -/T1_1 1 Tf -3.25 0 Td -[(types ar)18(e)-250(at)-250(least)]TJ --6.594 -1.25 Td -(64 bits.)Tj -/TT0 1 Tf --15.95 -1.25 Td -(_POSIX_V7_LP64_OFF64 )Tj -31.3 0 Td -(_SC_V7_LP64_OFF64)Tj --17.6 0 Td -(int)Tj -/T1_1 1 Tf -2.05 0 Td -[(types ar)18(e)-250(32)-250(bits;)]TJ -/TT0 1 Tf -7.586 0 Td -(long)Tj -/T1_1 1 Tf -0.25 Tc (,p)Tj -0 Tc 3.501 0 Td -[(ointer)74(,)]TJ --10.887 -1.25 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(off_t)Tj -/T1_1 1 Tf -3.25 0 Td -[(types ar)18(e)-250(64)-250(bits.)]TJ -/TT0 1 Tf --21.143 -1.25 Td -(_POSIX_V7_LP64_OFFBIG )Tj -31.3 0 Td -(_SC_V7_LP64_OFFBIG)Tj --17.6 0 Td -(int)Tj -/T1_1 1 Tf -2.05 0 Td -[(types ar)18(e)-250(at)-250(least 32 bits;)]TJ -/TT0 1 Tf -10.932 0 Td -(long)Tj -/T1_1 1 Tf -(,)Tj --10.732 -1.25 Td -(pointer)Tj -0.25 Tc 3.146 0 Td -(,a)Tj -0 Tc 1 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(off_t)Tj -/T1_1 1 Tf -3.25 0 Td -(types ar)Tj -0.25 Tc 3.513 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(t)Tj --13.581 -1.25 Td -(least 64 bits.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1498.25 5510.25 cm -0 0 m -3496 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4022.25 5510.25 cm -0 0 m -0 1160 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2614.25 5510.25 cm -0 0 m -0 1160 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4994.25 5510.25 cm -0 0 m -0 1160 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1498.25 5510.25 cm -0 0 m -0 1160 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 213.6935 532.9041 Tm -(Figure 3.3)Tj -/T1_1 1 Tf -5.195 0 Td -(Data size options and)Tj -/T1_2 1 Tf -9.803 0 Td -(name)Tj -/T1_1 1 Tf -2.417 0 Td -[(ar)18(guments to)]TJ -/TT0 1 Tf -6.102 0 Td -(sysconf)Tj -/T1_1 1 Tf -9.9982 0 0 9.9982 147.5733 508.9084 Tm -(The)Tj -/TT0 1 Tf -2.191 0 Td -(c99)Tj -/T1_1 1 Tf -2.317 0 Td -[(compiler )-267(r)18(equir)18(es )-267(that )-267(we )-267(use )-267(the)]TJ -/TT0 1 Tf -16.564 0 Td -(getconf)Tj -/T1_1 1 Tf -4.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.85 -0.04 Td -[(command )-267(to )-267(map )-267(the)]TJ --28.756 -1.2 Td -[(desir)18(ed )-270(data )-270(size )-270(model )-270(to )-270(the )-270(\337ags )-270(necessary )-270(to )-270(compile )-270(and )-270(link )-270(our )-270(pr)17(ograms.)]TJ --0 -1.2 Td -[(Dif)18(fer)18(ent )-456(\337ags )-456(and )-456(libraries )-456(might )-456(be )-456(needed, )-456(depending )-456(on )-456(the )-456(envir)18(onments)]TJ --0 -1.2 Td -(supported by each platform.)Tj -7.9986 0 0 7.9986 183.5667 452.9185 Tm -(Unfortunately)Tj -0.3294 Tc 6.186 0 Td -(,t)Tj -0 Tc 0.905 0 Td -[(his )-79(is )-79(one )-79(ar)18(ea )-79(in )-79(which )-79(implementations )-79(haven\325t )-79(caught )-79(up )-79(to )-79(the )-79(standar)14(ds.)]TJ --7.091 -1.25 Td -[(If )-27(your )-27(system )-27(does )-27(not )-27(match )-27(the )-27(latest )-27(version )-27(of )-27(the )-27(standar)21(d, )-27(the )-27(system )-27(might )-27(support )-27(the)]TJ -0 -1.25 TD -[(option )-956(names )-956(fr)18(om )-956(the )-956(pr)18(evious )-956(version )-956(of )-956(the )-956(Single )-956(UNIX )-956(Speci\336cation:)]TJ -/TT0 1 Tf -T* -(_POSIX_V6_ILP32_OFF32)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -13.436 0 Td -(_POSIX_V6_ILP32_OFFBIG)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -14.036 0 Td -(_POSIX_V6_LP64_OFF64)Tj -/T1_1 1 Tf -0.5856 Tc (,a)Tj -0 Tc 13.336 0 Td -(nd)Tj -/TT0 1 Tf --40.807 -1.25 Td -(_POSIX_V6_LP64_OFFBIG)Tj -/T1_1 1 Tf -(.)Tj --0.092 Tc -0 -2 Td -[(To )-348(g)]TJ -0 Tc 2.037 0 Td -[(et )-164(ar)18(ound )-164(this, )-164(applications )-164(can )-164(set )-164(the)]TJ -/TT0 1 Tf -18.334 0 Td -(_FILE_OFFSET_BITS)Tj -/T1_1 1 Tf -10.614 0 Td -[(constant )-164(to )-164(64 )-164(to )-164(enable)]TJ --30.985 -1.25 Td -(64)Tj -1 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-71(of)18(fsets. )-321(Doing)-321(so )-71(changes )-71(the )-71(de\336nition )-71(of)]TJ -/TT0 1 Tf -20.951 0 Td -(off_t)Tj -/T1_1 1 Tf -3.321 0 Td -[(to )-71(be )-71(a )-71(64)]TJ -4.367 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-71(signed )-71(integer)]TJ -0.571 Tc 7.789 0 Td -(.S)Tj -0 Tc 1.346 0 Td -(etting)Tj -/TT0 1 Tf --39.44 -1.25 Td -(_FILE_OFFSET_BITS)Tj -/T1_1 1 Tf -10.575 0 Td -[(to )-125(32 )-125(enables )-125(32)]TJ -7.306 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-126(\336le )-126(of)19(fsets. )-376(Be)-375(awar)18(e, )-126(however)]TJ -0.3756 Tc 15.606 0 Td -(,t)Tj -0 Tc 0.952 0 Td -[(hat )-126(although )-126(all)]TJ --34.773 -1.25 Td -[(four )-343(platforms )-343(discussed )-343(in )-343(this )-343(text )-343(support )-343(both )-343(32)]TJ -25.879 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-343(and )-343(64)]TJ -5.05 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-343(\336le )-343(of)18(fsets, )-343(setting)]TJ -/TT0 1 Tf --31.595 -1.25 Td -(_FILE_OFFSET_BITS)Tj -/T1_1 1 Tf -10.45 0 Td -[(is not guaranteed to be portable and might not have the desir)18(ed ef)18(fect.)]TJ --10.45 -2 Td -(Figur)Tj -0.3571 Tc 2.383 0 Td -(e3)Tj -0 Tc 1.336 0 Td -[(.4 )-107(summarizes )-107(the )-107(size )-107(in )-107(bytes )-107(of )-107(the)]TJ -/TT0 1 Tf -17.547 0 Td -(off_t)Tj -/T1_1 1 Tf -3.357 0 Td -[(data )-107(type )-107(for )-107(the )-107(platforms )-107(cover)18(ed )-107(in)]TJ --24.623 -1.25 Td -[(this )-49(book )-49(when )-49(an )-49(application )-49(doesn\325t )-49(de\336ne)]TJ -/TT0 1 Tf -20.453 0 Td -(_FILE_OFFSET_BITS)Tj -/T1_1 1 Tf -[(,)-299(as)-299(well )-49(as )-49(the )-49(size )-49(when)]TJ --20.453 -1.25 Td -(an application de\336nes)Tj -/TT0 1 Tf -9.985 0 Td -(_FILE_OFFSET_BITS)Tj -/T1_1 1 Tf -10.45 0 Td -(to have a value of either 32 or 64.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2318.25 2990.25 cm -0 0 m -2396 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 246.1449 290.9302 Tm -[(Operating )-4478(CPU)]TJ -/TT0 1 Tf -14.762 0 Td -(_FILE_OFFSET_BITS)Tj -/T1_1 1 Tf -10.45 0 Td -(value)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3583.25 2870.25 cm -0 0 m -1131 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 251.8244 278.9163 Tm -[(system )-3621(ar)18(chitectur)]TJ -2.3853 Tc 11.713 0 Td -(eU)Tj -0 Tc 3.642 0 Td -[(nde\336ned )-2304(32 )-2304(64)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2318.25 2750.25 cm -0 0 m -2396 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2318.25 2730.25 cm -0 0 m -2396 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 235.7111 264.9046 Tm -[(Fr)18(eeBSD 8.0)-4155(x86 32)]TJ -12.222 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-4728(8)]TJ -3.0536 Tc 11.565 0 Td -(88)Tj -0 Tc -24.12 -1.25 Td -[(Linux 3.2.0)-4603(x86 64)]TJ -12.222 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-4728(8)]TJ -3.0536 Tc 11.565 0 Td -(88)Tj -0 Tc -24.12 -1.25 Td -[(Mac OS X 10.6.8)-2338(x86 64)]TJ -12.222 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-4728(8)]TJ -3.0536 Tc 11.565 0 Td -(88)Tj -0 Tc -24.12 -1.25 Td -[(Solaris 10)-4396(SP)92(ARC 64)]TJ -13.06 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-3890(8)]TJ -3.0536 Tc 10.727 0 Td -(48)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2318.25 2310.25 cm -0 0 m -2396 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 2310.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4165.25 2310.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3583.25 2310.25 cm -0 0 m -0 680 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2987.25 2310.25 cm -0 0 m -0 680 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4714.25 2310.25 cm -0 0 m -0 680 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2318.25 2310.25 cm -0 0 m -0 680 l -S -Q -Q -BT -/T1_0 1 Tf -0 Tc 7.9966 0 0 7.9966 250.7107 212.9106 Tm -(Figure 3.4)Tj -/T1_1 1 Tf -5.195 0 Td -(Size in bytes of)Tj -/TT0 1 Tf -6.885 0 Td -(off_t)Tj -/T1_1 1 Tf -3.25 0 Td -[(for dif)18(fer)18(ent platforms)]TJ -9.9958 0 0 9.9958 147.5383 184.9223 Tm -[(Note )-100(that )-100(even )-100(though )-100(you )-100(might )-100(enable )-100(64)]TJ -19.892 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-100(\336le )-100(of)18(fsets, )-100(your )-100(ability )-100(to )-100(cr)18(eate )-100(a)]TJ --22.025 -1.2 Td -[(\336le lar)18(ger than 2 GB)]TJ -9.087 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -6.9971 0 0 6.9971 228.7043 177.9253 Tm -(31)Tj -/TT1 1 Tf -9.9958 0 0 9.9958 235.7014 172.9274 Tm -(!)Tj -/T1_1 1 Tf -0.25 Tc (1b)Tj -0 Tc 1.852 0 Td -(ytes)Tj -1.785 0.04 Td -(\))Tj -0.583 -0.04 Td -(depends on the underlying \336le system type.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47514 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(808)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(34 )-3000(if)-600(\(err || \(optind != argc - 1\)\))]TJ -0 -1.189 TD -(35 )Tj -7.2 0 Td -[(err_quit\("usage:)-600(print [-t] filename"\);)]TJ --7.2 -1.189 Td -[(36 )-3000(if)-600(\(\(fd = open\(argv[optind], O_RDONLY\)\) < 0\))]TJ -T* -(37 )Tj -7.2 0 Td -[(err_sys\("print:)-600(can\325t open %s", argv[optind]\);)]TJ --7.2 -1.189 Td -[(38 )-3000(if)-600(\(fstat\(fd, &sbuf\) < 0\))]TJ -0 -1.189 TD -(39 )Tj -7.2 0 Td -[(err_sys\("print:)-600(can\325t stat %s", argv[optind]\);)]TJ --7.2 -1.189 Td -[(40 )-3000(if)-600(\(!S_ISREG\(sbuf.st_mode\)\))]TJ -0 -1.189 TD -(41 )Tj -7.2 0 Td -[(err_quit\("print:)-600(%s must be a regular file", argv[optind]\);)]TJ --7.2 -2.021 Td -[(42 )-3000(/*)]TJ -0 -1.189 TD -[(43 )-3600(*)-600(Get the hostname of the host acting as the print server.)]TJ -0 -1.189 TD -[(44 )-3600(*/)]TJ -T* -[(45 )-3000(if)-600(\(\(host = get_printserver\(\)\) == NULL\))]TJ -T* -(46 )Tj -7.2 0 Td -[(err_quit\("print:)-600(no print server defined"\);)]TJ --7.2 -1.189 Td -[(47 )-3000(if)-600(\(\(err = getaddrlist\(host, "print", &ailist\)\) != 0\))]TJ -T* -(48 )Tj -7.2 0 Td -[(err_quit\("print:)-600(getaddrinfo error: %s", gai_strerror\(err\)\);)]TJ --7.2 -2.021 Td -[(49 )-3000(for)-600(\(aip = ailist; aip != NULL; aip = aip->ai_next\) {)]TJ -T* -(50 )Tj -7.2 0 Td -[(if)-600(\(\(sfd = connect_retry\(AF_INET, SOCK_STREAM, 0,)]TJ --7.2 -1.189 Td -(51 )Tj -8.4 0 Td -[(aip->ai_addr,)-600(aip->ai_addrlen\)\) < 0\) {)]TJ --8.4 -1.189 Td -(52 )Tj -9.6 0 Td -(err)Tj -0.6 Tc 2.4 0 Td -(=e)Tj -0 Tc 1.8 0 Td -(rrno;)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4471.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 423.0672 Tm -[([34 )167(\320 )167(41])-668(When)]TJ -/TT0 1 Tf -7.245 0 Td -(getopt)Tj -/T1_1 1 Tf -4.202 0 Td -[(completes )-352(pr)18(ocessing )-352(the )-352(command )-352(options, )-352(it )-352(leaves )-352(the)]TJ --7.446 -1.2 Td -(variable)Tj -/TT0 1 Tf -3.931 0 Td -(optind)Tj -/T1_1 1 Tf -3.957 0 Td -[(set )-107(to )-107(the )-107(index )-107(of )-107(the )-107(\336rst )-107(nonoptional )-107(ar)21(gument. )-357(If)-356(this )-107(is)]TJ --7.887 -1.2 Td -[(any )-18(value )-18(other )-18(than )-18(the )-18(index )-18(of )-18(the )-18(last )-18(ar)18(gument, )-18(then )-18(the )-18(wr)18(ong )-18(number )-18(of)]TJ -0 -1.2 TD -[(ar)18(guments )-143(was )-143(speci\336ed )-143(\(we )-143(support )-143(only )-143(one )-143(nonoptional )-143(ar)17(gument\). )-393(Our)]TJ --0 -1.2 Td -[(err)18(or )-224(pr)18(ocessing )-224(includes )-224(checks )-224(to )-224(ensur)]TJ -0.4744 Tc 19.279 0 Td -(et)Tj -0 Tc 1.279 0 Td -[(hat )-224(we )-224(can )-224(open )-224(the )-224(\336le )-224(to )-224(be)]TJ --20.558 -1.2 Td -[(printed )-82(and )-82(that )-82(it )-82(is )-82(a )-82(r)19(egular )-82(\336le )-82(\(as )-82(opposed )-82(to )-82(a )-82(dir)18(ectory )-82(or )-82(other )-82(type )-82(of)]TJ -T* -(\336le\).)Tj --4 -1.72 Td -[([42 )167(\320 )167(48])]TJ --0.092 Tc 4 0 Td -[(We )-236(g)]TJ -0 Tc 2.245 0 Td -[(et )-52(the )-52(name )-52(of )-52(the )-52(host )-52(wher)]TJ -0.3018 Tc 12.863 0 Td -(et)Tj -0 Tc 1.107 0 Td -[(he )-52(printer )-52(spooling )-52(daemon )-52(is )-52(r)8(unning )-52(by)]TJ --16.214 -1.2 Td -[(calling )-76(the)]TJ -/TT0 1 Tf -4.994 0 Td -(get_printserver)Tj -/T1_1 1 Tf -9.326 0 Td -[(function )-76(fr)18(om)]TJ -/TT0 1 Tf -6.498 0 Td -(util.c)Tj -/T1_1 1 Tf -0.5759 Tc (.T)Tj -0 Tc 5.039 0 Td -[(hen )-76(we )-76(translate )-76(the)]TJ --25.856 -1.2 Td -[(host )-389(name )-389(into )-389(a )-389(network )-389(addr)18(ess )-389(by )-389(calling)]TJ -/TT0 1 Tf -22.889 0 Td -(getaddrlist)Tj -/T1_1 1 Tf -7.239 0 Td -[(\(also )-389(fr)18(om)]TJ -/TT0 1 Tf --30.128 -1.2 Td -(util.c)Tj -/T1_1 1 Tf -(\).)Tj -0 -1.8 TD -[(Note )-137(that )-137(we )-137(specify )-137(the )-137(service )-137(as )-137(\324)38(\324print.\325)]TJ -0.6368 Tc 19.658 0 Td -(\325A)Tj -0.3868 Tc 1.693 0 Td -(sp)Tj -0 Tc 1.412 0 Td -[(art )-137(of )-137(installing )-137(the )-137(printer)]TJ --22.763 -1.2 Td -[(spooling )-12(daemon )-12(on )-12(a )-12(system, )-12(we )-12(need )-12(to )-12(make )-12(sur)]TJ -0.2623 Tc 22.926 0 Td -(et)Tj -0 Tc 1.067 0 Td -(hat)Tj -/TT0 1 Tf -1.67 0 Td -(/etc/services)Tj -/T1_1 1 Tf -8.062 0 Td -(\(or)Tj --33.726 -1.2 Td -[(the )-25(equivalent )-25(database\) )-25(has )-25(an )-25(entry )-25(for )-25(the )-25(printer )-25(service.)-525(When )-25(we )-25(select )-25(a)]TJ -0 -1.2 TD -[(port )-189(number )-189(for )-189(the )-189(daemon, )-189(it )-189(would )-189(be )-189(a )-189(good )-189(idea )-189(to )-189(select )-189(one )-189(that )-189(is)]TJ -T* -[(privileged, )-118(to )-118(pr)18(event )-118(malicious )-118(users )-118(fr)18(om )-118(writing )-118(applications )-118(that )-118(pr)18(etend)]TJ -T* -[(to )-87(be )-87(a )-87(printer )-87(spooling )-87(daemon )-87(but )-87(instead )-87(steal )-87(copies )-87(of )-87(the )-87(\336les )-87(we )-87(try )-87(to)]TJ -T* -[(print. )-532(This)-532(means )-282(that )-282(the )-282(port )-282(number )-282(should )-282(be )-282(less )-282(than )-282(1,024 )-282(\(r)21(ecall)]TJ --0 -1.2 Td -[(Section )-27(16.3.4\) )-27(and )-27(that )-27(our )-27(daemon )-27(will )-27(have )-27(to )-27(r)8(un )-27(with )-27(super)8(user )-27(privileges)]TJ -T* -[(to allow it to bind to a r)18(eserved port.)]TJ --4 -1.72 Td -[([49 )167(\320 )167(52])]TJ --0.092 Tc 4 0 Td -[(We )-371(t)]TJ -0 Tc 2.15 0 Td -[(ry )-187(to )-187(connect )-187(to )-187(the )-187(daemon )-187(using )-187(one )-187(addr)18(ess )-187(at )-187(a )-187(time )-187(fr)18(om )-187(the )-187(list)]TJ --0.018 Tc -2.15 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turned )-98(by)]TJ -/TT0 1 Tf -4.801 0 Td -(getaddrinfo)Tj -/T1_1 1 Tf -0.5978 Tc (.W)Tj -0.3478 Tc 8.356 0 Td -(ew)Tj -0 Tc 1.661 0 Td -[(ill )-98(try )-98(to )-98(send )-98(the )-98(\336le )-98(to )-98(the )-98(daemon )-98(using)]TJ --15.673 -1.2 Td -[(the \336rst addr)18(ess to which we can connect.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47515 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(630)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 670.2598 Tm -(#include )Tj -0 -1.902 TD -(int socketpair\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(domain)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.8 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(type)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.522 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -[(pr)18(otocol)]TJ -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 5.021 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(sockfd)Tj -/TT0 1 Tf -([2]\);)Tj -/T1_1 1 Tf --3.292 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6315.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 617.9858 Tm -[(Although )-185(the )-185(interface )-185(is )-185(suf)18(\336ciently )-185(general )-185(to )-185(allow)]TJ -/TT0 1 Tf -25.206 0 Td -(socketpair)Tj -/T1_1 1 Tf -6.435 0 Td -[(to )-185(be )-185(used )-185(with)]TJ --31.641 -1.2 Td -[(other )-28(domains, )-28(operating )-28(systems )-28(typically )-28(pr)18(ovide )-28(support )-28(only )-28(for )-28(the )-28(UNIX )-28(domain.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2850 5456.6 792 360 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2904 5024.6 288 143.996 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 293.6471 507.8086 Tm -(socket)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -3300 5024.6 288 143.996 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 333.22 507.7781 Tm -(socket)Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 304.8 545.66 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 3048 5456.6001 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 304.8 516.86 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 3048 5168.6001 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3048.25 5384.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 344.4 545.66 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3444 5456.6001 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 344.4 516.86 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3444 5168.6001 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3444.25 5384.25 cm -0 0 m -0 -144 l -S -Q -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 292.6595 548.6366 Tm -[(fd[0])-1950(fd[1])]TJ -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 304.8 502.46 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3048 5024.6001 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 344.4 502.46 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 3444 5024.6001 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3048 5017.3999 cm -0 0 m -0 -68.4 l -0 -114 33 -148.8 99 -172.8 c -165 -196.8 231 -196.8 297 -172.8 c -363 -148.8 396 -114 396 -68.4 c -396 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9952 0 0 7.9952 302.6344 584.5492 Tm -[(user pr)18(ocess)]TJ -/T1_0 1 Tf --3.044 -15.93 Td -(Figure 17.1)Tj -/T1_1 1 Tf -0.25 Tc 5.695 0 Td -(As)Tj -0 Tc 1.452 0 Td -(ocket pair)Tj -0.2567 Tc 9.994 0 0 9.994 147.5118 430.8014 Tm -(Ap)Tj -0 Tc 1.636 0 Td -[(air )-7(of )-7(connected )-7(UNIX )-7(domain )-7(sockets )-7(acts )-7(like )-7(a )-7(full-duplex )-7(pipe: )-7(both )-7(ends )-7(ar)22(e)]TJ --3.436 -1.2 Td -[(open )-180(for )-180(r)18(eading )-180(and )-180(writing )-180(\(see )-180(Figur)]TJ -0.4296 Tc 18.522 0 Td -(e1)Tj -0 Tc 1.409 0 Td -[(7.1\). )-430(W)92(e\325ll )-180(r)18(efer )-180(to )-180(these )-180(as )-180(\324)39(\324fd-pipes\325)]TJ -0.4296 Tc 17.49 0 Td -(\325t)Tj -0 Tc 1.034 0 Td -(o)Tj --38.454 -1.2 Td -[(distinguish them fr)18(om normal, half-duplex pipes.)]TJ -/TT2 1 Tf --3.6 -2.88 Td -[(Example )195(\321)]TJ -/TT3 1 Tf -5.28 0 Td -(fd_pipe)Tj -/TT2 1 Tf -4.478 0 Td -(Function)Tj -/T1_1 1 Tf --6.158 -2.16 Td -(Figur)Tj -0.4913 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.47 0 Td -[(7.2 )-241(shows )-241(the)]TJ -/TT0 1 Tf -6.921 0 Td -(fd_pipe)Tj -/T1_1 1 Tf -4.691 0 Td -[(function, )-241(which )-241(uses )-241(the)]TJ -/TT0 1 Tf -11.973 0 Td -(socketpair)Tj -/T1_1 1 Tf -6.491 0 Td -[(function )-241(to)]TJ --33.93 -1.2 Td -[(cr)18(eate a pair of connected UNIX domain str)18(eam sockets.)]TJ -ET -q -0.09994 0 0 0.09994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3374.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9941 0 0 8.9941 129.5145 327.7426 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*R)Tj -0 Tc 1.8 0 Td -(eturns a full-duplex pipe \(a UNIX domain socket\) with)Tj -0.6 Tc -1.8 -1.189 Td -(*t)Tj -0 Tc 1.8 0 Td -(he two file descriptors returned in fd[0] and fd[1].)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(int)Tj -0 -1.189 TD -(fd_pipe\(int fd[2]\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(return\(socketpair\(AF_UNIX, SOCK_STREAM, 0, fd\)\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2097.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9942 0 0 7.9942 253.6613 193.5986 Tm -(Figure 17.2)Tj -/T1_1 1 Tf -5.695 0 Td -[(Cr)18(eating a full-duplex pipe)]TJ --14.475 -3.1 Td -[(Some )-119(BSD)]TJ -4.712 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-119(systems )-119(use )-119(UNIX )-119(domain )-119(sockets )-119(to )-119(implement )-119(pipes.)-618(But )-119(when)]TJ -/TT0 1 Tf -33.471 0 Td -(pipe)Tj -/T1_1 1 Tf -2.769 0 Td -(is)Tj --41.285 -1.25 Td -[(called, )-60(the )-60(write )-60(end )-60(of )-60(the )-60(\336rst )-60(descriptor )-60(and )-60(the )-60(r)18(ead )-60(end )-60(of )-60(the )-60(second )-60(descriptor )-60(ar)]TJ -0.3104 Tc 39.204 0 Td -(eb)Tj -0 Tc 1.342 0 Td -(oth)Tj --40.546 -1.25 Td -[(closed. )-250(T)]TJ -0.25 Tc 4.066 0 Td -(og)Tj -0 Tc 1.352 0 Td -(et a full-duplex pipe, we must call)Tj -/TT0 1 Tf -15.304 0 Td -(socketpair)Tj -/T1_1 1 Tf -6.25 0 Td -[(dir)18(ectly)111(.)]TJ -ET -q -0.099928 0 0 0.099928 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1449.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47516 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(602)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 172.7896 670.2598 Tm -(printf\("unspecified"\);)Tj -0 -1.189 TD -(break;)Tj --2.4 -1.189 Td -(default:)Tj -2.4 -1.189 Td -(printf\("unknown"\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(void)Tj -0 -1.189 TD -(print_type\(struct addrinfo *aip\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(printf\(" type "\);)Tj -0 -1.189 TD -(switch \(aip->ai_socktype\) {)Tj -T* -(case SOCK_STREAM:)Tj -2.4 -1.189 Td -(printf\("stream"\);)Tj -T* -(break;)Tj --2.4 -1.189 Td -(case SOCK_DGRAM:)Tj -2.4 -1.189 Td -(printf\("datagram"\);)Tj -T* -(break;)Tj --2.4 -1.189 Td -(case SOCK_SEQPACKET:)Tj -2.4 -1.189 Td -(printf\("seqpacket"\);)Tj -T* -(break;)Tj --2.4 -1.189 Td -(case SOCK_RAW:)Tj -2.4 -1.189 Td -(printf\("raw"\);)Tj -T* -(break;)Tj --2.4 -1.189 Td -(default:)Tj -2.4 -1.189 Td -(printf\("unknown \(%d\)", aip->ai_socktype\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(void)Tj -0 -1.189 TD -(print_protocol\(struct addrinfo *aip\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\(" protocol "\);)Tj -T* -(switch \(aip->ai_protocol\) {)Tj -T* -(case 0:)Tj -2.4 -1.189 Td -(printf\("default"\);)Tj -0 -1.189 TD -(break;)Tj --2.4 -1.189 Td -(case IPPROTO_TCP:)Tj -2.4 -1.189 Td -(printf\("TCP"\);)Tj -0 -1.189 TD -(break;)Tj --2.4 -1.189 Td -(case IPPROTO_UDP:)Tj -2.4 -1.189 Td -(printf\("UDP"\);)Tj -T* -(break;)Tj --2.4 -1.189 Td -(case IPPROTO_RAW:)Tj -2.4 -1.189 Td -(printf\("raw"\);)Tj -0 -1.189 TD -(break;)Tj --2.4 -1.189 Td -(default:)Tj -2.4 -1.189 Td -(printf\("unknown \(%d\)", aip->ai_protocol\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47517 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.2)]TJ -35.358 0 Td -[(Socket )-250(Descriptors)]TJ -/T1_1 1 Tf -10.475 0 Td -(591)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(TCP)Tj -2.205 0.04 Td -(\()Tj --0.09 Tc 0.333 -0.04 Td -(Tr)Tj -0 Tc 0.918 0 Td -[(ansmission )-29(Contr)18(ol )-29(Pr)18(otocol)]TJ -12.562 0.04 Td -(\))Tj -0.5291 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.392 0 Td -[(he )-29(default )-29(pr)18(otocol )-29(for )-29(a)]TJ -/TT0 1 Tf -11.051 0 Td -(SOCK_DGRAM)Tj -/T1_0 1 Tf -6.279 0 Td -[(socket )-29(in)]TJ --35.073 -1.2 Td -(the)Tj -/TT0 1 Tf -1.811 0 Td -(AF_INET)Tj -/T1_0 1 Tf -4.624 0 Td -[(communication )-174(domain )-174(is )-174(UDP)]TJ -14.901 0.04 Td -(\()Tj -0.333 -0.04 Td -[(User )-174(Datagram )-174(Pr)18(otocol)]TJ -11.038 0.04 Td -(\))Tj -0.674 Tc 0.333 -0.04 Td -(.F)Tj -0 Tc 1.48 0 Td -(igur)Tj -0.424 Tc 1.827 0 Td -(e1)Tj -0 Tc 1.403 0 Td -(6.3)Tj --37.75 -1.2 Td -[(lists the pr)18(otocols de\336ned for the Internet domain sockets.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2044.25 6250.25 cm -0 0 m -2403 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 222.4893 616.926 Tm -[(Pr)18(otocol )]TJ -14.534 0 Td -(Description)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2044.25 6130.25 cm -0 0 m -2403 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2044.25 6110.25 cm -0 0 m -2403 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 208.3985 602.8915 Tm -(IPPROTO_IP)Tj -/T1_0 1 Tf -8.7 0 Td -[(IPv4 Internet Pr)18(otocol)]TJ -/TT0 1 Tf --8.7 -1.25 Td -(IPPROTO_IPV6)Tj -/T1_0 1 Tf -8.7 0 Td -[(IPv6 Internet Pr)18(otocol \(optional in POSIX.1\))]TJ -/TT0 1 Tf --8.7 -1.25 Td -(IPPROTO_ICMP)Tj -/T1_0 1 Tf -8.7 0 Td -[(Internet Contr)18(ol Message Pr)18(otocol)]TJ -/TT0 1 Tf --8.7 -1.25 Td -(IPPROTO_RAW)Tj -/T1_0 1 Tf -8.7 0 Td -[(Raw IP packets pr)18(otocol \(optional in POSIX.1\))]TJ -/TT0 1 Tf --8.7 -1.25 Td -(IPPROTO_TCP)Tj -/T1_0 1 Tf --0.09 Tc 8.7 0 Td -(Tr)Tj -0 Tc 0.918 0 Td -[(ansmission Contr)18(ol Pr)18(otocol)]TJ -/TT0 1 Tf --9.618 -1.25 Td -(IPPROTO_UDP)Tj -/T1_0 1 Tf -8.7 0 Td -[(User Datagram Pr)18(otocol)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2044.25 5490.25 cm -0 0 m -2403 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2720.25 5490.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4447.25 5490.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2044.25 5490.25 cm -0 0 m -0 760 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 221.3149 530.8726 Tm -(Figure 16.3)Tj -/T1_0 1 Tf -5.695 0 Td -[(Pr)18(otocols de\336ned for Internet domain sockets)]TJ --0.055 Tc 9.9976 0 0 9.9976 147.5648 506.8783 Tm -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-269(a )-269(datagram )-269(\()]TJ -/TT0 1 Tf -7.568 0 Td -(SOCK_DGRAM)Tj -/T1_0 1 Tf -0.5188 Tc (\)i)Tj -0 Tc 7.143 0 Td -[(nterface, )-269(no )-269(logical )-269(connection )-269(needs )-269(to )-269(exist)]TJ --17.747 -1.2 Td -[(between )-299(peers )-299(for )-299(them )-299(to )-299(communicate.)-799(All )-299(you )-299(need )-299(to )-299(do )-299(is )-299(send )-299(a )-299(message)]TJ -0 -1.2 TD -[(addr)18(essed to the socket being used by the peer pr)18(ocess.)]TJ -0.8424 Tc 1.8 -1.2 Td -(Ad)Tj -0 Tc 2.231 0 Td -[(atagram, )-592(ther)18(efor)18(e, )-592(pr)18(ovides )-592(a )-592(connectionless )-592(service.)]TJ -0.8423 Tc 27.603 0 Td -(Ab)Tj -0 Tc 2.173 0 Td -[(yte )-592(str)18(eam)]TJ --33.808 -1.2 Td -(\()Tj -/TT0 1 Tf -(SOCK_STREAM)Tj -/T1_0 1 Tf -[(\), )-79(in )-79(contrast, )-79(r)17(equir)18(es )-79(that, )-79(befor)]TJ -0.3295 Tc 21.691 0 Td -(ey)Tj -0 Tc 1.364 0 Td -[(ou )-79(can )-79(exchange )-79(data, )-79(you )-79(set )-79(up )-79(a)]TJ --23.055 -1.2 Td -[(logical )-10(connection )-10(between )-10(your )-10(socket )-10(and )-10(the )-10(socket )-10(belonging )-10(to )-10(the )-10(peer )-10(with )-10(which)]TJ -T* -(you wish to communicate.)Tj -0.5398 Tc 1.8 -1.2 Td -(Ad)Tj -0 Tc 1.929 0 Td -[(atagram )-290(is )-290(a )-290(self-contained )-290(message.)-790(Sending )-290(a )-290(datagram )-290(is )-290(analogous )-290(to)]TJ --3.729 -1.2 Td -[(mailing )-50(someone )-50(a )-50(letter)]TJ -0.5505 Tc 10.957 0 Td -(.Y)Tj -0 Tc 1.376 0 Td -[(ou )-50(can )-50(mail )-50(many )-50(letters, )-50(but )-50(you )-50(can\325t )-50(guarantee )-50(the )-50(or)13(der)]TJ --12.332 -1.2 Td -[(of )-66(delivery)]TJ -0.3162 Tc 4.751 0 Td -(,a)Tj -0 Tc 1.066 0 Td -[(nd )-66(some )-66(might )-66(get )-66(lost )-66(along )-66(the )-66(way)]TJ -0.5662 Tc 16.965 0 Td -(.E)Tj -0 Tc 1.427 0 Td -[(ach )-66(letter )-66(contains )-66(the )-66(addr)18(ess )-66(of)]TJ --24.21 -1.2 Td -[(the )-21(r)18(ecipient, )-21(making )-21(the )-21(letter )-21(independent )-21(fr)18(om )-21(all )-21(the )-21(others.)-521(Each )-21(letter )-21(can )-21(even )-21(go)]TJ -T* -[(to dif)18(fer)18(ent r)18(ecipients.)]TJ -1.8 -1.2 Td -[(In )-76(contrast, )-76(using )-76(a )-76(connection-oriented )-76(pr)18(otocol )-76(for )-76(communicating )-76(with )-76(a )-76(peer )-76(is)]TJ --1.8 -1.2 Td -[(like )-75(making )-75(a )-75(phone )-75(call.)-575(First, )-75(you )-75(need )-75(to )-75(establish )-75(a )-75(connection )-75(by )-75(placing )-75(a )-75(phone)]TJ -T* -[(call, )-32(but )-32(after )-32(the )-32(connection )-32(is )-32(in )-32(place, )-32(you )-32(can )-32(communicate )-32(bidir)17(ectionally )-32(with )-32(each)]TJ -T* -(other)Tj -0.6482 Tc 2.254 0 Td -(.T)Tj -0 Tc 1.511 0 Td -[(he )-148(connection )-148(is )-148(a )-148(peer)18(-to-peer )-148(communication )-148(channel )-148(over )-148(which )-148(you )-148(talk.)]TJ --0.092 Tc -3.765 -1.2 Td -(Yo)Tj -0 Tc 1.121 0 Td -[(ur )-136(wor)18(ds )-136(contain )-136(no )-136(addr)18(essing )-136(information, )-136(as )-136(a )-136(point-to-point )-136(virtual )-136(connection)]TJ --1.121 -1.2 Td -[(exists )-10(between )-10(both )-10(ends )-10(of )-10(the )-10(call, )-10(and )-10(the )-10(connection )-10(itself )-10(implies )-10(a )-10(particular )-10(sour)19(ce)]TJ -T* -(and destination.)Tj -1.8 -1.2 Td -(A)Tj -/TT0 1 Tf -1.036 0 Td -(SOCK_STREAM)Tj -/T1_0 1 Tf -6.858 0 Td -[(socket )-8(pr)18(ovides )-8(a )-8(byte-str)18(eam )-8(service; )-8(applications )-8(ar)]TJ -0.2583 Tc 23.556 0 Td -(eu)Tj -0 Tc 1.34 0 Td -(nawar)Tj -0.2583 Tc 2.793 0 Td -(eo)Tj -0 Tc 1.283 0 Td -(f)Tj --38.667 -1.2 Td -[(message )-25(boundaries.)-525(This )-25(means )-25(that )-25(when )-25(we )-25(r)18(ead )-25(data )-25(fr)18(om )-25(a)]TJ -/TT0 1 Tf -29.1 0 Td -(SOCK_STREAM)Tj -/T1_0 1 Tf -6.875 0 Td -(socket,)Tj --35.975 -1.2 Td -[(it )-33(might )-33(not )-33(r)18(eturn )-33(the )-33(same )-33(number )-33(of )-33(bytes )-33(written )-33(by )-33(the )-33(sender)]TJ -0.5336 Tc 29.883 0 Td -(.W)Tj -0.2836 Tc 1.692 0 Td -(ew)Tj -0 Tc 1.597 0 Td -[(ill )-34(eventually)]TJ --33.171 -1.2 Td -(get everything sent to us, but it might take several function calls.)Tj -1.8 -1.2 Td -(A)Tj -/TT0 1 Tf -1.063 0 Td -(SOCK_SEQPACKET)Tj -/T1_0 1 Tf -8.685 0 Td -[(socket )-35(is )-35(just )-35(like )-35(a)]TJ -/TT0 1 Tf -8.617 0 Td -(SOCK_STREAM)Tj -/T1_0 1 Tf -6.885 0 Td -[(socket )-35(except )-35(that )-35(we )-35(get )-35(a)]TJ --27.049 -1.2 Td -[(message-based )-55(service )-55(instead )-55(of )-55(a )-55(byte-str)18(eam )-55(service.)-555(This )-55(means )-55(that )-55(the )-55(amount )-55(of)]TJ -T* -[(data )-27(r)18(eceived )-27(fr)18(om )-27(a)]TJ -/TT0 1 Tf -9.411 0 Td -(SOCK_SEQPACKET)Tj -/T1_0 1 Tf -8.678 0 Td -[(socket )-27(is )-27(the )-27(same )-27(amount )-27(as )-27(was )-27(written.)-530(The)]TJ --18.088 -1.2 Td -[(Str)18(eam )-159(Contr)18(ol )-159(T)90(ransmission )-159(Pr)19(otocol)]TJ -17.646 0.04 Td -(\()Tj -0.333 -0.04 Td -(SCTP)Tj -2.451 0.04 Td -(\))Tj -0.742 -0.04 Td -[(pr)18(ovides )-159(a )-159(sequential )-159(packet )-159(service )-159(in)]TJ --21.172 -1.2 Td -(the Internet domain.)Tj -1.8 -1.2 Td -(A)Tj -/TT0 1 Tf -1.355 0 Td -(SOCK_RAW)Tj -/T1_0 1 Tf -5.377 0 Td -[(socket )-327(pr)18(ovides )-327(a )-327(datagram )-327(interface )-327(dir)18(ectly )-327(to )-327(the )-327(underlying)]TJ --8.533 -1.2 Td -[(network )-122(layer )-122(\(which )-122(means )-122(IP )-122(in )-122(the )-122(Internet )-122(domain\).)-625(Applications )-122(ar)]TJ -0.3724 Tc 33.101 0 Td -(er)Tj -0 Tc 1.228 0 Td -(esponsible)Tj --34.33 -1.2 Td -[(for )-14(building )-14(their )-14(own )-14(pr)18(otocol )-14(headers )-14(when )-14(using )-14(this )-14(interface, )-14(because )-14(the )-14(transport)]TJ -T* -[(pr)18(otocols )-51(\(TCP )-51(and )-51(UDP)]TJ -0.3008 Tc 10.982 0 Td -(,f)Tj -0 Tc 0.884 0 Td -[(or )-51(example\) )-51(ar)]TJ -0.3008 Tc 6.502 0 Td -(eb)Tj -0 Tc 1.333 0 Td -[(ypassed. )-301(Super)8(user )-51(privileges )-51(ar)]TJ -0.3009 Tc 14.742 0 Td -(er)Tj -0 Tc 1.157 0 Td -[(equir)18(ed)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47518 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(606)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(The )-49(addr)18(ess )-49(we )-49(specify )-49(with)]TJ -/TT0 1 Tf -13.069 0 Td -(connect)Tj -/T1_1 1 Tf -4.499 0 Td -[(is )-49(the )-49(addr)18(ess )-49(of )-49(the )-49(server )-49(with )-49(which )-49(we )-49(wish)]TJ --17.568 -1.2 Td -[(to )-195(communicate.)-696(If)]TJ -/T1_2 1 Tf -9.359 0 Td -(sockfd)Tj -/T1_1 1 Tf -2.907 0 Td -[(is )-195(not )-195(bound )-195(to )-195(an )-195(addr)17(ess,)]TJ -/TT0 1 Tf -13.366 0 Td -(connect)Tj -/T1_1 1 Tf -4.645 0 Td -[(will )-195(bind )-195(a )-195(default)]TJ --30.277 -1.2 Td -[(addr)18(ess for the caller)74(.)]TJ -1.8 -1.2 Td -[(When )-243(we )-243(try )-243(to )-243(connect )-243(to )-243(a )-243(server)]TJ -0.4935 Tc 16.997 0 Td -(,t)Tj -0 Tc 1.069 0 Td -[(he )-243(connect )-243(r)18(equest )-243(might )-243(fail )-243(for )-243(several)]TJ --0.018 Tc -19.867 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(asons. )-494(For)]TJ -0.4939 Tc 5.461 0 Td -(ac)Tj -0 Tc 1.438 0 Td -[(onnect )-244(r)18(equest )-244(to )-244(succeed, )-244(the )-244(machine )-244(to )-244(which )-244(we )-244(ar)]TJ -0.4938 Tc 26.201 0 Td -(et)Tj -0 Tc 1.299 0 Td -[(rying )-244(to)]TJ --35.255 -1.2 Td -[(connect )-16(must )-16(be )-16(up )-16(and )-16(r)10(unning, )-16(the )-16(server )-16(must )-16(be )-16(bound )-16(to )-16(the )-16(addr)18(ess )-16(we )-16(ar)]TJ -0.2658 Tc 35.55 0 Td -(et)Tj -0 Tc 1.071 0 Td -(rying)Tj --36.62 -1.2 Td -[(to )-93(contact, )-93(and )-93(ther)]TJ -0.3428 Tc 8.775 0 Td -(em)Tj -0 Tc 1.705 0 Td -[(ust )-93(be )-93(r)18(oom )-93(in )-93(the )-93(server)-74(\325s )-93(pending )-93(connect )-93(queue )-93(\(we\325ll )-93(learn)]TJ --10.48 -1.2 Td -(mor)Tj -0.4451 Tc 1.806 0 Td -(ea)Tj -0 Tc 1.424 0 Td -[(bout )-195(this )-195(shortly\).)-695(Thus, )-195(applications )-195(must )-195(be )-195(able )-195(to )-195(handle)]TJ -/TT0 1 Tf -28.933 0 Td -(connect)Tj -/T1_1 1 Tf -4.645 0 Td -[(err)18(or)]TJ --0.018 Tc -36.808 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(turns that might be caused by transient conditions.)Tj -/TT1 1 Tf --4.456 -2.64 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.16 Td -(Figur)Tj -0.2639 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.243 0 Td -[(6.10 )-14(shows )-14(one )-14(way )-14(to )-14(handle )-14(transient)]TJ -/TT0 1 Tf -17.726 0 Td -(connect)Tj -/T1_1 1 Tf -4.464 0 Td -[(err)18(ors. )-264(These)-264(err)18(ors )-14(ar)]TJ -0.2638 Tc 9.977 0 Td -(el)Tj -0 Tc 1.034 0 Td -(ikely)Tj --36.827 -1.2 Td -[(with a server that is r)8(unning on a heavily loaded system.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5058.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 496.2394 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(#define MAXSLEEP 128)Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(connect_retry\(int sockfd, const struct sockaddr *addr, socklen_t alen\)\ )Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(int numsec;)Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*T)Tj -0 Tc 1.8 0 Td -(ry to connect with exponential backoff.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(for \(numsec = 1; numsec <= MAXSLEEP; numsec <<= 1\) {)Tj -2.4 -1.189 Td -(if \(connect\(sockfd, addr, alen\) == 0\) {)Tj -2.4 -1.189 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(onnection accepted.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*D)Tj -0 Tc 1.8 0 Td -(elay before trying again.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(numsec <= MAXSLEEP/2\))Tj -2.4 -1.189 Td -(sleep\(numsec\);)Tj --4.8 -1.189 Td -(})Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2047.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 266.436 188.704 Tm -(Figure 16.10)Tj -/T1_1 1 Tf -6.195 0 Td -[(Connect with r)18(etry)]TJ -9.9982 0 0 9.9982 129.5769 164.7083 Tm -[(This )-161(function )-161(shows )-161(what )-161(is )-161(known )-161(as )-161(an)]TJ -/T1_2 1 Tf -19.781 0 Td -[(exponential )-161(backoff)]TJ -/T1_1 1 Tf -8.248 0 Td -[(algorithm. )-411(If)-412(the )-161(call )-161(to)]TJ -/TT0 1 Tf --28.029 -1.2 Td -(connect)Tj -/T1_1 1 Tf -4.471 0 Td -[(fails, )-21(the )-21(pr)17(ocess )-21(goes )-21(to )-21(sleep )-21(for )-21(a )-21(short )-21(time )-21(and )-21(then )-21(tries )-21(again, )-21(incr)14(easing)]TJ --4.471 -1.2 Td -[(the delay each time thr)18(ough the loop, up to a maximum delay of about 2 minutes.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47519 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -33.857 0 Td -[(Chapter )-250(17)-750(Solutions)]TJ -/T1_1 1 Tf -11.976 0 Td -(941)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 160.2404 670.2598 Tm -(void *)Tj -0 -1.189 TD -(helper\(void *arg\))Tj -T* -({)Tj -2.4 -1.189 Td -(int )Tj -12 0 Td -(n;)Tj --12 -1.189 Td -[(struct threadinfo)-1800(*tip = arg;)]TJ -0 -2.14 TD -(for\(;;\) {)Tj -2.4 -1.189 Td -(memset\(&tip->m, 0, sizeof\(struct mymsg\)\);)Tj -0 -1.189 TD -(if \(\(n = msgrcv\(tip->qid, &tip->m, MAXMSZ, 0,)Tj -1.2 -1.189 Td -(MSG_NOERROR\)\) < 0\))Tj -1.2 -1.189 Td -(err_sys\("msgrcv error"\);)Tj --2.4 -1.189 Td -(tip->len = n;)Tj -T* -(pthread_mutex_lock\(&tip->mutex\);)Tj -T* -(if \(write\(tip->fd, "a", sizeof\(char\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("write error"\);)Tj --2.4 -1.189 Td -(pthread_cond_wait\(&tip->ready, &tip->mutex\);)Tj -T* -(pthread_mutex_unlock\(&tip->mutex\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(\))Tj -T* -({)Tj -2.4 -1.189 Td -(char )Tj -12 0 Td -(c;)Tj --12 -1.189 Td -(int )Tj -12 0 Td -[(i,)-600(n, err;)]TJ --12 -1.189 Td -(int )Tj -12 0 Td -(fd[2];)Tj --12 -1.189 Td -(int )Tj -12 0 Td -(qid[NQ];)Tj --12 -1.189 Td -[(struct pollfd)-4200(pfd[NQ];)]TJ -T* -[(struct threadinfo)-1800(ti[NQ];)]TJ -T* -(pthread_t )Tj -12 0 Td -(tid[NQ];)Tj --12 -2.14 Td -(for \(i = 0; i < NQ; i++\) {)Tj -2.4 -1.189 Td -(if \(\(qid[i] = msgget\(\(KEY+i\), IPC_CREAT|0666\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("msgget error"\);)Tj --2.4 -2.14 Td -(printf\("queue ID %d is %d\\n", i, qid[i]\);)Tj -0 -2.14 TD -(if \(socketpair\(AF_UNIX, SOCK_DGRAM, 0, fd\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("socketpair error"\);)Tj --2.4 -1.189 Td -(pfd[i].fd = fd[0];)Tj -0 -1.189 TD -(pfd[i].events = POLLIN;)Tj -0 -1.189 TD -(ti[i].qid = qid[i];)Tj -T* -(ti[i].fd = fd[1];)Tj -T* -(if \(pthread_cond_init\(&ti[i].ready, NULL\) != 0\))Tj -2.4 -1.189 Td -(err_sys\("pthread_cond_init error"\);)Tj --2.4 -1.189 Td -(if \(pthread_mutex_init\(&ti[i].mutex, NULL\) != 0\))Tj -2.4 -1.189 Td -(err_sys\("pthread_mutex_init error"\);)Tj --2.4 -1.189 Td -(if \(\(err = pthread_create\(&tid[i], NULL, helper,)Tj -1.2 -1.189 Td -(&ti[i]\)\) != 0\))Tj -1.2 -1.189 Td -(err_exit\(err, "pthread_create error"\);)Tj --4.8 -1.189 Td -(})Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47520 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(632)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -({)Tj -2.4 -1.189 Td -(int )Tj -12 0 Td -[(i,)-600(n, err;)]TJ --12 -1.189 Td -(int )Tj -12 0 Td -(fd[2];)Tj --12 -1.189 Td -(int )Tj -12 0 Td -(qid[NQ];)Tj --12 -1.189 Td -[(struct pollfd)-4200(pfd[NQ];)]TJ -0 -1.189 TD -[(struct threadinfo)-1800(ti[NQ];)]TJ -0 -1.189 TD -(pthread_t )Tj -12 0 Td -(tid[NQ];)Tj --12 -1.189 Td -(char )Tj -12 0 Td -(buf[MAXMSZ];)Tj --12 -1.902 Td -(for \(i = 0; i < NQ; i++\) {)Tj -2.4 -1.189 Td -(if \(\(qid[i] = msgget\(\(KEY+i\), IPC_CREAT|0666\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("msgget error"\);)Tj --2.4 -1.902 Td -(printf\("queue ID %d is %d\\n", i, qid[i]\);)Tj -0 -1.902 TD -(if \(socketpair\(AF_UNIX, SOCK_DGRAM, 0, fd\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("socketpair error"\);)Tj --2.4 -1.189 Td -(pfd[i].fd = fd[0];)Tj -0 -1.189 TD -(pfd[i].events = POLLIN;)Tj -0 -1.189 TD -(ti[i].qid = qid[i];)Tj -0 -1.189 TD -(ti[i].fd = fd[1];)Tj -0 -1.189 TD -(if \(\(err = pthread_create\(&tid[i], NULL, helper, &ti[i]\)\) != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "pthread_create error"\);)Tj --4.8 -1.189 Td -(})Tj -0 -1.902 TD -(for \(;;\) {)Tj -2.4 -1.189 Td -(if \(poll\(pfd, NQ, -1\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("poll error"\);)Tj --2.4 -1.189 Td -(for \(i = 0; i < NQ; i++\) {)Tj -2.4 -1.189 Td -(if \(pfd[i].revents & POLLIN\) {)Tj -2.4 -1.189 Td -(if \(\(n = read\(pfd[i].fd, buf, sizeof\(buf\)\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("read error"\);)Tj --2.4 -1.189 Td -(buf[n] = 0;)Tj -0 -1.189 TD -(printf\("queue id %d, message %s\\n", qid[i], buf\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2696.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 213.2544 253.5686 Tm -(Figure 17.3)Tj -/T1_1 1 Tf -5.695 0 Td -(Poll for XSI messages using UNIX domain sockets)Tj -9.9988 0 0 9.9988 147.5825 229.5714 Tm -[(Note )-81(that )-81(we )-81(use )-81(datagram )-81(\()]TJ -/TT0 1 Tf -12.993 0 Td -(SOCK_DGRAM)Tj -/T1_1 1 Tf -0.3308 Tc (\)s)Tj -0 Tc 7.088 0 Td -[(ockets )-81(instead )-81(of )-81(str)19(eam )-81(sockets.)-581(This)]TJ --21.881 -1.2 Td -[(allows )-43(us )-43(to )-43(r)18(etain )-43(message )-43(boundaries )-43(so )-43(when )-43(we )-43(r)18(ead )-43(fr)18(om )-43(the )-43(socket, )-43(we )-43(r)18(ead )-43(only)]TJ -0 -1.2 TD -(one message at a time.)Tj -1.8 -1.2 Td -[(This )-122(technique )-122(allows )-122(us )-122(to )-122(use )-122(either)]TJ -/TT0 1 Tf -17.705 0 Td -(poll)Tj -/T1_1 1 Tf -2.772 0 Td -(or)Tj -/TT0 1 Tf -1.313 0 Td -(select)Tj -/T1_1 1 Tf -3.972 0 Td -[(\(indir)18(ectly\) )-122(with )-122(message)]TJ --27.563 -1.2 Td -[(queues. )-361(As)-361(long )-111(as )-111(the )-111(costs )-111(of )-111(one )-111(thr)18(ead )-111(per )-111(queue )-111(and )-111(copying )-111(each )-111(message )-111(two)]TJ -T* -[(extra )-218(times )-218(\(once )-218(to )-218(write )-218(it )-218(to )-218(the )-218(socket )-218(and )-218(once )-218(to )-218(r)18(ead )-218(it )-218(fr)18(om )-218(the )-218(socket\) )-218(ar)15(e)]TJ -T* -(acceptable, this technique will make it easier to use XSI message queues\ .)Tj --0.092 Tc 1.8 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(ll )-111(use )-111(the )-111(pr)18(ogram )-111(shown )-111(in )-111(Figur)]TJ -0.3615 Tc 15.726 0 Td -(e1)Tj -0 Tc 1.341 0 Td -[(7.4 )-111(to )-111(send )-111(messages )-111(to )-111(our )-111(test )-111(pr)15(ogram)]TJ --20.253 -1.2 Td -[(fr)18(om Figur)]TJ -0.25 Tc 4.772 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(7.3.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47521 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(986)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(sigset_t)Tj -/T1_1 1 Tf -5.217 0 Td -[(data type,)-500(59, 336, 344, 347)]TJ -11.982 0.09 Td -(\320)Tj -0.583 -0.09 Td -(348,)Tj --15.082 -1.25 Td -(360)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(361, 363, 366, 369, 374, 378, 454)Tj -13.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(456,)Tj --16.333 -1.25 Td -(701, 813)Tj -/TT0 1 Tf --2.7 -1.25 Td -(SIGSTKFLT)Tj -/T1_1 1 Tf -5.817 0 Td -[(signal, )-250(317,)-250(320)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(SIGSTOP)Tj -/T1_1 1 Tf -4.617 0 Td -[(signal, )-250(315,)-250(317, 320, 323, 346, 377)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(SIGSUSP)Tj -/T1_1 1 Tf -4.617 0 Td -[(signal, )-250(689)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(sigsuspend)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(331,)-250(340, 359)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(365, 374, 451)Tj --15.69 -1.25 Td -[(de\336nition of,)-500(359)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(SIGSYS)Tj -/T1_1 1 Tf -4.017 0 Td -[(signal, )-250(317,)-250(320)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(SIGTERM)Tj -/T1_1 1 Tf -4.617 0 Td -[(signal, )-250(315,)-250(317, 321, 325, 476)]TJ -12.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(479, 709,)Tj --15.477 -1.25 Td -(732)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(733, 742, 815, 830, 944)Tj -/TT0 1 Tf --4.866 -1.25 Td -(SIGTHAW)Tj -/T1_1 1 Tf -4.617 0 Td -[(signal, )-250(317,)-250(321)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(SIGTHR)Tj -/T1_1 1 Tf -4.017 0 Td -[(signal, )-250(319)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(sigtimedwait)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(451)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(SIGTRAP)Tj -/T1_1 1 Tf -4.617 0 Td -[(signal, )-250(317,)-250(321, 351, 353)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(SIGTSTP)Tj -/T1_1 1 Tf -4.617 0 Td -[(signal, )-250(300,)-250(308, 317, 320)]TJ -10.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(321, 377)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(379,)Tj --17.644 -1.25 Td -(680, 682, 701, 735)Tj -/TT0 1 Tf --2.7 -1.25 Td -(SIGTTIN)Tj -/T1_1 1 Tf -4.617 0 Td -[(signal, )-250(300)]TJ -4.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(301, 304, 309, 317, 321, 377,)Tj --7.477 -1.25 Td -(379)Tj -/TT0 1 Tf --2.7 -1.25 Td -(SIGTTOU)Tj -/T1_1 1 Tf -4.617 0 Td -[(signal, )-250(301)]TJ -4.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(302, 317, 321, 377, 379, 691)Tj -/TT0 1 Tf --10.177 -1.25 Td -(SIG_UNBLOCK)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(346,)-250(349, 378, 454)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(SIGURG)Tj -/T1_1 1 Tf -4.017 0 Td -[(signal, )-250(83,)-250(314, 317, 319, 322, 510)]TJ -14.477 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(51)55(1, 626)]TJ -/TT0 1 Tf --19.077 -1.25 Td -(SIGUSR1)Tj -/T1_1 1 Tf -4.617 0 Td -[(signal, )-250(317,)-250(322, 324, 347, 356)]TJ -12.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(358,)Tj --15.477 -1.25 Td -(360)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(361, 363)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(364, 501)Tj -/TT0 1 Tf --9.033 -1.25 Td -(SIGUSR2)Tj -/T1_1 1 Tf -4.617 0 Td -[(signal, )-250(317,)-250(322, 324, 363)]TJ -10.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(364)Tj -/TT0 1 Tf --16.177 -1.25 Td -(sigval)Tj -/T1_1 1 Tf -4.017 0 Td -[(str)8(uctur)18(e, )-250(352)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(SIGVTALRM)Tj -/T1_1 1 Tf -5.817 0 Td -[(signal, )-250(317,)-250(322)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(sigwait)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(451,)-250(454)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(455, 457, 475, 477, 830)Tj --11.89 -1.25 Td -[(de\336nition of,)-500(454)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(sigwaitinfo)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(451)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(SIGWAITING)Tj -/T1_1 1 Tf -6.417 0 Td -[(signal, )-250(317,)-250(322)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(SIGWINCH)Tj -/T1_1 1 Tf -5.217 0 Td -[(signal, )-250(31)55(1, 317, 322, 710)]TJ -10.922 0.09 Td -(\320)Tj -0.583 -0.09 Td -(712, 718)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(719,)Tj --18.189 -1.25 Td -(741)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(742)Tj -/TT0 1 Tf --4.866 -1.25 Td -(SIGXCPU)Tj -/T1_1 1 Tf -4.617 0 Td -[(signal, )-250(221,)-250(317, 322)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(SIGXFSZ)Tj -/T1_1 1 Tf -4.617 0 Td -[(signal, )-250(221,)-250(317, 322, 382, 925)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(SIGXRES)Tj -/T1_1 1 Tf -4.617 0 Td -[(signal, )-250(317,)-250(322)]TJ --4.617 -1.25 Td -(Silicon Graphics, Inc.,)Tj -/T1_2 1 Tf -10.083 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(SGI)Tj -/TT0 1 Tf --11.5 -1.25 Td -(SI_MESGQ)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(353)]TJ --5.217 -1.25 Td -(Singh, A.,)Tj --0.055 Tc 4.814 0 Td -(11)Tj -0 Tc 0.945 0 Td -[(2, 1)55(16, 952)]TJ --5.759 -1.25 Td -(Single UNIX Speci\336cation,)Tj -/T1_2 1 Tf -12.221 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(SUS)Tj --0.111 Tc -12.288 -1.25 Td -(Ve)Tj -0 Tc 1.09 0 Td -(rsion 3,)Tj -/T1_2 1 Tf -3.738 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(SUSv3)Tj --0.111 Tc -6.245 -1.25 Td -(Ve)Tj -0 Tc 1.09 0 Td -(rsion 4,)Tj -/T1_2 1 Tf -3.738 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(SUSv4)Tj --7.595 -1.25 Td -[(single-instance daemons,)-500(473)]TJ -13.192 0.09 Td -(\320)Tj -0.583 -0.09 Td -(474)Tj -/TT0 1 Tf --13.775 -1.25 Td -(S_INPUT)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(510)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(SIOCSPGRP)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(627)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(SI_QUEUE)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(S_IRGRP)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(99,)-250(104, 107, 140, 149, 473, 896)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_IROTH)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(99,)-250(104, 107, 140, 149, 473, 896)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_IRUSR)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(99,)-250(104, 107, 140, 149, 169, 473,)]TJ --1.917 -1.25 Td -(818, 896)Tj -/TT0 1 Tf --2.7 -1.25 Td -(S_IRWXG)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(107,)-250(639)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_IRWXO)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(107,)-250(639)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_IRWXU)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(107,)-250(584, 639)]TJ -/TT0 1 Tf -21.383 65 Td -(S_ISBLK)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(96)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(97, 139)Tj -/TT0 1 Tf --10.74 -1.25 Td -(S_ISCHR)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(96)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(97, 139, 698)Tj -/TT0 1 Tf --10.74 -1.25 Td -(S_ISDIR)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(96)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(97, 133, 698)Tj -/TT0 1 Tf --10.74 -1.25 Td -(S_ISFIFO)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(96)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(97, 535, 552)Tj -/TT0 1 Tf --11.34 -1.25 Td -(S_ISGID)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(99,)-250(107, 140, 498)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_ISLNK)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(96)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(97)Tj -/TT0 1 Tf --10.74 -1.25 Td -(S_ISREG)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(96,)-250(808)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_ISSOCK)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(96)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(97, 639)Tj -/TT0 1 Tf --11.34 -1.25 Td -(S_ISUID)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(99,)-250(107, 140)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_ISVTX)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(107)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(109, 140)Tj -/TT0 1 Tf --11.263 -1.25 Td -(SI_TIMER)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(SI_USER)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_IWGRP)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(99,)-250(104, 107, 140, 149)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_IWOTH)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(99,)-250(104, 107, 140, 149)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_IWUSR)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(99,)-250(104, 107, 140, 149, 169, 473,)]TJ --1.917 -1.25 Td -(818, 896)Tj -/TT0 1 Tf --2.7 -1.25 Td -(S_IXGRP)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(99,)-250(107, 140, 498, 896)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_IXOTH)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(99,)-250(107, 140, 896)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_IXUSR)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(99,)-250(107, 140, 169, 896)]TJ --4.617 -1.25 Td -(size, \336le,)Tj --0.055 Tc 4.319 0 Td -(111)Tj -0 Tc 1.473 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(2)Tj -/TT0 1 Tf --7.321 -1.25 Td -(size)Tj -/T1_1 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(206)]TJ -6.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(207, 226)Tj -/TT0 1 Tf --9.591 -1.25 Td -(sizeof)Tj -/T1_1 1 Tf -4.017 0 Td -(operator)Tj -0.5 Tc 3.714 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(31)Tj -/TT0 1 Tf --8.981 -1.25 Td -(size_t)Tj -/T1_1 1 Tf -4.017 0 Td -[(data type,)-500(59)]TJ -5.982 0.09 Td -(\320)Tj -0.583 -0.09 Td -(60, 71, 507, 772, 906)Tj -/TT0 1 Tf -0.1666 Tc -10.582 -1.25 Td -(__)Tj -0 Tc 1.367 0 Td -(SLBF)Tj -/T1_1 1 Tf -2.817 0 Td -[(constant, )-250(166)]TJ -/TT0 1 Tf --4.183 -1.25 Td -(sleep)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(230,)-250(234, 243, 246, 272, 274, 308,)]TJ --0.717 -1.25 Td -(331, 334, 339)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(342, 348, 372)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(375, 381)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(382,)Tj --16.5 -1.25 Td -(387, 391)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(392, 439, 451, 460, 504, 532,)Tj --4.166 -1.25 Td -(606)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(607, 923, 925, 928, 931, 936)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(373)]TJ -7.775 0.09 Td -(\320)Tj -0.583 -0.09 Td -(374, 929)Tj -/TT0 1 Tf --9.709 -1.25 Td -(sleep)Tj -/T1_1 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(372)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(sleep2)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(924)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(sleep_us)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(532,)-250(896)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(933)]TJ -7.775 0.09 Td -(\320)Tj -0.583 -0.09 Td -(934)Tj --9.709 -1.25 Td -[(SMF \(Service Management Facility\),)-500(293)]TJ -/TT0 1 Tf -0 -1.25 TD -(S_MSG)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(510)]TJ -/TT0 1 Tf -0.1666 Tc -3.417 -1.25 Td -(__)Tj -0 Tc 1.367 0 Td -(SNBF)Tj -/T1_1 1 Tf -2.817 0 Td -[(constant, )-250(165)]TJ --4.183 -1.25 Td -[(Snow Leopar)18(d, )-250(xxi)]TJ -/TT0 1 Tf -T* -(snprintf)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(159,)-250(901, 904)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(159)]TJ --1.35 -1.25 Td -(Snyder)Tj -0.25 Tc 3.074 0 Td -(,G)Tj -0 Tc 1.263 0 Td -[(., )-250(951)]TJ -/TT0 1 Tf --4.337 -1.25 Td -(sockaddr)Tj -/T1_1 1 Tf -5.217 0 Td -[(str)8(uctur)18(e, )-250(595)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(597, 605)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(607, 609, 622,)Tj --13.569 -1.25 Td -(625, 635, 637, 639, 641, 800)Tj -/TT0 1 Tf --2.7 -1.25 Td -(sockaddr_in)Tj -/T1_1 1 Tf -7.017 0 Td -[(str)8(uctur)18(e, )-250(595)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(596, 603)Tj -/TT0 1 Tf --13.902 -1.25 Td -(sockaddr_in6)Tj -/T1_1 1 Tf -7.617 0 Td -[(str)8(uctur)18(e, )-250(595)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(596)Tj -/TT0 1 Tf --14.502 -1.25 Td -(sockaddr_un)Tj -/T1_1 1 Tf -7.017 0 Td -[(str)8(uctur)18(e, )-250(634)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(638, 640)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(642)Tj -/TT0 1 Tf --18.069 -1.25 Td -(sockatmark)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(331,)-250(626)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(626)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(SOCK_DGRAM)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(590)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(591, 602, 608, 612,)Tj --10.363 -1.25 Td -(621, 623, 632, 941)Tj --2.7 -1.25 Td -(socket)Tj -1.35 -1.25 Td -[(addr)18(essing, )-250(593)]TJ -7.188 0.09 Td -(\320)Tj -0.583 -0.09 Td -(605)Tj --7.772 -1.25 Td -[(descriptors, )-250(590)]TJ -7.269 0.09 Td -(\320)Tj -0.583 -0.09 Td -(593)Tj --7.852 -1.25 Td -[(I/O, asynchr)18(onous, )-250(627)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47522 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(5.12)]TJ -33.142 0 Td -[(Implementation )-250(Details)]TJ -/T1_1 1 Tf -12.691 0 Td -(165)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(if \(\(fp = fopen\("/etc/passwd", "r"\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("fopen error"\);)Tj --2.4 -1.189 Td -(if \(getc\(fp\) == EOF\))Tj -2.4 -1.189 Td -(err_sys\("getc error"\);)Tj --2.4 -1.189 Td -(pr_stdio\("/etc/passwd", fp\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(void)Tj -0 -1.189 TD -(pr_stdio\(const char *name, FILE *fp\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("stream = %s, ", name\);)Tj -T* -(if \(is_unbuffered\(fp\)\))Tj -2.4 -1.189 Td -(printf\("unbuffered"\);)Tj --2.4 -1.189 Td -(else if \(is_linebuffered\(fp\)\))Tj -2.4 -1.189 Td -(printf\("line buffered"\);)Tj --2.4 -1.189 Td -(else /* if neither of above */)Tj -2.4 -1.189 Td -(printf\("fully buffered"\);)Tj --2.4 -1.189 Td -(printf\(", buffer size = %d\\n", buffer_size\(fp\)\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*T)Tj -0 Tc 1.8 0 Td -(he following is nonportable.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -2.021 Td -(#if defined\(_IO_UNBUFFERED\))Tj -T* -(int)Tj -0 -1.189 TD -(is_unbuffered\(FILE *fp\))Tj -T* -({)Tj -2.4 -1.189 Td -(return\(fp->_flags & _IO_UNBUFFERED\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(is_linebuffered\(FILE *fp\))Tj -T* -({)Tj -2.4 -1.189 Td -(return\(fp->_flags & _IO_LINE_BUF\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(buffer_size\(FILE *fp\))Tj -T* -({)Tj -2.4 -1.189 Td -(return\(fp->_IO_buf_end - fp->_IO_buf_base\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(#elif defined\(__SNBF\))Tj -T* -(int)Tj -0 -1.189 TD -(is_unbuffered\(FILE *fp\))Tj -T* -({)Tj -2.4 -1.189 Td -(return\(fp->_flags & __SNBF\);)Tj --2.4 -1.189 Td -(})Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47523 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(374)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -(sleep\(unsigned int seconds\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(struct sigaction)-2400(newact, oldact;)]TJ -T* -(sigset_t )Tj -12 0 Td -[(newmask,)-600(oldmask, suspmask;)]TJ --12 -1.189 Td -[(unsigned int)-4800(unslept;)]TJ -0 -1.783 TD -(/* set our handler, save previous information */)Tj -0 -1.189 TD -(newact.sa_handler = sig_alrm;)Tj -T* -(sigemptyset\(&newact.sa_mask\);)Tj -T* -(newact.sa_flags = 0;)Tj -0 -1.189 TD -(sigaction\(SIGALRM, &newact, &oldact\);)Tj -0 -1.783 TD -(/* block SIGALRM and save current signal mask */)Tj -0 -1.189 TD -(sigemptyset\(&newmask\);)Tj -T* -(sigaddset\(&newmask, SIGALRM\);)Tj -0 -1.189 TD -(sigprocmask\(SIG_BLOCK, &newmask, &oldmask\);)Tj -0 -1.783 TD -(alarm\(seconds\);)Tj -0 -1.189 TD -(suspmask = oldmask;)Tj -0 -1.783 TD -(/* make sure SIGALRM isn\325t blocked */)Tj -0 -1.189 TD -(sigdelset\(&suspmask, SIGALRM\);)Tj -0 -1.783 TD -(/* wait for any signal to be caught */)Tj -0 -1.189 TD -(sigsuspend\(&suspmask\);)Tj -0 -1.783 TD -(/* some signal has been caught, SIGALRM is now blocked */)Tj -0 -1.783 TD -(unslept = alarm\(0\);)Tj -0 -1.783 TD -(/* reset previous action */)Tj -0 -1.189 TD -(sigaction\(SIGALRM, &oldact, NULL\);)Tj -0 -1.783 TD -(/* reset signal mask, which unblocks SIGALRM */)Tj -0 -1.189 TD -(sigprocmask\(SIG_SETMASK, &oldmask, NULL\);)Tj -T* -(return\(unslept\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3284.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 238.8273 312.4115 Tm -(Figure 10.29)Tj -/T1_1 1 Tf -6.195 0 Td -(Reliable implementation of)Tj -/TT0 1 Tf -12.241 0 Td -(sleep)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5847 288.4144 Tm -[(It )-347(takes )-347(mor)]TJ -0.5967 Tc 5.947 0 Td -(ec)Tj -0 Tc 1.52 0 Td -[(ode )-347(to )-347(write )-347(this )-347(r)18(eliable )-347(implementation )-347(than )-347(what )-347(is )-347(shown )-347(in)]TJ --7.467 -1.2 Td -(Figur)Tj -0.3295 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.309 0 Td -[(0.7. )-329(W)]TJ -0.3295 Tc 2.987 0 Td -(ed)Tj -0 Tc 1.419 0 Td -[(on\325t )-79(use )-79(any )-79(form )-79(of )-79(nonlocal )-79(branching )-79(\(as )-79(we )-79(did )-79(in )-79(Figur)]TJ -0.3294 Tc 27.141 0 Td -(e1)Tj -0 Tc 1.308 0 Td -[(0.8 )-79(to)]TJ --36.548 -1.2 Td -[(avoid )-190(the )-190(race )-190(condition )-190(between)]TJ -/TT0 1 Tf -15.871 0 Td -(alarm)Tj -/T1_1 1 Tf -3.441 0 Td -(and)Tj -/TT0 1 Tf -2.134 0 Td -(pause)Tj -/T1_1 1 Tf -[(\), )-190(so )-190(ther)17(e)-440(is)-440(no)-440(e)]TJ --0.018 Tc 11.321 0 Td -(ff)Tj -0 Tc 0.648 0 Td -[(ect )-190(on )-190(other)]TJ --33.414 -1.2 Td -(signal handlers that may be executing when the)Tj -/TT0 1 Tf -21.353 0 Td -(SIGALRM)Tj -/T1_1 1 Tf -4.45 0 Td -(is handled.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2524.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 147.5734 223.6087 Tm -(The)Tj -/TT0 1 Tf -2.478 0 Td -(nanosleep)Tj -/T1_1 1 Tf -6.204 0 Td -[(function )-554(is )-554(similar )-554(to )-554(the)]TJ -/TT0 1 Tf -13.775 0 Td -(sleep)Tj -/T1_1 1 Tf -3.804 0 Td -[(function, )-554(but )-554(pr)19(ovides)]TJ --28.06 -1.2 Td -(nanosecond)Tj -5.296 0.09 Td -(-)Tj -0.333 -0.09 Td -[(level granularity)111(.)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.5738 194.9139 Tm -(#include )Tj -0 -1.783 TD -(int nanosleep\(const struct timespec *)Tj -/T1_2 1 Tf --0.018 Tc (re)Tj -0 Tc 22.96 0 Td -(qtp)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.096 0 Td -(truct timespec *)Tj -/T1_2 1 Tf --0.018 Tc (re)Tj -0 Tc 10.36 0 Td -(mtp)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --19.456 -1.783 Td -[(Returns: 0 if slept for r)18(equested time or)]TJ -/TT1 1 Tf -17.504 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1583.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9976 0 0 9.9976 129.5689 144.8142 Tm -[(This )-13(function )-13(suspends )-13(the )-13(calling )-13(pr)19(ocess )-13(until )-13(either )-13(the )-13(r)18(equested )-13(time )-13(has )-13(elapsed )-13(or)]TJ -0 -1.2 TD -[(the )-10(function )-10(is )-10(interr)8(upted )-10(by )-10(a )-10(signal.)-509(The)]TJ -/T1_2 1 Tf --0.018 Tc 19.395 0 Td -(re)Tj -0 Tc 0.76 0 Td -(qtp)Tj -/T1_1 1 Tf -1.556 0 Td -[(parameter )-10(speci\336es )-10(the )-10(amount )-10(of )-10(time)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47524 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(460)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(int err;)Tj -0 -1.902 TD -(printf\("parent unlocking locks...\\n"\);)Tj -0 -1.189 TD -(if \(\(err = pthread_mutex_unlock\(&lock1\)\) != 0\))Tj -2.4 -1.189 Td -(err_cont\(err, "can\325t unlock lock1 in parent handler"\);)Tj --2.4 -1.189 Td -(if \(\(err = pthread_mutex_unlock\(&lock2\)\) != 0\))Tj -2.4 -1.189 Td -(err_cont\(err, "can\325t unlock lock2 in parent handler"\);)Tj --4.8 -1.189 Td -(})Tj -0 -1.902 TD -(void)Tj -0 -1.189 TD -(child\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(int err;)Tj -0 -1.902 TD -(printf\("child unlocking locks...\\n"\);)Tj -0 -1.189 TD -(if \(\(err = pthread_mutex_unlock\(&lock1\)\) != 0\))Tj -2.4 -1.189 Td -(err_cont\(err, "can\325t unlock lock1 in child handler"\);)Tj --2.4 -1.189 Td -(if \(\(err = pthread_mutex_unlock\(&lock2\)\) != 0\))Tj -2.4 -1.189 Td -(err_cont\(err, "can\325t unlock lock2 in child handler"\);)Tj --4.8 -1.189 Td -(})Tj -0 -1.902 TD -(void *)Tj -0 -1.189 TD -(thr_fn\(void *arg\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("thread started...\\n"\);)Tj -T* -(pause\(\);)Tj -T* -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-4800(err;)]TJ -0 -1.189 TD -[(pid_t )-3600(pid;)]TJ -0 -1.189 TD -[(pthread_t )-1200(tid;)]TJ -0 -1.902 TD -(if \(\(err = pthread_atfork\(prepare, parent, child\)\) != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t install fork handlers"\);)Tj --2.4 -1.189 Td -(if \(\(err = pthread_create\(&tid, NULL, thr_fn, 0\)\) != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t create thread"\);)Tj --2.4 -1.902 Td -(sleep\(2\);)Tj -0 -1.189 TD -(printf\("parent about to fork...\\n"\);)Tj -0 -1.902 TD -(if \(\(pid = fork\(\)\) < 0\))Tj -2.4 -1.189 Td -(err_quit\("fork failed"\);)Tj --2.4 -1.189 Td -[(else if \(pid == 0\))-1200(/* child */)]TJ -2.4 -1.189 Td -(printf\("child returned from fork\\n"\);)Tj --2.4 -1.189 Td -[(else )-4200(/*)-600(parent */)]TJ -2.4 -1.189 Td -(printf\("parent returned from fork\\n"\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1540.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 249.974 138.0224 Tm -(Figure 12.17)Tj -/TT0 1 Tf -6.25 0 Td -(pthread_atfork)Tj -/T1_1 1 Tf -8.65 0 Td -(example)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47525 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.5 )]TJ -34.775 0 Td -[(Thr)18(ead )-250(T)92(ermination)]TJ -/T1_1 1 Tf -11.058 0 Td -(391)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(The )-296(pr)18(ogram )-296(in )-296(Figur)]TJ -0.5456 Tc 10.425 0 Td -(e1)Tj -0 Tc 1.47 0 Td -[(1.4 )-296(shows )-296(the )-296(pr)18(oblem )-296(with )-296(using )-296(an )-296(automatic )-296(variable)]TJ --11.894 -1.2 Td -[(\(allocated on the stack\) as the ar)18(gument to)]TJ -/TT1 1 Tf -18.908 0 Td -(pthread_exit)Tj -/T1_0 1 Tf -(.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6258.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 616.225 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(struct foo {)Tj -2.4 -1.189 Td -(int a, b, c, d;)Tj --2.4 -1.189 Td -(};)Tj -T* -(void)Tj -0 -1.189 TD -(printfoo\(const char *s, const struct foo *fp\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("%s", s\);)Tj -T* -[(printf\(" )-600(structure)-600(at 0x%lx\\n", \(unsigned long\)fp\);)]TJ -T* -[(printf\(" )-600(foo.a)]TJ -0.6 Tc 9.6 0 Td -(=%)Tj -0 Tc 1.8 0 Td -(d\\n", fp->a\);)Tj --11.4 -1.189 Td -[(printf\(" )-600(foo.b)]TJ -0.6 Tc 9.6 0 Td -(=%)Tj -0 Tc 1.8 0 Td -(d\\n", fp->b\);)Tj --11.4 -1.189 Td -[(printf\(" )-600(foo.c)]TJ -0.6 Tc 9.6 0 Td -(=%)Tj -0 Tc 1.8 0 Td -(d\\n", fp->c\);)Tj --11.4 -1.189 Td -[(printf\(" )-600(foo.d)]TJ -0.6 Tc 9.6 0 Td -(=%)Tj -0 Tc 1.8 0 Td -(d\\n", fp->d\);)Tj --13.8 -1.189 Td -(})Tj -0 -1.783 TD -(void *)Tj -0 -1.189 TD -(thr_fn1\(void *arg\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(struct foo)-1200(foo = {1, 2, 3, 4};)]TJ -0 -1.783 TD -(printfoo\("thread 1:\\n", &foo\);)Tj -0 -1.189 TD -(pthread_exit\(\(void *\)&foo\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(void *)Tj -0 -1.189 TD -(thr_fn2\(void *arg\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(printf\("thread 2: ID is %lu\\n", \(unsigned long\)pthread_self\(\)\);)Tj -0 -1.189 TD -(pthread_exit\(\(void *\)0\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-4800(err;)]TJ -0 -1.189 TD -[(pthread_t )-1200(tid1,)-600(tid2;)]TJ -0 -1.189 TD -[(struct foo)-1200(*fp;)]TJ -0 -1.783 TD -(err = pthread_create\(&tid1, NULL, thr_fn1, NULL\);)Tj -0 -1.189 TD -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t create thread 1"\);)Tj --2.4 -1.189 Td -(err = pthread_join\(tid1, \(void *\)&fp\);)Tj -T* -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t join with thread 1"\);)Tj --2.4 -1.189 Td -(sleep\(1\);)Tj -T* -(printf\("parent starting second thread\\n"\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47526 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.4 )]TJ -36.361 0 Td -[(Thr)18(ead )-250(Cr)18(eation)]TJ -/T1_1 1 Tf -9.472 0 Td -(387)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(Figur)Tj -0.3199 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.244 0 Td -[(1.2 )-70(cr)18(eates )-70(one )-70(thr)18(ead )-70(and )-70(prints )-70(the )-70(pr)18(ocess )-70(and )-70(thr)19(ead )-70(IDs )-70(of )-70(the )-70(new )-70(thr)18(ead)]TJ --3.627 -1.2 Td -[(and the initial thr)18(ead.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6498.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 640.2222 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -(pthread_t ntid;)Tj -T* -(void)Tj -0 -1.189 TD -(printids\(const char *s\))Tj -T* -({)Tj -2.4 -1.189 Td -[(pid_t )-3600(pid;)]TJ -T* -[(pthread_t )-1200(tid;)]TJ -0 -2.14 TD -(pid = getpid\(\);)Tj -0 -1.189 TD -(tid = pthread_self\(\);)Tj -0 -1.189 TD -(printf\("%s pid %lu tid %lu \(0x%lx\)\\n", s, \(unsigned long\)pid,)Tj -1.2 -1.189 Td -(\(unsigned long\)tid, \(unsigned long\)tid\);)Tj --3.6 -1.189 Td -(})Tj -0 -2.14 TD -(void *)Tj -0 -1.189 TD -(thr_fn\(void *arg\))Tj -T* -({)Tj -2.4 -1.189 Td -(printids\("new thread: "\);)Tj -T* -(return\(\(void *\)0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(err;)]TJ -0 -2.14 TD -(err = pthread_create\(&ntid, NULL, thr_fn, NULL\);)Tj -0 -1.189 TD -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t create thread"\);)Tj --2.4 -1.189 Td -(printids\("main thread:"\);)Tj -T* -(sleep\(1\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2738.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 265.4042 257.7916 Tm -[(Figure 1)37(1.2)]TJ -/T1_0 1 Tf -6.25 0 Td -[(Printing thr)18(ead IDs)]TJ -9.9982 0 0 9.9982 129.5767 233.7959 Tm -[(This )-88(example )-88(has )-88(two )-88(oddities, )-88(which )-88(ar)]TJ -0.338 Tc 18.338 0 Td -(en)Tj -0 Tc 1.399 0 Td -[(ecessary )-88(to )-88(handle )-88(races )-88(between )-88(the )-88(main)]TJ --19.737 -1.2 Td -[(thr)18(ead )-62(and )-62(the )-62(new )-62(thr)19(ead. )-312(\(W)92(e\325ll )-62(learn )-62(better )-62(ways )-62(to )-62(deal )-62(with )-62(these )-62(conditions )-62(later)]TJ -0 -1.2 TD -[(in )-42(this )-42(chapter)73(.\) )-292(The)-293(\336rst )-42(is )-42(the )-42(need )-42(to )-42(sleep )-42(in )-42(the )-42(main )-42(thr)16(ead. )-292(If)-292(it )-42(doesn\325t )-42(sleep, )-42(the)]TJ -T* -[(main )-139(thr)18(ead )-139(might )-139(exit, )-139(ther)18(eby )-139(terminating )-139(the )-139(entir)]TJ -0.3888 Tc 24.358 0 Td -(ep)Tj --0.018 Tc 1.469 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-139(befor)]TJ -0.3889 Tc 4.448 0 Td -(et)Tj -0 Tc 1.194 0 Td -[(he )-139(new )-139(thr)18(ead)]TJ --32.391 -1.2 Td -[(gets )-178(a )-178(chance )-178(to )-178(r)6(un. )-428(This)-429(behavior )-178(is )-178(dependent )-178(on )-178(the )-178(operating )-178(system\325s )-178(thr)15(eads)]TJ --0 -1.2 Td -(implementation and scheduling algorithms.)Tj -1.8 -1.2 Td -[(The )-410(second )-410(oddity )-410(is )-410(that )-410(the )-410(new )-410(thr)18(ead )-410(obtains )-410(its )-410(thr)18(ead )-410(ID )-410(by )-410(calling)]TJ -/TT0 1 Tf --1.8 -1.2 Td -(pthread_self)Tj -/T1_0 1 Tf -7.738 0 Td -[(instead )-288(of )-288(r)18(eading )-288(it )-288(out )-288(of )-288(shar)18(ed )-288(memory )-288(or )-288(r)18(eceiving )-288(it )-288(as )-288(an)]TJ --7.738 -1.2 Td -[(ar)18(gument )-273(to )-273(its )-273(thr)18(ead-start )-273(r)16(outine. )-523(Recall)-524(that)]TJ -/TT0 1 Tf -23.173 0 Td -(pthread_create)Tj -/T1_0 1 Tf -8.924 0 Td -[(will )-273(r)18(eturn )-273(the)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47527 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(348)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(0.15 shows many of the signal featur)18(es that we\325ve been describing.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6378.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 628.2236 Tm -(#include "apue.h")Tj -0 -2.14 TD -(static void sig_quit\(int\);)Tj -T* -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(sigset_t )-1800(newmask,)-600(oldmask, pendmask;)]TJ -0 -2.14 TD -(if \(signal\(SIGQUIT, sig_quit\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("can\325t catch SIGQUIT"\);)Tj --2.4 -2.14 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*B)Tj -0 Tc 1.8 0 Td -(lock SIGQUIT and save current signal mask.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(sigemptyset\(&newmask\);)Tj -0 -1.189 TD -(sigaddset\(&newmask, SIGQUIT\);)Tj -0 -1.189 TD -(if \(sigprocmask\(SIG_BLOCK, &newmask, &oldmask\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("SIG_BLOCK error"\);)Tj --2.4 -2.14 Td -[(sleep\(5\); )-1200(/*)-600(SIGQUIT here will remain pending */)]TJ -0 -2.14 TD -(if \(sigpending\(&pendmask\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("sigpending error"\);)Tj --2.4 -1.189 Td -(if \(sigismember\(&pendmask, SIGQUIT\)\))Tj -2.4 -1.189 Td -(printf\("\\nSIGQUIT pending\\n"\);)Tj --2.4 -2.14 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*R)Tj -0 Tc 1.8 0 Td -(estore signal mask which unblocks SIGQUIT.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(sigprocmask\(SIG_SETMASK, &oldmask, NULL\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("SIG_SETMASK error"\);)Tj --2.4 -1.189 Td -(printf\("SIGQUIT unblocked\\n"\);)Tj -0 -2.14 TD -[(sleep\(5\); )-1200(/*)-600(SIGQUIT here will terminate with core file */)]TJ -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(static void)Tj -0 -1.189 TD -(sig_quit\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("caught SIGQUIT\\n"\);)Tj -T* -(if \(signal\(SIGQUIT, SIG_DFL\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("can\325t reset SIGQUIT"\);)Tj --4.8 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1719.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 225.3794 155.9299 Tm -(Figure 10.15)Tj -/T1_1 1 Tf -6.195 0 Td -(Example of signal sets and)Tj -/TT1 1 Tf -12 0 Td -(sigprocmask)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47528 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.10)]TJ -/TT0 1 Tf -30.286 0 Td -(alarm)Tj -/T1_0 1 Tf -3.5 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(pause)Tj -/T1_0 1 Tf -3.5 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(339)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(The )-37(only )-37(time)]TJ -/TT0 1 Tf -6.49 0 Td -(pause)Tj -/T1_0 1 Tf --0.018 Tc 3.287 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-37(is )-37(if )-37(a )-37(signal )-37(handler )-37(is )-37(executed )-37(and )-37(that )-37(handler )-37(r)16(eturns.)]TJ --10.633 -1.2 Td -(In that case,)Tj -/TT0 1 Tf -5.5 0 Td -(pause)Tj -/T1_0 1 Tf --0.018 Tc 3.25 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -/TT1 1 Tf -2.58 0 Td -(!)Tj -/T1_0 1 Tf -0.25 Tc (1w)Tj -0 Tc 2.133 0 Td -(ith)Tj -/TT0 1 Tf -1.449 0 Td -(errno)Tj -/T1_0 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(EINTR)Tj -/T1_0 1 Tf -(.)Tj -/TT2 1 Tf --25.219 -2.4 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.04 Td -(Using)Tj -/TT0 1 Tf -2.935 0 Td -(alarm)Tj -/T1_0 1 Tf -3.304 0 Td -(and)Tj -/TT0 1 Tf -1.997 0 Td -(pause)Tj -/T1_0 1 Tf -[(,)-304(we)-304(can )-54(put )-54(a )-54(pr)19(ocess )-54(to )-54(sleep )-54(for )-54(a )-54(speci\336ed )-54(amount )-54(of )-54(time.)]TJ --8.235 -1.2 Td -(The)Tj -/TT0 1 Tf -1.969 0 Td -(sleep1)Tj -/T1_0 1 Tf -3.895 0 Td -[(function )-45(in )-45(Figur)]TJ -0.2947 Tc 7.552 0 Td -(e1)Tj -0 Tc 1.274 0 Td -[(0.7 )-45(appears )-45(to )-45(do )-45(this )-45(\(but )-45(it )-45(has )-45(pr)18(oblems, )-45(as )-45(we )-45(shall)]TJ --14.689 -1.2 Td -(see shortly\).)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5814.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 571.8304 Tm -[(#include )-1800()]TJ -0 -1.189 TD -[(#include )-1800()]TJ -0 -2.021 TD -(static void)Tj -0 -1.189 TD -(sig_alrm\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(/* nothing to do, just return to wake up the pause */)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(unsigned int)Tj -0 -1.189 TD -(sleep1\(unsigned int seconds\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(if \(signal\(SIGALRM, sig_alrm\) == SIG_ERR\))Tj -2.4 -1.189 Td -(return\(seconds\);)Tj --2.4 -1.189 Td -[(alarm\(seconds\); )-2400(/*)-600(start the timer */)]TJ -0 -1.189 TD -(pause\(\); )Tj -12 0 Td -[(/*)-600(next caught signal wakes us up */)]TJ --12 -1.189 Td -[(return\(alarm\(0\)\); )-1200(/*)-600(turn off timer, return unslept time */)]TJ --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3916.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 221.0562 375.5504 Tm -(Figure 10.7)Tj -/T1_0 1 Tf -5.695 0 Td -(Simple, incomplete implementation of)Tj -/TT0 1 Tf -17.181 0 Td -(sleep)Tj -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5769 351.5547 Tm -[(This )-12(function )-12(looks )-12(like )-12(the)]TJ -/TT0 1 Tf -12.294 0 Td -(sleep)Tj -/T1_0 1 Tf -3.262 0 Td -[(function, )-12(which )-12(we )-12(describe )-12(in )-12(Section )-12(10.19, )-12(but )-12(this)]TJ --15.555 -1.2 Td -[(simple implementation has thr)18(ee pr)18(oblems.)]TJ -1.8 -2.16 Td -[(1. )-633(If)-413(the )-163(caller )-163(alr)18(eady )-163(has )-163(an )-163(alarm )-163(set, )-163(that )-163(alarm )-163(is )-163(erased )-163(by )-163(the )-163(\336rst )-163(call )-163(to)]TJ -/TT0 1 Tf -1.633 -1.2 Td -(alarm)Tj -/T1_0 1 Tf -0.578 Tc (.W)Tj -0.328 Tc 4.736 0 Td -(ec)Tj -0 Tc 1.251 0 Td -[(an )-78(corr)18(ect )-78(this )-78(by )-78(looking )-78(at)]TJ -/TT0 1 Tf -12.986 0 Td -(alarm)Tj -/T1_0 1 Tf -[(\325s )-78(r)18(eturn )-78(value.)-578(If )-78(the )-78(number)]TJ --18.974 -1.2 Td -[(of )-109(seconds )-109(until )-109(some )-109(pr)18(eviously )-109(set )-109(alarm )-109(is )-109(less )-109(than )-109(the )-109(ar)13(gument, )-110(then )-110(we)]TJ -0 -1.2 TD -[(should )-151(wait )-151(only )-151(until )-151(the )-151(existing )-151(alarm )-151(expir)16(es. )-401(If)-401(the )-151(pr)18(eviously )-151(set )-151(alarm)]TJ --0 -1.2 Td -[(will )-67(go )-67(of)]TJ -0.3168 Tc 4.303 0 Td -(fa)Tj -0 Tc 1.15 0 Td -[(fter )-67(ours, )-67(then )-67(befor)]TJ -0.3168 Tc 8.958 0 Td -(er)Tj -0 Tc 1.173 0 Td -[(eturning )-67(we )-67(should )-67(r)18(eset )-67(this )-67(alarm )-67(to )-67(occur)]TJ --15.584 -1.2 Td -[(at its designated time in the futur)18(e.)]TJ --1.633 -1.84 Td -[(2. )-633(W)]TJ -0.3218 Tc 2.541 0 Td -(eh)Tj -0 Tc 1.383 0 Td -[(ave )-72(modi\336ed )-72(the )-72(disposition )-72(for)]TJ -/TT0 1 Tf -14.773 0 Td -(SIGALRM)Tj -/T1_0 1 Tf -0.5717 Tc (.I)Tj -0.3217 Tc 5.359 0 Td -(fw)Tj -0 Tc 1.489 0 Td -(e\325r)Tj -0.3217 Tc 1.134 0 Td -(ew)Tj -0 Tc 1.635 0 Td -[(riting )-72(a )-72(function )-72(for)]TJ --26.68 -1.2 Td -[(others )-116(to )-116(call, )-116(we )-116(should )-116(save )-116(the )-116(disposition )-116(when )-116(our )-116(function )-116(is )-116(called )-116(and)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(stor)18(e)-286(it)-286(when )-36(we\325r)]TJ -0.2857 Tc 8.071 0 Td -(ed)Tj -0 Tc 1.376 0 Td -[(one. )-286(W)]TJ -0.2857 Tc 3.301 0 Td -(ec)Tj -0 Tc 1.209 0 Td -[(an )-36(corr)18(ect )-36(this )-36(by )-36(saving )-36(the )-36(r)18(eturn )-36(value )-36(fr)20(om)]TJ -/TT0 1 Tf --14.812 -1.2 Td -(signal)Tj -/T1_0 1 Tf -3.85 0 Td -[(and r)18(esetting the disposition befor)]TJ -0.25 Tc 15.141 0 Td -(eo)Tj -0 Tc 1.275 0 Td -[(ur function r)18(eturns.)]TJ --21.899 -1.84 Td -[(3. )-633(Ther)18(e)-319(is)-319(a)-319(r)-1(ace )-69(condition )-69(between )-69(the )-69(\336rst )-69(call )-69(to)]TJ -/TT0 1 Tf -23.875 0 Td -(alarm)Tj -/T1_0 1 Tf -3.319 0 Td -[(and )-69(the )-69(call )-69(to)]TJ -/TT0 1 Tf -6.756 0 Td -(pause)Tj -/T1_0 1 Tf -(.)Tj --32.317 -1.2 Td -[(On )-54(a )-54(busy )-54(system, )-54(it\325s )-54(possible )-54(for )-54(the )-54(alarm )-54(to )-54(go )-54(of)]TJ -0.3037 Tc 23.68 0 Td -(fa)Tj -0 Tc 1.137 0 Td -[(nd )-54(the )-54(signal )-54(handler )-54(to)]TJ --24.816 -1.2 Td -[(be )-50(called )-50(befor)18(e)-300(we)-300(call)]TJ -/TT0 1 Tf -10.754 0 Td -(pause)Tj -/T1_0 1 Tf -0.55 Tc (.I)Tj -0.3 Tc 4.137 0 Td -(ft)Tj -0 Tc 0.959 0 Td -[(hat )-50(happens, )-50(the )-50(caller )-50(is )-50(suspended )-50(for)18(ever)]TJ --15.85 -1.2 Td -(in the call to)Tj -/TT0 1 Tf -5.658 0 Td -(pause)Tj -/T1_0 1 Tf -3.25 0 Td -(\(assuming that some other signal isn\325t caught\).)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47529 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.6)]TJ -/TT0 1 Tf -29.686 0 Td -(wait)Tj -/T1_0 1 Tf -2.9 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(waitpid)Tj -/T1_0 1 Tf -4.7 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(243)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(pid_t )-1200(pid;)]TJ -0 -2.021 TD -(if \(\(pid = fork\(\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(pid == 0\) {)-3600(/* first child */)]TJ -0.6 -1.189 Td -(if \(\(pid = fork\(\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("fork error"\);)Tj --2.4 -1.189 Td -(else if \(pid > 0\))Tj -2.4 -1.189 Td -[(exit\(0\); )-1800(/*)-600(parent from second fork == first child */)]TJ --2.4 -2.021 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*W)Tj -0 Tc 1.8 0 Td -(e\325re the second child; our parent becomes init as soon)Tj --1.8 -1.189 Td -[(*)-600(as)-600(our real parent calls exit\(\) in the statement above.)]TJ -0.6 Tc 0 -1.189 TD -(*H)Tj -0 Tc 1.8 0 Td -(ere\325s where we\325d continue executing, knowing that when)Tj -0.6 Tc -1.8 -1.189 Td -(*w)Tj -0 Tc 1.8 0 Td -(e\325re done, init will reap our status.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(sleep\(2\);)Tj -T* -(printf\("second child, parent pid = %ld\\n", \(long\)getppid\(\)\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -[(if \(waitpid\(pid, NULL, 0\) != pid\))-1800(/* wait for first child */)]TJ -2.4 -1.189 Td -(err_sys\("waitpid error"\);)Tj --2.4 -2.021 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*W)Tj -0 Tc 1.8 0 Td -(e\325re the parent \(the original process\); we continue executing,)Tj -0.6 Tc -1.8 -1.189 Td -(*k)Tj -0 Tc 1.8 0 Td -(nowing that we\325re not the parent of the second child.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2962.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 221.8454 280.2144 Tm -(Figure 8.8)Tj -/T1_0 1 Tf --0.092 Tc 5.195 0 Td -(Av)Tj -0 Tc 1.251 0 Td -[(oid zombie pr)18(ocesses by calling)]TJ -/TT0 1 Tf -14.212 0 Td -(fork)Tj -/T1_0 1 Tf -2.65 0 Td -(twice)Tj --0.092 Tc 9.9988 0 0 9.9988 147.5823 256.2173 Tm -[(We )-317(c)]TJ -0 Tc 2.214 0 Td -(all)Tj -/TT0 1 Tf -1.465 0 Td -(sleep)Tj -/T1_0 1 Tf -3.383 0 Td -[(in )-133(the )-133(second )-133(child )-133(to )-133(ensur)]TJ -0.3831 Tc 12.818 0 Td -(et)Tj -0 Tc 1.188 0 Td -[(hat )-133(the )-133(\336rst )-133(child )-133(terminates )-133(befor)18(e)]TJ --22.869 -1.2 Td -[(printing )-18(the )-18(par)18(ent )-18(pr)18(ocess )-18(ID.)-520(After )-18(a)]TJ -/TT0 1 Tf -17.472 0 Td -(fork)Tj -/T1_0 1 Tf -0.2685 Tc (,e)Tj -0 Tc 3.398 0 Td -[(ither )-18(the )-18(par)18(ent )-18(or )-18(the )-18(child )-18(can )-18(continue)]TJ --20.869 -1.2 Td -[(executing; )-238(we )-238(never )-238(know )-238(which )-238(will )-238(r)18(esume )-238(execution )-238(\336rst.)-738(If )-238(we )-238(didn\325t )-238(put )-238(the)]TJ -0 -1.2 TD -[(second )-91(child )-91(to )-91(sleep, )-91(and )-91(if )-91(it )-91(r)19(esumed )-91(execution )-91(after )-91(the)]TJ -/TT0 1 Tf -26.926 0 Td -(fork)Tj -/T1_0 1 Tf -2.741 0 Td -(befor)Tj -0.3409 Tc 2.288 0 Td -(ei)Tj -0 Tc 1.111 0 Td -[(ts )-91(par)18(ent, )-91(the)]TJ --33.066 -1.2 Td -[(par)18(ent pr)18(ocess ID that it printed would be that of its par)18(ent, not pr)18(ocess ID 1.)]TJ -1.8 -1.2 Td -[(Executing the pr)18(ogram in Figur)]TJ -0.25 Tc 13.909 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.8 gives us)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5824 179.5265 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf -0.6 Tc -1.2 -1.189 Td -($s)Tj -0 Tc 1.8 0 Td -(econd child, parent pid = 1)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5845 150.8299 Tm -[(Note )-184(that )-184(the )-184(shell )-184(prints )-184(its )-184(pr)18(ompt )-184(when )-184(the )-184(original )-184(pr)18(ocess )-184(terminates, )-184(which )-184(is)]TJ -T* -(befor)Tj -0.25 Tc 2.288 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(he second child prints its par)18(ent pr)18(ocess ID.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1388.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47530 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(166)Tj -/T1_1 1 Tf -3.5 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Library)]TJ -34.372 0 Td -[(Chapter )-250(5)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -(int)Tj -0 -1.189 TD -(is_linebuffered\(FILE *fp\))Tj -T* -({)Tj -2.4 -1.189 Td -(return\(fp->_flags & __SLBF\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(buffer_size\(FILE *fp\))Tj -T* -({)Tj -2.4 -1.189 Td -(return\(fp->_bf._size\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(#elif defined\(_IONBF\))Tj -0 -2.021 TD -(#ifdef _LP64)Tj -0 -1.189 TD -(#define _flag __pad[4])Tj -0 -1.189 TD -(#define _ptr __pad[1])Tj -0 -1.189 TD -(#define _base __pad[2])Tj -T* -(#endif)Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(is_unbuffered\(FILE *fp\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(return\(fp->_flag & _IONBF\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(is_linebuffered\(FILE *fp\))Tj -T* -({)Tj -2.4 -1.189 Td -(return\(fp->_flag & _IOLBF\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(buffer_size\(FILE *fp\))Tj -T* -({)Tj -T* -(#ifdef _LP64)Tj -2.4 -1.189 Td -(return\(fp->_base - fp->_ptr\);)Tj --2.4 -1.189 Td -(#else)Tj -2.4 -1.189 Td -(return\(BUFSIZ\); /* just a guess */)Tj --2.4 -1.189 Td -(#endif)Tj -T* -(})Tj -0 -2.021 TD -(#else)Tj -0 -2.021 TD -(#error unknown stdio implementation!)Tj -0 -2.021 TD -(#endif)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2022.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 216.0381 186.1667 Tm -[(Figure 5.1)37(1)]TJ -/T1_1 1 Tf -5.658 0 Td -[(Print buf)18(fering for various standar)]TJ -0.25 Tc 15.223 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O str)18(eams)]TJ -9.9988 0 0 9.9988 129.5845 157.3701 Tm -[(Note )-56(that )-56(we )-56(perform )-56(I/O )-56(on )-56(each )-56(str)18(eam )-56(befor)]TJ -0.3063 Tc 21.451 0 Td -(ep)Tj -0 Tc 1.386 0 Td -[(rinting )-56(its )-56(buf)18(fering )-56(status, )-56(since )-56(the)]TJ --22.837 -1.2 Td -[(\336rst )-23(I/O )-23(operation )-23(usually )-23(causes )-23(the )-23(buf)18(fers )-23(to )-23(be )-23(allocated )-23(for )-23(a )-23(str)14(eam. )-273(The)-274(str)8(uctur)18(e)]TJ -0 -1.2 Td -[(members )-37(and )-37(the )-37(constants )-37(used )-37(in )-37(this )-37(example )-37(ar)]TJ -0.2866 Tc 22.862 0 Td -(ed)Tj -0 Tc 1.377 0 Td -[(e\336ned )-37(by )-37(the )-37(implementations )-37(of)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47531 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.22)]TJ -34.82 0 Td -[(Reading )-250(Dir)18(ectories)]TJ -/T1_1 1 Tf -11.013 0 Td -(133)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -[(#define FTW_DNR 3)-4200(/* directory that can\325t be read */)]TJ -0 -1.189 TD -(#define FTW_NS)Tj -4.2 Tc 9.6 0 Td -(4/)Tj -0.6 Tc 5.4 0 Td -(*f)Tj -0 Tc 1.8 0 Td -(ile that we can\325t stat */)Tj --16.8 -1.902 Td -[(static char *fullpath;)-3600(/* contains full pathname for every file */)]TJ -T* -(static size_t pathlen;)Tj -0 -1.902 TD -(static int)Tj -16.8 0 Td -(/* we return whatever func\(\) returns */)Tj --16.8 -1.189 Td -(myftw\(char *pathname, Myfunc *func\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(fullpath = path_alloc\(&pathlen\);)-2400(/* malloc PATH_MAX+1 bytes */)]TJ -21.6 -1.189 Td -(/* \(Figure 2.16\) */)Tj --21.6 -1.189 Td -(if \(pathlen <= strlen\(pathname\)\) {)Tj -2.4 -1.189 Td -(pathlen = strlen\(pathname\) * 2;)Tj -T* -(if \(\(fullpath = realloc\(fullpath, pathlen\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("realloc failed"\);)Tj --4.8 -1.189 Td -(})Tj -T* -(strcpy\(fullpath, pathname\);)Tj -T* -(return\(dopath\(func\)\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*D)Tj -0 Tc 1.8 0 Td -(escend through the hierarchy, starting at "fullpath".)Tj --1.8 -1.189 Td -[(*)-600(If)-600("fullpath" is anything other than a directory, we lstat\(\) it,)]TJ -0.6 Tc 0 -1.189 TD -(*c)Tj -0 Tc 1.8 0 Td -[(all func\(\), and return.)-1200(For a directory, we call ourself)]TJ -0.6 Tc -1.8 -1.189 Td -(*r)Tj -0 Tc 1.8 0 Td -(ecursively for each name in the directory.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(static int)Tj -16.8 0 Td -(/* we return whatever func\(\) returns */)Tj --16.8 -1.189 Td -(dopath\(Myfunc* func\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(struct stat)-3000(statbuf;)]TJ -T* -[(struct dirent)-1800(*dirp;)]TJ -T* -(DIR )Tj -9.6 0 Td -(*dp;)Tj --9.6 -1.189 Td -(int )Tj -9.6 0 Td -[(ret,)-600(n;)]TJ --9.6 -1.902 Td -[(if \(lstat\(fullpath, &statbuf\) < 0\))-1200(/* stat error */)]TJ -2.4 -1.189 Td -(return\(func\(fullpath, &statbuf, FTW_NS\)\);)Tj --2.4 -1.189 Td -[(if \(S_ISDIR\(statbuf.st_mode\) == 0\))-1200(/* not a directory */)]TJ -2.4 -1.189 Td -(return\(func\(fullpath, &statbuf, FTW_F\)\);)Tj --2.4 -1.902 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*I)Tj -0 Tc 1.8 0 Td -[(t\325s a directory.)-1200(First call func\(\) for the directory,)]TJ -0.6 Tc -1.8 -1.189 Td -(*t)Tj -0 Tc 1.8 0 Td -(hen process each filename in the directory.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(\(ret = func\(fullpath, &statbuf, FTW_D\)\) != 0\))Tj -2.4 -1.189 Td -(return\(ret\);)Tj -0.6 Tc -2.4 -1.902 Td -(n=s)Tj -0 Tc 3 0 Td -(trlen\(fullpath\);)Tj --3 -1.189 Td -[(if \(n + NAME_MAX + 2 > pathlen\) {)-1800(/* expand path buffer */)]TJ -2.4 -1.189 Td -(pathlen *= 2;)Tj -T* -(if \(\(fullpath = realloc\(fullpath, pathlen\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("realloc failed"\);)Tj --4.8 -1.189 Td -(})Tj -T* -(fullpath[n++] = \325/\325;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47532 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.24)]TJ -34.629 0 Td -[(Device )-250(Special )-250(Files)]TJ -/T1_1 1 Tf -11.204 0 Td -(139)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 172.7896 670.2598 Tm -(if \(S_ISCHR\(buf.st_mode\) || S_ISBLK\(buf.st_mode\)\) {)Tj -2.4 -1.189 Td -(printf\(" \(%s\) rdev = %d/%d",)Tj -4.8 -1.189 Td -(\(S_ISCHR\(buf.st_mode\)\) ? "character" : "block",)Tj -0 -1.189 TD -(major\(buf.st_rdev\), minor\(buf.st_rdev\)\);)Tj --7.2 -1.189 Td -(})Tj -0 -1.189 TD -(printf\("\\n"\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.259 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5606.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 239.5792 544.5736 Tm -(Figure 4.25)Tj -/T1_0 1 Tf -5.695 0 Td -(Print)Tj -/TT0 1 Tf -2.448 0 Td -(st_dev)Tj -/T1_0 1 Tf -3.85 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(st_rdev)Tj -/T1_0 1 Tf -4.45 0 Td -(values)Tj -9.9988 0 0 9.9988 129.5847 514.5772 Tm -[(Running this pr)18(ogram on Linux gives us the following output:)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5826 491.88 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out / /home/sar /dev/tty[01])Tj -/TT0 1 Tf --1.2 -1.189 Td -(/: dev = 8/3)Tj -0 -1.189 TD -(/home/sar: dev = 8/4)Tj -T* -(/dev/tty0: dev = 0/5 \(character\) rdev = 4/0)Tj -T* -(/dev/tty1: dev = 0/5 \(character\) rdev = 4/1)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(mount)Tj -/T1_2 1 Tf -16.4 0 Td -[(which dir)18(ectories ar)]TJ -0.25 Tc 7.889 0 Td -(em)Tj -0 Tc 1.417 0 Td -(ounted on which devices?)Tj -/TT0 1 Tf --26.906 -1.189 Td -(/dev/sda3 on / type ext3 \(rw,errors=remount-ro,commit=0\))Tj -0 -1.189 TD -(/dev/sda4 on /home type ext3 \(rw,commit=0\))Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l /dev/tty[01] /dev/sda[34])Tj -/TT0 1 Tf --1.2 -1.189 Td -[(brw-rw---- )-600(1)-600(root )-3600(8,)]TJ -0.6 Tc 16.8 0 Td -(32)Tj -0 Tc 1.8 0 Td -(011-07-01 11:08 /dev/sda3)Tj --18.6 -1.189 Td -[(brw-rw---- )-600(1)-600(root )-3600(8,)]TJ -0.6 Tc 16.8 0 Td -(42)Tj -0 Tc 1.8 0 Td -(011-07-01 11:08 /dev/sda4)Tj --18.6 -1.189 Td -[(crw--w---- )-600(1)-600(root )-3600(4,)]TJ -0.6 Tc 16.8 0 Td -(02)Tj -0 Tc 1.8 0 Td -(011-07-01 11:08 /dev/tty0)Tj --18.6 -1.189 Td -[(crw------- )-600(1)-600(root )-3600(4,)]TJ -0.6 Tc 16.8 0 Td -(12)Tj -0 Tc 1.8 0 Td -(011-07-01 11:08 /dev/tty1)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5846 339.4983 Tm -[(The )-159(\336rst )-159(two )-159(ar)18(guments )-159(to )-159(the )-159(pr)18(ogram )-159(ar)]TJ -0.4089 Tc 19.716 0 Td -(ed)Tj -0 Tc 1.499 0 Td -[(ir)18(ectories )-159(\()]TJ -/TT0 1 Tf -(/)Tj -/T1_0 1 Tf -5.803 0 Td -(and)Tj -/TT0 1 Tf -2.102 0 Td -(/home/sar)Tj -/T1_0 1 Tf -[(\), )-159(and )-159(the)]TJ --29.119 -1.2 Td -[(next )-76(two )-76(ar)]TJ -0.3258 Tc 5.138 0 Td -(et)Tj -0 Tc 1.131 0 Td -[(he )-76(device )-76(names)]TJ -/TT0 1 Tf -7.775 0 Td -(/dev/tty[01])Tj -/T1_0 1 Tf -0.5757 Tc (.\()Tj --0.092 Tc 8.359 0 Td -[(We )-260(u)]TJ -0 Tc 2.316 0 Td -[(se )-76(the )-76(shell\325s )-76(r)18(egular )-76(expr)19(ession)]TJ --24.718 -1.2 Td -[(language )-149(to )-149(shorten )-149(the )-149(amount )-149(of )-149(typing )-149(we )-149(need )-149(to )-149(do.)-653(The )-149(shell )-149(will )-149(expand )-149(the)]TJ -0 -1.2 TD -(string)Tj -/TT0 1 Tf -2.824 0 Td -(/dev/tty[01])Tj -/T1_0 1 Tf -7.45 0 Td -(to)Tj -/TT0 1 Tf -1.122 0 Td -(/dev/tty0 /dev/tty1)Tj -/T1_0 1 Tf -(.\))Tj --0.092 Tc -9.596 -1.2 Td -[(We )-313(e)]TJ -0 Tc 2.245 0 Td -[(xpect )-129(the )-129(devices )-129(to )-129(be )-129(character )-129(special )-129(\336les.)-629(The )-129(output )-129(fr)18(om )-129(the )-129(pr)18(ogram)]TJ --4.045 -1.2 Td -[(shows )-77(that )-77(the )-77(r)18(oot )-77(dir)18(ectory )-77(has )-77(a )-77(dif)19(fer)18(ent )-77(device )-77(number )-77(than )-77(does )-77(the)]TJ -/TT0 1 Tf -33.6 0 Td -(/home/sar)Tj -/T1_0 1 Tf --33.6 -1.2 Td -[(dir)18(ectory)]TJ -0.2828 Tc 3.914 0 Td -(,w)Tj -0 Tc 1.367 0 Td -[(hich )-33(indicates )-33(that )-33(they )-33(ar)]TJ -0.2828 Tc 11.532 0 Td -(eo)Tj -0.2827 Tc 1.308 0 Td -(nd)Tj -0 Tc 1.476 0 Td -[(if)18(fer)18(ent )-33(\336le )-33(systems.)-533(Running )-33(the)]TJ -/TT0 1 Tf -15.238 0 Td -(mount)Tj -/T1_0 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj --38.667 -1.24 Td -(command veri\336es this.)Tj --0.092 Tc 1.8 -1.2 Td -[(We )-342(t)]TJ -0 Tc 2.121 0 Td -[(hen )-158(use)]TJ -/TT0 1 Tf -3.964 0 Td -(ls)Tj -/T1_0 1 Tf -1.608 0 Td -[(to )-158(look )-158(at )-158(the )-158(two )-158(disk )-158(devices )-158(r)20(eported )-158(by)]TJ -/TT0 1 Tf -20.497 0 Td -(mount)Tj -/T1_0 1 Tf -3.408 0 Td -[(and )-158(the )-158(two)]TJ --33.398 -1.2 Td -[(terminal )-177(devices.)-677(The )-177(two )-177(disk )-177(devices )-177(ar)]TJ -0.4267 Tc 19.532 0 Td -(eb)Tj -0 Tc 1.459 0 Td -[(lock )-177(special )-177(\336les, )-177(and )-177(the )-177(two )-177(terminal)]TJ --20.991 -1.2 Td -[(devices )-119(ar)]TJ -0.3686 Tc 4.539 0 Td -(ec)Tj -0 Tc 1.292 0 Td -[(haracter )-119(special )-119(\336les.)-618(\(Normally)]TJ -0.3686 Tc 14.571 0 Td -(,t)Tj -0 Tc 0.945 0 Td -[(he )-119(only )-119(types )-119(of )-119(devices )-119(that )-119(ar)]TJ -0.3687 Tc 14.417 0 Td -(eb)Tj -0 Tc 1.401 0 Td -(lock)Tj --37.163 -1.2 Td -[(special )-68(\336les )-68(ar)]TJ -0.3178 Tc 6.342 0 Td -(et)Tj -0 Tc 1.123 0 Td -[(hose )-68(that )-68(can )-68(contain )-68(random-access )-68(\336le )-68(systems)]TJ -0.0833 Tc 22.008 0 Td -(\321d)Tj -0 Tc 1.694 0 Td -[(isk )-68(drives, )-68(\337oppy)]TJ --31.167 -1.2 Td -[(disk )-403(drives, )-403(and )-403(CD)]TJ -10.031 0.09 Td -(-)Tj -0.333 -0.09 Td -[(ROMs, )-403(for )-403(example.)-903(Some )-403(older )-403(UNIX )-403(systems )-403(supported)]TJ --10.364 -1.2 Td -(magnetic tapes for \336le systems, but this was never widely used.\))Tj -1.8 -1.2 Td -[(Note )-99(that )-99(the )-99(\336lenames )-99(and )-99(i-nodes )-99(for )-99(the )-99(two )-99(terminal )-99(devices )-99(\()]TJ -/TT0 1 Tf -30.085 0 Td -(st_dev)Tj -/T1_0 1 Tf -0.349 Tc (\)a)Tj --0.018 Tc 4.782 0 Td -[(re )-135(o)]TJ -0 Tc 1.751 0 Td -(n)Tj --38.418 -1.2 Td -[(device )-71(0/5)]TJ -0.0833 Tc 4.88 0 Td -(\321t)Tj -0 Tc 1.409 0 Td -(he)Tj -/TT0 1 Tf -1.383 0 Td -(devtmpfs)Tj -/T1_0 1 Tf -5.121 0 Td -[(pseudo )-71(\336le )-71(system, )-71(which )-71(implements )-71(the)]TJ -/TT0 1 Tf -19.269 0 Td -(/dev)Tj -/T1_0 1 Tf -[(\321but )-72(that)]TJ --32.062 -1.2 Td -(their actual device numbers ar)Tj -0.25 Tc 13.402 0 Td -(e4)Tj -0 Tc 1.229 0 Td -(/0 and 4/1.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1475.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47533 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(584)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -(s_alloc\(\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(struct slock *sp;)Tj -T* -(static int cnt;)Tj -0 -1.783 TD -(if \(\(sp = malloc\(sizeof\(struct slock\)\)\) == NULL\))Tj -2.4 -1.189 Td -(return\(NULL\);)Tj --2.4 -1.189 Td -(do {)Tj -2.4 -1.189 Td -(snprintf\(sp->name, sizeof\(sp->name\), "/%ld.%d", \(long\)getpid\(\),)Tj -1.2 -1.189 Td -(cnt++\);)Tj --1.2 -1.189 Td -(sp->semp = sem_open\(sp->name, O_CREAT|O_EXCL, S_IRWXU, 1\);)Tj -0.6 Tc -2.4 -1.189 Td -(}w)Tj -0 Tc 1.8 0 Td -(hile \(\(sp->semp == SEM_FAILED\) && \(errno == EEXIST\)\);)Tj --1.8 -1.189 Td -(if \(sp->semp == SEM_FAILED\) {)Tj -2.4 -1.189 Td -(free\(sp\);)Tj -0 -1.189 TD -(return\(NULL\);)Tj --2.4 -1.189 Td -(})Tj -T* -(sem_unlink\(sp->name\);)Tj -T* -(return\(sp\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(void)Tj -0 -1.189 TD -(s_free\(struct slock *sp\))Tj -T* -({)Tj -2.4 -1.189 Td -(sem_close\(sp->semp\);)Tj -0 -1.189 TD -(free\(sp\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(s_lock\(struct slock *sp\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(return\(sem_wait\(sp->semp\)\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(s_trylock\(struct slock *sp\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(return\(sem_trywait\(sp->semp\)\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(s_unlock\(struct slock *sp\))Tj -T* -({)Tj -2.4 -1.189 Td -(return\(sem_post\(sp->semp\)\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2321.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 222.0294 216.1231 Tm -(Figure 15.35)Tj -/T1_1 1 Tf -6.195 0 Td -[(Mutual exclusion using a POSIX semaphor)18(e)]TJ --0.092 Tc 9.9988 0 0 9.9988 147.5825 192.1259 Tm -[(We )-197(c)]TJ --0.018 Tc 2.094 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ate )-12(a )-12(name )-12(based )-12(on )-12(the )-12(pr)18(ocess )-12(ID )-12(and )-12(a )-12(counter)]TJ -0.5125 Tc 21.856 0 Td -(.W)Tj -0.2625 Tc 1.671 0 Td -(ed)Tj -0 Tc 1.352 0 Td -[(on\325t )-12(bother )-12(to )-12(pr)17(otect)]TJ --29.628 -1.2 Td -[(the )-54(counter )-54(with )-54(a )-54(mutex, )-54(because )-54(if )-54(two )-54(racing )-54(thr)14(eads )-54(call)]TJ -/TT0 1 Tf -27.105 0 Td -(s_alloc)Tj -/T1_1 1 Tf -4.504 0 Td -[(at )-54(the )-54(same )-54(time)]TJ --31.609 -1.2 Td -[(and )-110(end )-110(up )-110(with )-110(the )-110(same )-110(name, )-110(using )-110(the)]TJ -/TT0 1 Tf -20.051 0 Td -(O_EXCL)Tj -/T1_1 1 Tf -3.96 0 Td -[(\337ag )-110(in )-110(the )-110(call )-110(to)]TJ -/TT0 1 Tf -8.122 0 Td -(sem_open)Tj -/T1_1 1 Tf -5.16 0 Td -(will)Tj --37.293 -1.2 Td -[(cause )-70(one )-70(to )-70(succeed )-70(and )-70(one )-70(to )-70(fail )-70(with)]TJ -/TT0 1 Tf -18.916 0 Td -(errno)Tj -/T1_1 1 Tf -3.32 0 Td -[(set )-70(to)]TJ -/TT0 1 Tf -2.742 0 Td -(EEXIST)Tj -/T1_1 1 Tf -[(,)-320(so)-320(we)-320(j)-1(ust )-70(r)18(etry )-70(if )-70(this)]TJ --24.978 -1.2 Td -[(happens. )-313(Note)-313(that )-63(we )-63(unlink )-63(the )-63(semaphor)]TJ -0.3129 Tc 20.059 0 Td -(ea)Tj -0 Tc 1.292 0 Td -[(fter )-63(opening )-63(it.)-563(This )-63(destr)18(oys )-63(the )-63(name)]TJ --21.351 -1.2 Td -[(so that no other pr)18(ocess can access it and simpli\336es cleanup when the pr)18(ocess ends.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1321.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47534 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(454)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -1.902 TD -(int pthread_sigmask\(int)Tj -/T1_2 1 Tf -14.4 0 Td -(how)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.466 0 Td -(onst sigset_t *restrict)Tj -/T1_2 1 Tf -14.4 0 Td -(set)Tj -/TT0 1 Tf -(,)Tj --20.266 -1.189 Td -(sigset_t *restrict)Tj -/T1_2 1 Tf -11.4 0 Td -(oset)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --2.119 -1.902 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6088.25 cm -0 0 m -0 585 l -3900 585 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 595.2886 Tm -(The)Tj -/TT0 1 Tf -2.423 0 Td -(pthread_sigmask)Tj -/T1_1 1 Tf -9.749 0 Td -[(function )-498(is )-498(identical )-498(to)]TJ -/TT0 1 Tf -12.103 0 Td -(sigprocmask)Tj -/T1_1 1 Tf -0.7485 Tc (,e)Tj -0 Tc 8.078 0 Td -[(xcept )-498(that)]TJ -/TT0 1 Tf --34.152 -1.2 Td -(pthread_sigmask)Tj -/T1_1 1 Tf -9.299 0 Td -[(works )-49(with )-49(thr)18(eads )-49(and )-49(r)18(eturns )-49(an )-49(err)18(or )-49(code )-49(on )-49(failur)]TJ -0.2988 Tc 24.533 0 Td -(ei)Tj -0 Tc 1.069 0 Td -[(nstead )-49(of)]TJ --34.9 -1.2 Td -(setting)Tj -/TT0 1 Tf -3.278 0 Td -(errno)Tj -/T1_1 1 Tf -3.294 0 Td -[(and )-44(r)18(eturning)]TJ -/TT1 1 Tf -6.472 0 Td -(!)Tj -/T1_1 1 Tf -[(1. )-294(Recall)-294(that )-44(the)]TJ -/T1_2 1 Tf -8.518 0 Td -(set)Tj -/T1_1 1 Tf -1.405 0 Td -[(ar)18(gument )-44(contains )-44(the )-44(set )-44(of )-44(signals)]TJ --22.966 -1.2 Td -[(that )-15(the )-15(thr)18(ead )-15(will )-15(use )-15(to )-15(modify )-15(its )-15(signal )-15(mask.)-515(The)]TJ -/T1_2 1 Tf -24.438 0 Td -(how)Tj -/T1_1 1 Tf -1.931 0 Td -[(ar)18(gument )-15(can )-15(take )-15(on )-15(one )-15(of)]TJ --26.369 -1.2 Td -[(thr)18(ee )-365(values:)]TJ -/TT0 1 Tf -6.585 0 Td -(SIG_BLOCK)Tj -/T1_1 1 Tf -6.015 0 Td -[(to )-365(add )-365(the )-365(set )-365(of )-365(signals )-365(to )-365(the )-365(thr)18(ead\325s )-365(signal )-365(mask,)]TJ -/TT0 1 Tf --12.6 -1.2 Td -(SIG_SETMASK)Tj -/T1_1 1 Tf -7.317 0 Td -[(to )-467(r)18(eplace )-467(the )-467(thr)18(ead\325s )-467(signal )-467(mask )-467(with )-467(the )-467(set )-467(of )-467(signals, )-467(or)]TJ -/TT0 1 Tf --7.317 -1.2 Td -(SIG_UNBLOCK)Tj -/T1_1 1 Tf -6.987 0 Td -[(to )-137(r)18(emove )-137(the )-137(set )-137(of )-137(signals )-137(fr)18(om )-137(the )-137(thr)18(ead\325s )-137(signal )-137(mask.)-634(If )-137(the)]TJ -/T1_2 1 Tf -30.458 0 Td -(oset)Tj -/T1_1 1 Tf --37.445 -1.2 Td -[(ar)18(gument )-220(is )-220(not )-220(null, )-220(the )-220(thr)17(ead\325s )-220(pr)18(evious )-220(signal )-220(mask )-220(is )-220(stor)18(ed )-220(in )-220(the)]TJ -/TT0 1 Tf -34.2 0 Td -(sigset_t)Tj -/T1_1 1 Tf --34.2 -1.2 Td -[(str)8(uctur)18(e)-322(to)-322(which )-72(it )-72(points.)]TJ -0.3221 Tc 13.072 0 Td -(At)Tj -0 Tc 1.426 0 Td -[(hr)18(ead )-72(can )-72(get )-72(its )-72(curr)18(ent )-72(signal )-72(mask )-72(by )-72(setting )-72(the)]TJ -/T1_2 1 Tf -23.392 0 Td -(set)Tj -/T1_1 1 Tf --37.889 -1.2 Td -[(ar)18(gument )-337(to)]TJ -/TT0 1 Tf -6.352 0 Td -(NULL)Tj -/T1_1 1 Tf -2.987 0 Td -[(and )-337(setting )-337(the)]TJ -/T1_2 1 Tf -7.826 0 Td -(oset)Tj -/T1_1 1 Tf -2.142 0 Td -[(ar)18(gument )-337(to )-337(the )-337(addr)18(ess )-337(of )-337(a)]TJ -/TT0 1 Tf -14.893 0 Td -(sigset_t)Tj -/T1_1 1 Tf --34.2 -1.2 Td -[(str)8(uctur)18(e. )-250(In)-250(this case, the)]TJ -/T1_2 1 Tf -11.745 0 Td -(how)Tj -/T1_1 1 Tf -1.916 0 Td -[(ar)18(gument is ignor)18(ed.)]TJ -0.25 Tc -11.861 -1.2 Td -(At)Tj -0 Tc 1.354 0 Td -[(hr)18(ead can wait for one or mor)]TJ -0.25 Tc 13.154 0 Td -(es)Tj -0 Tc 1.153 0 Td -(ignals to occur by calling)Tj -/TT0 1 Tf -11.262 0 Td -(sigwait)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5833 447.8063 Tm -(#include )Tj -0 -1.902 TD -(int sigwait\(const sigset_t *restrict)Tj -/T1_2 1 Tf -22.2 0 Td -(set)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.911 0 Td -(nt *restrict)Tj -/T1_2 1 Tf -7.8 0 Td -(signop)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --11.63 -1.902 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4091.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 396.7486 Tm -(The)Tj -/T1_2 1 Tf -1.964 0 Td -(set)Tj -/T1_1 1 Tf -1.401 0 Td -[(ar)18(gument )-40(speci\336es )-40(the )-40(set )-40(of )-40(signals )-40(for )-40(which )-40(the )-40(thr)15(ead )-40(is )-40(waiting.)-540(On )-40(r)16(eturn,)]TJ --3.366 -1.2 Td -[(the )-264(integer )-264(to )-264(which)]TJ -/T1_2 1 Tf -10.158 0 Td -(signop)Tj -/T1_1 1 Tf -3.181 0 Td -[(points )-264(will )-264(contain )-264(the )-264(number )-264(of )-264(the )-264(signal )-264(that )-264(was)]TJ --13.339 -1.2 Td -[(deliver)18(ed.)]TJ -1.8 -1.2 Td -[(If )-111(one )-111(of )-111(the )-111(signals )-111(speci\336ed )-111(in )-111(the )-111(set )-111(is )-111(pending )-111(at )-111(the )-111(time)]TJ -/TT0 1 Tf -28.697 0 Td -(sigwait)Tj -/T1_1 1 Tf -4.561 0 Td -[(is )-111(called,)]TJ --35.058 -1.2 Td -(then)Tj -/TT0 1 Tf -2.362 0 Td -(sigwait)Tj -/T1_1 1 Tf -4.593 0 Td -[(will )-143(r)18(eturn )-143(without )-143(blocking.)-643(Befor)]TJ -0.3929 Tc 16.214 0 Td -(er)Tj -0 Tc 1.249 0 Td -(eturning,)Tj -/TT0 1 Tf -4.457 0 Td -(sigwait)Tj -/T1_1 1 Tf --0.018 Tc 4.593 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(moves )-143(the)]TJ --34.323 -1.2 Td -[(signal )-93(fr)18(om )-93(the )-93(set )-93(of )-93(signals )-93(pending )-93(for )-93(the )-93(pr)18(ocess. )-343(If)-343(the )-93(implementation )-93(supports)]TJ -0 -1.2 Td -[(queued )-106(signals, )-106(and )-106(multiple )-106(instances )-106(of )-106(a )-106(signal )-106(ar)]TJ -0.3558 Tc 23.91 0 Td -(ep)Tj -0 Tc 1.436 0 Td -(ending,)Tj -/TT0 1 Tf -3.707 0 Td -(sigwait)Tj -/T1_1 1 Tf -4.556 0 Td -[(will )-106(r)18(emove)]TJ --33.609 -1.2 Td -[(only one instance of the signal; the other instances will r)18(emain queued.)]TJ --0.092 Tc 1.8 -1.2 Td -[(To )-212(a)]TJ -0 Tc 1.845 0 Td -[(void )-28(err)18(oneous )-28(behavior)]TJ -0.278 Tc 10.837 0 Td -[(,a )528(t)]TJ -0 Tc 1.632 0 Td -[(hr)18(ead )-28(must )-28(block )-28(the )-28(signals )-28(it )-28(is )-28(waiting )-28(for )-28(befor)17(e)]TJ --16.114 -1.2 Td -(calling)Tj -/TT0 1 Tf -3.296 0 Td -(sigwait)Tj -/T1_1 1 Tf -0.5914 Tc (.T)Tj -0 Tc 5.654 0 Td -(he)Tj -/TT0 1 Tf -1.402 0 Td -(sigwait)Tj -/T1_1 1 Tf -4.541 0 Td -[(function )-91(will )-91(atomically )-91(unblock )-91(the )-91(signals )-91(and )-91(wait)]TJ --14.895 -1.2 Td -[(until )-42(one )-42(is )-42(deliver)19(ed. )-292(Befor)]TJ -0.2917 Tc 12.61 0 Td -(er)Tj -0 Tc 1.148 0 Td -(eturning,)Tj -/TT0 1 Tf -4.356 0 Td -(sigwait)Tj -/T1_1 1 Tf -4.492 0 Td -[(will )-42(r)18(estor)]TJ -0.2917 Tc 4.528 0 Td -(et)Tj -0 Tc 1.097 0 Td -[(he )-42(thr)18(ead\325s )-42(signal )-42(mask.)]TJ --28.23 -1.2 Td -[(If )-49(the )-49(signals )-49(ar)]TJ -0.2989 Tc 6.899 0 Td -(en)Tj -0 Tc 1.36 0 Td -[(ot )-49(blocked )-49(at )-49(the )-49(time )-49(that)]TJ -/TT0 1 Tf -12.071 0 Td -(sigwait)Tj -/T1_1 1 Tf -4.499 0 Td -[(is )-49(called, )-49(then )-49(a )-49(timing )-49(window)]TJ --24.829 -1.2 Td -[(is )-22(opened )-22(up )-22(wher)]TJ -0.2724 Tc 8.306 0 Td -(eo)Tj -0 Tc 1.297 0 Td -[(ne )-22(of )-22(the )-22(signals )-22(can )-22(be )-22(deliver)16(ed )-22(to )-22(the )-22(thr)18(ead )-22(befor)16(e)-272(it)-272(c)-1(ompletes)]TJ --9.604 -1.2 Td -(its call to)Tj -/TT0 1 Tf -4.189 0 Td -(sigwait)Tj -/T1_1 1 Tf -(.)Tj --2.389 -1.2 Td -[(The )-18(advantage )-18(to )-18(using)]TJ -/TT0 1 Tf -10.691 0 Td -(sigwait)Tj -/T1_1 1 Tf -4.468 0 Td -[(is )-17(that )-17(it )-17(can )-17(simplify )-17(signal )-17(handling )-17(by )-17(allowing)]TJ --16.959 -1.2 Td -[(us )-33(to )-33(tr)18(eat )-33(asynchr)18(onously )-33(generated )-33(signals )-33(in )-33(a )-33(synchr)18(onous )-33(manner)]TJ -0.5331 Tc 31.329 0 Td -(.W)Tj -0.2831 Tc 1.691 0 Td -(ec)Tj -0 Tc 1.206 0 Td -[(an )-33(pr)18(event)]TJ --34.226 -1.2 Td -[(the )-62(signals )-62(fr)17(om )-62(interr)8(upting )-62(the )-62(thr)18(eads )-62(by )-62(adding )-62(them )-62(to )-62(each )-62(thr)18(ead\325s )-62(signal )-62(mask.)]TJ -0 -1.2 TD -[(Then )-44(we )-44(can )-44(dedicate )-44(speci\336c )-44(thr)18(eads )-44(to )-44(handling )-44(the )-44(signals.)-543(These )-44(dedicated )-44(thr)18(eads)]TJ --0 -1.2 Td -[(can )-60(make )-60(function )-60(calls )-60(without )-60(having )-60(to )-60(worry )-60(about )-60(which )-60(functions )-60(ar)]TJ -0.3096 Tc 33.459 0 Td -(es)Tj -0 Tc 1.213 0 Td -[(afe )-60(to )-60(call)]TJ --34.671 -1.2 Td -[(fr)18(om )-143(a )-143(signal )-143(handler)]TJ -0.393 Tc 9.828 0 Td -(,b)Tj -0 Tc 1.196 0 Td -[(ecause )-143(they )-143(ar)]TJ -0.393 Tc 6.535 0 Td -(eb)Tj -0 Tc 1.425 0 Td -[(eing )-143(called )-143(fr)18(om )-143(normal )-143(thr)18(ead )-143(context, )-143(not)]TJ --18.984 -1.2 Td -[(fr)18(om a traditional signal handler interr)8(upting a normal thr)18(ead\325s execution.)]TJ -1.8 -1.2 Td -[(If )-46(multiple )-46(thr)18(eads )-46(ar)]TJ -0.2956 Tc 9.498 0 Td -(eb)Tj -0 Tc 1.328 0 Td -[(locked )-45(in )-45(calls )-45(to)]TJ -/TT0 1 Tf -7.804 0 Td -(sigwait)Tj -/T1_1 1 Tf -4.496 0 Td -[(for )-45(the )-45(same )-45(signal, )-45(only )-45(one )-45(of)]TJ --24.925 -1.2 Td -[(the )-57(thr)18(eads )-57(will )-57(r)18(eturn )-57(fr)17(om)]TJ -/TT0 1 Tf -12.83 0 Td -(sigwait)Tj -/T1_1 1 Tf -4.507 0 Td -[(when )-57(the )-57(signal )-57(is )-57(deliver)17(ed. )-307(If)]TJ -0.3074 Tc 14.42 0 Td -(as)Tj -0 Tc 1.231 0 Td -[(ignal )-57(is )-57(being)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47535 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(13.6)]TJ -33.937 0 Td -[(Daemon )-250(Conventions)]TJ -/T1_1 1 Tf -11.896 0 Td -(477)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(sigfillset\(&mask\);)Tj -0 -1.189 TD -(if \(\(err = pthread_sigmask\(SIG_BLOCK, &mask, NULL\)\) != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "SIG_BLOCK error"\);)Tj --2.4 -2.021 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(reate a thread to handle SIGHUP and SIGTERM.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(err = pthread_create\(&tid, NULL, thr_fn, 0\);)Tj -T* -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t create thread"\);)Tj --2.4 -2.021 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(roceed with the rest of the daemon.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(/* ... */)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5007.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 235.6277 484.6608 Tm -(Figure 13.7)Tj -/T1_0 1 Tf -5.695 0 Td -[(Daemon r)18(er)18(eading con\336guration \336les)]TJ --0.092 Tc 9.9988 0 0 9.9988 147.5825 460.6637 Tm -[(We )-236(c)]TJ -0 Tc 2.133 0 Td -(all)Tj -/TT0 1 Tf -1.384 0 Td -(daemonize)Tj -/T1_0 1 Tf -5.702 0 Td -[(fr)18(om )-52(Figur)]TJ -0.3019 Tc 4.824 0 Td -(e1)Tj -0 Tc 1.281 0 Td -[(3.1 )-52(to )-52(initialize )-52(the )-52(daemon.)-552(When )-52(it )-52(r)18(eturns, )-52(we)]TJ --17.124 -1.2 Td -(call)Tj -/TT0 1 Tf -1.802 0 Td -(already_running)Tj -/T1_0 1 Tf -9.276 0 Td -[(fr)18(om )-26(Figur)]TJ -0.2758 Tc 4.798 0 Td -(e1)Tj -0 Tc 1.255 0 Td -[(3.6 )-26(to )-26(ensur)]TJ -0.2759 Tc 5.139 0 Td -(et)Tj -0 Tc 1.081 0 Td -[(hat )-26(only )-26(one )-26(copy )-26(of )-26(the )-26(daemon )-26(is)]TJ --0.008 Tc -23.35 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning. )-359(At)-359(this )-109(point,)]TJ -/TT0 1 Tf -9.851 0 Td -(SIGHUP)Tj -/T1_0 1 Tf -3.959 0 Td -[(is )-109(still )-109(ignor)18(ed, )-109(so )-109(we )-109(need )-109(to )-109(r)18(eset )-109(the )-109(disposition )-109(to)]TJ --14.8 -1.2 Td -[(the default behavior; otherwise, the thr)18(ead calling)]TJ -/TT0 1 Tf -22.264 0 Td -(sigwait)Tj -/T1_0 1 Tf -4.45 0 Td -(may never see the signal.)Tj --0.092 Tc -24.914 -1.2 Td -[(We )-271(b)]TJ -0 Tc 2.277 0 Td -[(lock )-87(all )-87(signals, )-87(as )-87(is )-87(r)17(ecommended )-87(for )-87(multithr)18(eaded )-87(pr)18(ograms, )-87(and )-87(cr)18(eate )-87(a)]TJ --4.077 -1.2 Td -[(thr)18(ead )-145(to )-145(handle )-145(signals.)-644(The )-145(thr)18(ead\325s )-145(only )-145(job )-145(is )-145(to )-145(wait )-145(for)]TJ -/TT0 1 Tf -28.468 0 Td -(SIGHUP)Tj -/T1_0 1 Tf -3.995 0 Td -(and)Tj -/TT0 1 Tf -2.088 0 Td -(SIGTERM)Tj -/T1_0 1 Tf -(.)Tj --34.55 -1.2 Td -[(When )-5(it )-5(r)19(eceives)]TJ -/TT0 1 Tf -7.562 0 Td -(SIGHUP)Tj -/T1_0 1 Tf -0.2546 Tc (,t)Tj -0 Tc 4.431 0 Td -[(he )-5(thr)18(ead )-5(calls)]TJ -/TT0 1 Tf -6.65 0 Td -(reread)Tj -/T1_0 1 Tf -3.855 0 Td -[(to )-5(r)18(er)18(ead )-5(its )-5(con\336guration )-5(\336le.)-503(When)]TJ --22.497 -1.2 Td -[(it r)18(eceives)]TJ -/TT0 1 Tf -4.655 0 Td -(SIGTERM)Tj -/T1_0 1 Tf -0.25 Tc (,t)Tj -0 Tc 5.026 0 Td -[(he thr)18(ead logs a message and exits.)]TJ --7.881 -1.2 Td -[(Recall )-248(fr)18(om )-248(Figur)]TJ -0.4976 Tc 8.19 0 Td -(e1)Tj -0 Tc 1.477 0 Td -[(0.1 )-248(that )-248(the )-248(default )-248(action )-248(for)]TJ -/TT0 1 Tf -14.463 0 Td -(SIGHUP)Tj -/T1_0 1 Tf -4.098 0 Td -(and)Tj -/TT0 1 Tf -2.191 0 Td -(SIGTERM)Tj -/T1_0 1 Tf -4.698 0 Td -[(is )-248(to)]TJ --36.915 -1.2 Td -[(terminate )-111(the )-111(pr)17(ocess. )-361(Because)-362(we )-111(block )-111(these )-111(signals, )-111(the )-111(daemon )-111(will )-111(not )-111(die )-111(when)]TJ --0 -1.2 Td -[(one )-32(of )-32(them )-32(is )-32(sent )-32(to )-32(the )-32(pr)15(ocess. )-282(Instead,)-283(the )-32(thr)18(ead )-32(calling)]TJ -/TT0 1 Tf -27.451 0 Td -(sigwait)Tj -/T1_0 1 Tf -4.482 0 Td -[(will )-32(r)18(eturn )-32(with)]TJ --31.933 -1.2 Td -[(an indication that the signal has been r)18(eceived.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3287.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -9.9982 0 0 9.9982 93.5832 292.6663 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(Not )-114(all )-114(daemons )-114(ar)]TJ -0.3639 Tc 8.779 0 Td -(em)Tj -0 Tc 1.726 0 Td -[(ultithr)18(eaded. )-364(The)-364(pr)18(ogram )-114(in )-114(Figur)]TJ -0.3638 Tc 16.219 0 Td -(e1)Tj -0 Tc 1.343 0 Td -[(3.8 )-114(shows )-114(how )-114(a )-114(single-)]TJ --28.067 -1.2 Td -[(thr)18(eaded daemon can catch)]TJ -/TT0 1 Tf -12.388 0 Td -(SIGHUP)Tj -/T1_0 1 Tf -3.85 0 Td -[(and r)18(er)18(ead its con\336guration \336le.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2495.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 129.5689 239.9604 Tm -(#include "apue.h")Tj -T* -(#include )Tj -T* -(#include )Tj -0 -2.021 TD -(extern int lockfile\(int\);)Tj -0 -1.189 TD -(extern int already_running\(void\);)Tj -0 -2.021 TD -(void)Tj -0 -1.189 TD -(reread\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(/* ... */)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47536 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.8)]TJ -34.385 0 Td -[(Thr)18(eads )-250(and )-250(Signals)]TJ -/T1_1 1 Tf -11.448 0 Td -(455)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(caught )-29(\(the )-29(pr)18(ocess )-29(has )-29(established )-29(a )-29(signal )-29(handler )-29(by )-29(using)]TJ -/TT0 1 Tf -27.435 0 Td -(sigaction)Tj -/T1_0 1 Tf -0.2795 Tc (,f)Tj -0 Tc 6.262 0 Td -[(or )-29(example\))]TJ --33.698 -1.2 Td -[(and )-161(a )-161(thr)18(ead )-161(is )-161(waiting )-161(for )-161(the )-161(same )-161(signal )-161(in )-161(a )-161(call )-161(to)]TJ -/TT0 1 Tf -25.863 0 Td -(sigwait)Tj -/T1_0 1 Tf -[(,)-411(it)-411(i)]TJ -0.4105 Tc 6.179 0 Td -(sl)Tj -0 Tc 1.126 0 Td -[(eft )-160(up )-160(to )-160(the)]TJ --33.167 -1.2 Td -[(implementation )-94(to )-94(decide )-94(which )-94(way )-94(to )-94(deliver )-94(the )-94(signal.)-594(The )-94(implementation )-94(could)]TJ -0 -1.2 TD -(either allow)Tj -/TT0 1 Tf -5.514 0 Td -(sigwait)Tj -/T1_0 1 Tf -4.45 0 Td -[(to r)18(eturn or invoke the signal handler)]TJ -0.25 Tc 16.491 0 Td -(,b)Tj -0 Tc 1.053 0 Td -(ut not both.)Tj --0.092 Tc -25.708 -1.2 Td -[(To )-343(s)]TJ -0 Tc 1.9 0 Td -[(end )-159(a )-159(signal )-159(to )-159(a )-159(pr)18(ocess, )-159(we )-159(call)]TJ -/TT0 1 Tf -15.842 0 Td -(kill)Tj -/T1_0 1 Tf -2.809 0 Td -[(\(Section )-159(10.9\).)]TJ --0.092 Tc 6.926 0 Td -[(To )-343(s)]TJ -0 Tc 1.9 0 Td -[(end )-159(a )-159(signal )-159(to )-159(a)]TJ --31.177 -1.2 Td -[(thr)18(ead, we call)]TJ -/TT0 1 Tf -6.714 0 Td -(pthread_kill)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5917 592.2645 Tm -(#include )Tj -0 -1.902 TD -(int pthread_kill\(pthread_t)Tj -/T1_2 1 Tf -16.2 0 Td -[(thr)18(ead)]TJ -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.337 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(signo)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --1.056 -1.902 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5535.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5844 539.9952 Tm -[(We )-237(c)]TJ -0 Tc 2.134 0 Td -[(an )-53(pass )-53(a)]TJ -/T1_2 1 Tf -4.44 0 Td -(signo)Tj -/T1_0 1 Tf -2.47 0 Td -[(value )-53(of )-53(0 )-53(to )-53(check )-53(for )-53(existence )-53(of )-53(the )-53(thr)19(ead. )-303(If)-303(the )-53(default )-53(action)]TJ --9.043 -1.2 Td -[(for )-60(a )-60(signal )-60(is )-60(to )-60(terminate )-60(the )-60(pr)17(ocess, )-60(then )-60(sending )-60(the )-60(signal )-60(to )-60(a )-60(thr)18(ead )-60(will )-60(still )-60(kill)]TJ -0 -1.2 TD -(the entir)Tj -0.25 Tc 3.692 0 Td -(ep)Tj --0.018 Tc 1.33 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(cess.)Tj --4.145 -1.2 Td -[(Note )-55(that )-55(alarm )-55(timers )-55(ar)]TJ -0.3046 Tc 11.378 0 Td -[(ea )555(p)]TJ --0.018 Tc 2.189 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-55(r)18(esour)18(ce, )-55(and )-55(all )-55(thr)18(eads )-55(shar)]TJ -0.3047 Tc 15.23 0 Td -(et)Tj -0 Tc 1.11 0 Td -[(he )-55(same )-55(set )-55(of)]TJ --32.631 -1.2 Td -[(alarms. )-393(Thus,)-392(it )-143(is )-143(not )-143(possible )-143(for )-143(multiple )-143(thr)18(eads )-143(in )-143(a )-143(pr)18(ocess )-143(to )-143(use )-143(alarm )-143(timers)]TJ -T* -[(without )-555(interfering )-555(\(or )-555(cooperating\) )-555(with )-555(one )-555(another )-555(\(this )-555(is )-555(the )-555(subject )-555(of)]TJ -T* -[(Exer)18(cise 12.6\).)]TJ -/TT1 1 Tf --3.6 -3.12 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.16 Td -[(Recall )-49(that )-49(in )-49(Figur)]TJ -0.2992 Tc 8.561 0 Td -(e1)Tj -0 Tc 1.278 0 Td -[(0.23, )-49(we )-49(waited )-49(for )-49(the )-49(signal )-49(handler )-49(to )-49(set )-49(a )-49(\337ag )-49(indicating )-49(that)]TJ --9.839 -1.2 Td -[(the )-2(main )-2(pr)18(ogram )-2(should )-2(exit.)-501(The )-2(only )-2(thr)18(eads )-2(of )-2(contr)18(ol )-2(that )-2(could )-2(r)8(un )-2(wer)]TJ -0.2519 Tc 34.374 0 Td -(et)Tj -0 Tc 1.057 0 Td -[(he )-2(main)]TJ --35.431 -1.2 Td -[(thr)18(ead )-63(and )-63(the )-63(signal )-63(handler)75(,)-313(so)-313(b)1(locking )-63(the )-63(signals )-63(was )-63(suf)18(\336cient )-63(to )-63(avoid )-63(missing )-63(a)]TJ -0 -1.2 Td -[(change )-11(to )-11(the )-11(\337ag.)]TJ --0.055 Tc 8.61 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-11(thr)18(eads, )-11(we )-11(need )-11(to )-11(use )-11(a )-11(mutex )-11(to )-11(pr)19(otect )-11(the )-11(\337ag, )-11(as )-11(we )-11(show)]TJ --9.846 -1.2 Td -(in Figur)Tj -0.25 Tc 3.506 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(2.16.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3600.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 350.4959 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -[(int )-4800(quitflag;)-1800(/* set nonzero by thread */)]TJ -0 -1.189 TD -[(sigset_t )-1800(mask;)]TJ -0 -2.14 TD -(pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;)Tj -0 -1.189 TD -(pthread_cond_t waitloc = PTHREAD_COND_INITIALIZER;)Tj -0 -2.14 TD -(void *)Tj -0 -1.189 TD -(thr_fn\(void *arg\))Tj -T* -({)Tj -2.4 -1.189 Td -(int err, signo;)Tj -0 -2.14 TD -(for \(;;\) {)Tj -2.4 -1.189 Td -(err = sigwait\(&mask, &signo\);)Tj -0 -1.189 TD -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "sigwait failed"\);)Tj --2.4 -1.189 Td -(switch \(signo\) {)Tj -T* -(case SIGINT:)Tj -2.4 -1.189 Td -(printf\("\\ninterrupt\\n"\);)Tj -T* -(break;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47537 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(364)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -({)Tj -2.4 -1.189 Td -(while \(sigflag == 0\))Tj -2.4 -1.189 Td -[(sigsuspend\(&zeromask\); )-600(/*)-600(and wait for child */)]TJ --2.4 -1.189 Td -(sigflag = 0;)Tj -0 -1.783 TD -(/* Reset signal mask to original value */)Tj -0 -1.189 TD -(if \(sigprocmask\(SIG_SETMASK, &oldmask, NULL\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("SIG_SETMASK error"\);)Tj --4.8 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5852.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 208.7349 569.1807 Tm -(Figure 10.24)Tj -/T1_1 1 Tf -6.195 0 Td -[(Routines to allow a par)18(ent and child to synchr)18(onize)]TJ --0.092 Tc 9.9988 0 0 9.9988 147.5825 545.1836 Tm -[(We )-188(u)]TJ -0 Tc 2.244 0 Td -[(se )-4(the )-4(two )-4(user)18(-de\336ned )-4(signals:)]TJ -/TT0 1 Tf -14.166 0 Td -(SIGUSR1)Tj -/T1_1 1 Tf -4.454 0 Td -[(is )-4(sent )-4(by )-4(the )-4(par)19(ent )-4(to )-4(the )-4(child, )-4(and)]TJ -/TT0 1 Tf --22.663 -1.2 Td -(SIGUSR2)Tj -/T1_1 1 Tf -4.846 0 Td -[(is )-396(sent )-396(by )-396(the )-396(child )-396(to )-396(the )-396(par)17(ent. )-646(In)-646(Figur)]TJ -0.6461 Tc 21.982 0 Td -(e1)Tj -0 Tc 1.625 0 Td -[(5.7, )-396(we )-396(show )-396(another)]TJ --28.453 -1.2 Td -(implementation of these \336ve functions using pipes.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5212.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 147.5734 494.7599 Tm -(The)Tj -/TT0 1 Tf -1.928 0 Td -(sigsuspend)Tj -/T1_1 1 Tf -6.254 0 Td -[(function )-4(is )-4(\336ne )-4(if )-4(we )-4(want )-4(to )-4(go )-4(to )-4(sleep )-4(while )-4(we\325r)]TJ -0.2538 Tc 22.624 0 Td -(ew)Tj -0 Tc 1.567 0 Td -[(aiting )-4(for )-4(a)]TJ --34.172 -1.2 Td -[(signal )-51(to )-51(occur )-51(\(as )-51(we\325ve )-51(shown )-51(in )-51(the )-51(pr)21(evious )-50(two )-50(examples\), )-50(but )-50(what )-50(if )-50(we )-50(want )-50(to)]TJ -0 -1.2 TD -[(call )-159(other )-159(system )-159(functions )-159(while )-159(we\325r)]TJ -0.4093 Tc 17.568 0 Td -(ew)Tj -0 Tc 1.722 0 Td -[(aiting? )-409(Unfortunately)]TJ -0.4093 Tc 9.835 0 Td -(,t)Tj -0 Tc 0.985 0 Td -[(his )-159(pr)18(oblem )-159(has )-159(no)]TJ --30.111 -1.2 Td -[(bulletpr)18(oof )-114(solution )-114(unless )-114(we )-114(use )-114(multiple )-114(thr)18(eads )-114(and )-114(dedicate )-114(a )-114(separate )-114(thr)18(ead )-114(to)]TJ -T* -(handling signals, as we discuss in Section 12.8.)Tj --0.055 Tc 1.8 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(thout )-117(using )-117(thr)18(eads, )-117(the )-117(best )-117(we )-117(can )-117(do )-117(is )-117(to )-117(set )-117(a )-117(global )-117(variable )-117(in )-117(the )-117(signal)]TJ --3.036 -1.2 Td -[(handler )-94(when )-94(the )-94(signal )-94(occurs.)-592(For )-94(example, )-94(if )-94(we )-94(catch )-94(both)]TJ -/TT0 1 Tf -28.82 0 Td -(SIGINT)Tj -/T1_1 1 Tf -3.944 0 Td -(and)Tj -/TT0 1 Tf -2.037 0 Td -(SIGALRM)Tj -/T1_1 1 Tf --34.8 -1.2 Td -[(and )-309(install )-309(the )-309(signal )-309(handlers )-309(using )-309(the)]TJ -/TT0 1 Tf -20.046 0 Td -(signal_intr)Tj -/T1_1 1 Tf -7.159 0 Td -[(function, )-309(the )-309(signals )-309(will)]TJ --27.205 -1.2 Td -[(interr)8(upt )-192(any )-192(slow )-192(system )-192(call )-192(that )-192(is )-192(blocked.)-692(The )-192(signals )-192(ar)]TJ -0.4418 Tc 28.807 0 Td -(em)Tj -0 Tc 1.804 0 Td -[(ost )-192(likely )-192(to )-192(occur)]TJ --30.611 -1.2 Td -[(when )-26(we\325r)]TJ -0.2763 Tc 4.721 0 Td -(eb)Tj -0 Tc 1.308 0 Td -[(locked )-26(in )-26(a )-26(call )-26(to )-26(the)]TJ -/TT0 1 Tf -9.743 0 Td -(read)Tj -/T1_1 1 Tf -2.676 0 Td -[(function )-26(waiting )-26(for )-26(input )-26(fr)17(om )-26(a )-26(slow )-26(device.)]TJ --18.449 -1.2 Td -[(\(This )-131(is )-131(especially )-131(tr)8(ue )-131(for)]TJ -/TT0 1 Tf -12.29 0 Td -(SIGALRM)Tj -/T1_1 1 Tf -0.3814 Tc (,s)Tj -0 Tc 5.255 0 Td -[(ince )-131(we )-131(set )-131(the )-131(alarm )-131(clock )-131(to )-131(pr)18(event )-131(us )-131(fr)14(om)]TJ --17.545 -1.2 Td -[(waiting for)18(ever for input.\))-500(The code to handle this looks similar to the following:)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 169.1692 346.0863 Tm -[(if \(intr_flag\))-3600(/* flag set by our SIGINT handler */)]TJ -2.4 -1.189 Td -(handle_intr\(\);)Tj --2.4 -1.189 Td -[(if \(alrm_flag\))-3600(/* flag set by our SIGALRM handler */)]TJ -2.4 -1.189 Td -(handle_alrm\(\);)Tj --2.4 -1.783 Td -(/* signals occurring in here are lost */)Tj -0 -1.783 TD -(while \(read\( ... \) < 0\) {)Tj -2.4 -1.189 Td -(if \(errno == EINTR\) {)Tj -2.4 -1.189 Td -(if \(alrm_flag\))Tj -2.4 -1.189 Td -(handle_alrm\(\);)Tj --2.4 -1.189 Td -(else if \(intr_flag\))Tj -2.4 -1.189 Td -(handle_intr\(\);)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(/* some other error */)Tj --2.4 -1.189 Td -(})Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(n == 0\) {)Tj -0.6 -1.189 Td -(/* end of file */)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(/* process input */)Tj --2.4 -1.189 Td -(})Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47538 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(324)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Then the pr)18(ototype becomes)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 652.2609 Tm -(Sigfunc *signal\(int, Sigfunc *\);)Tj -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5922 634.2619 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-43(included )-43(this)]TJ -/TT0 1 Tf -7.737 0 Td -(typedef)Tj -/T1_1 1 Tf -4.493 0 Td -(in)Tj -/TT0 1 Tf -1.166 0 Td -(apue.h)Tj -/T1_1 1 Tf -3.893 0 Td -[(\(Appendix )-43(B\) )-43(and )-43(use )-43(it )-43(with )-43(the )-43(functions )-43(in)]TJ --18.677 -1.2 Td -[(this chapter)74(.)]TJ -1.8 -1.2 Td -[(If )-7(we )-7(examine )-7(the )-7(system\325s )-7(header)]TJ -/TT0 1 Tf -15.481 0 Td -()Tj -/T1_1 1 Tf -[(,)-257(we)-257(will )-7(pr)18(obably )-7(\336nd )-7(declarations)]TJ --17.281 -1.2 Td -(of the form)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5908 581.5651 Tm -[(#define SIG_ERR)-1800(\(void \(*\)\(\)\)-1)]TJ -0 -1.189 TD -[(#define SIG_DFL)-1800(\(void \(*\)\(\)\)0)]TJ -T* -[(#define SIG_IGN)-1800(\(void \(*\)\(\)\)1)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5919 542.1675 Tm -[(These )-70(constants )-70(can )-70(be )-70(used )-70(in )-70(place )-70(of )-70(the )-70(\324)41(\324pointer )-69(to )-69(a )-69(function )-69(that )-69(takes )-69(an )-69(integer)]TJ -0 -1.2 TD -[(ar)18(gument )-67(and )-67(r)18(eturns )-67(nothing,\325)]TJ -0.3166 Tc 14.091 0 Td -(\325t)Tj -0 Tc 0.921 0 Td -[(he )-67(second )-67(ar)18(gument )-67(to)]TJ -/TT0 1 Tf -10.592 0 Td -(signal)Tj -/T1_1 1 Tf -0.3167 Tc (,a)Tj -0 Tc 4.667 0 Td -[(nd )-67(the )-67(r)18(eturn )-67(value)]TJ --30.27 -1.2 Td -[(fr)18(om)]TJ -/TT0 1 Tf -2.423 0 Td -(signal)Tj -/T1_1 1 Tf -0.5337 Tc (.T)Tj -0 Tc 4.997 0 Td -[(he )-34(thr)18(ee )-34(values )-34(used )-34(for )-34(these )-34(constants )-34(need )-34(not )-34(be)]TJ -/TT1 1 Tf -23.474 0 Td -(!)Tj -/T1_1 1 Tf -[(1, )-34(0, )-34(and )-34(1.)-532(They)]TJ --30.894 -1.2 Td -[(must )-144(be )-144(thr)19(ee )-144(values )-144(that )-144(can )-144(never )-144(be )-144(the )-144(addr)18(ess )-144(of )-144(any )-144(declarable )-144(function.)-642(Most)]TJ --0 -1.2 Td -(UNIX systems use the values shown.)Tj -/TT2 1 Tf --3.6 -2.4 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.16 Td -(Figur)Tj -0.3835 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.362 0 Td -[(0.2 )-133(shows )-133(a )-133(simple )-133(signal )-133(handler )-133(that )-133(catches )-133(either )-133(of )-133(the )-133(two )-133(user)12(-de\336ned)]TJ --3.745 -1.2 Td -[(signals )-36(and )-36(prints )-36(the )-36(signal )-36(number)]TJ -0.5364 Tc 16.264 0 Td -(.I)Tj -0.2864 Tc 1.123 0 Td -(nS)Tj -0 Tc 1.393 0 Td -[(ection )-36(10.10, )-36(we )-36(describe )-36(the)]TJ -/TT0 1 Tf -12.976 0 Td -(pause)Tj -/T1_1 1 Tf -3.286 0 Td -(function,)Tj --35.043 -1.2 Td -[(which simply suspends the calling pr)18(ocess until a signal is r)18(eceived.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4174.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 407.8501 Tm -(#include "apue.h")Tj -0 -1.902 TD -[(static void sig_usr\(int\);)-1800(/* one handler for both signals */)]TJ -T* -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(signal\(SIGUSR1, sig_usr\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("can\325t catch SIGUSR1"\);)Tj --2.4 -1.189 Td -(if \(signal\(SIGUSR2, sig_usr\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("can\325t catch SIGUSR2"\);)Tj --2.4 -1.189 Td -(for \( ; ; \))Tj -2.4 -1.189 Td -(pause\(\);)Tj --4.8 -1.189 Td -(})Tj -0 -1.902 TD -(static void)Tj -0 -1.189 TD -[(sig_usr\(int signo\))-3600(/* argument is signal number */)]TJ -T* -({)Tj -2.4 -1.189 Td -(if \(signo == SIGUSR1\))Tj -2.4 -1.189 Td -(printf\("received SIGUSR1\\n"\);)Tj --2.4 -1.189 Td -(else if \(signo == SIGUSR2\))Tj -2.4 -1.189 Td -(printf\("received SIGUSR2\\n"\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(err_dump\("received signal %d\\n", signo\);)Tj --4.8 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1591.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 215.0253 143.1122 Tm -(Figure 10.2)Tj -/T1_1 1 Tf -5.695 0 Td -[(Simple pr)18(ogram to catch)]TJ -/TT0 1 Tf -11.096 0 Td -(SIGUSR1)Tj -/T1_1 1 Tf -4.45 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(SIGUSR2)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47539 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.16)]TJ -/TT0 1 Tf -33.403 0 Td -(sigsuspend)Tj -/T1_0 1 Tf -6.5 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(361)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -(static void)Tj -0 -1.189 TD -(sig_int\(int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(pr_mask\("\\nin sig_int: "\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6227.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 229.2845 606.6262 Tm -(Figure 10.22)Tj -/T1_0 1 Tf -6.195 0 Td -[(Pr)18(otecting a critical r)18(egion fr)18(om a signal)]TJ -9.9988 0 0 9.9988 129.5846 582.6291 Tm -(When)Tj -/TT0 1 Tf -2.989 0 Td -(sigsuspend)Tj -/T1_0 1 Tf --0.018 Tc 6.346 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns, )-96(it )-96(sets )-96(the )-96(signal )-96(mask )-96(to )-96(its )-96(value )-96(befor)]TJ -0.3456 Tc 20.993 0 Td -(et)Tj -0 Tc 1.151 0 Td -[(he )-96(call.)-596(In )-96(this)]TJ --32.334 -1.2 Td -[(example, )-51(the)]TJ -/TT0 1 Tf -5.989 0 Td -(SIGINT)Tj -/T1_0 1 Tf -3.901 0 Td -[(signal )-51(will )-51(be )-51(blocked, )-51(so )-51(we )-51(r)16(estor)]TJ -0.3013 Tc 15.733 0 Td -(et)Tj -0 Tc 1.106 0 Td -[(he )-51(signal )-51(mask )-51(to )-51(the )-51(value)]TJ --26.729 -1.2 Td -(that we saved earlier \()Tj -/TT0 1 Tf -(oldmask)Tj -/T1_0 1 Tf -(\).)Tj -1.8 -1.2 Td -[(Running the pr)18(ogram fr)18(om Figur)]TJ -0.25 Tc 14.631 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(0.22 pr)18(oduces the following output:)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5826 529.9354 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(program start:)Tj -T* -(in critical region: SIGINT)Tj -/TT1 1 Tf -T* -(\366C)Tj -/T1_2 1 Tf -20 0 Td -(type the interrupt character)Tj -/TT0 1 Tf --20 -1.189 Td -(in sig_int: SIGINT SIGUSR1)Tj -T* -(after return from sigsuspend: SIGINT)Tj -T* -(program exit:)Tj -/T1_0 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5847 447.7457 Tm -[(We )-288(a)]TJ -0 Tc 2.241 0 Td -(dded)Tj -/TT0 1 Tf -2.666 0 Td -(SIGUSR1)Tj -/T1_0 1 Tf -4.554 0 Td -[(to )-104(the )-104(mask )-104(installed )-104(when )-104(we )-104(called)]TJ -/TT0 1 Tf -17.298 0 Td -(sigsuspend)Tj -/T1_0 1 Tf -6.354 0 Td -[(so )-104(that )-104(when)]TJ --33.112 -1.2 Td -[(the )-108(signal )-108(handler )-108(ran, )-108(we )-108(could )-108(tell )-108(that )-108(the )-108(mask )-108(had )-108(actually )-108(changed.)]TJ --0.092 Tc 33.989 0 Td -[(We )-292(c)]TJ -0 Tc 2.189 0 Td -[(an )-108(see)]TJ --36.178 -1.2 Td -(that when)Tj -/TT0 1 Tf -4.711 0 Td -(sigsuspend)Tj -/T1_0 1 Tf --0.018 Tc 6.25 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns, it r)18(estor)18(es the signal mask to its value befor)]TJ -0.25 Tc 21.912 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he call.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4238.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -9.9982 0 0 9.9982 93.5832 393.7281 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.04 Td -[(Another )-75(use )-75(of)]TJ -/TT0 1 Tf -7.048 0 Td -(sigsuspend)Tj -/T1_0 1 Tf -6.325 0 Td -[(is )-75(to )-75(wait )-75(for )-75(a )-75(signal )-75(handler )-75(to )-75(set )-75(a )-75(global )-75(variable.)-575(In)]TJ --13.373 -1.2 Td -[(the )-182(pr)18(ogram )-182(shown )-182(in )-182(Figur)]TJ -0.4325 Tc 13.199 0 Td -(e1)Tj -0 Tc 1.411 0 Td -[(0.23, )-182(we )-182(catch )-182(both )-182(the )-182(interr)8(upt )-182(signal )-182(and )-182(the )-182(quit)]TJ --14.611 -1.2 Td -[(signal, but want to wake up the main r)18(outine only when the quit signal is caught.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3422.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 129.5689 332.6182 Tm -(#include "apue.h")Tj -0 -1.902 TD -[(volatile sig_atomic_t)-1800(quitflag; )-1200(/*)-600(set nonzero by signal handler */)]TJ -T* -(static void)Tj -0 -1.189 TD -[(sig_int\(int signo\))-1200(/* one signal handler for SIGINT and SIGQUIT */)]TJ -T* -({)Tj -2.4 -1.189 Td -(if \(signo == SIGINT\))Tj -2.4 -1.189 Td -(printf\("\\ninterrupt\\n"\);)Tj --2.4 -1.189 Td -(else if \(signo == SIGQUIT\))Tj -2.4 -1.189 Td -[(quitflag = 1;)-1800(/* set flag for main loop */)]TJ --4.8 -1.189 Td -(})Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(sigset_t )-1800(newmask,)-600(oldmask, zeromask;)]TJ -0 -1.902 TD -(if \(signal\(SIGINT, sig_int\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("signal\(SIGINT\) error"\);)Tj --2.4 -1.189 Td -(if \(signal\(SIGQUIT, sig_int\) == SIG_ERR\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47540 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(360)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.3746 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.354 0 Td -[(0.22 )-125(shows )-125(the )-125(corr)19(ect )-125(way )-125(to )-125(pr)18(otect )-125(a )-125(critical )-125(r)18(egion )-125(of )-125(code )-125(fr)18(om )-125(a )-125(speci\336c)]TJ --3.737 -1.2 Td -(signal.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6258.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 616.225 Tm -(#include "apue.h")Tj -0 -1.902 TD -(static void sig_int\(int\);)Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(sigset_t )-1800(newmask,)-600(oldmask, waitmask;)]TJ -0 -1.902 TD -(pr_mask\("program start: "\);)Tj -T* -(if \(signal\(SIGINT, sig_int\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("signal\(SIGINT\) error"\);)Tj --2.4 -1.189 Td -(sigemptyset\(&waitmask\);)Tj -0 -1.189 TD -(sigaddset\(&waitmask, SIGUSR1\);)Tj -T* -(sigemptyset\(&newmask\);)Tj -0 -1.189 TD -(sigaddset\(&newmask, SIGINT\);)Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*B)Tj -0 Tc 1.8 0 Td -(lock SIGINT and save current signal mask.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(sigprocmask\(SIG_BLOCK, &newmask, &oldmask\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("SIG_BLOCK error"\);)Tj --2.4 -1.902 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(ritical region of code.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(pr_mask\("in critical region: "\);)Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(ause, allowing all signals except SIGUSR1.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(sigsuspend\(&waitmask\) != -1\))Tj -2.4 -1.189 Td -(err_sys\("sigsuspend error"\);)Tj --2.4 -1.902 Td -(pr_mask\("after return from sigsuspend: "\);)Tj -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*R)Tj -0 Tc 1.8 0 Td -(eset signal mask which unblocks SIGINT.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(sigprocmask\(SIG_SETMASK, &oldmask, NULL\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("SIG_SETMASK error"\);)Tj --2.4 -1.902 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*A)Tj -0 Tc 1.8 0 Td -(nd continue processing ...)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(pr_mask\("program exit: "\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47541 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(358)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -1734 6494 432 144 re -S -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 185.3889 654.8007 Tm -(main)Tj -/TT1 1 Tf --1.2 -2.25 Td -(signal\(\))Tj -0 -0.9 TD -(signal\(\))Tj --0.3 -0.9 Td -(pr_mask\(\))Tj --0.6 -0.9 Td -(sigsetjmp\(\))Tj -1.2 -0.9 Td -(pause\(\))Tj -ET -q -0.99994 0 0 0.99994 0 0 cm -q 1 0 0 1 281.4 591.8 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -1 j 1 J -q 1 0 0 1 2814 5918 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1950.25 5918.25 cm -0 0 m -792 0 l -S -Q -Q -BT -/TT1 1 Tf -7.999 0 0 7.999 203.6436 594.9686 Tm -(SIGUSR1)Tj -/T1_1 1 Tf -4.45 0 Td -[(deliver)18(ed)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2814 5846 648 144 re -S -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 294.547 589.9338 Tm -(sig_usr1)Tj -/TT1 1 Tf --0.3 -2.25 Td -(pr_mask\(\))Tj -0.6 -0.9 Td -(alarm\(\))Tj -0.3 -0.9 Td -(time\(\))Tj -T* -(time\(\))Tj -T* -(time\(\))Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3138.25 5414.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3138.25 5378.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3138.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3138.25 5306.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3138.25 5270.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 313.8 519.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 3138 5198 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 5270.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 421.8 519.8 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 4218 5198 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 5198.25 cm -0 0 m -1008 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9971 0 0 7.9971 333.148 522.8517 Tm -(SIGALRM)Tj -/T1_1 1 Tf -4.45 0 Td -[(deliver)18(ed)]TJ -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -4218 5126 648 144 re -S -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 434.8173 517.8225 Tm -(sig_alrm)Tj -/TT1 1 Tf --0.3 -2.25 Td -(pr_mask\(\))Tj -0.3 -0.9 Td -(return\(\))Tj -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 313.8 494.6 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3138 4946 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4218.25 4946.25 cm -0 0 m --1008 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.018 Tc 7.9962 0 0 7.9962 320.706 487.6059 Tm -(re)Tj -0 Tc 0.856 0 Td -[(turn fr)18(om signal handler)]TJ -ET -q -0.099952 0 0 0.099952 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3138.25 4946.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3138.25 4910.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3138.25 4874.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3138.25 4838.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3138.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 313.8 473 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 3138 4730 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 4802.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9952 0 0 7.9952 292.0247 467.3595 Tm -(pr_mask\(\))Tj --0.9 -0.9 Td -(siglongjmp\(\))Tj -ET -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 227.4 462.2 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 2274 4622 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2814.25 4622.25 cm -0 0 m --468 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9947 0 0 7.9947 168.4888 460.1362 Tm -(sigsetjmp\(\))Tj -0.6 -0.9 Td -(pr_mask\(\))Tj -0.9 -0.9 Td -(exit\(\))Tj -/T1_0 1 Tf -3.4 -2.63 Td -(Figure 10.21)Tj -/T1_1 1 Tf --0.055 Tc 6.195 0 Td -(Ti)Tj -0 Tc 0.849 0 Td -[(meline for example pr)18(ogram handling two signals)]TJ -9.9934 0 0 9.9934 147.5029 394.7396 Tm -[(Let\325s examine the output when the pr)18(ogram in Figur)]TJ -0.25 Tc 23.218 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(0.20 is executed:)Tj -/TT1 1 Tf -8.9941 0 0 8.9941 147.5027 378.0506 Tm -($)Tj -/TT0 1 Tf -1.2 0 Td -(./a.out &)Tj -/T1_2 1 Tf -18.8 0 Td -[(start pr)18(ocess in backgr)18(ound)]TJ -/TT1 1 Tf --20 -1.189 Td -(starting main:)Tj -0 -1.189 TD -[([1] )-1200(531)]TJ -/T1_2 1 Tf -20 0 Td -[(the job-contr)18(ol shell prints its pr)18(ocess ID)]TJ -/TT1 1 Tf --20 -1.189 Td -($)Tj -/TT0 1 Tf -1.2 0 Td -(kill -USR1 531)Tj -/T1_2 1 Tf -18.8 0 Td -[(send the pr)18(ocess)]TJ -/TT1 1 Tf -6.695 0 Td -(SIGUSR1)Tj --26.695 -1.189 Td -(starting sig_usr1: SIGUSR1)Tj -0 -1.189 TD -[($)-600(in)-600(sig_alrm: SIGUSR1 SIGALRM)]TJ -0 -1.189 TD -(finishing sig_usr1: SIGUSR1)Tj -T* -(ending main:)Tj -/T1_2 1 Tf -20 -1.189 Td -[(just pr)18(ess RETURN)]TJ -/TT1 1 Tf --20 -1.189 Td -[([1] +)-1200(Done )-4800(./a.out)-600(&)]TJ -/T1_1 1 Tf -9.9934 0 0 9.9934 129.5147 263.826 Tm -[(The )-3(output )-3(is )-3(what )-3(we )-3(expect: )-3(when )-3(a )-3(signal )-3(handler )-3(is )-3(invoked, )-3(the )-3(signal )-3(being )-3(caught)]TJ -0 -1.2 TD -[(is )-59(added )-59(to )-59(the )-59(curr)18(ent )-59(signal )-59(mask )-59(of )-59(the )-59(pr)15(ocess. )-309(The)-310(original )-59(mask )-59(is )-59(r)17(estor)18(ed )-59(when)]TJ --0 -1.2 Td -[(the )-55(signal )-55(handler )-55(r)19(eturns. )-305(Also,)]TJ -/TT1 1 Tf -14.97 0 Td -(siglongjmp)Tj -/T1_1 1 Tf --0.018 Tc 6.305 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(stor)18(es )-55(the )-55(signal )-55(mask )-55(that )-55(was )-55(saved)]TJ --22.131 -1.2 Td -(by)Tj -/TT1 1 Tf -1.359 0 Td -(sigsetjmp)Tj -/T1_1 1 Tf -(.)Tj -0.441 -1.2 Td -[(If )-238(we )-238(change )-238(the )-238(pr)18(ogram )-238(in )-238(Figur)]TJ -0.4884 Tc 16.557 0 Td -(e1)Tj -0 Tc 1.467 0 Td -[(0.20 )-238(so )-238(that )-238(the )-238(calls )-238(to)]TJ -/TT1 1 Tf -11.594 0 Td -(sigsetjmp)Tj -/T1_1 1 Tf -5.889 0 Td -(and)Tj -/TT1 1 Tf --37.307 -1.2 Td -(siglongjmp)Tj -/T1_1 1 Tf -6.359 0 Td -(ar)Tj -0.3591 Tc 0.877 0 Td -(er)Tj -0 Tc 1.215 0 Td -[(eplaced )-109(with )-109(calls )-109(to)]TJ -/TT1 1 Tf -9.696 0 Td -(setjmp)Tj -/T1_1 1 Tf -3.959 0 Td -(and)Tj -/TT1 1 Tf -2.052 0 Td -(longjmp)Tj -/T1_1 1 Tf -4.559 0 Td -[(on )-109(Linux )-109(\(or)]TJ -/TT1 1 Tf -6.082 0 Td -(_setjmp)Tj -/T1_1 1 Tf --34.8 -1.2 Td -(and)Tj -/TT1 1 Tf -1.943 0 Td -(_longjmp)Tj -/T1_1 1 Tf -5.05 0 Td -[(on Fr)18(eeBSD\), the \336nal line of output becomes)]TJ -/TT1 1 Tf -8.9941 0 0 8.9941 147.5031 175.1845 Tm -(ending main: SIGUSR1)Tj -/T1_1 1 Tf -9.9934 0 0 9.9934 129.515 157.1964 Tm -[(This )-56(means )-56(that )-56(the)]TJ -/TT1 1 Tf -9.122 0 Td -(main)Tj -/T1_1 1 Tf -2.706 0 Td -[(function )-56(is )-56(executing )-56(with )-56(the)]TJ -/TT1 1 Tf -13.647 0 Td -(SIGUSR1)Tj -/T1_1 1 Tf -4.506 0 Td -[(signal )-56(blocked, )-56(after)]TJ --29.981 -1.2 Td -(the call to)Tj -/TT1 1 Tf -4.535 0 Td -(setjmp)Tj -/T1_1 1 Tf -0.5 Tc (.T)Tj -0 Tc 4.963 0 Td -[(his pr)18(obably isn\325t what we want.)]TJ -ET -q -0.099934 0 0 0.099934 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1453.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47542 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(356)Tj -/T1_1 1 Tf -3.5 0 Td -(Signals )Tj -36.187 0 Td -[(Chapter)-3054(10)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -1.902 TD -(int sigsetjmp\(sigjmp_buf)Tj -/T1_2 1 Tf -15 0 Td -(env)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.245 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(savemask)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --14.157 -1.902 Td -[(Returns: 0 if called dir)18(ectly)]TJ -0.25 Tc 11.731 0 Td -(,n)Tj -0 Tc 1.082 0 Td -[(onzer)18(o)-250(if)-250(r)18(eturning fr)18(om a call to)]TJ -/TT0 1 Tf -14.632 0 Td -(siglongjmp)Tj --33.333 -1.902 Td -(void siglongjmp\(sigjmp_buf)Tj -/T1_2 1 Tf -16.2 0 Td -(env)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.245 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(val)Tj -/TT0 1 Tf -(\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6024.25 cm -0 0 m -0 649 l -3900 649 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 588.8693 Tm -[(The )-32(only )-32(dif)17(fer)18(ence )-32(between )-32(these )-32(functions )-32(and )-32(the)]TJ -/TT0 1 Tf -23.531 0 Td -(setjmp)Tj -/T1_1 1 Tf -3.882 0 Td -(and)Tj -/TT0 1 Tf -1.975 0 Td -(longjmp)Tj -/T1_1 1 Tf -4.482 0 Td -[(functions )-32(is)]TJ --33.871 -1.2 Td -(that)Tj -/TT0 1 Tf -2.055 0 Td -(sigsetjmp)Tj -/T1_1 1 Tf -5.721 0 Td -[(has )-71(an )-71(additional )-71(ar)18(gument. )-321(If)]TJ -/T1_2 1 Tf -14.217 0 Td -(savemask)Tj -/T1_1 1 Tf -4.098 0 Td -[(is )-71(nonzer)18(o, )-71(then)]TJ -/TT0 1 Tf -7.509 0 Td -(sigsetjmp)Tj -/T1_1 1 Tf --33.6 -1.2 Td -[(also )-18(saves )-18(the )-18(curr)18(ent )-18(signal )-18(mask )-18(of )-18(the )-18(pr)18(ocess )-18(in)]TJ -/T1_2 1 Tf -22.867 0 Td -(env)Tj -/T1_1 1 Tf -0.518 Tc (.W)Tj -0 Tc 3.213 0 Td -(hen)Tj -/TT0 1 Tf -1.911 0 Td -(siglongjmp)Tj -/T1_1 1 Tf -6.268 0 Td -[(is )-18(called, )-18(if)]TJ --34.259 -1.2 Td -(the)Tj -/T1_2 1 Tf -1.814 0 Td -(env)Tj -/T1_1 1 Tf -1.872 0 Td -[(ar)18(gument )-177(was )-177(saved )-177(by )-177(a )-177(call )-177(to)]TJ -/TT0 1 Tf -15.638 0 Td -(sigsetjmp)Tj -/T1_1 1 Tf -5.827 0 Td -[(with )-177(a )-177(nonzer)18(o)]TJ -/T1_2 1 Tf -7.426 0 Td -(savemask)Tj -/T1_1 1 Tf -0.4269 Tc (,t)Tj -0 Tc 4.78 0 Td -(hen)Tj -/TT0 1 Tf --37.357 -1.2 Td -(siglongjmp)Tj -/T1_1 1 Tf --0.018 Tc 6.25 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(stor)18(es the saved signal mask.)]TJ -/TT1 1 Tf --10.706 -2.64 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(The )-65(pr)18(ogram )-65(in )-65(Figur)]TJ -0.3151 Tc 9.733 0 Td -(e1)Tj -0 Tc 1.294 0 Td -[(0.20 )-65(demonstrates )-65(how )-65(the )-65(signal )-65(mask )-65(that )-65(is )-65(installed )-65(by )-65(the)]TJ --11.027 -1.2 Td -[(system )-316(when )-316(a )-316(signal )-316(handler )-316(is )-316(invoked )-316(automatically )-316(includes )-316(the )-316(signal )-316(being)]TJ -0 -1.2 TD -[(caught. )-487(This)-487(pr)18(ogram )-237(also )-237(illustrates )-237(the )-237(use )-237(of )-237(the)]TJ -/TT0 1 Tf -24.933 0 Td -(sigsetjmp)Tj -/T1_1 1 Tf -5.887 0 Td -(and)Tj -/TT0 1 Tf -2.18 0 Td -(siglongjmp)Tj -/T1_1 1 Tf --33 -1.2 Td -(functions.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4473.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 437.7602 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -1.783 TD -(static void)Tj -19.2 0 Td -(sig_usr1\(int\);)Tj --19.2 -1.189 Td -(static void)Tj -19.2 0 Td -(sig_alrm\(int\);)Tj --19.2 -1.189 Td -(static sigjmp_buf)Tj -19.2 0 Td -(jmpbuf;)Tj --19.2 -1.189 Td -[(static volatile sig_atomic_t)-2400(canjump;)]TJ -T* -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(signal\(SIGUSR1, sig_usr1\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("signal\(SIGUSR1\) error"\);)Tj --2.4 -1.189 Td -(if \(signal\(SIGALRM, sig_alrm\) == SIG_ERR\))Tj -2.4 -1.189 Td -(err_sys\("signal\(SIGALRM\) error"\);)Tj --2.4 -1.783 Td -[(pr_mask\("starting main: "\);)-3000(/* Figure 10.14 */)]TJ -0 -1.783 TD -(if \(sigsetjmp\(jmpbuf, 1\)\) {)Tj -2.4 -1.783 Td -(pr_mask\("ending main: "\);)Tj -0 -1.783 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -[(canjump = 1;)-2400(/* now sigsetjmp\(\) is OK */)]TJ -0 -1.783 TD -(for \( ; ; \))Tj -2.4 -1.189 Td -(pause\(\);)Tj --4.8 -1.189 Td -(})Tj -T* -(static void)Tj -0 -1.189 TD -(sig_usr1\(int signo\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47543 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(3.14)]TJ -/TT0 1 Tf -36.903 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.5 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(83)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 219.5868 670.9597 Tm -[(Be )-100(awar)]TJ -0.3504 Tc 3.651 0 Td -(et)Tj -0 Tc 1.155 0 Td -[(hat )-100(some )-100(existing )-100(pr)17(ograms )-100(that )-100(deal )-100(with )-100(the )-100(\336le )-100(descriptor )-100(\337ags )-100(don\325t)]TJ --4.807 -1.25 Td -[(use )-13(the )-13(constant)]TJ -/TT0 1 Tf -7.411 0 Td -(FD_CLOEXEC)Tj -/T1_0 1 Tf -0.5128 Tc (.I)Tj -0 Tc 7.1 0 Td -[(nstead, )-13(these )-13(pr)18(ograms )-13(set )-13(the )-13(\337ag )-13(to )-13(either )-13(0 )-13(\(don\325t)]TJ --14.511 -1.25 Td -(close-on-exec, the default\) or 1 \(do close-on-exec\).)Tj -/TT0 1 Tf -9.9994 0 0 9.9994 129.5919 625.9624 Tm -(F_GETFL)Tj -/T1_0 1 Tf -6 0 Td -[(Return )-3(the )-3(\336le )-3(status )-3(\337ags )-3(for)]TJ -/T1_2 1 Tf -13.3 0 Td -(fd)Tj -/T1_0 1 Tf -1.031 0 Td -[(as )-3(the )-3(value )-3(of )-3(the )-3(function.)]TJ --0.092 Tc 12.742 0 Td -[(We )-187(d)]TJ -0 Tc 2.251 0 Td -(escribed)Tj --29.324 -1.2 Td -[(the )-39(\336le )-39(status )-39(\337ags )-39(when )-39(we )-39(described )-39(the)]TJ -/TT0 1 Tf -19.229 0 Td -(open)Tj -/T1_0 1 Tf -2.689 0 Td -[(function. )-289(They)-289(ar)]TJ -0.289 Tc 7.892 0 Td -(el)Tj -0 Tc 1.059 0 Td -(isted)Tj --30.869 -1.2 Td -(in Figur)Tj -0.25 Tc 3.506 0 Td -(e3)Tj -0 Tc 1.229 0 Td -(.10.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2174.25 5892.25 cm -0 0 m -2743 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 221.4454 581.1303 Tm -(File status \337ag)Tj -18.006 0 Td -(Description)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2174.25 5772.25 cm -0 0 m -2743 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2174.25 5752.25 cm -0 0 m -2743 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 221.4321 567.0979 Tm -(O_RDONLY)Tj -/T1_0 1 Tf -7.884 0 Td -[(open for r)18(eading only)]TJ -/TT0 1 Tf --7.884 -1.25 Td -(O_WRONLY)Tj -/T1_0 1 Tf -7.884 0 Td -(open for writing only)Tj -/TT0 1 Tf --7.884 -1.25 Td -(O_RDWR)Tj -/T1_0 1 Tf -7.884 0 Td -[(open for r)18(eading and writing)]TJ -/TT0 1 Tf --7.884 -1.25 Td -(O_EXEC)Tj -/T1_0 1 Tf -7.884 0 Td -(open for execute only)Tj -/TT0 1 Tf --7.884 -1.25 Td -(O_SEARCH)Tj -/T1_0 1 Tf -7.884 0 Td -[(open dir)18(ectory for sear)18(ching only)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2174.25 5232.25 cm -0 0 m -2743 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 221.4189 515.0764 Tm -(O_APPEND)Tj -/T1_0 1 Tf -7.884 0 Td -(append on each write)Tj -/TT0 1 Tf --7.884 -1.25 Td -(O_NONBLOCK)Tj -/T1_0 1 Tf -7.884 0 Td -(nonblocking mode)Tj -/TT0 1 Tf --7.884 -1.25 Td -(O_SYNC)Tj -/T1_0 1 Tf -7.884 0 Td -(wait for writes to complete \(data and attributes\))Tj -/TT0 1 Tf --7.884 -1.25 Td -(O_DSYNC)Tj -/T1_0 1 Tf -7.884 0 Td -(wait for writes to complete \(data only\))Tj -/TT0 1 Tf --7.884 -1.25 Td -(O_RSYNC)Tj -/T1_0 1 Tf -7.884 0 Td -[(synchr)18(onize r)18(eads and writes)]TJ -/TT0 1 Tf --7.884 -1.25 Td -(O_FSYNC)Tj -/T1_0 1 Tf -7.884 0 Td -[(wait for writes to complete \(Fr)18(eeBSD and Mac OS X only\))]TJ -/TT0 1 Tf --7.884 -1.25 Td -(O_ASYNC)Tj -/T1_0 1 Tf -7.884 0 Td -[(asynchr)18(onous I/O \(Fr)18(eeBSD and Mac OS X only\))]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2174.25 4512.25 cm -0 0 m -2743 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2785.25 4512.25 cm -0 0 m -0 1380 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4917.25 4512.25 cm -0 0 m -0 1380 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2174.25 4512.25 cm -0 0 m -0 1380 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 285.4064 433.0701 Tm -(Figure 3.10)Tj -/T1_0 1 Tf -5.695 0 Td -(File status \337ags for)Tj -/TT0 1 Tf -8.582 0 Td -(fcntl)Tj -/T1_0 1 Tf -9.997 0 0 9.997 189.5432 411.4765 Tm -(Unfortunately)Tj -0.9213 Tc 6.186 0 Td -(,t)Tj -0 Tc 1.497 0 Td -[(he )-671(\336ve )-671(access-mode )-671(\337ags)-84(\321)]TJ -/TT0 1 Tf -14.295 0 Td -(O_RDONLY)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -5.971 0 Td -(O_WRONLY)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf --27.95 -1.2 Td -(O_RDWR)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.432 0 Td -(O_EXEC)Tj -/T1_0 1 Tf -0.5822 Tc (,a)Tj -0 Tc 4.932 0 Td -(nd)Tj -/TT0 1 Tf -1.775 0 Td -(O_SEARCH)Tj -/T1_0 1 Tf -0.0833 Tc 4.883 0 Td -(\321a)Tj --0.018 Tc 1.583 0 Td -[(re )-368(n)]TJ -0 Tc 2.02 0 Td -[(ot )-332(separate )-332(bits )-332(that )-332(can )-332(be)]TJ --19.626 -1.2 Td -[(tested. )-285(\(As)-284(we )-35(mentioned )-35(earlier)]TJ -0.2847 Tc 14.667 0 Td -(,t)Tj -0 Tc 0.861 0 Td -[(he )-35(\336rst )-35(thr)18(ee )-35(often )-35(have )-35(the )-35(values )-35(0, )-35(1,)]TJ --15.528 -1.2 Td -[(and )-296(2, )-296(r)17(espectively)]TJ -0.5464 Tc 8.737 0 Td -(,f)Tj -0 Tc 1.129 0 Td -[(or )-296(historical )-296(r)17(easons. )-546(Also,)-547(these )-296(\336ve )-296(values )-296(ar)17(e)]TJ --9.866 -1.2 Td -[(mutually )-69(exclusive; )-69(a )-69(\336le )-69(can )-69(have )-69(only )-69(one )-69(of )-69(them )-69(enabled.\))-564(Ther)18(efor)18(e,)]TJ -0 -1.2 TD -[(we )-11(must )-11(\336rst )-11(use )-11(the)]TJ -/TT0 1 Tf -9.498 0 Td -(O_ACCMODE)Tj -/T1_0 1 Tf -5.661 0 Td -[(mask )-11(to )-11(obtain )-11(the )-11(access-mode )-11(bits )-11(and)]TJ --15.159 -1.2 Td -(then compar)Tj -0.25 Tc 5.57 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(he r)18(esult against any of the \336ve values.)]TJ -/TT0 1 Tf --12.625 -1.72 Td -(F_SETFL)Tj -/T1_0 1 Tf -6 0 Td -[(Set )-177(the )-177(\336le )-177(status )-177(\337ags )-177(to )-177(the )-177(value )-177(of )-177(the )-177(thir)]TJ -0.427 Tc 21.593 0 Td -(da)Tj --0.018 Tc 1.538 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument )-177(\(taken )-177(as )-177(an)]TJ --24.064 -1.2 Td -[(integer\). )-262(The)-262(only )-12(\337ags )-12(that )-12(can )-12(be )-12(changed )-12(ar)18(e)]TJ -/TT0 1 Tf -21.438 0 Td -(O_APPEND)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -5.312 0 Td -(O_NONBLOCK)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf --26.75 -1.2 Td -(O_SYNC)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.1 0 Td -(O_DSYNC)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.7 0 Td -(O_RSYNC)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.7 0 Td -(O_FSYNC)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 5.2 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(O_ASYNC)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf --26.143 -1.72 Td -(F_GETOWN)Tj -/T1_0 1 Tf -6 0 Td -[(Get )-34(the )-34(pr)18(ocess )-34(ID )-34(or )-34(pr)16(ocess )-34(gr)18(oup )-34(ID )-34(curr)18(ently )-34(r)18(eceiving )-34(the)]TJ -/TT0 1 Tf -28.023 0 Td -(SIGIO)Tj -/T1_0 1 Tf -3.284 0 Td -(and)Tj -/TT0 1 Tf --31.307 -1.2 Td -(SIGURG)Tj -/T1_0 1 Tf -4.43 0 Td -[(signals. )-830(W)]TJ -0.8304 Tc 5.306 0 Td -(ed)Tj -0 Tc 1.92 0 Td -[(escribe )-580(these )-580(asynchr)18(onous )-580(I/O )-580(signals )-580(in)]TJ --11.657 -1.2 Td -(Section 14.5.2.)Tj -/TT0 1 Tf --6 -1.72 Td -(F_SETOWN)Tj -/T1_0 1 Tf -6 0 Td -[(Set )-72(the )-72(pr)19(ocess )-72(ID )-72(or )-72(pr)18(ocess )-72(gr)18(oup )-72(ID )-72(to )-72(r)18(eceive )-72(the)]TJ -/TT0 1 Tf -24.064 0 Td -(SIGIO)Tj -/T1_0 1 Tf -3.322 0 Td -(and)Tj -/TT0 1 Tf -2.015 0 Td -(SIGURG)Tj -/T1_0 1 Tf --29.4 -1.2 Td -[(signals. )-419(A)-420(positive)]TJ -/T1_2 1 Tf -9.127 0 Td -[(ar)18(g)]TJ -/T1_0 1 Tf -1.734 0 Td -[(speci\336es )-169(a )-169(pr)18(ocess )-169(ID.)]TJ -0.4194 Tc 10.83 0 Td -(An)Tj -0 Tc 1.779 0 Td -(egative)Tj -/T1_2 1 Tf -3.615 0 Td -[(ar)18(g)]TJ -/T1_0 1 Tf -1.734 0 Td -[(implies )-169(a)]TJ --28.821 -1.2 Td -[(pr)18(ocess gr)18(oup ID equal to the absolute value of)]TJ -/T1_2 1 Tf -21.07 0 Td -[(ar)18(g)]TJ -/T1_0 1 Tf -(.)Tj --25.27 -2.04 Td -[(The )-74(r)18(eturn )-74(value )-74(fr)17(om)]TJ -/TT0 1 Tf -10.311 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.324 0 Td -[(depends )-74(on )-74(the )-74(command.)-574(All )-74(commands )-74(r)16(eturn)]TJ -/TT1 1 Tf -22.516 0 Td -(!)Tj -/T1_0 1 Tf -(1)Tj --37.951 -1.2 Td -[(on )-184(an )-184(err)19(or )-184(or )-184(some )-184(other )-184(value )-184(if )-184(OK.)-684(The )-184(following )-184(four )-184(commands )-184(have )-184(special)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(turn )-296(values:)]TJ -/TT0 1 Tf -6.109 0 Td -(F_DUPFD)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.996 0 Td -(F_GETFD)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -4.996 0 Td -(F_GETFL)Tj -/T1_0 1 Tf -0.5456 Tc (,a)Tj -0 Tc 5.496 0 Td -(nd)Tj -/TT0 1 Tf -1.739 0 Td -(F_GETOWN)Tj -/T1_0 1 Tf -0.7955 Tc (.T)Tj -0 Tc 6.459 0 Td -[(he )-295(\336rst )-295(command)]TJ --0.018 Tc -30.649 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-171(the )-171(new )-171(\336le )-171(descriptor)]TJ -0.4209 Tc 13.109 0 Td -(,t)Tj -0 Tc 0.997 0 Td -[(he )-171(next )-171(two )-171(r)18(eturn )-171(the )-171(corr)19(esponding )-171(\337ags, )-171(and )-171(the)]TJ --14.961 -1.2 Td -[(\336nal command r)18(eturns a positive pr)18(ocess ID or a negative pr)18(ocess gr)18(oup ID.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47544 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(302)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Relationships)]TJ -39.241 0 Td -[(Chapter )-250(9)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -1581 4334 944.641 216 re -S -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 184.009 447.4132 Tm -[(backgr)18(ound)]TJ --0.995 -1.25 Td -[(pr)18(ocess gr)18(oup\(s\))]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -3966.36 4334 944.641 216 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 423.7771 447.3863 Tm -[(for)18(egr)18(ound)]TJ --0.609 -1.25 Td -[(pr)18(ocess gr)18(oup)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2814.36 5126 864 216 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 306.2489 521.5461 Tm -(login shell)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2958.36 5630 576 216 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 312.561 571.9027 Tm -(login)Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 324.636 534.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 3246.3601 5342 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 5630.25 cm -0 0 m -0 -216 l -S -Q -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 326.538 546.676 Tm -(exec)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2958.36 6134 576 216 re -S -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 307.7612 627.2142 Tm -(getty)Tj -/T1_1 1 Tf -3.25 0 Td -(or)Tj -/TT0 1 Tf --3.254 -1.25 Td -(telnetd)Tj -ET -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 324.636 584.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3246.3601 5846 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 6134.25 cm -0 0 m -0 -216 l -S -Q -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 326.4988 601.9871 Tm -(exec)Tj -/T1_1 1 Tf -0.25 Tc (,a)Tj -0 Tc 3.4 0 Td -(fter)Tj -/TT0 1 Tf -1.783 0 Td -(setsid)Tj -/T1_1 1 Tf -0.25 Tc (,t)Tj -0 Tc 4.426 0 Td -(hen)Tj --9.609 -1.25 Td -[(establishing contr)18(olling terminal)]TJ -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 324.636 635 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3246.3601 6350 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 6422.25 cm -0 0 m -0 216 l -S -Q -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 277.3388 666.7199 Tm -(init)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -2.9 0 Td -(inetd)Tj -/T1_1 1 Tf -0.25 Tc (,o)Tj -0 Tc 4.046 0 Td -(r)Tj -/TT0 1 Tf -0.645 0 Td -(launchd)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -2706.36 3326 1080 216 re -S -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3516.3601 2930 cm -0 0 m -0 -59.64 -120.89 -108 -270 -108 c --419.11 -108 -540 -59.64 -540 0 c --540 59.64 -419.11 108 -270 108 c --120.89 108 0 59.64 0 0 c -h -S -Q -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 309.5608 296.0801 Tm -(user at a)Tj --0.01 -1.25 Td -(terminal)Tj --4.636 7.55 Td -(terminal)Tj -0.5 -1.25 Td -(driver)Tj -ET -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 459.636 433.4 cm -0 0 m --4.104 -6.192 l --6.552 -3.528 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 4596.3599 4334 cm -0 0 m --41.04 -61.92 l --65.52 -35.28 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3718.25 3542.25 cm -0 0 m -825 744 l -S -Q -Q -BT -/T1_1 1 Tf -5.9352 5.3569 -5.3569 5.9352 378.264 364.3483 Tm -(terminal-generated signals)Tj -4.4514 4.0177 -4.0177 4.4514 389.5772 361.0953 Tm -(\()Tj -/TT0 1 Tf -(SIGINT)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.433 0 Td -(SIGQUIT)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.7 0 Td -(SIGTSTP)Tj -/T1_1 1 Tf -(\))Tj -5.9352 5.3569 -5.3569 5.9352 391.7219 349.5692 Tm -[(deliver)18(ed to pr)18(ocess gr)18(oup)]TJ -ET -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 324.636 332.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 3246.3601 3326 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 324.636 303.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 3246.3601 3038 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 3254.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 3326.25 cm -0 0 m -472 216 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 3326.25 cm -0 0 m -180 216 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 3326.25 cm -0 0 m --23 27 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3194.25 3388.25 cm -0 0 m --23 28 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3141.25 3451.25 cm -0 0 m --23 27 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3089.25 3514.25 cm -0 0 m --23 28 l -S -Q -Q -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 342.636 354.2 cm -0 0 m -4.032 6.192 l -6.48 3.528 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 3426.3601 3542 cm -0 0 m -40.32 61.92 l -64.8 35.28 l -h -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 428.1 433.4 cm -0 0 m --4.032 -6.192 l --6.48 -3.528 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 4281 4334 cm -0 0 m --40.32 -61.92 l --64.8 -35.28 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3479.25 3591.25 cm -0 0 m -749 694 l -S -Q -Q -BT -/T1_1 1 Tf -5.864 5.4319 -5.4319 5.864 353.456 368.6542 Tm -(terminal input/output)Tj -ET -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 189.564 433.4 cm -0 0 m -6.552 -3.456 l -4.104 -6.12 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 1895.64 4334 cm -0 0 m -65.52 -34.56 l -41.04 -61.2 l -h -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 277.332 354.2 cm -0 0 m --6.552 3.456 l --4.104 6.12 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 2773.3201 3542 cm -0 0 m --65.52 34.56 l --41.04 61.2 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1949.25 4286.25 cm -0 0 m -771 -696 l -S -Q -Q -BT -/T1_1 1 Tf --0.018 Tc 5.9331 -5.355 5.355 5.9331 210.6497 418.1903 Tm -(re)Tj -0 Tc 0.856 -0 Td -[(ad fr)18(om terminal)]TJ --1.015 -1.25 Td -(generates)Tj -/TT0 1 Tf -4.47 -0 Td -(SIGTTIN)Tj -ET -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 221.1 433.4 cm -0 0 m -6.48 -3.6 l -4.032 -6.264 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 2211 4334 cm -0 0 m -64.8 -36 l -40.32 -62.64 l -h -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 306.636 354.2 cm -0 0 m --6.48 3.6 l --4.032 6.264 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 3066.3601 3542 cm -0 0 m --64.8 36 l --40.32 62.64 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2263.25 4285.25 cm -0 0 m -750 -694 l -S -Q -Q -BT -/T1_1 1 Tf -5.8626 -5.4306 5.4306 5.8626 237.5453 421.9061 Tm -(write to terminal may)Tj -0.694 -1.25 Td -(generate)Tj -/TT0 1 Tf -4.046 0 Td -(SIGTTOU)Tj -ET -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 324.636 354.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 3246.3601 3542 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 3614.25 cm -0 0 m -0 1512 l -S -Q -Q -BT -/TT0 1 Tf -0 7.9909 -7.9909 0 321.0298 375.0562 Tm -(tcsetpgrp)Tj -/T1_1 1 Tf -5.65 0 Td -[(to set pr)18(ocess gr)18(oup)]TJ --3.587 -1.25 Td -[(for contr)18(olling terminal)]TJ -ET -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 288.636 512.6 cm -0 0 m --4.896 -5.544 l --6.912 -2.592 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 2886.3601 5126 cm -0 0 m --48.96 -55.44 l --69.12 -25.92 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2053.25 4550.25 cm -0 0 m -773 535 l -S -Q -Q -BT -/T1_1 1 Tf -6.5709 4.5463 -4.5463 6.5709 221.4211 469.698 Tm -(change in status)Tj -1.167 -1.25 Td -[(of childr)18(en)]TJ -ET -q -0.9988007 0 0 0.9988007 0 0 cm -q 1 0 0 1 360.636 512.6 cm -0 0 m -6.912 -2.592 l -4.896 -5.544 l -f -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -1 j 1 J -q 1 0 0 1 3606.3601 5126 cm -0 0 m -69.12 -25.92 l -48.96 -55.44 l -h -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3665.25 5085.25 cm -0 0 m -773 -535 l -S -Q -Q -BT -/T1_1 1 Tf -6.5705 -4.5461 4.5461 6.5705 380.1986 502.034 Tm -(change in status)Tj -1.167 -1.25 Td -[(of childr)18(en)]TJ -ET -q -0.9987408 0 0 0.9987408 0 0 cm -q 1 0 0 1 415.068 455 cm -0 0 m --6.912 2.592 l --4.896 5.544 l -f -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -1 j 1 J -q 1 0 0 1 4150.6802 4550 cm -0 0 m --69.12 25.92 l --48.96 55.44 l -h -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3318.25 5126.25 cm -0 0 m -773 -535 l -S -Q -Q -BT -/TT0 1 Tf -6.5701 -4.5458 4.5458 6.5701 355.3207 487.1565 Tm -(setpgid)Tj -ET -q -0.9986808 0 0 0.9986808 0 0 cm -q 1 0 0 1 234.132 455 cm -0 0 m -4.896 5.544 l -6.912 2.592 l -f -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -1 j 1 J -q 1 0 0 1 2341.3201 4550 cm -0 0 m -48.96 55.44 l -69.12 25.92 l -h -S -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2400.25 4591.25 cm -0 0 m -773 535 l -S -Q -Q -BT -/TT0 1 Tf -6.5697 4.5455 -4.5455 6.5697 265.4125 468.0356 Tm -(setpgid)Tj -ET -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 2678.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 2750.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 2823.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 2896.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 2969.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 3041.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 3114.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 3187.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 3260.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 3332.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 3405.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 3478.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 3550.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 3623.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 3695.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 3768.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 3841.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 3913.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 3986.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 4059.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 4131.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 4204.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 4277.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 4350.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 4422.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 4495.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 4568.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 4640.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 4713.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 4786.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 4859.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 4931.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 5004.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 5077.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 5150.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 5222.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 5295.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 5368.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 5440.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 5513.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 5585.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 5658.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 5731.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 5803.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 5876.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 5949.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 6021.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 6094.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 6167.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 6240.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 6312.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 6385.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1437.25 6458.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1509.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1580.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1651.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1723.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1795.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1867.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1939.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2010.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2081.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2153.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2225.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2296.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2368.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2440.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2512.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2583.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2655.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2726.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2798.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2870.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2942.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3013.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3084.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3156.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3228.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3299.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3371.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3443.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3514.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3586.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3658.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3729.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3801.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3873.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3945.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4016.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4088.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4159.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4231.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4302.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4374.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4446.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4518.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4589.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4661.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4732.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4803.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4875.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4947.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5019.25 6494.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 6421.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 6348.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 6276.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 6203.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 6130.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 6057.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 5985.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 5912.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 5839.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 5767.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 5694.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 5621.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 5549.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 5476.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 5404.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 5331.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 5258.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 5186.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 5113.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 5040.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 4967.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 4895.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 4822.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 4749.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 4676.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 4604.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 4531.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 4458.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 4386.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 4313.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 4240.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 4167.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 4095.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 4022.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 3949.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 3877.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 3804.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 3731.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 3659.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 3586.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 3514.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 3441.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 3368.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 3296.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 3223.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 3150.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 3077.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 3005.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 2932.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 2859.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 2786.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5055.25 2714.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4983.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4911.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4840.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4768.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4697.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4625.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4554.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4482.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4410.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4338.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4267.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4195.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4124.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4052.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3981.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3909.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3837.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3765.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3694.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3622.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3551.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3479.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3407.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3335.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3264.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3192.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3121.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3049.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2978.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2906.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2834.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2762.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2691.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2619.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2547.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2476.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2404.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2332.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2261.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2189.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2117.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2046.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1974.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1903.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1831.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1759.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1688.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1616.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1544.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1473.25 2678.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9885 0 0 7.9885 311.5071 253.4747 Tm -(session)Tj -/T1_0 1 Tf --21.235 -2.305 Td -(Figure 9.9)Tj -/T1_1 1 Tf -5.195 0 Td -[(Summary of job contr)18(ol featur)18(es with for)18(egr)18(ound and backgr)18(ound jobs, and terminal driver)]TJ -9.9856 0 0 9.9856 129.4137 208.699 Tm -[(gr)18(oup )-174(to )-174(the )-174(actual )-174(terminal.)-673(The )-174(dashed )-174(line )-174(corr)18(esponding )-174(to )-174(the)]TJ -/TT0 1 Tf -31.732 0 Td -(SIGTTOU)Tj -/T1_1 1 Tf -4.624 0 Td -(signal)Tj --36.356 -1.2 Td -[(means )-6(that )-6(whether )-6(the )-6(output )-6(fr)18(om )-6(a )-6(pr)18(ocess )-6(in )-6(the )-6(backgr)18(ound )-6(pr)18(ocess )-6(gr)18(oup )-6(appears)]TJ -0 -1.2 TD -(on the terminal is an option.)Tj -1.8 -1.2 Td -[(Is )-271(job )-271(contr)18(ol )-271(necessary )-271(or )-271(desirable?)-768(Job )-270(contr)18(ol )-270(was )-270(originally )-270(designed )-270(and)]TJ --1.8 -1.2 Td -[(implemented )-58(befor)]TJ -0.3081 Tc 8.501 0 Td -(ew)Tj -0 Tc 1.621 0 Td -[(indowing )-58(terminals )-58(wer)]TJ -0.3081 Tc 10.77 0 Td -(ew)Tj -0 Tc 1.621 0 Td -[(idespr)18(ead. )-308(Some)-308(people )-58(claim )-58(that )-58(a)]TJ --22.513 -1.2 Td -[(well-designed )-169(windowing )-169(system )-169(r)18(emoves )-169(any )-169(need )-169(for )-169(job )-169(contr)20(ol. )-419(Some)-419(complain)]TJ -0 -1.2 Td -[(that )-23(the )-23(implementation )-23(of )-23(job )-23(contr)17(ol )167(\321 )167(r)17(equiring )-23(support )-23(fr)18(om )-23(the )-23(kernel, )-23(the )-23(terminal)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47545 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(300)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Relationships)]TJ -39.241 0 Td -[(Chapter )-250(9)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(if )-265(the )-265(host )-265(does.)-765(The )-265(Bourne-again )-265(shell )-265(also )-265(supports )-265(job )-265(contr)15(ol. )-515(W)92(e\325ll )-265(just )-265(talk)]TJ -0 -1.2 Td -[(generically )-142(about )-142(a )-142(shell )-142(that )-142(supports )-142(job )-142(contr)18(ol, )-142(versus )-142(one )-142(that )-142(doesn\325t, )-142(when )-142(the)]TJ -0 -1.2 TD -[(dif)18(fer)18(ence between the various shells doesn\325t matter)74(.)]TJ -1.8 -1.2 Td -[(When )-69(we )-69(start )-69(a )-69(backgr)18(ound )-69(job, )-69(the )-69(shell )-69(assigns )-69(it )-69(a )-69(job )-69(identi\336er )-69(and )-69(prints )-69(one)]TJ --1.8 -1.2 Td -[(or )-12(mor)18(e)-262(of)-262(t)-1(he )-12(pr)18(ocess )-12(IDs.)-512(The )-12(following )-12(script )-12(shows )-12(how )-12(the )-12(Korn )-12(shell )-12(handles )-12(this:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 604.2637 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(make all > Make.out &)Tj -/TT0 1 Tf --1.2 -1.189 Td -[([1] )-2400(1475)]TJ -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(pr *.c | lpr &)Tj -/TT0 1 Tf --1.2 -1.189 Td -[([2] )-2400(1490)]TJ -T* -($)Tj -/T1_2 1 Tf -16 0 Td -[(just pr)18(ess RETURN)]TJ -/TT0 1 Tf --16 -1.189 Td -[([2] +)-1200(Done )]TJ -12.6 0 Td -[(pr)-600(*.c | lpr &)]TJ --12.6 -1.189 Td -[([1] +)-1200(Done )]TJ -12.6 0 Td -[(make)-600(all > Make.out &)]TJ -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5923 522.0687 Tm -(The)Tj -/TT0 1 Tf -2 0 Td -(make)Tj -/T1_1 1 Tf -2.726 0 Td -[(is )-76(job )-76(number )-76(1 )-76(and )-76(the )-76(starting )-76(pr)18(ocess )-76(ID )-76(is )-76(1475.)-576(The )-76(next )-76(pipeline )-76(is )-76(job)]TJ --4.726 -1.2 Td -[(number )-7(2 )-7(and )-7(the )-7(pr)18(ocess )-7(ID )-7(of )-7(the )-7(\336rst )-7(pr)18(ocess )-7(is )-7(1490.)-507(When )-7(the )-7(jobs )-7(ar)]TJ -0.257 Tc 32.526 0 Td -(ed)Tj -0 Tc 1.347 0 Td -[(one )-7(and )-7(we)]TJ --33.873 -1.2 Td -[(pr)18(ess RETURN, the shell tells us that the jobs ar)]TJ -0.2502 Tc 21.023 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(omplete. )-250(The)]TJ --0.018 Tc 6.279 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ason we have to pr)17(ess)]TJ --29.331 -1.2 Td -[(RETURN )-198(is )-198(to )-198(have )-198(the )-198(shell )-198(print )-198(its )-198(pr)18(ompt. )-448(The)-448(shell )-198(doesn\325t )-198(print )-198(the )-198(changed)]TJ --0 -1.2 Td -[(status )-13(of )-13(backgr)18(ound )-13(jobs )-13(at )-13(any )-13(random )-13(time)]TJ -0.0833 Tc 20.451 0 Td -(\321o)Tj -0 Tc 1.629 0 Td -[(nly )-13(right )-13(befor)18(e)-263(it)-263(prints )-13(its )-13(pr)18(ompt, )-13(to)]TJ --22.08 -1.2 Td -[(let )-125(us )-125(enter )-125(a )-125(new )-125(command )-125(line.)-625(If )-125(the )-125(shell )-125(didn\325t )-125(do )-125(this, )-125(it )-125(could )-125(pr)20(oduce )-125(output)]TJ -0 -1.2 TD -(while we wer)Tj -0.25 Tc 5.98 0 Td -(ee)Tj -0 Tc 1.208 0 Td -(ntering an input line.)Tj --5.388 -1.2 Td -[(The )-70(interaction )-70(with )-70(the )-70(terminal )-70(driver )-70(arises )-70(because )-70(a )-70(special )-70(terminal )-70(character)]TJ --1.8 -1.2 Td -[(af)18(fects )-415(the )-415(for)17(egr)18(ound )-415(job: )-415(the )-415(suspend )-415(key )-415(\(typically )-415(Contr)16(ol)]TJ -30.391 0.09 Td -(-)Tj -0.333 -0.09 Td -[(Z\). )-665(Entering)-666(this)]TJ --30.724 -1.2 Td -[(character )-77(causes )-77(the )-77(terminal )-77(driver )-77(to )-77(send )-77(the)]TJ -/TT0 1 Tf -21.781 0 Td -(SIGTSTP)Tj -/T1_1 1 Tf -4.527 0 Td -[(signal )-77(to )-77(all )-77(pr)18(ocesses )-77(in )-77(the)]TJ --26.308 -1.2 Td -[(for)18(egr)18(ound )-74(pr)18(ocess )-74(gr)18(oup. )-324(The)-323(jobs )-74(in )-74(any )-74(backgr)18(ound )-74(pr)18(ocess )-74(gr)18(oups )-74(ar)18(en\325t )-74(af)20(fected.)]TJ --0 -1.2 Td -[(The )-195(terminal )-195(driver )-195(looks )-195(for )-195(thr)19(ee )-195(special )-195(characters, )-195(which )-195(generate )-195(signals )-195(to )-195(the)]TJ -T* -[(for)18(egr)18(ound pr)18(ocess gr)18(oup.)]TJ -0.883 Tc 1.8 -1.92 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he interr)8(upt character \(typically DELETE or Contr)18(ol)]TJ -22.954 0.09 Td -(-)Tj -0.333 -0.09 Td -(C\) generates)Tj -/TT0 1 Tf -5.762 0 Td -(SIGINT)Tj -/T1_1 1 Tf -(.)Tj -0.883 Tc -31.151 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he quit character \(typically Contr)18(ol-backslash\) generates)]TJ -/TT0 1 Tf -25.132 0 Td -(SIGQUIT)Tj -/T1_1 1 Tf -(.)Tj -0.883 Tc -27.234 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he suspend character \(typically Contr)18(ol)]TJ -17.416 0.09 Td -(-)Tj -0.333 -0.09 Td -(Z\) generates)Tj -/TT0 1 Tf -5.72 0 Td -(SIGTSTP)Tj -/T1_1 1 Tf -(.)Tj --27.371 -1.92 Td -[(In )-62(Chapter )-62(18, )-62(we\325ll )-62(see )-62(how )-62(we )-62(can )-62(change )-62(these )-62(thr)13(ee )-62(characters )-62(to )-62(be )-62(any )-62(characters)]TJ -T* -[(we )-169(choose )-169(and )-169(how )-169(we )-169(can )-169(disable )-169(the )-169(terminal )-169(driver)-78(\325s )-170(pr)18(ocessing )-170(of )-170(these )-170(special)]TJ -T* -(characters.)Tj -1.8 -1.2 Td -[(Another )-13(job )-13(contr)18(ol )-13(condition )-13(can )-13(arise )-13(that )-13(must )-13(be )-13(handled )-13(by )-13(the )-13(terminal )-13(driver)73(.)]TJ --1.8 -1.2 Td -[(Since )-90(we )-90(can )-90(have )-90(a )-90(for)16(egr)18(ound )-90(job )-90(and )-90(one )-90(or )-90(mor)]TJ -0.3406 Tc 23.581 0 Td -(eb)Tj -0 Tc 1.373 0 Td -[(ackgr)18(ound )-91(jobs, )-91(which )-91(of )-91(these)]TJ --0.018 Tc -24.954 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ceives )-69(the )-69(characters )-69(that )-69(we )-69(enter )-69(at )-69(the )-69(terminal?)-565(Only )-68(the )-68(for)17(egr)18(ound )-68(job )-68(r)17(eceives)]TJ --0.856 -1.2 Td -[(terminal )-62(input.)-562(It )-62(is )-62(not )-62(an )-62(err)18(or )-62(for )-62(a )-62(backgr)22(ound )-62(job )-62(to )-62(try )-62(to )-62(r)18(ead )-62(fr)18(om )-62(the )-62(terminal,)]TJ -T* -[(but )-134(the )-134(terminal )-134(driver )-134(detects )-134(this )-134(and )-134(sends )-134(a )-134(special )-134(signal )-134(to )-134(the )-134(backgr)18(ound )-134(job:)]TJ -/TT0 1 Tf -T* -(SIGTTIN)Tj -/T1_1 1 Tf -0.6457 Tc (.T)Tj -0 Tc 5.709 0 Td -[(his )-146(signal )-146(normally )-146(stops )-146(the )-146(backgr)20(ound )-146(job; )-146(by )-146(using )-146(the )-146(shell, )-146(we )-146(ar)19(e)]TJ --5.709 -1.2 Td -[(noti\336ed )-57(of )-57(this )-57(event )-57(and )-57(can )-57(bring )-57(the )-57(job )-57(into )-57(the )-57(for)20(egr)18(ound )-57(so )-57(that )-57(it )-57(can )-57(r)18(ead )-57(fr)19(om)]TJ --0 -1.2 Td -[(the terminal.)-500(The following example demonstrates this:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 170.9897 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(cat > temp.foo &)Tj -/T1_2 1 Tf -14.8 0 Td -[(start in backgr)18(ound, but it\325ll r)18(ead fr)18(om standard input)]TJ -/TT0 1 Tf --16 -1.189 Td -[([1] )-2400(1681)]TJ -0 -1.189 TD -($)Tj -/T1_2 1 Tf -16 0 Td -[(we pr)18(ess RETURN)]TJ -/TT0 1 Tf --16 -1.189 Td -[([1] + Stopped \(SIGTTIN\))-3600(cat > temp.foo &)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47546 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.3)]TJ -/TT0 1 Tf -35.803 0 Td -(signal)Tj -/T1_0 1 Tf -4.1 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(325)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-204(i)]TJ -0 Tc 1.948 0 Td -[(nvoke )-20(the )-20(pr)18(ogram )-20(in )-20(the )-20(backgr)18(ound )-20(and )-20(use )-20(the)]TJ -/TT0 1 Tf -22.573 0 Td -(kill)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.603 -0.04 Td -[(command )-20(to )-20(send )-20(it)]TJ --30.157 -1.2 Td -[(signals. )-524(Note)-524(that )-274(the )-274(term)]TJ -/T1_2 1 Tf -13.575 0 Td -(kill)Tj -/T1_0 1 Tf -1.802 0 Td -[(in )-274(the )-274(UNIX )-274(System )-274(is )-274(a )-274(misnomer)]TJ -0.7741 Tc 16.835 0 Td -(.T)Tj -0 Tc 1.637 0 Td -(he)Tj -/TT0 1 Tf -1.585 0 Td -(kill)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj --38.667 -1.24 Td -[(command )-145(and )-145(the)]TJ -/TT0 1 Tf -8.715 0 Td -(kill)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(2)Tj -0.5 0.04 Td -(\))Tj -0.728 -0.04 Td -[(function )-145(just )-145(send )-145(a )-145(signal )-145(to )-145(a )-145(pr)18(ocess )-145(or )-145(pr)18(ocess )-145(gr)14(oup.)]TJ --12.676 -1.2 Td -[(Whether )-325(that )-325(signal )-325(terminates )-325(the )-325(pr)18(ocess )-325(depends )-325(on )-325(which )-325(signal )-325(is )-325(sent )-325(and)]TJ -0 -1.2 TD -[(whether the pr)18(ocess has arranged to catch the signal.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5913 604.2637 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out &)Tj -/T1_2 1 Tf -18.8 0 Td -[(start pr)18(ocess in backgr)18(ound)]TJ -/TT0 1 Tf --20 -1.189 Td -[([1] )-3000(7216)]TJ -/T1_2 1 Tf -20 0 Td -[(job-contr)18(ol shell prints job number and pr)18(ocess ID)]TJ -/TT0 1 Tf --20 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(kill -USR1 7216)Tj -/T1_2 1 Tf -18.8 0 Td -(send it)Tj -/TT0 1 Tf -2.945 0 Td -(SIGUSR1)Tj --22.945 -1.189 Td -(received SIGUSR1)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(kill -USR2 7216)Tj -/T1_2 1 Tf -18.8 0 Td -(send it)Tj -/TT0 1 Tf -2.945 0 Td -(SIGUSR2)Tj --22.945 -1.189 Td -(received SIGUSR2)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(kill 7216)Tj -/T1_2 1 Tf -18.8 0 Td -(now send it)Tj -/TT0 1 Tf -4.917 0 Td -(SIGTERM)Tj --24.917 -1.189 Td -[([1]+ )-600(Terminated)-4800(./a.out)]TJ -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5927 511.3693 Tm -[(When )-49(we )-49(send )-49(the)]TJ -/TT0 1 Tf -8.634 0 Td -(SIGTERM)Tj -/T1_0 1 Tf -4.499 0 Td -[(signal, )-49(the )-49(pr)18(ocess )-49(is )-49(terminated, )-49(since )-49(it )-49(doesn\325t )-49(catch )-49(the)]TJ --13.133 -1.2 Td -(signal, and the default action for the signal is termination.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4994.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -9.9988 0 0 9.9988 93.5888 475.343 Tm -[(Pr)20(ogram Star)-20(t-Up)]TJ -/T1_0 1 Tf -3.6 -2.16 Td -[(When )-296(a )-296(pr)18(ogram )-296(is )-296(executed, )-296(the )-296(status )-296(of )-296(all )-296(signals )-296(is )-296(either )-296(default )-296(or )-296(ignor)17(e.)]TJ -0 -1.2 TD -(Normally)Tj -0.3015 Tc 4.182 0 Td -(,a)Tj -0 Tc 1.051 0 Td -[(ll )-51(signals )-51(ar)]TJ -0.3015 Tc 5.13 0 Td -(es)Tj -0 Tc 1.204 0 Td -[(et )-51(to )-51(their )-51(default )-51(action, )-51(unless )-51(the )-51(pr)15(ocess )-51(that )-51(calls)]TJ -/TT0 1 Tf -24.016 0 Td -(exec)Tj -/T1_0 1 Tf -2.701 0 Td -(is)Tj --38.285 -1.2 Td -[(ignoring )-260(the )-260(signal.)-759(Speci\336cally)]TJ -0.5096 Tc 14.775 0 Td -(,t)Tj -0 Tc 1.086 0 Td -(he)Tj -/TT0 1 Tf -1.571 0 Td -(exec)Tj -/T1_0 1 Tf -2.91 0 Td -[(functions )-260(change )-260(the )-260(disposition )-260(of )-260(any)]TJ --20.341 -1.2 Td -[(signals )-202(being )-202(caught )-202(to )-202(their )-202(default )-202(action )-202(and )-202(leave )-202(the )-202(status )-202(of )-202(all )-202(other )-202(signals)]TJ -T* -[(alone. )-351(\(Naturally)]TJ -0.3514 Tc 7.764 0 Td -(,as)Tj -0 Tc 1.877 0 Td -[(ignal )-101(that )-101(is )-101(being )-101(caught )-101(by )-101(a )-101(pr)18(ocess )-101(that )-101(calls)]TJ -/TT0 1 Tf -22.244 0 Td -(exec)Tj -/T1_0 1 Tf -2.751 0 Td -[(cannot )-101(be)]TJ --34.637 -1.2 Td -[(caught )-247(by )-247(the )-247(same )-247(function )-247(in )-247(the )-247(new )-247(pr)18(ogram, )-247(since )-247(the )-247(addr)18(ess )-247(of )-247(the )-247(signal-)]TJ -T* -[(catching )-56(function )-56(in )-56(the )-56(caller )-56(pr)18(obably )-56(has )-56(no )-56(meaning )-56(in )-56(the )-56(new )-56(pr)18(ogram )-56(\336le )-56(that )-56(is)]TJ -T* -(executed.\))Tj -1.8 -1.2 Td -[(One )-36(speci\336c )-36(example )-36(of )-36(this )-36(signal )-36(status )-36(behavior )-36(is )-36(how )-36(an )-36(interactive )-36(shell )-36(tr)15(eats)]TJ --1.8 -1.2 Td -[(the )-249(interr)8(upt )-249(and )-249(quit )-249(signals )-249(for )-249(a )-249(backgr)18(ound )-249(pr)14(ocess. )-500(W)55(ith )-250(a )-250(shell )-250(that )-250(doesn\325t)]TJ -T* -[(support job contr)18(ol, when we execute a pr)18(ocess in the backgr)18(ound, as in)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5819 317.0619 Tm -(cc main.c &)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.584 299.0641 Tm -[(the )-247(shell )-247(automatically )-247(sets )-247(the )-247(disposition )-247(of )-247(the )-247(interr)9(upt )-247(and )-247(quit )-247(signals )-247(in )-247(the)]TJ -T* -[(backgr)18(ound )-300(pr)18(ocess )-300(to )-300(be )-300(ignor)16(ed. )-551(This)-550(is )-301(done )-301(so )-301(that )-301(if )-301(we )-301(type )-301(the )-301(interr)11(upt)]TJ -0 -1.2 Td -[(character)74(,)-350(it)-350(d)1(oesn\325t )-100(af)18(fect )-100(the )-100(backgr)19(ound )-99(pr)18(ocess. )-349(If)-350(this )-99(wer)18(en\325t )-99(done )-99(and )-99(we )-99(typed)]TJ -0 -1.2 Td -[(the )-52(interr)8(upt )-52(character)75(,)-302(it)-302(w)1(ould )-52(terminate )-52(not )-52(only )-52(the )-52(for)19(egr)18(ound )-52(pr)18(ocess, )-52(but )-52(also )-52(all)]TJ -0 -1.2 Td -[(the backgr)18(ound pr)18(ocesses.)]TJ -1.8 -1.2 Td -[(Many interactive pr)18(ograms that catch these two signals have code that looks like)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 169.1799 222.3733 Tm -(void sig_int\(int\), sig_quit\(int\);)Tj -0 -1.902 TD -(if \(signal\(SIGINT, SIG_IGN\) != SIG_IGN\))Tj -2.4 -1.189 Td -(signal\(SIGINT, sig_int\);)Tj --2.4 -1.189 Td -(if \(signal\(SIGQUIT, SIG_IGN\) != SIG_IGN\))Tj -2.4 -1.189 Td -(signal\(SIGQUIT, sig_quit\);)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5846 155.1615 Tm -[(Following )-16(this )-16(appr)18(oach, )-16(the )-16(pr)19(ocess )-16(catches )-16(the )-16(signal )-16(only )-16(if )-16(the )-16(signal )-16(is )-16(not )-16(curr)22(ently)]TJ -0 -1.2 TD -[(being ignor)18(ed.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47547 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(456)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 172.7896 670.2598 Tm -(case SIGQUIT:)Tj -2.4 -1.189 Td -(pthread_mutex_lock\(&lock\);)Tj -0 -1.189 TD -(quitflag = 1;)Tj -T* -(pthread_mutex_unlock\(&lock\);)Tj -T* -(pthread_cond_signal\(&waitloc\);)Tj -0 -1.189 TD -(return\(0\);)Tj --2.4 -2.14 Td -(default:)Tj -2.4 -1.189 Td -(printf\("unexpected signal %d\\n", signo\);)Tj -T* -(exit\(1\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-4800(err;)]TJ -0 -1.189 TD -[(sigset_t )-1800(oldmask;)]TJ -0 -1.189 TD -[(pthread_t )-1200(tid;)]TJ -0 -2.14 TD -(sigemptyset\(&mask\);)Tj -0 -1.189 TD -(sigaddset\(&mask, SIGINT\);)Tj -0 -1.189 TD -(sigaddset\(&mask, SIGQUIT\);)Tj -T* -(if \(\(err = pthread_sigmask\(SIG_BLOCK, &mask, &oldmask\)\) != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "SIG_BLOCK error"\);)Tj --2.4 -2.14 Td -(err = pthread_create\(&tid, NULL, thr_fn, 0\);)Tj -T* -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t create thread"\);)Tj --2.4 -2.14 Td -(pthread_mutex_lock\(&lock\);)Tj -T* -(while \(quitflag == 0\))Tj -2.4 -1.189 Td -(pthread_cond_wait\(&waitloc, &lock\);)Tj --2.4 -1.189 Td -(pthread_mutex_unlock\(&lock\);)Tj -0 -2.14 TD -(/* SIGQUIT has been caught and is now blocked; do whatever */)Tj -0 -1.189 TD -(quitflag = 0;)Tj -0 -2.14 TD -(/* reset signal mask which unblocks SIGQUIT */)Tj -0 -1.189 TD -(if \(sigprocmask\(SIG_SETMASK, &oldmask, NULL\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("SIG_SETMASK error"\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2204.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 247.9462 203.1546 Tm -(Figure 12.16)Tj -/T1_1 1 Tf -6.25 0 Td -[(Synchr)18(onous signal handling)]TJ -9.9988 0 0 9.9988 147.5823 179.1575 Tm -[(Instead )-36(of )-36(r)18(elying )-36(on )-36(a )-36(signal )-36(handler )-36(that )-36(interr)8(upts )-36(the )-36(main )-36(thr)22(ead )-35(of )-35(contr)18(ol, )-35(we)]TJ --1.8 -1.2 Td -[(dedicate )-184(a )-184(separate )-184(thr)18(ead )-184(of )-184(contr)18(ol )-184(to )-184(handle )-184(the )-184(signals.)]TJ --0.092 Tc 28.028 0 Td -[(We )-369(c)]TJ -0 Tc 2.266 0 Td -[(hange )-184(the )-184(value )-184(of)]TJ -/TT0 1 Tf --30.294 -1.2 Td -(quitflag)Tj -/T1_1 1 Tf -5.072 0 Td -[(under )-22(the )-22(pr)18(otection )-22(of )-22(a )-22(mutex )-22(so )-22(that )-22(the )-22(main )-22(thr)18(ead )-22(of )-22(contr)18(ol )-22(can\325t )-22(miss)]TJ --5.072 -1.2 Td -[(the )-10(wake-up )-10(call )-10(made )-10(when )-10(we )-10(call)]TJ -/TT0 1 Tf -16.427 0 Td -(pthread_cond_signal)Tj -/T1_1 1 Tf -0.5099 Tc (.W)Tj -0.2599 Tc 13.068 0 Td -(eu)Tj -0 Tc 1.342 0 Td -[(se )-10(the )-10(same )-10(mutex)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47548 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(985)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(sigaltstack)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(351)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(sig_atomic_t)Tj -/T1_0 1 Tf -7.617 0 Td -[(data type,)-500(59, 356)]TJ -7.982 0.09 Td -(\320)Tj -0.583 -0.09 Td -(357, 361)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(363,)Tj --17.649 -1.25 Td -(732)Tj -/TT0 1 Tf --2.7 -1.25 Td -(SIG_BLOCK)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(346,)-250(348, 360, 362)]TJ -12.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(363, 370,)Tj --15.763 -1.25 Td -(374, 454, 456, 477, 701, 815)Tj -/TT0 1 Tf --2.7 -1.25 Td -(SIGBUS)Tj -/T1_0 1 Tf -4.017 0 Td -[(signal, )-250(317,)-250(352)]TJ -6.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(353, 527, 530)Tj -/TT0 1 Tf --11.577 -1.25 Td -(SIGCANCEL)Tj -/T1_0 1 Tf -5.817 0 Td -[(signal, )-250(317)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(SIGCHLD)Tj -/T1_0 1 Tf -4.617 0 Td -[(signal, )-250(238,)-250(288, 315, 317, 331)]TJ -12.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(335,)Tj --15.477 -1.25 Td -(351)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(353, 367)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(368, 370)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(371, 377, 471, 501,)Tj --10.5 -1.25 Td -(546, 723, 923, 939)Tj --1.35 -1.25 Td -[(semantics, )-250(332)]TJ -6.686 0.09 Td -(\320)Tj -0.583 -0.09 Td -(335)Tj -/TT0 1 Tf --8.619 -1.25 Td -(SIGCLD)Tj -/T1_0 1 Tf -4.017 0 Td -[(signal, )-250(317,)-250(332)]TJ -6.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(336)Tj -/TT0 1 Tf --11.577 -1.25 Td -(SIGCONT)Tj -/T1_0 1 Tf -4.617 0 Td -[(signal, )-250(301,)-250(309, 317, 337, 377, 379)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(sigdelset)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(331,)-250(344)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(345, 366, 374, 933)Tj --13.09 -1.25 Td -[(de\336nition of,)-500(344)]TJ -7.775 0.09 Td -(\320)Tj -0.583 -0.09 Td -(345)Tj -/TT0 1 Tf --9.709 -1.25 Td -(SIG_DFL)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(323,)-250(333, 350)]TJ -10.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(351, 366,)Tj --12.563 -1.25 Td -(378)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(379, 476)Tj -/TT0 1 Tf --4.866 -1.25 Td -(sigemptyset)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(331,)-250(344, 348, 354)]TJ -12.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(355,)Tj --16.94 -1.25 Td -(360, 362)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(363, 369)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(370, 374, 378, 456, 467,)Tj --8.333 -1.25 Td -(476, 478, 621, 701, 815, 933)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(344)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(SIGEMT)Tj -/T1_0 1 Tf -4.017 0 Td -[(signal, )-250(317)]TJ -4.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(318)Tj -/TT0 1 Tf --9.577 -1.25 Td -(SIG_ERR)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(19,)-250(324, 334, 340)]TJ -11.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(343, 348,)Tj --14.063 -1.25 Td -(354)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(356, 360)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(361, 363, 368, 550, 709, 71)55(1, 733)]TJ -/TT0 1 Tf --9.033 -1.25 Td -(sigevent)Tj -/T1_0 1 Tf -5.217 0 Td -[(str)8(uctur)18(e, )-250(512)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(SIGEV_NONE)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(518)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(sigfillset)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(331,)-250(344, 366, 477, 933)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(344)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(SIGFPE)Tj -/T1_0 1 Tf -4.017 0 Td -[(signal, )-250(18,)-250(240)]TJ -6.477 0.09 Td -(\320)Tj -0.583 -0.09 Td -(241, 317)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(318, 352)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(353)Tj -/TT0 1 Tf --19.41 -1.25 Td -(SIGFREEZE)Tj -/T1_0 1 Tf -5.817 0 Td -[(signal, )-250(317)]TJ -4.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(318)Tj -/TT0 1 Tf --11.377 -1.25 Td -(Sigfunc)Tj -/T1_0 1 Tf -4.617 0 Td -[(data type,)-500(354)]TJ -6.482 0.09 Td -(\320)Tj -0.583 -0.09 Td -(355, 896)Tj -/TT0 1 Tf --11.682 -1.25 Td -(SIGHUP)Tj -/T1_0 1 Tf -4.017 0 Td -[(signal, )-250(308)]TJ -4.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(309, 317)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(318, 468, 475)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(479,)Tj --17.21 -1.25 Td -(546, 815, 830, 843)Tj -/TT0 1 Tf --2.7 -1.25 Td -(SIG_IGN)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(323,)-250(333, 350, 366, 369, 379,)]TJ --1.917 -1.25 Td -(467, 815)Tj -/TT0 1 Tf --2.7 -1.25 Td -(SIGILL)Tj -/T1_0 1 Tf -4.017 0 Td -[(signal, )-250(317)]TJ -4.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(318, 351)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(353, 366)Tj -/TT0 1 Tf --13.744 -1.25 Td -(SIGINFO)Tj -/T1_0 1 Tf -4.617 0 Td -[(signal, )-250(317)]TJ -4.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(318, 682, 689)Tj -/TT0 1 Tf --10.177 -1.25 Td -(siginfo)Tj -/T1_0 1 Tf -4.617 0 Td -[(str)8(uctur)18(e, )-250(244,)-250(283, 351)]TJ -10.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(352, 376, 379,)Tj --12.802 -1.25 Td -(381, 512)Tj -/TT0 1 Tf --2.7 -1.25 Td -(SIGINT)Tj -/T1_0 1 Tf -4.017 0 Td -[(signal, )-250(18)]TJ -4.477 0.09 Td -(\320)Tj -0.583 -0.09 Td -(19, 300, 314, 317, 319)Tj -9.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(320,)Tj --16.044 -1.25 Td -(340)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(341, 347, 359)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(361, 364)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(365, 367)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(370,)Tj --16.666 -1.25 Td -(372, 455)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(457, 546, 679, 681, 685, 688)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(689,)Tj --16.333 -1.25 Td -(701)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(702, 709, 930, 932)Tj -/TT0 1 Tf --4.866 -1.25 Td -(SIGIO)Tj -/T1_0 1 Tf -3.417 0 Td -[(signal, )-250(83,)-250(317, 319, 501, 509)]TJ -12.477 0.09 Td -(\320)Tj -0.583 -0.09 Td -(510, 627)Tj -/TT0 1 Tf --16.477 -1.25 Td -(SIGIOT)Tj -/T1_0 1 Tf -4.017 0 Td -[(signal, )-250(317,)-250(319, 365)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(sigismember)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(331,)-250(344)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(345, 347)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(348,)Tj --17.107 -1.25 Td -(933)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(344)]TJ -7.775 0.09 Td -(\320)Tj -0.583 -0.09 Td -(345)Tj -/TT0 1 Tf --9.709 -1.25 Td -(sigjmp_buf)Tj -/T1_0 1 Tf -6.417 0 Td -[(data type,)-500(356)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(SIGJVM1)Tj -/T1_0 1 Tf -4.617 0 Td -[(signal, )-250(317)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(SIGJVM2)Tj -/T1_0 1 Tf -4.617 0 Td -[(signal, )-250(317)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(SIGKILL)Tj -/T1_0 1 Tf -4.617 0 Td -[(signal, )-250(272,)-250(275, 315, 317, 319, 321, 323,)]TJ --1.917 -1.25 Td -(346, 380, 735)Tj -/TT0 1 Tf -23.3 65 Td -(siglongjmp)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(219,)-250(331, 355)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(358, 365)Tj --15.69 -1.25 Td -[(de\336nition of,)-500(356)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(SIGLOST)Tj -/T1_0 1 Tf -4.617 0 Td -[(signal, )-250(317)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(SIGLWP)Tj -/T1_0 1 Tf -4.017 0 Td -[(signal, )-250(317,)-250(319, 321)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(signal)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(18)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(19, 59, 308, 323)Tj -6.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(326,)Tj --14.607 -1.25 Td -(329)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(335, 339)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(343, 348)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(349, 354)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(356,)Tj --14.666 -1.25 Td -(360)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(361, 363, 368, 378, 510, 550, 709, 71)55(1, 939)]TJ --3.517 -1.25 Td -[(de\336nition of,)-500(323, 354)]TJ --1.35 -1.25 Td -[(signal mask,)-500(336)]TJ -0 -1.25 TD -[(signal set,)-500(336, 344)]TJ -8.456 0.09 Td -(\320)Tj -0.583 -0.09 Td -(345, 532, 933)Tj -/TT0 1 Tf --9.04 -1.25 Td -()Tj -/T1_0 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7, 240, 314, 324, 344)Tj -8.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(345,)Tj --17.105 -1.25 Td -(380)Tj -/TT0 1 Tf --2.7 -1.25 Td -(signal_intr)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(330,)-250(355, 364, 382, 508,)]TJ --4.317 -1.25 Td -(733, 896, 930)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(355)]TJ --1.35 -1.25 Td -[(signals, )-250(18)]TJ -4.901 0.09 Td -(\320)Tj -0.583 -0.09 Td -(19, 313)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(382)Tj --7.801 -1.25 Td -[(blocking, )-250(335)]TJ -T* -(delivery)Tj -0.5 Tc 3.556 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(35)Tj --4.806 -1.25 Td -[(generation, )-250(335)]TJ -T* -[(generation, pseudo terminal,)-500(741)]TJ -T* -[(job-contr)18(ol, )-250(377)]TJ -7.111 0.09 Td -(\320)Tj -0.583 -0.09 Td -(379)Tj --7.695 -1.25 Td -[(null, )-250(314,)-250(337)]TJ -T* -[(pending, )-250(335)]TJ -T* -[(queueing, )-250(336,)-250(349, 376)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(liable, )-250(335)]TJ -4.738 0.09 Td -(\320)Tj -0.583 -0.09 Td -(336)Tj --6.177 -1.25 Td -[(unr)18(eliable, )-250(326)]TJ -6.779 0.09 Td -(\320)Tj -0.583 -0.09 Td -(327)Tj -/TT0 1 Tf --8.713 -1.25 Td -(signal_thread)Tj -/T1_0 1 Tf -8.217 0 Td -[(function, )-250(814,)-250(830)]TJ --6.867 -1.25 Td -[(de\336nition of,)-500(830)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(sigpause)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(331)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(sigpending)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(331,)-250(335, 347)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(349)Tj --15.69 -1.25 Td -[(de\336nition of,)-500(347)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(SIGPIPE)Tj -/T1_0 1 Tf -4.617 0 Td -[(signal, )-250(314,)-250(317, 319, 537, 550)]TJ -12.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(551, 553,)Tj --15.477 -1.25 Td -[(556, 587, 61)55(1, 815, 936)]TJ -/TT0 1 Tf --2.7 -1.25 Td -(SIGPOLL)Tj -/T1_0 1 Tf -4.617 0 Td -[(signal, )-250(317,)-250(319, 501, 509)]TJ -10.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(510)Tj -/TT0 1 Tf --16.177 -1.25 Td -(sigprocmask)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(331,)-250(336, 340, 344,)]TJ --4.317 -1.25 Td -(346)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(349, 360, 362)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(364, 366, 370, 374, 378,)Tj --8.333 -1.25 Td -(453)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(454, 456, 701)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(346)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(SIGPROF)Tj -/T1_0 1 Tf -4.617 0 Td -[(signal, )-250(317,)-250(320)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(SIGPWR)Tj -/T1_0 1 Tf -4.017 0 Td -[(signal, )-250(317)]TJ -4.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(318, 320)Tj -/TT0 1 Tf --9.577 -1.25 Td -(sigqueue)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(222,)-250(331, 353, 376)]TJ -12.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(377)Tj --16.49 -1.25 Td -[(de\336nition of,)-500(376)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(SIGQUEUE_MAX)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(40,)-250(43, 376)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(SIGQUIT)Tj -/T1_0 1 Tf -4.617 0 Td -[(signal, )-250(300,)-250(317, 320, 347)]TJ -10.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(349, 361)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(362,)Tj --17.644 -1.25 Td -(367, 370, 372, 456)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(457, 546, 681, 689, 702, 709)Tj -/TT0 1 Tf --10.867 -1.25 Td -(SIGRTMAX)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(376)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(SIGRTMIN)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(376)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(SIGSEGV)Tj -/T1_0 1 Tf -4.617 0 Td -[(signal, )-250(314,)-250(317, 320, 332, 336, 352)]TJ -14.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(353,)Tj --17.477 -1.25 Td -(393, 527)Tj -/TT0 1 Tf --2.7 -1.25 Td -(sigset)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(331,)-250(333)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(sigsetjmp)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(219,)-250(331, 355)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(358)Tj --15.09 -1.25 Td -[(de\336nition of,)-500(356)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(SIG_SETMASK)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(346,)-250(348)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(349, 360,)Tj --12.963 -1.25 Td -(362)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(364, 366, 370, 374, 454, 456, 701)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47549 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.5 )]TJ -34.775 0 Td -[(Thr)18(ead )-250(T)92(ermination)]TJ -/T1_1 1 Tf -11.058 0 Td -(393)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(On Mac OS X, we get dif)18(fer)18(ent r)18(esults:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 652.2609 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(thread 1:)Tj -1.2 -1.189 Td -(structure at 0x1000b6f00)Tj -0 -1.189 TD -(foo.a = 1)Tj -T* -(foo.b = 2)Tj -0 -1.189 TD -(foo.c = 3)Tj -0 -1.189 TD -(foo.d = 4)Tj --1.2 -1.189 Td -(parent starting second thread)Tj -T* -(thread 2: ID is 4295716864)Tj -T* -(parent:)Tj -1.2 -1.189 Td -(structure at 0x1000b6f00)Tj --1.2 -1.189 Td -(Segmentation fault \(core dumped\))Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 516.569 Tm -[(In )-43(this )-43(case, )-43(the )-43(memory )-43(is )-43(no )-43(longer )-43(valid )-43(when )-43(the )-43(par)13(ent )-43(tries )-43(to )-43(access )-43(the )-43(str)6(uctur)18(e)]TJ -0 -1.2 TD -[(passed to it by the \336rst thr)18(ead that exited, and the par)18(ent is sent the)]TJ -/TT0 1 Tf -29.943 0 Td -(SIGSEGV)Tj -/T1_0 1 Tf -4.45 0 Td -(signal.)Tj --32.593 -1.2 Td -[(On )-14(Fr)18(eeBSD, )-14(the )-14(memory )-14(hasn\325t )-14(been )-14(overwritten )-14(by )-14(the )-14(time )-14(the )-14(par)18(ent )-14(accesses )-14(it,)]TJ --1.8 -1.2 Td -(and we get)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 463.8722 Tm -(thread 1:)Tj -1.2 -1.189 Td -(structure at 0xbf9fef88)Tj -0 -1.189 TD -(foo.a = 1)Tj -T* -(foo.b = 2)Tj -T* -(foo.c = 3)Tj -0 -1.189 TD -(foo.d = 4)Tj --1.2 -1.189 Td -(parent starting second thread)Tj -0 -1.189 TD -(thread 2: ID is 673279680)Tj -T* -(parent:)Tj -1.2 -1.189 Td -(structure at 0xbf9fef88)Tj -T* -(foo.a = 1)Tj -T* -(foo.b = 2)Tj -T* -(foo.c = 3)Tj -T* -(foo.d = 4)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 306.7816 Tm -[(Even )-116(though )-116(the )-116(memory )-116(is )-116(still )-116(intact )-116(after )-116(the )-116(thr)15(ead )-116(exits, )-116(we )-116(can\325t )-116(depend )-116(on )-116(this)]TJ -0 -1.2 TD -[(always being the case.)-500(It certainly isn\325t what we observe on the other platforms.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2948.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 264.7682 Tm -[(One )-65(thr)18(ead )-65(can )-65(r)19(equest )-65(that )-65(another )-65(in )-65(the )-65(same )-65(pr)18(ocess )-65(be )-65(canceled )-65(by )-65(calling )-65(the)]TJ -/TT0 1 Tf --1.8 -1.2 Td -(pthread_cancel)Tj -/T1_0 1 Tf -8.65 0 Td -(function.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 234.8718 Tm -(#include )Tj -0 -1.902 TD -(int pthread_cancel\(pthread_t)Tj -/T1_2 1 Tf -17.4 0 Td -(tid)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -3.881 -1.902 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1961.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 181.4273 Tm -[(In )-19(the )-19(default )-19(cir)17(cumstances,)]TJ -/TT0 1 Tf -12.998 0 Td -(pthread_cancel)Tj -/T1_0 1 Tf -8.67 0 Td -[(will )-20(cause )-20(the )-20(thr)18(ead )-20(speci\336ed )-20(by)]TJ -/T1_2 1 Tf -15.08 0 Td -(tid)Tj -/T1_0 1 Tf -1.381 0 Td -(to)Tj --38.128 -1.2 Td -[(behave )-115(as )-115(if )-115(it )-115(had )-115(called)]TJ -/TT0 1 Tf -11.824 0 Td -(pthread_exit)Tj -/T1_0 1 Tf -7.565 0 Td -[(with )-115(an )-115(ar)17(gument )-115(of)]TJ -/TT0 1 Tf -9.761 0 Td -(PTHREAD_CANCELED)Tj -/T1_0 1 Tf -(.)Tj --29.15 -1.2 Td -(However)Tj -0.3296 Tc 4.056 0 Td -(,at)Tj -0 Tc 1.735 0 Td -[(hr)18(ead )-80(can )-80(elect )-80(to )-80(ignor)20(e)-330(or)-330(o)1(therwise )-80(contr)18(ol )-80(how )-80(it )-80(is )-80(canceled.)]TJ --0.092 Tc 29.785 0 Td -[(We )-264(w)]TJ -0 Tc 2.551 0 Td -(ill)Tj --38.127 -1.2 Td -[(discuss )-80(this )-80(in )-80(detail )-80(in )-80(Section )-80(12.7.)-580(Note )-80(that)]TJ -/TT0 1 Tf -21.421 0 Td -(pthread_cancel)Tj -/T1_0 1 Tf -8.73 0 Td -[(doesn\325t )-80(wait )-80(for )-80(the)]TJ --30.151 -1.2 Td -[(thr)18(ead to terminate; it mer)18(ely makes the r)18(equest.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47550 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(18.3)]TJ -32.499 0 Td -[(Special )-250(Input )-250(Characters)]TJ -/T1_1 1 Tf -13.334 0 Td -(681)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(ERASE2 )-1505(The)-343(alternate )-93(erase )-93(character )-93(\(backspace\).)-595(This )-93(character )-93(is )-93(tr)18(eated )-93(exactly)]TJ -5.448 -1.2 Td -(like the erase character)Tj -10.346 0.04 Td -(\()Tj -0.333 -0.04 Td -(ERASE)Tj -3.193 0.04 Td -(\))Tj -0.333 -0.04 Td -(.)Tj --19.653 -1.96 Td -[(INTR )-2749(The)-355(interr)8(upt )-105(character)]TJ -0.6046 Tc 15.812 0 Td -(.T)Tj -0 Tc 1.468 0 Td -[(his )-105(character )-105(is )-105(r)19(ecognized )-104(on )-104(input )-104(if )-104(the)]TJ -/TT0 1 Tf -19.32 0 Td -(ISIG)Tj -/T1_0 1 Tf --31.152 -1.2 Td -[(\337ag )-115(is )-115(set )-115(and )-115(generates )-115(the)]TJ -/TT0 1 Tf -13.1 0 Td -(SIGINT)Tj -/T1_0 1 Tf -3.965 0 Td -[(signal )-115(that )-115(is )-115(sent )-115(to )-115(all )-115(pr)18(ocesses )-115(in)]TJ --17.065 -1.2 Td -[(the )-377(for)18(egr)18(ound )-377(pr)18(ocess )-377(gr)18(oup )-377(\(r)18(efer )-377(to )-377(Figur)]TJ -0.6274 Tc 21.79 0 Td -(e9)Tj -0 Tc 1.606 0 Td -[(.7\). )-627(This)-628(character )-377(is)]TJ --23.397 -1.2 Td -[(discar)18(ded when pr)18(ocessed \(i.e., it is not passed to the pr)18(ocess\).)]TJ --5.448 -1.96 Td -[(KILL )-2913(The)-373(kill )-123(character)]TJ -0.6232 Tc 13.288 0 Td -(.\()Tj -0 Tc 1.206 0 Td -[(The )-123(name )-123(\324)37(\324kill\325)37(\325)-373(is)-373(over)8(used; )-123(r)18(ecall )-123(the)]TJ -/TT0 1 Tf -18.025 0 Td -(kill)Tj -/T1_0 1 Tf -2.773 0 Td -(function)Tj --29.845 -1.2 Td -[(used )-218(to )-218(send )-218(a )-218(signal )-218(to )-218(a )-218(pr)15(ocess. )-468(This)-469(character )-218(should )-218(be )-218(called )-218(the)]TJ --0 -1.2 Td -[(line-erase )-88(character; )-88(it )-88(has )-88(nothing )-88(to )-88(do )-88(with )-88(signals.\))-588(It )-88(is )-88(r)18(ecognized )-88(on)]TJ -0 -1.2 TD -[(input )-11(in )-11(canonical )-11(mode )-11(\()]TJ -/TT0 1 Tf -11.35 0 Td -(ICANON)Tj -/T1_0 1 Tf -[(\). )-261(It)-260(erases )-11(the )-11(entir)]TJ -0.2606 Tc 12.281 0 Td -(el)Tj -0 Tc 1.031 0 Td -[(ine )-10(and )-10(is )-10(discar)17(ded)]TJ --24.662 -1.2 Td -[(when pr)18(ocessed \(i.e., it is not passed to the pr)18(ocess\).)]TJ --5.448 -1.96 Td -[(LNEXT )-1865(The)-254(literal-next )-4(character)]TJ -0.5036 Tc 16.429 0 Td -(.T)Tj -0 Tc 1.367 0 Td -[(his )-4(character )-4(is )-4(r)18(ecognized )-4(on )-4(input )-4(in )-4(extended)]TJ --12.348 -1.2 Td -[(mode )-43(\()]TJ -/TT0 1 Tf -(IEXTEN)Tj -/T1_0 1 Tf -0.2935 Tc (\)a)Tj -0 Tc 7.872 0 Td -[(nd )-43(causes )-43(any )-43(special )-43(meaning )-43(of )-43(the )-43(next )-43(character )-43(to )-43(be)]TJ --7.872 -1.2 Td -[(ignor)18(ed. )-304(This)-304(works )-54(for )-54(all )-54(special )-54(characters )-54(listed )-54(in )-54(this )-54(section.)]TJ --0.092 Tc 30.335 0 Td -[(We )-238(c)]TJ -0 Tc 2.135 0 Td -(an)Tj --32.47 -1.2 Td -[(use )-2(this )-2(character )-2(to )-2(type )-2(any )-2(character )-2(to )-2(a )-2(pr)22(ogram. )-252(The)-251(LNEXT )-1(character)]TJ -0 -1.2 Td -[(is )-16(discar)18(ded )-16(when )-16(pr)18(ocessed, )-16(but )-16(the )-16(next )-16(character )-16(enter)18(ed )-16(is )-16(passed )-16(to )-16(the)]TJ -T* -[(pr)18(ocess.)]TJ --5.448 -1.96 Td -[(NL )-3756(The)-281(newline )-31(character)]TJ -0.2807 Tc 15.212 0 Td -(,a)Tj -0 Tc 1.031 0 Td -[(lso )-31(called )-31(the )-31(line )-31(delimiter)]TJ -0.5306 Tc 12.001 0 Td -(.W)Tj -0.2806 Tc 1.689 0 Td -(ec)Tj -0 Tc 1.204 0 Td -[(annot )-31(change )-31(this)]TJ --25.689 -1.2 Td -(character)Tj -0.7539 Tc 3.991 0 Td -(.I)Tj -0 Tc 1.341 0 Td -[(t)-504(is)-504(r)18(ecognized )-254(on )-254(input )-254(in )-254(canonical )-254(mode )-254(\()]TJ -/TT0 1 Tf -21.373 0 Td -(ICANON)Tj -/T1_0 1 Tf -[(\). )-504(This)]TJ --26.705 -1.2 Td -[(character is r)18(eturned to the r)18(eading pr)18(ocess.)]TJ --5.448 -1.96 Td -[(QUIT )-2684(The)-287(quit )-37(character)]TJ -0.537 Tc 13.467 0 Td -(.T)Tj -0 Tc 1.4 0 Td -[(his )-37(character )-37(is )-37(r)18(ecognized )-37(on )-37(input )-37(if )-37(the)]TJ -/TT0 1 Tf -18.78 0 Td -(ISIG)Tj -/T1_0 1 Tf -2.687 0 Td -[(\337ag )-37(is)]TJ --30.886 -1.2 Td -[(set. )-366(The)-366(quit )-116(character )-116(generates )-116(the)]TJ -/TT0 1 Tf -17.05 0 Td -(SIGQUIT)Tj -/T1_0 1 Tf -4.566 0 Td -[(signal, )-116(which )-116(is )-116(sent )-116(to )-116(all)]TJ --21.616 -1.2 Td -[(pr)18(ocesses )-348(in )-348(the )-348(for)17(egr)18(ound )-348(pr)18(ocess )-348(gr)18(oup )-348(\(r)18(efer )-348(to )-348(Figur)]TJ -0.5983 Tc 27.883 0 Td -(e9)Tj -0 Tc 1.577 0 Td -[(.7\). )-598(This)]TJ --29.461 -1.2 Td -[(character is discar)18(ded when pr)18(ocessed \(i.e., it is not passed to the pr)18(ocess\).)]TJ -0 -1.92 TD -[(Recall )-65(fr)18(om )-65(Figur)]TJ -0.315 Tc 7.825 0 Td -(e1)Tj -0 Tc 1.294 0 Td -[(0.1 )-65(that )-65(the )-65(dif)18(fer)18(ence )-65(between )-65(INTR )-65(and )-65(QUIT )-65(is )-65(that)]TJ --9.119 -1.2 Td -[(the )-209(QUIT )-209(character )-209(not )-209(only )-209(terminates )-209(the )-209(pr)20(ocess )-209(by )-209(default, )-209(but )-209(also)]TJ -0 -1.2 TD -(generates a)Tj -/TT0 1 Tf -5.22 0 Td -(core)Tj -/T1_0 1 Tf -2.65 0 Td -(\336le.)Tj --13.318 -1.96 Td -[(REPRINT )-866(The)]TJ --0.018 Tc 7.526 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(print )-154(character)]TJ -0.6544 Tc 6.59 0 Td -(.T)Tj -0 Tc 1.517 0 Td -[(his )-154(character )-154(is )-154(r)18(ecognized )-154(on )-154(input )-154(in )-154(extended,)]TJ --11.042 -1.2 Td -[(canonical )-38(mode )-38(\(both)]TJ -/TT0 1 Tf -9.903 0 Td -(IEXTEN)Tj -/T1_0 1 Tf -3.888 0 Td -(and)Tj -/TT0 1 Tf -1.981 0 Td -(ICANON)Tj -/T1_0 1 Tf -3.888 0 Td -[(\337ags )-38(set\) )-38(and )-38(causes )-38(all )-38(unr)18(ead)]TJ --19.66 -1.2 Td -[(input )-68(to )-68(be )-68(output )-68(\(r)19(eechoed\). )-318(This)-317(character )-68(is )-68(discar)18(ded )-68(when )-68(pr)19(ocessed)]TJ -0 -1.2 Td -[(\(i.e., it is not passed to the pr)18(ocess\).)]TJ --5.448 -1.96 Td -[(ST)74(AR)]TJ -2.362 Tc 2.473 0 Td -(TT)Tj -0 Tc 3.588 0 Td -[(he )-22(start )-22(character)]TJ -0.5223 Tc 7.568 0 Td -(.T)Tj -0 Tc 1.385 0 Td -[(his )-22(character )-22(is )-22(r)18(ecognized )-22(on )-22(input )-22(if )-22(the)]TJ -/TT0 1 Tf -18.662 0 Td -(IXON)Tj -/T1_0 1 Tf -2.672 0 Td -[(\337ag )-22(is)]TJ --30.901 -1.2 Td -[(set )-183(and )-183(is )-183(automatically )-183(generated )-183(as )-183(output )-183(if )-183(the)]TJ -/TT0 1 Tf -23.935 0 Td -(IXOFF)Tj -/T1_0 1 Tf -3.433 0 Td -[(\337ag )-183(is )-183(set.)-682(A)]TJ --0.018 Tc -27.368 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ceived )-207(ST)74(AR)]TJ -0.4575 Tc 5.799 0 Td -(Tc)Tj -0 Tc 1.514 0 Td -[(haracter )-207(with)]TJ -/TT0 1 Tf -6.569 0 Td -(IXON)Tj -/T1_0 1 Tf -2.858 0 Td -[(set )-207(causes )-207(stopped )-207(output )-207(\(fr)18(om )-207(a)]TJ --17.596 -1.2 Td -[(pr)18(eviously )-277(enter)18(ed )-277(ST)18(OP )-277(character\) )-277(to )-277(r)20(estart. )-527(In)-526(this )-277(case, )-277(the )-277(ST)75(AR)37(T)]TJ --0 -1.2 Td -[(character is discar)18(ded when pr)18(ocessed \(i.e., it is not passed to the pr)18(ocess\).)]TJ -0 -1.92 TD -(When)Tj -/TT0 1 Tf -3.041 0 Td -(IXOFF)Tj -/T1_0 1 Tf -3.398 0 Td -[(is )-148(set, )-148(the )-148(terminal )-148(driver )-148(automatically )-148(generates )-148(a )-148(ST)72(AR)37(T)]TJ --6.439 -1.2 Td -[(character )-167(to )-167(r)18(esume )-167(input )-167(that )-167(it )-167(had )-167(pr)15(eviously )-168(stopped, )-168(when )-168(the )-168(new)]TJ -0 -1.2 TD -[(input will not over\337ow the input buf)18(fer)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47551 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(10.1)]TJ -32.9463 Tc 5.388 0 Td -(1S)Tj -0 Tc 33.971 0 Td -[(ignal )-250(Sets)]TJ -/T1_1 1 Tf -6.474 0 Td -(345)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Using )-28(this )-28(implementation,)]TJ -/TT0 1 Tf -12.399 0 Td -(sigaddset)Tj -/T1_0 1 Tf -5.678 0 Td -[(turns )-28(on )-28(a )-28(single )-28(bit )-28(and)]TJ -/TT0 1 Tf -11.114 0 Td -(sigdelset)Tj -/T1_0 1 Tf -5.678 0 Td -(turns)Tj --36.67 -1.2 Td -(of)Tj -0.2589 Tc 0.861 0 Td -(fas)Tj -0 Tc 1.775 0 Td -[(ingle )-9(bit;)]TJ -/TT0 1 Tf -4.137 0 Td -(sigismember)Tj -/T1_0 1 Tf -6.859 0 Td -[(tests )-9(a )-9(certain )-9(bit.)-509(Since )-9(no )-9(signal )-9(is )-9(ever )-9(number)18(ed )-9(0, )-9(we)]TJ --13.631 -1.2 Td -[(subtract )-85(1 )-85(fr)19(om )-85(the )-85(signal )-85(number )-85(to )-85(obtain )-85(the )-85(bit )-85(to )-85(manipulate.)-583(Figur)]TJ -0.3348 Tc 32.791 0 Td -(e1)Tj -0 Tc 1.314 0 Td -[(0.12 )-85(shows)]TJ --34.105 -1.2 Td -(implementations of these functions.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6210.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 611.4256 Tm -[(#include )-1800()]TJ -0 -1.189 TD -[(#include )-1800()]TJ -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*<)Tj -0 Tc 1.8 0 Td -(signal.h> usually defines NSIG to include signal number 0.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -[(#define SIGBAD\(signo\))-1800(\(\(signo\) <= 0 || \(signo\) >= NSIG\))]TJ -0 -1.902 TD -(int)Tj -0 -1.189 TD -(sigaddset\(sigset_t *set, int signo\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(if \(SIGBAD\(signo\)\) {)Tj -2.4 -1.189 Td -(errno = EINVAL;)Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -T* -[(*set |= 1 << \(signo - 1\);)-4200(/* turn bit on */)]TJ -T* -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(sigdelset\(sigset_t *set, int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(SIGBAD\(signo\)\) {)Tj -2.4 -1.189 Td -(errno = EINVAL;)Tj -T* -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -T* -[(*set &= \367\(1 << \(signo - 1\)\);)-2400(/* turn bit off */)]TJ -T* -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(sigismember\(const sigset_t *set, int signo\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(SIGBAD\(signo\)\) {)Tj -2.4 -1.189 Td -(errno = EINVAL;)Tj -T* -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(return\(\(*set & \(1 << \(signo - 1\)\)\) != 0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2172.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 178.2199 201.1818 Tm -(Figure 10.12)Tj -/T1_0 1 Tf -6.195 0 Td -(An implementation of)Tj -/TT0 1 Tf -10.049 0 Td -(sigaddset)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -5.9 0 Td -(sigdelset)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 6.4 0 Td -(nd)Tj -/TT0 1 Tf -1.443 0 Td -(sigismember)Tj -/T1_0 1 Tf --0.092 Tc 9.9982 0 0 9.9982 129.5772 173.5868 Tm -[(We )-391(m)]TJ -0 Tc 2.727 0 Td -[(ight )-207(be )-207(tempted )-207(to )-207(implement )-207(these )-207(thr)18(ee )-207(functions )-207(as )-207(one-line )-207(macr)14(os )-207(in )-207(the)]TJ -/TT0 1 Tf --2.727 -1.2 Td -()Tj -/T1_0 1 Tf -6.294 0 Td -(header)Tj -0.2939 Tc 2.972 0 Td -(,b)Tj -0 Tc 1.097 0 Td -[(ut )-44(POSIX.1 )-44(r)18(equir)18(es )-44(us )-44(to )-44(check )-44(the )-44(signal )-44(number )-44(ar)19(gument )-44(for)]TJ --10.363 -1.2 Td -[(validity )-14(and )-14(to )-14(set)]TJ -/TT0 1 Tf -8.281 0 Td -(errno)Tj -/T1_0 1 Tf -3.264 0 Td -[(if )-14(it )-14(is )-14(invalid.)-514(This )-14(is )-14(mor)]TJ -0.2638 Tc 11.601 0 Td -(ed)Tj -0 Tc 1.354 0 Td -[(if)18(\336cult )-14(to )-14(do )-14(in )-14(a )-14(macr)]TJ -0.2638 Tc 9.8 0 Td -(ot)Tj -0 Tc 1.136 0 Td -[(han )-14(in )-14(a)]TJ --35.435 -1.2 Td -(function.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47552 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(512)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(discuss )-11(shortly)]TJ -0.5109 Tc 6.491 0 Td -(.T)Tj -0 Tc 1.374 0 Td -(he)Tj -/TT0 1 Tf -1.322 0 Td -(aio_sigevent)Tj -/T1_1 1 Tf -7.461 0 Td -[(\336eld )-11(contr)18(ols )-11(how )-11(the )-11(application )-11(is )-11(noti\336ed )-11(about)]TJ --16.647 -1.2 Td -[(the completion of the I/O event.)-500(It is described by a)]TJ -/TT0 1 Tf -23.326 0 Td -(sigevent)Tj -/T1_1 1 Tf -5.05 0 Td -[(str)8(uctur)18(e.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 637.8617 Tm -(struct sigevent {)Tj -1.2 -1.189 Td -(int )Tj -9.6 0 Td -(sigev_notify;)Tj -17.4 0 Td -(/* notify type */)Tj --27 -1.189 Td -(int )Tj -9.6 0 Td -(sigev_signo;)Tj -17.4 0 Td -(/* signal number */)Tj --27 -1.189 Td -[(union sigval)-2400(sigev_value; )]TJ -27 0 Td -[(/*)-600(notify argument */)]TJ --27 -1.189 Td -(void \(*sigev_notify_function\)\(union sigval\); /* notify function */)Tj -0 -1.189 TD -[(pthread_attr_t *sigev_notify_attributes;)-3000(/* notify attrs */)]TJ --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 147.591 550.8669 Tm -(The)Tj -/TT0 1 Tf -2.087 0 Td -(sigev_notify)Tj -/T1_1 1 Tf -7.613 0 Td -[(\336eld )-163(contr)18(ols )-163(the )-163(type )-163(of )-163(noti\336cation.)-663(It )-163(can )-163(take )-163(on )-163(one )-163(of)]TJ --11.501 -1.2 Td -[(thr)18(ee values.)]TJ -/TT0 1 Tf -1.8 -1.92 Td -(SIGEV_NONE)Tj -/T1_1 1 Tf -8.083 0 Td -[(The )-142(pr)18(ocess )-142(is )-142(not )-142(noti\336ed )-142(when )-142(the )-142(asynchr)15(onous )-142(I/O )-142(r)17(equest)]TJ -0 -1.2 TD -(completes.)Tj -/TT0 1 Tf --8.083 -1.6 Td -(SIGEV_SIGNAL)Tj -/T1_1 1 Tf -8.083 0 Td -[(The )-333(signal )-333(speci\336ed )-333(by )-333(the)]TJ -/TT0 1 Tf -13.661 0 Td -(sigev_signo)Tj -/T1_1 1 Tf -7.183 0 Td -[(\336eld )-333(is )-333(generated)]TJ --20.844 -1.2 Td -[(when )-13(the )-13(asynchr)18(onous )-13(I/O )-13(r)18(equest )-13(completes.)-515(If )-13(the )-13(application)]TJ -T* -[(has )-28(elected )-28(to )-28(catch )-28(the )-28(signal )-28(and )-28(has )-28(speci\336ed )-28(the)]TJ -/TT0 1 Tf -23.117 0 Td -(SA_SIGINFO)Tj -/T1_1 1 Tf --23.117 -1.2 Td -[(\337ag )-49(when )-49(establishing )-49(the )-49(signal )-49(handler)]TJ -0.2992 Tc 18.333 0 Td -(,t)Tj -0 Tc 0.875 0 Td -[(he )-49(signal )-49(is )-49(queued )-49(\(if)]TJ --19.208 -1.2 Td -[(the )-1(implementation )-1(supports )-1(queued )-1(signals\).)-500(The )-1(signal )-1(handler)]TJ -T* -[(is )-173(passed )-173(a)]TJ -/TT0 1 Tf -5.522 0 Td -(siginfo)Tj -/T1_1 1 Tf -4.623 0 Td -[(str)8(uctur)]TJ -0.4227 Tc 3.49 0 Td -(ew)Tj -0 Tc 1.736 0 Td -(hose)Tj -/TT0 1 Tf -2.454 0 Td -(si_value)Tj -/T1_1 1 Tf -5.223 0 Td -[(\336eld )-173(is )-173(set )-173(to)]TJ -/TT0 1 Tf --23.047 -1.2 Td -(sigev_value)Tj -/T1_1 1 Tf -6.85 0 Td -(\(again, if)Tj -/TT0 1 Tf -4.136 0 Td -(SA_SIGINFO)Tj -/T1_1 1 Tf -6.25 0 Td -(is used\).)Tj -/TT0 1 Tf --25.319 -1.6 Td -(SIGEV_THREAD)Tj -/T1_1 1 Tf -8.083 0 Td -[(The )-36(function )-36(speci\336ed )-36(by )-36(the)]TJ -/TT0 1 Tf -13.243 0 Td -(sigev_notify_function)Tj -/T1_1 1 Tf -12.887 0 Td -[(\336eld )-36(is)]TJ --26.129 -1.2 Td -[(called )-393(when )-393(the )-393(asynchr)18(onous )-393(I/O )-393(r)18(equest )-393(completes.)-892(It )-393(is)]TJ -T* -[(passed )-461(the)]TJ -/TT0 1 Tf -5.847 0 Td -(sigev_value)Tj -/T1_1 1 Tf -7.311 0 Td -[(\336eld )-461(as )-461(its )-461(only )-461(ar)20(gument. )-711(The)]TJ --13.158 -1.2 Td -[(function )-260(is )-260(executed )-260(in )-260(a )-260(separate )-260(thr)18(ead )-260(in )-260(a )-260(detached )-260(state,)]TJ -T* -[(unless )-455(the)]TJ -/TT0 1 Tf -5.601 0 Td -(sigev_notify_attributes)Tj -/T1_1 1 Tf -14.505 0 Td -[(\336eld )-455(is )-455(set )-455(to )-455(the)]TJ --20.106 -1.2 Td -[(addr)18(ess )-290(of )-290(a )-290(pthr)18(ead )-290(attribute )-290(str)10(uctur)]TJ -0.5395 Tc 18.268 0 Td -(es)Tj -0 Tc 1.442 0 Td -[(pecifying )-289(alternative)]TJ --19.71 -1.2 Td -[(attributes for the thr)18(ead.)]TJ --0.092 Tc -8.083 -1.92 Td -[(To )-278(p)]TJ -0 Tc 2.012 0 Td -[(erform )-94(asynchr)18(onous )-94(I/O, )-94(we )-94(need )-94(to )-94(initialize )-94(an )-94(AIO )-94(contr)17(ol )-94(block )-94(and )-94(call)]TJ --3.812 -1.2 Td -[(either )-325(the)]TJ -/TT0 1 Tf -5.088 0 Td -(aio_read)Tj -/T1_1 1 Tf -5.375 0 Td -[(function )-325(to )-325(make )-325(an )-325(asynchr)18(onous )-325(r)18(ead )-325(or )-325(the)]TJ -/TT0 1 Tf -23.137 0 Td -(aio_write)Tj -/T1_1 1 Tf --33.6 -1.2 Td -[(function to make an asynchr)18(onous write.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5908 271.7837 Tm -(#include )Tj -0 -1.783 TD -(int aio_read\(struct aiocb *)Tj -/T1_2 1 Tf -(aiocb)Tj -/TT0 1 Tf -(\);)Tj --0 -1.783 Td -(int aio_write\(struct aiocb *)Tj -/T1_2 1 Tf -(aiocb)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -25.251 -1.783 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT1 1 Tf -9.213 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2191.25 cm -0 0 m -0 617 l -3900 617 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 205.6253 Tm -[(When )-133(these )-133(functions )-133(r)18(eturn )-133(success, )-133(the )-133(asynchr)16(onous )-133(I/O )-133(r)18(equest )-133(has )-133(been )-133(queued)]TJ -0 -1.2 TD -[(for )-45(pr)18(ocessing )-45(by )-45(the )-45(operating )-45(system.)-545(The )-45(r)18(eturn )-45(value )-45(bears )-45(no )-45(r)15(elation )-45(to )-45(the )-45(r)17(esult)]TJ -T* -[(of )-51(the )-51(actual )-51(I/O )-51(operation.)-550(While )-51(the )-51(I/O )-51(operation )-51(is )-51(pending, )-51(we )-51(have )-51(to )-51(be )-51(car)19(eful)]TJ -T* -[(to )-165(ensur)]TJ -0.4153 Tc 3.752 0 Td -(et)Tj -0 Tc 1.22 0 Td -[(hat )-165(the )-165(AIO )-165(contr)17(ol )-165(block )-165(and )-165(data )-165(buf)18(fer )-165(r)18(emain )-165(stable; )-165(their )-165(underlying)]TJ --4.973 -1.2 Td -[(memory )-33(must )-33(r)18(emain )-33(valid )-33(and )-33(we )-33(can\325t )-33(r)15(euse )-34(them )-34(until )-34(the )-34(I/O )-34(operation )-34(completes.)]TJ --0.092 Tc 1.8 -1.2 Td -[(To )-241(f)]TJ -0 Tc 1.707 0 Td -[(or)18(ce )-57(all )-57(pending )-57(asynchr)18(onous )-57(writes )-57(to )-57(persistent )-57(storage )-57(without )-57(waiting, )-57(we)]TJ --3.507 -1.2 Td -[(can set up an AIO contr)18(ol block and call the)]TJ -/TT0 1 Tf -19.55 0 Td -(aio_fsync)Tj -/T1_1 1 Tf -5.65 0 Td -(function.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47553 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(984)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(setkey)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(setlogmask)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(470)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(471)Tj --11.69 -1.25 Td -[(de\336nition of,)-500(470)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setnetent)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(452,)-250(598)]TJ --4.467 -1.25 Td -[(de\336nition of,)-500(598)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setpgid)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(294,)-250(331)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(294)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setpriority)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(277)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(277)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setprotoent)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(452,)-250(598)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(598)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setpwent)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(180)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(181, 442, 452)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(180)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setregid)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(257)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(258)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(257)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setreuid)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(257)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(257)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setrlimit)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(53,)-250(220, 382)]TJ --4.467 -1.25 Td -[(de\336nition of,)-500(220)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setservent)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(452,)-250(599)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(599)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setsid)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(294)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(295, 297, 310)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(31)55(1, 331,)]TJ --14.107 -1.25 Td -(464)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(467, 724, 727)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(728)Tj --9.683 -1.25 Td -[(de\336nition of,)-500(295)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setsockopt)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(331,)-250(624)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(625, 651)Tj --13.69 -1.25 Td -[(de\336nition of,)-500(624)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setspent)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(182)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(182)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(settimeofday)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(190)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(setuid)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(98,)-250(256, 258, 260, 288, 331, 816)]TJ --2.667 -1.25 Td -[(de\336nition of,)-500(256)]TJ --1.35 -1.25 Td -[(set-user)18(-ID, )-250(98)]TJ -6.722 0.09 Td -(\320)Tj -0.583 -0.09 Td -(99, 102, 104, 107)Tj -7.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(108, 1)55(10, 129, 140,)]TJ --12.272 -1.25 Td -(182, 233, 253, 256)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(257, 259, 267, 317, 546,)Tj --8.166 -1.25 Td -(585)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(586, 653, 924)Tj --3.517 -1.25 Td -[(saved, )-250(56,)-250(98, 256)]TJ -7.912 0.09 Td -(\320)Tj -0.583 -0.09 Td -(260, 288, 337)Tj -/TT0 1 Tf --9.846 -1.25 Td -(setutxent)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(442,)-250(452)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(SETVAL)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(568,)-250(570)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(setvbuf)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(146)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(147, 150, 171, 175, 220,)Tj --8.54 -1.25 Td -(552, 721, 936)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(146)]TJ --1.35 -1.25 Td -[(SGI \(Silicon Graphics, Inc.\),)-500(35)]TJ -0 -1.25 TD -(SGID,)Tj -/T1_2 1 Tf -3.149 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -[(set-gr)18(oup-ID)]TJ --4.566 -1.25 Td -(SHA)Tj -2.135 0.09 Td -(-)Tj -0.333 -0.09 Td -[(1, )-250(181)]TJ --2.468 -1.25 Td -[(shadow passwor)18(ds, )-250(181)]TJ -10.821 0.09 Td -(\320)Tj -0.583 -0.09 Td -(182, 196, 918)Tj -/TT0 1 Tf --11.404 -1.25 Td -()Tj -/T1_1 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(86)Tj -/TT0 1 Tf --10.639 -1.25 Td -(S_HANGUP)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(510)]TJ --5.217 -1.25 Td -(Shannon, W)Tj -0.25 Tc 5.307 0 Td -(.A)Tj -0 Tc 1.278 0 Td -[(., )-250(525,)-250(949)]TJ --6.585 -1.25 Td -[(shar)18(ed)]TJ -1.35 -1.25 Td -[(libraries, )-250(206)]TJ -5.952 0.09 Td -(\320)Tj -0.583 -0.09 Td -(207, 226, 753, 920, 947)Tj --6.535 -1.25 Td -(memory)Tj -0.5 Tc 3.631 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(34, 571)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(578)Tj --9.898 -1.25 Td -[(sharing, \336le,)-500(74)]TJ -7.038 0.09 Td -(\320)Tj -0.583 -0.09 Td -(77, 231)Tj --7.621 -1.25 Td -(shell,)Tj -/T1_2 1 Tf -2.817 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(Bourne shell, Bourne-again shell, C shell,)Tj --1.534 -1.25 Td -(Debian Almquist shell, Korn shell, TENEX C)Tj -T* -(shell)Tj -/TT0 1 Tf -23.3 66.25 Td -(SHELL)Tj -/T1_1 1 Tf -3.417 0 Td -[(envir)18(onment variable,)-500(21)55(1, 288, 737)]TJ --3.417 -1.25 Td -[(shell, job-contr)18(ol, )-250(294,)-250(299, 306)]TJ -13.678 0.09 Td -(\320)Tj -0.583 -0.09 Td -(307, 325, 358, 377,)Tj --11.562 -1.25 Td -(379, 734)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(735)Tj --6.866 -1.25 Td -[(shell layers,)-500(299)]TJ -T* -[(shells, )-250(3)]TJ -/TT0 1 Tf -T* -(S_HIPRI)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(510)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(shmat)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(559,)-250(573)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(576)Tj --10.69 -1.25 Td -[(de\336nition of,)-500(574)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(shmatt_t)Tj -/T1_1 1 Tf -5.217 0 Td -[(data type,)-500(572)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(shmctl)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(558,)-250(562, 573)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(575)Tj --13.29 -1.25 Td -[(de\336nition of,)-500(573)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(shmdt)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(574)]TJ --2.067 -1.25 Td -[(de\336nition of,)-500(574)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(shmget)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(557)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(558, 572, 575)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(572)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(shmid_ds)Tj -/T1_1 1 Tf -5.217 0 Td -[(str)8(uctur)18(e, )-250(572)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(574)Tj -/TT0 1 Tf --12.102 -1.25 Td -(SHMLBA)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(574)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(SHM_LOCK)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(573)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(SHM_RDONLY)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(574)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(SHM_RND)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(574)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(SHRT_MAX)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(37)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(SHRT_MIN)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(37)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(shutdown)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(331,)-250(592)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(593, 612)Tj --12.49 -1.25 Td -[(de\336nition of,)-500(592)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(SHUT_RD)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(592)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(SHUT_RDWR)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(592)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(SHUT_WR)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(592)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(SI_ASYNCIO)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(S_IFBLK)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(134)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_IFCHR)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(134)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_IFDIR)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(134)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_IFIFO)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(134)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_IFLNK)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(1)55(14, 134)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_IFMT)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(97)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(S_IFREG)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(134)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(S_IFSOCK)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(134,)-250(634)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(sig2str)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(380)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(381)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(380)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(SIG2STR_MAX)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(380)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(SIGABRT)Tj -/T1_1 1 Tf -4.617 0 Td -[(signal, )-250(236,)-250(240)]TJ -6.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(241, 275, 313, 317)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(319,)Tj --17.644 -1.25 Td -(365)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(367, 381, 924)Tj -/TT0 1 Tf --4.867 -1.25 Td -(sigaction)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(59,)-250(323, 326, 329)]TJ -11.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(331, 333,)Tj --15.24 -1.25 Td -(335)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(336, 349)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(355, 366, 370, 374, 376, 455,)Tj --6.333 -1.25 Td -(468, 476, 478)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(479, 510, 621, 815, 939)Tj --7.516 -1.25 Td -[(de\336nition of,)-500(350)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(sigaction)Tj -/T1_1 1 Tf -5.817 0 Td -[(str)8(uctur)18(e, )-250(350,)-250(354)]TJ -8.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(355, 366, 369, 374,)Tj --12.002 -1.25 Td -(376, 379, 467, 476, 478, 621, 814)Tj -/TT0 1 Tf --2.7 -1.25 Td -(sigaddset)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(331,)-250(344)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(345, 348, 360,)Tj --11.74 -1.25 Td -(362)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(363, 370, 374, 378, 456, 478)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(479, 701,)Tj --14.333 -1.25 Td -(815, 933)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(344)]TJ -7.775 0.09 Td -(\320)Tj -0.583 -0.09 Td -(345)Tj -/TT0 1 Tf --9.709 -1.25 Td -(SIGALRM)Tj -/T1_1 1 Tf -4.617 0 Td -[(signal, )-250(313)]TJ -4.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(314, 317, 330)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(332, 338)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(340,)Tj --17.81 -1.25 Td -(342)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(343, 347, 354, 356)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(357, 364)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(365,)Tj --14.5 -1.25 Td -(373)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(374, 621)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47554 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(134)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(fullpath[n] = 0;)Tj -0 -1.902 TD -[(if \(\(dp = opendir\(fullpath\)\) == NULL\))-1800(/* can\325t read directory */)]TJ -2.4 -1.189 Td -(return\(func\(fullpath, &statbuf, FTW_DNR\)\);)Tj --2.4 -1.902 Td -(while \(\(dirp = readdir\(dp\)\) != NULL\) {)Tj -2.4 -1.189 Td -[(if \(strcmp\(dirp->d_name, "."\) == 0)-1200(||)]TJ -2.4 -1.189 Td -(strcmp\(dirp->d_name, ".."\) == 0\))Tj -2.4 -1.189 Td -[(continue; )-3600(/*)-600(ignore dot and dot-dot */)]TJ --4.8 -1.189 Td -(strcpy\(&fullpath[n], dirp->d_name\); /* append name after "/" */)Tj -0 -1.189 TD -[(if \(\(ret = dopath\(func\)\) != 0\))-3600(/* recursive */)]TJ -2.4 -1.189 Td -[(break; )-600(/*)-600(time to leave */)]TJ --4.8 -1.189 Td -(})Tj -T* -[(fullpath[n-1] = 0;)-1200(/* erase everything from slash onward */)]TJ -0 -1.902 TD -(if \(closedir\(dp\) < 0\))Tj -2.4 -1.189 Td -(err_ret\("can\325t close directory %s", fullpath\);)Tj --2.4 -1.189 Td -(return\(ret\);)Tj --2.4 -1.189 Td -(})Tj -T* -(static int)Tj -0 -1.189 TD -(myfunc\(const char *pathname, const struct stat *statptr, int type\))Tj -T* -({)Tj -2.4 -1.189 Td -(switch \(type\) {)Tj -T* -(case FTW_F:)Tj -2.4 -1.189 Td -(switch \(statptr->st_mode & S_IFMT\) {)Tj -0 -1.189 TD -[(case S_IFREG:)-1800(nreg++; )-2400(break;)]TJ -0 -1.189 TD -[(case S_IFBLK:)-1800(nblk++; )-2400(break;)]TJ -T* -[(case S_IFCHR:)-1800(nchr++; )-2400(break;)]TJ -T* -[(case S_IFIFO:)-1800(nfifo++; )-1800(break;)]TJ -T* -[(case S_IFLNK:)-1800(nslink++; )-1200(break;)]TJ -T* -[(case S_IFSOCK:)-1200(nsock++; )-1800(break;)]TJ -T* -[(case S_IFDIR:)-1800(/* directories should have type = FTW_D */)]TJ -2.4 -1.189 Td -(err_dump\("for S_IFDIR for %s", pathname\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(break;)Tj --2.4 -1.189 Td -(case FTW_D:)Tj -2.4 -1.189 Td -(ndir++;)Tj -0 -1.189 TD -(break;)Tj --2.4 -1.189 Td -(case FTW_DNR:)Tj -2.4 -1.189 Td -(err_ret\("can\325t read directory %s", pathname\);)Tj -T* -(break;)Tj --2.4 -1.189 Td -(case FTW_NS:)Tj -2.4 -1.189 Td -(err_ret\("stat error for %s", pathname\);)Tj -0 -1.189 TD -(break;)Tj --2.4 -1.189 Td -(default:)Tj -2.4 -1.189 Td -(err_dump\("unknown type %d for pathname %s", type, pathname\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1583.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 193.2528 142.3019 Tm -(Figure 4.22)Tj -/T1_1 1 Tf -5.695 0 Td -[(Recursively descend a dir)18(ectory hierar)18(chy)]TJ -0.25 Tc 18.445 0 Td -(,c)Tj -0 Tc 0.944 0 Td -(ounting \336le types)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47555 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(574)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Once )-5(a )-5(shar)18(ed )-5(memory )-5(segment )-5(has )-5(been )-5(cr)19(eated, )-5(a )-5(pr)18(ocess )-5(attaches )-5(it )-5(to )-5(its )-5(addr)19(ess)]TJ --1.8 -1.2 Td -(space by calling)Tj -/TT0 1 Tf -7.262 0 Td -(shmat)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 640.2616 Tm -(#include )Tj -0 -1.902 TD -(void *shmat\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(shmid)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.245 0 Td -(onst void *)Tj -/T1_2 1 Tf -(addr)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 10.233 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --14.063 -1.902 Td -[(Returns: pointer to shar)18(ed memory segment if OK,)]TJ -/TT1 1 Tf -22.649 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6015.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 587.9894 Tm -[(The )-23(addr)18(ess )-23(in )-23(the )-23(calling )-23(pr)17(ocess )-23(at )-23(which )-23(the )-23(segment )-23(is )-23(attached )-23(depends )-23(on )-23(the)]TJ -/T1_2 1 Tf -37.167 0 Td -(addr)Tj -/T1_1 1 Tf --37.167 -1.2 Td -[(ar)18(gument and whether the)]TJ -/TT0 1 Tf -12.063 0 Td -(SHM_RND)Tj -/T1_1 1 Tf -4.45 0 Td -(bit is speci\336ed in)Tj -/T1_2 1 Tf -7.692 0 Td -(\337ag)Tj -/T1_1 1 Tf -(.)Tj -0.883 Tc -22.405 -1.8 Td -(\245I)Tj -0 Tc 1.826 0 Td -(f)Tj -/T1_2 1 Tf -0.65 0 Td -(addr)Tj -/T1_1 1 Tf -2.15 0 Td -[(is )-67(0, )-67(the )-67(segment )-67(is )-67(attached )-67(at )-67(the )-67(\336rst )-67(available )-67(addr)18(ess )-67(selected )-67(by )-67(the)]TJ --3.137 -1.2 Td -[(kernel. )-250(This)-250(is the r)18(ecommended technique.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245I)Tj -0 Tc 1.826 0 Td -(f)Tj -/T1_2 1 Tf -0.677 0 Td -(addr)Tj -/T1_1 1 Tf -2.178 0 Td -[(is )-94(nonzer)]TJ -0.3445 Tc 4.126 0 Td -(oa)Tj -0 Tc 1.391 0 Td -(nd)Tj -/TT0 1 Tf -1.538 0 Td -(SHM_RND)Tj -/T1_1 1 Tf -4.544 0 Td -[(is )-94(not )-94(speci\336ed, )-94(the )-94(segment )-94(is )-94(attached )-94(at )-94(the)]TJ --14.79 -1.2 Td -[(addr)18(ess given by)]TJ -/T1_2 1 Tf -7.758 0 Td -(addr)Tj -/T1_1 1 Tf -(.)Tj -0.883 Tc -9.247 -1.6 Td -(\245I)Tj -0 Tc 1.826 0 Td -(f)Tj -/T1_2 1 Tf -0.816 0 Td -(addr)Tj -/T1_1 1 Tf -2.316 0 Td -[(is )-233(nonzer)]TJ -0.4828 Tc 4.264 0 Td -(oa)Tj -0 Tc 1.529 0 Td -(nd)Tj -/TT0 1 Tf -1.676 0 Td -(SHM_RND)Tj -/T1_1 1 Tf -4.683 0 Td -[(is )-233(speci\336ed, )-233(the )-233(segment )-233(is )-233(attached )-233(at )-233(the)]TJ --15.62 -1.2 Td -[(addr)18(ess )-227(given )-227(by )-227(\()]TJ -/T1_2 1 Tf -8.773 0 Td -(addr)Tj -/TT1 1 Tf -2.31 0 Td -(!)Tj -/T1_1 1 Tf -1.026 0 Td -(\()Tj -/T1_2 1 Tf -(addr)Tj -/T1_1 1 Tf -2.643 0 Td -(modulus)Tj -/TT0 1 Tf -4.438 0 Td -(SHMLBA)Tj -/T1_1 1 Tf -[(\)\). )-477(The)]TJ -/TT0 1 Tf -7.394 0 Td -(SHM_RND)Tj -/T1_1 1 Tf -4.677 0 Td -(command)Tj --31.262 -1.2 Td -[(stands )-15(for )-15(\324)37(\324r)18(ound.\325)37(\325)]TJ -/TT0 1 Tf -9.194 0 Td -(SHMLBA)Tj -/T1_1 1 Tf -3.865 0 Td -[(stands )-15(for )-15(\324)37(\324low )-15(boundary )-15(addr)18(ess )-15(multiple\325)]TJ -0.2653 Tc 19.435 0 Td -(\325a)Tj -0 Tc 1.043 0 Td -[(nd )-15(is)]TJ --33.538 -1.2 Td -[(always )-11(a )-11(power )-11(of )-11(2.)-511(What )-11(the )-11(arithmetic )-11(does )-11(is )-11(r)18(ound )-11(the )-11(addr)18(ess )-11(down )-11(to )-11(the)]TJ -0 -1.2 TD -(next multiple of)Tj -/TT0 1 Tf -7.297 0 Td -(SHMLBA)Tj -/T1_1 1 Tf -(.)Tj --10.586 -1.8 Td -[(Unless )-205(we )-205(plan )-205(to )-205(r)9(un )-205(the )-205(application )-205(on )-205(only )-205(a )-205(single )-205(type )-205(of )-205(har)19(dwar)]TJ -0.4549 Tc 33.83 0 Td -(e\()Tj -0 Tc 1.267 0 Td -[(which )-205(is)]TJ --35.097 -1.2 Td -[(highly )-116(unlikely )-116(today\), )-116(we )-116(should )-116(not )-116(specify )-116(the )-116(addr)18(ess )-116(wher)]TJ -0.3657 Tc 28.957 0 Td -(et)Tj -0 Tc 1.171 0 Td -[(he )-116(segment )-116(is )-116(to )-116(be)]TJ --30.128 -1.2 Td -[(attached. )-272(Instead,)-272(we )-22(should )-22(specify )-22(an)]TJ -/T1_2 1 Tf -17.988 0 Td -(addr)Tj -/T1_1 1 Tf -2.105 0 Td -[(of )-22(0 )-22(and )-22(let )-22(the )-22(system )-22(choose )-22(the )-22(addr)18(ess.)]TJ --18.293 -1.2 Td -[(If )-194(the)]TJ -/TT0 1 Tf -2.946 0 Td -(SHM_RDONLY)Tj -/T1_1 1 Tf -6.444 0 Td -[(bit )-194(is )-194(speci\336ed )-194(in)]TJ -/T1_2 1 Tf -8.469 0 Td -(\337ag)Tj -/T1_1 1 Tf -0.4442 Tc (,t)Tj -0 Tc 2.509 0 Td -[(he )-194(segment )-194(is )-194(attached )-194(as )-194(r)17(ead-only)111(.)]TJ --22.168 -1.2 Td -[(Otherwise, the segment is attached as r)18(ead\320write.)]TJ -1.8 -1.2 Td -[(The )-30(value )-30(r)18(eturned )-30(by)]TJ -/TT0 1 Tf -10.193 0 Td -(shmat)Tj -/T1_1 1 Tf -3.28 0 Td -[(is )-30(the )-30(addr)18(ess )-30(at )-30(which )-30(the )-30(segment )-30(is )-30(attached, )-30(or)]TJ -/TT1 1 Tf -22.678 0 Td -(!)Tj -/T1_1 1 Tf -(1)Tj --37.951 -1.2 Td -[(if )-181(an )-181(err)18(or )-181(occurr)19(ed. )-431(If)]TJ -/TT0 1 Tf -11.121 0 Td -(shmat)Tj -/T1_1 1 Tf -3.431 0 Td -[(succeeds, )-181(the )-181(kernel )-181(will )-181(incr)18(ement )-181(the)]TJ -/TT0 1 Tf -18.448 0 Td -(shm_nattch)Tj -/T1_1 1 Tf --33 -1.2 Td -(counter in the)Tj -/TT0 1 Tf -6.385 0 Td -(shmid_ds)Tj -/T1_1 1 Tf -5.05 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.229 0 Td -[(ssociated with the shar)18(ed memory segment.)]TJ --14.354 -1.2 Td -[(When )-15(we\325r)]TJ -0.2652 Tc 4.876 0 Td -(ed)Tj -0 Tc 1.355 0 Td -[(one )-15(with )-15(a )-15(shar)18(ed )-15(memory )-15(segment, )-15(we )-15(call)]TJ -/TT0 1 Tf -19.795 0 Td -(shmdt)Tj -/T1_1 1 Tf -3.265 0 Td -[(to )-15(detach )-15(it.)-516(Note)]TJ --31.091 -1.2 Td -[(that )-261(this )-261(does )-261(not )-261(r)18(emove )-261(the )-261(identi\336er )-261(and )-261(its )-261(associated )-261(data )-261(str)8(uctur)]TJ -0.511 Tc 33.973 0 Td -(ef)Tj --0.018 Tc 1.323 0 Td -(ro)Tj -0.511 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.72 0 Td -(he)Tj --37.939 -1.2 Td -[(system. )-669(The)-669(identi\336er )-419(r)18(emains )-419(in )-419(existence )-419(until )-419(some )-419(pr)19(ocess )-419(\(often )-419(a )-419(server\))]TJ --0 -1.2 Td -[(speci\336cally r)18(emoves it by calling)]TJ -/TT0 1 Tf -14.61 0 Td -(shmctl)Tj -/T1_1 1 Tf -3.85 0 Td -(with a command of)Tj -/TT0 1 Tf -8.861 0 Td -(IPC_RMID)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5815 287.3255 Tm -(#include )Tj -0 -1.902 TD -(int shmdt\(const void *)Tj -/T1_2 1 Tf -(addr)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -26.851 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2486.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 235.0777 Tm -(The)Tj -/T1_2 1 Tf -2.157 0 Td -(addr)Tj -/T1_1 1 Tf -2.316 0 Td -[(ar)18(gument )-233(is )-233(the )-233(value )-233(that )-233(was )-233(r)18(eturned )-233(by )-233(a )-233(pr)21(evious )-233(call )-233(to)]TJ -/TT0 1 Tf -29.875 0 Td -(shmat)Tj -/T1_1 1 Tf -0.7326 Tc (.I)Tj -0 Tc 4.32 0 Td -(f)Tj --38.667 -1.2 Td -(successful,)Tj -/TT0 1 Tf -4.974 0 Td -(shmdt)Tj -/T1_1 1 Tf -3.255 0 Td -[(will )-5(decr)18(ement )-5(the)]TJ -/TT0 1 Tf -8.518 0 Td -(shm_nattch)Tj -/T1_1 1 Tf -6.255 0 Td -[(counter )-5(in )-5(the )-5(associated)]TJ -/TT0 1 Tf -11.199 0 Td -(shmid_ds)Tj -/T1_1 1 Tf --34.2 -1.2 Td -[(str)8(uctur)18(e.)]TJ -/TT2 1 Tf --3.6 -2.64 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.16 Td -(Wher)Tj -0.3155 Tc 2.438 0 Td -(eak)Tj -0 Tc 2.166 0 Td -[(ernel )-65(places )-65(shar)17(ed )-65(memory )-65(segments )-65(that )-65(ar)]TJ -0.3154 Tc 20.337 0 Td -(ea)Tj -0 Tc 1.294 0 Td -[(ttached )-65(with )-65(an )-65(addr)18(ess )-65(of )-65(0)]TJ --26.235 -1.2 Td -[(is )-488(highly )-488(system )-488(dependent.)-988(Figur)]TJ -0.7382 Tc 17.251 0 Td -(e1)Tj -0 Tc 1.717 0 Td -[(5.31 )-488(shows )-488(a )-488(pr)18(ogram )-488(that )-488(prints )-488(some)]TJ --18.968 -1.2 Td -(information on wher)Tj -0.25 Tc 9.175 0 Td -(eo)Tj -0 Tc 1.275 0 Td -(ne particular system places various types of data.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47556 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.9)]TJ -36.454 0 Td -[(Shar)18(ed )-250(Memory)]TJ -/T1_1 1 Tf -9.379 0 Td -(575)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -[(#define ARRAY_SIZE)-1200(40000)]TJ -0 -1.189 TD -(#define MALLOC_SIZE 100000)Tj -T* -[(#define SHM_SIZE)-2400(100000)]TJ -T* -[(#define SHM_MODE)-2400(0600 )-1800(/*)-600(user read/write */)]TJ -0 -2.14 TD -[(char )-1800(array[ARRAY_SIZE];)-1200(/* uninitialized data = bss */)]TJ -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(shmid;)]TJ -T* -[(char )-1800(*ptr,)-600(*shmptr;)]TJ -0 -2.14 TD -(printf\("array[] from %p to %p\\n", \(void *\)&array[0],)Tj -1.2 -1.189 Td -(\(void *\)&array[ARRAY_SIZE]\);)Tj --1.2 -1.189 Td -(printf\("stack around %p\\n", \(void *\)&shmid\);)Tj -0 -2.14 TD -(if \(\(ptr = malloc\(MALLOC_SIZE\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("malloc error"\);)Tj --2.4 -1.189 Td -(printf\("malloced from %p to %p\\n", \(void *\)ptr,)Tj -1.2 -1.189 Td -(\(void *\)ptr+MALLOC_SIZE\);)Tj --1.2 -2.14 Td -(if \(\(shmid = shmget\(IPC_PRIVATE, SHM_SIZE, SHM_MODE\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("shmget error"\);)Tj --2.4 -1.189 Td -(if \(\(shmptr = shmat\(shmid, 0, 0\)\) == \(void *\)-1\))Tj -2.4 -1.189 Td -(err_sys\("shmat error"\);)Tj --2.4 -1.189 Td -(printf\("shared memory attached from %p to %p\\n", \(void *\)shmptr,)Tj -1.2 -1.189 Td -(\(void *\)shmptr+SHM_SIZE\);)Tj --1.2 -2.14 Td -(if \(shmctl\(shmid, IPC_RMID, 0\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("shmctl error"\);)Tj --2.4 -2.14 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2866.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 222.4173 270.5855 Tm -(Figure 15.31)Tj -/T1_0 1 Tf -6.195 0 Td -(Print wher)Tj -0.25 Tc 4.72 0 Td -(ev)Tj -0 Tc 1.294 0 Td -(arious types of data ar)Tj -0.25 Tc 9.838 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(tor)18(ed)]TJ -9.9988 0 0 9.9988 129.5845 246.5884 Tm -[(Running )-243(this )-243(pr)18(ogram )-243(on )-243(a )-243(64)]TJ -14.438 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-243(Intel-based )-243(Linux )-243(system )-243(gives )-243(us )-243(the )-243(following)]TJ --14.771 -1.2 Td -(output:)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5825 217.8919 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(array[] from 0x6020c0 to 0x60bd00)Tj -0 -1.189 TD -(stack around 0x7fff957b146c)Tj -T* -(malloced from 0x9e3010 to 0x9fb6b0)Tj -T* -(shared memory attached from 0x7fba578ab000 to 0x7fba578c36a0)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5846 157.0991 Tm -(Figur)Tj -0.4246 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.404 0 Td -[(5.32 )-175(shows )-175(a )-175(pictur)]TJ -0.4246 Tc 8.976 0 Td -(eo)Tj -0.4245 Tc 1.45 0 Td -(ft)Tj -0 Tc 1.084 0 Td -[(his, )-174(similar )-174(to )-174(what )-174(we )-174(said )-174(was )-174(a )-174(typical )-174(memory)]TJ --15.296 -1.2 Td -[(layout )-130(in )-130(Figur)]TJ -0.38 Tc 6.838 0 Td -(e7)Tj -0 Tc 1.359 0 Td -[(.6. )-380(Note)-380(that )-130(the )-130(shar)18(ed )-130(memory )-130(segment )-130(is )-130(placed )-130(well )-130(below )-130(the)]TJ --8.197 -1.2 Td -(stack.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1331.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47557 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(570)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 163.9202 668.9599 Tm -[(If the semaphor)18(e\325s value is curr)18(ently 0, the function r)18(eturns immediately)111(.)]TJ -0 -1.8 TD -[(If the semaphor)18(e\325s value is nonzer)18(o, the following conditions apply)111(.)]TJ -0 -1.6 TD -[(a. )-633(If)]TJ -/TT0 1 Tf -2.553 0 Td -(IPC_NOWAIT)Tj -/T1_1 1 Tf -6.25 0 Td -[(is speci\336ed, r)18(eturn is made with an err)18(or of)]TJ -/TT0 1 Tf -19.285 0 Td -(EAGAIN)Tj -/T1_1 1 Tf -(.)Tj --28.088 -1.6 Td -[(b. )-580(If)]TJ -/TT0 1 Tf -2.703 0 Td -(IPC_NOWAIT)Tj -/T1_1 1 Tf -6.4 0 Td -[(is )-150(not )-150(speci\336ed, )-150(the)]TJ -/TT0 1 Tf -9.341 0 Td -(semzcnt)Tj -/T1_1 1 Tf -4.6 0 Td -[(value )-150(for )-150(this )-150(semaphor)]TJ -0.4003 Tc 10.928 0 Td -(ei)Tj -0 Tc 1.17 0 Td -(s)Tj --33.51 -1.2 Td -[(incr)18(emented )-41(\(since )-41(the )-41(caller )-41(is )-41(about )-41(to )-41(go )-41(to )-41(sleep\), )-41(and )-41(the )-41(calling )-41(pr)15(ocess)]TJ --0 -1.2 Td -(is suspended until one of the following occurs.)Tj -T* -[(i. )-1215(The)-535(semaphor)18(e\325s )-285(value )-285(becomes )-285(0.)-785(The )-285(value )-285(of)]TJ -/TT0 1 Tf -25.768 0 Td -(semzcnt)Tj -/T1_1 1 Tf -4.735 0 Td -[(for )-285(this)]TJ --28.496 -1.2 Td -[(semaphor)18(e)-250(is)-250(decr)18(emented \(since the calling pr)18(ocess is done waiting\).)]TJ --2.006 -1.6 Td -[(ii. )-924(The)-352(semaphor)18(e)-352(is)-352(r)17(emoved )-102(fr)18(om )-102(the )-102(system.)-604(In )-102(this )-102(case, )-102(the )-102(function)]TJ --0.018 Tc 2.006 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns an err)18(or of)]TJ -/TT0 1 Tf -7.483 0 Td -(EIDRM)Tj -/T1_1 1 Tf -(.)Tj --10.345 -1.6 Td -[(iii. )-633(A)-257(signal )-7(is )-7(caught )-7(by )-7(the )-7(pr)16(ocess, )-7(and )-7(the )-7(signal )-7(handler )-7(r)16(eturns. )-257(In)-258(this)]TJ -2.006 -1.2 Td -(case, the value of)Tj -/TT0 1 Tf -7.803 0 Td -(semzcnt)Tj -/T1_1 1 Tf -4.45 0 Td -[(for this semaphor)17(e)-250(is)-250(d)-1(ecr)18(emented \(since the)]TJ --12.253 -1.2 Td -[(calling )-93(pr)18(ocess )-93(is )-93(no )-93(longer )-93(waiting\), )-93(and )-93(the )-93(function )-93(r)18(eturns )-93(an )-93(err)15(or)]TJ -0 -1.2 Td -(of)Tj -/TT0 1 Tf -1.129 0 Td -(EINTR)Tj -/T1_1 1 Tf -(.)Tj --8.201 -1.8 Td -(The)Tj -/TT0 1 Tf -1.964 0 Td -(semop)Tj -/T1_1 1 Tf -3.29 0 Td -[(function )-40(operates )-40(atomically; )-40(it )-40(does )-40(either )-40(all )-40(the )-40(operations )-40(in )-40(the )-40(array )-40(or)]TJ --5.254 -1.2 Td -(none of them.)Tj -/TT1 1 Tf --3.6 -3 Td -(Semaphore Adjustment on)Tj -/TT2 1 Tf -13.002 0 Td -(exit)Tj -/T1_1 1 Tf --9.402 -2.16 Td -[(As )-102(we )-102(mentioned )-102(earlier)74(,)-352(it)-352(i)]TJ -0.3521 Tc (sap)Tj --0.018 Tc 15.197 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(blem )-102(if )-102(a )-102(pr)18(ocess )-102(terminates )-102(while )-102(it )-102(has )-102(r)17(esour)18(ces)]TJ --16.12 -1.2 Td -[(allocated )-381(thr)18(ough )-381(a )-381(semaphor)18(e. )-631(Whenever)-631(we )-381(specify )-381(the)]TJ -/TT0 1 Tf -28.869 0 Td -(SEM_UNDO)Tj -/T1_1 1 Tf -5.431 0 Td -[(\337ag )-381(for )-381(a)]TJ --34.3 -1.2 Td -(semaphor)Tj -0.2766 Tc 4.392 0 Td -(eo)Tj -0 Tc 1.302 0 Td -[(peration )-27(and )-27(we )-27(allocate )-27(r)20(esour)18(ces )-27(\(a)]TJ -/TT0 1 Tf -16.749 0 Td -(sem_op)Tj -/T1_1 1 Tf -3.877 0 Td -[(value )-27(less )-27(than )-27(0\), )-27(the )-27(kernel)]TJ --0.018 Tc -26.319 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(members )-280(how )-280(many )-280(r)18(esour)18(ces )-280(we )-280(allocated )-280(fr)18(om )-280(that )-280(particular )-280(semaphor)]TJ -0.5301 Tc 35.415 0 Td -(e\()Tj -0 Tc 1.342 0 Td -(the)Tj --37.613 -1.2 Td -[(absolute )-433(value )-433(of)]TJ -/TT0 1 Tf -9.088 0 Td -(sem_op)Tj -/T1_1 1 Tf -[(\). )-683(When)-683(the )-433(pr)18(ocess )-433(terminates, )-433(either )-433(voluntarily )-433(or)]TJ --9.088 -1.2 Td -(involuntarily)Tj -0.4223 Tc 5.708 0 Td -(,t)Tj -0 Tc 0.998 0 Td -[(he )-172(kernel )-172(checks )-172(whether )-172(the )-172(pr)18(ocess )-172(has )-172(any )-172(outstanding )-172(semaphor)15(e)]TJ --6.706 -1.2 Td -[(adjustments and, if so, applies the adjustment to the corr)18(esponding semaphor)18(e.)]TJ -1.8 -1.2 Td -[(If )-257(we )-257(set )-257(the )-257(value )-257(of )-257(a )-257(semaphor)]TJ -0.5067 Tc 16.355 0 Td -(eu)Tj -0 Tc 1.589 0 Td -(sing)Tj -/TT0 1 Tf -2.36 0 Td -(semctl)Tj -/T1_1 1 Tf -0.5067 Tc (,w)Tj -0 Tc 5.191 0 Td -[(ith )-257(either )-257(the)]TJ -/TT0 1 Tf -6.658 0 Td -(SETVAL)Tj -/T1_1 1 Tf -4.107 0 Td -(or)Tj -/TT0 1 Tf --38.059 -1.2 Td -(SETALL)Tj -/T1_1 1 Tf -3.878 0 Td -[(commands, )-28(the )-28(adjustment )-28(value )-28(for )-28(that )-28(semaphor)20(e)-278(in)-278(a)1(ll )-28(pr)18(ocesses )-27(is )-27(set )-27(to )-27(0.)]TJ -/TT1 1 Tf --7.478 -3 Td -[(Example )195(\321 )195(Timing)-279(Comparison of Semaphores, Recor)]TJ -0.278 Tc 25.542 0 Td -(dL)Tj -0 Tc 1.5 0 Td -[(oc)20(king, and Mute)]TJ --0.01 Tc 8.133 0 Td -(xe)Tj -0 Tc 1.102 0 Td -(s)Tj -/T1_1 1 Tf --32.677 -2.16 Td -[(If )-92(we )-92(ar)]TJ -0.3416 Tc 3.543 0 Td -(es)Tj -0 Tc 1.245 0 Td -[(haring )-92(a )-92(single )-92(r)19(esour)18(ce )-92(among )-92(multiple )-92(pr)18(ocesses, )-92(we )-92(can )-92(use )-92(one )-92(of )-92(thr)21(ee)]TJ --4.788 -1.2 Td -[(techniques )-57(to )-57(coor)18(dinate )-57(access.)]TJ --0.092 Tc 14.789 0 Td -[(We )-241(c)]TJ -0 Tc 2.138 0 Td -[(an )-57(use )-57(a )-57(a )-57(semaphor)16(e, )-57(r)18(ecor)]TJ -0.3073 Tc 12.469 0 Td -(dl)Tj -0 Tc 1.209 0 Td -[(ocking, )-57(or )-57(a )-57(mutex)]TJ --30.605 -1.2 Td -[(that )-14(is )-14(mapped )-14(into )-14(the )-14(addr)18(ess )-14(spaces )-14(of )-14(both )-14(pr)19(ocesses. )-264(It\325s)-264(inter)18(esting )-14(to )-14(compar)]TJ -0.264 Tc 36.87 0 Td -(et)Tj -0 Tc 1.069 0 Td -(he)Tj --37.939 -1.2 Td -[(timing dif)18(fer)18(ences between the thr)18(ee techniques.)]TJ --0.055 Tc 1.8 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-141(a )-141(semaphor)18(e, )-141(we )-141(cr)18(eate )-141(a )-141(semaphor)]TJ -0.3911 Tc 17.686 0 Td -(es)Tj -0 Tc 1.294 0 Td -[(et )-141(consisting )-141(of )-141(a )-141(single )-141(member )-141(and)]TJ --22.016 -1.2 Td -[(initialize )-157(the )-157(semaphor)18(e\325s )-157(value )-157(to )-157(1.)]TJ --0.092 Tc 17.557 0 Td -[(To )-342(a)]TJ -0 Tc 1.975 0 Td -[(llocate )-158(the )-158(r)19(esour)18(ce, )-158(we )-158(call)]TJ -/TT0 1 Tf -13.12 0 Td -(semop)Tj -/T1_1 1 Tf -3.408 0 Td -[(with )-158(a)]TJ -/TT0 1 Tf --36.059 -1.2 Td -(sem_op)Tj -/T1_1 1 Tf -4.014 0 Td -(of)Tj -/TT3 1 Tf -1.293 0 Td -(!)Tj -/T1_1 1 Tf -[(1; )-164(to )-164(r)18(elease )-164(the )-164(r)19(esour)18(ce, )-164(we )-164(perform )-164(a)]TJ -/TT0 1 Tf -19.321 0 Td -(sem_op)Tj -/T1_1 1 Tf -4.014 0 Td -(of)Tj -/TT4 1 Tf -1.293 0 Td -(+)Tj -/T1_1 1 Tf -[(1. )-414(W)]TJ -0.4137 Tc 2.871 0 Td -(ea)Tj -0 Tc 1.393 0 Td -[(lso )-164(specify)]TJ -/TT0 1 Tf --34.197 -1.2 Td -(SEM_UNDO)Tj -/T1_1 1 Tf -5.099 0 Td -[(with )-49(each )-49(operation, )-49(to )-49(handle )-49(the )-49(case )-49(of )-49(a )-49(pr)14(ocess )-50(that )-50(terminates )-50(without)]TJ --0.018 Tc -5.099 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(leasing its r)18(esour)18(ce.)]TJ --0.055 Tc 0.944 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-33(r)18(ecor)]TJ -0.2831 Tc 3.414 0 Td -(dl)Tj -0 Tc 1.185 0 Td -[(ocking, )-33(we )-33(cr)18(eate )-33(an )-33(empty )-33(\336le )-33(and )-33(use )-33(the )-33(\336rst )-33(byte )-33(of )-33(the )-33(\336le )-33(\(which)]TJ --7.635 -1.2 Td -[(need )-66(not )-66(exist\) )-66(as )-66(the )-66(lock )-66(byte.)]TJ --0.092 Tc 14.745 0 Td -[(To )-250(a)]TJ -0 Tc 1.883 0 Td -[(llocate )-66(the )-66(r)19(esour)18(ce, )-66(we )-66(obtain )-66(a )-66(write )-66(lock )-66(on )-66(the)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47558 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(56)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1008.25 6670.25 cm -0 0 m -4120 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 144.1354 658.9605 Tm -(Name of option)Tj -18.435 0 Td -(Indicates ...)Tj -/T1_2 1 Tf -15.986 0 Td -(name)Tj -/T1_1 1 Tf -2.417 0 Td -[(ar)18(gument)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1008.25 6550.25 cm -0 0 m -4120 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1008.25 6530.25 cm -0 0 m -4120 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 104.7874 644.9226 Tm -(_POSIX_ASYNCHRONOUS_IO )Tj -34.9 0 Td -(_SC_ASYNCHRONOUS_IO)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -[(POSIX asynchr)18(onous I/O)]TJ -/TT0 1 Tf --19.55 -1.375 Td -(_POSIX_BARRIERS )Tj -34.9 0 Td -(_SC_BARRIERS)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -(barriers)Tj -/TT0 1 Tf --19.55 -1.375 Td -(_POSIX_CLOCK_SELECTION )Tj -34.9 0 Td -(_SC_CLOCK_SELECTION)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -(clock selection)Tj -/TT0 1 Tf --19.55 -1.375 Td -(_POSIX_JOB_CONTROL )Tj -34.9 0 Td -(_SC_JOB_CONTROL)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -[(job contr)18(ol)]TJ -/TT0 1 Tf --19.55 -1.375 Td -(_POSIX_MAPPED_FILES )Tj -34.9 0 Td -(_SC_MAPPED_FILES)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -(memory-mapped \336les)Tj -/TT0 1 Tf --19.55 -1.375 Td -(_POSIX_MEMORY_PROTECTION )Tj -34.9 0 Td -(_SC_MEMORY_PROTECTION)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -[(memory pr)18(otection)]TJ -/TT0 1 Tf --19.55 -1.375 Td -(_POSIX_READER_WRITER_LOCKS )Tj -34.9 0 Td -(_SC_READER_WRITER_LOCKS)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj --0.018 Tc 2.25 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(ader\320writer locks)Tj -/TT0 1 Tf --20.406 -1.375 Td -(_POSIX_REALTIME_SIGNALS )Tj -34.9 0 Td -(_SC_REALTIME_SIGNALS)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj --0.018 Tc 2.25 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(al-time signals)Tj -/TT0 1 Tf --20.406 -1.375 Td -(_POSIX_SAVED_IDS )Tj -34.9 0 Td -(_SC_SAVED_IDS)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -[(the saved set-user)18(-ID and the)]TJ -0 -1.25 TD -[(saved set-gr)18(oup-ID)]TJ -/TT0 1 Tf --19.55 -1.375 Td -(_POSIX_SEMAPHORES )Tj -34.9 0 Td -(_SC_SEMAPHORES)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -[(POSIX semaphor)18(es)]TJ -/TT0 1 Tf --19.55 -1.375 Td -(_POSIX_SHELL )Tj -34.9 0 Td -(_SC_SHELL)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -(the POSIX shell)Tj -/TT0 1 Tf --19.55 -1.375 Td -(_POSIX_SPIN_LOCKS )Tj -34.9 0 Td -(_SC_SPIN_LOCKS)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -(spin locks)Tj -/TT0 1 Tf --19.55 -1.375 Td -(_POSIX_THREAD_SAFE_FUNCTIONS )Tj -34.9 0 Td -(_SC_THREAD_SAFE_FUNCTIONS)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -[(thr)18(ead-safe functions)]TJ -/TT0 1 Tf --19.55 -1.375 Td -(_POSIX_THREADS )Tj -34.9 0 Td -(_SC_THREADS)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -[(thr)18(eads)]TJ -/TT0 1 Tf --19.55 -1.375 Td -(_POSIX_TIMEOUTS )Tj -34.9 0 Td -(_SC_TIMEOUTS)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -(timeout-based variants of)Tj -T* -(selected functions)Tj -/TT0 1 Tf --19.55 -1.375 Td -(_POSIX_TIMERS )Tj -34.9 0 Td -(_SC_TIMERS)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -(timers)Tj -/TT0 1 Tf --19.55 -1.375 Td -(_POSIX_VERSION )Tj -34.9 0 Td -(_SC_VERSION)Tj -/T1_1 1 Tf --17.6 0 Td -(the POSIX.1 version)Tj -/TT0 1 Tf --17.3 -1.375 Td -(_XOPEN_CRYPT )Tj -34.9 0 Td -(_SC_XOPEN_CRYPT)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -[(the XSI encryption option gr)18(oup)]TJ -/TT0 1 Tf --19.55 -1.375 Td -(_XOPEN_REALTIME )Tj -34.9 0 Td -(_SC_XOPEN_REALTIME)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -[(the XSI r)18(eal-time option gr)18(oup)]TJ -/TT0 1 Tf --19.55 -1.375 Td -(_XOPEN_REALTIME_THREADS )Tj -34.9 0 Td -(_SC_XOPEN_REALTIME_THREADS)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -[(the XSI r)18(eal-time thr)18(eads option)]TJ -T* -[(gr)18(oup)]TJ -/TT0 1 Tf --19.55 -1.375 Td -(_XOPEN_SHM )Tj -34.9 0 Td -(_SC_XOPEN_SHM)Tj -/T1_1 1 Tf --17.6 0 Td -(whether the implementation supports)Tj -2.25 -1.25 Td -[(the XSI shar)18(ed memory option)]TJ -T* -[(gr)18(oup)]TJ -/TT0 1 Tf --19.55 -1.375 Td -(_XOPEN_VERSION )Tj -34.9 0 Td -(_SC_XOPEN_VERSION)Tj -/T1_1 1 Tf --17.6 0 Td -(the XSI version)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1008.25 1700.25 cm -0 0 m -4120 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3820.25 1700.25 cm -0 0 m -0 4970 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2412.25 1700.25 cm -0 0 m -0 4970 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5128.25 1700.25 cm -0 0 m -0 4970 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1008.25 1700.25 cm -0 0 m -0 4970 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 199.1122 151.9726 Tm -(Figure 2.19)Tj -/T1_1 1 Tf -5.695 0 Td -(Options and)Tj -/T1_2 1 Tf -5.749 0 Td -(name)Tj -/T1_1 1 Tf -2.417 0 Td -[(ar)18(guments to)]TJ -/TT0 1 Tf -6.102 0 Td -(sysconf)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47559 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.1)]TJ -21.8583 Tc 4.888 0 Td -(1C)Tj -0 Tc 23.067 0 Td -[(hanging )-250(User )-250(IDs )-250(and )-250(Gr)18(oup )-250(IDs)]TJ -/T1_1 1 Tf -17.878 0 Td -(259)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_0 1 Tf --0.092 Tc 3.6 -2.4 Td -[(To )-423(s)]TJ -0 Tc 1.979 0 Td -[(ee )-238(the )-238(utility )-238(of )-238(the )-238(saved )-238(set-user)18(-ID )-238(featur)18(e, )-238(let\325s )-238(examine )-238(the )-238(operation )-238(of )-238(a)]TJ --1.979 -1.2 Td -[(pr)18(ogram )-125(that )-125(uses )-125(it.)]TJ --0.092 Tc 10.139 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-125(look )-125(at )-125(the)]TJ -/TT1 1 Tf -6.512 0 Td -(at)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.708 -0.04 Td -[(pr)18(ogram, )-125(which )-125(we )-125(can )-125(use )-125(to )-125(schedule)]TJ --20.779 -1.2 Td -[(commands to be r)8(un at some time in the futur)18(e.)]TJ -7.9995 0 0 7.9995 183.5893 597.3642 Tm -[(On )-50(Linux )-50(3.2.0, )-50(the)]TJ -/TT1 1 Tf -8.809 0 Td -(at)Tj -/T1_0 1 Tf -1.5 0 Td -[(pr)18(ogram )-50(is )-50(installed )-50(set-user)18(-ID )-50(to )-50(user)]TJ -/TT1 1 Tf -17.831 0 Td -(daemon)Tj -/T1_0 1 Tf -0.5503 Tc (.O)Tj -0.3003 Tc 5.186 0 Td -(nF)Tj --0.018 Tc 1.438 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eBSD )-50(8.0, )-50(Mac)]TJ --35.621 -1.25 Td -[(OS )-65(X )-65(10.6.8, )-65(and )-65(Solaris )-65(10, )-65(the)]TJ -/TT1 1 Tf -14.237 0 Td -(at)Tj -/T1_0 1 Tf -1.515 0 Td -[(pr)18(ogram )-65(is )-65(installed )-65(set-user)18(-ID )-65(to )-65(user)]TJ -/TT1 1 Tf -17.921 0 Td -(root)Tj -/T1_0 1 Tf -0.5653 Tc (.T)Tj -0 Tc 3.828 0 Td -[(his )-65(allows)]TJ --37.502 -1.25 Td -(the)Tj -/TT1 1 Tf -1.719 0 Td -(at)Tj -/T1_0 1 Tf -1.532 0 Td -[(command )-82(to )-82(write )-82(privileged )-82(\336les )-82(owned )-82(by )-82(the )-82(daemon )-82(that )-82(will )-82(r)8(un )-82(the )-82(commands)]TJ --3.252 -1.25 Td -[(on )-76(behalf )-76(of )-76(the )-76(user )-76(r)10(unning )-75(the)]TJ -/TT1 1 Tf -15.282 0 Td -(at)Tj -/T1_0 1 Tf -1.525 0 Td -[(command. )-325(On)-326(Linux )-75(3.2.0, )-75(the )-75(pr)18(ograms )-75(ar)]TJ -0.3255 Tc 19.669 0 Td -(er)Tj -0 Tc 1.192 0 Td -[(un )-75(by )-75(the)]TJ -/TT1 1 Tf --37.668 -1.25 Td -(atd)Tj -/T1_0 1 Tf -1.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(8)Tj -0.5 0.04 Td -(\))Tj -0.833 -0.04 Td -[(daemon. )-499(On)-500(Fr)18(eeBSD )-249(8.0 )-249(and )-249(Solaris )-249(10, )-249(the )-249(pr)15(ograms )-250(ar)]TJ -0.4996 Tc 27.477 0 Td -(er)Tj -0 Tc 1.366 0 Td -[(un )-250(by )-250(the)]TJ -/TT1 1 Tf -5.18 0 Td -(cron)Tj -/T1_0 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1M)Tj -1.446 0.04 Td -(\))Tj --41.667 -1.29 Td -[(daemon. )-250(On)-250(Mac OS X 10.6.8, the pr)18(ograms ar)]TJ -0.25 Tc 20.633 0 Td -(er)Tj -0 Tc 1.116 0 Td -(un by the)Tj -/TT1 1 Tf -4.431 0 Td -(launchd)Tj -/T1_0 1 Tf -4.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(8)Tj -0.5 0.04 Td -(\))Tj -0.583 -0.04 Td -(daemon.)Tj --0.092 Tc 9.9994 0 0 9.9994 147.5909 522.3687 Tm -[(To )-256(p)]TJ --0.018 Tc 1.99 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(vent )-72(being )-72(tricked )-72(into )-72(r)8(unning )-72(commands )-72(that )-72(we )-72(ar)18(en\325t )-72(allowed )-72(to )-72(r)8(un, )-72(or)]TJ --0.018 Tc -4.646 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading )-214(or )-214(writing )-214(\336les )-214(that )-214(we )-214(ar)18(en\325t )-214(allowed )-214(to )-214(access, )-214(the)]TJ -/TT1 1 Tf -28.023 0 Td -(at)Tj -/T1_0 1 Tf -1.664 0 Td -[(command )-214(and )-214(the)]TJ --30.543 -1.2 Td -[(daemon )-71(that )-71(ultimately )-71(r)8(uns )-71(the )-71(commands )-71(on )-71(our )-71(behalf )-71(have )-71(to )-71(switch )-71(between )-71(sets)]TJ -0 -1.2 TD -[(of privileges: ours and those of the daemon.)-500(The following steps take place.)]TJ -1.8 -2.16 Td -[(1. )-633(Assuming)-278(that )-28(the)]TJ -/TT1 1 Tf -10.13 0 Td -(at)Tj -/T1_0 1 Tf -1.478 0 Td -[(pr)18(ogram )-28(\336le )-28(is )-28(owned )-28(by)]TJ -/TT1 1 Tf -11.501 0 Td -(root)Tj -/T1_0 1 Tf -2.678 0 Td -[(and )-28(has )-28(its )-28(set-user)18(-ID )-28(bit)]TJ --24.154 -1.2 Td -[(set, when we r)8(un it, we have)]TJ --0.018 Tc 6.159 -1.68 Td -(re)Tj -0 Tc 0.856 0 Td -[(al user ID =)-500(our user ID \(unchanged\))]TJ --2.92 -1.2 Td -[(ef)18(fective user ID =)]TJ -/TT1 1 Tf -8.579 0 Td -(root)Tj -/T1_0 1 Tf --9.074 -1.2 Td -[(saved set-user)18(-ID =)]TJ -/TT1 1 Tf -9.074 0 Td -(root)Tj -/T1_0 1 Tf --14.307 -2.08 Td -[(2. )-633(The)-283(\336rst )-33(thing )-33(the)]TJ -/TT1 1 Tf -9.911 0 Td -(at)Tj -/T1_0 1 Tf -1.483 0 Td -[(command )-33(does )-33(is )-33(r)18(educe )-33(its )-33(privileges )-33(so )-33(that )-33(it )-33(r)8(uns )-33(with)]TJ --9.761 -1.2 Td -[(our )-80(privileges.)-579(It )-80(calls )-80(the)]TJ -/TT1 1 Tf -12.065 0 Td -(seteuid)Tj -/T1_0 1 Tf -4.53 0 Td -[(function )-80(to )-80(set )-80(the )-80(ef)18(fective )-80(user )-80(ID )-80(to )-80(our)]TJ --0.018 Tc -16.595 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(al user ID.)-500(After this, we have)]TJ --0.018 Tc 5.303 -1.68 Td -(re)Tj -0 Tc 0.856 0 Td -[(al user ID =)-500(our user ID \(unchanged\))]TJ --2.92 -1.2 Td -[(ef)18(fective user ID =)-500(our user ID)]TJ --0.495 -1.2 Td -[(saved set-user)18(-ID =)]TJ -/TT1 1 Tf -9.074 0 Td -(root)Tj -/T1_0 1 Tf -2.65 0 Td -(\(unchanged\))Tj --16.957 -2.08 Td -[(3. )-633(The)]TJ -/TT1 1 Tf -4.026 0 Td -(at)Tj -/T1_0 1 Tf -1.919 0 Td -[(pr)18(ogram )-469(r)8(uns )-469(with )-469(our )-469(privileges )-469(until )-469(it )-469(needs )-469(to )-469(access )-469(the)]TJ --4.313 -1.2 Td -[(con\336guration )-106(\336les )-106(that )-106(contr)18(ol )-106(which )-106(commands )-106(ar)20(e)-356(to)-356(be)-356(r)9(un )-106(and )-106(the )-106(time )-106(at)]TJ -T* -[(which )-51(they )-51(need )-51(to )-51(r)8(un. )-301(These)-301(\336les )-51(ar)]TJ -0.301 Tc 17.131 0 Td -(eo)Tj -0 Tc 1.326 0 Td -[(wned )-51(by )-51(the )-51(daemon )-51(that )-51(will )-51(r)8(un )-51(the)]TJ --18.457 -1.2 Td -[(commands )-74(for )-74(us.)-573(The)]TJ -/TT1 1 Tf -10.643 0 Td -(at)Tj -/T1_0 1 Tf -1.524 0 Td -[(command )-74(calls)]TJ -/TT1 1 Tf -7.047 0 Td -(seteuid)Tj -/T1_0 1 Tf -4.524 0 Td -[(to )-74(set )-74(the )-74(ef)18(fective )-74(user )-74(ID)]TJ --23.737 -1.2 Td -(to)Tj -/TT1 1 Tf -1.339 0 Td -(root)Tj -/T1_0 1 Tf -0.7168 Tc (.T)Tj -0 Tc 3.98 0 Td -[(his )-217(call )-217(is )-217(allowed )-217(because )-217(the )-217(ar)19(gument )-217(to)]TJ -/TT1 1 Tf -20.871 0 Td -(seteuid)Tj -/T1_0 1 Tf -4.667 0 Td -[(equals )-217(the)]TJ --30.856 -1.2 Td -[(saved )-85(set-user)18(-ID. )-335(\(This)-335(is )-85(why )-85(we )-85(need )-85(the )-85(saved )-85(set-user)18(-ID.\) )-335(After)-335(this, )-85(we)]TJ --0 -1.2 Td -(have)Tj --0.018 Tc 6.159 -1.68 Td -(re)Tj -0 Tc 0.856 0 Td -[(al user ID =)-500(our user ID \(unchanged\))]TJ --2.92 -1.2 Td -[(ef)18(fective user ID =)]TJ -/TT1 1 Tf -8.579 0 Td -(root)Tj -/T1_0 1 Tf --9.074 -1.2 Td -[(saved set-user)18(-ID =)]TJ -/TT1 1 Tf -9.074 0 Td -(root)Tj -/T1_0 1 Tf -2.65 0 Td -(\(unchanged\))Tj --15.324 -1.8 Td -[(Because the ef)18(fective user ID is)]TJ -/TT1 1 Tf -13.865 0 Td -(root)Tj -/T1_0 1 Tf -0.25 Tc (,\336)Tj -0 Tc 3.505 0 Td -(le access is allowed.)Tj --19.003 -2.08 Td -[(4. )-633(After)-357(the )-107(\336les )-107(ar)]TJ -0.3574 Tc 9.079 0 Td -(em)Tj -0 Tc 1.719 0 Td -[(odi\336ed )-107(to )-107(r)17(ecor)]TJ -0.3574 Tc 6.953 0 Td -(dt)Tj -0 Tc 1.294 0 Td -[(he )-107(commands )-107(to )-107(be )-107(r)8(un )-107(and )-107(the )-107(time )-107(at)]TJ --17.413 -1.2 Td -[(which )-237(they )-237(ar)19(e)-487(to)-487(be)-487(r)9(un, )-237(the)]TJ -/TT1 1 Tf -14.552 0 Td -(at)Tj -/T1_0 1 Tf -1.687 0 Td -[(command )-237(lowers )-237(its )-237(privileges )-237(by )-237(calling)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47560 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(598)Tj -/T1_1 1 Tf -3.5 0 Td -[(Network )-250(IPC: )-250(Sockets)]TJ -38.741 0 Td -[(Chapter )-250(16)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -(an get network names and numbers with a similar set of interfaces.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 649.861 Tm -(#include )Tj -0 -1.902 TD -(struct netent *getnetbyaddr\(uint32_t)Tj -/T1_2 1 Tf -22.2 0 Td -(net)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.078 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(type)Tj -/TT0 1 Tf -(\);)Tj --27.078 -1.902 Td -(struct netent *getnetbyname\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -0 -1.902 Td -(struct netent *getnetent\(void\);)Tj -/T1_1 1 Tf -21.885 -1.902 Td -[(All r)18(eturn: pointer if OK,)]TJ -/TT0 1 Tf -11.228 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --35.763 -1.902 Td -(void setnetent\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(stayopen)Tj -/TT0 1 Tf -(\);)Tj --11.4 -1.902 Td -(void endnetent\(void\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5427.25 cm -0 0 m -0 1162 l -3900 1162 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 526.7168 Tm -(The)Tj -/TT0 1 Tf -1.924 0 Td -(netent)Tj -/T1_1 1 Tf -3.85 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(ontains at least the following \336elds:)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 508.949 Tm -(struct netent {)Tj -1.2 -1.189 Td -[(char )-2400(*n_name;)-3600(/* network name */)]TJ -0 -1.189 TD -[(char )-1800(**n_aliases;)-1800(/* alternate network name array pointer */)]TJ -T* -[(int )-3600(n_addrtype;)-1200(/* address type */)]TJ -T* -[(uint32_t )-600(n_net;)-4200(/* network number */)]TJ -0 -1.189 TD -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 417.13 Tm -[(The )-54(network )-54(number )-54(is )-54(r)18(eturned )-54(in )-54(network )-54(byte )-54(or)20(der)]TJ -0.5538 Tc 24.723 0 Td -(.T)Tj -0 Tc 1.417 0 Td -[(he )-54(addr)18(ess )-54(type )-54(is )-54(one )-54(of )-54(the)]TJ --26.14 -1.2 Td -[(addr)18(ess family constants \()]TJ -/TT0 1 Tf -(AF_INET)Tj -/T1_1 1 Tf -0.25 Tc (,f)Tj -0 Tc 16.55 0 Td -(or example\).)Tj --0.092 Tc -14.75 -1.2 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -[(an map between pr)18(otocol names and numbers with the following functions.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5826 374.0351 Tm -(#include )Tj -0 -1.902 TD -(struct protoent *getprotobyname\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -0 -1.902 Td -(struct protoent *getprotobynumber\(int)Tj -/T1_2 1 Tf -22.8 0 Td -[(pr)18(oto)]TJ -/TT0 1 Tf -(\);)Tj --22.8 -1.902 Td -(struct protoent *getprotoent\(void\);)Tj -/T1_1 1 Tf -21.885 -1.902 Td -[(All r)18(eturn: pointer if OK,)]TJ -/TT0 1 Tf -11.228 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --35.763 -1.902 Td -(void setprotoent\(int)Tj -/T1_2 1 Tf -12.6 0 Td -(stayopen)Tj -/TT0 1 Tf -(\);)Tj --12.6 -1.902 Td -(void endprotoent\(void\);)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2668.25 cm -0 0 m -0 1163 l -3900 1163 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 250.9148 Tm -(The)Tj -/TT0 1 Tf -1.924 0 Td -(protoent)Tj -/T1_1 1 Tf -5.05 0 Td -[(str)8(uctur)18(e)-250(as)-250(de\336ned by POSIX.1 has at least the following members:)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.573 233.1477 Tm -(struct protoent {)Tj -1.2 -1.189 Td -[(char )-1200(*p_name;)-3000(/* protocol name */)]TJ -0 -1.189 TD -[(char )-600(**p_aliases; )-600(/*)-600(pointer to alternate protocol name array */)]TJ -0 -1.189 TD -[(int )-2400(p_proto;)-2400(/* protocol number */)]TJ -0 -1.189 TD -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9982 0 0 9.9982 147.573 152.0326 Tm -[(Services )-39(ar)]TJ -0.2893 Tc 4.768 0 Td -(er)Tj -0 Tc 1.145 0 Td -[(epr)18(esented )-39(by )-39(the )-39(port )-39(number )-39(portion )-39(of )-39(the )-39(addr)16(ess. )-289(Each)-290(service )-39(is)]TJ --7.714 -1.2 Td -[(of)18(fer)18(ed )-123(on )-123(a )-123(unique, )-123(well-known )-123(port )-123(number)]TJ -0.6226 Tc 20.989 0 Td -(.W)Tj -0.3726 Tc 1.781 0 Td -(ec)Tj -0 Tc 1.296 0 Td -[(an )-123(map )-123(a )-123(service )-123(name )-123(to )-123(a )-123(port)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47561 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(983)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 151.1909 670.9597 Tm -(732, 742, 805)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(806, 816)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(817, 928)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(929, 933,)Tj --14.499 -1.25 Td -(936, 939, 942)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(502)]TJ --1.35 -1.25 Td -(Seltzer)Tj -0.25 Tc 2.921 0 Td -(,M)Tj -0 Tc 1.446 0 Td -[(., )-250(744,)-250(952)]TJ --4.367 -1.25 Td -[(semaphor)18(e, )-250(57,)-250(534, 565)]TJ -10.704 0.09 Td -(\320)Tj -0.583 -0.09 Td -(571)Tj --9.938 -1.25 Td -[(adjustment on exit,)-500(570)]TJ -10.541 0.09 Td -(\320)Tj -0.583 -0.09 Td -(571)Tj --11.125 -1.25 Td -[(locking timing comparison,)-500(571, 583)]TJ -/TT0 1 Tf --1.35 -1.25 Td -()Tj -/T1_0 1 Tf -8.217 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --12.439 -1.25 Td -(sembuf)Tj -/T1_0 1 Tf -4.017 0 Td -[(str)8(uctur)18(e, )-250(568)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(569)Tj -/TT0 1 Tf --10.902 -1.25 Td -(sem_close)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(580,)-250(584)]TJ --4.467 -1.25 Td -[(de\336nition of,)-500(580)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(semctl)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(558,)-250(562, 566)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(568, 570)Tj --13.29 -1.25 Td -[(de\336nition of,)-500(567)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(sem_destroy)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(582)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(582)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(SEM_FAILED)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(584)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(semget)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(557)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(558, 566)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(567)Tj --13.457 -1.25 Td -[(de\336nition of,)-500(567)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(sem_getvalue)Tj -/T1_0 1 Tf -7.617 0 Td -[(function, )-250(582)]TJ --6.267 -1.25 Td -[(de\336nition of,)-500(582)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(semid_ds)Tj -/T1_0 1 Tf -5.217 0 Td -[(str)8(uctur)18(e, )-250(566)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(568)Tj -/TT0 1 Tf --12.102 -1.25 Td -(sem_init)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(582)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(582)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(SEM_NSEMS_MAX)Tj -/T1_0 1 Tf -8.217 0 Td -[(constant, )-250(40,)-250(43)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(semop)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(452,)-250(559, 567)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(570)Tj --12.69 -1.25 Td -[(de\336nition of,)-500(568)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(sem_open)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(579)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(580, 582, 584)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(579)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(sem_post)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(331,)-250(581)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(582, 584)Tj --12.49 -1.25 Td -[(de\336nition of,)-500(582)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(sem_t)Tj -/T1_0 1 Tf -3.417 0 Td -[(str)8(uctur)18(e, )-250(582)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(sem_timedwait)Tj -/T1_0 1 Tf -8.217 0 Td -[(function, )-250(451,)-250(581)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(582)Tj --15.49 -1.25 Td -[(de\336nition of,)-500(581)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(sem_trywait)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(581,)-250(584)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(semun)Tj -/T1_0 1 Tf -3.417 0 Td -[(union, )-250(567)]TJ -4.937 0.09 Td -(\320)Tj -0.583 -0.09 Td -(568)Tj -/TT0 1 Tf --8.937 -1.25 Td -(SEM_UNDO)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(569)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(570, 580, 583)Tj -/TT0 1 Tf --11.863 -1.25 Td -(sem_unlink)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(580)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(581, 584)Tj --11.69 -1.25 Td -[(de\336nition of,)-500(580)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(SEM_VALUE_MAX)Tj -/T1_0 1 Tf -8.217 0 Td -[(constant, )-250(40,)-250(43, 580)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(sem_wait)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(451,)-250(581)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(582, 584)Tj --12.49 -1.25 Td -[(de\336nition of,)-500(581)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(send)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(331,)-250(451, 592, 610, 616, 626)]TJ -16.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(627)Tj --18.09 -1.25 Td -[(de\336nition of,)-500(610)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(send_err)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(642)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(644, 653, 656)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(657,)Tj --15.307 -1.25 Td -(668)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(669, 897)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(642, 644)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(send_fd)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(642)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(645, 649, 653, 656)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(657,)Tj --16.707 -1.25 Td -(669, 897)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(642, 646, 649)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(sendmsg)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(331,)-250(451, 61)55(1, 613, 644)]TJ -13.985 0.09 Td -(\320)Tj -0.583 -0.09 Td -(646,)Tj --16.485 -1.25 Td -(650, 670)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(61)55(1)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(sendto)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(331,)-250(451, 610)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(61)55(1, 620, 622)]TJ -5.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(623)Tj -6.598 65 Td -[(de\336nition of,)-500(610)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(S_ERROR)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(510)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(serv_accept)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(636)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(638, 641, 648, 659,)Tj --10.94 -1.25 Td -(665, 667)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(668, 897)Tj --5.516 -1.25 Td -[(de\336nition of,)-500(636, 638)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(servent)Tj -/T1_0 1 Tf -4.617 0 Td -[(str)8(uctur)18(e, )-250(599)]TJ --4.617 -1.25 Td -[(Service Access Facility)111(,)]TJ -/T1_2 1 Tf -10.565 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -(SAF)Tj --11.982 -1.25 Td -[(Service Management Facility)111(,)]TJ -/T1_2 1 Tf -13.405 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -(SMF)Tj -/TT0 1 Tf --14.822 -1.25 Td -(serv_listen)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(636)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(637, 659, 664)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(665,)Tj --17.107 -1.25 Td -(667, 670, 897)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(636)]TJ -7.775 0.09 Td -(\320)Tj -0.583 -0.09 Td -(637)Tj --9.709 -1.25 Td -[(session, )-250(295)]TJ -5.503 0.09 Td -(\320)Tj -0.583 -0.09 Td -(296)Tj --4.737 -1.25 Td -[(ID, )-250(233,)-250(252, 296, 31)55(1, 463)]TJ -11.389 0.09 Td -(\320)Tj -0.583 -0.09 Td -(464)Tj --11.973 -1.25 Td -(leader)Tj -0.5 Tc 2.681 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(95)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(297, 31)55(1, 318, 464)]TJ -7.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(466, 469,)Tj --12.359 -1.25 Td -(726)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(727, 742, 944)Tj --3.517 -1.25 Td -[(pr)18(ocess gr)18(oup ID,)-500(304)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(session)Tj -/T1_0 1 Tf -4.617 0 Td -[(str)8(uctur)18(e, )-250(310)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(31)55(1, 318, 464)]TJ --11.502 -1.25 Td -(set)Tj -1.35 -1.25 Td -(descriptor)Tj -0.5 Tc 4.438 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(03, 505, 532, 933)Tj --5.688 -1.25 Td -[(signal, )-250(336,)-250(344)]TJ -6.977 0.09 Td -(\320)Tj -0.583 -0.09 Td -(345, 532, 933)Tj -/TT0 1 Tf --8.911 -1.25 Td -(SETALL)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(568,)-250(570)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(setasync)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, de\336nition of,)-500(939)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(setbuf)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(146)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(147, 150, 171, 175, 247)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(248,)Tj --18.107 -1.25 Td -(701, 930)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(146)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(set_cloexec)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(615,)-250(617, 622, 896)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(480)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setegid)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(258)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(258)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setenv)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(212,)-250(251, 442)]TJ --2.667 -1.25 Td -[(de\336nition of,)-500(212)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(seteuid)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(258)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(260)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(258)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(set_fl)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(86,)-250(482)]TJ -7.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(483, 498, 896, 934)Tj --10.79 -1.25 Td -[(de\336nition of,)-500(85)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setgid)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(256,)-250(258, 288, 331, 816)]TJ --2.667 -1.25 Td -[(de\336nition of,)-500(256)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setgrent)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(183)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(184, 442, 452)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(183)]TJ --1.35 -1.25 Td -[(set-gr)18(oup-ID, )-250(98)]TJ -7.522 0.09 Td -(\320)Tj -0.583 -0.09 Td -(99, 102, 107)Tj -5.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(108, 1)55(10, 129, 140,)]TJ --11.072 -1.25 Td -(233, 253, 317, 496, 546, 723)Tj --1.35 -1.25 Td -[(saved, )-250(56,)-250(98, 257)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(setgroups)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(184)]TJ --4.467 -1.25 Td -[(de\336nition of,)-500(184)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(sethostent)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(452,)-250(597)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(597)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(sethostname)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(189)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(setitimer)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(317,)-250(320, 322, 381)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(_setjmp)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(355,)-250(358)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(setjmp)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(197,)-250(213, 215)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(219, 225, 340, 343,)Tj --11.94 -1.25 Td -(355)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(356, 358, 381, 924)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(215)]TJ -/TT0 1 Tf --1.35 -1.25 Td -()Tj -/T1_0 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47562 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(3.14)]TJ -/TT0 1 Tf -36.903 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.5 0 Td -(Function)Tj -/T1_1 1 Tf -5.93 0 Td -(85)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(operation )-105(of )-105(the )-105(pr)19(ogram, )-105(when )-105(invoked )-105(fr)19(om)]TJ -/TT0 1 Tf -21.368 0 Td -(bash)Tj -/T1_0 1 Tf -2.755 0 Td -[(\(the )-105(Bourne-again )-105(shell\).)-604(Results)]TJ --24.123 -1.2 Td -(will vary)Tj -0.25 Tc 3.862 0 Td -(,d)Tj -0 Tc 1.111 0 Td -(epending on which shell you use.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 639.1917 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out 0 < /dev/tty)Tj -/TT0 1 Tf --1.2 -1.189 Td -(read only)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out 1 > temp.foo)Tj -/TT0 1 Tf --1.2 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(cat temp.foo)Tj -/TT0 1 Tf --1.2 -1.189 Td -(write only)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out 2 2>>temp.foo)Tj -/TT0 1 Tf --1.2 -1.189 Td -(write only, append)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out 5 5<>temp.foo)Tj -/TT0 1 Tf --1.2 -1.189 Td -(read write)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 534.5281 Tm -[(The )-221(clause)]TJ -/TT0 1 Tf -5.357 0 Td -(5<>temp.foo)Tj -/T1_0 1 Tf -7.071 0 Td -[(opens )-221(the )-221(\336le)]TJ -/TT0 1 Tf -6.806 0 Td -(temp.foo)Tj -/T1_0 1 Tf -5.271 0 Td -[(for )-221(r)18(eading )-221(and )-221(writing )-221(on )-221(\336le)]TJ --24.505 -1.2 Td -(descriptor 5.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 5225.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT2 1 Tf -9.9988 0 0 9.9988 93.5888 487.7015 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(When )-196(we )-196(modify )-196(either )-196(the )-196(\336le )-196(descriptor )-196(\337ags )-196(or )-196(the )-196(\336le )-196(status )-196(\337ags, )-196(we )-196(must )-196(be)]TJ -0 -1.2 TD -[(car)18(eful )-101(to )-101(fetch )-101(the )-101(existing )-101(\337ag )-101(value, )-101(modify )-101(it )-101(as )-101(desir)18(ed, )-101(and )-101(then )-101(set )-101(the )-101(new )-101(\337ag)]TJ -T* -[(value. )-295(W)]TJ -0.2947 Tc 4.141 0 Td -(ec)Tj -0 Tc 1.218 0 Td -[(an\325t )-45(simply )-45(issue )-45(an)]TJ -/TT0 1 Tf -9.214 0 Td -(F_SETFD)Tj -/T1_0 1 Tf -4.495 0 Td -[(or )-45(an)]TJ -/TT0 1 Tf -2.612 0 Td -(F_SETFL)Tj -/T1_0 1 Tf -4.495 0 Td -[(command, )-45(as )-45(this )-45(could )-45(turn)]TJ --26.174 -1.2 Td -(of)Tj -0.25 Tc 0.861 0 Td -(f\337)Tj -0 Tc 1.191 0 Td -(ag bits that wer)Tj -0.25 Tc 6.824 0 Td -(ep)Tj --0.018 Tc 1.33 0 Td -(re)Tj -0 Tc 0.856 0 Td -(viously set.)Tj --9.262 -1.2 Td -(Figur)Tj -0.4529 Tc 2.383 0 Td -(e3)Tj -0 Tc 1.432 0 Td -[(.12 )-203(shows )-203(a )-203(function )-203(that )-203(sets )-203(one )-203(or )-203(mor)20(e)-453(of)-453(the )-203(\336le )-203(status )-203(\337ags )-203(for )-203(a)]TJ --5.615 -1.2 Td -[(descriptor)74(.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3953.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 385.7895 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(void)Tj -0 -1.189 TD -(set_fl\(int fd, int flags\) /* flags are file status flags to turn on */\ )Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(val;)]TJ -0 -2.021 TD -(if \(\(val = fcntl\(fd, F_GETFL, 0\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("fcntl F_GETFL error"\);)Tj --2.4 -2.021 Td -[(val |= flags;)-4200(/* turn on flags */)]TJ -0 -2.021 TD -(if \(fcntl\(fd, F_SETFL, val\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("fcntl F_SETFL error"\);)Tj --4.8 -1.189 Td -(})Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2334.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 199.0442 217.3458 Tm -(Figure 3.12)Tj -/T1_0 1 Tf --0.09 Tc 5.695 0 Td -(Tu)Tj -0 Tc 1.126 0 Td -[(rn on one or mor)18(e)-250(of)-250(the \336le status \337ags for a descriptor)]TJ -9.9976 0 0 9.9976 129.5687 192.1519 Tm -(If we change the middle statement to)Tj -/TT0 1 Tf -8.9978 0 0 8.9978 147.5644 174.3862 Tm -[(val &= \367flags;)-3600(/* turn flags off */)]TJ -/T1_0 1 Tf -9.9976 0 0 9.9976 129.5687 155.3205 Tm -[(we )-231(have )-231(a )-231(function )-231(named)]TJ -/TT0 1 Tf -13.108 0 Td -(clr_fl)Tj -/T1_0 1 Tf -0.4814 Tc (,w)Tj -0 Tc 5.165 0 Td -[(hich )-231(we\325ll )-231(use )-231(in )-231(some )-231(later )-231(examples.)-734(This)]TJ --18.273 -1.2 Td -(statement logically ANDs the one\325s complement of)Tj -/TT0 1 Tf -22.737 0 Td -(flags)Tj -/T1_0 1 Tf -3.25 0 Td -[(with the curr)18(ent)]TJ -/TT0 1 Tf -7.376 0 Td -(val)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47563 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.10)]TJ -/TT0 1 Tf -36.579 0 Td -(exec)Tj -/T1_0 1 Tf -2.9 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(251)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(functions, )-20(however)]TJ -0.2704 Tc 8.457 0 Td -(,u)Tj -0 Tc 1.123 0 Td -[(se )-20(the)]TJ -/TT0 1 Tf -2.831 0 Td -(environ)Tj -/T1_0 1 Tf -4.47 0 Td -[(variable )-20(in )-20(the )-20(calling )-20(pr)18(ocess )-20(to )-20(copy )-20(the )-20(existing)]TJ --16.882 -1.2 Td -[(envir)18(onment )-31(for )-31(the )-31(new )-31(pr)17(ogram. )-281(\(Recall)-281(our )-31(discussion )-31(of )-31(the )-31(envir)18(onment )-31(strings )-31(in)]TJ --0 -1.2 Td -[(Section )-4(7.9 )-4(and )-4(Figur)]TJ -0.254 Tc 9.281 0 Td -(e7)Tj -0 Tc 1.233 0 Td -[(.8. )-254(W)]TJ -0.2539 Tc 2.412 0 Td -(em)Tj -0 Tc 1.616 0 Td -[(entioned )-4(that )-4(if )-4(the )-4(system )-4(supported )-4(such )-4(functions )-4(as)]TJ -/TT0 1 Tf --14.542 -1.2 Td -(setenv)Tj -/T1_0 1 Tf -3.95 0 Td -(and)Tj -/TT0 1 Tf -2.043 0 Td -(putenv)Tj -/T1_0 1 Tf -[(,)-350(we)-350(could )-100(change )-100(the )-100(curr)18(ent )-100(envir)18(onment )-100(and )-100(the )-100(envir)19(onment)]TJ --5.993 -1.2 Td -[(of )-35(any )-35(subsequent )-35(child )-35(pr)19(ocesses, )-35(but )-35(we )-35(couldn\325t )-35(af)18(fect )-35(the )-35(envir)18(onment )-35(of )-35(the )-35(par)22(ent)]TJ -0 -1.2 TD -[(pr)18(ocess.\) )-350(Normally)]TJ -0.3504 Tc 8.66 0 Td -(,ap)Tj --0.018 Tc 2.052 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-100(allows )-100(its )-100(envir)18(onment )-100(to )-100(be )-100(pr)16(opagated )-100(to )-100(its )-100(childr)17(en,)]TJ --11.635 -1.2 Td -[(but )-135(in )-135(some )-135(cases, )-135(a )-135(pr)18(ocess )-135(wants )-135(to )-135(specify )-135(a )-135(certain )-135(envir)13(onment )-135(for )-135(a )-135(child.)-637(One)]TJ -0 -1.2 Td -[(example )-310(of )-310(the )-310(latter )-310(is )-310(the)]TJ -/TT0 1 Tf -13.794 0 Td -(login)Tj -/T1_0 1 Tf -3.56 0 Td -[(pr)18(ogram )-310(when )-310(a )-310(new )-310(login )-310(shell )-310(is )-310(initiated.)]TJ --17.354 -1.2 Td -[(Normally)111(,)]TJ -/TT0 1 Tf -4.753 0 Td -(login)Tj -/T1_0 1 Tf -3.321 0 Td -[(cr)18(eates )-71(a )-71(speci\336c )-71(envir)18(onment )-71(with )-71(only )-71(a )-71(few )-71(variables )-71(de\336ned )-71(and)]TJ --8.073 -1.2 Td -[(lets )-21(us, )-21(thr)18(ough )-21(the )-21(shell )-21(start-up )-21(\336le, )-21(add )-21(variables )-21(to )-21(the )-21(envir)17(onment )-21(when )-21(we )-21(log )-21(in.)]TJ -1.8 -1.2 Td -(Befor)Tj -0.25 Tc 2.346 0 Td -(eu)Tj -0 Tc 1.332 0 Td -[(sing ISO C pr)18(ototypes, the ar)18(guments to)]TJ -/TT0 1 Tf -17.981 0 Td -(execle)Tj -/T1_0 1 Tf -3.85 0 Td -(wer)Tj -0.25 Tc 1.69 0 Td -(es)Tj -0 Tc 1.153 0 Td -(hown as)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 531.1982 Tm -(char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 9.344 0 Td -(har *)Tj -/T1_2 1 Tf -[(ar)18(g0)]TJ -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 6.615 0 Td -(.., char *)Tj -/T1_2 1 Tf -[(ar)18(gn)]TJ -/TT0 1 Tf -0.6 Tc (,\()Tj -0 Tc 9.671 0 Td -(char *\)0, char *)Tj -/T1_2 1 Tf -(envp)Tj -/TT0 1 Tf -([])Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5927 512.1295 Tm -[(This )-180(syntax )-180(speci\336cally )-180(shows )-180(that )-180(the )-180(\336nal )-180(ar)15(gument )-180(is )-180(the )-180(addr)18(ess )-180(of )-180(the )-180(array )-180(of)]TJ -T* -[(character )-79(pointers )-79(to )-79(the )-79(envir)18(onment )-79(strings.)-579(The )-79(ISO )-79(C )-79(pr)18(ototype )-79(doesn\325t )-79(show )-79(this,)]TJ -T* -[(as )-141(all )-141(the )-141(command)]TJ -9.015 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-141(ar)18(guments, )-141(the )-141(null )-141(pointer)]TJ -0.391 Tc 14.487 0 Td -(,a)Tj -0 Tc 1.141 0 Td -[(nd )-141(the)]TJ -/T1_2 1 Tf -3.362 0 Td -(envp)Tj -/T1_0 1 Tf -2.336 0 Td -[(pointer )-141(ar)]TJ -0.391 Tc 4.488 0 Td -(es)Tj -0 Tc 1.294 0 Td -(hown)Tj --36.456 -1.2 Td -(with the ellipsis notation \()Tj -/TT0 1 Tf -(...)Tj -/T1_0 1 Tf -(\).)Tj -1.8 -1.2 Td -[(The )-9(ar)18(guments )-9(for )-9(these )-9(seven)]TJ -/TT0 1 Tf -13.793 0 Td -(exec)Tj -/T1_0 1 Tf -2.659 0 Td -[(functions )-9(ar)]TJ -0.2592 Tc 5.267 0 Td -(ed)Tj -0 Tc 1.349 0 Td -[(if)18(\336cult )-9(to )-9(r)18(emember)]TJ -0.5092 Tc 8.719 0 Td -(.T)Tj -0 Tc 1.372 0 Td -[(he )-9(letters)]TJ --34.96 -1.2 Td -[(in )-185(the )-185(function )-185(names )-185(help )-185(somewhat.)-685(The )-185(letter)]TJ -/TT0 1 Tf -23.31 0 Td -(p)Tj -/T1_0 1 Tf -1.035 0 Td -[(means )-185(that )-185(the )-185(function )-185(takes )-185(a)]TJ -/T1_2 1 Tf --24.345 -1.2 Td -(\336lename)Tj -/T1_0 1 Tf -3.721 0 Td -[(ar)18(gument )-109(and )-109(uses )-109(the)]TJ -/TT0 1 Tf -10.751 0 Td -(PATH)Tj -/T1_0 1 Tf -2.759 0 Td -[(envir)18(onment )-109(variable )-109(to )-109(\336nd )-109(the )-109(executable )-109(\336le.)]TJ --17.23 -1.2 Td -[(The )-47(letter)]TJ -/TT0 1 Tf -4.564 0 Td -(l)Tj -/T1_0 1 Tf -0.897 0 Td -[(means )-47(that )-47(the )-47(function )-47(takes )-47(a )-47(list )-47(of )-47(ar)18(guments )-47(and )-47(is )-47(mutually )-47(exclusive)]TJ --5.461 -1.2 Td -[(with )-35(the )-35(letter)]TJ -/TT0 1 Tf -6.571 0 Td -(v)Tj -/T1_0 1 Tf -0.2851 Tc (,w)Tj -0 Tc 1.969 0 Td -[(hich )-35(means )-35(that )-35(it )-35(takes )-35(an)]TJ -/T1_2 1 Tf -12.196 0 Td -[(ar)18(gv)]TJ -/TT0 1 Tf -([])Tj -/T1_0 1 Tf -3.3 0 Td -(vector)Tj -0.5351 Tc 2.681 0 Td -(.F)Tj -0 Tc 1.341 0 Td -(inally)Tj -0.2852 Tc 2.4 0 Td -(,t)Tj -0 Tc 0.861 0 Td -[(he )-35(letter)]TJ -/TT0 1 Tf -3.927 0 Td -(e)Tj -/T1_0 1 Tf -0.885 0 Td -(means)Tj --36.132 -1.2 Td -[(that )-269(the )-269(function )-269(takes )-269(an)]TJ -/T1_2 1 Tf -12.791 0 Td -(envp)Tj -/TT0 1 Tf -([])Tj -/T1_0 1 Tf -3.664 0 Td -[(array )-269(instead )-269(of )-269(using )-269(the )-269(curr)18(ent )-269(envir)17(onment.)]TJ --16.456 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e8)Tj -0 Tc 1.229 0 Td -[(.14 shows the dif)18(fer)18(ences among these seven functions.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1339.25 3757.25 cm -0 0 m -3814 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 149.2621 367.7159 Tm -(Function)Tj -/T1_2 1 Tf -6.983 0 Td -[(pathname )-1797(\336lename)-3630(fd)]TJ -/T1_0 1 Tf -17.425 0 Td -(Ar)Tj -0.25 Tc 1.155 0 Td -(gl)Tj -0 Tc 1.097 0 Td -(ist)Tj -/T1_2 1 Tf -3.587 0 Td -[(ar)18(gv)]TJ -/TT0 1 Tf -[([] )-1492(environ)]TJ -/T1_2 1 Tf -11.335 0 Td -(envp)Tj -/TT0 1 Tf -([])Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1339.25 3637.25 cm -0 0 m -3814 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1339.25 3617.25 cm -0 0 m -3814 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 137.8592 353.6963 Tm -(execl)Tj -/T1_0 1 Tf -16.494 Tc 10.076 0 Td -(\245\245)Tj -0 Tc 28.5 0 Td -(\245)Tj -/TT0 1 Tf --38.576 -1.25 Td -(execlp)Tj -/T1_0 1 Tf -10.794 Tc 15.776 0 Td -(\245\245\245)Tj -/TT0 1 Tf -0 Tc -15.776 -1.25 Td -(execle)Tj -/T1_0 1 Tf -16.494 Tc 10.076 0 Td -(\245\245\245)Tj -/TT0 1 Tf -0 Tc -10.076 -1.25 Td -(execv)Tj -/T1_0 1 Tf -22.194 Tc 10.076 0 Td -(\245\245)Tj -0 Tc 28.5 0 Td -(\245)Tj -/TT0 1 Tf --38.576 -1.25 Td -(execvp)Tj -/T1_0 1 Tf -16.494 Tc 15.776 0 Td -(\245\245)Tj -0 Tc 22.8 0 Td -(\245)Tj -/TT0 1 Tf --38.576 -1.25 Td -(execve)Tj -/T1_0 1 Tf -22.194 Tc 10.076 0 Td -(\245\245)Tj -0 Tc 34.2 0 Td -(\245)Tj -/TT0 1 Tf --44.276 -1.25 Td -(fexecve)Tj -/T1_0 1 Tf -10.794 Tc 21.476 0 Td -(\245\245\245)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1339.25 2897.25 cm -0 0 m -3814 0 l -S -Q -Q -BT -/T1_0 1 Tf -0 Tc 7.9981 0 0 7.9981 137.8509 281.6924 Tm -(\(letter in name\))Tj -/TT0 1 Tf -5.1 Tc 15.779 0 Td -(pflv e)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1339.25 2777.25 cm -0 0 m -3814 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4717.25 2777.25 cm -0 0 m -0 980 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4251.25 2777.25 cm -0 0 m -0 980 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4271.25 2777.25 cm -0 0 m -0 980 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3805.25 2777.25 cm -0 0 m -0 980 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3339.25 2777.25 cm -0 0 m -0 980 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3359.25 2777.25 cm -0 0 m -0 980 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2893.25 2777.25 cm -0 0 m -0 980 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2437.25 2777.25 cm -0 0 m -0 980 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1981.25 2777.25 cm -0 0 m -0 980 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5153.25 2777.25 cm -0 0 m -0 980 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1339.25 2777.25 cm -0 0 m -0 980 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 7.9976 0 0 7.9976 222.7892 259.6821 Tm -(Figure 8.14)Tj -/T1_0 1 Tf -5.695 0 Td -[(Dif)18(fer)18(ences among the seven)]TJ -/TT0 1 Tf -12.96 0 Td -(exec)Tj -/T1_0 1 Tf -2.65 0 Td -(functions)Tj -9.997 0 0 9.997 147.5559 235.6893 Tm -[(Every )-53(system )-53(has )-53(a )-53(limit )-53(on )-53(the )-53(total )-53(size )-53(of )-53(the )-53(ar)18(gument )-53(list )-53(and )-53(the )-53(envir)23(onment)]TJ --1.8 -1.2 Td -[(list. )-285(Fr)18(om )-35(Section )-35(2.5.2 )-35(and )-35(Figur)]TJ -0.2848 Tc 14.887 0 Td -(e2)Tj -0 Tc 1.264 0 Td -[(.8, )-35(this )-35(limit )-35(is )-35(given )-35(by)]TJ -/TT0 1 Tf -10.711 0 Td -(ARG_MAX)Tj -/T1_0 1 Tf -0.5348 Tc (.T)Tj -0 Tc 5.598 0 Td -[(his )-35(value )-35(must)]TJ --32.459 -1.2 Td -[(be )-100(at )-100(least )-100(4,096 )-100(bytes )-100(on )-100(a )-100(POSIX.1 )-100(system.)]TJ --0.092 Tc 20.508 0 Td -[(We )-284(s)]TJ -0 Tc 2.161 0 Td -[(ometimes )-100(encounter )-100(this )-100(limit )-100(when)]TJ --22.669 -1.2 Td -[(using )-145(the )-145(shell\325s )-145(\336lename )-145(expansion )-145(featur)20(e)-394(to)-394(g)-1(enerate )-144(a )-144(list )-144(of )-144(\336lenames.)-644(On )-144(some)]TJ --0 -1.2 Td -(systems, for example, the command)Tj -/TT0 1 Tf -8.9973 0 0 8.9973 147.5558 171.0087 Tm -(grep getrlimit /usr/share/man/*/*)Tj -/T1_0 1 Tf -9.997 0 0 9.997 129.5612 153.0141 Tm -[(can generate a shell err)18(or of the form)]TJ -/TT0 1 Tf -8.9973 0 0 8.9973 147.5558 135.2491 Tm -(Argument list too long)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47564 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(636)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2382 6350 504 288 re -S -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2490 5918 288 144 re -S -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 252.2849 597.2042 Tm -(socket)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -3606 6350 504 288 re -S -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -3714 5918 288 144 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 374.655 597.1683 Tm -(socket)Tj -ET -q -0.99988 0 0 0.99988 0 0 cm -q 1 0 0 1 263.4 635 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -1 j 1 J -q 1 0 0 1 2634 6350 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.99982 0 0 0.99982 0 0 cm -q 1 0 0 1 263.4 606.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -1 j 1 J -q 1 0 0 1 2634 6062 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2634.25 6278.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 385.8 635 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 3858 6350 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 385.8 606.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 3858 6062 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3858.25 6278.25 cm -0 0 m -0 -144 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 238.1862 666.7999 Tm -[(server pr)18(ocess)]TJ -15.462 0 Td -[(client pr)18(ocess)]TJ -/TT0 1 Tf --9.621 -8.725 Td -(sun_path)Tj -/T1_0 1 Tf --7.535 -3.83 Td -(Figure 17.6)Tj -/T1_1 1 Tf -5.695 0 Td -(Client and server sockets befor)Tj -0.25 Tc 13.595 0 Td -(ea)Tj -/TT0 1 Tf -0 Tc (connect)Tj -/T1_1 1 Tf -9.9964 0 0 9.9964 147.547 538.8062 Tm -(Figur)Tj -0.3689 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.348 0 Td -[(7.6 )-119(shows )-119(a )-119(client )-119(pr)18(ocess )-119(and )-119(a )-119(server )-119(pr)18(ocess )-119(befor)]TJ -0.369 Tc 24.101 0 Td -(eac)Tj -0 Tc 2.161 0 Td -[(onnection )-119(exists)]TJ --31.793 -1.2 Td -[(between )-124(the )-124(two.)-624(The )-124(server )-124(has )-124(bound )-124(its )-124(socket )-124(to )-124(a)]TJ -/TT0 1 Tf -25.443 0 Td -(sockaddr_un)Tj -/T1_1 1 Tf -6.974 0 Td -[(addr)18(ess )-124(and )-124(is)]TJ --32.418 -1.2 Td -[(listening )-26(for )-26(connection )-26(r)17(equests. )-276(Figur)]TJ -0.2765 Tc 17.579 0 Td -(e1)Tj -0 Tc 1.256 0 Td -[(7.7 )-27(shows )-27(the )-27(unique )-27(connection )-27(between )-27(the)]TJ --18.834 -1.2 Td -[(client and server after the server has accepted the client\325s connecti\ on r)18(equest.)]TJ -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2562 4450 504 288 re -S -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2202 4018 288 144 re -S -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 223.4061 407.069 Tm -(socket)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -3138 4018 288 144 re -S -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 316.9478 407.0446 Tm -(socket)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -3786 4450 504 288 re -S -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -3894 4018 288 144 re -S -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 392.488 407.0201 Tm -(socket)Tj -ET -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 264.624 445 cm -0 0 m --3.96 -6.264 l --6.48 -3.672 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 2646.24 4450 cm -0 0 m --39.6 -62.64 l --64.8 -36.72 l -h -S -Q -Q -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 234.6 416.2 cm -0 0 m -3.96 6.264 l -6.48 3.672 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 2346 4162 cm -0 0 m -39.6 62.64 l -64.8 36.72 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2594.25 4400.25 cm -0 0 m --196 -188 l -S -Q -Q -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 298.176 445 cm -0 0 m -6.408 -3.672 l -3.888 -6.264 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 2981.76 4450 cm -0 0 m -64.08 -36.72 l -38.88 -62.64 l -h -S -Q -Q -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 328.2 416.2 cm -0 0 m --6.408 3.672 l --3.888 6.264 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 3282 4162 cm -0 0 m --64.08 36.72 l --38.88 62.64 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3033.25 4400.25 cm -0 0 m -196 -188 l -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 403.8 445 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 4038 4450 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 403.8 416.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 4038 4162 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4038.25 4378.25 cm -0 0 m -0 -144 l -S -Q -Q -BT -/T1_1 1 Tf -7.9928 0 0 7.9928 256.0415 476.6108 Tm -[(server pr)18(ocess)]TJ -15.462 0 Td -[(client pr)18(ocess)]TJ -/TT0 1 Tf --15.471 -8.725 Td -(sun_path)Tj -ET -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 328.2 401.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 3282 4018 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 403.8 401.8 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 4038 4018 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3282 4010.8 cm -0 0 m -0 -140.4 l -0 -234 66 -304.8 198 -352.8 c -330 -400.8 456 -400.8 576 -352.8 c -696 -304.8 756 -234 756 -140.4 c -756 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9918 0 0 7.9918 227.4279 336.6564 Tm -(Figure 17.7)Tj -/T1_1 1 Tf -5.695 0 Td -(Client and server sockets after a)Tj -/TT0 1 Tf -14.34 0 Td -(connect)Tj -/T1_1 1 Tf --0.092 Tc 9.9898 0 0 9.9898 147.4497 309.0846 Tm -[(We )-238(w)]TJ -0 Tc 2.525 0 Td -[(ill )-54(now )-54(develop )-54(thr)18(ee )-54(functions )-54(that )-54(can )-54(be )-54(used )-54(to )-54(cr)18(eate )-54(unique )-54(connections)]TJ --4.325 -1.2 Td -[(between )-49(unr)18(elated )-49(pr)18(ocesses )-49(r)8(unning )-49(on )-49(the )-49(same )-49(machine.)-549(These )-49(functions )-49(mimic )-49(the)]TJ -0 -1.2 TD -[(connection-oriented )-118(socket )-118(functions )-118(discussed )-118(in )-118(Section )-118(16.4.)]TJ --0.092 Tc 28.976 0 Td -[(We )-302(u)]TJ -0 Tc 2.358 0 Td -[(se )-118(UNIX )-118(domain)]TJ --31.334 -1.2 Td -[(sockets for the underlying communication mechanism her)18(e.)]TJ -/TT0 1 Tf -8.9908 0 0 8.9908 147.4497 254.0407 Tm -(#include "apue.h")Tj -0 -2.021 TD -(int serv_listen\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -10.654 -2.021 Td -[(Returns: \336le descriptor to listen on if OK, negative value on err)18(or)]TJ -/TT0 1 Tf --10.654 -2.021 Td -(int serv_accept\(int)Tj -/T1_2 1 Tf -12 0 Td -(listenfd)Tj -/TT0 1 Tf -0.6 Tc (,u)Tj -0 Tc 4.801 0 Td -(id_t *)Tj -/T1_2 1 Tf -(uidptr)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --3.149 -2.021 Td -[(Returns: new \336le descriptor if OK, negative value on err)18(or)]TJ -/TT0 1 Tf --13.652 -2.021 Td -(int cli_conn\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -15.797 -2.021 Td -[(Returns: \336le descriptor if OK, negative value on err)18(or)]TJ -ET -q -0.099898 0 0 0.099898 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1406.25 cm -0 0 m -0 1227 l -3900 1227 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47565 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.6)]TJ -31.183 0 Td -[(An )-250(Open )-250(Server)]TJ -0.5 Tc 7.572 0 Td -(,V)Tj -0 Tc 1.361 0 Td -[(ersion )-250(2)]TJ -/T1_1 1 Tf -5.717 0 Td -(667)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(for \(i = 0; i < NALLOC; i++\) {)Tj -2.4 -1.189 Td -(pollfd[i].fd = -1;)Tj -0 -1.189 TD -(pollfd[i].events = POLLIN;)Tj -T* -(pollfd[i].revents = 0;)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(/* obtain fd to listen for client requests on */)Tj -0 -1.189 TD -(if \(\(listenfd = serv_listen\(CS_OPEN\)\) < 0\))Tj -2.4 -1.189 Td -(log_sys\("serv_listen error"\);)Tj --2.4 -1.189 Td -[(client_add\(listenfd, 0\);)-2400(/* we use [0] for listenfd */)]TJ -T* -(pollfd[0].fd = listenfd;)Tj -0 -2.14 TD -(for \( ; ; \) {)Tj -2.4 -1.189 Td -(if \(poll\(pollfd, numfd, -1\) < 0\))Tj -2.4 -1.189 Td -(log_sys\("poll error"\);)Tj --2.4 -2.14 Td -(if \(pollfd[0].revents & POLLIN\) {)Tj -2.4 -1.189 Td -(/* accept new client request */)Tj -0 -1.189 TD -(if \(\(clifd = serv_accept\(listenfd, &uid\)\) < 0\))Tj -2.4 -1.189 Td -(log_sys\("serv_accept error: %d", clifd\);)Tj --2.4 -1.189 Td -(client_add\(clifd, uid\);)Tj -0 -2.14 TD -(/* possibly increase the size of the pollfd array */)Tj -0 -1.189 TD -(if \(numfd == maxfd\))Tj -2.4 -1.189 Td -(pollfd = grow_pollfd\(pollfd, &maxfd\);)Tj --2.4 -1.189 Td -(pollfd[numfd].fd = clifd;)Tj -T* -(pollfd[numfd].events = POLLIN;)Tj -T* -(pollfd[numfd].revents = 0;)Tj -T* -(numfd++;)Tj -T* -(log_msg\("new connection: uid %d, fd %d", uid, clifd\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(for \(i = 1; i < numfd; i++\) {)Tj -2.4 -1.189 Td -(if \(pollfd[i].revents & POLLHUP\) {)Tj -2.4 -1.189 Td -(goto hungup;)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pollfd[i].revents & POLLIN\) {)Tj -0.6 -1.189 Td -(/* read argument buffer from client */)Tj -0 -1.189 TD -(if \(\(nread = read\(pollfd[i].fd, buf, MAXLINE\)\) < 0\) {)Tj -2.4 -1.189 Td -(log_sys\("read error on fd %d", pollfd[i].fd\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(nread == 0\) {)Tj --11.4 -1.189 Td -(hungup:)Tj -12 -1.189 Td -(/* the client closed the connection */)Tj -T* -(log_msg\("closed: uid %d, fd %d",)Tj -1.2 -1.189 Td -(client[i].uid, pollfd[i].fd\);)Tj --1.2 -1.189 Td -(client_del\(pollfd[i].fd\);)Tj -T* -(close\(pollfd[i].fd\);)Tj -T* -(if \(i < \(numfd-1\)\) {)Tj -2.4 -1.189 Td -(/* pack the array */)Tj -T* -(pollfd[i].fd = pollfd[numfd-1].fd;)Tj -T* -(pollfd[i].events = pollfd[numfd-1].events;)Tj -T* -(pollfd[i].revents = pollfd[numfd-1].revents;)Tj -T* -[(i--; )-1800(/*)-600(recheck this entry */)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47566 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.6)]TJ -31.183 0 Td -[(An )-250(Open )-250(Server)]TJ -0.5 Tc 7.572 0 Td -(,V)Tj -0 Tc 1.361 0 Td -[(ersion )-250(2)]TJ -/T1_1 1 Tf -5.717 0 Td -(665)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(for \( ; ; \) {)Tj -2.4 -1.189 Td -[(rset = allset;)-1200(/* rset gets modified each time around */)]TJ -0 -1.189 TD -(if \(\(n = select\(maxfd + 1, &rset, NULL, NULL, NULL\)\) < 0\))Tj -2.4 -1.189 Td -(log_sys\("select error"\);)Tj --2.4 -2.14 Td -(if \(FD_ISSET\(listenfd, &rset\)\) {)Tj -2.4 -1.189 Td -(/* accept new client request */)Tj -T* -(if \(\(clifd = serv_accept\(listenfd, &uid\)\) < 0\))Tj -2.4 -1.189 Td -(log_sys\("serv_accept error: %d", clifd\);)Tj -0.6 Tc -2.4 -1.189 Td -(i=c)Tj -0 Tc 3 0 Td -(lient_add\(clifd, uid\);)Tj --3 -1.189 Td -(FD_SET\(clifd, &allset\);)Tj -T* -(if \(clifd > maxfd\))Tj -2.4 -1.189 Td -[(maxfd = clifd;)-1200(/* max fd for select\(\) */)]TJ --2.4 -1.189 Td -(if \(i > maxi\))Tj -2.4 -1.189 Td -[(maxi = i;)-1800(/* max index in client[] array */)]TJ --2.4 -1.189 Td -(log_msg\("new connection: uid %d, fd %d", uid, clifd\);)Tj -T* -(continue;)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -[(for \(i = 0; i <= maxi; i++\) {)-1800(/* go through client[] array */)]TJ -2.4 -1.189 Td -(if \(\(clifd = client[i].fd\) < 0\))Tj -2.4 -1.189 Td -(continue;)Tj --2.4 -1.189 Td -(if \(FD_ISSET\(clifd, &rset\)\) {)Tj -2.4 -1.189 Td -(/* read argument buffer from client */)Tj -0 -1.189 TD -(if \(\(nread = read\(clifd, buf, MAXLINE\)\) < 0\) {)Tj -2.4 -1.189 Td -(log_sys\("read error on fd %d", clifd\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(nread == 0\) {)Tj -0.6 -1.189 Td -(log_msg\("closed: uid %d, fd %d",)Tj -1.2 -1.189 Td -(client[i].uid, clifd\);)Tj --1.2 -1.189 Td -[(client_del\(clifd\); )-600(/*)-600(client has closed cxn */)]TJ -T* -(FD_CLR\(clifd, &allset\);)Tj -0 -1.189 TD -(close\(clifd\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse {)-2400(/* process client\325s request */)]TJ -0.6 -1.189 Td -(handle_request\(buf, nread, clifd, client[i].uid\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2632.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 240.4431 247.1493 Tm -(Figure 17.29)Tj -/T1_0 1 Tf -6.195 0 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(loop)Tj -/T1_0 1 Tf -2.65 0 Td -(function using)Tj -/TT0 1 Tf -6.663 0 Td -(select)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5826 219.5527 Tm -[(This )-121(function )-121(calls)]TJ -/TT0 1 Tf -8.681 0 Td -(serv_listen)Tj -/T1_0 1 Tf -6.971 0 Td -(\(Figur)Tj -0.3715 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.351 0 Td -[(7.8\) )-121(to )-121(cr)17(eate )-121(the )-121(server)-74(\325s )-121(endpoint )-121(for)]TJ --21.52 -1.2 Td -[(the )-59(client )-59(connections.)-559(The )-59(r)18(emainder )-59(of )-59(the )-59(function )-59(is )-59(a )-59(loop )-59(that )-59(starts )-59(with )-59(a )-59(call )-59(to)]TJ -/TT0 1 Tf -0 -1.2 TD -(select)Tj -/T1_0 1 Tf -0.5 Tc (.T)Tj -0 Tc 4.873 0 Td -[(wo conditions can be tr)8(ue after)]TJ -/TT0 1 Tf -13.909 0 Td -(select)Tj -/T1_0 1 Tf --0.018 Tc 3.85 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns.)Tj --21.688 -1.68 Td -[(1. )-633(The)-404(descriptor)]TJ -/TT0 1 Tf -8.627 0 Td -(listenfd)Tj -/T1_0 1 Tf -5.204 0 Td -[(can )-154(be )-154(r)18(eady )-154(for )-154(r)17(eading, )-154(which )-154(means )-154(that )-154(a )-154(new)]TJ --12.199 -1.2 Td -[(client )-25(has )-25(called)]TJ -/TT0 1 Tf -7.361 0 Td -(cli_conn)Tj -/T1_0 1 Tf -0.5254 Tc (.T)Tj -0.2754 Tc 6.096 0 Td -(oh)Tj -0 Tc 1.403 0 Td -[(andle )-25(this, )-25(we )-25(call)]TJ -/TT0 1 Tf -8.277 0 Td -(serv_accept)Tj -/T1_0 1 Tf -6.876 0 Td -(\(Figur)Tj -0.2755 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.254 0 Td -(7.9\))Tj --33.984 -1.2 Td -[(and )-42(then )-42(update )-42(the)]TJ -/TT0 1 Tf -9.337 0 Td -(client)Tj -/T1_0 1 Tf -3.892 0 Td -[(array )-42(and )-42(associated )-42(bookkeeping )-42(information )-42(for)]TJ --13.229 -1.2 Td -[(the )-165(new )-165(client.)-664(\(W)]TJ -0.4147 Tc 8.68 0 Td -(ek)Tj -0 Tc 1.45 0 Td -[(eep )-165(track )-165(of )-165(the )-165(highest )-165(descriptor )-165(number )-165(for )-165(the )-165(\336rst)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47567 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(664)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(IPC)]TJ -38.741 0 Td -[(Chapter )-250(17)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -[(Client )-600(*client)]TJ -0.6 Tc 9.6 0 Td -(=N)Tj -0 Tc 1.8 0 Td -(ULL;)Tj --11.4 -2.14 Td -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(c;)]TJ -0 -2.14 TD -(log_open\("open.serv", LOG_PID, LOG_USER\);)Tj -0 -2.14 TD -[(opterr = 0;)-3000(/* don\325t want getopt\(\) writing to stderr */)]TJ -0 -1.189 TD -(while \(\(c = getopt\(argc, argv, "d"\)\) != EOF\) {)Tj -2.4 -1.189 Td -(switch \(c\) {)Tj -T* -[(case \325d\325:)-4200(/* debug */)]TJ -2.4 -1.189 Td -(debug = log_to_stderr = 1;)Tj -T* -(break;)Tj --2.4 -2.14 Td -(case \325?\325:)Tj -2.4 -1.189 Td -(err_quit\("unrecognized option: -%c", optopt\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(if \(debug == 0\))Tj -2.4 -1.189 Td -(daemonize\("opend"\);)Tj --2.4 -2.14 Td -[(loop\(\); )-2400(/*)-600(never returns */)]TJ --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4108.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 236.5916 394.7916 Tm -(Figure 17.28)Tj -/T1_1 1 Tf -6.195 0 Td -(The server)Tj -/TT0 1 Tf -4.911 0 Td -(main)Tj -/T1_1 1 Tf -2.65 0 Td -(function, version 2)Tj -9.9988 0 0 9.9988 147.5824 367.1949 Tm -[(The )-182(function)]TJ -/TT0 1 Tf -6.245 0 Td -(loop)Tj -/T1_1 1 Tf -2.832 0 Td -[(is )-182(the )-182(server)-74(\325s )-182(in\336nite )-182(loop.)]TJ --0.092 Tc 13.416 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-182(show )-182(two )-182(versions )-182(of )-182(this)]TJ --25.679 -1.2 Td -[(function. )-261(Figur)]TJ -0.2614 Tc 6.851 0 Td -(e1)Tj -0 Tc 1.24 0 Td -[(7.29 )-11(shows )-11(one )-11(version )-11(that )-11(uses)]TJ -/TT0 1 Tf -14.681 0 Td -(select)Tj -/T1_1 1 Tf -0.2613 Tc (;F)Tj -0 Tc 4.667 0 Td -(igur)Tj -0.2613 Tc 1.827 0 Td -(e1)Tj -0 Tc 1.24 0 Td -[(7.30 )-11(shows )-11(another)]TJ --30.507 -1.2 Td -(version that uses)Tj -/TT0 1 Tf -7.696 0 Td -(poll)Tj -/T1_1 1 Tf -(.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3360.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 326.4792 Tm -[(#include )-1800("opend.h")]TJ -0 -1.189 TD -[(#include )-1800()]TJ -0 -2.14 TD -(void)Tj -0 -1.189 TD -(loop\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-2400(i,)-600(n, maxfd, maxi, listenfd, clifd, nread;)]TJ -0 -1.189 TD -[(char )-1800(buf[MAXLINE];)]TJ -T* -[(uid_t )-1200(uid;)]TJ -T* -[(fd_set )-600(rset,)-600(allset;)]TJ -0 -2.14 TD -(FD_ZERO\(&allset\);)Tj -T* -(/* obtain fd to listen for client requests on */)Tj -0 -1.189 TD -(if \(\(listenfd = serv_listen\(CS_OPEN\)\) < 0\))Tj -2.4 -1.189 Td -(log_sys\("serv_listen error"\);)Tj --2.4 -1.189 Td -(FD_SET\(listenfd, &allset\);)Tj -0 -1.189 TD -(maxfd = listenfd;)Tj -0 -1.189 TD -(maxi = -1;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47568 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.10)]TJ -35.018 0 Td -[(POSIX )-250(Semaphor)18(es)]TJ -/T1_1 1 Tf -10.815 0 Td -(581)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(The)Tj -/TT0 1 Tf -2.043 0 Td -(sem_unlink)Tj -/T1_0 1 Tf -6.369 0 Td -[(function )-119(r)18(emoves )-119(the )-119(name )-119(of )-119(the )-119(semaphor)20(e. )-369(If)-368(ther)]TJ -0.3687 Tc 24.312 0 Td -(ea)Tj --0.018 Tc 1.348 0 Td -[(re )-155(n)]TJ -0.3686 Tc 1.807 0 Td -(oo)Tj -0 Tc 1.461 0 Td -(pen)Tj --0.018 Tc -37.338 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(ences )-169(to )-169(the )-169(semaphor)17(e, )-169(then )-169(it )-169(is )-169(destr)16(oyed. )-419(Otherwise,)-420(destr)8(uction )-169(is )-169(deferr)17(ed)]TJ --0.856 -1.2 Td -[(until the last open r)18(efer)18(ence is closed.)]TJ -1.8 -1.2 Td -[(Unlike with XSI semaphor)18(es, we can only adjust the value of a POSIX semaphor)]TJ -0.25 Tc 35.362 0 Td -(eb)Tj -0 Tc 1.282 0 Td -(y)Tj --38.444 -1.2 Td -[(one )-6(with )-6(a )-6(single )-6(function )-6(call.)-507(Decr)18(ementing )-6(the )-6(count )-6(is )-6(analogous )-6(to )-6(locking )-6(a )-6(binary)]TJ --0 -1.2 Td -[(semaphor)18(e)-250(or)-250(acquiring a r)18(esour)18(ce associated with a counting semaphor)18(e.)]TJ -7.9995 0 0 7.9995 183.5888 588.9647 Tm -[(Note )-47(that )-47(ther)17(e)-297(is)-297(no)-297(d)-1(istinction )-47(of )-47(semaphor)]TJ -0.2974 Tc 20.069 0 Td -(et)Tj -0 Tc 1.102 0 Td -[(ype )-47(with )-47(POSIX )-47(semaphor)17(es. )-297(Whether)-298(we )-47(use)]TJ -0.4923 Tc -21.171 -1.25 Td -(ab)Tj -0 Tc 1.545 0 Td -[(inary )-242(semaphor)18(e)-492(or)-492(a)-492(c)-1(ounting )-242(semaphor)]TJ -0.4923 Tc 19.419 0 Td -(ed)Tj -0 Tc 1.582 0 Td -[(epends )-242(on )-242(how )-242(we )-242(initialize )-242(and )-242(use )-242(the)]TJ --22.547 -1.25 Td -[(semaphor)18(e. )-410(If)]TJ -0.4101 Tc 6.861 0 Td -(as)Tj -0 Tc 1.334 0 Td -(emaphor)Tj -0.4101 Tc 3.968 0 Td -(eo)Tj -0 Tc 1.435 0 Td -[(nly )-160(ever )-160(has )-160(a )-160(value )-160(of )-160(0 )-160(or )-160(1, )-160(then )-160(it )-160(is )-160(a )-160(binary )-160(semaphor)16(e.)]TJ --13.599 -1.25 Td -[(When )-18(a )-18(binary )-18(semaphor)]TJ -0.268 Tc 11.216 0 Td -(eh)Tj -0 Tc 1.329 0 Td -[(as )-18(a )-18(value )-18(of )-18(1, )-18(we )-18(say )-18(that )-18(it )-18(is )-18(\324)37(\324unlocked;\325)]TJ -0.268 Tc 19.152 0 Td -(\325w)Tj -0 Tc 1.38 0 Td -[(hen )-18(it )-18(has )-18(a )-18(value )-18(of)]TJ --33.077 -1.25 Td -[(0, we say that it is \324)37(\324locked.\325)37(\325)]TJ --0.092 Tc 9.9994 0 0 9.9994 147.5907 528.9683 Tm -[(To )-482(d)]TJ -0 Tc 2.226 0 Td -[(ecr)18(ement )-298(the )-298(value )-298(of )-298(a )-298(semaphor)18(e, )-298(we )-298(can )-298(use )-298(either )-298(the)]TJ -/TT0 1 Tf -28.685 0 Td -(sem_wait)Tj -/T1_0 1 Tf -5.348 0 Td -(or)Tj -/TT0 1 Tf --38.059 -1.2 Td -(sem_trywait)Tj -/T1_0 1 Tf -6.85 0 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5908 494.2703 Tm -(#include )Tj -0 -1.902 TD -(int sem_trywait\(sem_t *)Tj -/T1_2 1 Tf -(sem)Tj -/TT0 1 Tf -(\);)Tj --0 -1.902 Td -(int sem_wait\(sem_t *)Tj -/T1_2 1 Tf -(sem)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -25.251 -1.902 Td -[(Both r)18(eturn: 0 if OK,)]TJ -/TT1 1 Tf -9.213 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4384.25 cm -0 0 m -0 649 l -3900 649 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.055 Tc 9.9988 0 0 9.9988 129.5844 424.889 Tm -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-196(the)]TJ -/TT0 1 Tf -3.188 0 Td -(sem_wait)Tj -/T1_0 1 Tf -5.246 0 Td -[(function, )-196(we )-196(will )-196(block )-196(if )-196(the )-196(semaphor)]TJ -0.4465 Tc 18.449 0 Td -(ec)Tj -0 Tc 1.369 0 Td -[(ount )-196(is )-196(0.)]TJ --0.092 Tc 5.111 0 Td -[(We )-381(w)]TJ -0 Tc 2.668 0 Td -(on\325t)Tj --0.018 Tc -37.268 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-69(until )-69(we )-69(have )-69(successfully )-69(decr)20(emented )-68(the )-68(semaphor)]TJ -0.3185 Tc 26.513 0 Td -(ec)Tj -0 Tc 1.241 0 Td -[(ount )-68(or )-68(ar)]TJ -0.3185 Tc 4.512 0 Td -(ei)Tj -0 Tc 1.089 0 Td -[(nterr)8(upted)]TJ --34.211 -1.2 Td -(by a signal.)Tj --0.092 Tc 5.503 0 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -(an use the)Tj -/TT0 1 Tf -4.725 0 Td -(sem_trywait)Tj -/T1_0 1 Tf -6.85 0 Td -[(function to avoid blocking.)-500(If the semaphor)17(e)]TJ --19.16 -1.2 Td -[(count )-73(is )-73(zer)]TJ -0.3232 Tc 5.218 0 Td -(ow)Tj -0 Tc 1.703 0 Td -[(hen )-73(we )-73(call)]TJ -/TT0 1 Tf -5.451 0 Td -(sem_trywait)Tj -/T1_0 1 Tf -[(,)-323(it)-323(will )-73(r)18(eturn)]TJ -/TT1 1 Tf -13.228 0 Td -(!)Tj -/T1_0 1 Tf -0.3231 Tc (1w)Tj -0 Tc 2.206 0 Td -(ith)Tj -/TT0 1 Tf -1.522 0 Td -(errno)Tj -/T1_0 1 Tf -3.323 0 Td -[(set )-73(to)]TJ -/TT0 1 Tf -2.747 0 Td -(EAGAIN)Tj -/T1_0 1 Tf --35.4 -1.2 Td -(instead of blocking.)Tj -0.4774 Tc 1.8 -1.2 Td -(At)Tj -0 Tc 1.581 0 Td -(hir)Tj -0.4774 Tc 1.25 0 Td -(da)Tj -0 Tc 1.588 0 Td -[(lternative )-227(is )-227(to )-227(block )-227(for )-227(a )-227(bounded )-227(amount )-227(of )-227(time.)]TJ --0.092 Tc 25.542 0 Td -[(We )-411(c)]TJ -0 Tc 2.308 0 Td -[(an )-227(use )-227(the)]TJ -/TT0 1 Tf --34.07 -1.2 Td -(sem_timedwait)Tj -/T1_0 1 Tf -8.05 0 Td -(function for this purpose.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5826 336.1997 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(int sem_timedwait\(sem_t *restrict)Tj -/T1_2 1 Tf -20.4 0 Td -(sem)Tj -/TT0 1 Tf -(,)Tj --9.6 -1.189 Td -(const struct timespec *restrict)Tj -/T1_2 1 Tf -19.2 0 Td -(tsptr)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --3.149 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2761.25 cm -0 0 m -0 691 l -3900 691 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 262.5527 Tm -(The)Tj -/T1_2 1 Tf -1.954 0 Td -(tsptr)Tj -/T1_0 1 Tf -2.224 0 Td -[(ar)18(gument )-30(speci\336es )-30(the )-30(absolute )-30(time )-30(when )-30(we )-30(want )-30(to )-30(give )-30(up )-30(waiting )-30(for )-30(the)]TJ --4.178 -1.2 Td -[(semaphor)18(e. )-308(The)-307(timeout )-58(is )-58(based )-58(on )-58(the)]TJ -/TT0 1 Tf -18.45 0 Td -(CLOCK_REALTIME)Tj -/T1_0 1 Tf -8.708 0 Td -[(clock )-58(\(r)18(ecall )-58(Figur)]TJ -0.3078 Tc 7.995 0 Td -(e6)Tj -0 Tc 1.287 0 Td -[(.8\). )-308(If)]TJ --36.439 -1.2 Td -[(the )-79(semaphor)]TJ -0.3288 Tc 6.108 0 Td -(ec)Tj -0 Tc 1.252 0 Td -[(an )-79(be )-79(decr)18(emented )-79(immediately)]TJ -0.3288 Tc 14.329 0 Td -(,t)Tj -0 Tc 0.905 0 Td -[(hen )-79(the )-79(value )-79(of )-79(the )-79(timeout )-79(doesn\325t)]TJ --22.594 -1.2 Td -[(matter )167(\321 )167(even)-324(though )-74(it )-74(might )-74(specify )-74(some )-74(time )-74(in )-74(the )-74(past, )-74(the )-74(attempt )-74(to )-74(decr)20(ement)]TJ -0 -1.2 Td -[(the )-14(semaphor)]TJ -0.2636 Tc 6.043 0 Td -(ew)Tj -0 Tc 1.577 0 Td -[(ill )-14(still )-14(succeed.)-513(If )-13(the )-13(timeout )-13(expir)18(es )-13(without )-13(being )-13(able )-13(to )-13(decr)14(ement)]TJ --7.619 -1.2 Td -[(the )-438(semaphor)]TJ -0.6881 Tc 6.467 0 Td -(ec)Tj -0 Tc 1.611 0 Td -[(ount, )-438(then)]TJ -/TT0 1 Tf -5.652 0 Td -(sem_timedwait)Tj -/T1_0 1 Tf -8.488 0 Td -[(will )-438(r)18(eturn)]TJ -/TT1 1 Tf -5.845 0 Td -(!)Tj -/T1_0 1 Tf -0.6882 Tc (1w)Tj -0 Tc 2.571 0 Td -(ith)Tj -/TT0 1 Tf -1.887 0 Td -(errno)Tj -/T1_0 1 Tf -3.688 0 Td -[(set )-438(to)]TJ -/TT0 1 Tf --36.211 -1.2 Td -(ETIMEDOUT)Tj -/T1_0 1 Tf -(.)Tj --0.092 Tc 1.8 -1.2 Td -[(To )-358(i)]TJ -0 Tc 1.782 0 Td -[(ncr)18(ement )-174(the )-174(value )-174(of )-174(a )-174(semaphor)18(e, )-174(we )-174(call )-174(the)]TJ -/TT0 1 Tf -22.515 0 Td -(sem_post)Tj -/T1_0 1 Tf -5.224 0 Td -[(function. )-424(This)-423(is)]TJ --31.321 -1.2 Td -[(analogous )-138(to )-138(unlocking )-138(a )-138(binary )-138(semaphor)19(e)-388(or)-388(r)18(eleasing )-138(a )-138(r)18(esour)18(ce )-138(associated )-138(with )-138(a)]TJ -0 -1.2 Td -[(counting semaphor)18(e.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47569 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(582)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -1.902 TD -(int sem_post\(sem_t *)Tj -/T1_2 1 Tf -(sem)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -26.851 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6195.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 605.9873 Tm -[(If )-125(a )-125(pr)18(ocess )-125(is )-125(blocked )-125(in )-125(a )-125(call )-125(to)]TJ -/TT0 1 Tf -15.804 0 Td -(sem_wait)Tj -/T1_1 1 Tf -5.175 0 Td -(\(or)Tj -/TT0 1 Tf -1.649 0 Td -(sem_timedwait)Tj -/T1_1 1 Tf -0.3747 Tc (\)w)Tj -0 Tc 9.342 0 Td -[(hen )-125(we )-125(call)]TJ -/TT0 1 Tf --33.769 -1.2 Td -(sem_post)Tj -/T1_1 1 Tf -0.771 Tc (,t)Tj -0 Tc 6.147 0 Td -[(he )-521(pr)18(ocess )-521(is )-521(awakened )-521(and )-521(the )-521(semaphor)]TJ -0.771 Tc 21.71 0 Td -(ec)Tj -0 Tc 1.694 0 Td -[(ount )-521(that )-521(was )-521(just)]TJ --29.551 -1.2 Td -[(incr)18(emented by)]TJ -/TT0 1 Tf -7.142 0 Td -(sem_post)Tj -/T1_1 1 Tf -5.05 0 Td -[(is decr)18(emented by)]TJ -/TT0 1 Tf -8.324 0 Td -(sem_wait)Tj -/T1_1 1 Tf -5.05 0 Td -(\(or)Tj -/TT0 1 Tf -1.524 0 Td -(sem_timedwait)Tj -/T1_1 1 Tf -(\).)Tj --25.29 -1.2 Td -[(When )-54(we )-54(want )-54(to )-54(use )-54(POSIX )-54(semaphor)18(es )-54(within )-54(a )-54(single )-54(pr)19(ocess, )-54(it )-54(is )-54(easier )-54(to )-54(use)]TJ --1.8 -1.2 Td -[(unnamed )-470(semaphor)18(es. )-720(This)-720(only )-470(changes )-470(the )-470(way )-470(we )-470(cr)18(eate )-470(and )-470(destr)19(oy )-470(the)]TJ -0 -1.2 Td -[(semaphor)18(e. )-250(T)]TJ -0.25 Tc 6.142 0 Td -(oc)Tj --0.018 Tc 1.24 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ate an unnamed semaphor)18(e, we call the)]TJ -/TT0 1 Tf -17.724 0 Td -(sem_init)Tj -/T1_1 1 Tf -5.05 0 Td -(function.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5826 529.2965 Tm -(#include )Tj -0 -1.902 TD -(int sem_init\(sem_t *)Tj -/T1_2 1 Tf -(sem)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 15.356 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -0.6 Tc (,u)Tj -0 Tc 4.893 0 Td -(nsigned int)Tj -/T1_2 1 Tf -7.2 0 Td -(value)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --2.398 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4906.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 477.0341 Tm -(The)Tj -/T1_2 1 Tf -2.31 0 Td -[(pshar)18(ed)]TJ -/T1_1 1 Tf -3.729 0 Td -[(ar)18(gument )-386(indicates )-386(if )-386(we )-386(plan )-386(to )-386(use )-386(the )-386(semaphor)]TJ -0.6361 Tc 25.412 0 Td -(ew)Tj -0 Tc 1.949 0 Td -[(ith )-386(multiple)]TJ --33.4 -1.2 Td -[(pr)18(ocesses. )-365(If)-365(so, )-115(we )-115(set )-115(it )-115(to )-115(a )-115(nonzer)]TJ -0.3652 Tc 17.107 0 Td -(ov)Tj -0 Tc 1.476 0 Td -[(alue. )-365(The)]TJ -/T1_2 1 Tf -4.777 0 Td -(value)Tj -/T1_1 1 Tf -2.532 0 Td -[(ar)18(gument )-115(speci\336es )-115(the )-115(initial)]TJ --25.892 -1.2 Td -[(value of the semaphor)18(e.)]TJ -1.8 -1.2 Td -[(Instead )-131(of )-131(r)18(eturning )-131(a )-131(pointer )-131(to )-131(the )-131(semaphor)]TJ -0.3814 Tc 21.37 0 Td -(el)Tj -0 Tc 1.151 0 Td -(ike)Tj -/TT0 1 Tf -1.707 0 Td -(sem_open)Tj -/T1_1 1 Tf -5.181 0 Td -[(does, )-131(we )-131(need )-131(to)]TJ --31.21 -1.2 Td -(declar)Tj -0.2907 Tc 2.702 0 Td -(eav)Tj -0 Tc 2.125 0 Td -[(ariable )-41(of )-41(type)]TJ -/TT0 1 Tf -6.722 0 Td -(sem_t)Tj -/T1_1 1 Tf -3.291 0 Td -[(and )-41(pass )-41(its )-41(addr)18(ess )-41(to)]TJ -/TT0 1 Tf -10.435 0 Td -(sem_init)Tj -/T1_1 1 Tf -5.091 0 Td -[(for )-41(initialization.)-541(If)]TJ --30.366 -1.2 Td -[(we )-99(plan )-99(to )-99(use )-99(the )-99(semaphor)]TJ -0.3489 Tc 13.189 0 Td -(eb)Tj -0 Tc 1.381 0 Td -[(etween )-99(two )-99(pr)18(ocesses, )-99(we )-99(need )-99(to )-99(ensur)]TJ -0.3489 Tc 18.227 0 Td -(et)Tj -0 Tc 1.154 0 Td -[(hat )-99(the)]TJ -/T1_2 1 Tf -3.493 0 Td -(sem)Tj -/T1_1 1 Tf --37.444 -1.2 Td -[(ar)18(gument points into the memory extent that is shar)18(ed between the pr)18(ocesses.)]TJ -1.8 -1.2 Td -[(When )-57(we )-57(ar)]TJ -0.3072 Tc 5.447 0 Td -(ed)Tj -0 Tc 1.397 0 Td -[(one )-57(using )-57(the )-57(unnamed )-57(semaphor)18(e, )-57(we )-57(can )-57(discar)17(d)-307(it)-307(b)]TJ -0.3073 Tc (yc)Tj -0 Tc 26.15 0 Td -[(alling )-57(the)]TJ -/TT0 1 Tf --34.795 -1.2 Td -(sem_destroy)Tj -/T1_1 1 Tf -6.85 0 Td -(function.)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.5731 364.3544 Tm -(#include )Tj -0 -1.902 TD -(int sem_destroy\(sem_t *)Tj -/T1_2 1 Tf -(sem)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -26.851 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3257.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9976 0 0 9.9976 129.5689 312.1051 Tm -[(After )-203(calling)]TJ -/TT0 1 Tf -6.173 0 Td -(sem_destroy)Tj -/T1_1 1 Tf -[(,)-453(we)-453(c)-1(an\325t )-203(use )-203(any )-203(of )-203(the )-203(semaphor)]TJ -0.4533 Tc 23.268 0 Td -(ef)Tj -0 Tc 1.265 0 Td -[(unctions )-203(with)]TJ -/T1_2 1 Tf -6.738 0 Td -(sem)Tj -/T1_1 1 Tf --37.444 -1.2 Td -[(unless we r)18(einitialize it by calling)]TJ -/TT0 1 Tf -14.995 0 Td -(sem_init)Tj -/T1_1 1 Tf -5.05 0 Td -(again.)Tj --18.245 -1.2 Td -[(One )-20(other )-20(function )-20(is )-20(available )-20(to )-20(allow )-20(us )-20(to )-20(r)18(etrieve )-20(the )-20(value )-20(of )-20(a )-20(semaphor)21(e. )-270(W)92(e)]TJ --1.8 -1.2 Td -(call the)Tj -/TT0 1 Tf -3.413 0 Td -(sem_getvalue)Tj -/T1_1 1 Tf -7.45 0 Td -(function for this purpose.)Tj -/TT0 1 Tf -8.9978 0 0 8.9978 147.5649 259.4177 Tm -(#include )Tj -T* -(int sem_getvalue\(sem_t *restrict)Tj -/T1_2 1 Tf -19.8 0 Td -(sem)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.356 0 Td -(nt *restrict)Tj -/T1_2 1 Tf -7.8 0 Td -(valp)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --4.105 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2207.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.997 0 0 9.997 129.5611 207.1778 Tm -[(On )-133(success, )-133(the )-133(integer )-133(pointed )-133(to )-133(by )-133(the)]TJ -/T1_2 1 Tf -19.223 0 Td -(valp)Tj -/T1_1 1 Tf -2.105 0 Td -[(ar)18(gument )-133(will )-133(contain )-133(the )-133(value )-133(of )-133(the)]TJ --21.328 -1.2 Td -[(semaphor)18(e. )-264(Be)-265(awar)18(e, )-14(however)]TJ -0.2645 Tc 14.001 0 Td -(,t)Tj -0 Tc 0.841 0 Td -[(hat )-14(the )-14(value )-14(of )-14(the )-14(semaphor)]TJ -0.2645 Tc 13.214 0 Td -(ec)Tj -0 Tc 1.187 0 Td -[(an )-14(change )-14(by )-14(the )-14(time)]TJ --29.242 -1.2 Td -[(that )-152(we )-152(try )-152(to )-152(use )-152(the )-152(value )-152(we )-152(just )-152(r)16(ead. )-402(Unless)-402(we )-152(use )-152(additional )-152(synchr)17(onization)]TJ --0 -1.2 Td -[(mechanisms )-426(to )-426(avoid )-426(this )-426(race, )-426(the)]TJ -/TT0 1 Tf -18.013 0 Td -(sem_getvalue)Tj -/T1_1 1 Tf -7.876 0 Td -[(function )-426(is )-426(useful )-426(only )-426(for)]TJ --25.89 -1.2 Td -(debugging.)Tj -7.9976 0 0 7.9976 183.5444 139.1982 Tm -(The)Tj -/TT0 1 Tf -1.924 0 Td -(sem_getvalue)Tj -/T1_1 1 Tf -7.45 0 Td -(function is not supported by Mac OS X 10.6.8.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47570 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(580)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(cr)18(eation )-151(mask )-151(\(Sections )-151(4.5 )-151(and )-151(4.8\).)-653(Note, )-151(however)]TJ -0.4015 Tc 23.932 0 Td -(,t)Tj -0 Tc 0.977 0 Td -[(hat )-151(only )-151(r)18(ead )-151(and )-151(write )-151(access)]TJ --24.91 -1.2 Td -(matter)Tj -0.3007 Tc 2.835 0 Td -(,b)Tj -0 Tc 1.104 0 Td -[(ut )-51(the )-51(interfaces )-51(don\325t )-51(allow )-51(us )-51(to )-51(specify )-51(the )-51(mode )-51(when )-51(we )-51(open )-51(an )-51(existing)]TJ --3.939 -1.2 Td -[(semaphor)18(e. )-250(Implementations)-250(usually open semaphor)18(es for both r)18(eading and writing.)]TJ -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.996 0 Td -(value)Tj -/T1_1 1 Tf -2.489 0 Td -[(ar)18(gument )-72(is )-72(used )-72(to )-72(specify )-72(the )-72(initial )-72(value )-72(for )-72(the )-72(semaphor)]TJ -0.3216 Tc 27.804 0 Td -(ew)Tj -0 Tc 1.635 0 Td -[(hen )-72(we)]TJ --35.723 -1.2 Td -[(cr)18(eate it.)-500(It can take on any value fr)18(om 0 to)]TJ -/TT0 1 Tf -19.237 0 Td -(SEM_VALUE_MAX)Tj -/T1_1 1 Tf -8.05 0 Td -(\(Figur)Tj -0.25 Tc 2.716 0 Td -(e2)Tj -0 Tc 1.229 0 Td -(.9\).)Tj --29.432 -1.2 Td -[(If )-237(we )-237(want )-237(to )-237(ensur)]TJ -0.487 Tc 9.51 0 Td -(et)Tj -0 Tc 1.292 0 Td -[(hat )-237(we )-237(ar)]TJ -0.487 Tc 4.572 0 Td -(ec)Tj --0.018 Tc 1.41 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ating )-237(the )-237(semaphor)18(e, )-237(we )-237(can )-237(set )-237(the)]TJ -/T1_2 1 Tf -17.627 0 Td -(o\337ag)Tj -/T1_1 1 Tf --37.067 -1.2 Td -[(ar)18(gument )-194(to)]TJ -/TT0 1 Tf -6.066 0 Td -(O_CREAT|O_EXCL)Tj -/T1_1 1 Tf -0.6942 Tc (.T)Tj -0 Tc 9.957 0 Td -[(his )-194(will )-194(cause)]TJ -/TT0 1 Tf -6.787 0 Td -(sem_open)Tj -/T1_1 1 Tf -5.244 0 Td -[(to )-194(fail )-194(if )-194(the )-194(semaphor)17(e)]TJ --28.054 -1.2 Td -[(alr)18(eady exists.)]TJ --0.092 Tc 1.8 -1.2 Td -[(To )-528(p)]TJ --0.018 Tc 2.262 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(mote )-344(portability)111(,)-594(we)-594(m)1(ust )-344(follow )-344(certain )-344(conventions )-344(when )-344(selecting )-344(a)]TJ --4.985 -1.2 Td -(semaphor)Tj -0.25 Tc 4.392 0 Td -(en)Tj -0 Tc 1.311 0 Td -(ame.)Tj -0.883 Tc -3.903 -1.8 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-220(\336rst )-220(character )-220(in )-220(the )-220(name )-220(should )-220(be )-220(a )-220(slash )-220(\(/\).)-724(Although )-220(ther)18(e)-470(is)-470(n)-1(o)]TJ --0.018 Tc -0.613 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quir)18(ement )-77(that )-77(an )-77(implementation )-77(of )-77(POSIX )-77(semaphor)18(es )-77(uses )-77(the )-77(\336le )-77(system,)]TJ --0.856 -1.2 Td -[(if )-127(the )-127(\336le )-127(system)]TJ -/T1_2 1 Tf -7.988 0 Td -(is)Tj -/T1_1 1 Tf -1.044 0 Td -[(used, )-127(we )-127(want )-127(to )-127(r)16(emove )-128(any )-128(ambiguity )-128(as )-128(to )-128(the )-128(starting)]TJ --9.032 -1.2 Td -[(point fr)18(om which the name is interpr)18(eted.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-254(name )-254(should )-254(contain )-254(no )-254(other )-254(slashes )-254(to )-254(avoid )-254(implementation-de\336ned)]TJ --0.613 -1.2 Td -(behavior)Tj -0.8141 Tc 3.837 0 Td -(.F)Tj -0 Tc 1.62 0 Td -[(or )-314(example, )-314(if )-314(the )-314(\336le )-314(system )-314(is )-314(used, )-314(the )-314(names)]TJ -/TT0 1 Tf -24.397 0 Td -(/mysem)Tj -/T1_1 1 Tf -4.164 0 Td -(and)Tj -/TT0 1 Tf --34.018 -1.2 Td -(//mysem)Tj -/T1_1 1 Tf -4.772 0 Td -[(would )-322(evaluate )-322(to )-322(the )-322(same )-322(\336lename, )-322(but )-322(if )-322(the )-322(implementation)]TJ --4.772 -1.2 Td -[(doesn\325t )-15(use )-15(the )-15(\336le )-15(system, )-15(the )-15(two )-15(names )-15(could )-15(be )-15(tr)17(eated )-15(as )-15(dif)18(fer)18(ent )-15(\(consider)]TJ --0 -1.2 Td -[(what )-55(would )-55(happen )-55(if )-55(the )-55(implementation )-55(hashed )-55(the )-55(name )-55(to )-55(an )-55(integer )-55(value)]TJ -0 -1.2 TD -[(used to identify the semaphor)18(e\).)]TJ -0.883 Tc -1.489 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-126(maximum )-126(length )-126(of )-126(the )-126(semaphor)]TJ -0.3765 Tc 16.977 0 Td -(en)Tj -0 Tc 1.437 0 Td -[(ame )-126(is )-126(implementation )-126(de\336ned.)-628(The)]TJ --19.027 -1.2 Td -[(name )-272(should )-272(be )-272(no )-272(longer )-272(than)]TJ -/TT0 1 Tf -15.63 0 Td -(_POSIX_NAME_MAX)Tj -/T1_1 1 Tf -9.521 0 Td -(\(Figur)Tj -0.5215 Tc 2.716 0 Td -(e2)Tj -0 Tc 1.501 0 Td -[(.8\) )-271(characters,)]TJ --29.367 -1.2 Td -[(because )-4(this )-4(is )-4(the )-4(minimum )-4(acceptable )-4(limit )-4(to )-4(the )-4(maximum )-4(name )-4(length )-4(if )-4(the)]TJ -T* -(implementation does use the \336le system.)Tj --1.489 -1.8 Td -(The)Tj -/TT0 1 Tf -2.134 0 Td -(sem_open)Tj -/T1_1 1 Tf -5.26 0 Td -[(function )-210(r)18(eturns )-210(a )-210(semaphor)]TJ -0.46 Tc 13.165 0 Td -(ep)Tj -0 Tc 1.54 0 Td -[(ointer )-210(that )-210(we )-210(can )-210(pass )-210(to )-210(other)]TJ --23.899 -1.2 Td -(semaphor)Tj -0.3347 Tc 4.392 0 Td -(ef)Tj -0 Tc 1.147 0 Td -[(unctions )-85(when )-85(we )-85(want )-85(to )-85(operate )-85(on )-85(the )-85(semaphor)20(e. )-335(When)-335(we )-85(ar)]TJ -0.3348 Tc 30.43 0 Td -(ed)Tj -0 Tc 1.425 0 Td -(one)Tj --37.393 -1.2 Td -[(with )-242(the )-242(semaphor)18(e, )-242(we )-242(can )-242(call )-242(the)]TJ -/TT0 1 Tf -17.74 0 Td -(sem_close)Tj -/T1_1 1 Tf -5.892 0 Td -[(function )-242(to )-242(r)18(elease )-242(any )-242(r)17(esour)18(ces)]TJ --23.632 -1.2 Td -[(associated with the semaphor)18(e.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5924 308.2815 Tm -(#include )Tj -0 -1.902 TD -(int sem_close\(sem_t *)Tj -/T1_2 1 Tf -(sem)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -26.851 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2695.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 256.0293 Tm -[(If )-8(our )-8(pr)18(ocess )-8(exits )-8(without )-8(having )-8(\336rst )-8(called)]TJ -/TT0 1 Tf -20.561 0 Td -(sem_close)Tj -/T1_1 1 Tf -0.2582 Tc (,t)Tj -0 Tc 6.234 0 Td -[(he )-8(kernel )-8(will )-8(close )-8(any)]TJ --28.595 -1.2 Td -[(open )-24(semaphor)18(es )-24(automatically)]TJ -0.5242 Tc 13.997 0 Td -(.N)Tj -0 Tc 1.605 0 Td -[(ote )-24(that )-24(this )-24(doesn\325t )-24(af)17(fect )-24(the )-24(state )-24(of )-24(the )-24(semaphor)18(e)]TJ --15.603 -1.2 Td -[(value )167(\321 )167(if)-485(we )-234(have )-234(incr)18(emented )-234(its )-234(value, )-234(this )-234(doesn\325t )-234(change )-234(just )-234(because )-234(we )-234(exit.)]TJ -0 -1.2 TD -[(Similarly)111(,)-564(if)-564(we)-564(call)]TJ -/TT0 1 Tf -9.881 0 Td -(sem_close)Tj -/T1_1 1 Tf -0.5641 Tc (,t)Tj -0 Tc 6.54 0 Td -[(he )-314(semaphor)]TJ -0.5641 Tc 6.017 0 Td -(ev)Tj -0 Tc 1.608 0 Td -[(alue )-314(is )-314(unaf)18(fected. )-564(Ther)18(e)-564(is)-564(no)]TJ --24.047 -1.2 Td -(mechanism equivalent to the)Tj -/TT0 1 Tf -13.003 0 Td -(SEM_UNDO)Tj -/T1_1 1 Tf -5.05 0 Td -[(\337ag found with XSI semaphor)18(es.)]TJ --0.092 Tc -16.253 -1.2 Td -[(To )-184(d)]TJ -0 Tc 1.928 0 Td -[(estr)18(oy a named semaphor)18(e, we can use the)]TJ -/TT0 1 Tf -19.116 0 Td -(sem_unlink)Tj -/T1_1 1 Tf -6.25 0 Td -(function.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5826 179.3385 Tm -(#include )Tj -0 -1.902 TD -(int sem_unlink\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -26.851 -1.902 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1406.25 cm -0 0 m -0 477 l -3900 477 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47571 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.8)]TJ -38.437 0 Td -[(Semaphor)18(es)]TJ -/T1_1 1 Tf -7.396 0 Td -(569)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 136.7918 664.2601 Tm -(struct sembuf {)Tj -1.2 -1.189 Td -[(unsigned short)-1200(sem_num; )-600(/*)-600(member # in set \(0, 1, ..., nsems-1\) */)]TJ -0 -1.189 TD -(short )Tj -9.6 0 Td -[(sem_op;)-1800(/* operation \(negative, 0, or positive\) */)]TJ --9.6 -1.189 Td -(short )Tj -9.6 0 Td -[(sem_flg;)-1200(/* IPC_NOWAIT, SEM_UNDO */)]TJ --10.8 -1.189 Td -(};)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 602.394 Tm -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(nops)Tj -/T1_0 1 Tf -2.139 0 Td -[(ar)18(gument speci\336es the number of operations \(elements\) in the array)111(.)]TJ --2.263 -1.2 Td -[(The )-41(operation )-41(on )-41(each )-41(member )-41(of )-41(the )-41(set )-41(is )-41(speci\336ed )-41(by )-41(the )-41(corr)19(esponding)]TJ -/TT0 1 Tf -33.601 0 Td -(sem_op)Tj -/T1_0 1 Tf --35.401 -1.2 Td -[(value. )-303(This)-302(value )-53(can )-53(be )-53(negative, )-53(0, )-53(or )-53(positive.)-553(\(In )-53(the )-53(following )-53(discussion, )-53(we )-53(r)20(efer)]TJ -0 -1.2 TD -[(to )-87(the )-87(\324)36(\324undo\325)]TJ -0.3374 Tc 6.036 0 Td -(\325\337)Tj -0 Tc 1.223 0 Td -[(ag )-87(for )-87(a )-87(semaphor)17(e. )-337(This)-338(\337ag )-87(corr)18(esponds )-87(to )-87(the)]TJ -/TT0 1 Tf -22.499 0 Td -(SEM_UNDO)Tj -/T1_0 1 Tf -5.137 0 Td -[(bit )-87(in )-87(the)]TJ --34.896 -1.2 Td -[(corr)18(esponding)]TJ -/TT0 1 Tf -6.684 0 Td -(sem_flg)Tj -/T1_0 1 Tf -4.45 0 Td -[(member)74(.\))]TJ --9.334 -1.8 Td -[(1. )-633(The)-512(easiest )-262(case )-262(is )-262(when)]TJ -/TT0 1 Tf -13.831 0 Td -(sem_op)Tj -/T1_0 1 Tf -4.112 0 Td -[(is )-262(positive.)-763(This )-262(case )-262(corr)18(esponds )-262(to )-262(the)]TJ --0.018 Tc -16.31 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turning )-187(of )-187(r)19(esour)18(ces )-187(by )-187(the )-187(pr)19(ocess. )-437(The)-436(value )-187(of)]TJ -/TT0 1 Tf -23.579 0 Td -(sem_op)Tj -/T1_0 1 Tf -4.037 0 Td -[(is )-187(added )-187(to )-187(the)]TJ --28.471 -1.2 Td -[(semaphor)18(e\325s )-18(value.)-518(If )-18(the )-18(undo )-18(\337ag )-18(is )-18(speci\336ed,)]TJ -/TT0 1 Tf -21.618 0 Td -(sem_op)Tj -/T1_0 1 Tf -3.868 0 Td -[(is )-18(also )-18(subtracted )-18(fr)17(om)]TJ --25.487 -1.2 Td -[(the semaphor)18(e\325s adjustment value for this pr)18(ocess.)]TJ --1.633 -1.6 Td -[(2. )-633(If)]TJ -/TT0 1 Tf -2.586 0 Td -(sem_op)Tj -/T1_0 1 Tf -3.883 0 Td -[(is )-33(negative, )-33(we )-33(want )-33(to )-33(obtain )-33(r)17(esour)18(ces )-33(that )-33(the )-33(semaphor)]TJ -0.2831 Tc 26.182 0 Td -(ec)Tj -0 Tc 1.206 0 Td -[(ontr)18(ols.)]TJ --32.225 -1.8 Td -[(If )-289(the )-289(semaphor)18(e\325s )-289(value )-289(is )-289(gr)18(eater )-289(than )-289(or )-289(equal )-289(to )-289(the )-289(absolute )-289(value )-289(of)]TJ -/TT0 1 Tf -T* -(sem_op)Tj -/T1_0 1 Tf -3.853 0 Td -[(\(the )-3(r)18(esour)18(ces )-3(ar)]TJ -0.253 Tc 7.256 0 Td -(ea)Tj -0 Tc 1.232 0 Td -[(vailable\), )-3(the )-3(absolute )-3(value )-3(of)]TJ -/TT0 1 Tf -13.744 0 Td -(sem_op)Tj -/T1_0 1 Tf -3.853 0 Td -[(is )-3(subtracted)]TJ --29.938 -1.2 Td -[(fr)18(om )-94(the )-94(semaphor)18(e\325s )-94(value.)-594(This )-94(guarantees )-94(the )-94(r)18(esulting )-94(semaphor)]TJ -0.3436 Tc 31.248 0 Td -(ev)Tj -0 Tc 1.388 0 Td -[(alue )-94(is)]TJ --32.635 -1.2 Td -[(gr)18(eater )-139(than )-139(or )-139(equal )-139(to )-139(0.)-638(If )-139(the )-139(undo )-139(\337ag )-139(is )-139(speci\336ed, )-139(the )-139(absolute )-139(value )-139(of)]TJ -/TT0 1 Tf -T* -(sem_op)Tj -/T1_0 1 Tf -3.85 0 Td -[(is also added to the semaphor)18(e\325s adjustment value for this pr)18(ocess.)]TJ --3.85 -1.8 Td -[(If )-2(the )-2(semaphor)18(e\325s )-2(value )-2(is )-2(less )-2(than )-2(the )-2(absolute )-2(value )-2(of)]TJ -/TT0 1 Tf -25.59 0 Td -(sem_op)Tj -/T1_0 1 Tf -3.852 0 Td -[(\(the )-2(r)18(esour)18(ces)]TJ --29.442 -1.2 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(en)Tj -0 Tc 1.311 0 Td -[(ot available\), the following conditions apply)111(.)]TJ --2.188 -1.6 Td -[(a. )-633(If)]TJ -/TT0 1 Tf -2.553 0 Td -(IPC_NOWAIT)Tj -/T1_0 1 Tf -6.25 0 Td -(is speci\336ed,)Tj -/TT0 1 Tf -5.399 0 Td -(semop)Tj -/T1_0 1 Tf --0.018 Tc 3.25 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns with an err)18(or of)]TJ -/TT0 1 Tf -9.766 0 Td -(EAGAIN)Tj -/T1_0 1 Tf -(.)Tj --28.074 -1.6 Td -[(b. )-580(If)]TJ -/TT0 1 Tf -2.703 0 Td -(IPC_NOWAIT)Tj -/T1_0 1 Tf -6.4 0 Td -[(is )-150(not )-150(speci\336ed, )-150(the)]TJ -/TT0 1 Tf -9.341 0 Td -(semncnt)Tj -/T1_0 1 Tf -4.6 0 Td -[(value )-150(for )-150(this )-150(semaphor)]TJ -0.4002 Tc 10.928 0 Td -(ei)Tj -0 Tc 1.17 0 Td -(s)Tj --33.51 -1.2 Td -[(incr)18(emented )-41(\(since )-41(the )-41(caller )-41(is )-41(about )-41(to )-41(go )-41(to )-41(sleep\), )-41(and )-41(the )-41(calling )-41(pr)15(ocess)]TJ --0 -1.2 Td -(is suspended until one of the following occurs.)Tj -0 -1.6 TD -[(i. )-1215(The)-398(semaphor)18(e\325s )-148(value )-148(becomes )-148(gr)18(eater )-148(than )-148(or )-148(equal )-148(to )-148(the )-148(absolute)]TJ -2.006 -1.2 Td -[(value )-49(of)]TJ -/TT0 1 Tf -3.915 0 Td -(sem_op)Tj -/T1_0 1 Tf -3.899 0 Td -[(\(i.e., )-49(some )-49(other )-49(pr)18(ocess )-49(has )-49(r)18(eleased )-49(some )-49(r)19(esour)18(ces\).)]TJ --7.814 -1.2 Td -[(The )-206(value )-206(of)]TJ -/TT0 1 Tf -6.36 0 Td -(semncnt)Tj -/T1_0 1 Tf -4.656 0 Td -[(for )-206(this )-206(semaphor)17(e)-456(is)-456(d)-1(ecr)18(emented )-206(\(since )-206(the)]TJ --11.017 -1.2 Td -[(calling )-145(pr)18(ocess )-145(is )-145(done )-145(waiting\), )-145(and )-145(the )-145(absolute )-145(value )-145(of)]TJ -/TT0 1 Tf -27.218 0 Td -(sem_op)Tj -/T1_0 1 Tf -3.995 0 Td -(is)Tj --31.213 -1.2 Td -[(subtracted )-12(fr)18(om )-12(the )-12(semaphor)18(e\325s )-12(value.)-512(If )-12(the )-12(undo )-12(\337ag )-12(is )-12(speci\336ed, )-12(the)]TJ -0 -1.2 TD -[(absolute )-70(value )-70(of)]TJ -/TT0 1 Tf -7.999 0 Td -(sem_op)Tj -/T1_0 1 Tf -3.92 0 Td -[(is )-70(also )-70(added )-70(to )-70(the )-70(semaphor)18(e\325s )-70(adjustment)]TJ --11.919 -1.2 Td -[(value for this pr)18(ocess.)]TJ --2.006 -1.6 Td -[(ii. )-924(The)-352(semaphor)18(e)-352(is)-352(r)17(emoved )-102(fr)18(om )-102(the )-102(system.)-604(In )-102(this )-102(case, )-102(the )-102(function)]TJ --0.018 Tc 2.006 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns an err)18(or of)]TJ -/TT0 1 Tf -7.483 0 Td -(EIDRM)Tj -/T1_0 1 Tf -(.)Tj --10.345 -1.6 Td -[(iii. )-633(A)-257(signal )-7(is )-7(caught )-7(by )-7(the )-7(pr)16(ocess, )-7(and )-7(the )-7(signal )-7(handler )-7(r)16(eturns. )-257(In)-258(this)]TJ -2.006 -1.2 Td -(case, the value of)Tj -/TT0 1 Tf -7.803 0 Td -(semncnt)Tj -/T1_0 1 Tf -4.45 0 Td -[(for this semaphor)17(e)-250(is)-250(d)-1(ecr)18(emented \(since the)]TJ --12.253 -1.2 Td -[(calling )-93(pr)18(ocess )-93(is )-93(no )-93(longer )-93(waiting\), )-93(and )-93(the )-93(function )-93(r)18(eturns )-93(an )-93(err)15(or)]TJ -0 -1.2 Td -(of)Tj -/TT0 1 Tf -1.129 0 Td -(EINTR)Tj -/T1_0 1 Tf -(.)Tj --6.401 -1.6 Td -[(3. )-633(If)]TJ -/TT0 1 Tf -2.803 0 Td -(sem_op)Tj -/T1_0 1 Tf -4.1 0 Td -[(is )-250(0, )-250(this )-250(means )-250(that )-250(the )-250(calling )-250(pr)17(ocess )-250(wants )-250(to )-250(wait )-250(until )-250(the)]TJ --5.27 -1.2 Td -[(semaphor)18(e\325s value becomes 0.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47572 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(982)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(SA_RESETHAND)Tj -/T1_1 1 Tf -7.617 0 Td -[(constant, )-250(351,)-250(354)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(SA_RESTART)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(329,)-250(351, 354, 508)]TJ -12.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(509)Tj -/TT0 1 Tf --19.063 -1.25 Td -(SA_SIGINFO)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(336,)-250(350)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(353, 376, 512)Tj --15.063 -1.25 Td -(saved)Tj -1.35 -1.25 Td -[(set-gr)18(oup-ID, )-250(56,)-250(98, 257)]TJ -0 -1.25 Td -[(set-user)18(-ID, )-250(56,)-250(98, 256)]TJ -10.222 0.09 Td -(\320)Tj -0.583 -0.09 Td -(260, 288, 337)Tj -/TT0 1 Tf --12.156 -1.25 Td -(S_BANDURG)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(510)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(sbrk)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(21)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(23, 208, 221)Tj -/TT0 1 Tf --8.94 -1.25 Td -(_SC_AIO_MAX)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(516)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(_SC_AIO_PRIO_DELTA_MAX)Tj -/T1_1 1 Tf -13.617 0 Td -[(constant, )-250(516)]TJ --13.617 -1.25 Td -[(scaling, fr)18(equency)]TJ -0.5 Tc 7.89 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(85)Tj -/TT0 1 Tf --9.14 -1.25 Td -(scan_configfile)Tj -/T1_1 1 Tf -9.417 0 Td -[(function, )-250(803)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(804)Tj --14.69 -1.25 Td -[(de\336nition of,)-500(803)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(scandir)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(scanf)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(150,)-250(162)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(163, 452)Tj --10.69 -1.25 Td -[(de\336nition of,)-500(162)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_SC_ARG_MAX)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(43,)-250(47)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(_SC_ASYNCHRONOUS_IO)Tj -/T1_1 1 Tf -11.817 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --11.817 -1.25 Td -(_SC_ATEXIT_MAX)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(43)]TJ --8.817 -1.25 Td -[(scatter r)18(ead, )-250(521,)-250(644)]TJ -/TT0 1 Tf -0 -1.25 TD -(_SC_BARRIERS)Tj -/T1_1 1 Tf -7.617 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(_SC_CHILD_MAX)Tj -/T1_1 1 Tf -8.217 0 Td -[(constant, )-250(43,)-250(221)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(_SC_CLK_TCK)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(42)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(43, 280)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(281)Tj -/TT0 1 Tf --16.83 -1.25 Td -(_SC_CLOCK_SELECTION)Tj -/T1_1 1 Tf -11.817 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --11.817 -1.25 Td -(_SC_COLL_WEIGHTS_MAX)Tj -/T1_1 1 Tf -12.417 0 Td -[(constant, )-250(43)]TJ -/TT0 1 Tf --12.417 -1.25 Td -(_SC_DELAYTIMER_MAX)Tj -/T1_1 1 Tf -11.217 0 Td -[(constant, )-250(43)]TJ -/TT0 1 Tf --11.217 -1.25 Td -(SCHAR_MAX)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(37)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(38)Tj -/TT0 1 Tf --11.963 -1.25 Td -(SCHAR_MIN)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(37)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(38)Tj -/TT0 1 Tf --11.963 -1.25 Td -()Tj -/T1_1 1 Tf -5.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj --10.039 -1.25 Td -[(scheduling, pr)18(ocess, )-250(276)]TJ -10.991 0.09 Td -(\320)Tj -0.583 -0.09 Td -(280)Tj -/TT0 1 Tf --11.575 -1.25 Td -(_SC_HOST_NAME_MAX)Tj -/T1_1 1 Tf -10.617 0 Td -[(constant, )-250(43,)-250(616, 618, 623,)]TJ --7.917 -1.25 Td -(815)Tj --2.7 -1.25 Td -[(Schwartz, A.,)-500(181, 250, 298, 949)]TJ -/TT0 1 Tf -T* -(_SC_IO_LISTIO_MAX)Tj -/T1_1 1 Tf -10.617 0 Td -[(constant, )-250(516)]TJ -/TT0 1 Tf --10.617 -1.25 Td -(_SC_IOV_MAX)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(43)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(_SC_JOB_CONTROL)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(54,)-250(57)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(_SC_LINE_MAX)Tj -/T1_1 1 Tf -7.617 0 Td -[(constant, )-250(43)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(_SC_LOGIN_NAME_MAX)Tj -/T1_1 1 Tf -11.217 0 Td -[(constant, )-250(43)]TJ -/TT0 1 Tf --11.217 -1.25 Td -(_SC_MAPPED_FILES)Tj -/T1_1 1 Tf -10.017 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --10.017 -1.25 Td -(SCM_CREDENTIALS)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(649)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(652)Tj -/TT0 1 Tf --16.063 -1.25 Td -(SCM_CREDS)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(649)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(650, 652)Tj -/TT0 1 Tf --12.463 -1.25 Td -(SCM_CREDTYPE)Tj -/T1_1 1 Tf -7.617 0 Td -[(constant, )-250(650,)-250(652)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(_SC_MEMORY_PROTECTION)Tj -/T1_1 1 Tf -13.017 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --13.017 -1.25 Td -(SCM_RIGHTS)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(645)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(646, 650, 652)Tj -/TT0 1 Tf --13.063 -1.25 Td -(_SC_NGROUPS_MAX)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(43)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(_SC_NZERO)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(276)]TJ --5.817 -1.25 Td -[(SCO \(Santa Cr)8(uz Operation\),)-500(35)]TJ -/TT0 1 Tf -T* -(_SC_OPEN_MAX)Tj -/T1_1 1 Tf -7.617 0 Td -[(constant, )-250(43,)-250(52, 221, 907)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(_SC_PAGESIZE)Tj -/T1_1 1 Tf -7.617 0 Td -[(constant, )-250(43,)-250(527)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(_SC_PAGE_SIZE)Tj -/T1_1 1 Tf -8.217 0 Td -[(constant, )-250(43,)-250(527)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(_SC_READER_WRITER_LOCKS)Tj -/T1_1 1 Tf -14.217 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --14.217 -1.25 Td -(_SC_REALTIME_SIGNALS)Tj -/T1_1 1 Tf -12.417 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --12.417 -1.25 Td -(_SC_RE_DUP_MAX)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(43)]TJ -/TT0 1 Tf -17.183 65 Td -(script)Tj -/T1_1 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(715,)-250(719)]TJ -8.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(720, 734, 736)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(737,)Tj --16.258 -1.25 Td -(741)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(742)Tj -/TT0 1 Tf --4.867 -1.25 Td -(_SC_RTSIG_MAX)Tj -/T1_1 1 Tf -8.217 0 Td -[(constant, )-250(43)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(_SC_SAVED_IDS)Tj -/T1_1 1 Tf -8.217 0 Td -[(constant, )-250(54,)-250(57, 98, 256)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(_SC_SEMAPHORES)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(_SC_SEM_NSEMS_MAX)Tj -/T1_1 1 Tf -10.617 0 Td -[(constant, )-250(43)]TJ -/TT0 1 Tf --10.617 -1.25 Td -(_SC_SEM_VALUE_MAX)Tj -/T1_1 1 Tf -10.617 0 Td -[(constant, )-250(43)]TJ -/TT0 1 Tf --10.617 -1.25 Td -(_SC_SHELL)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(_SC_SIGQUEUE_MAX)Tj -/T1_1 1 Tf -10.017 0 Td -[(constant, )-250(43)]TJ -/TT0 1 Tf --10.017 -1.25 Td -(_SC_SPIN_LOCKS)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(_SC_STREAM_MAX)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(43)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(_SC_SYMLOOP_MAX)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(43)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(_SC_THREAD_ATTR_STACKADDR)Tj -/T1_1 1 Tf -15.417 0 Td -[(constant, )-250(429)]TJ -/TT0 1 Tf --15.417 -1.25 Td -(_SC_THREAD_ATTR_STACKSIZE)Tj -/T1_1 1 Tf -15.417 0 Td -[(constant, )-250(429)]TJ -/TT0 1 Tf --15.417 -1.25 Td -(_SC_THREAD_DESTRUCTOR_ITERATIONS)Tj -/T1_1 1 Tf -2.7 -1.25 Td -[(constant, )-250(426)]TJ -/TT0 1 Tf --2.7 -1.25 Td -(_SC_THREAD_KEYS_MAX)Tj -/T1_1 1 Tf -11.817 0 Td -[(constant, )-250(426)]TJ -/TT0 1 Tf --11.817 -1.25 Td -(_SC_THREAD_PROCESS_SHARED)Tj -/T1_1 1 Tf -15.417 0 Td -[(constant, )-250(431)]TJ -/TT0 1 Tf --15.417 -1.25 Td -(_SC_THREADS)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(57,)-250(384)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(_SC_THREAD_SAFE_FUNCTIONS)Tj -/T1_1 1 Tf -15.417 0 Td -[(constant, )-250(57,)]TJ --12.717 -1.25 Td -(442)Tj -/TT0 1 Tf --2.7 -1.25 Td -(_SC_THREAD_STACK_MIN)Tj -/T1_1 1 Tf -12.417 0 Td -[(constant, )-250(426)]TJ -/TT0 1 Tf --12.417 -1.25 Td -(_SC_THREAD_THREADS_MAX)Tj -/T1_1 1 Tf -13.617 0 Td -[(constant, )-250(426)]TJ -/TT0 1 Tf --13.617 -1.25 Td -(_SC_TIMER_MAX)Tj -/T1_1 1 Tf -8.217 0 Td -[(constant, )-250(43)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(_SC_TIMERS)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(_SC_TTY_NAME_MAX)Tj -/T1_1 1 Tf -10.017 0 Td -[(constant, )-250(43)]TJ -/TT0 1 Tf --10.017 -1.25 Td -(_SC_TZNAME_MAX)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(43)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(_SC_V7_ILP32_OFF32)Tj -/T1_1 1 Tf -11.217 0 Td -[(constant, )-250(70)]TJ -/TT0 1 Tf --11.217 -1.25 Td -(_SC_V7_ILP32_OFFBIG)Tj -/T1_1 1 Tf -11.817 0 Td -[(constant, )-250(70)]TJ -/TT0 1 Tf --11.817 -1.25 Td -(_SC_V7_LP64_OFF64)Tj -/T1_1 1 Tf -10.617 0 Td -[(constant, )-250(70)]TJ -/TT0 1 Tf --10.617 -1.25 Td -(_SC_V7_LP64_OFFBIG)Tj -/T1_1 1 Tf -11.217 0 Td -[(constant, )-250(70)]TJ -/TT0 1 Tf --11.217 -1.25 Td -(_SC_VERSION)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(50,)-250(54, 57)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(_SC_XOPEN_CRYPT)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(_SC_XOPEN_REALTIME)Tj -/T1_1 1 Tf -11.217 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --11.217 -1.25 Td -(_SC_XOPEN_REALTIME_THREADS)Tj -/T1_1 1 Tf -16.017 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --16.017 -1.25 Td -(_SC_XOPEN_SHM)Tj -/T1_1 1 Tf -8.217 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(_SC_XOPEN_VERSION)Tj -/T1_1 1 Tf -10.617 0 Td -[(constant, )-250(50,)-250(54, 57)]TJ -/TT0 1 Tf --10.617 -1.25 Td -()Tj -/T1_1 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(0)Tj -/TT0 1 Tf --10.639 -1.25 Td -(sed)Tj -/T1_1 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(950)]TJ --2.217 -1.25 Td -[(Seebass, S.,)-500(951)]TJ -/TT0 1 Tf -T* -(seek)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(67)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(SEEK_CUR)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(67,)-250(158, 486, 494)]TJ -11.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(495, 766)Tj -/TT0 1 Tf --17.363 -1.25 Td -(seekdir)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(130)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(135, 452)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(130)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(SEEK_END)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(67,)-250(158, 486, 494)]TJ -11.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(495,)Tj --14.663 -1.25 Td -(771)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(773, 781)Tj -/TT0 1 Tf --4.866 -1.25 Td -(SEEK_SET)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(67,)-250(158, 172, 486, 494)]TJ -13.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(495,)Tj --16.663 -1.25 Td -(498, 759, 762)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(763, 765)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(766, 768)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(773,)Tj --14.5 -1.25 Td -(775)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(780, 818)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(819, 930)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(931)Tj -/TT0 1 Tf --13.2 -1.25 Td -(SEGV_ACCERR)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(SEGV_MAPERR)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(select)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(330)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(331, 343, 451, 481, 501)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(509,)Tj --18.107 -1.25 Td -(531)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(532, 560, 586, 588, 592, 608)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(609,)Tj --14.333 -1.25 Td -(626)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(627, 631)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(632, 659, 664)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(666, 668, 718,)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47573 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.2)]TJ -33.344 0 Td -[(UNIX )-250(Domain )-250(Sockets)]TJ -/T1_1 1 Tf -12.489 0 Td -(631)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Example )195(\321 )195(P)39(olling XSI Messa)]TJ -0.01 Tc 13.789 0 Td -[(ge )20(Q)]TJ -0 Tc 2.233 0 Td -[(ueues with the Help of UNIX Domain Soc)20(kets)]TJ -/T1_0 1 Tf --12.422 -2.4 Td -[(In )-19(Section )-19(15.6.4, )-19(we )-19(said )-19(one )-19(of )-19(the )-19(pr)18(oblems )-19(with )-19(using )-19(XSI )-19(message )-19(queues )-19(is )-19(that )-19(we)]TJ -0 -1.2 TD -[(can\325t )-412(use)]TJ -/TT1 1 Tf -4.961 0 Td -(poll)Tj -/T1_0 1 Tf -3.063 0 Td -(or)Tj -/TT1 1 Tf -1.604 0 Td -(select)Tj -/T1_0 1 Tf -4.262 0 Td -[(with )-412(them, )-412(because )-412(they )-412(ar)18(en\325t )-412(associated )-412(with )-412(\336le)]TJ --13.89 -1.2 Td -[(descriptors. )-284(However)]TJ -0.284 Tc 9.776 0 Td -(,s)Tj -0 Tc 0.958 0 Td -(ockets)Tj -/T1_2 1 Tf -3.059 0 Td -[(ar)18(e)]TJ -/T1_0 1 Tf -1.488 0 Td -[(associated )-34(with )-34(\336le )-34(descriptors, )-34(and )-34(we )-34(can )-34(use )-34(them)]TJ --15.281 -1.2 Td -[(to )-202(notify )-202(us )-202(when )-202(messages )-202(arrive.)]TJ --0.092 Tc 17.018 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-202(use )-202(one )-202(thr)18(ead )-202(per )-202(message )-202(queue.)-704(Each)]TJ --18.405 -1.2 Td -[(thr)18(ead )-66(will )-66(block )-66(in )-66(a )-66(call )-66(to)]TJ -/TT1 1 Tf -12.956 0 Td -(msgrcv)Tj -/T1_0 1 Tf -0.5662 Tc (.W)Tj -0 Tc 5.416 0 Td -[(hen )-66(a )-66(message )-66(arrives, )-66(the )-66(thr)17(ead )-66(will )-66(write )-66(it)]TJ --18.373 -1.2 Td -[(down )-53(one )-53(end )-53(of )-53(a )-53(UNIX )-53(domain )-53(socket.)-553(Our )-53(application )-53(will )-53(use )-53(the )-53(other )-53(end )-53(of )-53(the)]TJ -T* -[(socket to r)18(eceive the message when)]TJ -/TT1 1 Tf -15.87 0 Td -(poll)Tj -/T1_0 1 Tf -2.65 0 Td -[(indicates data can be r)18(ead fr)18(om the socket.)]TJ --16.72 -1.2 Td -[(The )-14(pr)18(ogram )-14(in )-14(Figur)]TJ -0.2639 Tc 9.58 0 Td -(e1)Tj -0 Tc 1.243 0 Td -[(7.3 )-14(illustrates )-14(this )-14(technique.)-514(The)]TJ -/TT1 1 Tf -15.062 0 Td -(main)Tj -/T1_0 1 Tf -2.664 0 Td -[(function )-14(cr)18(eates )-14(the)]TJ --30.349 -1.2 Td -[(message )-34(queues )-34(and )-34(UNIX )-34(domain )-34(sockets )-34(and )-34(starts )-34(one )-34(thr)19(ead )-34(to )-34(service )-34(each )-34(queue.)]TJ -T* -[(Then )-19(it )-19(uses )-19(an )-19(in\336nite )-19(loop )-19(to )-19(poll )-19(one )-19(end )-19(of )-19(the )-19(sockets.)-519(When )-19(a )-19(socket )-19(is )-19(r)20(eadable, )-19(it)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(ads fr)18(om the socket and writes the message on the standar)]TJ -0.25 Tc 25.745 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5178.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 508.238 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -1.902 TD -(#define NQ)Tj -4.2 Tc 9.6 0 Td -(3/)Tj -0.6 Tc 5.4 0 Td -(*n)Tj -0 Tc 1.8 0 Td -(umber of queues */)Tj --16.8 -1.189 Td -[(#define MAXMSZ)-1200(512 )-2400(/*)-600(maximum message size */)]TJ -0 -1.189 TD -[(#define KEY)-3000(0x123 )-1200(/*)-600(key for first message queue */)]TJ -0 -1.902 TD -(struct threadinfo {)Tj -2.4 -1.189 Td -(int qid;)Tj -0 -1.189 TD -(int fd;)Tj --2.4 -1.189 Td -(};)Tj -0 -1.902 TD -(struct mymesg {)Tj -2.4 -1.189 Td -(long mtype;)Tj -0 -1.189 TD -(char mtext[MAXMSZ];)Tj --2.4 -1.189 Td -(};)Tj -0 -1.902 TD -(void *)Tj -0 -1.189 TD -(helper\(void *arg\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(int )Tj -12 0 Td -(n;)Tj --12 -1.189 Td -[(struct mymesg)-4200(m;)]TJ -T* -[(struct threadinfo)-1800(*tip = arg;)]TJ -0 -1.902 TD -(for\(;;\) {)Tj -2.4 -1.189 Td -(memset\(&m, 0, sizeof\(m\)\);)Tj -0 -1.189 TD -(if \(\(n = msgrcv\(tip->qid, &m, MAXMSZ, 0, MSG_NOERROR\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("msgrcv error"\);)Tj --2.4 -1.189 Td -(if \(write\(tip->fd, m.mtext, n\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("write error"\);)Tj --4.8 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47574 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.8)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(775)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(597 )-4800(/*)]TJ -0 -1.189 TD -(598 )Tj -7.8 0 Td -[(*)-600(_db_find_and_lock locked the hash chain for us; read)]TJ --7.8 -1.189 Td -(599 )Tj -7.8 0 Td -[(*)-600(the chain ptr to the first index record on hash chain.)]TJ --7.8 -1.189 Td -(600 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(601 )-4800(ptrval)]TJ -0.6 Tc 11.4 0 Td -(=_)Tj -0 Tc 1.8 0 Td -(db_readptr\(db, db->chainoff\);)Tj --13.2 -2.021 Td -[(602 )-4800(if)-600(\(_db_findfree\(db, keylen, datlen\) < 0\) {)]TJ -T* -(603 )Tj -9.6 0 Td -(/*)Tj --9.6 -1.189 Td -(604 )Tj -10.2 0 Td -[(*)-600(Can\325t find an empty record big enough. Append the)]TJ --10.2 -1.189 Td -(605 )Tj -10.2 0 Td -[(*)-600(new record to the ends of the index and data files.)]TJ --10.2 -1.189 Td -(606 )Tj -10.2 0 Td -(*/)Tj --10.2 -1.189 Td -(607 )Tj -9.6 0 Td -[(_db_writedat\(db,)-600(data, 0, SEEK_END\);)]TJ --9.6 -1.189 Td -(608 )Tj -9.6 0 Td -[(_db_writeidx\(db,)-600(key, 0, SEEK_END, ptrval\);)]TJ --9.6 -2.021 Td -(609 )Tj -9.6 0 Td -(/*)Tj --9.6 -1.189 Td -(610 )Tj -10.2 0 Td -[(*)-600(db->idxoff was set by _db_writeidx.)-1200(The new)]TJ --10.2 -1.189 Td -(611 )Tj -10.2 0 Td -[(*)-600(record goes to the front of the hash chain.)]TJ --10.2 -1.189 Td -(612 )Tj -10.2 0 Td -(*/)Tj --10.2 -1.189 Td -(613 )Tj -9.6 0 Td -[(_db_writeptr\(db,)-600(db->chainoff, db->idxoff\);)]TJ --9.6 -1.189 Td -(614 )Tj -9.6 0 Td -(db->cnt_stor1++;)Tj --9.6 -1.189 Td -[(615 )-4800(})-600(else {)]TJ -T* -(616 )Tj -9.6 0 Td -(/*)Tj --9.6 -1.189 Td -(617 )Tj -10.2 0 Td -[(*)-600(Reuse an empty record. _db_findfree removed it from)]TJ --10.2 -1.189 Td -(618 )Tj -10.2 0 Td -[(*)-600(the free list and set both db->datoff and db->idxoff.)]TJ --10.2 -1.189 Td -(619 )Tj -10.2 0 Td -[(*)-600(Reused record goes to the front of the hash chain.)]TJ --10.2 -1.189 Td -(620 )Tj -10.2 0 Td -(*/)Tj --10.2 -1.189 Td -(621 )Tj -9.6 0 Td -[(_db_writedat\(db,)-600(data, db->datoff, SEEK_SET\);)]TJ --9.6 -1.189 Td -(622 )Tj -9.6 0 Td -[(_db_writeidx\(db,)-600(key, db->idxoff, SEEK_SET, ptrval\);)]TJ --9.6 -1.189 Td -(623 )Tj -9.6 0 Td -[(_db_writeptr\(db,)-600(db->chainoff, db->idxoff\);)]TJ --9.6 -1.189 Td -(624 )Tj -9.6 0 Td -(db->cnt_stor2++;)Tj --9.6 -1.189 Td -[(625 )-4800(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3401.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 316.0801 Tm -[([597 )167(\320 )167(601])-668(After )-19(we )-19(call)]TJ -/TT0 1 Tf -10.958 0 Td -(_db_find_and_lock)Tj -/T1_0 1 Tf -0.2693 Tc (,t)Tj -0 Tc 11.045 0 Td -[(he )-19(code )-19(divides )-19(into )-19(four )-19(cases.)-521(In )-19(the)]TJ --17.003 -1.2 Td -[(\336rst )-43(two, )-43(no )-43(r)19(ecor)]TJ -0.2926 Tc 7.935 0 Td -(dw)Tj -0 Tc 1.738 0 Td -[(as )-43(found, )-43(so )-43(we )-43(ar)]TJ -0.2926 Tc 8.179 0 Td -(ea)Tj -0 Tc 1.272 0 Td -[(dding )-43(a )-43(new )-43(r)19(ecor)18(d. )-293(W)]TJ -0.2926 Tc 10.458 0 Td -(er)Tj -0 Tc 1.149 0 Td -[(ead )-43(the)]TJ --30.73 -1.2 Td -[(of)18(fset of the \336rst entry on the hash list.)]TJ --5 -1.6 Td -[([602 )167(\320 )167(614])-668(Case )-146(1: )-146(we )-146(call)]TJ -/TT0 1 Tf -12.286 0 Td -(_db_findfree)Tj -/T1_0 1 Tf -7.596 0 Td -[(to )-146(sear)18(ch )-146(the )-146(fr)17(ee )-146(list )-146(for )-146(a )-146(deleted )-146(r)18(ecor)18(d)]TJ --14.882 -1.2 Td -[(with )-101(the )-101(same )-101(size )-101(key )-101(and )-101(same )-101(size )-101(data.)-598(If )-101(no )-101(such )-101(r)19(ecor)18(d)-351(is)-351(found, )-101(we)]TJ -0 -1.2 Td -[(have )-90(to )-90(append )-90(the )-90(new )-90(r)19(ecor)18(d)-340(to)-340(t)1(he )-90(ends )-90(of )-90(the )-90(index )-90(and )-90(data )-90(\336les.)]TJ --0.092 Tc 32.613 0 Td -(We)Tj -0 Tc -32.613 -1.2 Td -(call)Tj -/TT0 1 Tf -2.016 0 Td -(_db_writedat)Tj -/T1_0 1 Tf -7.69 0 Td -[(to )-240(write )-240(the )-240(data )-240(part,)]TJ -/TT0 1 Tf -11.041 0 Td -(_db_writeidx)Tj -/T1_0 1 Tf -7.69 0 Td -[(to )-240(write )-240(the)]TJ --28.437 -1.2 Td -[(index )-81(part, )-81(and)]TJ -/TT0 1 Tf -7.238 0 Td -(_db_writeptr)Tj -/T1_0 1 Tf -7.531 0 Td -[(to )-81(place )-81(the )-81(new )-81(r)16(ecor)18(d)-331(on)-331(t)-1(he )-81(fr)18(ont )-81(of )-81(the)]TJ --14.77 -1.2 Td -[(hash )-63(chain.)]TJ --0.092 Tc 5.614 0 Td -[(We )-247(i)]TJ -0 Tc 1.991 0 Td -[(ncr)18(ement )-63(a )-63(count )-63(\()]TJ -/TT0 1 Tf -8.426 0 Td -(cnt_stor1)Tj -/T1_0 1 Tf -[(\))-313(of)-313(t)-1(he )-63(number )-63(of )-63(times )-63(we)]TJ --16.031 -1.2 Td -(executed this case to allow us to characterize the behavior of the datab\ ase.)Tj --5 -1.6 Td -[([615 )167(\320 )167(625])-668(Case )-137(2:)]TJ -/TT0 1 Tf -8.637 0 Td -(_db_findfree)Tj -/T1_0 1 Tf -7.587 0 Td -[(found )-137(an )-137(empty )-137(r)17(ecor)]TJ -0.3873 Tc 9.987 0 Td -(dw)Tj -0 Tc 1.832 0 Td -[(ith )-137(the )-137(corr)17(ect )-137(sizes )-137(and)]TJ --0.018 Tc -23.043 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(moved )-720(it )-720(fr)18(om )-720(the )-720(fr)18(ee )-720(list )-720(\(we\325ll )-720(see )-720(the )-720(implementation )-720(of)]TJ -/TT0 1 Tf --0.856 -1.2 Td -(_db_findfree)Tj -/T1_0 1 Tf -7.543 0 Td -[(shortly\). )-342(W)]TJ -0.3425 Tc 5.204 0 Td -(ew)Tj -0 Tc 1.656 0 Td -[(rite )-92(the )-92(data )-92(and )-92(index )-92(portions )-92(of )-92(the )-92(new)]TJ --0.018 Tc -14.402 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.302 Tc 1.367 0 Td -(da)Tj -0 Tc 1.413 0 Td -[(nd )-52(add )-52(the )-52(r)18(ecor)18(d)-302(to)-302(the )-52(fr)18(ont )-52(of )-52(the )-52(hash )-52(chain )-52(as )-52(we )-52(did )-52(in )-52(case )-52(1.)]TJ --3.636 -1.2 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(cnt_stor2)Tj -/T1_0 1 Tf -5.65 0 Td -(\336eld counts how many times we\325ve executed this case.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47575 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(766)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(317 )-2400(/*)]TJ -0 -1.189 TD -[(318 )-3000(*)-600(Position index file and record the offset.)-1200(db_nextrec)]TJ -T* -[(319 )-3000(*)-600(calls us with offset==0, meaning read from current offset.)]TJ -T* -[(320 )-3000(*)-600(We still need to call lseek to record the current offset.)]TJ -T* -[(321 )-3000(*/)]TJ -0 -1.189 TD -[(322 )-2400(if)-600(\(\(db->idxoff = lseek\(db->idxfd, offset,)]TJ -0 -1.189 TD -[(323 )-3600(offset)-600(== 0 ? SEEK_CUR : SEEK_SET\)\) == -1\))]TJ -T* -[(324 )-4800(err_dump\("_db_readidx:)-600(lseek error"\);)]TJ -0 -2.021 TD -[(325 )-2400(/*)]TJ -0 -1.189 TD -[(326 )-3000(*)-600(Read the ascii chain ptr and the ascii length at)]TJ -0 -1.189 TD -[(327 )-3000(*)-600(the front of the index record.)-1200(This tells us the)]TJ -T* -[(328 )-3000(*)-600(remaining size of the index record.)]TJ -T* -[(329 )-3000(*/)]TJ -T* -[(330 )-2400(iov[0].iov_base)]TJ -0.6 Tc 14.4 0 Td -(=a)Tj -0 Tc 1.8 0 Td -(sciiptr;)Tj --16.2 -1.189 Td -[(331 )-2400(iov[0].iov_len)]TJ -0.6 Tc 14.4 0 Td -(=P)Tj -0 Tc 1.8 0 Td -(TR_SZ;)Tj --16.2 -1.189 Td -[(332 )-2400(iov[1].iov_base)]TJ -0.6 Tc 14.4 0 Td -(=a)Tj -0 Tc 1.8 0 Td -(sciilen;)Tj --16.2 -1.189 Td -[(333 )-2400(iov[1].iov_len)]TJ -0.6 Tc 14.4 0 Td -(=I)Tj -0 Tc 1.8 0 Td -(DXLEN_SZ;)Tj --16.2 -1.189 Td -[(334 )-2400(if)-600(\(\(i = readv\(db->idxfd, &iov[0], 2\)\) != PTR_SZ + IDXLEN_SZ\) {)]TJ -0 -1.189 TD -[(335 )-4800(if)-600(\(i == 0 && offset == 0\))]TJ -0 -1.189 TD -(336 )Tj -9.6 0 Td -[(return\(-1\);)-3000(/* EOF for db_nextrec */)]TJ --9.6 -1.189 Td -[(337 )-4800(err_dump\("_db_readidx:)-600(readv error of index record"\);)]TJ -T* -[(338 )-2400(})]TJ -0 -2.021 TD -[(339 )-2400(/*)]TJ -0 -1.189 TD -[(340 )-3000(*)-600(This is our return value; always >= 0.)]TJ -T* -[(341 )-3000(*/)]TJ -T* -[(342 )-2400(asciiptr[PTR_SZ])]TJ -0.6 Tc 15 0 Td -(=0)Tj -4.8 Tc 1.8 0 Td -(;/)Tj -0.6 Tc 6 0 Td -(*n)Tj -0 Tc 1.8 0 Td -(ull terminate */)Tj --24.6 -1.189 Td -[(343 )-2400(db->ptrval)]TJ -0.6 Tc 11.4 0 Td -(=a)Tj -0 Tc 1.8 0 Td -(tol\(asciiptr\); /* offset of next key in chain */)Tj --13.2 -2.021 Td -[(344 )-2400(asciilen[IDXLEN_SZ])]TJ -0.6 Tc 16.8 0 Td -(=0)Tj -3 Tc 1.8 0 Td -(;/)Tj -0.6 Tc 4.2 0 Td -(*n)Tj -0 Tc 1.8 0 Td -(ull terminate */)Tj --24.6 -1.189 Td -[(345 )-2400(if)-600(\(\(db->idxlen = atoi\(asciilen\)\) < IDXLEN_MIN ||)]TJ -T* -[(346 )-3600(db->idxlen)]TJ -0.6 Tc 12.6 0 Td -(>I)Tj -0 Tc 1.8 0 Td -(DXLEN_MAX\))Tj --14.4 -1.189 Td -[(347 )-4800(err_dump\("_db_readidx:)-600(invalid length"\);)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3112.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 287.1935 Tm -[([317 )167(\320 )167(324])]TJ --0.092 Tc 5 0 Td -[(We )-220(s)]TJ -0 Tc 2.097 0 Td -[(tart )-36(by )-36(seeking )-36(to )-36(the )-36(index )-36(\336le )-36(of)17(fset )-36(pr)18(ovided )-36(by )-36(the )-36(caller)]TJ -0.5361 Tc 26.61 0 Td -(.W)Tj -0.2861 Tc 1.694 0 Td -(er)Tj -0 Tc 1.142 0 Td -[(ecor)18(d)]TJ --31.543 -1.2 Td -[(the )-29(of)18(fset )-29(in )-29(the)]TJ -/TT0 1 Tf -7.188 0 Td -(DB)Tj -/T1_1 1 Tf -1.479 0 Td -[(str)8(uctur)18(e, )-30(so )-30(even )-30(if )-30(the )-30(caller )-30(wants )-30(to )-30(r)18(ead )-30(the )-30(r)22(ecor)]TJ -0.2796 Tc 23.616 0 Td -(da)Tj -0 Tc 1.391 0 Td -(t)Tj --33.674 -1.2 Td -[(the )-35(curr)18(ent )-35(\336le )-35(of)18(fset )-35(\(by )-35(setting)]TJ -/TT0 1 Tf -14.526 0 Td -(offset)Tj -/T1_1 1 Tf -3.885 0 Td -[(to )-35(0\), )-35(we )-35(still )-35(need )-35(to )-35(call)]TJ -/TT0 1 Tf -11.433 0 Td -(lseek)Tj -/T1_1 1 Tf -3.285 0 Td -(to)Tj --33.128 -1.2 Td -[(determine )-118(the )-118(curr)18(ent )-118(of)18(fset. )-368(Since)-368(an )-118(index )-118(r)18(ecor)]TJ -0.3679 Tc 22.721 0 Td -(dw)Tj -0 Tc 1.813 0 Td -[(ill )-118(never )-118(be )-118(stor)18(ed )-118(at)]TJ --24.534 -1.2 Td -[(of)18(fset )-22(0 )-22(in )-22(the )-22(index )-22(\336le, )-22(we )-22(can )-22(safely )-22(overload )-22(the )-22(value )-22(of )-22(0 )-22(to )-22(mean )-22(\324)37(\324r)18(ead)]TJ -0 -1.2 Td -[(fr)18(om the curr)18(ent of)18(fset.\325)37(\325)]TJ --5 -1.6 Td -[([325 )167(\320 )167(338])]TJ --0.092 Tc 5 0 Td -[(We )-352(c)]TJ -0 Tc 2.249 0 Td -(all)Tj -/TT0 1 Tf -1.5 0 Td -(readv)Tj -/T1_1 1 Tf -3.418 0 Td -[(to )-168(r)18(ead )-168(the )-168(two )-168(\336xed)]TJ -9.815 0.09 Td -(-)Tj -0.333 -0.09 Td -[(length )-168(\336elds )-168(at )-168(the )-168(beginning )-168(of )-168(the)]TJ --17.315 -1.2 Td -[(index )-101(r)18(ecor)18(d: )-101(the )-101(chain )-101(pointer )-101(to )-101(the )-101(next )-101(index )-101(r)16(ecor)]TJ -0.3511 Tc 24.594 0 Td -(da)Tj -0 Tc 1.462 0 Td -[(nd )-101(the )-101(size )-101(of )-101(the)]TJ --26.056 -1.2 Td -[(variable-length index r)18(ecor)]TJ -0.25 Tc 11.925 0 Td -(dt)Tj -0 Tc 1.187 0 Td -(hat follows.)Tj --18.112 -1.6 Td -[([339 )167(\320 )167(347])]TJ --0.092 Tc 5 0 Td -[(We )-379(c)]TJ -0 Tc 2.276 0 Td -[(onvert )-195(the )-195(of)18(fset )-195(of )-195(the )-195(next )-195(r)17(ecor)18(d)-445(to)-445(an)-445(i)-1(nteger )-195(and )-195(stor)17(e)-445(it)-445(in)-445(t)-1(he)]TJ -/TT0 1 Tf --2.276 -1.2 Td -(ptrval)Tj -/T1_1 1 Tf -3.938 0 Td -[(\336eld )-88(\(this )-88(will )-88(be )-88(used )-88(as )-88(the )-88(r)18(eturn )-88(value )-88(for )-88(this )-88(function\).)-592(Then)]TJ --3.938 -1.2 Td -[(we )-90(convert )-90(the )-90(length )-90(of )-90(the )-90(index )-90(r)21(ecor)]TJ -0.3397 Tc 18.198 0 Td -(di)Tj -0 Tc 1.242 0 Td -[(nto )-90(an )-90(integer )-90(and )-90(save )-90(it )-90(in )-90(the)]TJ -/TT0 1 Tf --19.44 -1.2 Td -(idxlen)Tj -/T1_1 1 Tf -3.85 0 Td -(\336eld.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47576 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.8)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(765)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(287 )-1200(/*)]TJ -0 -1.189 TD -[(288 )-1800(*)-600(Read a chain ptr field from anywhere in the index file:)]TJ -T* -[(289 )-1800(*)-600(the free list pointer, a hash table chain ptr, or an)]TJ -T* -[(290 )-1800(*)-600(index record chain ptr.)]TJ -T* -[(291 )-1800(*/)]TJ -0 -1.189 TD -[(292 )-1200(static)-600(off_t)]TJ -0 -1.189 TD -[(293 )-1200(_db_readptr\(DB)-600(*db, off_t offset\))]TJ -T* -[(294 )-1200({)]TJ -T* -[(295 )-2400(char)-2400(asciiptr[PTR_SZ + 1];)]TJ -0 -2.021 TD -[(296 )-2400(if)-600(\(lseek\(db->idxfd, offset, SEEK_SET\) == -1\))]TJ -0 -1.189 TD -[(297 )-4800(err_dump\("_db_readptr:)-600(lseek error to ptr field"\);)]TJ -T* -[(298 )-2400(if)-600(\(read\(db->idxfd, asciiptr, PTR_SZ\) != PTR_SZ\))]TJ -T* -[(299 )-4800(err_dump\("_db_readptr:)-600(read error of ptr field"\);)]TJ -T* -[(300 )-2400(asciiptr[PTR_SZ])]TJ -0.6 Tc 15 0 Td -(=0)Tj -4.2 Tc 1.8 0 Td -(;/)Tj -0.6 Tc 5.4 0 Td -(*n)Tj -0 Tc 1.8 0 Td -(ull terminate */)Tj --24 -1.189 Td -[(301 )-2400(return\(atol\(asciiptr\)\);)]TJ -T* -[(302 )-1200(})]TJ -0 -2.021 TD -[(303 )-1200(/*)]TJ -0 -1.189 TD -[(304 )-1800(*)-600(Read the next index record.)-1200(We start at the specified offset)]TJ -0 -1.189 TD -[(305 )-1800(*)-600(in the index file.)-1200(We read the index record into db->idxbuf)]TJ -0 -1.189 TD -[(306 )-1800(*)-600(and replace the separators with null bytes.)-1200(If all is OK we)]TJ -T* -[(307 )-1800(*)-600(set db->datoff and db->datlen to the offset and length of the)]TJ -T* -[(308 )-1800(*)-600(corresponding data record in the data file.)]TJ -T* -[(309 )-1800(*/)]TJ -T* -[(310 )-1200(static)-600(off_t)]TJ -T* -[(311 )-1200(_db_readidx\(DB)-600(*db, off_t offset\))]TJ -T* -[(312 )-1200({)]TJ -T* -[(313 )-2400(ssize_t)]TJ -16.8 0 Td -(i;)Tj --16.8 -1.189 Td -[(314 )-2400(char)]TJ -14.4 0 Td -(*ptr1, *ptr2;)Tj --14.4 -1.189 Td -[(315 )-2400(char)]TJ -14.4 0 Td -(asciiptr[PTR_SZ + 1], asciilen[IDXLEN_SZ + 1];)Tj --14.4 -1.189 Td -[(316 )-2400(struct)-600(iovec )-1800(iov[2];)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3294.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 305.3814 Tm -[([287 )167(\320 )167(302])]TJ -/TT0 1 Tf -5 0 Td -(_db_readptr)Tj -/T1_0 1 Tf --0.018 Tc 6.853 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ads )-3(any )-3(one )-3(of )-3(thr)18(ee )-3(dif)18(fer)18(ent )-3(chain )-3(pointers: )-3(\(a\) )-3(the )-3(pointer)]TJ --7.709 -1.2 Td -[(at )-74(the )-74(beginning )-74(of )-74(the )-74(index )-74(\336le )-74(that )-74(points )-74(to )-74(the )-74(\336rst )-74(index )-74(r)23(ecor)18(d)-324(on)-324(t)1(he)]TJ -0 -1.2 Td -[(fr)18(ee )-57(list, )-57(\(b\) )-57(the )-57(pointers )-57(in )-57(the )-57(hash )-57(table )-57(that )-57(point )-57(to )-57(the )-57(\336rst )-57(index )-57(r)23(ecor)18(d)]TJ -0 -1.2 TD -[(on )-98(each )-98(hash )-98(chain, )-98(and )-98(\(c\) )-98(the )-98(pointers )-98(that )-98(ar)]TJ -0.3485 Tc 21.451 0 Td -(es)Tj -0 Tc 1.251 0 Td -[(tor)18(ed )-98(at )-98(the )-98(beginning )-98(of)]TJ --22.703 -1.2 Td -[(each )-24(index )-24(r)18(ecor)]TJ -0.2742 Tc 7.255 0 Td -(d\()Tj -0 Tc 1.218 0 Td -[(whether )-24(the )-24(index )-24(r)17(ecor)18(d)-274(is)-274(part )-24(of )-24(a )-24(hash )-24(chain )-24(or )-24(on )-24(the)]TJ --8.474 -1.2 Td -[(fr)18(ee )-316(list\).)]TJ --0.092 Tc 4.965 0 Td -[(We )-500(c)]TJ -0 Tc 2.397 0 Td -[(onvert )-316(the )-316(pointer )-316(fr)19(om )-316(ASCII )-316(to )-316(a )-316(long )-316(integer )-316(befor)20(e)]TJ --0.018 Tc -7.361 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turning it.)-500(No locking is done by this function; that is up to the caller)74(.)]TJ --5.856 -1.6 Td -[([303 )167(\320 )167(316])-668(The)]TJ -/TT0 1 Tf -6.97 0 Td -(_db_readidx)Tj -/T1_0 1 Tf -6.896 0 Td -[(function )-46(is )-46(used )-46(to )-46(r)18(ead )-46(the )-46(r)16(ecor)18(d)-296(at)-296(t)-1(he )-46(speci\336ed )-46(of)17(fset)]TJ --8.867 -1.2 Td -[(fr)18(om )-16(the )-16(index )-16(\336le.)-516(On )-16(success, )-16(the )-16(function )-16(will )-16(r)18(eturn )-16(the )-16(of)22(fset )-15(of )-15(the )-15(next)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(d)-277(in)-277(t)-1(he )-27(list.)-527(In )-27(this )-27(case, )-27(the )-27(function )-27(will )-27(populate )-27(several )-27(\336elds )-27(in )-27(the)]TJ -/TT0 1 Tf --0.856 -1.2 Td -(DB)Tj -/T1_0 1 Tf -1.569 0 Td -[(str)8(uctur)18(e:)]TJ -/TT0 1 Tf -4.588 0 Td -(idxoff)Tj -/T1_0 1 Tf -3.969 0 Td -[(contains )-119(the )-119(of)17(fset )-119(of )-119(the )-119(curr)18(ent )-119(r)17(ecor)18(d)-369(in)-369(the )-119(index)]TJ --10.127 -1.2 Td -(\336le,)Tj -/TT0 1 Tf -1.997 0 Td -(ptrval)Tj -/T1_0 1 Tf -3.972 0 Td -[(contains )-122(the )-122(of)17(fset )-122(of )-122(the )-122(next )-122(index )-122(entry )-122(in )-122(the )-122(list,)]TJ -/TT0 1 Tf -24.43 0 Td -(idxlen)Tj -/T1_0 1 Tf --30.4 -1.2 Td -[(contains )-88(the )-88(length )-88(of )-88(the )-88(curr)18(ent )-88(index )-88(r)16(ecor)18(d,)]TJ -/TT0 1 Tf -21.639 0 Td -(idxbuf)Tj -/T1_0 1 Tf -3.938 0 Td -[(contains )-88(the )-88(actual)]TJ --25.578 -1.2 Td -[(index )-113(r)18(ecor)18(d,)]TJ -/TT0 1 Tf -6.289 0 Td -(datoff)Tj -/T1_0 1 Tf -3.963 0 Td -[(contains )-113(the )-113(of)18(fset )-113(of )-113(the )-113(r)19(ecor)18(d)-363(in)-363(the )-113(data )-113(\336le, )-113(and)]TJ -/TT0 1 Tf --10.251 -1.2 Td -(datlen)Tj -/T1_0 1 Tf -3.85 0 Td -[(contains the length of the data r)18(ecor)18(d.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47577 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(494)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(the )-93(linked )-93(list )-93(of )-93(locks )-93(for )-93(the )-93(corr)18(esponding )-93(i-node )-93(and )-93(r)21(eleases )-93(the )-93(locks )-93(held )-93(by )-93(the)]TJ -0 -1.2 TD -[(calling )-144(pr)18(ocess. )-394(The)-393(kernel )-144(can\325t )-144(tell )-144(\(and )-144(doesn\325t )-144(car)18(e\) )-144(which )-144(descriptor )-144(of )-144(the )-144(thr)21(ee)]TJ -0 -1.2 Td -[(was used by the par)18(ent to obtain the lock.)]TJ -/TT0 1 Tf --3.6 -2.64 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(In )-54(the )-54(pr)18(ogram )-54(in )-54(Figur)]TJ -0.3041 Tc 10.636 0 Td -(e1)Tj -0 Tc 1.283 0 Td -[(3.6, )-54(we )-54(saw )-54(how )-54(a )-54(daemon )-54(can )-54(use )-54(a )-54(lock )-54(on )-54(a )-54(\336le )-54(to )-54(ensur)15(e)]TJ --11.919 -1.2 Td -[(that )-45(only )-45(one )-45(copy )-45(of )-45(the )-45(daemon )-45(is )-45(r)11(unning. )-295(Figur)]TJ -0.2946 Tc 23.162 0 Td -(e1)Tj -0 Tc 1.274 0 Td -[(4.9 )-44(shows )-44(the )-44(implementation )-44(of)]TJ --24.436 -1.2 Td -(the)Tj -/TT1 1 Tf -1.637 0 Td -(lockfile)Tj -/T1_1 1 Tf -5.05 0 Td -(function used by the daemon to place a write lock on a \336le.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5634.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 553.8325 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(lockfile\(int fd\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(struct flock fl;)Tj -0 -1.783 TD -(fl.l_type = F_WRLCK;)Tj -0 -1.189 TD -(fl.l_start = 0;)Tj -T* -(fl.l_whence = SEEK_SET;)Tj -0 -1.189 TD -(fl.l_len = 0;)Tj -0 -1.189 TD -(return\(fcntl\(fd, F_SETLK, &fl\)\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4207.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 242.3804 404.6252 Tm -(Figure 14.9)Tj -/T1_1 1 Tf -5.695 0 Td -(Place a write lock on an entir)Tj -0.25 Tc 12.745 0 Td -(e\336)Tj -0 Tc 1.334 0 Td -(le)Tj -9.9982 0 0 9.9982 147.5735 380.6295 Tm -[(Alternatively)111(,)-282(we)-282(c)1(ould )-32(de\336ne )-32(the)]TJ -/TT1 1 Tf -15.357 0 Td -(lockfile)Tj -/T1_1 1 Tf -5.082 0 Td -[(function )-32(in )-32(terms )-32(of )-32(the)]TJ -/TT1 1 Tf -10.762 0 Td -(write_lock)Tj -/T1_1 1 Tf --33 -1.2 Td -(function:)Tj -/TT1 1 Tf -8.9984 0 0 8.9984 147.5735 351.9346 Tm -(#define lockfile\(fd\) write_lock\(\(fd\), 0, SEEK_SET, 0\))Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3460.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9976 0 0 9.9976 93.5775 321.9207 Tm -[(Loc)20(ks at End of File)]TJ -/T1_1 1 Tf --0.092 Tc 3.6 -2.4 Td -[(We )-188(n)]TJ -0 Tc 2.223 0 Td -[(eed )-4(to )-4(use )-4(caution )-4(when )-4(locking )-4(or )-4(unlocking )-4(byte )-4(ranges )-4(r)18(elative )-4(to )-4(the )-4(end )-4(of )-4(\336le.)]TJ --2.223 -1.2 Td -[(Most )-56(implementations )-56(convert )-56(an)]TJ -/TT1 1 Tf -15.371 0 Td -(l_whence)Tj -/T1_1 1 Tf -5.106 0 Td -[(value )-56(of)]TJ -/TT1 1 Tf -3.93 0 Td -(SEEK_CUR)Tj -/T1_1 1 Tf -5.106 0 Td -(or)Tj -/TT1 1 Tf -1.247 0 Td -(SEEK_END)Tj -/T1_1 1 Tf -5.106 0 Td -[(into )-56(an)]TJ --35.867 -1.2 Td -[(absolute )-199(\336le )-199(of)18(fset, )-199(using)]TJ -/TT1 1 Tf -12.023 0 Td -(l_start)Tj -/T1_1 1 Tf -4.649 0 Td -[(and )-199(the )-199(\336le\325s )-199(curr)18(ent )-199(position )-199(or )-199(curr)18(ent )-199(length.)]TJ --16.672 -1.2 Td -[(Often, )-128(however)74(,)-378(we)-378(n)-1(eed )-128(to )-128(specify )-128(a )-128(lock )-128(r)18(elative )-128(to )-128(the )-128(\336le\325s )-128(curr)18(ent )-128(length, )-128(but )-128(we)]TJ -0 -1.2 TD -[(can\325t )-119(call)]TJ -/TT1 1 Tf -4.395 0 Td -(fstat)Tj -/T1_1 1 Tf -3.37 0 Td -[(to )-120(obtain )-120(the )-120(curr)18(ent )-120(\336le )-120(size, )-120(since )-120(we )-120(don\325t )-120(have )-120(a )-120(lock )-120(on )-120(the )-120(\336le.)]TJ --7.765 -1.2 Td -[(\(Ther)18(e\325s )-38(a )-38(chance )-38(that )-38(another )-38(pr)19(ocess )-38(could )-38(change )-38(the )-38(\336le\325s )-38(length )-38(between )-38(the )-38(call )-38(to)]TJ -/TT1 1 Tf --0 -1.2 Td -(fstat)Tj -/T1_1 1 Tf -3.25 0 Td -(and the lock call.\))Tj --1.45 -1.2 Td -(Consider the following sequence of steps:)Tj -/TT1 1 Tf -8.9978 0 0 8.9978 147.5645 196.181 Tm -(writew_lock\(fd, 0, SEEK_END, 0\);)Tj -0 -1.189 TD -(write\(fd, buf, 1\);)Tj -T* -(un_lock\(fd, 0, SEEK_END\);)Tj -T* -(write\(fd, buf, 1\);)Tj -/T1_1 1 Tf -9.9976 0 0 9.9976 129.5688 145.0234 Tm -[(This )-92(sequence )-92(of )-92(code )-92(might )-92(not )-92(do )-92(what )-92(you )-92(expect.)-592(It )-92(obtains )-92(a )-92(write )-92(lock )-92(fr)18(om )-92(the)]TJ -0 -1.2 TD -[(curr)18(ent )-111(end )-111(of )-111(the )-111(\336le )-111(onwar)18(d, )-111(covering )-111(any )-111(futur)]TJ -0.3612 Tc 22.847 0 Td -(ed)Tj -0 Tc 1.451 0 Td -[(ata )-111(we )-111(might )-111(append )-111(to )-111(the )-111(\336le.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47578 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(486)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(fcntl)Tj -/TT1 1 Tf -3.278 0 Td -(Recor)Tj -0.278 Tc 2.814 0 Td -(dL)Tj -0 Tc 1.5 0 Td -[(oc)20(king)]TJ -/T1_1 1 Tf --3.992 -2.4 Td -[(Let\325s r)18(epeat the pr)18(ototype for the)]TJ -/TT2 1 Tf -14.786 0 Td -(fcntl)Tj -/T1_1 1 Tf -3.25 0 Td -[(function fr)18(om Section 3.14.)]TJ -/TT2 1 Tf -8.9995 0 0 8.9995 147.5911 625.8624 Tm -(#include )Tj -0 -2.021 TD -(int fcntl\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(fd)Tj -/TT2 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(cmd)Tj -/TT2 1 Tf -0.6 Tc (,.)Tj -0 Tc 3.485 0 Td -(.. /* struct flock *)Tj -/T1_2 1 Tf -(\337ockptr)Tj -/TT2 1 Tf -15.662 0 Td -(*/ \);)Tj -/T1_1 1 Tf --18.492 -2.021 Td -(Returns: depends on)Tj -/T1_2 1 Tf -9.392 0 Td -(cmd)Tj -/T1_1 1 Tf -1.935 0 Td -(if OK \(see following\),)Tj -/TT3 1 Tf -9.704 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5850.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 569.0517 Tm -[(For )-245(r)18(ecor)]TJ -0.495 Tc 4.215 0 Td -(dl)Tj -0 Tc 1.397 0 Td -(ocking,)Tj -/T1_2 1 Tf -3.72 0 Td -(cmd)Tj -/T1_1 1 Tf -2.18 0 Td -(is)Tj -/TT2 1 Tf -1.21 0 Td -(F_GETLK)Tj -/T1_1 1 Tf -(,)Tj -/TT2 1 Tf -4.945 0 Td -(F_SETLK)Tj -/T1_1 1 Tf -0.495 Tc (,o)Tj -0 Tc 5.491 0 Td -(r)Tj -/TT2 1 Tf -0.89 0 Td -(F_SETLKW)Tj -/T1_1 1 Tf -0.745 Tc (.T)Tj -0 Tc 6.408 0 Td -[(he )-245(thir)]TJ -0.495 Tc 3.132 0 Td -(da)Tj --0.018 Tc 1.606 0 Td -(rg)Tj -0 Tc 0.933 0 Td -(ument)Tj --36.127 -1.2 Td -(\(which we\325ll call)Tj -/T1_2 1 Tf -7.515 0 Td -(\337ockptr)Tj -/T1_1 1 Tf -[(\))-250(is)-250(a)-250(pointer to an)]TJ -/TT2 1 Tf -11.284 0 Td -(flock)Tj -/T1_1 1 Tf -3.25 0 Td -[(str)8(uctur)18(e.)]TJ -/TT2 1 Tf -8.9989 0 0 8.9989 147.5825 535.0058 Tm -(struct flock {)Tj -1.2 -1.189 Td -[(short )-600(l_type;)-1800(/* F_RDLCK, F_WRLCK, or F_UNLCK */)]TJ -0 -1.189 TD -[(short )-600(l_whence;)-600(/* SEEK_SET, SEEK_CUR, or SEEK_END */)]TJ -T* -[(off_t )-600(l_start; )-600(/*)-600(offset in bytes, relative to l_whence */)]TJ -T* -[(off_t )-600(l_len;)-2400(/* length, in bytes; 0 means lock to EOF */)]TJ -0 -1.189 TD -[(pid_t )-600(l_pid;)-2400(/* returned with F_GETLK */)]TJ --1.2 -1.189 Td -(};)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5846 447.4663 Tm -[(This str)8(uctur)]TJ -0.25 Tc 5.65 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(escribes)Tj -0.883 Tc -5.19 -2.16 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-61(type )-61(of )-61(lock )-61(desir)16(ed:)]TJ -/TT2 1 Tf -10.818 0 Td -(F_RDLCK)Tj -/T1_1 1 Tf -4.511 0 Td -[(\(a )-61(shar)18(ed )-61(r)18(ead )-61(lock\),)]TJ -/TT2 1 Tf -9.439 0 Td -(F_WRLCK)Tj -/T1_1 1 Tf -4.511 0 Td -[(\(an )-61(exclusive)]TJ --29.892 -1.2 Td -(write lock\), or)Tj -/TT2 1 Tf -6.436 0 Td -(F_UNLCK)Tj -/T1_1 1 Tf -4.45 0 Td -[(\(unlocking a r)18(egion\))]TJ -0.883 Tc -12.375 -1.72 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-128(starting )-128(byte )-128(of)18(fset )-128(of )-128(the )-128(r)18(egion )-128(being )-128(locked )-128(or )-128(unlocked )-128(\()]TJ -/TT2 1 Tf -(l_start)Tj -/T1_1 1 Tf -33.405 0 Td -(and)Tj -/TT2 1 Tf --34.018 -1.2 Td -(l_whence)Tj -/T1_1 1 Tf -(\))Tj -0.883 Tc -1.489 -1.72 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he size of the r)18(egion in bytes \()]TJ -/TT2 1 Tf -(l_len)Tj -/T1_1 1 Tf -(\))Tj -0.883 Tc -2.102 -1.72 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-271(ID )-271(\()]TJ -/TT2 1 Tf -(l_pid)Tj -/T1_1 1 Tf -[(\))-521(of)-521(the )-271(pr)18(ocess )-271(holding )-271(the )-271(lock )-271(that )-271(can )-271(block )-271(the )-271(curr)18(ent)]TJ --0.613 -1.2 Td -[(pr)18(ocess \(r)18(eturned by)]TJ -/TT2 1 Tf -9.339 0 Td -(F_GETLK)Tj -/T1_1 1 Tf -4.45 0 Td -(only\))Tj --17.078 -2.16 Td -[(Numer)18(ous r)8(ules apply to the speci\336cation of the r)18(egion to be locked or unlocked.)]TJ -0.883 Tc 1.8 -2.16 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-73(two )-73(elements )-73(that )-73(specify )-73(the )-73(starting )-73(of)18(fset )-73(of )-73(the )-73(r)18(egion )-73(ar)]TJ -0.3235 Tc 28.314 0 Td -(es)Tj -0 Tc 1.226 0 Td -[(imilar )-73(to )-73(the)]TJ --30.154 -1.2 Td -[(last )-79(two )-79(ar)18(guments )-79(of )-79(the)]TJ -/TT2 1 Tf -11.887 0 Td -(lseek)Tj -/T1_1 1 Tf -3.329 0 Td -[(function )-79(\(Section )-79(3.6\).)-578(Indeed, )-79(the)]TJ -/TT2 1 Tf -15.696 0 Td -(l_whence)Tj -/T1_1 1 Tf --30.911 -1.2 Td -(member is speci\336ed as)Tj -/TT2 1 Tf -10.245 0 Td -(SEEK_SET)Tj -/T1_1 1 Tf -(,)Tj -/TT2 1 Tf -5.3 0 Td -(SEEK_CUR)Tj -/T1_1 1 Tf -0.25 Tc (,o)Tj -0 Tc 5.846 0 Td -(r)Tj -/TT2 1 Tf -0.645 0 Td -(SEEK_END)Tj -/T1_1 1 Tf -(.)Tj -0.883 Tc -23.525 -1.72 Td -(\245L)Tj -0 Tc 2.1 0 Td -[(ocks )-141(can )-141(start )-141(and )-141(extend )-141(beyond )-141(the )-141(curr)18(ent )-141(end )-141(of )-141(\336le, )-141(but )-141(cannot )-141(start )-141(or)]TJ --0.611 -1.2 Td -(extend befor)Tj -0.25 Tc 5.531 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he beginning of the \336le.)Tj -0.883 Tc -8.075 -1.72 Td -(\245I)Tj -0 Tc 1.826 0 Td -(f)Tj -/TT2 1 Tf -0.658 0 Td -(l_len)Tj -/T1_1 1 Tf -3.325 0 Td -[(is )-75(0, )-75(it )-75(means )-75(that )-75(the )-75(lock )-75(extends )-75(to )-75(the )-75(lar)18(gest )-75(possible )-75(of)18(fset )-75(of )-75(the)]TJ --4.321 -1.2 Td -[(\336le. )-255(This)-256(allows )-5(us )-5(to )-5(lock )-5(a )-5(r)16(egion )-5(starting )-5(anywher)17(e)-255(in)-255(t)-1(he )-5(\336le, )-5(up )-5(thr)18(ough )-5(and)]TJ --0 -1.2 Td -[(including )-93(any )-93(data )-93(that )-93(is )-93(appended )-93(to )-93(the )-93(\336le.)-591(\(W)]TJ -0.3428 Tc 23.199 0 Td -(ed)Tj -0 Tc 1.433 0 Td -[(on\325t )-93(have )-93(to )-93(try )-93(to )-93(guess)]TJ --24.632 -1.2 Td -(how many bytes might be appended to the \336le.\))Tj -0.883 Tc -1.489 -1.72 Td -(\245T)Tj -0.2913 Tc 2.01 0 Td -(ol)Tj -0 Tc 1.128 0 Td -[(ock )-41(the )-41(entir)]TJ -0.2912 Tc 5.571 0 Td -(e\336)Tj -0 Tc 1.375 0 Td -[(le, )-41(we )-41(set)]TJ -/TT2 1 Tf -4.436 0 Td -(l_start)Tj -/T1_1 1 Tf -4.491 0 Td -(and)Tj -/TT2 1 Tf -1.984 0 Td -(l_whence)Tj -/T1_1 1 Tf -5.091 0 Td -[(to )-41(point )-41(to )-41(the )-41(beginning)]TJ --24.597 -1.2 Td -[(of )-65(the )-65(\336le )-65(and )-65(specify )-65(a )-65(length )-65(\()]TJ -/TT2 1 Tf -14.315 0 Td -(l_len)Tj -/T1_1 1 Tf -[(\))-315(of)-315(0)]TJ -0.5648 Tc (.\()Tj -0 Tc 6.489 0 Td -(Ther)Tj -0.3148 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.294 0 Td -[(re )-101(s)]TJ -0 Tc 1.595 0 Td -[(everal )-65(ways )-65(to )-65(specify)]TJ --25.744 -1.2 Td -[(the )-288(beginning )-288(of )-288(the )-288(\336le, )-288(but )-288(most )-288(applications )-288(specify)]TJ -/TT2 1 Tf -26.78 0 Td -(l_start)Tj -/T1_1 1 Tf -4.738 0 Td -[(as )-288(0 )-288(and)]TJ -/TT2 1 Tf --31.518 -1.2 Td -(l_whence)Tj -/T1_1 1 Tf -5.05 0 Td -(as)Tj -/TT2 1 Tf -1.174 0 Td -(SEEK_SET)Tj -/T1_1 1 Tf -(.\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47579 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(172)Tj -/T1_1 1 Tf -3.5 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Library)]TJ -34.372 0 Td -[(Chapter )-250(5)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(append, )-107(the )-107(curr)18(ent )-107(\336le )-107(position )-107(is )-107(set )-107(to )-107(the )-107(\336rst )-107(null )-107(byte )-107(in )-107(the )-107(buf)19(fer)]TJ -0.607 Tc 32.694 0 Td -(.I)Tj -0.357 Tc 1.194 0 Td -(ft)Tj -0 Tc 1.016 0 Td -[(he )-107(buf)18(fer)]TJ --34.904 -1.2 Td -[(contains )-111(no )-111(null )-111(bytes, )-111(then )-111(the )-111(curr)18(ent )-111(position )-111(is )-111(set )-111(to )-111(one )-111(byte )-111(past )-111(the )-111(end )-111(of )-111(the)]TJ -0 -1.2 TD -[(buf)18(fer)]TJ -0.7164 Tc 2.604 0 Td -(.W)Tj -0 Tc 1.966 0 Td -[(hen )-216(a )-216(str)18(eam )-216(is )-216(not )-216(opened )-216(for )-216(append, )-216(the )-216(curr)18(ent )-216(position )-216(is )-216(set )-216(to )-216(the)]TJ --4.57 -1.2 Td -[(beginning )-108(of )-108(the )-108(buf)17(fer)]TJ -0.6085 Tc 10.418 0 Td -(.B)Tj -0 Tc 1.469 0 Td -[(ecause )-108(the )-108(append )-108(mode )-108(determines )-108(the )-108(end )-108(of )-108(the )-108(data )-108(by)]TJ --11.887 -1.2 Td -[(the )-160(\336rst )-160(null )-160(byte, )-160(memory )-160(str)18(eams )-160(ar)17(en\325t )-160(well )-160(suited )-160(for )-160(storing )-160(binary )-160(data )-160(\(which)]TJ -T* -(might contain null bytes befor)Tj -0.25 Tc 13.302 0 Td -(et)Tj -0 Tc 1.055 0 Td -(he end of the data\).)Tj --12.557 -1.2 Td -[(Second, )-84(if )-84(the)]TJ -/T1_2 1 Tf -6.449 0 Td -(buf)Tj -/T1_1 1 Tf -1.631 0 Td -[(ar)18(gument )-84(is )-84(a )-84(null )-84(pointer)75(,)-334(it)-334(m)1(akes )-84(no )-84(sense )-84(to )-84(open )-84(the )-84(str)20(eam)]TJ --9.88 -1.2 Td -[(for )-104(only )-104(r)18(eading )-104(or )-104(only )-104(writing.)-604(Because )-104(the )-104(buf)21(fer )-104(is )-104(allocated )-104(by)]TJ -/TT0 1 Tf -30.997 0 Td -(fmemopen)Tj -/T1_1 1 Tf -5.154 0 Td -[(in )-104(this)]TJ --36.15 -1.2 Td -[(case, )-32(ther)18(e)-282(is)-282(no)-282(w)1(ay )-32(to )-32(\336nd )-32(the )-32(buf)19(fer )176(\325s)-282(addr)18(ess, )-32(so )-32(to )-32(open )-32(the )-32(str)18(eam )-32(only )-32(for )-32(writing)]TJ -0 -1.2 Td -[(means )-63(we )-63(could )-63(never )-63(r)18(ead )-63(what )-63(we\325ve )-63(written.)-561(Similarly)111(,)-313(to)-313(open )-63(the )-63(str)18(eam )-63(only )-63(for)]TJ --0.018 Tc -0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading )-26(means )-26(we )-26(can )-26(only )-26(r)20(ead )-26(the )-26(contents )-26(of )-26(a )-26(buf)18(fer )-26(into )-26(which )-26(we )-26(can )-26(never )-26(write.)]TJ -0.944 -1.2 Td -[(Thir)18(d, )-204(a )-204(null )-204(byte )-204(is )-204(written )-204(at )-204(the )-204(curr)14(ent )-205(position )-205(in )-205(the )-205(str)18(eam )-205(whenever )-205(we)]TJ --1.8 -1.2 Td -[(incr)18(ease )-133(the )-133(amount )-133(of )-133(data )-133(in )-133(the )-133(str)18(eam\325s )-133(buf)18(fer )-133(and )-133(call)]TJ -/TT0 1 Tf -27.283 0 Td -(fclose)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.233 0 Td -(fflush)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -4.233 0 Td -(fseek)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --35.75 -1.2 Td -(fseeko)Tj -/T1_1 1 Tf -0.25 Tc (,o)Tj -0 Tc 4.646 0 Td -(r)Tj -/TT0 1 Tf -0.645 0 Td -(fsetpos)Tj -/T1_1 1 Tf -(.)Tj -/TT1 1 Tf --8.891 -2.76 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(It\325s )-251(instr)8(uctive )-251(to )-251(look )-251(at )-251(how )-251(writes )-251(to )-251(a )-251(memory )-251(str)18(eam )-251(operate )-251(on )-251(a )-251(buf)18(fer )-251(we)]TJ -T* -[(pr)18(ovide. )-479(Figur)]TJ -0.4787 Tc 6.832 0 Td -(e5)Tj -0 Tc 1.458 0 Td -[(.15 )-229(shows )-229(a )-229(sample )-229(pr)18(ogram )-229(that )-229(seeds )-229(the )-229(buf)18(fer )-229(with )-229(a )-229(known)]TJ --8.289 -1.2 Td -[(pattern to see how writes to the str)18(eam behave.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4302.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 420.6485 Tm -(#include "apue.h")Tj -0 -2.021 TD -(#define BSZ 48)Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(FILE *fp;)Tj -0 -1.189 TD -(char buf[BSZ];)Tj -0 -2.021 TD -(memset\(buf, \325a\325, BSZ-2\);)Tj -0 -1.189 TD -(buf[BSZ-2] = \325\\0\325;)Tj -0 -1.189 TD -(buf[BSZ-1] = \325X\325;)Tj -T* -(if \(\(fp = fmemopen\(buf, BSZ, "w+"\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("fmemopen failed"\);)Tj --2.4 -1.189 Td -(printf\("initial buffer contents: %s\\n", buf\);)Tj -T* -(fprintf\(fp, "hello, world"\);)Tj -T* -(printf\("before flush: %s\\n", buf\);)Tj -T* -(fflush\(fp\);)Tj -T* -(printf\("after fflush: %s\\n", buf\);)Tj -0 -1.189 TD -(printf\("len of string in buf = %ld\\n", \(long\)strlen\(buf\)\);)Tj -0 -2.021 TD -(memset\(buf, \325b\325, BSZ-2\);)Tj -0 -1.189 TD -(buf[BSZ-2] = \325\\0\325;)Tj -T* -(buf[BSZ-1] = \325X\325;)Tj -T* -(fprintf\(fp, "hello, world"\);)Tj -T* -(fseek\(fp, 0, SEEK_SET\);)Tj -T* -[(printf\("after )-600(fseek:)-600(%s\\n", buf\);)]TJ -T* -(printf\("len of string in buf = %ld\\n", \(long\)strlen\(buf\)\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47580 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(158)Tj -/T1_1 1 Tf -3.5 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Library)]TJ -34.372 0 Td -[(Chapter )-250(5)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -1.783 TD -(long ftell\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -13.816 -1.783 Td -[(Returns: curr)18(ent \336le position indicator if OK,)]TJ -/TT1 1 Tf -20.037 0 Td -(!)Tj -/T1_1 1 Tf -[(1L on err)18(or)]TJ -/TT0 1 Tf --33.853 -1.783 Td -(int fseek\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -0.6 Tc (,l)Tj -0 Tc 12.178 0 Td -(ong)Tj -/T1_2 1 Tf -2.4 0 Td -(offset)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.911 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(whence)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -6.562 -1.783 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --34.464 -1.783 Td -(void rewind\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5735.25 cm -0 0 m -0 938 l -3900 938 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 557.5831 Tm -[(For )-95(a )-95(binary )-95(\336le, )-95(a )-95(\336le\325s )-95(position )-95(indicator )-95(is )-95(measur)18(ed )-95(in )-95(bytes )-95(fr)18(om )-95(the )-95(beginning )-95(of)]TJ -0 -1.2 TD -[(the )-38(\336le.)-538(The )-38(value )-38(r)19(eturned )-38(by)]TJ -/TT0 1 Tf -14.062 0 Td -(ftell)Tj -/T1_1 1 Tf -3.288 0 Td -[(for )-38(a )-38(binary )-38(\336le )-38(is )-38(this )-38(byte )-38(position.)]TJ --0.092 Tc 16.688 0 Td -[(To )-222(p)]TJ -0 Tc 1.956 0 Td -(osition)Tj -0.3306 Tc -35.994 -1.2 Td -(ab)Tj -0 Tc 1.384 0 Td -[(inary )-81(\336le )-81(using)]TJ -/TT0 1 Tf -7.147 0 Td -(fseek)Tj -/T1_1 1 Tf -[(,)-331(we)-331(m)1(ust )-81(specify )-81(a )-81(byte)]TJ -/T1_2 1 Tf -14.325 0 Td -(offset)Tj -/T1_1 1 Tf -2.441 0 Td -[(and )-80(indicate )-80(how )-80(that )-80(of)18(fset )-80(is)]TJ --25.297 -1.2 Td -[(interpr)18(eted. )-563(The)-563(values )-313(for)]TJ -/T1_2 1 Tf -13.508 0 Td -(whence)Tj -/T1_1 1 Tf -3.526 0 Td -(ar)Tj -0.5631 Tc 0.877 0 Td -(et)Tj -0 Tc 1.368 0 Td -[(he )-313(same )-313(as )-313(for )-313(the)]TJ -/TT0 1 Tf -9.748 0 Td -(lseek)Tj -/T1_1 1 Tf -3.563 0 Td -[(function )-313(fr)18(om)]TJ --32.591 -1.2 Td -[(Section )-24(3.6:)]TJ -/TT0 1 Tf -5.24 0 Td -(SEEK_SET)Tj -/T1_1 1 Tf -5.074 0 Td -[(means )-24(fr)18(om )-23(the )-23(beginning )-23(of )-23(the )-23(\336le,)]TJ -/TT0 1 Tf -16.672 0 Td -(SEEK_CUR)Tj -/T1_1 1 Tf -5.074 0 Td -[(means )-23(fr)18(om )-23(the)]TJ --32.059 -1.2 Td -[(curr)18(ent )-70(\336le )-70(position, )-70(and)]TJ -/TT0 1 Tf -11.411 0 Td -(SEEK_END)Tj -/T1_1 1 Tf -5.12 0 Td -[(means )-70(fr)18(om )-70(the )-70(end )-70(of )-70(\336le.)-570(ISO )-70(C )-70(doesn\325t )-70(r)18(equir)18(e)]TJ --16.531 -1.2 Td -[(an )-186(implementation )-186(to )-186(support )-186(the)]TJ -/TT0 1 Tf -16.079 0 Td -(SEEK_END)Tj -/T1_1 1 Tf -5.236 0 Td -[(speci\336cation )-186(for )-186(a )-186(binary )-186(\336le, )-186(as )-186(some)]TJ --21.316 -1.2 Td -[(systems )-70(r)18(equir)]TJ -0.3199 Tc 6.523 0 Td -(eab)Tj -0 Tc 2.172 0 Td -[(inary )-70(\336le )-70(to )-70(be )-70(padded )-70(at )-70(the )-70(end )-70(with )-70(zer)19(os )-70(to )-70(make )-70(the )-70(\336le )-70(size )-70(a)]TJ --8.695 -1.2 Td -[(multiple )-256(of )-256(some )-256(magic )-256(number)]TJ -0.7564 Tc 15.097 0 Td -(.U)Tj -0 Tc 1.784 0 Td -[(nder )-256(the )-256(UNIX )-256(System, )-256(however)72(,)]TJ -/TT0 1 Tf -16.098 0 Td -(SEEK_END)Tj -/T1_1 1 Tf -5.306 0 Td -(is)Tj --38.285 -1.2 Td -(supported for binary \336les.)Tj -1.8 -1.2 Td -[(For )-171(text )-171(\336les, )-171(the )-171(\336le\325s )-171(curr)18(ent )-171(position )-171(may )-171(not )-171(be )-171(measurable )-171(as )-171(a )-171(simple )-171(byte)]TJ --1.8 -1.2 Td -[(of)18(fset. )-392(Again,)-393(this )-142(is )-142(mainly )-142(under )-142(non-UNIX )-142(systems )-142(that )-142(might )-142(stor)]TJ -0.3924 Tc 32.132 0 Td -(et)Tj -0 Tc 1.197 0 Td -[(ext )-142(\336les )-142(in )-142(a)]TJ --33.33 -1.2 Td -[(dif)18(fer)18(ent )-213(format.)]TJ --0.092 Tc 8.202 0 Td -[(To )-397(p)]TJ -0 Tc 2.131 0 Td -[(osition )-213(a )-213(text )-213(\336le,)]TJ -/T1_2 1 Tf -8.63 0 Td -(whence)Tj -/T1_1 1 Tf -3.426 0 Td -[(has )-213(to )-213(be)]TJ -/TT0 1 Tf -4.799 0 Td -(SEEK_SET)Tj -/T1_1 1 Tf -0.463 Tc (,a)Tj -0 Tc 6.013 0 Td -[(nd )-213(only )-213(two)]TJ --33.2 -1.2 Td -[(values )-111(for)]TJ -/T1_2 1 Tf -4.857 0 Td -(offset)Tj -/T1_1 1 Tf -2.472 0 Td -(ar)Tj -0.3607 Tc 0.877 0 Td -(ea)Tj -0 Tc 1.34 0 Td -[(llowed: )-111(0)]TJ -0.0833 Tc 4.246 0 Td -(\321m)Tj -0 Tc 1.966 0 Td -[(eaning )-111(r)18(ewind )-111(the )-111(\336le )-111(to )-111(its )-111(beginning)]TJ -0.0833 Tc 17.558 0 Td -(\321o)Tj -0.3606 Tc 1.629 0 Td -(rav)Tj -0 Tc 2.181 0 Td -(alue)Tj --37.127 -1.2 Td -[(that )-87(was )-87(r)17(eturned )-88(by)]TJ -/TT0 1 Tf -9.803 0 Td -(ftell)Tj -/T1_1 1 Tf -3.338 0 Td -[(for )-88(that )-88(\336le.)]TJ -0.3376 Tc 5.896 0 Td -(As)Tj -0 Tc 1.54 0 Td -[(tr)18(eam )-88(can )-88(also )-88(be )-88(set )-88(to )-88(the )-88(beginning )-88(of)]TJ --20.576 -1.2 Td -(the \336le with the)Tj -/TT0 1 Tf -7.182 0 Td -(rewind)Tj -/T1_1 1 Tf -3.85 0 Td -(function.)Tj --9.232 -1.2 Td -(The)Tj -/TT0 1 Tf -1.938 0 Td -(ftello)Tj -/T1_1 1 Tf -3.864 0 Td -[(function )-14(is )-14(the )-14(same )-14(as)]TJ -/TT0 1 Tf -10.339 0 Td -(ftell)Tj -/T1_1 1 Tf -0.2639 Tc (,a)Tj -0 Tc 4.014 0 Td -[(nd )-14(the)]TJ -/TT0 1 Tf -3.108 0 Td -(fseeko)Tj -/T1_1 1 Tf -3.864 0 Td -[(function )-14(is )-14(the )-14(same )-14(as)]TJ -/TT0 1 Tf --28.926 -1.2 Td -(fseek)Tj -/T1_1 1 Tf -0.25 Tc (,e)Tj -0 Tc 3.979 0 Td -[(xcept that the type of the of)18(fset is)]TJ -/TT0 1 Tf -14.853 0 Td -(off_t)Tj -/T1_1 1 Tf -3.25 0 Td -(instead of)Tj -/TT0 1 Tf -4.592 0 Td -(long)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5811 334.5099 Tm -(#include )Tj -0 -1.783 TD -(off_t ftello\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -10.127 -1.783 Td -[(Returns: curr)18(ent \336le position indicator if OK,)]TJ -/TT0 1 Tf -20.037 0 Td -(\(off_t\))Tj -/TT1 1 Tf -(!)Tj -/TT0 1 Tf -(1)Tj -/T1_1 1 Tf -5.599 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --35.763 -1.783 Td -(int fseeko\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -0.6 Tc (,o)Tj -0 Tc 12.778 0 Td -(ff_t)Tj -/T1_2 1 Tf -3 0 Td -(offset)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.911 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(whence)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -5.362 -1.783 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2658.25 cm -0 0 m -0 777 l -3900 777 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 249.905 Tm -[(Recall )-20(the )-20(discussion )-20(of )-20(the)]TJ -/TT0 1 Tf -12.315 0 Td -(off_t)Tj -/T1_1 1 Tf -3.27 0 Td -[(data )-20(type )-20(in )-20(Section )-20(3.6.)-520(Implementations )-20(can )-20(de\336ne)]TJ --15.584 -1.2 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(off_t)Tj -/T1_1 1 Tf -3.25 0 Td -[(type to be lar)18(ger than 32 bits.)]TJ --3.087 -1.2 Td -[(As )-36(we )-36(mentioned )-36(earlier)]TJ -0.2856 Tc 10.907 0 Td -(,t)Tj -0 Tc 0.862 0 Td -(he)Tj -/TT0 1 Tf -1.347 0 Td -(fgetpos)Tj -/T1_1 1 Tf -4.486 0 Td -(and)Tj -/TT0 1 Tf -1.979 0 Td -(fsetpos)Tj -/T1_1 1 Tf -4.486 0 Td -[(functions )-35(wer)]TJ -0.2855 Tc 6.106 0 Td -(ei)Tj -0 Tc 1.056 0 Td -[(ntr)18(oduced )-35(by)]TJ --33.027 -1.2 Td -[(the ISO C standar)18(d.)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.5737 194.8149 Tm -(#include )Tj -T* -(int fgetpos\(FILE *restrict)Tj -/T1_2 1 Tf -16.2 0 Td -(fp)Tj -/TT0 1 Tf -0.6 Tc (,f)Tj -0 Tc 2.578 0 Td -(pos_t *restrict)Tj -/T1_2 1 Tf -9.6 0 Td -(pos)Tj -/TT0 1 Tf -(\);)Tj --28.378 -1.783 Td -(int fsetpos\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 13.378 0 Td -(onst fpos_t *)Tj -/T1_2 1 Tf -(pos)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -9.31 -1.783 Td -[(Both r)18(eturn: 0 if OK, nonzer)18(o)-250(on)-250(err)18(or)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1422.25 cm -0 0 m -0 616 l -3900 616 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47581 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(736)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pseudo )-250(T)92(erminals )]TJ -38.741 0 Td -[(Chapter)-500(19)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 670.2598 Tm -(pty slowout > file.out &)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 653.3307 Tm -(the)Tj -/TT0 1 Tf -1.721 0 Td -(pty)Tj -/T1_1 1 Tf -2.134 0 Td -[(pr)18(ocess )-84(is )-84(stopped )-84(immediately )-84(when )-84(the )-84(child )-84(tries )-84(to )-84(r)17(ead )-84(fr)18(om )-84(its )-84(standar)18(d)]TJ --3.855 -1.2 Td -[(input )-44(\(the )-44(terminal\).)-544(The )-44(r)17(eason )-44(is )-44(that )-44(the )-44(job )-44(is )-44(a )-44(backgr)18(ound )-44(job )-44(and )-44(gets )-44(job-contr)15(ol)]TJ -0 -1.2 TD -[(stopped )-82(when )-82(it )-82(tries )-82(to )-82(access )-82(the )-82(terminal.)-582(If )-82(we )-82(r)20(edir)18(ect )-82(standar)]TJ -0.3318 Tc 30.155 0 Td -(di)Tj -0 Tc 1.234 0 Td -[(nput )-82(so )-82(that)]TJ -/TT0 1 Tf -5.811 0 Td -(pty)Tj -/T1_1 1 Tf --37.2 -1.2 Td -[(doesn\325t try to r)18(ead fr)18(om the terminal, as in)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 601.7037 Tm -(pty slowout < /dev/null > file.out &)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.592 584.775 Tm -(the)Tj -/TT0 1 Tf -1.656 0 Td -(pty)Tj -/T1_1 1 Tf -2.069 0 Td -[(pr)18(ogram )-19(stops )-19(immediately )-19(because )-19(it )-19(r)16(eads )-20(an )-20(end )-20(of )-20(\336le )-20(on )-20(its )-20(standar)]TJ -0.2696 Tc 31.991 0 Td -(di)Tj -0 Tc 1.172 0 Td -(nput)Tj --36.888 -1.2 Td -[(and )-40(terminates.)-540(The )-40(solution )-40(for )-40(this )-40(pr)19(oblem )-40(is )-40(the)]TJ -/TT0 1 Tf -23.498 0 Td -(-i)Tj -/T1_1 1 Tf -1.49 0 Td -[(option, )-40(which )-40(says )-40(to )-40(ignor)]TJ -0.2897 Tc 12.162 0 Td -(ea)Tj -0 Tc 1.269 0 Td -(n)Tj --38.418 -1.2 Td -(end of \336le on the standar)Tj -0.25 Tc 11.011 0 Td -(di)Tj -0 Tc 1.152 0 Td -(nput:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5905 545.1473 Tm -(pty -i slowout < /dev/null > file.out &)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5916 528.2182 Tm -[(This )-10(\337ag )-10(causes )-10(the)]TJ -/TT0 1 Tf -8.873 0 Td -(pty)Tj -/T1_1 1 Tf -2.06 0 Td -[(child )-10(in )-10(Figur)]TJ -0.2596 Tc 5.994 0 Td -(e1)Tj -0 Tc 1.239 0 Td -[(9.12 )-10(to )-10(exit )-10(when )-10(the )-10(end )-10(of )-10(\336le )-10(is )-10(encounter)21(ed,)]TJ --18.166 -1.2 Td -[(but )-41(the )-41(child )-41(doesn\325t )-41(tell )-41(the )-41(par)18(ent )-41(to )-41(terminate.)-539(Instead, )-41(the )-41(par)18(ent )-41(continues )-41(copying)]TJ -T* -(the PTY slave output to standar)Tj -0.25 Tc 13.977 0 Td -(do)Tj -0 Tc 1.407 0 Td -(utput \(the \336le)Tj -/TT0 1 Tf -6.304 0 Td -(file.out)Tj -/T1_1 1 Tf -5.05 0 Td -(in the example\).)Tj -/TT1 1 Tf --30.338 -2.64 Td -(script)Tj -/TT2 1 Tf -3.878 0 Td -[(Pr)20(ogram)]TJ -/T1_1 1 Tf --0.278 -1.92 Td -[(Using )-152(the)]TJ -/TT0 1 Tf -4.823 0 Td -(pty)Tj -/T1_1 1 Tf -2.202 0 Td -[(pr)18(ogram, )-152(we )-152(can )-152(implement )-152(the)]TJ -/TT0 1 Tf -15.161 0 Td -(script)Tj -/T1_1 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.735 -0.04 Td -[(pr)18(ogram )-152(as )-152(the )-152(following)]TJ --27.354 -1.2 Td -(shell script:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5907 430.9939 Tm -(#!/bin/sh)Tj -0 -1.189 TD -(pty "${SHELL:-/bin/sh}" | tee typescript)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5918 403.3655 Tm -[(Once )-136(we )-136(r)8(un )-136(this )-136(shell )-136(script, )-136(we )-136(can )-136(execute )-136(the)]TJ -/TT0 1 Tf -23.014 0 Td -(ps)Tj -/T1_1 1 Tf -1.586 0 Td -[(command )-136(to )-136(see )-136(all )-136(the )-136(pr)16(ocess)]TJ --0.018 Tc -24.6 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(lationships. )-250(Figur)]TJ -0.25 Tc 7.991 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(9.14 details these r)18(elationships.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1356 3021.9 288 252 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 140.9191 317.9918 Tm -(login)Tj -0.1 -1.25 Td -(shell)Tj -ET -q -0.99988 0 0 0.99988 0 0 cm -q 1 0 0 1 193.2 314.79 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -1 j 1 J -q 1 0 0 1 1932 3147.8999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1644.25 3148.25 cm -0 0 m -216 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1932 3021.9 288 252 re -S -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 202.7635 312.9737 Tm -(sh)Tj -ET -q -0.99982 0 0 0.99982 0 0 cm -q 1 0 0 1 250.8 314.79 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -1 j 1 J -q 1 0 0 1 2508 3147.8999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2220.25 3148.25 cm -0 0 m -216 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2508 3021.9 288 252 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 257.9381 312.9549 Tm -(tee)Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 308.4 314.79 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 3084 3147.8999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2796.25 3148.25 cm -0 0 m -216 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -3084 3021.9 288 252 re -S -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 315.5053 317.9346 Tm -(pty)Tj -/T1_1 1 Tf --0.533 -1.25 Td -[(par)18(ent)]TJ -ET -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 366 314.79 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 3660 3147.8999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3372.25 3148.25 cm -0 0 m -216 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -3660 3021.9 288 252 re -S -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 373.0657 317.9155 Tm -(pty)Tj -/T1_1 1 Tf --0.21 -1.25 Td -(child)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -4236 3021.9 288 252 re -S -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 430.6191 312.8986 Tm -(ksh)Tj -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 481.2 314.79 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 4812 3147.8999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4524.25 3148.25 cm -0 0 m -216 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -4812 3021.9 288 252 re -S -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 490.5645 312.8798 Tm -(ps)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 423.6 314.79 cm -0 0 m --6.48 3.6 l --4.032 6.192 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 4236 3147.8999 cm -0 0 m --64.8 36 l --40.32 61.92 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3372 3183.8999 cm -0 0 m -144 117 l -240 195 336 234 432 234 c -528 234 623.16 189.84 717.48 101.52 c -858.96 -30.96 l -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 265.2 348.99 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 2652 3489.8999 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2652.25 3274.25 cm -0 0 m -0 144 l -S -Q -Q -BT -/TT0 1 Tf -7.9952 0 0 7.9952 241.0553 364.6112 Tm -(typescript)Tj -/T1_1 1 Tf -2.313 -1.25 Td -(\336le)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -2472 2445.9 360 216 re -S -Q -BT -/T1_1 1 Tf -7.9947 0 0 7.9947 258.4574 258.4594 Tm -(line)Tj --1.331 -1.25 Td -(discipline)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -2508 2013.9 288 216 re -S -Q -BT -/T1_1 1 Tf -7.9942 0 0 7.9942 257.4426 210.2785 Tm -(TTY)Tj -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -3372 2013.9 288 216 re -S -Q -BT -/T1_1 1 Tf -7.9938 0 0 7.9938 343.7957 215.262 Tm -(PTY)Tj --0.562 -1.25 Td -(master)Tj -ET -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -4776 2445.9 360 216 re -S -Q -BT -/T1_1 1 Tf -7.9933 0 0 7.9933 488.6174 258.4128 Tm -(line)Tj --1.331 -1.25 Td -(discipline)Tj -ET -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -4812 2013.9 288 216 re -S -Q -BT -/T1_1 1 Tf -7.9928 0 0 7.9928 487.6249 215.2362 Tm -(PTY)Tj --0.187 -1.25 Td -(slave)Tj -ET -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 486.96 266.19 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 4869.6001 2661.8999 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4869.25 3022.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 504.24 302.19 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 5042.3999 3021.8999 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5042.25 2950.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 486.96 222.99 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 4869.6001 2229.8999 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4869.25 2446.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 504.24 244.59 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 5042.3999 2445.8999 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5042.25 2374.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 256.56 222.99 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 2565.6001 2229.8999 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2565.25 2446.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9988007 0 0 0.9988007 0 0 cm -q 1 0 0 1 273.84 244.59 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -1 j 1 J -q 1 0 0 1 2738.3999 2445.8999 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2738.25 2374.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9987408 0 0 0.9987408 0 0 cm -q 1 0 0 1 256.56 266.19 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -1 j 1 J -q 1 0 0 1 2565.6001 2661.8999 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2565.25 3022.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9986808 0 0 0.9986808 0 0 cm -q 1 0 0 1 389.04 302.19 cm -0 0 m --6.336 -3.888 l --7.416 -0.432 l -f -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -1 j 1 J -q 1 0 0 1 3890.3999 3021.8999 cm -0 0 m --63.36 -38.88 l --74.16 -4.32 l -h -S -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 3000.25 cm -0 0 m --1084 -338 l -S -Q -Q -q -0.9986209 0 0 0.9986209 0 0 cm -q 1 0 0 1 342.96 222.99 cm -0 0 m -0.792 7.416 l -4.176 6.192 l -f -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -1 j 1 J -q 1 0 0 1 3429.6001 2229.8999 cm -0 0 m -7.92 74.16 l -41.76 61.92 l -h -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3717.25 3022.25 cm -0 0 m --263 -725 l -S -Q -Q -q -0.998561 0 0 0.998561 0 0 cm -q 1 0 0 1 331.44 302.19 cm -0 0 m -4.176 -6.12 l -0.792 -7.344 l -f -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -1 j 1 J -q 1 0 0 1 3314.3999 3021.8999 cm -0 0 m -41.76 -61.2 l -7.92 -73.44 l -h -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3339.25 2954.25 cm -0 0 m -263 -724 l -S -Q -Q -q -0.9985011 0 0 0.9985011 0 0 cm -q 1 0 0 1 265.2 201.39 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -1 j 1 J -q 1 0 0 1 2652 2013.9 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9984412 0 0 0.9984412 0 0 cm -q 1 0 0 1 265.2 179.79 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -1 j 1 J -q 1 0 0 1 2652 1797.9 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2652.25 1942.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2832 1689.9 cm -0 0 m -0 -59.65 -80.59 -108 -180 -108 c --279.41 -108 -360 -59.65 -360 0 c --360 59.64 -279.41 108 -180 108 c --80.59 108 0 59.64 0 0 c -h -S -Q -Q -BT -/T1_1 1 Tf -7.9871 0 0 7.9871 257.179 166.9593 Tm -(user)Tj -ET -q -0.9983813 0 0 0.9983813 0 0 cm -q 1 0 0 1 486.96 186.99 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -1 j 1 J -q 1 0 0 1 4869.6001 1869.9 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4869.25 2014.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9983214 0 0 0.9983214 0 0 cm -q 1 0 0 1 360.24 201.39 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -1 j 1 J -q 1 0 0 1 3602.3999 2013.9 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3602.25 1942.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9982615 0 0 0.9982615 0 0 cm -q 1 0 0 1 360.24 186.99 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -1 j 1 J -q 1 0 0 1 3602.3999 1869.9 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4869.25 1870.25 cm -0 0 m --1195 0 l -S -Q -Q -q -0.9982016 0 0 0.9982016 0 0 cm -q 1 0 0 1 504.24 201.39 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998202 0 0 0.0998202 0 0 cm -1 j 1 J -q 1 0 0 1 5042.3999 2013.9 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998202 0 0 0.0998202 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5042.25 1942.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9981417 0 0 0.9981417 0 0 cm -q 1 0 0 1 342.96 179.79 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -1 j 1 J -q 1 0 0 1 3429.6001 1797.9 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3429.25 2014.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9980818 0 0 0.9980818 0 0 cm -q 1 0 0 1 504.24 179.79 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -1 j 1 J -q 1 0 0 1 5042.3999 1797.9 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3429.25 1798.25 cm -0 0 m -1541 0 l -S -Q -Q -q -0.9980219 0 0 0.9980219 0 0 cm -q 1 0 0 1 314.16 284.19 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -1 j 1 J -q 1 0 0 1 3141.6001 2841.8999 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3141.25 3022.25 cm -0 0 m -0 -108 l -S -Q -Q -q -0.997962 0 0 0.997962 0 0 cm -q 1 0 0 1 273.84 302.19 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0997962 0 0 0.0997962 0 0 cm -1 j 1 J -q 1 0 0 1 2738.3999 3021.8999 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0997962 0 0 0.0997962 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2738.25 2950.25 cm -0 0 m -0 -108 l -S -Q -Q -q -0.9979021 0 0 0.9979021 0 0 cm -q 1 0 0 1 273.84 284.19 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0997902 0 0 0.0997902 0 0 cm -1 j 1 J -q 1 0 0 1 2738.3999 2841.8999 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.0997902 0 0 0.0997902 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2810.25 2842.25 cm -0 0 m -331 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9827 0 0 7.9827 285.4946 286.8098 Tm -(pipe)Tj -/T1_0 1 Tf --9.264 -19.005 Td -(Figure 19.14)Tj -/T1_1 1 Tf -6.195 0 Td -[(Arrangement of pr)18(ocesses for)]TJ -/TT0 1 Tf -13.306 0 Td -(script)Tj -/T1_1 1 Tf -3.85 0 Td -(shell script)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47582 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(720)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pseudo )-250(T)92(erminals )]TJ -38.741 0 Td -[(Chapter)-500(19)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2460.12 4874 576 252 re -S -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 258.8085 503.2098 Tm -(terminal)Tj --0.929 -1.25 Td -(device driver)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -3252.12 4874 576 252 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 333.408 498.1802 Tm -(PTY master)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -4044.12 4874 576 252 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 415.5652 498.1503 Tm -(PTY slave)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2460.12 5342 576 252 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 259.7616 549.908 Tm -(terminal)Tj --1.225 -1.25 Td -(line discipline)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -4044.12 5342 576 252 re -S -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 418.0985 549.875 Tm -(terminal)Tj --1.226 -1.25 Td -(line discipline)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 4586.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 4656.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 4725.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 4795.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 4864.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 4934.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 5004.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 5074.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 5144.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 5214.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 5283.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 5353.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 5422.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 5492.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 5562.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 5632.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 5702.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2386.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2458.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2528.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2600.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2741.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2812.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2883.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2954.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3025.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3096.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3167.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3238.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3309.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3380.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3451.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3522.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3592.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3664.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3734.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3806.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3876.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3947.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4018.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4089.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4160.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4231.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4302.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4444.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4515.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4586.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4657.25 5738.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4728.25 5738.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4764.25 5668.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4764.25 5598.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4764.25 5528.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4764.25 5458.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4764.25 5389.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4764.25 5319.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4764.25 5250.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4764.25 5180.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4764.25 5110.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4764.25 5040.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4764.25 4970.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4764.25 4900.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4764.25 4831.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4764.25 4761.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4764.25 4692.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4764.25 4622.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4693.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4622.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4551.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4480.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4409.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4338.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4267.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4196.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4125.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4054.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3983.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3912.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3842.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3770.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3700.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3628.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3558.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3487.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3416.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3345.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3274.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3203.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3132.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3061.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2990.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2919.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2848.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2777.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2636.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2564.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2494.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2422.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2352.25 4586.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 478.2398 514.2548 Tm -(kernel)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2663.88 5954 959.762 252 re -S -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 285.712 605.9854 Tm -(script)Tj -/T1_1 1 Tf -3.85 0 Td -[(pr)18(ocess)]TJ -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 314.412 642.2 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3144.1201 6422 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3144.25 6206.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -2964.12 6422 360 216 re -S -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 304.3419 655.9251 Tm -(script)Tj -0.553 -1.25 Td -(\336le)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 266.388 608 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 2663.8799 6080 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2592.25 6080.25 cm -0 0 m --432 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9957 0 0 7.9957 231.463 610.91 Tm -(fork)Tj -0 -1.25 TD -(exec)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -1727.88 5954 432 252 re -S -Q -BT -/T1_1 1 Tf -7.9952 0 0 7.9952 185.2128 610.8734 Tm -(login)Tj -0.1 -1.25 Td -(shell)Tj --1.151 -1.575 Td -(\(sleeping\))Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -4116.12 5954 432 252 re -S -Q -BT -/T1_1 1 Tf -7.9947 0 0 7.9947 424.6636 605.84 Tm -(shell)Tj -ET -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 411.612 608 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 4116.1201 6080 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3623.25 6080.25 cm -0 0 m -420 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9942 0 0 7.9942 377.1164 610.8001 Tm -(fork)Tj -T* -(exec)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 265.164 512.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 2651.6399 5126 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2651.25 5342.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 284.388 534.2 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 2843.8799 5342 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2844.25 5270.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 423.564 512.6 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 4235.6401 5126 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4235.25 5342.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 442.788 534.2 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 4427.8799 5342 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4428.25 5270.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 426.012 559.4 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 4260.1201 5594 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4260.25 5954.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 440.412 595.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 4404.1201 5954 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4404.25 5882.25 cm -0 0 m -0 -288 l -S -Q -Q -BT -/T1_2 1 Tf -7.9914 0 0 7.9914 401.5381 587.5651 Tm -(stdout)Tj -0.166 -1.25 Td -(stderr)Tj -5.089 1.25 Td -(stdin)Tj -ET -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 423.564 473 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 4235.6401 4730 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4235.25 4874.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9988606 0 0 0.9988606 0 0 cm -q 1 0 0 1 363.588 487.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -1 j 1 J -q 1 0 0 1 3635.8799 4874 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3636.25 4802.25 cm -0 0 m -0 -72 l -S -Q -Q -q -0.9988007 0 0 0.9988007 0 0 cm -q 1 0 0 1 363.588 473 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -1 j 1 J -q 1 0 0 1 3635.8799 4730 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4235.25 4730.25 cm -0 0 m --527 0 l -S -Q -Q -q -0.9987408 0 0 0.9987408 0 0 cm -q 1 0 0 1 442.788 487.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -1 j 1 J -q 1 0 0 1 4427.8799 4874 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4428.25 4802.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9986808 0 0 0.9986808 0 0 cm -q 1 0 0 1 344.364 465.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -1 j 1 J -q 1 0 0 1 3443.6399 4658 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3443.25 4874.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9986209 0 0 0.9986209 0 0 cm -q 1 0 0 1 442.788 465.8 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -1 j 1 J -q 1 0 0 1 4427.8799 4658 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3443.25 4658.25 cm -0 0 m -913 0 l -S -Q -Q -q -0.998561 0 0 0.998561 0 0 cm -q 1 0 0 1 265.164 559.4 cm -0 0 m -2.016 7.128 l -5.184 5.328 l -f -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -1 j 1 J -q 1 0 0 1 2651.6399 5594 cm -0 0 m -20.16 71.28 l -51.84 53.28 l -h -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2856.25 5954.25 cm -0 0 m --169 -298 l -S -Q -Q -q -0.9985011 0 0 0.9985011 0 0 cm -q 1 0 0 1 304.764 595.4 cm -0 0 m --2.016 -7.128 l --5.184 -5.328 l -f -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -1 j 1 J -q 1 0 0 1 3047.6399 5954 cm -0 0 m --20.16 -71.28 l --51.84 -53.28 l -h -S -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2844.25 5594.25 cm -0 0 m -168 297 l -S -Q -Q -q -0.9984412 0 0 0.9984412 0 0 cm -q 1 0 0 1 344.364 512.6 cm -0 0 m --3.456 6.552 l -0.072 7.416 l -f -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -1 j 1 J -q 1 0 0 1 3443.6399 5126 cm -0 0 m --34.56 65.52 l -0.72 74.16 l -h -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3240.25 5954.25 cm -0 0 m -186 -758 l -S -Q -Q -q -0.9983813 0 0 0.9983813 0 0 cm -q 1 0 0 1 343.212 595.4 cm -0 0 m -3.456 -6.552 l --0.072 -7.416 l -f -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -1 j 1 J -q 1 0 0 1 3432.1201 5954 cm -0 0 m -34.56 -65.52 l --0.72 -74.16 l -h -S -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3636.25 5126.25 cm -0 0 m --187 758 l -S -Q -Q -q -0.9983214 0 0 0.9983214 0 0 cm -q 1 0 0 1 274.812 487.4 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -1 j 1 J -q 1 0 0 1 2748.1201 4874 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.9982615 0 0 0.9982615 0 0 cm -q 1 0 0 1 274.812 437 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -1 j 1 J -q 1 0 0 1 2748.1201 4370 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2748.25 4802.25 cm -0 0 m -0 -360 l -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2964.1201 4244 cm -0 0 m -0 -69.59 -96.71 -126 -216 -126 c --335.29 -126 -432 -69.59 -432 0 c --432 69.59 -335.29 126 -216 126 c --96.71 126 0 69.59 0 0 c -h -S -Q -Q -BT -/T1_1 1 Tf -7.9856 0 0 7.9856 259.4366 426.8709 Tm -(user at a)Tj --0.01 -1.25 Td -(terminal)Tj -/T1_0 1 Tf -0.434 -4.33 Td -(Figure 19.5)Tj -/T1_1 1 Tf -5.695 0 Td -(The)Tj -/TT0 1 Tf -1.924 -0 Td -(script)Tj -/T1_1 1 Tf -3.85 0 Td -[(pr)18(ogram)]TJ -9.982 0 0 9.982 147.3343 349.9693 Tm -[(After )-138(developing )-138(the )-138(general)]TJ -/TT0 1 Tf -13.534 0 Td -(pty)Tj -/T1_1 1 Tf -2.188 0 Td -[(pr)18(ogram )-138(in )-138(Section )-138(19.5, )-138(we\325ll )-138(see )-138(that )-138(a )-138(trivial)]TJ --17.522 -1.2 Td -(shell script turns it into a version of the)Tj -/TT0 1 Tf -17.538 0 Td -(script)Tj -/T1_1 1 Tf -3.85 0 Td -[(pr)18(ogram.)]TJ -/TT1 1 Tf --24.988 -3 Td -(expect)Tj -/TT2 1 Tf -3.878 0 Td -[(Pr)20(ogram)]TJ -/T1_1 1 Tf --0.278 -2.4 Td -[(Pseudo )-137(terminals )-137(can )-137(be )-137(used )-137(to )-137(drive )-137(interactive )-137(pr)16(ograms )-137(in )-137(noninteractive )-137(modes.)]TJ -0 -1.2 TD -[(Numer)18(ous )-111(pr)18(ograms )-111(ar)]TJ -0.361 Tc 10.627 0 Td -(eh)Tj -0 Tc 1.422 0 Td -[(ar)18(d-wir)18(ed )-111(to )-111(r)18(equir)]TJ -0.3611 Tc 8.694 0 Td -(eat)Tj -0 Tc 2.027 0 Td -[(erminal )-111(to )-111(r)8(un. )-361(One)-361(example )-111(is )-111(the)]TJ -/TT0 1 Tf --22.77 -1.2 Td -(passwd)Tj -/T1_1 1 Tf -3.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.714 -0.04 Td -[(command, )-131(which )-131(r)18(equir)18(es )-131(that )-131(the )-131(user )-131(enter )-131(a )-131(passwor)17(d)-381(in)-381(r)18(esponse )-131(to )-131(a)]TJ --5.147 -1.2 Td -[(pr)18(ompt.)]TJ -1.8 -1.2 Td -[(Rather )-328(than )-328(modify )-328(all )-328(the )-328(interactive )-328(pr)16(ograms )-328(to )-328(support )-328(a )-328(batch )-328(mode )-328(of)]TJ --1.8 -1.2 Td -[(operation, )-40(a )-40(better )-40(solution )-40(is )-40(to )-40(pr)18(ovide )-40(a )-40(way )-40(to )-40(drive )-40(any )-40(interactive )-40(pr)18(ogram )-40(fr)18(om )-40(a)]TJ -T* -[(script. )-289(The)]TJ -/TT0 1 Tf -5.233 0 Td -(expect)Tj -/T1_1 1 Tf -3.889 0 Td -[(pr)18(ogram)]TJ -4.147 0.04 Td -([)Tj -0.333 -0.04 Td -[(Libes )-39(1990, )-39(1991, )-39(1994)]TJ -9.725 0.04 Td -(])Tj -0.622 -0.04 Td -[(pr)18(ovides )-39(a )-39(way )-39(to )-39(do )-39(this.)-539(It )-39(uses)]TJ --23.948 -1.2 Td -[(pseudo )-150(terminals )-150(to )-150(r)8(un )-150(other )-150(pr)17(ograms, )-150(similar )-150(to )-150(the)]TJ -/TT0 1 Tf -25.675 0 Td -(pty)Tj -/T1_1 1 Tf -2.2 0 Td -[(pr)18(ogram )-150(in )-150(Section )-150(19.5.)]TJ --27.875 -1.2 Td -(But)Tj -/TT0 1 Tf -2.057 0 Td -(expect)Tj -/T1_1 1 Tf -4.117 0 Td -[(also )-267(pr)18(ovides )-267(a )-267(pr)17(ogramming )-267(language )-267(to )-267(examine )-267(the )-267(output )-267(of )-267(the)]TJ --6.175 -1.2 Td -[(pr)18(ogram )-55(being )-55(r)8(un )-55(to )-55(make )-55(decisions )-55(about )-55(what )-55(to )-55(send )-55(the )-55(pr)18(ogram )-55(as )-55(input.)-559(When)]TJ -0 -1.2 Td -[(an interactive pr)18(ogram is being r)8(un fr)18(om a script, we can\325t just copy everything fr)18(om the)]TJ -T* -[(script )-202(to )-202(the )-202(pr)19(ogram, )-202(and )-202(vice )-202(versa.)-702(Instead, )-202(we )-202(have )-202(to )-202(send )-202(the )-202(pr)18(ogram )-202(some)]TJ -T* -(input, look at its output, and decide what to send it next.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47583 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(52)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 670.2598 Tm -[(#include )-600()]TJ -0 -2.021 TD -(for \(i = 0; i < sysconf\(_SC_OPEN_MAX\); i++\))Tj -2.4 -1.189 Td -(close\(i\);)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 620.9729 Tm -[(Our )-317(best )-317(option )-317(in )-317(this )-317(case )-317(is )-317(just )-317(to )-317(close )-317(all )-317(descriptors )-317(up )-317(to )-317(some )-317(arbitrary)]TJ -0 -1.2 TD -[(limit )167(\321 )167(say)]TJ -0.5977 Tc 4.618 0 Td -(,2)Tj -0 Tc 1.348 0 Td -[(56. )-598(W)]TJ -0.5978 Tc 3.006 0 Td -(es)Tj -0 Tc 1.501 0 Td -[(how )-348(this )-348(technique )-348(in )-348(Figur)]TJ -0.5978 Tc 13.578 0 Td -(e2)Tj -0 Tc 1.577 0 Td -[(.17. )-598(As)-598(with )-348(our )-348(pathname)]TJ --25.627 -1.2 Td -[(example, )-19(this )-19(strategy )-19(is )-19(not )-19(guaranteed )-19(to )-19(work )-19(for )-19(all )-19(cases, )-19(but )-19(it\325s )-19(the )-19(best )-19(we )-19(can )-19(do)]TJ -T* -(without using a mor)Tj -0.25 Tc 9.02 0 Td -(ee)Tj -0 Tc 1.208 0 Td -[(xotic appr)18(oach.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5778.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 568.2408 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -2.021 TD -[(#ifdef )-600(OPEN_MAX)]TJ -0 -1.189 TD -(static long openmax = OPEN_MAX;)Tj -0 -1.189 TD -(#else)Tj -0 -1.189 TD -(static long openmax = 0;)Tj -T* -(#endif)Tj -0 -2.021 TD -(/*)Tj -0.6 -1.189 Td -[(*)-600(If)-600(OPEN_MAX is indeterminate, this might be inadequate.)]TJ -0 -1.189 TD -(*/)Tj --0.6 -1.189 Td -[(#define OPEN_MAX_GUESS)-1200(256)]TJ -0 -2.021 TD -(long)Tj -0 -1.189 TD -(open_max\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(if \(openmax == 0\) {)-3000(/* first time through */)]TJ -2.4 -1.189 Td -(errno = 0;)Tj -T* -(if \(\(openmax = sysconf\(_SC_OPEN_MAX\)\) < 0\) {)Tj -2.4 -1.189 Td -(if \(errno == 0\))Tj -2.4 -1.189 Td -[(openmax = OPEN_MAX_GUESS;)-1800(/* it\325s indeterminate */)]TJ --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(err_sys\("sysconf error for _SC_OPEN_MAX"\);)Tj --4.8 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -T* -(return\(openmax\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2735.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 229.7386 257.4916 Tm -(Figure 2.17)Tj -/T1_1 1 Tf -5.695 0 Td -(Determine the number of \336le descriptors)Tj --0.092 Tc 9.9982 0 0 9.9982 147.5736 228.6968 Tm -[(We )-194(m)]TJ -0 Tc 2.53 0 Td -[(ight )-10(be )-10(tempted )-10(to )-10(call)]TJ -/TT0 1 Tf -10.191 0 Td -(close)Tj -/T1_1 1 Tf -3.26 0 Td -[(until )-10(we )-10(get )-10(an )-10(err)18(or )-10(r)18(eturn, )-10(but )-10(the )-10(err)18(or )-10(r)15(eturn)]TJ --17.781 -1.2 Td -[(fr)18(om)]TJ -/TT0 1 Tf -2.394 0 Td -(close)Tj -/T1_1 1 Tf -3.255 0 Td -(\()Tj -/TT0 1 Tf -(EBADF)Tj -/T1_1 1 Tf -0.2551 Tc (\)d)Tj -0 Tc 4.532 0 Td -[(oesn\325t )-5(distinguish )-5(between )-5(an )-5(invalid )-5(descriptor )-5(and )-5(a )-5(descriptor)]TJ --10.181 -1.2 Td -[(that )-318(wasn\325t )-318(open.)-818(If )-318(we )-318(tried )-318(this )-318(technique )-318(and )-318(descriptor )-318(9 )-318(was )-318(not )-318(open )-318(but)]TJ -0 -1.2 TD -[(descriptor )-371(10 )-371(was, )-371(we )-371(would )-371(stop )-371(on )-371(9 )-371(and )-371(never )-371(close )-371(10.)-876(The)]TJ -/TT0 1 Tf -32.872 0 Td -(dup)Tj -/T1_1 1 Tf -2.421 0 Td -(function)Tj --35.293 -1.2 Td -[(\(Section )-56(3.12\) )-56(does )-56(r)18(eturn )-56(a )-56(speci\336c )-56(err)18(or )-56(when)]TJ -/TT0 1 Tf -21.335 0 Td -(OPEN_MAX)Tj -/T1_1 1 Tf -5.106 0 Td -[(is )-56(exceeded, )-56(but )-56(duplicating)]TJ -0.25 Tc -26.441 -1.2 Td -(ad)Tj -0 Tc 1.361 0 Td -[(escriptor a couple of hundr)18(ed times is an extr)18(eme way to determine this value.)]TJ -0.439 -1.2 Td -[(Some )-165(implementations )-165(will )-165(r)19(eturn)]TJ -/TT0 1 Tf -16.045 0 Td -(LONG_MAX)Tj -/T1_1 1 Tf -5.215 0 Td -[(for )-165(limit )-165(values )-165(that )-165(ar)]TJ -0.4148 Tc 10.488 0 Td -(ee)Tj --0.018 Tc 1.373 0 Td -(ff)Tj -0 Tc 0.648 0 Td -(ectively)Tj --35.569 -1.2 Td -[(unlimited. )-256(Such)-257(is )-6(the )-6(case )-6(with )-6(the )-6(Linux )-6(limit )-6(for)]TJ -/TT0 1 Tf -22.904 0 Td -(ATEXIT_MAX)Tj -/T1_1 1 Tf -6.256 0.04 Td -(\()Tj -0.333 -0.04 Td -[(see )-6(Figur)]TJ -0.2565 Tc 4.021 0 Td -(e2)Tj -0 Tc 1.236 0 Td -(.15)Tj -1.25 0.04 Td -(\))Tj -0.5065 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.369 0 Td -(his)Tj --37.703 -1.2 Td -[(isn\325t a good idea, because it can cause pr)18(ograms to behave badly)111(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47584 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.5)]TJ -41.507 0 Td -(Limits)Tj -/T1_1 1 Tf -4.826 0 Td -(47)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -1.783 TD -(static void pr_sysconf\(char *, int\);)Tj -0 -1.189 TD -(static void pr_pathconf\(char *, char *, int\);)Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(argc != 2\))Tj -2.4 -1.189 Td -(err_quit\("usage: a.out "\);)Tj --4.8 -1.783 Td -(#ifdef ARG_MAX)Tj -2.4 -1.189 Td -(printf\("ARG_MAX defined to be %ld\\n", \(long\)ARG_MAX+0\);)Tj --2.4 -1.189 Td -(#else)Tj -2.4 -1.189 Td -(printf\("no symbol for ARG_MAX\\n"\);)Tj --2.4 -1.189 Td -(#endif)Tj -T* -(#ifdef _SC_ARG_MAX)Tj -2.4 -1.189 Td -(pr_sysconf\("ARG_MAX =", _SC_ARG_MAX\);)Tj --2.4 -1.189 Td -(#else)Tj -2.4 -1.189 Td -(printf\("no symbol for _SC_ARG_MAX\\n"\);)Tj --2.4 -1.189 Td -(#endif)Tj -0 -1.783 TD -(/* similar processing for all the rest of the sysconf symbols... */)Tj -T* -(#ifdef MAX_CANON)Tj -2.4 -1.189 Td -(printf\("MAX_CANON defined to be %ld\\n", \(long\)MAX_CANON+0\);)Tj --2.4 -1.189 Td -(#else)Tj -2.4 -1.189 Td -(printf\("no symbol for MAX_CANON\\n"\);)Tj --2.4 -1.189 Td -(#endif)Tj -0 -1.189 TD -(#ifdef _PC_MAX_CANON)Tj -2.4 -1.189 Td -(pr_pathconf\("MAX_CANON =", argv[1], _PC_MAX_CANON\);)Tj --2.4 -1.189 Td -(#else)Tj -2.4 -1.189 Td -(printf\("no symbol for _PC_MAX_CANON\\n"\);)Tj --2.4 -1.189 Td -(#endif)Tj -0 -1.783 TD -(/* similar processing for all the rest of the pathconf symbols... */)Tj -2.4 -1.783 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -T* -(static void)Tj -0 -1.189 TD -(pr_sysconf\(char *mesg, int name\))Tj -T* -({)Tj -2.4 -1.189 Td -[(long )-1800(val;)]TJ -0 -1.783 TD -(fputs\(mesg, stdout\);)Tj -0 -1.189 TD -(errno = 0;)Tj -T* -(if \(\(val = sysconf\(name\)\) < 0\) {)Tj -2.4 -1.189 Td -(if \(errno != 0\) {)Tj -2.4 -1.189 Td -(if \(errno == EINVAL\))Tj -2.4 -1.189 Td -(fputs\(" \(not supported\)\\n", stdout\);)Tj --2.4 -1.189 Td -(else)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47585 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.9)]TJ -38.193 0 Td -(Performance)Tj -/T1_1 1 Tf -7.64 0 Td -(785)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(grained )-199(locking )-199(to )-199(\336ne-grained )-199(locking.)-700(On )-199(the )-199(system )-199(used )-199(for )-199(these )-199(tests, )-199(coarse-)]TJ -0 -1.2 TD -[(grained )-83(locking )-83(is )-83(the )-83(same )-83(as )-83(\336ne-grained )-83(locking )-83(for )-83(one )-83(pr)18(ocess, )-83(but )-83(becomes )-83(mor)19(e)]TJ -T* -[(expensive \(by about 30%\) with multiple pr)18(ocesses.)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-483(w)]TJ -0 Tc 2.77 0 Td -[(ould )-299(like )-299(the )-299(clock )-299(time )-299(to )-299(decr)18(ease )-299(fr)18(om )-299(coarse-grained )-299(to )-299(\336ne-grained)]TJ --4.57 -1.2 Td -[(locking, )-235(which )-235(it )-235(does )-235(as )-235(soon )-235(as )-235(we )-235(start )-235(using )-235(multiple )-235(pr)17(ocesses. )-485(However)]TJ -0.485 Tc 36.952 0 Td -(,w)Tj -0 Tc 1.569 0 Td -(e)Tj --38.521 -1.2 Td -[(expect )-180(the )-180(system )-180(time )-180(to )-180(r)18(emain )-180(higher )-180(for )-180(\336ne-grained )-180(locking )-180(for )-180(any )-180(number )-180(of)]TJ -T* -[(pr)18(ocesses, )-22(because )-22(we )-22(ar)]TJ -0.2717 Tc 10.935 0 Td -(ei)Tj -0 Tc 1.042 0 Td -[(ssuing )-22(mor)18(e)]TJ -/TT0 1 Tf -5.708 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.272 0 Td -[(calls )-22(with )-22(\336ne-grained )-22(locking )-22(than )-22(with)]TJ --20.957 -1.2 Td -[(coarse-grained )-1(locking.)-501(If )-1(we )-1(total )-1(the )-1(number )-1(of)]TJ -/TT0 1 Tf -22.039 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.251 0 Td -[(calls )-1(in )-1(Figur)]TJ -0.2507 Tc 5.707 0 Td -(e2)Tj -0 Tc 1.23 0 Td -[(0.6, )-1(we )-1(have )-1(an)]TJ --32.227 -1.2 Td -[(average )-122(of )-122(87,858 )-122(for )-122(coarse-grained )-122(locking )-122(and )-122(1)55(15,520 )-122(for )-122(\336ne-grained )-122(locking.)]TJ --0.092 Tc 37.613 0 Td -(We)Tj -0 Tc -37.613 -1.2 Td -[(expect )-107(this )-107(incr)18(ease )-107(of )-107(31% )-107(mor)]TJ -0.3569 Tc 14.353 0 Td -(ec)Tj -0 Tc 1.28 0 Td -[(alls )-107(to)]TJ -/TT0 1 Tf -3.092 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.357 0 Td -[(to )-107(r)18(esult )-107(in )-107(incr)18(eased )-107(system )-107(time )-107(for)]TJ --22.082 -1.2 Td -[(\336ne-grained )-173(locking.)-673(Ther)18(efor)18(e, )-173(the )-173(decr)18(ease )-173(in )-173(system )-173(time )-173(for )-173(\336ne-grained )-173(locking)]TJ -0 -1.2 Td -[(with )-91(two )-91(pr)18(ocesses, )-91(and )-91(the )-91(r)18(elatively )-91(small )-91(incr)18(ease )-91(with )-91(mor)]TJ -0.3413 Tc 28.297 0 Td -(et)Tj -0 Tc 1.146 0 Td -[(han )-91(two )-91(pr)18(ocesses, )-91(is)]TJ --29.443 -1.2 Td -(puzzling.)Tj -1.8 -1.2 Td -(Ther)Tj -0.2565 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.236 0 Td -[(re )-43(t)]TJ -0 Tc 1.439 0 Td -[(wo )-6(r)18(easons )-6(for )-6(this )-6(behavior)]TJ -0.5065 Tc 12.472 0 Td -(.F)Tj -0 Tc 1.312 0 Td -[(irst, )-6(r)18(ecall )-6(fr)18(om )-6(Figur)]TJ -0.2564 Tc 9.359 0 Td -(e2)Tj -0 Tc 1.235 0 Td -[(0.7 )-6(that )-6(ther)17(e)-256(is)-256(n)-1(o)]TJ --30.904 -1.2 Td -[(signi\336cant )-213(dif)18(fer)18(ence )-213(between )-213(coarse-grained )-213(locking )-213(times )-213(and )-213(\336ne-grained )-213(locking)]TJ -T* -[(times )-81(when )-81(ther)19(e)-331(is)-331(no)-331(c)1(ontention )-80(for )-80(the )-80(locks.)-580(This )-80(shows )-80(that )-80(the )-80(CPU )-80(over)18(head )-80(of)]TJ --0 -1.2 Td -[(the )-122(extra)]TJ -/TT0 1 Tf -4.348 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.372 0 Td -[(calls )-122(doesn\325t )-122(af)18(fect )-122(the )-122(performance )-122(of )-122(the )-122(test )-122(pr)15(ogram. )-372(The)-373(second)]TJ --0.018 Tc -7.72 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ason )-164(is )-164(that )-164(with )-164(coarse-grained )-164(locking, )-164(we )-164(hold )-164(locks )-164(for )-164(longer )-164(periods )-164(of )-164(time,)]TJ --0.856 -1.2 Td -[(thus )-227(incr)18(easing )-227(the )-227(likelihood )-227(that )-227(other )-227(pr)17(ocesses )-227(will )-227(block )-227(on )-227(a )-227(lock.)]TJ --0.055 Tc 34.38 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-227(\336ne-)]TJ --35.616 -1.2 Td -[(grained )-103(locking, )-103(the )-103(locking )-103(is )-103(done )-103(over )-103(shorter )-103(intervals, )-103(so )-103(ther)21(e)-353(is)-353(l)1(ess )-103(chance )-103(that)]TJ --0 -1.2 Td -[(pr)18(ocesses )-107(will )-107(block.)-607(If )-107(we )-107(count )-107(the )-107(number )-107(of )-107(times)]TJ -/TT0 1 Tf -25.014 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.357 0 Td -[(blocks, )-107(we )-107(will )-107(see )-107(that)]TJ --28.371 -1.2 Td -[(pr)18(ocesses )-130(block )-130(mor)]TJ -0.3801 Tc 9.154 0 Td -(ef)Tj --0.018 Tc 1.192 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(quently )-130(with )-130(coarse-grained )-130(locking.)-630(For )-130(example, )-130(with )-130(four)]TJ --11.202 -1.2 Td -[(pr)18(ocesses, )-152(coarse-grained )-152(locking )-152(blocks )-152(almost )-152(\336ve )-152(times )-152(mor)]TJ -0.4021 Tc 28.706 0 Td -(ef)Tj --0.018 Tc 1.214 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(quently )-152(than )-152(with)]TJ --30.776 -1.2 Td -[(\336ne-grained )-156(locking.)-657(The )-156(extra )-156(work )-156(that )-156(pr)18(ocesses )-156(need )-156(to )-156(do )-156(to )-156(put )-156(themselves )-156(to)]TJ -T* -[(sleep )-114(and )-114(wake )-114(up )-114(mor)]TJ -0.3639 Tc 10.802 0 Td -(eo)Tj -0 Tc 1.389 0 Td -[(ften )-114(with )-114(coarse-grained )-114(locking )-114(incr)18(eases )-114(the )-114(system )-114(time,)]TJ --0.018 Tc -12.191 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ducing the dif)18(fer)18(ence in system times between the two locking appr)18(oaches.)]TJ -0.944 -1.2 Td -[(The )-114(\336nal )-114(column )-114(in )-114(Figur)]TJ -0.3639 Tc 11.713 0 Td -(e2)Tj -0 Tc 1.343 0 Td -[(0.8, )-114(labeled )-114(\324)37(\324)]TJ -/TT1 1 Tf -($)Tj -/T1_0 1 Tf -6.927 0 Td -[(Sys,\325)37(\325)-364(is)-364(the )-114(per)18(centage )-114(incr)18(ease )-114(in )-114(the)]TJ --21.782 -1.2 Td -[(system )-411(CPU )-411(time )-411(fr)18(om )-411(advisory )-411(\336ne-grained )-411(locking )-411(to )-411(mandatory )-411(\336ne-grained)]TJ -T* -[(locking. )-385(These)-385(per)18(centages )-135(show )-135(that )-135(mandatory )-135(locking )-135(adds )-135(signi\336cantly )-135(\(between)]TJ -T* -[(20% and 76%\) to the system time as concurr)18(ency incr)18(eases.)]TJ -1.8 -1.2 Td -[(Since )-77(the )-77(user )-77(code )-77(for )-77(all )-77(these )-77(tests )-77(is )-77(almost )-77(identical )-77(\(ther)]TJ -0.3267 Tc 27.504 0 Td -(ea)Tj --0.018 Tc 1.306 0 Td -[(re )-113(s)]TJ -0 Tc 1.607 0 Td -[(ome )-77(additional)]TJ -/TT0 1 Tf --32.216 -1.2 Td -(fcntl)Tj -/T1_0 1 Tf -3.43 0 Td -[(calls )-180(for )-180(both )-180(advisory )-180(\336ne-grained )-180(and )-180(mandatory )-180(\336ne-grained )-180(locking\), )-180(we)]TJ --3.43 -1.2 Td -[(expect the user CPU times to be the same acr)18(oss any r)18(ow)92(.)]TJ -7.9995 0 0 7.9995 183.5892 261.9843 Tm -[(The )-59(\336rst )-59(time )-59(we )-59(ran )-59(these )-59(tests, )-59(we )-59(measur)16(ed )-59(the )-59(user )-59(times )-59(for )-59(coarse-grained )-59(locking )-59(to )-59(be)]TJ -0 -1.25 TD -[(almost )-79(twice )-79(as )-79(long )-79(as )-79(the )-79(times )-79(for )-79(\336ne-grained )-79(locking )-79(when )-79(multiple )-79(pr)14(ocesses )-79(competed)]TJ -T* -[(for )-39(the )-39(locks.)-540(Because )-39(the )-39(two )-39(versions )-39(of )-39(the )-39(database )-39(ar)]TJ -0.2895 Tc 25.692 0 Td -(et)Tj -0 Tc 1.094 0 Td -[(he )-39(same, )-39(except )-39(for )-39(the )-39(number )-39(of)]TJ --26.786 -1.25 Td -[(calls )-45(to)]TJ -/TT0 1 Tf -3.412 0 Td -(fcntl)Tj -/T1_0 1 Tf -0.295 Tc (,t)Tj -0 Tc 3.871 0 Td -[(his )-45(made )-45(no )-45(sense.)-545(After )-45(investigating, )-45(we )-45(discover)18(ed )-45(that )-45(because )-45(ther)]TJ -0.2949 Tc 32.185 0 Td -(ew)Tj -0 Tc 1.608 0 Td -(as)Tj --41.076 -1.25 Td -(mor)Tj -0.2544 Tc 1.806 0 Td -(ec)Tj -0 Tc 1.177 0 Td -[(ontention )-4(with )-4(coarse-grained )-4(locking, )-4(pr)17(ocesses )-4(wer)]TJ -0.2545 Tc 23.504 0 Td -(ew)Tj -0 Tc 1.567 0 Td -[(aiting )-4(longer)]TJ -0.2545 Tc 5.575 0 Td -(,a)Tj -0 Tc 1.004 0 Td -[(nd )-4(the )-4(operating)]TJ --34.635 -1.25 Td -[(system )-69(decided )-69(to )-69(r)18(educe )-69(the )-69(CPU )-69(clock )-69(fr)15(equency )-69(to )-69(save )-69(power)]TJ -0.5693 Tc 29.469 0 Td -(.W)Tj -0 Tc 1.764 0 Td -[(ith )-69(\336ne-grained )-69(locking,)]TJ --31.234 -1.25 Td -(ther)Tj -0.3855 Tc 1.764 0 Td -(ew)Tj -0 Tc 1.698 0 Td -[(as )-136(mor)]TJ -0.3856 Tc 3.116 0 Td -(ea)Tj -0 Tc 1.365 0 Td -[(ctivity)111(,)-386(so)-386(t)1(he )-136(system )-136(incr)18(eased )-136(the )-136(CPU )-136(clock )-136(fr)20(equency)]TJ -0.6356 Tc 25.72 0 Td -(.T)Tj -0 Tc 1.499 0 Td -[(his )-136(\(arti\336cially\))]TJ --35.161 -1.25 Td -[(made )-248(the )-248(coarse-grained )-248(locking )-248(tests )-248(r)6(un )-248(mor)]TJ -0.4984 Tc 22.009 0 Td -(es)Tj -0 Tc 1.401 0 Td -[(lowly )-248(than )-248(the )-248(\336ne-grained )-248(tests.)-750(After)]TJ --23.41 -1.25 Td -[(disabling )-59(the )-59(fr)18(equency )-59(scaling )-59(featur)18(e, )-59(we )-59(measur)17(ed )-59(the )-59(performance )-59(of )-59(the )-59(test )-59(without )-59(this)]TJ -T* -[(bias, and the dif)18(fer)18(ence in user times was much smaller)74(.)]TJ -9.9994 0 0 9.9994 147.5917 146.9912 Tm -[(The )-65(values )-65(in )-65(the )-65(\336rst )-65(r)19(ow )-65(of )-65(Figur)]TJ -0.3147 Tc 15.768 0 Td -(e2)Tj -0 Tc 1.294 0 Td -[(0.8 )-65(ar)]TJ -0.3147 Tc 2.442 0 Td -(es)Tj -0 Tc 1.218 0 Td -[(imilar )-65(to )-65(those )-65(for )-65(an)]TJ -/T1_2 1 Tf -9.809 0 Td -[(nr)18(ec)]TJ -/T1_0 1 Tf -2.038 0 Td -[(of )-65(2,000 )-65(in)]TJ --34.369 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.229 0 Td -[(0.7. )-250(This)-250(corr)18(esponds to our expectation.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47586 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(981)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 140.3916 670.9597 Tm -[(timing comparison,)-500(571)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(recv)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(331,)-250(451, 592, 612)]TJ -12.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(615, 626)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(627)Tj --18.257 -1.25 Td -[(de\336nition of,)-500(612)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(recv_fd)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(642)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(644, 650, 655, 660, 896)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(642, 647)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(recvfrom)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(331,)-250(451, 613, 620)]TJ -12.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(623)Tj --16.49 -1.25 Td -[(de\336nition of,)-500(613)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(recvmsg)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(331,)-250(451, 613, 644, 647)]TJ -14.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(648, 651)Tj --17.89 -1.25 Td -[(de\336nition of,)-500(613)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(recv_ufd)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(650)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(651)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(RE_DUP_MAX)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(39,)-250(43, 49)]TJ --0.018 Tc -6.417 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(entrant functions,)-500(330)]TJ -9.904 0.09 Td -(\320)Tj -0.583 -0.09 Td -(332)Tj -/TT0 1 Tf --11.344 -1.25 Td -(regcomp)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(39,)-250(43)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(regexec)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(39,)-250(43)]TJ -/TT0 1 Tf --4.617 -1.25 Td -()Tj -/T1_0 1 Tf -5.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj --0.018 Tc -10.039 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(gister variables,)-500(217)]TJ --0.018 Tc -0.856 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(gular \336le,)-500(95)]TJ --0.018 Tc -0.856 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(lative pathname,)-500(5, 8, 43)]TJ -10.988 0.09 Td -(\320)Tj -0.583 -0.09 Td -(44, 50, 64)Tj -4.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(65, 135, 553)Tj --0.018 Tc -17.094 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(liable signals,)-500(335)]TJ -8.056 0.09 Td -(\320)Tj -0.583 -0.09 Td -(336)Tj --0.018 Tc -9.496 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(mote mode, pseudo terminal,)-500(741)]TJ -/TT0 1 Tf --0.856 -1.25 Td -(remove)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(1)55(16)]TJ -5.985 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(9, 121, 125, 452)Tj --10.18 -1.25 Td -(de\336nition of,)Tj --0.055 Tc 6.192 0 Td -(11)Tj -0 Tc 0.945 0 Td -(9)Tj -/TT0 1 Tf --8.487 -1.25 Td -(remove_job)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(814,)-250(822, 832)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(822)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(rename)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(1)55(19)]TJ -5.985 0.09 Td -(\320)Tj -0.583 -0.09 Td -(121, 125, 331, 452)Tj --9.235 -1.25 Td -(de\336nition of,)Tj --0.055 Tc 6.192 0 Td -(11)Tj -0 Tc 0.945 0 Td -(9)Tj -/TT0 1 Tf --8.487 -1.25 Td -(renameat)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(1)55(19)]TJ -5.985 0.09 Td -(\320)Tj -0.583 -0.09 Td -(120, 331, 452)Tj --10.435 -1.25 Td -(de\336nition of,)Tj --0.055 Tc 6.192 0 Td -(11)Tj -0 Tc 0.945 0 Td -(9)Tj -/TT0 1 Tf --8.487 -1.25 Td -(replace_job)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(814,)-250(821, 837)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(821)]TJ --1.35 -1.25 Td -(REPRINT terminal character)Tj -0.5 Tc 12.57 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 681, 687, 690,)Tj --11.12 -1.25 Td -(703)Tj -/TT0 1 Tf --2.7 -1.25 Td -(reset)Tj -/T1_0 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(713,)-250(943)]TJ --0.018 Tc -3.417 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ce limits,)-500(220)]TJ -7.962 0.09 Td -(\320)Tj -0.583 -0.09 Td -(225, 233, 252, 322, 382)Tj --0.018 Tc -9.402 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(started system calls,)-500(329)]TJ -10.936 0.09 Td -(\320)Tj -0.583 -0.09 Td -(330, 342)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(343, 351, 354,)Tj --13.842 -1.25 Td -(508, 700)Tj -/TT0 1 Tf --2.7 -1.25 Td -(restrict)Tj -/T1_0 1 Tf -5.217 0 Td -[(keywor)18(d, )-250(26,)-250(93, 123, 146, 148,)]TJ --2.517 -1.25 Td -(152)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(153, 156, 158)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(159, 161)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(163, 190, 192,)Tj --12.5 -1.25 Td -(195, 346, 350, 385, 400, 409, 414, 428)Tj -15.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(432, 434,)Tj --16.166 -1.25 Td -(440)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(441, 454, 502, 506, 596, 599)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(600, 605,)Tj --14.333 -1.25 Td -(608, 613, 624)Tj -/TT0 1 Tf --2.7 -1.25 Td -(rewind)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(149,)-250(158, 168, 452)]TJ --2.667 -1.25 Td -[(de\336nition of,)-500(158)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(rewinddir)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(130)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(135, 452)Tj --11.09 -1.25 Td -[(de\336nition of,)-500(130)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(rfork)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(229)]TJ --3.417 -1.25 Td -[(Ritchie, D. M.,)-500(xx, 26, 143, 149, 155, 162, 164, 208,)]TJ -2.7 -1.25 Td -(898, 906, 950, 952)Tj -/TT0 1 Tf --2.7 -1.25 Td -(RLIM_INFINITY)Tj -/T1_0 1 Tf -8.217 0 Td -[(constant, )-250(221,)-250(468)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(rlimit)Tj -/T1_0 1 Tf -4.017 0 Td -[(str)8(uctur)18(e, )-250(220,)-250(224, 467, 907)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(RLIMIT_AS)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(221)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(223)Tj -/TT0 1 Tf --12.463 -1.25 Td -(RLIMIT_CORE)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(221)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(223, 317)Tj -/TT0 1 Tf -12.337 65 Td -(RLIMIT_CPU)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(221)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(223)Tj -/TT0 1 Tf --13.063 -1.25 Td -(RLIMIT_DATA)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(221)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(223)Tj -/TT0 1 Tf --13.663 -1.25 Td -(RLIMIT_FSIZE)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(221)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(223, 382)Tj -/TT0 1 Tf --14.263 -1.25 Td -(RLIMIT_INFINITY)Tj -/T1_0 1 Tf -9.417 0 Td -[(constant, )-250(224,)-250(907)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(RLIMIT_MEMLOCK)Tj -/T1_0 1 Tf -8.817 0 Td -[(constant, )-250(221)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(223)Tj -/TT0 1 Tf --15.463 -1.25 Td -(RLIMIT_MSGQUEUE)Tj -/T1_0 1 Tf -9.417 0 Td -[(constant, )-250(221,)-250(223)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(RLIMIT_NICE)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(221,)-250(223)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(RLIMIT_NOFILE)Tj -/T1_0 1 Tf -8.217 0 Td -[(constant, )-250(221)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(223, 467, 907)Tj -/TT0 1 Tf --14.863 -1.25 Td -(RLIMIT_NPROC)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(221)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(223)Tj -/TT0 1 Tf --14.263 -1.25 Td -(RLIMIT_NPTS)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(221,)-250(223)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(RLIMIT_RSS)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(222)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(223)Tj -/TT0 1 Tf --13.063 -1.25 Td -(RLIMIT_SBSIZE)Tj -/T1_0 1 Tf -8.217 0 Td -[(constant, )-250(222)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(223)Tj -/TT0 1 Tf --14.863 -1.25 Td -(RLIMIT_SIGPENDING)Tj -/T1_0 1 Tf -10.617 0 Td -[(constant, )-250(222,)-250(224)]TJ -/TT0 1 Tf --10.617 -1.25 Td -(RLIMIT_STACK)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(222,)-250(224)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(RLIMIT_SWAP)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(222,)-250(224)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(RLIMIT_VMEM)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(222,)-250(224)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(rlim_t)Tj -/T1_0 1 Tf -4.017 0 Td -[(data type,)-500(59, 223)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(rlogin)Tj -/T1_0 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(717,)-250(741)]TJ -8.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(742)Tj -/TT0 1 Tf --12.791 -1.25 Td -(rlogind)Tj -/T1_0 1 Tf -4.617 0 Td -[(pr)18(ogram, )-250(717,)-250(734, 741, 944)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(rm)Tj -/T1_0 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(559,)-250(663)]TJ -/TT0 1 Tf --1.617 -1.25 Td -(rmdir)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(1)55(17, 1)55(19)]TJ -7.93 0.09 Td -(\320)Tj -0.583 -0.09 Td -(120, 125, 129)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(130, 331)Tj --16.747 -1.25 Td -[(de\336nition of,)-500(130)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(robust)Tj -/T1_0 1 Tf -4.017 0 Td -[(attribute, )-250(431,)-250(571)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(R_OK)Tj -/T1_0 1 Tf -2.817 0 Td -[(constant, )-250(102)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(103)Tj --0.018 Tc -9.463 -1.25 Td -(ro)Tj -0 Tc 0.923 0 Td -(ot)Tj -0.427 -1.25 Td -[(dir)18(ectory)]TJ -0.5 Tc 3.914 0 Td -(,4)Tj -0 Tc 1.25 0 Td -[(,)-250(8,)-250(24, 139, 141, 233, 252, 283, 910)]TJ --5.164 -1.25 Td -[(login name,)-500(16)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(routed)Tj -/T1_0 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(472)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(rpcbind)Tj -/T1_0 1 Tf -4.617 0 Td -[(pr)18(ogram, )-250(465)]TJ --4.617 -1.25 Td -(RS)Tj -1.193 0.09 Td -(-)Tj -0.333 -0.09 Td -[(232, )-250(674,)-250(685)]TJ -5.833 0.09 Td -(\320)Tj -0.583 -0.09 Td -(686)Tj -/TT0 1 Tf --7.943 -1.25 Td -(rsyslogd)Tj -/T1_0 1 Tf -5.217 0 Td -[(pr)18(ogram, )-250(465,)-250(480)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(RTSIG_MAX)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(40,)-250(43)]TJ --5.817 -1.25 Td -[(Rudof)18(f, A. M.,)-500(157, 291, 470, 589, 952)]TJ -/TT0 1 Tf -0 -1.25 TD -(runacct)Tj -/T1_0 1 Tf -4.617 0 Td -[(pr)18(ogram, )-250(269)]TJ -/TT0 1 Tf --4.617 -6 Td -(S5)Tj -/T1_0 1 Tf -1.617 0 Td -[(\336le system,)-500(65)]TJ -/TT0 1 Tf --1.617 -1.25 Td -(sa)Tj -/T1_0 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(269)]TJ -/TT0 1 Tf --1.617 -1.25 Td -(sac)Tj -/T1_0 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(290)]TJ --2.217 -1.25 Td -[(Sacksen, J.,)-500(xxxii)]TJ -T* -[(SAF \(Service Access Facility\),)-500(290)]TJ -T* -[(safe, async-signal,)-500(330, 446, 450, 457, 461)]TJ -18.052 0.09 Td -(\320)Tj -0.583 -0.09 Td -(462, 927)Tj -/TT0 1 Tf --18.635 -1.25 Td -(sa_handler)Tj -/T1_0 1 Tf -6.417 0 Td -[(str)8(uctur)18(e, )-250(376)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(SA_INTERRUPT)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(351,)-250(354)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(355)Tj -/TT0 1 Tf --16.263 -1.25 Td -(s_alloc)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(584)]TJ --4.617 -1.25 Td -(Salus, P)Tj -0.25 Tc 3.318 0 Td -(.H)Tj -0 Tc 1.332 0 Td -[(., )-250(xxxii,)-250(952)]TJ -/TT0 1 Tf --4.65 -1.25 Td -(SA_NOCLDSTOP)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(351)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(SA_NOCLDWAIT)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(333,)-250(351)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(SA_NODEFER)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(351,)-250(354)]TJ --6.417 -1.25 Td -[(Santa Cr)8(uz Operation,)]TJ -/T1_2 1 Tf -10.388 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -(SCO)Tj -/TT0 1 Tf --11.805 -1.25 Td -(SA_ONSTACK)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(351)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47587 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(450)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -(extern char **environ;)Tj -0 -2.14 TD -(static void)Tj -0 -1.189 TD -(thread_init\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(pthread_key_create\(&key, free\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(char *)Tj -0 -1.189 TD -(getenv\(const char *name\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-2400(i,)-600(len;)]TJ -T* -[(char )-1800(*envbuf;)]TJ -0 -2.14 TD -(pthread_once\(&init_done, thread_init\);)Tj -0 -1.189 TD -(pthread_mutex_lock\(&env_mutex\);)Tj -T* -(envbuf = \(char *\)pthread_getspecific\(key\);)Tj -T* -(if \(envbuf == NULL\) {)Tj -2.4 -1.189 Td -(envbuf = malloc\(MAXSTRINGSZ\);)Tj -T* -(if \(envbuf == NULL\) {)Tj -2.4 -1.189 Td -(pthread_mutex_unlock\(&env_mutex\);)Tj -T* -(return\(NULL\);)Tj --2.4 -1.189 Td -(})Tj -T* -(pthread_setspecific\(key, envbuf\);)Tj --2.4 -1.189 Td -(})Tj -T* -(len = strlen\(name\);)Tj -T* -(for \(i = 0; environ[i] != NULL; i++\) {)Tj -2.4 -1.189 Td -(if \(\(strncmp\(name, environ[i], len\) == 0\) &&)Tj -1.2 -1.189 Td -(\(environ[i][len] == \325=\325\)\) {)Tj -1.2 -1.189 Td -(strncpy\(envbuf, &environ[i][len+1], MAXSTRINGSZ-1\);)Tj -T* -(pthread_mutex_unlock\(&env_mutex\);)Tj -0 -1.189 TD -(return\(envbuf\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(pthread_mutex_unlock\(&env_mutex\);)Tj -T* -(return\(NULL\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2867.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 219.9856 270.6865 Tm -(Figure 12.13)Tj -/T1_1 1 Tf -0.25 Tc 6.25 0 Td -(At)Tj -0 Tc 1.354 0 Td -[(hr)18(ead-safe, compatible version of)]TJ -/TT0 1 Tf -14.943 0 Td -(getenv)Tj -/T1_1 1 Tf --0.092 Tc 9.9988 0 0 9.9988 147.5823 246.6894 Tm -[(We )-188(u)]TJ -0 Tc 2.244 0 Td -(se)Tj -/TT0 1 Tf -1.156 0 Td -(pthread_once)Tj -/T1_1 1 Tf -7.454 0 Td -[(to )-3(ensur)]TJ -0.2535 Tc 3.591 0 Td -(et)Tj -0 Tc 1.059 0 Td -[(hat )-3(only )-3(one )-3(key )-3(is )-3(cr)16(eated )-4(for )-4(the )-4(thr)19(ead-speci\336c)]TJ --17.303 -1.2 Td -[(data )-12(we )-12(will )-12(use.)-512(If)]TJ -/TT0 1 Tf -8.943 0 Td -(pthread_getspecific)Tj -/T1_1 1 Tf --0.018 Tc 11.662 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-12(a )-12(null )-12(pointer)74(,)-262(we)-262(need )-12(to )-12(allocate)]TJ --21.461 -1.2 Td -[(the )-41(memory )-41(buf)18(fer )-41(and )-41(associate )-41(it )-41(with )-41(the )-41(key)]TJ -0.5412 Tc 21.281 0 Td -(.O)Tj -0 Tc 1.577 0 Td -[(therwise, )-41(we )-41(use )-41(the )-41(memory )-41(buf)17(fer)]TJ --0.018 Tc -22.858 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turned )-23(by)]TJ -/TT0 1 Tf -4.65 0 Td -(pthread_getspecific)Tj -/T1_1 1 Tf -0.5226 Tc (.F)Tj -0 Tc 12.729 0 Td -[(or )-23(the )-23(destr)9(uctor )-22(function, )-22(we )-22(use)]TJ -/TT0 1 Tf -15.28 0 Td -(free)Tj -/T1_1 1 Tf -2.672 0 Td -[(to )-22(fr)18(ee)]TJ --36.188 -1.2 Td -[(the )-174(memory )-174(pr)18(eviously )-174(allocated )-174(by)]TJ -/TT0 1 Tf -17.079 0 Td -(malloc)Tj -/T1_1 1 Tf -0.674 Tc (.T)Tj -0 Tc 5.137 0 Td -[(he )-174(destr)8(uctor )-174(function )-174(will )-174(be )-174(called)]TJ --22.216 -1.2 Td -[(with the value of the thr)18(ead-speci\336c data only if the value is non-null.)]TJ -1.8 -1.2 Td -[(Note )-38(that )-38(although )-38(this )-38(version )-38(of)]TJ -/TT0 1 Tf -15.417 0 Td -(getenv)Tj -/T1_1 1 Tf -3.889 0 Td -[(is )-38(thr)18(ead-safe, )-38(it )-38(is )-38(not )-38(async-signal )-38(safe.)]TJ --21.105 -1.2 Td -[(Even )-115(if )-115(we )-115(made )-115(the )-115(mutex )-115(r)18(ecursive, )-115(we )-115(could )-115(not )-115(make )-115(it )-115(r)19(eentrant )-115(with )-115(r)18(espect )-115(to)]TJ -0 -1.2 TD -(signal handlers because it calls)Tj -/TT0 1 Tf -13.807 0 Td -(malloc)Tj -/T1_1 1 Tf -0.25 Tc (,w)Tj -0 Tc 4.934 0 Td -(hich itself is not async-signal safe.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1507.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47588 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.7)]TJ -/TT0 1 Tf -27.286 0 Td -(access)Tj -/T1_0 1 Tf -4.1 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(faccessat)Tj -/T1_0 1 Tf -5.9 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(103)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(The)Tj -/T1_2 1 Tf -2.205 0 Td -(\337ag)Tj -/T1_0 1 Tf -2.02 0 Td -[(ar)18(gument )-281(can )-281(be )-281(used )-281(to )-281(change )-281(the )-281(behavior )-281(of)]TJ -/TT0 1 Tf -23.955 0 Td -(faccessat)Tj -/T1_0 1 Tf -0.7813 Tc (.I)Tj -0.5314 Tc 6.768 0 Td -(ft)Tj -0 Tc 1.19 0 Td -(he)Tj -/TT0 1 Tf --37.939 -1.2 Td -(AT_EACCESS)Tj -/T1_0 1 Tf -6.318 0 Td -[(\337ag )-68(is )-68(set, )-68(the )-68(access )-68(checks )-68(ar)]TJ -0.3179 Tc 13.674 0 Td -(em)Tj -0 Tc 1.68 0 Td -[(ade )-68(using )-68(the )-68(ef)18(fective )-68(user )-68(and )-68(gr)19(oup)]TJ --21.672 -1.2 Td -[(IDs of the calling pr)18(ocess instead of the r)18(eal user and gr)18(oup IDs.)]TJ -/TT1 1 Tf --3.6 -2.4 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e4)Tj -0 Tc 1.229 0 Td -(.8 shows the use of the)Tj -/TT0 1 Tf -10.219 0 Td -(access)Tj -/T1_0 1 Tf -3.85 0 Td -(function.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5850.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 575.4299 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -(if \(argc != 2\))Tj -2.4 -1.189 Td -(err_quit\("usage: a.out "\);)Tj --2.4 -1.189 Td -(if \(access\(argv[1], R_OK\) < 0\))Tj -2.4 -1.189 Td -(err_ret\("access error for %s", argv[1]\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(printf\("read access OK\\n"\);)Tj --2.4 -1.189 Td -(if \(open\(argv[1], O_RDONLY\) < 0\))Tj -2.4 -1.189 Td -(err_ret\("open error for %s", argv[1]\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(printf\("open for reading OK\\n"\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3931.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 252.5065 377.0101 Tm -(Figure 4.8)Tj -/T1_0 1 Tf -5.195 0 Td -(Example of)Tj -/TT0 1 Tf -5.26 0 Td -(access)Tj -/T1_0 1 Tf -3.85 0 Td -(function)Tj -9.9982 0 0 9.9982 129.577 355.414 Tm -[(Her)18(e)-250(is)-250(a)-250(sample session with this pr)18(ogram:)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 165.5705 341.1166 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(ls -l a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(-rwxrwxr-x )-600(1)-600(sar )-4800(15945)-600(Nov 30 12:10 a.out)]TJ -T* -($)Tj -/TT2 1 Tf -1.2 0 Td -(./a.out a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(read access OK)Tj -T* -(open for reading OK)Tj -0 -1.189 TD -($)Tj -/TT2 1 Tf -1.2 0 Td -(ls -l /etc/shadow)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(-r-------- )-600(1)-600(root )-4800(1315)-600(Jul 17)-1200(2002 /etc/shadow)]TJ -0 -1.189 TD -($)Tj -/TT2 1 Tf -1.2 0 Td -(./a.out /etc/shadow)Tj -/TT0 1 Tf --1.2 -1.189 Td -(access error for /etc/shadow: Permission denied)Tj -T* -(open error for /etc/shadow: Permission denied)Tj -T* -($)Tj -/TT2 1 Tf -1.2 0 Td -(su)Tj -/T1_2 1 Tf -19.6 0 Td -(become superuser)Tj -/TT0 1 Tf --20.8 -1.189 Td -(Password:)Tj -/T1_2 1 Tf -20.8 0 Td -(enter superuser password)Tj -/TT0 1 Tf --20.8 -1.189 Td -(#)Tj -/TT2 1 Tf -1.2 0 Td -(chown root a.out)Tj -/T1_2 1 Tf -19.6 0 Td -(change \336le\325)Tj -0.25 Tc 4.464 0 Td -(su)Tj -0 Tc 1.195 0 Td -[(ser ID to r)18(oot)]TJ -/TT0 1 Tf --26.459 -1.189 Td -(#)Tj -/TT2 1 Tf -1.2 0 Td -(chmod u+s a.out)Tj -/T1_2 1 Tf -19.6 0 Td -(and turn on set-user-ID bit)Tj -/TT0 1 Tf --20.8 -1.189 Td -(#)Tj -/TT2 1 Tf -1.2 0 Td -(ls -l a.out)Tj -/T1_2 1 Tf -19.6 0 Td -(check owner and SUID bit)Tj -/TT0 1 Tf --20.8 -1.189 Td -[(-rwsrwxr-x )-600(1)-600(root )-4200(15945)-600(Nov 30 12:10 a.out)]TJ -T* -(#)Tj -/TT2 1 Tf -1.2 0 Td -(exit)Tj -/T1_2 1 Tf -19.6 0 Td -(go back to normal user)Tj -/TT0 1 Tf --20.8 -1.189 Td -($)Tj -/TT2 1 Tf -1.2 0 Td -(./a.out /etc/shadow)Tj -/TT0 1 Tf --1.2 -1.189 Td -(access error for /etc/shadow: Permission denied)Tj -T* -(open for reading OK)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47589 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.6)]TJ -31.183 0 Td -[(An )-250(Open )-250(Server)]TJ -0.5 Tc 7.572 0 Td -(,V)Tj -0 Tc 1.361 0 Td -[(ersion )-250(2)]TJ -/T1_1 1 Tf -5.717 0 Td -(663)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(The)Tj -/T1_2 1 Tf -2.116 0 Td -[(ar)18(gc)]TJ -/T1_0 1 Tf -2.164 0 Td -(and)Tj -/T1_2 1 Tf -2.135 0 Td -[(ar)18(gv)]TJ -/T1_0 1 Tf -2.257 0 Td -[(ar)18(guments )-192(ar)]TJ -0.4423 Tc 6.049 0 Td -(et)Tj -0 Tc 1.247 0 Td -[(he )-192(same )-192(ones )-192(passed )-192(to )-192(the)]TJ -/TT0 1 Tf -13.33 0 Td -(main)Tj -/T1_0 1 Tf -2.842 0 Td -[(function )-192(of )-192(the)]TJ --32.142 -1.2 Td -[(pr)18(ogram. )-352(The)]TJ -/T1_2 1 Tf -6.737 0 Td -(options)Tj -/T1_0 1 Tf -3.296 0 Td -[(ar)18(gument )-102(is )-102(a )-102(string )-102(containing )-102(the )-102(option )-102(characters )-102(supported)]TJ --10.033 -1.2 Td -[(by )-20(the )-20(command.)-520(If )-20(an )-20(option )-20(character )-20(is )-20(followed )-20(by )-20(a )-20(colon, )-20(then )-20(the )-20(option )-20(takes )-20(an)]TJ -0 -1.2 TD -[(ar)18(gument. )-372(Otherwise,)-372(the )-122(option )-122(exists )-122(by )-122(itself.)-621(For )-122(example, )-122(if )-122(the )-122(usage )-122(statement)]TJ --0 -1.2 Td -(for a command was)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5904 603.1939 Tm -(command [-i] [-u username] [-z] filename)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5915 584.1252 Tm -(we would pass)Tj -/TT0 1 Tf -6.897 0 Td -("iu:z")Tj -/T1_0 1 Tf -3.85 0 Td -(as the)Tj -/T1_2 1 Tf -2.811 0 Td -(options)Tj -/T1_0 1 Tf -3.194 0 Td -(string to)Tj -/TT0 1 Tf -3.946 0 Td -(getopt)Tj -/T1_0 1 Tf -(.)Tj --18.898 -1.2 Td -(The)Tj -/TT0 1 Tf -2.131 0 Td -(getopt)Tj -/T1_0 1 Tf -4.057 0 Td -[(function )-207(is )-207(normally )-207(used )-207(in )-207(a )-207(loop )-207(that )-207(terminates )-207(when)]TJ -/TT0 1 Tf -27.411 0 Td -(getopt)Tj -/T1_0 1 Tf --0.018 Tc -35.4 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -/TT1 1 Tf -2.836 0 Td -(!)Tj -/T1_0 1 Tf -[(1. )-506(During)-505(each )-256(iteration )-256(of )-256(the )-256(loop,)]TJ -/TT0 1 Tf -18.53 0 Td -(getopt)Tj -/T1_0 1 Tf -4.106 0 Td -[(will )-255(r)18(eturn )-255(the )-255(next )-255(option)]TJ --26.327 -1.2 Td -[(pr)18(ocessed. )-487(It)-486(is )-237(up )-237(to )-237(the )-237(application )-237(to )-237(sort )-237(out )-237(any )-237(con\337ict )-237(in )-237(options, )-237(however;)]TJ -/TT0 1 Tf -T* -(getopt)Tj -/T1_0 1 Tf -3.85 0 Td -[(simply parses the options and enfor)18(ces a standar)]TJ -0.25 Tc 21.499 0 Td -(df)Tj -0 Tc 1.194 0 Td -(ormat.)Tj --24.743 -1.2 Td -[(When )-100(it )-100(encounters )-100(an )-100(invalid )-100(option,)]TJ -/TT0 1 Tf -17.576 0 Td -(getopt)Tj -/T1_0 1 Tf --0.018 Tc 3.95 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-100(a )-100(question )-100(mark )-100(instead )-100(of)]TJ --24.182 -1.2 Td -[(the )-128(character)]TJ -0.6279 Tc 5.756 0 Td -(.I)Tj -0 Tc 1.215 0 Td -[(f)-378(an)-378(option\325s )-128(ar)18(gument )-128(is )-128(missing,)]TJ -/TT0 1 Tf -15.998 0 Td -(getopt)Tj -/T1_0 1 Tf -3.978 0 Td -[(will )-128(also )-128(r)18(eturn )-128(a )-128(question)]TJ --26.947 -1.2 Td -[(mark, )-87(but )-87(if )-87(the )-87(\336rst )-87(character )-87(in )-87(the )-87(options )-87(string )-87(is )-87(a )-87(colon,)]TJ -/TT0 1 Tf -28.294 0 Td -(getopt)Tj -/T1_0 1 Tf --0.018 Tc 3.937 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-87(a )-87(colon)]TJ --33.087 -1.2 Td -[(instead. )-493(The)-493(special )-243(pattern)]TJ -/TT0 1 Tf -13.598 0 Td -(--)Tj -/T1_0 1 Tf -1.693 0 Td -[(will )-243(cause)]TJ -/TT0 1 Tf -5.143 0 Td -(getopt)Tj -/T1_0 1 Tf -4.093 0 Td -[(to )-243(stop )-243(pr)18(ocessing )-243(options )-243(and)]TJ --0.018 Tc -24.526 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(turn)Tj -/TT1 1 Tf -2.293 0 Td -(!)Tj -/T1_0 1 Tf -[(1. )-387(This)-386(allows )-137(users )-137(to )-137(pr)18(ovide )-137(command )-137(ar)18(guments )-137(that )-137(start )-137(with )-137(a )-137(minus)]TJ --3.149 -1.2 Td -[(sign )-57(but )-57(ar)18(en\325t )-57(options.)-559(For )-57(example, )-57(if )-57(you )-57(have )-57(a )-57(\336le )-57(named)]TJ -/TT0 1 Tf -28.264 0 Td -(-bar)Tj -/T1_0 1 Tf -0.3075 Tc (,y)Tj -0 Tc 3.514 0 Td -[(ou )-57(can\325t )-57(r)17(emove)]TJ --31.777 -1.2 Td -(it by typing)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5903 434.3642 Tm -(rm -bar)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5914 415.2951 Tm -(because)Tj -/TT0 1 Tf -3.732 0 Td -(rm)Tj -/T1_0 1 Tf -1.45 0 Td -[(will try to interpr)18(et)]TJ -/TT0 1 Tf -8.712 0 Td -(-bar)Tj -/T1_0 1 Tf -2.65 0 Td -[(as options.)-500(The way to r)18(emove the \336le is to type)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5901 397.5262 Tm -(rm -- -bar)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5912 378.4575 Tm -(The)Tj -/TT0 1 Tf -1.924 0 Td -(getopt)Tj -/T1_0 1 Tf -3.85 0 Td -(function supports four external variables.)Tj -/TT0 1 Tf --3.974 -2.04 Td -(optarg)Tj -/T1_0 1 Tf -4.483 0 Td -[(If )-235(an )-235(option )-235(takes )-235(an )-235(ar)18(gument,)]TJ -/TT0 1 Tf -15.477 0 Td -(getopt)Tj -/T1_0 1 Tf -4.085 0 Td -(sets)Tj -/TT0 1 Tf -2.138 0 Td -(optarg)Tj -/T1_0 1 Tf -4.085 0 Td -[(to )-235(point )-235(to )-235(the)]TJ --25.785 -1.2 Td -[(option\325s ar)18(gument string when an option is pr)18(ocessed.)]TJ -/TT0 1 Tf --4.483 -1.6 Td -(opterr)Tj -/T1_0 1 Tf -4.483 0 Td -[(If )-65(an )-65(option )-65(err)18(or )-65(is )-65(encounter)19(ed,)]TJ -/TT0 1 Tf -15.198 0 Td -(getopt)Tj -/T1_0 1 Tf -3.915 0 Td -[(will )-65(print )-65(an )-65(err)18(or )-65(message )-65(by)]TJ --19.113 -1.2 Td -[(default. )-250(T)]TJ -0.25 Tc 4.414 0 Td -(od)Tj -0 Tc 1.407 0 Td -(isable this behavior)Tj -0.25 Tc 8.498 0 Td -(,a)Tj -0 Tc 1 0 Td -(pplications can set)Tj -/TT0 1 Tf -8.402 0 Td -(opterr)Tj -/T1_0 1 Tf -3.85 0 Td -(to 0.)Tj -/TT0 1 Tf --32.054 -1.6 Td -(optind)Tj -/T1_0 1 Tf -4.483 0 Td -[(The )-26(index )-26(in )-26(the)]TJ -/TT0 1 Tf -7.518 0 Td -(argv)Tj -/T1_0 1 Tf -2.676 0 Td -[(array )-26(of )-26(the )-26(next )-26(string )-26(to )-26(be )-26(pr)17(ocessed. )-276(It)-276(starts )-26(at)]TJ -0.25 Tc -10.194 -1.2 Td -(1a)Tj -0 Tc 1.25 0 Td -[(nd is incr)18(emented for each ar)18(gument pr)18(ocessed by)]TJ -/TT0 1 Tf -22.52 0 Td -(getopt)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf --28.253 -1.6 Td -(optopt)Tj -/T1_0 1 Tf -4.483 0 Td -[(If )-219(an )-219(err)18(or )-219(is )-219(encounter)18(ed )-219(during )-219(options )-219(pr)21(ocessing,)]TJ -/TT0 1 Tf -25.244 0 Td -(getopt)Tj -/T1_0 1 Tf -4.069 0 Td -[(will )-219(set)]TJ -/TT0 1 Tf --29.312 -1.2 Td -(optopt)Tj -/T1_0 1 Tf -3.85 0 Td -[(to point to the option string that caused the err)18(or)74(.)]TJ --8.333 -2.04 Td -[(The )-387(open )-387(server)-74(\325s)]TJ -/TT0 1 Tf -9.305 0 Td -(main)Tj -/T1_0 1 Tf -3.037 0 Td -[(function )-387(\(Figur)]TJ -0.6368 Tc 7.06 0 Td -(e1)Tj -0 Tc 1.616 0 Td -[(7.28\) )-387(de\336nes )-387(the )-387(global )-387(variables,)]TJ --22.818 -1.2 Td -[(pr)18(ocesses )-200(the )-200(command)]TJ -10.934 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-200(options, )-200(and )-200(calls )-200(the )-200(function)]TJ -/TT0 1 Tf -16.645 0 Td -(loop)Tj -/T1_0 1 Tf -0.6999 Tc (.I)Tj -0 Tc 3.687 0 Td -[(f)-450(we)-450(invoke )-200(the)]TJ --31.598 -1.2 Td -[(server )-131(with )-131(the)]TJ -/TT0 1 Tf -7.299 0 Td -(-d)Tj -/T1_0 1 Tf -1.581 0 Td -[(option, )-131(the )-131(server )-131(r)9(uns )-131(interactively )-131(instead )-131(of )-131(as )-131(a )-131(daemon.)-628(This)]TJ --8.88 -1.2 Td -[(option is used when testing the server)74(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1985.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 188.9563 Tm -[(#include )-1800("opend.h")]TJ -0 -1.189 TD -[(#include )-1800()]TJ -0 -2.14 TD -[(int )-3000(debug,)-600(oflag, client_size, log_to_stderr;)]TJ -0 -1.189 TD -[(char )-2400(errmsg[MAXLINE];)]TJ -0 -1.189 TD -[(char )-1800(*pathname;)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47590 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(7.1)55(1)]TJ -/TT0 1 Tf -25.486 0 Td -(getrlimit)Tj -/T1_0 1 Tf -5.9 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(setrlimit)Tj -/T1_0 1 Tf -5.9 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(223)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(implementations, )-81(we )-81(have )-81(conditionally )-81(included )-81(the )-81(r)19(esour)18(ce )-81(names )-81(that )-81(dif)19(fer)]TJ -0.5808 Tc 35.987 0 Td -(.N)Tj -0 Tc 1.662 0 Td -(ote)Tj --37.649 -1.2 Td -[(that )-312(some )-312(systems )-312(de\336ne)]TJ -/TT0 1 Tf -12.585 0 Td -(rlim_t)Tj -/T1_0 1 Tf -4.162 0 Td -[(to )-312(be )-312(an)]TJ -/TT0 1 Tf -4.671 0 Td -[(unsigned )38(long )38(long)]TJ -/T1_0 1 Tf -11.285 0 Td -[(instead )-312(of )-312(an)]TJ -/TT0 1 Tf --32.703 -1.2 Td -[(unsigned )247(long)]TJ -/T1_0 1 Tf -0.6033 Tc (.T)Tj -0 Tc 9.02 0 Td -[(his )-103(de\336nition )-103(can )-103(even )-103(change )-103(on )-103(the )-103(same )-103(system, )-103(depending )-103(on)]TJ --9.02 -1.2 Td -[(whether )-63(we )-63(compile )-63(the )-63(pr)18(ogram )-63(to )-63(support )-63(64)]TJ -21.329 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-63(\336les.)-563(Some )-63(limits )-63(apply )-63(to )-63(\336le )-63(size,)]TJ --21.662 -1.2 Td -[(so )-212(the)]TJ -/TT0 1 Tf -3.281 0 Td -(rlim_t)Tj -/T1_0 1 Tf -4.062 0 Td -[(type )-212(has )-212(to )-212(be )-212(lar)18(ge )-212(enough )-212(to )-212(r)18(epr)18(esent )-212(a )-212(\336le )-212(size )-212(limit.)]TJ --0.092 Tc 27.615 0 Td -[(To )-396(a)]TJ -0 Tc 2.029 0 Td -(void)Tj --36.987 -1.2 Td -[(compiler )-14(warnings )-14(that )-14(use )-14(the )-14(wr)19(ong )-14(format )-14(speci\336cation, )-14(we )-14(\336rst )-14(copy )-14(the )-14(limit )-14(into )-14(a)]TJ -0 -1.2 TD -(64)Tj -1 0.09 Td -(-)Tj -0.333 -0.09 Td -(bit integer so that we have to deal with only one format.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5850.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 575.4299 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -[(#define doit\(name\))-1200(pr_limits\(#name, name\))]TJ -0 -1.902 TD -(static void pr_limits\(char *, int\);)Tj -T* -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -T* -[(#ifdef )-600(RLIMIT_AS)]TJ -2.4 -1.189 Td -(doit\(RLIMIT_AS\);)Tj --2.4 -1.189 Td -(#endif)Tj -2.4 -1.902 Td -(doit\(RLIMIT_CORE\);)Tj -T* -(doit\(RLIMIT_CPU\);)Tj -T* -(doit\(RLIMIT_DATA\);)Tj -T* -(doit\(RLIMIT_FSIZE\);)Tj --2.4 -1.902 Td -[(#ifdef )-600(RLIMIT_MEMLOCK)]TJ -2.4 -1.189 Td -(doit\(RLIMIT_MEMLOCK\);)Tj --2.4 -1.189 Td -(#endif)Tj -0 -1.902 TD -(#ifdef RLIMIT_MSGQUEUE)Tj -2.4 -1.189 Td -(doit\(RLIMIT_MSGQUEUE\);)Tj --2.4 -1.189 Td -(#endif)Tj -0 -1.902 TD -(#ifdef RLIMIT_NICE)Tj -2.4 -1.189 Td -(doit\(RLIMIT_NICE\);)Tj --2.4 -1.189 Td -(#endif)Tj -2.4 -1.902 Td -(doit\(RLIMIT_NOFILE\);)Tj --2.4 -1.902 Td -[(#ifdef )-600(RLIMIT_NPROC)]TJ -2.4 -1.189 Td -(doit\(RLIMIT_NPROC\);)Tj --2.4 -1.189 Td -(#endif)Tj -T* -(#ifdef RLIMIT_NPTS)Tj -2.4 -1.189 Td -(doit\(RLIMIT_NPTS\);)Tj --2.4 -1.189 Td -(#endif)Tj -T* -[(#ifdef )-600(RLIMIT_RSS)]TJ -2.4 -1.189 Td -(doit\(RLIMIT_RSS\);)Tj --2.4 -1.189 Td -(#endif)Tj -0 -1.902 TD -[(#ifdef )-600(RLIMIT_SBSIZE)]TJ -2.4 -1.189 Td -(doit\(RLIMIT_SBSIZE\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47591 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(224)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Envir)18(onment )]TJ -39.241 0 Td -[(Chapter)-500(7)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -(#endif)Tj -0 -1.902 TD -(#ifdef RLIMIT_SIGPENDING)Tj -2.4 -1.189 Td -(doit\(RLIMIT_SIGPENDING\);)Tj --2.4 -1.189 Td -(#endif)Tj -2.4 -1.902 Td -(doit\(RLIMIT_STACK\);)Tj --2.4 -1.902 Td -(#ifdef RLIMIT_SWAP)Tj -2.4 -1.189 Td -(doit\(RLIMIT_SWAP\);)Tj --2.4 -1.189 Td -(#endif)Tj -T* -[(#ifdef )-600(RLIMIT_VMEM)]TJ -2.4 -1.189 Td -(doit\(RLIMIT_VMEM\);)Tj --2.4 -1.189 Td -(#endif)Tj -2.4 -1.902 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -T* -(static void)Tj -0 -1.189 TD -(pr_limits\(char *name, int resource\))Tj -T* -({)Tj -2.4 -1.189 Td -[(struct rlimit)-4200(limit;)]TJ -T* -[(unsigned long long)-1200(lim;)]TJ -0 -1.902 TD -(if \(getrlimit\(resource, &limit\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("getrlimit error for %s", name\);)Tj --2.4 -1.189 Td -[(printf\("%-14s )-600(",)-600(name\);)]TJ -0 -1.189 TD -(if \(limit.rlim_cur == RLIM_INFINITY\) {)Tj -2.4 -1.189 Td -[(printf\("\(infinite\) )-600("\);)]TJ -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(lim = limit.rlim_cur;)Tj -T* -[(printf\("%10lld )-600(",)-600(lim\);)]TJ --2.4 -1.189 Td -(})Tj -T* -(if \(limit.rlim_max == RLIM_INFINITY\) {)Tj -2.4 -1.189 Td -(printf\("\(infinite\)"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(lim = limit.rlim_max;)Tj -T* -(printf\("%10lld", lim\);)Tj --2.4 -1.189 Td -(})Tj -T* -(putchar\(\(int\)\325\\n\325\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2567.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 245.6865 240.7301 Tm -(Figure 7.16)Tj -/T1_1 1 Tf -5.695 0 Td -[(Print the curr)18(ent r)18(esour)18(ce limits)]TJ -9.9988 0 0 9.9988 147.5825 211.9336 Tm -[(Note )-89(that )-89(we\325ve )-89(used )-89(the )-89(ISO )-89(C )-89(string-cr)18(eation )-89(operator )-89(\()]TJ -/TT0 1 Tf -26.039 0 Td -(#)Tj -/T1_1 1 Tf -[(\))-339(in)-339(t)-1(he)]TJ -/TT0 1 Tf -4.211 0 Td -(doit)Tj -/T1_1 1 Tf -2.739 0 Td -[(macr)18(o, )-89(to)]TJ --34.789 -1.2 Td -[(generate the string value for each r)18(esour)18(ce name.)-500(When we say)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 183.237 Tm -(doit\(RLIMIT_CORE\);)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 165.2392 Tm -[(the C pr)18(epr)18(ocessor expands this into)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5823 148.5412 Tm -(pr_limits\("RLIMIT_CORE", RLIMIT_CORE\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47592 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(434)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-388(c)]TJ -0 Tc 2.285 0 Td -[(an )-204(use )-204(the)]TJ -/TT0 1 Tf -5.336 0 Td -(pthread_mutexattr_gettype)Tj -/T1_1 1 Tf -15.454 0 Td -[(function )-204(to )-204(get )-204(the )-204(mutex)]TJ -/T1_2 1 Tf -12.403 0 Td -(type)Tj -/T1_1 1 Tf --37.278 -1.2 Td -[(attribute. )-480(T)]TJ -0.4803 Tc 5.3 0 Td -(oc)Tj -0 Tc 1.47 0 Td -[(hange )-230(the )-230(attribute, )-230(we )-230(can )-230(use )-230(the)]TJ -/TT0 1 Tf -17.229 0 Td -(pthread_mutexattr_settype)Tj -/T1_1 1 Tf --24 -1.2 Td -(function.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5914 625.8624 Tm -(#include )Tj -0 -2.259 TD -(int pthread_mutexattr_gettype\(const pthread_mutexattr_t *)Tj -18 -1.189 Td -(restrict)Tj -/T1_2 1 Tf -5.4 0 Td -(attr)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.299 0 Td -(nt *restrict)Tj -/T1_2 1 Tf -7.8 0 Td -(type)Tj -/TT0 1 Tf -(\);)Tj --34.499 -2.259 Td -(int pthread_mutexattr_settype\(pthread_mutexattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 33.899 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(type)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --16.018 -2.259 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5497.25 cm -0 0 m -0 852 l -3900 852 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 533.7459 Tm -[(Recall )-239(fr)18(om )-239(Section )-239(1)55(1.6.6 )-239(that )-239(a )-239(mutex )-239(is )-239(used )-239(to )-239(pr)14(otect )-239(the )-239(condition )-239(that )-239(is)]TJ --1.8 -1.2 Td -[(associated )-982(with )-982(a )-982(condition )-982(variable.)-1481(Befor)]TJ -1.2318 Tc 23.876 0 Td -(eb)Tj -0 Tc 2.264 0 Td -[(locking )-982(the )-982(thr)18(ead, )-982(the)]TJ -/TT0 1 Tf --26.139 -1.2 Td -(pthread_cond_wait)Tj -/T1_1 1 Tf -10.862 0 Td -[(and )-412(the)]TJ -/TT0 1 Tf -4.404 0 Td -(pthread_cond_timedwait)Tj -/T1_1 1 Tf -13.862 0 Td -[(functions )-412(r)18(elease )-412(the)]TJ --29.129 -1.2 Td -[(mutex )-126(associated )-126(with )-126(the )-126(condition.)-626(This )-126(allows )-126(other )-126(thr)16(eads )-126(to )-126(acquir)]TJ -0.3764 Tc 33.324 0 Td -(et)Tj -0 Tc 1.181 0 Td -[(he )-126(mutex,)]TJ --34.506 -1.2 Td -[(change )-150(the )-150(condition, )-150(r)17(elease )-150(the )-150(mutex, )-150(and )-150(signal )-150(the )-150(condition )-150(variable.)-650(Since )-150(the)]TJ -0 -1.2 TD -[(mutex )-146(must )-146(be )-146(held )-146(to )-146(change )-146(the )-146(condition, )-146(it )-146(is )-146(not )-146(a )-146(good )-146(idea )-146(to )-146(use )-146(a )-146(r)20(ecursive)]TJ -T* -[(mutex. )-733(If)]TJ -0.7335 Tc 5.444 0 Td -(ar)Tj -0 Tc 1.611 0 Td -[(ecursive )-483(mutex )-483(is )-483(locked )-483(multiple )-483(times )-483(and )-483(used )-483(in )-483(a )-483(call )-483(to)]TJ -/TT0 1 Tf --7.054 -1.2 Td -(pthread_cond_wait)Tj -/T1_1 1 Tf -0.2507 Tc (,t)Tj -0 Tc 11.027 0 Td -[(he )-1(condition )-1(can )-1(never )-1(be )-1(satis\336ed, )-1(because )-1(the )-1(unlock )-1(done )-1(by)]TJ -/TT0 1 Tf --11.027 -1.2 Td -(pthread_cond_wait)Tj -/T1_1 1 Tf -10.45 0 Td -[(doesn\325t r)18(elease the mutex.)]TJ --8.65 -1.2 Td -[(Recursive )-242(mutexes )-242(ar)]TJ -0.4924 Tc 9.92 0 Td -(eu)Tj -0 Tc 1.574 0 Td -[(seful )-242(when )-242(you )-242(need )-242(to )-242(adapt )-242(existing )-242(single-thr)15(eaded)]TJ --13.294 -1.2 Td -[(interfaces )-269(to )-269(a )-269(multithr)18(eaded )-269(envir)18(onment, )-269(but )-269(can\325t )-269(change )-269(the )-269(interfaces )-269(to )-269(your)]TJ -T* -[(functions )-113(because )-113(of )-113(compatibility )-113(constraints.)-613(However)]TJ -0.3631 Tc 25.603 0 Td -(,u)Tj -0 Tc 1.216 0 Td -[(sing )-113(r)18(ecursive )-113(locks )-113(can )-113(be)]TJ --26.819 -1.2 Td -(tricky)Tj -0.25 Tc 2.457 0 Td -(,a)Tj -0 Tc 1 0 Td -(nd they should be used only when no other solution is possible.)Tj -/TT1 1 Tf --7.057 -3.24 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.4356 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.415 0 Td -[(2.6 )-186(illustrates )-186(a )-186(situation )-186(in )-186(which )-186(a )-186(r)21(ecursive )-186(mutex )-186(might )-186(seem )-186(to )-186(solve )-186(a)]TJ --3.798 -1.2 Td -[(concurr)18(ency )-293(pr)18(oblem. )-543(Assume)-543(that)]TJ -/TT0 1 Tf -17.18 0 Td -(func1)Tj -/T1_1 1 Tf -3.543 0 Td -(and)Tj -/TT0 1 Tf -2.236 0 Td -(func2)Tj -/T1_1 1 Tf -3.543 0 Td -(ar)Tj -0.5432 Tc 0.877 0 Td -(ee)Tj -0 Tc 1.501 0 Td -[(xisting )-293(functions )-293(in )-293(a)]TJ --28.881 -1.2 Td -[(library )-50(whose )-50(interfaces )-50(can\325t )-50(be )-50(changed, )-50(because )-50(applications )-50(exist )-50(that )-50(call )-50(them )-50(and)]TJ -T* -(those applications can\325t be changed.)Tj --0.092 Tc 1.8 -1.2 Td -[(To )-348(k)]TJ -0 Tc 2.037 0 Td -[(eep )-164(the )-164(interfaces )-164(the )-164(same, )-164(we )-164(embed )-164(a )-164(mutex )-164(in )-164(the )-164(data )-164(str)6(uctur)]TJ -0.4142 Tc 31.404 0 Td -(ew)Tj -0 Tc 1.727 0 Td -(hose)Tj --36.969 -1.2 Td -[(addr)18(ess )-90(\()]TJ -/TT0 1 Tf -(x)Tj -/T1_1 1 Tf -[(\))-340(is)-340(p)1(assed )-90(in )-90(as )-90(an )-90(ar)20(gument. )-340(This)-339(is )-90(possible )-90(only )-90(if )-90(we )-90(have )-90(pr)20(ovided )-90(an)]TJ --0 -1.2 Td -[(allocator )-268(function )-268(for )-268(the )-268(str)8(uctur)18(e, )-268(so )-268(the )-268(application )-268(doesn\325t )-268(know )-268(about )-268(its )-268(size)]TJ -0 -1.2 Td -[(\(assuming we must incr)18(ease its size when we add a mutex to it\).)]TJ -7.999 0 0 7.999 183.5788 224.583 Tm -[(This )-120(is )-120(also )-120(possible )-120(if )-120(we )-120(originally )-120(de\336ned )-120(the )-120(str)7(uctur)]TJ -0.3701 Tc 25.806 0 Td -(ew)Tj -0 Tc 1.683 0 Td -[(ith )-120(enough )-120(padding )-120(to )-120(allow )-120(us)]TJ --27.489 -1.25 Td -[(now )-24(to )-24(r)18(eplace )-24(some )-24(pad )-24(\336elds )-24(with )-24(a )-24(mutex.)-525(Unfortunately)]TJ -0.274 Tc 26.952 0 Td -(,m)Tj -0 Tc 1.407 0 Td -[(ost )-24(pr)18(ogrammers )-24(ar)]TJ -0.274 Tc 8.76 0 Td -(eu)Tj -0 Tc 1.356 0 Td -(nskilled)Tj --38.475 -1.25 Td -[(at pr)18(edicting the futur)18(e, so this is not a common practice.)]TJ -9.9988 0 0 9.9988 147.5826 178.5886 Tm -[(If )-33(both)]TJ -/TT0 1 Tf -3.243 0 Td -(func1)Tj -/T1_1 1 Tf -3.283 0 Td -(and)Tj -/TT0 1 Tf -1.976 0 Td -(func2)Tj -/T1_1 1 Tf -3.283 0 Td -[(must )-33(manipulate )-33(the )-33(str)8(uctur)]TJ -0.2829 Tc 13.018 0 Td -(ea)Tj -0 Tc 1.262 0 Td -[(nd )-33(it )-33(is )-33(possible )-33(to )-33(access)]TJ --27.864 -1.2 Td -[(it )-125(fr)18(om )-125(mor)]TJ -0.3752 Tc 5.312 0 Td -(et)Tj -0 Tc 1.18 0 Td -[(han )-125(one )-125(thr)18(ead )-125(at )-125(a )-125(time, )-125(then)]TJ -/TT0 1 Tf -14.296 0 Td -(func1)Tj -/T1_1 1 Tf -3.375 0 Td -(and)Tj -/TT0 1 Tf -2.068 0 Td -(func2)Tj -/T1_1 1 Tf -3.375 0 Td -[(must )-125(lock )-125(the )-125(mutex)]TJ --29.608 -1.2 Td -(befor)Tj -0.3553 Tc 2.288 0 Td -(em)Tj -0 Tc 1.717 0 Td -[(anipulating )-105(the )-105(str)7(uctur)18(e. )-355(If)]TJ -/TT0 1 Tf -13.07 0 Td -(func1)Tj -/T1_1 1 Tf -3.355 0 Td -[(must )-105(call)]TJ -/TT0 1 Tf -4.473 0 Td -(func2)Tj -/T1_1 1 Tf -[(,)-355(we)-355(w)-1(ill )-105(deadlock )-105(if )-105(the)]TJ --24.904 -1.2 Td -[(mutex )-5(type )-5(is )-5(not )-5(r)17(ecursive. )-255(W)]TJ -0.2553 Tc 13.679 0 Td -(ec)Tj -0 Tc 1.178 0 Td -[(ould )-5(avoid )-5(using )-5(a )-5(r)17(ecursive )-5(mutex )-5(if )-5(we )-5(could )-5(r)17(elease)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47593 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(428)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(If )-35(we )-35(know )-35(that )-35(we )-35(don\325t )-35(need )-35(the )-35(thr)16(ead\325s )-35(termination )-35(status )-35(at )-35(the )-35(time )-35(we )-35(cr)15(eate)]TJ --1.8 -1.2 Td -[(the )-18(thr)18(ead, )-18(we )-18(can )-18(arrange )-18(for )-18(the )-18(thr)18(ead )-18(to )-18(start )-18(out )-18(in )-18(the )-18(detached )-18(state )-18(by )-18(modifying)]TJ -0 -1.2 TD -(the)Tj -/T1_2 1 Tf -1.891 0 Td -(detachstate)Tj -/T1_1 1 Tf -4.965 0 Td -[(thr)18(ead )-254(attribute )-254(in )-254(the)]TJ -/TT0 1 Tf -10.95 0 Td -(pthread_attr_t)Tj -/T1_1 1 Tf -8.904 0 Td -[(str)8(uctur)18(e. )-504(W)]TJ -0.5039 Tc 5.881 0 Td -(ec)Tj -0 Tc 1.427 0 Td -[(an )-254(use )-254(the)]TJ -/TT0 1 Tf --34.017 -1.2 Td -(pthread_attr_setdetachstate)Tj -/T1_1 1 Tf -16.65 0 Td -[(function )-200(to )-200(set )-200(the)]TJ -/T1_2 1 Tf -8.994 0 Td -(detachstate)Tj -/T1_1 1 Tf -4.911 0 Td -[(thr)18(ead )-200(attribute )-200(to)]TJ --30.555 -1.2 Td -[(one )-333(of )-333(two )-333(legal )-333(values:)]TJ -/TT0 1 Tf -12.336 0 Td -(PTHREAD_CREATE_DETACHED)Tj -/T1_1 1 Tf -14.383 0 Td -[(to )-333(start )-333(the )-333(thr)18(ead )-333(in )-333(the)]TJ --26.72 -1.2 Td -[(detached )-237(state )-237(or)]TJ -/TT0 1 Tf -8.49 0 Td -(PTHREAD_CREATE_JOINABLE)Tj -/T1_1 1 Tf -14.287 0 Td -[(to )-237(start )-237(the )-237(thr)18(ead )-237(normally)110(,)-487(so)-487(i)-1(ts)]TJ --22.777 -1.2 Td -[(termination status can be r)18(etrieved by the application.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5909 581.4651 Tm -(#include )Tj -0 -1.783 TD -(int pthread_attr_getdetachstate\(const pthread_attr_t *restrict)Tj -/T1_2 1 Tf -37.8 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --18.6 -1.189 Td -(int *)Tj -/T1_2 1 Tf -(detachstate)Tj -/TT0 1 Tf -(\);)Tj --19.2 -1.664 Td -(int pthread_attr_setdetachstate\(pthread_attr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 32.099 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(detachstate)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --14.218 -1.783 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5192.25 cm -0 0 m -0 713 l -3900 713 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9988 0 0 9.9988 147.5823 506.8592 Tm -[(We )-414(c)]TJ -0 Tc 2.311 0 Td -[(an )-230(call)]TJ -/TT0 1 Tf -3.567 0 Td -(pthread_attr_getdetachstate)Tj -/T1_1 1 Tf -16.68 0 Td -[(to )-230(obtain )-230(the )-230(curr)19(ent)]TJ -/T1_2 1 Tf -10.182 0 Td -(detachstate)Tj -/T1_1 1 Tf --34.539 -1.2 Td -[(attribute. )-863(The)-863(integer )-613(pointed )-613(to )-613(by )-613(the )-613(second )-613(ar)18(gument )-613(is )-613(set )-613(to )-613(either)]TJ -/TT0 1 Tf -0 -1.2 TD -(PTHREAD_CREATE_DETACHED)Tj -/T1_1 1 Tf -14.38 0 Td -(or)Tj -/TT0 1 Tf -1.521 0 Td -(PTHREAD_CREATE_JOINABLE)Tj -/T1_1 1 Tf -0.5804 Tc (,d)Tj -0 Tc 15.241 0 Td -[(epending )-330(on )-330(the)]TJ --31.143 -1.2 Td -(value of the attribute in the given)Tj -/TT0 1 Tf -14.986 0 Td -(pthread_attr_t)Tj -/T1_1 1 Tf -8.65 0 Td -[(str)8(uctur)18(e.)]TJ -/TT1 1 Tf --27.236 -2.4 Td -(Example)Tj -/T1_1 1 Tf -3.6 -1.92 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(2.4 shows a function that can be used to cr)18(eate a thr)18(ead in the detached state.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4205.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 410.945 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(makethread\(void *\(*fn\)\(void *\), void *arg\))Tj -T* -({)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -(err;)Tj --9.6 -1.189 Td -[(pthread_t )-3600(tid;)]TJ -T* -[(pthread_attr_t )-600(attr;)]TJ -0 -1.783 TD -(err = pthread_attr_init\(&attr\);)Tj -0 -1.189 TD -(if \(err != 0\))Tj -2.4 -1.189 Td -(return\(err\);)Tj --2.4 -1.189 Td -(err = pthread_attr_setdetachstate\(&attr, PTHREAD_CREATE_DETACHED\);)Tj -T* -(if \(err == 0\))Tj -2.4 -1.189 Td -(err = pthread_create\(&tid, &attr, fn, arg\);)Tj --2.4 -1.189 Td -(pthread_attr_destroy\(&attr\);)Tj -T* -(return\(err\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2243.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 231.3765 208.268 Tm -(Figure 12.4)Tj -/T1_1 1 Tf -6.25 0 Td -[(Cr)18(eating a thr)18(ead in the detached state)]TJ -9.9976 0 0 9.9976 147.5646 186.6732 Tm -[(Note )-17(that )-17(we )-17(ignor)]TJ -0.2675 Tc 8.384 0 Td -(et)Tj -0 Tc 1.072 0 Td -[(he )-17(r)18(eturn )-17(value )-17(fr)18(om )-17(the )-17(call )-17(to)]TJ -/TT0 1 Tf -14.057 0 Td -(pthread_attr_destroy)Tj -/T1_1 1 Tf -0.5175 Tc (.I)Tj -0 Tc 13.104 0 Td -(n)Tj --38.418 -1.2 Td -[(this )-203(case, )-203(we )-203(initialized )-203(the )-203(thr)20(ead )-203(attributes )-203(pr)19(operly)]TJ -0.4527 Tc 24.874 0 Td -(,s)Tj -0 Tc 1.127 0 Td -(o)Tj -/TT0 1 Tf -0.999 0 Td -(pthread_attr_destroy)Tj -/T1_1 1 Tf --27 -1.2 Td -[(shouldn\325t )-166(fail.)-665(Nonetheless, )-166(if )-166(it )-166(does )-166(fail, )-166(cleaning )-166(up )-166(would )-166(be )-166(dif)18(\336cult: )-166(we )-166(would)]TJ -0 -1.2 TD -[(have )-459(to )-459(destr)18(oy )-459(the )-459(thr)18(ead )-459(we )-459(just )-459(cr)20(eated, )-459(which )-459(might )-459(alr)18(eady )-459(be )-459(r)9(unning,)]TJ -T* -[(asynchr)18(onous )-161(to )-161(the )-161(execution )-161(of )-161(this )-161(function.)-660(When )-161(we )-161(choose )-161(to )-161(ignor)]TJ -0.4108 Tc 34.12 0 Td -(et)Tj -0 Tc 1.216 0 Td -[(he )-161(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47594 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(400)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -0 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(see )-16(that )-16(the )-16(mutex )-16(is )-16(still )-16(locked )-16(and )-16(go )-16(back )-16(to )-16(waiting )-16(for )-16(it )-16(to )-16(become )-16(available )-16(again.)]TJ -0 -1.2 TD -(In this way)Tj -0.25 Tc 4.821 0 Td -(,o)Tj -0 Tc 1.046 0 Td -[(nly one thr)18(ead will pr)18(oceed at a time.)]TJ --4.067 -1.2 Td -[(This )-145(mutual-exclusion )-145(mechanism )-145(works )-145(only )-145(if )-145(we )-145(design )-145(our )-145(thr)18(eads )-145(to )-145(follow)]TJ --1.8 -1.2 Td -[(the )-30(same )-30(data-access )-30(r)7(ules. )-280(The)-281(operating )-30(system )-30(doesn\325t )-30(serialize )-30(access )-30(to )-30(data )-30(for )-30(us.)]TJ -T* -[(If )-100(we )-100(allow )-100(one )-100(thr)18(ead )-100(to )-100(access )-100(a )-100(shar)18(ed )-100(r)19(esour)18(ce )-100(without )-100(\336rst )-100(acquiring )-100(a )-100(lock, )-100(then)]TJ --0 -1.2 Td -[(inconsistencies )-37(can )-37(occur )-37(even )-37(though )-37(the )-37(r)19(est )-37(of )-37(our )-37(thr)18(eads )-37(do )-37(acquir)]TJ -0.2869 Tc 31.669 0 Td -(et)Tj -0 Tc 1.092 0 Td -[(he )-37(lock )-37(befor)18(e)]TJ --32.761 -1.2 Td -[(attempting to access the shar)18(ed r)18(esour)18(ce.)]TJ -0.3709 Tc 1.8 -1.2 Td -(Am)Tj -0 Tc 2.032 0 Td -[(utex )-121(variable )-121(is )-121(r)19(epr)18(esented )-121(by )-121(the)]TJ -/TT0 1 Tf -16.148 0 Td -(pthread_mutex_t)Tj -/T1_1 1 Tf -9.371 0 Td -[(data )-121(type.)-621(Befor)]TJ -0.3708 Tc 7.487 0 Td -(ew)Tj -0 Tc 1.684 0 Td -(e)Tj --38.521 -1.2 Td -[(can )-114(use )-114(a )-114(mutex )-114(variable, )-114(we )-114(must )-114(\336rst )-114(initialize )-114(it )-114(by )-114(either )-114(setting )-114(it )-114(to )-114(the )-114(constant)]TJ -/TT0 1 Tf -T* -(PTHREAD_MUTEX_INITIALIZER)Tj -/T1_1 1 Tf -15.649 0 Td -[(\(for )-399(statically )-399(allocated )-399(mutexes )-399(only\) )-399(or )-399(calling)]TJ -/TT0 1 Tf --15.649 -1.2 Td -(pthread_mutex_init)Tj -/T1_1 1 Tf -0.562 Tc (.I)Tj -0 Tc 11.949 0 Td -[(f)-312(we)-312(allocate )-62(the )-62(mutex )-62(dynamically )-62(\(by )-62(calling)]TJ -/TT0 1 Tf -21.615 0 Td -(malloc)Tj -/T1_1 1 Tf -0.312 Tc (,f)Tj -0 Tc 4.495 0 Td -(or)Tj --38.059 -1.2 Td -(example\), then we need to call)Tj -/TT0 1 Tf -13.663 0 Td -(pthread_mutex_destroy)Tj -/T1_1 1 Tf -12.85 0 Td -(befor)Tj -0.25 Tc 2.288 0 Td -(ef)Tj --0.018 Tc 1.062 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(eing the memory)111(.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5907 517.8689 Tm -(#include )Tj -0 -2.021 TD -(int pthread_mutex_init\(pthread_mutex_t *restrict)Tj -/T1_2 1 Tf -29.4 0 Td -(mutex)Tj -/TT0 1 Tf -(,)Tj --15.6 -1.189 Td -(const pthread_mutexattr_t *restrict)Tj -/T1_2 1 Tf -21.6 0 Td -(attr)Tj -/TT0 1 Tf -(\);)Tj --35.4 -2.021 Td -(int pthread_mutex_destroy\(pthread_mutex_t *)Tj -/T1_2 1 Tf -(mutex)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -19.681 -2.021 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4481.25 cm -0 0 m -0 788 l -3900 788 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5844 432.1781 Tm -[(To )-309(i)]TJ -0 Tc 1.733 0 Td -[(nitialize )-125(a )-125(mutex )-125(with )-125(the )-125(default )-125(attributes, )-125(we )-125(set)]TJ -/T1_2 1 Tf -23.808 0 Td -(attr)Tj -/T1_1 1 Tf -1.874 0 Td -(to)Tj -/TT0 1 Tf -1.247 0 Td -(NULL)Tj -/T1_1 1 Tf -0.6246 Tc (.W)Tj -0.3746 Tc 4.183 0 Td -(ew)Tj -0 Tc 1.688 0 Td -[(ill )-125(discuss)]TJ --34.531 -1.2 Td -(mutex attributes in Section 12.4.)Tj --0.092 Tc 1.8 -1.2 Td -[(To )-312(l)]TJ -0 Tc 1.736 0 Td -[(ock )-127(a )-127(mutex, )-127(we )-127(call)]TJ -/TT0 1 Tf -9.829 0 Td -(pthread_mutex_lock)Tj -/T1_1 1 Tf -0.6275 Tc (.I)Tj -0.3775 Tc 12.014 0 Td -(ft)Tj -0 Tc 1.036 0 Td -[(he )-127(mutex )-127(is )-127(alr)18(eady )-127(locked,)]TJ --26.416 -1.2 Td -[(the )-122(calling )-122(thr)18(ead )-122(will )-122(block )-122(until )-122(the )-122(mutex )-122(is )-122(unlocked.)]TJ --0.092 Tc 26.653 0 Td -[(To )-306(u)]TJ -0 Tc 2.042 0 Td -[(nlock )-122(a )-122(mutex, )-122(we )-122(call)]TJ -/TT0 1 Tf --28.695 -1.2 Td -(pthread_mutex_unlock)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5821 365.0862 Tm -(#include )Tj -0 -2.021 TD -(int pthread_mutex_lock\(pthread_mutex_t *)Tj -/T1_2 1 Tf -(mutex)Tj -/TT0 1 Tf -(\);)Tj --0 -2.021 Td -(int pthread_mutex_trylock\(pthread_mutex_t *)Tj -/T1_2 1 Tf -(mutex)Tj -/TT0 1 Tf -(\);)Tj --0 -2.021 Td -(int pthread_mutex_unlock\(pthread_mutex_t *)Tj -/T1_2 1 Tf -(mutex)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -20.386 -2.021 Td -[(All r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2878.25 cm -0 0 m -0 863 l -3900 863 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 147.5734 271.921 Tm -[(If )-95(a )-95(thr)18(ead )-95(can\325t )-95(af)18(for)18(d)-345(to)-345(block, )-95(it )-95(can )-95(use)]TJ -/TT0 1 Tf -19.469 0 Td -(pthread_mutex_trylock)Tj -/T1_1 1 Tf -12.945 0 Td -[(to )-95(lock )-95(the)]TJ --34.214 -1.2 Td -[(mutex )-96(conditionally)]TJ -0.5964 Tc 8.899 0 Td -(.I)Tj -0.3464 Tc 1.183 0 Td -(ft)Tj -0 Tc 1.005 0 Td -[(he )-96(mutex )-96(is )-96(unlocked )-96(at )-96(the )-96(time)]TJ -/TT0 1 Tf -15.312 0 Td -(pthread_mutex_trylock)Tj -/T1_1 1 Tf --26.4 -1.2 Td -[(is )-159(called, )-159(then)]TJ -/TT0 1 Tf -6.778 0 Td -(pthread_mutex_trylock)Tj -/T1_1 1 Tf -13.009 0 Td -[(will )-159(lock )-159(the )-159(mutex )-159(without )-159(blocking )-159(and)]TJ --0.018 Tc -19.787 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-215(0.)-715(Otherwise,)]TJ -/TT0 1 Tf -9.148 0 Td -(pthread_mutex_trylock)Tj -/T1_1 1 Tf -13.065 0 Td -[(will )-215(fail, )-215(r)18(eturning)]TJ -/TT0 1 Tf -8.958 0 Td -(EBUSY)Tj -/T1_1 1 Tf -3.465 0 Td -(without)Tj --35.492 -1.2 Td -(locking the mutex.)Tj -/TT1 1 Tf --3.6 -3.12 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.3405 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.264 0 Td -[(1.10 )-90(illustrates )-90(a )-90(mutex )-90(used )-90(to )-90(pr)18(otect )-90(a )-90(data )-90(str)4(uctur)18(e. )-340(When)-341(mor)]TJ -0.3405 Tc 30.596 0 Td -(et)Tj -0 Tc 1.146 0 Td -[(han )-90(one)]TJ --35.389 -1.2 Td -[(thr)18(ead )-78(needs )-78(to )-78(access )-78(a )-78(dynamically )-78(allocated )-78(object, )-78(we )-78(can )-78(embed )-78(a )-78(r)18(efer)18(ence )-78(count)]TJ -0 -1.2 Td -[(in )-12(the )-12(object )-12(to )-12(ensur)]TJ -0.2621 Tc 9.227 0 Td -(et)Tj -0 Tc 1.067 0 Td -[(hat )-12(we )-12(don\325t )-12(fr)18(ee )-12(its )-12(memory )-12(befor)]TJ -0.2621 Tc 15.376 0 Td -(ea)Tj -0 Tc 1.241 0 Td -[(ll )-12(thr)18(eads )-12(ar)]TJ -0.2622 Tc 5.282 0 Td -(ed)Tj -0 Tc 1.352 0 Td -[(one )-12(using )-12(it.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47595 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(821)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(254 )-2400(jp->jobid)]TJ -0.6 Tc 10.8 0 Td -(=j)Tj -0 Tc 1.8 0 Td -(obid;)Tj --12.6 -1.189 Td -[(255 )-2400(jp->next)]TJ -0.6 Tc 10.2 0 Td -(=N)Tj -0 Tc 1.8 0 Td -(ULL;)Tj --12 -1.189 Td -[(256 )-2400(pthread_mutex_lock\(&joblock\);)]TJ -0 -1.189 TD -[(257 )-2400(jp->prev)]TJ -0.6 Tc 10.2 0 Td -(=j)Tj -0 Tc 1.8 0 Td -(obtail;)Tj --12 -1.189 Td -[(258 )-2400(if)-600(\(jobtail == NULL\))]TJ -0 -1.189 TD -[(259 )-4800(jobhead)]TJ -0.6 Tc 12 0 Td -(=j)Tj -0 Tc 1.8 0 Td -(p;)Tj --13.8 -1.189 Td -[(260 )-2400(else)]TJ -0 -1.189 TD -[(261 )-4800(jobtail->next)]TJ -0.6 Tc 15.6 0 Td -(=j)Tj -0 Tc 1.8 0 Td -(p;)Tj --17.4 -1.189 Td -[(262 )-2400(jobtail)]TJ -0.6 Tc 9.6 0 Td -(=j)Tj -0 Tc 1.8 0 Td -(p;)Tj --11.4 -1.189 Td -[(263 )-2400(pthread_mutex_unlock\(&joblock\);)]TJ -T* -[(264 )-2400(pthread_cond_signal\(&jobwait\);)]TJ -T* -[(265 )-1200(})]TJ -0 -2.14 TD -[(266 )-1200(/*)]TJ -0 -1.189 TD -[(267 )-1800(*)-600(Replace a job back on the head of the list.)]TJ -T* -[(268 )-1800(*)]TJ -T* -[(269 )-1800(*)-600(LOCKING: acquires and releases joblock.)]TJ -T* -[(270 )-1800(*/)]TJ -0 -1.189 TD -[(271 )-1200(void)]TJ -0 -1.189 TD -[(272 )-1200(replace_job\(struct)-600(job *jp\))]TJ -T* -[(273 )-1200({)]TJ -T* -[(274 )-2400(pthread_mutex_lock\(&joblock\);)]TJ -T* -[(275 )-2400(jp->prev)]TJ -0.6 Tc 10.2 0 Td -(=N)Tj -0 Tc 1.8 0 Td -(ULL;)Tj --12 -1.189 Td -[(276 )-2400(jp->next)]TJ -0.6 Tc 10.2 0 Td -(=j)Tj -0 Tc 1.8 0 Td -(obhead;)Tj --12 -1.189 Td -[(277 )-2400(if)-600(\(jobhead == NULL\))]TJ -T* -[(278 )-4800(jobtail)]TJ -0.6 Tc 12 0 Td -(=j)Tj -0 Tc 1.8 0 Td -(p;)Tj --13.8 -1.189 Td -[(279 )-2400(else)]TJ -0 -1.189 TD -[(280 )-4800(jobhead->prev)]TJ -0.6 Tc 15.6 0 Td -(=j)Tj -0 Tc 1.8 0 Td -(p;)Tj --17.4 -1.189 Td -[(281 )-2400(jobhead)]TJ -0.6 Tc 9.6 0 Td -(=j)Tj -0 Tc 1.8 0 Td -(p;)Tj --11.4 -1.189 Td -[(282 )-2400(pthread_mutex_unlock\(&joblock\);)]TJ -0 -1.189 TD -[(283 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3358.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 311.8006 Tm -[([254 )167(\320 )167(265])]TJ --0.092 Tc 5 0 Td -[(We )-249(s)]TJ -0 Tc 2.126 0 Td -[(ave )-65(the )-65(job )-65(ID )-65(and )-65(lock )-65(the)]TJ -/TT0 1 Tf -12.497 0 Td -(joblock)Tj -/T1_0 1 Tf -4.515 0 Td -[(mutex )-65(to )-65(gain )-65(exclusive )-65(access )-65(to)]TJ --19.138 -1.2 Td -[(the )-27(linked )-27(list )-27(of )-27(print )-27(jobs.)]TJ --0.092 Tc 12.522 0 Td -[(We )-211(a)]TJ --0.018 Tc 2.164 0 Td -[(re )-63(a)]TJ -0 Tc 1.633 0 Td -[(bout )-27(to )-27(add )-27(the )-27(new )-27(job )-27(str)8(uctur)18(e)-277(to)-277(the)]TJ --16.319 -1.2 Td -[(end )-36(of )-36(the )-36(list.)]TJ --0.092 Tc 6.915 0 Td -[(We )-220(s)]TJ -0 Tc 2.097 0 Td -[(et )-36(the )-36(new )-36(str)7(uctur)18(e\325s )-36(pr)18(evious )-36(pointer )-36(to )-36(the )-36(last )-36(job )-36(on)]TJ --9.012 -1.2 Td -[(the )-107(list.)-607(If )-107(the )-107(list )-107(is )-107(empty)109(,)-357(we)-357(s)-1(et)]TJ -/TT0 1 Tf -16.065 0 Td -(jobhead)Tj -/T1_0 1 Tf -4.557 0 Td -[(to )-107(point )-107(to )-107(the )-107(new )-107(str)7(uctur)18(e.)]TJ --20.623 -1.2 Td -[(Otherwise, )-40(we )-40(set )-40(the )-40(next )-40(pointer )-40(in )-40(the )-40(last )-40(entry )-40(on )-40(the )-40(list )-40(to )-40(point )-40(to )-40(the)]TJ -0 -1.2 TD -[(new )-201(str)8(uctur)18(e. )-451(Then)-451(we )-201(set)]TJ -/TT0 1 Tf -13.416 0 Td -(jobtail)Tj -/T1_0 1 Tf -4.651 0 Td -[(to )-201(point )-201(to )-201(the )-201(new )-201(str)9(uctur)18(e. )-451(W)92(e)]TJ --18.067 -1.2 Td -[(unlock the mutex and signal the printer thr)18(ead that another job is available.)]TJ --5 -1.6 Td -[([266 )167(\320 )167(283])-668(The)]TJ -/TT0 1 Tf -6.933 0 Td -(replace_job)Tj -/T1_0 1 Tf -6.859 0 Td -[(function )-9(is )-9(used )-9(to )-9(insert )-9(a )-9(job )-9(at )-9(the )-9(head )-9(of )-9(the )-9(pending)]TJ --8.793 -1.2 Td -[(job )-40(list.)]TJ --0.092 Tc 3.745 0 Td -[(We )-224(a)]TJ -0 Tc 2.177 0 Td -(cquir)Tj -0.2899 Tc 2.275 0 Td -(et)Tj -0 Tc 1.095 0 Td -(he)Tj -/TT0 1 Tf -1.351 0 Td -(joblock)Tj -/T1_0 1 Tf -4.49 0 Td -[(mutex, )-40(set )-40(the )-40(pr)18(evious )-40(pointer )-40(in )-40(the)]TJ -/TT0 1 Tf -17.068 0 Td -(job)Tj -/T1_0 1 Tf --32.2 -1.2 Td -[(str)8(uctur)]TJ -0.3541 Tc 3.49 0 Td -(et)Tj -0 Tc 1.159 0 Td -(o)Tj -/TT0 1 Tf -0.9 0 Td -(NULL)Tj -/T1_0 1 Tf -0.3541 Tc (,a)Tj -0 Tc 3.504 0 Td -[(nd )-104(set )-104(the )-104(next )-104(pointer )-104(in )-104(the)]TJ -/TT0 1 Tf -13.671 0 Td -(job)Tj -/T1_0 1 Tf -2.154 0 Td -[(str)8(uctur)18(e)-354(to)-354(point )-104(to)]TJ --24.878 -1.2 Td -[(the )-58(head )-58(of )-58(the )-58(list.)-558(If )-58(the )-58(list )-58(is )-58(empty)111(,)-308(we)-308(set)]TJ -/TT0 1 Tf -20.983 0 Td -(jobtail)Tj -/T1_0 1 Tf -4.508 0 Td -[(to )-58(point )-58(to )-58(the)]TJ -/TT0 1 Tf -6.709 0 Td -(job)Tj -/T1_0 1 Tf --32.2 -1.2 Td -[(str)8(uctur)18(e)-418(we)-418(a)]TJ --0.018 Tc [(re )-204(re)]TJ -0 Tc 8.748 0 Td -[(placing. )-418(Otherwise,)-418(we )-168(set )-168(the )-168(pr)18(evious )-168(pointer )-168(in )-168(the)]TJ --8.748 -1.2 Td -(\336rst)Tj -/TT0 1 Tf -2.061 0 Td -(job)Tj -/T1_0 1 Tf -2.111 0 Td -[(str)8(uctur)18(e)-311(on)-311(t)1(he )-61(list )-61(to )-61(point )-61(to )-61(the)]TJ -/TT0 1 Tf -15.778 0 Td -(job)Tj -/T1_0 1 Tf -2.111 0 Td -[(str)8(uctur)18(e)-310(we)-310(a)]TJ --0.018 Tc 6.403 0 Td -[(re )-97(re)]TJ -0 Tc 2.023 0 Td -(placing.)Tj --30.485 -1.2 Td -[(Then )-194(we )-194(set )-194(the)]TJ -/TT0 1 Tf -7.961 0 Td -(jobhead)Tj -/T1_0 1 Tf -4.644 0 Td -[(pointer )-194(to )-194(the)]TJ -/TT0 1 Tf -6.811 0 Td -(job)Tj -/T1_0 1 Tf -2.244 0 Td -[(str)8(uctur)]TJ -0.4439 Tc 3.49 0 Td -(ew)Tj -0.444 Tc 1.757 0 Td -(ea)Tj --0.018 Tc 1.423 0 Td -[(re )-230(re)]TJ -0 Tc 2.156 0 Td -(placing.)Tj --30.485 -1.2 Td -[(Finally)111(,)-250(we)-250(r)18(elease the)]TJ -/TT0 1 Tf -9.935 0 Td -(joblock)Tj -/T1_0 1 Tf -4.45 0 Td -(mutex.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47596 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.4)]TJ -32.736 0 Td -[(Passing )-250(File )-250(Descriptors)]TJ -/T1_1 1 Tf -13.097 0 Td -(647)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(To )-402(r)]TJ -0 Tc 1.912 0 Td -[(eceive )-218(a )-218(descriptor )-218(\(Figur)]TJ -0.4679 Tc 11.869 0 Td -(e1)Tj -0 Tc 1.447 0 Td -[(7.14\), )-218(we )-218(allocate )-218(enough )-218(r)18(oom )-218(for )-218(a)]TJ -/TT0 1 Tf -17.772 0 Td -(cmsghdr)Tj -/T1_0 1 Tf --34.8 -1.2 Td -[(str)8(uctur)]TJ -0.4254 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.404 0 Td -[(nd )-175(a )-175(descriptor)]TJ -0.4254 Tc 6.982 0 Td -(,s)Tj -0 Tc 1.099 0 Td -(et)Tj -/TT0 1 Tf -1.23 0 Td -(msg_control)Tj -/T1_0 1 Tf -7.026 0 Td -[(to )-175(point )-175(to )-175(the )-175(allocated )-175(ar)18(ea, )-175(and )-175(call)]TJ -/TT0 1 Tf --21.231 -1.2 Td -(recvmsg)Tj -/T1_0 1 Tf -0.5 Tc (.W)Tj -0.25 Tc 5.858 0 Td -(eu)Tj -0 Tc 1.332 0 Td -(se the)Tj -/TT0 1 Tf -2.79 0 Td -(CMSG_LEN)Tj -/T1_0 1 Tf -5.05 0 Td -[(macr)18(o)-250(to)-250(calculate the amount of space needed.)]TJ --0.092 Tc -13.23 -1.2 Td -[(We )-301(r)]TJ -0 Tc 2.131 0 Td -[(ead )-117(fr)18(om )-117(the )-117(socket )-117(until )-117(we )-117(r)18(ead )-117(the )-117(null )-117(byte )-117(that )-117(pr)18(ecedes )-117(the )-117(\336nal )-117(status)]TJ --3.931 -1.2 Td -[(byte. )-250(Everything)-250(up to this null byte is an err)18(or message fr)18(om the sender)74(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6138.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 604.2265 Tm -(#include "apue.h")Tj -0 -1.189 TD -[(#include )-3000(/* struct msghdr */)]TJ -0 -1.902 TD -(/* size of control buffer to send/recv one file descriptor */)Tj -0 -1.189 TD -[(#define CONTROLLEN)-1200(CMSG_LEN\(sizeof\(int\)\))]TJ -0 -1.902 TD -[(static struct cmsghdr)-1800(*cmptr = NULL;)-3600(/* malloc\325ed first time */)]TJ -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*R)Tj -0 Tc 1.8 0 Td -[(eceive a file descriptor from a server process.)-1200(Also, any data)]TJ -0.6 Tc -1.8 -1.189 Td -(*r)Tj -0 Tc 1.8 0 Td -(eceived is passed to \(*userfunc\)\(STDERR_FILENO, buf, nbytes\).)Tj --1.8 -1.189 Td -[(*)-600(We)-600(have a 2-byte protocol for receiving the fd from send_fd\(\).)]TJ -0 -1.189 TD -(*/)Tj --0.6 -1.189 Td -(int)Tj -T* -(recv_fd\(int fd, ssize_t \(*userfunc\)\(int, const void *, size_t\)\))Tj -T* -({)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -[(newfd,)-600(nr, status;)]TJ --9.6 -1.189 Td -(char )Tj -9.6 0 Td -(*ptr;)Tj --9.6 -1.189 Td -(char )Tj -9.6 0 Td -(buf[MAXLINE];)Tj --9.6 -1.189 Td -[(struct iovec)-2400(iov[1];)]TJ -T* -[(struct msghdr)-1800(msg;)]TJ -0 -1.902 TD -(status = -1;)Tj -0 -1.189 TD -(for \( ; ; \) {)Tj -2.4 -1.189 Td -(iov[0].iov_base = buf;)Tj -T* -[(iov[0].iov_len )-600(=)-600(sizeof\(buf\);)]TJ -T* -[(msg.msg_iov )-2400(=)-600(iov;)]TJ -T* -[(msg.msg_iovlen )-600(=)-600(1;)]TJ -T* -[(msg.msg_name )-1800(=)-600(NULL;)]TJ -T* -(msg.msg_namelen = 0;)Tj -0 -1.189 TD -(if \(cmptr == NULL && \(cmptr = malloc\(CONTROLLEN\)\) == NULL\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -[(msg.msg_control )-1800(=)-600(cmptr;)]TJ -0 -1.189 TD -(msg.msg_controllen = CONTROLLEN;)Tj -T* -(if \(\(nr = recvmsg\(fd, &msg, 0\)\) < 0\) {)Tj -2.4 -1.189 Td -(err_ret\("recvmsg error"\);)Tj -T* -(return\(-1\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(nr == 0\) {)Tj -0.6 -1.189 Td -(err_ret\("connection closed by server"\);)Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*S)Tj -0 Tc 1.8 0 Td -[(ee if this is the final data with null & status.)-1200(Null)]TJ --1.8 -1.189 Td -[(*)-600(is)-600(next to last byte of buffer; status byte is last byte.)]TJ -0.6 Tc 0 -1.189 TD -(*Z)Tj -0 Tc 1.8 0 Td -(ero status means there is a file descriptor to receive.)Tj --1.8 -1.189 Td -(*/)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47597 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(980)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(pthread_spin_init)Tj -/T1_1 1 Tf -10.617 0 Td -[(function, )-250(417)]TJ --9.267 -1.25 Td -[(de\336nition of,)-500(417)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_spin_lock)Tj -/T1_1 1 Tf -10.617 0 Td -[(function, )-250(418)]TJ --9.267 -1.25 Td -[(de\336nition of,)-500(418)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_spin_trylock)Tj -/T1_1 1 Tf -12.417 0 Td -[(function, )-250(418)]TJ --11.067 -1.25 Td -[(de\336nition of,)-500(418)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_spin_unlock)Tj -/T1_1 1 Tf -11.817 0 Td -[(function, )-250(418)]TJ --10.467 -1.25 Td -[(de\336nition of,)-500(418)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(PTHREAD_STACK_MIN)Tj -/T1_1 1 Tf -10.617 0 Td -[(constant, )-250(426,)-250(430)]TJ -/TT0 1 Tf --10.617 -1.25 Td -(pthread_t)Tj -/T1_1 1 Tf -5.817 0 Td -[(data type,)-500(59, 384)]TJ -7.982 0.09 Td -(\320)Tj -0.583 -0.09 Td -(385, 387, 390)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(391,)Tj --17.849 -1.25 Td -[(395, 41)55(1, 421, 428, 456, 460, 476, 632, 812, 814,)]TJ -0 -1.25 TD -(824, 829, 926, 941)Tj -/TT0 1 Tf --2.7 -1.25 Td -(pthread_testcancel)Tj -/T1_1 1 Tf -11.217 0 Td -[(function, )-250(451,)-250(453)]TJ --9.867 -1.25 Td -[(de\336nition of,)-500(453)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(PTHREAD_THREADS_MAX)Tj -/T1_1 1 Tf -11.817 0 Td -[(constant, )-250(426)]TJ -/TT0 1 Tf --11.817 -1.25 Td -(ptrdiff_t)Tj -/T1_1 1 Tf -5.817 0 Td -[(data type,)-500(59)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(ptsname)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(442,)-250(723)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(725)Tj --11.89 -1.25 Td -[(de\336nition of,)-500(723)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pty)Tj -/T1_1 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(309,)-250(715, 720)]TJ -10.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(721, 727, 729)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(742, 944)Tj -/TT0 1 Tf --19.158 -1.25 Td -(pty_fork)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(721,)-250(724, 726)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(730, 732, 739,)Tj --13.14 -1.25 Td -(741)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(742)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(727)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(ptym_open)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(724,)-250(726)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(728, 897)Tj --13.09 -1.25 Td -[(de\336nition of,)-500(724)]TJ -7.775 0.09 Td -(\320)Tj -0.583 -0.09 Td -(725)Tj -/TT0 1 Tf --9.709 -1.25 Td -(ptys_fork)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(897)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(ptys_open)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(724,)-250(726)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(728, 897)Tj --13.09 -1.25 Td -[(de\336nition of,)-500(724)]TJ -7.775 0.09 Td -(\320)Tj -0.583 -0.09 Td -(725)Tj --9.709 -1.25 Td -[(Pu, C.,)-500(65, 953)]TJ -/TT0 1 Tf -T* -(putc)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(10,)-250(152)]TJ -7.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(156, 247)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(248, 452, 701)Tj --13.757 -1.25 Td -[(de\336nition of,)-500(152)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(putchar)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(152,)-250(175, 452, 547)]TJ -12.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(548)Tj --15.89 -1.25 Td -[(de\336nition of,)-500(152)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(putchar_unlocked)Tj -/T1_1 1 Tf -10.017 0 Td -[(function, )-250(442,)-250(444, 452)]TJ --8.667 -1.25 Td -[(de\336nition of,)-500(444)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(putc_unlocked)Tj -/T1_1 1 Tf -8.217 0 Td -[(function, )-250(442,)-250(444, 452)]TJ --6.867 -1.25 Td -[(de\336nition of,)-500(444)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(putenv)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(204,)-250(212, 251, 442, 446, 462)]TJ --2.667 -1.25 Td -[(de\336nition of,)-500(212)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(putenv_r)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(462)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(puts)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(152)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(153, 452, 91)55(1)]TJ --8.09 -1.25 Td -[(de\336nition of,)-500(153)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pututxline)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(442,)-250(452)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(putwc)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(putwchar)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(PWD)Tj -/T1_1 1 Tf -2.217 0 Td -[(envir)18(onment variable,)-500(21)55(1)]TJ -/TT0 1 Tf --2.217 -1.25 Td -()Tj -/T1_1 1 Tf -4.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9, 177, 186)Tj -/TT0 1 Tf --8.839 -1.25 Td -(pwrite)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(78)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(79, 451, 461)Tj -5.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(462, 592)Tj --14.457 -1.25 Td -[(de\336nition of,)-500(78)]TJ --1.35 -4.75 Td -[(Quarterman, J. S.,)-500(33)]TJ -9.39 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(34, 74, 1)55(12, 1)55(16, 229, 236, 525,)]TJ --7.273 -1.25 Td -(951)Tj --2.7 -1.25 Td -(QUIT terminal character)Tj -0.5 Tc 10.752 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 681, 688, 702)Tj -13.998 66 Td -[(race conditions,)-500(245)]TJ -9.044 0.09 Td -(\320)Tj -0.583 -0.09 Td -(249, 339, 784, 922, 924)Tj --9.627 -1.25 Td -[(Rago, J. E.,)-500(xxvii)]TJ -T* -[(Rago, S. A.,)-500(xxxii, 88, 157, 290, 952)]TJ -/TT0 1 Tf -T* -(raise)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(331,)-250(336)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(338, 365)Tj --10.69 -1.25 Td -[(de\336nition of,)-500(337)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(rand)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(442)]TJ --2.817 -1.25 Td -[(raw terminal mode,)-500(672, 704, 708, 713, 732, 734)]TJ -T* -[(Raymond, E. S.,)-500(952)]TJ -/TT0 1 Tf -T* -(read)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(8)]TJ -5.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(10, 20, 59, 61, 64, 71)Tj -8.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(72, 78, 88,)Tj --14.907 -1.25 Td -(90)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(91, 1)Tj --0.055 Tc 1.945 0 Td -(11)Tj -0.25 Tc 0.945 0 Td -(,1)Tj -0 Tc 1 0 Td -(24)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(125, 130, 145, 154)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(156, 174,)Tj --15.389 -1.25 Td -(301, 308)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(309, 328)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(331, 342)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(343, 364)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(365,)Tj --16.666 -1.25 Td -(378, 451, 462, 470, 482)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(483, 495)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(496,)Tj --14.333 -1.25 Td -(498)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(502, 505)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(506, 508)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(509, 513, 517,)Tj --10.5 -1.25 Td -(523)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(525, 530)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(531, 536)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(537, 540)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(541,)Tj --14.666 -1.25 Td -(549)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(551, 553, 556, 587, 590, 592, 610, 612, 654,)Tj --2.167 -1.25 Td -(656, 665)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(667, 672, 702)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(704, 708)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(709,)Tj --14.5 -1.25 Td -(732)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(733, 738, 740, 748, 752, 765, 767)Tj -13.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(768,)Tj --16.333 -1.25 Td -(805)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(806, 81)55(1, 818, 823, 836)]TJ -9.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(838, 907)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(908,)Tj --16.445 -1.25 Td -(936, 943)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(71)]TJ --0.018 Tc -1.35 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(ad, scatter)Tj -0.5 Tc 4.431 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(21, 644)Tj -/TT0 1 Tf --6.537 -1.25 Td -(readdir)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(5,)-250(7, 130)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(135, 442, 452, 697, 823)Tj --11.89 -1.25 Td -[(de\336nition of,)-500(130)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(readdir_r)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(443,)-250(452)]TJ --0.018 Tc -5.817 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(ader\320writer lock attributes,)-500(439)]TJ -14.098 0.09 Td -(\320)Tj -0.583 -0.09 Td -(440)Tj --0.018 Tc -15.538 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(ader\320writer locks,)-500(409)]TJ -10.049 0.09 Td -(\320)Tj -0.583 -0.09 Td -(413)Tj --0.018 Tc -11.489 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading dir)18(ectories, )-250(130)]TJ -9.786 0.09 Td -(\320)Tj -0.583 -0.09 Td -(135)Tj -/TT0 1 Tf --11.225 -1.25 Td -(readlink)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(121,)-250(123)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(124, 331, 452)Tj --12.49 -1.25 Td -[(de\336nition of,)-500(123)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(readlinkat)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(123)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(124, 331, 452)Tj --11.69 -1.25 Td -[(de\336nition of,)-500(123)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(read_lock)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(489,)-250(493, 498, 897)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(readmore)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(814,)-250(837, 840)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(841)Tj --14.49 -1.25 Td -[(de\336nition of,)-500(837)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(readn)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(523)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(524, 738, 806, 81)55(1, 896)]TJ --8.69 -1.25 Td -[(de\336nition of,)-500(523)]TJ -7.775 0.09 Td -(\320)Tj -0.583 -0.09 Td -(524)Tj -/TT0 1 Tf --9.709 -1.25 Td -(readv)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(41,)-250(43, 329, 451, 481, 521)]TJ -15.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(523,)Tj --16.34 -1.25 Td -(531, 592, 613, 644, 752, 766)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(521)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(readw_lock)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(489,)-250(759, 763, 780, 897)]TJ --0.018 Tc -6.417 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(al)Tj -0.494 -1.25 Td -[(gr)18(oup ID,)-500(98, 102, 183, 228, 233, 252)]TJ -15.877 0.09 Td -(\320)Tj -0.583 -0.09 Td -(253, 256,)Tj --15.111 -1.25 Td -(270, 585)Tj --1.35 -1.25 Td -[(user ID,)-500(39)]TJ -5.095 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40, 43, 98)Tj -4.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(99, 102, 221, 228, 233,)Tj --8.995 -1.25 Td -(252)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(253, 256)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(260, 270, 276, 286, 288, 337,)Tj --6.333 -1.25 Td -(381, 585, 924)Tj -/TT0 1 Tf --2.7 -1.25 Td -(realloc)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(50,)-250(174, 207)]TJ -9.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(208, 213, 661)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(662,)Tj --18.207 -1.25 Td -[(666, 761, 838, 840, 91)55(1)]TJ -9.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(912)Tj --11.462 -1.25 Td -[(de\336nition of,)-500(207)]TJ --0.018 Tc -1.35 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.25 Tc 1.367 0 Td -(dl)Tj -0 Tc 1.152 0 Td -[(ocking, )-250(485)]TJ -5.308 0.09 Td -(\320)Tj -0.583 -0.09 Td -(499)Tj --7.916 -1.25 Td -(advisory)Tj -0.5 Tc 3.777 0 Td -(,4)Tj -0 Tc 1.25 0 Td -(95)Tj --5.027 -1.25 Td -[(deadlock, )-250(490)]TJ -T* -(mandatory)Tj -0.5 Tc 4.788 0 Td -(,4)Tj -0 Tc 1.25 0 Td -(95)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47598 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(490)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -[(struct flock)-2400(lock;)]TJ -0 -1.902 TD -[(lock.l_type = type;)-3000(/* F_RDLCK or F_WRLCK */)]TJ -0 -1.189 TD -[(lock.l_start = offset;)-1200(/* byte offset, relative to l_whence */)]TJ -T* -(lock.l_whence = whence; /* SEEK_SET, SEEK_CUR, SEEK_END */)Tj -T* -[(lock.l_len = len;)-4200(/* #bytes \(0 means to EOF\) */)]TJ -0 -1.902 TD -(if \(fcntl\(fd, F_GETLK, &lock\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("fcntl error"\);)Tj --2.4 -1.902 Td -(if \(lock.l_type == F_UNLCK\))Tj -2.4 -1.189 Td -[(return\(0\); )-3000(/*)-600(false, region isn\325t locked by another proc */)]TJ --2.4 -1.189 Td -(return\(lock.l_pid\); /* true, return pid of lock owner */)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5392.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 233.328 523.1762 Tm -(Figure 14.6)Tj -/T1_1 1 Tf -5.695 0 Td -(Function to test for a locking condition)Tj -9.9988 0 0 9.9988 129.5846 499.1791 Tm -[(If )-118(a )-118(lock )-118(exists )-118(that )-118(would )-118(block )-118(the )-118(r)18(equest )-118(speci\336ed )-118(by )-118(the )-118(ar)20(guments, )-118(this )-118(function)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(turns )-11(the )-11(pr)19(ocess )-11(ID )-11(of )-11(the )-11(pr)18(ocess )-11(holding )-11(the )-11(lock.)-511(Otherwise, )-11(the )-11(function )-11(r)18(eturns )-11(0)]TJ --0.856 -1.2 Td -[(\(false\). )-523(W)]TJ -0.5226 Tc 4.624 0 Td -(en)Tj -0 Tc 1.584 0 Td -[(ormally )-273(call )-273(this )-273(function )-273(fr)18(om )-273(the )-273(following )-273(two )-273(macr)21(os )-272(\(de\336ned )-272(in)]TJ -/TT0 1 Tf --6.207 -1.2 Td -(apue.h)Tj -/T1_1 1 Tf -(\):)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5824 444.3455 Tm -(#define is_read_lockable\(fd, offset, whence, len\) \\)Tj -6 -1.189 Td -(\(lock_test\(\(fd\), F_RDLCK, \(offset\), \(whence\), \(len\)\) == 0\))Tj --6 -1.189 Td -(#define is_write_lockable\(fd, offset, whence, len\) \\)Tj -6 -1.189 Td -(\(lock_test\(\(fd\), F_WRLCK, \(offset\), \(whence\), \(len\)\) == 0\))Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5824 392.1119 Tm -[(Note )-106(that )-106(the)]TJ -/TT0 1 Tf -6.372 0 Td -(lock_test)Tj -/T1_1 1 Tf -5.756 0 Td -[(function )-106(can\325t )-106(be )-106(used )-106(by )-106(a )-106(pr)18(ocess )-106(to )-106(see )-106(whether )-106(it )-106(is)]TJ --13.928 -1.2 Td -[(curr)18(ently )-105(holding )-105(a )-105(portion )-105(of )-105(a )-105(\336le )-105(locked.)-607(The )-105(de\336nition )-105(of )-105(the)]TJ -/TT0 1 Tf -29.996 0 Td -(F_GETLK)Tj -/T1_1 1 Tf -4.555 0 Td -(command)Tj --34.551 -1.2 Td -[(states )-117(that )-117(the )-117(information )-117(r)18(eturned )-117(applies )-117(to )-117(an )-117(existing )-117(lock )-117(that )-117(would )-117(pr)14(event )-117(us)]TJ -T* -[(fr)18(om )-212(cr)18(eating )-212(our )-212(own )-212(lock.)-712(Since )-212(the)]TJ -/TT0 1 Tf -18.48 0 Td -(F_SETLK)Tj -/T1_1 1 Tf -4.662 0 Td -(and)Tj -/TT0 1 Tf -2.155 0 Td -(F_SETLKW)Tj -/T1_1 1 Tf -5.262 0 Td -[(commands )-212(always)]TJ --0.018 Tc -30.56 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(place )-90(a )-90(pr)18(ocess\325s )-90(existing )-90(lock )-90(if )-90(it )-90(exists, )-90(we )-90(can )-90(never )-90(block )-90(on )-90(our )-90(own )-90(lock; )-90(thus,)]TJ --0.856 -1.2 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(F_GETLK)Tj -/T1_1 1 Tf -4.45 0 Td -[(command will never r)18(eport our own lock.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3321.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -9.9982 0 0 9.9982 93.5832 296.1057 Tm -[(Example )195(\321 )195(Deadloc)19(k)]TJ -/T1_1 1 Tf -3.6 -2.4 Td -[(Deadlock )-62(occurs )-62(when )-62(two )-62(pr)18(ocesses )-62(ar)]TJ -0.3116 Tc 17.873 0 Td -(ee)Tj -0 Tc 1.27 0 Td -[(ach )-62(waiting )-62(for )-62(a )-62(r)20(esour)18(ce )-62(that )-62(the )-62(other )-62(has)]TJ --19.143 -1.2 Td -[(locked. )-266(The)-266(potential )-16(for )-16(deadlock )-16(exists )-16(if )-16(a )-16(pr)18(ocess )-16(that )-16(contr)18(ols )-16(a )-16(locked )-16(r)18(egion )-16(is )-16(put)]TJ -T* -[(to sleep when it tries to lock another r)18(egion that is contr)18(olled by a dif)18(fer)18(ent pr)18(ocess.)]TJ -1.8 -1.2 Td -(Figur)Tj -0.3583 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.337 0 Td -[(4.7 )-108(shows )-108(an )-108(example )-108(of )-108(deadlock.)-610(The )-108(child )-108(locks )-108(byte )-108(0 )-108(and )-108(the )-108(par)15(ent)]TJ --5.52 -1.2 Td -[(locks )-261(byte )-261(1.)-761(Each )-261(then )-261(tries )-261(to )-261(lock )-261(the )-261(other)-74(\325s )-261(alr)15(eady )-261(locked )-261(byte.)]TJ --0.092 Tc 33.698 0 Td -[(We )-445(u)]TJ -0 Tc 2.501 0 Td -[(se )-261(the)]TJ --36.199 -1.2 Td -[(par)18(ent\320child )-100(synchr)18(onization )-100(r)19(outines )-100(fr)18(om )-100(Section )-100(8.9 )-100(\()]TJ -/TT0 1 Tf -25.355 0 Td -(TELL_xxx)Tj -/T1_1 1 Tf -5.15 0 Td -(and)Tj -/TT0 1 Tf -2.043 0 Td -(WAIT_xxx)Tj -/T1_1 1 Tf -0.3498 Tc (\)s)Tj -0 Tc 5.907 0 Td -(o)Tj --38.454 -1.2 Td -[(that each pr)18(ocess can wait for the other to obtain its lock.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1929.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 129.5689 183.414 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(static void)Tj -0 -1.189 TD -(lockabyte\(const char *name, int fd, off_t offset\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47599 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(912)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1556.25 6690.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1596.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 155.6107 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -[(#define DEPTH)-2400(1000 )]TJ -19.2 0 Td -[(/*)-600(directory depth */)]TJ --19.2 -1.189 Td -(#define STARTDIR "/tmp")Tj -0 -1.189 TD -[(#define NAME)-3000("alonglonglonglonglonglonglonglonglonglongname")]TJ -T* -[(#define MAXSZ)-2400(\(10*8192\))]TJ -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(i;)]TJ -T* -[(size_t )-600(size;)]TJ -0 -1.189 TD -[(char )-1800(*path;)]TJ -0 -2.14 TD -(if \(chdir\(STARTDIR\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("chdir error"\);)Tj --2.4 -2.14 Td -(for \(i = 0; i < DEPTH; i++\) {)Tj -2.4 -1.189 Td -(if \(mkdir\(NAME, DIR_MODE\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("mkdir failed, i = %d", i\);)Tj --2.4 -1.189 Td -(if \(chdir\(NAME\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("chdir failed, i = %d", i\);)Tj --4.8 -1.189 Td -(})Tj -T* -(if \(creat\("afile", FILE_MODE\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("creat error"\);)Tj --2.4 -2.14 Td -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*T)Tj -0 Tc 1.8 0 Td -(he deep directory is created, with a file at the leaf.)Tj -0.6 Tc -1.8 -1.189 Td -(*N)Tj -0 Tc 1.8 0 Td -(ow let\325s try to obtain its pathname.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(path = path_alloc\(&size\);)Tj -0 -1.189 TD -(for \( ; ; \) {)Tj -2.4 -1.189 Td -(if \(getcwd\(path, size\) != NULL\) {)Tj -2.4 -1.189 Td -(break;)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(err_ret\("getcwd failed, size = %ld", \(long\)size\);)Tj -T* -(size += 100;)Tj -T* -(if \(size > MAXSZ\))Tj -2.4 -1.189 Td -(err_quit\("giving up"\);)Tj --2.4 -1.189 Td -(if \(\(path = realloc\(path, size\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("realloc error"\);)Tj --4.8 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -T* -(printf\("length = %ld\\n%s\\n", \(long\)strlen\(path\), path\);)Tj -0 -2.14 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1556.25 1561.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1596.25 1561.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 267.006 140.0612 Tm -(Figure C.3)Tj -/T1_1 1 Tf -5.417 0 Td -[(Cr)18(eate a deep dir)18(ectory tr)18(ee)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47600 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.8)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(761)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(171 )-2400(/*)]TJ -0 -1.189 TD -[(172 )-3000(*)-600(Allocate an index buffer and a data buffer.)]TJ -T* -[(173 )-3000(*)-600(+2 for newline and null at end.)]TJ -T* -[(174 )-3000(*/)]TJ -T* -[(175 )-2400(if)-600(\(\(db->idxbuf = malloc\(IDXLEN_MAX + 2\)\) == NULL\))]TJ -0 -1.189 TD -[(176 )-4800(err_dump\("_db_alloc:)-600(malloc error for index buffer"\);)]TJ -0 -1.189 TD -[(177 )-2400(if)-600(\(\(db->datbuf = malloc\(DATLEN_MAX + 2\)\) == NULL\))]TJ -T* -[(178 )-4800(err_dump\("_db_alloc:)-600(malloc error for data buffer"\);)]TJ -T* -[(179 )-2400(return\(db\);)]TJ -T* -[(180 )-1200(})]TJ -0 -1.783 TD -[(181 )-1200(/*)]TJ -0 -1.189 TD -[(182 )-1800(*)-600(Relinquish access to the database.)]TJ -T* -[(183 )-1800(*/)]TJ -T* -[(184 )-1200(void)]TJ -T* -[(185 )-1200(db_close\(DBHANDLE)-600(h\))]TJ -0 -1.189 TD -[(186 )-1200({)]TJ -0 -1.189 TD -[(187 )-2400(_db_free\(\(DB)-600(*\)h\); )-600(/*)-600(closes fds, free buffers & struct */)]TJ -T* -[(188 )-1200(})]TJ -0 -1.783 TD -[(189 )-1200(/*)]TJ -0 -1.189 TD -[(190 )-1800(*)-600(Free up a DB structure, and all the malloc\325ed buffers it)]TJ -T* -[(191 )-1800(*)-600(may point to.)-1200(Also close the file descriptors if still open.)]TJ -T* -[(192 )-1800(*/)]TJ -T* -[(193 )-1200(static)-600(void)]TJ -T* -[(194 )-1200(_db_free\(DB)-600(*db\))]TJ -T* -[(195 )-1200({)]TJ -T* -[(196 )-2400(if)-600(\(db->idxfd >= 0\))]TJ -0 -1.189 TD -[(197 )-4800(close\(db->idxfd\);)]TJ -0 -1.189 TD -[(198 )-2400(if)-600(\(db->datfd >= 0\))]TJ -0 -1.189 TD -[(199 )-4800(close\(db->datfd\);)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3444.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 320.3596 Tm -[([171 )167(\320 )167(180])]TJ --0.092 Tc 5 0 Td -[(We )-185(a)]TJ -0 Tc 2.138 0 Td -[(llocate )-1(space )-1(for )-1(buf)18(fers )-1(for )-1(the )-1(index )-1(and )-1(data )-1(\336les.)-501(The )-1(buf)16(fer )-1(sizes )-1(ar)17(e)]TJ --2.138 -1.2 Td -[(de\336ned )-103(in)]TJ -/TT0 1 Tf -4.946 0 Td -(apue_db.h)Tj -/T1_0 1 Tf -0.6032 Tc (.A)Tj -0.3532 Tc 7.031 0 Td -(ne)Tj -0 Tc 1.414 0 Td -[(nhancement )-103(to )-103(the )-103(database )-103(library )-103(would )-103(be)]TJ --13.392 -1.2 Td -[(to )-17(allow )-17(these )-17(buf)18(fers )-17(to )-17(expand )-17(as )-17(r)20(equir)18(ed. )-267(W)]TJ -0.2667 Tc 21.13 0 Td -(ec)Tj -0 Tc 1.19 0 Td -[(ould )-17(keep )-17(track )-17(of )-17(the )-17(size)]TJ --22.319 -1.2 Td -[(of )-81(these )-81(two )-81(buf)18(fers )-81(and )-81(call)]TJ -/TT0 1 Tf -13.183 0 Td -(realloc)Tj -/T1_0 1 Tf -4.531 0 Td -[(whenever )-81(we )-81(\336nd )-81(we )-81(need )-81(a )-81(bigger)]TJ --17.714 -1.2 Td -[(buf)18(fer)]TJ -0.5 Tc 2.604 0 Td -(.F)Tj -0 Tc 1.306 0 Td -[(inally)111(,)-250(we)-250(r)18(eturn a pointer to the)]TJ -/TT0 1 Tf -14.454 0 Td -(DB)Tj -/T1_0 1 Tf -1.45 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(et)Tj -0 Tc 1.055 0 Td -(hat we allocated.)Tj --29.359 -1.6 Td -[([181 )167(\320 )167(188])-668(The)]TJ -/TT0 1 Tf -7.054 0 Td -(db_close)Tj -/T1_0 1 Tf -5.18 0 Td -[(function )-130(is )-130(a )-130(wrapper )-130(that )-130(casts )-130(a )-130(database )-130(handle )-130(to )-130(a)]TJ -/TT0 1 Tf -25.567 0 Td -(DB)Tj -/T1_0 1 Tf --32.8 -1.2 Td -[(str)8(uctur)]TJ -0.356 Tc 3.49 0 Td -(ep)Tj -0 Tc 1.436 0 Td -(ointer)Tj -0.3559 Tc 2.545 0 Td -(,p)Tj -0 Tc 1.207 0 Td -[(assing )-106(it )-106(to)]TJ -/TT0 1 Tf -5.334 0 Td -(_db_free)Tj -/T1_0 1 Tf -5.156 0 Td -[(to )-106(r)18(elease )-106(any )-106(r)18(esour)18(ces )-106(and )-106(fr)18(ee)]TJ --19.168 -1.2 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(DB)Tj -/T1_0 1 Tf -1.45 0 Td -[(str)8(uctur)18(e.)]TJ --8.087 -1.6 Td -[([189 )167(\320 )167(199])-668(The)]TJ -/TT0 1 Tf -7.215 0 Td -(_db_free)Tj -/T1_0 1 Tf -5.341 0 Td -[(function )-291(is )-291(called )-291(by)]TJ -/TT0 1 Tf -10.31 0 Td -(db_open)Tj -/T1_0 1 Tf -4.741 0 Td -[(if )-291(an )-291(err)19(or )-291(occurs )-291(while)]TJ --22.606 -1.2 Td -[(opening )-80(the )-80(index )-80(\336le )-80(or )-80(data )-80(\336le )-80(and )-80(is )-80(also )-80(called )-80(by)]TJ -/TT0 1 Tf -24.981 0 Td -(db_close)Tj -/T1_0 1 Tf -5.13 0 Td -[(when )-80(an)]TJ --30.111 -1.2 Td -[(application )-30(is )-30(done )-30(using )-30(the )-30(database.)-530(If )-30(the )-30(\336le )-30(descriptor )-30(for )-30(the )-30(database)]TJ -0 -1.2 TD -[(index )-72(\336le )-72(is )-72(valid, )-72(we )-72(close )-72(it.)-575(The )-72(same )-72(is )-72(done )-72(with )-72(the )-72(\336le )-72(descriptor )-72(for)]TJ -T* -[(the )-455(data )-455(\336le.)-955(\(Recall )-455(that )-455(when )-455(we )-455(allocate )-455(a )-455(new)]TJ -/TT0 1 Tf -26.548 0 Td -(DB)Tj -/T1_0 1 Tf -1.905 0 Td -[(str)8(uctur)]TJ -0.7048 Tc 3.49 0 Td -(ei)Tj -0 Tc 1.475 0 Td -(n)Tj -/TT0 1 Tf --33.418 -1.2 Td -(_db_alloc)Tj -/T1_0 1 Tf -[(,)-266(we)-266(initialize )-16(each )-16(\336le )-16(descriptor )-16(to)]TJ -/TT1 1 Tf -21.43 0 Td -(!)Tj -/T1_0 1 Tf -[(1. )-266(If)-266(we )-16(ar)]TJ -0.2657 Tc 5.206 0 Td -(eu)Tj -0 Tc 1.348 0 Td -[(nable )-16(to )-16(open)]TJ --27.984 -1.2 Td -[(one )-59(of )-59(the )-59(database )-59(\336les, )-59(the )-59(corr)20(esponding )-59(\336le )-59(descriptor )-59(will )-59(still )-59(be )-59(set )-59(to)]TJ -/TT1 1 Tf -T* -(!)Tj -/T1_0 1 Tf -(1, and we will avoid trying to close it.\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47601 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(17.6)]TJ -31.183 0 Td -[(An )-250(Open )-250(Server)]TJ -0.5 Tc 7.572 0 Td -(,V)Tj -0 Tc 1.361 0 Td -[(ersion )-250(2)]TJ -/T1_1 1 Tf -5.717 0 Td -(661)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -({)Tj -2.4 -1.189 Td -[(int )-2400(i;)]TJ -0 -2.14 TD -(if \(client == NULL\))Tj -2.4 -1.189 Td -(client = malloc\(NALLOC * sizeof\(Client\)\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(client = realloc\(client, \(client_size+NALLOC\)*sizeof\(Client\)\);)Tj --2.4 -1.189 Td -(if \(client == NULL\))Tj -2.4 -1.189 Td -(err_sys\("can\325t alloc for client array"\);)Tj --2.4 -2.14 Td -(/* initialize the new entries */)Tj -0 -1.189 TD -(for \(i = client_size; i < client_size + NALLOC; i++\))Tj -2.4 -1.189 Td -[(client[i].fd = -1;)-1200(/* fd of -1 means entry available */)]TJ --2.4 -2.14 Td -(client_size += NALLOC;)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(alled by loop\(\) when connection request from a new client arrives.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(int)Tj -0 -1.189 TD -(client_add\(int fd, uid_t uid\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(int )-2400(i;)]TJ -0 -2.14 TD -[(if \(client == NULL\))-3000(/* first time we\325re called */)]TJ -2.4 -1.189 Td -(client_alloc\(\);)Tj --4.8 -1.189 Td -(again:)Tj -2.4 -1.189 Td -(for \(i = 0; i < client_size; i++\) {)Tj -2.4 -1.189 Td -[(if \(client[i].fd == -1\) {)-1800(/* find an available entry */)]TJ -2.4 -1.189 Td -(client[i].fd = fd;)Tj -0 -1.189 TD -(client[i].uid = uid;)Tj -T* -[(return\(i\); )-600(/*)-600(return index in client[] array */)]TJ --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(/* client array full, time to realloc for more */)Tj -0 -1.189 TD -(client_alloc\(\);)Tj -T* -[(goto again;)-3000(/* and search again \(will work this time\) */)]TJ --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(alled by loop\(\) when we\325re done with a client.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(client_del\(int fd\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(i;)]TJ -0 -2.14 TD -(for \(i = 0; i < client_size; i++\) {)Tj -2.4 -1.189 Td -(if \(client[i].fd == fd\) {)Tj -2.4 -1.189 Td -(client[i].fd = -1;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47602 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(841)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(887 )Tj -9.6 0 Td -[(if)-600(\(i >= datsz\) {)-1800(/* get more header */)]TJ --9.6 -1.189 Td -(888 )Tj -12 0 Td -[(if)-600(\(\(nr = readmore\(sfd, &bp, i, &bufsz\)\) < 0\) {)]TJ --12 -1.189 Td -(889 )Tj -14.4 0 Td -[(goto)-600(out;)]TJ --14.4 -1.189 Td -(890 )Tj -12 0 Td -[(})-600(else {)]TJ --12 -1.189 Td -(891 )Tj -14.4 0 Td -(cp)Tj -0.6 Tc 1.8 0 Td -(=&)Tj -0 Tc 1.8 0 Td -(bp[i];)Tj --18 -1.189 Td -(892 )Tj -14.4 0 Td -[(datsz)-600(+= nr;)]TJ --14.4 -1.189 Td -(893 )Tj -12 0 Td -(})Tj --12 -1.189 Td -(894 )Tj -9.6 0 Td -(})Tj --9.6 -1.783 Td -(895 )Tj -9.6 0 Td -(found)Tj -0.6 Tc 3.6 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --15 -1.189 Td -(896 )Tj -9.6 0 Td -[(while)-600(\(!found\) {)-1200(/* look for end of HTTP header */)]TJ --9.6 -1.189 Td -(897 )Tj -12 0 Td -[(while)-600(\(i < datsz - 2\) {)]TJ --12 -1.189 Td -(898 )Tj -14.4 0 Td -[(if)-600(\(*cp == \325\\n\325 && *\(cp + 1\) == \325\\r\325 &&)]TJ --14.4 -1.189 Td -(899 )Tj -15.6 0 Td -[(*\(cp)-600(+)-600(2\))-600(==)-600(\325\\n\325\) {)]TJ --15.6 -1.189 Td -(900 )Tj -16.8 0 Td -(found)Tj -0.6 Tc 3.6 0 Td -(=1)Tj -0 Tc 1.8 0 Td -(;)Tj --22.2 -1.189 Td -(901 )Tj -16.8 0 Td -[(cp)-600(+= 3;)]TJ --16.8 -1.189 Td -(902 )Tj -16.8 0 Td -[(i)-600(+= 3;)]TJ --16.8 -1.189 Td -(903 )Tj -16.8 0 Td -(break;)Tj --16.8 -1.189 Td -(904 )Tj -14.4 0 Td -(})Tj --14.4 -1.189 Td -(905 )Tj -14.4 0 Td -(cp++;)Tj --14.4 -1.189 Td -(906 )Tj -14.4 0 Td -(i++;)Tj --14.4 -1.189 Td -(907 )Tj -12 0 Td -(})Tj --12 -1.189 Td -(908 )Tj -12 0 Td -[(if)-600(\(i >= datsz\) {)-1800(/* get more header */)]TJ --12 -1.189 Td -(909 )Tj -14.4 0 Td -[(if)-600(\(\(nr = readmore\(sfd, &bp, i, &bufsz\)\) < 0\) {)]TJ --14.4 -1.189 Td -(910 )Tj -16.8 0 Td -[(goto)-600(out;)]TJ --16.8 -1.189 Td -(911 )Tj -14.4 0 Td -[(})-600(else {)]TJ --14.4 -1.189 Td -(912 )Tj -16.8 0 Td -(cp)Tj -0.6 Tc 1.8 0 Td -(=&)Tj -0 Tc 1.8 0 Td -(bp[i];)Tj --20.4 -1.189 Td -(913 )Tj -16.8 0 Td -[(datsz)-600(+= nr;)]TJ --16.8 -1.189 Td -(914 )Tj -14.4 0 Td -(})Tj --14.4 -1.189 Td -(915 )Tj -12 0 Td -(})Tj --12 -1.189 Td -(916 )Tj -9.6 0 Td -(})Tj --9.6 -1.783 Td -(917 )Tj -9.6 0 Td -[(if)-600(\(datsz - i < len\) {)-1200(/* get more header */)]TJ --9.6 -1.189 Td -(918 )Tj -12 0 Td -[(if)-600(\(\(nr = readmore\(sfd, &bp, i, &bufsz\)\) < 0\) {)]TJ --12 -1.189 Td -(919 )Tj -14.4 0 Td -[(goto)-600(out;)]TJ --14.4 -1.189 Td -(920 )Tj -12 0 Td -[(})-600(else {)]TJ --12 -1.189 Td -(921 )Tj -14.4 0 Td -(cp)Tj -0.6 Tc 1.8 0 Td -(=&)Tj -0 Tc 1.8 0 Td -(bp[i];)Tj --18 -1.189 Td -(922 )Tj -14.4 0 Td -[(datsz)-600(+= nr;)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2695.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 245.4685 Tm -[([887 )167(\320 )167(916])]TJ --0.092 Tc 5 0 Td -[(We )-185(n)]TJ -0 Tc 2.219 0 Td -(ow know the length of the message \(speci\336ed by the)Tj -/TT0 1 Tf -23.38 0 Td -(Content-Length)Tj -/T1_0 1 Tf --25.6 -1.2 Td -[(attribute\). )-302(If)-302(we\325ve )-52(exhausted )-52(the )-52(contents )-52(of )-52(the )-52(buf)19(fer)74(,)-302(we)-302(r)18(ead )-52(mor)]TJ -0.3019 Tc 31.08 0 Td -(ef)Tj --0.018 Tc 1.114 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(m)Tj --33.117 -1.2 Td -[(the )-22(printer)]TJ -0.5219 Tc 4.654 0 Td -(.N)Tj -0 Tc 1.603 0 Td -[(ext )-22(we )-22(sear)18(ch )-22(for )-22(the )-22(end )-22(of )-22(the )-22(HTTP )-22(header )-22(\(a )-22(blank )-22(line\).)-521(If)]TJ --6.257 -1.2 Td -[(we )-47(\336nd )-47(it, )-47(we )-47(set )-47(the)]TJ -/TT0 1 Tf -9.688 0 Td -(found)Tj -/T1_0 1 Tf -3.297 0 Td -[(\337ag )-47(and )-47(skip )-47(the )-47(blank )-47(line.)-547(Whenever )-47(we )-47(call)]TJ -/TT0 1 Tf --12.985 -1.2 Td -(readmore)Tj -/T1_0 1 Tf -[(,)-403(we)-403(s)1(et)]TJ -/TT0 1 Tf -8.8 0 Td -(cp)Tj -/T1_0 1 Tf -1.603 0 Td -[(to )-153(point )-153(to )-153(the )-153(same )-153(of)18(fset )-153(in )-153(the )-153(buf)18(fer )-153(that )-153(it )-153(had)]TJ --10.402 -1.2 Td -[(pr)18(eviously just in case the buf)18(fer addr)18(ess changed when it was r)18(eallocated.)]TJ --5 -1.6 Td -[([917 )167(\320 )167(922])-668(When )-18(we )-18(\336nd )-18(the )-18(end )-18(of )-18(the )-18(HTTP )-18(header)76(,)-268(we)-268(c)1(alculate )-18(the )-18(number )-18(of )-18(bytes)]TJ -5 -1.2 Td -[(that the HTTP header consumed.)-500(If the amount we\325ve r)14(ead )-1(minus )-1(the )-1(size )-1(of)]TJ -0 -1.2 TD -[(the )-51(HTTP )-51(header )-51(is )-51(not )-51(equal )-51(to )-51(the )-51(amount )-51(of )-51(data )-51(in )-51(the )-51(IPP )-51(message )-51(\(the)]TJ -T* -[(value we calculated fr)18(om the content length\), then we r)18(ead some mor)18(e.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47603 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(748)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(To )-262(\336)]TJ -0 Tc 2 0 Td -[(nd )-78(a )-78(r)19(ecor)18(d)-328(in)-328(the )-78(database )-78(given )-78(its )-78(key)112(,)]TJ -/TT0 1 Tf -18.874 0 Td -(db_fetch)Tj -/T1_1 1 Tf -5.128 0 Td -[(calculates )-78(the )-78(hash )-78(value)]TJ --27.801 -1.2 Td -[(of )-32(the )-32(key)]TJ -0.282 Tc 4.31 0 Td -(,w)Tj -0 Tc 1.366 0 Td -[(hich )-32(leads )-32(to )-32(one )-32(hash )-32(chain )-32(in )-32(the )-32(hash )-32(table.)-532(\(The)]TJ -/T1_2 1 Tf -23.276 0 Td -[(chain )-32(ptr)]TJ -/T1_1 1 Tf -3.971 0 Td -[(\336eld )-32(could )-32(be)]TJ --32.923 -1.2 Td -[(0, )-68(indicating )-68(an )-68(empty )-68(chain.\))]TJ --0.092 Tc 13.974 0 Td -[(We )-252(t)]TJ -0 Tc 2.031 0 Td -[(hen )-68(follow )-68(this )-68(hash )-68(chain, )-68(which )-68(is )-68(a )-68(linked )-68(list )-68(of)]TJ --16.005 -1.2 Td -[(all )-109(the )-109(index )-109(r)17(ecor)18(ds )-109(with )-109(this )-109(hash )-109(value.)-609(When )-109(we )-109(encounter )-109(a)]TJ -/T1_2 1 Tf -30.09 0 Td -[(chain )-109(ptr)]TJ -/T1_1 1 Tf -4.125 0 Td -[(value )-109(of )-109(0,)]TJ --34.215 -1.2 Td -(we\325ve hit the end of the hash chain.)Tj -1.8 -1.2 Td -[(Let\325s )-204(look )-204(at )-204(an )-204(actual )-204(database )-204(\336le.)-704(The )-204(pr)18(ogram )-204(in )-204(Figur)]TJ -0.4545 Tc 27.729 0 Td -(e2)Tj -0 Tc 1.434 0 Td -[(0.3 )-204(cr)18(eates )-204(a )-204(new)]TJ --30.962 -1.2 Td -[(database )-90(and )-90(writes )-90(thr)18(ee )-90(r)20(ecor)18(ds )-90(to )-90(it.)-590(Since )-90(we )-90(stor)]TJ -0.3396 Tc 24.188 0 Td -(ea)Tj -0 Tc 1.319 0 Td -[(ll )-89(the )-89(\336elds )-89(in )-89(the )-89(database )-89(as)]TJ --25.507 -1.2 Td -[(ASCII )-169(characters, )-169(we )-169(can )-169(look )-169(at )-169(the )-169(actual )-169(index )-169(\336le )-169(and )-169(data )-169(\336le )-169(using )-169(any )-169(of )-169(the)]TJ -0 -1.2 TD -(standar)Tj -0.25 Tc 3.32 0 Td -(dU)Tj -0 Tc 1.639 0 Td -(NIX System tools:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5922 553.0566 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l db4.*)Tj -/TT0 1 Tf --1.2 -1.189 Td -[(-rw-r--r-- )-600(1)-600(sar )-4200(28)-600(Oct 19 21:33 db4.dat)]TJ -0 -1.189 TD -[(-rw-r--r-- )-600(1)-600(sar )-4200(72)-600(Oct 19 21:33 db4.idx)]TJ -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(cat db4.idx)Tj -/TT0 1 Tf -0.6 -1.189 Td -[(0)-1200(53)-1200(3)]TJ -1.8 Tc (50)Tj -1.2 Tc 0 -1.189 TD -(01)Tj -0 Tc 2.4 0 Td -(0Alpha:0:6)Tj -1.2 Tc -2.4 -1.189 Td -(01)Tj -0 Tc 2.4 0 Td -(0beta:6:14)Tj --3 -1.189 Td -[(17 )-600(11gamma:20:8)]TJ --1.2 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(cat db4.dat)Tj -/TT0 1 Tf --1.2 -1.189 Td -(data1)Tj -T* -(Data for beta)Tj -0 -1.189 TD -(record3)Tj -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5933 414.1551 Tm -[(To )-467(k)]TJ -0 Tc 2.156 0 Td -[(eep )-283(this )-283(example )-283(small, )-283(we )-283(have )-283(set )-283(the )-283(size )-283(of )-283(each)]TJ -/T1_2 1 Tf -26.068 0 Td -(ptr)Tj -/T1_1 1 Tf -1.755 0 Td -[(\336eld )-283(to )-283(four )-283(ASCII)]TJ --29.98 -1.2 Td -[(characters; )-248(the )-248(number )-248(of )-248(hash )-248(chains )-248(is )-248(set )-248(to )-248(3.)-745(Since )-248(each)]TJ -/T1_2 1 Tf -29.526 0 Td -(ptr)Tj -/T1_1 1 Tf -1.72 0 Td -[(is )-248(a )-248(\336le )-248(of)18(fset, )-248(a)]TJ --31.245 -1.2 Td -[(four)18(-character )-140(\336eld )-140(limits )-140(the )-140(total )-140(size )-140(of )-140(the )-140(index )-140(\336le )-140(and )-140(data )-140(\336le )-140(to )-140(10,000 )-140(bytes.)]TJ -0 -1.2 TD -[(When )-97(we )-97(do )-97(some )-97(performance )-97(measur)19(ements )-97(of )-97(the )-97(database )-97(system )-97(in )-97(Section )-97(20.9,)]TJ -T* -[(we )-3(set )-3(the )-3(size )-3(of )-3(each)]TJ -/T1_2 1 Tf -10.025 0 Td -(ptr)Tj -/T1_1 1 Tf -1.475 0 Td -[(\336eld )-3(to )-3(six )-3(characters )-3(\(allowing )-3(\336le )-3(sizes )-3(up )-3(to )-3(1 )-3(million )-3(bytes\))]TJ --11.5 -1.2 Td -(and the number of hash chains to mor)Tj -0.25 Tc 16.793 0 Td -(et)Tj -0 Tc 1.055 0 Td -(han 100.)Tj --16.048 -1.2 Td -(The \336rst line in the index \336le)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 163.7914 325.4605 Tm -[(0)-1200(53)-1200(3)]TJ -1.8 Tc (50)Tj -/T1_1 1 Tf -0 Tc 9.9994 0 0 9.9994 129.5934 307.4616 Tm -[(consists )-253(of )-253(the )-253(fr)18(ee-list )-253(pointer )-253(\(0, )-253(the )-253(fr)18(ee )-253(list )-253(is )-253(empty\) )-253(and )-253(the )-253(thr)17(ee )-253(hash )-253(chain)]TJ -T* -(pointers)Tj -3.894 0.04 Td -(\()Tj -0.333 -0.04 Td -(53, 35, and 0)Tj -5.443 0.04 Td -(\))Tj -0.5 Tc 0.333 -0.04 Td -(.T)Tj -0 Tc 1.363 0 Td -(he next line)Tj -/TT0 1 Tf -1.2 Tc 8.9995 0 0 8.9995 163.7914 278.7633 Tm -(01)Tj -0 Tc 2.4 0 Td -(0Alpha:0:6)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5934 260.7644 Tm -[(shows )-163(the )-163(format )-163(of )-163(each )-163(index )-163(r)15(ecor)18(d. )-413(The)-414(\336rst )-163(\336eld)]TJ -25.422 0.04 Td -(\()Tj -0.333 -0.04 Td -(0)Tj -0.5 0.04 Td -(\))Tj -0.746 -0.04 Td -[(is )-163(the )-163(four)18(-character )-163(chain)]TJ --27.001 -1.2 Td -(pointer)Tj -0.5213 Tc 3.146 0 Td -(.T)Tj -0 Tc 1.384 0 Td -[(his )-21(r)18(ecor)18(d)-271(is)-271(t)-1(he )-21(end )-21(of )-21(its )-21(hash )-21(chain.)-521(The )-21(next )-21(\336eld)]TJ -23.631 0.04 Td -(\()Tj -0.333 -0.04 Td -(10)Tj -1 0.04 Td -(\))Tj -0.604 -0.04 Td -[(is )-21(the )-21(four)17(-character)]TJ -/T1_2 1 Tf --30.098 -1.2 Td -[(idx )-163(len)]TJ -/T1_1 1 Tf -0.4131 Tc (,t)Tj -0 Tc 3.903 0 Td -[(he )-163(length )-163(of )-163(the )-163(r)18(emainder )-163(of )-163(this )-163(index )-163(r)17(ecor)18(d. )-413(W)]TJ -0.413 Tc 23.681 0 Td -(er)Tj -0 Tc 1.269 0 Td -[(ead )-163(each )-163(index )-163(r)18(ecor)18(d)]TJ --28.853 -1.2 Td -[(using )-139(two)]TJ -/TT0 1 Tf -4.941 0 Td -(read)Tj -/T1_1 1 Tf -[(s: )-139(one )-139(to )-139(r)17(ead )-139(the )-139(two )-139(\336xed-size )-139(\336elds )-139(\(the)]TJ -/T1_2 1 Tf -22.485 0 Td -[(chain )-139(ptr)]TJ -/T1_1 1 Tf -4.186 0 Td -(and)Tj -/T1_2 1 Tf -2.082 0 Td -[(idx )-139(len)]TJ -/T1_1 1 Tf -0.3894 Tc (\)a)Tj -0 Tc 4.113 0 Td -(nd)Tj --37.807 -1.2 Td -[(another )-549(to )-549(r)18(ead )-549(the )-549(r)18(emaining )-549(\(variable-length\) )-549(portion.)-1048(The )-549(r)18(emaining )-549(thr)19(ee)]TJ --0 -1.2 Td -(\336elds\321)Tj -/T1_2 1 Tf -(key)Tj -/T1_1 1 Tf -(,)Tj -/T1_2 1 Tf -5.357 0 Td -[(dat )-114(off)]TJ -/T1_1 1 Tf -0.3636 Tc (,a)Tj -0 Tc 3.754 0 Td -(nd)Tj -/T1_2 1 Tf -1.557 0 Td -[(dat )-114(len)]TJ -/T1_1 1 Tf -(\321ar)Tj -0.3636 Tc 4.741 0 Td -(ed)Tj -0 Tc 1.454 0 Td -[(elimited )-114(by )-114(a )-114(separator )-114(character )-114(\(a )-114(colon )-114(in )-114(this)]TJ --16.862 -1.2 Td -[(case\). )-256(W)]TJ -0.2562 Tc 3.844 0 Td -(en)Tj -0 Tc 1.317 0 Td -[(eed )-6(the )-6(separator )-6(character)]TJ -0.2562 Tc 11.882 0 Td -(,s)Tj -0 Tc 0.93 0 Td -[(ince )-6(each )-6(of )-6(these )-6(thr)18(ee )-6(\336elds )-6(is )-6(variable )-6(length.)]TJ --17.973 -1.2 Td -[(The )-46(separator )-46(character )-46(can\325t )-46(appear )-46(in )-46(the )-46(key)]TJ -0.5465 Tc 20.926 0 Td -(.F)Tj -0 Tc 1.352 0 Td -(inally)Tj -0.2965 Tc 2.4 0 Td -(,an)Tj -0 Tc 1.925 0 Td -[(ewline )-46(terminates )-46(the )-46(index)]TJ --0.018 Tc -26.603 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(d. )-351(The)-352(newline )-101(isn\325t )-101(r)17(equir)18(ed, )-101(since)]TJ -/T1_2 1 Tf -17.947 0 Td -[(idx )-101(len)]TJ -/T1_1 1 Tf -3.204 0 Td -[(contains )-101(the )-101(length )-101(of )-101(the )-101(r)16(ecor)18(d. )-351(W)92(e)]TJ --22.007 -1.2 Td -(stor)Tj -0.2882 Tc 1.673 0 Td -(et)Tj -0 Tc 1.093 0 Td -[(he )-38(newline )-38(to )-38(separate )-38(each )-38(index )-38(r)17(ecor)18(d)-288(so)-288(we)-288(c)-1(an )-38(use )-38(the )-38(normal )-38(UNIX )-38(System)]TJ --2.766 -1.2 Td -[(tools, )-56(such )-56(as)]TJ -/TT0 1 Tf -6.277 0 Td -(cat)Tj -/T1_1 1 Tf -2.106 0 Td -(and)Tj -/TT0 1 Tf -1.999 0 Td -(more)Tj -/T1_1 1 Tf -0.3056 Tc (,w)Tj -0 Tc 3.79 0 Td -[(ith )-56(the )-56(index )-56(\336le.)-554(The)]TJ -/T1_2 1 Tf -10.142 0 Td -(key)Tj -/T1_1 1 Tf -1.639 0 Td -[(is )-56(the )-56(value )-56(that )-56(we )-56(speci\336ed)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47604 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(536)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2130 6278 720 360 re -S -Q -q -0.99994 0 0 0.99994 0 0 cm -q 1 0 0 1 349.8 645.8 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -1 j 1 J -q 1 0 0 1 3498 6458 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2994.25 6458.25 cm -0 0 m -432 0 l -S -Q -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 314.9622 648.9621 Tm -(fork)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -3642 6278 720 360 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 237.4972 666.9199 Tm -[(par)18(ent)]TJ -19.223 0 Td -(child)Tj -/TT0 1 Tf --21.541 -4.5 Td -[(fd[0])-1500(fd[1])]TJ -18.9 0 Td -[(fd[0])-1500(fd[1])]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2346 5414 1800 504 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 313.3968 534.5117 Tm -(kernel)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2958 5558 576 216 re -S -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 316.617 564.6706 Tm -(pipe)Tj -ET -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 231 627.8 cm -0 0 m -4.464 -5.904 l -1.152 -7.272 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 2310 6278 cm -0 0 m -44.64 -59.04 l -11.52 -72.72 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2312.8799 6271.52 cm -0 0 m -142.56 -338.76 l -237.6 -564.6 345.12 -677.52 465.12 -677.52 c -645.12 -677.52 l -S -Q -Q -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 353.4 559.4 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3534 5594 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670 6278 cm -0 0 m -432 -126 l -720 -210 924 -324 1044 -468 c -1164 -612 1165.2 -684 1047.6 -684 c -871.2 -684 l -S -Q -Q -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 382.2 627.8 cm -0 0 m --6.408 -3.744 l --7.416 -0.288 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3822 6278 cm -0 0 m --64.08 -37.44 l --74.16 -2.88 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3814.8 6275.8398 cm -0 0 m --428.4 -124.92 l --714 -208.2 -916.8 -297.84 -1036.8 -393.84 c --1156.8 -489.84 -1156.8 -537.84 -1036.8 -537.84 c --856.8 -537.84 l -S -Q -Q -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 353.4 573.8 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3534 5738 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4182 6278 cm -0 0 m --144 -270 l --240 -450 -346.8 -540 -464.4 -540 c --640.8 -540 l -S -Q -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 248.5058 515.9213 Tm -(Figure 15.3)Tj -/T1_1 1 Tf -5.695 0 Td -(Half-duplex pipe after a)Tj -/TT0 1 Tf -10.895 0 Td -(fork)Tj -/T1_1 1 Tf -9.9946 0 0 9.9946 147.5207 488.3362 Tm -[(What )-135(happens )-135(after )-135(the)]TJ -/TT0 1 Tf -11.135 0 Td -(fork)Tj -/T1_1 1 Tf -2.785 0 Td -[(depends )-134(on )-134(which )-134(dir)18(ection )-134(of )-134(data )-134(\337ow )-134(we )-134(want.)]TJ --15.72 -1.2 Td -[(For )-208(a )-208(pipe )-208(fr)18(om )-208(the )-208(par)18(ent )-208(to )-208(the )-208(child, )-208(the )-208(par)18(ent )-208(closes )-208(the )-208(r)17(ead )-208(end )-208(of )-208(the )-208(pipe)]TJ -0 -1.2 TD -(\()Tj -/TT0 1 Tf -(fd[0])Tj -/T1_1 1 Tf -[(\), )-126(and )-126(the )-126(child )-126(closes )-126(the )-126(write )-126(end )-126(\()]TJ -/TT0 1 Tf -20.549 0 Td -(fd[1])Tj -/T1_1 1 Tf -[(\). )-376(Figur)]TJ -0.3761 Tc 6.592 0 Td -(e1)Tj -0 Tc 1.355 0 Td -[(5.4 )-126(shows )-126(the )-126(r)18(esulting)]TJ --28.496 -1.2 Td -(arrangement of descriptors.)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -2130 3898 720 360 re -S -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -3642 3898 720 360 re -S -Q -BT -/T1_1 1 Tf -7.9952 0 0 7.9952 237.3975 428.7826 Tm -[(par)18(ent)]TJ -19.223 0 Td -(child)Tj -/TT0 1 Tf --17.041 -4.5 Td -(fd[1])Tj -14.4 0 Td -(fd[0])Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -2346 3034 1800 504 re -S -Q -BT -/T1_1 1 Tf -7.9947 0 0 7.9947 313.2652 296.4443 Tm -(kernel)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -2958 3178 576 216 re -S -Q -BT -/T1_1 1 Tf -7.9942 0 0 7.9942 316.484 326.6048 Tm -(pipe)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 353.4 328.6 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 3534 3286 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670 3898 cm -0 0 m -432 -126 l -720 -210 924 -312 1044 -432 c -1164 -552 1165.2 -612 1047.6 -612 c -871.2 -612 l -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 382.2 389.8 cm -0 0 m --6.408 -3.744 l --7.416 -0.288 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 3822 3898 cm -0 0 m --64.08 -37.44 l --74.16 -2.88 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3814.8 3895.8401 cm -0 0 m --428.4 -124.92 l --714 -208.2 -916.8 -309.84 -1036.8 -429.84 c --1156.8 -549.84 -1156.8 -609.84 -1036.8 -609.84 c --856.8 -609.84 l -S -Q -Q -BT -/T1_0 1 Tf -7.9933 0 0 7.9933 257.3238 277.9664 Tm -(Figure 15.4)Tj -/T1_1 1 Tf -5.695 0 Td -[(Pipe fr)18(om par)18(ent to child)]TJ -9.9916 0 0 9.9916 129.4914 250.3896 Tm -[(For )-118(a )-118(pipe )-118(fr)18(om )-118(the )-118(child )-118(to )-118(the )-118(par)18(ent, )-118(the )-118(par)14(ent )-118(closes)]TJ -/TT0 1 Tf -26.369 0 Td -(fd[1])Tj -/T1_1 1 Tf -0.3685 Tc (,a)Tj -0 Tc 4.119 0 Td -[(nd )-118(the )-118(child )-118(closes)]TJ -/TT0 1 Tf --30.487 -1.2 Td -(fd[0])Tj -/T1_1 1 Tf -(.)Tj -1.8 -1.2 Td -[(When one end of a pipe is closed, two r)8(ules apply)111(.)]TJ -0 -2.04 TD -[(1. )-633(If)-407(we)]TJ -/TT0 1 Tf -4.431 0 Td -(read)Tj -/T1_1 1 Tf -2.807 0 Td -[(fr)18(om )-157(a )-157(pipe )-157(whose )-157(write )-157(end )-157(has )-157(been )-157(closed,)]TJ -/TT0 1 Tf -21.783 0 Td -(read)Tj -/T1_1 1 Tf --0.018 Tc 2.807 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-157(0 )-157(to)]TJ --31.051 -1.2 Td -[(indicate )-86(an )-86(end )-86(of )-86(\336le )-86(after )-86(all )-86(the )-86(data )-86(has )-86(been )-86(r)16(ead. )-336(\(T)92(echnically)111(,)-336(we)-336(s)-1(hould)]TJ --0 -1.2 Td -[(say )-82(that )-82(this )-82(end )-82(of )-82(\336le )-82(is )-82(not )-82(generated )-82(until )-82(ther)]TJ -0.3324 Tc 22.52 0 Td -(ea)Tj --0.018 Tc 1.311 0 Td -[(re )-118(n)]TJ -0.3323 Tc 1.77 0 Td -(om)Tj -0 Tc 1.761 0 Td -(or)Tj -0.3323 Tc 0.923 0 Td -(ew)Tj -0 Tc 1.645 0 Td -[(riters )-82(for )-82(the)]TJ --29.931 -1.2 Td -[(pipe. )-277(It\325s)-277(possible )-27(to )-27(duplicate )-27(a )-27(pipe )-27(descriptor )-27(so )-27(that )-27(multiple )-27(pr)18(ocesses )-27(have)]TJ -0 -1.2 TD -[(the )-161(pipe )-161(open )-161(for )-161(writing.)-663(Normally)]TJ -0.4114 Tc 16.855 0 Td -(,h)Tj -0 Tc 1.243 0 Td -(owever)Tj -0.4114 Tc 3.224 0 Td -(,t)Tj -0 Tc 0.987 0 Td -[(her)18(e)-411(is)-411(a)-411(s)-1(ingle )-161(r)18(eader )-161(and )-161(a)]TJ --22.31 -1.2 Td -[(single )-21(writer )-21(for )-21(a )-21(pipe.)-521(When )-21(we )-21(get )-21(to )-21(FIFOs )-21(in )-21(the )-21(next )-21(section, )-21(we\325ll )-21(see )-21(that)]TJ -T* -(often ther)Tj -0.25 Tc 4.28 0 Td -(ea)Tj --0.018 Tc 1.229 0 Td -[(re )-36(m)]TJ -0 Tc 1.989 0 Td -(ultiple writers for a single FIFO.\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47605 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(784)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-10(next )-10(test )-10(was )-10(to )-10(try )-10(the )-10(no-locking )-10(pr)14(ogram )-10(with )-10(multiple )-10(childr)17(en. )-260(The)]TJ --0.018 Tc 34.026 0 Td -(re)Tj -0 Tc 0.856 0 Td -(sults,)Tj --36.682 -1.2 Td -[(as )-128(expected, )-128(wer)]TJ -0.3776 Tc 7.554 0 Td -(er)Tj -0 Tc 1.252 0 Td -[(andom )-128(err)18(ors. )-378(Normally)]TJ -0.3777 Tc 11.175 0 Td -(,r)Tj -0 Tc 1.005 0 Td -[(ecor)18(ds )-128(that )-128(wer)]TJ -0.3777 Tc 7.06 0 Td -(ea)Tj -0 Tc 1.357 0 Td -[(dded )-128(to )-128(the )-128(database)]TJ --29.403 -1.2 Td -[(couldn\325t )-86(be )-86(found, )-86(and )-86(the )-86(test )-86(pr)16(ogram )-86(aborted.)-586(Dif)18(fer)18(ent )-86(err)18(ors )-86(occurr)18(ed )-86(every )-86(time)]TJ --0 -1.2 Td -[(the )-128(test )-128(pr)18(ogram )-128(was )-128(r)6(un. )-378(This)-379(illustrates )-128(a )-128(classic )-128(race )-128(condition: )-128(multiple )-128(pr)15(ocesses)]TJ --0 -1.2 Td -(updating the same \336le without using any form of locking.)Tj -/TT0 1 Tf --3.6 -2.64 Td -[(Multiple-Pr)20(ocess Results)]TJ -/T1_1 1 Tf -3.6 -2.04 Td -[(The )-117(\336nal )-117(set )-117(of )-117(measur)18(ements )-117(looks )-117(mainly )-117(at )-117(the )-117(dif)14(fer)18(ences )-117(between )-117(coarse-grained)]TJ --0 -1.2 Td -[(locking )-41(and )-41(\336ne-grained )-41(locking.)-542(As )-41(we )-41(said )-41(earlier)]TJ -0.2913 Tc 23.274 0 Td -(,i)Tj -0 Tc 0.832 0 Td -[(ntuitively)111(,)-291(we)-291(e)-1(xpect )-41(\336ne-grained)]TJ --24.106 -1.2 Td -[(locking )-117(to )-117(pr)19(ovide )-117(additional )-117(concurr)19(ency)]TJ -0.3666 Tc 18.965 0 Td -(,s)Tj -0 Tc 1.041 0 Td -[(ince )-117(ther)18(e)-367(is)-367(l)1(ess )-117(time )-117(that )-117(portions )-117(of )-117(the)]TJ --20.005 -1.2 Td -[(database )-105(ar)]TJ -0.3548 Tc 5.125 0 Td -(el)Tj -0 Tc 1.125 0 Td -[(ocked )-105(fr)18(om )-105(other )-105(pr)19(ocesses. )-355(Figur)]TJ -0.3549 Tc 15.603 0 Td -(e2)Tj -0 Tc 1.334 0 Td -[(0.8 )-105(shows )-105(the )-105(r)18(esults )-105(for )-105(an)]TJ -/T1_2 1 Tf -12.856 0 Td -[(nr)18(ec)]TJ -/T1_1 1 Tf -2.078 0 Td -(of)Tj --38.121 -1.2 Td -[(2,000, varying the number of childr)18(en fr)18(om 1 to 16.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1357.25 5074.25 cm -0 0 m -3777 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 246.1985 499.3401 Tm -(Advisory locking)Tj -21.096 0 Td -(Mandatory locking)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1685.25 4954.25 cm -0 0 m -3449 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4489.25 4954.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4176.25 4954.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3238.25 4954.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2926.25 4954.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2300.25 4954.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1988.25 4954.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 173.1328 487.3123 Tm -[(Coarse-grained locking)-1980(Fine-grained locking)]TJ -/TT1 1 Tf -22.994 0 Td -($)Tj -/T1_1 1 Tf -0.862 0 Td -[(Clock )-1276(Fine-grained)-250(locking)]TJ -/TT1 1 Tf -15.29 0 Td -($)Tj -/T1_1 1 Tf -0.862 0 Td -(Sys)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1685.25 4834.25 cm -0 0 m -3449 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 174.818 475.2859 Tm -[(User )-1867(Sys)-1883(Clock )-1347(User)-2117(Sys )-1632(Clock)-990(Per)18(cent )-974(User)-2118(Sys )-1632(Clock)-990(Per)18(cent)]TJ -0.25 Tc -4.387 1.5 Td -(#P)Tj --0.018 Tc 1.354 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(c)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1357.25 4714.25 cm -0 0 m -3777 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1357.25 4694.25 cm -0 0 m -3777 0 l -S -Q -Q -BT -/T1_1 1 Tf -2.6895 Tc 7.9976 0 0 7.9976 152.6022 461.2616 Tm -(10)Tj -0 Tc 3.689 0 Td -[(.14 )-2158(0.35)-1908(0.50 )-1908(0.14)-2408(0.35 )-1658(0.50)]TJ -2.783 Tc 23.573 0 Td -(00)Tj -0 Tc 3.783 0 Td -[(.15 )-2158(0.42)-1908(0.58 )-2033(20)]TJ -2.6895 Tc -31.046 -1.25 Td -(20)Tj -0 Tc 3.689 0 Td -[(.60 )-2158(1.43)-1908(1.88 )-1908(0.54)-2408(1.36 )-1658(1.10)-2283(71 )-2533(0.65)-2408(2.01 )-1658(1.59)-2283(48)]TJ -2.6895 Tc -3.69 -1.25 Td -(30)Tj -0 Tc 3.689 0 Td -[(.97 )-2158(2.67)-1908(3.18 )-1908(1.37)-2408(3.73 )-1658(2.20)-2283(45 )-2533(1.62)-2408(5.67 )-1658(3.28)-2283(52)]TJ -2.6895 Tc -3.69 -1.25 Td -(42)Tj -0 Tc 3.689 0 Td -[(.38 )-2158(6.17)-1908(5.59 )-1908(2.83)-2408(8.15 )-1658(4.07)-2283(37 )-2533(3.29)-1908(12.35 )-1658(6.31)-2283(52)]TJ -2.6895 Tc -3.69 -1.25 Td -(53)Tj -0 Tc 3.689 0 Td -[(.72 )-1658(10.17 )-1658(8.37)-2158(4.28 )-1713(1)55(1.86 )-1658(6.09)-2283(37 )-2533(4.96)-1908(18.47 )-1658(9.49)-2283(56)]TJ -2.6895 Tc -3.69 -1.25 Td -(65)Tj -0 Tc 3.689 0 Td -[(.02 )-1658(14.52)]TJ --0.055 Tc 6.871 0 Td -(11)Tj -0 Tc 0.945 0 Td -[(.52 )-1908(6.04)-1908(17.46 )-1658(8.89)-2283(30 )-2533(6.66)-1908(26.38 )-1158(13.22)-2283(51)]TJ -2.6895 Tc -11.506 -1.25 Td -(77)Tj -0 Tc 3.689 0 Td -[(.00 )-1658(20.16)-1408(15.84 )-1908(8.06)-1908(23.23 )-1213(1)55(1.88 )-2033(33)-2783(9.12 )-1658(36.13)-1408(18.09 )-2033(56)]TJ -2.6895 Tc -3.69 -1.25 Td -(89)Tj -0 Tc 3.689 0 Td -[(.12 )-1658(26.20)-1408(20.31 )-1408(10.50)-1908(30.50 )-1158(15.48)-2283(31 )-2088(1)55(1.81 )-1658(47.20)-1408(23.49 )-2033(55)]TJ -2.2445 Tc -3.69 -1.25 Td -(91)Tj -0 Tc 3.189 0 Td -[(1.60 )-1658(33.91)-1408(25.64 )-1408(13.40)-1908(37.80 )-1158(19.29)-2283(33 )-2033(14.54)-1908(60.23 )-1158(29.66)-2283(59)]TJ --3.69 -1.25 Td -[(10 )-1939(14.28)-1908(42.24 )-1158(31.35)-1658(16.39 )-1658(47.01)-1408(23.74 )-2033(32 )-2033(17.84)-1908(74.05 )-1158(36.27)-2283(58)]TJ --0.055 Tc 0.055 -1.25 Td -[(11 )-2050(1)]TJ -0 Tc 3.635 0 Td -[(7.37 )-1658(51.12)-1408(37.50 )-1408(19.71)-1908(56.59 )-1158(28.57)-2283(31 )-2033(21.57)-1908(90.14 )-1158(44.10)-2283(59)]TJ --3.69 -1.25 Td -[(12 )-1939(20.70)-1908(60.48 )-1158(44.24)-1658(23.47 )-1658(66.10)-1408(33.34 )-2033(33 )-2033(25.57)-1408(108.94 )-1158(53.1)]TJ -2.338 Tc 40.057 0 Td -(16)Tj -0 Tc 3.338 0 Td -(5)Tj --43.395 -1.25 Td -[(13 )-1939(25.13)-1908(70.67 )-1158(51.96)-1658(27.70 )-1658(77.76)-1408(39.21 )-2033(33 )-2033(29.71)-1408(133.31 )-1158(63.07)-2283(71)]TJ --0 -1.25 Td -[(14 )-1939(28.40)-1908(82.23 )-1158(59.88)-1658(32.34 )-1658(91.45)-1408(46.22 )-2033(30 )-2033(34.22)-1408(155.80 )-1158(73.86)-2283(70)]TJ --0 -1.25 Td -[(15 )-1939(32.23)-1908(94.26 )-1158(68.30)-1658(36.32 )-1158(102.97 )-1158(51.82)-2283(32 )-2033(39.05)-1408(180.66 )-1158(84.14)-2283(75)]TJ --0 -1.25 Td -[(16 )-1939(37.24)-1408(107.87 )-1158(78.67)-1658(42.17 )-1213(1)55(18.20 )-1158(59.72)-2283(32 )-2033(44.1)]TJ -1.463 Tc 32.241 0 Td -(12)Tj -0 Tc 2.463 0 Td -[(08.28 )-1158(96.82)-2283(76)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1357.25 3074.25 cm -0 0 m -3777 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4801.25 3074.25 cm -0 0 m -0 1880 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4489.25 3074.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4176.25 3074.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3854.25 3074.25 cm -0 0 m -0 2000 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3874.25 3074.25 cm -0 0 m -0 2000 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3551.25 3074.25 cm -0 0 m -0 1880 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3238.25 3074.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2926.25 3074.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2603.25 3074.25 cm -0 0 m -0 1880 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2623.25 3074.25 cm -0 0 m -0 1880 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2300.25 3074.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1988.25 3074.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1665.25 3074.25 cm -0 0 m -0 2000 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1685.25 3074.25 cm -0 0 m -0 2000 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5134.25 3074.25 cm -0 0 m -0 2000 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1357.25 3074.25 cm -0 0 m -0 2000 l -S -Q -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 204.5663 289.2958 Tm -(Figure 20.8)Tj -/T1_1 1 Tf -5.695 0 Td -(Comparison of various locking techniques,)Tj -/T1_2 1 Tf -19.216 0 Td -[(nr)18(ec)]TJ -/T1_1 1 Tf -0.25 Tc 1.973 0 Td -(=2)Tj -0 Tc 1.356 0 Td -(,000)Tj -9.9964 0 0 9.9964 129.5536 265.3045 Tm -[(All )-85(times )-85(ar)19(e)-335(in)-335(s)1(econds )-85(and )-85(ar)]TJ -0.3346 Tc 14.08 0 Td -(et)Tj -0 Tc 1.14 0 Td -[(he )-85(total )-85(for )-85(the )-85(par)18(ent )-85(and )-85(all )-85(its )-85(childr)21(en. )-334(Ther)]TJ -0.3345 Tc 21.611 0 Td -(ea)Tj --0.018 Tc 1.314 0 Td -(re)Tj -0 Tc -38.144 -1.2 Td -[(many items to consider fr)18(om this data.)]TJ -1.8 -1.2 Td -[(The )-124(\336rst )-124(thing )-124(to )-124(notice )-124(is )-124(that )-124(the )-124(sum )-124(of )-124(the )-124(user )-124(and )-124(system )-124(times )-124(exceeds )-124(the)]TJ --1.8 -1.2 Td -[(clock )-160(time )-160(when )-160(multiple )-160(pr)18(ocesses )-160(ar)]TJ -0.41 Tc 17.627 0 Td -(eu)Tj -0 Tc 1.492 0 Td -[(sed. )-410(This)-410(seems )-160(odd )-160(at )-160(\336rst, )-160(but )-160(is )-160(normal)]TJ --19.119 -1.2 Td -[(when )-273(multiple )-273(cor)18(es )-273(ar)]TJ -0.5232 Tc 10.958 0 Td -(ep)Tj --0.018 Tc 1.603 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sent. )-523(What)-523(happens )-273(is )-273(that )-273(all )-273(concurr)18(ently )-273(executing)]TJ --13.418 -1.2 Td -[(pr)18(ocesses )-166(accumulate )-166(time )-166(as )-166(they )-166(execute; )-166(the )-166(CPU )-166(pr)18(ocessing )-166(times )-166(shown )-166(ar)]TJ -0.4159 Tc 36.718 0 Td -(et)Tj -0 Tc 1.221 0 Td -(he)Tj --37.939 -1.2 Td -[(sum )-132(of )-132(the )-132(times )-132(of )-132(all )-132(the )-132(cor)17(es )-132(used )-132(by )-132(the )-132(pr)17(ogram. )-382(Because)-383(we )-132(can )-132(r)8(un )-132(multiple)]TJ -0 -1.2 Td -[(pr)18(ocesses )-175(at )-175(the )-175(same )-175(time )-175(\(one )-175(per )-175(cor)18(e\), )-175(the )-175(CPU )-175(pr)18(ocessing )-175(times )-175(can )-175(exceed )-175(the)]TJ -0 -1.2 TD -(clock time.)Tj -1.8 -1.2 Td -[(The )-207(eighth )-207(column, )-207(labeled )-207(\324)37(\324)]TJ -/TT1 1 Tf -($)Tj -/T1_1 1 Tf -14.709 0 Td -[(Clock,\325)37(\325)-457(is)-457(the )-207(per)18(centage )-207(dif)18(fer)18(ence )-207(between )-207(the)]TJ --16.509 -1.2 Td -[(clock )-192(times )-192(fr)18(om )-192(advisory )-192(coarse-grained )-192(locking )-192(and )-192(advisory )-192(\336ne-grained )-192(locking.)]TJ -T* -[(This )-215(is )-215(a )-215(measur)18(ement )-215(of )-215(how )-215(much )-215(concurr)18(ency )-215(we )-215(obtain )-215(by )-215(going )-215(fr)19(om )-215(coarse-)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47606 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(444)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -1.783 TD -(int getchar_unlocked\(void\);)Tj -0 -1.783 TD -(int getc_unlocked\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -11.278 -1.783 Td -[(Both r)18(eturn: the next character if OK,)]TJ -/TT0 1 Tf -16.568 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(on end of \336le or err)18(or)]TJ -/TT0 1 Tf --29.896 -1.783 Td -(int putchar_unlocked\(int)Tj -/T1_2 1 Tf -15 0 Td -(c)Tj -/TT0 1 Tf -(\);)Tj --15 -1.783 Td -(int putc_unlocked\(int)Tj -/T1_2 1 Tf -13.2 0 Td -(c)Tj -/TT0 1 Tf -0.6 Tc (,F)Tj -0 Tc 2.207 0 Td -(ILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -9.186 -1.783 Td -[(Both r)18(eturn:)]TJ -/T1_2 1 Tf -5.577 0 Td -(c)Tj -/T1_1 1 Tf -0.657 0 Td -(if OK,)Tj -/TT0 1 Tf -2.886 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(on err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5575.25 cm -0 0 m -0 1098 l -3900 1098 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 147.5823 543.9347 Tm -[(These )-149(four )-149(functions )-149(should )-149(not )-149(be )-149(called )-149(unless )-149(they )-149(ar)]TJ -0.3994 Tc 25.962 0 Td -(es)Tj -0 Tc 1.302 0 Td -[(urr)18(ounded )-149(by )-149(calls )-149(to)]TJ -/TT0 1 Tf --29.064 -1.2 Td -(flockfile)Tj -/T1_1 1 Tf -5.699 0 Td -(\(or)Tj -/TT0 1 Tf -1.573 0 Td -(ftrylockfile)Tj -/T1_1 1 Tf -0.299 Tc (\)a)Tj -0 Tc 8.332 0 Td -(nd)Tj -/TT0 1 Tf -1.492 0 Td -(funlockfile)Tj -/T1_1 1 Tf -0.549 Tc (.O)Tj -0 Tc 8.185 0 Td -[(therwise, )-49(unpr)18(edictable )-49(r)18(esults)]TJ --25.281 -1.2 Td -[(can )-51(occur )-51(\(i.e., )-51(the )-51(types )-51(of )-51(pr)18(oblems )-51(that )-51(r)18(esult )-51(fr)18(om )-51(unsynchr)18(onized )-51(access )-51(to )-51(data )-51(by)]TJ -0 -1.2 TD -[(multiple thr)18(eads of contr)18(ol\).)]TJ -1.8 -1.2 Td -[(Once )-219(you )-219(lock )-219(the)]TJ -/TT0 1 Tf -9.094 0 Td -(FILE)Tj -/T1_1 1 Tf -2.869 0 Td -[(object, )-218(you )-218(can )-218(make )-218(multiple )-218(calls )-218(to )-218(these )-218(functions)]TJ --13.763 -1.2 Td -(befor)Tj -0.4219 Tc 2.288 0 Td -(er)Tj -0 Tc 1.278 0 Td -[(eleasing )-172(the )-172(lock.)-672(This )-172(amortizes )-172(the )-172(locking )-172(over)18(head )-172(acr)19(oss )-172(the )-172(amount )-172(of)]TJ --3.566 -1.2 Td -[(data r)18(ead or written.)]TJ -/TT1 1 Tf --3.6 -2.4 Td -(Example)Tj -/T1_1 1 Tf -3.6 -1.92 Td -(Figur)Tj -0.3308 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.31 0 Td -(2.1)Tj -0.3308 Tc 1.195 0 Td -(1s)Tj -0 Tc 1.255 0 Td -[(hows )-81(a )-81(possible )-81(implementation )-81(of)]TJ -/TT0 1 Tf -16.088 0 Td -(getenv)Tj -/T1_1 1 Tf -3.931 0 Td -[(\(Section )-81(7.9\).)-581(This )-81(version )-81(is)]TJ --26.161 -1.2 Td -[(not )-80(r)18(eentrant. )-330(If)-330(two )-80(thr)18(eads )-80(call )-80(it )-80(at )-80(the )-80(same )-80(time, )-80(they )-80(will )-80(see )-80(inconsistent )-80(r)17(esults,)]TJ -0 -1.2 Td -[(because )-21(the )-21(string )-21(r)18(eturned )-21(is )-21(stor)20(ed )-21(in )-21(a )-21(single )-21(static )-21(buf)18(fer )-21(that )-21(is )-21(shar)18(ed )-21(by )-21(all )-21(thr)22(eads)]TJ -T* -(calling)Tj -/TT0 1 Tf -3.205 0 Td -(getenv)Tj -/T1_1 1 Tf -(.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3856.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 376.0313 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(#define MAXSTRINGSZ 4096)Tj -0 -1.902 TD -(static char envbuf[MAXSTRINGSZ];)Tj -0 -1.902 TD -(extern char **environ;)Tj -T* -(char *)Tj -0 -1.189 TD -(getenv\(const char *name\))Tj -T* -({)Tj -2.4 -1.189 Td -(int i, len;)Tj -0 -1.902 TD -(len = strlen\(name\);)Tj -0 -1.189 TD -(for \(i = 0; environ[i] != NULL; i++\) {)Tj -2.4 -1.189 Td -(if \(\(strncmp\(name, environ[i], len\) == 0\) &&)Tj -1.2 -1.189 Td -(\(environ[i][len] == \325=\325\)\) {)Tj -1.2 -1.189 Td -(strncpy\(envbuf, &environ[i][len+1], MAXSTRINGSZ-1\);)Tj -T* -(return\(envbuf\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(return\(NULL\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1466.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 238.3628 134.1658 Tm -[(Figure 12.1)37(1)]TJ -/T1_1 1 Tf -0.25 Tc 6.25 0 Td -(An)Tj -0 Tc 1.61 0 Td -[(onr)18(eentrant version of)]TJ -/TT0 1 Tf -10.085 0 Td -(getenv)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47607 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.3)]TJ -/TT0 1 Tf -29.686 0 Td -(popen)Tj -/T1_0 1 Tf -3.5 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(pclose)Tj -/T1_0 1 Tf -4.1 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(547)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2310 6278 576 360 re -S -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -3606 6278 576 360 re -S -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 248.3251 667 Tm -[(par)18(ent)]TJ -14.53 0 Td -[(\336lter pr)18(ogram)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3462 5972 cm -0 0 m -0 -69.59 -96.71 -126 -216 -126 c --335.29 -126 -432 -69.59 -432 0 c --432 69.59 -335.29 126 -216 126 c --96.71 126 0 69.59 0 0 c -h -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 309.6548 600.3679 Tm -(user at a)Tj --0.01 -1.25 Td -(terminal)Tj -ET -q -0.99988 0 0 0.99988 0 0 cm -q 1 0 0 1 288.6 645.8 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -1 j 1 J -q 1 0 0 1 2886 6458 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3606.25 6458.25 cm -0 0 m --648 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 303.6573 648.9232 Tm -(popen)Tj -/T1_0 1 Tf -3.25 0 Td -(pipe)Tj -/T1_2 1 Tf -4.111 -0.625 Td -(stdout)Tj -ET -q -0.99982 0 0 0.99982 0 0 cm -q 1 0 0 1 309.336 606.128 cm -0 0 m --7.344 1.224 l --5.904 4.536 l -f -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -1 j 1 J -q 1 0 0 1 3093.3601 6061.2798 cm -0 0 m --73.44 12.24 l --59.04 45.36 l -h -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2598.25 6278.25 cm -0 0 m -429 -188 l -S -Q -Q -BT -/T1_0 1 Tf -7.3262 -3.2086 3.2086 7.3262 276.3337 623.8922 Tm -[(pr)18(ompt)]TJ -/T1_2 1 Tf -7.9981 0 0 7.9981 249.5201 630.8886 Tm -(stdout)Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 389.4 627.8 cm -0 0 m --5.904 -4.536 l --7.344 -1.224 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 3894 6278 cm -0 0 m --59.04 -45.36 l --73.44 -12.24 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3398.25 6061.25 cm -0 0 m -430 188 l -S -Q -Q -BT -/T1_0 1 Tf -7.3258 3.2084 -3.2084 7.3258 355.3444 616.2591 Tm -(user)Tj --0.126 -1.25 Td -(input)Tj -/T1_2 1 Tf -7.9976 0 0 7.9976 381.0617 630.8507 Tm -(stdin)Tj -/T1_1 1 Tf --17.479 -8.955 Td -(Figure 15.13)Tj -/T1_0 1 Tf --0.09 Tc 6.195 0 Td -(Tr)Tj -0 Tc 0.918 0 Td -(ansforming input using)Tj -/TT0 1 Tf -10.701 0 Td -(popen)Tj -/T1_0 1 Tf -9.997 0 0 9.997 129.5612 535.2396 Tm -[(The )-86(transformation )-86(could )-86(be )-86(pathname )-86(expansion, )-86(for )-86(example, )-86(or )-86(pr)18(oviding )-86(a )-86(history)]TJ -0 -1.2 TD -[(mechanism \(r)18(emembering pr)18(eviously enter)18(ed commands\).)]TJ -1.8 -1.2 Td -(Figur)Tj -0.3621 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.341 0 Td -[(5.14 )-112(shows )-112(a )-112(simple )-112(\336lter )-112(to )-112(demonstrate )-112(this )-112(operation.)-612(The )-112(\336lter )-112(copies)]TJ --5.524 -1.2 Td -(standar)Tj -0.4135 Tc 3.32 0 Td -(di)Tj -0 Tc 1.316 0 Td -[(nput )-163(to )-163(standar)]TJ -0.4135 Tc 7.131 0 Td -(do)Tj -0 Tc 1.571 0 Td -[(utput, )-163(converting )-163(any )-163(upper)18(case )-163(character )-163(to )-163(lower)15(case.)]TJ --13.337 -1.2 Td -[(The )-373(r)18(eason )-373(we\325r)]TJ -0.6229 Tc 7.796 0 Td -(ec)Tj -0 Tc 1.546 0 Td -[(ar)18(eful )-373(to)]TJ -/TT0 1 Tf -4.701 0 Td -(fflush)Tj -/T1_0 1 Tf -4.223 0 Td -(standar)Tj -0.6229 Tc 3.32 0 Td -(do)Tj -0 Tc 1.78 0 Td -[(utput )-373(after )-373(writing )-373(a )-373(newline )-373(is)]TJ --23.365 -1.2 Td -[(discussed in the next section when we talk about copr)18(ocesses.)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4682.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9968 0 0 8.9968 129.5534 458.5339 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(c;)]TJ -0 -2.14 TD -(while \(\(c = getchar\(\)\) != EOF\) {)Tj -2.4 -1.189 Td -(if \(isupper\(c\)\))Tj -0.6 Tc 2.4 -1.189 Td -(c=t)Tj -0 Tc 3 0 Td -(olower\(c\);)Tj --5.4 -1.189 Td -(if \(putchar\(c\) == EOF\))Tj -2.4 -1.189 Td -(err_sys\("output error"\);)Tj --2.4 -1.189 Td -(if \(c == \325\\n\325\))Tj -2.4 -1.189 Td -(fflush\(stdout\);)Tj --4.8 -1.189 Td -(})Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2763.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 210.5715 260.1687 Tm -(Figure 15.14)Tj -/T1_0 1 Tf -6.195 0 Td -[(Filter to convert upper)18(case characters to lower)18(case)]TJ --0.092 Tc 9.9958 0 0 9.9958 147.5382 236.1788 Tm -[(We )-269(c)]TJ -0 Tc 2.166 0 Td -[(ompile )-85(this )-85(\336lter )-85(into )-85(the )-85(executable )-85(\336le)]TJ -/TT0 1 Tf -18.334 0 Td -(myuclc)Tj -/T1_0 1 Tf -0.3353 Tc (,w)Tj -0 Tc 5.019 0 Td -[(hich )-85(we )-85(then )-85(invoke )-85(fr)17(om)]TJ --27.32 -1.2 Td -[(the pr)18(ogram in Figur)]TJ -0.25 Tc 9.251 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.15 using)Tj -/TT0 1 Tf -4.706 0 Td -(popen)Tj -/T1_0 1 Tf -(.)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2171.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9957 0 0 8.9957 129.5378 207.4774 Tm -(#include "apue.h")Tj -T* -(#include )Tj -0 -2.259 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(char )-1800(line[MAXLINE];)]TJ -0 -1.189 TD -[(FILE )-1800(*fpin;)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47608 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(926)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 6690.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 160.2404 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(struct foo {)Tj -2.4 -1.189 Td -(int a, b, c, d;)Tj --2.4 -1.189 Td -(};)Tj -T* -(void)Tj -0 -1.189 TD -(printfoo\(const char *s, const struct foo *fp\))Tj -T* -({)Tj -2.4 -1.189 Td -(fputs\(s, stdout\);)Tj -T* -[(printf\(" )-600(structure)-600(at 0x%lx\\n", \(unsigned long\)fp\);)]TJ -T* -[(printf\(" )-600(foo.a)]TJ -0.6 Tc 9.6 0 Td -(=%)Tj -0 Tc 1.8 0 Td -(d\\n", fp->a\);)Tj --11.4 -1.189 Td -[(printf\(" )-600(foo.b)]TJ -0.6 Tc 9.6 0 Td -(=%)Tj -0 Tc 1.8 0 Td -(d\\n", fp->b\);)Tj --11.4 -1.189 Td -[(printf\(" )-600(foo.c)]TJ -0.6 Tc 9.6 0 Td -(=%)Tj -0 Tc 1.8 0 Td -(d\\n", fp->c\);)Tj --11.4 -1.189 Td -[(printf\(" )-600(foo.d)]TJ -0.6 Tc 9.6 0 Td -(=%)Tj -0 Tc 1.8 0 Td -(d\\n", fp->d\);)Tj --13.8 -1.189 Td -(})Tj -0 -2.021 TD -(void *)Tj -0 -1.189 TD -(thr_fn1\(void *arg\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(struct foo *fp;)Tj -0 -2.021 TD -(if \(\(fp = malloc\(sizeof\(struct foo\)\)\) == NULL\))Tj -2.4 -1.189 Td -(err_sys\("can\325t allocate memory"\);)Tj --2.4 -1.189 Td -(fp->a = 1;)Tj -0 -1.189 TD -(fp->b = 2;)Tj -T* -(fp->c = 3;)Tj -T* -(fp->d = 4;)Tj -T* -(printfoo\("thread:\\n", fp\);)Tj -0 -1.189 TD -(return\(\(void *\)fp\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(int err;)Tj -0 -1.189 TD -(pthread_t tid1;)Tj -0 -1.189 TD -(struct foo *fp;)Tj -0 -2.021 TD -(err = pthread_create\(&tid1, NULL, thr_fn1, NULL\);)Tj -0 -1.189 TD -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t create thread 1"\);)Tj --2.4 -1.189 Td -(err = pthread_join\(tid1, \(void *\)&fp\);)Tj -T* -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t join with thread 1"\);)Tj --2.4 -1.189 Td -(printfoo\("parent:\\n", fp\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 1603.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 1603.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 256.2822 144.3407 Tm -(Figure C.12)Tj -/T1_1 1 Tf -5.917 0 Td -[(Corr)18(ect use of thr)18(ead r)18(eturn value)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47609 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.6 )]TJ -32.978 0 Td -[(Thr)18(ead )-250(Synchr)18(onization)]TJ -/T1_1 1 Tf -12.892 0 Td -[(41)37(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -[(pthread_t )-1200(j_id; )-1200(/*)-600(tells which thread handles this job */)]TJ -0 -1.189 TD -(/* ... more stuff here ... */)Tj --2.4 -1.189 Td -(};)Tj -0 -2.021 TD -(struct queue {)Tj -2.4 -1.189 Td -[(struct job)-3600(*q_head;)]TJ -0 -1.189 TD -[(struct job)-3600(*q_tail;)]TJ -0 -1.189 TD -(pthread_rwlock_t q_lock;)Tj --2.4 -1.189 Td -(};)Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*I)Tj -0 Tc 1.8 0 Td -(nitialize a queue.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(int)Tj -0 -1.189 TD -(queue_init\(struct queue *qp\))Tj -T* -({)Tj -2.4 -1.189 Td -(int err;)Tj -0 -2.021 TD -(qp->q_head = NULL;)Tj -0 -1.189 TD -(qp->q_tail = NULL;)Tj -T* -(err = pthread_rwlock_init\(&qp->q_lock, NULL\);)Tj -0 -1.189 TD -(if \(err != 0\))Tj -2.4 -1.189 Td -(return\(err\);)Tj --2.4 -1.189 Td -(/* ... continue initialization ... */)Tj -0 -1.189 TD -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*I)Tj -0 Tc 1.8 0 Td -(nsert a job at the head of the queue.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(job_insert\(struct queue *qp, struct job *jp\))Tj -T* -({)Tj -2.4 -1.189 Td -(pthread_rwlock_wrlock\(&qp->q_lock\);)Tj -T* -(jp->j_next = qp->q_head;)Tj -0 -1.189 TD -(jp->j_prev = NULL;)Tj -0 -1.189 TD -(if \(qp->q_head != NULL\))Tj -2.4 -1.189 Td -(qp->q_head->j_prev = jp;)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -[(qp->q_tail = jp;)-2400(/* list was empty */)]TJ --2.4 -1.189 Td -(qp->q_head = jp;)Tj -0 -1.189 TD -(pthread_rwlock_unlock\(&qp->q_lock\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*A)Tj -0 Tc 1.8 0 Td -(ppend a job on the tail of the queue.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(job_append\(struct queue *qp, struct job *jp\))Tj -T* -({)Tj -2.4 -1.189 Td -(pthread_rwlock_wrlock\(&qp->q_lock\);)Tj -T* -(jp->j_next = NULL;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47610 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.5 )]TJ -34.775 0 Td -[(Thr)18(ead )-250(T)92(ermination)]TJ -/T1_1 1 Tf -11.058 0 Td -(395)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 670.2598 Tm -({)Tj -2.4 -1.189 Td -(printf\("thread 1 start\\n"\);)Tj -0 -1.189 TD -(pthread_cleanup_push\(cleanup, "thread 1 first handler"\);)Tj -T* -(pthread_cleanup_push\(cleanup, "thread 1 second handler"\);)Tj -T* -(printf\("thread 1 push complete\\n"\);)Tj -0 -1.189 TD -(if \(arg\))Tj -2.4 -1.189 Td -(return\(\(void *\)1\);)Tj --2.4 -1.189 Td -(pthread_cleanup_pop\(0\);)Tj -0 -1.189 TD -(pthread_cleanup_pop\(0\);)Tj -T* -(return\(\(void *\)1\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(void *)Tj -0 -1.189 TD -(thr_fn2\(void *arg\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("thread 2 start\\n"\);)Tj -T* -(pthread_cleanup_push\(cleanup, "thread 2 first handler"\);)Tj -T* -(pthread_cleanup_push\(cleanup, "thread 2 second handler"\);)Tj -T* -(printf\("thread 2 push complete\\n"\);)Tj -T* -(if \(arg\))Tj -2.4 -1.189 Td -(pthread_exit\(\(void *\)2\);)Tj --2.4 -1.189 Td -(pthread_cleanup_pop\(0\);)Tj -T* -(pthread_cleanup_pop\(0\);)Tj -T* -(pthread_exit\(\(void *\)2\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-4800(err;)]TJ -T* -[(pthread_t )-1200(tid1,)-600(tid2;)]TJ -T* -[(void )-4200(*tret;)]TJ -0 -2.14 TD -(err = pthread_create\(&tid1, NULL, thr_fn1, \(void *\)1\);)Tj -0 -1.189 TD -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t create thread 1"\);)Tj --2.4 -1.189 Td -(err = pthread_create\(&tid2, NULL, thr_fn2, \(void *\)1\);)Tj -T* -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t create thread 2"\);)Tj --2.4 -1.189 Td -(err = pthread_join\(tid1, &tret\);)Tj -T* -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t join with thread 1"\);)Tj --2.4 -1.189 Td -(printf\("thread 1 exit code %ld\\n", \(long\)tret\);)Tj -T* -(err = pthread_join\(tid2, &tret\);)Tj -T* -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t join with thread 2"\);)Tj --2.4 -1.189 Td -(printf\("thread 2 exit code %ld\\n", \(long\)tret\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1583.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 257.1611 142.3019 Tm -[(Figure 1)37(1.5)]TJ -/T1_0 1 Tf -6.25 0 Td -[(Thr)18(ead cleanup handler)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47611 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(390)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -0 Tc 8.9995 0 0 8.9995 151.1909 670.2598 Tm -(printf\("thread 2 exiting\\n"\);)Tj -0 -1.189 TD -(pthread_exit\(\(void *\)2\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-4800(err;)]TJ -T* -[(pthread_t )-1200(tid1,)-600(tid2;)]TJ -0 -1.189 TD -[(void )-4200(*tret;)]TJ -0 -2.14 TD -(err = pthread_create\(&tid1, NULL, thr_fn1, NULL\);)Tj -0 -1.189 TD -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t create thread 1"\);)Tj --2.4 -1.189 Td -(err = pthread_create\(&tid2, NULL, thr_fn2, NULL\);)Tj -T* -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t create thread 2"\);)Tj --2.4 -1.189 Td -(err = pthread_join\(tid1, &tret\);)Tj -0 -1.189 TD -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t join with thread 1"\);)Tj --2.4 -1.189 Td -(printf\("thread 1 exit code %ld\\n", \(long\)tret\);)Tj -0 -1.189 TD -(err = pthread_join\(tid2, &tret\);)Tj -T* -(if \(err != 0\))Tj -2.4 -1.189 Td -(err_exit\(err, "can\325t join with thread 2"\);)Tj --2.4 -1.189 Td -(printf\("thread 2 exit code %ld\\n", \(long\)tret\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3916.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 246.3984 375.5339 Tm -[(Figure 1)37(1.3)]TJ -/T1_1 1 Tf -6.25 0 Td -[(Fetching the thr)18(ead exit status)]TJ -9.9988 0 0 9.9988 129.5844 351.5368 Tm -[(Running the pr)18(ogram in Figur)]TJ -0.25 Tc 13.365 0 Td -(e1)Tj -0 Tc 1.174 0 Td -(1.3 gives us)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5821 334.8388 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(thread 1 returning)Tj -T* -(thread 2 exiting)Tj -T* -(thread 1 exit code 1)Tj -T* -(thread 2 exit code 2)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5842 274.0461 Tm -[(As )-99(we )-99(can )-99(see, )-99(when )-99(a )-99(thr)18(ead )-99(exits )-99(by )-99(calling)]TJ -/TT0 1 Tf -21.116 0 Td -(pthread_exit)Tj -/T1_1 1 Tf -7.549 0 Td -[(or )-99(by )-99(simply )-99(r)17(eturning)]TJ --28.665 -1.2 Td -[(fr)18(om )-217(the )-217(start )-217(r)18(outine, )-217(the )-217(exit )-217(status )-217(can )-217(be )-217(obtained )-217(by )-217(another )-217(thr)13(ead )-217(by )-217(calling)]TJ -/TT0 1 Tf -0 -1.2 TD -(pthread_join)Tj -/T1_1 1 Tf -(.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2501.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 147.5734 220.0394 Tm -[(The )-35(typeless )-35(pointer )-35(passed )-35(to)]TJ -/TT0 1 Tf -13.809 0 Td -(pthread_create)Tj -/T1_1 1 Tf -8.685 0 Td -(and)Tj -/TT0 1 Tf -1.978 0 Td -(pthread_exit)Tj -/T1_1 1 Tf -7.485 0 Td -[(can )-35(be )-35(used)]TJ --33.756 -1.2 Td -[(to )-177(pass )-177(mor)]TJ -0.4271 Tc 5.481 0 Td -(et)Tj -0 Tc 1.232 0 Td -[(han )-177(a )-177(single )-177(value.)-677(The )-177(pointer )-177(can )-177(be )-177(used )-177(to )-177(pass )-177(the )-177(addr)17(ess )-177(of )-177(a)]TJ --6.713 -1.2 Td -[(str)8(uctur)]TJ -0.3764 Tc 3.49 0 Td -(ec)Tj -0 Tc 1.299 0 Td -[(ontaining )-126(mor)]TJ -0.3764 Tc 6.438 0 Td -(ec)Tj -0 Tc 1.299 0 Td -[(omplex )-126(information.)-626(Be )-126(car)17(eful )-126(that )-126(the )-126(memory )-126(used )-126(for)]TJ --12.527 -1.2 Td -[(the )-60(str)8(uctur)18(e)-310(is)-310(s)-1(till )-60(valid )-60(when )-60(the )-60(caller )-60(has )-60(completed.)-563(If )-60(the )-60(str)7(uctur)]TJ -0.3105 Tc 32.154 0 Td -(ew)Tj -0 Tc 1.624 0 Td -[(as )-60(allocated)]TJ --33.778 -1.2 Td -[(on )-15(the )-15(caller)-73(\325s )-15(stack, )-15(for )-15(example, )-15(the )-15(memory )-15(contents )-15(might )-15(have )-15(changed )-15(by )-15(the )-15(time)]TJ -T* -[(the )-11(str)8(uctur)18(e)-261(is)-261(used. )-261(If)]TJ -0.2612 Tc 10.664 0 Td -(at)Tj -0 Tc 1.087 0 Td -[(hr)18(ead )-11(allocates )-11(a )-11(str)7(uctur)18(e)-261(on)-261(its )-11(stack )-11(and )-11(passes )-11(a )-11(pointer )-11(to)]TJ --11.751 -1.2 Td -[(this )-160(str)8(uctur)]TJ -0.4105 Tc 5.524 0 Td -(et)Tj -0 Tc 1.216 0 Td -(o)Tj -/TT0 1 Tf -0.956 0 Td -(pthread_exit)Tj -/T1_1 1 Tf -0.4104 Tc (,t)Tj -0 Tc 8.186 0 Td -[(hen )-160(the )-160(stack )-160(might )-160(be )-160(destr)18(oyed )-160(and )-160(its )-160(memory)]TJ --0.018 Tc -15.882 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(used for something else by the time the caller of)Tj -/TT0 1 Tf -21.374 0 Td -(pthread_join)Tj -/T1_1 1 Tf -7.45 0 Td -(tries to use it.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47612 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(979)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 140.3916 670.9597 Tm -[(de\336nition of,)-500(434)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_mutexattr_init)Tj -/T1_0 1 Tf -13.617 0 Td -[(function, )-250(431,)-250(438,)]TJ --10.917 -1.25 Td -(445)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(431)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_mutexattr_setpshared)Tj -/T1_0 1 Tf -17.217 0 Td -(function,)Tj --14.517 -1.25 Td -(431)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(431)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_mutexattr_setrobust)Tj -/T1_0 1 Tf -16.617 0 Td -[(function, )-250(432)]TJ --15.267 -1.25 Td -[(de\336nition of,)-500(432)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_mutexattr_settype)Tj -/T1_0 1 Tf -15.417 0 Td -[(function, )-250(434,)]TJ --12.717 -1.25 Td -(438, 445)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(434)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_mutexattr_t)Tj -/T1_0 1 Tf -11.817 0 Td -[(data type,)-500(430)]TJ -6.482 0.09 Td -(\320)Tj -0.583 -0.09 Td -(431, 438,)Tj --16.182 -1.25 Td -(445)Tj -/TT0 1 Tf --2.7 -1.25 Td -(pthread_mutex_consistent)Tj -/T1_0 1 Tf -14.817 0 Td -(function,)Tj --12.117 -1.25 Td -(432)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(433, 571)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(433)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(PTHREAD_MUTEX_DEFAULT)Tj -/T1_0 1 Tf -13.017 0 Td -[(constant, )-250(433)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(434)Tj -/TT0 1 Tf --19.663 -1.25 Td -(pthread_mutex_destroy)Tj -/T1_0 1 Tf -13.017 0 Td -[(function, )-250(400)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(401,)Tj --16.94 -1.25 Td -(404, 407)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(400)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(PTHREAD_MUTEX_ERRORCHECK)Tj -/T1_0 1 Tf -14.817 0 Td -(constant,)Tj --12.117 -1.25 Td -(433)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(434)Tj -/TT0 1 Tf --4.866 -1.25 Td -(pthread_mutex_init)Tj -/T1_0 1 Tf -11.217 0 Td -[(function, )-250(400)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(401, 403,)Tj --15.14 -1.25 Td -(405, 431, 438, 445, 941)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(400)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(PTHREAD_MUTEX_INITIALIZER)Tj -/T1_0 1 Tf -15.417 0 Td -[(constant, )-250(400,)]TJ --12.717 -1.25 Td -(403, 405, 408, 416, 431, 449, 455, 459, 813)Tj -17.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(814)Tj -/TT0 1 Tf --20.867 -1.25 Td -(pthread_mutex_lock)Tj -/T1_0 1 Tf -11.217 0 Td -[(function, )-250(400)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(401,)Tj --15.14 -1.25 Td -(403)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(404, 406)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(408, 416, 422)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(423, 432, 438,)Tj --12.5 -1.25 Td -(445, 450, 456, 459)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(460, 820)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(821, 828)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(830,)Tj --16.5 -1.25 Td -(832)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(833, 941)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(942)Tj --7.683 -1.25 Td -[(de\336nition of,)-500(400)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(PTHREAD_MUTEX_NORMAL)Tj -/T1_0 1 Tf -12.417 0 Td -[(constant, )-250(433)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(434)Tj -/TT0 1 Tf --19.063 -1.25 Td -(PTHREAD_MUTEX_RECURSIVE)Tj -/T1_0 1 Tf -14.217 0 Td -[(constant, )-250(433)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(434,)Tj --18.163 -1.25 Td -(438, 445)Tj -/TT0 1 Tf --2.7 -1.25 Td -(PTHREAD_MUTEX_ROBUST)Tj -/T1_0 1 Tf -12.417 0 Td -[(constant, )-250(432)]TJ -/TT0 1 Tf --12.417 -1.25 Td -(PTHREAD_MUTEX_STALLED)Tj -/T1_0 1 Tf -13.017 0 Td -[(constant, )-250(432)]TJ -/TT0 1 Tf --13.017 -1.25 Td -(pthread_mutex_t)Tj -/T1_0 1 Tf -9.417 0 Td -[(data type,)-500(400)]TJ -6.482 0.09 Td -(\320)Tj -0.583 -0.09 Td -(401, 403, 405,)Tj --13.782 -1.25 Td -(408, 416, 438, 445, 449, 455, 459, 813)Tj -15.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(814, 940)Tj -/TT0 1 Tf --18.866 -1.25 Td -(pthread_mutex_timedlock)Tj -/T1_0 1 Tf -14.217 0 Td -[(function, )-250(407)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(409,)Tj --18.14 -1.25 Td -(413)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(407)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_mutex_trylock)Tj -/T1_0 1 Tf -13.017 0 Td -[(function, )-250(400,)-250(402)]TJ --11.667 -1.25 Td -[(de\336nition of,)-500(400)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_mutex_unlock)Tj -/T1_0 1 Tf -12.417 0 Td -[(function, )-250(400)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(401,)Tj --16.34 -1.25 Td -(403)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(404, 406)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(407, 416, 422)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(423, 438)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(439,)Tj --16.666 -1.25 Td -(445, 450, 456, 460, 820)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(821, 828)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(830,)Tj --14.333 -1.25 Td -(832)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(833, 941)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(942)Tj --7.683 -1.25 Td -[(de\336nition of,)-500(400)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_once)Tj -/T1_0 1 Tf -7.617 0 Td -[(function, )-250(445,)-250(448, 450, 928)]TJ --6.267 -1.25 Td -[(de\336nition of,)-500(448)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(PTHREAD_ONCE_INIT)Tj -/T1_0 1 Tf -10.617 0 Td -[(constant, )-250(445,)-250(448)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(449)Tj -/TT0 1 Tf -6.737 65 Td -(pthread_once_t)Tj -/T1_0 1 Tf -8.817 0 Td -[(data type,)-500(445, 449)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(PTHREAD_PROCESS_PRIVATE)Tj -/T1_0 1 Tf -14.217 0 Td -[(constant, )-250(417,)-250(431,)]TJ --11.517 -1.25 Td -(442)Tj -/TT0 1 Tf --2.7 -1.25 Td -(PTHREAD_PROCESS_SHARED)Tj -/T1_0 1 Tf -13.617 0 Td -[(constant, )-250(417,)-250(431,)]TJ --10.917 -1.25 Td -(442, 571)Tj -/TT0 1 Tf --2.7 -1.25 Td -(pthread_rwlockattr_destroy)Tj -/T1_0 1 Tf -16.017 0 Td -[(function, )-250(439)]TJ --14.667 -1.25 Td -[(de\336nition of,)-500(439)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_rwlockattr_getpshared)Tj -/T1_0 1 Tf -17.817 0 Td -(function,)Tj --15.117 -1.25 Td -(440)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(440)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_rwlockattr_init)Tj -/T1_0 1 Tf -14.217 0 Td -[(function, )-250(439)]TJ --12.867 -1.25 Td -[(de\336nition of,)-500(439)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_rwlockattr_setpshared)Tj -/T1_0 1 Tf -17.817 0 Td -(function,)Tj --15.117 -1.25 Td -(440)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(440)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_rwlockattr_t)Tj -/T1_0 1 Tf -12.417 0 Td -[(data type,)-500(439)]TJ -/TT0 1 Tf --12.417 -1.25 Td -(pthread_rwlock_destroy)Tj -/T1_0 1 Tf -13.617 0 Td -[(function, )-250(409)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(410)Tj --18.89 -1.25 Td -[(de\336nition of,)-500(409)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_rwlock_init)Tj -/T1_0 1 Tf -11.817 0 Td -[(function, )-250(409,)-250(41)55(1)]TJ --10.467 -1.25 Td -[(de\336nition of,)-500(409)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(PTHREAD_RWLOCK_INITIALIZER)Tj -/T1_0 1 Tf -16.017 0 Td -[(constant, )-250(409)]TJ -/TT0 1 Tf --16.017 -1.25 Td -(pthread_rwlock_rdlock)Tj -/T1_0 1 Tf -13.017 0 Td -[(function, )-250(410,)-250(412,)]TJ --10.317 -1.25 Td -(452)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(410)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_rwlock_t)Tj -/T1_0 1 Tf -10.017 0 Td -[(data type,)-500(41)55(1)]TJ -/TT0 1 Tf --10.017 -1.25 Td -(pthread_rwlock_timedrdlock)Tj -/T1_0 1 Tf -16.017 0 Td -[(function, )-250(413,)]TJ --13.317 -1.25 Td -(452)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(413)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_rwlock_timedwrlock)Tj -/T1_0 1 Tf -16.017 0 Td -[(function, )-250(413,)]TJ --13.317 -1.25 Td -(452)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(413)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_rwlock_tryrdlock)Tj -/T1_0 1 Tf -14.817 0 Td -[(function, )-250(410)]TJ --13.467 -1.25 Td -[(de\336nition of,)-500(410)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_rwlock_trywrlock)Tj -/T1_0 1 Tf -14.817 0 Td -[(function, )-250(410)]TJ --13.467 -1.25 Td -[(de\336nition of,)-500(410)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_rwlock_unlock)Tj -/T1_0 1 Tf -13.017 0 Td -[(function, )-250(410)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(412)Tj --18.29 -1.25 Td -[(de\336nition of,)-500(410)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_rwlock_wrlock)Tj -/T1_0 1 Tf -13.017 0 Td -[(function, )-250(410)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(412,)Tj --16.94 -1.25 Td -(452)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(410)]TJ --1.35 -1.25 Td -[(pthr)18(eads, )-250(27,)-250(229, 384, 426)]TJ -/TT0 1 Tf -0 -1.25 TD -(pthread_self)Tj -/T1_0 1 Tf -7.617 0 Td -[(function, )-250(385,)-250(387, 391, 824)]TJ --6.267 -1.25 Td -[(de\336nition of,)-500(385)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_setcancelstate)Tj -/T1_0 1 Tf -13.617 0 Td -[(function, )-250(451)]TJ --12.267 -1.25 Td -[(de\336nition of,)-500(451)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_setcanceltype)Tj -/T1_0 1 Tf -13.017 0 Td -[(function, )-250(453)]TJ --11.667 -1.25 Td -[(de\336nition of,)-500(453)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_setspecific)Tj -/T1_0 1 Tf -11.817 0 Td -[(function, )-250(449)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(450)Tj --17.09 -1.25 Td -[(de\336nition of,)-500(449)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_sigmask)Tj -/T1_0 1 Tf -9.417 0 Td -[(function, )-250(453)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(454, 477, 815)Tj --14.69 -1.25 Td -[(de\336nition of,)-500(454)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_spin_destroy)Tj -/T1_0 1 Tf -12.417 0 Td -[(function, )-250(417)]TJ --11.067 -1.25 Td -[(de\336nition of,)-500(417)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47613 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.6)]TJ -34.349 0 Td -[(Thr)18(ead)]TJ -3.162 0.09 Td -(-)Tj -0.333 -0.09 Td -[(Speci\336c )-250(Data)]TJ -/T1_1 1 Tf -7.989 0 Td -(449)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 670.2598 Tm -(void)Tj -0 -1.189 TD -(thread_init\(void\))Tj -T* -({)Tj -2.778 -1.189 Td -(err = pthread_key_create\(&key, destructor\);)Tj --2.778 -1.189 Td -(})Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(threadfunc\(void *arg\))Tj -T* -({)Tj -2.778 -1.189 Td -(pthread_once\(&init_done, thread_init\);)Tj -T* -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --2.778 -1.189 Td -(})Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 526.009 Tm -[(Once )-61(a )-61(key )-61(is )-61(cr)18(eated, )-61(we )-61(can )-61(associate )-61(thr)16(ead-speci\336c )-61(data )-61(with )-61(the )-61(key )-61(by )-61(calling)]TJ -/TT0 1 Tf --1.8 -1.2 Td -(pthread_setspecific)Tj -/T1_0 1 Tf -0.6344 Tc (.W)Tj -0.3844 Tc 13.192 0 Td -(ec)Tj -0 Tc 1.307 0 Td -[(an )-134(obtain )-134(the )-134(addr)18(ess )-134(of )-134(the )-134(thr)18(ead-speci\336c )-134(data )-134(with)]TJ -/TT0 1 Tf --14.5 -1.2 Td -(pthread_getspecific)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5907 485.3111 Tm -(#include )Tj -0 -1.783 TD -(void *pthread_getspecific\(pthread_key_t)Tj -/T1_2 1 Tf -24 0 Td -(key)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --8.796 -1.783 Td -[(Returns: thr)18(ead-speci\336c data value or)]TJ -/TT0 1 Tf -16.789 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -(if no value)Tj --9.715 -1.189 Td -(has been associated with the key)Tj -/TT0 1 Tf --24.928 -1.783 Td -(int pthread_setspecific\(pthread_key_t)Tj -/T1_2 1 Tf -22.8 0 Td -(key)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.133 0 Td -(onst void *)Tj -/T1_2 1 Tf -(value)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --4.652 -1.783 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4059.25 cm -0 0 m -0 884 l -3900 884 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 392.3929 Tm -[(If )-46(no )-46(thr)18(ead-speci\336c )-46(data )-46(has )-46(been )-46(associated )-46(with )-46(a )-46(key)112(,)]TJ -/TT0 1 Tf -25.597 0 Td -(pthread_getspecific)Tj -/T1_0 1 Tf -11.696 0 Td -(will)Tj --0.018 Tc -37.293 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-9(a )-9(null )-9(pointer)]TJ -0.5092 Tc 8.096 0 Td -(.W)Tj -0.2592 Tc 1.667 0 Td -(ec)Tj -0 Tc 1.182 0 Td -[(an )-9(use )-9(this )-9(r)18(eturn )-9(value )-9(to )-9(determine )-9(whether )-9(we )-9(need )-9(to )-9(call)]TJ -/TT0 1 Tf --11.802 -1.2 Td -(pthread_setspecific)Tj -/T1_0 1 Tf -(.)Tj -/TT1 1 Tf --3.6 -2.64 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.16 Td -[(In )-169(Figur)]TJ -0.4188 Tc 3.721 0 Td -(e1)Tj -0 Tc 1.398 0 Td -[(2.1)55(1, )-169(we )-169(showed )-169(a )-169(hypothetical )-169(implementation )-169(of)]TJ -/TT0 1 Tf -23.628 0 Td -(getenv)Tj -/T1_0 1 Tf -0.6687 Tc (.W)Tj -0.4187 Tc 5.427 0 Td -(ec)Tj -0 Tc 1.342 0 Td -[(ame )-169(up)]TJ --35.516 -1.2 Td -[(with )-306(a )-306(new )-306(interface )-306(to )-306(pr)18(ovide )-306(the )-306(same )-306(functionality)]TJ -0.5561 Tc 26.28 0 Td -(,b)Tj -0 Tc 1.359 0 Td -[(ut )-306(in )-306(a )-306(thr)18(ead-safe )-306(way)]TJ --27.639 -1.2 Td -(\(Figur)Tj -0.2561 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.235 0 Td -[(2.12\). )-256(But)-256(what )-6(would )-6(happen )-6(if )-6(we )-6(couldn\325t )-6(modify )-6(our )-6(application )-6(pr)17(ograms)]TJ --3.951 -1.2 Td -[(to )-83(use )-83(the )-83(new )-83(interface?)-582(In )-83(that )-83(case, )-83(we )-83(could )-83(use )-83(thr)18(ead-speci\336c )-83(data )-83(to )-83(maintain )-83(a)]TJ -0 -1.2 TD -[(per)18(-thr)18(ead )-190(copy )-190(of )-190(the )-190(data )-190(buf)18(fer )-190(used )-190(to )-190(hold )-190(the )-190(r)18(eturn )-190(string.)-690(This )-190(is )-190(shown )-190(in)]TJ -T* -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(2.13.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2532.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 243.6951 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -2.14 TD -(#define MAXSTRINGSZ 4096)Tj -T* -(static pthread_key_t key;)Tj -0 -1.189 TD -(static pthread_once_t init_done = PTHREAD_ONCE_INIT;)Tj -T* -(pthread_mutex_t env_mutex = PTHREAD_MUTEX_INITIALIZER;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47614 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(412)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -0 Tc 8.9995 0 0 8.9995 151.1909 670.2598 Tm -(jp->j_prev = qp->q_tail;)Tj -0 -1.189 TD -(if \(qp->q_tail != NULL\))Tj -2.4 -1.189 Td -(qp->q_tail->j_next = jp;)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -[(qp->q_head = jp;)-2400(/* list was empty */)]TJ --2.4 -1.189 Td -(qp->q_tail = jp;)Tj -T* -(pthread_rwlock_unlock\(&qp->q_lock\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*R)Tj -0 Tc 1.8 0 Td -(emove the given job from a queue.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(job_remove\(struct queue *qp, struct job *jp\))Tj -T* -({)Tj -2.4 -1.189 Td -(pthread_rwlock_wrlock\(&qp->q_lock\);)Tj -T* -(if \(jp == qp->q_head\) {)Tj -2.4 -1.189 Td -(qp->q_head = jp->j_next;)Tj -T* -(if \(qp->q_tail == jp\))Tj -2.4 -1.189 Td -(qp->q_tail = NULL;)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(jp->j_next->j_prev = jp->j_prev;)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(jp == qp->q_tail\) {)Tj -0.6 -1.189 Td -(qp->q_tail = jp->j_prev;)Tj -0 -1.189 TD -(jp->j_prev->j_next = jp->j_next;)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(jp->j_prev->j_next = jp->j_next;)Tj -0 -1.189 TD -(jp->j_next->j_prev = jp->j_prev;)Tj --2.4 -1.189 Td -(})Tj -T* -(pthread_rwlock_unlock\(&qp->q_lock\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*F)Tj -0 Tc 1.8 0 Td -(ind a job for the given thread ID.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(struct job *)Tj -0 -1.189 TD -(job_find\(struct queue *qp, pthread_t id\))Tj -T* -({)Tj -2.4 -1.189 Td -(struct job *jp;)Tj -0 -2.021 TD -(if \(pthread_rwlock_rdlock\(&qp->q_lock\) != 0\))Tj -2.4 -1.189 Td -(return\(NULL\);)Tj --2.4 -2.021 Td -(for \(jp = qp->q_head; jp != NULL; jp = jp->j_next\))Tj -2.4 -1.189 Td -(if \(pthread_equal\(jp->j_id, id\)\))Tj -2.4 -1.189 Td -(break;)Tj --4.8 -2.021 Td -(pthread_rwlock_unlock\(&qp->q_lock\);)Tj -0 -1.189 TD -(return\(jp\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1572.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 253.7575 141.2321 Tm -[(Figure 1)37(1.14)]TJ -/T1_1 1 Tf -6.25 0 Td -[(Using r)18(eader\320writer locks)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47615 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(448)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -1.902 TD -(int pthread_key_delete\(pthread_key_t)Tj -/T1_2 1 Tf -22.2 0 Td -(key)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --0.919 -1.902 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6195.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 604.7874 Tm -[(Note )-363(that )-363(calling)]TJ -/TT0 1 Tf -8.709 0 Td -(pthread_key_delete)Tj -/T1_1 1 Tf -11.413 0 Td -[(will )-363(not )-363(invoke )-363(the )-363(destr)9(uctor )-363(function)]TJ --20.122 -1.2 Td -[(associated )-99(with )-99(the )-99(key)]TJ -0.5988 Tc 10.491 0 Td -(.T)Tj -0.3488 Tc 1.37 0 Td -(of)Tj --0.018 Tc 1.228 0 Td -(re)Tj -0.3488 Tc 0.856 0 Td -(ea)Tj -0 Tc 1.328 0 Td -[(ny )-99(memory )-99(associated )-99(with )-99(the )-99(key\325s )-99(thr)19(ead-speci\336c)]TJ --15.273 -1.2 Td -(data values, we need to take additional steps in the application.)Tj --0.092 Tc 1.8 -1.2 Td -[(We )-282(n)]TJ -0 Tc 2.317 0 Td -[(eed )-98(to )-98(ensur)]TJ -0.3484 Tc 5.603 0 Td -(et)Tj -0 Tc 1.153 0 Td -[(hat )-98(a )-98(key )-98(we )-98(allocate )-98(doesn\325t )-98(change )-98(because )-98(of )-98(a )-98(race )-98(during)]TJ --10.874 -1.2 Td -[(initialization. )-764(Code)-764(like )-514(the )-514(following )-514(can )-514(r)18(esult )-514(in )-514(two )-514(thr)18(eads )-514(both )-514(calling)]TJ -/TT0 1 Tf -0 -1.2 TD -(pthread_key_create)Tj -/T1_1 1 Tf -(:)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5816 525.9567 Tm -(void destructor\(void *\);)Tj -0 -2.14 TD -(pthread_key_t key;)Tj -0 -1.189 TD -(int init_done = 0;)Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(threadfunc\(void *arg\))Tj -T* -({)Tj -2.778 -1.189 Td -(if \(!init_done\) {)Tj -2.778 -1.189 Td -(init_done = 1;)Tj -T* -(err = pthread_key_create\(&key, destructor\);)Tj --2.778 -1.189 Td -(})Tj -T* -(.)Tj -0 -0.476 TD -(.)Tj -0 -0.476 TD -(.)Tj --2.778 -1.189 Td -(})Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5837 362.4563 Tm -[(Depending )-228(on )-228(how )-228(the )-228(system )-228(schedules )-228(thr)18(eads, )-228(some )-228(thr)18(eads )-228(might )-228(see )-228(one )-228(key)]TJ -0 -1.2 TD -[(value, )-74(wher)18(eas )-74(other )-74(thr)18(eads )-74(might )-74(see )-74(a )-74(dif)17(fer)18(ent )-74(value.)-574(The )-74(way )-74(to )-74(solve )-74(this )-74(race )-74(is)]TJ --0 -1.2 Td -(to use)Tj -/TT0 1 Tf -2.878 0 Td -(pthread_once)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5814 319.3615 Tm -(#include )Tj -0 -2.14 TD -(pthread_once_t)Tj -/T1_2 1 Tf -9 0 Td -(init\337ag)Tj -/TT0 1 Tf -0.6 Tc 3.534 0 Td -(=P)Tj -0 Tc 1.8 0 Td -(THREAD_ONCE_INIT;)Tj --14.334 -2.14 Td -(int pthread_once\(pthread_once_t *)Tj -/T1_2 1 Tf -(init\337ag)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 24.534 0 Td -(oid \(*)Tj -/T1_2 1 Tf -(initfn)Tj -/TT0 1 Tf -(\)\(void\)\);)Tj -/T1_1 1 Tf --3.253 -2.14 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2571.25 cm -0 0 m -0 713 l -3900 713 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 241.1766 Tm -(The)Tj -/T1_2 1 Tf -2.295 0 Td -(init\337ag)Tj -/T1_1 1 Tf -3.555 0 Td -[(must )-371(be )-371(a )-371(nonlocal )-371(variable )-371(\(i.e., )-371(global )-371(or )-371(static\) )-371(and )-371(initialized )-371(to)]TJ -/TT0 1 Tf --5.85 -1.2 Td -(PTHREAD_ONCE_INIT)Tj -/T1_1 1 Tf -(.)Tj -1.8 -1.2 Td -[(If )-170(each )-170(thr)18(ead )-170(calls)]TJ -/TT0 1 Tf -9.179 0 Td -(pthread_once)Tj -/T1_1 1 Tf -0.4198 Tc (,t)Tj -0 Tc 8.196 0 Td -[(he )-170(system )-170(guarantees )-170(that )-170(the )-170(initialization)]TJ --0.018 Tc -19.175 -1.2 Td -(ro)Tj -0 Tc 0.923 0 Td -(utine,)Tj -/T1_2 1 Tf -2.842 0 Td -(initfn)Tj -/T1_1 1 Tf -0.3108 Tc (,w)Tj -0 Tc 3.674 0 Td -[(ill )-61(be )-61(called )-61(only )-61(once, )-61(on )-61(the )-61(\336rst )-61(call )-61(to)]TJ -/TT0 1 Tf -18.567 0 Td -(pthread_once)Tj -/T1_1 1 Tf -0.5607 Tc (.T)Tj -0 Tc 8.624 0 Td -[(he )-61(pr)18(oper)]TJ --34.629 -1.2 Td -[(way to cr)18(eate a key without a race is as follows:)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.5734 174.3488 Tm -(void destructor\(void *\);)Tj -0 -2.14 TD -(pthread_key_t key;)Tj -0 -1.189 TD -(pthread_once_t init_done = PTHREAD_ONCE_INIT;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47616 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(416)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -0 Tc 8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include )Tj -0 -2.021 TD -(struct msg {)Tj -2.4 -1.189 Td -(struct msg *m_next;)Tj -0 -1.189 TD -(/* ... more stuff here ... */)Tj --2.4 -1.189 Td -(};)Tj -0 -2.021 TD -(struct msg *workq;)Tj -T* -(pthread_cond_t qready = PTHREAD_COND_INITIALIZER;)Tj -T* -(pthread_mutex_t qlock = PTHREAD_MUTEX_INITIALIZER;)Tj -T* -(void)Tj -0 -1.189 TD -(process_msg\(void\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(struct msg *mp;)Tj -0 -2.021 TD -(for \(;;\) {)Tj -2.4 -1.189 Td -(pthread_mutex_lock\(&qlock\);)Tj -0 -1.189 TD -(while \(workq == NULL\))Tj -2.4 -1.189 Td -(pthread_cond_wait\(&qready, &qlock\);)Tj --2.4 -1.189 Td -(mp = workq;)Tj -T* -(workq = mp->m_next;)Tj -T* -(pthread_mutex_unlock\(&qlock\);)Tj -T* -(/* now process the message mp */)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(void)Tj -0 -1.189 TD -(enqueue_msg\(struct msg *mp\))Tj -T* -({)Tj -2.4 -1.189 Td -(pthread_mutex_lock\(&qlock\);)Tj -T* -(mp->m_next = workq;)Tj -T* -(workq = mp;)Tj -T* -(pthread_mutex_unlock\(&qlock\);)Tj -T* -(pthread_cond_signal\(&qready\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2812.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 252.8737 265.2362 Tm -[(Figure 1)37(1.15)]TJ -/T1_1 1 Tf -6.25 0 Td -(Using a condition variable)Tj -9.9988 0 0 9.9988 147.5823 237.6395 Tm -[(The )-10(condition )-10(is )-10(the )-10(state )-10(of )-10(the )-10(work )-10(queue.)]TJ --0.092 Tc 20.209 0 Td -[(We )-194(p)]TJ --0.018 Tc 2.248 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(tect )-10(the )-10(condition )-10(with )-10(a )-10(mutex)]TJ --25.18 -1.2 Td -[(and )-185(evaluate )-185(the )-185(condition )-185(in )-185(a)]TJ -/TT0 1 Tf -15.025 0 Td -(while)Tj -/T1_1 1 Tf -3.435 0 Td -[(loop. )-435(When)-435(we )-185(put )-185(a )-185(message )-185(on )-185(the )-185(work)]TJ --18.46 -1.2 Td -[(queue, )-9(we )-9(need )-9(to )-9(hold )-9(the )-9(mutex, )-9(but )-9(we )-9(don\325t )-9(need )-9(to )-9(hold )-9(the )-9(mutex )-9(when )-9(we )-9(signal)]TJ -0 -1.2 TD -[(the )-33(waiting )-33(thr)17(eads. )-283(As)-284(long )-33(as )-33(it )-33(is )-33(okay )-33(for )-33(a )-33(thr)18(ead )-33(to )-33(pull )-33(the )-33(message )-33(of)]TJ -0.2832 Tc 33.99 0 Td -(ft)Tj -0 Tc 0.942 0 Td -[(he )-33(queue)]TJ --34.932 -1.2 Td -[(befor)18(e)-291(we)-291(c)-1(all)]TJ -/TT0 1 Tf -6.48 0 Td -(cond_signal)Tj -/T1_1 1 Tf -[(,)-291(we)-291(c)-1(an )-41(do )-41(this )-41(after )-41(r)18(eleasing )-41(the )-41(mutex.)-544(Since )-41(we )-41(check)]TJ --6.48 -1.2 Td -[(the )-101(condition )-101(in )-101(a)]TJ -/TT0 1 Tf -8.383 0 Td -(while)Tj -/T1_1 1 Tf -3.351 0 Td -[(loop, )-101(this )-101(doesn\325t )-101(pr)18(esent )-101(a )-101(pr)18(oblem; )-101(a )-101(thr)18(ead )-101(will )-101(wake )-101(up,)]TJ --11.734 -1.2 Td -[(\336nd )-137(that )-137(the )-137(queue )-137(is )-137(still )-137(empty)]TJ -0.3867 Tc 15.035 0 Td -(,a)Tj -0 Tc 1.137 0 Td -[(nd )-137(go )-137(back )-137(to )-137(waiting )-137(again.)-637(If )-137(the )-137(code )-137(couldn\325t)]TJ --16.172 -1.2 Td -[(tolerate this race, we would need to hold the mutex when we signal the t\ hr)18(eads.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1536.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47617 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(406)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -0 Tc 8.9995 0 0 8.9995 194.3883 670.2598 Tm -(return\(NULL\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(idx = HASH\(id\);)Tj -T* -(pthread_mutex_lock\(&hashlock\);)Tj -T* -(fp->f_next = fh[idx];)Tj -0 -1.189 TD -(fh[idx] = fp;)Tj -0 -1.189 TD -(pthread_mutex_lock\(&fp->f_lock\);)Tj -T* -(pthread_mutex_unlock\(&hashlock\);)Tj -T* -(/* ... continue initialization ... */)Tj -T* -(pthread_mutex_unlock\(&fp->f_lock\);)Tj --2.4 -1.189 Td -(})Tj -T* -(return\(fp\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(void)Tj -0 -1.189 TD -(foo_hold\(struct foo *fp\) /* add a reference to the object */)Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(pthread_mutex_lock\(&hashlock\);)Tj -T* -(fp->f_count++;)Tj -T* -(pthread_mutex_unlock\(&hashlock\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(struct foo *)Tj -0 -1.189 TD -(foo_find\(int id\) /* find an existing object */)Tj -T* -({)Tj -2.4 -1.189 Td -[(struct foo)-1200(*fp;)]TJ -0 -2.021 TD -(pthread_mutex_lock\(&hashlock\);)Tj -0 -1.189 TD -(for \(fp = fh[HASH\(id\)]; fp != NULL; fp = fp->f_next\) {)Tj -2.4 -1.189 Td -(if \(fp->f_id == id\) {)Tj -2.4 -1.189 Td -(fp->f_count++;)Tj -T* -(break;)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -T* -(pthread_mutex_unlock\(&hashlock\);)Tj -T* -(return\(fp\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(void)Tj -0 -1.189 TD -(foo_rele\(struct foo *fp\) /* release a reference to the object */)Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(struct foo)-1200(*tfp;)]TJ -0 -1.189 TD -[(int )-4800(idx;)]TJ -0 -2.021 TD -(pthread_mutex_lock\(&hashlock\);)Tj -0 -1.189 TD -(if \(--fp->f_count == 0\) { /* last reference, remove from list */)Tj -2.4 -1.189 Td -(idx = HASH\(fp->f_id\);)Tj -T* -(tfp = fh[idx];)Tj -T* -(if \(tfp == fp\) {)Tj -2.4 -1.189 Td -(fh[idx] = fp->f_next;)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(while \(tfp->f_next != fp\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47618 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(404)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -0 Tc 8.9995 0 0 8.9995 151.1909 670.2598 Tm -[(struct foo)-1200(*fp;)]TJ -0 -1.783 TD -(pthread_mutex_lock\(&hashlock\);)Tj -0 -1.189 TD -(for \(fp = fh[HASH\(id\)]; fp != NULL; fp = fp->f_next\) {)Tj -2.4 -1.189 Td -(if \(fp->f_id == id\) {)Tj -2.4 -1.189 Td -(foo_hold\(fp\);)Tj -T* -(break;)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -T* -(pthread_mutex_unlock\(&hashlock\);)Tj -0 -1.189 TD -(return\(fp\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(void)Tj -0 -1.189 TD -(foo_rele\(struct foo *fp\) /* release a reference to the object */)Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(struct foo)-1200(*tfp;)]TJ -0 -1.189 TD -[(int )-4800(idx;)]TJ -0 -1.783 TD -(pthread_mutex_lock\(&fp->f_lock\);)Tj -0 -1.189 TD -(if \(fp->f_count == 1\) { /* last reference */)Tj -2.4 -1.189 Td -(pthread_mutex_unlock\(&fp->f_lock\);)Tj -0 -1.189 TD -(pthread_mutex_lock\(&hashlock\);)Tj -T* -(pthread_mutex_lock\(&fp->f_lock\);)Tj -T* -(/* need to recheck the condition */)Tj -T* -(if \(fp->f_count != 1\) {)Tj -2.4 -1.189 Td -(fp->f_count--;)Tj -T* -(pthread_mutex_unlock\(&fp->f_lock\);)Tj -T* -(pthread_mutex_unlock\(&hashlock\);)Tj -0 -1.189 TD -(return;)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(/* remove from list */)Tj -T* -(idx = HASH\(fp->f_id\);)Tj -T* -(tfp = fh[idx];)Tj -T* -(if \(tfp == fp\) {)Tj -2.4 -1.189 Td -(fh[idx] = fp->f_next;)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(while \(tfp->f_next != fp\))Tj -2.4 -1.189 Td -(tfp = tfp->f_next;)Tj --2.4 -1.189 Td -(tfp->f_next = fp->f_next;)Tj --2.4 -1.189 Td -(})Tj -T* -(pthread_mutex_unlock\(&hashlock\);)Tj -T* -(pthread_mutex_unlock\(&fp->f_lock\);)Tj -T* -(pthread_mutex_destroy\(&fp->f_lock\);)Tj -T* -(free\(fp\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(fp->f_count--;)Tj -0 -1.189 TD -(pthread_mutex_unlock\(&fp->f_lock\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1572.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 265.3802 141.2321 Tm -[(Figure 1)37(1.1)37(1)]TJ -/T1_1 1 Tf -6.25 0 Td -(Using two mutexes)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47619 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.6 )]TJ -32.941 0 Td -[(Thr)18(ead )-250(Synchr)18(onization)]TJ -/T1_1 1 Tf -12.892 0 Td -(403)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(#define NHASH 29)Tj -0 -1.189 TD -(#define HASH\(id\) \(\(\(unsigned long\)id\)%NHASH\))Tj -0 -1.783 TD -(struct foo *fh[NHASH];)Tj -0 -1.783 TD -(pthread_mutex_t hashlock = PTHREAD_MUTEX_INITIALIZER;)Tj -0 -1.783 TD -(struct foo {)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -(f_count;)Tj --9.6 -1.189 Td -(pthread_mutex_t f_lock;)Tj -0 -1.189 TD -(int )Tj -9.6 0 Td -(f_id;)Tj --9.6 -1.189 Td -[(struct foo)-3000(*f_next; /* protected by hashlock */)]TJ -T* -(/* ... more stuff here ... */)Tj --2.4 -1.189 Td -(};)Tj -0 -1.783 TD -(struct foo *)Tj -0 -1.189 TD -(foo_alloc\(int id\) /* allocate the object */)Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(struct foo)-1200(*fp;)]TJ -0 -1.189 TD -[(int )-4800(idx;)]TJ -0 -1.783 TD -(if \(\(fp = malloc\(sizeof\(struct foo\)\)\) != NULL\) {)Tj -2.4 -1.189 Td -(fp->f_count = 1;)Tj -0 -1.189 TD -(fp->f_id = id;)Tj -0 -1.189 TD -(if \(pthread_mutex_init\(&fp->f_lock, NULL\) != 0\) {)Tj -2.4 -1.189 Td -(free\(fp\);)Tj -0 -1.189 TD -(return\(NULL\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(idx = HASH\(id\);)Tj -0 -1.189 TD -(pthread_mutex_lock\(&hashlock\);)Tj -0 -1.189 TD -(fp->f_next = fh[idx];)Tj -0 -1.189 TD -(fh[idx] = fp;)Tj -0 -1.189 TD -(pthread_mutex_lock\(&fp->f_lock\);)Tj -0 -1.189 TD -(pthread_mutex_unlock\(&hashlock\);)Tj -0 -1.189 TD -(/* ... continue initialization ... */)Tj -0 -1.189 TD -(pthread_mutex_unlock\(&fp->f_lock\);)Tj --2.4 -1.189 Td -(})Tj -T* -(return\(fp\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(void)Tj -0 -1.189 TD -(foo_hold\(struct foo *fp\) /* add a reference to the object */)Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(pthread_mutex_lock\(&fp->f_lock\);)Tj -0 -1.189 TD -(fp->f_count++;)Tj -0 -1.189 TD -(pthread_mutex_unlock\(&fp->f_lock\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(struct foo *)Tj -0 -1.189 TD -(foo_find\(int id\) /* find an existing object */)Tj -0 -1.189 TD -({)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47620 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.6 )]TJ -32.941 0 Td -[(Thr)18(ead )-250(Synchr)18(onization)]TJ -/T1_1 1 Tf -12.892 0 Td -(401)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(struct foo {)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -(f_count;)Tj --9.6 -1.189 Td -(pthread_mutex_t f_lock;)Tj -0 -1.189 TD -(int )Tj -9.6 0 Td -(f_id;)Tj --9.6 -1.189 Td -(/* ... more stuff here ... */)Tj --2.4 -1.189 Td -(};)Tj -0 -1.783 TD -(struct foo *)Tj -0 -1.189 TD -(foo_alloc\(int id\) /* allocate the object */)Tj -T* -({)Tj -2.4 -1.189 Td -(struct foo *fp;)Tj -0 -1.783 TD -(if \(\(fp = malloc\(sizeof\(struct foo\)\)\) != NULL\) {)Tj -2.4 -1.189 Td -(fp->f_count = 1;)Tj -0 -1.189 TD -(fp->f_id = id;)Tj -0 -1.189 TD -(if \(pthread_mutex_init\(&fp->f_lock, NULL\) != 0\) {)Tj -2.4 -1.189 Td -(free\(fp\);)Tj -0 -1.189 TD -(return\(NULL\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(/* ... continue initialization ... */)Tj --2.4 -1.189 Td -(})Tj -T* -(return\(fp\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(void)Tj -0 -1.189 TD -(foo_hold\(struct foo *fp\) /* add a reference to the object */)Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(pthread_mutex_lock\(&fp->f_lock\);)Tj -0 -1.189 TD -(fp->f_count++;)Tj -0 -1.189 TD -(pthread_mutex_unlock\(&fp->f_lock\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(void)Tj -0 -1.189 TD -(foo_rele\(struct foo *fp\) /* release a reference to the object */)Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(pthread_mutex_lock\(&fp->f_lock\);)Tj -T* -(if \(--fp->f_count == 0\) { /* last reference */)Tj -2.4 -1.189 Td -(pthread_mutex_unlock\(&fp->f_lock\);)Tj -0 -1.189 TD -(pthread_mutex_destroy\(&fp->f_lock\);)Tj -0 -1.189 TD -(free\(fp\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(pthread_mutex_unlock\(&fp->f_lock\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1892.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 227.3127 173.2272 Tm -[(Figure 1)37(1.10)]TJ -/T1_0 1 Tf -6.25 0 Td -[(Using a mutex to pr)18(otect a data str)8(uctur)18(e)]TJ --0.092 Tc 9.9988 0 0 9.9988 147.5823 149.2301 Tm -[(We )-484(l)]TJ -0 Tc 2.228 0 Td -[(ock )-300(the )-300(mutex )-300(befor)]TJ -0.55 Tc 9.678 0 Td -(ei)Tj -0 Tc 1.32 0 Td -[(ncr)18(ementing )-300(the )-300(r)18(efer)18(ence )-300(count, )-300(decr)18(ementing )-300(the)]TJ --0.018 Tc -15.026 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(ence )-79(count, )-79(and )-79(checking )-79(whether )-79(the )-79(r)15(efer)18(ence )-79(count )-79(r)18(eaches )-79(zer)17(o. )-329(No)-330(locking )-79(is)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47621 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(940)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 160.2404 670.2598 Tm -(int)Tj -0 -1.189 TD -(clrasync\(int sockfd\))Tj -T* -({)Tj -2.4 -1.189 Td -(int n;)Tj -0.6 Tc 0 -2.021 TD -(n=0)Tj -0 Tc 3 0 Td -(;)Tj --3 -1.189 Td -(if \(ioctl\(sockfd, FIOASYNC, &n\) < 0\))Tj -2.4 -1.189 Td -(return\(-1\);)Tj --2.4 -1.189 Td -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 5724.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 5724.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 237.1165 556.3422 Tm -(Figure C.23)Tj -/T1_1 1 Tf -5.917 0 Td -[(Enable and disable asynchr)18(onous socket I/O)]TJ -/TT1 1 Tf -9.9988 0 0 9.9988 93.5887 520.3466 Tm -[(Chapter )-278(17)]TJ -/T1_0 1 Tf -3.6 -2.8 Td -(17.1)Tj -/T1_1 1 Tf -3.065 0 Td -[(Regular )-163(pipes )-163(pr)18(ovide )-163(a )-163(byte )-163(str)18(eam )-163(interface.)]TJ --0.092 Tc 21.984 0 Td -[(To )-347(d)]TJ -0 Tc 2.091 0 Td -[(etect )-163(message )-163(boundaries,)]TJ --24.075 -1.2 Td -[(we\325d )-81(have )-81(to )-81(add )-81(a )-81(header )-81(to )-81(each )-81(message )-81(to )-81(indicate )-81(the )-81(length.)-581(But )-81(this )-81(still)]TJ -0 -1.2 TD -[(involves )-8(two )-8(extra )-8(copy )-8(operations: )-8(one )-8(to )-8(write )-8(to )-8(the )-8(pipe )-8(and )-8(one )-8(to )-8(r)18(ead )-8(fr)18(om)]TJ -T* -[(the )-134(pipe.)]TJ -0.3836 Tc 4.626 0 Td -(Am)Tj -0 Tc 2.045 0 Td -(or)Tj -0.3836 Tc 0.923 0 Td -(ee)Tj --0.018 Tc 1.342 0 Td -(f\336)Tj -0 Tc 0.92 0 Td -[(cient )-134(appr)18(oach )-134(is )-134(to )-134(use )-134(the )-134(pipe )-134(only )-134(to )-134(signal )-134(the )-134(main)]TJ --9.855 -1.2 Td -[(thr)18(ead )-296(that )-296(a )-296(new )-296(message )-296(is )-296(available.)]TJ --0.092 Tc 19.758 0 Td -[(We )-480(c)]TJ -0 Tc 2.377 0 Td -[(an )-296(use )-296(a )-296(single )-296(byte )-296(for )-296(this)]TJ --22.135 -1.2 Td -[(purpose. )-466(W)55(ith )-216(this )-216(appr)18(oach, )-216(we )-216(need )-216(to )-216(move )-216(the)]TJ -/TT0 1 Tf -24.709 0 Td -(mymesg)Tj -/T1_1 1 Tf -4.066 0 Td -[(str)8(uctur)18(e)-466(to)-466(the)]TJ -/TT0 1 Tf --28.775 -1.2 Td -(threadinfo)Tj -/T1_1 1 Tf -6.317 0 Td -[(str)8(uctur)]TJ -0.3172 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.296 0 Td -[(nd )-67(use )-67(a )-67(mutex )-67(and )-67(a )-67(condition )-67(variable )-67(to )-67(pr)16(event )-67(the)]TJ --11.103 -1.2 Td -[(helper )-107(thr)18(ead )-107(fr)18(om )-107(r)18(eusing )-107(the)]TJ -/TT0 1 Tf -14.324 0 Td -(mymesg)Tj -/T1_1 1 Tf -3.957 0 Td -[(str)8(uctur)]TJ -0.3568 Tc 3.49 0 Td -(eu)Tj -0 Tc 1.439 0 Td -[(ntil )-107(the )-107(main )-107(thr)18(ead )-107(is )-107(done)]TJ --23.21 -1.2 Td -[(with it.)-500(The solution is shown in Figur)]TJ -0.25 Tc 17.122 0 Td -(eC)Tj -0 Tc 1.438 0 Td -(.24.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 3892.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 3892.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 160.2212 379.6397 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -2.14 TD -(#define NQ)Tj -4.2 Tc 9.6 0 Td -(3/)Tj -0.6 Tc 5.4 0 Td -(*n)Tj -0 Tc 1.8 0 Td -(umber of queues */)Tj --16.8 -1.189 Td -[(#define MAXMSZ)-1200(512 )-2400(/*)-600(maximum message size */)]TJ -0 -1.189 TD -[(#define KEY)-3000(0x123 )-1200(/*)-600(key for first message queue */)]TJ -0 -2.14 TD -(struct mymesg {)Tj -2.4 -1.189 Td -[(long )-4200(mtype;)]TJ -0 -1.189 TD -[(char )-4200(mtext[MAXMSZ+1];)]TJ --2.4 -1.189 Td -(};)Tj -0 -2.14 TD -(struct threadinfo {)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -(qid;)Tj --9.6 -1.189 Td -(int )Tj -9.6 0 Td -(fd;)Tj --9.6 -1.189 Td -(int )Tj -9.6 0 Td -(len;)Tj --9.6 -1.189 Td -(pthread_mutex_t mutex;)Tj -0 -1.189 TD -[(pthread_cond_t )-600(ready;)]TJ -T* -[(struct mymesg)-1800(m;)]TJ --2.4 -1.189 Td -(};)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47622 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.9)]TJ -35.154 0 Td -[(Thr)18(eads )-250(and)]TJ -/TT0 1 Tf -6.279 0 Td -(fork)Tj -/T1_1 1 Tf -4.4 0 Td -(459)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(3. )-633(A)-250(child pr)18(ocess is cr)18(eated.)]TJ -0 -1.6 TD -[(4. )-633(The)]TJ -/T1_2 1 Tf -3.595 0 Td -(child)Tj -/T1_0 1 Tf -2.251 0 Td -[(fork )-38(handler )-38(fr)18(om )-38(module )-38(B )-38(is )-38(called )-38(to )-38(r)18(elease )-38(all )-38(of )-38(module )-38(B\325s )-38(locks)]TJ --4.213 -1.2 Td -[(in the child pr)18(ocess.)]TJ --1.633 -1.6 Td -[(5. )-633(The)]TJ -/T1_2 1 Tf -3.578 0 Td -(child)Tj -/T1_0 1 Tf -2.234 0 Td -[(fork )-20(handler )-20(fr)18(om )-20(module )-20(A )-20(is )-20(called )-20(to )-20(r)14(elease )-20(all )-20(of )-20(module )-20(A)74(\325s )-20(locks)]TJ --4.178 -1.2 Td -[(in the child pr)18(ocess.)]TJ --1.633 -1.6 Td -[(6. )-633(The)]TJ -/TT0 1 Tf -3.557 0 Td -(fork)Tj -/T1_0 1 Tf -2.65 0 Td -[(function r)18(eturns to the child.)]TJ --6.207 -1.6 Td -[(7. )-633(The)]TJ -/T1_2 1 Tf -3.732 0 Td -[(par)18(ent)]TJ -/T1_0 1 Tf -3.018 0 Td -[(fork )-175(handler )-175(fr)18(om )-175(module )-175(B )-175(is )-175(called )-175(to )-175(r)18(elease )-175(all )-175(of )-175(module )-175(B\325s)]TJ --5.117 -1.2 Td -[(locks in the par)18(ent pr)18(ocess.)]TJ --1.633 -1.6 Td -[(8. )-633(The)]TJ -/T1_2 1 Tf -3.713 0 Td -[(par)18(ent)]TJ -/T1_0 1 Tf -2.999 0 Td -[(fork )-156(handler )-156(fr)18(om )-156(module )-156(A )-156(is )-156(called )-156(to )-156(r)18(elease )-156(all )-156(of )-156(module )-156(A)70(\325s)]TJ --5.08 -1.2 Td -[(locks in the par)18(ent pr)18(ocess.)]TJ --1.633 -1.6 Td -[(9. )-633(The)]TJ -/TT0 1 Tf -3.557 0 Td -(fork)Tj -/T1_0 1 Tf -2.65 0 Td -[(function r)18(eturns to the par)18(ent.)]TJ --6.207 -1.8 Td -[(If )-170(the )-170(fork )-170(handlers )-170(serve )-170(to )-170(clean )-170(up )-170(the )-170(lock )-170(state, )-170(what )-170(cleans )-170(up )-170(the )-170(state )-170(of)]TJ --1.8 -1.2 Td -[(condition )-6(variables?)-506(On )-6(some )-6(implementations, )-6(condition )-6(variables )-6(might )-6(not )-6(need )-6(any)]TJ -0 -1.2 TD -[(cleaning )-592(up.)-1093(However)74(,)-842(an)-842(i)-1(mplementation )-592(that )-592(uses )-592(a )-592(lock )-592(as )-592(part )-592(of )-592(the)]TJ -0 -1.2 Td -[(implementation )-47(of )-47(condition )-47(variables )-47(will )-47(r)19(equir)]TJ -0.2968 Tc 22.034 0 Td -(ec)Tj -0 Tc 1.22 0 Td -[(leaning )-47(up.)-547(The )-47(pr)18(oblem )-47(is )-47(that )-47(no)]TJ --23.254 -1.2 Td -[(interface )-52(exists )-52(to )-52(allow )-52(us )-52(to )-52(do )-52(this.)-550(If )-52(the )-52(lock )-52(is )-52(embedded )-52(in )-52(the )-52(condition )-52(variable)]TJ -T* -[(data )-29(str)8(uctur)18(e, )-29(then )-29(we )-29(can\325t )-29(use )-29(condition )-29(variables )-29(after )-29(calling)]TJ -/TT0 1 Tf -29.072 0 Td -(fork)Tj -/T1_0 1 Tf -0.2793 Tc (,b)Tj -0 Tc 3.482 0 Td -[(ecause )-29(ther)]TJ -0.2793 Tc 4.972 0 Td -(ei)Tj -0 Tc 1.049 0 Td -(s)Tj --38.576 -1.2 Td -[(no )-95(portable )-95(way )-95(to )-95(clean )-95(up )-95(its )-95(state.)-594(On )-95(the )-95(other )-95(hand, )-95(if )-95(an )-95(implementation )-95(uses )-95(a)]TJ -T* -[(global )-287(lock )-287(to )-287(pr)19(otect )-287(all )-287(condition )-287(variable )-287(data )-287(str)10(uctur)18(es )-287(in )-287(a )-287(pr)18(ocess, )-287(then )-287(the)]TJ -0 -1.2 Td -[(implementation )-162(itself )-162(can )-162(clean )-162(up )-162(the )-162(lock )-162(in )-162(the)]TJ -/TT0 1 Tf -23.426 0 Td -(fork)Tj -/T1_0 1 Tf -2.813 0 Td -[(library )-162(r)18(outine. )-412(Application)]TJ --26.239 -1.2 Td -[(pr)18(ograms shouldn\325t r)18(ely on implementation details like this, however)74(.)]TJ -/TT1 1 Tf --3.6 -2.88 Td -(Example)Tj -/T1_0 1 Tf -3.6 -1.92 Td -[(The )-27(pr)18(ogram )-27(in )-27(Figur)]TJ -0.277 Tc 9.619 0 Td -(e1)Tj -0 Tc 1.256 0 Td -[(2.17 )-27(illustrates )-27(the )-27(use )-27(of)]TJ -/TT0 1 Tf -11.257 0 Td -(pthread_atfork)Tj -/T1_0 1 Tf -8.677 0 Td -[(and )-27(fork )-27(handlers.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3438.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 334.2589 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(pthread_mutex_t lock1 = PTHREAD_MUTEX_INITIALIZER;)Tj -0 -1.189 TD -(pthread_mutex_t lock2 = PTHREAD_MUTEX_INITIALIZER;)Tj -0 -1.902 TD -(void)Tj -0 -1.189 TD -(prepare\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(int err;)Tj -0 -1.902 TD -(printf\("preparing locks...\\n"\);)Tj -0 -1.189 TD -(if \(\(err = pthread_mutex_lock\(&lock1\)\) != 0\))Tj -2.4 -1.189 Td -(err_cont\(err, "can\325t lock lock1 in prepare handler"\);)Tj --2.4 -1.189 Td -(if \(\(err = pthread_mutex_lock\(&lock2\)\) != 0\))Tj -2.4 -1.189 Td -(err_cont\(err, "can\325t lock lock2 in prepare handler"\);)Tj --4.8 -1.189 Td -(})Tj -0 -1.902 TD -(void)Tj -0 -1.189 TD -(parent\(void\))Tj -T* -({)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47623 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.6 )]TJ -32.941 0 Td -[(Thr)18(ead )-250(Synchr)18(onization)]TJ -/T1_1 1 Tf -12.892 0 Td -(405)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Comparing )-70(Figur)]TJ -0.3196 Tc 7.766 0 Td -(e1)Tj -0 Tc 1.244 0 Td -(1.1)Tj -0.3196 Tc 1.195 0 Td -(1w)Tj -0 Tc 1.654 0 Td -[(ith )-70(Figur)]TJ -0.3197 Tc 3.902 0 Td -(e1)Tj -0 Tc 1.244 0 Td -[(1.10, )-70(we )-70(see )-70(that )-70(our )-70(allocation )-70(function )-70(now)]TJ --18.803 -1.2 Td -[(locks )-74(the )-74(hash )-74(list )-74(lock, )-74(adds )-74(the )-74(new )-74(str)5(uctur)18(e)-324(to)-324(a)-324(h)-1(ash )-74(bucket, )-74(and )-74(befor)]TJ -0.3244 Tc 33.746 0 Td -(eu)Tj -0 Tc 1.406 0 Td -(nlocking)Tj --35.152 -1.2 Td -[(the )-199(hash )-199(list )-199(lock, )-199(locks )-199(the )-199(mutex )-199(in )-199(the )-199(new )-199(str)5(uctur)18(e. )-449(Since)-450(the )-199(new )-199(str)7(uctur)]TJ -0.4494 Tc 37.357 0 Td -(ei)Tj -0 Tc 1.219 0 Td -(s)Tj --38.576 -1.2 Td -[(placed )-46(on )-46(a )-46(global )-46(list, )-46(other )-46(thr)17(eads )-46(can )-46(\336nd )-46(it, )-46(so )-46(we )-46(need )-46(to )-46(block )-46(them )-46(if )-46(they )-46(try )-46(to)]TJ -0 -1.2 TD -[(access the new str)8(uctur)18(e, until we ar)]TJ -0.25 Tc 15.999 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(one initializing it.)Tj --15.539 -1.2 Td -(The)Tj -/TT0 1 Tf -2.15 0 Td -(foo_find)Tj -/T1_0 1 Tf -5.276 0 Td -[(function )-226(locks )-226(the )-226(hash )-226(list )-226(lock )-226(and )-226(sear)18(ches )-226(for )-226(the )-226(r)17(equested)]TJ --9.226 -1.2 Td -[(str)8(uctur)18(e. )-424(If)-425(it )-174(is )-174(found, )-174(we )-174(incr)18(ease )-174(the )-174(r)16(efer)18(ence )-174(count )-174(and )-174(r)17(eturn )-174(a )-174(pointer )-174(to )-174(the)]TJ -0 -1.2 Td -[(str)8(uctur)18(e. )-550(Note)-550(that )-300(we )-300(honor )-300(the )-300(lock )-300(or)19(dering )-300(by )-300(locking )-300(the )-300(hash )-300(list )-300(lock )-300(in)]TJ -/TT0 1 Tf --0 -1.2 Td -(foo_find)Tj -/T1_0 1 Tf -5.05 0 Td -[(befor)18(e)]TJ -/TT0 1 Tf -3.017 0 Td -(foo_hold)Tj -/T1_0 1 Tf -5.05 0 Td -(locks the)Tj -/TT0 1 Tf -4.148 0 Td -(foo)Tj -/T1_0 1 Tf -2.05 0 Td -[(str)8(uctur)18(e\325s)]TJ -/TT0 1 Tf -4.921 0 Td -(f_lock)Tj -/T1_0 1 Tf -3.85 0 Td -(mutex.)Tj --26.286 -1.2 Td -[(Now )-35(with )-35(two )-35(locks, )-35(the)]TJ -/TT0 1 Tf -11.274 0 Td -(foo_rele)Tj -/T1_0 1 Tf -5.085 0 Td -[(function )-35(is )-35(mor)]TJ -0.2852 Tc 6.798 0 Td -(ec)Tj -0 Tc 1.208 0 Td -[(omplicated. )-285(If)-285(this )-35(is )-35(the )-35(last)]TJ --0.018 Tc -26.166 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(ence, )-123(we )-123(need )-123(to )-123(unlock )-123(the )-123(str)8(uctur)]TJ -0.3731 Tc 17.896 0 Td -(em)Tj -0 Tc 1.735 0 Td -[(utex )-123(so )-123(that )-123(we )-123(can )-123(acquir)]TJ -0.3731 Tc 12.108 0 Td -(et)Tj -0 Tc 1.178 0 Td -[(he )-123(hash )-123(list)]TJ --33.773 -1.2 Td -[(lock, )-37(since )-37(we\325ll )-37(need )-37(to )-37(r)18(emove )-37(the )-37(str)10(uctur)]TJ -0.2867 Tc 19.716 0 Td -(ef)Tj --0.018 Tc 1.099 0 Td -(ro)Tj -0.2867 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.496 0 Td -[(he )-37(hash )-37(list.)-536(Then )-37(we )-37(r)19(eacquir)]TJ -0.2866 Tc 13.614 0 Td -(et)Tj -0 Tc 1.092 0 Td -(he)Tj --37.939 -1.2 Td -[(str)8(uctur)]TJ -0.5369 Tc 3.49 0 Td -(em)Tj -0 Tc 1.899 0 Td -[(utex. )-537(Because)-537(we )-287(could )-287(have )-287(blocked )-287(since )-287(the )-287(last )-287(time )-287(we )-287(held )-287(the)]TJ --5.389 -1.2 Td -[(str)8(uctur)]TJ -0.3409 Tc 3.49 0 Td -(em)Tj -0 Tc 1.703 0 Td -[(utex, )-91(we )-91(need )-91(to )-91(r)18(echeck )-91(the )-91(condition )-91(to )-91(see )-91(whether )-91(we )-91(still )-91(need )-91(to )-91(fr)19(ee)]TJ --5.193 -1.2 Td -[(the )-6(str)8(uctur)18(e. )-256(If)-257(another )-6(thr)18(ead )-6(found )-6(the )-6(str)7(uctur)]TJ -0.2563 Tc 22.157 0 Td -(ea)Tj -0 Tc 1.235 0 Td -[(nd )-6(added )-6(a )-6(r)17(efer)18(ence )-6(to )-6(it )-6(while )-6(we)]TJ --23.392 -1.2 Td -[(blocked )-94(to )-94(honor )-94(the )-94(lock )-94(or)18(dering, )-94(we )-94(simply )-94(need )-94(to )-94(decr)18(ement )-94(the )-94(r)13(efer)18(ence )-94(count,)]TJ -0 -1.2 Td -[(unlock everything, and r)18(eturn.)]TJ -1.8 -1.2 Td -[(This )-1(locking )-1(appr)18(oach )-1(is )-1(complex, )-1(so )-1(we )-1(need )-1(to )-1(r)15(evisit )-1(our )-1(design.)]TJ --0.092 Tc 30.114 0 Td -[(We )-185(c)]TJ -0 Tc 2.082 0 Td -[(an )-1(simplify)]TJ --33.996 -1.2 Td -[(things )-77(considerably )-77(by )-77(using )-77(the )-77(hash )-77(list )-77(lock )-77(to )-77(pr)18(otect )-77(the )-77(str)8(uctur)]TJ -0.327 Tc 31.087 0 Td -(er)Tj -0 Tc 1.183 0 Td -[(efer)18(ence )-77(count,)]TJ --32.27 -1.2 Td -[(too. )-373(The)-373(str)8(uctur)]TJ -0.373 Tc 7.828 0 Td -(em)Tj -0 Tc 1.735 0 Td -[(utex )-123(can )-123(be )-123(used )-123(to )-123(pr)18(otect )-123(everything )-123(else )-123(in )-123(the)]TJ -/TT0 1 Tf -23.045 0 Td -(foo)Tj -/T1_0 1 Tf -2.173 0 Td -[(str)8(uctur)18(e.)]TJ --34.781 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.174 0 Td -[(1.12 r)18(e\337ects this change.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4158.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 406.2502 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(#define NHASH 29)Tj -0 -1.189 TD -(#define HASH\(id\) \(\(\(unsigned long\)id\)%NHASH\))Tj -0 -2.021 TD -(struct foo *fh[NHASH];)Tj -0 -1.189 TD -(pthread_mutex_t hashlock = PTHREAD_MUTEX_INITIALIZER;)Tj -0 -2.021 TD -(struct foo {)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -[(f_count;)-600(/* protected by hashlock */)]TJ --9.6 -1.189 Td -(pthread_mutex_t f_lock;)Tj -0 -1.189 TD -(int )Tj -9.6 0 Td -(f_id;)Tj --9.6 -1.189 Td -[(struct foo)-3000(*f_next; /* protected by hashlock */)]TJ -T* -(/* ... more stuff here ... */)Tj --2.4 -1.189 Td -(};)Tj -0 -2.021 TD -(struct foo *)Tj -0 -1.189 TD -(foo_alloc\(int id\) /* allocate the object */)Tj -T* -({)Tj -2.4 -1.189 Td -[(struct foo)-1200(*fp;)]TJ -T* -[(int )-4800(idx;)]TJ -0 -2.021 TD -(if \(\(fp = malloc\(sizeof\(struct foo\)\)\) != NULL\) {)Tj -2.4 -1.189 Td -(fp->f_count = 1;)Tj -0 -1.189 TD -(fp->f_id = id;)Tj -T* -(if \(pthread_mutex_init\(&fp->f_lock, NULL\) != 0\) {)Tj -2.4 -1.189 Td -(free\(fp\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47624 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.4)]TJ -31.602 0 Td -[(Synchr)18(onization )-250(Attributes)]TJ -/T1_1 1 Tf -14.231 0 Td -(433)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -2.14 TD -(int pthread_mutex_consistent\(pthread_mutex_t *)Tj -/T1_2 1 Tf -28.2 0 Td -(mutex)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --6.919 -2.14 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6153.25 cm -0 0 m -0 520 l -3900 520 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 599.3081 Tm -[(If )-143(a )-143(thr)18(ead )-143(unlocks )-143(a )-143(mutex )-143(without )-143(\336rst )-143(calling)]TJ -/TT0 1 Tf -22.55 0 Td -(pthread_mutex_consistent)Tj -/T1_0 1 Tf -(,)Tj --24.35 -1.2 Td -[(then )-182(other )-182(thr)18(eads )-182(that )-182(ar)]TJ -0.4322 Tc 11.936 0 Td -(eb)Tj -0 Tc 1.464 0 Td -[(locked )-182(while )-182(trying )-182(to )-182(acquir)]TJ -0.4321 Tc 13.485 0 Td -(et)Tj -0 Tc 1.237 0 Td -[(he )-182(mutex )-182(will )-182(see )-182(err)18(or)]TJ --0.018 Tc -28.122 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-227(of)]TJ -/TT0 1 Tf -4.162 0 Td -(ENOTRECOVERABLE)Tj -/T1_0 1 Tf -0.7266 Tc (.I)Tj -0.4766 Tc 10.314 0 Td -(ft)Tj -0 Tc 1.136 0 Td -[(his )-227(happens, )-227(the )-227(mutex )-227(is )-227(no )-227(longer )-227(usable.)-725(By)]TJ --16.467 -1.2 Td -(calling)Tj -/TT0 1 Tf -3.583 0 Td -(pthread_mutex_consistent)Tj -/T1_0 1 Tf -15.028 0 Td -[(befor)18(ehand, )-378(a )-378(thr)17(ead )-378(allows )-378(the )-378(mutex )-378(to)]TJ --18.612 -1.2 Td -[(behave normally)111(,)-250(so)-250(it)-250(can continue to be used.)]TJ -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.992 0 Td -(type)Tj -/T1_0 1 Tf -2.04 0 Td -[(mutex )-68(attribute )-68(contr)17(ols )-68(the )-68(locking )-68(characteristics )-68(of )-68(the )-68(mutex.)-571(POSIX.1)]TJ --5.833 -1.2 Td -(de\336nes four types:)Tj -/TT0 1 Tf -1.8 -1.84 Td -(PTHREAD_MUTEX_NORMAL)Tj -/T1_0 1 Tf -0.7068 Tc 15 0 Td -(As)Tj -0 Tc 1.909 0 Td -(tandar)Tj -0.7067 Tc 2.896 0 Td -(dm)Tj -0 Tc 2.201 0 Td -[(utex )-457(type )-457(that )-457(doesn\325t )-457(do )-457(any)]TJ --7.005 -1.2 Td -[(special err)18(or checking or deadlock detection.)]TJ -/TT0 1 Tf --15 -1.84 Td -(PTHREAD_MUTEX_ERRORCHECK)Tj -/T1_0 1 Tf -0.25 Tc 15 0 Td -(Am)Tj -0 Tc 1.911 0 Td -[(utex type that pr)18(ovides err)18(or checking.)]TJ -/TT0 1 Tf --16.911 -1.84 Td -(PTHREAD_MUTEX_RECURSIVE)Tj -/T1_0 1 Tf -0.3084 Tc 15 0 Td -(Am)Tj -0 Tc 1.969 0 Td -[(utex )-58(type )-58(that )-58(allows )-58(the )-58(same )-58(thr)16(ead )-58(to )-58(lock)]TJ --1.969 -1.2 Td -[(it )-294(multiple )-294(times )-294(without )-294(\336rst )-294(unlocking )-294(it.)-797(A)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(cursive )-111(mutex )-111(maintains )-111(a )-111(lock )-111(count )-111(and )-111(isn\325t)]TJ --0.018 Tc -0.856 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(leased )-122(until )-122(it )-122(is )-122(unlocked )-122(the )-122(same )-122(number )-122(of)]TJ --0.856 -1.2 Td -[(times )-177(it )-177(is )-177(locked.)-677(Thus, )-177(if )-177(you )-177(lock )-177(a )-177(r)18(ecursive)]TJ -T* -[(mutex )-503(twice )-503(and )-503(then )-503(unlock )-503(it, )-503(the )-503(mutex)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(mains )-48(locked )-48(until )-48(it )-48(is )-48(unlocked )-48(a )-48(second )-48(time.)]TJ -/TT0 1 Tf --15.856 -1.84 Td -(PTHREAD_MUTEX_DEFAULT)Tj -/T1_0 1 Tf -0.565 Tc 15 0 Td -(Am)Tj -0 Tc 2.226 0 Td -[(utex )-315(type )-315(pr)18(oviding )-315(default )-315(characteristics)]TJ --2.226 -1.2 Td -[(and )-56(behavior)]TJ -0.5561 Tc 5.836 0 Td -(.I)Tj -0 Tc 1.143 0 Td -[(mplementations )-56(ar)]TJ -0.3061 Tc 8.376 0 Td -(ef)Tj --0.018 Tc 1.118 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(e)-306(to)-306(map )-56(it)]TJ --17.329 -1.2 Td -[(to )-242(one )-242(of )-242(the )-242(other )-242(mutex )-242(types.)-744(For )-242(example,)]TJ -T* -[(Linux )-168(3.2.0 )-168(maps )-168(this )-168(type )-168(to )-168(the )-168(normal )-168(mutex)]TJ -T* -[(type, )-184(wher)18(eas )-184(Fr)18(eeBSD )-184(8.0 )-184(maps )-184(it )-184(to )-184(the )-184(err)19(or)18(-)]TJ -T* -(checking type.)Tj --15 -2.4 Td -[(The )-131(behavior )-131(of )-131(the )-131(four )-131(types )-131(is )-131(summarized )-131(in )-131(Figur)]TJ -0.3808 Tc 25.081 0 Td -(e1)Tj -0 Tc 1.36 0 Td -[(2.5. )-381(The)]TJ --0.037 Tc 4.186 0 Td -(\324\324)Tj -0 Tc 0.519 0 Td -[(Unlock )-131(when)]TJ --32.946 -1.2 Td -[(not )-250(owned\325)]TJ -0.5 Tc 5.247 0 Td -(\325c)Tj -0 Tc 1.222 0 Td -[(olumn )-250(r)18(efers )-250(to )-250(one )-250(thr)18(ead )-250(unlocking )-250(a )-250(mutex )-250(that )-250(was )-250(locked )-250(by )-250(a)]TJ --6.469 -1.2 Td -[(dif)18(fer)18(ent )-53(thr)18(ead. )-303(The)]TJ --0.037 Tc 9.751 0 Td -(\324\324)Tj -0 Tc 0.519 0 Td -[(Unlock )-53(when )-53(unlocked\325)]TJ -0.3032 Tc 10.633 0 Td -(\325c)Tj -0 Tc 1.025 0 Td -[(olumn )-53(r)18(efers )-53(to )-53(what )-53(happens )-53(when )-53(a)]TJ --21.929 -1.2 Td -[(thr)18(ead unlocks a mutex that is alr)18(eady unlocked, which usually is a coding mistake.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1224.25 2298.25 cm -0 0 m -3957 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 163.6425 221.7401 Tm -(Mutex type)Tj -10.241 0 Td -[(Relock without unlock?)-500(Unlock when not owned?)-500(Unlock when unlocked?)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1224.25 2178.25 cm -0 0 m -3957 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1224.25 2158.25 cm -0 0 m -3957 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 126.3697 207.7301 Tm -(PTHREAD_MUTEX_NORMAL)Tj -/T1_0 1 Tf -18.11 0 Td -(deadlock )Tj -11.159 0 Td -(unde\336ned)Tj -11.552 0 Td -(unde\336ned)Tj -/TT0 1 Tf --40.821 -1.25 Td -(PTHREAD_MUTEX_ERRORCHECK)Tj -/T1_0 1 Tf --0.018 Tc 17.315 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns err)18(or )]TJ -10.56 0 Td -[(r)18(eturns err)18(or )]TJ -11.552 0 Td -[(r)18(eturns err)18(or)]TJ -/TT0 1 Tf --40.283 -1.25 Td -(PTHREAD_MUTEX_RECURSIVE)Tj -/T1_0 1 Tf -18.353 0 Td -(allowed )Tj -10.378 0 Td -[(r)18(eturns err)18(or )]TJ -11.552 0 Td -[(r)18(eturns err)18(or)]TJ -/TT0 1 Tf --40.283 -1.25 Td -(PTHREAD_MUTEX_DEFAULT)Tj -/T1_0 1 Tf -17.853 0 Td -(unde\336ned )Tj -11.416 0 Td -(unde\336ned)Tj -11.552 0 Td -(unde\336ned)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1224.25 1738.25 cm -0 0 m -3957 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4262.25 1738.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3312.25 1738.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2436.25 1738.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5181.25 1738.25 cm -0 0 m -0 560 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1224.25 1738.25 cm -0 0 m -0 560 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 264.7686 155.7333 Tm -(Figure 12.5)Tj -/T1_0 1 Tf -5.695 0 Td -(Mutex type behavior)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47625 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(978)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(pthread_attr_setstacksize)Tj -/T1_1 1 Tf -15.417 0 Td -(function,)Tj --12.717 -1.25 Td -(429)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(430)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(430)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_attr_t)Tj -/T1_1 1 Tf -8.817 0 Td -[(data type,)-500(427)]TJ -6.482 0.09 Td -(\320)Tj -0.583 -0.09 Td -(428, 430, 451)Tj -/TT0 1 Tf --15.882 -1.25 Td -(pthread_barrierattr_destroy)Tj -/T1_1 1 Tf -16.617 0 Td -[(function, )-250(441)]TJ --15.267 -1.25 Td -[(de\336nition of,)-500(441)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_barrierattr_getpshared)Tj -/T1_1 1 Tf -18.417 0 Td -(function,)Tj --15.717 -1.25 Td -(441)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(441)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_barrierattr_init)Tj -/T1_1 1 Tf -14.817 0 Td -[(function, )-250(441)]TJ --13.467 -1.25 Td -[(de\336nition of,)-500(441)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_barrierattr_setpshared)Tj -/T1_1 1 Tf -18.417 0 Td -(function,)Tj --15.717 -1.25 Td -(441)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(441)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_barrier_destroy)Tj -/T1_1 1 Tf -14.217 0 Td -[(function, )-250(418)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(419)Tj --19.49 -1.25 Td -[(de\336nition of,)-500(418)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_barrier_init)Tj -/T1_1 1 Tf -12.417 0 Td -[(function, )-250(418)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(419, 421)Tj --17.69 -1.25 Td -[(de\336nition of,)-500(418)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(PTHREAD_BARRIER_SERIAL_THREAD)Tj -/T1_1 1 Tf -17.817 0 Td -(constant,)Tj --15.117 -1.25 Td -(419, 422)Tj -/TT0 1 Tf --2.7 -1.25 Td -(pthread_barrier_t)Tj -/T1_1 1 Tf -10.617 0 Td -[(data type,)-500(419)]TJ -/TT0 1 Tf --10.617 -1.25 Td -(pthread_barrier_wait)Tj -/T1_1 1 Tf -12.417 0 Td -[(function, )-250(419)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(423)Tj --17.69 -1.25 Td -[(de\336nition of,)-500(419)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_cancel)Tj -/T1_1 1 Tf -8.817 0 Td -[(function, )-250(393,)-250(451, 453, 828)]TJ --7.467 -1.25 Td -[(de\336nition of,)-500(393)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(PTHREAD_CANCEL_ASYNCHRONOUS)Tj -/T1_1 1 Tf -16.617 0 Td -[(constant, )-250(453)]TJ -/TT0 1 Tf --16.617 -1.25 Td -(PTHREAD_CANCEL_DEFERRED)Tj -/T1_1 1 Tf -14.217 0 Td -[(constant, )-250(453)]TJ -/TT0 1 Tf --14.217 -1.25 Td -(PTHREAD_CANCEL_DISABLE)Tj -/T1_1 1 Tf -13.617 0 Td -[(constant, )-250(451)]TJ -/TT0 1 Tf --13.617 -1.25 Td -(PTHREAD_CANCELED)Tj -/T1_1 1 Tf -10.017 0 Td -[(constant, )-250(389,)-250(393)]TJ -/TT0 1 Tf --10.017 -1.25 Td -(PTHREAD_CANCEL_ENABLE)Tj -/T1_1 1 Tf -13.017 0 Td -[(constant, )-250(451)]TJ -/TT0 1 Tf --13.017 -1.25 Td -(pthread_cleanup_pop)Tj -/T1_1 1 Tf -11.817 0 Td -[(function, )-250(394)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(396, 827,)Tj --15.74 -1.25 Td -(829)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(394)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_cleanup_push)Tj -/T1_1 1 Tf -12.417 0 Td -[(function, )-250(394)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(396, 824)Tj --17.69 -1.25 Td -[(de\336nition of,)-500(394)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_condattr_destroy)Tj -/T1_1 1 Tf -14.817 0 Td -[(function, )-250(440)]TJ --13.467 -1.25 Td -[(de\336nition of,)-500(440)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_condattr_getclock)Tj -/T1_1 1 Tf -15.417 0 Td -[(function, )-250(441)]TJ --14.067 -1.25 Td -[(de\336nition of,)-500(441)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_condattr_getpshared)Tj -/T1_1 1 Tf -16.617 0 Td -[(function, )-250(440)]TJ --15.267 -1.25 Td -[(de\336nition of,)-500(440)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_condattr_init)Tj -/T1_1 1 Tf -13.017 0 Td -[(function, )-250(440)]TJ --11.667 -1.25 Td -[(de\336nition of,)-500(440)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_condattr_setclock)Tj -/T1_1 1 Tf -15.417 0 Td -[(function, )-250(441)]TJ --14.067 -1.25 Td -[(de\336nition of,)-500(441)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_condattr_setpshared)Tj -/T1_1 1 Tf -16.617 0 Td -[(function, )-250(440)]TJ --15.267 -1.25 Td -[(de\336nition of,)-500(440)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_condattr_t)Tj -/T1_1 1 Tf -11.217 0 Td -[(data type,)-500(441)]TJ -/TT0 1 Tf --11.217 -1.25 Td -(pthread_cond_broadcast)Tj -/T1_1 1 Tf -13.617 0 Td -[(function, )-250(415,)]TJ --10.917 -1.25 Td -(422)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(423, 927)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(415)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_cond_destroy)Tj -/T1_1 1 Tf -12.417 0 Td -[(function, )-250(414,)-250(462)]TJ --11.067 -1.25 Td -[(de\336nition of,)-500(414)]TJ -/TT0 1 Tf -24.65 65 Td -(pthread_cond_init)Tj -/T1_1 1 Tf -10.617 0 Td -[(function, )-250(414,)-250(462, 941)]TJ --9.267 -1.25 Td -[(de\336nition of,)-500(414)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(PTHREAD_COND_INITIALIZER)Tj -/T1_1 1 Tf -14.817 0 Td -[(constant, )-250(413,)]TJ --12.117 -1.25 Td -(416, 455, 814)Tj -/TT0 1 Tf --2.7 -1.25 Td -(pthread_cond_signal)Tj -/T1_1 1 Tf -11.817 0 Td -[(function, )-250(415)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(416, 456,)Tj --15.74 -1.25 Td -(821, 942)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(415)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_cond_t)Tj -/T1_1 1 Tf -8.817 0 Td -[(data type,)-500(413, 416, 455, 814,)]TJ --6.117 -1.25 Td -(940)Tj -/TT0 1 Tf --2.7 -1.25 Td -(pthread_cond_timedwait)Tj -/T1_1 1 Tf -13.617 0 Td -[(function, )-250(414)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(415,)Tj --17.54 -1.25 Td -(434, 440)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(441, 451)Tj --5.516 -1.25 Td -[(de\336nition of,)-500(414)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_cond_wait)Tj -/T1_1 1 Tf -10.617 0 Td -[(function, )-250(414)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(416, 434,)Tj --14.54 -1.25 Td -(451, 456, 832, 927, 941)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(414)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_create)Tj -/T1_1 1 Tf -8.817 0 Td -[(function, )-250(385)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(388, 390)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(392,)Tj --16.907 -1.25 Td -(395, 397, 421, 427)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(428, 456, 460, 477, 632, 817,)Tj --8.166 -1.25 Td -(926, 941)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(385)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(PTHREAD_CREATE_DETACHED)Tj -/T1_1 1 Tf -14.217 0 Td -[(constant, )-250(428)]TJ -/TT0 1 Tf --14.217 -1.25 Td -(PTHREAD_CREATE_JOINABLE)Tj -/T1_1 1 Tf -14.217 0 Td -[(constant, )-250(428)]TJ -/TT0 1 Tf --14.217 -1.25 Td -(PTHREAD_DESTRUCTOR_ITERATIONS)Tj -/T1_1 1 Tf -17.817 0 Td -(constant,)Tj --15.117 -1.25 Td -(426, 447)Tj -/TT0 1 Tf --2.7 -1.25 Td -(pthread_detach)Tj -/T1_1 1 Tf -8.817 0 Td -[(function, )-250(396)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(397, 427)Tj --14.09 -1.25 Td -[(de\336nition of,)-500(397)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_equal)Tj -/T1_1 1 Tf -8.217 0 Td -[(function, )-250(385,)-250(412)]TJ --6.867 -1.25 Td -[(de\336nition of,)-500(385)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_exit)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(198,)-250(236, 389)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(391,)Tj --15.54 -1.25 Td -(393)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(396, 447, 824)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(829)Tj --9.683 -1.25 Td -[(de\336nition of,)-500(389)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_getspecific)Tj -/T1_1 1 Tf -11.817 0 Td -[(function, )-250(449)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(450)Tj --17.09 -1.25 Td -[(de\336nition of,)-500(449)]TJ -/TT0 1 Tf --1.35 -1.25 Td -()Tj -/T1_1 1 Tf -7.017 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --11.239 -1.25 Td -(pthread_join)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(389)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(391, 395)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(396, 418,)Tj --15.707 -1.25 Td -(451, 926)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(389)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_key_create)Tj -/T1_1 1 Tf -11.217 0 Td -[(function, )-250(447)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(448, 450)Tj --16.49 -1.25 Td -[(de\336nition of,)-500(447)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_key_delete)Tj -/T1_1 1 Tf -11.217 0 Td -[(function, )-250(447)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(448)Tj --16.49 -1.25 Td -[(de\336nition of,)-500(448)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(PTHREAD_KEYS_MAX)Tj -/T1_1 1 Tf -10.017 0 Td -[(constant, )-250(426,)-250(447)]TJ -/TT0 1 Tf --10.017 -1.25 Td -(pthread_key_t)Tj -/T1_1 1 Tf -8.217 0 Td -[(data type,)-500(449)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(pthread_kill)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(455)]TJ --6.267 -1.25 Td -[(de\336nition of,)-500(455)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_mutexattr_destroy)Tj -/T1_1 1 Tf -15.417 0 Td -[(function, )-250(431,)]TJ --12.717 -1.25 Td -(445)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(431)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_mutexattr_getpshared)Tj -/T1_1 1 Tf -17.217 0 Td -(function,)Tj --14.517 -1.25 Td -(431)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(431)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_mutexattr_getrobust)Tj -/T1_1 1 Tf -16.617 0 Td -[(function, )-250(432)]TJ --15.267 -1.25 Td -[(de\336nition of,)-500(432)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_mutexattr_gettype)Tj -/T1_1 1 Tf -15.417 0 Td -[(function, )-250(434)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47626 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.5 )]TJ -34.775 0 Td -[(Thr)18(ead )-250(T)92(ermination)]TJ -/T1_1 1 Tf -11.058 0 Td -(389)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -0.2892 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(As)Tj -0 Tc 1.491 0 Td -[(ingle )-39(thr)18(ead )-39(can )-39(exit )-39(in )-39(thr)18(ee )-39(ways, )-39(ther)18(eby )-39(stopping )-39(its )-39(\337ow )-39(of )-39(contr)16(ol, )-39(without)]TJ --3.291 -1.2 Td -(terminating the entir)Tj -0.25 Tc 9.153 0 Td -(ep)Tj --0.018 Tc 1.33 0 Td -(ro)Tj -0 Tc 0.923 0 Td -(cess.)Tj --9.606 -1.56 Td -[(1. )-633(The)-424(thr)18(ead )-174(can )-174(simply )-174(r)18(eturn )-174(fr)18(om )-174(the )-174(start )-174(r)21(outine. )-424(The)]TJ --0.018 Tc 28.627 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-174(value )-174(is )-174(the)]TJ --27.85 -1.2 Td -[(thr)18(ead\325s exit code.)]TJ --1.633 -1.6 Td -[(2. )-633(The)-250(thr)18(ead can be canceled by another thr)18(ead in the same pr)18(ocess.)]TJ -0 -1.6 TD -[(3. )-633(The)-250(thr)18(ead can call)]TJ -/TT0 1 Tf -10.234 0 Td -(pthread_exit)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.591 578.2653 Tm -(#include )Tj -0 -1.902 TD -(void pthread_exit\(void *)Tj -/T1_2 1 Tf -(rval_ptr)Tj -/TT0 1 Tf -(\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5567.25 cm -0 0 m -0 306 l -3900 306 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 543.1148 Tm -(The)Tj -/T1_2 1 Tf -1.955 0 Td -(rval_ptr)Tj -/T1_0 1 Tf -3.614 0 Td -[(ar)18(gument )-31(is )-31(a )-31(typeless )-31(pointer)]TJ -0.2811 Tc 13.371 0 Td -(,s)Tj -0 Tc 0.955 0 Td -[(imilar )-31(to )-31(the )-31(single )-31(ar)18(gument )-31(passed )-31(to )-31(the)]TJ --19.895 -1.2 Td -[(start )-179(r)18(outine. )-429(This)-429(pointer )-179(is )-179(available )-179(to )-179(other )-179(thr)18(eads )-179(in )-179(the )-179(pr)18(ocess )-179(by )-179(calling )-179(the)]TJ -/TT0 1 Tf -0 -1.2 TD -(pthread_join)Tj -/T1_0 1 Tf -7.45 0 Td -(function.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5822 502.4197 Tm -(#include )Tj -0 -1.902 TD -(int pthread_join\(pthread_t)Tj -/T1_2 1 Tf -16.2 0 Td -[(thr)18(ead)]TJ -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.337 0 Td -(oid **)Tj -/T1_2 1 Tf -(rval_ptr)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -0.744 -1.902 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4637.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 450.159 Tm -[(The )-161(calling )-161(thr)18(ead )-161(will )-161(block )-161(until )-161(the )-161(speci\336ed )-161(thr)18(ead )-161(calls)]TJ -/TT0 1 Tf -27.953 0 Td -(pthread_exit)Tj -/T1_0 1 Tf -0.4113 Tc (,r)Tj -0 Tc 8.238 0 Td -(eturns)Tj --36.191 -1.2 Td -[(fr)18(om )-15(its )-15(start )-15(r)18(outine, )-15(or )-15(is )-15(canceled.)-515(If )-15(the )-15(thr)18(ead )-15(simply )-15(r)18(eturned )-15(fr)18(om )-15(its )-15(start )-15(r)19(outine,)]TJ -/T1_2 1 Tf -0 -1.2 TD -(rval_ptr)Tj -/T1_0 1 Tf -3.682 0 Td -[(will )-99(contain )-99(the )-99(r)18(eturn )-99(code.)-599(If )-99(the )-99(thr)19(ead )-99(was )-99(canceled, )-99(the )-99(memory )-99(location)]TJ --3.682 -1.2 Td -(speci\336ed by)Tj -/T1_2 1 Tf -5.543 0 Td -(rval_ptr)Tj -/T1_0 1 Tf -3.583 0 Td -(is set to)Tj -/TT0 1 Tf -3.566 0 Td -(PTHREAD_CANCELED)Tj -/T1_0 1 Tf -(.)Tj --10.892 -1.2 Td -[(By )-197(calling)]TJ -/TT0 1 Tf -5.016 0 Td -(pthread_join)Tj -/T1_0 1 Tf -[(,)-447(we)-447(automatically )-197(place )-197(the )-197(thr)18(ead )-197(with )-197(which )-197(we\325r)19(e)]TJ --6.816 -1.2 Td -[(joining )-89(in )-89(the )-89(detached )-89(state )-89(\(discussed )-89(shortly\) )-89(so )-89(that )-89(its )-89(r)15(esour)18(ces )-89(can )-89(be )-89(r)17(ecover)18(ed.)]TJ --0 -1.2 Td -[(If )-235(the )-235(thr)18(ead )-235(was )-235(alr)18(eady )-235(in )-235(the )-235(detached )-235(state,)]TJ -/TT0 1 Tf -22.964 0 Td -(pthread_join)Tj -/T1_0 1 Tf -7.685 0 Td -[(can )-235(fail, )-235(r)19(eturning)]TJ -/TT0 1 Tf --30.649 -1.2 Td -(EINVAL)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 4.6 0 Td -(lthough this behavior is implementation-speci\336c.)Tj --2.8 -1.2 Td -[(If )-9(we\325r)]TJ -0.2587 Tc 2.897 0 Td -(en)Tj -0 Tc 1.32 0 Td -[(ot )-9(inter)18(ested )-9(in )-9(a )-9(thr)18(ead\325s )-9(r)20(eturn )-9(value, )-9(we )-9(can )-9(set)]TJ -/T1_2 1 Tf -22.301 0 Td -(rval_ptr)Tj -/T1_0 1 Tf -3.592 0 Td -(to)Tj -/TT0 1 Tf -1.131 0 Td -(NULL)Tj -/T1_0 1 Tf -0.5088 Tc (.I)Tj -0.2588 Tc 3.496 0 Td -(nt)Tj -0 Tc 1.167 0 Td -(his)Tj --37.703 -1.2 Td -[(case, )-157(calling)]TJ -/TT0 1 Tf -5.867 0 Td -(pthread_join)Tj -/T1_0 1 Tf -7.607 0 Td -[(allows )-157(us )-157(to )-157(wait )-157(for )-157(the )-157(speci\336ed )-157(thr)15(ead, )-157(but )-157(does )-157(not)]TJ --0.018 Tc -13.474 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(trieve the thr)18(ead\325s termination status.)]TJ -/TT1 1 Tf --4.456 -2.88 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.16 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.174 0 Td -[(1.3 shows how to fetch the exit code fr)18(om a thr)18(ead that has terminated.)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2726.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 129.5689 263.0759 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -(void *)Tj -0 -1.189 TD -(thr_fn1\(void *arg\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("thread 1 returning\\n"\);)Tj -T* -(return\(\(void *\)1\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(void *)Tj -0 -1.189 TD -(thr_fn2\(void *arg\))Tj -T* -({)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47627 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.6 )]TJ -32.941 0 Td -[(Thr)18(ead )-250(Synchr)18(onization)]TJ -/T1_1 1 Tf -12.892 0 Td -(415)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(obtain )-258(the )-258(absolute )-258(time )-258(for )-258(the )-258(timeout )-258(value, )-258(we )-258(can )-258(use )-258(the )-258(following )-258(function)]TJ -0 -1.2 TD -[(\(assuming the maximum time blocked is expr)18(essed in minutes\):)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 634.2619 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -2.021 TD -(void)Tj -0 -1.189 TD -(maketimeout\(struct timespec *tsp, long minutes\))Tj -T* -({)Tj -2.4 -1.189 Td -(struct timeval now;)Tj -0 -2.021 TD -(/* get the current time */)Tj -0 -1.189 TD -(gettimeofday\(&now, NULL\);)Tj -T* -(tsp->tv_sec = now.tv_sec;)Tj -0 -1.189 TD -(tsp->tv_nsec = now.tv_usec * 1000; /* usec to nsec */)Tj -0 -1.189 TD -(/* add the offset to get timeout value */)Tj -T* -(tsp->tv_sec += minutes * 60;)Tj --2.4 -1.189 Td -(})Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 463.2922 Tm -[(If )-188(the )-188(timeout )-188(expir)19(es )-188(without )-188(the )-188(condition )-188(occurring,)]TJ -/TT0 1 Tf -25.8 0 Td -(pthread_cond_timedwait)Tj -/T1_0 1 Tf --25.8 -1.2 Td -[(will )-209(r)18(eacquir)]TJ -0.4592 Tc 5.797 0 Td -(et)Tj -0 Tc 1.264 0 Td -[(he )-209(mutex )-209(and )-209(r)18(eturn )-209(the )-209(err)17(or)]TJ -/TT0 1 Tf -14.657 0 Td -(ETIMEDOUT)Tj -/T1_0 1 Tf -0.7092 Tc (.W)Tj -0 Tc 7.359 0 Td -[(hen )-209(it )-209(r)18(eturns )-209(fr)18(om )-209(a)]TJ --29.078 -1.2 Td -[(successful )-345(call )-345(to)]TJ -/TT0 1 Tf -8.653 0 Td -(pthread_cond_wait)Tj -/T1_0 1 Tf -10.795 0 Td -(or)Tj -/TT0 1 Tf -1.536 0 Td -(pthread_cond_timedwait)Tj -/T1_0 1 Tf -0.5953 Tc (,a)Tj -0 Tc [(thr)18(ead)]TJ --20.984 -1.2 Td -[(needs )-187(to )-187(r)18(eevaluate )-187(the )-187(condition, )-187(since )-187(another )-187(thr)18(ead )-187(might )-187(have )-187(r)8(un )-187(and )-187(alr)12(eady)]TJ -0 -1.2 TD -(changed the condition.)Tj -1.8 -1.2 Td -(Ther)Tj -0.3682 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.347 0 Td -[(re )-154(t)]TJ -0 Tc 1.55 0 Td -[(wo )-118(functions )-118(to )-118(notify )-118(thr)17(eads )-118(that )-118(a )-118(condition )-118(has )-118(been )-118(satis\336ed.)-619(The)]TJ -/TT0 1 Tf --6.748 -1.2 Td -(pthread_cond_signal)Tj -/T1_0 1 Tf -11.971 0 Td -[(function )-321(will )-321(wake )-321(up )-321(at )-321(least )-321(one )-321(thr)21(ead )-321(waiting )-321(on )-321(a)]TJ --11.971 -1.2 Td -[(condition, )-72(wher)18(eas )-72(the)]TJ -/TT0 1 Tf -10.498 0 Td -(pthread_cond_broadcast)Tj -/T1_0 1 Tf -13.522 0 Td -[(function )-72(will )-72(wake )-72(up )-72(all )-72(thr)17(eads)]TJ --24.02 -1.2 Td -(waiting on a condition.)Tj -7.9995 0 0 7.9995 183.5892 344.8993 Tm -[(The )-101(POSIX )-101(speci\336cation )-101(allows )-101(for )-101(implementations )-101(of)]TJ -/TT0 1 Tf -25.103 0 Td -(pthread_cond_signal)Tj -/T1_0 1 Tf -11.751 0 Td -[(to )-101(wake )-101(up)]TJ --36.854 -1.25 Td -(mor)Tj -0.25 Tc 1.806 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(han one thr)18(ead, to make the implementation simpler)74(.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5913 306.2016 Tm -(#include )Tj -0 -2.14 TD -(int pthread_cond_signal\(pthread_cond_t *)Tj -/T1_2 1 Tf -(cond)Tj -/TT0 1 Tf -(\);)Tj --0 -2.14 Td -(int pthread_cond_broadcast\(pthread_cond_t *)Tj -/T1_2 1 Tf -(cond)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -19.681 -2.14 Td -[(Both r)18(eturn: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 2439.25 cm -0 0 m -0 713 l -3900 713 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 228.0126 Tm -[(When )-215(we )-215(call)]TJ -/TT0 1 Tf -6.878 0 Td -(pthread_cond_signal)Tj -/T1_0 1 Tf -11.865 0 Td -(or)Tj -/TT0 1 Tf -1.406 0 Td -(pthread_cond_broadcast)Tj -/T1_0 1 Tf -[(,)-465(we)-465(a)]TJ --0.018 Tc 16.194 0 Td -(re)Tj -0 Tc -38.144 -1.2 Td -[(said )-58(to )-58(be)]TJ -/T1_2 1 Tf -4.653 0 Td -(signaling)Tj -/T1_0 1 Tf -4.087 0 Td -[(the )-58(thr)18(ead )-58(or )-58(condition.)]TJ --0.092 Tc 11.153 0 Td -[(We )-242(h)]TJ -0 Tc 2.277 0 Td -[(ave )-58(to )-58(be )-58(car)18(eful )-58(to )-58(signal )-58(the )-58(thr)20(eads)]TJ --22.169 -1.2 Td -(only after changing the state of the condition.)Tj -/TT1 1 Tf --3.6 -3.24 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.2734 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.197 0 Td -[(1.15 )-23(shows )-23(an )-23(example )-23(of )-23(how )-23(to )-23(use )-23(a )-23(condition )-23(variable )-23(and )-23(a )-23(mutex )-23(together)]TJ --3.58 -1.2 Td -[(to synchr)18(onize thr)18(eads.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47628 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(394)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -0.2719 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(At)Tj -0 Tc 1.376 0 Td -[(hr)18(ead )-22(can )-22(arrange )-22(for )-22(functions )-22(to )-22(be )-22(called )-22(when )-22(it )-22(exits, )-22(similar )-22(to )-22(the )-22(way )-22(that)]TJ --3.176 -1.2 Td -(the)Tj -/TT0 1 Tf -1.662 0 Td -(atexit)Tj -/T1_1 1 Tf -3.875 0 Td -[(function )-24(\(Section )-24(7.3\) )-24(can )-24(be )-24(used )-24(by )-24(a )-24(pr)18(ocess )-24(to )-24(arrange )-24(that )-24(functions )-24(ar)12(e)]TJ --5.536 -1.2 Td -[(to )-53(be )-53(called )-53(when )-53(the )-53(pr)18(ocess )-53(exits.)-553(The )-53(functions )-53(ar)]TJ -0.3027 Tc 23.621 0 Td -(ek)Tj -0 Tc 1.338 0 Td -[(nown )-53(as)]TJ -/T1_2 1 Tf -4.073 0 Td -[(thr)18(ead )-53(cleanup )-53(handlers)]TJ -/T1_1 1 Tf -(.)Tj --29.032 -1.2 Td -(Mor)Tj -0.5042 Tc 1.869 0 Td -(et)Tj -0 Tc 1.309 0 Td -[(han )-254(one )-254(cleanup )-254(handler )-254(can )-254(be )-254(established )-254(for )-254(a )-254(thr)16(ead. )-504(The)-504(handlers )-254(ar)18(e)]TJ --0.018 Tc -3.178 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(ded )-76(in )-76(a )-76(stack, )-76(which )-76(means )-76(that )-76(they )-76(ar)]TJ -0.3262 Tc 19.706 0 Td -(ee)Tj -0 Tc 1.284 0 Td -[(xecuted )-76(in )-76(the )-76(r)18(everse )-76(or)18(der )-76(fr)18(om )-76(that)]TJ --21.846 -1.2 Td -(with which they wer)Tj -0.25 Tc 9.149 0 Td -(er)Tj -0 Tc 1.106 0 Td -[(egister)18(ed.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5913 589.8646 Tm -(#include )Tj -0 -2.021 TD -(void pthread_cleanup_push\(void \(*)Tj -/T1_2 1 Tf -(rtn)Tj -/TT0 1 Tf -(\)\(void *\), void *)Tj -/T1_2 1 Tf -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj -0 -2.021 Td -(void pthread_cleanup_pop\(int)Tj -/T1_2 1 Tf -17.4 0 Td -(execute)Tj -/TT0 1 Tf -(\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5490.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 533.056 Tm -(The)Tj -/TT0 1 Tf -2.23 0 Td -(pthread_cleanup_push)Tj -/T1_1 1 Tf -12.556 0 Td -[(function )-306(schedules )-306(the )-306(cleanup )-306(function,)]TJ -/T1_2 1 Tf -19.669 0 Td -(rtn)Tj -/T1_1 1 Tf -[(,)-556(to)-556(be)]TJ --34.456 -1.2 Td -[(called )-156(with )-156(the )-156(single )-156(ar)17(gument,)]TJ -/T1_2 1 Tf -15.247 0 Td -[(ar)18(g)]TJ -/T1_1 1 Tf -0.4063 Tc (,w)Tj -0 Tc 2.805 0 Td -[(hen )-156(the )-156(thr)18(ead )-156(performs )-156(one )-156(of )-156(the )-156(following)]TJ --18.052 -1.2 Td -(actions:)Tj -0.883 Tc 1.8 -1.92 Td -(\245M)Tj -0 Tc 2.435 0 Td -(akes a call to)Tj -/TT0 1 Tf -5.857 0 Td -(pthread_exit)Tj -/T1_1 1 Tf -0.883 Tc -8.292 -1.6 Td -(\245R)Tj -0 Tc 2.157 0 Td -[(esponds to a cancellation r)18(equest)]TJ -0.883 Tc -2.157 -1.6 Td -(\245M)Tj -0 Tc 2.435 0 Td -(akes a call to)Tj -/TT0 1 Tf -5.857 0 Td -(pthread_cleanup_pop)Tj -/T1_1 1 Tf -11.65 0 Td -[(with a nonzer)18(o)]TJ -/T1_2 1 Tf -6.895 0 Td -(execute)Tj -/T1_1 1 Tf -3.213 0 Td -[(ar)18(gument)]TJ --30.05 -1.92 Td -[(If )-120(the)]TJ -/T1_2 1 Tf -2.798 0 Td -(execute)Tj -/T1_1 1 Tf -3.333 0 Td -[(ar)18(gument )-120(is )-120(set )-120(to )-120(zer)18(o, )-120(the )-120(cleanup )-120(function )-120(is )-120(not )-120(called.)-620(In )-120(either)]TJ --7.931 -1.2 Td -(case,)Tj -/TT0 1 Tf -2.387 0 Td -(pthread_cleanup_pop)Tj -/T1_1 1 Tf --0.018 Tc 11.69 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(moves )-40(the )-40(cleanup )-40(handler )-40(established )-40(by )-40(the )-40(last )-40(call)]TJ --14.933 -1.2 Td -(to)Tj -/TT0 1 Tf -1.122 0 Td -(pthread_cleanup_push)Tj -/T1_1 1 Tf -(.)Tj -0.498 Tc 0.678 -1.2 Td -(Ar)Tj -0 Tc 1.653 0 Td -[(estriction )-248(with )-248(these )-248(functions )-248(is )-248(that, )-248(because )-248(they )-248(can )-248(be )-248(implemented )-248(as)]TJ --3.453 -1.2 Td -[(macr)18(os, )-140(they )-140(must )-140(be )-140(used )-140(in )-140(matched )-140(pairs )-140(within )-140(the )-140(same )-140(scope )-140(in )-140(a )-140(thr)24(ead. )-390(The)]TJ --0 -1.2 Td -(macr)Tj -0.3125 Tc 2.204 0 Td -(od)Tj -0 Tc 1.469 0 Td -[(e\336nition )-62(of)]TJ -/TT0 1 Tf -5.206 0 Td -(pthread_cleanup_push)Tj -/T1_1 1 Tf -12.313 0 Td -[(can )-62(include )-62(a)]TJ -/TT0 1 Tf -6.264 0 Td -({)Tj -/T1_1 1 Tf -0.912 0 Td -[(character)74(,)-312(in)-312(w)-1(hich )-62(case)]TJ --28.369 -1.2 Td -(the matching)Tj -/TT0 1 Tf -6.051 0 Td -(})Tj -/T1_1 1 Tf -0.85 0 Td -(character is in the)Tj -/TT0 1 Tf -8.04 0 Td -(pthread_cleanup_pop)Tj -/T1_1 1 Tf -11.65 0 Td -(de\336nition.)Tj -/TT1 1 Tf --30.191 -3.24 Td -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.5365 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.461 0 Td -[(1.5 )-287(shows )-287(how )-287(to )-287(use )-287(thr)18(ead )-287(cleanup )-287(handlers.)-787(Although )-287(the )-287(example )-287(is)]TJ --3.844 -1.2 Td -[(somewhat )-5(contrived, )-5(it )-5(illustrates )-5(the )-5(mechanics )-5(involved.)-508(Note )-5(that )-5(although )-5(we )-5(never)]TJ -0 -1.2 TD -[(intend )-191(to )-191(pass )-191(zer)18(o)-441(as)-441(an)-441(a)]TJ --0.018 Tc (rg)Tj -0 Tc 13.679 0 Td -[(ument )-191(to )-191(the )-191(thr)18(ead )-191(start-up )-191(r)18(outines, )-191(we )-191(still )-191(need )-191(to)]TJ --13.679 -1.2 Td -[(match )-194(calls )-194(to)]TJ -/TT0 1 Tf -6.889 0 Td -(pthread_cleanup_pop)Tj -/T1_1 1 Tf -11.844 0 Td -[(with )-194(the )-194(calls )-194(to)]TJ -/TT0 1 Tf -8.018 0 Td -(pthread_cleanup_push)Tj -/T1_1 1 Tf -(;)Tj --26.75 -1.2 Td -[(otherwise, the pr)18(ogram might not compile.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2551.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 245.5748 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -2.14 TD -(void)Tj -0 -1.189 TD -(cleanup\(void *arg\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("cleanup: %s\\n", \(char *\)arg\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(void *)Tj -0 -1.189 TD -(thr_fn1\(void *arg\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47629 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1)55(1.6 )]TJ -32.941 0 Td -[(Thr)18(ead )-250(Synchr)18(onization)]TJ -/T1_1 1 Tf -12.892 0 Td -(419)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(When )-118(we )-118(initialize )-118(a )-118(barrier)75(,)-368(we)-368(use )-118(the)]TJ -/T1_2 1 Tf -18.63 0 Td -(count)Tj -/T1_0 1 Tf -2.664 0 Td -[(ar)18(gument )-118(to )-118(specify )-118(the )-118(number )-118(of)]TJ --23.094 -1.2 Td -[(thr)18(eads )-35(that )-35(must )-35(r)18(each )-35(the )-35(barrier )-35(befor)]TJ -0.2849 Tc 18.043 0 Td -(ea)Tj -0 Tc 1.264 0 Td -[(ll )-35(of )-35(the )-35(thr)18(eads )-35(will )-35(be )-35(allowed )-35(to )-35(continue.)]TJ --0.092 Tc -19.307 -1.2 Td -[(We )-224(u)]TJ -0 Tc 2.28 0 Td -[(se )-40(the)]TJ -/T1_2 1 Tf -2.871 0 Td -(attr)Tj -/T1_0 1 Tf -1.789 0 Td -[(ar)18(gument )-40(to )-40(specify )-40(the )-40(attributes )-40(of )-40(the )-40(barrier )-40(object, )-40(which )-40(we\325ll )-40(look)]TJ --6.94 -1.2 Td -[(at )-178(mor)]TJ -0.4277 Tc 3.06 0 Td -(ec)Tj -0 Tc 1.351 0 Td -[(losely )-178(in )-178(the )-178(next )-178(chapter)]TJ -0.6778 Tc 11.714 0 Td -(.F)Tj -0 Tc 1.484 0 Td -[(or )-178(now)92(,)-428(we)-428(can )-178(set)]TJ -/T1_2 1 Tf -9.268 0 Td -(attr)Tj -/T1_0 1 Tf -1.927 0 Td -(to)Tj -/TT0 1 Tf -1.3 0 Td -(NULL)Tj -/T1_0 1 Tf -2.828 0 Td -[(to )-178(initialize )-178(a)]TJ --32.93 -1.2 Td -[(barrier )-78(with )-78(the )-78(default )-78(attributes.)-579(If )-78(the)]TJ -/TT0 1 Tf -18.649 0 Td -(pthread_barrier_init)Tj -/T1_0 1 Tf -12.328 0 Td -[(function )-78(allocated)]TJ --30.977 -1.2 Td -[(any )-13(r)18(esour)18(ces )-13(for )-13(the )-13(barrier)]TJ -0.2635 Tc 12.44 0 Td -(,t)Tj -0 Tc 0.839 0 Td -[(he )-13(r)18(esour)18(ces )-13(will )-13(be )-13(fr)18(eed )-13(when )-13(we )-13(deinitialize )-13(the )-13(barrier)]TJ --13.28 -1.2 Td -(by calling the)Tj -/TT0 1 Tf -6.201 0 Td -(pthread_barrier_destroy)Tj -/T1_0 1 Tf -14.05 0 Td -(function.)Tj --0.092 Tc -18.451 -1.2 Td -[(We )-368(u)]TJ -0 Tc 2.424 0 Td -[(se )-184(the)]TJ -/TT0 1 Tf -3.158 0 Td -(pthread_barrier_wait)Tj -/T1_0 1 Tf -12.434 0 Td -[(function )-184(to )-184(indicate )-184(that )-184(a )-184(thr)18(ead )-184(is )-184(done)]TJ --19.816 -1.2 Td -[(with its work and is r)18(eady to wait for all the other thr)18(eads to catch up.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5903 556.2666 Tm -(#include )Tj -0 -1.783 TD -(int pthread_barrier_wait\(pthread_barrier_t *)Tj -/T1_2 1 Tf -(barrier)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -2.44 -1.783 Td -(Returns: 0 or)Tj -/TT0 1 Tf -5.918 0 Td -(PTHREAD_BARRIER_SERIAL_THREAD)Tj -/T1_0 1 Tf -17.65 0 Td -[(if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5197.25 cm -0 0 m -0 456 l -3900 456 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 506.1393 Tm -[(The )-69(thr)18(ead )-69(calling)]TJ -/TT0 1 Tf -8.462 0 Td -(pthread_barrier_wait)Tj -/T1_0 1 Tf -12.319 0 Td -[(is )-69(put )-69(to )-69(sleep )-69(if )-69(the )-69(barrier )-69(count )-69(\(set )-69(in)]TJ --20.781 -1.2 Td -[(the )-26(call )-26(to)]TJ -/TT0 1 Tf -4.613 0 Td -(pthread_barrier_init)Tj -/T1_0 1 Tf -[(\))-276(is)-276(not )-26(yet )-26(satis\336ed.)-526(If )-26(the )-26(thr)19(ead )-26(is )-26(the )-26(last )-26(one )-26(to)]TJ --4.613 -1.2 Td -(call)Tj -/TT0 1 Tf -1.906 0 Td -(pthread_barrier_wait)Tj -/T1_0 1 Tf -0.3796 Tc (,t)Tj -0 Tc 12.956 0 Td -[(her)18(eby )-130(satisfying )-130(the )-130(barrier )-130(count, )-130(all )-130(of )-130(the )-130(thr)21(eads)]TJ --14.861 -1.2 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(wakened.)Tj --0.092 Tc -0.306 -1.2 Td -[(To )-248(o)]TJ -0 Tc 1.926 0 Td -[(ne )-63(arbitrary )-63(thr)18(ead, )-63(it )-63(will )-63(appear )-63(as )-63(if )-63(the)]TJ -/TT0 1 Tf -19.253 0 Td -(pthread_barrier_wait)Tj -/T1_0 1 Tf -12.313 0 Td -(function)Tj --0.018 Tc -35.293 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turned )-67(a )-67(value )-67(of)]TJ -/TT0 1 Tf -8.08 0 Td -(PTHREAD_BARRIER_SERIAL_THREAD)Tj -/T1_0 1 Tf -0.5669 Tc (.T)Tj -0 Tc 18.83 0 Td -[(he )-67(r)18(emaining )-67(thr)18(eads )-67(see)]TJ -0.2511 Tc -27.766 -1.2 Td -(ar)Tj -0 Tc 1.128 0 Td -[(eturn )-1(value )-1(of )-1(0.)-501(This )-1(allows )-1(one )-1(thr)17(ead )-1(to )-1(continue )-1(as )-1(the )-1(master )-1(to )-1(act )-1(on )-1(the )-1(r)18(esults)]TJ --1.128 -1.2 Td -[(of the work done by all of the other thr)18(eads.)]TJ -1.8 -1.2 Td -[(Once )-52(the )-52(barrier )-52(count )-52(is )-52(r)18(eached )-52(and )-52(the )-52(thr)21(eads )-52(ar)]TJ -0.3017 Tc 23.344 0 Td -(eu)Tj -0 Tc 1.384 0 Td -[(nblocked, )-52(the )-52(barrier )-52(can )-52(be)]TJ --26.528 -1.2 Td -[(used )-484(again.)-984(However)]TJ -0.7339 Tc 10.57 0 Td -(,t)Tj -0 Tc 1.31 0 Td -[(he )-484(barrier )-484(count )-484(can\325t )-484(be )-484(changed )-484(unless )-484(we )-484(call )-484(the)]TJ -/TT0 1 Tf --11.88 -1.2 Td -(pthread_barrier_destroy)Tj -/T1_0 1 Tf -14.413 0 Td -[(function )-363(followed )-363(by )-363(the)]TJ -/TT0 1 Tf -12.587 0 Td -(pthread_barrier_init)Tj -/T1_0 1 Tf --27 -1.2 Td -[(function with a dif)18(fer)18(ent count.)]TJ -/TT1 1 Tf --3.6 -2.64 Td -(Example)Tj -/T1_0 1 Tf -3.6 -1.92 Td -(Figur)Tj -0.3258 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.25 0 Td -[(1.16 )-76(shows )-76(how )-76(a )-76(barrier )-76(can )-76(be )-76(used )-76(to )-76(synchr)18(onize )-76(thr)18(eads )-76(cooperating )-76(on )-76(a)]TJ --3.633 -1.2 Td -(single task.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3094.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 299.845 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(#define NTHR)Tj -9.6 Tc 9 0 Td -(8/)Tj -0.6 Tc 10.8 0 Td -(*n)Tj -0 Tc 1.8 0 Td -(umber of threads */)Tj --21.6 -1.189 Td -(#define NUMNUM 8000000L)Tj -19.2 0 Td -(/* number of numbers to sort */)Tj --19.2 -1.189 Td -[(#define TNUM)-1800(\(NUMNUM/NTHR\) )-1800(/*)-600(number to sort per thread */)]TJ -0 -1.902 TD -(long nums[NUMNUM];)Tj -0 -1.189 TD -(long snums[NUMNUM];)Tj -0 -1.902 TD -(pthread_barrier_t b;)Tj -T* -(#ifdef SOLARIS)Tj -0 -1.189 TD -(#define heapsort qsort)Tj -T* -(#else)Tj -T* -(extern int heapsort\(void *, size_t, size_t,)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47630 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(977)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(PPID,)Tj -/T1_2 1 Tf -3.069 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -[(par)18(ent pr)18(ocess ID)]TJ -/TT0 1 Tf --4.486 -1.25 Td -(P_PID)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(244)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(pr)Tj -/T1_0 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(753)]TJ -/TT0 1 Tf --1.617 -1.25 Td -(prctl)Tj -/T1_0 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(559)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(pread)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(78,)-250(451, 461)]TJ -9.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(462, 592)Tj --12.19 -1.25 Td -[(de\336nition of,)-500(78)]TJ --1.35 -1.25 Td -[(Pr)18(esotto, D. L.,)-500(xxxii, 229, 952)]TJ -/TT0 1 Tf -0 -1.25 TD -(pr_exit)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(239)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(241, 266)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(268, 281, 283,)Tj --12.707 -1.25 Td -(372, 896)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(240)]TJ --1.35 -1.25 Td -[(primitive system data types,)-500(58)]TJ -/TT0 1 Tf -T* -(print)Tj -/T1_0 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(794,)-250(801, 820, 824)]TJ -12.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(825, 834, 843)Tj -/TT0 1 Tf --16.191 -1.25 Td -(printd)Tj -/T1_0 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(794,)-250(843)]TJ --4.017 -1.25 Td -[(printer communication, network,)-500(789)]TJ -16.791 0.09 Td -(\320)Tj -0.583 -0.09 Td -(843)Tj --17.375 -1.25 Td -[(printer spooling,)-500(793)]TJ -9.489 0.09 Td -(\320)Tj -0.583 -0.09 Td -(795)Tj --8.723 -1.25 Td -[(sour)18(ce code,)-500(795)]TJ -7.536 0.09 Td -(\320)Tj -0.583 -0.09 Td -(842)Tj -/TT0 1 Tf --9.469 -1.25 Td -(printer_status)Tj -/T1_0 1 Tf -8.817 0 Td -[(function, )-250(814,)-250(837)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(838, 843)Tj --16.09 -1.25 Td -[(de\336nition of,)-500(838)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(printer_thread)Tj -/T1_0 1 Tf -8.817 0 Td -[(function, )-250(814,)-250(832, 945)]TJ --7.467 -1.25 Td -[(de\336nition of,)-500(832)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(printf)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(10)]TJ -5.54 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0.25 Tc 0.945 0 Td -(,2)Tj -0 Tc 1 0 Td -(1, 150, 159, 161)Tj -6.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(163,)Tj --16.552 -1.25 Td -(175, 192, 194, 219, 226, 231, 235, 283, 309, 330,)Tj -T* -(349, 452, 552, 919)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(920)Tj --9.517 -1.25 Td -[(de\336nition of,)-500(159)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(print.h)Tj -/T1_0 1 Tf -4.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,8)Tj -0 Tc 1.25 0 Td -(15, 820, 825)Tj -/TT0 1 Tf --8.839 -1.25 Td -(printreq)Tj -/T1_0 1 Tf -5.217 0 Td -[(str)8(uctur)18(e, )-250(801,)-250(809)]TJ -8.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(810, 812, 820,)Tj --11.402 -1.25 Td -(822)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(824, 827)Tj -/TT0 1 Tf --4.866 -1.25 Td -(printresp)Tj -/T1_0 1 Tf -5.817 0 Td -[(str)8(uctur)18(e, )-250(801,)-250(809, 81)55(1, 824)]TJ -12.247 0.09 Td -(\320)Tj -0.583 -0.09 Td -(827)Tj -/TT0 1 Tf --18.647 -1.25 Td -(PRIO_PGRP)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(277)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(PRIO_PROCESS)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(277)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(PRIO_USER)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(277)]TJ --5.817 -1.25 Td -[(privilege, least,)-500(256, 795, 816)]TJ -/TT0 1 Tf -T* -(pr_mask)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(356)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(357, 360)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(361, 896)Tj --14.057 -1.25 Td -[(de\336nition of,)-500(347)]TJ --1.35 -1.25 Td -[(/pr)18(oc, )-250(136,)-250(253)]TJ -/TT0 1 Tf -T* -(proc)Tj -/T1_0 1 Tf -2.817 0 Td -[(str)8(uctur)18(e, )-250(31)55(1)]TJ -6.247 0.09 Td -(\320)Tj -0.583 -0.09 Td -(312)Tj --9.647 -1.25 Td -[(pr)18(ocess, )-250(1)55(1)]TJ -1.35 -1.25 Td -[(accounting, )-250(269)]TJ -7.207 0.09 Td -(\320)Tj -0.583 -0.09 Td -(275)Tj --7.79 -1.25 Td -[(contr)18(ol, )-250(1)55(1, 227)]TJ -6.89 0.09 Td -(\320)Tj -0.583 -0.09 Td -(283)Tj --7.473 -1.25 Td -[(ID, )-250(1)55(1, 228, 252)]TJ -T* -[(ID, par)18(ent, )-250(228,)-250(233, 237, 243, 246, 252, 287)]TJ -18.809 0.09 Td -(\320)Tj -0.583 -0.09 Td -(288,)Tj --18.042 -1.25 Td -(309, 464)Tj --1.35 -1.25 Td -[(identi\336ers, )-250(227)]TJ -6.816 0.09 Td -(\320)Tj -0.583 -0.09 Td -(228)Tj --0.018 Tc -7.4 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(lationships, )-250(285)]TJ -7.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(312)Tj --8.631 -1.25 Td -[(scheduling, )-250(276)]TJ -7.196 0.09 Td -(\320)Tj -0.583 -0.09 Td -(280)Tj --7.779 -1.25 Td -[(system, )-250(228,)-250(337)]TJ -T* -[(termination, )-250(198)]TJ -7.534 0.09 Td -(\320)Tj -0.583 -0.09 Td -(202)Tj --8.117 -1.25 Td -[(time, )-250(20,)-250(24, 59, 280)]TJ -8.812 0.09 Td -(\320)Tj -0.583 -0.09 Td -(282)Tj --10.746 -1.25 Td -[(pr)18(ocess gr)18(oup, )-250(293)]TJ -8.561 0.09 Td -(\320)Tj -0.583 -0.09 Td -(294)Tj --7.794 -1.25 Td -[(backgr)18(ound, )-250(296,)-250(300, 302, 304, 306)]TJ -15.661 0.09 Td -(\320)Tj -0.583 -0.09 Td -(307, 309,)Tj --14.895 -1.25 Td -(321, 369, 377, 944)Tj --1.35 -1.25 Td -[(for)18(egr)18(ound, )-250(296,)-250(298, 300)]TJ -11.343 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(303, 306, 31)55(1,)]TJ --10.577 -1.25 Td -(318)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(322, 369, 377, 680)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(682, 685, 689, 710,)Tj --10.333 -1.25 Td -(719, 741, 944)Tj -24.65 66.25 Td -[(ID, )-250(233,)-250(252)]TJ -T* -[(ID, for)18(egr)18(ound, )-250(298,)-250(303, 677)]TJ --0 -1.25 Td -[(ID, session,)-500(304)]TJ -T* -[(ID, terminal,)-500(303, 463)]TJ -T* -(leader)Tj -0.5 Tc 2.681 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(94)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(296, 306, 312, 465)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(466, 727)Tj --13.764 -1.25 Td -[(lifetime, )-250(294)]TJ -T* -[(orphaned, )-250(307)]TJ -6.629 0.09 Td -(\320)Tj -0.583 -0.09 Td -(309, 469, 735)Tj --8.563 -1.25 Td -[(pr)18(ocesses, cooperating,)-500(495, 752, 945)]TJ -/TT0 1 Tf -T* -(process-shared)Tj -/T1_0 1 Tf -8.817 0 Td -[(attribute, )-250(431)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(.profile)Tj -/T1_0 1 Tf -5.217 0 Td -[(\336le, )-250(289)]TJ --5.217 -1.25 Td -[(pr)18(ogram, )-250(10)]TJ -/TT0 1 Tf -T* -(PROT_EXEC)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(525)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(PROT_NONE)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(525)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(protoent)Tj -/T1_0 1 Tf -5.217 0 Td -[(str)8(uctur)18(e, )-250(598)]TJ --5.217 -1.25 Td -[(pr)18(ototypes, function,)-500(845)]TJ -11.322 0.09 Td -(\320)Tj -0.583 -0.09 Td -(893)Tj -/TT0 1 Tf --11.905 -1.25 Td -(PROT_READ)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(525,)-250(529, 577)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(PROT_WRITE)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(525,)-250(529, 577)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(PR_TEXT)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(801,)-250(810, 825, 835)]TJ -12.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(836)Tj -/TT0 1 Tf --17.263 -1.25 Td -(ps)Tj -/T1_0 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(237,)-250(283, 303, 306)]TJ -12.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(307, 463)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(465,)Tj --15.858 -1.25 Td -(468)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(469, 480, 736, 923)Tj -/TT0 1 Tf --4.866 -1.25 Td -(pselect)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(331,)-250(451, 501, 506)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(506)]TJ --1.35 -1.25 Td -[(pseudo terminal,)-500(715)]TJ -9.594 0.09 Td -(\320)Tj -0.583 -0.09 Td -(742)Tj --8.827 -1.25 Td -[(packet mode,)-500(740)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(mote mode,)-500(741)]TJ --0.856 -1.25 Td -[(signal generation,)-500(741)]TJ -T* -[(window size,)-500(741)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(psiginfo)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(379)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(380, 452)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(379)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(psignal)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(379)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(380, 452)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(379)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(ptem)Tj -/T1_0 1 Tf -2.817 0 Td -[(STREAMS module,)-500(716, 726)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(pthread)Tj -/T1_0 1 Tf -4.617 0 Td -[(str)8(uctur)18(e, )-250(385)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(pthread_atfork)Tj -/T1_0 1 Tf -8.817 0 Td -[(function, )-250(457)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(461)Tj --14.09 -1.25 Td -[(de\336nition of,)-500(458)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_attr_destroy)Tj -/T1_0 1 Tf -12.417 0 Td -[(function, )-250(427)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(429)Tj --17.69 -1.25 Td -[(de\336nition of,)-500(427)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_attr_getdetachstate)Tj -/T1_0 1 Tf -16.617 0 Td -[(function, )-250(428)]TJ --15.267 -1.25 Td -[(de\336nition of,)-500(428)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_attr_getguardsize)Tj -/T1_0 1 Tf -15.417 0 Td -[(function, )-250(430)]TJ --14.067 -1.25 Td -[(de\336nition of,)-500(430)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_attr_getstack)Tj -/T1_0 1 Tf -13.017 0 Td -[(function, )-250(429)]TJ --11.667 -1.25 Td -[(de\336nition of,)-500(429)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_attr_getstacksize)Tj -/T1_0 1 Tf -15.417 0 Td -(function,)Tj --12.717 -1.25 Td -(429)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(430)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(430)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_attr_init)Tj -/T1_0 1 Tf -10.617 0 Td -[(function, )-250(427)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(429)Tj --15.89 -1.25 Td -[(de\336nition of,)-500(427)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_attr_setdetachstate)Tj -/T1_0 1 Tf -16.617 0 Td -[(function, )-250(428)]TJ --15.267 -1.25 Td -[(de\336nition of,)-500(428)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_attr_setguardsize)Tj -/T1_0 1 Tf -15.417 0 Td -[(function, )-250(430)]TJ --14.067 -1.25 Td -[(de\336nition of,)-500(430)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pthread_attr_setstack)Tj -/T1_0 1 Tf -13.017 0 Td -[(function, )-250(429)]TJ --11.667 -1.25 Td -[(de\336nition of,)-500(429)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47631 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(458)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 658.2605 Tm -(#include )Tj -0 -1.783 TD -(int pthread_atfork\(void \(*)Tj -/T1_2 1 Tf -[(pr)18(epar)18(e)]TJ -/TT0 1 Tf -(\)\(void\), void \(*)Tj -/T1_2 1 Tf -[(par)18(ent)]TJ -/TT0 1 Tf -(\)\(void\),)Tj -11.4 -1.189 Td -(void \(*)Tj -/T1_2 1 Tf -(child)Tj -/TT0 1 Tf -(\)\(void\)\);)Tj -/T1_1 1 Tf -9.881 -1.783 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6110.25 cm -0 0 m -0 563 l -3900 563 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.055 Tc 9.9988 0 0 9.9988 147.5823 599.828 Tm -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj -/TT0 1 Tf -1.27 0 Td -(pthread_atfork)Tj -/T1_1 1 Tf -[(,)-362(we)-362(c)1(an )-112(install )-112(up )-112(to )-112(thr)20(ee )-111(functions )-111(to )-111(help )-111(clean )-111(up )-111(the)]TJ --4.306 -1.2 Td -[(locks. )-434(The)]TJ -/T1_2 1 Tf -5.302 0 Td -[(pr)18(epar)18(e)]TJ -/T1_1 1 Tf -3.398 0 Td -[(fork )-184(handler )-184(is )-184(called )-184(in )-184(the )-184(par)18(ent )-184(befor)19(e)]TJ -/TT0 1 Tf -19.963 0 Td -(fork)Tj -/T1_1 1 Tf -2.834 0 Td -[(cr)18(eates )-184(the )-184(child)]TJ --31.497 -1.2 Td -[(pr)18(ocess. )-282(This)-283(fork )-32(handler)-74(\325s )-32(job )-32(is )-32(to )-32(acquir)]TJ -0.2825 Tc 19.423 0 Td -(ea)Tj -0 Tc 1.261 0 Td -[(ll )-32(locks )-32(de\336ned )-32(by )-32(the )-32(par)16(ent. )-282(The)]TJ -/T1_2 1 Tf -15.722 0 Td -[(par)18(ent)]TJ -/T1_1 1 Tf --36.407 -1.2 Td -[(fork )-218(handler )-218(is )-218(called )-218(in )-218(the )-218(context )-218(of )-218(the )-218(par)18(ent )-218(after)]TJ -/TT0 1 Tf -26.398 0 Td -(fork)Tj -/T1_1 1 Tf -2.869 0 Td -[(has )-219(cr)18(eated )-219(the )-219(child)]TJ --29.266 -1.2 Td -[(pr)18(ocess, )-38(but )-38(befor)18(e)]TJ -/TT0 1 Tf -8.658 0 Td -(fork)Tj -/T1_1 1 Tf -2.688 0 Td -[(has )-38(r)18(eturned. )-288(This)-288(fork )-38(handler)-74(\325s )-38(job )-38(is )-38(to )-38(unlock )-38(all )-38(the )-38(locks)]TJ --11.346 -1.2 Td -[(acquir)18(ed )-109(by )-109(the)]TJ -/T1_2 1 Tf -7.437 0 Td -[(pr)18(epar)18(e)]TJ -/T1_1 1 Tf -3.323 0 Td -[(fork )-109(handler)]TJ -0.6089 Tc 5.555 0 Td -(.T)Tj -0 Tc 1.472 0 Td -(he)Tj -/T1_2 1 Tf -1.42 0 Td -(child)Tj -/T1_1 1 Tf -2.322 0 Td -[(fork )-109(handler )-109(is )-109(called )-109(in )-109(the )-109(context )-109(of)]TJ --21.529 -1.2 Td -[(the )-4(child )-4(pr)17(ocess )-4(befor)]TJ -0.2542 Tc 9.952 0 Td -(er)Tj -0 Tc 1.11 0 Td -[(eturning )-4(fr)18(om)]TJ -/TT0 1 Tf -6.461 0 Td -(fork)Tj -/T1_1 1 Tf -0.5042 Tc (.L)Tj -0 Tc 3.765 0 Td -[(ike )-4(the)]TJ -/T1_2 1 Tf -3.221 0 Td -[(par)18(ent)]TJ -/T1_1 1 Tf -2.847 0 Td -[(fork )-4(handler)]TJ -0.2542 Tc 5.45 0 Td -(,t)Tj -0 Tc 0.83 0 Td -(he)Tj -/T1_2 1 Tf -1.315 0 Td -(child)Tj -/T1_1 1 Tf -2.217 0 Td -(fork)Tj --37.17 -1.2 Td -[(handler must r)18(elease all the locks acquir)18(ed by the)]TJ -/T1_2 1 Tf -22.046 0 Td -[(pr)18(epar)18(e)]TJ -/T1_1 1 Tf -3.214 0 Td -[(fork handler)74(.)]TJ --23.46 -1.2 Td -[(Note )-178(that )-178(the )-178(locks )-178(ar)]TJ -0.4277 Tc 10.152 0 Td -(en)Tj -0 Tc 1.489 0 Td -[(ot )-178(locked )-178(once )-178(and )-178(unlocked )-178(twice, )-178(as )-178(it )-178(might )-178(appear)77(.)]TJ --13.441 -1.2 Td -[(When )-215(the )-215(child )-215(addr)18(ess )-215(space )-215(is )-215(cr)18(eated, )-215(it )-215(gets )-215(a )-215(copy )-215(of )-215(all )-215(locks )-215(that )-215(the )-215(par)19(ent)]TJ -0 -1.2 TD -[(de\336ned. )-441(Because)-442(the)]TJ -/T1_2 1 Tf -10.118 0 Td -[(pr)18(epar)18(e)]TJ -/T1_1 1 Tf -3.405 0 Td -[(fork )-191(handler )-191(acquir)18(ed )-191(all )-191(the )-191(locks, )-191(the )-191(memory )-191(in )-191(the)]TJ --13.523 -1.2 Td -[(par)18(ent )-67(and )-67(the )-67(memory )-67(in )-67(the )-67(child )-67(start )-67(out )-67(with )-67(identical )-67(contents.)-566(When )-67(the )-67(par)18(ent)]TJ -0 -1.2 Td -[(and )-95(the )-95(child )-95(unlock )-95(their )-95(\324)38(\324copy\325)37(\325)-345(of)-345(the )-95(locks, )-95(new )-95(memory )-95(is )-95(allocated )-95(for )-95(the )-95(child,)]TJ -0 -1.2 Td -[(and )-100(the )-100(memory )-100(contents )-100(fr)18(om )-100(the )-100(par)18(ent )-100(ar)]TJ -0.3503 Tc 20.251 0 Td -(ec)Tj -0 Tc 1.273 0 Td -[(opied )-100(to )-100(the )-100(child\325s )-100(memory )-100(\(copy-on-)]TJ --21.524 -1.2 Td -[(write\), )-83(so )-83(we )-83(ar)]TJ -0.3328 Tc 7.066 0 Td -(el)Tj -0 Tc 1.103 0 Td -[(eft )-83(with )-83(a )-83(situation )-83(that )-83(looks )-83(as )-83(if )-83(the )-83(par)20(ent )-83(locked )-83(all )-83(its )-83(copies )-83(of)]TJ --8.169 -1.2 Td -[(the )-84(locks )-84(and )-84(the )-84(child )-84(locked )-84(all )-84(its )-84(copies )-84(of )-84(the )-84(locks.)-584(The )-84(par)15(ent )-84(and )-84(the )-84(child )-84(end)]TJ -T* -[(up )-113(unlocking )-113(duplicate )-113(locks )-113(stor)18(ed )-113(in )-113(dif)15(fer)18(ent )-113(memory )-113(locations, )-113(as )-113(if )-113(the )-113(following)]TJ --0 -1.2 Td -[(sequence of events occurr)18(ed:)]TJ -1.8 -1.56 Td -[(1. )-633(The)-250(par)18(ent acquir)18(ed all its locks.)]TJ -0 -1.48 TD -[(2. )-633(The)-250(child acquir)18(ed all its locks.)]TJ -T* -[(3. )-633(The)-250(par)18(ent r)18(eleased its locks.)]TJ -T* -[(4. )-633(The)-250(child r)18(eleased its locks.)]TJ --0.092 Tc 0 -1.56 TD -[(We )-303(c)]TJ -0 Tc 2.2 0 Td -[(an )-119(call)]TJ -/TT0 1 Tf -3.346 0 Td -(pthread_atfork)Tj -/T1_1 1 Tf -8.769 0 Td -[(multiple )-119(times )-119(to )-119(install )-119(mor)]TJ -0.3689 Tc 13.027 0 Td -(et)Tj -0 Tc 1.174 0 Td -[(han )-119(one )-119(set )-119(of )-119(fork)]TJ --30.315 -1.2 Td -[(handlers. )-272(If)-272(we )-22(don\325t )-22(have )-22(a )-22(need )-22(to )-22(use )-22(one )-22(of )-22(the )-22(handlers, )-22(we )-22(can )-22(pass )-22(a )-22(null )-22(pointer)]TJ -0 -1.2 TD -[(for )-182(the )-182(particular )-182(handler )-182(ar)18(gument, )-182(and )-182(it )-182(will )-182(have )-182(no )-182(ef)21(fect. )-432(When)-431(multiple )-182(fork)]TJ -T* -[(handlers )-141(ar)]TJ -0.3915 Tc 5.133 0 Td -(eu)Tj -0 Tc 1.474 0 Td -[(sed, )-141(the )-141(or)18(der )-141(in )-141(which )-141(the )-141(handlers )-141(ar)]TJ -0.3915 Tc 18.033 0 Td -(ec)Tj -0 Tc 1.314 0 Td -[(alled )-141(dif)18(fers. )-391(The)]TJ -/T1_2 1 Tf -8.369 0 Td -[(par)18(ent)]TJ -/T1_1 1 Tf -2.984 0 Td -(and)Tj -/T1_2 1 Tf --37.307 -1.2 Td -(child)Tj -/T1_1 1 Tf -2.34 0 Td -[(fork )-127(handlers )-127(ar)]TJ -0.3767 Tc 7.325 0 Td -(ec)Tj -0 Tc 1.3 0 Td -[(alled )-127(in )-127(the )-127(or)18(der )-127(in )-127(which )-127(they )-127(wer)]TJ -0.3767 Tc 16.716 0 Td -(er)Tj -0 Tc 1.233 0 Td -[(egister)18(ed, )-127(wher)18(eas )-127(the)]TJ -/T1_2 1 Tf --28.913 -1.2 Td -[(pr)18(epar)18(e)]TJ -/T1_1 1 Tf -3.291 0 Td -[(fork )-77(handlers )-77(ar)]TJ -0.3273 Tc 7.226 0 Td -(ec)Tj -0 Tc 1.25 0 Td -[(alled )-77(in )-77(the )-77(opposite )-77(or)18(der )-77(fr)18(om )-77(which )-77(they )-77(wer)]TJ -0.3274 Tc 21.777 0 Td -(er)Tj -0 Tc 1.183 0 Td -[(egister)18(ed.)]TJ --34.728 -1.2 Td -[(This )-210(or)18(dering )-210(allows )-210(multiple )-210(modules )-210(to )-210(r)18(egister )-210(their )-210(own )-210(fork )-210(handlers )-210(and )-210(still)]TJ -T* -[(honor the locking hierar)18(chy)111(.)]TJ -1.8 -1.2 Td -[(For )-118(example, )-118(assume )-118(that )-118(module )-118(A )-118(calls )-118(functions )-118(fr)15(om )-118(module )-118(B )-118(and )-118(that )-118(each)]TJ --1.8 -1.2 Td -[(module )-62(has )-62(its )-62(own )-62(set )-62(of )-62(locks.)-562(If )-62(the )-62(locking )-62(hierar)18(chy )-62(is )-62(A )-62(befor)22(e)-312(B,)-312(m)1(odule )-62(B )-62(must)]TJ -0 -1.2 Td -[(install )-131(its )-131(fork )-131(handlers )-131(befor)]TJ -0.3808 Tc 13.251 0 Td -(em)Tj -0 Tc 1.743 0 Td -[(odule )-131(A.)-631(When )-131(the )-131(par)18(ent )-131(calls)]TJ -/TT0 1 Tf -14.938 0 Td -(fork)Tj -/T1_1 1 Tf -0.3808 Tc (,t)Tj -0 Tc 3.357 0 Td -[(he )-131(following)]TJ --33.288 -1.2 Td -(steps ar)Tj -0.25 Tc 3.381 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(aken, assuming that the child pr)18(ocess r)8(uns befor)]TJ -0.25 Tc 21.299 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(he par)18(ent:)]TJ --24.99 -1.56 Td -[(1. )-633(The)]TJ -/T1_2 1 Tf -3.671 0 Td -[(pr)18(epar)18(e)]TJ -/T1_1 1 Tf -3.328 0 Td -[(fork )-114(handler )-114(fr)18(om )-114(module )-114(A )-114(is )-114(called )-114(to )-114(acquir)]TJ -0.3637 Tc 21.488 0 Td -(ea)Tj -0 Tc 1.343 0 Td -[(ll )-114(of )-114(module )-114(A)75(\325s)]TJ --28.196 -1.2 Td -(locks.)Tj --1.633 -1.48 Td -[(2. )-633(The)]TJ -/T1_2 1 Tf -3.689 0 Td -[(pr)18(epar)18(e)]TJ -/T1_1 1 Tf -3.346 0 Td -[(fork )-132(handler )-132(fr)18(om )-132(module )-132(B )-132(is )-132(called )-132(to )-132(acquir)]TJ -0.3823 Tc 21.469 0 Td -(ea)Tj -0 Tc 1.361 0 Td -[(ll )-132(of )-132(module )-132(B\325s)]TJ --28.233 -1.2 Td -(locks.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47632 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(801)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(48 )-1200(/*)]TJ -0 -1.189 TD -[(49 )-1800(*)-600(Structure describing a print request.)]TJ -T* -[(50 )-1800(*/)]TJ -T* -[(51 )-1200(struct)-600(printreq {)]TJ -T* -[(52 )-3000(uint32_t)-600(size; )]TJ -21.6 0 Td -[(/*)-600(size in bytes */)]TJ --21.6 -1.189 Td -[(53 )-3000(uint32_t)-600(flags; )]TJ -21.6 0 Td -[(/*)-600(see below */)]TJ --21.6 -1.189 Td -[(54 )-3000(char)-600(usernm[USERNM_MAX]; )-1800(/*)-600(user\325s name */)]TJ -T* -[(55 )-3000(char)-600(jobnm[JOBNM_MAX]; )-3000(/*)-600(job\325s name */)]TJ -T* -[(56 )-1200(};)]TJ -0 -2.021 TD -[(57 )-1200(/*)]TJ -0 -1.189 TD -[(58 )-1800(*)-600(Request flags.)]TJ -T* -[(59 )-1800(*/)]TJ -T* -[(60 )-1200(#define)-600(PR_TEXT )-4200(0x01)-2400(/* treat file as plain text */)]TJ -0 -2.021 TD -[(61 )-1200(/*)]TJ -0 -1.189 TD -[(62 )-1800(*)-600(The response from the spooling daemon to the print command.)]TJ -T* -[(63 )-1800(*/)]TJ -T* -[(64 )-1200(struct)-600(printresp {)]TJ -T* -[(65 )-3000(uint32_t)-600(retcode; )]TJ -21.6 0 Td -[(/*)-600(0=success, !0=error code */)]TJ --21.6 -1.189 Td -[(66 )-3000(uint32_t)-600(jobid; )]TJ -21.6 0 Td -[(/*)-600(job ID */)]TJ --21.6 -1.189 Td -[(67 )-3000(char)-600(msg[MSGLEN_MAX]; )-3600(/*)-600(error message */)]TJ -T* -[(68 )-1200(};)]TJ -0 -2.021 TD -[(69 )-1200(#endif)-600(/* _PRINT_H */)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4075.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 383.482 Tm -[([48 )167(\320 )167(69])-668(The)]TJ -/TT0 1 Tf -6.13 0 Td -(printreq)Tj -/T1_0 1 Tf -5.256 0 Td -(and)Tj -/TT0 1 Tf -2.149 0 Td -(printresp)Tj -/T1_0 1 Tf -5.856 0 Td -[(str)8(uctur)18(es )-206(de\336ne )-206(the )-206(pr)18(otocol )-206(between )-206(the)]TJ --15.39 -1.2 Td -[(print )-13(command )-13(and )-13(the )-13(printer )-13(spooling )-13(daemon.)-510(The)]TJ -/TT0 1 Tf -24.506 0 Td -(print)Tj -/T1_0 1 Tf -3.263 0 Td -[(command )-13(sends)]TJ --27.768 -1.2 Td -(a)Tj -/TT0 1 Tf -0.765 0 Td -(printreq)Tj -/T1_0 1 Tf -5.065 0 Td -[(str)8(uctur)]TJ -0.2654 Tc 3.49 0 Td -(es)Tj -0 Tc 1.168 0 Td -[(pecifying )-15(the )-15(size )-15(of )-15(the )-15(job )-15(in )-15(bytes, )-15(job )-15(characteristics,)]TJ --10.489 -1.2 Td -[(the )-28(user )-28(name, )-28(and )-28(the )-28(job )-28(name )-28(to )-28(the )-28(printer )-28(spooling )-28(daemon.)-534(The )-28(daemon)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(sponds )-175(with )-175(a)]TJ -/TT0 1 Tf -6.997 0 Td -(printresp)Tj -/T1_0 1 Tf -5.826 0 Td -[(str)8(uctur)]TJ -0.4255 Tc 3.49 0 Td -(ec)Tj -0 Tc 1.349 0 Td -[(ontaining )-175(a )-175(r)17(eturn )-176(code, )-176(the )-176(job )-176(ID,)]TJ --18.518 -1.2 Td -[(and an err)18(or message if the r)18(equest failed.)]TJ -0 -1.8 TD -(The)Tj -/TT0 1 Tf -2.008 0 Td -(PR_TEXT)Tj -/T1_0 1 Tf -4.534 0 Td -[(job )-84(characteristic )-84(indicates )-84(that )-84(the )-84(\336le )-84(being )-84(printed )-84(should )-84(be)]TJ --6.542 -1.2 Td -[(tr)18(eated )-312(as )-312(plaintext )-312(\(instead )-312(of )-312(PostScript\).)]TJ --0.092 Tc 21.047 0 Td -[(We )-496(d)]TJ -0 Tc 2.56 0 Td -[(e\336ne )-312(a )-312(bitmask )-312(of )-312(\337ags)]TJ --23.607 -1.2 Td -[(instead )-29(of )-29(de\336ning )-29(a )-29(separate )-29(\336eld )-29(for )-29(each )-29(\337ag.)-525(Although )-28(only )-28(one )-28(\337ag )-28(value)]TJ -0 -1.2 TD -[(is )-126(curr)18(ently )-126(de\336ned, )-126(we )-126(could )-126(extend )-126(the )-126(pr)17(otocol )-126(in )-126(the )-126(futur)17(e)-376(to)-376(add )-126(mor)18(e)]TJ -0 -1.2 Td -[(characteristics. )-509(For)-510(example, )-259(we )-259(could )-259(add )-259(a )-259(\337ag )-259(to )-259(r)18(equest )-259(double-sided)]TJ -T* -[(printing. )-492(W)]TJ -0.4919 Tc 5.524 0 Td -(eh)Tj -0 Tc 1.553 0 Td -[(ave )-242(r)18(oom )-242(for )-242(31 )-242(additional )-242(\337ags )-242(without )-242(r)18(equiring )-242(that )-242(we)]TJ --7.077 -1.2 Td -[(change )-40(the )-40(size )-40(of )-40(the )-40(str)10(uctur)18(e. )-290(Changing)-289(the )-40(size )-40(of )-40(the )-40(str)10(uctur)]TJ -0.2896 Tc 29.34 0 Td -(em)Tj -0 Tc 1.652 0 Td -[(eans )-40(that)]TJ --30.991 -1.2 Td -[(we )-51(might )-51(intr)18(oduce )-51(a )-51(compatibility )-51(pr)18(oblem )-51(between )-51(the )-51(client )-51(and )-51(the )-51(server)]TJ -T* -[(unless )-43(we )-43(upgrade )-43(both )-43(at )-43(the )-43(same )-43(time.)-542(An )-43(alternative )-43(appr)18(oach )-43(is )-43(to )-43(add )-43(a)]TJ -T* -[(version )-136(number )-136(to )-136(the )-136(messages )-136(to )-136(allow )-136(the )-136(str)11(uctur)18(es )-136(to )-136(change )-136(with )-136(each)]TJ -T* -(version.)Tj -0 -1.8 TD -[(Note )-40(that )-40(we )-40(de\336ne )-40(all )-40(integers )-40(in )-40(the )-40(pr)16(otocol )-40(str)8(uctur)18(es )-40(with )-40(an )-40(explicit )-40(size.)]TJ -0 -1.2 Td -[(This )-131(helps )-131(avoid )-131(misaligned )-131(str)8(uctur)]TJ -0.381 Tc 16.722 0 Td -(ee)Tj -0 Tc 1.339 0 Td -[(lements )-131(when )-131(a )-131(client )-131(has )-131(a )-131(dif)18(fer)18(ent)]TJ --18.061 -1.2 Td -[(long integer size than the server)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47633 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(893)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(ssize_t)Tj -/TT1 1 Tf -6 0 Td -(write)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst void *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 9.697 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -(\);)Tj --14.375 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 72)Tj --28.125 -1.5 Td -(Returns: number of bytes written if OK,)Tj -/TT2 1 Tf -17.808 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --31.308 -3.125 Td -(ssize_t)Tj -/TT1 1 Tf -6 0 Td -(writev)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst struct iovec *)Tj -/T1_2 1 Tf -(iov)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 14.422 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(iovcnt)Tj -/TT0 1 Tf -(\);)Tj --17.9 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 521)Tj --28.125 -1.5 Td -(Returns: number of bytes written if OK,)Tj -/TT2 1 Tf -17.808 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47634 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(794)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(chapter)Tj -0.7941 Tc 3.253 0 Td -(,o)Tj -0 Tc 1.59 0 Td -[(ur )-544(inter)18(est )-544(is )-544(not )-544(in )-544(these )-544(spooling )-544(systems )-544(per )-544(se, )-544(but )-544(rather )-544(in)]TJ --4.843 -1.2 Td -[(communicating )-37(with )-37(a )-37(network )-37(printer)]TJ -0.5373 Tc 17.326 0 Td -(.W)Tj -0.2873 Tc 1.695 0 Td -(en)Tj -0 Tc 1.348 0 Td -[(eed )-37(to )-37(develop )-37(a )-37(spooling )-37(system )-37(to )-37(solve)]TJ --20.37 -1.2 Td -[(the pr)18(oblem of multiuser access to a single r)18(esour)18(ce \(the printer\).)]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-397(u)]TJ -0 Tc 2.453 0 Td -[(se )-213(a )-213(simple )-213(command )-213(that )-213(r)17(eads )-213(a )-213(\336le )-213(and )-213(sends )-213(it )-213(to )-213(the )-213(printer )-213(spooler)]TJ --4.253 -1.2 Td -[(daemon. )-360(The)-360(command )-110(has )-110(one )-110(option )-110(to )-110(for)18(ce )-110(the )-110(\336le )-110(to )-110(be )-110(tr)18(eated )-110(as )-110(plaintext )-110(\(the)]TJ -0 -1.2 TD -(default assumes that the \336le is PostScript\).)Tj --0.092 Tc 19.156 0 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -(all this command)Tj -/TT0 1 Tf -7.904 0 Td -(print)Tj -/T1_1 1 Tf -(.)Tj --27.341 -1.2 Td -[(In )-95(our )-95(printer )-95(spooler )-95(daemon,)]TJ -/TT0 1 Tf -14.392 0 Td -(printd)Tj -/T1_1 1 Tf -[(,)-345(we)-345(u)-1(se )-95(multiple )-95(thr)18(eads )-95(to )-95(divide )-95(up )-95(the)]TJ --16.192 -1.2 Td -(work that the daemon needs to accomplish.)Tj -0.883 Tc 1.8 -2.04 Td -(\245O)Tj -0 Tc 2.275 0 Td -[(ne )-265(thr)18(ead )-265(listens )-265(on )-265(a )-265(socket )-265(for )-265(new )-265(print )-265(r)16(equests )-265(arriving )-265(fr)18(om )-265(clients)]TJ --0.008 Tc -0.786 -1.2 Td -(ru)Tj -0 Tc 0.99 0 Td -(nning the)Tj -/TT0 1 Tf -4.48 0 Td -(print)Tj -/T1_1 1 Tf -3.25 0 Td -(command.)Tj -0.883 Tc -10.209 -1.6 Td -(\245A)Tj -0 Tc 2.615 0 Td -[(separate )-98(thr)18(ead )-98(is )-98(spawned )-98(for )-98(each )-98(client )-98(to )-98(copy )-98(the )-98(\336le )-98(to )-98(be )-98(printed )-98(to )-98(a)]TJ --1.126 -1.2 Td -[(spooling ar)18(ea.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245O)Tj -0 Tc 2.275 0 Td -[(ne )-21(thr)18(ead )-21(communicates )-21(with )-21(the )-21(printer)]TJ -0.271 Tc 18.111 0 Td -(,s)Tj -0 Tc 0.945 0 Td -[(ending )-21(it )-21(queued )-21(jobs )-21(one )-21(at )-21(a )-21(time.)]TJ -0.883 Tc -21.331 -1.6 Td -(\245O)Tj -0 Tc 2.275 0 Td -[(ne thr)18(ead handles signals.)]TJ --4.075 -2.16 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.229 0 Td -[(1.6 shows how these components \336t together)74(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1680 3566 216 288 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 168.7917 374.1951 Tm -(\336le to)Tj -0.151 -1.25 Td -(print)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2040 4142 432 288 re -S -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 213.5616 431.7623 Tm -(print)Tj -/T1_1 1 Tf --0.725 -1.25 Td -(command)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -3048 4106 504 360 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 315.5243 436.7352 Tm -(printd)Tj -/T1_1 1 Tf -0.265 -1.25 Td -(printer)Tj --0.106 -1.25 Td -(spooler)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -3732 3710 216 288 re -S -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 375.3874 383.5249 Tm -(\336le 1)Tj -ET -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 416.4 385.4 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 4164 3854 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3948.25 3854.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -4164 3710 216 288 re -S -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 418.5493 383.5019 Tm -(\336le 2)Tj -ET -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 459.6 385.4 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 4596 3854 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4380.25 3854.25 cm -0 0 m -144 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -4596 3710 216 288 re -S -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 461.706 383.4789 Tm -(\336le 3)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -2256 3638 432 144 re -S -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 229.6577 369.0628 Tm -(con\336g \336le)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 204 414.2 cm -0 0 m --3.384 -6.624 l --6.12 -4.248 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 2040 4142 cm -0 0 m --33.84 -66.24 l --61.2 -42.48 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1788.25 3854.25 cm -0 0 m -204 234 l -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 247.2 428.6 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 2472 4286 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 304.8 428.6 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 3048 4286 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2544.25 4286.25 cm -0 0 m -432 0 l -S -Q -Q -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 373.2 399.8 cm -0 0 m --5.328 5.184 l --2.304 7.056 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 3732 3998 cm -0 0 m --53.28 51.84 l --23.04 70.56 l -h -S -Q -Q -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 355.2 428.6 cm -0 0 m -5.328 -5.184 l -2.304 -7.056 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 3552 4286 cm -0 0 m -53.28 -51.84 l -23.04 -70.56 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3694.25 4059.25 cm -0 0 m --104 166 l -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 225.6 414.2 cm -0 0 m -4.32 -6.048 l -1.008 -7.416 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 2256 4142 cm -0 0 m -43.2 -60.48 l -10.08 -74.16 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2400.25 3782.25 cm -0 0 m --118 293 l -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 304.8 410.6 cm -0 0 m --5.112 -5.4 l --7.056 -2.376 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 3048 4106 cm -0 0 m --51.12 -54 l --70.56 -23.76 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2544.25 3782.25 cm -0 0 m -443 285 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -3084 3170 432 288 re -S -Q -BT -/T1_1 1 Tf -7.9928 0 0 7.9928 317.4382 329.3434 Tm -(printer)Tj -ET -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 330 345.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 3300 3458 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 330 410.6 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 3300 4106 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3300.25 3530.25 cm -0 0 m -0 504 l -S -Q -Q -BT -/T1_1 1 Tf -7.9918 0 0 7.9918 383.6085 412.0195 Tm -(queue of \336les to be printed)Tj -/T1_0 1 Tf --16.683 -15.08 Td -(Figure 21.6)Tj -/T1_1 1 Tf -5.695 0 Td -(Printer spooling components)Tj -9.9898 0 0 9.9898 147.4497 262.7319 Tm -[(The )-43(print )-43(con\336guration )-43(\336le )-43(is)]TJ -/TT0 1 Tf -13.401 0 Td -(/etc/printer.conf)Tj -/T1_1 1 Tf -0.5433 Tc (.I)Tj -0.2933 Tc 11.33 0 Td -(ti)Tj -0 Tc 0.91 0 Td -[(denti\336es )-43(the )-43(host )-43(name )-43(of)]TJ --27.442 -1.2 Td -[(the )-213(server )-213(r)9(unning )-212(the )-212(printer )-212(spooling )-212(daemon )-212(and )-212(the )-212(host )-212(name )-212(of )-212(the )-212(network)]TJ -T* -(printer)Tj -0.6442 Tc 2.995 0 Td -(.T)Tj -0 Tc 1.507 0 Td -[(he )-144(spooling )-144(daemon )-144(is )-144(identi\336ed )-144(by )-144(a )-144(line )-144(starting )-144(with )-144(the)]TJ -/TT0 1 Tf -27.897 0 Td -(printserver)Tj -/T1_1 1 Tf --32.4 -1.2 Td -[(keywor)18(d, )-214(followed )-214(by )-214(white )-214(space )-214(and )-214(the )-214(host )-214(name )-214(of )-214(the )-214(server)]TJ -0.7144 Tc 31.648 0 Td -(.T)Tj -0 Tc 1.577 0 Td -[(he )-214(printer )-214(is)]TJ --33.226 -1.2 Td -[(identi\336ed )-100(by )-100(a )-100(line )-100(starting )-100(with )-100(the)]TJ -/TT0 1 Tf -16.797 0 Td -(printer)Tj -/T1_1 1 Tf -4.55 0 Td -[(keywor)18(d, )-100(followed )-100(by )-100(white )-100(space )-100(and)]TJ --21.347 -1.2 Td -[(the host name of the printer)74(.)]TJ -0.25 Tc 1.8 -1.2 Td -(As)Tj -0 Tc 1.452 0 Td -(ample printer con\336guration \336le might contain the following lines:)Tj -/TT0 1 Tf -8.9908 0 0 8.9908 201.395 174.1223 Tm -[(printserver )-1133(fujin)]TJ -0 -1.189 TD -[(printer )-3533(phaser8560)]TJ -/T1_1 1 Tf -9.9898 0 0 9.9898 129.4684 145.4516 Tm -[(wher)18(e)]TJ -/TT0 1 Tf -3.16 0 Td -(fujin)Tj -/T1_1 1 Tf -3.409 0 Td -[(is )-159(the )-159(host )-159(name )-159(of )-159(the )-159(computer )-159(system )-159(r)10(unning )-159(the )-159(printer )-159(spooling)]TJ --6.569 -1.2 Td -[(daemon, )-101(and)]TJ -/TT0 1 Tf -6.246 0 Td -(phaser8560)Tj -/T1_1 1 Tf -6.351 0 Td -[(is )-101(the )-101(host )-101(name )-101(of )-101(the )-101(network )-101(printer)]TJ -0.601 Tc 17.86 0 Td -(.W)Tj -0.351 Tc 1.759 0 Td -(ea)Tj -0 Tc 1.33 0 Td -[(ssume )-101(these)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47635 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(268)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(status;)]TJ -0 -2.14 TD -(if \(argc < 2\))Tj -2.4 -1.189 Td -(err_quit\("command-line argument required"\);)Tj --2.4 -2.14 Td -(if \(\(status = system\(argv[1]\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("system\(\) error"\);)Tj --2.4 -2.14 Td -(pr_exit\(status\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4942.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 210.2668 478.1406 Tm -(Figure 8.24)Tj -/T1_1 1 Tf -5.695 0 Td -(Execute the command)Tj -9.794 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line ar)18(gument using)]TJ -/TT0 1 Tf -9.155 0 Td -(system)Tj -/T1_1 1 Tf --0.092 Tc 9.9988 0 0 9.9988 129.5839 454.1435 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ll compile this pr)18(ogram into the executable \336le)]TJ -/TT0 1 Tf -21.053 0 Td -(tsys)Tj -/T1_1 1 Tf -(.)Tj --20.64 -1.2 Td -(Figur)Tj -0.2623 Tc 2.383 0 Td -(e8)Tj -0 Tc 1.241 0 Td -[(.25 )-12(shows )-12(another )-12(simple )-12(pr)18(ogram )-12(that )-12(prints )-12(its )-12(r)18(eal )-12(and )-12(ef)18(fective )-12(user )-12(IDs.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4350.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9984 0 0 8.9984 129.5767 425.4204 Tm -(#include "apue.h")Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("real uid = %d, effective uid = %d\\n", getuid\(\), geteuid\(\)\)\ ;)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3479.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 246.0209 331.8563 Tm -(Figure 8.25)Tj -/T1_1 1 Tf -5.695 0 Td -[(Print r)18(eal and ef)18(fective user IDs)]TJ --0.092 Tc 9.9976 0 0 9.9976 129.5691 307.8621 Tm -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-429(compile )-429(this )-429(pr)18(ogram )-429(into )-429(the )-429(executable )-429(\336le)]TJ -/TT0 1 Tf -24.484 0 Td -(printuids)Tj -/T1_1 1 Tf -0.9289 Tc (.R)Tj -0 Tc 7.247 0 Td -[(unning )-429(both)]TJ --33.118 -1.2 Td -[(pr)18(ograms gives us the following:)]TJ -/TT0 1 Tf -8.9978 0 0 8.9978 147.5648 277.0297 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(tsys printuids)Tj -/T1_2 1 Tf -21.2 0 Td -(normal execution, no special privileges)Tj -/TT0 1 Tf --22.4 -1.189 Td -(real uid = 205, effective uid = 205)Tj -T* -(normal termination, exit status = 0)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(su)Tj -/T1_2 1 Tf -21.2 0 Td -(become superuser)Tj -/TT0 1 Tf --22.4 -1.189 Td -(Password:)Tj -/T1_2 1 Tf -22.4 0 Td -(enter superuser password)Tj -/TT0 1 Tf --22.4 -1.189 Td -(#)Tj -/TT1 1 Tf -1.2 0 Td -(chown root tsys)Tj -/T1_2 1 Tf -21.2 0 Td -(change owner)Tj -/TT0 1 Tf --22.4 -1.189 Td -(#)Tj -/TT1 1 Tf -1.2 0 Td -(chmod u+s tsys)Tj -/T1_2 1 Tf -21.2 0 Td -(make set-user-ID)Tj -/TT0 1 Tf --22.4 -1.189 Td -(#)Tj -/TT1 1 Tf -1.2 0 Td -(ls -l tsys)Tj -/T1_2 1 Tf -21.2 0 Td -(verify \336le\325)Tj -0.25 Tc 4.002 0 Td -(sp)Tj -0 Tc 1.139 0 Td -(ermissions and owner)Tj -/TT0 1 Tf --27.541 -1.189 Td -[(-rwsrwxr-x )-600(1)-600(root )-1800(7888)-600(Feb 25 22:13 tsys)]TJ -T* -(#)Tj -/TT1 1 Tf -1.2 0 Td -(exit)Tj -/T1_2 1 Tf -21.2 0 Td -(leave superuser shell)Tj -/TT0 1 Tf --22.4 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(tsys printuids)Tj -/TT0 1 Tf --1.2 -1.189 Td -(real uid = 205, effective uid = 0)Tj -/T1_2 1 Tf -22.4 0 Td -(oops, this is a security hole)Tj -/TT0 1 Tf --22.4 -1.189 Td -(normal termination, exit status = 0)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47636 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(976)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(_POSIX_ASYNCHRONOUS_IO)Tj -/T1_1 1 Tf -13.617 0 Td -[(constant, )-250(54,)-250(57)]TJ -/TT0 1 Tf --13.617 -1.25 Td -(_POSIX_ASYNC_IO)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(55)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(_POSIX_BARRIERS)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(54,)-250(57)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(_POSIX_CHILD_MAX)Tj -/T1_1 1 Tf -10.017 0 Td -[(constant, )-250(39)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40)Tj -/TT0 1 Tf --16.163 -1.25 Td -(_POSIX_CHOWN_RESTRICTED)Tj -/T1_1 1 Tf -14.217 0 Td -[(constant, )-250(55,)-250(57,)]TJ --0.055 Tc -11.517 -1.25 Td -(11)Tj -0 Tc 0.945 0 Td -(0)Tj -/TT0 1 Tf --3.645 -1.25 Td -(_POSIX_CLOCKRES_MIN)Tj -/T1_1 1 Tf -11.817 0 Td -[(constant, )-250(38)]TJ -/TT0 1 Tf --11.817 -1.25 Td -(_POSIX_CLOCK_SELECTION)Tj -/T1_1 1 Tf -13.617 0 Td -[(constant, )-250(54,)-250(57)]TJ -/TT0 1 Tf --13.617 -1.25 Td -(_POSIX_CPUTIME)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(31,)-250(189)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(_POSIX_C_SOURCE)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(57)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(58, 84, 240)Tj -/TT0 1 Tf --15.563 -1.25 Td -(_POSIX_DELAYTIMER_MAX)Tj -/T1_1 1 Tf -13.017 0 Td -[(constant, )-250(39)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40)Tj -/TT0 1 Tf --19.163 -1.25 Td -(posix_fadvise)Tj -/T1_1 1 Tf -8.217 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(posix_fallocate)Tj -/T1_1 1 Tf -9.417 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(_POSIX_FSYNC)Tj -/T1_1 1 Tf -7.617 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(_POSIX_HOST_NAME_MAX)Tj -/T1_1 1 Tf -12.417 0 Td -[(constant, )-250(39)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40)Tj -/TT0 1 Tf --18.563 -1.25 Td -(_POSIX_IPV6)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(_POSIX_JOB_CONTROL)Tj -/T1_1 1 Tf -11.217 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --11.217 -1.25 Td -(_POSIX_LINK_MAX)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(39)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(_POSIX_LOGIN_NAME_MAX)Tj -/T1_1 1 Tf -13.017 0 Td -[(constant, )-250(39)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40)Tj -/TT0 1 Tf --19.163 -1.25 Td -(POSIXLY_CORRECT)Tj -/T1_1 1 Tf -9.417 0 Td -[(envir)18(onment variable,)]TJ --0.055 Tc 10.266 0 Td -(111)Tj -/TT0 1 Tf -0 Tc -19.683 -1.25 Td -(posix_madvise)Tj -/T1_1 1 Tf -8.217 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(_POSIX_MAPPED_FILES)Tj -/T1_1 1 Tf -11.817 0 Td -[(constant, )-250(54,)-250(57)]TJ -/TT0 1 Tf --11.817 -1.25 Td -(_POSIX_MAX_CANON)Tj -/T1_1 1 Tf -10.017 0 Td -[(constant, )-250(39)]TJ -/TT0 1 Tf --10.017 -1.25 Td -(_POSIX_MAX_INPUT)Tj -/T1_1 1 Tf -10.017 0 Td -[(constant, )-250(39)]TJ -/TT0 1 Tf --10.017 -1.25 Td -(_POSIX_MEMLOCK)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(_POSIX_MEMLOCK_RANGE)Tj -/T1_1 1 Tf -12.417 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --12.417 -1.25 Td -(_POSIX_MEMORY_PROTECTION)Tj -/T1_1 1 Tf -14.817 0 Td -[(constant, )-250(54,)-250(57)]TJ -/TT0 1 Tf --14.817 -1.25 Td -(_POSIX_MESSAGE_PASSING)Tj -/T1_1 1 Tf -13.617 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --13.617 -1.25 Td -(_POSIX_MONOTONIC_CLOCK)Tj -/T1_1 1 Tf -13.617 0 Td -[(constant, )-250(31,)-250(189)]TJ -/TT0 1 Tf --13.617 -1.25 Td -(_POSIX_NAME_MAX)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(39,)-250(580)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(_POSIX_NGROUPS_MAX)Tj -/T1_1 1 Tf -11.217 0 Td -[(constant, )-250(39)]TJ -/TT0 1 Tf --11.217 -1.25 Td -(_POSIX_NO_TRUNC)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(55,)-250(57, 65)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(_POSIX_OPEN_MAX)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(39)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40)Tj -/TT0 1 Tf --15.563 -1.25 Td -(posix_openpt)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(452,)-250(722)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(725)Tj --14.89 -1.25 Td -[(de\336nition of,)-500(722)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_POSIX_PATH_MAX)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(39)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40, 696)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(697)Tj -/TT0 1 Tf --19.23 -1.25 Td -(_POSIX_PIPE_BUF)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(39)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(_POSIX_PRIO_IO)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(55)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(_POSIX_PRIORITIZED_IO)Tj -/T1_1 1 Tf -13.017 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --13.017 -1.25 Td -(_POSIX_PRIORITY_SCHEDULING)Tj -/T1_1 1 Tf -16.017 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --16.017 -1.25 Td -(_POSIX_RAW_SOCKETS)Tj -/T1_1 1 Tf -11.217 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --11.217 -1.25 Td -(_POSIX_READER_WRITER_LOCKS)Tj -/T1_1 1 Tf -16.017 0 Td -[(constant, )-250(55,)]TJ --13.317 -1.25 Td -(57)Tj -/TT0 1 Tf --2.7 -1.25 Td -(_POSIX_REALTIME_SIGNALS)Tj -/T1_1 1 Tf -14.217 0 Td -[(constant, )-250(55,)-250(57)]TJ -/TT0 1 Tf --14.217 -1.25 Td -(_POSIX_RE_DUP_MAX)Tj -/T1_1 1 Tf -10.617 0 Td -[(constant, )-250(39)]TJ -/TT0 1 Tf --10.617 -1.25 Td -(_POSIX_RTSIG_MAX)Tj -/T1_1 1 Tf -10.017 0 Td -[(constant, )-250(39)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40)Tj -/TT0 1 Tf --16.163 -1.25 Td -(_POSIX_SAVED_IDS)Tj -/T1_1 1 Tf -10.017 0 Td -[(constant, )-250(57,)-250(98, 256, 337)]TJ -/TT0 1 Tf --10.017 -1.25 Td -(_POSIX_SEMAPHORES)Tj -/T1_1 1 Tf -10.617 0 Td -[(constant, )-250(55,)-250(57)]TJ -/TT0 1 Tf --10.617 -1.25 Td -(_POSIX_SEM_NSEMS_MAX)Tj -/T1_1 1 Tf -12.417 0 Td -[(constant, )-250(39)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40)Tj -/TT0 1 Tf --18.563 -1.25 Td -(_POSIX_SEM_VALUE_MAX)Tj -/T1_1 1 Tf -12.417 0 Td -[(constant, )-250(39)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40)Tj -/TT0 1 Tf --18.563 -1.25 Td -(_POSIX_SHARED_MEMORY_OBJECTS)Tj -/T1_1 1 Tf -17.217 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --17.217 -1.25 Td -(_POSIX_SHELL)Tj -/T1_1 1 Tf -7.617 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(_POSIX_SIGQUEUE_MAX)Tj -/T1_1 1 Tf -11.817 0 Td -[(constant, )-250(39)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40)Tj -/TT0 1 Tf -8.037 65 Td -(_POSIX_SOURCE)Tj -/T1_1 1 Tf -8.217 0 Td -[(constant, )-250(57)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(_POSIX_SPAWN)Tj -/T1_1 1 Tf -7.617 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(posix_spawn)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(posix_spawnp)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(_POSIX_SPIN_LOCKS)Tj -/T1_1 1 Tf -10.617 0 Td -[(constant, )-250(55,)-250(57)]TJ -/TT0 1 Tf --10.617 -1.25 Td -(_POSIX_SPORADIC_SERVER)Tj -/T1_1 1 Tf -13.617 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --13.617 -1.25 Td -(_POSIX_SSIZE_MAX)Tj -/T1_1 1 Tf -10.017 0 Td -[(constant, )-250(39)]TJ -/TT0 1 Tf --10.017 -1.25 Td -(_POSIX_STREAM_MAX)Tj -/T1_1 1 Tf -10.617 0 Td -[(constant, )-250(39)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40)Tj -/TT0 1 Tf --16.763 -1.25 Td -(_POSIX_SYMLINK_MAX)Tj -/T1_1 1 Tf -11.217 0 Td -[(constant, )-250(39)]TJ -/TT0 1 Tf --11.217 -1.25 Td -(_POSIX_SYMLOOP_MAX)Tj -/T1_1 1 Tf -11.217 0 Td -[(constant, )-250(39)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40)Tj -/TT0 1 Tf --17.363 -1.25 Td -(_POSIX_SYNCHRONIZED_IO)Tj -/T1_1 1 Tf -13.617 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --13.617 -1.25 Td -(_POSIX_SYNC_IO)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(55)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(_POSIX_THREAD_ATTR_STACKADDR)Tj -/T1_1 1 Tf -17.217 0 Td -(constant,)Tj --14.517 -1.25 Td -(31, 429)Tj -/TT0 1 Tf --2.7 -1.25 Td -(_POSIX_THREAD_ATTR_STACKSIZE)Tj -/T1_1 1 Tf -17.217 0 Td -(constant,)Tj --14.517 -1.25 Td -(31, 429)Tj -/TT0 1 Tf --2.7 -1.25 Td -(_POSIX_THREAD_CPUTIME)Tj -/T1_1 1 Tf -13.017 0 Td -[(constant, )-250(31,)-250(189)]TJ -/TT0 1 Tf --13.017 -1.25 Td -(_POSIX_THREAD_PRIO_INHERIT)Tj -/T1_1 1 Tf -16.017 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --16.017 -1.25 Td -(_POSIX_THREAD_PRIO_PROTECT)Tj -/T1_1 1 Tf -16.017 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --16.017 -1.25 Td -(_POSIX_THREAD_PRIORITY_SCHEDULING)Tj -/T1_1 1 Tf -2.7 -1.25 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --2.7 -1.25 Td -(_POSIX_THREAD_PROCESS_SHARED)Tj -/T1_1 1 Tf -17.217 0 Td -(constant,)Tj --14.517 -1.25 Td -(31, 431)Tj -/TT0 1 Tf --2.7 -1.25 Td -(_POSIX_THREAD_ROBUST_PRIO_INHERIT)Tj -/T1_1 1 Tf -2.7 -1.25 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --2.7 -1.25 Td -(_POSIX_THREAD_ROBUST_PRIO_PROTECT)Tj -/T1_1 1 Tf -2.7 -1.25 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --2.7 -1.25 Td -(_POSIX_THREADS)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(55,)-250(57, 384)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(_POSIX_THREAD_SAFE_FUNCTIONS)Tj -/T1_1 1 Tf -17.217 0 Td -(constant,)Tj --14.517 -1.25 Td -(55, 57, 442)Tj -/TT0 1 Tf --2.7 -1.25 Td -(_POSIX_THREAD_SPORADIC_SERVER)Tj -/T1_1 1 Tf -17.817 0 Td -(constant,)Tj --15.117 -1.25 Td -(31)Tj -/TT0 1 Tf --2.7 -1.25 Td -(_POSIX_TIMEOUTS)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(55)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(_POSIX_TIMER_MAX)Tj -/T1_1 1 Tf -10.017 0 Td -[(constant, )-250(39)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40)Tj -/TT0 1 Tf --16.163 -1.25 Td -(_POSIX_TIMERS)Tj -/T1_1 1 Tf -8.217 0 Td -[(constant, )-250(55,)-250(57)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(_POSIX_TIMESTAMP_RESOLUTION)Tj -/T1_1 1 Tf -16.617 0 Td -[(constant, )-250(44)]TJ -/TT0 1 Tf --16.617 -1.25 Td -(posix_trace_event)Tj -/T1_1 1 Tf -10.617 0 Td -[(function, )-250(331)]TJ -/TT0 1 Tf --10.617 -1.25 Td -(_POSIX_TTY_NAME_MAX)Tj -/T1_1 1 Tf -11.817 0 Td -[(constant, )-250(39)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40)Tj -/TT0 1 Tf --17.963 -1.25 Td -(posix_typed_mem_open)Tj -/T1_1 1 Tf -12.417 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --12.417 -1.25 Td -(_POSIX_TYPED_MEMORY_OBJECTS)Tj -/T1_1 1 Tf -16.617 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --16.617 -1.25 Td -(_POSIX_TZNAME_MAX)Tj -/T1_1 1 Tf -10.617 0 Td -[(constant, )-250(39)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40)Tj -/TT0 1 Tf --16.763 -1.25 Td -(_POSIX_V6_ILP32_OFF32)Tj -/T1_1 1 Tf -13.017 0 Td -[(constant, )-250(70)]TJ -/TT0 1 Tf --13.017 -1.25 Td -(_POSIX_V6_ILP32_OFFBIG)Tj -/T1_1 1 Tf -13.617 0 Td -[(constant, )-250(70)]TJ -/TT0 1 Tf --13.617 -1.25 Td -(_POSIX_V6_LP64_OFF64)Tj -/T1_1 1 Tf -12.417 0 Td -[(constant, )-250(70)]TJ -/TT0 1 Tf --12.417 -1.25 Td -(_POSIX_V6_LP64_OFFBIG)Tj -/T1_1 1 Tf -13.017 0 Td -[(constant, )-250(70)]TJ -/TT0 1 Tf --13.017 -1.25 Td -(_POSIX_V7_ILP32_OFF32)Tj -/T1_1 1 Tf -13.017 0 Td -[(constant, )-250(70)]TJ -/TT0 1 Tf --13.017 -1.25 Td -(_POSIX_V7_ILP32_OFFBIG)Tj -/T1_1 1 Tf -13.617 0 Td -[(constant, )-250(70)]TJ -/TT0 1 Tf --13.617 -1.25 Td -(_POSIX_V7_LP64_OFF64)Tj -/T1_1 1 Tf -12.417 0 Td -[(constant, )-250(70)]TJ -/TT0 1 Tf --12.417 -1.25 Td -(_POSIX_V7_LP64_OFFBIG)Tj -/T1_1 1 Tf -13.017 0 Td -[(constant, )-250(70)]TJ -/TT0 1 Tf --13.017 -1.25 Td -(_POSIX_VDISABLE)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(55,)-250(57, 678)]TJ -9.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(679)Tj -/TT0 1 Tf --19.063 -1.25 Td -(_POSIX_VERSION)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(57,)-250(188)]TJ --8.817 -1.25 Td -[(PowerPC, )-250(xxi\320xxii,)-250(xxvii)]TJ -/TT0 1 Tf -0 -1.25 TD -(P_PGID)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(244)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47637 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(84)Tj -/T1_1 1 Tf -3 0 Td -[(File )-250(I/O)]TJ -39.741 0 Td -[(Chapter )-250(3)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.16 Td -[(The )-99(pr)18(ogram )-99(in )-99(Figur)]TJ -0.3495 Tc 9.836 0 Td -(e3)Tj -0 Tc 1.329 0 Td -(.1)Tj -0.3495 Tc 0.695 0 Td -(1t)Tj -0 Tc 1.176 0 Td -[(akes )-99(a )-99(single )-99(command)]TJ -10.58 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-99(ar)18(gument )-99(that )-99(speci\336es )-99(a )-99(\336le)]TJ --23.948 -1.2 Td -[(descriptor and prints a description of selected \336le \337ags for that \ descriptor)74(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6282.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9989 0 0 8.9989 129.5844 618.6248 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(val;)]TJ -0 -1.783 TD -(if \(argc != 2\))Tj -2.4 -1.189 Td -(err_quit\("usage: a.out "\);)Tj --2.4 -1.783 Td -(if \(\(val = fcntl\(atoi\(argv[1]\), F_GETFL, 0\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("fcntl error for fd %d", atoi\(argv[1]\)\);)Tj --2.4 -1.783 Td -(switch \(val & O_ACCMODE\) {)Tj -0 -1.189 TD -(case O_RDONLY:)Tj -2.4 -1.189 Td -(printf\("read only"\);)Tj -T* -(break;)Tj --2.4 -1.783 Td -(case O_WRONLY:)Tj -2.4 -1.189 Td -(printf\("write only"\);)Tj -T* -(break;)Tj --2.4 -1.783 Td -(case O_RDWR:)Tj -2.4 -1.189 Td -(printf\("read write"\);)Tj -0 -1.189 TD -(break;)Tj --2.4 -1.783 Td -(default:)Tj -2.4 -1.189 Td -(err_dump\("unknown access mode"\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(if \(val & O_APPEND\))Tj -2.4 -1.189 Td -(printf\(", append"\);)Tj --2.4 -1.189 Td -(if \(val & O_NONBLOCK\))Tj -2.4 -1.189 Td -(printf\(", nonblocking"\);)Tj --2.4 -1.189 Td -(if \(val & O_SYNC\))Tj -2.4 -1.189 Td -(printf\(", synchronous writes"\);)Tj --4.8 -1.783 Td -(#if !defined\(_POSIX_C_SOURCE\) && defined\(O_FSYNC\) && \(O_FSYNC != O_\ SYNC\))Tj -2.4 -1.189 Td -(if \(val & O_FSYNC\))Tj -2.4 -1.189 Td -(printf\(", synchronous writes"\);)Tj --4.8 -1.189 Td -(#endif)Tj -2.4 -1.783 Td -(putchar\(\325\\n\325\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1859.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 235.4016 169.8674 Tm -[(Figure 3.1)37(1)]TJ -/T1_1 1 Tf -5.658 0 Td -(Print \336le \337ags for speci\336ed descriptor)Tj -9.9982 0 0 9.9982 129.5768 145.8717 Tm -[(Note )-58(that )-58(we )-58(use )-58(the )-58(featur)]TJ -0.3083 Tc 12.281 0 Td -(et)Tj -0 Tc 1.113 0 Td -[(est )-58(macr)18(o)]TJ -/TT1 1 Tf -4.596 0 Td -(_POSIX_C_SOURCE)Tj -/T1_1 1 Tf -9.308 0 Td -[(and )-58(conditionally )-58(compile)]TJ --27.298 -1.2 Td -[(the )-278(\336le )-278(access )-278(\337ags )-278(that )-278(ar)]TJ -0.5285 Tc 12.819 0 Td -(en)Tj -0 Tc 1.589 0 Td -[(ot )-278(part )-278(of )-278(POSIX.1.)-778(The )-278(following )-278(script )-278(shows )-278(the)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47638 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(975)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -[(Partridge, C.,)-500(xxxii)]TJ -0 -1.25 TD -(passing, \336le descriptor)Tj -0.5 Tc 9.941 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(87, 642)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(652)Tj -/TT0 1 Tf --14.858 -1.25 Td -(passwd)Tj -/T1_0 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(99,)-250(182, 720)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(passwd)Tj -/T1_0 1 Tf -4.017 0 Td -[(str)8(uctur)18(e, )-250(177,)-250(180, 332, 809, 814, 918)]TJ --4.017 -1.25 Td -[(passwor)18(d)]TJ -1.35 -1.25 Td -[(\336le, )-250(177)]TJ -3.708 0.09 Td -(\320)Tj -0.583 -0.09 Td -(181)Tj --4.291 -1.25 Td -[(implementation dif)18(fer)18(ences, )-250(184)]TJ -14.457 0.09 Td -(\320)Tj -0.583 -0.09 Td -(185)Tj --15.041 -1.25 Td -(shadow)Tj -0.5 Tc 3.405 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(81)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(182, 196, 918)Tj -/TT0 1 Tf --7.671 -1.25 Td -(PATH)Tj -/T1_0 1 Tf -2.817 0 Td -[(envir)18(onment variable,)-500(100, 21)55(1, 250)]TJ -15.794 0.09 Td -(\320)Tj -0.583 -0.09 Td -(251,)Tj --16.494 -1.25 Td -(253, 260, 263, 265, 288)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(289)Tj -/TT0 1 Tf --12.867 -1.25 Td -(path_alloc)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(133,)-250(137, 896, 912)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(50)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pathconf)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(37,)-250(39, 41)]TJ -8.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(48, 50)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(51, 53)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(55,)Tj --17.973 -1.25 Td -[(57, 65, 1)55(10, 121, 452, 537)]TJ --1.35 -1.25 Td -[(de\336nition of,)-500(42)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(PATH_MAX)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(38)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(39, 44, 49)Tj -4.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(50, 142, 91)55(1)]TJ --16.03 -1.25 Td -[(pathname, )-250(5)]TJ -1.35 -1.25 Td -[(absolute, )-250(5,)-250(8, 43, 50, 64, 136, 141)]TJ -14.555 0.09 Td -(\320)Tj -0.583 -0.09 Td -(142, 260, 553,)Tj --13.789 -1.25 Td -[(91)55(1)]TJ --0.018 Tc -1.35 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(lative, )-250(5,)-250(8, 43)]TJ -6.285 0.09 Td -(\320)Tj -0.583 -0.09 Td -(44, 50, 64)Tj -4.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(65, 135, 553)Tj --12.391 -1.25 Td -[(tr)8(uncation, )-250(65)]TJ -6.42 0.09 Td -(\320)Tj -0.583 -0.09 Td -(66)Tj -/TT0 1 Tf --8.353 -1.25 Td -(pause)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(324,)-250(327)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(328, 331, 334, 338)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(343,)Tj --17.507 -1.25 Td -[(356, 359, 365, 374, 451, 460, 71)55(1, 924, 930)]TJ -17.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(931)Tj --19.461 -1.25 Td -[(de\336nition of,)-500(338)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_PC_2_SYMLINKS)Tj -/T1_0 1 Tf -8.817 0 Td -[(constant, )-250(55)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(_PC_ASYNC_IO)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(55)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(_PC_CHOWN_RESTRICTED)Tj -/T1_0 1 Tf -12.417 0 Td -[(constant, )-250(55)]TJ -/TT0 1 Tf --12.417 -1.25 Td -(_PC_FILESIZEBITS)Tj -/T1_0 1 Tf -10.017 0 Td -[(constant, )-250(42,)-250(44)]TJ -/TT0 1 Tf --10.017 -1.25 Td -(PCFS)Tj -/T1_0 1 Tf -2.817 0 Td -[(\336le system,)-500(49, 57, 1)55(13)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(pckt)Tj -/T1_0 1 Tf -2.817 0 Td -[(STREAMS module,)-500(716, 740)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(_PC_LINK_MAX)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(42,)-250(44)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(pclose)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(267,)-250(452, 541)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(548, 616, 622,)Tj --11.94 -1.25 Td -(935)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(937)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(541, 545)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_PC_MAX_CANON)Tj -/T1_0 1 Tf -8.217 0 Td -[(constant, )-250(42,)-250(44, 47)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(_PC_MAX_INPUT)Tj -/T1_0 1 Tf -8.217 0 Td -[(constant, )-250(42,)-250(44)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(_PC_NAME_MAX)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(42,)-250(44)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(_PC_NO_TRUNC)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(55,)-250(57)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(_PC_PATH_MAX)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(43)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(44, 51)Tj -/TT0 1 Tf --13.763 -1.25 Td -(_PC_PIPE_BUF)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(44)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(_PC_PRIO_IO)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(55)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(_PC_SYMLINK_MAX)Tj -/T1_0 1 Tf -9.417 0 Td -[(constant, )-250(44)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(_PC_SYNC_IO)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(55)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(_PC_TIMESTAMP_RESOLUTION)Tj -/T1_0 1 Tf -14.817 0 Td -[(constant, )-250(42,)-250(44)]TJ -/TT0 1 Tf --14.817 -1.25 Td -(_PC_VDISABLE)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(54)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(55, 679)Tj -/TT0 1 Tf --13.763 -1.25 Td -(PENDIN)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(690)]TJ --4.017 -1.25 Td -[(Pentium, )-250(xxii,)-250(xxvii)]TJ -T* -[(permissions, \336le access,)-500(99)]TJ -12.013 0.09 Td -(\320)Tj -0.583 -0.09 Td -(101, 140)Tj -/TT0 1 Tf --12.597 -1.25 Td -(perror)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(15)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(16, 24, 334, 379, 452, 600, 905)Tj --8.79 -1.25 Td -[(de\336nition of,)-500(15)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(pgrp)Tj -/T1_0 1 Tf -2.817 0 Td -[(str)8(uctur)18(e, )-250(31)55(1)]TJ -6.247 0.09 Td -(\320)Tj -0.583 -0.09 Td -(312)Tj --9.647 -1.25 Td -(PID,)Tj -/T1_2 1 Tf -2.465 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -[(pr)18(ocess ID)]TJ -/TT0 1 Tf --3.882 -1.25 Td -(pid_t)Tj -/T1_0 1 Tf -3.417 0 Td -(data type,)Tj --0.055 Tc 4.899 0 Td -(11)Tj -0.25 Tc 0.945 0 Td -(,5)Tj -0 Tc 1 0 Td -(9, 293, 384)Tj -15.739 65 Td -[(Pike, R.,)-500(229, 950, 952)]TJ -/TT0 1 Tf -T* -(pipe)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(125,)-250(148, 331, 535, 537)]TJ -14.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(538, 540,)Tj --14.74 -1.25 Td -(544, 546, 550, 565, 630, 934)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(535)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(PIPE_BUF)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(39,)-250(44, 49, 532, 537, 554)]TJ -14.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(555,)Tj --17.663 -1.25 Td -(935)Tj --2.7 -1.25 Td -[(pipes, )-250(534)]TJ -4.729 0.09 Td -(\320)Tj -0.583 -0.09 Td -(541)Tj --3.963 -1.25 Td -[(full-duplex, )-250(534)]TJ -T* -[(half-duplex, )-250(534)]TJ -T* -(mounted STREAMS)Tj -8.946 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based, )-250(534)]TJ --9.279 -1.25 Td -[(named full-duplex,)-500(534)]TJ -T* -[(timing full-duplex,)-500(565)]TJ --1.35 -1.25 Td -(Pippenger)Tj -0.25 Tc 4.514 0 Td -(,N)Tj -0 Tc 1.331 0 Td -[(., )-250(744,)-250(750, 949)]TJ --5.845 -1.25 Td -[(Plan 9 operating system,)-500(229, 952)]TJ -T* -(Plauger)Tj -0.25 Tc 3.354 0 Td -[(,P)379(.J)]TJ -0 Tc 1.808 0 Td -[(., )-250(26,)-250(164, 323, 952)]TJ --5.162 -1.25 Td -(pointer)Tj -0.25 Tc 3.146 0 Td -(,g)Tj -0 Tc 1.056 0 Td -[(eneric, )-250(71,)-250(208)]TJ -/TT0 1 Tf --4.202 -1.25 Td -(poll)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(319,)-250(330)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(331, 343, 451, 481,)Tj --8.74 -1.25 Td -(501)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(502, 506)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(509, 531)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(532, 560, 586, 588,)Tj --10.5 -1.25 Td -(592, 608)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(609, 627, 631)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(632, 659, 664,)Tj --10.333 -1.25 Td -(666)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(668, 718, 732, 742, 933)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(934, 936)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(937, 942)Tj --17.849 -1.25 Td -[(de\336nition of,)-500(506)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(POLLERR)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(508)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(pollfd)Tj -/T1_0 1 Tf -4.017 0 Td -[(str)8(uctur)18(e, )-250(507,)-250(632, 666, 668, 934, 941)]TJ -/TT0 1 Tf --4.017 -1.25 Td -()Tj -/T1_0 1 Tf -5.217 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9, 507)Tj -/TT0 1 Tf --9.439 -1.25 Td -(POLLHUP)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(508,)-250(667)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(668, 936)Tj -/TT0 1 Tf --13.263 -1.25 Td -(POLLIN)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(508,)-250(632, 666)]TJ -10.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(668, 936, 941)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(942)Tj --20.83 -1.25 Td -[(polling, )-250(246,)-250(484, 501)]TJ -/TT0 1 Tf -T* -(POLLNVAL)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(508)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(POLLOUT)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(508)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(POLLPRI)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(508)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(POLLRDBAND)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(508)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(POLLRDNORM)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(508)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(POLLWRBAND)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(508)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(POLLWRNORM)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(508)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(popen)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(23,)-250(242, 249, 267, 452, 541)]TJ -15.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(548,)Tj --16.84 -1.25 Td -(587)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(588, 615, 619, 622)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(623, 935)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(937)Tj --15.85 -1.25 Td -[(de\336nition of,)-500(541, 543)]TJ --1.35 -1.25 Td -(port number)Tj -0.5 Tc 5.539 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(93, 595)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(596, 598)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(601, 605)Tj --14.622 -1.25 Td -[(Portable Operating System Envir)18(onment for)]TJ -2.7 -1.25 Td -[(Computer Envir)18(onments, IEEE,)]TJ -/T1_2 1 Tf -14.46 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -(POSIX)Tj --18.577 -1.25 Td -(POSIX)Tj -3.169 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Portable Operating System Envir)18(onment)]TJ --0.802 -1.25 Td -[(for Computer Envir)18(onments, IEEE)]TJ -15.234 0.04 Td -(\))Tj -0.5 Tc 0.333 -0.04 Td -(,x)Tj -0 Tc 1.266 0 Td -(ix,)Tj --16.833 -1.25 Td -(xxxi, 26)Tj -3.422 0.09 Td -(\320)Tj -0.583 -0.09 Td -(30, 33, 265, 561, 674)Tj --6.706 -1.25 Td -[(POSIX semaphor)18(es, )-250(579)]TJ -10.797 0.09 Td -(\320)Tj -0.583 -0.09 Td -(584)Tj --11.38 -1.25 Td -[(POSIX.1, )-250(xxvi,)-250(xxxi, 4, 9, 27, 38, 41, 50, 53, 57)]TJ -19.729 0.09 Td -(\320)Tj -0.583 -0.09 Td -(58,)Tj --17.612 -1.25 Td -(88, 257, 262, 329, 367)Tj -9.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(368, 384, 533, 546, 553,)Tj --9.666 -1.25 Td -(589, 617, 744, 950)Tj --2.7 -1.25 Td -[(POSIX.2, )-250(262)]TJ -/TT0 1 Tf -T* -(_POSIX2_SYMLINKS)Tj -/T1_0 1 Tf -10.017 0 Td -[(constant, )-250(55)]TJ -/TT0 1 Tf --10.017 -1.25 Td -(_POSIX_ADVISORY_INFO)Tj -/T1_0 1 Tf -12.417 0 Td -[(constant, )-250(31)]TJ -/TT0 1 Tf --12.417 -1.25 Td -(_POSIX_AIO_LISTIO_MAX)Tj -/T1_0 1 Tf -13.017 0 Td -[(constant, )-250(515)]TJ -/TT0 1 Tf --13.017 -1.25 Td -(_POSIX_AIO_MAX)Tj -/T1_0 1 Tf -8.817 0 Td -[(constant, )-250(515)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(_POSIX_ARG_MAX)Tj -/T1_0 1 Tf -8.817 0 Td -[(constant, )-250(39)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47639 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.5)]TJ -35.16 0 Td -[(Asynchr)18(onous )-250(I/O)]TJ -/T1_1 1 Tf -10.673 0 Td -(515)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(If )-93(an )-93(asynchr)18(onous )-93(I/O )-93(operation )-93(is )-93(successfully )-93(canceled, )-93(calling )-93(the)]TJ -/TT0 1 Tf -31.8 0 Td -(aio_error)Tj -/T1_0 1 Tf --33.6 -1.2 Td -[(function )-110(on )-110(the )-110(corr)18(esponding )-110(AIO )-110(contr)17(ol )-110(block )-110(will )-110(r)18(eturn )-110(the )-110(err)17(or)]TJ -/TT0 1 Tf -32.07 0 Td -(ECANCELED)Tj -/T1_0 1 Tf -0.6103 Tc (.I)Tj -0 Tc 6.597 0 Td -(f)Tj --38.667 -1.2 Td -[(the )-21(operation )-21(can\325t )-21(be )-21(canceled, )-21(then )-21(the )-21(corr)18(esponding )-21(AIO )-21(contr)18(ol )-21(block )-21(is )-21(unchanged)]TJ -0 -1.2 TD -(by the call to)Tj -/TT0 1 Tf -5.894 0 Td -(aio_cancel)Tj -/T1_0 1 Tf -(.)Tj --4.094 -1.2 Td -[(One )-17(additional )-17(function )-17(is )-17(included )-17(with )-17(the )-17(asynchr)18(onous )-17(I/O )-17(interfaces, )-17(although)]TJ --1.8 -1.2 Td -[(it )-89(can )-89(be )-89(used )-89(in )-89(either )-89(a )-89(synchr)18(onous )-89(or )-89(an )-89(asynchr)18(onous )-89(manner)]TJ -0.589 Tc 30.148 0 Td -(.T)Tj -0 Tc 1.452 0 Td -(he)Tj -/TT0 1 Tf -1.4 0 Td -(lio_listio)Tj -/T1_0 1 Tf --33 -1.2 Td -[(function submits a set of I/O r)18(equests described by a list of AIO contr)18(ol blocks.)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5907 579.0653 Tm -(#include )Tj -0 -2.021 TD -(int lio_listio\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.911 0 Td -(truct aiocb *restrict const)Tj -/T1_2 1 Tf -16.8 0 Td -(list)Tj -/TT0 1 Tf -([restrict],)Tj --23.111 -1.189 Td -(int)Tj -/T1_2 1 Tf -2.4 0 Td -(nent)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.634 0 Td -(truct sigevent *restrict)Tj -/T1_2 1 Tf -15 0 Td -(sigev)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --3.183 -2.021 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5275.25 cm -0 0 m -0 606 l -3900 606 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 512.7585 Tm -(The)Tj -/T1_2 1 Tf -1.927 0 Td -(mode)Tj -/T1_0 1 Tf -2.364 0 Td -[(ar)18(gument )-3(determines )-3(whether )-3(the )-3(I/O )-3(is )-3(tr)6(uly )-3(asynchr)18(onous. )-253(When)-254(it )-3(is )-3(set )-3(to)]TJ -/TT0 1 Tf --4.292 -1.2 Td -(LIO_WAIT)Tj -/T1_0 1 Tf -0.5153 Tc (,t)Tj -0 Tc 5.891 0 Td -(he)Tj -/TT0 1 Tf -1.576 0 Td -(lio_listio)Tj -/T1_0 1 Tf -6.515 0 Td -[(function )-265(won\325t )-265(r)18(eturn )-265(until )-265(all )-265(of )-265(the )-265(I/O )-265(operations)]TJ --13.983 -1.2 Td -[(speci\336ed )-34(by )-34(the )-34(list )-34(ar)]TJ -0.2838 Tc 9.774 0 Td -(ec)Tj -0 Tc 1.207 0 Td -[(omplete. )-284(In)-284(this )-34(case, )-34(the)]TJ -/T1_2 1 Tf -11.551 0 Td -(sigev)Tj -/T1_0 1 Tf -2.34 0 Td -[(ar)18(gument )-34(is )-34(ignor)18(ed. )-284(When)-284(the)]TJ -/T1_2 1 Tf --24.871 -1.2 Td -(mode)Tj -/T1_0 1 Tf -2.367 0 Td -[(ar)18(gument )-6(is )-6(set )-6(to)]TJ -/TT0 1 Tf -8.144 0 Td -(LIO_NOWAIT)Tj -/T1_0 1 Tf -0.2555 Tc (,t)Tj -0 Tc 6.831 0 Td -[(hen )-5(the)]TJ -/TT0 1 Tf -3.541 0 Td -(lio_listio)Tj -/T1_0 1 Tf -6.256 0 Td -[(function )-5(r)18(eturns )-5(as )-5(soon )-5(as)]TJ --27.139 -1.2 Td -[(the )-139(I/O )-139(r)18(equests )-139(ar)]TJ -0.3891 Tc 8.832 0 Td -(eq)Tj -0 Tc 1.428 0 Td -[(ueued. )-389(The)-389(pr)18(ocess )-139(is )-139(noti\336ed )-139(asynchr)18(onously )-139(when )-139(all )-139(of )-139(the)]TJ --10.26 -1.2 Td -[(I/O )-150(operations )-150(complete, )-150(as )-150(speci\336ed )-150(by )-150(the)]TJ -/T1_2 1 Tf -20.869 0 Td -(sigev)Tj -/T1_0 1 Tf -2.456 0 Td -[(ar)18(gument. )-400(If)-399(we )-149(don\325t )-149(want )-149(to )-149(be)]TJ --23.325 -1.2 Td -[(noti\336ed, )-338(we )-338(can )-338(set)]TJ -/T1_2 1 Tf -10.111 0 Td -(sigev)Tj -/T1_0 1 Tf -2.644 0 Td -(to)Tj -/TT0 1 Tf -1.46 0 Td -(NULL)Tj -/T1_0 1 Tf -0.8383 Tc (.N)Tj -0 Tc 4.319 0 Td -[(ote )-338(that )-338(the )-338(individual )-338(AIO )-338(contr)17(ol )-338(blocks)]TJ --18.535 -1.2 Td -[(themselves )-174(may )-174(also )-174(enable )-174(asynchr)17(onous )-174(noti\336cation )-174(when )-174(an )-174(individual )-174(operation)]TJ -0 -1.2 TD -[(completes. )-274(The)-273(asynchr)18(onous )-24(noti\336cation )-24(speci\336ed )-24(by )-24(the)]TJ -/T1_2 1 Tf -26.197 0 Td -(sigev)Tj -/T1_0 1 Tf -2.33 0 Td -[(ar)18(gument )-24(is )-24(in )-24(addition)]TJ --28.527 -1.2 Td -(to these, and is sent only when all of the I/O operations complete.)Tj -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.296 0 Td -(list)Tj -/T1_0 1 Tf -1.9 0 Td -[(ar)18(gument )-372(points )-372(to )-372(a )-372(list )-372(of )-372(AIO )-372(contr)18(ol )-372(blocks )-372(specifying )-372(the )-372(I/O)]TJ --5.997 -1.2 Td -[(operations )-3(to )-3(perform.)-504(The)]TJ -/T1_2 1 Tf -12.382 0 Td -(nent)Tj -/T1_0 1 Tf -2.088 0 Td -[(ar)18(gument )-4(speci\336es )-4(the )-4(number )-4(of )-4(elements )-4(in )-4(the )-4(array)114(.)]TJ --14.47 -1.2 Td -[(The list of AIO contr)18(ol blocks can contain)]TJ -/TT0 1 Tf -18.509 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -(pointers; these entries ar)Tj -0.25 Tc 10.787 0 Td -(ei)Tj -0 Tc 1.02 0 Td -[(gnor)18(ed.)]TJ --31.166 -1.2 Td -[(In )-354(each )-354(AIO )-354(contr)18(ol )-354(block, )-354(the)]TJ -/TT0 1 Tf -15.587 0 Td -(aio_lio_opcode)Tj -/T1_0 1 Tf -9.004 0 Td -[(\336eld )-354(speci\336es )-354(whether )-354(the)]TJ --26.391 -1.2 Td -[(operation )-64(is )-64(a )-64(r)18(ead )-64(\()]TJ -/TT0 1 Tf -(LIO_READ)Tj -/T1_0 1 Tf -[(\), )-64(a )-64(write )-64(\()]TJ -/TT0 1 Tf -(LIO_WRITE)Tj -/T1_0 1 Tf -[(\), )-64(or )-64(a )-64(no-op )-64(\()]TJ -/TT0 1 Tf -(LIO_NOP)Tj -/T1_0 1 Tf -[(\), )-64(which )-64(is)]TJ -0 -1.2 Td -[(ignor)18(ed. )-269(A)]TJ --0.018 Tc 5.258 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad )-19(is )-19(tr)18(eated )-19(as )-19(if )-19(the )-19(corr)18(esponding )-19(AIO )-19(contr)18(ol )-19(block )-19(had )-19(been )-19(passed )-19(to)]TJ --6.114 -1.2 Td -(the)Tj -/TT0 1 Tf -1.799 0 Td -(aio_read)Tj -/T1_0 1 Tf -5.213 0 Td -[(function. )-412(Similarly)]TJ -0.4125 Tc 8.531 0 Td -(,aw)Tj -0 Tc 2.409 0 Td -[(rite )-162(is )-162(tr)18(eated )-162(as )-162(if )-162(the )-162(AIO )-162(contr)18(ol )-162(block )-162(had)]TJ --17.952 -1.2 Td -(been passed to)Tj -/TT0 1 Tf -6.754 0 Td -(aio_write)Tj -/T1_0 1 Tf -(.)Tj --4.954 -1.2 Td -[(Implementations )-255(can )-255(limit )-255(the )-255(number )-255(of )-255(asynchr)18(onous )-255(I/O )-255(operations )-255(we )-255(ar)21(e)]TJ --1.8 -1.2 Td -[(allowed )-26(to )-26(have )-26(outstanding.)-528(The )-27(limits )-27(ar)]TJ -0.2766 Tc 19.113 0 Td -(er)Tj -0 Tc 1.143 0 Td -[(untime )-27(invariants, )-27(and )-27(ar)]TJ -0.2766 Tc 11.27 0 Td -(es)Tj -0 Tc 1.18 0 Td -[(ummarized )-27(in)]TJ --32.705 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(4.19.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1370.25 2528.25 cm -0 0 m -3752 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 173.3968 244.7759 Tm -(Name )Tj -14.22 0 Td -(Description)Tj -14.11 0 Td -(Minimum acceptable value)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1370.25 2408.25 cm -0 0 m -3752 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1370.25 2388.25 cm -0 0 m -3752 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 140.9662 230.7646 Tm -(AIO_LISTIO_MAX )Tj -30.9 0 Td -(_POSIX_AIO_LISTIO_MAX)Tj -13.2 0.04 Td -(\()Tj -0.6 -0.04 Td -(2)Tj -0.6 0.04 Td -(\))Tj -/T1_0 1 Tf --33 -0.04 Td -(maximum number of I/O operations)Tj -2.25 -1.25 Td -(in a single list I/O call)Tj -/TT0 1 Tf --14.55 -1.25 Td -(AIO_MAX )Tj -30.9 0 Td -(_POSIX_AIO_MAX)Tj -9 0.04 Td -(\()Tj -0.6 -0.04 Td -(1)Tj -0.6 0.04 Td -(\))Tj -/T1_0 1 Tf --28.8 -0.04 Td -(maximum number of outstanding)Tj -2.25 -1.25 Td -[(asynchr)18(onous I/O operations)]TJ -/TT0 1 Tf --14.55 -1.25 Td -(AIO_PRIO_DELTA_MAX)Tj -/T1_0 1 Tf -30.9 0 Td -(0)Tj --18.6 0 Td -[(maximum amount by which a pr)18(ocess)]TJ -2.25 -1.25 Td -[(can decr)18(ease its asynchr)18(onous)]TJ -0 -1.25 TD -(I/O priority level)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1370.25 1668.25 cm -0 0 m -3752 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 1668.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2334.25 1668.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5122.25 1668.25 cm -0 0 m -0 860 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1370.25 1668.25 cm -0 0 m -0 860 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 200.6278 148.7754 Tm -(Figure 14.19)Tj -/T1_0 1 Tf -6.195 0 Td -[(POSIX.1 r)8(untime invariant values for asynchr)18(onous I/O)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47640 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(16.3)]TJ -38.7 0 Td -[(Addr)18(essing)]TJ -/T1_1 1 Tf -7.133 0 Td -(601)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(The )-103(socket )-103(addr)18(ess )-103(\()]TJ -/T1_2 1 Tf -(addr)Tj -/T1_0 1 Tf -[(\))-353(is)-353(translated )-103(into )-103(a )-103(host )-103(name )-103(and )-103(a )-103(service )-103(name.)-601(If)]TJ -/T1_2 1 Tf -36.266 0 Td -(host)Tj -/T1_0 1 Tf -2.019 0 Td -(is)Tj --38.285 -1.2 Td -[(non-null, )-176(it )-176(points )-176(to )-176(a )-176(buf)20(fer)]TJ -/T1_2 1 Tf -14.051 0 Td -(hostlen)Tj -/T1_0 1 Tf -3.315 0 Td -[(bytes )-176(long )-176(that )-176(will )-176(be )-176(used )-176(to )-176(r)18(eturn )-176(the )-176(host)]TJ --17.366 -1.2 Td -[(name. )-290(Similarly)]TJ -0.2901 Tc 7.146 0 Td -(,i)Tj -0 Tc 0.831 0 Td -(f)Tj -/T1_2 1 Tf -0.623 0 Td -(service)Tj -/T1_0 1 Tf -3.031 0 Td -[(is )-40(non-null, )-40(it )-40(points )-40(to )-40(a )-40(buf)17(fer)]TJ -/T1_2 1 Tf -14.243 0 Td -(servlen)Tj -/T1_0 1 Tf -3.18 0 Td -[(bytes )-40(long )-40(that )-40(will )-40(be)]TJ --29.054 -1.2 Td -[(used to r)18(eturn the service name.)]TJ -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.28 0 Td -(\337ags)Tj -/T1_0 1 Tf -2.484 0 Td -[(ar)18(gument )-356(gives )-356(us )-356(some )-356(contr)17(ol )-356(over )-356(how )-356(the )-356(translation )-356(is )-356(done.)]TJ --6.565 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(6.8 summarizes the supported \337ags.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1526.25 5890.25 cm -0 0 m -3440 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 184.9658 580.9303 Tm -(Flag )Tj -20.125 0 Td -(Description)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1526.25 5770.25 cm -0 0 m -3440 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1526.25 5750.25 cm -0 0 m -3440 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 156.5718 566.8979 Tm -(NI_DGRAM)Tj -/T1_0 1 Tf -10.5 0 Td -[(The service is datagram based instead of str)18(eam based.)]TJ -/TT0 1 Tf --10.5 -1.25 Td -(NI_NAMEREQD)Tj -/T1_0 1 Tf -10.5 0 Td -[(If the host name can\325t be found, tr)18(eat this as an err)18(or)74(.)]TJ -/TT0 1 Tf --10.5 -1.25 Td -(NI_NOFQDN)Tj -/T1_0 1 Tf -10.5 0 Td -(Return only the node name portion of the fully quali\336ed domain name)Tj -1.35 -1.25 Td -(for local hosts.)Tj -/TT0 1 Tf --11.85 -1.25 Td -(NI_NUMERICHOST)Tj -/T1_0 1 Tf -10.5 0 Td -[(Return the numeric form of the host addr)18(ess instead of the name.)]TJ -/TT0 1 Tf --10.5 -1.25 Td -(NI_NUMERICSCOPE)Tj -/T1_0 1 Tf -10.5 0 Td -[(For IPv6, r)18(eturn the numeric form of the scope ID instead of the name.)]TJ -/TT0 1 Tf --10.5 -1.25 Td -(NI_NUMERICSERV)Tj -/T1_0 1 Tf -10.5 0 Td -[(Return the numeric form of the service addr)18(ess \(i.e., the port number\))]TJ -1.35 -1.25 Td -(instead of the name.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1526.25 4930.25 cm -0 0 m -3440 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2346.25 4930.25 cm -0 0 m -0 960 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4966.25 4930.25 cm -0 0 m -0 960 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1526.25 4930.25 cm -0 0 m -0 960 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 236.5832 474.886 Tm -(Figure 16.8)Tj -/T1_0 1 Tf -5.695 0 Td -(Flags for the)Tj -/TT0 1 Tf -5.738 0 Td -(getnameinfo)Tj -/T1_0 1 Tf -6.85 0 Td -(function)Tj -/TT1 1 Tf -9.9976 0 0 9.9976 93.5776 446.0929 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.16 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(6.9 illustrates the use of the)Tj -/TT0 1 Tf -12.259 0 Td -(getaddrinfo)Tj -/T1_0 1 Tf -6.85 0 Td -(function.)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4174.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9973 0 0 8.9973 129.5611 407.7766 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#if defined\(SOLARIS\))Tj -T* -(#include )Tj -T* -(#endif)Tj -T* -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#if defined\(BSD\))Tj -T* -(#include )Tj -T* -(#include )Tj -T* -(#endif)Tj -0 -2.14 TD -(void)Tj -0 -1.189 TD -(print_family\(struct addrinfo *aip\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\(" family "\);)Tj -T* -(switch \(aip->ai_family\) {)Tj -T* -(case AF_INET:)Tj -2.4 -1.189 Td -(printf\("inet"\);)Tj -0 -1.189 TD -(break;)Tj --2.4 -1.189 Td -(case AF_INET6:)Tj -2.4 -1.189 Td -(printf\("inet6"\);)Tj -0 -1.189 TD -(break;)Tj --2.4 -1.189 Td -(case AF_UNIX:)Tj -2.4 -1.189 Td -(printf\("unix"\);)Tj -T* -(break;)Tj --2.4 -1.189 Td -(case AF_UNSPEC:)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47641 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(15.3)]TJ -/TT0 1 Tf -29.686 0 Td -(popen)Tj -/T1_0 1 Tf -3.5 0 Td -(and)Tj -/TT0 1 Tf -2.193 0 Td -(pclose)Tj -/T1_0 1 Tf -4.1 0 Td -(Functions)Tj -/T1_1 1 Tf -6.354 0 Td -(543)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(while \(fgets\(line, MAXLINE, fpin\) != NULL\) {)Tj -2.4 -1.189 Td -(if \(fputs\(line, fpout\) == EOF\))Tj -2.4 -1.189 Td -(err_sys\("fputs error to pipe"\);)Tj --4.8 -1.189 Td -(})Tj -0 -1.189 TD -(if \(ferror\(fpin\)\))Tj -2.4 -1.189 Td -(err_sys\("fgets error"\);)Tj --2.4 -1.189 Td -(if \(pclose\(fpout\) == -1\))Tj -2.4 -1.189 Td -(err_sys\("pclose error"\);)Tj --2.4 -2.259 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5595.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 227.9246 543.5038 Tm -[(Figure 15.1)37(1)]TJ -/T1_0 1 Tf -6.158 0 Td -[(Copy \336le to pager pr)18(ogram using)]TJ -/TT0 1 Tf -15.004 0 Td -(popen)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5845 519.5067 Tm -(Using)Tj -/TT0 1 Tf -2.881 0 Td -(popen)Tj -/T1_0 1 Tf --0.018 Tc 3.25 0 Td -(re)Tj -0 Tc 0.856 0 Td -(duces the amount of code we have to write.)Tj --5.187 -1.2 Td -[(The )-133(shell )-133(command)]TJ -/TT0 1 Tf -9.339 0 Td -(${PAGER:-more})Tj -/T1_0 1 Tf -8.783 0 Td -[(says )-133(to )-133(use )-133(the )-133(value )-133(of )-133(the )-133(shell )-133(variable)]TJ -/TT0 1 Tf --19.922 -1.2 Td -(PAGER)Tj -/T1_0 1 Tf -3.25 0 Td -(if it is de\336ned and non-null; otherwise, use the string)Tj -/TT0 1 Tf -23.649 0 Td -(more)Tj -/T1_0 1 Tf -(.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 4955.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/TT1 1 Tf -9.9982 0 0 9.9982 93.5832 459.4863 Tm -[(Example )195(\321)]TJ -/TT2 1 Tf -5.28 0 Td -(popen)Tj -/TT1 1 Tf -3.278 0 Td -(and)Tj -/TT2 1 Tf -2.056 0 Td -(pclose)Tj -/TT1 1 Tf -3.878 0 Td -(Functions)Tj -/T1_0 1 Tf --10.892 -2.4 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.12 shows our version of)Tj -/TT0 1 Tf -11.515 0 Td -(popen)Tj -/T1_0 1 Tf -3.25 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(pclose)Tj -/T1_0 1 Tf -(.)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4283.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9978 0 0 8.9978 129.5689 418.7675 Tm -(#include "apue.h")Tj -T* -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -2.259 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(ointer to array allocated at run-time.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -[(static pid_t)-2400(*childpid = NULL;)]TJ -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*F)Tj -0 Tc 1.8 0 Td -(rom our open_max\(\), Figure 2.17.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -[(static int)-3600(maxfd;)]TJ -T* -(FILE *)Tj -0 -1.189 TD -(popen\(const char *cmdstring, const char *type\))Tj -T* -({)Tj -2.4 -1.189 Td -[(int )-2400(i;)]TJ -T* -[(int )-2400(pfd[2];)]TJ -0 -1.189 TD -[(pid_t )-1200(pid;)]TJ -0 -1.189 TD -[(FILE )-1800(*fp;)]TJ -0 -2.259 TD -(/* only allow "r" or "w" */)Tj -0 -1.189 TD -(if \(\(type[0] != \325r\325 && type[0] != \325w\325\) || type[1] != 0\) \ {)Tj -2.4 -1.189 Td -(errno = EINVAL;)Tj -T* -(return\(NULL\);)Tj --2.4 -1.189 Td -(})Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47642 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.12)]TJ -36.516 0 Td -[(Interpr)18(eter )-250(Files)]TJ -/T1_1 1 Tf -9.317 0 Td -(263)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(When)Tj -/TT0 1 Tf -2.893 0 Td -(/bin/awk)Tj -/T1_0 1 Tf -5.05 0 Td -(is executed, its command)Tj -11.142 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line ar)18(guments ar)18(e)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5913 652.2609 Tm -(/bin/awk -f /usr/local/bin/awkexample file1 FILENAME2 f3)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5924 634.2619 Tm -[(The )-32(pathname )-32(of )-32(the )-32(interpr)18(eter )-32(\336le )-32(\()]TJ -/TT0 1 Tf -16.525 0 Td -(/usr/local/bin/awkexample)Tj -/T1_0 1 Tf -[(\))-282(is)-282(p)-1(assed )-32(to )-32(the)]TJ --16.525 -1.2 Td -[(interpr)18(eter)]TJ -0.6414 Tc 4.656 0 Td -(.T)Tj -0 Tc 1.504 0 Td -[(he )-141(\336lename )-141(portion )-141(of )-141(this )-141(pathname )-141(\(what )-141(we )-141(typed )-141(to )-141(the )-141(shell\) )-141(isn\325t)]TJ --6.16 -1.2 Td -[(adequate, )-75(because )-75(the )-75(interpr)17(eter )-76(\()]TJ -/TT0 1 Tf -(/bin/awk)Tj -/T1_0 1 Tf -20.668 0 Td -[(in )-76(this )-76(example\) )-76(can\325t )-76(be )-76(expected )-76(to )-76(use)]TJ --20.668 -1.2 Td -(the)Tj -/TT0 1 Tf -1.674 0 Td -(PATH)Tj -/T1_0 1 Tf -2.686 0 Td -[(variable )-36(to )-36(locate )-36(\336les.)-536(When )-36(it )-36(r)18(eads )-36(the )-36(interpr)14(eter )-36(\336le,)]TJ -/TT0 1 Tf -25.589 0 Td -(awk)Tj -/T1_0 1 Tf -2.086 0 Td -[(ignor)18(es )-36(the )-36(\336rst)]TJ --32.035 -1.2 Td -(line, since the pound sign is)Tj -/TT0 1 Tf -12.511 0 Td -(awk)Tj -/T1_0 1 Tf -[(\325s comment character)74(.)]TJ --0.092 Tc -10.711 -1.2 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -(an verify these command)Tj -11.19 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line ar)18(guments with the following commands:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5916 557.5665 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(/bin/su)Tj -/T1_2 1 Tf -22.8 0 Td -(become superuser)Tj -/TT0 1 Tf --24 -1.189 Td -(Password:)Tj -/T1_2 1 Tf -24 0 Td -(enter superuser password)Tj -/TT0 1 Tf --24 -1.189 Td -(#)Tj -/TT1 1 Tf -1.2 0 Td -(mv /usr/bin/awk /usr/bin/awk.save)Tj -/T1_2 1 Tf -22.8 0 Td -[(save the original pr)18(ogram)]TJ -/TT0 1 Tf --24 -1.189 Td -(#)Tj -/TT1 1 Tf -1.2 0 Td -(cp /home/sar/bin/echoarg /usr/bin/awk)Tj -/T1_2 1 Tf -22.8 0 Td -[(and r)18(eplace it temporarily)]TJ -/TT0 1 Tf --24 -1.189 Td -(#)Tj -/TT1 1 Tf -1.2 0 Td -(suspend)Tj -/T1_2 1 Tf -22.8 0 Td -(suspend the superuser shell)Tj -/TT0 1 Tf --24 -1.189 Td -([1] + Stopped)Tj -13.2 0 Td -(/bin/su)Tj -/T1_2 1 Tf -10.8 0 Td -[(using job contr)18(ol)]TJ -/TT0 1 Tf --24 -1.189 Td -($)Tj -/TT1 1 Tf -1.2 0 Td -(awkexample file1 FILENAME2 f3)Tj -/TT0 1 Tf --1.2 -1.189 Td -(argv[0]: /bin/awk)Tj -0 -1.189 TD -(argv[1]: -f)Tj -T* -(argv[2]: /usr/local/bin/awkexample)Tj -T* -(argv[3]: file1)Tj -T* -(argv[4]: FILENAME2)Tj -T* -(argv[5]: f3)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(fg)Tj -/T1_2 1 Tf --0.018 Tc 22.8 0 Td -(re)Tj -0 Tc 0.76 0 Td -[(sume superuser shell using job contr)18(ol)]TJ -/TT0 1 Tf --24.76 -1.189 Td -(/bin/su)Tj -T* -(#)Tj -/TT1 1 Tf -1.2 0 Td -(mv /usr/bin/awk.save /usr/bin/awk)Tj -/T1_2 1 Tf --0.018 Tc 22.8 0 Td -(re)Tj -0 Tc 0.76 0 Td -(stor)Tj -0.25 Tc 1.537 0 Td -(et)Tj -0 Tc 0.972 0 Td -[(he original pr)18(ogram)]TJ -/TT0 1 Tf --27.269 -1.189 Td -(#)Tj -/TT1 1 Tf -1.2 0 Td -(exit)Tj -/T1_2 1 Tf -22.8 0 Td -(and exit the superuser shell)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 368.3779 Tm -[(In )-48(this )-48(example, )-48(the)]TJ -/TT0 1 Tf -9.121 0 Td -(-f)Tj -/T1_0 1 Tf -1.498 0 Td -[(option )-48(for )-48(the )-48(interpr)17(eter )-48(is )-48(r)17(equir)18(ed. )-298(As)-299(we )-48(said, )-48(this )-48(tells)]TJ -/TT0 1 Tf -26.581 0 Td -(awk)Tj -/T1_0 1 Tf --37.2 -1.2 Td -[(wher)18(e)-371(to)-371(l)-1(ook )-121(for )-121(the)]TJ -/TT0 1 Tf -10.081 0 Td -(awk)Tj -/T1_0 1 Tf -2.171 0 Td -[(pr)18(ogram. )-371(If)-372(we )-121(r)18(emove )-121(the)]TJ -/TT0 1 Tf -12.914 0 Td -(-f)Tj -/T1_0 1 Tf -1.571 0 Td -[(option )-121(fr)18(om )-121(the )-121(interpr)17(eter)]TJ --26.738 -1.2 Td -[(\336le, )-230(an )-230(err)18(or )-230(message )-230(usually )-230(r)18(esults )-230(when )-230(we )-230(try )-230(to )-230(r)6(un )-230(it.)-730(The )-230(exact )-230(text )-230(of )-230(the)]TJ -0 -1.2 TD -[(message )-246(varies, )-246(depending )-246(on )-246(wher)]TJ -0.4961 Tc 16.825 0 Td -(et)Tj -0 Tc 1.301 0 Td -[(he )-246(interpr)18(eter )-246(\336le )-246(is )-246(stor)18(ed )-246(and )-246(whether )-246(the)]TJ --0.018 Tc -18.126 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(maining )-408(ar)18(guments )-408(r)18(epr)18(esent )-408(existing )-408(\336les.)-908(This )-408(is )-408(because )-408(the )-408(command)]TJ -36.168 0.09 Td -(-)Tj -0.333 -0.09 Td -(line)Tj --37.357 -1.2 Td -[(ar)18(guments in this case ar)18(e)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 291.6825 Tm -(/bin/awk /usr/local/bin/awkexample file1 FILENAME2 f3)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5923 273.6836 Tm -(and)Tj -/TT0 1 Tf -2.11 0 Td -(awk)Tj -/T1_0 1 Tf -2.217 0 Td -[(is )-167(trying )-167(to )-167(interpr)18(et )-167(the )-167(string)]TJ -/TT0 1 Tf -14.614 0 Td -(/usr/local/bin/awkexample)Tj -/T1_0 1 Tf -15.417 0 Td -[(as )-167(an)]TJ -/TT0 1 Tf -2.841 0 Td -(awk)Tj -/T1_0 1 Tf --37.2 -1.2 Td -[(pr)18(ogram. )-325(If)-325(we )-75(couldn\325t )-75(pass )-75(at )-75(least )-75(a )-75(single )-75(optional )-75(ar)19(gument )-75(to )-75(the )-75(interpr)18(eter )-75(\()]TJ -/TT0 1 Tf -(-f)Tj -/T1_0 1 Tf -0 -1.2 Td -[(in this case\), these interpr)18(eter \336les would be usable only with the shells.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2497.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5823 223.2732 Tm -(Ar)Tj -0.3677 Tc 1.155 0 Td -(ei)Tj -0 Tc 1.138 0 Td -[(nterpr)18(eter )-118(\336les )-118(r)19(equir)18(ed? )-368(Not)]TJ --0.018 Tc 13.883 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ally)Tj -0.6177 Tc 1.527 0 Td -(.T)Tj -0 Tc 1.481 0 Td -[(hey )-118(pr)18(ovide )-118(an )-118(ef)18(\336ciency )-118(gain )-118(for )-118(the)]TJ --21.839 -1.2 Td -[(user )-194(at )-194(some )-194(expense )-194(in )-194(the )-194(kernel )-194(\(since )-194(it\325s )-194(the )-194(kernel )-194(that )-194(r)19(ecognizes )-194(these )-194(\336les\).)]TJ -T* -[(Interpr)18(eter \336les ar)]TJ -0.25 Tc 7.952 0 Td -(eu)Tj -0 Tc 1.332 0 Td -[(seful for the following r)18(easons.)]TJ --7.484 -2.4 Td -[(1. )-633(They)-589(hide )-339(that )-339(certain )-339(pr)17(ograms )-339(ar)]TJ -0.5894 Tc 18.683 0 Td -(es)Tj -0 Tc 1.492 0 Td -[(cripts )-339(in )-339(some )-339(other )-339(language.)-841(For)]TJ --18.542 -1.2 Td -[(example, to execute the pr)18(ogram in Figur)]TJ -0.25 Tc 18.198 0 Td -(e8)Tj -0 Tc 1.229 0 Td -(.21, we just say)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 181.9073 146.5824 Tm -(awkexample)Tj -/T1_2 1 Tf -6.6 0 Td -[(optional-ar)18(guments)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47643 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(100)Tj -/T1_1 1 Tf -3.5 0 Td -[(Files )-250(and )-250(Dir)18(ectories )]TJ -39.241 0 Td -[(Chapter)-500(4)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(uses)Tj -/TT0 1 Tf -2.417 0 Td -(o)Tj -/T1_1 1 Tf -1.087 0 Td -[(to )-237(mean )-237(other)]TJ -0.4869 Tc 6.544 0 Td -(,n)Tj -0 Tc 1.319 0 Td -[(ot )-237(owner)]TJ -0.7369 Tc 4.121 0 Td -(.W)Tj -0 Tc 1.895 0 Td -[(e\325ll )-237(use )-237(the )-237(terms)]TJ -/T1_2 1 Tf -8.687 0 Td -(user)Tj -/T1_1 1 Tf -(,)Tj -/T1_2 1 Tf -2.46 0 Td -[(gr)18(oup)]TJ -/T1_1 1 Tf -0.487 Tc (,a)Tj -0 Tc 3.608 0 Td -(nd)Tj -/T1_2 1 Tf -1.68 0 Td -(other)Tj -/T1_1 1 Tf -[(,)-487(to)-487(be)]TJ --33.817 -1.2 Td -(consistent with the)Tj -/TT0 1 Tf -8.594 0 Td -(chmod)Tj -/T1_1 1 Tf -3.25 0 Td -(command.)Tj --10.044 -1.2 Td -[(The )-118(thr)18(ee )-118(categories )-118(in )-118(Figur)]TJ -0.3676 Tc 13.084 0 Td -(e4)Tj -0 Tc 1.347 0 Td -[(.6 )167(\321 )167(r)17(ead, )-118(write, )-118(and )-118(execute)]TJ -0.0833 Tc 12.914 0 Td -(\321a)Tj --0.018 Tc 1.583 0 Td -[(re )-154(u)]TJ -0 Tc 1.827 0 Td -[(sed )-118(in )-118(various)]TJ --32.554 -1.2 Td -[(ways )-67(by )-67(dif)18(fer)18(ent )-67(functions.)]TJ --0.092 Tc 13.116 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-67(summarize )-67(them )-67(her)18(e, )-67(and )-67(r)17(eturn )-67(to )-67(them )-67(when )-67(we)]TJ --14.503 -1.2 Td -(describe the actual functions.)Tj -0.883 Tc 0 -1.8 TD -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-115(\336rst )-115(r)8(ule )-115(is )-115(that)]TJ -/T1_2 1 Tf -8.845 0 Td -(whenever)Tj -/T1_1 1 Tf -4.199 0 Td -[(we )-115(want )-115(to )-115(open )-115(any )-115(type )-115(of )-115(\336le )-115(by )-115(name, )-115(we )-115(must)]TJ --13.656 -1.2 Td -[(have )-193(execute )-193(permission )-193(in )-193(each )-193(dir)20(ectory )-193(mentioned )-193(in )-193(the )-193(name, )-193(including )-193(the)]TJ -0 -1.2 TD -[(curr)18(ent )-255(dir)18(ectory)111(,)-505(if)-505(it)-505(is)-505(implied. )-505(This)-505(is )-255(why )-255(the )-255(execute )-255(permission )-255(bit )-255(for )-255(a)]TJ --0 -1.2 Td -[(dir)18(ectory is often called the sear)18(ch bit.)]TJ -0 -1.68 TD -[(For )-542(example, )-542(to )-542(open )-542(the )-542(\336le)]TJ -/TT0 1 Tf -16.093 0 Td -(/usr/include/stdio.h)Tj -/T1_1 1 Tf -[(,)-793(we)-793(n)1(eed )-543(execute)]TJ --16.093 -1.2 Td -[(permission )-1(in )-1(the )-1(dir)17(ectory)]TJ -/TT0 1 Tf -12.206 0 Td -(/)Tj -/T1_1 1 Tf -0.5012 Tc (,e)Tj -0 Tc 1.83 0 Td -[(xecute )-1(permission )-1(in )-1(the )-1(dir)17(ectory)]TJ -/TT0 1 Tf -15.304 0 Td -(/usr)Tj -/T1_1 1 Tf -0.2511 Tc (,a)Tj -0 Tc 3.401 0 Td -[(nd )-1(execute)]TJ --32.741 -1.2 Td -[(permission )-80(in )-80(the )-80(dir)18(ectory)]TJ -/TT0 1 Tf -12.521 0 Td -(/usr/include)Tj -/T1_1 1 Tf -0.58 Tc (.W)Tj -0.33 Tc 8.938 0 Td -(et)Tj -0 Tc 1.135 0 Td -[(hen )-80(need )-80(appr)18(opriate )-80(permission)]TJ --22.594 -1.2 Td -[(for )-107(the )-107(\336le )-107(itself, )-107(depending )-107(on )-107(how )-107(we\325r)]TJ -0.3571 Tc 18.78 0 Td -(et)Tj -0 Tc 1.162 0 Td -[(rying )-107(to )-107(open )-107(it: )-107(r)18(ead-only)]TJ -0.3571 Tc 11.919 0 Td -(,r)Tj -0 Tc 0.984 0 Td -(ead\320write,)Tj --32.846 -1.2 Td -(and so on.)Tj -T* -[(If )-93(the )-93(curr)17(ent )-94(dir)18(ectory )-94(is)]TJ -/TT0 1 Tf -11.721 0 Td -(/usr/include)Tj -/T1_1 1 Tf -0.3436 Tc (,t)Tj -0 Tc 8.12 0 Td -[(hen )-94(we )-94(need )-94(execute )-94(permission )-94(in )-94(the)]TJ --19.84 -1.2 Td -[(curr)18(ent )-274(dir)18(ectory )-274(to )-274(open )-274(the )-274(\336le)]TJ -/TT0 1 Tf -16.216 0 Td -(stdio.h)Tj -/T1_1 1 Tf -0.7738 Tc (.T)Tj -0 Tc 5.837 0 Td -[(his )-274(is )-274(an )-274(example )-274(of )-274(the )-274(curr)19(ent)]TJ --22.053 -1.2 Td -[(dir)18(ectory )-3(being )-3(implied, )-3(not )-3(speci\336cally )-3(mentioned.)-503(It )-3(is )-3(identical )-3(to )-3(our )-3(opening )-3(the)]TJ -0 -1.2 TD -(\336le)Tj -/TT0 1 Tf -1.625 0 Td -(./stdio.h)Tj -/T1_1 1 Tf -(.)Tj --1.625 -1.68 Td -[(Note )-182(that )-182(r)18(ead )-182(permission )-182(for )-182(a )-182(dir)18(ectory )-182(and )-182(execute )-182(permission )-182(for )-182(a )-182(dir)23(ectory)]TJ -T* -[(mean )-45(dif)18(fer)18(ent )-45(things.)-545(Read )-45(permission )-45(lets )-45(us )-45(r)18(ead )-45(the )-45(dir)17(ectory)]TJ -0.2951 Tc 29.143 0 Td -(,o)Tj -0 Tc 1.091 0 Td -[(btaining )-45(a )-45(list )-45(of)]TJ --30.234 -1.2 Td -[(all )-275(the )-275(\336lenames )-275(in )-275(the )-275(dir)20(ectory)]TJ -0.7747 Tc 15.509 0 Td -(.E)Tj -0 Tc 1.636 0 Td -[(xecute )-275(permission )-275(lets )-275(us )-275(pass )-275(thr)18(ough )-275(the)]TJ --17.145 -1.2 Td -[(dir)18(ectory )-113(when )-113(it )-113(is )-113(a )-113(component )-113(of )-113(a )-113(pathname )-113(that )-113(we )-113(ar)]TJ -0.3627 Tc 27.069 0 Td -(et)Tj -0 Tc 1.168 0 Td -[(rying )-113(to )-113(access.)-612(\(W)92(e)]TJ --28.236 -1.2 Td -[(need to sear)18(ch the dir)18(ectory to look for a speci\336c \336lename.\))]TJ -0 -1.68 TD -[(Another )-279(example )-279(of )-279(an )-279(implicit )-279(dir)18(ectory )-279(r)16(efer)18(ence )-279(is )-279(if )-279(the)]TJ -/TT0 1 Tf -28.89 0 Td -(PATH)Tj -/T1_1 1 Tf -2.929 0 Td -[(envir)18(onment)]TJ --31.819 -1.2 Td -[(variable, )-113(described )-113(in )-113(Section )-113(8.10, )-113(speci\336es )-113(a )-113(dir)18(ectory )-113(that )-113(does )-113(not )-113(have )-113(execute)]TJ -0 -1.2 TD -[(permission )-167(enabled.)-667(In )-167(this )-167(case, )-167(the )-167(shell )-167(will )-167(never )-167(\336nd )-167(executable )-167(\336les )-167(in )-167(that)]TJ -T* -[(dir)18(ectory)111(.)]TJ -0.883 Tc -1.489 -1.6 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-102(r)18(ead )-103(permission )-103(for )-103(a )-103(\336le )-103(determines )-103(whether )-103(we )-103(can )-103(open )-103(an )-103(existing )-103(\336le )-103(for)]TJ --0.018 Tc -0.613 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(ading: the)Tj -/TT0 1 Tf -4.677 0 Td -(O_RDONLY)Tj -/T1_1 1 Tf -5.05 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(O_RDWR)Tj -/T1_1 1 Tf -3.85 0 Td -(\337ags for the)Tj -/TT0 1 Tf -5.499 0 Td -(open)Tj -/T1_1 1 Tf -2.65 0 Td -(function.)Tj -0.883 Tc -26.014 -1.84 Td -(\245T)Tj -0 Tc 2.102 0 Td -[(he )-77(write )-77(permission )-77(for )-77(a )-77(\336le )-77(determines )-77(whether )-77(we )-77(can )-77(open )-77(an )-77(existing )-77(\336le )-77(for)]TJ --0.613 -1.2 Td -(writing: the)Tj -/TT0 1 Tf -5.412 0 Td -(O_WRONLY)Tj -/T1_1 1 Tf -5.05 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(O_RDWR)Tj -/T1_1 1 Tf -3.85 0 Td -(\337ags for the)Tj -/TT0 1 Tf -5.499 0 Td -(open)Tj -/T1_1 1 Tf -2.65 0 Td -(function.)Tj -0.883 Tc -25.893 -1.84 Td -(\245W)Tj -0.364 Tc 2.397 0 Td -(em)Tj -0 Tc 1.726 0 Td -[(ust )-114(have )-114(write )-114(permission )-114(for )-114(a )-114(\336le )-114(to )-114(specify )-114(the)]TJ -/TT0 1 Tf -22.897 0 Td -(O_TRUNC)Tj -/T1_1 1 Tf -4.564 0 Td -[(\337ag )-114(in )-114(the)]TJ -/TT0 1 Tf -5.016 0 Td -(open)Tj -/T1_1 1 Tf --35.111 -1.2 Td -(function.)Tj -0.883 Tc -1.489 -1.84 Td -(\245W)Tj -0.4425 Tc 2.397 0 Td -(ec)Tj -0 Tc 1.366 0 Td -[(annot )-192(cr)18(eate )-192(a )-192(new )-192(\336le )-192(in )-192(a )-192(dir)18(ectory )-192(unless )-192(we )-192(have )-192(write )-192(permission )-192(and)]TJ --2.274 -1.2 Td -[(execute permission in the dir)18(ectory)111(.)]TJ -0.883 Tc -1.489 -1.84 Td -(\245T)Tj -0.362 Tc 2.01 0 Td -(od)Tj -0 Tc 1.519 0 Td -[(elete )-112(an )-112(existing )-112(\336le, )-112(we )-112(need )-112(write )-112(permission )-112(and )-112(execute )-112(permission )-112(in )-112(the)]TJ --2.04 -1.2 Td -[(dir)18(ectory )-109(containing )-109(the )-109(\336le.)]TJ --0.092 Tc 13.424 0 Td -[(We )-293(d)]TJ -0.3592 Tc 2.357 0 Td -(on)Tj -0 Tc 1.487 0 Td -[(ot )-109(need )-109(r)18(ead )-109(permission )-109(or )-109(write )-109(permission)]TJ --17.268 -1.2 Td -(for the \336le itself.)Tj -0.883 Tc -1.489 -1.84 Td -(\245E)Tj -0 Tc 2.1 0 Td -[(xecute )-72(permission )-72(for )-72(a )-72(\336le )-72(must )-72(be )-72(on )-72(if )-72(we )-72(want )-72(to )-72(execute )-72(the )-72(\336le )-72(using )-72(any )-72(of)]TJ --0.611 -1.2 Td -(the seven)Tj -/TT0 1 Tf -4.416 0 Td -(exec)Tj -/T1_1 1 Tf -2.65 0 Td -[(functions \(Section 8.10\).)-500(The \336le also has to be a r)18(egular \336le.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47644 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(974)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(O_ASYNC)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(83,)-250(51)55(1, 627)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(O_CLOEXEC)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(63)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(O_CREAT)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(63,)-250(66, 79, 89, 121, 125, 474,)]TJ --1.917 -1.25 Td -(496)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(498, 517)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(518, 529, 558, 579)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(580, 584,)Tj --14.5 -1.25 Td -(749, 758, 818, 930)Tj -/TT0 1 Tf --2.7 -1.25 Td -(OCRNL)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(689)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(od)Tj -/T1_1 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(69)]TJ -/TT0 1 Tf --1.617 -1.25 Td -(O_DIRECT)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(150)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(O_DIRECTORY)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(63)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(O_DSYNC)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(64,)-250(83, 513)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(O_EXCL)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(63,)-250(79, 121, 558, 580, 584)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(O_EXEC)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(83)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(OFDEL)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(684, 689)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(off_t)Tj -/T1_1 1 Tf -3.417 0 Td -[(data type,)-500(59, 67)]TJ -7.482 0.09 Td -(\320)Tj -0.583 -0.09 Td -(70, 157)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(158, 772)Tj -/TT0 1 Tf --15.149 -1.25 Td -(OFILL)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(684, 689)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(O_FSYNC)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(64,)-250(83)]TJ -7.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(84)Tj -/TT0 1 Tf --12.263 -1.25 Td -(OLCUC)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(689)]TJ --3.417 -1.25 Td -[(Olson, M.,)-500(952)]TJ -/TT0 1 Tf -0 -1.25 TD -(O_NDELAY)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(36,)-250(63, 482)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(ONLCR)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(690, 731, 738)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(ONLRET)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(690)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(ONOCR)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(690)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(O_NOCTTY)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(63,)-250(297)]TJ -7.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(298, 466, 723)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(724,)Tj --16.83 -1.25 Td -(726)Tj -/TT0 1 Tf --2.7 -1.25 Td -(ONOEOT)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(690)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(O_NOFOLLOW)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(63)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(O_NONBLOCK)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(36,)-250(63, 83)]TJ -8.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(84, 482)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(483,)Tj --16.53 -1.25 Td -[(496, 498, 553, 61)55(1)]TJ -7.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(612, 934, 937)Tj -/TT0 1 Tf --10.812 -1.25 Td -(open)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(8,)-250(14, 61)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(66, 77, 79, 83, 89, 91,)Tj --8.74 -1.25 Td -(100)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(101, 103)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(104, 1)55(12, 1)55(18, 120)]TJ -7.473 0.09 Td -(\320)Tj -0.583 -0.09 Td -(125,)Tj --14.39 -1.25 Td -(127)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(128, 137, 148)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(150, 283, 287, 297)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(298,)Tj --16.5 -1.25 Td -(331, 451, 468, 470, 474, 482, 492)Tj -13.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(493,)Tj --14.166 -1.25 Td -(495)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(498, 517)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(518, 525, 529, 553, 556, 558,)Tj --6.333 -1.25 Td -(560, 577)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(578, 585, 588, 592, 653, 656)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(657,)Tj --16.333 -1.25 Td -(669)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(670, 685, 723, 725)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(726, 745, 757)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(758,)Tj --16.5 -1.25 Td -(808, 818, 823, 833, 907, 909, 930, 937)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(62)]TJ --1.35 -1.25 Td -[(Open Gr)18(oup, The,)-500(xxi, xxvi, 31, 196, 950)]TJ -T* -(Open Softwar)Tj -0.25 Tc 6.139 0 Td -(eF)Tj -0 Tc 1.285 0 Td -(oundation,)Tj -/T1_2 1 Tf -5.337 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(OSF)Tj -/TT0 1 Tf --14.178 -1.25 Td -(openat)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(62)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(66, 331, 451)Tj --8.79 -1.25 Td -[(de\336nition of,)-500(62)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(opend.h)Tj -/T1_1 1 Tf -4.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(56, 660, 942)Tj -/TT0 1 Tf --8.839 -1.25 Td -(opendir)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(5,)-250(7, 121, 130)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(135, 252)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(253,)Tj --16.707 -1.25 Td -(283, 452, 697, 822, 910)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(130)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(openlog)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(452,)-250(468, 470)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(471, 480, 902, 928)Tj --13.89 -1.25 Td -[(de\336nition of,)-500(470)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(OPEN_MAX)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(40,)-250(43, 49, 51)]TJ -10.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(53, 60, 62, 906)Tj -/TT0 1 Tf --15.863 -1.25 Td -(open_max)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(466,)-250(544, 546, 666, 896)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(52, 907)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(open_memstream)Tj -/T1_1 1 Tf -8.817 0 Td -[(function, )-250(171)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(174)Tj --14.09 -1.25 Td -[(de\336nition of,)-500(173)]TJ --1.35 -1.25 Td -(OpenServer)Tj -0.5 Tc 5.212 0 Td -(,4)Tj -0 Tc 1.25 0 Td -(85)Tj -19.538 65 Td -[(OpenSolaris, )-250(xxi)]TJ -T* -[(OpenSS7, )-250(534)]TJ -/TT0 1 Tf -T* -(open_wmemstream)Tj -/T1_1 1 Tf -9.417 0 Td -[(function, )-250(171)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(174)Tj --14.69 -1.25 Td -[(de\336nition of,)-500(173)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(OPOST)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(690, 706)]TJ -10.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(708, 710)Tj -/TT0 1 Tf --14.063 -1.25 Td -(optarg)Tj -/T1_1 1 Tf -4.017 0 Td -[(variable, )-250(663)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(opterr)Tj -/T1_1 1 Tf -4.017 0 Td -[(variable, )-250(663)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(optind)Tj -/T1_1 1 Tf -4.017 0 Td -[(variable, )-250(808)]TJ --4.017 -1.25 Td -[(option codes,)-500(31)]TJ -T* -[(options, )-250(53)]TJ -5.149 0.09 Td -(\320)Tj -0.583 -0.09 Td -(57)Tj --4.383 -1.25 Td -[(socket, )-250(623)]TJ -5.108 0.09 Td -(\320)Tj -0.583 -0.09 Td -(625)Tj -/TT0 1 Tf --7.041 -1.25 Td -(optopt)Tj -/T1_1 1 Tf -4.017 0 Td -[(variable, )-250(663)]TJ --4.017 -1.25 Td -[(Oracle Corporation,)-500(xxi\320xxii, 35)]TJ -/TT0 1 Tf -T* -(O_RDONLY)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(62,)-250(83)]TJ -7.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(84, 100, 103, 517)Tj -7.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(518,)Tj --17.83 -1.25 Td -(529, 654, 808, 833, 937)Tj -/TT0 1 Tf --2.7 -1.25 Td -(O_RDWR)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(62,)-250(83)]TJ -7.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(84, 100, 128, 468, 474,)Tj --8.963 -1.25 Td -(498, 517)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(518, 529, 577, 723, 725, 749, 818, 930)Tj --6.866 -1.25 Td -(O\325Reilly)Tj -0.25 Tc 3.529 0 Td -(,T)Tj -0 Tc 1.039 0 Td -[(., )-250(712,)-250(953)]TJ --4.568 -1.25 Td -[(orientation, str)18(eam, )-250(144)]TJ -T* -[(orphaned pr)18(ocess gr)18(oup, )-250(307)]TJ -13.107 0.09 Td -(\320)Tj -0.583 -0.09 Td -(309, 469, 735)Tj -/TT0 1 Tf --13.691 -1.25 Td -(O_RSYNC)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(64,)-250(83)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(O_SEARCH)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(63,)-250(83)]TJ --5.217 -1.25 Td -(OSF \(Open Softwar)Tj -0.25 Tc 8.589 0 Td -(eF)Tj -0 Tc 1.285 0 Td -[(oundation\), )-250(31)]TJ -6.753 0.09 Td -(\320)Tj -0.583 -0.09 Td -(32)Tj -/TT0 1 Tf --17.21 -1.25 Td -(O_SYNC)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(63)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(64, 83)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(84, 86)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(87, 513, 520)Tj -/TT0 1 Tf --16.496 -1.25 Td -(O_TRUNC)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(63,)-250(66, 100, 1)55(12, 125, 127)]TJ -15.008 0.09 Td -(\320)Tj -0.583 -0.09 Td -(128,)Tj --17.508 -1.25 Td -(149, 496, 498, 517)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(518, 529, 749)Tj -/TT0 1 Tf --10.867 -1.25 Td -(O_TTY_INIT)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(64,)-250(683, 722)]TJ --6.417 -1.25 Td -[(out-of-band data,)-500(626)]TJ -T* -(ownership)Tj -1.35 -1.25 Td -[(dir)18(ectory)]TJ -0.5 Tc 3.914 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(01)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(102)Tj --6.831 -1.25 Td -[(\336le, )-250(101)]TJ -3.708 0.09 Td -(\320)Tj -0.583 -0.09 Td -(102)Tj -/TT0 1 Tf --5.641 -1.25 Td -(O_WRONLY)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(62,)-250(83)]TJ -7.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(84, 100, 937)Tj -/TT0 1 Tf --12.863 -1.25 Td -(OXTABS)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(690)]TJ --4.017 -4.75 Td -[(packet mode, pseudo terminal,)-500(740)]TJ -T* -[(page cache,)-500(81)]TJ -T* -[(page size,)-500(573)]TJ -T* -[(pagedaemon pr)18(ocess, )-250(228)]TJ -/TT0 1 Tf -T* -(PAGER)Tj -/T1_1 1 Tf -3.417 0 Td -[(envir)18(onment variable,)-500(539, 542)]TJ -13.849 0.09 Td -(\320)Tj -0.583 -0.09 Td -(543)Tj -/TT0 1 Tf --17.849 -1.25 Td -(PAGESIZE)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(40,)-250(43, 49)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(PAGE_SIZE)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(41,)-250(43, 49)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(P_ALL)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(244)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(PARENB)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(675,)-250(688, 690, 706)]TJ -12.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(708)Tj --16.663 -1.25 Td -[(par)18(ent)]TJ -1.35 -1.25 Td -[(dir)18(ectory)]TJ -0.5 Tc 3.914 0 Td -(,4)Tj -0.25 Tc 1.25 0 Td -(,1)Tj -0 Tc 1 0 Td -(08, 125, 129)Tj --6.164 -1.25 Td -[(pr)18(ocess ID,)-500(228, 233, 237, 243, 246, 252, 287)]TJ -18.989 0.09 Td -(\320)Tj -0.583 -0.09 Td -(288,)Tj --18.222 -1.25 Td -(309, 464)Tj -/TT0 1 Tf --2.7 -1.25 Td -(PAREXT)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(675,)-250(690)]TJ --4.017 -1.25 Td -(parity)Tj -0.25 Tc 2.558 0 Td -(,t)Tj -0 Tc 0.826 0 Td -[(erminal I/O,)-500(688)]TJ -/TT0 1 Tf --3.384 -1.25 Td -(PARMRK)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(685, 688, 690)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(PARODD)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(675,)-250(685, 688, 690, 713)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47645 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.4)]TJ -31.833 0 Td -[(Implementation )-250(Overview)]TJ -/T1_1 1 Tf -14 0 Td -(749)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(when )-56(we )-56(wr)18(ote )-56(the )-56(r)17(ecor)18(d)-306(to)-306(t)-1(he )-56(database.)-557(The )-56(data )-56(of)18(fset)]TJ -26.628 0.04 Td -(\()Tj -0.333 -0.04 Td -(0)Tj -0.5 0.04 Td -(\))Tj -0.639 -0.04 Td -[(and )-56(data )-56(length)]TJ -7.365 0.04 Td -(\()Tj -0.333 -0.04 Td -(6)Tj -0.5 0.04 Td -(\))Tj --0.018 Tc 0.639 -0.04 Td -(re)Tj -0 Tc 0.856 0 Td -(fer)Tj --37.793 -1.2 Td -[(to )-35(the )-35(data )-35(\336le.)]TJ --0.092 Tc 7.21 0 Td -[(We )-219(c)]TJ -0 Tc 2.116 0 Td -[(an )-35(see )-35(that )-35(the )-35(data )-35(r)19(ecor)]TJ -0.2849 Tc 11.169 0 Td -(dd)Tj -0 Tc 1.507 0 Td -[(oes )-35(start )-35(at )-35(of)18(fset )-35(0 )-35(in )-35(the )-35(data )-35(\336le )-35(and)]TJ --22.002 -1.2 Td -(has a length of 6 bytes.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6378.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 628.2236 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include "apue_db.h")Tj -T* -(#include )Tj -0 -2.14 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(DBHANDLE )-1800(db;)]TJ -0 -2.14 TD -(if \(\(db = db_open\("db4", O_RDWR | O_CREAT | O_TRUNC,)Tj -1.2 -1.189 Td -(FILE_MODE\)\) == NULL\))Tj -1.2 -1.189 Td -(err_sys\("db_open error"\);)Tj --2.4 -2.14 Td -(if \(db_store\(db, "Alpha", "data1", DB_INSERT\) != 0\))Tj -2.4 -1.189 Td -(err_quit\("db_store error for alpha"\);)Tj --2.4 -1.189 Td -(if \(db_store\(db, "beta", "Data for beta", DB_INSERT\) != 0\))Tj -2.4 -1.189 Td -(err_quit\("db_store error for beta"\);)Tj --2.4 -1.189 Td -(if \(db_store\(db, "gamma", "record3", DB_INSERT\) != 0\))Tj -2.4 -1.189 Td -(err_quit\("db_store error for gamma"\);)Tj --2.4 -2.14 Td -(db_close\(db\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3966.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 220.6963 380.5895 Tm -(Figure 20.3)Tj -/T1_0 1 Tf -5.695 0 Td -[(Cr)18(eate a database and write thr)18(ee r)18(ecor)18(ds to it)]TJ -9.9982 0 0 9.9982 129.5769 356.5938 Tm -[(\(As )-82(with )-82(the )-82(index )-82(\336le, )-82(we )-82(automatically )-82(append )-82(a )-82(newline )-82(to )-82(each )-82(data )-82(r)19(ecor)18(d, )-82(so )-82(we)]TJ -0 -1.2 Td -[(can )-165(use )-165(the )-165(normal )-165(UNIX )-165(System )-165(tools )-165(with )-165(the )-165(\336le.)-665(This )-165(newline )-165(at )-165(the )-165(end )-165(is )-165(not)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -(turned to the caller by)Tj -/TT0 1 Tf -10.014 0 Td -(db_fetch)Tj -/T1_0 1 Tf -(.\))Tj --9.07 -1.2 Td -[(If )-10(we )-10(follow )-10(the )-10(thr)18(ee )-10(hash )-10(chains )-10(in )-10(this )-10(example, )-10(we )-10(see )-10(that )-10(the )-10(\336rst )-10(r)14(ecor)]TJ -0.2603 Tc 33.554 0 Td -(do)Tj -0.2602 Tc 1.417 0 Td -(nt)Tj -0 Tc 1.168 0 Td -(he)Tj --37.939 -1.2 Td -[(\336rst )-168(hash )-168(chain )-168(is )-168(at )-168(of)18(fset )-168(53 )-168(\()]TJ -/TT0 1 Tf -14.461 0 Td -(gamma)Tj -/T1_0 1 Tf -[(\). )-418(The)-418(next )-168(r)18(ecor)18(d)-418(on)-418(this )-168(chain )-168(is )-168(at )-168(of)18(fset )-168(17)]TJ --14.461 -1.2 Td -(\()Tj -/TT0 1 Tf -(alpha)Tj -/T1_0 1 Tf -[(\), )-121(and )-121(this )-121(is )-121(the )-121(last )-121(r)20(ecor)18(d)-371(on)-371(t)1(he )-121(chain.)-621(The )-121(\336rst )-121(r)20(ecor)18(d)-371(on)-371(t)1(he )-121(second )-121(hash)]TJ --0 -1.2 Td -[(chain )-32(is )-32(at )-32(of)18(fset )-32(35 )-32(\()]TJ -/TT0 1 Tf -9.104 0 Td -(beta)Tj -/T1_0 1 Tf -[(\), )-32(and )-32(it\325s )-32(the )-32(last )-32(r)20(ecor)18(d)-282(on)-282(t)1(he )-32(chain.)-532(The )-32(thir)]TJ -0.2817 Tc 23.238 0 Td -(dh)Tj -0 Tc 1.475 0 Td -[(ash )-32(chain )-32(is)]TJ --33.817 -1.2 Td -[(empty)111(.)]TJ -1.8 -1.2 Td -[(Note )-14(that )-14(the )-14(or)18(der )-14(of )-14(the )-14(keys )-14(in )-14(the )-14(index )-14(\336le )-14(and )-14(the )-14(or)21(der )-14(of )-14(their )-14(corr)19(esponding)]TJ --0.018 Tc -1.8 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(ds )-52(in )-52(the )-52(data )-52(\336le )-52(is )-52(the )-52(same )-52(as )-52(the )-52(or)18(der )-52(of )-52(the )-52(calls )-52(to)]TJ -/TT0 1 Tf -26.702 0 Td -(db_store)Tj -/T1_0 1 Tf -5.102 0 Td -[(in )-52(Figur)]TJ -0.3023 Tc 3.558 0 Td -(e2)Tj -0 Tc 1.281 0 Td -(0.3.)Tj --37.5 -1.2 Td -[(Since )-31(the)]TJ -/TT0 1 Tf -4.269 0 Td -(O_TRUNC)Tj -/T1_0 1 Tf -4.481 0 Td -[(\337ag )-31(was )-31(speci\336ed )-31(for)]TJ -/TT0 1 Tf -9.753 0 Td -(db_open)Tj -/T1_0 1 Tf -0.2807 Tc (,t)Tj -0 Tc 5.057 0 Td -[(he )-31(index )-31(\336le )-31(and )-31(the )-31(data )-31(\336le )-31(wer)21(e)]TJ --23.56 -1.2 Td -[(both )-127(tr)8(uncated )-127(and )-127(the )-127(database )-127(initialized )-127(fr)18(om )-127(scratch.)-627(In )-127(this )-127(case,)]TJ -/TT0 1 Tf -32.236 0 Td -(db_store)Tj -/T1_0 1 Tf -5.177 0 Td -(just)Tj --37.413 -1.2 Td -[(appends )-110(the )-110(new )-110(index )-110(r)18(ecor)18(ds )-110(and )-110(data )-110(r)18(ecor)18(ds )-110(to )-110(the )-110(end )-110(of )-110(the )-110(corr)18(esponding )-110(\336le.)]TJ --0.092 Tc -0 -1.2 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-41(see )-41(later )-41(that)]TJ -/TT0 1 Tf -7.131 0 Td -(db_store)Tj -/T1_0 1 Tf -5.091 0 Td -[(can )-41(also )-41(r)18(euse )-41(portions )-41(of )-41(these )-41(two )-41(\336les )-41(that )-41(corr)18(espond)]TJ --13.609 -1.2 Td -[(to deleted r)18(ecor)18(ds.)]TJ -1.8 -1.2 Td -[(The )-112(choice )-112(of )-112(a )-112(\336xed-size )-112(hash )-112(table )-112(for )-112(the )-112(index )-112(is )-112(a )-112(compr)22(omise. )-362(It)-361(allows )-112(fast)]TJ --1.8 -1.2 Td -[(access )-96(as )-96(long )-96(as )-96(each )-96(hash )-96(chain )-96(isn\325t )-96(too )-96(long.)]TJ --0.092 Tc 22.285 0 Td -[(We )-280(w)]TJ -0 Tc 2.567 0 Td -[(ant )-96(to )-96(be )-96(able )-96(to )-96(sear)18(ch )-96(for )-96(any)]TJ --24.852 -1.2 Td -[(key )-15(quickly)]TJ -0.2649 Tc 5.046 0 Td -(,b)Tj -0 Tc 1.068 0 Td -[(ut )-15(we )-15(don\325t )-15(want )-15(to )-15(complicate )-15(the )-15(data )-15(str)9(uctur)18(es )-15(by )-15(using )-15(either )-15(a )-15(B-tr)19(ee)]TJ --6.114 -1.2 Td -[(or )-90(dynamic )-90(hashing.)-590(Dynamic )-90(hashing )-90(has )-90(the )-90(advantage )-90(that )-90(any )-90(data )-90(r)22(ecor)]TJ -0.3397 Tc 35.152 0 Td -(dc)Tj -0 Tc 1.395 0 Td -[(an )-90(be)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47646 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(520)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 215.987 670.2598 Tm -(numop--;)Tj -0 -1.189 TD -(break;)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -T* -(if \(numop == 0\) {)Tj -2.4 -1.189 Td -(if \(off >= sbuf.st_size\))Tj -2.4 -1.189 Td -(break;)Tj -0.6 Tc -4.8 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(if \(aio_suspend\(aiolist, NBUF, NULL\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("aio_suspend failed"\);)Tj --4.8 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -2.14 TD -(bufs[0].aiocb.aio_fildes = ofd;)Tj -0 -1.189 TD -(if \(aio_fsync\(O_SYNC, &bufs[0].aiocb\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("aio_fsync failed"\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4857.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 207.4391 469.6826 Tm -(Figure 14.21)Tj -/T1_1 1 Tf --0.09 Tc 6.195 0 Td -(Tr)Tj -0 Tc 0.918 0 Td -(anslate a \336le using ROT)Tj -10.5 0.09 Td -(-)Tj -0.333 -0.09 Td -[(13 and asynchr)18(onous I/O)]TJ -9.9988 0 0 9.9988 147.5827 445.6855 Tm -[(Note )-231(that )-231(we )-231(use )-231(eight )-231(buf)16(fers, )-231(so )-231(we )-231(can )-231(have )-231(up )-231(to )-231(eight )-231(asynchr)18(onous )-231(I/O)]TJ --0.018 Tc -1.8 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quests )-140(pending.)-639(Surprisingly)]TJ -0.3896 Tc 13.196 0 Td -(,t)Tj -0 Tc 0.966 0 Td -[(his )-140(might )-140(actually )-140(r)18(educe )-140(performance)]TJ -0.0833 Tc 17.718 0 Td -(\321i)Tj -0.3896 Tc 1.374 0 Td -(ft)Tj -0 Tc 1.049 0 Td -[(he )-140(r)18(eads)]TJ --35.158 -1.2 Td -(ar)Tj -0.333 Tc 0.877 0 Td -(ep)Tj --0.018 Tc 1.413 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(sented )-83(to )-83(the )-83(\336le )-83(system )-83(out )-83(of )-83(or)18(der)74(,)-333(it)-333(can )-83(defeat )-83(the )-83(operating )-83(system\325s )-83(r)19(ead-)]TJ --3.146 -1.2 Td -(ahead algorithm.)Tj -1.8 -1.2 Td -[(Befor)18(e)-396(we)-396(can )-146(check )-146(the )-146(r)18(eturn )-146(value )-146(of )-146(an )-146(operation, )-146(we )-146(need )-146(to )-146(make )-146(sur)]TJ -0.3962 Tc 34.938 0 Td -(et)Tj -0 Tc 1.201 0 Td -(he)Tj --37.939 -1.2 Td -[(operation )-48(has )-48(completed.)-549(When)]TJ -/TT0 1 Tf -14.768 0 Td -(aio_error)Tj -/T1_1 1 Tf --0.018 Tc 5.698 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-48(a )-48(value )-48(other )-48(than)]TJ -/TT0 1 Tf -11.078 0 Td -(EINPROGRESS)Tj -/T1_1 1 Tf --32.4 -1.2 Td -(or)Tj -/TT1 1 Tf -1.22 0 Td -(!)Tj -/T1_1 1 Tf -[(1, )-29(we )-29(know )-29(the )-29(operation )-29(is )-29(complete.)-529(Excluding )-29(these )-29(values, )-29(if )-29(the )-29(r)18(eturn )-29(value )-29(is)]TJ --1.22 -1.2 Td -[(anything )-111(other )-111(than )-111(0, )-111(then )-111(we )-111(know )-111(the )-111(operation )-111(failed.)-611(Once )-111(we\325ve )-111(checked )-111(these)]TJ -0 -1.2 TD -(conditions, it is safe to call)Tj -/TT0 1 Tf -11.859 0 Td -(aio_return)Tj -/T1_1 1 Tf -6.25 0 Td -[(to get the r)18(eturn value of the I/O operation.)]TJ --16.309 -1.2 Td -[(As )-234(long )-234(as )-234(we )-234(have )-234(work )-234(to )-234(do, )-234(we )-234(can )-234(submit )-234(asynchr)18(onous )-234(I/O )-234(operations.)]TJ --1.8 -1.2 Td -[(When )-192(we )-192(have )-192(an )-192(unused )-192(AIO )-192(contr)18(ol )-192(block, )-192(we )-192(can )-192(submit )-192(an )-192(asynchr)17(onous )-192(r)18(ead)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(quest. )-360(When)]TJ -0.3604 Tc 6.256 0 Td -(ar)Tj -0 Tc 1.237 0 Td -[(ead )-110(completes, )-110(we )-110(translate )-110(the )-110(buf)18(fer )-110(contents )-110(and )-110(then )-110(submit )-110(an)]TJ --8.349 -1.2 Td -[(asynchr)18(onous )-150(write )-150(r)17(equest. )-400(When)-401(all )-150(AIO )-150(contr)18(ol )-150(blocks )-150(ar)17(e)-400(in)-400(u)-1(se, )-150(we )-150(wait )-150(for )-150(an)]TJ -0 -1.2 Td -(operation to complete by calling)Tj -/TT0 1 Tf -14.501 0 Td -(aio_suspend)Tj -/T1_1 1 Tf -(.)Tj --12.701 -1.2 Td -[(When )-5(we )-5(write )-5(a )-5(block )-5(to )-5(the )-5(output )-5(\336le, )-5(we )-5(r)18(etain )-5(the )-5(same )-5(of)17(fset )-5(at )-5(which )-5(we )-5(r)17(ead)]TJ --1.8 -1.2 Td -[(the )-57(data )-57(fr)18(om )-57(the )-57(input )-57(\336le.)-556(Consequently)]TJ -0.3068 Tc 18.995 0 Td -(,t)Tj -0 Tc 0.883 0 Td -[(he )-57(or)18(der )-57(of )-57(the )-57(writes )-57(doesn\325t )-57(matter)]TJ -0.5567 Tc 16.406 0 Td -(.T)Tj -0 Tc 1.42 0 Td -(his)Tj --37.703 -1.2 Td -[(strategy )-306(works )-306(only )-306(because )-306(each )-306(character )-306(in )-306(the )-306(input )-306(\336le )-306(has )-306(a )-306(corr)12(esponding)]TJ -T* -[(character )-1(in )-1(the )-1(output )-1(\336le )-1(at )-1(the )-1(same )-1(of)17(fset; )-1(we )-1(neither )-1(add )-1(nor )-1(delete )-1(characters )-1(in )-1(the)]TJ -T* -[(output \336le. \(This insight might help solve Exer)18(cise 14.8.\))]TJ --0.092 Tc 1.8 -1.2 Td -[(We )-220(d)]TJ -0 Tc 2.284 0 Td -[(on\325t )-36(use )-36(asynchr)18(onous )-36(noti\336cation )-36(in )-36(this )-36(example, )-36(because )-36(it )-36(is )-36(easier )-36(to )-36(use )-36(a)]TJ --4.084 -1.2 Td -[(synchr)18(onous )-268(pr)18(ogramming )-268(model.)-768(If )-268(we )-268(had )-268(something )-268(else )-268(to )-268(do )-268(while )-268(the )-268(I/O)]TJ -T* -[(operations )-186(wer)18(e)-436(in)-436(p)]TJ --0.018 Tc (ro)Tj -0 Tc 10.564 0 Td -[(gr)18(ess, )-186(then )-186(the )-186(additional )-186(work )-186(could )-186(be )-186(folded )-186(into )-186(the)]TJ -/TT0 1 Tf -26.636 0 Td -(for)Tj -/T1_1 1 Tf --37.2 -1.2 Td -[(loop. )-261(If)-262(we )-11(needed )-11(to )-11(pr)18(event )-11(this )-11(additional )-11(work )-11(fr)18(om )-11(delaying )-11(the )-11(task )-11(of )-11(translating)]TJ -T* -[(the )-272(\336le, )-272(however)]TJ -0.5221 Tc 7.862 0 Td -(,t)Tj -0 Tc 1.098 0 Td -[(hen )-272(we )-272(might )-272(have )-272(to )-272(str)8(uctur)]TJ -0.5221 Tc 14.693 0 Td -(et)Tj -0 Tc 1.327 0 Td -[(he )-272(code )-272(to )-272(use )-272(some )-272(form )-272(of)]TJ --24.98 -1.2 Td -[(asynchr)18(onous )-120(noti\336cation.)]TJ --0.055 Tc 12.445 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-120(multiple )-120(tasks, )-120(we )-120(need )-120(to )-120(prioritize )-120(the )-120(tasks )-120(befor)17(e)]TJ --13.681 -1.2 Td -[(deciding how the pr)18(ogram should be str)8(uctur)18(ed.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1457.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47647 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(5.14)]TJ -36.014 0 Td -[(Memory )-250(Str)18(eams)]TJ -/T1_1 1 Tf -9.819 0 Td -(173)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(memset\(buf, \325c\325, BSZ-2\);)Tj -0 -1.189 TD -(buf[BSZ-2] = \325\\0\325;)Tj -T* -(buf[BSZ-1] = \325X\325;)Tj -T* -(fprintf\(fp, "hello, world"\);)Tj -T* -(fclose\(fp\);)Tj -0 -1.189 TD -(printf\("after fclose: %s\\n", buf\);)Tj -0 -1.189 TD -(printf\("len of string in buf = %ld\\n", \(long\)strlen\(buf\)\);)Tj -0 -2.021 TD -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 5724.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 226.4648 556.3422 Tm -(Figure 5.15)Tj -/T1_0 1 Tf -5.695 0 Td -[(Investigate memory str)18(eam write behavior)]TJ -9.9988 0 0 9.9988 129.5846 528.7455 Tm -[(When we r)8(un the pr)18(ogram on Linux, we get the following:)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5825 512.0475 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/T1_2 1 Tf -18 -1.189 Td -[(overwrite the buffer with a\325)55(s)]TJ -/TT0 1 Tf --19.2 -1.189 Td -[(initial buffer contents:)-4800(fmemopen)]TJ -/T1_2 1 Tf -24.6 0 Td -(places a null byte at beginning of buffer)Tj -/TT0 1 Tf --24.6 -1.189 Td -(before flush:)Tj -/T1_2 1 Tf -19.2 0 Td -[(buffer is unchanged until str)18(eam is \337ushed)]TJ -/TT0 1 Tf --19.2 -1.189 Td -(after fflush: hello, world)Tj -0 -1.189 TD -(len of string in buf = 12)Tj -/T1_2 1 Tf -19.2 0 Td -(null byte added to end of string)Tj -0 -1.189 TD -[(now overwrite the buffer with b\325)55(s)]TJ -/TT0 1 Tf --19.2 -1.189 Td -[(after )-600(fseek:)-600(bbbbbbbbbbbbhello, world)-4400(fseek)]TJ -/T1_2 1 Tf -30.8 0 Td -(causes \337ush)Tj -/TT0 1 Tf --30.8 -1.189 Td -(len of string in buf = 24)Tj -/T1_2 1 Tf -19.2 0 Td -(null byte appended again)Tj -T* -[(now overwrite the buffer with c\325)55(s)]TJ -/TT0 1 Tf --19.2 -1.189 Td -(after fclose: hello, worldcccccccccccccccccccccccccccccccccc)Tj -T* -(len of string in buf = 46)Tj -/T1_2 1 Tf -19.2 0 Td -(no null byte appended)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5846 372.7643 Tm -[(This )-41(example )-41(shows )-41(the )-41(policy )-41(for )-41(\337ushing )-41(memory )-41(str)20(eams )-41(and )-41(appending )-41(null )-41(bytes.)]TJ -0.4212 Tc 0 -1.2 TD -(An)Tj -0 Tc 1.781 0 Td -[(ull )-171(byte )-171(is )-171(appended )-171(automatically )-171(whenever )-171(we )-171(write )-171(to )-171(a )-171(memory )-171(str)16(eam )-171(and)]TJ --1.781 -1.2 Td -[(advance )-65(the )-65(str)18(eam\325s )-65(notion )-65(of )-65(the )-65(size )-65(of )-65(the )-65(str)18(eam\325s )-65(contents )-65(\(as )-65(opposed )-65(to )-65(the )-65(size)]TJ -T* -[(of )-112(the )-112(buf)18(fer)]TJ -0.3621 Tc 5.594 0 Td -(,w)Tj -0 Tc 1.446 0 Td -[(hich )-112(is )-112(\336xed\).)-612(The )-112(size )-112(of )-112(the )-112(str)17(eam\325s )-112(contents )-112(is )-112(determined )-112(by )-112(how)]TJ --7.04 -1.2 Td -(much we write to it.)Tj -7.999 0 0 7.999 183.5784 304.7724 Tm -[(Of )-170(the )-170(four )-170(platforms )-170(cover)16(ed )-170(in )-170(this )-170(book, )-170(only )-170(Linux )-170(3.2.0 )-170(pr)18(ovides )-170(support )-170(for )-170(memory)]TJ -0 -1.25 TD -[(str)18(eams. )-499(This)-500(is )-249(a )-249(case )-249(of )-249(the )-249(implementations )-249(not )-249(having )-249(caught )-249(up )-249(yet )-249(with )-249(the )-249(latest)]TJ -T* -[(standar)18(ds, and will change with time.)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 2788.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 147.5734 254.7631 Tm -[(The )-434(other )-434(two )-434(functions )-434(that )-434(can )-434(be )-434(used )-434(to )-434(cr)18(eate )-434(a )-434(memory )-434(str)18(eam )-434(ar)22(e)]TJ -/TT0 1 Tf --1.8 -1.2 Td -(open_memstream)Tj -/T1_0 1 Tf -8.65 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(open_wmemstream)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.5735 223.6687 Tm -(#include )Tj -0 -1.902 TD -(FILE *open_memstream\(char **)Tj -/T1_2 1 Tf -(bufp)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 20.397 0 Td -(ize_t *)Tj -/T1_2 1 Tf -(sizep)Tj -/TT0 1 Tf -(\);)Tj --20.397 -1.902 Td -(#include )Tj -T* -(FILE *open_wmemstream\(wchar_t **)Tj -/T1_2 1 Tf -(bufp)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 22.797 0 Td -(ize_t *)Tj -/T1_2 1 Tf -(sizep)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --4.856 -1.902 Td -[(Both r)18(eturn: str)18(eam pointer if OK,)]TJ -/TT0 1 Tf -15.172 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1507.25 cm -0 0 m -0 820 l -3900 820 l -3900 0 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47648 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(902)Tj -/T1_1 1 Tf -3.5 0 Td -[(Miscellaneous )-250(Sour)18(ce )-250(Code)]TJ -38.263 0 Td -[(Appendix )-250(B)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*E)Tj -0 Tc 1.8 0 Td -(rror routines for programs that can run as a daemon.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -2.021 Td -(#include "apue.h")Tj -0 -1.189 TD -[(#include )-3600(/* for definition of errno */)]TJ -T* -[(#include )-3000(/* ISO C variable arguments */)]TJ -T* -(#include )Tj -0 -2.021 TD -(static void log_doit\(int, int, int, const char *, va_list ap\);)Tj -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(aller must define and set this: nonzero if)Tj -0.6 Tc -1.8 -1.189 Td -(*i)Tj -0 Tc 1.8 0 Td -(nteractive, zero if daemon)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -[(extern int)-1200(log_to_stderr;)]TJ -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*I)Tj -0 Tc 1.8 0 Td -(nitialize syslog\(\), if running as daemon.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(log_open\(const char *ident, int option, int facility\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(if \(log_to_stderr == 0\))Tj -2.4 -1.189 Td -(openlog\(ident, option, facility\);)Tj --4.8 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*N)Tj -0 Tc 1.8 0 Td -(onfatal error related to a system call.)Tj -0.6 Tc -1.8 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(rint a message with the system\325s errno value and return.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(log_ret\(const char *fmt, ...\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(va_list )-2400(ap;)]TJ -0 -2.021 TD -(va_start\(ap, fmt\);)Tj -0 -1.189 TD -(log_doit\(1, errno, LOG_ERR, fmt, ap\);)Tj -0 -1.189 TD -(va_end\(ap\);)Tj --2.4 -1.189 Td -(})Tj -0 -2.021 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*F)Tj -0 Tc 1.8 0 Td -(atal error related to a system call.)Tj -0.6 Tc -1.8 -1.189 Td -(*P)Tj -0 Tc 1.8 0 Td -(rint a message and terminate.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(log_sys\(const char *fmt, ...\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(va_list )-2400(ap;)]TJ -0 -2.021 TD -(va_start\(ap, fmt\);)Tj -0 -1.189 TD -(log_doit\(1, errno, LOG_ERR, fmt, ap\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47649 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.3)]TJ -38.358 0 Td -[(The )-250(Library)]TJ -/T1_1 1 Tf -7.475 0 Td -(745)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 670.2598 Tm -(#include "apue_db.h")Tj -0 -2.021 TD -(DBHANDLE db_open\(const char *)Tj -/T1_2 1 Tf -(pathname)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 23.144 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(o\337ag)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 3.733 0 Td -(.. /* int)Tj -/T1_2 1 Tf -6 0 Td -(mode)Tj -/TT0 1 Tf -2.711 0 Td -(*/\);)Tj -/T1_0 1 Tf --18.576 -2.021 Td -(Returns: database handle if OK,)Tj -/TT0 1 Tf -14.301 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --35.763 -2.021 Td -(void db_close\(DBHANDLE)Tj -/T1_2 1 Tf -13.8 0 Td -(db)Tj -/TT0 1 Tf -(\);)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 6112.25 cm -0 0 m -0 681 l -3900 681 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 597.6583 Tm -(If)Tj -/TT0 1 Tf -1.208 0 Td -(db_open)Tj -/T1_0 1 Tf -4.738 0 Td -[(is )-288(successful, )-288(two )-288(\336les )-288(ar)]TJ -0.5383 Tc 11.969 0 Td -(ec)Tj --0.018 Tc 1.461 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ated:)Tj -/T1_2 1 Tf -2.704 0 Td -(pathname.idx)Tj -/T1_0 1 Tf -6.01 0 Td -[(is )-288(the )-288(index )-288(\336le, )-288(and)]TJ -/T1_2 1 Tf --28.948 -1.2 Td -(pathname.dat)Tj -/T1_0 1 Tf -5.731 0 Td -[(is )-10(the )-10(data )-10(\336le.)-508(The)]TJ -/T1_2 1 Tf -8.886 0 Td -(o\337ag)Tj -/T1_0 1 Tf -2.193 0 Td -[(ar)18(gument )-10(is )-10(used )-10(as )-10(the )-10(second )-10(ar)18(gument )-10(to)]TJ -/TT0 1 Tf -19.791 0 Td -(open)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(\(Section )-36(3.3\) )-36(to )-36(specify )-36(how )-36(the )-36(\336les )-36(ar)17(e)-286(to)-286(be)-286(opened )-36(\(e.g., )-36(r)18(ead-only)]TJ -0.2861 Tc 30.531 0 Td -(,r)Tj -0 Tc 0.913 0 Td -[(ead\320write, )-36(cr)18(eate)]TJ --31.444 -1.2 Td -[(\336le )-97(if )-97(it )-97(doesn\325t )-97(exist\).)-596(The)]TJ -/T1_2 1 Tf -12.486 0 Td -(mode)Tj -/T1_0 1 Tf -2.458 0 Td -[(ar)18(gument )-97(is )-97(used )-97(as )-97(the )-97(thir)]TJ -0.3469 Tc 12.759 0 Td -(da)Tj --0.018 Tc 1.458 0 Td -(rg)Tj -0 Tc 0.933 0 Td -[(ument )-97(to)]TJ -/TT0 1 Tf -4.439 0 Td -(open)Tj -/T1_0 1 Tf -2.747 0 Td -(\(the)Tj --37.28 -1.2 Td -(\336le access permissions\) if the database \336les ar)Tj -0.25 Tc 20.093 0 Td -(ec)Tj --0.018 Tc 1.173 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ated.)Tj --20.322 -1.2 Td -[(When )-98(we\325r)]TJ -0.348 Tc 4.959 0 Td -(ed)Tj -0 Tc 1.438 0 Td -[(one )-98(with )-98(a )-98(database, )-98(we )-98(call)]TJ -/TT0 1 Tf -13.21 0 Td -(db_close)Tj -/T1_0 1 Tf -0.598 Tc (.I)Tj -0.348 Tc 5.985 0 Td -(tc)Tj -0 Tc 1.118 0 Td -[(loses )-98(the )-98(index )-98(\336le )-98(and)]TJ --28.51 -1.2 Td -[(the data \336le and r)18(eleases any memory that it allocated for internal buf)18(fers.)]TJ -1.8 -1.2 Td -[(When )-149(we )-149(stor)]TJ -0.3988 Tc 6.427 0 Td -(ean)Tj -0 Tc 2.359 0 Td -[(ew )-149(r)18(ecor)18(d)-399(in)-399(the )-149(database, )-149(we )-149(have )-149(to )-149(specify )-149(the )-149(key )-149(for )-149(the)]TJ --0.018 Tc -10.585 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.5429 Tc 1.367 0 Td -(da)Tj -0 Tc 1.654 0 Td -[(nd )-293(the )-293(data )-293(associated )-293(with )-293(the )-293(key)]TJ -0.7928 Tc 17.219 0 Td -(.I)Tj -0.5428 Tc 1.38 0 Td -(ft)Tj -0 Tc 1.202 0 Td -[(he )-293(database )-293(contained )-293(personnel)]TJ --0.018 Tc -23.678 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(ds, )-36(the )-36(key )-36(could )-36(be )-36(the )-36(employee )-36(ID, )-36(and )-36(the )-36(data )-36(could )-36(be )-36(the )-36(employee\325s )-36(name,)]TJ --0.856 -1.2 Td -[(addr)18(ess, )-12(telephone )-12(number)]TJ -0.2624 Tc 11.987 0 Td -(,d)Tj -0 Tc 1.123 0 Td -[(ate )-12(of )-12(hir)18(e, )-12(and )-12(the )-12(like.)-512(Our )-12(implementation )-12(r)15(equir)18(es )-12(that)]TJ --13.11 -1.2 Td -[(the )-37(key )-37(for )-37(each )-37(r)20(ecor)18(d)-287(be)-287(u)1(nique. )-287(\(W)]TJ -0.2866 Tc 16.988 0 Td -(ec)Tj -0 Tc 1.21 0 Td -[(an\325t )-37(have )-37(two )-37(employee )-37(r)20(ecor)18(ds )-37(with )-37(the )-37(same)]TJ --18.198 -1.2 Td -(employee ID, for example.\))Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5838 436.9776 Tm -(#include "apue_db.h")Tj -0 -2.021 TD -(int db_store\(DBHANDLE)Tj -/T1_2 1 Tf -13.2 0 Td -(db)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.763 0 Td -(onst char *)Tj -/T1_2 1 Tf -(key)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 9.733 0 Td -(onst char *)Tj -/T1_2 1 Tf -(data)Tj -/TT0 1 Tf -(,)Tj --17.896 -1.189 Td -(int)Tj -/T1_2 1 Tf -2.4 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf -7.27 -2.021 Td -[(Returns: 0 if OK, nonzer)18(o)-250(on)-250(err)18(or \(see following\))]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3854.25 cm -0 0 m -0 606 l -3900 606 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9982 0 0 9.9982 129.5767 371.8831 Tm -(The)Tj -/T1_2 1 Tf -2.022 0 Td -(key)Tj -/T1_0 1 Tf -1.681 0 Td -(and)Tj -/T1_2 1 Tf -2.041 0 Td -(data)Tj -/T1_0 1 Tf -2.069 0 Td -[(ar)18(guments )-98(ar)]TJ -0.348 Tc 5.955 0 Td -(en)Tj -0 Tc 1.409 0 Td -[(ull-terminated )-98(character )-98(strings.)-598(The )-98(only )-98(r)18(estriction)]TJ --15.177 -1.2 Td -[(on )-201(these )-201(two )-201(strings )-201(is )-201(that )-201(neither )-201(can )-201(contain )-201(null )-201(bytes.)-699(They )-201(may)]TJ -0.4509 Tc 32.575 0 Td -(,f)Tj -0 Tc 1.034 0 Td -[(or )-201(example,)]TJ --33.609 -1.2 Td -(contain newlines.)Tj -1.8 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.095 0 Td -(\337ag)Tj -/T1_0 1 Tf -1.91 0 Td -[(ar)18(gument )-171(can )-171(be)]TJ -/TT0 1 Tf -8.128 0 Td -(DB_INSERT)Tj -/T1_0 1 Tf -5.821 0 Td -[(\(to )-171(insert )-171(a )-171(new )-171(r)17(ecor)18(d\),)]TJ -/TT0 1 Tf -11.62 0 Td -(DB_REPLACE)Tj -/T1_0 1 Tf -6.421 0 Td -(\(to)Tj --0.018 Tc -37.795 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(place )-21(an )-21(existing )-21(r)18(ecor)18(d\), )-21(or)]TJ -/TT0 1 Tf -12.575 0 Td -(DB_STORE)Tj -/T1_0 1 Tf -5.071 0 Td -[(\(to )-21(either )-21(insert )-21(or )-21(r)18(eplace )-21(a )-21(r)18(ecor)18(d, )-21(whichever)]TJ --18.502 -1.2 Td -[(is )-202(appr)18(opriate\). )-452(These)-452(thr)18(ee )-202(constants )-202(ar)]TJ -0.4519 Tc 18.876 0 Td -(ed)Tj -0 Tc 1.542 0 Td -[(e\336ned )-202(in )-202(the)]TJ -/TT0 1 Tf -6.372 0 Td -(apue_db.h)Tj -/T1_0 1 Tf -5.852 0 Td -(header)Tj -0.7019 Tc 2.972 0 Td -(.I)Tj -0.4519 Tc 1.289 0 Td -(fw)Tj -0 Tc 1.619 0 Td -(e)Tj --38.521 -1.2 Td -[(specify )-73(either)]TJ -/TT0 1 Tf -6.326 0 Td -(DB_INSERT)Tj -/T1_0 1 Tf -5.723 0 Td -(or)Tj -/TT0 1 Tf -1.264 0 Td -(DB_STORE)Tj -/T1_0 1 Tf -5.123 0 Td -[(and )-73(the )-73(r)18(ecor)]TJ -0.3229 Tc 5.949 0 Td -(dd)Tj -0 Tc 1.545 0 Td -[(oes )-73(not )-73(exist, )-73(a )-73(new )-73(r)18(ecor)]TJ -0.323 Tc 11.422 0 Td -(di)Tj -0 Tc 1.225 0 Td -(s)Tj --38.576 -1.2 Td -[(inserted. )-298(If)-297(we )-48(specify )-48(either)]TJ -/TT0 1 Tf -13.238 0 Td -(DB_REPLACE)Tj -/T1_0 1 Tf -6.298 0 Td -(or)Tj -/TT0 1 Tf -1.239 0 Td -(DB_STORE)Tj -/T1_0 1 Tf -5.098 0 Td -[(and )-48(the )-48(r)19(ecor)]TJ -0.2975 Tc 5.898 0 Td -(da)Tj -0 Tc 1.409 0 Td -[(lr)18(eady )-47(exists,)]TJ --33.178 -1.2 Td -[(the )-34(existing )-34(r)18(ecor)18(d)-284(is)-284(r)18(eplaced )-34(with )-34(the )-34(new )-34(r)18(ecor)18(d. )-284(If)-284(we )-34(specify)]TJ -/TT0 1 Tf -29.352 0 Td -(DB_REPLACE)Tj -/T1_0 1 Tf -6.284 0 Td -[(and )-34(the)]TJ --0.018 Tc -35.636 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.3697 Tc 1.367 0 Td -(dd)Tj -0 Tc 1.592 0 Td -[(oesn\325t )-120(exist, )-120(we )-120(set)]TJ -/TT0 1 Tf -8.942 0 Td -(errno)Tj -/T1_0 1 Tf -3.37 0 Td -(to)Tj -/TT0 1 Tf -1.242 0 Td -(ENOENT)Tj -/T1_0 1 Tf -3.97 0 Td -[(and )-120(r)18(eturn)]TJ -/TT1 1 Tf -5.194 0 Td -(!)Tj -/T1_0 1 Tf -0.3696 Tc (1w)Tj -0 Tc 2.253 0 Td -[(ithout )-120(adding )-120(the )-120(new)]TJ --0.018 Tc -28.784 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(d. )-252(If)-253(we )-2(specify)]TJ -/TT0 1 Tf -8.599 0 Td -(DB_INSERT)Tj -/T1_0 1 Tf -5.652 0 Td -[(and )-2(the )-2(r)17(ecor)]TJ -0.2524 Tc 5.808 0 Td -(da)Tj -0 Tc 1.363 0 Td -[(lr)18(eady )-2(exists, )-2(no )-2(r)17(ecor)18(d)-252(is)-252(i)-1(nserted. )-252(In)]TJ --22.278 -1.2 Td -[(this case, the r)18(eturn value is 1 to distinguish it fr)18(om a normal err)18(or r)18(eturn)]TJ -32.532 0.04 Td -(\()Tj -/TT1 1 Tf -0.333 -0.04 Td -(!)Tj -/T1_0 1 Tf -(1)Tj -1.049 0.04 Td -(\))Tj -0.333 -0.04 Td -(.)Tj --0.092 Tc -32.447 -1.2 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -[(an fetch any r)18(ecor)]TJ -0.25 Tc 7.857 0 Td -(df)Tj --0.018 Tc 1.194 0 Td -(ro)Tj -0.25 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.459 0 Td -(he database by specifying its)Tj -/T1_2 1 Tf -12.911 0 Td -(key)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -8.9984 0 0 8.9984 147.5738 211.212 Tm -(#include "apue_db.h")Tj -0 -2.021 TD -(char *db_fetch\(DBHANDLE)Tj -/T1_2 1 Tf -14.4 0 Td -(db)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.763 0 Td -(onst char *)Tj -/T1_2 1 Tf -(key)Tj -/TT0 1 Tf -(\);)Tj -/T1_0 1 Tf --2.459 -2.021 Td -(Returns: pointer to data if OK,)Tj -/TT0 1 Tf -13.642 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(if r)18(ecor)]TJ -0.25 Tc 3.097 0 Td -(dn)Tj -0 Tc 1.443 0 Td -(ot found)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1703.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9976 0 0 9.9976 129.5689 156.8324 Tm -[(The )-121(r)18(eturn )-121(value )-121(is )-121(a )-121(pointer )-121(to )-121(the )-121(data )-121(that )-121(was )-121(stor)18(ed )-121(with )-121(the)]TJ -/T1_2 1 Tf -30.374 0 Td -(key)Tj -/T1_0 1 Tf -[(,)-371(if)-371(the )-121(r)18(ecor)]TJ -0.3709 Tc 6.93 0 Td -(di)Tj -0 Tc 1.273 0 Td -(s)Tj --38.576 -1.2 Td -[(found. )-250(W)]TJ -0.25 Tc 4.333 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(an also delete a r)18(ecor)]TJ -0.25 Tc 9.231 0 Td -(df)Tj --0.018 Tc 1.194 0 Td -(ro)Tj -0.25 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.459 0 Td -(he database by specifying its)Tj -/T1_2 1 Tf -12.911 0 Td -(key)Tj -/T1_0 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47650 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(492)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 93.5944 668.9599 Tm -[(Implied Inheritance and Release of Loc)20(ks)]TJ -/T1_1 1 Tf -3.6 -2.16 Td -[(Thr)18(ee r)8(ules govern the automatic inheritance and r)18(elease of r)18(ecor)]TJ -0.25 Tc 28.668 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(ocks.)Tj --29.82 -1.8 Td -[(1. )-633(Locks)-251(ar)]TJ -0.2506 Tc 5.342 0 Td -(ea)Tj -0 Tc 1.23 0 Td -[(ssociated )-1(with )-1(a )-1(pr)19(ocess and a \336le.)-500(This has two implications.)-500(The \336rst is)]TJ --4.938 -1.2 Td -[(obvious: )-11(when )-11(a )-11(pr)18(ocess )-11(terminates, )-11(all )-11(its )-11(locks )-11(ar)]TJ -0.2614 Tc 22.337 0 Td -(er)Tj -0 Tc 1.117 0 Td -[(eleased. )-261(The)-262(second )-11(is )-11(far )-11(fr)17(om)]TJ --23.455 -1.2 Td -[(obvious: )-146(whenever )-146(a )-146(descriptor )-146(is )-146(closed, )-146(any )-146(locks )-146(on )-146(the )-146(\336le )-146(r)16(efer)18(enced )-146(by )-146(that)]TJ -0 -1.2 Td -[(descriptor for that pr)18(ocess ar)]TJ -0.25 Tc 12.692 0 Td -(er)Tj -0 Tc 1.106 0 Td -[(eleased. )-250(This)-250(means that if we make the calls)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 163.9205 576.6654 Tm -(fd1 = open\(pathname, ...\);)Tj -0 -1.189 TD -(read_lock\(fd1, ...\);)Tj -T* -(fd2 = dup\(fd1\);)Tj -T* -(close\(fd2\);)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 145.9215 526.5684 Tm -[(after )-161(the)]TJ -/TT1 1 Tf -4.243 0 Td -(close\(fd2\))Tj -/T1_1 1 Tf -0.4115 Tc (,t)Tj -0 Tc 6.987 0 Td -[(he )-161(lock )-161(that )-161(was )-161(obtained )-161(on)]TJ -/TT1 1 Tf -13.875 0 Td -(fd1)Tj -/T1_1 1 Tf -2.212 0 Td -[(is )-162(r)18(eleased. )-412(The)-411(same)]TJ --27.317 -1.2 Td -[(thing would happen if we r)18(eplaced the)]TJ -/TT1 1 Tf -17.423 0 Td -(dup)Tj -/T1_1 1 Tf -2.05 0 Td -(with)Tj -/TT1 1 Tf -2.283 0 Td -(open)Tj -/T1_1 1 Tf -[(,)-250(as)-250(in)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 163.9206 497.8701 Tm -(fd1 = open\(pathname, ...\);)Tj -T* -(read_lock\(fd1, ...\);)Tj -T* -(fd2 = open\(pathname, ...\))Tj -T* -(close\(fd2\);)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 145.9216 447.7731 Tm -[(to open the same \336le on another descriptor)74(.)]TJ --1.633 -1.6 Td -[(2. )-633(Locks)-342(ar)]TJ -0.3422 Tc 5.433 0 Td -(en)Tj -0 Tc 1.403 0 Td -[(ever )-92(inherited )-92(by )-92(the )-92(child )-92(acr)18(oss )-92(a)]TJ -/TT1 1 Tf -16.279 0 Td -(fork)Tj -/T1_1 1 Tf -0.5922 Tc (.T)Tj -0 Tc 3.855 0 Td -[(his )-92(means )-92(that )-92(if )-92(a )-92(pr)17(ocess)]TJ --25.338 -1.2 Td -[(obtains )-184(a )-184(lock )-184(and )-184(then )-184(calls)]TJ -/TT1 1 Tf -13.775 0 Td -(fork)Tj -/T1_1 1 Tf -0.4341 Tc (,t)Tj -0 Tc 3.41 0 Td -[(he )-184(child )-184(is )-184(consider)18(ed )-184(another )-184(pr)18(ocess )-184(with)]TJ --0.018 Tc -17.185 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(gar)18(d)-341(to)-341(t)-1(he )-91(lock )-91(that )-91(was )-91(obtained )-91(by )-91(the )-91(par)16(ent. )-341(The)-342(child )-91(has )-91(to )-91(call)]TJ -/TT1 1 Tf -32.298 0 Td -(fcntl)Tj -/T1_1 1 Tf -3.341 0 Td -(to)Tj --36.495 -1.2 Td -[(obtain )-115(its )-115(own )-115(locks )-115(on )-115(any )-115(descriptors )-115(that )-115(wer)]TJ -0.3656 Tc 22.112 0 Td -(ei)Tj -0 Tc 1.136 0 Td -[(nherited )-116(acr)18(oss )-116(the)]TJ -/TT1 1 Tf -8.944 0 Td -(fork)Tj -/T1_1 1 Tf -0.6156 Tc (.T)Tj -0 Tc 3.879 0 Td -(his)Tj --36.07 -1.2 Td -[(constraint )-65(makes )-65(sense )-65(because )-65(locks )-65(ar)]TJ -0.3154 Tc 17.843 0 Td -(em)Tj -0 Tc 1.677 0 Td -[(eant )-65(to )-65(pr)17(event )-65(multiple )-65(pr)18(ocesses )-65(fr)17(om)]TJ --19.52 -1.2 Td -[(writing )-47(to )-47(the )-47(same )-47(\336le )-47(at )-47(the )-47(same )-47(time.)-549(If )-47(the )-47(child )-47(inherited )-47(locks )-47(acr)18(oss )-47(a)]TJ -/TT1 1 Tf -34.717 0 Td -(fork)Tj -/T1_1 1 Tf -(,)Tj --34.717 -1.2 Td -[(both the par)18(ent and the child could write to the same \336le at the same time.)]TJ --1.633 -1.6 Td -[(3. )-633(Locks)-364(ar)]TJ -0.3645 Tc 5.456 0 Td -(ei)Tj -0 Tc 1.134 0 Td -[(nherited )-114(by )-114(a )-114(new )-114(pr)16(ogram )-114(acr)18(oss )-114(an)]TJ -/TT1 1 Tf -17.455 0 Td -(exec)Tj -/T1_1 1 Tf -0.6144 Tc (.N)Tj -0 Tc 4.095 0 Td -[(ote, )-114(however)]TJ -0.3644 Tc 5.771 0 Td -(,t)Tj -0 Tc 0.94 0 Td -[(hat )-114(if )-114(the)]TJ --33.219 -1.2 Td -[(close-on-exec )-203(\337ag )-203(is )-203(set )-203(for )-203(a )-203(\336le )-203(descriptor)]TJ -0.4532 Tc 20.263 0 Td -(,a)Tj -0 Tc 1.203 0 Td -[(ll )-203(locks )-203(for )-203(the )-203(underlying )-203(\336le )-203(ar)17(e)]TJ --0.018 Tc -21.467 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(leased when the descriptor is closed as part of an)Tj -/TT1 1 Tf -21.877 0 Td -(exec)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf --27.966 -2.4 Td -(FreeBSD Implementation)Tj -/T1_1 1 Tf -3.6 -2.16 Td -[(Let\325s )-60(take )-60(a )-60(brief )-60(look )-60(at )-60(the )-60(data )-60(str)8(uctur)18(es )-60(used )-60(in )-60(the )-60(Fr)18(eeBSD )-60(implementation.)-560(This)]TJ -0 -1.2 Td -[(should )-119(help )-119(clarify )-119(r)8(ule )-119(1, )-119(which )-119(states )-119(that )-119(locks )-119(ar)]TJ -0.3694 Tc 23.739 0 Td -(ea)Tj -0 Tc 1.348 0 Td -[(ssociated )-119(with )-119(a )-119(pr)18(ocess )-119(and )-119(a)]TJ --25.087 -1.2 Td -(\336le.)Tj -1.8 -1.2 Td -[(Consider a pr)18(ocess that executes the following statements \(ignoring err)18(or r)18(eturns\):)]TJ -/TT1 1 Tf -8.9995 0 0 8.9995 147.5913 221.4867 Tm -(fd1 = open\(pathname, ...\);)Tj -T* -[(write_lock\(fd1, 0, SEEK_SET, 1\);)-2400(/* parent write locks byte 0 */)]TJ -T* -(if \(\(pid = fork\(\)\) > 0\) {)Tj -21.6 0 Td -(/* parent */)Tj --19.2 -1.189 Td -(fd2 = dup\(fd1\);)Tj -T* -(fd3 = open\(pathname, ...\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse if \(pid == 0\) {)Tj -0.6 -1.189 Td -(read_lock\(fd1, 1, SEEK_SET, 1\); /* child read locks byte 1 */)Tj --2.4 -1.189 Td -(})Tj -T* -(pause\(\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47651 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(3.16)]TJ -/TT0 1 Tf -40.133 0 Td -(/dev/fd)Tj -/T1_1 1 Tf -6.2 0 Td -(89)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(In the function call)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 651.191 Tm -(fd = open\("/dev/fd/0", mode\);)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 632.1223 Tm -[(most )-13(systems )-13(ignor)]TJ -0.2635 Tc 8.574 0 Td -(et)Tj -0 Tc 1.069 0 Td -[(he )-13(speci\336ed)]TJ -/TT0 1 Tf -5.522 0 Td -(mode)Tj -/T1_0 1 Tf -0.2635 Tc (,w)Tj -0 Tc 3.748 0 Td -[(her)18(eas )-13(others )-13(r)17(equir)]TJ -0.2635 Tc 8.807 0 Td -(et)Tj -0 Tc 1.069 0 Td -[(hat )-13(it )-13(be )-13(a )-13(subset )-13(of )-13(the)]TJ --28.788 -1.2 Td -[(mode )-3(used )-3(when )-3(the )-3(r)19(efer)18(enced )-3(\336le )-3(\(standar)]TJ -0.2528 Tc 19.685 0 Td -(di)Tj -0 Tc 1.155 0 Td -[(nput, )-3(in )-3(this )-3(case\) )-3(was )-3(originally )-3(opened.)]TJ --20.84 -1.2 Td -[(Because the pr)18(evious)]TJ -/TT0 1 Tf -9.563 0 Td -(open)Tj -/T1_0 1 Tf -2.65 0 Td -(is equivalent to)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 590.3545 Tm -(fd = dup\(0\);)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5923 571.2857 Tm -[(the )-149(descriptors )-149(0 )-149(and)]TJ -/TT0 1 Tf -10.113 0 Td -(fd)Tj -/T1_0 1 Tf -1.599 0 Td -(shar)Tj -0.3993 Tc 1.883 0 Td -(et)Tj -0 Tc 1.204 0 Td -[(he )-149(same )-149(\336le )-149(table )-149(entry )-149(\(Figur)]TJ -0.3992 Tc 13.922 0 Td -(e3)Tj -0 Tc 1.378 0 Td -[(.9\). )-399(For)-399(example, )-149(if)]TJ --30.099 -1.2 Td -[(descriptor )-38(0 )-38(was )-38(opened )-38(r)20(ead-only)111(,)-288(we)-288(c)1(an )-38(only )-38(r)18(ead )-38(on)]TJ -/TT0 1 Tf -25.267 0 Td -(fd)Tj -/T1_0 1 Tf -0.5376 Tc (.E)Tj -0 Tc 2.599 0 Td -[(ven )-38(if )-38(the )-38(system )-38(ignor)20(es)]TJ --27.866 -1.2 Td -(the open mode and the call)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 529.5183 Tm -(fd = open\("/dev/fd/0", O_RDWR\);)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5923 510.4496 Tm -(succeeds, we still can\325t write to)Tj -/TT0 1 Tf -13.921 0 Td -(fd)Tj -/T1_0 1 Tf -(.)Tj -7.9995 0 0 7.9995 183.5889 490.4508 Tm -[(The )-51(Linux )-51(implementation )-51(of)]TJ -/TT0 1 Tf -13.419 0 Td -(/dev/fd)Tj -/T1_0 1 Tf -4.501 0 Td -[(is )-51(an )-51(exception.)-551(It )-51(maps )-51(\336le )-51(descriptors )-51(into )-51(symbolic)]TJ --17.919 -1.25 Td -[(links )-35(pointing )-35(to )-35(the )-35(underlying )-35(physical )-35(\336les.)-535(When )-35(you )-35(open)]TJ -/TT0 1 Tf -28.517 0 Td -(/dev/fd/0)Tj -/T1_0 1 Tf -0.285 Tc (,f)Tj -0 Tc 6.268 0 Td -[(or )-35(example, )-35(you)]TJ --34.785 -1.25 Td -(ar)Tj -0.286 Tc 0.877 0 Td -(er)Tj -0 Tc 1.142 0 Td -[(eally )-36(opening )-36(the )-36(\336le )-36(associated )-36(with )-36(your )-36(standar)]TJ -0.2859 Tc 22.516 0 Td -(di)Tj -0 Tc 1.188 0 Td -[(nput. )-286(Thus)-286(the )-36(mode )-36(of )-36(the )-36(new )-36(\336le)]TJ --25.723 -1.25 Td -[(descriptor r)18(eturned is unr)18(elated to the mode of the)]TJ -/TT0 1 Tf -22.621 0 Td -(/dev/fd)Tj -/T1_0 1 Tf -4.45 0 Td -[(\336le descriptor)74(.)]TJ --0.092 Tc 9.9994 0 0 9.9994 147.5914 440.4538 Tm -[(We )-368(c)]TJ -0 Tc 2.265 0 Td -[(an )-184(also )-184(call)]TJ -/TT0 1 Tf -5.67 0 Td -(creat)Tj -/T1_0 1 Tf -3.434 0 Td -[(with )-184(a)]TJ -/TT0 1 Tf -3.4 0 Td -(/dev/fd)Tj -/T1_0 1 Tf -4.634 0 Td -[(pathname )-184(ar)18(gument )-184(as )-184(well )-184(as )-184(specify)]TJ -/TT0 1 Tf --21.202 -1.2 Td -(O_CREAT)Tj -/T1_0 1 Tf -4.521 0 Td -[(in )-71(a )-71(call )-71(to)]TJ -/TT0 1 Tf -5.054 0 Td -(open)Tj -/T1_0 1 Tf -0.5708 Tc (.T)Tj -0 Tc 3.834 0 Td -[(his )-71(allows )-71(a )-71(pr)18(ogram )-71(that )-71(calls)]TJ -/TT0 1 Tf -14.15 0 Td -(creat)Tj -/T1_0 1 Tf -3.321 0 Td -[(to )-71(still )-71(work )-71(if )-71(the)]TJ --30.88 -1.2 Td -[(pathname ar)18(gument is)]TJ -/TT0 1 Tf -10.224 0 Td -(/dev/fd/1)Tj -/T1_0 1 Tf -0.25 Tc (,f)Tj -0 Tc 6.233 0 Td -(or example.)Tj -7.9995 0 0 7.9995 183.5889 396.4564 Tm -[(Bewar)18(e)-321(of)-321(d)1(oing )-71(this )-71(on )-71(Linux.)-570(Because )-71(the )-71(Linux )-71(implementation )-71(uses )-71(symbolic )-71(links )-71(to )-71(the)]TJ --0.018 Tc -0 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(al \336les, using)Tj -/TT0 1 Tf -6.046 0 Td -(creat)Tj -/T1_0 1 Tf -3.25 0 Td -(on a)Tj -/TT0 1 Tf -2.128 0 Td -(/dev/fd)Tj -/T1_0 1 Tf -4.45 0 Td -[(\336le will r)18(esult in the underlying \336le being tr)8(uncated.)]TJ -9.9994 0 0 9.9994 147.5907 366.4582 Tm -[(Some )-711(systems )-711(pr)18(ovide )-711(the )-711(pathnames)]TJ -/TT0 1 Tf -20.486 0 Td -(/dev/stdin)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -7.211 0 Td -(/dev/stdout)Tj -/T1_0 1 Tf -0.9605 Tc (,a)Tj -0 Tc 8.311 0 Td -(nd)Tj -/TT0 1 Tf --37.807 -1.2 Td -(/dev/stderr)Tj -/T1_0 1 Tf -0.8186 Tc (.T)Tj -0 Tc 8.282 0 Td -[(hese )-319(pathnames )-319(ar)]TJ -0.5686 Tc 8.855 0 Td -(ee)Tj -0 Tc 1.527 0 Td -[(quivalent )-319(to)]TJ -/TT0 1 Tf -6.206 0 Td -(/dev/fd/0)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -6.219 0 Td -(/dev/fd/1)Tj -/T1_0 1 Tf -0.5687 Tc (,a)Tj -0 Tc 6.719 0 Td -(nd)Tj -/TT0 1 Tf --37.807 -1.2 Td -(/dev/fd/2)Tj -/T1_0 1 Tf -0.25 Tc (,r)Tj -0 Tc 6.277 0 Td -[(espectively)111(.)]TJ --4.477 -1.2 Td -[(The )-125(main )-125(use )-125(of )-125(the)]TJ -/TT0 1 Tf -9.576 0 Td -(/dev/fd)Tj -/T1_0 1 Tf -4.575 0 Td -[(\336les )-125(is )-125(fr)18(om )-125(the )-125(shell.)-623(It )-125(allows )-125(pr)18(ograms )-125(that )-125(use)]TJ --15.95 -1.2 Td -[(pathname )-331(ar)18(guments )-331(to )-331(handle )-331(standar)]TJ -0.581 Tc 18.744 0 Td -(di)Tj -0 Tc 1.483 0 Td -[(nput )-331(and )-331(standar)]TJ -0.581 Tc 8.287 0 Td -(do)Tj -0 Tc 1.738 0 Td -[(utput )-331(in )-331(the )-331(same)]TJ --30.252 -1.2 Td -[(manner )-50(as )-50(other )-50(pathnames.)-550(For )-50(example, )-50(the)]TJ -/TT0 1 Tf -21.032 0 Td -(cat)Tj -/T1_0 1 Tf -1.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.633 -0.04 Td -[(pr)18(ogram )-50(speci\336cally )-50(looks )-50(for )-50(an)]TJ --24.298 -1.2 Td -(input \336lename of)Tj -/TT0 1 Tf -7.851 0 Td -(-)Tj -/T1_0 1 Tf -0.85 0 Td -(and uses it to mean standar)Tj -0.25 Tc 12.126 0 Td -(di)Tj -0 Tc 1.152 0 Td -[(nput. )-250(The)-250(command)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5917 276.6937 Tm -(filter file2 | cat file1 - file3 | lpr)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5928 257.6249 Tm -[(is )-245(an )-245(example.)-746(First,)]TJ -/TT0 1 Tf -10.27 0 Td -(cat)Tj -/T1_0 1 Tf --0.018 Tc 2.295 0 Td -(re)Tj -0 Tc 0.856 0 Td -(ads)Tj -/TT0 1 Tf -2.03 0 Td -(file1)Tj -/T1_0 1 Tf -0.4954 Tc (,t)Tj -0 Tc 4.071 0 Td -[(hen )-245(its )-245(standar)]TJ -0.4954 Tc 6.995 0 Td -(di)Tj -0 Tc 1.397 0 Td -[(nput )-245(\(the )-245(output )-245(of )-245(the)]TJ -/TT0 1 Tf --27.915 -1.2 Td -(filter)Tj -/T1_0 1 Tf -4.003 0 Td -[(pr)18(ogram )-153(on)]TJ -/TT0 1 Tf -5.791 0 Td -(file2)Tj -/T1_0 1 Tf -[(\), )-153(and )-153(then)]TJ -/TT0 1 Tf -8.453 0 Td -(file3)Tj -/T1_0 1 Tf -0.6526 Tc (.I)Tj -0 Tc 4.24 0 Td -(f)Tj -/TT0 1 Tf -0.736 0 Td -(/dev/fd)Tj -/T1_0 1 Tf -4.603 0 Td -[(is )-152(supported, )-152(the )-152(special)]TJ --27.824 -1.2 Td -(handling of)Tj -/TT0 1 Tf -5.374 0 Td -(-)Tj -/T1_0 1 Tf -0.85 0 Td -[(can be r)18(emoved fr)18(om)]TJ -/TT0 1 Tf -9.637 0 Td -(cat)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 2.8 0 Td -(nd we can enter)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5905 215.8571 Tm -(filter file2 | cat file1 /dev/fd/0 file3 | lpr)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5905 196.7884 Tm -[(The )-201(special )-201(meaning )-201(of)]TJ -/TT0 1 Tf -11.26 0 Td -(-)Tj -/T1_0 1 Tf -1.051 0 Td -[(as )-201(a )-201(command)]TJ -6.775 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line )-201(ar)18(gument )-201(to )-201(r)18(efer )-201(to )-201(the )-201(standar)17(d)]TJ --21.219 -1.2 Td -[(input )-58(or )-58(the )-58(standar)]TJ -0.3081 Tc 8.975 0 Td -(do)Tj -0 Tc 1.465 0 Td -[(utput )-58(is )-58(a )-58(kludge )-58(that )-58(has )-58(cr)17(ept )-58(into )-58(many )-58(pr)18(ograms. )-308(Ther)]TJ -0.308 Tc 26.417 0 Td -(ea)Tj --0.018 Tc 1.287 0 Td -(re)Tj -0 Tc -38.144 -1.2 Td -[(also )-254(pr)18(oblems )-254(if )-254(we )-254(specify)]TJ -/TT0 1 Tf -13.499 0 Td -(-)Tj -/T1_0 1 Tf -1.104 0 Td -[(as )-254(the )-254(\336rst )-254(\336le, )-254(as )-254(it )-254(looks )-254(like )-254(the )-254(start )-254(of )-254(another)]TJ --14.603 -1.2 Td -(command)Tj -4.449 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line option.)-500(Using)]TJ -/TT0 1 Tf -8.416 0 Td -(/dev/fd)Tj -/T1_0 1 Tf -4.45 0 Td -(is a step towar)Tj -0.25 Tc 6.378 0 Td -(du)Tj -0 Tc 1.464 0 Td -(niformity and cleanliness.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47652 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(973)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(MSG_EOR)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(61)55(1, 613)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(msgget)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(557)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(562, 632)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(633, 941)Tj --13.457 -1.25 Td -[(de\336nition of,)-500(562)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(msghdr)Tj -/T1_0 1 Tf -4.017 0 Td -[(str)8(uctur)18(e, )-250(61)55(1, 613, 644, 646)]TJ -12.247 0.09 Td -(\320)Tj -0.583 -0.09 Td -(647, 649, 651)Tj -/TT0 1 Tf --16.847 -1.25 Td -(MSG_MORE)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(61)55(1)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(MSG_NOERROR)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(564,)-250(631, 941)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(MSG_NOSIGNAL)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(61)55(1)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(MSG_OOB)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(61)55(1)]TJ -6.008 0.09 Td -(\320)Tj -0.583 -0.09 Td -(613, 626)Tj -/TT0 1 Tf --11.208 -1.25 Td -(MSG_PEEK)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(612)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(msgrcv)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(451,)-250(558)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(559, 561, 564, 585, 631,)Tj --9.94 -1.25 Td -(941)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(564)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(msgsnd)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(451,)-250(558, 560)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(561, 563)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(565, 633)Tj --17.457 -1.25 Td -[(de\336nition of,)-500(563)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(MSG_TRUNC)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(612)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(613)Tj -/TT0 1 Tf --12.463 -1.25 Td -(MSGVERB)Tj -/T1_0 1 Tf -4.617 0 Td -[(envir)18(onment variable,)-500(21)55(1)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(MSG_WAITALL)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(612)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(MS_INVALIDATE)Tj -/T1_0 1 Tf -8.217 0 Td -[(constant, )-250(528)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(msqid_ds)Tj -/T1_0 1 Tf -5.217 0 Td -[(str)8(uctur)18(e, )-250(561)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(562, 564)Tj -/TT0 1 Tf --12.102 -1.25 Td -(MS_SYNC)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(528,)-250(530)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(msync)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(451,)-250(528, 530)]TJ --2.067 -1.25 Td -[(de\336nition of,)-500(528)]TJ --1.35 -1.25 Td -[(Mui, L.,)-500(712, 953)]TJ -0 -1.25 TD -[(multiplexing, I/O,)-500(500)]TJ -10.272 0.09 Td -(\320)Tj -0.583 -0.09 Td -(509)Tj -/TT0 1 Tf --10.856 -1.25 Td -(munmap)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(528)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(529)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(528)]TJ --1.35 -1.25 Td -[(mutex attributes,)-500(430)]TJ -9.613 0.09 Td -(\320)Tj -0.583 -0.09 Td -(439)Tj --10.196 -1.25 Td -[(mutex timing comparison,)-500(571)]TJ -T* -[(mutexes, )-250(399)]TJ -6.043 0.09 Td -(\320)Tj -0.583 -0.09 Td -(409)Tj -/TT0 1 Tf --6.627 -1.25 Td -(mv)Tj -/T1_0 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(1)55(15)]TJ -/TT0 1 Tf --1.617 -1.25 Td -(myftw)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(133,)-250(141)]TJ --3.417 -4.375 Td -[(named full-duplex pipes,)-500(534)]TJ -/TT0 1 Tf -T* -(NAME_MAX)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(38)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(39, 44, 49, 55, 65, 131)Tj -/TT0 1 Tf --11.363 -1.25 Td -(nanosleep)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(373)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(375, 437, 439, 451, 462,)Tj --9.74 -1.25 Td -(837, 934)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(374)]TJ --1.35 -1.25 Td -[(Natar)18(os, S.,)-500(xxxii)]TJ -T* -[(Native POSIX Thr)18(eads Library)111(,)]TJ -/T1_2 1 Tf -14.187 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -(NPTL)Tj -/TT0 1 Tf --15.604 -1.25 Td -(nawk)Tj -/T1_0 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(262)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(NCCS)Tj -/T1_0 1 Tf -2.817 0 Td -[(constant, )-250(674)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(ndbm)Tj -/T1_0 1 Tf -2.817 0 Td -(library)Tj -0.5 Tc 2.87 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(44)Tj -/TT0 1 Tf --6.937 -1.25 Td -()Tj -/T1_0 1 Tf -5.217 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(0)Tj --9.439 -1.25 Td -[(Nemeth, E.,)-500(xxxii, 951)]TJ -/TT0 1 Tf -T* -()Tj -/T1_0 1 Tf -5.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9, 186)Tj -/TT0 1 Tf --10.039 -1.25 Td -(netent)Tj -/T1_0 1 Tf -4.017 0 Td -[(str)8(uctur)18(e, )-250(598)]TJ -/TT0 1 Tf --4.017 -1.25 Td -()Tj -/T1_0 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --10.639 -1.25 Td -()Tj -/T1_0 1 Tf -8.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9, 595, 605)Tj -/TT0 1 Tf --13.039 -1.25 Td -()Tj -/T1_0 1 Tf -9.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj --13.639 -1.25 Td -[(Network File System, Sun Micr)18(osystems,)]TJ -/T1_2 1 Tf -18.607 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -(NFS)Tj --20.024 -1.25 Td -(Network Information Service,)Tj -/T1_2 1 Tf -13.716 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -(NIS)Tj --15.133 -1.25 Td -[(network logins,)-500(290)]TJ -8.991 0.09 Td -(\320)Tj -0.583 -0.09 Td -(293)Tj -16.425 65.625 Td -[(network printer communication,)-500(789)]TJ -16.541 0.09 Td -(\320)Tj -0.583 -0.09 Td -(843)Tj --17.125 -1.25 Td -[(Neville-Neil, G. V)129(., )-250(74,)]TJ --0.055 Tc 10.308 0 Td -(11)Tj -0 Tc 0.945 0 Td -[(2, 1)55(16, 951)]TJ -/TT0 1 Tf --11.253 -1.25 Td -(newgrp)Tj -/T1_0 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(183)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(nfds_t)Tj -/T1_0 1 Tf -4.017 0 Td -[(data type,)-500(507)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(_NFILE)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(51)]TJ --4.017 -1.25 Td -[(NFS \(Network File System, Sun Micr)18(osystems\), )-250(76,)]TJ -2.7 -1.25 Td -(787)Tj -/TT0 1 Tf --2.7 -1.25 Td -(nftw)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(122,)-250(131)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(132, 135, 442, 452, 910)Tj -/TT0 1 Tf --11.44 -1.25 Td -(NGROUPS_MAX)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(39,)-250(43, 49, 183)]TJ -10.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(184)Tj -/TT0 1 Tf --18.163 -1.25 Td -(nice)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(276)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(277)Tj --8.09 -1.25 Td -[(de\336nition of,)-500(276)]TJ --1.35 -1.25 Td -[(nice value,)-500(252, 276)]TJ -8.817 0.09 Td -(\320)Tj -0.583 -0.09 Td -(277, 279)Tj --9.4 -1.25 Td -[(Niever)18(gelt, J.,)-500(744, 750, 949)]TJ -T* -[(NIS \(Network Information Service\),)-500(185)]TJ -T* -[(NIS+, )-250(185)]TJ -T* -(NL terminal character)Tj -0.5 Tc 9.68 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 680)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(681, 687, 700, 703)Tj -/TT0 1 Tf --14.597 -1.25 Td -(NL0)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(689)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(NL1)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(689)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(NL_ARGMAX)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(39)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(NLDLY)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(684, 689)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(nlink_t)Tj -/T1_0 1 Tf -4.617 0 Td -[(data type,)-500(59, 1)55(14)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(nl_langinfo)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(NL_LANGMAX)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(41)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(NL_MSGMAX)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(39)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(NL_SETMAX)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(39)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(NLSPATH)Tj -/T1_0 1 Tf -4.617 0 Td -[(envir)18(onment variable,)-500(21)55(1)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(NL_TEXTMAX)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(39)]TJ -/TT0 1 Tf --6.417 -1.25 Td -()Tj -/T1_0 1 Tf -7.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --11.839 -1.25 Td -(nobody)Tj -/T1_0 1 Tf -4.017 0 Td -[(login name,)-500(178)]TJ -7.293 0.09 Td -(\320)Tj -0.583 -0.09 Td -(179)Tj -/TT0 1 Tf --11.893 -1.25 Td -(NOFILE)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(51)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(NOFLSH)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(689)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(NOKERNINFO)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(676,)-250(682, 689)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(nologin)Tj -/T1_0 1 Tf -4.617 0 Td -[(pr)18(ogram, )-250(179)]TJ --4.617 -1.25 Td -(nonblocking)Tj -1.35 -1.25 Td -[(I/O, )-250(481)]TJ -4.062 0.09 Td -(\320)Tj -0.583 -0.09 Td -(484)Tj --4.646 -1.25 Td -[(socket I/O,)-500(608)]TJ -7.087 0.09 Td -(\320)Tj -0.583 -0.09 Td -(609, 627)Tj --9.021 -1.25 Td -[(noncanonical mode, terminal I/O,)-500(703)]TJ -17.218 0.09 Td -(\320)Tj -0.583 -0.09 Td -(710)Tj --17.801 -1.25 Td -[(nonfatal err)18(or)]TJ -0.5 Tc 6.028 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(6)Tj --7.278 -1.25 Td -[(nonlocal goto,)-500(213)]TJ -8.339 0.09 Td -(\320)Tj -0.583 -0.09 Td -(220, 355)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(358)Tj --13.089 -1.25 Td -[(NPTL \(Native POSIX Thr)18(eads Library\),)-500(xxiii, 388)]TJ -/TT0 1 Tf -T* -(ntohl)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(594,)-250(81)55(1, 825, 842)]TJ --2.067 -1.25 Td -[(de\336nition of,)-500(594)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(ntohs)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(594,)-250(604, 842)]TJ --2.067 -1.25 Td -[(de\336nition of,)-500(594)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(NULL)Tj -/T1_0 1 Tf -2.817 0 Td -[(constant, )-250(823)]TJ --2.817 -1.25 Td -[(null signal,)-500(314, 337)]TJ -/TT0 1 Tf -T* -(NZERO)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(41,)-250(276)]TJ -7.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(277)Tj -/TT0 1 Tf --11.563 -4.75 Td -(O_ACCMODE)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(83)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(84)Tj -/TT0 1 Tf --11.963 -1.25 Td -(O_APPEND)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(63,)-250(66, 72, 77)]TJ -10.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(78, 83)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(84, 149,)Tj --16.33 -1.25 Td -[(497, 51)55(1)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47653 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 454.665 708 Tm -[(Pr)18(eface)]TJ -/T1_1 1 Tf -5.216 0 Td -(xxiii)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(ar)18(ea )-4(of )-4(dif)18(fer)18(ences )-4(between )-4(these )-4(two )-4(versions )-4(is )-4(the )-4(thr)17(eads )-4(subsystem.)-504(Between )-4(Linux)]TJ --0 -1.2 Td -[(2.4 )-9(and )-9(Linux )-9(2.6, )-9(the )-9(thr)18(eads )-9(implementation )-9(was )-9(changed )-9(to )-9(the )-9(Native )-9(POSIX )-9(Thr)21(ead)]TJ -0 -1.2 TD -(Library)Tj -3.619 0.04 Td -(\()Tj -0.333 -0.04 Td -(NPTL)Tj -2.659 0.04 Td -(\))Tj -0.5685 Tc 0.333 -0.04 Td -(.N)Tj -0 Tc 1.649 0 Td -[(PTL )-68(makes )-68(thr)18(eads )-68(on )-68(Linux )-68(behave )-68(mor)]TJ -0.3186 Tc 18.575 0 Td -(el)Tj -0 Tc 1.089 0 Td -[(ike )-69(thr)18(eads )-69(on )-69(the )-69(other)]TJ --28.258 -1.2 Td -(systems.)Tj -1.8 -1.2 Td -[(In )-127(total, )-127(this )-127(edition )-127(includes )-127(mor)]TJ -0.3766 Tc 15.321 0 Td -(et)Tj -0 Tc 1.182 0 Td -[(han )-127(70 )-127(new )-127(interfaces, )-127(including )-127(interfaces )-127(to)]TJ --18.303 -1.2 Td -[(handle )-93(asynchr)18(onous )-93(I/O, )-93(spin )-93(locks, )-93(barriers, )-93(and )-93(POSIX )-93(semaphor)21(es. )-343(Most)-342(obsolete)]TJ -T* -(interfaces ar)Tj -0.25 Tc 5.38 0 Td -(er)Tj -0 Tc 1.106 0 Td -(emoved, except for a few ubiquitous ones.)Tj -/TT0 1 Tf --10.086 -3.6 Td -[(Ac)20(kno)15(wledgments)]TJ -/T1_0 1 Tf -3.6 -2.16 Td -[(Many )-192(r)18(eaders )-192(have )-192(e-mailed )-192(comments )-192(and )-192(bug )-192(r)18(eports )-192(on )-192(the )-192(second )-192(edition.)-696(My)]TJ -0 -1.2 Td -[(thanks )-25(to )-25(them )-25(for )-25(impr)18(oving )-25(the )-25(accuracy )-25(of )-25(the )-25(information )-25(pr)13(esented. )-275(The)-276(following)]TJ -T* -[(people )-75(wer)]TJ -0.3247 Tc 5.012 0 Td -(et)Tj -0 Tc 1.13 0 Td -[(he )-75(\336rst )-75(to )-75(make )-75(a )-75(particular )-75(suggestion )-75(or )-75(point )-75(out )-75(a )-75(speci\336c )-75(err)22(or: )-75(Seth)]TJ --6.141 -1.2 Td -[(Arnold, )-28(Luke )-28(Bakken, )-28(Rick )-28(Ballar)18(d, )-28(Johannes )-28(Bittner)]TJ -0.2778 Tc 23.257 0 Td -(,D)Tj -0 Tc 1.302 0 Td -[(avid )-28(Br)18(onder)]TJ -0.2778 Tc 5.772 0 Td -(,V)Tj -0 Tc 1.25 0 Td -[(lad )-28(Buslov)]TJ -0.2779 Tc 4.609 0 Td -(,P)Tj -0 Tc 1.132 0 Td -(eter)Tj --37.321 -1.2 Td -(Butler)Tj -0.4795 Tc 2.631 0 Td -(,Y)Tj -0 Tc 1.306 0 Td -[(uching )-229(Chen, )-229(Mike )-229(Cheng, )-229(Jim )-229(Collins, )-229(Bob )-229(Cousins, )-229(W)51(ill )-229(Dennis, )-229(Thomas)]TJ --3.938 -1.2 Td -(Dickey)Tj -0.3175 Tc 2.989 0 Td -(,L)Tj -0 Tc 1.179 0 Td -[(o\225c )-67(Domaign\216, )-67(Igor )-67(Fuksman, )-67(Alex )-67(Gezerlis, )-67(M. )-67(Scott )-67(Gor)14(don, )-68(T)55(imothy )-68(Goya,)]TJ --0.092 Tc -4.168 -1.2 Td -(To)Tj -0 Tc 1.067 0 Td -[(ny )-106(Graham, )-106(Michael )-106(Hobgood, )-106(Michael )-106(Kerrisk, )-106(Y)92(oungho )-106(Kwon, )-106(Richar)]TJ -0.3563 Tc 32.673 0 Td -(dL)Tj -0 Tc 1.578 0 Td -[(i, )-106(Xueke)]TJ --35.319 -1.2 Td -[(Liu, )-166(Y)90(un )-166(Long, )-166(Dan )-166(McGr)17(egor)]TJ -0.4163 Tc 14.015 0 Td -(,D)Tj -0 Tc 1.44 0 Td -[(ylan )-166(McNamee, )-166(Gr)18(eg )-166(Miller)]TJ -0.4163 Tc 12.784 0 Td -(,S)Tj -0 Tc 1.191 0 Td -[(imon )-166(Mor)18(gan, )-166(Harry)]TJ --29.43 -1.2 Td -[(Newton, )-351(Jim )-351(Old\336eld, )-351(Scott )-351(Parish, )-351(Zvezdan )-351(Petkovic, )-351(David )-351(Reiss, )-351(Konstantinos)]TJ -T* -[(Sakoutis, )-419(David )-419(Smoot, )-419(David )-419(Somers, )-419(Andriy )-419(Tkachuk, )-419(Nathan )-419(W)90(eeks, )-419(Florian)]TJ --0.092 Tc T* -(We)Tj -0 Tc 1.387 0 Td -(imer)Tj -0.25 Tc 1.974 0 Td -(,Q)Tj -0 Tc 1.286 0 Td -[(ingyang Xu, and Michael Zalokar)74(.)]TJ --2.847 -1.2 Td -[(The )-360(technical )-360(r)18(eviewers )-360(impr)18(oved )-360(the )-360(accuracy )-360(of )-360(the )-360(information )-360(pr)19(esented.)]TJ --1.8 -1.2 Td -[(Thanks )-93(to )-93(Steve )-93(Albert, )-93(Bogdan )-93(Barbu, )-93(and )-93(Robert )-93(Day)]TJ -0.5933 Tc 25.018 0 Td -(.S)Tj -0 Tc 1.368 0 Td -[(pecial )-93(thanks )-93(to )-93(Geof)]TJ -0.3434 Tc 9.581 0 Td -(fC)Tj -0 Tc 1.385 0 Td -[(lar)18(e)]TJ --37.353 -1.2 Td -[(and )-327(Andr)18(ew )-327(Josey )-327(for )-327(pr)20(oviding )-326(insights )-326(into )-326(the )-326(Single )-326(UNIX )-326(Speci\336cation )-326(and)]TJ -T* -[(helping )-234(to )-234(impr)18(ove )-234(the )-234(accuracy )-234(of )-234(Chapter )-234(2.)-733(Also, )-234(thanks )-234(to )-234(Ken )-234(Thompson )-234(for)]TJ -T* -(answering history questions.)Tj -1.8 -1.2 Td -[(Once )-138(again, )-138(the )-138(staf)18(f)-388(at)-388(Addison-W)92(esley )-138(was )-138(gr)18(eat )-138(to )-138(work )-138(with.)-638(Thanks )-138(to )-138(Kim)]TJ --1.8 -1.2 Td -(Boedigheimer)Tj -0.4688 Tc 6.129 0 Td -(,R)Tj -0 Tc 1.387 0 Td -[(omny )-219(Fr)18(ench, )-219(John )-219(Fuller)]TJ -0.4688 Tc 11.827 0 Td -(,J)Tj -0 Tc 1.052 0 Td -[(essica )-219(Goldstein, )-219(Julie )-219(Nahil, )-219(and )-219(Debra)]TJ --0.055 Tc -20.395 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -(lliams-Cauley)Tj -0.8408 Tc 6.04 0 Td -(.I)Tj -0.5908 Tc 1.428 0 Td -(na)Tj -0 Tc 1.673 0 Td -[(ddition, )-341(thanks )-341(to )-341(Jill )-341(Hobbs )-341(for )-341(pr)18(oviding )-341(her )-341(copyediting)]TJ --10.377 -1.2 Td -[(expertise this time ar)18(ound.)]TJ -1.8 -1.2 Td -(Finally)Tj -0.4063 Tc 2.956 0 Td -(,t)Tj -0 Tc 0.982 0 Td -[(hanks )-156(to )-156(my )-156(family )-156(for )-156(their )-156(understanding )-156(while )-156(I )-156(spent )-156(so )-156(much )-156(time)]TJ --5.738 -1.2 Td -(working on this updated edition.)Tj -1.8 -1.2 Td -[(As )-152(befor)18(e, )-152(the )-152(sour)18(ce )-152(code )-152(pr)20(esented )-152(her)18(e)-402(is)-402(a)1(vailable )-152(at)]TJ -/TT1 1 Tf -26.362 0 Td -(www.apuebook.com)Tj -/T1_0 1 Tf -0.6516 Tc (.I)Tj -0 Tc -28.162 -1.2 Td -[(welcome e-mail fr)18(om any r)18(eaders with comments, suggestions, or bug \336xes.)]TJ -/T1_2 1 Tf --0.02 Tc 0 -3.36 TD -(Wa)Tj -0 Tc 1.368 0 Td -[(rr)18(en, New Jersey)]TJ -/T1_0 1 Tf -30.26 0 Td -(Stephen A. Rago)Tj -/T1_2 1 Tf --31.628 -1.2 Td -(January 2013)Tj -/TT1 1 Tf -29.4 0 Td -(sar@apuebook.com)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47654 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(8.16)]TJ -35.071 0 Td -[(Pr)18(ocess )-250(Scheduling)]TJ -/T1_1 1 Tf -10.762 0 Td -(279)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 172.7896 670.2598 Tm -(err_sys\("fork failed"\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(pid == 0\) {)-1200(/* child */)]TJ -0.6 Tc 0.6 -1.189 Td -(s=")Tj -0 Tc 3 0 Td -(child";)Tj --3 -1.189 Td -(printf\("current nice value in child is %d, adjusting by %d\\n",)Tj -1.2 -1.189 Td -(nice\(0\)+nzero, adj\);)Tj --1.2 -1.189 Td -(errno = 0;)Tj -0 -1.189 TD -(if \(\(ret = nice\(adj\)\) == -1 && errno != 0\))Tj -2.4 -1.189 Td -(err_sys\("child set scheduling priority"\);)Tj --2.4 -1.189 Td -(printf\("now child nice value is %d\\n", ret+nzero\);)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse {)-4800(/* parent */)]TJ -0.6 Tc 0.6 -1.189 Td -(s=")Tj -0 Tc 3 0 Td -(parent";)Tj --3 -1.189 Td -(printf\("current nice value in parent is %d\\n", nice\(0\)+nzero\);)Tj --2.4 -1.189 Td -(})Tj -T* -(for\(;;\) {)Tj -2.4 -1.189 Td -(if \(++count == 0\))Tj -2.4 -1.189 Td -(err_quit\("%s counter wrap", s\);)Tj --2.4 -1.189 Td -(checktime\(s\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 4729.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 221.8694 456.8442 Tm -(Figure 8.30)Tj -/T1_0 1 Tf -5.695 0 Td -[(Evaluate the ef)18(fect of changing the nice value)]TJ --0.092 Tc 9.9988 0 0 9.9988 147.5825 432.8471 Tm -[(We )-371(r)]TJ -0 Tc 2.211 0 Td -[(un )-186(the )-186(pr)17(ogram )-186(twice: )-186(once )-186(with )-186(the )-186(default )-186(nice )-186(value, )-186(and )-186(once )-186(with )-186(the)]TJ --4.011 -1.2 Td -[(highest )-29(valid )-29(nice )-29(value )-29(\(the )-29(lowest )-29(scheduling )-29(priority\).)]TJ --0.092 Tc 25.682 0 Td -[(We )-213(r)]TJ -0 Tc 2.053 0 Td -[(un )-29(this )-29(on )-29(a )-29(unipr)17(ocessor)]TJ --27.735 -1.2 Td -[(Linux )-319(system )-319(to )-319(show )-319(how )-319(the )-319(scheduler )-319(shar)18(es )-319(the )-319(CPU )-319(among )-319(pr)18(ocesses )-319(with)]TJ -0 -1.2 TD -[(dif)18(fer)18(ent )-205(nice )-205(values.)]TJ --0.055 Tc 10.315 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-205(an )-205(otherwise )-205(idle )-205(system, )-205(a )-205(multipr)20(ocessor )-205(system )-205(\(or )-205(a)]TJ --11.551 -1.2 Td -(multicor)Tj -0.3728 Tc 3.761 0 Td -(eC)Tj -0 Tc 1.561 0 Td -[(PU\) )-123(would )-123(allow )-123(both )-123(pr)18(ocesses )-123(to )-123(r)8(un )-123(without )-123(the )-123(need )-123(to )-123(shar)]TJ -0.3727 Tc 29.613 0 Td -(eaC)Tj -0 Tc 2.433 0 Td -(PU,)Tj --37.368 -1.2 Td -[(and )-22(we )-22(wouldn\325t )-22(see )-22(much )-22(dif)16(fer)18(ence )-22(between )-22(two )-22(pr)18(ocesses )-22(with )-22(dif)16(fer)18(ent )-22(nice )-22(values.)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5821 356.1567 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(NZERO = 20)Tj -0 -1.189 TD -(current nice value in parent is 20)Tj -0 -1.189 TD -(current nice value in child is 20, adjusting by 0)Tj -0 -1.189 TD -(now child nice value is 20)Tj -0 -1.189 TD -(child count = 1859362)Tj -0 -1.189 TD -(parent count = 1845338)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out 20)Tj -/TT0 1 Tf --1.2 -1.189 Td -(NZERO = 20)Tj -0 -1.189 TD -(current nice value in parent is 20)Tj -T* -(current nice value in child is 20, adjusting by 20)Tj -0 -1.189 TD -(now child nice value is 39)Tj -0 -1.189 TD -(parent count = 3595709)Tj -0 -1.189 TD -(child count = 52111)Tj -/T1_0 1 Tf -9.9988 0 0 9.9988 147.5821 199.0763 Tm -[(When )-27(both )-27(pr)17(ocesses )-27(have )-27(the )-27(same )-27(nice )-27(value, )-27(the )-27(par)18(ent )-27(pr)18(ocess )-27(gets )-27(50.2% )-27(of )-27(the)]TJ --1.8 -1.2 Td -[(CPU )-100(and )-100(the )-100(child )-100(gets )-100(49.8% )-100(of )-100(the )-100(CPU.)-604(Note )-100(that )-100(the )-100(two )-100(pr)18(ocesses )-100(ar)]TJ -0.3505 Tc 33.612 0 Td -(ee)Tj --0.018 Tc 1.309 0 Td -(ff)Tj -0 Tc 0.648 0 Td -(ectively)Tj --35.569 -1.2 Td -[(tr)18(eated )-93(equally)]TJ -0.5934 Tc 6.61 0 Td -(.T)Tj -0 Tc 1.456 0 Td -[(he )-93(per)18(centages )-93(ar)18(en\325t )-93(exactly )-93(equal, )-93(because )-93(pr)18(ocess )-93(scheduling )-93(isn\325t)]TJ --8.067 -1.2 Td -[(exact, )-318(and )-318(because )-318(the )-318(child )-318(and )-318(par)15(ent )-319(perform )-319(dif)19(fer)18(ent )-319(amounts )-319(of )-319(pr)19(ocessing)]TJ --0 -1.2 Td -[(between )-86(the )-86(time )-86(that )-86(the )-86(end )-86(time )-86(is )-86(calculated )-86(and )-86(the )-86(time )-86(that )-86(the )-86(pr)19(ocessing )-86(loop)]TJ -0 -1.2 TD -(begins.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47655 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(4.14)]TJ -38.136 0 Td -[(File )-250(Systems)]TJ -/T1_1 1 Tf --0.037 Tc 7.734 0 Td -(11)Tj -0 Tc 0.963 0 Td -(5)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -0.883 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -(\245B)Tj -0 Tc 2.1 0 Td -[(ecause )-26(the )-26(i-node )-26(number )-26(in )-26(the )-26(dir)18(ectory )-26(entry )-26(points )-26(to )-26(an )-26(i-node )-26(in )-26(the )-26(same )-26(\336le)]TJ --0.611 -1.2 Td -[(system, )-121(a )-121(dir)18(ectory )-121(entry )-121(can\325t )-121(r)18(efer )-121(to )-121(an )-121(i-node )-121(in )-121(a )-121(dif)22(fer)18(ent )-121(\336le )-121(system.)-621(This )-121(is)]TJ --0 -1.2 Td -[(why )-50(the)]TJ -/TT0 1 Tf -3.958 0 Td -(ln)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.633 -0.04 Td -[(command )-50(\(make )-50(a )-50(new )-50(dir)18(ectory )-50(entry )-50(that )-50(points )-50(to )-50(an )-50(existing )-50(\336le\))]TJ --6.624 -1.2 Td -[(can\325t cr)18(oss \336le systems.)]TJ --0.092 Tc 10.736 0 Td -[(We )-184(d)]TJ -0 Tc 2.248 0 Td -(escribe the)Tj -/TT0 1 Tf -4.952 0 Td -(link)Tj -/T1_0 1 Tf -2.65 0 Td -(function in the next section.)Tj -0.883 Tc -22.075 -1.6 Td -(\245W)Tj -0 Tc 2.489 0 Td -[(hen )-104(r)18(enaming )-104(a )-104(\336le )-104(without )-104(changing )-104(\336le )-104(systems, )-104(the )-104(actual )-104(contents )-104(of )-104(the )-104(\336le)]TJ --1 -1.2 Td -[(need )-82(not )-82(be )-82(moved)]TJ -0.0833 Tc 8.8 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -[(ll )-82(that )-82(needs )-82(to )-82(be )-82(done )-82(is )-82(to )-82(add )-82(a )-82(new )-82(dir)20(ectory )-82(entry )-82(that)]TJ --10.383 -1.2 Td -[(points )-45(to )-45(the )-45(existing )-45(i-node )-45(and )-45(then )-45(unlink )-45(the )-45(old )-45(dir)18(ectory )-45(entry)]TJ -0.5447 Tc 30.232 0 Td -(.T)Tj -0 Tc 1.408 0 Td -[(he )-45(link )-45(count)]TJ --31.639 -1.2 Td -[(will )-479(r)18(emain )-479(the )-479(same.)-979(For )-479(example, )-479(to )-479(r)18(ename )-479(the )-479(\336le)]TJ -/TT0 1 Tf -28.71 0 Td -(/usr/lib/foo)Tj -/T1_0 1 Tf -7.929 0 Td -(to)Tj -/TT0 1 Tf --36.639 -1.2 Td -(/usr/foo)Tj -/T1_0 1 Tf -0.5792 Tc (,t)Tj -0 Tc 5.955 0 Td -[(he )-329(contents )-329(of )-329(the )-329(\336le)]TJ -/TT0 1 Tf -11.307 0 Td -(foo)Tj -/T1_0 1 Tf -2.379 0 Td -[(need )-329(not )-329(be )-329(moved )-329(if )-329(the )-329(dir)17(ectories)]TJ -/TT0 1 Tf --19.641 -1.2 Td -(/usr/lib)Tj -/T1_0 1 Tf -5.136 0 Td -(and)Tj -/TT0 1 Tf -2.029 0 Td -(/usr)Tj -/T1_0 1 Tf -2.736 0 Td -(ar)Tj -0.336 Tc 0.877 0 Td -(eo)Tj -0.3361 Tc 1.361 0 Td -(nt)Tj -0 Tc 1.244 0 Td -[(he )-86(same )-86(\336le )-86(system.)-586(This )-86(is )-86(how )-86(the)]TJ -/TT0 1 Tf -16.977 0 Td -(mv)Tj -/T1_0 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.669 -0.04 Td -(command)Tj --33.062 -1.2 Td -(usually operates.)Tj --0.092 Tc 0.311 -1.68 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ve )-34(talked )-34(about )-34(the )-34(concept )-34(of )-34(a )-34(link )-34(count )-34(for )-34(a )-34(r)18(egular )-34(\336le, )-34(but )-34(what )-34(about )-34(the)]TJ --3.187 -1.2 Td -[(link )-70(count )-70(\336eld )-70(for )-70(a )-70(dir)17(ectory? )-320(Assume)-321(that )-70(we )-70(make )-70(a )-70(new )-70(dir)18(ectory )-70(in )-70(the )-70(working)]TJ -0 -1.2 TD -[(dir)18(ectory)111(,)-250(as)-250(in)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 488.5406 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(mkdir testdir)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 471.6119 Tm -(Figur)Tj -0.2992 Tc 2.383 0 Td -(e4)Tj -0 Tc 1.278 0 Td -[(.15 )-49(shows )-49(the )-49(r)17(esult. )-299(Note)-299(that )-49(in )-49(this )-49(\336gur)18(e, )-49(we )-49(explicitly )-49(show )-49(the )-49(entries )-49(for)]TJ --3.661 -1.2 Td -(dot and dot-dot.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -2.8 w 1 j 1 J -1662 4146.4 720 216 re -S -Q -BT -/T1_0 1 Tf -6.9992 0 0 6.9992 183.145 423.8491 Tm -(i-node array)Tj -ET -q -0.99988 0 0 0.99988 0 0 cm -0.699 g -238.2 414.64 93.6 21.6 re -f -Q -q -0.099988 0 0 0.099988 0 0 cm -2.8 w 1 j 1 J -2382 4146.4 936 216 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -2.8 w 1 j 1 J -3318 4146.4 324 216 re -S -Q -BT -/T1_0 1 Tf -6.9987 0 0 6.9987 333.8529 428.3229 Tm -[(dir)18(ectory)]TJ -0.817 -1.286 Td -(block)Tj -ET -q -0.99982 0 0 0.99982 0 0 cm -0.699 g -364.2 414.64 72 21.6 re -f -Q -q -0.099982 0 0 0.099982 0 0 cm -2.8 w 1 j 1 J -3642 4146.4 720 216 re -S -Q -q -0.099982 0 0 0.099982 0 0 cm -2.8 w 1 j 1 J -4362 4146.4 324 216 re -S -Q -BT -/T1_0 1 Tf -6.9983 0 0 6.9983 438.2078 428.2972 Tm -[(dir)18(ectory)]TJ -0.817 -1.286 Td -(block)Tj -ET -q -0.99976 0 0 0.99976 0 0 cm -0.699 g -468.6 414.64 36 21.6 re -f -Q -q -0.099976 0 0 0.099976 0 0 cm -2.8 w 1 j 1 J -4686 4146.4 360 216 re -S -Q -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 238.2 443.44 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 2382 4434.3999 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2454.25 4434.25 cm -0 0 m -648 0 l -S -Q -Q -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 504.6 443.44 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 5046 4434.3999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4974.25 4434.25 cm -0 0 m --648 0 l -S -Q -Q -BT -/T1_0 1 Tf -6.9971 0 0 6.9971 321.275 441.7144 Tm -[(dir)18(ectory blocks and data blocks)]TJ -ET -q -0.099958 0 0 0.099958 0 0 cm -2.8 w 1 j 1 J -1446 3246.4 216 216 re -S -Q -BT -/T1_0 1 Tf -6.9966 0 0 6.9966 145.3832 338.2376 Tm -(i-node)Tj -1.171 -1.286 Td -(0)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -0.699 g -166.2 324.64 28.8 21.6 re -f -Q -q -0.099952 0 0 0.099952 0 0 cm -2.8 w 1 j 1 J -1662 3246.4 288 216 re -S -Q -q -0.099952 0 0 0.099952 0 0 cm -2.8 w 1 j 1 J -1950 3246.4 216 216 re -S -Q -BT -/T1_0 1 Tf -6.9962 0 0 6.9962 195.7473 338.2173 Tm -(i-node)Tj -0.421 -1.286 Td -(1267)Tj -ET -q -0.9994601 0 0 0.9994601 0 0 cm -0.699 g -216.6 324.64 28.8 21.6 re -f -Q -q -0.099946 0 0 0.099946 0 0 cm -2.8 w 1 j 1 J -2166 3246.4 288 216 re -S -Q -q -0.099946 0 0 0.099946 0 0 cm -2.8 w 1 j 1 J -2454 3246.4 216 216 re -S -Q -BT -/T1_0 1 Tf -6.9958 0 0 6.9958 246.1053 338.197 Tm -(i-node)Tj -0.421 -1.286 Td -(2549)Tj -ET -q -0.9994002 0 0 0.9994002 0 0 cm -0.699 g -267 324.64 28.8 21.6 re -f -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -2670 3246.4 288 216 re -S -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1647.25 4110.25 cm -0 0 m --10 -34 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1625.25 4038.25 cm -0 0 m --11 -34 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1603.25 3965.25 cm -0 0 m --10 -34 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1581.25 3893.25 cm -0 0 m --11 -34 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1559.25 3821.25 cm -0 0 m --11 -34 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1537.25 3749.25 cm -0 0 m --11 -34 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1515.25 3677.25 cm -0 0 m --11 -35 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1493.25 3605.25 cm -0 0 m --11 -35 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1471.25 3533.25 cm -0 0 m --11 -35 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2748.25 3710.25 cm -0 0 m -23 -28 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2798.25 3649.25 cm -0 0 m -23 -28 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2848.25 3587.25 cm -0 0 m -23 -28 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2899.25 3526.25 cm -0 0 m -23 -28 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2794.25 3654.25 cm -0 0 m --23 28 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2750.25 3708.25 cm -0 0 m --23 28 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2705.25 3761.25 cm -0 0 m --23 28 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2661.25 3814.25 cm -0 0 m --23 28 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2617.25 3868.25 cm -0 0 m --23 28 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2573.25 3922.25 cm -0 0 m --23 28 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2529.25 3976.25 cm -0 0 m --23 28 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2485.25 4029.25 cm -0 0 m --23 28 l -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2441.25 4082.25 cm -0 0 m --23 28 l -S -Q -Q -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 452.4 414.64 cm -0 0 m --6.48 -3.672 l --7.416 -0.216 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 4524 4146.3999 cm -0 0 m --64.8 -36.72 l --74.16 -2.16 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2058.25 3462.25 cm -0 0 m -2397 665 l -S -Q -Q -BT -/T1_0 1 Tf -6.7404 1.8697 -1.8697 6.7404 377.4132 387.379 Tm -(data block)Tj -ET -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 348 414.64 cm -0 0 m --4.68 -5.76 l --6.84 -2.88 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 3480 4146.3999 cm -0 0 m --46.8 -57.6 l --68.4 -28.8 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2562.25 3462.25 cm -0 0 m -860 641 l -S -Q -Q -BT -/T1_0 1 Tf -5.6088 4.1791 -4.1791 5.6088 290.1026 375.0413 Tm -(data block)Tj -ET -q -0.099922 0 0 0.099922 0 0 cm -2.8 w 1 j 1 J -3120 2922.4 720 288 re -S -Q -q -0.099922 0 0 0.099922 0 0 cm -2.8 w 1 j 1 J -3120 3066.4 216 143.996 re -S -Q -BT -/T1_0 1 Tf -6.9941 0 0 6.9941 315.5348 312.0378 Tm -(2549)Tj -ET -q -0.099916 0 0 0.099916 0 0 cm -2.8 w 1 j 1 J -3336 3066.4 504 143.996 re -S -Q -BT -/TT0 1 Tf -8.9919 0 0 8.9919 338.695 312.019 Tm -(.)Tj -ET -q -0.09991 0 0 0.09991 0 0 cm -2.8 w 1 j 1 J -3120 2922.4 216 144 re -S -Q -BT -/T1_0 1 Tf -6.9933 0 0 6.9933 315.497 297.6141 Tm -(1267)Tj -ET -q -0.099904 0 0 0.099904 0 0 cm -2.8 w 1 j 1 J -3336 2922.4 504 144 re -S -Q -BT -/TT0 1 Tf -8.9908 0 0 8.9908 338.6544 297.5963 Tm -(..)Tj -ET -q -0.099898 0 0 0.099898 0 0 cm -2.8 w 1 j 1 J -4164 2274.4 720 576 re -S -Q -q -0.099898 0 0 0.099898 0 0 cm -2.8 w 1 j 1 J -4164 2706.4 216 143.996 re -S -Q -BT -/T1_0 1 Tf -6.9924 0 0 6.9924 419.7464 276.0017 Tm -(1267)Tj -ET -q -0.0998921 0 0 0.0998921 0 0 cm -2.8 w 1 j 1 J -4380 2706.4 504 143.996 re -S -Q -BT -/TT0 1 Tf -8.9897 0 0 8.9897 442.8948 275.9852 Tm -(.)Tj -ET -q -0.0998861 0 0 0.0998861 0 0 cm -2.8 w 1 j 1 J -4164 2562.4 216 144 re -S -Q -BT -/T1_0 1 Tf -5.9928 0 0 5.9928 418.1719 264.8819 Tm -(i-node)Tj --0.327 -1.1 Td -(number)Tj -ET -q -0.0998801 0 0 0.0998801 0 0 cm -2.8 w 1 j 1 J -4380 2562.4 504 144 re -S -Q -BT -/TT0 1 Tf -8.9887 0 0 8.9887 442.8417 261.5702 Tm -(..)Tj -ET -q -0.0998741 0 0 0.0998741 0 0 cm -2.8 w 1 j 1 J -4164 2346.4 216 143.996 re -S -Q -BT -/T1_0 1 Tf -6.9908 0 0 6.9908 419.6457 239.983 Tm -(2549)Tj -ET -q -0.0998681 0 0 0.0998681 0 0 cm -2.8 w 1 j 1 J -4380 2346.4 504 143.996 re -S -Q -BT -/TT0 1 Tf -6.9903 0 0 6.9903 441.5902 239.9686 Tm -(testdir)Tj -ET -q -0.9986209 0 0 0.9986209 0 0 cm -0.699 g -416.4 249.04 72 7.2 re -f -Q -q -0.0998621 0 0 0.0998621 0 0 cm -2.8 w 1 j 1 J -4164 2490.4 720 72 re -S -Q -q -0.998561 0 0 0.998561 0 0 cm -0.699 g -416.4 227.44 72 7.2 re -f -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -4164 2274.4 720 72 re -S -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3311.25 4110.25 cm -0 0 m --8 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3296.25 4041.25 cm -0 0 m --7 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3281.25 3972.25 cm -0 0 m --7 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3267.25 3903.25 cm -0 0 m --8 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3252.25 3834.25 cm -0 0 m --8 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3237.25 3765.25 cm -0 0 m --7 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3223.25 3695.25 cm -0 0 m --7 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3208.25 3627.25 cm -0 0 m --8 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3193.25 3558.25 cm -0 0 m --7 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3179.25 3489.25 cm -0 0 m --7 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3164.25 3420.25 cm -0 0 m --8 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3149.25 3351.25 cm -0 0 m --7 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3134.25 3281.25 cm -0 0 m --7 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3649.25 4110.25 cm -0 0 m -7 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3663.25 4041.25 cm -0 0 m -8 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3678.25 3972.25 cm -0 0 m -8 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3693.25 3903.25 cm -0 0 m -7 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3708.25 3834.25 cm -0 0 m -7 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3722.25 3765.25 cm -0 0 m -8 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3737.25 3695.25 cm -0 0 m -7 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3752.25 3627.25 cm -0 0 m -7 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3766.25 3558.25 cm -0 0 m -8 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3781.25 3489.25 cm -0 0 m -7 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3796.25 3420.25 cm -0 0 m -7 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3810.25 3351.25 cm -0 0 m -7 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3825.25 3281.25 cm -0 0 m -8 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4355.25 4110.25 cm -0 0 m --5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4344.25 4040.25 cm -0 0 m --5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4334.25 3970.25 cm -0 0 m --5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4323.25 3901.25 cm -0 0 m --5 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4313.25 3831.25 cm -0 0 m --5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4302.25 3761.25 cm -0 0 m --5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4292.25 3690.25 cm -0 0 m --5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4281.25 3621.25 cm -0 0 m --5 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4270.25 3551.25 cm -0 0 m --5 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4260.25 3481.25 cm -0 0 m --5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4249.25 3411.25 cm -0 0 m --5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4239.25 3341.25 cm -0 0 m --5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4229.25 3271.25 cm -0 0 m --5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4218.25 3202.25 cm -0 0 m --5 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4208.25 3132.25 cm -0 0 m --5 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4198.25 3062.25 cm -0 0 m --5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4187.25 2992.25 cm -0 0 m --5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4176.25 2921.25 cm -0 0 m --5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4693.25 4110.25 cm -0 0 m -5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4704.25 4040.25 cm -0 0 m -5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4714.25 3970.25 cm -0 0 m -5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4725.25 3901.25 cm -0 0 m -5 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4735.25 3831.25 cm -0 0 m -5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4746.25 3761.25 cm -0 0 m -5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4756.25 3690.25 cm -0 0 m -5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4766.25 3621.25 cm -0 0 m -5 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4777.25 3551.25 cm -0 0 m -5 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4787.25 3481.25 cm -0 0 m -5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4798.25 3411.25 cm -0 0 m -5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4808.25 3341.25 cm -0 0 m -5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4819.25 3271.25 cm -0 0 m -5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4829.25 3202.25 cm -0 0 m -5 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4840.25 3132.25 cm -0 0 m -5 -36 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4850.25 3062.25 cm -0 0 m -5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4861.25 2992.25 cm -0 0 m -5 -35 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4872.25 2921.25 cm -0 0 m -5 -35 l -S -Q -Q -q -0.9985011 0 0 0.9985011 0 0 cm -q 1 0 0 1 261.6 324.64 cm -0 0 m -4.248 -6.12 l -0.864 -7.416 l -f -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -1 j 1 J -q 1 0 0 1 2616 3246.3999 cm -0 0 m -42.48 -61.2 l -8.64 -74.16 l -h -S -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3127.2 3138.3999 cm -0 0 m --228.6 -18 l --381 -30 -465.72 -13.08 -482.76 32.76 c --508.32 101.52 l -S -Q -Q -q -0.9984412 0 0 0.9984412 0 0 cm -q 1 0 0 1 250.8 324.64 cm -0 0 m -4.248 -6.12 l -0.864 -7.416 l -f -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -1 j 1 J -q 1 0 0 1 2508 3246.3999 cm -0 0 m -42.48 -61.2 l -8.64 -74.16 l -h -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4171.2002 2418.3999 cm -0 0 m --750.6 198 l --1251 330 -1527.72 466.92 -1580.76 608.76 c --1660.32 821.52 l -S -Q -Q -q -0.9983813 0 0 0.9983813 0 0 cm -q 1 0 0 1 211.2 324.64 cm -0 0 m -6.264 -3.96 l -3.672 -6.408 l -f -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -1 j 1 J -q 1 0 0 1 2112 3246.3999 cm -0 0 m -62.64 -39.6 l -36.72 -64.08 l -h -S -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3127.2 2994.3999 cm -0 0 m --336.6 -54 l --561 -90 -729.36 -48.84 -841.68 69.48 c --1010.16 246.96 l -S -Q -Q -q -0.9983214 0 0 0.9983214 0 0 cm -q 1 0 0 1 200.4 324.64 cm -0 0 m -5.76 -4.68 l -2.88 -6.84 l -f -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -1 j 1 J -q 1 0 0 1 2004 3246.3999 cm -0 0 m -57.6 -46.8 l -28.8 -68.4 l -h -S -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4171.2002 2778.3999 cm -0 0 m --858.6 18 l --1431 30 -1765.2 72 -1861.2 144 c --1957.2 216 -2031.48 287.04 -2084.04 357.12 c --2162.88 462.24 l -S -Q -Q -BT -/T1_1 1 Tf -7.9861 0 0 7.9861 195.236 200.8901 Tm -(Figure 4.15)Tj -/T1_0 1 Tf -5.695 0 Td -[(Sample cylinder gr)18(oup after cr)18(eating the dir)18(ectory)]TJ -/TT0 1 Tf -22.361 0 Td -(testdir)Tj -/T1_0 1 Tf -9.9826 0 0 9.9826 129.3749 172.1402 Tm -[(The )-42(i-node )-42(whose )-42(number )-42(is )-42(2549 )-42(has )-42(a )-42(type )-42(\336eld )-42(of )-42(\324)41(\324dir)18(ectory\325)]TJ -0.2916 Tc 28.417 0 Td -(\325a)Tj -0 Tc 1.07 0 Td -[(nd )-42(a )-42(link )-42(count )-42(equal)]TJ --29.486 -1.2 Td -[(to )-46(2.)-546(Any )-46(leaf )-46(dir)18(ectory )-46(\(a )-46(dir)18(ectory )-46(that )-46(does )-46(not )-46(contain )-46(any )-46(other )-46(dir)18(ectories\) )-46(always)]TJ -T* -[(has )-147(a )-147(link )-147(count )-147(of )-147(2.)-647(The )-147(value )-147(of )-147(2 )-147(comes )-147(fr)18(om )-147(the )-147(dir)18(ectory )-147(entry )-147(that )-147(names )-147(the)]TJ -T* -[(dir)18(ectory )-165(\()]TJ -/TT0 1 Tf -(testdir)Tj -/T1_0 1 Tf -0.4149 Tc (\)a)Tj -0 Tc 10.221 0 Td -[(nd )-165(fr)18(om )-165(the )-165(entry )-165(for )-165(dot )-165(in )-165(that )-165(dir)19(ectory)]TJ -0.6648 Tc 19.653 0 Td -(.T)Tj -0 Tc 1.528 0 Td -[(he )-165(i-node )-165(whose)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47656 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(564)Tj -/T1_1 1 Tf -3.5 0 Td -[(Interpr)18(ocess )-250(Communication)]TJ -38.741 0 Td -[(Chapter )-250(15)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(Note )-321(how )-321(ungracefully )-321(the )-321(r)17(emoval )-321(of )-321(a )-321(message )-321(queue )-321(is )-321(handled.)-821(Since )-321(a)]TJ --0.018 Tc -1.8 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(fer)18(ence )-84(count )-84(is )-84(not )-84(maintained )-84(with )-84(each )-84(message )-84(queue )-84(\(as )-84(ther)22(e)-334(is)-334(f)1(or )-84(open )-84(\336les\),)]TJ --0.856 -1.2 Td -[(the )-325(r)18(emoval )-325(of )-325(a )-325(queue )-325(simply )-325(generates )-325(err)18(ors )-325(on )-325(the )-325(next )-325(queue )-325(operation )-325(by)]TJ -0 -1.2 TD -[(pr)18(ocesses )-113(still )-113(using )-113(the )-113(queue.)-611(Semaphor)18(es )-113(handle )-113(this )-113(r)18(emoval )-113(in )-113(the )-113(same )-113(fashion.)]TJ -0 -1.2 Td -[(In )-34(contrast, )-34(when )-34(a )-34(\336le )-34(is )-34(r)18(emoved, )-34(the )-34(\336le\325s )-34(contents )-34(ar)]TJ -0.2839 Tc 24.859 0 Td -(en)Tj -0 Tc 1.345 0 Td -[(ot )-34(deleted )-34(until )-34(the )-34(last )-34(open)]TJ --26.203 -1.2 Td -(descriptor for the \336le is closed.)Tj -1.8 -1.2 Td -(When)Tj -/TT0 1 Tf -3.109 0 Td -(msgsnd)Tj -/T1_1 1 Tf --0.018 Tc 4.066 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-216(successfully)]TJ -0.4661 Tc 8.001 0 Td -(,t)Tj -0 Tc 1.042 0 Td -(he)Tj -/TT0 1 Tf -1.527 0 Td -(msqid_ds)Tj -/T1_1 1 Tf -5.266 0 Td -[(str)8(uctur)]TJ -0.4661 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.445 0 Td -[(ssociated )-216(with )-216(the)]TJ --30.603 -1.2 Td -[(message )-93(queue )-93(is )-93(updated )-93(to )-93(indicate )-93(the )-93(pr)18(ocess )-93(ID )-93(that )-93(made )-93(the )-93(call )-93(\()]TJ -/TT0 1 Tf -33.017 0 Td -(msg_lspid)Tj -/T1_1 1 Tf -(\),)Tj --33.017 -1.2 Td -[(the )-160(time )-160(that )-160(the )-160(call )-160(was )-160(made )-160(\()]TJ -/TT0 1 Tf -15.445 0 Td -(msg_stime)Tj -/T1_1 1 Tf -[(\), )-160(and )-160(that )-160(one )-160(mor)]TJ -0.4098 Tc 14.462 0 Td -(em)Tj -0 Tc 1.772 0 Td -[(essage )-160(is )-160(on )-160(the)]TJ --31.678 -1.2 Td -(queue \()Tj -/TT0 1 Tf -(msg_qnum)Tj -/T1_1 1 Tf -(\).)Tj -1.8 -1.2 Td -(Messages ar)Tj -0.25 Tc 5.359 0 Td -(er)Tj -0 Tc 1.106 0 Td -[(etrieved fr)18(om a queue by)]TJ -/TT0 1 Tf -11.347 0 Td -(msgrcv)Tj -/T1_1 1 Tf -(.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 532.2681 Tm -(#include )Tj -0 -1.902 TD -(ssize_t msgrcv\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(msqid)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.208 0 Td -(oid *)Tj -/T1_2 1 Tf -(ptr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 6.022 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -0.6 Tc (,l)Tj -0 Tc 4.43 0 Td -(ong)Tj -/T1_2 1 Tf -2.4 0 Td -(type)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.522 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf --23.702 -1.902 Td -(Returns: size of data portion of message if OK,)Tj -/TT1 1 Tf -20.784 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 4935.25 cm -0 0 m -0 478 l -3900 478 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 480.0024 Tm -[(As )-65(with)]TJ -/TT0 1 Tf -3.864 0 Td -(msgsnd)Tj -/T1_1 1 Tf -0.3146 Tc (,t)Tj -0 Tc 4.491 0 Td -(he)Tj -/T1_2 1 Tf -1.376 0 Td -(ptr)Tj -/T1_1 1 Tf -1.537 0 Td -[(ar)18(gument )-64(points )-64(to )-64(a )-64(long )-64(integer )-64(\(wher)]TJ -0.3145 Tc 18.023 0 Td -(et)Tj -0 Tc 1.119 0 Td -[(he )-64(message )-64(type )-64(of)]TJ --30.41 -1.2 Td -[(the )-92(r)18(eturned )-92(message )-92(is )-92(stor)17(ed\) )-92(followed )-92(by )-92(a )-92(data )-92(buf)18(fer )-92(for )-92(the )-92(actual )-92(message )-92(data.)]TJ -/T1_2 1 Tf -0 -1.2 TD -(nbytes)Tj -/T1_1 1 Tf -2.94 0 Td -[(speci\336es )-60(the )-60(size )-60(of )-60(the )-60(data )-60(buf)19(fer)]TJ -0.5599 Tc 15.494 0 Td -(.I)Tj -0.3099 Tc 1.147 0 Td -(ft)Tj -0 Tc 0.969 0 Td -[(he )-60(r)18(eturned )-60(message )-60(is )-60(lar)18(ger )-60(than)]TJ -/T1_2 1 Tf -15.82 0 Td -(nbytes)Tj -/T1_1 1 Tf --36.37 -1.2 Td -[(and )-209(the)]TJ -/TT0 1 Tf -3.998 0 Td -(MSG_NOERROR)Tj -/T1_1 1 Tf -7.059 0 Td -[(bit )-209(in)]TJ -/T1_2 1 Tf -2.961 0 Td -(\337ag)Tj -/T1_1 1 Tf -1.948 0 Td -[(is )-209(set, )-209(the )-209(message )-209(is )-209(tr)7(uncated. )-459(\(In)-460(this )-209(case, )-209(no)]TJ --15.967 -1.2 Td -[(noti\336cation )-164(is )-164(given )-164(to )-164(us )-164(that )-164(the )-164(message )-164(was )-164(tr)8(uncated, )-164(and )-164(the )-164(r)18(emainder )-164(of )-164(the)]TJ -T* -[(message )-84(is )-84(discar)18(ded.\) )-334(If)-334(the )-84(message )-84(is )-84(too )-84(big )-84(and )-84(this)]TJ -/T1_2 1 Tf -25.967 0 Td -(\337ag)Tj -/T1_1 1 Tf -1.823 0 Td -[(value )-84(is )-84(not )-84(speci\336ed, )-84(an)]TJ --27.79 -1.2 Td -[(err)18(or of)]TJ -/TT0 1 Tf -3.571 0 Td -(E2BIG)Tj -/T1_1 1 Tf -3.25 0 Td -[(is r)18(eturned instead \(and the message stays on the queue\).)]TJ --5.021 -1.2 Td -(The)Tj -/T1_2 1 Tf -1.924 0 Td -(type)Tj -/T1_1 1 Tf -1.972 0 Td -[(ar)18(gument lets us specify which message we want.)]TJ -/T1_2 1 Tf --3.896 -2.04 Td -(type)Tj -/T1_1 1 Tf -2.222 0 Td -[(== )-250(0)-883(The \336rst message on the queue is r)18(eturned.)]TJ -/T1_2 1 Tf --2.222 -1.6 Td -(type)Tj -/T1_1 1 Tf -0.5 Tc 2.222 0 Td -[(>0 )-239(T)]TJ -0 Tc 3.708 0 Td -[(he )-260(\336rst )-260(message )-260(on )-260(the )-260(queue )-260(whose )-260(message )-260(type )-260(equals)]TJ -/T1_2 1 Tf -28.323 0 Td -(type)Tj -/T1_1 1 Tf -2.232 0 Td -(is)Tj --0.018 Tc -31.168 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(turned.)Tj -/T1_2 1 Tf --6.173 -1.6 Td -(type)Tj -/T1_1 1 Tf -0.5 Tc 2.222 0 Td -[(<0 )-239(T)]TJ -0 Tc 3.708 0 Td -[(he )-39(\336rst )-39(message )-39(on )-39(the )-39(queue )-39(whose )-39(message )-39(type )-39(is )-39(the )-39(lowest )-39(value)]TJ --0.613 -1.2 Td -(less than or equal to the absolute value of)Tj -/T1_2 1 Tf -18.53 0 Td -(type)Tj -/T1_1 1 Tf -1.972 0 Td -[(is r)18(eturned.)]TJ -0.2714 Tc -27.619 -2.04 Td -(An)Tj -0 Tc 1.631 0 Td -[(onzer)18(o)]TJ -/T1_2 1 Tf -3.301 0 Td -(type)Tj -/T1_1 1 Tf -1.993 0 Td -[(is )-21(used )-21(to )-21(r)18(ead )-21(the )-21(messages )-21(in )-21(an )-21(or)18(der )-21(other )-21(than )-21(\336rst )-21(in, )-21(\336rst )-21(out.)-527(For)]TJ --6.926 -1.2 Td -[(example, )-146(the)]TJ -/T1_2 1 Tf -6.178 0 Td -(type)Tj -/T1_1 1 Tf -2.118 0 Td -[(could )-146(be )-146(a )-146(priority )-146(value )-146(if )-146(the )-146(application )-146(assigns )-146(priorities )-146(to )-146(the)]TJ --8.296 -1.2 Td -[(messages. )-328(Another)-328(use )-78(of )-78(this )-78(\336eld )-78(is )-78(to )-78(contain )-78(the )-78(pr)20(ocess )-78(ID )-78(of )-78(the )-78(client )-78(if )-78(a )-78(single)]TJ -0 -1.2 Td -[(message )-1(queue )-1(is )-1(being )-1(used )-1(by )-1(multiple )-1(clients )-1(and )-1(a )-1(single )-1(server )-1(\(as )-1(long )-1(as )-1(a )-1(pr)12(ocess)]TJ -T* -(ID \336ts in a long integer\).)Tj --0.092 Tc 1.8 -1.2 Td -[(We )-362(c)]TJ -0 Tc 2.259 0 Td -[(an )-178(specify )-178(a)]TJ -/T1_2 1 Tf -5.993 0 Td -(\337ag)Tj -/T1_1 1 Tf -1.917 0 Td -[(value )-178(of)]TJ -/TT0 1 Tf -4.172 0 Td -(IPC_NOWAIT)Tj -/T1_1 1 Tf -6.428 0 Td -[(to )-178(make )-178(the )-178(operation )-178(nonblocking,)]TJ --22.568 -1.2 Td -(causing)Tj -/TT0 1 Tf -3.768 0 Td -(msgrcv)Tj -/T1_1 1 Tf -3.968 0 Td -[(to )-118(r)18(eturn)]TJ -/TT1 1 Tf -4.369 0 Td -(!)Tj -/T1_1 1 Tf -0.3676 Tc (1w)Tj -0 Tc 2.251 0 Td -(ith)Tj -/TT0 1 Tf -1.567 0 Td -(errno)Tj -/T1_1 1 Tf -3.368 0 Td -[(set )-118(to)]TJ -/TT0 1 Tf -2.836 0 Td -(ENOMSG)Tj -/T1_1 1 Tf -3.968 0 Td -[(if )-118(a )-118(message )-118(of )-118(the )-118(speci\336ed)]TJ --26.093 -1.2 Td -[(type )-236(is )-236(not )-236(available.)-736(If)]TJ -/TT0 1 Tf -11.701 0 Td -(IPC_NOWAIT)Tj -/T1_1 1 Tf -6.486 0 Td -[(is )-236(not )-236(speci\336ed, )-236(the )-236(operation )-236(blocks )-236(until )-236(a)]TJ --18.186 -1.2 Td -[(message )-62(of )-62(the )-62(speci\336ed )-62(type )-62(is )-62(available, )-62(the )-62(queue )-62(is )-62(r)18(emoved )-62(fr)18(om )-62(the )-62(system )-62(\()]TJ -/TT1 1 Tf -36.924 0 Td -(!)Tj -/T1_1 1 Tf -0.3118 Tc (1i)Tj -0 Tc 1.652 0 Td -(s)Tj --0.018 Tc -38.576 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turned )-35(with)]TJ -/TT0 1 Tf -5.598 0 Td -(errno)Tj -/T1_1 1 Tf -3.285 0 Td -[(set )-35(to)]TJ -/TT0 1 Tf -2.67 0 Td -(EIDRM)Tj -/T1_1 1 Tf -[(\), )-35(or )-35(a )-35(signal )-35(is )-35(caught )-35(and )-35(the )-35(signal )-35(handler )-35(r)21(eturns)]TJ --12.41 -1.2 Td -(\(causing)Tj -/TT0 1 Tf -3.983 0 Td -(msgrcv)Tj -/T1_1 1 Tf -3.85 0 Td -[(to r)18(eturn)]TJ -/TT1 1 Tf -4.134 0 Td -(!)Tj -/T1_1 1 Tf -0.25 Tc (1w)Tj -0 Tc 2.133 0 Td -(ith)Tj -/TT0 1 Tf -1.449 0 Td -(errno)Tj -/T1_1 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(EINTR)Tj -/T1_1 1 Tf -(\).)Tj --19.6 -1.2 Td -(When)Tj -/TT0 1 Tf -3.13 0 Td -(msgrcv)Tj -/T1_1 1 Tf -4.087 0 Td -[(succeeds, )-237(the )-237(kernel )-237(updates )-237(the)]TJ -/TT0 1 Tf -15.694 0 Td -(msqid_ds)Tj -/T1_1 1 Tf -5.287 0 Td -[(str)8(uctur)]TJ -0.4873 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.466 0 Td -(ssociated)Tj --34.955 -1.2 Td -[(with )-21(the )-21(message )-21(queue )-21(to )-21(indicate )-21(the )-21(caller)-74(\325s )-21(pr)18(ocess )-21(ID )-21(\()]TJ -/TT0 1 Tf -26.3 0 Td -(msg_lrpid)Tj -/T1_1 1 Tf -[(\), )-21(the )-21(time )-21(of )-21(the)]TJ --26.3 -1.2 Td -(call \()Tj -/TT0 1 Tf -(msg_rtime)Tj -/T1_1 1 Tf -(\), and that one less message is on the queue \()Tj -/TT0 1 Tf -(msg_qnum)Tj -/T1_1 1 Tf -(\).)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47657 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(972)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -[(Mach, )-250(xxii,)-250(xxvi\320xxvii, 35, 947)]TJ -/TT0 1 Tf -0 -1.25 TD -()Tj -/T1_1 1 Tf -11.217 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,9)Tj -0 Tc 1.25 0 Td -(06)Tj --15.439 -1.25 Td -[(macr)18(o, featur)]TJ -0.25 Tc 5.868 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(est, )-250(57)]TJ -3.062 0.09 Td -(\320)Tj -0.583 -0.09 Td -(58, 84)Tj -/TT0 1 Tf --10.569 -1.25 Td -(MAILPATH)Tj -/T1_1 1 Tf -5.217 0 Td -[(envir)18(onment variable,)-500(210)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(main)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(7,)-250(150, 155, 197)]TJ -11.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(200, 202, 204,)Tj --11.74 -1.25 Td -(215)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(217, 226, 236)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(237, 249, 283, 330)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(332,)Tj --16.5 -1.25 Td -(357)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(358, 468, 654, 656, 663, 729, 739, 81)55(1, 814,)]TJ --2.167 -1.25 Td -(817, 824, 830, 833, 919, 921, 939, 944)Tj --2.7 -1.25 Td -(major device number)Tj -0.5 Tc 9.348 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(8)Tj -0.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(59, 137, 139, 465, 699)Tj -/TT0 1 Tf --11.765 -1.25 Td -(major)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(138)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(139)Tj -/TT0 1 Tf --10.04 -1.25 Td -(make)Tj -/T1_1 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(300)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(makethread)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(436,)-250(438)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(439)Tj -/TT0 1 Tf --15.04 -1.25 Td -(mallinfo)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(209)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(malloc)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(21)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(23, 51, 136, 145, 174,)Tj --7.44 -1.25 Td -(207)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(210, 213, 330, 332, 392, 400)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(401, 403,)Tj --14.333 -1.25 Td -(405, 429, 437, 447, 450, 575, 616, 618, 623,)Tj -T* -(646)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(647, 650)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(651, 661)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(662, 666, 696,)Tj --10.5 -1.25 Td -(760)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(761, 815, 820, 828, 839, 926, 928)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(207)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(MALLOC_OPTIONS)Tj -/T1_1 1 Tf -8.817 0 Td -[(envir)18(onment variable,)-500(928)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(mallopt)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(209)]TJ --4.617 -1.25 Td -[(mandatory r)18(ecor)]TJ -0.25 Tc 7.372 0 Td -(dl)Tj -0 Tc 1.152 0 Td -[(ocking, )-250(495)]TJ --8.524 -1.25 Td -[(Mandrake, )-250(xxvii)]TJ -/TT0 1 Tf -T* -(MAP_ANON)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(578)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(MAP_ANONYMOUS)Tj -/T1_1 1 Tf -8.217 0 Td -[(constant, )-250(578)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(MAP_FAILED)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(529,)-250(577)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(MAP_FIXED)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(526)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(527)Tj -/TT0 1 Tf --12.463 -1.25 Td -(MAP_PRIVATE)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(526,)-250(528, 578)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(MAP_SHARED)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(526)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(529, 576)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(578)Tj -/TT0 1 Tf --17.23 -1.25 Td -()Tj -/T1_1 1 Tf -5.217 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7)Tj --9.439 -1.25 Td -[(Maur)18(o, J.,)-500(74, 1)55(12, 1)55(16, 951)]TJ -/TT0 1 Tf -T* -(MAX_CANON)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(39,)-250(44, 47, 49, 673)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(MAX_INPUT)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(39,)-250(44, 49, 672)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(MAXPATHLEN)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(49)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(MB_LEN_MAX)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(37)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(mbstate_t)Tj -/T1_1 1 Tf -5.817 0 Td -[(str)8(uctur)18(e, )-250(442)]TJ --5.817 -1.25 Td -[(McDougall, R.,)-500(74, 1)55(12, 1)55(16, 951)]TJ -T* -[(McIlr)18(oy)111(,)-250(M.)-250(D., )-250(xxxii)]TJ -0 -1.25 Td -[(McKusick, M. K.,)-500(xxxii, 33)]TJ -11.819 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(34, 74, 1)55(12, 1)55(16, 229,)]TJ --9.702 -1.25 Td -(236, 525, 951)Tj --2.7 -1.25 Td -[(MD5, )-250(181)]TJ -/TT0 1 Tf -T* -(MDMBUF)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(675,)-250(685, 689)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(memccpy)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(155)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(memcpy)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(530)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(531, 916)Tj --10.64 -1.25 Td -(memory)Tj -1.35 -1.25 Td -[(allocation, )-250(207)]TJ -6.65 0.09 Td -(\320)Tj -0.583 -0.09 Td -(210)Tj --7.234 -1.25 Td -[(layout, )-250(204)]TJ -5.155 0.09 Td -(\320)Tj -0.583 -0.09 Td -(206)Tj --5.739 -1.25 Td -[(leakage, )-250(209)]TJ -T* -[(shar)18(ed, )-250(534,)-250(571)]TJ -7.306 0.09 Td -(\320)Tj -0.583 -0.09 Td -(578)Tj --9.24 -1.25 Td -[(memory-mapped I/O,)-500(525)]TJ -12.062 0.09 Td -(\320)Tj -0.583 -0.09 Td -(531)Tj -/TT0 1 Tf --12.646 -1.25 Td -(memset)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(172)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(173, 614, 616, 618, 621, 623)Tj --10.64 -1.25 Td -[(Menage, P)129(., )-250(949)]TJ -T* -[(message queues,)-500(534, 561)]TJ -11.476 0.09 Td -(\320)Tj -0.583 -0.09 Td -(565)Tj -15.291 65 Td -[(timing, )-250(565)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(mgetty)Tj -/T1_1 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(290)]TJ --4.017 -1.25 Td -[(MIN terminal value,)-500(687, 703)]TJ -13.132 0.09 Td -(\320)Tj -0.583 -0.09 Td -(704, 708, 713, 943)Tj --13.716 -1.25 Td -(minor device number)Tj -0.5 Tc 9.487 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(8)Tj -0.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(59, 137, 139, 465, 699)Tj -/TT0 1 Tf --11.903 -1.25 Td -(minor)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(138)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(139)Tj -/TT0 1 Tf --10.04 -1.25 Td -(mkdir)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(101)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(102, 120)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(122, 125, 129)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(130,)Tj --17.673 -1.25 Td -(331, 452, 912)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(129)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(mkdir)Tj -/T1_1 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(129)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(mkdirat)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(129)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(130, 331, 452)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(129)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(mkdtemp)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(167)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(171, 452)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(169)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(mkfifo)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(120)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(121, 125, 331, 452, 553, 937)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(553)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(mkfifo)Tj -/T1_1 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(553)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(mkfifoat)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(331,)-250(452, 553)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(553)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(mknod)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(120)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(121, 129, 331, 452, 553)Tj -/TT0 1 Tf --10.04 -1.25 Td -(mknodat)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(331,)-250(452, 553)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(mkstemp)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(167)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(171, 452)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(169)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(mktime)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(190,)-250(192, 195, 452)]TJ --2.667 -1.25 Td -[(de\336nition of,)-500(192)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(mlock)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(221)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(mmap)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(174,)-250(221, 429, 481, 525, 527,)]TJ --0.117 -1.25 Td -(529)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(532, 576)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(578, 587, 592, 949)Tj --7.683 -1.25 Td -[(de\336nition of,)-500(525)]TJ --1.35 -1.25 Td -[(modem, )-250(xx,)-250(xxvii, 285, 287, 297, 318, 328, 481, 508,)]TJ -2.7 -1.25 Td -(671, 674)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(675, 685, 687, 689, 692)Tj -/TT0 1 Tf --6.866 -1.25 Td -(mode_t)Tj -/T1_1 1 Tf -4.017 0 Td -[(data type,)-500(59)]TJ -/TT0 1 Tf --4.017 -1.25 Td -()Tj -/T1_1 1 Tf -7.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj --11.839 -1.25 Td -[(Moran, J. P)129(., )-250(525,)-250(949)]TJ -/TT0 1 Tf -T* -(more)Tj -/T1_1 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(543,)-250(748)]TJ --2.817 -1.25 Td -[(Morris, R.,)-500(181, 951)]TJ -/TT0 1 Tf -T* -(mount)Tj -/T1_1 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(102,)-250(129, 139, 496)]TJ --3.417 -1.25 Td -(mounted STREAMS)Tj -8.946 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based pipes,)-500(534)]TJ -/TT0 1 Tf --9.279 -1.25 Td -(mprotect)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(527)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(527)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(mq_receive)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(451)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(mq_send)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(451)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(mq_timedreceive)Tj -/T1_1 1 Tf -9.417 0 Td -[(function, )-250(451)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(mq_timedsend)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(451)]TJ -/TT0 1 Tf --7.617 -1.25 Td -()Tj -/T1_1 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(0)Tj -/TT0 1 Tf --10.639 -1.25 Td -(mrand48)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(MS_ASYNC)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(528)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(MSG_CONFIRM)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(61)55(1)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(msgctl)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(558)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(559, 562)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(562)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(MSG_CTRUNC)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(613)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(MSG_DONTROUTE)Tj -/T1_1 1 Tf -8.217 0 Td -[(constant, )-250(61)55(1)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(MSG_DONTWAIT)Tj -/T1_1 1 Tf -7.617 0 Td -[(constant, )-250(61)55(1)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(MSG_EOF)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(61)55(1)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47658 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(916)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 177.2094 670.2598 Tm -(return\(flags\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(static off_t)Tj -0 -1.189 TD -(find_end\(char *buf, size_t len\))Tj -T* -({)Tj -2.4 -1.189 Td -(off_t off = 0;)Tj -0 -1.902 TD -(while \(off < len\) {)Tj -2.4 -1.189 Td -(if \(buf[off] == 0\))Tj -2.4 -1.189 Td -(break;)Tj --2.4 -1.189 Td -(off++;)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(return\(off\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(static int)Tj -0 -1.189 TD -(mstream_read\(void *cookie, char *buf, int len\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(int nr;)Tj -0 -1.189 TD -(struct memstream *ms = cookie;)Tj -0 -1.902 TD -(if \(!\(ms->flags & MS_READ\)\) {)Tj -2.4 -1.189 Td -(errno = EBADF;)Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(ms->curpos >= ms->vsize\))Tj -2.4 -1.189 Td -(return\(0\);)Tj --2.4 -1.902 Td -(/* can only read from curpos to vsize */)Tj -T* -(nr = MIN\(len, ms->vsize - ms->curpos\);)Tj -T* -(memcpy\(buf, ms->buf + ms->curpos, nr\);)Tj -0 -1.189 TD -(ms->curpos += nr;)Tj -0 -1.189 TD -(return\(nr\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(static int)Tj -0 -1.189 TD -(mstream_write\(void *cookie, const char *buf, int len\))Tj -T* -({)Tj -2.4 -1.189 Td -(int nw, off;)Tj -T* -(struct memstream *ms = cookie;)Tj -0 -1.902 TD -(if \(!\(ms->flags & \(MS_APPEND|MS_WRITE\)\)\) {)Tj -2.4 -1.189 Td -(errno = EBADF;)Tj -0 -1.189 TD -(return\(-1\);)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(ms->flags & MS_APPEND\))Tj -2.4 -1.189 Td -(off = ms->vsize;)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(off = ms->curpos;)Tj --2.4 -1.189 Td -(nw = MIN\(len, ms->rsize - off\);)Tj -T* -(memcpy\(ms->buf + off, buf, nw\);)Tj -T* -(ms->curpos = off + nw;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47659 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(436)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(ead )-250(Contr)18(ol )]TJ -38.741 0 Td -[(Chapter)-500(12)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -1404 6494 432 144 re -S -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 152.3909 654.8007 Tm -(main)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 6422.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 6386.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 6350.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 6314.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 6278.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/TT1 1 Tf -7.999 0 0 7.999 142.7829 615.1662 Tm -(func1\(x\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 6062.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 6026.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5990.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5954.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5918.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5882.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5846.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5810.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5774.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5738.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5702.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5666.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5630.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5594.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5558.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5522.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5486.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5450.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5414.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5378.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5306.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5270.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5234.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5198.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5162.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5126.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5090.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5054.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 5018.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 4982.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 4946.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1620.25 4910.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9986 0 0 7.9986 142.7743 478.3539 Tm -(func2\(x\))Tj -ET -q -0.99982 0 0 0.99982 0 0 cm -q 1 0 0 1 248.4 617 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -1 j 1 J -q 1 0 0 1 2484 6170 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1944.25 6170.25 cm -0 0 m -468 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2484 6098 432 144 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 257.9381 615.0924 Tm -(func1)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2700.25 6026.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2700.25 5990.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2700.25 5954.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2700.25 5918.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2700.25 5882.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9976 0 0 7.9976 205.1384 575.4673 Tm -(pthread_mutex_lock\(x->lock\))Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2700.25 5666.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2700.25 5630.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2700.25 5594.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2700.25 5558.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2700.25 5522.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9971 0 0 7.9971 233.9158 539.4458 Tm -(func2_locked\(x\))Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2700.25 5306.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2700.25 5270.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2700.25 5234.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2700.25 5198.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2700.25 5162.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9966 0 0 7.9966 200.3158 503.4285 Tm -(pthread_mutex_unlock\(x->lock\))Tj -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 324 480.2 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3240 4802 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1944.25 4802.25 cm -0 0 m -1224 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -3240 4730 432 144 re -S -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 333.4399 478.2104 Tm -(func2)Tj -/TT1 1 Tf --6.6 -3.15 Td -(pthread_mutex_lock\(x->lock\))Tj -3.6 -1.8 Td -(func2_locked\(x\))Tj --4.2 -1.8 Td -(pthread_mutex_unlock\(x->lock\))Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 432 440.6 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 4320 4406 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3888.25 4406.25 cm -0 0 m -360 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -4320 4334 792 144 re -S -Q -BT -/TT0 1 Tf -7.9957 0 0 7.9957 442.5609 438.6031 Tm -(func2_locked)Tj -ET -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 471.6 447.8 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 4716 4478 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3132.25 5414.25 cm -0 0 m -1584 0 l -1584 -864 l -S -Q -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 228.3869 393.5638 Tm -(Figure 12.7)Tj -/T1_1 1 Tf --0.092 Tc 5.695 0 Td -(Av)Tj -0 Tc 1.251 0 Td -[(oiding a r)18(ecursive locking opportunity)]TJ -/TT2 1 Tf -9.994 0 0 9.994 93.5439 355.1868 Tm -(Example)Tj -/T1_1 1 Tf -3.6 -2.4 Td -[(The )-108(pr)18(ogram )-108(in )-108(Figur)]TJ -0.3576 Tc 9.861 0 Td -(e1)Tj -0 Tc 1.337 0 Td -[(2.8 )-108(illustrates )-108(another )-108(situation )-108(in )-108(which )-108(a )-108(r)21(ecursive )-108(mutex )-108(is)]TJ --11.197 -1.2 Td -(necessary)Tj -0.7443 Tc 4.172 0 Td -(.H)Tj -0 Tc 1.826 0 Td -[(er)18(e, )-244(we )-244(have )-244(a )-244(\324)36(\324timeout\325)]TJ -0.4943 Tc 11.715 0 Td -(\325f)Tj -0 Tc 1.105 0 Td -[(unction )-244(that )-244(allows )-244(us )-244(to )-244(schedule )-244(another)]TJ --18.819 -1.2 Td -[(function )-10(to )-10(be )-10(r)9(un )-10(at )-10(some )-10(time )-10(in )-10(the )-10(futur)19(e. )-260(Assuming)-260(that )-10(thr)18(eads )-10(ar)18(e)-260(an)-260(inexpensive)]TJ --0.018 Tc -0 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ce, )-97(we )-97(can )-97(cr)18(eate )-97(a )-97(thr)18(ead )-97(for )-97(each )-97(pending )-97(timeout.)-601(The )-97(thr)18(ead )-97(waits )-97(until )-97(the)]TJ --0.856 -1.2 Td -[(time has been r)18(eached, and then it calls the function we\325ve r)18(equested.)]TJ -1.8 -1.2 Td -[(The )-122(pr)18(oblem )-122(arises )-122(when )-122(we )-122(can\325t )-122(cr)18(eate )-122(a )-122(thr)21(ead )-122(or )-122(when )-122(the )-122(scheduled )-122(time )-122(to)]TJ --0.008 Tc -1.8 -1.2 Td -(ru)Tj -0.5104 Tc 0.99 0 Td -(nt)Tj -0 Tc 1.418 0 Td -[(he )-260(function )-260(has )-260(alr)18(eady )-260(passed.)-760(In )-260(these )-260(cases, )-260(we )-260(simply )-260(call )-260(the )-260(r)13(equested)]TJ --2.408 -1.2 Td -[(function )-87(now)]TJ -0.3373 Tc 5.914 0 Td -(,f)Tj --0.018 Tc 0.92 0 Td -(ro)Tj -0.3373 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.546 0 Td -[(he )-87(curr)18(ent )-87(context.)-587(Since )-87(the )-87(function )-87(acquir)18(es )-87(the )-87(same )-87(lock )-87(that)]TJ --9.304 -1.2 Td -[(we curr)18(ently hold, a deadlock will occur unless the lock is r)18(ecursive.)]TJ -ET -q -0.09994 0 0 0.09994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2282.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT1 1 Tf -8.9941 0 0 8.9941 129.5145 218.5547 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(extern int makethread\(void *\(*\)\(void *\), void *\);)Tj -0 -1.783 TD -(struct to_info {)Tj -2.4 -1.189 Td -(void )Tj -8.4 0 Td -[(\(*to_fn\)\(void)-600(*\); /* function */)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47660 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(200)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Envir)18(onment )]TJ -39.241 0 Td -[(Chapter)-500(7)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(Now )-4(if )-4(we )-4(enable )-4(the )-4(1999 )-4(ISO )-4(C )-4(compiler )-4(extensions, )-4(we )-4(see )-4(that )-4(the )-4(exit )-4(code )-4(changes:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 652.2609 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(gcc -std=c99 hello.c)Tj -/T1_2 1 Tf -16.4 0 Td -(enable gcc\325)Tj -0.25 Tc 4.306 0 Td -(s1)Tj -0 Tc 1.139 0 Td -(999 ISO C extensions)Tj -/TT0 1 Tf --23.045 -1.189 Td -(hello.c:4: warning: return type defaults to \325int\325)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(hello, world)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(echo $?)Tj -/T1_2 1 Tf -16.4 0 Td -(print the exit status)Tj -/TT0 1 Tf --17.6 -1.189 Td -(0)Tj -/T1_1 1 Tf -7.9995 0 0 7.9995 183.5891 572.7656 Tm -[(Note )-238(the )-238(compiler )-238(warning )-238(when )-238(we )-238(enable )-238(the )-238(1999 )-238(ISO )-238(C )-238(extensions.)-735(This )-238(warning )-238(is)]TJ -0 -1.25 TD -[(printed )-42(because )-42(the )-42(type )-42(of )-42(the)]TJ -/TT0 1 Tf -14.133 0 Td -(main)Tj -/T1_1 1 Tf -2.692 0 Td -[(function )-42(is )-42(not )-42(explicitly )-42(declar)19(ed )-42(to )-42(be )-42(an )-42(integer)]TJ -0.5418 Tc 22.108 0 Td -(.I)Tj -0.2918 Tc 1.129 0 Td -(fw)Tj -0 Tc 1.459 0 Td -(e)Tj --41.521 -1.25 Td -[(wer)18(e)-328(to)-328(add )-78(this )-78(declaration, )-78(the )-78(message )-78(would )-78(go )-78(away)]TJ -0.5783 Tc 25.952 0 Td -(.H)Tj -0 Tc 1.66 0 Td -[(owever)74(,)-328(if)-328(we)-328(w)-1(er)18(e)-328(to)-328(enable )-78(all)]TJ --0.018 Tc -27.612 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(commended )-285(warnings )-285(fr)18(om )-285(the )-285(compiler )-285(\(with )-285(the)]TJ -/TT0 1 Tf -24.637 0 Td -(-Wall)Tj -/T1_1 1 Tf -3.535 0 Td -[(\337ag\), )-285(then )-285(we )-285(would )-285(see )-285(a)]TJ --29.028 -1.25 Td -[(warning message something like \324)37(\324contr)18(ol r)18(eaches end of nonvoid function.\325)37(\325)]TJ -0 -2.5 TD -[(The )-231(declaration )-231(of)]TJ -/TT0 1 Tf -8.962 0 Td -(main)Tj -/T1_1 1 Tf -2.881 0 Td -[(as )-231(r)18(eturning )-231(an )-231(integer )-231(and )-231(the )-231(use )-231(of)]TJ -/TT0 1 Tf -18.621 0 Td -(exit)Tj -/T1_1 1 Tf -2.881 0 Td -[(instead )-231(of)]TJ -/TT0 1 Tf -5.055 0 Td -(return)Tj -/T1_1 1 Tf --38.4 -1.25 Td -[(pr)18(oduces )-86(needless )-86(warnings )-86(fr)17(om )-86(some )-86(compilers )-86(and )-86(the)]TJ -/TT0 1 Tf -26.612 0 Td -(lint)Tj -/T1_1 1 Tf -2.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.669 -0.04 Td -[(pr)18(ogram. )-336(The)-336(pr)18(oblem )-86(is)]TJ --30.515 -1.25 Td -[(that )-65(these )-65(compilers )-65(don\325t )-65(know )-65(that )-65(an)]TJ -/TT0 1 Tf -18.261 0 Td -(exit)Tj -/T1_1 1 Tf -2.715 0 Td -[(fr)18(om)]TJ -/TT0 1 Tf -2.454 0 Td -(main)Tj -/T1_1 1 Tf -2.715 0 Td -[(is )-65(the )-65(same )-65(as )-65(a)]TJ -/TT0 1 Tf -7.388 0 Td -(return)Tj -/T1_1 1 Tf -0.5651 Tc (.O)Tj -0 Tc 5.201 0 Td -[(ne )-65(way)]TJ --38.734 -1.25 Td -[(ar)18(ound )-159(these )-159(warnings, )-159(which )-159(become )-159(annoying )-159(after )-159(a )-159(while, )-159(is )-159(to )-159(use)]TJ -/TT0 1 Tf -33.491 0 Td -(return)Tj -/T1_1 1 Tf -4.008 0 Td -[(instead )-158(of)]TJ -/TT0 1 Tf --37.5 -1.25 Td -(exit)Tj -/T1_1 1 Tf -2.767 0 Td -[(fr)18(om)]TJ -/TT0 1 Tf -2.506 0 Td -(main)Tj -/T1_1 1 Tf -0.617 Tc (.B)Tj -0 Tc 3.878 0 Td -[(ut )-117(doing )-117(this )-117(pr)18(events )-117(us )-117(fr)18(om )-117(using )-117(the )-117(UNIX )-117(System\325s)]TJ -/TT0 1 Tf -26.159 0 Td -(grep)Tj -/T1_1 1 Tf -2.767 0 Td -[(utility )-117(to)]TJ --38.077 -1.25 Td -[(locate )-186(all )-186(calls )-186(to)]TJ -/TT0 1 Tf -8.233 0 Td -(exit)Tj -/T1_1 1 Tf -2.836 0 Td -[(fr)18(om )-185(a )-185(pr)17(ogram. )-435(Another)-436(solution )-185(is )-185(to )-185(declar)17(e)]TJ -/TT0 1 Tf -22.546 0 Td -(main)Tj -/T1_1 1 Tf -2.836 0 Td -[(as )-185(r)18(eturning)]TJ -/TT0 1 Tf --36.449 -1.25 Td -(void)Tj -/T1_1 1 Tf -0.3598 Tc (,i)Tj -0 Tc 3.301 0 Td -[(nstead )-110(of)]TJ -/TT0 1 Tf -4.521 0 Td -(int)Tj -/T1_1 1 Tf -0.3598 Tc (,a)Tj -0 Tc 2.91 0 Td -[(nd )-110(continue )-110(calling)]TJ -/TT0 1 Tf -9.08 0 Td -(exit)Tj -/T1_1 1 Tf -0.6098 Tc (.T)Tj -0 Tc 3.873 0 Td -[(his )-110(gets )-110(rid )-110(of )-110(the )-110(compiler )-110(warning )-110(but)]TJ --23.684 -1.25 Td -[(doesn\325t )-327(look )-327(right )-327(\(especially )-327(in )-327(a )-327(pr)18(ogramming )-327(text\), )-327(and )-327(can )-327(generate )-327(other )-327(compiler)]TJ -0 -1.25 TD -[(warnings, )-123(since )-123(the )-123(r)18(eturn )-123(type )-123(of)]TJ -/TT0 1 Tf -15.861 0 Td -(main)Tj -/T1_1 1 Tf -2.773 0 Td -[(is )-123(supposed )-123(to )-123(be )-123(a )-123(signed )-123(integer)]TJ -0.6229 Tc 15.622 0 Td -(.I)Tj -0.3729 Tc 1.21 0 Td -(nt)Tj -0 Tc 1.281 0 Td -[(his )-123(text, )-123(we)]TJ --36.747 -1.25 Td -(show)Tj -/TT0 1 Tf -2.777 0 Td -(main)Tj -/T1_1 1 Tf -2.792 0 Td -[(as )-141(r)18(eturning )-141(an )-141(integer)]TJ -0.3915 Tc 10.405 0 Td -(,s)Tj -0 Tc 1.065 0 Td -[(ince )-141(that )-141(is )-141(the )-141(de\336nition )-141(speci\336ed )-141(by )-141(both )-141(ISO )-141(C )-141(and)]TJ --17.04 -1.25 Td -(POSIX.1.)Tj -0 -2.5 TD -[(Dif)18(fer)18(ent )-132(compilers )-132(vary )-132(in )-132(the )-132(verbosity )-132(of )-132(their )-132(warnings.)-632(Note )-132(that )-132(the )-132(GNU )-132(C )-132(compiler)]TJ -0 -1.25 TD -[(usually )-136(doesn\325t )-136(emit )-136(these )-136(extraneous )-136(compiler )-136(warnings )-136(unless )-136(additional )-136(warning )-136(options)]TJ -T* -(ar)Tj -0.25 Tc 0.877 0 Td -(eu)Tj -0 Tc 1.332 0 Td -(sed.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 3668.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 342.7589 Tm -[(In )-29(the )-29(next )-29(chapter)]TJ -0.2789 Tc 8.299 0 Td -(,w)Tj -0 Tc 1.363 0 Td -[(e\325ll )-29(see )-29(how )-29(any )-29(pr)18(ocess )-29(can )-29(cause )-29(a )-29(pr)19(ogram )-29(to )-29(be )-29(executed, )-29(wait)]TJ --9.662 -1.2 Td -[(for the pr)18(ocess to complete, and then fetch its exit status.)]TJ -/TT1 1 Tf --3.6 -3.6 Td -(atexit)Tj -/TT2 1 Tf -3.878 0 Td -(Function)Tj -/T1_1 1 Tf --0.055 Tc -0.278 -2.4 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-67(ISO )-67(C, )-67(a )-67(pr)18(ocess )-67(can )-67(r)18(egister )-67(at )-67(least )-67(32 )-67(functions )-67(that )-67(ar)]TJ -0.3168 Tc 26.553 0 Td -(ea)Tj -0 Tc 1.296 0 Td -[(utomatically )-67(called )-67(by)]TJ -/TT0 1 Tf --29.084 -1.2 Td -(exit)Tj -/T1_1 1 Tf -0.5 Tc (.T)Tj -0 Tc 3.763 0 Td -(hese ar)Tj -0.25 Tc 3.091 0 Td -(ec)Tj -0 Tc 1.173 0 Td -(alled)Tj -/T1_2 1 Tf -2.422 0 Td -(exit handlers)Tj -/T1_1 1 Tf -5.445 0 Td -(and ar)Tj -0.25 Tc 2.82 0 Td -(er)Tj -0 Tc 1.106 0 Td -[(egister)18(ed by calling the)]TJ -/TT0 1 Tf -10.473 0 Td -(atexit)Tj -/T1_1 1 Tf -3.85 0 Td -(function.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5828 239.6712 Tm -(#include )Tj -0 -2.14 TD -(int atexit\(void \(*)Tj -/T1_2 1 Tf -(func)Tj -/TT0 1 Tf -(\)\(void\)\);)Tj -/T1_1 1 Tf -24.288 -2.14 Td -[(Returns: 0 if OK, nonzer)18(o)-250(on)-250(err)18(or)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 1967.25 cm -0 0 m -0 520 l -3900 520 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 180.7475 Tm -[(This )-16(declaration )-16(says )-16(that )-16(we )-16(pass )-16(the )-16(addr)18(ess )-16(of )-16(a )-16(function )-16(as )-16(the )-16(ar)18(gument )-16(to)]TJ -/TT0 1 Tf -35.15 0 Td -(atexit)Tj -/T1_1 1 Tf -(.)Tj --35.15 -1.2 Td -[(When )-189(this )-189(function )-189(is )-189(called, )-189(it )-189(is )-189(not )-189(passed )-189(any )-189(ar)19(guments )-189(and )-189(is )-189(not )-189(expected )-189(to)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(turn )-305(a )-305(value.)-806(The)]TJ -/TT0 1 Tf -9.239 0 Td -(exit)Tj -/T1_1 1 Tf -2.955 0 Td -[(function )-305(calls )-305(these )-305(functions )-305(in )-305(r)18(everse )-305(or)18(der )-305(of )-305(their)]TJ --0.018 Tc -13.05 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(gistration. )-250(Each)-250(function is called as many times as it was r)18(egister)18(ed.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47661 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(971)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(lock_reg)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(489,)-250(897, 930)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(931)Tj --14.49 -1.25 Td -[(de\336nition of,)-500(489)]TJ --1.35 -1.25 Td -(locks)Tj --0.018 Tc 1.35 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(ader\320writer)Tj -0.5 Tc 5.131 0 Td -(,4)Tj -0 Tc 1.25 0 Td -(09)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(413)Tj --8.904 -1.25 Td -[(spin, )-250(417)]TJ -4.231 0.09 Td -(\320)Tj -0.583 -0.09 Td -(418)Tj -/TT0 1 Tf --6.165 -1.25 Td -(lock_test)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(489)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(490, 897)Tj --11.09 -1.25 Td -[(de\336nition of,)-500(489)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(log)Tj -/T1_0 1 Tf -2.217 0 Td -[(function, )-250(470)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(LOG_ALERT)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(LOG_AUTH)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(LOG_AUTHPRIV)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(LOG_CONS)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(468,)-250(471)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(LOG_CRIT)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(LOG_CRON)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(LOG_DAEMON)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(468,)-250(472)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(LOG_DEBUG)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(LOG_EMERG)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(LOG_ERR)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(472,)-250(474)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(476, 478)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(479,)Tj --14.73 -1.25 Td -(615)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(619, 622)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(623, 902)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(903)Tj -/TT0 1 Tf --13.199 -1.25 Td -(log_exit)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(817,)-250(898)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(899)Tj --12.49 -1.25 Td -[(de\336nition of,)-500(903)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(LOG_FTP)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(logger)Tj -/T1_0 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(471)]TJ --4.017 -1.25 Td -[(login accounting,)-500(186)]TJ -9.723 0.09 Td -(\320)Tj -0.583 -0.09 Td -(187)Tj -/TT0 1 Tf --10.307 -1.25 Td -(.login)Tj -/T1_0 1 Tf -4.017 0 Td -[(\336le, )-250(289)]TJ --4.017 -1.25 Td -[(login name,)-500(2, 17, 135, 179, 187, 21)55(1, 275)]TJ -17.738 0.09 Td -(\320)Tj -0.583 -0.09 Td -(276, 290,)Tj --15.621 -1.25 Td -(480, 930)Tj --0.018 Tc -1.35 -1.25 Td -(ro)Tj -0 Tc 0.923 0 Td -[(ot, )-250(16)]TJ -/TT0 1 Tf --2.273 -1.25 Td -(login)Tj -/T1_0 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(179,)-250(182, 184, 187, 251, 254, 256,)]TJ --0.717 -1.25 Td -(276, 287)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(290, 292, 472, 700, 717, 738)Tj -/TT0 1 Tf --6.866 -1.25 Td -(LOG_INFO)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(472,)-250(476, 478)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(LOGIN_NAME_MAX)Tj -/T1_0 1 Tf -8.817 0 Td -[(constant, )-250(40,)-250(43, 49)]TJ --8.817 -1.25 Td -(logins)Tj -1.35 -1.25 Td -[(network, )-250(290)]TJ -6.051 0.09 Td -(\320)Tj -0.583 -0.09 Td -(293)Tj --6.635 -1.25 Td -[(terminal, )-250(285)]TJ -6.08 0.09 Td -(\320)Tj -0.583 -0.09 Td -(290)Tj -/TT0 1 Tf --8.014 -1.25 Td -(LOG_KERN)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(LOG_LOCAL0)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(LOG_LOCAL1)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(LOG_LOCAL2)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(LOG_LOCAL3)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(LOG_LOCAL4)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(LOG_LOCAL5)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(LOG_LOCAL6)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(LOG_LOCAL7)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(LOG_LPR)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(LOG_MAIL)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(log_msg)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(897,)-250(899)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(903)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(LOGNAME)Tj -/T1_0 1 Tf -4.617 0 Td -[(envir)18(onment variable,)-500(21)55(1, 276, 288)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(LOG_NDELAY)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(471,)-250(928)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(LOG_NEWS)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(LOG_NOTICE)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(log_open)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(664,)-250(898)]TJ -22.133 65 Td -[(de\336nition of,)-500(902)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(LOG_PERROR)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(471)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(LOG_PID)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(471,)-250(664)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(log_quit)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(830,)-250(898)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(899)Tj --12.49 -1.25 Td -[(de\336nition of,)-500(903)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(log_ret)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(898)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(899)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(902)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(log_sys)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(804,)-250(898)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(899)Tj --11.89 -1.25 Td -[(de\336nition of,)-500(902)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(LOG_SYSLOG)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(log_to_stderr)Tj -/T1_0 1 Tf -8.217 0 Td -[(variable, )-250(664,)-250(807, 813, 902, 904)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(LOG_USER)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(472,)-250(664)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(LOG_WARNING)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(472)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(LONG_BIT)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(38)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(_longjmp)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(355,)-250(358)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(longjmp)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(197,)-250(213, 215)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(219, 225,)Tj --12.54 -1.25 Td -(330)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(331, 340)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(341, 343, 355)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(358, 365, 381, 924)Tj --13.85 -1.25 Td -[(de\336nition of,)-500(215)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(LONG_MAX)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(37,)-250(52)]TJ -7.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(53, 60, 420, 906)Tj -6.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(907)Tj -/TT0 1 Tf --20.03 -1.25 Td -(LONG_MIN)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(37)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(loop)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(663)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(664, 666, 670, 732, 742)Tj --8.09 -1.25 Td -[(de\336nition of,)-500(666, 732)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(lp)Tj -/T1_0 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(585,)-250(793)]TJ -/TT0 1 Tf --1.617 -1.25 Td -(lpc)Tj -/T1_0 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(472)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(lpd)Tj -/T1_0 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(472,)-250(793)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(lpsched)Tj -/T1_0 1 Tf -4.617 0 Td -[(pr)18(ogram, )-250(585,)-250(793)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(lrand48)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(ls)Tj -/T1_0 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(5)]TJ -5.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(8, 13, 107)Tj -4.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(108, 1)55(12, 123, 125, 131,)]TJ --9.358 -1.25 Td -(135, 139, 141, 177, 179, 559, 905)Tj -/TT0 1 Tf --2.7 -1.25 Td -(lseek)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(8,)-250(59, 61, 66)]TJ -9.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(70, 77)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(79, 88, 91,)Tj --14.007 -1.25 Td -(149, 158, 331, 452, 462, 486, 489, 498, 592, 670,)Tj -0 -1.25 TD -(765)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(766, 768, 771, 773, 779, 819, 908)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(67)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(lstat)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(93)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(97, 121)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(122, 133, 141, 331,)Tj --10.507 -1.25 Td -(452, 942)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(93)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(L_tmpnam)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(168)]TJ --5.217 -1.25 Td -[(Lucchina, P)129(., )-250(xxxii)]TJ -0 -4.75 TD -[(Mac OS X,)-500(xxi\320xxii, xxvi\320xxvii, 3)]TJ -14.705 0.09 Td -(\320)Tj -0.583 -0.09 Td -(4, 17, 26)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(27,)Tj --16.755 -1.25 Td -(29)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(30, 35)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(36, 38, 49, 57, 60, 62, 64, 70, 83,)Tj --4.833 -1.25 Td -(87)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(88, 102, 108)Tj -5.083 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(111)Tj -0.25 Tc 1.39 0 Td -(,1)Tj -0 Tc 0.945 0 Td -(13, 121, 129, 132, 138,)Tj --9.668 -1.25 Td -(175, 178, 182, 184)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(185, 187)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(188, 193, 209,)Tj --12.333 -1.25 Td -[(21)55(1)]TJ -1.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(212, 222, 228, 240, 244)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(245, 260, 262, 269,)Tj --12.278 -1.25 Td -(271, 276)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(277, 288)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(289, 292)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(293, 298, 303,)Tj --12.5 -1.25 Td -(314)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(317, 319, 322, 329, 334, 351, 355, 371, 373,)Tj --2.167 -1.25 Td -(377, 379)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(380, 385, 388, 393, 396, 409,)Tj --4.166 -1.25 Td -(426)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(427, 464)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(465, 485, 497, 503, 522, 534,)Tj --6.333 -1.25 Td -[(559, 561, 567, 572, 576, 594, 607, 61)55(1)]TJ -15.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(613, 627,)Tj --16.111 -1.25 Td -(634, 648, 675)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(678, 685)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(691, 716, 724,)Tj --10.333 -1.25 Td -(726)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(727, 740)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(741, 744, 793, 799, 91)55(1, 918, 925,)]TJ --6.333 -1.25 Td -(930, 932, 935)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(936)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47662 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(6.10)]TJ --0.055 Tc 32.431 0 Td -(Ti)Tj -0 Tc 0.849 0 Td -[(me )-250(and )-250(Date )-250(Routines)]TJ -/T1_1 1 Tf -12.553 0 Td -(193)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(functions, )-759(each )-759(conversion )-759(speci\336ed )-759(generates )-759(a )-759(dif)20(fer)18(ent )-759(\336xed-size )-759(output)]TJ --0 -1.2 Td -[(string )167(\321 )167(ther)]TJ -0.2682 Tc 5.505 0 Td -(ea)Tj --0.018 Tc 1.247 0 Td -[(re )-54(n)]TJ -0.2682 Tc 1.706 0 Td -(o\336)Tj -0 Tc 1.419 0 Td -[(eld )-18(widths )-18(in )-18(the)]TJ -/T1_2 1 Tf -7.782 0 Td -(format)Tj -/T1_0 1 Tf -2.934 0 Td -[(string. )-268(Figur)]TJ -0.2681 Tc 5.725 0 Td -(e6)Tj -0 Tc 1.247 0 Td -[(.10 )-18(describes )-18(the )-18(37 )-18(ISO )-18(C)]TJ --27.565 -1.2 Td -(conversion speci\336ers.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1450.25 6310.25 cm -0 0 m -3592 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 148.9601 622.9252 Tm -(Format )Tj -13.779 0 Td -(Description)Tj -20.986 0 Td -(Example)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1450.25 6190.25 cm -0 0 m -3592 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1450.25 6170.25 cm -0 0 m -3592 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 156.9737 608.8904 Tm -(%a)Tj -/T1_0 1 Tf -3.703 0 Td -[(abbr)18(eviated weekday name)]TJ -/TT0 1 Tf -24.799 0 Td -(Thu)Tj --28.503 -1.25 Td -(%A)Tj -/T1_0 1 Tf -3.703 0 Td -(full weekday name)Tj -/TT0 1 Tf -24.799 0 Td -(Thursday)Tj --28.503 -1.25 Td -(%b)Tj -/T1_0 1 Tf -3.703 0 Td -[(abbr)18(eviated month name)]TJ -/TT0 1 Tf -24.799 0 Td -(Jan)Tj --28.503 -1.25 Td -(%B)Tj -/T1_0 1 Tf -3.703 0 Td -(full month name)Tj -/TT0 1 Tf -24.799 0 Td -(January)Tj --28.503 -1.25 Td -(%c)Tj -/T1_0 1 Tf -3.703 0 Td -(date and time)Tj -/TT0 1 Tf -24.799 0 Td -(Thu Jan 19 21:24:52 2012)Tj --28.503 -1.25 Td -(%C)Tj -/T1_0 1 Tf -3.703 0 Td -(year/100: [00)Tj -5.952 0.09 Td -(\320)Tj -0.583 -0.09 Td -(99])Tj -/TT0 1 Tf -18.264 0 Td -(20)Tj --28.503 -1.25 Td -(%d)Tj -/T1_0 1 Tf -3.703 0 Td -(day of the month: [01)Tj -9.518 0.09 Td -(\320)Tj -0.583 -0.09 Td -(31])Tj -/TT0 1 Tf -14.698 0 Td -(19)Tj --28.503 -1.25 Td -(%D)Tj -/T1_0 1 Tf -3.703 0 Td -(date)Tj -2.166 0.04 Td -([)Tj -0.333 -0.04 Td -(MM/DD/YY)Tj -5.986 0.04 Td -(])Tj -/TT0 1 Tf -16.314 -0.04 Td -(01/19/12)Tj --28.503 -1.25 Td -(%e)Tj -/T1_0 1 Tf -3.703 0 Td -[(day of month \(single digit pr)18(eceded by space\) [1)]TJ -21.383 0.09 Td -(\320)Tj -0.583 -0.09 Td -(31])Tj -/TT0 1 Tf -2.833 0 Td -(19)Tj --28.503 -1.25 Td -(%F)Tj -/T1_0 1 Tf -3.703 0 Td -(ISO 8601 date format [YYYY\320MM\320DD])Tj -/TT0 1 Tf -24.799 0 Td -(2012)Tj -2.4 0.09 Td -(-)Tj -0.6 -0.09 Td -(01)Tj -1.2 0.09 Td -(-)Tj -0.6 -0.09 Td -(19)Tj --33.303 -1.25 Td -(%g)Tj -/T1_0 1 Tf -3.703 0 Td -(last two digits of ISO 8601 week-based year [00)Tj -20.867 0.09 Td -(\320)Tj -0.583 -0.09 Td -(99])Tj -/TT0 1 Tf -3.349 0 Td -(12)Tj --28.503 -1.25 Td -(%G)Tj -/T1_0 1 Tf -3.703 0 Td -(ISO 8601 week-based year)Tj -/TT0 1 Tf -24.799 0 Td -(2012)Tj --28.503 -1.25 Td -(%h)Tj -/T1_0 1 Tf -3.703 0 Td -(same as)Tj -/TT0 1 Tf -3.71 0 Td -(%b )Tj -21.089 0 Td -(Jan)Tj --28.502 -1.25 Td -(%H)Tj -/T1_0 1 Tf -3.703 0 Td -(hour of the day \(24-hour format\): [00)Tj -16.333 0.09 Td -(\320)Tj -0.583 -0.09 Td -(23])Tj -/TT0 1 Tf -7.883 0 Td -(21)Tj --28.503 -1.25 Td -(%I)Tj -/T1_0 1 Tf -3.703 0 Td -(hour of the day \(12-hour format\): [01)Tj -16.333 0.09 Td -(\320)Tj -0.583 -0.09 Td -(12])Tj -/TT0 1 Tf -7.883 0 Td -(09)Tj --28.503 -1.25 Td -(%j)Tj -/T1_0 1 Tf -3.703 0 Td -(day of the year: [001)Tj -9.029 0.09 Td -(\320)Tj -0.583 -0.09 Td -(366])Tj -/TT0 1 Tf -15.187 0 Td -(019)Tj --28.503 -1.25 Td -(%m)Tj -/T1_0 1 Tf -3.703 0 Td -(month: [01)Tj -4.835 0.09 Td -(\320)Tj -0.583 -0.09 Td -(12])Tj -/TT0 1 Tf -19.381 0 Td -(01)Tj --28.503 -1.25 Td -(%M)Tj -/T1_0 1 Tf -3.703 0 Td -(minute: [00)Tj -5.08 0.09 Td -(\320)Tj -0.583 -0.09 Td -(59])Tj -/TT0 1 Tf -19.136 0 Td -(24)Tj --28.503 -1.25 Td -(%n)Tj -/T1_0 1 Tf -3.703 0 Td -(newline character)Tj -/TT0 1 Tf --3.703 -1.25 Td -(%p)Tj -/T1_0 1 Tf -3.703 0 Td -(AM/PM)Tj -/TT0 1 Tf -24.799 0 Td -(PM)Tj --28.503 -1.25 Td -(%r)Tj -/T1_0 1 Tf -3.703 0 Td -(locale\325s time \(12-hour format\))Tj -/TT0 1 Tf -24.799 0 Td -(09:24:52 PM)Tj --28.503 -1.25 Td -(%R)Tj -/T1_0 1 Tf -3.703 0 Td -(same as)Tj -/TT0 1 Tf -3.71 0 Td -(%H:%M )Tj -21.089 0 Td -(21:24)Tj --28.502 -1.25 Td -(%S)Tj -/T1_0 1 Tf -3.703 0 Td -(second: [00)Tj -5.002 0.09 Td -(\320)Tj -0.583 -0.09 Td -(60])Tj -/TT0 1 Tf -19.214 0 Td -(52)Tj --28.503 -1.25 Td -(%t)Tj -/T1_0 1 Tf -3.703 0 Td -(horizontal tab character)Tj -/TT0 1 Tf --3.703 -1.25 Td -(%T)Tj -/T1_0 1 Tf -3.703 0 Td -(same as)Tj -/TT0 1 Tf -3.71 0 Td -(%H:%M:%S )Tj -21.089 0 Td -(21:24:52)Tj --28.502 -1.25 Td -(%u)Tj -/T1_0 1 Tf -3.703 0 Td -(ISO 8601 weekday [Monday = 1, 1)Tj -15.176 0.09 Td -(\320)Tj -0.583 -0.09 Td -(7])Tj -/TT0 1 Tf -9.04 0 Td -(4)Tj --28.503 -1.25 Td -(%U)Tj -/T1_0 1 Tf -3.703 0 Td -(Sunday week number: [00)Tj -11.636 0.09 Td -(\320)Tj -0.583 -0.09 Td -(53])Tj -/TT0 1 Tf -12.58 0 Td -(03)Tj --28.503 -1.25 Td -(%V)Tj -/T1_0 1 Tf -3.703 0 Td -(ISO 8601 week number: [01)Tj -12.157 0.09 Td -(\320)Tj -0.583 -0.09 Td -(53])Tj -/TT0 1 Tf -12.059 0 Td -(03)Tj --28.503 -1.25 Td -(%w)Tj -/T1_0 1 Tf -3.703 0 Td -(weekday: [0 = Sunday)Tj -0.25 Tc 9.72 0 Td -(,0)Tj -0 Tc 1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(6])Tj -/TT0 1 Tf -13.413 0 Td -(4)Tj --28.503 -1.25 Td -(%W)Tj -/T1_0 1 Tf -3.703 0 Td -(Monday week number: [00)Tj -12 0.09 Td -(\320)Tj -0.583 -0.09 Td -(53])Tj -/TT0 1 Tf -12.216 0 Td -(03)Tj --28.503 -1.25 Td -(%x)Tj -/T1_0 1 Tf -3.703 0 Td -(locale\325s date)Tj -/TT0 1 Tf -24.799 0 Td -(01/19/12)Tj --28.503 -1.25 Td -(%X)Tj -/T1_0 1 Tf -3.703 0 Td -(locale\325s time)Tj -/TT0 1 Tf -24.799 0 Td -(21:24:52)Tj --28.503 -1.25 Td -(%y)Tj -/T1_0 1 Tf -3.703 0 Td -(last two digits of year: [00)Tj -11.471 0.09 Td -(\320)Tj -0.583 -0.09 Td -(99])Tj -/TT0 1 Tf -12.745 0 Td -(12)Tj --28.503 -1.25 Td -(%Y)Tj -/T1_0 1 Tf -3.703 0 Td -(year)Tj -/TT0 1 Tf -24.799 0 Td -(2012)Tj --28.503 -1.25 Td -(%z)Tj -/T1_0 1 Tf -3.703 0 Td -[(of)18(fset fr)18(om UTC in ISO 8601 format)]TJ -/TT0 1 Tf -24.799 0 Td -(-0500)Tj --28.503 -1.25 Td -(%Z)Tj -/T1_0 1 Tf -3.703 0 Td -(time zone name)Tj -/TT0 1 Tf -24.799 0 Td -(EST)Tj --28.503 -1.25 Td -(%%)Tj -/T1_0 1 Tf -3.703 0 Td -[(translates to a per)18(cent sign)]TJ -/TT0 1 Tf -24.799 0 Td -(%)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1450.25 2450.25 cm -0 0 m -3592 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3790.25 2450.25 cm -0 0 m -0 3860 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1806.25 2450.25 cm -0 0 m -0 3860 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5042.25 2450.25 cm -0 0 m -0 3860 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1450.25 2450.25 cm -0 0 m -0 3860 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 237.423 226.9455 Tm -(Figure 6.10)Tj -/T1_0 1 Tf -5.695 0 Td -(Conversion speci\336ers for)Tj -/TT0 1 Tf -11.285 0 Td -(strftime)Tj -/T1_0 1 Tf -9.9976 0 0 9.9976 129.5692 202.9513 Tm -[(The )-214(thir)]TJ -0.4636 Tc 3.714 0 Td -(dc)Tj -0 Tc 1.519 0 Td -[(olumn )-214(of )-214(this )-214(\336gur)19(e)-464(is)-464(f)]TJ --0.018 Tc 11.393 0 Td -(ro)Tj -0.4637 Tc 0.923 0 Td -(mt)Tj -0 Tc 1.673 0 Td -[(he )-214(output )-214(of)]TJ -/TT0 1 Tf -6.336 0 Td -(strftime)Tj -/T1_0 1 Tf -5.264 0 Td -[(under )-214(Mac )-214(OS )-214(X,)]TJ --30.821 -1.2 Td -[(corr)18(esponding to the time and date)]TJ -/TT0 1 Tf -15.781 0 Td -(Thu Jan 19 21:24:52 EST 2012)Tj -/T1_0 1 Tf -(.)Tj --13.981 -1.2 Td -[(The )-138(only )-138(speci\336ers )-138(that )-138(ar)]TJ -0.3879 Tc 11.954 0 Td -(en)Tj -0 Tc 1.449 0 Td -[(ot )-138(self-evident )-138(ar)18(e)]TJ -/TT0 1 Tf -8.585 0 Td -(%U)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf -1.838 0 Td -(%V)Tj -/T1_0 1 Tf -0.3879 Tc (,a)Tj -0 Tc 2.338 0 Td -(nd)Tj -/TT0 1 Tf -1.581 0 Td -(%W)Tj -/T1_0 1 Tf -0.6379 Tc (.T)Tj -0 Tc 2.701 0 Td -(he)Tj -/TT0 1 Tf -1.449 0 Td -(%U)Tj -/T1_0 1 Tf -1.588 0 Td -(speci\336er)Tj --0.018 Tc -35.282 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(pr)18(esents )-67(the )-67(week )-67(number )-67(of )-67(the )-67(year)]TJ -0.3168 Tc 16.945 0 Td -(,w)Tj -0 Tc 1.401 0 Td -(her)Tj -0.3168 Tc 1.438 0 Td -(et)Tj -0 Tc 1.122 0 Td -[(he )-67(week )-67(containing )-67(the )-67(\336rst )-67(Sunday )-67(is)]TJ --21.761 -1.2 Td -[(week )-209(1.)-709(The)]TJ -/TT0 1 Tf -6.399 0 Td -(%W)Tj -/T1_0 1 Tf -1.659 0 Td -[(speci\336er )-209(r)18(epr)18(esents )-209(the )-209(week )-209(number )-209(of )-209(the )-209(year)]TJ -0.4588 Tc 22.83 0 Td -(,w)Tj -0 Tc 1.543 0 Td -(her)Tj -0.4588 Tc 1.438 0 Td -(et)Tj -0 Tc 1.264 0 Td -[(he )-209(week)]TJ --35.133 -1.2 Td -[(containing )-275(the )-275(\336rst )-275(Monday )-275(is )-275(week )-275(1.)-777(The)]TJ -/TT0 1 Tf -21.517 0 Td -(%V)Tj -/T1_0 1 Tf -1.725 0 Td -[(speci\336er )-275(is )-275(dif)17(fer)18(ent. )-525(If)-526(the )-275(week)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47663 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(1.8)]TJ -35.837 0 Td -[(User )-250(Identi\336cation)]TJ -/T1_1 1 Tf -10.496 0 Td -(17)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(Client )-133(versions )-133(of )-133(Mac )-133(OS )-133(X )-133(ship )-133(with )-133(the )-133(super)8(user )-133(account )-133(disabled; )-133(server )-133(versions )-133(ship)]TJ -0 -1.25 TD -[(with )-130(the )-130(account )-130(alr)18(eady )-130(enabled.)-631(Instr)8(uctions )-130(ar)]TJ -0.3801 Tc 22.604 0 Td -(ea)Tj -0 Tc 1.359 0 Td -[(vailable )-130(on )-130(Apple\325s )-130(W)92(eb )-130(site )-130(describing)]TJ --23.963 -1.25 Td -[(how to enable it.)-500(See)]TJ -/TT0 1 Tf -9.568 0 Td -(http://support.apple.com/kb/HT1528)Tj -/T1_0 1 Tf -(.)Tj -/TT1 1 Tf -9.9994 0 0 9.9994 93.5947 628.1623 Tm -[(Gr)20(oup ID)]TJ -/T1_0 1 Tf -3.6 -2.04 Td -[(Our )-4(entry )-4(in )-4(the )-4(passwor)]TJ -0.2536 Tc 11.102 0 Td -(d\336)Tj -0 Tc 1.47 0 Td -[(le )-4(also )-4(speci\336es )-4(our )-4(numeric)]TJ -/T1_2 1 Tf -12.768 0 Td -[(gr)18(oup )-4(ID)]TJ -/T1_0 1 Tf -0.5037 Tc (.T)Tj -0 Tc 5.102 0 Td -[(his, )-4(too, )-4(is )-4(assigned)]TJ --30.442 -1.2 Td -[(by )-53(the )-53(system )-53(administrator )-53(when )-53(our )-53(login )-53(name )-53(is )-53(assigned.)]TJ --0.09 Tc 28.499 0 Td -(Ty)Tj -0 Tc 1.079 0 Td -(pically)Tj -0.3027 Tc 2.863 0 Td -(,t)Tj -0 Tc 0.879 0 Td -[(he )-53(passwor)18(d)]TJ --33.32 -1.2 Td -[(\336le )-21(contains )-21(multiple )-21(entries )-21(that )-21(specify )-21(the )-21(same )-21(gr)15(oup )-21(ID.)-522(Gr)18(oups )-21(ar)]TJ -0.2715 Tc 31.817 0 Td -(en)Tj -0 Tc 1.332 0 Td -[(ormally )-21(used)]TJ --33.149 -1.2 Td -[(to )-306(collect )-306(users )-306(together )-306(into )-306(pr)18(ojects )-306(or )-306(departments.)-806(This )-306(allows )-306(the )-306(sharing )-306(of)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ces, )-16(such )-16(as )-16(\336les, )-16(among )-16(members )-16(of )-16(the )-16(same )-16(gr)16(oup. )-266(W)92(e\325ll )-16(see )-16(in )-16(Section )-16(4.5 )-16(that)]TJ --0.856 -1.2 Td -[(we )-84(can )-84(set )-84(the )-84(permissions )-84(on )-84(a )-84(\336le )-84(so )-84(that )-84(all )-84(members )-84(of )-84(a )-84(gr)18(oup )-84(can )-84(access )-84(the )-84(\336le,)]TJ -T* -[(wher)18(eas others outside the gr)18(oup cannot.)]TJ -1.8 -1.2 Td -[(Ther)18(e)-438(is)-438(a)1(lso )-188(a )-188(gr)18(oup )-188(\336le )-188(that )-188(maps )-188(gr)18(oup )-188(names )-188(into )-188(numeric )-188(gr)18(oup )-188(IDs.)-686(The)]TJ --1.8 -1.2 Td -[(gr)18(oup \336le is usually)]TJ -/TT0 1 Tf -9.041 0 Td -(/etc/group)Tj -/T1_0 1 Tf -(.)Tj --7.241 -1.2 Td -[(The )-117(use )-117(of )-117(numeric )-117(user )-117(IDs )-117(and )-117(numeric )-117(gr)18(oup )-117(IDs )-117(for )-117(permissions )-117(is )-117(historical.)]TJ --0.055 Tc -1.8 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-120(every )-120(\336le )-120(on )-120(disk, )-120(the )-120(\336le )-120(system )-120(stor)18(es )-120(both )-120(the )-120(user )-120(ID )-120(and )-120(the )-120(gr)18(oup )-120(ID )-120(of )-120(a)]TJ --1.236 -1.2 Td -[(\336le\325s )-11(owner)]TJ -0.5111 Tc 5.1 0 Td -(.S)Tj -0 Tc 1.286 0 Td -[(toring )-11(both )-11(of )-11(these )-11(values )-11(r)18(equir)18(es )-11(only )-11(four )-11(bytes, )-11(assuming )-11(that )-11(each )-11(is)]TJ --6.386 -1.2 Td -[(stor)18(ed )-100(as )-100(a )-100(two-byte )-100(integer)]TJ -0.5999 Tc 12.574 0 Td -(.I)Tj -0.3499 Tc 1.187 0 Td -(ft)Tj -0 Tc 1.009 0 Td -[(he )-100(full )-100(ASCII )-100(login )-100(name )-100(and )-100(gr)19(oup )-100(name )-100(wer)]TJ -0.35 Tc 21.284 0 Td -(eu)Tj -0 Tc 1.432 0 Td -(sed)Tj --37.486 -1.2 Td -[(instead, )-324(additional )-324(disk )-324(space )-324(would )-324(be )-324(r)17(equir)18(ed. )-574(In)-574(addition, )-324(comparing )-324(strings)]TJ --0 -1.2 Td -(during permission checks is mor)Tj -0.25 Tc 14.404 0 Td -(ee)Tj -0 Tc 1.208 0 Td -(xpensive than comparing integers.)Tj --13.812 -1.2 Td -[(Users, )-113(however)]TJ -0.3635 Tc 6.919 0 Td -(,w)Tj -0 Tc 1.447 0 Td -[(ork )-114(better )-114(with )-114(names )-114(than )-114(with )-114(numbers, )-114(so )-114(the )-114(passwor)]TJ -0.3636 Tc 26.483 0 Td -(d\336)Tj -0 Tc 1.58 0 Td -(le)Tj --38.23 -1.2 Td -[(maintains )-53(the )-53(mapping )-53(between )-53(login )-53(names )-53(and )-53(user )-53(IDs, )-53(and )-53(the )-53(gr)18(oup )-53(\336le )-53(pr)14(ovides)]TJ -T* -[(the )-44(mapping )-44(between )-44(gr)18(oup )-44(names )-44(and )-44(gr)18(oup )-44(IDs.)-542(The)]TJ -/TT0 1 Tf -25.413 0 Td -[(ls )267(-l)]TJ -/T1_0 1 Tf -3.027 0 Td -[(command, )-44(for )-44(example,)]TJ --28.44 -1.2 Td -[(prints )-28(the )-28(login )-28(name )-28(of )-28(the )-28(owner )-28(of )-28(a )-28(\336le, )-28(using )-28(the )-28(passwor)]TJ -0.2778 Tc 27.705 0 Td -(d\336)Tj -0 Tc 1.494 0 Td -[(le )-28(to )-28(map )-28(the )-28(numeric)]TJ --29.198 -1.2 Td -[(user ID into the corr)18(esponding login name.)]TJ -7.9995 0 0 7.9995 183.589 362.1783 Tm -[(Early )-212(UNIX )-212(systems )-212(used )-212(16)]TJ -13.445 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit )-212(integers )-212(to )-212(r)19(epr)18(esent )-212(user )-212(and )-212(gr)18(oup )-212(IDs.)-711(Contemporary)]TJ --13.778 -1.25 Td -(UNIX systems use 32)Tj -9.385 0.09 Td -(-)Tj -0.333 -0.09 Td -(bit integers.)Tj -/TT1 1 Tf -9.9994 0 0 9.9994 93.5947 328.1803 Tm -(Example)Tj -/T1_0 1 Tf -3.6 -2.04 Td -[(The pr)18(ogram in Figur)]TJ -0.25 Tc 9.538 0 Td -(e1)Tj -0 Tc 1.229 0 Td -[(.9 prints the user ID and the gr)18(oup ID.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3018.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 292.2639 Tm -(#include "apue.h")Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("uid = %d, gid = %d\\n", getuid\(\), getgid\(\)\);)Tj -T* -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2179.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 255.9859 203.1114 Tm -(Figure 1.9)Tj -/T1_0 1 Tf -5.195 0 Td -[(Print user ID and gr)18(oup ID)]TJ --0.092 Tc 9.9982 0 0 9.9982 129.5769 181.5153 Tm -[(We )-369(c)]TJ -0 Tc 2.266 0 Td -[(all )-185(the )-185(functions)]TJ -/TT0 1 Tf -7.904 0 Td -(getuid)Tj -/T1_0 1 Tf -4.035 0 Td -(and)Tj -/TT0 1 Tf -2.128 0 Td -(getgid)Tj -/T1_0 1 Tf -4.035 0 Td -[(to )-185(r)18(eturn )-185(the )-185(user )-185(ID )-185(and )-185(the )-185(gr)18(oup )-185(ID.)]TJ --20.366 -1.2 Td -[(Running the pr)18(ogram yields)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.5738 155.2201 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(uid = 205, gid = 105)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1340.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47664 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.8)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(779)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(720 )-1200(/*)]TJ -0 -1.189 TD -[(721 )-1800(*)-600(Rewind the index file for db_nextrec.)]TJ -T* -[(722 )-1800(*)-600(Automatically called by db_open.)]TJ -T* -[(723 )-1800(*)-600(Must be called before first db_nextrec.)]TJ -T* -[(724 )-1800(*/)]TJ -0 -1.189 TD -[(725 )-1200(void)]TJ -0 -1.189 TD -[(726 )-1200(db_rewind\(DBHANDLE)-600(h\))]TJ -T* -[(727 )-1200({)]TJ -T* -[(728 )-2400(DB)-3600(*db = h;)]TJ -T* -[(729 )-2400(off_t)-1800(offset;)]TJ -0 -2.021 TD -[(730 )-2400(offset)]TJ -0.6 Tc 9 0 Td -(=\()Tj -0 Tc 1.8 0 Td -[(db->nhash + 1\) * PTR_SZ;)-1200(/* +1 for free list ptr */)]TJ --10.8 -2.021 Td -[(731 )-2400(/*)]TJ -0 -1.189 TD -[(732 )-3000(*)-600(We\325re just setting the file offset for this process)]TJ -T* -[(733 )-3000(*)-600(to the start of the index records; no need to lock.)]TJ -T* -[(734 )-3000(*)-600(+1 below for newline at end of hash table.)]TJ -T* -[(735 )-3000(*/)]TJ -T* -[(736 )-2400(if)-600(\(\(db->idxoff = lseek\(db->idxfd, offset+1, SEEK_SET\)\) == -1\))]TJ -T* -[(737 )-4800(err_dump\("db_rewind:)-600(lseek error"\);)]TJ -0 -1.189 TD -[(738 )-1200(})]TJ -0 -2.021 TD -[(739 )-1200(/*)]TJ -0 -1.189 TD -[(740 )-1800(*)-600(Return the next sequential record.)]TJ -T* -[(741 )-1800(*)-600(We just step our way through the index file, ignoring deleted)]TJ -0 -1.189 TD -[(742 )-1800(*)-600(records. )-600(db_rewind)-600(must be called before this function is)]TJ -0 -1.189 TD -[(743 )-1800(*)-600(called the first time.)]TJ -T* -[(744 )-1800(*/)]TJ -T* -[(745 )-1200(char)-600(*)]TJ -T* -[(746 )-1200(db_nextrec\(DBHANDLE)-600(h, char *key\))]TJ -T* -[(747 )-1200({)]TJ -T* -[(748 )-2400(DB)-3600(*db = h;)]TJ -T* -[(749 )-2400(char)-2400(c;)]TJ -T* -[(750 )-2400(char)-2400(*ptr;)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3112.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 287.1935 Tm -[([720 )167(\320 )167(738])-668(The)]TJ -/TT0 1 Tf -7.05 0 Td -(db_rewind)Tj -/T1_0 1 Tf -5.776 0 Td -[(function )-126(is )-126(used )-126(to )-126(r)20(eset )-125(the )-125(database )-125(to )-125(\324)37(\324the )-125(beginning;\325)35(\325)]TJ --7.825 -1.2 Td -[(we )-42(set )-42(the )-42(\336le )-42(of)18(fset )-42(for )-42(the )-42(index )-42(\336le )-42(to )-42(point )-42(to )-42(the )-42(\336rst )-42(r)24(ecor)18(d)-292(in)-292(t)1(he )-42(index)]TJ -0 -1.2 Td -[(\336le )-11(\(immediately )-11(following )-11(the )-11(hash )-11(table\).)-510(\(Recall )-11(the )-11(str)9(uctur)18(e)-261(of)-261(t)1(he )-11(index)]TJ -0 -1.2 Td -[(\336le fr)18(om Figur)]TJ -0.25 Tc 6.397 0 Td -(e2)Tj -0 Tc 1.229 0 Td -(0.2.\))Tj --12.626 -1.6 Td -[([739 )167(\320 )167(750])-668(The)]TJ -/TT0 1 Tf -7.172 0 Td -(db_nextrec)Tj -/T1_0 1 Tf -6.498 0 Td -[(function )-248(r)18(eturns )-248(the )-248(next )-248(r)17(ecor)18(d)-498(in)-498(the )-248(database.)-748(The)]TJ --0.018 Tc -8.67 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turn )-65(value )-65(is )-65(a )-65(pointer )-65(to )-65(the )-65(data )-65(buf)21(fer)]TJ -0.5646 Tc 18.096 0 Td -(.I)Tj -0.3146 Tc 1.152 0 Td -(ft)Tj -0 Tc 0.974 0 Td -[(he )-64(caller )-64(pr)18(ovides )-64(a )-64(non-null)]TJ --21.077 -1.2 Td -[(value )-8(for )-8(the)]TJ -/TT0 1 Tf -5.873 0 Td -(key)Tj -/T1_0 1 Tf -2.058 0 Td -(parameter)Tj -0.2581 Tc 4.484 0 Td -(,t)Tj -0 Tc 0.834 0 Td -[(he )-8(corr)18(esponding )-8(key )-8(is )-8(copied )-8(to )-8(this )-8(addr)17(ess.)]TJ --13.249 -1.2 Td -[(The )-96(caller )-96(is )-96(r)18(esponsible )-96(for )-96(allocating )-96(a )-96(buf)19(fer )-96(big )-96(enough )-96(to )-96(stor)]TJ -0.3458 Tc 29.712 0 Td -(et)Tj -0 Tc 1.151 0 Td -[(he )-96(key)111(.)]TJ -0.25 Tc -30.863 -1.2 Td -(Ab)Tj -0 Tc 1.581 0 Td -[(uf)18(fer whose size is)]TJ -/TT0 1 Tf -8.399 0 Td -(IDXLEN_MAX)Tj -/T1_0 1 Tf -6.25 0 Td -[(bytes is lar)18(ge enough to hold any key)111(.)]TJ --16.23 -1.8 Td -[(Recor)18(ds )-30(ar)]TJ -0.2804 Tc 4.706 0 Td -(er)Tj -0 Tc 1.136 0 Td -[(eturned )-30(sequentially)111(,)-280(in)-280(t)-1(he )-30(or)18(der )-30(that )-30(they )-30(happen )-30(to )-30(be )-30(stor)15(ed)]TJ --5.843 -1.2 Td -[(in )-161(the )-161(database )-161(\336le.)-661(Thus, )-161(the )-161(r)20(ecor)18(ds )-160(ar)]TJ -0.4105 Tc 18.896 0 Td -(en)Tj -0 Tc 1.471 0 Td -[(ot )-160(sorted )-160(by )-160(key )-160(value.)-662(Also,)]TJ --20.368 -1.2 Td -[(because )-81(we )-81(do )-81(not )-81(follow )-81(the )-81(hash )-81(chains, )-81(we )-81(can )-81(come )-81(acr)18(oss )-81(r)14(ecor)18(ds )-81(that)]TJ -0 -1.2 Td -[(have been deleted, but we will not r)18(eturn these to the caller)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47665 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(420)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -0 Tc 8.9995 0 0 8.9995 237.5857 670.2598 Tm -(int \(*\)\(const void *, const void *\)\);)Tj --12 -1.189 Td -(#endif)Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(ompare two long integers \(helper function for heapsort\))Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(int)Tj -0 -1.189 TD -(complong\(const void *arg1, const void *arg2\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(long l1 = *\(long *\)arg1;)Tj -0 -1.189 TD -(long l2 = *\(long *\)arg2;)Tj -0 -1.902 TD -(if \(l1 == l2\))Tj -2.4 -1.189 Td -(return 0;)Tj --2.4 -1.189 Td -(else if \(l1 < l2\))Tj -2.4 -1.189 Td -(return -1;)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(return 1;)Tj --4.8 -1.189 Td -(})Tj -T* -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*W)Tj -0 Tc 1.8 0 Td -(orker thread to sort a portion of the set of numbers.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void *)Tj -0 -1.189 TD -(thr_fn\(void *arg\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(long )-1800(idx)]TJ -0.6 Tc 7.2 0 Td -(=\()Tj -0 Tc 1.8 0 Td -(long\)arg;)Tj --9 -1.902 Td -(heapsort\(&nums[idx], TNUM, sizeof\(long\), complong\);)Tj -T* -(pthread_barrier_wait\(&b\);)Tj -0 -1.902 TD -(/*)Tj -0.6 -1.189 Td -[(*)-600(Go)-600(off and perform more work ...)]TJ -0 -1.189 TD -(*/)Tj --0.6 -1.189 Td -(return\(\(void *\)0\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*M)Tj -0 Tc 1.8 0 Td -(erge the results of the individual sorted ranges.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(void)Tj -0 -1.189 TD -(merge\(\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(long )-1800(idx[NTHR];)]TJ -T* -[(long )-1800(i,)-600(minidx, sidx, num;)]TJ -0 -1.902 TD -(for \(i = 0; i < NTHR; i++\))Tj -2.4 -1.189 Td -(idx[i] = i * TNUM;)Tj --2.4 -1.189 Td -(for \(sidx = 0; sidx < NUMNUM; sidx++\) {)Tj -2.4 -1.189 Td -(num = LONG_MAX;)Tj -0 -1.189 TD -(for \(i = 0; i < NTHR; i++\) {)Tj -2.4 -1.189 Td -(if \(\(idx[i] < \(i+1\)*TNUM\) && \(nums[idx[i]] < num\)\) {)Tj -2.4 -1.189 Td -(num = nums[idx[i]];)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47666 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(970)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(l64a)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(LANG)Tj -/T1_1 1 Tf -2.817 0 Td -[(envir)18(onment variable,)-500(41, 21)55(1)]TJ -/TT0 1 Tf --2.817 -1.25 Td -()Tj -/T1_1 1 Tf -7.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --11.839 -1.25 Td -(last)Tj -/T1_1 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(187)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(launchctl)Tj -/T1_1 1 Tf -5.817 0 Td -[(pr)18(ogram, )-250(293)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(launchd)Tj -/T1_1 1 Tf -4.617 0 Td -[(pr)18(ogram, )-250(228,)-250(259, 289, 292, 465)]TJ --4.617 -1.25 Td -[(layers, shell,)-500(299)]TJ -/TT0 1 Tf -0 -1.25 TD -(LC_ALL)Tj -/T1_1 1 Tf -4.017 0 Td -[(envir)18(onment variable,)-500(21)55(1)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(LC_COLLATE)Tj -/T1_1 1 Tf -6.417 0 Td -[(envir)18(onment variable,)-500(43, 21)55(1)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(LC_CTYPE)Tj -/T1_1 1 Tf -5.217 0 Td -[(envir)18(onment variable,)-500(21)55(1)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(lchown)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(109)]TJ -6.04 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(0, 121, 125)Tj --10.235 -1.25 Td -[(de\336nition of,)-500(109)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(LC_MESSAGES)Tj -/T1_1 1 Tf -7.017 0 Td -[(envir)18(onment variable,)-500(21)55(1)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(LC_MONETARY)Tj -/T1_1 1 Tf -7.017 0 Td -[(envir)18(onment variable,)-500(21)55(1)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(LC_NUMERIC)Tj -/T1_1 1 Tf -6.417 0 Td -[(envir)18(onment variable,)-500(21)55(1)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(L_ctermid)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(694)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(LC_TIME)Tj -/T1_1 1 Tf -4.617 0 Td -[(envir)18(onment variable,)-500(21)55(1)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(ld)Tj -/T1_1 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(206)]TJ --1.617 -1.25 Td -(LDAP)Tj -3.017 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Lightweight Dir)18(ectory Access Pr)18(otocol)]TJ -17.045 0.04 Td -(\))Tj -0.333 -0.04 Td -(,)Tj --18.028 -1.25 Td -(185)Tj -/TT0 1 Tf --2.7 -1.25 Td -(LD_LIBRARY_PATH)Tj -/T1_1 1 Tf -9.417 0 Td -[(envir)18(onment variable,)-500(753)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(ldterm)Tj -/T1_1 1 Tf -4.017 0 Td -[(STREAMS module,)-500(716, 726)]TJ --4.017 -1.25 Td -(leakage, memory)Tj -0.5 Tc 7.492 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(09)Tj --8.742 -1.25 Td -[(least privilege,)-500(256, 795, 816)]TJ -T* -[(Lee, M.,)-500(206, 949)]TJ -T* -(Lee, T)Tj -0.25 Tc 2.608 0 Td -(.P)Tj -0 Tc 0.975 0 Td -[(., )-250(948)]TJ --3.583 -1.25 Td -[(Lef)18(\337er)74(,)-250(S.)-250(J., )-250(34,)-250(951)]TJ -T* -[(Lennert, D.,)-500(951)]TJ -T* -[(Lesk, M. E.,)-500(143)]TJ -/TT0 1 Tf -T* -(lgamma)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(lgammaf)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(lgammal)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(442)]TJ --4.617 -1.25 Td -[(Libes, D.,)-500(720, 924, 951)]TJ -/TT0 1 Tf -T* -()Tj -/T1_1 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(0)Tj --10.639 -1.25 Td -[(libraries, shar)18(ed, )-250(206)]TJ -9.425 0.09 Td -(\320)Tj -0.583 -0.09 Td -(207, 226, 753, 920, 947)Tj --10.009 -1.25 Td -[(Lightweight Dir)18(ectory Access Pr)18(otocol,)]TJ -/T1_2 1 Tf -17.795 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(LDAP)Tj -/TT0 1 Tf --19.212 -1.25 Td -(limit)Tj -/T1_1 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(53,)-250(222)]TJ --3.417 -1.25 Td -[(limits, )-250(36)]TJ -4.339 0.09 Td -(\320)Tj -0.583 -0.09 Td -(53)Tj --3.573 -1.25 Td -[(C, )-250(37)]TJ -2.542 0.09 Td -(\320)Tj -0.583 -0.09 Td -(38)Tj --3.125 -1.25 Td -[(POSIX, )-250(38)]TJ -4.752 0.09 Td -(\320)Tj -0.583 -0.09 Td -(41)Tj --0.018 Tc -5.335 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(sour)18(ce, )-250(220)]TJ -5.206 0.09 Td -(\320)Tj -0.583 -0.09 Td -(225, 233, 252, 322, 382)Tj --0.008 Tc -6.646 -1.25 Td -(ru)Tj -0 Tc 0.99 0 Td -[(ntime indeterminate,)-500(49)]TJ -10.868 0.09 Td -(\320)Tj -0.583 -0.09 Td -(53)Tj --12.442 -1.25 Td -[(XSI, )-250(41)]TJ -/TT0 1 Tf --1.35 -1.25 Td -()Tj -/T1_1 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7, 37, 39, 41, 49)Tj -6.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(50)Tj --17.805 -1.25 Td -[(Linderman, J. P)129(., )-250(xxxii)]TJ -T* -[(line contr)18(ol, terminal I/O,)-500(693)]TJ -13.564 0.09 Td -(\320)Tj -0.583 -0.09 Td -(694)Tj -/TT0 1 Tf --14.148 -1.25 Td -(LINE_MAX)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(39,)-250(43, 49)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(LINES)Tj -/T1_1 1 Tf -3.417 0 Td -[(envir)18(onment variable,)-500(21)55(1)]TJ --3.417 -1.25 Td -(link)Tj -1.35 -1.25 Td -[(count, )-250(44,)-250(59, 1)55(14)]TJ -7.779 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(7, 130)Tj --9.308 -1.25 Td -[(har)18(d, )-250(4,)]TJ --0.055 Tc 3.82 0 Td -(11)Tj -0 Tc 0.945 0 Td -[(4, 1)55(17, 120, 122)]TJ --4.765 -1.25 Td -[(symbolic, )-250(55,)-250(94)]TJ -7.321 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(95, 1)55(10)]TJ -3.028 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(111)Tj -0.25 Tc 1.39 0 Td -(,1)Tj -0 Tc 0.945 0 Td -[(14, 1)55(18, 120)]TJ -5.028 0.09 Td -(\320)Tj -0.583 -0.09 Td -(123,)Tj --18.112 -1.25 Td -(131, 137, 141, 186, 908)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(909)Tj -/TT0 1 Tf -13.134 65 Td -(link)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(79,)]TJ --0.055 Tc 5.957 0 Td -(11)Tj -0 Tc 0.945 0 Td -(5)Tj -0.583 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(9, 121)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(122, 125, 331, 452)Tj --13.647 -1.25 Td -(de\336nition of,)Tj --0.055 Tc 6.192 0 Td -(11)Tj -0 Tc 0.945 0 Td -(6)Tj -/TT0 1 Tf --8.487 -1.25 Td -(linkat)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(1)55(16)]TJ -5.985 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(9, 331, 452)Tj --10.18 -1.25 Td -(de\336nition of,)Tj --0.055 Tc 6.192 0 Td -(11)Tj -0 Tc 0.945 0 Td -(6)Tj -/TT0 1 Tf --8.487 -1.25 Td -(LINK_MAX)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(39,)-250(44, 49, 1)55(14)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(lint)Tj -/T1_1 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(200)]TJ --2.817 -1.25 Td -[(Linux, )-250(xxi\320xxii,)-250(xxv)]TJ -0.25 Tc 8.776 0 Td -(,x)Tj -0 Tc 1.016 0 Td -(xvii, 2)Tj -2.746 0.09 Td -(\320)Tj -0.583 -0.09 Td -(4, 7, 14, 21, 26)Tj -6.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(27,)Tj --17.088 -1.25 Td -(29)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(30, 35)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(38, 49, 52, 57, 60, 62, 64)Tj -10.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(65, 70, 73,)Tj --15.5 -1.25 Td -(75)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(76, 86)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(89, 102, 108)Tj -5.083 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(111)Tj -0.25 Tc 1.39 0 Td -(,1)Tj -0 Tc 1 0 Td -(21)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(122, 129,)Tj --14.556 -1.25 Td -(132, 138, 173, 178, 182, 184)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(185, 187)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(188,)Tj --16.333 -1.25 Td -[(205, 209, 21)55(1)]TJ -5.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(212, 222, 226, 229, 240, 244)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(245,)Tj --18.278 -1.25 Td -(253, 257, 259)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(260, 262, 269, 271, 274,)Tj --6.166 -1.25 Td -(276)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(277, 288)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(290, 293, 298, 303, 306,)Tj --6.333 -1.25 Td -(314)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(316, 318)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(320, 322, 329, 334)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(335, 351,)Tj --14.5 -1.25 Td -(354)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(355, 358, 371, 373, 377, 379)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(380, 385,)Tj --14.333 -1.25 Td -(388, 392, 396, 409, 426)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(427, 432)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(433, 439,)Tj --14.333 -1.25 Td -(462, 464)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(465, 473)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(474, 485, 496)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(497, 503,)Tj --14.5 -1.25 Td -(522, 530)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(531, 534, 559, 561, 567, 571)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(573,)Tj --16.333 -1.25 Td -(575)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(576, 578, 583, 594)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(596, 607, 61)55(1)]TJ -5.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(613,)Tj --16.445 -1.25 Td -(627, 634, 648)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(650, 652, 675)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(678, 684)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(691,)Tj --16.5 -1.25 Td -(693, 716, 724, 726)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(727, 740)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(741, 744, 753,)Tj --12.333 -1.25 Td -[(783, 793, 799, 91)55(1, 918, 925, 930, 932, 935)]TJ -17.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(936)Tj --20.811 -1.25 Td -[(Linux Fast-STREAMS,)-500(534)]TJ -T* -[(LinuxThr)18(eads, )-250(388)]TJ -/TT0 1 Tf -T* -(lio_listio)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(452,)-250(515)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(515)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(LIO_NOWAIT)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(515)]TJ --6.417 -1.25 Td -[(Lions, J.,)-500(951)]TJ -/TT0 1 Tf -T* -(LIO_WAIT)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(515)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(listen)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(331,)-250(605, 608)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(609, 625, 635, 638,)Tj --11.94 -1.25 Td -(800)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(608)]TJ --1.35 -1.25 Td -[(little-endian byte or)18(der)]TJ -0.5 Tc 10.13 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(93)Tj --11.38 -1.25 Td -[(Litwin, W)92(., )-250(744,)-250(750, 951)]TJ -/TT0 1 Tf -T* -(LLONG_MAX)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(37)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(LLONG_MIN)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(37)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(ln)Tj -/T1_1 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(1)55(15)]TJ --1.617 -1.25 Td -(LNEXT terminal character)Tj -0.5 Tc 11.571 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 681)Tj --12.821 -1.25 Td -[(locale, )-250(43)]TJ -/TT0 1 Tf -T* -(localeconv)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --6.417 -1.25 Td -()Tj -/T1_1 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7)Tj -/TT0 1 Tf --10.639 -1.25 Td -(localtime)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(190)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(192, 194)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(195, 264, 408,)Tj --13.907 -1.25 Td -(442, 452, 919)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(192)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(localtime_r)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(443,)-250(452)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(lockf)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(451)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(452, 485)Tj -/TT0 1 Tf --10.04 -1.25 Td -(lockf)Tj -/T1_1 1 Tf -3.417 0 Td -[(str)8(uctur)18(e, )-250(493)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(lockfile)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(473)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(474)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(494)]TJ --1.35 -1.25 Td -(locking)Tj -1.35 -1.25 Td -(database library)Tj -0.25 Tc 7.013 0 Td -(,c)Tj -0 Tc 0.944 0 Td -[(oarse-grained, )-250(752)]TJ --7.957 -1.25 Td -(database library)Tj -0.25 Tc 7.013 0 Td -(,\336)Tj -0 Tc 1.105 0 Td -[(ne-grained, )-250(752)]TJ -/TT0 1 Tf --9.468 -1.25 Td -(locking)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(485)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47667 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.9)]TJ -38.193 0 Td -(Performance)Tj -/T1_1 1 Tf -7.64 0 Td -(783)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(mandatory )-97(locking\), )-97(we )-97(ran )-97(thr)18(ee )-97(versions )-97(of )-97(the )-97(test )-97(pr)18(ogram. )-347(The)-347(\336rst )-97(version )-97(used)]TJ -0 -1.2 Td -[(the )-149(sour)18(ce )-149(code )-149(shown )-149(in )-149(Section )-149(20.8, )-149(which )-149(we\325ve )-149(called )-149(\336ne-grained )-149(locking.)-650(The)]TJ -0 -1.2 TD -[(second )-311(version )-311(changed )-311(the )-311(locking )-311(calls )-311(to )-311(implement )-311(coarse-grained )-311(locking, )-311(as)]TJ -T* -[(described )-57(in )-57(Section )-57(20.6.)-557(The )-57(thir)]TJ -0.3068 Tc 15.387 0 Td -(dv)Tj -0 Tc 1.483 0 Td -[(ersion )-57(had )-57(all )-57(locking )-57(calls )-57(r)19(emoved, )-57(so )-57(we )-57(could)]TJ --16.87 -1.2 Td -(measur)Tj -0.3886 Tc 3.266 0 Td -(et)Tj -0 Tc 1.194 0 Td -[(he )-139(over)18(head )-139(involved )-139(in )-139(locking.)]TJ --0.092 Tc 15.713 0 Td -[(We )-323(c)]TJ -0 Tc 2.22 0 Td -[(an )-139(r)8(un )-139(the )-139(\336rst )-139(and )-139(second )-139(versions)]TJ --22.392 -1.2 Td -[(\(\336ne-grained )-131(locking )-131(and )-131(coarse-grained )-131(locking\) )-131(using )-131(either )-131(advisory )-131(or )-131(mandatory)]TJ -T* -[(locking, )-47(by )-47(changing )-47(the )-47(permission )-47(bits )-47(on )-47(the )-47(database )-47(\336les.)-551(\(In )-47(all )-47(the )-47(tests )-47(r)16(eported)]TJ --0 -1.2 Td -[(in )-454(this )-454(section, )-454(we )-454(measur)18(ed )-454(the )-454(times )-454(for )-454(mandatory )-454(locking )-454(using )-454(only )-454(the)]TJ -T* -(implementation of \336ne-grained locking.\))Tj -1.8 -1.2 Td -[(All )-138(the )-138(timing )-138(tests )-138(in )-138(this )-138(section )-138(wer)]TJ -0.3882 Tc 17.65 0 Td -(ed)Tj -0 Tc 1.478 0 Td -[(one )-138(on )-138(an )-138(Intel )-138(Cor)17(e-i5 )-138(system )-138(r)7(unning)]TJ --20.929 -1.2 Td -[(Linux )-234(3.2.0.)-734(This )-234(system )-234(has )-234(four )-234(cor)17(es, )-234(which )-234(allows )-234(up )-234(to )-234(four )-234(pr)18(ocesses )-234(to )-234(r)7(un)]TJ -T* -[(concurr)18(ently)111(.)]TJ -/TT0 1 Tf --3.6 -3.48 Td -[(Single-Pr)20(ocess Results)]TJ -/T1_0 1 Tf -3.6 -2.4 Td -(Figur)Tj -0.2646 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.244 0 Td -[(0.7 )-15(shows )-15(the )-15(r)18(esults )-15(when )-15(only )-15(a )-15(single )-15(child )-15(pr)18(ocess )-15(ran, )-15(with )-15(an)]TJ -/T1_2 1 Tf -29.742 0 Td -[(nr)18(ec)]TJ -/T1_0 1 Tf -1.988 0 Td -[(of )-15(2,000,)]TJ --35.356 -1.2 Td -(6,000, and 12,000.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1415.25 4416.25 cm -0 0 m -3661 0 l -S -Q -Q -BT -/T1_0 1 Tf -6.9992 0 0 6.9992 312.5505 433.348 Tm -(Advisory locking)Tj -17.809 0 Td -(Mandatory locking)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2555.25 4296.25 cm -0 0 m -2521 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4811.25 4296.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4527.25 4296.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3961.25 4296.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3678.25 4296.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3111.25 4296.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2828.25 4296.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -6.9987 0 0 6.9987 260.839 421.3242 Tm -[(Coarse-grained locking)-2394(Fine-grained locking)-2967(Fine-grained locking)]TJ --9.427 0.857 Td -(No locking)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1705.25 4176.25 cm -0 0 m -3371 0 l -S -Q -Q -BT -/T1_0 1 Tf -6.9983 0 0 6.9983 176.3957 409.3018 Tm -[(User )-2005(Sys)-2021(Clock )-1485(User)-2255(Sys )-1771(Clock)-1735(User )-2005(Sys)-2021(Clock )-1485(User)-2255(Sys )-1771(Clock)]TJ -/T1_2 1 Tf --3.972 1.714 Td -[(nr)18(ec)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1415.25 4056.25 cm -0 0 m -3661 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1415.25 4036.25 cm -0 0 m -3661 0 l -S -Q -Q -BT -/T1_0 1 Tf -6.9979 0 0 6.9979 148.4984 395.2814 Tm -[(2,000 )-1648(0.10)-2296(0.22 )-2296(0.33)-2046(0.17 )-2296(0.33)-2296(0.51 )-1796(0.13)-2546(0.38 )-2046(0.51)-2046(0.14 )-2296(0.43)-2296(0.58)]TJ --0 -1.429 Td -[(6,000 )-1648(0.59)-2296(1.32 )-2296(1.91)-2046(0.88 )-2296(2.13)-2296(3.03 )-1796(0.90)-2546(2.14 )-2046(3.05)-2046(0.99 )-2296(2.52)-2296(3.53)]TJ --0.5 -1.429 Td -[(12,000 )-1648(4.37)-2296(9.58 )-1796(13.97 )-1796(5.38 )-1796(12.60)-1796(18.01 )-1796(5.34 )-1796(12.63)-1796(18.01 )-1796(5.53 )-1796(15.03)-1796(20.60)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1415.25 3716.25 cm -0 0 m -3661 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4811.25 3716.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4527.25 3716.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4234.25 3716.25 cm -0 0 m -0 700 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 4254.25 3716.25 cm -0 0 m -0 700 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3961.25 3716.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3678.25 3716.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3385.25 3716.25 cm -0 0 m -0 580 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3405.25 3716.25 cm -0 0 m -0 580 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 3111.25 3716.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2828.25 3716.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2535.25 3716.25 cm -0 0 m -0 700 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2555.25 3716.25 cm -0 0 m -0 700 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 2262.25 3716.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1978.25 3716.25 cm -0 0 m -0 460 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1685.25 3716.25 cm -0 0 m -0 700 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1705.25 3716.25 cm -0 0 m -0 700 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 5076.25 3716.25 cm -0 0 m -0 700 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -2.8 w 1 j 1 J -q 1 0 0 1 1415.25 3716.25 cm -0 0 m -0 700 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 205.9858 353.2728 Tm -(Figure 20.7)Tj -/T1_0 1 Tf -5.695 0 Td -(Single child, varying)Tj -/T1_2 1 Tf -9.388 0 Td -[(nr)18(ec)]TJ -/T1_0 1 Tf -0.25 Tc (,d)Tj -0 Tc 2.834 0 Td -[(if)18(fer)18(ent locking techniques)]TJ -9.9964 0 0 9.9964 129.5534 323.2836 Tm -[(The )-24(last )-24(12 )-24(columns )-24(give )-24(the )-24(corr)18(esponding )-24(times )-24(in )-24(seconds.)-524(In )-24(all )-24(cases, )-24(the )-24(user )-24(CPU)]TJ -T* -[(time )-113(plus )-113(the )-113(system )-113(CPU )-113(time )-113(appr)18(oximately )-113(equals )-113(the )-113(clock )-113(time.)-615(This )-113(set )-113(of )-113(tests)]TJ -T* -(was CPU limited and not disk limited.)Tj -1.8 -1.2 Td -[(The )-189(six )-189(columns )-189(under )-189(\324)37(\324Advisory )-189(locking\325)]TJ -0.4391 Tc 19.735 0 Td -(\325a)Tj --0.018 Tc 1.217 0 Td -[(re )-225(a)]TJ -0 Tc 1.795 0 Td -[(lmost )-189(equal )-189(for )-189(each )-189(r)18(ow)]TJ -0.689 Tc 11.603 0 Td -(.T)Tj -0 Tc 1.552 0 Td -(his)Tj --37.703 -1.2 Td -[(makes )-50(sense )-50(because )-50(for )-50(a )-50(single )-50(pr)17(ocess; )-50(ther)18(e)-300(is)-300(no)-300(d)-1(if)18(fer)18(ence )-50(between )-50(coarse-grained)]TJ -T* -(locking and \336ne-grained locking, except for the extra calls to)Tj -/TT1 1 Tf -26.932 0 Td -(fcntl)Tj -/T1_0 1 Tf -(.)Tj --25.132 -1.2 Td -[(Comparing )-94(no )-94(locking )-94(with )-94(advisory )-94(locking, )-94(we )-94(see )-94(that )-94(adding )-94(the )-94(locking )-94(calls)]TJ --1.8 -1.2 Td -[(incr)18(eases )-99(the )-99(system )-99(CPU )-99(time )-99(by )-99(32% )-99(to )-99(73%.)-600(Even )-99(though )-99(the )-99(locks )-99(ar)]TJ -0.3492 Tc 33.206 0 Td -(en)Tj -0 Tc 1.41 0 Td -[(ever )-99(used)]TJ --34.616 -1.2 Td -[(\(since )-80(only )-80(a )-80(single )-80(pr)18(ocess )-80(is )-80(r)8(unning\), )-80(the )-80(system )-80(call )-80(over)18(head )-80(in )-80(the )-80(calls )-80(to)]TJ -/TT1 1 Tf -36 0 Td -(fcntl)Tj -/T1_0 1 Tf --36 -1.2 Td -[(adds )-78(time.)-578(Also )-78(note )-78(that )-78(the )-78(user )-78(CPU )-78(time )-78(is )-78(about )-78(the )-78(same )-78(for )-78(all )-78(four )-78(versions )-78(of)]TJ -T* -[(locking. )-439(Since)-440(the )-189(user )-189(code )-189(is )-189(almost )-189(equivalent )-189(\(except )-189(for )-189(the )-189(number )-189(of )-189(calls )-189(to)]TJ -/TT1 1 Tf -T* -(fcntl)Tj -/T1_0 1 Tf -(\), this makes sense.)Tj -1.8 -1.2 Td -[(The )-184(\336nal )-184(point )-184(to )-184(note )-184(fr)18(om )-184(Figur)]TJ -0.4342 Tc 15.93 0 Td -(e2)Tj -0 Tc 1.413 0 Td -[(0.7 )-184(is )-184(that )-184(mandatory )-184(locking )-184(incr)18(eases )-184(the)]TJ --19.143 -1.2 Td -[(system )-116(CPU )-116(time )-116(by )-116(13% )-116(to )-116(19% )-116(compar)18(ed )-116(to )-116(advisory )-116(locking.)-619(Since )-116(the )-116(number )-116(of)]TJ -T* -[(locking )-73(calls )-73(is )-73(the )-73(same )-73(for )-73(advisory )-73(\336ne-grained )-73(locking )-73(and )-73(mandatory )-73(\336ne-grained)]TJ -T* -[(locking, the additional system call over)18(head must be fr)18(om the r)18(eads and writes.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47668 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(969)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 140.3916 670.9597 Tm -[(terminal, )-250(671)]TJ -6.08 0.09 Td -(\320)Tj -0.583 -0.09 Td -(713)Tj --6.664 -1.25 Td -[(unbuf)18(fer)18(ed, )-250(8,)-250(61)]TJ -7.768 0.09 Td -(\320)Tj -0.583 -0.09 Td -(91)Tj -/TT0 1 Tf --9.702 -1.25 Td -(IOBUFSZ)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(836)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(ioctl)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(61,)-250(87)]TJ -7.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(88, 90, 297)Tj -4.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(298, 322,)Tj --13.507 -1.25 Td -(328)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(329, 452, 482, 510, 562, 592, 627, 674,)Tj --2.166 -1.25 Td -(710)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(71)55(1, 718)]TJ -3.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(719, 725)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(728, 730, 740)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(742,)Tj --16.611 -1.25 Td -(939)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(940)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(87)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_IOFBF)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(147)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(_IOLBF)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(147,)-250(166, 220)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(_IO_LINE_BUF)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(165)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(_IONBF)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(147,)-250(166)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(_IO_UNBUFFERED)Tj -/T1_0 1 Tf -8.817 0 Td -[(constant, )-250(165)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(iovec)Tj -/T1_0 1 Tf -3.417 0 Td -[(str)8(uctur)18(e, )-250(41,)-250(43, 521, 61)55(1, 646)]TJ -13.247 0.09 Td -(\320)Tj -0.583 -0.09 Td -(647, 649,)Tj --14.547 -1.25 Td -(651, 655, 659, 765, 771)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(772, 832, 836)Tj -/TT0 1 Tf --12.867 -1.25 Td -(IOV_MAX)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(41,)-250(43, 49, 521)]TJ --4.617 -1.25 Td -[(IPC \(interpr)18(ocess communication\),)-500(533)]TJ -17.438 0.09 Td -(\320)Tj -0.583 -0.09 Td -(588,)Tj --15.321 -1.25 Td -(629)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(670)Tj --3.517 -1.25 Td -[(identi\336ers, )-250(556)]TJ -6.816 0.09 Td -(\320)Tj -0.583 -0.09 Td -(558)Tj --7.4 -1.25 Td -(key)Tj -0.5 Tc 1.48 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(56)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(558, 562, 567, 572)Tj --4.396 -1.25 Td -[(XSI, )-250(556)]TJ -3.862 0.09 Td -(\320)Tj -0.583 -0.09 Td -(560)Tj -/TT0 1 Tf --5.796 -1.25 Td -(IPC_CREAT)Tj -/T1_0 1 Tf -5.817 0 Td -[(constant, )-250(558,)-250(632, 941)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(IPC_EXCL)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(558)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(IPC_NOWAIT)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(563)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(564, 569)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(570)Tj -/TT0 1 Tf --17.23 -1.25 Td -(ipc_perm)Tj -/T1_0 1 Tf -5.217 0 Td -[(str)8(uctur)18(e, )-250(558,)-250(562, 567, 572, 587)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(IPC_PRIVATE)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(557)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(558, 575, 586, 588)Tj -/TT0 1 Tf --13.663 -1.25 Td -(ipcrm)Tj -/T1_0 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(559)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(IPC_RMID)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(562)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(563, 568, 573)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(575)Tj -/TT0 1 Tf --18.03 -1.25 Td -(ipcs)Tj -/T1_0 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(559,)-250(588)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(IPC_SET)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(562)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(563, 568, 573)Tj -/TT0 1 Tf --11.263 -1.25 Td -(IPC_STAT)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(562)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(563, 568, 573)Tj --11.863 -1.25 Td -(IPP)Tj -1.795 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Internet Printing Pr)18(otocol)]TJ -11.313 0.04 Td -(\))Tj -0.5 Tc 0.333 -0.04 Td -(,7)Tj -0 Tc 1.25 0 Td -(89)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(792)Tj -/TT0 1 Tf --16.691 -1.25 Td -(ipp.h)Tj -/T1_0 1 Tf -3.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,8)Tj -0 Tc 1.25 0 Td -(43)Tj -/TT0 1 Tf --7.639 -1.25 Td -(ipp_hdr)Tj -/T1_0 1 Tf -4.617 0 Td -[(str)8(uctur)18(e, )-250(798,)-250(832, 834, 838, 842)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(IPPROTO_ICMP)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(591)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(IPPROTO_IP)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(591,)-250(624)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(IPPROTO_IPV6)Tj -/T1_0 1 Tf -7.617 0 Td -[(constant, )-250(591)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(IPPROTO_RAW)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(591,)-250(602)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(IPPROTO_TCP)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(591,)-250(602, 624)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(IPPROTO_UDP)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(591,)-250(602)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(I_PUSH)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(725)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(726)Tj --10.663 -1.25 Td -[(IRIX, )-250(35)]TJ -/TT0 1 Tf -0 -1.25 TD -(isalpha)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(516)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(isatty)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(679,)-250(695, 698)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(699, 71)55(1, 730, 738)]TJ --13.29 -1.25 Td -[(de\336nition of,)-500(695)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(isdigit)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(839)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(840)Tj -/TT0 1 Tf --11.24 -1.25 Td -(I_SETSIG)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(510)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(ISIG)Tj -/T1_0 1 Tf -2.817 0 Td -[(constant, )-250(676,)-250(678, 680)]TJ -10.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(682, 688, 706)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(708)Tj --19.63 -1.25 Td -[(ISO \(International Standar)18(ds Or)18(ganization\), )-250(xx,)]TJ -2.7 -1.25 Td -(xxxi, 25)Tj -3.422 0.09 Td -(\320)Tj -0.583 -0.09 Td -(27, 950)Tj --6.706 -1.25 Td -[(ISO C,)-500(25)]TJ -4.44 0.09 Td -(\320)Tj -0.583 -0.09 Td -(26, 153, 950)Tj -/TT0 1 Tf --5.023 -1.25 Td -()Tj -/T1_0 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7)Tj -/TT0 1 Tf --10.639 -1.25 Td -(is_read_lockable)Tj -/T1_0 1 Tf -10.017 0 Td -[(function, )-250(490,)-250(897)]TJ -/TT0 1 Tf -15.983 65 Td -(isspace)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(839)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(840)Tj -/TT0 1 Tf --11.24 -1.25 Td -(ISTRIP)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(688, 690, 706)]TJ -12.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(708)Tj -/TT0 1 Tf --16.663 -1.25 Td -(is_write_lockable)Tj -/T1_0 1 Tf -10.617 0 Td -[(function, )-250(490,)-250(897)]TJ -/TT0 1 Tf --10.617 -1.25 Td -(IUCLC)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(688)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(IUTF8)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(689)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(IXANY)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(689)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(IXOFF)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(681)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(682, 689)Tj -/TT0 1 Tf --12.063 -1.25 Td -(IXON)Tj -/T1_0 1 Tf -2.817 0 Td -[(constant, )-250(676,)-250(681)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(682, 689, 706)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(708)Tj --17.63 -5.375 Td -[(jemalloc, )-250(210)]TJ -/TT0 1 Tf -0 -1.25 Td -(jmp_buf)Tj -/T1_0 1 Tf -4.617 0 Td -[(data type,)-500(216, 218, 340, 343)]TJ --4.617 -1.25 Td -[(job contr)18(ol, )-250(299)]TJ -7.028 0.09 Td -(\320)Tj -0.583 -0.09 Td -(303)Tj --6.262 -1.25 Td -[(shell, )-250(294,)-250(299, 306)]TJ -8.4 0.09 Td -(\320)Tj -0.583 -0.09 Td -(307, 325, 358, 377, 379,)Tj --7.633 -1.25 Td -(734)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(735)Tj --3.516 -1.25 Td -[(signals, )-250(377)]TJ -5.401 0.09 Td -(\320)Tj -0.583 -0.09 Td -(379)Tj -/TT0 1 Tf --7.335 -1.25 Td -(job)Tj -/T1_0 1 Tf -2.217 0 Td -[(str)8(uctur)18(e, )-250(812)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(813, 820)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(821, 832)Tj -/TT0 1 Tf --13.269 -1.25 Td -(job_append)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, de\336nition of,)-500(41)55(1)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(job_find)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(927)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(412)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(job_insert)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, de\336nition of,)-500(41)55(1)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(job_remove)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(927)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(412)]TJ --1.35 -1.25 Td -(Jolitz, W)Tj -0.25 Tc 3.695 0 Td -(.F)Tj -0 Tc 0.964 0 Td -[(., )-250(34)]TJ --4.659 -1.25 Td -(Joy)Tj -0.25 Tc 1.324 0 Td -[(,W)342(.N)]TJ -0 Tc 2.739 0 Td -[(., )-250(3,)-250(76)]TJ -/TT0 1 Tf --4.063 -1.25 Td -(jsh)Tj -/T1_0 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(299)]TJ --2.217 -5.375 Td -[(Kar)18(els, M. J.,)-500(33)]TJ -7.159 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(34, 74, 1)55(12, 1)55(16, 229, 236, 525, 951)]TJ --7.742 -1.25 Td -[(kernel, )-250(1)]TJ -T* -[(Kernighan, B. W)92(., )-250(xx,)-250(xxxii, 26, 149, 155, 162, 164,)]TJ -2.7 -1.25 Td -(208, 262, 898, 906, 947, 950)Tj --2.7 -1.25 Td -[(Kerrisk, M.,)-500(950)]TJ -T* -(key)Tj -0.25 Tc 1.48 0 Td -(,I)Tj -0 Tc 0.837 0 Td -[(PC, )-250(556)]TJ -3.646 0.09 Td -(\320)Tj -0.583 -0.09 Td -(558, 562, 567, 572)Tj -/TT0 1 Tf --6.546 -1.25 Td -(key_t)Tj -/T1_0 1 Tf -3.417 0 Td -[(data type,)-500(557, 633)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(kill)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(18,)-250(272, 308, 314, 325, 331, 335)]TJ -17.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(338,)Tj --18.24 -1.25 Td -(353, 363, 366)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(367, 376, 378)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(379, 381, 455,)Tj --12.333 -1.25 Td -(679, 681, 702, 732)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(733, 924, 932)Tj --9.517 -1.25 Td -[(de\336nition of,)-500(337)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(kill)Tj -/T1_0 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(314)]TJ -6.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(315, 321, 325, 551)Tj --9.591 -1.25 Td -(KILL terminal character)Tj -0.5 Tc 10.523 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 681, 687, 702)Tj -7.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(703)Tj -/TT0 1 Tf --19.439 -1.25 Td -(kill_workers)Tj -/T1_0 1 Tf -7.617 0 Td -[(function, )-250(814,)-250(828)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(830)Tj --14.89 -1.25 Td -[(de\336nition of,)-500(828)]TJ --1.35 -1.25 Td -[(Kleiman, S. R.,)-500(76, 950)]TJ -T* -[(Knuth, D. E.,)-500(422, 764, 950)]TJ -T* -[(Korn, D. G.,)-500(3, 135, 174, 548, 948)]TJ -14.369 0.09 Td -(\320)Tj -0.583 -0.09 Td -(950, 953)Tj --14.953 -1.25 Td -[(Korn shell,)-500(3, 53, 90, 210, 222, 289, 299, 497, 548,)]TJ -2.7 -1.25 Td -(702, 733)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(734, 737, 935, 948)Tj --6.866 -1.25 Td -[(Kovach, K. R.,)-500(560, 947)]TJ -T* -(Krieger)Tj -0.25 Tc 3.247 0 Td -(,O)Tj -0 Tc 1.286 0 Td -[(., )-250(174,)-250(531, 950)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47669 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(764)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(262 )-2400(while)-600(\(offset != 0\) {)]TJ -0 -1.189 TD -[(263 )-4800(nextoffset)]TJ -0.6 Tc 13.8 0 Td -(=_)Tj -0 Tc 1.8 0 Td -(db_readidx\(db, offset\);)Tj --15.6 -1.189 Td -[(264 )-4800(if)-600(\(strcmp\(db->idxbuf, key\) == 0\))]TJ -T* -(265 )Tj -9.6 0 Td -[(break;)-4200(/* found a match */)]TJ --9.6 -1.189 Td -[(266 )-4800(db->ptroff)]TJ -0.6 Tc 13.8 0 Td -(=o)Tj -0 Tc 1.8 0 Td -(ffset; /* offset of this \(unequal\) record */)Tj --15.6 -1.189 Td -[(267 )-4800(offset)]TJ -0.6 Tc 11.4 0 Td -(=n)Tj -0 Tc 1.8 0 Td -(extoffset; /* next one to compare */)Tj --13.2 -1.189 Td -[(268 )-2400(})]TJ -T* -[(269 )-2400(/*)]TJ -T* -[(270 )-3000(*)-600(offset == 0 on error \(record not found\).)]TJ -T* -[(271 )-3000(*/)]TJ -T* -[(272 )-2400(return\(offset)-600(== 0 ? -1 : 0\);)]TJ -T* -[(273 )-1200(})]TJ -0 -2.021 TD -[(274 )-1200(/*)]TJ -0 -1.189 TD -[(275 )-1800(*)-600(Calculate the hash value for a key.)]TJ -T* -[(276 )-1800(*/)]TJ -T* -[(277 )-1200(static)-600(DBHASH)]TJ -T* -[(278 )-1200(_db_hash\(DB)-600(*db, const char *key\))]TJ -T* -[(279 )-1200({)]TJ -0 -1.189 TD -[(280 )-2400(DBHASH)-3600(hval = 0;)]TJ -0 -1.189 TD -[(281 )-2400(char)-4800(c;)]TJ -T* -[(282 )-2400(int)]TJ -12 0 Td -(i;)Tj --12 -2.021 Td -[(283 )-2400(for)-600(\(i = 1; \(c = *key++\) != 0; i++\))]TJ -T* -[(284 )-4800(hval)-600(+= c * i;)-3600(/* ascii char times its 1-based index */)]TJ -T* -[(285 )-2400(return\(hval)]TJ -0.6 Tc 12 0 Td -(%d)Tj -0 Tc 1.8 0 Td -(b->nhash\);)Tj --13.8 -1.189 Td -[(286 )-1200(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3829.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 358.8749 Tm -[([262 )167(\320 )167(268])-668(In )-204(the)]TJ -/TT0 1 Tf -8.214 0 Td -(while)Tj -/T1_1 1 Tf -3.454 0 Td -[(loop, )-204(we )-204(go )-204(thr)18(ough )-204(each )-204(index )-204(r)17(ecor)]TJ -0.4541 Tc 17.653 0 Td -(do)Tj -0.454 Tc 1.611 0 Td -(nt)Tj -0 Tc 1.362 0 Td -[(he )-204(hash )-204(chain,)]TJ --27.294 -1.2 Td -[(comparing )-335(keys.)]TJ --0.092 Tc 8.484 0 Td -[(We )-519(c)]TJ -0 Tc 2.416 0 Td -(all)Tj -/TT0 1 Tf -1.667 0 Td -(_db_readidx)Tj -/T1_1 1 Tf -7.185 0 Td -[(to )-335(r)18(ead )-335(each )-335(index )-335(r)16(ecor)18(d. )-585(It)]TJ --19.753 -1.2 Td -[(populates )-493(the)]TJ -/TT0 1 Tf -7.243 0 Td -(idxbuf)Tj -/T1_1 1 Tf -4.343 0 Td -[(\336eld )-493(with )-493(the )-493(key )-493(of )-493(the )-493(curr)18(ent )-493(r)21(ecor)18(d. )-743(If)]TJ -/TT0 1 Tf --11.586 -1.2 Td -(_db_readidx)Tj -/T1_1 1 Tf --0.018 Tc 6.85 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns zer)18(o, we\325ve r)18(eached the last entry in the chain.)]TJ --12.706 -1.6 Td -[([269 )167(\320 )167(273])-668(If)]TJ -/TT0 1 Tf -6.129 0 Td -(offset)Tj -/T1_1 1 Tf -4.059 0 Td -[(is )-209(zer)]TJ -0.459 Tc 2.53 0 Td -(oa)Tj -0 Tc 1.505 0 Td -[(fter )-209(the )-209(loop, )-209(we\325ve )-209(r)18(eached )-209(the )-209(end )-209(of )-209(a )-209(hash )-209(chain)]TJ --9.223 -1.2 Td -[(without )-162(\336nding )-162(a )-162(matching )-162(key)111(,)-412(so)-412(we)-412(r)18(eturn)]TJ -/TT1 1 Tf -21.47 0 Td -(!)Tj -/T1_1 1 Tf -[(1. )-412(Otherwise,)-412(we )-162(found )-162(a)]TJ --21.47 -1.2 Td -[(match )-46(\(and )-46(exited )-46(the )-46(loop )-46(with )-46(the)]TJ -/TT0 1 Tf -16.325 0 Td -(break)Tj -/T1_1 1 Tf -3.296 0 Td -[(statement\), )-46(so )-46(we )-46(r)18(eturn )-46(success)]TJ --19.621 -1.16 Td -(\()Tj -0.333 -0.04 Td -(0)Tj -0.5 0.04 Td -(\))Tj -0.5257 Tc 0.333 -0.04 Td -(.I)Tj -0.2757 Tc 1.113 0 Td -(nt)Tj -0 Tc 1.184 0 Td -[(his )-26(case, )-26(the)]TJ -/TT0 1 Tf -5.608 0 Td -(ptroff)Tj -/T1_1 1 Tf -3.876 0 Td -[(\336eld )-26(contains )-26(the )-26(addr)18(ess )-26(of )-26(the )-26(pr)18(evious )-26(index)]TJ --0.018 Tc -12.946 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(d,)]TJ -/TT0 1 Tf -2.851 0 Td -(datoff)Tj -/T1_1 1 Tf -4.223 0 Td -[(contains )-373(the )-373(addr)18(ess )-373(of )-373(the )-373(data )-373(r)19(ecor)18(d, )-373(and)]TJ -/TT0 1 Tf -22.47 0 Td -(datlen)Tj -/T1_1 1 Tf --30.4 -1.2 Td -[(contains )-55(the )-55(size )-55(of )-55(the )-55(data )-55(r)17(ecor)18(d. )-305(As)-305(we )-55(make )-55(our )-55(way )-55(thr)18(ough )-55(the )-55(hash)]TJ -0 -1.2 Td -[(chain, )-170(we )-170(save )-170(the )-170(pr)20(evious )-170(index )-170(r)19(ecor)]TJ -0.4197 Tc 18.423 0 Td -(dt)Tj -0 Tc 1.357 0 Td -[(hat )-170(points )-170(to )-170(the )-170(curr)18(ent )-170(index)]TJ --0.018 Tc -19.779 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(d. )-294(W)92(e\325ll )-44(use )-44(this )-44(when )-44(we )-44(delete )-44(a )-44(r)19(ecor)18(d, )-44(since )-44(we )-44(have )-44(to )-44(modify )-44(the)]TJ --0.856 -1.2 Td -[(chain pointer of the pr)18(evious r)18(ecor)18(d)-250(to)-250(delete the curr)18(ent r)18(ecor)18(d.)]TJ --5 -1.6 Td -[([274 )167(\320 )167(286])]TJ -/TT0 1 Tf -5 0 Td -(_db_hash)Tj -/T1_1 1 Tf -5.31 0 Td -[(calculates )-260(the )-260(hash )-260(value )-260(for )-260(a )-260(given )-260(key)]TJ -0.76 Tc 19.512 0 Td -(.I)Tj -0.51 Tc 1.347 0 Td -(tm)Tj -0 Tc 1.719 0 Td -[(ultiplies )-260(each)]TJ --27.888 -1.2 Td -[(ASCII )-7(character )-7(times )-7(its )-7(1)]TJ -11.723 0.09 Td -(-)Tj -0.333 -0.09 Td -[(based )-7(index )-7(and )-7(divides )-7(the )-7(r)18(esult )-7(by )-7(the )-7(number)]TJ --12.056 -1.2 Td -[(of )-66(hash )-66(table )-66(entries.)-566(The )-66(r)18(emainder )-66(fr)18(om )-66(the )-66(division )-66(is )-66(the )-66(hash )-66(value )-66(for)]TJ -0 -1.2 TD -[(this )-14(key)]TJ -0.5136 Tc 3.367 0 Td -(.R)Tj -0 Tc 1.432 0 Td -[(ecall )-14(that )-14(the )-14(number )-14(of )-14(hash )-14(table )-14(entries )-14(is )-14(137, )-14(which )-14(is )-14(a )-14(prime)]TJ --4.798 -1.2 Td -(number)Tj -0.6216 Tc 3.421 0 Td -(.A)Tj -0 Tc 1.65 0 Td -[(ccor)18(ding )-122(to )-122(Knuth)]TJ -8.657 0.04 Td -([)Tj -0.333 -0.04 Td -(1998)Tj -2 0.04 Td -(])Tj -0.3717 Tc 0.333 -0.04 Td -(,p)Tj -0 Tc 1.223 0 Td -[(rime )-122(hashes )-122(generally )-122(pr)18(ovide )-122(good)]TJ --17.616 -1.2 Td -(distribution characteristics.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47670 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(218)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Envir)18(onment )]TJ -39.241 0 Td -[(Chapter)-500(7)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -0 -1.902 TD -(static void f1\(int, int, int, int\);)Tj -0 -1.189 TD -(static void f2\(void\);)Tj -0 -1.902 TD -[(static jmp_buf)-1200(jmpbuffer;)]TJ -0 -1.189 TD -[(static int)-3600(globval;)]TJ -0 -1.902 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(int )Tj -9.6 0 Td -(autoval;)Tj --9.6 -1.189 Td -[(register int)-2400(regival;)]TJ -T* -[(volatile int)-2400(volaval;)]TJ -T* -[(static int)-3600(statval;)]TJ -0 -1.902 TD -(globval = 1; autoval = 2; regival = 3; volaval = 4; statval = 5;)Tj -T* -(if \(setjmp\(jmpbuffer\) != 0\) {)Tj -2.4 -1.189 Td -(printf\("after longjmp:\\n"\);)Tj -0 -1.189 TD -(printf\("globval = %d, autoval = %d, regival = %d,")Tj -0.6 Tc 2.4 -1.189 Td -("v)Tj -0 Tc 1.8 0 Td -(olaval = %d, statval = %d\\n",)Tj --1.8 -1.189 Td -(globval, autoval, regival, volaval, statval\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*C)Tj -0 Tc 1.8 0 Td -(hange variables after setjmp, but before longjmp.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(globval = 95; autoval = 96; regival = 97; volaval = 98;)Tj -0 -1.189 TD -(statval = 99;)Tj -0 -1.902 TD -(f1\(autoval, regival, volaval, statval\); /* never returns */)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(static void)Tj -0 -1.189 TD -(f1\(int i, int j, int k, int l\))Tj -T* -({)Tj -2.4 -1.189 Td -(printf\("in f1\(\):\\n"\);)Tj -T* -(printf\("globval = %d, autoval = %d, regival = %d,")Tj -0.6 Tc 2.4 -1.189 Td -("v)Tj -0 Tc 1.8 0 Td -(olaval = %d, statval = %d\\n", globval, i, j, k, l\);)Tj --4.2 -1.189 Td -(f2\(\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(static void)Tj -0 -1.189 TD -(f2\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -(longjmp\(jmpbuffer, 1\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 1582.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 217.5859 142.2009 Tm -(Figure 7.13)Tj -/T1_1 1 Tf -5.695 0 Td -[(Ef)18(fect of)]TJ -/TT0 1 Tf -3.887 0 Td -(longjmp)Tj -/T1_1 1 Tf -4.45 0 Td -(on various types of variables)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47671 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(798)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 134.9919 659.4594 Tm -[(77 )-1200(/*)]TJ -0 -1.189 TD -[(78 )-1800(*)-600(Value Tags.)]TJ -T* -[(79 )-1800(*/)]TJ -T* -[(80 )-1200(#define)-600(TAG_UNSUPPORTED )-3000(0x10)-600(/* unsupported value */)]TJ -T* -[(81 )-1200(#define)-600(TAG_UNKNOWN )]TJ -20.4 0 Td -[(0x12)-600(/* unknown value */)]TJ --20.4 -1.189 Td -[(82 )-1200(#define)-600(TAG_NONE )]TJ -20.4 0 Td -[(0x13)-600(/* no value */)]TJ --20.4 -1.189 Td -[(83 )-1200(#define)-600(TAG_INTEGER )]TJ -20.4 0 Td -[(0x21)-600(/* integer */)]TJ --20.4 -1.189 Td -[(84 )-1200(#define)-600(TAG_BOOLEAN )]TJ -20.4 0 Td -[(0x22)-600(/* boolean */)]TJ --20.4 -1.189 Td -[(85 )-1200(#define)-600(TAG_ENUM )]TJ -20.4 0 Td -[(0x23)-600(/* enumeration */)]TJ --20.4 -1.189 Td -[(86 )-1200(#define)-600(TAG_OCTSTR )]TJ -20.4 0 Td -[(0x30)-600(/* octetString */)]TJ --20.4 -1.189 Td -[(87 )-1200(#define)-600(TAG_DATETIME )-4800(0x31)-600(/* dateTime */)]TJ -T* -[(88 )-1200(#define)-600(TAG_RESOLUTION )-3600(0x32)-600(/* resolution */)]TJ -T* -[(89 )-1200(#define)-600(TAG_INTRANGE )-4800(0x33)-600(/* rangeOfInteger */)]TJ -0 -1.189 TD -[(90 )-1200(#define)-600(TAG_TEXTWLANG )-4200(0x35)-600(/* textWithLanguage */)]TJ -0 -1.189 TD -[(91 )-1200(#define)-600(TAG_NAMEWLANG )-4200(0x36)-600(/* nameWithLanguage */)]TJ -0 -1.189 TD -[(92 )-1200(#define)-600(TAG_TEXTWOLANG )-3600(0x41)-600(/* textWithoutLanguage */)]TJ -T* -[(93 )-1200(#define)-600(TAG_NAMEWOLANG )-3600(0x42)-600(/* nameWithoutLanguage */)]TJ -T* -[(94 )-1200(#define)-600(TAG_KEYWORD )]TJ -20.4 0 Td -[(0x44)-600(/* keyword */)]TJ --20.4 -1.189 Td -[(95 )-1200(#define)-600(TAG_URI )]TJ -20.4 0 Td -[(0x45)-600(/* URI */)]TJ --20.4 -1.189 Td -[(96 )-1200(#define)-600(TAG_URISCHEME )-4200(0x46)-600(/* uriScheme */)]TJ -T* -[(97 )-1200(#define)-600(TAG_CHARSET )]TJ -20.4 0 Td -[(0x47)-600(/* charset */)]TJ --20.4 -1.189 Td -[(98 )-1200(#define)-600(TAG_NATULANG )-4800(0x48)-600(/* naturalLanguage */)]TJ -T* -[(99 )-1200(#define)-600(TAG_MIMETYPE )-4800(0x49)-600(/* mimeMediaType */)]TJ --0.6 -2.021 Td -[(100 )-1200(struct)-600(ipp_hdr {)]TJ -T* -[(101 )-2400(int8_t)-1200(major_version; )-600(/*)-600(always 1 */)]TJ -T* -[(102 )-2400(int8_t)-1200(minor_version; )-600(/*)-600(always 1 */)]TJ -T* -[(103 )-2400(union)-600({)]TJ -0 -1.189 TD -[(104 )-4800(int16_t)-600(op; /* operation ID */)]TJ -0 -1.189 TD -[(105 )-4800(int16_t)-600(st; /* status */)]TJ -T* -[(106 )-2400(})-600(u;)]TJ -T* -[(107 )-2400(int32_t)-600(request_id; )-2400(/*)-600(request ID */)]TJ -T* -[(108 )-2400(char)-2400(attr_group[1]; )-600(/*)-600(start of optional attributes group */)]TJ -T* -[(109 )-2400(/*)-600(optional data follows */)]TJ -T* -[(110 )-1200(};)]TJ -0 -2.021 TD -[(111 )-1200(#define)-600(operation u.op)]TJ -0 -1.189 TD -[(112 )-1200(#define)-600(status u.st)]TJ -0 -2.021 TD -[(113 )-1200(#endif)-600(/* _IPP_H */)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2470.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 223.0012 Tm -[([77 )167(\320 )167(99])-1668(The )-102(value )-102(tags )-102(indicate )-102(the )-102(format )-102(of )-102(individual )-102(attributes )-102(and )-102(parameters.)]TJ -5 -1.2 Td -(They ar)Tj -0.25 Tc 3.357 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(e\336ned in Section 3.5.2 of RFC 2910.)Tj --9.697 -1.72 Td -[([100 )167(\320 )167(1)54(13] )-472(W)]TJ -0.3686 Tc 5.908 0 Td -(ed)Tj -0 Tc 1.459 0 Td -[(e\336ne )-119(the )-119(str)9(uctur)]TJ -0.3686 Tc 7.759 0 Td -(eo)Tj -0 Tc 1.394 0 Td -[(f)-369(an)-369(I)1(PP )-119(header)]TJ -0.6187 Tc 7.038 0 Td -(.R)Tj -0 Tc 1.537 0 Td -[(equest )-119(messages )-119(start )-119(with )-119(the)]TJ --20.094 -1.2 Td -[(same )-278(header )-278(as )-278(r)18(esponse )-278(messages, )-278(except )-278(that )-278(the )-278(operation )-278(ID )-278(in )-278(the)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(quest is r)18(eplaced by a status code in the r)18(esponse.)]TJ --0.092 Tc -0.856 -1.8 Td -[(We )-290(e)]TJ -0 Tc 2.222 0 Td -[(nd )-106(the )-106(header )-106(\336le )-106(with )-106(a)]TJ -/TT0 1 Tf -11.671 0 Td -(#endif)Tj -/T1_1 1 Tf -3.956 0 Td -[(to )-106(match )-106(the)]TJ -/TT0 1 Tf -6.063 0 Td -(#ifdef)Tj -/T1_1 1 Tf -3.956 0 Td -[(at )-106(the )-106(start )-106(of)]TJ --27.868 -1.2 Td -(the \336le.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47672 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(968)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(HP)Tj -1.436 0.09 Td -(-)Tj -0.333 -0.09 Td -[(UX, )-250(35)]TJ -/TT0 1 Tf --1.769 -1.25 Td -(hsearch)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(HSFS)Tj -/T1_1 1 Tf -2.817 0 Td -(\336le system,)Tj --0.055 Tc 5.467 0 Td -(11)Tj -0 Tc 0.945 0 Td -(3)Tj -/TT0 1 Tf --9.229 -1.25 Td -(htonl)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(594,)-250(810, 824)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(827, 834)Tj --12.69 -1.25 Td -[(de\336nition of,)-500(594)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(htons)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(594,)-250(831, 834)]TJ --2.067 -1.25 Td -[(de\336nition of,)-500(594)]TJ --1.35 -1.25 Td -(HTTP)Tj -2.912 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Hypertext T)90(ransfer Pr)18(otocol)]TJ -12.321 0.04 Td -(\))Tj -0.5 Tc 0.333 -0.04 Td -(,7)Tj -0 Tc 1.25 0 Td -(92)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(793)Tj --18.816 -1.25 Td -[(Hume, A. G.,)-500(174, 949)]TJ -/TT0 1 Tf -0 -1.25 TD -(HUPCL)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(675,)-250(687)]TJ --3.417 -1.25 Td -[(Hypertext T)90(ransfer Pr)18(otocol,)]TJ -/T1_2 1 Tf -13.071 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(HTTP)Tj --14.488 -4.75 Td -[(IBM \(International Business Machines\),)-500(35)]TJ -/TT0 1 Tf -T* -(ICANON)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(678, 680)]TJ -10.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(682, 686)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(687, 691,)Tj --16.13 -1.25 Td -(703, 705)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(707)Tj -/TT0 1 Tf --6.866 -1.25 Td -(iconv_close)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --7.017 -1.25 Td -()Tj -/T1_1 1 Tf -5.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --10.039 -1.25 Td -(iconv_open)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(ICRNL)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(680, 688, 700, 706)]TJ -14.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(708)Tj --18.063 -1.25 Td -(identi\336ers)Tj -1.35 -1.25 Td -[(IPC, )-250(556)]TJ -3.983 0.09 Td -(\320)Tj -0.583 -0.09 Td -(558)Tj --4.566 -1.25 Td -[(pr)18(ocess, )-250(227)]TJ -5.628 0.09 Td -(\320)Tj -0.583 -0.09 Td -(228)Tj -/TT0 1 Tf --7.561 -1.25 Td -(IDXLEN_MAX)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(779)]TJ --6.417 -1.25 Td -[(IEC \(International Electr)18(otechnical Commission\),)]TJ -2.7 -1.25 Td -(25)Tj --2.7 -1.25 Td -[(IEEE \(Institute for Electrical and Electr)18(onic)]TJ -2.7 -1.25 Td -[(Engineers\), )-250(xx,)-250(26)]TJ -8.097 0.09 Td -(\320)Tj -0.583 -0.09 Td -(27, 950)Tj -/TT0 1 Tf --11.381 -1.25 Td -(IEXTEN)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(678, 680)]TJ -10.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(682, 688, 706)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(708)Tj -/TT0 1 Tf --20.83 -1.25 Td -(I_FIND)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(725)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(726)Tj -/TT0 1 Tf --10.663 -1.25 Td -(IFS)Tj -/T1_1 1 Tf -2.217 0 Td -[(envir)18(onment variable,)-500(269)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(IGNBRK)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(685, 688)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(IGNCR)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(680, 688, 700)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(IGNPAR)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(688, 690)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(ILL_BADSTK)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(ILL_COPROC)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(ILL_ILLADR)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(ILL_ILLOPC)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(ILL_ILLOPN)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(ILL_ILLTRP)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(ILL_PRVOPC)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(ILL_PRVREG)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ --6.417 -1.25 Td -[(Illumos, )-250(xxi)]TJ -/TT0 1 Tf -T* -(IMAXBEL)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(676,)-250(688)]TJ --4.617 -1.25 Td -[(implementation dif)18(fer)18(ences, passwor)18(d, )-250(184)]TJ -19.274 0.09 Td -(\320)Tj -0.583 -0.09 Td -(185)Tj --19.858 -1.25 Td -[(implementations, UNIX System,)-500(33)]TJ -/TT0 1 Tf -T* -(INADDR_ANY)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(605)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(in_addr_t)Tj -/T1_1 1 Tf -5.817 0 Td -[(data type,)-500(595)]TJ --5.817 -1.25 Td -[(incor)18(e, )-250(74,)-250(152)]TJ -/TT0 1 Tf --0 -1.25 Td -(INET6_ADDRSTRLEN)Tj -/T1_1 1 Tf -10.017 0 Td -[(constant, )-250(596)]TJ -/TT0 1 Tf --10.017 -1.25 Td -(inet_addr)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(596)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(INET_ADDRSTRLEN)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(596,)-250(603)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(604)Tj -/TT0 1 Tf -7.937 64.75 Td -(inetd)Tj -/T1_1 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(291,)-250(293, 465, 470, 472)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(inet_ntoa)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(442,)-250(596)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(inet_ntop)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(596,)-250(604)]TJ --4.467 -1.25 Td -[(de\336nition of,)-500(596)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(inet_pton)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(596)]TJ --4.467 -1.25 Td -[(de\336nition of,)-500(596)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(INFTIM)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(508)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(init)Tj -/T1_1 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(187,)-250(189, 228, 237)]TJ -12.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(238, 246, 270,)Tj --12.891 -1.25 Td -(286)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(291, 293, 307, 309, 312, 320, 337, 379,)Tj --2.167 -1.25 Td -(464)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(465, 475, 923, 930)Tj -/TT0 1 Tf --4.866 -1.25 Td -(initgroups)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(184,)-250(288)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(184)]TJ --1.35 -1.25 Td -[(initialized data segment,)-500(205)]TJ -/TT0 1 Tf -T* -(init_printer)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(814,)-250(816, 819, 833)]TJ --6.267 -1.25 Td -[(de\336nition of,)-500(819)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(init_request)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(814,)-250(816, 818)]TJ --6.267 -1.25 Td -[(de\336nition of,)-500(818)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(initserver)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(615)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(617, 619, 622)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(623,)Tj --16.507 -1.25 Td -(800, 816)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(609, 625)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(inittab)Tj -/T1_1 1 Tf -4.617 0 Td -[(\336le, )-250(320)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(INLCR)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(688)]TJ --3.417 -1.25 Td -[(i-node, )-250(59,)-250(75)]TJ -6.175 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(77, 94, 108, 1)55(13)]TJ -6.528 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(6, 120, 124, 127,)Tj --12.115 -1.25 Td -(130)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(131, 138)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(139, 179, 253, 493, 698, 905, 910)Tj -/TT0 1 Tf --9.033 -1.25 Td -(ino_t)Tj -/T1_1 1 Tf -3.417 0 Td -[(data type,)-500(59, 1)55(14)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(INPCK)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(688, 690, 706)]TJ -12.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(708)Tj -/TT0 1 Tf --16.063 -1.25 Td -(in_port_t)Tj -/T1_1 1 Tf -5.817 0 Td -[(data type,)-500(595)]TJ --5.817 -1.25 Td -[(Institute for Electrical and Electr)18(onic Engineers,)]TJ -/T1_2 1 Tf -21.523 0 Td -(see)Tj -/T1_1 1 Tf --18.823 -1.25 Td -(IEEE)Tj -/TT0 1 Tf --2.7 -1.25 Td -(int16_t)Tj -/T1_1 1 Tf -4.617 0 Td -[(data type,)-500(831)]TJ --4.617 -1.25 Td -[(Intel, )-250(xxii)]TJ -T* -(International Business Machines,)Tj -/T1_2 1 Tf -15.073 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(IBM)Tj --16.49 -1.25 Td -[(International Electr)18(otechnical Commission,)]TJ -/T1_2 1 Tf -19.579 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(IEC)Tj --20.996 -1.25 Td -[(International Standar)18(ds Or)18(ganization,)]TJ -/T1_2 1 Tf -17.28 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(ISO)Tj --18.697 -1.25 Td -[(Internet Printing Pr)18(otocol,)]TJ -/T1_2 1 Tf -12.063 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(IPP)Tj --13.48 -1.25 Td -[(Internet worm,)-500(153)]TJ -T* -[(interpr)18(eter \336le,)-500(260)]TJ -8.688 0.09 Td -(\320)Tj -0.583 -0.09 Td -(264, 283)Tj --9.271 -1.25 Td -[(interpr)18(ocess communication,)]TJ -/T1_2 1 Tf -13.289 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(IPC)Tj --14.706 -1.25 Td -[(interr)8(upted system calls,)-500(327)]TJ -12.955 0.09 Td -(\320)Tj -0.583 -0.09 Td -(330, 343, 351,)Tj --10.839 -1.25 Td -(354)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(355, 365, 508)Tj -/TT0 1 Tf --4.866 -1.25 Td -(INT_MAX)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(37)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(38)Tj -/TT0 1 Tf --10.763 -1.25 Td -(INT_MIN)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(37)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(38)Tj --10.763 -1.25 Td -(INTR terminal character)Tj -0.5 Tc 10.687 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 681, 688, 701)Tj -/TT0 1 Tf --11.937 -1.25 Td -()Tj -/T1_1 1 Tf -7.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7)Tj --11.839 -1.25 Td -(I/O)Tj -1.35 -1.25 Td -[(asynchr)18(onous, )-250(501,)-250(509)]TJ -10.499 0.09 Td -(\320)Tj -0.583 -0.09 Td -(520)Tj --11.082 -1.25 Td -[(asynchr)18(onous socket,)-500(627)]TJ -T* -[(ef)18(\336ciency)]TJ -0.5 Tc 4.084 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(2)Tj -0.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(74)Tj --6.5 -1.25 Td -(library)Tj -0.25 Tc 2.87 0 Td -(,s)Tj -0 Tc 0.924 0 Td -[(tandar)18(d, )-250(10,)-250(143)]TJ -7.34 0.09 Td -(\320)Tj -0.583 -0.09 Td -(175)Tj --11.718 -1.25 Td -[(memory-mapped, )-250(525)]TJ -10.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(531)Tj --10.666 -1.25 Td -[(multiplexing, )-250(500)]TJ -8.043 0.09 Td -(\320)Tj -0.583 -0.09 Td -(509)Tj --8.627 -1.25 Td -[(nonblocking, )-250(481)]TJ -7.862 0.09 Td -(\320)Tj -0.583 -0.09 Td -(484)Tj --8.446 -1.25 Td -[(nonblocking socket,)-500(608)]TJ -10.887 0.09 Td -(\320)Tj -0.583 -0.09 Td -(609, 627)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47673 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(967)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 140.3916 670.9597 Tm -[(de\336nition of,)-500(180)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getpwnam)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(177)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(181, 186, 276, 287,)Tj --9.14 -1.25 Td -(330)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(332, 442, 452, 816, 918)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(179)]TJ -7.775 0.09 Td -(\320)Tj -0.583 -0.09 Td -(180)Tj -/TT0 1 Tf --9.709 -1.25 Td -(getpwnam_r)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(443,)-250(452)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(getpwuid)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(177)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(181, 186, 275)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(276, 442,)Tj --15.307 -1.25 Td -(452, 809, 918)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(179)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getpwuid_r)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(443,)-250(452)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(getresgid)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(257)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(getresuid)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(257)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(getrlimit)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(53,)-250(220, 224, 466)]TJ -11.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(467,)Tj --15.24 -1.25 Td -(906)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(907)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(220)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getrusage)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(245,)-250(280)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(gets)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(152)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(153, 91)55(1)]TJ --8.09 -1.25 Td -[(de\336nition of,)-500(152)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getservbyname)Tj -/T1_0 1 Tf -8.217 0 Td -[(function, )-250(442,)-250(452, 599)]TJ --6.867 -1.25 Td -[(de\336nition of,)-500(599)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getservbyport)Tj -/T1_0 1 Tf -8.217 0 Td -[(function, )-250(442,)-250(452, 599)]TJ --6.867 -1.25 Td -[(de\336nition of,)-500(599)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getservent)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(442,)-250(452, 599)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(599)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getsid)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(296)]TJ --2.667 -1.25 Td -[(de\336nition of,)-500(296)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getsockname)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(331,)-250(605)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(605)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getsockopt)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(331,)-250(624)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(625)Tj --13.69 -1.25 Td -[(de\336nition of,)-500(624)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getspent)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(182)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(182)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getspnam)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(182,)-250(918)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(182)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(gettimeofday)Tj -/T1_0 1 Tf -7.617 0 Td -[(function, )-250(190,)-250(414, 421, 437, 439)]TJ --6.267 -1.25 Td -[(de\336nition of,)-500(190)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getty)Tj -/T1_0 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(238,)-250(286)]TJ -8.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(288, 290, 472)Tj -/TT0 1 Tf --12.191 -1.25 Td -(gettytab)Tj -/T1_0 1 Tf -5.217 0 Td -[(\336le, )-250(287)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(getuid)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(17,)-250(228, 257, 268, 275)]TJ -13.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(276, 331)Tj --16.79 -1.25 Td -[(de\336nition of,)-500(228)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getutxent)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(442,)-250(452)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(getutxid)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(442,)-250(452)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(getutxline)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(442,)-250(452)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(GETVAL)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(568)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(getwc)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(getwchar)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(GETZCNT)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(568)]TJ --4.617 -1.25 Td -[(Ghemawat, S.,)-500(949)]TJ -0 -1.25 TD -(GID,)Tj -/T1_2 1 Tf -2.624 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -[(gr)18(oup ID)]TJ -/TT0 1 Tf --4.041 -1.25 Td -(gid_t)Tj -/T1_0 1 Tf -3.417 0 Td -[(data type,)-500(59)]TJ --3.417 -1.25 Td -[(Gingell, R. A.,)-500(206, 525, 949)]TJ -T* -[(Gitlin, J. E.,)-500(xxxii)]TJ -/TT0 1 Tf -T* -(glob)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(452)]TJ --2.817 -1.25 Td -[(global variables,)-500(219)]TJ -/TT0 1 Tf -26 65 Td -()Tj -/T1_0 1 Tf -5.217 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --9.439 -1.25 Td -(gmtime)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(191)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(192, 442)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(192)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(gmtime_r)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(443)]TJ --5.217 -1.25 Td -[(GNU, )-250(2,)-250(289, 753)]TJ -T* -[(GNU Public License,)-500(35)]TJ -T* -[(Godsil, J. M.,)-500(xxxii)]TJ -T* -[(Goodheart, B.,)-500(712, 949)]TJ -T* -[(Google, )-250(210)]TJ -T* -[(goto, nonlocal,)-500(213)]TJ -8.589 0.09 Td -(\320)Tj -0.583 -0.09 Td -(220, 355)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(358)Tj --13.339 -1.25 Td -[(Grandi, S.,)-500(xxxii)]TJ -/TT0 1 Tf -T* -(grantpt)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(723)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(725)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(723)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(grep)Tj -/T1_0 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(20,)-250(174, 200, 252, 949)]TJ -13.691 0.09 Td -(\320)Tj -0.583 -0.09 Td -(950)Tj --17.091 -1.25 Td -[(gr)18(oup \336le,)-500(182)]TJ -6.641 0.09 Td -(\320)Tj -0.583 -0.09 Td -(183)Tj --7.225 -1.25 Td -[(gr)18(oup ID,)-500(17, 255)]TJ -7.877 0.09 Td -(\320)Tj -0.583 -0.09 Td -(260)Tj --7.11 -1.25 Td -[(ef)18(fective, )-250(98)]TJ -5.544 0.09 Td -(\320)Tj -0.583 -0.09 Td -(99, 101)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(102, 108, 1)55(10, 140, 183,)]TJ --8.444 -1.25 Td -(228, 233, 256, 258, 558, 587)Tj --0.018 Tc -1.35 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(al, )-250(98,)-250(102, 183, 228, 233, 252)]TJ -12.624 0.09 Td -(\320)Tj -0.583 -0.09 Td -(253, 256, 270,)Tj --12.714 -1.25 Td -(585)Tj --1.35 -1.25 Td -(supplementary)Tj -0.5 Tc 6.609 0 Td -(,1)Tj -0 Tc 1.25 0 Td -[(8, 39, 98, 101, 108, 1)55(10,)]TJ --6.509 -1.25 Td -(183)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(184, 233, 252, 258)Tj -/TT0 1 Tf --4.866 -1.25 Td -(group)Tj -/T1_0 1 Tf -3.417 0 Td -[(str)8(uctur)18(e, )-250(182)]TJ -/TT0 1 Tf --3.417 -1.25 Td -()Tj -/T1_0 1 Tf -4.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9, 182, 186)Tj -/TT0 1 Tf --8.839 -1.25 Td -(guardsize)Tj -/T1_0 1 Tf -5.817 0 Td -[(attribute, )-250(427,)-250(430)]TJ --5.817 -4.75 Td -[(hack, )-250(303,)-250(842)]TJ -T* -[(half-duplex pipes,)-500(534)]TJ -/TT0 1 Tf -T* -(handle_request)Tj -/T1_0 1 Tf -8.817 0 Td -[(function, )-250(656,)-250(665)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(666, 668)Tj --16.09 -1.25 Td -[(de\336nition of,)-500(657, 668)]TJ --1.35 -1.25 Td -(har)Tj -0.25 Tc 1.459 0 Td -(dl)Tj -0 Tc 1.152 0 Td -[(ink, )-250(4,)]TJ --0.055 Tc 3.179 0 Td -(11)Tj -0 Tc 0.945 0 Td -[(4, 1)55(17, 120, 122)]TJ --6.735 -1.25 Td -(har)Tj -0.25 Tc 1.459 0 Td -(dl)Tj -0 Tc 1.152 0 Td -[(inks and dir)18(ectories, )-250(1)55(17, 120)]TJ -/TT0 1 Tf --2.611 -1.25 Td -(hcreate)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(hdestroy)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(442)]TJ --5.217 -1.25 Td -(headers)Tj -1.35 -1.25 Td -[(optional, )-250(30)]TJ -T* -[(POSIX r)18(equir)18(ed, )-250(29)]TJ -T* -[(standar)18(d, )-250(27)]TJ -T* -[(XSI option,)-500(30)]TJ --1.35 -1.25 Td -[(heap, )-250(205)]TJ -T* -(Hein, T)Tj -0.25 Tc 3.223 0 Td -(.R)Tj -0 Tc 1.168 0 Td -[(., )-250(xxxii,)-250(951)]TJ --4.391 -1.25 Td -[(Hewlett-Packar)18(d, )-250(35,)-250(835)]TJ -/TT0 1 Tf -T* -(HFS)Tj -/T1_0 1 Tf -2.217 0 Td -[(\336le system,)-500(87, 1)55(13, 1)55(16)]TJ --2.217 -1.25 Td -[(Hogue, J. E.,)-500(xxxii)]TJ -T* -[(holes, \336le,)-500(68)]TJ -6.03 0.09 Td -(\320)Tj -0.583 -0.09 Td -(69, 1)Tj --0.055 Tc 1.945 0 Td -(11)Tj -0 Tc 1.028 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(2)Tj --11.115 -1.25 Td -[(home dir)18(ectory)]TJ -0.5 Tc 6.654 0 Td -(,2)Tj -0 Tc 1.25 0 Td -[(,)-250(8,)-250(135, 21)55(1, 288, 292)]TJ -/TT0 1 Tf --7.904 -1.25 Td -(HOME)Tj -/T1_0 1 Tf -2.817 0 Td -[(envir)18(onment variable,)-500(210)]TJ -11.849 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(21)55(1, 288)]TJ --15.249 -1.25 Td -[(Honeyman, P)129(., )-250(xxxii)]TJ -/TT0 1 Tf -T* -(hostent)Tj -/T1_0 1 Tf -4.617 0 Td -[(str)8(uctur)18(e, )-250(597)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(hostname)Tj -/T1_0 1 Tf -5.217 0 Td -[(pr)18(ogram, )-250(189)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(HOST_NAME_MAX)Tj -/T1_0 1 Tf -8.217 0 Td -[(constant, )-250(40,)-250(43, 49, 188,)]TJ --5.517 -1.25 Td -(615)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(618, 622)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(623, 800, 815)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47674 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(966)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(gai_strerror)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(600,)-250(616, 619, 621, 623)]TJ --6.267 -1.25 Td -[(de\336nition of,)-500(600)]TJ --1.35 -1.25 Td -[(Gallmeister)74(,)-250(B.)-250(O., )-250(949)]TJ -0 -1.25 TD -[(Gar\336nkel, S.,)-500(181, 250, 298, 949)]TJ -T* -[(gather write,)-500(521, 644)]TJ -/TT0 1 Tf -T* -(gawk)Tj -/T1_1 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(262)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(gcc)Tj -/T1_1 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(6,)-250(26, 58, 919)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(gdb)Tj -/T1_1 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(928)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(gdbm)Tj -/T1_1 1 Tf -2.817 0 Td -(library)Tj -0.5 Tc 2.87 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(44)Tj --6.937 -1.25 Td -(generic pointer)Tj -0.5 Tc 6.622 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(1, 208)Tj -/TT0 1 Tf --7.872 -1.25 Td -(getaddrinfo)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(452,)-250(599)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(601, 603)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(604,)Tj --17.107 -1.25 Td -(614)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(616, 619, 621, 623, 802, 808)Tj --3.516 -1.25 Td -[(de\336nition of,)-500(599)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getaddrlist)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(800,)-250(802, 804, 808, 815)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(802)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(GETALL)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(568)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(getc)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(10,)-250(150)]TJ -7.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(156, 164)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(165, 452,)Tj --12.407 -1.25 Td -(701)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(702, 913)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(150)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getchar)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(150)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(151, 164, 175, 452, 547, 913)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(150)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getchar_unlocked)Tj -/T1_1 1 Tf -10.017 0 Td -[(function, )-250(442,)-250(444, 452)]TJ --8.667 -1.25 Td -[(de\336nition of,)-500(444)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getconf)Tj -/T1_1 1 Tf -4.617 0 Td -[(pr)18(ogram, )-250(70)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(getc_unlocked)Tj -/T1_1 1 Tf -8.217 0 Td -[(function, )-250(442,)-250(444, 452)]TJ --6.867 -1.25 Td -[(de\336nition of,)-500(444)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getcwd)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(50,)-250(135)]TJ -7.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(137, 142, 208, 452,)Tj --9.44 -1.25 Td -[(91)55(1)]TJ -1.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(912)Tj --3.462 -1.25 Td -[(de\336nition of,)-500(136)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getdate)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(21)55(1, 442, 452)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(getdelim)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(getegid)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(228,)-250(331)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(228)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getenv)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(204,)-250(210)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(212, 442, 444)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(446,)Tj --16.107 -1.25 Td -(449)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(450, 462, 539, 928)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(210)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getenv_r)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(445)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(446)Tj -/TT0 1 Tf --11.84 -1.25 Td -(geteuid)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(228,)-250(257, 268, 331, 650, 809)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(228)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getgid)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(17,)-250(228, 331)]TJ --2.667 -1.25 Td -[(de\336nition of,)-500(228)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getgrent)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(183)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(184, 442, 452)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(183)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getgrgid)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(182,)-250(442, 452)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(182)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getgrgid_r)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(443,)-250(452)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(getgrnam)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(182,)-250(442, 452)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(182)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getgrnam_r)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(443,)-250(452)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(getgroups)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(184,)-250(331)]TJ --4.467 -1.25 Td -[(de\336nition of,)-500(184)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(gethostbyaddr)Tj -/T1_1 1 Tf -8.217 0 Td -[(function, )-250(597,)-250(599)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(gethostbyname)Tj -/T1_1 1 Tf -8.217 0 Td -[(function, )-250(597,)-250(599)]TJ -/TT0 1 Tf -17.783 65 Td -(gethostent)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(442,)-250(452, 597)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(597)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(gethostid)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(gethostname)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(39)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40, 43, 188, 452,)Tj --10.44 -1.25 Td -(616)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(618, 623, 815)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(188)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getline)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(getlogin)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(275)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(276, 442, 452, 480,)Tj --9.14 -1.25 Td -(929)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(930)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(275)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getlogin_r)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(443,)-250(452)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(getmsg)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(740)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(getnameinfo)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(452,)-250(600)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(600)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(GETNCNT)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(568)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(getnetbyaddr)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(442,)-250(452, 598)]TJ --6.267 -1.25 Td -[(de\336nition of,)-500(598)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getnetbyname)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(442,)-250(452, 598)]TJ --6.267 -1.25 Td -[(de\336nition of,)-500(598)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getnetent)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(442,)-250(452, 598)]TJ --4.467 -1.25 Td -[(de\336nition of,)-500(598)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(get_newjobno)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(814,)-250(820, 825, 843)]TJ --6.267 -1.25 Td -[(de\336nition of,)-500(820)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getopt)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(442,)-250(452, 662)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(664, 669, 730)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(731,)Tj --18.107 -1.25 Td -(807)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(808)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(662)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getpass)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(287,)-250(298, 700, 702)]TJ -12.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(703)Tj --15.89 -1.25 Td -[(de\336nition of,)-500(701)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getpeername)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(331,)-250(605)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(605)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getpgid)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(293)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(294)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(294)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getpgrp)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(293,)-250(331)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(293)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(GETPID)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(568)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(getpid)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(1)55(1, 228, 230, 235, 272, 308, 331,)]TJ --1.317 -1.25 Td -(366, 378, 387, 474, 650, 939)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(228)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getppid)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(228)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(229, 331, 491, 732)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(228)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(get_printaddr)Tj -/T1_1 1 Tf -8.217 0 Td -[(function, )-250(800,)-250(804, 819)]TJ --6.867 -1.25 Td -[(de\336nition of,)-500(804)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(get_printserver)Tj -/T1_1 1 Tf -9.417 0 Td -[(function, )-250(800,)-250(804, 808)]TJ --8.067 -1.25 Td -[(de\336nition of,)-500(804)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getpriority)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(277)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(277)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getprotobyname)Tj -/T1_1 1 Tf -8.817 0 Td -[(function, )-250(442,)-250(452, 598)]TJ --7.467 -1.25 Td -[(de\336nition of,)-500(598)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getprotobynumber)Tj -/T1_1 1 Tf -10.017 0 Td -[(function, )-250(442,)-250(452, 598)]TJ --8.667 -1.25 Td -[(de\336nition of,)-500(598)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getprotoent)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(442,)-250(452, 598)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(598)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(getpwent)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(180)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(181, 442, 452)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47675 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -34.357 0 Td -[(Chapter )-250(5)-750(Solutions)]TJ -/T1_1 1 Tf -11.476 0 Td -(913)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(5.3)Tj -/T1_0 1 Tf -2.602 0 Td -(The function call)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 173.6095 654.4005 Tm -(printf\(""\);)Tj -/T1_0 1 Tf --0.018 Tc 9.9994 0 0 9.9994 155.6106 638.5417 Tm -(re)Tj -0 Tc 0.856 0 Td -(turns 0, since no characters ar)Tj -0.25 Tc 13.044 0 Td -(eo)Tj -0 Tc 1.275 0 Td -(utput.)Tj -/T1_1 1 Tf --17.777 -1.84 Td -(5.4)Tj -/T1_0 1 Tf -2.602 0 Td -[(This )-28(is )-28(a )-28(common )-28(err)20(or)]TJ -0.5276 Tc 10.237 0 Td -(.T)Tj -0 Tc 1.391 0 Td -[(he )-28(r)18(eturn )-28(value )-28(fr)19(om)]TJ -/TT0 1 Tf -9.51 0 Td -(getc)Tj -/T1_0 1 Tf -2.678 0 Td -(and)Tj -/TT0 1 Tf -1.971 0 Td -(getchar)Tj -/T1_0 1 Tf -4.478 0 Td -[(is )-28(an)]TJ -/TT0 1 Tf -2.352 0 Td -(int)Tj -/T1_0 1 Tf -0.2776 Tc (,n)Tj -0 Tc 2.91 0 Td -(ot)Tj --35.526 -1.2 Td -(a)Tj -/TT0 1 Tf -0.786 0 Td -(char)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf -3.186 0 Td -(EOF)Tj -/T1_0 1 Tf -2.086 0 Td -[(is )-36(often )-36(de\336ned )-36(to )-36(be)]TJ -/TT1 1 Tf -9.682 0 Td -(!)Tj -/T1_0 1 Tf -[(1, )-36(so )-36(if )-36(the )-36(system )-36(uses )-36(signed )-36(characters, )-36(the)]TJ --15.74 -1.2 Td -[(code )-113(normally )-113(works.)-614(But )-113(if )-113(the )-113(system )-113(uses )-113(unsigned )-113(characters, )-113(after )-113(the)]TJ -/TT0 1 Tf -34.598 0 Td -(EOF)Tj -/T1_0 1 Tf --0.018 Tc -34.598 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(turned )-49(by)]TJ -/TT0 1 Tf -4.703 0 Td -(getchar)Tj -/T1_0 1 Tf -4.499 0 Td -[(is )-49(stor)18(ed )-49(as )-49(an )-49(unsigned )-49(character)]TJ -0.2991 Tc 15.099 0 Td -(,t)Tj -0 Tc 0.875 0 Td -[(he )-49(character)-74(\325s )-49(value )-49(no)]TJ --26.033 -1.2 Td -[(longer )-113(equals)]TJ -/TT1 1 Tf -6.432 0 Td -(!)Tj -/T1_0 1 Tf -[(1, )-113(so )-113(the )-113(loop )-113(never )-113(terminates.)-613(The )-113(four )-113(platforms )-113(described )-113(in)]TJ --6.432 -1.2 Td -[(this )-11(book )-11(all )-11(use )-11(signed )-11(characters, )-11(so )-11(the )-11(example )-11(code )-11(works )-11(on )-11(these )-11(platforms.)]TJ -/T1_1 1 Tf --2.602 -1.84 Td -(5.5)Tj -/T1_0 1 Tf -2.602 0 Td -(Call)Tj -/TT0 1 Tf -2.144 0 Td -(fsync)Tj -/T1_0 1 Tf -3.353 0 Td -[(after )-102(each )-102(call )-102(to)]TJ -/TT0 1 Tf -7.846 0 Td -(fflush)Tj -/T1_0 1 Tf -0.6025 Tc (.T)Tj -0 Tc 5.066 0 Td -[(he )-102(ar)18(gument )-103(to)]TJ -/TT0 1 Tf -7.297 0 Td -(fsync)Tj -/T1_0 1 Tf -3.353 0 Td -[(is )-103(obtained )-103(with)]TJ --29.057 -1.2 Td -(the)Tj -/TT0 1 Tf -1.663 0 Td -(fileno)Tj -/T1_0 1 Tf -3.876 0 Td -[(function. )-276(Calling)]TJ -/TT0 1 Tf -7.979 0 Td -(fsync)Tj -/T1_0 1 Tf -3.276 0 Td -[(without )-26(calling)]TJ -/TT0 1 Tf -7.015 0 Td -(fflush)Tj -/T1_0 1 Tf -3.876 0 Td -[(might )-26(do )-26(nothing )-26(if)]TJ --27.686 -1.2 Td -(all the data wer)Tj -0.25 Tc 6.846 0 Td -(es)Tj -0 Tc 1.153 0 Td -[(till in memory buf)18(fers.)]TJ -/T1_1 1 Tf --10.601 -1.84 Td -(5.6)Tj -/T1_0 1 Tf -2.602 0 Td -(Standar)Tj -0.2658 Tc 3.421 0 Td -(di)Tj -0 Tc 1.168 0 Td -[(nput )-16(and )-16(standar)]TJ -0.2658 Tc 7.657 0 Td -(do)Tj -0 Tc 1.423 0 Td -[(utput )-16(ar)]TJ -0.2658 Tc 3.602 0 Td -(eb)Tj -0 Tc 1.298 0 Td -[(oth )-16(line )-16(buf)18(fer)18(ed )-16(when )-16(a )-16(pr)18(ogram )-16(is )-16(r)9(un)]TJ --18.568 -1.2 Td -(interactively)Tj -0.5 Tc 5.414 0 Td -(.W)Tj -0 Tc 1.75 0 Td -(hen)Tj -/TT0 1 Tf -1.893 0 Td -(fgets)Tj -/T1_0 1 Tf -3.25 0 Td -(is called, standar)Tj -0.25 Tc 7.401 0 Td -(do)Tj -0 Tc 1.407 0 Td -[(utput is \337ushed automatically)111(.)]TJ -/T1_1 1 Tf --23.717 -1.84 Td -(5.7)Tj -/T1_0 1 Tf -2.602 0 Td -(An implementation of)Tj -/TT0 1 Tf -10.049 0 Td -(fmemopen)Tj -/T1_0 1 Tf -5.05 0 Td -(for BSD)Tj -3.434 0.09 Td -(-)Tj -0.333 -0.09 Td -(based systems is shown in Figur)Tj -0.25 Tc 14.272 0 Td -(eC)Tj -0 Tc 1.438 0 Td -(.4.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1556.25 4618.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1596.25 4618.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 155.6013 452.2247 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -T* -(#include )Tj -0 -1.902 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*O)Tj -0 Tc 1.8 0 Td -(ur internal structure tracking a memory stream)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(struct memstream)Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(char )-1800(*buf;)-1800(/* in-memory buffer */)]TJ -T* -[(size_t )-600(rsize; )-600(/*)-600(real size of buffer */)]TJ -T* -[(size_t )-600(vsize; )-600(/*)-600(virtual size of buffer */)]TJ -T* -[(size_t )-600(curpos;)-600(/* current position in buffer */)]TJ -T* -[(int )-2400(flags;)-1200(/* see below */)]TJ --2.4 -1.189 Td -(};)Tj -0 -1.902 TD -(/* flags */)Tj -0 -1.189 TD -[(#define MS_READ)-3000(0x01 )-1800(/*)-600(open for reading */)]TJ -T* -[(#define MS_WRITE)-2400(0x02 )-1800(/*)-600(open for writing */)]TJ -0 -1.189 TD -[(#define MS_APPEND)-1800(0x04 )-1800(/*)-600(append to stream */)]TJ -0 -1.189 TD -[(#define MS_TRUNCATE 0x08)-2400(/* truncate the stream on open */)]TJ -T* -[(#define MS_MYBUF)-2400(0x10 )-1800(/*)-600(free buffer on close */)]TJ -0 -1.902 TD -(#ifndef MIN)Tj -0 -1.189 TD -(#define MIN\(a, b\) \(\(a\) < \(b\) ? \(a\) : \(b\)\))Tj -T* -(#endif)Tj -0 -1.902 TD -(static int mstream_read\(void *, char *, int\);)Tj -0 -1.189 TD -(static int mstream_write\(void *, const char *, int\);)Tj -T* -(static fpos_t mstream_seek\(void *, fpos_t, int\);)Tj -T* -(static int mstream_close\(void *\);)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47676 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(6)Tj -/T1_1 1 Tf -2.5 0 Td -[(UNIX )-250(System )-250(Overview)]TJ -40.241 0 Td -[(Chapter )-250(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 183.589 670.9597 Tm -[(Some )-320(UNIX )-320(systems )-320(further )-320(divide )-320(the )-320(manual )-320(pages )-320(within )-320(a )-320(given )-320(section, )-320(using )-320(an)]TJ -0 -1.25 TD -[(upper)18(case )-51(letter)]TJ -0.5506 Tc 7.031 0 Td -(.F)Tj -0 Tc 1.357 0 Td -[(or )-51(example, )-51(all )-51(the )-51(standar)]TJ -0.3006 Tc 11.932 0 Td -(di)Tj -0 Tc 1.203 0 Td -(nput/output)Tj -6.024 0.04 Td -(\()Tj -0.333 -0.04 Td -(I/O)Tj -1.729 0.04 Td -(\))Tj -0.634 -0.04 Td -[(functions )-51(in )-51(A)74(T&T )-51([1990e])]TJ --30.241 -1.25 Td -(ar)Tj -0.5298 Tc 0.877 0 Td -(ei)Tj -0 Tc 1.3 0 Td -[(ndicated )-280(as )-280(being )-280(in )-280(Section )-280(3S, )-280(as )-280(in)]TJ -/TT0 1 Tf -18.605 0 Td -(fopen)Tj -/T1_1 1 Tf -3 0.04 Td -(\()Tj -0.333 -0.04 Td -(3S)Tj -1.025 0.04 Td -(\))Tj -0.7798 Tc 0.333 -0.04 Td -(.O)Tj -0 Tc 1.816 0 Td -[(ther )-280(systems )-280(have )-280(r)18(eplaced )-280(the)]TJ --27.288 -1.25 Td -(numeric sections with alphabetic ones, such as C for commands.)Tj --0.092 Tc 9.9994 0 0 9.9994 147.5916 619.9628 Tm -(To)Tj -0 Tc 1.067 0 Td -(day)Tj -0.2816 Tc 1.556 0 Td -(,m)Tj -0 Tc 1.415 0 Td -[(ost )-32(manuals )-32(ar)]TJ -0.2816 Tc 6.519 0 Td -(ed)Tj -0 Tc 1.372 0 Td -[(istributed )-32(in )-32(electr)18(onic )-32(form.)-532(If )-32(your )-32(manuals )-32(ar)]TJ -0.2817 Tc 21.49 0 Td -(eo)Tj -0 Tc 1.307 0 Td -(nline,)Tj --36.525 -1.2 Td -(the way to see the manual pages for the)Tj -/TT0 1 Tf -17.748 0 Td -(ls)Tj -/T1_1 1 Tf -1.45 0 Td -(command would be something like)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 591.2645 Tm -(man 1 ls)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5923 575.4053 Tm -(or)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 560.8463 Tm -(man -s1 ls)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5912 542.8474 Tm -(Figur)Tj -0.3929 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.372 0 Td -[(.3 )-143(is )-143(a )-143(pr)18(ogram )-143(that )-143(just )-143(prints )-143(the )-143(name )-143(of )-143(every )-143(\336le )-143(in )-143(a )-143(dir)19(ectory)]TJ -0.3928 Tc 31.11 0 Td -(,a)Tj -0 Tc 1.143 0 Td -(nd)Tj --37.807 -1.2 Td -[(nothing )-63(else.)-563(If )-63(the )-63(sour)18(ce )-63(\336le )-63(is )-63(named)]TJ -/TT0 1 Tf -18.218 0 Td -(myls.c)Tj -/T1_1 1 Tf -[(,)-313(we)-313(compile )-63(it )-63(into )-63(the )-63(default)]TJ -/TT0 1 Tf -17.782 0 Td -(a.out)Tj -/T1_1 1 Tf --36 -1.2 Td -[(executable \336le by r)8(unning)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5915 502.1499 Tm -(cc myls.c)Tj -/T1_1 1 Tf -7.9995 0 0 7.9995 183.5894 479.7512 Tm -[(Historically)111(,)]TJ -/TT0 1 Tf -5.66 0 Td -(cc)Tj -/T1_1 1 Tf -1.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.667 -0.04 Td -[(is )-84(the )-84(C )-84(compiler)]TJ -0.5845 Tc 7.671 0 Td -(.O)Tj -0.3345 Tc 1.621 0 Td -(ns)Tj -0 Tc 1.34 0 Td -[(ystems )-84(with )-84(the )-84(GNU )-84(C )-84(compilation )-84(system, )-84(the )-84(C)]TJ --18.992 -1.25 Td -(compiler is)Tj -/TT0 1 Tf -5.145 0 Td -(gcc)Tj -/T1_1 1 Tf -1.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(1)Tj -0.5 0.04 Td -(\))Tj -0.5 Tc 0.333 -0.04 Td -(.H)Tj -0 Tc 1.582 0 Td -[(er)18(e,)]TJ -/TT0 1 Tf -1.835 0 Td -(cc)Tj -/T1_1 1 Tf -1.45 0 Td -(is usually linked to)Tj -/TT0 1 Tf -8.665 0 Td -(gcc)Tj -/T1_1 1 Tf -(.)Tj -9.9994 0 0 9.9994 129.5927 448.7531 Tm -(Some sample output is)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5916 432.0541 Tm -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out /dev)Tj -/TT0 1 Tf --1.2 -1.189 Td -(.)Tj -0 -1.189 TD -(..)Tj -T* -(cdrom)Tj -T* -(stderr)Tj -0 -1.189 TD -(stdout)Tj -0 -1.189 TD -(stdin)Tj -T* -(fd)Tj -T* -(sda4)Tj -T* -(sda3)Tj -T* -(sda2)Tj -T* -(sda1)Tj -T* -(sda)Tj -T* -(tty2)Tj -0 -1.189 TD -(tty1)Tj -0 -1.189 TD -(console)Tj -T* -(tty)Tj -T* -(zero)Tj -T* -(null)Tj -/T1_2 1 Tf -12 -1.189 Td -(many mor)Tj -0.25 Tc 4.121 0 Td -(el)Tj -0 Tc 0.917 0 Td -[(ines that ar)18(en\325)]TJ -0.25 Tc 5.723 0 Td -(ts)Tj -0 Tc 0.972 0 Td -(hown)Tj -/TT0 1 Tf --23.733 -1.189 Td -(mem)Tj -T* -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out /etc/ssl/private)Tj -/TT0 1 Tf --1.2 -1.189 Td -(can\325t open /etc/ssl/private: Permission denied)Tj -0 -1.189 TD -($)Tj -/TT1 1 Tf -1.2 0 Td -(./a.out /dev/tty)Tj -/TT0 1 Tf --1.2 -1.189 Td -(can\325t open /dev/tty: Not a directory)Tj -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5926 157.2706 Tm -[(Thr)18(oughout )-6(this )-6(text, )-6(we\325ll )-6(show )-6(commands )-6(that )-6(we )-6(r)8(un )-6(and )-6(the )-6(r)18(esulting )-6(output )-6(in )-6(this)]TJ --0 -1.2 Td -[(fashion: )-305(Characters )-305(that )-305(we )-305(type )-305(ar)]TJ -0.5553 Tc 16.924 0 Td -(es)Tj -0 Tc 1.458 0 Td -[(hown )-305(in)]TJ -/TT1 1 Tf -4.527 0 Td -[(this )45(font)]TJ -/T1_1 1 Tf -0.5552 Tc (,w)Tj -0 Tc 6.994 0 Td -[(her)18(eas )-305(output )-305(fr)18(om)]TJ --29.905 -1.2 Td -[(pr)18(ograms )-25(is )-25(shown)]TJ -/TT0 1 Tf -8.791 0 Td -[(like )325(this)]TJ -/T1_1 1 Tf -0.5254 Tc (.I)Tj -0 Tc 6.188 0 Td -[(f)-275(we)-275(n)-1(eed )-25(to )-25(add )-25(comments )-25(to )-25(this )-25(output, )-25(we\325ll )-25(show)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47677 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(965)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(FPE_FLTDIV)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(FPE_FLTINV)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(FPE_FLTOVF)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(FPE_FLTRES)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(FPE_FLTSUB)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(FPE_FLTUND)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(FPE_INTDIV)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(FPE_INTOVF)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(fpos_t)Tj -/T1_0 1 Tf -4.017 0 Td -[(data type,)-500(59, 157)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(fprintf)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(159,)-250(452)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(159)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fputc)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(145,)-250(152, 154)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(155, 452)Tj --12.69 -1.25 Td -[(de\336nition of,)-500(152)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fputs)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(146,)-250(150, 152)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(156, 164, 168,)Tj --11.34 -1.25 Td -(174)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(175, 452, 543, 548, 550, 701, 901, 904, 91)55(1,)]TJ --2.167 -1.25 Td -(919, 926, 936)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(153)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fputwc)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(fputws)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(F_RDLCK)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(486)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(487, 489)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(490, 897,)Tj --12.73 -1.25 Td -(930)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(931)Tj -/TT0 1 Tf --4.866 -1.25 Td -(fread)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(150,)-250(156)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(157, 269, 273, 452)Tj --10.69 -1.25 Td -[(de\336nition of,)-500(156)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(free)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(163,)-250(174, 207)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(209, 330, 332, 401,)Tj --10.74 -1.25 Td -(403)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(405, 407, 437)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(438, 450, 697, 762, 829,)Tj --8.333 -1.25 Td -(833, 837, 842, 917)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(207)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(freeaddrinfo)Tj -/T1_0 1 Tf -7.617 0 Td -[(function, )-250(599,)-250(833)]TJ --6.267 -1.25 Td -[(de\336nition of,)-500(599)]TJ --1.35 -1.25 Td -[(Fr)18(eeBSD, )-250(xxi\320xxii,)-250(xxvi\320xxvii, 3)]TJ -14.138 0.09 Td -(\320)Tj -0.583 -0.09 Td -(4, 21, 26)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(27,)Tj --16.188 -1.25 Td -(29)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(30, 34)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(36, 38, 49, 57, 60, 62, 64, 68, 70, 81,)Tj --4.833 -1.25 Td -(83, 88, 95, 102, 108)Tj -8.083 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(111)Tj -0.25 Tc 1.39 0 Td -(,1)Tj -0 Tc 1 0 Td -(21, 129, 132, 138,)Tj --11.057 -1.25 Td -(175, 178, 182, 184)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(185, 187)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(188, 209)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(212,)Tj --16.5 -1.25 Td -(222, 225, 229, 240, 245, 253, 257, 260, 262, 269,)Tj -0 -1.25 TD -(271, 276)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(277, 288)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(289, 292, 298, 303, 310,)Tj --8.333 -1.25 Td -(314)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(316, 319, 322, 329, 334, 351, 355, 358, 371,)Tj --2.167 -1.25 Td -(373, 377, 379)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(380, 385, 388, 393, 396, 409,)Tj --6.166 -1.25 Td -(426)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(427, 433, 439, 473, 485, 492)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(493, 497,)Tj --14.333 -1.25 Td -(499, 503, 527, 534, 559, 561, 567, 572, 576,)Tj -T* -(594)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(595, 607, 61)55(1)]TJ -5.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(613, 627, 634, 648)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(649,)Tj --16.445 -1.25 Td -(652, 675)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(678, 685)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(691, 716, 724, 726)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(727,)Tj --16.5 -1.25 Td -(740)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(741, 744, 799, 91)55(1, 918, 930, 932)]TJ -13.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(933,)Tj --16.278 -1.25 Td -(935)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(936, 949, 951)Tj -/TT0 1 Tf --4.866 -1.25 Td -(freopen)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(144,)-250(148)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(150, 452)Tj --11.89 -1.25 Td -[(de\336nition of,)-500(148)]TJ --1.35 -1.25 Td -[(fr)18(equency scaling,)-500(785)]TJ -/TT0 1 Tf -T* -(fscanf)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(162,)-250(452)]TJ --2.667 -1.25 Td -[(de\336nition of,)-500(162)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fsck)Tj -/T1_0 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(122)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(fseek)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(149,)-250(157)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(159, 172, 452)Tj --10.69 -1.25 Td -[(de\336nition of,)-500(158)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fseeko)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(157)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(159, 172, 452)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(158)]TJ -/TT0 1 Tf -24.65 65 Td -(F_SETFD)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(82,)-250(85, 90, 480, 592, 907)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(F_SETFL)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(82)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(83, 85, 90, 51)55(1, 592, 627,)]TJ --8.063 -1.25 Td -(907, 944)Tj -/TT0 1 Tf --2.7 -1.25 Td -(F_SETLK)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(82,)-250(486)]TJ -7.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(488, 490, 494, 897,)Tj --10.063 -1.25 Td -(930)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(931)Tj -/TT0 1 Tf --4.866 -1.25 Td -(F_SETLKW)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(82,)-250(486, 488, 490, 897, 931)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(F_SETOWN)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(82)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(83, 510, 592, 626)Tj -7.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(627, 939)Tj -/TT0 1 Tf --19.03 -1.25 Td -(fsetpos)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(149,)-250(157)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(159, 172, 452)Tj --11.89 -1.25 Td -[(de\336nition of,)-500(158)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fstat)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(4,)-250(93)]TJ -6.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(95, 120, 331, 452, 494, 498,)Tj --7.84 -1.25 Td -(518, 529)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(530, 535, 586, 592, 698, 759, 808, 833)Tj --5.516 -1.25 Td -[(de\336nition of,)-500(93)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fstatat)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(93)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(95, 331, 452)Tj --9.39 -1.25 Td -[(de\336nition of,)-500(93)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fsync)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(61,)-250(81, 86)]TJ -8.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(87, 175, 331, 451, 513,)Tj --9.84 -1.25 Td -(517, 528, 592, 787, 913)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(81)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(ftell)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(157)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(159, 452)Tj --8.69 -1.25 Td -[(de\336nition of,)-500(158)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(ftello)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(157)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(159, 452)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(158)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(ftok)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(557)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(558)Tj --8.09 -1.25 Td -[(de\336nition of,)-500(557)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(ftpd)Tj -/T1_0 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(472,)-250(928)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(ftruncate)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(1)55(12, 125, 331, 529)]TJ -11.985 0.09 Td -(\320)Tj -0.583 -0.09 Td -(530, 592)Tj --17.035 -1.25 Td -(de\336nition of,)Tj --0.055 Tc 6.192 0 Td -(11)Tj -0 Tc 0.945 0 Td -(2)Tj -/TT0 1 Tf --8.487 -1.25 Td -(ftrylockfile)Tj -/T1_0 1 Tf -7.617 0 Td -[(function, )-250(443)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(444)Tj --12.89 -1.25 Td -[(de\336nition of,)-500(443)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fts)Tj -/T1_0 1 Tf -2.217 0 Td -[(function, )-250(132)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(ftw)Tj -/T1_0 1 Tf -2.217 0 Td -[(function, )-250(122,)-250(130)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(135, 141)Tj -/TT0 1 Tf --10.84 -1.25 Td -()Tj -/T1_0 1 Tf -4.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(0)Tj --8.839 -1.25 Td -[(full-duplex pipes,)-500(534)]TJ -1.35 -1.25 Td -[(named, )-250(534)]TJ -T* -[(timing, )-250(565)]TJ --1.35 -1.25 Td -[(function pr)18(ototypes, )-250(845)]TJ -11.072 0.09 Td -(\320)Tj -0.583 -0.09 Td -(893)Tj --11.656 -1.25 Td -[(functions, system calls versus,)-500(21)]TJ -14.896 0.09 Td -(\320)Tj -0.583 -0.09 Td -(23)Tj -/TT0 1 Tf --15.48 -1.25 Td -(F_UNLCK)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(486)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(487, 489)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(490, 897)Tj -/TT0 1 Tf --15.43 -1.25 Td -(funlockfile)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(443)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(444)Tj --12.29 -1.25 Td -[(de\336nition of,)-500(443)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(funopen)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(175,)-250(915)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(futimens)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(125)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(128, 331, 452, 910)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(126)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fwide)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(144)]TJ --2.067 -1.25 Td -[(de\336nition of,)-500(144)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fwprintf)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(fwrite)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(150,)-250(156)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(157, 382, 452, 925)Tj --11.29 -1.25 Td -[(de\336nition of,)-500(156)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(F_WRLCK)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(486)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(487, 489)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(490, 494, 897,)Tj --12.73 -1.25 Td -(931)Tj -/TT0 1 Tf --2.7 -1.25 Td -(fwscanf)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(452)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47678 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.3)]TJ -36.622 0 Td -(Recor)Tj -0.5 Tc 2.514 0 Td -(dL)Tj -0 Tc 1.722 0 Td -(ocking)Tj -/T1_1 1 Tf -4.975 0 Td -(487)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-495(p)]TJ --0.018 Tc 2.549 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(viously )-311(mentioned )-311(two )-311(types )-311(of )-311(locks: )-311(a )-311(shar)18(ed )-311(r)18(ead )-311(lock )-311(\()]TJ -/TT0 1 Tf -28.755 0 Td -(l_type)Tj -/T1_0 1 Tf -4.161 0 Td -(of)Tj -/TT0 1 Tf --38.121 -1.2 Td -(F_RDLCK)Tj -/T1_0 1 Tf -0.2832 Tc (\)a)Tj -0 Tc 5.316 0 Td -[(nd )-33(an )-33(exclusive )-33(write )-33(lock )-33(\()]TJ -/TT0 1 Tf -12.278 0 Td -(F_WRLCK)Tj -/T1_0 1 Tf -[(\). )-283(The)-283(basic )-33(r)8(ule )-33(is )-33(that )-33(any )-33(number )-33(of)]TJ --17.594 -1.2 Td -[(pr)18(ocesses )-16(can )-16(have )-16(a )-16(shar)18(ed )-16(r)18(ead )-16(lock )-16(on )-16(a )-16(given )-16(byte, )-16(but )-16(only )-16(one )-16(pr)24(ocess )-15(can )-15(have )-15(an)]TJ -0 -1.2 TD -[(exclusive )-88(write )-88(lock )-88(on )-88(a )-88(given )-88(byte.)-591(Furthermor)18(e, )-88(if )-88(ther)]TJ -0.3384 Tc 26.074 0 Td -(ea)Tj --0.018 Tc 1.317 0 Td -[(re )-124(o)]TJ -0 Tc 1.74 0 Td -[(ne )-88(or )-88(mor)]TJ -0.3384 Tc 4.485 0 Td -(er)Tj -0 Tc 1.194 0 Td -[(ead )-88(locks)]TJ --34.811 -1.2 Td -[(on )-63(a )-63(byte, )-63(ther)]TJ -0.3131 Tc 6.495 0 Td -(ec)Tj -0 Tc 1.236 0 Td -[(an\325t )-63(be )-63(any )-63(write )-63(locks )-63(on )-63(that )-63(byte; )-63(if )-63(ther)17(e)-313(is)-313(an)-313(exclusive )-63(write )-63(lock)]TJ --7.731 -1.2 Td -[(on )-28(a )-28(byte, )-28(ther)]TJ -0.2784 Tc 6.391 0 Td -(ec)Tj -0 Tc 1.201 0 Td -[(an\325t )-28(be )-28(any )-28(r)18(ead )-28(locks )-28(on )-28(that )-28(byte.)]TJ --0.092 Tc 16.087 0 Td -[(We )-212(s)]TJ -0 Tc 2.089 0 Td -[(how )-28(this )-28(compatibility )-28(r)7(ule )-28(in)]TJ --25.769 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(4.3.)Tj -7.9995 0 0 7.9995 372.3815 579.3652 Tm -(Request for)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3458.25 5754.25 cm -0 0 m -907 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.018 Tc 7.999 0 0 7.999 352.7497 567.3319 Tm -(re)Tj -0 Tc 0.856 0 Td -[(ad lock)-1500(write lock)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2921.25 5634.25 cm -0 0 m -1444 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4365.25 5614.25 cm -0 0 m --1444 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 362.8947 553.3004 Tm -[(OK )-3971(OK)]TJ --8.104 0 Td -(no locks)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2921.25 5394.25 cm -0 0 m -1444 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 362.8729 531.2725 Tm -[(OK )-3200(denied)]TJ --8.104 0 Td -[(one or mor)18(e)]TJ --0.018 Tc 0 -1.25 TD -(re)Tj -0 Tc 0.856 0 Td -(ad locks)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2921.25 5174.25 cm -0 0 m -1444 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 356.689 509.2472 Tm -[(denied )-2430(denied)]TJ --18.015 2.125 Td -[(Region curr)18(ently has)]TJ -10.681 -2.125 Td -(one write)Tj -T* -(lock)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2921.25 4954.25 cm -0 0 m -1444 0 l -1444 800 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3912.25 4954.25 cm -0 0 m -0 800 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3458.25 4954.25 cm -0 0 m -0 800 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3478.25 4954.25 cm -0 0 m -0 800 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2921.25 4954.25 cm -0 0 m -0 680 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 226.0906 475.2289 Tm -(Figure 14.3)Tj -/T1_0 1 Tf -5.695 0 Td -[(Compatibility between dif)18(fer)18(ent lock types)]TJ -9.9964 0 0 9.9964 147.5471 447.6388 Tm -[(The )-10(compatibility )-10(r)8(ule )-10(applies )-10(to )-10(lock )-10(r)18(equests )-10(made )-10(fr)18(om )-10(dif)18(fer)18(ent )-10(pr)18(ocesses, )-10(not )-10(to)]TJ --1.8 -1.2 Td -[(multiple )-78(lock )-78(r)19(equests )-78(made )-78(by )-78(a )-78(single )-78(pr)20(ocess. )-328(If)]TJ -0.3277 Tc 23.393 0 Td -(ap)Tj --0.018 Tc 1.429 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-78(has )-78(an )-78(existing )-78(lock )-78(on )-78(a)]TJ --25.745 -1.2 Td -[(range )-155(of )-155(a )-155(\336le, )-155(a )-155(subsequent )-155(attempt )-155(to )-155(place )-155(a )-155(lock )-155(on )-155(the )-155(same )-155(range )-155(by )-155(the )-155(same)]TJ -0 -1.2 TD -[(pr)18(ocess )-93(will )-93(r)17(eplace )-93(the )-93(existing )-93(lock )-93(with )-93(the )-93(new )-93(one.)-593(Thus, )-93(if )-93(a )-93(pr)18(ocess )-93(has )-93(a )-93(write)]TJ -0 -1.2 Td -[(lock )-163(on )-163(bytes )-163(16)]TJ -7.626 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(32 )-163(of )-163(a )-163(\336le )-163(and )-163(then )-163(tries )-163(to )-163(place )-163(a )-163(r)15(ead )-163(lock )-163(on )-163(bytes )-163(16)]TJ -27.157 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(32, )-163(the)]TJ --0.018 Tc -35.95 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quest will succeed, and the write lock will be r)18(eplaced by a r)18(ead lock.)]TJ --0.092 Tc 0.944 -1.2 Td -[(To )-333(o)]TJ -0 Tc 2.012 0 Td -[(btain )-149(a )-149(r)18(ead )-149(lock, )-149(the )-149(descriptor )-149(must )-149(be )-149(open )-149(for )-149(r)18(eading; )-149(to )-149(obtain )-149(a )-149(write)]TJ --3.812 -1.2 Td -(lock, the descriptor must be open for writing.)Tj --0.092 Tc 1.8 -1.2 Td -[(We )-184(c)]TJ -0 Tc 2.081 0 Td -[(an now describe the thr)18(ee commands for the)]TJ -/TT0 1 Tf -19.884 0 Td -(fcntl)Tj -/T1_0 1 Tf -3.25 0 Td -(function.)Tj -/TT0 1 Tf --27.015 -2.04 Td -(F_GETLK)Tj -/T1_0 1 Tf -6 0 Td -[(Determine )-22(whether )-22(the )-22(lock )-22(described )-22(by)]TJ -/T1_2 1 Tf -18.616 0 Td -(\337ockptr)Tj -/T1_0 1 Tf -3.334 0 Td -[(is )-22(blocked )-22(by )-22(some )-22(other)]TJ --21.949 -1.2 Td -[(lock. )-479(If)]TJ -0.4789 Tc 3.965 0 Td -(al)Tj -0 Tc 1.27 0 Td -[(ock )-229(exists )-229(that )-229(would )-229(pr)18(event )-229(ours )-229(fr)18(om )-229(being )-229(cr)19(eated, )-229(the)]TJ --5.235 -1.2 Td -[(information )-25(on )-25(that )-25(existing )-25(lock )-25(overwrites )-25(the )-25(information )-25(pointed )-25(to )-25(by)]TJ -/T1_2 1 Tf -T* -(\337ockptr)Tj -/T1_0 1 Tf -0.5745 Tc (.I)Tj -0 Tc 4.223 0 Td -[(f)-324(no)-324(l)-1(ock )-74(exists )-74(that )-74(would )-74(pr)18(event )-74(ours )-74(fr)18(om )-74(being )-74(cr)18(eated, )-74(the)]TJ --4.223 -1.2 Td -[(str)8(uctur)]TJ -0.3967 Tc 3.49 0 Td -(ep)Tj -0 Tc 1.477 0 Td -[(ointed )-147(to )-147(by)]TJ -/T1_2 1 Tf -6.006 0 Td -(\337ockptr)Tj -/T1_0 1 Tf -3.459 0 Td -[(is )-147(left )-147(unchanged )-147(except )-147(for )-147(the)]TJ -/TT0 1 Tf -14.969 0 Td -(l_type)Tj -/T1_0 1 Tf --29.4 -1.2 Td -(member)Tj -0.25 Tc 3.598 0 Td -(,w)Tj -0 Tc 1.334 0 Td -(hich is set to)Tj -/TT0 1 Tf -5.715 0 Td -(F_UNLCK)Tj -/T1_0 1 Tf -(.)Tj -/TT0 1 Tf --16.647 -1.6 Td -(F_SETLK)Tj -/T1_0 1 Tf -6 0 Td -[(Set )-141(the )-141(lock )-141(described )-141(by)]TJ -/T1_2 1 Tf -11.903 0 Td -(\337ockptr)Tj -/T1_0 1 Tf -0.6406 Tc (.I)Tj -0 Tc 4.29 0 Td -[(f)-391(we)-391(a)]TJ --0.018 Tc 2.927 0 Td -[(re )-177(t)]TJ -0 Tc 1.573 0 Td -[(rying )-141(to )-141(obtain )-141(a )-141(r)18(ead )-141(lock)]TJ --20.692 -1.2 Td -(\()Tj -/TT0 1 Tf -(l_type)Tj -/T1_0 1 Tf -4.445 0 Td -(of)Tj -/TT0 1 Tf -1.391 0 Td -(F_RDLCK)Tj -/T1_0 1 Tf -[(\))-512(or)-512(a)-512(w)1(rite )-261(lock )-261(\()]TJ -/TT0 1 Tf -13.027 0 Td -(l_type)Tj -/T1_0 1 Tf -4.111 0 Td -(of)Tj -/TT0 1 Tf -1.391 0 Td -(F_WRLCK)Tj -/T1_0 1 Tf -0.5115 Tc (\)a)Tj -0 Tc 5.544 0 Td -[(nd )-261(the)]TJ --29.908 -1.2 Td -[(compatibility )-616(r)8(ule )-616(pr)18(events )-616(the )-616(system )-616(fr)16(om )-616(giving )-616(us )-616(the )-616(lock)]TJ -T* -(\(Figur)Tj -0.6678 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.647 0 Td -(4.3\),)Tj -/TT0 1 Tf -2.501 0 Td -(fcntl)Tj -/T1_0 1 Tf --0.018 Tc 3.668 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-418(immediately )-418(with)]TJ -/TT0 1 Tf -11.956 0 Td -(errno)Tj -/T1_0 1 Tf -3.668 0 Td -[(set )-418(to )-418(either)]TJ -/TT0 1 Tf --27.012 -1.2 Td -(EACCES)Tj -/T1_0 1 Tf -3.85 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(EAGAIN)Tj -/T1_0 1 Tf -(.)Tj -7.9971 0 0 7.9971 219.522 187.3325 Tm -[(Although )-261(POSIX )-261(allows )-261(an )-261(implementation )-261(to )-261(r)18(eturn )-261(either )-261(err)18(or )-261(code, )-261(all )-261(four)]TJ -0 -1.25 TD -[(implementations )-88(described )-88(in )-88(this )-88(text )-88(r)17(eturn)]TJ -/TT0 1 Tf -20.705 0 Td -(EAGAIN)Tj -/T1_0 1 Tf -3.938 0 Td -[(if )-88(the )-88(locking )-88(r)18(equest )-88(cannot)]TJ --24.643 -1.25 Td -(be satis\336ed.)Tj -9.9964 0 0 9.9964 189.8798 146.3473 Tm -[(This )-35(command )-35(is )-35(also )-35(used )-35(to )-35(clear )-35(the )-35(lock )-35(described )-35(by)]TJ -/T1_2 1 Tf -25.686 0 Td -(\337ockptr)Tj -/T1_0 1 Tf -3.347 0 Td -(\()Tj -/TT0 1 Tf -(l_type)Tj -/T1_0 1 Tf --29.067 -1.2 Td -(of)Tj -/TT0 1 Tf -1.129 0 Td -(F_UNLCK)Tj -/T1_0 1 Tf -(\).)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47679 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -34.357 0 Td -[(Chapter )-250(5)-750(Solutions)]TJ -/T1_1 1 Tf -11.476 0 Td -(915)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 198.8081 670.2598 Tm -(ms->vsize = size;)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(fp = funopen\(ms, mstream_read, mstream_write,)Tj -1.2 -1.189 Td -(mstream_seek, mstream_close\);)Tj --1.2 -1.189 Td -(if \(fp == NULL\) {)Tj -2.4 -1.189 Td -(if \(ms->flags & MS_MYBUF\))Tj -2.4 -1.189 Td -(free\(ms->buf\);)Tj --2.4 -1.189 Td -(free\(ms\);)Tj --2.4 -1.189 Td -(})Tj -T* -(return\(fp\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(static int)Tj -0 -1.189 TD -(type_to_flags\(const char *__restrict type\))Tj -T* -({)Tj -2.4 -1.189 Td -(const char *cp;)Tj -T* -(int flags = 0;)Tj -0 -1.902 TD -(for \(cp = type; *cp != 0; cp++\) {)Tj -2.4 -1.189 Td -(switch \(*cp\) {)Tj -0 -1.189 TD -(case \325r\325:)Tj -2.4 -1.189 Td -(if \(flags != 0\))Tj -2.4 -1.189 Td -[(return\(0\); )-600(/*)-600(error */)]TJ --2.4 -1.189 Td -(flags |= MS_READ;)Tj -0 -1.189 TD -(break;)Tj --2.4 -1.902 Td -(case \325w\325:)Tj -2.4 -1.189 Td -(if \(flags != 0\))Tj -2.4 -1.189 Td -[(return\(0\); )-600(/*)-600(error */)]TJ --2.4 -1.189 Td -(flags |= MS_WRITE|MS_TRUNCATE;)Tj -T* -(break;)Tj --2.4 -1.902 Td -(case \325a\325:)Tj -2.4 -1.189 Td -(if \(flags != 0\))Tj -2.4 -1.189 Td -[(return\(0\); )-600(/*)-600(error */)]TJ --2.4 -1.189 Td -(flags |= MS_APPEND;)Tj -T* -(break;)Tj --2.4 -1.902 Td -(case \325+\325:)Tj -2.4 -1.189 Td -(if \(flags == 0\))Tj -2.4 -1.189 Td -[(return\(0\); )-600(/*)-600(error */)]TJ --2.4 -1.189 Td -(flags |= MS_READ|MS_WRITE;)Tj -T* -(break;)Tj --2.4 -1.902 Td -(case \325b\325:)Tj -2.4 -1.189 Td -(if \(flags == 0\))Tj -2.4 -1.189 Td -[(return\(0\); )-600(/*)-600(error */)]TJ --2.4 -1.189 Td -(break;)Tj --2.4 -1.902 Td -(default:)Tj -2.4 -1.189 Td -[(return\(0\); )-3000(/*)-600(error */)]TJ --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47680 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(488)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -(F_SETLKW)Tj -/T1_1 1 Tf -6 0 Td -[(This )-36(command )-36(is )-36(a )-36(blocking )-36(version )-36(of)]TJ -/TT0 1 Tf -17.555 0 Td -(F_SETLK)Tj -/T1_1 1 Tf -0.5358 Tc (.\()Tj -0 Tc 5.319 0 Td -(The)Tj -/TT0 1 Tf -1.96 0 Td -(W)Tj -/T1_1 1 Tf -0.886 0 Td -[(in )-36(the )-36(command)]TJ --25.72 -1.2 Td -[(name )-230(means)]TJ -/T1_2 1 Tf -6.273 0 Td -(wait)Tj -/T1_1 1 Tf -[(.\) )-480(If)-481(the )-230(r)18(equested )-230(r)17(ead )-230(lock )-230(or )-230(write )-230(lock )-230(cannot )-230(be)]TJ --6.273 -1.2 Td -[(granted )-55(because )-55(another )-55(pr)18(ocess )-55(curr)18(ently )-55(has )-55(some )-55(part )-55(of )-55(the )-55(r)21(equested)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(gion )-125(locked, )-125(the )-125(calling )-125(pr)18(ocess )-125(is )-125(put )-125(to )-125(sleep.)-623(The )-125(pr)18(ocess )-125(wakes )-125(up)]TJ --0.856 -1.2 Td -[(either when the lock becomes available or when interr)8(upted by a signal.)]TJ --4.2 -2.16 Td -[(Be )-100(awar)]TJ -0.35 Tc 3.651 0 Td -(et)Tj -0 Tc 1.155 0 Td -[(hat )-100(testing )-100(for )-100(a )-100(lock )-100(with)]TJ -/TT0 1 Tf -12.136 0 Td -(F_GETLK)Tj -/T1_1 1 Tf -4.55 0 Td -[(and )-100(then )-100(trying )-100(to )-100(obtain )-100(that )-100(lock)]TJ --23.292 -1.2 Td -(with)Tj -/TT0 1 Tf -2.416 0 Td -(F_SETLK)Tj -/T1_1 1 Tf -4.583 0 Td -(or)Tj -/TT0 1 Tf -1.324 0 Td -(F_SETLKW)Tj -/T1_1 1 Tf -5.183 0 Td -[(is )-133(not )-133(an )-133(atomic )-133(operation.)]TJ --0.092 Tc 12.92 0 Td -[(We )-317(h)]TJ -0 Tc 2.352 0 Td -[(ave )-133(no )-133(guarantee )-133(that,)]TJ --28.776 -1.2 Td -[(between )-112(the )-112(two)]TJ -/TT0 1 Tf -7.91 0 Td -(fcntl)Tj -/T1_1 1 Tf -3.362 0 Td -[(calls, )-112(some )-112(other )-112(pr)18(ocess )-112(won\325t )-112(come )-112(in )-112(and )-112(obtain )-112(the )-112(same)]TJ --11.272 -1.2 Td -[(lock. )-334(If)-334(we )-84(don\325t )-84(want )-84(to )-84(block )-84(while )-84(waiting )-84(for )-84(a )-84(lock )-84(to )-84(become )-84(available )-84(to )-84(us, )-84(we)]TJ -T* -[(must handle the possible err)18(or r)18(eturns fr)18(om)]TJ -/TT0 1 Tf -19.544 0 Td -(F_SETLK)Tj -/T1_1 1 Tf -(.)Tj -7.9995 0 0 7.9995 183.5888 531.3681 Tm -[(Note )-25(that )-25(POSIX.1 )-25(doesn\325t )-25(specify )-25(what )-25(happens )-25(when )-25(one )-25(pr)14(ocess )-25(r)18(ead )-25(locks )-25(a )-25(range )-25(of )-25(a )-25(\336le,)]TJ -0.4873 Tc 0 -1.25 TD -(as)Tj -0 Tc 1.411 0 Td -[(econd )-237(pr)18(ocess )-237(blocks )-237(while )-237(trying )-237(to )-237(get )-237(a )-237(write )-237(lock )-237(on )-237(the )-237(same )-237(range, )-237(and )-237(a )-237(thir)14(d)]TJ --1.411 -1.25 Td -[(pr)18(ocesses )-4(then )-4(attempts )-4(to )-4(get )-4(another )-4(r)18(ead )-4(lock )-4(on )-4(the )-4(range.)-504(If )-4(the )-4(thir)]TJ -0.2539 Tc 31.939 0 Td -(dp)Tj --0.018 Tc 1.466 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(cess )-4(is )-4(allowed )-4(to)]TJ --34.328 -1.25 Td -[(place )-303(a )-303(r)18(ead )-303(lock )-303(on )-303(the )-303(range )-303(just )-303(because )-303(the )-303(range )-303(is )-303(alr)12(eady )-304(r)18(ead )-304(locked, )-304(then )-304(the)]TJ -T* -[(implementation )-21(might )-21(starve )-21(pr)18(ocesses )-21(with )-21(pending )-21(write )-21(locks.)-521(Thus, )-21(as )-21(additional )-21(r)22(equests)]TJ -T* -[(to )-208(r)18(ead )-208(lock )-208(the )-208(same )-208(range )-208(arrive, )-208(the )-208(time )-208(that )-208(the )-208(pr)22(ocess )-208(with )-208(the )-208(pending )-208(write-lock)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(quest )-50(has )-50(to )-50(wait )-50(is )-50(extended.)-550(If )-50(the )-50(r)17(ead)]TJ -18.444 0.09 Td -(-)Tj -0.333 -0.09 Td -[(lock )-50(r)18(equests )-50(arrive )-50(quickly )-50(enough )-50(without )-50(a )-50(lull)]TJ --19.633 -1.25 Td -(in the arrival rate, then the writer could wait for a long time.)Tj -9.9994 0 0 9.9994 147.5905 440.3736 Tm -[(When )-136(setting )-136(or )-136(r)17(eleasing )-136(a )-136(lock )-136(on )-136(a )-136(\336le, )-136(the )-136(system )-136(combines )-136(or )-136(splits )-136(adjacent)]TJ --1.8 -1.2 Td -[(ar)18(eas )-66(as )-66(r)18(equir)18(ed. )-316(For)-316(example, )-66(if )-66(we )-66(lock )-66(bytes )-66(100 )-66(thr)17(ough )-66(199 )-66(and )-66(then )-66(unlock )-66(byte)]TJ -0 -1.2 Td -[(150, )-36(the )-36(kernel )-36(still )-36(maintains )-36(the )-36(locks )-36(on )-36(bytes )-36(100 )-36(thr)18(ough )-36(149 )-36(and )-36(bytes )-36(151 )-36(thr)18(ough)]TJ -0 -1.2 TD -[(199. )-250(Figur)]TJ -0.25 Tc 4.633 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(4.4 illustrates the byte-range locks in this situation.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 3824.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2454.25 3824.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2526.25 3824.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2598.25 3824.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 3824.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2742.25 3824.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.99988 0 0 0.99988 0 0 cm -0.699 g -277.8 346.4 93.6 36 re -f -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2778 3464 936 360 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 301.7897 362.5747 Tm -(locked range)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3714.25 3824.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 3824.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3858.25 3824.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3930.25 3824.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4002.25 3824.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4074.25 3824.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 3759.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 3694.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 3629.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 3565.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 3500.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4038.25 3464.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3966.25 3464.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3894.25 3464.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 3464.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 3464.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 3464.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3464.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2634.25 3464.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2562.25 3464.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2490.25 3464.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 3464.25 cm -0 0 m --36 0 l --36 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 3529.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 3593.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 3658.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 3723.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 3788.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2814.25 3428.25 cm -0 0 m -0 -72 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 275.3339 326.5616 Tm -(100)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3678.25 3428.25 cm -0 0 m -0 -72 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 361.6915 326.542 Tm -(199)Tj --13.313 -2.25 Td -[(File after locking bytes 100 thr)18(ough 199)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2850.25 3824.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2850.25 3759.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2850.25 3694.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2850.25 3629.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2850.25 3565.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2850.25 3500.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 3824.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 3759.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 3694.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 3629.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 3565.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 3500.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2816.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2454.25 2816.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2526.25 2816.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2598.25 2816.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 2816.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2742.25 2816.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.9996401 0 0 0.9996401 0 0 cm -0.699 g -277.8 245.6 43.2 36 re -f -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2778 2456 432 360 re -S -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 292.2772 271.7258 Tm -(\336rst)Tj --0.588 -1.25 Td -(locked)Tj -0.207 -1.25 Td -(range)Tj -ET -q -0.9995801 0 0 0.9995801 0 0 cm -0.699 g -328.2 245.6 43.2 36 re -f -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -3282 2456 432 360 re -S -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 337.2941 271.7095 Tm -(second)Tj -0.08 -1.25 Td -(locked)Tj -0.207 -1.25 Td -(range)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3714.25 2816.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 2816.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3858.25 2816.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3930.25 2816.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4002.25 2816.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4074.25 2816.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2751.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2686.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2621.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2557.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2492.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4038.25 2456.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3966.25 2456.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3894.25 2456.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 2456.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3750.25 2456.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3210.25 2456.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3270.25 2456.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3330.25 2456.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3390.25 2456.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3210.25 2816.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3270.25 2816.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3330.25 2816.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3390.25 2816.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2778.25 2456.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 2456.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2634.25 2456.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2562.25 2456.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2490.25 2456.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 2456.25 cm -0 0 m --36 0 l --36 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2521.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2585.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2650.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2715.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2780.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2814.25 2420.25 cm -0 0 m -0 -72 l -S -Q -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 275.2513 225.7181 Tm -(100)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3174.25 2420.25 cm -0 0 m -0 -72 l -S -Q -Q -BT -/T1_1 1 Tf -7.9952 0 0 7.9952 311.2132 225.7045 Tm -(149)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3318.25 2420.25 cm -0 0 m -0 -72 l -S -Q -Q -BT -/T1_1 1 Tf -7.9947 0 0 7.9947 325.585 225.691 Tm -(151)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3678.25 2420.25 cm -0 0 m -0 -72 l -S -Q -Q -BT -/T1_1 1 Tf -7.9942 0 0 7.9942 361.5396 225.6774 Tm -(199)Tj --10.908 -2.25 Td -(File after unlocking byte 150)Tj -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2850.25 2816.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2850.25 2751.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2850.25 2686.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2850.25 2621.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2850.25 2557.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2850.25 2492.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 2816.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 2751.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 2686.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 2621.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 2557.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 2492.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 2816.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 2751.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 2686.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 2621.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 2557.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3354.25 2492.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 2816.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 2751.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 2686.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 2621.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 2557.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3642.25 2492.25 cm -0 0 m -0 -36 l -S -Q -Q -BT -/T1_0 1 Tf -7.9938 0 0 7.9938 250.8283 184.2562 Tm -(Figure 14.4)Tj -/T1_1 1 Tf -5.695 0 Td -(File byte-range lock diagram)Tj -9.9922 0 0 9.9922 147.4851 156.6777 Tm -[(If )-68(we )-68(wer)17(e)-318(to)-318(l)-1(ock )-68(byte )-68(150, )-68(the )-68(system )-68(would )-68(coalesce )-68(the )-68(adjacent )-68(locked )-68(r)13(egions)]TJ --1.8 -1.2 Td -[(into )-43(a )-43(single )-43(r)18(egion )-43(fr)18(om )-43(byte )-43(100 )-43(thr)18(ough )-43(199.)-543(The )-43(r)18(esulting )-43(pictur)]TJ -0.2932 Tc 30.294 0 Td -(ew)Tj -0 Tc 1.606 0 Td -[(ould )-43(be )-43(the )-43(\336rst)]TJ --31.9 -1.2 Td -(diagram in Figur)Tj -0.25 Tc 7.492 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(4.4, the same as when we started.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47681 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(C)]TJ -34.357 0 Td -[(Chapter )-250(5)-750(Solutions)]TJ -/T1_1 1 Tf -11.476 0 Td -(917)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 177.2094 670.2598 Tm -(if \(ms->curpos > ms->vsize\) {)Tj -2.4 -1.189 Td -(ms->vsize = ms->curpos;)Tj -0 -1.189 TD -(if \(\(\(ms->flags & \(MS_READ|MS_WRITE\)\) ==)Tj -1.2 -1.189 Td -(\(MS_READ|MS_WRITE\)\) && \(ms->vsize < ms->rsize\)\))Tj -1.2 -1.189 Td -(*\(ms->buf + ms->vsize\) = 0;)Tj --4.8 -1.189 Td -(})Tj -T* -(if \(\(ms->flags & \(MS_WRITE|MS_APPEND\)\) &&)Tj -1.2 -1.189 Td -(!\(ms->flags & MS_READ\)\) {)Tj -1.2 -1.189 Td -(if \(ms->curpos < ms->rsize\))Tj -2.4 -1.189 Td -(*\(ms->buf + ms->curpos\) = 0;)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(*\(ms->buf + ms->rsize - 1\) = 0;)Tj --4.8 -1.189 Td -(})Tj -T* -(return\(nw\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(static fpos_t)Tj -0 -1.189 TD -(mstream_seek\(void *cookie, fpos_t pos, int whence\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(int off;)Tj -T* -(struct memstream *ms = cookie;)Tj -0 -1.902 TD -(switch \(whence\) {)Tj -0 -1.189 TD -(case SEEK_SET:)Tj -2.4 -1.189 Td -(off = pos;)Tj -T* -(break;)Tj --2.4 -1.189 Td -(case SEEK_END:)Tj -2.4 -1.189 Td -(off = ms->vsize + pos;)Tj -T* -(break;)Tj --2.4 -1.189 Td -(case SEEK_CUR:)Tj -2.4 -1.189 Td -(off = ms->curpos + pos;)Tj -T* -(break;)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(off < 0 || off > ms->vsize\) {)Tj -2.4 -1.189 Td -(errno = EINVAL;)Tj -T* -(return -1;)Tj --2.4 -1.189 Td -(})Tj -T* -(ms->curpos = off;)Tj -0 -1.189 TD -(return\(off\);)Tj --2.4 -1.189 Td -(})Tj -0 -1.902 TD -(static int)Tj -0 -1.189 TD -(mstream_close\(void *cookie\))Tj -T* -({)Tj -2.4 -1.189 Td -(struct memstream *ms = cookie;)Tj -0 -1.902 TD -(if \(ms->flags & MS_MYBUF\))Tj -2.4 -1.189 Td -(free\(ms->buf\);)Tj --2.4 -1.189 Td -(free\(ms\);)Tj -0 -1.189 TD -(return\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1556.25 1476.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1596.25 1476.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 232.974 134.0029 Tm -(Figure C.4)Tj -/T1_0 1 Tf -5.417 0 Td -(Implementation of)Tj -/TT0 1 Tf -8.485 0 Td -(fmemopen)Tj -/T1_0 1 Tf -5.05 0 Td -(for BSD systems)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47682 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(964)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(F_FREESP)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(1)55(12)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(fgetc)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(150)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(151, 154)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(155, 452)Tj --12.857 -1.25 Td -[(de\336nition of,)-500(150)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(F_GETFD)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(82)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(83, 480, 592)Tj -/TT0 1 Tf --10.763 -1.25 Td -(F_GETFL)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(82)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(85, 592)Tj -/TT0 1 Tf --10.763 -1.25 Td -(F_GETLK)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(82,)-250(486)]TJ -7.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(490)Tj -/TT0 1 Tf --12.763 -1.25 Td -(F_GETOWN)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(82)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(83, 592, 626)Tj -/TT0 1 Tf --11.363 -1.25 Td -(fgetpos)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(157)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(159, 452)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(158)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fgets)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(10,)-250(12, 19, 150, 152)]TJ -12.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(156, 168,)Tj --13.84 -1.25 Td -(174)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(175, 214, 216, 452, 538, 543, 548,)Tj --2.167 -1.25 Td -(550)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(552, 616, 622, 654, 738, 753, 803, 845, 91)55(1,)]TJ --2.167 -1.25 Td -(913, 936)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(152)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fgetwc)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(fgetws)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(452)]TJ --4.017 -1.25 Td -[(FIFOs, )-250(95,)-250(534, 552)]TJ -8.492 0.09 Td -(\320)Tj -0.583 -0.09 Td -(556)Tj --9.075 -1.25 Td -(\336le)Tj -1.35 -1.25 Td -[(access permissions,)-500(99)]TJ -10.138 0.09 Td -(\320)Tj -0.583 -0.09 Td -(101, 140)Tj --10.721 -1.25 Td -[(block special,)-500(95, 138)]TJ -9.503 0.09 Td -(\320)Tj -0.583 -0.09 Td -(139)Tj --10.087 -1.25 Td -[(character special,)-500(95, 138)]TJ -11.178 0.09 Td -(\320)Tj -0.583 -0.09 Td -(139, 699)Tj --11.762 -1.25 Td -[(descriptor passing,)-500(587, 642)]TJ -12.473 0.09 Td -(\320)Tj -0.583 -0.09 Td -(652)Tj --13.057 -1.25 Td -[(descriptors, )-250(8)]TJ -6.269 0.09 Td -(\320)Tj -0.583 -0.09 Td -(10, 61)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(62)Tj --10.019 -1.25 Td -[(device special,)-500(137)]TJ -8.482 0.09 Td -(\320)Tj -0.583 -0.09 Td -(139)Tj --9.066 -1.25 Td -[(dir)18(ectory)]TJ -0.5 Tc 3.914 0 Td -(,9)Tj -0 Tc 1.25 0 Td -(5)Tj --5.164 -1.25 Td -[(gr)18(oup, )-250(182)]TJ -5.016 0.09 Td -(\320)Tj -0.583 -0.09 Td -(183)Tj --5.6 -1.25 Td -[(holes, )-250(68)]TJ -4.155 0.09 Td -(\320)Tj -0.583 -0.09 Td -(69, 1)Tj --0.055 Tc 1.945 0 Td -(11)Tj -0 Tc 1.028 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(2)Tj --9.24 -1.25 Td -[(mode cr)18(eation mask,)-500(104)]TJ -11.26 0.09 Td -(\320)Tj -0.583 -0.09 Td -(105, 129, 141, 169,)Tj --10.493 -1.25 Td -(233, 252, 466)Tj --1.35 -1.25 Td -[(of)18(fset, )-250(66)]TJ -4.256 0.09 Td -(\320)Tj -0.583 -0.09 Td -(68, 74, 77)Tj -4.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(78, 80, 231)Tj -4.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(232, 494, 522,)Tj --13.323 -1.25 Td -(747)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(748, 908)Tj --3.517 -1.25 Td -[(ownership, )-250(101)]TJ -7.067 0.09 Td -(\320)Tj -0.583 -0.09 Td -(102)Tj --7.65 -1.25 Td -(pointer)Tj -0.5 Tc 3.146 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(44)Tj --0.018 Tc -4.396 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(gular)Tj -0.5 Tc 2.271 0 Td -(,9)Tj -0 Tc 1.25 0 Td -(5)Tj --4.377 -1.25 Td -[(sharing, )-250(74)]TJ -5.163 0.09 Td -(\320)Tj -0.583 -0.09 Td -(77, 231)Tj --5.746 -1.25 Td -[(size, )-250(1)]TJ --0.055 Tc 2.889 0 Td -(11)Tj -0 Tc 1.028 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(2)Tj --5.446 -1.25 Td -[(times, )-250(124)]TJ -4.736 0.09 Td -(\320)Tj -0.583 -0.09 Td -(125, 532)Tj --5.319 -1.25 Td -[(tr)8(uncation, )-250(1)55(12)]TJ -0 -1.25 TD -[(types, )-250(95)]TJ -4.219 0.09 Td -(\320)Tj -0.583 -0.09 Td -(98)Tj -/TT0 1 Tf --6.152 -1.25 Td -(FILE)Tj -/T1_1 1 Tf -2.817 0 Td -[(str)8(uctur)18(e, )-250(131,)-250(143)]TJ -8.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(144, 151, 164, 168,)Tj --9.002 -1.25 Td -(171)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(172, 220, 235, 273, 443)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(444, 538,)Tj --12.333 -1.25 Td -(542)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(543, 545, 547, 622, 701, 754, 803, 914, 929)Tj --4.866 -1.25 Td -[(\336le system,)-500(4, 1)55(13)]TJ -7.995 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(6)Tj -/TT0 1 Tf --8.174 -1.25 Td -(devtmpfs)Tj -/T1_1 1 Tf -0.5 Tc 4.967 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(39)Tj -/TT0 1 Tf --6.217 -1.25 Td -(ext2)Tj -/T1_1 1 Tf -0.5 Tc 2.567 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(29)Tj -/TT0 1 Tf --3.817 -1.25 Td -(ext3)Tj -/T1_1 1 Tf -0.5 Tc 2.567 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(29)Tj -/TT0 1 Tf --3.817 -1.25 Td -(ext4)Tj -/T1_1 1 Tf -0.5 Tc 2.567 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(3, 86, 129, 465)Tj -/TT0 1 Tf --3.817 -1.25 Td -(HFS)Tj -/T1_1 1 Tf -0.5 Tc 1.967 0 Td -(,8)Tj -0 Tc 1.25 0 Td -[(7, 1)55(13, 1)55(16)]TJ -/TT0 1 Tf --3.217 -1.25 Td -(HSFS)Tj -/T1_1 1 Tf -0.5 Tc 2.567 0 Td -(,1)Tj -0 Tc 1.195 0 Td -(13)Tj -/TT0 1 Tf --3.762 -1.25 Td -(PCFS)Tj -/T1_1 1 Tf -0.5 Tc 2.567 0 Td -(,4)Tj -0 Tc 1.25 0 Td -[(9, 57, 1)55(13)]TJ -/TT0 1 Tf --3.817 -1.25 Td -(S5)Tj -/T1_1 1 Tf -0.5 Tc 1.367 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(5)Tj -/TT0 1 Tf --2.617 -1.25 Td -(UFS)Tj -/T1_1 1 Tf -0.5 Tc 1.967 0 Td -(,4)Tj -0 Tc 1.25 0 Td -[(9, 57, 65, 1)55(13, 1)55(16, 129)]TJ --4.567 -1.25 Td -[(\336lename, )-250(4)]TJ -27.35 65 Td -[(tr)8(uncation, )-250(65)]TJ -6.42 0.09 Td -(\320)Tj -0.583 -0.09 Td -(66)Tj -/TT0 1 Tf --8.353 -1.25 Td -(FILENAME_MAX)Tj -/T1_1 1 Tf -7.617 0 Td -[(constant, )-250(38)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(fileno)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(164,)-250(545, 701, 913)]TJ --2.667 -1.25 Td -[(de\336nition of,)-500(164)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_FILE_OFFSET_BITS)Tj -/T1_1 1 Tf -10.617 0 Td -[(constant, )-250(70)]TJ -/TT0 1 Tf --10.617 -1.25 Td -(FILEPERM)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(800,)-250(825)]TJ --5.217 -1.25 Td -[(\336les and dir)18(ectories, )-250(4)]TJ -9.988 0.09 Td -(\320)Tj -0.583 -0.09 Td -(8)Tj -/TT0 1 Tf --10.571 -1.25 Td -(FILESIZEBITS)Tj -/T1_1 1 Tf -7.617 0 Td -[(constant, )-250(39,)-250(44, 49)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(find)Tj -/T1_1 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(124,)-250(135, 252)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(finger)Tj -/T1_1 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(141,)-250(179, 910)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(FIOASYNC)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(627,)-250(939)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(940)Tj -/TT0 1 Tf --13.863 -1.25 Td -(FIOSETOWN)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(627)]TJ --5.817 -1.25 Td -[(FIPS, )-250(32)]TJ -3.855 0.09 Td -(\320)Tj -0.583 -0.09 Td -(33)Tj --4.439 -1.25 Td -[(Flandr)18(ena, B.,)-500(229, 952)]TJ -/TT0 1 Tf -T* -()Tj -/T1_1 1 Tf -5.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7, 38)Tj -/TT0 1 Tf --10.039 -1.25 Td -(flock)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(485)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(flock)Tj -/T1_1 1 Tf -3.417 0 Td -[(str)8(uctur)18(e, )-250(486,)-250(489)]TJ -8.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(490, 494)Tj -/TT0 1 Tf --12.302 -1.25 Td -(flockfile)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(443)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(444)Tj --11.09 -1.25 Td -[(de\336nition of,)-500(443)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(FLUSHO)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(680, 687)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(fmemopen)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(171)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(175, 913)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(171)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fmtmsg)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(21)55(1, 452)]TJ -/TT0 1 Tf --4.017 -1.25 Td -()Tj -/T1_1 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(0)Tj -/TT0 1 Tf --10.639 -1.25 Td -(FNDELAY)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(482)]TJ -/TT0 1 Tf --4.617 -1.25 Td -()Tj -/T1_1 1 Tf -7.017 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --11.239 -1.25 Td -(F_OK)Tj -/T1_1 1 Tf -2.817 0 Td -[(constant, )-250(102)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(follow_link)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(48)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(fopen)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(6,)-250(144, 148)]TJ -9.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(150, 165, 220, 273,)Tj --10.34 -1.25 Td -(452, 538)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(539, 542, 701, 803, 929)Tj --5.516 -1.25 Td -[(de\336nition of,)-500(148)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(FOPEN_MAX)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(38,)-250(43)]TJ --5.817 -1.25 Td -[(for)18(egr)18(ound pr)18(ocess gr)18(oup, )-250(296,)-250(298, 300)]TJ -17.821 0.09 Td -(\320)Tj -0.583 -0.09 Td -(303, 306,)Tj --15.705 -1.25 Td -[(31)55(1, 318)]TJ -3.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(322, 369, 377, 680)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(682, 685, 689, 710,)Tj --12.278 -1.25 Td -(719, 741, 944)Tj --2.7 -1.25 Td -[(for)18(egr)18(ound pr)18(ocess gr)18(oup ID,)-500(298, 303, 677)]TJ -/TT0 1 Tf -T* -(fork)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(1)55(1)]TJ -5.485 0.09 Td -(\320)Tj -0.583 -0.09 Td -(13, 19, 23, 77, 228)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(237,)Tj --14.352 -1.25 Td -(241)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(243, 245)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(249, 254, 260)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(261, 264)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(266,)Tj --16.666 -1.25 Td -(269)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(272, 274)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(275, 277, 282, 286, 288,)Tj --6.333 -1.25 Td -(290)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(292, 294, 296, 304, 307)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(308, 312, 326,)Tj --12.333 -1.25 Td -(331, 334, 370)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(372, 381, 457)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(462, 466)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(469,)Tj --16.5 -1.25 Td -(471, 479, 491)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(493, 498)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(500, 527, 533)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(539,)Tj --16.5 -1.25 Td -(541, 544, 546, 550, 557, 565, 577, 585, 588,)Tj -T* -(618)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(619, 642, 653)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(655, 658)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(659, 669)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(670,)Tj --16.666 -1.25 Td -(716, 721, 723)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(724, 726)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(728, 732, 739, 781,)Tj --10.333 -1.25 Td -(922)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(923, 927)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(928, 930)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(931, 934, 937, 939, 948)Tj --11.85 -1.25 Td -[(de\336nition of,)-500(229)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fork1)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(229)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(forkall)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(229)]TJ --4.617 -1.25 Td -[(Fowler)74(,)-250(G.)-250(S., )-250(135,)-250(949, 953)]TJ -/TT0 1 Tf -T* -(fpathconf)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(37,)-250(39, 41)]TJ -8.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(48, 53)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(55, 65,)Tj --0.055 Tc -15.407 -1.25 Td -(11)Tj -0 Tc 0.945 0 Td -(0, 452, 537, 679)Tj --2.295 -1.25 Td -[(de\336nition of,)-500(42)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47683 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(914)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 155.6107 670.2598 Tm -(static int type_to_flags\(const char *__restrict type\);)Tj -0 -1.189 TD -(static off_t find_end\(char *buf, size_t len\);)Tj -0 -1.902 TD -(FILE *)Tj -0 -1.189 TD -(fmemopen\(void *__restrict buf, size_t size,)Tj -2.4 -1.189 Td -(const char *__restrict type\))Tj --2.4 -1.189 Td -({)Tj -2.4 -1.189 Td -(struct memstream *ms;)Tj -0 -1.189 TD -(FILE *fp;)Tj -0 -1.902 TD -(if \(size == 0\) {)Tj -2.4 -1.189 Td -(errno = EINVAL;)Tj -0 -1.189 TD -(return\(NULL\);)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(\(ms = malloc\(sizeof\(struct memstream\)\)\) == NULL\) {)Tj -2.4 -1.189 Td -(errno = ENOMEM;)Tj -T* -(return\(NULL\);)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(\(ms->flags = type_to_flags\(type\)\) == 0\) {)Tj -2.4 -1.189 Td -(errno = EINVAL;)Tj -0 -1.189 TD -(free\(ms\);)Tj -0 -1.189 TD -(return\(NULL\);)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(buf == NULL\) {)Tj -2.4 -1.189 Td -(if \(\(ms->flags & \(MS_READ|MS_WRITE\)\) !=)Tj -1.2 -1.189 Td -(\(MS_READ|MS_WRITE\)\) {)Tj -1.2 -1.189 Td -(errno = EINVAL;)Tj -T* -(free\(ms\);)Tj -T* -(return\(NULL\);)Tj --2.4 -1.189 Td -(})Tj -T* -(if \(\(ms->buf = malloc\(size\)\) == NULL\) {)Tj -2.4 -1.189 Td -(errno = ENOMEM;)Tj -T* -(free\(ms\);)Tj -T* -(return\(NULL\);)Tj --2.4 -1.189 Td -(})Tj -T* -(ms->rsize = size;)Tj -T* -(ms->flags |= MS_MYBUF;)Tj -T* -(ms->curpos = 0;)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -0.6 -1.189 Td -(ms->buf = buf;)Tj -T* -(ms->rsize = size;)Tj -T* -(if \(ms->flags & MS_APPEND\))Tj -2.4 -1.189 Td -(ms->curpos = find_end\(ms->buf, ms->rsize\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(ms->curpos = 0;)Tj --4.8 -1.189 Td -(})Tj -T* -(if \(ms->flags & MS_APPEND\) {)Tj -24 0 Td -(/* "a" mode */)Tj --21.6 -1.189 Td -(ms->vsize = ms->curpos;)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -[(lse if \(ms->flags & MS_TRUNCATE\) {)-1800(/* "w" mode */)]TJ -0.6 -1.189 Td -(ms->vsize = 0;)Tj -0.6 Tc -2.4 -1.189 Td -(}e)Tj -0 Tc 1.8 0 Td -(lse {)Tj -22.2 0 Td -(/* "r" mode */)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47684 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(754)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -1.8 Tc 8.9995 0 0 8.9995 134.9919 659.4594 Tm -(1#)Tj -0 Tc 3 0 Td -(ifndef _APUE_DB_H)Tj -1.8 Tc -3 -1.189 Td -(2#)Tj -0 Tc 3 0 Td -(define _APUE_DB_H)Tj -1.8 Tc -3 -2.259 Td -(3t)Tj -0 Tc 3 0 Td -[(ypedef )-1800(void)]TJ -1.2 Tc 9 0 Td -(*D)Tj -0 Tc 2.4 0 Td -(BHANDLE;)Tj -1.8 Tc -14.4 -2.259 Td -(4D)Tj -0 Tc 3 0 Td -[(BHANDLE )-600(db_open\(const)-600(char *, int, ...\);)]TJ -1.8 Tc -3 -1.189 Td -(5v)Tj -0 Tc 3 0 Td -[(oid )-3000(db_close\(DBHANDLE\);)]TJ -1.8 Tc -3 -1.189 Td -(6c)Tj -0 Tc 3 0 Td -[(har )-2400(*db_fetch\(DBHANDLE,)-600(const char *\);)]TJ -1.8 Tc -3 -1.189 Td -(7i)Tj -0 Tc 3 0 Td -[(nt )-3600(db_store\(DBHANDLE,)-600(const char *, const char *, int\);)]TJ -1.8 Tc -3 -1.189 Td -(8i)Tj -0 Tc 3 0 Td -[(nt )-3600(db_delete\(DBHANDLE,)-600(const char *\);)]TJ -1.8 Tc -3 -1.189 Td -(9v)Tj -0 Tc 3 0 Td -[(oid )-3000(db_rewind\(DBHANDLE\);)]TJ --3.6 -1.189 Td -[(10 )-1200(char)-3000(*db_nextrec\(DBHANDLE, char *\);)]TJ -0 -2.259 TD -[(11 )-1200(/*)]TJ -0 -1.189 TD -[(12 )-1800(*)-600(Flags for db_store\(\).)]TJ -T* -[(13 )-1800(*/)]TJ -T* -[(14 )-1200(#define)-600(DB_INSERT )-2400(1)-2400(/* insert new record only */)]TJ -T* -[(15 )-1200(#define)-600(DB_REPLACE )-1800(2 )-1800(/*)-600(replace existing record */)]TJ -T* -[(16 )-1200(#define)-600(DB_STORE )-3000(3)-2400(/* replace or insert */)]TJ -0 -2.259 TD -[(17 )-1200(/*)]TJ -0 -1.189 TD -[(18 )-1800(*)-600(Implementation limits.)]TJ -0 -1.189 TD -[(19 )-1800(*/)]TJ -0 -1.189 TD -[(20 )-1200(#define)-600(IDXLEN_MIN )-1800(6 )-1800(/*)-600(key, sep, start, sep, length, \\n */)]TJ -T* -[(21 )-1200(#define)-600(IDXLEN_MAX 1024)-2400(/* arbitrary */)]TJ -T* -[(22 )-1200(#define)-600(DATLEN_MIN )-1800(2 )-1800(/*)-600(data byte, newline */)]TJ -T* -[(23 )-1200(#define)-600(DATLEN_MAX 1024)-2400(/* arbitrary */)]TJ -0 -2.259 TD -[(24 )-1200(#endif)-600(/* _APUE_DB_H */)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3604.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 336.4076 Tm -[([1 )167(\320 )167(3])]TJ --0.092 Tc 4 0 Td -[(We )-252(u)]TJ -0 Tc 2.308 0 Td -[(se )-68(the)]TJ -/TT0 1 Tf -2.926 0 Td -(_APUE_DB_H)Tj -/T1_1 1 Tf -6.318 0 Td -[(symbol )-68(to )-68(ensur)]TJ -0.318 Tc 7.226 0 Td -(et)Tj -0 Tc 1.123 0 Td -[(hat )-68(the )-68(contents )-68(of )-68(the )-68(header )-68(\336le)]TJ --19.901 -1.2 Td -(ar)Tj -0.3304 Tc 0.877 0 Td -(ei)Tj -0 Tc 1.1 0 Td -[(ncluded )-80(only )-80(once.)-581(The)]TJ -/TT0 1 Tf -11.143 0 Td -(DBHANDLE)Tj -/T1_1 1 Tf -5.13 0 Td -[(type )-80(r)18(epr)18(esents )-80(an )-80(active )-80(r)17(efer)18(ence )-80(to)]TJ --18.25 -1.2 Td -[(the )-298(database )-298(and )-298(is )-298(used )-298(to )-298(isolate )-298(applications )-298(fr)18(om )-298(the )-298(implementation)]TJ -0 -1.2 TD -[(details )-180(of )-180(the )-180(database.)-679(Compar)]TJ -0.4297 Tc 14.916 0 Td -(et)Tj -0 Tc 1.235 0 Td -[(his )-180(technique )-180(with )-180(the )-180(way )-180(the )-180(standar)20(d)]TJ --16.151 -1.2 Td -(I/O library exposes the)Tj -/TT0 1 Tf -10.566 0 Td -(FILE)Tj -/T1_1 1 Tf -2.65 0 Td -[(str)8(uctur)18(e)-250(to)-250(applications.)]TJ --17.216 -1.6 Td -[([4 )167(\320 )167(10])-1168(Next, )-203(we )-203(declar)]TJ -0.4534 Tc 11.324 0 Td -(et)Tj -0 Tc 1.258 0 Td -[(he )-203(pr)18(ototypes )-203(for )-203(the )-203(database )-203(library\325s )-203(public )-203(functions.)]TJ --8.582 -1.2 Td -[(Since )-112(this )-112(header )-112(is )-112(included )-112(by )-112(applications )-112(that )-112(want )-112(to )-112(use )-112(the )-112(library)]TJ -0.3617 Tc 33.076 0 Td -(,w)Tj -0 Tc 1.446 0 Td -(e)Tj --34.521 -1.2 Td -(don\325t declar)Tj -0.25 Tc 5.295 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(he pr)18(ototypes for the library\325s private functions her)18(e.)]TJ --10.35 -1.6 Td -([1)Tj -0.0833 Tc 0.778 0 Td -(1\3202)Tj -0 Tc 1.667 0 Td -[(4] )-472(The)-319(legal )-69(\337ags )-69(that )-69(can )-69(be )-69(passed )-69(to )-69(the)]TJ -/TT0 1 Tf -19.896 0 Td -(db_store)Tj -/T1_1 1 Tf -5.119 0 Td -[(function )-69(ar)]TJ -0.3191 Tc 4.903 0 Td -(ed)Tj -0 Tc 1.409 0 Td -[(e\336ned )-69(next,)]TJ --29.772 -1.2 Td -[(followed )-180(by )-180(fundamental )-180(limits )-180(of )-180(the )-180(implementation.)-680(These )-180(limits )-180(can )-180(be)]TJ -T* -[(changed, if desir)18(ed, to support bigger databases.)]TJ -0 -1.8 TD -[(The )-485(minimum )-485(index )-485(r)19(ecor)]TJ -0.7348 Tc 12.996 0 Td -(dl)Tj -0 Tc 1.637 0 Td -[(ength )-485(is )-485(speci\336ed )-485(by)]TJ -/TT0 1 Tf -11.222 0 Td -(IDXLEN_MIN)Tj -/T1_1 1 Tf -0.9848 Tc (.T)Tj -0 Tc 7.848 0 Td -(his)Tj --0.018 Tc -33.703 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(pr)18(esents )-219(a )-219(1)]TJ -5.63 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-219(key)]TJ -0.4687 Tc 3.863 0 Td -(,a1)Tj -0 Tc 2.187 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-219(separator)]TJ -0.4687 Tc 6.475 0 Td -(,a1)Tj -0 Tc 2.187 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-219(starting )-219(of)18(fset, )-219(another)]TJ --22.197 -1.2 Td -(1)Tj -0.5 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-66(separator)]TJ -0.3159 Tc 6.322 0 Td -(,a1)Tj -0 Tc 1.882 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-66(length, )-66(and )-66(a )-66(terminating )-66(newline )-66(character)]TJ -0.5659 Tc 21.808 0 Td -(.\()Tj -0 Tc 1.149 0 Td -(Recall)Tj --32.327 -1.2 Td -[(the )-67(format )-67(of )-67(an )-67(index )-67(r)17(ecor)]TJ -0.3172 Tc 12.62 0 Td -(df)Tj --0.018 Tc 1.261 0 Td -(ro)Tj -0.3172 Tc 0.923 0 Td -(mF)Tj -0 Tc 1.756 0 Td -(igur)Tj -0.3172 Tc 1.827 0 Td -(e2)Tj -0 Tc 1.296 0 Td -[(0.2.\) )-317(An)-317(index )-67(r)18(ecor)]TJ -0.3172 Tc 9.097 0 Td -(dw)Tj -0 Tc 1.762 0 Td -[(ill )-67(usually)]TJ --30.542 -1.2 Td -[(be lar)18(ger than)]TJ -/TT0 1 Tf -6.37 0 Td -(IDXLEN_MIN)Tj -/T1_1 1 Tf -6.25 0 Td -(bytes, but this is the bar)Tj -0.25 Tc 10.475 0 Td -(em)Tj -0 Tc 1.612 0 Td -(inimum size.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47685 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.4)]TJ -31.833 0 Td -[(Implementation )-250(Overview)]TJ -/T1_1 1 Tf -14 0 Td -(747)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.055 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -(Wi)Tj -0 Tc 1.236 0 Td -(th)Tj -/TT0 1 Tf -1.251 0 Td -(db_store)Tj -/T1_0 1 Tf -0.3426 Tc (,o)Tj -0 Tc 5.939 0 Td -[(nly )-93(one )-93(r)19(ecor)]TJ -0.3426 Tc 5.944 0 Td -(df)Tj -0 Tc 1.287 0 Td -[(or )-93(each )-93(key )-93(is )-93(allowed.)-591(Some )-92(database )-92(systems)]TJ --17.456 -1.2 Td -[(allow )-99(a )-99(key )-99(to )-99(have )-99(multiple )-99(r)16(ecor)18(ds )-99(and )-99(then )-99(pr)18(ovide )-99(a )-99(way )-99(to )-99(access )-99(all )-99(the )-99(r)14(ecor)18(ds)]TJ -0 -1.2 Td -[(associated )-146(with )-146(a )-146(given )-146(key)]TJ -0.6456 Tc 12.613 0 Td -(.A)Tj -0 Tc 1.674 0 Td -[(dditionally)111(,)-395(we)-395(h)-1(ave )-145(only )-145(a )-145(single )-145(index )-145(\336le, )-145(meaning)]TJ --14.287 -1.2 Td -[(that )-145(each )-145(data )-145(r)18(ecor)]TJ -0.3949 Tc 9.084 0 Td -(dc)Tj -0 Tc 1.45 0 Td -[(an )-145(have )-145(only )-145(a )-145(single )-145(key )-145(\(we )-145(don\325t )-145(support )-145(secondary )-145(keys\).)]TJ --10.534 -1.2 Td -[(Some )-2(database )-2(systems )-2(allow )-2(each )-2(r)18(ecor)18(d)-252(to)-252(have )-2(multiple )-2(keys )-2(and )-2(often )-2(use )-2(one )-2(index)]TJ -0 -1.2 TD -[(\336le )-214(per )-214(key)]TJ -0.7142 Tc 5.258 0 Td -(.E)Tj -0 Tc 1.575 0 Td -[(ach )-214(time )-214(a )-214(new )-214(r)17(ecor)]TJ -0.4642 Tc 9.98 0 Td -(di)Tj -0.4643 Tc 1.366 0 Td -(si)Tj -0 Tc 1.179 0 Td -[(nserted )-214(or )-214(deleted, )-214(all )-214(index )-214(\336les )-214(must )-214(be)]TJ --19.359 -1.2 Td -[(updated )-102(accor)18(dingly)]TJ -0.6016 Tc 9.17 0 Td -(.\()Tj -0 Tc 1.185 0 Td -[(An )-101(example )-101(of )-101(a )-101(\336le )-101(with )-101(multiple )-101(indexes )-101(is )-101(an )-101(employee )-101(\336le.)]TJ --0.092 Tc -10.354 -1.2 Td -[(We )-263(c)]TJ -0 Tc 2.16 0 Td -[(ould )-79(have )-79(one )-79(index )-79(whose )-79(key )-79(is )-79(the )-79(employee )-79(ID )-79(and )-79(another )-79(whose )-79(key )-79(is )-79(the)]TJ --2.16 -1.2 Td -[(employee\325s )-54(Social )-54(Security )-54(number)]TJ -0.5537 Tc 15.564 0 Td -(.H)Tj -0 Tc 1.636 0 Td -[(aving )-54(an )-54(index )-54(whose )-54(key )-54(is )-54(the )-54(employee )-54(name)]TJ --17.2 -1.2 Td -[(could be a pr)18(oblem, as names ar)]TJ -0.25 Tc 14.176 0 Td -(en)Tj -0 Tc 1.311 0 Td -(ot always unique.\))Tj --13.687 -1.2 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.229 0 Td -[(0.2 shows a general pictur)18(e)-250(of)-250(the database implementation.)]TJ --3.209 -8.712 Td -(index \336le:)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2022 4492.4 216 288 re -S -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 206.3032 466.824 Tm -[(fr)18(ee)]TJ -0.173 -1.25 Td -(ptr)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2238 4492.4 216 288 re -S -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 224.9635 466.796 Tm -(chain)Tj -0.539 -1.25 Td -(ptr)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2454 4492.4 216 288 re -S -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 246.5448 466.768 Tm -(chain)Tj -0.539 -1.25 Td -(ptr)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2670 4492.4 288 288 re -S -Q -BT -/T1_1 1 Tf -0.25 Tc 9.997 0 0 9.997 275.0675 461.7415 Tm -(...)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2958 4492.4 216 288 re -S -Q -BT -/T1_0 1 Tf -0 Tc 7.9971 0 0 7.9971 296.8971 466.7119 Tm -(chain)Tj -0.539 -1.25 Td -(ptr)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -3174 4492.4 144 288 re -S -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 319.6657 461.686 Tm -(\\n)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -3318 4492.4 1728 288 re -S -Q -q -0.9995201 0 0 0.9995201 0 0 cm -0.699 g -173.4 341.24 86.4 28.8 re -f -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -1734 3412.4 864 288 re -S -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -2598 3412.4 216 288 re -S -Q -BT -/T1_0 1 Tf -7.9957 0 0 7.9957 260.8631 358.6863 Tm -(chain)Tj -0.539 -1.25 Td -(ptr)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -2814 3412.4 216 288 re -S -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 286.3561 358.6647 Tm -(idx)Tj -0.033 -1.25 Td -(len)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -3030 3412.4 648 288 re -S -Q -BT -/T1_0 1 Tf -7.9947 0 0 7.9947 328.8189 353.6465 Tm -(key)Tj -ET -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -3678 3412.4 144 288 re -S -Q -BT -/T1_0 1 Tf -7.9942 0 0 7.9942 368.7184 353.6253 Tm -(sep)Tj -ET -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -3822 3412.4 216 288 re -S -Q -BT -/T1_0 1 Tf -7.9938 0 0 7.9938 386.9501 358.6002 Tm -(dat)Tj -0.121 -1.25 Td -[(of)18(f)]TJ -ET -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -4038 3412.4 144 288 re -S -Q -BT -/T1_0 1 Tf -7.9933 0 0 7.9933 404.6439 353.5829 Tm -(sep)Tj -ET -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -4182 3412.4 216 288 re -S -Q -BT -/T1_0 1 Tf -7.9928 0 0 7.9928 422.8712 358.5571 Tm -(dat)Tj -0.043 -1.25 Td -(len)Tj -ET -q -0.09991 0 0 0.09991 0 0 cm -3.2 w 1 j 1 J -4398 3412.4 144 288 re -S -Q -BT -/TT0 1 Tf -7.9923 0 0 7.9923 441.7757 353.5404 Tm -(\\n)Tj -ET -q -0.9990404 0 0 0.9990404 0 0 cm -0.699 g -454.2 341.24 50.4 28.8 re -f -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -4542 3412.4 504 288 re -S -Q -BT -/T1_0 1 Tf -9.9898 0 0 9.9898 154.1826 238.4367 Tm -(data \336le:)Tj -ET -q -0.9989805 0 0 0.9989805 0 0 cm -0.699 g -202.2 226.04 72 28.8 re -f -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -2022 2260.4 720 288 re -S -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -2742 2260.4 720 288 re -S -Q -BT -/T1_0 1 Tf -7.9914 0 0 7.9914 302.1255 238.4224 Tm -(data)Tj -ET -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -3462 2260.4 144 288 re -S -Q -BT -/TT0 1 Tf -7.9909 0 0 7.9909 348.2028 238.4081 Tm -(\\n)Tj -ET -q -0.9988606 0 0 0.9988606 0 0 cm -0.699 g -360.6 226.04 144 28.8 re -f -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -3606 2260.4 1440 288 re -S -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2238.25 4852.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3318.25 4852.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.0998861 0 0 0.0998861 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5046.25 4852.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.9988007 0 0 0.9988007 0 0 cm -q 1 0 0 1 223.8 496.04 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998801 0 0 0.0998801 0 0 cm -1 j 1 J -q 1 0 0 1 2238 4960.3999 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.9987408 0 0 0.9987408 0 0 cm -q 1 0 0 1 331.8 496.04 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -1 j 1 J -q 1 0 0 1 3318 4960.3999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998741 0 0 0.0998741 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2310.25 4960.25 cm -0 0 m -936 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9894 0 0 7.9894 259.5092 498.6214 Tm -(hash table)Tj -ET -q -0.9986808 0 0 0.9986808 0 0 cm -q 1 0 0 1 331.8 488.84 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998681 0 0 0.0998681 0 0 cm -1 j 1 J -q 1 0 0 1 3318 4888.3999 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.9986209 0 0 0.9986209 0 0 cm -q 1 0 0 1 504.6 488.84 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -1 j 1 J -q 1 0 0 1 5046 4888.3999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998621 0 0 0.0998621 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3390.25 4888.25 cm -0 0 m -1584 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9885 0 0 7.9885 393.6847 491.3719 Tm -[(index r)18(ecor)18(ds)]TJ -ET -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2598.25 3772.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.0998561 0 0 0.0998561 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4542.25 3772.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.9985011 0 0 0.9985011 0 0 cm -q 1 0 0 1 259.8 384.44 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998501 0 0 0.0998501 0 0 cm -1 j 1 J -q 1 0 0 1 2598 3844.3999 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.9984412 0 0 0.9984412 0 0 cm -q 1 0 0 1 454.2 384.44 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -1 j 1 J -q 1 0 0 1 4542 3844.3999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998441 0 0 0.0998441 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 3844.25 cm -0 0 m -1800 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9871 0 0 7.9871 326.7902 387.0524 Tm -[(one index r)18(ecor)18(d)]TJ -ET -q -0.0998381 0 0 0.0998381 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3030.25 3340.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.0998381 0 0 0.0998381 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4542.25 3340.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.9983214 0 0 0.9983214 0 0 cm -q 1 0 0 1 303 326.84 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998321 0 0 0.0998321 0 0 cm -1 j 1 J -q 1 0 0 1 3030 3268.3999 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.9982615 0 0 0.9982615 0 0 cm -q 1 0 0 1 454.2 326.84 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -1 j 1 J -q 1 0 0 1 4542 3268.3999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998261 0 0 0.0998261 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3102.25 3268.25 cm -0 0 m -1368 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9856 0 0 7.9856 344.2997 319.5044 Tm -(idx len)Tj -ET -q -0.0998202 0 0 0.0998202 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3606.25 2620.25 cm -0 0 m -0 144 l -S -Q -Q -q -0.9981417 0 0 0.9981417 0 0 cm -q 1 0 0 1 274.2 269.24 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0998142 0 0 0.0998142 0 0 cm -1 j 1 J -q 1 0 0 1 2742 2692.3999 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.9980818 0 0 0.9980818 0 0 cm -q 1 0 0 1 360.6 269.24 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -1 j 1 J -q 1 0 0 1 3606 2692.3999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0998082 0 0 0.0998082 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2814.25 2692.25 cm -0 0 m -720 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9842 0 0 7.9842 289.3146 271.941 Tm -[(one data r)18(ecor)18(d)]TJ -ET -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2742.25 2188.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.0998022 0 0 0.0998022 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3606.25 2188.25 cm -0 0 m -0 -144 l -S -Q -Q -q -0.997962 0 0 0.997962 0 0 cm -q 1 0 0 1 274.2 211.64 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0997962 0 0 0.0997962 0 0 cm -1 j 1 J -q 1 0 0 1 2742 2116.3999 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.9979021 0 0 0.9979021 0 0 cm -q 1 0 0 1 360.6 211.64 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0997902 0 0 0.0997902 0 0 cm -1 j 1 J -q 1 0 0 1 3606 2116.3999 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0997902 0 0 0.0997902 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2814.25 2116.25 cm -0 0 m -720 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9827 0 0 7.9827 304.5854 204.4379 Tm -(dat len)Tj -ET -q -0.9978423 0 0 0.9978423 0 0 cm -q 1 0 0 1 274.2 256.28 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -1 j 1 J -q 1 0 0 1 2742 2562.8 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3930 3426.8 cm -0 0 m -0 -187.2 l -0 -312 -198 -398.4 -594 -446.4 c --990 -494.4 -1188 -574.8 -1188 -687.6 c --1188 -856.8 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3285.25 4476.25 cm -0 0 m --32 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3221.25 4444.25 cm -0 0 m --33 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3156.25 4412.25 cm -0 0 m --32 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3092.25 4379.25 cm -0 0 m --33 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3027.25 4347.25 cm -0 0 m --33 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2962.25 4314.25 cm -0 0 m --32 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2897.25 4282.25 cm -0 0 m --32 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2833.25 4250.25 cm -0 0 m --32 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2768.25 4217.25 cm -0 0 m --32 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2704.25 4185.25 cm -0 0 m --33 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2639.25 4153.25 cm -0 0 m --33 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2574.25 4121.25 cm -0 0 m --32 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2509.25 4088.25 cm -0 0 m --32 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2445.25 4056.25 cm -0 0 m --32 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2380.25 4023.25 cm -0 0 m --32 -15 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2316.25 3991.25 cm -0 0 m --33 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2251.25 3959.25 cm -0 0 m --33 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2186.25 3926.25 cm -0 0 m --32 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2122.25 3894.25 cm -0 0 m --33 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2057.25 3861.25 cm -0 0 m --32 -15 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1992.25 3829.25 cm -0 0 m --32 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1927.25 3797.25 cm -0 0 m --32 -15 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1863.25 3765.25 cm -0 0 m --33 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1798.25 3733.25 cm -0 0 m --33 -16 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5046.25 4456.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5046.25 4380.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5046.25 4304.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5046.25 4228.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5046.25 4152.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5046.25 4076.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5046.25 4000.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5046.25 3924.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5046.25 3848.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5046.25 3772.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.0997842 0 0 0.0997842 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2130.25 4766.25 cm -0 0 m -0 432 l -S -Q -Q -q -0.9977824 0 0 0.9977824 0 0 cm -q 1 0 0 1 227.4 519.8 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.0997782 0 0 0.0997782 0 0 cm -1 j 1 J -q 1 0 0 1 2274 5198 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.0997782 0 0 0.0997782 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2130.25 5198.25 cm -0 0 m -72 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9818 0 0 7.9818 228.8775 521.8488 Tm -[(of)18(fset of \336rst index)]TJ --0.018 Tc 0 -1.25 TD -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(d)-250(on)-250(f)]TJ --0.018 Tc (re)Tj -0.25 Tc 4.795 0 Td -(el)Tj -0 Tc 1.02 0 Td -(ist)Tj -ET -q -0.0997723 0 0 0.0997723 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2562.25 4507.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9976627 0 0 0.9976627 0 0 cm -q 1 0 0 1 241.8 421.88 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0997663 0 0 0.0997663 0 0 cm -1 j 1 J -q 1 0 0 1 2418 4218.7998 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.0997663 0 0 0.0997663 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2562.25 4219.25 cm -0 0 m --72 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9808 0 0 7.9808 173.136 424.1009 Tm -[(of)18(fset of \336rst index)]TJ --0.018 Tc -2.791 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(d)-250(on)-250(this hash chain)]TJ -ET -q -0.0997603 0 0 0.0997603 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3427.25 cm -0 0 m -0 -288 l -S -Q -Q -q -0.9975429 0 0 0.9975429 0 0 cm -q 1 0 0 1 256.2 313.88 cm -0 0 m -7.2 1.8 l -7.2 -1.8 l -f -Q -Q -q -0.0997543 0 0 0.0997543 0 0 cm -1 j 1 J -q 1 0 0 1 2562 3138.8 cm -0 0 m -72 18 l -72 -18 l -h -S -Q -Q -q -0.0997543 0 0 0.0997543 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 3139.25 cm -0 0 m --72 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9799 0 0 7.9799 186.258 316.3218 Tm -[(of)18(fset of next index)]TJ --0.018 Tc -2.638 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(d)-250(on)-250(this hash chain)]TJ -/T1_1 1 Tf -7.572 -15.835 Td -(Figure 20.2)Tj -/T1_0 1 Tf -5.695 0 Td -(Arrangement of index \336le and data \336le)Tj -9.9748 0 0 9.9748 129.2739 156.0463 Tm -[(The )-168(index )-168(\336le )-168(consists )-168(of )-168(thr)18(ee )-168(portions: )-168(the )-168(fr)18(ee-list )-168(pointer)]TJ -0.4184 Tc 27.704 0 Td -(,t)Tj -0 Tc 0.994 0 Td -[(he )-168(hash )-168(table, )-168(and )-168(the)]TJ --28.698 -1.2 Td -[(index )-54(r)18(ecor)18(ds. )-304(In)-305(Figur)]TJ -0.3045 Tc 10.453 0 Td -(e2)Tj -0 Tc 1.284 0 Td -[(0.2, )-54(all )-54(the )-54(\336elds )-54(called)]TJ -/T1_2 1 Tf -10.518 0 Td -(ptr)Tj -/T1_0 1 Tf -1.526 0 Td -(ar)Tj -0.3045 Tc 0.877 0 Td -(es)Tj -0 Tc 1.207 0 Td -[(imply )-54(\336le )-54(of)18(fsets )-54(stor)18(ed )-54(as )-54(an)]TJ --25.864 -1.2 Td -[(ASCII number)74(.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47686 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(80)Tj -/T1_1 1 Tf -3 0 Td -[(File )-250(I/O)]TJ -39.741 0 Td -[(Chapter )-250(3)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(The )-6(new )-6(\336le )-6(descriptor )-6(that )-6(is )-6(r)18(eturned )-6(as )-6(the )-6(value )-6(of )-6(the )-6(functions )-6(shar)19(es )-6(the )-6(same)]TJ --1.8 -1.2 Td -(\336le table entry as the)Tj -/T1_2 1 Tf -9.423 0 Td -(fd)Tj -/T1_1 1 Tf -1.028 0 Td -[(ar)18(gument. )-250(W)]TJ -0.25 Tc 5.964 0 Td -(es)Tj -0 Tc 1.153 0 Td -(how this in Figur)Tj -0.25 Tc 7.591 0 Td -(e3)Tj -0 Tc 1.229 0 Td -(.9.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1341.24 5078 1008 1152 re -S -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 151.3778 626.1649 Tm -[(pr)18(ocess table entry)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 5726 576 72 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 5654 576 72 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 5582 576 72 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 5510 576 72 re -S -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -1629.24 5222 576 288 re -S -Q -BT -/T1_1 1 Tf -0.25 Tc 13.9975 0 0 13.9975 182.9411 534.7437 Tm -(...)Tj -0 Tc 6.9987 0 0 6.9987 147.5396 574.3366 Tm -(fd 0:)Tj -0 -1.029 TD -(fd 1:)Tj -0 -1.029 TD -(fd 2:)Tj -T* -(fd 3:)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1845.25 5798.25 cm -0 0 m -0 -288 l -S -Q -Q -BT -/T1_1 1 Tf -6.9983 0 0 6.9983 170.3791 588.6587 Tm -(fd)Tj --0.572 -0.714 Td -(\337ags)Tj -4.471 0.714 Td -(\336le)Tj --0.923 -0.714 Td -(pointer)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2925.24 5726 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 302.1693 577.8666 Tm -(\336le status \337ags)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2925.24 5582 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 298.4006 563.4371 Tm -[(curr)18(ent \336le of)18(fset)]TJ -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2925.24 5438 720 144 re -S -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 302.0531 549.0094 Tm -(v-node pointer)Tj -1.406 5.125 Td -(\336le table)Tj -6.9971 0 0 6.9971 427.7013 575.998 Tm -(v-node information)Tj -/TT0 1 Tf -2.52 -2.057 Td -(v_data)Tj -/T1_1 1 Tf --2.383 -4.114 Td -(i-node information)Tj -0.796 -2.057 Td -[(curr)18(ent \336le size)]TJ -/TT0 1 Tf -1.287 -1.543 Td -(i_vnode)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5870.25 cm -0 0 m -0 -288 l -720 -288 l -720 0 l -0 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5438.25 cm -0 0 m -0 -396 l -720 -396 l -720 0 l -0 0 l -720 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5690.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 5690.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 5690.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 5690.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 5690.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 5690.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 5690.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 5690.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 5690.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 5690.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5258.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 5258.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 5258.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 5258.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 5258.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 5258.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 5258.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 5258.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 5258.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 5258.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4221.25 5150.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4297.25 5150.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4373.25 5150.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4449.25 5150.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4525.25 5150.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4601.25 5150.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4677.25 5150.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4753.25 5150.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4829.25 5150.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4905.25 5150.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 422.124 545.96 cm -0 0 m --5.328 5.184 l --2.232 7.056 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 4221.2402 5459.6001 cm -0 0 m --53.28 51.84 l --22.32 70.56 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4293.2402 5636 cm -0 0 m --90 0 l --150 0 -162.6 -28.32 -127.8 -84.96 c --75.6 -169.92 l -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 496.284 587 cm -0 0 m -4.032 -6.192 l -0.648 -7.344 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 4962.8398 5870 cm -0 0 m -40.32 -61.92 l -6.48 -73.44 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4869.2402 5096 cm -0 0 m -180 0 l -300 0 315.96 127.92 227.88 383.76 c -95.76 767.52 l -S -Q -Q -BT -/T1_1 1 Tf -7.9952 0 0 7.9952 435.8024 589.886 Tm -(v-node table)Tj -ET -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 288.924 587 cm -0 0 m --5.832 -4.608 l --7.344 -1.296 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 5870 cm -0 0 m --58.32 -46.08 l --73.44 -12.96 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 5690 cm -0 0 m -180 0 l -300 0 424.92 29.52 554.76 88.56 c -749.52 177.12 l -S -Q -Q -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 288.924 583.4 cm -0 0 m --4.752 -5.688 l --6.84 -2.808 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 2889.24 5834 cm -0 0 m --47.52 -56.88 l --68.4 -28.08 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2133.24 5546 cm -0 0 m -180 0 l -300 0 425.04 47.28 555.12 141.84 c -750.24 283.68 l -S -Q -Q -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 418.524 587 cm -0 0 m --2.664 -6.912 l --5.616 -4.824 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 4185.2402 5870 cm -0 0 m --26.64 -69.12 l --56.16 -48.24 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3573.24 5510 cm -0 0 m -180 0 l -300 0 401.28 59.04 483.84 177.12 c -607.68 354.24 l -S -Q -Q -BT -/T1_0 1 Tf -7.9938 0 0 7.9938 239.9727 478.6265 Tm -(Figure 3.9)Tj -/T1_1 1 Tf -5.195 0 Td -[(Kernel data str)8(uctur)18(es after)]TJ -/TT0 1 Tf -12.315 0 Td -(dup)Tj -1.8 0.04 Td -(\()Tj -0.6 -0.04 Td -(1)Tj -0.6 0.04 Td -(\))Tj -/T1_1 1 Tf -9.9922 0 0 9.9922 129.4986 445.0527 Tm -[(In this \336gur)18(e, we assume that when it\325s started, the pr)18(ocess executes)]TJ -/TT0 1 Tf -8.993 0 0 8.993 147.4846 427.1667 Tm -(newfd = dup\(1\);)Tj -/T1_1 1 Tf --0.092 Tc 9.9922 0 0 9.9922 129.4986 407.9816 Tm -[(We )-231(a)]TJ -0 Tc 2.184 0 Td -[(ssume )-46(that )-46(the )-46(next )-46(available )-46(descriptor )-46(is )-46(3 )-46(\(which )-46(it )-46(pr)13(obably )-47(is, )-47(since )-47(0, )-47(1, )-47(and )-47(2)]TJ --2.184 -1.2 Td -(ar)Tj -0.3983 Tc 0.877 0 Td -(eo)Tj -0 Tc 1.423 0 Td -[(pened )-148(by )-148(the )-148(shell\).)-648(Because )-148(both )-148(descriptors )-148(point )-148(to )-148(the )-148(same )-148(\336le )-148(table )-148(entry)108(,)]TJ --2.3 -1.2 Td -[(they )-138(shar)]TJ -0.3884 Tc 4.214 0 Td -(et)Tj -0 Tc 1.193 0 Td -[(he )-138(same )-138(\336le )-138(status )-138(\337ags)]TJ -0.0833 Tc 11.05 0 Td -(\321r)Tj -0 Tc 1.46 0 Td -[(ead, )-138(write, )-138(append, )-138(and )-138(so )-138(on)]TJ -0.0833 Tc 13.856 0 Td -(\321a)Tj -0 Tc 1.583 0 Td -[(nd )-138(the )-138(same)]TJ --33.357 -1.2 Td -[(curr)18(ent \336le of)18(fset.)]TJ -1.8 -1.2 Td -[(Each )-396(descriptor )-396(has )-396(its )-396(own )-396(set )-396(of )-396(\336le )-396(descriptor )-396(\337ags.)-894(As )-396(we )-396(describe )-396(in)]TJ --1.8 -1.2 Td -[(Section )-257(3.14, )-257(the )-257(close-on-exec )-257(\336le )-257(descriptor )-257(\337ag )-257(for )-257(the )-257(new )-257(descriptor )-257(is )-257(always)]TJ -0 -1.2 TD -[(clear)18(ed by the)]TJ -/TT0 1 Tf -6.427 0 Td -(dup)Tj -/T1_1 1 Tf -2.05 0 Td -(functions.)Tj --6.677 -1.2 Td -[(Another )-288(way )-288(to )-288(duplicate )-288(a )-288(descriptor )-288(is )-288(with )-288(the)]TJ -/TT0 1 Tf -24.584 0 Td -(fcntl)Tj -/T1_1 1 Tf -3.538 0 Td -[(function, )-288(which )-288(we)]TJ --29.922 -1.2 Td -[(describe in Section 3.14.)-500(Indeed, the call)]TJ -/TT0 1 Tf -8.993 0 0 8.993 147.4856 294.1705 Tm -(dup\(fd\);)Tj -/T1_1 1 Tf -9.9922 0 0 9.9922 129.4996 274.9854 Tm -(is equivalent to)Tj -/TT0 1 Tf -8.993 0 0 8.993 147.4856 257.0994 Tm -(fcntl\(fd, F_DUPFD, 0\);)Tj -/T1_1 1 Tf -9.9922 0 0 9.9922 129.4996 237.9143 Tm -(Similarly)Tj -0.25 Tc 3.912 0 Td -(,t)Tj -0 Tc 0.826 0 Td -(he call)Tj -/TT0 1 Tf -8.993 0 0 8.993 147.4856 220.0283 Tm -(dup2\(fd, fd2\);)Tj -/T1_1 1 Tf -9.9922 0 0 9.9922 129.4996 200.8433 Tm -(is equivalent to)Tj -/TT0 1 Tf -8.993 0 0 8.993 147.4856 182.9572 Tm -(close\(fd2\);)Tj -0 -1.189 TD -(fcntl\(fd, F_DUPFD, fd2\);)Tj -/T1_1 1 Tf -9.9922 0 0 9.9922 129.4996 153.0805 Tm -[(In )-119(this )-119(last )-119(case, )-119(the)]TJ -/TT0 1 Tf -9.415 0 Td -(dup2)Tj -/T1_1 1 Tf -2.77 0 Td -[(is )-120(not )-120(exactly )-120(the )-120(same )-120(as )-120(a)]TJ -/TT0 1 Tf -12.965 0 Td -(close)Tj -/T1_1 1 Tf -3.37 0 Td -[(followed )-120(by )-120(an)]TJ -/TT0 1 Tf -7.231 0 Td -(fcntl)Tj -/T1_1 1 Tf -(.)Tj --35.75 -1.2 Td -[(The dif)18(fer)18(ences ar)18(e)-250(as)-250(follows:)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47687 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(963)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 151.1909 670.9597 Tm -(325, 372, 457, 479, 492, 527, 533, 538, 541, 557,)Tj -0 -1.25 TD -(585, 653)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(654, 658)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(659, 669, 716)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(717, 721,)Tj --14.499 -1.25 Td -(723, 727, 739, 742, 920, 928, 948)Tj -/TT0 1 Tf --2.7 -1.25 Td -(execl)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(249)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(251, 261, 265)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(266, 272,)Tj --13.507 -1.25 Td -(274)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(275, 283, 288, 331, 370)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(371, 539, 544,)Tj --12.333 -1.25 Td -(550)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(551, 618, 655, 737, 922)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(249)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(execle)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(249)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(251, 254, 287, 331)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(249)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(execlp)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(12)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(13, 19, 249)Tj -4.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(251, 253)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(254,)Tj --16.773 -1.25 Td -(264)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(265, 283, 740, 922)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(249)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(execv)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(249)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(251, 331)Tj --8.69 -1.25 Td -[(de\336nition of,)-500(249)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(execve)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(249)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(251, 253, 331, 922)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(249)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(execvp)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(249)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(251, 253, 731)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(732)Tj --15.457 -1.25 Td -[(de\336nition of,)-500(249)]TJ --1.35 -1.25 Td -[(exer)18(cises, solutions to,)-500(905)]TJ -11.901 0.09 Td -(\320)Tj -0.583 -0.09 Td -(945)Tj -/TT0 1 Tf --12.484 -1.25 Td -(_Exit)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(198,)-250(201, 236)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(237, 239, 331, 365,)Tj --11.34 -1.25 Td -(367, 388, 447)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(198)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_exit)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(198,)-250(201, 235)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(239, 265)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(266,)Tj --15.507 -1.25 Td -(282)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(283, 331, 365, 367, 370, 381, 388, 447, 921,)Tj --2.167 -1.25 Td -(924)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(198)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(exit)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(7,)-250(150, 154, 198)]TJ -11.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(202, 226, 231,)Tj --11.74 -1.25 Td -(234)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(239, 246, 249, 265, 271)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(272, 274)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(275,)Tj --16.5 -1.25 Td -(283, 288, 330, 365)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(366, 388, 447, 466, 542, 705,)Tj --8.166 -1.25 Td -(732, 742, 817, 830, 895, 920)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(921, 944)Tj --13.517 -1.25 Td -[(de\336nition of,)-500(198)]TJ --1.35 -1.25 Td -(exit handler)Tj -0.5 Tc 5.228 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(00)Tj -/TT0 1 Tf --6.478 -1.25 Td -(expect)Tj -/T1_0 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(720,)-250(739)]TJ -8.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(740, 951)Tj --12.791 -1.25 Td -[(exponential backof)18(f, )-250(606)]TJ -/TT0 1 Tf -T* -(ext2)Tj -/T1_0 1 Tf -2.817 0 Td -[(\336le system,)-500(129)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(ext3)Tj -/T1_0 1 Tf -2.817 0 Td -[(\336le system,)-500(129)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(ext4)Tj -/T1_0 1 Tf -2.817 0 Td -[(\336le system,)-500(73, 86, 129, 465)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(EXTPROC)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(676,)-250(687)]TJ -/TT0 1 Tf --4.617 -5.375 Td -(faccessat)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(102)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(104, 331, 452)Tj --11.09 -1.25 Td -[(de\336nition of,)-500(102)]TJ --1.35 -1.25 Td -[(Fagin, R.,)-500(744, 750, 949)]TJ -T* -[(Fast-STREAMS, Linux,)-500(534)]TJ -T* -[(fatal err)18(or)]TJ -0.5 Tc 4.318 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(6)Tj -/TT0 1 Tf --5.568 -1.25 Td -(fchdir)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(135)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(137, 592)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(135)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fchmod)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(106)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(108, 120, 125, 331, 452, 498,)Tj --7.94 -1.25 Td -(592)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(106)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fchmodat)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(106)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(108, 331, 452)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(106)]TJ -/TT0 1 Tf -24.65 65.375 Td -(fchown)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(109)]TJ -6.04 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(0, 125, 331, 452, 592)Tj --10.235 -1.25 Td -[(de\336nition of,)-500(109)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fchownat)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(109)]TJ -6.04 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(0, 331, 452)Tj --11.435 -1.25 Td -[(de\336nition of,)-500(109)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fclose)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(148)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(150, 172)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(174, 199, 201, 365,)Tj --12.107 -1.25 Td -(367, 452, 545, 701, 803)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(150)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fcntl)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(61,)-250(77, 80)]TJ -8.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(87, 90, 1)55(12, 148, 164,)]TJ --9.84 -1.25 Td -(252)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(253, 331, 451)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(452, 480, 482, 485)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(490,)Tj --16.5 -1.25 Td -(492, 494)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(495, 510)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(51)55(1, 592, 626)]TJ -5.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(627, 783,)Tj --14.445 -1.25 Td -(785, 939, 944)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(82)]TJ -/TT0 1 Tf --1.35 -1.25 Td -()Tj -/T1_0 1 Tf -5.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9, 62)Tj -/TT0 1 Tf --10.039 -1.25 Td -(fdatasync)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(81,)-250(86)]TJ -7.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(87, 331, 451, 513, 592)Tj --12.09 -1.25 Td -[(de\336nition of,)-500(81)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(FD_CLOEXEC)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(63,)-250(79, 82)]TJ -8.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(83, 252, 480)Tj -/TT0 1 Tf --15.563 -1.25 Td -(FD_CLR)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(503)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(504, 665, 933)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(503)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(FD_ISSET)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(503)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(504, 665, 817, 933)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(503)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fdopen)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(148)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(150, 159, 544, 936)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(148)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fdopendir)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(130)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(135)Tj --11.09 -1.25 Td -[(de\336nition of,)-500(130)]TJ --1.35 -1.25 Td -[(fd-pipe, )-250(653)]TJ -5.582 0.09 Td -(\320)Tj -0.583 -0.09 Td -(654, 656, 658)Tj -/TT0 1 Tf --6.165 -1.25 Td -(fd_pipe)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(630,)-250(655, 739, 896)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(630)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fd_set)Tj -/T1_0 1 Tf -4.017 0 Td -[(data type,)-500(59, 503)]TJ -7.982 0.09 Td -(\320)Tj -0.583 -0.09 Td -(504, 532, 664, 805, 814,)Tj --9.882 -1.25 Td -(816)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(817, 932)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(933, 939)Tj -/TT0 1 Tf --9.033 -1.25 Td -(FD_SET)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(503)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(504, 664)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(665, 805, 816, 933)Tj --13.457 -1.25 Td -[(de\336nition of,)-500(503)]TJ -/TT0 1 Tf -0.1666 Tc -1.35 -1.25 Td -(__)Tj -0 Tc 1.367 0 Td -(FD_SETSIZE)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(933)]TJ -/TT0 1 Tf --7.783 -1.25 Td -(FD_SETSIZE)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(504,)-250(932)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(933)Tj -/TT0 1 Tf --15.063 -1.25 Td -(F_DUPFD)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(81)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(83, 592)Tj -/TT0 1 Tf --10.763 -1.25 Td -(F_DUPFD_CLOEXEC)Tj -/T1_0 1 Tf -9.417 0 Td -[(constant, )-250(82,)-250(592)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(FD_ZERO)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(503)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(504, 664, 805, 933)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(503)]TJ --1.35 -1.25 Td -(featur)Tj -0.25 Tc 2.618 0 Td -(et)Tj -0 Tc 1.055 0 Td -[(est macr)18(o, )-250(57)]TJ -6.062 0.09 Td -(\320)Tj -0.583 -0.09 Td -(58, 84)Tj --10.319 -1.25 Td -(Fenner)Tj -0.25 Tc 2.999 0 Td -(,B)Tj -0 Tc 1.111 0 Td -[(., )-250(157,)-250(291, 470, 589, 952)]TJ -/TT0 1 Tf --4.11 -1.25 Td -()Tj -/T1_0 1 Tf -5.217 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7)Tj -/TT0 1 Tf --9.439 -1.25 Td -(feof)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(151,)-250(157)]TJ --1.467 -1.25 Td -[(de\336nition of,)-500(151)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(ferror)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(10,)-250(151, 154, 157, 273, 538, 543,)]TJ --1.317 -1.25 Td -(550)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(151)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(fexecve)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(249)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(250, 253, 331)Tj --9.89 -1.25 Td -[(de\336nition of,)-500(249)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(FF0)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(687)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(FF1)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(687)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(FFDLY)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(684, 687, 689)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(fflush)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(145,)-250(147, 149, 172, 174)]TJ -14.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(175, 366,)Tj --15.94 -1.25 Td -(452, 547)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(548, 552, 702, 721, 901, 904, 913)Tj --5.516 -1.25 Td -[(de\336nition of,)-500(147)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47688 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(7.3)]TJ -34.639 0 Td -[(Pr)18(ocess )-250(T)92(ermination)]TJ -/T1_1 1 Tf -11.194 0 Td -(199)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -(Historically)Tj -0.4979 Tc 5.076 0 Td -(,t)Tj -0 Tc 1.074 0 Td -(he)Tj -/TT0 1 Tf -1.559 0 Td -(exit)Tj -/T1_0 1 Tf -2.898 0 Td -[(function )-248(has )-248(always )-248(performed )-248(a )-248(clean )-248(shutdown )-248(of )-248(the)]TJ --12.407 -1.2 Td -(standar)Tj -0.3689 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.317 0 Td -[(/O )-119(library: )-119(the)]TJ -/TT0 1 Tf -7.117 0 Td -(fclose)Tj -/T1_0 1 Tf -3.969 0 Td -[(function )-119(is )-119(called )-119(for )-119(all )-119(open )-119(str)19(eams. )-369(Recall)-369(fr)18(om)]TJ --15.723 -1.2 Td -[(Section 5.5 that this causes all buf)18(fer)18(ed output data to be \337ushed \(written to the \336le\).)]TJ -1.8 -1.2 Td -[(All )-193(thr)18(ee )-193(exit )-193(functions )-193(expect )-193(a )-193(single )-193(integer )-193(ar)18(gument, )-193(which )-193(we )-193(call )-193(the)]TJ -/T1_2 1 Tf -35.7 0 Td -(exit)Tj --37.5 -1.2 Td -(status)Tj -/T1_0 1 Tf -0.552 Tc (.M)Tj -0 Tc 4.192 0 Td -[(ost )-52(UNIX )-52(System )-52(shells )-52(pr)18(ovide )-52(a )-52(way )-52(to )-52(examine )-52(the )-52(exit )-52(status )-52(of )-52(a )-52(pr)19(ocess.)]TJ --4.192 -1.2 Td -[(If )-129(\(a\) )-129(any )-129(of )-129(these )-129(functions )-129(is )-129(called )-129(without )-129(an )-129(exit )-129(status, )-129(\(b\))]TJ -/TT0 1 Tf -29.303 0 Td -(main)Tj -/T1_0 1 Tf -2.779 0 Td -[(does )-129(a)]TJ -/TT0 1 Tf -3.318 0 Td -(return)Tj -/T1_0 1 Tf --35.4 -1.2 Td -[(without )-41(a )-41(r)18(eturn )-41(value, )-41(or )-41(\(c\) )-41(the)]TJ -/TT0 1 Tf -14.93 0 Td -(main)Tj -/T1_0 1 Tf -2.691 0 Td -[(function )-41(is )-41(not )-41(declar)19(ed )-40(to )-40(r)18(eturn )-40(an )-40(integer)]TJ -0.2905 Tc 19.452 0 Td -(,t)Tj -0 Tc 0.866 0 Td -(he)Tj --37.939 -1.2 Td -[(exit )-14(status )-14(of )-14(the )-14(pr)18(ocess )-14(is )-14(unde\336ned.)-517(However)74(,)-264(if)-264(t)-1(he )-14(r)18(eturn )-14(type )-14(of)]TJ -/TT0 1 Tf -30.902 0 Td -(main)Tj -/T1_0 1 Tf -2.664 0 Td -[(is )-14(an )-14(integer)]TJ --33.566 -1.2 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(main)Tj -/T1_0 1 Tf --0.037 Tc 2.65 0 Td -(\324\324)Tj -0 Tc 0.519 0 Td -(falls of)Tj -0.25 Tc 2.95 0 Td -(ft)Tj -0 Tc 0.909 0 Td -(he end\325)Tj -0.25 Tc 3.224 0 Td -(\325\()Tj -0 Tc 0.861 0 Td -[(an implicit r)18(eturn\), the exit status of the pr)18(ocess is 0.)]TJ -7.9995 0 0 7.9995 183.5895 552.9668 Tm -[(This )-55(behavior )-55(is )-55(new )-55(with )-55(the )-55(1999 )-55(version )-55(of )-55(the )-55(ISO )-55(C )-55(standar)14(d. )-305(Historically)]TJ -0.3053 Tc 35.233 0 Td -(,t)Tj -0 Tc 0.881 0 Td -[(he )-55(exit )-55(status)]TJ --36.114 -1.25 Td -[(was )-248(unde\336ned )-248(if )-248(the )-248(end )-248(of )-248(the)]TJ -/TT0 1 Tf -15.746 0 Td -(main)Tj -/T1_0 1 Tf -2.898 0 Td -[(function )-248(was )-248(r)18(eached )-248(without )-248(an )-248(explicit)]TJ -/TT0 1 Tf -19.756 0 Td -(return)Tj -/T1_0 1 Tf --38.4 -1.25 Td -(statement or a call to the)Tj -/TT0 1 Tf -11.051 0 Td -(exit)Tj -/T1_0 1 Tf -2.65 0 Td -(function.)Tj -9.9994 0 0 9.9994 147.5912 509.9694 Tm -[(Returning )-153(an )-153(integer )-153(value )-153(fr)18(om )-153(the)]TJ -/TT0 1 Tf -17.056 0 Td -(main)Tj -/T1_0 1 Tf -2.803 0 Td -[(function )-153(is )-153(equivalent )-153(to )-153(calling)]TJ -/TT0 1 Tf -14.941 0 Td -(exit)Tj -/T1_0 1 Tf --36.6 -1.2 Td -[(with the same value.)-500(Thus)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 481.2711 Tm -(exit\(0\);)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5923 463.2722 Tm -(is the same as)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5912 446.5732 Tm -(return\(0\);)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5923 428.5743 Tm -[(fr)18(om the)]TJ -/TT0 1 Tf -4.026 0 Td -(main)Tj -/T1_0 1 Tf -2.65 0 Td -(function.)Tj -/TT1 1 Tf --10.276 -3.6 Td -(Example)Tj -/T1_0 1 Tf -3.6 -2.4 Td -[(The pr)18(ogram in Figur)]TJ -0.25 Tc 9.538 0 Td -(e7)Tj -0 Tc 1.229 0 Td -[(.1 is the classic \324)37(\324hello, world\325)]TJ -0.25 Tc 12.796 0 Td -(\325e)Tj -0 Tc 1.007 0 Td -(xample.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3554.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 345.8575 Tm -[(#include )-1800()]TJ -0 -2.378 TD -(main\(\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -(printf\("hello, world\\n"\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2876.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 271.1712 271.5491 Tm -(Figure 7.1)Tj -/T1_0 1 Tf -5.195 0 Td -[(Classic C pr)18(ogram)]TJ -9.9982 0 0 9.9982 129.5769 237.9552 Tm -[(When )-221(we )-221(compile )-221(and )-221(r)8(un )-221(the )-221(pr)18(ogram )-221(in )-221(Figur)]TJ -0.4713 Tc 23.027 0 Td -(e7)Tj -0 Tc 1.45 0 Td -[(.1, )-221(we )-221(see )-221(that )-221(the )-221(exit )-221(code )-221(is)]TJ --24.478 -1.2 Td -[(random. )-420(If)-420(we )-170(compile )-170(the )-170(same )-170(pr)18(ogram )-170(on )-170(dif)17(fer)18(ent )-170(systems, )-170(we )-170(ar)]TJ -0.42 Tc 32.564 0 Td -(el)Tj -0 Tc 1.19 0 Td -[(ikely )-170(to )-170(get)]TJ --33.754 -1.2 Td -[(dif)18(fer)18(ent )-62(exit )-62(codes, )-62(depending )-62(on )-62(the )-62(contents )-62(of )-62(the )-62(stack )-62(and )-62(r)19(egister )-62(contents )-62(at )-62(the)]TJ --0 -1.2 Td -(time that the)Tj -/TT0 1 Tf -5.85 0 Td -(main)Tj -/T1_0 1 Tf -2.65 0 Td -[(function r)18(eturns:)]TJ -/TT0 1 Tf -8.9984 0 0 8.9984 147.573 185.2646 Tm -($)Tj -/TT2 1 Tf -1.2 0 Td -(gcc hello.c)Tj -/TT0 1 Tf --1.2 -1.189 Td -($)Tj -/TT2 1 Tf -1.2 0 Td -(./a.out)Tj -/TT0 1 Tf --1.2 -1.189 Td -(hello, world)Tj -0 -1.189 TD -($)Tj -/TT2 1 Tf -1.2 0 Td -(echo $?)Tj -/T1_2 1 Tf -16.4 0 Td -(print the exit status)Tj -/TT0 1 Tf --17.6 -1.189 Td -(13)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47689 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(962)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(ENOTDIR)Tj -/T1_1 1 Tf -4.617 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(92)Tj -/TT0 1 Tf --7.985 -1.25 Td -(ENOTRECOVERABLE)Tj -/T1_1 1 Tf -9.417 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,4)Tj -0 Tc 1.25 0 Td -(33)Tj -/TT0 1 Tf --12.785 -1.25 Td -(ENOTTY)Tj -/T1_1 1 Tf -4.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(83, 693)Tj -/TT0 1 Tf --7.385 -1.25 Td -(environ)Tj -/T1_1 1 Tf -4.617 0 Td -[(variable, )-250(203)]TJ -5.907 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(204, 21)55(1, 213, 251, 255,)]TJ --8.407 -1.25 Td -(444)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(445, 450, 920)Tj --4.866 -1.25 Td -[(envir)18(onment list,)-500(203)]TJ -9.607 0.09 Td -(\320)Tj -0.583 -0.09 Td -(204, 233, 251, 286)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(288)Tj --18.357 -1.25 Td -[(envir)18(onment variable,)-500(210)]TJ -11.849 0.09 Td -(\320)Tj -0.583 -0.09 Td -(213)Tj -/TT0 1 Tf --11.083 -1.25 Td -(COLUMNS)Tj -/T1_1 1 Tf -0.5 Tc 4.367 0 Td -(,2)Tj --0.055 Tc 1.25 0 Td -(11)Tj -/TT0 1 Tf -0 Tc -5.617 -1.25 Td -(DATEMSK)Tj -/T1_1 1 Tf -0.5 Tc 4.367 0 Td -(,2)Tj --0.055 Tc 1.25 0 Td -(11)Tj -/TT0 1 Tf -0 Tc -5.617 -1.25 Td -(HOME)Tj -/T1_1 1 Tf -0.5 Tc 2.567 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(10)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(21)55(1, 288)]TJ -/TT0 1 Tf --5.483 -1.25 Td -(IFS)Tj -/T1_1 1 Tf -0.5 Tc 1.967 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(69)Tj -/TT0 1 Tf --3.217 -1.25 Td -(LANG)Tj -/T1_1 1 Tf -0.5 Tc 2.567 0 Td -(,4)Tj -0 Tc 1.25 0 Td -[(1, 21)55(1)]TJ -/TT0 1 Tf --3.817 -1.25 Td -(LC_ALL)Tj -/T1_1 1 Tf -0.5 Tc 3.767 0 Td -(,2)Tj --0.055 Tc 1.25 0 Td -(11)Tj -/TT0 1 Tf -0 Tc -5.017 -1.25 Td -(LC_COLLATE)Tj -/T1_1 1 Tf -0.5 Tc 6.167 0 Td -(,4)Tj -0 Tc 1.25 0 Td -[(3, 21)55(1)]TJ -/TT0 1 Tf --7.417 -1.25 Td -(LC_CTYPE)Tj -/T1_1 1 Tf -0.5 Tc 4.967 0 Td -(,2)Tj --0.055 Tc 1.25 0 Td -(11)Tj -/TT0 1 Tf -0 Tc -6.217 -1.25 Td -(LC_MESSAGES)Tj -/T1_1 1 Tf -0.5 Tc 6.767 0 Td -(,2)Tj --0.055 Tc 1.25 0 Td -(11)Tj -/TT0 1 Tf -0 Tc -8.017 -1.25 Td -(LC_MONETARY)Tj -/T1_1 1 Tf -0.5 Tc 6.767 0 Td -(,2)Tj --0.055 Tc 1.25 0 Td -(11)Tj -/TT0 1 Tf -0 Tc -8.017 -1.25 Td -(LC_NUMERIC)Tj -/T1_1 1 Tf -0.5 Tc 6.167 0 Td -(,2)Tj --0.055 Tc 1.25 0 Td -(11)Tj -/TT0 1 Tf -0 Tc -7.417 -1.25 Td -(LC_TIME)Tj -/T1_1 1 Tf -0.5 Tc 4.367 0 Td -(,2)Tj --0.055 Tc 1.25 0 Td -(11)Tj -/TT0 1 Tf -0 Tc -5.617 -1.25 Td -(LD_LIBRARY_PATH)Tj -/T1_1 1 Tf -0.5 Tc 9.167 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(53)Tj -/TT0 1 Tf --10.417 -1.25 Td -(LINES)Tj -/T1_1 1 Tf -0.5 Tc 3.167 0 Td -(,2)Tj --0.055 Tc 1.25 0 Td -(11)Tj -/TT0 1 Tf -0 Tc -4.417 -1.25 Td -(LOGNAME)Tj -/T1_1 1 Tf -0.5 Tc 4.367 0 Td -(,2)Tj --0.055 Tc 1.25 0 Td -(11)Tj -0.25 Tc 0.945 0 Td -(,2)Tj -0 Tc 1 0 Td -(76, 288)Tj -/TT0 1 Tf --7.562 -1.25 Td -(MAILPATH)Tj -/T1_1 1 Tf -0.5 Tc 4.967 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(10)Tj -/TT0 1 Tf --6.217 -1.25 Td -(MALLOC_OPTIONS)Tj -/T1_1 1 Tf -0.5 Tc 8.567 0 Td -(,9)Tj -0 Tc 1.25 0 Td -(28)Tj -/TT0 1 Tf --9.817 -1.25 Td -(MSGVERB)Tj -/T1_1 1 Tf -0.5 Tc 4.367 0 Td -(,2)Tj --0.055 Tc 1.25 0 Td -(11)Tj -/TT0 1 Tf -0 Tc -5.617 -1.25 Td -(NLSPATH)Tj -/T1_1 1 Tf -0.5 Tc 4.367 0 Td -(,2)Tj --0.055 Tc 1.25 0 Td -(11)Tj -/TT0 1 Tf -0 Tc -5.617 -1.25 Td -(PAGER)Tj -/T1_1 1 Tf -0.5 Tc 3.167 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(39, 542)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(543)Tj -/TT0 1 Tf --8.083 -1.25 Td -(PATH)Tj -/T1_1 1 Tf -0.5 Tc 2.567 0 Td -(,1)Tj -0 Tc 1.25 0 Td -[(00, 21)55(1, 250)]TJ -5.028 0.09 Td -(\320)Tj -0.583 -0.09 Td -(251, 253, 260, 263, 265,)Tj --8.078 -1.25 Td -(288)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(289)Tj -/TT0 1 Tf --3.517 -1.25 Td -(POSIXLY_CORRECT)Tj -/T1_1 1 Tf -0.5 Tc 9.167 0 Td -(,1)Tj --0.055 Tc 1.195 0 Td -(11)Tj -/TT0 1 Tf -0 Tc -10.362 -1.25 Td -(PWD)Tj -/T1_1 1 Tf -0.5 Tc 1.967 0 Td -(,2)Tj --0.055 Tc 1.25 0 Td -(11)Tj -/TT0 1 Tf -0 Tc -3.217 -1.25 Td -(SHELL)Tj -/T1_1 1 Tf -0.5 Tc 3.167 0 Td -(,2)Tj --0.055 Tc 1.25 0 Td -(11)Tj -0.25 Tc 0.945 0 Td -(,2)Tj -0 Tc 1 0 Td -(88, 737)Tj -/TT0 1 Tf --6.362 -1.25 Td -(TERM)Tj -/T1_1 1 Tf -0.5 Tc 2.567 0 Td -(,2)Tj --0.055 Tc 1.25 0 Td -(11)Tj -0.25 Tc 0.945 0 Td -(,2)Tj -0 Tc 1 0 Td -(87, 289)Tj -/TT0 1 Tf --5.762 -1.25 Td -(TMPDIR)Tj -/T1_1 1 Tf -0.5 Tc 3.767 0 Td -(,2)Tj --0.055 Tc 1.25 0 Td -(11)Tj -/TT0 1 Tf -0 Tc -5.017 -1.25 Td -(TZ)Tj -/T1_1 1 Tf -0.5 Tc 1.367 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(90, 192, 195)Tj -5.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(196, 21)55(1, 919)]TJ -/TT0 1 Tf --8.283 -1.25 Td -(USER)Tj -/T1_1 1 Tf -0.5 Tc 2.567 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(10, 288)Tj -/TT0 1 Tf --5.167 -1.25 Td -(ENXIO)Tj -/T1_1 1 Tf -3.417 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(53)Tj -/TT0 1 Tf --6.785 -1.25 Td -(EOF)Tj -/T1_1 1 Tf -2.217 0 Td -[(constant, )-250(10,)-250(151)]TJ -7.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(152, 154, 164, 175, 545,)Tj --7.663 -1.25 Td -(547)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(548, 550)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(551, 664, 730, 913)Tj --9.033 -1.25 Td -(EOF terminal character)Tj -0.5 Tc 10.191 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 680, 686)Tj -5.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(687, 700, 703)Tj --17.108 -1.25 Td -(EOL terminal character)Tj -0.5 Tc 10.246 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 680, 687, 700, 703)Tj --11.496 -1.25 Td -(EOL2 terminal character)Tj -0.5 Tc 10.746 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 680, 687, 700, 703)Tj -/TT0 1 Tf --11.996 -1.25 Td -(EOWNERDEAD)Tj -/T1_1 1 Tf -6.417 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,4)Tj -0 Tc 1.25 0 Td -(32)Tj -/TT0 1 Tf --9.785 -1.25 Td -(EPERM)Tj -/T1_1 1 Tf -3.417 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(56)Tj -/TT0 1 Tf --6.785 -1.25 Td -(EPIPE)Tj -/T1_1 1 Tf -3.417 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(37, 937)Tj --6.785 -1.25 Td -[(Epoch, )-250(20,)-250(22, 126, 187, 189)]TJ -12.117 0.09 Td -(\320)Tj -0.583 -0.09 Td -(190, 640)Tj -/TT0 1 Tf --12.701 -1.25 Td -(ERANGE)Tj -/T1_1 1 Tf -4.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(0)Tj --7.385 -1.25 Td -(ERASE terminal character)Tj -0.5 Tc 11.431 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 680, 686)Tj -5.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(687,)Tj --15.648 -1.25 Td -(702)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(703)Tj --4.866 -1.25 Td -(ERASE2 terminal character)Tj -0.5 Tc 11.931 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 681)Tj -/TT0 1 Tf --13.181 -1.25 Td -(err_cont)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(897,)-250(899)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(900)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(err_dump)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(366,)-250(767, 897, 899)]TJ -22.133 65 Td -[(de\336nition of,)-500(900)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(err_exit)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(809,)-250(897, 899)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(900)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(err_msg)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(897,)-250(899)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(901)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(errno)Tj -/T1_1 1 Tf -3.417 0 Td -[(variable, )-250(14)]TJ -5.407 0.09 Td -(\320)Tj -0.583 -0.09 Td -(15, 42, 50, 55, 65, 67, 81, 121,)Tj --6.707 -1.25 Td -(144, 256, 265, 277, 301, 309, 314, 321, 327)Tj -17.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(328,)Tj --18.166 -1.25 Td -(330)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(331, 333, 337, 339, 345, 351, 359, 371, 376,)Tj --2.167 -1.25 Td -(380, 384, 386, 446)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(447, 454, 471, 474, 482, 484,)Tj --8.166 -1.25 Td -(487, 499, 502, 508, 513)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(514, 537, 546, 553, 564,)Tj --10.166 -1.25 Td -(568, 579, 581, 584, 592, 608)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(610, 627,)Tj --12.166 -1.25 Td -(637)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(638, 640, 683, 693, 745, 805, 899, 925, 937)Tj -/TT0 1 Tf --4.866 -1.25 Td -()Tj -/T1_1 1 Tf -5.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(4)Tj -0.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(16, 27)Tj --11.205 -1.25 Td -[(err)18(or)]TJ -1.35 -1.25 Td -[(handling, )-250(14)]TJ -5.828 0.09 Td -(\320)Tj -0.583 -0.09 Td -(16)Tj --6.412 -1.25 Td -[(logging, daemon,)-500(469)]TJ -9.812 0.09 Td -(\320)Tj -0.583 -0.09 Td -(473)Tj --0.018 Tc -10.396 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(covery)Tj -0.5 Tc 2.874 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(6)Tj --0.018 Tc -4.98 -1.25 Td -(ro)Tj -0 Tc 0.923 0 Td -[(utines, standar)18(d, )-250(898)]TJ -9.469 0.09 Td -(\320)Tj -0.583 -0.09 Td -(904)Tj --0.018 Tc -10.975 -1.25 Td -(TO)Tj -0 Tc 1.381 0 Td -[(CTT)18(OU, )-250(65,)-250(250, 953)]TJ -/TT0 1 Tf --2.731 -1.25 Td -(err_quit)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(7,)-250(815, 897, 899, 912)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(901)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(err_ret)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(897,)-250(899, 912)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(899)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(err_sys)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(7,)-250(897, 899)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(899)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(ESPIPE)Tj -/T1_1 1 Tf -4.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(7, 592)Tj -/TT0 1 Tf --7.385 -1.25 Td -(ESRCH)Tj -/T1_1 1 Tf -3.417 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(37)Tj -/TT0 1 Tf --6.785 -1.25 Td -(/etc/gettydefs)Tj -/T1_1 1 Tf -8.817 0 Td -[(\336le, )-250(290)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(/etc/group)Tj -/T1_1 1 Tf -6.417 0 Td -[(\336le, )-250(17)]TJ -3.208 0.09 Td -(\320)Tj -0.583 -0.09 Td -(18, 177, 185)Tj -5.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(186)Tj -/TT0 1 Tf --15.875 -1.25 Td -(/etc/hosts)Tj -/T1_1 1 Tf -6.417 0 Td -[(\336le, )-250(186,)-250(795)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(/etc/init)Tj -/T1_1 1 Tf -5.817 0 Td -[(dir)18(ectory)]TJ -0.5 Tc 3.914 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(90)Tj -/TT0 1 Tf --10.981 -1.25 Td -(/etc/inittab)Tj -/T1_1 1 Tf -7.617 0 Td -[(\336le, )-250(290)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(/etc/master.passwd)Tj -/T1_1 1 Tf -11.217 0 Td -[(\336le, )-250(185)]TJ -/TT0 1 Tf --11.217 -1.25 Td -(/etc/networks)Tj -/T1_1 1 Tf -8.217 0 Td -[(\336le, )-250(185)]TJ -3.708 0.09 Td -(\320)Tj -0.583 -0.09 Td -(186)Tj -/TT0 1 Tf --12.508 -1.25 Td -(/etc/passwd)Tj -/T1_1 1 Tf -7.017 0 Td -[(\336le, )-250(2,)-250(99, 135, 177)]TJ -8.208 0.09 Td -(\320)Tj -0.583 -0.09 Td -(178, 180, 182,)Tj --13.108 -1.25 Td -(185)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(186)Tj -/TT0 1 Tf --4.866 -1.25 Td -(/etc/printer.conf)Tj -/T1_1 1 Tf -10.617 0 Td -[(\336le, )-250(794)]TJ -3.708 0.09 Td -(\320)Tj -0.583 -0.09 Td -(795, 799)Tj -/TT0 1 Tf --14.908 -1.25 Td -(/etc/protocols)Tj -/T1_1 1 Tf -8.817 0 Td -[(\336le, )-250(185)]TJ -3.708 0.09 Td -(\320)Tj -0.583 -0.09 Td -(186)Tj -/TT0 1 Tf --13.108 -1.25 Td -(/etc/pwd.db)Tj -/T1_1 1 Tf -7.017 0 Td -[(\336le, )-250(185)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(/etc/rc)Tj -/T1_1 1 Tf -4.617 0 Td -[(\336le, )-250(189,)-250(291)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(/etc/services)Tj -/T1_1 1 Tf -8.217 0 Td -[(\336le, )-250(185)]TJ -3.708 0.09 Td -(\320)Tj -0.583 -0.09 Td -(186)Tj -/TT0 1 Tf --12.508 -1.25 Td -(/etc/shadow)Tj -/T1_1 1 Tf -7.017 0 Td -[(\336le, )-250(99,)-250(185)]TJ -5.208 0.09 Td -(\320)Tj -0.583 -0.09 Td -(186)Tj -/TT0 1 Tf --12.808 -1.25 Td -(/etc/spwd.db)Tj -/T1_1 1 Tf -7.617 0 Td -[(\336le, )-250(185)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(/etc/syslog.conf)Tj -/T1_1 1 Tf -10.017 0 Td -[(\336le, )-250(470)]TJ -/TT0 1 Tf --10.017 -1.25 Td -(/etc/termcap)Tj -/T1_1 1 Tf -7.617 0 Td -[(\336le, )-250(712)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(/etc/ttys)Tj -/T1_1 1 Tf -5.817 0 Td -[(\336le, )-250(286)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(ETIME)Tj -/T1_1 1 Tf -3.417 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,8)Tj -0 Tc 1.25 0 Td -(00, 805)Tj -/TT0 1 Tf --6.785 -1.25 Td -(ETIMEDOUT)Tj -/T1_1 1 Tf -5.817 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,4)Tj -0 Tc 1.25 0 Td -(07, 413, 415, 581, 800)Tj --9.185 -1.25 Td -[(Evans, J.,)-500(949)]TJ -/TT0 1 Tf -0 -1.25 TD -(EWOULDBLOCK)Tj -/T1_1 1 Tf -7.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(6, 482, 609, 627)Tj -/TT0 1 Tf --10.385 -1.25 Td -(exec)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(10)]TJ -5.54 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0.25 Tc 0.945 0 Td -(,1)Tj -0 Tc 1 0 Td -(3, 23, 39)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(40, 43, 79, 82,)Tj --12.352 -1.25 Td -(100, 121, 125, 197, 201, 203, 225, 229, 233)Tj -17.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(234,)Tj --18.166 -1.25 Td -(249)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(257, 260)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(261, 264)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(266, 269)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(271, 275,)Tj --14.666 -1.25 Td -(277, 282)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(283, 286)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(288, 290)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(292, 294, 305,)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47690 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(9.9)]TJ -30.603 0 Td -[(Shell )-250(Execution )-250(of )-250(Pr)18(ograms)]TJ -/T1_1 1 Tf -15.23 0 Td -(305)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(of )-19(that )-19(name.)-519(The )-19(next )-19(line )-19(we )-19(enter )-19(to )-19(the )-19(shell )-19(is )-19(taken )-19(as )-19(the )-19(passwor)14(d, )-19(and )-19(the )-19(\336le )-19(is)]TJ -0 -1.2 TD -[(not )-27(encrypted )-27(corr)17(ectly)]TJ -0.2774 Tc 10.229 0 Td -(,s)Tj -0 Tc 0.951 0 Td -[(ending )-27(junk )-27(to )-27(the )-27(printer)]TJ -0.5274 Tc 11.44 0 Td -(.H)Tj -0 Tc 1.609 0 Td -[(er)18(e)-277(we)-277(h)-1(ave )-27(two )-27(pr)17(ocesses )-27(trying)]TJ --24.229 -1.2 Td -[(to )-95(r)18(ead )-95(fr)18(om )-95(the )-95(same )-95(device )-95(at )-95(the )-95(same )-95(time, )-95(and )-95(the )-95(r)18(esult )-95(depends )-95(on )-95(the )-95(system.)]TJ -T* -[(Job )-260(contr)18(ol, )-260(as )-260(we )-260(described )-260(earlier)]TJ -0.5104 Tc 16.626 0 Td -(,h)Tj -0 Tc 1.342 0 Td -[(andles )-260(this )-260(multiplexing )-260(of )-260(a )-260(single )-260(terminal)]TJ --17.968 -1.2 Td -[(between multiple pr)18(ocesses in a better fashion.)]TJ -1.8 -1.2 Td -[(Returning )-338(to )-338(our )-338(Bourne )-338(shell )-338(example, )-338(if )-338(we )-338(execute )-338(thr)18(ee )-338(pr)18(ocesses )-338(in )-338(the)]TJ --1.8 -1.2 Td -[(pipeline, we can examine the pr)18(ocess contr)18(ol used by this shell:)]TJ -/TT0 1 Tf -8.9995 0 0 8.9995 147.5911 581.335 Tm -(ps -o pid,ppid,pgid,sid,comm | cat1 | cat2)Tj -/T1_0 1 Tf -9.9994 0 0 9.9994 129.5922 564.4059 Tm -(This pipeline generates the following output:)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 158.3905 548.7772 Tm -[(PID )-600(PPID )-600(PGID)-1800(SID COMMAND)]TJ -0 -1.189 TD -[(949 )-1200(947 )-1200(949 )-1200(949)-600(sh)]TJ --0.6 -1.189 Td -[(1988 )-1200(949 )-1200(949 )-1200(949)-600(cat2)]TJ -T* -[(1989 )-600(1988)-1800(949 )-1200(949)-600(ps)]TJ -T* -[(1990 )-600(1988)-1800(949 )-1200(949)-600(cat1)]TJ -/T1_0 1 Tf -7.9995 0 0 7.9995 183.589 486.9809 Tm -[(Don\325t )-170(be )-170(alarmed )-170(if )-170(the )-170(output )-170(on )-170(your )-170(system )-170(doesn\325t )-170(show )-170(the )-170(pr)18(oper )-170(command )-170(names.)]TJ -0 -1.25 TD -[(Sometimes you might get r)18(esults such as)]TJ -/TT0 1 Tf -3.45 -2 Td -[(PID )-600(PPID )-600(PGID)-1800(SID COMMAND)]TJ -T* -[(949 )-1200(947 )-1200(949 )-1200(949)-600(sh)]TJ --0.6 -1.25 Td -[(1831 )-1200(949 )-1200(949 )-1200(949)-600(sh)]TJ -T* -[(1832 )-600(1831)-1800(949 )-1200(949)-600(ps)]TJ -T* -[(1833 )-600(1831)-1800(949 )-1200(949)-600(sh)]TJ -/T1_0 1 Tf --2.85 -1.875 Td -[(What\325s )-140(happening )-140(her)17(e)-390(is)-390(t)-1(hat )-140(the)]TJ -/TT0 1 Tf -15.98 0 Td -(ps)Tj -/T1_0 1 Tf -1.59 0 Td -[(pr)18(ocess )-140(is )-140(racing )-140(with )-140(the )-140(shell, )-140(which )-140(is )-140(forking )-140(and)]TJ --17.57 -1.25 Td -[(executing )-162(the)]TJ -/TT0 1 Tf -6.486 0 Td -(cat)Tj -/T1_0 1 Tf -2.212 0 Td -[(commands. )-412(In)-411(this )-161(case, )-161(the )-161(shell )-161(hasn\325t )-161(yet )-161(completed )-161(the )-161(call )-161(to)]TJ -/TT0 1 Tf -30.902 0 Td -(exec)Tj -/T1_0 1 Tf --39.6 -1.25 Td -(when)Tj -/TT0 1 Tf -2.727 0 Td -(ps)Tj -/T1_0 1 Tf -1.45 0 Td -[(has obtained the list of pr)18(ocesses to print.)]TJ -9.9994 0 0 9.9994 129.5921 367.988 Tm -[(Again, )-11(the )-11(last )-11(pr)17(ocess )-11(in )-11(the )-11(pipeline )-11(is )-11(the )-11(child )-11(of )-11(the )-11(shell, )-11(and )-11(all )-11(pr)18(evious )-11(pr)13(ocesses)]TJ -0 -1.2 Td -(in the pipeline ar)Tj -0.25 Tc 7.502 0 Td -(ec)Tj -0 Tc 1.173 0 Td -[(hildr)18(en of the last pr)18(ocess. )-250(Figur)]TJ -0.25 Tc 14.448 0 Td -(e9)Tj -0 Tc 1.229 0 Td -(.10 shows what is happening.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -1914 2704.1 360 287.996 re -S -Q -BT -/TT0 1 Tf -7.999 0 0 7.999 204.5754 288.0154 Tm -(sh)Tj -/T1_0 1 Tf --0.483 -1.21 Td -(\()Tj -0.333 -0.04 Td -(949)Tj -1.5 0.04 Td -(\))Tj -ET -q -0.99988 0 0 0.99988 0 0 cm -q 1 0 0 1 277.8 284.81 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -1 j 1 J -q 1 0 0 1 2778 2848.1001 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2274.25 2848.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2340.25 2848.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2406.25 2848.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2472.25 2848.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2538.25 2848.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2604.25 2848.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 2848.25 cm -0 0 m -36 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 242.9563 287.9982 Tm -(fork)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2778 2704.1 360 287.996 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 290.9302 287.9809 Tm -(sh)Tj -/T1_0 1 Tf --0.733 -1.21 Td -(\()Tj -0.333 -0.04 Td -(1988)Tj -2 0.04 Td -(\))Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -3498 3064.1 360 288 re -S -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 362.8911 323.9528 Tm -(sh)Tj -/T1_0 1 Tf --0.733 -1.21 Td -(\()Tj -0.333 -0.04 Td -(1989)Tj -2 0.04 Td -(\))Tj -ET -q -0.9997 0 0 0.9997 0 0 cm -q 1 0 0 1 421.8 320.81 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -1 j 1 J -q 1 0 0 1 4218 3208.1001 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3858.25 3208.25 cm -0 0 m -288 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 394.0581 323.9334 Tm -(exec)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -4218 3064.1 360 288 re -S -Q -BT -/TT0 1 Tf -7.9966 0 0 7.9966 434.8173 323.9139 Tm -(ps)Tj -/T1_0 1 Tf --0.733 -1.21 Td -(\()Tj -0.333 -0.04 Td -(1989)Tj -2 0.04 Td -(\))Tj -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 349.8 320.81 cm -0 0 m --4.248 -6.048 l --6.624 -3.312 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 3498 3208.1001 cm -0 0 m --42.48 -60.48 l --66.24 -33.12 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 2896.25 cm -0 0 m -27 24 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3193.25 2944.25 cm -0 0 m -28 24 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3249.25 2993.25 cm -0 0 m -28 23 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3305.25 3041.25 cm -0 0 m -27 24 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3360.25 3089.25 cm -0 0 m -28 24 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3416.25 3137.25 cm -0 0 m -28 24 l -S -Q -Q -BT -/TT0 1 Tf -6.0426 5.2369 -5.2369 6.0426 322.2683 301.2024 Tm -(fork)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -3498 2344.1 360 287.996 re -S -Q -BT -/TT0 1 Tf -7.9957 0 0 7.9957 362.804 251.9139 Tm -(sh)Tj -/T1_0 1 Tf --0.733 -1.21 Td -(\()Tj -0.333 -0.04 Td -(1990)Tj -2 0.04 Td -(\))Tj -ET -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 421.8 248.81 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 4218 2488.1001 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3858.25 2488.25 cm -0 0 m -288 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9952 0 0 7.9952 393.9635 251.8988 Tm -(exec)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -4218 2344.1 360 287.996 re -S -Q -BT -/TT0 1 Tf -7.9947 0 0 7.9947 429.9162 251.8837 Tm -(cat1)Tj -/T1_0 1 Tf --0.133 -1.21 Td -(\()Tj -0.333 -0.04 Td -(1990)Tj -2 0.04 Td -(\))Tj -ET -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 349.8 248.81 cm -0 0 m --6.624 3.384 l --4.248 6.12 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 3498 2488.1001 cm -0 0 m --66.24 33.84 l --42.48 61.2 l -h -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3138.25 2800.25 cm -0 0 m -27 -24 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3193.25 2751.25 cm -0 0 m -28 -23 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3249.25 2703.25 cm -0 0 m -28 -24 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3305.25 2655.25 cm -0 0 m -27 -24 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3360.25 2607.25 cm -0 0 m -28 -24 l -S -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3416.25 2558.25 cm -0 0 m -28 -23 l -S -Q -Q -BT -/TT0 1 Tf -6.0411 -5.2356 5.2356 6.0411 326.4319 272.9734 Tm -(fork)Tj -ET -q -0.099928 0 0 0.099928 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4398.25 3057.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4398.25 3021.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4398.25 2986.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4398.25 2951.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4398.25 2916.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4398.25 2880.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4398.25 2844.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4398.25 2809.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4398.25 2774.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4398.25 2738.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4398.25 2703.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4398.25 2668.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 439.8 263.21 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 4398 2632.1001 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4398.25 2704.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9933 0 0 7.9933 441.429 284.2511 Tm -(pipeline)Tj -ET -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 295.8 198.41 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 2958 1984.1 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2958.25 2704.25 cm -0 0 m -0 -648 l -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -2778 1696.1 360 287.996 re -S -Q -BT -/TT0 1 Tf -7.9928 0 0 7.9928 285.9425 187.0815 Tm -(cat2)Tj -/T1_0 1 Tf --0.133 -1.21 Td -(\()Tj -0.333 -0.04 Td -(1988)Tj -2 0.04 Td -(\))Tj -/TT0 1 Tf --0.75 6.885 Td -(exec)Tj -ET -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3174.25 1854.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3207.25 1867.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3240.25 1880.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3273.25 1893.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3306.25 1906.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3339.25 1920.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3372.25 1933.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3406.25 1946.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3439.25 1959.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3472.25 1972.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3504.25 1985.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3537.25 1998.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3570.25 2010.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3604.25 2023.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3637.25 2037.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3670.25 2050.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3703.25 2063.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3736.25 2076.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3769.25 2089.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3802.25 2102.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3835.25 2115.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3869.25 2128.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3902.25 2141.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3935.25 2154.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3968.25 2167.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4001.25 2180.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4034.25 2193.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4067.25 2206.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4100.25 2219.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4133.25 2232.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4166.25 2245.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4199.25 2258.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4232.25 2271.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4265.25 2285.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4298.25 2298.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4332.25 2311.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4365.25 2324.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4398.25 2337.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.4357 2.9305 -2.9305 7.4357 367.2732 197.789 Tm -(pipeline)Tj -ET -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 313.8 184.01 cm -0 0 m -6.048 4.32 l -7.416 1.008 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 3138 1840.1 cm -0 0 m -60.48 43.2 l -74.16 10.08 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3210.25 1869.25 cm -0 0 m --5 -3 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2108.25 2682.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2130.25 2654.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2152.25 2626.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2174.25 2598.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2197.25 2570.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2218.25 2542.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2241.25 2514.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2263.25 2486.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2285.25 2458.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2307.25 2430.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2329.25 2401.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2351.25 2373.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2373.25 2345.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2395.25 2317.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2417.25 2289.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2439.25 2261.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2462.25 2233.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2483.25 2205.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2506.25 2177.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2528.25 2149.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2550.25 2121.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2572.25 2093.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2594.25 2064.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2616.25 2036.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2638.25 2008.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2660.25 1980.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2682.25 1952.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2704.25 1924.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2727.25 1896.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2748.25 1868.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 2771.25 1840.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/T1_0 1 Tf -4.3224 -5.497 5.497 4.3224 226.2081 253.3954 Tm -[(noti\336cation to par)18(ent)]TJ -1.349 -1.429 Td -(on termination)Tj -ET -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 209.4 270.41 cm -0 0 m -5.472 -4.968 l -2.448 -6.984 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 2094 2704.1001 cm -0 0 m -54.72 -49.68 l -24.48 -69.84 l -h -S -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2137.25 2639.25 cm -0 0 m --4 5 l -S -Q -Q -BT -/T1_1 1 Tf -7.9914 0 0 7.9914 167.541 144.2541 Tm -(Figure 9.10)Tj -/T1_0 1 Tf -5.695 0 Td -[(Pr)18(ocesses in the pipeline)]TJ -/TT0 1 Tf -11.159 0 Td -[(ps )267(| )267(cat1 )267(| )267(cat2)]TJ -/T1_0 1 Tf -8.866 0 Td -(when invoked by Bourne shell)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47691 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(514)Tj -/T1_1 1 Tf -3.5 0 Td -[(Advanced )-250(I/O)]TJ -38.741 0 Td -[(Chapter )-250(14)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-207(u)]TJ -0 Tc 2.263 0 Td -[(se )-23(asynchr)18(onous )-23(I/O )-23(when )-23(we )-23(have )-23(other )-23(pr)17(ocessing )-23(to )-23(do )-23(and )-23(we )-23(don\325t )-23(want)]TJ --4.063 -1.2 Td -[(to )-87(block )-87(while )-87(performing )-87(the )-87(I/O )-87(operation.)-590(However)]TJ -0.3374 Tc 25.1 0 Td -(,w)Tj -0 Tc 1.421 0 Td -[(hen )-87(we )-87(have )-87(completed )-87(the)]TJ --26.521 -1.2 Td -[(pr)18(ocessing )-14(and )-14(\336nd )-14(that )-14(we )-14(still )-14(have )-14(asynchr)16(onous )-14(operations )-14(outstanding, )-14(we )-14(can )-14(call)]TJ -0 -1.2 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(aio_suspend)Tj -/T1_1 1 Tf -6.85 0 Td -(function to block until an operation completes.)Tj -/TT0 1 Tf -8.9995 0 0 8.9995 147.5915 613.8632 Tm -(#include )Tj -0 -2.021 TD -(int aio_suspend\(const struct aiocb *const)Tj -/T1_2 1 Tf -25.2 0 Td -(list)Tj -/TT0 1 Tf -([], int)Tj -/T1_2 1 Tf -6.078 0 Td -(nent)Tj -/TT0 1 Tf -(,)Tj --21.678 -1.189 Td -(const struct timespec *)Tj -/T1_2 1 Tf -(timeout)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -17.251 -2.021 Td -(Returns: 0 if OK,)Tj -/TT1 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 5623.25 cm -0 0 m -0 606 l -3900 606 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 546.3544 Tm -[(One )-216(of )-216(thr)18(ee )-216(things )-216(can )-216(cause)]TJ -/TT0 1 Tf -14.505 0 Td -(aio_suspend)Tj -/T1_1 1 Tf -7.067 0 Td -[(to )-217(r)18(eturn. )-467(If)-466(we )-217(ar)]TJ -0.4666 Tc 8.86 0 Td -(ei)Tj -0 Tc 1.237 0 Td -[(nterr)8(upted )-217(by )-217(a)]TJ --31.669 -1.2 Td -[(signal, )-24(it )-24(r)17(eturns)]TJ -/TT1 1 Tf -7.52 0 Td -(!)Tj -/T1_1 1 Tf -0.2743 Tc (1w)Tj -0 Tc 2.157 0 Td -(ith)Tj -/TT0 1 Tf -1.473 0 Td -(errno)Tj -/T1_1 1 Tf -3.274 0 Td -[(set )-24(to)]TJ -/TT0 1 Tf -2.65 0 Td -(EINTR)Tj -/T1_1 1 Tf -0.5243 Tc (.I)Tj -0.2743 Tc 4.111 0 Td -(ft)Tj -0 Tc 0.933 0 Td -[(he )-24(time )-24(limit )-24(speci\336ed )-24(by )-24(the )-24(optional)]TJ -/T1_2 1 Tf --22.119 -1.2 Td -(timeout)Tj -/T1_1 1 Tf -3.848 0 Td -[(ar)18(gument )-487(expir)18(es )-487(without )-487(any )-487(of )-487(the )-487(I/O )-487(operations )-487(completing, )-487(then)]TJ -/TT0 1 Tf --3.848 -1.2 Td -(aio_suspend)Tj -/T1_1 1 Tf --0.018 Tc 6.878 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -/TT1 1 Tf -2.608 0 Td -(!)Tj -/T1_1 1 Tf -0.2775 Tc (1w)Tj -0 Tc 2.16 0 Td -(ith)Tj -/TT0 1 Tf -1.476 0 Td -(errno)Tj -/T1_1 1 Tf -3.278 0 Td -[(set )-27(to)]TJ -/TT0 1 Tf -2.656 0 Td -(EAGAIN)Tj -/T1_1 1 Tf -3.878 0 Td -[(\(we )-27(can )-27(pass )-27(a )-27(null )-27(pointer )-27(for )-27(the)]TJ -/T1_2 1 Tf --23.789 -1.2 Td -(timeout)Tj -/T1_1 1 Tf -3.376 0 Td -[(ar)18(gument )-15(if )-15(we )-15(want )-15(to )-15(block )-15(without )-15(a )-15(time )-15(limit\).)-519(If )-15(any )-15(of )-15(the )-15(I/O )-15(operations)]TJ --3.376 -1.2 Td -(complete,)Tj -/TT0 1 Tf -4.716 0 Td -(aio_suspend)Tj -/T1_1 1 Tf --0.018 Tc 7.017 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns )-167(0.)-667(If )-167(all )-167(asynchr)18(onous )-167(I/O )-167(operations )-167(ar)]TJ -0.4173 Tc 21.465 0 Td -(ec)Tj -0 Tc 1.34 0 Td -(omplete)Tj --35.395 -1.2 Td -(when we call)Tj -/TT0 1 Tf -6.066 0 Td -(aio_suspend)Tj -/T1_1 1 Tf -0.25 Tc (,t)Tj -0 Tc 7.426 0 Td -(hen)Tj -/TT0 1 Tf -1.893 0 Td -(aio_suspend)Tj -/T1_1 1 Tf -6.85 0 Td -[(will r)18(eturn without blocking.)]TJ --20.435 -1.2 Td -(The)Tj -/T1_2 1 Tf -2.18 0 Td -(list)Tj -/T1_1 1 Tf -1.784 0 Td -[(ar)18(gument )-256(is )-256(a )-256(pointer )-256(to )-256(an )-256(array )-256(of )-256(AIO )-256(contr)18(ol )-256(blocks )-256(and )-256(the)]TJ -/T1_2 1 Tf -31.402 0 Td -(nent)Tj -/T1_1 1 Tf --37.166 -1.2 Td -[(ar)18(gument )-135(indicates )-135(the )-135(number )-135(of )-135(entries )-135(in )-135(the )-135(array)]TJ -0.6351 Tc 24.568 0 Td -(.N)Tj -0 Tc 1.716 0 Td -[(ull )-135(pointers )-135(in )-135(the )-135(array )-135(ar)18(e)]TJ --26.284 -1.2 Td -[(skipped; )-198(the )-198(other )-198(entries )-198(must )-198(point )-198(to )-198(AIO )-198(contr)18(ol )-198(blocks )-198(that )-198(have )-198(been )-198(used )-198(to)]TJ -0 -1.2 TD -[(initiate asynchr)18(onous I/O operations.)]TJ -1.8 -1.2 Td -[(When )-141(we )-141(have )-141(pending )-141(asynchr)18(onous )-141(I/O )-141(operations )-141(that )-141(we )-141(no )-141(longer )-141(want )-141(to)]TJ --1.8 -1.2 Td -(complete, we can attempt to cancel them with the)Tj -/TT0 1 Tf -22.131 0 Td -(aio_cancel)Tj -/T1_1 1 Tf -6.25 0 Td -(function.)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5822 383.274 Tm -(#include )Tj -0 -2.021 TD -(int aio_cancel\(int)Tj -/T1_2 1 Tf -11.4 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 2.578 0 Td -(truct aiocb *)Tj -/T1_2 1 Tf -(aiocb)Tj -/TT0 1 Tf -(\);)Tj -/T1_1 1 Tf -14.81 -2.021 Td -(Returns: \(see following\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.6 w 1 j 1 J -q 1 0 0 1 1296.25 3424.25 cm -0 0 m -0 499 l -3900 499 l -3900 0 l -0 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 326.4812 Tm -(The)Tj -/T1_2 1 Tf -2.088 0 Td -(fd)Tj -/T1_1 1 Tf -1.192 0 Td -[(ar)18(gument )-164(speci\336es )-164(the )-164(\336le )-164(descriptor )-164(with )-164(the )-164(outstanding )-164(asynchr)18(onous )-164(I/O)]TJ --3.281 -1.2 Td -[(operations. )-541(If)-542(the)]TJ -/T1_2 1 Tf -8.872 0 Td -(aiocb)Tj -/T1_1 1 Tf -2.578 0 Td -[(ar)18(gument )-291(is)]TJ -/TT0 1 Tf -6.104 0 Td -(NULL)Tj -/T1_1 1 Tf -0.5415 Tc (,t)Tj -0 Tc 3.518 0 Td -[(hen )-291(the )-291(system )-291(attempts )-291(to )-291(cancel )-291(all)]TJ --21.07 -1.2 Td -[(outstanding )-99(asynchr)18(onous )-99(I/O )-99(operations )-99(on )-99(the )-99(\336le.)-599(Otherwise, )-99(the )-99(system )-99(attempts)]TJ -0 -1.2 TD -[(to )-148(cancel )-148(the )-148(single )-148(asynchr)16(onous )-148(I/O )-148(operation )-148(described )-148(by )-148(the )-148(AIO )-148(contr)18(ol )-148(block.)]TJ --0.092 Tc T* -[(We )-512(s)]TJ -0 Tc 2.389 0 Td -[(ay )-328(that )-328(the )-328(system )-328(\324)38(\324attempts\325)37(\325)-578(to)-578(c)1(ancel )-328(the )-328(operations, )-328(because )-328(ther)19(e)-578(is)-578(n)1(o)]TJ --2.389 -1.2 Td -[(guarantee that the system will be able to cancel any operations that ar)18(e)-250(in)-250(p)]TJ --0.018 Tc (ro)Tj -0 Tc 34.122 0 Td -[(gr)18(ess.)]TJ --32.322 -1.2 Td -(The)Tj -/TT0 1 Tf -1.924 0 Td -(aio_cancel)Tj -/T1_1 1 Tf -6.25 0 Td -[(function can r)18(eturn one of four values:)]TJ -/TT0 1 Tf --8.174 -1.92 Td -(AIO_ALLDONE)Tj -/T1_1 1 Tf -9.883 0 Td -[(All )-98(of )-98(the )-98(operations )-98(completed )-98(befor)]TJ -0.3482 Tc 17.005 0 Td -(et)Tj -0 Tc 1.153 0 Td -[(he )-98(attempt )-98(to )-98(cancel)]TJ --18.158 -1.2 Td -(them.)Tj -/TT0 1 Tf --9.883 -1.72 Td -(AIO_CANCELED)Tj -/T1_1 1 Tf -9.883 0 Td -[(All of the r)18(equested operations have been canceled.)]TJ -/TT0 1 Tf --9.883 -1.72 Td -(AIO_NOTCANCELED)Tj -/T1_1 1 Tf -9.883 0 Td -[(At )-451(least )-451(one )-451(of )-451(the )-451(r)18(equested )-451(operations )-451(could )-451(not )-451(be)]TJ -T* -(canceled.)Tj -/TT1 1 Tf --9.883 -1.72 Td -(!)Tj -/T1_1 1 Tf -8.834 Tc (1T)Tj -0 Tc 10.496 0 Td -[(he )-29(call )-29(to)]TJ -/TT0 1 Tf -4.297 0 Td -(aio_cancel)Tj -/T1_1 1 Tf -6.279 0 Td -[(failed. )-279(The)-279(err)18(or )-29(code )-29(will )-29(be )-29(stor)17(ed)]TJ --11.189 -1.2 Td -(in)Tj -/TT0 1 Tf -1.123 0 Td -(errno)Tj -/T1_1 1 Tf -(.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47692 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(22)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(System )-250(Overview)]TJ -39.741 0 Td -[(Chapter )-250(1)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2814 6062 864 360 re -S -Q -BT -/T1_1 1 Tf -7.9995 0 0 7.9995 304.6897 627.4024 Tm -(application)Tj -1.446 -1.25 Td -(code)Tj -ET -q -0.99994 0 0 0.99994 0 0 cm -q 1 0 0 1 324.6 606.2 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -1 j 1 J -q 1 0 0 1 3246 6062 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.99988 0 0 0.99988 0 0 cm -q 1 0 0 1 324.6 570.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -1 j 1 J -q 1 0 0 1 3246 5702 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 5990.25 cm -0 0 m -0 -216 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2814 5342 864 360 re -S -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 291.3116 555.34 Tm -(memory allocation)Tj -0.376 -1.25 Td -(function)Tj -/TT0 1 Tf -3.957 0 Td -(malloc)Tj -ET -q -0.99982 0 0 0.99982 0 0 cm -q 1 0 0 1 324.6 534.2 cm -0 0 m -1.8 -7.2 l --1.8 -7.2 l -f -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -1 j 1 J -q 1 0 0 1 3246 5342 cm -0 0 m -18 -72 l --18 -72 l -h -S -Q -Q -q -0.99976 0 0 0.99976 0 0 cm -q 1 0 0 1 324.6 498.2 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -1 j 1 J -q 1 0 0 1 3246 4982 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3246.25 5270.25 cm -0 0 m -0 -216 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2958 4694 576 288 re -S -Q -BT -/TT0 1 Tf -7.9976 0 0 7.9976 314.9055 486.8939 Tm -(sbrk)Tj -/T1_1 1 Tf --1.234 -1.25 Td -(system call)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2526 4262 1440 720 re -S -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 400.4558 460.2743 Tm -(kernel)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5198.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5272.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5346.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5420.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5494.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5568.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5642.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5715.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5790.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5864.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 5938.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 6012.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 6086.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 6160.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 6234.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 6308.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 6381.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 6456.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2670.25 6530.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2740.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2809.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2879.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2948.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3018.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3088.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3158.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3228.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3298.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3367.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3437.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3507.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3576.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3646.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3716.25 6566.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3786.25 6566.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 6492.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 6417.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 6344.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 6270.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 6196.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 6122.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 6048.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 5974.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 5900.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 5826.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 5751.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 5678.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 5604.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 5530.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 5456.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 5382.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 5308.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3822.25 5234.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3752.25 5198.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3682.25 5198.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3612.25 5198.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3543.25 5198.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3473.25 5198.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3403.25 5198.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3334.25 5198.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3264.25 5198.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3194.25 5198.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3124.25 5198.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3054.25 5198.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2984.25 5198.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2915.25 5198.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2845.25 5198.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2776.25 5198.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2706.25 5198.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 386.0378 586.1937 Tm -[(user pr)18(ocess)]TJ -/T1_0 1 Tf --22.225 -23.18 Td -[(Figure 1.1)37(1)]TJ -/T1_1 1 Tf -5.658 0 Td -(Separation of)Tj -/TT0 1 Tf -6.124 0 Td -(malloc)Tj -/T1_1 1 Tf -3.85 0 Td -(function and)Tj -/TT0 1 Tf -5.9 0 Td -(sbrk)Tj -/T1_1 1 Tf -2.65 0 Td -(system call)Tj -9.9958 0 0 9.9958 147.5383 369.6447 Tm -[(Her)18(e)-291(we)-291(h)1(ave )-41(a )-41(clean )-41(separation )-41(of )-41(duties: )-41(the )-41(system )-41(call )-41(in )-41(the )-41(kernel )-41(allocates )-41(an)]TJ --1.8 -1.2 Td -[(additional )-289(chunk )-289(of )-289(space )-289(on )-289(behalf )-289(of )-289(the )-289(pr)18(ocess. )-539(The)]TJ -/TT0 1 Tf -27.634 0 Td -(malloc)Tj -/T1_1 1 Tf -4.139 0 Td -[(library )-289(function)]TJ --31.773 -1.2 Td -[(manages this space fr)18(om user level.)]TJ -1.8 -1.2 Td -[(Another )-180(example )-180(to )-180(illustrate )-180(the )-180(dif)17(fer)18(ence )-180(between )-180(a )-180(system )-180(call )-180(and )-180(a )-180(library)]TJ --1.8 -1.2 Td -[(function )-105(is )-105(the )-105(interface )-105(the )-105(UNIX )-105(System )-105(pr)19(ovides )-105(to )-105(determine )-105(the )-105(curr)18(ent )-105(time )-105(and)]TJ -0 -1.2 TD -[(date. )-263(Some)-264(operating )-13(systems )-13(pr)18(ovide )-13(one )-13(system )-13(call )-13(to )-13(r)18(eturn )-13(the )-13(time )-13(and )-13(another )-13(to)]TJ --0.018 Tc T* -(re)Tj -0 Tc 0.856 0 Td -[(turn )-135(the )-135(date.)-636(Any )-135(special )-135(handling, )-135(such )-135(as )-135(the )-135(switch )-135(to )-135(or )-135(fr)18(om )-135(daylight )-135(saving)]TJ --0.856 -1.2 Td -[(time, )-126(is )-126(handled )-126(by )-126(the )-126(kernel )-126(or )-126(r)15(equir)18(es )-126(human )-126(intervention.)-626(The )-126(UNIX )-126(System, )-126(in)]TJ -T* -[(contrast, )-194(pr)18(ovides )-194(a )-194(single )-194(system )-194(call )-194(that )-194(r)17(eturns )-194(the )-194(number )-194(of )-194(seconds )-194(since )-194(the)]TJ -T* -[(Epoch: )-113(midnight, )-113(January )-113(1, )-113(1970, )-113(Coor)18(dinated )-113(Universal )-113(T)52(ime. )-363(Any)-364(interpr)18(etation )-113(of)]TJ -0 -1.2 Td -[(this )-30(value, )-30(such )-30(as )-30(converting )-30(it )-30(to )-30(a )-30(human-r)16(eadable )-30(time )-30(and )-30(date )-30(using )-30(the )-30(local )-30(time)]TJ -T* -[(zone, )-165(is )-165(left )-165(to )-165(the )-165(user )-165(pr)18(ocess. )-415(The)-415(standar)]TJ -0.415 Tc 20.77 0 Td -(dCl)Tj -0 Tc 2.441 0 Td -[(ibrary )-165(pr)18(ovides )-165(r)18(outines )-165(to )-165(handle)]TJ --23.211 -1.2 Td -[(most )-178(cases.)-679(These )-178(library )-178(r)18(outines )-178(handle )-178(such )-178(details )-178(as )-178(the )-178(various )-178(algorithms )-178(for)]TJ -T* -(daylight saving time.)Tj -1.8 -1.2 Td -[(An )-82(application )-82(can )-82(either )-82(make )-82(a )-82(system )-82(call )-82(or )-82(call )-82(a )-82(library )-82(r)20(outine. )-332(Also)]TJ --0.018 Tc 34.283 0 Td -(re)Tj -0 Tc 0.856 0 Td -(alize)Tj --36.939 -1.2 Td -[(that many library r)18(outines invoke a system call.)-500(This is shown in Figur)]TJ -0.25 Tc 31.35 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(.12.)Tj --30.779 -1.2 Td -[(Another )-118(dif)18(fer)18(ence )-118(between )-118(system )-118(calls )-118(and )-118(library )-118(functions )-118(is )-118(that )-118(system )-118(calls)]TJ --1.8 -1.2 Td -[(usually )-265(pr)18(ovide )-265(a )-265(minimal )-265(interface, )-265(wher)18(eas )-265(library )-265(functions )-265(often )-265(pr)18(ovide )-265(mor)14(e)]TJ -T* -[(elaborate )-213(functionality)]TJ -0.7129 Tc 10.092 0 Td -(.W)Tj -0 Tc 1.871 0 Td -[(e\325ve )-213(seen )-213(this )-213(alr)18(eady )-213(in )-213(the )-213(dif)19(fer)18(ence )-213(between )-213(the)]TJ -/TT0 1 Tf -24.637 0 Td -(sbrk)Tj -/T1_1 1 Tf --36.6 -1.2 Td -[(system )-42(call )-42(and )-42(the)]TJ -/TT0 1 Tf -8.867 0 Td -(malloc)Tj -/T1_1 1 Tf -3.892 0 Td -[(library )-42(function.)]TJ --0.092 Tc 7.772 0 Td -(We)Tj -0 Tc 1.387 0 Td -[(\325ll )-42(see )-42(this )-42(dif)17(fer)18(ence )-42(again )-42(later)]TJ -0.2923 Tc 14.062 0 Td -(,w)Tj -0 Tc 1.376 0 Td -(hen)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47693 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(961)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -[(dir)18(ectory)]TJ -0.5 Tc 3.914 0 Td -(,4)Tj -0 Tc -2.564 -1.25 Td -[(curr)18(ent, )-250(4)]TJ -4.539 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(5, 8, 13, 43, 50, 65, 94, 100, 1)55(15)]TJ -13.028 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(7,)Tj --18.329 -1.25 Td -(120, 127, 130, 135)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(137, 178, 21)55(1, 233, 252, 315,)]TJ --8.166 -1.25 Td -(317, 466)Tj --1.35 -1.25 Td -[(\336le, )-250(95)]TJ -0 -1.25 TD -[(home, )-250(2,)-250(8, 135, 21)55(1, 288, 292)]TJ -T* -[(ownership, )-250(101)]TJ -7.067 0.09 Td -(\320)Tj -0.583 -0.09 Td -(102)Tj --7.65 -1.25 Td -[(par)18(ent, )-250(4,)-250(108, 125, 129)]TJ --0.018 Tc T* -(ro)Tj -0 Tc 0.923 0 Td -[(ot, )-250(4,)-250(8, 24, 139, 141, 233, 252, 283, 910)]TJ --2.273 -1.25 Td -[(Dir)18(ectory Services daemon,)-500(185)]TJ -/TT0 1 Tf -T* -(dirent)Tj -/T1_0 1 Tf -4.017 0 Td -[(str)8(uctur)18(e, )-250(5,)-250(7, 131, 133, 697, 822)]TJ -/TT0 1 Tf --4.017 -1.25 Td -()Tj -/T1_0 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,7)Tj -0.25 Tc 1.25 0 Td -(,2)Tj -0 Tc 1 0 Td -(9, 131)Tj -/TT0 1 Tf --11.639 -1.25 Td -(dirname)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(442)]TJ --4.617 -1.25 Td -(DISCARD terminal character)Tj -0.5 Tc 12.803 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 680, 687)Tj -/TT0 1 Tf --14.053 -1.25 Td -(dlclose)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(dlerror)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --4.617 -1.25 Td -()Tj -/T1_0 1 Tf -5.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --10.039 -1.25 Td -(dlopen)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(do_driver)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(732,)-250(739)]TJ --4.467 -1.25 Td -[(de\336nition of,)-500(739)]TJ --1.35 -1.25 Td -[(Dorwar)18(d, S.,)-500(229, 952)]TJ -T* -[(DOS, )-250(57,)-250(65)]TJ -T* -(dot,)Tj -/T1_2 1 Tf -2.233 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -[(curr)18(ent dir)18(ectory)]TJ --3.65 -1.25 Td -(dot-dot,)Tj -/T1_2 1 Tf -4.049 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -[(par)18(ent dir)18(ectory)]TJ -/TT0 1 Tf --5.466 -1.25 Td -(dprintf)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(159,)-250(452, 945)]TJ --3.267 -1.25 Td -[(de\336nition of,)-500(159)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(drand48)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(442)]TJ --4.617 -1.25 Td -(DSUSP terminal character)Tj -0.5 Tc 11.444 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 680, 688)Tj -/TT0 1 Tf --12.694 -1.25 Td -(dtruss)Tj -/T1_0 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(497)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(du)Tj -/T1_0 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(1)]TJ --0.055 Tc 5.053 0 Td -(11)Tj -0.25 Tc 0.945 0 Td -(,1)Tj -0 Tc 1 0 Td -(41, 909)Tj --8.615 -1.25 Td -[(Duf)18(f, T)74(., )-250(88)]TJ -/TT0 1 Tf -T* -(dup)Tj -/T1_0 1 Tf -2.217 0 Td -[(function, )-250(52,)-250(61, 74, 77, 79)]TJ -11.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(81, 148, 164, 231,)Tj --11.64 -1.25 Td -(331, 468, 492)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(493, 592)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(593, 907)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(908, 921)Tj --15.85 -1.25 Td -[(de\336nition of,)-500(79)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(dup2)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(64,)-250(79)]TJ -7.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(81, 90, 148, 331, 539, 544,)Tj --7.74 -1.25 Td -(550)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(551, 592, 618)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(619, 655, 728)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(729,)Tj --14.5 -1.25 Td -(739)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(740, 907)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(908)Tj --7.683 -1.25 Td -[(de\336nition of,)-500(79)]TJ -/TT0 1 Tf --1.35 -4.75 Td -(E2BIG)Tj -/T1_0 1 Tf -3.417 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(64)Tj -/TT0 1 Tf --6.785 -1.25 Td -(EACCES)Tj -/T1_0 1 Tf -4.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(4)Tj -0.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(15, 474, 487, 499, 918)Tj -/TT0 1 Tf --8.551 -1.25 Td -(EAGAIN)Tj -/T1_0 1 Tf -4.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(6, 376, 474, 482, 484, 487, 496)Tj -12.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(497,)Tj --17.851 -1.25 Td -(499, 514, 563, 569)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(570, 581, 609, 627)Tj -/TT0 1 Tf --10.867 -1.25 Td -(EBADF)Tj -/T1_0 1 Tf -3.417 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(2, 916)Tj -/TT0 1 Tf --6.785 -1.25 Td -(EBUSY)Tj -/T1_0 1 Tf -3.417 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(6, 400, 410, 418)Tj -/TT0 1 Tf --6.785 -1.25 Td -(ECANCELED)Tj -/T1_0 1 Tf -5.817 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(15)Tj -/TT0 1 Tf --9.185 -1.25 Td -(ECHILD)Tj -/T1_0 1 Tf -4.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(33, 351, 371, 546)Tj -/TT0 1 Tf --7.385 -1.25 Td -(ECHO)Tj -/T1_0 1 Tf -2.817 0 Td -[(constant, )-250(676,)-250(686)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(687, 701, 705)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(707, 731)Tj -/TT0 1 Tf --17.63 -1.25 Td -(echo)Tj -/T1_0 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(203)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(ECHOCTL)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(676,)-250(686)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(ECHOE)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(686)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(687, 701, 731)Tj -/TT0 1 Tf -13.937 64.75 Td -(ECHOK)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(687, 701, 731)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(ECHOKE)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(687)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(ECHONL)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(687, 701, 731)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(ECHOPRT)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(676,)-250(686)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(687)Tj -/TT0 1 Tf --13.263 -1.25 Td -(ed)Tj -/T1_0 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(367,)-250(369)]TJ -8.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(370, 496)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(497)Tj -/TT0 1 Tf --14.558 -1.25 Td -(EDEADLK)Tj -/T1_0 1 Tf -4.617 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,4)Tj -0 Tc 1.25 0 Td -(18)Tj -/TT0 1 Tf --7.985 -1.25 Td -(EEXIST)Tj -/T1_0 1 Tf -4.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(21, 558, 584)Tj -/TT0 1 Tf --7.385 -1.25 Td -(EFBIG)Tj -/T1_0 1 Tf -3.417 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,9)Tj -0 Tc 1.25 0 Td -(25)Tj --6.785 -1.25 Td -[(ef)18(fective)]TJ -1.35 -1.25 Td -[(gr)18(oup ID,)-500(98)]TJ -5.877 0.09 Td -(\320)Tj -0.583 -0.09 Td -(99, 101)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(102, 108, 1)55(10, 140, 183,)]TJ --8.777 -1.25 Td -(228, 233, 256, 258, 558, 587)Tj --1.35 -1.25 Td -[(user ID,)-500(98)]TJ -5.095 0.09 Td -(\320)Tj -0.583 -0.09 Td -(99, 101)Tj -3.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(102, 106, 1)55(10, 126, 140, 228,)]TJ --7.995 -1.25 Td -(233, 253, 256)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(260, 276, 286, 288, 337, 381, 558,)Tj --6.166 -1.25 Td -(562, 568, 573, 586)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(587, 637, 640, 809, 918)Tj --10.866 -1.25 Td -[(ef)18(\336ciency)]TJ -1.35 -1.25 Td -[(I/O, )-250(72)]TJ -3.562 0.09 Td -(\320)Tj -0.583 -0.09 Td -(74)Tj --4.146 -1.25 Td -(standar)Tj -0.25 Tc 3.32 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O, )-250(153)]TJ -3.725 0.09 Td -(\320)Tj -0.583 -0.09 Td -(156)Tj -/TT0 1 Tf --10.177 -1.25 Td -(EIDRM)Tj -/T1_0 1 Tf -3.417 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(62)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(564, 568)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(570, 579)Tj -/TT0 1 Tf --12.618 -1.25 Td -(EINPROGRESS)Tj -/T1_0 1 Tf -7.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(19)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(520, 608)Tj -/TT0 1 Tf --12.051 -1.25 Td -(EINTR)Tj -/T1_0 1 Tf -3.417 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(6, 265)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(266, 301, 327)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(329, 339, 359,)Tj --13.418 -1.25 Td -(370, 502, 508, 514, 545)Tj -9.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(546, 563)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(564,)Tj --14.333 -1.25 Td -(569)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(570, 620)Tj -/TT0 1 Tf --4.866 -1.25 Td -(EINVAL)Tj -/T1_0 1 Tf -4.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,4)Tj -0 Tc 1.25 0 Td -(2, 47)Tj -2.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(48, 345, 389, 543, 545)Tj -9.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(546,)Tj --17.018 -1.25 Td -(705)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(707, 774, 914)Tj -/TT0 1 Tf --4.866 -1.25 Td -(EIO)Tj -/T1_0 1 Tf -2.217 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(09, 321, 823)Tj -5.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(824, 826)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(827)Tj --15.418 -1.25 Td -[(Ellis, M.,)-500(xxxii)]TJ -/TT0 1 Tf -T* -(ELOOP)Tj -/T1_0 1 Tf -3.417 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(21)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(122)Tj -/TT0 1 Tf --8.451 -1.25 Td -(EMFILE)Tj -/T1_0 1 Tf -4.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(44, 546)Tj -/TT0 1 Tf --7.385 -1.25 Td -(EMSGSIZE)Tj -/T1_0 1 Tf -5.217 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(10)Tj -/TT0 1 Tf --8.585 -1.25 Td -(ENAMETOOLONG)Tj -/T1_0 1 Tf -7.617 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(5, 637, 640)Tj -/TT0 1 Tf --10.985 -1.25 Td -(encrypt)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(endgrent)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(183)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(184, 442, 452)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(183)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(endhostent)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(452,)-250(597)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(597)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(endnetent)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(452,)-250(598)]TJ --4.467 -1.25 Td -[(de\336nition of,)-500(598)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(endprotoent)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(452,)-250(598)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(598)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(endpwent)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(180)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(181, 442, 452)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(180)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(endservent)Tj -/T1_0 1 Tf -6.417 0 Td -[(function, )-250(452,)-250(599)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(599)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(endspent)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(182)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(182)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(endutxent)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(442,)-250(452)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(ENFILE)Tj -/T1_0 1 Tf -4.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(6)Tj -/TT0 1 Tf --7.385 -1.25 Td -(ENOBUFS)Tj -/T1_0 1 Tf -4.617 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(6)Tj -/TT0 1 Tf --7.985 -1.25 Td -(ENOENT)Tj -/T1_0 1 Tf -4.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(5, 170, 445, 745, 774)Tj -/TT0 1 Tf --7.385 -1.25 Td -(ENOLCK)Tj -/T1_0 1 Tf -4.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(6)Tj -/TT0 1 Tf --7.385 -1.25 Td -(ENOMEM)Tj -/T1_0 1 Tf -4.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(6, 914)Tj -/TT0 1 Tf --7.385 -1.25 Td -(ENOMSG)Tj -/T1_0 1 Tf -4.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(64)Tj -/TT0 1 Tf --7.385 -1.25 Td -(ENOSPC)Tj -/T1_0 1 Tf -4.017 0 Td -[(err)18(or)]TJ -0.5 Tc 2.118 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(6, 445)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47694 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(774)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(564 )-1200(/*)]TJ -0 -1.189 TD -[(565 )-1800(*)-600(Store a record in the database.)-1200(Return 0 if OK, 1 if record)]TJ -T* -[(566 )-1800(*)-600(exists and DB_INSERT specified, -1 on error.)]TJ -T* -[(567 )-1800(*/)]TJ -T* -[(568 )-1200(int)]TJ -0 -1.189 TD -[(569 )-1200(db_store\(DBHANDLE)-600(h, const char *key, const char *data, int flag\))]TJ -0 -1.189 TD -[(570 )-1200({)]TJ -T* -[(571 )-2400(DB)-3600(*db = h;)]TJ -T* -[(572 )-2400(int )-2400(rc,)-600(keylen, datlen;)]TJ -T* -[(573 )-2400(off_t)-1800(ptrval;)]TJ -0 -1.783 TD -[(574 )-2400(if)-600(\(flag != DB_INSERT && flag != DB_REPLACE &&)]TJ -0 -1.189 TD -[(575 )-3600(flag)-600(!= DB_STORE\) {)]TJ -T* -[(576 )-4800(errno)]TJ -0.6 Tc 10.8 0 Td -(=E)Tj -0 Tc 1.8 0 Td -(INVAL;)Tj --12.6 -1.189 Td -[(577 )-4800(return\(-1\);)]TJ -T* -[(578 )-2400(})]TJ -T* -[(579 )-2400(keylen)]TJ -0.6 Tc 9 0 Td -(=s)Tj -0 Tc 1.8 0 Td -(trlen\(key\);)Tj --10.8 -1.189 Td -[(580 )-2400(datlen)]TJ -0.6 Tc 9 0 Td -(=s)Tj -0 Tc 1.8 0 Td -[(trlen\(data\) + 1;)-3600(/* +1 for newline at end */)]TJ --10.8 -1.189 Td -[(581 )-2400(if)-600(\(datlen < DATLEN_MIN || datlen > DATLEN_MAX\))]TJ -T* -[(582 )-4800(err_dump\("db_store:)-600(invalid data length"\);)]TJ -0 -1.783 TD -[(583 )-2400(/*)]TJ -0 -1.189 TD -[(584 )-3000(*)-600(_db_find_and_lock calculates which hash table this new record)]TJ -T* -[(585 )-3000(*)-600(goes into \(db->chainoff\), regardless of whether it already)]TJ -0 -1.189 TD -[(586 )-3000(*)-600(exists or not. The following calls to _db_writeptr change the)]TJ -0 -1.189 TD -[(587 )-3000(*)-600(hash table entry for this chain to point to the new record.)]TJ -T* -[(588 )-3000(*)-600(The new record is added to the front of the hash chain.)]TJ -0 -1.189 TD -[(589 )-3000(*/)]TJ -0 -1.189 TD -[(590 )-2400(if)-600(\(_db_find_and_lock\(db, key, 1\) < 0\) { /* record not found */)]TJ -0 -1.189 TD -[(591 )-4800(if)-600(\(flag == DB_REPLACE\) {)]TJ -0 -1.189 TD -(592 )Tj -9.6 0 Td -(rc)Tj -0.6 Tc 1.8 0 Td -(=-)Tj -0 Tc 1.8 0 Td -(1;)Tj --13.2 -1.189 Td -(593 )Tj -9.6 0 Td -(db->cnt_storerr++;)Tj --9.6 -1.189 Td -(594 )Tj -9.6 0 Td -(errno)Tj -0.6 Tc 3.6 0 Td -(=E)Tj -0 Tc 1.8 0 Td -[(NOENT; )-2400(/*)-600(error, record does not exist */)]TJ --15 -1.189 Td -(595 )Tj -9.6 0 Td -[(goto)-600(doreturn;)]TJ --9.6 -1.189 Td -[(596 )-4800(})]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3016.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 277.5647 Tm -[([564 )167(\320 )167(582])]TJ --0.092 Tc 5 0 Td -[(We )-218(u)]TJ -0 Tc 2.274 0 Td -(se)Tj -/TT0 1 Tf -1.187 0 Td -(db_store)Tj -/T1_1 1 Tf -5.084 0 Td -[(to )-34(add )-34(a )-34(r)18(ecor)18(d)-284(to)-284(the )-34(database.)]TJ --0.092 Tc 14.568 0 Td -[(We )-218(\336)]TJ -0 Tc 2.276 0 Td -[(rst )-34(validate )-34(the )-34(\337ag)]TJ --25.389 -1.2 Td -[(value )-3(we )-3(ar)]TJ -0.253 Tc 5.134 0 Td -(ep)Tj -0 Tc 1.333 0 Td -[(assed. )-253(Then)-253(we )-3(make )-3(sur)]TJ -0.253 Tc 11.341 0 Td -(et)Tj -0 Tc 1.058 0 Td -[(hat )-3(the )-3(length )-3(of )-3(the )-3(data )-3(r)18(ecor)]TJ -0.253 Tc 13.555 0 Td -(di)Tj -0 Tc 1.155 0 Td -(s)Tj --33.576 -1.2 Td -[(valid. )-282(If)-282(it )-32(isn\325t, )-32(we )-32(dr)18(op )-32(cor)]TJ -0.282 Tc 12.703 0 Td -(ea)Tj -0 Tc 1.261 0 Td -[(nd )-32(exit.)-532(This )-32(is )-32(OK )-32(for )-32(an )-32(example, )-32(but )-32(if )-32(we)]TJ --13.964 -1.2 Td -(wer)Tj -0.5784 Tc 1.69 0 Td -(eb)Tj -0 Tc 1.61 0 Td -[(uilding )-328(a )-328(pr)17(oduction-quality )-328(library)]TJ -0.5783 Tc 16.717 0 Td -(,w)Tj -0 Tc 1.662 0 Td -[(e\325d )-328(r)18(eturn )-328(an )-328(err)18(or )-328(status)]TJ --21.68 -1.2 Td -[(instead, which would give the application a chance to r)18(ecover)74(.)]TJ --5 -1.6 Td -[([583 )167(\320 )167(596])]TJ --0.092 Tc 5 0 Td -[(We )-242(c)]TJ -0 Tc 2.139 0 Td -(all)Tj -/TT0 1 Tf -1.39 0 Td -(_db_find_and_lock)Tj -/T1_1 1 Tf -10.508 0 Td -[(to )-58(see )-58(if )-58(the )-58(r)19(ecor)]TJ -0.3077 Tc 7.719 0 Td -(da)Tj -0 Tc 1.419 0 Td -[(lr)18(eady )-58(exists.)-558(It )-58(is )-58(OK )-58(if)]TJ --23.173 -1.2 Td -[(the )-47(r)18(ecor)]TJ -0.2974 Tc 3.907 0 Td -(dd)Tj -0 Tc 1.519 0 Td -[(oesn\325t )-47(exist )-47(and )-47(either)]TJ -/TT0 1 Tf -10.106 0 Td -(DB_INSERT)Tj -/T1_1 1 Tf -5.697 0 Td -(or)Tj -/TT0 1 Tf -1.238 0 Td -(DB_STORE)Tj -/T1_1 1 Tf -5.097 0 Td -[(is )-47(speci\336ed, )-47(or)]TJ --27.565 -1.2 Td -[(if )-418(the )-418(r)18(ecor)]TJ -0.668 Tc 5.57 0 Td -(da)Tj -0 Tc 1.779 0 Td -[(lr)18(eady )-418(exists )-418(and )-418(either)]TJ -/TT0 1 Tf -12.191 0 Td -(DB_REPLACE)Tj -/T1_1 1 Tf -6.668 0 Td -(or)Tj -/TT0 1 Tf -1.609 0 Td -(DB_STORE)Tj -/T1_1 1 Tf -5.468 0 Td -(is)Tj --33.285 -1.2 Td -[(speci\336ed. )-421(Replacing)-420(an )-171(existing )-171(r)19(ecor)]TJ -0.4206 Tc 17.298 0 Td -(di)Tj -0 Tc 1.323 0 Td -[(mplies )-171(that )-171(the )-171(keys )-171(ar)]TJ -0.4206 Tc 10.664 0 Td -(ei)Tj -0 Tc 1.191 0 Td -(dentical)Tj --30.476 -1.2 Td -[(but )-160(that )-160(the )-160(data )-160(r)20(ecor)18(ds )-160(pr)18(obably )-160(dif)19(fer)]TJ -0.6597 Tc 18.583 0 Td -(.N)Tj -0 Tc 1.741 0 Td -[(ote )-160(that )-160(the )-160(\336nal )-160(ar)18(gument )-160(to)]TJ -/TT0 1 Tf --20.323 -1.2 Td -(_db_find_and_lock)Tj -/T1_1 1 Tf -10.475 0 Td -[(speci\336es )-25(that )-25(the )-25(hash )-25(chain )-25(must )-25(be )-25(write )-25(locked, )-25(as)]TJ --10.475 -1.2 Td -[(we will pr)18(obably be modifying this hash chain.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47695 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(14.5)]TJ -35.16 0 Td -[(Asynchr)18(onous )-250(I/O)]TJ -/T1_1 1 Tf -10.673 0 Td -(519)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 237.5857 670.2598 Tm -(numop++;)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(break;)Tj --2.4 -2.14 Td -(case READ_PENDING:)Tj -2.4 -1.189 Td -(if \(\(err = aio_error\(&bufs[i].aiocb\)\) == EINPROGRESS\))Tj -2.4 -1.189 Td -(continue;)Tj --2.4 -1.189 Td -(if \(err != 0\) {)Tj -2.4 -1.189 Td -(if \(err == -1\))Tj -2.4 -1.189 Td -(err_sys\("aio_error failed"\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(err_exit\(err, "read failed"\);)Tj --4.8 -1.189 Td -(})Tj -0 -2.14 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*Ar)Tj -0 Tc 3 0 Td -(ead is complete; translate the buffer)Tj -0.6 Tc -3 -1.189 Td -(*a)Tj -0 Tc 1.8 0 Td -(nd write it.)Tj --1.8 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(\(n = aio_return\(&bufs[i].aiocb\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("aio_return failed"\);)Tj --2.4 -1.189 Td -(if \(n != BSZ && !bufs[i].last\))Tj -2.4 -1.189 Td -(err_quit\("short read \(%d/%d\)", n, BSZ\);)Tj --2.4 -1.189 Td -(for \(j = 0; j < n; j++\))Tj -2.4 -1.189 Td -(bufs[i].data[j] = translate\(bufs[i].data[j]\);)Tj --2.4 -1.189 Td -(bufs[i].op = WRITE_PENDING;)Tj -0 -1.189 TD -(bufs[i].aiocb.aio_fildes = ofd;)Tj -T* -(bufs[i].aiocb.aio_nbytes = n;)Tj -0 -1.189 TD -(if \(aio_write\(&bufs[i].aiocb\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("aio_write failed"\);)Tj --2.4 -1.189 Td -(/* retain our spot in aiolist */)Tj -0 -1.189 TD -(break;)Tj --2.4 -2.14 Td -(case WRITE_PENDING:)Tj -2.4 -1.189 Td -(if \(\(err = aio_error\(&bufs[i].aiocb\)\) == EINPROGRESS\))Tj -2.4 -1.189 Td -(continue;)Tj --2.4 -1.189 Td -(if \(err != 0\) {)Tj -2.4 -1.189 Td -(if \(err == -1\))Tj -2.4 -1.189 Td -(err_sys\("aio_error failed"\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(err_exit\(err, "write failed"\);)Tj --4.8 -1.189 Td -(})Tj -0 -2.14 TD -(/*)Tj -0.6 Tc 0.6 -1.189 Td -(*Aw)Tj -0 Tc 3 0 Td -(rite is complete; mark the buffer as unused.)Tj --3 -1.189 Td -(*/)Tj --0.6 -1.189 Td -(if \(\(n = aio_return\(&bufs[i].aiocb\)\) < 0\))Tj -2.4 -1.189 Td -(err_sys\("aio_return failed"\);)Tj --2.4 -1.189 Td -(if \(n != bufs[i].aiocb.aio_nbytes\))Tj -2.4 -1.189 Td -(err_quit\("short write \(%d/%d\)", n, BSZ\);)Tj --2.4 -1.189 Td -(aiolist[i] = NULL;)Tj -0 -1.189 TD -(bufs[i].op = UNUSED;)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47696 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(960)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(DATEMSK)Tj -/T1_1 1 Tf -4.617 0 Td -[(envir)18(onment variable,)-500(21)55(1)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(db)Tj -/T1_1 1 Tf -1.617 0 Td -(library)Tj -0.5 Tc 2.87 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(44, 952)Tj -/TT0 1 Tf --5.737 -1.25 Td -(DB)Tj -/T1_1 1 Tf -1.617 0 Td -[(str)8(uctur)18(e, )-250(756)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(758, 760)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(762, 765)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(768, 773, 776,)Tj --14.135 -1.25 Td -(782)Tj -/TT0 1 Tf --2.7 -1.25 Td -(_db_alloc)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(757,)-250(760)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(761)Tj --13.09 -1.25 Td -[(de\336nition of,)-500(760)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(db_close)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(745,)-250(749, 754, 761)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(745, 761)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(db_delete)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(746,)-250(752, 754, 768)]TJ -12.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(769, 771,)Tj --15.74 -1.25 Td -(945)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(746, 768)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_db_dodelete)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(757,)-250(768)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(769, 772, 776,)Tj --13.54 -1.25 Td -(780)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(781, 787, 944)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(945)Tj --9.683 -1.25 Td -[(de\336nition of,)-500(769)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(db_fetch)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(745,)-250(748)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(749, 752, 754, 762,)Tj --11.14 -1.25 Td -(767)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(745, 762)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_db_find_and_lock)Tj -/T1_1 1 Tf -10.617 0 Td -[(function, )-250(757,)-250(762)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(763,)Tj --16.54 -1.25 Td -(767)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(768, 774)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(775, 777, 786)Tj --7.683 -1.25 Td -[(de\336nition of,)-500(763)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_db_findfree)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(757,)-250(775, 777)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(778, 781)Tj --16.89 -1.25 Td -[(de\336nition of,)-500(777)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_db_free)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(757)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(758, 761)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(761)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(DBHANDLE)Tj -/T1_1 1 Tf -5.217 0 Td -[(data type,)-500(749, 754, 757, 761)]TJ -12.482 0.09 Td -(\320)Tj -0.583 -0.09 Td -(762, 768,)Tj --15.582 -1.25 Td -(774, 779)Tj -/TT0 1 Tf --2.7 -1.25 Td -(_db_hash)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(757,)-250(764, 787)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(764)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(DB_INSERT)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(745,)-250(749, 754, 774, 776)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(dbm)Tj -/T1_1 1 Tf -2.217 0 Td -(library)Tj -0.5 Tc 2.87 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(43)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(744, 952)Tj -/TT0 1 Tf --8.003 -1.25 Td -(dbm_clearerr)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(dbm_close)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(442,)-250(452)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(dbm_delete)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(442,)-250(452)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(dbm_error)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(dbm_fetch)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(442,)-250(452)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(dbm_firstkey)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(dbm_nextkey)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(442,)-250(452)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(dbm_open)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(442,)-250(452)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(dbm_store)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(442,)-250(452)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(db_nextrec)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(746,)-250(750, 752, 754, 769, 779,)]TJ --3.717 -1.25 Td -(781, 787, 944)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(945)Tj --7.516 -1.25 Td -[(de\336nition of,)-500(746, 779)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(db_open)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(745)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(746, 749, 752, 754)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(757,)Tj --16.707 -1.25 Td -(759)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(761, 781)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(745, 757)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_db_readdat)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(757,)-250(762, 768, 780, 945)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(768)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_db_readidx)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(757,)-250(764)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(765, 778, 780,)Tj --12.94 -1.25 Td -(945)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(765)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_db_readptr)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(757,)-250(763, 765, 770,)]TJ --4.317 -1.25 Td -(775)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(777, 787)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(765)]TJ -/TT0 1 Tf -24.65 65 Td -(DB_REPLACE)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(745,)-250(754, 774)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(db_rewind)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(746,)-250(754, 760, 779, 781)]TJ --4.467 -1.25 Td -[(de\336nition of,)-500(746, 779)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(DB_STORE)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(745,)-250(754, 774)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(db_store)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(745,)-250(747, 749, 752, 754, 769,)]TJ --2.517 -1.25 Td -(771, 774, 781, 787)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(745, 774)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_db_writedat)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(757,)-250(769, 771)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(772,)Tj --15.54 -1.25 Td -(775)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(777, 781, 787, 944)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(945)Tj --11.683 -1.25 Td -[(de\336nition of,)-500(771)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_db_writeidx)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(522,)-250(757, 759, 770, 772,)]TJ --4.917 -1.25 Td -(775)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(776, 781, 787, 945)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(772)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(_db_writeptr)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(757,)-250(759, 770, 773,)]TJ --4.917 -1.25 Td -(775)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(776, 778)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(773)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(dcheck)Tj -/T1_1 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(122)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(dd)Tj -/T1_1 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(275)]TJ --1.617 -1.25 Td -[(deadlock, )-250(234,)-250(402, 490, 552, 721)]TJ -1.35 -1.25 Td -[(avoidance, )-250(402)]TJ -6.851 0.09 Td -(\320)Tj -0.583 -0.09 Td -(407)Tj --0.018 Tc -7.435 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.25 Tc 1.367 0 Td -(dl)Tj -0 Tc 1.152 0 Td -[(ocking, )-250(490)]TJ --4.725 -1.25 Td -[(Debian Almquist shell,)-500(4, 53)]TJ -0 -1.25 TD -[(Debian Linux distribution,)-500(4)]TJ -T* -[(delayed write,)-500(81)]TJ -/TT0 1 Tf -T* -(DELAYTIMER_MAX)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(40,)-250(43)]TJ --8.817 -1.25 Td -[(descriptor set,)-500(503, 505, 532, 933)]TJ -/TT0 1 Tf -T* -(detachstate)Tj -/T1_1 1 Tf -7.017 0 Td -[(attribute, )-250(427)]TJ -6.132 0.09 Td -(\320)Tj -0.583 -0.09 Td -(428)Tj -/TT0 1 Tf --13.732 -1.25 Td -(/dev/fd)Tj -/T1_1 1 Tf -4.617 0 Td -[(device, )-250(88)]TJ -4.702 0.09 Td -(\320)Tj -0.583 -0.09 Td -(89, 142, 696)Tj -/TT0 1 Tf --9.902 -1.25 Td -(/dev/fd/0)Tj -/T1_1 1 Tf -5.817 0 Td -[(device, )-250(89)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(/dev/fd/1)Tj -/T1_1 1 Tf -5.817 0 Td -[(device, )-250(89,)-250(142)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(/dev/fd/2)Tj -/T1_1 1 Tf -5.817 0 Td -[(device, )-250(89)]TJ --5.817 -1.25 Td -(device number)Tj -1.35 -1.25 Td -(major)Tj -0.5 Tc 2.484 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(8)Tj -0.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(59, 137, 139, 465, 699)Tj --4.9 -1.25 Td -(minor)Tj -0.5 Tc 2.623 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(8)Tj -0.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(59, 137, 139, 465, 699)Tj --6.389 -1.25 Td -[(device special \336le,)-500(137)]TJ -10.107 0.09 Td -(\320)Tj -0.583 -0.09 Td -(139)Tj -/TT0 1 Tf --10.691 -1.25 Td -(/dev/klog)Tj -/T1_1 1 Tf -5.817 0 Td -[(device, )-250(470)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(/dev/kmem)Tj -/T1_1 1 Tf -5.817 0 Td -[(device, )-250(68)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(/dev/log)Tj -/T1_1 1 Tf -5.217 0 Td -[(device, )-250(470,)-250(480, 928)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(/dev/null)Tj -/T1_1 1 Tf -5.817 0 Td -[(device, )-250(73,)-250(86, 304)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(/dev/stderr)Tj -/T1_1 1 Tf -7.017 0 Td -[(device, )-250(89,)-250(697)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(/dev/stdin)Tj -/T1_1 1 Tf -6.417 0 Td -[(device, )-250(89,)-250(697)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(/dev/stdout)Tj -/T1_1 1 Tf -7.017 0 Td -[(device, )-250(89,)-250(697)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(dev_t)Tj -/T1_1 1 Tf -3.417 0 Td -[(data type,)-500(59, 137)]TJ -7.982 0.09 Td -(\320)Tj -0.583 -0.09 Td -(138)Tj -/TT0 1 Tf --11.982 -1.25 Td -(devtmpfs)Tj -/T1_1 1 Tf -5.217 0 Td -[(\336le system,)-500(139)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(/dev/tty)Tj -/T1_1 1 Tf -5.217 0 Td -[(device, )-250(298,)-250(304, 312, 694, 700, 740)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(/dev/tty1)Tj -/T1_1 1 Tf -5.817 0 Td -[(\336le, )-250(290)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(/dev/zero)Tj -/T1_1 1 Tf -5.817 0 Td -[(device, )-250(576)]TJ -5.202 0.09 Td -(\320)Tj -0.583 -0.09 Td -(578)Tj -/TT0 1 Tf --11.602 -1.25 Td -(df)Tj -/T1_1 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(141,)-250(910)]TJ -/TT0 1 Tf --1.617 -1.25 Td -(DIR)Tj -/T1_1 1 Tf -2.217 0 Td -[(str)8(uctur)18(e, )-250(7,)-250(131, 283, 697, 822)]TJ --2.217 -1.25 Td -[(dir)18(ectories)]TJ -1.35 -1.25 Td -[(\336les and,)-500(4)]TJ -5.075 0.09 Td -(\320)Tj -0.583 -0.09 Td -(8)Tj --5.658 -1.25 Td -(har)Tj -0.25 Tc 1.459 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(inks and,)Tj --0.055 Tc 4.546 0 Td -(11)Tj -0 Tc 0.945 0 Td -(7, 120)Tj --0.018 Tc -8.102 -1.25 Td -(re)Tj -0 Tc 0.856 0 Td -[(ading, )-250(130)]TJ -4.873 0.09 Td -(\320)Tj -0.583 -0.09 Td -(135)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47697 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(776)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(626 )-2400(})-600(else {)]TJ -24 0 Td -(/* record found */)Tj --24 -1.189 Td -[(627 )-4800(if)-600(\(flag == DB_INSERT\) {)]TJ -0 -1.189 TD -(628 )Tj -9.6 0 Td -(rc)Tj -0.6 Tc 1.8 0 Td -(=1)Tj -3 Tc 1.8 0 Td -(;/)Tj -0.6 Tc 4.2 0 Td -(*e)Tj -0 Tc 1.8 0 Td -(rror, record already in db */)Tj --19.2 -1.189 Td -(629 )Tj -9.6 0 Td -(db->cnt_storerr++;)Tj --9.6 -1.189 Td -(630 )Tj -9.6 0 Td -[(goto)-600(doreturn;)]TJ --9.6 -1.189 Td -[(631 )-4800(})]TJ -0 -2.021 TD -[(632 )-4800(/*)]TJ -0 -1.189 TD -(633 )Tj -7.8 0 Td -[(*)-600(We are replacing an existing record.)-1200(We know the new)]TJ --7.8 -1.189 Td -(634 )Tj -7.8 0 Td -[(*)-600(key equals the existing key, but we need to check if)]TJ --7.8 -1.189 Td -(635 )Tj -7.8 0 Td -[(*)-600(the data records are the same size.)]TJ --7.8 -1.189 Td -(636 )Tj -7.8 0 Td -(*/)Tj --7.8 -1.189 Td -[(637 )-4800(if)-600(\(datlen != db->datlen\) {)]TJ -T* -(638 )Tj -9.6 0 Td -[(_db_dodelete\(db\);)-1800(/* delete the existing record */)]TJ --9.6 -2.021 Td -(639 )Tj -9.6 0 Td -(/*)Tj --9.6 -1.189 Td -(640 )Tj -10.2 0 Td -[(*)-600(Reread the chain ptr in the hash table)]TJ --10.2 -1.189 Td -(641 )Tj -10.2 0 Td -[(*)-600(\(it may change with the deletion\).)]TJ --10.2 -1.189 Td -(642 )Tj -10.2 0 Td -(*/)Tj --10.2 -1.189 Td -(643 )Tj -9.6 0 Td -(ptrval)Tj -0.6 Tc 4.2 0 Td -(=_)Tj -0 Tc 1.8 0 Td -(db_readptr\(db, db->chainoff\);)Tj --15.6 -2.021 Td -(644 )Tj -9.6 0 Td -(/*)Tj --9.6 -1.189 Td -(645 )Tj -10.2 0 Td -[(*)-600(Append new index and data records to end of files.)]TJ --10.2 -1.189 Td -(646 )Tj -10.2 0 Td -(*/)Tj --10.2 -1.189 Td -(647 )Tj -9.6 0 Td -[(_db_writedat\(db,)-600(data, 0, SEEK_END\);)]TJ --9.6 -1.189 Td -(648 )Tj -9.6 0 Td -[(_db_writeidx\(db,)-600(key, 0, SEEK_END, ptrval\);)]TJ --9.6 -2.021 Td -(649 )Tj -9.6 0 Td -(/*)Tj --9.6 -1.189 Td -(650 )Tj -10.2 0 Td -[(*)-600(New record goes to the front of the hash chain.)]TJ --10.2 -1.189 Td -(651 )Tj -10.2 0 Td -(*/)Tj --10.2 -1.189 Td -(652 )Tj -9.6 0 Td -[(_db_writeptr\(db,)-600(db->chainoff, db->idxoff\);)]TJ --9.6 -1.189 Td -(653 )Tj -9.6 0 Td -(db->cnt_stor3++;)Tj --9.6 -1.189 Td -[(654 )-4800(})-600(else {)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3251.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 301.1019 Tm -[([626 )167(\320 )167(631])-668(Now )-120(we )-120(r)18(each )-120(the )-120(two )-120(cases )-120(in )-120(which )-120(a )-120(r)19(ecor)]TJ -0.3699 Tc 25.928 0 Td -(dw)Tj -0 Tc 1.815 0 Td -[(ith )-120(the )-120(same )-120(key )-120(alr)18(eady)]TJ --22.743 -1.2 Td -[(exists )-212(in )-212(the )-212(database.)-712(If )-212(the )-212(caller )-212(isn\325t )-212(r)17(eplacing )-212(the )-212(r)18(ecor)18(d, )-212(we )-212(set )-212(the)]TJ --0.018 Tc 0 -1.2 TD -(re)Tj -0 Tc 0.856 0 Td -[(turn )-282(code )-282(to )-282(indicate )-282(that )-282(a )-282(r)16(ecor)]TJ -0.5322 Tc 16.033 0 Td -(de)Tj -0 Tc 1.622 0 Td -[(xists, )-282(incr)18(ement )-282(the )-282(count )-282(of )-282(the)]TJ --18.511 -1.2 Td -[(number )-240(of )-240(stor)]TJ -0.4904 Tc 7.028 0 Td -(ee)Tj -0 Tc 1.448 0 Td -[(rr)18(ors, )-240(and )-240(jump )-240(to )-240(the )-240(end )-240(of )-240(the )-240(function, )-240(wher)]TJ -0.4905 Tc 23.241 0 Td -(ew)Tj -0 Tc 1.804 0 Td -(e)Tj --33.521 -1.2 Td -[(handle the common r)18(eturn logic.)]TJ --5 -1.84 Td -[([632 )167(\320 )167(654])-668(Case )-75(3: )-75(an )-75(existing )-75(r)16(ecor)18(d)-325(is)-325(b)-1(eing )-75(r)18(eplaced, )-75(and )-75(the )-75(length )-75(of )-75(the )-75(new )-75(data)]TJ --0.018 Tc 5 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.2627 Tc 1.367 0 Td -(dd)Tj -0 Tc 1.485 0 Td -[(if)18(fers )-13(fr)18(om )-13(the )-13(length )-13(of )-13(the )-13(existing )-13(one.)]TJ --0.092 Tc 18.519 0 Td -[(We )-197(c)]TJ -0 Tc 2.094 0 Td -(all)Tj -/TT0 1 Tf -1.345 0 Td -(_db_dodelete)Tj -/T1_1 1 Tf -7.463 0 Td -(to)Tj --33.128 -1.2 Td -[(delete )-139(the )-139(existing )-139(r)17(ecor)18(d. )-389(Recall)-389(that )-139(this )-139(places )-139(the )-139(deleted )-139(r)17(ecor)18(d)-389(at)-389(the)]TJ -0 -1.2 Td -[(head )-28(of )-28(the )-28(fr)18(ee )-28(list.)-528(Then )-28(we )-28(append )-28(the )-28(new )-28(r)20(ecor)18(d)-278(to)-278(the )-28(ends )-28(of )-28(the )-28(data)]TJ -0 -1.2 Td -[(and )-100(index )-100(\336les )-100(by )-100(calling)]TJ -/TT0 1 Tf -11.787 0 Td -(_db_writedat)Tj -/T1_1 1 Tf -7.55 0 Td -(and)Tj -/TT0 1 Tf -2.043 0 Td -(_db_writeidx)Tj -/T1_1 1 Tf -0.6003 Tc (.\()Tj -0 Tc 8.383 0 Td -(Ther)Tj -0.3503 Tc 2.051 0 Td -(ea)Tj --0.018 Tc 1.329 0 Td -(re)Tj -0 Tc -33.144 -1.2 Td -[(other )-3(ways )-3(to )-3(handle )-3(this )-3(case.)]TJ --0.092 Tc 14.046 0 Td -[(We )-187(c)]TJ -0 Tc 2.084 0 Td -[(ould )-3(try )-3(to )-3(\336nd )-3(a )-3(deleted )-3(r)19(ecor)]TJ -0.2528 Tc 13.514 0 Td -(dt)Tj -0 Tc 1.19 0 Td -[(hat )-3(has)]TJ --30.833 -1.2 Td -[(the )-19(corr)18(ect )-19(data )-19(size.\))-519(The )-19(new )-19(r)19(ecor)18(d)-269(is)-269(added )-19(to )-19(the )-19(fr)18(ont )-19(of )-19(the )-19(hash )-19(chain)]TJ -0 -1.2 Td -[(by )-234(calling)]TJ -/TT0 1 Tf -5.032 0 Td -(_db_writeptr)Tj -/T1_1 1 Tf -0.7342 Tc (.T)Tj -0 Tc 8.797 0 Td -(he)Tj -/TT0 1 Tf -1.545 0 Td -(cnt_stor3)Tj -/T1_1 1 Tf -5.884 0 Td -[(counter )-234(in )-234(the)]TJ -/TT0 1 Tf -7.088 0 Td -(DB)Tj -/T1_1 1 Tf -1.684 0 Td -[(str)8(uctur)18(e)]TJ --0.018 Tc -30.031 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(ds the number of times we\325ve executed this case.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47698 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(782)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(1. )-633(W)74(rite)]TJ -/T1_2 1 Tf -4.3 0 Td -[(nr)18(ec)]TJ -/T1_1 1 Tf --0.018 Tc 1.973 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(ds to the database.)]TJ --7.129 -1.48 Td -[(2. )-633(Read)-250(the)]TJ -/T1_2 1 Tf -5.778 0 Td -[(nr)18(ec)]TJ -/T1_1 1 Tf --0.018 Tc 1.973 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(ds back by key value.)]TJ --8.607 -1.48 Td -[(3. )-633(Perform)-250(the following loop)]TJ -/T1_2 1 Tf -13.909 0 Td -[(nr)18(ec)]TJ -/TT0 1 Tf -1.973 0 Td -(#)Tj -/T1_2 1 Tf -0.799 0 Td -(5)Tj -/T1_1 1 Tf -0.75 0 Td -(times.)Tj --15.798 -1.48 Td -[(a. )-633(Read)]TJ -0.25 Tc 4.141 0 Td -(ar)Tj -0 Tc 1.145 0 Td -[(andom r)18(ecor)18(d.)]TJ --5.286 -1.48 Td -[(b. )-580(Every)-250(37 times thr)18(ough the loop, delete a random r)18(ecor)18(d.)]TJ -0 -1.48 TD -[(c. )-689(Every)]TJ --0.055 Tc 4.637 0 Td -[(11 )-259(t)]TJ -0 Tc 1.669 0 Td -[(imes )-148(thr)18(ough )-148(the )-148(loop, )-148(insert )-148(a )-148(new )-148(r)15(ecor)]TJ -0.3984 Tc 19.175 0 Td -(da)Tj -0 Tc 1.509 0 Td -[(nd )-148(r)18(ead )-148(the )-148(r)17(ecor)18(d)]TJ --25.358 -1.2 Td -(back.)Tj --1.633 -1.48 Td -[(d. )-522(Every)-523(17 )-273(times )-273(thr)18(ough )-273(the )-273(loop, )-273(r)18(eplace )-273(a )-273(random )-273(r)14(ecor)]TJ -0.5235 Tc 28.958 0 Td -(dw)Tj -0 Tc 1.969 0 Td -[(ith )-273(a )-273(new)]TJ --0.018 Tc -29.293 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(d. )-275(Every)-275(other )-25(one )-25(of )-25(these )-25(r)18(eplacements )-25(is )-25(a )-25(r)17(ecor)]TJ -0.2751 Tc 23.967 0 Td -(dw)Tj -0 Tc 1.72 0 Td -[(ith )-25(the )-25(same )-25(size)]TJ --26.543 -1.2 Td -[(data; the alternate is a r)18(ecor)]TJ -0.25 Tc 12.14 0 Td -(dw)Tj -0 Tc 1.695 0 Td -(ith a longer data portion.)Tj --17.101 -1.48 Td -[(4. )-633(Delete)-345(all )-95(the )-95(r)19(ecor)18(ds )-95(that )-95(this )-95(child )-95(wr)19(ote. )-345(Every)-345(time )-95(a )-95(r)18(ecor)18(d)-345(is)-345(deleted, )-95(ten)]TJ -1.633 -1.2 Td -[(random r)18(ecor)18(ds ar)]TJ -0.25 Tc 8.152 0 Td -(el)Tj -0 Tc 1.02 0 Td -(ooked up.)Tj --10.805 -2.04 Td -[(The )-111(number )-111(of )-111(operations )-111(performed )-111(on )-111(the )-111(database )-111(is )-111(counted )-111(by )-111(the)]TJ -/TT1 1 Tf -33 0 Td -(cnt_xxx)Tj -/T1_1 1 Tf --34.8 -1.2 Td -[(variables )-54(in )-54(the)]TJ -/TT1 1 Tf -7.169 0 Td -(DB)Tj -/T1_1 1 Tf -1.504 0 Td -[(str)8(uctur)18(e, )-54(which )-54(wer)]TJ -0.3038 Tc 9.25 0 Td -(ei)Tj -0 Tc 1.074 0 Td -[(ncr)18(emented )-54(in )-54(the )-54(functions.)-554(The )-54(number )-54(of)]TJ --18.996 -1.2 Td -[(operations )-63(dif)18(fers )-63(fr)18(om )-63(one )-63(child )-63(to )-63(the )-63(next, )-63(since )-63(the )-63(random-number )-63(generator )-63(used)]TJ -0 -1.2 TD -[(to )-57(select )-57(r)18(ecor)18(ds )-57(is )-57(initialized )-57(in )-57(each )-57(child )-57(to )-57(the )-57(child\325s )-57(pr)18(ocess )-57(ID.)]TJ -0.3068 Tc 30.912 0 Td -(At)Tj -0 Tc 1.411 0 Td -[(ypical )-57(count )-57(of)]TJ --32.323 -1.2 Td -(the operations performed in each child is shown in Figur)Tj -0.25 Tc 25.085 0 Td -(e2)Tj -0 Tc 1.229 0 Td -(0.6.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1382.25 4278.25 cm -0 0 m -3727 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 378.1336 419.7496 Tm -(Calls to)Tj -/TT1 1 Tf -3.587 0 Td -(fcntl)Tj -/T1_1 1 Tf --3.622 -1.25 Td -(\(per operation\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3507.25 4058.25 cm -0 0 m -1076 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 352.6435 397.7284 Tm -[(Coarse-grained )-250(Fine-grained)]TJ -1.767 -1.25 Td -[(locking )-3211(locking)]TJ --17.425 2 Td -(Operation)Tj -29.47 1.25 Td -(Operation)Tj -1.002 -1.25 Td -(count)Tj --1.11 -1.25 Td -(\()Tj -/T1_2 1 Tf -[(nr)18(ec)]TJ -/T1_1 1 Tf -0.1666 Tc 2.223 0 Td -(=2)Tj -0 Tc 1.273 0 Td -(,000\))Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1382.25 3838.25 cm -0 0 m -3727 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1382.25 3818.25 cm -0 0 m -3727 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9981 0 0 7.9981 142.1929 373.7103 Tm -(db_store)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -5.3 0 Td -(DB_INSERT)Tj -/T1_1 1 Tf -[(,)-250(no)-250(empty r)18(ecor)18(d, appended)]TJ -6.2275 Tc 24.16 0 Td -(28)Tj -0 Tc 12.344 0 Td -(2,920)Tj -/TT1 1 Tf --41.804 -1.25 Td -(db_store)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -5.3 0 Td -(DB_INSERT)Tj -/T1_1 1 Tf -0.25 Tc (,e)Tj -0 Tc 6.379 0 Td -[(mpty r)18(ecor)]TJ -0.25 Tc 4.839 0 Td -(dr)Tj -0 Tc 1.238 0 Td -(eused )Tj -11.704 0 Td -(2)Tj -5.8666 Tc 6.727 0 Td -(44)Tj -0 Tc 6.867 0 Td -(68)Tj -/TT1 1 Tf --43.054 -1.25 Td -(db_store)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -5.3 0 Td -(DB_REPLACE)Tj -/T1_1 1 Tf -0.25 Tc (,d)Tj -0 Tc 7.111 0 Td -[(if)18(fer)18(ent data length, appended)]TJ -6.2275 Tc 17.049 0 Td -(28)Tj -0 Tc 13.094 0 Td -(405)Tj -/TT1 1 Tf --42.554 -1.25 Td -(db_store)Tj -/T1_1 1 Tf -(,)Tj -/TT1 1 Tf -5.3 0 Td -(DB_REPLACE)Tj -/T1_1 1 Tf -0.25 Tc (,e)Tj -0 Tc 6.979 0 Td -(qual data length)Tj -6.2275 Tc 17.181 0 Td -(22)Tj -0 Tc 13.094 0 Td -(416)Tj -/TT1 1 Tf --42.554 -1.25 Td -(db_store)Tj -/T1_1 1 Tf -0.25 Tc (,r)Tj -0 Tc 5.677 0 Td -(ecor)Tj -0.25 Tc 1.846 0 Td -(dn)Tj -0 Tc 1.443 0 Td -(ot found)Tj -6.2275 Tc 20.494 0 Td -(22 )Tj -13.594 0 Td -(7)Tj -0 Tc 0.5 0 Td -(1)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1382.25 3298.25 cm -0 0 m -3727 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9976 0 0 7.9976 142.1843 321.7035 Tm -(db_fetch)Tj -/T1_1 1 Tf -0.25 Tc (,r)Tj -0 Tc 5.677 0 Td -(ecor)Tj -0.25 Tc 1.846 0 Td -(df)Tj -0 Tc 1.194 0 Td -(ound )Tj -20.743 0 Td -(2)Tj -4.6166 Tc 6.727 0 Td -(23)Tj -0 Tc 5.617 0 Td -(2,873)Tj -/TT1 1 Tf --41.804 -1.25 Td -(db_fetch)Tj -/T1_1 1 Tf -0.25 Tc (,r)Tj -0 Tc 5.677 0 Td -(ecor)Tj -0.25 Tc 1.846 0 Td -(dn)Tj -0 Tc 1.443 0 Td -(ot found)Tj -6.2275 Tc 20.494 0 Td -(22)Tj -0 Tc 12.344 0 Td -(2,966)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1382.25 3078.25 cm -0 0 m -3727 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9971 0 0 7.9971 142.1758 299.6921 Tm -(db_delete)Tj -/T1_1 1 Tf -0.25 Tc (,r)Tj -0 Tc 6.277 0 Td -(ecor)Tj -0.25 Tc 1.846 0 Td -(df)Tj -0 Tc 1.194 0 Td -(ound )Tj -20.143 0 Td -(2)Tj -5.1166 Tc 6.727 0 Td -(43)Tj -0 Tc 6.117 0 Td -(,388)Tj -/TT1 1 Tf --42.304 -1.25 Td -(db_delete)Tj -/T1_1 1 Tf -0.25 Tc (,r)Tj -0 Tc 6.277 0 Td -(ecor)Tj -0.25 Tc 1.846 0 Td -(dn)Tj -0 Tc 1.443 0 Td -(ot found)Tj -6.2275 Tc 19.894 0 Td -(22)Tj -0 Tc 13.094 0 Td -(422)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1382.25 2858.25 cm -0 0 m -3727 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4583.25 2858.25 cm -0 0 m -0 1420 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4091.25 2858.25 cm -0 0 m -0 1200 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3507.25 2858.25 cm -0 0 m -0 1420 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5109.25 2858.25 cm -0 0 m -0 1420 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1382.25 2858.25 cm -0 0 m -0 1420 l -S -Q -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 209.408 267.6875 Tm -(Figure 20.6)Tj -/T1_1 1 Tf --0.09 Tc 5.695 0 Td -(Ty)Tj -0 Tc 1.079 0 Td -(pical count of operations performed by each child)Tj --0.092 Tc 9.9958 0 0 9.9958 129.5458 241.2986 Tm -[(We )-243(p)]TJ -0 Tc 2.296 0 Td -[(erformed )-58(about )-58(ten )-58(times )-58(mor)]TJ -0.3085 Tc 13.479 0 Td -(ef)Tj -0 Tc 1.121 0 Td -[(etches )-58(than )-58(stor)17(es )-58(or )-58(deletions, )-58(which )-58(is )-58(pr)16(obably)]TJ --16.896 -1.2 Td -(typical of many database applications.)Tj -1.8 -1.2 Td -[(Each )-13(child )-13(is )-13(performing )-13(these )-13(operations )-13(\(fetching, )-13(storing, )-13(and )-13(deleting\) )-13(only )-13(with)]TJ --1.8 -1.2 Td -[(the )-74(r)18(ecor)18(ds )-74(that )-74(the )-74(child )-74(wr)16(ote. )-324(The)-325(concurr)18(ency )-74(contr)18(ols )-74(ar)]TJ -0.3243 Tc 27.505 0 Td -(eb)Tj -0 Tc 1.356 0 Td -[(eing )-74(exer)18(cised )-74(because)]TJ --28.861 -1.2 Td -[(all )-48(the )-48(childr)18(en )-48(ar)]TJ -0.2984 Tc 7.898 0 Td -(eo)Tj -0 Tc 1.323 0 Td -[(perating )-48(on )-48(the )-48(same )-48(database )-48(\(albeit )-48(dif)16(fer)18(ent )-48(r)18(ecor)18(ds )-48(in )-48(the )-48(same)]TJ --9.222 -1.2 Td -[(database\). )-376(The)-375(total )-126(number )-126(of )-126(r)19(ecor)18(ds )-126(in )-126(the )-126(database )-126(incr)18(eases )-126(in )-126(pr)18(oportion )-126(to )-126(the)]TJ -0 -1.2 Td -[(number )-30(of )-30(childr)17(en. )-280(\(W)55(ith )-30(one )-30(child,)]TJ -/T1_2 1 Tf -16.766 0 Td -[(nr)18(ec)]TJ -/T1_1 1 Tf --0.018 Tc 2.003 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(ds )-30(ar)]TJ -0.2804 Tc 3.559 0 Td -(eo)Tj -0 Tc 1.305 0 Td -[(riginally )-30(written )-30(to )-30(the )-30(database.)]TJ --0.055 Tc -24.49 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th two childr)18(en,)]TJ -/T1_2 1 Tf -7.271 0 Td -[(nr)18(ec)]TJ -/TT0 1 Tf -1.973 0 Td -(#)Tj -/T1_2 1 Tf -0.799 0 Td -(2)Tj -/T1_1 1 Tf --0.018 Tc 0.75 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(cor)18(ds ar)]TJ -0.25 Tc 3.529 0 Td -(eo)Tj -0 Tc 1.275 0 Td -(riginally written, and so on.\))Tj --0.092 Tc -15.889 -1.2 Td -[(To )-428(t)]TJ -0 Tc 1.887 0 Td -[(est )-244(the )-244(concurr)18(ency )-244(pr)18(ovided )-244(by )-244(coarse-grained )-244(locking )-244(versus )-244(\336ne-grained)]TJ --3.687 -1.2 Td -[(locking )-143(and )-143(to )-143(compar)]TJ -0.3926 Tc 10.36 0 Td -(et)Tj -0 Tc 1.198 0 Td -[(he )-143(thr)18(ee )-143(types )-143(of )-143(locking )-143(\(no )-143(locking, )-143(advisory )-143(locking, )-143(and)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47699 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(756)Tj -/T1_1 1 Tf -0.5 Tc 3.5 0 Td -(AD)Tj -0 Tc 2.052 0 Td -[(atabase )-250(Library)]TJ -36.689 0 Td -[(Chapter )-250(20)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(27 )-1200(/*)]TJ -0 -1.189 TD -[(28 )-1800(*)-600(Library\325s private representation of the database.)]TJ -T* -[(29 )-1800(*/)]TJ -T* -[(30 )-1200(typedef)-600(struct {)]TJ -T* -[(31 )-2400(int)-2400(idxfd; )-600(/*)-600(fd for index file */)]TJ -0 -1.189 TD -[(32 )-2400(int)-2400(datfd; )-600(/*)-600(fd for data file */)]TJ -0 -1.189 TD -[(33 )-2400(char)-1200(*idxbuf; /* malloc\325ed buffer for index record */)]TJ -T* -[(34 )-2400(char)-1200(*datbuf; /* malloc\325ed buffer for data record*/)]TJ -T* -[(35 )-2400(char)-1200(*name; )-1200(/*)-600(name db was opened under */)]TJ -T* -[(36 )-2400(off_t)-1200(idxoff; /* offset in index file of index record */)]TJ -T* -(37 )Tj -13.2 0 Td -[(/*)-600(key is at \(idxoff + PTR_SZ + IDXLEN_SZ\) */)]TJ --13.2 -1.189 Td -[(38 )-2400(size_t)-600(idxlen; /* length of index record */)]TJ -T* -(39 )Tj -13.2 0 Td -[(/*)-600(excludes IDXLEN_SZ bytes at front of record */)]TJ --13.2 -1.189 Td -(40 )Tj -13.2 0 Td -[(/*)-600(includes newline at end of index record */)]TJ --13.2 -1.189 Td -[(41 )-2400(off_t)-1200(datoff; /* offset in data file of data record */)]TJ -T* -[(42 )-2400(size_t)-600(datlen; /* length of data record */)]TJ -T* -(43 )Tj -13.2 0 Td -[(/*)-600(includes newline at end */)]TJ --13.2 -1.189 Td -[(44 )-2400(off_t)-1200(ptrval; /* contents of chain ptr in index record */)]TJ -0 -1.189 TD -[(45 )-2400(off_t)-1200(ptroff; /* chain ptr offset pointing to this idx record */)]TJ -0 -1.189 TD -[(46 )-2400(off_t)-1200(chainoff; /* offset of hash chain for this index record */)]TJ -0 -1.189 TD -[(47 )-2400(off_t)-1200(hashoff; )-600(/*)-600(offset in index file of hash table */)]TJ -T* -[(48 )-2400(DBHASH)-600(nhash; )-1800(/*)-600(current hash table size */)]TJ -T* -[(49 )-2400(COUNT)-1200(cnt_delok; )-1800(/*)-600(delete OK */)]TJ -0 -1.189 TD -[(50 )-2400(COUNT)-1200(cnt_delerr; )-1200(/*)-600(delete error */)]TJ -0 -1.189 TD -[(51 )-2400(COUNT)-1200(cnt_fetchok; )-600(/*)-600(fetch OK */)]TJ -T* -[(52 )-2400(COUNT)-1200(cnt_fetcherr; /* fetch error */)]TJ -0 -1.189 TD -[(53 )-2400(COUNT)-1200(cnt_nextrec; )-600(/*)-600(nextrec */)]TJ -0 -1.189 TD -[(54 )-2400(COUNT)-1200(cnt_stor1; )-1800(/*)-600(store: DB_INSERT, no empty, appended */)]TJ -0 -1.189 TD -[(55 )-2400(COUNT)-1200(cnt_stor2; )-1800(/*)-600(store: DB_INSERT, found empty, reused */)]TJ -0 -1.189 TD -[(56 )-2400(COUNT)-1200(cnt_stor3; )-1800(/*)-600(store: DB_REPLACE, diff len, appended */)]TJ -0 -1.189 TD -[(57 )-2400(COUNT)-1200(cnt_stor4; )-1800(/*)-600(store: DB_REPLACE, same len, overwrote */)]TJ -0 -1.189 TD -[(58 )-2400(COUNT)-1200(cnt_storerr; )-600(/*)-600(store error */)]TJ -0 -1.189 TD -[(59 )-1200(})-600(DB;)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3123.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5844 288.2634 Tm -[([27 )167(\320 )167(48])-668(The)]TJ -/TT0 1 Tf -5.973 0 Td -(DB)Tj -/T1_1 1 Tf -1.499 0 Td -[(str)8(uctur)18(e)-299(is)-299(wher)18(e)-299(we)-299(keep )-49(all )-49(the )-49(information )-49(for )-49(each )-49(open )-49(database.)]TJ --3.472 -1.2 Td -(The)Tj -/TT0 1 Tf -2.04 0 Td -(DBHANDLE)Tj -/T1_1 1 Tf -5.166 0 Td -[(value )-116(that )-116(is )-116(r)18(eturned )-116(by)]TJ -/TT0 1 Tf -11.68 0 Td -(db_open)Tj -/T1_1 1 Tf -4.566 0 Td -[(and )-116(used )-116(by )-116(all )-116(the )-116(other)]TJ --23.452 -1.2 Td -[(functions )-148(is )-148(r)18(eally )-148(just )-148(a )-148(pointer )-148(to )-148(one )-148(of )-148(these )-148(str)10(uctur)18(es, )-148(but )-148(we )-148(hide )-148(that)]TJ -0 -1.2 Td -[(fr)18(om the callers.)]TJ -0 -1.8 TD -[(Since )-33(we )-33(stor)]TJ -0.2834 Tc 5.874 0 Td -(ep)Tj -0 Tc 1.363 0 Td -[(ointers )-33(and )-33(lengths )-33(as )-33(ASCII )-33(in )-33(the )-33(database, )-33(we )-33(convert )-33(these)]TJ --7.237 -1.2 Td -[(to )-117(numeric )-117(values )-117(and )-117(save )-117(them )-117(in )-117(the)]TJ -/TT0 1 Tf -18.538 0 Td -(DB)Tj -/T1_1 1 Tf -1.567 0 Td -[(str)8(uctur)18(e. )-367(W)]TJ -0.367 Tc 5.744 0 Td -(ea)Tj -0 Tc 1.346 0 Td -[(lso )-117(save )-117(the )-117(hash)]TJ --27.195 -1.2 Td -[(table )-59(size )-59(even )-59(though )-59(it )-59(is )-59(\336xed, )-59(just )-59(in )-59(case )-59(we )-59(decide )-59(to )-59(enhance )-59(the )-59(library)]TJ -0 -1.2 TD -[(to )-446(allow )-446(callers )-446(to )-446(specify )-446(the )-446(size )-446(when )-446(the )-446(database )-446(is )-446(cr)18(eated )-446(\(see)]TJ -T* -[(Exer)18(cise 20.7\).)]TJ --4 -1.6 Td -[([49 )167(\320 )167(59])-668(The )-103(last )-103(ten )-103(\336elds )-103(in )-103(the)]TJ -/TT0 1 Tf -15.389 0 Td -(DB)Tj -/T1_1 1 Tf -1.553 0 Td -[(str)8(uctur)]TJ -0.3529 Tc 3.49 0 Td -(ec)Tj -0 Tc 1.276 0 Td -[(ount )-103(both )-103(successful )-103(and )-103(unsuccessful)]TJ --17.708 -1.2 Td -[(operations. )-406(If)-407(we )-156(want )-156(to )-156(analyze )-156(the )-156(performance )-156(of )-156(our )-156(database, )-156(we )-156(can)]TJ -T* -[(write )-148(a )-148(function )-148(to )-148(r)18(eturn )-148(these )-148(statistics, )-148(but )-148(for )-148(now )-148(we )-148(only )-148(maintain )-148(the)]TJ -T* -(counters.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47700 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(959)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(command)Tj -4.449 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line ar)18(guments, )-250(203)]TJ --4.782 -1.25 Td -[(Common Application Envir)18(onment,)]TJ -/T1_2 1 Tf -16.474 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -(CAE)Tj --17.891 -1.25 Td -(Common Open Softwar)Tj -0.25 Tc 10.538 0 Td -(eE)Tj -0 Tc 1.34 0 Td -[(nvir)18(onment,)]TJ -/T1_2 1 Tf -5.963 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -(COSE)Tj --19.258 -1.25 Td -(communication, network printer)Tj -0.5 Tc 14.384 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(89)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(843)Tj -/TT0 1 Tf --17.3 -1.25 Td -()Tj -/T1_0 1 Tf -7.017 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7)Tj -/TT0 1 Tf --11.239 -1.25 Td -(comp_t)Tj -/T1_0 1 Tf -4.017 0 Td -[(data type,)-500(59)]TJ --4.017 -1.25 Td -[(Computing Science Resear)18(ch Gr)18(oup,)]TJ -/T1_2 1 Tf -16.684 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -(CSRG)Tj --18.101 -1.25 Td -[(condition variable attributes,)-500(440)]TJ -14.849 0.09 Td -(\320)Tj -0.583 -0.09 Td -(441)Tj --15.432 -1.25 Td -[(condition variables,)-500(413)]TJ -10.8 0.09 Td -(\320)Tj -0.583 -0.09 Td -(416)Tj -/TT0 1 Tf --11.384 -1.25 Td -(cond_signal)Tj -/T1_0 1 Tf -7.017 0 Td -[(function, )-250(416)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(connect)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(331,)-250(451, 605)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(608, 610)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(61)55(1,)]TJ --16.707 -1.25 Td -(621, 635, 641)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(642)Tj --7.516 -1.25 Td -[(de\336nition of,)-500(605)]TJ --1.35 -1.25 Td -[(connection establishment,)-500(605)]TJ -13.545 0.09 Td -(\320)Tj -0.583 -0.09 Td -(609)Tj -/TT0 1 Tf --14.129 -1.25 Td -(connect_retry)Tj -/T1_0 1 Tf -8.217 0 Td -[(function, )-250(607,)-250(614, 800, 808, 834)]TJ --6.867 -1.25 Td -[(de\336nition of,)-500(606)]TJ -7.775 0.09 Td -(\320)Tj -0.583 -0.09 Td -(607)Tj --9.709 -1.25 Td -[(contr)18(olling)]TJ -1.35 -1.25 Td -[(pr)18(ocess, )-250(296)]TJ -5.628 0.09 Td -(\320)Tj -0.583 -0.09 Td -(297, 318)Tj --6.211 -1.25 Td -[(terminal, )-250(63,)-250(233, 252, 270, 292, 295)]TJ -15.58 0.09 Td -(\320)Tj -0.583 -0.09 Td -(298, 301,)Tj --14.814 -1.25 Td -(303)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(304, 306, 309, 31)55(1)]TJ -7.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(312, 318, 321, 377, 463,)Tj --10.278 -1.25 Td -(465)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(466, 469, 480, 680, 685, 691, 694, 700, 702,)Tj --2.167 -1.25 Td -(716, 724, 726)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(727, 898, 953)Tj --8.867 -1.25 Td -[(cooked terminal mode,)-500(672)]TJ -0 -1.25 TD -[(cooperating pr)18(ocesses, )-250(495,)-250(752, 945)]TJ -0 -1.25 Td -[(Coor)18(dinated Universal T)55(ime,)]TJ -/T1_2 1 Tf -13.344 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -(UTC)Tj --14.761 -1.25 Td -[(copr)18(ocesses, )-250(548)]TJ -7.521 0.09 Td -(\320)Tj -0.583 -0.09 Td -(552, 721, 737)Tj --8.105 -1.25 Td -[(copy-on-write, )-250(229,)-250(458)]TJ -T* -(cor)Tj -0.25 Tc 1.367 0 Td -(ed)Tj -0 Tc 1.34 0 Td -[(ump, )-250(74,)-250(928)]TJ -/TT0 1 Tf --2.707 -1.25 Td -(core)Tj -/T1_0 1 Tf -2.817 0 Td -[(\336le, )-250(1)]TJ --0.055 Tc 2.57 0 Td -(11)Tj -0.25 Tc 0.945 0 Td -(,1)Tj -0 Tc 1 0 Td -(24, 275, 315, 317, 320, 332, 366, 681,)Tj --4.632 -1.25 Td -(703, 909, 920, 922)Tj --2.7 -1.25 Td -(COSE \(Common Open Softwar)Tj -0.25 Tc 13.752 0 Td -(eE)Tj -0 Tc 1.34 0 Td -[(nvir)18(onment\), )-250(32)]TJ --15.092 -1.25 Td -[(count, link,)-500(44, 59, 1)55(14)]TJ -9.999 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(7, 130)Tj -/TT0 1 Tf --11.528 -1.25 Td -(cp)Tj -/T1_0 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(141,)-250(528)]TJ -/TT0 1 Tf --1.617 -1.25 Td -(cpio)Tj -/T1_0 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(127,)-250(142, 910)]TJ -10.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(91)55(1)]TJ -/TT0 1 Tf --13.591 -1.25 Td -()Tj -/T1_0 1 Tf -5.217 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj --9.439 -1.25 Td -(CR terminal character)Tj -0.5 Tc 9.615 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(78, 680, 703)Tj -/TT0 1 Tf --10.865 -1.25 Td -(CR0)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(685)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(CR1)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(685)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(CR2)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(685)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(CR3)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(685)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(CRDLY)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(684)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(685, 689)Tj -/TT0 1 Tf --12.063 -1.25 Td -(CREAD)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(675,)-250(686)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(creat)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(61,)-250(66, 68, 79, 89, 101, 104, 1)55(18,)]TJ --0.717 -1.25 Td -(121, 125, 149, 331, 451, 491, 825)Tj -13.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(826, 909, 912)Tj --15.517 -1.25 Td -[(de\336nition of,)-500(66)]TJ --1.35 -1.25 Td -[(cr)18(eation mask, \336le mode,)-500(104)]TJ -13.135 0.09 Td -(\320)Tj -0.583 -0.09 Td -(105, 129, 141, 169,)Tj --11.019 -1.25 Td -(233, 252, 466)Tj -/TT0 1 Tf --2.7 -1.25 Td -(cron)Tj -/T1_0 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(259,)-250(382, 465, 470, 472)]TJ -14.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(474, 925)Tj -/TT0 1 Tf --17.591 -1.25 Td -(CRTSCTS)Tj -/T1_0 1 Tf -4.617 0 Td -[(constant, )-250(675,)-250(686)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(CRTS_IFLOW)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(675,)-250(686)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(CRTSXOFF)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(675,)-250(686)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(crypt)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(287,)-250(298, 304, 442)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(crypt)Tj -/T1_0 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(298,)-250(700)]TJ -/TT0 1 Tf -22.583 65 Td -(CS5)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(684,)-250(686)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(CS6)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(684,)-250(686)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(CS7)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(684,)-250(686)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(CS8)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(684,)-250(686, 706)]TJ -10.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(708)Tj -/TT0 1 Tf --12.863 -1.25 Td -(.cshrc)Tj -/T1_0 1 Tf -4.017 0 Td -[(\336le, )-250(289)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(CSIZE)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(675,)-250(684, 686, 706)]TJ -12.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(707)Tj -/TT0 1 Tf --16.063 -1.25 Td -(csopen)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(653)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(654)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(654, 659)]TJ --1.35 -1.25 Td -[(CSRG \(Computing Science Resear)18(ch Gr)18(oup\), )-250(xx,)]TJ -2.7 -1.25 Td -(xxvi, 34)Tj -/TT0 1 Tf --2.7 -1.25 Td -(CSTOPB)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(675,)-250(686)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(ctermid)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(442,)-250(452, 694, 700)]TJ -12.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(701)Tj --15.89 -1.25 Td -[(de\336nition of,)-500(694)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(ctime)Tj -/T1_0 1 Tf -3.417 0 Td -[(function, )-250(192)]TJ -/TT0 1 Tf --3.417 -1.25 Td -()Tj -/T1_0 1 Tf -5.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7)Tj -/TT0 1 Tf --10.039 -1.25 Td -(cu)Tj -/T1_0 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(500)]TJ -/TT0 1 Tf --1.617 -1.25 Td -(cupsd)Tj -/T1_0 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(465,)-250(793)]TJ --3.417 -1.25 Td -[(curr)18(ent dir)18(ectory)]TJ -0.5 Tc 7.37 0 Td -(,4)Tj -0 Tc 1.333 0.09 Td -(\320)Tj -0.583 -0.09 Td -(5, 8, 13, 43, 50, 65, 94, 100,)Tj --0.055 Tc -6.587 -1.25 Td -(11)Tj -0 Tc 0.945 0 Td -(5)Tj -0.583 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(7, 120, 127, 130, 135)Tj -8.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(137, 178, 21)55(1, 233,)]TJ --12.223 -1.25 Td -(252, 315, 317, 466)Tj --2.7 -1.25 Td -[(Curses, )-250(32)]TJ -/TT0 1 Tf -T* -(curses)Tj -/T1_0 1 Tf -4.017 0 Td -(library)Tj -0.5 Tc 2.87 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(12)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(713, 949, 953)Tj -/TT0 1 Tf --9.803 -1.25 Td -(cuserid)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(276)]TJ --4.617 -4.75 Td -[(daemon, )-250(463)]TJ -5.934 0.09 Td -(\320)Tj -0.583 -0.09 Td -(480)Tj --5.167 -1.25 Td -[(coding, )-250(466)]TJ -5.363 0.09 Td -(\320)Tj -0.583 -0.09 Td -(469)Tj --5.946 -1.25 Td -[(conventions, )-250(474)]TJ -7.7 0.09 Td -(\320)Tj -0.583 -0.09 Td -(479)Tj --8.284 -1.25 Td -[(err)18(or logging,)-500(469)]TJ -8.153 0.09 Td -(\320)Tj -0.583 -0.09 Td -(473)Tj -/TT0 1 Tf --10.086 -1.25 Td -(daemonize)Tj -/T1_0 1 Tf -5.817 0 Td -[(function, )-250(466,)-250(468, 480, 616, 618, 623,)]TJ --3.117 -1.25 Td -(664, 815, 896, 929)Tj -7.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(930)Tj --9.517 -1.25 Td -[(de\336nition of,)-500(467)]TJ --1.35 -1.25 Td -[(Dang, X. T)74(., )-250(206,)-250(949)]TJ -T* -[(Darwin, )-250(xxii,)-250(xxvii, 35)]TJ -/TT0 1 Tf -T* -(dash)Tj -/T1_0 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(372)]TJ --2.817 -1.25 Td -[(data, out-of-band,)-500(626)]TJ -T* -(data segment)Tj -1.35 -1.25 Td -[(initialized, )-250(205)]TJ -T* -[(uninitialized, )-250(205)]TJ --1.35 -1.25 Td -(data transfer)Tj -0.5 Tc 5.547 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(10)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(623)Tj --8.464 -1.25 Td -[(data types, primitive system,)-500(58)]TJ -T* -(database library)Tj -0.5 Tc 7.013 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(43)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(787)Tj --8.579 -1.25 Td -[(coarse-grained locking,)-500(752)]TJ -T* -[(concurr)18(ency)]TJ -0.5 Tc 5.341 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(52)Tj -1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(753)Tj --8.258 -1.25 Td -[(\336ne-grained locking,)-500(752)]TJ -T* -[(implementation, )-250(746)]TJ -9.393 0.09 Td -(\320)Tj -0.583 -0.09 Td -(750)Tj --9.977 -1.25 Td -[(performance, )-250(781)]TJ -7.97 0.09 Td -(\320)Tj -0.583 -0.09 Td -(786)Tj --8.554 -1.25 Td -[(sour)18(ce code,)-500(753)]TJ -7.536 0.09 Td -(\320)Tj -0.583 -0.09 Td -(781)Tj --9.469 -1.25 Td -[(database transactions,)-500(952)]TJ -T* -[(Date, C. J.,)-500(753, 949)]TJ -T* -[(date functions, time and,)-500(189)]TJ -13.052 0.09 Td -(\320)Tj -0.583 -0.09 Td -(196)Tj -/TT0 1 Tf --13.636 -1.25 Td -(date)Tj -/T1_0 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(192,)-250(196, 371, 919, 944)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47701 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(958)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(cfgetispeed)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(331,)-250(677, 692)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(692)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(cfgetospeed)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(331,)-250(677, 692)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(692)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(cfsetispeed)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(331,)-250(677, 692)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(692)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(cfsetospeed)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(331,)-250(677, 692)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(692)]TJ --1.35 -1.25 Td -[(character special \336le,)-500(95, 138)]TJ -12.803 0.09 Td -(\320)Tj -0.583 -0.09 Td -(139, 699)Tj -/TT0 1 Tf --13.387 -1.25 Td -(CHAR_BIT)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(37)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(38)Tj -/TT0 1 Tf --11.363 -1.25 Td -(CHARCLASS_NAME_MAX)Tj -/T1_1 1 Tf -11.217 0 Td -[(constant, )-250(39,)-250(49)]TJ -/TT0 1 Tf --11.217 -1.25 Td -(CHAR_MAX)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(37)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(38)Tj -/TT0 1 Tf --11.363 -1.25 Td -(CHAR_MIN)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(37)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(38)Tj -/TT0 1 Tf --11.363 -1.25 Td -(chdir)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(8,)-250(121, 135)]TJ -9.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(137, 141, 222, 288,)Tj --10.34 -1.25 Td -(331, 468, 912)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(135)]TJ --1.35 -1.25 Td -[(Chen, D.,)-500(948)]TJ -/TT0 1 Tf -0 -1.25 TD -(CHILD_MAX)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(40,)-250(43, 49, 233)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(chmod)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(106)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(108, 121, 125, 331, 452, 558,)Tj --7.34 -1.25 Td -(641, 944)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(106)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(chmod)Tj -/T1_1 1 Tf -3.417 0 Td -[(pr)18(ogram, )-250(99)]TJ -5.691 0.09 Td -(\320)Tj -0.583 -0.09 Td -(100, 559)Tj -/TT0 1 Tf --9.691 -1.25 Td -(chown)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(55,)-250(109)]TJ -7.54 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(0, 120)Tj -2.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(121, 125, 288,)Tj --12.952 -1.25 Td -(331, 452, 558, 944)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(109)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(chroot)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(141,)-250(480, 910, 928)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(CIBAUDEXT)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(675,)-250(685)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(CIGNORE)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(675,)-250(685)]TJ --4.617 -1.25 Td -[(Clark, J. J.,)-500(xxxii)]TJ -/TT0 1 Tf -T* -(CLD_CONTINUED)Tj -/T1_1 1 Tf -8.217 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --8.217 -1.25 Td -(CLD_DUMPED)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(CLD_EXITED)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(CLD_KILLED)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(CLD_STOPPED)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(CLD_TRAPPED)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(clearenv)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(212)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(clearerr)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(151)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(151)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(cli_args)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(656)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(658, 668)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(669)Tj --14.657 -1.25 Td -[(de\336nition of,)-500(658)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(cli_conn)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(636)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(637, 640, 659, 665, 897)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(636, 640)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(client_add)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(662,)-250(665, 667)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(661)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(client_alloc)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(661)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(662, 668)Tj --12.89 -1.25 Td -[(de\336nition of,)-500(660)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(client_cleanup)Tj -/T1_1 1 Tf -8.817 0 Td -[(function, )-250(814,)-250(824, 829)]TJ --7.467 -1.25 Td -[(de\336nition of,)-500(829)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(client_del)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(665,)-250(667)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(661)]TJ --1.35 -1.25 Td -[(client\320server model,)-500(479)]TJ -11.043 0.09 Td -(\320)Tj -0.583 -0.09 Td -(480, 585)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(587)Tj -/TT0 1 Tf --15.793 -1.25 Td -(client_thread)Tj -/T1_1 1 Tf -8.217 0 Td -[(function, )-250(814,)-250(817, 824)]TJ --6.867 -1.25 Td -[(de\336nition of,)-500(824)]TJ -/TT0 1 Tf -24.65 65 Td -(CLOCAL)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(318,)-250(675, 685)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(clock)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(58)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(59)Tj --9.54 -1.25 Td -[(clock tick,)-500(20, 42)]TJ -7.481 0.09 Td -(\320)Tj -0.583 -0.09 Td -(43, 49, 59, 270, 280)Tj -/TT0 1 Tf --8.065 -1.25 Td -(clock_getres)Tj -/T1_1 1 Tf -7.617 0 Td -[(function, )-250(190)]TJ --6.267 -1.25 Td -[(de\336nition of,)-500(190)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(clock_gettime)Tj -/T1_1 1 Tf -8.217 0 Td -[(function, )-250(189)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(190, 331, 408, 414,)Tj --12.14 -1.25 Td -(437, 439)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(189)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(clockid_t)Tj -/T1_1 1 Tf -5.817 0 Td -[(data type,)-500(189)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(CLOCK_MONOTONIC)Tj -/T1_1 1 Tf -9.417 0 Td -[(constant, )-250(189)]TJ -/TT0 1 Tf --9.417 -1.25 Td -(clock_nanosleep)Tj -/T1_1 1 Tf -9.417 0 Td -[(function, )-250(373)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(375, 437, 439,)Tj --13.34 -1.25 Td -(451, 462)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(375)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(CLOCK_PROCESS_CPUTIME_ID)Tj -/T1_1 1 Tf -14.817 0 Td -[(constant, )-250(189)]TJ -/TT0 1 Tf --14.817 -1.25 Td -(CLOCK_REALTIME)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(189)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(190, 408, 437,)Tj --12.763 -1.25 Td -(439, 581)Tj -/TT0 1 Tf --2.7 -1.25 Td -(clock_settime)Tj -/T1_1 1 Tf -8.217 0 Td -[(function, )-250(190,)-250(439)]TJ --6.867 -1.25 Td -[(de\336nition of,)-500(190)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(CLOCKS_PER_SEC)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(59)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(clock_t)Tj -/T1_1 1 Tf -4.617 0 Td -[(data type,)-500(20, 58)]TJ -7.482 0.09 Td -(\320)Tj -0.583 -0.09 Td -(59, 280)Tj -/TT0 1 Tf --12.682 -1.25 Td -(CLOCK_THREAD_CPUTIME_ID)Tj -/T1_1 1 Tf -14.217 0 Td -[(constant, )-250(189)]TJ -/TT0 1 Tf --14.217 -1.25 Td -(clone)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(229)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(close)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(8,)-250(52, 61, 66, 80)]TJ -11.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(81, 124, 128, 331,)Tj --12.34 -1.25 Td -(451, 468, 474, 492, 532, 537)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(539, 544, 550, 553,)Tj --12.166 -1.25 Td -(560, 577)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(578, 587, 592)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(593, 609, 616, 618,)Tj --10.333 -1.25 Td -(625, 638)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(639, 641, 654)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(655, 657, 665,)Tj --10.333 -1.25 Td -(667)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(669, 725)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(726, 728)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(729, 739)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(740, 761,)Tj --14.666 -1.25 Td -(823, 826)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(827, 829, 833, 837)Tj --5.516 -1.25 Td -[(de\336nition of,)-500(66)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(closedir)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(5,)-250(7, 130)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(135, 452, 698, 823,)Tj --11.14 -1.25 Td -(910)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(130)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(closelog)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(452,)-250(470)]TJ --3.867 -1.25 Td -[(de\336nition of,)-500(470)]TJ --1.35 -1.25 Td -[(close-on-exec \337ag,)-500(80, 83, 252)]TJ -13.143 0.09 Td -(\320)Tj -0.583 -0.09 Td -(253, 479)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(480, 492)Tj -/TT0 1 Tf --17.893 -1.25 Td -(clrasync)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, de\336nition of,)-500(940)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(clr_fl)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(85,)-250(482)]TJ -7.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(483, 896, 937)Tj -/TT0 1 Tf --12.14 -1.25 Td -(clri)Tj -/T1_1 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(122)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(cmsgcred)Tj -/T1_1 1 Tf -5.217 0 Td -[(str)8(uctur)18(e, )-250(648)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(651)Tj -/TT0 1 Tf --12.102 -1.25 Td -(CMSG_DATA)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(645)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(646, 648, 650, 652)Tj --11.09 -1.25 Td -[(de\336nition of,)-500(645)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(CMSG_FIRSTHDR)Tj -/T1_1 1 Tf -8.217 0 Td -[(function, )-250(645,)-250(652)]TJ --6.867 -1.25 Td -[(de\336nition of,)-500(645)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(cmsghdr)Tj -/T1_1 1 Tf -4.617 0 Td -[(str)8(uctur)18(e, )-250(645)]TJ -6.302 0.09 Td -(\320)Tj -0.583 -0.09 Td -(647, 649, 651)Tj -/TT0 1 Tf --11.502 -1.25 Td -(CMSG_LEN)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(645)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(647, 649, 651)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(645)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(CMSG_NXTHDR)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(645,)-250(650, 652)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(645)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(CMSPAR)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(675,)-250(685, 690)]TJ --4.017 -1.25 Td -[(codes, option,)-500(31)]TJ -/TT0 1 Tf -T* -(COLL_WEIGHTS_MAX)Tj -/T1_1 1 Tf -10.017 0 Td -[(constant, )-250(39,)-250(43, 49)]TJ -/TT0 1 Tf --10.017 -1.25 Td -(COLUMNS)Tj -/T1_1 1 Tf -4.617 0 Td -[(envir)18(onment variable,)-500(21)55(1)]TJ --4.617 -1.25 Td -[(Comer)74(,)-250(D.)-250(E., )-250(744,)-250(949)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47702 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 465.375 708 Tm -(Index)Tj -/T1_1 1 Tf -4.525 0 Td -(957)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(B1800)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(692)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(B19200)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(692)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(B200)Tj -/T1_0 1 Tf -2.817 0 Td -[(constant, )-250(692)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(B2400)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(692)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(B300)Tj -/T1_0 1 Tf -2.817 0 Td -[(constant, )-250(692)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(B38400)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(692)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(B4800)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(692)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(B50)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(692)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(B57600)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(692)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(B600)Tj -/T1_0 1 Tf -2.817 0 Td -[(constant, )-250(692)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(B75)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(692)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(B9600)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(692)]TJ --3.417 -1.25 Td -[(Bach, M. J.,)-500(xix, xxxii, 74, 81, 1)55(12, 1)55(16, 229, 907, 948)]TJ -0 -1.25 TD -[(backgr)18(ound pr)18(ocess gr)18(oup, )-250(296,)-250(300, 302, 304,)]TJ -2.7 -1.25 Td -(306)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(307, 309, 321, 369, 377, 944)Tj --4.866 -1.25 Td -[(backof)18(f, exponential,)-500(606)]TJ -T* -[(Barkley)111(,)-250(R.)-250(E., )-250(948)]TJ -T* -[(barrier attributes,)-500(441)]TJ -9.814 0.09 Td -(\320)Tj -0.583 -0.09 Td -(442)Tj --10.398 -1.25 Td -[(barriers, )-250(418)]TJ -5.765 0.09 Td -(\320)Tj -0.583 -0.09 Td -(422)Tj -/TT0 1 Tf --6.348 -1.25 Td -(basename)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(442)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(bash)Tj -/T1_0 1 Tf -2.817 0 Td -[(pr)18(ogram, )-250(85,)-250(372)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(.bash_login)Tj -/T1_0 1 Tf -7.017 0 Td -[(\336le, )-250(289)]TJ -/TT0 1 Tf --7.017 -1.25 Td -(.bash_profile)Tj -/T1_0 1 Tf -8.217 0 Td -[(\336le, )-250(289)]TJ --8.217 -1.25 Td -[(Bass, J.,)-500(485)]TJ -T* -[(baud rate, terminal I/O,)-500(692)]TJ -12.776 0.09 Td -(\320)Tj -0.583 -0.09 Td -(693)Tj --13.36 -1.25 Td -(Berkeley Softwar)Tj -0.25 Tc 7.537 0 Td -(eD)Tj -0 Tc 1.503 0 Td -(istribution,)Tj -/T1_2 1 Tf -5.378 0 Td -(see)Tj -/T1_0 1 Tf -1.417 0 Td -(BSD)Tj --15.835 -1.25 Td -(bibliography)Tj -0.25 Tc 5.604 0 Td -(,a)Tj -0 Tc 1 0 Td -[(lphabetical, )-250(947)]TJ -7.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(953)Tj --14.379 -1.25 Td -[(big-endian byte or)18(der)]TJ -0.5 Tc 9.526 0 Td -(,5)Tj -0 Tc 1.25 0 Td -(93, 791)Tj -/TT0 1 Tf --10.776 -1.25 Td -(bind)Tj -/T1_0 1 Tf -2.817 0 Td -[(function, )-250(331,)-250(604, 609, 624)]TJ -12.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(625, 634)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(635,)Tj --16.907 -1.25 Td -(637)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(638, 641)Tj --3.517 -1.25 Td -[(de\336nition of,)-500(604)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(/bin/false)Tj -/T1_0 1 Tf -6.417 0 Td -[(pr)18(ogram, )-250(179)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(/bin/true)Tj -/T1_0 1 Tf -5.817 0 Td -[(pr)18(ogram, )-250(179)]TJ -/TT0 1 Tf --5.817 -1.25 Td -()Tj -/T1_0 1 Tf -9.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,3)Tj -0 Tc 1.25 0 Td -(14)Tj --13.639 -1.25 Td -[(block special \336le,)-500(95, 138)]TJ -11.128 0.09 Td -(\320)Tj -0.583 -0.09 Td -(139)Tj --11.712 -1.25 Td -[(Bolsky)111(,)-250(M.)-250(I., )-250(548,)-250(948)]TJ -0 -1.25 Td -[(Bostic, K.,)-500(xxxii, 33, 74, 1)55(12, 1)55(16, 525, 951)]TJ -1.35 -1.25 Td -[(Keith, )-250(229,)-250(236)]TJ --1.35 -1.25 Td -[(Bourne, S. R.,)-500(3)]TJ -T* -[(Bourne shell,)-500(3, 53, 90, 210, 222, 289, 299, 303, 372,)]TJ -2.7 -1.25 Td -(497, 542, 548, 702, 935, 950)Tj --2.7 -1.25 Td -[(Bourne-again shell,)-500(3)]TJ -9.628 0.09 Td -(\320)Tj -0.583 -0.09 Td -(4, 53, 85, 90, 210, 222, 289,)Tj --7.512 -1.25 Td -(300, 548)Tj --2.7 -1.25 Td -[(Bovet, D. P)129(., )-250(74)]TJ -T* -(BREAK character)Tj -0.5 Tc 7.635 0 Td -(,6)Tj -0 Tc 1.25 0 Td -(77, 682, 685, 688, 690, 694, 708)Tj -/TT0 1 Tf --8.885 -1.25 Td -(BRKINT)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(676,)-250(685, 688, 706)]TJ -12.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(708)Tj -/TT0 1 Tf --16.663 -1.25 Td -(BS0)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(685)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(BS1)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(685)]TJ --2.217 -1.25 Td -(BSD \(Berkeley Softwar)Tj -0.25 Tc 10.03 0 Td -(eD)Tj -0 Tc 1.503 0 Td -[(istribution\), )-250(34,)-250(65, 1)]TJ --0.055 Tc 9.156 0 Td -(11)Tj -0 Tc 0.945 0 Td -(,)Tj --18.934 -1.25 Td -(175, 286, 289, 291, 293, 296)Tj -11.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(297, 299, 482, 501,)Tj --12.166 -1.25 Td -(509)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(51)55(1, 532, 596)]TJ -5.528 0.09 Td -(\320)Tj -0.583 -0.09 Td -(597, 630, 726)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(727, 734, 742)Tj --17.144 -1.25 Td -[(BSD Networking Release 1.0,)-500(xxxi, 34)]TJ -T* -[(BSD Networking Release 2.0,)-500(xxxi, 34)]TJ -26 65 Td -[(BSD/386, )-250(xxxi)]TJ -/TT0 1 Tf -T* -(BSDLY)Tj -/T1_0 1 Tf -3.417 0 Td -[(constant, )-250(676,)-250(684)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(685, 689)Tj -/TT0 1 Tf -0.1666 Tc -12.063 -1.25 Td -(__)Tj -0 Tc 1.367 0 Td -(BSD_VISIBLE)Tj -/T1_0 1 Tf -7.017 0 Td -[(constant, )-250(473)]TJ --8.383 -1.25 Td -[(bss segment,)-500(205)]TJ -/TT0 1 Tf -T* -(buf_args)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(656)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(658, 668)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(670, 897)Tj --14.657 -1.25 Td -[(de\336nition of,)-500(657)]TJ --1.35 -1.25 Td -[(buf)18(fer cache,)-500(81)]TJ -T* -[(buf)18(fering, standar)]TJ -0.25 Tc 7.927 0 Td -(dI)Tj -0 Tc 1.198 0 Td -[(/O, )-250(145)]TJ -3.725 0.09 Td -(\320)Tj -0.583 -0.09 Td -(147, 231, 235, 265,)Tj --10.733 -1.25 Td -(367, 552, 721, 752)Tj -/TT0 1 Tf --2.7 -1.25 Td -(BUFSIZ)Tj -/T1_0 1 Tf -4.017 0 Td -[(constant, )-250(49,)-250(147, 166, 220)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(build_qonstart)Tj -/T1_0 1 Tf -8.817 0 Td -[(function, )-250(814,)-250(817, 822)]TJ --7.467 -1.25 Td -[(de\336nition of,)-500(822)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(BUS_ADRALN)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(BUS_ADRERR)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(BUS_OBJERR)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(353)]TJ --6.417 -1.25 Td -[(byte or)18(der)]TJ -0.5 Tc 4.498 0 Td -(,x)Tj -0 Tc 1.266 0 Td -(xii, 593)Tj -3.181 0.09 Td -(\320)Tj -0.583 -0.09 Td -(594, 792, 810, 825, 831, 834,)Tj --6.829 -1.25 Td -(842, 861, 865)Tj --1.35 -1.25 Td -[(big-endian, )-250(593,)-250(791)]TJ -T* -[(little-endian, )-250(593)]TJ --1.35 -4.75 Td -[(C, ANSI,)-500(xxx\320xxxi)]TJ -1.35 -1.25 Td -[(ISO, )-250(25)]TJ -3.481 0.09 Td -(\320)Tj -0.583 -0.09 Td -(26, 153, 950)Tj -0.25 Tc -5.415 -1.25 Td -(Cs)Tj -0 Tc 1.383 0 Td -[(hell, )-250(3,)-250(53, 222, 289, 299, 548)]TJ -/TT0 1 Tf --1.383 -1.25 Td -(c99)Tj -/T1_0 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(58,)-250(70)]TJ --2.217 -1.25 Td -(cache)Tj -1.35 -1.25 Td -[(buf)18(fer)]TJ -0.5 Tc 2.604 0 Td -(,8)Tj -0 Tc 1.25 0 Td -(1)Tj --3.854 -1.25 Td -[(page, )-250(81)]TJ --1.35 -1.25 Td -[(CAE \(Common Application Envir)18(onment\), )-250(32)]TJ -T* -[(calendar time,)-500(20, 24, 59, 126, 189, 191)]TJ -16.864 0.09 Td -(\320)Tj -0.583 -0.09 Td -(192, 264,)Tj --14.748 -1.25 Td -(270)Tj -/TT0 1 Tf --2.7 -1.25 Td -(calloc)Tj -/T1_0 1 Tf -4.017 0 Td -[(function, )-250(207)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(208, 226, 544, 760, 920)Tj --9.29 -1.25 Td -[(de\336nition of,)-500(207)]TJ --1.35 -1.25 Td -[(cancellation point,)-500(451)]TJ -T* -[(canonical mode, terminal I/O,)-500(700)]TJ -15.508 0.09 Td -(\320)Tj -0.583 -0.09 Td -(703)Tj --16.091 -1.25 Td -[(Car)18(ges, M. T)74(., )-250(560,)-250(947)]TJ -/TT0 1 Tf -T* -(cat)Tj -/T1_0 1 Tf -2.217 0 Td -[(constant, )-250(301)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(cat)Tj -/T1_0 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(89,)]TJ --0.055 Tc 6.108 0 Td -(11)Tj -0 Tc 0.945 0 Td -(2, 123, 301, 304, 734)Tj -8.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(735, 748,)Tj --15.736 -1.25 Td -(944)Tj -/TT0 1 Tf --2.7 -1.25 Td -(catclose)Tj -/T1_0 1 Tf -5.217 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(catgets)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(442,)-250(452)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(catopen)Tj -/T1_0 1 Tf -4.617 0 Td -[(function, )-250(452)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(CBAUDEXT)Tj -/T1_0 1 Tf -5.217 0 Td -[(constant, )-250(675,)-250(685)]TJ --5.217 -1.25 Td -[(cbr)18(eak terminal mode,)-500(672, 704, 708, 713)]TJ -/TT0 1 Tf -T* -(cc)Tj -/T1_0 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(6,)-250(57, 206)]TJ -/TT0 1 Tf --1.617 -1.25 Td -(CCAR_OFLOW)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(675,)-250(685, 689)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(cc_t)Tj -/T1_0 1 Tf -2.817 0 Td -[(data type,)-500(674)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(CCTS_OFLOW)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(675,)-250(685)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(cd)Tj -/T1_0 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(136)]TJ -/TT0 1 Tf --1.617 -1.25 Td -(CDSR_OFLOW)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(675,)-250(685)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(CDTR_IFLOW)Tj -/T1_0 1 Tf -6.417 0 Td -[(constant, )-250(675,)-250(685)]TJ --6.417 -1.25 Td -[(Cesati, M.,)-500(74)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47703 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.2)]TJ -29.846 0 Td -[(The )-250(Internet )-250(Printing )-250(Pr)18(otocol)]TJ -/T1_1 1 Tf -15.987 0 Td -(791)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -2382 5486 1656 1152 re -S -Q -BT -/T1_0 1 Tf -7.9995 0 0 7.9995 292.8744 654.8007 Tm -(version number)Tj --6.566 -1.8 Td -[(operation ID \(r)18(equest\)/status code \(r)18(esponse\))]TJ --0.018 Tc 7.775 -2.7 Td -(re)Tj -0 Tc 0.856 0 Td -(quest ID)Tj --0.663 -4.5 Td -(attributes)Tj --2.425 -3.6 Td -(end-of-attributes tag)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2452.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2523.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2593.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2663.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2734.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2804.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2875.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2946.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3015.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3086.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3156.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3227.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3298.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3368.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3438.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3509.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3579.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3650.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3720.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3791.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3861.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3931.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4002.25 6494.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4038.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3967.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3897.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3827.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3756.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3686.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3615.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3545.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3474.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3404.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3334.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3263.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3192.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3122.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3051.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2982.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2911.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2840.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2770.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2699.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2629.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2559.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2488.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 6350.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2452.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2523.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2593.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2663.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2734.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2804.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2875.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2946.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3015.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3086.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3156.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3227.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3298.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3368.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3438.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3509.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3579.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3650.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3720.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3791.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3861.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3931.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4002.25 6062.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4038.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3967.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3897.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3827.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3756.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3686.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3615.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3545.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3474.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3404.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3334.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3263.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3192.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3122.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3051.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2982.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2911.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2840.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2770.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2699.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2629.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2559.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2488.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 5630.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 410.9507 654.7614 Tm -(\(2 bytes\))Tj -0 -1.8 TD -(\(2 bytes\))Tj -0 -2.7 TD -(\(4 bytes\))Tj -0 -4.5 TD -(\(0-)Tj -/T1_2 1 Tf -(n)Tj -/T1_0 1 Tf -1.972 0 Td -(bytes\))Tj --1.972 -3.6 Td -(\(1 byte\))Tj -/T1_1 1 Tf --19.458 -3.53 Td -(Figure 21.3)Tj -/T1_0 1 Tf -5.695 0 Td -[(Str)8(uctur)18(e)-250(of)-250(an)-250(IPP header)]TJ -9.9988 0 0 9.9988 147.5822 498.1404 Tm -[(The )-10(next )-10(4 )-10(bytes )-10(contain )-10(an )-10(integer )-10(identifying )-10(the )-10(r)20(equest, )-10(which )-10(allows )-10(r)18(equests )-10(to)]TJ --1.8 -1.2 Td -[(be )-95(matched )-95(up )-95(with )-95(r)17(esponses. )-345(Optional)-345(attributes )-95(follow )-95(this, )-95(terminated )-95(by )-95(an )-95(end-)]TJ --0 -1.2 Td -[(of-attributes )-472(tag.)-972(Any )-472(data )-472(that )-472(might )-472(be )-472(associated )-472(with )-472(the )-472(r)13(equest )-473(follows)]TJ -0 -1.2 TD -(immediately after the end-of-attributes tag.)Tj -1.8 -1.2 Td -[(In )-185(the )-185(header)]TJ -0.4352 Tc 6.148 0 Td -(,i)Tj -0 Tc 0.976 0 Td -[(ntegers )-185(ar)]TJ -0.4352 Tc 4.553 0 Td -(es)Tj -0 Tc 1.338 0 Td -[(tor)18(ed )-185(as )-185(signed, )-185(two\325s-complement, )-185(binary )-185(values )-185(in)]TJ --14.816 -1.2 Td -[(big-endian )-78(byte )-78(or)18(der )-78(\(i.e., )-78(network )-78(byte )-78(or)18(der\). )-328(Attributes)-328(ar)]TJ -0.3281 Tc 27.829 0 Td -(es)Tj -0 Tc 1.231 0 Td -[(tor)18(ed )-78(in )-78(gr)18(oups. )-328(Each)]TJ --29.06 -1.2 Td -[(gr)18(oup )-24(starts )-24(with )-24(a )-24(single )-24(byte )-24(identifying )-24(the )-24(gr)20(oup. )-274(W)55(ithin )-24(each )-24(gr)18(oup, )-24(an )-24(attribute )-24(is)]TJ -0 -1.2 Td -[(generally )-9(r)18(epr)18(esented )-9(as )-9(a )-9(1)]TJ -12.304 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-9(tag, )-9(followed )-9(by )-9(a )-9(2)]TJ -10.883 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-9(name )-9(length, )-9(followed )-9(by )-9(the)]TJ --23.853 -1.2 Td -[(name )-57(of )-57(the )-57(attribute, )-57(followed )-57(by )-57(a )-57(2)]TJ -16.948 0.09 Td -(-)Tj -0.333 -0.09 Td -[(byte )-57(value )-57(length, )-57(and )-57(\336nally )-57(by )-57(the )-57(value )-57(itself.)]TJ --17.281 -1.2 Td -[(The )-148(value )-148(can )-148(be )-148(encoded )-148(as )-148(a )-148(string, )-148(a )-148(binary )-148(integer)78(,)-398(or)-398(a)-398(m)1(or)]TJ -0.3976 Tc 29.747 0 Td -(ec)Tj -0 Tc 1.321 0 Td -[(omplex )-148(str)8(uctur)18(e,)]TJ --31.067 -1.2 Td -(such as a date/timestamp.)Tj -1.8 -1.2 Td -(Figur)Tj -0.4624 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.441 0 Td -[(1.4 )-212(shows )-212(how )-212(the)]TJ -/TT0 1 Tf -9.259 0 Td -(attributes-charset)Tj -/T1_0 1 Tf -11.262 0 Td -[(attribute )-212(would )-212(be )-212(encoded)]TJ --26.145 -1.2 Td -(with a value of)Tj -/TT0 1 Tf -6.85 0 Td -(utf-8)Tj -/T1_0 1 Tf -(.)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2382 2098 1656 1224 re -S -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 286.7364 323.1818 Tm -(attribute tag = 0x47)Tj --1.559 -2.25 Td -(size of attribute name = 18)Tj --1.339 -3.6 Td -(name =)Tj -/TT0 1 Tf -3.55 0 Td -(attributes-charset)Tj -/T1_0 1 Tf --1.958 -3.6 Td -(size of attribute value = 5)Tj -2.311 -3.15 Td -(value =)Tj -/TT0 1 Tf -3.544 0 Td -(utf-8)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2452.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2523.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2593.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2663.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2734.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2804.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2875.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2946.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3015.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3086.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3156.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3227.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3298.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3368.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3438.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3509.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3579.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3650.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3720.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3791.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3861.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3931.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4002.25 3178.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4038.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3967.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3897.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3827.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3756.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3686.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3615.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3545.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3474.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3404.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3334.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3263.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3192.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3122.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3051.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2982.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2911.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2840.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2770.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2699.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2629.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2559.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2488.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 2962.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2452.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2523.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2593.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2663.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2734.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2804.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2875.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2946.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3015.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3086.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3156.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3227.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3298.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3368.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3438.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3509.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3579.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3650.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3720.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3791.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3861.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3931.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4002.25 2602.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4038.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3967.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3897.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3827.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3756.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3686.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3615.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3545.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3474.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3404.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3334.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3263.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3192.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3122.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3051.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2982.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2911.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2840.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2770.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2699.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2629.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2559.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2488.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 2386.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 410.9014 323.1624 Tm -(\(1 byte\))Tj -0 -2.25 TD -(\(2 bytes\))Tj -0 -3.6 TD -(\(18 bytes\))Tj -T* -(\(2 bytes\))Tj -0 -3.15 TD -(\(5 bytes\))Tj -/T1_1 1 Tf --20.379 -4.43 Td -(Figure 21.4)Tj -/T1_0 1 Tf -5.695 0 Td -(Sample IPP attribute encoding)Tj -9.9976 0 0 9.9976 147.5648 159.9614 Tm -[(Depending )-41(on )-41(the )-41(operation )-41(r)18(equested, )-41(some )-41(attributes )-41(ar)]TJ -0.2912 Tc 25.794 0 Td -(er)Tj -0 Tc 1.147 0 Td -[(equir)18(ed )-41(to )-41(be )-41(pr)17(ovided)]TJ --28.741 -1.2 Td -[(in )-134(the )-134(r)17(equest )-134(message, )-134(wher)18(eas )-134(others )-134(ar)]TJ -0.3844 Tc 19.114 0 Td -(eo)Tj -0 Tc 1.409 0 Td -[(ptional. )-384(For)-385(example, )-134(Figur)]TJ -0.3844 Tc 12.669 0 Td -(e2)Tj -0 Tc 1.363 0 Td -[(1.5 )-134(shows)]TJ --34.556 -1.2 Td -[(the attributes de\336ned for a print-job r)18(equest.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47704 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(865)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(ssize_t)Tj -/TT1 1 Tf -6 0 Td -(msgrcv)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(msqid)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.208 0 Td -(oid *)Tj -/T1_2 1 Tf -(ptr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 6.022 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -0.6 Tc (,l)Tj -0 Tc 4.43 0 Td -(ong)Tj -/T1_2 1 Tf -2.4 0 Td -(type)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.522 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj --25.082 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 564)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (:I)Tj -0 Tc 3.289 0 Td -(PC_NOWAIT, MSG_NOERROR)Tj -/T1_0 1 Tf --3.289 -1.5 Td -(Returns: size of data portion of message if OK,)Tj -/TT2 1 Tf -20.784 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --34.284 -2.788 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(msgsnd)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(msqid)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.208 0 Td -(onst void *)Tj -/T1_2 1 Tf -(ptr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 9.622 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.43 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj --22.76 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 563)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (:I)Tj -0 Tc 3.289 0 Td -(PC_NOWAIT)Tj -/T1_0 1 Tf --3.289 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.788 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(msync)Tj -/TT0 1 Tf -(\(void *)Tj -/T1_2 1 Tf -(addr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 10.833 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(len)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.023 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT0 1 Tf -(\);)Tj --11.756 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 528)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (:M)Tj -0 Tc 3.289 0 Td -(S_ASYNC, MS_INVALIDATE, MS_SYNC)Tj -/T1_0 1 Tf --3.289 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.788 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(munmap)Tj -/TT0 1 Tf -(\(void *)Tj -/T1_2 1 Tf -(addr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 11.433 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(len)Tj -/TT0 1 Tf -(\);)Tj --7.533 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 528)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.788 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(nanosleep)Tj -/TT0 1 Tf -(\(const struct timespec *)Tj -/T1_2 1 Tf --0.018 Tc (re)Tj -0 Tc 20.56 0 Td -(qtp)Tj -/TT0 1 Tf -(,)Tj --14.56 -1.25 Td -(struct timespec *)Tj -/T1_2 1 Tf --0.018 Tc (re)Tj -0 Tc 10.96 0 Td -(mtp)Tj -/TT0 1 Tf -(\);)Tj --9.46 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 374)Tj --28.125 -1.5 Td -[(Returns: 0 if slept for r)18(equested time,)]TJ -/TT2 1 Tf -16.563 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --30.063 -2.788 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(nice)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -5.4 0 Td -(incr)Tj -/TT0 1 Tf -(\);)Tj -2.1 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 276)Tj --28.125 -1.5 Td -(Returns: new nice value)Tj -/TT2 1 Tf -10.856 0 Td -(!)Tj -/TT0 1 Tf -0.799 0 Td -(NZERO)Tj -/T1_0 1 Tf -3.25 0 Td -(if OK,)Tj -/TT2 1 Tf -2.886 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --31.291 -2.788 Td -(uint32_t)Tj -/TT1 1 Tf -6 0 Td -(ntohl)Tj -/TT0 1 Tf -(\(uint32_t)Tj -/T1_2 1 Tf -9 0 Td -(netint32)Tj -/TT0 1 Tf -(\);)Tj --1.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 594)Tj --28.125 -1.5 Td -(Returns: 32)Tj -4.977 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit integer in host byte or)18(der)]TJ -/TT0 1 Tf --18.81 -2.788 Td -(uint16_t)Tj -/TT1 1 Tf -6 0 Td -(ntohs)Tj -/TT0 1 Tf -(\(uint16_t)Tj -/T1_2 1 Tf -9 0 Td -(netint16)Tj -/TT0 1 Tf -(\);)Tj --1.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 594)Tj --28.125 -1.5 Td -(Returns: 16)Tj -4.977 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit integer in host byte or)18(der)]TJ -/TT0 1 Tf --18.81 -2.788 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(open)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 13.777 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(o\337ag)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 3.733 0 Td -(.. /* mode_t)Tj -/T1_2 1 Tf -7.8 0 Td -(mode)Tj -/TT0 1 Tf -2.711 0 Td -(*/ \);)Tj --22.321 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 62)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(o\337ag)Tj -/TT0 1 Tf -0.6 Tc (:O)Tj -0 Tc 3.733 0 Td -(_RDONLY, O_WRONLY, O_RDWR, O_EXEC,)Tj --0.6 -1.25 Td -(O_SEARCH;)Tj -0 -1.25 TD -(O_APPEND, O_CLOEXEC, O_CREAT,)Tj -T* -(O_DIRECTORY, O_DSYNC, O_EXCL,)Tj -T* -(O_NOCTTY, O_NOFOLLOW, O_NONBLOCK,)Tj -T* -(O_RSYNC, O_SYNC, O_TRUNC, O_TTY_INIT)Tj -/T1_2 1 Tf --3.133 -1.5 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 3.911 0 Td -(_IS)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(UG)Tj -1.2 0.04 Td -(])Tj -0.6 -0.04 Td -(ID, S_ISVTX,)Tj --4.8 -1.25 Td -(S_I)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(RWX)Tj -1.8 0.04 Td -(])Tj -0.6 -0.04 Td -(\(USR|GRP|OTH\))Tj -/T1_0 1 Tf --8.111 -1.5 Td -(Returns: \336le descriptor if OK,)Tj -/TT2 1 Tf -13.25 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ --13.25 -1.5 Td -(Platforms:)Tj -/TT0 1 Tf -4.802 0 Td -(O_FSYNC)Tj -/T1_0 1 Tf -4.45 0 Td -[(\337ag on Fr)18(eeBSD 8.0 and Mac OS X 10.6.8)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47705 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(861)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(getsockopt)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.262 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(level)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.634 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(option)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.355 0 Td -(oid *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(val)Tj -/TT0 1 Tf -(,)Tj --26.651 -1.25 Td -(socklen_t *restrict)Tj -/T1_2 1 Tf -12 0 Td -(lenp)Tj -/TT0 1 Tf -(\);)Tj --11.1 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 624)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.375 Td -(struct)Tj -0 -1.25 TD -[(spwd )-2400(*)]TJ -/TT1 1 Tf -(getspent)Tj -/TT0 1 Tf -(\(void\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 182)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ --12.983 -1.5 Td -(Platforms: Linux 3.2.0, Solaris 10)Tj -/TT0 1 Tf --13.5 -3.375 Td -(struct)Tj -T* -[(spwd )-2400(*)]TJ -/TT1 1 Tf -(getspnam)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 182)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ --12.983 -1.5 Td -(Platforms: Linux 3.2.0, Solaris 10)Tj -/TT0 1 Tf --13.5 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(gettimeofday)Tj -/TT0 1 Tf -(\(struct timeval *restrict)Tj -/T1_2 1 Tf -22.8 0 Td -(tp)Tj -/TT0 1 Tf -(,)Tj --15 -1.25 Td -(void *restrict)Tj -/T1_2 1 Tf -9 0 Td -(tzp)Tj -/TT0 1 Tf -(\);)Tj --9.3 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 190)Tj --28.125 -1.5 Td -(Returns: 0 always)Tj -/TT0 1 Tf --13.5 -3.375 Td -(uid_t)Tj -/TT1 1 Tf -6 0 Td -(getuid)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 228)Tj --28.125 -1.5 Td -[(Returns: r)18(eal user ID of calling pr)18(ocess)]TJ -/TT0 1 Tf --13.5 -3.375 Td -(struct)Tj -T* -[(tm )-3600(*)]TJ -/TT1 1 Tf -(gmtime)Tj -/TT0 1 Tf -(\(const time_t *)Tj -/T1_2 1 Tf -(calptr)Tj -/TT0 1 Tf -(\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 192)Tj --28.125 -1.5 Td -[(Returns: pointer to br)18(oken-down time,)]TJ -/TT0 1 Tf -17.297 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --33.447 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(grantpt)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -0.3 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 723)Tj --28.125 -1.5 Td -(Returns: 0 on success,)Tj -/TT2 1 Tf -9.847 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --23.347 -3.375 Td -(uint32_t)Tj -/TT1 1 Tf -6 0 Td -(htonl)Tj -/TT0 1 Tf -(\(uint32_t)Tj -/T1_2 1 Tf -9 0 Td -(hostint32)Tj -/TT0 1 Tf -(\);)Tj --1.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 594)Tj --28.125 -1.5 Td -(Returns: 32)Tj -4.977 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit integer in network byte or)18(der)]TJ -/TT0 1 Tf --18.81 -3.375 Td -(uint16_t)Tj -/TT1 1 Tf -6 0 Td -(htons)Tj -/TT0 1 Tf -(\(uint16_t)Tj -/T1_2 1 Tf -9 0 Td -(hostint16)Tj -/TT0 1 Tf -(\);)Tj --1.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 594)Tj --28.125 -1.5 Td -(Returns: 16)Tj -4.977 0.09 Td -(-)Tj -0.333 -0.09 Td -[(bit integer in network byte or)18(der)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47706 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(956)Tj -/T1_1 1 Tf -3.5 0 Td -(Index)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(add_worker)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(814,)-250(824, 828)]TJ --5.067 -1.25 Td -[(de\336nition of,)-500(828)]TJ --1.35 -1.25 Td -[(adjustment on exit, semaphor)18(e, )-250(570)]TJ -15.912 0.09 Td -(\320)Tj -0.583 -0.09 Td -(571)Tj --16.495 -1.25 Td -[(Adobe Systems,)-500(825, 947)]TJ -0 -1.25 TD -[(advisory r)18(ecor)]TJ -0.25 Tc 6.361 0 Td -(dl)Tj -0 Tc 1.152 0 Td -[(ocking, )-250(495)]TJ --7.513 -1.25 Td -[(AES \(Application Envir)18(onment Speci\336cation\),)-500(32)]TJ -/TT0 1 Tf -T* -(AEXPND)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(271)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(AF_INET)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(590)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(591, 595)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(596, 598, 601,)Tj --12.73 -1.25 Td -(603)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(604, 802, 808)Tj -/TT0 1 Tf --4.866 -1.25 Td -(AF_INET6)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(590,)-250(595)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(596, 601)Tj -/TT0 1 Tf --13.863 -1.25 Td -(AF_IPX)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(590)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(AF_LOCAL)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(590)]TJ -/TT0 1 Tf --5.217 -1.25 Td -(AFORK)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(270)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(271, 273)Tj -/TT0 1 Tf --10.063 -1.25 Td -(AF_UNIX)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(590,)-250(601, 630, 632, 635, 637,)]TJ --1.917 -1.25 Td -(640)Tj -1.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(641, 941)Tj -/TT0 1 Tf --4.866 -1.25 Td -(AF_UNSPEC)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(590,)-250(601)]TJ -/TT0 1 Tf --5.817 -1.25 Td -(agetty)Tj -/T1_1 1 Tf -4.017 0 Td -[(pr)18(ogram, )-250(290)]TJ --4.017 -1.25 Td -[(Aho, A. V)129(., )-250(262,)-250(947)]TJ -/TT0 1 Tf -T* -(AI_ALL)Tj -/T1_1 1 Tf -4.017 0 Td -[(constant, )-250(603)]TJ -/TT0 1 Tf --4.017 -1.25 Td -(AI_CANONNAME)Tj -/T1_1 1 Tf -7.617 0 Td -[(constant, )-250(603,)-250(616, 618, 623, 802)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(AI_NUMERICHOST)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(603)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(AI_NUMERICSERV)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(603)]TJ -/TT0 1 Tf --8.817 -1.25 Td -(aio_cancel)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(514)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(515)Tj --11.69 -1.25 Td -[(de\336nition of,)-500(514)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(aiocb)Tj -/T1_1 1 Tf -3.417 0 Td -[(str)8(uctur)18(e, )-250(51)55(1, 517)]TJ -8.247 0.09 Td -(\320)Tj -0.583 -0.09 Td -(518)Tj -/TT0 1 Tf --12.247 -1.25 Td -(aio_error)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(331,)-250(513, 515, 519)]TJ -12.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(520)Tj --17.09 -1.25 Td -[(de\336nition of,)-500(513)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(aio_fsync)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(512)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(513, 520)Tj --11.09 -1.25 Td -[(de\336nition of,)-500(513)]TJ -/TT0 1 Tf --1.35 -1.25 Td -()Tj -/T1_1 1 Tf -4.617 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9)Tj -/TT0 1 Tf --8.839 -1.25 Td -(AIO_LISTIO_MAX)Tj -/T1_1 1 Tf -8.817 0 Td -[(constant, )-250(515)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(516)Tj -/TT0 1 Tf --15.463 -1.25 Td -(AIO_MAX)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(515)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(516)Tj -/TT0 1 Tf --11.263 -1.25 Td -(AIO_PRIO_DELTA_MAX)Tj -/T1_1 1 Tf -11.217 0 Td -[(constant, )-250(515)]TJ -6.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(516)Tj -/TT0 1 Tf --17.863 -1.25 Td -(aio_read)Tj -/T1_1 1 Tf -5.217 0 Td -[(function, )-250(512)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(513, 515, 518)Tj --10.49 -1.25 Td -[(de\336nition of,)-500(512)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(aio_return)Tj -/T1_1 1 Tf -6.417 0 Td -[(function, )-250(331,)-250(513, 519)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(520)Tj --15.69 -1.25 Td -[(de\336nition of,)-500(513)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(aio_suspend)Tj -/T1_1 1 Tf -7.017 0 Td -[(function, )-250(331,)-250(451, 514, 520)]TJ --5.667 -1.25 Td -[(de\336nition of,)-500(514)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(aio_write)Tj -/T1_1 1 Tf -5.817 0 Td -[(function, )-250(512)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(513, 515, 519)Tj --11.09 -1.25 Td -[(de\336nition of,)-500(512)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(AI_PASSIVE)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(603)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(AI_V4MAPPED)Tj -/T1_1 1 Tf -7.017 0 Td -[(constant, )-250(600,)-250(603)]TJ --7.017 -1.25 Td -[(AIX, )-250(35,)-250(334)]TJ -/TT0 1 Tf -T* -(alarm)Tj -/T1_1 1 Tf -3.417 0 Td -[(function, )-250(313,)-250(317, 331)]TJ -10.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(332, 335, 338)Tj -5.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(343,)Tj --17.507 -1.25 Td -(357, 373)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(374, 381)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(382, 620)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(621, 924)Tj --13.85 -1.25 Td -[(de\336nition of,)-500(338)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(alloca)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(210)]TJ --4.017 -1.25 Td -[(Almquist, K.,)-500(4)]TJ -/TT0 1 Tf -T* -(already_running)Tj -/T1_1 1 Tf -9.417 0 Td -[(function, )-250(475)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(478)Tj --14.69 -1.25 Td -[(de\336nition of,)-500(474)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(ALTWERASE)Tj -/T1_1 1 Tf -5.817 0 Td -[(constant, )-250(676,)-250(682, 685)]TJ --5.817 -1.25 Td -[(American National Standar)18(ds Institute,)]TJ -/T1_2 1 Tf -17.869 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(ANSI)Tj -6.714 65 Td -[(Andrade, J. M.,)-500(560, 947)]TJ -T* -[(ANSI \(American National Standar)18(ds Institute\),)-500(25)]TJ -T* -[(ANSI C,)-500(xxx\320xxxi)]TJ -T* -(Apple Computer)Tj -0.5 Tc 7.468 0 Td -(,x)Tj -0 Tc 1.266 0 Td -(xi, xxvi)Tj --8.734 -1.25 Td -[(Application Envir)18(onment Speci\336cation,)]TJ -/T1_2 1 Tf -17.959 0 Td -(see)Tj -/T1_1 1 Tf -1.417 0 Td -(AES)Tj -/TT0 1 Tf --19.376 -1.25 Td -(apue_db.h)Tj -/T1_1 1 Tf -5.817 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,7)Tj -0 Tc 1.25 0 Td -(45, 753, 757, 761)Tj -/TT0 1 Tf --10.039 -1.25 Td -(apue.h)Tj -/T1_1 1 Tf -4.017 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,7)Tj -0.25 Tc 1.25 0 Td -(,9)Tj -0 Tc 1.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(10, 247, 324, 489)Tj -7.083 0.09 Td -(\320)Tj -0.583 -0.09 Td -(490, 635,)Tj --14.872 -1.25 Td -(755, 895)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(898)Tj --6.866 -1.25 Td -[(Ar)18(chitectur)18(e, UNIX,)-500(1)]TJ -9.952 0.09 Td -(\320)Tj -0.583 -0.09 Td -(2)Tj -/TT0 1 Tf --10.536 -1.25 Td -(argc)Tj -/T1_1 1 Tf -2.817 0 Td -[(variable, )-250(815)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(ARG_MAX)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(40,)-250(43, 47, 49, 251)]TJ --4.617 -1.25 Td -[(ar)18(guments, command)]TJ -9.679 0.09 Td -(-)Tj -0.333 -0.09 Td -[(line, )-250(203)]TJ -/TT0 1 Tf --10.012 -1.25 Td -(argv)Tj -/T1_1 1 Tf -2.817 0 Td -[(variable, )-250(663)]TJ --2.817 -1.25 Td -[(Arnold J. Q.,)-500(206, 947)]TJ -/TT0 1 Tf -T* -()Tj -/T1_1 1 Tf -8.217 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(9, 594)Tj -/TT0 1 Tf --12.439 -1.25 Td -(asctime)Tj -/T1_1 1 Tf -4.617 0 Td -[(function, )-250(192)]TJ -/TT0 1 Tf --4.617 -1.25 Td -()Tj -/T1_1 1 Tf -6.417 0 Td -(header)Tj -0.5 Tc 2.972 0 Td -(,2)Tj -0 Tc 1.25 0 Td -(7)Tj --10.639 -1.25 Td -(assignment-allocation character)Tj -0.5 Tc 13.938 0 Td -(,1)Tj -0 Tc 1.25 0 Td -(62)Tj -/TT0 1 Tf --15.188 -1.25 Td -(ASU)Tj -/T1_1 1 Tf -2.217 0 Td -[(constant, )-250(271,)-250(273)]TJ --2.217 -1.25 Td -[(asynchr)18(onous I/O,)-500(501, 509)]TJ -12.478 0.09 Td -(\320)Tj -0.583 -0.09 Td -(520)Tj --13.062 -1.25 Td -[(asynchr)18(onous socket I/O,)-500(627)]TJ -T* -[(async-signal safe,)-500(330, 446, 450, 457, 461)]TJ -17.802 0.09 Td -(\320)Tj -0.583 -0.09 Td -(462, 927)Tj -/TT0 1 Tf --18.385 -1.25 Td -(at)Tj -/T1_1 1 Tf -1.617 0 Td -[(pr)18(ogram, )-250(259,)-250(472)]TJ -/TT0 1 Tf --1.617 -1.25 Td -(atd)Tj -/T1_1 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(259,)-250(465)]TJ -/TT0 1 Tf --2.217 -1.25 Td -(AT_EACCESS)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(103)]TJ -/TT0 1 Tf --6.417 -1.25 Td -(atexit)Tj -/T1_1 1 Tf -4.017 0 Td -[(function, )-250(40)]TJ -5.54 0.09 Td -(\320)Tj -0.583 -0.09 Td -(41, 43, 200, 202, 226, 236,)Tj --7.44 -1.25 Td -(394, 731, 920)Tj --1.35 -1.25 Td -[(de\336nition of,)-500(200)]TJ -/TT0 1 Tf --1.35 -1.25 Td -(ATEXIT_MAX)Tj -/T1_1 1 Tf -6.417 0 Td -[(constant, )-250(40)]TJ -5.563 0.09 Td -(\320)Tj -0.583 -0.09 Td -(41, 43, 49, 52)Tj -/TT0 1 Tf --12.563 -1.25 Td -(AT_FDCWD)Tj -/T1_1 1 Tf -5.217 0 Td -[(constant, )-250(65,)-250(94, 102, 106, 1)55(10, 1)55(16)]TJ -14.953 0.09 Td -(\320)Tj --0.055 Tc 0.583 -0.09 Td -(11)Tj -0 Tc 0.945 0 Td -(7,)Tj --18.998 -1.25 Td -(120, 123)Tj -3.583 0.09 Td -(\320)Tj -0.583 -0.09 Td -(124, 127, 129, 553)Tj -/TT0 1 Tf --6.866 -1.25 Td -(atoi)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(766,)-250(839)]TJ -8.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(840)Tj -/TT0 1 Tf --11.44 -1.25 Td -(atol)Tj -/T1_1 1 Tf -2.817 0 Td -[(function, )-250(765)]TJ -6.04 0.09 Td -(\320)Tj -0.583 -0.09 Td -(767, 818, 823)Tj --9.44 -1.25 Td -[(atomic operation,)-500(39, 44, 59, 63, 77)]TJ -15.339 0.09 Td -(\320)Tj -0.583 -0.09 Td -[(79, 81, 1)55(16, 149,)]TJ --13.223 -1.25 Td -(359, 365, 488, 553, 566, 568, 570, 945)Tj -/TT0 1 Tf --2.7 -1.25 Td -(AT_REMOVEDIR)Tj -/T1_1 1 Tf -7.617 0 Td -[(constant, )-250(1)55(17)]TJ -/TT0 1 Tf --7.617 -1.25 Td -(AT_SYMLINK_FOLLOW)Tj -/T1_1 1 Tf -10.617 0 Td -[(constant, )-250(1)55(16)]TJ -/TT0 1 Tf --10.617 -1.25 Td -(AT_SYMLINK_NOFOLLOW)Tj -/T1_1 1 Tf -11.817 0 Td -[(constant, )-250(94,)-250(106, 1)55(10,)]TJ --9.117 -1.25 Td -(127)Tj --0.074 Tc -2.7 -1.25 Td -(AT)Tj -0 Tc 1.317 0 Td -(&T)Tj -0.5 Tc 1.317 0 Td -(,x)Tj -0 Tc 1.266 0 Td -(ix, 6, 33, 174, 336, 507, 948)Tj --3.9 -1.25 Td -[(automatic variables,)-500(205, 215, 217, 219, 226)]TJ -T* -[(avoidance, deadlock,)-500(402)]TJ -11.389 0.09 Td -(\320)Tj -0.583 -0.09 Td -(407)Tj -/TT0 1 Tf --11.973 -1.25 Td -(awk)Tj -/T1_1 1 Tf -2.217 0 Td -[(pr)18(ogram, )-250(44,)-250(46, 262)]TJ -9.191 0.09 Td -(\320)Tj -0.583 -0.09 Td -(264, 552, 950)Tj -/TT0 1 Tf --11.991 -1.25 Td -(AXSIG)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(271,)-250(273)]TJ -8.063 0.09 Td -(\320)Tj -0.583 -0.09 Td -(274)Tj -/TT0 1 Tf --12.063 -4.75 Td -(B0)Tj -/T1_1 1 Tf -1.617 0 Td -[(constant, )-250(692)]TJ -/TT0 1 Tf --1.617 -1.25 Td -(B110)Tj -/T1_1 1 Tf -2.817 0 Td -[(constant, )-250(692)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(B115200)Tj -/T1_1 1 Tf -4.617 0 Td -[(constant, )-250(692)]TJ -/TT0 1 Tf --4.617 -1.25 Td -(B1200)Tj -/T1_1 1 Tf -3.417 0 Td -[(constant, )-250(692)]TJ -/TT0 1 Tf --3.417 -1.25 Td -(B134)Tj -/T1_1 1 Tf -2.817 0 Td -[(constant, )-250(692)]TJ -/TT0 1 Tf --2.817 -1.25 Td -(B150)Tj -/T1_1 1 Tf -2.817 0 Td -[(constant, )-250(692)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47707 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(46)Tj -/T1_1 1 Tf -3 0 Td -[(UNIX )-250(Standar)18(dization )-250(and )-250(Implementations)]TJ -39.741 0 Td -[(Chapter )-250(2)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(printf\("\\t\\t}\\n"\))Tj -0 -1.189 TD -(printf\("\\t} else {\\n"\))Tj -T* -(printf\("\\t\\tprintf\(\\" %%ld\\\\n\\", val\);\\n"\))Tj -T* -(printf\("\\t}\\n"\))Tj -T* -(printf\("}\\n\\n"\))Tj -0 -1.189 TD -(printf\("static void\\n"\))Tj -0 -1.189 TD -(printf\("pr_pathconf\(char *mesg, char *path, int name\)\\n"\))Tj -T* -(printf\("{\\n"\))Tj -T* -[(printf\("\\tlong )-600(val;\\n"\))]TJ -T* -(printf\("\\n"\))Tj -T* -(printf\("\\tfputs\(mesg, stdout\);\\n"\))Tj -T* -(printf\("\\terrno = 0;\\n"\))Tj -T* -(printf\("\\tif \(\(val = pathconf\(path, name\)\) < 0\) {\\n"\))Tj -T* -(printf\("\\t\\tif \(errno != 0\) {\\n"\))Tj -0 -1.189 TD -(printf\("\\t\\t\\tif \(errno == EINVAL\)\\n"\))Tj -0 -1.189 TD -(printf\("\\t\\t\\t\\tfputs\(\\" \(not supported\)\\\\n\\", stdout\);\\n"\ \))Tj -T* -(printf\("\\t\\t\\telse\\n"\))Tj -T* -(printf\("\\t\\t\\t\\terr_sys\(\\"pathconf error, path = %%s\\", path\);\\\ n"\))Tj -T* -(printf\("\\t\\t} else {\\n"\))Tj -T* -(printf\("\\t\\t\\tfputs\(\\" \(no limit\)\\\\n\\", stdout\);\\n"\))Tj -T* -(printf\("\\t\\t}\\n"\))Tj -T* -(printf\("\\t} else {\\n"\))Tj -T* -(printf\("\\t\\tprintf\(\\" %%ld\\\\n\\", val\);\\n"\))Tj -0 -1.189 TD -(printf\("\\t}\\n"\))Tj -0 -1.189 TD -(printf\("}\\n"\))Tj --2.4 -1.189 Td -(})Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 3980.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.999 0 0 7.999 197.0324 381.9532 Tm -(Figure 2.13)Tj -/T1_1 1 Tf -5.695 0 Td -[(Build C pr)18(ogram to print all supported con\336guration limits)]TJ -9.9988 0 0 9.9988 147.5825 357.956 Tm -(The)Tj -/TT0 1 Tf -1.967 0 Td -(awk)Tj -/T1_1 1 Tf -2.093 0 Td -[(pr)18(ogram )-43(r)18(eads )-43(two )-43(input )-43(\336les\321)]TJ -/TT0 1 Tf -14.328 0 Td -(pathconf.sym)Tj -/T1_1 1 Tf -7.493 0 Td -(and)Tj -/TT0 1 Tf -1.986 0 Td -(sysconf.sym)Tj -/T1_1 1 Tf -(\321that)Tj --29.666 -1.2 Td -[(contain )-208(lists )-208(of )-208(the )-208(limit )-208(name )-208(and )-208(symbol, )-208(separated )-208(by )-208(tabs.)-708(All )-208(symbols )-208(ar)]TJ -0.4579 Tc 36.609 0 Td -(en)Tj -0 Tc 1.519 0 Td -(ot)Tj --38.128 -1.2 Td -[(de\336ned )-91(on )-91(every )-91(platform, )-91(so )-91(the)]TJ -/TT0 1 Tf -15.495 0 Td -(awk)Tj -/T1_1 1 Tf -2.141 0 Td -[(pr)18(ogram )-91(surr)18(ounds )-91(each )-91(call )-91(to)]TJ -/TT0 1 Tf -14.53 0 Td -(pathconf)Tj -/T1_1 1 Tf -5.141 0 Td -(and)Tj -/TT0 1 Tf --37.307 -1.2 Td -(sysconf)Tj -/T1_1 1 Tf -4.45 0 Td -(with the necessary)Tj -/TT0 1 Tf -8.453 0 Td -(#ifdef)Tj -/T1_1 1 Tf -3.85 0 Td -(statements.)Tj --14.953 -1.2 Td -(For example, the)Tj -/TT0 1 Tf -7.633 0 Td -(awk)Tj -/T1_1 1 Tf -2.05 0 Td -[(pr)18(ogram transforms a line in the input \336le that looks like)]TJ -/TT0 1 Tf -8.9989 0 0 8.9989 147.5824 293.2642 Tm -[(NAME_MAX )-2933(_PC_NAME_MAX)]TJ -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5845 275.2664 Tm -(into the following C code:)Tj -/TT0 1 Tf -8.9989 0 0 8.9989 147.5824 258.5684 Tm -(#ifdef NAME_MAX)Tj -2.778 -1.189 Td -(printf\("NAME_MAX is defined to be %d\\n", NAME_MAX+0\);)Tj --2.778 -1.189 Td -(#else)Tj -2.778 -1.189 Td -(printf\("no symbol for NAME_MAX\\n"\);)Tj --2.778 -1.189 Td -(#endif)Tj -0 -1.189 TD -(#ifdef _PC_NAME_MAX)Tj -2.778 -1.189 Td -(pr_pathconf\("NAME_MAX =", argv[1], _PC_NAME_MAX\);)Tj --2.778 -1.189 Td -(#else)Tj -2.778 -1.189 Td -(printf\("no symbol for _PC_NAME_MAX\\n"\);)Tj --2.778 -1.189 Td -(#endif)Tj -/T1_1 1 Tf -9.9988 0 0 9.9988 129.5845 144.2821 Tm -[(The )-225(pr)18(ogram )-225(in )-225(Figur)]TJ -0.475 Tc 10.213 0 Td -(e2)Tj -0 Tc 1.454 0 Td -[(.14, )-225(generated )-225(by )-225(the)]TJ -/TT0 1 Tf -10.303 0 Td -(awk)Tj -/T1_1 1 Tf -2.275 0 Td -[(pr)18(ogram, )-225(prints )-225(all )-225(these )-225(limits,)]TJ --24.245 -1.2 Td -(handling the case in which a limit is not de\336ned.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47708 0 obj <>stream -q -/Fm0 Do -Q -BT -/CS0 cs 0 0 0 scn -/GS0 gs -/TT0 1 Tf -0.0002 Tc -0.0002 Tw 12 0 0 12 218.4731 545.9739 Tm -(This page intentionally left blank )Tj -ET -q -1 0 0 1 47.58 40.02 cm -0 g -/GS1 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47709 0 obj <> endobj 47710 0 obj <>stream -q -/Fm0 Do -Q -BT -/CS0 cs 0 0 0 scn -/GS0 gs -/TT0 1 Tf -0.0002 Tc -0.0002 Tw 12 0 0 12 218.4731 545.9739 Tm -(This page intentionally left blank )Tj -ET -q -1 0 0 1 47.58 40.02 cm -0 g -/GS1 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47711 0 obj <> endobj 47712 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(938)Tj -/T1_1 1 Tf -3.5 0 Td -[(Solutions )-250(to )-250(Selected )-250(Exer)18(cises )]TJ -38.165 0 Td -[(Appendix)-500(C)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 160.2404 668.9599 Tm -[(Instead, )-43(when )-43(a )-43(linked )-43(list )-43(is )-43(built )-43(in )-43(a )-43(shar)18(ed )-43(memory )-43(segment, )-43(the )-43(list )-43(pointers)]TJ -0 -1.2 TD -[(should )-6(be )-6(stor)18(ed )-6(as )-6(of)19(fsets )-6(to )-6(other )-6(objects )-6(in )-6(the )-6(shar)18(ed )-6(memory )-6(segment.)-504(These)]TJ -T* -[(of)18(fsets )-97(ar)]TJ -0.3475 Tc 4.072 0 Td -(ef)Tj -0 Tc 1.159 0 Td -[(ormed )-97(by )-97(subtracting )-97(the )-97(start )-97(of )-97(the )-97(shar)18(ed )-97(memory )-97(segment )-97(fr)14(om)]TJ --5.231 -1.2 Td -[(the actual addr)18(ess of the object.)]TJ -/T1_0 1 Tf --3.065 -1.84 Td -(15.14)Tj -/T1_1 1 Tf -3.065 0 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(eC)Tj -0 Tc 1.438 0 Td -[(.21 shows the r)18(elevant events.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1917.25 6006.25 cm -0 0 m -2964 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 195.7295 592.5289 Tm -[(Par)18(ent)]TJ -/TT0 1 Tf -3.118 0 Td -(i)Tj -/T1_1 1 Tf -2.1 0 Td -(Child)Tj -/TT0 1 Tf -2.734 0 Td -(i)Tj -/T1_1 1 Tf -2.1 0 Td -[(Shar)18(ed value)]TJ -/TT0 1 Tf -7.262 0 Td -(update)Tj -/T1_1 1 Tf --16.631 -1.25 Td -[(set to)-2675(set to)-3697(set to)]TJ --0.018 Tc 16.837 0 Td -(re)Tj -0 Tc 0.856 0 Td -(turns)Tj -8.648 0.625 Td -(Comment)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1917.25 5786.25 cm -0 0 m -2964 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1917.25 5766.25 cm -0 0 m -2964 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.231 Tc 7.9986 0 0 7.9986 297.1635 568.4977 Tm -(0i)Tj -0 Tc 10.022 0 Td -(nitialized by)Tj -/TT0 1 Tf -5.771 0 Td -(mmap)Tj -/T1_1 1 Tf -15.279 Tc -21.841 -1.25 Td -(1c)Tj -0 Tc 16.223 0 Td -[(hild r)8(uns \336rst, then is blocked)]TJ -20.305 Tc -21.249 -1.25 Td -(0p)Tj -0 Tc 21.406 0 Td -[(ar)18(ent r)8(uns)]TJ --10.332 -1.25 Td -(1)Tj -3.05 Tc 6.181 -1.25 Td -(0t)Tj -0 Tc 3.876 0 Td -[(hen par)18(ent is blocked)]TJ -9.231 Tc -10.057 -1.25 Td -(2c)Tj -0 Tc 10.175 0 Td -[(hild r)18(esumes)]TJ --3.994 -1.25 Td -(1)Tj -15.279 Tc -12.229 -1.25 Td -(3t)Tj -0 Tc 16.105 0 Td -(hen child is blocked)Tj -20.305 Tc -21.131 -1.25 Td -(2p)Tj -0 Tc 21.406 0 Td -[(ar)18(ent r)18(esumes)]TJ --10.332 -1.25 Td -(3)Tj -3.05 Tc 6.181 -1.25 Td -(2t)Tj -0 Tc 3.876 0 Td -[(hen par)18(ent is blocked)]TJ --10.057 -1.25 Td -(4)Tj -6.181 -1.25 Td -(3)Tj -15.279 Tc -12.229 -1.25 Td -(5t)Tj -0 Tc 16.105 0 Td -(hen child is blocked)Tj -20.305 Tc -21.131 -1.25 Td -(4p)Tj -0 Tc 21.406 0 Td -[(ar)18(ent r)18(esumes)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1917.25 4246.25 cm -0 0 m -2964 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3690.25 4246.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3282.25 4246.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2701.25 4246.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2315.25 4246.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4881.25 4246.25 cm -0 0 m -0 1760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1917.25 4246.25 cm -0 0 m -0 1760 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 222.8435 406.5024 Tm -(Figure C.21)Tj -/T1_1 1 Tf -5.917 0 Td -[(Alternation between par)18(ent and child in Figur)]TJ -0.25 Tc 20.361 0 Td -(e1)Tj -0 Tc 1.229 0 Td -(5.33)Tj -/TT1 1 Tf -9.9976 0 0 9.9976 93.5774 372.9105 Tm -[(Chapter )-278(16)]TJ -/T1_0 1 Tf -3.6 -2.56 Td -(16.1)Tj -/T1_1 1 Tf -3.065 0 Td -(Figur)Tj -0.25 Tc 2.383 0 Td -(eC)Tj -0 Tc 1.438 0 Td -[(.22 shows a pr)18(ogram that prints the system\325s byte or)18(der)74(.)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 3402.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 3402.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9973 0 0 8.9973 160.2019 330.5998 Tm -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.189 TD -(#include )Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(void\))Tj -T* -({)Tj -2.4 -1.189 Td -[(uint32_t )-4200(i)]TJ -0.6 Tc 10.8 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(x04030201;)Tj --12.6 -1.189 Td -[(unsigned char)-1800(*cp = \(unsigned char *\)&i;)]TJ -0 -1.783 TD -(if \(*cp == 1\))Tj -2.4 -1.189 Td -(printf\("little-endian\\n"\);)Tj --2.4 -1.189 Td -(else if \(*cp == 4\))Tj -2.4 -1.189 Td -(printf\("big-endian\\n"\);)Tj --2.4 -1.189 Td -(else)Tj -2.4 -1.189 Td -(printf\("who knows?\\n"\);)Tj --2.4 -1.189 Td -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1602.25 1547.25 cm -0 0 m -50 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1646.25 1547.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 259.2437 141.0472 Tm -(Figure C.22)Tj -/T1_1 1 Tf -5.917 0 Td -[(Determine byte or)18(der on system)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47713 0 obj <>stream -q -/Fm0 Do -Q -BT -/CS0 cs 0 0 0 scn -/GS0 gs -/TT0 1 Tf -0.0002 Tc -0.0002 Tw 12 0 0 12 218.4731 545.9739 Tm -(This page intentionally left blank )Tj -ET -q -1 0 0 1 47.58 40.02 cm -0 g -/GS1 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47714 0 obj <> endobj 47715 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(892)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(vsscanf)Tj -/TT0 1 Tf -(\(const char *restrict)Tj -/T1_2 1 Tf -17.4 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.097 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -(,)Tj --27.697 -1.25 Td -(va_list)Tj -/T1_2 1 Tf -4.8 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj --2.1 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 163)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_1 1 Tf -0 -1.5 TD -(Returns: number of input items assigned,)Tj -/TT0 1 Tf -18.524 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(if input err)18(or)]TJ --16.597 -1.25 Td -(or end of \336le befor)Tj -0.25 Tc 8.155 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ny conversion)Tj -/TT0 1 Tf --26.861 -3.125 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(vsyslog)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(priority)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.911 0 Td -(onst char *)Tj -/T1_2 1 Tf -(format)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 11.066 0 Td -(a_list)Tj -/T1_2 1 Tf -4.2 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj --19.877 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 472)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_1 1 Tf -T* -[(Platforms: Fr)18(eeBSD 8.0, Linux 3.2.0, Mac OS X 10.6.8, Solaris 10)]TJ -/TT0 1 Tf --13.5 -3.125 Td -(pid_t)Tj -/TT1 1 Tf -6 0 Td -(wait)Tj -/TT0 1 Tf -(\(int *)Tj -/T1_2 1 Tf -(statloc)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 238)Tj --28.125 -1.5 Td -[(Returns: pr)18(ocess ID if OK, 0, or)]TJ -/TT2 1 Tf -13.96 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --27.46 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(waitid)Tj -/TT0 1 Tf -(\(idtype_t)Tj -/T1_2 1 Tf -9.6 0 Td -(idtype)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.3 0 Td -(d_t)Tj -/T1_2 1 Tf -2.4 0 Td -(id)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 2.578 0 Td -(iginfo_t *)Tj -/T1_2 1 Tf -(infop)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 9.856 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(options)Tj -/TT0 1 Tf -(\);)Tj --23.034 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 244)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(idtype)Tj -/TT0 1 Tf -0.6 Tc (:P)Tj -0 Tc 4.3 0 Td -(_PID, P_PGID, P_ALL)Tj -/T1_2 1 Tf --4.3 -1.5 Td -(options)Tj -/TT0 1 Tf -0.6 Tc (:W)Tj -0 Tc 4.744 0 Td -(CONTINUED, WEXITED, WNOHANG, WNOWAIT,)Tj --0.6 -1.25 Td -(WSTOPPED)Tj -/T1_1 1 Tf --4.144 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ --7.613 -1.5 Td -(Platforms: Linux 3.2.0, Solaris 10)Tj -/TT0 1 Tf --13.5 -3.125 Td -(pid_t)Tj -/TT1 1 Tf -6 0 Td -(waitpid)Tj -/TT0 1 Tf -(\(pid_t)Tj -/T1_2 1 Tf -8.4 0 Td -(pid)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.078 0 Td -(nt *)Tj -/T1_2 1 Tf -(statloc)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 6.828 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(options)Tj -/TT0 1 Tf -(\);)Tj --12.606 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 238)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(options)Tj -/TT0 1 Tf -0.6 Tc (:W)Tj -0 Tc 4.744 0 Td -(CONTINUED, WNOHANG, WUNTRACED)Tj -/T1_1 1 Tf --4.744 -1.5 Td -[(Returns: pr)18(ocess ID if OK, 0, or)]TJ -/TT2 1 Tf -13.96 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --27.46 -3.125 Td -(pid_t)Tj -/TT1 1 Tf -6 0 Td -(wait3)Tj -/TT0 1 Tf -(\(int *)Tj -/T1_2 1 Tf -(statloc)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 11.028 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(options)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.744 0 Td -(truct rusage *)Tj -/T1_2 1 Tf -(rusage)Tj -/TT0 1 Tf -(\);)Tj --10.072 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 245)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -0 -1.25 TD -()Tj -T* -()Tj -/T1_2 1 Tf -0 -1.5 TD -(options)Tj -/TT0 1 Tf -0.6 Tc (:W)Tj -0 Tc 4.744 0 Td -(NOHANG, WUNTRACED)Tj -/T1_1 1 Tf --4.744 -1.5 Td -[(Returns: pr)18(ocess ID if OK, 0, or)]TJ -/TT2 1 Tf -13.96 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ --13.96 -1.5 Td -[(Platforms: Fr)18(eeBSD 8.0, Linux 3.2.0, Mac OS X 10.6.8, Solaris 10)]TJ -/TT0 1 Tf --13.5 -3.125 Td -(pid_t)Tj -/TT1 1 Tf -6 0 Td -(wait4)Tj -/TT0 1 Tf -(\(pid_t)Tj -/T1_2 1 Tf -7.2 0 Td -(pid)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.078 0 Td -(nt *)Tj -/T1_2 1 Tf -(statloc)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 6.828 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(options)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.744 0 Td -(truct rusage *)Tj -/T1_2 1 Tf -(rusage)Tj -/TT0 1 Tf -(\);)Tj --16.15 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 245)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -0 -1.25 TD -()Tj -T* -()Tj -/T1_2 1 Tf -0 -1.5 TD -(options)Tj -/TT0 1 Tf -0.6 Tc (:W)Tj -0 Tc 4.744 0 Td -(NOHANG, WUNTRACED)Tj -/T1_1 1 Tf --4.744 -1.5 Td -[(Returns: pr)18(ocess ID if OK, 0, or)]TJ -/TT2 1 Tf -13.96 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ --13.96 -1.5 Td -[(Platforms: Fr)18(eeBSD 8.0, Linux 3.2.0, Mac OS X 10.6.8, Solaris 10)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47716 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(891)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(vdprintf)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.466 0 Td -(a_list)Tj -/T1_2 1 Tf -4.2 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj --23.544 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 161)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_0 1 Tf -0 -1.5 TD -(Returns: number of characters output if OK, negative)Tj -3.977 -1.25 Td -[(value if output err)18(or)]TJ -/TT0 1 Tf --17.477 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(vfprintf)Tj -/TT0 1 Tf -(\(FILE *restrict)Tj -/T1_2 1 Tf -14.4 0 Td -(fp)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -(,)Tj --23.578 -1.25 Td -(va_list)Tj -/T1_2 1 Tf -4.8 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj --2.7 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 161)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_0 1 Tf -T* -(Returns: number of characters output if OK, negative)Tj -3.977 -1.25 Td -[(value if output err)18(or)]TJ -/TT0 1 Tf --17.477 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(vfscanf)Tj -/TT0 1 Tf -(\(FILE *restrict)Tj -/T1_2 1 Tf -13.8 0 Td -(fp)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -(,)Tj --23.578 -1.25 Td -(va_list)Tj -/T1_2 1 Tf -4.8 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj --2.1 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 163)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_0 1 Tf -T* -(Returns: number of input items assigned,)Tj -/TT0 1 Tf -18.524 0 Td -(EOF)Tj -/T1_0 1 Tf -2.05 0 Td -[(if input err)18(or)]TJ --16.597 -1.25 Td -(or end of \336le befor)Tj -0.25 Tc 8.155 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ny conversion)Tj -/TT0 1 Tf --26.861 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(vprintf)Tj -/TT0 1 Tf -(\(const char *restrict)Tj -/T1_2 1 Tf -17.4 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.466 0 Td -(a_list)Tj -/T1_2 1 Tf -4.2 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj --18.566 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 161)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_0 1 Tf -T* -(Returns: number of characters output if OK, negative)Tj -3.977 -1.25 Td -[(value if output err)18(or)]TJ -/TT0 1 Tf --17.477 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(vscanf)Tj -/TT0 1 Tf -(\(const char *restrict)Tj -/T1_2 1 Tf -16.8 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.466 0 Td -(a_list)Tj -/T1_2 1 Tf -4.2 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj --17.966 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 163)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_0 1 Tf -T* -(Returns: number of input items assigned,)Tj -/TT0 1 Tf -18.524 0 Td -(EOF)Tj -/T1_0 1 Tf -2.05 0 Td -[(if input err)18(or)]TJ --16.597 -1.25 Td -(or end of \336le befor)Tj -0.25 Tc 8.155 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ny conversion)Tj -/TT0 1 Tf --26.861 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(vsnprintf)Tj -/TT0 1 Tf -(\(char *restrict)Tj -/T1_2 1 Tf -15 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(n)Tj -/TT0 1 Tf -(,)Tj --15.697 -1.25 Td -(const char *restrict)Tj -/T1_2 1 Tf -12.6 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.466 0 Td -(a_list)Tj -/T1_2 1 Tf -4.2 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj --19.766 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 161)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_0 1 Tf -T* -[(Returns: number of characters that would have been stor)18(ed)]TJ -3.977 -1.25 Td -[(in array if buf)18(fer was lar)18(ge enough, negative value)]TJ -0 -1.25 TD -[(if encoding err)18(or)]TJ -/TT0 1 Tf --17.477 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(vsprintf)Tj -/TT0 1 Tf -(\(char *restrict)Tj -/T1_2 1 Tf -14.4 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.097 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -(,)Tj --24.097 -1.25 Td -(va_list)Tj -/T1_2 1 Tf -4.8 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj --2.7 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 161)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_0 1 Tf -0 -1.5 TD -[(Returns: number of characters stor)18(ed in array if OK, negative)]TJ -3.977 -1.25 Td -[(value if encoding err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47717 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(890)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(truncate)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,o)Tj -0 Tc 16.177 0 Td -(ff_t)Tj -/T1_2 1 Tf -3 0 Td -(length)Tj -/TT0 1 Tf -(\);)Tj --11.677 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -[(p. 1)55(12)]TJ --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -[(char )-2400(*)]TJ -/TT1 1 Tf -(ttyname)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -13.2 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -0.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 695)Tj --28.125 -1.5 Td -(Returns: pointer to pathname of terminal,)Tj -/TT0 1 Tf -18.648 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --34.798 -2.875 Td -(mode_t)Tj -/TT1 1 Tf -6 0 Td -(umask)Tj -/TT0 1 Tf -(\(mode_t)Tj -/T1_2 1 Tf -7.8 0 Td -(cmask)Tj -/TT0 1 Tf -(\);)Tj --0.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 104)Tj --28.125 -1.5 Td -[(Returns: pr)18(evious \336le mode cr)18(eation mask)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(uname)Tj -/TT0 1 Tf -(\(struct utsname *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 187)Tj --28.125 -1.5 Td -(Returns: non-negative value if OK,)Tj -/TT2 1 Tf -15.622 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --29.122 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(ungetc)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(c)Tj -/TT0 1 Tf -0.6 Tc (,F)Tj -0 Tc 2.207 0 Td -(ILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj --1.307 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 151)Tj --28.125 -1.5 Td -(Returns:)Tj -/T1_2 1 Tf -3.977 0 Td -(c)Tj -/T1_1 1 Tf -0.657 0 Td -(if OK,)Tj -/TT0 1 Tf -2.886 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --23.07 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(unlink)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -[(p. 1)55(17)]TJ --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(unlinkat)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 10.177 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj --14.855 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -[(p. 1)55(17)]TJ -/T1_2 1 Tf --28.125 -1.5 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (:A)Tj -0 Tc 3.289 0 Td -(T_REMOVEDIR)Tj -/T1_1 1 Tf --3.289 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(unlockpt)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj --0.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 723)Tj --28.125 -1.5 Td -(Returns: 0 on success,)Tj -/TT2 1 Tf -9.847 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --23.347 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(unsetenv)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 212)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(utimensat)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -(,)Tj --4.978 -1.25 Td -(const struct timespec)Tj -/T1_2 1 Tf -13.2 0 Td -(times)Tj -/TT0 1 Tf -([2], int)Tj -/T1_2 1 Tf -7.567 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj --19.267 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 126)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (:A)Tj -0 Tc 3.289 0 Td -(T_SYMLINK_NOFOLLOW)Tj -/T1_1 1 Tf --3.289 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(utimes)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 14.977 0 Td -(onst struct timeval)Tj -/T1_2 1 Tf -12 0 Td -(times)Tj -/TT0 1 Tf -([2]\);)Tj --19.477 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 127)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47718 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(889)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(tcgetattr)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 2.578 0 Td -(truct termios *)Tj -/T1_2 1 Tf -(termptr)Tj -/TT0 1 Tf -(\);)Tj --3.478 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 683)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -(pid_t)Tj -/TT1 1 Tf -6 0 Td -(tcgetpgrp)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj --0.9 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 298)Tj --28.125 -1.5 Td -[(Returns: pr)18(ocess gr)18(oup ID of for)18(egr)18(ound pr)18(ocess gr)18(oup if OK,)]TJ -/TT2 1 Tf -3.977 -1.25 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --17.477 -2.875 Td -(pid_t)Tj -/TT1 1 Tf -6 0 Td -(tcgetsid)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj --0.3 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 299)Tj --28.125 -1.5 Td -[(Returns: session leader)-74(\325s pr)18(ocess gr)18(oup ID if OK,)]TJ -/TT2 1 Tf -21.903 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --35.403 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(tcsendbreak)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(duration)Tj -/TT0 1 Tf -(\);)Tj --6.478 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 693)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(tcsetattr)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(opt)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.077 0 Td -(onst struct termios *)Tj -/T1_2 1 Tf -(termptr)Tj -/TT0 1 Tf -(\);)Tj --8.355 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 683)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(opt)Tj -/TT0 1 Tf -0.6 Tc (:T)Tj -0 Tc 3.077 0 Td -(CSANOW, TCSADRAIN, TCSAFLUSH)Tj -/T1_0 1 Tf --3.077 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(tcsetpgrp)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,p)Tj -0 Tc 2.578 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(pgrpid)Tj -/TT0 1 Tf -(\);)Tj --6.478 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 298)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -(long)Tj -/TT1 1 Tf -6 0 Td -(telldir)Tj -/TT0 1 Tf -(\(DIR *)Tj -/T1_2 1 Tf -(dp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 130)Tj --28.125 -1.5 Td -[(Returns: curr)18(ent location in dir)18(ectory associated with)]TJ -/T1_2 1 Tf -23.685 0 Td -(dp)Tj -/TT0 1 Tf --37.185 -2.875 Td -(time_t)Tj -/TT1 1 Tf -6 0 Td -(time)Tj -/TT0 1 Tf -(\(time_t *)Tj -/T1_2 1 Tf -(calptr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 189)Tj --28.125 -1.5 Td -(Returns: value of time if OK,)Tj -/TT2 1 Tf -12.909 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --26.409 -2.875 Td -(clock_t)Tj -/TT1 1 Tf -6 0 Td -(times)Tj -/TT0 1 Tf -(\(struct tms *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -12.282 0 Td -(\);)Tj --4.782 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 280)Tj --28.125 -1.5 Td -(Returns: elapsed wall clock time in clock ticks if OK,)Tj -/TT2 1 Tf -3.977 -1.25 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --17.477 -2.875 Td -[(FILE )-2400(*)]TJ -/TT1 1 Tf -(tmpfile)Tj -/TT0 1 Tf -(\(void\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 167)Tj --28.125 -1.5 Td -(Returns: \336le pointer if OK,)Tj -/TT0 1 Tf -11.958 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --28.108 -2.875 Td -[(char )-2400(*)]TJ -/TT1 1 Tf -(tmpnam)Tj -/TT0 1 Tf -(\(char *)Tj -/T1_2 1 Tf -(ptr)Tj -/TT0 1 Tf -(\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 167)Tj --28.125 -1.5 Td -(Returns: pointer to unique pathname,)Tj -/TT0 1 Tf -16.89 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47719 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(888)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(long)Tj -/TT1 1 Tf -6 0 Td -(sysconf)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(name)Tj -/TT0 1 Tf -(\);)Tj -0.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 42)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(name)Tj -/TT0 1 Tf -0.6 Tc (:_)Tj -0 Tc 3.967 0 Td -(SC_ARG_MAX, _SC_ASYNCHRONOUS_IO,)Tj --0.6 -1.25 Td -(_SC_ATEXIT_MAX, _SC_BARRIERS,)Tj -0 -1.25 TD -(_SC_CHILD_MAX, _SC_CLK_TCK,)Tj -T* -(_SC_CLOCK_SELECTION, _SC_COLL_WEIGHTS_MAX,)Tj -T* -(_SC_DELAYTIMER_MAX, _SC_HOST_NAME_MAX,)Tj -T* -(_SC_IOV_MAX, _SC_JOB_CONTROL,)Tj -T* -(_SC_LINE_MAX, _SC_LOGIN_NAME_MAX,)Tj -T* -(_SC_MAPPED_FILED, _SC_MEMORY_PROTECTION,)Tj -T* -(_SC_NGROUPS_MAX,_SC_OPEN_MAX,)Tj -T* -(_SC_PAGESIZE, _SC_PAGE_SIZE,)Tj -T* -(_SC_READER_WRITER_LOCKS,)Tj -T* -(_SC_REALTIME_SIGNALS, _SC_RE_DUP_MAX,)Tj -T* -(_SC_RTSIG_MAX, _SC_SAVED_IDS,)Tj -T* -(_SC_SEMAPHORES, _SC_SEM_NSEMS_MAX,)Tj -T* -(_SC_SEM_VALUE_MAX, _SC_SHELL,)Tj -T* -(_SC_SIGQUEUE_MAX, _SC_SPIN_LOCKS,)Tj -T* -(_SC_STREAM_MAX, _SC_SYMLOOP_MAX,)Tj -T* -(_SC_THREAD_SAFE_FUNCTIONS,)Tj -T* -(_SC_THREADS, _SC_TIMER_MAX,)Tj -T* -(_SC_TIMERS, _SC_TTY_NAME_MAX,)Tj -T* -(_SC_TZNAME_MAX, _SC_VERSION,)Tj -T* -(_SC_XOPEN_CRYPT, _SC_XOPEN_REALTIME,)Tj -T* -(_SC_XOPEN_REALTIME_THREADS, _SC_XOPEN_SHM)Tj -T* -(_SC_XOPEN_VERSION)Tj -/T1_1 1 Tf --3.367 -1.5 Td -[(Returns: corr)18(esponding value if OK,)]TJ -/TT2 1 Tf -16.235 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --29.735 -3.125 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(syslog)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(priority)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.911 0 Td -(har *)Tj -/T1_2 1 Tf -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 7.466 0 Td -(..\);)Tj --11.477 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 470)Tj -/TT0 1 Tf --41.625 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(system)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(cmdstring)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 265)Tj --28.125 -1.5 Td -(Returns: termination status of shell)Tj -/TT0 1 Tf --13.5 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(tcdrain)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -0.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 693)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(tcflow)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(action)Tj -/TT0 1 Tf -(\);)Tj --3.478 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 693)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(action)Tj -/TT0 1 Tf -0.6 Tc (:T)Tj -0 Tc 4.262 0 Td -(COOFF, TCOON, TCIOFF, TCION)Tj -/T1_1 1 Tf --4.262 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(tcflush)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(queue)Tj -/TT0 1 Tf -(\);)Tj --4.078 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 693)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(queue)Tj -/TT0 1 Tf -0.6 Tc (:T)Tj -0 Tc 4.153 0 Td -(CIFLUSH, TCOFLUSH, TCIOFLUSH)Tj -/T1_1 1 Tf --4.153 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47720 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(887)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(stat)Tj -/TT0 1 Tf -(\(const char *restrict)Tj -/T1_2 1 Tf -15.6 0 Td -(path)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.577 0 Td -(truct stat *restrict)Tj -/T1_2 1 Tf -12.6 0 Td -(buf)Tj -/TT0 1 Tf -1.482 0 Td -(\);)Tj --25.759 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 93)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(str2sig)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(str)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 14.911 0 Td -(nt *)Tj -/T1_2 1 Tf -(signop)Tj -/TT0 1 Tf -(\);)Tj --7.411 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 380)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ --7.613 -1.5 Td -(Platforms: Solaris 10)Tj -/TT0 1 Tf --13.5 -3 Td -[(char )-2400(*)]TJ -/TT1 1 Tf -(strerror)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -13.8 0 Td -(errnum)Tj -/TT0 1 Tf -(\);)Tj --0.3 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 15)Tj --28.125 -1.5 Td -(Returns: pointer to message string)Tj -/TT0 1 Tf --13.5 -3 Td -(size_t)Tj -/TT1 1 Tf -6 0 Td -(strftime)Tj -/TT0 1 Tf -(\(char *restrict)Tj -/T1_2 1 Tf -14.4 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(maxsize)Tj -/TT0 1 Tf -(,)Tj --15.697 -1.25 Td -(const char *restrict)Tj -/T1_2 1 Tf -12.6 0 Td -(format)Tj -/TT0 1 Tf -(,)Tj --12.6 -1.25 Td -(const struct tm *restrict)Tj -/T1_2 1 Tf -15.6 0 Td -(tmptr)Tj -/TT0 1 Tf -(\);)Tj --13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 192)Tj --28.125 -1.5 Td -[(Returns: number of characters stor)18(ed in array if r)18(oom,)]TJ -0.25 Tc 3.977 -1.25 Td -(0o)Tj -0 Tc 1.296 0 Td -(therwise)Tj -/TT0 1 Tf --18.773 -3 Td -(size_t)Tj -/TT1 1 Tf -6 0 Td -(strftime_l)Tj -/TT0 1 Tf -(\(char *restrict)Tj -/T1_2 1 Tf -15.6 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(maxsize)Tj -/TT0 1 Tf -(,)Tj --15.697 -1.25 Td -(const char *restrict)Tj -/T1_2 1 Tf -12.6 0 Td -(format)Tj -/TT0 1 Tf -(,)Tj --12.6 -1.25 Td -(const struct tm *restrict)Tj -/T1_2 1 Tf -15.6 0 Td -(tmptr)Tj -/TT0 1 Tf -0.6 Tc (,l)Tj -0 Tc 4.133 0 Td -(ocale_t)Tj -/T1_2 1 Tf -4.8 0 Td -(locale)Tj -/TT0 1 Tf -(\);)Tj --23.633 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 192)Tj --28.125 -1.5 Td -[(Returns: number of characters stor)18(ed in array if r)18(oom,)]TJ -0.25 Tc 3.977 -1.25 Td -(0o)Tj -0 Tc 1.296 0 Td -(therwise)Tj -/TT0 1 Tf --18.773 -3 Td -[(char )-2400(*)]TJ -/TT1 1 Tf -(strptime)Tj -/TT0 1 Tf -(\(const char *restrict)Tj -/T1_2 1 Tf -24 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.097 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -(,)Tj --27.697 -1.25 Td -(struct tm *restrict)Tj -/T1_2 1 Tf -12 0 Td -(tmptr)Tj -/TT0 1 Tf -(\);)Tj --9.9 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 195)Tj --28.125 -1.5 Td -(Returns: pointer to one character past last character parsed,)Tj -/TT0 1 Tf -3.977 -1.25 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -(otherwise)Tj -/TT0 1 Tf --20.127 -3 Td -(char)Tj -/TT1 1 Tf -5.4 0 Td -(*strsignal)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9 0 Td -(signo)Tj -/TT0 1 Tf -(\);)Tj --0.9 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 380)Tj --28.125 -1.5 Td -(Returns: a pointer to a string describing the signal)Tj -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(symlink)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(actualpath)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 18.039 0 Td -(onst char *)Tj -/T1_2 1 Tf -(sympath)Tj -/TT0 1 Tf -(\);)Tj --10.539 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 123)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(symlinkat)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(actualpath)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 19.239 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(sympath)Tj -/TT0 1 Tf -(\);)Tj --16.117 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 123)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(sync)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 81)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47721 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(886)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(sigsuspend)Tj -/TT0 1 Tf -(\(const sigset_t *)Tj -/T1_2 1 Tf -(sigmask)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 359)Tj --28.125 -1.5 Td -(Returns:)Tj -/TT2 1 Tf -3.977 0 Td -(!)Tj -/T1_1 1 Tf -0.25 Tc (1w)Tj -0 Tc 2.133 0 Td -(ith)Tj -/TT0 1 Tf -1.449 0 Td -(errno)Tj -/T1_1 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(EINTR)Tj --26.91 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sigwait)Tj -/TT0 1 Tf -(\(const sigset_t *restrict)Tj -/T1_2 1 Tf -19.8 0 Td -(set)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.911 0 Td -(nt *restrict)Tj -/T1_2 1 Tf -7.8 0 Td -(signop)Tj -/TT0 1 Tf -(\);)Tj --23.011 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 454)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.375 Td -(unsigned)Tj -0 -1.25 TD -(int)Tj -/TT1 1 Tf -6 0 Td -(sleep)Tj -/TT0 1 Tf -(\(unsigned int)Tj -/T1_2 1 Tf -11.4 0 Td -(seconds)Tj -/TT0 1 Tf -(\);)Tj --3.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 373)Tj --28.125 -1.5 Td -(Returns: 0 or number of unslept seconds)Tj -/TT0 1 Tf --13.5 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(snprintf)Tj -/TT0 1 Tf -(\(char *restrict)Tj -/T1_2 1 Tf -14.4 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(n)Tj -/TT0 1 Tf -(,)Tj --15.697 -1.25 Td -(const char *restrict)Tj -/T1_2 1 Tf -12.6 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 4.466 0 Td -(..\);)Tj --14.966 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 159)Tj --28.125 -1.5 Td -[(Returns: number of characters that would have been stor)18(ed)]TJ -3.977 -1.25 Td -[(in array if buf)18(fer was lar)18(ge enough, negative value)]TJ -T* -[(if encoding err)18(or)]TJ -/TT0 1 Tf --17.477 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sockatmark)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9 0 Td -(sockfd)Tj -/TT0 1 Tf -(\);)Tj --1.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 626)Tj --28.125 -1.5 Td -(Returns: 1 if at mark, 0 if not at mark,)Tj -/TT2 1 Tf -16.749 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --30.249 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(socket)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(domain)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.8 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(type)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.522 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -[(pr)18(otocol)]TJ -/TT0 1 Tf -(\);)Tj --11.022 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 590)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(type)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 3.522 0 Td -(OCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET)Tj -/T1_1 1 Tf --3.522 -1.5 Td -(Returns: \336le \(socket\) descriptor if OK,)Tj -/TT2 1 Tf -16.941 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --30.441 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(socketpair)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9 0 Td -(domain)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.8 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(type)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.522 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -[(pr)18(otocol)]TJ -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 5.021 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(sockfd)Tj -/TT0 1 Tf -([2]\);)Tj --20.243 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 630)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(type)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 3.522 0 Td -(OCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET)Tj -/T1_1 1 Tf --3.522 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sprintf)Tj -/TT0 1 Tf -(\(char *restrict)Tj -/T1_2 1 Tf -13.8 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.097 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 4.466 0 Td -(..\);)Tj --25.863 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 159)Tj --28.125 -1.5 Td -[(Returns: number of characters stor)18(ed in array if OK, negative)]TJ -3.977 -1.25 Td -[(value if encoding err)18(or)]TJ -/TT0 1 Tf --17.477 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sscanf)Tj -/TT0 1 Tf -(\(const char *restrict)Tj -/T1_2 1 Tf -16.8 0 Td -(buf)Tj -/TT0 1 Tf -(,)Tj --12.6 -1.25 Td -(const char *restrict)Tj -/T1_2 1 Tf -12.6 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 4.466 0 Td -(..\);)Tj --13.766 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 162)Tj --28.125 -1.5 Td -(Returns: number of input items assigned,)Tj -/TT0 1 Tf -18.524 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(if input err)18(or or)]TJ --16.597 -1.25 Td -(end of \336le befor)Tj -0.25 Tc 6.964 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ny conversion)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47722 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(885)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(sigdelset)Tj -/TT0 1 Tf -(\(sigset_t *)Tj -/T1_2 1 Tf -(set)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 14.911 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(signo)Tj -/TT0 1 Tf -(\);)Tj --9.211 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 344)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sigemptyset)Tj -/TT0 1 Tf -(\(sigset_t *)Tj -/T1_2 1 Tf -(set)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 344)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sigfillset)Tj -/TT0 1 Tf -(\(sigset_t *)Tj -/T1_2 1 Tf -(set)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 344)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sigismember)Tj -/TT0 1 Tf -(\(const sigset_t *)Tj -/T1_2 1 Tf -(set)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 19.711 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(signo)Tj -/TT0 1 Tf -(\);)Tj --14.011 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 344)Tj --28.125 -1.5 Td -[(Returns: 1 if tr)8(ue, 0 if false,)]TJ -/TT2 1 Tf -12.047 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --25.547 -3.375 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(siglongjmp)Tj -/TT0 1 Tf -(\(sigjmp_buf)Tj -/T1_2 1 Tf -13.2 0 Td -(env)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.245 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(val)Tj -/TT0 1 Tf -(\);)Tj --10.745 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 356)Tj --28.125 -1.5 Td -[(This function never r)18(eturns)]TJ -/TT0 1 Tf --13.5 -3.375 Td -[(void )-1800(\(*)]TJ -/TT1 1 Tf -(signal)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -12.6 0 Td -(signo)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 3.967 0 Td -(oid \(*)Tj -/T1_2 1 Tf -(func)Tj -/TT0 1 Tf -(\)\(int\)\)\)\(int\);)Tj --3.067 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 323)Tj --28.125 -1.5 Td -[(Returns: pr)18(evious disposition of signal if OK,)]TJ -/TT0 1 Tf -3.977 -1.25 Td -(SIG_ERR)Tj -/T1_0 1 Tf -4.45 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --21.927 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sigpending)Tj -/TT0 1 Tf -(\(sigset_t *)Tj -/T1_2 1 Tf -(set)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 347)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sigprocmask)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(how)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.466 0 Td -(onst sigset_t *restrict)Tj -/T1_2 1 Tf -14.4 0 Td -(set)Tj -/TT0 1 Tf -(,)Tj --20.266 -1.25 Td -(sigset_t *restrict)Tj -/T1_2 1 Tf -11.4 0 Td -(oset)Tj -/TT0 1 Tf -(\);)Tj --11.1 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 346)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(how)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 3.466 0 Td -(IG_BLOCK, SIG_UNBLOCK, SIG_SETMASK)Tj -/T1_0 1 Tf --3.466 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sigqueue)Tj -/TT0 1 Tf -(\(pid_t)Tj -/T1_2 1 Tf -9 0 Td -(pid)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.078 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(signo)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.967 0 Td -(onst union sigval)Tj -/T1_2 1 Tf -10.8 0 Td -(value)Tj -/TT0 1 Tf -(\))Tj --21.145 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 376)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sigsetjmp)Tj -/TT0 1 Tf -(\(sigjmp_buf)Tj -/T1_2 1 Tf -12.6 0 Td -(env)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.245 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(savemask)Tj -/TT0 1 Tf -(\);)Tj --10.145 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 356)Tj --28.125 -1.5 Td -[(Returns: 0 if called dir)18(ectly)]TJ -0.25 Tc 11.731 0 Td -(,n)Tj -0 Tc 1.082 0 Td -[(onzer)18(o)-250(if)-250(r)18(eturning fr)18(om a call)]TJ --8.836 -1.25 Td -(to)Tj -/TT0 1 Tf -1.122 0 Td -(siglongjmp)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47723 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(884)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(setvbuf)Tj -/TT0 1 Tf -(\(FILE *restrict)Tj -/T1_2 1 Tf -13.8 0 Td -(fp)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(har *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.097 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(mode)Tj -/TT0 1 Tf -(,)Tj --24.875 -1.25 Td -(size_t)Tj -/T1_2 1 Tf -4.2 0 Td -(size)Tj -/TT0 1 Tf -(\);)Tj --1.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 146)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (:_)Tj -0 Tc 3.911 0 Td -(IOFBF, _IOLBF, _IONBF)Tj -/T1_1 1 Tf --3.911 -1.5 Td -[(Returns: 0 if OK, nonzer)18(o)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --13.5 -3.125 Td -[(void )-2400(*)]TJ -/TT1 1 Tf -(shmat)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -12 0 Td -(shmid)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.245 0 Td -(onst void *)Tj -/T1_2 1 Tf -(addr)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 10.233 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj --14.778 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 574)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 3.289 0 Td -(HM_RND, SHM_RDONLY)Tj -/T1_1 1 Tf --3.289 -1.5 Td -[(Returns: pointer to shar)18(ed memory segment if OK,)]TJ -/TT2 1 Tf -22.649 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --36.149 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(shmctl)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(shmid)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.245 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(cmd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.485 0 Td -(truct shmid_ds *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -11.082 0 Td -(\);)Tj --19.712 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 573)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(cmd)Tj -/TT0 1 Tf -0.6 Tc (:I)Tj -0 Tc 3.485 0 Td -(PC_STAT, IPC_SET, IPC_RMID,)Tj --0.6 -1.25 Td -(SHM_LOCK)Tj -5.4 0.04 Td -(\()Tj -0.6 -0.04 Td -(Linux 3.2.0, Solaris 10)Tj -13.8 0.04 Td -(\))Tj -0.6 -0.04 Td -(,)Tj --20.4 -1.25 Td -(SHM_UNLOCK)Tj -6.6 0.04 Td -(\()Tj -0.6 -0.04 Td -(Linux 3.2.0, Solaris 10)Tj -13.8 0.04 Td -(\))Tj -/T1_1 1 Tf --23.885 -1.54 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(shmdt)Tj -/TT0 1 Tf -(\(const void *)Tj -/T1_2 1 Tf -(addr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 574)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(shmget)Tj -/TT0 1 Tf -(\(key_t)Tj -/T1_2 1 Tf -7.8 0 Td -(key)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.133 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(size)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.3 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj --12.133 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 572)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (:I)Tj -0 Tc 3.289 0 Td -(PC_CREAT, IPC_EXCL)Tj -/T1_1 1 Tf --3.289 -1.5 Td -[(Returns: non-negative shar)18(ed memory ID if OK,)]TJ -/TT2 1 Tf -21.51 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --35.01 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(shutdown)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.262 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(how)Tj -/TT0 1 Tf -(\);)Tj --6.362 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 592)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(how)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 3.466 0 Td -(HUT_RD, SHUT_WR, SHUT_RDWR)Tj -/T1_1 1 Tf --3.466 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sig2str)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(signo)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.967 0 Td -(har *)Tj -/T1_2 1 Tf -(str)Tj -/TT0 1 Tf -(\);)Tj --3.667 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 380)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ --7.613 -1.5 Td -(Platforms: Solaris 10)Tj -/TT0 1 Tf --13.5 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sigaction)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(signo)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.967 0 Td -(onst struct sigaction *restrict)Tj -/T1_2 1 Tf -19.2 0 Td -(act)Tj -/TT0 1 Tf -(,)Tj --25.567 -1.25 Td -(struct sigaction *restrict)Tj -/T1_2 1 Tf -16.2 0 Td -(oact)Tj -/TT0 1 Tf -(\);)Tj --14.7 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 350)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sigaddset)Tj -/TT0 1 Tf -(\(sigset_t *)Tj -/T1_2 1 Tf -(set)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 14.911 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(signo)Tj -/TT0 1 Tf -(\);)Tj --9.211 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 344)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47724 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(883)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(setregid)Tj -/TT0 1 Tf -(\(gid_t)Tj -/T1_2 1 Tf --0.018 Tc 9 0 Td -(rg)Tj -0 Tc 0.871 0 Td -(id)Tj -/TT0 1 Tf -0.6 Tc (,g)Tj -0 Tc 2.578 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(egid)Tj -/TT0 1 Tf -(\);)Tj --7.949 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 257)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(setreuid)Tj -/TT0 1 Tf -(\(uid_t)Tj -/T1_2 1 Tf -9 0 Td -(ruid)Tj -/TT0 1 Tf -0.6 Tc (,u)Tj -0 Tc 3.523 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(euid)Tj -/TT0 1 Tf -(\);)Tj --8.023 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 257)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(setrlimit)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf --0.018 Tc 8.4 0 Td -(re)Tj -0 Tc 0.76 0 Td -[(sour)18(ce)]TJ -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.356 0 Td -(onst struct rlimit *)Tj -/T1_2 1 Tf -(rlptr)Tj -/TT0 1 Tf -(\);)Tj --6.016 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 220)Tj -/T1_2 1 Tf --0.018 Tc -28.125 -1.5 Td -(re)Tj -0 Tc 0.76 0 Td -[(sour)18(ce)]TJ -/TT0 1 Tf -0.6 Tc (:R)Tj -0 Tc 4.356 0 Td -(LIMIT_CORE, RLIMIT_CPU,)Tj --0.6 -1.25 Td -(RLIMIT_DATA, RLIMIT_FSIZE,)Tj -0 -1.25 TD -(RLIMIT_NOFILE, RLIMIT_STACK,)Tj -T* -(RLIMIT_AS)Tj -/T1_0 1 Tf -6 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Solaris 10\))Tj -/TT0 1 Tf -(,)Tj --6.333 -1.25 Td -(RLIMIT_MEMLOCK)Tj -/T1_0 1 Tf -9 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Mac OS X 10.6.8\))Tj -/TT0 1 Tf -(,)Tj --9.333 -1.25 Td -(RLIMIT_MSGQUEUE)Tj -/T1_0 1 Tf -9.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --15.119 -1.25 Td -(RLIMIT_NICE)Tj -/T1_0 1 Tf -7.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --12.719 -1.25 Td -(RLIMIT_NPROC)Tj -/T1_0 1 Tf -7.8 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Mac OS X 10.6.8\))Tj -/TT0 1 Tf -(,)Tj --8.133 -1.25 Td -(RLIMIT_NPTS)Tj -/T1_0 1 Tf -7.2 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Fr)18(eeBSD 8.0)]TJ -5.301 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --13.167 -1.25 Td -(RLIMIT_RSS)Tj -/T1_0 1 Tf -6.6 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Mac OS X 10.6.8\))Tj -/TT0 1 Tf -(,)Tj --6.933 -1.25 Td -(RLIMIT_SBSIZE)Tj -/T1_0 1 Tf -8.4 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Fr)18(eeBSD 8.0)]TJ -5.301 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --14.367 -1.25 Td -(RLIMIT_SIGPENDING)Tj -/T1_0 1 Tf -10.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --16.319 -1.25 Td -(RLIMIT_SWAP)Tj -/T1_0 1 Tf -7.2 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Fr)18(eeBSD 8.0)]TJ -5.301 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --13.167 -1.25 Td -(RLIMIT_VMEM)Tj -/T1_0 1 Tf -7.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(Solaris 10)Tj -4.222 0.04 Td -(\))Tj --16.271 -1.54 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(setservent)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9 0 Td -(stayopen)Tj -/TT0 1 Tf -(\);)Tj --1.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 599)Tj -/TT0 1 Tf --41.625 -2.875 Td -(pid_t)Tj -/TT1 1 Tf -6 0 Td -(setsid)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 295)Tj --28.125 -1.5 Td -[(Returns: pr)18(ocess gr)18(oup ID if OK,)]TJ -/TT2 1 Tf -14.702 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --28.202 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(setsockopt)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.262 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(level)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.634 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(option)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.355 0 Td -(onst void *)Tj -/T1_2 1 Tf -(val)Tj -/TT0 1 Tf -(,)Tj --18.251 -1.25 Td -(socklen_t)Tj -/T1_2 1 Tf -6 0 Td -(len)Tj -/TT0 1 Tf -(\);)Tj --5.1 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 624)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(setspent)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 182)Tj --28.125 -1.5 Td -(Platforms: Linux 3.2.0, Solaris 10)Tj -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(setuid)Tj -/TT0 1 Tf -(\(uid_t)Tj -/T1_2 1 Tf -7.8 0 Td -(uid)Tj -/TT0 1 Tf -(\);)Tj --0.3 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 256)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47725 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(882)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(seteuid)Tj -/TT0 1 Tf -(\(uid_t)Tj -/T1_2 1 Tf -8.4 0 Td -(uid)Tj -/TT0 1 Tf -(\);)Tj --0.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 258)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(setgid)Tj -/TT0 1 Tf -(\(gid_t)Tj -/T1_2 1 Tf -7.8 0 Td -(gid)Tj -/TT0 1 Tf -(\);)Tj --0.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 256)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(setgrent)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 183)Tj -/TT0 1 Tf --41.625 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(setgroups)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -8.4 0 Td -[(ngr)18(oups)]TJ -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 5.116 0 Td -(onst gid_t)Tj -/T1_2 1 Tf -6.6 0 Td -[(gr)18(ouplist)]TJ -/TT0 1 Tf -([]\);)Tj --12.616 -1.5 Td -[( )-1800(/*)-600(Linux */)]TJ -/T1_1 1 Tf -28.125 0 Td -(p. 184)Tj -/TT0 1 Tf --28.125 -1.25 Td -( /* FreeBSD, Mac OS X, and Solaris */)Tj -/T1_1 1 Tf -0 -1.5 TD -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(sethostent)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9 0 Td -(stayopen)Tj -/TT0 1 Tf -(\);)Tj --1.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 597)Tj -/TT0 1 Tf --41.625 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(setjmp)Tj -/TT0 1 Tf -(\(jmp_buf)Tj -/T1_2 1 Tf -9 0 Td -(env)Tj -/TT0 1 Tf -(\);)Tj --1.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 215)Tj --28.125 -1.5 Td -[(Returns: 0 if called dir)18(ectly)]TJ -0.25 Tc 11.731 0 Td -(,n)Tj -0 Tc 1.082 0 Td -[(onzer)18(o)-250(if)-250(r)18(eturning fr)18(om)]TJ -0.25 Tc -8.836 -1.25 Td -(ac)Tj -0 Tc 1.194 0 Td -(all to)Tj -/TT0 1 Tf -2.454 0 Td -(longjmp)Tj --21.125 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(setlogmask)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9 0 Td -(maskpri)Tj -/TT0 1 Tf -(\);)Tj --1.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 470)Tj --28.125 -1.5 Td -[(Returns: pr)18(evious log priority mask value)]TJ -/TT0 1 Tf --13.5 -3 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(setnetent)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(stayopen)Tj -/TT0 1 Tf -(\);)Tj --0.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 598)Tj -/TT0 1 Tf --41.625 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(setpgid)Tj -/TT0 1 Tf -(\(pid_t)Tj -/T1_2 1 Tf -8.4 0 Td -(pid)Tj -/TT0 1 Tf -0.6 Tc (,p)Tj -0 Tc 3.078 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(pgid)Tj -/TT0 1 Tf -(\);)Tj --6.978 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 294)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(setpriority)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(which)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.207 0 Td -(d_t)Tj -/T1_2 1 Tf -2.4 0 Td -(who)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.466 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(value)Tj -/TT0 1 Tf -(\);)Tj --13.973 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 277)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(which)Tj -/TT0 1 Tf -0.6 Tc (:P)Tj -0 Tc 4.207 0 Td -(RIO_PROCESS, PRIO_PGRP, PRIO_USER)Tj -/T1_1 1 Tf --4.207 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(setprotoent)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(stayopen)Tj -/TT0 1 Tf -(\);)Tj --2.1 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 598)Tj -/TT0 1 Tf --41.625 -3 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(setpwent)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 180)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47726 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(881)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(ssize_t)Tj -/TT1 1 Tf -6 0 Td -(send)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -5.4 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.262 0 Td -(onst void *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 9.697 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.43 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT0 1 Tf -(\);)Tj --21.689 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 610)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(\337ags)Tj -/TT0 1 Tf -0.6 Tc (:M)Tj -0 Tc 3.678 0 Td -(SG_EOR, MSG_OOB, MSG_NOSIGNAL)Tj --0.6 -1.25 Td -(MSG_CONFIRM)Tj -/T1_0 1 Tf -7.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --12.719 -1.25 Td -(MSG_DONTROUTE)Tj -/T1_0 1 Tf -8.4 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Mac OS X 10.6.8, Solaris 10\))Tj -/TT0 1 Tf -(,)Tj --8.733 -1.25 Td -(MSG_DONTWAIT)Tj -/T1_0 1 Tf -7.8 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Mac OS X 10.6.8, Solaris 10\))Tj -/TT0 1 Tf -(,)Tj --8.133 -1.25 Td -(MSG_EOF)Tj -/T1_0 1 Tf -4.8 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Fr)18(eeBSD 8.0, Mac OS X 10.6.8)]TJ -12.919 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --18.385 -1.25 Td -(MSG_MORE)Tj -/T1_0 1 Tf -5.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj --13.664 -1.54 Td -(Returns: number of bytes sent if OK,)Tj -/TT2 1 Tf -16.386 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --29.886 -3.375 Td -(ssize_t)Tj -/TT1 1 Tf -6 0 Td -(sendmsg)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.262 0 Td -(onst struct msghdr *)Tj -/T1_2 1 Tf -(msg)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 15.467 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT0 1 Tf -(\);)Tj --21.229 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -[(p. 61)55(1)]TJ -/T1_2 1 Tf --28.125 -1.5 Td -(\337ags)Tj -/TT0 1 Tf -0.6 Tc (:M)Tj -0 Tc 3.678 0 Td -(SG_EOR, MSG_OOB, MSG_NOSIGNAL)Tj --0.6 -1.25 Td -(MSG_CONFIRM)Tj -/T1_0 1 Tf -7.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --12.719 -1.25 Td -(MSG_DONTROUTE)Tj -/T1_0 1 Tf -8.4 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Mac OS X 10.6.8, Solaris 10\))Tj -/TT0 1 Tf -(,)Tj --8.733 -1.25 Td -(MSG_DONTWAIT)Tj -/T1_0 1 Tf -7.8 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Mac OS X 10.6.8, Solaris 10\))Tj -/TT0 1 Tf -(,)Tj --8.133 -1.25 Td -(MSG_EOF)Tj -/T1_0 1 Tf -4.8 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Fr)18(eeBSD 8.0, Mac OS X 10.6.8)]TJ -12.919 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --18.385 -1.25 Td -(MSG_MORE)Tj -/T1_0 1 Tf -5.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj --13.664 -1.54 Td -(Returns: number of bytes sent if OK,)Tj -/TT2 1 Tf -16.386 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --29.886 -3.375 Td -(ssize_t)Tj -/TT1 1 Tf -6 0 Td -(sendto)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.262 0 Td -(onst void *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 9.697 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.43 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT0 1 Tf -(,)Tj --26.189 -1.25 Td -(const struct sockaddr *)Tj -/T1_2 1 Tf -(destaddr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 19.044 0 Td -(ocklen_t)Tj -/T1_2 1 Tf -5.4 0 Td -(destlen)Tj -/TT0 1 Tf -(\);)Tj --21.144 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 610)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(\337ags)Tj -/TT0 1 Tf -0.6 Tc (:M)Tj -0 Tc 3.678 0 Td -(SG_EOR, MSG_OOB, MSG_NOSIGNAL)Tj --0.6 -1.25 Td -(MSG_CONFIRM)Tj -/T1_0 1 Tf -7.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --12.719 -1.25 Td -(MSG_DONTROUTE)Tj -/T1_0 1 Tf -8.4 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Mac OS X 10.6.8, Solaris 10\))Tj -/TT0 1 Tf -(,)Tj --8.733 -1.25 Td -(MSG_DONTWAIT)Tj -/T1_0 1 Tf -7.8 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Mac OS X 10.6.8, Solaris 10\))Tj -/TT0 1 Tf -(,)Tj --8.133 -1.25 Td -(MSG_EOF)Tj -/T1_0 1 Tf -4.8 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Fr)18(eeBSD 8.0, Mac OS X 10.6.8)]TJ -12.919 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --18.385 -1.25 Td -(MSG_MORE)Tj -/T1_0 1 Tf -5.4 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj --13.664 -1.54 Td -(Returns: number of bytes sent if OK,)Tj -/TT2 1 Tf -16.386 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --29.886 -3.375 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(setbuf)Tj -/TT0 1 Tf -(\(FILE *restrict)Tj -/T1_2 1 Tf -13.2 0 Td -(fp)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(har *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(buf)Tj -/TT0 1 Tf -1.482 0 Td -(\);)Tj --18.16 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 146)Tj -/TT0 1 Tf --41.625 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(setegid)Tj -/TT0 1 Tf -(\(gid_t)Tj -/T1_2 1 Tf -8.4 0 Td -(gid)Tj -/TT0 1 Tf -(\);)Tj --0.9 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 258)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(setenv)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 15.367 0 Td -(onst char *)Tj -/T1_2 1 Tf -(value)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 10.567 0 Td -(nt)Tj -/T1_2 1 Tf --0.018 Tc 1.8 0 Td -(re)Tj -0 Tc 0.76 0 Td -(write)Tj -/TT0 1 Tf -(\);)Tj --20.994 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 212)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47727 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(880)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(semget)Tj -/TT0 1 Tf -(\(key_t)Tj -/T1_2 1 Tf -7.8 0 Td -(key)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.133 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(nsems)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.301 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj --11.334 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 567)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (:I)Tj -0 Tc 3.289 0 Td -(PC_CREAT, IPC_EXCL)Tj -/T1_1 1 Tf --3.289 -1.5 Td -[(Returns: semaphor)18(e)-250(ID)-250(if)-250(OK,)]TJ -/TT2 1 Tf -13.345 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --26.845 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sem_getvalue)Tj -/TT0 1 Tf -(\(sem_t *restrict)Tj -/T1_2 1 Tf -17.4 0 Td -(sem)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.356 0 Td -(nt *restrict)Tj -/T1_2 1 Tf -7.8 0 Td -(valp)Tj -/TT0 1 Tf -(\);)Tj --21.056 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 582)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sem_init)Tj -/TT0 1 Tf -(\(sem_t *)Tj -/T1_2 1 Tf -(sem)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 12.956 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -0.6 Tc (,u)Tj -0 Tc 4.893 0 Td -(nsigned int)Tj -/T1_2 1 Tf -7.2 0 Td -(value)Tj -/TT0 1 Tf -(\);)Tj --19.349 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 582)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(semop)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6 0 Td -(semid)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.134 0 Td -(truct sembuf)Tj -/T1_2 1 Tf -7.8 0 Td -(semoparray)Tj -/TT0 1 Tf -([], size_t)Tj -/T1_2 1 Tf -11.266 0 Td -(nops)Tj -/TT0 1 Tf -(\);)Tj --21.7 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 568)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -[(sem_t )-1800(*)]TJ -/TT1 1 Tf -(sem_open)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 22.567 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(o\337ag)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 3.733 0 Td -(.. /* mode_t)Tj -/T1_2 1 Tf -7.8 0 Td -(mode)Tj -/TT0 1 Tf -(,)Tj --24.5 -1.25 Td -(unsigned int)Tj -/T1_2 1 Tf -7.8 0 Td -(value)Tj -/TT0 1 Tf -2.767 0 Td -(*/ \);)Tj --8.467 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 579)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (:I)Tj -0 Tc 3.289 0 Td -(PC_CREAT, IPC_EXCL)Tj -/T1_1 1 Tf --3.289 -1.5 Td -[(Returns: pointer to semaphor)18(e)-250(if)-250(OK,)]TJ -/TT0 1 Tf -16.576 0 Td -(SEM_FAILED)Tj -/T1_1 1 Tf -6.25 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --36.326 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sem_post)Tj -/TT0 1 Tf -(\(sem_t *)Tj -/T1_2 1 Tf -(sem)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 582)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sem_timedwait)Tj -/TT0 1 Tf -(\(sem_t *restrict)Tj -/T1_2 1 Tf -18 0 Td -(sem)Tj -/TT0 1 Tf -(,)Tj --9.6 -1.25 Td -(const struct timespec *restrict)Tj -/T1_2 1 Tf -19.2 0 Td -(tsptr)Tj -/TT0 1 Tf -(\);)Tj --20.1 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 581)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_1 1 Tf -0 -1.5 TD -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sem_trywait)Tj -/TT0 1 Tf -(\(sem_t *)Tj -/T1_2 1 Tf -(sem)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -T* -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sem_unlink)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 580)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sem_wait)Tj -/TT0 1 Tf -(\(sem_t *)Tj -/T1_2 1 Tf -(sem)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 581)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47728 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(879)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(renameat)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(oldfd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.8 0 Td -(onst char *)Tj -/T1_2 1 Tf -(oldname)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 11.789 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(newfd)Tj -/TT0 1 Tf -(,)Tj --19.789 -1.25 Td -(const char *)Tj -/T1_2 1 Tf -(newname)Tj -/TT0 1 Tf -(\);)Tj -2.1 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -[(p. 1)55(19)]TJ --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(rewind)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 158)Tj -/TT0 1 Tf --41.625 -3.25 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(rewinddir)Tj -/TT0 1 Tf -(\(DIR *)Tj -/T1_2 1 Tf -(dp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 130)Tj -/TT0 1 Tf --41.625 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(rmdir)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 130)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(scanf)Tj -/TT0 1 Tf -(\(const char *restrict)Tj -/T1_2 1 Tf -16.2 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 4.466 0 Td -(..\);)Tj --13.166 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 162)Tj --28.125 -1.5 Td -(Returns: number of input items assigned,)Tj -/TT0 1 Tf -18.524 0 Td -(EOF)Tj -/T1_0 1 Tf -2.05 0 Td -[(if input err)18(or or)]TJ --16.597 -1.25 Td -(end of \336le befor)Tj -0.25 Tc 6.964 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ny conversion)Tj -/TT0 1 Tf --25.67 -3.25 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(seekdir)Tj -/TT0 1 Tf -(\(DIR *)Tj -/T1_2 1 Tf -(dp)Tj -/TT0 1 Tf -0.6 Tc (,l)Tj -0 Tc 10.6 0 Td -(ong)Tj -/T1_2 1 Tf -2.4 0 Td -(loc)Tj -/TT0 1 Tf -(\);)Tj --5.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 130)Tj -/TT0 1 Tf --41.625 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(select)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(maxfdp1)Tj -/TT0 1 Tf -0.6 Tc (,f)Tj -0 Tc 5.3 0 Td -(d_set *restrict)Tj -/T1_2 1 Tf --0.018 Tc 9.6 0 Td -(re)Tj -0 Tc 0.76 0 Td -(adfds)Tj -/TT0 1 Tf -(,)Tj --18.06 -1.25 Td -(fd_set *restrict)Tj -/T1_2 1 Tf -10.2 0 Td -(writefds)Tj -/TT0 1 Tf -0.6 Tc (,f)Tj -0 Tc 5.078 0 Td -(d_set *restrict)Tj -/T1_2 1 Tf -9.6 0 Td -(exceptfds)Tj -/TT0 1 Tf -(,)Tj --24.878 -1.25 Td -(struct timeval *restrict)Tj -/T1_2 1 Tf -15 0 Td -(tvptr)Tj -/TT0 1 Tf -(\);)Tj --11.7 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 502)Tj --28.125 -1.5 Td -[(Returns: count of r)18(eady descriptors, 0 on timeout,)]TJ -/TT2 1 Tf -22.148 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --35.648 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sem_close)Tj -/TT0 1 Tf -(\(sem_t *)Tj -/T1_2 1 Tf -(sem)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 580)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(semctl)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(semid)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.134 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(semnum)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 5.246 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(cmd)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 3.485 0 Td -(..)Tj --18.865 -1.25 Td -(/* union semun)Tj -/T1_2 1 Tf -9 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -1.915 0 Td -(*/ \);)Tj --7.615 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 567)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(cmd)Tj -/TT0 1 Tf -0.6 Tc (:I)Tj -0 Tc 3.485 0 Td -(PC_STAT, IPC_SET, IPC_RMID, GETPID,)Tj --0.6 -1.25 Td -(GETNCNT, GETZCNT, GETVAL, SETVAL,)Tj -0 -1.25 TD -(GETALL, SETALL)Tj -/T1_0 1 Tf --2.885 -1.5 Td -(Returns: \(depends on command\),)Tj -/TT2 1 Tf -15.007 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --28.507 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(sem_destroy)Tj -/TT0 1 Tf -(\(sem_t *)Tj -/T1_2 1 Tf -(sem)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 582)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47729 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(878)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -[(void )-2400(*)]TJ -/TT1 1 Tf -(realloc)Tj -/TT0 1 Tf -(\(void *)Tj -/T1_2 1 Tf -(ptr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 17.422 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(newsize)Tj -/TT0 1 Tf -(\);)Tj --7.522 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 207)Tj --28.125 -1.5 Td -(Returns: non-null pointer if OK,)Tj -/TT0 1 Tf -14.393 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --30.543 -3 Td -(ssize_t)Tj -/TT1 1 Tf -6 0 Td -(recv)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -5.4 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.262 0 Td -(oid *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 6.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.43 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT0 1 Tf -(\);)Tj --18.089 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 612)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(\337ags)Tj -/TT0 1 Tf -0.6 Tc (:M)Tj -0 Tc 3.678 0 Td -(SG_PEEK, MSG_OOB, MSG_WAITALL,)Tj --0.6 -1.25 Td -(MSG_CMSG_CLOEXEC)Tj -/T1_1 1 Tf -10.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --15.719 -1.25 Td -(MSG_DONTWAIT)Tj -/T1_1 1 Tf -7.8 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Solaris 10\))Tj -/TT0 1 Tf -(,)Tj --8.133 -1.25 Td -(MSG_ERRQUEUE)Tj -/T1_1 1 Tf -7.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --13.319 -1.25 Td -(MSG_TRUNC)Tj -/T1_1 1 Tf -6 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj --14.264 -1.54 Td -[(Returns: length of message in bytes, 0 if no messages ar)18(e)]TJ -3.977 -1.25 Td -[(available and peer has done an or)18(derly shutdown,)]TJ -0 -1.25 TD -(or)Tj -/TT2 1 Tf -1.191 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --18.668 -3 Td -(ssize_t)Tj -/TT1 1 Tf -6 0 Td -(recvfrom)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.262 0 Td -(oid *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(len)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.023 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT0 1 Tf -(,)Tj --26.582 -1.25 Td -(struct sockaddr *restrict)Tj -/T1_2 1 Tf -15.6 0 Td -(addr)Tj -/TT0 1 Tf -(,)Tj --15.6 -1.25 Td -(socklen_t *restrict)Tj -/T1_2 1 Tf -12 0 Td -(addrlen)Tj -/TT0 1 Tf -(\);)Tj --9.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 613)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(\337ags)Tj -/TT0 1 Tf -0.6 Tc (:M)Tj -0 Tc 3.678 0 Td -(SG_PEEK, MSG_OOB, MSG_WAITALL)Tj --0.6 -1.25 Td -(MSG_CMSG_CLOEXEC)Tj -/T1_1 1 Tf -10.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --15.719 -1.25 Td -(MSG_DONTWAIT)Tj -/T1_1 1 Tf -7.8 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Solaris 10\))Tj -/TT0 1 Tf -(,)Tj --8.133 -1.25 Td -(MSG_ERRQUEUE)Tj -/T1_1 1 Tf -7.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --13.319 -1.25 Td -(MSG_TRUNC)Tj -/T1_1 1 Tf -6 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj --14.264 -1.54 Td -[(Returns: length of message in bytes, 0 if no messages ar)18(e)]TJ -3.977 -1.25 Td -[(available and peer has done an or)18(derly shutdown,)]TJ -T* -(or)Tj -/TT2 1 Tf -1.191 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --18.668 -3 Td -(ssize_t)Tj -/TT1 1 Tf -6 0 Td -(recvmsg)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.262 0 Td -(truct msghdr *)Tj -/T1_2 1 Tf -(msg)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 11.867 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT0 1 Tf -(\);)Tj --17.629 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 613)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(\337ags)Tj -/TT0 1 Tf -0.6 Tc (:M)Tj -0 Tc 3.678 0 Td -(SG_PEEK, MSG_OOB, MSG_WAITALL)Tj --0.6 -1.25 Td -(MSG_CMSG_CLOEXEC)Tj -/T1_1 1 Tf -10.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --15.719 -1.25 Td -(MSG_DONTWAIT)Tj -/T1_1 1 Tf -7.8 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Solaris 10\))Tj -/TT0 1 Tf -(,)Tj --8.133 -1.25 Td -(MSG_ERRQUEUE)Tj -/T1_1 1 Tf -7.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --13.319 -1.25 Td -(MSG_TRUNC)Tj -/T1_1 1 Tf -6 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj --14.264 -1.54 Td -[(Returns: length of message in bytes, 0 if no messages ar)18(e)]TJ -3.977 -1.25 Td -[(available and peer has done an or)18(derly shutdown,)]TJ -T* -(or)Tj -/TT2 1 Tf -1.191 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --18.668 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(remove)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -[(p. 1)55(19)]TJ --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(rename)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(oldname)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 16.589 0 Td -(onst char *)Tj -/T1_2 1 Tf -(newname)Tj -/TT0 1 Tf -(\);)Tj --9.089 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -[(p. 1)55(19)]TJ --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47730 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(877)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(putchar_unlocked)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -12.6 0 Td -(c)Tj -/TT0 1 Tf -(\);)Tj --5.1 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 444)Tj --28.125 -1.5 Td -(Returns:)Tj -/T1_2 1 Tf -3.977 0 Td -(c)Tj -/T1_0 1 Tf -0.657 0 Td -(if OK,)Tj -/TT0 1 Tf -2.886 0 Td -(EOF)Tj -/T1_0 1 Tf -2.05 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --23.07 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(putc_unlocked)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -10.8 0 Td -(c)Tj -/TT0 1 Tf -0.6 Tc (,F)Tj -0 Tc 2.207 0 Td -(ILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj --5.507 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 444)Tj --28.125 -1.5 Td -(Returns:)Tj -/T1_2 1 Tf -3.977 0 Td -(c)Tj -/T1_0 1 Tf -0.657 0 Td -(if OK,)Tj -/TT0 1 Tf -2.886 0 Td -(EOF)Tj -/T1_0 1 Tf -2.05 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --23.07 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(putenv)Tj -/TT0 1 Tf -(\(char *)Tj -/T1_2 1 Tf -(str)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 212)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, nonzer)18(o)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(puts)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(str)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 153)Tj --28.125 -1.5 Td -(Returns: non-negative value if OK,)Tj -/TT0 1 Tf -15.622 0 Td -(EOF)Tj -/T1_0 1 Tf -2.05 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --31.172 -2.875 Td -(ssize_t)Tj -/TT1 1 Tf -6 0 Td -(pwrite)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst void *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 9.697 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -0.6 Tc (,o)Tj -0 Tc 4.43 0 Td -(ff_t)Tj -/T1_2 1 Tf -3 0 Td -(offset)Tj -/TT0 1 Tf -(\);)Tj --22.405 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 78)Tj --28.125 -1.5 Td -(Returns: number of bytes written if OK,)Tj -/TT2 1 Tf -17.808 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --31.308 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(raise)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6 0 Td -(signo)Tj -/TT0 1 Tf -(\);)Tj -1.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 337)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, nonzer)18(o)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(ssize_t)Tj -/TT1 1 Tf -6 0 Td -(read)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -5.4 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 2.578 0 Td -(oid *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 6.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -(\);)Tj --10.175 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 71)Tj --28.125 -1.5 Td -[(Returns: number of bytes r)18(ead if OK, 0 if end of \336le,)]TJ -/TT2 1 Tf -3.977 -1.25 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --17.477 -1.625 Td -(struct)Tj -0 -1.25 TD -[(dirent )-1200(*)]TJ -/TT1 1 Tf -(readdir)Tj -/TT0 1 Tf -(\(DIR *)Tj -/T1_2 1 Tf -(dp)Tj -/TT0 1 Tf -(\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 130)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(at end of dir)18(ectory or err)18(or)]TJ -/TT0 1 Tf --26.483 -2.875 Td -(ssize_t)Tj -/TT1 1 Tf -6 0 Td -(readlink)Tj -/TT0 1 Tf -(\(const char *restrict)Tj -/T1_2 1 Tf -18 0 Td -(path)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.577 0 Td -(har *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(buf)Tj -/TT0 1 Tf -(,)Tj --24.577 -1.25 Td -(size_t)Tj -/T1_2 1 Tf -4.2 0 Td -(bufsize)Tj -/TT0 1 Tf -(\);)Tj --2.1 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 123)Tj --28.125 -1.5 Td -[(Returns: number of bytes r)18(ead if OK,)]TJ -/TT2 1 Tf -16.542 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --30.042 -2.875 Td -(ssize_t)Tj -/TT1 1 Tf -6 0 Td -(readlinkat)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char* restrict)Tj -/T1_2 1 Tf -12 0 Td -(path)Tj -/TT0 1 Tf -(,)Tj --16.978 -1.25 Td -(char *restrict)Tj -/T1_2 1 Tf -9 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(bufsize)Tj -/TT0 1 Tf -(\);)Tj --14.797 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 123)Tj --28.125 -1.5 Td -[(Returns: number of bytes r)18(ead if OK,)]TJ -/TT2 1 Tf -16.542 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --30.042 -2.875 Td -(ssize_t)Tj -/TT1 1 Tf -6 0 Td -(readv)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst struct iovec *)Tj -/T1_2 1 Tf -(iov)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 14.422 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(iovcnt)Tj -/TT0 1 Tf -(\);)Tj --17.3 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 521)Tj --28.125 -1.5 Td -[(Returns: number of bytes r)18(ead if OK, 0 if end of \336le,)]TJ -/TT2 1 Tf -3.977 -1.25 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47731 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(876)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_setspecific)Tj -/TT0 1 Tf -(\(pthread_key_t)Tj -/T1_2 1 Tf -20.4 0 Td -(key)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.133 0 Td -(onst void *)Tj -/T1_2 1 Tf -(value)Tj -/TT0 1 Tf -(\);)Tj --16.033 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 449)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_sigmask)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -12 0 Td -(how)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.466 0 Td -(onst sigset_t *restrict)Tj -/T1_2 1 Tf -14.4 0 Td -(set)Tj -/TT0 1 Tf -(,)Tj --20.266 -1.25 Td -(sigset_t *restrict)Tj -/T1_2 1 Tf -11.4 0 Td -(oset)Tj -/TT0 1 Tf -(\);)Tj --13.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 454)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(how)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 3.466 0 Td -(IG_BLOCK, SIG_UNBLOCK, SIG_SETMASK)Tj -/T1_1 1 Tf --3.466 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_spin_destroy)Tj -/TT0 1 Tf -(\(pthread_spinlock_t *)Tj -/T1_2 1 Tf -(lock)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 417)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_spin_init)Tj -/TT0 1 Tf -(\(pthread_spinlock_t *)Tj -/T1_2 1 Tf -(lock)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 26.173 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj --20.473 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 417)Tj -/T1_2 1 Tf --28.125 -1.5 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -0.6 Tc (:P)Tj -0 Tc 4.893 0 Td -(THREAD_PROCESS_PRIVATE,)Tj --0.6 -1.25 Td -(PTHREAD_PROCESS_SHARED)Tj -/T1_1 1 Tf --4.293 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_spin_lock)Tj -/TT0 1 Tf -(\(pthread_spinlock_t *)Tj -/T1_2 1 Tf -(lock)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 418)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_spin_trylock)Tj -/TT0 1 Tf -(\(pthread_spinlock_t *)Tj -/T1_2 1 Tf -(lock)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 418)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_spin_unlock)Tj -/TT0 1 Tf -(\(pthread_spinlock_t *)Tj -/T1_2 1 Tf -(lock)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 418)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(pthread_testcancel)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 453)Tj -/TT0 1 Tf --41.625 -3 Td -[(char )-2400(*)]TJ -/TT1 1 Tf -(ptsname)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -13.2 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -0.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 723)Tj --28.125 -1.5 Td -(Returns: pointer to name of PTY slave if OK,)Tj -/TT0 1 Tf -19.921 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --36.071 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(putc)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -5.4 0 Td -(c)Tj -/TT0 1 Tf -0.6 Tc (,F)Tj -0 Tc 2.207 0 Td -(ILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj --0.107 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 152)Tj --28.125 -1.5 Td -(Returns:)Tj -/T1_2 1 Tf -3.977 0 Td -(c)Tj -/T1_1 1 Tf -0.657 0 Td -(if OK,)Tj -/TT0 1 Tf -2.886 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --23.07 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(putchar)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(c)Tj -/TT0 1 Tf -(\);)Tj -0.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 152)Tj --28.125 -1.5 Td -(Returns:)Tj -/T1_2 1 Tf -3.977 0 Td -(c)Tj -/T1_1 1 Tf -0.657 0 Td -(if OK,)Tj -/TT0 1 Tf -2.886 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(on err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47732 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(875)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_rwlock_timedrdlock)Tj -/TT0 1 Tf -(\(pthread_rwlock_t *restrict)Tj -/T1_2 1 Tf -32.4 0 Td -(rwlock)Tj -/TT0 1 Tf -(,)Tj --16.2 -1.25 Td -(const struct timespec)Tj -1.2 -1.25 Td -(*restrict)Tj -/T1_2 1 Tf -6 0 Td -(tsptr)Tj -/TT0 1 Tf -(\);)Tj --15.9 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 413)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_0 1 Tf -0 -1.5 TD -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_rwlock_timedwrlock)Tj -/TT0 1 Tf -(\(pthread_rwlock_t *restrict)Tj -/T1_2 1 Tf -32.4 0 Td -(rwlock)Tj -/TT0 1 Tf -(,)Tj --16.2 -1.25 Td -(const struct timespec)Tj -1.2 -1.25 Td -(*restrict)Tj -/T1_2 1 Tf -6 0 Td -(tsptr)Tj -/TT0 1 Tf -(\);)Tj --15.9 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 413)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_0 1 Tf -T* -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_rwlock_tryrdlock)Tj -/TT0 1 Tf -(\(pthread_rwlock_t *)Tj -/T1_2 1 Tf -(rwlock)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 410)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_rwlock_trywrlock)Tj -/TT0 1 Tf -(\(pthread_rwlock_t *)Tj -/T1_2 1 Tf -(rwlock)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 410)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_rwlock_unlock)Tj -/TT0 1 Tf -(\(pthread_rwlock_t *)Tj -/T1_2 1 Tf -(rwlock)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 410)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_rwlock_wrlock)Tj -/TT0 1 Tf -(\(pthread_rwlock_t *)Tj -/T1_2 1 Tf -(rwlock)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 410)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.25 Td -(pthread_t)Tj -/TT1 1 Tf -6 0 Td -(pthread_self)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 385)Tj --28.125 -1.5 Td -[(Returns: thr)18(ead ID of the calling thr)18(ead)]TJ -/TT0 1 Tf --13.5 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_setcancelstate)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -16.2 0 Td -(state)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.688 0 Td -(nt *)Tj -/T1_2 1 Tf -(oldstate)Tj -/TT0 1 Tf -(\);)Tj --12.388 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 451)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(state)Tj -/TT0 1 Tf -0.6 Tc (:P)Tj -0 Tc 3.688 0 Td -(THREAD_CANCEL_ENABLE,)Tj --0.6 -1.25 Td -(PTHREAD_CANCEL_DISABLE)Tj -/T1_0 1 Tf --3.088 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_setcanceltype)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -15.6 0 Td -(type)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.522 0 Td -(nt *)Tj -/T1_2 1 Tf -(oldtype)Tj -/TT0 1 Tf -(\);)Tj --11.622 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 453)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(type)Tj -/TT0 1 Tf -0.6 Tc (:P)Tj -0 Tc 3.522 0 Td -(THREAD_CANCEL_DEFERRED,)Tj --0.6 -1.25 Td -(PTHREAD_CANCEL_ASYNCHRONOUS)Tj -/T1_0 1 Tf --2.922 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47733 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(874)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_mutex_unlock)Tj -/TT0 1 Tf -(\(pthread_mutex_t *)Tj -/T1_2 1 Tf -(mutex)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 400)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.5 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_once)Tj -/TT0 1 Tf -(\(pthread_once_t *)Tj -/T1_2 1 Tf -(init\337ag)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 22.134 0 Td -(oid \(*)Tj -/T1_2 1 Tf -(initfn)Tj -/TT0 1 Tf -(\)\(void\)\);)Tj --14.634 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 448)Tj -/TT0 1 Tf --28.125 -1.5 Td -(pthread_once_t)Tj -/T1_2 1 Tf -9 0 Td -(init\337ag)Tj -/TT0 1 Tf -0.6 Tc 3.534 0 Td -(=P)Tj -0 Tc 1.8 0 Td -(THREAD_ONCE_INIT;)Tj -/T1_1 1 Tf --14.334 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.5 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_rwlockattr_destroy)Tj -/TT0 1 Tf -(\(pthread_rwlockattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 439)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.5 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_rwlockattr_getpshared)Tj -/TT0 1 Tf -(\(const pthread_rwlockattr_t)Tj -19.2 -1.25 Td -(*restrict)Tj -/T1_2 1 Tf -6 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --7.2 -1.25 Td -(int *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj --18.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 440)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.5 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_rwlockattr_init)Tj -/TT0 1 Tf -(\(pthread_rwlockattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 439)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.5 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_rwlockattr_setpshared)Tj -/TT0 1 Tf -(\(pthread_rwlockattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -18 -1.25 Td -(int)Tj -/T1_2 1 Tf -2.4 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj --12.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 440)Tj -/T1_2 1 Tf --28.125 -1.5 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -0.6 Tc (:P)Tj -0 Tc 4.893 0 Td -(THREAD_PROCESS_PRIVATE,)Tj --0.6 -1.25 Td -(PTHREAD_PROCESS_SHARED)Tj -/T1_1 1 Tf --4.293 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.5 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_rwlock_destroy)Tj -/TT0 1 Tf -(\(pthread_rwlock_t *)Tj -/T1_2 1 Tf -(rwlock)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 409)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.5 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_rwlock_init)Tj -/TT0 1 Tf -(\(pthread_rwlock_t *restrict)Tj -/T1_2 1 Tf -28.2 0 Td -(rwlock)Tj -/TT0 1 Tf -(,)Tj --16.2 -1.25 Td -(const pthread_rwlockattr_t)Tj -1.2 -1.25 Td -(*restrict)Tj -/T1_2 1 Tf -6 0 Td -(attr)Tj -/TT0 1 Tf -(\);)Tj --11.7 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 409)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.5 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_rwlock_rdlock)Tj -/TT0 1 Tf -(\(pthread_rwlock_t *)Tj -/T1_2 1 Tf -(rwlock)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 410)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47734 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(873)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_mutexattr_setpshared)Tj -/TT0 1 Tf -(\(pthread_mutexattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -17.4 -1.25 Td -(int)Tj -/T1_2 1 Tf -2.4 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj --12.3 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 431)Tj -/T1_2 1 Tf --28.125 -1.5 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -0.6 Tc (:P)Tj -0 Tc 4.893 0 Td -(THREAD_PROCESS_PRIVATE,)Tj --0.6 -1.25 Td -(PTHREAD_PROCESS_SHARED)Tj -/T1_0 1 Tf --4.293 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_mutexattr_setrobust)Tj -/TT0 1 Tf -(\(pthread_mutexattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -16.8 -1.25 Td -(int)Tj -/T1_2 1 Tf --0.018 Tc 2.4 0 Td -(ro)Tj -0 Tc 0.815 0 Td -(bust)Tj -/TT0 1 Tf -(\);)Tj --12.515 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 432)Tj -/T1_2 1 Tf --0.018 Tc -28.125 -1.5 Td -(ro)Tj -0 Tc 0.815 0 Td -(bust)Tj -/TT0 1 Tf -0.6 Tc (:P)Tj -0 Tc 3.541 0 Td -(THREAD_MUTEX_ROBUST,)Tj --0.6 -1.25 Td -(PTHREAD_MUTEX_STALLED)Tj -/T1_0 1 Tf --3.756 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_mutexattr_settype)Tj -/TT0 1 Tf -(\(pthread_mutexattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 31.499 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(type)Tj -/TT0 1 Tf -(\);)Tj --25.799 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 434)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(type)Tj -/TT0 1 Tf -0.6 Tc (:P)Tj -0 Tc 3.522 0 Td -(THREAD_MUTEX_NORMAL,)Tj --0.6 -1.25 Td -(PTHREAD_MUTEX_ERRORCHECK,)Tj -0 -1.25 TD -(PTHREAD_MUTEX_RECURSIVE,)Tj -T* -(PTHREAD_MUTEX_DEFAULT)Tj -/T1_0 1 Tf --2.922 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_mutex_consistent)Tj -/TT0 1 Tf -(\(pthread_mutex_t *)Tj -/T1_2 1 Tf -25.8 0 Td -(mutex)Tj -/TT0 1 Tf -(\);)Tj --18.3 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 433)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_mutex_destroy)Tj -/TT0 1 Tf -(\(pthread_mutex_t *)Tj -/T1_2 1 Tf -(mutex)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 400)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_mutex_init)Tj -/TT0 1 Tf -(\(pthread_mutex_t *restrict)Tj -/T1_2 1 Tf -27 0 Td -(mutex)Tj -/TT0 1 Tf -(,)Tj --15.6 -1.25 Td -(const pthread_mutexattr_t *restrict)Tj -/T1_2 1 Tf -21.6 0 Td -(attr)Tj -/TT0 1 Tf -(\);)Tj --25.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 400)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_mutex_lock)Tj -/TT0 1 Tf -(\(pthread_mutex_t *)Tj -/T1_2 1 Tf -(mutex)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 400)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_mutex_timedlock)Tj -/TT0 1 Tf -(\(pthread_mutex_t *restrict)Tj -/T1_2 1 Tf -30 0 Td -(mutex)Tj -/TT0 1 Tf -(,)Tj --15.6 -1.25 Td -(const struct timespec *restrict)Tj -/T1_2 1 Tf -19.2 0 Td -(tsptr)Tj -/TT0 1 Tf -(\);)Tj --26.1 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 407)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_0 1 Tf -0 -1.5 TD -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_mutex_trylock)Tj -/TT0 1 Tf -(\(pthread_mutex_t *)Tj -/T1_2 1 Tf -(mutex)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 400)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47735 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(872)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -[(void )-2400(*)]TJ -/TT1 1 Tf -(pthread_getspecific)Tj -/TT0 1 Tf -(\(pthread_key_t)Tj -/T1_2 1 Tf -26.4 0 Td -(key)Tj -/TT0 1 Tf -(\);)Tj --12.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 449)Tj --28.125 -1.5 Td -[(Returns: thr)18(ead-speci\336c data value or)]TJ -/TT0 1 Tf -16.789 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -(if no value has)Tj --15.462 -1.25 Td -(been associated with the key)Tj -/TT0 1 Tf --17.477 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_join)Tj -/TT0 1 Tf -(\(pthread_t)Tj -/T1_2 1 Tf -13.8 0 Td -[(thr)18(ead)]TJ -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 4.337 0 Td -(oid **)Tj -/T1_2 1 Tf -(rval_ptr)Tj -/TT0 1 Tf -(\);)Tj --10.637 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 389)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_key_create)Tj -/TT0 1 Tf -(\(pthread_key_t *)Tj -/T1_2 1 Tf -(keyp)Tj -/TT0 1 Tf -(,)Tj -11.4 -1.25 Td -(void \(*)Tj -/T1_2 1 Tf -(destructor)Tj -/TT0 1 Tf -(\)\(void *\)\);)Tj --3.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 447)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_key_delete)Tj -/TT0 1 Tf -(\(pthread_key_t)Tj -/T1_2 1 Tf -19.8 0 Td -(key)Tj -/TT0 1 Tf -(\);)Tj --12.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 448)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_kill)Tj -/TT0 1 Tf -(\(pthread_t)Tj -/T1_2 1 Tf -13.8 0 Td -[(thr)18(ead)]TJ -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.337 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(signo)Tj -/TT0 1 Tf -(\);)Tj --12.437 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 455)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_mutexattr_destroy)Tj -/TT0 1 Tf -(\(pthread_mutexattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 431)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_mutexattr_getpshared)Tj -/TT0 1 Tf -(\(const pthread_mutexattr_t)Tj -18.6 -1.25 Td -(*restrict)Tj -/T1_2 1 Tf -6 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --7.2 -1.25 Td -(int *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj --18.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 431)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_mutexattr_getrobust)Tj -/TT0 1 Tf -(\(const pthread_mutexattr_t)Tj -18 -1.25 Td -(*restrict)Tj -/T1_2 1 Tf -6 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --7.2 -1.25 Td -(int *restrict)Tj -/T1_2 1 Tf --0.018 Tc 8.4 0 Td -(ro)Tj -0 Tc 0.815 0 Td -(bust)Tj -/TT0 1 Tf -(\);)Tj --18.515 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 432)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_mutexattr_gettype)Tj -/TT0 1 Tf -(\(const pthread_mutexattr_t)Tj -16.8 -1.25 Td -(*restrict)Tj -/T1_2 1 Tf -6 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --7.2 -1.25 Td -(int *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(type)Tj -/TT0 1 Tf -(\);)Tj --16.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 434)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_mutexattr_init)Tj -/TT0 1 Tf -(\(pthread_mutexattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 431)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47736 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(871)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_cond_broadcast)Tj -/TT0 1 Tf -(\(pthread_cond_t *)Tj -/T1_2 1 Tf -(cond)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 415)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_cond_destroy)Tj -/TT0 1 Tf -(\(pthread_cond_t *)Tj -/T1_2 1 Tf -(cond)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 414)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_cond_init)Tj -/TT0 1 Tf -(\(pthread_cond_t *restrict)Tj -/T1_2 1 Tf -25.8 0 Td -(cond)Tj -/TT0 1 Tf -(,)Tj --15 -1.25 Td -(const pthread_condattr_t *restrict)Tj -/T1_2 1 Tf -21 0 Td -(attr)Tj -/TT0 1 Tf -(\);)Tj --24.3 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 414)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_cond_signal)Tj -/TT0 1 Tf -(\(pthread_cond_t *)Tj -/T1_2 1 Tf -(cond)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 415)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_cond_timedwait)Tj -/TT0 1 Tf -(\(pthread_cond_t *restrict)Tj -/T1_2 1 Tf -28.8 0 Td -(cond)Tj -/TT0 1 Tf -(,)Tj --15 -1.25 Td -(pthread_mutex_t *restrict)Tj -/T1_2 1 Tf -15.6 0 Td -(mutex)Tj -/TT0 1 Tf -(,)Tj --15.6 -1.25 Td -(const struct timespec)Tj -1.2 -1.25 Td -(*restrict)Tj -/T1_2 1 Tf -6 0 Td -(timeout)Tj -/TT0 1 Tf -(\);)Tj --13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 414)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_cond_wait)Tj -/TT0 1 Tf -(\(pthread_cond_t *restrict)Tj -/T1_2 1 Tf -25.8 0 Td -(cond)Tj -/TT0 1 Tf -(,)Tj --15 -1.25 Td -(pthread_mutex_t *restrict)Tj -/T1_2 1 Tf -15.6 0 Td -(mutex)Tj -/TT0 1 Tf -(\);)Tj --18.9 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 414)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_create)Tj -/TT0 1 Tf -(\(pthread_t *restrict)Tj -/T1_2 1 Tf -21 0 Td -(tidp)Tj -/TT0 1 Tf -(,)Tj --12 -1.25 Td -(const pthread_attr_t *restrict)Tj -/T1_2 1 Tf -18.6 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --18.6 -1.25 Td -(void *\(*)Tj -/T1_2 1 Tf -(start_rtn)Tj -/TT0 1 Tf -(\)\(void *\),)Tj -0 -1.25 TD -(void *restrict)Tj -/T1_2 1 Tf -9 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj --10.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 385)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_detach)Tj -/TT0 1 Tf -(\(pthread_t)Tj -/T1_2 1 Tf -15 0 Td -(tid)Tj -/TT0 1 Tf -(\);)Tj --7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 397)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_equal)Tj -/TT0 1 Tf -(\(pthread_t)Tj -/T1_2 1 Tf -14.4 0 Td -(tid1)Tj -/TT0 1 Tf -0.6 Tc (,p)Tj -0 Tc 3.411 0 Td -(thread_t)Tj -/T1_2 1 Tf -5.4 0 Td -(tid2)Tj -/TT0 1 Tf -(\);)Tj --15.711 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 385)Tj --28.125 -1.5 Td -[(Returns: nonzer)18(o)-250(if)-250(equal, 0 otherwise)]TJ -/TT0 1 Tf --13.5 -3 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(pthread_exit)Tj -/TT0 1 Tf -(\(void *)Tj -/T1_2 1 Tf -(rval_ptr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 389)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47737 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(870)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_barrier_wait)Tj -/TT0 1 Tf -(\(pthread_barrier_t *)Tj -/T1_2 1 Tf -(barrier)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 419)Tj --28.125 -1.5 Td -(Returns: 0 or)Tj -/TT0 1 Tf -5.918 0 Td -(PTHREAD_BARRIER_SERIAL_THREAD)Tj -/T1_1 1 Tf -17.65 0 Td -(if OK,)Tj --19.591 -1.25 Td -[(err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --17.477 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_cancel)Tj -/TT0 1 Tf -(\(pthread_t)Tj -/T1_2 1 Tf -15 0 Td -(tid)Tj -/TT0 1 Tf -(\);)Tj --7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 393)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(pthread_cleanup_pop)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -14.4 0 Td -(execute)Tj -/TT0 1 Tf -(\);)Tj --6.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 394)Tj -/TT0 1 Tf --41.625 -3 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(pthread_cleanup_push)Tj -/TT0 1 Tf -(\(void \(*)Tj -/T1_2 1 Tf -(rtn)Tj -/TT0 1 Tf -(\)\(void *\), void *)Tj -/T1_2 1 Tf -[(ar)18(g)]TJ -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 394)Tj -/TT0 1 Tf --41.625 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_condattr_destroy)Tj -/TT0 1 Tf -(\(pthread_condattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 440)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_condattr_getclock)Tj -/TT0 1 Tf -(\(const pthread_condattr_t)Tj -16.8 -1.25 Td -(*restrict)Tj -/T1_2 1 Tf -6 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --7.2 -1.25 Td -(clockid_t *restrict)Tj -/T1_2 1 Tf -12 0 Td -(clock_id)Tj -/TT0 1 Tf -(\);)Tj --20.1 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 441)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_condattr_getpshared)Tj -/TT0 1 Tf -(\(const pthread_condattr_t)Tj -18 -1.25 Td -(*restrict)Tj -/T1_2 1 Tf -6 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --7.2 -1.25 Td -(int *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj --17.7 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 440)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_condattr_init)Tj -/TT0 1 Tf -(\(pthread_condattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 440)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_condattr_setclock)Tj -/TT0 1 Tf -(\(pthread_condattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -15.6 -1.25 Td -(clockid_t)Tj -/T1_2 1 Tf -6 0 Td -(clock_id)Tj -/TT0 1 Tf -(\);)Tj --14.1 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 441)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_condattr_setpshared)Tj -/TT0 1 Tf -(\(pthread_condattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -16.8 -1.25 Td -(int)Tj -/T1_2 1 Tf -2.4 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj --11.7 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 440)Tj -/T1_2 1 Tf --28.125 -1.5 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -0.6 Tc (:P)Tj -0 Tc 4.893 0 Td -(THREAD_PROCESS_PRIVATE,)Tj --0.6 -1.25 Td -(PTHREAD_PROCESS_SHARED)Tj -/T1_1 1 Tf --4.293 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47738 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(869)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_attr_setguardsize)Tj -/TT0 1 Tf -(\(pthread_attr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -15.6 -1.25 Td -(size_t)Tj -/T1_2 1 Tf -4.2 0 Td -(guardsize)Tj -/TT0 1 Tf -(\);)Tj --12.3 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 430)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_attr_setstack)Tj -/TT0 1 Tf -(\(const pthread_attr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -13.2 -1.25 Td -(void *)Tj -/T1_2 1 Tf -(stackaddr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 9.25 0 Td -(ize_t *)Tj -/T1_2 1 Tf -(stacksize)Tj -/TT0 1 Tf -(\);)Tj --14.95 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 429)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_attr_setstacksize)Tj -/TT0 1 Tf -(\(pthread_attr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -15.6 -1.25 Td -(size_t)Tj -/T1_2 1 Tf -4.2 0 Td -(stacksize)Tj -/TT0 1 Tf -(\);)Tj --12.3 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 430)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_barrierattr_destroy)Tj -/TT0 1 Tf -(\(pthread_barrierattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 441)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_barrierattr_getpshared)Tj -/TT0 1 Tf -(\(const pthread_barrierattr_t)Tj -19.8 -1.25 Td -(*restrict)Tj -/T1_2 1 Tf -6 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --7.2 -1.25 Td -(int *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj --19.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 441)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_barrierattr_init)Tj -/TT0 1 Tf -(\(pthread_barrierattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 441)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_barrierattr_setpshared)Tj -/TT0 1 Tf -(\(pthread_barrierattr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -18.6 -1.25 Td -(int)Tj -/T1_2 1 Tf -2.4 0 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -(\);)Tj --13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 441)Tj -/T1_2 1 Tf --28.125 -1.5 Td -[(pshar)18(ed)]TJ -/TT0 1 Tf -0.6 Tc (:P)Tj -0 Tc 4.893 0 Td -(THREAD_PROCESS_PRIVATE,)Tj --0.6 -1.25 Td -(PTHREAD_PROCESS_SHARED)Tj -/T1_0 1 Tf --4.293 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_barrier_destroy)Tj -/TT0 1 Tf -(\(pthread_barrier_t *)Tj -/T1_2 1 Tf -(barrier)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 418)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_barrier_init)Tj -/TT0 1 Tf -(\(pthread_barrier_t *restrict)Tj -/T1_2 1 Tf -29.4 0 Td -(barrier)Tj -/TT0 1 Tf -(,)Tj --16.8 -1.25 Td -(const pthread_barrierattr_t *)Tj -1.2 -1.25 Td -(restrict)Tj -/T1_2 1 Tf -5.4 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --6.6 -1.25 Td -(unsigned int)Tj -/T1_2 1 Tf -7.8 0 Td -(count)Tj -/TT0 1 Tf -(\);)Tj --12.9 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 418)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47739 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(868)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(void)Tj -/TT1 1 Tf -6 0 Td -(psignal)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(signo)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.967 0 Td -(onst char *)Tj -/T1_2 1 Tf -(msg)Tj -/TT0 1 Tf -(\);)Tj --3.667 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 379)Tj -/TT0 1 Tf --28.125 -1.25 Td -[( )-1800(/*)-600(on Solaris */)]TJ --13.5 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_atfork)Tj -/TT0 1 Tf -(\(void \(*)Tj -/T1_2 1 Tf -[(pr)18(epar)18(e)]TJ -/TT0 1 Tf -(\)\(void\), void \(*)Tj -/T1_2 1 Tf -[(par)18(ent)]TJ -/TT0 1 Tf -(\)\(void\),)Tj -9 -1.25 Td -(void \(*)Tj -/T1_2 1 Tf -(child)Tj -/TT0 1 Tf -(\)\(void\)\);)Tj --1.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 458)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_attr_destroy)Tj -/TT0 1 Tf -(\(pthread_attr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 427)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_attr_getdetachstate)Tj -/TT0 1 Tf -(\(const pthread_attr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -16.8 -1.25 Td -(int *)Tj -/T1_2 1 Tf -(detachstate)Tj -/TT0 1 Tf -(\);)Tj --9.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 428)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_attr_getguardsize)Tj -/TT0 1 Tf -(\(const pthread_attr_t)Tj -16.8 -1.25 Td -(*restrict)Tj -/T1_2 1 Tf -6 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --7.2 -1.25 Td -(size_t *restrict)Tj -/T1_2 1 Tf -10.2 0 Td -(guardsize)Tj -/TT0 1 Tf -(\);)Tj --18.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 430)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_attr_getstack)Tj -/TT0 1 Tf -(\(const pthread_attr_t *restrict)Tj -/T1_2 1 Tf -31.8 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --18.6 -1.25 Td -(void **restrict)Tj -/T1_2 1 Tf -9.6 0 Td -(stackaddr)Tj -/TT0 1 Tf -(,)Tj --9.6 -1.25 Td -(size_t *restrict)Tj -/T1_2 1 Tf -10.2 0 Td -(stacksize)Tj -/TT0 1 Tf -(\);)Tj --15.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 429)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_attr_getstacksize)Tj -/TT0 1 Tf -(\(const pthread_attr_t)Tj -16.8 -1.25 Td -(*restrict)Tj -/T1_2 1 Tf -6 0 Td -(attr)Tj -/TT0 1 Tf -(,)Tj --7.2 -1.25 Td -(size_t *restrict)Tj -/T1_2 1 Tf -10.2 0 Td -(stacksize)Tj -/TT0 1 Tf -(\);)Tj --18.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 430)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_attr_init)Tj -/TT0 1 Tf -(\(pthread_attr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 427)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pthread_attr_setdetachstate)Tj -/TT0 1 Tf -(\(pthread_attr_t *)Tj -/T1_2 1 Tf -(attr)Tj -/TT0 1 Tf -(,)Tj -16.8 -1.25 Td -(int)Tj -/T1_2 1 Tf -2.4 0 Td -(detachstate)Tj -/TT0 1 Tf -(\);)Tj --11.7 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 428)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(detachstate)Tj -/TT0 1 Tf -0.6 Tc (:P)Tj -0 Tc 6.261 0 Td -(THREAD_CREATE_DETACHED,)Tj --0.6 -1.25 Td -(PTHREAD_CREATE_JOINABLE)Tj -/T1_1 1 Tf --5.661 -1.5 Td -[(Returns: 0 if OK, err)18(or number on failur)18(e)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47740 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(867)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(pclose)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 541)Tj --28.125 -1.5 Td -(Returns: termination status of)Tj -/TT0 1 Tf -13.41 0 Td -(popen)Tj -/T1_2 1 Tf -3.333 0 Td -(cmdstring)Tj -/T1_0 1 Tf -(,)Tj -/TT2 1 Tf -4.63 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --34.873 -3.125 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(perror)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(msg)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 15)Tj -/TT0 1 Tf --41.625 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pipe)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -5.4 0 Td -(fd)Tj -/TT0 1 Tf -([2]\);)Tj -2.1 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 535)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(poll)Tj -/TT0 1 Tf -(\(struct pollfd)Tj -/T1_2 1 Tf -11.4 0 Td -(fdarray)Tj -/TT0 1 Tf -([], nfds_t)Tj -/T1_2 1 Tf -9.544 0 Td -(nfds)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.523 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(timeout)Tj -/TT0 1 Tf -(\);)Tj --18.767 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 506)Tj --28.125 -1.5 Td -[(Returns: count of r)18(eady descriptors, 0 on timeout,)]TJ -/TT2 1 Tf -22.148 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --35.648 -3.125 Td -[(FILE )-2400(*)]TJ -/TT1 1 Tf -(popen)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(cmdstring)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 22.73 0 Td -(onst char *)Tj -/T1_2 1 Tf -(type)Tj -/TT0 1 Tf -(\);)Tj --9.23 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 541)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(type)Tj -/TT0 1 Tf -0.6 Tc (:")Tj -0 Tc 3.522 0 Td -(r", "w")Tj -/T1_0 1 Tf --3.522 -1.5 Td -(Returns: \336le pointer if OK,)Tj -/TT0 1 Tf -11.958 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --28.108 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(posix_openpt)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -10.2 0 Td -(o\337ag)Tj -/TT0 1 Tf -(\);)Tj --2.7 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 722)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_2 1 Tf -0 -1.5 TD -(o\337ag)Tj -/TT0 1 Tf -0.6 Tc (:O)Tj -0 Tc 3.733 0 Td -(_RWDR, O_NOCTTY)Tj -/T1_0 1 Tf --3.733 -1.5 Td -(Returns: \336le descriptor of next available PTY master if OK,)Tj -/TT2 1 Tf -3.977 -1.25 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --17.477 -3.125 Td -(ssize_t)Tj -/TT1 1 Tf -6 0 Td -(pread)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,v)Tj -0 Tc 2.578 0 Td -(oid *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 6.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nbytes)Tj -/TT0 1 Tf -0.6 Tc (,o)Tj -0 Tc 4.43 0 Td -(ff_t)Tj -/T1_2 1 Tf -3 0 Td -(offset)Tj -/TT0 1 Tf -(\);)Tj --18.205 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 78)Tj --28.125 -1.5 Td -[(Returns: number of bytes r)18(ead, 0 if end of \336le,)]TJ -/TT2 1 Tf -20.456 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --33.956 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(printf)Tj -/TT0 1 Tf -(\(const char *restrict)Tj -/T1_2 1 Tf -16.8 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 4.466 0 Td -(..\);)Tj --13.766 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 159)Tj --28.125 -1.5 Td -(Returns: number of characters output if OK, negative value)Tj -3.977 -1.25 Td -[(if output err)18(or)]TJ -/TT0 1 Tf --17.477 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pselect)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(maxfdp1)Tj -/TT0 1 Tf -0.6 Tc (,f)Tj -0 Tc 5.3 0 Td -(d_set *restrict)Tj -/T1_2 1 Tf --0.018 Tc 9.6 0 Td -(re)Tj -0 Tc 0.76 0 Td -(adfds)Tj -/TT0 1 Tf -(,)Tj --18.06 -1.25 Td -(fd_set *restrict)Tj -/T1_2 1 Tf -10.2 0 Td -(writefds)Tj -/TT0 1 Tf -0.6 Tc (,f)Tj -0 Tc 5.078 0 Td -(d_set *restrict)Tj -/T1_2 1 Tf -9.6 0 Td -(exceptfds)Tj -/TT0 1 Tf -(,)Tj --24.878 -1.25 Td -(const struct timespec *restrict)Tj -/T1_2 1 Tf -19.2 0 Td -(tsptr)Tj -/TT0 1 Tf -(,)Tj --19.2 -1.25 Td -(const sigset_t *restrict)Tj -/T1_2 1 Tf -15 0 Td -(sigmask)Tj -/TT0 1 Tf -(\);)Tj --12.3 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 506)Tj --28.125 -1.5 Td -[(Returns: count of r)18(eady descriptors, 0 on timeout,)]TJ -/TT2 1 Tf -22.148 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --35.648 -3.125 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(psiginfo)Tj -/TT0 1 Tf -(\(const siginfo_t *)Tj -/T1_2 1 Tf -(info)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 18.956 0 Td -(onst char *)Tj -/T1_2 1 Tf -(msg)Tj -/TT0 1 Tf -(\);)Tj --11.456 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 379)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47741 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(866)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(openat)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 10.177 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(o\337ag)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 3.733 0 Td -(..)Tj --20.688 -1.25 Td -(/* mode_t)Tj -/T1_2 1 Tf -6 0 Td -(mode)Tj -/TT0 1 Tf -2.711 0 Td -(*/ \);)Tj --5.411 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 62)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(o\337ag)Tj -/TT0 1 Tf -0.6 Tc (:O)Tj -0 Tc 3.733 0 Td -(_RDONLY, O_WRONLY, O_RDWR, O_EXEC,)Tj --0.6 -1.25 Td -(O_SEARCH;)Tj -0 -1.25 TD -(O_APPEND, O_CLOEXEC, O_CREAT,)Tj -T* -(O_DIRECTORY, O_DSYNC, O_EXCL,)Tj -T* -(O_NOCTTY, O_NOFOLLOW, O_NONBLOCK,)Tj -T* -(O_RSYNC, O_SYNC, O_TRUNC, O_TTY_INIT)Tj -/T1_2 1 Tf --3.133 -1.5 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 3.911 0 Td -(_IS)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(UG)Tj -1.2 0.04 Td -(])Tj -0.6 -0.04 Td -(ID, S_ISVTX,)Tj --4.8 -1.25 Td -(S_I)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(RWX)Tj -1.8 0.04 Td -(])Tj -0.6 -0.04 Td -(\(USR|GRP|OTH\))Tj -/T1_1 1 Tf --8.111 -1.5 Td -(Returns: \336le descriptor if OK,)Tj -/TT2 1 Tf -13.25 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ --13.25 -1.5 Td -(Platforms:)Tj -/TT0 1 Tf -4.802 0 Td -(O_FSYNC)Tj -/T1_1 1 Tf -4.45 0 Td -[(\337ag on Fr)18(eeBSD 8.0 and Mac OS X 10.6.8)]TJ -/TT0 1 Tf --22.752 -2.875 Td -[(DIR )-3000(*)]TJ -/TT1 1 Tf -(opendir)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -(\);)Tj -13.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 130)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --26.483 -2.875 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(openlog)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(ident)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 15.856 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(option)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.355 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(facility)Tj -/TT0 1 Tf -(\);)Tj --16.311 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 470)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(option)Tj -/TT0 1 Tf -0.6 Tc (:L)Tj -0 Tc 4.355 0 Td -(OG_CONS, LOG_NDELAY, LOG_NOWAIT,)Tj --0.6 -1.25 Td -(LOG_ODELAY, LOG_PERROR, LOG_PID)Tj -/T1_2 1 Tf --3.755 -1.5 Td -(facility)Tj -/TT0 1 Tf -0.6 Tc (:L)Tj -0 Tc 4.596 0 Td -(OG_AUTH, LOG_AUTHPRIV, LOG_CRON,)Tj --0.6 -1.25 Td -(LOG_DAEMON, LOG_FTP, LOG_KERN,)Tj -T* -(LOG_LOCAL[0)Tj -6.6 0.09 Td -(-)Tj -0.6 -0.09 Td -(7], LOG_LPR, LOG_MAIL,)Tj --7.2 -1.25 Td -(LOG_NEWS, LOG_SYSLOG, LOG_USER, LOG_UUCP)Tj --17.496 -2.875 Td -[(FILE )-2400(*)]TJ -/TT1 1 Tf -(open_memstream)Tj -/TT0 1 Tf -(\(char **)Tj -/T1_2 1 Tf -(bufp)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 22.797 0 Td -(ize_t *)Tj -/T1_2 1 Tf -(sizep)Tj -/TT0 1 Tf -(\);)Tj --9.297 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 173)Tj --28.125 -1.5 Td -[(Returns: str)18(eam pointer if OK,)]TJ -/TT0 1 Tf -13.572 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --29.722 -2.875 Td -[(FILE )-2400(*)]TJ -/TT1 1 Tf -(open_wmemstream)Tj -/TT0 1 Tf -(\(wchar_t **)Tj -/T1_2 1 Tf -(bufp)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 25.197 0 Td -(ize_t *)Tj -/T1_2 1 Tf -(sizep)Tj -/TT0 1 Tf -(\);)Tj --11.697 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 173)Tj --28.125 -1.5 Td -[(Returns: str)18(eam pointer if OK,)]TJ -/TT0 1 Tf -13.572 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --29.722 -2.875 Td -(long)Tj -/TT1 1 Tf -6 0 Td -(pathconf)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 16.177 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(name)Tj -/TT0 1 Tf -(\);)Tj --10.477 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 42)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(name)Tj -/TT0 1 Tf -0.6 Tc (:_)Tj -0 Tc 3.967 0 Td -(PC_ASYNC_IO, _PC_CHOWN_RESTRICTED,)Tj --0.6 -1.25 Td -(_PC_FILESIZEBITS, _PC_LINK_MAX,)Tj -T* -(_PC_MAX_CANON, _PC_MAX_INPUT,)Tj -T* -(_PC_NAME_MAX, _PC_NO_TRUNC, _PC_PATH_MAX,)Tj -T* -(_PC_PIPE_BUF, _PC_PRIO_IO, _PC_SYMLINK_MAX,)Tj -T* -(_PC_SYNC_IO, _PC_TIMESTAMP_RESOLUTION,)Tj -T* -(_PC_2_SYMLINKS, _PC_VDISABLE)Tj -/T1_1 1 Tf --3.367 -1.5 Td -[(Returns: corr)18(esponding value if OK,)]TJ -/TT2 1 Tf -16.235 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --29.735 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(pause)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 338)Tj --28.125 -1.5 Td -(Returns:)Tj -/TT2 1 Tf -3.977 0 Td -(!)Tj -/T1_1 1 Tf -0.25 Tc (1w)Tj -0 Tc 2.133 0 Td -(ith)Tj -/TT0 1 Tf -1.449 0 Td -(errno)Tj -/T1_1 1 Tf -3.25 0 Td -(set to)Tj -/TT0 1 Tf -2.601 0 Td -(EINTR)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47742 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(864)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -[(char )-2400(*)]TJ -/TT1 1 Tf -(mkdtemp)Tj -/TT0 1 Tf -(\(char *)Tj -/T1_2 1 Tf -(template)Tj -/TT0 1 Tf -(\);)Tj -13.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 169)Tj --28.125 -1.5 Td -[(Returns: pointer to dir)18(ectory name if OK,)]TJ -/TT0 1 Tf -18.424 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --34.574 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(mkfifo)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,m)Tj -0 Tc 14.977 0 Td -(ode_t)Tj -/T1_2 1 Tf -3.6 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj --11.077 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 553)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 3.911 0 Td -(_IS)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(UG)Tj -1.2 0.04 Td -(])Tj -0.6 -0.04 Td -(ID, S_ISVTX,)Tj --4.8 -1.25 Td -(S_I)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(RWX)Tj -1.8 0.04 Td -(])Tj -0.6 -0.04 Td -(\(USR|GRP|OTH\))Tj -/T1_1 1 Tf --8.111 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(mkfifoat)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,m)Tj -0 Tc 10.177 0 Td -(ode_t)Tj -/T1_2 1 Tf -3.6 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj --16.655 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 553)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 3.911 0 Td -(_IS)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(UG)Tj -1.2 0.04 Td -(])Tj -0.6 -0.04 Td -(ID, S_ISVTX,)Tj --4.8 -1.25 Td -(S_I)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(RWX)Tj -1.8 0.04 Td -(])Tj -0.6 -0.04 Td -(\(USR|GRP|OTH\))Tj -/T1_1 1 Tf --8.111 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(mkstemp)Tj -/TT0 1 Tf -(\(char *)Tj -/T1_2 1 Tf -(template)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 169)Tj --28.125 -1.5 Td -(Returns: \336le descriptor if OK,)Tj -/TT2 1 Tf -13.25 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --26.75 -2.875 Td -(time_t)Tj -/TT1 1 Tf -6 0 Td -(mktime)Tj -/TT0 1 Tf -(\(struct tm *)Tj -/T1_2 1 Tf -(tmptr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 192)Tj --28.125 -1.5 Td -(Returns: calendar time if OK,)Tj -/TT2 1 Tf -13.144 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --26.644 -2.875 Td -[(void )-2400(*)]TJ -/TT1 1 Tf -(mmap)Tj -/TT0 1 Tf -(\(void *)Tj -/T1_2 1 Tf -(addr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 16.233 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(len)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.023 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -[(pr)18(ot)]TJ -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.448 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.289 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(fd)Tj -/TT0 1 Tf -(,)Tj --25.993 -1.25 Td -(off_t)Tj -/T1_2 1 Tf -3.6 0 Td -(off)Tj -/TT0 1 Tf -1.185 0 Td -(\);)Tj --0.285 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 525)Tj -/T1_2 1 Tf --28.125 -1.5 Td -[(pr)18(ot)]TJ -/TT0 1 Tf -0.6 Tc (:P)Tj -0 Tc 3.448 0 Td -(ROT_READ, PROT_WRITE, PROT_EXEC,)Tj --0.6 -1.25 Td -(PROT_NONE)Tj -/T1_2 1 Tf --2.848 -1.5 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (:M)Tj -0 Tc 3.289 0 Td -(AP_FIXED, MAP_SHARED, MAP_PRIVATE)Tj -/T1_1 1 Tf --3.289 -1.5 Td -[(Returns: starting addr)18(ess of mapped r)18(egion if OK,)]TJ -/TT0 1 Tf -3.977 -1.25 Td -(MAP_FAILED)Tj -/T1_1 1 Tf -6.25 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --23.727 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(mprotect)Tj -/TT0 1 Tf -(\(void *)Tj -/T1_2 1 Tf -(addr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 12.633 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(len)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.023 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -[(pr)18(ot)]TJ -/TT0 1 Tf -(\);)Tj --13.556 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 527)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(msgctl)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(msqid)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.208 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(cmd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.485 0 Td -(truct msqid_ds *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -11.082 0 Td -(\);)Tj --19.675 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 562)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(cmd)Tj -/TT0 1 Tf -0.6 Tc (:I)Tj -0 Tc 3.485 0 Td -(PC_STAT, IPC_SET, IPC_RMID)Tj -/T1_1 1 Tf --3.485 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(msgget)Tj -/TT0 1 Tf -(\(key_t)Tj -/T1_2 1 Tf -7.8 0 Td -(key)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.133 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj --5.233 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 562)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (:I)Tj -0 Tc 3.289 0 Td -(PC_CREAT, IPC_EXCL)Tj -/T1_1 1 Tf --3.289 -1.5 Td -(Returns: message queue ID if OK,)Tj -/TT2 1 Tf -15.193 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47743 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(863)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(lio_listio)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9 0 Td -(mode)Tj -/TT0 1 Tf -(,)Tj --2.4 -1.25 Td -(struct aiocb *restrict const)Tj -/T1_2 1 Tf -17.4 0 Td -(list)Tj -/TT0 1 Tf -([restrict],)Tj --17.4 -1.25 Td -(int)Tj -/T1_2 1 Tf -2.4 0 Td -(nent)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.634 0 Td -(truct sigevent *restrict)Tj -/T1_2 1 Tf -15 0 Td -(sigev)Tj -/TT0 1 Tf -(\);)Tj --20.134 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 515)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (:L)Tj -0 Tc 3.911 0 Td -(IO_NOWAIT, LIO_WAIT)Tj -/T1_0 1 Tf --3.911 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(listen)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.262 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(backlog)Tj -/TT0 1 Tf -(\);)Tj --5.162 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 608)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.125 Td -(struct)Tj -0 -1.25 TD -[(tm )-3600(*)]TJ -/TT1 1 Tf -(localtime)Tj -/TT0 1 Tf -(\(const time_t *)Tj -/T1_2 1 Tf -(calptr)Tj -/TT0 1 Tf -(\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 192)Tj --28.125 -1.5 Td -[(Returns: pointer to br)18(oken-down time,)]TJ -/TT0 1 Tf -17.297 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --33.447 -3.125 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(longjmp)Tj -/TT0 1 Tf -(\(jmp_buf)Tj -/T1_2 1 Tf -9.6 0 Td -(env)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.245 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(val)Tj -/TT0 1 Tf -(\);)Tj --7.145 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 215)Tj --28.125 -1.5 Td -[(This function never r)18(eturns)]TJ -/TT0 1 Tf --13.5 -3.125 Td -(off_t)Tj -/TT1 1 Tf -6 0 Td -(lseek)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,o)Tj -0 Tc 2.578 0 Td -(ff_t)Tj -/T1_2 1 Tf -3 0 Td -(offset)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.911 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(whence)Tj -/TT0 1 Tf -(\);)Tj --9.789 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 67)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(whence)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 4.763 0 Td -(EEK_SET, SEEK_CUR, SEEK_END)Tj -/T1_0 1 Tf --4.763 -1.5 Td -[(Returns: new \336le of)18(fset if OK,)]TJ -/TT2 1 Tf -13.306 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --26.806 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(lstat)Tj -/TT0 1 Tf -(\(const char *restrict)Tj -/T1_2 1 Tf -16.2 0 Td -(path)Tj -/TT0 1 Tf -(,)Tj --12.6 -1.25 Td -(struct stat *restrict)Tj -/T1_2 1 Tf -13.2 0 Td -(buf)Tj -/TT0 1 Tf -1.482 0 Td -(\);)Tj --10.782 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 93)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.125 Td -[(void )-2400(*)]TJ -/TT1 1 Tf -(malloc)Tj -/TT0 1 Tf -(\(size_t)Tj -/T1_2 1 Tf -14.4 0 Td -(size)Tj -/TT0 1 Tf -(\);)Tj --0.9 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 207)Tj --28.125 -1.5 Td -(Returns: non-null pointer if OK,)Tj -/TT0 1 Tf -14.393 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --30.543 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(mkdir)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,m)Tj -0 Tc 14.377 0 Td -(ode_t)Tj -/T1_2 1 Tf -3.6 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj --10.477 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 129)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 3.911 0 Td -(_IS)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(UG)Tj -1.2 0.04 Td -(])Tj -0.6 -0.04 Td -(ID, S_ISVTX,)Tj --4.8 -1.25 Td -(S_I)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(RWX)Tj -1.8 0.04 Td -(])Tj -0.6 -0.04 Td -(\(USR|GRP|OTH\))Tj -/T1_0 1 Tf --8.111 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(mkdirat)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,m)Tj -0 Tc 10.177 0 Td -(ode_t)Tj -/T1_2 1 Tf -3.6 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj --16.055 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 129)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 3.911 0 Td -(_IS)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(UG)Tj -1.2 0.04 Td -(])Tj -0.6 -0.04 Td -(ID, S_ISVTX,)Tj --4.8 -1.25 Td -(S_I)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(RWX)Tj -1.8 0.04 Td -(])Tj -0.6 -0.04 Td -(\(USR|GRP|OTH\))Tj -/T1_0 1 Tf --8.111 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47744 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(862)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(const)Tj -0 -1.25 TD -[(char )-2400(*)]TJ -/TT1 1 Tf -(inet_ntop)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -14.4 0 Td -(domain)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.8 0 Td -(onst void *restrict)Tj -/T1_2 1 Tf -12 0 Td -(addr)Tj -/TT0 1 Tf -(,)Tj --19.2 -1.25 Td -(char *restrict)Tj -/T1_2 1 Tf -9 0 Td -(str)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 2.911 0 Td -(ocklen_t)Tj -/T1_2 1 Tf -5.4 0 Td -(size)Tj -/TT0 1 Tf -(\);)Tj --15.811 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 596)Tj --28.125 -1.5 Td -[(Returns: pointer to addr)18(ess string on success,)]TJ -/TT0 1 Tf -20.189 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --36.339 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(inet_pton)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(domain)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.8 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(str)Tj -/TT0 1 Tf -(,)Tj --19.2 -1.25 Td -(void *restrict)Tj -/T1_2 1 Tf -9 0 Td -(addr)Tj -/TT0 1 Tf -(\);)Tj --7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 596)Tj --28.125 -1.5 Td -(Returns: 1 on success, 0 if the format is invalid, or)Tj -/TT2 1 Tf -22.128 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --35.628 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(initgroups)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(username)Tj -/TT0 1 Tf -0.6 Tc (,g)Tj -0 Tc 19.49 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(basegid)Tj -/TT0 1 Tf -(\);)Tj --14.99 -1.5 Td -[( )-1800(/*)-600(Linux & Solaris */)]TJ -/T1_1 1 Tf -28.125 0 Td -(p. 184)Tj -/TT0 1 Tf --28.125 -1.25 Td -( /* FreeBSD & Mac OS X */)Tj -/T1_1 1 Tf -0 -1.5 TD -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(ioctl)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf --0.018 Tc 1.8 0 Td -(re)Tj -0 Tc 0.76 0 Td -(quest)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 3.93 0 Td -(..\);)Tj --7.568 -1.5 Td -[( )-2400(/*)-600(System V */)]TJ -/T1_1 1 Tf -28.125 0 Td -(p. 87)Tj -/TT0 1 Tf --28.125 -1.25 Td -[( )-600(/*)-600(BSD and Linux */)]TJ -/T1_1 1 Tf -T* -(Returns:)Tj -/TT2 1 Tf -3.977 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -0.25 Tc 4.795 0 Td -(,s)Tj -0 Tc 0.924 0 Td -(omething else if OK)Tj -/TT0 1 Tf --23.196 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(isatty)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -0.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 695)Tj --28.125 -1.5 Td -[(Returns: 1 \(tr)8(ue\) if terminal device, 0 \(false\) otherwise)]TJ -/TT0 1 Tf --13.5 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(kill)Tj -/TT0 1 Tf -(\(pid_t)Tj -/T1_2 1 Tf -6.6 0 Td -(pid)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.078 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(signo)Tj -/TT0 1 Tf -(\);)Tj --3.978 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 337)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(lchown)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,u)Tj -0 Tc 14.977 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(owner)Tj -/TT0 1 Tf -0.6 Tc (,g)Tj -0 Tc 4.3 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -[(gr)18(oup)]TJ -/TT0 1 Tf -(\);)Tj --17.777 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 109)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(link)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(existingpath)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 17 0 Td -(onst char *)Tj -/T1_2 1 Tf -(newpath)Tj -/TT0 1 Tf -(\);)Tj --9.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -[(p. 1)55(16)]TJ --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(linkat)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(efd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.967 0 Td -(onst char *)Tj -/T1_2 1 Tf -(existingpath)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 13.4 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(nfd)Tj -/TT0 1 Tf -(,)Tj --20.567 -1.25 Td -(const char *)Tj -/T1_2 1 Tf -(newpath)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 12.444 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj --10.944 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -[(p. 1)55(16)]TJ -/T1_2 1 Tf --28.125 -1.5 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (:A)Tj -0 Tc 3.289 0 Td -(T_SYMLINK_NOFOLLOW)Tj -/T1_1 1 Tf --3.289 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47745 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(860)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(getrlimit)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf --0.018 Tc 8.4 0 Td -(re)Tj -0 Tc 0.76 0 Td -[(sour)18(ce)]TJ -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.356 0 Td -(truct rlimit *)Tj -/T1_2 1 Tf -(rlptr)Tj -/TT0 1 Tf -(\);)Tj --6.016 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 220)Tj -/T1_2 1 Tf --0.018 Tc -28.125 -1.5 Td -(re)Tj -0 Tc 0.76 0 Td -[(sour)18(ce)]TJ -/TT0 1 Tf -0.6 Tc (:R)Tj -0 Tc 4.356 0 Td -(LIMIT_CORE, RLIMIT_CPU,)Tj --0.6 -1.25 Td -(RLIMIT_DATA, RLIMIT_FSIZE,)Tj -0 -1.25 TD -(RLIMIT_NOFILE, RLIMIT_STACK,)Tj -T* -(RLIMIT_AS)Tj -/T1_1 1 Tf -6 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Solaris 10\))Tj -/TT0 1 Tf -(,)Tj --6.333 -1.25 Td -(RLIMIT_MEMLOCK)Tj -/T1_1 1 Tf -9 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Mac OS X 10.6.8\))Tj -/TT0 1 Tf -(,)Tj --9.333 -1.25 Td -(RLIMIT_MSGQUEUE)Tj -/T1_1 1 Tf -9.6 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --15.119 -1.25 Td -(RLIMIT_NICE)Tj -/T1_1 1 Tf -7.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --12.719 -1.25 Td -(RLIMIT_NPROC)Tj -/T1_1 1 Tf -7.8 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Mac OS X 10.6.8\))Tj -/TT0 1 Tf -(,)Tj --8.133 -1.25 Td -(RLIMIT_NPTS)Tj -/T1_1 1 Tf -7.2 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Fr)18(eeBSD 8.0)]TJ -5.301 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --13.167 -1.25 Td -(RLIMIT_RSS)Tj -/T1_1 1 Tf -6.6 0 Td -[(\(Fr)18(eeBSD 8.0, Linux 3.2.0,)]TJ -0.333 -1.25 Td -(Mac OS X 10.6.8\))Tj -/TT0 1 Tf -(,)Tj --6.933 -1.25 Td -(RLIMIT_SBSIZE)Tj -/T1_1 1 Tf -8.4 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Fr)18(eeBSD 8.0)]TJ -5.301 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --14.367 -1.25 Td -(RLIMIT_SIGPENDING)Tj -/T1_1 1 Tf -10.8 0.04 Td -(\()Tj -0.333 -0.04 Td -(Linux 3.2.0)Tj -4.853 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --16.319 -1.25 Td -(RLIMIT_SWAP)Tj -/T1_1 1 Tf -7.2 0.04 Td -(\()Tj -0.333 -0.04 Td -[(Fr)18(eeBSD 8.0)]TJ -5.301 0.04 Td -(\))Tj -/TT0 1 Tf -0.333 -0.04 Td -(,)Tj --13.167 -1.25 Td -(RLIMIT_VMEM)Tj -/T1_1 1 Tf -7.2 0.04 Td -(\()Tj -0.333 -0.04 Td -(Solaris 10)Tj -4.222 0.04 Td -(\))Tj --16.271 -1.54 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.8 Td -[(char )-2400(*)]TJ -/TT1 1 Tf -(gets)Tj -/TT0 1 Tf -(\(char *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -14.082 0 Td -(\);)Tj --0.582 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 152)Tj --28.125 -1.5 Td -(Returns:)Tj -/T1_2 1 Tf -3.977 0 Td -(buf)Tj -/T1_1 1 Tf -1.547 0 Td -(if OK,)Tj -/TT0 1 Tf -2.886 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on end of \336le or err)18(or)]TJ -/TT0 1 Tf --24.56 -2.8 Td -(struct)Tj -T* -[(servent )-600(*)]TJ -/TT1 1 Tf -(getservbyname)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 25.567 0 Td -(onst char *)Tj -/T1_2 1 Tf -[(pr)18(oto)]TJ -/TT0 1 Tf -(\);)Tj --12.067 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 599)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --26.483 -2.8 Td -(struct)Tj -T* -[(servent )-600(*)]TJ -/TT1 1 Tf -(getservbyport)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -16.8 0 Td -(port)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.466 0 Td -(onst char *)Tj -/T1_2 1 Tf -[(pr)18(oto)]TJ -/TT0 1 Tf -(\);)Tj --6.766 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 599)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --26.483 -2.8 Td -(struct)Tj -T* -[(servent )-600(*)]TJ -/TT1 1 Tf -(getservent)Tj -/TT0 1 Tf -(\(void\);)Tj -13.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 599)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --26.483 -2.8 Td -(pid_t)Tj -/TT1 1 Tf -6 0 Td -(getsid)Tj -/TT0 1 Tf -(\(pid_t)Tj -/T1_2 1 Tf -7.8 0 Td -(pid)Tj -/TT0 1 Tf -(\);)Tj --0.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 296)Tj --28.125 -1.5 Td -[(Returns: session leader)-74(\325s pr)18(ocess gr)18(oup ID if OK,)]TJ -/TT2 1 Tf -3.977 -1.25 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --17.477 -2.8 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(getsockname)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.262 0 Td -(truct sockaddr *restrict)Tj -/T1_2 1 Tf -15 0 Td -(addr)Tj -/TT0 1 Tf -(,)Tj --21.662 -1.25 Td -(socklen_t *restrict)Tj -/T1_2 1 Tf -12 0 Td -(alenp)Tj -/TT0 1 Tf -(\);)Tj --11.7 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 605)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47746 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(859)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(pid_t)Tj -/TT1 1 Tf -6 0 Td -(getpid)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 228)Tj --28.125 -1.5 Td -[(Returns: pr)18(ocess ID of calling pr)18(ocess)]TJ -/TT0 1 Tf --13.5 -3.375 Td -(pid_t)Tj -/TT1 1 Tf -6 0 Td -(getppid)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 228)Tj --28.125 -1.5 Td -[(Returns: par)18(ent pr)18(ocess ID of calling pr)18(ocess)]TJ -/TT0 1 Tf --13.5 -3.375 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(getpriority)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(which)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.207 0 Td -(d_t)Tj -/T1_2 1 Tf -2.4 0 Td -(who)Tj -/TT0 1 Tf -(\);)Tj --8.707 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 277)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(which)Tj -/TT0 1 Tf -0.6 Tc (:P)Tj -0 Tc 4.207 0 Td -(RIO_PROCESS, PRIO_PGRP, PRIO_USER)Tj -/T1_0 1 Tf --4.207 -1.5 Td -(Returns: nice value between)Tj -/TT2 1 Tf -12.693 0 Td -(!)Tj -/TT0 1 Tf -(NZERO)Tj -/T1_0 1 Tf -3.799 0 Td -(and)Tj -/TT0 1 Tf -1.943 0 Td -(NZERO)Tj -/TT2 1 Tf -(!)Tj -/TT0 1 Tf -(1)Tj -/T1_0 1 Tf -4.399 0 Td -(if OK,)Tj -/TT2 1 Tf --18.857 -1.25 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --17.477 -3.375 Td -(struct)Tj -0 -1.25 TD -(protoent *)Tj -/TT1 1 Tf -(getprotobyname)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 598)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --26.483 -3.375 Td -(struct)Tj -T* -(protoent *)Tj -/TT1 1 Tf -(getprotobynumber)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -18.6 0 Td -[(pr)18(oto)]TJ -/TT0 1 Tf -(\);)Tj --5.1 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 598)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --26.483 -3.375 Td -(struct)Tj -0 -1.25 Td -(protoent *)Tj -/TT1 1 Tf -(getprotoent)Tj -/TT0 1 Tf -(\(void\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 598)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --26.483 -3.375 Td -(struct)Tj -T* -[(passwd )-1200(*)]TJ -/TT1 1 Tf -(getpwent)Tj -/TT0 1 Tf -(\(void\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 180)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or or end of \336le)]TJ -/TT0 1 Tf --26.483 -3.375 Td -(struct)Tj -T* -[(passwd )-1200(*)]TJ -/TT1 1 Tf -(getpwnam)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 179)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --26.483 -3.375 Td -(struct)Tj -T* -[(passwd )-1200(*)]TJ -/TT1 1 Tf -(getpwuid)Tj -/TT0 1 Tf -(\(uid_t)Tj -/T1_2 1 Tf -15 0 Td -(uid)Tj -/TT0 1 Tf -(\);)Tj --1.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 179)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47747 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(858)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(getnameinfo)Tj -/TT0 1 Tf -(\(const struct sockaddr *restrict)Tj -/T1_2 1 Tf -26.4 0 Td -(addr)Tj -/TT0 1 Tf -(,)Tj --19.2 -1.25 Td -(socklen_t)Tj -/T1_2 1 Tf -6 0 Td -(alen)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.467 0 Td -(har *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(host)Tj -/TT0 1 Tf -(,)Tj --17.867 -1.25 Td -(socklen_t)Tj -/T1_2 1 Tf -6 0 Td -(hostlen)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.689 0 Td -(har *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(service)Tj -/TT0 1 Tf -(,)Tj --19.089 -1.25 Td -(socklen_t)Tj -/T1_2 1 Tf -6 0 Td -(servlen)Tj -/TT0 1 Tf -0.6 Tc (,u)Tj -0 Tc 4.69 0 Td -(nsigned int)Tj -/T1_2 1 Tf -7.2 0 Td -(\337ags)Tj -/TT0 1 Tf -(\);)Tj --17.59 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 600)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_2 1 Tf -0 -1.5 TD -(\337ags)Tj -/TT0 1 Tf -0.6 Tc (:N)Tj -0 Tc 3.678 0 Td -(I_DGRAM, NI_NAMEREQD, NI_NOFQDN,)Tj --0.6 -1.25 Td -(NI_NUMERICHOST, NI_NUMERICSCOPE,)Tj -0 -1.25 TD -(NI_NUMERICSERV)Tj -/T1_1 1 Tf --3.078 -1.5 Td -[(Returns: 0 if OK, nonzer)18(o)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --13.5 -3.25 Td -(struct)Tj -T* -[(netent )-1200(*)]TJ -/TT1 1 Tf -(getnetbyaddr)Tj -/TT0 1 Tf -(\(uint32_t)Tj -/T1_2 1 Tf -19.2 0 Td -(net)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.078 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(type)Tj -/TT0 1 Tf -(\);)Tj --10.578 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 598)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --26.483 -3.25 Td -(struct)Tj -T* -[(netent )-1200(*)]TJ -/TT1 1 Tf -(getnetbyname)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -13.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 598)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --26.483 -3.25 Td -(struct)Tj -T* -[(netent )-1200(*)]TJ -/TT1 1 Tf -(getnetent)Tj -/TT0 1 Tf -(\(void\);)Tj -13.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 598)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --26.483 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(getopt)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -[(ar)18(gc)]TJ -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.522 0 Td -(har * const)Tj -/T1_2 1 Tf -7.2 0 Td -[(ar)18(gv)]TJ -/TT0 1 Tf -([], const char *)Tj -/T1_2 1 Tf -(options)Tj -/TT0 1 Tf -(\);)Tj --9.822 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 662)Tj -/TT0 1 Tf --28.125 -1.5 Td -(extern int opterr, optind, optopt;)Tj -T* -(extern char *optarg;)Tj -/T1_1 1 Tf -0 -1.5 TD -(Returns: the next option character)Tj -0.25 Tc 14.9 0 Td -(,o)Tj -0 Tc 1.046 0 Td -(r)Tj -/TT2 1 Tf -0.645 0 Td -(!)Tj -/T1_1 1 Tf -0.25 Tc (1w)Tj -0 Tc 2.133 0 Td -(hen all options)Tj --14.747 -1.25 Td -[(have been pr)18(ocessed)]TJ -/TT0 1 Tf --17.477 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(getpeername)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9.6 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 4.262 0 Td -(truct sockaddr *restrict)Tj -/T1_2 1 Tf -15 0 Td -(addr)Tj -/TT0 1 Tf -(,)Tj --21.662 -1.25 Td -(socklen_t *restrict)Tj -/T1_2 1 Tf -12 0 Td -(alenp)Tj -/TT0 1 Tf -(\);)Tj --11.7 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 605)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(pid_t)Tj -/TT1 1 Tf -6 0 Td -(getpgid)Tj -/TT0 1 Tf -(\(pid_t)Tj -/T1_2 1 Tf -8.4 0 Td -(pid)Tj -/TT0 1 Tf -(\);)Tj --0.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 294)Tj --28.125 -1.5 Td -[(Returns: pr)18(ocess gr)18(oup ID if OK,)]TJ -/TT2 1 Tf -14.702 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --28.202 -3.25 Td -(pid_t)Tj -/TT1 1 Tf -6 0 Td -(getpgrp)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 293)Tj --28.125 -1.5 Td -[(Returns: pr)18(ocess gr)18(oup ID of calling pr)18(ocess)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47748 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(857)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -[(char )-2400(*)]TJ -/TT1 1 Tf -(getenv)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 210)Tj --28.125 -1.5 Td -(Returns: pointer to value associated with)Tj -/T1_2 1 Tf -18.335 0 Td -(name)Tj -/T1_0 1 Tf -(,)Tj -/TT0 1 Tf --14.358 -1.25 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -(if not found)Tj -/TT0 1 Tf --20.127 -3 Td -(uid_t)Tj -/TT1 1 Tf -6 0 Td -(geteuid)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 228)Tj --28.125 -1.5 Td -[(Returns: ef)18(fective user ID of calling pr)18(ocess)]TJ -/TT0 1 Tf --13.5 -3 Td -(gid_t)Tj -/TT1 1 Tf -6 0 Td -(getgid)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 228)Tj --28.125 -1.5 Td -[(Returns: r)18(eal gr)18(oup ID of calling pr)18(ocess)]TJ -/TT0 1 Tf --13.5 -3 Td -(struct)Tj -0 -1.25 TD -[(group )-1800(*)]TJ -/TT1 1 Tf -(getgrent)Tj -/TT0 1 Tf -(\(void\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 183)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or or end of \336le)]TJ -/TT0 1 Tf --26.483 -3 Td -(struct)Tj -T* -[(group )-1800(*)]TJ -/TT1 1 Tf -(getgrgid)Tj -/TT0 1 Tf -(\(gid_t)Tj -/T1_2 1 Tf -15 0 Td -(gid)Tj -/TT0 1 Tf -(\);)Tj --1.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 182)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --26.483 -3 Td -(struct)Tj -T* -[(group )-1800(*)]TJ -/TT1 1 Tf -(getgrnam)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -(\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 182)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --26.483 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(getgroups)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(gidsetsize)Tj -/TT0 1 Tf -0.6 Tc (,g)Tj -0 Tc 5.689 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -[(gr)18(ouplist)]TJ -/TT0 1 Tf -([]\);)Tj --9.589 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 184)Tj --28.125 -1.5 Td -[(Returns: number of supplementary gr)18(oup IDs if OK,)]TJ -/TT2 1 Tf -3.977 -1.25 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --17.477 -3 Td -(struct)Tj -T* -[(hostent )-600(*)]TJ -/TT1 1 Tf -(gethostent)Tj -/TT0 1 Tf -(\(void\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 597)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --26.483 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(gethostname)Tj -/TT0 1 Tf -(\(char *)Tj -/T1_2 1 Tf -(name)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 14.767 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(namelen)Tj -/TT0 1 Tf -(\);)Tj --9.067 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 188)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -[(char )-2400(*)]TJ -/TT1 1 Tf -(getlogin)Tj -/TT0 1 Tf -(\(void\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 275)Tj --28.125 -1.5 Td -(Returns: pointer to string giving login name if OK,)Tj -/TT0 1 Tf -3.977 -1.25 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47749 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(856)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(fwide)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 9.778 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj --4.078 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 144)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_1 1 Tf -0 -1.5 TD -[(Returns: positive if str)18(eam is wide oriented, negative if str)18(eam)]TJ -3.977 -1.25 Td -[(is byte oriented, or 0 if str)18(eam has no orientation)]TJ -/TT0 1 Tf --17.477 -2.875 Td -(size_t)Tj -/TT1 1 Tf -6 0 Td -(fwrite)Tj -/TT0 1 Tf -(\(const void *restrict)Tj -/T1_2 1 Tf -16.8 0 Td -(ptr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.022 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(size)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.3 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nobj)Tj -/TT0 1 Tf -(,)Tj --26.122 -1.25 Td -(FILE *restrict)Tj -/T1_2 1 Tf -9 0 Td -(fp)Tj -/TT0 1 Tf -(\);)Tj --5.7 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 156)Tj --28.125 -1.5 Td -(Returns: number of objects written)Tj -/TT0 1 Tf --13.5 -2.875 Td -(const)Tj -0 -1.25 TD -[(char )-2400(*)]TJ -/TT1 1 Tf -(gai_strerror)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -16.2 0 Td -[(err)18(or)]TJ -/TT0 1 Tf -(\);)Tj --2.7 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 600)Tj --28.125 -1.5 Td -[(Returns: a pointer to a string describing the err)18(or)]TJ -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(getaddrinfo)Tj -/TT0 1 Tf -(\(const char *restrict)Tj -/T1_2 1 Tf -19.8 0 Td -(host)Tj -/TT0 1 Tf -(,)Tj --12.6 -1.25 Td -(const char *restrict)Tj -/T1_2 1 Tf -12.6 0 Td -(service)Tj -/TT0 1 Tf -(,)Tj --12.6 -1.25 Td -(const struct addrinfo *restrict)Tj -/T1_2 1 Tf -19.2 0 Td -(hint)Tj -/TT0 1 Tf -(,)Tj --19.2 -1.25 Td -(struct addrinfo **restrict)Tj -/T1_2 1 Tf --0.018 Tc 16.2 0 Td -(re)Tj -0 Tc 0.76 0 Td -(s)Tj -/TT0 1 Tf -(\);)Tj --16.66 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 599)Tj -/TT0 1 Tf --28.125 -1.25 Td -()Tj -/T1_1 1 Tf -0 -1.5 TD -(Returns: 0 if OK, nonzer)Tj -0.25 Tc 10.679 0 Td -(oe)Tj -0 Tc 1.275 0 Td -[(rr)18(or code on err)18(or)]TJ -/TT0 1 Tf --25.454 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(getc)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 150)Tj --28.125 -1.5 Td -(Returns: next character if OK,)Tj -/TT0 1 Tf -13.331 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(on end of \336le or err)18(or)]TJ -/TT0 1 Tf --28.881 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(getchar)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 150)Tj --28.125 -1.5 Td -(Returns: next character if OK,)Tj -/TT0 1 Tf -13.331 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(on end of \336le or err)18(or)]TJ -/TT0 1 Tf --28.881 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(getchar_unlocked)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 444)Tj --28.125 -1.5 Td -(Returns: the next character if OK,)Tj -/TT0 1 Tf -14.968 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(on end of \336le or err)18(or)]TJ -/TT0 1 Tf --30.518 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(getc_unlocked)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 444)Tj --28.125 -1.5 Td -(Returns: the next character if OK,)Tj -/TT0 1 Tf -14.968 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(on end of \336le or err)18(or)]TJ -/TT0 1 Tf --30.518 -2.875 Td -[(char )-2400(*)]TJ -/TT1 1 Tf -(getcwd)Tj -/TT0 1 Tf -(\(char *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 16.897 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(size)Tj -/TT0 1 Tf -(\);)Tj --6.997 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 136)Tj --28.125 -1.5 Td -(Returns:)Tj -/T1_2 1 Tf -3.977 0 Td -(buf)Tj -/T1_1 1 Tf -1.547 0 Td -(if OK,)Tj -/TT0 1 Tf -2.886 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --24.56 -2.875 Td -(gid_t)Tj -/TT1 1 Tf -6 0 Td -(getegid)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 228)Tj --28.125 -1.5 Td -[(Returns: ef)18(fective gr)18(oup ID of calling pr)18(ocess)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47750 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(855)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(fsetpos)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 10.978 0 Td -(onst fpos_t *)Tj -/T1_2 1 Tf -(pos)Tj -/TT0 1 Tf -(\);)Tj --3.478 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 158)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, nonzer)18(o)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fstat)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 2.578 0 Td -(truct stat *)Tj -/T1_2 1 Tf -(buf)Tj -/TT0 1 Tf -8.682 0 Td -(\);)Tj --9.76 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 93)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fstatat)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(path)Tj -/TT0 1 Tf -(,)Tj --16.978 -1.25 Td -(struct stat *restrict)Tj -/T1_2 1 Tf -13.2 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.097 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj --15.397 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 93)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (:A)Tj -0 Tc 3.289 0 Td -(T_SYMLINK_NOFOLLOW)Tj -/T1_0 1 Tf --3.289 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fsync)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -1.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 81)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(long)Tj -/TT1 1 Tf -6 0 Td -(ftell)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 158)Tj --28.125 -1.5 Td -[(Returns: curr)18(ent \336le position indicator if OK,)]TJ -/TT2 1 Tf -20.037 0 Td -(!)Tj -/T1_0 1 Tf -[(1L on err)18(or)]TJ -/TT0 1 Tf --33.537 -3 Td -(off_t)Tj -/TT1 1 Tf -6 0 Td -(ftello)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 158)Tj --28.125 -1.5 Td -[(Returns: curr)18(ent \336le position indicator if OK,)]TJ -/TT0 1 Tf -3.977 -1.25 Td -(\(off_t\))Tj -/TT2 1 Tf -(!)Tj -/TT0 1 Tf -(1)Tj -/T1_0 1 Tf -5.599 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --23.076 -3 Td -(key_t)Tj -/TT1 1 Tf -6 0 Td -(ftok)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 13.777 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(id)Tj -/TT0 1 Tf -(\);)Tj --8.077 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 557)Tj --28.125 -1.5 Td -(Returns: key if OK,)Tj -/TT0 1 Tf -8.704 0 Td -(\(key_t\))Tj -/TT2 1 Tf -(!)Tj -/TT0 1 Tf -(1)Tj -/T1_0 1 Tf -5.599 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --27.803 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(ftruncate)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,o)Tj -0 Tc 2.578 0 Td -(ff_t)Tj -/T1_2 1 Tf -3 0 Td -(length)Tj -/TT0 1 Tf -(\);)Tj --6.478 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -[(p. 1)55(12)]TJ --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(ftrylockfile)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 443)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, nonzer)18(o)-250(if)-250(lock can\325t be acquir)18(ed)]TJ -/TT0 1 Tf --13.5 -3 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(funlockfile)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 443)Tj -/TT0 1 Tf --41.625 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(futimens)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst struct timespec)Tj -/T1_2 1 Tf -12.6 0 Td -(times)Tj -/TT0 1 Tf -([2]\);)Tj --15.478 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 126)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47751 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(854)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(fprintf)Tj -/TT0 1 Tf -(\(FILE *restrict)Tj -/T1_2 1 Tf -13.8 0 Td -(fp)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 4.466 0 Td -(..\);)Tj --25.344 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 159)Tj --28.125 -1.5 Td -(Returns: number of characters output if OK, negative value)Tj -3.977 -1.25 Td -[(if output err)18(or)]TJ -/TT0 1 Tf --17.477 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fputc)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6 0 Td -(c)Tj -/TT0 1 Tf -0.6 Tc (,F)Tj -0 Tc 2.207 0 Td -(ILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj --0.707 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 152)Tj --28.125 -1.5 Td -(Returns:)Tj -/T1_2 1 Tf -3.977 0 Td -(c)Tj -/T1_1 1 Tf -0.657 0 Td -(if OK,)Tj -/TT0 1 Tf -2.886 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --23.07 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fputs)Tj -/TT0 1 Tf -(\(const char *restrict)Tj -/T1_2 1 Tf -16.2 0 Td -(str)Tj -/TT0 1 Tf -0.6 Tc (,F)Tj -0 Tc 2.911 0 Td -(ILE *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(fp)Tj -/TT0 1 Tf -(\);)Tj --20.011 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 153)Tj --28.125 -1.5 Td -(Returns: non-negative value if OK,)Tj -/TT0 1 Tf -15.622 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --31.172 -3.125 Td -(size_t)Tj -/TT1 1 Tf -6 0 Td -(fread)Tj -/TT0 1 Tf -(\(void *restrict)Tj -/T1_2 1 Tf -12.6 0 Td -(ptr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.022 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(size)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.3 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(nobj)Tj -/TT0 1 Tf -(,)Tj --22.522 -1.25 Td -(FILE *restrict)Tj -/T1_2 1 Tf -9 0 Td -(fp)Tj -/TT0 1 Tf -(\);)Tj --5.1 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 156)Tj --28.125 -1.5 Td -[(Returns: number of objects r)18(ead)]TJ -/TT0 1 Tf --13.5 -3.125 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(free)Tj -/TT0 1 Tf -(\(void *)Tj -/T1_2 1 Tf -(ptr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 207)Tj -/TT0 1 Tf --41.625 -3.125 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(freeaddrinfo)Tj -/TT0 1 Tf -(\(struct addrinfo *)Tj -/T1_2 1 Tf -(ai)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 599)Tj -/TT0 1 Tf --28.125 -1.5 Td -()Tj --13.5 -3.125 Td -[(FILE )-2400(*)]TJ -/TT1 1 Tf -(freopen)Tj -/TT0 1 Tf -(\(const char *restrict)Tj -/T1_2 1 Tf -23.4 0 Td -(path)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.577 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(type)Tj -/TT0 1 Tf -(,)Tj --28.177 -1.25 Td -(FILE *restrict)Tj -/T1_2 1 Tf -9 0 Td -(fp)Tj -/TT0 1 Tf -(\);)Tj --6.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 148)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(type)Tj -/TT0 1 Tf -0.6 Tc (:")Tj -0 Tc 3.522 0 Td -(r", "w", "a", "r+", "w+", "a+")Tj -/T1_1 1 Tf --3.522 -1.5 Td -(Returns: \336le pointer if OK,)Tj -/TT0 1 Tf -11.958 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --28.108 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fscanf)Tj -/TT0 1 Tf -(\(FILE *restrict)Tj -/T1_2 1 Tf -13.2 0 Td -(fp)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 4.466 0 Td -(..\);)Tj --24.744 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 162)Tj --28.125 -1.5 Td -(Returns: number of input items assigned,)Tj -/TT0 1 Tf -18.524 0 Td -(EOF)Tj -/T1_1 1 Tf -2.05 0 Td -(if input)Tj --16.597 -1.25 Td -[(err)18(or or end of \336le befor)]TJ -0.25 Tc 10.597 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ny conversion)Tj -/TT0 1 Tf --29.303 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fseek)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -0.6 Tc (,l)Tj -0 Tc 9.778 0 Td -(ong)Tj -/T1_2 1 Tf -2.4 0 Td -(offset)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.911 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(whence)Tj -/TT0 1 Tf -(\);)Tj --10.389 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 158)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(whence)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 4.763 0 Td -(EEK_SET, SEEK_CUR, SEEK_END)Tj -/T1_1 1 Tf --4.763 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.125 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fseeko)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -0.6 Tc (,o)Tj -0 Tc 10.378 0 Td -(ff_t)Tj -/T1_2 1 Tf -3 0 Td -(offset)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.911 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(whence)Tj -/TT0 1 Tf -(\);)Tj --11.589 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 158)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(whence)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 4.763 0 Td -(EEK_SET, SEEK_CUR, SEEK_END)Tj -/T1_1 1 Tf --4.763 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47752 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(853)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(fflush)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 147)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT0 1 Tf -7.613 0 Td -(EOF)Tj -/T1_0 1 Tf -2.05 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --23.163 -2.8 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fgetc)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 150)Tj --28.125 -1.5 Td -(Returns: next character if OK,)Tj -/TT0 1 Tf -13.331 0 Td -(EOF)Tj -/T1_0 1 Tf -2.05 0 Td -[(on end of \336le or err)18(or)]TJ -/TT0 1 Tf --28.881 -2.8 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fgetpos)Tj -/TT0 1 Tf -(\(FILE *restrict)Tj -/T1_2 1 Tf -13.8 0 Td -(fp)Tj -/TT0 1 Tf -0.6 Tc (,f)Tj -0 Tc 2.578 0 Td -(pos_t *restrict)Tj -/T1_2 1 Tf -9.6 0 Td -(pos)Tj -/TT0 1 Tf -(\);)Tj --18.478 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 158)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, nonzer)18(o)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --13.5 -2.8 Td -[(char )-2400(*)]TJ -/TT1 1 Tf -(fgets)Tj -/TT0 1 Tf -(\(char *restrict)Tj -/T1_2 1 Tf -18.6 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.097 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(n)Tj -/TT0 1 Tf -0.6 Tc (,F)Tj -0 Tc 2.356 0 Td -(ILE *restrict)Tj -/T1_2 1 Tf -8.4 0 Td -(fp)Tj -/TT0 1 Tf -(\);)Tj --20.753 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 152)Tj --28.125 -1.5 Td -(Returns:)Tj -/T1_2 1 Tf -3.977 0 Td -(buf)Tj -/T1_0 1 Tf -1.547 0 Td -(if OK,)Tj -/TT0 1 Tf -2.886 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on end of \336le or err)18(or)]TJ -/TT0 1 Tf --24.56 -2.8 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fileno)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 164)Tj --28.125 -1.5 Td -[(Returns: \336le descriptor associated with the str)18(eam,)]TJ -/TT2 1 Tf -22.568 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --36.068 -2.8 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(flockfile)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 443)Tj -/TT0 1 Tf --41.625 -2.8 Td -[(FILE )-2400(*)]TJ -/TT1 1 Tf -(fmemopen)Tj -/TT0 1 Tf -(\(void *restrict)Tj -/T1_2 1 Tf -20.4 0 Td -(buf)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.097 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(size)Tj -/TT0 1 Tf -(,)Tj --15.697 -1.25 Td -(const char *restrict)Tj -/T1_2 1 Tf -12.6 0 Td -(type)Tj -/TT0 1 Tf -(\);)Tj --10.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 171)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(type)Tj -/TT0 1 Tf -0.6 Tc (:")Tj -0 Tc 3.522 0 Td -(r", "w", "a", "r+", "w+", "a+")Tj -/T1_0 1 Tf --3.522 -1.5 Td -[(Returns: str)18(eam pointer if OK,)]TJ -/TT0 1 Tf -13.572 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --29.722 -2.8 Td -[(FILE )-2400(*)]TJ -/TT1 1 Tf -(fopen)Tj -/TT0 1 Tf -(\(const char *restrict)Tj -/T1_2 1 Tf -22.2 0 Td -(path)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 3.577 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(type)Tj -/TT0 1 Tf -(\);)Tj --24.277 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 148)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(type)Tj -/TT0 1 Tf -0.6 Tc (:")Tj -0 Tc 3.522 0 Td -(r", "w", "a", "r+", "w+", "a+")Tj -/T1_0 1 Tf --3.522 -1.5 Td -(Returns: \336le pointer if OK,)Tj -/TT0 1 Tf -11.958 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --28.108 -2.8 Td -(pid_t)Tj -/TT1 1 Tf -6 0 Td -(fork)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 229)Tj --28.125 -1.5 Td -[(Returns: 0 in child, pr)18(ocess ID of child in par)18(ent,)]TJ -/TT2 1 Tf -21.561 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --35.061 -2.8 Td -(long)Tj -/TT1 1 Tf -6 0 Td -(fpathconf)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(name)Tj -/TT0 1 Tf -(\);)Tj --5.278 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 42)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(name)Tj -/TT0 1 Tf -0.6 Tc (:_)Tj -0 Tc 3.967 0 Td -(PC_ASYNC_IO, _PC_CHOWN_RESTRICTED,)Tj --0.6 -1.25 Td -(_PC_FILESIZEBITS, _PC_LINK_MAX,)Tj -0 -1.25 TD -(_PC_MAX_CANON, _PC_MAX_INPUT,)Tj -T* -(_PC_NAME_MAX, _PC_NO_TRUNC, _PC_PATH_MAX,)Tj -T* -(_PC_PIPE_BUF, _PC_PRIO_IO, _PC_SYMLINK_MAX,)Tj -T* -(_PC_SYNC_IO, _PC_TIMESTAMP_RESOLUTION,)Tj -T* -(_PC_2_SYMLINKS, _PC_VDISABLE)Tj -/T1_0 1 Tf --3.367 -1.5 Td -[(Returns: corr)18(esponding value if OK,)]TJ -/TT2 1 Tf -16.235 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47753 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(852)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(fcntl)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(cmd)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 3.485 0 Td -(.. /* int)Tj -/T1_2 1 Tf -6 0 Td -[(ar)18(g)]TJ -/TT0 1 Tf -1.915 0 Td -(*/ \);)Tj --14.278 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 82)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(cmd)Tj -/TT0 1 Tf -0.6 Tc (:F)Tj -0 Tc 3.485 0 Td -(_DUPFD, F_DUPFD_CLOEXEC, F_GETFD,)Tj --0.6 -1.25 Td -(F_SETFD, F_GETFL, F_SETFL, F_GETOWN,)Tj -0 -1.25 TD -(F_SETOWN, F_GETLK, F_SETLK, F_SETLKW)Tj -/T1_1 1 Tf --2.885 -1.5 Td -(Returns: depends on)Tj -/T1_2 1 Tf -9.392 0 Td -(cmd)Tj -/T1_1 1 Tf -1.935 0 Td -(if OK,)Tj -/TT2 1 Tf -2.886 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --27.713 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fdatasync)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj --0.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 81)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ --7.613 -1.5 Td -(Platforms: Linux 3.2.0, Solaris 10)Tj -/TT0 1 Tf --13.5 -2.875 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(FD_CLR)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,f)Tj -0 Tc 2.578 0 Td -(d_set *)Tj -/T1_2 1 Tf -(fdset)Tj -/TT0 1 Tf -(\);)Tj --1.678 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 503)Tj -/TT0 1 Tf --41.625 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(FD_ISSET)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,f)Tj -0 Tc 2.578 0 Td -(d_set *)Tj -/T1_2 1 Tf -(fdset)Tj -/TT0 1 Tf -(\);)Tj --2.878 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 503)Tj --28.125 -1.5 Td -(Returns: nonzer)Tj -0.25 Tc 7.043 0 Td -(oi)Tj -0 Tc 1.087 0 Td -(f)Tj -/T1_2 1 Tf -0.583 0 Td -(fd)Tj -/T1_1 1 Tf -1.028 0 Td -(is in set, 0 otherwise)Tj -/TT0 1 Tf --23.241 -2.875 Td -[(FILE )-2400(*)]TJ -/TT1 1 Tf -(fdopen)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -12.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(type)Tj -/TT0 1 Tf -(\);)Tj --1.678 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 148)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(type)Tj -/TT0 1 Tf -0.6 Tc (:")Tj -0 Tc 3.522 0 Td -(r", "w", "a", "r+", "w+", "a+")Tj -/T1_1 1 Tf --3.522 -1.5 Td -(Returns: \336le pointer if OK,)Tj -/TT0 1 Tf -11.958 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --28.108 -2.875 Td -[(DIR )-3000(*)]TJ -/TT1 1 Tf -(fdopendir)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -14.4 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj --0.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 130)Tj --28.125 -1.5 Td -(Returns: pointer if OK,)Tj -/TT0 1 Tf -10.333 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --26.483 -2.875 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(FD_SET)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,f)Tj -0 Tc 2.578 0 Td -(d_set *)Tj -/T1_2 1 Tf -(fdset)Tj -/TT0 1 Tf -(\);)Tj --1.678 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 503)Tj -/TT0 1 Tf --41.625 -2.875 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(FD_ZERO)Tj -/TT0 1 Tf -(\(fd_set *)Tj -/T1_2 1 Tf -(fdset)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 503)Tj -/TT0 1 Tf --41.625 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(feof)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 151)Tj --28.125 -1.5 Td -(Returns: nonzer)Tj -0.25 Tc 7.043 0 Td -(o\()Tj -0 Tc 1.129 0 Td -[(tr)8(ue\) if end of \336le on str)18(eam,)]TJ -0.25 Tc -4.195 -1.25 Td -(0\()Tj -0 Tc 1.083 0 Td -(false\) otherwise)Tj -/TT0 1 Tf --18.56 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(ferror)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 151)Tj --28.125 -1.5 Td -(Returns: nonzer)Tj -0.25 Tc 7.043 0 Td -(o\()Tj -0 Tc 1.129 0 Td -[(tr)8(ue\) if err)18(or on str)18(eam, 0 \(false\) otherwise)]TJ -/TT0 1 Tf --21.672 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fexecve)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(har *const)Tj -/T1_2 1 Tf -6.6 0 Td -[(ar)18(gv)]TJ -/TT0 1 Tf -([], char *const)Tj -/T1_2 1 Tf -11.415 0 Td -(envp)Tj -/TT0 1 Tf -([]\);)Tj --20.293 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 249)Tj --28.125 -1.5 Td -(Returns:)Tj -/TT2 1 Tf -3.977 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)74(,)-250(no)-250(r)18(eturn on success)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47754 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(851)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(void)Tj -/TT1 1 Tf -6 0 Td -(_exit)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6 0 Td -(status)Tj -/TT0 1 Tf -(\);)Tj -1.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 198)Tj --28.125 -1.5 Td -[(This function never r)18(eturns)]TJ -/TT0 1 Tf --13.5 -3.25 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(exit)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -5.4 0 Td -(status)Tj -/TT0 1 Tf -(\);)Tj -2.1 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 198)Tj --28.125 -1.5 Td -[(This function never r)18(eturns)]TJ -/TT0 1 Tf --13.5 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(faccessat)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 10.177 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.911 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj --21.166 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 102)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (:R)Tj -0 Tc 3.911 0 Td -(_OK, W_OK, X_OK, F_OK)Tj -/T1_2 1 Tf --3.911 -1.5 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (:A)Tj -0 Tc 3.289 0 Td -(T_EACCESS)Tj -/T1_0 1 Tf --3.289 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fchdir)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -0.9 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 135)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fchmod)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,m)Tj -0 Tc 2.578 0 Td -(ode_t)Tj -/T1_2 1 Tf -3.6 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj --5.278 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 106)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 3.911 0 Td -(_IS)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(UG)Tj -1.2 0.04 Td -(])Tj -0.6 -0.04 Td -(ID, S_ISVTX,)Tj --4.8 -1.25 Td -(S_I)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(RWX)Tj -1.8 0.04 Td -(])Tj -0.6 -0.04 Td -(\(USR|GRP|OTH\))Tj -/T1_0 1 Tf --8.111 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fchmodat)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,m)Tj -0 Tc 10.177 0 Td -(ode_t)Tj -/T1_2 1 Tf -3.6 0 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 3.911 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj --22.366 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 106)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 3.911 0 Td -(_IS)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(UG)Tj -1.2 0.04 Td -(])Tj -0.6 -0.04 Td -(ID, S_ISVTX,)Tj --4.8 -1.25 Td -(S_I)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(RWX)Tj -1.8 0.04 Td -(])Tj -0.6 -0.04 Td -(\(USR|GRP|OTH\))Tj -/T1_2 1 Tf --8.111 -1.5 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (:A)Tj -0 Tc 3.289 0 Td -(T_SYMLINK_NOFOLLOW)Tj -/T1_0 1 Tf --3.289 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fchown)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6.6 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,u)Tj -0 Tc 2.578 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(owner)Tj -/TT0 1 Tf -0.6 Tc (,g)Tj -0 Tc 4.3 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -[(gr)18(oup)]TJ -/TT0 1 Tf -(\);)Tj --11.978 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 109)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fchownat)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.8 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,u)Tj -0 Tc 10.177 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(owner)Tj -/TT0 1 Tf -(,)Tj --18.155 -1.25 Td -(gid_t)Tj -/T1_2 1 Tf -3.6 0 Td -[(gr)18(oup)]TJ -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 4.171 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ag)Tj -/TT0 1 Tf -(\);)Tj --7.471 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 109)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(\337ag)Tj -/TT0 1 Tf -0.6 Tc (:A)Tj -0 Tc 3.289 0 Td -(T_SYMLINK_NOFOLLOW)Tj -/T1_0 1 Tf --3.289 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(fclose)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 150)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT0 1 Tf -7.613 0 Td -(EOF)Tj -/T1_0 1 Tf -2.05 0 Td -[(on err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47755 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(850)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(void)Tj -/TT1 1 Tf -6 0 Td -(endnetent)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 598)Tj -/TT0 1 Tf --41.625 -2.875 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(endprotoent)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 598)Tj -/TT0 1 Tf --41.625 -2.875 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(endpwent)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 180)Tj -/TT0 1 Tf --41.625 -2.875 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(endservent)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 599)Tj -/TT0 1 Tf --41.625 -2.875 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(endspent)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 182)Tj --28.125 -1.5 Td -(Platforms: Linux 3.2.0, Solaris 10)Tj -/TT0 1 Tf --13.5 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(execl)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 14.377 0 Td -(onst char *)Tj -/T1_2 1 Tf -[(ar)18(g0)]TJ -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 10.215 0 Td -(..)Tj --20.992 -1.25 Td -(/* \(char *\) 0 */ \);)Tj -3.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 249)Tj --28.125 -1.5 Td -(Returns:)Tj -/TT2 1 Tf -3.977 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)74(,)-250(no)-250(r)18(eturn on success)]TJ -/TT0 1 Tf --17.477 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(execle)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 14.977 0 Td -(onst char *)Tj -/T1_2 1 Tf -[(ar)18(g0)]TJ -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 10.215 0 Td -(.. /* \(char *\) 0,)Tj --20.992 -1.25 Td -(char *const)Tj -/T1_2 1 Tf -7.2 0 Td -(envp)Tj -/TT0 1 Tf -([] */ \);)Tj --3.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 249)Tj --28.125 -1.5 Td -(Returns:)Tj -/TT2 1 Tf -3.977 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)74(,)-250(no)-250(r)18(eturn on success)]TJ -/TT0 1 Tf --17.477 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(execlp)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(\336lename)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 16.562 0 Td -(onst char *)Tj -/T1_2 1 Tf -[(ar)18(g0)]TJ -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 10.215 0 Td -(..)Tj --22.577 -1.25 Td -(/* \(char *\) 0 */ \);)Tj -3.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 249)Tj --28.125 -1.5 Td -(Returns:)Tj -/TT2 1 Tf -3.977 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)74(,)-250(no)-250(r)18(eturn on success)]TJ -/TT0 1 Tf --17.477 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(execv)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 14.377 0 Td -(har *const)Tj -/T1_2 1 Tf -6.6 0 Td -[(ar)18(gv)]TJ -/TT0 1 Tf -([]\);)Tj --13.477 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 249)Tj --28.125 -1.5 Td -(Returns:)Tj -/TT2 1 Tf -3.977 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)74(,)-250(no)-250(r)18(eturn on success)]TJ -/TT0 1 Tf --17.477 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(execve)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 14.977 0 Td -(har *const)Tj -/T1_2 1 Tf -6.6 0 Td -[(ar)18(gv)]TJ -/TT0 1 Tf -([],)Tj --17.377 -1.25 Td -(char *const)Tj -/T1_2 1 Tf -7.2 0 Td -(envp)Tj -/TT0 1 Tf -([]\);)Tj --3.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 249)Tj --28.125 -1.5 Td -(Returns:)Tj -/TT2 1 Tf -3.977 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)74(,)-250(no)-250(r)18(eturn on success)]TJ -/TT0 1 Tf --17.477 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(execvp)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(\336lename)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 16.562 0 Td -(har *const)Tj -/T1_2 1 Tf -6.6 0 Td -[(ar)18(gv)]TJ -/TT0 1 Tf -([]\);)Tj --15.662 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 249)Tj --28.125 -1.5 Td -(Returns:)Tj -/TT2 1 Tf -3.977 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)74(,)-250(no)-250(r)18(eturn on success)]TJ -/TT0 1 Tf --17.477 -2.875 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(_Exit)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6 0 Td -(status)Tj -/TT0 1 Tf -(\);)Tj -1.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 198)Tj --28.125 -1.5 Td -[(This function never r)18(eturns)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47756 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(849)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(unsigned)Tj -0 -1.25 TD -(int)Tj -/TT1 1 Tf -6 0 Td -(CMSG_LEN)Tj -/TT0 1 Tf -(\(unsigned int)Tj -/T1_2 1 Tf -13.2 0 Td -(nbytes)Tj -/TT0 1 Tf -(\);)Tj --5.7 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 645)Tj --28.125 -1.5 Td -(Returns: size to allocate for data object)Tj -/T1_2 1 Tf -17.213 0 Td -(nbytes)Tj -/T1_0 1 Tf -2.88 0 Td -[(lar)18(ge)]TJ -/TT0 1 Tf --33.593 -2.875 Td -(struct)Tj -T* -[(cmsghdr )-600(*)]TJ -/TT1 1 Tf -(CMSG_NXTHDR)Tj -/TT0 1 Tf -(\(struct msghdr *)Tj -/T1_2 1 Tf -(mp)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 25.278 0 Td -(truct cmsghdr *)Tj -/T1_2 1 Tf -(cp)Tj -/TT0 1 Tf -(\);)Tj --11.778 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 645)Tj --28.125 -1.5 Td -(Returns: pointer to next)Tj -/TT0 1 Tf -10.722 0 Td -(cmsghdr)Tj -/T1_0 1 Tf -4.45 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ssociated with)Tj --15.914 -1.25 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(msghdr)Tj -/T1_0 1 Tf -3.85 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(eg)Tj -0 Tc 1.285 0 Td -[(iven the curr)18(ent)]TJ -/TT0 1 Tf -7.26 0 Td -(cmsghdr)Tj -/T1_0 1 Tf --17.522 -1.25 Td -[(str)8(uctur)18(e, or)]TJ -/TT0 1 Tf -5.66 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(if we\325r)18(e)-250(at)-250(the last one)]TJ -/TT0 1 Tf --25.787 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(connect)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.262 0 Td -(onst struct sockaddr *)Tj -/T1_2 1 Tf -(addr)Tj -/TT0 1 Tf -(,)Tj --6.662 -1.25 Td -(socklen_t)Tj -/T1_2 1 Tf -6 0 Td -(len)Tj -/TT0 1 Tf -(\);)Tj --3.3 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 605)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(creat)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,m)Tj -0 Tc 14.377 0 Td -(ode_t)Tj -/T1_2 1 Tf -3.6 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj --10.477 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 66)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 3.911 0 Td -(_IS)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(UG)Tj -1.2 0.04 Td -(])Tj -0.6 -0.04 Td -(ID, S_ISVTX,)Tj --4.8 -1.25 Td -(S_I)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(RWX)Tj -1.8 0.04 Td -(])Tj -0.6 -0.04 Td -(\(USR|GRP|OTH\))Tj -/T1_0 1 Tf --8.111 -1.5 Td -(Returns: \336le descriptor opened for write-only if OK,)Tj -/TT2 1 Tf -3.977 -1.25 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --17.477 -2.875 Td -[(char )-2400(*)]TJ -/TT1 1 Tf -(ctermid)Tj -/TT0 1 Tf -(\(char *)Tj -/T1_2 1 Tf -(ptr)Tj -/TT0 1 Tf -(\);)Tj -13.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 694)Tj --28.125 -1.5 Td -[(Returns: pointer to name of contr)18(olling terminal on success,)]TJ -3.977 -1.25 Td -[(pointer to empty string on err)18(or)]TJ -/TT0 1 Tf --17.477 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(dprintf)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -7.2 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 2.578 0 Td -(onst char *restrict)Tj -/T1_2 1 Tf -12 0 Td -(format)Tj -/TT0 1 Tf -0.6 Tc (,.)Tj -0 Tc 4.466 0 Td -(..\);)Tj --18.744 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 159)Tj --28.125 -1.5 Td -(Returns: number of characters output if OK, negative value)Tj -3.977 -1.25 Td -[(if output err)18(or)]TJ -/TT0 1 Tf --17.477 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(dup)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -4.8 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -2.7 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 79)Tj --28.125 -1.5 Td -(Returns: new \336le descriptor if OK,)Tj -/TT2 1 Tf -15.395 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --28.895 -2.875 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(dup2)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -5.4 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 2.578 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(fd2)Tj -/TT0 1 Tf -(\);)Tj --2.278 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 79)Tj --28.125 -1.5 Td -(Returns: new \336le descriptor if OK,)Tj -/TT2 1 Tf -15.395 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --28.895 -2.875 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(endgrent)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 183)Tj -/TT0 1 Tf --41.625 -2.875 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(endhostent)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 597)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47757 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(848)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(clock_gettime)Tj -/TT0 1 Tf -(\(clockid_t)Tj -/T1_2 1 Tf -14.4 0 Td -(clock_id)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 5.058 0 Td -(truct timespec *)Tj -/T1_2 1 Tf -(tsp)Tj -/TT0 1 Tf -(\);)Tj --11.958 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 189)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(clock_id)Tj -/TT0 1 Tf -0.6 Tc (:C)Tj -0 Tc 5.058 0 Td -(LOCK_REALTIME, CLOCK_MONOTONIC,)Tj --0.6 -1.25 Td -(CLOCK_PROCESS_CPUTIME_ID,)Tj -0 -1.25 TD -(CLOCK_THREAD_CPUTIME_ID)Tj -/T1_1 1 Tf --4.458 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(clock_nanosleep)Tj -/TT0 1 Tf -(\(clockid_t)Tj -/T1_2 1 Tf -15.6 0 Td -(clock_id)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 5.058 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(\337ags)Tj -/TT0 1 Tf -(,)Tj --12.858 -1.25 Td -(const struct timespec *)Tj -/T1_2 1 Tf --0.018 Tc (re)Tj -0 Tc 14.56 0 Td -(qtp)Tj -/TT0 1 Tf -(,)Tj --14.56 -1.25 Td -(struct timespec *)Tj -/T1_2 1 Tf --0.018 Tc (re)Tj -0 Tc 10.96 0 Td -(mtp)Tj -/TT0 1 Tf -(\);)Tj --13.06 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 375)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(clock_id)Tj -/TT0 1 Tf -0.6 Tc (:C)Tj -0 Tc 5.058 0 Td -(LOCK_REALTIME, CLOCK_MONOTONIC,)Tj --0.6 -1.25 Td -(CLOCK_PROCESS_CPUTIME_ID,)Tj -T* -(CLOCK_THREAD_CPUTIME_ID)Tj -/T1_2 1 Tf --4.458 -1.5 Td -(\337ags)Tj -/TT0 1 Tf -0.6 Tc (:T)Tj -0 Tc 3.678 0 Td -(IMER_ABSTIME)Tj -/T1_1 1 Tf --3.678 -1.5 Td -[(Returns: 0 if slept for r)18(equested time, err)18(or number on failur)18(e)]TJ -/TT0 1 Tf --13.5 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(clock_settime)Tj -/TT0 1 Tf -(\(clockid_t)Tj -/T1_2 1 Tf -14.4 0 Td -(clock_id)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 5.058 0 Td -(onst struct timespec *)Tj -/T1_2 1 Tf -(tsp)Tj -/TT0 1 Tf -(\);)Tj --11.958 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 190)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(clock_id)Tj -/TT0 1 Tf -0.6 Tc (:C)Tj -0 Tc 5.058 0 Td -(LOCK_REALTIME, CLOCK_MONOTONIC,)Tj --0.6 -1.25 Td -(CLOCK_PROCESS_CPUTIME_ID,)Tj -T* -(CLOCK_THREAD_CPUTIME_ID)Tj -/T1_1 1 Tf --4.458 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(close)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -6 0 Td -(fd)Tj -/TT0 1 Tf -(\);)Tj -1.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 66)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(closedir)Tj -/TT0 1 Tf -(\(DIR *)Tj -/T1_2 1 Tf -(dp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 130)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3.25 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(closelog)Tj -/TT0 1 Tf -(\(void\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 470)Tj -/TT0 1 Tf --41.625 -3.25 Td -(unsigned)Tj -T* -[(char )-2400(*)]TJ -/TT1 1 Tf -(CMSG_DATA)Tj -/TT0 1 Tf -(\(struct cmsghdr *)Tj -/T1_2 1 Tf -(cp)Tj -/TT0 1 Tf -(\);)Tj -13.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 645)Tj --28.125 -1.5 Td -(Returns: pointer to data associated with)Tj -/TT0 1 Tf -17.834 0 Td -(cmsghdr)Tj -/T1_1 1 Tf -4.45 0 Td -[(str)8(uctur)18(e)]TJ -/TT0 1 Tf --35.784 -3.25 Td -(struct)Tj -T* -[(cmsghdr )-600(*)]TJ -/TT1 1 Tf -(CMSG_FIRSTHDR)Tj -/TT0 1 Tf -(\(struct msghdr *)Tj -/T1_2 1 Tf -(mp)Tj -/TT0 1 Tf -(\);)Tj -13.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 645)Tj --28.125 -1.5 Td -(Returns: pointer to \336rst)Tj -/TT0 1 Tf -10.569 0 Td -(cmsghdr)Tj -/T1_1 1 Tf -4.45 0 Td -[(str)8(uctur)]TJ -0.25 Tc 3.49 0 Td -(ea)Tj -0 Tc 1.229 0 Td -(ssociated with)Tj --15.761 -1.25 Td -(the)Tj -/TT0 1 Tf -1.637 0 Td -(msghdr)Tj -/T1_1 1 Tf -3.85 0 Td -[(str)8(uctur)18(e, or)]TJ -/TT0 1 Tf -5.66 0 Td -(NULL)Tj -/T1_1 1 Tf -2.65 0 Td -(if none exists)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47758 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Appendix )-250(A)]TJ -34.618 0 Td -[(Function )-250(Pr)18(ototypes)]TJ -/T1_1 1 Tf -11.215 0 Td -(847)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(bind)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -5.4 0 Td -(sockfd)Tj -/TT0 1 Tf -0.6 Tc (,c)Tj -0 Tc 4.262 0 Td -(onst struct sockaddr *)Tj -/T1_2 1 Tf -(addr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 16.833 0 Td -(ocklen_t)Tj -/T1_2 1 Tf -5.4 0 Td -(len)Tj -/TT0 1 Tf -(\);)Tj --24.395 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 604)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.8 Td -[(void )-2400(*)]TJ -/TT1 1 Tf -(calloc)Tj -/TT0 1 Tf -(\(size_t)Tj -/T1_2 1 Tf -14.4 0 Td -(nobj)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 3.541 0 Td -(ize_t)Tj -/T1_2 1 Tf -3.6 0 Td -(size)Tj -/TT0 1 Tf -(\);)Tj --8.041 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 207)Tj --28.125 -1.5 Td -(Returns: non-null pointer if OK,)Tj -/TT0 1 Tf -14.393 0 Td -(NULL)Tj -/T1_0 1 Tf -2.65 0 Td -[(on err)18(or)]TJ -/TT0 1 Tf --30.543 -2.8 Td -(speed_t)Tj -/TT1 1 Tf -6 0 Td -(cfgetispeed)Tj -/TT0 1 Tf -(\(const struct termios *)Tj -/T1_2 1 Tf -(termptr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 692)Tj --28.125 -1.5 Td -(Returns: baud rate value)Tj -/TT0 1 Tf --13.5 -2.8 Td -(speed_t)Tj -/TT1 1 Tf -6 0 Td -(cfgetospeed)Tj -/TT0 1 Tf -(\(const struct termios *)Tj -/T1_2 1 Tf -(termptr)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 692)Tj --28.125 -1.5 Td -(Returns: baud rate value)Tj -/TT0 1 Tf --13.5 -2.8 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(cfsetispeed)Tj -/TT0 1 Tf -(\(struct termios *)Tj -/T1_2 1 Tf -(termptr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 21.711 0 Td -(peed_t)Tj -/T1_2 1 Tf -4.2 0 Td -(speed)Tj -/TT0 1 Tf -(\);)Tj --18.411 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 692)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.8 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(cfsetospeed)Tj -/TT0 1 Tf -(\(struct termios *)Tj -/T1_2 1 Tf -(termptr)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 21.711 0 Td -(peed_t)Tj -/T1_2 1 Tf -4.2 0 Td -(speed)Tj -/TT0 1 Tf -(\);)Tj --18.411 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 692)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.8 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(chdir)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 135)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.8 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(chmod)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,m)Tj -0 Tc 14.377 0 Td -(ode_t)Tj -/T1_2 1 Tf -3.6 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj --10.477 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 106)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (:S)Tj -0 Tc 3.911 0 Td -(_IS)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(UG)Tj -1.2 0.04 Td -(])Tj -0.6 -0.04 Td -(ID, S_ISVTX,)Tj --4.8 -1.25 Td -(S_I)Tj -1.8 0.04 Td -([)Tj -0.6 -0.04 Td -(RWX)Tj -1.8 0.04 Td -(])Tj -0.6 -0.04 Td -(\(USR|GRP|OTH\))Tj -/T1_0 1 Tf --8.111 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.8 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(chown)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,u)Tj -0 Tc 14.377 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -(owner)Tj -/TT0 1 Tf -0.6 Tc (,g)Tj -0 Tc 4.3 0 Td -(id_t)Tj -/T1_2 1 Tf -3 0 Td -[(gr)18(oup)]TJ -/TT0 1 Tf -(\);)Tj --17.177 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 109)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -2.8 Td -(void)Tj -/TT1 1 Tf -6 0 Td -(clearerr)Tj -/TT0 1 Tf -(\(FILE *)Tj -/T1_2 1 Tf -(fp)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 151)Tj -/TT0 1 Tf --41.625 -2.8 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(clock_getres)Tj -/TT0 1 Tf -(\(clockid_t)Tj -/T1_2 1 Tf -13.8 0 Td -(clock_id)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 5.058 0 Td -(truct timespec *)Tj -/T1_2 1 Tf -(tsp)Tj -/TT0 1 Tf -(\);)Tj --11.358 -1.5 Td -()Tj -/T1_0 1 Tf -28.125 0 Td -(p. 190)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(clock_id)Tj -/TT0 1 Tf -0.6 Tc (:C)Tj -0 Tc 5.058 0 Td -(LOCK_REALTIME, CLOCK_MONOTONIC,)Tj --0.6 -1.25 Td -(CLOCK_PROCESS_CPUTIME_ID,)Tj -0 -1.25 TD -(CLOCK_THREAD_CPUTIME_ID)Tj -/T1_0 1 Tf --4.458 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_0 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47759 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(846)Tj -/T1_1 1 Tf -3.5 0 Td -[(Function )-250(Pr)18(ototypes )]TJ -38.096 0 Td -[(Appendix)-500(A)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 129.5922 670.9597 Tm -(int)Tj -/TT1 1 Tf -6 0 Td -(access)Tj -/TT0 1 Tf -(\(const char *)Tj -/T1_2 1 Tf -(path)Tj -/TT0 1 Tf -0.6 Tc (,i)Tj -0 Tc 14.977 0 Td -(nt)Tj -/T1_2 1 Tf -1.8 0 Td -(mode)Tj -/TT0 1 Tf -(\);)Tj --9.277 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 102)Tj -/T1_2 1 Tf --28.125 -1.5 Td -(mode)Tj -/TT0 1 Tf -0.6 Tc (:R)Tj -0 Tc 3.911 0 Td -(_OK, W_OK, X_OK, F_OK)Tj -/T1_1 1 Tf --3.911 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(aio_cancel)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -9 0 Td -(fd)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 2.578 0 Td -(truct aiocb *)Tj -/T1_2 1 Tf -(aiocb)Tj -/TT0 1 Tf -(\);)Tj --4.078 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 514)Tj --28.125 -1.5 Td -(Returns:)Tj -/TT0 1 Tf -3.977 0 Td -(AIO_ALLDONE)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf -7.1 0 Td -(AIO_CANCELED)Tj -/T1_1 1 Tf -(,)Tj -/TT0 1 Tf --7.1 -1.25 Td -(AIO_NOTCANCELED)Tj -/T1_1 1 Tf -0.25 Tc (,o)Tj -0 Tc 10.046 0 Td -(r)Tj -/TT2 1 Tf -0.645 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --28.168 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(aio_error)Tj -/TT0 1 Tf -(\(const struct aiocb *)Tj -/T1_2 1 Tf -(aiocb)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 513)Tj --28.125 -1.5 Td -(Returns: 0 if operation succeeded,)Tj -/TT0 1 Tf -15.191 0 Td -(EINPROGRESS)Tj -/T1_1 1 Tf -6.85 0 Td -(if)Tj --18.064 -1.25 Td -[(operation is still in pr)18(ogr)18(ess, err)18(or code if)]TJ -0 -1.25 TD -(operation failed, or)Tj -/TT2 1 Tf -8.712 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --26.189 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(aio_fsync)Tj -/TT0 1 Tf -(\(int)Tj -/T1_2 1 Tf -8.4 0 Td -(op)Tj -/TT0 1 Tf -0.6 Tc (,s)Tj -0 Tc 2.744 0 Td -(truct aiocb *)Tj -/T1_2 1 Tf -(aiocb)Tj -/TT0 1 Tf -(\);)Tj --3.644 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 513)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(aio_read)Tj -/TT0 1 Tf -(\(struct aiocb *)Tj -/T1_2 1 Tf -(aiocb)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 512)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(ssize_t)Tj -/TT1 1 Tf -6 0 Td -(aio_return)Tj -/TT0 1 Tf -(\(const struct aiocb *)Tj -/T1_2 1 Tf -(aiocb)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 513)Tj --28.125 -1.5 Td -[(Returns: r)18(esult of asynchr)18(onous operation,)]TJ -/TT2 1 Tf -19.038 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --32.538 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(aio_suspend)Tj -/TT0 1 Tf -(\(const struct aiocb *const)Tj -/T1_2 1 Tf -22.8 0 Td -(list)Tj -/TT0 1 Tf -([], int)Tj -/T1_2 1 Tf -6.078 0 Td -(nent)Tj -/TT0 1 Tf -(,)Tj --21.678 -1.25 Td -(const struct timespec *)Tj -/T1_2 1 Tf -(timeout)Tj -/TT0 1 Tf -(\);)Tj -0.3 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 514)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(aio_write)Tj -/TT0 1 Tf -(\(struct aiocb *)Tj -/T1_2 1 Tf -(aiocb)Tj -/TT0 1 Tf -(\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 512)Tj --28.125 -1.5 Td -(Returns: 0 if OK,)Tj -/TT2 1 Tf -7.613 0 Td -(!)Tj -/T1_1 1 Tf -[(1)-250(on)-250(err)18(or)]TJ -/TT0 1 Tf --21.113 -3 Td -(unsigned)Tj -T* -(int)Tj -/TT1 1 Tf -6 0 Td -(alarm)Tj -/TT0 1 Tf -(\(unsigned int)Tj -/T1_2 1 Tf -11.4 0 Td -(seconds)Tj -/TT0 1 Tf -(\);)Tj --3.9 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 338)Tj --28.125 -1.5 Td -[(Returns: 0 or number of seconds until pr)18(eviously set alarm)]TJ -/TT0 1 Tf --13.5 -3 Td -(int)Tj -/TT1 1 Tf -6 0 Td -(atexit)Tj -/TT0 1 Tf -(\(void \(*)Tj -/T1_2 1 Tf -(func)Tj -/TT0 1 Tf -(\)\(void\)\);)Tj -7.5 -1.5 Td -()Tj -/T1_1 1 Tf -28.125 0 Td -(p. 200)Tj --28.125 -1.5 Td -[(Returns: 0 if OK, nonzer)18(o)-250(on)-250(err)18(or)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47760 0 obj <>stream -q -/Fm0 Do -Q -BT -/CS0 cs 0 0 0 scn -/GS0 gs -/TT0 1 Tf -0.0002 Tc -0.0002 Tw 12 0 0 12 218.4731 545.9739 Tm -(This page intentionally left blank )Tj -ET -q -1 0 0 1 47.58 40.02 cm -0 g -/GS1 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47761 0 obj <> endobj 47762 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(21.5)]TJ -38.014 0 Td -[(Sour)18(ce )-250(Code)]TJ -/T1_1 1 Tf -7.819 0 Td -(797)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6690.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 129.5922 659.4594 Tm -[(40 )-1200(#define)-600(STAT_SRV_INTERN )-1200(0x0500)-1200(/* unexpected internal error */)]TJ -0 -1.189 TD -[(41 )-1200(#define)-600(STAT_SRV_NOTSUP )-1200(0x0501)-1200(/* operation not supported */)]TJ -T* -[(42 )-1200(#define)-600(STAT_SRV_UNAVAIL )-600(0x0502 )-600(/*)-600(service unavailable */)]TJ -T* -[(43 )-1200(#define)-600(STAT_SRV_BADVER )-1200(0x0503)-1200(/* version not supported */)]TJ -T* -[(44 )-1200(#define)-600(STAT_SRV_DEVERR )-1200(0x0504)-1200(/* device error */)]TJ -0 -1.189 TD -[(45 )-1200(#define)-600(STAT_SRV_TMPERR )-1200(0x0505)-1200(/* temporary error */)]TJ -0 -1.189 TD -[(46 )-1200(#define)-600(STAT_SRV_REJECT )-1200(0x0506)-1200(/* server not accepting jobs */)]TJ -T* -[(47 )-1200(#define)-600(STAT_SRV_TOOBUSY )-600(0x0507 )-600(/*)-600(server too busy */)]TJ -T* -[(48 )-1200(#define)-600(STAT_SRV_CANCEL )-1200(0x0508)-1200(/* job has been canceled */)]TJ -T* -[(49 )-1200(#define)-600(STAT_SRV_NOMULTI )-600(0x0509 )-600(/*)-600(multi-doc jobs unsupported */)]TJ -0 -2.021 TD -[(50 )-1200(/*)]TJ -0 -1.189 TD -[(51 )-1800(*)-600(Operation IDs)]TJ -T* -[(52 )-1800(*/)]TJ -T* -[(53 )-1200(#define)-600(OP_PRINT_JOB )-4800(0x02)]TJ -T* -[(54 )-1200(#define)-600(OP_PRINT_URI )-4800(0x03)]TJ -T* -[(55 )-1200(#define)-600(OP_VALIDATE_JOB )-3000(0x04)]TJ -T* -[(56 )-1200(#define)-600(OP_CREATE_JOB )-4200(0x05)]TJ -T* -[(57 )-1200(#define)-600(OP_SEND_DOC )]TJ -20.4 0 Td -(0x06)Tj --20.4 -1.189 Td -[(58 )-1200(#define)-600(OP_SEND_URI )]TJ -20.4 0 Td -(0x07)Tj --20.4 -1.189 Td -[(59 )-1200(#define)-600(OP_CANCEL_JOB )-4200(0x08)]TJ -T* -[(60 )-1200(#define)-600(OP_GET_JOB_ATTR )-3000(0x09)]TJ -T* -[(61 )-1200(#define)-600(OP_GET_JOBS )]TJ -20.4 0 Td -(0x0a)Tj --20.4 -1.189 Td -[(62 )-1200(#define)-600(OP_GET_PRINTER_ATTR )-600(0x0b)]TJ -T* -[(63 )-1200(#define)-600(OP_HOLD_JOB )]TJ -20.4 0 Td -(0x0c)Tj --20.4 -1.189 Td -[(64 )-1200(#define)-600(OP_RELEASE_JOB )-3600(0x0d)]TJ -T* -[(65 )-1200(#define)-600(OP_RESTART_JOB )-3600(0x0e)]TJ -T* -[(66 )-1200(#define)-600(OP_PAUSE_PRINTER )-2400(0x10)]TJ -0 -1.189 TD -[(67 )-1200(#define)-600(OP_RESUME_PRINTER )-1800(0x11)]TJ -0 -1.189 TD -[(68 )-1200(#define)-600(OP_PURGE_JOBS )-4200(0x12)]TJ -0 -2.021 TD -[(69 )-1200(/*)]TJ -0 -1.189 TD -[(70 )-1800(*)-600(Attribute Tags.)]TJ -T* -[(71 )-1800(*/)]TJ -T* -[(72 )-1200(#define)-600(TAG_OPERATION_ATTR )-1200(0x01)-1200(/* operation attributes tag */)]TJ -T* -[(73 )-1200(#define)-600(TAG_JOB_ATTR )-4800(0x02)-1200(/* job attributes tag */)]TJ -T* -[(74 )-1200(#define)-600(TAG_END_OF_ATTR )-3000(0x03)-1200(/* end of attributes tag */)]TJ -T* -[(75 )-1200(#define)-600(TAG_PRINTER_ATTR )-2400(0x04)-1200(/* printer attributes tag */)]TJ -0 -1.189 TD -[(76 )-1200(#define)-600(TAG_UNSUPP_ATTR )-3000(0x05)-1200(/* unsupported attributes tag */)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2545.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_0 1 Tf -9.9988 0 0 9.9988 129.5844 230.4903 Tm -[([40 )167(\320 )167(49])]TJ --0.092 Tc 4 0 Td -[(We )-207(c)]TJ -0 Tc 2.104 0 Td -[(ontinue )-23(to )-23(de\336ne )-23(status )-23(codes.)-522(The )-23(ones )-23(in )-23(the )-23(range)]TJ -/TT0 1 Tf -23.849 0 Td -(0x500)Tj -/T1_0 1 Tf -3.273 0 Td -(to)Tj -/TT0 1 Tf -1.145 0 Td -(0x5ff)Tj -/T1_0 1 Tf -3.273 0 Td -[(ar)18(e)]TJ --33.644 -1.2 Td -[(server )-52(err)18(or )-52(codes.)-552(All )-52(codes )-52(ar)]TJ -0.3021 Tc 14.185 0 Td -(ed)Tj -0 Tc 1.392 0 Td -[(escribed )-52(in )-52(Sections )-52(13.1.1 )-52(thr)18(ough )-52(13.1.5 )-52(in)]TJ --15.577 -1.2 Td -[(RFC 291)55(1.)]TJ --4 -1.6 Td -[([50 )167(\320 )167(68])]TJ --0.092 Tc 4 0 Td -[(We )-186(d)]TJ -0 Tc 2.25 0 Td -[(e\336ne )-2(the )-2(various )-2(operation )-2(IDs )-2(next.)-501(Ther)18(e)-252(is)-252(one )-2(ID )-2(for )-2(each )-2(task )-2(de\336ned)]TJ --2.25 -1.2 Td -[(by )-84(IPP )-84(\(see )-84(Section )-84(4.4.15 )-84(in )-84(RFC )-84(291)58(1\). )-334(In)-333(our )-84(example, )-84(we )-84(will )-84(use )-84(only )-84(the)]TJ -0 -1.2 Td -(print-job operation.)Tj --4 -1.6 Td -[([69 )167(\320 )167(76])-668(The )-50(attribute )-50(tags )-50(delimit )-50(the )-50(attribute )-50(gr)18(oups )-50(in )-50(the )-50(IPP )-50(r)20(equest )-50(and )-50(r)18(esponse)]TJ -4 -1.2 Td -[(messages. )-250(The)-250(tag values ar)]TJ -0.25 Tc 12.464 0 Td -(ed)Tj -0 Tc 1.34 0 Td -(e\336ned in Section 3.5.1 of RFC 2910.)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47763 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(796)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.092 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(We )-184(s)]TJ -0 Tc 2.061 0 Td -(tart with the)Tj -/TT0 1 Tf -5.717 0 Td -(ipp.h)Tj -/T1_1 1 Tf -3.25 0 Td -(header \336le.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6570.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -1.8 Tc 8.9989 0 0 8.9989 134.9838 647.4213 Tm -(1#)Tj -0 Tc 3 0 Td -(ifndef _IPP_H)Tj -1.8 Tc -3 -1.189 Td -(2#)Tj -0 Tc 3 0 Td -(define _IPP_H)Tj -1.8 Tc -3 -1.783 Td -(3/)Tj -0 Tc 3 0 Td -(*)Tj -2.4 Tc -3 -1.189 Td -(4*)Tj -0 Tc 4.2 0 Td -(Defines parts of the IPP protocol between the scheduler)Tj -2.4 Tc -4.2 -1.189 Td -(5*)Tj -0 Tc 4.2 0 Td -[(and the printer.)-1200(Based on RFC2911 and RFC2910.)]TJ -2.4 Tc -4.2 -1.189 Td -(6*)Tj -0 Tc 3.6 0 Td -(/)Tj -1.8 Tc -3.6 -1.783 Td -(7/)Tj -0 Tc 3 0 Td -(*)Tj -2.4 Tc -3 -1.189 Td -(8*)Tj -0 Tc 4.2 0 Td -(Status code classes.)Tj -2.4 Tc -4.2 -1.189 Td -(9*)Tj -0 Tc 3.6 0 Td -(/)Tj --4.2 -1.189 Td -[(10 )-1200(#define)-600(STATCLASS_OK\(x\) )-2400(\(\(x\))-600(>= 0x0000 && \(x\) <= 0x00ff\))]TJ -0 -1.189 TD -[(11 )-1200(#define)-600(STATCLASS_INFO\(x\) )-1200(\(\(x\))-600(>= 0x0100 && \(x\) <= 0x01ff\))]TJ -T* -[(12 )-1200(#define)-600(STATCLASS_REDIR\(x\) )-600(\(\(x\))-600(>= 0x0300 && \(x\) <= 0x03ff\))]TJ -0 -1.189 TD -[(13 )-1200(#define)-600(STATCLASS_CLIERR\(x\) \(\(x\) >= 0x0400 && \(x\) <= 0x04ff\))]TJ -0 -1.189 TD -[(14 )-1200(#define)-600(STATCLASS_SRVERR\(x\) \(\(x\) >= 0x0500 && \(x\) <= 0x05ff\))]TJ -0 -1.783 TD -[(15 )-1200(/*)]TJ -0 -1.189 TD -[(16 )-1800(*)-600(Status codes.)]TJ -0 -1.189 TD -[(17 )-1800(*/)]TJ -0 -1.189 TD -[(18 )-1200(#define)-600(STAT_OK )]TJ -18.6 0 Td -[(0x0000)-1200(/* success */)]TJ --18.6 -1.189 Td -[(19 )-1200(#define)-600(STAT_OK_ATTRIGN )-1200(0x0001)-1200(/* OK; some attrs ignored */)]TJ -0 -1.189 TD -[(20 )-1200(#define)-600(STAT_OK_ATTRCON )-1200(0x0002)-1200(/* OK; some attrs conflicted */)]TJ -0 -1.783 TD -[(21 )-1200(#define)-600(STAT_CLI_BADREQ )-1200(0x0400)-1200(/* invalid client request */)]TJ -0 -1.189 TD -[(22 )-1200(#define)-600(STAT_CLI_FORBID )-1200(0x0401)-1200(/* request is forbidden */)]TJ -0 -1.189 TD -[(23 )-1200(#define)-600(STAT_CLI_NOAUTH )-1200(0x0402)-1200(/* authentication required */)]TJ -T* -[(24 )-1200(#define)-600(STAT_CLI_NOPERM )-1200(0x0403)-1200(/* client not authorized */)]TJ -0 -1.189 TD -[(25 )-1200(#define)-600(STAT_CLI_NOTPOS )-1200(0x0404)-1200(/* request not possible */)]TJ -0 -1.189 TD -[(26 )-1200(#define)-600(STAT_CLI_TIMOUT )-1200(0x0405)-1200(/* client too slow */)]TJ -0 -1.189 TD -[(27 )-1200(#define)-600(STAT_CLI_NOTFND )-1200(0x0406)-1200(/* no object found for URI */)]TJ -0 -1.189 TD -[(28 )-1200(#define)-600(STAT_CLI_OBJGONE )-600(0x0407 )-600(/*)-600(object no longer available */)]TJ -0 -1.189 TD -[(29 )-1200(#define)-600(STAT_CLI_TOOBIG )-1200(0x0408)-1200(/* requested entity too big */)]TJ -0 -1.189 TD -[(30 )-1200(#define)-600(STAT_CLI_TOOLNG )-1200(0x0409)-1200(/* attribute value too large */)]TJ -0 -1.189 TD -[(31 )-1200(#define)-600(STAT_CLI_BADFMT )-1200(0x040a)-1200(/* unsupported doc format */)]TJ -0 -1.189 TD -[(32 )-1200(#define)-600(STAT_CLI_NOTSUP )-1200(0x040b)-1200(/* attributes not supported */)]TJ -0 -1.189 TD -[(33 )-1200(#define)-600(STAT_CLI_NOSCHM )-1200(0x040c)-1200(/* URI scheme not supported */)]TJ -0 -1.189 TD -[(34 )-1200(#define)-600(STAT_CLI_NOCHAR )-1200(0x040d)-1200(/* charset not supported */)]TJ -T* -[(35 )-1200(#define)-600(STAT_CLI_ATTRCON )-600(0x040e )-600(/*)-600(attributes conflicted */)]TJ -0 -1.189 TD -[(36 )-1200(#define)-600(STAT_CLI_NOCOMP )-1200(0x040f)-1200(/* compression not supported */)]TJ -0 -1.189 TD -[(37 )-1200(#define)-600(STAT_CLI_COMPERR )-600(0x0410 )-600(/*)-600(data can\325t be decompressed */)]TJ -0 -1.189 TD -[(38 )-1200(#define)-600(STAT_CLI_FMTERR )-1200(0x0411)-1200(/* document format error */)]TJ -0 -1.189 TD -[(39 )-1200(#define)-600(STAT_CLI_ACCERR )-1200(0x0412)-1200(/* error accessing data */)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 2147.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9982 0 0 9.9982 129.5767 190.6637 Tm -[([1 )167(\320 )167(14])]TJ --0.092 Tc 4 0 Td -[(We )-185(s)]TJ -0 Tc 2.062 0 Td -[(tart )-1(the)]TJ -/TT0 1 Tf -3.437 0 Td -(ipp.h)Tj -/T1_1 1 Tf -3.251 0 Td -[(header )-1(with )-1(the )-1(standar)17(d)]TJ -/TT0 1 Tf -11.402 0 Td -(#ifdef)Tj -/T1_1 1 Tf -3.851 0 Td -[(to )-1(pr)18(event )-1(err)18(ors )-1(when )-1(it)]TJ --24.004 -1.2 Td -[(is )-168(included )-168(twice )-168(in )-168(the )-168(same )-168(\336le.)-669(Then )-168(we )-168(de\336ne )-168(the )-168(classes )-168(of )-168(IPP )-168(status)]TJ -0 -1.2 TD -[(codes \(see Section 13 in RFC 291)55(1\).)]TJ --4 -1.6 Td -[([15 )167(\320 )167(39])]TJ --0.092 Tc 4 0 Td -[(We )-269(d)]TJ -0 Tc 2.333 0 Td -[(e\336ne )-85(speci\336c )-85(status )-85(codes )-85(based )-85(on )-85(RFC )-85(291)53(1. )-335(W)]TJ -0.3353 Tc 22.203 0 Td -(ed)Tj -0 Tc 1.425 0 Td -[(on\325t )-85(use )-85(these )-85(codes)]TJ --25.962 -1.2 Td -[(in the pr)18(ogram shown her)18(e; their use is left as an exer)18(cise \(See Exer)18(cise 21.1\).)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47764 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(790)Tj -/T1_1 1 Tf -3.5 0 Td -[(Communicating )-250(with )-250(a )-250(Network )-250(Printer)]TJ -38.741 0 Td -[(Chapter )-250(21)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(IPP )-321(is )-321(speci\336ed )-321(in )-321(a )-321(series )-321(of )-321(documents )-321(\(Requests )-321(For )-321(Comments, )-321(or )-321(RFCs\))]TJ --1.8 -1.2 Td -[(available )-557(at)]TJ -/TT0 1 Tf -6.409 0 Td -(http://www.ietf.org/rfc.html)Tj -/T1_1 1 Tf -1.0567 Tc (.P)Tj --0.018 Tc 18.711 0 Td -(ro)Tj -0 Tc 0.923 0 Td -[(posed )-557(draft )-557(standar)18(ds )-557(ar)19(e)]TJ --26.043 -1.2 Td -[(developed )-178(by )-178(the )-178(Printer )-178(W)92(orking )-178(Gr)18(oup, )-178(which )-178(is )-178(associated )-178(with )-178(the )-178(IEEE.)-678(These)]TJ -0 -1.2 TD -[(drafts )-58(ar)]TJ -0.308 Tc 3.774 0 Td -(ea)Tj -0 Tc 1.287 0 Td -[(vailable )-58(at)]TJ -/TT0 1 Tf -4.912 0 Td -(http://www.pwg.org/ipp)Tj -/T1_1 1 Tf -0.558 Tc (.T)Tj -0 Tc 14.621 0 Td -[(he )-58(main )-58(documents )-58(ar)]TJ -0.308 Tc 10.016 0 Td -(el)Tj -0 Tc 1.078 0 Td -[(isted )-58(in)]TJ --35.688 -1.2 Td -(Figur)Tj -0.7966 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.776 0 Td -[(1.1, )-547(although )-547(many )-547(other )-547(documents )-547(ar)]TJ -0.7966 Tc 20.093 0 Td -(ea)Tj -0 Tc 1.776 0 Td -[(vailable )-547(to )-547(further )-547(specify)]TJ --26.027 -1.2 Td -[(administrative pr)18(ocedur)18(es, job attributes, and the like.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1403.25 5878.25 cm -0 0 m -3685 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 161.7926 579.7304 Tm -(Document )Tj -24.626 0 Td -[(T)55(itle)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1403.25 5758.25 cm -0 0 m -3685 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1403.25 5738.25 cm -0 0 m -3685 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9986 0 0 7.9986 144.334 565.6982 Tm -(RFC 2567)Tj -10.5 0 Td -[(Design Goals for an Internet Printing Pr)18(otocol)]TJ --10.5 -1.25 Td -(RFC 2568)Tj -10.5 0 Td -[(Rationale for the Str)8(uctur)18(e)-250(of)-250(the Model and Pr)18(otocol for the Internet Printing)]TJ -1.35 -1.25 Td -[(Pr)18(otocol)]TJ --11.85 -1.25 Td -(RFC 291)Tj -6.372 Tc 3.628 0 Td -(1I)Tj -0 Tc 7.209 0 Td -[(nternet Printing Pr)18(otocol/1.1: Model and Semantics)]TJ --10.837 -1.25 Td -(RFC 2910)Tj -10.5 0 Td -[(Internet Printing Pr)18(otocol/1.1: Encoding and T)90(ransport)]TJ --10.5 -1.25 Td -(RFC 3196)Tj -10.5 0 Td -[(Internet Printing Pr)18(otocol/1.1: Implementor)-74(\325s Guide)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1403.25 5118.25 cm -0 0 m -3685 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 228.3052 503.6791 Tm -[(Internet Printing Pr)18(otocol V)111(ersion 2.0, Second Edition)]TJ --10.5 0 Td -[(Candidate Standar)18(d)]TJ -1.35 -1.25 Td -(5100.12)Tj -3.25 0.09 Td -(-)Tj -0.333 -0.09 Td -[(201)55(1)]TJ -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1403.25 4898.25 cm -0 0 m -3685 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2223.25 4898.25 cm -0 0 m -0 980 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5088.25 4898.25 cm -0 0 m -0 980 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1403.25 4898.25 cm -0 0 m -0 980 l -S -Q -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 260.4738 470.4588 Tm -(Figure 21.1)Tj -/T1_1 1 Tf -5.445 0 Td -(Primary IPP documents)Tj -9.997 0 0 9.997 147.5559 444.0668 Tm -[(Candidate )-153(Standar)]TJ -0.4033 Tc 8.433 0 Td -(d5)Tj -0 Tc 1.514 0 Td -(100.12)Tj -2.75 0.09 Td -(-)Tj -0.333 -0.09 Td -(201)Tj -0.4034 Tc 1.445 0 Td -(1s)Tj -0 Tc 1.327 0 Td -[(peci\336es )-153(all )-153(featur)18(es )-153(that )-153(implementations )-153(must)]TJ --17.603 -1.2 Td -[(support )-34(to )-34(conform )-34(to )-34(dif)16(fer)18(ent )-34(versions )-34(of )-34(the )-34(IPP )-34(standar)16(d. )-284(Ther)]TJ -0.2844 Tc 29.606 0 Td -(ea)Tj --0.018 Tc 1.263 0 Td -[(re )-70(m)]TJ -0 Tc 2.023 0 Td -[(any )-34(pr)18(oposed)]TJ --32.893 -1.2 Td -[(extensions )-374(to )-374(the )-374(IPP )-374(pr)18(otocol )-374(\(speci\336c )-374(featur)18(es )-374(ar)]TJ -0.6239 Tc 24.516 0 Td -(ed)Tj -0 Tc 1.714 0 Td -[(e\336ned )-374(in )-374(other )-374(IPP-r)18(elated)]TJ --26.23 -1.2 Td -[(documents\). )-450(These)-450(featur)18(es )-200(ar)]TJ -0.45 Tc 14.056 0 Td -(ed)Tj -0 Tc 1.54 0 Td -[(ivided )-200(into )-200(gr)18(oups )-200(to )-200(cr)18(eate )-200(dif)18(fer)18(ent )-200(conformance)]TJ --15.596 -1.2 Td -[(levels; )-76(each )-76(level )-76(is )-76(a )-76(dif)20(fer)18(ent )-76(pr)18(otocol )-76(version.)-576(For )-76(compatibility)]TJ -0.3258 Tc 29.573 0 Td -(,e)Tj -0 Tc 1.055 0 Td -[(ach )-76(higher )-76(level )-76(of)]TJ --30.628 -1.2 Td -[(conformance )-101(r)18(equir)18(es )-101(that )-101(implementations )-101(meet )-101(most )-101(of )-101(the )-101(r)18(equir)18(ements )-101(de\336ned )-101(by)]TJ --0 -1.2 Td -[(lower )-1(versions )-1(of )-1(the )-1(standar)18(d. )-251(In)-251(this )-1(chapter)74(,)-251(we)-251(will )-1(use )-1(IPP )-1(version )-1(1.1 )-1(in )-1(our )-1(simple)]TJ -0 -1.2 Td -(example.)Tj -1.8 -1.2 Td -[(IPP )-10(is )-10(built )-10(on )-10(top )-10(of )-10(HTTP)]TJ -0.26 Tc 11.897 0 Td -(,t)Tj -0 Tc 0.836 0 Td -[(he )-10(Hypertext )-10(T)90(ransfer )-10(Pr)18(otocol )-10(\(Section )-10(21.3\).)-510(HTTP)]TJ -0.26 Tc 23.084 0 Td -(,i)Tj -0 Tc 0.801 0 Td -(n)Tj --38.418 -1.2 Td -(turn, is built on top of TCP/IP)Tj -0.5 Tc 13.259 0 Td -(.F)Tj -0 Tc 1.306 0 Td -(igur)Tj -0.25 Tc 1.827 0 Td -(e2)Tj -0 Tc 1.229 0 Td -[(1.2 shows the str)8(uctur)18(e)-250(of)-250(an)-250(IPP message.)]TJ -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -1626 2782 540 360 re -S -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 174.4172 299.3322 Tm -(Ethernet)Tj -0.367 -1.25 Td -(header)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -2166 2782 540 360 re -S -Q -BT -/T1_1 1 Tf -7.9966 0 0 7.9966 239.7353 299.3143 Tm -(IP)Tj --1.052 -1.25 Td -(header)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -2706 2782 540 360 re -S -Q -BT -/T1_1 1 Tf -7.9962 0 0 7.9962 289.7569 299.2963 Tm -(TCP)Tj --0.56 -1.25 Td -(header)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -3246 2782 540 360 re -S -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 340.7679 299.2783 Tm -(HTTP)Tj --0.192 -1.25 Td -(header)Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -3786 2782 540 360 re -S -Q -BT -/T1_1 1 Tf -7.9952 0 0 7.9952 399.1804 299.2604 Tm -(IPP)Tj --0.75 -1.25 Td -(header)Tj -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -4326 2782 540 360 re -S -Q -BT -/T1_1 1 Tf -7.9947 0 0 7.9947 441.9442 299.2424 Tm -(data to be)Tj -0.528 -1.25 Td -(printed)Tj -/T1_0 1 Tf --24.24 -4.255 Td -(Figure 21.2)Tj -/T1_1 1 Tf -5.695 0 Td -[(Str)8(uctur)18(e)-250(of)-250(an)-250(IPP message)]TJ -9.9934 0 0 9.9934 147.5027 230.0483 Tm -[(IPP )-143(is )-143(a )-143(r)17(equest\320r)18(esponse )-143(pr)18(otocol. )-393(A)-394(client )-143(sends )-143(a )-143(r)18(equest )-143(message )-143(to )-143(a )-143(server)71(,)]TJ --1.8 -1.2 Td -[(and )-84(the )-84(server )-84(answers )-84(with )-84(a )-84(r)18(esponse )-84(message.)-584(The )-84(IPP )-84(header )-84(contains )-84(a )-84(\336eld )-84(that)]TJ -T* -[(indicates )-115(the )-115(r)18(equested )-115(operation.)-615(Operations )-115(ar)]TJ -0.3649 Tc 22.07 0 Td -(ed)Tj -0 Tc 1.455 0 Td -[(e\336ned )-115(to )-115(submit )-115(print )-115(jobs, )-115(cancel)]TJ --23.525 -1.2 Td -[(print )-47(jobs, )-47(get )-47(job )-47(attributes, )-47(get )-47(printer )-47(attributes, )-47(pause )-47(and )-47(r)18(estart )-47(the )-47(printer)]TJ -0.2967 Tc 35.341 0 Td -(,p)Tj -0 Tc 1.148 0 Td -[(lace )-47(a)]TJ --36.489 -1.2 Td -[(job on hold, and r)18(elease a held job.)]TJ -1.8 -1.2 Td -(Figur)Tj -0.3129 Tc 2.383 0 Td -(e2)Tj -0 Tc 1.292 0 Td -[(1.3 )-63(shows )-63(the )-63(str)8(uctur)18(e)-313(of)-313(an)-313(IPP )-63(message )-63(header)]TJ -0.5629 Tc 22.142 0 Td -(.T)Tj -0 Tc 1.426 0 Td -[(he )-63(\336rst )-63(2 )-63(bytes )-63(ar)]TJ -0.313 Tc 7.778 0 Td -(et)Tj -0 Tc 1.118 0 Td -(he)Tj --37.939 -1.2 Td -[(IPP )-24(version )-24(number)]TJ -0.5238 Tc 8.796 0 Td -(.F)Tj -0 Tc 1.33 0 Td -[(or )-24(pr)18(otocol )-24(version )-24(1.1, )-24(each )-24(byte )-24(has )-24(a )-24(value )-24(of )-24(1.)-524(For )-24(a )-24(pr)22(otocol)]TJ --0.018 Tc -10.125 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(quest, )-149(the )-149(next )-149(2 )-149(bytes )-149(contain )-149(a )-149(value )-149(identifying )-149(the )-149(type )-149(of )-149(operation )-149(r)21(equested.)]TJ --0.856 -1.2 Td -[(For a pr)18(otocol r)18(esponse, these 2 bytes contain a status code instead.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47765 0 obj <>stream -q -/Fm0 Do -Q -BT -/CS0 cs 0 0 0 scn -/GS0 gs -/TT0 1 Tf -0.0002 Tc -0.0002 Tw 12 0 0 12 218.4731 545.9739 Tm -(This page intentionally left blank )Tj -ET -q -1 0 0 1 47.58 40.02 cm -0 g -/GS1 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47766 0 obj <> endobj 47767 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(20.5)]TJ -30.134 0 Td -[(Centralized )-250(or )-250(Decentralized?)]TJ -/T1_1 1 Tf -15.699 0 Td -(751)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_0 1 Tf --0.092 Tc 9.9994 0 0 9.9994 147.5911 668.9599 Tm -[(We )-324(p)]TJ -0 Tc 2.378 0 Td -[(urposely )-139(show )-139(the )-139(IPC )-139(going )-139(thr)16(ough )-140(the )-140(kernel, )-140(as )-140(most )-140(forms )-140(of )-140(message)]TJ --4.177 -1.2 Td -[(passing )-180(under )-180(the )-180(UNIX )-180(System )-180(operate )-180(this )-180(way)]TJ -0.6799 Tc 22.978 0 Td -(.\()Tj -0 Tc 1.263 0 Td -[(Shar)18(ed )-180(memory)111(,)-430(as)-430(described )-180(in)]TJ --24.241 -1.2 Td -[(Section )-18(15.9, )-18(avoids )-18(this )-18(copying )-18(of )-18(the )-18(data.\))]TJ --0.055 Tc 20.511 0 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-18(the )-18(centralized )-18(appr)18(oach, )-18(a )-18(r)17(ecor)]TJ -0.2683 Tc 15.659 0 Td -(di)Tj -0 Tc 1.17 0 Td -(s)Tj --0.018 Tc -38.576 -1.2 Td -(re)Tj -0 Tc 0.856 0 Td -[(ad )-21(by )-21(the )-21(central )-21(pr)18(ocess )-21(and )-21(then )-21(passed )-21(to )-21(the )-21(r)18(equesting )-21(pr)18(ocess )-21(using )-21(IPC.)-521(This )-21(is)]TJ -0.3495 Tc -0.856 -1.2 Td -(ad)Tj -0 Tc 1.461 0 Td -[(isadvantage )-99(of )-99(this )-99(design.)-601(Note )-100(that )-100(the )-100(centralized )-100(database )-100(manager )-100(is )-100(the )-100(only)]TJ --1.46 -1.2 Td -[(pr)18(ocess that does I/O with the database \336les.)]TJ -1.8 -1.2 Td -[(The )-114(centralized )-114(appr)18(oach )-114(has )-114(the )-114(advantage )-114(that )-114(customer )-114(tuning )-114(of )-114(its )-114(operation)]TJ --1.8 -1.2 Td -[(may )-309(be )-309(possible.)-809(For )-309(example, )-309(we )-309(might )-309(be )-309(able )-309(to )-309(assign )-309(dif)20(fer)18(ent )-309(priorities )-309(to)]TJ --0 -1.2 Td -[(dif)18(fer)18(ent )-61(pr)18(ocesses )-61(thr)18(ough )-61(the )-61(centralized )-61(pr)16(ocess. )-311(This)-312(could )-61(af)18(fect )-61(the )-61(scheduling )-61(of)]TJ -0 -1.2 Td -[(I/O )-217(operations )-217(by )-217(the )-217(centralized )-217(pr)20(ocess. )-467(W)55(ith )-217(the )-217(decentralized )-217(appr)19(oach, )-217(this )-217(is)]TJ -0 -1.2 Td -(mor)Tj -0.3676 Tc 1.806 0 Td -(ed)Tj -0 Tc 1.458 0 Td -[(if)18(\336cult )-118(to )-118(do.)]TJ --0.092 Tc 6.507 0 Td -[(We )-302(a)]TJ --0.018 Tc 2.255 0 Td -[(re )-154(u)]TJ -0 Tc 1.826 0 Td -[(sually )-117(at )-117(the )-117(mer)18(cy )-117(of )-117(the )-117(kernel\325s )-117(disk )-117(I/O )-117(scheduling)]TJ --13.852 -1.2 Td -[(policy )-148(and )-148(locking )-148(policy; )-148(that )-148(is, )-148(if )-148(thr)18(ee )-148(pr)18(ocesses )-148(ar)]TJ -0.3977 Tc 24.887 0 Td -(ew)Tj -0 Tc 1.711 0 Td -[(aiting )-148(for )-148(a )-148(lock )-148(to )-148(become)]TJ --26.598 -1.2 Td -[(available, we cannot tell which pr)18(ocess gets the lock next.)]TJ -1.8 -1.2 Td -[(Another )-82(advantage )-82(of )-82(the )-82(centralized )-82(appr)19(oach )-82(is )-82(that )-82(r)18(ecovery )-82(is )-82(easier )-82(than )-82(with)]TJ --1.8 -1.2 Td -[(the )-75(decentralized )-75(appr)17(oach. )-325(All)-326(the )-75(state )-75(information )-75(is )-75(in )-75(one )-75(place )-75(in )-75(the )-75(centralized)]TJ -0 -1.2 Td -[(appr)18(oach, )-176(so )-176(if )-176(the )-176(database )-176(pr)20(ocesses )-175(ar)]TJ -0.4255 Tc 18.903 0 Td -(ek)Tj -0 Tc 1.461 0 Td -[(illed, )-175(we )-175(have )-175(only )-175(one )-175(place )-175(to )-175(look )-175(to)]TJ --20.364 -1.2 Td -[(identify )-167(the )-167(outstanding )-167(transactions )-167(we )-167(need )-167(to )-167(r)18(esolve )-167(to )-167(r)14(estor)]TJ -0.4176 Tc 30.198 0 Td -(et)Tj -0 Tc 1.223 0 Td -[(he )-168(database )-168(to )-168(a)]TJ --31.421 -1.2 Td -(consistent state.)Tj -1.8 -1.2 Td -[(The )-124(decentralized )-124(appr)19(oach )-124(is )-124(shown )-124(in )-124(Figur)]TJ -0.3736 Tc 20.994 0 Td -(e2)Tj -0 Tc 1.353 0 Td -[(0.5. )-374(This)-373(is )-124(the )-124(design )-124(that )-124(we\325ll)]TJ --24.146 -1.2 Td -[(implement in this chapter)74(.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -2670 2546 576 216 re -S -Q -BT -/T1_0 1 Tf --0.018 Tc 7.999 0 0 7.999 270.3676 263.6084 Tm -(re)Tj -0 Tc 0.856 0 Td -(cor)Tj -0.25 Tc 1.367 0 Td -(dl)Tj -0 Tc 1.152 0 Td -(ocking)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -3246 2546 576 216 re -S -Q -BT -/T1_0 1 Tf -7.9986 0 0 7.9986 346.4216 263.5925 Tm -(I/O)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2258.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2326.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2395.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2464.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2533.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2601.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2670.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2739.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2808.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2876.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 2945.25 cm -0 0 m -0 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2382.25 3014.25 cm -0 0 m -0 36 l -36 36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2452.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2523.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2593.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2664.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2735.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2805.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2875.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2946.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3016.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3087.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3157.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3228.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3298.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3369.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3439.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3510.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3581.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3651.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3721.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3792.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3862.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3933.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4003.25 3050.25 cm -0 0 m -36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4074.25 3050.25 cm -0 0 m -36 0 l -36 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2981.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2912.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2844.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2775.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2706.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2637.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2569.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2500.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2431.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2362.25 cm -0 0 m -0 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4110.25 2294.25 cm -0 0 m -0 -36 l --36 -36 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4039.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3969.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3898.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3828.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3757.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3686.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3617.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3546.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3475.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3405.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3334.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3264.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3193.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3123.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3052.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2982.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2911.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2841.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2771.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2700.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2629.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2559.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2488.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2418.25 2258.25 cm -0 0 m --36 0 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 412.9009 263.5767 Tm -(kernel)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2310 1610 720 216 re -S -Q -BT -/T1_0 1 Tf -7.9976 0 0 7.9976 250.5088 169.989 Tm -(index \336le)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -3462 1610 720 216 re -S -Q -BT -/T1_0 1 Tf -7.9971 0 0 7.9971 367.8196 169.9788 Tm -(data \336le)Tj -ET -q -0.9996401 0 0 0.9996401 0 0 cm -q 1 0 0 1 343.824 254.6 cm -0 0 m --4.032 -6.264 l --6.48 -3.672 l -f -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -1 j 1 J -q 1 0 0 1 3438.24 2546 cm -0 0 m --40.32 -62.64 l --64.8 -36.72 l -h -S -Q -Q -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 267 182.6 cm -0 0 m -4.032 6.264 l -6.48 3.672 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 2670 1826 cm -0 0 m -40.32 62.64 l -64.8 36.72 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3385.25 2497.25 cm -0 0 m --663 -622 l -S -Q -Q -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 362.976 254.6 cm -0 0 m -3.6 -6.48 l -0.144 -7.416 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 3629.76 2546 cm -0 0 m -36 -64.8 l -1.44 -74.16 l -h -S -Q -Q -q -0.9994601 0 0 0.9994601 0 0 cm -q 1 0 0 1 382.2 182.6 cm -0 0 m --3.6 6.48 l --0.144 7.416 l -f -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -1 j 1 J -q 1 0 0 1 3822 1826 cm -0 0 m --36 64.8 l --1.44 74.16 l -h -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3648.25 2476.25 cm -0 0 m -155 -581 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -2022 3698 432 432 re -S -Q -q -0.099946 0 0 0.099946 0 0 cm -3.2 w 1 j 1 J -2022 3482 432 216 re -S -Q -BT -/T1_0 1 Tf -7.9952 0 0 7.9952 207.1597 362.0227 Tm -(db access)Tj -0.574 -1.25 Td -(library)Tj --1.233 8 Td -[(user pr)18(ocess)]TJ -ET -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -4038 3698 432 432 re -S -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -4038 3482 432 216 re -S -Q -BT -/T1_0 1 Tf -7.9947 0 0 7.9947 408.6142 362.001 Tm -(db access)Tj -0.574 -1.25 Td -(library)Tj --1.233 8 Td -[(user pr)18(ocess)]TJ -ET -q -0.9993402 0 0 0.9993402 0 0 cm -q 1 0 0 1 216.6 348.2 cm -0 0 m -6.264 -3.96 l -3.672 -6.48 l -f -Q -Q -q -0.099934 0 0 0.099934 0 0 cm -1 j 1 J -q 1 0 0 1 2166 3482 cm -0 0 m -62.64 -39.6 l -36.72 -64.8 l -h -S -Q -Q -q -0.9992802 0 0 0.9992802 0 0 cm -q 1 0 0 1 286.224 276.2 cm -0 0 m --6.264 3.96 l --3.672 6.48 l -f -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -1 j 1 J -q 1 0 0 1 2862.24 2762 cm -0 0 m --62.64 39.6 l --36.72 64.8 l -h -S -Q -Q -q -0.099928 0 0 0.099928 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2216.25 3430.25 cm -0 0 m -596 -616 l -S -Q -Q -q -0.9992203 0 0 0.9992203 0 0 cm -q 1 0 0 1 231 348.2 cm -0 0 m -7.056 -2.376 l -5.112 -5.4 l -f -Q -Q -q -0.099922 0 0 0.099922 0 0 cm -1 j 1 J -q 1 0 0 1 2310 3482 cm -0 0 m -70.56 -23.76 l -51.12 -54 l -h -S -Q -Q -q -0.9991603 0 0 0.9991603 0 0 cm -q 1 0 0 1 343.824 276.2 cm -0 0 m --7.056 2.376 l --5.112 5.4 l -f -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -1 j 1 J -q 1 0 0 1 3438.24 2762 cm -0 0 m --70.56 23.76 l --51.12 54 l -h -S -Q -Q -q -0.099916 0 0 0.099916 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2370.25 3443.25 cm -0 0 m -1007 -642 l -S -Q -Q -q -0.9991004 0 0 0.9991004 0 0 cm -q 1 0 0 1 418.2 348.2 cm -0 0 m --5.112 -5.4 l --7.056 -2.376 l -f -Q -Q -q -0.09991 0 0 0.09991 0 0 cm -1 j 1 J -q 1 0 0 1 4182 3482 cm -0 0 m --51.12 -54 l --70.56 -23.76 l -h -S -Q -Q -q -0.9990404 0 0 0.9990404 0 0 cm -q 1 0 0 1 305.376 276.2 cm -0 0 m -5.112 5.4 l -7.056 2.376 l -f -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -1 j 1 J -q 1 0 0 1 3053.76 2762 cm -0 0 m -51.12 54 l -70.56 23.76 l -h -S -Q -Q -q -0.099904 0 0 0.099904 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4121.25 3443.25 cm -0 0 m --1006 -642 l -S -Q -Q -q -0.9989805 0 0 0.9989805 0 0 cm -q 1 0 0 1 432.6 348.2 cm -0 0 m --3.744 -6.408 l --6.336 -3.888 l -f -Q -Q -q -0.099898 0 0 0.099898 0 0 cm -1 j 1 J -q 1 0 0 1 4326 3482 cm -0 0 m --37.44 -64.08 l --63.36 -38.88 l -h -S -Q -Q -q -0.9989206 0 0 0.9989206 0 0 cm -q 1 0 0 1 362.976 276.2 cm -0 0 m -3.744 6.408 l -6.336 3.888 l -f -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -1 j 1 J -q 1 0 0 1 3629.76 2762 cm -0 0 m -37.44 64.08 l -63.36 38.88 l -h -S -Q -Q -q -0.0998921 0 0 0.0998921 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4275.25 3430.25 cm -0 0 m --596 -616 l -S -Q -Q -BT -/T1_1 1 Tf -7.9909 0 0 7.9909 224.8275 135.6453 Tm -(Figure 20.5)Tj -/T1_0 1 Tf -5.695 0 Td -[(Decentralized appr)18(oach for database access)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47768 0 obj <>stream -q -/Fm0 Do -Q -BT -/CS0 cs 0 0 0 scn -/GS0 gs -/TT0 1 Tf -0.0002 Tc -0.0002 Tw 12 0 0 12 218.4731 545.9739 Tm -(This page intentionally left blank )Tj -ET -q -1 0 0 1 47.58 40.02 cm -0 g -/GS1 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47769 0 obj <> endobj 47770 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(12.4)]TJ -31.602 0 Td -[(Synchr)18(onization )-250(Attributes)]TJ -/T1_1 1 Tf -14.231 0 Td -(435)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -1536 6494 432 144 re -S -Q -BT -/TT0 1 Tf -7.9995 0 0 7.9995 165.5901 654.8007 Tm -(main)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 6422.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 6386.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 6350.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 6314.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099994 0 0 0.099994 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 6278.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/TT1 1 Tf -7.999 0 0 7.999 155.9813 615.1662 Tm -(func1\(x\))Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 6062.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 6026.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5990.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5954.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5918.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5882.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5846.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5810.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5774.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5738.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5702.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5666.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5630.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5594.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5558.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5522.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5486.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5450.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5414.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5378.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5342.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5306.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5270.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5234.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5198.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5162.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5126.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5090.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5054.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 5018.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 4982.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 4946.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 1752.25 4910.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9986 0 0 7.9986 155.9719 478.3539 Tm -(func2\(x\))Tj -ET -q -0.99982 0 0 0.99982 0 0 cm -q 1 0 0 1 279.6 617 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -1 j 1 J -q 1 0 0 1 2796 6170 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2076.25 6170.25 cm -0 0 m -648 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2796 6098 432 144 re -S -Q -BT -/TT0 1 Tf -7.9981 0 0 7.9981 289.1306 615.0924 Tm -(func1)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3012.25 6026.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3012.25 5990.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3012.25 5954.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3012.25 5918.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099976 0 0 0.099976 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3012.25 5882.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9976 0 0 7.9976 236.3291 575.4673 Tm -(pthread_mutex_lock\(x->lock\))Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3012.25 5666.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3012.25 5630.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3012.25 5594.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3012.25 5558.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3012.25 5522.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9971 0 0 7.9971 281.8985 539.4458 Tm -(func2\(x\))Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3012.25 5306.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3012.25 5270.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3012.25 5234.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3012.25 5198.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 3012.25 5162.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9966 0 0 7.9966 231.5027 503.4285 Tm -(pthread_mutex_unlock\(x->lock\))Tj -ET -q -0.9995801 0 0 0.9995801 0 0 cm -q 1 0 0 1 409.2 480.2 cm -0 0 m --7.2 -1.8 l --7.2 1.8 l -f -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -1 j 1 J -q 1 0 0 1 4092 4802 cm -0 0 m --72 -18 l --72 18 l -h -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2076.25 4802.25 cm -0 0 m -1944 0 l -S -Q -Q -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -4092 4730 432 144 re -S -Q -BT -/TT0 1 Tf -7.9962 0 0 7.9962 418.599 478.2104 Tm -(func2)Tj -ET -q -0.099952 0 0 0.099952 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4308.25 4658.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4308.25 4622.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4308.25 4586.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4308.25 4550.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4308.25 4514.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9957 0 0 7.9957 365.8024 438.6031 Tm -(pthread_mutex_lock\(x->lock\))Tj -ET -q -0.099946 0 0 0.099946 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4308.25 4298.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4308.25 4262.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4308.25 4226.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4308.25 4190.25 cm -0 0 m -0 0 l -S -Q -Q -q -0.099946 0 0 0.099946 0 0 cm -12 w 1 j 1 J -q 1 0 0 1 4308.25 4154.25 cm -0 0 m -0 0 l -S -Q -Q -BT -/TT1 1 Tf -7.9952 0 0 7.9952 360.9833 402.5984 Tm -(pthread_mutex_unlock\(x->lock\))Tj -ET -q -0.9994002 0 0 0.9994002 0 0 cm -q 1 0 0 1 430.8 487.4 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -1 j 1 J -q 1 0 0 1 4308 4874 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.09994 0 0 0.09994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3336.25 5414.25 cm -0 0 m -972 0 l -972 -468 l -S -Q -Q -BT -/T1_1 1 Tf -7.9947 0 0 7.9947 254.3041 375.552 Tm -(Figure 12.6)Tj -/T1_0 1 Tf -5.695 0 Td -(Recursive locking opportunity)Tj -9.9934 0 0 9.9934 129.5147 345.5718 Tm -[(the )-53(mutex )-53(befor)]TJ -0.303 Tc 7.088 0 Td -(ec)Tj -0 Tc 1.226 0 Td -(alling)Tj -/TT1 1 Tf -2.814 0 Td -(func2)Tj -/T1_0 1 Tf -3.303 0 Td -[(and )-53(r)18(eacquir)18(e)-303(it)-303(after)]TJ -/TT1 1 Tf -9.665 0 Td -(func2)Tj -/T1_0 1 Tf --0.018 Tc 3.303 0 Td -(re)Tj -0 Tc 0.856 0 Td -[(turns, )-53(but )-53(this )-53(appr)18(oach)]TJ --28.255 -1.2 Td -[(opens )-215(a )-215(window )-215(wher)]TJ -0.4646 Tc 10.496 0 Td -(ea)Tj -0 Tc 1.444 0 Td -[(nother )-215(thr)18(ead )-215(can )-215(possibly )-215(grab )-215(contr)18(ol )-215(of )-215(the )-215(mutex )-215(and)]TJ --11.939 -1.2 Td -[(change )-331(the )-331(data )-331(str)7(uctur)18(e)-581(in)-581(t)-1(he )-331(middle )-331(of)]TJ -/TT1 1 Tf -21.391 0 Td -(func1)Tj -/T1_0 1 Tf -0.8313 Tc (.T)Tj -0 Tc 4.694 0 Td -[(his )-331(may )-331(not )-331(be )-331(acceptable,)]TJ --26.086 -1.2 Td -[(depending on what pr)18(otection the mutex is intended to pr)18(ovide.)]TJ -1.8 -1.2 Td -(Figur)Tj -0.3938 Tc 2.383 0 Td -(e1)Tj -0 Tc 1.373 0 Td -[(2.7 )-144(shows )-144(an )-144(alternative )-144(to )-144(using )-144(a )-144(r)19(ecursive )-144(mutex )-144(in )-144(this )-144(case.)]TJ --0.092 Tc 30.137 0 Td -[(We )-328(c)]TJ -0 Tc 2.225 0 Td -(an)Tj --37.918 -1.2 Td -[(leave )-124(the )-124(interfaces )-124(to)]TJ -/TT1 1 Tf -10.322 0 Td -(func1)Tj -/T1_0 1 Tf -3.374 0 Td -(and)Tj -/TT1 1 Tf -2.067 0 Td -(func2)Tj -/T1_0 1 Tf -3.374 0 Td -[(unchanged )-124(and )-124(avoid )-124(a )-124(r)18(ecursive )-124(mutex )-124(by)]TJ --19.138 -1.2 Td -[(pr)18(oviding )-65(a )-65(private )-65(version )-65(of)]TJ -/TT1 1 Tf -13.815 0 Td -(func2)Tj -/T1_0 1 Tf -0.3153 Tc (,c)Tj -0 Tc 4.009 0 Td -(alled)Tj -/TT1 1 Tf -2.487 0 Td -(func2_locked)Tj -/T1_0 1 Tf -0.5653 Tc (.T)Tj -0.3153 Tc 8.536 0 Td -(oc)Tj -0 Tc 1.305 0 Td -(all)Tj -/TT1 1 Tf -1.397 0 Td -(func2_locked)Tj -/T1_0 1 Tf -(,)Tj --31.55 -1.2 Td -[(we )-49(must )-49(hold )-49(the )-49(mutex )-49(embedded )-49(in )-49(the )-49(data )-49(str)4(uctur)]TJ -0.2994 Tc 24.861 0 Td -(ew)Tj -0 Tc 1.612 0 Td -[(hose )-49(addr)18(ess )-49(we )-49(pass )-49(as )-49(the)]TJ --26.473 -1.2 Td -[(ar)18(gument. )-421(The)-420(body )-171(of)]TJ -/TT1 1 Tf -11.308 0 Td -(func2_locked)Tj -/T1_0 1 Tf -7.621 0 Td -[(contains )-171(a )-171(copy )-171(of)]TJ -/TT1 1 Tf -8.904 0 Td -(func2)Tj -/T1_0 1 Tf -0.4208 Tc (,a)Tj -0 Tc 4.171 0 Td -(nd)Tj -/TT1 1 Tf -1.614 0 Td -(func2)Tj -/T1_0 1 Tf -3.421 0 Td -(now)Tj --37.038 -1.2 Td -[(simply acquir)18(es the mutex, calls)]TJ -/TT1 1 Tf -14.368 0 Td -(func2_locked)Tj -/T1_0 1 Tf -0.25 Tc (,a)Tj -0 Tc 8.2 0 Td -[(nd then r)18(eleases the mutex.)]TJ --20.768 -1.2 Td -[(If )-188(we )-188(didn\325t )-188(have )-188(to )-188(leave )-188(the )-188(interfaces )-188(to )-188(the )-188(library )-188(functions )-188(unchanged, )-188(we)]TJ --1.8 -1.2 Td -[(could )-12(have )-12(added )-12(a )-12(second )-12(parameter )-12(to )-12(each )-12(function )-12(to )-12(indicate )-12(whether )-12(the )-12(str)4(uctur)18(e)]TJ -0 -1.2 TD -[(is )-85(locked )-85(by )-85(the )-85(caller)]TJ -0.5846 Tc 9.803 0 Td -(.I)Tj -0 Tc 1.172 0 Td -[(t)-335(is)-335(u)1(sually )-85(better )-85(to )-85(leave )-85(the )-85(interfaces )-85(unchanged )-85(if )-85(we )-85(can,)]TJ --10.974 -1.2 Td -(however)Tj -0.25 Tc 3.806 0 Td -(,i)Tj -0 Tc 0.791 0 Td -(nstead of polluting them with implementation artifacts.)Tj --2.797 -1.2 Td -[(The )-226(strategy )-226(of )-226(pr)18(oviding )-226(locked )-226(and )-226(unlocked )-226(versions )-226(of )-226(functions )-226(is )-226(usually)]TJ --1.8 -1.2 Td -[(applicable )-120(in )-120(simple )-120(situations.)-622(In )-120(mor)]TJ -0.3704 Tc 17.783 0 Td -(ec)Tj -0 Tc 1.293 0 Td -[(omplex )-120(situations, )-120(such )-120(as )-120(when )-120(the )-120(library)]TJ --19.077 -1.2 Td -[(needs )-74(to )-74(call )-74(a )-74(function )-74(outside )-74(the )-74(library)]TJ -0.3241 Tc 18.986 0 Td -(,w)Tj -0 Tc 1.408 0 Td -[(hich )-74(then )-74(might )-74(call )-74(back )-74(into )-74(the )-74(library)110(,)]TJ --20.394 -1.2 Td -[(we need to r)18(ely on r)18(ecursive locks.)]TJ -ET -q -0.099934 0 0 0.099934 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 5141.25 1418.25 cm -0 0 m -50 0 l -50 50 l -0 50 l -0 0 l -S -Q -Q -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47771 0 obj <>stream -q -/Fm0 Do -Q -BT -/CS0 cs 0 0 0 scn -/GS0 gs -/TT0 1 Tf -0.0002 Tc -0.0002 Tw 12 0 0 12 218.4731 545.9739 Tm -(This page intentionally left blank )Tj -ET -q -1 0 0 1 47.58 40.02 cm -0 g -/GS1 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47772 0 obj <> endobj 47773 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(398)Tj -/T1_1 1 Tf -3.5 0 Td -[(Thr)18(eads )]TJ -36.604 0 Td -(Chapter)Tj --0.055 Tc 6.284 0 Td -(11)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf --0.018 Tc 9.9994 0 0 9.9994 129.5922 668.9599 Tm -(re)Tj -0 Tc 0.856 0 Td -[(ad )-258(the )-258(variable, )-258(thr)18(ead )-258(B )-258(acquir)20(es )-257(a )-257(lock.)-758(Similarly)]TJ -0.5075 Tc 24.295 0 Td -(,w)Tj -0 Tc 1.591 0 Td -[(hen )-257(thr)18(ead )-257(A )-257(updates )-257(the)]TJ --26.743 -1.2 Td -[(variable, )-124(it )-124(acquir)18(es )-124(the )-124(same )-124(lock.)-624(Thus )-124(thr)18(ead )-124(B )-124(will )-124(be )-124(unable )-124(to )-124(r)18(ead )-124(the )-124(variable)]TJ -0 -1.2 TD -[(until thr)18(ead A r)18(eleases the lock.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2814.25 6182.25 cm -0 0 m -360 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 282.6061 621.3654 Tm -[(Thr)18(ead A)]TJ -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -2778 5462 432 216 re -S -Q -BT -/T1_1 1 Tf --0.018 Tc 7.9986 0 0 7.9986 291.4795 555.1401 Tm -(re)Tj -0 Tc 0.856 0 Td -(ad)Tj -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -2778 5030 432 216 re -S -Q -BT -/T1_1 1 Tf -7.9981 0 0 7.9981 288.5307 511.9171 Tm -(write)Tj -5.9986 0 0 5.9986 307.1263 507.9181 Tm -(1)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -2778 4598 432 216 re -S -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 288.5134 468.6994 Tm -(write)Tj -5.9982 0 0 5.9982 307.1079 464.7006 Tm -(2)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -2706 4526 576 1224 re -S -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 3534.25 6182.25 cm -0 0 m -360 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9971 0 0 7.9971 355.1801 621.2163 Tm -[(Thr)18(ead B)]TJ -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -3498 4238 432 216 re -S -Q -BT -/T1_1 1 Tf --0.018 Tc 7.9966 0 0 7.9966 363.3793 432.6582 Tm -(re)Tj -0 Tc 0.856 0 Td -(ad)Tj -ET -q -0.099958 0 0 0.099958 0 0 cm -3.2 w 1 j 1 J -3498 5822 432 216 re -S -Q -BT -/T1_1 1 Tf --0.018 Tc 7.9962 0 0 7.9962 363.3575 590.9563 Tm -(re)Tj -0 Tc 0.856 0 Td -(ad)Tj -ET -q -0.9995201 0 0 0.9995201 0 0 cm -q 1 0 0 1 256.2 467 cm -0 0 m --1.8 7.2 l -1.8 7.2 l -f -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -1 j 1 J -q 1 0 0 1 2562 4670 cm -0 0 m --18 72 l -18 72 l -h -S -Q -Q -q -0.099952 0 0 0.099952 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2562.25 5534.25 cm -0 0 m -0 -792 l -S -Q -Q -BT -/T1_1 1 Tf -7.9957 0 0 7.9957 236.2404 508.1655 Tm -(time)Tj -/T1_0 1 Tf --1.582 -13.73 Td -[(Figure 1)37(1.8)]TJ -/T1_1 1 Tf --0.09 Tc 6.25 0 Td -(Tw)Tj -0.25 Tc 1.357 0 Td -(ot)Tj -0 Tc 1.122 0 Td -[(hr)18(eads synchr)18(onizing memory access)]TJ --0.092 Tc 9.9946 0 0 9.9946 147.5205 374.3978 Tm -[(We )-202(a)]TJ -0 Tc 2.155 0 Td -[(lso )-18(need )-18(to )-18(synchr)18(onize )-18(two )-18(or )-18(mor)]TJ -0.2681 Tc 15.709 0 Td -(et)Tj -0 Tc 1.073 0 Td -[(hr)18(eads )-18(that )-18(might )-18(try )-18(to )-18(modify )-18(the )-18(same)]TJ --20.737 -1.2 Td -[(variable )-345(at )-345(the )-345(same )-345(time.)-847(Consider )-345(the )-345(case )-345(in )-345(which )-345(we )-345(incr)18(ement )-345(a )-345(variable)]TJ -T* -(\(Figur)Tj -0.25 Tc 2.716 0 Td -(e1)Tj -0 Tc 1.174 0 Td -[(1.9\). )-250(The)-250(incr)18(ement operation is usually br)18(oken down into thr)18(ee steps.)]TJ --2.09 -2.04 Td -[(1. )-633(Read)-250(the memory location into a r)18(egister)74(.)]TJ -0 -1.6 TD -[(2. )-633(Incr)18(ement the value in the r)18(egister)74(.)]TJ -T* -[(3. )-633(W)74(rite the new value back to the memory location.)]TJ -0 -2.04 TD -[(If )-88(two )-88(thr)18(eads )-88(try )-88(to )-88(incr)19(ement )-88(the )-88(same )-88(variable )-88(at )-88(almost )-88(the )-88(same )-88(time )-88(without)]TJ --1.8 -1.2 Td -[(synchr)18(onizing )-29(with )-29(each )-29(other)]TJ -0.2791 Tc 13.442 0 Td -(,t)Tj -0 Tc 0.855 0 Td -[(he )-29(r)18(esults )-29(can )-29(be )-29(inconsistent.)]TJ --0.092 Tc 13.736 0 Td -(Yo)Tj -0.2792 Tc 1.121 0 Td -(ue)Tj -0 Tc 1.361 0 Td -[(nd )-29(up )-29(with )-29(a )-29(value)]TJ --30.515 -1.2 Td -[(that )-14(is )-14(either )-14(one )-14(or )-14(two )-14(gr)16(eater )-14(than )-14(befor)18(e, )-14(depending )-14(on )-14(the )-14(value )-14(observed )-14(when )-14(the)]TJ -0 -1.2 TD -[(second )-73(thr)18(ead )-73(starts )-73(its )-73(operation.)-573(If )-73(the )-73(second )-73(thr)18(ead )-73(performs )-73(step )-73(1 )-73(befor)]TJ -0.3235 Tc 34.737 0 Td -(et)Tj -0 Tc 1.129 0 Td -[(he )-73(\336rst)]TJ --35.865 -1.2 Td -[(thr)18(ead )-132(performs )-132(step )-132(3, )-132(the )-132(second )-132(thr)20(ead )-131(will )-131(r)18(ead )-131(the )-131(same )-131(initial )-131(value )-131(as )-131(the )-131(\336rst)]TJ -T* -[(thr)18(ead, incr)18(ement it, and write it back, with no net ef)18(fect.)]TJ -1.8 -1.2 Td -[(If )-45(the )-45(modi\336cation )-45(is )-45(atomic, )-45(then )-45(ther)]TJ -0.2953 Tc 17.142 0 Td -(ei)Tj -0 Tc 1.065 0 Td -[(sn\325t )-45(a )-45(race.)-546(In )-45(the )-45(pr)18(evious )-45(example, )-45(if )-45(the)]TJ --20.007 -1.2 Td -[(incr)18(ement )-25(takes )-25(only )-25(one )-25(memory )-25(cycle, )-25(then )-25(no )-25(race )-25(exists.)-525(If )-25(our )-25(data )-25(always )-25(appears)]TJ -T* -[(to )-490(be)]TJ -/T1_2 1 Tf -3.383 0 Td -[(sequentially )-490(consistent)]TJ -/T1_1 1 Tf -0.7396 Tc (,t)Tj -0 Tc 10.982 0 Td -[(hen )-490(we )-490(need )-490(no )-490(additional )-490(synchr)20(onization. )-740(Our)]TJ --14.365 -1.2 Td -[(operations )-754(ar)]TJ -1.0045 Tc 6.571 0 Td -(es)Tj -0 Tc 1.907 0 Td -[(equentially )-754(consistent )-754(when )-754(multiple )-754(thr)18(eads )-754(can\325t )-754(observe)]TJ --8.479 -1.2 Td -[(inconsistencies )-336(in )-336(our )-336(data.)-836(In )-336(modern )-336(computer )-336(systems, )-336(memory )-336(accesses )-336(take)]TJ -T* -[(multiple )-441(bus )-441(cycles, )-441(and )-441(multipr)18(ocessors )-441(generally )-441(interleave )-441(bus )-441(cycles )-441(among)]TJ -T* -[(multiple pr)18(ocessors, so we ar)18(en\325t guaranteed that our data is sequentially consistent.)]TJ -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47774 0 obj <>stream -q -/Fm0 Do -Q -BT -/CS0 cs 0 0 0 scn -/GS0 gs -/TT0 1 Tf -0.0002 Tc -0.0002 Tw 12 0 0 12 218.4731 545.9739 Tm -(This page intentionally left blank )Tj -ET -q -1 0 0 1 47.58 40.02 cm -0 g -/GS1 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47775 0 obj <> endobj 47776 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(278)Tj -/T1_1 1 Tf -3.5 0 Td -[(Pr)18(ocess )-250(Contr)18(ol )]TJ -39.241 0 Td -[(Chapter)-500(8)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(optional )-145(command )-145(ar)18(gument. )-395(After)]TJ --0.008 Tc 16.83 0 Td -(ru)Tj -0 Tc 0.99 0 Td -[(nning )-145(for )-145(10 )-145(seconds, )-145(both )-145(pr)18(ocesses )-145(print )-145(the)]TJ --17.82 -1.2 Td -[(value )-210(of )-210(their )-210(counter )-210(and )-210(exit.)-709(By )-210(comparing )-210(the )-210(counter )-210(values )-210(for )-210(dif)19(fer)18(ent )-210(nice)]TJ --0 -1.2 Td -[(values, we can get an idea how the nice value af)18(fects pr)18(ocess scheduling.)]TJ -ET -q -0.099994 0 0 0.099994 0 0 cm -4 w 1 j 1 J -q 1 0 0 1 1296.25 6378.25 cm -0 0 m -50 0 l -100 0 l -150 0 l -200 0 l -250 0 l -300 0 l -350 0 l -400 0 l -450 0 l -500 0 l -550 0 l -600 0 l -650 0 l -700 0 l -750 0 l -800 0 l -850 0 l -900 0 l -950 0 l -1000 0 l -1050 0 l -1100 0 l -1150 0 l -1200 0 l -1250 0 l -1300 0 l -1350 0 l -1400 0 l -1450 0 l -1500 0 l -1550 0 l -1600 0 l -1650 0 l -1700 0 l -1750 0 l -1800 0 l -1850 0 l -1900 0 l -1950 0 l -2000 0 l -2050 0 l -2100 0 l -2150 0 l -2200 0 l -2250 0 l -2300 0 l -2350 0 l -2400 0 l -2450 0 l -2500 0 l -2550 0 l -2600 0 l -2650 0 l -2700 0 l -2750 0 l -2800 0 l -2850 0 l -2900 0 l -2950 0 l -3000 0 l -3050 0 l -3100 0 l -3150 0 l -3200 0 l -3250 0 l -3300 0 l -3350 0 l -3400 0 l -3450 0 l -3500 0 l -3550 0 l -3600 0 l -3650 0 l -3700 0 l -3750 0 l -3800 0 l -3850 0 l -3900 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9989 0 0 8.9989 129.5844 628.2236 Tm -(#include "apue.h")Tj -0 -1.189 TD -(#include )Tj -T* -(#include )Tj -0 -1.783 TD -(#if defined\(MACOS\))Tj -0 -1.189 TD -(#include )Tj -T* -(#elif defined\(SOLARIS\))Tj -T* -(#include )Tj -T* -(#elif defined\(BSD\))Tj -T* -(#include )Tj -0 -1.189 TD -(#endif)Tj -0 -1.783 TD -(unsigned long long count;)Tj -0 -1.189 TD -(struct timeval end;)Tj -0 -1.783 TD -(void)Tj -0 -1.189 TD -(checktime\(char *str\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(struct timeval)-1200(tv;)]TJ -0 -1.783 TD -(gettimeofday\(&tv, NULL\);)Tj -0 -1.189 TD -(if \(tv.tv_sec >= end.tv_sec && tv.tv_usec >= end.tv_usec\) {)Tj -2.4 -1.189 Td -(printf\("%s count = %lld\\n", str, count\);)Tj -0 -1.189 TD -(exit\(0\);)Tj --2.4 -1.189 Td -(})Tj --2.4 -1.189 Td -(})Tj -0 -1.783 TD -(int)Tj -0 -1.189 TD -(main\(int argc, char *argv[]\))Tj -0 -1.189 TD -({)Tj -2.4 -1.189 Td -[(pid_t )-1200(pid;)]TJ -T* -[(char )-1800(*s;)]TJ -T* -[(int )-2400(nzero,)-600(ret;)]TJ -0 -1.189 TD -[(int )-2400(adj)]TJ -0.6 Tc 7.2 0 Td -(=0)Tj -0 Tc 1.8 0 Td -(;)Tj --9 -1.783 Td -(setbuf\(stdout, NULL\);)Tj --2.4 -1.189 Td -(#if defined\(NZERO\))Tj -2.4 -1.189 Td -(nzero = NZERO;)Tj --2.4 -1.189 Td -(#elif defined\(_SC_NZERO\))Tj -2.4 -1.189 Td -(nzero = sysconf\(_SC_NZERO\);)Tj --2.4 -1.189 Td -(#else)Tj -0 -1.189 TD -(#error NZERO undefined)Tj -0 -1.189 TD -(#endif)Tj -2.4 -1.189 Td -(printf\("NZERO = %d\\n", nzero\);)Tj -0 -1.189 TD -(if \(argc == 2\))Tj -2.4 -1.189 Td -(adj = strtol\(argv[1], NULL, 10\);)Tj --2.4 -1.189 Td -(gettimeofday\(&end, NULL\);)Tj -0 -1.189 TD -[(end.tv_sec += 10;)-1800(/* run for 10 seconds */)]TJ -0 -1.783 TD -(if \(\(pid = fork\(\)\) < 0\) {)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47777 0 obj <>stream -q -/Fm0 Do -Q -BT -/CS0 cs 0 0 0 scn -/GS0 gs -/TT0 1 Tf -0.0002 Tc -0.0002 Tw 12 0 0 12 218.4731 545.9739 Tm -(This page intentionally left blank )Tj -ET -q -1 0 0 1 47.58 40.02 cm -0 g -/GS1 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47778 0 obj <> endobj 47779 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -(160)Tj -/T1_1 1 Tf -3.5 0 Td -(Standar)Tj -0.5 Tc 3.421 0 Td -(dI)Tj -0 Tc 1.448 0 Td -[(/O )-250(Library)]TJ -34.372 0 Td -[(Chapter )-250(5)]TJ -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/T1_1 1 Tf -9.9994 0 0 9.9994 129.5922 668.9599 Tm -[(speci\336cations, )-256(other )-256(characters )-256(in )-256(the )-256(format )-256(ar)]TJ -0.5062 Tc 22.181 0 Td -(ec)Tj -0 Tc 1.429 0 Td -[(opied )-256(unmodi\336ed.)]TJ -0.5062 Tc 9.251 0 Td -(Ac)Tj -0 Tc 1.728 0 Td -(onversion)Tj --34.59 -1.2 Td -(speci\336cation has four optional components, shown in squar)Tj -0.25 Tc 26.317 0 Td -(eb)Tj -0 Tc 1.282 0 Td -(rackets below:)Tj -/TT0 1 Tf --25.799 -1.8 Td -(%[flags][fldwidth][precision][lenmodifier]convtype)Tj -/T1_1 1 Tf --1.8 -1.8 Td -(The \337ags ar)Tj -0.25 Tc 5.139 0 Td -(es)Tj -0 Tc 1.153 0 Td -(ummarized in Figur)Tj -0.25 Tc 8.901 0 Td -(e5)Tj -0 Tc 1.229 0 Td -(.7.)Tj -ET -q -0.099994 0 0 0.099994 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1473.25 6022.25 cm -0 0 m -3545 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.999 0 0 7.999 158.565 594.1287 Tm -(Flag )Tj -20.782 0 Td -(Description)Tj -ET -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1473.25 5902.25 cm -0 0 m -3545 0 l -S -Q -Q -q -0.099988 0 0 0.099988 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1473.25 5882.25 cm -0 0 m -3545 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9986 0 0 7.9986 151.3128 580.0956 Tm -(\325)Tj -/T1_1 1 Tf -5.214 0 Td -[(\(apostr)18(ophe\) format integer with thousands gr)18(ouping characters)]TJ -/TT0 1 Tf --5.214 -1.25 Td -(-)Tj -/T1_1 1 Tf -5.214 0 Td -(left-justify the output in the \336eld)Tj -/TT0 1 Tf --5.214 -1.25 Td -(+)Tj -/T1_1 1 Tf -5.214 0 Td -(always display sign of a signed conversion)Tj --4.614 -1.25 Td -[(\(space\) )-1250(pr)18(e\336x by a space if no sign is generated)]TJ -/TT0 1 Tf --0.6 -1.25 Td -(#)Tj -/T1_1 1 Tf -5.214 0 Td -[(convert using alternative form \(include 0x pr)18(e\336x for hexadecimal format, for example\))]TJ -/TT0 1 Tf --5.214 -1.25 Td -(0)Tj -/T1_1 1 Tf -5.214 0 Td -[(pr)18(e\336x with leading zer)18(os instead of padding with spaces)]TJ -ET -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1473.25 5262.25 cm -0 0 m -3545 0 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1870.25 5262.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 5018.25 5262.25 cm -0 0 m -0 760 l -S -Q -Q -q -0.099982 0 0 0.099982 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 1473.25 5262.25 cm -0 0 m -0 760 l -S -Q -Q -BT -/T1_0 1 Tf -7.9981 0 0 7.9981 215.7002 508.078 Tm -(Figure 5.7)Tj -/T1_1 1 Tf -5.195 0 Td -(The \337ags component of a conversion speci\336cation)Tj -9.9976 0 0 9.9976 147.5648 484.0838 Tm -(The)Tj -/TT0 1 Tf -2.016 0 Td -(fldwidth)Tj -/T1_1 1 Tf -5.142 0 Td -[(component )-92(speci\336es )-92(a )-92(minimum )-92(\336eld )-92(width )-92(for )-92(the )-92(conversion.)-589(If)]TJ --8.957 -1.2 Td -[(the )-19(conversion )-19(r)18(esults )-19(in )-19(fewer )-19(characters, )-19(it )-19(is )-19(padded )-19(with )-19(spaces.)-519(The )-19(\336eld )-19(width )-19(is )-19(a)]TJ -0 -1.2 TD -(non-negative decimal integer or an asterisk.)Tj -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -1.991 0 Td -(precision)Tj -/T1_1 1 Tf -5.717 0 Td -[(component )-67(speci\336es )-67(the )-67(minimum )-67(number )-67(of )-67(digits )-67(to )-67(appear )-67(for)]TJ --9.509 -1.2 Td -[(integer )-5(conversions, )-5(the )-5(minimum )-5(number )-5(of )-5(digits )-5(to )-5(appear )-5(to )-5(the )-5(right )-5(of )-5(the )-5(decimal)]TJ -T* -[(point )-324(for )-324(\337oating-point )-324(conversions, )-324(or )-324(the )-324(maximum )-324(number )-324(of )-324(bytes )-324(for )-324(string)]TJ -T* -[(conversions. )-326(The)-327(pr)18(ecision )-76(is )-76(a )-76(period )-76(\(.\) )-76(followed )-76(by )-76(a )-76(optional )-76(non-negative )-76(decimal)]TJ -T* -(integer or an asterisk.)Tj -1.8 -1.2 Td -[(Either )-193(the )-193(\336eld )-193(width )-193(or )-193(pr)18(ecision )-193(\(or )-193(both\) )-193(can )-193(be )-193(an )-193(asterisk.)-699(In )-194(this )-194(case, )-194(an)]TJ --1.8 -1.2 Td -[(integer )-73(ar)18(gument )-73(speci\336es )-73(the )-73(value )-73(to )-73(be )-73(used.)-573(The )-73(ar)18(gument )-73(appears )-73(dir)22(ectly )-72(befor)18(e)]TJ --0 -1.2 Td -[(the ar)18(gument to be converted.)]TJ -1.8 -1.2 Td -(The)Tj -/TT0 1 Tf -2.03 0 Td -(lenmodifier)Tj -/T1_1 1 Tf -6.956 0 Td -[(component )-106(speci\336es )-106(the )-106(size )-106(of )-106(the )-106(ar)16(gument. )-356(Possible)-357(values)]TJ --10.787 -1.2 Td -(ar)Tj -0.25 Tc 0.877 0 Td -(es)Tj -0 Tc 1.153 0 Td -(ummarized in Figur)Tj -0.25 Tc 8.901 0 Td -(e5)Tj -0 Tc 1.229 0 Td -(.8.)Tj -ET -q -0.099976 0 0 0.099976 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2093.25 3214.25 cm -0 0 m -2306 0 l -S -Q -Q -BT -/T1_1 1 Tf -7.9976 0 0 7.9976 213.22 313.306 Tm -(Length modi\336er)Tj -15.686 0 Td -(Description)Tj -ET -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2093.25 3094.25 cm -0 0 m -2306 0 l -S -Q -Q -q -0.09997 0 0 0.09997 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2093.25 3074.25 cm -0 0 m -2306 0 l -S -Q -Q -BT -/TT0 1 Tf -7.9971 0 0 7.9971 213.2072 299.2922 Tm -(hh)Tj -/T1_1 1 Tf -8.696 0 Td -(signed or unsigned)Tj -/TT0 1 Tf -8.762 0 Td -(char)Tj --17.458 -1.25 Td -(h)Tj -/T1_1 1 Tf -8.696 0 Td -(signed or unsigned)Tj -/TT0 1 Tf -8.762 0 Td -(short)Tj --17.458 -1.25 Td -(l)Tj -/T1_1 1 Tf -8.696 0 Td -(signed or unsigned)Tj -/TT0 1 Tf -8.762 0 Td -(long)Tj -/T1_1 1 Tf -2.65 0 Td -(or wide character)Tj -/TT0 1 Tf --20.108 -1.25 Td -(ll)Tj -/T1_1 1 Tf -8.696 0 Td -(signed or unsigned)Tj -/TT0 1 Tf -8.762 0 Td -(long long)Tj -8.096 Tc -17.458 -1.25 Td -(ji)Tj -0 Tc 9.296 0 Td -(ntmax_t)Tj -/T1_1 1 Tf -4.45 0 Td -(or)Tj -/TT0 1 Tf -1.191 0 Td -(uintmax_t)Tj -8.096 Tc -14.937 -1.25 Td -(zs)Tj -0 Tc 9.296 0 Td -(ize_t)Tj -8.096 Tc -9.296 -1.25 Td -(tp)Tj -0 Tc 9.296 0 Td -(trdiff_t)Tj -8.096 Tc -9.296 -1.25 Td -(Ll)Tj -0 Tc 9.296 0 Td -(ong double)Tj -ET -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2093.25 2254.25 cm -0 0 m -2306 0 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2768.25 2254.25 cm -0 0 m -0 960 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 4399.25 2254.25 cm -0 0 m -0 960 l -S -Q -Q -q -0.099964 0 0 0.099964 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 2093.25 2254.25 cm -0 0 m -0 960 l -S -Q -Q -BT -/T1_0 1 Tf -7.9966 0 0 7.9966 196.5174 207.3129 Tm -(Figure 5.8)Tj -/T1_1 1 Tf -5.195 0 Td -(The length modi\336er component of a conversion speci\336cation)Tj -9.9958 0 0 9.9958 147.538 183.323 Tm -(The)Tj -/TT0 1 Tf -2.294 0 Td -(convtype)Tj -/T1_1 1 Tf -5.42 0 Td -[(component )-370(is )-370(not )-370(optional.)-869(It )-370(contr)18(ols )-370(how )-370(the )-370(ar)18(gument )-370(is)]TJ --9.513 -1.2 Td -[(interpr)18(eted. )-250(The)-250(various conversion types ar)]TJ -0.25 Tc 19.811 0 Td -(es)Tj -0 Tc 1.153 0 Td -(ummarized in Figur)Tj -0.25 Tc 8.901 0 Td -(e5)Tj -0 Tc 1.229 0 Td -(.9.)Tj --0.055 Tc -29.294 -1.2 Td -(Wi)Tj -0 Tc 1.236 0 Td -[(th )-34(the )-34(normal )-34(conversion )-34(speci\336cation, )-34(conversions )-34(ar)]TJ -0.2838 Tc 23.987 0 Td -(ea)Tj -0 Tc 1.263 0 Td -[(pplied )-34(to )-34(the )-34(ar)19(guments)]TJ --28.286 -1.2 Td -[(in )-429(the )-429(or)18(der )-429(they )-429(appear )-429(after )-429(the)]TJ -/T1_2 1 Tf -17.863 0 Td -(format)Tj -/T1_1 1 Tf -3.345 0 Td -[(ar)18(gument. )-679(An)-680(alternative )-429(conversion)]TJ --21.208 -1.2 Td -[(speci\336cation )-8(syntax )-8(allows )-8(the )-8(ar)18(guments )-8(to )-8(be )-8(named )-8(explicitly )-8(with )-8(the )-8(sequence)]TJ -/T1_2 1 Tf -37.055 0 Td -(%n$)Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47780 0 obj <>stream -q -/Fm0 Do -Q -BT -/CS0 cs 0 0 0 scn -/GS0 gs -/TT0 1 Tf -0.0002 Tc -0.0002 Tw 12 0 0 12 218.4731 545.9739 Tm -(This page intentionally left blank )Tj -ET -q -1 0 0 1 47.58 40.02 cm -0 g -/GS1 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47781 0 obj <> endobj 47782 0 obj <>stream -q -/Fm0 Do -Q -/Part <>BDC -q -14.19 14.24 583.62 763.52 re -W n -BT -/GS0 gs -/T1_0 1 Tf -9 0 0 9 93.6 708 Tm -[(Section )-250(2.5)]TJ -41.507 0 Td -(Limits)Tj -/T1_1 1 Tf -4.826 0 Td -(45)Tj -ET -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 936.25 7008.25 cm -0 0 m -40 0 l -S -Q -Q -q -0.1 0 0 0.1 0 0 cm -3.2 w 1 j 1 J -q 1 0 0 1 956.25 7008.25 cm -0 0 m -40 0 l -80 0 l -120 0 l -160 0 l -200 0 l -240 0 l -280 0 l -320 0 l -360 0 l -400 0 l -440 0 l -480 0 l -520 0 l -560 0 l -600 0 l -640 0 l -680 0 l -720 0 l -760 0 l -800 0 l -840 0 l -880 0 l -920 0 l -960 0 l -1000 0 l -1040 0 l -1080 0 l -1120 0 l -1160 0 l -1200 0 l -1240 0 l -1280 0 l -1320 0 l -1360 0 l -1400 0 l -1440 0 l -1480 0 l -1520 0 l -1560 0 l -1600 0 l -1640 0 l -1680 0 l -1720 0 l -1760 0 l -1800 0 l -1840 0 l -1880 0 l -1920 0 l -1960 0 l -2000 0 l -2040 0 l -2080 0 l -2120 0 l -2160 0 l -2200 0 l -2240 0 l -2280 0 l -2320 0 l -2360 0 l -2400 0 l -2440 0 l -2480 0 l -2520 0 l -2560 0 l -2600 0 l -2640 0 l -2680 0 l -2720 0 l -2760 0 l -2800 0 l -2840 0 l -2880 0 l -2920 0 l -2960 0 l -3000 0 l -3040 0 l -3080 0 l -3120 0 l -3160 0 l -3200 0 l -3240 0 l -3280 0 l -3320 0 l -3360 0 l -3400 0 l -3440 0 l -3480 0 l -3520 0 l -3560 0 l -3600 0 l -3640 0 l -3680 0 l -3720 0 l -3760 0 l -3800 0 l -3840 0 l -3880 0 l -3920 0 l -3960 0 l -4000 0 l -4040 0 l -4080 0 l -4120 0 l -4160 0 l -4200 0 l -4240 0 l -S -Q -Q -BT -/TT0 1 Tf -8.9995 0 0 8.9995 151.1909 670.2598 Tm -(printf\("{\\n"\))Tj -0 -1.189 TD -(printf\("\\tif \(argc != 2\)\\n"\))Tj -T* -(printf\("\\t\\terr_quit\(\\"usage: a.out \\"\);\\n\\n"\))Tj -T* -(FS="\\t+")Tj -T* -(while \(getline <"sysconf.sym" > 0\) {)Tj -2.4 -1.189 Td -(printf\("#ifdef %s\\n", $1\))Tj -T* -(printf\("\\tprintf\(\\"%s defined to be %%ld\\\\n\\", \(long\)%s+0\);\\n\ ",)Tj -3 -1.189 Td -($1, $1\))Tj --3 -1.189 Td -(printf\("#else\\n"\))Tj -T* -(printf\("\\tprintf\(\\"no symbol for %s\\\\n\\"\);\\n", $1\))Tj -T* -(printf\("#endif\\n"\))Tj -T* -(printf\("#ifdef %s\\n", $2\))Tj -T* -(printf\("\\tpr_sysconf\(\\"%s =\\", %s\);\\n", $1, $2\))Tj -T* -(printf\("#else\\n"\))Tj -0 -1.189 TD -(printf\("\\tprintf\(\\"no symbol for %s\\\\n\\"\);\\n", $2\))Tj -0 -1.189 TD -(printf\("#endif\\n"\))Tj --2.4 -1.189 Td -(})Tj -T* -(close\("sysconf.sym"\))Tj -T* -(while \(getline <"pathconf.sym" > 0\) {)Tj -2.4 -1.189 Td -(printf\("#ifdef %s\\n", $1\))Tj -T* -(printf\("\\tprintf\(\\"%s defined to be %%ld\\\\n\\", \(long\)%s+0\);\\n\ ",)Tj -2.4 -1.189 Td -($1, $1\))Tj --2.4 -1.189 Td -(printf\("#else\\n"\))Tj -0 -1.189 TD -(printf\("\\tprintf\(\\"no symbol for %s\\\\n\\"\);\\n", $1\))Tj -0 -1.189 TD -(printf\("#endif\\n"\))Tj -T* -(printf\("#ifdef %s\\n", $2\))Tj -T* -(printf\("\\tpr_pathconf\(\\"%s =\\", argv[1], %s\);\\n", $1, $2\))Tj -T* -(printf\("#else\\n"\))Tj -T* -(printf\("\\tprintf\(\\"no symbol for %s\\\\n\\"\);\\n", $2\))Tj -T* -(printf\("#endif\\n"\))Tj --2.4 -1.189 Td -(})Tj -T* -(close\("pathconf.sym"\))Tj -0 -1.189 TD -(exit)Tj --2.4 -1.189 Td -(})Tj -0 -1.189 TD -(END {)Tj -2.4 -1.189 Td -(printf\("\\texit\(0\);\\n"\))Tj -T* -(printf\("}\\n\\n"\))Tj -T* -(printf\("static void\\n"\))Tj -T* -(printf\("pr_sysconf\(char *mesg, int name\)\\n"\))Tj -T* -(printf\("{\\n"\))Tj -T* -[(printf\("\\tlong )-600(val;\\n\\n"\))]TJ -0 -1.189 TD -(printf\("\\tfputs\(mesg, stdout\);\\n"\))Tj -0 -1.189 TD -(printf\("\\terrno = 0;\\n"\))Tj -T* -(printf\("\\tif \(\(val = sysconf\(name\)\) < 0\) {\\n"\))Tj -T* -(printf\("\\t\\tif \(errno != 0\) {\\n"\))Tj -T* -(printf\("\\t\\t\\tif \(errno == EINVAL\)\\n"\))Tj -T* -(printf\("\\t\\t\\t\\tfputs\(\\" \(not supported\)\\\\n\\", stdout\);\\n"\ \))Tj -T* -(printf\("\\t\\t\\telse\\n"\))Tj -T* -(printf\("\\t\\t\\t\\terr_sys\(\\"sysconf error\\"\);\\n"\))Tj -T* -(printf\("\\t\\t} else {\\n"\))Tj -0 -1.189 TD -(printf\("\\t\\t\\tfputs\(\\" \(no limit\)\\\\n\\", stdout\);\\n"\))Tj -ET -EMC -Q -q -1 0 0 1 55.08 74.52 cm -/Fm1 Do -Q - -endstream endobj 47783 0 obj <>stream -q -/Fm0 Do -Q -BT -/CS0 cs 0 0 0 scn -/GS0 gs -/TT0 1 Tf -0.0002 Tc -0.0002 Tw 12 0 0 12 218.4731 545.9739 Tm -(This page intentionally left blank )Tj -ET -q -1 0 0 1 47.58 40.02 cm -0 g -/GS1 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47784 0 obj <> endobj 47785 0 obj <>stream -q -/Fm0 Do -Q -BT -/CS0 cs 0 0 0 scn -/GS0 gs -/TT0 1 Tf -0.0002 Tc -0.0002 Tw 12 0 0 12 218.4731 545.9739 Tm -(This page intentionally left blank )Tj -ET -q -1 0 0 1 47.58 40.02 cm -0 g -/GS1 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47786 0 obj <> endobj 47787 0 obj <>stream -q -/Fm0 Do -Q -/EmbeddedDocument /MC0 BDC -/Document /MC1 BDC -q -22.56 742.74 554.202 -232.51 re -W n -0.579 g -/GS0 gs -22.56 620.63 554.202 122.11 re -f -Q -q -76.697 742.74 500.065 -131.206 re -W n -q -1 0 0 1 456.096 701.589 cm -0.633 g -/GS0 gs -0 0 m --31.178 0 -56.542 -25.433 -56.542 -56.695 c --56.542 -87.958 -31.178 -113.391 0 -113.391 c -31.177 -113.391 56.542 -87.958 56.542 -56.695 c -56.542 -25.433 31.177 0 0 0 c -h -0 -131.316 m --41.06 -131.316 -74.465 -97.841 -74.465 -56.695 c --74.465 -15.549 -41.06 17.925 0 17.925 c -41.061 17.925 74.466 -15.549 74.466 -56.695 c -74.466 -97.841 41.061 -131.316 0 -131.316 c -h -0 45.173 m --56.026 45.173 -101.606 -0.525 -101.606 -56.695 c --101.606 -112.867 -56.026 -158.566 0 -158.566 c -56.027 -158.566 101.607 -112.867 101.607 -56.695 c -101.607 -0.525 56.027 45.173 0 45.173 c -h -0 -176.49 m --65.91 -176.49 -119.531 -122.751 -119.531 -56.695 c --119.531 9.359 -65.91 63.097 0 63.097 c -65.909 63.097 119.531 9.359 119.531 -56.695 c -119.531 -122.751 65.909 -176.49 0 -176.49 c -h -0 101.901 m --87.233 101.901 -158.204 30.755 -158.204 -56.695 c --158.204 -144.147 -87.233 -215.293 0 -215.293 c -87.233 -215.293 158.203 -144.147 158.203 -56.695 c -158.203 30.755 87.233 101.901 0 101.901 c -h -0 -233.218 m --97.117 -233.218 -176.127 -154.03 -176.127 -56.695 c --176.127 40.639 -97.117 119.826 0 119.826 c -97.116 119.826 176.127 40.639 176.127 -56.695 c -176.127 -154.03 97.116 -233.218 0 -233.218 c -h -0 159.156 m --118.728 159.156 -215.321 62.325 -215.321 -56.695 c --215.321 -175.716 -118.728 -272.548 0 -272.548 c -118.729 -272.548 215.321 -175.716 215.321 -56.695 c -215.321 62.325 118.729 159.156 0 159.156 c -h -0 -290.472 m --62.306 -290.472 -120.88 -266.152 -164.936 -221.993 c --208.985 -177.838 -233.245 -119.135 -233.245 -56.695 c --233.245 5.744 -208.985 64.447 -164.936 108.601 c --120.88 152.76 -62.306 177.08 0 177.08 c -62.305 177.08 120.881 152.76 164.936 108.601 c -208.986 64.447 233.245 5.744 233.245 -56.695 c -233.245 -119.135 208.986 -177.838 164.936 -221.993 c -120.881 -266.152 62.305 -290.472 0 -290.472 c -h -0 229.017 m --157.159 229.017 -285.018 100.847 -285.018 -56.695 c --285.018 -214.238 -157.159 -342.408 0 -342.408 c -157.158 -342.408 285.017 -214.238 285.017 -56.695 c -285.017 100.847 157.158 229.017 0 229.017 c -h -0 -360.333 m --80.922 -360.333 -156.999 -328.745 -214.218 -271.391 c --271.432 -214.041 -302.941 -137.795 -302.941 -56.695 c --302.941 24.404 -271.432 100.651 -214.218 158 c --156.999 215.354 -80.922 246.941 0 246.941 c -80.921 246.941 156.998 215.354 214.218 158 c -271.432 100.651 302.941 24.404 302.941 -56.695 c -302.941 -137.795 271.432 -214.041 214.218 -271.391 c -156.998 -328.745 80.921 -360.333 0 -360.333 c -h -0 305.706 m --199.346 305.706 -361.526 143.134 -361.526 -56.695 c --361.526 -256.525 -199.346 -419.098 0 -419.098 c -199.345 -419.098 361.525 -256.525 361.525 -56.695 c -361.525 143.134 199.345 305.706 0 305.706 c -h -0 -437.022 m --51.224 -437.022 -100.92 -426.964 -147.708 -407.126 c --192.894 -387.969 -233.473 -360.545 -268.318 -325.618 c --303.161 -290.693 -330.518 -250.02 -349.63 -204.73 c --369.417 -157.839 -379.45 -108.032 -379.45 -56.695 c --379.45 -5.359 -369.417 44.448 -349.63 91.339 c --330.518 136.629 -303.161 177.301 -268.318 212.227 c --233.473 247.154 -192.894 274.577 -147.708 293.734 c --100.92 313.572 -51.224 323.63 0 323.63 c -51.224 323.63 100.919 313.572 147.707 293.734 c -192.893 274.577 233.473 247.154 268.317 212.227 c -303.16 177.301 330.518 136.629 349.629 91.339 c -369.416 44.448 379.449 -5.359 379.449 -56.695 c -379.449 -108.032 369.416 -157.839 349.629 -204.73 c -330.518 -250.02 303.16 -290.693 268.317 -325.618 c -233.473 -360.545 192.893 -387.969 147.707 -407.126 c -100.919 -426.964 51.224 -437.022 0 -437.022 c -f -Q -Q -q -22.56 742.74 554.202 -232.51 re -W n -0.785 g -/GS0 gs -22.56 531.703 431.716 10.941 re -f -Q -0.431 g -/GS0 gs -455.272 541.963 121.49 102.836 re -f -q -22.56 742.74 554.202 -232.51 re -W n -22.56 542.643 432.711 102.157 re -f -q -1 0 0 1 600.137 644.302 cm -1 g -0 0 -665.846 0.995 re -0 -102.726 -665.846 0.995 re -f -Q -1 g -454.774 510.23 0.995 232.51 re -f -Q -q -1 0 0 1 456.266 583.475 cm -1 g -0 0 m -33.864 0 61.317 27.454 61.317 61.317 c -61.317 95.181 33.864 122.633 0 122.633 c --33.864 122.633 -61.317 95.181 -61.317 61.317 c --61.317 27.454 -33.864 0 0 0 c -f -Q -q -1 0 0 1 446.088 625.691 cm -0.35 g -0 0 m --2.439 0 l --2.439 5.826 l --0.098 5.826 l -1.039 5.826 1.703 5.19 1.703 4.191 c -1.703 3.544 1.277 3.126 0.983 2.987 c -1.335 2.824 1.784 2.456 1.784 1.678 c -1.784 0.59 1.039 0 0 0 c --0.188 4.813 m --1.301 4.813 l --1.301 3.47 l --0.188 3.47 l -0.294 3.47 0.565 3.741 0.565 4.141 c -0.565 4.541 0.294 4.813 -0.188 4.813 c --0.114 2.447 m --1.301 2.447 l --1.301 1.016 l --0.114 1.016 l -0.401 1.016 0.646 1.342 0.646 1.735 c -0.646 2.128 0.401 2.447 -0.114 2.447 c -f -Q -q -1 0 0 1 451.899 626.165 cm -0.35 g -0 0 m --0.263 -0.278 -0.695 -0.524 -1.326 -0.524 c --1.956 -0.524 -2.382 -0.278 -2.644 0 c --3.028 0.402 -3.127 0.883 -3.127 1.661 c --3.127 2.432 -3.028 2.913 -2.644 3.314 c --2.382 3.594 -1.956 3.839 -1.326 3.839 c --0.695 3.839 -0.263 3.594 0 3.314 c -0.385 2.913 0.482 2.432 0.482 1.661 c -0.482 0.883 0.385 0.402 0 0 c --0.827 2.692 m --0.949 2.816 -1.113 2.881 -1.326 2.881 c --1.54 2.881 -1.694 2.816 -1.817 2.692 c --2.038 2.473 -2.062 2.105 -2.062 1.661 c --2.062 1.22 -2.038 0.842 -1.817 0.622 c --1.694 0.498 -1.54 0.435 -1.326 0.435 c --1.113 0.435 -0.949 0.498 -0.827 0.622 c --0.606 0.842 -0.581 1.22 -0.581 1.661 c --0.581 2.105 -0.606 2.473 -0.827 2.692 c -f -Q -q -1 0 0 1 456.343 626.165 cm -0.35 g -0 0 m --0.262 -0.278 -0.695 -0.524 -1.326 -0.524 c --1.955 -0.524 -2.382 -0.278 -2.644 0 c --3.028 0.402 -3.126 0.883 -3.126 1.661 c --3.126 2.432 -3.028 2.913 -2.644 3.314 c --2.382 3.594 -1.955 3.839 -1.326 3.839 c --0.695 3.839 -0.262 3.594 0 3.314 c -0.384 2.913 0.483 2.432 0.483 1.661 c -0.483 0.883 0.384 0.402 0 0 c --0.827 2.692 m --0.949 2.816 -1.113 2.881 -1.326 2.881 c --1.539 2.881 -1.694 2.816 -1.817 2.692 c --2.038 2.473 -2.062 2.105 -2.062 1.661 c --2.062 1.22 -2.038 0.842 -1.817 0.622 c --1.694 0.498 -1.539 0.435 -1.326 0.435 c --1.113 0.435 -0.949 0.498 -0.827 0.622 c --0.606 0.842 -0.581 1.22 -0.581 1.661 c --0.581 2.105 -0.606 2.473 -0.827 2.692 c -f -Q -q -1 0 0 1 460.403 625.691 cm -0.35 g -0 0 m --1.047 1.775 l --1.498 1.268 l --1.498 0 l --2.562 0 l --2.562 5.827 l --1.498 5.827 l --1.498 2.52 l --0.083 4.264 l -1.202 4.264 l --0.319 2.544 l -1.318 0 l -0 0 l -f -Q -q -1 0 0 1 463.814 625.641 cm -0.35 g -0 0 m --0.669 0 -1.276 0.074 -1.817 0.614 c --1.12 1.31 l --0.769 0.958 -0.309 0.909 0.017 0.909 c -0.386 0.909 0.771 1.031 0.771 1.351 c -0.771 1.563 0.655 1.711 0.32 1.744 c --0.351 1.809 l --1.12 1.884 -1.594 2.219 -1.594 3.006 c --1.594 3.888 -0.819 4.362 0.049 4.362 c -0.712 4.362 1.27 4.249 1.68 3.863 c -1.024 3.201 l -0.779 3.421 0.403 3.487 0.034 3.487 c --0.392 3.487 -0.573 3.291 -0.573 3.077 c --0.573 2.923 -0.506 2.742 -0.129 2.71 c -0.541 2.644 l -1.385 2.562 1.81 2.112 1.81 1.391 c -1.81 0.451 1.009 0 0 0 c -f -Q -q -1 0 0 1 472.024 626.28 cm -0.35 g -0 0 m --0.409 -0.408 -0.908 -0.639 -1.571 -0.639 c --2.234 -0.639 -2.74 -0.408 -3.151 0 c --3.74 0.59 -3.724 1.318 -3.724 2.324 c --3.724 3.331 -3.74 4.06 -3.151 4.649 c --2.74 5.06 -2.234 5.287 -1.571 5.287 c --0.908 5.287 -0.409 5.06 0 4.649 c -0.59 4.06 0.582 3.331 0.582 2.324 c -0.582 1.318 0.59 0.59 0 0 c --0.842 3.961 m --1.007 4.15 -1.26 4.274 -1.571 4.274 c --1.882 4.274 -2.144 4.15 -2.307 3.961 c --2.528 3.716 -2.586 3.446 -2.586 2.324 c --2.586 1.203 -2.528 0.933 -2.307 0.687 c --2.144 0.499 -1.882 0.378 -1.571 0.378 c --1.26 0.378 -1.007 0.499 -0.842 0.687 c --0.622 0.933 -0.556 1.203 -0.556 2.324 c --0.556 3.446 -0.622 3.716 -0.842 3.961 c -f -Q -q -1 0 0 1 476.165 625.691 cm -0.35 g -0 0 m -0 2.578 l -0 3.159 -0.368 3.356 -0.704 3.356 c --1.038 3.356 -1.415 3.159 -1.415 2.578 c --1.415 0 l --2.479 0 l --2.479 4.264 l --1.44 4.264 l --1.44 3.87 l --1.163 4.166 -0.769 4.314 -0.376 4.314 c -0.05 4.314 0.393 4.174 0.631 3.937 c -0.975 3.594 1.065 3.193 1.065 2.725 c -1.065 0 l -0 0 l -f -Q -q -1 0 0 1 479.579 625.691 cm -0.35 g -0 0 m --0.876 0 -1.244 0.614 -1.244 1.218 c --1.244 5.827 l --0.18 5.827 l --0.18 1.285 l --0.18 1.031 -0.074 0.9 0.197 0.9 c -0.606 0.9 l -0.606 0 l -0 0 l -f -Q -q -1 0 0 1 481.02 631.551 cm -0.35 g -0 0 1.088 -0.867 re -0.016 -1.596 1.064 -4.264 re -f -Q -q -1 0 0 1 485.767 625.691 cm -0.35 g -0 0 m -0 2.578 l -0 3.159 -0.369 3.356 -0.704 3.356 c --1.039 3.356 -1.416 3.159 -1.416 2.578 c --1.416 0 l --2.479 0 l --2.479 4.264 l --1.441 4.264 l --1.441 3.87 l --1.163 4.166 -0.77 4.314 -0.377 4.314 c -0.049 4.314 0.392 4.174 0.631 3.937 c -0.973 3.594 1.063 3.193 1.063 2.725 c -1.063 0 l -0 0 l -f -Q -q -1 0 0 1 488.811 627.491 cm -0.35 g -0 0 m -0 -0.548 0.335 -0.95 0.934 -0.95 c -1.4 -0.95 1.63 -0.819 1.899 -0.548 c -2.546 -1.179 l -2.112 -1.612 1.695 -1.85 0.926 -1.85 c --0.082 -1.85 -1.046 -1.391 -1.046 0.335 c --1.046 1.728 -0.294 2.512 0.812 2.512 c -1.998 2.512 2.67 1.646 2.67 0.474 c -2.67 0 l -0 0 l -h -1.524 1.187 m -1.407 1.441 1.172 1.629 0.812 1.629 c -0.451 1.629 0.214 1.441 0.099 1.187 c -0.033 1.032 0.009 0.917 0 0.728 c -1.621 0.728 l -1.613 0.917 1.589 1.032 1.524 1.187 c -f -Q -q -1 0 0 1 412.959 634.004 cm -0.261 g -0 0 m --3.72 0 -6.542 0.793 -8.953 3.237 c --5.855 6.335 l --4.305 4.788 -2.205 4.27 0.069 4.27 c -2.892 4.27 4.408 5.337 4.408 7.3 c -4.408 8.162 4.166 8.887 3.651 9.368 c -3.167 9.814 2.617 10.055 1.48 10.227 c --1.481 10.64 l --3.581 10.951 -5.131 11.605 -6.233 12.671 c --7.405 13.844 -7.989 15.428 -7.989 17.495 c --7.989 21.867 -4.752 24.932 0.55 24.932 c -3.926 24.932 6.37 24.105 8.471 22.073 c -5.44 19.078 l -3.891 20.556 2.031 20.764 0.413 20.764 c --2.136 20.764 -3.375 19.354 -3.375 17.666 c --3.375 17.045 -3.169 16.392 -2.652 15.908 c --2.17 15.46 -1.379 15.083 -0.38 14.945 c -2.512 14.532 l -4.752 14.224 6.164 13.602 7.196 12.638 c -8.505 11.399 9.091 9.607 9.091 7.439 c -9.091 2.684 5.13 0 0 0 c -f -Q -q -1 0 0 1 434.389 634.212 cm -0.261 g -0 0 m -0 1.548 l --1.205 0.342 -2.339 -0.172 -4.407 -0.172 c --6.439 -0.172 -7.92 0.342 -8.987 1.411 c --9.951 2.408 -10.467 3.855 -10.467 5.439 c --10.467 8.298 -8.505 10.64 -4.338 10.64 c --0.103 10.64 l --0.103 11.534 l --0.103 13.499 -1.067 14.358 -3.442 14.358 c --5.164 14.358 -5.959 13.946 -6.887 12.878 c --9.745 15.666 l --7.988 17.595 -6.266 18.146 -3.272 18.146 c -1.757 18.146 4.375 16.011 4.375 11.811 c -4.375 0 l -0 0 l -h --0.103 7.574 m --3.65 7.574 l --5.267 7.574 -6.163 6.818 -6.163 5.543 c --6.163 4.303 -5.337 3.478 -3.581 3.478 c --2.339 3.478 -1.549 3.581 -0.758 4.339 c --0.274 4.785 -0.103 5.508 -0.103 6.611 c --0.103 7.574 l -f -Q -q -1 0 0 1 448.102 648.227 cm -0.261 g -0 0 m -0 -14.015 l --4.476 -14.015 l --4.476 0 l --6.336 0 l --6.336 3.409 l --4.476 3.409 l --4.476 5.646 l --4.476 8.193 -2.893 10.775 0.757 10.775 c -3.306 10.775 l -3.306 6.99 l -1.55 6.99 l -0.481 6.99 0 6.405 0 5.37 c -0 3.409 l -3.306 3.409 l -3.306 0 l -0 0 l -f -Q -q -1 0 0 1 463.489 634.212 cm -0.261 g -0 0 m -0 1.548 l --1.204 0.342 -2.341 -0.172 -4.408 -0.172 c --6.439 -0.172 -7.921 0.342 -8.987 1.411 c --9.952 2.408 -10.468 3.855 -10.468 5.439 c --10.468 8.298 -8.504 10.64 -4.338 10.64 c --0.103 10.64 l --0.103 11.534 l --0.103 13.499 -1.068 14.358 -3.443 14.358 c --5.166 14.358 -5.957 13.946 -6.887 12.878 c --9.745 15.666 l --7.989 17.595 -6.266 18.146 -3.271 18.146 c -1.757 18.146 4.372 16.011 4.372 11.811 c -4.372 0 l -0 0 l -h --0.103 7.574 m --3.65 7.574 l --5.268 7.574 -6.164 6.818 -6.164 5.543 c --6.164 4.303 -5.336 3.478 -3.581 3.478 c --2.341 3.478 -1.55 3.581 -0.758 4.339 c --0.275 4.785 -0.103 5.508 -0.103 6.611 c --0.103 7.574 l -f -Q -q -1 0 0 1 481.41 647.261 cm -0.261 g -0 0 m --0.69 0.69 -1.275 1.069 -2.376 1.069 c --3.754 1.069 -5.269 0.036 -5.269 -2.239 c --5.269 -13.049 l --9.746 -13.049 l --9.746 4.89 l --5.372 4.89 l --5.372 3.169 l --4.513 4.202 -2.79 5.096 -0.86 5.096 c -0.894 5.096 2.133 4.65 3.374 3.411 c -0 0 l -f -Q -q -1 0 0 1 -0 0 cm -0.261 g -486.821 634.212 4.476 17.941 re -f -Q -q -1 0 0 1 490.803 655.492 cm -0.785 g -0 0 m --0.995 -0.998 -2.613 -0.995 -3.608 0.001 c --4.606 0.999 -4.606 2.613 -3.608 3.611 c --2.613 4.609 -0.995 4.609 0 3.611 c -0.998 2.613 0.998 0.999 0 0 c -f -Q -q -1 0 0 1 498.093 655.492 cm -0.785 g -0 0 m --0.995 -0.998 -2.613 -0.995 -3.608 0.001 c --4.606 0.999 -4.606 2.613 -3.608 3.611 c --2.613 4.609 -0.995 4.609 0 3.611 c -0.998 2.613 0.998 0.999 0 0 c -f -Q -q -1 0 0 1 -0 0 cm -404.005 625.641 104.521 38.299 re -W n -1 0 0 1 499.617 661.678 cm -0.785 g -0 0 m -2.947 -2.95 4.379 -4.38 v -2.947 -5.809 0.001 -8.757 y -2.266 -11.023 l -8.911 -4.38 l -2.266 2.265 l -0 0 l -f -Q -q -1 0 0 1 493.885 636.928 cm -0.261 g -0 0 m -0.736 -0.001 1.321 -0.601 1.32 -1.348 c -1.319 -2.106 0.732 -2.698 -0.009 -2.697 c --0.745 -2.696 -1.343 -2.104 -1.342 -1.344 c --1.341 -0.596 -0.742 0.002 -0.005 0 c -0 0 l -h --0.005 -0.209 m --0.598 -0.209 -1.083 -0.716 -1.084 -1.344 c --1.085 -1.983 -0.601 -2.487 -0.003 -2.489 c -0.595 -2.495 1.074 -1.986 1.075 -1.354 c -1.076 -0.719 0.599 -0.21 0 -0.209 c --0.005 -0.209 l -h --0.26 -2.13 m --0.499 -2.128 l --0.496 -0.627 l --0.372 -0.609 -0.252 -0.592 -0.073 -0.592 c -0.155 -0.593 0.304 -0.642 0.394 -0.706 c -0.483 -0.773 0.531 -0.874 0.531 -1.017 c -0.531 -1.214 0.399 -1.335 0.238 -1.382 c -0.238 -1.393 l -0.369 -1.418 0.458 -1.538 0.488 -1.76 c -0.523 -1.992 0.56 -2.082 0.584 -2.13 c -0.332 -2.13 l -0.296 -2.082 0.261 -1.943 0.231 -1.747 c -0.195 -1.556 0.098 -1.483 -0.091 -1.483 c --0.259 -1.483 l --0.26 -2.13 l -h --0.259 -1.298 m --0.086 -1.298 l -0.111 -1.298 0.28 -1.226 0.28 -1.04 c -0.281 -0.908 0.183 -0.778 -0.085 -0.777 c --0.163 -0.777 -0.217 -0.783 -0.258 -0.789 c --0.259 -1.298 l -f -Q -EMC -EMC -q -1 0 0 1 -0 0 cm -0.9 g -105.124 180.223 403.806 135.613 re -f -Q -BT -0 g -/GS1 gs -/T1_0 1 Tf -0.0085 Tc 0.0015 Tw 15.9136 0 0 15.9136 185.729 295.078 Tm -[(Ac)-29(ti)-9(v)-9(a)9(t)9(e)-1( yo)5(u)7(r)-1( F)-10(R)-7(EE On)9(li)9(n)7(e)-1( E)4(d)-1(i)5(t)3(i)4(o)3(n a)9(t)9( )]TJ -0 Tc 0 Tw 2.668 -1.187 Td -[(inf)-17(o)-6(r)-23(m)2(it)-19(.c)-14(om)-16(/)23(s)-18(af)-27(ar)-24(if)-20(r)-6(e)-9(e)]TJ -0.05 Tc -0.025 Tw 10.9406 0 0 10.9406 141.924 256.289 Tm -[(ST)8(E)20(P)25( 1)82(:)]TJ -0.265 g -/GS0 gs -/T1_1 1 Tf -0 Tc 0 Tw 3.349 0 Td -( )Tj -11.4379 0 0 11.4379 198.616 256.289 Tm -( )Tj -0.0012 Tc -0.0012 Tw T* -[(E)-12(nter t)-12(h)1(e coupon code: LD)-6(M)-14(R)42(W)-9(B)-18(I)-18(.)]TJ -0 g -/GS1 gs -/T1_0 1 Tf -0.05 Tc -0.025 Tw 10.9406 0 0 10.9406 141.924 236.397 Tm -[(ST)8(E)20(P)25( 2)25(:)]TJ -0.265 g -/GS0 gs -/T1_1 1 Tf -1.4977 Tc 0 Tw 3.406 0 Td -( )Tj -0.0106 Tc -0.0006 Tw 11.4379 0 0 11.4379 198.616 236.397 Tm -[(N)-7(e)8(w S)-18(af)-15(a)1(r)-5(i)1( u)-6(s)6(er)-10(s)-10(,)1( com)-6(p)-2(le)-6(te t)-12(he br)-5(ie)-6(f r)7(e)-5(gis)-6(t)-8(r)-20(a)6(t)-5(i)1(on for)-8(m)-9(.)11( )]TJ -0.0111 Tc -0.0011 Tw 0 -1.217 TD -[(S)-17(a)1(f)-14(a)2(r)-4(i)1( subs)6(cr)-4(iber)-10(s)-9(,)1( ju)-5(s)-6(t)1( log in)-6(.)]TJ -0.0104 Tc -0.0004 Tw 7.4595 0 0 7.4595 191.334 204.073 Tm -[(I)-30(f yo)-18(u h)-25(a)4(ve d)-19(i)-20(f)-45(\002)244( )22(c)-16(u)-16(l)-20(t)-40(y r)-10(e)-21(g)-18(i)-18(s)-22(t)-21(e)-21(r)-21(i)-17(n)-16(g o)-19(n S)-34(a)-16(f)-30(a)-15(r)-21(i o)-15(r a)-11(c)-11(c)-11(e)-25(s)-19(s)-15(i)-17(n)-16(g t)-28(h)-17(e o)-19(n)-17(l)-15(i)-17(n)-17(e e)-20(d)-19(i)-20(t)-22(i)-15(o)-19(n)-26(,)10( )]TJ -0.0226 Tc -0.0126 Tw 3.503 -1.267 Td -[(p)-6(l)-4(e)-19(a)-12(se)13( e)-27(-)-20(m)-15(a)-3(il)13( c)-4(u)-10(s)-10(t)-10(o)-8(m)-6(e)-8(r-)-13(se)-8(r)-33(v)-7(ice)-14(@)-10(s)-14(a)-4(f)-18(a)-3(r)-9(i)-6(b)-9(o)-6(o)-6(k)-24(so)-7(n)-4(l)-3(i)-5(n)-4(e)-16(.)7(co)-8(m)]TJ -ET -q -1 0 0 1 105.124 315.836 cm -0.68 G -1.989 w 4 M -/GS2 gs -403.806 0 -403.806 -135.613 re -S -Q -q -1 0 0 1 105.124 315.836 cm -0.68 G -1.989 w 4 M -/GS2 gs -0 0 m -h -S -Q -q -1 0 0 1 -0 0 cm -239.47 685.008 -135.344 -180.089 re -W n -q -/GS2 gs -135.396 0 0 180.126 104.097 504.912 cm -/Im0 Do -Q -Q -q -1 0 0 1 104.126 685.008 cm -0.265 G -0.5 w 4 M -/GS2 gs -135.344 0 -135.344 -180.089 re -S -Q -q -1 0 0 1 104.126 685.008 cm -0.265 G -0.5 w 4 M -/GS2 gs -0 0 m -h -S -Q -BT -/GS2 gs -/T1_1 1 Tf --0.0625 Tc 0.0725 Tw 9.946 0 0 9.946 104.1293 476.394 Tm -[(Yo)-81(u)-77(r)-72( p)-81(u)-77(r)-71(c)-85(h)-88(a)-87(s)-73(e)-72( o)-78(f)-72( )]TJ -/T1_2 1 Tf -0.01 Tc 0 Tw [(A)-11(d)-20(v)8(a)-15(n)-7(c)-12(e)-11(d P)-12(r)-17(o)-6(g)-17(r)-12(a)-16(m)-16(m)-15(i)-13(n)-8(g i)-13(n t)-16(h)-6(e U)-23(N)-24(I)-19(X)]TJ -0 Tc 5.7985 0 0 5.7985 343.86 479.706 Tm -(\256)Tj -0.01 Tc 9.946 0 0 9.946 348.209 476.394 Tm -[( E)-19(n)-1(v)-12(i)-16(r)-17(o)-8(n)-11(m)-12(e)-13(n)-12(t)-49(, T)-13(h)-11(i)-16(r)-17(d E)-14(d)-18(i)-16(t)-17(i)-7(o)-8(n)-29(,)]TJ -/T1_1 1 Tf -0.0177 Tc -0.0077 Tw [( include)-7(s)18( )]TJ -0.0107 Tc -0.0007 Tw -24.541 -1.4 Td -[(acce)-14(s)-9(s)1( t)-12(o)1( a fre)-13(e)1( o)-8(n)-6(li)-6(n)-6(e)1( e)-9(d)-9(i)-10(t)-11(i)-5(o)-8(n fo)-5(r 4)-6(5)1( d)-18(a)14(y)-6(s)1( t)-18(h)-4(ro)-7(u)-7(g)-9(h t)-18(h)-6(e )]TJ -/T1_3 1 Tf -0.01 Tc 0 Tw 23.095 0 Td -[(S)-19(a)-13(f)-13(a)-19(r)-16(i B)-14(o)-8(o)-9(k)-24(s O)-17(n)-9(l)-8(i)-9(n)-9(e )]TJ -/T1_1 1 Tf -0.0164 Tc [(su)-3(bscr)-5(ipt)-6(i)1(o)-3(n)16( )]TJ -0.0106 Tc -0.0006 Tw -23.095 -1.4 Td -[(se)-10(r)-36(v)-9(ice)-18(.)1( N)-13(e)-22(a)-5(r)-11(l)-10(y)1( ev)9(e)-10(r)-37(y Ad)-7(d)-9(i)-8(so)-9(n)-21(-)23(W)41(e)-15(s)-7(l)-6(ey P)-8(r)2(o)-5(f)-3(e)-15(s)-9(s)-5(i)-5(o)-9(n)-15(a)-8(l)1( b)-11(o)-7(o)-8(k)1( i)-8(s)1( a)15(v)-17(ai)-5(l)-15(a)-10(b)-10(l)-6(e o)-9(n)-6(li)-6(n)-6(e)1( t)-18(h)-4(ro)-7(u)-7(g)-9(h )]TJ -/T1_3 1 Tf -0.0264 Tc -0.0164 Tw 35.398 0 Td -[(Sa)4(f)4(a)-3(ri)16( Bo)8(o)8(k)-8(s)26( )]TJ -0.0266 Tc 0 Tw -35.398 -1.4 Td -[(On)7(l)9(i)7(n)8(e)]TJ -/T1_1 1 Tf -0.011 Tc -0.001 Tw 3.267 0 Td -[(, a)-8(l)-6(o)-8(n)-5(g w)-11(i)-10(t)-18(h)1( t)-18(h)-7(o)-7(u)-11(s)-16(a)-8(nd)-13(s o)-5(f)1( b)-10(o)-7(o)-8(k)-26(s a)-8(n)-3(d v)-8(i)-1(d)-8(e)-13(o)-5(s)1( fro)-9(m)1( p)-7(u)-8(b)-10(l)-4(i)-7(s)-7(h)-6(e)-10(r)-16(s su)-6(c)-11(h)1( a)-14(s)1( Ci)-7(sco P)-7(r)1(e)-14(s)-8(s)-16(,)1( E)-32(x)-13(a)-9(m)11( )]TJ -0.0108 Tc -0.0008 Tw -3.267 -1.4 Td -[(Cr)-25(a)-10(m)-17(, I)-17(B)-25(M P)-7(r)1(e)-14(s)-9(s)-16(,)1( O)-4(\220)-24(R)10(e)-12(i)-5(l)-4(l)-10(y)1( M)-15(e)-9(d)-8(i)-15(a)-29(,)1( P)-7(r)1(e)-14(n)-6(t)-11(i)-2(ce H)-22(a)-8(ll)-13(, Q)-15(u)-6(e)-21(,)1( S)-23(a)-10(m)-12(s)-16(, a)-9(n)-3(d V)-15(M)-12(w)-19(a)-5(re P)-7(r)1(e)-14(s)-9(s)-13(.)]TJ -/T1_3 1 Tf -0.01 Tc 0 Tw 0 -2 TD -[(S)-19(a)-13(f)-13(a)-19(r)-16(i B)-14(o)-8(o)-9(k)-24(s O)-17(n)-9(l)-8(i)-9(n)-9(e)]TJ -/T1_1 1 Tf -0.0109 Tc -0.0009 Tw [( i)-7(s)1( a d)-8(i)-4(g)-7(i)-10(t)-28(a)-8(l li)-7(b)-7(r)-25(a)-5(r)-37(y p)-6(r)2(o)9(v)-9(id)-8(i)-6(n)-5(g se)-22(a)-5(r)2(c)-11(h)-15(a)-9(b)-10(l)-5(e)-21(, o)-8(n)-21(-)-26(d)-8(e)-15(m)-17(a)-8(n)-3(d acce)-14(s)-9(s)1( t)-12(o)1( t)-18(h)-7(o)-7(u)-11(s)-16(a)-8(nd)-13(s o)-5(f)11( )]TJ -0.01 Tc 0 Tw 0 -1.4 TD -[(t)-11(e)-13(c)-12(h)-9(n)-8(o)-8(l)-7(o)-5(g)-39(y)43(, d)-9(i)-5(g)-8(i)-11(t)-29(a)-9(l m)-9(e)-10(d)-9(i)-15(a)-30(, a)-9(n)-4(d p)-7(r)2(o)-6(f)-3(e)-15(s)-9(s)-5(i)-6(o)-9(n)-15(a)-9(l d)-9(e)4(v)8(e)-14(l)-7(o)-11(p)-12(m)-9(e)-15(n)-7(t b)-11(o)-8(o)-9(k)-27(s a)-9(n)-4(d v)-9(i)-2(d)-9(e)-14(o)-6(s fro)-10(m l)-6(e)-22(ad)-9(i)-7(n)-6(g p)-8(u)-9(b)-11(l)-5(i)-8(s)-8(h)-7(e)-11(r)-17(s)-13(.)10( )]TJ -0.0109 Tc -0.0009 Tw T* -[(W)-7(i)-10(t)-18(h)1( o)-8(n)-6(e m)-9(o)-8(n)-6(t)-18(h)-6(l)-10(y o)-4(r)1( y)9(e)-22(a)-5(r)-11(l)-10(y)1( su)-8(b)-8(sc)-7(r)-10(i)-8(p)-7(t)-11(i)-5(o)-8(n)1( p)-6(r)-10(ice)-21(,)1( y)9(o)-7(u ge)-12(t u)-7(n)-6(li)-7(m)-7(i)-10(t)-10(e)-9(d acce)-14(s)-9(s)1( t)-12(o)1( l)-5(e)-22(a)-5(r)-12(n)-5(i)-6(n)-5(g)1( t)-12(o)-7(o)-7(l)-10(s a)-8(n)-3(d)11( )]TJ -0.0107 Tc -0.0007 Tw T* -[(i)-6(n)-6(fo)-5(r)-14(m)-17(at)-11(i)-5(o)-8(n o)-8(n)1( t)-12(o)-10(p)-5(i)-2(c)-13(s)1( i)-6(n)-6(c)-10(l)-6(u)-5(d)-9(i)-6(n)-6(g m)-9(o)-9(b)-8(i)-5(l)-6(e)1( a)-11(p)-12(p a)-9(n)-3(d so)-5(f)-37(t)-30(w)-19(a)-5(re d)-9(e)4(v)9(e)-13(l)-7(o)-10(p)-11(m)-8(e)-14(n)-6(t)-42(,)1( t)-11(i)-8(p)-7(s)1( a)-9(n)-3(d t)-14(r)-11(ic)-11(k)-26(s)1( o)-8(n)1( u)-12(s)-5(i)-6(n)-6(g)11( )]TJ -0.0106 Tc T* -[(y)9(o)-7(ur f)-20(a)15(v)9(o)-5(r)-11(i)-10(t)-10(e)1( g)-22(a)2(d)-9(g)-1(e)-12(t)-21(s)-16(,)1( n)-6(e)-12(t)-30(w)6(o)-5(r)-12(k)-21(i)-6(n)-6(g)-14(, p)-6(r)2(oje)-13(c)-20(t m)-17(a)-9(n)-15(a)-10(ge)-15(m)-8(e)-14(n)-6(t)-42(, g)-6(r)-25(a)-11(p)-10(h)-5(i)-3(c d)-9(e)-15(s)-5(i)-5(g)-9(n)-15(, a)-9(n)-3(d m)-7(u)-7(c)-11(h)1( m)-9(o)-5(re)-18(.)]TJ -1 g -/T1_0 1 Tf -0.0125 Tc 0 Tw 29.8379 0 0 29.8379 252.324 602.171 Tm -[(FRE)8(E)13( )]TJ --0.0001 Tc 0.0101 Tw 27.8487 0 0 27.8487 252.324 572.333 Tm -[(Online)-10( Ed)-6(ition)]TJ -ET -q -1 0 0 1 508.673 160.422 cm -0.853 G -0.757 w 4 M -0 0 m --406.048 0 l -S -Q -q -1 0 0 1 139.187 136.237 cm -0.729 g -0 0 m -0.325 1.008 0.665 2.012 1.022 3.051 c -1.042 3.051 l -1.996 0 l -0 0 l -h -1.508 4.818 m -1.208 4.708 l --1.118 -1.846 l --1.527 -2.976 -1.667 -3.114 -2.389 -3.224 c --2.389 -3.471 l -0.129 -3.471 l -0.129 -3.224 l --0.735 -3.127 -0.853 -2.976 -0.662 -2.184 c --0.527 -1.67 -0.27 -0.823 -0.148 -0.45 c -2.142 -0.45 l -2.416 -1.271 2.686 -2.135 2.778 -2.432 c -2.943 -2.976 2.843 -3.127 2.06 -3.224 c -2.06 -3.471 l -4.926 -3.471 l -4.926 -3.224 l -4.234 -3.127 4.083 -2.979 3.709 -1.919 c -3.274 -0.665 2.774 0.89 2.269 2.465 c -1.508 4.818 l -f -Q -q -1 0 0 1 146.313 133.34 cm -0.729 g -0 0 m --0.761 0 -1.604 0.744 -1.604 2.279 c --1.613 4.201 -0.565 4.641 -0.078 4.641 c -0.378 4.641 0.887 4.461 1.152 3.984 c -1.152 0.448 l -0.853 0.209 0.44 0 0 0 c -2.105 8.349 m -1.64 8.179 0.857 7.979 0.279 7.902 c -0.279 7.671 l -1.1 7.575 1.152 7.544 1.152 6.762 c -1.152 4.944 l -0.905 5.018 0.579 5.048 0.431 5.048 c --1.366 5.048 -2.696 3.649 -2.696 1.943 c --2.696 0.199 -1.404 -0.726 -0.464 -0.726 c --0.304 -0.726 -0.095 -0.665 0.31 -0.435 c -1.152 0.059 l -1.152 -0.726 l -1.796 -0.466 2.688 -0.309 2.966 -0.249 c -2.966 -0.013 l -2.55 0.031 l -2.184 0.059 2.097 0.157 2.105 0.791 c -2.105 8.349 l -f -Q -q -1 0 0 1 151.658 132.971 cm -0.729 g -0 0 m --0.978 0 -1.535 1.191 -1.535 2.848 c --1.535 4.257 -1.021 5.066 -0.278 5.066 c --0.274 5.066 l -0.783 5.066 1.252 3.839 1.252 2.339 c -1.252 0.555 0.718 0 0 0 c --0.126 5.417 m --0.139 5.417 l --1.239 5.417 -2.665 4.475 -2.665 2.383 c --2.665 1.051 -1.736 -0.357 -0.148 -0.357 c -1.044 -0.357 2.362 0.647 2.362 2.638 c -2.362 4.165 1.331 5.417 -0.126 5.417 c -f -Q -q -1 0 0 1 156.496 132.984 cm -0.729 g -0 0 m --0.005 0 -0.01 0 -0.014 0 c --0.663 0.029 -0.998 0.447 -1.077 0.664 c --1.12 0.804 -1.138 0.938 -1.138 1.118 c --1.138 4.522 l --0.951 4.648 -0.611 4.756 -0.254 4.756 c -0.863 4.756 1.581 3.887 1.581 2.465 c -1.581 0.946 0.969 0 0 0 c --1.138 8.705 m --1.611 8.535 -2.315 8.348 -2.894 8.274 c --2.894 8.04 l --2.137 7.931 -2.098 7.883 -2.098 7.087 c --2.098 0.069 l --1.477 -0.248 -0.898 -0.37 -0.293 -0.37 c -1.302 -0.37 2.668 0.969 2.668 2.803 c -2.668 4.261 1.637 5.404 0.368 5.404 c -0.172 5.404 0.002 5.37 -0.159 5.283 c --1.138 4.865 l --1.138 8.705 l -f -Q -q -1 0 0 1 160.426 136.393 cm -0.729 g -0 0 m -0.108 0.999 0.664 1.588 1.191 1.588 c -1.217 1.588 l -1.891 1.588 2.251 0.944 2.247 0.308 c -2.247 0.107 2.183 0.031 2.004 0.031 c -1.339 0.013 0.656 0.008 0 0 c -1.517 1.995 m -1.504 1.995 l -0.969 1.995 0.347 1.696 -0.11 1.209 c --0.697 0.626 -1.031 -0.227 -1.031 -1.148 c --1.031 -2.57 -0.158 -3.779 1.308 -3.779 c -1.674 -3.779 2.517 -3.532 3.2 -2.57 c -3.03 -2.371 l -2.586 -2.805 2.183 -2.966 1.743 -2.966 c -1.737 -2.966 1.731 -2.966 1.725 -2.966 c -0.856 -2.966 -0.092 -2.297 -0.078 -0.444 c -1.356 -0.387 2.813 -0.278 2.982 -0.248 c -3.209 -0.187 3.26 -0.127 3.26 0.157 c -3.27 1.069 2.495 1.995 1.517 1.995 c -f -Q -q -1 0 0 1 163.747 138.068 cm -0.729 g -0 0 m -0 0.12 l -0.04 0.12 l -0.135 0.06 l -0.04 0 l -0 0 l -h -0.048 0.177 m --0.069 0.15 l --0.069 -0.211 l -0 -0.211 l -0 -0.058 l -0.04 -0.058 l -0.118 -0.127 l -0.139 -0.211 l -0.209 -0.211 l -0.187 -0.127 l -0.127 -0.031 l -0.196 0.06 l -0.166 0.147 l -0.048 0.177 l -h -0.061 -0.297 m --0.082 -0.297 -0.2 -0.176 -0.2 -0.018 c --0.2 0.138 -0.082 0.26 0.061 0.26 c -0.209 0.26 0.326 0.138 0.326 -0.018 c -0.326 -0.176 0.209 -0.297 0.061 -0.297 c -0.061 0.316 m --0.121 0.316 -0.269 0.168 -0.269 -0.018 c --0.269 -0.205 -0.121 -0.35 0.061 -0.35 c -0.248 -0.35 0.396 -0.205 0.396 -0.018 c -0.396 0.168 0.248 0.316 0.061 0.316 c -f -Q -q -1 0 0 1 167.705 136.5 cm -0.729 g -0 0 m --0.353 0 -0.635 0.063 -0.787 0.14 c --0.787 3.641 l --0.787 3.872 -0.757 3.951 -0.687 3.981 c --0.596 4.014 -0.439 4.046 -0.213 4.046 c -0.922 4.046 1.652 3.441 1.652 2.084 c -1.652 0.401 0.682 0 0 0 c -0.026 4.384 m --2.797 4.384 l --2.797 4.137 l --1.913 4.046 -1.818 3.906 -1.818 2.881 c --1.818 -2.246 l --1.818 -3.251 -1.918 -3.409 -2.857 -3.487 c --2.857 -3.734 l -0.422 -3.734 l -0.422 -3.487 l --0.687 -3.409 -0.787 -3.251 -0.787 -2.251 c --0.787 -0.216 l -0.04 -0.434 l -0.098 -0.44 0.164 -0.443 0.236 -0.443 c -0.308 -0.443 0.385 -0.44 0.465 -0.434 c -1.636 -0.268 2.814 0.545 2.814 2.107 c -2.814 2.928 2.504 3.501 2.022 3.872 c -1.544 4.246 0.87 4.384 0.026 4.384 c -f -Q -q -1 0 0 1 172.523 138.424 cm -0.729 g -0 0 m --0.578 -0.244 -1.092 -0.405 -1.687 -0.506 c --1.687 -0.731 l --0.995 -0.84 -0.952 -0.883 -0.952 -1.691 c --0.952 -4.41 l --0.952 -5.193 -1.061 -5.333 -1.757 -5.411 c --1.757 -5.658 l -0.988 -5.658 l -0.988 -5.411 l -0.096 -5.333 0 -5.193 0 -4.371 c -0 -1.94 l -0.283 -1.258 0.614 -0.992 0.871 -0.992 c -1.062 -0.992 1.21 -1.087 1.375 -1.258 c -1.407 -1.291 1.458 -1.311 1.52 -1.311 c -1.571 -1.311 1.629 -1.298 1.692 -1.267 c -1.939 -1.166 2.101 -0.918 2.101 -0.67 c -2.101 -0.374 1.813 -0.036 1.435 -0.036 c -0.891 -0.036 0.344 -0.713 0.027 -1.319 c -0 -1.319 l -0 0 l -f -Q -q -1 0 0 1 175.646 136.393 cm -0.729 g -0 0 m -0.117 0.999 0.683 1.588 1.208 1.588 c -1.217 1.588 l -1.901 1.588 2.261 0.944 2.257 0.308 c -2.257 0.107 2.191 0.031 2.013 0.031 c -1.357 0.013 0.665 0.008 0 0 c -1.525 1.995 m -1.513 1.995 l -0.979 1.995 0.357 1.696 -0.1 1.209 c --0.683 0.626 -1.022 -0.227 -1.022 -1.148 c --1.022 -2.57 -0.148 -3.779 1.318 -3.779 c -1.692 -3.779 2.527 -3.532 3.2 -2.57 c -3.036 -2.371 l -2.596 -2.805 2.191 -2.966 1.761 -2.966 c -1.755 -2.966 1.749 -2.966 1.743 -2.966 c -0.865 -2.966 -0.083 -2.297 -0.07 -0.444 c -1.366 -0.387 2.822 -0.278 2.992 -0.248 c -3.213 -0.187 3.278 -0.127 3.278 0.157 c -3.278 1.069 2.504 1.995 1.525 1.995 c -f -Q -q -1 0 0 1 181.186 138.388 cm -0.729 g -0 0 m --1.11 0 -1.852 -0.733 -1.852 -1.655 c --1.852 -2.522 -1.07 -2.939 -0.388 -3.266 c -0.256 -3.561 0.587 -3.918 0.587 -4.523 c -0.587 -5.13 0.2 -5.417 -0.265 -5.417 c --1.009 -5.417 -1.613 -4.536 -1.822 -3.791 c --2.062 -3.821 l --2.052 -4.335 -1.962 -5.096 -1.892 -5.31 c --1.674 -5.527 -1.101 -5.774 -0.483 -5.774 c -0.457 -5.774 1.509 -5.196 1.509 -4.039 c -1.509 -3.205 0.913 -2.718 0.013 -2.322 c --0.544 -2.074 -1.009 -1.777 -1.009 -1.191 c --1.009 -0.695 -0.674 -0.351 -0.235 -0.351 c -0.287 -0.351 0.735 -0.796 1.053 -1.625 c -1.3 -1.548 l -1.27 -1.283 1.144 -0.496 1.04 -0.2 c -0.796 -0.091 0.47 0 0 0 c -f -Q -q -1 0 0 1 185.095 138.388 cm -0.729 g -0 0 m --1.1 0 -1.848 -0.733 -1.848 -1.655 c --1.848 -2.522 -1.065 -2.939 -0.387 -3.266 c -0.257 -3.561 0.592 -3.918 0.592 -4.523 c -0.592 -5.13 0.205 -5.417 -0.26 -5.417 c --1.005 -5.417 -1.6 -4.536 -1.817 -3.791 c --2.057 -3.821 l --2.053 -4.335 -1.951 -5.096 -1.886 -5.31 c --1.671 -5.527 -1.1 -5.774 -0.487 -5.774 c -0.457 -5.774 1.513 -5.196 1.513 -4.039 c -1.513 -3.205 0.922 -2.718 0.026 -2.322 c --0.539 -2.074 -0.995 -1.777 -1.005 -1.191 c --1.005 -0.695 -0.674 -0.351 -0.231 -0.351 c -0.296 -0.351 0.739 -0.796 1.061 -1.625 c -1.305 -1.548 l -1.271 -1.283 1.148 -0.496 1.04 -0.2 c -0.801 -0.091 0.474 0 0 0 c -f -Q -q -1 0 0 1 210.501 144.838 cm -0.729 g -0 0 m --0.049 0 l --0.087 -0.023 l --0.266 -0.183 l --1.723 -2.201 l --5.511 -6.525 l -2.696 -6.767 2.382 -7.228 v -2.065 -7.684 -6.315 -7.427 y --8.25 -9.636 l --8.25 -9.741 l --8.268 -9.82 -8.268 -9.868 -8.268 -9.929 c --8.268 -10.133 -8.237 -10.333 -8.159 -10.52 c --8.089 -10.672 -8.05 -10.877 -8.05 -11.089 c --8.05 -11.216 -8.089 -11.324 -8.159 -11.416 c --8.237 -11.485 -8.328 -11.542 -8.429 -11.593 c --8.538 -11.633 -8.672 -11.651 -8.794 -11.663 c --8.925 -11.682 -9.033 -11.682 -9.159 -11.682 c --9.281 -11.682 -9.429 -11.663 -9.599 -11.633 c --9.763 -11.62 -9.925 -11.555 -10.089 -11.485 c --10.229 -11.416 -10.359 -11.324 -10.468 -11.216 c --10.551 -11.124 -10.616 -10.985 -10.616 -10.812 c --10.616 -10.612 -10.521 -10.424 -10.338 -10.233 c --10.159 -10.068 -9.941 -9.906 -9.707 -9.759 c --9.468 -9.621 -9.211 -9.472 -8.981 -9.341 c --8.741 -9.215 -8.563 -9.094 -8.429 -8.968 c --8.268 -8.807 -8.072 -8.568 -7.833 -8.301 c --7.603 -8.024 -7.324 -7.745 -7.05 -7.45 c --6.902 -7.28 -7.803 -7.318 -7.603 -6.924 c --7.384 -6.525 -6.355 -6.661 -6.237 -6.537 c --5.967 -6.228 -5.71 -5.948 -5.471 -5.701 c --5.237 -5.446 -5.058 -5.236 -4.898 -5.041 c --4.749 -4.88 -4.658 -4.771 -4.628 -4.715 c --4.532 -4.614 -4.371 -4.397 -4.114 -4.076 c --3.858 -3.758 -3.588 -3.424 -3.302 -3.037 c --3.005 -2.648 -2.736 -2.292 -2.467 -1.943 c --2.193 -1.596 -2.01 -1.34 -1.901 -1.209 c --1.653 -0.852 -1.436 -0.535 -1.236 -0.252 c --1.031 0.017 -0.871 0.274 -0.744 0.526 c --0.614 0.773 -0.505 1.039 -0.453 1.334 c --0.414 1.626 -0.396 1.97 -0.453 2.357 c --0.179 2.518 0.073 2.666 0.33 2.805 c -0.578 2.962 0.873 3.022 1.182 3.022 c -1.252 3.022 1.361 3.022 1.491 3.022 c -1.617 3.022 1.708 2.962 1.726 2.853 c -1.795 2.696 1.904 2.465 2.052 2.139 c -2.2 1.813 2.36 1.444 2.56 1.029 c -2.756 0.613 2.956 0.178 3.174 -0.278 c -3.374 -0.728 3.578 -1.161 3.778 -1.579 c -3.957 -1.996 4.117 -2.361 4.283 -2.697 c -4.443 -2.997 4.552 -3.226 4.631 -3.374 c -4.918 -3.979 5.265 -4.571 5.644 -5.11 c -6.022 -5.635 6.418 -6.172 6.844 -6.692 c -7.257 -7.219 7.657 -7.745 8.079 -8.301 c -8.47 -8.845 8.836 -9.402 9.162 -9.994 c -9.31 -10.176 9.488 -10.363 9.719 -10.493 c -9.957 -10.612 10.184 -10.729 10.393 -10.859 c -10.61 -10.985 10.797 -11.124 10.958 -11.324 c -11.105 -11.511 11.175 -11.758 11.175 -12.081 c -11.175 -12.12 11.184 -12.208 11.175 -12.33 c -11.158 -12.674 10.741 -12.903 9.64 -12.903 c -8.54 -12.903 7.953 -12.446 8.079 -12.534 c -8.192 -12.595 7.796 -12.395 7.604 -12.145 c -7.405 -11.898 7.161 -11.593 6.914 -11.216 c -6.662 -10.842 6.388 -10.424 6.118 -9.959 c -5.847 -9.502 5.592 -9.094 5.335 -8.675 c -5.096 -8.254 4.878 -7.902 4.679 -7.576 c -4.483 -7.258 4.352 -7.05 4.265 -6.924 c -4.243 -6.924 4.196 -6.846 4.104 -6.737 c -4.01 -6.637 3.917 -6.537 3.809 -6.427 c -3.718 -6.319 3.609 -6.211 3.522 -6.101 c -3.431 -6.009 3.374 -5.932 3.352 -5.918 c -3.265 -5.793 l -3.144 -5.606 l -3.035 -5.493 l -2.995 -5.406 l -2.978 -5.388 2.978 -5.335 2.956 -5.245 c -2.943 -5.158 2.848 -4.988 2.687 -4.715 c -2.521 -4.463 2.413 -4.323 2.36 -4.284 c -2.269 -4.227 l -2.182 -4.166 2.091 -3.997 1.983 -3.731 c -1.874 -3.511 1.739 -3.223 1.617 -2.91 c -1.491 -2.592 1.361 -2.274 1.239 -1.935 c -1.104 -1.579 0.965 -1.27 0.817 -0.983 c -0.686 -0.687 0.547 -0.458 0.399 -0.278 c -0.278 -0.092 0.13 0 0 0 c -f -Q -q -1 0 0 1 200.855 128.161 cm -0.729 g -0 0 m --1.1 0 l --0.587 1.665 l --0.583 1.665 l -0 0 l -h -0.257 -0.735 m -0.605 -1.718 l -1.566 -1.718 l --0.187 3.03 l --0.883 3.03 l --2.679 -1.718 l --1.735 -1.718 l --1.358 -0.735 l -0.257 -0.735 l -f -Q -q -1 0 0 1 205.434 127.235 cm -0.729 g -0 0 m -1.278 0 l -1.278 -0.792 l --0.9 -0.792 l --0.9 3.837 l -0 3.837 l -0 0 l -f -Q -q -1 0 0 1 209.739 130.321 cm -0.729 g -0 0 m -0.157 0 l -0.661 0 1.001 -0.082 1.001 -0.694 c -1.001 -1.282 0.713 -1.399 0.179 -1.399 c -0 -1.399 l -0 0 l -h -0 -2.152 m -0.444 -2.152 l -1.388 -2.152 1.923 -1.669 1.923 -0.694 c -1.923 0.358 1.288 0.751 0.318 0.751 c --0.904 0.751 l --0.904 -3.878 l -0 -3.878 l -0 -2.152 l -f -Q -q -1 0 0 1 216.471 129.248 cm -0.729 g -0 0 m -0 1.824 l -0.905 1.824 l -0.905 -2.805 l -0 -2.805 l -0 -0.74 l --1.665 -0.74 l --1.665 -2.805 l --2.566 -2.805 l --2.566 1.824 l --1.665 1.824 l --1.665 0 l -0 0 l -f -Q -q -1 0 0 1 222.172 128.161 cm -0.729 g -0 0 m --1.1 0 l --0.587 1.665 l --0.583 1.665 l -0 0 l -h -0.248 -0.735 m -0.604 -1.718 l -1.566 -1.718 l --0.187 3.03 l --0.883 3.03 l --2.687 -1.718 l --1.735 -1.718 l --1.356 -0.735 l -0.248 -0.735 l -f -Q -q -1 0 0 1 239.368 138.315 cm -0.729 g -0 0 m -0.004 0.695 -0.423 1.252 -1.271 1.252 c --2.289 1.252 -2.545 -0.235 -2.545 -1.162 c --2.545 -2.093 -2.289 -3.597 -1.271 -3.597 c --0.423 -3.597 0.004 -3.04 0 -2.34 c -1.508 -2.34 l -1.447 -3.984 0.252 -4.618 -1.271 -4.618 c --3.193 -4.618 -4.062 -3.101 -4.062 -1.162 c --4.062 0.782 -3.193 2.291 -1.271 2.291 c -0.252 2.291 1.447 1.657 1.508 0 c -0 0 l -f -Q -q -1 0 0 1 243.089 138.444 cm -0.729 g --1.378 0 1.378 -4.618 re -0 0 m -h --1.422 2.024 1.471 -1.192 re -f -Q -q -1 0 0 1 246.599 137.223 cm -0.729 g -0 0 m --0.023 0.3 -0.317 0.439 -0.626 0.439 c --0.996 0.439 -1.174 0.33 -1.174 0.03 c --1.174 -0.7 1.457 -0.286 1.457 -2.009 c -1.457 -3.013 0.235 -3.526 -0.626 -3.526 c --1.705 -3.526 -2.639 -3.109 -2.657 -2.053 c --1.379 -2.053 l --1.348 -2.406 -1.031 -2.614 -0.626 -2.614 c --0.248 -2.614 0.03 -2.449 0.03 -2.088 c -0.03 -1.73 -0.626 -1.566 -0.904 -1.514 c --1.778 -1.296 -2.601 -1.101 -2.601 -0.026 c --2.601 0.935 -1.431 1.352 -0.626 1.352 c -0.348 1.352 1.179 1.013 1.239 0 c -0 0 l -f -Q -q -1 0 0 1 251.309 136.827 cm -0.729 g -0 0 m --0.004 0.37 -0.162 0.835 -0.696 0.835 c --1.283 0.835 -1.292 -0.265 -1.309 -0.621 c --1.279 -1.056 -1.262 -2.218 -0.679 -2.218 c --0.148 -2.218 0.009 -1.692 0.026 -1.318 c -1.365 -1.318 l -1.317 -2.478 0.591 -3.13 -0.679 -3.13 c --2.044 -3.13 -2.732 -1.904 -2.732 -0.691 c --2.732 0.526 -2.044 1.748 -0.679 1.748 c -0.495 1.748 1.374 1.083 1.365 0 c -0 0 l -f -Q -q -1 0 0 1 254.696 136.136 cm -0.729 g -0 0 m -0 0.743 0.131 1.526 0.974 1.526 c -1.826 1.526 1.957 0.743 1.957 0 c -1.957 -0.736 1.826 -1.527 0.974 -1.527 c -0.131 -1.527 0 -0.736 0 0 c -3.384 0 m -3.384 1.448 2.488 2.439 0.974 2.439 c --0.526 2.439 -1.426 1.448 -1.426 0 c --1.426 -1.448 -0.526 -2.439 0.974 -2.439 c -2.488 -2.439 3.384 -1.448 3.384 0 c -f -Q -q -1 0 0 1 263.046 139.367 cm -0.729 g -0 0 m -0.791 -0.039 1.827 0.231 1.827 -0.944 c -1.827 -2.114 0.791 -1.844 0 -1.874 c -0 0 l -h -0 -5.541 m -0 -2.975 l -1.039 -2.975 l -2.517 -2.928 3.339 -2.14 3.339 -0.944 c -3.339 0.735 2.101 1.083 0.626 1.101 c --1.418 1.101 l --1.418 -5.541 l -0 -5.541 l -f -Q -q -1 0 0 1 268.382 138.444 cm -0.729 g -0 0 m -0.03 -0.829 l -0.047 -0.829 l -0.343 -0.107 0.94 0.071 1.617 0.062 c -1.617 -1.16 l -1.022 -1.16 l -0.791 -1.186 0.487 -1.317 0.357 -1.507 c -0.205 -1.757 0.179 -2.02 0.169 -2.322 c -0.169 -4.618 l --1.201 -4.618 l --1.214 -0.921 l --1.214 -0.72 -1.239 -0.334 -1.252 0 c -0 0 l -f -Q -q -1 0 0 1 272.022 136.687 cm -0.729 g -0 0 m -0.017 0.51 0.157 0.975 0.791 0.975 c -1.465 0.975 1.596 0.51 1.596 0 c -0 0 l -h -3.021 -0.916 m -3.021 -0.603 3.021 -0.312 2.992 -0.029 c -2.952 0.271 2.882 0.54 2.761 0.788 c -2.369 1.61 1.652 1.888 0.791 1.888 c --0.609 1.888 -1.422 0.828 -1.422 -0.56 c --1.422 -2.091 -0.788 -2.99 0.791 -2.99 c -1.869 -2.99 2.761 -2.604 2.874 -1.473 c -1.635 -1.473 l -1.504 -1.908 1.274 -2.078 0.791 -2.078 c -0.087 -2.078 0 -1.517 0 -0.916 c -3.021 -0.916 l -f -Q -q -1 0 0 1 278.245 137.223 cm -0.729 g -0 0 m --0.027 0.3 -0.317 0.439 -0.631 0.439 c --1.009 0.439 -1.178 0.33 -1.178 0.03 c --1.178 -0.7 1.456 -0.286 1.456 -2.009 c -1.456 -3.013 0.221 -3.526 -0.631 -3.526 c --1.705 -3.526 -2.636 -3.109 -2.657 -2.053 c --1.379 -2.053 l --1.357 -2.406 -1.031 -2.614 -0.631 -2.614 c --0.248 -2.614 0.03 -2.449 0.03 -2.088 c -0.03 -1.73 -0.631 -1.566 -0.909 -1.514 c --1.784 -1.296 -2.605 -1.101 -2.605 -0.026 c --2.605 0.935 -1.435 1.352 -0.631 1.352 c -0.348 1.352 1.174 1.013 1.239 0 c -0 0 l -f -Q -q -1 0 0 1 282.837 137.223 cm -0.729 g -0 0 m --0.021 0.3 -0.318 0.439 -0.627 0.439 c --1.009 0.439 -1.178 0.33 -1.178 0.03 c --1.178 -0.7 1.457 -0.286 1.457 -2.009 c -1.457 -3.013 0.226 -3.526 -0.627 -3.526 c --1.705 -3.526 -2.64 -3.109 -2.657 -2.053 c --1.387 -2.053 l --1.358 -2.406 -1.031 -2.614 -0.627 -2.614 c --0.247 -2.614 0.03 -2.449 0.03 -2.088 c -0.03 -1.73 -0.627 -1.566 -0.905 -1.514 c --1.789 -1.296 -2.6 -1.101 -2.6 -0.026 c --2.6 0.935 -1.435 1.352 -0.627 1.352 c -0.348 1.352 1.17 1.013 1.239 0 c -0 0 l -f -Q -q -1 0 0 1 422.123 140.985 cm -0.798 g -0 0 m -0.048 0.169 l -0.157 0.169 l -0.257 0.1 l -0.249 0 0.157 0 0.087 0 c -0 0 l -h -0.17 0.235 m --0.021 0.235 l --0.146 -0.297 l --0.069 -0.297 l --0.013 -0.061 l -0.087 -0.061 l -0.18 -0.297 l -0.265 -0.297 l -0.17 -0.061 l -0.257 -0.061 0.326 0 0.336 0.077 c -0.336 0.169 0.297 0.235 0.17 0.235 c -0.091 -0.479 m --0.138 -0.479 -0.331 -0.297 -0.331 -0.048 c --0.331 0.196 -0.138 0.377 0.091 0.377 c -0.336 0.377 0.535 0.196 0.535 -0.048 c -0.535 -0.297 0.336 -0.479 0.091 -0.479 c -0.091 0.456 m --0.188 0.456 -0.408 0.235 -0.408 -0.048 c --0.408 -0.326 -0.188 -0.556 0.091 -0.556 c -0.374 -0.556 0.605 -0.326 0.605 -0.048 c -0.605 0.235 0.374 0.456 0.091 0.456 c -f -Q -q -1 0 0 1 395.361 142.767 cm -0.798 g -0 0 m --2.148 0 l --3.6 -3.022 l --3.696 0 l --5.84 0 l --7.04 -5.414 l --5.471 -5.414 l --4.74 -2.509 l --4.697 -5.414 l --3.569 -5.414 l --2.121 -2.509 l --2.765 -5.414 l --1.209 -5.414 l -0 0 l -f -Q -q -1 0 0 1 397.179 142.767 cm -0.798 g -0 0 m --1.453 0 l --1.639 -0.882 l --0.191 -0.882 l -0 0 l -f -Q -q -1 0 0 1 396.871 141.362 cm -0.798 g -0 0 m --1.458 0 l --2.344 -4.004 l --0.893 -4.004 l -0 0 l -f -Q -q -1 0 0 1 399.162 141.471 cm -0.798 g -0 0 m --2.94 0 -3.567 -4.176 -0.913 -4.235 c --0.883 -4.236 -0.854 -4.237 -0.825 -4.237 c -1.113 -4.237 1.566 -2.66 1.566 -2.631 c -0.039 -2.631 l -0.002 -2.699 -0.203 -3.214 -0.642 -3.214 c --0.647 -3.214 -0.653 -3.213 -0.657 -3.213 c --1.639 -3.195 -1.013 -0.982 -0.122 -0.952 c --0.119 -0.952 -0.115 -0.952 -0.112 -0.952 c -0.356 -0.952 0.314 -1.54 0.288 -1.6 c -1.791 -1.6 l -1.809 -1.54 1.9 -0.099 0.158 -0.004 c -0.104 -0.001 0.052 0 0 0 c -f -Q -q -1 0 0 1 418.757 142.718 cm -0.798 g -0 0 m --0.357 0 -0.809 -0.042 -1.056 -0.228 c --1.365 -0.477 -1.474 -0.742 -1.604 -1.356 c --2.327 -1.356 l --2.534 -2.277 l --1.8 -2.277 l --2.465 -5.36 l --1.036 -5.36 l --0.361 -2.277 l -0.44 -2.277 l --0.003 -4.304 l --0.125 -4.83 0.066 -5.078 0.236 -5.203 c -0.434 -5.335 0.828 -5.367 1.172 -5.367 c -1.512 -5.367 1.802 -5.335 y -2.017 -4.431 l -1.922 -4.439 1.805 -4.439 v -1.636 -4.439 1.423 -4.421 1.392 -4.334 c -1.352 -4.212 1.392 -4.134 1.4 -4.042 c -1.779 -2.277 l -2.462 -2.277 l -2.67 -1.356 l -1.98 -1.356 l -2.189 -0.377 l -0.858 -0.377 l -0.639 -1.356 l --0.212 -1.356 l --0.188 -1.251 l --0.117 -0.933 -0.087 -0.772 0.371 -0.772 c -0.522 -0.028 l -0.292 0 0 0 v -f -Q -q -1 0 0 1 403.998 141.433 cm -0.798 g -0 0 m --0.247 0 -0.456 -0.045 -0.675 -0.111 c --0.943 -0.201 -1.171 -0.34 -1.348 -0.557 c --1.24 -0.071 l --2.539 -0.071 l --3.448 -4.075 l --2.06 -4.075 l --1.744 -2.648 l --1.494 -1.431 -0.807 -1.296 -0.492 -1.294 c --0.418 -1.151 -0.329 -1.014 -0.228 -0.885 c -0 0 l -f -Q -q -1 0 0 1 413.844 138.243 cm -0.798 g -0 0 m --0.043 0 -0.087 0.005 -0.131 0.015 c --1.022 0.197 -0.347 2.351 0.555 2.351 c -0.581 2.351 0.607 2.349 0.635 2.346 c -1.537 2.204 0.948 0 0 0 c -0.593 3.289 m --2.298 3.288 -3.104 -0.892 -0.218 -1.024 c --0.176 -1.025 -0.134 -1.026 -0.093 -1.026 c -2.795 -1.026 3.53 3.147 0.743 3.285 c -0.692 3.288 0.643 3.289 0.593 3.289 c -f -Q -q -1 0 0 1 405.229 138.243 cm -0.798 g -0 0 m --0.043 0 -0.086 0.005 -0.131 0.015 c --1.026 0.197 -0.342 2.351 0.555 2.351 c -0.582 2.351 0.609 2.349 0.635 2.346 c -1.543 2.204 0.949 0 0 0 c -0.591 3.289 m --0.311 3.289 -1.012 2.876 -1.459 2.305 c --1.56 2.176 -1.649 2.039 -1.723 1.896 c --2.373 0.66 -2 -0.962 -0.218 -1.024 c --0.19 -1.025 -0.163 -1.025 -0.135 -1.025 c -0.964 -1.025 1.792 -0.406 2.152 0.302 c -2.114 -0.172 2.317 -1.007 4.192 -1.03 c -4.213 -1.03 4.233 -1.03 4.253 -1.03 c -6.295 -1.03 6.47 0.283 6.453 0.568 c -6.401 1.594 5.478 1.64 4.667 1.811 c -4.014 1.951 4.143 2.48 4.726 2.48 c -5.353 2.48 5.197 1.951 y -6.592 1.951 l -6.57 2.028 6.965 3.269 4.874 3.285 c -4.842 3.286 4.81 3.286 4.778 3.286 c -3.79 3.286 2.909 2.961 2.783 2.088 c -2.626 1.007 4.036 0.759 4.4 0.697 c -5.205 0.558 4.974 -0.106 4.378 -0.106 c -4.366 -0.106 4.354 -0.106 4.341 -0.106 c -3.524 -0.106 3.726 0.481 y -1.03 0.481 l -2.239 0.924 l -2.348 0.975 2.435 0.993 2.456 1.098 c -2.674 2.206 2.114 3.206 0.744 3.285 c -0.693 3.288 0.642 3.289 0.591 3.289 c -f -Q -q -1 0 0 1 403.998 134.379 cm -0.859 g -0 0 m -0.465 2.083 l -1.665 2.083 l -1.935 2.083 2.161 2.052 2.349 1.883 c -2.566 1.665 2.609 1.349 2.531 1.023 c -2.471 0.735 2.309 0.47 2.07 0.269 c -1.757 0.03 1.469 0 1.148 0 c -0 0 l -h -1.736 2.64 m --0.087 2.64 l --1.301 -2.766 l --0.622 -2.766 l --0.127 -0.565 l -1.082 -0.565 l -1.578 -0.565 2.052 -0.492 2.497 -0.118 c -2.858 0.161 3.131 0.595 3.223 1.023 c -3.322 1.487 3.244 1.988 2.953 2.283 c -2.648 2.592 2.2 2.64 1.736 2.64 c -f -Q -q -1 0 0 1 409.459 135.731 cm -0.859 g -0 0 m --0.652 0 -1.098 -0.5 -1.416 -1.052 c --1.434 -1.052 l --1.225 -0.105 l --1.774 -0.105 l --2.673 -4.118 l --2.052 -4.118 l --1.604 -2.104 l --1.533 -1.778 -1.442 -1.53 -1.209 -1.24 c --0.891 -0.835 -0.512 -0.617 -0.038 -0.617 c -0.084 -0.617 l -0.222 -0.013 l -0 0 l -f -Q -q -1 0 0 1 409.999 134.031 cm -0.859 g -0 0 m -0.165 0.635 0.74 1.221 1.405 1.221 c -2.118 1.221 2.365 0.665 2.209 0 c -0 0 l -h -1.514 1.697 m -0.313 1.697 -0.57 0.696 -0.817 -0.413 c --1.065 -1.536 -0.657 -2.496 0.562 -2.496 c -1.326 -2.496 2.126 -2.061 2.527 -1.317 c -1.97 -1.209 l -1.692 -1.692 1.239 -1.982 0.722 -1.982 c -0.305 -1.982 -0.061 -1.753 -0.169 -1.375 c --0.247 -1.07 -0.199 -0.778 -0.13 -0.465 c -2.783 -0.465 l -3.07 0.648 2.76 1.697 1.514 1.697 c -f -Q -q -1 0 0 1 415.269 135.728 cm -0.859 g -0 0 m --0.739 0 -1.583 -0.352 -1.765 -1.188 c --1.922 -1.902 -1.426 -2.18 -0.838 -2.302 c --0.207 -2.409 l -0.132 -2.475 0.535 -2.599 0.432 -3.014 c -0.326 -3.537 -0.255 -3.679 -0.682 -3.679 c --1.169 -3.679 -1.76 -3.48 -1.721 -2.938 c --2.348 -3.063 l --2.33 -3.884 -1.635 -4.193 -0.843 -4.193 c --0.064 -4.193 0.898 -3.858 1.102 -2.961 c -1.184 -2.599 1.092 -2.259 0.822 -2.049 c -0.618 -1.876 0.326 -1.841 0.045 -1.775 c --0.52 -1.667 l --0.86 -1.624 -1.2 -1.515 -1.1 -1.089 c --1 -0.644 -0.482 -0.497 -0.117 -0.497 c -0.331 -0.497 0.705 -0.693 0.766 -1.141 c -1.362 -1.018 l -1.331 -0.275 0.718 0 0 0 c -f -Q -q -1 0 0 1 418.879 135.728 cm -0.859 g -0 0 m --0.735 0 -1.583 -0.352 -1.765 -1.188 c --1.93 -1.902 -1.434 -2.18 -0.838 -2.302 c --0.209 -2.409 l -0.122 -2.475 0.527 -2.599 0.435 -3.014 c -0.326 -3.537 -0.257 -3.679 -0.682 -3.679 c --1.169 -3.679 -1.761 -3.48 -1.726 -2.938 c --2.357 -3.063 l --2.33 -3.884 -1.627 -4.193 -0.843 -4.193 c --0.069 -4.193 0.891 -3.858 1.1 -2.961 c -1.179 -2.599 1.092 -2.259 0.822 -2.049 c -0.609 -1.876 0.326 -1.841 0.044 -1.775 c --0.522 -1.667 l --0.861 -1.624 -1.209 -1.515 -1.108 -1.089 c --1.01 -0.644 -0.483 -0.497 -0.125 -0.497 c -0.339 -0.497 0.705 -0.693 0.766 -1.141 c -1.362 -1.018 l -1.322 -0.275 0.713 0 0 0 c -f -Q -q -1 0 0 1 453.922 127.719 cm -0.729 g -/GS3 gs -0 0 m -0 5.85 -1.935 10.641 -5.346 13.963 c --8.757 17.286 -13.632 19.132 -19.481 19.132 c --19.481 18.762 l --13.708 18.762 -8.936 16.945 -5.604 13.699 c --2.272 10.452 -0.37 5.77 -0.369 0 c -0 0 l -f -Q -q -1 0 0 1 434.295 143.057 cm -0.729 g -/GS3 gs -0 0 m -0.912 0 l -0.912 -0.831 l -1.525 -3.452 l -1.525 0 l -2.439 0 l -2.439 -7.118 l -1.525 -7.118 l -1.525 -6.357 l -0.912 -3.7 l -0.912 -7.118 l -0 -7.118 l -0 0 l -f -Q -q -1 0 0 1 438.407 140.113 cm -0.729 g -/GS3 gs -0 0 m -0.061 0.061 0.132 0.091 0.219 0.091 c -0.309 0.091 0.387 0.061 0.445 0 c -0.496 -0.046 0.519 -0.116 0.519 -0.209 c -0.519 -1.431 l --0.081 -1.431 l --0.081 -0.209 l --0.081 -0.121 -0.051 -0.061 0 0 c -1.439 -0.209 m -1.439 0.127 1.327 0.417 1.092 0.653 c -0.861 0.883 0.565 1.01 0.219 1.01 c --0.122 1.01 -0.407 0.883 -0.642 0.653 c --0.891 0.417 -1.003 0.127 -1.003 -0.209 c --1.003 -3.066 l --1.003 -3.409 -0.891 -3.687 -0.642 -3.935 c --0.407 -4.165 -0.122 -4.275 0.219 -4.275 c -0.565 -4.275 0.861 -4.165 1.092 -3.935 c -1.327 -3.687 1.439 -3.409 1.439 -3.066 c -1.439 -2.795 l -0.519 -2.795 l -0.519 -3.066 l -0.519 -3.161 0.489 -3.221 0.435 -3.283 c -0.379 -3.331 0.309 -3.379 0.219 -3.379 c -0.132 -3.379 0.061 -3.331 0 -3.283 c --0.051 -3.221 -0.081 -3.143 -0.081 -3.066 c --0.081 -2.353 l -1.439 -2.353 l -1.439 -0.209 l -f -Q -q -1 0 0 1 441.966 137.047 cm -0.729 g -/GS3 gs -0 0 m -0 3.975 l -0.912 3.975 l -0.912 0 l -0.912 -0.095 0.943 -0.155 0.999 -0.217 c -1.06 -0.265 1.129 -0.313 1.222 -0.313 c -1.299 -0.313 1.37 -0.265 1.429 -0.217 c -1.497 -0.155 1.526 -0.077 1.526 0 c -1.526 3.975 l -2.439 3.975 l -2.439 0 l -2.439 -0.343 2.322 -0.621 2.081 -0.869 c -1.847 -1.099 1.556 -1.209 1.222 -1.209 c -0.922 -1.209 0.673 -1.131 0.456 -0.947 c -0.238 -1.131 -0.018 -1.209 -0.315 -1.209 c --0.662 -1.209 -0.954 -1.099 -1.188 -0.869 c --1.418 -0.621 -1.527 -0.343 -1.527 0 c --1.527 3.975 l --0.615 3.975 l --0.615 0 l --0.615 -0.095 -0.592 -0.155 -0.527 -0.217 c --0.466 -0.265 -0.397 -0.313 -0.315 -0.313 c --0.228 -0.313 -0.158 -0.265 -0.096 -0.217 c --0.032 -0.155 0 -0.077 0 0 c -f -Q -q -1 0 0 1 435.78 131.594 cm -0.729 g -/GS3 gs -0 0 m --0.069 -0.06 -0.138 -0.086 -0.216 -0.086 c --0.517 -0.086 l --0.517 2.362 l --0.216 2.362 l --0.12 2.362 -0.053 2.323 0 2.261 c -0.056 2.201 0.097 2.132 0.097 2.036 c -0.097 0.21 l -0.097 0.122 0.056 0.052 0 0 c -0.646 2.919 m -0.414 3.152 0.119 3.266 -0.216 3.266 c --1.437 3.266 l --1.437 -3.857 l --0.517 -3.857 l --0.517 -1.008 l --0.216 -1.008 l --0.138 -1.008 -0.069 -1.039 0 -1.1 c -0.056 -1.16 0.097 -1.226 0.097 -1.317 c -0.097 -3.857 l -1.01 -3.857 l -1.01 -1.317 l -1.01 -1.13 0.972 -0.978 0.914 -0.851 c -0.832 -0.714 l -0.721 -0.551 l -0.814 -0.424 0.883 -0.312 0.932 -0.186 c -0.98 -0.057 1.01 0.078 1.01 0.21 c -1.01 2.036 l -1.01 2.401 0.883 2.688 0.646 2.919 c -f -Q -q -1 0 0 1 438.565 134.508 cm -0.729 g -/GS3 gs --0.922 0 0.922 -0.918 re -0 0 m -h --0.922 -2.605 m --1.375 -2.605 l --1.375 -1.675 l -0 -1.675 l -0 -6.771 l --0.922 -6.771 l --0.922 -2.605 l -f -Q -q -1 0 0 1 440.23 128.742 cm -0.729 g -/GS3 gs -0 0 m --0.066 0.055 -0.087 0.126 -0.087 0.217 c --0.087 2.861 l --0.087 2.943 -0.056 3.005 0 3.069 c -0.061 3.131 0.14 3.161 0.217 3.161 c -0.527 3.161 l -0.527 -0.092 l -0.217 -0.092 l -0.13 -0.092 0.053 -0.069 0 0 c --0.631 -0.648 m --0.384 -0.897 -0.1 -1.005 0.217 -1.005 c -1.439 -1.005 l -1.439 6.118 l -0.527 6.118 l -0.527 4.091 l -0.217 4.091 l --0.117 4.091 -0.397 3.966 -0.644 3.735 c --0.883 3.496 -1.01 3.209 -1.01 2.861 c --1.01 0.217 l --1.01 -0.14 -0.883 -0.409 -0.631 -0.648 c -f -Q -q -1 0 0 1 443.326 131.921 cm -0.729 g -/GS3 gs -0 0 m -0.209 0.09 l -0.31 0.09 0.384 0.06 0.435 0.013 c -0.487 -0.048 0.522 -0.117 0.522 -0.218 c -0.522 -1.436 l --0.091 -1.436 l --0.091 -0.218 l -0 0 l -h -1.436 -0.218 m -1.436 0.121 1.317 0.416 1.092 0.648 c -0.86 0.882 0.565 1.004 0.209 1.004 c --0.122 1.004 -0.417 0.882 -0.649 0.648 c --0.891 0.416 -1.005 0.121 -1.005 -0.218 c --1.005 -3.06 l --1.005 -3.41 -0.891 -3.689 -0.649 -3.936 c --0.417 -4.171 -0.122 -4.284 0.209 -4.284 c -0.565 -4.284 0.86 -4.171 1.092 -3.936 c -1.317 -3.689 1.436 -3.41 1.436 -3.06 c -1.436 -2.797 l -0.522 -2.797 l -0.522 -3.06 l -0.522 -3.152 0.487 -3.223 0.435 -3.288 c -0.384 -3.348 0.305 -3.38 0.209 -3.38 c -0 -3.288 l --0.061 -3.223 -0.091 -3.149 -0.091 -3.06 c --0.091 -2.358 l -1.436 -2.358 l -1.436 -0.218 l -f -Q -q -1 0 0 1 446.573 132.833 cm -0.729 g -/GS3 gs -0 0 m -0.458 0 l -0.458 -0.93 l -0.154 -0.93 l -0.015 -0.93 -0.093 -0.969 -0.176 -1.057 c --0.263 -1.148 -0.311 -1.256 -0.311 -1.395 c --0.311 -5.096 l --1.225 -5.096 l --1.225 -1.239 l --1.225 -0.899 -1.098 -0.595 -0.869 -0.372 c --0.634 -0.138 -0.35 0 0 0 c -f -Q -q -1 0 0 1 447.497 128.861 cm -0.729 g -/GS3 gs -0 0 m -0 0.263 l -0.913 0.263 l -0.913 0 l -0.913 -0.092 0.952 -0.163 1.005 -0.228 c -1.063 -0.288 1.135 -0.32 1.221 -0.32 c -1.3 -0.32 1.38 -0.288 1.431 -0.228 c -1.491 -0.163 1.522 -0.089 1.522 0 c -1.522 0.565 l -0 2.098 l -0 2.842 l -0 3.181 0.112 3.476 0.348 3.708 c -0.578 3.942 0.873 4.064 1.221 4.064 c -1.562 4.064 1.848 3.942 2.087 3.708 c -2.322 3.476 2.443 3.181 2.443 2.842 c -2.443 2.577 l -1.522 2.577 l -1.522 2.842 l -1.522 2.934 1.501 3.012 1.44 3.06 c -1.382 3.111 1.313 3.15 1.221 3.15 c -1.135 3.15 1.063 3.111 1.005 3.06 c -0.952 3.012 0.913 2.934 0.913 2.842 c -0.913 2.458 l -2.443 0.933 l -2.443 0 l -2.443 -0.35 2.322 -0.629 2.087 -0.876 c -1.848 -1.111 1.562 -1.224 1.221 -1.224 c -0.873 -1.224 0.578 -1.111 0.348 -0.876 c -0.112 -0.629 0 -0.35 0 0 c -f -Q -q -1 0 0 1 0 0 cm -0.68 g -312.864 132.428 26.53 0.14 re -f -Q -q -1 0 0 1 0 0 cm -0.729 g -295.861 129.595 15.114 15.116 re -f -Q -q -1 0 0 1 299.727 136.823 cm -0 0 m -0 -0.711 0.189 -0.794 1.003 -0.827 c -1.003 -1.085 l --2.231 -1.085 l --2.231 -0.827 l --1.556 -0.794 -1.366 -0.711 -1.366 0 c --1.366 4.659 l --1.366 5.37 -1.556 5.453 -2.211 5.482 c --2.211 5.743 l -3.492 5.743 l -3.531 4.237 l -3.251 4.237 l -3.009 5 2.749 5.24 1.414 5.24 c -0.379 5.24 l -0.07 5.24 0 5.172 0 4.89 c -0 2.729 l -0.509 2.729 l -1.573 2.729 1.805 2.922 1.934 3.635 c -2.194 3.635 l -2.194 1.223 l -1.934 1.223 l -1.795 2.029 1.392 2.228 0.509 2.228 c -0 2.228 l -0 0 l -f -Q -q -1 0 0 1 309.677 142.566 cm -0 0 m --5.984 0 l --6.124 -1.507 l --5.78 -1.507 l --5.561 -0.768 -5.238 -0.503 -4.518 -0.503 c --3.675 -0.503 l --3.675 -5.743 l --3.675 -6.454 -3.866 -6.537 -4.638 -6.57 c --4.638 -6.828 l --1.346 -6.828 l --1.346 -6.57 l --2.119 -6.537 -2.31 -6.454 -2.31 -5.743 c --2.31 -0.503 l --1.467 -0.503 l --0.745 -0.503 -0.424 -0.768 -0.204 -1.507 c -0.137 -1.507 l -0 0 l -f -Q -q -1 0 0 1 312.847 135.889 cm -0.68 g -0 0 m -0.335 0.031 0.543 0.097 0.627 0.197 c -0.709 0.298 0.751 0.529 0.751 0.889 c -0.751 4.703 l -0.751 5.009 0.704 5.211 0.612 5.308 c -0.518 5.406 0.314 5.468 0 5.493 c -0 5.658 l -2.318 5.658 l -3.061 5.658 3.63 5.512 4.026 5.222 c -4.42 4.933 4.618 4.551 4.618 4.076 c -4.618 3.475 4.399 3.04 3.961 2.77 c -3.523 2.499 2.976 2.364 2.318 2.364 c -2.223 2.364 2.102 2.369 1.956 2.378 c -1.807 2.387 1.699 2.391 1.627 2.391 c -1.627 0.79 l -1.627 0.46 1.679 0.252 1.781 0.167 c -1.884 0.081 2.114 0.025 2.47 0 c -2.47 -0.165 l -0 -0.165 l -0 0 l -h -2.967 5.178 m -2.718 5.287 2.403 5.342 2.022 5.342 c -1.842 5.342 1.731 5.324 1.689 5.288 c -1.648 5.252 1.627 5.172 1.627 5.049 c -1.627 2.746 l -1.784 2.728 1.888 2.716 1.936 2.713 c -2.077 2.707 l -2.482 2.707 2.799 2.765 3.031 2.88 c -3.452 3.091 3.662 3.484 3.662 4.061 c -3.662 4.603 3.431 4.975 2.967 5.178 c -f -Q -q -1 0 0 1 317.635 135.869 cm -0.68 g -0 0 m -0.264 0.023 0.438 0.069 0.524 0.139 c -0.609 0.209 0.652 0.358 0.652 0.586 c -0.652 2.529 l -0.652 2.813 0.626 3.014 0.573 3.136 c -0.52 3.258 0.423 3.319 0.282 3.319 c -0.168 3.308 l -0.02 3.28 l -0.02 3.425 l -0.183 3.482 0.351 3.54 0.522 3.601 c -0.693 3.66 0.813 3.703 0.879 3.729 c -1.021 3.783 1.169 3.844 1.321 3.913 c -1.357 3.89 l -1.364 3.792 l -1.364 3.088 l -1.548 3.343 1.725 3.541 1.896 3.685 c -2.067 3.828 2.245 3.899 2.429 3.899 c -2.576 3.899 2.694 3.856 2.786 3.769 c -2.879 3.681 2.925 3.572 2.925 3.44 c -2.925 3.322 2.889 3.223 2.819 3.144 c -2.749 3.064 2.66 3.023 2.553 3.023 c -2.444 3.023 2.334 3.074 2.225 3.174 c -2.115 3.275 2.027 3.324 1.965 3.324 c -1.864 3.324 1.742 3.243 1.596 3.082 c -1.449 2.92 1.377 2.752 1.377 2.581 c -1.377 0.645 l -1.377 0.4 1.434 0.23 1.549 0.134 c -1.663 0.038 1.854 -0.006 2.121 0 c -2.121 -0.145 l -0 -0.145 l -0 0 l -f -Q -q -1 0 0 1 323.469 139.336 cm -0.68 g -0 0 m -0.304 -0.279 0.455 -0.675 0.455 -1.188 c --2.265 -1.188 l --2.237 -1.851 -2.087 -2.334 -1.816 -2.637 c --1.544 -2.94 -1.223 -3.092 -0.852 -3.092 c --0.552 -3.092 -0.299 -3.014 -0.093 -2.855 c -0.112 -2.699 0.302 -2.476 0.477 -2.187 c -0.626 -2.239 l -0.51 -2.603 0.289 -2.941 -0.033 -3.252 c --0.355 -3.562 -0.749 -3.718 -1.216 -3.718 c --1.755 -3.718 -2.171 -3.514 -2.465 -3.107 c --2.758 -2.7 -2.904 -2.231 -2.904 -1.701 c --2.904 -1.125 -2.734 -0.627 -2.393 -0.209 c --2.052 0.21 -1.608 0.419 -1.061 0.419 c --0.658 0.419 -0.304 0.28 0 0 c -h --2.051 -0.329 m --2.143 -0.483 -2.209 -0.677 -2.248 -0.911 c --0.441 -0.911 l --0.472 -0.626 -0.526 -0.413 -0.604 -0.273 c --0.744 -0.023 -0.978 0.103 -1.306 0.103 c --1.631 0.103 -1.88 -0.041 -2.051 -0.329 c -f -Q -q -1 0 0 1 324.627 137.081 cm -0.68 g -0 0 m -0.142 0 l -0.208 -0.326 0.297 -0.577 0.407 -0.751 c -0.607 -1.071 0.9 -1.232 1.284 -1.232 c -1.498 -1.232 1.667 -1.173 1.79 -1.054 c -1.915 -0.936 1.977 -0.782 1.977 -0.594 c -1.977 -0.474 1.941 -0.358 1.87 -0.246 c -1.799 -0.135 1.673 -0.026 1.492 0.08 c -1.012 0.354 l -0.661 0.542 0.402 0.732 0.236 0.925 c -0.07 1.116 -0.013 1.341 -0.013 1.602 c --0.013 1.922 0.102 2.186 0.33 2.392 c -0.559 2.598 0.845 2.701 1.191 2.701 c -1.343 2.701 1.509 2.672 1.69 2.615 c -1.871 2.558 1.973 2.529 1.996 2.529 c -2.108 2.552 l -2.168 2.622 l -2.273 2.622 l -2.306 1.423 l -2.174 1.423 l -2.117 1.699 2.04 1.914 1.942 2.069 c -1.764 2.354 1.508 2.496 1.173 2.496 c -0.972 2.496 0.814 2.435 0.7 2.312 c -0.585 2.189 0.527 2.045 0.527 1.88 c -0.527 1.616 0.725 1.382 1.12 1.177 c -1.688 0.872 l -2.298 0.541 2.602 0.155 2.602 -0.286 c -2.602 -0.623 2.476 -0.9 2.224 -1.114 c -1.973 -1.329 1.642 -1.436 1.236 -1.436 c -1.064 -1.436 0.87 -1.407 0.654 -1.351 c -0.437 -1.294 0.308 -1.265 0.269 -1.265 c -0.179 -1.302 l -0.119 -1.39 l -0 -1.39 l -0 0 l -f -Q -q -1 0 0 1 327.919 137.081 cm -0.68 g -0 0 m -0.142 0 l -0.208 -0.326 0.297 -0.577 0.407 -0.751 c -0.607 -1.071 0.9 -1.232 1.284 -1.232 c -1.498 -1.232 1.667 -1.173 1.79 -1.054 c -1.915 -0.936 1.977 -0.782 1.977 -0.594 c -1.977 -0.474 1.941 -0.358 1.87 -0.246 c -1.799 -0.135 1.673 -0.026 1.492 0.08 c -1.012 0.354 l -0.661 0.542 0.402 0.732 0.236 0.925 c -0.07 1.116 -0.013 1.341 -0.013 1.602 c --0.013 1.922 0.102 2.186 0.33 2.392 c -0.559 2.598 0.845 2.701 1.191 2.701 c -1.343 2.701 1.509 2.672 1.69 2.615 c -1.871 2.558 1.973 2.529 1.996 2.529 c -2.108 2.552 l -2.168 2.622 l -2.273 2.622 l -2.306 1.423 l -2.174 1.423 l -2.117 1.699 2.04 1.914 1.942 2.069 c -1.764 2.354 1.508 2.496 1.173 2.496 c -0.972 2.496 0.814 2.435 0.7 2.312 c -0.585 2.189 0.527 2.045 0.527 1.88 c -0.527 1.616 0.725 1.382 1.12 1.177 c -1.688 0.872 l -2.298 0.541 2.602 0.155 2.602 -0.286 c -2.602 -0.623 2.476 -0.9 2.224 -1.114 c -1.973 -1.329 1.642 -1.436 1.236 -1.436 c -1.064 -1.436 0.87 -1.407 0.654 -1.351 c -0.437 -1.294 0.308 -1.265 0.269 -1.265 c -0.179 -1.302 l -0.119 -1.39 l -0 -1.39 l -0 0 l -f -Q -q -1 0 0 1 313.497 129.939 cm -0.68 g -0 0 m -0 -0.2 0.054 -0.222 0.276 -0.23 c -0.276 -0.304 l --0.616 -0.304 l --0.616 -0.23 l --0.429 -0.222 -0.377 -0.2 -0.377 0 c --0.377 1.283 l --0.377 1.483 -0.429 1.507 -0.611 1.515 c --0.611 1.586 l -0.965 1.586 l -0.975 1.168 l -0.897 1.168 l -0.83 1.379 0.759 1.447 0.389 1.447 c -0.107 1.447 l -0.019 1.447 0 1.428 0 1.348 c -0 0.751 l -0.32 0.751 l -0.617 0.751 0.68 0.804 0.714 1.004 c -0.787 1.004 l -0.787 0.336 l -0.714 0.336 l -0.676 0.56 0.566 0.614 0.32 0.614 c -0 0.614 l -0 0 l -f -Q -q -1 0 0 1 315.353 129.939 cm -0.68 g -0 0 m -0 -0.2 0.052 -0.222 0.28 -0.23 c -0.28 -0.304 l --0.653 -0.304 l --0.653 -0.23 l --0.429 -0.222 -0.376 -0.2 -0.376 0 c --0.376 1.283 l --0.376 1.483 -0.429 1.507 -0.653 1.515 c --0.653 1.586 l -0.28 1.586 l -0.28 1.515 l -0.052 1.507 0 1.483 0 1.283 c -0 0 l -f -Q -q -1 0 0 1 317.576 131.17 cm -0.68 g -0 0 m -0 0.185 -0.051 0.261 -0.255 0.284 c --0.255 0.355 l -0.41 0.355 l -0.41 0.284 l -0.206 0.261 0.156 0.185 0.156 0 c -0.156 -1.578 l -0.062 -1.578 l --1.226 -0.091 l --1.226 -1.18 l --1.226 -1.362 -1.178 -1.44 -0.97 -1.461 c --0.97 -1.535 l --1.637 -1.535 l --1.637 -1.461 l --1.43 -1.44 -1.38 -1.362 -1.38 -1.18 c --1.38 0.089 l --1.444 0.201 -1.519 0.256 -1.637 0.284 c --1.637 0.355 l --1.125 0.355 l -0 -0.945 l -0 0 l -f -Q -q -1 0 0 1 318.582 130.315 cm -0.68 g -0 0 m -0.283 0.744 l -0.564 0 l -0 0 l -h -1.35 -0.68 m -1.35 -0.606 l -1.21 -0.609 1.174 -0.547 1.102 -0.368 c -0.437 1.253 l -0.347 1.253 l --0.343 -0.426 l --0.389 -0.544 -0.455 -0.581 -0.575 -0.606 c --0.575 -0.68 l -0.026 -0.68 l -0.026 -0.606 l --0.105 -0.606 -0.17 -0.577 -0.17 -0.485 c --0.17 -0.407 -0.084 -0.201 -0.061 -0.142 c -0.623 -0.142 l -0.646 -0.201 0.736 -0.407 0.736 -0.485 c -0.736 -0.577 0.668 -0.606 0.535 -0.606 c -0.535 -0.68 l -1.35 -0.68 l -f -Q -q -1 0 0 1 321.762 131.17 cm -0.68 g -0 0 m -0 0.185 -0.05 0.261 -0.255 0.284 c --0.255 0.355 l -0.408 0.355 l -0.408 0.284 l -0.204 0.261 0.155 0.185 0.155 0 c -0.155 -1.578 l -0.061 -1.578 l --1.228 -0.091 l --1.228 -1.18 l --1.228 -1.362 -1.177 -1.44 -0.971 -1.461 c --0.971 -1.535 l --1.637 -1.535 l --1.637 -1.461 l --1.432 -1.44 -1.382 -1.362 -1.382 -1.18 c --1.382 0.089 l --1.445 0.201 -1.52 0.256 -1.637 0.284 c --1.637 0.355 l --1.125 0.355 l -0 -0.945 l -0 0 l -f -Q -q -1 0 0 1 324.142 130.08 cm -0.68 g -0 0 m --0.196 -0.334 -0.456 -0.488 -0.846 -0.488 c --1.459 -0.488 -1.822 -0.084 -1.822 0.517 c --1.822 0.948 -1.484 1.488 -0.825 1.488 c --0.629 1.488 -0.349 1.379 -0.307 1.379 c --0.251 1.379 -0.235 1.409 -0.191 1.488 c --0.098 1.488 l --0.058 0.861 l --0.142 0.861 l --0.251 1.149 -0.45 1.362 -0.779 1.362 c --1.222 1.362 -1.417 0.882 -1.417 0.517 c --1.417 0.008 -1.198 -0.332 -0.729 -0.332 c --0.363 -0.332 -0.162 -0.059 -0.075 0.058 c -0 0 l -f -Q -q -1 0 0 1 325.056 129.939 cm -0.68 g -0 0 m -0 -0.2 0.052 -0.222 0.277 -0.23 c -0.277 -0.304 l --0.654 -0.304 l --0.654 -0.23 l --0.429 -0.222 -0.378 -0.2 -0.378 0 c --0.378 1.283 l --0.378 1.483 -0.429 1.507 -0.654 1.515 c --0.654 1.586 l -0.277 1.586 l -0.277 1.515 l -0.052 1.507 0 1.483 0 1.283 c -0 0 l -f -Q -q -1 0 0 1 326.105 130.315 cm -0.68 g -0 0 m -0.284 0.744 l -0.563 0 l -0 0 l -h -1.352 -0.68 m -1.352 -0.606 l -1.21 -0.609 1.174 -0.547 1.101 -0.368 c -0.439 1.253 l -0.347 1.253 l --0.345 -0.426 l --0.391 -0.544 -0.453 -0.581 -0.573 -0.606 c --0.573 -0.68 l -0.026 -0.68 l -0.026 -0.606 l --0.105 -0.606 -0.168 -0.577 -0.168 -0.485 c --0.168 -0.407 -0.083 -0.201 -0.061 -0.142 c -0.621 -0.142 l -0.644 -0.201 0.735 -0.407 0.735 -0.485 c -0.735 -0.577 0.666 -0.606 0.536 -0.606 c -0.536 -0.68 l -1.352 -0.68 l -f -Q -q -1 0 0 1 327.621 129.635 cm -0.68 g -0 0 m -0 0.074 l -0.18 0.082 0.233 0.104 0.233 0.304 c -0.233 1.587 l -0.233 1.787 0.18 1.811 0 1.819 c -0 1.89 l -0.872 1.89 l -0.872 1.819 l -0.663 1.811 0.61 1.787 0.61 1.587 c -0.61 0.268 l -0.61 0.153 0.644 0.113 0.855 0.113 c -1.193 0.113 1.392 0.175 1.553 0.505 c -1.626 0.505 l -1.497 0 l -0 0 l -f -Q -q -1 0 0 1 330.659 129.709 cm -0.68 g -0 0 m -0.215 0.008 0.266 0.03 0.266 0.23 c -0.266 1.677 l -0.034 1.677 l --0.185 1.677 -0.271 1.587 -0.332 1.332 c --0.416 1.332 l --0.371 1.816 l -1.283 1.816 l -1.326 1.332 l -1.243 1.332 l -1.183 1.587 1.097 1.677 0.878 1.677 c -0.645 1.677 l -0.645 0.23 l -0.645 0.03 0.697 0.008 0.91 0 c -0.91 -0.074 l -0 -0.074 l -0 0 l -f -Q -q -1 0 0 1 332.833 129.939 cm -0.68 g -0 0 m -0 -0.2 0.055 -0.222 0.278 -0.23 c -0.278 -0.304 l --0.653 -0.304 l --0.653 -0.23 l --0.429 -0.222 -0.376 -0.2 -0.376 0 c --0.376 1.283 l --0.376 1.483 -0.429 1.507 -0.653 1.515 c --0.653 1.586 l -0.278 1.586 l -0.278 1.515 l -0.055 1.507 0 1.483 0 1.283 c -0 0 l -f -Q -q -1 0 0 1 335.091 131.525 cm -0.68 g -0 0 m -0.649 0 l -0.649 -0.071 l -0.47 -0.079 0.417 -0.103 0.417 -0.303 c -0.417 -1.586 l -0.417 -1.786 0.47 -1.808 0.649 -1.816 c -0.649 -1.89 l --0.199 -1.89 l --0.199 -1.816 l --0.014 -1.808 0.04 -1.786 0.04 -1.586 c -0.04 -0.262 l -0.033 -0.262 l --0.596 -1.912 l --0.681 -1.912 l --1.297 -0.262 l --1.304 -0.262 l --1.304 -1.535 l --1.304 -1.717 -1.254 -1.795 -1.047 -1.816 c --1.047 -1.89 l --1.713 -1.89 l --1.713 -1.816 l --1.508 -1.795 -1.459 -1.717 -1.459 -1.535 c --1.459 -0.254 l --1.459 -0.122 -1.513 -0.071 -1.713 -0.071 c --1.713 0 l --1.029 0 l --0.526 -1.312 l -0 0 l -f -Q -q -1 0 0 1 336.008 129.635 cm -0.68 g -0 0 m -0 0.074 l -0.18 0.082 0.232 0.104 0.232 0.304 c -0.232 1.587 l -0.232 1.787 0.18 1.811 0 1.819 c -0 1.89 l -1.577 1.89 l -1.587 1.472 l -1.509 1.472 l -1.442 1.683 1.371 1.751 1.001 1.751 c -0.715 1.751 l -0.63 1.751 0.611 1.732 0.611 1.652 c -0.611 1.055 l -0.932 1.055 l -1.226 1.055 1.288 1.108 1.325 1.308 c -1.397 1.308 l -1.397 0.64 l -1.325 0.64 l -1.286 0.864 1.176 0.918 0.932 0.918 c -0.611 0.918 l -0.611 0.268 l -0.611 0.153 0.644 0.113 0.976 0.113 c -1.315 0.113 1.514 0.175 1.676 0.505 c -1.747 0.505 l -1.621 0 l -0 0 l -f -Q -q -1 0 0 1 338.001 130.23 cm -0.68 g -0 0 m -0.072 0 l -0.153 -0.248 0.39 -0.51 0.669 -0.51 c -0.906 -0.51 0.992 -0.341 0.992 -0.196 c -0.992 0.238 0.017 0.317 0.017 0.855 c -0.017 1.117 0.269 1.338 0.557 1.338 c -0.84 1.338 0.94 1.241 1.065 1.241 c -1.165 1.338 l -1.237 1.338 l -1.237 0.74 l -1.165 0.74 l -1.087 1.009 0.893 1.212 0.638 1.212 c -0.427 1.212 0.348 1.075 0.348 0.945 c -0.348 0.562 1.325 0.55 1.325 -0.114 c -1.325 -0.408 1.081 -0.638 0.743 -0.638 c -0.409 -0.638 0.323 -0.521 0.195 -0.521 c -0.099 -0.617 l -0 -0.617 l -0 0 l -f -Q -q -1 0 0 1 -0 0 cm -0.729 g -350.962 137.311 2.585 8.389 re -f -Q -q -1 0 0 1 354.874 145.7 cm -0.729 g -0 0 m -4.595 0 l -6.805 0 7.275 -1.246 7.275 -2.103 c -7.275 -2.949 6.863 -3.408 6.24 -3.749 c -6.993 -4.007 7.698 -4.606 7.698 -5.84 c -7.698 -7.52 6.24 -8.389 4.76 -8.389 c -0 -8.389 l -0 0 l -h -2.586 -3.266 m -3.95 -3.266 l -4.491 -3.266 4.831 -3.113 4.831 -2.574 c -4.831 -2.15 4.478 -1.996 3.95 -1.996 c -2.586 -1.996 l -2.586 -3.266 l -h -2.586 -6.392 m -4.103 -6.392 l -4.643 -6.392 5.112 -6.239 5.112 -5.593 c -5.112 -5.099 4.819 -4.83 4.208 -4.83 c -2.586 -4.83 l -2.586 -6.392 l -f -Q -q -1 0 0 1 363.571 145.7 cm -0.729 g -0 0 m -3.678 0 l -4.877 -4.935 l -4.9 -4.935 l -6.098 0 l -9.776 0 l -9.776 -8.389 l -7.332 -8.389 l -7.332 -3.008 l -7.309 -3.008 l -5.852 -8.389 l -3.925 -8.389 l -2.467 -3.008 l -2.443 -3.008 l -2.443 -8.389 l -0 -8.389 l -0 0 l -f -Q -q -1 0 0 1 351.131 134.466 cm -0.729 g -0 0 m -2.938 0 l -4.49 0 5.033 -1.146 5.033 -1.968 c -5.033 -3.362 4.106 -4.016 2.797 -4.016 c -1.757 -4.016 l -1.757 -5.758 l -0 -5.758 l -0 0 l -h -1.757 -2.646 m -2.436 -2.646 l -2.89 -2.646 3.37 -2.613 3.37 -2.032 c -3.37 -1.509 2.971 -1.476 2.54 -1.476 c -1.757 -1.476 l -1.757 -2.646 l -f -Q -q -1 0 0 1 356.73 132.894 cm -0.729 g -0 0 m -1.516 0 l -1.516 -0.669 l -1.534 -0.669 l -1.787 -0.17 2.123 0.104 2.698 0.104 c -2.858 0.104 3.011 0.08 3.162 0.039 c -3.162 -1.372 l -3.001 -1.315 2.858 -1.267 2.538 -1.267 c -1.916 -1.267 1.58 -1.638 1.58 -2.533 c -1.58 -4.186 l -0 -4.186 l -0 0 l -f -Q -q -1 0 0 1 361.465 130.442 cm -0.729 g -0 0 m -0.041 -0.476 0.313 -0.815 0.809 -0.815 c -1.062 -0.815 1.342 -0.718 1.471 -0.517 c -2.948 -0.517 l -2.628 -1.42 1.757 -1.839 0.815 -1.839 c --0.509 -1.839 -1.508 -1.049 -1.508 0.346 c --1.508 1.564 -0.629 2.556 0.68 2.556 c -2.325 2.556 3.035 1.628 3.035 0 c -0 0 l -h -1.518 0.83 m -1.518 1.217 1.232 1.532 0.825 1.532 c -0.352 1.532 0.081 1.282 0.01 0.83 c -1.518 0.83 l -f -Q -q -1 0 0 1 367.56 131.675 cm -0.729 g -0 0 m --0.008 0.138 -0.081 0.242 -0.185 0.315 c --0.28 0.395 -0.407 0.437 -0.535 0.437 c --0.759 0.437 -1.014 0.388 -1.014 0.114 c --1.014 -0.008 -0.919 -0.063 -0.832 -0.104 c --0.568 -0.217 0.031 -0.25 0.558 -0.426 c -1.085 -0.596 1.548 -0.911 1.548 -1.596 c -1.548 -2.758 0.446 -3.072 -0.56 -3.072 c --1.533 -3.072 -2.604 -2.678 -2.628 -1.596 c --1.118 -1.596 l --1.11 -1.741 -1.047 -1.862 -0.927 -1.968 c --0.846 -2.039 -0.695 -2.088 -0.504 -2.088 c --0.296 -2.088 0.031 -2.007 0.031 -1.765 c -0.031 -1.523 -0.104 -1.451 -0.838 -1.322 c --2.045 -1.112 -2.533 -0.725 -2.533 -0.008 c --2.533 1.049 -1.406 1.323 -0.575 1.323 c -0.319 1.323 1.396 1.074 1.436 0 c -0 0 l -f -Q -q -1 0 0 1 372.143 131.675 cm -0.729 g -0 0 m --0.008 0.138 -0.081 0.242 -0.184 0.315 c --0.28 0.395 -0.407 0.437 -0.535 0.437 c --0.757 0.437 -1.014 0.388 -1.014 0.114 c --1.014 -0.008 -0.919 -0.063 -0.83 -0.104 c --0.566 -0.217 0.031 -0.25 0.558 -0.426 c -1.087 -0.596 1.55 -0.911 1.55 -1.596 c -1.55 -2.758 0.446 -3.072 -0.558 -3.072 c --1.533 -3.072 -2.604 -2.678 -2.627 -1.596 c --1.118 -1.596 l --1.11 -1.741 -1.047 -1.862 -0.925 -1.968 c --0.846 -2.039 -0.695 -2.088 -0.502 -2.088 c --0.296 -2.088 0.031 -2.007 0.031 -1.765 c -0.031 -1.523 -0.104 -1.451 -0.838 -1.322 c --2.045 -1.112 -2.533 -0.725 -2.533 -0.008 c --2.533 1.049 -1.406 1.323 -0.575 1.323 c -0.318 1.323 1.397 1.074 1.438 0 c -0 0 l -f -Q -q -1 0 0 1 375.259 129.657 cm -0.729 g -0 0 m --0.348 0 l --0.348 -0.959 l --0.57 -0.959 l --0.57 0 l --0.917 0 l --0.917 0.18 l -0 0.18 l -0 0 l -h -0.866 -0.627 m -1.176 0.18 l -1.494 0.18 l -1.494 -0.959 l -1.286 -0.959 l -1.286 -0.068 l -1.279 -0.068 l -0.94 -0.959 l -0.785 -0.959 l -0.446 -0.068 l -0.44 -0.068 l -0.44 -0.959 l -0.232 -0.959 l -0.232 0.18 l -0.553 0.18 l -0.866 -0.627 l -f -Q -q -1 0 0 1 467.162 137.173 cm -0.729 g -0 0 m -0 -2.092 1.597 -3.966 4.114 -3.966 c -6.723 -3.966 8.289 -2.079 8.289 0 c -8.289 2.136 6.679 3.949 4.145 3.949 c -1.643 3.949 0 2.136 0 0 c -h -1.148 0 m -1.148 1.688 2.427 2.945 4.145 2.945 c -5.867 2.945 7.149 1.688 7.149 0 c -7.149 -1.692 5.867 -2.943 4.145 -2.943 c -2.427 -2.943 1.148 -1.692 1.148 0 c -f -Q -q -1 0 0 1 476.264 137.96 cm -0.729 g -0 0 m -1.056 0.174 1.366 0.715 1.366 1.722 c -1.366 3.071 l -0 3.071 l -0 1.596 l -0.722 1.596 l -0.76 0.901 0.483 0.591 0 0.523 c -0 0 l -f -Q -q -1 0 0 1 478.789 141.031 cm -0.729 g -0 0 m -0 -7.714 l -1.112 -7.714 l -1.112 -4.37 l -1.578 -4.37 l -2.133 -4.37 2.597 -4.557 3.62 -6.136 c -4.634 -7.714 l -5.96 -7.714 l -5.425 -6.981 5.23 -6.72 4.903 -6.184 c -4.316 -5.223 3.891 -4.527 3.185 -4.062 c -4.017 -3.719 4.481 -3.071 4.481 -2.17 c -4.481 -0.84 3.511 0 1.937 0 c -0 0 l -h -1.112 -0.962 m -1.825 -0.962 l -2.898 -0.962 3.325 -1.396 3.333 -2.123 c -3.345 -2.758 3.009 -3.379 1.825 -3.379 c -1.112 -3.379 l -1.112 -0.962 l -f -Q -q -1 0 0 1 489.645 141.031 cm -0.729 g -0 0 m --4.371 0 l --4.371 -7.714 l -0.097 -7.714 l -0.097 -6.72 l --3.266 -6.72 l --3.266 -4.323 l --0.109 -4.323 l --0.109 -3.332 l --3.266 -3.332 l --3.266 -1.001 l -0 -1.001 l -0 0 l -f -Q -q -1 0 0 1 0 0 cm -0.729 g -490.793 133.317 1.115 7.714 re -f -Q -q -1 0 0 1 494.156 141.031 cm -0.729 g -0 0 m --1.114 0 l --1.114 -7.714 l -3.469 -7.714 l -3.469 -6.72 l -0 -6.72 l -0 0 l -f -Q -q -1 0 0 1 499.468 141.031 cm -0.729 g -0 0 m --1.116 0 l --1.116 -7.714 l -3.472 -7.714 l -3.472 -6.72 l -0 -6.72 l -0 0 l -f -Q -q -1 0 0 1 505.092 138.413 cm -0.729 g -0 0 m --2.06 2.661 l --3.409 2.661 l --0.538 -0.961 l --0.538 -5.036 l -0.557 -5.036 l -0.557 -0.979 l -3.425 2.661 l -2.092 2.661 l -0 0 l -f -Q -q -1 0 0 1 509.137 141.061 cm -0.729 g -0 0 m --0.389 0 -0.697 -0.308 -0.697 -0.695 c --0.697 -1.069 -0.389 -1.379 0 -1.379 c -0.372 -1.379 0.683 -1.069 0.683 -0.695 c -0.683 -0.308 0.372 0 0 0 c -h -0 -0.139 m -0.294 -0.139 0.543 -0.387 0.543 -0.695 c -0.543 -0.992 0.294 -1.257 0 -1.257 c --0.326 -1.257 -0.557 -0.992 -0.557 -0.695 c --0.557 -0.387 -0.308 -0.139 0 -0.139 c -h --0.326 -0.326 m --0.326 -1.061 l --0.139 -1.061 l --0.139 -0.766 l --0.079 -0.774 l --0.05 -0.8 0.016 -0.893 0.09 -1.061 c -0.308 -1.061 l -0.247 -0.943 l -0.199 -0.835 0.156 -0.774 0.075 -0.735 c -0.14 -0.73 0.278 -0.682 0.278 -0.527 c -0.278 -0.387 0.156 -0.326 0.016 -0.326 c --0.326 -0.326 l -h --0.139 -0.448 m --0.05 -0.448 l -0.031 -0.448 0.09 -0.483 0.09 -0.552 c -0.09 -0.621 0.031 -0.635 -0.063 -0.635 c --0.139 -0.635 l --0.139 -0.448 l -f -Q -q -1 0 0 1 270.613 109.562 cm -0.729 g -0 0 m --0.338 0.326 -0.791 0.527 -1.316 0.527 c --1.687 0.527 -2.243 0.309 -2.322 -0.138 c --2.382 -0.622 -1.856 -0.804 -1.499 -0.913 c --1.003 -1.082 l -0.079 -1.408 0.853 -1.982 0.653 -3.301 c -0.526 -4.092 0.202 -4.928 -0.524 -5.47 c --1.252 -6.009 -2.138 -6.227 -2.942 -6.227 c --3.966 -6.227 -4.91 -5.888 -5.639 -5.305 c --4.475 -3.61 l --4.025 -4.074 -3.469 -4.444 -2.739 -4.444 c --2.243 -4.444 -1.687 -4.2 -1.595 -3.64 c --1.499 -3.034 -2.291 -2.844 -2.724 -2.713 c --3.978 -2.331 -4.799 -1.991 -4.551 -0.418 c --4.292 1.218 -2.942 2.292 -1.329 2.292 c --0.509 2.292 0.436 2.036 1.101 1.635 c -0 0 l -f -Q -q -1 0 0 1 281.363 111.637 cm -0.729 g -0 0 m -2.08 0 l -3.022 -4.323 l -5.454 0 l -7.545 0 l -7.501 -8.102 l -5.38 -8.102 l -5.533 -3.439 l -5.52 -3.439 l -2.836 -8.102 l -1.983 -8.102 l -0.871 -3.439 l -0.853 -3.439 l --0.57 -8.102 l --2.661 -8.102 l -0 0 l -f -Q -q -1 0 0 1 295.141 109.562 cm -0.729 g -0 0 m --0.327 0.326 -0.792 0.527 -1.306 0.527 c --1.692 0.527 -2.249 0.309 -2.31 -0.138 c --2.406 -0.622 -1.864 -0.804 -1.506 -0.913 c --0.993 -1.082 l -0.073 -1.408 0.865 -1.982 0.646 -3.301 c -0.526 -4.092 0.198 -4.928 -0.532 -5.47 c --1.258 -6.009 -2.14 -6.227 -2.962 -6.227 c --3.967 -6.227 -4.915 -5.888 -5.66 -5.305 c --4.479 -3.61 l --4.033 -4.074 -3.456 -4.444 -2.745 -4.444 c --2.249 -4.444 -1.692 -4.2 -1.597 -3.64 c --1.506 -3.034 -2.297 -2.844 -2.728 -2.713 c --3.985 -2.331 -4.805 -1.991 -4.56 -0.418 c --4.293 1.218 -2.962 2.292 -1.335 2.292 c --0.515 2.292 0.447 2.036 1.096 1.635 c -0 0 l -f -Q -q -1 0 0 1 273.188 103.661 cm -0.729 g -0 0 m --2.961 0 l -5.219 10.589 l -5.219 0 l -2.867 0 l -2.867 4.119 l -0 0 l -f -Q -q -1 0 0 1 114.275 108.059 cm -0.729 g -0 0 m -0 -1.866 -1.006 -3.491 -2.541 -4.314 c --2.589 -4.393 l --2.51 -4.46 l --1.985 -4.43 -1.532 -4.314 -1.084 -4.095 c -0.542 -3.274 1.66 -1.586 1.66 0.366 c -1.66 2.688 -0.231 4.563 -2.541 4.563 c --2.74 4.563 -2.88 4.563 -3.085 4.532 c --3.146 4.424 l --3.098 4.363 l --1.271 3.766 0 2.045 0 0 c --0.28 0 l --0.28 2.022 -1.596 3.739 -3.44 4.316 c --3.61 4.376 -3.579 4.579 -3.549 4.719 c --3.514 4.919 -3.44 5.154 -3.146 5.197 c --1.889 5.385 -0.697 5.754 0.403 6.289 c -2.156 5.076 3.299 3.044 3.299 0.736 c -3.299 -2.996 0.264 -6.035 -3.471 -6.035 c --7.202 -6.035 -10.238 -2.996 -10.238 0.736 c --10.238 2.271 -9.729 3.678 -8.876 4.818 c --7.686 5.197 -6.416 5.401 -5.127 5.355 c --4.542 5.336 -4.29 5.184 -4.354 4.889 c --4.415 4.592 -4.524 4.462 -4.88 4.424 c --5.08 4.41 -5.357 4.384 -5.532 4.363 c --7.233 4.084 -8.537 2.393 -8.537 0.366 c --8.537 -1.757 -7.22 -3.569 -5.357 -4.3 c --4.988 -4.43 -4.585 -4.514 -4.166 -4.514 c --3.44 -4.514 -2.772 -4.282 -2.231 -3.874 c --1.036 -2.996 -0.28 -1.586 -0.28 0 c -0 0 l -f -Q -q -1 0 0 1 110.803 101.12 cm -0.729 g -0 0 m -4.232 0 7.684 3.431 7.684 7.675 c -7.684 11.906 4.232 15.347 0 15.347 c --4.244 15.347 -7.666 11.906 -7.666 7.675 c --7.666 3.431 -4.244 0 0 0 c -0 -0.496 l --4.524 -0.496 -8.178 3.161 -8.178 7.675 c --8.178 12.197 -4.524 15.841 0 15.841 c -4.509 15.841 8.181 12.197 8.181 7.675 c -8.181 3.161 4.509 -0.496 0 -0.496 c -0 0 l -f -Q -q -1 0 0 1 107.225 114.544 cm -0.729 g -0 0 m -1.07 -0.297 2.2 -0.448 3.378 -0.435 c -4.6 -0.405 5.779 -0.21 6.879 0.169 c -5.906 0.713 4.776 1.022 3.579 1.022 c -2.266 1.022 1.039 0.652 0 0 c -f -Q -q -1 0 0 1 120.813 111.538 cm -0.729 g -0 0 m -0 1.162 l -0.232 1.162 l -0.637 1.162 0.82 0.975 0.82 0.588 c -0.82 0.199 0.637 0 0.232 0 c -0 0 l -h --0.65 -1.86 m -0 -1.86 l -0 -0.482 l -0.359 -0.482 l -1.085 -0.482 1.459 -0.079 1.459 0.588 c -1.459 1.253 1.085 1.665 0.359 1.665 c --0.65 1.665 l --0.65 -1.86 l -f -Q -q -1 0 0 1 124.437 109.802 cm -0.729 g -0 0 m --0.122 -0.06 -0.4 -0.163 -0.776 -0.163 c --1.611 -0.163 -1.984 0.437 -1.984 1.132 c --1.984 1.907 -1.561 2.51 -0.914 2.51 c --0.341 2.51 0.125 2.184 0.125 1.124 c -0.125 1.006 l --1.378 1.006 l --1.378 0.567 -1.192 0.302 -0.713 0.302 c --0.326 0.302 -0.153 0.402 -0.031 0.496 c -0 0 l -h --0.479 1.394 m --0.479 1.858 -0.619 2.094 -0.914 2.094 c --1.242 2.094 -1.378 1.736 -1.378 1.394 c --0.479 1.394 l -f -Q -q -1 0 0 1 126.408 110.804 cm -0.729 g -0 0 m -0 -0.465 -0.142 -0.753 -0.515 -0.753 c --0.746 -0.753 -0.914 -0.583 -0.914 -0.344 c --0.914 0.034 -0.593 0.143 -0.049 0.143 c -0 0.143 l -0 0 l -h --1.199 0.818 m --1.072 0.922 -0.794 1.06 -0.484 1.06 c --0.127 1.06 0 0.826 0 0.569 c -0 0.469 l --0.127 0.469 l --0.914 0.469 -1.489 0.299 -1.489 -0.414 c --1.489 -0.891 -1.118 -1.165 -0.715 -1.165 c --0.346 -1.165 -0.142 -0.988 0.012 -0.771 c -0.012 -0.891 0.03 -1.031 0.041 -1.126 c -0.616 -1.126 l -0.603 -1.031 0.585 -0.848 0.585 -0.662 c -0.585 0.456 l -0.585 1.121 0.398 1.508 -0.405 1.508 c --0.81 1.508 -1.052 1.4 -1.228 1.322 c --1.199 0.818 l -f -Q -q -1 0 0 1 129.335 109.742 cm -0.729 g -0 0 m --0.14 -0.047 -0.359 -0.103 -0.604 -0.103 c --1.472 -0.103 -1.826 0.497 -1.826 1.241 c --1.826 1.967 -1.457 2.57 -0.575 2.57 c --0.37 2.57 -0.14 2.509 -0.031 2.471 c --0.062 1.967 l --0.188 2.028 -0.339 2.106 -0.51 2.106 c --0.975 2.106 -1.194 1.78 -1.194 1.223 c --1.194 0.745 -0.963 0.371 -0.479 0.371 c --0.328 0.371 -0.124 0.431 -0.031 0.497 c -0 0 l -f -Q -q -1 0 0 1 129.72 113.46 cm -0.729 g -0 0 m -0.624 0 l -0.624 -1.522 l -0.636 -1.522 l -0.744 -1.347 0.901 -1.148 1.288 -1.148 c -1.874 -1.148 2.045 -1.583 2.045 -2.108 c -2.045 -3.782 l -1.426 -3.782 l -1.426 -2.23 l -1.426 -1.83 1.317 -1.662 1.07 -1.662 c -0.744 -1.662 0.624 -1.938 0.624 -2.269 c -0.624 -3.782 l -0 -3.782 l -0 0 l -f -Q -q -1 0 0 1 132.974 110.965 cm -0.729 g -0 0 m -0 0.494 0.124 0.891 0.494 0.891 c -0.851 0.891 0.947 0.586 0.947 -0.018 c -0.947 -0.527 0.822 -0.861 0.481 -0.861 c -0.124 -0.861 0 -0.496 0 0 c -h --0.636 -2.37 m -0 -2.37 l -0 -0.923 l -0.094 -1.118 0.295 -1.326 0.682 -1.326 c -1.238 -1.326 1.565 -0.832 1.565 0.018 c -1.565 0.726 1.304 1.347 0.664 1.347 c -0.249 1.347 0.059 1.131 -0.031 0.899 c --0.044 0.899 l --0.044 1.083 -0.061 1.222 -0.061 1.299 c --0.649 1.299 l --0.636 1.217 -0.636 1.06 -0.636 0.865 c --0.636 -2.37 l -f -Q -q -1 0 0 1 135.095 112.264 cm -0.729 g -0 0 0.634 -2.586 re -0 1.119 0.634 -0.623 re -f -Q -q -1 0 0 1 136.583 112.808 cm -0.729 g -0 0 m -0.623 0.188 l -0.623 -0.544 l -1.148 -0.544 l -1.148 -0.991 l -0.623 -0.991 l -0.623 -2.339 l -0.623 -2.609 0.731 -2.695 0.901 -2.695 c -1.023 -2.695 1.1 -2.666 1.148 -2.635 c -1.148 -3.091 l -1.057 -3.13 0.912 -3.169 0.731 -3.169 c -0.265 -3.169 0 -2.961 0 -2.418 c -0 -0.991 l --0.417 -0.991 l --0.417 -0.544 l -0 -0.544 l -0 0 l -f -Q -q -1 0 0 1 124.347 106.054 cm -0.729 g -0 0 m -0 1.145 l -0.229 1.145 l -0.632 1.145 0.804 0.962 0.804 0.58 c -0.804 0.185 0.632 0 0.229 0 c -0 0 l -h --0.654 -1.872 m -0 -1.872 l -0 -0.495 l -0.356 -0.495 l -1.082 -0.495 1.454 -0.094 1.454 0.58 c -1.454 1.24 1.082 1.641 0.356 1.641 c --0.654 1.641 l --0.654 -1.872 l -f -Q -q -1 0 0 1 126.267 106.346 cm -0.729 g -0 0 m -0 0.156 0 0.313 -0.016 0.421 c -0.54 0.421 l -0.557 0.267 0.557 0.108 0.557 -0.044 c -0.575 -0.044 l -0.649 0.156 0.853 0.466 1.242 0.466 c -1.349 0.453 l -1.349 -0.12 l -1.163 -0.107 l -0.896 -0.107 0.618 -0.269 0.618 -0.757 c -0.618 -2.164 l -0 -2.164 l -0 0 l -f -Q -q -1 0 0 1 128.51 105.699 cm -0.729 g -0 0 m -0 0.339 0.128 0.695 0.455 0.695 c -0.744 0.695 0.883 0.465 0.883 0 c -0 0 l -h -1.335 -0.901 m -1.229 -0.979 1.041 -1.101 0.652 -1.101 c -0.171 -1.101 0 -0.839 0 -0.387 c -1.489 -0.387 l -1.489 -0.275 l -1.489 0.787 1.024 1.113 0.455 1.113 c --0.199 1.113 -0.616 0.527 -0.616 -0.266 c --0.616 -0.961 -0.245 -1.567 0.594 -1.567 c -0.963 -1.567 1.24 -1.445 1.367 -1.397 c -1.335 -0.901 l -f -Q -q -1 0 0 1 130.417 104.785 cm -0.729 g -0 0 m -0.109 -0.038 0.356 -0.165 0.65 -0.165 c -0.886 -0.165 1.056 -0.127 1.056 0.092 c -1.056 0.183 1.008 0.278 0.779 0.417 c -0.53 0.564 l -0.265 0.718 -0.031 0.887 -0.031 1.292 c --0.031 1.656 0.324 2.027 0.87 2.027 c -1.196 2.027 1.456 1.948 1.522 1.918 c -1.487 1.441 l -1.334 1.501 1.164 1.556 0.93 1.556 c -0.682 1.556 0.573 1.454 0.573 1.301 c -0.573 1.161 0.682 1.091 0.87 0.965 c -1.178 0.774 l -1.504 0.564 1.66 0.425 1.66 0.123 c -1.66 -0.364 1.257 -0.653 0.682 -0.653 c -0.374 -0.653 0.109 -0.566 -0.031 -0.531 c -0 0 l -f -Q -q -1 0 0 1 132.479 104.785 cm -0.729 g -0 0 m -0.094 -0.038 0.354 -0.165 0.65 -0.165 c -0.87 -0.165 1.039 -0.127 1.039 0.092 c -1.039 0.183 0.99 0.278 0.774 0.417 c -0.514 0.564 l -0.247 0.718 -0.031 0.887 -0.031 1.292 c --0.031 1.656 0.311 2.027 0.851 2.027 c -1.196 2.027 1.456 1.948 1.517 1.918 c -1.474 1.441 l -1.317 1.501 1.159 1.556 0.929 1.556 c -0.68 1.556 0.555 1.454 0.555 1.301 c -0.555 1.161 0.68 1.091 0.851 0.965 c -1.178 0.774 l -1.485 0.564 1.655 0.425 1.655 0.123 c -1.655 -0.364 1.257 -0.653 0.68 -0.653 c -0.354 -0.653 0.094 -0.566 -0.031 -0.531 c -0 0 l -f -Q -q -1 0 0 1 173.434 103.529 cm -0.729 g -0 0 m -2.553 0 l -2.553 -0.355 l -0.441 -0.355 l -0.441 -1.094 l -1.73 -1.094 l -1.73 -1.443 l -0.441 -1.443 l -0.441 -2.285 l -2.573 -2.285 l -2.573 -2.651 l -0 -2.651 l -0 0 l -f -Q -q -1 0 0 1 149.153 103.529 cm -0.729 g -0 0 m -2.137 0 l -2.521 0 2.697 -0.145 2.697 -0.514 c -2.697 -1.105 l -2.697 -1.474 2.521 -1.618 2.137 -1.618 c -0.442 -1.618 l -0.442 -2.651 l -0 -2.651 l -0 0 l -h -0.442 -0.345 m -0.442 -1.269 l -1.961 -1.269 l -2.158 -1.269 2.25 -1.217 2.25 -0.992 c -2.25 -0.623 l -2.25 -0.403 2.164 -0.345 1.961 -0.345 c -0.442 -0.345 l -f -Q -q -1 0 0 1 152.932 103.529 cm -0.729 g -0 0 m -2.14 0 l -2.523 0 2.697 -0.145 2.697 -0.514 c -2.697 -1.105 l -2.697 -1.474 2.523 -1.618 2.14 -1.618 c -1.747 -1.618 l -2.959 -2.651 l -2.303 -2.651 l -1.223 -1.618 l -0.444 -1.618 l -0.444 -2.651 l -0 -2.651 l -0 0 l -h -0.444 -0.345 m -0.444 -1.274 l -1.963 -1.274 l -2.157 -1.274 2.251 -1.228 2.251 -1.002 c -2.251 -0.617 l -2.251 -0.395 2.157 -0.345 1.963 -0.345 c -0.444 -0.345 l -f -Q -q -1 0 0 1 156.845 103.529 cm -0.729 g -0 0 m -2.554 0 l -2.554 -0.355 l -0.444 -0.355 l -0.444 -1.094 l -1.732 -1.094 l -1.732 -1.443 l -0.444 -1.443 l -0.444 -2.285 l -2.575 -2.285 l -2.575 -2.651 l -0 -2.651 l -0 0 l -f -Q -q -1 0 0 1 160.472 103.529 cm -0.729 g -0 0 m -0.278 0 l -2.259 -1.772 l -2.353 -1.854 2.455 -1.968 2.561 -2.106 c -2.52 -1.86 2.52 -1.645 2.52 -1.454 c -2.52 0 l -2.928 0 l -2.928 -2.651 l -2.68 -2.651 l -0.641 -0.807 l -0.564 -0.735 0.461 -0.658 0.374 -0.509 c -0.399 -0.704 0.405 -0.893 0.405 -1.09 c -0.405 -2.651 l -0 -2.651 l -0 0 l -f -Q -q -1 0 0 1 165.802 100.878 cm -0.729 g -0 0 m --0.442 0 l --0.442 2.29 l --1.654 2.29 l --1.654 2.651 l -1.217 2.651 l -1.217 2.29 l -0 2.29 l -0 0 l -f -Q -q -1 0 0 1 0 0 cm -0.729 g -167.764 100.878 0.442 2.651 re -f -Q -q -1 0 0 1 169.988 103.168 cm -0.729 g -0 0 m -0 -1.92 l -1.837 -1.92 l -1.837 -1.257 l -2.28 -1.349 l -2.28 -1.663 l -2.28 -2.155 2.141 -2.29 1.664 -2.29 c -0.177 -2.29 l --0.298 -2.29 -0.441 -2.151 -0.441 -1.663 c --0.441 -0.266 l --0.441 0.223 -0.298 0.361 0.177 0.361 c -1.664 0.361 l -2.141 0.361 2.28 0.226 2.28 -0.266 c -2.28 -0.517 l -1.837 -0.599 l -1.837 0 l -0 0 l -f -Q -q -1 0 0 1 155.636 99.754 cm -0.729 g -0 0 m -0.442 0 l -0.442 -1.084 l -2.533 -1.084 l -2.533 0 l -2.975 0 l -2.975 -2.649 l -2.533 -2.649 l -2.533 -1.448 l -0.442 -1.448 l -0.442 -2.649 l -0 -2.649 l -0 0 l -f -Q -q -1 0 0 1 160.917 99.754 cm -0.729 g -0 0 m -0.471 0 l -1.946 -2.649 l -1.457 -2.649 l -1.119 -1.997 l --0.673 -1.997 l --1.014 -2.649 l --1.449 -2.649 l -0 0 l -h -0.941 -1.659 m -0.226 -0.303 l --0.489 -1.659 l -0.941 -1.659 l -f -Q -q -1 0 0 1 163.72 99.754 cm -0.729 g -0 0 m -0.441 0 l -0.441 -2.28 l -2.451 -2.28 l -2.451 -2.649 l -0 -2.649 l -0 0 l -f -Q -q -1 0 0 1 167.074 99.754 cm -0.729 g -0 0 m -0.44 0 l -0.44 -2.28 l -2.45 -2.28 l -2.45 -2.649 l -0 -2.649 l -0 0 l -f -Q -q -1 0 0 1 161.133 117.996 cm -0.729 g -0 0 m -0.025 0.13 0.04 0.263 0.04 0.399 c -0.04 1.549 -0.895 2.485 -2.045 2.485 c --3.199 2.485 -4.133 1.549 -4.133 0.399 c --4.133 -0.754 -3.199 -1.689 -2.045 -1.689 c --1.633 -1.689 -1.252 -1.564 -0.928 -1.358 c --0.816 -0.786 -0.474 -0.3 0 0 c -f -Q -q -1 0 0 1 165.409 120.476 cm -0.729 g -0 0 m --1.151 0 -2.085 -0.935 -2.085 -2.087 c --2.085 -2.217 -2.07 -2.343 -2.047 -2.466 c --1.576 -2.774 -1.235 -3.263 -1.129 -3.837 c --0.803 -4.047 -0.416 -4.173 0 -4.173 c -1.155 -4.173 2.087 -3.24 2.087 -2.087 c -2.087 -0.935 1.155 0 0 0 c -f -Q -q -1 0 0 1 165.43 115.636 cm -0.729 g -0 0 m --0.637 0 -1.2 -0.293 -1.583 -0.742 c --1.599 -0.742 l --1.982 -1.205 -2.552 -1.506 -3.201 -1.506 c --3.855 -1.506 -4.433 -1.198 -4.815 -0.727 c --5.198 -0.295 -5.747 -0.017 -6.37 -0.017 c --7.52 -0.017 -8.454 -0.951 -8.454 -2.103 c --8.454 -3.257 -7.52 -4.19 -6.37 -4.19 c --5.78 -4.19 -5.257 -3.939 -4.878 -3.546 c --4.5 -3.013 -3.882 -2.662 -3.178 -2.662 c --2.472 -2.662 -1.853 -3.014 -1.475 -3.549 c --1.098 -3.931 -0.581 -4.174 0 -4.174 c -1.152 -4.174 2.084 -3.241 2.084 -2.089 c -2.084 -0.937 1.152 0 0 0 c -f -Q -q -1 0 0 1 165.384 110.748 cm -0.729 g -0 0 m --0.412 0 -0.795 -0.124 -1.119 -0.331 c --1.23 -0.903 -1.573 -1.388 -2.047 -1.69 c --2.073 -1.821 -2.087 -1.951 -2.087 -2.087 c --2.087 -3.239 -1.151 -4.174 0 -4.174 c -1.152 -4.174 2.086 -3.239 2.086 -2.087 c -2.086 -0.935 1.152 0 0 0 c -f -Q -q -1 0 0 1 160.189 110.415 cm -0.729 g -0 0 m --0.328 0.211 -0.713 0.338 -1.129 0.338 c --2.282 0.338 -3.216 -0.597 -3.216 -1.75 c --3.216 -2.9 -2.282 -3.835 -1.129 -3.835 c -0.022 -3.835 0.958 -2.9 0.958 -1.75 c -0.958 -1.618 0.941 -1.492 0.917 -1.368 c -0.446 -1.062 0.107 -0.573 0 0 c -f -Q -q -1 0 0 1 318.544 109.369 cm -0.729 g -0 0 m -0.044 -1.231 1.037 -1.619 2.091 -1.619 c -2.89 -1.619 3.974 -1.425 3.974 -0.373 c -3.974 0.696 2.71 0.876 1.431 1.184 c -0.164 1.491 -1.115 1.944 -1.115 3.548 c --1.115 5.231 0.436 5.928 1.79 5.928 c -3.509 5.928 4.879 5.345 4.985 3.304 c -3.704 3.304 l -3.613 4.374 2.74 4.714 1.897 4.714 c -1.13 4.714 0.239 4.486 0.239 3.645 c -0.239 2.657 1.597 2.494 2.786 2.186 c -4.066 1.879 5.331 1.426 5.331 -0.193 c -5.331 -2.186 3.598 -2.834 2.017 -2.834 c -0.27 -2.834 -1.206 -2.072 -1.281 0 c -0 0 l -f -Q -q -1 0 0 1 329.358 109.644 cm -0.729 g -0 0 m -0 -0.76 -0.695 -1.894 -2.381 -1.894 c --3.165 -1.894 -3.888 -1.57 -3.888 -0.662 c --3.888 0.357 -3.165 0.68 -2.32 0.843 c --1.464 1.005 -0.497 1.021 0 1.409 c -0 0 l -h -2.077 -1.813 m -1.911 -1.878 1.792 -1.894 1.685 -1.894 c -1.278 -1.894 1.278 -1.603 1.278 -0.955 c -1.278 3.353 l -1.278 5.312 -0.242 5.653 -1.643 5.653 c --3.376 5.653 -4.866 4.924 -4.942 2.852 c --3.66 2.852 l --3.599 4.081 -2.802 4.439 -1.719 4.439 c --0.904 4.439 0.014 4.244 0.014 3.045 c -0.014 2.009 -1.19 2.106 -2.606 1.814 c --3.932 1.539 -5.241 1.135 -5.241 -0.76 c --5.241 -2.429 -4.082 -3.109 -2.667 -3.109 c --1.584 -3.109 -0.634 -2.704 0.073 -1.813 c -0.073 -2.719 0.498 -3.109 1.158 -3.109 c -1.565 -3.109 1.852 -3.027 2.077 -2.882 c -2.077 -1.813 l -f -Q -q -1 0 0 1 332.624 109.369 cm -0.729 g -0 0 m -0.045 -1.231 1.039 -1.619 2.092 -1.619 c -2.89 -1.619 3.975 -1.425 3.975 -0.373 c -3.975 0.696 2.712 0.876 1.43 1.184 c -0.165 1.491 -1.115 1.944 -1.115 3.548 c --1.115 5.231 0.437 5.928 1.792 5.928 c -3.509 5.928 4.88 5.345 4.985 3.304 c -3.705 3.304 l -3.613 4.374 2.74 4.714 1.899 4.714 c -1.128 4.714 0.241 4.486 0.241 3.645 c -0.241 2.657 1.596 2.494 2.785 2.186 c -4.066 1.879 5.333 1.426 5.333 -0.193 c -5.333 -2.186 3.598 -2.834 2.019 -2.834 c -0.27 -2.834 -1.205 -2.072 -1.279 0 c -0 0 l -f -Q -q -1 0 0 1 313.147 112.814 cm -0.729 g -0 0 m --0.212 0.257 l --0.509 0.607 -0.991 0.606 -1.347 0.313 c --1.706 0.019 -1.81 -0.47 -1.515 -0.825 c --1.418 -0.944 l -f -Q -q -1 0 0 1 311.723 111.878 cm -0.729 g -0 0 m -0.678 -0.815 1.589 -1.911 y -2.725 -3.29 2.216 -4.99 0.677 -5.958 c --0.682 -6.809 -3.174 -6.506 -4.032 -5.107 c --3.366 -7.071 -1.135 -8.354 1.335 -7.738 c -3.474 -7.202 5.867 -4.449 3.251 -1.276 c -1.307 1.072 l -f -Q -q -1 0 0 1 311.933 108.929 cm -0.729 g -0 0 m --0.66 0.794 -1.467 1.762 y --2.601 3.141 -2.094 4.841 -0.553 5.808 c -0.804 6.66 3.299 6.357 4.157 4.957 c -3.49 6.921 1.257 8.204 -1.212 7.588 c --3.352 7.054 -5.744 4.301 -3.128 1.126 c --1.274 -1.112 l -f -Q -q -1 0 0 1 310.366 108.161 cm -0.729 g -0 0 m -0.441 -0.535 l -0.736 -0.886 1.218 -0.884 1.574 -0.591 c -1.93 -0.296 2.037 0.191 1.742 0.549 c -1.74 0.55 1.567 0.759 1.316 1.061 c -f -Q -q -1 0 0 1 337.43 106.751 cm -0.729 g -0 0 m -0 0.235 0.174 0.412 0.401 0.412 c -0.624 0.412 0.802 0.235 0.802 0 c -0.802 -0.236 0.624 -0.413 0.401 -0.413 c -0.174 -0.413 0 -0.236 0 0 c -h -0.401 -0.493 m -0.67 -0.493 0.902 -0.286 0.902 0 c -0.902 0.286 0.67 0.494 0.401 0.494 c -0.13 0.494 -0.103 0.286 -0.103 0 c --0.103 -0.286 0.13 -0.493 0.401 -0.493 c -h -0.296 -0.037 m -0.395 -0.037 l -0.546 -0.286 l -0.643 -0.286 l -0.48 -0.034 l -0.566 -0.025 0.629 0.02 0.629 0.123 c -0.629 0.235 0.563 0.286 0.428 0.286 c -0.21 0.286 l -0.21 -0.286 l -0.296 -0.286 l -0.296 -0.037 l -h -0.296 0.034 m -0.296 0.212 l -0.415 0.212 l -0.54 0.128 l -0.54 0.04 0.474 0.034 0.4 0.034 c -0.296 0.034 l -f -Q -q -1 0 0 1 316.406 106.751 cm -0.729 g -0 0 m -0 0.235 0.176 0.412 0.404 0.412 c -0.626 0.412 0.806 0.235 0.806 0 c -0.806 -0.236 0.626 -0.413 0.404 -0.413 c -0.176 -0.413 0 -0.236 0 0 c -h -0.404 -0.493 m -0.674 -0.493 0.904 -0.286 0.904 0 c -0.904 0.286 0.674 0.494 0.404 0.494 c -0.132 0.494 -0.1 0.286 -0.1 0 c --0.1 -0.286 0.132 -0.493 0.404 -0.493 c -h -0.298 -0.037 m -0.397 -0.037 l -0.55 -0.286 l -0.646 -0.286 l -0.483 -0.034 l -0.567 -0.025 0.633 0.02 0.633 0.123 c -0.633 0.235 0.565 0.286 0.43 0.286 c -0.213 0.286 l -0.213 -0.286 l -0.298 -0.286 l -0.298 -0.037 l -h -0.298 0.034 m -0.298 0.212 l -0.417 0.212 l -0.54 0.128 l -0.54 0.04 0.476 0.034 0.404 0.034 c -0.298 0.034 l -f -Q -q -1 0 0 1 0 0 cm -0.729 g -317.343 104.732 20.426 0.403 re -f -Q -q -1 0 0 1 320.39 101.473 cm -0.729 g -0 0 m -0 2.268 l -1.093 2.268 l -1.746 2.268 2.06 1.969 2.06 1.503 c -2.06 1.015 1.77 0.706 1.118 0.706 c -0.743 0.706 l -0.743 0 l -0 0 l -h -1.052 1.236 m -1.225 1.236 1.352 1.304 1.352 1.499 c -1.352 1.711 1.111 1.739 0.955 1.739 c -0.743 1.739 l -0.743 1.236 l -1.052 1.236 l -f -Q -q -1 0 0 1 324.4 101.473 cm -0.729 g -0 0 m --0.606 0 l --0.606 0.243 l --0.772 0.015 -0.934 -0.047 -1.202 -0.047 c --1.563 -0.047 -1.795 0.174 -1.795 0.646 c --1.795 1.651 l --1.14 1.651 l --1.14 0.76 l --1.14 0.533 -1.061 0.46 -0.904 0.46 c --0.715 0.46 -0.656 0.603 -0.656 0.857 c --0.656 1.651 l -0 1.651 l -0 0 l -f -Q -q -1 0 0 1 325.33 102.957 cm -0.729 g -0 0 m -0.129 0.151 0.28 0.215 0.475 0.215 c -0.898 0.215 1.194 -0.15 1.194 -0.648 c -1.194 -1.137 0.985 -1.531 0.447 -1.531 c -0.173 -1.531 0.022 -1.408 -0.061 -1.251 c --0.067 -1.251 l --0.067 -1.484 l --0.655 -1.484 l --0.655 0.784 l -0 0.784 l -0 0 l -h -0.539 -0.671 m -0.539 -0.494 0.471 -0.293 0.261 -0.293 c -0.061 -0.293 -0.018 -0.489 -0.018 -0.658 c --0.018 -0.834 0.046 -1.058 0.261 -1.058 c -0.475 -1.058 0.539 -0.851 0.539 -0.671 c -f -Q -q -1 0 0 1 0 0 cm -0.729 g -326.789 101.473 0.654 2.268 re -f -Q -q -1 0 0 1 327.806 103.801 cm -0.729 g -0 0 0.655 -0.466 re -0.655 -2.328 -0.655 1.651 re -f -Q -q -1 0 0 1 329.355 101.987 cm -0.729 g -0 0 m -0.069 -0.152 l -0.231 -0.201 l -0.331 -0.201 0.438 -0.17 0.438 -0.054 c -0.438 0.211 -0.573 0 -0.573 0.639 c --0.573 1.061 -0.137 1.185 0.208 1.185 c -0.568 1.185 0.99 1.102 1.028 0.664 c -0.432 0.664 l -0.369 0.784 l -0.237 0.826 l -0.124 0.826 0.05 0.79 0.05 0.709 c -0.05 0.48 1.094 0.634 1.094 0.015 c -1.094 -0.327 0.81 -0.561 0.206 -0.561 c --0.173 -0.561 -0.588 -0.444 -0.624 0 c -0 0 l -f -Q -q -1 0 0 1 330.673 103.741 cm -0.729 g -0 0 m -0.655 0 l -0.655 -0.825 l -0.787 -0.658 0.935 -0.569 1.156 -0.569 c -1.59 -0.569 1.795 -0.825 1.795 -1.278 c -1.795 -2.268 l -1.139 -2.268 l -1.139 -1.394 l -1.139 -1.231 1.096 -1.087 0.91 -1.087 c -0.708 -1.087 0.655 -1.215 0.655 -1.427 c -0.655 -2.268 l -0 -2.268 l -0 0 l -f -Q -q -1 0 0 1 332.785 103.801 cm -0.729 g -0 0 0.656 -0.466 re -0.656 -2.328 -0.656 1.651 re -f -Q -q -1 0 0 1 333.76 103.124 cm -0.729 g -0 0 m -0.6 0 l -0.6 -0.259 l -0.746 -0.059 0.908 0.048 1.155 0.048 c -1.591 0.048 1.795 -0.208 1.795 -0.661 c -1.795 -1.651 l -1.14 -1.651 l -1.14 -0.777 l -1.14 -0.614 1.097 -0.47 0.909 -0.47 c -0.709 -0.47 0.654 -0.598 0.654 -0.81 c -0.654 -1.651 l -0 -1.651 l -0 0 l -f -Q -q -1 0 0 1 336.529 101.389 cm -0.729 g -0 0 m -0.041 -0.073 l -0.183 -0.114 l -0.372 -0.114 0.446 -0.03 0.446 0.207 c -0.446 0.342 l -0.354 0.249 0.211 0.164 -0.027 0.164 c --0.481 0.164 -0.743 0.523 -0.743 0.944 c --0.743 1.351 -0.549 1.783 -0.007 1.783 c -0.191 1.783 0.377 1.679 0.494 1.517 c -0.494 1.735 l -1.07 1.735 l -1.07 0.406 l -1.07 -0.09 1.014 -0.477 0.202 -0.477 c --0.382 -0.477 -0.628 -0.243 -0.657 0 c -0 0 l -h --0.088 0.938 m --0.088 0.774 -0.007 0.62 0.171 0.617 c -0.372 0.607 0.446 0.78 0.446 0.958 c -0.446 1.139 0.377 1.313 0.171 1.313 c --0.028 1.316 -0.088 1.152 -0.088 0.938 c -f -Q -q -1 0 0 1 445.722 107.685 cm -0.729 g -0 0 m -0 -3.204 -0.942 -4.951 -2.513 -6.115 c --3.642 -6.951 -5.103 -7.359 -6.816 -7.359 c --8.485 -7.359 -10.103 -6.956 -11.325 -5.923 c --12.619 -4.829 -13.573 -3.181 -13.573 -0.019 c --13.573 2.622 -12.919 4.276 -11.75 5.457 c --10.352 6.869 -8.416 7.28 -6.775 7.28 c --5.127 7.28 -3.562 6.898 -2.196 5.793 c --0.9 4.746 0 2.91 0 0 c -h --2.415 5.596 m --3.404 6.426 -4.507 6.8 -6.775 6.8 c --9.329 6.8 -10.622 6.227 -11.527 5.234 c --12.562 4.101 -12.995 2.504 -12.995 -0.008 c --12.995 -2.074 -12.712 -4.134 -11.466 -5.378 c --10.382 -6.463 -9.075 -6.866 -6.803 -6.866 c --4.696 -6.866 -3.395 -6.608 -2.27 -5.505 c --1.062 -4.32 -0.581 -2.709 -0.581 -0.008 c --0.581 2.762 -1.217 4.589 -2.415 5.596 c -f -Q -q -1 0 0 1 442.946 110.628 cm -0.729 g -0 0 m -0 -0.086 l -0.205 -0.105 0.335 -0.272 v -0.464 -0.439 0.5 -0.673 0.354 -1.074 c -0.192 -1.523 -0.908 -4.033 -1.105 -4.427 c --1.207 -4.634 -1.282 -4.9 -1.304 -5.017 c --1.356 -5.017 l --1.372 -4.95 -1.607 -4.609 -1.726 -4.442 c --1.837 -4.282 -2.558 -3.42 -3.292 -2.546 c --3.435 -2.393 l --3.426 -2.327 l --3.292 -2.172 l --2.56 -1.245 -1.972 -0.47 -1.918 -0.401 c --1.77 -0.216 -1.64 -0.077 -1.569 -0.033 c --1.569 0 l --3.405 0 l --3.403 0.533 -3.4 0.984 -3.394 1.146 c --3.367 1.741 -3.305 1.991 -2.997 2.34 c --2.841 2.518 -2.701 2.607 y --2.733 2.67 l --2.874 2.596 -3.18 2.581 -3.509 2.581 c --3.838 2.581 -4.905 2.601 -5.386 2.601 c --5.864 2.601 -6.167 2.491 -6.391 2.293 c --6.604 2.104 -6.83 1.662 -6.85 1.59 c --6.791 1.551 l --6.712 1.634 -6.532 1.787 -6.328 1.855 c --6.086 1.937 -5.87 1.96 -5.567 1.96 c --5.265 1.96 -4.508 1.937 -4.284 1.937 c --4.06 1.937 -3.878 1.954 -3.758 1.986 c --3.634 2.017 -3.58 2.037 -3.529 2.069 c --3.438 2.123 -3.42 2.059 -3.493 2 c --3.542 1.963 -3.652 1.863 -3.758 1.741 c --4.014 1.449 -4.227 1.11 -4.227 0.375 c --4.227 0.27 -4.227 0.143 -4.227 0 c --6.48 0 l --6.48 -0.033 l --6.293 -0.162 -6.047 -0.46 v --5.946 -0.581 -5.253 -1.414 -4.458 -2.384 c --4.302 -2.553 l --4.298 -2.612 l --4.353 -2.682 -4.383 -2.704 -4.454 -2.792 c --5.206 -3.727 -5.902 -4.637 -5.963 -4.729 c --6.094 -4.927 -6.133 -4.98 -6.169 -5.055 c --6.201 -5.124 -6.231 -5.166 -6.251 -5.072 c --6.274 -4.978 -6.308 -4.813 -6.48 -4.427 c --6.652 -4.041 -8.055 -1.159 -8.163 -0.934 c --8.317 -0.616 -8.274 -0.401 -8.179 -0.266 c --8.113 -0.171 -8.007 -0.11 -7.903 -0.087 c --7.903 0 l --9.696 0 l --9.696 -0.087 l --9.536 -0.16 l --9.472 -0.219 -9.373 -0.39 -9.314 -0.495 c --9.104 -0.861 -6.786 -5.619 -6.684 -5.845 c --6.517 -6.209 -6.497 -6.299 y --6.461 -6.299 l --6.216 -5.927 -5.844 -5.46 v --5.73 -5.315 -5.112 -4.462 -4.371 -3.515 c --4.317 -3.446 -4.259 -3.382 -4.224 -3.305 c --4.187 -3.319 l --4.201 -3.601 l --4.194 -4.954 -4.174 -6.423 -4.166 -7.21 c --4.155 -8.175 -4.383 -8.467 -4.874 -8.467 c --5.009 -8.467 -5.146 -8.42 -5.212 -8.365 c --5.286 -8.306 -5.321 -8.195 -5.156 -8.154 c --4.993 -8.114 -4.848 -7.941 -4.845 -7.671 c --4.84 -7.404 -5.041 -7.128 -5.406 -7.133 c --5.796 -7.138 -6.07 -7.451 -6.07 -7.905 c --6.07 -8.259 -5.796 -8.874 -4.844 -8.863 c --3.717 -8.851 -3.432 -7.938 -3.392 -7.504 c --3.36 -7.165 -3.366 -6.863 -3.366 -6.331 c --3.366 -5.978 -3.38 -4.908 -3.396 -3.959 c --3.405 -3.692 l --3.422 -3.617 -3.394 -3.608 -3.366 -3.674 c --3.329 -3.76 -3.263 -3.861 -3.241 -3.887 c --2.497 -4.811 -1.909 -5.544 -1.809 -5.673 c --1.471 -6.103 -1.343 -6.299 y --1.297 -6.299 l --1.179 -5.941 -1.034 -5.638 v --0.883 -5.324 1.105 -0.867 1.185 -0.699 c -1.268 -0.522 1.392 -0.3 1.475 -0.224 c -1.538 -0.169 1.618 -0.105 1.705 -0.086 c -1.705 0 l -0 0 l -h --2.616 -0.373 m --2.526 -0.373 l --2.518 -0.412 l --2.665 -0.561 l --2.676 -0.573 -2.912 -0.855 -3.245 -1.273 c --3.3 -1.343 -3.343 -1.394 -3.389 -1.477 c --3.418 -1.538 -3.44 -1.533 -3.425 -1.45 c --3.416 -1.385 -3.414 -1.276 -3.413 -1.186 c --3.413 -0.923 -3.408 -0.643 -3.406 -0.373 c --2.616 -0.373 l -h --4.227 -1.482 m --4.268 -1.4 -4.417 -1.207 -4.437 -1.182 c --4.788 -0.767 -4.934 -0.59 -4.972 -0.538 c --5.073 -0.417 l --5.059 -0.368 l --4.946 -0.373 l --4.213 -0.373 l --4.211 -0.639 -4.208 -0.87 -4.207 -1.186 c --4.207 -1.302 -4.205 -1.377 -4.196 -1.46 c --4.181 -1.542 -4.205 -1.529 -4.227 -1.482 c -f -Q -q -1 0 0 1 458.432 105.743 cm -0.729 g -0 0 m --0.119 0.125 -0.117 0.325 -0.117 0.48 c --0.117 6.478 l --0.117 6.745 -0.07 6.861 0.023 6.965 c -0.112 7.065 0.226 7.143 0.379 7.164 c -0.379 7.275 l --1.986 7.275 l --1.986 7.164 l --1.835 7.143 -1.717 7.061 -1.633 6.965 c --1.538 6.861 -1.492 6.745 -1.492 6.478 c --1.492 0.48 l --1.492 0.325 -1.49 0.125 -1.607 0 c --1.706 -0.102 -1.86 -0.146 -1.986 -0.164 c --1.986 -0.279 l -0.379 -0.279 l -0.379 -0.164 l -0.251 -0.15 0.097 -0.102 0 0 c -f -Q -q -1 0 0 1 464.348 107.411 cm -0.729 g -0 0 m --0.031 -0.161 -0.112 -0.433 -0.3 -0.621 c --0.489 -0.81 -0.655 -0.856 -1.098 -0.856 c --1.453 -0.856 -2.253 -0.856 -2.559 -0.856 c --2.559 4.81 l --2.559 5.077 -2.513 5.193 -2.418 5.297 c --2.333 5.393 -2.173 5.478 -1.974 5.496 c --1.974 5.607 l --4.43 5.607 l --4.43 5.496 l --4.278 5.475 -4.161 5.393 -4.074 5.297 c --3.981 5.193 -3.937 5.066 -3.935 4.81 c --3.935 -1.188 l --3.935 -1.343 -3.931 -1.543 -4.05 -1.668 c --4.15 -1.77 -4.301 -1.818 -4.43 -1.832 c --4.43 -1.947 l --0.025 -1.947 l -0.114 -0.012 l -0 0 l -f -Q -q -1 0 0 1 469.589 107.412 cm -0.729 g -0 0 m --0.032 -0.161 -0.117 -0.469 -0.305 -0.657 c --0.494 -0.846 -0.657 -0.891 -1.1 -0.891 c --1.455 -0.891 -2.562 -0.891 -2.868 -0.891 c --2.868 1.519 l --1.463 1.519 l --1.194 1.519 -1.062 1.457 -0.956 1.364 c --0.861 1.277 -0.765 1.112 -0.745 0.96 c --0.636 0.96 l --0.636 3.092 l --0.745 3.092 l --0.765 2.94 -0.852 2.788 -0.948 2.702 c --1.051 2.608 -1.166 2.561 -1.433 2.561 c --2.868 2.561 l --2.868 4.586 l --2.445 4.586 -1.218 4.586 -1.102 4.586 c --0.962 4.586 -0.687 4.586 -0.499 4.398 c --0.31 4.209 -0.307 4.028 -0.287 3.902 c --0.176 3.911 l --0.21 5.606 l --4.738 5.606 l --4.738 5.495 l --4.585 5.474 -4.47 5.392 -4.383 5.296 c --4.29 5.192 -4.244 5.076 -4.244 4.809 c --4.244 -1.189 l --4.244 -1.344 -4.24 -1.544 -4.36 -1.669 c --4.457 -1.771 -4.612 -1.82 -4.738 -1.833 c --4.738 -1.948 l --0.03 -1.948 l -0.111 -0.013 l -0 0 l -f -Q -q -1 0 0 1 474.245 113.018 cm -0.729 g -0 0 m -0 -0.111 l -0.141 -0.136 0.278 -0.175 0.355 -0.333 c -0.435 -0.494 0.374 -0.708 0.265 -0.922 c -0.141 -1.171 -0.613 -2.598 -0.734 -2.825 c --0.856 -3.054 -0.916 -3.165 -0.939 -3.258 c --0.962 -3.352 -0.994 -3.357 -1.018 -3.254 c --1.042 -3.152 -1.119 -2.998 -1.208 -2.84 c --1.298 -2.681 -2.301 -0.85 -2.363 -0.732 c --2.455 -0.556 -2.516 -0.383 -2.438 -0.252 c --2.361 -0.124 -2.27 -0.127 -2.164 -0.111 c --2.164 0 l --4.496 0 l --4.496 -0.111 l --4.391 -0.132 -4.32 -0.164 -4.233 -0.24 c --4.142 -0.316 -4.081 -0.393 -3.996 -0.537 c --3.918 -0.673 -2.017 -3.947 -1.797 -4.326 c --1.797 -6.795 l --1.797 -6.95 -1.796 -7.15 -1.913 -7.275 c --2.012 -7.377 -2.164 -7.425 -2.292 -7.439 c --2.292 -7.554 l -0.071 -7.554 l -0.071 -7.439 l --0.061 -7.425 -0.209 -7.377 -0.306 -7.275 c --0.424 -7.15 -0.423 -6.95 -0.423 -6.795 c --0.423 -4.327 l -1.557 -0.742 l -1.655 -0.566 1.812 -0.326 1.91 -0.236 c -2.017 -0.141 2.109 -0.124 2.183 -0.111 c -2.183 0 l -0 0 l -f -Q -q -1 0 0 1 448.426 113.018 cm -0.729 g -0 0 m --2.397 0 l --2.397 -0.111 l --2.295 -0.124 -2.144 -0.164 -1.996 -0.324 c --1.861 -0.468 -1.814 -0.578 -1.729 -0.756 c --1.646 -0.934 0.855 -6.731 0.994 -7.056 c -1.133 -7.382 1.283 -7.696 1.317 -7.791 c -1.44 -7.792 l -1.599 -7.475 1.757 -7.084 v -1.915 -6.692 2.569 -5.175 2.632 -5.018 c -2.744 -4.743 2.802 -4.552 2.819 -4.469 c -2.831 -4.4 2.853 -4.396 2.866 -4.47 c -2.88 -4.544 2.96 -4.798 3.046 -5.027 c -3.118 -5.216 3.827 -6.877 3.944 -7.14 c -4.062 -7.405 4.216 -7.714 4.246 -7.791 c -4.377 -7.791 l -4.455 -7.562 4.569 -7.348 4.671 -7.093 c -4.773 -6.837 7.016 -1.043 7.122 -0.765 c -7.224 -0.498 7.298 -0.361 7.388 -0.282 c -7.508 -0.172 7.629 -0.129 7.745 -0.111 c -7.745 0 l -5.642 0 l -5.642 -0.111 l -5.735 -0.13 5.867 -0.152 5.949 -0.274 c -6.032 -0.401 5.973 -0.67 5.906 -0.854 c -5.793 -1.168 4.608 -4.613 y -4.551 -4.819 4.511 -4.981 4.491 -5.078 c -4.471 -5.177 4.441 -5.184 4.421 -5.081 c -4.404 -4.998 4.36 -4.868 4.258 -4.593 c -3.633 -3.114 3.589 -3.028 v -3.505 -2.88 l -3.509 -2.808 l -3.595 -2.623 l -3.645 -2.51 4.426 -0.641 4.475 -0.523 c -4.523 -0.404 4.6 -0.274 4.671 -0.216 c -4.735 -0.161 4.798 -0.124 4.888 -0.111 c -4.888 0 l -3.209 0 l -3.209 -0.111 l -3.323 -0.129 3.41 -0.178 3.451 -0.265 c -3.489 -0.344 3.483 -0.49 3.426 -0.63 c -3.372 -0.77 3.129 -1.388 3.106 -1.482 c -3.084 -1.575 3.065 -1.626 3.06 -1.677 c -3.009 -1.677 l -3.001 -1.612 2.991 -1.542 2.958 -1.467 c -2.926 -1.393 2.654 -0.697 2.622 -0.588 c -2.577 -0.441 2.579 -0.296 2.648 -0.219 c -2.728 -0.132 2.822 -0.121 2.9 -0.111 c -2.9 0 l -0.71 0 l -0.71 -0.111 l -0.831 -0.124 0.911 -0.177 0.974 -0.247 c -1.052 -0.333 1.091 -0.411 1.163 -0.61 c -1.232 -0.811 2.21 -3.069 2.255 -3.157 c -2.321 -3.282 l -2.318 -3.389 l -2.292 -3.431 2.255 -3.515 2.201 -3.641 c -2.156 -3.736 1.813 -4.53 1.757 -4.669 c -1.701 -4.808 1.609 -5.014 1.594 -5.098 c -1.579 -5.178 1.56 -5.184 1.538 -5.092 c -1.514 -4.987 1.469 -4.846 1.366 -4.65 c -1.264 -4.455 -0.175 -0.96 -0.259 -0.774 c --0.341 -0.587 -0.37 -0.367 -0.299 -0.263 c --0.229 -0.16 -0.123 -0.121 0 -0.111 c -0 0 l -f -Q -q -1 0 0 1 496.207 114.468 cm -0.729 g -0 0 m --6.197 -4.136 -8.356 -11.276 v -1.822 -8.164 12.862 -9.021 v -9.942 -0.343 0.635 3.711 v -0.635 1.37 l -5.202 -1.713 6.82 -5.653 v -1.714 -5.208 -3.411 -7.024 v --2.833 -4.34 0 0 v -f -Q -q -1 0 0 1 503.036 102.503 cm -0.729 g -0 0 m -1.955 0 l -2.604 -0.785 l -3.266 0 l -4.859 0 l -3.381 -1.414 l -5.012 -3.047 l -3.038 -3.047 l -2.352 -2.187 l -1.651 -3.047 l -0.296 -3.047 l -1.04 -2.724 1.401 -2.123 1.401 -1.57 c -1.401 -1.068 0.973 -0.314 0 0 c -f -Q -q -1 0 0 1 500.845 100.98 cm -0.729 g -0 0 m -0 0.344 0.321 0.585 0.788 0.585 c -1.255 0.585 1.575 0.344 1.575 0 c -1.575 -0.345 1.255 -0.587 0.788 -0.587 c -0.321 -0.587 0 -0.345 0 0 c -h --1.584 -0.049 m --1.556 -0.778 -0.877 -1.574 0.803 -1.574 c -2.406 -1.574 3.161 -0.806 3.161 0 c -3.161 0.735 2.505 1.573 0.788 1.573 c -0.058 1.573 -0.488 1.421 -0.872 1.184 c --0.798 1.146 -0.726 1.103 -0.655 1.05 c --1.584 -0.049 l -f -Q -q -1 0 0 1 497.397 102.503 cm -0.729 g -0 0 m -0 -0.811 l -0.015 -0.811 l -0.297 -0.242 0.747 0.05 1.303 0.05 c -1.608 0.05 1.913 -0.024 2.279 -0.185 c -1.577 -1.393 l -1.326 -1.214 1.12 -1.138 0.899 -1.138 c -0.51 -1.138 0.236 -1.428 0.152 -1.781 c -0.152 -3.047 l --1.432 -3.047 l --1.432 -1.483 l --0.747 0 l -0 0 l -f -Q -q -1 0 0 1 489.196 102.503 cm -0.729 g -0 0 m -1.616 0 l -2.233 -1.489 l -2.248 -1.489 l -2.972 0 l -3.986 0 l -4.702 -1.489 l -4.717 -1.489 l -5.296 0 l -6.881 0 l -5.471 -3.047 l -4.298 -3.047 l -3.482 -1.356 l -2.66 -3.047 l -1.502 -3.047 l -0 0 l -f -Q -q -1 0 0 1 508.854 103.093 cm -0.729 g -0 0 m -0 -0.11 l --0.264 -0.11 l --0.264 -0.862 l --0.395 -0.862 l --0.395 -0.11 l --0.656 -0.11 l --0.656 0 l -0 0 l -h -0.834 -0.862 m -0.799 -0.342 l -0.795 -0.275 0.799 -0.193 0.797 -0.108 c -0.79 -0.108 l -0.769 -0.188 0.743 -0.28 0.716 -0.355 c -0.537 -0.851 l -0.438 -0.851 l -0.262 -0.342 l -0.241 -0.273 0.219 -0.188 0.199 -0.108 c -0.192 -0.108 l -0.191 -0.19 0.192 -0.264 0.189 -0.342 c -0.156 -0.862 l -0.03 -0.862 l -0.097 0 l -0.269 0 l -0.438 -0.468 l -0.459 -0.533 0.476 -0.604 0.498 -0.685 c -0.503 -0.685 l -0.522 -0.604 0.541 -0.529 0.563 -0.465 c -0.732 0 l -0.901 0 l -0.966 -0.862 l -0.834 -0.862 l -f -Q -q -1 0 0 1 189.629 115.392 cm -0.729 g -/GS3 gs -0 0 m --2.2 0 -2.2 -2.2 v --2.2 -10.999 l --2.2 -13.199 0 -13.199 v -27.865 -13.199 l -30.065 -13.199 30.065 -10.999 v -30.065 -2.2 l -30.065 0 27.865 0 v -0 0 l -f -Q -q -1 0 0 1 195.491 107.928 cm -0 0 m -1.239 0 l -1.589 0 1.873 0.284 1.873 0.635 c -1.873 2.501 l -1.873 2.851 1.589 3.135 1.239 3.135 c --1.68 3.135 l --2.03 3.135 -2.314 2.851 -2.314 2.501 c --2.314 0.635 l --2.314 0.284 -2.03 0 -1.68 0 c --0.491 0 l --0.49 -1.28 l --2.732 -1.28 l --3.347 -1.28 -3.846 -0.782 -3.846 -0.166 c --3.846 3.213 l --3.846 3.829 -3.347 4.328 -2.732 4.328 c -2.388 4.328 l -3.003 4.328 3.501 3.829 3.501 3.213 c -3.501 -0.166 l -3.501 -0.782 3.003 -1.28 2.388 -1.28 c -1.512 -1.28 l -1.512 -2.286 l --0.003 -2.286 l -0 0 l -f -Q -q -1 0 0 1 206.886 112.256 cm -0 0 m -0 -4.542 l -0 -5.157 -0.497 -5.656 -1.112 -5.656 c --6.006 -5.656 l --6.622 -5.656 -7.12 -5.157 -7.12 -4.542 c --7.12 0 l --5.542 -0.002 l --5.542 -3.771 l --5.542 -4.109 -5.268 -4.383 -4.93 -4.383 c --2.255 -4.383 l --1.918 -4.383 -1.643 -4.109 -1.643 -3.771 c --1.643 -0.002 l -0 0 l -f -Q -q -1 0 0 1 209.835 108.808 cm -0 0 m -0 1.026 l -3.384 1.035 l -3.65 1.035 3.868 1.284 3.868 1.55 c -3.868 1.818 3.65 2.034 3.384 2.034 c -0.236 2.033 l --0.116 2.081 -0.399 1.797 -0.399 1.446 c --0.399 -0.343 l --0.399 -0.693 -0.116 -0.977 0.236 -0.977 c -5.16 -0.977 l -5.161 -2.256 l --0.997 -2.256 l --1.612 -2.256 -2.109 -1.758 -2.109 -1.143 c --2.109 2.237 l --2.109 2.852 -1.612 3.35 -0.997 3.35 c -4.284 3.35 l -4.9 3.35 5.398 2.852 5.398 2.237 c -5.398 1.112 l -5.398 0.498 4.9 0 4.284 0 c -0 0 l -f -Q -q -1 0 0 1 215.859 111.558 cm -0 0 m -0 0.405 0.331 0.736 0.74 0.736 c -1.148 0.736 1.476 0.405 1.476 0 c -1.476 -0.409 1.148 -0.74 0.74 -0.74 c -0.331 -0.74 0 -0.409 0 0 c -h -1.359 0 m -1.359 0.358 1.099 0.638 0.74 0.638 c -0.38 0.638 0.117 0.358 0.117 0 c -0.117 -0.363 0.38 -0.643 0.74 -0.643 c -1.099 -0.643 1.359 -0.363 1.359 0 c -h -1.108 -0.413 m -0.987 -0.413 l -0.751 -0.034 l -0.567 -0.034 l -0.567 -0.413 l -0.465 -0.413 l -0.465 0.411 l -0.826 0.411 l -1.043 0.411 1.117 0.329 1.117 0.192 c -1.117 0.031 1.005 -0.03 0.859 -0.034 c -1.108 -0.413 l -h -0.721 0.046 m -0.838 0.046 1.009 0.027 1.009 0.195 c -1.009 0.323 0.904 0.339 0.803 0.339 c -0.567 0.339 l -0.567 0.046 l -0.721 0.046 l -f -Q -q -1 0 0 1 232.172 100.722 cm -0.808 g -0 0 m -0.527 0.007 0.745 -0.027 0.745 -0.592 c -0.745 -0.884 0.679 -1.178 0.371 -1.178 c -0 -1.178 l -0 0 l -h -0 -2.044 m -0.353 -2.044 l -0.606 -2.07 0.697 -2.262 0.71 -2.558 c -0.745 -2.854 0.728 -3.253 0.745 -3.675 c -0.745 -3.766 0.774 -3.859 0.806 -3.954 c -1.965 -3.954 l -1.965 -3.888 l -1.858 -3.719 l -1.797 -3.411 1.797 -2.589 1.766 -2.202 c -1.749 -1.863 1.532 -1.644 1.24 -1.584 c -1.24 -1.568 l -1.688 -1.34 1.797 -0.979 1.797 -0.466 c -1.797 0.477 1.362 0.851 0.498 0.851 c --1.055 0.851 l --1.055 -3.954 l -0 -3.954 l -0 -2.044 l -f -Q -q -1 0 0 1 235.286 99.078 cm -0.808 g -0 0 m -0 0.234 l -0 0.482 0.061 0.705 0.338 0.705 c -0.588 0.705 0.666 0.482 0.666 0.339 c -0.666 0 l -0 0 l -h -1.627 -0.683 m -1.627 0.339 l -1.627 1.121 1.007 1.395 0.323 1.379 c --0.421 1.379 -0.96 1.068 -0.96 0.155 c --0.96 -1.301 l --0.96 -2.122 -0.355 -2.432 0.323 -2.409 c -1.161 -2.401 1.641 -1.982 1.58 -1.052 c -0.634 -1.052 l -0.618 -1.357 0.649 -1.704 0.292 -1.679 c -0.075 -1.674 0 -1.502 0 -1.301 c -0 -0.683 l -1.627 -0.683 l -f -Q -q -1 0 0 1 238.135 98.999 cm -0.808 g -0 0 m -0 0.218 -0.013 0.634 0.295 0.634 c -0.526 0.644 0.573 0.265 0.573 -0.044 c -0.573 -0.884 l -0.573 -1.222 0.544 -1.518 0.279 -1.518 c -0 -1.518 0 -1.143 0 -0.926 c -0 0 l -h -1.534 -2.231 m -1.534 2.574 l -0.573 2.574 l -0.573 1.039 l -0.555 1.039 l -0.356 1.347 0.109 1.458 -0.138 1.458 c --0.774 1.458 -0.961 0.808 -0.961 0.234 c --0.961 -1.004 l --0.961 -1.61 -0.823 -2.322 -0.123 -2.33 c -0.157 -2.33 0.448 -2.153 0.621 -1.805 c -0.634 -1.805 l -0.634 -2.231 l -1.534 -2.231 l -f -Q -q -1 0 0 1 241.592 98.115 cm -0.68 g -0 0 m -0 -0.229 0.012 -0.634 -0.295 -0.634 c --0.53 -0.634 -0.591 -0.278 -0.591 0.032 c --0.591 0.884 l --0.591 1.227 -0.543 1.505 -0.282 1.505 c -0 1.505 0 1.131 0 0.932 c -0 0 l -h --0.591 3.458 m --1.553 3.458 l --1.553 -1.347 l --0.652 -1.347 l --0.652 -0.926 l --0.639 -0.926 l --0.483 -1.269 -0.188 -1.438 0.122 -1.446 c -0.819 -1.438 0.957 -0.726 0.957 -0.12 c -0.957 1.118 l -0.957 1.692 0.774 2.342 0.138 2.342 c --0.143 2.342 -0.422 2.263 -0.575 1.953 c --0.591 1.953 l --0.591 3.458 l -f -Q -q -1 0 0 1 243.824 99.312 cm -0.68 g -0 0 m -0 0.232 0.06 0.418 0.291 0.418 c -0.508 0.418 0.586 0.232 0.586 0 c -0.586 -1.596 l -0.556 -1.814 0.477 -1.913 0.291 -1.913 c -0.092 -1.913 0.013 -1.814 0 -1.596 c -0 0 l -h --0.962 -1.535 m --0.962 -2.356 -0.406 -2.643 0.291 -2.643 c -1.021 -2.643 1.487 -2.348 1.531 -1.535 c -1.531 -0.079 l -1.531 0.726 1.131 1.145 0.291 1.145 c --0.452 1.145 -0.962 0.834 -0.962 -0.079 c --0.962 -1.535 l -f -Q -q -1 0 0 1 246.593 99.312 cm -0.68 g -0 0 m -0 0.232 0.079 0.418 0.295 0.418 c -0.527 0.418 0.592 0.232 0.592 0 c -0.592 -1.596 l -0.574 -1.814 0.496 -1.913 0.295 -1.913 c -0.096 -1.913 0.017 -1.814 0 -1.596 c -0 0 l -h --0.961 -1.535 m --0.961 -2.356 -0.387 -2.643 0.295 -2.643 c -1.021 -2.643 1.506 -2.348 1.553 -1.535 c -1.553 -0.079 l -1.553 0.726 1.148 1.145 0.295 1.145 c --0.447 1.145 -0.961 0.834 -0.961 -0.079 c --0.961 -1.535 l -f -Q -q -1 0 0 1 248.436 96.768 cm -0.68 g -0 0 m -0 4.805 l -0.964 4.805 l -0.964 2.386 l -1.627 3.597 l -2.685 3.597 l -1.723 2.152 l -2.685 0 l -1.677 0 l -1.118 1.396 l -0.964 1.161 l -0.964 0 l -0 0 l -f -Q -q -1 0 0 1 252.608 99.304 cm -0.68 g -0 0 m --0.035 0.24 -0.019 0.479 -0.326 0.479 c --0.513 0.479 -0.639 0.399 -0.639 0.191 c --0.639 0 -0.496 -0.1 -0.345 -0.178 c -0.278 -0.475 0.943 -0.652 0.943 -1.505 c -0.943 -2.301 0.368 -2.635 -0.326 -2.635 c --1.102 -2.635 -1.631 -2.301 -1.583 -1.436 c --0.669 -1.436 l --0.684 -1.683 -0.623 -1.975 -0.326 -1.975 c --0.127 -1.975 0.011 -1.869 0.011 -1.635 c -0.011 -1.518 -0.035 -1.418 -0.109 -1.356 c --0.496 -1.14 -1.04 -0.983 -1.336 -0.623 c --1.506 -0.418 -1.583 -0.209 -1.583 0.053 c --1.583 0.826 -1.01 1.153 -0.326 1.153 c -0.368 1.153 0.925 0.782 0.894 0 c -0 0 l -f -Q -q -1 0 0 1 234.651 112.449 cm -0.89 g -0 0 m --2.466 -0.404 l --2.479 -0.443 -2.513 -0.56 -2.556 -0.73 c --3.857 -4.957 -1.552 -8.506 2.71 -8.575 c -2.763 -8.576 2.817 -8.577 2.87 -8.577 c -6.387 -8.577 10.194 -6.349 11.447 -3.427 c -10.337 -5.757 7.061 -7.854 4.303 -7.854 c -4.221 -7.854 4.139 -7.852 4.057 -7.848 c -0.387 -7.684 -1.594 -4.696 -0.404 -1.038 c --0.295 -0.682 -0.155 -0.343 0 0 c -f -Q -q -1 0 0 1 0 0 cm -253.793 105.667 -17.606 15.582 re -W n -q -244.982 120.864 m -242.288 120.561 239.253 118.861 237.022 116.698 c -239.018 118.519 241.56 119.839 243.897 120.097 c -245.301 120.257 246.424 120.006 247.191 119.438 c -245.476 118.883 243.935 117.555 243.116 115.901 c -242.941 115.924 242.767 115.931 242.584 115.931 c -240.733 115.931 238.904 114.869 237.781 113.313 c -237.773 113.306 237.773 113.298 237.766 113.291 c -237.303 112.646 236.961 111.909 236.787 111.136 c -236.559 110.043 236.726 109.094 237.144 108.282 c -237.25 108.062 l -237.826 107.106 238.737 106.461 239.981 106.347 c -239.868 106.355 l -239.807 106.036 l -240.012 105.968 l -240.133 105.983 l -240.224 106.324 l -240.057 106.34 l -240.179 106.332 240.293 106.324 240.414 106.324 c -242.41 106.324 244.398 107.576 245.491 109.367 c -245.794 109.292 246.113 109.246 246.455 109.238 c -249.338 109.178 252.252 111.507 252.927 114.444 c -252.981 114.672 253.018 114.899 253.042 115.12 c -253.405 117.654 251.804 119.657 249.316 119.764 c -248.541 120.508 247.388 120.917 245.923 120.917 c -245.628 120.917 245.308 120.902 244.982 120.864 c -W n -q -17.646 0 0 -15.636 236.157 121.278 cm -/Im1 Do -Q -Q -Q -q -1 0 0 1 115.213 144.691 cm -0.729 g -0 0 m --4.693 0 l --2.368 4.08 l -0 0 l -f -Q -q -1 0 0 1 112.284 143.844 cm -0.729 g -0 0 m --2.344 -4.065 l --4.718 -0.012 l -0 0 l -f -Q -q -1 0 0 1 117.934 143.844 cm -0.729 g -0 0 m --2.345 -4.065 l --4.718 -0.012 l -0 0 l -f -Q -q -1 0 0 1 105.21 134.404 cm -0.729 g -0 0 m --1.352 0 l --0.67 1.582 l -0 0 l -h -0.077 -0.214 m -0.29 -0.706 l -0.338 -0.824 0.433 -1.026 0.433 -1.156 c -0.433 -1.364 0.285 -1.411 0.03 -1.423 c -0.03 -1.53 l -1.577 -1.53 l -1.577 -1.423 l -1.138 -1.405 1.025 -1.073 0.877 -0.717 c --0.456 2.483 l --0.563 2.483 l --1.974 -0.824 l --2.152 -1.239 -2.276 -1.393 -2.585 -1.423 c --2.585 -1.53 l --1.352 -1.53 l --1.352 -1.423 l --1.571 -1.405 -1.808 -1.381 -1.808 -1.162 c --1.808 -1.049 -1.725 -0.866 -1.678 -0.765 c --1.44 -0.214 l -0.077 -0.214 l -f -Q -q -1 0 0 1 108.909 133.378 cm -0.729 g -0 0 m --0.136 -0.148 -0.302 -0.266 -0.51 -0.266 c --0.96 -0.266 -1.322 0.208 -1.322 0.931 c --1.322 1.856 -0.83 2.051 -0.616 2.051 c --0.213 2.051 0 1.648 0 1.293 c -0 0 l -h -0 2.004 m --0.154 2.164 -0.373 2.229 -0.587 2.229 c --1.357 2.229 -1.861 1.429 -1.861 0.723 c --1.861 0.101 -1.482 -0.587 -0.788 -0.587 c --0.456 -0.587 -0.225 -0.438 0 -0.207 c -0 -0.587 l -0.131 -0.587 l -0.931 -0.261 l -0.889 -0.16 l -0.83 -0.184 0.753 -0.207 0.688 -0.207 c -0.605 -0.207 0.48 -0.207 0.48 0.196 c -0.48 3.61 l -0.35 3.61 l --0.45 3.284 l --0.409 3.183 l --0.35 3.207 -0.273 3.231 -0.207 3.231 c --0.124 3.231 0 3.231 0 2.828 c -0 2.004 l -f -Q -q -1 0 0 1 111.872 133.378 cm -0.729 g -0 0 m --0.136 -0.148 -0.302 -0.266 -0.51 -0.266 c --0.96 -0.266 -1.322 0.208 -1.322 0.931 c --1.322 1.856 -0.83 2.051 -0.616 2.051 c --0.213 2.051 0 1.648 0 1.293 c -0 0 l -h -0 2.004 m --0.154 2.164 -0.373 2.229 -0.587 2.229 c --1.357 2.229 -1.861 1.429 -1.861 0.723 c --1.861 0.101 -1.482 -0.587 -0.788 -0.587 c --0.456 -0.587 -0.225 -0.438 0 -0.207 c -0 -0.587 l -0.131 -0.587 l -0.931 -0.261 l -0.889 -0.16 l -0.83 -0.184 0.753 -0.207 0.688 -0.207 c -0.605 -0.207 0.48 -0.207 0.48 0.196 c -0.48 3.61 l -0.35 3.61 l --0.451 3.284 l --0.409 3.183 l --0.35 3.207 -0.273 3.231 -0.207 3.231 c --0.124 3.231 0 3.231 0 2.828 c -0 2.004 l -f -Q -q -1 0 0 1 113.864 133.378 cm -0.729 g -0 0 m -0 -0.349 0.136 -0.391 0.409 -0.397 c -0.409 -0.504 l --0.889 -0.504 l --0.889 -0.397 l --0.617 -0.391 -0.48 -0.349 -0.48 0 c --0.48 1.447 l --0.48 1.85 -0.605 1.85 -0.688 1.85 c --0.753 1.85 -0.83 1.826 -0.889 1.802 c --0.931 1.903 l --0.131 2.229 l -0 2.229 l -0 0 l -h --0.243 3.61 m --0.083 3.61 0.047 3.48 0.047 3.32 c -0.047 3.16 -0.083 3.029 -0.243 3.029 c --0.403 3.029 -0.533 3.16 -0.533 3.32 c --0.533 3.48 -0.403 3.61 -0.243 3.61 c -f -Q -q -1 0 0 1 116.336 134.7 cm -0.729 g -0 0 m --0.107 0 l --0.196 0.397 -0.356 0.729 -0.818 0.729 c --1.031 0.729 -1.269 0.611 -1.269 0.368 c --1.269 -0.278 0.196 -0.196 0.196 -1.114 c -0.196 -1.6 -0.261 -1.909 -0.711 -1.909 c --0.883 -1.909 -1.073 -1.867 -1.245 -1.82 c --1.281 -1.808 -1.351 -1.79 -1.393 -1.79 c --1.446 -1.79 -1.488 -1.82 -1.5 -1.867 c --1.606 -1.867 l --1.606 -0.919 l --1.5 -0.919 l --1.446 -1.334 -1.132 -1.731 -0.688 -1.731 c --0.445 -1.731 -0.231 -1.588 -0.231 -1.328 c --0.231 -0.634 -1.612 -0.729 -1.612 0.113 c --1.612 0.599 -1.263 0.907 -0.788 0.907 c --0.664 0.907 -0.569 0.877 -0.451 0.842 c --0.379 0.824 -0.302 0.795 -0.231 0.795 c --0.154 0.795 -0.13 0.842 -0.107 0.907 c -0 0.907 l -0 0 l -f -Q -q -1 0 0 1 118.114 135.406 cm -0.729 g -0 0 m -0.658 0 0.836 -0.878 0.836 -1.393 c -0.836 -1.808 0.735 -2.413 0.196 -2.413 c --0.462 -2.413 -0.646 -1.488 -0.646 -0.979 c --0.646 -0.22 -0.29 0 0 0 c -h -0.101 0.201 m --0.676 0.201 -1.186 -0.504 -1.186 -1.233 c --1.186 -1.945 -0.694 -2.615 0.059 -2.615 c -0.996 -2.615 1.375 -1.755 1.375 -1.145 c -1.375 -0.421 0.842 0.201 0.101 0.201 c -f -Q -q -1 0 0 1 120.651 135.05 cm -0.729 g -0 0 m -0.332 0.367 0.563 0.557 0.901 0.557 c -1.381 0.557 1.571 0.107 1.571 -0.338 c -1.571 -1.672 l -1.571 -2.021 1.707 -2.063 1.98 -2.069 c -1.98 -2.176 l -0.682 -2.176 l -0.682 -2.069 l -0.954 -2.063 1.091 -2.021 1.091 -1.672 c -1.091 -0.445 l -1.091 0.142 0.848 0.201 0.67 0.201 c -0.397 0.201 0.196 0.024 0 -0.178 c -0 -1.672 l -0 -2.021 0.136 -2.063 0.409 -2.069 c -0.409 -2.176 l --0.889 -2.176 l --0.889 -2.069 l --0.616 -2.063 -0.48 -2.021 -0.48 -1.672 c --0.48 -0.225 l --0.48 0.178 -0.605 0.178 -0.688 0.178 c --0.753 0.178 -0.83 0.154 -0.889 0.13 c --0.931 0.231 l --0.13 0.557 l -0 0.557 l -0 0 l -f -Q -q -1 0 0 1 108.656 129.513 cm -0.729 g -0 0 m -0.048 0.136 0.142 0.397 0.142 0.533 c -0.142 0.759 -0.024 0.812 -0.29 0.812 c --0.29 0.919 l -0.883 0.919 l -0.883 0.812 l -0.492 0.812 0.409 0.486 0.302 0.172 c --0.824 -3.094 l --0.937 -3.094 l --1.826 -0.605 l --1.838 -0.605 l --2.709 -3.094 l --2.827 -3.094 l --4.037 0.29 l --4.167 0.664 -4.227 0.812 -4.582 0.812 c --4.582 0.919 l --3.13 0.919 l --3.13 0.812 l --3.343 0.812 -3.515 0.765 -3.515 0.563 c --3.515 0.468 -3.456 0.314 -3.426 0.225 c --2.626 -2.057 l --2.614 -2.057 l --1.962 -0.225 l --2.122 0.213 l --2.247 0.545 -2.335 0.812 -2.727 0.812 c --2.727 0.919 l --1.191 0.919 l --1.191 0.812 l --1.44 0.812 -1.612 0.794 -1.612 0.545 c --1.612 0.373 -1.517 0.13 -1.458 -0.03 c --0.735 -2.057 l --0.723 -2.057 l -0 0 l -f -Q -q -1 0 0 1 109.736 128.333 cm -0.729 g -0 0 m -0.024 0.344 0.273 0.694 0.622 0.694 c -1.043 0.694 1.227 0.368 1.227 0 c -0 0 l -h -1.832 -0.178 m -1.832 0.463 1.429 0.907 0.818 0.907 c --0.024 0.907 -0.409 0.22 -0.409 -0.545 c --0.409 -1.357 0.101 -1.908 0.747 -1.908 c -1.346 -1.908 1.731 -1.405 1.832 -0.859 c -1.743 -0.8 l -1.606 -1.185 1.375 -1.434 0.948 -1.434 c -0.302 -1.434 -0.006 -0.77 -0.006 -0.178 c -1.832 -0.178 l -f -Q -q -1 0 0 1 113.672 128.333 cm -0.729 g -0 0 m --0.107 0 l --0.196 0.397 -0.356 0.729 -0.818 0.729 c --1.031 0.729 -1.269 0.611 -1.269 0.368 c --1.269 -0.278 0.196 -0.195 0.196 -1.114 c -0.196 -1.6 -0.261 -1.908 -0.711 -1.908 c --0.883 -1.908 -1.073 -1.867 -1.245 -1.82 c --1.28 -1.808 -1.352 -1.79 -1.393 -1.79 c --1.446 -1.79 -1.488 -1.82 -1.5 -1.867 c --1.607 -1.867 l --1.607 -0.919 l --1.5 -0.919 l --1.446 -1.333 -1.132 -1.731 -0.688 -1.731 c --0.445 -1.731 -0.231 -1.588 -0.231 -1.328 c --0.231 -0.634 -1.612 -0.729 -1.612 0.113 c --1.612 0.599 -1.263 0.907 -0.788 0.907 c --0.664 0.907 -0.569 0.878 -0.451 0.842 c --0.379 0.824 -0.302 0.795 -0.231 0.795 c --0.154 0.795 -0.13 0.842 -0.107 0.907 c -0 0.907 l -0 0 l -f -Q -q -1 0 0 1 115.154 127.011 cm -0.729 g -0 0 m -0 -0.349 0.136 -0.391 0.409 -0.397 c -0.409 -0.503 l --0.889 -0.503 l --0.889 -0.397 l --0.616 -0.391 -0.48 -0.349 -0.48 0 c --0.48 2.828 l --0.48 3.231 -0.605 3.231 -0.688 3.231 c --0.753 3.231 -0.83 3.207 -0.889 3.184 c --0.931 3.284 l --0.13 3.61 l -0 3.61 l -0 0 l -f -Q -q -1 0 0 1 116.321 128.333 cm -0.729 g -0 0 m -0.024 0.344 0.273 0.694 0.622 0.694 c -1.043 0.694 1.227 0.368 1.227 0 c -0 0 l -h -1.832 -0.178 m -1.832 0.463 1.429 0.907 0.818 0.907 c --0.024 0.907 -0.409 0.22 -0.409 -0.545 c --0.409 -1.357 0.101 -1.908 0.747 -1.908 c -1.346 -1.908 1.731 -1.405 1.832 -0.859 c -1.743 -0.8 l -1.606 -1.185 1.375 -1.434 0.949 -1.434 c -0.302 -1.434 -0.006 -0.77 -0.006 -0.178 c -1.832 -0.178 l -f -Q -q -1 0 0 1 118.788 128.547 cm -0.729 g -0 0 m --0.101 0.219 -0.237 0.474 -0.498 0.504 c --0.498 0.61 l -0.735 0.61 l -0.735 0.504 l -0.551 0.504 0.415 0.48 0.415 0.29 c -0.415 0.189 0.498 0.023 0.54 -0.072 c -1.156 -1.34 l -1.719 0.053 l -1.761 0.16 1.796 0.243 1.796 0.355 c -1.796 0.492 1.689 0.504 1.53 0.504 c -1.53 0.61 l -2.395 0.61 l -2.395 0.504 l -2.205 0.504 2.105 0.355 2.039 0.195 c -0.907 -2.579 l -0.676 -3.148 0.243 -3.32 0.036 -3.32 c --0.16 -3.32 -0.361 -3.201 -0.361 -2.988 c --0.361 -2.81 -0.219 -2.727 -0.059 -2.727 c -0.136 -2.727 0.231 -2.834 0.332 -2.834 c -0.569 -2.834 0.694 -2.502 0.765 -2.33 c -0.925 -1.933 l -0 0 l -f -Q -q -1 0 0 1 395.725 111.73 cm -0.729 g -0 0 m --2.258 0 l --2.258 -5.964 l --1.401 -5.964 l --1.401 -3.933 l --0.107 -3.933 l -1.071 -3.933 2.258 -3.318 2.258 -1.93 c -2.258 -0.757 1.372 0 0 0 c --1.401 -0.808 m --0.049 -0.808 l -0.867 -0.808 1.393 -1.226 1.393 -1.971 c -1.393 -2.677 0.813 -3.133 -0.083 -3.133 c --1.401 -3.133 l --1.401 -0.808 l -f -Q -q -1 0 0 1 403.969 109.916 cm -0.729 g -0 0 m -0 0.472 -0.168 0.902 -0.474 1.208 c --0.865 1.599 -1.473 1.814 -2.184 1.814 c --4.763 1.814 l --4.763 -4.15 l --3.905 -4.15 l --3.905 -1.914 l --2.417 -1.914 l --0.748 -4.15 l -0.311 -4.15 l --1.485 -1.763 l --0.552 -1.537 0 -0.893 0 0 c --3.905 1.006 m --2.233 1.006 l --1.365 1.006 -0.866 0.629 -0.866 -0.042 c --0.866 -0.698 -1.406 -1.122 -2.241 -1.122 c --3.905 -1.122 l --3.905 1.006 l -f -Q -q -1 0 0 1 406.255 108.373 cm -0.729 g -0 0 m -3.141 0 l -3.141 0.8 l -0 0.8 l -0 2.557 l -3.511 2.557 l -3.511 3.357 l --0.857 3.357 l --0.857 -2.607 l -3.552 -2.607 l -3.552 -1.807 l -0 -1.807 l -0 0 l -f -Q -q -1 0 0 1 413.343 109.162 cm -0.729 g -0 0 m --1.251 0.268 -1.48 0.553 -1.48 1.034 c --1.48 1.519 -1.02 1.858 -0.359 1.858 c -0.226 1.858 0.733 1.667 1.236 1.257 c -1.319 1.189 l -1.824 1.857 l -1.746 1.92 l -1.108 2.432 0.482 2.65 -0.343 2.65 c --1.499 2.65 -2.338 1.946 -2.338 0.959 c --2.338 -0.141 -1.533 -0.541 -0.323 -0.804 c -0.873 -1.056 1.092 -1.335 1.092 -1.812 c -1.092 -2.327 0.606 -2.687 -0.088 -2.687 c --0.821 -2.687 -1.373 -2.459 -1.992 -1.899 c --2.071 -1.827 l --2.609 -2.463 l --2.534 -2.531 l --1.81 -3.178 -1.04 -3.478 -0.113 -3.478 c -1.107 -3.478 1.957 -2.766 1.957 -1.729 c -1.957 -0.816 1.372 -0.299 0 0 c -f -Q -q -1 0 0 1 418.769 109.162 cm -0.729 g -0 0 m --1.251 0.268 -1.479 0.552 -1.479 1.034 c --1.479 1.519 -1.019 1.858 -0.359 1.858 c -0.227 1.858 0.734 1.667 1.237 1.257 c -1.321 1.189 l -1.825 1.857 l -1.746 1.92 l -1.109 2.432 0.485 2.65 -0.342 2.65 c --1.498 2.65 -2.337 1.946 -2.337 0.959 c --2.337 -0.141 -1.532 -0.541 -0.322 -0.804 c -0.873 -1.056 1.092 -1.335 1.092 -1.812 c -1.092 -2.327 0.607 -2.687 -0.087 -2.687 c --0.821 -2.687 -1.372 -2.459 -1.991 -1.899 c --2.07 -1.827 l --2.608 -2.463 l --2.532 -2.531 l --1.808 -3.178 -1.039 -3.478 -0.112 -3.478 c -1.107 -3.478 1.957 -2.766 1.957 -1.729 c -1.957 -0.816 1.372 -0.299 0 0 c -f -Q -q -1 0 0 1 367.436 106.117 cm -0.729 g -0 0 m --1.803 5.019 l --1.826 5.088 -1.86 5.18 -1.86 5.26 c --1.86 5.477 -1.676 5.684 -1.413 5.684 c --1.184 5.684 -1.034 5.535 -0.965 5.318 c -0.528 0.993 l -2.031 5.329 l -2.1 5.535 2.239 5.684 2.467 5.684 c -2.513 5.684 l -2.755 5.684 2.904 5.535 2.973 5.329 c -4.465 0.993 l -5.982 5.34 l -6.04 5.524 6.164 5.684 6.406 5.684 c -6.658 5.684 6.842 5.489 6.842 5.271 c -6.842 5.191 6.807 5.1 6.785 5.03 c -4.971 0 l -4.879 -0.263 4.696 -0.399 4.489 -0.399 c -4.455 -0.399 l -4.224 -0.399 4.052 -0.263 3.971 0 c -2.491 4.264 l -0.998 0 l -0.918 -0.263 0.746 -0.399 0.516 -0.399 c -0.493 -0.399 l -0.274 -0.399 0.091 -0.263 0 0 c -f -Q -q -1 0 0 1 380.572 111.363 cm -0.729 g -0 0 m -0 0.242 0.194 0.449 0.436 0.449 c -0.69 0.449 0.885 0.254 0.885 0 c -0.885 -1.018 l -1.322 -0.029 2.29 0.438 2.931 0.438 c -3.197 0.438 3.37 0.242 3.37 -0.01 c -3.37 -0.252 3.209 -0.424 2.978 -0.459 c -1.827 -0.596 0.885 -1.459 0.885 -3.173 c -0.885 -5.19 l -0.885 -5.432 0.701 -5.638 0.448 -5.638 c -0.194 -5.638 0 -5.442 0 -5.19 c -0 0 l -f -Q -q -1 0 0 1 386.782 105.67 cm -0.729 g -0 0 m --1.6 0 -2.907 1.24 -2.907 3.061 c --2.907 3.085 l --2.907 4.78 -1.723 6.146 -0.112 6.146 c -1.612 6.146 2.593 4.725 2.593 3.165 c -2.593 2.924 2.399 2.754 2.187 2.754 c --2.027 2.754 l --1.904 1.479 -1.015 0.762 0.023 0.762 c -0.744 0.762 1.273 1.047 1.702 1.446 c -1.769 1.502 1.848 1.547 1.95 1.547 c -2.163 1.547 2.333 1.376 2.333 1.17 c -2.333 1.069 2.289 0.966 2.197 0.888 c -1.646 0.353 0.991 0 0 0 c -1.724 3.403 m -1.634 4.474 1.025 5.406 -0.135 5.406 c --1.149 5.406 -1.916 4.553 -2.027 3.403 c -1.724 3.403 l -f -Q -q -1 0 0 1 374.294 107.512 cm -0.729 g -0 0 m -0 0.023 l -0 1.273 1.032 1.938 2.533 1.938 c -3.29 1.938 3.829 1.835 4.358 1.685 c -4.358 1.893 l -4.358 2.958 3.702 3.509 2.592 3.509 c -1.995 3.509 1.648 3.434 1.211 3.239 c -1.154 3.216 1.097 3.204 1.052 3.204 c -0.846 3.204 0.662 3.376 0.662 3.583 c -0.662 3.766 0.741 3.878 0.903 3.951 c -1.487 4.204 1.927 4.288 2.684 4.288 c -3.52 4.288 4.162 4.07 4.597 3.635 c -4.999 3.233 5.206 2.66 5.206 1.903 c -5.206 -1.368 l -5.206 -1.62 5.022 -1.803 4.779 -1.803 c -4.529 -1.803 4.358 -1.62 4.358 -1.391 c -4.358 -0.825 l -3.945 -1.365 3.256 -1.845 2.214 -1.845 c -1.113 -1.845 0 -1.215 0 0 c -4.369 0.458 m -4.369 1.032 l -3.933 1.158 3.346 1.285 2.625 1.285 c -1.514 1.285 0.895 0.803 0.895 0.059 c -0.895 0.036 l -0.895 -0.71 1.582 -1.146 2.386 -1.146 c -3.473 -1.146 4.369 -0.481 4.369 0.458 c -f -Q -q -1 0 0 1 351.373 111.429 cm -0.729 g -0 0 m --0.195 0.426 -0.675 0.619 -1.122 0.419 c --1.57 0.219 -1.735 -0.278 -1.533 -0.704 c -0.348 -4.794 l -0.644 -5.435 0.956 -5.771 1.541 -5.771 c -2.166 -5.771 2.439 -5.404 2.735 -4.794 c -4.376 -1.22 4.392 -1.183 v -4.409 -1.145 4.461 -1.029 4.629 -1.03 c -4.77 -1.032 4.889 -1.144 4.889 -1.295 c -4.889 -4.79 l -4.889 -5.328 5.188 -5.771 5.762 -5.771 c -6.336 -5.771 6.647 -5.328 6.647 -4.79 c -6.647 -1.931 l -6.647 -1.379 7.042 -1.021 7.58 -1.021 c -8.119 -1.021 8.478 -1.391 8.478 -1.931 c -8.478 -4.79 l -8.478 -5.328 8.777 -5.771 9.351 -5.771 c -9.925 -5.771 10.238 -5.328 10.238 -4.79 c -10.238 -1.931 l -10.238 -1.379 10.631 -1.021 11.17 -1.021 c -11.708 -1.021 12.068 -1.391 12.068 -1.931 c -12.068 -4.79 l -12.068 -5.328 12.367 -5.771 12.941 -5.771 c -13.515 -5.771 13.826 -5.328 13.826 -4.79 c -13.826 -1.536 l -13.826 -0.34 12.865 0.498 11.708 0.498 c -10.552 0.498 9.828 -0.302 y -9.443 0.197 8.913 0.497 8.015 0.497 c -7.067 0.497 6.239 -0.302 y -5.853 0.197 5.198 0.497 4.655 0.497 c -3.816 0.497 3.149 0.128 2.742 -0.801 c -1.541 -3.634 l -0 0 l -f -Q -q -1 0 0 1 389.446 111.075 cm -0.729 g -0 0 m -0 0.004 l -0 0.405 0.325 0.742 0.733 0.742 c -1.147 0.742 1.467 0.408 1.467 0.008 c -1.467 0.004 l -1.467 -0.397 1.143 -0.734 0.733 -0.734 c -0.319 -0.734 0 -0.402 0 0 c -1.325 0.004 m -1.325 0.006 l -1.325 0.335 1.071 0.605 0.733 0.605 c -0.397 0.605 0.139 0.331 0.139 0.004 c -0.139 0 l -0.139 -0.328 0.394 -0.598 0.733 -0.598 c -1.067 -0.598 1.325 -0.324 1.325 0.004 c -f -Q -q -1 0 0 1 389.898 111.369 cm -0.729 g -0 0 m -0 0.044 0.035 0.078 0.079 0.078 c -0.323 0.078 l -0.416 0.078 0.487 0.053 0.531 0.006 c -0.571 -0.033 0.592 -0.09 0.592 -0.155 c -0.592 -0.158 l -0.592 -0.27 0.538 -0.338 0.452 -0.374 c -0.559 -0.506 l -0.574 -0.525 0.585 -0.542 0.585 -0.566 c -0.585 -0.609 0.548 -0.637 0.51 -0.637 c -0.476 -0.637 0.452 -0.62 0.433 -0.597 c -0.281 -0.405 l -0.157 -0.405 l -0.157 -0.56 l -0.157 -0.603 0.123 -0.637 0.079 -0.637 c -0.035 -0.637 0 -0.603 0 -0.56 c -0 0 l -h -0.315 -0.267 m -0.392 -0.267 0.433 -0.227 0.433 -0.166 c -0.433 -0.164 l -0.433 -0.097 0.388 -0.062 0.312 -0.062 c -0.157 -0.062 l -0.157 -0.267 l -0.315 -0.267 l -f -Q -q -1 0 0 1 306.06 756.24 cm -1 G -1.25 w -0 0 m -0 -12 l -S -Q -q -1 0 0 1 602.06 396.24 cm -1 G -1.25 w -0 0 m -0 -2.761 -2.239 -5 -5 -5 c --7.761 -5 -10 -2.761 -10 0 c --10 2.761 -7.761 5 -5 5 c --2.239 5 0 2.761 0 0 c -h -S -Q -q -1 0 0 1 55.08 74.52 cm -0 g -/GS4 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47788 0 obj <> endobj 47789 0 obj <>stream -q -/Fm0 Do -Q -q -1 0 0 1 474.07 123.377 cm -0.854 G -0.643 w 4 M -/GS0 gs -0 0 m --345.15 0 l -S -Q -BT -0.265 g -/GS0 gs -/TT0 1 Tf -0.01 Tc 7.8 0 0 7.8 148.588 155.289 Tm -[(* Av)-24(a)-23(i)-22(l)-23(a)-23(b)-22(l)-23(e t)-22(o n)-25(e)-13(w s)-20(u)-22(b)-18(s)-16(c)-11(r)-37(i)-22(b)-21(e)-28(r)-40(s o)-20(n)-25(l)-26(y)33(. D)-24(i)-22(s)-16(c)-5(o)-21(u)-22(n)-18(t a)-23(p)-21(p)-22(l)-22(i)-21(e)-27(s t)-22(o t)-28(h)-25(e S)-25(a)-20(f)-27(a)-23(r)-37(i L)-28(i)-22(b)-21(r)-40(a)-23(r)-60(y a)-23(n)-24(d i)-22(s v)-24(a)-24(l)-22(i)-19(d f)-11(o)-20(r )]TJ -/TT1 1 Tf -0 Tc 37.523 0 Td -(\336)Tj -/TT0 1 Tf -0.0503 Tc -0.0536 Tw 0.247 0 Td -[( rs)14(t)50( )]TJ -0.0103 Tc -0.0003 Tw -35.504 -1.188 Td -[(1)49(2 c)-5(o)-20(n)-25(s)-15(e)-25(c)-11(u)-23(t)-27(i)-26(v)-9(e m)-22(o)-20(n)-18(t)-27(h)-25(l)-26(y b)-20(i)-22(l)-21(l)-22(i)-21(n)-21(g c)-34(y)-6(c)-11(l)-22(e)-26(s)-22(. S)-25(a)-20(f)-27(a)-22(r)-37(i L)-28(i)-21(b)-21(r)-39(a)-22(r)-59(y i)-22(s n)-22(o)-9(t av)-23(a)-22(i)-22(l)-22(a)-22(b)-22(l)-22(e i)-21(n a)-24(l)-21(l c)-5(o)-21(u)-22(n)-18(t)-27(r)-37(i)-21(e)-26(s)-22(.)]TJ -ET -q -1 0 0 1 95.041 656.588 cm -1 g -0 0 m --4.208 0 -4.208 -4.208 v --4.208 -165.576 l --4.208 -169.784 0 -169.784 v -412.495 -169.784 l -416.703 -169.784 416.703 -165.576 v -416.703 -4.208 l -416.703 0 412.495 0 v -0 0 l -f -Q -q -266.352 656.829 -175.858 -136.458 re -W n -q -507.536 486.804 m -95.041 486.804 l -90.858 486.804 90.833 490.963 90.833 491.012 c -90.833 652.38 l -90.833 656.588 95.041 656.588 y -507.536 656.588 l -511.728 656.588 511.744 652.413 511.744 652.38 c -511.744 652.38 511.744 652.38 y -511.744 652.38 511.744 652.38 y -511.744 491.012 l -511.744 486.804 507.536 486.804 y -W n -q -95.041 656.588 m -90.833 656.588 90.833 652.38 v -90.833 491.012 l -90.833 486.804 95.041 486.804 v -507.536 486.804 l -511.744 486.804 511.744 491.012 v -511.744 652.38 l -511.744 656.588 507.536 656.588 v -95.041 656.588 l -W n -q -175.896 0 0 136.476 90.477 520.362 cm -/Im0 Do -Q -Q -Q -Q -q -441.89 656.829 -175.858 -136.458 re -W n -q -507.536 486.804 m -95.041 486.804 l -90.858 486.804 90.833 490.963 90.833 491.012 c -90.833 652.38 l -90.833 656.588 95.041 656.588 y -507.536 656.588 l -511.728 656.588 511.744 652.413 511.744 652.38 c -511.744 652.38 511.744 652.38 y -511.744 652.38 511.744 652.38 y -511.744 491.012 l -511.744 486.804 507.536 486.804 y -W n -q -95.041 656.588 m -90.833 656.588 90.833 652.38 v -90.833 491.012 l -90.833 486.804 95.041 486.804 v -507.536 486.804 l -511.744 486.804 511.744 491.012 v -511.744 652.38 l -511.744 656.588 507.536 656.588 v -95.041 656.588 l -W n -q -175.896 0 0 136.476 266.007 520.362 cm -/Im1 Do -Q -Q -Q -Q -q -512.041 656.829 -70.472 -170.412 re -W n -q -507.536 486.804 m -95.041 486.804 l -90.858 486.804 90.833 490.963 90.833 491.012 c -90.833 652.38 l -90.833 656.588 95.041 656.588 y -507.536 656.588 l -511.728 656.588 511.744 652.413 511.744 652.38 c -511.744 652.38 511.744 652.38 y -511.744 652.38 511.744 652.38 y -511.744 491.012 l -511.744 486.804 507.536 486.804 y -W n -q -95.041 656.588 m -90.833 656.588 90.833 652.38 v -90.833 491.012 l -90.833 486.804 95.041 486.804 v -507.536 486.804 l -511.744 486.804 511.744 491.012 v -511.744 652.38 l -511.744 656.588 507.536 656.588 v -95.041 656.588 l -W n -q -70.536 0 0 170.436 441.537 486.402 cm -/Im2 Do -Q -Q -Q -Q -q -441.89 520.692 -351.396 -34.275 re -W n -q -507.536 486.804 m -95.041 486.804 l -90.858 486.804 90.833 490.963 90.833 491.012 c -90.833 652.38 l -90.833 656.588 95.041 656.588 y -507.536 656.588 l -511.728 656.588 511.744 652.413 511.744 652.38 c -511.744 652.38 511.744 652.38 y -511.744 652.38 511.744 652.38 y -511.744 491.012 l -511.744 486.804 507.536 486.804 y -W n -q -95.041 656.588 m -90.833 656.588 90.833 652.38 v -90.833 491.012 l -90.833 486.804 95.041 486.804 v -507.536 486.804 l -511.744 486.804 511.744 491.012 v -511.744 652.38 l -511.744 656.588 507.536 656.588 v -95.041 656.588 l -W n -q -351.426 0 0 34.296 90.477 486.402 cm -/Im3 Do -Q -Q -Q -Q -q -1 0 0 1 95.041 656.588 cm -0.792 G -0.701 w 4 M -0 0 m --4.208 0 -4.208 -4.208 v --4.208 -165.576 l --4.208 -169.784 0 -169.784 v -412.495 -169.784 l -416.703 -169.784 416.703 -165.576 v -416.703 -4.208 l -416.703 0 412.495 0 v -0 0 l -h -S -Q -BT -0.285 g -/T1_0 1 Tf -18.525 0 0 18.525 140 635.8303 Tm -[(T)72(r)-49(y S)-10(a)16(f)-16(a)10(r)-13(i B)-5(o)3(o)6(k)-7(s On)12(l)6(i)12(n)10(e F)-7(R)-4(EE f)-6(o)6(r 1)59(5 da)11(ys)]TJ -0 g -/GS1 gs -0.0098 Tc 0.0002 Tw 12.675 0 0 12.675 159.965 619.2554 Tm -[(Ge)6(t on)9(li)9(n)7(e ac)-7(ce)-11(s)-13(s t)6(o T)-12(h)4(o)6(u)-3(s)-10(a)7(n)14(d)-12(s o)11(f B)-7(ook)-10(s a)7(n)14(d V)-11(i)14(deos)]TJ -ET -q -1 0 0 1 132.913 470.324 cm -0.285 g -/GS0 gs -0 0 m --3.157 0 -3.157 -3.157 v --3.157 -41.693 l --3.157 -44.85 0 -44.85 v -337.164 -44.85 l -340.321 -44.85 340.321 -41.693 v -340.321 -3.157 l -340.321 0 337.164 0 v -0 0 l -f -Q -BT -1 g -/GS0 gs -/T1_0 1 Tf -0.0001 Tw 15.6 0 0 15.6 232.433 451.711 Tm -[(F)-9(R)-6(EE 1)57(5)-12(-)6(D)10(A)51(Y T)-12(R)-6(I)-11(A)-12(L + 1)57(5)-22(% O)6(F)-9(F)]TJ -0 Tc 0 Tw 9.0948 0 0 9.0948 436.331 456.905 Tm -(*)Tj -0.0016 Tc 15.6 0 0 15.6 232.433 435.135 Tm -[(in)6(f)-16(o)-4(r)-21(m)4(it)-17(.c)-12(om)-46(/)-10(s)-17(a)7(f)-26(ar)-23(itr)-23(i)-1(al)]TJ -ET -q -1 0 0 1 173.744 434.929 cm -0 0 m --1.773 0 l --1.773 4.332 l --0.071 4.332 l -0.756 4.332 1.238 3.857 1.238 3.115 c -1.238 2.634 0.929 2.323 0.715 2.219 c -0.971 2.099 1.298 1.825 1.298 1.247 c -1.298 0.437 0.756 0 0 0 c -h --0.136 3.577 m --0.946 3.577 l --0.946 2.578 l --0.136 2.578 l -0.215 2.578 0.412 2.78 0.412 3.078 c -0.412 3.376 0.215 3.577 -0.136 3.577 c -h --0.083 1.819 m --0.946 1.819 l --0.946 0.753 l --0.083 0.753 l -0.292 0.753 0.47 0.997 0.47 1.29 c -0.47 1.582 0.292 1.819 -0.083 1.819 c -f -Q -q -1 0 0 1 177.971 435.282 cm -0 0 m --0.191 -0.208 -0.506 -0.391 -0.964 -0.391 c --1.423 -0.391 -1.732 -0.208 -1.923 0 c --2.202 0.298 -2.274 0.656 -2.274 1.234 c --2.274 1.806 -2.202 2.165 -1.923 2.464 c --1.732 2.67 -1.423 2.853 -0.964 2.853 c --0.506 2.853 -0.191 2.67 0 2.464 c -0.28 2.165 0.351 1.806 0.351 1.234 c -0.351 0.656 0.28 0.298 0 0 c -h --0.601 2.001 m --0.691 2.092 -0.809 2.141 -0.964 2.141 c --1.12 2.141 -1.233 2.092 -1.322 2.001 c --1.482 1.837 -1.5 1.563 -1.5 1.234 c --1.5 0.906 -1.482 0.626 -1.322 0.461 c --1.233 0.371 -1.12 0.322 -0.964 0.322 c --0.809 0.322 -0.691 0.371 -0.601 0.461 c --0.441 0.626 -0.423 0.906 -0.423 1.234 c --0.423 1.563 -0.441 1.837 -0.601 2.001 c -f -Q -q -1 0 0 1 181.203 435.282 cm -0 0 m --0.19 -0.208 -0.505 -0.391 -0.965 -0.391 c --1.423 -0.391 -1.733 -0.208 -1.922 0 c --2.202 0.298 -2.273 0.656 -2.273 1.234 c --2.273 1.806 -2.202 2.165 -1.922 2.464 c --1.733 2.67 -1.423 2.853 -0.965 2.853 c --0.505 2.853 -0.19 2.67 0 2.464 c -0.279 2.165 0.351 1.806 0.351 1.234 c -0.351 0.656 0.279 0.298 0 0 c -h --0.601 2.001 m --0.69 2.092 -0.81 2.141 -0.965 2.141 c --1.119 2.141 -1.232 2.092 -1.321 2.001 c --1.483 1.837 -1.499 1.563 -1.499 1.234 c --1.499 0.906 -1.483 0.626 -1.321 0.461 c --1.232 0.371 -1.119 0.322 -0.965 0.322 c --0.81 0.322 -0.69 0.371 -0.601 0.461 c --0.441 0.626 -0.422 0.906 -0.422 1.234 c --0.422 1.563 -0.441 1.837 -0.601 2.001 c -f -Q -q -1 0 0 1 184.156 434.929 cm -0 0 m --0.762 1.319 l --1.09 0.943 l --1.09 0 l --1.864 0 l --1.864 4.332 l --1.09 4.332 l --1.09 1.873 l --0.06 3.17 l -0.875 3.17 l --0.232 1.892 l -0.958 0 l -0 0 l -f -Q -q -1 0 0 1 186.638 434.891 cm -0 0 m --0.486 0 -0.929 0.055 -1.322 0.457 c --0.815 0.974 l --0.56 0.713 -0.226 0.675 0.012 0.675 c -0.28 0.675 0.56 0.768 0.56 1.004 c -0.56 1.163 0.476 1.272 0.232 1.297 c --0.257 1.345 l --0.815 1.4 -1.162 1.649 -1.162 2.234 c --1.162 2.891 -0.596 3.244 0.035 3.244 c -0.517 3.244 0.923 3.159 1.221 2.872 c -0.744 2.381 l -0.564 2.544 0.292 2.593 0.024 2.593 c --0.286 2.593 -0.416 2.447 -0.416 2.289 c --0.416 2.173 -0.37 2.039 -0.096 2.015 c -0.394 1.966 l -1.006 1.905 1.316 1.57 1.316 1.035 c -1.316 0.335 0.733 0 0 0 c -f -Q -q -1 0 0 1 192.609 435.366 cm -0 0 m --0.299 -0.304 -0.661 -0.475 -1.143 -0.475 c --1.625 -0.475 -1.994 -0.304 -2.292 0 c --2.721 0.438 -2.71 0.98 -2.71 1.728 c --2.71 2.477 -2.721 3.018 -2.292 3.456 c --1.994 3.761 -1.625 3.932 -1.143 3.932 c --0.661 3.932 -0.299 3.761 0 3.456 c -0.428 3.018 0.423 2.477 0.423 1.728 c -0.423 0.98 0.428 0.438 0 0 c -h --0.614 2.945 m --0.733 3.086 -0.917 3.177 -1.143 3.177 c --1.369 3.177 -1.561 3.086 -1.68 2.945 c --1.839 2.763 -1.881 2.562 -1.881 1.728 c --1.881 0.894 -1.839 0.694 -1.68 0.512 c --1.561 0.371 -1.369 0.28 -1.143 0.28 c --0.917 0.28 -0.733 0.371 -0.614 0.512 c --0.452 0.694 -0.405 0.894 -0.405 1.728 c --0.405 2.562 -0.452 2.763 -0.614 2.945 c -f -Q -q -1 0 0 1 195.621 434.929 cm -0 0 m -0 1.916 l -0 2.348 -0.268 2.494 -0.513 2.494 c --0.756 2.494 -1.03 2.348 -1.03 1.916 c --1.03 0 l --1.804 0 l --1.804 3.17 l --1.048 3.17 l --1.048 2.878 l --0.846 3.096 -0.56 3.206 -0.275 3.206 c -0.035 3.206 0.285 3.102 0.458 2.926 c -0.708 2.67 0.773 2.372 0.773 2.025 c -0.773 0 l -0 0 l -f -Q -q -1 0 0 1 198.103 434.929 cm -0 0 m --0.637 0 -0.905 0.455 -0.905 0.906 c --0.905 4.332 l --0.131 4.332 l --0.131 0.955 l --0.131 0.766 -0.054 0.669 0.143 0.669 c -0.441 0.669 l -0.441 0 l -0 0 l -f -Q -q -1 0 0 1 199.15 438.64 cm -0.793 0 -0.793 0.645 re -0 0 m -h -0.786 -3.711 -0.774 3.17 re -f -Q -q -1 0 0 1 202.603 434.929 cm -0 0 m -0 1.916 l -0 2.348 -0.267 2.494 -0.51 2.494 c --0.755 2.494 -1.029 2.348 -1.029 1.916 c --1.029 0 l --1.803 0 l --1.803 3.17 l --1.048 3.17 l --1.048 2.878 l --0.845 3.096 -0.559 3.206 -0.273 3.206 c -0.036 3.206 0.285 3.102 0.458 2.926 c -0.709 2.67 0.774 2.372 0.774 2.025 c -0.774 0 l -0 0 l -f -Q -q -1 0 0 1 204.818 436.267 cm -0 0 m -0 -0.407 0.244 -0.707 0.679 -0.707 c -1.018 -0.707 1.185 -0.608 1.381 -0.407 c -1.852 -0.876 l -1.536 -1.199 1.232 -1.376 0.673 -1.376 c --0.06 -1.376 -0.762 -1.035 -0.762 0.249 c --0.762 1.283 -0.215 1.868 0.589 1.868 c -1.452 1.868 1.939 1.222 1.939 0.352 c -1.939 0 l -0 0 l -h -1.107 0.881 m -1.024 1.071 0.851 1.211 0.589 1.211 c -0.327 1.211 0.155 1.071 0.071 0.881 c -0.024 0.767 0.005 0.682 0 0.542 c -1.178 0.542 l -1.173 0.682 1.155 0.767 1.107 0.881 c -f -Q -q -1 0 0 1 149.649 441.108 cm -0 0 m --2.705 0 -4.758 0.59 -6.511 2.407 c --4.258 4.711 l --3.131 3.559 -1.603 3.174 0.05 3.174 c -2.104 3.174 3.206 3.969 3.206 5.429 c -3.206 6.068 3.03 6.608 2.655 6.965 c -2.304 7.298 1.903 7.476 1.077 7.606 c --1.077 7.911 l --2.605 8.142 -3.732 8.628 -4.533 9.422 c --5.385 10.292 -5.81 11.471 -5.81 13.007 c --5.81 16.258 -3.457 18.537 0.4 18.537 c -2.856 18.537 4.633 17.922 6.161 16.412 c -3.957 14.185 l -2.83 15.284 1.477 15.438 0.3 15.438 c --1.553 15.438 -2.455 14.389 -2.455 13.135 c --2.455 12.673 -2.305 12.187 -1.928 11.829 c --1.578 11.495 -1.003 11.215 -0.276 11.112 c -1.828 10.805 l -3.456 10.575 4.483 10.114 5.234 9.397 c -6.186 8.476 6.612 7.144 6.612 5.53 c -6.612 1.998 3.731 0 0 0 c -f -Q -q -1 0 0 1 165.237 441.263 cm -0 0 m -0 1.151 l --0.878 0.255 -1.703 -0.128 -3.207 -0.128 c --4.684 -0.128 -5.761 0.255 -6.536 1.05 c --7.239 1.791 -7.614 2.866 -7.614 4.044 c --7.614 6.169 -6.186 7.911 -3.156 7.911 c --0.076 7.911 l --0.076 8.577 l --0.076 10.036 -0.777 10.675 -2.506 10.675 c --3.758 10.675 -4.334 10.369 -5.01 9.574 c --7.089 11.647 l --5.81 13.082 -4.559 13.492 -2.38 13.492 c -1.277 13.492 3.18 11.904 3.18 8.782 c -3.18 0 l -0 0 l -h --0.076 5.632 m --2.655 5.632 l --3.832 5.632 -4.483 5.069 -4.483 4.121 c --4.483 3.2 -3.882 2.587 -2.606 2.587 c --1.703 2.587 -1.127 2.662 -0.552 3.225 c --0.201 3.558 -0.076 4.097 -0.076 4.915 c --0.076 5.632 l -f -Q -q -1 0 0 1 175.209 451.683 cm -0 0 m -0 -10.42 l --3.256 -10.42 l --3.256 0 l --4.608 0 l --4.608 2.535 l --3.256 2.535 l --3.256 4.198 l --3.256 6.092 -2.103 8.012 0.55 8.012 c -2.404 8.012 l -2.404 5.197 l -1.127 5.197 l -0.35 5.197 0 4.762 0 3.992 c -0 2.535 l -2.404 2.535 l -2.404 0 l -0 0 l -f -Q -q -1 0 0 1 186.401 441.263 cm -0 0 m -0 1.151 l --0.876 0.255 -1.703 -0.128 -3.207 -0.128 c --4.683 -0.128 -5.761 0.255 -6.536 1.05 c --7.238 1.791 -7.613 2.866 -7.613 4.044 c --7.613 6.169 -6.186 7.911 -3.156 7.911 c --0.075 7.911 l --0.075 8.577 l --0.075 10.036 -0.777 10.675 -2.505 10.675 c --3.757 10.675 -4.332 10.369 -5.009 9.574 c --7.089 11.647 l --5.811 13.082 -4.558 13.492 -2.378 13.492 c -1.278 13.492 3.181 11.904 3.181 8.782 c -3.181 0 l -0 0 l -h --0.075 5.632 m --2.655 5.632 l --3.831 5.632 -4.484 5.069 -4.484 4.121 c --4.484 3.2 -3.882 2.587 -2.604 2.587 c --1.703 2.587 -1.128 2.662 -0.552 3.225 c --0.2 3.558 -0.075 4.097 -0.075 4.915 c --0.075 5.632 l -f -Q -q -1 0 0 1 199.435 450.966 cm -0 0 m --0.502 0.511 -0.928 0.793 -1.728 0.793 c --2.73 0.793 -3.833 0.025 -3.833 -1.665 c --3.833 -9.703 l --7.09 -9.703 l --7.09 3.636 l --3.908 3.636 l --3.908 2.354 l --3.283 3.122 -2.03 3.789 -0.627 3.789 c -0.65 3.789 1.552 3.456 2.453 2.534 c -0 0 l -f -Q -q -1 0 0 1 0 -0 cm -203.37 441.263 3.256 13.339 re -f -Q -q -1 0 0 1 206.266 457.084 cm -0 0 m --0.724 -0.741 -1.9 -0.74 -2.625 0.001 c --3.35 0.743 -3.35 1.943 -2.625 2.686 c --1.9 3.427 -0.724 3.427 0 2.686 c -0.726 1.943 0.726 0.743 0 0 c -f -Q -q -1 0 0 1 211.569 457.084 cm -0 0 m --0.724 -0.741 -1.9 -0.74 -2.624 0.001 c --3.35 0.743 -3.35 1.943 -2.624 2.686 c --1.9 3.427 -0.724 3.427 0 2.686 c -0.725 1.943 0.725 0.743 0 0 c -f -Q -q -1 0 0 1 212.676 461.684 cm -0 0 m -2.144 -2.194 3.186 -3.257 v -2.144 -4.32 0.001 -6.511 y -1.649 -8.196 l -6.481 -3.257 l -1.649 1.683 l -0 0 l -f -Q -q -1 0 0 1 208.508 443.283 cm -0 0 m -0.536 -0.001 0.96 -0.446 0.96 -1.002 c -0.96 -1.566 0.532 -2.007 -0.006 -2.005 c --0.543 -2.005 -0.977 -1.565 -0.977 -0.999 c --0.975 -0.444 -0.54 0.001 -0.005 0 c -0 0 l -h --0.005 -0.156 m --0.434 -0.156 -0.788 -0.533 -0.789 -0.999 c --0.789 -1.475 -0.437 -1.849 -0.002 -1.85 c -0.432 -1.855 0.781 -1.478 0.782 -1.007 c -0.782 -0.534 0.435 -0.156 0 -0.156 c --0.005 -0.156 l -h --0.189 -1.583 m --0.363 -1.583 l --0.362 -0.467 l --0.27 -0.453 -0.183 -0.44 -0.053 -0.44 c -0.113 -0.441 0.221 -0.476 0.286 -0.524 c -0.351 -0.574 0.387 -0.651 0.387 -0.756 c -0.387 -0.903 0.289 -0.993 0.173 -1.028 c -0.173 -1.036 l -0.269 -1.054 0.333 -1.144 0.355 -1.308 c -0.38 -1.482 0.406 -1.548 0.424 -1.584 c -0.242 -1.584 l -0.215 -1.548 0.19 -1.445 0.167 -1.299 c -0.142 -1.156 0.072 -1.103 -0.067 -1.103 c --0.189 -1.103 l --0.189 -1.583 l -h --0.189 -0.965 m --0.062 -0.965 l -0.081 -0.965 0.204 -0.913 0.204 -0.774 c -0.204 -0.676 0.134 -0.578 -0.062 -0.578 c --0.188 -0.587 l --0.189 -0.965 l -f -Q -BT -0.184 g -/T1_0 1 Tf -0.0085 Tc 0.0015 Tw 11.7 0 0 11.7 149.932 399.205 Tm -[(Fee)8(d)-1( your br)-21(a)6(i)7(n)]TJ -0.265 g -/TT0 1 Tf -0.0104 Tc -0.0004 Tw 9.75 0 0 9.75 149.932 386.042 Tm -[(G)-18(a)-14(i)-13(n u)-13(n)-17(l)-13(i)-13(m)-15(i)-14(t)-16(e)-17(d a)-9(cce)-18(s)-10(s t)-13(o t)-19(h)-13(o)-12(u)-16(s)-11(a)-14(n)-15(d)-16(s of b)-10(o)-9(o)-11(k)-36(s a)-14(n)-15(d v)-18(i)-10(d)-13(e)-15(o)-6(s a)-14(b)-10(o)-12(u)-14(t t)-16(e)-17(ch)-16(n)-13(o)-12(l)-13(o)-8(g)-46(y)48(,)10( )]TJ -0.0108 Tc -0.0008 Tw 0 -1.35 TD -[(d)-12(i)-10(g)-15(i)-13(t)-30(a)-15(l m)-16(e)-17(d)-12(i)-12(a a)-13(n)-14(d p)-12(r)-12(of)-8(e)-18(s)-10(s)-9(i)-8(o)-11(n)-14(a)-15(l)1( d)-13(e)-3(ve)-18(l)-12(o)-11(p)-12(m)-16(e)-19(n)-9(t f)-15(r)-12(o)-11(m)1( O)6(\222)-19(Re)-18(i)-13(l)-12(l)-17(y)1( M)-16(e)-17(d)-12(i)-12(a)-27(,)11( )]TJ --0.0007 Tw 0 -1.35 TD -[(A)-5(d)-13(d)-12(i)-13(s)-6(o)-11(n)-24(-)16(W)34(e)-18(s)-11(l)-14(ey)49(, M)-16(i)-10(cr)-12(o)-5(s)-6(of)-42(t P)-12(r)-16(e)-18(s)-10(s)-13(,)1( C)-5(i)-13(s)-7(c)4(o P)-12(r)-16(e)-18(s)-10(s)-13(,)1( M)-16(c)-9(G)-22(r)-31(aw H)-16(i)-13(l)-12(l)-10(, W)-12(i)-13(l)-14(ey)49(,)1( W)-14(R)12(O)26(X)-32(,)11( )]TJ -0.0101 Tc -0.0001 Tw 0 -1.35 TD -[(P)-12(r)-17(e)-19(n)-9(t)-19(i)-11(ce H)-16(a)-16(l)-13(l)-11(, Q)-20(u)-14(e)-17(, S)-17(a)-14(m)-17(s)-14(, A)-20(p)-12(r)-17(e)-18(s)-11(s)-14(, A)-5(d)-12(o)-11(b)-12(e P)-12(r)-17(e)-18(s)-11(s a)-14(n)-15(d ot)-19(h)-17(e)-19(r t)-13(o)-11(p p)-15(u)-14(b)-13(l)-14(i)-13(s)-12(h)-17(e)-19(r)-32(s)-14(.)]TJ -0.266 g -/T1_0 1 Tf -0.0082 Tc 0.0018 Tw 11.7 0 0 11.7 149.932 327.055 Tm -[(S)-9(e)-3(e it)-12(, believ)3(e it)]TJ -0.265 g -/TT0 1 Tf -0.0104 Tc -0.0004 Tw 9.75 0 0 9.75 149.932 313.892 Tm -[(W)28(a)-3(t)-17(c)-2(h h)-17(u)-13(n)-15(d)-13(r)-17(e)-17(d)-16(s of e)-18(x)-19(p)-12(e)-19(r)-55(t)13(-)-21(l)-14(e)-17(d i)-13(n)-17(s)-18(t)-19(r)-33(u)-13(c)-24(t)-19(i)-8(o)-11(n)-15(a)-16(l v)-18(i)-10(d)-13(e)-15(o)-6(s o)-11(n t)-13(o)-11(d)-13(a)7(y)-6(\222)41(s h)-13(ot)-34(t)-16(e)-18(s)-18(t t)-13(o)-11(p)-12(i)-10(c)-12(s)-14(.)]TJ -0.285 g -/T1_0 1 Tf --0.0005 Tw 14.625 0 0 14.625 149.932 284.642 Tm -[(W)43(A)-12(I)-10(T)68(, T)-11(H)11(ER)-5(E\222)20(S M)6(O)6(R)-5(E)-35(!)]TJ -0.184 g -0.0084 Tc 0.0016 Tw 11.7 0 0 11.7 149.932 265.142 Tm -[(G)-7(a)6(i)7(n)-2( a c)-8(o)3(m)7(p)-1(etiti)-12(v)4(e e)8(d)-9(ge)]TJ -0.265 g -/TT0 1 Tf -0.01 Tc 0 Tw 9.75 0 0 9.75 149.932 251.736 Tm -[(B)-26(e f)-58(i)-13(r)-33(s)-18(t t)-13(o l)-14(e)-15(a)-14(r)-29(n a)-14(b)-10(o)-13(u)-15(t t)-19(h)-17(e n)-17(e)-4(we)-18(s)-18(t t)-16(e)-17(ch)-17(n)-13(o)-12(l)-13(o)-8(g)-16(i)-13(e)-18(s a)-14(n)-15(d s)-11(u)-14(b)-12(j)-14(e)-17(c)-25(t)-30(s w)-18(i)-14(t)-19(h Ro)-13(u)-10(g)-16(h C)-7(u)-15(t)-30(s)10( )]TJ -0.0108 Tc -0.0008 Tw 0 -1.375 TD -[(p)-12(r)-16(e)-29(-)-20(p)-14(u)-13(b)-13(l)-13(i)-13(s)-11(h)-16(e)-17(d m)-14(a)-13(n)-17(u)-16(s)-7(c)-2(r)-28(i)-12(pt)-29(s a)-13(n)-14(d n)-16(e)-3(w t)-15(e)-17(ch)-16(n)-13(o)-12(l)-12(o)-7(g)-45(y)1( ove)-19(r)-53(v)-17(i)-12(ew)-12(s i)-12(n)1( S)-22(h)-13(o)-11(r)-55(t C)-7(u)-14(t)-29(s)-13(.)]TJ -0.184 g -/T1_0 1 Tf -0.0121 Tc -0.0021 Tw 11.7 0 0 11.7 149.932 218.83 Tm -[(Acce)6(le)5(r)-17(a)10(t)10(e)2( yo)6(u)8(r)2( pro)13(j)12(ec)-27(t)]TJ -0.265 g -/TT0 1 Tf -0.01 Tc 0 Tw 9.75 0 0 9.75 149.932 205.424 Tm -[(C)-9(o)-11(py a)-14(n)-15(d p)-8(a)-24(s)-18(t)-16(e co)-12(d)-13(e)-17(, cr)-17(e)-15(a)-4(t)-16(e s)-12(m)-15(a)-14(r)-56(t s)-7(e)-15(a)-14(r)-16(ch)-17(e)-18(s t)-19(h)-15(at l)-14(e)-11(t y)5(o)-13(u k)-32(n)-13(ow w)-18(h)-17(e)-19(n n)-17(e)-4(w)10( )]TJ -0 -1.375 TD -[(b)-10(o)-9(o)-11(k)-37(s a)-14(b)-10(o)-13(u)-15(t y)5(o)-13(u)-14(r f)-19(a)5(vo)-11(r)-29(i)-14(t)-16(e t)-13(o)-11(p)-12(i)-11(c)-13(s a)-14(r)-17(e a)5(v)-15(a)-14(i)-14(l)-14(a)-14(b)-13(l)-14(e)-17(, a)-14(n)-15(d cu)-17(s)-18(t)-13(o)-11(m)-16(i)-14(z)-5(e y)5(o)-13(u)-14(r l)-14(i)-13(b)-12(r)-32(a)-14(r)-53(y)10( )]TJ -0.0096 Tc 0.0004 Tw 0 -1.375 TD -[(w)-18(i)-15(t)-20(h f)-19(a)5(vo)-12(r)-30(i)-15(t)-17(e)-19(s)-14(, h)-16(i)-11(g)-16(h)-17(l)-14(i)-11(g)-16(h)-10(t)-30(s)-14(, t)-31(a)-12(g)-21(s)-14(, n)-14(o)-1(t)-17(e)-19(s)-14(, m)-15(a)-25(s)-13(h)-25(-)-25(u)-14(p)-10(s a)-15(n)-15(d m)-14(o)-12(r)-17(e)-17(.)]TJ -ET -q -1 0 0 1 129.549 407.569 cm -0.789 g -0 0 m -3.248 -3.259 4.825 -4.837 v -3.248 -6.416 0.001 -9.67 y -2.497 -12.173 l -9.817 -4.837 l -2.497 2.5 l -0 0 l -f -Q -q -1 0 0 1 129.549 335.697 cm -0.789 g -0 0 m -3.248 -3.258 4.825 -4.836 v -3.248 -6.415 0.001 -9.67 y -2.497 -12.172 l -9.817 -4.836 l -2.497 2.501 l -0 0 l -f -Q -q -1 0 0 1 129.549 274.272 cm -0.789 g -0 0 m -3.248 -3.258 4.825 -4.836 v -3.248 -6.415 0.001 -9.669 y -2.497 -12.172 l -9.817 -4.836 l -2.497 2.501 l -0 0 l -f -Q -q -1 0 0 1 129.549 226.776 cm -0.789 g -0 0 m -3.248 -3.259 4.825 -4.837 v -3.248 -6.416 0.001 -9.67 y -2.497 -12.172 l -9.817 -4.837 l -2.497 2.5 l -0 0 l -f -Q -/EmbeddedDocument /MC0 BDC -/Document /MC1 BDC -q -1 0 0 1 168.298 107.901 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.264 -0.096 l --2.3 -5.831 l --2.657 -6.821 -2.78 -6.942 -3.412 -7.037 c --3.412 -7.254 l --1.208 -7.254 l --1.208 -7.037 l --1.964 -6.953 -2.068 -6.821 -1.9 -6.128 c --1.783 -5.678 -1.557 -4.936 -1.451 -4.61 c -0.554 -4.61 l -0.794 -5.328 1.03 -6.086 1.111 -6.345 c -1.256 -6.821 1.167 -6.953 0.483 -7.037 c -0.483 -7.254 l -2.99 -7.254 l -2.99 -7.037 l -2.385 -6.953 2.253 -6.824 1.925 -5.895 c -1.544 -4.799 1.106 -3.437 0.665 -2.058 c -0 0 l -h --1.321 -4.216 m --1.036 -3.334 -0.74 -2.455 -0.427 -1.545 c --0.409 -1.545 l -0.426 -4.216 l --1.321 -4.216 l -f -Q -q -1 0 0 1 175.056 108.456 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.407 -0.149 -1.091 -0.324 -1.598 -0.391 c --1.598 -0.594 l --0.879 -0.677 -0.833 -0.704 -0.833 -1.389 c --0.833 -2.981 l --1.05 -2.915 -1.335 -2.889 -1.465 -2.889 c --3.037 -2.889 -4.201 -4.113 -4.201 -5.606 c --4.201 -7.132 -3.071 -7.942 -2.248 -7.942 c --2.108 -7.942 -1.926 -7.889 -1.57 -7.687 c --0.833 -7.255 l --0.833 -7.942 l --0.269 -7.715 0.511 -7.578 0.754 -7.524 c -0.754 -7.319 l -0.39 -7.281 l -0.069 -7.255 -0.008 -7.17 0 -6.614 c -0 0 l -h --1.842 -7.307 m --2.509 -7.307 -3.245 -6.657 -3.245 -5.312 c --3.254 -3.631 -2.336 -3.245 -1.911 -3.245 c --1.511 -3.245 -1.065 -3.402 -0.833 -3.821 c --0.833 -6.915 l --1.097 -7.124 -1.457 -7.307 -1.842 -7.307 c -f -Q -q -1 0 0 1 177.781 105.568 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.01 0 l --0.972 0 -2.221 -0.826 -2.221 -2.655 c --2.221 -3.822 -1.408 -5.053 -0.018 -5.053 c -1.024 -5.053 2.179 -4.175 2.179 -2.432 c -2.179 -1.097 1.275 0 0 0 c -0.111 -4.742 m --0.744 -4.742 -1.232 -3.699 -1.232 -2.248 c --1.232 -1.016 -0.782 -0.307 -0.132 -0.307 c --0.129 -0.307 l -0.797 -0.307 1.207 -1.381 1.207 -2.695 c -1.207 -4.256 0.74 -4.742 0.111 -4.742 c -f -Q -q -1 0 0 1 181.13 108.456 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.414 -0.149 -1.03 -0.312 -1.536 -0.378 c --1.536 -0.582 l --0.874 -0.677 -0.841 -0.72 -0.841 -1.416 c --0.841 -7.559 l --0.295 -7.836 0.21 -7.942 0.74 -7.942 c -2.136 -7.942 3.332 -6.771 3.332 -5.165 c -3.332 -3.89 2.429 -2.889 1.318 -2.889 c -1.147 -2.889 0.998 -2.919 0.857 -2.994 c -0 -3.361 l -0 0 l -h -0.997 -7.619 m -0.992 -7.619 0.988 -7.619 0.983 -7.619 c -0.416 -7.593 0.124 -7.227 0.055 -7.037 c -0.016 -6.915 0 -6.798 0 -6.642 c -0 -3.661 l -0.164 -3.55 0.462 -3.456 0.773 -3.456 c -1.752 -3.456 2.381 -4.217 2.381 -5.463 c -2.381 -6.79 1.844 -7.619 0.997 -7.619 c -f -Q -q -1 0 0 1 186.894 105.568 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.011 0 l --0.48 0 -1.024 -0.262 -1.423 -0.689 c --1.937 -1.199 -2.231 -1.945 -2.231 -2.751 c --2.231 -3.996 -1.465 -5.053 -0.182 -5.053 c -0.137 -5.053 0.875 -4.839 1.472 -3.996 c -1.325 -3.822 l -0.936 -4.202 0.583 -4.343 0.198 -4.343 c -0.193 -4.343 0.188 -4.343 0.182 -4.343 c --0.578 -4.343 -1.408 -3.757 -1.396 -2.135 c --0.141 -2.085 1.135 -1.99 1.282 -1.963 c -1.481 -1.911 1.526 -1.857 1.526 -1.609 c -1.534 -0.812 0.856 0 0 0 c --1.327 -1.746 m --1.233 -0.872 -0.746 -0.357 -0.285 -0.357 c --0.262 -0.357 l -0.328 -0.357 0.642 -0.921 0.639 -1.477 c -0.639 -1.652 0.583 -1.719 0.426 -1.719 c --0.156 -1.736 -0.753 -1.74 -1.327 -1.746 c -f -Q -q -1 0 0 1 188.526 105.564 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.16 0 -0.288 -0.13 -0.288 -0.293 c --0.288 -0.456 -0.16 -0.582 0 -0.582 c -0.163 -0.582 0.294 -0.456 0.294 -0.293 c -0.294 -0.13 0.163 0 0 0 c -0 -0.537 m --0.125 -0.537 -0.228 -0.431 -0.228 -0.293 c --0.228 -0.155 -0.125 -0.049 0 -0.049 c -0.13 -0.049 0.232 -0.155 0.232 -0.293 c -0.232 -0.431 0.13 -0.537 0 -0.537 c --0.011 -0.121 m --0.114 -0.146 l --0.114 -0.461 l --0.053 -0.461 l --0.053 -0.327 l --0.018 -0.327 l -0.05 -0.387 l -0.068 -0.461 l -0.13 -0.461 l -0.11 -0.387 l -0.058 -0.303 l -0.118 -0.224 l -0.092 -0.149 l --0.011 -0.121 l -h --0.053 -0.276 m --0.053 -0.172 l --0.018 -0.172 l -0.065 -0.224 l --0.018 -0.276 l --0.053 -0.276 l -f -Q -q -1 0 0 1 191.959 107.752 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --2.47 0 l --2.47 -0.216 l --1.696 -0.296 -1.613 -0.419 -1.613 -1.316 c --1.613 -5.803 l --1.613 -6.683 -1.701 -6.819 -2.523 -6.889 c --2.523 -7.105 l -0.348 -7.105 l -0.348 -6.889 l --0.623 -6.819 -0.711 -6.683 -0.711 -5.807 c --0.711 -4.026 l -0.012 -4.216 l -0.063 -4.223 0.121 -4.225 0.184 -4.225 c -0.247 -4.225 0.314 -4.223 0.384 -4.216 c -1.408 -4.071 2.44 -3.361 2.44 -1.994 c -2.44 -1.274 2.169 -0.772 1.748 -0.448 c -1.329 -0.121 0.739 0 0 0 c --0.023 -3.836 m --0.33 -3.836 -0.578 -3.783 -0.711 -3.715 c --0.711 -0.651 l --0.711 -0.448 -0.685 -0.379 -0.623 -0.353 c --0.544 -0.324 -0.407 -0.296 -0.208 -0.296 c -0.784 -0.296 1.423 -0.826 1.423 -2.014 c -1.423 -3.487 0.573 -3.836 -0.023 -3.836 c -f -Q -q -1 0 0 1 196.154 105.598 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.506 -0.213 -0.955 -0.355 -1.477 -0.442 c --1.477 -0.639 l --0.871 -0.734 -0.834 -0.772 -0.834 -1.479 c --0.834 -3.859 l --0.834 -4.545 -0.929 -4.666 -1.538 -4.735 c --1.538 -4.951 l -0.864 -4.951 l -0.864 -4.735 l -0.084 -4.666 0 -4.545 0 -3.825 c -0 -1.697 l -0.248 -1.1 0.536 -0.867 0.762 -0.867 c -0.929 -0.867 1.059 -0.951 1.203 -1.1 c -1.232 -1.129 1.276 -1.147 1.33 -1.147 c -1.374 -1.147 1.426 -1.135 1.481 -1.108 c -1.698 -1.02 1.838 -0.803 1.838 -0.585 c -1.838 -0.327 1.587 -0.03 1.255 -0.03 c -0.78 -0.03 0.3 -0.624 0.023 -1.154 c -0 -1.154 l -0 0 l -f -Q -q -1 0 0 1 200.222 105.568 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.012 0 l --0.479 0 -1.022 -0.262 -1.423 -0.689 c --1.934 -1.199 -2.23 -1.945 -2.23 -2.751 c --2.23 -3.996 -1.465 -5.053 -0.182 -5.053 c -0.145 -5.053 0.876 -4.839 1.466 -3.996 c -1.322 -3.822 l -0.936 -4.202 0.581 -4.343 0.206 -4.343 c -0.201 -4.343 0.195 -4.343 0.191 -4.343 c --0.579 -4.343 -1.408 -3.757 -1.397 -2.135 c --0.139 -2.085 1.135 -1.99 1.283 -1.963 c -1.476 -1.911 1.534 -1.857 1.534 -1.609 c -1.534 -0.812 0.857 0 0 0 c --1.336 -1.746 m --1.233 -0.872 -0.738 -0.357 -0.278 -0.357 c --0.27 -0.357 l -0.329 -0.357 0.643 -0.921 0.64 -1.477 c -0.64 -1.652 0.581 -1.719 0.426 -1.719 c --0.149 -1.736 -0.754 -1.74 -1.336 -1.746 c -f -Q -q -1 0 0 1 203.736 105.568 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.972 0 -1.622 -0.642 -1.622 -1.449 c --1.622 -2.208 -0.937 -2.574 -0.341 -2.86 c -0.223 -3.117 0.514 -3.429 0.514 -3.958 c -0.514 -4.491 0.174 -4.742 -0.232 -4.742 c --0.884 -4.742 -1.413 -3.971 -1.595 -3.318 c --1.805 -3.345 l --1.797 -3.795 -1.718 -4.46 -1.655 -4.648 c --1.466 -4.839 -0.965 -5.053 -0.424 -5.053 c -0.4 -5.053 1.32 -4.548 1.32 -3.536 c -1.32 -2.806 0.799 -2.379 0.01 -2.032 c --0.477 -1.816 -0.884 -1.556 -0.884 -1.043 c --0.884 -0.609 -0.591 -0.307 -0.206 -0.307 c -0.25 -0.307 0.642 -0.697 0.921 -1.422 c -1.137 -1.356 l -1.112 -1.123 1.002 -0.435 0.91 -0.175 c -0.696 -0.08 0.41 0 0 0 c -f -Q -q -1 0 0 1 207.157 105.568 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.962 0 -1.618 -0.642 -1.618 -1.449 c --1.618 -2.208 -0.932 -2.574 -0.339 -2.86 c -0.225 -3.117 0.518 -3.429 0.518 -3.958 c -0.518 -4.491 0.18 -4.742 -0.228 -4.742 c --0.879 -4.742 -1.4 -3.971 -1.59 -3.318 c --1.799 -3.345 l --1.796 -3.795 -1.709 -4.46 -1.651 -4.648 c --1.463 -4.839 -0.962 -5.053 -0.426 -5.053 c -0.4 -5.053 1.325 -4.548 1.325 -3.536 c -1.325 -2.806 0.807 -2.379 0.023 -2.032 c --0.472 -1.816 -0.872 -1.556 -0.879 -1.043 c --0.879 -0.609 -0.59 -0.307 -0.202 -0.307 c -0.259 -0.307 0.647 -0.697 0.929 -1.422 c -1.142 -1.356 l -1.113 -1.123 1.005 -0.435 0.911 -0.175 c -0.701 -0.08 0.416 0 0 0 c -f -Q -q -1 0 0 1 223.143 104.789 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.004 0.608 -0.37 1.095 -1.112 1.095 c --2.003 1.095 -2.227 -0.206 -2.227 -1.017 c --2.227 -1.832 -2.003 -3.148 -1.112 -3.148 c --0.37 -3.148 0.004 -2.661 0 -2.048 c -1.32 -2.048 l -1.267 -3.488 0.221 -4.043 -1.112 -4.043 c --2.795 -4.043 -3.554 -2.714 -3.554 -1.017 c --3.554 0.685 -2.795 2.005 -1.112 2.005 c -0.221 2.005 1.267 1.45 1.32 0 c -0 0 l -f -Q -q -1 0 0 1 226.443 106.673 cm -0 0 0 0.27 k -/GS2 gs --1.288 0 1.288 -1.043 re -0 0 m -h --1.249 -1.771 1.205 -4.042 re -f -Q -q -1 0 0 1 229.473 103.832 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.021 0.263 -0.279 0.385 -0.549 0.385 c --0.872 0.385 -1.029 0.29 -1.029 0.027 c --1.029 -0.611 1.274 -0.251 1.274 -1.757 c -1.274 -2.637 0.204 -3.086 -0.549 -3.086 c --1.493 -3.086 -2.311 -2.72 -2.326 -1.796 c --1.207 -1.796 l --1.181 -2.105 -0.904 -2.288 -0.549 -2.288 c --0.218 -2.288 0.026 -2.143 0.026 -1.827 c -0.026 -1.514 -0.549 -1.37 -0.793 -1.325 c --1.558 -1.133 -2.277 -0.963 -2.277 -0.023 c --2.277 0.818 -1.253 1.184 -0.549 1.184 c -0.304 1.184 1.031 0.887 1.083 0 c -0 0 l -f -Q -q -1 0 0 1 233.594 103.487 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.004 0.323 -0.141 0.731 -0.609 0.731 c --1.123 0.731 -1.131 -0.232 -1.146 -0.544 c --1.119 -0.925 -1.104 -1.942 -0.594 -1.942 c --0.128 -1.942 0.008 -1.481 0.023 -1.154 c -1.195 -1.154 l -1.153 -2.17 0.518 -2.74 -0.594 -2.74 c --1.788 -2.74 -2.39 -1.666 -2.39 -0.606 c --2.39 0.461 -1.788 1.53 -0.594 1.53 c -0.434 1.53 1.203 0.948 1.195 0 c -0 0 l -f -Q -q -1 0 0 1 239.52 102.881 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 1.268 -0.784 2.136 -2.108 2.136 c --3.422 2.136 -4.209 1.268 -4.209 0 c --4.209 -1.266 -3.422 -2.135 -2.108 -2.135 c --0.784 -2.135 0 -1.266 0 0 c -h --2.961 0 m --2.961 0.651 -2.847 1.337 -2.108 1.337 c --1.363 1.337 -1.247 0.651 -1.247 0 c --1.247 -0.644 -1.363 -1.336 -2.108 -1.336 c --2.847 -1.336 -2.961 -0.644 -2.961 0 c -f -Q -q -1 0 0 1 243.868 100.86 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 2.245 l -0.909 2.245 l -2.202 2.287 2.922 2.976 2.922 4.023 c -2.922 5.492 1.838 5.797 0.548 5.813 c --1.241 5.813 l --1.241 0 l -0 0 l -h -0 4.85 m -0.691 4.815 1.598 5.051 1.598 4.023 c -1.598 2.999 0.691 3.235 0 3.209 c -0 4.85 l -f -Q -q -1 0 0 1 248.537 104.902 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.027 -0.725 l -0.042 -0.725 l -0.301 -0.094 0.823 0.063 1.416 0.053 c -1.416 -1.015 l -0.895 -1.015 l -0.693 -1.038 0.426 -1.153 0.313 -1.32 c -0.18 -1.538 0.156 -1.768 0.148 -2.032 c -0.148 -4.042 l --1.05 -4.042 l --1.062 -0.806 l --1.062 -0.63 -1.085 -0.293 -1.095 0 c -0 0 l -f -Q -q -1 0 0 1 254.367 102.562 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 0.274 0 0.529 -0.026 0.777 c --0.06 1.039 -0.122 1.275 -0.227 1.492 c --0.57 2.212 -1.199 2.455 -1.952 2.455 c --3.178 2.455 -3.89 1.527 -3.89 0.312 c --3.89 -1.029 -3.334 -1.816 -1.952 -1.816 c --1.008 -1.816 -0.227 -1.477 -0.129 -0.487 c --1.214 -0.487 l --1.328 -0.868 -1.529 -1.017 -1.952 -1.017 c --2.568 -1.017 -2.645 -0.525 -2.645 0 c -0 0 l -h --2.645 0.802 m --2.63 1.248 -2.507 1.656 -1.952 1.656 c --1.362 1.656 -1.247 1.248 -1.247 0.802 c --2.645 0.802 l -f -Q -q -1 0 0 1 257.17 103.832 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.023 0.263 -0.278 0.385 -0.553 0.385 c --0.883 0.385 -1.031 0.29 -1.031 0.027 c --1.031 -0.611 1.275 -0.251 1.275 -1.757 c -1.275 -2.637 0.193 -3.086 -0.553 -3.086 c --1.491 -3.086 -2.307 -2.72 -2.326 -1.796 c --1.207 -1.796 l --1.188 -2.105 -0.903 -2.288 -0.553 -2.288 c --0.218 -2.288 0.026 -2.143 0.026 -1.827 c -0.026 -1.514 -0.553 -1.37 -0.796 -1.325 c --1.561 -1.133 -2.281 -0.963 -2.281 -0.023 c --2.281 0.818 -1.257 1.184 -0.553 1.184 c -0.304 1.184 1.028 0.887 1.084 0 c -0 0 l -f -Q -q -1 0 0 1 261.188 103.832 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.018 0.263 -0.278 0.385 -0.547 0.385 c --0.882 0.385 -1.031 0.29 -1.031 0.027 c --1.031 -0.611 1.275 -0.251 1.275 -1.757 c -1.275 -2.637 0.199 -3.086 -0.547 -3.086 c --1.492 -3.086 -2.309 -2.72 -2.324 -1.796 c --1.214 -1.796 l --1.187 -2.105 -0.901 -2.288 -0.547 -2.288 c --0.216 -2.288 0.027 -2.143 0.027 -1.827 c -0.027 -1.514 -0.547 -1.37 -0.791 -1.325 c --1.565 -1.133 -2.275 -0.963 -2.275 -0.023 c --2.275 0.818 -1.255 1.184 -0.547 1.184 c -0.306 1.184 1.024 0.887 1.085 0 c -0 0 l -f -Q -q -1 0 0 1 390.416 108.313 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.293 0 -0.529 -0.234 -0.529 -0.533 c --0.529 -0.829 -0.293 -1.073 0 -1.073 c -0.3 -1.073 0.544 -0.829 0.544 -0.533 c -0.544 -0.234 0.3 0 0 0 c -0 -0.989 m --0.242 -0.989 -0.446 -0.796 -0.446 -0.533 c --0.446 -0.276 -0.242 -0.084 0 -0.084 c -0.26 -0.084 0.471 -0.276 0.471 -0.533 c -0.471 -0.796 0.26 -0.989 0 -0.989 c -0.083 -0.234 m --0.118 -0.234 l --0.251 -0.796 l --0.171 -0.796 l --0.11 -0.548 l --0.003 -0.548 l -0.095 -0.796 l -0.185 -0.796 l -0.083 -0.548 l -0.176 -0.548 0.25 -0.483 0.26 -0.4 c -0.26 -0.303 0.218 -0.234 0.083 -0.234 c --0.095 -0.483 m --0.045 -0.303 l -0.069 -0.303 l -0.176 -0.377 l -0.167 -0.483 0.069 -0.483 -0.003 -0.483 c --0.095 -0.483 l -f -Q -q -1 0 0 1 361.98 109.719 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --2.274 0 l --3.814 -3.202 l --3.914 0 l --6.186 0 l --7.457 -5.734 l --5.796 -5.734 l --5.021 -2.658 l --4.976 -5.734 l --3.781 -5.734 l --2.246 -2.658 l --2.929 -5.734 l --1.28 -5.734 l -0 0 l -f -Q -q -1 0 0 1 363.904 109.719 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --1.537 0 l --1.735 -0.934 l --0.202 -0.934 l -0 0 l -f -Q -q -1 0 0 1 363.578 108.229 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --1.543 0 l --2.482 -4.241 l --0.946 -4.241 l -0 0 l -f -Q -q -1 0 0 1 366.005 108.345 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --3.114 0 -3.777 -4.424 -0.968 -4.485 c --0.936 -4.486 -0.903 -4.487 -0.872 -4.487 c -1.178 -4.487 1.659 -2.817 1.659 -2.785 c -0.041 -2.785 l -0.002 -2.858 -0.215 -3.404 -0.681 -3.404 c --0.686 -3.404 -0.692 -3.404 -0.695 -3.404 c --1.737 -3.383 -1.074 -1.04 -0.129 -1.009 c --0.126 -1.009 -0.123 -1.009 -0.119 -1.009 c -0.377 -1.009 0.333 -1.63 0.305 -1.695 c -1.896 -1.695 l -1.915 -1.63 2.012 -0.106 0.167 -0.004 c -0.11 -0.002 0.055 0 0 0 c -f -Q -q -1 0 0 1 386.755 109.667 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.378 0 -0.856 -0.045 -1.117 -0.243 c --1.445 -0.506 -1.561 -0.787 -1.698 -1.437 c --2.463 -1.437 l --2.684 -2.412 l --1.906 -2.412 l --2.61 -5.678 l --1.098 -5.678 l --0.38 -2.412 l -0.465 -2.412 l --0.003 -4.559 l --0.131 -5.117 0.069 -5.379 0.25 -5.511 c -0.461 -5.65 0.878 -5.684 1.241 -5.684 c -1.602 -5.684 1.907 -5.651 y -2.137 -4.693 l -2.036 -4.703 1.913 -4.703 v -1.734 -4.703 1.507 -4.683 1.474 -4.591 c -1.432 -4.462 1.474 -4.379 1.483 -4.281 c -1.884 -2.412 l -2.608 -2.412 l -2.829 -1.437 l -2.097 -1.437 l -2.318 -0.4 l -0.909 -0.4 l -0.676 -1.437 l --0.224 -1.437 l --0.198 -1.326 l --0.122 -0.99 -0.093 -0.818 0.394 -0.818 c -0.554 -0.03 l -0.311 0 0 0 v -f -Q -q -1 0 0 1 371.127 108.304 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.265 0 -0.485 -0.046 -0.716 -0.116 c --1.001 -0.212 -1.24 -0.359 -1.431 -0.589 c --1.315 -0.075 l --2.69 -0.075 l --3.654 -4.315 l --2.184 -4.315 l --1.847 -2.804 l --1.585 -1.513 -0.856 -1.372 -0.523 -1.368 c --0.444 -1.218 -0.35 -1.073 -0.242 -0.936 c -0 0 l -f -Q -q -1 0 0 1 382.181 108.41 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --3.061 0 -3.915 -4.427 -0.859 -4.567 c --0.815 -4.569 -0.771 -4.57 -0.727 -4.57 c -2.331 -4.57 3.111 -0.151 0.158 -0.004 c -0.106 -0.001 0.052 0 0 0 c --0.628 -3.482 m --0.673 -3.482 -0.719 -3.477 -0.767 -3.469 c --1.71 -3.275 -0.995 -0.993 -0.042 -0.993 c --0.014 -0.993 0.014 -0.995 0.045 -0.998 c -0.999 -1.149 0.376 -3.482 -0.628 -3.482 c -f -Q -q -1 0 0 1 373.055 108.41 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.955 0 -1.696 -0.437 -2.169 -1.041 c --2.278 -1.178 -2.372 -1.324 -2.451 -1.474 c --3.138 -2.784 -2.743 -4.502 -0.855 -4.567 c --0.826 -4.569 -0.798 -4.569 -0.768 -4.569 c -0.396 -4.569 1.272 -3.911 1.654 -3.164 c -1.614 -3.665 1.828 -4.55 3.816 -4.574 c -3.836 -4.574 3.86 -4.574 3.879 -4.574 c -6.041 -4.574 6.227 -3.185 6.209 -2.882 c -6.153 -1.795 5.176 -1.746 4.316 -1.565 c -3.626 -1.417 3.761 -0.857 4.381 -0.857 c -5.043 -0.857 4.878 -1.417 y -6.355 -1.417 l -6.333 -1.336 6.752 -0.022 4.536 -0.004 c -4.504 -0.004 4.468 -0.004 4.434 -0.004 c -3.389 -0.004 2.454 -0.347 2.322 -1.273 c -2.156 -2.416 3.648 -2.68 4.035 -2.745 c -4.887 -2.891 4.644 -3.596 4.011 -3.596 c -3.997 -3.596 3.986 -3.596 3.971 -3.596 c -3.105 -3.596 3.32 -2.974 y -0.466 -2.974 l -1.746 -2.506 l -1.861 -2.451 1.954 -2.432 1.976 -2.32 c -2.207 -1.147 1.614 -0.089 0.163 -0.004 c -0.108 -0.001 0.054 0 0 0 c --0.625 -3.482 m --0.67 -3.482 -0.716 -3.477 -0.764 -3.469 c --1.712 -3.275 -0.987 -0.993 -0.038 -0.993 c --0.009 -0.993 0.02 -0.995 0.047 -0.998 c -1.008 -1.149 0.379 -3.482 -0.625 -3.482 c -f -Q -q -1 0 0 1 372.965 103.63 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --1.933 0 l --3.216 -5.726 l --2.499 -5.726 l --1.973 -3.395 l --0.693 -3.395 l --0.169 -3.395 0.333 -3.316 0.804 -2.921 c -1.187 -2.626 1.477 -2.165 1.574 -1.712 c -1.68 -1.221 1.598 -0.691 1.288 -0.378 c -0.965 -0.05 0.491 0 0 0 c --1.837 -2.795 m --1.347 -0.59 l --0.075 -0.59 l -0.211 -0.59 0.449 -0.622 0.647 -0.801 c -0.878 -1.032 0.924 -1.366 0.843 -1.712 c -0.778 -2.018 0.608 -2.299 0.355 -2.511 c -0.023 -2.765 -0.283 -2.795 -0.622 -2.795 c --1.837 -2.795 l -f -Q -q -1 0 0 1 376.909 102.266 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.691 0 -1.161 -0.53 -1.499 -1.114 c --1.519 -1.114 l --1.298 -0.112 l --1.878 -0.112 l --2.83 -4.362 l --2.174 -4.362 l --1.698 -2.227 l --1.624 -1.883 -1.528 -1.62 -1.279 -1.313 c --0.942 -0.884 -0.541 -0.654 -0.038 -0.654 c -0.09 -0.654 l -0.236 -0.013 l -0 0 l -f -Q -q -1 0 0 1 379.084 102.264 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --1.273 0 -2.206 -1.06 -2.466 -2.234 c --2.733 -3.425 -2.298 -4.441 -1.008 -4.441 c --0.2 -4.441 0.649 -3.98 1.074 -3.192 c -0.483 -3.077 l -0.187 -3.589 -0.291 -3.896 -0.84 -3.896 c --1.279 -3.896 -1.668 -3.655 -1.783 -3.254 c --1.866 -2.931 -1.815 -2.621 -1.74 -2.291 c -1.344 -2.291 l -1.648 -1.112 1.32 0 0 0 c --1.604 -1.798 m --1.428 -1.126 -0.819 -0.505 -0.115 -0.505 c -0.639 -0.505 0.902 -1.094 0.736 -1.798 c --1.604 -1.798 l -f -Q -q -1 0 0 1 383.062 102.264 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.784 0 -1.676 -0.374 -1.87 -1.259 c --2.036 -2.014 -1.51 -2.308 -0.888 -2.438 c --0.219 -2.552 l -0.141 -2.621 0.567 -2.752 0.457 -3.192 c -0.344 -3.747 -0.269 -3.896 -0.723 -3.896 c --1.239 -3.896 -1.865 -3.686 -1.822 -3.112 c --2.488 -3.244 l --2.469 -4.113 -1.731 -4.441 -0.894 -4.441 c --0.068 -4.441 0.95 -4.087 1.168 -3.136 c -1.253 -2.752 1.157 -2.394 0.87 -2.17 c -0.653 -1.987 0.344 -1.95 0.046 -1.88 c --0.551 -1.767 l --0.91 -1.72 -1.271 -1.605 -1.165 -1.153 c --1.058 -0.682 -0.511 -0.527 -0.125 -0.527 c -0.35 -0.527 0.746 -0.734 0.811 -1.21 c -1.442 -1.079 l -1.41 -0.291 0.761 0 0 0 c -f -Q -q -1 0 0 1 386.886 102.264 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.779 0 -1.676 -0.374 -1.87 -1.259 c --2.045 -2.014 -1.522 -2.308 -0.889 -2.438 c --0.224 -2.552 l -0.127 -2.621 0.557 -2.752 0.46 -3.192 c -0.346 -3.747 -0.274 -3.896 -0.723 -3.896 c --1.24 -3.896 -1.866 -3.686 -1.829 -3.112 c --2.496 -3.244 l --2.47 -4.113 -1.724 -4.441 -0.894 -4.441 c --0.075 -4.441 0.941 -4.087 1.165 -3.136 c -1.247 -2.752 1.155 -2.394 0.869 -2.17 c -0.644 -1.987 0.346 -1.95 0.047 -1.88 c --0.554 -1.767 l --0.915 -1.72 -1.281 -1.605 -1.175 -1.153 c --1.07 -0.682 -0.511 -0.527 -0.134 -0.527 c -0.358 -0.527 0.745 -0.734 0.809 -1.21 c -1.441 -1.079 l -1.399 -0.291 0.753 0 0 0 c -f -Q -q -1 0 0 1 418.027 96.813 cm -/CS0 cs 0.27 scn -/GS3 gs -0 0 m -0 5.119 -1.692 9.312 -4.679 12.22 c --7.664 15.128 -11.93 16.744 -17.051 16.744 c --17.051 16.421 l --11.998 16.42 -7.82 14.83 -4.905 11.988 c --1.99 9.147 -0.324 5.049 -0.322 0 c -0 0 l -f -Q -q -1 0 0 1 400.849 110.236 cm -/CS0 cs 0.27 scn -/GS3 gs -0 0 m -0.799 0 l -0.799 -0.727 l -1.334 -3.022 l -1.334 0 l -2.134 0 l -2.134 -6.23 l -1.334 -6.23 l -1.334 -5.564 l -0.799 -3.238 l -0.799 -6.23 l -0 -6.23 l -0 0 l -f -Q -q -1 0 0 1 405.707 107.477 cm -/CS0 cs 0.27 scn -/GS3 gs -0 0 m -0 0.294 -0.099 0.548 -0.304 0.754 c --0.506 0.955 -0.765 1.067 -1.068 1.067 c --1.366 1.067 -1.615 0.955 -1.821 0.754 c --2.039 0.548 -2.138 0.294 -2.138 0 c --2.138 -2.5 l --2.138 -2.801 -2.039 -3.045 -1.821 -3.262 c --1.615 -3.463 -1.366 -3.56 -1.068 -3.56 c --0.765 -3.56 -0.506 -3.463 -0.304 -3.262 c --0.099 -3.045 0 -2.801 0 -2.5 c -0 -2.263 l --0.806 -2.263 l --0.806 -2.5 l --0.806 -2.584 -0.83 -2.636 -0.879 -2.69 c --0.928 -2.732 -0.989 -2.775 -1.068 -2.775 c --1.144 -2.775 -1.207 -2.732 -1.258 -2.69 c --1.304 -2.636 -1.329 -2.568 -1.329 -2.5 c --1.329 -1.876 l -0 -1.876 l -0 0 l -h --1.258 0.182 m --1.207 0.236 -1.144 0.263 -1.068 0.263 c --0.989 0.263 -0.921 0.236 -0.871 0.182 c --0.826 0.143 -0.806 0.082 -0.806 0 c --0.806 -1.069 l --1.329 -1.069 l --1.329 0 l --1.329 0.077 -1.304 0.13 -1.258 0.182 c -f -Q -q -1 0 0 1 407.563 104.977 cm -/CS0 cs 0.27 scn -/GS3 gs -0 0 m -0 3.479 l -0.799 3.479 l -0.799 0 l -0.799 -0.084 0.826 -0.136 0.875 -0.19 c -0.928 -0.232 0.989 -0.274 1.069 -0.274 c -1.137 -0.274 1.199 -0.232 1.251 -0.19 c -1.31 -0.136 1.335 -0.068 1.335 0 c -1.335 3.479 l -2.135 3.479 l -2.135 0 l -2.135 -0.301 2.033 -0.544 1.822 -0.761 c -1.617 -0.963 1.362 -1.059 1.069 -1.059 c -0.808 -1.059 0.59 -0.99 0.398 -0.829 c -0.209 -0.99 -0.016 -1.059 -0.274 -1.059 c --0.58 -1.059 -0.835 -0.963 -1.039 -0.761 c --1.24 -0.544 -1.337 -0.301 -1.337 0 c --1.337 3.479 l --0.538 3.479 l --0.538 0 l --0.538 -0.084 -0.517 -0.136 -0.461 -0.19 c --0.408 -0.232 -0.348 -0.274 -0.274 -0.274 c --0.199 -0.274 -0.138 -0.232 -0.084 -0.19 c --0.028 -0.136 0 -0.068 0 0 c -f -Q -q -1 0 0 1 402.714 102.757 cm -/CS0 cs 0.27 scn -/GS3 gs -0 0 m --0.203 0.205 -0.461 0.305 -0.754 0.305 c --1.822 0.305 l --1.822 -5.929 l --1.018 -5.929 l --1.018 -3.435 l --0.754 -3.435 l --0.686 -3.435 -0.625 -3.463 -0.564 -3.517 c --0.517 -3.569 -0.479 -3.627 -0.479 -3.706 c --0.479 -5.929 l -0.319 -5.929 l -0.319 -3.706 l -0.319 -3.543 0.286 -3.409 0.235 -3.299 c -0.163 -3.179 l -0.067 -3.036 l -0.147 -2.925 0.208 -2.827 0.251 -2.716 c -0.293 -2.604 0.319 -2.486 0.319 -2.369 c -0.319 -0.772 l -0.319 -0.452 0.208 -0.201 0 0 c -h --0.564 -2.554 m --0.625 -2.606 -0.686 -2.629 -0.754 -2.629 c --1.018 -2.629 l --1.018 -0.486 l --0.754 -0.486 l --0.67 -0.486 -0.61 -0.521 -0.564 -0.575 c --0.517 -0.627 -0.479 -0.688 -0.479 -0.772 c --0.479 -2.369 l --0.479 -2.446 -0.517 -2.507 -0.564 -2.554 c -f -Q -q -1 0 0 1 403.78 100.474 cm -/CS0 cs 0.27 scn -/GS3 gs -0 0 m --0.398 0 l --0.398 0.815 l -0.806 0.815 l -0.806 -3.646 l -0 -3.646 l -0 0 l -h -0 2.279 0.806 -0.802 re -f -Q -q -1 0 0 1 405.491 97.141 cm -/CS0 cs 0.27 scn -/GS3 gs -0 0 m -0.216 -0.219 0.464 -0.313 0.743 -0.313 c -1.812 -0.313 l -1.812 5.922 l -1.013 5.922 l -1.013 4.147 l -0.743 4.147 l -0.449 4.147 0.205 4.038 -0.011 3.836 c --0.221 3.626 -0.331 3.375 -0.331 3.07 c --0.331 0.756 l --0.331 0.445 -0.221 0.208 0 0 c -h -0.552 0.566 m -0.495 0.615 0.475 0.677 0.475 0.756 c -0.475 3.07 l -0.475 3.143 0.503 3.197 0.552 3.253 c -0.605 3.306 0.675 3.333 0.743 3.333 c -1.013 3.333 l -1.013 0.487 l -0.743 0.487 l -0.667 0.487 0.598 0.507 0.552 0.566 c -f -Q -q -1 0 0 1 410.009 100.3 cm -/CS0 cs 0.27 scn -/GS3 gs -0 0 m -0 0.297 -0.102 0.555 -0.301 0.758 c --0.504 0.962 -0.762 1.07 -1.074 1.07 c --1.362 1.07 -1.62 0.962 -1.825 0.758 c --2.036 0.555 -2.135 0.297 -2.135 0 c --2.135 -2.488 l --2.135 -2.794 -2.036 -3.038 -1.825 -3.255 c --1.62 -3.46 -1.362 -3.559 -1.074 -3.559 c --0.762 -3.559 -0.504 -3.46 -0.301 -3.255 c --0.102 -3.038 0 -2.794 0 -2.488 c -0 -2.257 l --0.799 -2.257 l --0.799 -2.488 l --0.799 -2.568 -0.83 -2.63 -0.876 -2.687 c --0.92 -2.74 -0.989 -2.768 -1.074 -2.768 c --1.257 -2.687 l --1.31 -2.63 -1.336 -2.566 -1.336 -2.488 c --1.336 -1.874 l -0 -1.874 l -0 0 l -h --1.257 0.189 m --1.074 0.27 l --0.985 0.27 -0.92 0.243 -0.876 0.202 c --0.83 0.148 -0.799 0.089 -0.799 0 c --0.799 -1.066 l --1.336 -1.066 l --1.336 0 l --1.257 0.189 l -f -Q -q -1 0 0 1 411.595 101.288 cm -/CS0 cs 0.27 scn -/GS3 gs -0 0 m -0.4 0 l -0.4 -0.815 l -0.134 -0.815 l -0.013 -0.815 -0.082 -0.848 -0.154 -0.925 c --0.231 -1.005 -0.272 -1.1 -0.272 -1.221 c --0.272 -4.46 l --1.072 -4.46 l --1.072 -1.085 l --1.072 -0.787 -0.961 -0.521 -0.76 -0.326 c --0.556 -0.122 -0.307 0 0 0 c -f -Q -q -1 0 0 1 412.404 97.812 cm -/CS0 cs 0.27 scn -/GS3 gs -0 0 m -0 0.231 l -0.799 0.231 l -0.799 0 l -0.799 -0.08 0.834 -0.142 0.879 -0.199 c -0.929 -0.252 0.992 -0.28 1.067 -0.28 c -1.136 -0.28 1.207 -0.252 1.253 -0.199 c -1.304 -0.142 1.33 -0.078 1.33 0 c -1.33 0.494 l -0 1.837 l -0 2.488 l -0 2.785 0.097 3.043 0.304 3.245 c -0.506 3.45 0.763 3.558 1.067 3.558 c -1.365 3.558 1.617 3.45 1.825 3.245 c -2.033 3.043 2.137 2.785 2.137 2.488 c -2.137 2.256 l -1.33 2.256 l -1.33 2.488 l -1.33 2.568 1.312 2.635 1.26 2.677 c -1.208 2.723 1.148 2.758 1.067 2.758 c -0.992 2.758 0.929 2.723 0.879 2.677 c -0.834 2.635 0.799 2.568 0.799 2.488 c -0.799 2.152 l -2.137 0.816 l -2.137 0 l -2.137 -0.307 2.033 -0.55 1.825 -0.767 c -1.617 -0.972 1.365 -1.071 1.067 -1.071 c -0.763 -1.071 0.506 -0.972 0.304 -0.767 c -0.097 -0.55 0 -0.307 0 0 c -f -Q -q -1 0 0 1 0 -0 cm -0 0 0 0.27 k -/GS2 gs -289.131 99.798 23.22 0.124 re -f -Q -q -1 0 0 1 0 -0 cm -0 0 0 0.27 k -/GS2 gs -274.25 97.319 13.229 13.23 re -f -Q -q -1 0 0 1 277.633 103.645 cm -0 0 0 0 k -/GS2 gs -0 0 m -0 -0.621 0.167 -0.696 0.878 -0.723 c -0.878 -0.949 l --1.953 -0.949 l --1.953 -0.723 l --1.363 -0.696 -1.196 -0.621 -1.196 0 c --1.196 4.077 l --1.196 4.701 -1.363 4.772 -1.936 4.799 c --1.936 5.026 l -3.056 5.026 l -3.09 3.708 l -2.846 3.708 l -2.634 4.375 2.406 4.586 1.237 4.586 c -0.331 4.586 l -0.062 4.586 0 4.527 0 4.28 c -0 2.388 l -0.446 2.388 l -1.376 2.388 1.58 2.557 1.692 3.181 c -1.92 3.181 l -1.92 1.071 l -1.692 1.071 l -1.571 1.776 1.219 1.95 0.446 1.95 c -0 1.95 l -0 0 l -f -Q -q -1 0 0 1 286.341 108.671 cm -0 0 0 0 k -/GS2 gs -0 0 m --5.237 0 l --5.359 -1.319 l --5.059 -1.319 l --4.866 -0.671 -4.584 -0.44 -3.954 -0.44 c --3.216 -0.44 l --3.216 -5.026 l --3.216 -5.648 -3.383 -5.722 -4.06 -5.75 c --4.06 -5.975 l --1.177 -5.975 l --1.177 -5.75 l --1.854 -5.722 -2.021 -5.648 -2.021 -5.026 c --2.021 -0.44 l --1.284 -0.44 l --0.653 -0.44 -0.371 -0.671 -0.178 -1.319 c -0.121 -1.319 l -0 0 l -f -Q -q -1 0 0 1 291.713 107.36 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.218 0.095 -0.494 0.143 -0.827 0.143 c --0.985 0.143 -1.082 0.128 -1.118 0.096 c --1.154 0.065 -1.173 -0.006 -1.173 -0.113 c --1.173 -2.129 l --1.036 -2.145 -0.944 -2.155 -0.902 -2.158 c --0.778 -2.163 l --0.425 -2.163 -0.147 -2.113 0.056 -2.011 c -0.425 -1.827 0.608 -1.482 0.608 -0.978 c -0.608 -0.504 0.407 -0.177 0 0 c -h --2.597 -4.532 m --2.303 -4.505 -2.121 -4.448 -2.047 -4.359 c --1.977 -4.271 -1.939 -4.07 -1.939 -3.753 c --1.939 -0.416 l --1.939 -0.148 -1.981 0.028 -2.06 0.114 c --2.144 0.2 -2.32 0.253 -2.597 0.276 c --2.597 0.419 l --0.568 0.419 l -0.084 0.419 0.581 0.293 0.927 0.039 c -1.272 -0.215 1.445 -0.549 1.445 -0.964 c -1.445 -1.491 1.253 -1.872 0.871 -2.108 c -0.488 -2.345 0.008 -2.462 -0.568 -2.462 c --0.651 -2.462 -0.757 -2.46 -0.885 -2.452 c --1.015 -2.443 -1.11 -2.44 -1.173 -2.44 c --1.173 -3.84 l --1.173 -4.13 -1.126 -4.313 -1.037 -4.386 c --0.948 -4.461 -0.747 -4.51 -0.435 -4.532 c --0.435 -4.676 l --2.597 -4.676 l --2.597 -4.532 l -f -Q -q -1 0 0 1 293.306 102.81 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.23 0.02 0.383 0.06 0.459 0.122 c -0.534 0.183 0.572 0.314 0.572 0.513 c -0.572 2.213 l -0.572 2.462 0.548 2.638 0.501 2.744 c -0.456 2.852 0.371 2.905 0.247 2.905 c -0.146 2.895 l -0.017 2.871 l -0.017 2.998 l -0.159 3.048 0.308 3.099 0.457 3.152 c -0.606 3.204 0.711 3.24 0.769 3.264 c -0.894 3.312 1.024 3.364 1.155 3.425 c -1.188 3.404 l -1.194 3.319 l -1.194 2.704 l -1.355 2.926 1.509 3.099 1.66 3.225 c -1.809 3.35 1.965 3.413 2.127 3.413 c -2.254 3.413 2.359 3.375 2.439 3.299 c -2.52 3.223 2.56 3.126 2.56 3.011 c -2.56 2.908 2.529 2.822 2.467 2.751 c -2.406 2.681 2.328 2.646 2.235 2.646 c -2.139 2.646 2.043 2.69 1.949 2.778 c -1.851 2.866 1.775 2.909 1.72 2.909 c -1.632 2.909 1.524 2.839 1.397 2.697 c -1.268 2.555 1.205 2.409 1.205 2.26 c -1.205 0.564 l -1.205 0.351 1.256 0.2 1.356 0.118 c -1.456 0.034 1.622 -0.004 1.857 0 c -1.857 -0.127 l -0 -0.127 l -0 0 l -f -Q -q -1 0 0 1 296.618 105.556 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.081 -0.134 -0.138 -0.305 -0.173 -0.51 c -1.409 -0.51 l -1.381 -0.26 1.334 -0.074 1.266 0.049 c -1.144 0.268 0.939 0.379 0.652 0.379 c -0.367 0.379 0.149 0.253 0 0 c -h -1.795 0.289 m -2.06 0.044 2.193 -0.302 2.193 -0.751 c --0.188 -0.751 l --0.163 -1.332 -0.032 -1.754 0.206 -2.02 c -0.443 -2.286 0.725 -2.419 1.05 -2.419 c -1.313 -2.419 1.533 -2.35 1.713 -2.211 c -1.892 -2.073 2.058 -1.878 2.212 -1.626 c -2.343 -1.671 l -2.241 -1.99 2.047 -2.286 1.766 -2.559 c -1.484 -2.829 1.14 -2.965 0.73 -2.965 c -0.259 -2.965 -0.104 -2.787 -0.362 -2.432 c --0.619 -2.074 -0.747 -1.664 -0.747 -1.2 c --0.747 -0.696 -0.598 -0.261 -0.3 0.106 c --0.002 0.472 0.387 0.655 0.865 0.655 c -1.22 0.655 1.529 0.533 1.795 0.289 c -f -Q -q -1 0 0 1 299.426 103.87 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.124 0 l -0.183 -0.284 0.261 -0.504 0.355 -0.656 c -0.531 -0.936 0.788 -1.078 1.125 -1.078 c -1.312 -1.078 1.459 -1.026 1.567 -0.922 c -1.675 -0.818 1.731 -0.683 1.731 -0.519 c -1.731 -0.413 1.699 -0.312 1.636 -0.214 c -1.575 -0.117 1.465 -0.022 1.306 0.071 c -0.887 0.31 l -0.579 0.476 0.351 0.641 0.206 0.811 c -0.061 0.977 -0.011 1.175 -0.011 1.403 c --0.011 1.684 0.089 1.914 0.289 2.094 c -0.489 2.275 0.74 2.365 1.042 2.365 c -1.175 2.365 1.321 2.34 1.48 2.289 c -1.638 2.24 1.727 2.215 1.748 2.215 c -1.845 2.234 l -1.898 2.295 l -1.99 2.295 l -2.018 1.246 l -1.904 1.246 l -1.852 1.489 1.785 1.676 1.699 1.812 c -1.544 2.061 1.32 2.186 1.026 2.186 c -0.85 2.186 0.712 2.132 0.614 2.025 c -0.512 1.916 0.461 1.791 0.461 1.646 c -0.461 1.417 0.634 1.211 0.98 1.03 c -1.478 0.764 l -2.011 0.474 2.277 0.137 2.277 -0.25 c -2.277 -0.545 2.167 -0.786 1.947 -0.974 c -1.727 -1.162 1.438 -1.256 1.081 -1.256 c -0.932 -1.256 0.761 -1.231 0.573 -1.181 c -0.381 -1.131 0.269 -1.106 0.235 -1.106 c -0.156 -1.138 l -0.105 -1.216 l -0 -1.216 l -0 0 l -f -Q -q -1 0 0 1 302.307 103.87 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.125 0 l -0.182 -0.284 0.259 -0.504 0.357 -0.656 c -0.532 -0.936 0.788 -1.078 1.124 -1.078 c -1.311 -1.078 1.459 -1.026 1.568 -0.922 c -1.677 -0.818 1.731 -0.683 1.731 -0.519 c -1.731 -0.413 1.699 -0.312 1.636 -0.214 c -1.575 -0.117 1.465 -0.022 1.308 0.071 c -0.886 0.31 l -0.578 0.476 0.353 0.641 0.206 0.811 c -0.063 0.977 -0.012 1.175 -0.012 1.403 c --0.012 1.684 0.09 1.914 0.288 2.094 c -0.489 2.275 0.74 2.365 1.042 2.365 c -1.175 2.365 1.321 2.34 1.48 2.289 c -1.639 2.24 1.728 2.215 1.748 2.215 c -1.846 2.234 l -1.898 2.295 l -1.99 2.295 l -2.019 1.246 l -1.903 1.246 l -1.853 1.489 1.785 1.676 1.7 1.812 c -1.545 2.061 1.321 2.186 1.027 2.186 c -0.851 2.186 0.712 2.132 0.613 2.025 c -0.513 1.916 0.461 1.791 0.461 1.646 c -0.461 1.417 0.635 1.211 0.981 1.03 c -1.477 0.764 l -2.012 0.474 2.279 0.137 2.279 -0.25 c -2.279 -0.545 2.167 -0.786 1.949 -0.974 c -1.727 -1.162 1.438 -1.256 1.083 -1.256 c -0.932 -1.256 0.762 -1.231 0.573 -1.181 c -0.383 -1.131 0.27 -1.106 0.235 -1.106 c -0.158 -1.138 l -0.104 -1.216 l -0 -1.216 l -0 0 l -f -Q -q -1 0 0 1 289.685 97.619 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 -0.174 0.047 -0.193 0.242 -0.201 c -0.242 -0.265 l --0.54 -0.265 l --0.54 -0.201 l --0.375 -0.193 -0.33 -0.174 -0.33 0 c --0.33 1.124 l --0.33 1.299 -0.375 1.32 -0.535 1.327 c --0.535 1.389 l -0.845 1.389 l -0.854 1.023 l -0.786 1.023 l -0.727 1.208 0.664 1.268 0.341 1.268 c -0.093 1.268 l -0.018 1.268 0 1.251 0 1.181 c -0 0.659 l -0.28 0.659 l -0.54 0.659 0.595 0.704 0.625 0.88 c -0.69 0.88 l -0.69 0.296 l -0.625 0.296 l -0.592 0.491 0.496 0.538 0.28 0.538 c -0 0.538 l -0 0 l -f -Q -q -1 0 0 1 291.31 97.619 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 -0.174 0.044 -0.193 0.245 -0.201 c -0.245 -0.265 l --0.572 -0.265 l --0.572 -0.201 l --0.376 -0.193 -0.329 -0.174 -0.329 0 c --0.329 1.124 l --0.329 1.299 -0.376 1.32 -0.572 1.327 c --0.572 1.389 l -0.245 1.389 l -0.245 1.327 l -0.044 1.32 0 1.299 0 1.124 c -0 0 l -f -Q -q -1 0 0 1 293.255 98.697 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 0.163 -0.045 0.229 -0.224 0.25 c --0.224 0.312 l -0.359 0.312 l -0.359 0.25 l -0.18 0.229 0.137 0.163 0.137 0 c -0.137 -1.38 l -0.055 -1.38 l --1.074 -0.079 l --1.074 -1.032 l --1.074 -1.192 -1.031 -1.26 -0.849 -1.278 c --0.849 -1.343 l --1.433 -1.343 l --1.433 -1.278 l --1.252 -1.26 -1.208 -1.192 -1.208 -1.032 c --1.208 0.078 l --1.263 0.177 -1.33 0.224 -1.433 0.25 c --1.433 0.312 l --0.985 0.312 l -0 -0.827 l -0 0 l -f -Q -q -1 0 0 1 295.317 97.354 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 0.065 l --0.123 0.062 -0.154 0.117 -0.217 0.274 c --0.8 1.692 l --0.878 1.692 l --1.482 0.223 l --1.521 0.119 -1.58 0.087 -1.685 0.065 c --1.685 0 l --1.159 0 l --1.159 0.065 l --1.273 0.065 -1.33 0.09 -1.33 0.171 c --1.33 0.239 -1.255 0.419 -1.234 0.471 c --0.636 0.471 l --0.618 0.419 -0.538 0.239 -0.538 0.171 c --0.538 0.09 -0.597 0.065 -0.715 0.065 c --0.715 0 l -0 0 l -h --1.183 0.595 m --0.933 1.247 l --0.688 0.595 l --1.183 0.595 l -f -Q -q -1 0 0 1 296.919 98.697 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 0.163 -0.045 0.229 -0.223 0.25 c --0.223 0.312 l -0.357 0.312 l -0.357 0.25 l -0.178 0.229 0.135 0.163 0.135 0 c -0.135 -1.38 l -0.053 -1.38 l --1.074 -0.079 l --1.074 -1.032 l --1.074 -1.192 -1.031 -1.26 -0.85 -1.278 c --0.85 -1.343 l --1.433 -1.343 l --1.433 -1.278 l --1.254 -1.26 -1.21 -1.192 -1.21 -1.032 c --1.21 0.078 l --1.264 0.177 -1.331 0.224 -1.433 0.25 c --1.433 0.312 l --0.983 0.312 l -0 -0.827 l -0 0 l -f -Q -q -1 0 0 1 299.001 97.743 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.171 -0.293 -0.399 -0.427 -0.74 -0.427 c --1.277 -0.427 -1.594 -0.073 -1.594 0.452 c --1.594 0.83 -1.298 1.303 -0.722 1.303 c --0.55 1.303 -0.306 1.208 -0.268 1.208 c --0.221 1.208 -0.205 1.233 -0.166 1.303 c --0.086 1.303 l --0.051 0.753 l --0.124 0.753 l --0.221 1.006 -0.393 1.192 -0.682 1.192 c --1.069 1.192 -1.239 0.772 -1.239 0.452 c --1.239 0.007 -1.048 -0.29 -0.637 -0.29 c --0.318 -0.29 -0.141 -0.052 -0.064 0.051 c -0 0 l -f -Q -q -1 0 0 1 299.801 97.619 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 -0.174 0.046 -0.193 0.244 -0.201 c -0.244 -0.265 l --0.571 -0.265 l --0.571 -0.201 l --0.375 -0.193 -0.329 -0.174 -0.329 0 c --0.329 1.124 l --0.329 1.299 -0.375 1.32 -0.571 1.327 c --0.571 1.389 l -0.244 1.389 l -0.244 1.327 l -0.046 1.32 0 1.299 0 1.124 c -0 0 l -f -Q -q -1 0 0 1 301.903 97.354 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 0.065 l --0.125 0.062 -0.156 0.117 -0.219 0.274 c --0.799 1.692 l --0.88 1.692 l --1.484 0.223 l --1.525 0.119 -1.58 0.087 -1.685 0.065 c --1.685 0 l --1.161 0 l --1.161 0.065 l --1.275 0.065 -1.33 0.09 -1.33 0.171 c --1.33 0.239 -1.256 0.419 -1.238 0.471 c --0.64 0.471 l --0.619 0.419 -0.539 0.239 -0.539 0.171 c --0.539 0.09 -0.601 0.065 -0.715 0.065 c --0.715 0 l -0 0 l -h --1.183 0.595 m --0.934 1.247 l --0.69 0.595 l --1.183 0.595 l -f -Q -q -1 0 0 1 302.048 97.354 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 0.065 l -0.156 0.072 0.202 0.091 0.202 0.265 c -0.202 1.389 l -0.202 1.565 0.156 1.586 0 1.593 c -0 1.655 l -0.761 1.655 l -0.761 1.593 l -0.579 1.586 0.533 1.565 0.533 1.389 c -0.533 0.235 l -0.533 0.134 0.564 0.099 0.747 0.099 c -1.042 0.099 1.216 0.153 1.359 0.442 c -1.422 0.442 l -1.31 0 l -0 0 l -f -Q -q -1 0 0 1 304.705 97.418 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.188 0.008 0.234 0.027 0.234 0.201 c -0.234 1.468 l -0.029 1.468 l --0.161 1.468 -0.237 1.39 -0.291 1.166 c --0.363 1.166 l --0.324 1.59 l -1.124 1.59 l -1.161 1.166 l -1.089 1.166 l -1.036 1.39 0.961 1.468 0.768 1.468 c -0.564 1.468 l -0.564 0.201 l -0.564 0.027 0.611 0.008 0.798 0 c -0.798 -0.065 l -0 -0.065 l -0 0 l -f -Q -q -1 0 0 1 306.609 97.619 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 -0.174 0.047 -0.193 0.243 -0.201 c -0.243 -0.265 l --0.573 -0.265 l --0.573 -0.201 l --0.376 -0.193 -0.329 -0.174 -0.329 0 c --0.329 1.124 l --0.329 1.299 -0.376 1.32 -0.573 1.327 c --0.573 1.389 l -0.243 1.389 l -0.243 1.327 l -0.047 1.32 0 1.299 0 1.124 c -0 0 l -f -Q -q -1 0 0 1 308.584 99.008 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.568 0 l -0.568 -0.062 l -0.412 -0.069 0.365 -0.09 0.365 -0.265 c -0.365 -1.389 l -0.365 -1.563 0.412 -1.582 0.568 -1.59 c -0.568 -1.655 l --0.174 -1.655 l --0.174 -1.59 l --0.012 -1.582 0.034 -1.563 0.034 -1.389 c -0.034 -0.229 l -0.029 -0.229 l --0.52 -1.673 l --0.597 -1.673 l --1.135 -0.229 l --1.142 -0.229 l --1.142 -1.344 l --1.142 -1.503 -1.098 -1.572 -0.916 -1.59 c --0.916 -1.655 l --1.498 -1.655 l --1.498 -1.59 l --1.321 -1.572 -1.277 -1.503 -1.277 -1.344 c --1.277 -0.223 l --1.277 -0.107 -1.324 -0.062 -1.498 -0.062 c --1.498 0 l --0.9 0 l --0.46 -1.149 l -0 0 l -f -Q -q -1 0 0 1 309.387 97.354 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 0.065 l -0.158 0.072 0.203 0.091 0.203 0.265 c -0.203 1.389 l -0.203 1.565 0.158 1.586 0 1.593 c -0 1.655 l -1.38 1.655 l -1.39 1.288 l -1.321 1.288 l -1.261 1.473 1.2 1.533 0.877 1.533 c -0.626 1.533 l -0.552 1.533 0.535 1.516 0.535 1.446 c -0.535 0.924 l -0.815 0.924 l -1.073 0.924 1.127 0.969 1.159 1.145 c -1.224 1.145 l -1.224 0.561 l -1.159 0.561 l -1.124 0.756 1.03 0.804 0.815 0.804 c -0.535 0.804 l -0.535 0.235 l -0.535 0.134 0.563 0.099 0.856 0.099 c -1.151 0.099 1.325 0.153 1.468 0.442 c -1.53 0.442 l -1.419 0 l -0 0 l -f -Q -q -1 0 0 1 311.131 97.875 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.063 0 l -0.132 -0.217 0.341 -0.446 0.586 -0.446 c -0.793 -0.446 0.869 -0.298 0.869 -0.17 c -0.869 0.208 0.014 0.277 0.014 0.748 c -0.014 0.977 0.236 1.171 0.487 1.171 c -0.735 1.171 0.823 1.086 0.933 1.086 c -1.02 1.171 l -1.082 1.171 l -1.082 0.649 l -1.02 0.649 l -0.951 0.883 0.781 1.061 0.56 1.061 c -0.374 1.061 0.304 0.94 0.304 0.827 c -0.304 0.492 1.16 0.481 1.16 -0.099 c -1.16 -0.357 0.946 -0.558 0.651 -0.558 c -0.359 -0.558 0.282 -0.456 0.171 -0.456 c -0.087 -0.539 l -0 -0.539 l -0 0 l -f -Q -q -1 0 0 1 0 -0 cm -0 0 0 0.27 k -/GS2 gs -324.228 103.902 2.15 6.976 re -f -Q -q -1 0 0 1 329.632 105.563 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -1.26 0 l -1.709 0 2.101 0.128 2.101 0.665 c -2.101 1.075 1.856 1.299 1.349 1.299 c -0 1.299 l -0 0 l -h -0 2.6 m -1.134 2.6 l -1.585 2.6 1.866 2.727 1.866 3.175 c -1.866 3.527 1.573 3.655 1.134 3.655 c -0 3.655 l -0 2.6 l -h --2.15 5.315 m -1.67 5.315 l -3.507 5.315 3.898 4.28 3.898 3.567 c -3.898 2.864 3.556 2.481 3.038 2.198 c -3.664 1.983 4.25 1.486 4.25 0.459 c -4.25 -0.938 3.038 -1.661 1.807 -1.661 c --2.15 -1.661 l --2.15 5.315 l -f -Q -q -1 0 0 1 334.714 110.878 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -3.057 0 l -4.053 -4.104 l -4.073 -4.104 l -5.069 0 l -8.127 0 l -8.127 -6.976 l -6.095 -6.976 l -6.095 -2.501 l -6.076 -2.501 l -4.864 -6.976 l -3.262 -6.976 l -2.051 -2.501 l -2.031 -2.501 l -2.031 -6.976 l -0 -6.976 l -0 0 l -f -Q -q -1 0 0 1 325.831 99.338 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.564 0 l -0.941 0 1.34 0.027 1.34 0.51 c -1.34 0.946 1.009 0.973 0.651 0.973 c -0 0.973 l -0 0 l -h --1.46 2.199 m -0.982 2.199 l -2.272 2.199 2.723 1.248 2.723 0.564 c -2.723 -0.596 1.951 -1.139 0.863 -1.139 c -0 -1.139 l -0 -2.588 l --1.46 -2.588 l --1.46 2.199 l -f -Q -q -1 0 0 1 329.025 100.231 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -1.259 0 l -1.259 -0.556 l -1.275 -0.556 l -1.486 -0.142 1.764 0.086 2.243 0.086 c -2.375 0.086 2.503 0.066 2.63 0.032 c -2.63 -1.141 l -2.495 -1.093 2.375 -1.053 2.109 -1.053 c -1.592 -1.053 1.314 -1.362 1.314 -2.106 c -1.314 -3.481 l -0 -3.481 l -0 0 l -f -Q -q -1 0 0 1 334.223 98.882 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 0.321 -0.238 0.584 -0.576 0.584 c --0.968 0.584 -1.194 0.376 -1.253 0 c -0 0 l -h --1.262 -0.69 m --1.227 -1.086 -1.001 -1.369 -0.589 -1.369 c --0.379 -1.369 -0.146 -1.287 -0.038 -1.12 c -1.19 -1.12 l -0.925 -1.871 0.199 -2.219 -0.584 -2.219 c --1.684 -2.219 -2.516 -1.563 -2.516 -0.402 c --2.516 0.61 -1.785 1.435 -0.695 1.435 c -0.671 1.435 1.263 0.664 1.263 -0.69 c --1.262 -0.69 l -f -Q -q -1 0 0 1 338.03 99.217 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.008 0.114 -0.067 0.201 -0.154 0.262 c --0.232 0.328 -0.339 0.362 -0.444 0.362 c --0.631 0.362 -0.843 0.322 -0.843 0.094 c --0.843 -0.007 -0.763 -0.053 -0.692 -0.086 c --0.472 -0.181 0.025 -0.208 0.463 -0.355 c -0.902 -0.495 1.287 -0.758 1.287 -1.327 c -1.287 -2.294 0.371 -2.554 -0.466 -2.554 c --1.275 -2.554 -2.165 -2.227 -2.186 -1.327 c --0.93 -1.327 l --0.923 -1.448 -0.871 -1.549 -0.772 -1.636 c --0.704 -1.696 -0.577 -1.736 -0.419 -1.736 c --0.248 -1.736 0.025 -1.67 0.025 -1.467 c -0.025 -1.267 -0.088 -1.207 -0.697 -1.099 c --1.701 -0.925 -2.106 -0.602 -2.106 -0.007 c --2.106 0.872 -1.17 1.099 -0.478 1.099 c -0.266 1.099 1.16 0.893 1.194 0 c -0 0 l -f -Q -q -1 0 0 1 341.84 99.217 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.007 0.114 -0.067 0.201 -0.154 0.262 c --0.233 0.328 -0.339 0.362 -0.444 0.362 c --0.631 0.362 -0.844 0.322 -0.844 0.094 c --0.844 -0.007 -0.764 -0.053 -0.69 -0.086 c --0.471 -0.181 0.027 -0.208 0.464 -0.355 c -0.904 -0.495 1.289 -0.758 1.289 -1.327 c -1.289 -2.294 0.372 -2.554 -0.465 -2.554 c --1.274 -2.554 -2.167 -2.227 -2.183 -1.327 c --0.93 -1.327 l --0.923 -1.448 -0.872 -1.549 -0.769 -1.636 c --0.704 -1.696 -0.579 -1.736 -0.418 -1.736 c --0.247 -1.736 0.027 -1.67 0.027 -1.467 c -0.027 -1.267 -0.086 -1.207 -0.698 -1.099 c --1.702 -0.925 -2.107 -0.602 -2.107 -0.007 c --2.107 0.872 -1.169 1.099 -0.478 1.099 c -0.265 1.099 1.161 0.893 1.194 0 c -0 0 l -f -Q -q -1 0 0 1 345.152 97.017 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.257 0.672 l -0.52 0.672 l -0.52 -0.275 l -0.348 -0.275 l -0.348 0.466 l -0.342 0.466 l -0.062 -0.275 l --0.067 -0.275 l --0.35 0.466 l --0.355 0.466 l --0.355 -0.275 l --0.529 -0.275 l --0.529 0.672 l --0.261 0.672 l -0 0 l -h --0.722 0.522 m --1.011 0.522 l --1.011 -0.275 l --1.194 -0.275 l --1.194 0.522 l --1.483 0.522 l --1.483 0.672 l --0.722 0.672 l --0.722 0.522 l -f -Q -q -1 0 0 1 430.109 104.05 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 1.478 1.119 2.578 2.622 2.578 c -4.13 2.578 5.251 1.478 5.251 0 c -5.251 -1.48 4.13 -2.576 2.622 -2.576 c -1.119 -2.576 0 -1.48 0 0 c -h --1.005 0 m --1.005 -1.83 0.392 -3.471 2.596 -3.471 c -4.879 -3.471 6.249 -1.819 6.249 0 c -6.249 1.87 4.841 3.457 2.622 3.457 c -0.433 3.457 -1.005 1.87 -1.005 0 c -f -Q -q -1 0 0 1 437.07 104.739 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.924 0.153 1.196 0.625 1.196 1.508 c -1.196 2.688 l -0 2.688 l -0 1.396 l -0.632 1.396 l -0.666 0.789 0.422 0.517 0 0.457 c -0 0 l -f -Q -q -1 0 0 1 440.255 106.585 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.623 0 l -1.562 0 1.936 -0.38 1.943 -1.015 c -1.953 -1.572 1.66 -2.116 0.623 -2.116 c -0 -2.116 l -0 0 l -h --0.974 0.842 m --0.974 -5.91 l -0 -5.91 l -0 -2.983 l -0.407 -2.983 l -0.892 -2.983 1.299 -3.147 2.194 -4.529 c -3.081 -5.91 l -4.241 -5.91 l -3.773 -5.267 3.604 -5.039 3.315 -4.57 c -2.802 -3.729 2.432 -3.121 1.813 -2.714 c -2.542 -2.412 2.948 -1.846 2.948 -1.057 c -2.948 0.107 2.099 0.842 0.721 0.842 c --0.974 0.842 l -f -Q -q -1 0 0 1 448.782 107.427 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --3.826 0 l --3.826 -6.752 l -0.086 -6.752 l -0.086 -5.881 l --2.859 -5.881 l --2.859 -3.783 l --0.095 -3.783 l --0.095 -2.917 l --2.859 -2.917 l --2.859 -0.876 l -0 -0.876 l -0 0 l -f -Q -q -1 0 0 1 0 -0 cm -0 0 0 0.27 k -/GS2 gs -449.787 100.676 0.975 6.752 re -f -Q -q -1 0 0 1 452.73 107.427 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.974 0 l --0.974 -6.752 l -3.037 -6.752 l -3.037 -5.881 l -0 -5.881 l -0 0 l -f -Q -q -1 0 0 1 457.381 107.427 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.979 0 l --0.979 -6.752 l -3.036 -6.752 l -3.036 -5.881 l -0 -5.881 l -0 0 l -f -Q -q -1 0 0 1 462.301 105.136 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --1.802 2.329 l --2.983 2.329 l --0.471 -0.841 l --0.471 -4.408 l -0.487 -4.408 l -0.487 -0.857 l -2.998 2.329 l -1.832 2.329 l -0 0 l -f -Q -q -1 0 0 1 465.72 107.062 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.078 0 l -0.149 0 0.201 -0.031 0.201 -0.091 c -0.201 -0.152 0.149 -0.163 0.066 -0.163 c -0 -0.163 l -0 0 l -h --0.164 0.106 m --0.164 -0.537 l -0 -0.537 l -0 -0.279 l -0.052 -0.286 l -0.078 -0.309 0.136 -0.39 0.201 -0.537 c -0.391 -0.537 l -0.338 -0.434 l -0.296 -0.339 0.258 -0.286 0.188 -0.251 c -0.244 -0.246 0.365 -0.205 0.365 -0.07 c -0.365 0.053 0.258 0.106 0.136 0.106 c --0.164 0.106 l -h -0.122 0.27 m -0.38 0.27 0.597 0.053 0.597 -0.217 c -0.597 -0.476 0.38 -0.708 0.122 -0.708 c --0.164 -0.708 -0.366 -0.476 -0.366 -0.217 c --0.366 0.053 -0.148 0.27 0.122 0.27 c -h -0.122 0.392 m --0.219 0.392 -0.488 0.122 -0.488 -0.217 c --0.488 -0.544 -0.219 -0.815 0.122 -0.815 c -0.448 -0.815 0.719 -0.544 0.719 -0.217 c -0.719 0.122 0.448 0.392 0.122 0.392 c -f -Q -q -1 0 0 1 147.064 110.369 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --4.108 0 l --2.072 3.572 l -0 0 l -f -Q -q -1 0 0 1 144.501 109.628 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --2.052 -3.558 l --4.128 -0.011 l -0 0 l -f -Q -q -1 0 0 1 149.446 109.628 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --2.053 -3.558 l --4.129 -0.011 l -0 0 l -f -Q -q -1 0 0 1 138.377 101.179 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.187 -0.431 l -0.227 -0.535 0.311 -0.711 0.311 -0.825 c -0.311 -1.007 0.181 -1.049 -0.042 -1.059 c --0.042 -1.152 l -1.313 -1.152 l -1.313 -1.059 l -0.928 -1.043 0.829 -0.752 0.701 -0.441 c --0.467 2.36 l --0.561 2.36 l --1.795 -0.535 l --1.951 -0.898 -2.059 -1.033 -2.329 -1.059 c --2.329 -1.152 l --1.25 -1.152 l --1.25 -1.059 l --1.442 -1.043 -1.65 -1.023 -1.65 -0.83 c --1.65 -0.732 -1.577 -0.571 -1.536 -0.483 c --1.328 0 l -0 0 l -h --0.067 0.186 m --1.25 0.186 l --0.654 1.572 l --0.067 0.186 l -f -Q -q -1 0 0 1 141.547 102.222 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.135 0.139 -0.328 0.197 -0.514 0.197 c --1.188 0.197 -1.63 -0.503 -1.63 -1.121 c --1.63 -1.665 -1.297 -2.267 -0.69 -2.267 c --0.4 -2.267 -0.197 -2.137 0 -1.935 c -0 -2.267 l -0.113 -2.267 l -0.814 -1.982 l -0.779 -1.894 l -0.726 -1.914 0.659 -1.935 0.602 -1.935 c -0.529 -1.935 0.42 -1.935 0.42 -1.583 c -0.42 1.406 l -0.305 1.406 l --0.395 1.121 l --0.358 1.033 l --0.307 1.053 -0.239 1.074 -0.182 1.074 c --0.108 1.074 0 1.074 0 0.721 c -0 0 l -h -0 -1.753 m --0.119 -1.883 -0.265 -1.987 -0.447 -1.987 c --0.841 -1.987 -1.157 -1.572 -1.157 -0.94 c --1.157 -0.131 -0.726 0.041 -0.539 0.041 c --0.187 0.041 0 -0.312 0 -0.622 c -0 -1.753 l -f -Q -q -1 0 0 1 144.14 102.222 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.134 0.139 -0.327 0.197 -0.513 0.197 c --1.188 0.197 -1.629 -0.503 -1.629 -1.121 c --1.629 -1.665 -1.297 -2.267 -0.689 -2.267 c --0.399 -2.267 -0.197 -2.137 0 -1.935 c -0 -2.267 l -0.115 -2.267 l -0.815 -1.982 l -0.779 -1.894 l -0.727 -1.914 0.659 -1.935 0.602 -1.935 c -0.529 -1.935 0.421 -1.935 0.421 -1.583 c -0.421 1.406 l -0.307 1.406 l --0.393 1.121 l --0.358 1.033 l --0.306 1.053 -0.238 1.074 -0.181 1.074 c --0.108 1.074 0 1.074 0 0.721 c -0 0 l -h -0 -1.753 m --0.119 -1.883 -0.265 -1.987 -0.446 -1.987 c --0.839 -1.987 -1.157 -1.572 -1.157 -0.94 c --1.157 -0.131 -0.726 0.041 -0.54 0.041 c --0.186 0.041 0 -0.312 0 -0.622 c -0 -1.753 l -f -Q -q -1 0 0 1 145.671 103.628 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.139 0 0.255 -0.113 0.255 -0.255 c -0.255 -0.395 0.139 -0.509 0 -0.509 c --0.14 -0.509 -0.254 -0.395 -0.254 -0.255 c --0.254 -0.113 -0.14 0 0 0 c -h -0.212 -3.159 m -0.212 -3.465 0.333 -3.503 0.57 -3.508 c -0.57 -3.601 l --0.566 -3.601 l --0.566 -3.508 l --0.328 -3.503 -0.208 -3.465 -0.208 -3.159 c --0.208 -1.894 l --0.208 -1.541 -0.317 -1.541 -0.39 -1.541 c --0.446 -1.541 -0.514 -1.562 -0.566 -1.582 c --0.602 -1.495 l -0.098 -1.209 l -0.212 -1.209 l -0.212 -3.159 l -f -Q -q -1 0 0 1 148.048 101.625 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.093 0 l --0.172 0.346 -0.312 0.637 -0.716 0.637 c --0.902 0.637 -1.111 0.534 -1.111 0.322 c --1.111 -0.245 0.171 -0.172 0.171 -0.976 c -0.171 -1.402 -0.229 -1.671 -0.622 -1.671 c --0.773 -1.671 -0.939 -1.634 -1.09 -1.593 c --1.121 -1.583 -1.184 -1.567 -1.219 -1.567 c --1.266 -1.567 -1.302 -1.593 -1.313 -1.634 c --1.406 -1.634 l --1.406 -0.805 l --1.313 -0.805 l --1.266 -1.168 -0.991 -1.515 -0.602 -1.515 c --0.39 -1.515 -0.203 -1.391 -0.203 -1.162 c --0.203 -0.555 -1.411 -0.639 -1.411 0.098 c --1.411 0.524 -1.105 0.793 -0.691 0.793 c --0.582 0.793 -0.498 0.768 -0.395 0.735 c --0.333 0.72 -0.265 0.695 -0.203 0.695 c --0.135 0.695 -0.115 0.735 -0.093 0.793 c -0 0.793 l -0 0 l -f -Q -q -1 0 0 1 149.691 102.419 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.678 0 -1.124 -0.618 -1.124 -1.256 c --1.124 -1.878 -0.694 -2.464 -0.035 -2.464 c -0.784 -2.464 1.116 -1.712 1.116 -1.178 c -1.116 -0.545 0.649 0 0 0 c -h --0.088 -0.177 m -0.488 -0.177 0.644 -0.945 0.644 -1.396 c -0.644 -1.759 0.556 -2.288 0.084 -2.288 c --0.493 -2.288 -0.654 -1.479 -0.654 -1.033 c --0.654 -0.368 -0.342 -0.177 -0.088 -0.177 c -f -Q -q -1 0 0 1 151.824 101.932 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.291 0.32 0.493 0.487 0.789 0.487 c -1.208 0.487 1.375 0.092 1.375 -0.297 c -1.375 -1.463 l -1.375 -1.769 1.494 -1.807 1.733 -1.812 c -1.733 -1.905 l -0.596 -1.905 l -0.596 -1.812 l -0.835 -1.807 0.955 -1.769 0.955 -1.463 c -0.955 -0.39 l -0.955 0.123 0.741 0.176 0.585 0.176 c -0.348 0.176 0.172 0.02 0 -0.156 c -0 -1.463 l -0 -1.769 0.119 -1.807 0.358 -1.812 c -0.358 -1.905 l --0.779 -1.905 l --0.779 -1.812 l --0.539 -1.807 -0.42 -1.769 -0.42 -1.463 c --0.42 -0.198 l --0.42 0.155 -0.529 0.155 -0.602 0.155 c --0.659 0.155 -0.727 0.134 -0.779 0.113 c --0.815 0.201 l --0.115 0.487 l -0 0.487 l -0 0 l -f -Q -q -1 0 0 1 141.326 97.085 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.041 0.119 0.124 0.348 0.124 0.467 c -0.124 0.665 -0.022 0.711 -0.254 0.711 c --0.254 0.804 l -0.772 0.804 l -0.772 0.711 l -0.431 0.711 0.358 0.426 0.265 0.151 c --0.722 -2.708 l --0.82 -2.708 l --1.598 -0.529 l --1.608 -0.529 l --2.371 -2.708 l --2.475 -2.708 l --3.534 0.254 l --3.648 0.582 -3.699 0.711 -4.01 0.711 c --4.01 0.804 l --2.739 0.804 l --2.739 0.711 l --2.927 0.711 -3.077 0.67 -3.077 0.494 c --3.077 0.41 -3.026 0.275 -2.998 0.197 c --2.298 -1.8 l --2.288 -1.8 l --1.717 -0.196 l --1.857 0.188 l --1.967 0.477 -2.044 0.711 -2.386 0.711 c --2.386 0.804 l --1.043 0.804 l --1.043 0.711 l --1.261 0.711 -1.411 0.696 -1.411 0.477 c --1.411 0.328 -1.328 0.114 -1.277 -0.025 c --0.644 -1.8 l --0.633 -1.8 l -0 0 l -f -Q -q -1 0 0 1 143.874 95.897 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 0.56 -0.353 0.949 -0.888 0.949 c --1.624 0.949 -1.961 0.347 -1.961 -0.322 c --1.961 -1.033 -1.515 -1.516 -0.95 -1.516 c --0.426 -1.516 -0.089 -1.075 0 -0.597 c --0.078 -0.546 l --0.198 -0.882 -0.4 -1.1 -0.773 -1.1 c --1.339 -1.1 -1.609 -0.519 -1.609 0 c -0 0 l -h --1.604 0.155 m --1.582 0.456 -1.365 0.762 -1.059 0.762 c --0.691 0.762 -0.53 0.476 -0.53 0.155 c --1.604 0.155 l -f -Q -q -1 0 0 1 145.715 96.052 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.093 0 l --0.17 0.348 -0.31 0.639 -0.716 0.639 c --0.903 0.639 -1.11 0.534 -1.11 0.322 c --1.11 -0.243 0.172 -0.171 0.172 -0.975 c -0.172 -1.401 -0.227 -1.671 -0.623 -1.671 c --0.773 -1.671 -0.938 -1.634 -1.089 -1.593 c --1.12 -1.582 -1.182 -1.566 -1.219 -1.566 c --1.266 -1.566 -1.301 -1.593 -1.312 -1.634 c --1.406 -1.634 l --1.406 -0.804 l --1.312 -0.804 l --1.266 -1.167 -0.991 -1.515 -0.601 -1.515 c --0.388 -1.515 -0.202 -1.39 -0.202 -1.162 c --0.202 -0.555 -1.411 -0.638 -1.411 0.099 c --1.411 0.525 -1.105 0.794 -0.69 0.794 c --0.581 0.794 -0.497 0.768 -0.394 0.738 c --0.331 0.722 -0.265 0.696 -0.202 0.696 c --0.135 0.696 -0.114 0.738 -0.093 0.794 c -0 0.794 l -0 0 l -f -Q -q -1 0 0 1 147.012 94.895 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 -0.305 0.12 -0.342 0.359 -0.347 c -0.359 -0.44 l --0.778 -0.44 l --0.778 -0.347 l --0.539 -0.342 -0.42 -0.305 -0.42 0 c --0.42 2.475 l --0.42 2.828 -0.528 2.828 -0.602 2.828 c --0.658 2.828 -0.726 2.808 -0.778 2.787 c --0.813 2.875 l --0.113 3.16 l -0 3.16 l -0 0 l -f -Q -q -1 0 0 1 149.638 95.897 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 0.56 -0.353 0.949 -0.887 0.949 c --1.624 0.949 -1.961 0.347 -1.961 -0.322 c --1.961 -1.033 -1.515 -1.516 -0.95 -1.516 c --0.426 -1.516 -0.088 -1.075 0 -0.597 c --0.078 -0.546 l --0.197 -0.882 -0.4 -1.1 -0.773 -1.1 c --1.339 -1.1 -1.608 -0.519 -1.608 0 c -0 0 l -h --1.603 0.155 m --1.582 0.456 -1.365 0.762 -1.059 0.762 c --0.691 0.762 -0.53 0.476 -0.53 0.155 c --1.603 0.155 l -f -Q -q -1 0 0 1 150.193 96.239 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.088 0.192 -0.208 0.414 -0.436 0.44 c --0.436 0.535 l -0.643 0.535 l -0.643 0.44 l -0.482 0.44 0.363 0.42 0.363 0.253 c -0.363 0.165 0.435 0.021 0.472 -0.062 c -1.012 -1.173 l -1.505 0.046 l -1.541 0.14 1.572 0.213 1.572 0.311 c -1.572 0.43 1.479 0.44 1.339 0.44 c -1.339 0.535 l -2.097 0.535 l -2.097 0.44 l -1.93 0.44 1.842 0.311 1.785 0.17 c -0.794 -2.257 l -0.592 -2.756 0.212 -2.906 0.031 -2.906 c --0.14 -2.906 -0.317 -2.801 -0.317 -2.615 c --0.317 -2.459 -0.192 -2.387 -0.053 -2.387 c -0.119 -2.387 0.202 -2.48 0.291 -2.48 c -0.497 -2.48 0.607 -2.189 0.669 -2.04 c -0.809 -1.691 l -0 0 l -f -Q -q -1 0 0 1 300.379 79.974 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.295 0.286 -0.691 0.462 -1.151 0.462 c --1.476 0.462 -1.963 0.271 -2.033 -0.12 c --2.084 -0.544 -1.624 -0.703 -1.311 -0.797 c --0.878 -0.946 l -0.069 -1.232 0.747 -1.734 0.572 -2.887 c -0.461 -3.58 0.178 -4.312 -0.459 -4.788 c --1.096 -5.257 -1.871 -5.449 -2.574 -5.449 c --3.47 -5.449 -4.297 -5.152 -4.935 -4.641 c --3.916 -3.159 l --3.522 -3.563 -3.035 -3.888 -2.398 -3.888 c --1.963 -3.888 -1.476 -3.674 -1.395 -3.186 c --1.311 -2.654 -2.006 -2.488 -2.385 -2.372 c --3.481 -2.038 -4.2 -1.742 -3.982 -0.364 c --3.757 1.067 -2.574 2.007 -1.163 2.007 c --0.446 2.007 0.382 1.783 0.965 1.432 c -0 0 l -f -Q -q -1 0 0 1 309.788 81.791 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -1.821 0 l -2.645 -3.783 l -4.774 0 l -6.604 0 l -6.565 -7.091 l -4.709 -7.091 l -4.842 -3.009 l -4.831 -3.009 l -2.481 -7.091 l -1.735 -7.091 l -0.763 -3.009 l -0.747 -3.009 l --0.498 -7.091 l --2.329 -7.091 l -0 0 l -f -Q -q -1 0 0 1 321.847 79.974 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.286 0.286 -0.692 0.462 -1.143 0.462 c --1.481 0.462 -1.968 0.271 -2.021 -0.12 c --2.105 -0.544 -1.631 -0.703 -1.319 -0.797 c --0.869 -0.946 l -0.064 -1.232 0.757 -1.734 0.566 -2.887 c -0.46 -3.58 0.174 -4.312 -0.465 -4.788 c --1.1 -5.257 -1.873 -5.449 -2.592 -5.449 c --3.472 -5.449 -4.302 -5.152 -4.953 -4.641 c --3.92 -3.159 l --3.53 -3.563 -3.025 -3.888 -2.402 -3.888 c --1.968 -3.888 -1.481 -3.674 -1.398 -3.186 c --1.319 -2.654 -2.01 -2.488 -2.389 -2.372 c --3.487 -2.038 -4.205 -1.742 -3.991 -0.364 c --3.757 1.067 -2.592 2.007 -1.169 2.007 c --0.451 2.007 0.39 1.783 0.959 1.432 c -0 0 l -f -Q -q -1 0 0 1 302.633 74.809 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --2.59 0 l -4.568 9.269 l -4.568 0 l -2.51 0 l -2.51 3.606 l -0 0 l -f -Q -q -1 0 0 1 137.616 76.026 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 -1.795 -0.969 -3.361 -2.447 -4.152 c --2.492 -4.229 l --2.417 -4.294 l --1.911 -4.266 -1.475 -4.152 -1.044 -3.942 c -0.521 -3.154 1.598 -1.527 1.598 0.351 c -1.598 2.588 -0.222 4.393 -2.447 4.393 c --2.638 4.393 -2.773 4.393 -2.97 4.362 c --3.029 4.259 l --2.983 4.2 l --1.225 3.625 0 1.968 0 0 c --0.27 0 l --0.27 1.946 -1.537 3.601 -3.312 4.156 c --3.475 4.213 -3.445 4.407 -3.418 4.544 c --3.383 4.736 -3.312 4.962 -3.029 5.003 c --1.819 5.184 -0.67 5.539 0.388 6.054 c -2.075 4.886 3.175 2.931 3.175 0.709 c -3.175 -2.884 0.253 -5.809 -3.343 -5.809 c --6.933 -5.809 -9.858 -2.884 -9.858 0.709 c --9.858 2.188 -9.367 3.541 -8.546 4.637 c --7.399 5.003 -6.178 5.199 -4.935 5.155 c --4.373 5.138 -4.131 4.991 -4.193 4.709 c --4.251 4.42 -4.355 4.296 -4.699 4.259 c --4.892 4.246 -5.158 4.221 -5.326 4.2 c --6.963 3.931 -8.219 2.305 -8.219 0.351 c --8.219 -1.691 -6.952 -3.436 -5.158 -4.14 c --4.802 -4.266 -4.413 -4.347 -4.012 -4.347 c --3.312 -4.347 -2.668 -4.122 -2.148 -3.729 c --0.997 -2.884 -0.27 -1.527 -0.27 0 c -0 0 l -f -Q -q -1 0 0 1 134.273 69.346 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -4.075 0 7.399 3.302 7.399 7.388 c -7.399 11.461 4.075 14.774 0 14.774 c --4.085 14.774 -7.38 11.461 -7.38 7.388 c --7.38 3.302 -4.085 0 0 0 c -0 -0.478 l --4.355 -0.478 -7.873 3.043 -7.873 7.388 c --7.873 11.743 -4.355 15.251 0 15.251 c -4.341 15.251 7.877 11.743 7.877 7.388 c -7.877 3.043 4.341 -0.478 0 -0.478 c -0 0 l -f -Q -q -1 0 0 1 130.829 82.27 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -1.03 -0.285 2.118 -0.432 3.252 -0.42 c -4.427 -0.39 5.562 -0.202 6.622 0.161 c -5.685 0.684 4.597 0.984 3.444 0.984 c -2.181 0.984 1 0.627 0 0 c -f -Q -q -1 0 0 1 143.282 77.585 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.626 0 l -0.626 1.326 l -0.973 1.326 l -1.673 1.326 2.033 1.714 2.033 2.358 c -2.033 2.998 1.673 3.394 0.973 3.394 c -0 3.394 l -0 0 l -h -0.626 1.791 m -0.626 2.91 l -0.851 2.91 l -1.241 2.91 1.416 2.729 1.416 2.358 c -1.416 1.982 1.241 1.791 0.851 1.791 c -0.626 1.791 l -f -Q -q -1 0 0 1 146.938 79.048 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 0.445 -0.134 0.672 -0.418 0.672 c --0.734 0.672 -0.866 0.328 -0.866 0 c -0 0 l -h -0.461 -1.342 m -0.345 -1.401 0.077 -1.5 -0.285 -1.5 c --1.089 -1.5 -1.449 -0.923 -1.449 -0.255 c --1.449 0.492 -1.042 1.074 -0.418 1.074 c -0.134 1.074 0.581 0.76 0.581 -0.262 c -0.581 -0.376 l --0.866 -0.376 l --0.866 -0.797 -0.686 -1.053 -0.226 -1.053 c -0.148 -1.053 0.315 -0.957 0.432 -0.865 c -0.461 -1.342 l -f -Q -q -1 0 0 1 148.144 79.457 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.12 0.1 0.39 0.232 0.687 0.232 c -1.031 0.232 1.153 0.008 1.153 -0.24 c -1.153 -0.336 l -1.031 -0.336 l -0.274 -0.336 -0.28 -0.5 -0.28 -1.187 c --0.28 -1.646 0.077 -1.909 0.464 -1.909 c -0.82 -1.909 1.017 -1.74 1.165 -1.531 c -1.165 -1.646 1.181 -1.78 1.193 -1.872 c -1.746 -1.872 l -1.734 -1.78 1.716 -1.605 1.716 -1.425 c -1.716 -0.35 l -1.716 0.291 1.536 0.665 0.763 0.665 c -0.373 0.665 0.14 0.56 -0.029 0.486 c -0 0 l -h -1.153 -0.789 m -1.153 -1.236 1.017 -1.512 0.657 -1.512 c -0.435 -1.512 0.274 -1.35 0.274 -1.12 c -0.274 -0.756 0.583 -0.651 1.105 -0.651 c -1.153 -0.651 l -1.153 -0.789 l -f -Q -q -1 0 0 1 152.115 77.647 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.136 -0.046 -0.346 -0.1 -0.583 -0.1 c --1.418 -0.1 -1.759 0.478 -1.759 1.194 c --1.759 1.893 -1.404 2.474 -0.554 2.474 c --0.358 2.474 -0.136 2.415 -0.031 2.379 c --0.061 1.893 l --0.181 1.952 -0.328 2.026 -0.493 2.026 c --0.939 2.026 -1.149 1.712 -1.149 1.176 c --1.149 0.715 -0.929 0.357 -0.462 0.357 c --0.317 0.357 -0.119 0.414 -0.031 0.478 c -0 0 l -f -Q -q -1 0 0 1 152.486 81.225 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.601 0 l -0.601 -1.464 l -0.613 -1.464 l -0.717 -1.297 0.867 -1.104 1.24 -1.104 c -1.804 -1.104 1.969 -1.523 1.969 -2.029 c -1.969 -3.64 l -1.373 -3.64 l -1.373 -2.145 l -1.373 -1.76 1.269 -1.598 1.03 -1.598 c -0.717 -1.598 0.601 -1.866 0.601 -2.183 c -0.601 -3.64 l -0 -3.64 l -0 0 l -f -Q -q -1 0 0 1 155.006 76.543 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.612 0 l -0.612 1.391 l -0.703 1.205 0.895 1.005 1.269 1.005 c -1.805 1.005 2.118 1.481 2.118 2.298 c -2.118 2.981 1.868 3.579 1.251 3.579 c -0.851 3.579 0.67 3.369 0.582 3.146 c -0.57 3.146 l -0.57 3.325 0.554 3.457 0.554 3.532 c --0.013 3.532 l -0 3.453 0 3.3 0 3.113 c -0 0 l -h -0.612 2.281 m -0.612 2.756 0.73 3.139 1.088 3.139 c -1.432 3.139 1.524 2.844 1.524 2.263 c -1.524 1.774 1.403 1.451 1.076 1.451 c -0.73 1.451 0.612 1.803 0.612 2.281 c -f -Q -q -1 0 0 1 157.66 81.151 cm -0 0 0 0.27 k -/GS2 gs -0 0 0.611 -0.599 re -0 -1.076 0.611 -2.49 re -f -Q -q -1 0 0 1 159.092 80.598 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.599 0.18 l -0.599 -0.523 l -1.104 -0.523 l -1.104 -0.955 l -0.599 -0.955 l -0.599 -2.252 l -0.599 -2.511 0.704 -2.594 0.867 -2.594 c -0.984 -2.594 1.059 -2.566 1.104 -2.537 c -1.104 -2.976 l -1.018 -3.013 0.879 -3.05 0.704 -3.05 c -0.255 -3.05 0 -2.85 0 -2.327 c -0 -0.955 l --0.402 -0.955 l --0.402 -0.523 l -0 -0.523 l -0 0 l -f -Q -q -1 0 0 1 146.682 72.293 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.63 0 l -0.63 1.328 l -0.972 1.328 l -1.671 1.328 2.03 1.712 2.03 2.361 c -2.03 2.997 1.671 3.383 0.972 3.383 c -0 3.383 l -0 0 l -h -0.63 1.803 m -0.63 2.905 l -0.85 2.905 l -1.239 2.905 1.403 2.729 1.403 2.361 c -1.403 1.98 1.239 1.803 0.85 1.803 c -0.63 1.803 l -f -Q -q -1 0 0 1 149.161 74.376 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 0.151 0 0.303 -0.016 0.407 c -0.519 0.407 l -0.536 0.258 0.536 0.105 0.536 -0.041 c -0.554 -0.041 l -0.625 0.151 0.822 0.45 1.195 0.45 c -1.299 0.436 l -1.299 -0.115 l -1.119 -0.103 l -0.863 -0.103 0.594 -0.257 0.594 -0.728 c -0.594 -2.083 l -0 -2.083 l -0 0 l -f -Q -q -1 0 0 1 152.606 72.886 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.104 -0.073 -0.284 -0.191 -0.658 -0.191 c --1.121 -0.191 -1.285 0.061 -1.285 0.495 c -0.147 0.495 l -0.147 0.603 l -0.147 1.624 -0.3 1.94 -0.849 1.94 c --1.478 1.94 -1.878 1.375 -1.878 0.613 c --1.878 -0.057 -1.522 -0.64 -0.713 -0.64 c --0.359 -0.64 -0.092 -0.522 0.03 -0.476 c -0 0 l -h --1.285 0.869 m --1.285 1.195 -1.162 1.536 -0.849 1.536 c --0.568 1.536 -0.436 1.315 -0.436 0.869 c --1.285 0.869 l -f -Q -q -1 0 0 1 153.157 72.872 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.104 -0.034 0.342 -0.158 0.626 -0.158 c -0.853 -0.158 1.015 -0.121 1.015 0.091 c -1.015 0.177 0.969 0.269 0.749 0.404 c -0.51 0.545 l -0.255 0.692 -0.03 0.856 -0.03 1.246 c --0.03 1.595 0.312 1.953 0.837 1.953 c -1.15 1.953 1.401 1.877 1.464 1.849 c -1.432 1.388 l -1.283 1.447 1.121 1.5 0.895 1.5 c -0.656 1.5 0.552 1.401 0.552 1.254 c -0.552 1.119 0.656 1.052 0.837 0.932 c -1.133 0.748 l -1.447 0.545 1.598 0.411 1.598 0.12 c -1.598 -0.35 1.209 -0.627 0.656 -0.627 c -0.359 -0.627 0.104 -0.544 -0.03 -0.509 c -0 0 l -f -Q -q -1 0 0 1 155.141 72.872 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.091 -0.034 0.341 -0.158 0.627 -0.158 c -0.837 -0.158 1.002 -0.121 1.002 0.091 c -1.002 0.177 0.953 0.269 0.746 0.404 c -0.495 0.545 l -0.239 0.692 -0.031 0.856 -0.031 1.246 c --0.031 1.595 0.301 1.953 0.82 1.953 c -1.151 1.953 1.401 1.877 1.461 1.849 c -1.42 1.388 l -1.269 1.447 1.116 1.5 0.894 1.5 c -0.656 1.5 0.535 1.401 0.535 1.254 c -0.535 1.119 0.656 1.052 0.82 0.932 c -1.135 0.748 l -1.431 0.545 1.594 0.411 1.594 0.12 c -1.594 -0.35 1.211 -0.627 0.656 -0.627 c -0.341 -0.627 0.091 -0.544 -0.031 -0.509 c -0 0 l -f -Q -q -1 0 0 1 241.763 73.694 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -2.234 0 l -2.234 -0.311 l -0.387 -0.311 l -0.387 -0.957 l -1.515 -0.957 l -1.515 -1.263 l -0.387 -1.263 l -0.387 -1.998 l -2.252 -1.998 l -2.252 -2.319 l -0 -2.319 l -0 0 l -f -Q -q -1 0 0 1 220.898 73.393 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 -0.81 l -1.33 -0.81 l -1.502 -0.81 1.583 -0.764 1.583 -0.567 c -1.583 -0.244 l -1.583 -0.05 1.507 0 1.33 0 c -0 0 l -h --0.385 0.301 m -1.484 0.301 l -1.82 0.301 1.974 0.174 1.974 -0.149 c -1.974 -0.666 l -1.974 -0.989 1.82 -1.114 1.484 -1.114 c -0 -1.114 l -0 -2.018 l --0.385 -2.018 l --0.385 0.301 l -f -Q -q -1 0 0 1 224.207 73.393 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 -0.815 l -1.33 -0.815 l -1.5 -0.815 1.582 -0.773 1.582 -0.575 c -1.582 -0.238 l -1.582 -0.045 1.5 0 1.33 0 c -0 0 l -h --0.388 0.301 m -1.484 0.301 l -1.82 0.301 1.972 0.174 1.972 -0.149 c -1.972 -0.666 l -1.972 -0.989 1.82 -1.114 1.484 -1.114 c -1.141 -1.114 l -2.202 -2.018 l -1.628 -2.018 l -0.682 -1.114 l -0 -1.114 l -0 -2.018 l --0.388 -2.018 l --0.388 0.301 l -f -Q -q -1 0 0 1 227.244 73.694 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -2.235 0 l -2.235 -0.311 l -0.389 -0.311 l -0.389 -0.957 l -1.515 -0.957 l -1.515 -1.263 l -0.389 -1.263 l -0.389 -1.998 l -2.254 -1.998 l -2.254 -2.319 l -0 -2.319 l -0 0 l -f -Q -q -1 0 0 1 230.418 73.694 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.244 0 l -1.977 -1.55 l -2.06 -1.622 2.149 -1.722 2.243 -1.843 c -2.206 -1.627 2.206 -1.44 2.206 -1.273 c -2.206 0 l -2.562 0 l -2.562 -2.319 l -2.346 -2.319 l -0.562 -0.706 l -0.493 -0.642 0.405 -0.575 0.328 -0.445 c -0.35 -0.617 0.354 -0.781 0.354 -0.953 c -0.354 -2.319 l -0 -2.319 l -0 0 l -f -Q -q -1 0 0 1 235.083 71.375 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.387 0 l --0.387 2.003 l --1.448 2.003 l --1.448 2.319 l -1.065 2.319 l -1.065 2.003 l -0 2.003 l -0 0 l -f -Q -q -1 0 0 1 0 -0 cm -0 0 0 0.27 k -/GS2 gs -236.8 71.375 0.387 2.319 re -f -Q -q -1 0 0 1 238.746 73.378 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 -1.679 l -1.609 -1.679 l -1.609 -1.099 l -1.997 -1.18 l -1.997 -1.455 l -1.997 -1.887 1.875 -2.003 1.457 -2.003 c -0.156 -2.003 l --0.261 -2.003 -0.385 -1.881 -0.385 -1.455 c --0.385 -0.232 l --0.385 0.196 -0.261 0.316 0.156 0.316 c -1.457 0.316 l -1.875 0.316 1.997 0.2 1.997 -0.232 c -1.997 -0.453 l -1.609 -0.523 l -1.609 0 l -0 0 l -f -Q -q -1 0 0 1 226.186 70.389 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.387 0 l -0.387 -0.948 l -2.216 -0.948 l -2.216 0 l -2.603 0 l -2.603 -2.317 l -2.216 -2.317 l -2.216 -1.266 l -0.387 -1.266 l -0.387 -2.317 l -0 -2.317 l -0 0 l -f -Q -q -1 0 0 1 231.632 68.938 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.627 1.187 l --1.253 0 l -0 0 l -h --0.824 1.451 m --0.413 1.451 l -0.878 -0.866 l -0.45 -0.866 l -0.155 -0.297 l --1.414 -0.297 l --1.712 -0.866 l --2.093 -0.866 l --0.824 1.451 l -f -Q -q -1 0 0 1 233.26 70.389 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.387 0 l -0.387 -1.995 l -2.145 -1.995 l -2.145 -2.317 l -0 -2.317 l -0 0 l -f -Q -q -1 0 0 1 236.196 70.389 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.386 0 l -0.386 -1.995 l -2.144 -1.995 l -2.144 -2.317 l -0 -2.317 l -0 0 l -f -Q -q -1 0 0 1 230.996 86.358 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.023 0.112 0.036 0.229 0.036 0.348 c -0.036 1.354 -0.783 2.174 -1.789 2.174 c --2.799 2.174 -3.617 1.354 -3.617 0.348 c --3.617 -0.661 -2.799 -1.48 -1.789 -1.48 c --1.43 -1.48 -1.096 -1.372 -0.812 -1.19 c --0.714 -0.689 -0.415 -0.264 0 0 c -f -Q -q -1 0 0 1 234.74 88.527 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --1.009 0 -1.826 -0.817 -1.826 -1.826 c --1.826 -1.94 -1.813 -2.05 -1.791 -2.158 c --1.379 -2.429 -1.082 -2.856 -0.989 -3.358 c --0.704 -3.542 -0.365 -3.652 0 -3.652 c -1.01 -3.652 1.826 -2.835 1.826 -1.826 c -1.826 -0.817 1.01 0 0 0 c -f -Q -q -1 0 0 1 234.757 84.291 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.558 0 -1.05 -0.256 -1.386 -0.649 c --1.4 -0.649 l --1.735 -1.055 -2.233 -1.318 -2.802 -1.318 c --3.374 -1.318 -3.88 -1.048 -4.215 -0.635 c --4.55 -0.259 -5.03 -0.015 -5.576 -0.015 c --6.582 -0.015 -7.399 -0.832 -7.399 -1.84 c --7.399 -2.85 -6.582 -3.666 -5.576 -3.666 c --5.059 -3.666 -4.602 -3.447 -4.27 -3.102 c --3.938 -2.635 -3.397 -2.329 -2.781 -2.329 c --2.163 -2.329 -1.622 -2.637 -1.29 -3.106 c --0.961 -3.44 -0.509 -3.653 0 -3.653 c -1.008 -3.653 1.825 -2.836 1.825 -1.828 c -1.825 -0.82 1.008 0 0 0 c -f -Q -q -1 0 0 1 234.717 80.013 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.36 0 -0.697 -0.107 -0.98 -0.289 c --1.077 -0.789 -1.377 -1.214 -1.792 -1.48 c --1.814 -1.594 -1.827 -1.708 -1.827 -1.826 c --1.827 -2.835 -1.007 -3.654 0 -3.654 c -1.008 -3.654 1.825 -2.835 1.825 -1.826 c -1.825 -0.818 1.008 0 0 0 c -f -Q -q -1 0 0 1 230.171 79.721 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.287 0.184 -0.625 0.295 -0.989 0.295 c --1.998 0.295 -2.815 -0.522 -2.815 -1.531 c --2.815 -2.538 -1.998 -3.356 -0.989 -3.356 c -0.019 -3.356 0.838 -2.538 0.838 -1.531 c -0.838 -1.416 0.823 -1.306 0.803 -1.197 c -0.391 -0.928 0.093 -0.502 0 0 c -f -Q -q -1 0 0 1 417.352 81.581 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.866 0.727 -1.832 1.052 -3.815 1.052 c --6.052 1.052 -7.184 0.552 -7.975 -0.317 c --8.881 -1.309 -9.26 -2.707 -9.26 -4.905 c --9.26 -6.712 -9.012 -8.516 -7.921 -9.604 c --6.973 -10.554 -5.83 -10.907 -3.84 -10.907 c --1.997 -10.907 -0.858 -10.682 0.126 -9.715 c -1.184 -8.678 1.605 -7.27 1.605 -4.905 c -1.605 -2.481 1.048 -0.881 0 0 c -h -2.113 -4.896 m -2.113 -7.703 1.289 -9.231 -0.086 -10.25 c --1.074 -10.983 -2.353 -11.339 -3.851 -11.339 c --5.312 -11.339 -6.73 -10.985 -7.798 -10.083 c --8.931 -9.124 -9.766 -7.681 -9.766 -4.915 c --9.766 -2.602 -9.193 -1.155 -8.17 -0.122 c --6.946 1.114 -5.252 1.474 -3.815 1.474 c --2.374 1.474 -1.004 1.14 0.191 0.172 c -1.326 -0.744 2.113 -2.351 2.113 -4.896 c -f -Q -q -1 0 0 1 413.336 77.963 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.036 0.072 -0.165 0.241 -0.184 0.262 c --0.489 0.625 -0.618 0.779 -0.652 0.826 c --0.74 0.931 l --0.727 0.975 l --0.629 0.97 l -0.013 0.97 l -0.014 0.737 0.017 0.535 0.018 0.259 c -0.018 0.157 0.021 0.092 0.027 0.018 c -0.041 -0.054 0.021 -0.042 0 0 c -h -1.411 0.97 m -1.489 0.97 l -1.497 0.936 l -1.367 0.804 l -1.358 0.794 1.151 0.549 0.86 0.182 c -0.812 0.122 0.773 0.077 0.734 0.005 c -0.708 -0.05 0.69 -0.045 0.703 0.027 c -0.711 0.085 0.711 0.181 0.713 0.259 c -0.713 0.488 0.717 0.734 0.718 0.97 c -1.411 0.97 l -h -3.7 1.296 m -3.7 1.222 l -3.88 1.204 3.993 1.059 v -4.106 0.912 4.137 0.708 4.01 0.356 c -3.869 -0.037 2.906 -2.232 2.732 -2.579 c -2.644 -2.759 2.577 -2.992 2.559 -3.094 c -2.513 -3.094 l -2.499 -3.036 2.293 -2.738 2.19 -2.591 c -2.093 -2.452 1.461 -1.698 0.819 -0.932 c -0.694 -0.798 l -0.701 -0.739 l -0.819 -0.604 l -1.46 0.206 1.975 0.884 2.021 0.945 c -2.151 1.107 2.265 1.229 2.326 1.268 c -2.326 1.296 l -0.719 1.296 l -0.721 1.762 0.723 2.159 0.729 2.3 c -0.752 2.821 0.807 3.038 1.076 3.345 c -1.212 3.5 1.337 3.579 y -1.309 3.632 l -1.183 3.568 0.917 3.555 0.629 3.555 c -0.341 3.555 -0.592 3.574 -1.014 3.574 c --1.432 3.574 -1.697 3.477 -1.894 3.303 c --2.08 3.137 -2.279 2.752 -2.295 2.687 c --2.244 2.654 l --2.175 2.726 -2.017 2.861 -1.838 2.92 c --1.626 2.991 -1.437 3.012 -1.173 3.012 c --0.907 3.012 -0.246 2.991 -0.05 2.991 c -0.147 2.991 0.306 3.007 0.411 3.036 c -0.52 3.062 0.566 3.08 0.61 3.107 c -0.692 3.155 0.707 3.099 0.643 3.046 c -0.599 3.013 0.503 2.928 0.411 2.821 c -0.186 2.564 0 2.267 0 1.624 c -0 1.532 0 1.422 0 1.296 c --1.972 1.296 l --1.972 1.268 l --1.807 1.155 -1.591 0.894 v --1.503 0.789 -0.897 0.058 -0.2 -0.789 c --0.066 -0.939 l --0.061 -0.99 l --0.11 -1.051 -0.136 -1.069 -0.199 -1.148 c --0.857 -1.965 -1.466 -2.763 -1.519 -2.843 c --1.634 -3.016 -1.668 -3.062 -1.698 -3.128 c --1.726 -3.188 -1.754 -3.225 -1.771 -3.143 c --1.792 -3.06 -1.822 -2.915 -1.972 -2.579 c --2.122 -2.239 -3.35 0.282 -3.445 0.478 c --3.579 0.758 -3.541 0.945 -3.459 1.064 c --3.4 1.147 -3.307 1.2 -3.217 1.221 c --3.217 1.296 l --4.785 1.296 l --4.785 1.221 l --4.646 1.157 l --4.589 1.104 -4.504 0.955 -4.453 0.864 c --4.268 0.544 -2.239 -3.621 -2.15 -3.82 c --2.004 -4.138 -1.986 -4.217 y --1.955 -4.217 l --1.742 -3.892 -1.415 -3.482 v --1.315 -3.357 -0.773 -2.609 -0.125 -1.779 c --0.078 -1.72 -0.028 -1.663 0.003 -1.596 c -0.035 -1.609 l -0.023 -1.856 l -0.03 -3.039 0.047 -4.326 0.054 -5.015 c -0.063 -5.859 -0.136 -6.114 -0.567 -6.114 c --0.684 -6.114 -0.802 -6.073 -0.862 -6.024 c --0.927 -5.973 -0.957 -5.876 -0.813 -5.84 c --0.67 -5.805 -0.544 -5.653 -0.54 -5.417 c --0.536 -5.183 -0.714 -4.942 -1.031 -4.946 c --1.373 -4.95 -1.613 -5.225 -1.613 -5.622 c --1.613 -5.932 -1.373 -6.471 -0.539 -6.461 c -0.448 -6.451 0.697 -5.651 0.732 -5.27 c -0.76 -4.974 0.754 -4.711 0.754 -4.245 c -0.754 -3.936 0.742 -2.999 0.728 -2.169 c -0.719 -1.935 l -0.706 -1.87 0.729 -1.862 0.754 -1.918 c -0.786 -1.994 0.845 -2.084 0.863 -2.106 c -1.515 -2.913 2.03 -3.556 2.117 -3.668 c -2.413 -4.046 2.525 -4.217 y -2.564 -4.217 l -2.667 -3.904 2.795 -3.638 v -2.927 -3.364 4.666 0.538 4.737 0.685 c -4.81 0.839 4.918 1.033 4.991 1.1 c -5.047 1.148 5.117 1.204 5.193 1.222 c -5.193 1.296 l -3.7 1.296 l -f -Q -q -1 0 0 1 430.589 74.984 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.103 0.108 -0.101 0.284 -0.101 0.42 c --0.101 5.669 l --0.101 5.904 -0.06 6.004 0.021 6.095 c -0.101 6.183 0.199 6.251 0.333 6.27 c -0.333 6.366 l --1.738 6.366 l --1.738 6.27 l --1.606 6.251 -1.502 6.179 -1.427 6.095 c --1.345 6.004 -1.305 5.904 -1.305 5.669 c --1.305 0.42 l --1.305 0.284 -1.303 0.108 -1.406 0 c --1.493 -0.09 -1.628 -0.129 -1.738 -0.144 c --1.738 -0.244 l -0.333 -0.244 l -0.333 -0.144 l -0.221 -0.132 0.087 -0.09 0 0 c -f -Q -q -1 0 0 1 435.767 76.444 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.028 -0.142 -0.099 -0.379 -0.261 -0.544 c --0.427 -0.709 -0.573 -0.749 -0.961 -0.749 c --1.271 -0.749 -1.972 -0.749 -2.239 -0.749 c --2.239 4.21 l --2.239 4.444 -2.198 4.544 -2.115 4.636 c --2.041 4.719 -1.902 4.795 -1.726 4.81 c --1.726 4.907 l --3.877 4.907 l --3.877 4.81 l --3.744 4.792 -3.641 4.719 -3.565 4.636 c --3.484 4.544 -3.445 4.434 -3.443 4.21 c --3.443 -1.04 l --3.443 -1.176 -3.441 -1.351 -3.544 -1.46 c --3.631 -1.549 -3.764 -1.591 -3.877 -1.603 c --3.877 -1.703 l --0.022 -1.703 l -0.101 -0.01 l -0 0 l -f -Q -q -1 0 0 1 440.354 76.444 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.027 -0.14 -0.102 -0.41 -0.267 -0.575 c --0.432 -0.741 -0.575 -0.779 -0.963 -0.779 c --1.273 -0.779 -2.241 -0.779 -2.51 -0.779 c --2.51 1.33 l --1.279 1.33 l --1.044 1.33 -0.93 1.276 -0.836 1.194 c --0.753 1.117 -0.669 0.974 -0.652 0.842 c --0.556 0.842 l --0.556 2.706 l --0.652 2.706 l --0.669 2.574 -0.744 2.44 -0.829 2.365 c --0.919 2.283 -1.02 2.243 -1.254 2.243 c --2.51 2.243 l --2.51 4.014 l --2.139 4.014 -1.065 4.014 -0.965 4.014 c --0.841 4.014 -0.601 4.014 -0.436 3.85 c --0.271 3.685 -0.268 3.526 -0.25 3.415 c --0.153 3.423 l --0.184 4.907 l --4.146 4.907 l --4.146 4.81 l --4.012 4.792 -3.912 4.719 -3.837 4.636 c --3.755 4.544 -3.714 4.444 -3.714 4.21 c --3.714 -1.04 l --3.714 -1.176 -3.71 -1.351 -3.814 -1.46 c --3.901 -1.549 -4.037 -1.591 -4.146 -1.603 c --4.146 -1.703 l --0.025 -1.703 l -0.098 -0.01 l -0 0 l -f -Q -q -1 0 0 1 444.431 81.351 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 -0.097 l -0.122 -0.118 0.242 -0.152 0.309 -0.291 c -0.379 -0.433 0.326 -0.62 0.23 -0.808 c -0.122 -1.024 -0.538 -2.273 -0.645 -2.474 c --0.751 -2.672 -0.804 -2.769 -0.823 -2.851 c --0.843 -2.934 -0.873 -2.938 -0.892 -2.847 c --0.913 -2.758 -0.981 -2.624 -1.058 -2.484 c --1.138 -2.346 -2.016 -0.742 -2.07 -0.64 c --2.15 -0.486 -2.204 -0.334 -2.135 -0.22 c --2.069 -0.108 -1.988 -0.112 -1.896 -0.097 c --1.896 0 l --3.936 0 l --3.936 -0.097 l --3.844 -0.115 -3.783 -0.143 -3.706 -0.209 c --3.627 -0.276 -3.574 -0.343 -3.498 -0.469 c --3.43 -0.588 -1.768 -3.453 -1.574 -3.786 c --1.574 -5.947 l --1.574 -6.083 -1.572 -6.258 -1.676 -6.366 c --1.762 -6.456 -1.896 -6.498 -2.007 -6.51 c --2.007 -6.61 l -0.06 -6.61 l -0.06 -6.51 l --0.055 -6.498 -0.185 -6.456 -0.269 -6.366 c --0.373 -6.258 -0.372 -6.083 -0.372 -5.947 c --0.372 -3.786 l -1.361 -0.651 l -1.446 -0.495 1.584 -0.286 1.67 -0.205 c -1.764 -0.122 1.843 -0.108 1.909 -0.097 c -1.909 0 l -0 0 l -f -Q -q -1 0 0 1 421.832 81.351 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --2.098 0 l --2.098 -0.097 l --2.01 -0.108 -1.877 -0.143 -1.748 -0.282 c --1.63 -0.41 -1.588 -0.506 -1.514 -0.662 c --1.441 -0.818 0.748 -5.891 0.871 -6.176 c -0.991 -6.46 1.122 -6.735 1.152 -6.818 c -1.261 -6.819 l -1.401 -6.543 1.537 -6.199 v -1.675 -5.857 2.248 -4.531 2.303 -4.391 c -2.401 -4.151 2.451 -3.983 2.466 -3.912 c -2.477 -3.85 2.496 -3.846 2.508 -3.912 c -2.52 -3.976 2.59 -4.199 2.665 -4.4 c -2.73 -4.564 3.349 -6.019 3.45 -6.25 c -3.555 -6.481 3.688 -6.752 3.716 -6.818 c -3.831 -6.818 l -3.899 -6.619 3.998 -6.432 4.087 -6.208 c -4.176 -5.983 6.139 -0.913 6.233 -0.669 c -6.323 -0.436 6.386 -0.316 6.465 -0.246 c -6.573 -0.15 6.677 -0.112 6.777 -0.097 c -6.777 0 l -4.937 0 l -4.937 -0.097 l -5.018 -0.113 5.134 -0.134 5.206 -0.239 c -5.278 -0.35 5.227 -0.585 5.169 -0.747 c -5.071 -1.021 4.032 -4.037 y -3.984 -4.218 3.948 -4.36 3.93 -4.443 c -3.913 -4.531 3.886 -4.537 3.869 -4.447 c -3.855 -4.373 3.816 -4.26 3.726 -4.018 c -3.179 -2.726 3.141 -2.65 v -3.067 -2.52 l -3.07 -2.457 l -3.146 -2.296 l -3.19 -2.196 3.874 -0.56 3.916 -0.456 c -3.959 -0.352 4.026 -0.239 4.087 -0.189 c -4.144 -0.142 4.198 -0.108 4.277 -0.097 c -4.277 0 l -2.809 0 l -2.809 -0.097 l -2.908 -0.112 2.985 -0.155 3.02 -0.232 c -3.053 -0.301 3.048 -0.428 2.999 -0.55 c -2.952 -0.673 2.738 -1.214 2.719 -1.297 c -2.699 -1.378 2.682 -1.422 2.677 -1.468 c -2.634 -1.468 l -2.627 -1.409 2.617 -1.349 2.589 -1.284 c -2.56 -1.219 2.322 -0.61 2.295 -0.515 c -2.255 -0.386 2.257 -0.259 2.317 -0.192 c -2.387 -0.115 2.47 -0.105 2.539 -0.097 c -2.539 0 l -0.623 0 l -0.623 -0.097 l -0.727 -0.108 0.798 -0.155 0.852 -0.216 c -0.921 -0.291 0.954 -0.359 1.017 -0.535 c -1.078 -0.709 1.935 -2.685 1.973 -2.763 c -2.032 -2.872 l -2.029 -2.967 l -2.006 -3.003 1.973 -3.076 1.925 -3.187 c -1.886 -3.269 1.587 -3.965 1.537 -4.085 c -1.488 -4.208 1.409 -4.389 1.393 -4.462 c -1.381 -4.532 1.365 -4.537 1.346 -4.455 c -1.325 -4.365 1.284 -4.241 1.196 -4.071 c -1.105 -3.898 -0.154 -0.839 -0.226 -0.677 c --0.298 -0.513 -0.325 -0.321 -0.263 -0.229 c --0.201 -0.139 -0.108 -0.105 0 -0.097 c -0 0 l -f -Q -q -1 0 0 1 427.869 76.437 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -1.296 0 l -1.727 -0.521 l -2.165 0 l -3.222 0 l -2.242 -0.936 l -3.323 -2.019 l -2.015 -2.019 l -1.559 -1.449 l -1.095 -2.019 l -0.196 -2.019 l -0.69 -1.805 0.929 -1.408 0.929 -1.04 c -0.929 -0.708 0.645 -0.208 0 0 c -f -Q -q -1 0 0 1 464.172 83.217 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --5.422 -3.619 -7.313 -9.869 v -1.594 -7.144 11.258 -7.896 v -8.7 -0.3 0.557 3.247 v -0.557 1.199 l -4.553 -1.5 5.971 -4.949 v -1.501 -4.559 -2.985 -6.148 v --2.479 -3.798 0 0 v -f -Q -q -1 0 0 1 466.845 71.369 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.025 -0.639 0.619 -1.334 2.089 -1.334 c -3.493 -1.334 4.154 -0.664 4.154 0.042 c -4.154 0.686 3.579 1.42 2.077 1.42 c -1.437 1.42 0.959 1.287 0.623 1.079 c -0.689 1.045 0.752 1.007 0.814 0.962 c -0 0 l -h -1.387 0.042 m -1.387 0.345 1.668 0.556 2.077 0.556 c -2.485 0.556 2.765 0.345 2.765 0.042 c -2.765 -0.259 2.485 -0.471 2.077 -0.471 c -1.668 -0.471 1.387 -0.259 1.387 0.042 c -f -Q -q -1 0 0 1 465.214 72.745 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 -0.709 l -0.012 -0.709 l -0.259 -0.212 0.653 0.045 1.14 0.045 c -1.406 0.045 1.674 -0.02 1.995 -0.163 c -1.38 -1.219 l -1.161 -1.062 0.98 -0.995 0.786 -0.995 c -0.446 -0.995 0.205 -1.25 0.132 -1.558 c -0.132 -2.666 l --1.255 -2.666 l --1.255 -1.299 l --0.653 0 l -0 0 l -f -Q -q -1 0 0 1 458.037 72.746 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -1.414 0 l -1.955 -1.304 l -1.968 -1.304 l -2.599 0 l -3.487 0 l -4.116 -1.304 l -4.129 -1.304 l -4.634 0 l -6.022 0 l -4.789 -2.668 l -3.762 -2.668 l -3.048 -1.189 l -2.328 -2.668 l -1.314 -2.668 l -0 0 l -f -Q -q -1 0 0 1 475.971 72.507 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.03 0.455 l --0.034 0.514 -0.03 0.585 -0.032 0.659 c --0.038 0.659 l --0.057 0.589 -0.079 0.511 -0.103 0.443 c --0.259 0.009 l --0.346 0.009 l --0.501 0.455 l --0.518 0.515 -0.538 0.589 -0.555 0.659 c --0.562 0.659 l --0.563 0.587 -0.562 0.524 -0.564 0.455 c --0.592 0 l --0.704 0 l --0.643 0.754 l --0.495 0.754 l --0.346 0.345 l --0.328 0.288 -0.314 0.226 -0.293 0.156 c --0.291 0.156 l --0.272 0.226 -0.256 0.291 -0.237 0.348 c --0.09 0.754 l -0.058 0.754 l -0.115 0 l -0 0 l -h --0.73 0.754 m --0.73 0.658 l --0.962 0.658 l --0.962 0 l --1.075 0 l --1.075 0.658 l --1.303 0.658 l --1.303 0.754 l --0.73 0.754 l -f -Q -q -1 0 0 1 257.477 82.565 cm -/CS0 cs 0.27 scn -/GS3 gs -0 0 m --1.924 0 -1.924 -1.927 v --1.924 -9.628 l --1.924 -11.553 0 -11.553 v -24.389 -11.553 l -26.315 -11.553 26.315 -9.628 v -26.315 -1.927 l -26.315 0 24.389 0 v -0 0 l -f -Q -q -1 0 0 1 262.609 76.03 cm -0 0 0 0 k -/GS2 gs -0 0 m -1.084 0 l -1.391 0 1.639 0.25 1.639 0.556 c -1.639 2.189 l -1.639 2.497 1.391 2.745 1.084 2.745 c --1.471 2.745 l --1.777 2.745 -2.026 2.497 -2.026 2.189 c --2.026 0.556 l --2.026 0.25 -1.777 0 -1.471 0 c --0.43 0 l --0.429 -1.121 l --2.391 -1.121 l --2.93 -1.121 -3.366 -0.683 -3.366 -0.144 c --3.366 2.813 l --3.366 3.352 -2.93 3.788 -2.391 3.788 c -2.089 3.788 l -2.629 3.788 3.064 3.352 3.064 2.813 c -3.064 -0.144 l -3.064 -0.683 2.629 -1.121 2.089 -1.121 c -1.323 -1.121 l -1.323 -2 l --0.003 -2 l -0 0 l -f -Q -q -1 0 0 1 272.582 79.818 cm -0 0 0 0 k -/GS2 gs -0 0 m -0 -3.974 l -0 -4.513 -0.435 -4.95 -0.974 -4.95 c --5.256 -4.95 l --5.796 -4.95 -6.231 -4.513 -6.231 -3.974 c --6.231 0 l --4.851 -0.001 l --4.851 -3.299 l --4.851 -3.596 -4.611 -3.836 -4.315 -3.836 c --1.973 -3.836 l --1.679 -3.836 -1.438 -3.596 -1.438 -3.299 c --1.438 -0.001 l -0 0 l -f -Q -q -1 0 0 1 275.163 76.802 cm -0 0 0 0 k -/GS2 gs -0 0 m -0 0.898 l -2.961 0.907 l -3.194 0.907 3.384 1.124 3.384 1.356 c -3.384 1.59 3.194 1.779 2.961 1.779 c -0.206 1.779 l --0.102 1.821 -0.35 1.572 -0.35 1.266 c --0.35 -0.3 l --0.35 -0.608 -0.102 -0.855 0.206 -0.855 c -4.515 -0.855 l -4.516 -1.976 l --0.872 -1.976 l --1.411 -1.976 -1.846 -1.539 -1.846 -1 c --1.846 1.958 l --1.846 2.495 -1.411 2.931 -0.872 2.931 c -3.748 2.931 l -4.288 2.931 4.724 2.495 4.724 1.958 c -4.724 0.973 l -4.724 0.435 4.288 0 3.748 0 c -0 0 l -f -Q -q -1 0 0 1 281.067 79.248 cm -0 0 0 0 k -/GS2 gs -0 0 m -0.102 0 0.251 -0.017 0.251 0.13 c -0.251 0.242 0.159 0.255 0.071 0.255 c --0.136 0.255 l --0.136 0 l -0 0 l -h -0.338 -0.402 m -0.232 -0.402 l -0.026 -0.068 l --0.136 -0.068 l --0.136 -0.402 l --0.225 -0.402 l --0.225 0.319 l -0.091 0.319 l -0.282 0.319 0.346 0.247 0.346 0.129 c -0.346 -0.013 0.247 -0.067 0.121 -0.068 c -0.338 -0.402 l -h -0.558 -0.041 m -0.558 0.272 0.33 0.518 0.016 0.518 c --0.299 0.518 -0.529 0.272 -0.529 -0.041 c --0.529 -0.359 -0.299 -0.602 0.016 -0.602 c -0.33 -0.602 0.558 -0.359 0.558 -0.041 c -h --0.631 -0.041 m --0.631 0.314 -0.342 0.603 0.016 0.603 c -0.373 0.603 0.66 0.314 0.66 -0.041 c -0.66 -0.398 0.373 -0.689 0.016 -0.689 c --0.342 -0.689 -0.631 -0.398 -0.631 -0.041 c -f -Q -q -1 0 0 1 372.692 79.2 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -1.181 0 l -1.984 0 2.444 -0.366 2.444 -1.017 c -2.444 -1.636 1.935 -2.034 1.153 -2.034 c -0 -2.034 l -0 0 l -h -1.225 0.707 m --0.751 0.707 l --0.751 -4.512 l -0 -4.512 l -0 -2.734 l -1.131 -2.734 l -2.163 -2.734 3.201 -2.197 3.201 -0.982 c -3.201 0.045 2.426 0.707 1.225 0.707 c -f -Q -q -1 0 0 1 377.714 79.2 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -1.463 0 l -2.223 0 2.661 -0.329 2.661 -0.917 c -2.661 -1.492 2.187 -1.861 1.456 -1.861 c -0 -1.861 l -0 0 l -h -3.419 -0.882 m -3.419 -0.466 3.271 -0.092 3.002 0.177 c -2.662 0.521 2.128 0.707 1.507 0.707 c --0.751 0.707 l --0.751 -4.512 l -0 -4.512 l -0 -2.555 l -1.302 -2.555 l -2.763 -4.512 l -3.689 -4.512 l -2.119 -2.423 l -2.935 -2.225 3.419 -1.662 3.419 -0.882 c -f -Q -q -1 0 0 1 383.133 76.969 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -2.75 0 l -2.75 0.7 l -0 0.7 l -0 2.238 l -3.073 2.238 l -3.073 2.938 l --0.751 2.938 l --0.751 -2.282 l -3.109 -2.282 l -3.109 -1.582 l -0 -1.582 l -0 0 l -f -Q -q -1 0 0 1 389.336 77.66 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --1.095 0.234 -1.296 0.483 -1.296 0.905 c --1.296 1.33 -0.892 1.627 -0.313 1.627 c -0.199 1.627 0.642 1.46 1.083 1.1 c -1.155 1.04 l -1.597 1.625 l -1.529 1.681 l -0.97 2.128 0.422 2.32 -0.301 2.32 c --1.311 2.32 -2.045 1.703 -2.045 0.839 c --2.045 -0.124 -1.341 -0.473 -0.283 -0.704 c -0.765 -0.925 0.955 -1.169 0.955 -1.586 c -0.955 -2.035 0.531 -2.352 -0.077 -2.352 c --0.717 -2.352 -1.201 -2.151 -1.743 -1.663 c --1.813 -1.6 l --2.283 -2.156 l --2.216 -2.215 l --1.583 -2.781 -0.909 -3.044 -0.099 -3.044 c -0.969 -3.044 1.715 -2.42 1.715 -1.513 c -1.715 -0.715 1.202 -0.262 0 0 c -f -Q -q -1 0 0 1 394.086 77.66 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --1.095 0.234 -1.295 0.483 -1.295 0.905 c --1.295 1.33 -0.892 1.627 -0.313 1.627 c -0.198 1.627 0.642 1.46 1.083 1.1 c -1.156 1.04 l -1.597 1.625 l -1.528 1.681 l -0.97 2.128 0.424 2.32 -0.3 2.32 c --1.311 2.32 -2.045 1.703 -2.045 0.839 c --2.045 -0.124 -1.341 -0.473 -0.282 -0.704 c -0.763 -0.925 0.955 -1.169 0.955 -1.586 c -0.955 -2.035 0.531 -2.352 -0.075 -2.352 c --0.719 -2.352 -1.201 -2.151 -1.743 -1.663 c --1.813 -1.6 l --2.283 -2.156 l --2.216 -2.215 l --1.583 -2.781 -0.91 -3.044 -0.099 -3.044 c -0.968 -3.044 1.713 -2.42 1.713 -1.513 c -1.713 -0.715 1.201 -0.262 0 0 c -f -Q -q -1 0 0 1 349.158 74.996 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --1.578 4.391 l --1.598 4.451 -1.628 4.532 -1.628 4.602 c --1.628 4.792 -1.467 4.973 -1.238 4.973 c --1.035 4.973 -0.904 4.843 -0.845 4.654 c -0.463 0.867 l -1.777 4.662 l -1.838 4.843 1.96 4.973 2.159 4.973 c -2.199 4.973 l -2.411 4.973 2.542 4.843 2.602 4.662 c -3.908 0.867 l -5.235 4.672 l -5.286 4.834 5.395 4.973 5.607 4.973 c -5.827 4.973 5.987 4.804 5.987 4.612 c -5.987 4.542 5.958 4.463 5.939 4.401 c -4.351 0 l -4.269 -0.232 4.109 -0.352 3.928 -0.352 c -3.899 -0.352 l -3.696 -0.352 3.545 -0.232 3.474 0 c -2.181 3.731 l -0.874 0 l -0.803 -0.232 0.652 -0.352 0.451 -0.352 c -0.431 -0.352 l -0.24 -0.352 0.08 -0.232 0 0 c -f -Q -q -1 0 0 1 360.654 79.586 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 0.212 0.172 0.393 0.382 0.393 c -0.604 0.393 0.775 0.222 0.775 0 c -0.775 -0.892 l -1.157 -0.025 2.004 0.383 2.566 0.383 c -2.799 0.383 2.951 0.212 2.951 -0.008 c -2.951 -0.219 2.809 -0.371 2.606 -0.401 c -1.6 -0.521 0.775 -1.278 0.775 -2.778 c -0.775 -4.542 l -0.775 -4.753 0.613 -4.934 0.394 -4.934 c -0.172 -4.934 0 -4.763 0 -4.542 c -0 0 l -f -Q -q -1 0 0 1 367.599 77.583 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.08 0.936 -0.613 1.753 -1.628 1.753 c --2.516 1.753 -3.186 1.005 -3.285 0 c -0 0 l -h --1.51 -2.98 m --2.909 -2.98 -4.054 -1.893 -4.054 -0.299 c --4.054 -0.279 l --4.054 1.204 -3.017 2.4 -1.608 2.4 c --0.099 2.4 0.761 1.156 0.761 -0.209 c -0.761 -0.419 0.589 -0.569 0.404 -0.569 c --3.285 -0.569 l --3.176 -1.684 -2.398 -2.311 -1.489 -2.311 c --0.858 -2.311 -0.396 -2.062 -0.019 -1.714 c -0.039 -1.664 0.108 -1.625 0.198 -1.625 c -0.385 -1.625 0.533 -1.774 0.533 -1.955 c -0.533 -2.043 0.494 -2.132 0.414 -2.202 c --0.068 -2.67 -0.641 -2.98 -1.51 -2.98 c -f -Q -q -1 0 0 1 358.983 76.618 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 0.502 l --0.381 0.612 -0.895 0.722 -1.526 0.722 c --2.497 0.722 -3.04 0.302 -3.04 -0.351 c --3.04 -0.371 l --3.04 -1.023 -2.439 -1.404 -1.735 -1.404 c --0.783 -1.404 0 -0.823 0 0 c --3.823 -0.403 m --3.823 -0.381 l --3.823 0.713 -2.92 1.294 -1.606 1.294 c --0.943 1.294 -0.472 1.204 -0.01 1.073 c --0.01 1.254 l --0.01 2.188 -0.582 2.669 -1.555 2.669 c --2.078 2.669 -2.381 2.604 -2.763 2.434 c --2.813 2.414 -2.862 2.402 -2.902 2.402 c --3.083 2.402 -3.244 2.552 -3.244 2.735 c --3.244 2.895 -3.175 2.992 -3.033 3.055 c --2.523 3.276 -2.136 3.351 -1.474 3.351 c --0.743 3.351 -0.181 3.161 0.201 2.779 c -0.551 2.428 0.734 1.927 0.734 1.265 c -0.734 -1.599 l -0.734 -1.82 0.572 -1.98 0.36 -1.98 c -0.141 -1.98 -0.01 -1.82 -0.01 -1.619 c --0.01 -1.124 l --0.369 -1.597 -0.974 -2.017 -1.885 -2.017 c --2.848 -2.017 -3.823 -1.465 -3.823 -0.403 c -f -Q -q -1 0 0 1 335.1 79.643 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.172 0.372 -0.592 0.542 -0.983 0.367 c --1.376 0.192 -1.521 -0.243 -1.343 -0.616 c -0.302 -4.194 l -0.562 -4.756 0.836 -5.051 1.347 -5.051 c -1.895 -5.051 2.134 -4.73 2.392 -4.194 c -3.83 -1.067 3.842 -1.035 v -3.859 -1.001 3.903 -0.9 4.05 -0.901 c -4.174 -0.903 4.278 -1 4.278 -1.133 c -4.278 -4.191 l -4.278 -4.663 4.541 -5.051 5.042 -5.051 c -5.544 -5.051 5.817 -4.663 5.817 -4.191 c -5.817 -1.69 l -5.817 -1.206 6.163 -0.893 6.634 -0.893 c -7.105 -0.893 7.418 -1.217 7.418 -1.69 c -7.418 -4.191 l -7.418 -4.663 7.681 -5.051 8.183 -5.051 c -8.685 -5.051 8.96 -4.663 8.96 -4.191 c -8.96 -1.69 l -8.96 -1.206 9.302 -0.893 9.775 -0.893 c -10.246 -0.893 10.561 -1.217 10.561 -1.69 c -10.561 -4.191 l -10.561 -4.663 10.823 -5.051 11.325 -5.051 c -11.828 -5.051 12.099 -4.663 12.099 -4.191 c -12.099 -1.343 l -12.099 -0.296 11.258 0.436 10.246 0.436 c -9.233 0.436 8.6 -0.264 y -8.263 0.172 7.799 0.436 7.012 0.436 c -6.185 0.436 5.461 -0.264 y -5.121 0.172 4.549 0.436 4.074 0.436 c -3.337 0.436 2.755 0.113 2.4 -0.701 c -1.347 -3.18 l -0 0 l -f -Q -q -1 0 0 1 369.581 79.339 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 0.29 -0.222 0.525 -0.517 0.525 c --0.812 0.525 -1.039 0.284 -1.039 0 c --1.039 -0.005 l --1.039 -0.291 -0.815 -0.528 -0.517 -0.528 c --0.224 -0.528 0 -0.287 0 0 c --1.159 -0.005 m --1.159 0 l --1.159 0.35 -0.877 0.644 -0.517 0.644 c --0.154 0.644 0.123 0.353 0.123 0.002 c -0.123 0 l -0.123 -0.352 -0.159 -0.647 -0.517 -0.647 c --0.881 -0.647 -1.159 -0.356 -1.159 -0.005 c -f -Q -q -1 0 0 1 369.093 79.358 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.067 0 0.103 0.035 0.103 0.088 c -0.103 0.089 l -0.103 0.15 0.063 0.18 -0.003 0.18 c --0.138 0.18 l --0.138 0 l -0 0 l -h --0.276 0.234 m --0.276 0.272 -0.245 0.302 -0.206 0.302 c -0.007 0.302 l -0.088 0.302 0.151 0.281 0.188 0.239 c -0.224 0.205 0.243 0.155 0.243 0.098 c -0.243 0.096 l -0.243 -0.003 0.195 -0.062 0.12 -0.094 c -0.213 -0.208 l -0.226 -0.226 0.235 -0.24 0.235 -0.262 c -0.235 -0.298 0.203 -0.325 0.171 -0.325 c -0.141 -0.325 0.12 -0.309 0.103 -0.289 c --0.029 -0.121 l --0.138 -0.121 l --0.138 -0.256 l --0.138 -0.295 -0.169 -0.325 -0.206 -0.325 c --0.245 -0.325 -0.276 -0.295 -0.276 -0.256 c --0.276 0.234 l -f -Q -q -1 0 0 1 172.988 82.893 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 -1.852 l -0.682 -1.852 l -0.85 -1.852 1.017 -1.846 1.183 -1.835 c -1.35 -1.823 1.497 -1.777 1.624 -1.695 c -1.741 -1.626 1.835 -1.525 1.909 -1.391 c -1.982 -1.258 2.018 -1.098 2.018 -0.913 c -2.018 -0.808 2 -0.697 1.966 -0.579 c -1.931 -0.46 1.861 -0.351 1.755 -0.253 c -1.692 -0.189 1.626 -0.14 1.559 -0.105 c -1.492 -0.07 1.416 -0.045 1.332 -0.031 c -1.248 -0.016 1.15 -0.008 1.04 -0.004 c -0.929 -0.002 0.798 0 0.646 0 c -0 0 l -h -0.682 0.751 m -0.856 0.751 1.024 0.748 1.183 0.742 c -1.344 0.737 1.495 0.717 1.638 0.685 c -1.781 0.653 1.918 0.604 2.052 0.537 c -2.187 0.47 2.315 0.372 2.437 0.244 c -2.571 0.111 2.682 -0.051 2.768 -0.24 c -2.856 -0.43 2.9 -0.661 2.9 -0.935 c -2.9 -1.086 2.872 -1.271 2.816 -1.489 c -2.761 -1.708 2.623 -1.925 2.402 -2.14 c -2.215 -2.32 1.988 -2.446 1.721 -2.515 c -1.453 -2.586 1.088 -2.62 0.629 -2.62 c -0 -2.62 l -0 -5.206 l --0.856 -5.206 l --0.856 0.751 l -0.682 0.751 l -f -Q -q -1 0 0 1 179.923 82.875 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --2.524 0 l --2.524 -1.799 l --0.087 -1.799 l --0.087 -2.568 l --2.524 -2.568 l --2.524 -4.419 l -0.079 -4.419 l -0.079 -5.188 l --3.38 -5.188 l --3.38 0.769 l -0 0.769 l -0 0 l -f -Q -q -1 0 0 1 184.261 80.211 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.96 2.157 l --1.851 0 l -0 0 l -h -2.018 -2.524 m -1.145 -2.524 l -0.35 -0.768 l --2.183 -0.768 l --2.934 -2.524 l --3.808 -2.524 l --1.249 3.467 l --0.646 3.467 l -2.018 -2.524 l -f -Q -q -1 0 0 1 187.747 82.919 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 -1.878 l -0.33 -1.878 l -0.365 -1.878 0.416 -1.878 0.482 -1.878 c -0.549 -1.878 0.623 -1.875 0.703 -1.869 c -0.785 -1.864 0.866 -1.855 0.947 -1.843 c -1.028 -1.831 1.098 -1.814 1.156 -1.791 c -1.358 -1.709 1.503 -1.587 1.59 -1.424 c -1.678 -1.261 1.721 -1.098 1.721 -0.935 c -1.721 -0.766 1.679 -0.607 1.599 -0.459 c -1.518 -0.31 1.408 -0.204 1.269 -0.14 c -1.159 -0.087 1.028 -0.051 0.878 -0.031 c -0.727 -0.01 0.521 0 0.26 0 c -0 0 l -h -0.638 0.725 m -0.777 0.725 0.936 0.713 1.113 0.69 c -1.291 0.666 1.473 0.614 1.659 0.532 c -1.817 0.463 1.955 0.375 2.075 0.271 c -2.193 0.166 2.291 0.049 2.367 -0.079 c -2.442 -0.207 2.499 -0.344 2.538 -0.489 c -2.575 -0.635 2.594 -0.783 2.594 -0.935 c -2.594 -1.284 2.509 -1.584 2.341 -1.834 c -2.172 -2.085 1.925 -2.274 1.598 -2.402 c -1.866 -2.582 2.097 -2.809 2.293 -3.083 c -2.488 -3.357 2.699 -3.677 2.926 -4.044 c -2.989 -4.149 3.048 -4.242 3.101 -4.323 c -3.153 -4.405 3.21 -4.489 3.271 -4.577 c -3.332 -4.664 3.399 -4.759 3.472 -4.861 c -3.544 -4.962 3.633 -5.087 3.738 -5.232 c -2.725 -5.232 l -2.673 -5.162 2.59 -5.038 2.476 -4.861 c -2.362 -4.683 2.242 -4.496 2.113 -4.297 c -1.985 -4.099 1.863 -3.915 1.747 -3.743 c -1.631 -3.571 1.549 -3.453 1.503 -3.389 c -1.358 -3.203 1.23 -3.059 1.116 -2.957 c -1.003 -2.855 0.897 -2.781 0.799 -2.734 c -0.701 -2.687 0.606 -2.66 0.516 -2.651 c -0.427 -2.642 0.33 -2.638 0.226 -2.638 c -0 -2.638 l -0 -5.232 l --0.856 -5.232 l --0.856 0.725 l -0.638 0.725 l -f -Q -q -1 0 0 1 195.054 82.333 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.258 0.245 -0.504 0.409 -0.741 0.493 c --0.978 0.578 -1.198 0.62 -1.402 0.62 c --1.701 0.62 -1.933 0.552 -2.1 0.415 c --2.266 0.278 -2.35 0.117 -2.35 -0.07 c --2.35 -0.198 -2.325 -0.31 -2.275 -0.406 c --2.226 -0.502 -2.144 -0.6 -2.03 -0.699 c --1.916 -0.798 -1.764 -0.907 -1.574 -1.026 c --1.384 -1.145 -1.146 -1.287 -0.859 -1.45 c --0.731 -1.525 -0.6 -1.617 -0.465 -1.725 c --0.331 -1.833 -0.205 -1.962 -0.088 -2.113 c -0.005 -2.23 0.082 -2.37 0.144 -2.532 c -0.205 -2.696 0.236 -2.885 0.236 -3.1 c -0.236 -3.333 0.195 -3.549 0.114 -3.747 c -0.032 -3.945 -0.083 -4.116 -0.231 -4.262 c --0.379 -4.408 -0.562 -4.521 -0.777 -4.603 c --0.992 -4.684 -1.231 -4.725 -1.493 -4.725 c --1.79 -4.725 -2.074 -4.677 -2.345 -4.581 c --2.616 -4.484 -2.868 -4.35 -3.1 -4.175 c --3.1 -3.091 l --3.06 -3.144 -2.994 -3.218 -2.904 -3.316 c --2.814 -3.415 -2.702 -3.511 -2.568 -3.606 c --2.434 -3.701 -2.278 -3.783 -2.1 -3.853 c --1.923 -3.922 -1.72 -3.956 -1.494 -3.956 c --1.383 -3.956 -1.273 -3.939 -1.162 -3.904 c --1.051 -3.869 -0.952 -3.819 -0.865 -3.751 c --0.777 -3.685 -0.706 -3.603 -0.651 -3.507 c --0.595 -3.412 -0.567 -3.299 -0.567 -3.172 c --0.567 -3.05 -0.595 -2.934 -0.651 -2.827 c --0.706 -2.72 -0.774 -2.622 -0.856 -2.535 c --0.937 -2.448 -1.023 -2.371 -1.114 -2.304 c --1.204 -2.237 -1.284 -2.184 -1.354 -2.142 c --1.593 -2.003 -1.79 -1.884 -1.947 -1.785 c --2.105 -1.686 -2.239 -1.599 -2.35 -1.523 c --2.46 -1.448 -2.552 -1.375 -2.625 -1.306 c --2.697 -1.235 -2.766 -1.16 -2.83 -1.078 c --2.923 -0.963 -2.996 -0.832 -3.048 -0.686 c --3.1 -0.541 -3.127 -0.375 -3.127 -0.189 c --3.127 0.037 -3.086 0.246 -3.005 0.439 c --2.923 0.63 -2.805 0.796 -2.651 0.936 c --2.497 1.075 -2.312 1.186 -2.096 1.267 c --1.88 1.348 -1.639 1.389 -1.371 1.389 c --1.126 1.389 -0.888 1.352 -0.656 1.28 c --0.422 1.207 -0.204 1.104 0 0.97 c -0 0 l -f -Q -q -1 0 0 1 199.155 82.919 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.419 0 -0.776 -0.072 -1.07 -0.214 c --1.364 -0.357 -1.606 -0.539 -1.794 -0.76 c --1.984 -0.982 -2.123 -1.226 -2.21 -1.494 c --2.297 -1.762 -2.341 -2.021 -2.341 -2.271 c --2.341 -2.609 -2.278 -2.916 -2.153 -3.192 c --2.028 -3.469 -1.86 -3.705 -1.651 -3.9 c --1.441 -4.095 -1.196 -4.246 -0.917 -4.354 c --0.638 -4.462 -0.341 -4.515 -0.027 -4.515 c -0.131 -4.515 0.291 -4.5 0.454 -4.468 c -0.617 -4.436 0.775 -4.389 0.926 -4.328 c -1.077 -4.267 1.22 -4.192 1.353 -4.106 c -1.487 -4.018 1.607 -3.919 1.712 -3.808 c -1.804 -3.704 1.888 -3.587 1.961 -3.459 c -2.034 -3.331 2.097 -3.199 2.149 -3.062 c -2.202 -2.925 2.24 -2.785 2.266 -2.642 c -2.292 -2.499 2.305 -2.365 2.305 -2.236 c -2.305 -1.991 2.259 -1.737 2.166 -1.472 c -2.073 -1.207 1.93 -0.965 1.738 -0.747 c -1.546 -0.529 1.306 -0.35 1.018 -0.21 c -0.729 -0.07 0.39 0 0 0 c -h --0.034 0.803 m -0.459 0.803 0.906 0.719 1.301 0.55 c -1.697 0.381 2.035 0.157 2.315 -0.123 c -2.594 -0.402 2.808 -0.725 2.956 -1.092 c -3.105 -1.459 3.179 -1.843 3.179 -2.245 c -3.179 -2.676 3.101 -3.077 2.943 -3.451 c -2.785 -3.823 2.564 -4.146 2.28 -4.42 c -1.994 -4.693 1.652 -4.91 1.253 -5.07 c -0.855 -5.23 0.411 -5.31 -0.078 -5.31 c --0.545 -5.31 -0.971 -5.23 -1.358 -5.07 c --1.745 -4.91 -2.077 -4.692 -2.353 -4.415 c --2.63 -4.139 -2.845 -3.816 -2.996 -3.446 c --3.147 -3.076 -3.223 -2.685 -3.223 -2.271 c --3.223 -1.875 -3.151 -1.492 -3.009 -1.123 c --2.867 -0.753 -2.66 -0.425 -2.388 -0.14 c --2.117 0.145 -1.785 0.373 -1.388 0.546 c --0.993 0.717 -0.542 0.803 -0.034 0.803 c -f -Q -q -1 0 0 1 208.886 77.687 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.734 0 l --4.716 4.586 l --4.716 0 l --5.52 0 l --5.52 5.957 l --4.829 5.957 l --0.812 1.337 l --0.812 5.957 l -0 5.957 l -0 0 l -f -Q -q -1 0 0 1 0 -0 cm -0 0 0 0.27 k -/GS2 gs -172.208 69.747 0.584 4.061 re -f -Q -q -1 0 0 1 176.824 73.296 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --1.417 0 l --1.417 -3.549 l --2.001 -3.549 l --2.001 0 l --3.394 0 l --3.394 0.512 l -0 0.512 l -0 0 l -f -Q -q -1 0 0 1 182.158 72.903 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.214 0.123 -0.44 0.221 -0.675 0.295 c --0.912 0.368 -1.155 0.405 -1.405 0.405 c --1.651 0.405 -1.873 0.363 -2.072 0.279 c --2.271 0.196 -2.439 0.083 -2.578 -0.06 c --2.717 -0.202 -2.825 -0.367 -2.899 -0.553 c --2.975 -0.741 -3.013 -0.935 -3.013 -1.137 c --3.013 -1.328 -2.979 -1.515 -2.912 -1.697 c --2.844 -1.88 -2.744 -2.042 -2.611 -2.186 c --2.478 -2.328 -2.31 -2.445 -2.108 -2.534 c --1.906 -2.623 -1.669 -2.668 -1.399 -2.668 c --1.142 -2.668 -0.89 -2.627 -0.646 -2.546 c --0.402 -2.465 -0.172 -2.354 0.042 -2.215 c -0.042 -2.852 l --0.196 -2.98 -0.436 -3.071 -0.679 -3.126 c --0.92 -3.182 -1.173 -3.21 -1.434 -3.21 c --1.812 -3.21 -2.137 -3.146 -2.411 -3.019 c --2.685 -2.892 -2.912 -2.728 -3.09 -2.528 c --3.269 -2.327 -3.402 -2.104 -3.489 -1.858 c --3.577 -1.612 -3.62 -1.37 -3.62 -1.132 c --3.62 -0.854 -3.566 -0.588 -3.457 -0.334 c --3.347 -0.079 -3.197 0.143 -3.004 0.333 c --2.811 0.524 -2.58 0.676 -2.31 0.789 c --2.04 0.902 -1.745 0.959 -1.423 0.959 c --1.268 0.959 -1.118 0.947 -0.974 0.923 c --0.829 0.899 -0.696 0.869 -0.575 0.834 c --0.454 0.798 -0.344 0.761 -0.247 0.724 c --0.15 0.685 -0.067 0.653 0 0.626 c -0 0 l -f -Q -q -1 0 0 1 184.515 71.355 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 0.028 -0.006 0.077 -0.018 0.149 c --0.03 0.22 -0.058 0.294 -0.101 0.369 c --0.145 0.445 -0.21 0.512 -0.295 0.572 c --0.381 0.631 -0.499 0.661 -0.649 0.661 c --0.733 0.661 -0.821 0.643 -0.915 0.607 c --1.008 0.572 -1.09 0.514 -1.162 0.435 c --1.233 0.355 -1.28 0.278 -1.301 0.202 c --1.323 0.127 -1.339 0.06 -1.346 0 c -0 0 l -h -0.476 -1.346 m -0.428 -1.378 0.374 -1.411 0.312 -1.447 c -0.251 -1.483 0.177 -1.517 0.092 -1.548 c -0.006 -1.58 -0.091 -1.607 -0.2 -1.629 c --0.309 -1.65 -0.433 -1.662 -0.572 -1.662 c --0.644 -1.662 -0.716 -1.658 -0.789 -1.65 c --0.863 -1.642 -0.938 -1.625 -1.015 -1.599 c --1.093 -1.573 -1.173 -1.536 -1.254 -1.486 c --1.335 -1.436 -1.415 -1.37 -1.493 -1.286 c --1.579 -1.195 -1.65 -1.102 -1.703 -1.006 c --1.755 -0.911 -1.796 -0.819 -1.823 -0.73 c --1.85 -0.64 -1.869 -0.555 -1.876 -0.474 c --1.884 -0.392 -1.888 -0.319 -1.888 -0.256 c --1.888 -0.05 -1.858 0.139 -1.797 0.309 c --1.736 0.48 -1.651 0.625 -1.541 0.744 c --1.431 0.864 -1.299 0.956 -1.147 1.021 c --0.994 1.086 -0.826 1.12 -0.644 1.12 c --0.489 1.12 -0.346 1.093 -0.215 1.039 c --0.084 0.986 0.03 0.913 0.127 0.822 c -0.225 0.73 0.305 0.621 0.366 0.494 c -0.428 0.367 0.47 0.23 0.494 0.083 c -0.509 -0.008 0.519 -0.085 0.521 -0.146 c -0.523 -0.208 0.523 -0.264 0.523 -0.316 c --1.358 -0.316 l --1.354 -0.415 -1.334 -0.514 -1.299 -0.614 c --1.263 -0.713 -1.209 -0.803 -1.138 -0.884 c --1.066 -0.966 -0.978 -1.031 -0.872 -1.08 c --0.767 -1.131 -0.642 -1.155 -0.495 -1.155 c --0.32 -1.155 -0.15 -1.127 0.015 -1.069 c -0.179 -1.012 0.333 -0.931 0.476 -0.828 c -0.476 -1.346 l -f -Q -q -1 0 0 1 186.092 72.421 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0 -0.613 l -0.044 -0.546 0.093 -0.474 0.146 -0.396 c -0.2 -0.319 0.259 -0.246 0.325 -0.178 c -0.39 -0.111 0.462 -0.056 0.539 -0.012 c -0.616 0.032 0.703 0.054 0.798 0.054 c -0.818 0.054 0.846 0.052 0.884 0.048 c -0.922 0.043 0.968 0.032 1.021 0.012 c -1.075 -0.008 1.135 -0.038 1.203 -0.077 c -1.27 -0.117 1.344 -0.175 1.423 -0.25 c -1.143 -0.714 l -1.128 -0.699 1.102 -0.675 1.066 -0.646 c -1.031 -0.616 0.989 -0.587 0.941 -0.56 c -0.894 -0.532 0.843 -0.507 0.789 -0.485 c -0.736 -0.463 0.683 -0.453 0.632 -0.453 c -0.584 -0.453 0.523 -0.466 0.45 -0.494 c -0.376 -0.522 0.307 -0.568 0.241 -0.634 c -0.176 -0.699 0.119 -0.785 0.072 -0.89 c -0.024 -0.995 0 -1.123 0 -1.275 c -0 -2.674 l --0.53 -2.674 l --0.53 0 l -0 0 l -f -Q -q -1 0 0 1 188.788 72.421 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.845 0 l -0.845 -0.476 l -0 -0.476 l -0 -1.644 l -0 -1.727 0.002 -1.795 0.006 -1.846 c -0.01 -1.898 0.015 -1.941 0.021 -1.977 c -0.027 -2.013 0.036 -2.041 0.047 -2.063 c -0.06 -2.085 0.075 -2.108 0.095 -2.132 c -0.146 -2.187 0.2 -2.22 0.256 -2.23 c -0.312 -2.24 0.353 -2.245 0.381 -2.245 c -0.437 -2.245 0.514 -2.236 0.613 -2.218 c -0.712 -2.2 0.836 -2.146 0.983 -2.055 c -0.983 -2.549 l -0.855 -2.616 0.729 -2.663 0.604 -2.688 c -0.479 -2.714 0.377 -2.727 0.297 -2.727 c -0.25 -2.727 0.196 -2.722 0.137 -2.713 c -0.077 -2.702 0.015 -2.683 -0.051 -2.656 c --0.116 -2.628 -0.179 -2.593 -0.238 -2.552 c --0.298 -2.51 -0.352 -2.455 -0.399 -2.388 c --0.467 -2.289 -0.506 -2.173 -0.515 -2.043 c --0.525 -1.912 -0.53 -1.784 -0.53 -1.661 c --0.53 -0.476 l --0.995 -0.476 l --0.995 -0.423 l -0 0.554 l -0 0 l -f -Q -q -1 0 0 1 190.693 69.747 cm -0 0 0 0.27 k -/GS2 gs -0 0 -0.53 2.674 re --0.268 3.799 m --0.177 3.799 -0.101 3.768 -0.042 3.707 c -0.018 3.645 0.048 3.573 0.048 3.49 c -0.048 3.406 0.017 3.333 -0.044 3.269 c --0.106 3.206 -0.181 3.174 -0.268 3.174 c --0.371 3.174 -0.449 3.21 -0.5 3.281 c --0.552 3.352 -0.578 3.422 -0.578 3.49 c --0.578 3.565 -0.549 3.636 -0.491 3.701 c --0.434 3.766 -0.359 3.799 -0.268 3.799 c -f -Q -q -1 0 0 1 192.949 73.29 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.032 0.012 -0.064 0.023 -0.098 0.033 c --0.132 0.043 -0.18 0.048 -0.244 0.048 c --0.383 0.048 -0.49 0.023 -0.566 -0.026 c --0.64 -0.076 -0.695 -0.139 -0.729 -0.214 c --0.763 -0.29 -0.782 -0.372 -0.789 -0.461 c --0.795 -0.55 -0.799 -0.633 -0.799 -0.708 c --0.799 -0.869 l --0.321 -0.869 l --0.321 -1.346 l --0.799 -1.346 l --0.799 -3.543 l --1.328 -3.543 l --1.328 -1.346 l --1.703 -1.346 l --1.703 -0.869 l --1.328 -0.869 l --1.328 -0.708 l --1.328 -0.49 -1.312 -0.325 -1.281 -0.214 c --1.249 -0.103 -1.22 -0.018 -1.192 0.042 c --1.113 0.2 -1.004 0.329 -0.861 0.426 c --0.72 0.523 -0.563 0.572 -0.392 0.572 c --0.314 0.572 -0.242 0.567 -0.178 0.557 c --0.115 0.547 -0.055 0.534 0 0.518 c -0 0 l -f -Q -q -1 0 0 1 193.849 69.747 cm -0 0 0 0.27 k -/GS2 gs -0 0 -0.531 2.674 re --0.269 3.799 m --0.177 3.799 -0.102 3.768 -0.042 3.707 c -0.018 3.645 0.047 3.573 0.047 3.49 c -0.047 3.406 0.016 3.333 -0.045 3.269 c --0.106 3.206 -0.182 3.174 -0.269 3.174 c --0.372 3.174 -0.45 3.21 -0.501 3.281 c --0.553 3.352 -0.578 3.422 -0.578 3.49 c --0.578 3.565 -0.549 3.636 -0.492 3.701 c --0.434 3.766 -0.359 3.799 -0.269 3.799 c -f -Q -q -1 0 0 1 196.625 71.724 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.075 0.047 -0.176 0.102 -0.298 0.164 c --0.422 0.225 -0.57 0.256 -0.745 0.256 c --0.884 0.256 -1.004 0.229 -1.105 0.176 c --1.207 0.122 -1.29 0.053 -1.358 -0.033 c --1.425 -0.118 -1.476 -0.213 -1.51 -0.319 c --1.544 -0.423 -1.561 -0.53 -1.561 -0.637 c --1.561 -0.748 -1.544 -0.858 -1.51 -0.965 c --1.476 -1.072 -1.423 -1.167 -1.349 -1.251 c --1.276 -1.334 -1.18 -1.402 -1.063 -1.453 c --0.946 -1.505 -0.806 -1.531 -0.644 -1.531 c --0.504 -1.531 -0.378 -1.512 -0.262 -1.474 c --0.148 -1.436 -0.04 -1.396 0.06 -1.352 c -0.06 -1.876 l -0 -1.896 -0.098 -1.926 -0.233 -1.968 c --0.368 -2.01 -0.53 -2.031 -0.721 -2.031 c --0.952 -2.031 -1.153 -1.993 -1.325 -1.917 c --1.498 -1.842 -1.64 -1.742 -1.751 -1.617 c --1.864 -1.492 -1.949 -1.346 -2.005 -1.179 c --2.062 -1.013 -2.091 -0.838 -2.091 -0.655 c --2.091 -0.493 -2.067 -0.328 -2.019 -0.161 c --1.973 0.006 -1.896 0.157 -1.79 0.292 c --1.684 0.426 -1.548 0.537 -1.382 0.622 c --1.215 0.708 -1.013 0.75 -0.775 0.75 c --0.6 0.75 -0.453 0.73 -0.334 0.691 c --0.215 0.651 -0.103 0.609 0 0.566 c -0 0 l -f -Q -q -1 0 0 1 198.499 71.069 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.117 -0.04 -0.226 -0.079 -0.328 -0.119 c --0.43 -0.159 -0.52 -0.204 -0.597 -0.253 c --0.675 -0.303 -0.738 -0.358 -0.784 -0.417 c --0.83 -0.477 -0.853 -0.546 -0.853 -0.626 c --0.853 -0.737 -0.816 -0.827 -0.745 -0.896 c --0.673 -0.966 -0.581 -1.001 -0.468 -1.001 c --0.385 -1.001 -0.304 -0.981 -0.226 -0.941 c --0.148 -0.901 -0.073 -0.848 0 -0.78 c -0 0 l -h -0.91 -1.167 m -0.787 -1.247 0.692 -1.301 0.624 -1.331 c -0.557 -1.361 0.481 -1.376 0.398 -1.376 c -0.172 -1.376 0.036 -1.285 -0.006 -1.102 c --0.237 -1.285 -0.477 -1.376 -0.728 -1.376 c --0.826 -1.376 -0.916 -1.358 -0.996 -1.322 c --1.076 -1.286 -1.143 -1.239 -1.201 -1.179 c --1.258 -1.12 -1.303 -1.05 -1.334 -0.971 c --1.366 -0.891 -1.382 -0.808 -1.382 -0.721 c --1.382 -0.589 -1.354 -0.478 -1.299 -0.387 c --1.244 -0.296 -1.173 -0.22 -1.087 -0.158 c --1.002 -0.096 -0.905 -0.044 -0.796 0 c --0.686 0.043 -0.579 0.086 -0.471 0.125 c -0 0.291 l -0 0.434 l -0 0.602 -0.041 0.721 -0.12 0.795 c --0.2 0.868 -0.321 0.905 -0.483 0.905 c --0.631 0.905 -0.776 0.87 -0.921 0.798 c --1.066 0.726 -1.202 0.615 -1.329 0.464 c --1.329 1.042 l --1.123 1.284 -0.827 1.405 -0.442 1.405 c --0.307 1.405 -0.18 1.388 -0.06 1.352 c -0.059 1.316 0.162 1.262 0.248 1.191 c -0.337 1.119 0.405 1.028 0.455 0.917 c -0.504 0.805 0.529 0.674 0.529 0.524 c -0.529 -0.851 l -0.529 -0.943 0.563 -0.989 0.63 -0.989 c -0.69 -0.989 0.784 -0.941 0.91 -0.846 c -0.91 -1.167 l -f -Q -q -1 0 0 1 200.483 72.421 cm -0 0 0 0.27 k -/GS2 gs -0 0 m -0.846 0 l -0.846 -0.476 l -0 -0.476 l -0 -1.644 l -0 -1.727 0.002 -1.795 0.006 -1.846 c -0.01 -1.898 0.015 -1.941 0.02 -1.977 c -0.026 -2.013 0.036 -2.041 0.047 -2.063 c -0.059 -2.085 0.075 -2.108 0.095 -2.132 c -0.147 -2.187 0.2 -2.22 0.256 -2.23 c -0.311 -2.24 0.354 -2.245 0.381 -2.245 c -0.437 -2.245 0.514 -2.236 0.612 -2.218 c -0.712 -2.2 0.835 -2.146 0.983 -2.055 c -0.983 -2.549 l -0.855 -2.616 0.729 -2.663 0.605 -2.688 c -0.479 -2.714 0.377 -2.727 0.297 -2.727 c -0.25 -2.727 0.196 -2.722 0.137 -2.713 c -0.077 -2.702 0.015 -2.683 -0.051 -2.656 c --0.117 -2.628 -0.178 -2.593 -0.238 -2.552 c --0.298 -2.51 -0.352 -2.455 -0.399 -2.388 c --0.467 -2.289 -0.505 -2.173 -0.516 -2.043 c --0.525 -1.912 -0.53 -1.784 -0.53 -1.661 c --0.53 -0.476 l --0.995 -0.476 l --0.995 -0.423 l -0 0.554 l -0 0 l -f -Q -q -1 0 0 1 202.388 69.747 cm -0 0 0 0.27 k -/GS2 gs -0 0 -0.53 2.674 re --0.268 3.799 m --0.176 3.799 -0.102 3.768 -0.042 3.707 c -0.018 3.645 0.047 3.573 0.047 3.49 c -0.047 3.406 0.017 3.333 -0.045 3.269 c --0.106 3.206 -0.182 3.174 -0.268 3.174 c --0.372 3.174 -0.45 3.21 -0.501 3.281 c --0.552 3.352 -0.578 3.422 -0.578 3.49 c --0.578 3.565 -0.549 3.636 -0.491 3.701 c --0.434 3.766 -0.359 3.799 -0.268 3.799 c -f -Q -q -1 0 0 1 204.469 71.998 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.12 0 -0.233 -0.02 -0.337 -0.059 c --0.442 -0.099 -0.535 -0.158 -0.615 -0.235 c --0.694 -0.312 -0.756 -0.409 -0.802 -0.524 c --0.848 -0.639 -0.871 -0.77 -0.871 -0.917 c --0.871 -1.084 -0.843 -1.226 -0.786 -1.343 c --0.732 -1.46 -0.66 -1.554 -0.572 -1.626 c --0.485 -1.697 -0.389 -1.749 -0.284 -1.78 c --0.179 -1.812 -0.077 -1.828 0.023 -1.828 c -0.154 -1.828 0.274 -1.805 0.381 -1.76 c -0.488 -1.714 0.579 -1.652 0.656 -1.572 c -0.734 -1.493 0.795 -1.396 0.839 -1.283 c -0.883 -1.17 0.904 -1.046 0.904 -0.911 c -0.904 -0.745 0.874 -0.602 0.815 -0.485 c -0.755 -0.368 0.68 -0.274 0.592 -0.202 c -0.502 -0.131 0.405 -0.079 0.3 -0.047 c -0.195 -0.016 0.094 0 0 0 c -h -0.029 0.477 m -0.227 0.477 0.413 0.443 0.586 0.375 c -0.759 0.308 0.908 0.213 1.035 0.092 c -1.163 -0.029 1.262 -0.175 1.336 -0.348 c -1.409 -0.521 1.446 -0.713 1.446 -0.923 c -1.446 -1.161 1.403 -1.367 1.315 -1.542 c -1.227 -1.717 1.114 -1.861 0.976 -1.974 c -0.837 -2.087 0.682 -2.171 0.514 -2.224 c -0.346 -2.278 0.178 -2.305 0.011 -2.305 c --0.204 -2.305 -0.398 -2.268 -0.572 -2.194 c --0.748 -2.121 -0.897 -2.021 -1.022 -1.894 c --1.147 -1.767 -1.244 -1.619 -1.311 -1.45 c --1.378 -1.281 -1.412 -1.102 -1.412 -0.911 c --1.412 -0.724 -1.379 -0.547 -1.314 -0.378 c --1.248 -0.209 -1.154 -0.061 -1.028 0.065 c --0.903 0.193 -0.752 0.293 -0.572 0.366 c --0.394 0.44 -0.193 0.477 0.029 0.477 c -f -Q -q -1 0 0 1 207.127 72.421 cm -0 0 0 0.27 k -/GS2 gs -0 0 m --0.001 -0.34 l -0.118 -0.205 0.249 -0.105 0.394 -0.041 c -0.538 0.022 0.673 0.054 0.8 0.054 c -0.839 0.054 0.891 0.049 0.955 0.039 c -1.018 0.029 1.085 0.009 1.157 -0.021 c -1.228 -0.051 1.299 -0.094 1.368 -0.152 c -1.437 -0.21 1.5 -0.284 1.555 -0.375 c -1.574 -0.407 1.593 -0.443 1.611 -0.482 c -1.629 -0.522 1.644 -0.57 1.659 -0.628 c -1.672 -0.686 1.683 -0.756 1.692 -0.84 c -1.699 -0.923 1.703 -1.026 1.703 -1.149 c -1.703 -2.674 l -1.173 -2.674 l -1.173 -1.149 l -1.173 -1.006 1.167 -0.892 1.156 -0.804 c -1.144 -0.716 1.102 -0.633 1.03 -0.554 c -0.978 -0.498 0.922 -0.456 0.86 -0.429 c -0.799 -0.401 0.723 -0.387 0.631 -0.387 c -0.508 -0.387 0.392 -0.421 0.283 -0.488 c -0.174 -0.556 0.079 -0.647 0 -0.762 c -0 -2.674 l --0.542 -2.674 l --0.542 0 l -0 0 l -f -Q -EMC -EMC -q -1 0 0 1 50.58 43.02 cm -0 g -/GS4 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47790 0 obj <> endobj 47791 0 obj <>stream -q -/Fm0 Do -Q -q -1 0 0 1 107.479 694.748 cm -0.146 g -/GS0 gs -0 0 m --4.998 0 -4.998 -4.998 v --4.998 -42.983 l --4.998 -47.981 0 -47.981 v -397.841 -47.981 l -402.839 -47.981 402.839 -42.983 v -402.839 -4.998 l -402.839 0 397.841 0 v -0 0 l -f -Q -BT -/GS1 gs -/T1_0 1 Tf -9.996 0 0 9.996 186.78 622.811 Tm -[( )278( )]TJ -0.0505 Tc T* -[(In)9(f)12(o)5(r)10(m)-1(IT)]TJ -/T1_1 1 Tf -0.0393 Tc 0.0007 Tw 4.358 0 Td -[( i)8(s)-1( a br)17(an)6(d o)9(f)-1( P)12(ear)5(son an)6(d the on)6(l)11(i)6(ne pr)23(esence)39( )]TJ --4.358 -1.4 Td -[(f)15(o)-3(r the w)7(o)-3(r)7(l)9(d\222)33(s lea)12(d)8(i)6(n)6(g t)18(e)-2(c)5(h)2(nology p)5(u)5(b)7(l)11(i)8(sher)5(s)5(. I)9(t)-21(\222)33(s)-1( y)13(o)-3(ur sour)24(ce)39( )]TJ -0.0391 Tc 0.0009 Tw 0 -1.4 TD -[(f)15(o)-4(r r)23(e)3(l)10(i)7(ab)7(le an)6(d q)5(u)2(al)10(i)5(f)3(i)5(e)3(d con)11(t)18(en)11(t an)6(d kno)6(wled)7(g)2(e)15(,)-1( pr)17(o)12(v)2(i)11(d)8(i)6(n)6(g)39( )]TJ -0.0394 Tc 0.0006 Tw T* -[(a)8(c)2(cess t)15(o)-1( the t)15(o)-1(p br)17(an)6(ds)5(, a)9(uthor)5(s)5(,)-1( an)6(d con)11(t)3(r)7(i)10(b)5(ut)15(o)-3(r)5(s)-1( fr)17(o)-9(m)39( )]TJ -0.0356 Tc 0.0044 Tw T* -[(the)-4( t)14(e)-5(ch)-4( c)-6(o)-12(m)-11(m)-4(unit)-26(y)56(.)]TJ -1 g -/TT0 1 Tf -0.0087 Tc 0 Tw 25.8938 0 0 25.8938 113.0771 663.2345 Tm -[(in)-9(f)-7(o)1(r)-5(m)]TJ -0 g -0.0182 Tc 2.825 0 Td -(IT)Tj -1 g -0.0113 Tc 0.742 0 Td -[(.co)4(m)]TJ -0 g -0 Tc 28.4832 0 0 28.4832 257.013 663.2345 Tm -( )Tj -1 g -/T1_1 1 Tf -0.03 Tc 9.0628 0 0 9.0628 267.398 662.9957 Tm -[(T)-17(H)-19(E T)-17(R)-11(U)-13(S)-8(T)-17(E)-5(D T)-17(E)3(C)-10(H)-20(N)-16(O)-16(L)22(O)-15(G)30(Y L)-14(E)-37(A)-18(R)-20(N)-8(I)-7(N)-19(G S)-10(O)-12(U)-17(R)-14(C)-9(E)]TJ -0 g -/TT0 1 Tf -0.0244 Tc 22.2211 0 0 22.2211 216.66 502.252 Tm -[(Le)11(a)9(r)5(nIT)9( )]TJ -/T1_1 1 Tf --0.0079 Tc 20.5118 0 0 20.5118 291.193 502.252 Tm -(at)Tj -/TT0 1 Tf -0.0133 Tc 0.0017 Tw 22.2211 0 0 22.2211 308.446 502.252 Tm -[( In)-11(f)-8(or)-7(m)-52(I)-11(T)]TJ -/T1_1 1 Tf -0.0396 Tc 0.0004 Tw 9.996 0 0 9.996 135.301 478.868 Tm -[(Lo)-8(o)-6(ki)7(n)6(g f)15(o)-3(r a bo)-8(o)-6(k)-1(, e)-8(B)-10(o)-8(o)-6(k, or tr)18(ai)7(n)7(i)7(n)6(g vi)11(deo on a ne)9(w t)18(e)-1(c)5(h)2(nology)-26(? S)-9(e)-2(eki)7(n)6(g)40( )]TJ -0.039 Tc 0.001 Tw T* -[(t)6(i)2(mely an)6(d r)23(e)3(le)15(v)17(an)11(t)-1( i)6(n)11(f)15(o)-4(rma)10(t)6(ion an)6(d tut)14(o)-4(r)7(i)7(al)6(s? Lo)-9(o)-7(ki)6(n)6(g f)15(o)-4(r e)23(x)2(per)-23(t)-1( op)8(i)6(n)7(ions)5(,)39( )]TJ -0.0392 Tc 0.0008 Tw T* -[(a)12(d)1(vi)6(ce)16(, an)6(d t)6(i)10(p)8(s)-4(? )]TJ -/T1_0 1 Tf -0.0408 Tc -0.0008 Tw [(I)-9(nfo)-4(rm)-11(I)-11(T)1( h)-5(a)-3(s t)-9(h)-10(e solu)-7(t)-8(i)-2(on)-7(.)]TJ -/T1_1 1 Tf -0.04 Tc 0 Tw 1.7 -2.1 Td -(\201 )Tj -0.582 Tc 0.54 0 Td -( )Tj -0.0389 Tc 0.0011 Tw 0.86 0 Td -[(L)4(earn about ne)9(w r)23(e)2(leases an)5(d spec)9(i)7(a)4(l pr)17(o)-9(m)-8(o)5(t)6(ions b)21(y)39( )]TJ -0.0385 Tc 0.0015 Tw T* -[(su)4(b)6(s)3(c)5(r)6(i)9(b)7(i)5(n)5(g t)14(o)-1( a wi)10(de v)17(a)1(r)6(i)5(e)8(t)-23(y o)8(f)-1( ne)8(ws)5(le)8(t)-22(t)17(er)4(s)5(.)39( )]TJ -0.0463 Tc 0 Tw T* -[(Vi)15(s)14(i)12(t)6( )]TJ -/T1_0 1 Tf -0.0412 Tc 2.336 0 Td -[(info)-4(rmit)-24(.c)-4(o)-4(m)-67(/)-35(n)-9(ewsl)-9(e)-5(t)-22(te)-9(r)-6(s)]TJ -/T1_1 1 Tf -0 Tc 12.99 0 Td -(.)Tj -0.04 Tc -16.726 -2 Td -[(\201 )-224( )]TJ -0.0393 Tc 0.0007 Tw 1.4 0 Td -[(A)8(c)2(cess F)-13(R)-15(EE podcas)8(t)6(s fr)17(o)-9(m)-1( e)24(x)2(per)-22(t)6(s a)11(t)-1( )]TJ -/T1_0 1 Tf -0.0411 Tc 0 Tw 19.217 0 Td -[(info)-4(rmit)-24(.c)-4(o)-4(m)-67(/)-37(p)-7(o)-9(d)-8(c)-8(a)-3(s)-4(t)-8(s)]TJ -/T1_1 1 Tf -0 Tc 11.746 0 Td -(.)Tj -0.04 Tc -32.364 -2 Td -[(\201 )-224( )]TJ -0.0395 Tc 0.0005 Tw 1.4 0 Td -[(Rea)13(d the l)7(a)11(t)18(e)1(s)8(t a)9(uthor ar)-22(t)6(i)7(c)8(l)4(es an)6(d samp)7(le c)5(h)4(ap)15(t)18(e)1(r)5(s a)11(t)40( )]TJ -/T1_0 1 Tf -0.0417 Tc 0 Tw T* -[(info)-3(rmit)-24(.c)-4(o)-3(m)-66(/)-37(a)-5(r)-25(t)-7(icl)-8(e)-7(s)]TJ -/T1_1 1 Tf -0 Tc 10.873 0 Td -(.)Tj -0.04 Tc 0.542 Tw -12.273 -2 Td -(\201 )Tj -0.0398 Tc 0.0002 Tw 1.4 0 Td -[(A)8(c)3(cess thousan)6(d)4(s o)9(f bo)-8(o)-6(k)13(s an)6(d vi)11(deos i)7(n the S)-9(a)11(f)15(a)2(r)8(i B)-9(o)-8(o)-6(k)13(s)40( )]TJ -0.03 Tc 0.01 Tw T* -[(O)-19(n)-3(lin)-9(e)-10( digi)-5(t)-10(a)-5(l)-10( lib)-5(r)8(a)-8(r)-33(y)-10( at)-10( )]TJ -/T1_0 1 Tf -0.0443 Tc 0 Tw [(safar)6(i.i)5(nf)5(ormit)-21(.)4(com)]TJ -/T1_1 1 Tf -0 Tc 21.11 0 Td -(.)Tj -0.0399 Tc 0.0001 Tw -22.51 -2 Td -[(\201 )-542(Ge)9(t t)7(i)10(p)8(s fr)18(o)-8(m e)24(x)2(per)-22(t b)8(l)1(ogs a)11(t )]TJ -/T1_0 1 Tf -0.0415 Tc 0 Tw 15.585 0 Td -[(info)-4(rmit)-24(.c)-4(o)-4(m)-66(/)-37(b)-5(lo)-4(g)-7(s)]TJ -/T1_1 1 Tf -0 Tc 9.872 0 Td -(.)Tj -0.0463 Tc -27.157 -2 Td -[(Vi)15(s)14(i)12(t)6( )]TJ -/T1_0 1 Tf -0.041 Tc 2.336 0 Td -[(info)-4(rmit)-24(.c)-5(o)-4(m)-67(/)-37(l)-9(e)-9(a)-5(rn)]TJ -/T1_1 1 Tf -0.0391 Tc 0.0009 Tw 9.625 0 Td -[( t)15(o)-1( d)8(i)7(sco)12(v)17(er al)11(l the w)13(a)21(y)7(s)-1( y)13(o)-4(u can a)8(c)2(cess the)39( )]TJ -0.0406 Tc -0.0006 Tw -11.961 -1.4 Td -[(ho)7(t)-20(t)19(es)9(t t)19(ec)6(h)3(nology con)13(t)19(en)13(t)7(.)]TJ -/TT0 1 Tf -0.0018 Tc 0 Tw 16.1242 0 0 16.1242 133.6683 123.4349 Tm -[(in)-9(f)-6(o)2(r)-5(m)-23(I)-9(T)33(.com)]TJ -0 Tc 17.7367 0 0 17.7367 221.955 123.4349 Tm -( )Tj -/T1_1 1 Tf -0.03 Tc 5.6435 0 0 5.6435 224.891 123.762 Tm -[(T)-32(H)-34(E T)-32(R)-26(U)-28(S)-23(T)-32(E)-21(D T)-32(E)-13(C)-25(H)-35(N)-30(O)-31(L)5(O)-30(G)13(Y L)-29(E)-50(A)-32(R)-34(N)-23(I)-22(N)-33(G S)-25(O)-27(U)-32(R)-29(C)-24(E)]TJ -ET -0.146 g -/GS0 gs -134.007 117.27 341.011 0.161 re -f -q -1 0 0 1 202.044 109.297 cm -0 0 m -0.008 0.593 -0.352 1.07 -1.078 1.07 c --1.938 1.07 -2.157 -0.204 -2.157 -0.993 c --2.157 -1.782 -1.938 -3.056 -1.078 -3.056 c --0.352 -3.056 0.008 -2.579 0 -1.985 c -1.289 -1.985 l -1.235 -3.4 0.219 -3.931 -1.078 -3.931 c --2.711 -3.931 -3.446 -2.642 -3.446 -0.993 c --3.446 0.656 -2.711 1.945 -1.078 1.945 c -0.219 1.945 1.235 1.414 1.289 0 c -0 0 l -f -Q -204.044 109.406 1.172 -3.923 re -205.216 109.406 m -h -204.005 111.125 1.25 -1.008 re -f -q -1 0 0 1 208.201 108.359 cm -0 0 m --0.015 0.265 -0.265 0.383 -0.531 0.383 c --0.851 0.383 -1 0.289 -1 0.031 c --1 -0.586 1.243 -0.235 1.243 -1.704 c -1.243 -2.563 0.196 -2.993 -0.531 -2.993 c --1.445 -2.993 -2.242 -2.633 -2.258 -1.735 c --1.172 -1.735 l --1.148 -2.039 -0.875 -2.212 -0.531 -2.212 c --0.211 -2.212 0.031 -2.079 0.031 -1.774 c -0.031 -1.461 -0.531 -1.329 -0.765 -1.274 c --1.516 -1.094 -2.211 -0.93 -2.211 -0.016 c --2.211 0.805 -1.219 1.164 -0.531 1.164 c -0.297 1.164 1.001 0.867 1.055 0 c -0 0 l -f -Q -q -1 0 0 1 212.21 108.031 cm -0 0 m --0.008 0.32 -0.141 0.711 -0.594 0.711 c --1.094 0.711 -1.102 -0.227 -1.117 -0.532 c --1.086 -0.891 -1.078 -1.884 -0.578 -1.884 c --0.125 -1.884 0.008 -1.438 0.016 -1.118 c -1.156 -1.118 l -1.117 -2.118 0.5 -2.665 -0.578 -2.665 c --1.742 -2.665 -2.329 -1.626 -2.329 -0.586 c --2.329 0.453 -1.742 1.492 -0.578 1.492 c -0.422 1.492 1.164 0.922 1.156 0 c -0 0 l -f -Q -q -1 0 0 1 215.085 107.445 cm -0 0 m -0 0.625 0.118 1.297 0.837 1.297 c -1.556 1.297 1.673 0.625 1.673 0 c -1.673 -0.625 1.556 -1.298 0.837 -1.298 c -0.118 -1.298 0 -0.625 0 0 c -h -2.884 0 m -2.884 1.234 2.118 2.078 0.837 2.078 c --0.445 2.078 -1.211 1.234 -1.211 0 c --1.211 -1.235 -0.445 -2.079 0.837 -2.079 c -2.118 -2.079 2.884 -1.235 2.884 0 c -f -Q -q -1 0 0 1 222.196 110.187 cm -0 0 m -0.672 -0.031 1.547 0.204 1.547 -0.797 c -1.547 -1.797 0.672 -1.563 0 -1.594 c -0 0 l -h -0 -4.704 m -0 -2.531 l -0.883 -2.531 l -2.141 -2.492 2.837 -1.82 2.837 -0.797 c -2.837 0.633 1.782 0.93 0.532 0.938 c --1.211 0.938 l --1.211 -4.704 l -0 -4.704 l -f -Q -q -1 0 0 1 226.736 109.406 cm -0 0 m -0.023 -0.711 l -0.039 -0.711 l -0.289 -0.094 0.789 0.063 1.376 0.047 c -1.376 -0.992 l -0.868 -0.992 l -0.672 -1.008 0.414 -1.117 0.297 -1.282 c -0.172 -1.5 0.149 -1.719 0.141 -1.977 c -0.141 -3.923 l --1.023 -3.923 l --1.031 -0.782 l --1.031 -0.617 -1.055 -0.289 -1.07 0 c -0 0 l -f -Q -q -1 0 0 1 229.83 107.914 cm -0 0 m -0.016 0.429 0.133 0.828 0.673 0.828 c -1.243 0.828 1.36 0.429 1.36 0 c -0 0 l -h -2.571 -0.782 m -2.571 -0.524 2.571 -0.274 2.54 -0.032 c -2.509 0.218 2.454 0.453 2.345 0.671 c -2.017 1.359 1.407 1.609 0.673 1.609 c --0.523 1.609 -1.211 0.703 -1.211 -0.477 c --1.211 -1.79 -0.672 -2.548 0.673 -2.548 c -1.587 -2.548 2.345 -2.227 2.446 -1.259 c -1.392 -1.259 l -1.282 -1.618 1.079 -1.767 0.673 -1.767 c -0.071 -1.767 0 -1.29 0 -0.782 c -2.571 -0.782 l -f -Q -q -1 0 0 1 235.121 108.359 cm -0 0 m --0.016 0.265 -0.266 0.383 -0.532 0.383 c --0.852 0.383 -1.001 0.289 -1.001 0.031 c --1.001 -0.586 1.242 -0.235 1.242 -1.704 c -1.242 -2.563 0.195 -2.993 -0.532 -2.993 c --1.446 -2.993 -2.243 -2.633 -2.259 -1.735 c --1.172 -1.735 l --1.149 -2.039 -0.876 -2.212 -0.532 -2.212 c --0.211 -2.212 0.031 -2.079 0.031 -1.774 c -0.031 -1.461 -0.532 -1.329 -0.766 -1.274 c --1.516 -1.094 -2.212 -0.93 -2.212 -0.016 c --2.212 0.805 -1.219 1.164 -0.532 1.164 c -0.296 1.164 1 0.867 1.054 0 c -0 0 l -f -Q -q -1 0 0 1 239.028 108.359 cm -0 0 m --0.016 0.265 -0.266 0.383 -0.532 0.383 c --0.852 0.383 -1.001 0.289 -1.001 0.031 c --1.001 -0.586 1.242 -0.235 1.242 -1.704 c -1.242 -2.563 0.195 -2.993 -0.532 -2.993 c --1.446 -2.993 -2.243 -2.633 -2.258 -1.735 c --1.172 -1.735 l --1.149 -2.039 -0.876 -2.212 -0.532 -2.212 c --0.211 -2.212 0.031 -2.079 0.031 -1.774 c -0.031 -1.461 -0.532 -1.329 -0.766 -1.274 c --1.516 -1.094 -2.212 -0.93 -2.212 -0.016 c --2.212 0.805 -1.219 1.164 -0.532 1.164 c -0.296 1.164 1 0.867 1.054 0 c -0 0 l -f -Q -q -1 0 0 1 273.089 111.134 cm -0 0 m --2.312 -2.063 -2.956 -5.043 y --3.762 -4.052 l --3.886 -4.648 l --2.646 -6.298 -2.551 -6.501 v --2.268 -2.066 0 0 y -f -Q -q -1 0 0 1 250.551 110.093 cm -0 0 m -3.562 0 l -3.562 -0.427 l -0.464 -0.427 l -0.464 -1.945 l -3.449 -1.945 l -3.449 -2.371 l -0.464 -2.371 l -0.464 -4.052 l -3.612 -4.052 l -3.612 -4.478 l -0 -4.478 l -0 0 l -f -Q -q -1 0 0 1 256.126 107.885 cm -0 0 m --1.743 2.208 l --1.122 2.208 l -0.333 0.364 l -1.831 2.208 l -2.408 2.208 l -0.652 0.025 l -2.465 -2.27 l -1.85 -2.27 l -0.32 -0.345 l --1.223 -2.27 l --1.818 -2.27 l -0 0 l -f -Q -q -1 0 0 1 261.971 106.976 cm -0 0 m --2.358 0 l --2.967 -1.361 l --3.468 -1.361 l --1.436 3.117 l --0.897 3.117 l -1.135 -1.361 l -0.595 -1.361 l -0 0 l -h --1.173 2.652 m --2.17 0.426 l --0.188 0.426 l --1.173 2.652 l -f -Q -q -1 0 0 1 268.148 110.093 cm -0 0 m -0.658 0 l -0.658 -4.478 l -0.194 -4.478 l -0.194 -0.609 l -0.181 -0.609 l --1.794 -4.478 l --2.22 -4.478 l --4.189 -0.603 l --4.202 -0.603 l --4.202 -4.478 l --4.666 -4.478 l --4.666 0 l --3.989 0 l --1.995 -3.895 l -0 0 l -f -Q -q -1 0 0 1 278.05 107.358 cm -0 0 m --0.114 -0.589 -0.314 -1.066 -0.753 -1.392 c --1.186 -1.718 -1.863 -1.9 -2.942 -1.9 c --4.014 -1.9 -6.002 -1.825 -6.002 0.496 c --6.002 2.816 -4.014 2.891 -2.942 2.891 c --1.876 2.891 -0.232 2.753 0 0.979 c --1.995 0.979 l --2.045 1.298 -2.258 1.763 -2.942 1.763 c --3.663 1.763 -4.121 1.405 -4.121 0.496 c --4.121 -0.414 -3.675 -0.771 -3.029 -0.771 c --2.471 -0.771 -2.139 -0.539 -1.995 0 c -0 0 l -f -Q -q -1 0 0 1 278.676 110.093 cm -0 0 m -3.726 0 l -4.234 0 4.541 -0.044 4.785 -0.163 c -5.118 -0.327 5.394 -0.759 5.394 -1.248 c -5.394 -1.669 5.218 -2.12 4.704 -2.271 c -4.704 -2.283 l -4.967 -2.358 5.181 -2.584 5.212 -2.973 c -5.287 -3.951 l -5.306 -4.152 5.394 -4.34 5.507 -4.478 c -3.575 -4.478 l -3.512 -4.346 3.512 -4.152 3.481 -3.631 c -3.462 -3.299 3.349 -3.098 3.023 -3.098 c -1.769 -3.098 l -1.769 -4.478 l -0 -4.478 l -0 0 l -h -1.769 -1.97 m -3.023 -1.97 l -3.368 -1.97 3.512 -1.832 3.512 -1.549 c -3.512 -1.211 3.293 -1.129 2.998 -1.129 c -1.769 -1.129 l -1.769 -1.97 l -f -Q -q -1 0 0 1 285.976 110.093 cm -0 0 m -2.17 0 l -4.076 -4.478 l -2.195 -4.478 l -2.007 -3.964 l -0.163 -3.964 l --0.025 -4.478 l --1.907 -4.478 l -0 0 l -h -1.091 -1.355 m -1.079 -1.355 l -0.552 -2.873 l -1.618 -2.873 l -1.091 -1.355 l -f -Q -q -1 0 0 1 290.278 110.093 cm -0 0 m -2.489 0 l -3.223 -2.603 l -3.236 -2.603 l -3.969 0 l -6.459 0 l -6.459 -4.478 l -4.854 -4.478 l -4.854 -1.28 l -4.841 -1.28 l -3.901 -4.478 l -2.558 -4.478 l -1.618 -1.28 l -1.605 -1.28 l -1.605 -4.478 l -0 -4.478 l -0 0 l -f -Q -q -1 0 0 1 138.372 108.559 cm -0 0 m --2.886 0 l --1.456 2.51 l -0 0 l -f -Q -q -1 0 0 1 136.57 108.038 cm -0 0 m --1.442 -2.501 l --2.902 -0.008 l -0 0 l -f -Q -q -1 0 0 1 140.046 108.038 cm -0 0 m --1.442 -2.501 l --2.902 -0.008 l -0 0 l -f -Q -q -1 0 0 1 144.008 107.581 cm -0 0 m --1.709 0 l --0.847 2.002 l -0 0 l -h -0.097 -0.27 m -0.367 -0.892 l -0.427 -1.042 0.547 -1.297 0.547 -1.461 c -0.547 -1.724 0.36 -1.784 0.037 -1.799 c -0.037 -1.934 l -1.994 -1.934 l -1.994 -1.799 l -1.439 -1.776 1.296 -1.357 1.109 -0.907 c --0.577 3.141 l --0.712 3.141 l --2.496 -1.042 l --2.721 -1.566 -2.879 -1.761 -3.268 -1.799 c --3.268 -1.934 l --1.709 -1.934 l --1.709 -1.799 l --1.987 -1.776 -2.286 -1.746 -2.286 -1.469 c --2.286 -1.326 -2.181 -1.094 -2.122 -0.967 c --1.822 -0.27 l -0.097 -0.27 l -f -Q -q -1 0 0 1 148.685 106.284 cm -0 0 m --0.172 -0.187 -0.382 -0.337 -0.645 -0.337 c --1.214 -0.337 -1.672 0.263 -1.672 1.177 c --1.672 2.347 -1.049 2.594 -0.78 2.594 c --0.27 2.594 0 2.084 0 1.635 c -0 0 l -h -0 2.534 m --0.195 2.736 -0.472 2.819 -0.742 2.819 c --1.717 2.819 -2.354 1.807 -2.354 0.915 c --2.354 0.128 -1.874 -0.742 -0.997 -0.742 c --0.577 -0.742 -0.285 -0.554 0 -0.262 c -0 -0.742 l -0.165 -0.742 l -1.177 -0.329 l -1.124 -0.202 l -0.869 -0.262 l -0.765 -0.262 0.607 -0.262 0.607 0.248 c -0.607 4.565 l -0.442 4.565 l --0.57 4.153 l --0.517 4.026 l --0.262 4.086 l --0.157 4.086 0 4.086 0 3.576 c -0 2.534 l -f -Q -q -1 0 0 1 152.433 106.284 cm -0 0 m --0.173 -0.187 -0.383 -0.337 -0.645 -0.337 c --1.215 -0.337 -1.672 0.263 -1.672 1.177 c --1.672 2.347 -1.05 2.594 -0.78 2.594 c --0.27 2.594 0 2.084 0 1.635 c -0 0 l -h -0 2.534 m --0.195 2.736 -0.472 2.819 -0.742 2.819 c --1.717 2.819 -2.354 1.807 -2.354 0.915 c --2.354 0.128 -1.874 -0.742 -0.997 -0.742 c --0.577 -0.742 -0.285 -0.554 0 -0.262 c -0 -0.742 l -0.165 -0.742 l -1.177 -0.329 l -1.124 -0.202 l -0.869 -0.262 l -0.764 -0.262 0.607 -0.262 0.607 0.248 c -0.607 4.565 l -0.442 4.565 l --0.57 4.153 l --0.517 4.026 l --0.263 4.086 l --0.158 4.086 0 4.086 0 3.576 c -0 2.534 l -f -Q -q -1 0 0 1 154.951 106.284 cm -0 0 m -0 -0.442 0.173 -0.494 0.518 -0.502 c -0.518 -0.637 l --1.124 -0.637 l --1.124 -0.502 l --0.779 -0.494 -0.607 -0.442 -0.607 0 c --0.607 1.829 l --0.607 2.339 -0.764 2.339 -0.869 2.339 c --1.124 2.279 l --1.176 2.407 l --0.165 2.819 l -0 2.819 l -0 0 l -h --0.307 4.565 m --0.105 4.565 0.06 4.4 0.06 4.198 c -0.06 3.996 -0.105 3.831 -0.307 3.831 c --0.509 3.831 -0.674 3.996 -0.674 4.198 c --0.674 4.4 -0.509 4.565 -0.307 4.565 c -f -Q -q -1 0 0 1 158.077 107.956 cm -0 0 m --0.135 0 l --0.247 0.502 -0.45 0.922 -1.034 0.922 c --1.304 0.922 -1.604 0.772 -1.604 0.465 c --1.604 -0.352 0.247 -0.247 0.247 -1.409 c -0.247 -2.024 -0.33 -2.414 -0.899 -2.414 c --1.117 -2.414 -1.357 -2.361 -1.574 -2.301 c --1.761 -2.264 l --1.896 -2.361 l --2.031 -2.361 l --2.031 -1.162 l --1.896 -1.162 l --1.829 -1.687 -1.432 -2.189 -0.869 -2.189 c --0.562 -2.189 -0.292 -2.009 -0.292 -1.679 c --0.292 -0.802 -2.039 -0.922 -2.039 0.142 c --2.039 0.757 -1.597 1.147 -0.997 1.147 c --0.839 1.147 -0.719 1.109 -0.57 1.064 c --0.48 1.042 -0.382 1.004 -0.292 1.004 c --0.195 1.004 -0.165 1.064 -0.135 1.147 c -0 1.147 l -0 0 l -f -Q -q -1 0 0 1 160.326 108.848 cm -0 0 m -0.832 0 1.057 -1.109 1.057 -1.762 c -1.057 -2.286 0.929 -3.051 0.247 -3.051 c --0.585 -3.051 -0.817 -1.882 -0.817 -1.237 c --0.817 -0.277 -0.368 0 0 0 c -h -0.127 0.255 m --0.855 0.255 -1.499 -0.637 -1.499 -1.559 c --1.499 -2.459 -0.877 -3.306 0.075 -3.306 c -1.259 -3.306 1.739 -2.219 1.739 -1.447 c -1.739 -0.532 1.064 0.255 0.127 0.255 c -f -Q -q -1 0 0 1 163.534 108.398 cm -0 0 m -0.42 0.465 0.712 0.705 1.139 0.705 c -1.746 0.705 1.986 0.135 1.986 -0.427 c -1.986 -2.114 l -1.986 -2.556 2.159 -2.608 2.503 -2.616 c -2.503 -2.751 l -0.862 -2.751 l -0.862 -2.616 l -1.207 -2.608 1.379 -2.556 1.379 -2.114 c -1.379 -0.562 l -1.379 0.18 1.072 0.255 0.847 0.255 c -0.502 0.255 0.247 0.03 0 -0.225 c -0 -2.114 l -0 -2.556 0.172 -2.608 0.517 -2.616 c -0.517 -2.751 l --1.124 -2.751 l --1.124 -2.616 l --0.78 -2.608 -0.607 -2.556 -0.607 -2.114 c --0.607 -0.285 l --0.607 0.225 -0.765 0.225 -0.87 0.225 c --1.124 0.165 l --1.177 0.293 l --0.165 0.705 l -0 0.705 l -0 0 l -f -Q -q -1 0 0 1 -0 -0 cm -166.367 107.042 1.897 0.577 re -f -Q -q -1 0 0 1 173.848 109.448 cm -0 0 m -0.06 0.172 0.18 0.502 0.18 0.674 c -0.18 0.959 -0.03 1.026 -0.367 1.026 c --0.367 1.161 l -1.117 1.161 l -1.117 1.026 l -0.622 1.026 0.517 0.614 0.382 0.217 c --1.042 -3.913 l --1.184 -3.913 l --2.309 -0.765 l --2.324 -0.765 l --3.426 -3.913 l --3.576 -3.913 l --5.105 0.367 l --5.27 0.839 -5.344 1.026 -5.794 1.026 c --5.794 1.161 l --3.958 1.161 l --3.958 1.026 l --4.228 1.026 -4.445 0.967 -4.445 0.712 c --4.445 0.592 -4.37 0.397 -4.333 0.284 c --3.321 -2.601 l --3.306 -2.601 l --2.481 -0.285 l --2.684 0.269 l --2.841 0.689 -2.953 1.026 -3.448 1.026 c --3.448 1.161 l --1.507 1.161 l --1.507 1.026 l --1.822 1.026 -2.039 1.004 -2.039 0.689 c --2.039 0.472 -1.919 0.164 -1.844 -0.038 c --0.93 -2.601 l --0.915 -2.601 l -0 0 l -f -Q -q -1 0 0 1 175.213 107.956 cm -0 0 m -0.03 0.435 0.345 0.877 0.787 0.877 c -1.32 0.877 1.552 0.465 1.552 0 c -0 0 l -h -2.316 -0.225 m -2.316 0.585 1.807 1.147 1.035 1.147 c --0.03 1.147 -0.517 0.277 -0.517 -0.69 c --0.517 -1.717 0.128 -2.414 0.945 -2.414 c -1.702 -2.414 2.189 -1.776 2.316 -1.087 c -2.204 -1.012 l -2.032 -1.499 1.739 -1.814 1.2 -1.814 c -0.383 -1.814 -0.007 -0.974 -0.007 -0.225 c -2.316 -0.225 l -f -Q -q -1 0 0 1 180.19 107.956 cm -0 0 m --0.135 0 l --0.247 0.502 -0.449 0.922 -1.034 0.922 c --1.304 0.922 -1.604 0.772 -1.604 0.465 c --1.604 -0.352 0.248 -0.247 0.248 -1.409 c -0.248 -2.024 -0.329 -2.414 -0.899 -2.414 c --1.117 -2.414 -1.356 -2.361 -1.574 -2.301 c --1.761 -2.264 l --1.896 -2.361 l --2.031 -2.361 l --2.031 -1.162 l --1.896 -1.162 l --1.829 -1.687 -1.431 -2.189 -0.869 -2.189 c --0.562 -2.189 -0.292 -2.009 -0.292 -1.679 c --0.292 -0.802 -2.038 -0.922 -2.038 0.142 c --2.038 0.757 -1.596 1.147 -0.997 1.147 c --0.839 1.147 -0.719 1.109 -0.569 1.064 c --0.292 1.004 l --0.195 1.004 -0.165 1.064 -0.135 1.147 c -0 1.147 l -0 0 l -f -Q -q -1 0 0 1 182.064 106.284 cm -0 0 m -0 -0.442 0.173 -0.494 0.517 -0.502 c -0.517 -0.637 l --1.124 -0.637 l --1.124 -0.502 l --0.779 -0.494 -0.607 -0.442 -0.607 0 c --0.607 3.576 l --0.607 4.086 -0.764 4.086 -0.869 4.086 c --1.124 4.026 l --1.177 4.153 l --0.165 4.565 l -0 4.565 l -0 0 l -f -Q -q -1 0 0 1 183.541 107.956 cm -0 0 m -0.03 0.435 0.345 0.877 0.787 0.877 c -1.319 0.877 1.551 0.465 1.551 0 c -0 0 l -h -2.316 -0.225 m -2.316 0.585 1.806 1.147 1.034 1.147 c --0.03 1.147 -0.517 0.277 -0.517 -0.69 c --0.517 -1.717 0.127 -2.414 0.944 -2.414 c -1.701 -2.414 2.189 -1.776 2.316 -1.087 c -2.203 -1.012 l -2.031 -1.499 1.739 -1.814 1.199 -1.814 c -0.382 -1.814 -0.008 -0.974 -0.008 -0.225 c -2.316 -0.225 l -f -Q -q -1 0 0 1 186.66 108.226 cm -0 0 m --0.128 0.277 -0.3 0.6 -0.63 0.637 c --0.63 0.772 l -0.929 0.772 l -0.929 0.637 l -0.697 0.637 0.525 0.607 0.525 0.367 c -0.525 0.24 0.629 0.03 0.682 -0.09 c -1.461 -1.694 l -2.174 0.067 l -2.226 0.202 2.271 0.307 2.271 0.45 c -2.271 0.622 2.136 0.637 1.934 0.637 c -1.934 0.772 l -3.028 0.772 l -3.028 0.637 l -2.788 0.637 2.661 0.45 2.578 0.247 c -1.147 -3.261 l -0.854 -3.98 0.307 -4.198 0.045 -4.198 c --0.203 -4.198 -0.458 -4.048 -0.458 -3.778 c --0.458 -3.553 -0.278 -3.448 -0.075 -3.448 c -0.172 -3.448 0.292 -3.583 0.419 -3.583 c -0.719 -3.583 0.877 -3.163 0.967 -2.946 c -1.169 -2.444 l -0 0 l -f -Q -q -1 0 0 1 -0 -0 cm -307.41 107.462 1.481 4.806 re -f -Q -q -1 0 0 1 309.651 112.268 cm -0 0 m -2.632 0 l -3.898 0 4.167 -0.714 4.167 -1.205 c -4.167 -1.69 3.931 -1.952 3.574 -2.148 c -4.005 -2.296 4.409 -2.639 4.409 -3.346 c -4.409 -4.308 3.574 -4.806 2.726 -4.806 c -0 -4.806 l -0 0 l -h -1.481 -1.872 m -2.262 -1.872 l -2.572 -1.872 2.767 -1.784 2.767 -1.474 c -2.767 -1.232 2.565 -1.145 2.262 -1.145 c -1.481 -1.145 l -1.481 -1.872 l -h -1.481 -3.662 m -2.349 -3.662 l -2.659 -3.662 2.928 -3.575 2.928 -3.204 c -2.928 -2.922 2.76 -2.767 2.41 -2.767 c -1.481 -2.767 l -1.481 -3.662 l -f -Q -q -1 0 0 1 314.632 112.268 cm -0 0 m -2.107 0 l -2.794 -2.827 l -2.807 -2.827 l -3.494 0 l -5.601 0 l -5.601 -4.806 l -4.201 -4.806 l -4.201 -1.724 l -4.187 -1.724 l -3.352 -4.806 l -2.249 -4.806 l -1.414 -1.724 l -1.4 -1.724 l -1.4 -4.806 l -0 -4.806 l -0 0 l -f -Q -q -1 0 0 1 307.507 105.832 cm -0 0 m -1.683 0 l -2.571 0 2.882 -0.656 2.882 -1.127 c -2.882 -1.926 2.351 -2.3 1.601 -2.3 c -1.006 -2.3 l -1.006 -3.298 l -0 -3.298 l -0 0 l -h -1.006 -1.515 m -1.395 -1.515 l -1.656 -1.515 1.93 -1.496 1.93 -1.164 c -1.93 -0.863 1.701 -0.845 1.454 -0.845 c -1.006 -0.845 l -1.006 -1.515 l -f -Q -q -1 0 0 1 310.713 104.932 cm -0 0 m -0.87 0 l -0.87 -0.384 l -0.879 -0.384 l -1.025 -0.097 1.217 0.06 1.547 0.06 c -1.638 0.06 1.725 0.046 1.812 0.023 c -1.812 -0.786 l -1.72 -0.753 1.638 -0.726 1.455 -0.726 c -1.098 -0.726 0.906 -0.938 0.906 -1.451 c -0.906 -2.398 l -0 -2.398 l -0 0 l -f -Q -q -1 0 0 1 313.427 103.527 cm -0 0 m -0.023 -0.272 0.178 -0.466 0.462 -0.466 c -0.608 -0.466 0.768 -0.411 0.842 -0.295 c -1.688 -0.295 l -1.505 -0.813 1.006 -1.053 0.466 -1.053 c --0.293 -1.053 -0.865 -0.6 -0.865 0.199 c --0.865 0.897 -0.362 1.465 0.389 1.465 c -1.331 1.465 1.738 0.933 1.738 0 c -0 0 l -h -0.869 0.476 m -0.869 0.698 0.704 0.878 0.471 0.878 c -0.201 0.878 0.046 0.735 0.004 0.476 c -0.869 0.476 l -f -Q -q -1 0 0 1 316.917 104.234 cm -0 0 m --0.105 0.18 l --0.306 0.25 l --0.435 0.25 -0.581 0.222 -0.581 0.065 c --0.476 -0.06 l --0.325 -0.125 0.018 -0.143 0.32 -0.245 c -0.622 -0.342 0.888 -0.522 0.888 -0.915 c -0.888 -1.58 0.256 -1.76 -0.32 -1.76 c --0.878 -1.76 -1.491 -1.534 -1.505 -0.915 c --0.64 -0.915 l --0.531 -1.127 l --0.485 -1.169 -0.398 -1.196 -0.288 -1.196 c --0.169 -1.196 0.018 -1.15 0.018 -1.012 c -0.018 -0.873 -0.059 -0.831 -0.48 -0.757 c --1.171 -0.637 -1.45 -0.416 -1.45 -0.005 c --1.45 0.601 -0.805 0.758 -0.329 0.758 c -0.183 0.758 0.801 0.615 0.823 0 c -0 0 l -f -Q -q -1 0 0 1 319.543 104.234 cm -0 0 m --0.106 0.18 l --0.307 0.25 l --0.435 0.25 -0.581 0.222 -0.581 0.065 c --0.476 -0.06 l --0.325 -0.125 0.018 -0.143 0.32 -0.245 c -0.622 -0.342 0.887 -0.522 0.887 -0.915 c -0.887 -1.58 0.256 -1.76 -0.32 -1.76 c --0.879 -1.76 -1.492 -1.534 -1.505 -0.915 c --0.641 -0.915 l --0.531 -1.127 l --0.485 -1.169 -0.398 -1.196 -0.288 -1.196 c --0.17 -1.196 0.018 -1.15 0.018 -1.012 c -0.018 -0.873 -0.06 -0.831 -0.481 -0.757 c --1.171 -0.637 -1.45 -0.416 -1.45 -0.005 c --1.45 0.601 -0.805 0.758 -0.33 0.758 c -0.183 0.758 0.8 0.615 0.823 0 c -0 0 l -f -Q -q -1 0 0 1 321.328 103.078 cm -0 0 m --0.2 0 l --0.2 -0.549 l --0.326 -0.549 l --0.326 0 l --0.526 0 l --0.526 0.103 l -0 0.103 l -0 0 l -h -0.496 -0.359 m -0.673 0.103 l -0.855 0.103 l -0.855 -0.549 l -0.736 -0.549 l -0.736 -0.04 l -0.733 -0.04 l -0.538 -0.549 l -0.45 -0.549 l -0.255 -0.04 l -0.252 -0.04 l -0.252 -0.549 l -0.133 -0.549 l -0.133 0.103 l -0.317 0.103 l -0.496 -0.359 l -f -Q -q -1 0 0 1 414.871 108.991 cm -0 0 m --0.235 0.225 -0.556 0.375 -0.916 0.375 c --1.186 0.375 -1.571 0.217 -1.621 -0.098 c --1.673 -0.428 -1.296 -0.556 -1.054 -0.638 c --0.697 -0.751 l -0.054 -0.983 0.599 -1.381 0.454 -2.296 c -0.364 -2.859 0.138 -3.436 -0.373 -3.819 c --0.875 -4.194 -1.492 -4.351 -2.063 -4.351 c --2.775 -4.351 -3.435 -4.111 -3.948 -3.706 c --3.13 -2.521 l --2.814 -2.844 -2.42 -3.106 -1.918 -3.106 c --1.573 -3.106 -1.178 -2.934 -1.115 -2.536 c --1.049 -2.123 -1.604 -1.981 -1.905 -1.891 c --2.786 -1.628 -3.356 -1.388 -3.182 -0.293 c --3 0.855 -2.064 1.605 -0.931 1.605 c --0.361 1.605 0.308 1.425 0.766 1.14 c -0 0 l -f -Q -q -1 0 0 1 422.382 110.446 cm -0 0 m -1.447 0 l -2.116 -3.023 l -3.81 0 l -5.273 0 l -5.232 -5.656 l -3.762 -5.656 l -3.865 -2.401 l -3.85 -2.401 l -1.976 -5.656 l -1.391 -5.656 l -0.609 -2.401 l -0.594 -2.401 l --0.394 -5.656 l --1.857 -5.656 l -0 0 l -f -Q -q -1 0 0 1 432.007 108.991 cm -0 0 m --0.234 0.225 -0.556 0.375 -0.916 0.375 c --1.186 0.375 -1.571 0.217 -1.621 -0.098 c --1.673 -0.428 -1.296 -0.556 -1.054 -0.638 c --0.696 -0.751 l -0.054 -0.983 0.599 -1.381 0.454 -2.296 c -0.365 -2.859 0.138 -3.436 -0.373 -3.819 c --0.875 -4.194 -1.492 -4.351 -2.062 -4.351 c --2.775 -4.351 -3.435 -4.111 -3.948 -3.706 c --3.13 -2.521 l --2.813 -2.844 -2.42 -3.106 -1.917 -3.106 c --1.572 -3.106 -1.177 -2.934 -1.115 -2.536 c --1.049 -2.123 -1.604 -1.981 -1.905 -1.891 c --2.786 -1.628 -3.355 -1.388 -3.182 -0.293 c --3 0.855 -2.063 1.605 -0.931 1.605 c --0.361 1.605 0.309 1.425 0.766 1.14 c -0 0 l -f -Q -q -1 0 0 1 416.671 104.866 cm -0 0 m --2.069 0 l -3.646 7.402 l -3.646 0 l -1.994 0 l -1.998 2.884 l -0 0 l -f -Q -q -1 0 0 1 334.082 106.45 cm -0 0 m -1.055 0 l -1.353 0 1.596 0.242 1.596 0.541 c -1.596 2.131 l -1.596 2.429 1.353 2.672 1.055 2.672 c --1.431 2.672 l --1.73 2.672 -1.972 2.429 -1.972 2.131 c --1.972 0.541 l --1.972 0.242 -1.73 0 -1.431 0 c --0.419 0 l --0.418 -1.09 l --2.328 -1.09 l --2.852 -1.09 -3.277 -0.665 -3.277 -0.141 c --3.277 2.738 l --3.277 3.262 -2.852 3.687 -2.328 3.687 c -2.034 3.687 l -2.558 3.687 2.983 3.262 2.983 2.738 c -2.983 -0.141 l -2.983 -0.665 2.558 -1.09 2.034 -1.09 c -1.287 -1.09 l -1.287 -1.948 l --0.003 -1.948 l -0 0 l -f -Q -q -1 0 0 1 343.791 110.137 cm -0 0 m -0 -3.87 l -0 -4.394 -0.425 -4.818 -0.949 -4.818 c --5.119 -4.818 l --5.643 -4.818 -6.067 -4.394 -6.067 -3.87 c --6.067 0 l --4.723 -0.001 l --4.723 -3.213 l --4.723 -3.501 -4.489 -3.735 -4.201 -3.735 c --1.923 -3.735 l --1.635 -3.735 -1.401 -3.501 -1.401 -3.213 c --1.401 -0.001 l -0 0 l -f -Q -q -1 0 0 1 346.303 107.199 cm -0 0 m -0 0.875 l -2.882 0.883 l -3.11 0.883 3.294 1.094 3.294 1.322 c -3.294 1.549 3.11 1.734 2.882 1.734 c -0.2 1.732 l --0.099 1.774 -0.341 1.531 -0.341 1.233 c --0.341 -0.291 l --0.341 -0.59 -0.099 -0.832 0.2 -0.832 c -4.395 -0.832 l -4.395 -1.921 l --0.85 -1.921 l --1.374 -1.921 -1.799 -1.497 -1.799 -0.973 c --1.799 1.907 l --1.799 2.431 -1.374 2.855 -0.85 2.855 c -3.649 2.855 l -4.173 2.855 4.598 2.431 4.598 1.907 c -4.598 0.949 l -4.598 0.425 4.173 0 3.649 0 c -0 0 l -f -Q -q -1 0 0 1 351.434 109.542 cm -0 0 m -0 0.346 0.282 0.628 0.631 0.628 c -0.978 0.628 1.258 0.346 1.258 0 c -1.258 -0.348 0.978 -0.63 0.631 -0.63 c -0.282 -0.63 0 -0.348 0 0 c -h -1.159 0 m -1.159 0.306 0.936 0.545 0.631 0.545 c -0.324 0.545 0.1 0.306 0.1 0 c -0.1 -0.308 0.324 -0.547 0.631 -0.547 c -0.936 -0.547 1.159 -0.308 1.159 0 c -h -0.944 -0.351 m -0.842 -0.351 l -0.641 -0.028 l -0.483 -0.028 l -0.483 -0.351 l -0.397 -0.351 l -0.397 0.351 l -0.704 0.351 l -0.89 0.351 0.953 0.281 0.953 0.165 c -0.953 0.027 0.856 -0.024 0.732 -0.028 c -0.944 -0.351 l -h -0.614 0.04 m -0.714 0.04 0.86 0.024 0.86 0.166 c -0.86 0.276 0.77 0.289 0.684 0.289 c -0.483 0.289 l -0.483 0.04 l -0.614 0.04 l -f -Q -q -1 0 0 1 370.7 111.053 cm -0 0 m -2.356 0 l -2.781 0 2.973 -0.159 2.973 -0.567 c -2.973 -1.218 l -2.973 -1.626 2.781 -1.785 2.356 -1.785 c -0.487 -1.785 l -0.487 -2.923 l -0 -2.923 l -0 0 l -h -0.487 -0.38 m -0.487 -1.399 l -2.163 -1.399 l -2.379 -1.399 2.481 -1.343 2.481 -1.094 c -2.481 -0.686 l -2.481 -0.442 2.384 -0.38 2.163 -0.38 c -0.487 -0.38 l -f -Q -q -1 0 0 1 374.869 111.053 cm -0 0 m -2.356 0 l -2.781 0 2.973 -0.159 2.973 -0.567 c -2.973 -1.218 l -2.973 -1.626 2.781 -1.785 2.356 -1.785 c -1.925 -1.785 l -3.262 -2.923 l -2.537 -2.923 l -1.348 -1.785 l -0.487 -1.785 l -0.487 -2.923 l -0 -2.923 l -0 0 l -h -0.487 -0.38 m -0.487 -1.405 l -2.163 -1.405 l -2.379 -1.405 2.48 -1.354 2.48 -1.105 c -2.48 -0.68 l -2.48 -0.437 2.379 -0.38 2.163 -0.38 c -0.487 -0.38 l -f -Q -q -1 0 0 1 379.184 111.053 cm -0 0 m -2.816 0 l -2.816 -0.391 l -0.488 -0.391 l -0.488 -1.207 l -1.91 -1.207 l -1.91 -1.592 l -0.488 -1.592 l -0.488 -2.521 l -2.839 -2.521 l -2.839 -2.923 l -0 -2.923 l -0 0 l -f -Q -q -1 0 0 1 383.183 111.053 cm -0 0 m -0.306 0 l -2.493 -1.955 l -2.594 -2.045 2.708 -2.17 2.827 -2.323 c -2.781 -2.051 2.781 -1.813 2.781 -1.604 c -2.781 0 l -3.229 0 l -3.229 -2.923 l -2.957 -2.923 l -0.709 -0.89 l -0.623 -0.81 0.51 -0.726 0.414 -0.562 c -0.442 -0.776 0.448 -0.986 0.448 -1.201 c -0.448 -2.923 l -0 -2.923 l -0 0 l -f -Q -q -1 0 0 1 389.062 108.13 cm -0 0 m --0.486 0 l --0.486 2.526 l --1.823 2.526 l --1.823 2.923 l -1.343 2.923 l -1.343 2.526 l -0 2.526 l -0 0 l -f -Q -q -1 0 0 1 0 -0 cm -391.227 108.13 0.487 2.923 re -f -Q -q -1 0 0 1 393.679 110.656 cm -0 0 m -0 -2.118 l -2.028 -2.118 l -2.028 -1.388 l -2.515 -1.49 l -2.515 -1.835 l -2.515 -2.379 2.362 -2.526 1.835 -2.526 c -0.199 -2.526 l --0.329 -2.526 -0.487 -2.374 -0.487 -1.835 c --0.487 -0.294 l --0.487 0.243 -0.329 0.397 0.199 0.397 c -1.835 0.397 l -2.362 0.397 2.515 0.249 2.515 -0.294 c -2.515 -0.572 l -2.028 -0.663 l -2.028 0 l -0 0 l -f -Q -q -1 0 0 1 397.48 111.053 cm -0 0 m -2.815 0 l -2.815 -0.391 l -0.487 -0.391 l -0.487 -1.207 l -1.909 -1.207 l -1.909 -1.592 l -0.487 -1.592 l -0.487 -2.521 l -2.838 -2.521 l -2.838 -2.923 l -0 -2.923 l -0 0 l -f -Q -q -1 0 0 1 370.7 106.893 cm -0 0 m -0.487 0 l -0.487 -1.195 l -2.792 -1.195 l -2.792 0 l -3.279 0 l -3.279 -2.923 l -2.792 -2.923 l -2.792 -1.597 l -0.487 -1.597 l -0.487 -2.923 l -0 -2.923 l -0 0 l -f -Q -q -1 0 0 1 376.522 106.893 cm -0 0 m -0.521 0 l -2.147 -2.923 l -1.609 -2.923 l -1.235 -2.203 l --0.741 -2.203 l --1.116 -2.923 l --1.597 -2.923 l -0 0 l -h -1.037 -1.829 m -0.249 -0.334 l --0.538 -1.829 l -1.037 -1.829 l -f -Q -q -1 0 0 1 379.615 106.893 cm -0 0 m -0.487 0 l -0.487 -2.515 l -2.702 -2.515 l -2.702 -2.923 l -0 -2.923 l -0 0 l -f -Q -q -1 0 0 1 383.314 106.893 cm -0 0 m -0.487 0 l -0.487 -2.515 l -2.701 -2.515 l -2.701 -2.923 l -0 -2.923 l -0 0 l -f -Q -q -1 0 0 1 363.735 109.853 cm -0 0 m -0.02 0.205 l -0.02 0.799 -0.462 1.281 -1.057 1.281 c --1.651 1.281 -2.133 0.799 -2.133 0.205 c --2.133 -0.39 -1.651 -0.873 -1.057 -0.873 c --0.843 -0.873 -0.646 -0.809 -0.479 -0.702 c --0.422 -0.407 -0.245 -0.156 0 0 c -f -Q -q -1 0 0 1 365.942 111.131 cm -0 0 m --0.595 0 -1.077 -0.482 -1.077 -1.076 c --1.057 -1.273 l --0.813 -1.431 -0.639 -1.683 -0.583 -1.98 c --0.415 -2.088 -0.215 -2.153 0 -2.153 c -0.594 -2.153 1.076 -1.671 1.076 -1.076 c -1.076 -0.482 0.594 0 0 0 c -f -Q -q -1 0 0 1 365.951 108.633 cm -0 0 m --0.328 0 -0.619 -0.15 -0.816 -0.382 c --0.825 -0.382 l --1.022 -0.621 -1.316 -0.776 -1.651 -0.776 c --1.989 -0.776 -2.287 -0.617 -2.484 -0.374 c --2.682 -0.151 -2.965 -0.007 -3.286 -0.007 c --3.88 -0.007 -4.362 -0.489 -4.362 -1.084 c --4.362 -1.679 -3.88 -2.161 -3.286 -2.161 c --2.982 -2.161 -2.711 -2.031 -2.516 -1.828 c --2.321 -1.553 -2.002 -1.373 -1.639 -1.373 c --1.276 -1.373 -0.956 -1.554 -0.761 -1.83 c --0.566 -2.027 -0.299 -2.153 0 -2.153 c -0.595 -2.153 1.077 -1.671 1.077 -1.076 c -1.077 -0.483 0.595 0 0 0 c -f -Q -q -1 0 0 1 365.927 106.111 cm -0 0 m --0.212 0 -0.409 -0.064 -0.577 -0.171 c --0.633 -0.466 -0.81 -0.716 -1.055 -0.872 c --1.076 -1.077 l --1.076 -1.671 -0.594 -2.153 0 -2.153 c -0.596 -2.153 1.077 -1.671 1.077 -1.077 c -1.077 -0.482 0.596 0 0 0 c -f -Q -q -1 0 0 1 363.248 105.94 cm -0 0 m --0.169 0.109 -0.368 0.174 -0.583 0.174 c --1.178 0.174 -1.66 -0.308 -1.66 -0.903 c --1.66 -1.497 -1.178 -1.979 -0.583 -1.979 c -0.011 -1.979 0.493 -1.497 0.493 -0.903 c -0.473 -0.706 l -0.229 -0.549 0.054 -0.296 0 0 c -f -Q -q -1 0 0 1 458.241 102.687 cm -0.195 g -/GS1 gs -0 0 m --0.6 0 l --0.6 1.433 l --0.024 1.433 l -0.255 1.433 0.418 1.276 0.418 1.03 c -0.418 0.871 0.314 0.768 0.242 0.734 c -0.328 0.694 0.439 0.603 0.439 0.412 c -0.439 0.144 0.255 0 0 0 c -h --0.046 1.183 m --0.32 1.183 l --0.32 0.853 l --0.046 0.853 l -0.072 0.853 0.139 0.919 0.139 1.018 c -0.139 1.117 0.072 1.183 -0.046 1.183 c -h --0.028 0.602 m --0.32 0.602 l --0.32 0.249 l --0.028 0.249 l -0.099 0.249 0.159 0.33 0.159 0.427 c -0.159 0.523 0.099 0.602 -0.028 0.602 c -f -Q -q -1 0 0 1 459.67 102.804 cm -0.195 g -/GS1 gs -0 0 m --0.065 -0.069 -0.171 -0.13 -0.326 -0.13 c --0.481 -0.13 -0.586 -0.069 -0.65 0 c --0.745 0.098 -0.769 0.217 -0.769 0.408 c --0.769 0.597 -0.745 0.716 -0.65 0.815 c --0.586 0.883 -0.481 0.943 -0.326 0.943 c --0.171 0.943 -0.065 0.883 0 0.815 c -0.094 0.716 0.119 0.597 0.119 0.408 c -0.119 0.217 0.094 0.098 0 0 c -h --0.203 0.662 m --0.326 0.708 l --0.447 0.662 l --0.501 0.607 -0.507 0.517 -0.507 0.408 c --0.507 0.299 -0.501 0.207 -0.447 0.152 c --0.326 0.106 l --0.203 0.152 l --0.149 0.207 -0.143 0.299 -0.143 0.408 c --0.143 0.517 -0.149 0.607 -0.203 0.662 c -f -Q -q -1 0 0 1 460.763 102.804 cm -0.195 g -/GS1 gs -0 0 m --0.065 -0.069 -0.171 -0.13 -0.326 -0.13 c --0.481 -0.13 -0.586 -0.069 -0.65 0 c --0.745 0.098 -0.769 0.217 -0.769 0.408 c --0.769 0.597 -0.745 0.716 -0.65 0.815 c --0.586 0.883 -0.481 0.943 -0.326 0.943 c --0.171 0.943 -0.065 0.883 0 0.815 c -0.094 0.716 0.118 0.597 0.118 0.408 c -0.118 0.217 0.094 0.098 0 0 c -h --0.203 0.662 m --0.326 0.708 l --0.447 0.662 l --0.502 0.607 -0.507 0.517 -0.507 0.408 c --0.507 0.299 -0.502 0.207 -0.447 0.152 c --0.326 0.106 l --0.203 0.152 l --0.149 0.207 -0.143 0.299 -0.143 0.408 c --0.143 0.517 -0.149 0.607 -0.203 0.662 c -f -Q -q -1 0 0 1 461.761 102.687 cm -0.195 g -/GS1 gs -0 0 m --0.257 0.436 l --0.368 0.312 l --0.368 0 l --0.63 0 l --0.63 1.433 l --0.368 1.433 l --0.368 0.62 l --0.02 1.048 l -0.296 1.048 l --0.078 0.626 l -0.324 0 l -0 0 l -f -Q -q -1 0 0 1 462.6 102.674 cm -0.195 g -/GS1 gs -0 0 m --0.164 0 -0.314 0.019 -0.447 0.151 c --0.275 0.323 l -0.004 0.224 l -0.095 0.224 0.19 0.254 0.19 0.333 c -0.079 0.429 l --0.086 0.445 l --0.275 0.464 -0.393 0.546 -0.393 0.739 c --0.393 0.956 -0.201 1.073 0.012 1.073 c -0.175 1.073 0.312 1.045 0.413 0.95 c -0.252 0.788 l -0.191 0.842 0.099 0.858 0.008 0.858 c --0.096 0.858 -0.14 0.81 -0.14 0.757 c --0.14 0.719 -0.125 0.675 -0.032 0.667 c -0.133 0.65 l -0.341 0.631 0.445 0.52 0.445 0.343 c -0.445 0.111 0.248 0 0 0 c -f -Q -q -1 0 0 1 464.619 102.831 cm -0.195 g -/GS1 gs -0 0 m --0.101 -0.1 -0.223 -0.157 -0.386 -0.157 c --0.549 -0.157 -0.674 -0.1 -0.775 0 c --0.92 0.145 -0.916 0.325 -0.916 0.572 c --0.916 0.82 -0.92 0.999 -0.775 1.144 c --0.674 1.244 -0.549 1.301 -0.386 1.301 c --0.223 1.301 -0.101 1.244 0 1.144 c -0.145 0.999 0.143 0.82 0.143 0.572 c -0.143 0.325 0.145 0.145 0 0 c -h --0.207 0.975 m --0.386 1.051 l --0.568 0.975 l --0.622 0.914 -0.636 0.848 -0.636 0.572 c --0.636 0.296 -0.622 0.23 -0.568 0.17 c --0.386 0.093 l --0.207 0.17 l --0.153 0.23 -0.137 0.296 -0.137 0.572 c --0.137 0.848 -0.153 0.914 -0.207 0.975 c -f -Q -q -1 0 0 1 465.637 102.687 cm -0.195 g -/GS1 gs -0 0 m -0 0.634 l -0 0.777 -0.09 0.825 -0.173 0.825 c --0.255 0.825 -0.348 0.777 -0.348 0.634 c --0.348 0 l --0.609 0 l --0.609 1.048 l --0.354 1.048 l --0.354 0.952 l --0.286 1.024 -0.189 1.06 -0.093 1.06 c -0.013 1.06 0.097 1.026 0.155 0.968 c -0.24 0.883 0.262 0.785 0.262 0.67 c -0.262 0 l -0 0 l -f -Q -q -1 0 0 1 466.477 102.687 cm -0.195 g -/GS1 gs -0 0 m --0.216 0 -0.306 0.151 -0.306 0.3 c --0.306 1.433 l --0.045 1.433 l --0.045 0.316 l -0.048 0.221 l -0.149 0.221 l -0.149 0 l -0 0 l -f -Q -q -1 0 0 1 -0 -0 cm -0.195 g -/GS1 gs -467.099 103.914 -0.268 0.214 re -466.831 103.914 m -h -467.096 102.687 -0.261 1.048 re -f -Q -q -1 0 0 1 467.998 102.687 cm -0.195 g -/GS1 gs -0 0 m -0 0.634 l -0 0.777 -0.09 0.825 -0.172 0.825 c --0.255 0.825 -0.348 0.777 -0.348 0.634 c --0.348 0 l --0.609 0 l --0.609 1.048 l --0.354 1.048 l --0.354 0.952 l --0.285 1.024 -0.189 1.06 -0.092 1.06 c -0.012 1.06 0.097 1.026 0.155 0.968 c -0.24 0.883 0.262 0.785 0.262 0.67 c -0.262 0 l -0 0 l -f -Q -q -1 0 0 1 468.747 103.129 cm -0.195 g -/GS1 gs -0 0 m -0 -0.134 0.083 -0.233 0.23 -0.233 c -0.345 -0.233 0.401 -0.201 0.467 -0.134 c -0.626 -0.289 l -0.52 -0.396 0.417 -0.455 0.228 -0.455 c --0.02 -0.455 -0.257 -0.342 -0.257 0.083 c --0.257 0.425 -0.073 0.618 0.199 0.618 c -0.491 0.618 0.656 0.405 0.656 0.117 c -0.656 0 l -0 0 l -h -0.375 0.292 m -0.199 0.401 l -0.024 0.292 l -0 0.18 l -0.399 0.18 l -0.375 0.292 l -f -Q -q -1 0 0 1 450.094 104.731 cm -0 0 m --0.915 0 -1.609 0.195 -2.202 0.796 c --1.44 1.558 l --1.059 1.177 -0.542 1.05 0.017 1.05 c -0.711 1.05 1.084 1.313 1.084 1.795 c -1.084 2.007 1.024 2.186 0.898 2.303 c -0.779 2.414 0.643 2.472 0.364 2.515 c --0.364 2.616 l --0.881 2.693 -1.262 2.854 -1.533 3.116 c --1.821 3.404 -1.964 3.794 -1.964 4.302 c --1.964 5.377 -1.169 6.131 0.135 6.131 c -0.966 6.131 1.567 5.928 2.083 5.428 c -1.338 4.691 l -0.957 5.055 0.499 5.106 0.102 5.106 c --0.525 5.106 -0.83 4.759 -0.83 4.344 c --0.83 4.192 -0.779 4.031 -0.652 3.912 c --0.533 3.802 -0.339 3.709 -0.093 3.675 c -0.618 3.574 l -1.169 3.498 1.516 3.345 1.77 3.108 c -2.091 2.803 2.235 2.363 2.235 1.829 c -2.235 0.66 1.261 0 0 0 c -f -Q -q -1 0 0 1 455.364 104.782 cm -0 0 m -0 0.381 l --0.296 0.084 -0.575 -0.042 -1.084 -0.042 c --1.583 -0.042 -1.947 0.084 -2.21 0.347 c --2.447 0.592 -2.574 0.948 -2.574 1.338 c --2.574 2.041 -2.091 2.616 -1.067 2.616 c --0.025 2.616 l --0.025 2.837 l --0.025 3.319 -0.262 3.531 -0.847 3.531 c --1.27 3.531 -1.465 3.43 -1.693 3.167 c --2.396 3.852 l --1.964 4.327 -1.541 4.462 -0.804 4.462 c -0.432 4.462 1.076 3.937 1.076 2.905 c -1.076 0 l -0 0 l -h --0.025 1.863 m --0.897 1.863 l --1.295 1.863 -1.515 1.677 -1.515 1.363 c --1.515 1.058 -1.312 0.856 -0.881 0.856 c --0.575 0.856 -0.381 0.88 -0.186 1.067 c --0.068 1.177 -0.025 1.355 -0.025 1.626 c --0.025 1.863 l -f -Q -q -1 0 0 1 458.736 108.229 cm -0 0 m -0 -3.447 l --1.101 -3.447 l --1.101 0 l --1.558 0 l --1.558 0.838 l --1.101 0.838 l --1.101 1.388 l --1.101 2.015 -0.711 2.649 0.186 2.649 c -0.813 2.649 l -0.813 1.718 l -0.381 1.718 l -0.119 1.718 0 1.574 0 1.32 c -0 0.838 l -0.813 0.838 l -0.813 0 l -0 0 l -f -Q -q -1 0 0 1 462.52 104.782 cm -0 0 m -0 0.381 l --0.296 0.084 -0.576 -0.042 -1.084 -0.042 c --1.583 -0.042 -1.948 0.084 -2.21 0.347 c --2.447 0.592 -2.574 0.948 -2.574 1.338 c --2.574 2.041 -2.091 2.616 -1.067 2.616 c --0.025 2.616 l --0.025 2.837 l --0.025 3.319 -0.263 3.531 -0.847 3.531 c --1.27 3.531 -1.465 3.43 -1.693 3.167 c --2.396 3.852 l --1.964 4.327 -1.541 4.462 -0.804 4.462 c -0.432 4.462 1.076 3.937 1.076 2.905 c -1.076 0 l -0 0 l -h --0.025 1.863 m --0.898 1.863 l --1.295 1.863 -1.516 1.677 -1.516 1.363 c --1.516 1.058 -1.312 0.856 -0.88 0.856 c --0.576 0.856 -0.381 0.88 -0.186 1.067 c --0.068 1.177 -0.025 1.355 -0.025 1.626 c --0.025 1.863 l -f -Q -q -1 0 0 1 466.927 107.991 cm -0 0 m --0.17 0.169 -0.314 0.263 -0.584 0.263 c --0.923 0.263 -1.296 0.009 -1.296 -0.55 c --1.296 -3.209 l --2.397 -3.209 l --2.397 1.203 l --1.321 1.203 l --1.321 0.779 l --1.11 1.033 -0.686 1.253 -0.212 1.253 c -0.22 1.253 0.525 1.143 0.829 0.839 c -0 0 l -f -Q -q -1 0 0 1 -0 -0 cm -468.258 104.782 1.1 4.412 re -f -Q -q -1 0 0 1 469.237 110.015 cm -0 0 m --0.245 -0.245 -0.643 -0.245 -0.888 0 c --1.133 0.245 -1.133 0.643 -0.888 0.888 c --0.643 1.134 -0.245 1.134 0 0.888 c -0.245 0.643 0.245 0.245 0 0 c -f -Q -q -1 0 0 1 471.03 110.015 cm -0 0 m --0.245 -0.245 -0.643 -0.245 -0.888 0 c --1.133 0.245 -1.133 0.643 -0.888 0.888 c --0.643 1.134 -0.245 1.134 0 0.888 c -0.245 0.643 0.245 0.245 0 0 c -f -Q -q -1 0 0 1 471.404 111.536 cm -0 0 m -0.725 -0.725 1.077 -1.077 v -0.725 -1.428 0 -2.153 y -0.558 -2.71 l -2.191 -1.077 l -0.558 0.557 l -0 0 l -f -Q -q -1 0 0 1 469.995 105.45 cm -0 0 m -0.181 0 0.325 -0.147 0.324 -0.331 c -0.324 -0.518 0.18 -0.664 -0.002 -0.663 c --0.184 -0.663 -0.33 -0.517 -0.33 -0.33 c --0.33 -0.147 -0.183 0 -0.002 0 c -0 0 l -h --0.002 -0.051 m --0.147 -0.051 -0.266 -0.176 -0.267 -0.33 c --0.267 -0.488 -0.148 -0.611 -0.001 -0.612 c -0.146 -0.614 0.264 -0.489 0.264 -0.333 c -0.264 -0.177 0.147 -0.051 0 -0.051 c --0.002 -0.051 l -h --0.064 -0.524 m --0.123 -0.523 l --0.123 -0.154 l --0.018 -0.145 l -0.097 -0.173 l -0.131 -0.25 l -0.058 -0.34 l -0.058 -0.343 l -0.12 -0.432 l -0.143 -0.524 l -0.082 -0.524 l -0.056 -0.43 l --0.023 -0.365 l --0.064 -0.365 l --0.064 -0.524 l -h --0.064 -0.319 m --0.021 -0.319 l -0.069 -0.256 l --0.021 -0.191 l --0.064 -0.194 l --0.064 -0.319 l -f -Q -q -1 0 0 1 -0 -0 cm -441.54 104.563 0.202 6.652 re -f -Q -q -1 0 0 1 -0 -0 cm -441.595 123.602 33.216 12.455 re -f -Q -q -1 0 0 1 469.889 128.923 cm -1 g -/GS1 gs -0 0 m --0.446 0.644 -1.337 1.881 -1.956 2.649 c --1.981 0.644 -1.931 0 v --2.104 0 -2.277 0.025 -2.476 0 c --2.376 0.347 -2.352 3.267 -2.451 3.639 c --2.303 3.639 -2.079 3.614 -1.931 3.639 c --1.461 2.995 -0.495 1.708 0 1.04 c -0 1.535 0.024 3.095 -0.025 3.639 c -0.173 3.614 0.321 3.589 0.519 3.639 c -0.445 3.193 0.396 0.446 0.519 0 c -0.371 0.025 0.148 0.025 0 0 c -f -Q -q -1 0 0 1 462.067 129.938 cm -1 g -/GS1 gs -0 0 m -0 -0.841 -0.693 -1.064 -1.138 -1.064 c --1.46 -1.064 -1.881 -0.916 -2.154 -0.767 c --2.154 -0.495 -2.128 -0.396 -2.154 -0.123 c --2.005 -0.322 -1.51 -0.619 -1.163 -0.619 c --0.817 -0.619 -0.619 -0.421 -0.594 -0.099 c --0.569 0.346 -1.287 0.693 -1.609 0.916 c --1.881 1.139 -2.079 1.361 -2.079 1.733 c --2.079 2.228 -1.634 2.624 -1.015 2.624 c --0.619 2.624 -0.421 2.5 -0.074 2.327 c --0.198 2.154 -0.273 2.005 -0.347 1.832 c --0.47 2.005 -0.693 2.228 -1.015 2.228 c --1.337 2.228 -1.51 2.005 -1.51 1.757 c --1.51 1.535 -1.213 1.337 -0.718 1.015 c --0.297 0.743 0 0.52 0 0 c -f -Q -q -1 0 0 1 459.195 128.923 cm -1 g -/GS1 gs -0 0 m --0.247 0.025 -0.519 0.025 -0.766 0 c --0.89 0.223 -1.732 1.436 -1.856 1.535 c --1.905 1.881 l --1.41 1.857 -1.063 2.079 -1.063 2.599 c --1.063 3.02 -1.435 3.243 -1.831 3.243 c --1.955 3.243 -2.054 3.243 -2.153 3.243 c --2.177 2.45 -2.153 0.718 -2.103 0 c --2.326 0 -2.549 0.025 -2.771 0 c --2.697 0.594 -2.697 3.02 -2.771 3.639 c --2.153 3.589 -2.301 3.639 -1.757 3.639 c --1.237 3.639 -0.494 3.466 -0.494 2.673 c --0.494 2.03 -1.039 1.659 -1.311 1.659 c --1.262 1.634 -0.197 0.198 0 0 c -f -Q -q -1 0 0 1 451.448 129.369 cm -1 g -/GS1 gs -0 0 m --0.024 -0.149 -0.024 -0.322 -0.024 -0.471 c --0.47 -0.421 -1.509 -0.421 -1.93 -0.471 c --1.881 0 -1.881 2.698 -1.93 3.193 c --1.633 3.143 -0.371 3.143 -0.049 3.193 c --0.049 3.02 -0.049 2.871 -0.049 2.723 c --0.371 2.747 -0.965 2.797 -1.311 2.772 c --1.311 2.524 -1.336 2.079 -1.311 1.659 c --0.965 1.633 -0.47 1.633 -0.123 1.708 c --0.123 1.534 -0.123 1.386 -0.098 1.237 c --0.519 1.287 -0.915 1.287 -1.311 1.262 c --1.336 0.99 -1.336 0.198 -1.336 -0.05 c --0.989 -0.05 -0.371 -0.025 0 0 c -f -Q -q -1 0 0 1 466.497 130.78 cm -1 g -/GS1 gs -0 0 m -0 -1.04 -0.767 -1.931 -1.782 -1.931 c --2.871 -1.931 -3.588 -1.065 -3.588 0 c --3.588 0.915 -2.821 1.782 -1.806 1.782 c --0.767 1.782 0 0.915 0 0 c -h --0.618 -0.025 m --0.618 0.569 -0.989 1.386 -1.806 1.386 c --2.623 1.386 -2.97 0.569 -2.97 -0.025 c --2.97 -0.718 -2.598 -1.535 -1.782 -1.535 c --1.014 -1.535 -0.618 -0.718 -0.618 -0.025 c -f -Q -q -1 0 0 1 455.483 128.923 cm -1 g -/GS1 gs -0 0 m --0.173 0.025 -0.495 0 -0.693 0 c --0.743 0.223 -0.916 0.743 -1.015 1.04 c --1.485 1.064 -1.956 1.064 -2.376 1.04 c --2.45 0.767 -2.624 0.174 -2.673 0 c --2.797 0 -3.094 0 -3.242 0 c --3.044 0.371 -2.03 3.169 -1.931 3.614 c --1.708 3.589 -1.535 3.589 -1.336 3.614 c --1.213 3.119 -0.173 0.347 0 0 c -h --1.163 1.485 m --1.312 1.931 -1.584 2.673 -1.708 3.02 c --1.832 2.673 -2.054 1.956 -2.228 1.485 c --1.956 1.436 -1.41 1.461 -1.163 1.485 c -f -Q -q -1 0 0 1 448.454 131.572 cm -1 g -/GS1 gs -0 0 m -0 -0.842 -0.817 -1.263 -1.535 -1.238 c --1.56 -1.114 -1.56 -0.99 -1.585 -0.891 c --0.966 -0.867 -0.57 -0.594 -0.57 -0.05 c --0.57 0.371 -0.941 0.693 -1.411 0.693 c --1.436 0.693 -1.61 0.693 -1.832 0.693 c --1.832 -0.025 -1.832 -1.956 -1.783 -2.674 c --2.006 -2.624 -2.203 -2.624 -2.427 -2.674 c --2.451 -2.674 l --2.401 -2.302 -2.352 0.643 -2.451 1.064 c --1.807 1.015 -1.906 1.064 -1.362 1.064 c --0.792 1.064 0 0.841 0 0 c -f -Q -q -1 0 0 1 458.11 127.071 cm -1 g -/GS1 gs -0 0 m --5.118 0 -9.413 -0.785 -12.848 -1.576 c --12.848 -1.513 l --12.42 -1.336 -7.26 0.587 -0.001 0.589 c -7.258 0.587 12.417 -1.336 12.845 -1.513 c -12.845 -1.576 l -9.411 -0.785 5.116 0 -0.001 0 c -0 0 l -f -Q -BT -0 g -/GS1 gs -/T1_1 1 Tf -0.0148 Tc 0.0002 Tw 14.2911 0 0 14.2911 211.66 233.689 Tm -[(Ar)34(e Y)87(o)6(u P)21(a)11(r)-13(t o)19(f t)12(h)10(e)]TJ -/TT0 1 Tf -0 Tc 0 Tw ( )Tj -0.0262 Tc 15.482 0 0 15.482 335.706 233.689 Tm -(IT)Tj -/T1_1 1 Tf --0.0014 Tc 0.0164 Tw 14.2911 0 0 14.2911 347.94 233.689 Tm -[( Cr)12(ow)10(d)-14(?)]TJ -0.0396 Tc 0.0004 Tw 9.996 0 0 9.996 132.4688 212.975 Tm -[(C)-10(o)-5(nnec)10(t wi)5(th P)13(e)1(ar)6(son a)10(uthor)6(s an)6(d ed)8(i)5(t)15(or)6(s vi)8(a R)-13(S)-18(S f)21(e)-2(eds)5(, F)7(a)8(cebo)-8(o)-6(k)-1(,)40( )]TJ -0.0399 Tc 0.0001 Tw 0 -1.5 TD -[(T)73(wi)5(t)-21(t)19(e)2(r)73(, Y)75(o)-3(u)70(T)74(u)5(b)2(e)16(, an)6(d m)-7(o)-3(r)24(e)-25(! V)-6(i)8(s)7(i)5(t )]TJ -/T1_0 1 Tf -0.042 Tc 0 Tw 16.019 0 Td -[(info)-3(rmit)-23(.c)-4(o)-3(m)-66(/)-36(s)-1(o)-6(c)-2(i)-4(a)-2(lc)-4(onn)-8(e)-10(c)-9(t)]TJ -/T1_1 1 Tf -0 Tc 14.27 0 Td -(.)Tj -ET -q -1 0 0 1 -0 -0 cm -337.771 160.038 m -312.099 160.038 l -312.099 185.71 l -337.771 185.71 l -337.771 160.038 l -W n -q -26.226 0 0 26.226 311.817 159.762 cm -/Im0 Do -Q -Q -q -1 0 0 1 -0 -0 cm -302.847 160.784 m -277.311 160.784 l -277.311 185.952 l -302.847 185.952 l -302.847 160.784 l -W n -q -26.166 0 0 25.866 276.987 160.392 cm -/Im1 Do -Q -Q -q -1 0 0 1 -0 -0 cm -344.783 185.264 25.492 -24.639 re -W n -q -26.556 0 0 24.756 344.697 160.602 cm -/Im2 Do -Q -Q -q -1 0 0 1 -0 -0 cm -267.292 185.914 -24.768 -25.169 re -W n -q -24.786 0 0 25.206 242.517 160.722 cm -/Im3 Do -Q -Q -q -1 0 0 1 -0 -0 cm -0.146 g -/GS0 gs -115.476 532.622 383.846 0.191 re -f -Q -q -1 0 0 1 191.686 549.45 cm -0.146 g -/GS0 gs -0 0 m -0.009 0.67 -0.397 1.209 -1.218 1.209 c --2.188 1.209 -2.435 -0.23 -2.435 -1.121 c --2.435 -2.012 -2.188 -3.45 -1.218 -3.45 c --0.397 -3.45 0.009 -2.912 0 -2.242 c -1.456 -2.242 l -1.394 -3.839 0.247 -4.439 -1.218 -4.439 c --3.062 -4.439 -3.891 -2.983 -3.891 -1.121 c --3.891 0.741 -3.062 2.197 -1.218 2.197 c -0.247 2.197 1.394 1.597 1.456 0 c -0 0 l -f -Q -q -1 0 0 1 -0 0 cm -0.146 g -/GS0 gs -193.945 549.573 1.323 -4.429 re -195.268 549.573 m -h -193.901 551.515 1.411 -1.139 re -f -Q -q -1 0 0 1 198.639 548.391 cm -0.146 g -/GS0 gs -0 0 m --0.018 0.3 -0.3 0.432 -0.6 0.432 c --0.962 0.432 -1.13 0.326 -1.13 0.035 c --1.13 -0.662 1.403 -0.265 1.403 -1.924 c -1.403 -2.894 0.221 -3.38 -0.6 -3.38 c --1.633 -3.38 -2.533 -2.974 -2.55 -1.959 c --1.324 -1.959 l --1.297 -2.303 -0.988 -2.497 -0.6 -2.497 c --0.238 -2.497 0.035 -2.347 0.035 -2.003 c -0.035 -1.65 -0.6 -1.5 -0.865 -1.438 c --1.712 -1.235 -2.497 -1.05 -2.497 -0.018 c --2.497 0.909 -1.377 1.315 -0.6 1.315 c -0.335 1.315 1.129 0.979 1.191 0 c -0 0 l -f -Q -q -1 0 0 1 203.165 548.02 cm -0.146 g -/GS0 gs -0 0 m --0.009 0.362 -0.158 0.803 -0.67 0.803 c --1.235 0.803 -1.244 -0.255 -1.261 -0.6 c --1.226 -1.006 -1.217 -2.126 -0.653 -2.126 c --0.141 -2.126 0.009 -1.623 0.018 -1.262 c -1.306 -1.262 l -1.262 -2.391 0.565 -3.009 -0.653 -3.009 c --1.967 -3.009 -2.629 -1.835 -2.629 -0.661 c --2.629 0.512 -1.967 1.686 -0.653 1.686 c -0.477 1.686 1.315 1.042 1.306 0 c -0 0 l -f -Q -q -1 0 0 1 206.412 547.359 cm -0.146 g -/GS0 gs -0 0 m -0 0.705 0.133 1.464 0.945 1.464 c -1.756 1.464 1.889 0.705 1.889 0 c -1.889 -0.706 1.756 -1.465 0.945 -1.465 c -0.133 -1.465 0 -0.706 0 0 c -h -3.256 0 m -3.256 1.394 2.392 2.347 0.945 2.347 c --0.502 2.347 -1.367 1.394 -1.367 0 c --1.367 -1.395 -0.502 -2.348 0.945 -2.348 c -2.392 -2.348 3.256 -1.395 3.256 0 c -f -Q -q -1 0 0 1 214.442 550.456 cm -0.146 g -/GS0 gs -0 0 m -0.759 -0.036 1.747 0.229 1.747 -0.9 c -1.747 -2.03 0.759 -1.765 0 -1.8 c -0 0 l -h -0 -5.312 m -0 -2.859 l -0.997 -2.859 l -2.418 -2.815 3.203 -2.056 3.203 -0.9 c -3.203 0.714 2.012 1.05 0.6 1.059 c --1.368 1.059 l --1.368 -5.312 l -0 -5.312 l -f -Q -q -1 0 0 1 219.569 549.573 cm -0.146 g -/GS0 gs -0 0 m -0.026 -0.803 l -0.044 -0.803 l -0.326 -0.106 0.891 0.071 1.552 0.053 c -1.552 -1.12 l -0.979 -1.12 l -0.758 -1.138 0.467 -1.262 0.335 -1.447 c -0.194 -1.694 0.167 -1.941 0.158 -2.232 c -0.158 -4.429 l --1.156 -4.429 l --1.165 -0.882 l --1.165 -0.697 -1.192 -0.326 -1.21 0 c -0 0 l -f -Q -q -1 0 0 1 223.062 547.888 cm -0.146 g -/GS0 gs -0 0 m -0.018 0.485 0.15 0.935 0.759 0.935 c -1.403 0.935 1.536 0.485 1.536 0 c -0 0 l -h -2.903 -0.882 m -2.903 -0.591 2.903 -0.309 2.868 -0.035 c -2.833 0.247 2.771 0.512 2.648 0.759 c -2.277 1.535 1.589 1.818 0.759 1.818 c --0.591 1.818 -1.367 0.794 -1.367 -0.538 c --1.367 -2.021 -0.758 -2.877 0.759 -2.877 c -1.792 -2.877 2.648 -2.515 2.762 -1.421 c -1.571 -1.421 l -1.447 -1.827 1.218 -1.994 0.759 -1.994 c -0.08 -1.994 0 -1.456 0 -0.882 c -2.903 -0.882 l -f -Q -q -1 0 0 1 229.036 548.391 cm -0.146 g -/GS0 gs -0 0 m --0.017 0.3 -0.3 0.432 -0.6 0.432 c --0.962 0.432 -1.129 0.326 -1.129 0.035 c --1.129 -0.662 1.403 -0.265 1.403 -1.924 c -1.403 -2.894 0.221 -3.38 -0.6 -3.38 c --1.632 -3.38 -2.532 -2.974 -2.55 -1.959 c --1.323 -1.959 l --1.297 -2.303 -0.988 -2.497 -0.6 -2.497 c --0.238 -2.497 0.035 -2.347 0.035 -2.003 c -0.035 -1.65 -0.6 -1.5 -0.865 -1.438 c --1.712 -1.235 -2.497 -1.05 -2.497 -0.018 c --2.497 0.909 -1.376 1.315 -0.6 1.315 c -0.335 1.315 1.13 0.979 1.191 0 c -0 0 l -f -Q -q -1 0 0 1 233.448 548.391 cm -0.146 g -/GS0 gs -0 0 m --0.018 0.3 -0.3 0.432 -0.6 0.432 c --0.962 0.432 -1.129 0.326 -1.129 0.035 c --1.129 -0.662 1.403 -0.265 1.403 -1.924 c -1.403 -2.894 0.221 -3.38 -0.6 -3.38 c --1.632 -3.38 -2.532 -2.974 -2.55 -1.959 c --1.323 -1.959 l --1.297 -2.303 -0.988 -2.497 -0.6 -2.497 c --0.238 -2.497 0.035 -2.347 0.035 -2.003 c -0.035 -1.65 -0.6 -1.5 -0.865 -1.438 c --1.712 -1.235 -2.497 -1.05 -2.497 -0.018 c --2.497 0.909 -1.376 1.315 -0.6 1.315 c -0.335 1.315 1.129 0.979 1.191 0 c -0 0 l -f -Q -q -1 0 0 1 271.91 551.525 cm -0.146 g -/GS0 gs -0 0 m --2.611 -2.33 -3.338 -5.695 y --4.247 -4.575 l --4.388 -5.249 l --2.987 -7.112 -2.881 -7.341 v --2.561 -2.333 0 0 y -f -Q -q -1 0 0 1 246.46 550.349 cm -0.146 g -/GS0 gs -0 0 m -4.023 0 l -4.023 -0.482 l -0.524 -0.482 l -0.524 -2.196 l -3.895 -2.196 l -3.895 -2.677 l -0.524 -2.677 l -0.524 -4.575 l -4.079 -4.575 l -4.079 -5.057 l -0 -5.057 l -0 0 l -f -Q -q -1 0 0 1 252.756 547.856 cm -0.146 g -/GS0 gs -0 0 m --1.969 2.493 l --1.268 2.493 l -0.375 0.411 l -2.067 2.493 l -2.719 2.493 l -0.736 0.028 l -2.783 -2.564 l -2.089 -2.564 l -0.361 -0.39 l --1.381 -2.564 l --2.054 -2.564 l -0 0 l -f -Q -q -1 0 0 1 259.355 546.829 cm -0.146 g -/GS0 gs -0 0 m --2.662 0 l --3.349 -1.537 l --3.916 -1.537 l --1.621 3.52 l --1.012 3.52 l -1.282 -1.537 l -0.673 -1.537 l -0 0 l -h --1.324 2.995 m --2.45 0.482 l --0.212 0.482 l --1.324 2.995 l -f -Q -q -1 0 0 1 266.33 550.349 cm -0.146 g -/GS0 gs -0 0 m -0.744 0 l -0.744 -5.057 l -0.22 -5.057 l -0.22 -0.687 l -0.206 -0.687 l --2.025 -5.057 l --2.506 -5.057 l --4.73 -0.68 l --4.744 -0.68 l --4.744 -5.057 l --5.268 -5.057 l --5.268 0 l --4.503 0 l --2.252 -4.398 l -0 0 l -f -Q -q -1 0 0 1 277.512 547.261 cm -0.146 g -/GS0 gs -0 0 m --0.128 -0.666 -0.355 -1.204 -0.85 -1.572 c --1.339 -1.94 -2.104 -2.146 -3.322 -2.146 c --4.533 -2.146 -6.777 -2.061 -6.777 0.56 c --6.777 3.18 -4.533 3.265 -3.322 3.265 c --2.118 3.265 -0.262 3.109 0 1.105 c --2.252 1.105 l --2.309 1.466 -2.55 1.99 -3.322 1.99 c --4.136 1.99 -4.653 1.586 -4.653 0.56 c --4.653 -0.467 -4.15 -0.871 -3.421 -0.871 c --2.791 -0.871 -2.415 -0.609 -2.252 0 c -0 0 l -f -Q -q -1 0 0 1 278.219 550.349 cm -0.146 g -/GS0 gs -0 0 m -4.207 0 l -4.781 0 5.127 -0.05 5.404 -0.185 c -5.779 -0.369 6.091 -0.857 6.091 -1.41 c -6.091 -1.884 5.892 -2.394 5.312 -2.564 c -5.312 -2.578 l -5.609 -2.663 5.85 -2.918 5.885 -3.357 c -5.97 -4.462 l -5.991 -4.688 6.091 -4.901 6.218 -5.057 c -4.037 -5.057 l -3.966 -4.908 3.966 -4.688 3.931 -4.101 c -3.909 -3.725 3.782 -3.499 3.414 -3.499 c -1.998 -3.499 l -1.998 -5.057 l -0 -5.057 l -0 0 l -h -1.998 -2.224 m -3.414 -2.224 l -3.803 -2.224 3.966 -2.068 3.966 -1.75 c -3.966 -1.367 3.718 -1.275 3.386 -1.275 c -1.998 -1.275 l -1.998 -2.224 l -f -Q -q -1 0 0 1 286.462 550.349 cm -0.146 g -/GS0 gs -0 0 m -2.45 0 l -4.603 -5.057 l -2.479 -5.057 l -2.266 -4.476 l -0.184 -4.476 l --0.028 -5.057 l --2.153 -5.057 l -0 0 l -h -1.232 -1.53 m -1.218 -1.53 l -0.623 -3.244 l -1.827 -3.244 l -1.232 -1.53 l -f -Q -q -1 0 0 1 291.32 550.349 cm -0.146 g -/GS0 gs -0 0 m -2.811 0 l -3.64 -2.939 l -3.654 -2.939 l -4.482 0 l -7.294 0 l -7.294 -5.057 l -5.481 -5.057 l -5.481 -1.445 l -5.467 -1.445 l -4.405 -5.057 l -2.889 -5.057 l -1.827 -1.445 l -1.813 -1.445 l -1.813 -5.057 l -0 -5.057 l -0 0 l -f -Q -q -1 0 0 1 119.788 548.616 cm -0.146 g -/GS0 gs -0 0 m --3.26 0 l --1.645 2.835 l -0 0 l -f -Q -q -1 0 0 1 117.753 548.028 cm -0.146 g -/GS0 gs -0 0 m --1.628 -2.824 l --3.277 -0.009 l -0 0 l -f -Q -q -1 0 0 1 121.678 548.028 cm -0.146 g -/GS0 gs -0 0 m --1.629 -2.824 l --3.277 -0.009 l -0 0 l -f -Q -q -1 0 0 1 126.151 547.513 cm -0.146 g -/GS0 gs -0 0 m --1.93 0 l --0.956 2.26 l -0 0 l -h -0.11 -0.305 m -0.415 -1.007 l -0.483 -1.177 0.618 -1.465 0.618 -1.651 c -0.618 -1.947 0.406 -2.015 0.043 -2.032 c -0.043 -2.184 l -2.252 -2.184 l -2.252 -2.032 l -1.625 -2.006 1.465 -1.532 1.253 -1.024 c --0.652 3.546 l --0.804 3.546 l --2.818 -1.177 l --3.072 -1.769 -3.25 -1.989 -3.69 -2.032 c --3.69 -2.184 l --1.93 -2.184 l --1.93 -2.032 l --2.243 -2.006 -2.581 -1.972 -2.581 -1.659 c --2.581 -1.498 -2.463 -1.236 -2.395 -1.092 c --2.057 -0.305 l -0.11 -0.305 l -f -Q -q -1 0 0 1 131.433 546.048 cm -0.146 g -/GS0 gs -0 0 m --0.195 -0.211 -0.432 -0.38 -0.728 -0.38 c --1.371 -0.38 -1.888 0.297 -1.888 1.329 c --1.888 2.65 -1.185 2.929 -0.881 2.929 c --0.305 2.929 0 2.353 0 1.846 c -0 0 l -h -0 2.861 m --0.22 3.09 -0.533 3.183 -0.838 3.183 c --1.939 3.183 -2.658 2.04 -2.658 1.033 c --2.658 0.144 -2.116 -0.838 -1.126 -0.838 c --0.652 -0.838 -0.322 -0.626 0 -0.296 c -0 -0.838 l -0.186 -0.838 l -1.329 -0.372 l -1.269 -0.228 l -1.185 -0.262 1.075 -0.296 0.982 -0.296 c -0.863 -0.296 0.685 -0.296 0.685 0.28 c -0.685 5.155 l -0.499 5.155 l --0.644 4.69 l --0.584 4.546 l --0.5 4.579 -0.39 4.613 -0.296 4.613 c --0.178 4.613 0 4.613 0 4.038 c -0 2.861 l -f -Q -q -1 0 0 1 135.665 546.048 cm -0.146 g -/GS0 gs -0 0 m --0.195 -0.211 -0.432 -0.38 -0.728 -0.38 c --1.371 -0.38 -1.888 0.297 -1.888 1.329 c --1.888 2.65 -1.185 2.929 -0.88 2.929 c --0.305 2.929 0 2.353 0 1.846 c -0 0 l -h -0 2.861 m --0.22 3.09 -0.533 3.183 -0.838 3.183 c --1.938 3.183 -2.658 2.04 -2.658 1.033 c --2.658 0.144 -2.116 -0.838 -1.126 -0.838 c --0.652 -0.838 -0.322 -0.626 0 -0.296 c -0 -0.838 l -0.186 -0.838 l -1.329 -0.372 l -1.269 -0.228 l -1.185 -0.262 1.075 -0.296 0.982 -0.296 c -0.863 -0.296 0.685 -0.296 0.685 0.28 c -0.685 5.155 l -0.499 5.155 l --0.643 4.69 l --0.584 4.546 l --0.5 4.579 -0.39 4.613 -0.296 4.613 c --0.178 4.613 0 4.613 0 4.038 c -0 2.861 l -f -Q -q -1 0 0 1 138.509 546.048 cm -0.146 g -/GS0 gs -0 0 m -0 -0.499 0.195 -0.558 0.584 -0.567 c -0.584 -0.719 l --1.27 -0.719 l --1.27 -0.567 l --0.88 -0.558 -0.686 -0.499 -0.686 0 c --0.686 2.066 l --0.686 2.641 -0.863 2.641 -0.982 2.641 c --1.075 2.641 -1.185 2.607 -1.27 2.574 c --1.329 2.717 l --0.186 3.183 l -0 3.183 l -0 0 l -h --0.347 5.155 m --0.119 5.155 0.068 4.969 0.068 4.74 c -0.068 4.512 -0.119 4.326 -0.347 4.326 c --0.576 4.326 -0.762 4.512 -0.762 4.74 c --0.762 4.969 -0.576 5.155 -0.347 5.155 c -f -Q -q -1 0 0 1 142.038 547.936 cm -0.146 g -/GS0 gs -0 0 m --0.152 0 l --0.279 0.567 -0.507 1.041 -1.168 1.041 c --1.472 1.041 -1.811 0.872 -1.811 0.525 c --1.811 -0.398 0.28 -0.279 0.28 -1.591 c -0.28 -2.285 -0.372 -2.726 -1.015 -2.726 c --1.261 -2.726 -1.532 -2.666 -1.777 -2.599 c --1.989 -2.556 l --2.141 -2.666 l --2.293 -2.666 l --2.293 -1.312 l --2.141 -1.312 l --2.065 -1.905 -1.616 -2.472 -0.981 -2.472 c --0.634 -2.472 -0.33 -2.268 -0.33 -1.896 c --0.33 -0.906 -2.302 -1.041 -2.302 0.161 c --2.302 0.855 -1.803 1.295 -1.125 1.295 c --0.948 1.295 -0.812 1.253 -0.643 1.202 c --0.541 1.177 -0.431 1.134 -0.33 1.134 c --0.22 1.134 -0.186 1.202 -0.152 1.295 c -0 1.295 l -0 0 l -f -Q -q -1 0 0 1 144.578 548.943 cm -0.146 g -/GS0 gs -0 0 m -0.939 0 1.193 -1.253 1.193 -1.989 c -1.193 -2.581 1.049 -3.445 0.279 -3.445 c --0.661 -3.445 -0.923 -2.124 -0.923 -1.396 c --0.923 -0.313 -0.415 0 0 0 c -h -0.144 0.288 m --0.965 0.288 -1.693 -0.719 -1.693 -1.76 c --1.693 -2.776 -0.991 -3.733 0.084 -3.733 c -1.422 -3.733 1.963 -2.505 1.963 -1.633 c -1.963 -0.601 1.202 0.288 0.144 0.288 c -f -Q -q -1 0 0 1 148.2 548.435 cm -0.146 g -/GS0 gs -0 0 m -0.474 0.525 0.804 0.796 1.287 0.796 c -1.972 0.796 2.243 0.153 2.243 -0.482 c -2.243 -2.387 l -2.243 -2.886 2.438 -2.945 2.827 -2.954 c -2.827 -3.106 l -0.974 -3.106 l -0.974 -2.954 l -1.363 -2.945 1.558 -2.886 1.558 -2.387 c -1.558 -0.635 l -1.558 0.203 1.211 0.288 0.957 0.288 c -0.567 0.288 0.28 0.034 0 -0.254 c -0 -2.387 l -0 -2.886 0.195 -2.945 0.584 -2.954 c -0.584 -3.106 l --1.269 -3.106 l --1.269 -2.954 l --0.88 -2.945 -0.685 -2.886 -0.685 -2.387 c --0.685 -0.321 l --0.685 0.254 -0.863 0.254 -0.982 0.254 c --1.075 0.254 -1.185 0.22 -1.269 0.187 c --1.329 0.33 l --0.186 0.796 l -0 0.796 l -0 0 l -f -Q -q -1 0 0 1 -0 0 cm -0.146 g -/GS0 gs -151.4 546.903 2.141 0.652 re -f -Q -q -1 0 0 1 159.847 549.62 cm -0.146 g -/GS0 gs -0 0 m -0.068 0.195 0.203 0.567 0.203 0.762 c -0.203 1.084 -0.034 1.16 -0.415 1.16 c --0.415 1.312 l -1.261 1.312 l -1.261 1.16 l -0.702 1.16 0.584 0.694 0.432 0.246 c --1.177 -4.418 l --1.337 -4.418 l --2.607 -0.863 l --2.624 -0.863 l --3.868 -4.418 l --4.038 -4.418 l --5.764 0.415 l --5.95 0.948 -6.035 1.16 -6.543 1.16 c --6.543 1.312 l --4.469 1.312 l --4.469 1.16 l --4.774 1.16 -5.019 1.092 -5.019 0.804 c --5.019 0.669 -4.935 0.449 -4.892 0.322 c --3.75 -2.937 l --3.733 -2.937 l --2.802 -0.321 l --3.03 0.305 l --3.208 0.779 -3.335 1.16 -3.894 1.16 c --3.894 1.312 l --1.701 1.312 l --1.701 1.16 l --2.057 1.16 -2.302 1.134 -2.302 0.779 c --2.302 0.534 -2.167 0.187 -2.082 -0.042 c --1.05 -2.937 l --1.033 -2.937 l -0 0 l -f -Q -q -1 0 0 1 161.389 547.936 cm -0.146 g -/GS0 gs -0 0 m -0.034 0.491 0.389 0.99 0.888 0.99 c -1.489 0.99 1.752 0.525 1.752 0 c -0 0 l -h -2.615 -0.254 m -2.615 0.66 2.04 1.295 1.168 1.295 c --0.034 1.295 -0.584 0.313 -0.584 -0.779 c --0.584 -1.938 0.144 -2.726 1.066 -2.726 c -1.921 -2.726 2.471 -2.006 2.615 -1.227 c -2.488 -1.143 l -2.293 -1.693 1.963 -2.048 1.354 -2.048 c -0.431 -2.048 -0.009 -1.1 -0.009 -0.254 c -2.615 -0.254 l -f -Q -q -1 0 0 1 167.009 547.936 cm -0.146 g -/GS0 gs -0 0 m --0.153 0 l --0.28 0.567 -0.508 1.041 -1.168 1.041 c --1.473 1.041 -1.812 0.872 -1.812 0.525 c --1.812 -0.398 0.279 -0.279 0.279 -1.591 c -0.279 -2.285 -0.373 -2.726 -1.016 -2.726 c --1.261 -2.726 -1.532 -2.666 -1.778 -2.599 c --1.989 -2.556 l --2.142 -2.666 l --2.294 -2.666 l --2.294 -1.312 l --2.142 -1.312 l --2.066 -1.905 -1.617 -2.472 -0.982 -2.472 c --0.635 -2.472 -0.33 -2.268 -0.33 -1.896 c --0.33 -0.906 -2.303 -1.041 -2.303 0.161 c --2.303 0.855 -1.803 1.295 -1.126 1.295 c --0.948 1.295 -0.813 1.253 -0.644 1.202 c --0.542 1.177 -0.432 1.134 -0.33 1.134 c --0.22 1.134 -0.186 1.202 -0.153 1.295 c -0 1.295 l -0 0 l -f -Q -q -1 0 0 1 169.125 546.048 cm -0.146 g -/GS0 gs -0 0 m -0 -0.499 0.194 -0.558 0.584 -0.567 c -0.584 -0.719 l --1.27 -0.719 l --1.27 -0.567 l --0.881 -0.558 -0.686 -0.499 -0.686 0 c --0.686 4.038 l --0.686 4.613 -0.864 4.613 -0.982 4.613 c --1.075 4.613 -1.185 4.579 -1.27 4.546 c --1.329 4.69 l --0.187 5.155 l -0 5.155 l -0 0 l -f -Q -q -1 0 0 1 170.792 547.936 cm -0.146 g -/GS0 gs -0 0 m -0.034 0.491 0.39 0.99 0.889 0.99 c -1.49 0.99 1.752 0.525 1.752 0 c -0 0 l -h -2.616 -0.254 m -2.616 0.66 2.04 1.295 1.168 1.295 c --0.034 1.295 -0.584 0.313 -0.584 -0.779 c --0.584 -1.938 0.144 -2.726 1.067 -2.726 c -1.921 -2.726 2.472 -2.006 2.616 -1.227 c -2.488 -1.143 l -2.294 -1.693 1.964 -2.048 1.354 -2.048 c -0.432 -2.048 -0.008 -1.1 -0.008 -0.254 c -2.616 -0.254 l -f -Q -q -1 0 0 1 174.314 548.241 cm -0.146 g -/GS0 gs -0 0 m --0.144 0.313 -0.339 0.677 -0.711 0.719 c --0.711 0.872 l -1.049 0.872 l -1.049 0.719 l -0.787 0.719 0.593 0.685 0.593 0.414 c -0.593 0.271 0.711 0.034 0.77 -0.102 c -1.651 -1.913 l -2.455 0.076 l -2.514 0.228 2.565 0.347 2.565 0.507 c -2.565 0.702 2.412 0.719 2.184 0.719 c -2.184 0.872 l -3.419 0.872 l -3.419 0.719 l -3.149 0.719 3.005 0.507 2.912 0.279 c -1.295 -3.682 l -0.965 -4.495 0.347 -4.74 0.051 -4.74 c --0.229 -4.74 -0.516 -4.571 -0.516 -4.266 c --0.516 -4.012 -0.313 -3.894 -0.085 -3.894 c -0.195 -3.894 0.33 -4.046 0.474 -4.046 c -0.813 -4.046 0.99 -3.572 1.092 -3.327 c -1.32 -2.76 l -0 0 l -f -Q -q -1 0 0 1 -0 0 cm -0.146 g -/GS0 gs -310.665 547.378 1.672 5.427 re -f -Q -q -1 0 0 1 313.196 552.805 cm -0.146 g -/GS0 gs -0 0 m -2.972 0 l -4.401 0 4.705 -0.806 4.705 -1.361 c -4.705 -1.908 4.439 -2.205 4.036 -2.425 c -4.523 -2.592 4.979 -2.98 4.979 -3.778 c -4.979 -4.865 4.036 -5.427 3.079 -5.427 c -0 -5.427 l -0 0 l -h -1.672 -2.113 m -2.554 -2.113 l -2.904 -2.113 3.124 -2.015 3.124 -1.665 c -3.124 -1.391 2.896 -1.292 2.554 -1.292 c -1.672 -1.292 l -1.672 -2.113 l -h -1.672 -4.135 m -2.653 -4.135 l -3.003 -4.135 3.307 -4.036 3.307 -3.618 c -3.307 -3.299 3.117 -3.124 2.721 -3.124 c -1.672 -3.124 l -1.672 -4.135 l -f -Q -q -1 0 0 1 318.821 552.805 cm -0.146 g -/GS0 gs -0 0 m -2.379 0 l -3.154 -3.193 l -3.169 -3.193 l -3.945 0 l -6.324 0 l -6.324 -5.427 l -4.743 -5.427 l -4.743 -1.946 l -4.728 -1.946 l -3.785 -5.427 l -2.539 -5.427 l -1.596 -1.946 l -1.581 -1.946 l -1.581 -5.427 l -0 -5.427 l -0 0 l -f -Q -q -1 0 0 1 310.775 545.538 cm -0.146 g -/GS0 gs -0 0 m -1.901 0 l -2.903 0 3.254 -0.741 3.254 -1.273 c -3.254 -2.175 2.655 -2.598 1.808 -2.598 c -1.136 -2.598 l -1.136 -3.724 l -0 -3.724 l -0 0 l -h -1.136 -1.711 m -1.575 -1.711 l -1.87 -1.711 2.18 -1.69 2.18 -1.315 c -2.18 -0.975 1.921 -0.955 1.642 -0.955 c -1.136 -0.955 l -1.136 -1.711 l -f -Q -q -1 0 0 1 314.396 544.521 cm -0.146 g -/GS0 gs -0 0 m -0.981 0 l -0.981 -0.433 l -0.991 -0.433 l -1.157 -0.11 1.374 0.068 1.746 0.068 c -1.849 0.068 1.947 0.052 2.045 0.026 c -2.045 -0.887 l -1.942 -0.85 1.849 -0.819 1.642 -0.819 c -1.239 -0.819 1.022 -1.059 1.022 -1.638 c -1.022 -2.707 l -0 -2.707 l -0 0 l -f -Q -q -1 0 0 1 317.46 542.935 cm -0.146 g -/GS0 gs -0 0 m -0.026 -0.308 0.201 -0.527 0.521 -0.527 c -0.687 -0.527 0.867 -0.464 0.95 -0.334 c -1.906 -0.334 l -1.699 -0.918 1.136 -1.189 0.527 -1.189 c --0.331 -1.189 -0.977 -0.678 -0.977 0.224 c --0.977 1.012 -0.408 1.654 0.439 1.654 c -1.503 1.654 1.963 1.054 1.963 0 c -0 0 l -h -0.981 0.537 m -0.981 0.788 0.795 0.991 0.532 0.991 c -0.227 0.991 0.051 0.829 0.005 0.537 c -0.981 0.537 l -f -Q -q -1 0 0 1 321.401 543.733 cm -0.146 g -/GS0 gs -0 0 m --0.119 0.204 l --0.346 0.282 l --0.491 0.282 -0.656 0.251 -0.656 0.073 c --0.537 -0.068 l --0.367 -0.141 0.02 -0.162 0.361 -0.276 c -0.702 -0.386 1.002 -0.589 1.002 -1.033 c -1.002 -1.784 0.289 -1.987 -0.362 -1.987 c --0.992 -1.987 -1.684 -1.732 -1.7 -1.033 c --0.723 -1.033 l --0.718 -1.127 -0.677 -1.205 -0.599 -1.273 c --0.548 -1.32 -0.45 -1.351 -0.326 -1.351 c --0.191 -1.351 0.02 -1.299 0.02 -1.142 c -0.02 -0.986 -0.067 -0.939 -0.543 -0.855 c --1.323 -0.72 -1.638 -0.469 -1.638 -0.005 c --1.638 0.678 -0.909 0.856 -0.372 0.856 c -0.206 0.856 0.904 0.694 0.93 0 c -0 0 l -f -Q -q -1 0 0 1 324.366 543.733 cm -0.146 g -/GS0 gs -0 0 m --0.119 0.204 l --0.346 0.282 l --0.491 0.282 -0.656 0.251 -0.656 0.073 c --0.538 -0.068 l --0.367 -0.141 0.02 -0.162 0.361 -0.276 c -0.702 -0.386 1.002 -0.589 1.002 -1.033 c -1.002 -1.784 0.289 -1.987 -0.362 -1.987 c --0.992 -1.987 -1.684 -1.732 -1.7 -1.033 c --0.723 -1.033 l --0.718 -1.127 -0.677 -1.205 -0.599 -1.273 c --0.548 -1.32 -0.45 -1.351 -0.326 -1.351 c --0.191 -1.351 0.02 -1.299 0.02 -1.142 c -0.02 -0.986 -0.067 -0.939 -0.543 -0.855 c --1.323 -0.72 -1.638 -0.469 -1.638 -0.005 c --1.638 0.678 -0.909 0.856 -0.372 0.856 c -0.206 0.856 0.904 0.694 0.93 0 c -0 0 l -f -Q -q -1 0 0 1 326.382 542.428 cm -0.146 g -/GS0 gs -0 0 m --0.226 0 l --0.226 -0.621 l --0.369 -0.621 l --0.369 0 l --0.594 0 l --0.594 0.116 l -0 0.116 l -0 0 l -h -0.559 -0.406 m -0.76 0.116 l -0.965 0.116 l -0.965 -0.621 l -0.831 -0.621 l -0.831 -0.045 l -0.828 -0.045 l -0.608 -0.621 l -0.507 -0.621 l -0.288 -0.045 l -0.284 -0.045 l -0.284 -0.621 l -0.15 -0.621 l -0.15 0.116 l -0.357 0.116 l -0.559 -0.406 l -f -Q -q -1 0 0 1 432.01 549.104 cm -0.146 g -/GS0 gs -0 0 m --0.264 0.254 -0.627 0.424 -1.034 0.424 c --1.339 0.424 -1.773 0.246 -1.83 -0.11 c --1.889 -0.483 -1.463 -0.627 -1.189 -0.72 c --0.786 -0.847 l -0.062 -1.109 0.677 -1.558 0.513 -2.592 c -0.412 -3.227 0.156 -3.88 -0.42 -4.311 c --0.987 -4.735 -1.685 -4.913 -2.329 -4.913 c --3.133 -4.913 -3.878 -4.642 -4.458 -4.184 c --3.534 -2.846 l --3.177 -3.21 -2.732 -3.507 -2.165 -3.507 c --1.775 -3.507 -1.329 -3.312 -1.258 -2.863 c --1.184 -2.397 -1.811 -2.236 -2.151 -2.134 c --3.145 -1.838 -3.789 -1.567 -3.593 -0.33 c --3.387 0.966 -2.33 1.813 -1.051 1.813 c --0.407 1.813 0.349 1.61 0.865 1.288 c -0 0 l -f -Q -q -1 0 0 1 440.492 550.747 cm -0.146 g -/GS0 gs -0 0 m -1.635 0 l -2.389 -3.413 l -4.303 0 l -5.955 0 l -5.908 -6.386 l -4.248 -6.386 l -4.364 -2.71 l -4.348 -2.71 l -2.231 -6.386 l -1.571 -6.386 l -0.688 -2.71 l -0.671 -2.71 l --0.445 -6.386 l --2.097 -6.386 l -0 0 l -f -Q -q -1 0 0 1 451.361 549.104 cm -0.146 g -/GS0 gs -0 0 m --0.265 0.254 -0.628 0.424 -1.034 0.424 c --1.339 0.424 -1.774 0.246 -1.83 -0.11 c --1.889 -0.483 -1.463 -0.627 -1.19 -0.72 c --0.787 -0.847 l -0.061 -1.109 0.676 -1.558 0.512 -2.592 c -0.411 -3.227 0.156 -3.88 -0.421 -4.311 c --0.988 -4.735 -1.685 -4.913 -2.329 -4.913 c --3.134 -4.913 -3.879 -4.642 -4.458 -4.184 c --3.535 -2.846 l --3.177 -3.21 -2.733 -3.507 -2.166 -3.507 c --1.776 -3.507 -1.33 -3.312 -1.259 -2.863 c --1.185 -2.397 -1.812 -2.236 -2.151 -2.134 c --3.146 -1.838 -3.789 -1.567 -3.593 -0.33 c --3.388 0.966 -2.33 1.813 -1.051 1.813 c --0.408 1.813 0.348 1.61 0.865 1.288 c -0 0 l -f -Q -q -1 0 0 1 434.043 544.447 cm -0.146 g -/GS0 gs -0 0 m --2.337 0 l -4.117 8.358 l -4.117 0 l -2.252 0 l -2.256 3.257 l -0 0 l -f -Q -q -1 0 0 1 340.783 546.235 cm -0.146 g -/GS0 gs -0 0 m -1.192 0 l -1.529 0 1.802 0.274 1.802 0.611 c -1.802 2.406 l -1.802 2.744 1.529 3.017 1.192 3.017 c --1.616 3.017 l --1.953 3.017 -2.226 2.744 -2.226 2.406 c --2.226 0.611 l --2.226 0.274 -1.953 0 -1.616 0 c --0.472 0 l --0.472 -1.231 l --2.628 -1.231 l --3.22 -1.231 -3.699 -0.751 -3.699 -0.159 c --3.699 3.092 l --3.699 3.684 -3.22 4.163 -2.628 4.163 c -2.297 4.163 l -2.889 4.163 3.369 3.684 3.369 3.092 c -3.369 -0.159 l -3.369 -0.751 2.889 -1.231 2.297 -1.231 c -1.454 -1.231 l -1.454 -2.199 l --0.003 -2.199 l -0 0 l -f -Q -q -1 0 0 1 351.747 550.398 cm -0.146 g -/GS0 gs -0 0 m -0 -4.369 l -0 -4.96 -0.48 -5.44 -1.072 -5.44 c --5.78 -5.44 l --6.372 -5.44 -6.851 -4.96 -6.851 -4.369 c --6.851 0 l --5.333 0 l --5.333 -3.627 l --5.333 -3.953 -5.069 -4.216 -4.744 -4.216 c --2.171 -4.216 l --1.846 -4.216 -1.582 -3.953 -1.582 -3.627 c --1.582 0 l -0 0 l -f -Q -q -1 0 0 1 354.583 547.081 cm -0.146 g -/GS0 gs -0 0 m -0 0.988 l -3.255 0.997 l -3.512 0.997 3.72 1.236 3.72 1.493 c -3.72 1.75 3.512 1.958 3.255 1.958 c -0.226 1.956 l --0.111 2.003 -0.385 1.73 -0.385 1.392 c --0.385 -0.328 l --0.385 -0.666 -0.111 -0.939 0.226 -0.939 c -4.963 -0.939 l -4.964 -2.17 l --0.959 -2.17 l --1.551 -2.17 -2.03 -1.69 -2.03 -1.098 c --2.03 2.153 l --2.03 2.745 -1.551 3.224 -0.959 3.224 c -4.121 3.224 l -4.713 3.224 5.192 2.745 5.192 2.153 c -5.192 1.072 l -5.192 0.48 4.713 0 4.121 0 c -0 0 l -f -Q -q -1 0 0 1 360.378 549.727 cm -0.146 g -/GS0 gs -0 0 m -0 0.39 0.318 0.709 0.712 0.709 c -1.103 0.709 1.42 0.39 1.42 0 c -1.42 -0.393 1.103 -0.712 0.712 -0.712 c -0.318 -0.712 0 -0.393 0 0 c -h -1.308 0 m -1.308 0.345 1.057 0.615 0.712 0.615 c -0.365 0.615 0.112 0.345 0.112 0 c -0.112 -0.348 0.365 -0.618 0.712 -0.618 c -1.057 -0.618 1.308 -0.348 1.308 0 c -h -1.066 -0.397 m -0.95 -0.397 l -0.723 -0.031 l -0.545 -0.031 l -0.545 -0.397 l -0.448 -0.397 l -0.448 0.396 l -0.794 0.396 l -1.004 0.396 1.075 0.317 1.075 0.186 c -1.075 0.03 0.967 -0.028 0.826 -0.031 c -1.066 -0.397 l -h -0.693 0.045 m -0.806 0.045 0.97 0.027 0.97 0.188 c -0.97 0.311 0.869 0.326 0.772 0.326 c -0.545 0.326 l -0.545 0.045 l -0.693 0.045 l -f -Q -q -1 0 0 1 382.132 551.433 cm -0.146 g -/GS0 gs -0 0 m -2.661 0 l -3.141 0 3.358 -0.18 3.358 -0.64 c -3.358 -1.376 l -3.358 -1.836 3.141 -2.015 2.661 -2.015 c -0.551 -2.015 l -0.551 -3.301 l -0 -3.301 l -0 0 l -h -0.551 -0.429 m -0.551 -1.58 l -2.444 -1.58 l -2.687 -1.58 2.802 -1.516 2.802 -1.235 c -2.802 -0.775 l -2.802 -0.499 2.693 -0.429 2.444 -0.429 c -0.551 -0.429 l -f -Q -q -1 0 0 1 386.84 551.433 cm -0.146 g -/GS0 gs -0 0 m -2.661 0 l -3.14 0 3.358 -0.18 3.358 -0.64 c -3.358 -1.376 l -3.358 -1.836 3.14 -2.015 2.661 -2.015 c -2.174 -2.015 l -3.684 -3.301 l -2.865 -3.301 l -1.522 -2.015 l -0.55 -2.015 l -0.55 -3.301 l -0 -3.301 l -0 0 l -h -0.55 -0.429 m -0.55 -1.587 l -2.443 -1.587 l -2.686 -1.587 2.801 -1.529 2.801 -1.248 c -2.801 -0.768 l -2.801 -0.493 2.686 -0.429 2.443 -0.429 c -0.55 -0.429 l -f -Q -q -1 0 0 1 391.713 551.433 cm -0.146 g -/GS0 gs -0 0 m -3.179 0 l -3.179 -0.442 l -0.55 -0.442 l -0.55 -1.363 l -2.156 -1.363 l -2.156 -1.798 l -0.55 -1.798 l -0.55 -2.847 l -3.205 -2.847 l -3.205 -3.301 l -0 -3.301 l -0 0 l -f -Q -q -1 0 0 1 396.229 551.433 cm -0.146 g -/GS0 gs -0 0 m -0.346 0 l -2.814 -2.207 l -2.929 -2.31 3.057 -2.45 3.191 -2.623 c -3.14 -2.316 3.14 -2.047 3.14 -1.811 c -3.14 0 l -3.646 0 l -3.646 -3.301 l -3.338 -3.301 l -0.8 -1.005 l -0.703 -0.915 0.575 -0.819 0.467 -0.634 c -0.499 -0.877 0.506 -1.114 0.506 -1.356 c -0.506 -3.301 l -0 -3.301 l -0 0 l -f -Q -q -1 0 0 1 402.868 548.132 cm -0.146 g -/GS0 gs -0 0 m --0.55 0 l --0.55 2.853 l --2.06 2.853 l --2.06 3.301 l -1.516 3.301 l -1.516 2.853 l -0 2.853 l -0 0 l -f -Q -q -1 0 0 1 0 -0 cm -0.146 g -/GS0 gs -405.312 548.132 0.55 3.301 re -f -Q -q -1 0 0 1 408.08 550.985 cm -0.146 g -/GS0 gs -0 0 m -0 -2.392 l -2.29 -2.392 l -2.29 -1.567 l -2.84 -1.682 l -2.84 -2.073 l -2.84 -2.686 2.668 -2.853 2.073 -2.853 c -0.225 -2.853 l --0.371 -2.853 -0.549 -2.68 -0.549 -2.073 c --0.549 -0.332 l --0.549 0.275 -0.371 0.448 0.225 0.448 c -2.073 0.448 l -2.668 0.448 2.84 0.281 2.84 -0.332 c -2.84 -0.646 l -2.29 -0.748 l -2.29 0 l -0 0 l -f -Q -q -1 0 0 1 412.373 551.433 cm -0.146 g -/GS0 gs -0 0 m -3.179 0 l -3.179 -0.442 l -0.55 -0.442 l -0.55 -1.363 l -2.155 -1.363 l -2.155 -1.798 l -0.55 -1.798 l -0.55 -2.847 l -3.204 -2.847 l -3.204 -3.301 l -0 -3.301 l -0 0 l -f -Q -q -1 0 0 1 382.132 546.735 cm -0.146 g -/GS0 gs -0 0 m -0.551 0 l -0.551 -1.349 l -3.154 -1.349 l -3.154 0 l -3.704 0 l -3.704 -3.3 l -3.154 -3.3 l -3.154 -1.803 l -0.551 -1.803 l -0.551 -3.3 l -0 -3.3 l -0 0 l -f -Q -q -1 0 0 1 388.707 546.735 cm -0.146 g -/GS0 gs -0 0 m -0.588 0 l -2.425 -3.3 l -1.817 -3.3 l -1.394 -2.487 l --0.837 -2.487 l --1.26 -3.3 l --1.803 -3.3 l -0 0 l -h -1.171 -2.065 m -0.281 -0.376 l --0.608 -2.065 l -1.171 -2.065 l -f -Q -q -1 0 0 1 392.2 546.735 cm -0.146 g -/GS0 gs -0 0 m -0.55 0 l -0.55 -2.839 l -3.05 -2.839 l -3.05 -3.3 l -0 -3.3 l -0 0 l -f -Q -q -1 0 0 1 396.376 546.735 cm -0.146 g -/GS0 gs -0 0 m -0.551 0 l -0.551 -2.839 l -3.051 -2.839 l -3.051 -3.3 l -0 -3.3 l -0 0 l -f -Q -q -1 0 0 1 374.267 550.078 cm -0.146 g -/GS0 gs -0 0 m -0.023 0.231 l -0.023 0.902 -0.521 1.447 -1.193 1.447 c --1.864 1.447 -2.408 0.902 -2.408 0.231 c --2.408 -0.44 -1.864 -0.985 -1.193 -0.985 c --0.952 -0.985 -0.729 -0.913 -0.54 -0.793 c --0.476 -0.459 -0.276 -0.176 0 0 c -f -Q -q -1 0 0 1 376.76 551.522 cm -0.146 g -/GS0 gs -0 0 m --0.672 0 -1.216 -0.545 -1.216 -1.216 c --1.194 -1.438 l --0.918 -1.616 -0.721 -1.902 -0.658 -2.236 c --0.469 -2.359 -0.243 -2.432 0 -2.432 c -0.671 -2.432 1.215 -1.888 1.215 -1.216 c -1.215 -0.545 0.671 0 0 0 c -f -Q -q -1 0 0 1 376.77 548.7 cm -0.146 g -/GS0 gs -0 0 m --0.37 0 -0.698 -0.169 -0.921 -0.431 c --0.932 -0.431 l --1.154 -0.701 -1.486 -0.876 -1.865 -0.876 c --2.246 -0.876 -2.582 -0.697 -2.805 -0.422 c --3.028 -0.171 -3.348 -0.008 -3.71 -0.008 c --4.381 -0.008 -4.926 -0.552 -4.926 -1.224 c --4.926 -1.896 -4.381 -2.439 -3.71 -2.439 c --3.367 -2.439 -3.062 -2.293 -2.84 -2.064 c --2.62 -1.754 -2.26 -1.55 -1.851 -1.55 c --1.441 -1.55 -1.08 -1.754 -0.859 -2.066 c --0.639 -2.289 -0.338 -2.431 0 -2.431 c -0.672 -2.431 1.216 -1.887 1.216 -1.215 c -1.216 -0.545 0.672 0 0 0 c -f -Q -q -1 0 0 1 376.744 545.853 cm -0.146 g -/GS0 gs -0 0 m --0.241 0 -0.463 -0.072 -0.652 -0.193 c --0.716 -0.526 -0.916 -0.809 -1.192 -0.985 c --1.216 -1.217 l --1.216 -1.887 -0.671 -2.432 0 -2.432 c -0.671 -2.432 1.215 -1.887 1.215 -1.217 c -1.215 -0.545 0.671 0 0 0 c -f -Q -q -1 0 0 1 373.718 545.659 cm -0.146 g -/GS0 gs -0 0 m --0.191 0.124 -0.416 0.197 -0.659 0.197 c --1.33 0.197 -1.875 -0.347 -1.875 -1.019 c --1.875 -1.69 -1.33 -2.235 -0.659 -2.235 c -0.013 -2.235 0.557 -1.69 0.557 -1.019 c -0.535 -0.797 l -0.259 -0.619 0.061 -0.334 0 0 c -f -Q -q -1 0 0 1 480.984 541.986 cm -0.195 g -0 0 m --0.677 0 l --0.677 1.618 l --0.027 1.618 l -0.288 1.618 0.472 1.441 0.472 1.164 c -0.472 0.984 0.355 0.868 0.273 0.829 c -0.37 0.784 0.495 0.682 0.495 0.466 c -0.495 0.163 0.288 0 0 0 c -h --0.052 1.336 m --0.361 1.336 l --0.361 0.963 l --0.052 0.963 l -0.082 0.963 0.157 1.038 0.157 1.15 c -0.157 1.261 0.082 1.336 -0.052 1.336 c -h --0.032 0.679 m --0.361 0.679 l --0.361 0.281 l --0.032 0.281 l -0.111 0.281 0.179 0.373 0.179 0.482 c -0.179 0.591 0.111 0.679 -0.032 0.679 c -f -Q -q -1 0 0 1 482.598 542.118 cm -0.195 g -0 0 m --0.073 -0.078 -0.193 -0.146 -0.369 -0.146 c --0.544 -0.146 -0.662 -0.078 -0.734 0 c --0.841 0.111 -0.869 0.245 -0.869 0.461 c --0.869 0.675 -0.841 0.809 -0.734 0.92 c --0.662 0.997 -0.544 1.065 -0.369 1.065 c --0.193 1.065 -0.073 0.997 0 0.92 c -0.106 0.809 0.134 0.675 0.134 0.461 c -0.134 0.245 0.106 0.111 0 0 c -h --0.23 0.747 m --0.369 0.8 l --0.505 0.747 l --0.566 0.686 -0.573 0.584 -0.573 0.461 c --0.573 0.338 -0.566 0.234 -0.505 0.172 c --0.369 0.12 l --0.23 0.172 l --0.169 0.234 -0.162 0.338 -0.162 0.461 c --0.162 0.584 -0.169 0.686 -0.23 0.747 c -f -Q -q -1 0 0 1 483.832 542.118 cm -0.195 g -0 0 m --0.073 -0.078 -0.193 -0.146 -0.369 -0.146 c --0.544 -0.146 -0.662 -0.078 -0.734 0 c --0.841 0.111 -0.868 0.245 -0.868 0.461 c --0.868 0.675 -0.841 0.809 -0.734 0.92 c --0.662 0.997 -0.544 1.065 -0.369 1.065 c --0.193 1.065 -0.073 0.997 0 0.92 c -0.106 0.809 0.134 0.675 0.134 0.461 c -0.134 0.245 0.106 0.111 0 0 c -h --0.23 0.747 m --0.369 0.8 l --0.505 0.747 l --0.566 0.686 -0.573 0.584 -0.573 0.461 c --0.573 0.338 -0.566 0.234 -0.505 0.172 c --0.369 0.12 l --0.23 0.172 l --0.169 0.234 -0.162 0.338 -0.162 0.461 c --0.162 0.584 -0.169 0.686 -0.23 0.747 c -f -Q -q -1 0 0 1 484.959 541.986 cm -0.195 g -0 0 m --0.291 0.493 l --0.416 0.352 l --0.416 0 l --0.711 0 l --0.711 1.618 l --0.416 1.618 l --0.416 0.7 l --0.023 1.184 l -0.334 1.184 l --0.089 0.707 l -0.366 0 l -0 0 l -f -Q -q -1 0 0 1 485.907 541.972 cm -0.195 g -0 0 m --0.186 0 -0.355 0.02 -0.505 0.171 c --0.311 0.364 l --0.214 0.266 -0.087 0.252 0.004 0.252 c -0.107 0.252 0.214 0.287 0.214 0.375 c -0.214 0.434 0.182 0.475 0.088 0.484 c --0.098 0.502 l --0.311 0.523 -0.444 0.616 -0.444 0.834 c --0.444 1.08 -0.228 1.211 0.013 1.211 c -0.197 1.211 0.352 1.18 0.466 1.073 c -0.284 0.889 l -0.215 0.95 0.111 0.968 0.009 0.968 c --0.109 0.968 -0.159 0.914 -0.159 0.855 c --0.159 0.812 -0.141 0.761 -0.037 0.752 c -0.15 0.734 l -0.384 0.711 0.502 0.586 0.502 0.387 c -0.502 0.125 0.279 0 0 0 c -f -Q -q -1 0 0 1 488.186 542.149 cm -0.195 g -0 0 m --0.114 -0.113 -0.252 -0.177 -0.436 -0.177 c --0.62 -0.177 -0.761 -0.113 -0.875 0 c --1.038 0.164 -1.034 0.366 -1.034 0.646 c --1.034 0.925 -1.038 1.127 -0.875 1.291 c --0.761 1.405 -0.62 1.469 -0.436 1.469 c --0.252 1.469 -0.114 1.405 0 1.291 c -0.164 1.127 0.162 0.925 0.162 0.646 c -0.162 0.366 0.164 0.164 0 0 c -h --0.234 1.1 m --0.436 1.187 l --0.641 1.1 l --0.702 1.032 -0.718 0.957 -0.718 0.646 c --0.718 0.334 -0.702 0.26 -0.641 0.191 c --0.436 0.105 l --0.234 0.191 l --0.172 0.26 -0.154 0.334 -0.154 0.646 c --0.154 0.957 -0.172 1.032 -0.234 1.1 c -f -Q -q -1 0 0 1 489.336 541.986 cm -0.195 g -0 0 m -0 0.716 l -0 0.877 -0.102 0.932 -0.195 0.932 c --0.288 0.932 -0.393 0.877 -0.393 0.716 c --0.393 0 l --0.688 0 l --0.688 1.184 l --0.4 1.184 l --0.4 1.075 l --0.323 1.156 -0.213 1.197 -0.105 1.197 c -0.014 1.197 0.109 1.159 0.175 1.093 c -0.271 0.997 0.296 0.886 0.296 0.757 c -0.296 0 l -0 0 l -f -Q -q -1 0 0 1 490.284 541.986 cm -0.195 g -0 0 m --0.243 0 -0.345 0.17 -0.345 0.338 c --0.345 1.618 l --0.05 1.618 l --0.05 0.357 l -0.055 0.25 l -0.168 0.25 l -0.168 0 l -0 0 l -f -Q -q -1 0 0 1 0 -0 cm -0.195 g -490.986 543.372 -0.302 0.241 re -490.684 543.372 m -h -490.984 541.986 -0.296 1.184 re -f -Q -q -1 0 0 1 492.002 541.986 cm -0.195 g -0 0 m -0 0.716 l -0 0.877 -0.102 0.932 -0.195 0.932 c --0.288 0.932 -0.393 0.877 -0.393 0.716 c --0.393 0 l --0.688 0 l --0.688 1.184 l --0.4 1.184 l --0.4 1.075 l --0.323 1.156 -0.213 1.197 -0.104 1.197 c -0.014 1.197 0.109 1.159 0.175 1.093 c -0.271 0.997 0.296 0.886 0.296 0.757 c -0.296 0 l -0 0 l -f -Q -q -1 0 0 1 492.848 542.486 cm -0.195 g -0 0 m -0 -0.152 0.093 -0.264 0.259 -0.264 c -0.389 -0.264 0.452 -0.227 0.527 -0.152 c -0.707 -0.327 l -0.586 -0.448 0.47 -0.514 0.257 -0.514 c --0.023 -0.514 -0.291 -0.387 -0.291 0.093 c --0.291 0.479 -0.082 0.697 0.225 0.697 c -0.554 0.697 0.74 0.456 0.74 0.131 c -0.74 0 l -0 0 l -h -0.422 0.329 m -0.391 0.4 0.325 0.452 0.225 0.452 c -0.125 0.452 0.059 0.4 0.027 0.329 c -0 0.202 l -0.45 0.202 l -0.422 0.329 l -f -Q -q -1 0 0 1 471.785 544.294 cm -0.146 g -/GS0 gs -0 0 m --1.033 0 -1.817 0.22 -2.487 0.899 c --1.626 1.759 l --1.196 1.329 -0.613 1.186 0.018 1.186 c -0.803 1.186 1.223 1.483 1.223 2.027 c -1.223 2.266 1.156 2.468 1.013 2.601 c -0.879 2.726 0.726 2.792 0.411 2.841 c --0.412 2.955 l --0.995 3.041 -1.425 3.223 -1.731 3.519 c --2.056 3.844 -2.219 4.284 -2.219 4.858 c --2.219 6.072 -1.32 6.923 0.152 6.923 c -1.09 6.923 1.768 6.694 2.352 6.13 c -1.51 5.298 l -1.08 5.709 0.563 5.766 0.114 5.766 c --0.593 5.766 -0.938 5.374 -0.938 4.906 c --0.938 4.733 -0.88 4.552 -0.737 4.418 c --0.603 4.293 -0.383 4.189 -0.106 4.15 c -0.697 4.036 l -1.319 3.95 1.711 3.777 1.998 3.51 c -2.361 3.165 2.524 2.668 2.524 2.065 c -2.524 0.746 1.424 0 0 0 c -f -Q -q -1 0 0 1 477.736 544.352 cm -0.146 g -/GS0 gs -0 0 m -0 0.43 l --0.335 0.095 -0.65 -0.048 -1.224 -0.048 c --1.789 -0.048 -2.2 0.095 -2.496 0.392 c --2.764 0.669 -2.907 1.07 -2.907 1.51 c --2.907 2.304 -2.362 2.954 -1.205 2.954 c --0.029 2.954 l --0.029 3.203 l --0.029 3.748 -0.297 3.987 -0.957 3.987 c --1.435 3.987 -1.655 3.873 -1.913 3.576 c --2.706 4.35 l --2.218 4.886 -1.741 5.039 -0.909 5.039 c -0.487 5.039 1.214 4.446 1.214 3.28 c -1.214 0 l -0 0 l -h --0.029 2.103 m --1.014 2.103 l --1.463 2.103 -1.712 1.893 -1.712 1.539 c --1.712 1.195 -1.482 0.966 -0.995 0.966 c --0.65 0.966 -0.43 0.994 -0.211 1.205 c --0.077 1.329 -0.029 1.53 -0.029 1.836 c --0.029 2.103 l -f -Q -q -1 0 0 1 481.543 548.244 cm -0.146 g -/GS0 gs -0 0 m -0 -3.892 l --1.243 -3.892 l --1.243 0 l --1.759 0 l --1.759 0.946 l --1.243 0.946 l --1.243 1.567 l --1.243 2.275 -0.803 2.992 0.21 2.992 c -0.918 2.992 l -0.918 1.941 l -0.431 1.941 l -0.134 1.941 0 1.778 0 1.491 c -0 0.946 l -0.918 0.946 l -0.918 0 l -0 0 l -f -Q -q -1 0 0 1 485.816 544.352 cm -0.146 g -/GS0 gs -0 0 m -0 0.43 l --0.334 0.095 -0.65 -0.048 -1.224 -0.048 c --1.788 -0.048 -2.199 0.095 -2.495 0.392 c --2.763 0.669 -2.907 1.07 -2.907 1.51 c --2.907 2.304 -2.362 2.954 -1.205 2.954 c --0.028 2.954 l --0.028 3.203 l --0.028 3.748 -0.297 3.987 -0.956 3.987 c --1.434 3.987 -1.654 3.873 -1.912 3.576 c --2.706 4.35 l --2.218 4.886 -1.74 5.039 -0.908 5.039 c -0.488 5.039 1.215 4.446 1.215 3.28 c -1.215 0 l -0 0 l -h --0.028 2.103 m --1.014 2.103 l --1.463 2.103 -1.712 1.893 -1.712 1.539 c --1.712 1.195 -1.482 0.966 -0.994 0.966 c --0.65 0.966 -0.43 0.994 -0.21 1.205 c --0.076 1.329 -0.028 1.53 -0.028 1.836 c --0.028 2.103 l -f -Q -q -1 0 0 1 490.792 547.976 cm -0.146 g -/GS0 gs -0 0 m --0.191 0.191 -0.354 0.296 -0.659 0.296 c --1.042 0.296 -1.463 0.009 -1.463 -0.622 c --1.463 -3.624 l --2.706 -3.624 l --2.706 1.358 l --1.492 1.358 l --1.492 0.879 l --1.253 1.166 -0.774 1.415 -0.239 1.415 c -0.249 1.415 0.593 1.291 0.937 0.946 c -0 0 l -f -Q -q -1 0 0 1 0 -0 cm -0.146 g -/GS0 gs -492.295 544.352 1.243 4.982 re -f -Q -q -1 0 0 1 493.401 550.261 cm -0.146 g -/GS0 gs -0 0 m --0.277 -0.277 -0.726 -0.276 -1.003 0 c --1.279 0.277 -1.279 0.726 -1.003 1.003 c --0.726 1.28 -0.277 1.28 0 1.003 c -0.277 0.726 0.277 0.277 0 0 c -f -Q -q -1 0 0 1 495.425 550.261 cm -0.146 g -/GS0 gs -0 0 m --0.276 -0.277 -0.725 -0.276 -1.002 0 c --1.279 0.277 -1.279 0.726 -1.002 1.003 c --0.725 1.28 -0.276 1.28 0 1.003 c -0.277 0.726 0.277 0.277 0 0 c -f -Q -q -1 0 0 1 495.848 551.979 cm -0.146 g -/GS0 gs -0 0 m -0.819 -0.82 1.216 -1.216 v -0.819 -1.614 0 -2.432 y -0.629 -3.061 l -2.474 -1.216 l -0.629 0.629 l -0 0 l -f -Q -q -1 0 0 1 494.256 545.106 cm -0.146 g -/GS0 gs -0 0 m -0.205 0 0.367 -0.166 0.367 -0.374 c -0.367 -0.585 0.204 -0.749 -0.002 -0.749 c --0.207 -0.749 -0.372 -0.584 -0.372 -0.373 c --0.372 -0.165 -0.206 0.001 -0.001 0 c -0 0 l -h --0.001 -0.058 m --0.165 -0.058 -0.3 -0.199 -0.3 -0.373 c --0.3 -0.551 -0.166 -0.69 0 -0.691 c -0.166 -0.693 0.299 -0.552 0.299 -0.376 c -0.299 -0.199 0.167 -0.058 0 -0.058 c --0.001 -0.058 l -h --0.072 -0.591 m --0.138 -0.591 l --0.138 -0.174 l --0.02 -0.164 l -0.11 -0.196 l -0.148 -0.282 l -0.067 -0.384 l -0.067 -0.387 l -0.136 -0.488 l -0.163 -0.591 l -0.093 -0.591 l -0.064 -0.485 l --0.025 -0.412 l --0.071 -0.412 l --0.072 -0.591 l -h --0.071 -0.36 m --0.023 -0.36 l -0.078 -0.289 l --0.023 -0.216 l --0.071 -0.219 l --0.071 -0.36 l -f -Q -q -1 0 0 1 0 -0 cm -0.146 g -/GS0 gs -462.126 544.105 0.228 7.511 re -f -Q -q -1 0 0 1 0 -0 cm -0.146 g -/GS0 gs -115.251 608.616 59.09 22.157 re -f -Q -q -1 0 0 1 165.584 618.082 cm -1 g -0 0 m --0.793 1.145 -2.378 3.347 -3.479 4.712 c --3.523 1.145 -3.435 0 v --3.743 0 -4.051 0.044 -4.404 0 c --4.227 0.617 -4.183 5.812 -4.36 6.472 c --4.096 6.472 -3.699 6.429 -3.435 6.472 c --2.598 5.328 -0.881 3.038 0 1.85 c -0 2.73 0.043 5.505 -0.045 6.472 c -0.307 6.429 0.572 6.384 0.924 6.472 c -0.792 5.68 0.704 0.793 0.924 0 c -0.66 0.044 0.264 0.044 0 0 c -f -Q -q -1 0 0 1 151.67 619.888 cm -1 g -0 0 m -0 -1.497 -1.234 -1.894 -2.026 -1.894 c --2.598 -1.894 -3.347 -1.63 -3.831 -1.365 c --3.831 -0.881 -3.787 -0.705 -3.831 -0.22 c --3.567 -0.573 -2.687 -1.101 -2.07 -1.101 c --1.454 -1.101 -1.102 -0.749 -1.057 -0.176 c --1.012 0.616 -2.29 1.232 -2.862 1.628 c --3.347 2.026 -3.699 2.421 -3.699 3.082 c --3.699 3.963 -2.907 4.666 -1.805 4.666 c --1.102 4.666 -0.749 4.447 -0.133 4.139 c --0.353 3.831 -0.485 3.566 -0.617 3.258 c --0.837 3.566 -1.234 3.963 -1.805 3.963 c --2.378 3.963 -2.687 3.566 -2.687 3.126 c --2.687 2.73 -2.158 2.377 -1.278 1.805 c --0.529 1.32 0 0.924 0 0 c -f -Q -q -1 0 0 1 146.561 618.082 cm -1 g -0 0 m --0.439 0.044 -0.924 0.044 -1.364 0 c --1.585 0.396 -3.081 2.554 -3.301 2.73 c --3.389 3.347 l --2.509 3.303 -1.892 3.699 -1.892 4.624 c --1.892 5.372 -2.553 5.769 -3.257 5.769 c --3.478 5.769 -3.654 5.769 -3.83 5.769 c --3.873 4.359 -3.83 1.277 -3.742 0 c --4.138 0 -4.535 0.044 -4.93 0 c --4.798 1.057 -4.798 5.372 -4.93 6.472 c --3.83 6.384 -4.094 6.472 -3.125 6.472 c --2.201 6.472 -0.879 6.165 -0.879 4.756 c --0.879 3.611 -1.848 2.95 -2.333 2.95 c --2.245 2.907 -0.351 0.353 0 0 c -f -Q -q -1 0 0 1 132.78 618.875 cm -1 g -0 0 m --0.044 -0.265 -0.044 -0.572 -0.044 -0.837 c --0.836 -0.749 -2.686 -0.749 -3.434 -0.837 c --3.346 0 -3.346 4.799 -3.434 5.679 c --2.906 5.591 -0.66 5.591 -0.088 5.679 c --0.088 5.372 -0.088 5.107 -0.088 4.844 c --0.66 4.887 -1.717 4.976 -2.334 4.931 c --2.334 4.49 -2.378 3.698 -2.334 2.951 c --1.717 2.906 -0.836 2.906 -0.22 3.039 c --0.22 2.73 -0.22 2.465 -0.176 2.201 c --0.924 2.289 -1.629 2.289 -2.334 2.245 c --2.378 1.761 -2.378 0.352 -2.378 -0.088 c --1.761 -0.088 -0.66 -0.044 0 0 c -f -Q -q -1 0 0 1 159.551 621.385 cm -1 g -0 0 m -0 -1.85 -1.365 -3.435 -3.17 -3.435 c --5.108 -3.435 -6.384 -1.893 -6.384 0 c --6.384 1.629 -5.019 3.169 -3.214 3.169 c --1.365 3.169 0 1.629 0 0 c -h --1.1 -0.045 m --1.1 1.012 -1.761 2.466 -3.214 2.466 c --4.668 2.466 -5.284 1.012 -5.284 -0.045 c --5.284 -1.277 -4.623 -2.73 -3.17 -2.73 c --1.806 -2.73 -1.1 -1.277 -1.1 -0.045 c -f -Q -q -1 0 0 1 139.957 618.082 cm -1 g -0 0 m --0.308 0.044 -0.88 0 -1.232 0 c --1.321 0.396 -1.629 1.321 -1.805 1.85 c --2.641 1.893 -3.479 1.893 -4.227 1.85 c --4.359 1.365 -4.667 0.309 -4.756 0 c --4.975 0 -5.504 0 -5.767 0 c --5.415 0.661 -3.611 5.637 -3.435 6.429 c --3.038 6.384 -2.73 6.384 -2.377 6.429 c --2.157 5.548 -0.308 0.617 0 0 c -h --2.07 2.642 m --2.333 3.434 -2.817 4.756 -3.038 5.372 c --3.258 4.756 -3.654 3.479 -3.963 2.642 c --3.479 2.554 -2.509 2.598 -2.07 2.642 c -f -Q -q -1 0 0 1 127.452 622.794 cm -1 g -0 0 m -0 -1.497 -1.453 -2.246 -2.73 -2.202 c --2.773 -1.982 -2.773 -1.762 -2.818 -1.586 c --1.717 -1.541 -1.012 -1.057 -1.012 -0.088 c --1.012 0.66 -1.672 1.233 -2.509 1.233 c --2.554 1.233 -2.862 1.233 -3.258 1.233 c --3.258 -0.044 -3.258 -3.479 -3.17 -4.756 c --3.567 -4.668 -3.919 -4.668 -4.315 -4.756 c --4.359 -4.756 l --4.27 -4.095 -4.183 1.144 -4.359 1.893 c --3.214 1.805 -3.39 1.893 -2.421 1.893 c --1.408 1.893 0 1.497 0 0 c -f -Q -q -1 0 0 1 144.63 614.787 cm -1 g -0 0 m --9.104 0 -16.744 -1.396 -22.855 -2.803 c --22.855 -2.691 l --22.093 -2.376 -12.914 1.044 -0.001 1.048 c -12.911 1.044 22.09 -2.376 22.851 -2.691 c -22.851 -2.803 l -16.742 -1.396 9.101 0 -0.002 0 c -0 0 l -f -Q -q -1 0 0 1 55.08 74.52 cm -/GS2 gs -/Fm1 Do -Q - -endstream endobj 47792 0 obj <> endobj 47793 0 obj <>stream -q -/Fm0 Do -Q -0.879 g -/GS0 gs -q 1 0 0 1 138.56 273.946 cm -0 0 m --12 0 -12 -12 v --12 -101.75 l --12 -113.75 0 -113.75 v -335 -113.75 l -347 -113.75 347 -101.75 v -347 -12 l -347 0 335 0 v -0 0 l -f -Q -0.421 G -0.25 w 4 M -/GS1 gs -q 1 0 0 1 138.56 273.946 cm -0 0 m --12 0 -12 -12 v --12 -101.75 l --12 -113.75 0 -113.75 v -335 -113.75 l -347 -113.75 347 -101.75 v -347 -12 l -347 0 335 0 v -0 0 l -h -S -Q -BT -0 g -/GS2 gs -/T1_0 1 Tf -0.0101 Tc -0.0001 Tw 9.5 0 0 9.5 138.06 430.861 Tm -[(Reg)7(i)6(s)6(t)17(er the A)8(d)6(d)7(i)6(so)-6(n)-18(-)-4(W)18(e)-1(sle)14(y)65(, E)-26(x)8(a)-5(m)10( )]TJ -0.0093 Tc 0.0007 Tw 0 -1.474 TD -[(Cr)15(a)-6(m)2(, Pr)21(en)9(tice H)-9(a)2(l)9(l)12(, Q)-10(u)-3(e)13(,)-1( and)9( )]TJ -T* -[(S)-11(a)-6(ms pr)15(oduc)8(ts y)11(o)-5(u ow)-6(n t)12(o)-1( unlo)-6(ck)9( )]TJ -0.0091 Tc 0.0009 Tw T* -[(gr)21(ea)8(t be)-3(ne)-5(\336)248( )27(ts.)9( )]TJ -0.0093 Tc 0.0007 Tw 0 -2.421 TD -[(T)68(o)-1( beg)6(i)4(n the r)21(e)1(g)6(i)5(s)5(t)1(r)15(a)8(tio)-7(n)-1( pr)15(o)-7(c)-1(ess,)9( )]TJ -0.0074 Tc 0.0026 Tw 0 -1.474 TD -[(sim)-4(p)3(ly)-3( g)-6(o)-3( t)10(o)-3( )]TJ -/T1_1 1 Tf -0.0286 Tc 0 Tw 5.83 0 Td -[(info)-3(rmit)-23(.c)-4(o)-3(m)-66(/)-35(r)-10(e)-7(g)-2(is)-4(te)-8(r)]TJ -/T1_0 1 Tf -0 Tc 10.74 0 Td -( )Tj -0.0097 Tc 0.0003 Tw -16.57 -1.474 Td -[(t)13(o s)5(i)9(gn in or cr)21(ea)9(t)16(e an a)6(c)1(coun)9(t.)10( )]TJ -0.0102 Tc -0.0002 Tw T* -[(Y)72(o)-5(u wi)9(l)10(l then be pr)16(o)-10(m)-1(p)13(t)17(ed t)13(o en)10(t)17(er)10( )]TJ -0.01 Tc 0 Tw T* -[(the 1)26(0)-47(- or 1)37(3)-36(-)-23(d)7(i)9(g)7(it IS)-17(B)-13(N tha)9(t appears)10( )]TJ -0.0001 Tw T* -[(o)-6(n the b)6(a)6(ck co)10(v)16(e)-1(r o)7(f y)11(o)-5(ur pr)16(oduc)8(t.)]TJ -/TT0 1 Tf -0.014 Tc 0 Tw 24.5 0 0 24.5 169.56 118.203 Tm -[(in)-9(f)-7(o)1(r)-5(m)]TJ -0.501 g -/GS1 gs -0.0236 Tc 2.856 0 Td -(IT)Tj -0 g -/GS2 gs -0.0166 Tc 0.753 0 Td -[(.co)4(m)17( )]TJ -/T1_0 1 Tf -0.01 Tc 5.75 0 0 5.75 169.56 105.9909 Tm -[(T)-32(H)-34(E T)-32(R)-26(U)-28(S)-23(T)-32(E)-21(D T)-32(E)-13(C)-25(H)-35(N)-30(O)-31(L)5(O)-30(G)13(Y L)-29(E)-50(A)-32(R)-34(N)-23(I)-22(N)-33(G S)-25(O)-27(U)-32(R)-29(C)-24(E)]TJ -ET -0.501 G -1 w -/GS1 gs -q 1 0 0 1 315.893 132.904 cm -0 0 m -0 -27 l -S -Q -BT -/GS2 gs -/T1_0 1 Tf -0.0163 Tc 5.75 0 0 5.75 323.16 128.3239 Tm -[(Addis)-7(o)-11(n)-22(-)-11(W)11(e)-6(sle)9(y)]TJ -/T1_2 1 Tf -0.005 Tc 5.5 0 0 5.5 366.471 128.3239 Tm -( )Tj -0.383 g -/GS1 gs -/T1_3 1 Tf -0 Tc 5 0 0 5 368.968 128.574 Tm -(|)Tj -0 g -/GS2 gs -/T1_2 1 Tf -0.005 Tc 5.5 0 0 5.5 370.243 128.3239 Tm -( )Tj -/T1_0 1 Tf -0.0176 Tc -0.0126 Tw 5.75 0 0 5.75 372.74 128.3239 Tm -[(Cisc)-7(o)13( P)-6(r)17(e)-5(s)-6(s)]TJ -/T1_2 1 Tf -0.005 Tc 0 Tw 5.5 0 0 5.5 404.335 128.3239 Tm -( )Tj -0.383 g -/GS1 gs -/T1_3 1 Tf -0 Tc 5 0 0 5 406.832 128.574 Tm -(|)Tj -0 g -/GS2 gs -/T1_2 1 Tf -0.005 Tc 5.5 0 0 5.5 408.107 128.3239 Tm -( )Tj -/T1_0 1 Tf -0.0262 Tc -0.0212 Tw 5.75 0 0 5.75 410.604 128.3239 Tm -[(E)-20(x)12(am)21( C)8(r)20(am)]TJ -/T1_2 1 Tf --0.1689 Tc 0 Tw 5.5 0 0 5.5 441.478 128.3239 Tm -[( )5( )]TJ -/T1_0 1 Tf -0.0381 Tc -0.0191 Tw 5.75 0 0 5.75 323.16 119.8239 Tm -[(IB)-12(M)19( Pr)23(ess)]TJ -/T1_2 1 Tf -0.019 Tc 0 Tw 5.5 0 0 5.5 350.927 119.8239 Tm -( )Tj -0.383 g -/GS1 gs -/T1_3 1 Tf -0 Tc 5 0 0 5 354.903 120.0739 Tm -(|)Tj -0 g -/GS2 gs -/T1_2 1 Tf -0.019 Tc 5.5 0 0 5.5 356.248 119.8239 Tm -( )Tj -/T1_0 1 Tf -0.0445 Tc 5.75 0 0 5.75 360.224 119.8239 Tm -[(Qu)7(e)26( )]TJ -/T1_2 1 Tf -0.019 Tc 5.5 0 0 5.5 373.38 119.8239 Tm -( )Tj -0.383 g -/GS1 gs -/T1_3 1 Tf -0 Tc 5 0 0 5 376.031 120.0739 Tm -(|)Tj -0 g -/GS2 gs -/T1_2 1 Tf -0.019 Tc 5.5 0 0 5.5 377.376 119.8239 Tm -( )Tj -/T1_0 1 Tf -0.0366 Tc -0.0176 Tw 5.75 0 0 5.75 381.352 119.8239 Tm -[(Pr)22(en)11(t)6(i)6(ce)18( H)-7(a)4(l)10(l)]TJ -/T1_2 1 Tf -0.019 Tc 0 Tw 5.5 0 0 5.5 416.076 119.8239 Tm -( )Tj -0.383 g -/GS1 gs -/T1_3 1 Tf -0 Tc 5 0 0 5 420.052 120.0739 Tm -(|)Tj -0 g -/GS2 gs -/T1_2 1 Tf -0.019 Tc 5.5 0 0 5.5 421.397 119.8239 Tm -( )Tj -/T1_0 1 Tf -0.0461 Tc 5.75 0 0 5.75 425.373 119.8239 Tm -[(Sa)6(m)8(s)46( )]TJ -0.015 Tc -17.776 -2.406 Td -[(S)-27(A)-35(F)14(A)-32(R)-22(I B)-22(O)-28(O)-29(K)-11(S O)-32(N)-34(L)-18(I)-22(N)-34(E)]TJ -/T1_1 1 Tf -0.0239 Tc 0.0011 Tw 12 0 0 12 138.06 253.726 Tm -[(About Inf)8(o)2(r)6(m)-5(IT )]TJ -0.0106 Tc -0.0007 Tw 9 0 0 9 231.561 253.726 Tm -[(\227 T)-14(H)-14(E T)-11(R)-7(U)-12(S)-12(T)-11(E)-10(D T)-11(E)-1(C)-13(H)-17(N)-15(O)-11(LO)-12(G)28(Y)1( LE)-22(A)-8(R)-14(N)-21(I)-19(N)-15(G)1( S)-10(O)-10(U)-12(R)-6(C)-10(E)]TJ -/T1_0 1 Tf -0.0154 Tc -0.0004 Tw -10.389 -2 Td -[(I)-6(N)-22(F)-12(O)-17(R)-20(M)-9(IT I)-6(S H)-16(O)-18(M)-20(E T)18(O T)-17(H)-19(E L)-14(E)-37(A)-17(D)-6(I)-6(N)-18(G T)-17(E)3(C)-10(H)-20(N)-16(O)-16(L)22(O)-15(G)30(Y P)-8(U)-16(B)-14(L)-3(I)-6(S)-19(H)-7(I)-6(N)-18(G I)-7(M)-22(P)-9(R)-7(I)-6(N)-18(T)-12(S)15( )]TJ -0.0113 Tc -0.0013 Tw 8 0 0 8 138.06 223.726 Tm -[(Addis)-7(o)-12(n)-23(-)-11(W)12(e)-7(sle)8(y)1( P)-7(r)10(of)13(e)-7(s)-8(si)-5(o)-12(nal)7(, Cisc)-9(o P)-7(r)15(e)-7(s)-8(s, E)-31(x)2(a)-11(m)1( Cr)10(a)-11(m)-3(, I)-10(B)-20(M P)-7(r)15(e)-7(s)-8(s, P)-7(r)15(e)-7(n)4(tic)-6(e)1( H)-14(a)-3(ll)11( )]TJ -0.0107 Tc -0.0007 Tw 0 -1.5 TD -[(P)-8(r)9(of)13(e)-7(s)-8(si)-5(o)-12(nal)6(, Q)-15(u)-8(e)7(,)1( a)-8(n)-2(d S)-17(a)-11(m)-10(s)-3(. H)-18(e)-6(r)15(e)1( yo)-11(u w)-8(i)3(ll gain ac)-5(c)-6(e)-7(s)-8(s)1( t)7(o)1( qu)-5(alit)-29(y a)-8(n)-2(d tr)-5(u)-6(st)10(e)-5(d c)-9(o)-12(nt)10(e)-8(n)3(t a)-8(n)-2(d)11( )]TJ -0.0105 Tc -0.0005 Tw T* -[(r)15(e)-7(s)-8(o)-11(u)-5(r)15(c)-6(e)-7(s f)-6(r)9(o)-16(m)1( t)-6(h)-7(e au)-8(t)-6(h)-10(o)-11(r)-3(s, cr)15(e)-7(a)3(t)7(o)-11(rs, in)-6(n)-10(o)4(v)9(a)3(t)7(o)-11(rs, a)-8(n)-2(d le)-7(ad)-6(e)-7(r)-3(s of t)10(e)-9(ch)-6(n)-10(o)-9(l)-8(o)-10(g)-6(y)49(. W)-20(h)-7(et)-6(h)-7(e)-7(r yo)-11(u\325)17(r)15(e)11( )]TJ -0.011 Tc -0.001 Tw T* -[(l)-7(o)-16(o)-14(k)-7(ing f)7(o)-10(r a b)-9(o)-16(o)-14(k)1( o)-12(n)1( a n)-7(e)2(w t)10(e)-9(ch)-6(n)-10(o)-9(l)-7(o)-9(g)-6(y)57(, a h)-7(e)-4(lp)7(f)-7(u)-2(l a)-6(r)-29(ticle)8(,)1( ti)-5(m)-11(e)-4(ly n)-7(e)2(wslet)-28(t)10(e)-6(r)-2(s, o)-10(r)1( ac)-5(c)-6(e)-7(s)-8(s)1( t)7(o)11( )]TJ -0.0104 Tc -0.0004 Tw T* -[(t)-6(h)-7(e S)-17(a)2(f)7(a)-6(ri B)-18(o)-16(o)-14(k)4(s O)-18(n)-2(lin)-7(e digit)-9(a)-4(l libr)9(a)-6(r)-30(y)57(, Inf)7(o)-11(r)-9(m)-7(I)-9(T has a s)-8(o)-9(lu)-8(ti)-6(o)-12(n f)7(o)-11(r yo)-11(u.)]TJ -0.0076 Tc 0.0016 Tw 9.5 0 0 9.5 314.06 430.861 Tm -[(R)-7(e)-1(gist)14(e)-3(r)3(ing y)9(o)-7(ur pr)13(o)-6(d)1(u)-4(c)6(ts c)-3(a)-4(n u)-3(n)2(l)-4(o)-8(ck)8( )]TJ -0.0071 Tc 0.0029 Tw 0 -1.474 TD -[(th)-4(e f)10(o)-6(ll)-4(ow)-4(ing be)-5(n)-4(e)-7(\336)246( )27(ts)-24(:)]TJ -0.01 Tc 0.4652 Tw 0.632 -1.474 Td -(\245 )Tj -0.0004 Tc 0.0096 Tw 1.263 0 Td -[(Ac)-9(c)-10(e)-11(s)-12(s)-10( to)-10( s)-7(u)-7(p)-5(p)-4(l)-8(e)-15(m)-15(e)-12(nt)-12(a)-7(l)-10( c)-13(o)-16(nt)7(e)-12(nt)-6(, )]TJ -0.0072 Tc 0.0028 Tw T* -[(including b)-6(o)-9(nu)-3(s chap)10(t)14(e)-3(rs,)7( )]TJ -0.0104 Tc -0.0004 Tw T* -[(sour)22(ce code)14(, or pr)16(o)7(j)1(ec)9(t \336)253( )30(les.)10( )]TJ -0.01 Tc 0.4652 Tw -1.263 -1.474 Td -(\245 )Tj -0.0103 Tc -0.0003 Tw 1.263 0 Td -[(A coupo)-6(n t)13(o be used o)-6(n y)12(o)-4(ur)10( )]TJ -0.0088 Tc 0.0012 Tw T* -[(ne)21(x)-26(t)-1( pur)21(c)2(hase)13(.)]TJ --0.0002 Tc 0.0002 Tw -1.895 -2.421 Td -[(Reg)6(i)6(s)6(t)2(r)15(a)9(tio)-6(n bene\336)244( )22(ts v)16(ar)-25(y b)19(y pr)16(oduc)8(t. )110( )]TJ -0.0004 Tc -0.0004 Tw T* -[(B)-7(e)-2(ne\336)245( )22(ts wi)9(l)10(l be l)10(i)6(s)7(t)17(ed o)-6(n y)12(o)-4(ur A)6(c)1(coun)10(t )]TJ --0.0001 Tc 0.0001 Tw T* -[(p)6(a)11(ge under Reg)7(i)6(s)6(t)16(er)21(ed Pr)16(oduc)8(ts.)]TJ -ET -q -126.06 484.74 360 -28.64 re -W n -q -/GS1 gs -362.496 0 0 28.686 124.167 456.072 cm -/Im0 Do -Q -Q -BT -1 g -/GS1 gs -/T1_0 1 Tf -0.0075 Tc 0 Tw 14 0 0 14 138.06 463.535 Tm -[(inf)8(o)-11(r)-9(m)-6(it.)15(c)-10(o)-17(m)-62(/)-38(r)16(e)-5(g)1(ist)11(e)-7(r)]TJ -ET -q -126.06 687.24 360 -204 re -W n -q -361.836 0 0 205.776 125.037 482.592 cm -/Im1 Do -Q -Q -BT -/T1_0 1 Tf -0.0091 Tc 0.0009 Tw 24 0 0 24 138.06 500.122 Tm -[(TH)10(I)11(S)-1( P)8(R)7(ODUC)18(T)]TJ -ET -q 1 0 0 1 159.249 669.953 cm -0 0 m --7.899 0 l --3.986 6.868 l -0 0 l -f -Q -q 1 0 0 1 154.318 668.527 cm -0 0 m --3.947 -6.842 l --7.941 -0.021 l -0 0 l -f -Q -q 1 0 0 1 163.828 668.527 cm -0 0 m --3.946 -6.842 l --7.941 -0.021 l -0 0 l -f -Q -q 1 0 0 1 142.411 652.637 cm -0 0 m --2.276 0 l --1.128 2.664 l -0 0 l -h -0.129 -0.359 m -0.488 -1.188 l -0.568 -1.387 0.728 -1.726 0.728 -1.946 c -0.728 -2.295 0.478 -2.375 0.049 -2.395 c -0.049 -2.574 l -2.654 -2.574 l -2.654 -2.395 l -1.915 -2.365 1.726 -1.806 1.476 -1.208 c --0.769 4.181 l --0.949 4.181 l --3.323 -1.387 l --3.623 -2.085 -3.832 -2.345 -4.351 -2.395 c --4.351 -2.574 l --2.276 -2.574 l --2.276 -2.395 l --2.645 -2.365 -3.044 -2.325 -3.044 -1.956 c --3.044 -1.766 -2.904 -1.457 -2.824 -1.287 c --2.425 -0.359 l -0.129 -0.359 l -f -Q -q 1 0 0 1 148.636 650.911 cm -0 0 m --0.229 -0.25 -0.508 -0.449 -0.858 -0.449 c --1.616 -0.449 -2.225 0.349 -2.225 1.566 c --2.225 3.123 -1.396 3.452 -1.037 3.452 c --0.359 3.452 0 2.773 0 2.175 c -0 0 l -h -0 3.372 m --0.259 3.642 -0.628 3.751 -0.987 3.751 c --2.284 3.751 -3.133 2.404 -3.133 1.217 c --3.133 0.169 -2.494 -0.988 -1.327 -0.988 c --0.768 -0.988 -0.379 -0.739 0 -0.349 c -0 -0.988 l -0.22 -0.988 l -1.567 -0.439 l -1.497 -0.27 l -1.398 -0.31 1.268 -0.349 1.158 -0.349 c -1.018 -0.349 0.809 -0.349 0.809 0.329 c -0.809 6.076 l -0.589 6.076 l --0.758 5.527 l --0.688 5.358 l --0.588 5.398 -0.458 5.438 -0.349 5.438 c --0.209 5.438 0 5.438 0 4.759 c -0 3.372 l -f -Q -q 1 0 0 1 153.625 650.911 cm -0 0 m --0.229 -0.25 -0.508 -0.449 -0.858 -0.449 c --1.616 -0.449 -2.225 0.349 -2.225 1.566 c --2.225 3.123 -1.397 3.452 -1.037 3.452 c --0.359 3.452 0 2.773 0 2.175 c -0 0 l -h -0 3.372 m --0.259 3.642 -0.628 3.751 -0.987 3.751 c --2.284 3.751 -3.133 2.404 -3.133 1.217 c --3.133 0.169 -2.494 -0.988 -1.327 -0.988 c --0.768 -0.988 -0.379 -0.739 0 -0.349 c -0 -0.988 l -0.22 -0.988 l -1.567 -0.439 l -1.497 -0.27 l -1.397 -0.31 1.268 -0.349 1.158 -0.349 c -1.018 -0.349 0.809 -0.349 0.809 0.329 c -0.809 6.076 l -0.589 6.076 l --0.758 5.527 l --0.688 5.358 l --0.588 5.398 -0.458 5.438 -0.349 5.438 c --0.209 5.438 0 5.438 0 4.759 c -0 3.372 l -f -Q -q 1 0 0 1 156.978 650.911 cm -0 0 m -0 -0.589 0.23 -0.659 0.688 -0.669 c -0.688 -0.848 l --1.497 -0.848 l --1.497 -0.669 l --1.038 -0.659 -0.808 -0.589 -0.808 0 c --0.808 2.434 l --0.808 3.113 -1.018 3.113 -1.157 3.113 c --1.267 3.113 -1.397 3.073 -1.497 3.033 c --1.567 3.202 l --0.22 3.751 l -0 3.751 l -0 0 l -h --0.409 6.076 m --0.14 6.076 0.08 5.857 0.08 5.587 c -0.08 5.318 -0.14 5.098 -0.409 5.098 c --0.678 5.098 -0.898 5.318 -0.898 5.587 c --0.898 5.857 -0.678 6.076 -0.409 6.076 c -f -Q -q 1 0 0 1 161.139 653.136 cm -0 0 m --0.18 0 l --0.33 0.668 -0.599 1.227 -1.377 1.227 c --1.736 1.227 -2.135 1.027 -2.135 0.619 c --2.135 -0.469 0.329 -0.33 0.329 -1.876 c -0.329 -2.694 -0.439 -3.213 -1.198 -3.213 c --1.487 -3.213 -1.806 -3.143 -2.095 -3.064 c --2.155 -3.044 -2.275 -3.014 -2.345 -3.014 c --2.435 -3.014 -2.505 -3.064 -2.525 -3.143 c --2.704 -3.143 l --2.704 -1.547 l --2.525 -1.547 l --2.435 -2.245 -1.906 -2.914 -1.158 -2.914 c --0.748 -2.914 -0.389 -2.674 -0.389 -2.235 c --0.389 -1.068 -2.714 -1.227 -2.714 0.189 c --2.714 1.007 -2.125 1.526 -1.327 1.526 c --1.118 1.526 -0.958 1.477 -0.758 1.417 c --0.639 1.387 -0.509 1.337 -0.389 1.337 c --0.259 1.337 -0.22 1.417 -0.18 1.526 c -0 1.526 l -0 0 l -f -Q -q 1 0 0 1 164.132 654.323 cm -0 0 m -1.108 0 1.407 -1.477 1.407 -2.345 c -1.407 -3.043 1.237 -4.061 0.329 -4.061 c --0.778 -4.061 -1.087 -2.504 -1.087 -1.646 c --1.087 -0.369 -0.489 0 0 0 c -h -0.17 0.339 m --1.137 0.339 -1.996 -0.848 -1.996 -2.075 c --1.996 -3.273 -1.167 -4.4 0.1 -4.4 c -1.676 -4.4 2.315 -2.953 2.315 -1.926 c -2.315 -0.708 1.417 0.339 0.17 0.339 c -f -Q -q 1 0 0 1 168.403 653.725 cm -0 0 m -0.558 0.618 0.948 0.937 1.516 0.937 c -2.325 0.937 2.644 0.179 2.644 -0.569 c -2.644 -2.814 l -2.644 -3.403 2.873 -3.473 3.332 -3.483 c -3.332 -3.662 l -1.147 -3.662 l -1.147 -3.483 l -1.606 -3.473 1.836 -3.403 1.836 -2.814 c -1.836 -0.749 l -1.836 0.239 1.427 0.339 1.127 0.339 c -0.668 0.339 0.329 0.039 0 -0.3 c -0 -2.814 l -0 -3.403 0.229 -3.473 0.688 -3.483 c -0.688 -3.662 l --1.497 -3.662 l --1.497 -3.483 l --1.038 -3.473 -0.808 -3.403 -0.808 -2.814 c --0.808 -0.38 l --0.808 0.299 -1.018 0.299 -1.158 0.299 c --1.268 0.299 -1.397 0.259 -1.497 0.219 c --1.567 0.388 l --0.22 0.937 l -0 0.937 l -0 0 l -f -Q -q 1 0 0 1 148.211 644.404 cm -0 0 m -0.08 0.23 0.24 0.669 0.24 0.898 c -0.24 1.277 -0.04 1.367 -0.488 1.367 c --0.488 1.547 l -1.487 1.547 l -1.487 1.367 l -0.829 1.367 0.689 0.818 0.509 0.29 c --1.387 -5.208 l --1.576 -5.208 l --3.073 -1.017 l --3.093 -1.017 l --4.56 -5.208 l --4.759 -5.208 l --6.794 0.489 l --7.014 1.118 -7.114 1.367 -7.712 1.367 c --7.712 1.547 l --5.268 1.547 l --5.268 1.367 l --5.627 1.367 -5.916 1.287 -5.916 0.948 c --5.916 0.789 -5.817 0.529 -5.767 0.379 c --4.42 -3.462 l --4.4 -3.462 l --3.302 -0.379 l --3.572 0.359 l --3.781 0.918 -3.931 1.367 -4.59 1.367 c --4.59 1.547 l --2.005 1.547 l --2.005 1.367 l --2.424 1.367 -2.714 1.337 -2.714 0.918 c --2.714 0.629 -2.554 0.22 -2.454 -0.05 c --1.237 -3.462 l --1.217 -3.462 l -0 0 l -f -Q -q 1 0 0 1 150.029 642.419 cm -0 0 m -0.04 0.578 0.459 1.167 1.048 1.167 c -1.756 1.167 2.065 0.618 2.065 0 c -0 0 l -h -3.083 -0.3 m -3.083 0.778 2.405 1.526 1.377 1.526 c --0.04 1.526 -0.689 0.369 -0.689 -0.918 c --0.689 -2.285 0.17 -3.213 1.257 -3.213 c -2.265 -3.213 2.913 -2.365 3.083 -1.447 c -2.933 -1.347 l -2.704 -1.996 2.315 -2.415 1.596 -2.415 c -0.509 -2.415 -0.01 -1.297 -0.01 -0.3 c -3.083 -0.3 l -f -Q -q 1 0 0 1 156.654 642.419 cm -0 0 m --0.18 0 l --0.329 0.668 -0.598 1.227 -1.377 1.227 c --1.736 1.227 -2.135 1.027 -2.135 0.618 c --2.135 -0.469 0.329 -0.33 0.329 -1.876 c -0.329 -2.694 -0.439 -3.213 -1.197 -3.213 c --1.487 -3.213 -1.806 -3.143 -2.095 -3.064 c --2.155 -3.044 -2.275 -3.014 -2.345 -3.014 c --2.434 -3.014 -2.504 -3.064 -2.524 -3.143 c --2.704 -3.143 l --2.704 -1.547 l --2.524 -1.547 l --2.434 -2.245 -1.906 -2.914 -1.157 -2.914 c --0.748 -2.914 -0.389 -2.674 -0.389 -2.235 c --0.389 -1.068 -2.714 -1.228 -2.714 0.189 c --2.714 1.007 -2.125 1.526 -1.327 1.526 c --1.117 1.526 -0.958 1.476 -0.758 1.417 c --0.639 1.387 -0.509 1.337 -0.389 1.337 c --0.259 1.337 -0.219 1.417 -0.18 1.526 c -0 1.526 l -0 0 l -f -Q -q 1 0 0 1 159.149 640.194 cm -0 0 m -0 -0.589 0.229 -0.659 0.688 -0.669 c -0.688 -0.848 l --1.497 -0.848 l --1.497 -0.669 l --1.038 -0.659 -0.809 -0.589 -0.809 0 c --0.809 4.759 l --0.809 5.437 -1.018 5.437 -1.158 5.437 c --1.268 5.437 -1.397 5.398 -1.497 5.358 c --1.567 5.527 l --0.22 6.076 l -0 6.076 l -0 0 l -f -Q -q 1 0 0 1 161.114 642.419 cm -0 0 m -0.04 0.578 0.459 1.167 1.048 1.167 c -1.756 1.167 2.066 0.618 2.066 0 c -0 0 l -h -3.083 -0.3 m -3.083 0.778 2.405 1.526 1.377 1.526 c --0.04 1.526 -0.688 0.369 -0.688 -0.918 c --0.688 -2.285 0.17 -3.213 1.257 -3.213 c -2.265 -3.213 2.914 -2.365 3.083 -1.447 c -2.934 -1.347 l -2.704 -1.996 2.315 -2.415 1.597 -2.415 c -0.509 -2.415 -0.01 -1.297 -0.01 -0.3 c -3.083 -0.3 l -f -Q -q 1 0 0 1 165.266 642.778 cm -0 0 m --0.17 0.369 -0.399 0.798 -0.838 0.848 c --0.838 1.028 l -1.237 1.028 l -1.237 0.848 l -0.928 0.848 0.698 0.808 0.698 0.489 c -0.698 0.319 0.838 0.04 0.908 -0.12 c -1.946 -2.255 l -2.893 0.09 l -2.963 0.269 3.023 0.409 3.023 0.599 c -3.023 0.828 2.844 0.848 2.574 0.848 c -2.574 1.028 l -4.031 1.028 l -4.031 0.848 l -3.712 0.848 3.542 0.599 3.432 0.329 c -1.526 -4.34 l -1.137 -5.298 0.409 -5.588 0.06 -5.588 c --0.269 -5.588 -0.609 -5.388 -0.609 -5.029 c --0.609 -4.73 -0.369 -4.59 -0.1 -4.59 c -0.229 -4.59 0.389 -4.77 0.559 -4.77 c -0.958 -4.77 1.167 -4.211 1.287 -3.921 c -1.556 -3.253 l -0 0 l -f -Q -q -1 0 0 1 55.08 74.52 cm -0 g -0 G -10 M -/GS3 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47794 0 obj <> endobj 47795 0 obj <>stream -q -/Fm0 Do -Q -BT -/CS0 cs 0 0 0 scn -/GS0 gs -/TT0 1 Tf -0.0002 Tc -0.0002 Tw 12 0 0 12 218.4731 545.9739 Tm -(This page intentionally left blank )Tj -ET -q -1 0 0 1 47.58 40.02 cm -0 g -/GS1 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47796 0 obj <> endobj 47797 0 obj <>stream -q -/Fm0 Do -Q -BT -/CS0 cs 0 0 0 scn -/GS0 gs -/TT0 1 Tf -0.0002 Tc -0.0002 Tw 12 0 0 12 218.4731 545.9739 Tm -(This page intentionally left blank )Tj -ET -q -1 0 0 1 47.58 40.02 cm -0 g -/GS1 gs -0 Tc 0 Tw /Fm1 Do -Q - -endstream endobj 47798 0 obj <> endobj 47799 0 obj <>stream -q -/Fm0 Do -Q -BT -/Span <>BDC -0 0 0 1 k -/GS0 gs -/T1_0 1 Tf -0.102 Tw 9 0 0 9 105 613.1051 Tm -[(M)-4(a)-25(n)22(y o)8(f t)-25(h)1(e d)9(e)-13(s)2(i)8(g)-33(n)-14(a)19(t)-27(i)10(o)-3(n)-23(s u)-18(s)-13(e)-10(d b)11(y m)-13(a)-25(n)16(u)-21(fa)8(c)-14(t)-30(u)-22(r)-7(e)-3(r)-11(s a)-25(n)6(d s)-13(e)-3(l)-22(l)5(e)-3(r)-11(s t)1(o d)-17(i)-17(s)3(t)-27(i)-29(n)2(g)-28(u)-22(i)-17(s)-1(h t)-25(h)1(e)-3(i)-21(r p)10(r)-3(o)-10(d)21(u)4(c)-14(t)-16(s a)-18(r)-7(e )]TJ -EMC -/Span <>BDC -0.121 Tw 0 -1.111 TD -[(c)-15(l)-8(a)-18(i)-24(m)2(e)-10(d a)-14(s t)-27(r)4(a)9(d)9(e)-6(m)-13(a)-18(r)18(k)-24(s)8(. W)-27(h)1(e)-3(r)-7(e t)-25(h)4(o)-13(s)-13(e d)9(e)-13(s)2(i)8(g)-33(n)-14(a)19(t)-27(i)10(o)-3(n)-23(s a)15(p)4(p)-7(e)-6(a)-18(r i)-29(n t)-25(h)-28(i)-17(s b)-5(o)-12(o)10(k)8(, a)-25(n)6(d t)-25(h)1(e p)7(u)-4(b)19(l)-22(i)-17(s)-1(h)1(e)-3(r w)11(a)-14(s )]TJ -EMC -/Span <>BDC --0.031 Tw T* -[(a)21(w)11(a)-18(r)-7(e o)8(f a t)-27(r)4(a)9(d)9(e)-6(m)-13(a)-18(r)18(k c)-15(l)-8(a)-18(i)-24(m)6(, t)-25(h)1(e d)9(e)-13(s)2(i)8(g)-33(n)-14(a)19(t)-27(i)10(o)-3(n)-23(s h)-14(a)21(v)22(e b)-8(e)-14(e)-10(n p)10(r)-20(i)-29(n)14(t)-4(e)-10(d w)-20(i)18(t)-25(h i)-29(n)-28(i)18(t)-27(i)-8(a)-18(l c)-8(a)15(p)10(i)18(t)-16(a)-18(l l)4(e)-9(t)-26(t)-4(e)-3(r)-11(s o)4(r i)-29(n a)-18(l)-22(l )]TJ -EMC -/Span <>BDC -0 Tw 43 0 Td -( )Tj -EMC -/Span <>BDC --0.018 Tc 0.018 Tw -43 -1.111 Td -[(c)-26(a)-3(p)-8(it)-34(a)-36(l)-35(s)-10(.)]TJ -EMC -/Span <>BDC -0 Tc -0.033 Tw 0 -1.667 TD -[(T)-25(h)1(e a)20(u)16(t)-25(h)4(o)4(r)-11(s a)-25(n)6(d p)7(u)-4(b)19(l)-22(i)-17(s)-1(h)1(e)-3(r h)-14(a)21(v)22(e t)-16(a)-18(k)-4(e)-10(n c)-8(a)-18(r)-7(e i)-29(n t)-25(h)1(e p)10(r)-7(e)-9(p)8(a)-18(r)4(a)19(t)-27(i)10(o)-3(n o)8(f t)-25(h)-28(i)-17(s b)-5(o)-12(o)10(k)8(, b)3(u)16(t m)-13(a)-18(k)-4(e n)4(o e)-4(x)-19(p)10(r)-7(e)-13(s)-12(s)-13(e)-10(d )]TJ -EMC -ET -/Span <>BDC -BT -/T1_0 1 Tf --0.047 Tw 9 0 0 9 105 558.1051 Tm -[(o)4(r i)-24(m)6(p)20(l)-22(i)4(e)-10(d w)11(a)-18(r)-20(r)4(a)-25(n)14(t)-32(y o)8(f a)-25(n)22(y k)-29(i)-29(n)6(d a)-25(n)6(d a)-14(s)-12(su)-24(m)2(e n)4(o r)-7(e)-13(s)-4(p)-4(o)-3(n)-23(s)2(i)-4(b)5(i)-22(l)-22(i)18(t)-32(y f)3(o)4(r e)-3(r)-20(r)-3(o)4(r)-11(s o)4(r o)1(m)-27(i)-17(s)-12(s)2(i)10(o)-3(n)-23(s)8(. N)14(o )]TJ -ET -BT -/Span <>BDC -/T1_0 1 Tf -9 0 0 9 460.7254 558.1051 Tm -( )Tj -EMC -ET -BT -/T1_0 1 Tf -9 0 0 9 460.752 558.1051 Tm -[(l)-22(i)]TJ -9 0 0 9 105 558.1051 Tm -40.14 0 Td -[(a)-1(b)5(i)-21(l)-22(i)18(t)-32(y )]TJ -ET -EMC -BT -/Span <>BDC -/T1_0 1 Tf --0.039 Tw 9 0 0 9 105 548.1051 Tm -[(i)-17(s )1(a)-14(s)-12(su)-24(m)2(e)-10(d )1(f)3(o)4(r )1(i)-29(n)1(c)-16(i)12(d)9(e)-11(n)14(t)-16(a)-18(l )1(o)4(r )1(co)-3(n)-23(s)-13(e)-9(q)-3(u)4(e)-11(n)14(t)-27(i)-8(a)-18(l )1(d)-4(a)-21(m)-13(a)11(g)4(e)-13(s )1(i)-29(n )1(co)-3(n)-35(n)1(e)-14(c)-14(t)-27(i)10(o)-3(n )1(w)-20(i)18(t)-25(h )1(o)4(r )1(a)-18(r)-20(i)-17(s)2(i)-29(n)2(g )1(o)6(u)16(t )1(o)8(f )1(t)-25(h)1(e )1(u)-18(s)-13(e )1(o)8(f )]TJ -EMC -/Span <>BDC -0 Tw 43 0 Td -( )Tj -EMC -/Span <>BDC -0.025 Tw -43 -1.111 Td -[(t)-25(h)1(e i)-29(n)-27(f)3(o)4(r)-23(m)-13(a)19(t)-27(i)10(o)-3(n o)4(r p)10(r)-3(o)-1(g)-25(r)4(a)-21(m)-22(s co)-3(n)14(t)-16(a)-18(i)-29(n)1(e)-10(d h)1(e)-3(r)-7(e)-3(i)-29(n)1(.)]TJ -EMC -ET -/Span <>BDC -BT -/T1_0 1 Tf --0.057 Tw 9 0 0 9 105 523.1051 Tm -[(T)-25(h)1(e p)7(u)-4(b)19(l)-22(i)-17(s)-1(h)1(e)-3(r o)8(f)-17(f)-2(e)-3(r)-11(s e)-4(x)12(c)-4(e)-3(l)-21(l)4(e)-11(n)14(t d)-17(i)-17(s)-13(co)6(u)-29(n)14(t)-16(s o)-3(n t)-25(h)-28(i)-17(s b)-5(o)-11(o)10(k w)11(h)1(e)-11(n o)4(rd)9(e)-3(r)-7(e)-10(d i)-29(n q)-3(u)-8(a)-25(n)14(t)-27(i)18(t)-32(y f)3(o)4(r b)3(u)-22(l)-22(k )]TJ -ET -BT -/Span <>BDC -/T1_0 1 Tf -9 0 0 9 451.0221 523.1051 Tm -( )Tj -EMC -ET -BT -/T1_0 1 Tf -9 0 0 9 451.095 523.1051 Tm -[(p)7(u)]TJ -9 0 0 9 105 523.1051 Tm -39.674 0 Td -[(r)-3(c)-22(h)-14(a)-14(s)-13(e)-13(s )]TJ -ET -EMC -BT -/Span <>BDC -/T1_0 1 Tf -0.274 Tw 9 0 0 9 105 513.1051 Tm -[(o)4(r )1(s)-4(p)-7(e)-14(c)-16(i)-8(a)-18(l s)-11(a)-18(l)5(e)-13(s)21(, )1(w)11(h)-28(i)7(c)-22(h )1(m)-13(a)24(y )1(i)-29(n)1(c)-15(l)17(u)8(d)9(e e)-3(l)4(e)-14(c)-14(t)-27(r)-3(o)-3(n)-28(i)7(c )1(v)22(e)-3(r)-11(s)2(i)10(o)-3(n)-23(s )1(a)-25(n)6(d)41(/)67(o)4(r )1(c)-18(u)-18(s)3(t)1(o)1(m )1(co)13(v)22(e)-3(r)-11(s a)-25(n)6(d co)-3(n)14(t)-4(e)-11(n)14(t )]TJ -EMC -ET -/Span <>BDC -BT -/Span <>BDC -/T1_0 1 Tf -0.113 Tw 9 0 0 9 105 503.1051 Tm -( )Tj -EMC -ET -BT -/T1_0 1 Tf -9 0 0 9 105 503.1051 Tm -[(p)8(a)-18(r)-20(t)-27(i)7(c)-18(u)-22(l)-8(a)-18(r t)1(o y)19(o)7(u)-22(r b)3(u)-18(s)2(i)-29(n)1(e)-13(s)-12(s)21(, t)-27(r)4(a)-18(i)-29(n)-28(i)-29(n)2(g g)8(o)-5(a)-18(l)-17(s)21(, m)-13(a)-18(r)18(k)-4(e)-9(t)-27(i)-29(n)2(g f)3(o)-14(c)-18(u)-18(s)21(, a)-25(n)6(d b)5(r)4(a)-25(n)6(d)-17(i)-29(n)2(g i)-29(n)14(t)-4(e)-3(r)-7(e)-13(s)3(t)-16(s)8(. F)15(o)4(r m)8(o)4(r)-7(e )]TJ -ET -EMC -BT -/Span <>BDC -/T1_0 1 Tf -0 Tw 9 0 0 9 492 503.1051 Tm -( )Tj -EMC -/Span <>BDC -0.025 Tw -43 -1.111 Td -[(i)-29(n)-27(f)3(o)4(r)-22(m)-13(a)19(t)-27(i)10(o)-3(n)6(, p)20(l)4(e)-6(a)-14(s)-13(e co)-3(n)14(t)-16(a)8(c)-14(t)-22(:)]TJ -EMC -/Span <>BDC --0.004 Tc 0.029 Tw 2 -1.667 Td -[(U)44(.)-15(S)8(.)-4( C)5(or)-30(p)-8(ora)15(t)-8(e)-4( a)-29(n)2(d)-4( G)-9(o)9(v)18(e)-7(r)-32(n)-34(m)-2(e)-15(n)10(t)-4( S)-11(a)-22(le)-17(s)]TJ -EMC -/Span <>BDC -0 Tc 0 Tw 16.939 0 Td -( )Tj -EMC -/Span <>BDC --0.038 Tc 0.063 Tw -16.939 -1.111 Td -[(\()-47(8)-45(0)-56(0)-53(\))-38( 3)-36(8)-23(2)-3(-)-40(3)-50(4)-10(19)]TJ -EMC -/Span <>BDC -0 Tc 0 Tw 6.218 0 Td -( )Tj -EMC -/Span <>BDC -0.003 Tc -0.003 Tw -6.218 -1.111 Td -[(c)3(o)7(r)-23(ps)-8(a)-15(l)7(e)-10(s)-46(@)-46(p)-4(e)-3(a)-15(r)-8(s)-7(on)17(t)-1(e)-11(c)-19(h)5(g)-22(ro)9(u)13(p)44(.)16(c)3(o)4(m)]TJ -EMC -/Span <>BDC -0 Tc 0.025 Tw -2 -1.667 Td -[(F)15(o)4(r s)-11(a)-18(l)4(e)-13(s o)6(u)16(t)-16(s)2(i)12(d)9(e t)-25(h)1(e U)21(n)-28(i)18(t)-4(e)-10(d S)5(t)-16(a)19(t)-4(e)-13(s)21(, p)20(l)4(e)-6(a)-14(s)-13(e co)-3(n)14(t)-16(a)8(c)-14(t)-22(:)]TJ -EMC -/Span <>BDC -0.004 Tc 0.021 Tw 2 -1.667 Td -[(I)-18(n)18(te)1(r)-24(n)-10(a)23(t)-23(i)14(o)1(n)-10(a)-14(l)4( S)-3(a)-14(l)8(e)-9(s)]TJ -EMC -/Span <>BDC -0 Tc 0 Tw 8.357 0 Td -( )Tj -EMC -/Span <>BDC --0.013 Tc 0.013 Tw -8.357 -1.111 Td -[(i)-42(n)1(t)-17(e)-16(r)-41(n)-27(a)6(t)-40(i)-3(o)-16(n)-27(a)-31(l)-45(@)-62(p)-20(e)-19(a)-31(r)-24(s)-23(o)-16(n)-12(e)-23(d)-2(.c)-13(o)-12(m)]TJ -EMC -/Span <>BDC -0 Tc 0.025 Tw -2 -1.667 Td -[(V)13(i)-17(s)2(i)18(t u)-18(s o)-3(n t)-25(h)1(e W)52(e)-5(b)-19(: i)-29(n)-27(f)3(o)4(r)-23(m)-27(i)18(t)4(.)13(co)1(m)33(/)66(a)21(w)]TJ -EMC -/Span <>BDC -/T1_1 1 Tf -T* -[(L)5(ib)-9(r)10(a)1(r)-25(y o)-4(f C)-8(o)-6(n)18(g)-20(r)11(e)-10(s)-4(s C)-15(a)5(ta)2(lo)8(g)-16(i)4(n)18(g)3(-)-17(i)4(n)-3(-)-10(P)-2(u)3(b)7(l)14(i)-4(c)-11(a)5(t)-4(i)-7(o)-6(n D)-10(a)5(ta)]TJ -EMC -/Span <>BDC -/T1_0 1 Tf -0 -1.111 TD -[(S)5(t)-4(ev)22(e)-11(n)-23(s)21(, W)84(. R)-27(i)7(c)-22(h)-14(a)-18(rd)11(.)]TJ -EMC -/Span <>BDC -T* -[( A)20(d)16(v)12(a)-25(n)1(c)-4(e)-10(d p)10(r)-3(o)-1(g)-25(r)4(a)-21(m)-29(m)-27(i)-29(n)2(g i)-29(n t)-25(h)1(e U)-14(N)-13(I)-13(X e)-11(n)19(v)-19(i)-21(r)-3(o)-3(n)-30(m)2(e)-11(n)14(t)46(/)19(W)84(. R)-27(i)7(c)-22(h)-14(a)-18(rd S)5(t)-4(ev)22(e)-11(n)-23(s)21(, S)5(t)-4(e)-9(p)13(h)1(e)-11(n A)6(. R)-14(a)11(g)8(o)20(. \227 )]TJ -EMC -/Span <>BDC -T* -[(T)-25(h)-28(i)-22(rd e)-10(d)-17(i)18(t)-27(i)10(o)-3(n)1(.)]TJ -EMC -/Span <>BDC --0.011 Tc 0.036 Tw T* -[( p)-3(ag)-8(e)-24(s)-11( c)-29(m)]TJ -EMC -/Span <>BDC -0 Tc 0.025 Tw T* -[( I)-22(n)1(c)-15(l)16(u)8(d)9(e)-13(s b)5(i)-4(b)19(l)-22(i)10(o)-1(g)-25(r)4(a)15(p)13(h)-28(i)7(c)-8(a)-18(l r)-7(e)-3(f)-2(e)-3(r)-7(e)-10(n)1(c)-4(e)-13(s a)-25(n)6(d i)-29(n)6(d)9(e)-4(x)6(.)]TJ -EMC -/Span <>BDC -T* -[( I)-5(S)12(B)15(N 9)12(7)18(8)-25(-)-31(0)-28(-)-2(3)23(2)30(1)45(-)-30(6)-6(3)23(7)-8(7)10(3)-26(-)-27(4 \()11(p)6(b)19(k)-1(. : a)-18(l)-22(k)-1(. p)8(a)15(p)-7(e)-3(r)26(\))]TJ -EMC -/Span <>BDC -T* -[( 1)42(. O)-22(p)-7(e)-3(r)4(a)19(t)-27(i)-29(n)2(g s)-3(y)-2(s)3(t)-3(e)-6(m)-22(s \()-5(C)9(o)1(m)6(p)7(u)16(t)-4(e)-3(r)-11(s)6(\) 2)-4(. U)-14(N)-13(I)-13(X \()-5(C)9(o)1(m)6(p)7(u)16(t)-4(e)-3(r f)-25(i)-22(l)4(e)5(\) I)12(. R)-14(a)11(g)8(o)34(, S)5(t)-4(e)-9(p)13(h)1(e)-11(n A)6(. I)-9(I)12(. T)14(i)18(t)-18(l)4(e)15(.)]TJ -EMC -/Span <>BDC --0.054 Tc 0.079 Tw 0 -1.111 TD -[( Q)8(A)-48(76)-45(.)-41(76)-45(.)-20(O)-57(6)-60(3)-55(S)-39(7)-46(5)-63(4)-54( 2)-41(0)-27(1)-24(3)]TJ -EMC -/Span <>BDC --0.02 Tc 0.045 Tw 0 -1.111 TD -[( 0)-38(0)-25(5)6(.)4(4)19(\2223)3(2\227)-57(d)-8(c)-32(2)-20(3)]TJ -EMC -/Span <>BDC -0.004 Tc 0.021 Tw T* -( \ )Tj -[(2)17(0)31(1)34(30)-14(0)-4(4)3(5)2(09)]TJ -EMC -/Span <>BDC -0 Tc 0.025 Tw 0 -1.667 TD -[(C)9(o)1(p)17(y)-25(r)-20(i)8(g)-17(h)14(t \251 2)13(0)27(1)30(3 P)37(e)-6(a)-18(r)-11(s)-10(o)-3(n E)-1(d)21(u)4(c)-8(a)19(t)-27(i)10(o)-3(n)6(, I)-22(n)1(c)11(.)]TJ -EMC -/Span <>BDC -0.262 Tw T* -[(A)-17(l)-22(l r)-20(i)8(g)-17(h)14(t)-16(s r)-7(e)-13(s)-13(e)-3(r)-29(v)22(e)-10(d)11(. P)-4(r)-20(i)-29(n)14(t)-4(e)-10(d i)-29(n t)-25(h)1(e U)21(n)-28(i)18(t)-4(e)-10(d S)5(t)-16(a)19(t)-4(e)-13(s o)8(f A)-19(m)2(e)-3(r)-20(i)7(c)-8(a)10(. T)-25(h)-28(i)-17(s p)7(u)-4(b)19(l)-22(i)7(c)-8(a)19(t)-27(i)10(o)-3(n i)-17(s p)10(r)-3(o)1(t)-4(e)-14(c)-14(t)-4(e)-10(d )]TJ -EMC -ET -/Span <>BDC -BT -/T1_0 1 Tf -0.223 Tw 9 0 0 9 105 248.1051 Tm -[(b)11(y )]TJ -ET -BT -/Span <>BDC -/T1_0 1 Tf -9 0 0 9 119.1391 248.1051 Tm -( )Tj -EMC -ET -BT -/T1_0 1 Tf -9 0 0 9 119.139 248.1051 Tm -[(co)1(p)17(y)-25(r)-20(i)8(g)-17(h)14(t)19(, a)-25(n)6(d p)-7(e)-3(r)-23(m)-27(i)-17(s)-12(s)2(i)10(o)-3(n m)19(u)-18(s)3(t b)-8(e o)-5(bt)-16(a)-18(i)-29(n)1(e)-10(d f)-25(r)-3(o)1(m t)-25(h)1(e p)7(u)-4(b)19(l)-22(i)-17(s)-1(h)1(e)-3(r p)10(r)-20(i)10(o)4(r t)1(o a)-25(n)22(y p)10(r)-3(o)3(h)-28(i)-4(b)5(i)18(t)-4(e)-10(d )]TJ -ET -EMC -/Span <>BDC -BT -/Span <>BDC -/T1_0 1 Tf -0.243 Tw 9 0 0 9 105 238.1051 Tm -( )Tj -EMC -ET -BT -/T1_0 1 Tf -9 0 0 9 105 238.1051 Tm -[(r)-7(e)-9(p)10(r)-3(o)-10(d)21(u)4(c)-14(t)-27(i)10(o)-3(n)6(, s)3(t)1(o)4(r)4(a)11(g)4(e i)-29(n a r)-7(e)-9(t)-27(r)-20(i)4(ev)12(a)-18(l s)-3(y)-2(s)3(t)-4(e)-6(m)6(, o)4(r t)-27(r)4(a)-25(n)-23(s)-1(m)-27(i)-17(s)-12(s)2(i)10(o)-3(n i)-29(n a)-25(n)22(y f)3(o)4(r)-23(m o)4(r b)11(y a)-25(n)22(y m)2(e)-6(a)-25(n)-23(s)20(, )]TJ -ET -EMC -/Span <>BDC -BT -/Span <>BDC -/T1_0 1 Tf -0.04 Tw 9 0 0 9 105 228.1051 Tm -( )Tj -EMC -ET -BT -/T1_0 1 Tf -9 0 0 9 105 228.1051 Tm -[(e)-3(l)4(e)-14(c)-14(t)-27(r)-3(o)-3(n)-28(i)7(c)24(,)]TJ -ET -BT -/Span <>BDC -/T1_0 1 Tf -9 0 0 9 146.256 228.1051 Tm -( )Tj -EMC -ET -BT -/T1_0 1 Tf -9 0 0 9 148.8659 228.1051 Tm -[(m)2(e)-14(c)-22(h)-14(a)-25(n)-28(i)7(c)-8(a)-18(l)12(, )1(p)13(h)4(o)1(t)1(o)-14(co)1(p)17(y)-25(i)-29(n)2(g)-5(, r)-7(e)-14(co)4(rd)-17(i)-29(n)2(g)-5(, o)4(r l)-22(i)-22(k)-4(ew)-20(i)-17(s)-13(e)15(. T)79(o o)-5(bt)-16(a)-18(i)-29(n )1(p)-7(e)-3(r)-23(m)-27(i)-17(s)-12(s)2(i)10(o)-3(n t)1(o u)-18(s)-13(e m)-13(a)19(t)-4(e)]TJ -ET -EMC -BT -/Span <>BDC -/T1_0 1 Tf -0 Tw 9 0 0 9 489.0031 228.1051 Tm -(-)Tj -EMC -/Span <>BDC -0.19 Tw -42.667 -1.111 Td -[(r)-20(i)-8(a)-18(l f)-25(r)-3(o)1(m t)-25(h)-28(i)-17(s w)25(o)4(r)18(k)8(, p)20(l)4(e)-6(a)-14(s)-13(e su)-4(b)3(m)-27(i)18(t a w)-20(r)-20(i)18(t)-26(t)-4(e)-11(n r)-7(e)-9(q)-3(u)4(e)-13(s)3(t t)1(o P)37(e)-6(a)-18(r)-11(s)-10(o)-3(n E)-1(d)21(u)4(c)-8(a)19(t)-27(i)10(o)-3(n)6(, I)-22(n)1(c)11(.)43(, P)37(e)-3(r)-22(m)-27(i)-17(s)-12(s)2(i)10(o)-3(n)-23(s )]TJ -EMC -/Span <>BDC --0.03 Tw 0 -1.111 TD -[(D)-10(e)-9(p)8(a)-18(r)-20(t)-30(m)2(e)-11(n)14(t)19(, O)-23(n)1(e L)-8(a)-18(k)-4(e S)5(t)-27(r)-7(e)-14(e)-9(t)19(, U)22(p)4(p)-7(e)-3(r S)-7(a)9(d)16(d)-17(l)5(e R)-27(i)11(v)22(e)-3(r)53(, N)11(ew J)17(e)-3(r)-11(s)-13(e)3(y 0)9(7)73(4)-1(5)6(8)26(, o)4(r y)19(o)7(u m)-13(a)24(y fa)-19(x y)19(o)6(u)-22(r r)-7(e)-9(q)-3(u)4(e)-13(s)3(t )]TJ -EMC -/Span <>BDC -0.025 Tw T* -[(t)1(o \(2)13(0)27(1)44(\) 23)3(6)-31(-)-2(3)23(2)12(9)-4(0)18(.)]TJ -EMC -ET -/Span <>BDC -BT -/T1_0 1 Tf --0.03 Tc 0.055 Tw 9 0 0 9 105 183.1051 Tm -[(I)-35(S)-18(B)-15(N)-27(-)29(13)-53(:)-30( )]TJ -ET -BT -/Span <>BDC -/T1_0 1 Tf -9 0 0 9 141.639 183.1051 Tm -( )Tj -EMC -ET -BT -/T1_0 1 Tf -9 0 0 9 146.148 183.1051 Tm -[(9)-18(7)]TJ -9 0 0 9 105 183.1051 Tm -5.542 0 Td -[(8)-55(-)-61(0)-58(-)-32(3)-7(21)15(-)-60(6)-36(3)-7(7)-38(7)-20(3)-56(-)-57(4)]TJ -ET -EMC -BT -/Span <>BDC -/T1_0 1 Tf -0 Tc 0 Tw 9 0 0 9 216.837 183.1051 Tm -( )Tj -EMC -ET -/Span <>BDC -BT -/T1_0 1 Tf --0.023 Tc 0.048 Tw 9 0 0 9 105 173.1051 Tm -[(I)-28(S)-11(B)-8(N)-20(-)36(1)27(0)-63(:)-23( )]TJ -ET -BT -/Span <>BDC -/T1_0 1 Tf -9 0 0 9 158.938 173.1051 Tm -( )Tj -EMC -ET -BT -/T1_0 1 Tf -9 0 0 9 163.446 173.1051 Tm -[(0)-51(-)]TJ -9 0 0 9 105 173.1051 Tm -7.357 0 Td -[(32)7(1)22(-)-53(6)-29(37)-31(7)-13(3)-49(-)-18(9)]TJ -ET -EMC -BT -/Span <>BDC -/T1_0 1 Tf -0 Tc 0.076 Tw 9 0 0 9 105 163.1051 Tm -[(T)77(e)-4(x)-5(t p)10(r)-20(i)-29(n)14(t)-4(e)-10(d i)-29(n t)-25(h)1(e U)21(n)-28(i)18(t)-4(e)-10(d S)5(t)-16(a)19(t)-4(e)-13(s o)-3(n r)-7(e)-14(c)-21(y)23(c)-15(l)4(e)-10(d p)8(a)15(p)-7(e)-3(r a)19(t E)-1(d)16(w)11(a)-18(rd)-13(s B)10(r)-3(o)1(t)-25(h)1(e)-3(r)-11(s M)-4(a)-18(l)-22(l)10(o)16(y i)-29(n A)-24(n)-35(n A)-17(rb)-5(o)4(r)53(, )]TJ -EMC -/Span <>BDC --0.008 Tc 0.008 Tw T* -[(M)-26(i)-1(c)-30(h)-36(ig)-10(a)-33(n)-7(.)]TJ -EMC -/Span <>BDC -0 Tc 0.025 Tw T* -[(F)10(i)-22(r)-11(s)3(t p)10(r)-20(i)-29(n)14(t)-27(i)-29(n)2(g)-5(, M)-4(a)24(y 2)13(0)27(1)30(3)]TJ -EMC -ET -q -1 0 0 1 47.58 40.02 cm -0 g -/GS1 gs -0 Tw /Fm1 Do -Q - -endstream endobj 47800 0 obj <> endobj 47801 0 obj <>stream -q -/Fm0 Do -Q -BT -/GS0 gs -/T1_0 1 Tf -30 0 0 30 125.9483 539.9399 Tm -[(Ad)15(v)20(anced Pr)20(ogramming )]TJ --0.23 -1.067 Td -(in the UNIX)Tj -/T1_1 1 Tf -11.2 0 0 11.2 279.0736 522.2399 Tm -(\256)Tj -/T1_0 1 Tf -30 0 0 30 288.0335 507.9399 Tm -[( En)40(vir)20(onment)]TJ -/T1_2 1 Tf --2.458 -1.367 Td -(Third Edition)Tj -16 0 0 16 228.252 376.1399 Tm -[(W)55(. Richard Stevens)]TJ --0.055 Tw 0.61 -1.25 Td -[(Stephen A. )-55(Rago)]TJ -ET -q -33 24 0.591 675 re -W n -q -1 0 0 1 -490.4377 39.6913 cm -0.95 g -/GS1 gs -0 0 m -0.674 0 l -3.689 -6.764 l -2.705 -6.764 l -1.807 -4.771 l --1.059 -4.771 l --1.9 -6.764 l --2.89 -6.764 l -h -1.414 -3.919 m -0.331 -1.478 l --0.678 -3.919 l -h -6.005 -0.038 m -6.967 -0.038 l -6.967 -5.886 l -9.997 -5.886 l -9.997 -6.764 l -6.005 -6.764 l -h -20.386 -0.038 m -21.348 -0.038 l -18.63 -6.793 l -18.418 -6.793 l -16.221 -1.324 l -13.999 -6.793 l -13.79 -6.793 l -11.082 -0.038 l -12.05 -0.038 l -13.902 -4.675 l -15.771 -0.038 l -16.681 -0.038 l -18.556 -4.675 l -h -25.425 0 m -26.102 0 l -29.116 -6.764 l -28.131 -6.764 l -27.237 -4.771 l -24.367 -4.771 l -23.526 -6.764 l -22.535 -6.764 l -h -26.841 -3.919 m -25.753 -1.478 l -24.746 -3.919 l -h -34.788 -0.038 m -35.953 -0.038 l -33.469 -3.207 l -33.469 -6.764 l -32.484 -6.764 l -32.484 -3.207 l -30 -0.038 l -31.163 -0.038 l -32.961 -2.355 l -h -40.14 -3.949 m -39.405 -3.505 l -38.947 -3.224 38.62 -2.949 38.426 -2.68 c -38.231 -2.405 38.135 -2.094 38.135 -1.743 c -38.135 -1.205 38.318 -0.783 38.683 -0.45 c -39.05 -0.12 39.53 0.045 40.117 0.045 c -40.68 0.045 41.194 -0.116 41.666 -0.427 c -41.666 -1.519 l -41.179 -1.056 40.656 -0.821 40.099 -0.821 c -39.783 -0.821 39.526 -0.892 39.321 -1.038 c -39.121 -1.18 39.02 -1.37 39.02 -1.592 c -39.02 -1.796 39.092 -1.987 39.241 -2.161 c -39.394 -2.336 39.63 -2.526 39.962 -2.718 c -40.697 -3.15 l -41.517 -3.643 41.926 -4.264 41.926 -5.018 c -41.926 -5.556 41.747 -5.998 41.389 -6.334 c -41.027 -6.674 40.556 -6.843 39.978 -6.843 c -39.315 -6.843 38.707 -6.639 38.163 -6.232 c -38.163 -5.008 l -38.683 -5.663 39.284 -5.994 39.97 -5.994 c -40.27 -5.994 40.523 -5.909 40.721 -5.742 c -40.924 -5.575 41.022 -5.365 41.022 -5.113 c -41.022 -4.703 40.725 -4.313 40.14 -3.949 c -49.668 -0.038 m -50.631 -0.038 l -50.631 -5.886 l -53.66 -5.886 l -53.66 -6.764 l -49.668 -6.764 l -h -56.474 -0.038 m -60.286 -0.038 l -60.286 -0.894 l -57.436 -0.894 l -57.436 -2.949 l -60.19 -2.949 l -60.19 -3.807 l -57.436 -3.807 l -57.436 -5.898 l -60.379 -5.898 l -60.379 -6.755 l -56.474 -6.755 l -h -65.72 0 m -66.398 0 l -69.412 -6.764 l -68.432 -6.764 l -67.53 -4.771 l -64.66 -4.771 l -63.82 -6.764 l -62.833 -6.764 l -h -67.134 -3.919 m -66.05 -1.478 l -65.045 -3.919 l -h -72.15 -6.764 m -72.15 -0.038 l -73.835 -0.038 l -74.513 -0.038 75.056 -0.207 75.456 -0.546 c -75.854 -0.883 76.054 -1.339 76.054 -1.912 c -76.054 -2.308 75.957 -2.641 75.759 -2.923 c -75.565 -3.217 75.284 -3.427 74.919 -3.569 c -75.133 -3.706 75.342 -3.904 75.548 -4.148 c -75.756 -4.391 76.044 -4.817 76.414 -5.418 c -76.648 -5.802 76.839 -6.09 76.978 -6.286 c -77.335 -6.764 l -76.188 -6.764 l -75.898 -6.321 l -75.837 -6.24 l -75.651 -5.976 l -75.354 -5.481 l -75.034 -4.958 l -74.833 -4.686 74.648 -4.464 74.481 -4.297 c -74.32 -4.133 74.168 -4.018 74.039 -3.949 c -73.903 -3.875 73.68 -3.837 73.363 -3.837 c -73.115 -3.837 l -73.115 -6.764 l -h -73.404 -0.856 m -73.115 -0.856 l -73.115 -2.984 l -73.48 -2.984 l -73.965 -2.984 74.3 -2.943 74.481 -2.86 c -74.665 -2.77 74.804 -2.648 74.906 -2.475 c -75.008 -2.31 75.061 -2.119 75.061 -1.904 c -75.061 -1.689 75.003 -1.5 74.891 -1.334 c -74.775 -1.155 74.62 -1.038 74.416 -0.965 c -74.209 -0.894 73.874 -0.856 73.404 -0.856 c -85.389 -0.038 m -86.304 -0.038 l -86.304 -6.764 l -85.479 -6.764 l -80.983 -1.586 l -80.983 -6.764 l -80.078 -6.764 l -80.078 -0.038 l -80.858 -0.038 l -85.389 -5.265 l -h -89.727 -0.038 0.961 -6.726 re -99.498 -0.038 m -100.412 -0.038 l -100.412 -6.764 l -99.585 -6.764 l -95.087 -1.586 l -95.087 -6.764 l -94.182 -6.764 l -94.182 -0.038 l -94.961 -0.038 l -99.498 -5.265 l -h -106.871 -3.449 m -109.126 -3.449 l -109.126 -6.302 l -108.299 -6.662 107.477 -6.843 106.665 -6.843 c -105.552 -6.843 104.659 -6.52 103.992 -5.865 c -103.329 -5.22 102.992 -4.418 102.992 -3.46 c -102.992 -2.46 103.34 -1.619 104.03 -0.956 c -104.723 -0.29 105.583 0.045 106.625 0.045 c -107.001 0.045 107.361 0.003 107.705 -0.074 c -108.044 -0.162 108.474 -0.305 108.994 -0.53 c -108.994 -1.509 l -108.191 -1.041 107.396 -0.81 106.604 -0.81 c -105.871 -0.81 105.253 -1.06 104.747 -1.562 c -104.239 -2.061 103.992 -2.68 103.992 -3.404 c -103.992 -4.168 104.239 -4.792 104.747 -5.273 c -105.253 -5.76 105.899 -6.007 106.691 -6.007 c -107.076 -6.007 107.537 -5.917 108.074 -5.742 c -108.166 -5.715 l -108.166 -4.306 l -106.871 -4.306 l -h -f -Q -q -1 0 0 1 -277.4051 464.2195 cm -/GS2 gs -0 0 m --3.927 0 l --1.946 4.599 l -h -0.224 -0.62 m -0.843 -2.049 l -0.982 -2.394 1.258 -2.98 1.258 -3.358 c -1.258 -3.962 0.826 -4.099 0.086 -4.133 c -0.086 -4.443 l -4.582 -4.443 l -4.582 -4.133 l -3.307 -4.082 2.98 -3.117 2.549 -2.084 c --1.326 7.216 l --1.636 7.216 l --5.735 -2.394 l --6.252 -3.6 -6.614 -4.047 -7.509 -4.133 c --7.509 -4.443 l --3.927 -4.443 l --3.927 -4.133 l --4.565 -4.082 -5.253 -4.013 -5.253 -3.376 c --5.253 -3.048 -5.012 -2.514 -4.875 -2.222 c --4.185 -0.62 l -h -f -Q -q -1 0 0 1 -266.6583 461.24 cm -/GS2 gs -0 0 m --0.396 -0.43 -0.879 -0.775 -1.481 -0.775 c --2.79 -0.775 -3.84 0.603 -3.84 2.704 c --3.84 5.391 -2.411 5.959 -1.791 5.959 c --0.62 5.959 0 4.788 0 3.754 c -h -0 5.821 m --0.447 6.287 -1.085 6.476 -1.705 6.476 c --3.944 6.476 -5.408 4.15 -5.408 2.101 c --5.408 0.293 -4.306 -1.705 -2.291 -1.705 c --1.326 -1.705 -0.655 -1.275 0 -0.603 c -0 -1.705 l -0.379 -1.705 l -2.704 -0.758 l -2.584 -0.465 l -2.411 -0.534 2.187 -0.603 1.998 -0.603 c -1.757 -0.603 1.395 -0.603 1.395 0.569 c -1.395 10.489 l -1.016 10.489 l --1.309 9.541 l --1.189 9.248 l --1.016 9.317 -0.792 9.387 -0.603 9.387 c --0.362 9.387 0 9.387 0 8.215 c -h -f -Q -q -1 0 0 1 -258.047 461.24 cm -/GS2 gs -0 0 m --0.396 -0.43 -0.879 -0.775 -1.481 -0.775 c --2.79 -0.775 -3.84 0.603 -3.84 2.704 c --3.84 5.391 -2.411 5.959 -1.791 5.959 c --0.62 5.959 0 4.788 0 3.754 c -h -0 5.821 m --0.447 6.287 -1.085 6.476 -1.705 6.476 c --3.944 6.476 -5.408 4.15 -5.408 2.101 c --5.408 0.293 -4.306 -1.705 -2.291 -1.705 c --1.326 -1.705 -0.655 -1.275 0 -0.603 c -0 -1.705 l -0.379 -1.705 l -2.704 -0.758 l -2.584 -0.465 l -2.411 -0.534 2.187 -0.603 1.998 -0.603 c -1.757 -0.603 1.395 -0.603 1.395 0.569 c -1.395 10.489 l -1.016 10.489 l --1.309 9.541 l --1.189 9.248 l --1.016 9.317 -0.792 9.387 -0.603 9.387 c --0.362 9.387 0 9.387 0 8.215 c -h -f -Q -q -1 0 0 1 -252.2601 461.24 cm -/GS2 gs -0 0 m -0 -1.016 0.396 -1.136 1.188 -1.153 c -1.188 -1.464 l --2.584 -1.464 l --2.584 -1.153 l --1.791 -1.136 -1.395 -1.016 -1.395 0 c --1.395 4.202 l --1.395 5.374 -1.757 5.374 -1.998 5.374 c --2.188 5.374 -2.411 5.305 -2.584 5.236 c --2.704 5.528 l --0.379 6.476 l -0 6.476 l -h --0.706 10.489 m --0.241 10.489 0.137 10.11 0.137 9.644 c -0.137 9.18 -0.241 8.801 -0.706 8.801 c --1.171 8.801 -1.551 9.18 -1.551 9.644 c --1.551 10.11 -1.171 10.489 -0.706 10.489 c -f -Q -q -1 0 0 1 -245.0783 465.0807 cm -/GS2 gs -0 0 m --0.31 0 l --0.569 1.153 -1.033 2.118 -2.377 2.118 c --2.997 2.118 -3.686 1.774 -3.686 1.068 c --3.686 -0.81 0.569 -0.569 0.569 -3.238 c -0.569 -4.65 -0.758 -5.545 -2.067 -5.545 c --2.566 -5.545 -3.117 -5.425 -3.617 -5.288 c --3.72 -5.253 -3.927 -5.201 -4.047 -5.201 c --4.202 -5.201 -4.323 -5.288 -4.357 -5.425 c --4.668 -5.425 l --4.668 -2.67 l --4.357 -2.67 l --4.202 -3.876 -3.29 -5.029 -1.998 -5.029 c --1.292 -5.029 -0.672 -4.616 -0.672 -3.857 c --0.672 -1.842 -4.685 -2.118 -4.685 0.327 c --4.685 1.739 -3.669 2.635 -2.291 2.635 c --1.929 2.635 -1.654 2.549 -1.309 2.445 c --1.102 2.394 -0.878 2.308 -0.672 2.308 c --0.447 2.308 -0.379 2.445 -0.31 2.635 c -0 2.635 l -h -f -Q -q -1 0 0 1 -239.9113 467.13 cm -/GS2 gs -0 0 m -1.912 0 2.428 -2.549 2.428 -4.047 c -2.428 -5.252 2.135 -7.01 0.569 -7.01 c --1.343 -7.01 -1.878 -4.323 -1.878 -2.841 c --1.878 -0.637 -0.843 0 0 0 c -0.293 0.586 m --1.964 0.586 -3.444 -1.464 -3.444 -3.583 c --3.444 -5.649 -2.015 -7.595 0.172 -7.595 c -2.894 -7.595 3.996 -5.098 3.996 -3.324 c -3.996 -1.223 2.445 0.586 0.293 0.586 c -f -Q -q -1 0 0 1 -232.54 466.0968 cm -/GS2 gs -0 0 m -0.965 1.068 1.636 1.619 2.618 1.619 c -4.013 1.619 4.563 0.31 4.563 -0.982 c -4.563 -4.856 l -4.563 -5.874 4.96 -5.994 5.752 -6.011 c -5.752 -6.321 l -1.981 -6.321 l -1.981 -6.011 l -2.773 -5.994 3.169 -5.874 3.169 -4.856 c -3.169 -1.292 l -3.169 0.413 2.463 0.586 1.946 0.586 c -1.153 0.586 0.569 0.069 0 -0.517 c -0 -4.856 l -0 -5.874 0.396 -5.994 1.188 -6.011 c -1.188 -6.321 l --2.584 -6.321 l --2.584 -6.011 l --1.791 -5.994 -1.395 -5.874 -1.395 -4.856 c --1.395 -0.655 l --1.395 0.516 -1.757 0.516 -1.998 0.516 c --2.188 0.516 -2.411 0.447 -2.584 0.379 c --2.704 0.672 l --0.379 1.619 l -0 1.619 l -h -f -Q -q -1 0 0 1 -208.8417 468.5079 cm -/GS2 gs -0 0 m -0.137 0.396 0.413 1.153 0.413 1.55 c -0.413 2.204 -0.069 2.359 -0.843 2.359 c --0.843 2.67 l -2.566 2.67 l -2.566 2.359 l -1.429 2.359 1.188 1.412 0.878 0.5 c --2.394 -8.991 l --2.721 -8.991 l --5.305 -1.757 l --5.339 -1.757 l --7.87 -8.991 l --8.215 -8.991 l --11.729 0.843 l --12.108 1.929 -12.279 2.359 -13.314 2.359 c --13.314 2.67 l --9.094 2.67 l --9.094 2.359 l --9.714 2.359 -10.213 2.222 -10.213 1.636 c --10.213 1.361 -10.041 0.913 -9.955 0.655 c --7.63 -5.977 l --7.595 -5.977 l --5.701 -0.655 l --6.165 0.62 l --6.527 1.585 -6.786 2.359 -7.923 2.359 c --7.923 2.67 l --3.461 2.67 l --3.461 2.359 l --4.185 2.359 -4.685 2.308 -4.685 1.585 c --4.685 1.085 -4.409 0.379 -4.237 -0.086 c --2.135 -5.977 l --2.101 -5.977 l -h -f -Q -q -1 0 0 1 -205.7044 465.0807 cm -/GS2 gs -0 0 m -0.069 0.999 0.792 2.015 1.808 2.015 c -3.031 2.015 3.565 1.068 3.565 0 c -h -5.322 -0.516 m -5.322 1.343 4.15 2.635 2.377 2.635 c --0.069 2.635 -1.189 0.637 -1.189 -1.585 c --1.189 -3.944 0.293 -5.545 2.17 -5.545 c -3.91 -5.545 5.029 -4.082 5.322 -2.498 c -5.063 -2.325 l -4.668 -3.444 3.996 -4.168 2.755 -4.168 c -0.878 -4.168 -0.017 -2.239 -0.017 -0.516 c -h -f -Q -q -1 0 0 1 -194.2688 465.0807 cm -/GS2 gs -0 0 m --0.31 0 l --0.569 1.153 -1.033 2.118 -2.377 2.118 c --2.997 2.118 -3.686 1.774 -3.686 1.068 c --3.686 -0.81 0.569 -0.569 0.569 -3.238 c -0.569 -4.65 -0.758 -5.545 -2.067 -5.545 c --2.567 -5.545 -3.117 -5.425 -3.617 -5.288 c --3.72 -5.253 -3.927 -5.201 -4.047 -5.201 c --4.203 -5.201 -4.323 -5.288 -4.357 -5.425 c --4.668 -5.425 l --4.668 -2.67 l --4.357 -2.67 l --4.203 -3.876 -3.29 -5.029 -1.998 -5.029 c --1.292 -5.029 -0.672 -4.616 -0.672 -3.857 c --0.672 -1.842 -4.685 -2.118 -4.685 0.327 c --4.685 1.739 -3.669 2.635 -2.291 2.635 c --1.929 2.635 -1.654 2.549 -1.309 2.445 c --1.102 2.394 -0.879 2.308 -0.672 2.308 c --0.447 2.308 -0.379 2.445 -0.31 2.635 c -0 2.635 l -h -f -Q -q -1 0 0 1 -189.9633 461.24 cm -/GS2 gs -0 0 m -0 -1.016 0.396 -1.136 1.189 -1.153 c -1.189 -1.464 l --2.584 -1.464 l --2.584 -1.153 l --1.791 -1.136 -1.395 -1.016 -1.395 0 c --1.395 8.215 l --1.395 9.387 -1.757 9.387 -1.998 9.387 c --2.187 9.387 -2.411 9.317 -2.584 9.248 c --2.704 9.541 l --0.379 10.489 l -0 10.489 l -h -f -Q -q -1 0 0 1 -186.5704 465.0807 cm -/GS2 gs -0 0 m -0.069 0.999 0.792 2.015 1.808 2.015 c -3.031 2.015 3.566 1.068 3.566 0 c -h -5.322 -0.516 m -5.322 1.343 4.15 2.635 2.377 2.635 c --0.069 2.635 -1.188 0.637 -1.188 -1.585 c --1.188 -3.944 0.293 -5.545 2.17 -5.545 c -3.91 -5.545 5.029 -4.082 5.322 -2.498 c -5.063 -2.325 l -4.668 -3.444 3.996 -4.168 2.755 -4.168 c -0.879 -4.168 -0.017 -2.239 -0.017 -0.516 c -h -f -Q -q -1 0 0 1 -179.4043 465.7007 cm -/GS2 gs -0 0 m --0.293 0.637 -0.689 1.378 -1.446 1.464 c --1.446 1.774 l -2.135 1.774 l -2.135 1.464 l -1.602 1.464 1.206 1.395 1.206 0.843 c -1.206 0.552 1.446 0.069 1.568 -0.207 c -3.358 -3.893 l -4.995 0.155 l -5.115 0.465 5.218 0.706 5.218 1.033 c -5.218 1.429 4.909 1.464 4.443 1.464 c -4.443 1.774 l -6.958 1.774 l -6.958 1.464 l -6.407 1.464 6.114 1.033 5.925 0.569 c -2.635 -7.492 l -1.964 -9.145 0.706 -9.644 0.104 -9.644 c --0.465 -9.644 -1.05 -9.301 -1.05 -8.681 c --1.05 -8.163 -0.637 -7.923 -0.172 -7.923 c -0.396 -7.923 0.672 -8.232 0.965 -8.232 c -1.653 -8.232 2.015 -7.267 2.222 -6.768 c -2.687 -5.615 l -h -f -Q -q -1 0 0 1 -224.6816 89.2339 cm -/GS2 gs -0 0 m -2.128 0 l -2.128 5.234 l -2.128 5.45 2.14 5.748 2.427 5.748 c -2.689 5.748 2.749 5.462 2.749 5.247 c -2.749 0 l -4.804 0 l -4.804 5.234 l -4.804 5.45 4.817 5.748 5.091 5.748 c -5.366 5.748 5.426 5.462 5.426 5.247 c -5.426 0 l -7.553 0 l -7.553 5.318 l -7.553 6.597 7.003 7.183 6.108 7.183 c -5.509 7.183 5.08 6.8 4.708 6.381 c -4.517 6.741 4.112 7.183 3.442 7.183 c -3.215 7.183 2.94 7.123 2.701 6.991 c -2.463 6.871 2.247 6.692 2.151 6.466 c -2.128 6.466 l -2.128 7.003 l -0 7.003 l -h --3.709 5.425 m --3.709 5.664 -3.59 5.892 -3.326 5.892 c --3.063 5.892 -2.944 5.664 -2.944 5.425 c --2.944 1.721 l --2.944 1.482 -3.063 1.254 -3.326 1.254 c --3.59 1.254 -3.709 1.482 -3.709 1.721 c -h --5.836 2.14 m --5.836 0.323 -4.498 -0.179 -3.326 -0.179 c --2.156 -0.179 -0.817 0.323 -0.817 2.14 c --0.817 4.864 l --0.817 6.68 -2.156 7.183 -3.326 7.183 c --4.498 7.183 -5.836 6.68 -5.836 4.864 c -h --11.455 2.14 m --11.455 0.323 -10.117 -0.179 -8.946 -0.179 c --7.583 -0.179 -6.508 0.358 -6.508 2.545 c --6.508 2.892 l --8.564 2.892 l --8.564 1.685 l --8.564 1.303 -8.659 1.112 -8.946 1.112 c --9.269 1.112 -9.329 1.303 -9.329 1.661 c --9.329 5.485 l --9.329 5.676 -9.304 5.892 -8.982 5.892 c --8.659 5.892 -8.635 5.676 -8.635 5.485 c --8.635 4.338 l --6.58 4.338 l --6.58 4.924 l --6.58 6.429 -7.524 7.183 -8.946 7.183 c --10.117 7.183 -11.455 6.68 -11.455 4.864 c -h --14.014 0 1.649 1.721 re -f -Q -q -1 0 0 1 -255.1281 89.2339 cm -/GS2 gs -0 0 m -2.127 0 l -2.127 5.234 l -2.127 5.45 2.14 5.748 2.426 5.748 c -2.689 5.748 2.749 5.462 2.749 5.247 c -2.749 0 l -4.804 0 l -4.804 5.234 l -4.804 5.45 4.816 5.748 5.091 5.748 c -5.366 5.748 5.425 5.462 5.425 5.247 c -5.425 0 l -7.553 0 l -7.553 5.318 l -7.553 6.597 7.002 7.183 6.106 7.183 c -5.509 7.183 5.078 6.8 4.708 6.381 c -4.517 6.741 4.111 7.183 3.442 7.183 c -3.215 7.183 2.94 7.123 2.701 6.991 c -2.461 6.871 2.247 6.692 2.151 6.466 c -2.127 6.466 l -2.127 7.003 l -0 7.003 l -h --4.066 0 m --1.938 0 l --1.938 3.74 l --1.938 4.291 -1.604 4.661 -1.03 4.661 c --0.911 4.661 -0.791 4.648 -0.672 4.636 c --0.672 7.183 l --1.149 7.134 -1.783 6.776 -1.986 6.106 c --2.01 6.106 l --2.01 7.003 l --4.066 7.003 l -h --7.775 5.425 m --7.775 5.664 -7.655 5.892 -7.392 5.892 c --7.13 5.892 -7.01 5.664 -7.01 5.425 c --7.01 1.721 l --7.01 1.482 -7.13 1.254 -7.392 1.254 c --7.655 1.254 -7.775 1.482 -7.775 1.721 c -h --9.902 2.14 m --9.902 0.323 -8.564 -0.179 -7.392 -0.179 c --6.221 -0.179 -4.882 0.323 -4.882 2.14 c --4.882 4.864 l --4.882 6.68 -6.221 7.183 -7.392 7.183 c --8.564 7.183 -9.902 6.68 -9.902 4.864 c -h --13.693 5.856 m --13.25 5.856 l --13.25 0 l --11.124 0 l --11.124 5.856 l --10.49 5.856 l --10.49 7.003 l --11.529 7.003 l --11.482 7.385 -11.207 7.457 -10.861 7.457 c --10.538 7.457 l --10.538 8.533 l --11.482 8.533 l --12.797 8.533 -13.203 8.246 -13.25 7.003 c --13.693 7.003 l -h --19.252 0 m --17.125 0 l --17.125 5.234 l --17.125 5.45 -17.113 5.748 -16.826 5.748 c --16.551 5.748 -16.491 5.462 -16.491 5.247 c --16.491 0 l --14.364 0 l --14.364 5.318 l --14.364 6.597 -14.914 7.183 -15.811 7.183 c --16.456 7.183 -16.934 6.811 -17.1 6.466 c --17.125 6.466 l --17.125 7.003 l --19.252 7.003 l -h --22.221 7.457 2.128 1.076 re --22.221 0 2.128 7.003 re -f -Q -q -1 0 0 1 -218.5465 84.3652 cm -/GS2 gs -0 0 m -1.267 0 l -1.267 0.147 l -0.173 0.147 l -0.173 0.865 l -1.186 0.865 l -1.186 1.013 l -0.173 1.013 l -0.173 1.67 l -1.254 1.67 l -1.254 1.818 l -0 1.818 l -h --0.369 1.267 m --0.415 1.649 -0.756 1.855 -1.1 1.855 c --1.673 1.855 -1.957 1.406 -1.957 0.909 c --1.957 0.412 -1.673 -0.038 -1.1 -0.038 c --0.675 -0.038 -0.393 0.247 -0.343 0.692 c --0.517 0.692 l --0.549 0.369 -0.764 0.109 -1.1 0.109 c --1.582 0.109 -1.784 0.512 -1.784 0.909 c --1.784 1.306 -1.582 1.708 -1.1 1.708 c --0.835 1.708 -0.603 1.547 -0.543 1.267 c -h --3.468 1.67 m --2.821 1.67 l --2.561 1.67 -2.429 1.53 -2.429 1.308 c --2.429 1.087 -2.61 0.954 -2.821 0.954 c --3.468 0.954 l -h --3.641 0 m --3.468 0 l --3.468 0.807 l --2.81 0.807 l --2.482 0.82 -2.461 0.536 -2.446 0.282 c --2.398 0 l --2.208 0 l --2.284 0.091 -2.284 0.341 -2.292 0.466 c --2.305 0.682 -2.373 0.846 -2.61 0.876 c --2.61 0.881 l --2.376 0.926 -2.255 1.115 -2.255 1.343 c --2.255 1.673 -2.508 1.818 -2.808 1.818 c --3.641 1.818 l -h --5.49 0.655 m --5.49 0.28 -5.288 -0.038 -4.785 -0.038 c --4.277 -0.038 -4.076 0.28 -4.076 0.655 c --4.076 1.818 l --4.25 1.818 l --4.25 0.692 l --4.247 0.269 -4.449 0.109 -4.785 0.109 c --5.118 0.109 -5.319 0.269 -5.317 0.692 c --5.317 1.818 l --5.49 1.818 l -h --7.367 0.909 m --7.367 1.306 -7.163 1.708 -6.683 1.708 c --6.204 1.708 -6 1.306 -6 0.909 c --6 0.512 -6.204 0.109 -6.683 0.109 c --7.163 0.109 -7.367 0.512 -7.367 0.909 c --7.54 0.909 m --7.54 0.412 -7.256 -0.038 -6.683 -0.038 c --6.112 -0.038 -5.827 0.412 -5.827 0.909 c --5.827 1.406 -6.112 1.855 -6.683 1.855 c --7.256 1.855 -7.54 1.406 -7.54 0.909 c --9.205 0.599 m --9.226 0.156 -8.91 -0.038 -8.48 -0.038 c --7.836 -0.038 -7.785 0.356 -7.785 0.481 c --7.785 0.779 -7.998 0.891 -8.256 0.959 c --8.699 1.069 l --8.846 1.104 -8.974 1.176 -8.974 1.347 c --8.974 1.616 -8.755 1.708 -8.517 1.708 c --8.261 1.708 -8.031 1.568 -8.022 1.29 c --7.849 1.29 l --7.846 1.662 -8.161 1.855 -8.521 1.855 c --9.033 1.855 -9.146 1.522 -9.146 1.343 c --9.146 1.061 -8.951 0.959 -8.736 0.906 c --8.332 0.807 l --8.164 0.766 -7.957 0.685 -7.957 0.479 c --7.957 0.214 -8.248 0.109 -8.439 0.109 c --8.77 0.109 -9.04 0.223 -9.033 0.599 c -h --10.205 0.924 m --10.976 0.924 l --10.976 0.776 l --10.358 0.776 l --10.35 0.392 -10.585 0.109 -10.986 0.109 c --11.467 0.109 -11.671 0.512 -11.671 0.909 c --11.671 1.306 -11.467 1.708 -10.986 1.708 c --10.64 1.708 -10.424 1.461 -10.401 1.252 c --10.228 1.252 l --10.294 1.649 -10.604 1.855 -10.986 1.855 c --11.558 1.855 -11.844 1.406 -11.844 0.909 c --11.844 0.412 -11.558 -0.038 -10.986 -0.038 c --10.725 -0.038 -10.48 0.071 -10.358 0.33 c --10.352 0.33 l --10.33 0 l --10.205 0 l -h --13.635 0 m --13.462 0 l --13.462 1.537 l --13.457 1.537 l --12.397 0 l --12.204 0 l --12.204 1.818 l --12.377 1.818 l --12.377 0.28 l --12.382 0.28 l --13.44 1.818 l --13.635 1.818 l -h --14.259 0 0.173 1.818 re --16.144 0 m --15.972 0 l --15.972 1.537 l --15.967 1.537 l --14.908 0 l --14.715 0 l --14.715 1.818 l --14.888 1.818 l --14.888 0.28 l --14.892 0.28 l --15.951 1.818 l --16.144 1.818 l -h --17.756 1.67 m --17.11 1.67 l --16.85 1.67 -16.717 1.53 -16.717 1.308 c --16.717 1.087 -16.899 0.954 -17.11 0.954 c --17.756 0.954 l -h --17.929 0 m --17.756 0 l --17.756 0.807 l --17.099 0.807 l --16.771 0.82 -16.751 0.536 -16.736 0.282 c --16.687 0 l --16.496 0 l --16.572 0.091 -16.572 0.341 -16.581 0.466 c --16.594 0.682 -16.662 0.846 -16.899 0.876 c --16.899 0.881 l --16.665 0.926 -16.546 1.115 -16.546 1.343 c --16.546 1.673 -16.797 1.818 -17.097 1.818 c --17.929 1.818 l -h --19.003 1.644 m --18.652 0.712 l --19.366 0.712 l -h --19.824 0 m --19.639 0 l --19.419 0.565 l --18.593 0.565 l --18.372 0 l --18.186 0 l --18.899 1.818 l --19.092 1.818 l -h --21.281 0 m --20.014 0 l --20.014 0.147 l --21.108 0.147 l --21.108 0.865 l --20.095 0.865 l --20.095 1.013 l --21.108 1.013 l --21.108 1.67 l --20.026 1.67 l --20.026 1.818 l --21.281 1.818 l -h --22.733 0 m --21.542 0 l --21.542 0.147 l --22.56 0.147 l --22.56 1.818 l --22.733 1.818 l -h --24.54 0 m --24.367 0 l --24.367 0.748 l --23.649 1.818 l --23.855 1.818 l --24.45 0.896 l --25.048 1.818 l --25.254 1.818 l --24.54 0.748 l -h --25.361 0.924 m --26.132 0.924 l --26.132 0.776 l --25.514 0.776 l --25.506 0.392 -25.74 0.109 -26.143 0.109 c --26.623 0.109 -26.827 0.512 -26.827 0.909 c --26.827 1.306 -26.623 1.708 -26.143 1.708 c --25.797 1.708 -25.58 1.461 -25.558 1.252 c --25.384 1.252 l --25.451 1.649 -25.761 1.855 -26.143 1.855 c --26.716 1.855 -27 1.406 -27 0.909 c --27 0.412 -26.716 -0.038 -26.143 -0.038 c --25.881 -0.038 -25.636 0.071 -25.514 0.33 c --25.508 0.33 l --25.486 0 l --25.361 0 l -h --28.807 0.909 m --28.807 1.306 -28.604 1.708 -28.122 1.708 c --27.644 1.708 -27.44 1.306 -27.44 0.909 c --27.44 0.512 -27.644 0.109 -28.122 0.109 c --28.604 0.109 -28.807 0.512 -28.807 0.909 c --28.981 0.909 m --28.981 0.412 -28.695 -0.038 -28.122 -0.038 c --27.552 -0.038 -27.268 0.412 -27.268 0.909 c --27.268 1.406 -27.552 1.855 -28.122 1.855 c --28.695 1.855 -28.981 1.406 -28.981 0.909 c --30.253 0 m --29.062 0 l --29.062 0.147 l --30.079 0.147 l --30.079 1.818 l --30.253 1.818 l -h --32.15 0.909 m --32.15 1.306 -31.946 1.708 -31.466 1.708 c --30.986 1.708 -30.782 1.306 -30.782 0.909 c --30.782 0.512 -30.986 0.109 -31.466 0.109 c --31.946 0.109 -32.15 0.512 -32.15 0.909 c --32.322 0.909 m --32.322 0.412 -32.038 -0.038 -31.466 -0.038 c --30.895 -0.038 -30.611 0.412 -30.611 0.909 c --30.611 1.406 -30.895 1.855 -31.466 1.855 c --32.038 1.855 -32.322 1.406 -32.322 0.909 c --34.107 0 m --33.935 0 l --33.935 1.537 l --33.929 1.537 l --32.87 0 l --32.677 0 l --32.677 1.818 l --32.85 1.818 l --32.85 0.28 l --32.855 0.28 l --33.914 1.818 l --34.107 1.818 l -h --35.982 0 m --35.808 0 l --35.808 0.881 l --34.73 0.881 l --34.73 0 l --34.556 0 l --34.556 1.818 l --34.73 1.818 l --34.73 1.028 l --35.808 1.028 l --35.808 1.818 l --35.982 1.818 l -h --36.351 1.267 m --36.396 1.649 -36.737 1.855 -37.082 1.855 c --37.654 1.855 -37.939 1.406 -37.939 0.909 c --37.939 0.412 -37.654 -0.038 -37.082 -0.038 c --36.657 -0.038 -36.374 0.247 -36.325 0.692 c --36.498 0.692 l --36.531 0.369 -36.746 0.109 -37.082 0.109 c --37.563 0.109 -37.766 0.512 -37.766 0.909 c --37.766 1.306 -37.563 1.708 -37.082 1.708 c --36.817 1.708 -36.585 1.547 -36.524 1.267 c -h --39.419 0 m --38.153 0 l --38.153 0.147 l --39.246 0.147 l --39.246 0.865 l --38.233 0.865 l --38.233 1.013 l --39.246 1.013 l --39.246 1.67 l --38.164 1.67 l --38.164 1.818 l --39.419 1.818 l -h --41.117 1.67 m --40.484 1.67 l --40.484 0 l --40.312 0 l --40.312 1.67 l --39.677 1.67 l --39.677 1.818 l --41.117 1.818 l -h --43.423 0 m --42.794 0 l --42.247 0.013 -41.961 0.313 -41.961 0.909 c --41.961 1.504 -42.247 1.804 -42.794 1.818 c --43.423 1.818 l -h --43.25 1.67 m --42.881 1.67 l --42.36 1.673 -42.132 1.451 -42.132 0.909 c --42.132 0.366 -42.36 0.145 -42.881 0.147 c --43.25 0.147 l -h --44.989 0 m --43.722 0 l --43.722 0.147 l --44.816 0.147 l --44.816 0.865 l --43.803 0.865 l --43.803 1.013 l --44.816 1.013 l --44.816 1.67 l --43.734 1.67 l --43.734 1.818 l --44.989 1.818 l -h --46.687 1.67 m --46.054 1.67 l --46.054 0 l --45.88 0 l --45.88 1.67 l --45.247 1.67 l --45.247 1.818 l --46.687 1.818 l -h --48.231 0.599 m --48.252 0.156 -47.936 -0.038 -47.506 -0.038 c --46.862 -0.038 -46.812 0.356 -46.812 0.481 c --46.812 0.779 -47.024 0.891 -47.282 0.959 c --47.725 1.069 l --47.873 1.104 -48 1.176 -48 1.347 c --48 1.616 -47.781 1.708 -47.545 1.708 c --47.287 1.708 -47.057 1.568 -47.048 1.29 c --46.875 1.29 l --46.872 1.662 -47.187 1.855 -47.547 1.855 c --48.059 1.855 -48.172 1.522 -48.172 1.343 c --48.172 1.061 -47.977 0.959 -47.764 0.906 c --47.358 0.807 l --47.191 0.766 -46.983 0.685 -46.983 0.479 c --46.983 0.214 -47.274 0.109 -47.465 0.109 c --47.797 0.109 -48.066 0.223 -48.059 0.599 c -h --49.977 0.655 m --49.977 0.28 -49.776 -0.038 -49.272 -0.038 c --48.766 -0.038 -48.565 0.28 -48.565 0.655 c --48.565 1.818 l --48.738 1.818 l --48.738 0.692 l --48.735 0.269 -48.936 0.109 -49.272 0.109 c --49.606 0.109 -49.808 0.269 -49.804 0.692 c --49.804 1.818 l --49.977 1.818 l -h --51.561 1.67 m --50.915 1.67 l --50.655 1.67 -50.522 1.53 -50.522 1.308 c --50.522 1.087 -50.704 0.954 -50.915 0.954 c --51.561 0.954 l -h --51.735 0 m --51.561 0 l --51.561 0.807 l --50.904 0.807 l --50.576 0.82 -50.555 0.536 -50.54 0.282 c --50.492 0 l --50.301 0 l --50.377 0.091 -50.377 0.341 -50.386 0.466 c --50.398 0.682 -50.466 0.846 -50.704 0.876 c --50.704 0.881 l --50.469 0.926 -50.349 1.115 -50.349 1.343 c --50.349 1.673 -50.602 1.818 -50.902 1.818 c --51.735 1.818 l -h --53.432 1.67 m --52.799 1.67 l --52.799 0 l --52.625 0 l --52.625 1.67 l --51.992 1.67 l --51.992 1.818 l --53.432 1.818 l -h --55.504 0 m --54.237 0 l --54.237 0.147 l --55.331 0.147 l --55.331 0.865 l --54.318 0.865 l --54.318 1.013 l --55.331 1.013 l --55.331 1.67 l --54.25 1.67 l --54.25 1.818 l --55.504 1.818 l -h --57.38 0 m --57.207 0 l --57.207 0.881 l --56.128 0.881 l --56.128 0 l --55.955 0 l --55.955 1.818 l --56.128 1.818 l --56.128 1.028 l --57.207 1.028 l --57.207 1.818 l --57.38 1.818 l -h --59.077 1.67 m --58.444 1.67 l --58.444 0 l --58.271 0 l --58.271 1.67 l --57.637 1.67 l --57.637 1.818 l --59.077 1.818 l -h -f -Q -q -1 0 0 1 -154.3155 84.4041 cm -0.37 g -/GS1 gs -0 0 m --0.968 0 l --0.968 2.311 l --0.039 2.311 l -0.412 2.311 0.675 2.058 0.675 1.662 c -0.675 1.406 0.506 1.239 0.389 1.185 c -0.529 1.12 0.708 0.974 0.708 0.665 c -0.708 0.233 0.412 0 0 0 c --0.075 1.909 m --0.516 1.909 l --0.516 1.376 l --0.075 1.376 l -0.117 1.376 0.224 1.484 0.224 1.643 c -0.224 1.802 0.117 1.909 -0.075 1.909 c --0.046 0.971 m --0.516 0.971 l --0.516 0.402 l --0.046 0.402 l -0.159 0.402 0.256 0.532 0.256 0.689 c -0.256 0.844 0.159 0.971 -0.046 0.971 c -f -Q -q -1 0 0 1 -152.0098 84.5924 cm -0.37 g -/GS1 gs -0 0 m --0.104 -0.111 -0.276 -0.208 -0.526 -0.208 c --0.777 -0.208 -0.945 -0.111 -1.049 0 c --1.202 0.159 -1.24 0.35 -1.24 0.659 c --1.24 0.965 -1.202 1.156 -1.049 1.314 c --0.945 1.425 -0.777 1.523 -0.526 1.523 c --0.276 1.523 -0.104 1.425 0 1.314 c -0.152 1.156 0.191 0.965 0.191 0.659 c -0.191 0.35 0.152 0.159 0 0 c --0.328 1.069 m --0.526 1.143 l --0.721 1.069 l --0.809 0.981 -0.819 0.834 -0.819 0.659 c --0.819 0.484 -0.809 0.334 -0.721 0.246 c --0.526 0.172 l --0.328 0.246 l --0.24 0.334 -0.231 0.484 -0.231 0.659 c --0.231 0.834 -0.24 0.981 -0.328 1.069 c -f -Q -q -1 0 0 1 -150.247 84.5924 cm -0.37 g -/GS1 gs -0 0 m --0.104 -0.111 -0.276 -0.208 -0.526 -0.208 c --0.776 -0.208 -0.945 -0.111 -1.048 0 c --1.201 0.159 -1.239 0.35 -1.239 0.659 c --1.239 0.965 -1.201 1.156 -1.048 1.314 c --0.945 1.425 -0.776 1.523 -0.526 1.523 c --0.276 1.523 -0.104 1.425 0 1.314 c -0.152 1.156 0.192 0.965 0.192 0.659 c -0.192 0.35 0.152 0.159 0 0 c --0.327 1.069 m --0.526 1.143 l --0.721 1.069 l --0.809 0.981 -0.818 0.834 -0.818 0.659 c --0.818 0.484 -0.809 0.334 -0.721 0.246 c --0.526 0.172 l --0.327 0.246 l --0.24 0.334 -0.231 0.484 -0.231 0.659 c --0.231 0.834 -0.24 0.981 -0.327 1.069 c -f -Q -q -1 0 0 1 -147.2826 84.3842 cm -0.37 g -/GS1 gs -0 0 m --0.265 0 -0.506 0.029 -0.721 0.244 c --0.444 0.519 l --0.305 0.38 -0.123 0.361 0.006 0.361 c -0.152 0.361 0.306 0.41 0.306 0.535 c -0.306 0.62 0.26 0.679 0.127 0.692 c --0.139 0.718 l --0.444 0.747 -0.634 0.88 -0.634 1.192 c --0.634 1.542 -0.325 1.731 0.019 1.731 c -0.282 1.731 0.503 1.686 0.666 1.532 c -0.406 1.27 l -0.308 1.357 0.16 1.383 0.013 1.383 c --0.156 1.383 -0.226 1.306 -0.226 1.221 c --0.226 1.16 -0.202 1.088 -0.051 1.075 c -0.215 1.048 l -0.549 1.016 0.718 0.838 0.718 0.553 c -0.718 0.178 0.4 0 0 0 c -f -Q -q -1 0 0 1 -144.0255 84.6374 cm -0.37 g -/GS1 gs -0 0 m --0.163 -0.162 -0.361 -0.253 -0.623 -0.253 c --0.886 -0.253 -1.088 -0.162 -1.25 0 c --1.484 0.234 -1.478 0.523 -1.478 0.922 c --1.478 1.322 -1.484 1.611 -1.25 1.844 c --1.088 2.007 -0.886 2.098 -0.623 2.098 c --0.361 2.098 -0.163 2.007 0 1.844 c -0.234 1.611 0.231 1.322 0.231 0.922 c -0.231 0.523 0.234 0.234 0 0 c --0.335 1.572 m --0.4 1.647 -0.5 1.695 -0.623 1.695 c --0.747 1.695 -0.851 1.647 -0.916 1.572 c --1.003 1.474 -1.026 1.367 -1.026 0.922 c --1.026 0.477 -1.003 0.37 -0.916 0.274 c --0.851 0.199 -0.747 0.15 -0.623 0.15 c --0.5 0.15 -0.4 0.199 -0.335 0.274 c --0.247 0.37 -0.221 0.477 -0.221 0.922 c --0.221 1.367 -0.247 1.474 -0.335 1.572 c -f -Q -q -1 0 0 1 -142.3826 84.4041 cm -0.37 g -/GS1 gs -0 0 m -0 1.023 l -0 1.253 -0.146 1.331 -0.279 1.331 c --0.412 1.331 -0.562 1.253 -0.562 1.023 c --0.562 0 l --0.984 0 l --0.984 1.691 l --0.571 1.691 l --0.571 1.535 l --0.461 1.652 -0.305 1.71 -0.15 1.71 c -0.019 1.71 0.156 1.656 0.25 1.561 c -0.386 1.425 0.422 1.266 0.422 1.081 c -0.422 0 l -h -f -Q -q -1 0 0 1 -141.0287 84.4041 cm -0.37 g -/GS1 gs -0 0 m --0.348 0 -0.494 0.244 -0.494 0.484 c --0.494 2.311 l --0.071 2.311 l --0.071 0.51 l --0.071 0.409 -0.029 0.357 0.078 0.357 c -0.24 0.357 l -0.24 0 l -h -f -Q -q -1 0 0 1 -138.5737 84.4041 cm -0.37 g -/GS1 gs -0 0 m -0 1.023 l -0 1.253 -0.146 1.331 -0.279 1.331 c --0.412 1.331 -0.561 1.253 -0.561 1.023 c --0.561 0 l --0.984 0 l --0.984 1.691 l --0.572 1.691 l --0.572 1.535 l --0.461 1.652 -0.305 1.71 -0.149 1.71 c -0.019 1.71 0.156 1.656 0.25 1.561 c -0.386 1.425 0.422 1.266 0.422 1.081 c -0.422 0 l -h -f -Q -q -1 0 0 1 -137.3656 85.118 cm -0.37 g -/GS1 gs -0 0 m -0 -0.217 0.133 -0.377 0.37 -0.377 c -0.556 -0.377 0.646 -0.324 0.753 -0.217 c -1.01 -0.467 l -0.838 -0.64 0.672 -0.734 0.367 -0.734 c --0.033 -0.734 -0.415 -0.552 -0.415 0.133 c --0.415 0.685 -0.118 0.997 0.321 0.997 c -0.792 0.997 1.058 0.652 1.058 0.188 c -1.058 0 l -h -0.604 0.471 m -0.558 0.572 0.465 0.646 0.321 0.646 c -0.178 0.646 0.085 0.572 0.039 0.471 c -0 0.29 l -0.643 0.29 l -0.604 0.471 l -f -Q -q -1 0 0 1 -167.4586 87.7015 cm -0.27 g -/GS1 gs -0 0 m --1.476 0 -2.596 0.314 -3.552 1.284 c --2.323 2.514 l --1.708 1.899 -0.874 1.694 0.027 1.694 c -1.147 1.694 1.749 2.118 1.749 2.897 c -1.749 3.238 1.652 3.526 1.447 3.717 c -1.257 3.894 1.038 3.989 0.587 4.058 c --0.588 4.221 l --1.421 4.345 -2.035 4.604 -2.473 5.028 c --2.938 5.493 -3.17 6.121 -3.17 6.94 c --3.17 8.675 -1.885 9.891 0.218 9.891 c -1.558 9.891 2.527 9.564 3.361 8.758 c -2.158 7.569 l -1.543 8.156 0.806 8.238 0.163 8.238 c --0.848 8.238 -1.339 7.678 -1.339 7.009 c --1.339 6.763 -1.258 6.503 -1.052 6.312 c --0.861 6.133 -0.547 5.984 -0.151 5.929 c -0.997 5.766 l -1.885 5.643 2.445 5.397 2.854 5.014 c -3.374 4.523 3.606 3.812 3.606 2.951 c -3.606 1.067 2.034 0 0 0 c -f -Q -q -1 0 0 1 -158.956 87.7844 cm -0.27 g -/GS1 gs -0 0 m -0 0.614 l --0.48 0.136 -0.929 -0.069 -1.749 -0.069 c --2.555 -0.069 -3.143 0.136 -3.566 0.56 c --3.949 0.955 -4.154 1.529 -4.154 2.158 c --4.154 3.292 -3.375 4.221 -1.722 4.221 c --0.042 4.221 l --0.042 4.576 l --0.042 5.355 -0.424 5.697 -1.367 5.697 c --2.049 5.697 -2.364 5.533 -2.733 5.109 c --3.867 6.215 l --3.17 6.981 -2.487 7.199 -1.298 7.199 c -0.696 7.199 1.735 6.352 1.735 4.686 c -1.735 0 l -h --0.042 3.004 m --1.449 3.004 l --2.09 3.004 -2.445 2.705 -2.445 2.199 c --2.445 1.707 -2.118 1.38 -1.422 1.38 c --0.929 1.38 -0.615 1.421 -0.302 1.721 c --0.109 1.898 -0.042 2.186 -0.042 2.622 c -h -f -Q -q -1 0 0 1 -153.5167 93.3447 cm -0.27 g -/GS1 gs -0 0 m -0 -5.56 l --1.776 -5.56 l --1.776 0 l --2.513 0 l --2.513 1.352 l --1.776 1.352 l --1.776 2.239 l --1.776 3.251 -1.147 4.275 0.3 4.275 c -1.311 4.275 l -1.311 2.773 l -0.615 2.773 l -0.191 2.773 0 2.541 0 2.13 c -0 1.352 l -1.311 1.352 l -1.311 0 l -h -f -Q -q -1 0 0 1 -147.4114 87.7844 cm -0.27 g -/GS1 gs -0 0 m -0 0.614 l --0.477 0.136 -0.929 -0.069 -1.749 -0.069 c --2.555 -0.069 -3.143 0.136 -3.566 0.56 c --3.949 0.955 -4.154 1.529 -4.154 2.158 c --4.154 3.292 -3.375 4.221 -1.722 4.221 c --0.041 4.221 l --0.041 4.576 l --0.041 5.355 -0.424 5.697 -1.366 5.697 c --2.049 5.697 -2.364 5.533 -2.733 5.109 c --3.867 6.215 l --3.17 6.981 -2.486 7.199 -1.297 7.199 c -0.697 7.199 1.735 6.352 1.735 4.686 c -1.735 0 l -h --0.041 3.004 m --1.449 3.004 l --2.09 3.004 -2.446 2.705 -2.446 2.199 c --2.446 1.707 -2.118 1.38 -1.421 1.38 c --0.929 1.38 -0.615 1.421 -0.302 1.721 c --0.109 1.898 -0.041 2.186 -0.041 2.622 c -h -f -Q -q -1 0 0 1 -140.3021 92.9617 cm -0.27 g -/GS1 gs -0 0 m --0.274 0.273 -0.505 0.424 -0.942 0.424 c --1.489 0.424 -2.091 0.013 -2.091 -0.888 c --2.091 -5.177 l --3.867 -5.177 l --3.867 1.94 l --2.132 1.94 l --2.132 1.256 l --1.791 1.666 -1.107 2.022 -0.341 2.022 c -0.355 2.022 0.847 1.844 1.338 1.352 c -h -f -Q -q -1 0 0 1 -136.5759 96.2265 cm -0.789 g -/GS1 gs -0 0 m --0.395 -0.395 -1.037 -0.395 -1.431 0.001 c --1.827 0.396 -1.827 1.036 -1.431 1.434 c --1.037 1.829 -0.395 1.829 0 1.434 c -0.396 1.036 0.396 0.396 0 0 c -f -Q -q -1 0 0 1 -133.6833 96.2265 cm -0.789 g -/GS1 gs -0 0 m --0.395 -0.395 -1.037 -0.395 -1.431 0.001 c --1.827 0.396 -1.827 1.036 -1.431 1.434 c --1.037 1.829 -0.395 1.829 0 1.434 c -0.395 1.036 0.395 0.396 0 0 c -f -Q -q -1 0 0 1 -133.0792 98.681 cm -0.789 g -/GS1 gs -0 0 m -1.17 -1.171 1.737 -1.737 v -1.17 -2.305 0 -3.474 y -0.899 -4.374 l -3.536 -1.737 l -0.899 0.898 l -h -f -Q -q -1 0 0 1 -135.353 88.8619 cm -0.27 g -/GS1 gs -0 0 m -0.293 0 0.524 -0.237 0.524 -0.534 c -0.524 -0.836 0.291 -1.071 -0.003 -1.07 c --0.296 -1.07 -0.532 -0.835 -0.532 -0.533 c --0.531 -0.236 -0.294 0.001 -0.002 0 c -h --0.002 -0.083 m --0.236 -0.083 -0.429 -0.284 -0.43 -0.533 c --0.43 -0.788 -0.238 -0.986 -0.001 -0.987 c -0.236 -0.99 0.426 -0.789 0.427 -0.538 c -0.427 -0.285 0.237 -0.083 0 -0.083 c -h --0.103 -0.844 m --0.197 -0.844 l --0.197 -0.249 l --0.029 -0.235 l -0.061 -0.235 0.121 -0.254 0.157 -0.28 c -0.211 -0.403 l -0.094 -0.548 l -0.094 -0.553 l -0.194 -0.697 l -0.207 -0.791 0.222 -0.826 0.232 -0.846 c -0.132 -0.844 l -0.091 -0.693 l --0.036 -0.588 l --0.103 -0.588 l -h --0.103 -0.515 m --0.033 -0.515 l -0.112 -0.413 l -0.112 -0.361 0.073 -0.308 -0.033 -0.308 c --0.102 -0.313 l -h -f -Q -q -1 0 0 1 -341.4562 88.3013 cm -/GS2 gs -0 0 m --1.364 0 l --0.676 1.597 l -h -0.077 -0.216 m -0.293 -0.711 l -0.341 -0.832 0.437 -1.034 0.437 -1.166 c -0.437 -1.376 0.288 -1.424 0.03 -1.436 c -0.03 -1.543 l -1.591 -1.543 l -1.591 -1.436 l -1.148 -1.417 1.034 -1.083 0.885 -0.723 c --0.46 2.507 l --0.569 2.507 l --1.992 -0.832 l --2.172 -1.25 -2.297 -1.406 -2.609 -1.436 c --2.609 -1.543 l --1.364 -1.543 l --1.364 -1.436 l --1.585 -1.417 -1.824 -1.394 -1.824 -1.173 c --1.824 -1.059 -1.74 -0.873 -1.693 -0.771 c --1.454 -0.216 l -h -f -Q -q -1 0 0 1 -337.724 87.2666 cm -/GS2 gs -0 0 m --0.137 -0.149 -0.305 -0.269 -0.514 -0.269 c --0.969 -0.269 -1.334 0.209 -1.334 0.939 c --1.334 1.872 -0.837 2.07 -0.622 2.07 c --0.216 2.07 0 1.663 0 1.304 c -h -0 2.022 m --0.156 2.184 -0.377 2.249 -0.592 2.249 c --1.369 2.249 -1.878 1.441 -1.878 0.73 c --1.878 0.102 -1.496 -0.592 -0.795 -0.592 c --0.46 -0.592 -0.227 -0.443 0 -0.209 c -0 -0.592 l -0.132 -0.592 l -0.939 -0.263 l -0.897 -0.162 l -0.694 -0.209 l -0.611 -0.209 0.485 -0.209 0.485 0.197 c -0.485 3.643 l -0.353 3.643 l --0.455 3.313 l --0.413 3.213 l --0.209 3.26 l --0.126 3.26 0 3.26 0 2.853 c -h -f -Q -q -1 0 0 1 -334.7332 87.2666 cm -/GS2 gs -0 0 m --0.137 -0.149 -0.305 -0.269 -0.514 -0.269 c --0.969 -0.269 -1.334 0.209 -1.334 0.939 c --1.334 1.872 -0.837 2.07 -0.622 2.07 c --0.216 2.07 0 1.663 0 1.304 c -h -0 2.022 m --0.156 2.184 -0.377 2.249 -0.592 2.249 c --1.369 2.249 -1.878 1.441 -1.878 0.73 c --1.878 0.102 -1.496 -0.592 -0.795 -0.592 c --0.46 -0.592 -0.227 -0.443 0 -0.209 c -0 -0.592 l -0.132 -0.592 l -0.939 -0.263 l -0.897 -0.162 l -0.694 -0.209 l -0.611 -0.209 0.485 -0.209 0.485 0.197 c -0.485 3.643 l -0.353 3.643 l --0.455 3.313 l --0.413 3.213 l --0.209 3.26 l --0.126 3.26 0 3.26 0 2.853 c -h -f -Q -q -1 0 0 1 -332.7234 87.2666 cm -/GS2 gs -0 0 m -0 -0.353 0.137 -0.395 0.413 -0.4 c -0.413 -0.509 l --0.897 -0.509 l --0.897 -0.4 l --0.622 -0.395 -0.485 -0.353 -0.485 0 c --0.485 1.459 l --0.485 1.866 -0.611 1.866 -0.694 1.866 c --0.897 1.819 l --0.939 1.92 l --0.132 2.249 l -0 2.249 l -h --0.246 3.643 m --0.084 3.643 0.048 3.511 0.048 3.35 c -0.048 3.188 -0.084 3.057 -0.246 3.057 c --0.407 3.057 -0.539 3.188 -0.539 3.35 c --0.539 3.511 -0.407 3.643 -0.246 3.643 c -f -Q -q -1 0 0 1 -330.2292 88.6004 cm -/GS2 gs -0 0 m --0.107 0 l --0.197 0.401 -0.358 0.736 -0.825 0.736 c --1.041 0.736 -1.28 0.616 -1.28 0.371 c --1.28 -0.281 0.197 -0.197 0.197 -1.125 c -0.197 -1.615 -0.263 -1.926 -0.718 -1.926 c --0.892 -1.926 -1.083 -1.884 -1.256 -1.836 c --1.406 -1.806 l --1.513 -1.884 l --1.621 -1.884 l --1.621 -0.927 l --1.513 -0.927 l --1.459 -1.346 -1.143 -1.747 -0.694 -1.747 c --0.449 -1.747 -0.233 -1.603 -0.233 -1.34 c --0.233 -0.64 -1.627 -0.736 -1.627 0.114 c --1.627 0.604 -1.274 0.915 -0.795 0.915 c --0.67 0.915 -0.574 0.885 -0.455 0.85 c --0.233 0.802 l --0.107 0.915 l -0 0.915 l -h -f -Q -q -1 0 0 1 -328.4348 89.3121 cm -/GS2 gs -0 0 m -0.664 0 0.843 -0.885 0.843 -1.406 c -0.843 -1.824 0.741 -2.435 0.197 -2.435 c --0.467 -2.435 -0.652 -1.501 -0.652 -0.987 c --0.652 -0.221 -0.293 0 0 0 c -0.102 0.204 m --0.682 0.204 -1.196 -0.509 -1.196 -1.244 c --1.196 -1.961 -0.7 -2.637 0.06 -2.637 c -1.004 -2.637 1.387 -1.77 1.387 -1.155 c -1.387 -0.425 0.85 0.204 0.102 0.204 c -f -Q -q -1 0 0 1 -325.8748 88.9533 cm -/GS2 gs -0 0 m -0.335 0.371 0.569 0.562 0.909 0.562 c -1.394 0.562 1.585 0.107 1.585 -0.341 c -1.585 -1.687 l -1.585 -2.04 1.723 -2.082 1.998 -2.088 c -1.998 -2.195 l -0.688 -2.195 l -0.688 -2.088 l -0.964 -2.082 1.101 -2.04 1.101 -1.687 c -1.101 -0.449 l -1.101 0.144 0.855 0.204 0.676 0.204 c -0.401 0.204 0.197 0.024 0 -0.179 c -0 -1.687 l -0 -2.04 0.137 -2.082 0.413 -2.088 c -0.413 -2.195 l --0.897 -2.195 l --0.897 -2.088 l --0.622 -2.082 -0.485 -2.04 -0.485 -1.687 c --0.485 -0.227 l --0.485 0.179 -0.611 0.179 -0.694 0.179 c --0.897 0.132 l --0.939 0.233 l --0.132 0.562 l -0 0.562 l -h -f -Q -q -1 0 0 1 -337.9788 83.3662 cm -/GS2 gs -0 0 m -0.048 0.137 0.144 0.401 0.144 0.539 c -0.144 0.766 -0.024 0.82 -0.293 0.82 c --0.293 0.927 l -0.892 0.927 l -0.892 0.82 l -0.497 0.82 0.413 0.49 0.305 0.174 c --0.832 -3.122 l --0.945 -3.122 l --1.842 -0.611 l --1.854 -0.611 l --2.734 -3.122 l --2.853 -3.122 l --4.073 0.293 l --4.205 0.67 -4.265 0.82 -4.624 0.82 c --4.624 0.927 l --3.158 0.927 l --3.158 0.82 l --3.374 0.82 -3.547 0.771 -3.547 0.569 c --3.547 0.472 -3.487 0.317 -3.457 0.227 c --2.649 -2.075 l --2.637 -2.075 l --1.98 -0.227 l --2.142 0.216 l --2.267 0.55 -2.356 0.82 -2.751 0.82 c --2.751 0.927 l --1.202 0.927 l --1.202 0.82 l --1.454 0.82 -1.627 0.802 -1.627 0.55 c --1.627 0.377 -1.531 0.132 -1.471 -0.03 c --0.741 -2.075 l --0.73 -2.075 l -h -f -Q -q -1 0 0 1 -336.8892 82.1759 cm -/GS2 gs -0 0 m -0.024 0.347 0.275 0.7 0.628 0.7 c -1.053 0.7 1.238 0.371 1.238 0 c -h -1.848 -0.179 m -1.848 0.467 1.441 0.915 0.825 0.915 c --0.024 0.915 -0.413 0.221 -0.413 -0.55 c --0.413 -1.37 0.102 -1.926 0.753 -1.926 c -1.357 -1.926 1.747 -1.417 1.848 -0.867 c -1.759 -0.808 l -1.621 -1.196 1.387 -1.447 0.957 -1.447 c -0.305 -1.447 -0.006 -0.778 -0.006 -0.179 c -h -f -Q -q -1 0 0 1 -332.9177 82.1759 cm -/GS2 gs -0 0 m --0.107 0 l --0.197 0.401 -0.358 0.736 -0.825 0.736 c --1.041 0.736 -1.28 0.616 -1.28 0.371 c --1.28 -0.281 0.197 -0.197 0.197 -1.125 c -0.197 -1.615 -0.263 -1.926 -0.718 -1.926 c --0.892 -1.926 -1.083 -1.884 -1.257 -1.836 c --1.406 -1.806 l --1.513 -1.884 l --1.621 -1.884 l --1.621 -0.927 l --1.513 -0.927 l --1.459 -1.346 -1.143 -1.747 -0.694 -1.747 c --0.449 -1.747 -0.233 -1.603 -0.233 -1.34 c --0.233 -0.64 -1.627 -0.736 -1.627 0.114 c --1.627 0.604 -1.274 0.915 -0.795 0.915 c --0.67 0.915 -0.574 0.885 -0.455 0.85 c --0.233 0.802 l --0.107 0.915 l -0 0.915 l -h -f -Q -q -1 0 0 1 -331.4224 80.8421 cm -/GS2 gs -0 0 m -0 -0.353 0.137 -0.395 0.413 -0.4 c -0.413 -0.509 l --0.897 -0.509 l --0.897 -0.4 l --0.622 -0.395 -0.485 -0.353 -0.485 0 c --0.485 2.853 l --0.485 3.26 -0.611 3.26 -0.694 3.26 c --0.897 3.213 l --0.939 3.313 l --0.132 3.643 l -0 3.643 l -h -f -Q -q -1 0 0 1 -330.244 82.1759 cm -/GS2 gs -0 0 m -0.024 0.347 0.275 0.7 0.628 0.7 c -1.053 0.7 1.238 0.371 1.238 0 c -h -1.849 -0.179 m -1.849 0.467 1.442 0.915 0.825 0.915 c --0.024 0.915 -0.413 0.221 -0.413 -0.55 c --0.413 -1.37 0.102 -1.926 0.753 -1.926 c -1.357 -1.926 1.747 -1.417 1.849 -0.867 c -1.759 -0.808 l -1.621 -1.196 1.387 -1.447 0.957 -1.447 c -0.305 -1.447 -0.006 -0.778 -0.006 -0.179 c -h -f -Q -q -1 0 0 1 -327.7553 82.3913 cm -/GS2 gs -0 0 m --0.102 0.221 -0.239 0.479 -0.502 0.509 c --0.502 0.616 l -0.741 0.616 l -0.741 0.509 l -0.556 0.509 0.418 0.485 0.418 0.293 c -0.418 0.191 0.502 0.024 0.544 -0.072 c -1.166 -1.352 l -1.735 0.054 l -1.777 0.162 1.812 0.246 1.812 0.358 c -1.812 0.497 1.705 0.509 1.543 0.509 c -1.543 0.616 l -2.416 0.616 l -2.416 0.509 l -2.225 0.509 2.123 0.358 2.058 0.197 c -0.915 -2.602 l -0.682 -3.176 0.246 -3.35 0.035 -3.35 c --0.161 -3.35 -0.365 -3.23 -0.365 -3.015 c --0.365 -2.835 -0.221 -2.751 -0.06 -2.751 c -0.137 -2.751 0.233 -2.86 0.335 -2.86 c -0.574 -2.86 0.7 -2.524 0.771 -2.351 c -0.934 -1.95 l -h -f -Q -BT -/GS2 gs -/TT0 1 Tf --0.025 Tc 0.079 Tw 9.657 0 0 9.657 -294.746 149.6387 Tm -[(M)-20(a)-17(k)-2(e s)-14(u)-17(r)-20(e t)-16(o co)-15(n)-20(n)-20(e)-21(c)-28(t w)-21(i)-17(t)-23(h u)-20(s)-4(!)]TJ -0 Tc 0 Tw 12 0 Td -( )Tj -0.027 Tc -0.027 Tw -12 -1.222 Td -[(i)-16(n)-16(f)-6(o)-15(r)-32(m)-19(i)-17(t)-36(.co)-14(m/)67(s)-10(o)-15(c)-6(i)-16(a)-19(l)-17(co)-15(n)-20(n)-20(e)-21(c)-28(t)]TJ -ET -q -1 0 0 1 -441.5073 677.217 cm -0.291 g -/GS1 gs -0 0 m --19.874 0 -19.874 -19.874 v --19.874 -57.942 l -429.28 -57.942 l -429.28 -19.874 l -429.28 0 409.406 0 v -h -f -Q -BT -1 g -/GS1 gs -/TT0 1 Tf -0.01 Tc 0 Tw 25.752 0 0 25.752 -347.9612 654.3553 Tm -[(T)-2(h)-4(e A)8(ddi)-1(s)7(o)2(n)-12(-)31(W)50(e)-6(s)1(l)-1(e)13(y)]TJ --1.93 -1.021 Td -[(P)1(ro)9(f)5(e)-6(s)2(s)3(i)4(o)2(n)-2(a)-3(l C)5(o)2(m)-4(p)-2(u)-2(t)-7(in)1(g S)-9(e)-7(r)-17(ie)-6(s)10( )-10( )]TJ -ET -Q -0.291 g -/GS1 gs -33 24 0.591 38.065 re -f -q -33 24 0.591 675 re -W n -q -1 0 0 1 -8.8086 54.1004 cm -1 g -0 0 m --2.782 0 -5.132 -2.38 -5.132 -5.198 c --5.132 -8.401 -2.954 -10.727 0.042 -10.727 c -2.871 -10.727 5.171 -8.247 5.171 -5.198 c -5.171 -2.332 2.851 0 0 0 c -0.042 -9.419 m --2.35 -9.419 -3.219 -6.923 -3.219 -5.248 c --3.219 -3.724 -2.345 -1.311 0 -1.311 c -2.25 -1.311 3.26 -3.583 3.26 -5.198 c -3.26 -7.295 2.156 -9.419 0.042 -9.419 c --48.731 -0.001 m --46.916 -0.001 -44.974 -0.807 -44.974 -3.071 c --44.974 -5.256 -47.107 -6.567 -49.327 -6.569 c --49.334 -6.206 -49.34 -5.831 -49.344 -5.455 c --47.665 -5.326 -46.763 -4.512 -46.763 -3.166 c --46.763 -2.01 -47.7 -1.2 -49.047 -1.2 c --50.132 -1.2 l --50.134 -4.568 -50.065 -9.411 -49.932 -10.614 c --50.653 -10.469 -51.249 -10.465 -51.992 -10.614 c --51.823 -9.148 -51.71 -1.382 -52.003 0.002 c --50.638 -0.045 -50.338 -0.045 v --49.983 -0.003 -49.1 -0.001 -48.731 -0.001 c --31.329 -0.077 m --31.854 -2.138 -34.056 -8.089 -35.117 -10.616 c --34.423 -10.519 -33.688 -10.541 -33.351 -10.597 c --32.999 -9.463 -32.617 -8.114 -32.449 -7.608 c --31.351 -7.528 -30.052 -7.528 -28.745 -7.608 c --28.35 -8.668 -28.117 -9.419 -27.757 -10.593 c --27.08 -10.528 -26.389 -10.536 -25.657 -10.601 c --26.708 -8.075 -29.151 -1.568 -29.541 -0.076 c --30.072 -0.141 -30.751 -0.141 -31.329 -0.077 c --32.029 -6.191 m --31.017 -3.193 -30.678 -2.16 v --29.633 -5.122 -29.263 -6.191 v --30.382 -6.305 -30.949 -6.305 -32.029 -6.191 c --40.8 -9.276 m --39.692 -9.324 -37.046 -9.168 y --37.039 -10.305 -37.114 -10.644 y --38.101 -10.512 -41.071 -10.449 -42.681 -10.644 c --42.446 -8.075 -42.525 -2.778 -42.671 -0.031 c --41.185 -0.156 -38.34 -0.132 -37.138 -0.031 c --37.138 -1.515 l --38.169 -1.417 -39.81 -1.318 -40.747 -1.349 c --40.786 -3.807 -40.757 -4.436 v --39.082 -4.555 -37.852 -4.356 -37.324 -4.318 c --37.324 -5.798 l --39.269 -5.607 -40.751 -5.72 v --40.8 -6.711 -40.8 -8.177 -40.8 -9.276 c -16.119 -10.384 m -16.158 -10.603 l -15.699 -10.533 15 -10.521 14.562 -10.591 c -13.727 -9.358 10.425 -4.842 9.119 -3.157 c -9.072 -5.623 9.042 -9.352 9.195 -10.581 c -8.997 -10.587 8.703 -10.57 8.554 -10.57 c -8.11 -10.57 7.91 -10.549 7.513 -10.603 c -7.73 -9.329 7.782 -1.474 7.513 -0.091 c -8.147 -0.104 8.668 -0.114 8.835 -0.101 c -8.985 -0.091 9.086 -0.077 y -12.637 -4.839 14.492 -7.329 v -14.51 -6.388 14.596 -1.658 14.418 -0.054 c -14.667 -0.089 14.976 -0.179 15.284 -0.174 c -15.566 -0.168 15.871 -0.101 16.149 -0.05 c -15.895 -2.055 15.804 -8.884 16.119 -10.384 c --16.801 -2.84 m --16.801 -4.541 -17.95 -5.521 -19.057 -5.738 c --18.253 -6.77 -15.348 -10.619 y --16.081 -10.509 -17.157 -10.528 -17.696 -10.592 c --18.622 -9.145 -20.185 -6.906 -20.784 -6.182 c --20.796 -5.766 -20.8 -5.449 -20.808 -5.04 c --19.008 -5.079 -18.627 -3.881 -18.627 -3.032 c --18.627 -1.902 -19.654 -1.311 -20.668 -1.311 c --21.549 -1.311 l --21.624 -3.33 -21.48 -8.29 -21.392 -10.597 c --22.094 -10.524 -22.87 -10.536 -23.429 -10.597 c --23.192 -8.906 -23.234 -1.209 -23.429 -0.034 c --22.318 -0.119 -21.837 -0.091 v --21.401 -0.068 -20.994 -0.045 -20.483 -0.045 c --19.375 -0.045 -16.801 -0.317 -16.801 -2.84 c --9.327 -4.597 m --8.169 -5.335 -7.286 -6.024 -7.286 -7.597 c --7.286 -9.866 -9.06 -10.671 -10.583 -10.671 c --11.837 -10.671 -13.167 -10.01 -13.782 -9.535 c --13.552 -9.079 -13.311 -8.61 -13.132 -7.965 c --12.45 -8.73 -11.397 -9.27 -10.675 -9.27 c --9.724 -9.27 -9.151 -8.75 -9.151 -7.878 c --9.113 -7.223 -9.583 -6.761 -10.171 -6.268 c --10.601 -5.912 -11.688 -5.208 -11.948 -4.998 c --12.804 -4.3 -13.33 -3.715 -13.33 -2.602 c --13.33 -1.118 -12.012 0 -10.262 0 c --9.367 0 -8.529 -0.267 -7.506 -0.951 c --7.757 -1.332 -8.108 -1.917 -8.29 -2.456 c --8.701 -1.899 -9.333 -1.311 -10.209 -1.311 c --11.038 -1.311 -11.553 -1.792 -11.553 -2.562 c --11.553 -2.814 -11.371 -3.102 -10.995 -3.438 c --10.622 -3.759 -10.107 -4.119 -9.327 -4.597 c -f -Q -q -1 0 0 1 -479.8089 51.3455 cm -1 g -0 0 m -0.498 0 l -2.729 -5.003 l -2 -5.003 l -1.336 -3.528 l --0.783 -3.528 l --1.406 -5.003 l --2.136 -5.003 l -h -1.046 -2.898 m -0.245 -1.092 l --0.501 -2.898 l -h -4.439 -0.028 m -5.151 -0.028 l -5.151 -4.353 l -7.393 -4.353 l -7.393 -5.003 l -4.439 -5.003 l -h -15.073 -0.028 m -15.785 -0.028 l -13.776 -5.024 l -13.618 -5.024 l -11.993 -0.979 l -10.351 -5.024 l -10.197 -5.024 l -8.194 -0.028 l -8.91 -0.028 l -10.279 -3.456 l -11.662 -0.028 l -12.334 -0.028 l -13.721 -3.456 l -h -18.8 0 m -19.3 0 l -21.529 -5.003 l -20.801 -5.003 l -20.14 -3.528 l -18.017 -3.528 l -17.395 -5.003 l -16.664 -5.003 l -h -19.846 -2.898 m -19.043 -1.092 l -18.297 -2.898 l -h -25.723 -0.028 m -26.585 -0.028 l -24.748 -2.371 l -24.748 -5.003 l -24.02 -5.003 l -24.02 -2.371 l -22.183 -0.028 l -23.043 -0.028 l -24.372 -1.743 l -h -29.68 -2.921 m -29.137 -2.591 l -28.797 -2.384 28.557 -2.18 28.413 -1.982 c -28.269 -1.78 28.197 -1.549 28.197 -1.289 c -28.197 -0.891 28.333 -0.579 28.603 -0.333 c -28.874 -0.088 29.23 0.033 29.664 0.033 c -30.079 0.033 30.459 -0.086 30.808 -0.315 c -30.808 -1.123 l -30.447 -0.781 30.062 -0.606 29.65 -0.606 c -29.416 -0.606 29.226 -0.659 29.075 -0.767 c -28.926 -0.873 28.852 -1.014 28.852 -1.177 c -28.852 -1.329 28.906 -1.469 29.016 -1.598 c -29.129 -1.728 29.304 -1.868 29.548 -2.009 c -30.091 -2.331 l -30.697 -2.693 31.001 -3.152 31.001 -3.71 c -31.001 -4.109 30.87 -4.436 30.604 -4.684 c -30.337 -4.936 29.987 -5.06 29.56 -5.06 c -29.07 -5.06 28.621 -4.909 28.219 -4.609 c -28.219 -3.703 l -28.603 -4.188 29.047 -4.431 29.555 -4.431 c -29.777 -4.431 29.964 -4.369 30.111 -4.246 c -30.26 -4.124 30.334 -3.967 30.334 -3.779 c -30.334 -3.477 30.113 -3.19 29.68 -2.921 c -36.726 -0.028 m -37.438 -0.028 l -37.438 -4.353 l -39.677 -4.353 l -39.677 -5.003 l -36.726 -5.003 l -h -41.758 -0.028 m -44.577 -0.028 l -44.577 -0.661 l -42.469 -0.661 l -42.469 -2.18 l -44.506 -2.18 l -44.506 -2.816 l -42.469 -2.816 l -42.469 -4.362 l -44.645 -4.362 l -44.645 -4.994 l -41.758 -4.994 l -h -48.595 0 m -49.096 0 l -51.325 -5.003 l -50.599 -5.003 l -49.933 -3.528 l -47.811 -3.528 l -47.189 -5.003 l -46.459 -5.003 l -h -49.641 -2.898 m -48.839 -1.092 l -48.095 -2.898 l -h -53.35 -5.003 m -53.35 -0.028 l -54.595 -0.028 l -55.097 -0.028 55.498 -0.155 55.793 -0.405 c -56.088 -0.652 56.236 -0.99 56.236 -1.414 c -56.236 -1.706 56.164 -1.952 56.018 -2.162 c -55.873 -2.379 55.666 -2.534 55.396 -2.64 c -55.555 -2.74 55.709 -2.886 55.863 -3.067 c -56.016 -3.247 56.228 -3.561 56.502 -4.006 c -56.675 -4.289 56.816 -4.503 56.918 -4.648 c -57.183 -5.003 l -56.336 -5.003 l -56.12 -4.674 l -56.075 -4.614 l -55.938 -4.419 l -55.718 -4.053 l -55.482 -3.666 l -55.332 -3.466 55.196 -3.301 55.073 -3.177 c -54.954 -3.057 54.841 -2.972 54.747 -2.921 c -54.646 -2.865 54.48 -2.838 54.247 -2.838 c -54.062 -2.838 l -54.062 -5.003 l -h -54.276 -0.633 m -54.062 -0.633 l -54.062 -2.206 l -54.333 -2.206 l -54.692 -2.206 54.94 -2.176 55.073 -2.114 c -55.209 -2.049 55.311 -1.958 55.387 -1.831 c -55.462 -1.708 55.501 -1.567 55.501 -1.408 c -55.501 -1.249 55.459 -1.109 55.375 -0.986 c -55.291 -0.854 55.175 -0.767 55.024 -0.712 c -54.871 -0.661 54.624 -0.633 54.276 -0.633 c -63.139 -0.028 m -63.815 -0.028 l -63.815 -5.003 l -63.205 -5.003 l -59.88 -1.172 l -59.88 -5.003 l -59.211 -5.003 l -59.211 -0.028 l -59.788 -0.028 l -63.139 -3.894 l -h -66.347 -0.028 0.711 -4.973 re -73.57 -0.028 m -74.247 -0.028 l -74.247 -5.003 l -73.636 -5.003 l -70.308 -1.172 l -70.308 -5.003 l -69.639 -5.003 l -69.639 -0.028 l -70.216 -0.028 l -73.57 -3.894 l -h -79.023 -2.551 m -80.691 -2.551 l -80.691 -4.66 l -80.079 -4.926 79.471 -5.06 78.871 -5.06 c -78.047 -5.06 77.387 -4.822 76.894 -4.337 c -76.404 -3.86 76.154 -3.267 76.154 -2.56 c -76.154 -1.819 76.41 -1.197 76.922 -0.707 c -77.434 -0.215 78.07 0.033 78.842 0.033 c -79.119 0.033 79.385 0.002 79.639 -0.055 c -79.89 -0.12 80.208 -0.225 80.592 -0.393 c -80.592 -1.116 l -79.999 -0.769 79.411 -0.599 78.825 -0.599 c -78.283 -0.599 77.826 -0.784 77.452 -1.156 c -77.077 -1.524 76.894 -1.982 76.894 -2.517 c -76.894 -3.082 77.077 -3.543 77.452 -3.899 c -77.826 -4.26 78.304 -4.441 78.889 -4.441 c -79.174 -4.441 79.515 -4.375 79.912 -4.246 c -79.98 -4.225 l -79.98 -3.185 l -79.023 -3.185 l -h -f -Q -q -1 0 0 1 -513.638 723.1 cm -0.268 w -0 0 m --16.095 0 l -553.668 0 m -569.763 0 l -0 -704.961 m --16.095 -704.961 l -553.668 -704.961 m -569.763 -704.961 l -6.438 6.438 m -6.438 22.533 l -6.438 -711.399 m -6.438 -727.494 l -547.23 6.438 m -547.23 22.533 l -547.23 -711.399 m -547.23 -727.494 l -S -Q -Q -q -1 0 0 1 252.4841 151.4443 cm -0 g -0 0 m --5.7 0 l --2.876 4.956 l -h -f -Q -q -1 0 0 1 248.9255 150.416 cm -0 g -0 0 m --2.848 -4.938 l --5.73 -0.016 l -h -f -Q -q -1 0 0 1 255.7883 150.416 cm -0 g -0 0 m --2.848 -4.938 l --5.73 -0.016 l -h -f -Q -q -243.195 142.5 110.609 13.9 re -W n -q -1 0 0 1 263.8024 148.9819 cm -0 g -0 0 m -0.533 -1.228 l -0.651 -1.524 0.888 -2.028 0.888 -2.353 c -0.888 -2.871 0.519 -2.99 -0.118 -3.019 c --0.118 -3.286 l -3.745 -3.286 l -3.745 -3.019 l -2.649 -2.975 2.368 -2.146 1.998 -1.258 c --1.332 6.734 l --1.598 6.734 l --5.12 -1.524 l --5.564 -2.56 -5.875 -2.945 -6.645 -3.019 c --6.645 -3.286 l --3.566 -3.286 l --3.566 -3.019 l --4.114 -2.975 -4.706 -2.916 -4.706 -2.368 c --4.706 -2.086 -4.499 -1.628 -4.381 -1.376 c --3.788 0 l -h --0.192 0.533 m --3.566 0.533 l --1.864 4.484 l -h -f -Q -q -1 0 0 1 272.8455 151.957 cm -0 g -0 0 m --0.385 0.399 -0.933 0.562 -1.465 0.562 c --3.39 0.562 -4.648 -1.436 -4.648 -3.197 c --4.648 -4.751 -3.7 -6.468 -1.969 -6.468 c --1.14 -6.468 -0.563 -6.098 0 -5.52 c -0 -6.468 l -0.325 -6.468 l -2.323 -5.654 l -2.22 -5.402 l -2.072 -5.461 1.879 -5.52 1.717 -5.52 c -1.51 -5.52 1.199 -5.52 1.199 -4.514 c -1.199 4.011 l -0.873 4.011 l --1.125 3.196 l --1.022 2.945 l --0.873 3.004 -0.681 3.064 -0.518 3.064 c --0.311 3.064 0 3.064 0 2.057 c -h -0 -5.003 m --0.341 -5.373 -0.755 -5.669 -1.273 -5.669 c --2.398 -5.669 -3.301 -4.484 -3.301 -2.679 c --3.301 -0.37 -2.072 0.118 -1.539 0.118 c --0.533 0.118 0 -0.889 0 -1.776 c -h -f -Q -q -1 0 0 1 280.2453 151.957 cm -0 g -0 0 m --0.385 0.399 -0.932 0.562 -1.465 0.562 c --3.389 0.562 -4.647 -1.436 -4.647 -3.197 c --4.647 -4.751 -3.7 -6.468 -1.968 -6.468 c --1.14 -6.468 -0.563 -6.098 0 -5.52 c -0 -6.468 l -0.326 -6.468 l -2.324 -5.654 l -2.22 -5.402 l -2.072 -5.461 1.879 -5.52 1.717 -5.52 c -1.509 -5.52 1.199 -5.52 1.199 -4.514 c -1.199 4.011 l -0.874 4.011 l --1.124 3.196 l --1.021 2.945 l --0.873 3.004 -0.681 3.064 -0.518 3.064 c --0.311 3.064 0 3.064 0 2.057 c -h -0 -5.003 m --0.34 -5.373 -0.755 -5.669 -1.273 -5.669 c --2.398 -5.669 -3.3 -4.484 -3.3 -2.679 c --3.3 -0.37 -2.072 0.118 -1.539 0.118 c --0.533 0.118 0 -0.889 0 -1.776 c -h -f -Q -q -1 0 0 1 284.6111 155.9678 cm -0 g -0 0 m -0.4 0 0.726 -0.326 0.726 -0.726 c -0.726 -1.125 0.4 -1.451 0 -1.451 c --0.399 -1.451 -0.725 -1.125 -0.725 -0.726 c --0.725 -0.326 -0.399 0 0 0 c -0.607 -9.014 m -0.607 -9.887 0.947 -9.99 1.628 -10.005 c -1.628 -10.272 l --1.613 -10.272 l --1.613 -10.005 l --0.932 -9.99 -0.592 -9.887 -0.592 -9.014 c --0.592 -5.402 l --0.592 -4.396 -0.902 -4.396 -1.109 -4.396 c --1.272 -4.396 -1.465 -4.455 -1.613 -4.514 c --1.717 -4.263 l -0.281 -3.449 l -0.607 -3.449 l -h -f -Q -q -1 0 0 1 291.3893 150.2549 cm -0 g -0 0 m --0.266 0 l --0.488 0.991 -0.888 1.82 -2.042 1.82 c --2.575 1.82 -3.167 1.524 -3.167 0.918 c --3.167 -0.696 0.489 -0.488 0.489 -2.782 c -0.489 -3.996 -0.651 -4.766 -1.775 -4.766 c --2.205 -4.766 -2.679 -4.662 -3.107 -4.544 c --3.196 -4.514 -3.374 -4.47 -3.478 -4.47 c --3.611 -4.47 -3.714 -4.544 -3.744 -4.662 c --4.011 -4.662 l --4.011 -2.294 l --3.744 -2.294 l --3.611 -3.33 -2.826 -4.322 -1.717 -4.322 c --1.109 -4.322 -0.577 -3.967 -0.577 -3.315 c --0.577 -1.584 -4.025 -1.82 -4.025 0.281 c --4.025 1.495 -3.152 2.264 -1.968 2.264 c --1.657 2.264 -1.42 2.19 -1.125 2.102 c --0.947 2.057 -0.754 1.983 -0.577 1.983 c --0.385 1.983 -0.325 2.102 -0.266 2.264 c -0 2.264 l -h -f -Q -q -1 0 0 1 296.0812 152.5191 cm -0 g -0 0 m --1.939 0 -3.211 -1.761 -3.211 -3.582 c --3.211 -5.357 -1.983 -7.03 -0.104 -7.03 c -2.235 -7.03 3.182 -4.884 3.182 -3.36 c -3.182 -1.554 1.85 0 0 0 c --0.251 -0.503 m -1.391 -0.503 1.836 -2.694 1.836 -3.981 c -1.836 -5.017 1.583 -6.527 0.237 -6.527 c --1.406 -6.527 -1.865 -4.218 -1.865 -2.945 c --1.865 -1.051 -0.977 -0.503 -0.251 -0.503 c -f -Q -q -1 0 0 1 302.1638 151.1279 cm -0 g -0 0 m -0.829 0.918 1.406 1.391 2.25 1.391 c -3.448 1.391 3.922 0.267 3.922 -0.844 c -3.922 -4.174 l -3.922 -5.047 4.263 -5.15 4.943 -5.165 c -4.943 -5.432 l -1.702 -5.432 l -1.702 -5.165 l -2.383 -5.15 2.724 -5.047 2.724 -4.174 c -2.724 -1.11 l -2.724 0.355 2.117 0.503 1.673 0.503 c -0.992 0.503 0.488 0.06 0 -0.444 c -0 -4.174 l -0 -5.047 0.341 -5.15 1.021 -5.165 c -1.021 -5.432 l --2.22 -5.432 l --2.22 -5.165 l --1.539 -5.15 -1.198 -5.047 -1.198 -4.174 c --1.198 -0.563 l --1.198 0.444 -1.509 0.444 -1.717 0.444 c --1.879 0.444 -2.072 0.385 -2.22 0.326 c --2.323 0.577 l --0.325 1.391 l -0 1.391 l -h -f -Q -q -1 0 0 1 0 -0 cm -0 g -311.503 148.449 -3.744 1.14 re -f -Q -q -1 0 0 1 322.5291 153.2002 cm -0 g -0 0 m -0.118 0.34 0.354 0.991 0.354 1.332 c -0.354 1.894 -0.06 2.027 -0.726 2.027 c --0.726 2.294 l -2.205 2.294 l -2.205 2.027 l -1.228 2.027 1.021 1.213 0.754 0.429 c --2.058 -7.726 l --2.339 -7.726 l --4.559 -1.51 l --4.588 -1.51 l --6.764 -7.726 l --7.06 -7.726 l --10.079 0.725 l --10.405 1.657 -10.553 2.027 -11.44 2.027 c --11.44 2.294 l --7.815 2.294 l --7.815 2.027 l --8.348 2.027 -8.776 1.909 -8.776 1.406 c --8.776 1.169 -8.629 0.784 -8.555 0.563 c --6.557 -5.136 l --6.527 -5.136 l --4.899 -0.563 l --5.299 0.532 l --5.609 1.361 -5.832 2.027 -6.809 2.027 c --6.809 2.294 l --2.975 2.294 l --2.975 2.027 l --3.597 2.027 -4.026 1.983 -4.026 1.361 c --4.026 0.932 -3.789 0.325 -3.641 -0.074 c --1.836 -5.136 l --1.806 -5.136 l -h -f -Q -q -1 0 0 1 329.7976 149.8106 cm -0 g -0 0 m -0 1.599 -1.006 2.708 -2.53 2.708 c --4.632 2.708 -5.594 0.992 -5.594 -0.917 c --5.594 -2.945 -4.321 -4.321 -2.708 -4.321 c --1.213 -4.321 -0.251 -3.063 0 -1.702 c --0.222 -1.554 l --0.563 -2.516 -1.14 -3.138 -2.205 -3.138 c --3.818 -3.138 -4.588 -1.479 -4.588 0 c -h --4.573 0.444 m --4.514 1.303 -3.893 2.176 -3.019 2.176 c --1.968 2.176 -1.51 1.362 -1.51 0.444 c -h -f -Q -q -1 0 0 1 335.0515 150.2549 cm -0 g -0 0 m --0.267 0 l --0.488 0.991 -0.888 1.82 -2.042 1.82 c --2.575 1.82 -3.167 1.524 -3.167 0.918 c --3.167 -0.696 0.488 -0.488 0.488 -2.782 c -0.488 -3.996 -0.651 -4.766 -1.776 -4.766 c --2.205 -4.766 -2.679 -4.662 -3.108 -4.544 c --3.197 -4.514 -3.374 -4.47 -3.478 -4.47 c --3.611 -4.47 -3.715 -4.544 -3.744 -4.662 c --4.011 -4.662 l --4.011 -2.294 l --3.744 -2.294 l --3.611 -3.33 -2.827 -4.322 -1.717 -4.322 c --1.11 -4.322 -0.577 -3.967 -0.577 -3.315 c --0.577 -1.584 -4.025 -1.82 -4.025 0.281 c --4.025 1.495 -3.152 2.264 -1.968 2.264 c --1.657 2.264 -1.421 2.19 -1.125 2.102 c --0.947 2.057 -0.755 1.983 -0.577 1.983 c --0.385 1.983 -0.325 2.102 -0.267 2.264 c -0 2.264 l -h -f -Q -q -1 0 0 1 338.7517 146.9541 cm -0 g -0 0 m -0 -0.873 0.34 -0.977 1.021 -0.991 c -1.021 -1.258 l --2.22 -1.258 l --2.22 -0.991 l --1.54 -0.977 -1.199 -0.873 -1.199 0 c --1.199 7.06 l --1.199 8.066 -1.51 8.066 -1.717 8.066 c --1.88 8.066 -2.072 8.007 -2.22 7.948 c --2.324 8.199 l --0.326 9.014 l -0 9.014 l -h -f -Q -q -1 0 0 1 346.2396 149.8106 cm -0 g -0 0 m -0 1.599 -1.006 2.708 -2.53 2.708 c --4.631 2.708 -5.593 0.992 -5.593 -0.917 c --5.593 -2.945 -4.321 -4.321 -2.708 -4.321 c --1.213 -4.321 -0.251 -3.063 0 -1.702 c --0.221 -1.554 l --0.562 -2.516 -1.139 -3.138 -2.205 -3.138 c --3.818 -3.138 -4.588 -1.479 -4.588 0 c -h --4.573 0.444 m --4.513 1.303 -3.892 2.176 -3.019 2.176 c --1.967 2.176 -1.509 1.362 -1.509 0.444 c -h -f -Q -q -1 0 0 1 347.8245 150.7876 cm -0 g -0 0 m --0.251 0.547 -0.591 1.184 -1.243 1.258 c --1.243 1.524 l -1.835 1.524 l -1.835 1.258 l -1.377 1.258 1.037 1.199 1.037 0.725 c -1.037 0.474 1.244 0.059 1.347 -0.178 c -2.887 -3.345 l -4.292 0.133 l -4.396 0.4 4.485 0.607 4.485 0.888 c -4.485 1.228 4.218 1.258 3.819 1.258 c -3.819 1.524 l -5.98 1.524 l -5.98 1.258 l -5.506 1.258 5.255 0.888 5.092 0.488 c -2.265 -6.438 l -1.688 -7.859 0.608 -8.288 0.089 -8.288 c --0.399 -8.288 -0.902 -7.992 -0.902 -7.46 c --0.902 -7.015 -0.546 -6.808 -0.147 -6.808 c -0.341 -6.808 0.578 -7.075 0.829 -7.075 c -1.421 -7.075 1.732 -6.246 1.91 -5.816 c -2.309 -4.825 l -h -f -Q -Q -BT -0 g -/GS0 gs -/C0_0 1 Tf -0.004 Tw 11 0 0 11 142.3261 124.7733 Tm -[<0031>36<00AB>7<00AB>-4<0069>2<00C000CA>-25<002D003E>17<0060>26<0060>-6<008F>14<006900CA>-25<002C>-17<0088>21<00DB>29<0069>2<00C0>70<005D00CA>-25<0020>-3<001B00CA>-25<005500CA>-25<0009>-1<009C>-3<00C3>12<00CC>11<009C>13<009800CA>-25<005500CA>-25<0016>-5<0098>12<0060>-6<0088>-3<003E>-9<0098>-6<003E>32<00AB>-3<009C>19<008F>-14<0088>-9<00C300CA>-25<005500CA>-25<002D003E>-9<009800CA>-25<0013>18<00C0>8<003E>-9<0098>12<0056>-10<0088>-9<00C3>-2<0056>5<009C>]TJ --0.027 Tw -1.405 -1.364 Td -[<0020>27<0069>11<00DC00CA>-25<0039>88<009C>13<00C0>25<008E00CA>-25<005500CA>-25<002F>90<009C>13<00C0>3<009C>13<0098>22<00CC>11<009C00CA>-25<005500CA>-25<001F>21<009C>13<0098>22<00CC>-18<00C0>1<0069>-1<003E>-9<008F00CA>-25<005500CA>-25<001D>-2<009C>13<0098>12<0060>23<009C>13<009800CA>-25<005500CA>-25<001F>31<00D5>-14<0098>-17<0088>15<0056>-9<008500CA>-25<005500CA>-25<002A>35<003E>-9<00C0>-14<0088>-9<00C300CA>-25<005500CA>-25<001F>3<003E>17<0060>-6<00C0>-14<0088>15<0060>]TJ -0 Tw 3.192 -1.364 Td -[<000A>2<003E>32<00AB>-4<0069>-3<00CC>11<009C>27<00DC>-17<009800CA>-25<005500CA>-25<002D>37<00DE>33<0060>-6<0098>12<0069>9<00DE00CA>-25<005500CA>-25<002F>90<009C>19<008E>-8<00DE>28<009C00CA>-25<005500CA>-25<002D>14<0088>-14<0098>13<007D>6<003E>32<00AB>-3<009C>13<00C0>1<006900CA>-25<005500CA>-25<001F>21<0069>1<00DD>-14<0088>15<0056>5<009C00CA>-25<000A>9<0088>24<00CC>-23<00DE>]TJ -ET -q -1 0 0 1 47.58 40.02 cm -/GS3 gs -/Fm1 Do -Q - -endstream endobj 47802 0 obj <> endobj 47803 0 obj <>stream -q -/Fm0 Do -Q -BT -0.291 g -/GS0 gs -/TT0 1 Tf -0.01 Tc 0.183 Tw 12.876 0 0 12.876 91.399 351.2877 Tm -[(T)-1(h)1(e A)9(dd)-1(i)-2(s)7(o)-1(n)-14(-)26(W)52(e)-7(s)2(le)12(y P)-5(r)10(o)2(f)7(e)-7(s)-2(s)2(i)3(o)-1(n)-7(a)-1(l C)2(o)-2(m)-3(p)1(u)-4(tin)2(g S)-8(e)-8(r)-4(i)3(e)-7(s)]TJ -0 g -/GS1 gs -/TT1 1 Tf -0.165 Tw [( w)-6(a)-16(s c)7(r)-8(e)-6(a)6(t)-7(e)-8(d i)-4(n 1)65(9)-3(9)-11(0 t)-4(o)10( )]TJ -0.137 Tw 0 -1.417 TD -[(p)-3(r)-4(o)14(v)-9(i)-2(d)-4(e s)3(e)-11(r)-21(i)1(o)-3(u)-8(s p)-3(r)-4(o)1(g)-7(r)-24(a)-5(m)-8(m)-8(e)-11(r)-24(s a)-5(n)-6(d n)-8(e)-2(t)-30(w)12(o)-2(r)-21(k)-24(i)-4(n)-3(g p)-3(r)-4(o)5(f)1(e)-10(s)-1(si)1(o)-2(n)-6(a)-7(l)-8(s w)-9(i)-5(t)-11(h w)9(e)-10(l)-4(l)-12(-)2(w)-9(r)-21(i)-5(t)-27(t)-7(e)-11(n)10( )]TJ -0.117 Tw T* -[(a)-5(n)-6(d p)-3(r)-24(ac)-16(t)-11(i)-1(c)-5(a)-7(l r)-8(e)-5(f)1(e)-11(r)-8(e)-11(n)-8(c)10(e b)-1(oo)-2(k)-28(s)-5(. T)-6(h)-8(e)-11(r)-8(e a)-5(r)-8(e f)1(e)5(w p)-4(l)-5(ac)10(e)-9(s t)-4(o t)-10(u)-5(r)-21(n f)7(o)-2(r ac)9(c)7(u)-5(r)-24(a)6(t)-7(e a)-5(n)-6(d)10( )]TJ -0.036 Tw T* -[(a)-3(u)-6(t)-11(h)-4(o)-2(r)-21(i)-5(t)-22(a)6(t)-11(i)-9(v)9(e b)-1(oo)-2(k)-29(s o)-2(n c)7(u)-5(r)-21(r)-8(e)-11(nt a)-5(n)-6(d c)7(u)-6(t)-27(t)-11(i)-4(n)-3(g)-4(-)-20(e)-8(d)-1(g)3(e t)-7(e)-8(c)7(h)-8(n)-4(o)-3(l)-4(o)1(g)-38(y)55(. W)45(e h)-4(o)-2(p)-3(e t)-11(h)-6(a)6(t o)-3(u)-5(r)10( )]TJ -0.066 Tw T* -[(b)-1(oo)-2(k)-29(s w)-9(i)-5(l)-4(l h)-8(e)-10(l)-4(p y)15(o)-3(u u)-5(n)-6(d)-4(e)-11(r)-24(s)-9(t)-22(a)-5(n)-6(d t)-11(h)-8(e s)-9(t)-22(a)6(t)-7(e o)5(f t)-11(h)-8(e a)-5(r)-48(t i)-4(n p)-3(r)-4(o)1(g)-7(r)-24(a)-5(m)-8(m)-7(i)-4(n)-3(g l)-5(a)-5(n)-3(g)-11(u)-5(a)-2(g)3(e)-10(s)-5(,)10( )]TJ -0 Tw T* -[(o)-2(p)-3(e)-11(r)-24(a)6(t)-11(i)-4(n)-3(g s)-12(y)-3(s)-9(t)-7(e)-10(m)-8(s)-5(, a)-5(n)-6(d n)-8(e)-2(t)-30(w)12(o)-2(r)-21(k)-29(s)-5(.)10( )]TJ -0.291 g -/GS0 gs -/TT0 1 Tf -0 Tc 8.675 -2.417 Td -[(C)2(o)-1(n)-2(s)4(u)2(l)-4(tin)3(g E)11(d)-1(i)-4(t)1(o)-2(r B)-19(r)-4(i)-7(a)-2(n W)64(. K)28(e)-8(r)-6(n)3(ig)-3(h)-7(a)-2(n)]TJ -ET -q -1 0 0 1 88.8302 377.8087 cm -0.509 G -1.073 w 4 M -0 0 m -410.731 0 l -S -Q -BT -0 g -/GS1 gs -/TT1 1 Tf -0.01 Tc -0.01 Tw 12.876 0 0 12.876 163.8848 415.9174 Tm -[(V)-3(i)-4(si)-5(t )]TJ -0.291 g -/GS0 gs -/TT0 1 Tf -0.023 Tc -0.023 Tw 2.01 0 Td -[(i)-2(n)-2(f)7(o)-4(r)-9(mi)-6(t)-30(.)6(c)4(o)-4(m)-9(/)27(s)4(e)-10(r)-6(i)1(e)-9(s)-6(/)23(p)-5(r)8(of)5(e)-9(s)-4(si)1(o)-3(n)-9(a)-3(l)-3(c)4(o)-4(m)-5(p)-1(u)-6(t)-2(i)-2(ng)]TJ -0 g -/GS1 gs -/TT2 1 Tf -0 Tc 0 Tw 18.231 0 Td -[( )-35( )]TJ -/TT1 1 Tf -0.015 Tc -0.005 Tw -18.895 -1.333 Td -[(f)12(o)3(r)5( a)5( c)19(o)3(m)-3(p)1(le)3(t)-2(e)5( li)1(s)-4(t)5( o)10(f)5( a)20(v)-1(ailab)1(le)5( p)-1(ub)1(l)1(i)3(ca)11(t)-6(i)6(o)3(n)-3(s.)]TJ -ET -q -24 24 540 675 re -W n -q -1 0 0 1 40.5623 39.6913 cm -0.95 g -/GS0 gs -0 0 m -0.674 0 l -3.689 -6.764 l -2.705 -6.764 l -1.807 -4.771 l --1.059 -4.771 l --1.9 -6.764 l --2.89 -6.764 l -h -1.414 -3.919 m -0.33 -1.478 l --0.678 -3.919 l -h -6.005 -0.038 m -6.967 -0.038 l -6.967 -5.886 l -9.997 -5.886 l -9.997 -6.764 l -6.005 -6.764 l -h -20.386 -0.038 m -21.348 -0.038 l -18.63 -6.793 l -18.418 -6.793 l -16.221 -1.324 l -13.999 -6.793 l -13.79 -6.793 l -11.082 -0.038 l -12.05 -0.038 l -13.902 -4.675 l -15.771 -0.038 l -16.681 -0.038 l -18.556 -4.675 l -h -25.425 0 m -26.102 0 l -29.116 -6.764 l -28.131 -6.764 l -27.237 -4.771 l -24.367 -4.771 l -23.526 -6.764 l -22.535 -6.764 l -h -26.841 -3.919 m -25.753 -1.478 l -24.746 -3.919 l -h -34.788 -0.038 m -35.953 -0.038 l -33.469 -3.207 l -33.469 -6.764 l -32.484 -6.764 l -32.484 -3.207 l -30 -0.038 l -31.163 -0.038 l -32.961 -2.355 l -h -40.14 -3.949 m -39.405 -3.505 l -38.947 -3.224 38.62 -2.949 38.426 -2.68 c -38.231 -2.405 38.135 -2.094 38.135 -1.743 c -38.135 -1.205 38.318 -0.783 38.683 -0.45 c -39.05 -0.12 39.53 0.045 40.117 0.045 c -40.68 0.045 41.194 -0.116 41.666 -0.427 c -41.666 -1.519 l -41.179 -1.056 40.656 -0.821 40.099 -0.821 c -39.783 -0.821 39.526 -0.892 39.321 -1.038 c -39.12 -1.18 39.02 -1.37 39.02 -1.592 c -39.02 -1.796 39.092 -1.987 39.241 -2.161 c -39.394 -2.336 39.63 -2.526 39.962 -2.718 c -40.697 -3.15 l -41.517 -3.643 41.926 -4.264 41.926 -5.018 c -41.926 -5.556 41.747 -5.998 41.389 -6.334 c -41.027 -6.674 40.556 -6.843 39.978 -6.843 c -39.315 -6.843 38.707 -6.639 38.163 -6.232 c -38.163 -5.008 l -38.683 -5.663 39.284 -5.994 39.97 -5.994 c -40.27 -5.994 40.523 -5.909 40.721 -5.742 c -40.924 -5.575 41.022 -5.365 41.022 -5.113 c -41.022 -4.703 40.725 -4.313 40.14 -3.949 c -49.668 -0.038 m -50.631 -0.038 l -50.631 -5.886 l -53.66 -5.886 l -53.66 -6.764 l -49.668 -6.764 l -h -56.474 -0.038 m -60.286 -0.038 l -60.286 -0.894 l -57.436 -0.894 l -57.436 -2.949 l -60.19 -2.949 l -60.19 -3.807 l -57.436 -3.807 l -57.436 -5.898 l -60.379 -5.898 l -60.379 -6.755 l -56.474 -6.755 l -h -65.72 0 m -66.398 0 l -69.412 -6.764 l -68.432 -6.764 l -67.53 -4.771 l -64.66 -4.771 l -63.82 -6.764 l -62.833 -6.764 l -h -67.134 -3.919 m -66.05 -1.478 l -65.045 -3.919 l -h -72.15 -6.764 m -72.15 -0.038 l -73.835 -0.038 l -74.513 -0.038 75.056 -0.207 75.456 -0.546 c -75.854 -0.883 76.054 -1.339 76.054 -1.912 c -76.054 -2.308 75.957 -2.641 75.759 -2.923 c -75.565 -3.217 75.284 -3.427 74.919 -3.569 c -75.133 -3.706 75.342 -3.904 75.548 -4.148 c -75.756 -4.391 76.044 -4.817 76.414 -5.418 c -76.648 -5.802 76.839 -6.09 76.978 -6.286 c -77.335 -6.764 l -76.188 -6.764 l -75.898 -6.321 l -75.837 -6.24 l -75.651 -5.976 l -75.354 -5.481 l -75.034 -4.958 l -74.833 -4.686 74.648 -4.464 74.481 -4.297 c -74.32 -4.133 74.168 -4.018 74.039 -3.949 c -73.903 -3.875 73.68 -3.837 73.363 -3.837 c -73.115 -3.837 l -73.115 -6.764 l -h -73.404 -0.856 m -73.115 -0.856 l -73.115 -2.984 l -73.48 -2.984 l -73.965 -2.984 74.3 -2.943 74.481 -2.86 c -74.665 -2.77 74.804 -2.648 74.906 -2.475 c -75.008 -2.31 75.061 -2.119 75.061 -1.904 c -75.061 -1.689 75.003 -1.5 74.891 -1.334 c -74.775 -1.155 74.62 -1.038 74.416 -0.965 c -74.209 -0.894 73.874 -0.856 73.404 -0.856 c -85.389 -0.038 m -86.304 -0.038 l -86.304 -6.764 l -85.479 -6.764 l -80.983 -1.586 l -80.983 -6.764 l -80.078 -6.764 l -80.078 -0.038 l -80.858 -0.038 l -85.389 -5.265 l -h -89.727 -0.038 0.961 -6.726 re -99.498 -0.038 m -100.412 -0.038 l -100.412 -6.764 l -99.585 -6.764 l -95.087 -1.586 l -95.087 -6.764 l -94.181 -6.764 l -94.181 -0.038 l -94.96 -0.038 l -99.498 -5.265 l -h -106.871 -3.449 m -109.126 -3.449 l -109.126 -6.302 l -108.299 -6.662 107.477 -6.843 106.665 -6.843 c -105.552 -6.843 104.659 -6.52 103.992 -5.865 c -103.329 -5.22 102.992 -4.418 102.992 -3.46 c -102.992 -2.46 103.34 -1.619 104.029 -0.956 c -104.723 -0.29 105.583 0.045 106.625 0.045 c -107.001 0.045 107.361 0.003 107.704 -0.074 c -108.044 -0.162 108.474 -0.305 108.994 -0.53 c -108.994 -1.509 l -108.191 -1.041 107.395 -0.81 106.604 -0.81 c -105.871 -0.81 105.253 -1.06 104.747 -1.562 c -104.239 -2.061 103.992 -2.68 103.992 -3.404 c -103.992 -4.168 104.239 -4.792 104.747 -5.273 c -105.253 -5.76 105.899 -6.007 106.691 -6.007 c -107.076 -6.007 107.537 -5.917 108.074 -5.742 c -108.166 -5.715 l -108.166 -4.306 l -106.871 -4.306 l -h -f -Q -Q -1 g -/GS0 gs -69.724 580.273 447.947 20.814 re -f -0.291 g -69.895 442.696 448.603 192.588 re -f -q -69.895 474.534 172.669 160.751 re -W n -q -173.0122 0 0 161.1045 69.551 474.5341 cm -/Im0 Do -Q -Q -q -242.213 474.534 173.011 160.751 re -W n -q -173.0122 0 0 161.1045 242.213 474.5341 cm -/Im1 Do -Q -Q -q -414.875 442.697 103.622 192.587 re -W n -q -104.0175 0 0 193.3254 414.875 442.3132 cm -/Im2 Do -Q -Q -q -69.895 442.697 345.33 32.187 re -W n -q -345.6743 0 0 32.5711 69.551 442.3132 cm -/Im3 Do -Q -Q -q -1 0 0 1 69.895 442.6962 cm -0.509 G -0.552 w 4 M -0 0 m -448.603 0 l -448.603 192.588 l -0 192.588 l -h -S -Q -q -1 0 0 1 240.647 466.4651 cm -0 g -/GS1 gs -0 0 m --6.633 0 l --3.347 5.767 l -h -f -Q -q -1 0 0 1 236.5065 465.2681 cm -0 g -/GS1 gs -0 0 m --3.313 -5.746 l --6.669 -0.017 l -h -f -Q -q -1 0 0 1 244.4924 465.2681 cm -0 g -/GS1 gs -0 0 m --3.313 -5.746 l --6.669 -0.017 l -h -f -Q -q -1 0 0 1 -0 -0 cm -24 24 540 675 re -W n -1 0 0 1 253.595 464.2195 cm -0 g -/GS1 gs -0 0 m --3.927 0 l --1.946 4.599 l -h -0.224 -0.62 m -0.843 -2.049 l -0.982 -2.394 1.258 -2.98 1.258 -3.358 c -1.258 -3.962 0.826 -4.099 0.086 -4.133 c -0.086 -4.443 l -4.582 -4.443 l -4.582 -4.133 l -3.307 -4.082 2.98 -3.117 2.549 -2.084 c --1.326 7.216 l --1.636 7.216 l --5.735 -2.394 l --6.252 -3.6 -6.614 -4.047 -7.509 -4.133 c --7.509 -4.443 l --3.927 -4.443 l --3.927 -4.133 l --4.565 -4.082 -5.253 -4.013 -5.253 -3.376 c --5.253 -3.048 -5.012 -2.514 -4.875 -2.222 c --4.185 -0.62 l -h -f -1 0 0 1 10.7467 -2.9795 cm -0 0 m --0.396 -0.43 -0.879 -0.775 -1.481 -0.775 c --2.79 -0.775 -3.84 0.603 -3.84 2.704 c --3.84 5.391 -2.411 5.959 -1.791 5.959 c --0.62 5.959 0 4.788 0 3.754 c -h -0 5.821 m --0.447 6.287 -1.085 6.476 -1.705 6.476 c --3.944 6.476 -5.408 4.15 -5.408 2.101 c --5.408 0.293 -4.306 -1.705 -2.291 -1.705 c --1.326 -1.705 -0.655 -1.275 0 -0.603 c -0 -1.705 l -0.379 -1.705 l -2.704 -0.758 l -2.584 -0.465 l -2.411 -0.534 2.187 -0.603 1.998 -0.603 c -1.757 -0.603 1.395 -0.603 1.395 0.569 c -1.395 10.489 l -1.016 10.489 l --1.309 9.541 l --1.189 9.248 l --1.016 9.317 -0.792 9.387 -0.603 9.387 c --0.362 9.387 0 9.387 0 8.215 c -h -f -1 0 0 1 8.6114 0 cm -0 0 m --0.396 -0.43 -0.879 -0.775 -1.481 -0.775 c --2.79 -0.775 -3.84 0.603 -3.84 2.704 c --3.84 5.391 -2.411 5.959 -1.791 5.959 c --0.62 5.959 0 4.788 0 3.754 c -h -0 5.821 m --0.447 6.287 -1.085 6.476 -1.705 6.476 c --3.944 6.476 -5.408 4.15 -5.408 2.101 c --5.408 0.293 -4.306 -1.705 -2.291 -1.705 c --1.326 -1.705 -0.655 -1.275 0 -0.603 c -0 -1.705 l -0.379 -1.705 l -2.704 -0.758 l -2.584 -0.465 l -2.411 -0.534 2.187 -0.603 1.998 -0.603 c -1.757 -0.603 1.395 -0.603 1.395 0.569 c -1.395 10.489 l -1.016 10.489 l --1.309 9.541 l --1.189 9.248 l --1.016 9.317 -0.792 9.387 -0.603 9.387 c --0.362 9.387 0 9.387 0 8.215 c -h -f -1 0 0 1 5.7869 0 cm -0 0 m -0 -1.016 0.396 -1.136 1.188 -1.153 c -1.188 -1.464 l --2.584 -1.464 l --2.584 -1.153 l --1.791 -1.136 -1.395 -1.016 -1.395 0 c --1.395 4.202 l --1.395 5.374 -1.757 5.374 -1.998 5.374 c --2.188 5.374 -2.411 5.305 -2.584 5.236 c --2.704 5.528 l --0.379 6.476 l -0 6.476 l -h --0.706 10.489 m --0.241 10.489 0.137 10.11 0.137 9.644 c -0.137 9.18 -0.241 8.801 -0.706 8.801 c --1.171 8.801 -1.551 9.18 -1.551 9.644 c --1.551 10.11 -1.171 10.489 -0.706 10.489 c -f -1 0 0 1 7.1818 3.8407 cm -0 0 m --0.31 0 l --0.569 1.153 -1.033 2.118 -2.377 2.118 c --2.997 2.118 -3.686 1.774 -3.686 1.068 c --3.686 -0.81 0.569 -0.569 0.569 -3.238 c -0.569 -4.65 -0.758 -5.545 -2.067 -5.545 c --2.566 -5.545 -3.117 -5.425 -3.617 -5.288 c --3.72 -5.253 -3.927 -5.201 -4.047 -5.201 c --4.202 -5.201 -4.323 -5.288 -4.357 -5.425 c --4.668 -5.425 l --4.668 -2.67 l --4.357 -2.67 l --4.202 -3.876 -3.29 -5.029 -1.998 -5.029 c --1.292 -5.029 -0.672 -4.616 -0.672 -3.857 c --0.672 -1.842 -4.685 -2.118 -4.685 0.327 c --4.685 1.739 -3.669 2.635 -2.291 2.635 c --1.929 2.635 -1.654 2.549 -1.309 2.445 c --1.102 2.394 -0.878 2.308 -0.672 2.308 c --0.447 2.308 -0.379 2.445 -0.31 2.635 c -0 2.635 l -h -f -1 0 0 1 5.1669 2.0493 cm -0 0 m -1.912 0 2.428 -2.549 2.428 -4.047 c -2.428 -5.252 2.135 -7.01 0.569 -7.01 c --1.343 -7.01 -1.878 -4.323 -1.878 -2.841 c --1.878 -0.637 -0.843 0 0 0 c -0.293 0.586 m --1.964 0.586 -3.444 -1.464 -3.444 -3.583 c --3.444 -5.649 -2.015 -7.595 0.172 -7.595 c -2.894 -7.595 3.996 -5.098 3.996 -3.324 c -3.996 -1.223 2.445 0.586 0.293 0.586 c -f -1 0 0 1 7.3713 -1.0332 cm -0 0 m -0.965 1.068 1.636 1.619 2.618 1.619 c -4.013 1.619 4.563 0.31 4.563 -0.982 c -4.563 -4.856 l -4.563 -5.874 4.96 -5.994 5.752 -6.011 c -5.752 -6.321 l -1.981 -6.321 l -1.981 -6.011 l -2.773 -5.994 3.169 -5.874 3.169 -4.856 c -3.169 -1.292 l -3.169 0.413 2.463 0.586 1.946 0.586 c -1.153 0.586 0.569 0.069 0 -0.517 c -0 -4.856 l -0 -5.874 0.396 -5.994 1.188 -6.011 c -1.188 -6.321 l --2.584 -6.321 l --2.584 -6.011 l --1.791 -5.994 -1.395 -5.874 -1.395 -4.856 c --1.395 -0.655 l --1.395 0.516 -1.757 0.516 -1.998 0.516 c --2.188 0.516 -2.411 0.447 -2.584 0.379 c --2.704 0.672 l --0.379 1.619 l -0 1.619 l -h -f -Q -q -1 0 0 1 -0 -0 cm -0 g -/GS1 gs -309.327 462.979 -4.357 1.326 re -f -Q -q -1 0 0 1 -0 -0 cm -24 24 540 675 re -W n -1 0 0 1 322.1584 468.5079 cm -0 g -/GS1 gs -0 0 m -0.137 0.396 0.413 1.153 0.413 1.55 c -0.413 2.204 -0.069 2.359 -0.843 2.359 c --0.843 2.67 l -2.566 2.67 l -2.566 2.359 l -1.429 2.359 1.188 1.412 0.878 0.5 c --2.394 -8.991 l --2.721 -8.991 l --5.305 -1.757 l --5.339 -1.757 l --7.87 -8.991 l --8.215 -8.991 l --11.729 0.843 l --12.108 1.929 -12.279 2.359 -13.314 2.359 c --13.314 2.67 l --9.094 2.67 l --9.094 2.359 l --9.714 2.359 -10.213 2.222 -10.213 1.636 c --10.213 1.361 -10.041 0.913 -9.955 0.655 c --7.63 -5.977 l --7.595 -5.977 l --5.701 -0.655 l --6.165 0.62 l --6.527 1.585 -6.786 2.359 -7.923 2.359 c --7.923 2.67 l --3.461 2.67 l --3.461 2.359 l --4.185 2.359 -4.685 2.308 -4.685 1.585 c --4.685 1.085 -4.409 0.379 -4.237 -0.086 c --2.135 -5.977 l --2.101 -5.977 l -h -f -1 0 0 1 3.1372 -3.4272 cm -0 0 m -0.069 0.999 0.792 2.015 1.808 2.015 c -3.031 2.015 3.565 1.068 3.565 0 c -h -5.322 -0.516 m -5.322 1.343 4.15 2.635 2.377 2.635 c --0.069 2.635 -1.189 0.637 -1.189 -1.585 c --1.189 -3.944 0.293 -5.545 2.17 -5.545 c -3.91 -5.545 5.029 -4.082 5.322 -2.498 c -5.063 -2.325 l -4.668 -3.444 3.996 -4.168 2.755 -4.168 c -0.878 -4.168 -0.017 -2.239 -0.017 -0.516 c -h -f -1 0 0 1 11.4356 0 cm -0 0 m --0.31 0 l --0.569 1.153 -1.033 2.118 -2.377 2.118 c --2.997 2.118 -3.686 1.774 -3.686 1.068 c --3.686 -0.81 0.569 -0.569 0.569 -3.238 c -0.569 -4.65 -0.758 -5.545 -2.067 -5.545 c --2.567 -5.545 -3.117 -5.425 -3.617 -5.288 c --3.72 -5.253 -3.927 -5.201 -4.047 -5.201 c --4.203 -5.201 -4.323 -5.288 -4.357 -5.425 c --4.668 -5.425 l --4.668 -2.67 l --4.357 -2.67 l --4.203 -3.876 -3.29 -5.029 -1.998 -5.029 c --1.292 -5.029 -0.672 -4.616 -0.672 -3.857 c --0.672 -1.842 -4.685 -2.118 -4.685 0.327 c --4.685 1.739 -3.669 2.635 -2.291 2.635 c --1.929 2.635 -1.654 2.549 -1.309 2.445 c --1.102 2.394 -0.879 2.308 -0.672 2.308 c --0.447 2.308 -0.379 2.445 -0.31 2.635 c -0 2.635 l -h -f -1 0 0 1 4.3055 -3.8407 cm -0 0 m -0 -1.016 0.396 -1.136 1.189 -1.153 c -1.189 -1.464 l --2.584 -1.464 l --2.584 -1.153 l --1.791 -1.136 -1.395 -1.016 -1.395 0 c --1.395 8.215 l --1.395 9.387 -1.757 9.387 -1.998 9.387 c --2.187 9.387 -2.411 9.317 -2.584 9.248 c --2.704 9.541 l --0.379 10.489 l -0 10.489 l -h -f -1 0 0 1 3.393 3.8407 cm -0 0 m -0.069 0.999 0.792 2.015 1.808 2.015 c -3.031 2.015 3.566 1.068 3.566 0 c -h -5.322 -0.516 m -5.322 1.343 4.15 2.635 2.377 2.635 c --0.069 2.635 -1.188 0.637 -1.188 -1.585 c --1.188 -3.944 0.293 -5.545 2.17 -5.545 c -3.91 -5.545 5.029 -4.082 5.322 -2.498 c -5.063 -2.325 l -4.668 -3.444 3.996 -4.168 2.755 -4.168 c -0.879 -4.168 -0.017 -2.239 -0.017 -0.516 c -h -f -1 0 0 1 7.166 0.62 cm -0 0 m --0.293 0.637 -0.689 1.378 -1.446 1.464 c --1.446 1.774 l -2.135 1.774 l -2.135 1.464 l -1.602 1.464 1.206 1.395 1.206 0.843 c -1.206 0.552 1.446 0.069 1.568 -0.207 c -3.358 -3.893 l -4.995 0.155 l -5.115 0.465 5.218 0.706 5.218 1.033 c -5.218 1.429 4.909 1.464 4.443 1.464 c -4.443 1.774 l -6.958 1.774 l -6.958 1.464 l -6.407 1.464 6.114 1.033 5.925 0.569 c -2.635 -7.492 l -1.964 -9.145 0.706 -9.644 0.104 -9.644 c --0.465 -9.644 -1.05 -9.301 -1.05 -8.681 c --1.05 -8.163 -0.637 -7.923 -0.172 -7.923 c -0.396 -7.923 0.672 -8.232 0.965 -8.232 c -1.653 -8.232 2.015 -7.267 2.222 -6.768 c -2.687 -5.615 l -h -f -1 0 0 1 -45.2773 -376.4668 cm -0 0 m -2.128 0 l -2.128 5.234 l -2.128 5.45 2.14 5.748 2.427 5.748 c -2.689 5.748 2.749 5.462 2.749 5.247 c -2.749 0 l -4.804 0 l -4.804 5.234 l -4.804 5.45 4.817 5.748 5.091 5.748 c -5.366 5.748 5.426 5.462 5.426 5.247 c -5.426 0 l -7.553 0 l -7.553 5.318 l -7.553 6.597 7.003 7.183 6.108 7.183 c -5.509 7.183 5.08 6.8 4.708 6.381 c -4.517 6.741 4.112 7.183 3.442 7.183 c -3.215 7.183 2.94 7.123 2.701 6.991 c -2.463 6.871 2.247 6.692 2.151 6.466 c -2.128 6.466 l -2.128 7.003 l -0 7.003 l -h --3.709 5.425 m --3.709 5.664 -3.59 5.892 -3.326 5.892 c --3.063 5.892 -2.944 5.664 -2.944 5.425 c --2.944 1.721 l --2.944 1.482 -3.063 1.254 -3.326 1.254 c --3.59 1.254 -3.709 1.482 -3.709 1.721 c -h --5.836 2.14 m --5.836 0.323 -4.498 -0.179 -3.326 -0.179 c --2.156 -0.179 -0.817 0.323 -0.817 2.14 c --0.817 4.864 l --0.817 6.68 -2.156 7.183 -3.326 7.183 c --4.498 7.183 -5.836 6.68 -5.836 4.864 c -h --11.455 2.14 m --11.455 0.323 -10.117 -0.179 -8.946 -0.179 c --7.583 -0.179 -6.508 0.358 -6.508 2.545 c --6.508 2.892 l --8.564 2.892 l --8.564 1.685 l --8.564 1.303 -8.659 1.112 -8.946 1.112 c --9.269 1.112 -9.329 1.303 -9.329 1.661 c --9.329 5.485 l --9.329 5.676 -9.304 5.892 -8.982 5.892 c --8.659 5.892 -8.635 5.676 -8.635 5.485 c --8.635 4.338 l --6.58 4.338 l --6.58 4.924 l --6.58 6.429 -7.524 7.183 -8.946 7.183 c --10.117 7.183 -11.455 6.68 -11.455 4.864 c -h --14.014 0 1.649 1.721 re -f -Q -q -1 0 0 1 288.6563 89.2339 cm -0.471 g -0 0 m -2.199 0 l -2.199 6.811 l -3.501 6.811 l -3.501 8.533 l --1.303 8.533 l --1.303 6.811 l -0 6.811 l -h --4.109 0 2.199 8.533 re -f -Q -q -1 0 0 1 0 -0 cm -24 24 540 675 re -W n -1 0 0 1 275.8719 89.2339 cm -0 g -/GS1 gs -0 0 m -2.127 0 l -2.127 5.234 l -2.127 5.45 2.14 5.748 2.426 5.748 c -2.689 5.748 2.749 5.462 2.749 5.247 c -2.749 0 l -4.804 0 l -4.804 5.234 l -4.804 5.45 4.816 5.748 5.091 5.748 c -5.366 5.748 5.425 5.462 5.425 5.247 c -5.425 0 l -7.553 0 l -7.553 5.318 l -7.553 6.597 7.002 7.183 6.106 7.183 c -5.509 7.183 5.078 6.8 4.708 6.381 c -4.517 6.741 4.111 7.183 3.442 7.183 c -3.215 7.183 2.94 7.123 2.701 6.991 c -2.461 6.871 2.247 6.692 2.151 6.466 c -2.127 6.466 l -2.127 7.003 l -0 7.003 l -h --4.066 0 m --1.938 0 l --1.938 3.74 l --1.938 4.291 -1.604 4.661 -1.03 4.661 c --0.911 4.661 -0.791 4.648 -0.672 4.636 c --0.672 7.183 l --1.149 7.134 -1.783 6.776 -1.986 6.106 c --2.01 6.106 l --2.01 7.003 l --4.066 7.003 l -h --7.775 5.425 m --7.775 5.664 -7.655 5.892 -7.392 5.892 c --7.13 5.892 -7.01 5.664 -7.01 5.425 c --7.01 1.721 l --7.01 1.482 -7.13 1.254 -7.392 1.254 c --7.655 1.254 -7.775 1.482 -7.775 1.721 c -h --9.902 2.14 m --9.902 0.323 -8.564 -0.179 -7.392 -0.179 c --6.221 -0.179 -4.882 0.323 -4.882 2.14 c --4.882 4.864 l --4.882 6.68 -6.221 7.183 -7.392 7.183 c --8.564 7.183 -9.902 6.68 -9.902 4.864 c -h --13.693 5.856 m --13.25 5.856 l --13.25 0 l --11.124 0 l --11.124 5.856 l --10.49 5.856 l --10.49 7.003 l --11.529 7.003 l --11.482 7.385 -11.207 7.457 -10.861 7.457 c --10.538 7.457 l --10.538 8.533 l --11.482 8.533 l --12.797 8.533 -13.203 8.246 -13.25 7.003 c --13.693 7.003 l -h --19.252 0 m --17.125 0 l --17.125 5.234 l --17.125 5.45 -17.113 5.748 -16.826 5.748 c --16.551 5.748 -16.491 5.462 -16.491 5.247 c --16.491 0 l --14.364 0 l --14.364 5.318 l --14.364 6.597 -14.914 7.183 -15.811 7.183 c --16.456 7.183 -16.934 6.811 -17.1 6.466 c --17.125 6.466 l --17.125 7.003 l --19.252 7.003 l -h --22.221 7.457 2.128 1.076 re --22.221 0 2.128 7.003 re -f -1 0 0 1 36.5816 -4.8687 cm -0 0 m -1.267 0 l -1.267 0.147 l -0.173 0.147 l -0.173 0.865 l -1.186 0.865 l -1.186 1.013 l -0.173 1.013 l -0.173 1.67 l -1.254 1.67 l -1.254 1.818 l -0 1.818 l -h --0.369 1.267 m --0.415 1.649 -0.756 1.855 -1.1 1.855 c --1.673 1.855 -1.957 1.406 -1.957 0.909 c --1.957 0.412 -1.673 -0.038 -1.1 -0.038 c --0.675 -0.038 -0.393 0.247 -0.343 0.692 c --0.517 0.692 l --0.549 0.369 -0.764 0.109 -1.1 0.109 c --1.582 0.109 -1.784 0.512 -1.784 0.909 c --1.784 1.306 -1.582 1.708 -1.1 1.708 c --0.835 1.708 -0.603 1.547 -0.543 1.267 c -h --3.468 1.67 m --2.821 1.67 l --2.561 1.67 -2.429 1.53 -2.429 1.308 c --2.429 1.087 -2.61 0.954 -2.821 0.954 c --3.468 0.954 l -h --3.641 0 m --3.468 0 l --3.468 0.807 l --2.81 0.807 l --2.482 0.82 -2.461 0.536 -2.446 0.282 c --2.398 0 l --2.208 0 l --2.284 0.091 -2.284 0.341 -2.292 0.466 c --2.305 0.682 -2.373 0.846 -2.61 0.876 c --2.61 0.881 l --2.376 0.926 -2.255 1.115 -2.255 1.343 c --2.255 1.673 -2.508 1.818 -2.808 1.818 c --3.641 1.818 l -h --5.49 0.655 m --5.49 0.28 -5.288 -0.038 -4.785 -0.038 c --4.277 -0.038 -4.076 0.28 -4.076 0.655 c --4.076 1.818 l --4.25 1.818 l --4.25 0.692 l --4.247 0.269 -4.449 0.109 -4.785 0.109 c --5.118 0.109 -5.319 0.269 -5.317 0.692 c --5.317 1.818 l --5.49 1.818 l -h --7.367 0.909 m --7.367 1.306 -7.163 1.708 -6.683 1.708 c --6.204 1.708 -6 1.306 -6 0.909 c --6 0.512 -6.204 0.109 -6.683 0.109 c --7.163 0.109 -7.367 0.512 -7.367 0.909 c --7.54 0.909 m --7.54 0.412 -7.256 -0.038 -6.683 -0.038 c --6.112 -0.038 -5.827 0.412 -5.827 0.909 c --5.827 1.406 -6.112 1.855 -6.683 1.855 c --7.256 1.855 -7.54 1.406 -7.54 0.909 c --9.205 0.599 m --9.226 0.156 -8.91 -0.038 -8.48 -0.038 c --7.836 -0.038 -7.785 0.356 -7.785 0.481 c --7.785 0.779 -7.998 0.891 -8.256 0.959 c --8.699 1.069 l --8.846 1.104 -8.974 1.176 -8.974 1.347 c --8.974 1.616 -8.755 1.708 -8.517 1.708 c --8.261 1.708 -8.031 1.568 -8.022 1.29 c --7.849 1.29 l --7.846 1.662 -8.161 1.855 -8.521 1.855 c --9.033 1.855 -9.146 1.522 -9.146 1.343 c --9.146 1.061 -8.951 0.959 -8.736 0.906 c --8.332 0.807 l --8.164 0.766 -7.957 0.685 -7.957 0.479 c --7.957 0.214 -8.248 0.109 -8.439 0.109 c --8.77 0.109 -9.04 0.223 -9.033 0.599 c -h --10.205 0.924 m --10.976 0.924 l --10.976 0.776 l --10.358 0.776 l --10.35 0.392 -10.585 0.109 -10.986 0.109 c --11.467 0.109 -11.671 0.512 -11.671 0.909 c --11.671 1.306 -11.467 1.708 -10.986 1.708 c --10.64 1.708 -10.424 1.461 -10.401 1.252 c --10.228 1.252 l --10.294 1.649 -10.604 1.855 -10.986 1.855 c --11.558 1.855 -11.844 1.406 -11.844 0.909 c --11.844 0.412 -11.558 -0.038 -10.986 -0.038 c --10.725 -0.038 -10.48 0.071 -10.358 0.33 c --10.352 0.33 l --10.33 0 l --10.205 0 l -h --13.635 0 m --13.462 0 l --13.462 1.537 l --13.457 1.537 l --12.397 0 l --12.204 0 l --12.204 1.818 l --12.377 1.818 l --12.377 0.28 l --12.382 0.28 l --13.44 1.818 l --13.635 1.818 l -h --14.259 0 0.173 1.818 re --16.144 0 m --15.972 0 l --15.972 1.537 l --15.967 1.537 l --14.908 0 l --14.715 0 l --14.715 1.818 l --14.888 1.818 l --14.888 0.28 l --14.892 0.28 l --15.951 1.818 l --16.144 1.818 l -h --17.756 1.67 m --17.11 1.67 l --16.85 1.67 -16.717 1.53 -16.717 1.308 c --16.717 1.087 -16.899 0.954 -17.11 0.954 c --17.756 0.954 l -h --17.929 0 m --17.756 0 l --17.756 0.807 l --17.099 0.807 l --16.771 0.82 -16.751 0.536 -16.736 0.282 c --16.687 0 l --16.496 0 l --16.572 0.091 -16.572 0.341 -16.581 0.466 c --16.594 0.682 -16.662 0.846 -16.899 0.876 c --16.899 0.881 l --16.665 0.926 -16.546 1.115 -16.546 1.343 c --16.546 1.673 -16.797 1.818 -17.097 1.818 c --17.929 1.818 l -h --19.003 1.644 m --18.652 0.712 l --19.366 0.712 l -h --19.824 0 m --19.639 0 l --19.419 0.565 l --18.593 0.565 l --18.372 0 l --18.186 0 l --18.899 1.818 l --19.092 1.818 l -h --21.281 0 m --20.014 0 l --20.014 0.147 l --21.108 0.147 l --21.108 0.865 l --20.095 0.865 l --20.095 1.013 l --21.108 1.013 l --21.108 1.67 l --20.026 1.67 l --20.026 1.818 l --21.281 1.818 l -h --22.733 0 m --21.542 0 l --21.542 0.147 l --22.56 0.147 l --22.56 1.818 l --22.733 1.818 l -h --24.54 0 m --24.367 0 l --24.367 0.748 l --23.649 1.818 l --23.855 1.818 l --24.45 0.896 l --25.048 1.818 l --25.254 1.818 l --24.54 0.748 l -h --25.361 0.924 m --26.132 0.924 l --26.132 0.776 l --25.514 0.776 l --25.506 0.392 -25.74 0.109 -26.143 0.109 c --26.623 0.109 -26.827 0.512 -26.827 0.909 c --26.827 1.306 -26.623 1.708 -26.143 1.708 c --25.797 1.708 -25.58 1.461 -25.558 1.252 c --25.384 1.252 l --25.451 1.649 -25.761 1.855 -26.143 1.855 c --26.716 1.855 -27 1.406 -27 0.909 c --27 0.412 -26.716 -0.038 -26.143 -0.038 c --25.881 -0.038 -25.636 0.071 -25.514 0.33 c --25.508 0.33 l --25.486 0 l --25.361 0 l -h --28.807 0.909 m --28.807 1.306 -28.604 1.708 -28.122 1.708 c --27.644 1.708 -27.44 1.306 -27.44 0.909 c --27.44 0.512 -27.644 0.109 -28.122 0.109 c --28.604 0.109 -28.807 0.512 -28.807 0.909 c --28.981 0.909 m --28.981 0.412 -28.695 -0.038 -28.122 -0.038 c --27.552 -0.038 -27.268 0.412 -27.268 0.909 c --27.268 1.406 -27.552 1.855 -28.122 1.855 c --28.695 1.855 -28.981 1.406 -28.981 0.909 c --30.253 0 m --29.062 0 l --29.062 0.147 l --30.079 0.147 l --30.079 1.818 l --30.253 1.818 l -h --32.15 0.909 m --32.15 1.306 -31.946 1.708 -31.466 1.708 c --30.986 1.708 -30.782 1.306 -30.782 0.909 c --30.782 0.512 -30.986 0.109 -31.466 0.109 c --31.946 0.109 -32.15 0.512 -32.15 0.909 c --32.322 0.909 m --32.322 0.412 -32.038 -0.038 -31.466 -0.038 c --30.895 -0.038 -30.611 0.412 -30.611 0.909 c --30.611 1.406 -30.895 1.855 -31.466 1.855 c --32.038 1.855 -32.322 1.406 -32.322 0.909 c --34.107 0 m --33.935 0 l --33.935 1.537 l --33.929 1.537 l --32.87 0 l --32.677 0 l --32.677 1.818 l --32.85 1.818 l --32.85 0.28 l --32.855 0.28 l --33.914 1.818 l --34.107 1.818 l -h --35.982 0 m --35.808 0 l --35.808 0.881 l --34.73 0.881 l --34.73 0 l --34.556 0 l --34.556 1.818 l --34.73 1.818 l --34.73 1.028 l --35.808 1.028 l --35.808 1.818 l --35.982 1.818 l -h --36.351 1.267 m --36.396 1.649 -36.737 1.855 -37.082 1.855 c --37.654 1.855 -37.939 1.406 -37.939 0.909 c --37.939 0.412 -37.654 -0.038 -37.082 -0.038 c --36.657 -0.038 -36.374 0.247 -36.325 0.692 c --36.498 0.692 l --36.531 0.369 -36.746 0.109 -37.082 0.109 c --37.563 0.109 -37.766 0.512 -37.766 0.909 c --37.766 1.306 -37.563 1.708 -37.082 1.708 c --36.817 1.708 -36.585 1.547 -36.524 1.267 c -h --39.419 0 m --38.153 0 l --38.153 0.147 l --39.246 0.147 l --39.246 0.865 l --38.233 0.865 l --38.233 1.013 l --39.246 1.013 l --39.246 1.67 l --38.164 1.67 l --38.164 1.818 l --39.419 1.818 l -h --41.117 1.67 m --40.484 1.67 l --40.484 0 l --40.312 0 l --40.312 1.67 l --39.677 1.67 l --39.677 1.818 l --41.117 1.818 l -h --43.423 0 m --42.794 0 l --42.247 0.013 -41.961 0.313 -41.961 0.909 c --41.961 1.504 -42.247 1.804 -42.794 1.818 c --43.423 1.818 l -h --43.25 1.67 m --42.881 1.67 l --42.36 1.673 -42.132 1.451 -42.132 0.909 c --42.132 0.366 -42.36 0.145 -42.881 0.147 c --43.25 0.147 l -h --44.989 0 m --43.722 0 l --43.722 0.147 l --44.816 0.147 l --44.816 0.865 l --43.803 0.865 l --43.803 1.013 l --44.816 1.013 l --44.816 1.67 l --43.734 1.67 l --43.734 1.818 l --44.989 1.818 l -h --46.687 1.67 m --46.054 1.67 l --46.054 0 l --45.88 0 l --45.88 1.67 l --45.247 1.67 l --45.247 1.818 l --46.687 1.818 l -h --48.231 0.599 m --48.252 0.156 -47.936 -0.038 -47.506 -0.038 c --46.862 -0.038 -46.812 0.356 -46.812 0.481 c --46.812 0.779 -47.024 0.891 -47.282 0.959 c --47.725 1.069 l --47.873 1.104 -48 1.176 -48 1.347 c --48 1.616 -47.781 1.708 -47.545 1.708 c --47.287 1.708 -47.057 1.568 -47.048 1.29 c --46.875 1.29 l --46.872 1.662 -47.187 1.855 -47.547 1.855 c --48.059 1.855 -48.172 1.522 -48.172 1.343 c --48.172 1.061 -47.977 0.959 -47.764 0.906 c --47.358 0.807 l --47.191 0.766 -46.983 0.685 -46.983 0.479 c --46.983 0.214 -47.274 0.109 -47.465 0.109 c --47.797 0.109 -48.066 0.223 -48.059 0.599 c -h --49.977 0.655 m --49.977 0.28 -49.776 -0.038 -49.272 -0.038 c --48.766 -0.038 -48.565 0.28 -48.565 0.655 c --48.565 1.818 l --48.738 1.818 l --48.738 0.692 l --48.735 0.269 -48.936 0.109 -49.272 0.109 c --49.606 0.109 -49.808 0.269 -49.804 0.692 c --49.804 1.818 l --49.977 1.818 l -h --51.561 1.67 m --50.915 1.67 l --50.655 1.67 -50.522 1.53 -50.522 1.308 c --50.522 1.087 -50.704 0.954 -50.915 0.954 c --51.561 0.954 l -h --51.735 0 m --51.561 0 l --51.561 0.807 l --50.904 0.807 l --50.576 0.82 -50.555 0.536 -50.54 0.282 c --50.492 0 l --50.301 0 l --50.377 0.091 -50.377 0.341 -50.386 0.466 c --50.398 0.682 -50.466 0.846 -50.704 0.876 c --50.704 0.881 l --50.469 0.926 -50.349 1.115 -50.349 1.343 c --50.349 1.673 -50.602 1.818 -50.902 1.818 c --51.735 1.818 l -h --53.432 1.67 m --52.799 1.67 l --52.799 0 l --52.625 0 l --52.625 1.67 l --51.992 1.67 l --51.992 1.818 l --53.432 1.818 l -h --55.504 0 m --54.237 0 l --54.237 0.147 l --55.331 0.147 l --55.331 0.865 l --54.318 0.865 l --54.318 1.013 l --55.331 1.013 l --55.331 1.67 l --54.25 1.67 l --54.25 1.818 l --55.504 1.818 l -h --57.38 0 m --57.207 0 l --57.207 0.881 l --56.128 0.881 l --56.128 0 l --55.955 0 l --55.955 1.818 l --56.128 1.818 l --56.128 1.028 l --57.207 1.028 l --57.207 1.818 l --57.38 1.818 l -h --59.077 1.67 m --58.444 1.67 l --58.444 0 l --58.271 0 l --58.271 1.67 l --57.637 1.67 l --57.637 1.818 l --59.077 1.818 l -h -f -1 0 0 1 64.2311 0.0389 cm -0.37 g -/GS0 gs -0 0 m --0.968 0 l --0.968 2.311 l --0.039 2.311 l -0.412 2.311 0.675 2.058 0.675 1.662 c -0.675 1.406 0.506 1.239 0.389 1.185 c -0.529 1.12 0.708 0.974 0.708 0.665 c -0.708 0.233 0.412 0 0 0 c --0.075 1.909 m --0.516 1.909 l --0.516 1.376 l --0.075 1.376 l -0.117 1.376 0.224 1.484 0.224 1.643 c -0.224 1.802 0.117 1.909 -0.075 1.909 c --0.046 0.971 m --0.516 0.971 l --0.516 0.402 l --0.046 0.402 l -0.159 0.402 0.256 0.532 0.256 0.689 c -0.256 0.844 0.159 0.971 -0.046 0.971 c -f -1 0 0 1 2.3056 0.1883 cm -0 0 m --0.104 -0.111 -0.276 -0.208 -0.526 -0.208 c --0.777 -0.208 -0.945 -0.111 -1.049 0 c --1.202 0.159 -1.24 0.35 -1.24 0.659 c --1.24 0.965 -1.202 1.156 -1.049 1.314 c --0.945 1.425 -0.777 1.523 -0.526 1.523 c --0.276 1.523 -0.104 1.425 0 1.314 c -0.152 1.156 0.191 0.965 0.191 0.659 c -0.191 0.35 0.152 0.159 0 0 c --0.328 1.069 m --0.526 1.143 l --0.721 1.069 l --0.809 0.981 -0.819 0.834 -0.819 0.659 c --0.819 0.484 -0.809 0.334 -0.721 0.246 c --0.526 0.172 l --0.328 0.246 l --0.24 0.334 -0.231 0.484 -0.231 0.659 c --0.231 0.834 -0.24 0.981 -0.328 1.069 c -f -1 0 0 1 1.7628 0 cm -0 0 m --0.104 -0.111 -0.276 -0.208 -0.526 -0.208 c --0.776 -0.208 -0.945 -0.111 -1.048 0 c --1.201 0.159 -1.239 0.35 -1.239 0.659 c --1.239 0.965 -1.201 1.156 -1.048 1.314 c --0.945 1.425 -0.776 1.523 -0.526 1.523 c --0.276 1.523 -0.104 1.425 0 1.314 c -0.152 1.156 0.192 0.965 0.192 0.659 c -0.192 0.35 0.152 0.159 0 0 c --0.327 1.069 m --0.526 1.143 l --0.721 1.069 l --0.809 0.981 -0.818 0.834 -0.818 0.659 c --0.818 0.484 -0.809 0.334 -0.721 0.246 c --0.526 0.172 l --0.327 0.246 l --0.24 0.334 -0.231 0.484 -0.231 0.659 c --0.231 0.834 -0.24 0.981 -0.327 1.069 c -f -Q -q -1 0 0 1 382.3636 84.4041 cm -0.37 g -0 0 m --0.415 0.704 l --0.594 0.503 l --0.594 0 l --1.016 0 l --1.016 2.311 l --0.594 2.311 l --0.594 1 l --0.032 1.691 l -0.477 1.691 l --0.127 1.01 l -0.523 0 l -h -f -Q -q -1 0 0 1 0 -0 cm -24 24 540 675 re -W n -1 0 0 1 383.7174 84.3842 cm -0.37 g -0 0 m --0.265 0 -0.506 0.029 -0.721 0.244 c --0.444 0.519 l --0.305 0.38 -0.123 0.361 0.006 0.361 c -0.152 0.361 0.306 0.41 0.306 0.535 c -0.306 0.62 0.26 0.679 0.127 0.692 c --0.139 0.718 l --0.444 0.747 -0.634 0.88 -0.634 1.192 c --0.634 1.542 -0.325 1.731 0.019 1.731 c -0.282 1.731 0.503 1.686 0.666 1.532 c -0.406 1.27 l -0.308 1.357 0.16 1.383 0.013 1.383 c --0.156 1.383 -0.226 1.306 -0.226 1.221 c --0.226 1.16 -0.202 1.088 -0.051 1.075 c -0.215 1.048 l -0.549 1.016 0.718 0.838 0.718 0.553 c -0.718 0.178 0.4 0 0 0 c -f -1 0 0 1 3.2571 0.2532 cm -0 0 m --0.163 -0.162 -0.361 -0.253 -0.623 -0.253 c --0.886 -0.253 -1.088 -0.162 -1.25 0 c --1.484 0.234 -1.478 0.523 -1.478 0.922 c --1.478 1.322 -1.484 1.611 -1.25 1.844 c --1.088 2.007 -0.886 2.098 -0.623 2.098 c --0.361 2.098 -0.163 2.007 0 1.844 c -0.234 1.611 0.231 1.322 0.231 0.922 c -0.231 0.523 0.234 0.234 0 0 c --0.335 1.572 m --0.4 1.647 -0.5 1.695 -0.623 1.695 c --0.747 1.695 -0.851 1.647 -0.916 1.572 c --1.003 1.474 -1.026 1.367 -1.026 0.922 c --1.026 0.477 -1.003 0.37 -0.916 0.274 c --0.851 0.199 -0.747 0.15 -0.623 0.15 c --0.5 0.15 -0.4 0.199 -0.335 0.274 c --0.247 0.37 -0.221 0.477 -0.221 0.922 c --0.221 1.367 -0.247 1.474 -0.335 1.572 c -f -1 0 0 1 1.6429 -0.2333 cm -0 0 m -0 1.023 l -0 1.253 -0.146 1.331 -0.279 1.331 c --0.412 1.331 -0.562 1.253 -0.562 1.023 c --0.562 0 l --0.984 0 l --0.984 1.691 l --0.571 1.691 l --0.571 1.535 l --0.461 1.652 -0.305 1.71 -0.15 1.71 c -0.019 1.71 0.156 1.656 0.25 1.561 c -0.386 1.425 0.422 1.266 0.422 1.081 c -0.422 0 l -h -f -1 0 0 1 1.3539 0 cm -0 0 m --0.348 0 -0.494 0.244 -0.494 0.484 c --0.494 2.311 l --0.071 2.311 l --0.071 0.51 l --0.071 0.409 -0.029 0.357 0.078 0.357 c -0.24 0.357 l -0.24 0 l -h -f -Q -q -1 0 0 1 0 -0 cm -0.37 g -390.542 86.384 0.433 0.344 re -390.55 84.405 0.421 1.692 re -f -Q -q -1 0 0 1 0 -0 cm -24 24 540 675 re -W n -1 0 0 1 392.4263 84.4041 cm -0.37 g -0 0 m -0 1.023 l -0 1.253 -0.146 1.331 -0.279 1.331 c --0.412 1.331 -0.561 1.253 -0.561 1.023 c --0.561 0 l --0.984 0 l --0.984 1.691 l --0.572 1.691 l --0.572 1.535 l --0.461 1.652 -0.305 1.71 -0.149 1.71 c -0.019 1.71 0.156 1.656 0.25 1.561 c -0.386 1.425 0.422 1.266 0.422 1.081 c -0.422 0 l -h -f -1 0 0 1 1.2082 0.7139 cm -0 0 m -0 -0.217 0.133 -0.377 0.37 -0.377 c -0.556 -0.377 0.646 -0.324 0.753 -0.217 c -1.01 -0.467 l -0.838 -0.64 0.672 -0.734 0.367 -0.734 c --0.033 -0.734 -0.415 -0.552 -0.415 0.133 c --0.415 0.685 -0.118 0.997 0.321 0.997 c -0.792 0.997 1.058 0.652 1.058 0.188 c -1.058 0 l -h -0.604 0.471 m -0.558 0.572 0.465 0.646 0.321 0.646 c -0.178 0.646 0.085 0.572 0.039 0.471 c -0 0.29 l -0.643 0.29 l -0.604 0.471 l -f -1 0 0 1 -30.0931 2.5835 cm -0.27 g -0 0 m --1.476 0 -2.596 0.314 -3.552 1.284 c --2.323 2.514 l --1.708 1.899 -0.874 1.694 0.027 1.694 c -1.147 1.694 1.749 2.118 1.749 2.897 c -1.749 3.238 1.652 3.526 1.447 3.717 c -1.257 3.894 1.038 3.989 0.587 4.058 c --0.588 4.221 l --1.421 4.345 -2.035 4.604 -2.473 5.028 c --2.938 5.493 -3.17 6.121 -3.17 6.94 c --3.17 8.675 -1.885 9.891 0.218 9.891 c -1.558 9.891 2.527 9.564 3.361 8.758 c -2.158 7.569 l -1.543 8.156 0.806 8.238 0.163 8.238 c --0.848 8.238 -1.339 7.678 -1.339 7.009 c --1.339 6.763 -1.258 6.503 -1.052 6.312 c --0.861 6.133 -0.547 5.984 -0.151 5.929 c -0.997 5.766 l -1.885 5.643 2.445 5.397 2.854 5.014 c -3.374 4.523 3.606 3.812 3.606 2.951 c -3.606 1.067 2.034 0 0 0 c -f -1 0 0 1 8.5027 0.0829 cm -0 0 m -0 0.614 l --0.48 0.136 -0.929 -0.069 -1.749 -0.069 c --2.555 -0.069 -3.143 0.136 -3.566 0.56 c --3.949 0.955 -4.154 1.529 -4.154 2.158 c --4.154 3.292 -3.375 4.221 -1.722 4.221 c --0.042 4.221 l --0.042 4.576 l --0.042 5.355 -0.424 5.697 -1.367 5.697 c --2.049 5.697 -2.364 5.533 -2.733 5.109 c --3.867 6.215 l --3.17 6.981 -2.487 7.199 -1.298 7.199 c -0.696 7.199 1.735 6.352 1.735 4.686 c -1.735 0 l -h --0.042 3.004 m --1.449 3.004 l --2.09 3.004 -2.445 2.705 -2.445 2.199 c --2.445 1.707 -2.118 1.38 -1.422 1.38 c --0.929 1.38 -0.615 1.421 -0.302 1.721 c --0.109 1.898 -0.042 2.186 -0.042 2.622 c -h -f -1 0 0 1 5.4392 5.5603 cm -0 0 m -0 -5.56 l --1.776 -5.56 l --1.776 0 l --2.513 0 l --2.513 1.352 l --1.776 1.352 l --1.776 2.239 l --1.776 3.251 -1.147 4.275 0.3 4.275 c -1.311 4.275 l -1.311 2.773 l -0.615 2.773 l -0.191 2.773 0 2.541 0 2.13 c -0 1.352 l -1.311 1.352 l -1.311 0 l -h -f -1 0 0 1 6.1053 -5.5603 cm -0 0 m -0 0.614 l --0.477 0.136 -0.929 -0.069 -1.749 -0.069 c --2.555 -0.069 -3.143 0.136 -3.566 0.56 c --3.949 0.955 -4.154 1.529 -4.154 2.158 c --4.154 3.292 -3.375 4.221 -1.722 4.221 c --0.041 4.221 l --0.041 4.576 l --0.041 5.355 -0.424 5.697 -1.366 5.697 c --2.049 5.697 -2.364 5.533 -2.733 5.109 c --3.867 6.215 l --3.17 6.981 -2.486 7.199 -1.297 7.199 c -0.697 7.199 1.735 6.352 1.735 4.686 c -1.735 0 l -h --0.041 3.004 m --1.449 3.004 l --2.09 3.004 -2.446 2.705 -2.446 2.199 c --2.446 1.707 -2.118 1.38 -1.421 1.38 c --0.929 1.38 -0.615 1.421 -0.302 1.721 c --0.109 1.898 -0.041 2.186 -0.041 2.622 c -h -f -1 0 0 1 7.1094 5.1773 cm -0 0 m --0.274 0.273 -0.505 0.424 -0.942 0.424 c --1.489 0.424 -2.091 0.013 -2.091 -0.888 c --2.091 -5.177 l --3.867 -5.177 l --3.867 1.94 l --2.132 1.94 l --2.132 1.256 l --1.791 1.666 -1.107 2.022 -0.341 2.022 c -0.355 2.022 0.847 1.844 1.338 1.352 c -h -f -Q -q -1 0 0 1 0 -0 cm -0.27 g -392.844 94.902 1.776 -7.117 re -f -Q -q -1 0 0 1 0 -0 cm -24 24 540 675 re -W n -1 0 0 1 394.4242 96.2265 cm -0.789 g -0 0 m --0.395 -0.395 -1.037 -0.395 -1.431 0.001 c --1.827 0.396 -1.827 1.036 -1.431 1.434 c --1.037 1.829 -0.395 1.829 0 1.434 c -0.396 1.036 0.396 0.396 0 0 c -f -1 0 0 1 2.8926 0 cm -0 0 m --0.395 -0.395 -1.037 -0.395 -1.431 0.001 c --1.827 0.396 -1.827 1.036 -1.431 1.434 c --1.037 1.829 -0.395 1.829 0 1.434 c -0.395 1.036 0.395 0.396 0 0 c -f -1 0 0 1 0.604 2.4545 cm -0 0 m -1.17 -1.171 1.737 -1.737 v -1.17 -2.305 0 -3.474 y -0.899 -4.374 l -3.536 -1.737 l -0.899 0.898 l -h -f -1 0 0 1 -2.2737 -9.8191 cm -0.27 g -0 0 m -0.293 0 0.524 -0.237 0.524 -0.534 c -0.524 -0.836 0.291 -1.071 -0.003 -1.07 c --0.296 -1.07 -0.532 -0.835 -0.532 -0.533 c --0.531 -0.236 -0.294 0.001 -0.002 0 c -h --0.002 -0.083 m --0.236 -0.083 -0.429 -0.284 -0.43 -0.533 c --0.43 -0.788 -0.238 -0.986 -0.001 -0.987 c -0.236 -0.99 0.426 -0.789 0.427 -0.538 c -0.427 -0.285 0.237 -0.083 0 -0.083 c -h --0.103 -0.844 m --0.197 -0.844 l --0.197 -0.249 l --0.029 -0.235 l -0.061 -0.235 0.121 -0.254 0.157 -0.28 c -0.211 -0.403 l -0.094 -0.548 l -0.094 -0.553 l -0.194 -0.697 l -0.207 -0.791 0.222 -0.826 0.232 -0.846 c -0.132 -0.844 l -0.091 -0.693 l --0.036 -0.588 l --0.103 -0.588 l -h --0.103 -0.515 m --0.033 -0.515 l -0.112 -0.413 l -0.112 -0.361 0.073 -0.308 -0.033 -0.308 c --0.102 -0.313 l -h -f -Q -q -1 0 0 1 230.2288 100.632 cm -0.402 w 4 M -/GS1 gs -0 0 m -0 -17.277 l -S -Q -q -1 0 0 1 336.9842 100.632 cm -0.402 w 4 M -/GS1 gs -0 0 m -0 -17.277 l -S -Q -q -1 0 0 1 199.6377 98.6816 cm -0.507 g -0 0 m --4.735 0 l --2.39 4.117 l -h -f -Q -q -1 0 0 1 196.6819 97.8273 cm -0.507 g -0 0 m --2.366 -4.102 l --4.76 -0.013 l -h -f -Q -q -1 0 0 1 202.3828 97.8273 cm -0.507 g -0 0 m --2.366 -4.102 l --4.761 -0.013 l -h -f -Q -q -1 0 0 1 -0 -0 cm -24 24 540 675 re -W n -1 0 0 1 189.5438 88.3013 cm -0 g -/GS1 gs -0 0 m --1.364 0 l --0.676 1.597 l -h -0.077 -0.216 m -0.293 -0.711 l -0.341 -0.832 0.437 -1.034 0.437 -1.166 c -0.437 -1.376 0.288 -1.424 0.03 -1.436 c -0.03 -1.543 l -1.591 -1.543 l -1.591 -1.436 l -1.148 -1.417 1.034 -1.083 0.885 -0.723 c --0.46 2.507 l --0.569 2.507 l --1.992 -0.832 l --2.172 -1.25 -2.297 -1.406 -2.608 -1.436 c --2.608 -1.543 l --1.364 -1.543 l --1.364 -1.436 l --1.585 -1.417 -1.824 -1.394 -1.824 -1.173 c --1.824 -1.059 -1.74 -0.873 -1.693 -0.771 c --1.454 -0.216 l -h -f -1 0 0 1 3.7322 -1.0347 cm -0 0 m --0.137 -0.149 -0.305 -0.269 -0.514 -0.269 c --0.969 -0.269 -1.334 0.209 -1.334 0.939 c --1.334 1.872 -0.837 2.07 -0.622 2.07 c --0.216 2.07 0 1.663 0 1.304 c -h -0 2.022 m --0.156 2.184 -0.377 2.249 -0.592 2.249 c --1.369 2.249 -1.878 1.441 -1.878 0.73 c --1.878 0.102 -1.496 -0.592 -0.795 -0.592 c --0.46 -0.592 -0.227 -0.443 0 -0.209 c -0 -0.592 l -0.132 -0.592 l -0.939 -0.263 l -0.897 -0.162 l -0.694 -0.209 l -0.611 -0.209 0.485 -0.209 0.485 0.197 c -0.485 3.643 l -0.353 3.643 l --0.455 3.313 l --0.413 3.213 l --0.209 3.26 l --0.126 3.26 0 3.26 0 2.853 c -h -f -1 0 0 1 2.9908 0 cm -0 0 m --0.137 -0.149 -0.305 -0.269 -0.514 -0.269 c --0.969 -0.269 -1.334 0.209 -1.334 0.939 c --1.334 1.872 -0.837 2.07 -0.622 2.07 c --0.216 2.07 0 1.663 0 1.304 c -h -0 2.022 m --0.156 2.184 -0.377 2.249 -0.592 2.249 c --1.369 2.249 -1.878 1.441 -1.878 0.73 c --1.878 0.102 -1.496 -0.592 -0.795 -0.592 c --0.46 -0.592 -0.227 -0.443 0 -0.209 c -0 -0.592 l -0.132 -0.592 l -0.939 -0.263 l -0.897 -0.162 l -0.694 -0.209 l -0.611 -0.209 0.485 -0.209 0.485 0.197 c -0.485 3.643 l -0.353 3.643 l --0.455 3.313 l --0.413 3.213 l --0.209 3.26 l --0.126 3.26 0 3.26 0 2.853 c -h -f -1 0 0 1 2.0099 0 cm -0 0 m -0 -0.353 0.137 -0.395 0.413 -0.4 c -0.413 -0.509 l --0.897 -0.509 l --0.897 -0.4 l --0.622 -0.395 -0.485 -0.353 -0.485 0 c --0.485 1.459 l --0.485 1.866 -0.611 1.866 -0.694 1.866 c --0.897 1.819 l --0.939 1.92 l --0.132 2.249 l -0 2.249 l -h --0.246 3.643 m --0.084 3.643 0.048 3.511 0.048 3.35 c -0.048 3.188 -0.084 3.057 -0.246 3.057 c --0.407 3.057 -0.539 3.188 -0.539 3.35 c --0.539 3.511 -0.407 3.643 -0.246 3.643 c -f -1 0 0 1 2.4941 1.3338 cm -0 0 m --0.107 0 l --0.197 0.401 -0.358 0.736 -0.825 0.736 c --1.041 0.736 -1.28 0.616 -1.28 0.371 c --1.28 -0.281 0.197 -0.197 0.197 -1.125 c -0.197 -1.615 -0.263 -1.926 -0.718 -1.926 c --0.892 -1.926 -1.083 -1.884 -1.256 -1.836 c --1.406 -1.806 l --1.513 -1.884 l --1.621 -1.884 l --1.621 -0.927 l --1.513 -0.927 l --1.459 -1.346 -1.143 -1.747 -0.694 -1.747 c --0.449 -1.747 -0.233 -1.603 -0.233 -1.34 c --0.233 -0.64 -1.627 -0.736 -1.627 0.114 c --1.627 0.604 -1.274 0.915 -0.795 0.915 c --0.67 0.915 -0.574 0.885 -0.455 0.85 c --0.233 0.802 l --0.107 0.915 l -0 0.915 l -h -f -1 0 0 1 1.7944 0.7117 cm -0 0 m -0.664 0 0.843 -0.885 0.843 -1.406 c -0.843 -1.824 0.741 -2.435 0.197 -2.435 c --0.467 -2.435 -0.652 -1.501 -0.652 -0.987 c --0.652 -0.221 -0.293 0 0 0 c -0.102 0.204 m --0.682 0.204 -1.196 -0.509 -1.196 -1.244 c --1.196 -1.961 -0.7 -2.637 0.06 -2.637 c -1.004 -2.637 1.387 -1.77 1.387 -1.155 c -1.387 -0.425 0.85 0.204 0.102 0.204 c -f -1 0 0 1 2.56 -0.3588 cm -0 0 m -0.335 0.371 0.569 0.562 0.909 0.562 c -1.394 0.562 1.585 0.107 1.585 -0.341 c -1.585 -1.687 l -1.585 -2.04 1.723 -2.082 1.998 -2.088 c -1.998 -2.195 l -0.688 -2.195 l -0.688 -2.088 l -0.964 -2.082 1.101 -2.04 1.101 -1.687 c -1.101 -0.449 l -1.101 0.144 0.855 0.204 0.676 0.204 c -0.401 0.204 0.197 0.024 0 -0.179 c -0 -1.687 l -0 -2.04 0.137 -2.082 0.413 -2.088 c -0.413 -2.195 l --0.897 -2.195 l --0.897 -2.088 l --0.622 -2.082 -0.485 -2.04 -0.485 -1.687 c --0.485 -0.227 l --0.485 0.179 -0.611 0.179 -0.694 0.179 c --0.897 0.132 l --0.939 0.233 l --0.132 0.562 l -0 0.562 l -h -f -1 0 0 1 -12.104 -5.5871 cm -0 0 m -0.048 0.137 0.144 0.401 0.144 0.539 c -0.144 0.766 -0.024 0.82 -0.293 0.82 c --0.293 0.927 l -0.892 0.927 l -0.892 0.82 l -0.497 0.82 0.413 0.49 0.305 0.174 c --0.832 -3.122 l --0.945 -3.122 l --1.842 -0.611 l --1.854 -0.611 l --2.734 -3.122 l --2.853 -3.122 l --4.073 0.293 l --4.205 0.67 -4.265 0.82 -4.624 0.82 c --4.624 0.927 l --3.158 0.927 l --3.158 0.82 l --3.374 0.82 -3.547 0.771 -3.547 0.569 c --3.547 0.472 -3.487 0.317 -3.457 0.227 c --2.649 -2.075 l --2.637 -2.075 l --1.98 -0.227 l --2.142 0.216 l --2.267 0.55 -2.356 0.82 -2.751 0.82 c --2.751 0.927 l --1.202 0.927 l --1.202 0.82 l --1.454 0.82 -1.627 0.802 -1.627 0.55 c --1.627 0.377 -1.531 0.132 -1.471 -0.03 c --0.741 -2.075 l --0.73 -2.075 l -h -f -1 0 0 1 1.0896 -1.1903 cm -0 0 m -0.024 0.347 0.275 0.7 0.628 0.7 c -1.053 0.7 1.238 0.371 1.238 0 c -h -1.848 -0.179 m -1.848 0.467 1.441 0.915 0.825 0.915 c --0.024 0.915 -0.413 0.221 -0.413 -0.55 c --0.413 -1.37 0.102 -1.926 0.753 -1.926 c -1.357 -1.926 1.747 -1.417 1.848 -0.867 c -1.759 -0.808 l -1.621 -1.196 1.387 -1.447 0.957 -1.447 c -0.305 -1.447 -0.006 -0.778 -0.006 -0.179 c -h -f -1 0 0 1 3.9715 0 cm -0 0 m --0.107 0 l --0.197 0.401 -0.358 0.736 -0.825 0.736 c --1.041 0.736 -1.28 0.616 -1.28 0.371 c --1.28 -0.281 0.197 -0.197 0.197 -1.125 c -0.197 -1.615 -0.263 -1.926 -0.718 -1.926 c --0.892 -1.926 -1.083 -1.884 -1.256 -1.836 c --1.406 -1.806 l --1.513 -1.884 l --1.621 -1.884 l --1.621 -0.927 l --1.513 -0.927 l --1.459 -1.346 -1.143 -1.747 -0.694 -1.747 c --0.449 -1.747 -0.233 -1.603 -0.233 -1.34 c --0.233 -0.64 -1.627 -0.736 -1.627 0.114 c --1.627 0.604 -1.274 0.915 -0.795 0.915 c --0.67 0.915 -0.574 0.885 -0.455 0.85 c --0.233 0.802 l --0.107 0.915 l -0 0.915 l -h -f -1 0 0 1 1.4954 -1.3338 cm -0 0 m -0 -0.353 0.137 -0.395 0.413 -0.4 c -0.413 -0.509 l --0.897 -0.509 l --0.897 -0.4 l --0.622 -0.395 -0.485 -0.353 -0.485 0 c --0.485 2.853 l --0.485 3.26 -0.611 3.26 -0.694 3.26 c --0.897 3.213 l --0.939 3.313 l --0.132 3.643 l -0 3.643 l -h -f -1 0 0 1 1.1783 1.3338 cm -0 0 m -0.024 0.347 0.275 0.7 0.628 0.7 c -1.053 0.7 1.238 0.371 1.238 0 c -h -1.849 -0.179 m -1.849 0.467 1.442 0.915 0.825 0.915 c --0.024 0.915 -0.413 0.221 -0.413 -0.55 c --0.413 -1.37 0.102 -1.926 0.753 -1.926 c -1.357 -1.926 1.747 -1.417 1.849 -0.867 c -1.759 -0.808 l -1.621 -1.196 1.387 -1.447 0.957 -1.447 c -0.305 -1.447 -0.006 -0.778 -0.006 -0.179 c -h -f -1 0 0 1 2.4888 0.2154 cm -0 0 m --0.102 0.221 -0.239 0.479 -0.502 0.509 c --0.502 0.616 l -0.741 0.616 l -0.741 0.509 l -0.556 0.509 0.418 0.485 0.418 0.293 c -0.418 0.191 0.502 0.024 0.544 -0.072 c -1.166 -1.352 l -1.735 0.054 l -1.777 0.162 1.812 0.246 1.812 0.358 c -1.812 0.497 1.705 0.509 1.543 0.509 c -1.543 0.616 l -2.416 0.616 l -2.416 0.509 l -2.225 0.509 2.123 0.358 2.058 0.197 c -0.915 -2.602 l -0.682 -3.176 0.246 -3.35 0.035 -3.35 c --0.161 -3.35 -0.365 -3.23 -0.365 -3.015 c --0.365 -2.835 -0.221 -2.751 -0.06 -2.751 c -0.137 -2.751 0.233 -2.86 0.335 -2.86 c -0.574 -2.86 0.7 -2.524 0.771 -2.351 c -0.934 -1.95 l -h -f -Q -q -1 0 0 1 -0 -0 cm -236.255 162.621 20.899 20.578 re -W n -q -21.4613 0 0 21.1095 236.0445 162.4419 cm -/Im4 Do -Q -Q -q -1 0 0 1 -0 -0 cm -299.837 183.158 m -299.837 162.424 l -320.017 162.425 l -320.017 183.158 l -h -W n -q -20.9277 0 0 21.2765 299.4394 162.0758 cm -/Im5 Do -Q -Q -q -1 0 0 1 -0 -0 cm -288.809 183.468 m -288.809 162.314 l -268.321 162.314 l -268.321 183.468 l -268.256 183.468 l -268.256 160.549 l -290.918 160.549 l -290.918 183.468 l -h -W n -q -23.1768 0 0 23.4343 267.9989 160.2909 cm -/Im6 Do -Q -Q -q -1 0 0 1 -0 -0 cm -268.321 183.468 20.488 0.451 re -W n -q -20.9418 0 0 1.0267 267.9973 183.2356 cm -/Im7 Do -Q -Q -q -1 0 0 1 -0 -0 cm -268.321 162.314 20.488 21.154 re -W n -q -20.9418 0 0 21.8174 267.9973 161.9316 cm -/Im8 Do -Q -Q -q -1 0 0 1 -0 -0 cm -351.647 182.965 m -351.647 162.669 l -331.375 162.669 l -331.375 160.561 l -353.264 160.561 l -353.264 182.965 l -h -W n -q -22.4042 0 0 22.9193 331.1177 160.3032 cm -/Im9 Do -Q -Q -q -1 0 0 1 -0 -0 cm -331.181 183.117 m -331.181 162.669 l -331.375 162.669 l -331.375 182.965 l -351.647 182.965 l -351.647 183.117 l -h -W n -q -21.7036 0 0 21.7036 330.6014 162.0704 cm -/Im10 Do -Q -Q -q -1 0 0 1 -0 -0 cm -331.375 182.965 m -331.375 162.669 l -351.648 162.669 l -351.647 182.965 l -h -W n -q -20.8591 0 0 20.8591 331.1177 162.3634 cm -/Im11 Do -Q -Q -BT -0 g -/GS1 gs -/TT1 1 Tf --0.025 Tc 0.079 Tw 9.657 0 0 9.657 236.254 149.6387 Tm -[(M)-20(a)-17(k)-2(e s)-14(u)-17(r)-20(e t)-16(o co)-15(n)-20(n)-20(e)-21(c)-28(t w)-21(i)-17(t)-23(h u)-20(s)-4(!)]TJ -0 Tc 0 Tw 12 0 Td -( )Tj -0.027 Tc -0.027 Tw -12 -1.222 Td -[(i)-16(n)-16(f)-6(o)-15(r)-32(m)-19(i)-17(t)-36(.co)-14(m/)67(s)-10(o)-15(c)-6(i)-16(a)-19(l)-17(co)-15(n)-20(n)-20(e)-21(c)-28(t)]TJ -ET -q -1 0 0 1 -0 -0 cm -24 24 540 675 re -W n -1 0 0 1 89.4927 677.217 cm -0.291 g -/GS0 gs -0 0 m --19.874 0 -19.874 -19.874 v --19.874 -57.942 l -429.28 -57.942 l -429.28 -19.874 l -429.28 0 409.406 0 v -h -f -Q -BT -1 g -/GS0 gs -/TT1 1 Tf -0.01 Tc 0 Tw 25.752 0 0 25.752 183.0389 654.3553 Tm -[(T)-2(h)-4(e A)8(ddi)-1(s)7(o)2(n)-12(-)31(W)50(e)-6(s)1(l)-1(e)13(y)]TJ --1.93 -1.021 Td -[(P)1(ro)9(f)5(e)-6(s)2(s)3(i)4(o)2(n)-2(a)-3(l C)5(o)2(m)-4(p)-2(u)-2(t)-7(in)1(g S)-9(e)-7(r)-17(ie)-6(s)10( )-10( )]TJ -ET -q -1 0 0 1 -0 -0 cm -0.291 g -24 24 540 38.065 re -f -Q -q -1 0 0 1 -0 -0 cm -24 24 540 675 re -W n -1 0 0 1 522.1914 54.1004 cm -0 0 m --2.782 0 -5.132 -2.38 -5.132 -5.198 c --5.132 -8.401 -2.954 -10.727 0.042 -10.727 c -2.871 -10.727 5.171 -8.247 5.171 -5.198 c -5.171 -2.332 2.851 0 0 0 c -0.042 -9.419 m --2.35 -9.419 -3.219 -6.923 -3.219 -5.248 c --3.219 -3.724 -2.344 -1.311 0 -1.311 c -2.25 -1.311 3.26 -3.583 3.26 -5.198 c -3.26 -7.295 2.156 -9.419 0.042 -9.419 c --48.731 -0.001 m --46.916 -0.001 -44.974 -0.807 -44.974 -3.071 c --44.974 -5.256 -47.107 -6.567 -49.327 -6.569 c --49.334 -6.206 -49.34 -5.831 -49.344 -5.455 c --47.665 -5.326 -46.763 -4.512 -46.763 -3.166 c --46.763 -2.01 -47.7 -1.2 -49.047 -1.2 c --50.132 -1.2 l --50.134 -4.568 -50.065 -9.411 -49.932 -10.614 c --50.653 -10.469 -51.249 -10.465 -51.992 -10.614 c --51.823 -9.148 -51.71 -1.382 -52.003 0.002 c --50.638 -0.045 -50.338 -0.045 v --49.982 -0.003 -49.1 -0.001 -48.731 -0.001 c --31.329 -0.077 m --31.854 -2.138 -34.056 -8.089 -35.117 -10.616 c --34.423 -10.519 -33.688 -10.541 -33.351 -10.597 c --32.999 -9.463 -32.617 -8.114 -32.449 -7.608 c --31.351 -7.528 -30.052 -7.528 -28.745 -7.608 c --28.35 -8.668 -28.117 -9.419 -27.757 -10.593 c --27.08 -10.528 -26.389 -10.536 -25.656 -10.601 c --26.708 -8.075 -29.151 -1.568 -29.541 -0.076 c --30.072 -0.141 -30.751 -0.141 -31.329 -0.077 c --32.029 -6.191 m --31.017 -3.193 -30.678 -2.16 v --29.633 -5.122 -29.263 -6.191 v --30.382 -6.305 -30.949 -6.305 -32.029 -6.191 c --40.8 -9.276 m --39.692 -9.324 -37.046 -9.168 y --37.039 -10.305 -37.114 -10.644 y --38.101 -10.512 -41.071 -10.449 -42.681 -10.644 c --42.446 -8.075 -42.525 -2.778 -42.671 -0.031 c --41.185 -0.156 -38.34 -0.132 -37.138 -0.031 c --37.138 -1.515 l --38.169 -1.417 -39.81 -1.318 -40.747 -1.349 c --40.786 -3.807 -40.757 -4.436 v --39.082 -4.555 -37.852 -4.356 -37.324 -4.318 c --37.324 -5.798 l --39.269 -5.607 -40.751 -5.72 v --40.8 -6.711 -40.8 -8.177 -40.8 -9.276 c -16.119 -10.384 m -16.158 -10.603 l -15.699 -10.533 15 -10.521 14.562 -10.591 c -13.727 -9.358 10.425 -4.842 9.119 -3.157 c -9.072 -5.623 9.042 -9.352 9.195 -10.581 c -8.997 -10.587 8.703 -10.57 8.554 -10.57 c -8.11 -10.57 7.91 -10.549 7.513 -10.603 c -7.73 -9.329 7.782 -1.474 7.513 -0.091 c -8.147 -0.104 8.668 -0.114 8.835 -0.101 c -8.985 -0.091 9.086 -0.077 y -12.637 -4.839 14.492 -7.329 v -14.51 -6.388 14.596 -1.658 14.418 -0.054 c -14.667 -0.089 14.976 -0.179 15.284 -0.174 c -15.566 -0.168 15.871 -0.101 16.149 -0.05 c -15.895 -2.055 15.804 -8.884 16.119 -10.384 c --16.801 -2.84 m --16.801 -4.541 -17.95 -5.521 -19.056 -5.738 c --18.253 -6.77 -15.348 -10.619 y --16.081 -10.509 -17.157 -10.528 -17.696 -10.592 c --18.622 -9.145 -20.185 -6.906 -20.784 -6.182 c --20.796 -5.766 -20.8 -5.449 -20.808 -5.04 c --19.008 -5.079 -18.627 -3.881 -18.627 -3.032 c --18.627 -1.902 -19.654 -1.311 -20.668 -1.311 c --21.549 -1.311 l --21.624 -3.33 -21.48 -8.29 -21.392 -10.597 c --22.094 -10.524 -22.87 -10.536 -23.429 -10.597 c --23.192 -8.906 -23.234 -1.209 -23.429 -0.034 c --22.318 -0.119 -21.837 -0.091 v --21.401 -0.068 -20.994 -0.045 -20.483 -0.045 c --19.375 -0.045 -16.801 -0.317 -16.801 -2.84 c --9.327 -4.597 m --8.169 -5.335 -7.286 -6.024 -7.286 -7.597 c --7.286 -9.866 -9.06 -10.671 -10.583 -10.671 c --11.837 -10.671 -13.167 -10.01 -13.782 -9.535 c --13.552 -9.079 -13.311 -8.61 -13.132 -7.965 c --12.45 -8.73 -11.397 -9.27 -10.675 -9.27 c --9.724 -9.27 -9.151 -8.75 -9.151 -7.878 c --9.113 -7.223 -9.583 -6.761 -10.171 -6.268 c --10.601 -5.912 -11.688 -5.208 -11.948 -4.998 c --12.804 -4.3 -13.33 -3.715 -13.33 -2.602 c --13.33 -1.118 -12.012 0 -10.262 0 c --9.367 0 -8.529 -0.267 -7.506 -0.951 c --7.757 -1.332 -8.108 -1.917 -8.29 -2.456 c --8.701 -1.899 -9.333 -1.311 -10.209 -1.311 c --11.038 -1.311 -11.553 -1.792 -11.553 -2.562 c --11.553 -2.814 -11.371 -3.102 -10.995 -3.438 c --10.622 -3.759 -10.107 -4.119 -9.327 -4.597 c -f -1 0 0 1 -471.0003 -2.7549 cm -0 0 m -0.498 0 l -2.729 -5.003 l -2 -5.003 l -1.336 -3.528 l --0.783 -3.528 l --1.406 -5.003 l --2.136 -5.003 l -h -1.046 -2.898 m -0.245 -1.092 l --0.501 -2.898 l -h -4.439 -0.028 m -5.151 -0.028 l -5.151 -4.353 l -7.393 -4.353 l -7.393 -5.003 l -4.439 -5.003 l -h -15.074 -0.028 m -15.785 -0.028 l -13.776 -5.024 l -13.619 -5.024 l -11.993 -0.979 l -10.351 -5.024 l -10.197 -5.024 l -8.195 -0.028 l -8.91 -0.028 l -10.279 -3.456 l -11.662 -0.028 l -12.334 -0.028 l -13.722 -3.456 l -h -18.8 0 m -19.3 0 l -21.529 -5.003 l -20.801 -5.003 l -20.14 -3.528 l -18.017 -3.528 l -17.395 -5.003 l -16.664 -5.003 l -h -19.846 -2.898 m -19.043 -1.092 l -18.297 -2.898 l -h -25.723 -0.028 m -26.585 -0.028 l -24.748 -2.371 l -24.748 -5.003 l -24.02 -5.003 l -24.02 -2.371 l -22.183 -0.028 l -23.043 -0.028 l -24.372 -1.743 l -h -29.68 -2.921 m -29.137 -2.591 l -28.797 -2.384 28.557 -2.18 28.413 -1.982 c -28.269 -1.78 28.197 -1.549 28.197 -1.289 c -28.197 -0.891 28.333 -0.579 28.603 -0.333 c -28.874 -0.088 29.23 0.033 29.664 0.033 c -30.079 0.033 30.459 -0.086 30.808 -0.315 c -30.808 -1.123 l -30.447 -0.781 30.062 -0.606 29.65 -0.606 c -29.416 -0.606 29.226 -0.659 29.075 -0.767 c -28.926 -0.873 28.852 -1.014 28.852 -1.177 c -28.852 -1.329 28.906 -1.469 29.016 -1.598 c -29.129 -1.728 29.304 -1.868 29.548 -2.009 c -30.091 -2.331 l -30.697 -2.693 31.001 -3.152 31.001 -3.71 c -31.001 -4.109 30.87 -4.436 30.604 -4.684 c -30.337 -4.936 29.987 -5.06 29.56 -5.06 c -29.07 -5.06 28.621 -4.909 28.219 -4.609 c -28.219 -3.703 l -28.603 -4.188 29.047 -4.431 29.555 -4.431 c -29.777 -4.431 29.964 -4.369 30.111 -4.246 c -30.26 -4.124 30.334 -3.967 30.334 -3.779 c -30.334 -3.477 30.113 -3.19 29.68 -2.921 c -36.726 -0.028 m -37.438 -0.028 l -37.438 -4.353 l -39.677 -4.353 l -39.677 -5.003 l -36.726 -5.003 l -h -41.758 -0.028 m -44.577 -0.028 l -44.577 -0.661 l -42.469 -0.661 l -42.469 -2.18 l -44.506 -2.18 l -44.506 -2.816 l -42.469 -2.816 l -42.469 -4.362 l -44.645 -4.362 l -44.645 -4.994 l -41.758 -4.994 l -h -48.595 0 m -49.096 0 l -51.325 -5.003 l -50.599 -5.003 l -49.933 -3.528 l -47.811 -3.528 l -47.189 -5.003 l -46.459 -5.003 l -h -49.641 -2.898 m -48.839 -1.092 l -48.095 -2.898 l -h -53.35 -5.003 m -53.35 -0.028 l -54.595 -0.028 l -55.097 -0.028 55.498 -0.155 55.793 -0.405 c -56.088 -0.652 56.236 -0.99 56.236 -1.414 c -56.236 -1.706 56.164 -1.952 56.018 -2.162 c -55.873 -2.379 55.666 -2.534 55.396 -2.64 c -55.555 -2.74 55.709 -2.886 55.863 -3.067 c -56.016 -3.247 56.228 -3.561 56.502 -4.006 c -56.675 -4.289 56.816 -4.503 56.918 -4.648 c -57.183 -5.003 l -56.336 -5.003 l -56.12 -4.674 l -56.075 -4.614 l -55.938 -4.419 l -55.718 -4.053 l -55.482 -3.666 l -55.332 -3.466 55.196 -3.301 55.073 -3.177 c -54.954 -3.057 54.841 -2.972 54.747 -2.921 c -54.646 -2.865 54.48 -2.838 54.247 -2.838 c -54.062 -2.838 l -54.062 -5.003 l -h -54.276 -0.633 m -54.062 -0.633 l -54.062 -2.206 l -54.333 -2.206 l -54.692 -2.206 54.94 -2.176 55.073 -2.114 c -55.209 -2.049 55.311 -1.958 55.387 -1.831 c -55.462 -1.708 55.501 -1.567 55.501 -1.408 c -55.501 -1.249 55.459 -1.109 55.375 -0.986 c -55.291 -0.854 55.175 -0.767 55.025 -0.712 c -54.871 -0.661 54.624 -0.633 54.276 -0.633 c -63.139 -0.028 m -63.815 -0.028 l -63.815 -5.003 l -63.205 -5.003 l -59.88 -1.172 l -59.88 -5.003 l -59.211 -5.003 l -59.211 -0.028 l -59.788 -0.028 l -63.139 -3.894 l -h -66.347 -0.028 0.711 -4.973 re -73.57 -0.028 m -74.247 -0.028 l -74.247 -5.003 l -73.636 -5.003 l -70.308 -1.172 l -70.308 -5.003 l -69.639 -5.003 l -69.639 -0.028 l -70.216 -0.028 l -73.57 -3.894 l -h -79.023 -2.551 m -80.691 -2.551 l -80.691 -4.66 l -80.079 -4.926 79.471 -5.06 78.871 -5.06 c -78.047 -5.06 77.387 -4.822 76.894 -4.337 c -76.404 -3.86 76.154 -3.267 76.154 -2.56 c -76.154 -1.819 76.41 -1.197 76.922 -0.707 c -77.434 -0.215 78.07 0.033 78.842 0.033 c -79.119 0.033 79.385 0.002 79.639 -0.055 c -79.89 -0.12 80.208 -0.225 80.592 -0.393 c -80.592 -1.116 l -79.999 -0.769 79.411 -0.599 78.825 -0.599 c -78.283 -0.599 77.826 -0.784 77.452 -1.156 c -77.077 -1.524 76.894 -1.982 76.894 -2.517 c -76.894 -3.082 77.077 -3.543 77.452 -3.899 c -77.826 -4.26 78.304 -4.441 78.889 -4.441 c -79.175 -4.441 79.515 -4.375 79.912 -4.246 c -79.98 -4.225 l -79.98 -3.185 l -79.023 -3.185 l -h -f -Q -q -1 0 0 1 43.98 25.62 cm -0 g -/GS2 gs -0 Tc /Fm1 Do -Q - -endstream endobj 47804 0 obj <> endobj 47805 0 obj <>stream -q -/Fm0 Do -Q -BT -/CS0 cs 0.291 scn -/GS0 gs -/TT0 1 Tf -0.01 Tc 0.183 Tw 12 0 0 12 87 334.4833 Tm -[(T)-1(h)1(e A)9(dd)-1(i)-2(s)7(o)-1(n)-14(-)26(W)52(e)-7(s)2(le)12(y P)-5(r)10(o)2(f)7(e)-7(s)-2(s)2(i)3(o)-1(n)-7(a)-1(l C)2(o)-2(m)-3(p)1(u)-4(tin)2(g S)-8(e)-8(r)-4(i)3(e)-7(s)]TJ -0 scn -/GS1 gs -/TT1 1 Tf -0.165 Tw 22.363 0 Td -[( w)-6(a)-16(s c)7(r)-8(e)-6(a)6(t)-7(e)-8(d i)-4(n 1)65(9)-3(9)-11(0 t)-4(o)10( )]TJ -0.137 Tw -22.363 -1.417 Td -[(p)-3(r)-4(o)14(v)-9(i)-2(d)-4(e s)3(e)-11(r)-21(i)1(o)-3(u)-8(s p)-3(r)-4(o)1(g)-7(r)-24(a)-5(m)-8(m)-8(e)-11(r)-24(s a)-5(n)-6(d n)-8(e)-2(t)-30(w)12(o)-2(r)-21(k)-24(i)-4(n)-3(g p)-3(r)-4(o)5(f)1(e)-10(s)-1(si)1(o)-2(n)-6(a)-7(l)-8(s w)-9(i)-5(t)-11(h w)9(e)-10(l)-4(l)-12(-)2(w)-9(r)-21(i)-5(t)-27(t)-7(e)-11(n)10( )]TJ -0.117 Tw 0 -1.417 TD -[(a)-5(n)-6(d p)-3(r)-24(ac)-16(t)-11(i)-1(c)-5(a)-7(l r)-8(e)-5(f)1(e)-11(r)-8(e)-11(n)-8(c)10(e b)-1(oo)-2(k)-28(s)-5(. T)-6(h)-8(e)-11(r)-8(e a)-5(r)-8(e f)1(e)5(w p)-4(l)-5(ac)10(e)-9(s t)-4(o t)-10(u)-5(r)-21(n f)7(o)-2(r ac)9(c)7(u)-5(r)-24(a)6(t)-7(e a)-5(n)-6(d)10( )]TJ -0.036 Tw T* -[(a)-3(u)-6(t)-11(h)-4(o)-2(r)-21(i)-5(t)-22(a)6(t)-11(i)-9(v)9(e b)-1(oo)-2(k)-29(s o)-2(n c)7(u)-5(r)-21(r)-8(e)-11(nt a)-5(n)-6(d c)7(u)-6(t)-27(t)-11(i)-4(n)-3(g)-4(-)-20(e)-8(d)-1(g)3(e t)-7(e)-8(c)7(h)-8(n)-4(o)-3(l)-4(o)1(g)-38(y)55(. W)45(e h)-4(o)-2(p)-3(e t)-11(h)-6(a)6(t o)-3(u)-5(r)10( )]TJ -0.066 Tw T* -[(b)-1(oo)-2(k)-29(s w)-9(i)-5(l)-4(l h)-8(e)-10(l)-4(p y)15(o)-3(u u)-5(n)-6(d)-4(e)-11(r)-24(s)-9(t)-22(a)-5(n)-6(d t)-11(h)-8(e s)-9(t)-22(a)6(t)-7(e o)5(f t)-11(h)-8(e a)-5(r)-48(t i)-4(n p)-3(r)-4(o)1(g)-7(r)-24(a)-5(m)-8(m)-7(i)-4(n)-3(g l)-5(a)-5(n)-3(g)-11(u)-5(a)-2(g)3(e)-10(s)-5(,)10( )]TJ -0 Tw T* -[(o)-2(p)-3(e)-11(r)-24(a)6(t)-11(i)-4(n)-3(g s)-12(y)-3(s)-9(t)-7(e)-10(m)-8(s)-5(, a)-5(n)-6(d n)-8(e)-2(t)-30(w)12(o)-2(r)-21(k)-29(s)-5(.)10( )]TJ -0.291 scn -/GS0 gs -/TT0 1 Tf -0 Tc 8.675 -2.417 Td -[(C)2(o)-1(n)-2(s)4(u)2(l)-4(tin)3(g E)11(d)-1(i)-4(t)1(o)-2(r B)-19(r)-4(i)-7(a)-2(n W)64(. K)28(e)-8(r)-6(n)3(ig)-3(h)-7(a)-2(n)]TJ -ET -q -1 0 0 1 84.606 359.2 cm -/CS0 CS 0.509 SCN -4 M -0 0 m -382.788 0 l -S -Q -BT -0 scn -/GS1 gs -/TT1 1 Tf -0.01 Tc -0.01 Tw 12 0 0 12 154.5543 394.7161 Tm -[(V)-3(i)-4(si)-5(t )]TJ -0.291 scn -/GS0 gs -/TT0 1 Tf -0.023 Tc -0.023 Tw 2.01 0 Td -[(i)-2(n)-2(f)7(o)-4(r)-9(mi)-6(t)-30(.)6(c)4(o)-4(m)-9(/)27(s)4(e)-10(r)-6(i)1(e)-9(s)-6(/)23(p)-5(r)8(of)5(e)-9(s)-4(si)1(o)-3(n)-9(a)-3(l)-3(c)4(o)-4(m)-5(p)-1(u)-6(t)-2(i)-2(ng)]TJ -0 scn -/GS1 gs -/TT2 1 Tf -0 Tc 0 Tw 18.231 0 Td -[( )-35( )]TJ -/TT1 1 Tf -0.015 Tc -0.005 Tw -18.895 -1.333 Td -[(f)12(o)3(r)5( a)5( c)19(o)3(m)-3(p)1(le)3(t)-2(e)5( l)1(i)1(s)-4(t)5( o)10(f)5( a)20(v)-1(ailab)1(le)5( p)-1(ub)1(l)1(i)3(ca)11(t)-6(i)6(o)3(n)-3(s.)]TJ -ET -q -0 0 552 705 re -W n -q -1 0 0 1 39.6219 44.0859 cm -0.95 scn -/GS0 gs -0 0 m -0.628 0 l -3.438 -6.304 l -2.521 -6.304 l -1.684 -4.446 l --0.987 -4.446 l --1.771 -6.304 l --2.693 -6.304 l -h -1.318 -3.652 m -0.308 -1.377 l --0.632 -3.652 l -h -5.596 -0.035 m -6.493 -0.035 l -6.493 -5.486 l -9.317 -5.486 l -9.317 -6.304 l -5.596 -6.304 l -h -18.999 -0.035 m -19.896 -0.035 l -17.363 -6.331 l -17.165 -6.331 l -15.117 -1.234 l -13.047 -6.331 l -12.852 -6.331 l -10.328 -0.035 l -11.23 -0.035 l -12.956 -4.357 l -14.698 -0.035 l -15.546 -0.035 l -17.294 -4.357 l -h -23.695 0 m -24.326 0 l -27.135 -6.304 l -26.217 -6.304 l -25.384 -4.446 l -22.709 -4.446 l -21.925 -6.304 l -21.002 -6.304 l -h -25.015 -3.652 m -24.001 -1.377 l -23.062 -3.652 l -h -32.421 -0.035 m -33.507 -0.035 l -31.192 -2.989 l -31.192 -6.304 l -30.274 -6.304 l -30.274 -2.989 l -27.959 -0.035 l -29.043 -0.035 l -30.719 -2.195 l -h -37.409 -3.68 m -36.724 -3.267 l -36.297 -3.005 35.993 -2.748 35.812 -2.498 c -35.63 -2.241 35.541 -1.952 35.541 -1.624 c -35.541 -1.123 35.711 -0.73 36.051 -0.419 c -36.393 -0.112 36.841 0.042 37.388 0.042 c -37.912 0.042 38.391 -0.108 38.831 -0.398 c -38.831 -1.416 l -38.377 -0.984 37.89 -0.765 37.371 -0.765 c -37.076 -0.765 36.837 -0.831 36.646 -0.967 c -36.459 -1.1 36.365 -1.277 36.365 -1.484 c -36.365 -1.674 36.432 -1.852 36.571 -2.014 c -36.714 -2.177 36.934 -2.354 37.243 -2.533 c -37.928 -2.936 l -38.692 -3.395 39.074 -3.974 39.074 -4.677 c -39.074 -5.178 38.907 -5.59 38.573 -5.903 c -38.236 -6.22 37.797 -6.377 37.258 -6.377 c -36.64 -6.377 36.074 -6.187 35.567 -5.808 c -35.567 -4.667 l -36.051 -5.278 36.611 -5.586 37.251 -5.586 c -37.53 -5.586 37.766 -5.507 37.951 -5.351 c -38.14 -5.196 38.231 -5 38.231 -4.765 c -38.231 -4.383 37.954 -4.02 37.409 -3.68 c -46.289 -0.035 m -47.186 -0.035 l -47.186 -5.486 l -50.009 -5.486 l -50.009 -6.304 l -46.289 -6.304 l -h -52.632 -0.035 m -56.185 -0.035 l -56.185 -0.833 l -53.528 -0.833 l -53.528 -2.748 l -56.095 -2.748 l -56.095 -3.548 l -53.528 -3.548 l -53.528 -5.497 l -56.271 -5.497 l -56.271 -6.295 l -52.632 -6.295 l -h -61.249 0 m -61.881 0 l -64.69 -6.304 l -63.776 -6.304 l -62.936 -4.446 l -60.261 -4.446 l -59.478 -6.304 l -58.558 -6.304 l -h -62.567 -3.652 m -61.556 -1.377 l -60.62 -3.652 l -h -67.241 -6.304 m -67.241 -0.035 l -68.812 -0.035 l -69.444 -0.035 69.95 -0.193 70.322 -0.509 c -70.693 -0.823 70.88 -1.248 70.88 -1.782 c -70.88 -2.151 70.789 -2.461 70.605 -2.724 c -70.424 -2.998 70.162 -3.194 69.822 -3.326 c -70.021 -3.454 70.216 -3.638 70.408 -3.866 c -70.602 -4.092 70.87 -4.489 71.215 -5.049 c -71.433 -5.407 71.611 -5.676 71.741 -5.858 c -72.074 -6.304 l -71.005 -6.304 l -70.734 -5.891 l -70.725 -5.876 70.706 -5.85 70.678 -5.815 c -70.504 -5.569 l -70.227 -5.108 l -69.929 -4.621 l -69.742 -4.367 69.569 -4.16 69.414 -4.005 c -69.264 -3.852 69.122 -3.745 69.002 -3.68 c -68.875 -3.611 68.667 -3.576 68.372 -3.576 c -68.141 -3.576 l -68.141 -6.304 l -h -68.41 -0.798 m -68.141 -0.798 l -68.141 -2.781 l -68.481 -2.781 l -68.933 -2.781 69.245 -2.743 69.414 -2.665 c -69.585 -2.582 69.715 -2.468 69.81 -2.307 c -69.905 -2.153 69.954 -1.975 69.954 -1.774 c -69.954 -1.574 69.9 -1.398 69.796 -1.243 c -69.688 -1.076 69.543 -0.967 69.353 -0.899 c -69.16 -0.833 68.848 -0.798 68.41 -0.798 c -79.58 -0.035 m -80.432 -0.035 l -80.432 -6.304 l -79.664 -6.304 l -75.473 -1.478 l -75.473 -6.304 l -74.63 -6.304 l -74.63 -0.035 l -75.357 -0.035 l -79.58 -4.907 l -h -83.623 -0.035 0.896 -6.268 re -92.729 -0.035 m -93.581 -0.035 l -93.581 -6.304 l -92.81 -6.304 l -88.618 -1.478 l -88.618 -6.304 l -87.774 -6.304 l -87.774 -0.035 l -88.5 -0.035 l -92.729 -4.907 l -h -99.6 -3.214 m -101.702 -3.214 l -101.702 -5.873 l -100.931 -6.209 100.165 -6.377 99.408 -6.377 c -98.371 -6.377 97.539 -6.076 96.917 -5.466 c -96.299 -4.865 95.985 -4.117 95.985 -3.225 c -95.985 -2.293 96.309 -1.509 96.952 -0.891 c -97.598 -0.27 98.4 0.042 99.371 0.042 c -99.721 0.042 100.057 0.003 100.377 -0.069 c -100.693 -0.151 101.094 -0.284 101.579 -0.494 c -101.579 -1.406 l -100.83 -0.97 100.089 -0.755 99.351 -0.755 c -98.668 -0.755 98.092 -0.988 97.621 -1.456 c -97.147 -1.921 96.917 -2.498 96.917 -3.172 c -96.917 -3.884 97.147 -4.466 97.621 -4.914 c -98.092 -5.368 98.694 -5.598 99.432 -5.598 c -99.791 -5.598 100.221 -5.514 100.721 -5.351 c -100.807 -5.326 l -100.807 -4.013 l -99.6 -4.013 l -h -f -Q -Q -1 scn -/GS0 gs -66.8 547.89 417.472 19.398 re -f -0.291 scn -66.959 419.673 418.083 179.486 re -f -q -66.959 419.674 418.082 179.485 re -W n -q -420.24 0 0 181.6416 65.8224 418.6632 cm -/Im0 Do -Q -Q -/CS0 CS 0.509 SCN -0.514 w 4 M -66.959 419.673 418.083 179.486 re -S -q -1 0 0 1 226.0941 441.8248 cm -0 scn -/GS1 gs -0 0 m --6.182 0 l --3.119 5.375 l -h -f -Q -q -1 0 0 1 222.2353 440.7093 cm -0 scn -/GS1 gs -0 0 m --3.088 -5.355 l --6.215 -0.016 l -h -f -Q -q -1 0 0 1 229.6779 440.7093 cm -0 scn -/GS1 gs -0 0 m --3.088 -5.355 l --6.215 -0.016 l -h -f -Q -q -0 0 552 705 re -W n -q -1 0 0 1 238.1612 439.732 cm -0 scn -/GS1 gs -0 0 m --3.66 0 l --1.814 4.286 l -h -0.209 -0.578 m -0.786 -1.91 l -0.915 -2.231 1.172 -2.777 1.172 -3.13 c -1.172 -3.692 0.77 -3.82 0.08 -3.852 c -0.08 -4.141 l -4.27 -4.141 l -4.27 -3.852 l -3.082 -3.804 2.777 -2.905 2.376 -1.942 c --1.236 6.725 l --1.525 6.725 l --5.345 -2.231 l --5.827 -3.355 -6.164 -3.772 -6.998 -3.852 c --6.998 -4.141 l --3.66 -4.141 l --3.66 -3.852 l --4.254 -3.804 -4.896 -3.74 -4.896 -3.146 c --4.896 -2.841 -4.671 -2.343 -4.543 -2.071 c --3.9 -0.578 l -h -f -Q -q -1 0 0 1 248.1768 436.9552 cm -0 scn -/GS1 gs -0 0 m --0.369 -0.401 -0.819 -0.722 -1.38 -0.722 c --2.6 -0.722 -3.579 0.562 -3.579 2.52 c --3.579 5.024 -2.247 5.554 -1.669 5.554 c --0.578 5.554 0 4.462 0 3.499 c -h -0 5.425 m --0.417 5.859 -1.011 6.035 -1.589 6.035 c --3.676 6.035 -5.04 3.868 -5.04 1.958 c --5.04 0.273 -4.013 -1.589 -2.135 -1.589 c --1.236 -1.589 -0.61 -1.188 0 -0.562 c -0 -1.589 l -0.353 -1.589 l -2.52 -0.706 l -2.408 -0.433 l -2.247 -0.498 2.038 -0.562 1.862 -0.562 c -1.637 -0.562 1.3 -0.562 1.3 0.53 c -1.3 9.775 l -0.947 9.775 l --1.22 8.892 l --1.108 8.619 l --0.947 8.683 -0.738 8.748 -0.562 8.748 c --0.337 8.748 0 8.748 0 7.656 c -h -f -Q -q -1 0 0 1 256.2023 436.9552 cm -0 scn -/GS1 gs -0 0 m --0.369 -0.401 -0.819 -0.722 -1.38 -0.722 c --2.6 -0.722 -3.579 0.562 -3.579 2.52 c --3.579 5.024 -2.247 5.554 -1.669 5.554 c --0.578 5.554 0 4.462 0 3.499 c -h -0 5.425 m --0.417 5.859 -1.011 6.035 -1.589 6.035 c --3.676 6.035 -5.04 3.868 -5.04 1.958 c --5.04 0.273 -4.013 -1.589 -2.135 -1.589 c --1.236 -1.589 -0.61 -1.188 0 -0.562 c -0 -1.589 l -0.353 -1.589 l -2.52 -0.706 l -2.408 -0.433 l -2.247 -0.498 2.038 -0.562 1.862 -0.562 c -1.637 -0.562 1.3 -0.562 1.3 0.53 c -1.3 9.775 l -0.947 9.775 l --1.22 8.892 l --1.108 8.619 l --0.947 8.683 -0.738 8.748 -0.562 8.748 c --0.337 8.748 0 8.748 0 7.656 c -h -f -Q -q -1 0 0 1 261.5955 436.9552 cm -0 scn -/GS1 gs -0 0 m -0 -0.947 0.369 -1.059 1.107 -1.075 c -1.107 -1.364 l --2.408 -1.364 l --2.408 -1.075 l --1.669 -1.059 -1.3 -0.947 -1.3 0 c --1.3 3.916 l --1.3 5.008 -1.637 5.008 -1.862 5.008 c --2.039 5.008 -2.247 4.944 -2.408 4.88 c --2.52 5.152 l --0.353 6.035 l -0 6.035 l -h --0.658 9.775 m --0.225 9.775 0.128 9.422 0.128 8.988 c -0.128 8.555 -0.225 8.202 -0.658 8.202 c --1.091 8.202 -1.445 8.555 -1.445 8.988 c --1.445 9.422 -1.091 9.775 -0.658 9.775 c -f -Q -q -1 0 0 1 268.2887 440.5346 cm -0 scn -/GS1 gs -0 0 m --0.289 0 l --0.53 1.075 -0.963 1.974 -2.215 1.974 c --2.793 1.974 -3.435 1.653 -3.435 0.995 c --3.435 -0.755 0.53 -0.53 0.53 -3.018 c -0.53 -4.334 -0.706 -5.168 -1.926 -5.168 c --2.391 -5.168 -2.905 -5.056 -3.371 -4.928 c --3.467 -4.896 -3.66 -4.847 -3.772 -4.847 c --3.916 -4.847 -4.029 -4.928 -4.061 -5.056 c --4.35 -5.056 l --4.35 -2.488 l --4.061 -2.488 l --3.916 -3.612 -3.066 -4.687 -1.862 -4.687 c --1.204 -4.687 -0.626 -4.302 -0.626 -3.595 c --0.626 -1.717 -4.366 -1.974 -4.366 0.305 c --4.366 1.621 -3.419 2.456 -2.135 2.456 c --1.798 2.456 -1.541 2.376 -1.22 2.279 c --1.027 2.231 -0.818 2.151 -0.626 2.151 c --0.417 2.151 -0.353 2.279 -0.289 2.456 c -0 2.456 l -h -f -Q -q -1 0 0 1 273.1041 442.4445 cm -0 scn -/GS1 gs -0 0 m -1.782 0 2.263 -2.376 2.263 -3.772 c -2.263 -4.895 1.99 -6.533 0.53 -6.533 c --1.252 -6.533 -1.75 -4.029 -1.75 -2.648 c --1.75 -0.594 -0.786 0 0 0 c -0.273 0.546 m --1.83 0.546 -3.21 -1.364 -3.21 -3.339 c --3.21 -5.265 -1.878 -7.078 0.16 -7.078 c -2.697 -7.078 3.724 -4.751 3.724 -3.098 c -3.724 -1.14 2.279 0.546 0.273 0.546 c -f -Q -q -1 0 0 1 279.9739 441.4816 cm -0 scn -/GS1 gs -0 0 m -0.899 0.995 1.525 1.509 2.44 1.509 c -3.74 1.509 4.253 0.289 4.253 -0.915 c -4.253 -4.526 l -4.253 -5.474 4.623 -5.586 5.361 -5.602 c -5.361 -5.891 l -1.846 -5.891 l -1.846 -5.602 l -2.584 -5.586 2.953 -5.474 2.953 -4.526 c -2.953 -1.204 l -2.953 0.385 2.295 0.546 1.814 0.546 c -1.075 0.546 0.53 0.064 0 -0.482 c -0 -4.526 l -0 -5.474 0.369 -5.586 1.107 -5.602 c -1.107 -5.891 l --2.408 -5.891 l --2.408 -5.602 l --1.669 -5.586 -1.3 -5.474 -1.3 -4.526 c --1.3 -0.61 l --1.3 0.481 -1.637 0.481 -1.862 0.481 c --2.039 0.481 -2.247 0.417 -2.408 0.353 c --2.52 0.626 l --0.353 1.509 l -0 1.509 l -h -f -Q -Q -0 scn -/GS1 gs -290.102 438.576 -4.061 1.236 re -f -q -0 0 552 705 re -W n -q -1 0 0 1 302.06 443.7286 cm -0 0 m -0.128 0.369 0.385 1.075 0.385 1.445 c -0.385 2.054 -0.064 2.199 -0.786 2.199 c --0.786 2.488 l -2.391 2.488 l -2.391 2.199 l -1.332 2.199 1.107 1.316 0.818 0.466 c --2.231 -8.379 l --2.536 -8.379 l --4.944 -1.637 l --4.976 -1.637 l --7.335 -8.379 l --7.656 -8.379 l --10.931 0.786 l --11.284 1.798 -11.444 2.199 -12.408 2.199 c --12.408 2.488 l --8.475 2.488 l --8.475 2.199 l --9.053 2.199 -9.518 2.071 -9.518 1.525 c --9.518 1.268 -9.358 0.851 -9.278 0.61 c --7.111 -5.57 l --7.078 -5.57 l --5.313 -0.61 l --5.746 0.578 l --6.083 1.477 -6.324 2.199 -7.384 2.199 c --7.384 2.488 l --3.226 2.488 l --3.226 2.199 l --3.9 2.199 -4.366 2.151 -4.366 1.477 c --4.366 1.011 -4.109 0.353 -3.949 -0.08 c --1.99 -5.57 l --1.958 -5.57 l -h -f -Q -q -1 0 0 1 304.9838 440.5346 cm -0 0 m -0.064 0.931 0.738 1.878 1.685 1.878 c -2.825 1.878 3.322 0.995 3.322 0 c -h -4.96 -0.481 m -4.96 1.252 3.868 2.456 2.215 2.456 c --0.064 2.456 -1.108 0.594 -1.108 -1.477 c --1.108 -3.676 0.273 -5.168 2.022 -5.168 c -3.644 -5.168 4.687 -3.804 4.96 -2.328 c -4.719 -2.167 l -4.35 -3.21 3.724 -3.884 2.568 -3.884 c -0.818 -3.884 -0.016 -2.087 -0.016 -0.481 c -h -f -Q -q -1 0 0 1 315.6414 440.5346 cm -0 0 m --0.289 0 l --0.53 1.075 -0.963 1.974 -2.215 1.974 c --2.793 1.974 -3.435 1.653 -3.435 0.995 c --3.435 -0.755 0.53 -0.53 0.53 -3.018 c -0.53 -4.334 -0.706 -5.168 -1.926 -5.168 c --2.392 -5.168 -2.905 -5.056 -3.371 -4.928 c --3.467 -4.896 -3.66 -4.847 -3.772 -4.847 c --3.917 -4.847 -4.029 -4.928 -4.061 -5.056 c --4.35 -5.056 l --4.35 -2.488 l --4.061 -2.488 l --3.917 -3.612 -3.066 -4.687 -1.862 -4.687 c --1.204 -4.687 -0.626 -4.302 -0.626 -3.595 c --0.626 -1.717 -4.366 -1.974 -4.366 0.305 c --4.366 1.621 -3.419 2.456 -2.135 2.456 c --1.798 2.456 -1.541 2.376 -1.22 2.279 c --1.027 2.231 -0.819 2.151 -0.626 2.151 c --0.417 2.151 -0.353 2.279 -0.289 2.456 c -0 2.456 l -h -f -Q -q -1 0 0 1 319.654 436.9552 cm -0 0 m -0 -0.947 0.369 -1.059 1.108 -1.075 c -1.108 -1.364 l --2.408 -1.364 l --2.408 -1.075 l --1.669 -1.059 -1.3 -0.947 -1.3 0 c --1.3 7.656 l --1.3 8.748 -1.637 8.748 -1.862 8.748 c --2.038 8.748 -2.247 8.683 -2.408 8.619 c --2.52 8.892 l --0.353 9.775 l -0 9.775 l -h -f -Q -q -1 0 0 1 322.8161 440.5346 cm -0 0 m -0.064 0.931 0.738 1.878 1.685 1.878 c -2.825 1.878 3.323 0.995 3.323 0 c -h -4.96 -0.481 m -4.96 1.252 3.868 2.456 2.215 2.456 c --0.064 2.456 -1.107 0.594 -1.107 -1.477 c --1.107 -3.676 0.273 -5.168 2.022 -5.168 c -3.644 -5.168 4.687 -3.804 4.96 -2.328 c -4.719 -2.167 l -4.35 -3.21 3.724 -3.884 2.568 -3.884 c -0.819 -3.884 -0.016 -2.087 -0.016 -0.481 c -h -f -Q -q -1 0 0 1 329.4946 441.1124 cm -0 0 m --0.273 0.594 -0.642 1.284 -1.348 1.364 c --1.348 1.653 l -1.99 1.653 l -1.99 1.364 l -1.493 1.364 1.124 1.3 1.124 0.786 c -1.124 0.514 1.348 0.064 1.461 -0.193 c -3.13 -3.628 l -4.655 0.144 l -4.767 0.433 4.863 0.658 4.863 0.963 c -4.863 1.332 4.575 1.364 4.141 1.364 c -4.141 1.653 l -6.485 1.653 l -6.485 1.364 l -5.971 1.364 5.698 0.963 5.522 0.53 c -2.456 -6.982 l -1.83 -8.523 0.658 -8.988 0.097 -8.988 c --0.433 -8.988 -0.979 -8.668 -0.979 -8.09 c --0.979 -7.608 -0.594 -7.384 -0.16 -7.384 c -0.369 -7.384 0.626 -7.672 0.899 -7.672 c -1.541 -7.672 1.878 -6.773 2.071 -6.308 c -2.504 -5.233 l -h -f -Q -q -1 0 0 1 287.2977 90.258 cm -0 0 m -1.983 0 l -1.983 4.878 l -1.983 5.079 1.994 5.357 2.262 5.357 c -2.506 5.357 2.562 5.09 2.562 4.89 c -2.562 0 l -4.477 0 l -4.477 4.878 l -4.477 5.079 4.489 5.357 4.745 5.357 c -5.001 5.357 5.057 5.09 5.057 4.89 c -5.057 0 l -7.039 0 l -7.039 4.956 l -7.039 6.148 6.527 6.694 5.692 6.694 c -5.134 6.694 4.734 6.337 4.388 5.947 c -4.21 6.282 3.832 6.694 3.208 6.694 c -2.996 6.694 2.74 6.638 2.517 6.515 c -2.295 6.404 2.094 6.237 2.005 6.026 c -1.983 6.026 l -1.983 6.527 l -0 6.527 l -h --3.457 5.056 m --3.457 5.279 -3.346 5.491 -3.1 5.491 c --2.855 5.491 -2.744 5.279 -2.744 5.056 c --2.744 1.604 l --2.744 1.381 -2.855 1.169 -3.1 1.169 c --3.346 1.169 -3.457 1.381 -3.457 1.604 c -h --5.439 1.994 m --5.439 0.301 -4.192 -0.167 -3.1 -0.167 c --2.009 -0.167 -0.761 0.301 -0.761 1.994 c --0.761 4.533 l --0.761 6.226 -2.009 6.694 -3.1 6.694 c --4.192 6.694 -5.439 6.226 -5.439 4.533 c -h --10.676 1.994 m --10.676 0.301 -9.429 -0.167 -8.337 -0.167 c --7.067 -0.167 -6.065 0.334 -6.065 2.372 c --6.065 2.695 l --7.981 2.695 l --7.981 1.57 l --7.981 1.214 -8.07 1.036 -8.337 1.036 c --8.638 1.036 -8.694 1.214 -8.694 1.548 c --8.694 5.112 l --8.694 5.29 -8.671 5.491 -8.371 5.491 c --8.07 5.491 -8.048 5.29 -8.048 5.112 c --8.048 4.043 l --6.132 4.043 l --6.132 4.589 l --6.132 5.992 -7.012 6.694 -8.337 6.694 c --9.429 6.694 -10.676 6.226 -10.676 4.533 c -h --13.061 0 1.537 1.604 re -f -Q -Q -q -1 0 0 1 270.8372 90.258 cm -0.471 scn -/GS0 gs -0 0 m -2.049 0 l -2.049 6.348 l -3.263 6.348 l -3.263 7.952 l --1.214 7.952 l --1.214 6.348 l -0 6.348 l -h --3.829 0 2.049 7.952 re -f -Q -q -0 0 552 705 re -W n -q -1 0 0 1 258.9226 90.258 cm -0 0 m -1.982 0 l -1.982 4.878 l -1.982 5.079 1.994 5.357 2.261 5.357 c -2.506 5.357 2.562 5.09 2.562 4.89 c -2.562 0 l -4.477 0 l -4.477 4.878 l -4.477 5.079 4.488 5.357 4.745 5.357 c -5.001 5.357 5.056 5.09 5.056 4.89 c -5.056 0 l -7.039 0 l -7.039 4.956 l -7.039 6.148 6.526 6.694 5.691 6.694 c -5.134 6.694 4.733 6.337 4.388 5.947 c -4.21 6.282 3.831 6.694 3.208 6.694 c -2.996 6.694 2.74 6.638 2.517 6.515 c -2.294 6.404 2.094 6.237 2.005 6.026 c -1.982 6.026 l -1.982 6.527 l -0 6.527 l -h --3.789 0 m --1.806 0 l --1.806 3.486 l --1.806 3.999 -1.495 4.344 -0.96 4.344 c --0.849 4.344 -0.737 4.332 -0.626 4.321 c --0.626 6.694 l --1.071 6.649 -1.662 6.315 -1.851 5.691 c --1.873 5.691 l --1.873 6.527 l --3.789 6.527 l -h --7.246 5.056 m --7.246 5.279 -7.134 5.491 -6.889 5.491 c --6.645 5.491 -6.533 5.279 -6.533 5.056 c --6.533 1.604 l --6.533 1.381 -6.645 1.169 -6.889 1.169 c --7.134 1.169 -7.246 1.381 -7.246 1.604 c -h --9.228 1.994 m --9.228 0.301 -7.981 -0.167 -6.889 -0.167 c --5.798 -0.167 -4.55 0.301 -4.55 1.994 c --4.55 4.533 l --4.55 6.226 -5.798 6.694 -6.889 6.694 c --7.981 6.694 -9.228 6.226 -9.228 4.533 c -h --12.761 5.458 m --12.349 5.458 l --12.349 0 l --10.367 0 l --10.367 5.458 l --9.776 5.458 l --9.776 6.527 l --10.745 6.527 l --10.701 6.883 -10.445 6.95 -10.122 6.95 c --9.821 6.95 l --9.821 7.952 l --10.701 7.952 l --11.926 7.952 -12.305 7.685 -12.349 6.527 c --12.761 6.527 l -h --17.942 0 m --15.96 0 l --15.96 4.878 l --15.96 5.079 -15.949 5.357 -15.681 5.357 c --15.425 5.357 -15.369 5.09 -15.369 4.89 c --15.369 0 l --13.387 0 l --13.387 4.956 l --13.387 6.148 -13.899 6.694 -14.735 6.694 c --15.336 6.694 -15.782 6.348 -15.937 6.026 c --15.96 6.026 l --15.96 6.527 l --17.942 6.527 l -h --20.709 6.95 1.983 1.003 re --20.709 0 1.983 6.527 re -f -Q -q -1 0 0 1 293.0154 85.7205 cm -0 0 m -1.181 0 l -1.181 0.137 l -0.161 0.137 l -0.161 0.806 l -1.105 0.806 l -1.105 0.944 l -0.161 0.944 l -0.161 1.556 l -1.169 1.556 l -1.169 1.694 l -0 1.694 l -h --0.344 1.181 m --0.387 1.537 -0.705 1.729 -1.025 1.729 c --1.559 1.729 -1.824 1.31 -1.824 0.847 c --1.824 0.384 -1.559 -0.035 -1.025 -0.035 c --0.629 -0.035 -0.366 0.23 -0.32 0.645 c --0.482 0.645 l --0.512 0.344 -0.712 0.102 -1.025 0.102 c --1.474 0.102 -1.663 0.477 -1.663 0.847 c --1.663 1.217 -1.474 1.592 -1.025 1.592 c --0.778 1.592 -0.562 1.442 -0.506 1.181 c -h --3.232 1.556 m --2.629 1.556 l --2.387 1.556 -2.264 1.426 -2.264 1.219 c --2.264 1.013 -2.432 0.889 -2.629 0.889 c --3.232 0.889 l -h --3.393 0 m --3.232 0 l --3.232 0.752 l --2.619 0.752 l --2.313 0.764 -2.294 0.5 -2.28 0.263 c --2.275 0.193 -2.275 0.066 -2.235 0 c --2.058 0 l --2.129 0.085 -2.129 0.318 -2.136 0.434 c --2.148 0.636 -2.212 0.788 -2.432 0.816 c --2.432 0.821 l --2.214 0.863 -2.102 1.039 -2.102 1.252 c --2.102 1.559 -2.337 1.694 -2.617 1.694 c --3.393 1.694 l -h --5.116 0.61 m --5.116 0.261 -4.928 -0.035 -4.459 -0.035 c --3.986 -0.035 -3.799 0.261 -3.799 0.61 c --3.799 1.694 l --3.961 1.694 l --3.961 0.645 l --3.958 0.251 -4.146 0.102 -4.459 0.102 c --4.77 0.102 -4.957 0.251 -4.955 0.645 c --4.955 1.694 l --5.116 1.694 l -h --6.866 0.847 m --6.866 1.217 -6.676 1.592 -6.228 1.592 c --5.782 1.592 -5.592 1.217 -5.592 0.847 c --5.592 0.477 -5.782 0.102 -6.228 0.102 c --6.676 0.102 -6.866 0.477 -6.866 0.847 c --7.027 0.847 m --7.027 0.384 -6.762 -0.035 -6.228 -0.035 c --5.696 -0.035 -5.431 0.384 -5.431 0.847 c --5.431 1.31 -5.696 1.729 -6.228 1.729 c --6.762 1.729 -7.027 1.31 -7.027 0.847 c --8.579 0.558 m --8.598 0.145 -8.304 -0.035 -7.903 -0.035 c --7.303 -0.035 -7.255 0.332 -7.255 0.448 c --7.255 0.726 -7.454 0.83 -7.694 0.894 c --8.107 0.996 l --8.244 1.029 -8.363 1.096 -8.363 1.255 c --8.363 1.506 -8.159 1.592 -7.938 1.592 c --7.699 1.592 -7.485 1.461 -7.476 1.202 c --7.315 1.202 l --7.312 1.549 -7.606 1.729 -7.941 1.729 c --8.418 1.729 -8.524 1.418 -8.524 1.252 c --8.524 0.989 -8.342 0.894 -8.142 0.844 c --7.765 0.752 l --7.609 0.714 -7.416 0.638 -7.416 0.446 c --7.416 0.199 -7.687 0.102 -7.865 0.102 c --8.173 0.102 -8.425 0.208 -8.418 0.558 c -h --9.511 0.861 m --10.229 0.861 l --10.229 0.723 l --9.653 0.723 l --9.646 0.365 -9.865 0.102 -10.239 0.102 c --10.687 0.102 -10.877 0.477 -10.877 0.847 c --10.877 1.217 -10.687 1.592 -10.239 1.592 c --9.916 1.592 -9.715 1.362 -9.693 1.167 c --9.532 1.167 l --9.594 1.537 -9.883 1.729 -10.239 1.729 c --10.772 1.729 -11.038 1.31 -11.038 0.847 c --11.038 0.384 -10.772 -0.035 -10.239 -0.035 c --9.995 -0.035 -9.767 0.066 -9.653 0.308 c --9.648 0.308 l --9.627 0 l --9.511 0 l -h --12.707 0 m --12.546 0 l --12.546 1.432 l --12.541 1.432 l --11.554 0 l --11.374 0 l --11.374 1.694 l --11.535 1.694 l --11.535 0.261 l --11.54 0.261 l --12.526 1.694 l --12.707 1.694 l -h --13.289 0 0.161 1.694 re --15.046 0 m --14.885 0 l --14.885 1.432 l --14.881 1.432 l --13.894 0 l --13.714 0 l --13.714 1.694 l --13.875 1.694 l --13.875 0.261 l --13.879 0.261 l --14.866 1.694 l --15.046 1.694 l -h --16.548 1.556 m --15.946 1.556 l --15.704 1.556 -15.58 1.426 -15.58 1.219 c --15.58 1.013 -15.749 0.889 -15.946 0.889 c --16.548 0.889 l -h --16.709 0 m --16.548 0 l --16.548 0.752 l --15.936 0.752 l --15.63 0.764 -15.611 0.5 -15.597 0.263 c --15.592 0.193 -15.592 0.066 -15.552 0 c --15.374 0 l --15.445 0.085 -15.445 0.318 -15.453 0.434 c --15.465 0.636 -15.528 0.788 -15.749 0.816 c --15.749 0.821 l --15.531 0.863 -15.42 1.039 -15.42 1.252 c --15.42 1.559 -15.654 1.694 -15.934 1.694 c --16.709 1.694 l -h --17.71 1.532 m --17.383 0.664 l --18.048 0.664 l -h --18.475 0 m --18.303 0 l --18.098 0.527 l --17.328 0.527 l --17.122 0 l --16.949 0 l --17.613 1.694 l --17.793 1.694 l -h --19.833 0 m --18.652 0 l --18.652 0.137 l --19.672 0.137 l --19.672 0.806 l --18.728 0.806 l --18.728 0.944 l --19.672 0.944 l --19.672 1.556 l --18.664 1.556 l --18.664 1.694 l --19.833 1.694 l -h --21.186 0 m --20.076 0 l --20.076 0.137 l --21.025 0.137 l --21.025 1.694 l --21.186 1.694 l -h --22.87 0 m --22.709 0 l --22.709 0.697 l --22.04 1.694 l --22.232 1.694 l --22.787 0.835 l --23.344 1.694 l --23.536 1.694 l --22.87 0.697 l -h --23.636 0.861 m --24.354 0.861 l --24.354 0.723 l --23.778 0.723 l --23.771 0.365 -23.989 0.102 -24.364 0.102 c --24.812 0.102 -25.002 0.477 -25.002 0.847 c --25.002 1.217 -24.812 1.592 -24.364 1.592 c --24.042 1.592 -23.84 1.362 -23.819 1.167 c --23.657 1.167 l --23.719 1.537 -24.008 1.729 -24.364 1.729 c --24.898 1.729 -25.163 1.31 -25.163 0.847 c --25.163 0.384 -24.898 -0.035 -24.364 -0.035 c --24.12 -0.035 -23.892 0.066 -23.778 0.308 c --23.773 0.308 l --23.752 0 l --23.636 0 l -h --26.847 0.847 m --26.847 1.217 -26.658 1.592 -26.209 1.592 c --25.763 1.592 -25.573 1.217 -25.573 0.847 c --25.573 0.477 -25.763 0.102 -26.209 0.102 c --26.658 0.102 -26.847 0.477 -26.847 0.847 c --27.009 0.847 m --27.009 0.384 -26.743 -0.035 -26.209 -0.035 c --25.678 -0.035 -25.413 0.384 -25.413 0.847 c --25.413 1.31 -25.678 1.729 -26.209 1.729 c --26.743 1.729 -27.009 1.31 -27.009 0.847 c --28.195 0 m --27.085 0 l --27.085 0.137 l --28.033 0.137 l --28.033 1.694 l --28.195 1.694 l -h --29.963 0.847 m --29.963 1.217 -29.773 1.592 -29.325 1.592 c --28.878 1.592 -28.688 1.217 -28.688 0.847 c --28.688 0.477 -28.878 0.102 -29.325 0.102 c --29.773 0.102 -29.963 0.477 -29.963 0.847 c --30.123 0.847 m --30.123 0.384 -29.858 -0.035 -29.325 -0.035 c --28.793 -0.035 -28.528 0.384 -28.528 0.847 c --28.528 1.31 -28.793 1.729 -29.325 1.729 c --29.858 1.729 -30.123 1.31 -30.123 0.847 c --31.787 0 m --31.626 0 l --31.626 1.432 l --31.621 1.432 l --30.634 0 l --30.454 0 l --30.454 1.694 l --30.615 1.694 l --30.615 0.261 l --30.62 0.261 l --31.607 1.694 l --31.787 1.694 l -h --33.534 0 m --33.372 0 l --33.372 0.821 l --32.367 0.821 l --32.367 0 l --32.205 0 l --32.205 1.694 l --32.367 1.694 l --32.367 0.958 l --33.372 0.958 l --33.372 1.694 l --33.534 1.694 l -h --33.878 1.181 m --33.92 1.537 -34.238 1.729 -34.559 1.729 c --35.092 1.729 -35.358 1.31 -35.358 0.847 c --35.358 0.384 -35.092 -0.035 -34.559 -0.035 c --34.163 -0.035 -33.899 0.23 -33.854 0.645 c --34.015 0.645 l --34.046 0.344 -34.246 0.102 -34.559 0.102 c --35.007 0.102 -35.197 0.477 -35.197 0.847 c --35.197 1.217 -35.007 1.592 -34.559 1.592 c --34.312 1.592 -34.096 1.442 -34.039 1.181 c -h --36.737 0 m --35.557 0 l --35.557 0.137 l --36.576 0.137 l --36.576 0.806 l --35.632 0.806 l --35.632 0.944 l --36.576 0.944 l --36.576 1.556 l --35.568 1.556 l --35.568 1.694 l --36.737 1.694 l -h --38.32 1.556 m --37.73 1.556 l --37.73 0 l --37.569 0 l --37.569 1.556 l --36.978 1.556 l --36.978 1.694 l --38.32 1.694 l -h --40.469 0 m --39.883 0 l --39.373 0.012 -39.106 0.292 -39.106 0.847 c --39.106 1.402 -39.373 1.681 -39.883 1.694 c --40.469 1.694 l -h --40.308 1.556 m --39.964 1.556 l --39.478 1.559 -39.266 1.352 -39.266 0.847 c --39.266 0.341 -39.478 0.135 -39.964 0.137 c --40.308 0.137 l -h --41.928 0 m --40.747 0 l --40.747 0.137 l --41.767 0.137 l --41.767 0.806 l --40.823 0.806 l --40.823 0.944 l --41.767 0.944 l --41.767 1.556 l --40.759 1.556 l --40.759 1.694 l --41.928 1.694 l -h --43.511 1.556 m --42.921 1.556 l --42.921 0 l --42.759 0 l --42.759 1.556 l --42.169 1.556 l --42.169 1.694 l --43.511 1.694 l -h --44.95 0.558 m --44.969 0.145 -44.675 -0.035 -44.274 -0.035 c --43.674 -0.035 -43.627 0.332 -43.627 0.448 c --43.627 0.726 -43.825 0.83 -44.065 0.894 c --44.478 0.996 l --44.616 1.029 -44.734 1.096 -44.734 1.255 c --44.734 1.506 -44.53 1.592 -44.31 1.592 c --44.07 1.592 -43.856 1.461 -43.847 1.202 c --43.686 1.202 l --43.683 1.549 -43.977 1.729 -44.312 1.729 c --44.789 1.729 -44.895 1.418 -44.895 1.252 c --44.895 0.989 -44.713 0.894 -44.514 0.844 c --44.136 0.752 l --43.98 0.714 -43.787 0.638 -43.787 0.446 c --43.787 0.199 -44.058 0.102 -44.236 0.102 c --44.545 0.102 -44.796 0.208 -44.789 0.558 c -h --46.577 0.61 m --46.577 0.261 -46.39 -0.035 -45.92 -0.035 c --45.448 -0.035 -45.261 0.261 -45.261 0.61 c --45.261 1.694 l --45.422 1.694 l --45.422 0.645 l --45.419 0.251 -45.607 0.102 -45.92 0.102 c --46.231 0.102 -46.419 0.251 -46.416 0.645 c --46.416 1.694 l --46.577 1.694 l -h --48.053 1.556 m --47.451 1.556 l --47.209 1.556 -47.085 1.426 -47.085 1.219 c --47.085 1.013 -47.254 0.889 -47.451 0.889 c --48.053 0.889 l -h --48.215 0 m --48.053 0 l --48.053 0.752 l --47.441 0.752 l --47.135 0.764 -47.116 0.5 -47.102 0.263 c --47.097 0.193 -47.097 0.066 -47.057 0 c --46.879 0 l --46.95 0.085 -46.95 0.318 -46.958 0.434 c --46.969 0.636 -47.033 0.788 -47.254 0.816 c --47.254 0.821 l --47.035 0.863 -46.924 1.039 -46.924 1.252 c --46.924 1.559 -47.159 1.694 -47.439 1.694 c --48.215 1.694 l -h --49.797 1.556 m --49.207 1.556 l --49.207 0 l --49.045 0 l --49.045 1.556 l --48.455 1.556 l --48.455 1.694 l --49.797 1.694 l -h --51.728 0 m --50.547 0 l --50.547 0.137 l --51.567 0.137 l --51.567 0.806 l --50.623 0.806 l --50.623 0.944 l --51.567 0.944 l --51.567 1.556 l --50.559 1.556 l --50.559 1.694 l --51.728 1.694 l -h --53.476 0 m --53.315 0 l --53.315 0.821 l --52.309 0.821 l --52.309 0 l --52.148 0 l --52.148 1.694 l --52.309 1.694 l --52.309 0.958 l --53.315 0.958 l --53.315 1.694 l --53.476 1.694 l -h --55.058 1.556 m --54.468 1.556 l --54.468 0 l --54.307 0 l --54.307 1.556 l --53.716 1.556 l --53.716 1.694 l --55.058 1.694 l -h -f -Q -q -1 0 0 1 352.8766 85.7568 cm -0.37 scn -/GS0 gs -0 0 m --0.902 0 l --0.902 2.154 l --0.036 2.154 l -0.384 2.154 0.629 1.918 0.629 1.549 c -0.629 1.31 0.472 1.155 0.363 1.104 c -0.493 1.044 0.66 0.908 0.66 0.62 c -0.66 0.217 0.384 0 0 0 c --0.07 1.779 m --0.481 1.779 l --0.481 1.282 l --0.07 1.282 l -0.109 1.282 0.209 1.383 0.209 1.531 c -0.209 1.679 0.109 1.779 -0.07 1.779 c --0.043 0.905 m --0.481 0.905 l --0.481 0.375 l --0.043 0.375 l -0.148 0.375 0.239 0.496 0.239 0.642 c -0.239 0.787 0.148 0.905 -0.043 0.905 c -f -Q -q -1 0 0 1 355.0254 85.9323 cm -0.37 scn -/GS0 gs -0 0 m --0.097 -0.103 -0.257 -0.194 -0.49 -0.194 c --0.724 -0.194 -0.881 -0.103 -0.978 0 c --1.12 0.148 -1.156 0.326 -1.156 0.614 c --1.156 0.899 -1.12 1.077 -0.978 1.225 c --0.881 1.328 -0.724 1.419 -0.49 1.419 c --0.257 1.419 -0.097 1.328 0 1.225 c -0.142 1.077 0.178 0.899 0.178 0.614 c -0.178 0.326 0.142 0.148 0 0 c --0.306 0.996 m --0.351 1.041 -0.412 1.065 -0.49 1.065 c --0.569 1.065 -0.627 1.041 -0.672 0.996 c --0.754 0.914 -0.763 0.777 -0.763 0.614 c --0.763 0.451 -0.754 0.311 -0.672 0.229 c --0.627 0.185 -0.569 0.16 -0.49 0.16 c --0.412 0.16 -0.351 0.185 -0.306 0.229 c --0.224 0.311 -0.215 0.451 -0.215 0.614 c --0.215 0.777 -0.224 0.914 -0.306 0.996 c -f -Q -q -1 0 0 1 356.6682 85.9323 cm -0.37 scn -/GS0 gs -0 0 m --0.097 -0.103 -0.257 -0.194 -0.49 -0.194 c --0.723 -0.194 -0.881 -0.103 -0.977 0 c --1.119 0.148 -1.155 0.326 -1.155 0.614 c --1.155 0.899 -1.119 1.077 -0.977 1.225 c --0.881 1.328 -0.723 1.419 -0.49 1.419 c --0.257 1.419 -0.097 1.328 0 1.225 c -0.142 1.077 0.179 0.899 0.179 0.614 c -0.179 0.326 0.142 0.148 0 0 c --0.305 0.996 m --0.351 1.041 -0.411 1.065 -0.49 1.065 c --0.569 1.065 -0.626 1.041 -0.672 0.996 c --0.754 0.914 -0.762 0.777 -0.762 0.614 c --0.762 0.451 -0.754 0.311 -0.672 0.229 c --0.626 0.185 -0.569 0.16 -0.49 0.16 c --0.411 0.16 -0.351 0.185 -0.305 0.229 c --0.224 0.311 -0.215 0.451 -0.215 0.614 c --0.215 0.777 -0.224 0.914 -0.305 0.996 c -f -Q -Q -q -1 0 0 1 358.1693 85.7568 cm -0.37 scn -/GS0 gs -0 0 m --0.387 0.656 l --0.554 0.469 l --0.554 0 l --0.947 0 l --0.947 2.154 l --0.554 2.154 l --0.554 0.932 l --0.03 1.576 l -0.445 1.576 l --0.118 0.941 l -0.487 0 l -h -f -Q -q -0 0 552 705 re -W n -q -1 0 0 1 359.431 85.7382 cm -0.37 scn -/GS0 gs -0 0 m --0.247 0 -0.472 0.027 -0.672 0.227 c --0.414 0.484 l --0.284 0.354 -0.115 0.336 0.006 0.336 c -0.142 0.336 0.285 0.382 0.285 0.499 c -0.285 0.578 0.242 0.633 0.118 0.645 c --0.13 0.669 l --0.414 0.696 -0.591 0.82 -0.591 1.111 c --0.591 1.437 -0.303 1.613 0.018 1.613 c -0.263 1.613 0.469 1.571 0.621 1.428 c -0.378 1.184 l -0.287 1.265 0.149 1.289 0.012 1.289 c --0.145 1.289 -0.211 1.217 -0.211 1.138 c --0.211 1.081 -0.188 1.014 -0.048 1.002 c -0.2 0.977 l -0.512 0.947 0.669 0.781 0.669 0.515 c -0.669 0.166 0.373 0 0 0 c -f -Q -q -1 0 0 1 362.4665 85.9742 cm -0.37 scn -/GS0 gs -0 0 m --0.152 -0.151 -0.336 -0.236 -0.581 -0.236 c --0.826 -0.236 -1.014 -0.151 -1.165 0 c --1.383 0.218 -1.377 0.487 -1.377 0.859 c --1.377 1.232 -1.383 1.501 -1.165 1.719 c --1.014 1.87 -0.826 1.955 -0.581 1.955 c --0.336 1.955 -0.152 1.87 0 1.719 c -0.218 1.501 0.215 1.232 0.215 0.859 c -0.215 0.487 0.218 0.218 0 0 c --0.312 1.465 m --0.373 1.535 -0.466 1.58 -0.581 1.58 c --0.696 1.58 -0.793 1.535 -0.854 1.465 c --0.935 1.374 -0.956 1.274 -0.956 0.859 c --0.956 0.445 -0.935 0.345 -0.854 0.255 c --0.793 0.185 -0.696 0.14 -0.581 0.14 c --0.466 0.14 -0.373 0.185 -0.312 0.255 c --0.23 0.345 -0.206 0.445 -0.206 0.859 c --0.206 1.274 -0.23 1.374 -0.312 1.465 c -f -Q -q -1 0 0 1 363.9976 85.7568 cm -0.37 scn -/GS0 gs -0 0 m -0 0.953 l -0 1.168 -0.136 1.24 -0.26 1.24 c --0.384 1.24 -0.524 1.168 -0.524 0.953 c --0.524 0 l --0.917 0 l --0.917 1.576 l --0.532 1.576 l --0.532 1.431 l --0.43 1.54 -0.284 1.594 -0.14 1.594 c -0.018 1.594 0.145 1.543 0.233 1.455 c -0.36 1.328 0.393 1.18 0.393 1.007 c -0.393 0 l -h -f -Q -q -1 0 0 1 365.2594 85.7568 cm -0.37 scn -/GS0 gs -0 0 m --0.324 0 -0.46 0.227 -0.46 0.451 c --0.46 2.154 l --0.066 2.154 l --0.066 0.475 l --0.066 0.381 -0.027 0.333 0.073 0.333 c -0.224 0.333 l -0.224 0 l -h -f -Q -Q -0.37 scn -/GS0 gs -365.792 87.602 0.403 0.32 re -365.798 85.757 0.393 1.577 re -f -q -0 0 552 705 re -W n -q -1 0 0 1 367.5474 85.7568 cm -0 0 m -0 0.953 l -0 1.168 -0.136 1.24 -0.26 1.24 c --0.384 1.24 -0.523 1.168 -0.523 0.953 c --0.523 0 l --0.917 0 l --0.917 1.576 l --0.533 1.576 l --0.533 1.431 l --0.43 1.54 -0.284 1.594 -0.139 1.594 c -0.018 1.594 0.145 1.543 0.233 1.455 c -0.36 1.328 0.393 1.18 0.393 1.007 c -0.393 0 l -h -f -Q -q -1 0 0 1 368.6733 86.4221 cm -0 0 m -0 -0.202 0.124 -0.351 0.345 -0.351 c -0.518 -0.351 0.602 -0.302 0.702 -0.202 c -0.941 -0.435 l -0.781 -0.596 0.626 -0.684 0.342 -0.684 c --0.031 -0.684 -0.387 -0.514 -0.387 0.124 c --0.387 0.638 -0.11 0.929 0.299 0.929 c -0.738 0.929 0.986 0.608 0.986 0.175 c -0.986 0 l -h -0.563 0.439 m -0.52 0.533 0.433 0.602 0.299 0.602 c -0.166 0.602 0.079 0.533 0.036 0.439 c -0.012 0.382 0.003 0.339 0 0.27 c -0.599 0.27 l -0.596 0.339 0.587 0.382 0.563 0.439 c -f -Q -q -1 0 0 1 340.6276 88.8298 cm -0.27 scn -0 0 m --1.376 0 -2.419 0.293 -3.31 1.197 c --2.165 2.343 l --1.592 1.77 -0.815 1.579 0.025 1.579 c -1.069 1.579 1.63 1.974 1.63 2.7 c -1.63 3.018 1.54 3.286 1.349 3.464 c -1.171 3.629 0.967 3.718 0.547 3.782 c --0.548 3.934 l --1.324 4.049 -1.897 4.291 -2.305 4.686 c --2.738 5.119 -2.954 5.705 -2.954 6.468 c --2.954 8.085 -1.757 9.218 0.203 9.218 c -1.452 9.218 2.355 8.913 3.132 8.162 c -2.011 7.054 l -1.438 7.601 0.751 7.678 0.152 7.678 c --0.79 7.678 -1.248 7.156 -1.248 6.532 c --1.248 6.303 -1.172 6.061 -0.98 5.883 c --0.802 5.716 -0.51 5.577 -0.141 5.526 c -0.929 5.374 l -1.757 5.259 2.279 5.03 2.66 4.673 c -3.144 4.215 3.361 3.553 3.361 2.75 c -3.361 0.994 1.896 0 0 0 c -f -Q -q -1 0 0 1 348.5518 88.9071 cm -0.27 scn -0 0 m -0 0.572 l --0.447 0.127 -0.866 -0.064 -1.63 -0.064 c --2.381 -0.064 -2.929 0.127 -3.323 0.522 c --3.68 0.89 -3.871 1.425 -3.871 2.011 c --3.871 3.068 -3.145 3.934 -1.605 3.934 c --0.039 3.934 l --0.039 4.265 l --0.039 4.991 -0.395 5.309 -1.274 5.309 c --1.91 5.309 -2.203 5.157 -2.547 4.761 c --3.604 5.792 l --2.954 6.506 -2.318 6.709 -1.21 6.709 c -0.649 6.709 1.617 5.92 1.617 4.367 c -1.617 0 l -h --0.039 2.8 m --1.35 2.8 l --1.948 2.8 -2.279 2.521 -2.279 2.049 c --2.279 1.591 -1.974 1.286 -1.325 1.286 c --0.866 1.286 -0.573 1.324 -0.281 1.604 c --0.102 1.769 -0.039 2.037 -0.039 2.444 c -h -f -Q -q -1 0 0 1 353.621 94.0891 cm -0.27 scn -0 0 m -0 -5.182 l --1.655 -5.182 l --1.655 0 l --2.342 0 l --2.342 1.26 l --1.655 1.26 l --1.655 2.087 l --1.655 3.03 -1.069 3.984 0.28 3.984 c -1.222 3.984 l -1.222 2.584 l -0.573 2.584 l -0.178 2.584 0 2.368 0 1.985 c -0 1.26 l -1.222 1.26 l -1.222 0 l -h -f -Q -q -1 0 0 1 359.3109 88.9071 cm -0.27 scn -0 0 m -0 0.572 l --0.445 0.127 -0.866 -0.064 -1.63 -0.064 c --2.381 -0.064 -2.929 0.127 -3.323 0.522 c --3.68 0.89 -3.871 1.425 -3.871 2.011 c --3.871 3.068 -3.145 3.934 -1.605 3.934 c --0.038 3.934 l --0.038 4.265 l --0.038 4.991 -0.395 5.309 -1.273 5.309 c --1.91 5.309 -2.203 5.157 -2.547 4.761 c --3.604 5.792 l --2.954 6.506 -2.317 6.709 -1.209 6.709 c -0.65 6.709 1.617 5.92 1.617 4.367 c -1.617 0 l -h --0.038 2.8 m --1.35 2.8 l --1.948 2.8 -2.28 2.521 -2.28 2.049 c --2.28 1.591 -1.974 1.286 -1.324 1.286 c --0.866 1.286 -0.573 1.324 -0.281 1.604 c --0.102 1.769 -0.038 2.037 -0.038 2.444 c -h -f -Q -q -1 0 0 1 365.9366 93.7322 cm -0.27 scn -0 0 m --0.255 0.254 -0.471 0.395 -0.878 0.395 c --1.388 0.395 -1.949 0.012 -1.949 -0.828 c --1.949 -4.825 l --3.604 -4.825 l --3.604 1.808 l --1.987 1.808 l --1.987 1.171 l --1.669 1.553 -1.032 1.884 -0.318 1.884 c -0.331 1.884 0.789 1.719 1.247 1.26 c -h -f -Q -Q -0.27 scn -367.937 95.54 1.655 -6.633 re -f -q -0 0 552 705 re -W n -q -1 0 0 1 369.4093 96.7748 cm -0.789 scn -0 0 m --0.368 -0.368 -0.966 -0.368 -1.334 0.001 c --1.703 0.369 -1.703 0.966 -1.334 1.336 c --0.966 1.705 -0.368 1.705 0 1.336 c -0.369 0.966 0.369 0.369 0 0 c -f -Q -q -1 0 0 1 372.1051 96.7748 cm -0.789 scn -0 0 m --0.368 -0.368 -0.966 -0.368 -1.334 0.001 c --1.703 0.369 -1.703 0.966 -1.334 1.336 c --0.966 1.705 -0.368 1.705 0 1.336 c -0.368 0.966 0.368 0.369 0 0 c -f -Q -q -1 0 0 1 372.6681 99.0624 cm -0.789 scn -0 0 m -1.09 -1.091 1.619 -1.619 v -1.09 -2.148 0 -3.238 y -0.838 -4.076 l -3.295 -1.619 l -0.838 0.837 l -h -f -Q -q -1 0 0 1 370.549 89.9113 cm -0 0 m -0.273 0 0.488 -0.221 0.488 -0.498 c -0.488 -0.779 0.271 -0.998 -0.003 -0.997 c --0.276 -0.997 -0.496 -0.778 -0.496 -0.497 c --0.495 -0.22 -0.274 0.001 -0.002 0 c -h --0.002 -0.077 m --0.22 -0.077 -0.4 -0.265 -0.401 -0.497 c --0.401 -0.734 -0.222 -0.919 -0.001 -0.92 c -0.22 -0.923 0.397 -0.735 0.398 -0.501 c -0.398 -0.266 0.221 -0.077 0 -0.077 c -h --0.096 -0.787 m --0.184 -0.787 l --0.184 -0.232 l --0.137 -0.225 -0.093 -0.219 -0.027 -0.219 c -0.057 -0.219 0.113 -0.237 0.146 -0.261 c -0.179 -0.285 0.197 -0.323 0.197 -0.376 c -0.197 -0.449 0.147 -0.493 0.088 -0.511 c -0.088 -0.515 l -0.137 -0.524 0.17 -0.569 0.181 -0.65 c -0.193 -0.737 0.207 -0.77 0.216 -0.788 c -0.123 -0.787 l -0.11 -0.77 0.097 -0.719 0.085 -0.646 c -0.072 -0.575 0.037 -0.548 -0.034 -0.548 c --0.096 -0.548 l -h --0.096 -0.48 m --0.031 -0.48 l -0.041 -0.48 0.104 -0.454 0.104 -0.385 c -0.104 -0.336 0.068 -0.287 -0.031 -0.287 c --0.06 -0.287 -0.08 -0.29 -0.095 -0.292 c -h -f -Q -Q -q -1 0 0 1 216.3847 100.8806 cm -0 SCN -0.375 w -/GS1 gs -0 0 m -0 -16.102 l -S -Q -q -1 0 0 1 315.8772 100.8806 cm -0 SCN -0.375 w -/GS1 gs -0 0 m -0 -16.102 l -S -Q -q -1 0 0 1 187.8748 99.0629 cm -0.507 scn -0 0 m --4.413 0 l --2.227 3.837 l -h -f -Q -q -1 0 0 1 185.1201 98.2667 cm -0.507 scn -0 0 m --2.205 -3.823 l --4.436 -0.012 l -h -f -Q -q -1 0 0 1 190.4332 98.2667 cm -0.507 scn -0 0 m --2.205 -3.823 l --4.437 -0.012 l -h -f -Q -q -0 0 552 705 re -W n -q -1 0 0 1 178.4677 89.3888 cm -0 scn -/GS1 gs -0 0 m --1.271 0 l --0.63 1.488 l -h -0.072 -0.201 m -0.273 -0.663 l -0.318 -0.775 0.407 -0.964 0.407 -1.087 c -0.407 -1.282 0.268 -1.327 0.028 -1.338 c -0.028 -1.438 l -1.483 -1.438 l -1.483 -1.338 l -1.07 -1.321 0.964 -1.009 0.825 -0.674 c --0.429 2.336 l --0.53 2.336 l --1.856 -0.775 l --2.024 -1.165 -2.141 -1.31 -2.431 -1.338 c --2.431 -1.438 l --1.271 -1.438 l --1.271 -1.338 l --1.477 -1.321 -1.7 -1.299 -1.7 -1.093 c --1.7 -0.987 -1.622 -0.814 -1.578 -0.719 c --1.355 -0.201 l -h -f -Q -q -1 0 0 1 181.946 88.4245 cm -0 scn -/GS1 gs -0 0 m --0.128 -0.139 -0.284 -0.251 -0.479 -0.251 c --0.903 -0.251 -1.243 0.195 -1.243 0.875 c --1.243 1.745 -0.78 1.929 -0.58 1.929 c --0.201 1.929 0 1.55 0 1.215 c -h -0 1.884 m --0.145 2.035 -0.351 2.096 -0.552 2.096 c --1.276 2.096 -1.75 1.343 -1.75 0.68 c --1.75 0.095 -1.394 -0.552 -0.741 -0.552 c --0.429 -0.552 -0.212 -0.413 0 -0.195 c -0 -0.552 l -0.123 -0.552 l -0.875 -0.245 l -0.836 -0.151 l -0.78 -0.173 0.708 -0.195 0.647 -0.195 c -0.569 -0.195 0.452 -0.195 0.452 0.184 c -0.452 3.395 l -0.329 3.395 l --0.424 3.088 l --0.385 2.994 l --0.329 3.016 -0.256 3.038 -0.195 3.038 c --0.117 3.038 0 3.038 0 2.659 c -h -f -Q -q -1 0 0 1 184.7333 88.4245 cm -0 scn -/GS1 gs -0 0 m --0.128 -0.139 -0.284 -0.251 -0.479 -0.251 c --0.903 -0.251 -1.243 0.195 -1.243 0.875 c --1.243 1.745 -0.78 1.929 -0.58 1.929 c --0.201 1.929 0 1.55 0 1.215 c -h -0 1.884 m --0.145 2.035 -0.351 2.096 -0.552 2.096 c --1.276 2.096 -1.75 1.343 -1.75 0.68 c --1.75 0.095 -1.394 -0.552 -0.741 -0.552 c --0.429 -0.552 -0.212 -0.413 0 -0.195 c -0 -0.552 l -0.123 -0.552 l -0.875 -0.245 l -0.836 -0.151 l -0.78 -0.173 0.708 -0.195 0.647 -0.195 c -0.569 -0.195 0.452 -0.195 0.452 0.184 c -0.452 3.395 l -0.329 3.395 l --0.424 3.088 l --0.385 2.994 l --0.329 3.016 -0.256 3.038 -0.195 3.038 c --0.117 3.038 0 3.038 0 2.659 c -h -f -Q -q -1 0 0 1 186.6064 88.4245 cm -0 scn -/GS1 gs -0 0 m -0 -0.329 0.128 -0.368 0.385 -0.373 c -0.385 -0.474 l --0.836 -0.474 l --0.836 -0.373 l --0.58 -0.368 -0.452 -0.329 -0.452 0 c --0.452 1.36 l --0.452 1.739 -0.569 1.739 -0.647 1.739 c --0.708 1.739 -0.78 1.717 -0.836 1.695 c --0.875 1.789 l --0.123 2.096 l -0 2.096 l -h --0.229 3.395 m --0.078 3.395 0.045 3.272 0.045 3.122 c -0.045 2.971 -0.078 2.849 -0.229 2.849 c --0.379 2.849 -0.502 2.971 -0.502 3.122 c --0.502 3.272 -0.379 3.395 -0.229 3.395 c -f -Q -q -1 0 0 1 188.9309 89.6676 cm -0 scn -/GS1 gs -0 0 m --0.1 0 l --0.184 0.374 -0.334 0.686 -0.769 0.686 c --0.97 0.686 -1.193 0.574 -1.193 0.346 c --1.193 -0.262 0.184 -0.184 0.184 -1.048 c -0.184 -1.505 -0.245 -1.795 -0.669 -1.795 c --0.831 -1.795 -1.009 -1.756 -1.171 -1.711 c --1.204 -1.7 -1.271 -1.683 -1.31 -1.683 c --1.36 -1.683 -1.399 -1.711 -1.41 -1.756 c --1.511 -1.756 l --1.511 -0.864 l --1.41 -0.864 l --1.36 -1.254 -1.065 -1.628 -0.647 -1.628 c --0.418 -1.628 -0.217 -1.494 -0.217 -1.249 c --0.217 -0.596 -1.516 -0.686 -1.516 0.106 c --1.516 0.563 -1.187 0.853 -0.741 0.853 c --0.624 0.853 -0.535 0.825 -0.424 0.792 c --0.357 0.775 -0.284 0.747 -0.217 0.747 c --0.145 0.747 -0.123 0.792 -0.1 0.853 c -0 0.853 l -h -f -Q -q -1 0 0 1 190.6032 90.3309 cm -0 scn -/GS1 gs -0 0 m -0.619 0 0.786 -0.825 0.786 -1.31 c -0.786 -1.7 0.691 -2.269 0.184 -2.269 c --0.435 -2.269 -0.608 -1.399 -0.608 -0.92 c --0.608 -0.206 -0.273 0 0 0 c -0.095 0.19 m --0.636 0.19 -1.115 -0.474 -1.115 -1.159 c --1.115 -1.828 -0.652 -2.458 0.056 -2.458 c -0.936 -2.458 1.293 -1.65 1.293 -1.076 c -1.293 -0.396 0.792 0.19 0.095 0.19 c -f -Q -q -1 0 0 1 192.989 89.9965 cm -0 scn -/GS1 gs -0 0 m -0.312 0.346 0.53 0.524 0.847 0.524 c -1.299 0.524 1.477 0.1 1.477 -0.318 c -1.477 -1.572 l -1.477 -1.901 1.606 -1.94 1.862 -1.946 c -1.862 -2.046 l -0.641 -2.046 l -0.641 -1.946 l -0.898 -1.94 1.026 -1.901 1.026 -1.572 c -1.026 -0.418 l -1.026 0.134 0.797 0.19 0.63 0.19 c -0.374 0.19 0.184 0.022 0 -0.167 c -0 -1.572 l -0 -1.901 0.128 -1.94 0.385 -1.946 c -0.385 -2.046 l --0.836 -2.046 l --0.836 -1.946 l --0.58 -1.94 -0.452 -1.901 -0.452 -1.572 c --0.452 -0.212 l --0.452 0.167 -0.569 0.167 -0.647 0.167 c --0.708 0.167 -0.78 0.145 -0.836 0.123 c --0.875 0.217 l --0.123 0.524 l -0 0.524 l -h -f -Q -q -1 0 0 1 181.7085 84.7895 cm -0 scn -/GS1 gs -0 0 m -0.045 0.128 0.134 0.374 0.134 0.502 c -0.134 0.714 -0.022 0.764 -0.273 0.764 c --0.273 0.864 l -0.831 0.864 l -0.831 0.764 l -0.463 0.764 0.385 0.457 0.284 0.162 c --0.775 -2.91 l --0.881 -2.91 l --1.717 -0.569 l --1.728 -0.569 l --2.548 -2.91 l --2.659 -2.91 l --3.796 0.273 l --3.919 0.624 -3.975 0.764 -4.309 0.764 c --4.309 0.864 l --2.943 0.864 l --2.943 0.764 l --3.144 0.764 -3.306 0.719 -3.306 0.53 c --3.306 0.44 -3.25 0.295 -3.222 0.212 c --2.469 -1.934 l --2.458 -1.934 l --1.845 -0.212 l --1.996 0.201 l --2.113 0.513 -2.196 0.764 -2.564 0.764 c --2.564 0.864 l --1.12 0.864 l --1.12 0.764 l --1.355 0.764 -1.516 0.747 -1.516 0.513 c --1.516 0.351 -1.427 0.123 -1.371 -0.028 c --0.691 -1.934 l --0.68 -1.934 l -h -f -Q -q -1 0 0 1 182.724 83.6802 cm -0 scn -/GS1 gs -0 0 m -0.022 0.323 0.256 0.652 0.585 0.652 c -0.981 0.652 1.154 0.346 1.154 0 c -h -1.722 -0.167 m -1.722 0.435 1.343 0.853 0.769 0.853 c --0.022 0.853 -0.385 0.206 -0.385 -0.513 c --0.385 -1.277 0.095 -1.795 0.702 -1.795 c -1.265 -1.795 1.628 -1.321 1.722 -0.808 c -1.639 -0.753 l -1.511 -1.115 1.293 -1.349 0.892 -1.349 c -0.284 -1.349 -0.006 -0.725 -0.006 -0.167 c -h -f -Q -q -1 0 0 1 186.4253 83.6802 cm -0 scn -/GS1 gs -0 0 m --0.1 0 l --0.184 0.374 -0.334 0.686 -0.769 0.686 c --0.97 0.686 -1.193 0.574 -1.193 0.346 c --1.193 -0.262 0.184 -0.184 0.184 -1.048 c -0.184 -1.505 -0.245 -1.795 -0.669 -1.795 c --0.831 -1.795 -1.009 -1.756 -1.171 -1.711 c --1.204 -1.7 -1.271 -1.683 -1.31 -1.683 c --1.36 -1.683 -1.399 -1.711 -1.41 -1.756 c --1.511 -1.756 l --1.511 -0.864 l --1.41 -0.864 l --1.36 -1.254 -1.065 -1.628 -0.647 -1.628 c --0.418 -1.628 -0.217 -1.494 -0.217 -1.249 c --0.217 -0.596 -1.516 -0.686 -1.516 0.106 c --1.516 0.563 -1.187 0.853 -0.741 0.853 c --0.624 0.853 -0.535 0.825 -0.424 0.792 c --0.357 0.775 -0.284 0.747 -0.217 0.747 c --0.145 0.747 -0.123 0.792 -0.1 0.853 c -0 0.853 l -h -f -Q -q -1 0 0 1 187.8189 82.4371 cm -0 scn -/GS1 gs -0 0 m -0 -0.329 0.128 -0.368 0.385 -0.373 c -0.385 -0.474 l --0.836 -0.474 l --0.836 -0.373 l --0.58 -0.368 -0.452 -0.329 -0.452 0 c --0.452 2.659 l --0.452 3.038 -0.569 3.038 -0.647 3.038 c --0.708 3.038 -0.78 3.016 -0.836 2.994 c --0.875 3.088 l --0.123 3.395 l -0 3.395 l -h -f -Q -q -1 0 0 1 188.9171 83.6802 cm -0 scn -/GS1 gs -0 0 m -0.022 0.323 0.256 0.652 0.585 0.652 c -0.981 0.652 1.154 0.346 1.154 0 c -h -1.723 -0.167 m -1.723 0.435 1.344 0.853 0.769 0.853 c --0.022 0.853 -0.385 0.206 -0.385 -0.513 c --0.385 -1.277 0.095 -1.795 0.702 -1.795 c -1.265 -1.795 1.628 -1.321 1.723 -0.808 c -1.639 -0.753 l -1.511 -1.115 1.293 -1.349 0.892 -1.349 c -0.284 -1.349 -0.006 -0.725 -0.006 -0.167 c -h -f -Q -q -1 0 0 1 191.2365 83.8809 cm -0 scn -/GS1 gs -0 0 m --0.095 0.206 -0.223 0.446 -0.468 0.474 c --0.468 0.574 l -0.691 0.574 l -0.691 0.474 l -0.518 0.474 0.39 0.452 0.39 0.273 c -0.39 0.178 0.468 0.022 0.507 -0.067 c -1.087 -1.26 l -1.617 0.05 l -1.656 0.151 1.689 0.229 1.689 0.334 c -1.689 0.463 1.589 0.474 1.438 0.474 c -1.438 0.574 l -2.252 0.574 l -2.252 0.474 l -2.074 0.474 1.979 0.334 1.918 0.184 c -0.853 -2.425 l -0.636 -2.96 0.229 -3.122 0.033 -3.122 c --0.15 -3.122 -0.34 -3.01 -0.34 -2.81 c --0.34 -2.642 -0.206 -2.564 -0.056 -2.564 c -0.128 -2.564 0.217 -2.665 0.312 -2.665 c -0.535 -2.665 0.652 -2.352 0.719 -2.191 c -0.87 -1.817 l -h -f -Q -Q -q -222 158.652 19.478 19.179 re -W n -q -19.6734 0 0 19.6734 221.8048 158.1575 cm -/Im1 Do -Q -Q -q -281.257 158.469 18.808 19.323 re -W n -q -19.504 0 0 19.504 280.5616 158.4693 cm -/Im2 Do -Q -Q -q -0 0 552 705 re -W n -q -0.507 scn -0 SCN -0.375 w -/GS2 gs -/Fm1 Do -Q -Q -q -251.885 158.366 19.095 20.135 re -W n -q -21.1832 0 0 22.2468 250.8697 157.2921 cm -/Im3 Do -Q -Q -q -0 0 552 705 re -W n -q -0.507 scn -0 SCN -0.375 w -/GS3 gs -/Fm2 Do -Q -Q -q -310.469 158.697 19.074 19.057 re -W n -q -19.6141 0 0 19.6141 309.9286 158.1392 cm -/Im4 Do -Q -Q -BT -0 scn -/GS1 gs -/TT1 1 Tf --0.025 Tc 0.079 Tw 9 0 0 9 222 146.5532 Tm -[(M)-20(a)-17(k)-2(e s)-14(u)-17(r)-20(e t)-16(o co)-15(n)-20(n)-20(e)-21(c)-28(t w)-21(i)-17(t)-23(h u)-20(s)-4(!)]TJ -0 Tc 0 Tw 12 0 Td -( )Tj -0.027 Tc -0.027 Tw -12 -1.222 Td -[(i)-16(n)-16(f)-6(o)-14(r)-32(m)-19(i)-17(t)-36(.co)-14(m/)67(s)-10(o)-15(c)-6(i)-16(a)-19(l)-17(co)-15(n)-20(n)-20(e)-20(c)-28(t)]TJ -ET -q -0 0 552 705 re -W n -q -1 0 0 1 85.2234 638.2385 cm -0.291 scn -/GS0 gs -0 0 m --18.522 0 -18.522 -18.522 v --18.522 -54 l -400.075 -54 l -400.075 -18.522 l -400.075 0 381.553 0 v -h -f -Q -Q -BT -1 scn -/GS0 gs -/TT1 1 Tf -0.01 Tc 0 Tw 24 0 0 24 172.4053 616.9322 Tm -[(T)-2(h)-4(e A)8(ddi)-1(s)7(o)2(n)-12(-)31(W)50(e)-6(s)1(l)-1(e)13(y)]TJ --1.93 -1.021 Td -[(P)1(ro)9(f)5(e)-6(s)2(s)3(i)4(o)2(n)-2(a)-3(l C)5(o)2(m)-4(p)-2(u)-2(t)-7(in)1(g S)-9(e)-7(r)-17(ie)-6(s)10( )-10( )]TJ -ET -q -1 0 0 1 12 64.9371 cm -0.291 scn -0 0 m -0 -52.937 l -527.998 -52.937 l -528 0 l -h -f -Q -q -0 0 552 705 re -W n -q -1 0 0 1 488.4841 57.5147 cm -0 0 m --2.593 0 -4.783 -2.218 -4.783 -4.844 c --4.783 -7.829 -2.753 -9.997 0.039 -9.997 c -2.676 -9.997 4.819 -7.686 4.819 -4.844 c -4.819 -2.173 2.657 0 0 0 c -0.039 -8.778 m --2.19 -8.778 -3 -6.452 -3 -4.891 c --3 -3.471 -2.185 -1.222 0 -1.222 c -2.097 -1.222 3.038 -3.339 3.038 -4.844 c -3.038 -6.799 2.009 -8.778 0.039 -8.778 c --45.416 -0.001 m --43.724 -0.001 -41.914 -0.752 -41.914 -2.862 c --41.914 -4.898 -43.902 -6.12 -45.971 -6.122 c --45.978 -5.784 -45.983 -5.434 -45.987 -5.084 c --44.422 -4.964 -43.582 -4.205 -43.582 -2.951 c --43.582 -1.873 -44.455 -1.118 -45.71 -1.118 c --46.721 -1.118 l --46.723 -4.257 -46.659 -8.771 -46.535 -9.892 c --47.207 -9.757 -47.762 -9.753 -48.455 -9.892 c --48.297 -8.526 -48.192 -1.288 -48.465 0.002 c --47.193 -0.042 -46.913 -0.042 v --46.582 -0.003 -45.76 -0.001 -45.416 -0.001 c --29.198 -0.072 m --29.687 -1.993 -31.739 -7.539 -32.728 -9.894 c --32.081 -9.803 -31.396 -9.824 -31.082 -9.876 c --30.754 -8.819 -30.398 -7.562 -30.241 -7.09 c --29.218 -7.016 -28.007 -7.016 -26.789 -7.09 c --26.421 -8.078 -26.204 -8.778 -25.869 -9.872 c --25.238 -9.812 -24.594 -9.819 -23.911 -9.88 c --24.891 -7.526 -27.168 -1.461 -27.531 -0.071 c --28.026 -0.131 -28.659 -0.131 -29.198 -0.072 c --29.85 -5.77 m --28.907 -2.976 -28.591 -2.013 v --27.617 -4.774 -27.272 -5.77 v --28.315 -5.876 -28.843 -5.876 -29.85 -5.77 c --38.024 -8.645 m --36.992 -8.69 -34.526 -8.544 y --34.519 -9.604 -34.589 -9.92 y --35.509 -9.797 -38.277 -9.738 -39.777 -9.92 c --39.558 -7.526 -39.632 -2.589 -39.768 -0.029 c --38.383 -0.145 -35.732 -0.123 -34.611 -0.029 c --34.611 -1.412 l --35.572 -1.321 -37.102 -1.228 -37.975 -1.257 c --38.011 -3.548 -37.984 -4.134 v --36.423 -4.245 -35.277 -4.06 -34.785 -4.024 c --34.785 -5.404 l --36.597 -5.226 -37.979 -5.331 v --38.024 -6.254 -38.024 -7.621 -38.024 -8.645 c -15.022 -9.678 m -15.028 -9.703 15.06 -9.88 15.059 -9.882 c -14.631 -9.816 13.98 -9.805 13.571 -9.87 c -12.793 -8.721 9.716 -4.513 8.499 -2.942 c -8.455 -5.24 8.427 -8.716 8.569 -9.861 c -8.385 -9.867 8.111 -9.851 7.972 -9.851 c -7.558 -9.851 7.372 -9.831 7.002 -9.882 c -7.204 -8.694 7.253 -1.374 7.002 -0.085 c -7.593 -0.097 8.078 -0.106 8.234 -0.094 c -8.374 -0.085 8.468 -0.072 y -11.777 -4.51 13.506 -6.83 v -13.523 -5.953 13.603 -1.545 13.437 -0.05 c -13.669 -0.083 13.957 -0.167 14.244 -0.162 c -14.507 -0.157 14.791 -0.094 15.05 -0.047 c -14.814 -1.915 14.729 -8.28 15.022 -9.678 c --15.658 -2.647 m --15.658 -4.232 -16.729 -5.145 -17.76 -5.348 c --17.011 -6.309 -14.304 -9.897 y --14.987 -9.794 -15.99 -9.812 -16.492 -9.871 c --17.355 -8.523 -18.812 -6.436 -19.37 -5.761 c --19.381 -5.374 -19.385 -5.078 -19.392 -4.697 c --17.715 -4.733 -17.36 -3.617 -17.36 -2.826 c --17.36 -1.773 -18.317 -1.222 -19.262 -1.222 c --20.083 -1.222 l --20.153 -3.103 -20.019 -7.726 -19.937 -9.876 c --20.591 -9.808 -21.314 -9.819 -21.835 -9.876 c --21.614 -8.3 -21.653 -1.127 -21.835 -0.032 c --20.8 -0.111 -20.351 -0.085 v --19.945 -0.063 -19.566 -0.042 -19.089 -0.042 c --18.057 -0.042 -15.658 -0.295 -15.658 -2.647 c --8.692 -4.284 m --7.613 -4.972 -6.79 -5.614 -6.79 -7.08 c --6.79 -9.195 -8.444 -9.945 -9.863 -9.945 c --11.032 -9.945 -12.271 -9.329 -12.844 -8.886 c --12.63 -8.461 -12.405 -8.024 -12.239 -7.423 c --11.603 -8.136 -10.622 -8.639 -9.949 -8.639 c --9.062 -8.639 -8.528 -8.155 -8.528 -7.342 c --8.493 -6.732 -8.931 -6.301 -9.479 -5.842 c --9.88 -5.51 -10.893 -4.854 -11.135 -4.658 c --11.933 -4.007 -12.423 -3.462 -12.423 -2.425 c --12.423 -1.042 -11.195 0 -9.564 0 c --8.73 0 -7.949 -0.249 -6.995 -0.886 c --7.229 -1.241 -7.556 -1.787 -7.726 -2.289 c --8.109 -1.77 -8.698 -1.222 -9.514 -1.222 c --10.287 -1.222 -10.767 -1.67 -10.767 -2.388 c --10.767 -2.623 -10.597 -2.891 -10.247 -3.204 c --9.899 -3.503 -9.419 -3.839 -8.692 -4.284 c -f -Q -q -1 0 0 1 49.5276 54.9473 cm -0 0 m -0.464 0 l -2.543 -4.663 l -1.864 -4.663 l -1.245 -3.288 l --0.73 -3.288 l --1.31 -4.663 l --1.991 -4.663 l -h -0.975 -2.701 m -0.228 -1.018 l --0.467 -2.701 l -h -4.137 -0.026 m -4.801 -0.026 l -4.801 -4.057 l -6.89 -4.057 l -6.89 -4.663 l -4.137 -4.663 l -h -14.048 -0.026 m -14.711 -0.026 l -12.839 -4.682 l -12.692 -4.682 l -11.177 -0.912 l -9.647 -4.682 l -9.503 -4.682 l -7.637 -0.026 l -8.304 -0.026 l -9.58 -3.221 l -10.869 -0.026 l -11.495 -0.026 l -12.788 -3.221 l -h -17.521 0 m -17.987 0 l -20.064 -4.663 l -19.386 -4.663 l -18.77 -3.288 l -16.791 -3.288 l -16.212 -4.663 l -15.53 -4.663 l -h -18.496 -2.701 m -17.747 -1.018 l -17.052 -2.701 l -h -23.973 -0.026 m -24.776 -0.026 l -23.064 -2.21 l -23.064 -4.663 l -22.386 -4.663 l -22.386 -2.21 l -20.674 -0.026 l -21.475 -0.026 l -22.714 -1.624 l -h -27.661 -2.722 m -27.155 -2.415 l -26.838 -2.222 26.614 -2.032 26.48 -1.847 c -26.346 -1.659 26.279 -1.444 26.279 -1.201 c -26.279 -0.83 26.405 -0.54 26.657 -0.31 c -26.91 -0.082 27.241 0.031 27.646 0.031 c -28.033 0.031 28.387 -0.08 28.712 -0.294 c -28.712 -1.047 l -28.376 -0.728 28.017 -0.565 27.633 -0.565 c -27.415 -0.565 27.238 -0.614 27.097 -0.715 c -26.958 -0.814 26.889 -0.945 26.889 -1.097 c -26.889 -1.239 26.939 -1.369 27.042 -1.489 c -27.147 -1.61 27.31 -1.741 27.538 -1.872 c -28.044 -2.172 l -28.609 -2.51 28.892 -2.938 28.892 -3.458 c -28.892 -3.829 28.77 -4.134 28.522 -4.365 c -28.273 -4.6 27.947 -4.716 27.549 -4.716 c -27.092 -4.716 26.674 -4.575 26.299 -4.295 c -26.299 -3.451 l -26.657 -3.903 27.071 -4.13 27.544 -4.13 c -27.751 -4.13 27.925 -4.072 28.062 -3.957 c -28.201 -3.843 28.27 -3.697 28.27 -3.522 c -28.27 -3.24 28.064 -2.973 27.661 -2.722 c -34.227 -0.026 m -34.891 -0.026 l -34.891 -4.057 l -36.978 -4.057 l -36.978 -4.663 l -34.227 -4.663 l -h -38.917 -0.026 m -41.544 -0.026 l -41.544 -0.616 l -39.58 -0.616 l -39.58 -2.032 l -41.478 -2.032 l -41.478 -2.624 l -39.58 -2.624 l -39.58 -4.065 l -41.608 -4.065 l -41.608 -4.654 l -38.917 -4.654 l -h -45.289 0 m -45.756 0 l -47.833 -4.663 l -47.157 -4.663 l -46.536 -3.288 l -44.558 -3.288 l -43.979 -4.663 l -43.298 -4.663 l -h -46.264 -2.701 m -45.516 -1.018 l -44.823 -2.701 l -h -49.72 -4.663 m -49.72 -0.026 l -50.881 -0.026 l -51.349 -0.026 51.722 -0.144 51.997 -0.377 c -52.272 -0.608 52.41 -0.923 52.41 -1.318 c -52.41 -1.59 52.343 -1.819 52.207 -2.015 c -52.072 -2.217 51.879 -2.362 51.627 -2.46 c -51.775 -2.554 51.919 -2.69 52.062 -2.858 c -52.205 -3.026 52.403 -3.319 52.658 -3.733 c -52.819 -3.997 52.951 -4.197 53.046 -4.332 c -53.293 -4.663 l -52.503 -4.663 l -52.302 -4.356 l -52.296 -4.346 52.282 -4.326 52.26 -4.3 c -52.132 -4.118 l -51.927 -3.777 l -51.707 -3.417 l -51.568 -3.23 51.441 -3.076 51.326 -2.961 c -51.215 -2.849 51.11 -2.77 51.022 -2.722 c -50.928 -2.67 50.774 -2.645 50.556 -2.645 c -50.384 -2.645 l -50.384 -4.663 l -h -50.583 -0.59 m -50.384 -0.59 l -50.384 -2.056 l -50.637 -2.056 l -50.971 -2.056 51.202 -2.028 51.326 -1.97 c -51.453 -1.91 51.548 -1.825 51.619 -1.706 c -51.689 -1.592 51.725 -1.46 51.725 -1.312 c -51.725 -1.164 51.686 -1.034 51.608 -0.919 c -51.529 -0.796 51.421 -0.715 51.281 -0.664 c -51.138 -0.616 50.908 -0.59 50.583 -0.59 c -58.843 -0.026 m -59.473 -0.026 l -59.473 -4.663 l -58.905 -4.663 l -55.806 -1.092 l -55.806 -4.663 l -55.183 -4.663 l -55.183 -0.026 l -55.72 -0.026 l -58.843 -3.629 l -h -61.833 -0.026 0.663 -4.635 re -68.565 -0.026 m -69.196 -0.026 l -69.196 -4.663 l -68.626 -4.663 l -65.525 -1.092 l -65.525 -4.663 l -64.901 -4.663 l -64.901 -0.026 l -65.439 -0.026 l -68.565 -3.629 l -h -73.647 -2.377 m -75.201 -2.377 l -75.201 -4.343 l -74.631 -4.591 74.064 -4.716 73.505 -4.716 c -72.737 -4.716 72.122 -4.494 71.663 -4.042 c -71.206 -3.597 70.973 -3.045 70.973 -2.386 c -70.973 -1.695 71.212 -1.116 71.689 -0.659 c -72.166 -0.2 72.759 0.031 73.478 0.031 c -73.736 0.031 73.984 0.002 74.221 -0.051 c -74.455 -0.112 74.751 -0.21 75.109 -0.366 c -75.109 -1.04 l -74.556 -0.717 74.008 -0.558 73.462 -0.558 c -72.957 -0.558 72.531 -0.731 72.183 -1.077 c -71.833 -1.42 71.663 -1.847 71.663 -2.346 c -71.663 -2.872 71.833 -3.302 72.183 -3.634 c -72.531 -3.97 72.977 -4.139 73.522 -4.139 c -73.788 -4.139 74.105 -4.077 74.475 -3.957 c -74.539 -3.938 l -74.539 -2.968 l -73.647 -2.968 l -h -f -Q -Q -q -1 0 0 1 25.08 9.41998 cm -0 g -0 G -1 w 10 M -/GS4 gs -0 Tc /Fm3 Do -Q - -endstream endobj 47806 0 obj <> endobj 47807 0 obj <>stream -q -/Fm0 Do -Q -q -252 0 0 311.4 0 0 cm -/Im0 Do -Q -q -/Fm1 Do -Q - -endstream endobj 47808 0 obj <> endobj 47809 0 obj <> endobj 47810 0 obj <> endobj xref -0 1 -0000000000 65535 f -2 2 -0010640631 00000 n -0010640871 00000 n -5 10 -0010641341 00000 n -0010641558 00000 n -0010642117 00000 n -0010642561 00000 n -0010642947 00000 n -0010643333 00000 n -0010643908 00000 n -0010644352 00000 n -0010644708 00000 n -0010645065 00000 n -34 1 -0010645434 00000 n -75 1 -0010645996 00000 n -112 1 -0010646782 00000 n -151 1 -0010647529 00000 n -190 1 -0010648296 00000 n -229 1 -0010649063 00000 n -268 1 -0010649830 00000 n -307 1 -0010650598 00000 n -346 1 -0010651352 00000 n -356 1 -0010652120 00000 n -358 2 -0010652584 00000 n -0010652970 00000 n -361 4 -0010653323 00000 n -0010653747 00000 n -0010654099 00000 n -0010654498 00000 n -366 4 -0010654846 00000 n -0010655246 00000 n -0010655613 00000 n -0010656032 00000 n -371 4 -0010656380 00000 n -0010656780 00000 n -0010657161 00000 n -0010657557 00000 n -378 1 -0010657956 00000 n -380 2 -0010658391 00000 n -0010658790 00000 n -383 4 -0010659171 00000 n -0010659570 00000 n -0010659951 00000 n -0010660332 00000 n -388 2 -0010660699 00000 n -0010661098 00000 n -391 4 -0010661464 00000 n -0010661863 00000 n -0010662258 00000 n -0010662610 00000 n -396 2 -0010662991 00000 n -0010663389 00000 n -399 2 -0010663784 00000 n -0010664183 00000 n -402 2 -0010664596 00000 n -0010664995 00000 n -405 1 -0010665347 00000 n -407 2 -0010665760 00000 n -0010666159 00000 n -410 2 -0010666511 00000 n -0010666910 00000 n -416 1 -0010667276 00000 n -418 4 -0010667706 00000 n -0010668100 00000 n -0010668467 00000 n -0010668805 00000 n -423 2 -0010669157 00000 n -0010669566 00000 n -426 1 -0010669933 00000 n -429 1 -0010670318 00000 n -432 1 -0010670698 00000 n -437 1 -0010671127 00000 n -440 1 -0010671551 00000 n -442 1 -0010671945 00000 n -444 3 -0010672343 00000 n -0010672741 00000 n -0010673093 00000 n -448 1 -0010673445 00000 n -450 7 -0010673829 00000 n -0010674256 00000 n -0010674623 00000 n -0010675004 00000 n -0010675356 00000 n -0010675708 00000 n -0010676060 00000 n -458 4 -0010676412 00000 n -0010676796 00000 n -0010677163 00000 n -0010677543 00000 n -463 4 -0010677895 00000 n -0010678294 00000 n -0010678675 00000 n -0010679056 00000 n -468 1 -0010679423 00000 n -471 2 -0010679836 00000 n -0010680245 00000 n -474 1 -0010680597 00000 n -478 1 -0010680981 00000 n -480 4 -0010681430 00000 n -0010681857 00000 n -0010682224 00000 n -0010682591 00000 n -487 5 -0010682972 00000 n -0010683419 00000 n -0010683814 00000 n -0010684208 00000 n -0010684589 00000 n -493 1 -0010684970 00000 n -496 2 -0010685397 00000 n -0010685834 00000 n -499 3 -0010686187 00000 n -0010686587 00000 n -0010686940 00000 n -503 2 -0010687293 00000 n -0010687678 00000 n -506 2 -0010688088 00000 n -0010688516 00000 n -509 1 -0010688884 00000 n -511 5 -0010689312 00000 n -0010689740 00000 n -0010690122 00000 n -0010690489 00000 n -0010690870 00000 n -517 1 -0010691223 00000 n -519 2 -0010691651 00000 n -0010692065 00000 n -522 3 -0010692418 00000 n -0010692818 00000 n -0010693171 00000 n -528 2 -0010693519 00000 n -0010693997 00000 n -531 3 -0010694365 00000 n -0010694750 00000 n -0010695117 00000 n -535 1 -0010695484 00000 n -537 2 -0010695869 00000 n -0010696269 00000 n -540 1 -0010696637 00000 n -542 2 -0010697037 00000 n -0010697465 00000 n -545 2 -0010697861 00000 n -0010698275 00000 n -548 2 -0010698657 00000 n -0010699085 00000 n -551 1 -0010699466 00000 n -553 2 -0010699866 00000 n -0010700294 00000 n -556 1 -0010700676 00000 n -558 1 -0010701075 00000 n -560 3 -0010701503 00000 n -0010701903 00000 n -0010702271 00000 n -564 3 -0010702638 00000 n -0010703066 00000 n -0010703448 00000 n -568 1 -0010703844 00000 n -570 3 -0010704272 00000 n -0010704672 00000 n -0010705068 00000 n -574 1 -0010705421 00000 n -576 2 -0010705849 00000 n -0010706249 00000 n -579 3 -0010706602 00000 n -0010707030 00000 n -0010707426 00000 n -583 1 -0010707808 00000 n -585 5 -0010708236 00000 n -0010708650 00000 n -0010709017 00000 n -0010709370 00000 n -0010709723 00000 n -591 2 -0010710076 00000 n -0010710504 00000 n -594 3 -0010710900 00000 n -0010711285 00000 n -0010711652 00000 n -599 3 -0010712034 00000 n -0010712429 00000 n -0010712811 00000 n -605 2 -0010713179 00000 n -0010713629 00000 n -609 3 -0010713997 00000 n -0010714407 00000 n -0010714775 00000 n -613 2 -0010715143 00000 n -0010715543 00000 n -616 2 -0010715911 00000 n -0010716311 00000 n -619 1 -0010716693 00000 n -621 3 -0010717107 00000 n -0010717521 00000 n -0010717874 00000 n -625 1 -0010718227 00000 n -627 2 -0010718627 00000 n -0010719027 00000 n -630 5 -0010719409 00000 n -0010719809 00000 n -0010720177 00000 n -0010720545 00000 n -0010720941 00000 n -636 3 -0010721309 00000 n -0010721709 00000 n -0010722062 00000 n -640 4 -0010722415 00000 n -0010722829 00000 n -0010723211 00000 n -0010723607 00000 n -645 3 -0010723988 00000 n -0010724388 00000 n -0010724770 00000 n -649 1 -0010725152 00000 n -651 2 -0010725552 00000 n -0010725972 00000 n -656 4 -0010726320 00000 n -0010726755 00000 n -0010727108 00000 n -0010727490 00000 n -661 1 -0010727857 00000 n -663 1 -0010728257 00000 n -665 1 -0010728657 00000 n -667 1 -0010729042 00000 n -669 1 -0010729456 00000 n -671 1 -0010729841 00000 n -673 2 -0010730226 00000 n -0010730640 00000 n -676 7 -0010731022 00000 n -0010731436 00000 n -0010731818 00000 n -0010732171 00000 n -0010732553 00000 n -0010732921 00000 n -0010733317 00000 n -684 1 -0010733685 00000 n -688 1 -0010734070 00000 n -690 5 -0010734534 00000 n -0010734934 00000 n -0010735330 00000 n -0010735726 00000 n -0010736079 00000 n -697 1 -0010736460 00000 n -699 2 -0010736884 00000 n -0010737284 00000 n -702 1 -0010737637 00000 n -704 3 -0010738036 00000 n -0010738450 00000 n -0010738818 00000 n -708 3 -0010739199 00000 n -0010739613 00000 n -0010739981 00000 n -712 7 -0010740363 00000 n -0010740777 00000 n -0010741130 00000 n -0010741498 00000 n -0010741866 00000 n -0010742233 00000 n -0010742586 00000 n -720 5 -0010742982 00000 n -0010743410 00000 n -0010743778 00000 n -0010744145 00000 n -0010744498 00000 n -726 2 -0010744851 00000 n -0010745250 00000 n -731 2 -0010745617 00000 n -0010746067 00000 n -734 5 -0010746435 00000 n -0010746863 00000 n -0010747259 00000 n -0010747626 00000 n -0010747979 00000 n -740 2 -0010748332 00000 n -0010748746 00000 n -743 2 -0010749127 00000 n -0010749526 00000 n -746 6 -0010749894 00000 n -0010750322 00000 n -0010750704 00000 n -0010751071 00000 n -0010751453 00000 n -0010751835 00000 n -753 1 -0010752202 00000 n -756 4 -0010752630 00000 n -0010753068 00000 n -0010753436 00000 n -0010753803 00000 n -761 6 -0010754170 00000 n -0010754598 00000 n -0010754966 00000 n -0010755334 00000 n -0010755687 00000 n -0010756055 00000 n -768 5 -0010756422 00000 n -0010756836 00000 n -0010757218 00000 n -0010757628 00000 n -0010758038 00000 n -774 4 -0010758405 00000 n -0010758805 00000 n -0010759201 00000 n -0010759615 00000 n -779 5 -0010759997 00000 n -0010760411 00000 n -0010760793 00000 n -0010761175 00000 n -0010761542 00000 n -785 6 -0010761924 00000 n -0010762324 00000 n -0010762677 00000 n -0010763044 00000 n -0010763397 00000 n -0010763750 00000 n -792 1 -0010764118 00000 n -794 4 -0010764532 00000 n -0010764946 00000 n -0010765342 00000 n -0010765695 00000 n -799 2 -0010766062 00000 n -0010766476 00000 n -802 3 -0010766829 00000 n -0010767228 00000 n -0010767638 00000 n -808 5 -0010767986 00000 n -0010768421 00000 n -0010768803 00000 n -0010769171 00000 n -0010769524 00000 n -814 3 -0010769906 00000 n -0010770306 00000 n -0010770688 00000 n -818 2 -0010771070 00000 n -0010771470 00000 n -821 1 -0010771852 00000 n -823 2 -0010772266 00000 n -0010772680 00000 n -826 1 -0010773048 00000 n -828 4 -0010773476 00000 n -0010773890 00000 n -0010774272 00000 n -0010774654 00000 n -833 4 -0010775007 00000 n -0010775406 00000 n -0010775759 00000 n -0010776112 00000 n -838 3 -0010776479 00000 n -0010776878 00000 n -0010777231 00000 n -842 2 -0010777613 00000 n -0010777998 00000 n -845 1 -0010778351 00000 n -849 10 -0010778736 00000 n -0010779186 00000 n -0010779554 00000 n -0010779922 00000 n -0010780275 00000 n -0010780628 00000 n -0010780981 00000 n -0010781334 00000 n -0010781687 00000 n -0010782055 00000 n -860 3 -0010782408 00000 n -0010782822 00000 n -0010783203 00000 n -864 1 -0010783599 00000 n -866 3 -0010783999 00000 n -0010784384 00000 n -0010784737 00000 n -870 2 -0010785090 00000 n -0010785490 00000 n -873 3 -0010785857 00000 n -0010786256 00000 n -0010786637 00000 n -877 1 -0010786990 00000 n -879 2 -0010787390 00000 n -0010787804 00000 n -882 6 -0010788186 00000 n -0010788614 00000 n -0010788995 00000 n -0010789362 00000 n -0010789744 00000 n -0010790111 00000 n -889 2 -0010790478 00000 n -0010790892 00000 n -892 1 -0010791245 00000 n -894 2 -0010791673 00000 n -0010792101 00000 n -897 6 -0010792468 00000 n -0010792882 00000 n -0010793264 00000 n -0010793646 00000 n -0010794014 00000 n -0010794367 00000 n -904 4 -0010794748 00000 n -0010795147 00000 n -0010795529 00000 n -0010795897 00000 n -909 6 -0010796279 00000 n -0010796707 00000 n -0010797074 00000 n -0010797470 00000 n -0010797866 00000 n -0010798219 00000 n -916 2 -0010798572 00000 n -0010798971 00000 n -919 6 -0010799338 00000 n -0010799752 00000 n -0010800134 00000 n -0010800501 00000 n -0010800854 00000 n -0010801264 00000 n -926 3 -0010801646 00000 n -0010802060 00000 n -0010802442 00000 n -930 1 -0010802810 00000 n -932 2 -0010803238 00000 n -0010803623 00000 n -935 2 -0010803976 00000 n -0010804376 00000 n -938 2 -0010804758 00000 n -0010805143 00000 n -943 1 -0010805496 00000 n -945 1 -0010805932 00000 n -947 3 -0010806332 00000 n -0010806732 00000 n -0010807114 00000 n -951 9 -0010807467 00000 n -0010807881 00000 n -0010808263 00000 n -0010808630 00000 n -0010808997 00000 n -0010809379 00000 n -0010809761 00000 n -0010810143 00000 n -0010810496 00000 n -961 2 -0010810878 00000 n -0010811278 00000 n -964 3 -0010811632 00000 n -0010812032 00000 n -0010812414 00000 n -968 5 -0010812767 00000 n -0010813152 00000 n -0010813505 00000 n -0010813858 00000 n -0010814211 00000 n -974 2 -0010814564 00000 n -0010814978 00000 n -977 4 -0010815345 00000 n -0010815745 00000 n -0010816127 00000 n -0010816480 00000 n -983 4 -0010816833 00000 n -0010817243 00000 n -0010817625 00000 n -0010818007 00000 n -988 1 -0010818360 00000 n -990 4 -0010818760 00000 n -0010819160 00000 n -0010819542 00000 n -0010819895 00000 n -995 3 -0010820248 00000 n -0010820633 00000 n -0010820986 00000 n -1001 1 -0010821334 00000 n -1003 4 -0010821770 00000 n -0010822171 00000 n -0010822540 00000 n -0010822923 00000 n -1009 9 -0010823292 00000 n -0010823703 00000 n -0010824072 00000 n -0010824441 00000 n -0010824810 00000 n -0010825193 00000 n -0010825561 00000 n -0010825943 00000 n -0010826297 00000 n -1019 1 -0010826651 00000 n -1021 1 -0010827052 00000 n -1023 1 -0010827453 00000 n -1025 4 -0010827854 00000 n -0010828255 00000 n -0010828624 00000 n -0010829007 00000 n -1030 5 -0010829361 00000 n -0010829747 00000 n -0010830116 00000 n -0010830485 00000 n -0010830868 00000 n -1036 2 -0010831222 00000 n -0010831623 00000 n -1039 4 -0010831977 00000 n -0010832378 00000 n -0010832761 00000 n -0010833144 00000 n -1044 4 -0010833498 00000 n -0010833913 00000 n -0010834282 00000 n -0010834665 00000 n -1049 1 -0010835019 00000 n -1051 1 -0010835434 00000 n -1055 3 -0010835820 00000 n -0010836271 00000 n -0010836625 00000 n -1059 3 -0010836979 00000 n -0010837365 00000 n -0010837733 00000 n -1063 4 -0010838101 00000 n -0010838487 00000 n -0010838856 00000 n -0010839239 00000 n -1068 1 -0010839608 00000 n -1070 5 -0010840009 00000 n -0010840410 00000 n -0010840793 00000 n -0010841147 00000 n -0010841515 00000 n -1076 1 -0010841869 00000 n -1078 1 -0010842270 00000 n -1082 4 -0010842656 00000 n -0010843107 00000 n -0010843489 00000 n -0010843872 00000 n -1087 15 -0010844255 00000 n -0010844656 00000 n -0010845067 00000 n -0010845436 00000 n -0010845805 00000 n -0010846173 00000 n -0010846541 00000 n -0010846909 00000 n -0010847277 00000 n -0010847631 00000 n -0010847999 00000 n -0010848396 00000 n -0010848750 00000 n -0010849118 00000 n -0010849472 00000 n -1103 2 -0010849854 00000 n -0010850240 00000 n -1106 4 -0010850609 00000 n -0010851053 00000 n -0010851437 00000 n -0010851806 00000 n -1111 3 -0010852189 00000 n -0010852618 00000 n -0010852987 00000 n -1115 1 -0010853398 00000 n -1118 1 -0010853784 00000 n -1120 10 -0010854195 00000 n -0010854581 00000 n -0010854964 00000 n -0010855347 00000 n -0010855730 00000 n -0010856113 00000 n -0010856496 00000 n -0010856850 00000 n -0010857204 00000 n -0010857558 00000 n -1131 2 -0010857926 00000 n -0010858355 00000 n -1134 2 -0010858723 00000 n -0010859152 00000 n -1137 6 -0010859506 00000 n -0010859907 00000 n -0010860276 00000 n -0010860659 00000 n -0010861056 00000 n -0010861410 00000 n -1144 2 -0010861778 00000 n -0010862164 00000 n -1148 1 -0010862532 00000 n -1150 7 -0010862958 00000 n -0010863344 00000 n -0010863727 00000 n -0010864081 00000 n -0010864463 00000 n -0010864831 00000 n -0010865199 00000 n -1158 7 -0010865553 00000 n -0010865982 00000 n -0010866365 00000 n -0010866747 00000 n -0010867101 00000 n -0010867455 00000 n -0010867852 00000 n -1166 4 -0010868221 00000 n -0010868622 00000 n -0010868991 00000 n -0010869345 00000 n -1171 4 -0010869713 00000 n -0010870114 00000 n -0010870497 00000 n -0010870865 00000 n -1177 2 -0010871219 00000 n -0010871630 00000 n -1180 1 -0010872013 00000 n -1183 2 -0010872414 00000 n -0010872810 00000 n -1186 4 -0010873164 00000 n -0010873565 00000 n -0010873948 00000 n -0010874331 00000 n -1191 6 -0010874714 00000 n -0010875100 00000 n -0010875469 00000 n -0010875852 00000 n -0010876235 00000 n -0010876604 00000 n -1198 8 -0010877014 00000 n -0010877415 00000 n -0010877798 00000 n -0010878181 00000 n -0010878578 00000 n -0010878946 00000 n -0010879328 00000 n -0010879682 00000 n -1207 6 -0010880064 00000 n -0010880465 00000 n -0010880848 00000 n -0010881231 00000 n -0010881614 00000 n -0010881982 00000 n -1214 2 -0010882336 00000 n -0010882737 00000 n -1217 2 -0010883091 00000 n -0010883477 00000 n -1221 1 -0010883846 00000 n -1223 3 -0010884258 00000 n -0010884673 00000 n -0010885027 00000 n -1228 2 -0010885410 00000 n -0010885821 00000 n -1231 2 -0010886190 00000 n -0010886576 00000 n -1234 7 -0010886959 00000 n -0010887360 00000 n -0010887729 00000 n -0010888098 00000 n -0010888467 00000 n -0010888850 00000 n -0010889204 00000 n -1242 1 -0010889558 00000 n -1244 5 -0010889987 00000 n -0010890402 00000 n -0010890785 00000 n -0010891139 00000 n -0010891522 00000 n -1250 13 -0010891919 00000 n -0010892334 00000 n -0010892717 00000 n -0010893100 00000 n -0010893483 00000 n -0010893851 00000 n -0010894219 00000 n -0010894573 00000 n -0010894941 00000 n -0010895295 00000 n -0010895649 00000 n -0010896017 00000 n -0010896371 00000 n -1264 3 -0010896739 00000 n -0010897125 00000 n -0010897508 00000 n -1268 1 -0010897891 00000 n -1270 1 -0010898306 00000 n -1272 1 -0010898692 00000 n -1276 5 -0010899078 00000 n -0010899514 00000 n -0010899925 00000 n -0010900308 00000 n -0010900662 00000 n -1282 1 -0010901045 00000 n -1284 7 -0010901431 00000 n -0010901846 00000 n -0010902215 00000 n -0010902584 00000 n -0010902938 00000 n -0010903292 00000 n -0010903646 00000 n -1292 11 -0010904000 00000 n -0010904415 00000 n -0010904798 00000 n -0010905167 00000 n -0010905536 00000 n -0010905890 00000 n -0010906244 00000 n -0010906598 00000 n -0010906952 00000 n -0010907306 00000 n -0010907660 00000 n -1304 6 -0010908014 00000 n -0010908415 00000 n -0010908769 00000 n -0010909123 00000 n -0010909477 00000 n -0010909831 00000 n -1311 10 -0010910185 00000 n -0010910571 00000 n -0010910925 00000 n -0010911279 00000 n -0010911662 00000 n -0010912045 00000 n -0010912399 00000 n -0010912753 00000 n -0010913107 00000 n -0010913461 00000 n -1322 2 -0010913815 00000 n -0010914201 00000 n -1327 7 -0010914569 00000 n -0010914991 00000 n -0010915345 00000 n -0010915714 00000 n -0010916068 00000 n -0010916422 00000 n -0010916776 00000 n -1335 5 -0010917130 00000 n -0010917516 00000 n -0010917884 00000 n -0010918238 00000 n -0010918592 00000 n -1342 8 -0010918946 00000 n -0010919371 00000 n -0010919754 00000 n -0010920108 00000 n -0010920477 00000 n -0010920831 00000 n -0010921185 00000 n -0010921539 00000 n -1351 1 -0010921908 00000 n -1353 1 -0010922308 00000 n -1355 1 -0010922723 00000 n -1357 6 -0010923138 00000 n -0010923553 00000 n -0010923950 00000 n -0010924332 00000 n -0010924686 00000 n -0010925040 00000 n -1364 3 -0010925394 00000 n -0010925794 00000 n -0010926148 00000 n -1368 7 -0010926502 00000 n -0010926888 00000 n -0010927271 00000 n -0010927625 00000 n -0010927979 00000 n -0010928333 00000 n -0010928687 00000 n -1376 2 -0010929041 00000 n -0010929456 00000 n -1379 1 -0010929824 00000 n -1381 2 -0010930259 00000 n -0010930645 00000 n -1386 7 -0010930994 00000 n -0010931445 00000 n -0010931814 00000 n -0010932197 00000 n -0010932580 00000 n -0010932977 00000 n -0010933374 00000 n -1394 4 -0010933757 00000 n -0010934172 00000 n -0010934555 00000 n -0010934938 00000 n -1399 3 -0010935292 00000 n -0010935707 00000 n -0010936090 00000 n -1403 4 -0010936444 00000 n -0010936844 00000 n -0010937198 00000 n -0010937552 00000 n -1408 7 -0010937906 00000 n -0010938306 00000 n -0010938703 00000 n -0010939071 00000 n -0010939453 00000 n -0010939821 00000 n -0010940204 00000 n -1416 1 -0010940558 00000 n -1418 2 -0010940944 00000 n -0010941330 00000 n -1423 1 -0010941727 00000 n -1425 2 -0010942178 00000 n -0010942574 00000 n -1428 4 -0010942957 00000 n -0010943372 00000 n -0010943741 00000 n -0010944124 00000 n -1433 2 -0010944478 00000 n -0010944864 00000 n -1436 1 -0010945204 00000 n -1439 28 -0010945605 00000 n -0010946001 00000 n -0010946355 00000 n -0010946709 00000 n -0010947063 00000 n -0010947417 00000 n -0010947771 00000 n -0010948125 00000 n -0010948493 00000 n -0010948861 00000 n -0010949215 00000 n -0010949569 00000 n -0010949937 00000 n -0010950291 00000 n -0010950645 00000 n -0010950999 00000 n -0010951353 00000 n -0010951707 00000 n -0010952061 00000 n -0010952415 00000 n -0010952769 00000 n -0010953123 00000 n -0010953477 00000 n -0010953831 00000 n -0010954185 00000 n -0010954539 00000 n -0010954893 00000 n -0010955247 00000 n -1468 5 -0010955601 00000 n -0010956002 00000 n -0010956385 00000 n -0010956768 00000 n -0010957151 00000 n -1474 3 -0010957534 00000 n -0010957934 00000 n -0010958302 00000 n -1480 3 -0010958651 00000 n -0010959073 00000 n -0010959455 00000 n -1484 1 -0010959824 00000 n -1486 2 -0010960225 00000 n -0010960611 00000 n -1489 48 -0010960965 00000 n -0010961351 00000 n -0010961705 00000 n -0010962059 00000 n -0010962413 00000 n -0010962767 00000 n -0010963121 00000 n -0010963475 00000 n -0010963829 00000 n -0010964183 00000 n -0010964537 00000 n -0010964920 00000 n -0010965303 00000 n -0010965657 00000 n -0010966011 00000 n -0010966365 00000 n -0010966719 00000 n -0010967073 00000 n -0010967427 00000 n -0010967781 00000 n -0010968135 00000 n -0010968489 00000 n -0010968857 00000 n -0010969211 00000 n -0010969565 00000 n -0010969919 00000 n -0010970273 00000 n -0010970627 00000 n -0010970981 00000 n -0010971335 00000 n -0010971689 00000 n -0010972058 00000 n -0010972427 00000 n -0010972781 00000 n -0010973135 00000 n -0010973489 00000 n -0010973843 00000 n -0010974197 00000 n -0010974551 00000 n -0010974905 00000 n -0010975292 00000 n -0010975646 00000 n -0010976000 00000 n -0010976354 00000 n -0010976722 00000 n -0010977076 00000 n -0010977430 00000 n -0010977784 00000 n -1538 2 -0010978138 00000 n -0010978524 00000 n -1541 50 -0010978873 00000 n -0010979318 00000 n -0010979715 00000 n -0010980112 00000 n -0010980509 00000 n -0010980906 00000 n -0010981303 00000 n -0010981700 00000 n -0010982097 00000 n -0010982494 00000 n -0010982891 00000 n -0010983288 00000 n -0010983671 00000 n -0010984068 00000 n -0010984465 00000 n -0010984862 00000 n -0010985259 00000 n -0010985656 00000 n -0010986053 00000 n -0010986450 00000 n -0010986847 00000 n -0010987244 00000 n -0010987641 00000 n -0010988038 00000 n -0010988421 00000 n -0010988804 00000 n -0010989187 00000 n -0010989570 00000 n -0010989953 00000 n -0010990336 00000 n -0010990719 00000 n -0010991102 00000 n -0010991485 00000 n -0010991882 00000 n -0010992279 00000 n -0010992676 00000 n -0010993073 00000 n -0010993470 00000 n -0010993867 00000 n -0010994264 00000 n -0010994661 00000 n -0010995058 00000 n -0010995455 00000 n -0010995852 00000 n -0010996249 00000 n -0010996646 00000 n -0010997043 00000 n -0010997426 00000 n -0010997823 00000 n -0010998220 00000 n -1593 3 -0010998569 00000 n -0010998995 00000 n -0010999349 00000 n -1597 7 -0010999703 00000 n -0011000104 00000 n -0011000458 00000 n -0011000812 00000 n -0011001166 00000 n -0011001520 00000 n -0011001874 00000 n -1605 42 -0011002228 00000 n -0011002673 00000 n -0011003041 00000 n -0011003424 00000 n -0011003792 00000 n -0011004175 00000 n -0011004544 00000 n -0011004941 00000 n -0011005295 00000 n -0011005663 00000 n -0011006017 00000 n -0011006371 00000 n -0011006725 00000 n -0011007079 00000 n -0011007447 00000 n -0011007844 00000 n -0011008227 00000 n -0011008581 00000 n -0011008950 00000 n -0011009332 00000 n -0011009733 00000 n -0011010115 00000 n -0011010469 00000 n -0011010852 00000 n -0011011235 00000 n -0011011589 00000 n -0011011957 00000 n -0011012311 00000 n -0011012665 00000 n -0011013019 00000 n -0011013373 00000 n -0011013756 00000 n -0011014110 00000 n -0011014479 00000 n -0011014847 00000 n -0011015201 00000 n -0011015569 00000 n -0011015923 00000 n -0011016292 00000 n -0011016660 00000 n -0011017028 00000 n -0011017396 00000 n -1648 8 -0011017745 00000 n -0011018133 00000 n -0011018502 00000 n -0011018889 00000 n -0011019316 00000 n -0011019685 00000 n -0011020072 00000 n -0011020441 00000 n -1812 1 -0011020790 00000 n -2081 1 -0011022742 00000 n -2352 1 -0011025799 00000 n -2636 1 -0011028876 00000 n -2920 1 -0011032068 00000 n -3210 1 -0011035275 00000 n -3547 1 -0011038527 00000 n -3876 1 -0011042264 00000 n -4252 1 -0011045906 00000 n -4621 1 -0011050018 00000 n -5000 1 -0011054060 00000 n -5255 1 -0011058202 00000 n -5495 1 -0011061104 00000 n -5716 1 -0011063871 00000 n -6038 1 -0011066448 00000 n -6370 1 -0011070020 00000 n -6717 1 -0011073707 00000 n -7024 1 -0011077529 00000 n -7234 1 -0011080951 00000 n -7595 1 -0011083419 00000 n -7932 1 -0011087397 00000 n -8082 1 -0011091135 00000 n -8349 1 -0011092988 00000 n -8524 1 -0011096026 00000 n -8731 1 -0011098129 00000 n -9099 1 -0011100552 00000 n -9381 1 -0011104585 00000 n -9603 1 -0011107773 00000 n -9885 1 -0011110346 00000 n -10158 1 -0011113534 00000 n -10569 1 -0011116633 00000 n -10918 1 -0011121097 00000 n -11359 1 -0011124956 00000 n -11766 1 -0011129720 00000 n -12054 1 -0011134159 00000 n -12395 1 -0011137408 00000 n -12598 1 -0011141172 00000 n -12870 1 -0011143571 00000 n -13192 1 -0011146645 00000 n -13329 7 -0011150234 00000 n -0011151973 00000 n -0011152323 00000 n -0011152767 00000 n -0011153195 00000 n -0011153722 00000 n -0011154209 00000 n -14004 2 -0011154714 00000 n -0011155007 00000 n -14013 2 -0011155184 00000 n -0011155477 00000 n -14020 2 -0011155654 00000 n -0011155947 00000 n -14033 2 -0011156124 00000 n -0011156417 00000 n -14039 2 -0011156594 00000 n -0011156887 00000 n -14045 2 -0011157064 00000 n -0011157357 00000 n -14051 3 -0011157534 00000 n -0011157827 00000 n -0011158092 00000 n -14083 2 -0011158184 00000 n -0011158477 00000 n -14092 2 -0011158654 00000 n -0011158947 00000 n -14098 2 -0011159124 00000 n -0011159417 00000 n -14106 2 -0011159594 00000 n -0011159887 00000 n -14112 2 -0011160064 00000 n -0011160357 00000 n -14118 2 -0011160534 00000 n -0011160827 00000 n -14125 2 -0011161004 00000 n -0011161297 00000 n -14132 2 -0011161474 00000 n -0011161767 00000 n -14139 2 -0011161944 00000 n -0011162237 00000 n -14353 2 -0011162414 00000 n -0011162707 00000 n -14362 2 -0011162884 00000 n -0011163177 00000 n -14369 2 -0011163354 00000 n -0011163647 00000 n -14376 2 -0011163824 00000 n -0011164117 00000 n -14382 2 -0011164294 00000 n -0011164587 00000 n -14390 2 -0011164764 00000 n -0011165057 00000 n -14396 2 -0011165234 00000 n -0011165527 00000 n -14403 2 -0011165704 00000 n -0011165997 00000 n -14423 2 -0011166174 00000 n -0011166467 00000 n -14431 2 -0011166644 00000 n -0011166937 00000 n -14438 2 -0011167114 00000 n -0011167407 00000 n -14445 2 -0011167584 00000 n -0011167877 00000 n -14458 2 -0011168054 00000 n -0011168347 00000 n -14469 2 -0011168524 00000 n -0011168817 00000 n -14476 2 -0011168994 00000 n -0011169287 00000 n -14484 2 -0011169464 00000 n -0011169757 00000 n -14490 2 -0011169934 00000 n -0011170227 00000 n -14498 2 -0011170404 00000 n -0011170697 00000 n -14506 2 -0011170874 00000 n -0011171167 00000 n -14513 2 -0011171344 00000 n -0011171637 00000 n -14520 2 -0011171814 00000 n -0011172107 00000 n -14531 2 -0011172284 00000 n -0011172577 00000 n -14537 2 -0011172754 00000 n -0011173047 00000 n -14545 2 -0011173224 00000 n -0011173517 00000 n -14552 2 -0011173694 00000 n -0011173987 00000 n -14559 2 -0011174164 00000 n -0011174457 00000 n -14566 2 -0011174634 00000 n -0011174927 00000 n -14574 2 -0011175104 00000 n -0011175397 00000 n -14738 2 -0011175574 00000 n -0011175867 00000 n -14744 2 -0011176044 00000 n -0011176337 00000 n -14750 2 -0011176514 00000 n -0011176807 00000 n -14758 2 -0011176984 00000 n -0011177277 00000 n -14766 2 -0011177454 00000 n -0011177747 00000 n -14777 2 -0011177924 00000 n -0011178217 00000 n -14783 2 -0011178394 00000 n -0011178687 00000 n -14793 2 -0011178864 00000 n -0011179157 00000 n -14799 2 -0011179334 00000 n -0011179627 00000 n -14807 2 -0011179804 00000 n -0011180097 00000 n -14972 2 -0011180274 00000 n -0011180567 00000 n -14980 2 -0011180744 00000 n -0011181037 00000 n -14986 2 -0011181214 00000 n -0011181507 00000 n -14993 2 -0011181684 00000 n -0011181977 00000 n -15000 2 -0011182154 00000 n -0011182447 00000 n -15006 2 -0011182624 00000 n -0011182917 00000 n -15013 2 -0011183094 00000 n -0011183387 00000 n -15020 2 -0011183564 00000 n -0011183857 00000 n -15026 2 -0011184034 00000 n -0011184327 00000 n -15036 2 -0011184504 00000 n -0011184797 00000 n -15042 2 -0011184974 00000 n -0011185267 00000 n -15048 2 -0011185444 00000 n -0011185737 00000 n -15419 2 -0011185914 00000 n -0011186207 00000 n -15430 2 -0011186384 00000 n -0011186677 00000 n -15436 2 -0011186854 00000 n -0011187147 00000 n -15446 2 -0011187324 00000 n -0011187617 00000 n -15452 2 -0011187794 00000 n -0011188087 00000 n -15460 2 -0011188264 00000 n -0011188557 00000 n -15468 2 -0011188734 00000 n -0011189027 00000 n -15474 2 -0011189204 00000 n -0011189497 00000 n -15482 2 -0011189674 00000 n -0011189967 00000 n -15491 2 -0011190144 00000 n -0011190437 00000 n -15498 2 -0011190614 00000 n -0011190907 00000 n -15504 2 -0011191084 00000 n -0011191377 00000 n -15515 2 -0011191554 00000 n -0011191847 00000 n -15522 2 -0011192024 00000 n -0011192317 00000 n -15528 2 -0011192494 00000 n -0011192787 00000 n -15587 2 -0011192964 00000 n -0011193257 00000 n -15596 2 -0011193434 00000 n -0011193727 00000 n -15604 2 -0011193904 00000 n -0011194197 00000 n -15611 2 -0011194462 00000 n -0011194755 00000 n -15622 2 -0011194932 00000 n -0011195225 00000 n -15628 2 -0011195402 00000 n -0011195695 00000 n -15640 2 -0011195872 00000 n -0011196165 00000 n -15646 2 -0011196342 00000 n -0011196635 00000 n -15656 2 -0011196812 00000 n -0011197105 00000 n -15667 2 -0011197282 00000 n -0011197575 00000 n -15675 2 -0011197752 00000 n -0011198045 00000 n -15682 2 -0011198222 00000 n -0011198515 00000 n -15690 2 -0011198692 00000 n -0011198985 00000 n -15696 2 -0011199162 00000 n -0011199455 00000 n -15702 2 -0011199632 00000 n -0011199925 00000 n -15711 2 -0011200102 00000 n -0011200395 00000 n -15731 2 -0011200572 00000 n -0011200865 00000 n -15740 2 -0011201042 00000 n -0011201335 00000 n -15747 2 -0011201512 00000 n -0011201805 00000 n -16020 2 -0011201982 00000 n -0011202275 00000 n -16027 2 -0011202452 00000 n -0011202745 00000 n -16033 2 -0011202922 00000 n -0011203215 00000 n -16040 2 -0011203392 00000 n -0011203685 00000 n -16054 2 -0011203862 00000 n -0011204155 00000 n -16063 2 -0011204332 00000 n -0011204625 00000 n -16070 2 -0011204802 00000 n -0011205095 00000 n -16078 2 -0011205272 00000 n -0011205565 00000 n -16085 2 -0011205742 00000 n -0011206035 00000 n -16095 2 -0011206212 00000 n -0011206505 00000 n -16102 2 -0011206682 00000 n -0011206975 00000 n -16108 2 -0011207152 00000 n -0011207445 00000 n -16117 2 -0011207622 00000 n -0011207915 00000 n -16123 2 -0011208092 00000 n -0011208385 00000 n -16134 2 -0011208562 00000 n -0011208855 00000 n -16142 2 -0011209032 00000 n -0011209325 00000 n -16454 2 -0011209502 00000 n -0011209795 00000 n -16474 2 -0011209972 00000 n -0011210265 00000 n -16481 2 -0011210442 00000 n -0011210735 00000 n -16487 2 -0011210912 00000 n -0011211205 00000 n -16502 2 -0011211382 00000 n -0011211675 00000 n -16511 2 -0011211852 00000 n -0011212145 00000 n -16517 2 -0011212322 00000 n -0011212615 00000 n -16525 2 -0011212792 00000 n -0011213085 00000 n -16535 2 -0011213262 00000 n -0011213555 00000 n -16543 2 -0011213732 00000 n -0011214025 00000 n -16549 2 -0011214202 00000 n -0011214495 00000 n -16556 2 -0011214672 00000 n -0011214965 00000 n -16564 2 -0011215142 00000 n -0011215435 00000 n -16573 2 -0011215612 00000 n -0011215905 00000 n -16580 2 -0011216082 00000 n -0011216375 00000 n -16587 2 -0011216552 00000 n -0011216845 00000 n -16597 2 -0011217022 00000 n -0011217315 00000 n -16605 2 -0011217492 00000 n -0011217785 00000 n -16612 2 -0011217962 00000 n -0011218255 00000 n -16618 2 -0011218432 00000 n -0011218725 00000 n -16627 2 -0011218902 00000 n -0011219195 00000 n -16635 2 -0011219372 00000 n -0011219665 00000 n -16644 2 -0011219842 00000 n -0011220135 00000 n -16655 2 -0011220312 00000 n -0011220605 00000 n -16662 2 -0011220782 00000 n -0011221075 00000 n -16668 2 -0011221252 00000 n -0011221545 00000 n -16680 2 -0011221722 00000 n -0011222015 00000 n -16687 2 -0011222192 00000 n -0011222485 00000 n -16693 2 -0011222662 00000 n -0011222955 00000 n -16704 2 -0011223132 00000 n -0011223425 00000 n -16712 2 -0011223602 00000 n -0011223895 00000 n -16718 2 -0011224072 00000 n -0011224365 00000 n -16725 2 -0011224542 00000 n -0011224835 00000 n -16733 2 -0011225012 00000 n -0011225305 00000 n -16742 2 -0011225482 00000 n -0011225775 00000 n -16750 2 -0011225952 00000 n -0011226245 00000 n -16757 2 -0011226422 00000 n -0011226715 00000 n -16764 2 -0011226892 00000 n -0011227185 00000 n -16773 2 -0011227362 00000 n -0011227655 00000 n -16783 2 -0011227832 00000 n -0011228125 00000 n -16789 2 -0011228302 00000 n -0011228595 00000 n -16797 4 -0011228772 00000 n -0011229065 00000 n -0011229242 00000 n -0011229535 00000 n -16811 2 -0011229712 00000 n -0011230005 00000 n -16818 2 -0011230182 00000 n -0011230475 00000 n -16826 2 -0011230652 00000 n -0011230945 00000 n -16832 2 -0011231122 00000 n -0011231415 00000 n -16841 2 -0011231592 00000 n -0011231885 00000 n -16848 2 -0011232062 00000 n -0011232355 00000 n -16856 2 -0011232532 00000 n -0011232825 00000 n -16864 2 -0011233002 00000 n -0011233295 00000 n -16872 2 -0011233472 00000 n -0011233765 00000 n -16879 2 -0011233942 00000 n -0011234235 00000 n -16885 2 -0011234412 00000 n -0011234705 00000 n -16891 2 -0011234882 00000 n -0011235175 00000 n -16902 2 -0011235352 00000 n -0011235645 00000 n -16909 2 -0011235822 00000 n -0011236115 00000 n -16916 2 -0011236292 00000 n -0011236585 00000 n -16922 2 -0011236762 00000 n -0011237055 00000 n -16929 2 -0011237232 00000 n -0011237525 00000 n -16938 2 -0011237702 00000 n -0011237995 00000 n -16944 2 -0011238172 00000 n -0011238465 00000 n -16951 2 -0011238642 00000 n -0011238935 00000 n -16964 2 -0011239112 00000 n -0011239405 00000 n -16971 2 -0011239582 00000 n -0011239875 00000 n -16983 2 -0011240052 00000 n -0011240345 00000 n -16989 2 -0011240522 00000 n -0011240815 00000 n -17305 2 -0011240992 00000 n -0011241285 00000 n -17314 2 -0011241462 00000 n -0011241755 00000 n -17321 2 -0011241932 00000 n -0011242225 00000 n -17329 4 -0011242402 00000 n -0011242695 00000 n -0011242872 00000 n -0011243165 00000 n -17341 2 -0011243342 00000 n -0011243635 00000 n -17348 2 -0011243812 00000 n -0011244105 00000 n -17354 2 -0011244282 00000 n -0011244575 00000 n -17368 2 -0011244752 00000 n -0011245045 00000 n -17375 2 -0011245222 00000 n -0011245515 00000 n -17385 2 -0011245692 00000 n -0011245985 00000 n -17394 2 -0011246162 00000 n -0011246455 00000 n -17402 2 -0011246632 00000 n -0011246925 00000 n -17408 2 -0011247102 00000 n -0011247395 00000 n -17414 2 -0011247572 00000 n -0011247865 00000 n -17421 2 -0011248042 00000 n -0011248335 00000 n -17431 2 -0011248512 00000 n -0011248805 00000 n -17440 2 -0011248982 00000 n -0011249275 00000 n -17448 2 -0011249452 00000 n -0011249745 00000 n -17455 2 -0011249922 00000 n -0011250215 00000 n -17463 2 -0011250392 00000 n -0011250685 00000 n -17471 2 -0011250862 00000 n -0011251155 00000 n -17478 2 -0011251332 00000 n -0011251625 00000 n -17491 2 -0011251802 00000 n -0011252095 00000 n -17499 2 -0011252272 00000 n -0011252565 00000 n -17507 2 -0011252742 00000 n -0011253035 00000 n -17515 2 -0011253212 00000 n -0011253505 00000 n -17527 2 -0011253682 00000 n -0011253975 00000 n -17533 2 -0011254152 00000 n -0011254445 00000 n -17542 2 -0011254622 00000 n -0011254915 00000 n -17548 2 -0011255092 00000 n -0011255385 00000 n -17557 2 -0011255562 00000 n -0011255855 00000 n -17565 2 -0011256032 00000 n -0011256325 00000 n -17572 2 -0011256502 00000 n -0011256795 00000 n -17578 2 -0011256972 00000 n -0011257265 00000 n -17589 2 -0011257442 00000 n -0011257735 00000 n -17598 2 -0011257912 00000 n -0011258205 00000 n -17668 2 -0011258382 00000 n -0011258675 00000 n -17678 2 -0011258852 00000 n -0011259145 00000 n -17735 2 -0011259322 00000 n -0011259615 00000 n -17746 2 -0011259792 00000 n -0011260085 00000 n -17756 2 -0011260262 00000 n -0011260555 00000 n -17759 2 -0011260732 00000 n -0011261025 00000 n -17766 2 -0011261202 00000 n -0011261495 00000 n -17774 2 -0011261672 00000 n -0011261965 00000 n -17780 2 -0011262142 00000 n -0011262435 00000 n -17792 4 -0011262612 00000 n -0011262905 00000 n -0011263082 00000 n -0011263375 00000 n -17801 2 -0011263552 00000 n -0011263845 00000 n -17809 2 -0011264022 00000 n -0011264315 00000 n -17819 2 -0011264492 00000 n -0011264785 00000 n -17822 2 -0011264962 00000 n -0011265255 00000 n -17825 2 -0011265432 00000 n -0011265725 00000 n -17831 2 -0011265902 00000 n -0011266195 00000 n -17841 2 -0011266372 00000 n -0011266665 00000 n -17885 2 -0011266842 00000 n -0011267135 00000 n -17895 2 -0011267312 00000 n -0011267605 00000 n -17901 2 -0011267782 00000 n -0011268075 00000 n -17911 2 -0011268252 00000 n -0011268545 00000 n -17919 2 -0011268722 00000 n -0011269015 00000 n -17927 4 -0011269192 00000 n -0011269485 00000 n -0011269662 00000 n -0011269955 00000 n -17938 2 -0011270132 00000 n -0011270425 00000 n -17946 2 -0011270602 00000 n -0011270895 00000 n -17963 2 -0011271072 00000 n -0011271365 00000 n -17969 2 -0011271542 00000 n -0011271835 00000 n -17976 2 -0011272012 00000 n -0011272305 00000 n -17985 4 -0011272482 00000 n -0011272775 00000 n -0011272952 00000 n -0011273245 00000 n -17994 2 -0011273422 00000 n -0011273715 00000 n -18007 2 -0011273892 00000 n -0011274185 00000 n -18013 2 -0011274362 00000 n -0011274655 00000 n -18019 2 -0011274832 00000 n -0011275125 00000 n -18026 2 -0011275302 00000 n -0011275595 00000 n -18035 2 -0011275772 00000 n -0011276065 00000 n -18042 2 -0011276242 00000 n -0011276535 00000 n -18058 2 -0011276712 00000 n -0011277005 00000 n -18064 2 -0011277182 00000 n -0011277475 00000 n -18134 2 -0011277652 00000 n -0011277945 00000 n -18146 2 -0011278122 00000 n -0011278415 00000 n -18153 2 -0011278592 00000 n -0011278885 00000 n -18163 2 -0011279062 00000 n -0011279355 00000 n -18178 2 -0011279532 00000 n -0011279709 00000 n -18188 2 -0011279966 00000 n -0011280259 00000 n -18198 2 -0011280436 00000 n -0011280729 00000 n -18207 2 -0011280906 00000 n -0011281199 00000 n -18215 2 -0011281376 00000 n -0011281669 00000 n -18221 2 -0011281846 00000 n -0011282139 00000 n -18227 2 -0011282316 00000 n -0011282609 00000 n -18275 2 -0011282786 00000 n -0011283079 00000 n -18283 2 -0011283256 00000 n -0011283549 00000 n -18291 2 -0011283814 00000 n -0011284107 00000 n -18308 2 -0011284284 00000 n -0011284577 00000 n -18314 2 -0011284754 00000 n -0011285047 00000 n -18321 2 -0011285224 00000 n -0011285517 00000 n -18328 2 -0011285694 00000 n -0011285987 00000 n -18381 4 -0011286164 00000 n -0011286457 00000 n -0011286634 00000 n -0011286927 00000 n -18390 2 -0011287104 00000 n -0011287397 00000 n -18396 2 -0011287574 00000 n -0011287867 00000 n -18403 2 -0011288044 00000 n -0011288337 00000 n -18412 2 -0011288514 00000 n -0011288807 00000 n -18418 2 -0011288984 00000 n -0011289277 00000 n -18437 2 -0011289454 00000 n -0011289747 00000 n -18450 2 -0011289924 00000 n -0011290217 00000 n -18457 2 -0011290394 00000 n -0011290687 00000 n -18465 2 -0011290864 00000 n -0011291157 00000 n -18473 2 -0011291334 00000 n -0011291627 00000 n -18479 2 -0011291804 00000 n -0011292097 00000 n -18499 2 -0011292274 00000 n -0011292567 00000 n -18517 1 -0011292744 00000 n -18519 1 -0011293037 00000 n -18542 2 -0011293214 00000 n -0011293507 00000 n -18552 2 -0011293684 00000 n -0011293977 00000 n -18558 2 -0011294154 00000 n -0011294447 00000 n -18568 2 -0011294624 00000 n -0011294917 00000 n -18584 2 -0011295094 00000 n -0011295387 00000 n -18592 2 -0011295564 00000 n -0011295857 00000 n -18602 2 -0011296034 00000 n -0011296327 00000 n -18612 2 -0011296504 00000 n -0011296797 00000 n -18619 2 -0011296974 00000 n -0011297267 00000 n -18625 2 -0011297444 00000 n -0011297737 00000 n -18632 2 -0011297914 00000 n -0011298207 00000 n -18640 2 -0011298384 00000 n -0011298677 00000 n -18653 2 -0011298854 00000 n -0011299147 00000 n -18663 2 -0011299324 00000 n -0011299617 00000 n -18669 2 -0011299794 00000 n -0011300087 00000 n -18676 2 -0011300264 00000 n -0011300557 00000 n -18691 2 -0011300734 00000 n -0011301027 00000 n -18699 2 -0011301204 00000 n -0011301497 00000 n -18709 2 -0011301674 00000 n -0011301967 00000 n -18715 2 -0011302144 00000 n -0011302437 00000 n -18722 2 -0011302614 00000 n -0011302907 00000 n -18732 2 -0011303084 00000 n -0011303377 00000 n -18738 2 -0011303554 00000 n -0011303847 00000 n -18746 2 -0011304024 00000 n -0011304317 00000 n -18758 1 -0011304494 00000 n -18761 1 -0011304671 00000 n -18780 2 -0011304964 00000 n -0011305257 00000 n -18789 2 -0011305434 00000 n -0011305727 00000 n -18807 2 -0011305904 00000 n -0011306197 00000 n -18815 2 -0011306374 00000 n -0011306667 00000 n -18822 2 -0011306844 00000 n -0011307137 00000 n -18829 2 -0011307314 00000 n -0011307607 00000 n -18837 2 -0011307784 00000 n -0011308077 00000 n -18848 2 -0011308254 00000 n -0011308547 00000 n -18855 2 -0011308724 00000 n -0011309017 00000 n -18866 2 -0011309194 00000 n -0011309487 00000 n -18879 2 -0011309664 00000 n -0011309957 00000 n -18887 2 -0011310134 00000 n -0011310427 00000 n -18893 2 -0011310604 00000 n -0011310897 00000 n -18905 2 -0011311074 00000 n -0011311367 00000 n -18912 2 -0011311544 00000 n -0011311837 00000 n -18918 2 -0011312014 00000 n -0011312307 00000 n -18931 1 -0011312484 00000 n -18933 1 -0011312777 00000 n -18948 2 -0011312954 00000 n -0011313247 00000 n -18964 2 -0011313424 00000 n -0011313717 00000 n -18974 2 -0011313894 00000 n -0011314187 00000 n -18981 2 -0011314364 00000 n -0011314657 00000 n -18995 2 -0011314834 00000 n -0011315127 00000 n -19024 2 -0011315304 00000 n -0011315597 00000 n -19035 2 -0011315774 00000 n -0011316067 00000 n -19042 2 -0011316244 00000 n -0011316537 00000 n -19051 2 -0011316714 00000 n -0011317007 00000 n -19059 2 -0011317184 00000 n -0011317477 00000 n -19066 2 -0011317654 00000 n -0011317947 00000 n -19075 4 -0011318124 00000 n -0011318417 00000 n -0011318594 00000 n -0011318887 00000 n -19084 2 -0011319064 00000 n -0011319357 00000 n -19092 2 -0011319534 00000 n -0011319827 00000 n -19103 2 -0011320004 00000 n -0011320297 00000 n -19111 2 -0011320474 00000 n -0011320767 00000 n -19631 2 -0011320944 00000 n -0011321237 00000 n -19638 2 -0011321414 00000 n -0011321707 00000 n -19647 2 -0011321884 00000 n -0011322177 00000 n -19659 2 -0011322354 00000 n -0011322647 00000 n -19665 2 -0011322824 00000 n -0011323117 00000 n -19673 2 -0011323294 00000 n -0011323587 00000 n -19679 2 -0011323764 00000 n -0011324057 00000 n -20083 2 -0011324234 00000 n -0011324527 00000 n -20096 2 -0011324704 00000 n -0011324997 00000 n -20106 2 -0011325174 00000 n -0011325467 00000 n -20112 2 -0011325644 00000 n -0011325937 00000 n -20122 2 -0011326114 00000 n -0011326407 00000 n -20132 2 -0011326584 00000 n -0011326877 00000 n -20531 2 -0011327054 00000 n -0011327347 00000 n -20550 2 -0011327524 00000 n -0011327817 00000 n -20990 2 -0011327994 00000 n -0011328287 00000 n -21001 2 -0011328464 00000 n -0011328757 00000 n -21014 2 -0011328934 00000 n -0011329227 00000 n -21021 2 -0011329404 00000 n -0011329697 00000 n -21328 2 -0011329874 00000 n -0011330167 00000 n -21335 4 -0011330344 00000 n -0011330637 00000 n -0011330814 00000 n -0011331107 00000 n -21359 2 -0011331284 00000 n -0011331577 00000 n -21368 1 -0011331754 00000 n -21372 1 -0011332047 00000 n -21391 2 -0011332224 00000 n -0011332517 00000 n -21399 2 -0011332694 00000 n -0011332987 00000 n -21417 2 -0011333164 00000 n -0011333457 00000 n -21424 2 -0011333634 00000 n -0011333927 00000 n -21432 2 -0011334104 00000 n -0011334397 00000 n -21435 2 -0011334574 00000 n -0011334867 00000 n -21964 2 -0011335044 00000 n -0011335337 00000 n -21978 2 -0011335514 00000 n -0011335807 00000 n -21986 2 -0011335984 00000 n -0011336277 00000 n -21995 4 -0011336454 00000 n -0011336747 00000 n -0011337012 00000 n -0011337305 00000 n -22011 2 -0011337482 00000 n -0011337775 00000 n -22021 2 -0011337952 00000 n -0011338245 00000 n -22033 2 -0011338422 00000 n -0011338715 00000 n -22039 2 -0011338892 00000 n -0011339185 00000 n -22058 2 -0011339362 00000 n -0011339655 00000 n -22578 2 -0011339832 00000 n -0011340125 00000 n -22585 2 -0011340390 00000 n -0011340683 00000 n -22595 2 -0011340860 00000 n -0011341153 00000 n -22604 2 -0011341330 00000 n -0011341623 00000 n -22612 4 -0011341800 00000 n -0011342093 00000 n -0011342358 00000 n -0011342651 00000 n -22621 2 -0011342828 00000 n -0011343121 00000 n -22632 2 -0011343298 00000 n -0011343591 00000 n -22643 2 -0011343768 00000 n -0011344061 00000 n -22651 2 -0011344238 00000 n -0011344531 00000 n -23350 2 -0011344708 00000 n -0011345001 00000 n -23363 2 -0011345266 00000 n -0011345559 00000 n -23370 2 -0011345736 00000 n -0011346029 00000 n -23381 2 -0011346206 00000 n -0011346499 00000 n -23387 2 -0011346676 00000 n -0011346969 00000 n -23398 2 -0011347146 00000 n -0011347439 00000 n -23404 2 -0011347616 00000 n -0011347909 00000 n -23411 2 -0011348086 00000 n -0011348379 00000 n -23420 3 -0011348556 00000 n -0011348733 00000 n -0011348886 00000 n -23434 2 -0011349179 00000 n -0011349472 00000 n -24220 2 -0011349649 00000 n -0011349942 00000 n -24240 2 -0011350119 00000 n -0011350412 00000 n -24246 2 -0011350589 00000 n -0011350882 00000 n -24256 2 -0011351059 00000 n -0011351352 00000 n -24268 2 -0011351529 00000 n -0011351822 00000 n -24278 2 -0011351999 00000 n -0011352292 00000 n -24284 2 -0011352469 00000 n -0011352762 00000 n -24291 2 -0011352939 00000 n -0011353232 00000 n -24302 2 -0011353409 00000 n -0011353702 00000 n -24889 2 -0011353879 00000 n -0011354172 00000 n -24899 2 -0011354349 00000 n -0011354642 00000 n -24917 2 -0011354819 00000 n -0011355112 00000 n -24930 4 -0011355289 00000 n -0011355466 00000 n -0011355759 00000 n -0011356070 00000 n -24958 2 -0011356376 00000 n -0011356669 00000 n -24964 2 -0011356846 00000 n -0011357139 00000 n -24974 2 -0011357316 00000 n -0011357609 00000 n -24985 2 -0011357786 00000 n -0011358079 00000 n -24998 2 -0011358256 00000 n -0011358549 00000 n -25780 2 -0011358726 00000 n -0011359019 00000 n -25791 2 -0011359196 00000 n -0011359489 00000 n -25805 2 -0011359666 00000 n -0011359959 00000 n -25812 2 -0011360224 00000 n -0011360401 00000 n -25818 2 -0011360665 00000 n -0011360958 00000 n -25833 2 -0011361135 00000 n -0011361428 00000 n -25843 2 -0011361605 00000 n -0011361898 00000 n -25853 2 -0011362075 00000 n -0011362368 00000 n -25859 2 -0011362545 00000 n -0011362838 00000 n -25881 2 -0011363015 00000 n -0011363308 00000 n -25888 2 -0011363485 00000 n -0011363778 00000 n -25895 2 -0011363955 00000 n -0011364248 00000 n -25913 2 -0011364425 00000 n -0011364718 00000 n -25925 2 -0011364895 00000 n -0011365188 00000 n -25934 2 -0011365365 00000 n -0011365658 00000 n -25942 2 -0011365835 00000 n -0011366128 00000 n -25948 2 -0011366305 00000 n -0011366598 00000 n -26455 2 -0011366775 00000 n -0011367068 00000 n -26479 2 -0011367245 00000 n -0011367538 00000 n -26491 2 -0011367715 00000 n -0011368008 00000 n -26498 2 -0011368185 00000 n -0011368478 00000 n -26505 2 -0011368655 00000 n -0011368948 00000 n -26921 2 -0011369125 00000 n -0011369418 00000 n -26941 2 -0011369595 00000 n -0011369888 00000 n -26951 2 -0011370065 00000 n -0011370358 00000 n -26960 2 -0011370535 00000 n -0011370828 00000 n -26970 2 -0011371005 00000 n -0011371298 00000 n -26979 2 -0011371475 00000 n -0011371768 00000 n -26988 2 -0011371945 00000 n -0011372238 00000 n -27542 2 -0011372415 00000 n -0011372708 00000 n -27552 2 -0011372885 00000 n -0011373178 00000 n -27574 2 -0011373355 00000 n -0011373648 00000 n -27582 2 -0011373825 00000 n -0011374118 00000 n -27590 2 -0011374295 00000 n -0011374588 00000 n -27603 2 -0011374765 00000 n -0011375058 00000 n -27619 2 -0011375235 00000 n -0011375528 00000 n -27629 2 -0011375705 00000 n -0011375998 00000 n -28337 2 -0011376175 00000 n -0011376468 00000 n -28359 2 -0011376645 00000 n -0011376938 00000 n -28372 2 -0011377115 00000 n -0011377408 00000 n -28378 2 -0011377673 00000 n -0011377966 00000 n -28382 2 -0011378143 00000 n -0011378436 00000 n -28388 2 -0011378613 00000 n -0011378906 00000 n -28394 2 -0011379083 00000 n -0011379376 00000 n -28404 2 -0011379553 00000 n -0011379846 00000 n -28416 2 -0011380023 00000 n -0011380316 00000 n -28430 2 -0011380493 00000 n -0011380786 00000 n -28438 2 -0011380963 00000 n -0011381256 00000 n -28445 2 -0011381433 00000 n -0011381726 00000 n -28460 2 -0011381903 00000 n -0011382196 00000 n -28468 2 -0011382373 00000 n -0011382666 00000 n -28471 2 -0011382843 00000 n -0011383136 00000 n -28479 2 -0011383313 00000 n -0011383606 00000 n -28491 2 -0011383783 00000 n -0011384076 00000 n -28499 2 -0011384253 00000 n -0011384546 00000 n -28527 2 -0011384723 00000 n -0011385016 00000 n -28536 2 -0011385193 00000 n -0011385486 00000 n -28548 2 -0011385663 00000 n -0011385956 00000 n -28554 2 -0011386133 00000 n -0011386426 00000 n -29047 2 -0011386603 00000 n -0011386896 00000 n -29064 2 -0011387073 00000 n -0011387366 00000 n -29089 2 -0011387543 00000 n -0011387836 00000 n -29100 2 -0011388013 00000 n -0011388306 00000 n -29107 2 -0011388483 00000 n -0011388776 00000 n -29113 2 -0011388953 00000 n -0011389246 00000 n -29122 2 -0011389423 00000 n -0011389716 00000 n -29132 2 -0011389893 00000 n -0011390186 00000 n -29144 2 -0011390363 00000 n -0011390656 00000 n -29158 2 -0011390833 00000 n -0011391126 00000 n -29170 2 -0011391303 00000 n -0011391596 00000 n -29176 2 -0011391773 00000 n -0011392066 00000 n -29183 2 -0011392243 00000 n -0011392536 00000 n -29197 2 -0011392713 00000 n -0011393006 00000 n -29213 2 -0011393183 00000 n -0011393476 00000 n -29220 2 -0011393653 00000 n -0011393946 00000 n -29232 2 -0011394123 00000 n -0011394416 00000 n -29251 2 -0011394593 00000 n -0011394886 00000 n -29267 2 -0011395063 00000 n -0011395356 00000 n -29278 2 -0011395533 00000 n -0011395826 00000 n -29291 2 -0011396003 00000 n -0011396296 00000 n -29298 2 -0011396473 00000 n -0011396766 00000 n -29305 2 -0011396943 00000 n -0011397236 00000 n -29313 2 -0011397413 00000 n -0011397706 00000 n -29337 2 -0011397883 00000 n -0011398176 00000 n -30051 2 -0011398353 00000 n -0011398646 00000 n -30060 2 -0011398823 00000 n -0011399116 00000 n -30073 2 -0011399293 00000 n -0011399586 00000 n -30076 2 -0011399763 00000 n -0011400056 00000 n -30088 2 -0011400233 00000 n -0011400526 00000 n -30096 2 -0011400703 00000 n -0011400996 00000 n -30105 2 -0011401173 00000 n -0011401466 00000 n -30120 2 -0011401643 00000 n -0011401936 00000 n -30134 2 -0011402113 00000 n -0011402406 00000 n -30147 2 -0011402583 00000 n -0011402876 00000 n -30163 2 -0011403053 00000 n -0011403346 00000 n -30180 2 -0011403523 00000 n -0011403816 00000 n -30190 2 -0011403993 00000 n -0011404286 00000 n -30196 2 -0011404463 00000 n -0011404756 00000 n -30202 2 -0011404933 00000 n -0011405226 00000 n -30209 6 -0011405403 00000 n -0011405696 00000 n -0011405873 00000 n -0011406166 00000 n -0011406343 00000 n -0011406636 00000 n -30236 2 -0011406813 00000 n -0011407106 00000 n -30248 2 -0011407283 00000 n -0011407576 00000 n -30257 2 -0011407753 00000 n -0011408046 00000 n -30272 2 -0011408223 00000 n -0011408516 00000 n -30282 2 -0011408693 00000 n -0011408986 00000 n -30296 2 -0011409163 00000 n -0011409456 00000 n -30984 2 -0011409633 00000 n -0011409926 00000 n -30994 2 -0011410103 00000 n -0011410396 00000 n -31008 2 -0011410573 00000 n -0011410866 00000 n -31018 2 -0011411043 00000 n -0011411336 00000 n -31024 2 -0011411513 00000 n -0011411806 00000 n -31036 2 -0011411983 00000 n -0011412276 00000 n -31045 2 -0011412453 00000 n -0011412746 00000 n -31054 2 -0011412923 00000 n -0011413216 00000 n -31073 2 -0011413393 00000 n -0011413686 00000 n -31083 2 -0011413863 00000 n -0011414156 00000 n -31093 2 -0011414333 00000 n -0011414626 00000 n -31103 2 -0011414803 00000 n -0011415096 00000 n -31114 2 -0011415273 00000 n -0011415566 00000 n -31770 2 -0011415743 00000 n -0011416036 00000 n -31782 2 -0011416213 00000 n -0011416506 00000 n -31789 2 -0011416683 00000 n -0011416976 00000 n -31806 2 -0011417153 00000 n -0011417446 00000 n -31814 2 -0011417623 00000 n -0011417916 00000 n -31820 2 -0011418093 00000 n -0011418386 00000 n -31831 2 -0011418563 00000 n -0011418856 00000 n -31839 2 -0011419033 00000 n -0011419326 00000 n -31847 2 -0011419503 00000 n -0011419796 00000 n -31859 2 -0011419973 00000 n -0011420266 00000 n -32504 2 -0011420443 00000 n -0011420736 00000 n -32514 2 -0011420913 00000 n -0011421206 00000 n -32522 2 -0011421383 00000 n -0011421676 00000 n -32533 2 -0011421853 00000 n -0011422146 00000 n -32541 2 -0011422323 00000 n -0011422616 00000 n -32549 2 -0011422793 00000 n -0011423086 00000 n -32555 2 -0011423263 00000 n -0011423556 00000 n -32563 2 -0011423733 00000 n -0011424026 00000 n -32570 2 -0011424203 00000 n -0011424496 00000 n -32580 2 -0011424673 00000 n -0011424966 00000 n -32586 2 -0011425143 00000 n -0011425436 00000 n -33032 2 -0011425613 00000 n -0011425906 00000 n -33045 2 -0011426083 00000 n -0011426376 00000 n -33055 2 -0011426553 00000 n -0011426846 00000 n -33070 2 -0011427023 00000 n -0011427316 00000 n -33078 2 -0011427493 00000 n -0011427786 00000 n -33085 2 -0011427963 00000 n -0011428256 00000 n -33094 2 -0011428433 00000 n -0011428726 00000 n -33106 2 -0011428903 00000 n -0011429196 00000 n -33589 2 -0011429373 00000 n -0011429666 00000 n -33597 2 -0011429843 00000 n -0011430136 00000 n -33613 2 -0011430313 00000 n -0011430606 00000 n -33619 2 -0011430783 00000 n -0011431076 00000 n -33634 2 -0011431253 00000 n -0011431546 00000 n -33645 2 -0011431723 00000 n -0011432016 00000 n -33655 2 -0011432193 00000 n -0011432486 00000 n -33661 2 -0011432663 00000 n -0011432956 00000 n -34178 2 -0011433133 00000 n -0011433426 00000 n -34185 2 -0011433603 00000 n -0011433896 00000 n -34193 2 -0011434073 00000 n -0011434366 00000 n -34207 2 -0011434543 00000 n -0011434836 00000 n -34215 2 -0011435013 00000 n -0011435306 00000 n -34235 2 -0011435483 00000 n -0011435776 00000 n -34246 2 -0011435953 00000 n -0011436246 00000 n -34256 2 -0011436423 00000 n -0011436716 00000 n -34264 2 -0011436893 00000 n -0011437186 00000 n -34274 2 -0011437363 00000 n -0011437656 00000 n -35033 2 -0011437833 00000 n -0011438126 00000 n -35044 2 -0011438303 00000 n -0011438596 00000 n -35055 2 -0011438773 00000 n -0011439066 00000 n -35065 2 -0011439243 00000 n -0011439536 00000 n -35075 2 -0011439713 00000 n -0011440006 00000 n -35085 2 -0011440183 00000 n -0011440476 00000 n -35093 2 -0011440653 00000 n -0011440946 00000 n -35838 2 -0011441123 00000 n -0011441416 00000 n -35850 2 -0011441593 00000 n -0011441886 00000 n -35863 2 -0011442063 00000 n -0011442356 00000 n -35888 2 -0011442533 00000 n -0011442826 00000 n -35895 2 -0011443003 00000 n -0011443296 00000 n -35903 2 -0011443473 00000 n -0011443766 00000 n -35910 2 -0011443943 00000 n -0011444236 00000 n -35917 2 -0011444413 00000 n -0011444706 00000 n -35923 2 -0011444883 00000 n -0011445176 00000 n -36676 2 -0011445353 00000 n -0011445646 00000 n -36705 2 -0011445823 00000 n -0011446116 00000 n -36715 2 -0011446293 00000 n -0011446586 00000 n -36725 2 -0011446763 00000 n -0011447056 00000 n -36736 2 -0011447233 00000 n -0011447526 00000 n -36744 2 -0011447703 00000 n -0011447996 00000 n -36755 2 -0011448173 00000 n -0011448466 00000 n -36769 2 -0011448643 00000 n -0011448936 00000 n -36781 2 -0011449113 00000 n -0011449406 00000 n -36798 2 -0011449583 00000 n -0011449876 00000 n -36806 2 -0011450053 00000 n -0011450346 00000 n -36815 2 -0011450523 00000 n -0011450816 00000 n -36821 2 -0011450993 00000 n -0011451286 00000 n -36830 2 -0011451463 00000 n -0011451756 00000 n -36836 2 -0011451933 00000 n -0011452226 00000 n -37436 2 -0011452403 00000 n -0011452696 00000 n -37445 2 -0011452873 00000 n -0011453166 00000 n -37464 2 -0011453431 00000 n -0011453724 00000 n -37483 2 -0011453901 00000 n -0011454194 00000 n -37490 2 -0011454371 00000 n -0011454664 00000 n -37512 2 -0011454841 00000 n -0011455134 00000 n -37528 2 -0011455311 00000 n -0011455604 00000 n -37537 2 -0011455781 00000 n -0011456074 00000 n -37547 2 -0011456251 00000 n -0011456544 00000 n -37554 2 -0011456721 00000 n -0011457014 00000 n -37566 2 -0011457279 00000 n -0011457572 00000 n -37589 2 -0011457749 00000 n -0011458042 00000 n -37595 2 -0011458219 00000 n -0011458512 00000 n -37601 2 -0011458689 00000 n -0011458982 00000 n -37624 2 -0011459159 00000 n -0011459452 00000 n -37627 2 -0011459629 00000 n -0011459922 00000 n -37632 2 -0011460099 00000 n -0011460392 00000 n -37675 2 -0011460569 00000 n -0011460862 00000 n -37688 2 -0011461039 00000 n -0011461332 00000 n -37701 2 -0011461509 00000 n -0011461802 00000 n -37711 2 -0011461979 00000 n -0011462272 00000 n -37730 2 -0011462449 00000 n -0011462742 00000 n -37756 4 -0011462919 00000 n -0011463212 00000 n -0011463389 00000 n -0011463682 00000 n -37781 2 -0011463859 00000 n -0011464152 00000 n -37788 2 -0011464329 00000 n -0011464622 00000 n -37804 2 -0011464799 00000 n -0011465092 00000 n -37810 2 -0011465269 00000 n -0011465562 00000 n -37822 2 -0011465739 00000 n -0011466032 00000 n -37831 2 -0011466209 00000 n -0011466502 00000 n -37834 2 -0011466679 00000 n -0011466972 00000 n -37843 2 -0011467149 00000 n -0011467442 00000 n -37860 2 -0011467619 00000 n -0011467912 00000 n -37869 2 -0011468089 00000 n -0011468382 00000 n -37889 2 -0011468559 00000 n -0011468852 00000 n -37900 2 -0011469029 00000 n -0011469322 00000 n -37912 2 -0011469499 00000 n -0011469792 00000 n -37921 2 -0011469969 00000 n -0011470262 00000 n -37930 2 -0011470439 00000 n -0011470732 00000 n -37944 2 -0011470909 00000 n -0011471202 00000 n -37953 2 -0011471379 00000 n -0011471672 00000 n -37960 2 -0011471849 00000 n -0011472142 00000 n -37967 2 -0011472319 00000 n -0011472612 00000 n -37972 4 -0011472789 00000 n -0011473082 00000 n -0011473259 00000 n -0011473552 00000 n -37985 2 -0011473729 00000 n -0011474022 00000 n -37996 2 -0011474199 00000 n -0011474492 00000 n -38006 2 -0011474669 00000 n -0011474962 00000 n -38012 2 -0011475227 00000 n -0011475520 00000 n -38021 2 -0011475697 00000 n -0011475990 00000 n -38028 2 -0011476167 00000 n -0011476460 00000 n -38037 2 -0011476637 00000 n -0011476930 00000 n -38046 2 -0011477107 00000 n -0011477400 00000 n -38077 2 -0011477577 00000 n -0011477870 00000 n -38083 2 -0011478047 00000 n -0011478340 00000 n -38102 2 -0011478517 00000 n -0011478810 00000 n -38108 2 -0011479075 00000 n -0011479368 00000 n -38118 2 -0011479545 00000 n -0011479838 00000 n -38129 2 -0011480015 00000 n -0011480308 00000 n -38144 2 -0011480485 00000 n -0011480778 00000 n -38168 2 -0011480955 00000 n -0011481248 00000 n -38190 2 -0011481425 00000 n -0011481718 00000 n -38219 2 -0011481895 00000 n -0011482188 00000 n -38241 2 -0011482365 00000 n -0011482658 00000 n -38252 2 -0011482835 00000 n -0011483128 00000 n -38259 2 -0011483305 00000 n -0011483598 00000 n -38267 2 -0011483775 00000 n -0011484068 00000 n -38295 2 -0011484245 00000 n -0011484538 00000 n -38305 2 -0011484715 00000 n -0011485008 00000 n -38315 2 -0011485185 00000 n -0011485478 00000 n -38329 2 -0011485655 00000 n -0011485948 00000 n -38336 2 -0011486125 00000 n -0011486418 00000 n -38358 2 -0011486595 00000 n -0011486888 00000 n -38364 2 -0011487065 00000 n -0011487358 00000 n -38370 2 -0011487535 00000 n -0011487828 00000 n -38373 2 -0011488005 00000 n -0011488298 00000 n -38380 2 -0011488475 00000 n -0011488768 00000 n -38388 2 -0011488945 00000 n -0011489238 00000 n -38404 2 -0011489415 00000 n -0011489708 00000 n -38900 2 -0011489885 00000 n -0011490178 00000 n -38911 2 -0011490355 00000 n -0011490648 00000 n -38918 2 -0011490825 00000 n -0011491118 00000 n -38938 2 -0011491295 00000 n -0011491588 00000 n -38946 2 -0011491765 00000 n -0011492058 00000 n -38964 4 -0011492235 00000 n -0011492528 00000 n -0011492705 00000 n -0011492998 00000 n -38978 2 -0011493175 00000 n -0011493468 00000 n -38992 2 -0011493645 00000 n -0011493938 00000 n -39481 2 -0011494115 00000 n -0011494408 00000 n -39496 2 -0011494585 00000 n -0011494878 00000 n -39503 2 -0011495055 00000 n -0011495348 00000 n -39517 2 -0011495525 00000 n -0011495818 00000 n -39539 2 -0011495995 00000 n -0011496288 00000 n -39560 2 -0011496465 00000 n -0011496758 00000 n -39570 2 -0011496935 00000 n -0011497228 00000 n -39574 2 -0011497405 00000 n -0011497698 00000 n -40072 2 -0011497875 00000 n -0011498168 00000 n -40082 2 -0011498345 00000 n -0011498638 00000 n -40103 2 -0011498815 00000 n -0011499108 00000 n -40119 2 -0011499285 00000 n -0011499578 00000 n -40127 2 -0011499755 00000 n -0011500048 00000 n -40139 2 -0011500225 00000 n -0011500518 00000 n -40147 2 -0011500695 00000 n -0011500988 00000 n -40673 2 -0011501165 00000 n -0011501458 00000 n -40692 2 -0011501635 00000 n -0011501928 00000 n -40701 2 -0011502105 00000 n -0011502398 00000 n -40707 2 -0011502575 00000 n -0011502868 00000 n -40718 2 -0011503045 00000 n -0011503338 00000 n -40733 2 -0011503515 00000 n -0011503808 00000 n -40738 2 -0011503985 00000 n -0011504278 00000 n -40750 2 -0011504455 00000 n -0011504748 00000 n -41045 2 -0011504925 00000 n -0011505218 00000 n -41070 2 -0011505395 00000 n -0011505688 00000 n -41081 2 -0011505865 00000 n -0011506158 00000 n -41092 2 -0011506335 00000 n -0011506628 00000 n -41108 2 -0011506805 00000 n -0011507098 00000 n -41114 2 -0011507275 00000 n -0011507568 00000 n -41136 2 -0011507745 00000 n -0011508038 00000 n -41154 2 -0011508215 00000 n -0011508508 00000 n -41176 2 -0011508685 00000 n -0011508978 00000 n -41209 2 -0011509155 00000 n -0011509448 00000 n -41218 2 -0011509625 00000 n -0011509918 00000 n -41224 2 -0011510095 00000 n -0011510388 00000 n -41230 2 -0011510565 00000 n -0011510858 00000 n -41233 2 -0011511035 00000 n -0011511328 00000 n -41247 2 -0011511505 00000 n -0011511798 00000 n -41255 2 -0011511975 00000 n -0011512268 00000 n -41270 2 -0011512445 00000 n -0011512738 00000 n -41296 2 -0011512915 00000 n -0011513208 00000 n -41307 2 -0011513385 00000 n -0011513678 00000 n -41318 2 -0011513855 00000 n -0011514148 00000 n -41326 2 -0011514325 00000 n -0011514618 00000 n -41332 2 -0011514795 00000 n -0011515088 00000 n -41351 2 -0011515265 00000 n -0011515558 00000 n -41376 2 -0011515735 00000 n -0011515912 00000 n -41392 2 -0011516205 00000 n -0011516498 00000 n -41401 2 -0011516675 00000 n -0011516968 00000 n -41445 2 -0011517145 00000 n -0011517438 00000 n -41457 2 -0011517615 00000 n -0011517908 00000 n -41487 2 -0011518085 00000 n -0011518378 00000 n -41500 2 -0011518555 00000 n -0011518848 00000 n -41516 2 -0011519025 00000 n -0011519318 00000 n -41524 2 -0011519495 00000 n -0011519788 00000 n -41537 2 -0011519965 00000 n -0011520258 00000 n -41544 2 -0011520435 00000 n -0011520728 00000 n -41551 2 -0011520905 00000 n -0011521198 00000 n -41584 2 -0011521375 00000 n -0011521668 00000 n -41596 2 -0011521845 00000 n -0011522138 00000 n -41612 2 -0011522315 00000 n -0011522608 00000 n -41627 2 -0011522785 00000 n -0011523078 00000 n -41633 2 -0011523255 00000 n -0011523548 00000 n -41643 2 -0011523725 00000 n -0011524018 00000 n -41671 2 -0011524195 00000 n -0011524488 00000 n -41680 2 -0011524665 00000 n -0011524958 00000 n -41696 2 -0011525135 00000 n -0011525428 00000 n -41705 2 -0011525605 00000 n -0011525898 00000 n -41715 2 -0011526075 00000 n -0011526368 00000 n -41722 2 -0011526545 00000 n -0011526838 00000 n -41730 2 -0011527015 00000 n -0011527308 00000 n -41755 2 -0011527485 00000 n -0011527778 00000 n -41761 2 -0011527955 00000 n -0011528248 00000 n -41767 2 -0011528425 00000 n -0011528718 00000 n -41773 2 -0011528895 00000 n -0011529188 00000 n -41781 2 -0011529365 00000 n -0011529658 00000 n -41801 2 -0011529835 00000 n -0011530128 00000 n -41808 2 -0011530305 00000 n -0011530598 00000 n -41816 2 -0011530775 00000 n -0011531068 00000 n -41830 2 -0011531245 00000 n -0011531538 00000 n -41845 2 -0011531715 00000 n -0011532008 00000 n -41852 2 -0011532185 00000 n -0011532478 00000 n -41873 2 -0011532655 00000 n -0011532948 00000 n -41896 2 -0011533125 00000 n -0011533418 00000 n -41912 2 -0011533595 00000 n -0011533888 00000 n -41918 2 -0011534065 00000 n -0011534358 00000 n -41928 2 -0011534535 00000 n -0011534828 00000 n -41942 2 -0011535005 00000 n -0011535298 00000 n -41967 2 -0011535475 00000 n -0011535768 00000 n -41984 2 -0011535945 00000 n -0011536238 00000 n -41992 2 -0011536415 00000 n -0011536708 00000 n -42012 2 -0011536885 00000 n -0011537178 00000 n -42021 2 -0011537355 00000 n -0011537648 00000 n -42029 2 -0011537825 00000 n -0011538118 00000 n -42036 2 -0011538295 00000 n -0011538588 00000 n -42048 2 -0011538765 00000 n -0011539058 00000 n -42056 4 -0011539235 00000 n -0011539528 00000 n -0011539705 00000 n -0011539998 00000 n -42079 2 -0011540175 00000 n -0011540468 00000 n -42089 2 -0011540645 00000 n -0011540938 00000 n -42105 2 -0011541115 00000 n -0011541408 00000 n -42121 2 -0011541585 00000 n -0011541878 00000 n -42137 2 -0011542055 00000 n -0011542348 00000 n -42148 2 -0011542525 00000 n -0011542818 00000 n -42157 2 -0011542995 00000 n -0011543288 00000 n -42169 2 -0011543465 00000 n -0011543758 00000 n -42180 2 -0011543935 00000 n -0011544228 00000 n -42186 2 -0011544405 00000 n -0011544698 00000 n -42205 2 -0011544875 00000 n -0011545168 00000 n -42211 2 -0011545345 00000 n -0011545638 00000 n -42231 2 -0011545815 00000 n -0011546108 00000 n -42247 2 -0011546285 00000 n -0011546578 00000 n -42264 2 -0011546755 00000 n -0011547048 00000 n -42278 2 -0011547225 00000 n -0011547518 00000 n -42286 2 -0011547695 00000 n -0011547988 00000 n -42298 2 -0011548165 00000 n -0011548458 00000 n -42308 2 -0011548635 00000 n -0011548928 00000 n -42317 2 -0011549105 00000 n -0011549398 00000 n -42333 2 -0011549575 00000 n -0011549868 00000 n -42347 2 -0011550045 00000 n -0011550338 00000 n -42356 2 -0011550515 00000 n -0011550808 00000 n -42369 2 -0011550985 00000 n -0011551278 00000 n -42388 2 -0011551455 00000 n -0011551748 00000 n -42413 2 -0011551925 00000 n -0011552218 00000 n -42421 2 -0011552395 00000 n -0011552688 00000 n -42431 2 -0011552865 00000 n -0011553158 00000 n -42438 2 -0011553335 00000 n -0011553628 00000 n -42449 2 -0011553805 00000 n -0011554098 00000 n -42461 2 -0011554275 00000 n -0011554568 00000 n -42474 2 -0011554745 00000 n -0011555038 00000 n -42481 2 -0011555215 00000 n -0011555508 00000 n -42504 2 -0011555685 00000 n -0011555978 00000 n -42510 2 -0011556155 00000 n -0011556448 00000 n -42525 2 -0011556625 00000 n -0011556918 00000 n -42539 2 -0011557095 00000 n -0011557388 00000 n -42557 2 -0011557565 00000 n -0011557858 00000 n -42579 2 -0011558035 00000 n -0011558328 00000 n -42600 2 -0011558505 00000 n -0011558798 00000 n -42617 2 -0011558975 00000 n -0011559268 00000 n -42628 2 -0011559445 00000 n -0011559738 00000 n -42646 2 -0011559915 00000 n -0011560208 00000 n -42657 2 -0011560385 00000 n -0011560678 00000 n -42667 2 -0011560855 00000 n -0011561148 00000 n -42699 2 -0011561325 00000 n -0011561618 00000 n -42708 2 -0011561795 00000 n -0011562088 00000 n -42718 2 -0011562265 00000 n -0011562558 00000 n -42733 2 -0011562735 00000 n -0011563028 00000 n -42755 2 -0011563205 00000 n -0011563498 00000 n -42787 2 -0011563675 00000 n -0011563968 00000 n -42794 2 -0011564145 00000 n -0011564438 00000 n -42804 2 -0011564615 00000 n -0011564908 00000 n -42816 2 -0011565085 00000 n -0011565378 00000 n -42824 2 -0011565555 00000 n -0011565848 00000 n -42832 2 -0011566025 00000 n -0011566318 00000 n -42840 2 -0011566495 00000 n -0011566788 00000 n -42883 2 -0011566965 00000 n -0011567258 00000 n -42892 2 -0011567435 00000 n -0011567728 00000 n -42903 2 -0011567905 00000 n -0011568198 00000 n -42911 2 -0011568375 00000 n -0011568668 00000 n -42941 2 -0011568845 00000 n -0011569138 00000 n -42944 2 -0011569315 00000 n -0011569608 00000 n -42949 2 -0011569785 00000 n -0011570078 00000 n -42957 2 -0011570255 00000 n -0011570548 00000 n -42960 2 -0011570725 00000 n -0011571018 00000 n -42967 2 -0011571195 00000 n -0011571488 00000 n -42977 2 -0011571665 00000 n -0011571958 00000 n -43017 2 -0011572135 00000 n -0011572428 00000 n -43025 2 -0011572605 00000 n -0011572898 00000 n -43037 2 -0011573075 00000 n -0011573368 00000 n -43045 2 -0011573545 00000 n -0011573838 00000 n -43055 2 -0011574015 00000 n -0011574308 00000 n -43066 2 -0011574485 00000 n -0011574778 00000 n -43073 2 -0011574955 00000 n -0011575248 00000 n -43082 2 -0011575425 00000 n -0011575718 00000 n -43102 2 -0011575895 00000 n -0011576188 00000 n -43116 2 -0011576365 00000 n -0011576658 00000 n -43128 2 -0011576835 00000 n -0011577128 00000 n -43138 2 -0011577305 00000 n -0011577598 00000 n -43151 2 -0011577775 00000 n -0011578068 00000 n -43158 2 -0011578245 00000 n -0011578538 00000 n -43195 2 -0011578715 00000 n -0011579008 00000 n -43203 2 -0011579185 00000 n -0011579478 00000 n -43212 2 -0011579655 00000 n -0011579948 00000 n -43218 2 -0011580125 00000 n -0011580418 00000 n -43226 2 -0011580595 00000 n -0011580888 00000 n -43245 2 -0011581065 00000 n -0011581358 00000 n -43253 2 -0011581535 00000 n -0011581828 00000 n -43273 2 -0011582005 00000 n -0011582298 00000 n -43279 2 -0011582475 00000 n -0011582768 00000 n -43291 2 -0011582945 00000 n -0011583238 00000 n -43300 2 -0011583415 00000 n -0011583708 00000 n -43309 2 -0011583885 00000 n -0011584178 00000 n -43317 2 -0011584355 00000 n -0011584648 00000 n -43332 2 -0011584825 00000 n -0011585118 00000 n -43340 2 -0011585295 00000 n -0011585588 00000 n -43358 2 -0011585765 00000 n -0011586058 00000 n -43382 2 -0011586235 00000 n -0011586528 00000 n -43397 2 -0011586705 00000 n -0011586998 00000 n -43407 2 -0011587175 00000 n -0011587468 00000 n -43413 2 -0011587645 00000 n -0011587938 00000 n -43418 2 -0011588115 00000 n -0011588408 00000 n -43427 2 -0011588585 00000 n -0011588878 00000 n -43432 2 -0011589055 00000 n -0011589348 00000 n -43445 2 -0011589525 00000 n -0011589818 00000 n -43473 2 -0011589995 00000 n -0011590288 00000 n -43484 2 -0011590465 00000 n -0011590758 00000 n -43493 2 -0011590935 00000 n -0011591228 00000 n -43500 2 -0011591405 00000 n -0011591698 00000 n -43507 2 -0011591875 00000 n -0011592168 00000 n -43541 2 -0011592345 00000 n -0011592638 00000 n -43559 2 -0011592815 00000 n -0011593108 00000 n -43568 2 -0011593285 00000 n -0011593578 00000 n -43576 2 -0011593755 00000 n -0011594048 00000 n -43597 2 -0011594225 00000 n -0011594518 00000 n -43626 2 -0011594695 00000 n -0011594988 00000 n -43641 2 -0011595165 00000 n -0011595458 00000 n -43650 2 -0011595635 00000 n -0011595928 00000 n -43658 2 -0011596105 00000 n -0011596398 00000 n -43669 2 -0011596575 00000 n -0011596868 00000 n -43676 2 -0011597045 00000 n -0011597338 00000 n -43691 2 -0011597515 00000 n -0011597808 00000 n -43712 2 -0011597985 00000 n -0011598278 00000 n -43728 2 -0011598455 00000 n -0011598748 00000 n -43738 2 -0011598925 00000 n -0011599218 00000 n -43747 2 -0011599395 00000 n -0011599688 00000 n -43761 2 -0011599865 00000 n -0011600158 00000 n -43771 2 -0011600335 00000 n -0011600628 00000 n -43786 2 -0011600805 00000 n -0011601098 00000 n -43796 2 -0011601275 00000 n -0011601568 00000 n -43803 2 -0011601745 00000 n -0011602038 00000 n -43819 2 -0011602215 00000 n -0011602508 00000 n -43828 2 -0011602685 00000 n -0011602978 00000 n -43850 2 -0011603155 00000 n -0011603448 00000 n -43871 2 -0011603625 00000 n -0011603918 00000 n -43896 2 -0011604095 00000 n -0011604388 00000 n -43906 2 -0011604565 00000 n -0011604858 00000 n -43920 2 -0011605035 00000 n -0011605328 00000 n -43927 2 -0011605505 00000 n -0011605798 00000 n -43935 2 -0011605975 00000 n -0011606268 00000 n -43943 2 -0011606445 00000 n -0011606738 00000 n -43955 2 -0011606915 00000 n -0011607208 00000 n -43977 2 -0011607385 00000 n -0011607678 00000 n -43986 2 -0011607855 00000 n -0011608148 00000 n -43992 2 -0011608413 00000 n -0011608706 00000 n -43999 2 -0011608883 00000 n -0011609176 00000 n -44010 2 -0011609353 00000 n -0011609646 00000 n -44023 2 -0011609823 00000 n -0011610116 00000 n -44030 2 -0011610293 00000 n -0011610586 00000 n -44053 2 -0011610763 00000 n -0011611056 00000 n -44065 2 -0011611233 00000 n -0011611526 00000 n -44073 2 -0011611703 00000 n -0011611996 00000 n -44082 2 -0011612173 00000 n -0011612466 00000 n -44101 2 -0011612643 00000 n -0011612936 00000 n -44126 2 -0011613113 00000 n -0011613406 00000 n -44136 2 -0011613583 00000 n -0011613876 00000 n -44145 2 -0011614053 00000 n -0011614346 00000 n -44156 2 -0011614523 00000 n -0011614816 00000 n -44171 2 -0011614993 00000 n -0011615286 00000 n -44194 2 -0011615463 00000 n -0011615756 00000 n -44201 2 -0011615933 00000 n -0011616226 00000 n -44209 2 -0011616403 00000 n -0011616696 00000 n -44218 2 -0011616873 00000 n -0011617166 00000 n -44228 2 -0011617343 00000 n -0011617636 00000 n -44241 2 -0011617813 00000 n -0011618106 00000 n -44268 2 -0011618283 00000 n -0011618576 00000 n -44274 2 -0011618753 00000 n -0011619046 00000 n -44282 2 -0011619223 00000 n -0011619516 00000 n -44295 2 -0011619693 00000 n -0011619986 00000 n -44309 2 -0011620163 00000 n -0011620456 00000 n -44315 2 -0011620633 00000 n -0011620926 00000 n -44321 2 -0011621103 00000 n -0011621396 00000 n -44339 2 -0011621573 00000 n -0011621866 00000 n -44353 2 -0011622043 00000 n -0011622336 00000 n -44366 2 -0011622513 00000 n -0011622806 00000 n -44374 2 -0011622983 00000 n -0011623276 00000 n -44384 2 -0011623453 00000 n -0011623746 00000 n -44395 2 -0011623923 00000 n -0011624216 00000 n -44408 2 -0011624393 00000 n -0011624686 00000 n -44431 2 -0011624863 00000 n -0011625156 00000 n -44441 2 -0011625333 00000 n -0011625626 00000 n -44451 2 -0011625803 00000 n -0011626096 00000 n -44459 2 -0011626273 00000 n -0011626566 00000 n -44467 2 -0011626743 00000 n -0011627036 00000 n -44475 2 -0011627213 00000 n -0011627506 00000 n -44481 2 -0011627683 00000 n -0011627976 00000 n -44492 2 -0011628153 00000 n -0011628446 00000 n -44522 2 -0011628623 00000 n -0011628916 00000 n -44528 2 -0011629093 00000 n -0011629386 00000 n -44539 2 -0011629563 00000 n -0011629856 00000 n -44547 2 -0011630033 00000 n -0011630326 00000 n -44562 2 -0011630503 00000 n -0011630796 00000 n -44578 2 -0011630973 00000 n -0011631266 00000 n -44598 2 -0011631443 00000 n -0011631736 00000 n -44605 2 -0011631913 00000 n -0011632206 00000 n -44611 2 -0011632383 00000 n -0011632676 00000 n -44617 2 -0011632853 00000 n -0011633146 00000 n -44637 2 -0011633323 00000 n -0011633616 00000 n -44644 2 -0011633793 00000 n -0011634086 00000 n -44664 2 -0011634263 00000 n -0011634556 00000 n -44668 2 -0011634733 00000 n -0011635026 00000 n -44686 2 -0011635203 00000 n -0011635496 00000 n -44722 2 -0011635673 00000 n -0011635966 00000 n -44731 2 -0011636143 00000 n -0011636436 00000 n -44740 2 -0011636613 00000 n -0011636906 00000 n -44744 2 -0011637083 00000 n -0011637376 00000 n -44755 2 -0011637553 00000 n -0011637846 00000 n -44764 2 -0011638023 00000 n -0011638316 00000 n -44774 2 -0011638493 00000 n -0011638786 00000 n -44782 2 -0011638963 00000 n -0011639256 00000 n -44802 2 -0011639433 00000 n -0011639726 00000 n -44812 2 -0011639903 00000 n -0011640196 00000 n -44819 2 -0011640373 00000 n -0011640666 00000 n -44826 4 -0011640843 00000 n -0011641136 00000 n -0011641313 00000 n -0011641606 00000 n -44839 2 -0011641783 00000 n -0011642076 00000 n -44851 2 -0011642253 00000 n -0011642546 00000 n -44859 1 -0011642723 00000 n -46744 1067 -0011647233 00000 n -0011647370 00000 n -0011672159 00000 n -0011672202 00000 n -0011672245 00000 n -0011672347 00000 n -0011678233 00000 n -0011686919 00000 n -0011700931 00000 n -0011704616 00000 n -0011706446 00000 n -0011709815 00000 n -0011714562 00000 n -0011722982 00000 n -0011732520 00000 n -0011740403 00000 n -0011748503 00000 n -0011757530 00000 n -0011765199 00000 n -0011773597 00000 n -0011781878 00000 n -0011790260 00000 n -0011795571 00000 n -0011800545 00000 n -0011809027 00000 n -0011818106 00000 n -0011828020 00000 n -0011836958 00000 n -0011846422 00000 n -0011855772 00000 n -0011865228 00000 n -0011875902 00000 n -0011884893 00000 n -0011891766 00000 n -0011901573 00000 n -0011909982 00000 n -0011920091 00000 n -0011930105 00000 n -0011939899 00000 n -0011954958 00000 n -0011964978 00000 n -0011972436 00000 n -0011980429 00000 n -0011989694 00000 n -0011998709 00000 n -0012007859 00000 n -0012015615 00000 n -0012025529 00000 n -0012032955 00000 n -0012037236 00000 n -0012041990 00000 n -0012046678 00000 n -0012051699 00000 n -0012058221 00000 n -0012065907 00000 n -0012074916 00000 n -0012083812 00000 n -0012092796 00000 n -0012101521 00000 n -0012106224 00000 n -0012114332 00000 n -0012125211 00000 n -0012132662 00000 n -0012139977 00000 n -0012150495 00000 n -0012155191 00000 n -0012161273 00000 n -0012174574 00000 n -0012190968 00000 n -0012198817 00000 n -0012206085 00000 n -0012215157 00000 n -0012223699 00000 n -0012244662 00000 n -0012252731 00000 n -0012262829 00000 n -0012266985 00000 n -0012273188 00000 n -0012281039 00000 n -0012290643 00000 n -0012300607 00000 n -0012310516 00000 n -0012318374 00000 n -0012326284 00000 n -0012333101 00000 n -0012341073 00000 n -0012350634 00000 n -0012360954 00000 n -0012369749 00000 n -0012380528 00000 n -0012391228 00000 n -0012395819 00000 n -0012400798 00000 n -0012406837 00000 n -0012414456 00000 n -0012423634 00000 n -0012431664 00000 n -0012438513 00000 n -0012449032 00000 n -0012457589 00000 n -0012465076 00000 n -0012470928 00000 n -0012475861 00000 n -0012482899 00000 n -0012491234 00000 n -0012500034 00000 n -0012510012 00000 n -0012520381 00000 n -0012529636 00000 n -0012537976 00000 n -0012546473 00000 n -0012556586 00000 n -0012560827 00000 n -0012567523 00000 n -0012577522 00000 n -0012587460 00000 n -0012594707 00000 n -0012601822 00000 n -0012610430 00000 n -0012619476 00000 n -0012626418 00000 n -0012635470 00000 n -0012644122 00000 n -0012652082 00000 n -0012662453 00000 n -0012671904 00000 n -0012681167 00000 n -0012686250 00000 n -0012693507 00000 n -0012702349 00000 n -0012706330 00000 n -0012724027 00000 n -0012733981 00000 n -0012741291 00000 n -0012750768 00000 n -0012765710 00000 n -0012774702 00000 n -0012779014 00000 n -0012787115 00000 n -0012794272 00000 n -0012799753 00000 n -0012805834 00000 n -0012814376 00000 n -0012836585 00000 n -0012840697 00000 n -0012847891 00000 n -0012857333 00000 n -0012864714 00000 n -0012873811 00000 n -0012881665 00000 n -0012889440 00000 n -0012896571 00000 n -0012905478 00000 n -0012912848 00000 n -0012921902 00000 n -0012933294 00000 n -0012936425 00000 n -0012941336 00000 n -0012947952 00000 n -0012955200 00000 n -0012965267 00000 n -0012973674 00000 n -0012981546 00000 n -0012988590 00000 n -0012992401 00000 n -0012998488 00000 n -0013007151 00000 n -0013016107 00000 n -0013022028 00000 n -0013031620 00000 n -0013039435 00000 n -0013046687 00000 n -0013054755 00000 n -0013060776 00000 n -0013073630 00000 n -0013083484 00000 n -0013087575 00000 n -0013096817 00000 n -0013106721 00000 n -0013115969 00000 n -0013125810 00000 n -0013134519 00000 n -0013143459 00000 n -0013153153 00000 n -0013163042 00000 n -0013173135 00000 n -0013182522 00000 n -0013190180 00000 n -0013199392 00000 n -0013210282 00000 n -0013220239 00000 n -0013229975 00000 n -0013239221 00000 n -0013247755 00000 n -0013257387 00000 n -0013267140 00000 n -0013273623 00000 n -0013282835 00000 n -0013292578 00000 n -0013305138 00000 n -0013312783 00000 n -0013324060 00000 n -0013332843 00000 n -0013342660 00000 n -0013351692 00000 n -0013356604 00000 n -0013365475 00000 n -0013370335 00000 n -0013378559 00000 n -0013389255 00000 n -0013398551 00000 n -0013410277 00000 n -0013418371 00000 n -0013427296 00000 n -0013436475 00000 n -0013445137 00000 n -0013453245 00000 n -0013464253 00000 n -0013473960 00000 n -0013477720 00000 n -0013485317 00000 n -0013493172 00000 n -0013500067 00000 n -0013507966 00000 n -0013526608 00000 n -0013535755 00000 n -0013539761 00000 n -0013548088 00000 n -0013555993 00000 n -0013564470 00000 n -0013572843 00000 n -0013581424 00000 n -0013591187 00000 n -0013599670 00000 n -0013605998 00000 n -0013612934 00000 n -0013620949 00000 n -0013629552 00000 n -0013646429 00000 n -0013655270 00000 n -0013663871 00000 n -0013673506 00000 n -0013681998 00000 n -0013687151 00000 n -0013694917 00000 n -0013702985 00000 n -0013706370 00000 n -0013714471 00000 n -0013722443 00000 n -0013731926 00000 n -0013739771 00000 n -0013748914 00000 n -0013756354 00000 n -0013766843 00000 n -0013774693 00000 n -0013782369 00000 n -0013790370 00000 n -0013798145 00000 n -0013807435 00000 n -0013811795 00000 n -0013819824 00000 n -0013828904 00000 n -0013838154 00000 n -0013846615 00000 n -0013856076 00000 n -0013865126 00000 n -0013872640 00000 n -0013881502 00000 n -0013890346 00000 n -0013896123 00000 n -0013904079 00000 n -0013912195 00000 n -0013920480 00000 n -0013930622 00000 n -0013940303 00000 n -0013947499 00000 n -0013955968 00000 n -0013966658 00000 n -0013975217 00000 n -0013984627 00000 n -0013994898 00000 n -0014005003 00000 n -0014012340 00000 n -0014021480 00000 n -0014029063 00000 n -0014038490 00000 n -0014048953 00000 n -0014057747 00000 n -0014066338 00000 n -0014074889 00000 n -0014083276 00000 n -0014091507 00000 n -0014096253 00000 n -0014102267 00000 n -0014112017 00000 n -0014121467 00000 n -0014129251 00000 n -0014137915 00000 n -0014146713 00000 n -0014154650 00000 n -0014165130 00000 n -0014173832 00000 n -0014183851 00000 n -0014192549 00000 n -0014202356 00000 n -0014212022 00000 n -0014221916 00000 n -0014239989 00000 n -0014247935 00000 n -0014256943 00000 n -0014266004 00000 n -0014275409 00000 n -0014284459 00000 n -0014292624 00000 n -0014302708 00000 n -0014310706 00000 n -0014321040 00000 n -0014329387 00000 n -0014337515 00000 n -0014341791 00000 n -0014349989 00000 n -0014360025 00000 n -0014369988 00000 n -0014375708 00000 n -0014386227 00000 n -0014394725 00000 n -0014404162 00000 n -0014411960 00000 n -0014420930 00000 n -0014429372 00000 n -0014437577 00000 n -0014444280 00000 n -0014449248 00000 n -0014456746 00000 n -0014463699 00000 n -0014471592 00000 n -0014479580 00000 n -0014487025 00000 n -0014494827 00000 n -0014504333 00000 n -0014509669 00000 n -0014517219 00000 n -0014517465 00000 n -0014517567 00000 n -0014518230 00000 n -0014518332 00000 n -0014522424 00000 n -0014522526 00000 n -0014528187 00000 n -0014528289 00000 n -0014540027 00000 n -0014547094 00000 n -0014555203 00000 n -0014562928 00000 n -0014570209 00000 n -0014578289 00000 n -0014584209 00000 n -0014592058 00000 n -0014599886 00000 n -0014609498 00000 n -0014617085 00000 n -0014625525 00000 n -0014630840 00000 n -0014634959 00000 n -0014642305 00000 n -0014649743 00000 n -0014657137 00000 n -0014665016 00000 n -0014674280 00000 n -0014681030 00000 n -0014689294 00000 n -0014693923 00000 n -0014715341 00000 n -0014723625 00000 n -0014732826 00000 n -0014742826 00000 n -0014750841 00000 n -0014759604 00000 n -0014766927 00000 n -0014781412 00000 n -0014789525 00000 n -0014796871 00000 n -0014804190 00000 n -0014811924 00000 n -0014823386 00000 n -0014830140 00000 n -0014844431 00000 n -0014849304 00000 n -0014854035 00000 n -0014862987 00000 n -0014870754 00000 n -0014878528 00000 n -0014882927 00000 n -0014888801 00000 n -0014897072 00000 n -0014908969 00000 n -0014919721 00000 n -0014925274 00000 n -0014933534 00000 n -0014942749 00000 n -0014961955 00000 n -0014968091 00000 n -0014978762 00000 n -0014983768 00000 n -0014989367 00000 n -0014995843 00000 n -0015002978 00000 n -0015011533 00000 n -0015020119 00000 n -0015027147 00000 n -0015038907 00000 n -0015045517 00000 n -0015053942 00000 n -0015064285 00000 n -0015075174 00000 n -0015082796 00000 n -0015090352 00000 n -0015100944 00000 n -0015110045 00000 n -0015119404 00000 n -0015128602 00000 n -0015135878 00000 n -0015142376 00000 n -0015150715 00000 n -0015157138 00000 n -0015168548 00000 n -0015177146 00000 n -0015185594 00000 n -0015189049 00000 n -0015198396 00000 n -0015204415 00000 n -0015214169 00000 n -0015237951 00000 n -0015246094 00000 n -0015255492 00000 n -0015260120 00000 n -0015262424 00000 n -0015268591 00000 n -0015276077 00000 n -0015285069 00000 n -0015291770 00000 n -0015298952 00000 n -0015306089 00000 n -0015313674 00000 n -0015321374 00000 n -0015325775 00000 n -0015329610 00000 n -0015333901 00000 n -0015337392 00000 n -0015343757 00000 n -0015351708 00000 n -0015360822 00000 n -0015368666 00000 n -0015376259 00000 n -0015384891 00000 n -0015389225 00000 n -0015398801 00000 n -0015406418 00000 n -0015414208 00000 n -0015423684 00000 n -0015432404 00000 n -0015439202 00000 n -0015446442 00000 n -0015450826 00000 n -0015457835 00000 n -0015464625 00000 n -0015471395 00000 n -0015480496 00000 n -0015485271 00000 n -0015494642 00000 n -0015503509 00000 n -0015511117 00000 n -0015519242 00000 n -0015526198 00000 n -0015529548 00000 n -0015539761 00000 n -0015548344 00000 n -0015554107 00000 n -0015560755 00000 n -0015568318 00000 n -0015577191 00000 n -0015603550 00000 n -0015612756 00000 n -0015623449 00000 n -0015637166 00000 n -0015644192 00000 n -0015652186 00000 n -0015661664 00000 n -0015668694 00000 n -0015693967 00000 n -0015703814 00000 n -0015714020 00000 n -0015729842 00000 n -0015739697 00000 n -0015743110 00000 n -0015746291 00000 n -0015749860 00000 n -0015757036 00000 n -0015764011 00000 n -0015773439 00000 n -0015784291 00000 n -0015792958 00000 n -0015804104 00000 n -0015813382 00000 n -0015820463 00000 n -0015828276 00000 n -0015838182 00000 n -0015844668 00000 n -0015852665 00000 n -0015858189 00000 n -0015867396 00000 n -0015875800 00000 n -0015885298 00000 n -0015893526 00000 n -0015901077 00000 n -0015906840 00000 n -0015915475 00000 n -0015923464 00000 n -0015927608 00000 n -0015932682 00000 n -0015940565 00000 n -0015946454 00000 n -0015952390 00000 n -0015962155 00000 n -0015971435 00000 n -0015979410 00000 n -0015985936 00000 n -0015993252 00000 n -0016015982 00000 n -0016019410 00000 n -0016024264 00000 n -0016031620 00000 n -0016042881 00000 n -0016048029 00000 n -0016056519 00000 n -0016064713 00000 n -0016072951 00000 n -0016081164 00000 n -0016090669 00000 n -0016099843 00000 n -0016108479 00000 n -0016115687 00000 n -0016121258 00000 n -0016130501 00000 n -0016137850 00000 n -0016148339 00000 n -0016151637 00000 n -0016158663 00000 n -0016166630 00000 n -0016174797 00000 n -0016182911 00000 n -0016191111 00000 n -0016199842 00000 n -0016208215 00000 n -0016213651 00000 n -0016223161 00000 n -0016229117 00000 n -0016237692 00000 n -0016248081 00000 n -0016256132 00000 n -0016265875 00000 n -0016276914 00000 n -0016285772 00000 n -0016295757 00000 n -0016303402 00000 n -0016310485 00000 n -0016317569 00000 n -0016326689 00000 n -0016336106 00000 n -0016344504 00000 n -0016352347 00000 n -0016358666 00000 n -0016368482 00000 n -0016377013 00000 n -0016386074 00000 n -0016395722 00000 n -0016403994 00000 n -0016407446 00000 n -0016414972 00000 n -0016422514 00000 n -0016430570 00000 n -0016438104 00000 n -0016446137 00000 n -0016455098 00000 n -0016462344 00000 n -0016470144 00000 n -0016477650 00000 n -0016484169 00000 n -0016489504 00000 n -0016499161 00000 n -0016517282 00000 n -0016528013 00000 n -0016535218 00000 n -0016543261 00000 n -0016551714 00000 n -0016562568 00000 n -0016571526 00000 n -0016579942 00000 n -0016591773 00000 n -0016594002 00000 n -0016602834 00000 n -0016607890 00000 n -0016611900 00000 n -0016617627 00000 n -0016628067 00000 n -0016635486 00000 n -0016643802 00000 n -0016653026 00000 n -0016668822 00000 n -0016695011 00000 n -0016702020 00000 n -0016707097 00000 n -0016710423 00000 n -0016715583 00000 n -0016724106 00000 n -0016729319 00000 n -0016737671 00000 n -0016744853 00000 n -0016749502 00000 n -0016770713 00000 n -0016778829 00000 n -0016787313 00000 n -0016794985 00000 n -0016802235 00000 n -0016810776 00000 n -0016818900 00000 n -0016829288 00000 n -0016833678 00000 n -0016839586 00000 n -0016846703 00000 n -0016860390 00000 n -0016864198 00000 n -0016887156 00000 n -0016895991 00000 n -0016907620 00000 n -0016916102 00000 n -0016924186 00000 n -0016930614 00000 n -0016942075 00000 n -0016945575 00000 n -0016949704 00000 n -0016958046 00000 n -0016964230 00000 n -0016967652 00000 n -0016977050 00000 n -0016981306 00000 n -0016991288 00000 n -0016993496 00000 n -0016999372 00000 n -0017016728 00000 n -0017025871 00000 n -0017032487 00000 n -0017045382 00000 n -0017050734 00000 n -0017059550 00000 n -0017068359 00000 n -0017077834 00000 n -0017088671 00000 n -0017097409 00000 n -0017106184 00000 n -0017114189 00000 n -0017122784 00000 n -0017133909 00000 n -0017146429 00000 n -0017175493 00000 n -0017186023 00000 n -0017195039 00000 n -0017204628 00000 n -0017212157 00000 n -0017227883 00000 n -0017240685 00000 n -0017250295 00000 n -0017259168 00000 n -0017265975 00000 n -0017274650 00000 n -0017292217 00000 n -0017298682 00000 n -0017305351 00000 n -0017314382 00000 n -0017321539 00000 n -0017331167 00000 n -0017338117 00000 n -0017345730 00000 n -0017351688 00000 n -0017361877 00000 n -0017371142 00000 n -0017374211 00000 n -0017377314 00000 n -0017380456 00000 n -0017385444 00000 n -0017394014 00000 n -0017404373 00000 n -0017410853 00000 n -0017418505 00000 n -0017426205 00000 n -0017434393 00000 n -0017442120 00000 n -0017453127 00000 n -0017456727 00000 n -0017466612 00000 n -0017477441 00000 n -0017486355 00000 n -0017498426 00000 n -0017504915 00000 n -0017513443 00000 n -0017522465 00000 n -0017530188 00000 n -0017538829 00000 n -0017545831 00000 n -0017554736 00000 n -0017563297 00000 n -0017571436 00000 n -0017581030 00000 n -0017592506 00000 n -0017600001 00000 n -0017605557 00000 n -0017612738 00000 n -0017619734 00000 n -0017628047 00000 n -0017635137 00000 n -0017642936 00000 n -0017650638 00000 n -0017657952 00000 n -0017665429 00000 n -0017669329 00000 n -0017676157 00000 n -0017684055 00000 n -0017692586 00000 n -0017702120 00000 n -0017711161 00000 n -0017714703 00000 n -0017718155 00000 n -0017723662 00000 n -0017732051 00000 n -0017740958 00000 n -0017752143 00000 n -0017765312 00000 n -0017772808 00000 n -0017784249 00000 n -0017790770 00000 n -0017799383 00000 n -0017803874 00000 n -0017808545 00000 n -0017816087 00000 n -0017819204 00000 n -0017825662 00000 n -0017830765 00000 n -0017834218 00000 n -0017840537 00000 n -0017850758 00000 n -0017860078 00000 n -0017867509 00000 n -0017876724 00000 n -0017884824 00000 n -0017891893 00000 n -0017900548 00000 n -0017907719 00000 n -0017913585 00000 n -0017918873 00000 n -0017928158 00000 n -0017936023 00000 n -0017946737 00000 n -0017956467 00000 n -0017965693 00000 n -0017974702 00000 n -0017983937 00000 n -0017992506 00000 n -0017997903 00000 n -0018004204 00000 n -0018016382 00000 n -0018026961 00000 n -0018035618 00000 n -0018044377 00000 n -0018047296 00000 n -0018057037 00000 n -0018064097 00000 n -0018067551 00000 n -0018073047 00000 n -0018085730 00000 n -0018088752 00000 n -0018095001 00000 n -0018099318 00000 n -0018103809 00000 n -0018110064 00000 n -0018115045 00000 n -0018123648 00000 n -0018130434 00000 n -0018134675 00000 n -0018138835 00000 n -0018147019 00000 n -0018152336 00000 n -0018162810 00000 n -0018170316 00000 n -0018177418 00000 n -0018184343 00000 n -0018191133 00000 n -0018198032 00000 n -0018202268 00000 n -0018210707 00000 n -0018216746 00000 n -0018226412 00000 n -0018257646 00000 n -0018265818 00000 n -0018273525 00000 n -0018278280 00000 n -0018291073 00000 n -0018296339 00000 n -0018304912 00000 n -0018311161 00000 n -0018318656 00000 n -0018330036 00000 n -0018334624 00000 n -0018343768 00000 n -0018349686 00000 n -0018358463 00000 n -0018365201 00000 n -0018373843 00000 n -0018379264 00000 n -0018390688 00000 n -0018397651 00000 n -0018408761 00000 n -0018417125 00000 n -0018420900 00000 n -0018426921 00000 n -0018432321 00000 n -0018441227 00000 n -0018449753 00000 n -0018458491 00000 n -0018466766 00000 n -0018479097 00000 n -0018485132 00000 n -0018493427 00000 n -0018501693 00000 n -0018509782 00000 n -0018517307 00000 n -0018525156 00000 n -0018532080 00000 n -0018541115 00000 n -0018556740 00000 n -0018578815 00000 n -0018585986 00000 n -0018590006 00000 n -0018600779 00000 n -0018612694 00000 n -0018618512 00000 n -0018625044 00000 n -0018634473 00000 n -0018639565 00000 n -0018643925 00000 n -0018652461 00000 n -0018660533 00000 n -0018668393 00000 n -0018676884 00000 n -0018682560 00000 n -0018694633 00000 n -0018702607 00000 n -0018707617 00000 n -0018715558 00000 n -0018719013 00000 n -0018726245 00000 n -0018735429 00000 n -0018743713 00000 n -0018756026 00000 n -0018762945 00000 n -0018771345 00000 n -0018776287 00000 n -0018779538 00000 n -0018783800 00000 n -0018790139 00000 n -0018800474 00000 n -0018806598 00000 n -0018810780 00000 n -0018816332 00000 n -0018822361 00000 n -0018825536 00000 n -0018829652 00000 n -0018833730 00000 n -0018838996 00000 n -0018845433 00000 n -0018852149 00000 n -0018860148 00000 n -0018868199 00000 n -0018878326 00000 n -0018885598 00000 n -0018891338 00000 n -0018899015 00000 n -0018907007 00000 n -0018917933 00000 n -0018927784 00000 n -0018935570 00000 n -0018937967 00000 n -0018948279 00000 n -0018955858 00000 n -0018967842 00000 n -0018973363 00000 n -0018985554 00000 n -0018995247 00000 n -0019001605 00000 n -0019007297 00000 n -0019015161 00000 n -0019024337 00000 n -0019036163 00000 n -0019045082 00000 n -0019053318 00000 n -0019059750 00000 n -0019063917 00000 n -0019074564 00000 n -0019081495 00000 n -0019090811 00000 n -0019101801 00000 n -0019109008 00000 n -0019115444 00000 n -0019136274 00000 n -0019146686 00000 n -0019158247 00000 n -0019161296 00000 n -0019172991 00000 n -0019182187 00000 n -0019194111 00000 n -0019203857 00000 n -0019213027 00000 n -0019220294 00000 n -0019223574 00000 n -0019236028 00000 n -0019246754 00000 n -0019258609 00000 n -0019267245 00000 n -0019272162 00000 n -0019279169 00000 n -0019290427 00000 n -0019300592 00000 n -0019311086 00000 n -0019318326 00000 n -0019324457 00000 n -0019336154 00000 n -0019346048 00000 n -0019349136 00000 n -0019367953 00000 n -0019371997 00000 n -0019384663 00000 n -0019388007 00000 n -0019396455 00000 n -0019414040 00000 n -0019425562 00000 n -0019437374 00000 n -0019445567 00000 n -0019459115 00000 n -0019478000 00000 n -0019486502 00000 n -0019500053 00000 n -0019512751 00000 n -0019520839 00000 n -0019524343 00000 n -0019535599 00000 n -0019543719 00000 n -0019554256 00000 n -0019562124 00000 n -0019573366 00000 n -0019584657 00000 n -0019594907 00000 n -0019618787 00000 n -0019625307 00000 n -0019629937 00000 n -0019641547 00000 n -0019647298 00000 n -0019647556 00000 n -0019647608 00000 n -0019647866 00000 n -0019647918 00000 n -0019655280 00000 n -0019655538 00000 n -0019655590 00000 n -0019661573 00000 n -0019667042 00000 n -0019672721 00000 n -0019678182 00000 n -0019682829 00000 n -0019688450 00000 n -0019694214 00000 n -0019699700 00000 n -0019705887 00000 n -0019711944 00000 n -0019717010 00000 n -0019723884 00000 n -0019729592 00000 n -0019735111 00000 n -0019741735 00000 n -0019747801 00000 n -0019753062 00000 n -0019757821 00000 n -0019762578 00000 n -0019767716 00000 n -0019772782 00000 n -0019777689 00000 n -0019782535 00000 n -0019787438 00000 n -0019792378 00000 n -0019798225 00000 n -0019804068 00000 n -0019810465 00000 n -0019816415 00000 n -0019822298 00000 n -0019828311 00000 n -0019832817 00000 n -0019838050 00000 n -0019842654 00000 n -0019847965 00000 n -0019853414 00000 n -0019859380 00000 n -0019865120 00000 n -0019870857 00000 n -0019876878 00000 n -0019882251 00000 n -0019887845 00000 n -0019893068 00000 n -0019898903 00000 n -0019904229 00000 n -0019904487 00000 n -0019904539 00000 n -0019911640 00000 n -0019919393 00000 n -0019928956 00000 n -0019929214 00000 n -0019929266 00000 n -0019945648 00000 n -0019945906 00000 n -0019945958 00000 n -0019959154 00000 n -0019959412 00000 n -0019959464 00000 n -0019966515 00000 n -0019966773 00000 n -0019966825 00000 n -0019971207 00000 n -0019971465 00000 n -0019971517 00000 n -0019980001 00000 n -0019980259 00000 n -0019980311 00000 n -0019984052 00000 n -0019984310 00000 n -0019984362 00000 n -0019984620 00000 n -0019984672 00000 n -0020102273 00000 n -0020102373 00000 n -0020222709 00000 n -0020222773 00000 n -0020304043 00000 n -0020304143 00000 n -0020319534 00000 n -0020319634 00000 n -0020319892 00000 n -0020319944 00000 n -0020320202 00000 n -0020320254 00000 n -0020334673 00000 n -0020334775 00000 n -0020391537 00000 n -0020391639 00000 n -0020444053 00000 n -0020444155 00000 n -0020497115 00000 n -0020497217 00000 n -0020497327 00000 n -0020497423 00000 n -0020497503 00000 n -trailer -<<0EEBBF85F5CD354683ADEF1C164DAC84>]/Prev 9705593>> -startxref -20498698 -%%EOF -44859 0 obj <>stream - - - - - http://www.codemantra.com - The process that creates this PDF constitutes a trade secret of codeMantra, LLC and is protected by the copyright laws of the United States - - - 2013-09-01T19:12:37+08:00 - 2013-05-09T16:42:06 - 2013-09-01T19:12:37+08:00 - Quite Imposing 1.5d (EN) - - - uuid:69ad153e-9415-42af-89e9-e564eb821cb6 - uuid:b16fb4b7-b8e6-4fc0-af71-43ef4720fe30 - - - application/pdf - - - Advanced Programming in the UNIX® Environment - - - - - W. Richard Stevens - Stephen A. Rago - - - - - - - - - - 623923 - - - - - PDFKit.NET 4.0.12.0 - 623923 - 1.6 - - - - - - - - - - - - - - - - - - - - - - - - - -endstream endobj 47811 0 obj <> endobj xref -0 1 -0000000000 65535 f -44859 1 -0020594012 00000 n -47811 1 -0020598603 00000 n -trailer -<]/Prev 20498698>> -startxref -20599083 -%%EOF diff --git a/cmake-build-debug/CMakeFiles/clion-Debug-log.txt b/cmake-build-debug/CMakeFiles/clion-Debug-log.txt deleted file mode 100644 index a6136ef..0000000 --- a/cmake-build-debug/CMakeFiles/clion-Debug-log.txt +++ /dev/null @@ -1 +0,0 @@ -CMakeLists.txt not found in /home/nasr/unixshell Select CMakeLists.txt -- cgit v1.2.3-70-g09d2

ܧsososos3}FͼSimMk'n{V[ݲ?l;(a dnx>g1W=999АjpmޞdE PquO_oP2֦e޾O2F6o7*0Sv#Hq-539XqK<\Só7šh|XWrzB>qבnݫ8[:80pnQr `e 8oA?0Ac0Σ,iendstream -endobj - -21001 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21002 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21003 0 obj -<> -endobj - -21004 0 obj -<> -endobj - -21005 0 obj -<> -stream -H4]HQ]u\Rه_}Gnm[P0::3nVjPÊ >X=dЃT$BoCYQ9s9*؃8 ^olK<ըZ_;{ pvFm/Eh&R *[R/k]&)> c_nbh}9koavs+֗ :Tz, [yɢW-HZfq˻+ݶ`*gVBl߸O%>endstream -endobj - -21006 0 obj -<> -endobj - -21007 0 obj -<> -stream -H\TkTWaųHӸpЀ|E"*|qF 8%K6D`ԬkĨh\(A b6YW\W ׽9t3~﫺4夢hv3n)f6'߲%)QѲ;w9>x>Gx:'R*>t*ʒk5IΖJAS&(1t0NQ┉qpgJ`"E&Y&).7+۔%]hfXlSxILK)Y"Sj#'$m5$ TɲZ1dfɟҤْamU2u,s`5#EE )/QQ**&T -(ަ**NMPh"*:C4@W}Z5YIի^R׫{"9xj*4/&9<`MV[t Ր<jSZxtf|jNW9!y9ea`$558w#p!P툐|SuA7,b< gBr !.E"RI - f;0XaLˣC8"2"`>G#?P(77Er0Nhn *aŕq_APÛ ICՆkX -1?S_YDCB3t nAP.)r_ȳGDn}EOg^j}\Nz8@l 7@0ԡdojh&2h㋈wI^%RpGʡ+ A3HjO'j0]% إSz\HkA@ym_~mǠzq۱f^.`aY̲pdNC@ -baL0uildO"W2E{xGj͂=7=.&hbŲ=3E2$I&O(dM8*.AF%T?vQ5;ʿhm>#g -iz -q W712aHؙ{^njqPW x5B!Qr>Уq^艹Fzg2bH@:3ɰg>A^M~g%Q 7$`.0]y|\5<|$/tBg2P<ݠg>N"r |S,cc߼*`'syQ,wr {Ym/xsayXh%`(}|`x.o͚=ڞamUL/7p$Ts"F n4'pOKt╬ic=I{?eqi/_yh6 -՝tMg3'Mv(\c/՝zPT;UVN 4_&Ʀ5b35ulxdnk|a٥XzCy*#߃d!d=X@@BR۫~&6PU-%L]!u)`?sO+ -b7o.ެ{#5~Z?BtW aJimwO{% [/{'G&rID2i0tݠ&7a)ޝۣ}ke-pAi9#LD]fVM >gjjk~pӦͺEǾI/% SULX&;Y}r/})0\NE.mNX?C@9a.nJ+@5O NΕy8sq}WJ䧶(@y endstream -endobj - -21008 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -21009 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -21010 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21011 0 obj -<> -stream -HWkoܶ_2Ku.nZA Aer6N9vaxEՇN:ZEcd`46qz'j>x#tf.>23,3j}ڜg}G׸;.|(]0I>b''t3e*nR|$s#x -!̘)-L04*2ǘc< Oem -m<`}A/ }YNַ"Aַ!*dEַ!*dm"TET+6D -B Pj}jZ߆(}ZAַPoC>P TET+6@m"j}jZ߶$Z߆oZ߆oCT޷PoC>P$TET+ 6@m"j}j%Z(B Q@PoC>P$TEַ!`Vm"j}.Rj}B Pj}B Q!{(B Q@PoC>P"TEַ!`Vm"Uj}6D*B Q@PoZ߆(}ZEַ!`VmHm -6@m -6D 3ƨ8Ys՚-b#vxpaXg׻(y8ߪk2 q7 1/ꡲ)d[oIN۪i.Kn@CSoʮn_GZHAe#K`I'YT1.7c@K+aOg+.ɊlŸO,_\k3,MŬg8smzFi8ӹ\Zy{$M6MYO}.ymKm7֩GJ~>(fL09'Mu:Y}hnPaKaybX6yT9YB~詔>90ǪfUbfr ]Nayw1V2ΐz-ŋH$m6&˥ -`x)f@C~'@KjXm(\¼pp 8XN _t]oՁ4s%b/6jH}8= ^j-=9)ʡc1 t.59xΥaPԺ.!`T·ӥbDkWafc0Yg -΄g8KeK{PW+3NT -LanvӸWlm6xW~@hj]xܴIT{m]*C|_-GlGkw۲s͇:`88-*-jb af+-agEΧ^a7nkHjNzaJ}J@O?yT=}[$K*TLjٞw'J~EAgу - +0Y fA!>GQ( K p7˲X׉H4J/fwpu31&+x F"0](D d>CQ^>CJ_Mj1y9[.KԸwC8\R9*kY۔C%ì\ѻ/b^HKC{y.Y}=jD.]=B_R'%FIjg3΍;FLYl/zLN.(md2_)Ks4:%hYr -vSZ%Nۦ [.G74MU8.XƳ;twoesF0l)hڠ8|abv9J2e@S;ai6lj\rfrͺ]Nw fXs`dV|h0׋_N-ŸSdv}2CXy^Exr]70mpI)o1,ӯǩvPd=:sr@ٺݽAҲ] !~ -%O.ư{[V׫g)XzD3gZzā}~{z;("e&H C3Cg_P L\W#)I>$)>1731w2JAgV&9f/`f~Z:YRXS>\Բ .<{zhs#{fR.IZǭ64x[77@xX~Gd/PC}^Вr_-,9"1i~ -?f;xzsXynZm$j!Tnv>GεsZKz`E*s) GNww{ZCsb.<2YiA rBu1 ;7\N 4718ye"U!֙+֘a%okkmg$l|>bªvaKQh?2owjSl(򒰘 X9񴭖sLqaJ ОI -- 3/M6*Jˆ@@Tk,+ֿxCݛp$p> = -% Qnh`|hD9"I \ݥoL4 -ϭ:_5wszJ"ι -9װkf*S"2$ՖZ AߔұGX -RQ0@ToWOZ+n?x Ml~Ib= 2Ӧ= j[;iUV1a20J4Kfhs!yܰ6ߍ!=l"No\z , -6 916ЭX\rv_$C$rc%\872W^085;F dN@Je]V?bR -䏝ОIÄPZ*27$\Hq`KmLY0&lu-0u"dd ] (H^|\1STڋrұ5wbZh¨r5yrnR0Rk#YȖs"o)yw^~/R![FMZj[e5-[+*ۙXWf WWBx.9endstream -endobj - -21012 0 obj -<>/P 833 0 R/Type/Annot/A 21013 0 R/Subtype/Link/Rect[93.5997009 603.229004 302.627991 622.908997]/Border[0 0 0]/H/N>> -endobj - -21013 0 obj -<> -endobj - -21014 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21015 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21016 0 obj -<> -endobj - -21017 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -21018 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -21019 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21020 0 obj -<> -stream -HWko6_ ŗ٢@6Evg Pfd[FizKR!]3\^^:?\q㛟FbP.$DgicEi񸉣?۾O͡O.>57"~7z?AҸK3"ލMś+D2n>m?d˲bkڑoS=>#/<]Jr~~F)0}wѯd"~y|OiRfLh(-{h> 9 H>p8!Ð PKE^E^e^e^e^U^U^u^u^u>#gPsB} y>'P_ B}/ e$i} µ>Pp!+Tc -kZC>p \c"\c"k} Ypp!PV1d -µ>,µ>,B}ZAǐE\+!k} YzZCVǐ1`1dJµ>,B}ZIǀEǐE\+ k%ZZC>p$\c"k} Xk} Yp!PVCB>,µ>P!+Tc"\c"Uk} Ypp!PV1d*µ>,µ>,B}ZEǐE\kZC>p"\cH1d} Xk} YzCVdeY8F[Y6uPM9p"T-==19XBNq޿r53G,UXƦs9Kv7U -&y1Mסi7ۯ{ qHE 7r1K Ntzl0 m"^258V͒z璗33S9pNWufN+6U2TGEEƉ>TWeW`Y$G7֍_ZVoJ.vGCvZZ`\Omz.9zנw1D| p ;JKSZe5ĉu'v -?pn>6<ǺMt(/Mf؝ Nlrg˼Bp*Hr(`aBфZ(-yv8`W97m鼱΃I6T|kӐPܜv.c-+ErE. Ø3鯙,`p1 ə ޮ9F]Y%0/l:.J=70]m( HՃYh(…z~ۯ da\?P.:CiKZX=c`ӝ}(=UσEiiE& Ky$[lH' bY."+!ѳpC۸}?w18idmBZ)C%{ - }U"[?zTNG{Rgzݓ\j;zkI>KZz)/JzaVz$%<'o㷻*O&{'Bb="4xEa5ۮm&S^ؗVXڭuy 3QGӱ]aի9 KZv..ov2??lO۲buS9pv٠%X@ -[b8CW$)|=!1tAz] ]"|]/k(.Q;[cs/Z Tޡ;JگKDZ補)1.PF@QXW(oðB>ص!.Ǵ>){Υ!q,^*r/PU} TCUrߣ}KTZ{_} }jޅEL}C17s/Q̽@U%o(^b;T\zKs/Pi=sP̽D1 ^] z*A@+VlN0Em1欪*bsIsNesp|LiKD!-umd4B8,!fD*zjK&3=^ebB`fPڿÈWQVYUFUi,Pވnykçw~u\^zzG<.w5O -+^WU$ee($z%hcۤ@ ίEޖF֒oFvp&[=ϵP9Qz'AV;v(1kKsUw-F|"xF-C!PEt"$U[@ѡj"zT\z_[D-B"U[@1{oqיb%o(^{KsP̽D1 w(^{澡{bXܣ-3 KsP̽D1U(澡{bPq=s/Q̽@}C17s/PoJ# ;JidbRC' ̍4F0J#3 Q6i,LB:id 7K#!0脑A,!`,UadlBaFyXq`M# #;?a4HEiDXt$?;atqBbzs|>5Et_i2C :ee!h׽@X$We c*rec^c^ec" mNk'm9CL1"[B 7mѫ!ds\mC& -` -9[Hk c {cL PqDΕJeTz|/ NoR69(F:l%m9Ŷƒ֫ac9b2 $#RMRi4EpPI;DSy$nctt*r`&EE(21~ REeq0 92Ygh9y89t/2:.Pr.3EOS QoLWxx6̧< oӡ>2P ibqۤ~z\xyϲB~Lϧ aw^[?K4g6ՆӿHf_31(`j1ٌ*\P;4;DMwbwjavMvȭn#MB ^r#f~} dKp6\8qJ $Z ے -prxOPYwKtM&/iYaˀVr5nQBD&*A).[kZo?ߧb-8i:}vͿϏyӌ2]M|94ۇ9PϛĕA8rb"}yS=<۹b,: 'bs=m XEendstream -endobj - -21021 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21022 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21023 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -21024 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -21025 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21026 0 obj -<> -stream -HWmo7e@Y( -$Ns[džs@ֱRJk7_Ւ򒳫R0z8p8pxz56N/J۳ςɒ9\eE91ZmUB% FV8:,CD#MmOmBT<*g<*g6y>S-GT< -a#MmBT< -a#MmTզ6@!MmTզ6BgjSզ6BgjSG!3rD.Q9(Dͣrͣr PjSG!3 -Dͣj(DͣjQLQmjQLQmj(}Z6 -Qmj(}Z6y>S@TB"MmOmBT<*g<*g6y>SDT< -aV"MmBT< -aV"MmT+զ6@!MmT+զ6BgjSզ6BgjSG!3JD.Q9(DͣrͣrtIBߋ.ͬ8advWj D0d[͗mWMu2hQ$pJ#+iG9l*n"珉cZ*2[DRX⒩ h#rGwgyӺtʙ]g"bn'dmtwjIO/'Rbhv3~Gޘpc<4Tkz0N>wqXJ!'[^ܷ7j&uW:+[Rk^vXkたEG習妞dYQ56{ m>U\mWdW[׫?㼟>JFcfU֟bS?ηf=%SS}  k%eWM8 + -ܿ"f΃YnҦ;yQ )9yՁiV)u@*B -(!0W$[X0QV;j_?g@;a-vCFs6rb,ҪԄM A:3TrsՏ]@ׂrhd]\ލ,,!lAꒉc.ӑ'_1r:CP", %Loq四ѓv6/~~DS(OLE Dv\q>V\/a*1=.Fm`t:iB0T < v^؊x -]7nA:b2 6n'vhnl`:Sk@VLb 9%BsiSDvvvqzJldhy un3\OUw }O!awsී.1%:L Dn4!y磋'M^. ~z{:_ny -;Ͷ, Tnh6y@ϘPh2/@ruk /p"s"$c7>xWB&څ߫ -#ɠLEmȔNӗȔIK-uNfZT۽Jh?|s.)ܰ09%eJk˳MU+dNnJ~*3/蟆.tF3JniDn&!]#Эﶽ!ݍ|HsbGjGA~{H}N;Ӫwwh]*wq1CBvfܕ N%G&BP?:t[v&Eˁ51__N\0g"s }3|3 }G9/ڢ?Ufگ/sP_>hF8oB7mM`,&g _8M.bGR]]Cj0^;]{}qC)> U DJ#DJQ$8 \KG_WiVW-P4h` NY4x67,>]DZr`'!;d&q'Щf ӘfHHwч.p&-沋a /CP]02Y T;]&!8ݶ 8/@Qp@⤱̓A[MĒ r|}gIRK5/s3gx4o:A -9?7oޟ~d 6YR!,FrM"8ǎr~n6!s|_5qjG'!y#dChr#PiLB=B)s(d5 Az )/Xv |YbPtVJB*,uh;s|r !5J(O!@jH6[Tk4fHwʻM.qE!w3=='fK"rBf$BNz.6֫elSd;q3C0Q -#05H3z,ҦA8j>`-oZCB^#@\;$LC^fP0y1ݮ-ʿ /QዙC9,1Q*׃6GzR7SFp 恭V7CE[ `@dǭ&_ۀpE}Qba^om -†t' EQĮ|-|bX$ zo@iݘx{оIa /[AT$%.vݖ&x;Jpܶ°*K6`UEUؔmiT^lg"?o @[`VF0U$ :1m bS(2_f‹Mr%;//E1ˬnXLR^DZRm M̀PqwzpJ#&tgkjDzQpv`؎pFX_66#t@li˅WGEty)+;m'=DA!k -%Ossmah%~&ۘdsBk|3 Cۮn_ݭ5O|\ 2ZX $eX4 "W'ãE(.PJB"=ˆ9ߔ)9tuWwìB鑶ÌTB#P-TܸbwnB,X`Z6W3} _X4ztiZh"}-Uky#i($Nmdžbl8|9R '(=U -vO?  VM بX/boy'^VpL0- 56qevJ)ջ_էQR,sסku -DxyS߸R:;i{@ r .Ti/:}qcf.cHMίߟ't7endstream -endobj - -21027 0 obj -<>/P 12598 0 R/Type/Annot/A 42847 0 R/Subtype/Link/Rect[243 670 255 677]/Border[0 0 0]/H/N>> -endobj - -21028 0 obj -<>/P 12598 0 R/Type/Annot/A 21256 0 R/Subtype/Link/Rect[276 660 288 667]/Border[0 0 0]/H/N>> -endobj - -21029 0 obj -<>/P 12598 0 R/Type/Annot/A 21253 0 R/Subtype/Link/Rect[228 650 240 657]/Border[0 0 0]/H/N>> -endobj - -21030 0 obj -<>/P 12598 0 R/Type/Annot/A 21251 0 R/Subtype/Link/Rect[249 640 262 648]/Border[0 0 0]/H/N>> -endobj - -21031 0 obj -<>/P 12598 0 R/Type/Annot/A 42689 0 R/Subtype/Link/Rect[262 640 270 647]/Border[0 0 0]/H/N>> -endobj - -21032 0 obj -<>/P 12598 0 R/Type/Annot/A 42659 0 R/Subtype/Link/Rect[224 630 236 637]/Border[0 0 0]/H/N>> -endobj - -21033 0 obj -<>/P 12598 0 R/Type/Annot/A 42609 0 R/Subtype/Link/Rect[262 620 274 627]/Border[0 0 0]/H/N>> -endobj - -21034 0 obj -<>/P 12598 0 R/Type/Annot/A 21245 0 R/Subtype/Link/Rect[229 610 241 617]/Border[0 0 0]/H/N>> -endobj - -21035 0 obj -<>/P 12598 0 R/Type/Annot/A 42551 0 R/Subtype/Link/Rect[197 600 209 607]/Border[0 0 0]/H/N>> -endobj - -21036 0 obj -<>/P 12598 0 R/Type/Annot/A 42512 0 R/Subtype/Link/Rect[213 590 227 597]/Border[0 0 0]/H/N>> -endobj - -21037 0 obj -<>/P 12598 0 R/Type/Annot/A 21239 0 R/Subtype/Link/Rect[229 590 241 597]/Border[0 0 0]/H/N>> -endobj - -21038 0 obj -<>/P 12598 0 R/Type/Annot/A 21237 0 R/Subtype/Link/Rect[216 580 233 588]/Border[0 0 0]/H/N>> -endobj - -21039 0 obj -<>/P 12598 0 R/Type/Annot/A 42381 0 R/Subtype/Link/Rect[234 580 247 587]/Border[0 0 0]/H/N>> -endobj - -21040 0 obj -<>/P 12598 0 R/Type/Annot/A 21233 0 R/Subtype/Link/Rect[249 580 263 587]/Border[0 0 0]/H/N>> -endobj - -21041 0 obj -<>/P 12598 0 R/Type/Annot/A 42324 0 R/Subtype/Link/Rect[265 580 279 587]/Border[0 0 0]/H/N>> -endobj - -21042 0 obj -<>/P 12598 0 R/Type/Annot/A 21229 0 R/Subtype/Link/Rect[281 580 293 587]/Border[0 0 0]/H/N>> -endobj - -21043 0 obj -<>/P 12598 0 R/Type/Annot/A 42236 0 R/Subtype/Link/Rect[202 570 214 577]/Border[0 0 0]/H/N>> -endobj - -21044 0 obj -<>/P 12598 0 R/Type/Annot/A 42197 0 R/Subtype/Link/Rect[216 560 228 567]/Border[0 0 0]/H/N>> -endobj - -21045 0 obj -<>/P 12598 0 R/Type/Annot/A 21284 0 R/Subtype/Link/Rect[211 550 228 558]/Border[0 0 0]/H/N>> -endobj - -21046 0 obj -<>/P 12598 0 R/Type/Annot/A 42097 0 R/Subtype/Link/Rect[229 550 243 557]/Border[0 0 0]/H/N>> -endobj - -21047 0 obj -<>/P 12598 0 R/Type/Annot/A 42064 0 R/Subtype/Link/Rect[245 550 261 558]/Border[0 0 0]/H/N>> -endobj - -21048 0 obj -<>/P 12598 0 R/Type/Annot/A 43367 0 R/Subtype/Link/Rect[262 550 274 557]/Border[0 0 0]/H/N>> -endobj - -21049 0 obj -<>/P 12598 0 R/Type/Annot/A 41976 0 R/Subtype/Link/Rect[202 540 214 547]/Border[0 0 0]/H/N>> -endobj - -21050 0 obj -<>/P 12598 0 R/Type/Annot/A 21276 0 R/Subtype/Link/Rect[216 530 228 537]/Border[0 0 0]/H/N>> -endobj - -21051 0 obj -<>/P 12598 0 R/Type/Annot/A 41905 0 R/Subtype/Link/Rect[216 520 230 527]/Border[0 0 0]/H/N>> -endobj - -21052 0 obj -<>/P 12598 0 R/Type/Annot/A 21272 0 R/Subtype/Link/Rect[232 520 246 527]/Border[0 0 0]/H/N>> -endobj - -21053 0 obj -<>/P 12598 0 R/Type/Annot/A 21269 0 R/Subtype/Link/Rect[248 520 262 527]/Border[0 0 0]/H/N>> -endobj - -21054 0 obj -<>/P 12598 0 R/Type/Annot/A 41745 0 R/Subtype/Link/Rect[264 520 276 527]/Border[0 0 0]/H/N>> -endobj - -21055 0 obj -<>/P 12598 0 R/Type/Annot/A 41707 0 R/Subtype/Link/Rect[184 510 196 517]/Border[0 0 0]/H/N>> -endobj - -21056 0 obj -<>/P 12598 0 R/Type/Annot/A 41661 0 R/Subtype/Link/Rect[180 500 194 507]/Border[0 0 0]/H/N>> -endobj - -21057 0 obj -<>/P 12598 0 R/Type/Annot/A 41619 0 R/Subtype/Link/Rect[196 500 210 507]/Border[0 0 0]/H/N>> -endobj - -21058 0 obj -<>/P 12598 0 R/Type/Annot/A 41574 0 R/Subtype/Link/Rect[212 500 226 507]/Border[0 0 0]/H/N>> -endobj - -21059 0 obj -<>/P 12598 0 R/Type/Annot/A 21259 0 R/Subtype/Link/Rect[228 500 240 507]/Border[0 0 0]/H/N>> -endobj - -21060 0 obj -<>/P 12598 0 R/Type/Annot/A 21257 0 R/Subtype/Link/Rect[243 490 255 497]/Border[0 0 0]/H/N>> -endobj - -21061 0 obj -<>/P 12598 0 R/Type/Annot/A 41460 0 R/Subtype/Link/Rect[202 480 218 488]/Border[0 0 0]/H/N>> -endobj - -21062 0 obj -<>/P 12598 0 R/Type/Annot/A 41426 0 R/Subtype/Link/Rect[219 480 233 487]/Border[0 0 0]/H/N>> -endobj - -21063 0 obj -<>/P 12598 0 R/Type/Annot/A 41406 0 R/Subtype/Link/Rect[235 480 249 487]/Border[0 0 0]/H/N>> -endobj - -21064 0 obj -<>/P 12598 0 R/Type/Annot/A 41338 0 R/Subtype/Link/Rect[251 480 263 487]/Border[0 0 0]/H/N>> -endobj - -21065 0 obj -<>/P 12598 0 R/Type/Annot/A 21247 0 R/Subtype/Link/Rect[189 470 201 477]/Border[0 0 0]/H/N>> -endobj - -21066 0 obj -<>/P 12598 0 R/Type/Annot/A 41275 0 R/Subtype/Link/Rect[202 460 212 467]/Border[0 0 0]/H/N>> -endobj - -21067 0 obj -<>/P 12598 0 R/Type/Annot/A 41238 0 R/Subtype/Link/Rect[214 460 226 467]/Border[0 0 0]/H/N>> -endobj - -21068 0 obj -<>/P 12598 0 R/Type/Annot/A 41196 0 R/Subtype/Link/Rect[197 450 207 457]/Border[0 0 0]/H/N>> -endobj - -21069 0 obj -<>/P 12598 0 R/Type/Annot/A 41169 0 R/Subtype/Link/Rect[209 450 226 458]/Border[0 0 0]/H/N>> -endobj - -21070 0 obj -<>/P 12598 0 R/Type/Annot/A 41149 0 R/Subtype/Link/Rect[226 450 240 457]/Border[0 0 0]/H/N>> -endobj - -21071 0 obj -<>/P 12598 0 R/Type/Annot/A 41119 0 R/Subtype/Link/Rect[242 450 254 457]/Border[0 0 0]/H/N>> -endobj - -21072 0 obj -<>/P 12598 0 R/Type/Annot/A 41075 0 R/Subtype/Link/Rect[189 440 201 447]/Border[0 0 0]/H/N>> -endobj - -21073 0 obj -<>/P 12598 0 R/Type/Annot/A 40756 0 R/Subtype/Link/Rect[185 430 201 438]/Border[0 0 0]/H/N>> -endobj - -21074 0 obj -<>/P 12598 0 R/Type/Annot/A 40726 0 R/Subtype/Link/Rect[202 430 214 437]/Border[0 0 0]/H/N>> -endobj - -21075 0 obj -<>/P 12598 0 R/Type/Annot/A 40687 0 R/Subtype/Link/Rect[193 420 203 427]/Border[0 0 0]/H/N>> -endobj - -21076 0 obj -<>/P 12598 0 R/Type/Annot/A 40130 0 R/Subtype/Link/Rect[205 420 219 427]/Border[0 0 0]/H/N>> -endobj - -21077 0 obj -<>/P 12598 0 R/Type/Annot/A 40097 0 R/Subtype/Link/Rect[221 420 233 427]/Border[0 0 0]/H/N>> -endobj - -21078 0 obj -<>/P 12598 0 R/Type/Annot/A 39563 0 R/Subtype/Link/Rect[177 410 185 417]/Border[0 0 0]/H/N>> -endobj - -21079 0 obj -<>/P 12598 0 R/Type/Annot/A 39511 0 R/Subtype/Link/Rect[197 400 211 407]/Border[0 0 0]/H/N>> -endobj - -21080 0 obj -<>/P 12598 0 R/Type/Annot/A 37605 0 R/Subtype/Link/Rect[213 400 225 407]/Border[0 0 0]/H/N>> -endobj - -21081 0 obj -<>/P 12598 0 R/Type/Annot/A 38940 0 R/Subtype/Link/Rect[193 390 205 397]/Border[0 0 0]/H/N>> -endobj - -21082 0 obj -<>/P 12598 0 R/Type/Annot/A 38413 0 R/Subtype/Link/Rect[204 380 216 387]/Border[0 0 0]/H/N>> -endobj - -21083 0 obj -<>/P 12598 0 R/Type/Annot/A 21271 0 R/Subtype/Link/Rect[213 370 225 377]/Border[0 0 0]/H/N>> -endobj - -21084 0 obj -<>/P 12598 0 R/Type/Annot/A 38331 0 R/Subtype/Link/Rect[216 360 228 367]/Border[0 0 0]/H/N>> -endobj - -21085 0 obj -<>/P 12598 0 R/Type/Annot/A 38298 0 R/Subtype/Link/Rect[216 350 228 357]/Border[0 0 0]/H/N>> -endobj - -21086 0 obj -<>/P 12598 0 R/Type/Annot/A 38258 0 R/Subtype/Link/Rect[192 340 206 347]/Border[0 0 0]/H/N>> -endobj - -21087 0 obj -<>/P 12598 0 R/Type/Annot/A 38234 0 R/Subtype/Link/Rect[208 340 225 348]/Border[0 0 0]/H/N>> -endobj - -21088 0 obj -<>/P 12598 0 R/Type/Annot/A 38226 0 R/Subtype/Link/Rect[225 340 239 347]/Border[0 0 0]/H/N>> -endobj - -21089 0 obj -<>/P 12598 0 R/Type/Annot/A 38211 0 R/Subtype/Link/Rect[241 340 255 347]/Border[0 0 0]/H/N>> -endobj - -21090 0 obj -<>/P 12598 0 R/Type/Annot/A 36696 0 R/Subtype/Link/Rect[257 340 274 348]/Border[0 0 0]/H/N>> -endobj - -21091 0 obj -<>/P 12598 0 R/Type/Annot/A 21255 0 R/Subtype/Link/Rect[275 340 287 347]/Border[0 0 0]/H/N>> -endobj - -21092 0 obj -<>/P 12598 0 R/Type/Annot/A 35874 0 R/Subtype/Link/Rect[189 330 201 337]/Border[0 0 0]/H/N>> -endobj - -21093 0 obj -<>/P 12598 0 R/Type/Annot/A 38157 0 R/Subtype/Link/Rect[197 320 211 327]/Border[0 0 0]/H/N>> -endobj - -21094 0 obj -<>/P 12598 0 R/Type/Annot/A 38139 0 R/Subtype/Link/Rect[213 320 227 327]/Border[0 0 0]/H/N>> -endobj - -21095 0 obj -<>/P 12598 0 R/Type/Annot/A 34281 0 R/Subtype/Link/Rect[229 320 241 327]/Border[0 0 0]/H/N>> -endobj - -21096 0 obj -<>/P 12598 0 R/Type/Annot/A 34240 0 R/Subtype/Link/Rect[189 310 201 317]/Border[0 0 0]/H/N>> -endobj - -21097 0 obj -<>/P 12598 0 R/Type/Annot/A 34209 0 R/Subtype/Link/Rect[173 300 187 307]/Border[0 0 0]/H/N>> -endobj - -21098 0 obj -<>/P 12598 0 R/Type/Annot/A 21242 0 R/Subtype/Link/Rect[189 300 201 307]/Border[0 0 0]/H/N>> -endobj - -21099 0 obj -<>/P 12598 0 R/Type/Annot/A 33608 0 R/Subtype/Link/Rect[206 290 220 297]/Border[0 0 0]/H/N>> -endobj - -21100 0 obj -<>/P 12598 0 R/Type/Annot/A 38053 0 R/Subtype/Link/Rect[222 290 236 297]/Border[0 0 0]/H/N>> -endobj - -21101 0 obj -<>/P 12598 0 R/Type/Annot/A 21235 0 R/Subtype/Link/Rect[238 290 252 297]/Border[0 0 0]/H/N>> -endobj - -21102 0 obj -<>/P 12598 0 R/Type/Annot/A 32575 0 R/Subtype/Link/Rect[254 290 266 297]/Border[0 0 0]/H/N>> -endobj - -21103 0 obj -<>/P 12598 0 R/Type/Annot/A 38000 0 R/Subtype/Link/Rect[189 280 201 287]/Border[0 0 0]/H/N>> -endobj - -21104 0 obj -<>/P 12598 0 R/Type/Annot/A 31853 0 R/Subtype/Link/Rect[157 260 168 267]/Border[0 0 0]/H/N>> -endobj - -21105 0 obj -<>/P 12598 0 R/Type/Annot/A 31800 0 R/Subtype/Link/Rect[176 250 189 258]/Border[0 0 0]/H/N>> -endobj - -21106 0 obj -<>/P 12598 0 R/Type/Annot/A 31116 0 R/Subtype/Link/Rect[190 250 198 257]/Border[0 0 0]/H/N>> -endobj - -21107 0 obj -<>/P 12598 0 R/Type/Annot/A 31061 0 R/Subtype/Link/Rect[182 240 194 248]/Border[0 0 0]/H/N>> -endobj - -21108 0 obj -<>/P 12598 0 R/Type/Annot/A 31010 0 R/Subtype/Link/Rect[195 240 203 247]/Border[0 0 0]/H/N>> -endobj - -21109 0 obj -<>/P 12598 0 R/Type/Annot/A 37939 0 R/Subtype/Link/Rect[193 230 205 237]/Border[0 0 0]/H/N>> -endobj - -21110 0 obj -<>/P 12598 0 R/Type/Annot/A 37923 0 R/Subtype/Link/Rect[243 220 257 227]/Border[0 0 0]/H/N>> -endobj - -21111 0 obj -<>/P 12598 0 R/Type/Annot/A 21274 0 R/Subtype/Link/Rect[259 220 271 227]/Border[0 0 0]/H/N>> -endobj - -21112 0 obj -<>/P 12598 0 R/Type/Annot/A 21309 0 R/Subtype/Link/Rect[185 210 196 217]/Border[0 0 0]/H/N>> -endobj - -21113 0 obj -<>/P 12598 0 R/Type/Annot/A 37902 0 R/Subtype/Link/Rect[216 200 230 207]/Border[0 0 0]/H/N>> -endobj - -21114 0 obj -<>/P 12598 0 R/Type/Annot/A 30083 0 R/Subtype/Link/Rect[232 200 246 207]/Border[0 0 0]/H/N>> -endobj - -21115 0 obj -<>/P 12598 0 R/Type/Annot/A 21264 0 R/Subtype/Link/Rect[248 200 260 207]/Border[0 0 0]/H/N>> -endobj - -21116 0 obj -<>/P 12598 0 R/Type/Annot/A 37877 0 R/Subtype/Link/Rect[189 190 201 197]/Border[0 0 0]/H/N>> -endobj - -21117 0 obj -<>/P 12598 0 R/Type/Annot/A 29261 0 R/Subtype/Link/Rect[216 180 230 187]/Border[0 0 0]/H/N>> -endobj - -21118 0 obj -<>/P 12598 0 R/Type/Annot/A 38273 0 R/Subtype/Link/Rect[232 180 246 187]/Border[0 0 0]/H/N>> -endobj - -21119 0 obj -<>/P 12598 0 R/Type/Annot/A 37862 0 R/Subtype/Link/Rect[248 180 260 187]/Border[0 0 0]/H/N>> -endobj - -21120 0 obj -<>/P 12598 0 R/Type/Annot/A 29146 0 R/Subtype/Link/Rect[189 170 201 177]/Border[0 0 0]/H/N>> -endobj - -21121 0 obj -<>/P 12598 0 R/Type/Annot/A 29093 0 R/Subtype/Link/Rect[198 160 210 167]/Border[0 0 0]/H/N>> -endobj - -21122 0 obj -<>/P 12598 0 R/Type/Annot/A 29067 0 R/Subtype/Link/Rect[202 150 216 157]/Border[0 0 0]/H/N>> -endobj - -21123 0 obj -<>/P 12598 0 R/Type/Annot/A 37825 0 R/Subtype/Link/Rect[218 150 232 157]/Border[0 0 0]/H/N>> -endobj - -21124 0 obj -<>/P 12598 0 R/Type/Annot/A 37817 0 R/Subtype/Link/Rect[234 150 248 157]/Border[0 0 0]/H/N>> -endobj - -21125 0 obj -<>/P 12598 0 R/Type/Annot/A 37795 0 R/Subtype/Link/Rect[250 150 264 157]/Border[0 0 0]/H/N>> -endobj - -21126 0 obj -<>/P 12598 0 R/Type/Annot/A 28425 0 R/Subtype/Link/Rect[266 150 282 158]/Border[0 0 0]/H/N>> -endobj - -21127 0 obj -<>/P 12598 0 R/Type/Annot/A 37780 0 R/Subtype/Link/Rect[283 150 297 157]/Border[0 0 0]/H/N>> -endobj - -21128 0 obj -<>/P 12598 0 R/Type/Annot/A 28351 0 R/Subtype/Link/Rect[299 150 311 157]/Border[0 0 0]/H/N>> -endobj - -21129 0 obj -<>/P 12598 0 R/Type/Annot/A 27612 0 R/Subtype/Link/Rect[397 670 411 677]/Border[0 0 0]/H/N>> -endobj - -21130 0 obj -<>/P 12598 0 R/Type/Annot/A 27567 0 R/Subtype/Link/Rect[413 670 425 677]/Border[0 0 0]/H/N>> -endobj - -21131 0 obj -<>/P 12598 0 R/Type/Annot/A 21232 0 R/Subtype/Link/Rect[434 660 444 667]/Border[0 0 0]/H/N>> -endobj - -21132 0 obj -<>/P 12598 0 R/Type/Annot/A 26953 0 R/Subtype/Link/Rect[446 660 456 667]/Border[0 0 0]/H/N>> -endobj - -21133 0 obj -<>/P 12598 0 R/Type/Annot/A 37729 0 R/Subtype/Link/Rect[458 660 466 667]/Border[0 0 0]/H/N>> -endobj - -21134 0 obj -<>/P 12598 0 R/Type/Annot/A 26485 0 R/Subtype/Link/Rect[419 650 433 657]/Border[0 0 0]/H/N>> -endobj - -21135 0 obj -<>/P 12598 0 R/Type/Annot/A 37718 0 R/Subtype/Link/Rect[435 650 447 657]/Border[0 0 0]/H/N>> -endobj - -21136 0 obj -<>/P 12598 0 R/Type/Annot/A 37713 0 R/Subtype/Link/Rect[410 640 424 647]/Border[0 0 0]/H/N>> -endobj - -21137 0 obj -<>/P 12598 0 R/Type/Annot/A 25883 0 R/Subtype/Link/Rect[426 640 440 647]/Border[0 0 0]/H/N>> -endobj - -21138 0 obj -<>/P 12598 0 R/Type/Annot/A 25863 0 R/Subtype/Link/Rect[442 640 456 647]/Border[0 0 0]/H/N>> -endobj - -21139 0 obj -<>/P 12598 0 R/Type/Annot/A 25800 0 R/Subtype/Link/Rect[458 640 472 647]/Border[0 0 0]/H/N>> -endobj - -21140 0 obj -<>/P 12598 0 R/Type/Annot/A 25001 0 R/Subtype/Link/Rect[474 640 486 647]/Border[0 0 0]/H/N>> -endobj - -21141 0 obj -<>/P 12598 0 R/Type/Annot/A 21267 0 R/Subtype/Link/Rect[397 630 409 637]/Border[0 0 0]/H/N>> -endobj - -21142 0 obj -<>/P 12598 0 R/Type/Annot/A 24901 0 R/Subtype/Link/Rect[419 620 433 627]/Border[0 0 0]/H/N>> -endobj - -21143 0 obj -<>/P 12598 0 R/Type/Annot/A 24270 0 R/Subtype/Link/Rect[435 620 449 627]/Border[0 0 0]/H/N>> -endobj - -21144 0 obj -<>/P 12598 0 R/Type/Annot/A 24229 0 R/Subtype/Link/Rect[451 620 463 627]/Border[0 0 0]/H/N>> -endobj - -21145 0 obj -<>/P 12598 0 R/Type/Annot/A 30109 0 R/Subtype/Link/Rect[397 610 409 617]/Border[0 0 0]/H/N>> -endobj - -21146 0 obj -<>/P 12598 0 R/Type/Annot/A 37656 0 R/Subtype/Link/Rect[429 600 443 607]/Border[0 0 0]/H/N>> -endobj - -21147 0 obj -<>/P 12598 0 R/Type/Annot/A 29319 0 R/Subtype/Link/Rect[445 600 457 607]/Border[0 0 0]/H/N>> -endobj - -21148 0 obj -<>/P 12598 0 R/Type/Annot/A 22598 0 R/Subtype/Link/Rect[397 590 409 597]/Border[0 0 0]/H/N>> -endobj - -21149 0 obj -<>/P 12598 0 R/Type/Annot/A 22042 0 R/Subtype/Link/Rect[396 580 408 587]/Border[0 0 0]/H/N>> -endobj - -21150 0 obj -<>/P 12598 0 R/Type/Annot/A 37645 0 R/Subtype/Link/Rect[405 570 419 577]/Border[0 0 0]/H/N>> -endobj - -21151 0 obj -<>/P 12598 0 R/Type/Annot/A 36774 0 R/Subtype/Link/Rect[421 570 433 577]/Border[0 0 0]/H/N>> -endobj - -21152 0 obj -<>/P 12598 0 R/Type/Annot/A 21393 0 R/Subtype/Link/Rect[432 560 446 567]/Border[0 0 0]/H/N>> -endobj - -21153 0 obj -<>/P 12598 0 R/Type/Annot/A 29076 0 R/Subtype/Link/Rect[448 560 462 567]/Border[0 0 0]/H/N>> -endobj - -21154 0 obj -<>/P 12598 0 R/Type/Annot/A 21327 0 R/Subtype/Link/Rect[464 560 481 568]/Border[0 0 0]/H/N>> -endobj - -21155 0 obj -<>/P 12598 0 R/Type/Annot/A 21326 0 R/Subtype/Link/Rect[481 560 495 567]/Border[0 0 0]/H/N>> -endobj - -21156 0 obj -<>/P 12598 0 R/Type/Annot/A 21325 0 R/Subtype/Link/Rect[497 560 511 567]/Border[0 0 0]/H/N>> -endobj - -21157 0 obj -<>/P 12598 0 R/Type/Annot/A 21324 0 R/Subtype/Link/Rect[359 550 371 557]/Border[0 0 0]/H/N>> -endobj - -21158 0 obj -<>/P 12598 0 R/Type/Annot/A 21323 0 R/Subtype/Link/Rect[424 540 434 547]/Border[0 0 0]/H/N>> -endobj - -21159 0 obj -<>/P 12598 0 R/Type/Annot/A 21322 0 R/Subtype/Link/Rect[436 540 446 547]/Border[0 0 0]/H/N>> -endobj - -21160 0 obj -<>/P 12598 0 R/Type/Annot/A 21321 0 R/Subtype/Link/Rect[448 540 456 547]/Border[0 0 0]/H/N>> -endobj - -21161 0 obj -<>/P 12598 0 R/Type/Annot/A 21320 0 R/Subtype/Link/Rect[400 530 412 537]/Border[0 0 0]/H/N>> -endobj - -21162 0 obj -<>/P 12598 0 R/Type/Annot/A 21319 0 R/Subtype/Link/Rect[388 482 394 489]/Border[0 0 0]/H/N>> -endobj - -21163 0 obj -<>/P 12598 0 R/Type/Annot/A 21318 0 R/Subtype/Link/Rect[396 482 406 489]/Border[0 0 0]/H/N>> -endobj - -21164 0 obj -<>/P 12598 0 R/Type/Annot/A 21317 0 R/Subtype/Link/Rect[408 482 418 489]/Border[0 0 0]/H/N>> -endobj - -21165 0 obj -<>/P 12598 0 R/Type/Annot/A 21316 0 R/Subtype/Link/Rect[420 482 432 489]/Border[0 0 0]/H/N>> -endobj - -21166 0 obj -<>/P 12598 0 R/Type/Annot/A 21315 0 R/Subtype/Link/Rect[419 472 432 480]/Border[0 0 0]/H/N>> -endobj - -21167 0 obj -<>/P 12598 0 R/Type/Annot/A 21314 0 R/Subtype/Link/Rect[433 472 441 479]/Border[0 0 0]/H/N>> -endobj - -21168 0 obj -<>/P 12598 0 R/Type/Annot/A 21313 0 R/Subtype/Link/Rect[426 462 438 469]/Border[0 0 0]/H/N>> -endobj - -21169 0 obj -<>/P 12598 0 R/Type/Annot/A 21312 0 R/Subtype/Link/Rect[402 452 416 459]/Border[0 0 0]/H/N>> -endobj - -21170 0 obj -<>/P 12598 0 R/Type/Annot/A 21311 0 R/Subtype/Link/Rect[418 452 430 459]/Border[0 0 0]/H/N>> -endobj - -21171 0 obj -<>/P 12598 0 R/Type/Annot/A 21310 0 R/Subtype/Link/Rect[399 442 409 449]/Border[0 0 0]/H/N>> -endobj - -21172 0 obj -<>/P 12598 0 R/Type/Annot/A 21308 0 R/Subtype/Link/Rect[411 442 421 449]/Border[0 0 0]/H/N>> -endobj - -21173 0 obj -<>/P 12598 0 R/Type/Annot/A 21307 0 R/Subtype/Link/Rect[423 442 433 449]/Border[0 0 0]/H/N>> -endobj - -21174 0 obj -<>/P 12598 0 R/Type/Annot/A 21306 0 R/Subtype/Link/Rect[435 442 448 449]/Border[0 0 0]/H/N>> -endobj - -21175 0 obj -<>/P 12598 0 R/Type/Annot/A 21305 0 R/Subtype/Link/Rect[450 442 464 449]/Border[0 0 0]/H/N>> -endobj - -21176 0 obj -<>/P 12598 0 R/Type/Annot/A 21304 0 R/Subtype/Link/Rect[466 442 478 449]/Border[0 0 0]/H/N>> -endobj - -21177 0 obj -<>/P 12598 0 R/Type/Annot/A 21303 0 R/Subtype/Link/Rect[404 422 412 429]/Border[0 0 0]/H/N>> -endobj - -21178 0 obj -<>/P 12598 0 R/Type/Annot/A 21302 0 R/Subtype/Link/Rect[418 412 430 419]/Border[0 0 0]/H/N>> -endobj - -21179 0 obj -<>/P 12598 0 R/Type/Annot/A 21301 0 R/Subtype/Link/Rect[418 402 430 409]/Border[0 0 0]/H/N>> -endobj - -21180 0 obj -<>/P 12598 0 R/Type/Annot/A 21300 0 R/Subtype/Link/Rect[415 392 427 400]/Border[0 0 0]/H/N>> -endobj - -21181 0 obj -<>/P 12598 0 R/Type/Annot/A 21299 0 R/Subtype/Link/Rect[428 392 436 399]/Border[0 0 0]/H/N>> -endobj - -21182 0 obj -<>/P 12598 0 R/Type/Annot/A 21298 0 R/Subtype/Link/Rect[406 382 416 389]/Border[0 0 0]/H/N>> -endobj - -21183 0 obj -<>/P 12598 0 R/Type/Annot/A 21297 0 R/Subtype/Link/Rect[418 382 430 389]/Border[0 0 0]/H/N>> -endobj - -21184 0 obj -<>/P 12598 0 R/Type/Annot/A 21296 0 R/Subtype/Link/Rect[424 372 432 379]/Border[0 0 0]/H/N>> -endobj - -21185 0 obj -<>/P 12598 0 R/Type/Annot/A 21295 0 R/Subtype/Link/Rect[419 362 427 369]/Border[0 0 0]/H/N>> -endobj - -21186 0 obj -<>/P 12598 0 R/Type/Annot/A 21294 0 R/Subtype/Link/Rect[400 342 417 350]/Border[0 0 0]/H/N>> -endobj - -21187 0 obj -<>/P 12598 0 R/Type/Annot/A 21293 0 R/Subtype/Link/Rect[417 342 431 349]/Border[0 0 0]/H/N>> -endobj - -21188 0 obj -<>/P 12598 0 R/Type/Annot/A 21292 0 R/Subtype/Link/Rect[433 342 447 349]/Border[0 0 0]/H/N>> -endobj - -21189 0 obj -<>/P 12598 0 R/Type/Annot/A 21291 0 R/Subtype/Link/Rect[449 342 463 349]/Border[0 0 0]/H/N>> -endobj - -21190 0 obj -<>/P 12598 0 R/Type/Annot/A 21290 0 R/Subtype/Link/Rect[465 342 482 350]/Border[0 0 0]/H/N>> -endobj - -21191 0 obj -<>/P 12598 0 R/Type/Annot/A 21289 0 R/Subtype/Link/Rect[483 342 495 349]/Border[0 0 0]/H/N>> -endobj - -21192 0 obj -<>/P 12598 0 R/Type/Annot/A 21288 0 R/Subtype/Link/Rect[397 332 409 339]/Border[0 0 0]/H/N>> -endobj - -21193 0 obj -<>/P 12598 0 R/Type/Annot/A 21287 0 R/Subtype/Link/Rect[401 322 415 329]/Border[0 0 0]/H/N>> -endobj - -21194 0 obj -<>/P 12598 0 R/Type/Annot/A 21286 0 R/Subtype/Link/Rect[417 322 429 329]/Border[0 0 0]/H/N>> -endobj - -21195 0 obj -<>/P 12598 0 R/Type/Annot/A 21285 0 R/Subtype/Link/Rect[400 312 414 319]/Border[0 0 0]/H/N>> -endobj - -21196 0 obj -<>/P 12598 0 R/Type/Annot/A 21283 0 R/Subtype/Link/Rect[416 312 430 319]/Border[0 0 0]/H/N>> -endobj - -21197 0 obj -<>/P 12598 0 R/Type/Annot/A 21282 0 R/Subtype/Link/Rect[432 312 444 319]/Border[0 0 0]/H/N>> -endobj - -21198 0 obj -<>/P 12598 0 R/Type/Annot/A 21281 0 R/Subtype/Link/Rect[397 302 409 309]/Border[0 0 0]/H/N>> -endobj - -21199 0 obj -<>/P 12598 0 R/Type/Annot/A 21279 0 R/Subtype/Link/Rect[401 292 415 299]/Border[0 0 0]/H/N>> -endobj - -21200 0 obj -<>/P 12598 0 R/Type/Annot/A 21278 0 R/Subtype/Link/Rect[417 292 429 299]/Border[0 0 0]/H/N>> -endobj - -21201 0 obj -<>/P 12598 0 R/Type/Annot/A 21277 0 R/Subtype/Link/Rect[398 282 404 289]/Border[0 0 0]/H/N>> -endobj - -21202 0 obj -<>/P 12598 0 R/Type/Annot/A 21275 0 R/Subtype/Link/Rect[406 282 419 290]/Border[0 0 0]/H/N>> -endobj - -21203 0 obj -<>/P 12598 0 R/Type/Annot/A 21273 0 R/Subtype/Link/Rect[420 282 428 289]/Border[0 0 0]/H/N>> -endobj - -21204 0 obj -<>/P 12598 0 R/Type/Annot/A 21270 0 R/Subtype/Link/Rect[500 272 512 279]/Border[0 0 0]/H/N>> -endobj - -21205 0 obj -<>/P 12598 0 R/Type/Annot/A 21268 0 R/Subtype/Link/Rect[405 262 422 270]/Border[0 0 0]/H/N>> -endobj - -21206 0 obj -<>/P 12598 0 R/Type/Annot/A 21266 0 R/Subtype/Link/Rect[422 262 436 269]/Border[0 0 0]/H/N>> -endobj - -21207 0 obj -<>/P 12598 0 R/Type/Annot/A 21265 0 R/Subtype/Link/Rect[438 262 450 269]/Border[0 0 0]/H/N>> -endobj - -21208 0 obj -<>/P 12598 0 R/Type/Annot/A 21263 0 R/Subtype/Link/Rect[397 252 409 259]/Border[0 0 0]/H/N>> -endobj - -21209 0 obj -<>/P 12598 0 R/Type/Annot/A 21262 0 R/Subtype/Link/Rect[410 242 422 249]/Border[0 0 0]/H/N>> -endobj - -21210 0 obj -<>/P 12598 0 R/Type/Annot/A 21261 0 R/Subtype/Link/Rect[438 232 450 239]/Border[0 0 0]/H/N>> -endobj - -21211 0 obj -<>/P 12598 0 R/Type/Annot/A 21260 0 R/Subtype/Link/Rect[418 222 424 229]/Border[0 0 0]/H/N>> -endobj - -21212 0 obj -<>/P 12598 0 R/Type/Annot/A 21258 0 R/Subtype/Link/Rect[426 222 436 229]/Border[0 0 0]/H/N>> -endobj - -21213 0 obj -<>/P 12598 0 R/Type/Annot/A 21254 0 R/Subtype/Link/Rect[438 222 448 229]/Border[0 0 0]/H/N>> -endobj - -21214 0 obj -<>/P 12598 0 R/Type/Annot/A 21252 0 R/Subtype/Link/Rect[450 222 460 229]/Border[0 0 0]/H/N>> -endobj - -21215 0 obj -<>/P 12598 0 R/Type/Annot/A 21250 0 R/Subtype/Link/Rect[462 222 476 229]/Border[0 0 0]/H/N>> -endobj - -21216 0 obj -<>/P 12598 0 R/Type/Annot/A 21249 0 R/Subtype/Link/Rect[478 222 492 229]/Border[0 0 0]/H/N>> -endobj - -21217 0 obj -<>/P 12598 0 R/Type/Annot/A 21248 0 R/Subtype/Link/Rect[494 222 508 229]/Border[0 0 0]/H/N>> -endobj - -21218 0 obj -<>/P 12598 0 R/Type/Annot/A 21246 0 R/Subtype/Link/Rect[359 212 373 219]/Border[0 0 0]/H/N>> -endobj - -21219 0 obj -<>/P 12598 0 R/Type/Annot/A 21244 0 R/Subtype/Link/Rect[375 212 387 219]/Border[0 0 0]/H/N>> -endobj - -21220 0 obj -<>/P 12598 0 R/Type/Annot/A 21243 0 R/Subtype/Link/Rect[410 202 419 210]/Border[0 0 0]/H/N>> -endobj - -21221 0 obj -<>/P 12598 0 R/Type/Annot/A 21241 0 R/Subtype/Link/Rect[419 202 423 209]/Border[0 0 0]/H/N>> -endobj - -21222 0 obj -<>/P 12598 0 R/Type/Annot/A 21240 0 R/Subtype/Link/Rect[421 192 438 200]/Border[0 0 0]/H/N>> -endobj - -21223 0 obj -<>/P 12598 0 R/Type/Annot/A 21238 0 R/Subtype/Link/Rect[438 192 450 199]/Border[0 0 0]/H/N>> -endobj - -21224 0 obj -<>/P 12598 0 R/Type/Annot/A 21236 0 R/Subtype/Link/Rect[377 182 389 189]/Border[0 0 0]/H/N>> -endobj - -21225 0 obj -<>/P 12598 0 R/Type/Annot/A 21234 0 R/Subtype/Link/Rect[453 172 461 179]/Border[0 0 0]/H/N>> -endobj - -21226 0 obj -<>/P 12598 0 R/Type/Annot/A 21231 0 R/Subtype/Link/Rect[379 152 387 159]/Border[0 0 0]/H/N>> -endobj - -21227 0 obj -<>/P 12598 0 R/Type/Annot/A 21230 0 R/Subtype/Link/Rect[387 350 402 359]/Border[0 0 0]/H/N>> -endobj - -21228 0 obj -<>/P 12598 0 R/Type/Annot/A 21280 0 R/Subtype/Link/Rect[404 350 422 359]/Border[0 0 0]/H/N>> -endobj - -21229 0 obj -<> -endobj - -21230 0 obj -<> -endobj - -21231 0 obj -<> -endobj - -21232 0 obj -<> -endobj - -21233 0 obj -<> -endobj - -21234 0 obj -<> -endobj - -21235 0 obj -<> -endobj - -21236 0 obj -<> -endobj - -21237 0 obj -<> -endobj - -21238 0 obj -<> -endobj - -21239 0 obj -<> -endobj - -21240 0 obj -<> -endobj - -21241 0 obj -<> -endobj - -21242 0 obj -<> -endobj - -21243 0 obj -<> -endobj - -21244 0 obj -<> -endobj - -21245 0 obj -<> -endobj - -21246 0 obj -<> -endobj - -21247 0 obj -<> -endobj - -21248 0 obj -<> -endobj - -21249 0 obj -<> -endobj - -21250 0 obj -<> -endobj - -21251 0 obj -<> -endobj - -21252 0 obj -<> -endobj - -21253 0 obj -<> -endobj - -21254 0 obj -<> -endobj - -21255 0 obj -<> -endobj - -21256 0 obj -<> -endobj - -21257 0 obj -<> -endobj - -21258 0 obj -<> -endobj - -21259 0 obj -<> -endobj - -21260 0 obj -<> -endobj - -21261 0 obj -<> -endobj - -21262 0 obj -<> -endobj - -21263 0 obj -<> -endobj - -21264 0 obj -<> -endobj - -21265 0 obj -<> -endobj - -21266 0 obj -<> -endobj - -21267 0 obj -<> -endobj - -21268 0 obj -<> -endobj - -21269 0 obj -<> -endobj - -21270 0 obj -<> -endobj - -21271 0 obj -<> -endobj - -21272 0 obj -<> -endobj - -21273 0 obj -<> -endobj - -21274 0 obj -<> -endobj - -21275 0 obj -<> -endobj - -21276 0 obj -<> -endobj - -21277 0 obj -<> -endobj - -21278 0 obj -<> -endobj - -21279 0 obj -<> -endobj - -21280 0 obj -<> -endobj - -21281 0 obj -<> -endobj - -21282 0 obj -<> -endobj - -21283 0 obj -<> -endobj - -21284 0 obj -<> -endobj - -21285 0 obj -<> -endobj - -21286 0 obj -<> -endobj - -21287 0 obj -<> -endobj - -21288 0 obj -<> -endobj - -21289 0 obj -<> -endobj - -21290 0 obj -<> -endobj - -21291 0 obj -<> -endobj - -21292 0 obj -<> -endobj - -21293 0 obj -<> -endobj - -21294 0 obj -<> -endobj - -21295 0 obj -<> -endobj - -21296 0 obj -<> -endobj - -21297 0 obj -<> -endobj - -21298 0 obj -<> -endobj - -21299 0 obj -<> -endobj - -21300 0 obj -<> -endobj - -21301 0 obj -<> -endobj - -21302 0 obj -<> -endobj - -21303 0 obj -<> -endobj - -21304 0 obj -<> -endobj - -21305 0 obj -<> -endobj - -21306 0 obj -<> -endobj - -21307 0 obj -<> -endobj - -21308 0 obj -<> -endobj - -21309 0 obj -<> -endobj - -21310 0 obj -<> -endobj - -21311 0 obj -<> -endobj - -21312 0 obj -<> -endobj - -21313 0 obj -<> -endobj - -21314 0 obj -<> -endobj - -21315 0 obj -<> -endobj - -21316 0 obj -<> -endobj - -21317 0 obj -<> -endobj - -21318 0 obj -<> -endobj - -21319 0 obj -<> -endobj - -21320 0 obj -<> -endobj - -21321 0 obj -<> -endobj - -21322 0 obj -<> -endobj - -21323 0 obj -<> -endobj - -21324 0 obj -<> -endobj - -21325 0 obj -<> -endobj - -21326 0 obj -<> -endobj - -21327 0 obj -<> -endobj - -21328 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21329 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21330 0 obj -<> -endobj - -21331 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -21332 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -21333 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21334 0 obj -<> -stream -HWr|WLl \p[[,e7w+skL"5^ oʿR sJlR=9i͋?I˗W"[>ɝ)rd4RkdMm,Wvmmiw.'8c.hT"MSɧ=hitl鯮eGyl4g.Km3k}a >) -yq]6C\g_Oȋ>k'|165?Oy!5 U>O\Fiɟ*F*zUTS M"IYz:Z2ޭ%F,;NW=p{{>A}P3>S3>S3>Ss>Ws>W P P PKTKT+R+^uւJl9Z1K@k%,^b%F,Z1 WucpZ@k%F,Z1 WucpZ@k%F,Z1 WucpZ@k%F,Z1 WucpZ@k%0-r/1>0-r/1> --r/1> --r/1-r/1-r/1޾-r/1޾-r/1ޘ-r/1ޘk-1KkI@K>Igu.'d5: Y:z[_ӳ¥iq>pa&J7n m7_OQ:"YF2)ɫnm(1;Ƶ0sS^/橱=}:=2I&rl6Y;_Ѵ>-r8.umj\~]ͷ'pewLNWwz y?$G6`;H3NU܉z2=/M.enoO˪,qt{^˦Yܯ?Or*pt\o]ZzSfƐζ:+CSg4u(i&z>){nq]Lw~s9/3o7' ݞ?ûcţ#sE""·GN㒛f_.z;hhvCe{lA2.u߲#|C<9%%n_(d'K33WV9]YݙeK}Kp-x٬];kx@U0'@n;z3FZ7-Xl8diREtyk^ޑ)Ms'[i v)΁9Gӧ:e5?fQLfDulQRG t?=Ό"+Kn:JFltȥňEc̎|ntc..O?}/--M-[v(LV$C ^|BOaEq86XX4nA>,yCۂm3d>飛gzI!ې/:v6{z&)d@f{哄{rb>wfsZYk[dp]Q峗|~XhaSzF@ ^0. ->in}pKY`) -@+( heJ+ZʁVr+hJZ*VJU* -hUJZr֒ĈeUZhY倖SZh;{1 h;{1 h;{1 h;{1 h;{1 h;{1 h;{1 h{{1KkIX cR cR cR cR cR cR cR cR cR c֒@%,r@%,r@%,r@%,r@%,r@%,r@%,r@%,r@%,rKYZKbVTU+m/'xc.YN1ﭧCw,M tQ(_|lx~8ڎIӏl7mq>|7u[V_>*Yry -冫&^Y}!!Ie ,>_/E'^/o.:h!TL$xTXƒ(O=9 F{])DI"|!lYCLksǸCd{hBR5=&DV6Q#9wm)}+GYkz"jWZ{ӼD7ABכ,0Lo}]:Z%yOC,B{r$ss@x1v -/8 s %}qOL`kHX^g>XЅ ]ŞuXXB$Дiv]plZUEPv8! -ˍom7ժ'=aE ,K|{U`$'Q vML/2Fܦyw+)XvJ2T(g2VƓs>[s]4!)b>DGLzjQy٦d$JQ~@a -|,ğ&9';<fS0}EP}zn'w'6L.|~zLJ? 09endstream -endobj - -21335 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21336 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21337 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21338 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21339 0 obj -<> -endobj - -21340 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -21341 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -21342 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21343 0 obj -<> -stream -Hmo8SًT$r/(M{n/qo EJ-yez&G GOrEQo^<GO5 Rq?d$ -/)wy(Iw~e=WyHcRkFދw>P24$ hD"w3eIe'>c222{ۢ"> eGceg5*'yOd;}+C%2@}57^ú_{gЀ߷K@BGQ9^9^95^;5,ELkC\k 媷c@!cr1CPk혡kZ;f(DZ֎֎ -Q︖!cB;ekPk혡kZ;f(DZ֎֎ -Q︖!cB;ekk혡\v (ĵvPz;f(W -q3q-G\k w\11C!rĵvPzǵq -q3q-G\k w\11C!rĵvPzǵq[{q3ގ֎Uo 媷c@!cB;k혡kZ;Z;f(DZ֎ -QV c@!cB;k혡kZ;Z;f(DZ֎ -QV ckO"cr11C혡\Z bfP2>eIApMv6ϒt&ŠH<5Qׯo߽PKyRMo5@qCOeŧVӿW^ۧ6֔"d!+)y~"LRdZL]^\$[*\>,XG,ԇC5d(TMۑeĸH IaY0&?5S#W%ϳ__^|1?mR?p!Ťi{; N}g*%)py|p3AeX73a$XrFY!*&%,q>$ewd,%5\ ~ct&b9TWt7b,Á:A 2[ؘ\$i0Xn}Uh4j = -vJ{wa4LIF@3w E"0N}ᣩwYyɋwq*PK |VqiNc;9EL$gLEYVW0->=Z-%ɳn+k@yEڽhU~z>9pwf `czŤ7s;cN5RL\?KW Q~Пc yeP!B߼<#נ߳RU<Q͂)~S'z}fΧcWg{\ ĜpetSBo5c"-gyz:\Mfg`51QIʀ֝q>-I =:]T;Y'k[7 e"#(#憫8e`f1Q酶ՋuB;u~J{ߡlޅlwqlgókRY|2W -fHN=W.I}PG.7`'A|Tc=+juU$fѫC?kZ?#~Tn g+AIy}49l7>'+dAؖr+~>;j R0-mN''T!HCM/ݐ!l'\ 23E#Ƣe) '֌cxf#r>x@؛k <֌'5pWҌ65;W-wY#1~ßn]ijOÌ@,"V>eLh1u,h˲zYVfYCeTW=o 4.ɖE}ЎD;ڋbs샳aMV|$ëHuRjo0٣-n/\~=I{' endstream -endobj - -21344 0 obj -<> -endobj - -21345 0 obj -<> -endobj - -21346 0 obj -<> -endobj - -21347 0 obj -<> -endobj - -21348 0 obj -<> -endobj - -21349 0 obj -<> -endobj - -21350 0 obj -<> -stream - - - - - - 100 - - - - - - - - - - - -endstream -endobj - -21351 0 obj -<> -endobj - -21352 0 obj -<> -endobj - -21353 0 obj -<> -endobj - -21354 0 obj -<> -endobj - -21355 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -21356 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -21357 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21358 0 obj -<> -stream -H|W]oܶ}ׯУ 8(`'m nCZ]9+m_gDREj<$ ɛiLK޽M&YeR[iQ,*=_1ӧD]7c}SwhSMO]r˟*}Mru*cR yZ5ynIVVW'dI/ݾM(gqi4e%T]<'OM 9KJ_RoOy&.o^OLjK9u̩ G:"Q Yp1`Ȳ j2O1`)F+FkFkFkFFF[F[F[F"R_0H}ɨ/#%ԗ2R_1H}Ũ"5׌ȳ1-b\K1d),ƵCVbȊS Xk),F}ZŸbbGUk),ƵC>rb\K1d1#*ƵZ!QV1kZq-ŐŨ\R Yȵq-f\K1d),ƵCVbȊS Xk),F}Z͸bbGՌk),ƵC>rf\K1d1#jƵZ!QV3k5Zq-ŐŨ\R Yȵq-a\K1d),ƵCVbȊS Xk),F}ZøbbG5k),ƵC>ra\K1d1#ƵZ!Q0k Zq-ŐŨ\kR Yȵq-e\K1d),ƵCVbȊעk*MrM*c" T(Ң!mvݐ^'mҟű?>tijUBe~Į#h'߷CͩZw>8co/amhw[0"ؖNnwyjiw04[qc^lضGZm/LObYwu1 7 ?Cڸ16tU^Wm6Wd)rH5lzm@EM:Thi0 -;]5%ɽt5έ}һ;>8^{kݺO3m wgԗU%ri~&/ܝ>YP/ilUCJj;huk0Fb3?7~ѸWJb"{]-`zUDmsϷwv\@}˄a"e$`&A䅨sj}kڜ.~!z+!e>w$݆s_]ust^GȢ2&Z,, -gMO E^jrB]|nArt<}SNQ{fp}Em"i*E]4W%B6B]2J8Yoo_m5d -aBLr -~QC}hUp>};nm8MKSC~! Κ\-P4 .؞O`Wgr-r#{nb7)? /A ќc!\."ichSPеAgkaY#i L/f9}iOv[覊2at8v܌9 Tq1xLQ1󲯆D!IW^1~٬"WKwW c%VǗB.LQ0\_-aj?zj_m^&d à;!og 5LЌ@L[ -[Xv>*;:]KOҟ.v)_KVa>|NbѼ%^jamERB|rve+V/&Wr^* -nҤjJK^uD]6Tӡ%e=R!GW?O{&8ANPJqQ=DaH w}07JSz&NsYkZТ֞.wZ6uW{ԝT@ɍ҃Gv-MU4GYi7o!G -}Gԫ{'|S3v1~'C e%ʥsdn`nLl;ʒW,Xl|]0 Z~=[k:B]ѽ&!z {A؍0ߟ0{|c;ӂX6 ] # fq1 ~ rk2mbmCæݸ&&w-tVWzj⵷,>"G5AZmEI#ݶޟKXuwڤE]kjZ?0oZ䅝rY{V8>^i( cqvq*C@ksj pXوCa-ts.1fcUŰ͸IS6)&~-^kUe\NjmsM*K“y UGIfv[y$^m<އi充ON*{7/_i&Tɢ#+,ʑ3X`r zv8ձZk^]Ba5:p1C7웲KEhw|e:Ew":; w`aG!|Ynzvb -(❌P˩~I תּvNLm58&8ɟN63*z?5:PN뱰ŵeI:BO2ю^gvh+)˿gqAThnon/`?%5l'Hƕ0yԕE9k:ñ,<FN2(\sJCA Q~r|MĄ[Hq ~(WUܯv'Դ4P?a~}8*뱷.d3#yo\&@f/%N岦s3Mx"pC֝v͖"Il~. vM %Q`A+?IG&3:HMoВ)#(0x˹Cɧ]]b X67Ҝ2iFdu4MfF_^ڲDqqD.n6qla 7l b._}%j'G8lO},ٟ$)$_\a?ۦ^e("!:3a4:NӪ0ͨ, prasXSf dH@ b5.nl&j(S p) -Soi4'?3Q=FV=2Y9]sߨH!DSmg dUE `P2 EA|?Ww ܡUFA6r|)Sݽp'*j彇V/Viux7# $T2 S#TsBHjpW{;)}_s|Gx\siiAizƦ6j.uzga&j@@cJ% 8ÅΣH#<5iy6n"( -#v[ GvX5v-;3á(Su: Q^C";)z:D> :F>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21360 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21361 0 obj -<> -stream - q /X13 Do - Q q endstream -endobj - -21362 0 obj -<>/Font<>/XObject<>/ProcSet[/PDF/Text/ImageB]/ExtGState<>>> -endobj - -21363 0 obj -<> -stream - Q q 1 0 0 1 43.980000 25.620000 cm -/X12 Do - Q endstream -endobj - -21364 0 obj -<> -stream -HWn}߯ ;1v 1=~ɒTHʂ>TMJ rtuwթ7gvΜ?o/oo_NGtڽ瘫{}w{suqήs8?גcssḧ́f_K1W_Mn5ٷ?y_GyzO~ -Vt;?}6w~z}q\XO*5{,.;Ńy htC>!?)EH+5ij7j]Rr}`=W}kN`$3%8 -IҸ/Ƶܴl3ޒmtQ˩ہ8ķ#bKZ /θ*-Qt;R#r& gP8͙bq9K\eKGISqbytjZ7R;m!17 ;c_Ug9|kg{ WNRސ!KDFDt  En -Drsr4$:WEP{ N)5UTm <(؂ -4Z,K0r|y vsPD<6'^ʇeP+eFLu6Q.hBjʀ0F3bm}Nؤ ,-ZԪHCҳ^thBG6rfyI(Tg̰HIUi5CB1KadM,5JmvڻVU$VBɞOӁXWHk -= ^EsR<"ǶkDаѻ=:Oof ?hj?S)EI'?Qo=a.(ֈodS,:e/Xg ?;3[AxdݻpO u2P)]m^eϛxR t4JzMB6oFZ}}uSX6;CJ؃";wAan; -~u|.*p}Ó%2۾Lj}LG*&h -P('e%+y沉D}cmP'G~7|}#VtTZMo%K(B':̦Wr{XI{Hc) iw?A/Y`{= [W7]Jː-!T?M5J!kscr0R^M\v9iJnq3Eˌe.cCLNCv.g -b%dS9QNR ZI"s״Q3L(/)nble1ׇn&&BƢW\' ڗSF/Y$baoWha1B籪0GnڭtdZOZ z[>%c8DXvU|uHrL^n7[ׇ=ς4|VGUP2,U{ٵH?ltS}\l}l1v@V_"|YnĕaS[bJS#hx݁zNTϏXj@K~TtDM=$pjϩ*:SSE*1?={. .l2u{12kzd)n?=5 {9<7mc!efKH)&wqj; Vb̌[`iYv yN/Tg߅3,LL͋l+Nx<ܮw"A? -8ϧ(E, 1 \Gjш0Zy[o|` I-P/Ϊ9~3gnj(_6 *-(bo%k*?;BE:qE:TٴN%s^3ZAS!d57.%NN -z -8SKؤ䈵p@?)ne+ɀlySD֮=S~{$&"MlA8e(q,d\Gi*5d5fz!kĤ+e04Ꮐn|mZkWQR_1:/aXCL5#kҖO!և0gٮhf_Xe :Low诀ɈJ[GT`rv@T6bGj."DꝇJ)ڭ{Y¨(GO9jDl kђ+o7Kf@; 18@T8\=sioh βʔ;1M`O~}G1lcP'"NHPD– >r+[ݤZm v=;>mمEYr #,\dB>fɮ]f@c -'"_ Ĵ2*|o+w+G?mdcY(~oZ"0d8_-|7Y7`NOg2޽Ajl[+ʍ:=8uXW5E<#Jк{U309RoMgh<&tؕ+ZєM\1̸IƲ& ]/B>O?Uan3Eb-X ʜ3ao`92;É !UanQXC9q - ^ 78Zwٮk߂V"ty ڲkqbW5NnI+L*" Tq@&pMX3T(gi2 TRbm$ K3! Wzc=DM% 3-ŝ%0[B8B7l l,9O7`-t]5mVy3T}\^+ ,L0xJx{N c>1d}Hr0,ONUuf5ڤt7gHdCB?JFZ弾cߜo![Cr6.PЅ6Ȭ3J*.p$MŰþފm2 =|U07+ܗ7}vv!Q/4I0ЈS/e:J+1ˮL/s!ӋV|)ÀE -ZRd &߂KD2V86{18jɸ[&k(`e&'&/%;\3]wssB򨽌o\#X52vkobcnNe#SvuZΖS/fۇ<+Ab;B]oֻjV5[ߩ'Fkv!^ۍqnltU^B=T;74V-lY{'p]Zd8/xvdgMsMvV? -;.ZY$:mmb*,쬸Ы㝵%=,E;;_vBu78+)w`.ɜ^di\Fٱ]zBn"Ϫg'oem^Eyw}؇ sFa+:gy4~೺Y{{Z0L|Gqh~JZQƠ݃iwe\CyЭa8кXu'm(ofFbN`j Q2+FQ]:cՔimc7'j9pc~xW\/0UD*v?Dj Olo?%f{kg2ql7nm -~% 2uMC:! lc'3+đ[KTo{9A, Yنp=tѮG&cd77'akk-3L\ 2N-Yz`;7dccc7;1-3ww+;l_KMG|WbCFe~<6U{AKqRe8I]ޫUٕo8╣BhDp[\j yYû9V#= gw֪aDϴ}gca:o|Bje'Ukk9~{9xw/ђZ2R[.ՙv^v|~Ծٽwڠ{:^Kzmw#\7֫~=9>78@+F/ϟ~$ݧ_iQ@Z5Q0 !sb6Uq4v4 -:#$]7dк5m.F -UI fǵY08]>!uucb/49OC4mA,! `Dӑ=Wi|(l%XE;G¦wp3Ly( uk]@ZGmӔ1#Z3z#yњȣNT;!l!ӁϤ S!ʜjVת -E|71uIdq?D{xUͣ-`?)sk{v.rY0m^eL>QP7@dz|&NT|xIbUǚT<Gr:XGCãܲ}ȯ'e59*#Lv -򏉷x[[xKw[3ؒ,4E&Sܯ5.]Z`t 7=7Q_+i:^iN`DKT½]̰ ؠ&%VIO*:!qh(fԘ}B+dzr} ȱ=Z=7d;=32262؆Il4yɴX"nɑB} {IJLZ)'UÃ: S4i.w14xWrV?Z^e(l@(2C#fBC(6;TwHiWV+ۓxjk#0^QHa&5DdfiVL`a!'L֪OÈADcV3B.j3,>5 *FÄj+Y{E!_Fq|e% پOkU9ޚ<*5rW# C&;+9bca}+Vf-"__Zj.e_m,Ŭ7 ȃQ"j xJgP .hxmrN̿wbcQ?|։)W%b49q䍼h+Ozܵ"C+"T` کAT,7Ls ?9CwSj`ljcrŀ:zQ)X5Q: KضżQ®"oT3Y;])>̨dk!z,Z{-a,&&Z+):BEUȮ2n92Ӳ(EO"fxg +c -6bԥzY(ڥTK.4BΊbtuٝowh -G(Me!c8@`i:ˆ9$ioY -mYԬjrd*י -QRprmRY _&BxI2^Stm@16<q%yFk+&3,D*_Ziꎹl9$S3^&l -q C$B$74ؒɈ=oә{9v|@x&JuGSqmn!y[Rif#dFXaq[/ -D#Ӷ#843`{Ww EapWf/r&"+Qlʍr2Xnu`^]$u^-.1ivDau]vx)X㗶xGocRS8N[/1r"\"dk}# i)0ZHₐ jA[0kʮ9<!_U}偌x?(kBq{%T>rR?6ϩt €;ⒽjYUBk qof),BR᲍Ḧ́>wkvnk?sF7>D (i9׃"9Ӧ6^A-D)4ZJARrl8 j{T&0Ty7e_uJޭm4cVzͺվLj_:eeR{3=@3 LkV[51b[o%TbkOzL,6/sr{9-ԭW\׏k+4BVH?G(Qi[ dԔ{wAL0JI˅mrP\{<;. <: &BunbAfB+ L@/GẔpH22PJԱ݆lE30n8d_Tl4z&T͵jS m0:2p5@pC9zVS@"=m -un[rm5 rZǔ13lzM:mںmۛբȫQ6ƍTk_ЩΏ"hfQ## S'>lm[*rȬLhd}UcuXC@8?pYu3~.#5}k&m= ޻wGխCbG>y[Eydʥ$VUaz5Ȳk@uQ5銥x۴iQ`p m"M=$uC]Ѹ0 )m[PS!26Gnb%o.dq@fhHZ2PRN]`8!ta\J\'ْآCw)@XI,{6M@mX#UllXm6h˄ͬ27WtAouqZP=!P2S߼+IˈPeJ=!~:}N8 FoO(312t q='ƺj|}:@+f~5@Y:4@fT3qp+O|=aIROxɶk3WI;\̸' 9ǔlݢRg'V -ٞvΆLv79Xec?丝t\$KfVN Gc8rfө>ݺ%4/#0%ػ䀎7"N'cʦs), s&L?ɔRO).Ƌ'5LN;s-ojMVzxdG(њzzxdOA4Zaxm<<}r=;zwoN(~sߝaQ_}{/R>qNAl9/%TJ9>;&VlĻ.>DO/I -AϜOXW)\OݷNbl>նcJ>0ƨTK85׍>ʸB4,q9RQx -DIS Jy/SoK ^1lɻ2~tM}s8} -Ow9)P|*_66P˥$"Y#Dڗ?#je O ^>=U_0Wӟ/Kwjq`U? b`1V(̣ &6KEn56Iں@ſlӨb#8 IsDheKC  -M j'Ș8MMC$i>yC'HWNjB"cTNkA-S]Ȇ|m44;Cܖ720 ۅpvR=j?"GNk(dׄ<`y~ݮ7Rln{Ҽ_5% "XVuX$1RT.2f4iHF44?lWq$7`al`H#{QE 9O_@0GnKhlM@07qIX7GeN\]g[4SlTauW橵aL{]:˧ЊەC2nY3f6<<\8 6: MX&%Ĺ\Aµ?˲7 }1U'tA:B9^; ;&X@z5i?#̎o޷oR"äm*XJ.Eԟz>m6´qT2N"㭿^[>o:;WIfJ4 ˿|6绹ڿSw9q}Ud=Q}~@2ecf˼ 2+Զ=sPuل ->O6 V6Ʀm~@K0|bq >Av`oq|e3GXVC C_7eܰOCL$Bn~,t{ٻ8O]wܱxtx~,F=Zd%#\'}Pՙ5~'6"Ό)2!X")m3)N,~S^iX%}Ud BMqAx(/L/JK? 14PS͒s>&M;R_zъ*Jo} j@UYW糟#m$Yzm:~Y%)d;r,xRս ‡睁CR4h$Ӯx׵8ШyS:||\U{x7ړ&3@ztC&~3N@Z,A<\o"pfG [ * Lu8 )ʏy%0rۥ',#q,*Huy=*Q*zP; hhjq2kFu:ozhf^V%p]WL <֋ͧq9 -$qN+Dc"z8 {`:??`R{ xNVxw< b}?}^tf/1j{)5_D#RTP ->!@ɭ|jQwQY[)>"V]NM-mhuvTCYuo]&\М<ș7P˼I<ᶲ=1mBC|r{'F5$8Zc*=K -IO.$"GL5΃œ;z?H\]uY3wtǂ1Fo4>ns qV2NGUp:<05a)s< 뾡yp1VJaKm, ?L-ߌݖ‹J2c߾DMAM_4G*պl_ P*SVe)7j -ZЍnѼUdp&OruI£=xPgB3RK]7=b Y0ɬO+끳&=r+m<}|R%1K2^E =2o='#rlξ<|+$`[orY mU1bT\:R/ -0.w}‡x^Qd;YnX-9/&@Z6YKR]\">y?#q}ǁx`s[?A\t\T #DÐC'ms9S;"aN ?gPTH$r{KD.'2`UL:YIUf\ka`y;w\a8X$b>_4uZ|v5l9ƶHs\Dr\*z5ȄFBoϲ@GZ0x%39y}* -lLlp7] TUhl lӾUX>:*_endstream -endobj - -21365 0 obj -<> -endobj - -21366 0 obj -<> -endobj - -21367 0 obj -<> -endobj - -21368 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21369 0 obj -<> -stream -H@*8}endstream -endobj - -21370 0 obj -<> -stream -JFIF,,AdobedC     $''''$25552;;;;;;;;;; ,," -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?]-7X &Dӷۛa/vY@npkw7NX3!YUϒփ:[,>6cf*WFep߻Y/k{m{y6I%qٛe8Xayk]x5Æ٬l^wmZGp<*S0EֲP v+^Ҭcs}7v.#ȎYį+U {s\9-=&?}1::#>!B?y/lEkyVXL56X0|Ll1ǸN"G5iil6'_YTdtLCdk~ȯf> -stream -JFIFDAdobedC     $''''$25552;;;;;;;;;; D" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?TI$O Audʌ'I', m4Nru20='R;&IQ$v Os$HY?̟ BG-"$w-BPGi%:I 3۔L??ݖ*`дƺJ{m`y~t:;XDj~ -~N\O " U@@ك|XJ[DI -BI#rI$I$I$I!d2~J% -'_2O'U(L?Wj[VI$JQ ;)IJh{)  -;S'DAA ]xjSDG -%`w44CDޜGLAʒHw6~JF$᪵Wm)g#梒I"0)$Zp);KO*~>)\c WaF^ -`aIGø($I dAhLF?5M$;{!pJB%vA> g-oPF4ޣSI$I$͟[ -?2Ua3!%I$H-9UļƤR7 ju(.2JoL!;HxB@?Dvj~m.1Kv|ODI$DNweT5V*m4,|RI$0T t -~*6[Z}F~){!'_ܢ+sdPD NI$H9ИUjJvCI( @N DO--M8H> @H2$I$PjTj>% ?%^8{OjPI$BC{jN:TΙxs, -xL9 -s|kwhZCg^JxI$TPG$\$I$DS8 4h\L!tI$I -@$B=@) hL% -A"[πKq o>#g o o o>:I$J<hpI$nQ)$I):I$I$J.Dx M:J0I'$D' SI$I$ &Do:IIC# jO) m:TmR-!-'BI$J.DRg -I&) `TI$wN2Z$AI$I$I$LBEHp$LS$t%Z'NI$I$2:IR$ZƿFuKX%*I$I$(R*M:ItDžendstream -endobj - -21372 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21373 0 obj -<> -stream -JFIF11AdobedC     $''''$25552;;;;;;;;;; 11" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?Yor_or_or_orIh,~ -$Z=Wt+HoeKGK] -Yi$Bz,Ih_%Ъ]K}4Â\b'hޘq]<˖$I$endstream -endobj - -21374 0 obj -<> -stream -JFIFAdobedC - - - - =< - }!1AQa"q2#BR$3br -%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz?|FMqmmmYrvQHgٗߤ -?e?Of_A~*ݎq+ Q$ۓQN{^cAt*;Ob8# cw9$ -] .KRkGׇk_] fxéق%l =k`֭XwnsbnVV9X y03jf&v6]{V;ՓZmԃE5|rw:ƺ{0^3Jw=N @4_{!ј^D!d.0mYk -u˨tmŽl9 kdηg -܌~XRQ $,9X%vNk> -a} ,6&#ø' 3cWgzv[7)weSό^Y/uԈ`wtC2tK9 ixvwUչ]za=L S:x*h7k h~rֲ@]!j_ |Jt-ݚ3ۨeu> -VkYa9vP+ԍ#E* _endstream -endobj - -21375 0 obj -<> -stream -JFIF/0AdobedC     $''''$25552;;;;;;;;;; 0/" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?NԾC%s'KOܜu̞-<~.òέw%e_%I-^'ſu_%I-^/-%CJ,ԒIjo*sWfKWo+K;WЎ/_`*8ӌv{KI_endstream -endobj - -21376 0 obj -<> -stream -JFIFAdobedC     $''''$25552;;;;;;;;;; " -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?TI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IW3г?M/S7 ?3г?M/S7 ?3г?M/S7 ?3г?M/S7 ?3г?M/S7 ?3г?M/S7 ?3г?M/S7 ?3г?M/S7 ?3г?Mcu2[^X vH㋏pl㋏pl=ܺ^ީc m 5BI$I$i$I$I$KϿOO\K~s+I$K dہ^.~7s,l@ E2p͎k(9#sC{vLLުUumƷcw4mh-04ZC2~nאy mU-ojhȰcٌ}8mLn?Y]`/ Y?NWtlv;[mvm*7:I$I$Iy)#7UK2$Ern$ %kI$:SC~ƍ`o+Ǽc"VJTq~G}ρ[s'N-^,QQ&:ۍY=ȇXJZՕ ,'BӺv@]k12j,FGeI$I$+S37A)}SW+]$I$ OћGm qP+YT{CjƱ#sUO5Uc49]é㱏gJĺ? 'py!}a;NB$I$I%W ll k<{nt*!z?N`I$IcukH;ֱ -f}{ǂ.;z-V`OG~5/n;N1P^;{ZjϚFoZ!<*K:Υu]f"CN4-?I$KϿOOX>MN`A}SW+]$I$9;\zz/OS\YV.Pe .:6>C+K2Y{A-mϻ*/3y5 ]Qen#󼖣>t}*on@a$BЪonlma"$KϿONXqM2Ā'TרSW+]$I$?OS^M5osnk}8%ǙzM u6n>s2 -z'Oc{X M.qk>擪+:v3K`,5a. ܰObΏ^3zNoA`+gn(Һ}xlS[eOsk%n.X^ּZ|ZuϿOOX%ϐ is1Q ~s+I$K*E4Yc2eXYu*_lf'Xk;FH'Eg[Ǯ+UVʞ`:ߢiίURZZ⫻.#(Sh8n,ɯ5lj/=~ުN{k?9ܳeCuBzhtIYns6i =ͥ4d`]+67sCF, bs~UX ,|`x'_Q= &%P^O_ĭtI$\D'@I3fz5ZG{ bԫ=Zq쌇W^>Kmޡ6m6  #ѧKXma%$jͿ$I$s0GvUs3p9d~X᫄q=m>?\9ab6:#|;X/PVI$I,z8p˪}*3H:oT&9dԵhX(OL:.^)wa쵮i9?I~K+yӏ;i,!pӧ#S -hkN'Uuep;\t$I$^=xT7VƖG*+S7N4{ ZL5 %Q >s+I$H-s s:$fcF'ߕs[:lix ϟue<6\ >idKH"59)Cm>㵭IoaXf@y dsX$G*I$Kz{jf mm ẗVb.?Ʇ{wV_CTB%kI$mos{Ǩ4 v:5ԪybVn)$x.%rmh4nO;#eGw;ǤݍLJ茨LQilU[gh&=#c̛Yiv2sp'HFt{NMX:J!CZUVR)}64Ay Vz?>꽧ޡ&kXrG%G #^1[R{4I]]-n=&Ix+tQV5~#k$Qb.?ꞱKZZH&'o/PVI$I*Wl$Ao&[SFQ~sa$'wꓩ9n Sz5%H2tZ#Wz8GX%u]uW],,5z]k`wVLml7kd=][ Ypuϲ!L4ƨVXֈI>*i!+{&Su^Fh6S^\M6Z]{wI*ȡwn8k \X!&{+Ns}_Йh}= ;De6WV>ӫ͌kZS/HqcI.uKޙNLCÍl.۠,X/ٵ\*&\Y.8q0Ff32FȰ=7D-{t I$KϿOOXl.ŻHi"Hiytk&;QVI$I/?N3{ë/A"ʞ-;X4YOY{1 6bf(qvֶG0ȏȣnvׇ9hheGp`uO4cP][\ZKb*`{tP־̖ZْݻÚHn݄# fMl˷ifi>(Qi}aikyatUf?ٱ4;@%8VI$I%X .~ uascZ$NKW}SW+]$I$?9Y>\ ~>rUd+ݣC-2Bv`.ݡ4?\=c V GGjT9JI$I%xMO{#T~g2 &[>L)]_ 顎 mOq,uw;$4ɒpi ^&NMϹ,Mz~!6H -VW=*ښk-h}cZDL]>O}|ΗNs2;kosO?u$I$^}0?zzä\ü1^$jwnT9JI$I%]W]yKVI[3.gv?uZ8zcmy*'wco׏x}l|yޛxk|yޜ}p߫6o߫]w}l9WmsLV$$I$^.?Ʇpl%q^ 9T%kI$TL"n:y.33]%^W-3a;50}W7]hòdq Hrph~(}`6@ 8x9SsYh;&@?]pw{rtI$^}0?zĢis1 fH<}%kI$ajtcNC=GH-huWXm״v-^YSXk!$ e_oOķ)oW8K<\މN@fLWwҫ`qsfF?TOcanD8Ȭ-aَ^V j@=H-+gͰ{rI$^}0?zᆗ!c@xgQVI$I/CZ=In?F8}>=\L){q.p-vk|a^m$8{<Ԯu{Fl~@t[=\qP%з2$WsyaqZIS!k2+_ޒI$Iy)%VA}2}۩BC'0?⿉Z$I$Z~nx TXjc78 xo$zys^/bWH [3ysMzp<>Kmآau:4gl%3ck]WTο,zn"7{ eY}MX\li|N'QmǮiqnp#~zI$I%X e%T9JI$I%m{DUA-u#fV%lC\٣w 4[;2KB^9< -Yyc6Z\t1z}KVӵ;Xw=QkH+N#arO6T,с'WK>J;ظ*K׽$I$,SS2%kI$qk`xju]@.^ pTU3jH+d5۵njgh@ԭ-:gRˤdSPƾI5D9٢)qư<+>  #p}W=.qm5 qDL*mK׽I$+S2%kI$r3x$lZ_YjU\\rsw$֑(~VIf^p&,f֔)~8^QDՠ E`a%w+fxhn4oKWA ˆ`׍FoqMI^ӡ}\ul_u!km{K}-2[|W\I$KϿOO\K>s+I$K~6ɹ@::]Hˈ4vzmѿCry-W>wGgr=gddcg[$S,m2[%A\`|F'X;l, Ä:h1_Qmf_Lǒ_g޹ ߣDu$i?Zb~2xJI$`qT̤C'0?⿉Z$I$I$I$I$I$,SS0%kI$ ?MK蚗05/aj_`DԾ}R& ?MK蚗05/aj_`DԾ}R& ?MY}S/i.h'__ç}UӅMT1l5 -I$I m { Kճ ka/Uf5ݷm s @TޫKu5Zo/Q["F8{'wo-֑`Ku>/'2I$3UXJ'j$I$~rq(?y:n$3N߁߉?ܤ2VtOP?ܥ^f=qAGI$I%C<~*% O;>$I$ Qi7K=LoLcY0c_4Τ1$F<9)j{xiI$I*9% G|RI$Ia 턆#Mk I/(|Psg"2?jI$?H> -'|I$Icp"~iiDFC 3IFlH\!~iI$?H>0+2߂"I$I,&Wj=R N;k5($#bӷI$I*#>ArSI$I% -ml8d"1> IB"I$J@xQjSI$I% I!O(otGFP"VI$I.QfI$ISڔ% AJ -[O[J[O[O", -I$I![J hI$I tO)[@tI$IϤB+>RI$I$(JP I$I%ЈtI$CH$RRI$I$I$]dc$I$endstream -endobj - -21377 0 obj -<> -stream -JFIFAdobedC - - - - !! - }!1AQa"q2#BR$3br -%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz?WQMGjC6tCZB;oy-N\-GE1ZFX*r.V[YfmCoq.m'߉>_ xC]&$/4~]%dudw 08?@+M׌x.fSkn']~"'+’3myewO`n&> gt5 ݶ`)qVV3#bwv>e4l#&9JHL׉ (gց4D\,}2ƿL#B>'~Ͼ)H.Q6os>dI|%\s2k㏉<!pпak6$(T r99㟈~#Tks oOٳP~_n+K@5_ ^xv(53UԮ.tDK0:G -]O*sKםCYohXQZUendstream -endobj - -21378 0 obj -<> -stream -JFIFiPAdobedC     $''''$25552;;;;;;;;;; Pi" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?TI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I${-mń;h?u)z+OKA_^w -sWn&t4\ۧI?M/W;iz+OKA_^w -sWn&t4\ۧI?M/W;iz+OKA_^w -^2:f.k _q Up_n7ۍt, -sX 5#V@+`{>m6?Mfg^oۇIfg^oۇIfg^oۇIfg^oۇIfg^oۇIfg^oۇIfgI$ğ)$I$I$I$I$~WYTEd\*k{ >%Ei-#h'Z*Ma$I$I$I$I$c(7$5CYnFe 9sZd'7u`, wo}%s;ڽ?D] >+Nia85HY,0;H}IZ$c0v{Գo9>U"ֽ-&Ky;kޓ"~x /<̮+L5Ղ7nL]$Ibn. -^X-aO~EV oy{Cd4@ о /媒o?oVI$I$I$I$IV?OSSu*7n,=bmb5.!SU{7xZN_cj紹NxYUqnC p i$%UgTkKC \GgZȫ*kݵ6ܛ ˧ꭧ2(ƀבےG#g2k]mȝN%> vEaղ s*cP[,lc,t\^Mh> -Mn?u{ \:Tc_UuVsOn -7u|jӎhvLN¼PG'Ibn/?NJ`A=φ`^[_-T{KZ%ѩcz_꽔1Oq 5uKWA;OkCni.Bԯ -6YLhBί7S*s\&ckuy4"nƇø:Dl0aJ).9-k,a)z?I$c(7$5Y\]' "}e7t_Dkqr/Ujc^>-kRٙ_VF[m2\@ao]Ž)`c& qϒ!_gP\&ϤZ }N A1UU?~rIWmԷEVLoilD,ݝsp>X4nuBͿ[eW-nc1K,kvmsNDלl~v\@g9Ō|dq:gIXtdoF+MYT`Iw%gKչWmNc4ďvuXYCl ڽ qh{fuoN `nGR,el:h ?u-qsnsN\~c2~Ho{;v + v߫/3Zصq?|G[ 顄i^~0}([$I,fRDZK C &!q;tƩ!z*a;4|B00ce, tnlhc]?)Ǯր}iclܵAPvmWY1l}=.`'$aj@0em0,l}ga=[Ţ@ G@B(Y`! S7`1ُS]|&tޟ[ƩC3+0-_eLu=kGI%B,ca0vTW7LszoOߜRUG-hu#+zv}c &#vUo>k; 5pF2ݵh۳ !IlcHTqj˨| \Bq0jm aqphPbdd.ָTopۻC jGd(hmxo (p*8)CdnL絏 {xԦWI$X=mObΩoJcZ7ɀO*O_X>Zsz%7{U:.z{j7Wf<"]pPe7k=u|\ = qbBz3#~>A敝w -ެ7K-oL}6YU{E/e͉2ۖI$K?TœR2'qh-d>˺eU O,u=K 7k,_5bc+ݱvI -1RXL8zK3-Sh>!?`iadӃN[U@4`$8W龫m>p]W0]KHkZxϬE?uᚿUGHd &Cb5C==na{7-.<"U.]GWgQ`{R\̓ЈKwşApX {~?KɁ>I^[_-T{KZz[KթՇi¿s)` w%I<_E3ӜDqZX7tsQeR?u*x:oI`#')~`sOo<|C%8 qTXMY.];UO *Xsz>DW*5HSK/*Kk0I"]?Cu $I,61g, mnU p#^cIeH`#$ -< #Tuu 5~FKK@ o-]:Nڣ[qv>ֱ߫6ToK4^~nSS{AUdQ:\/RgQ%cd>ɴᪿuQtoYI$/ -?0mg̦\A.{^[_-T{KZ9ӕ3i9UϨQnwwvVV\FoEoHsHemW2 {Q{\Υ*ڛTex=]7TYS68w-Mjk ʢz^3㪫@{:VgM~Ckƶ]w+;8eَ16@% ׋{3.ʖsZt:v@|-v5ۘ>:kZw?פI$z?TŜū^AoN޲hoD-h+}f$fxD˜f]wjr]1m͏kp/ jiw?9ۈWmVm~Ml\6ިb'}]wҪ[?^Tܚw>pԪὺ>ɴᪿu<Ϝe{Z i }I,_:ap 0= |6B/Jh-XI$qʡy5X#kh!|89cS$WXy3ݭEĪ$KI$I`?9xlf5IVַkd L[;op8{ϹZX:bT*c_#]U6HCHU?N%Ԋ!c$v`d?Ա~݅qa-ZDZꮚUM c5p{^c%qd_OOɴ]H;{Ou#3"U=prkz?NR,5}8%?%zosW1}mvtFR7<($~WYT:,hs 4T>*Y$q#Pt[_-T{KZ90 X8Y,v]_2VʚCs=969Z`WtH.`.ig9UIv]&cw#u-&^vw2æ:"E-t{ -xBV״Œ VR֤I$z?TŜKO:?I$I$I$KwşApxoae54 - ,izoOߜRUG-h点ޕmc1`wLHsN*A=nQCcx!|aatbQǠcpîAG UEx \7_)A98YuWJ_2I4vnpk]{XsCQO`tRv+.K\u<4­"Y.spD7 _q &Z`"UAHn>RI$X=mObI%*uV6}&Gu4\mQsmƲX =#Q~sZat<L9,5Gy ݻ:[4)9dvCxP"Q@к%ypѻD}Ś9ތI$ğo -I%*a2t,ʡ3# 2ޱ}kW=ͭuݴr-=ZXl k,pv{Dcu~>LT[Q"4wKUAmk p?|e\vH$ٿk%5k!c6ݯ. aܶiS\}^~3TK\fH=|ՌNc=:AuHb:RwH:ce:Ƶnp{6ĺuIiOk`v;zn) dM^y w^ּw: w}inꝴO!_gP\ݐZ_:cYE!nvC ~ /媒o?oVIR_g-ioW>I+88O̳hэN]4U]MQI$I$c(7$5k[ĵ_&c^]Nv(I$tӇws2s^,Ůh0fGVvA}[ǔ|TOQ.vA1'OQK,5,/d:5RG"vZ3v5iwgO$ܚ`; y < -VW`-^h3X,iõD'Q=K*}pxqb>)P8[7JlsMV4Ŏ-wcT*>'c>?Et+S}&]c(s^NI$JꚬGTrI$zV}Ջ+؃h>}bc,Vfǂ"kBzƏIH<"}8Hz[z$*o6pwstC7m8C@1̪BDH4':%=*&FAw?c1yj. 0XĂr'%O^GVfv|[+,fhă q"tK E Ze/9j6[Մ.|b֟}`&Hr&Q?EC -z >W&}7[3 ;c~,w]f&>owA_ynI,_cn6[`At)Nա#M9j6[Յ363쵟sy5I鑏+6JnOHk2r/kqa ͟0NW?mˡAd7]8 -XtLLÔۘX3 M֘>sϒmո8j$4)e$I$3E+7] kW0>n)u]p2hqSǁ-+cZzt}p,vQih7M|5^[_-T{KZYmĤW892%E$ޕ4{keS/472pU㹯55q ^::U5#qK\c] 6|,Hėw?Ha׋H`cG -T3_GDI$I%}zNN/+[om.,-xu{AەgoV@#)CSKD|B:[`\EyX +}X1X7/E{vONDT[ٵt2>Wںwtӑmw5\31.gTͣ]˯`;xv+#_U忝t[=''Z̶8쪧L9Z22́]7] ͤLFqmt@tO<Ì(95ebORI%{3~sI1wǷ] -KwşAp8߮0K|ĥyym> >+ /媒^6M6`[>ʳ.k$['#o;#GoNRƣ.MlCaf: @\2Aewnu,.~Gm6~v[43_GDI$I%J$6 HjqW:W`G/Ɨ6a>}y,Ac%ﷃ>!cFE 0gVM.-\{e1?=]G2-oc Tk85R~z.f6[ŘZȒG-W:֜p]88?ȳRBtۈ2K͙8n{q?;o wJckwKÈ.vd?Qsc0L-ĒScmÚd.ǸAsA#B!_gP\&ﴴ48֓d}V_U%_jLS'G99 pLv`ى7۫Lrg.[v-hutܞ~dX1^=^Ϭ]Ctc\yV:uƼۊo83IZ+;1ީVFN06qWn_n7I$0~V7nQvk_܎\7t~:e t̾ȫ#'Ÿٵgn!z>^66uUe9YM;k#8. %$Y:xqYϋ-\N.{!-z:[+/Fkڝ`hv++vhCݛ@ְpF #w -/ZK$9o7~C߇[^O{)¦έM͘?›-?+ueN-A\;oMGUofzc hX~֧A'jU`^a6+S gwb wşApxkm.p%@AK7IЍhDi9j9\Yi[}Ӥ8{? I%}YPwUskm?^5-70|&[KGm KC~KO?N92ig^dy!O}FEp6M{w 21?zI$KYeme]չոwi-?߬=Kg}ʯ2XG!+_}q35pg&zo':r:f>{c9M˴ VAeV ۵_5ϷdKJnigY +[G+O`n}uLai2Pj,m~}&9À9_.k}Kl c:#uʅj+ -R3)/hwWӛq?MP?mϗ ˪i]uԲ[Xuᵿ/[ؽWj~nGgca?fU63[,/>|FX[+, cp}n-pSIqI>kѾ /媒/s5eGvUqˏ]+ZZ |`8j=wyT]T?]'__2hmicC:'trQU7 k6 i -]3#ͫ}p$r}r -,9B7F⋁f{3$cz_qswݠ{[!wUb"8$/ -?ԗV_U%_j $&'?S.~WIs s- |i*_O?.RWb`ug̷W}D=Cuޤr(ɳu,閂v71 DP^-u'2zqX5-Gy6tg?$I$c(Tp!a]:6זt}Qn[KIULp]Pxr0L_Yi:*ާbʞXÚ`'KH7>k\_u[uks զa:u^Vzt{h|n12՛$}9'ͯ>V:f0ZZy]} q{-̒8D}%l l{}6=?tX[+,jԗV_U%_jIjtH˸h?尒I.w5}sV\Qx#s*"{*]cHwEՏ{~t*}/5qo1ƒk^ZA?I$JꚬBX-j+smχ7@ nOQ_U2 54HRը֢.Zc=z[d;_Pk;VgReև4YXnŽ`xl -L?G׆GOc,mfkY>a+2o$l~kF.nh*i$~WYTV_U%_jZ;:.ECPm I$3:n}]zgP;\,F֟h I$I$IV?OSUD*Bh+.﫸V-O0h;XӦV cqUsp13*uv<.tlOxxX&> kOefam=}5kZhfKwşM^z9j6[ՄI$I$I$I$@Oi!@rxr]?(ӿ5ro=;Wjo=;Wjo=;WjG_dtW.=4 q5T -DT*=9~OX LZңtF=c"?j_Z/-K~7kc8He~_:_ħz}UӇUT1l5VAo{=f0 ?MK蚗05/aj_`DԾ}R& ?MK蚗05/aj_`Da$I%/⤚783ktƞ -gITo}:Bv47dmBs,ɚ5Z8.<I3;_gBP,sH k]M$I$I$I$I%%$ Z -gbg;24vݚB Ϥ~Hձ~䨿De*A! )pӢK^ I/|*τh0ς*H7ߚ-v~kE$I$ -{r} tI$I$?䜘B} :)֦v[ICj[QI8Ġ[vwo1>A= -T5h_y{ ]t%q$Ae/ʨP0ς*HWrߚH}䈒I -cvoʾޥ{-1Iendstream -endobj - -21379 0 obj -<> -stream -JFIFiPAdobedC     $''''$25552;;;;;;;;;; Pi" -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?TI$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$IW33?M/S7?33?M/S7?33?M/S7?33?M/S7?g[]zM.?o%.?o.gt:kpa2Fr> -H_evWULu]ɽL K@p4L K@p4L K@p4L K@p4L K@p4L K@p4L KBp4L K@p4L K@p4L KBp5W[^/k _q Spn7'ۍzzeF}Gh$s`s[sX;D0T=L,K@p4L KBp5a$I$\o?ֳ5q)/QJh-XIRUf[p\=wuhкxGʧ'x;la9( ef0ًcmc\X\ 9d-ayk$Uu ۖ ێ\A۩"FSI$Kw ϒ]bRU>_a$I$I$\g??#W/Z_I`T,VH -]T9~rIWmԷE ,LVK?r8Z tnmXKV}S^\m1哺50u8 |dO`~vx·*Wks6 ө.)W5>Kci甛ױM! |6Z6?t>sߪO7Ǧ~% AwY >Dk#X:6+{jiop{.Pi6n\}jgWMs(#/c]@?kvw({r tb/fv'BޡMwYV%\wbUWL NeBQ}tl; -WB*+ -X&{" 9 VVz:^ۺ6}%c_??m$K3uSFCC1ߗsK0Zԫy/ Ek:J2KCgj/QJh-XIbd -YT}f'~6%;@pʶOֶݶ#F(~F._?Ӵ -M/k57Uuow5KѲ@-آ9tt,׈6?Z,c 'PrY!dAư4 -oRl{#AVZAcead4u.ɏNMt |*rrW99;I"abu.VUb ]Ō?ճ=!ӑoM3 kv;5ebkԼuNϼ}![z'R]bRU>_aBʙk6);fZ`S^[]ml>#Ĭ:~EٷW1ku_YhI1w<Iq`l\OlvNJF{㠏_9k6[Մuw dKcd7uN@&VI*5eԏPU7: ?ynThh! lbNddS6X4hԪkiig8.pWOij22 Hq'.WɴR͢aŮ~PtI$' -T u sE,FA tNa.?1gt)*BꂰN.u*p4I;#4W},8y'~lYk:Uk37i[Q-[-4V h`;Yg$?ozf!v}nS{lߥ¶KGgbp=64` gPw﯑Ӿs/宒o?oV\鹿`X>Ж!~m9w짻%Y[XCl/ݾH{C?f3igHw S3%5ێEn's]_]YH~@v[(ui}MӇیXۚWPz67hq s2&y.Uf1sUn-. GtgSϪu;W8 -[Xv:9ОP,N|9eex"fu<̌貲z s=An<#,{+}_MkXlԝΖ8Gu*5.Vsic `V_xC)ٱnK3+e$Ib}pAp@:LK,Kt wA:#? Y}] -JgЫ:$>L_yߑo}bi [Sxq>l| -)ktkY\lW[.0\sKyk*|GPcc G~V3nP\ '$7<'찝{5w ۻ~ݸ OJh-XIceu.s(}`Om"NWv~Mv W; -]]R иow:-ljEn9mkX[[-_` L)>dyc]')G2L,739wz..!ވkk˚}(d⃝խU9'kdlک}Y﮺:i}$߬OiuUf[ ՉI7X -RoXs許oI-jhۄzxQfh`k,/hwo1K+ًվϛi;>cU _< >j9XZ&MV55b}l.A5ʭc1@3\NJh-XIgǩ.2Ud/2 -vހckl 'T.]Ulȵ>-2ec5[rC8amn5AXŇn泌/%ݶ,6a:+&>Y{,_Hn5 hqhvK7=kli5D f+<}\ݡ:Wz7ԥ`;^^ns6 2[+-ֵ?v@RS][O2k.y-;09j`cCjYf k9Uh{vu1˅O?_a1>C;ddս!r k*cZ F0V۹OtjonntͰDuqX}C`ikg^K?-t{KZU/kiuǛ]Cv@yxᕴEikcmͦ{=,n׵ͼ*dS6Ǘ0R>?zmg=g8lfu~b`uv6u׆_a%fstoT~T;$2\]OƯxʴhI %_ aAq^K?-t{KZ=eokl^I,| -M.<+w k{EYpZ[@>PJWB*+ *Y6̼,v9ોJRLuĩ2CG⎸0Nsu {57jpZV3ee^_lVxmwtB,gX.[wLjC=6`[CL86p]5βv8wrr mn#ɥD&|A 'kV14 hcT+CIo`sn^ǹK/$yfy^K?-t{KZ%`t~+1ςg<<= :L !XŶͰΑk`+I$dRcK\@m7嬵n@gn)[Uz}Xtq*kw h}nDz\zlD~h wWiF|ϡWuAXU~ɉnLHr}Mc2"}kGg GSIoWzX#S3SwcO:vZ<ۡ^>=ޫIwk -lƤA4RIqXEn[y ]׺_9k6[Մ5wȲ8Dqo3'Tz|~X.~?0,ӝhgȤ316Re3?޶_mH?*9c7;\Z%Ľ@5t}`%us-p$ ~RKk{@KmT[\5ۀ>?%t,zM*dk>-?X+]k D ΃%B/i4 wR @=iF|ϡWuAXQ{cK%PۋC]6yI ntz?ѳЈI$I./br-0 9"nɝ#_^K?-t{KZ 2%Oucc1P4~}k.'Z,ӳvfچ|bH;7|JI圜,is \Yɫw{OZ`dd>kØKst3}~;tmxNݺI ;߁ !Ok \6ޥNMWYx:i7WW쥍*hoCksiI^G5T~E4I$' -T d48õwxK(mww f{õ]bRU>_a:c.A uA:ee{ٖ}fV _Im$I$K|\(sIU;̍Lvz/N`ߜUG-jK[1>2 ~ݱ| o~GOgH{s{XHpc[/<Ë?H7Up>eӛ>IsyesD]EyoӲC͍{XˤO.}O7f8W^VSԬnk5Cb[^oPĮ E"ۄpb>jQaunH.*ؙWne#q8>KkT(nUV]GRpH,,f&CՋvU^8h:mph$y]QI$X\?+_P\ ?O;51 >C;CzG,%_3U_PVYgcoc>N>; -YQI$I%_C\.OS{}7]Ӵ`tzu:z/N`ߜUG-jK>Uk]f}.NCaDi$i߅ea}Rs߱s Ł{t O:PeX2l`68Y4?>΅~Uk7wI{2ΧkJX}"pZ8YMt+O}f']Բ21Եkkft*:?_\k"}gK?MevEʷ6Y_ZɍDdV[jL~+mZӲk[k_Y=ݺ;@]CxO SqakNg;]VDDI$' -T hi I9>_Ȁ_ >>B>WB*+kw*}Ė4'2~ԭ W{\qZ$Hw`GJI$I%_C\._>\ ch1Z m{\d>:/OJh-XIy_ a[h.m(oPT1Ii3cc4 C -2Kp-5||@W9n8m{LG$ sh^FsG4{H"[5ӒRk""I$Ko $^l -y%`y?1gt)*Bꂰ7WӲ]I.D:#^+_s[,&as;jyY^>zI$I$h5ճuӴoɨWn}-~+Ӿs/宒o?oV^ci3wݙa-{l?|7{w -U[gPM~]cDKΐuWZմYꇴOW=:55>o( Rk`ͲUI5Y; -?Uu c*. ĭfeJZWv'Hī1We!hUfOɾ֖;OI8cOT9cXOcj$dY Utd6a`i֟K-PNJ.^5i>clױQoDI$Ib}pApX.4OAGd)eVڭH۷SI]bRU>_ab}gv7䴲?uG8tO>s8? +17zI$I$s\=ۄ s>6Pnvuq:9k6[Ѭ1XCZ$.O?? dV+od[ew>݇Pw7Q.bRM p#|KX/wi -0Yx~U-&jdU>mn KX1bl+s_ˍ[p:}oPڲ+pʭ۾4iPwE{s+Vˎm![=ޛ$1-.A!G+fJK,ec<:64;gEcSGNٷm</-q+hf"$I$>W^Q˥,6'%6Ysod:ܛݔl?;iqBŴZ;5'[gf-q΂OX0#(;gi+c?JQ\XO>\j´WSv;IRS\Al{nHἑe jcN4)I$>V^6~FD4H=N( *T`}{?z뛅UmVֳW׹"Lw t Oo10i&)߉l cm۲DA$4QxHtGt`ł6?wp4NI$![z178KH Tv4.?1gt),o׫>1pT2_RW7TFcq*ݏd =>kc1³qdock|$"caf_NFC0-sǸy >j kkUfAΨ-9Te ƀu>ٽ.鶫CML q׵Q=?rv6vKtt#F6ƇϹI$Ib}pApT<2.,F'|E֛\DGmF7uWə6ԕ u?AcY!yZ'P>rg`qv2֗3*#aKO>L=`DAI%np2+-6;DL$^K?-t֎q>6~FDDdz*QXV^%G,%C.Uf_M%y$^9h"z^z&+^}&,pc]E{ߢMncM; @) wpp,w 8v&MuZ^C^7uTQ %;c'\W|\bC?T9~rI`hgjI%Njh-@55I$I$I$I,Oׯ/>IwQg?﫡Ic}m_UzgI^gYQ=C/l]#dªEW8vgrBii :q'? _sxled4>CICS:ܮK[h\K>|.=;!WeՉ7Pu-^p$R_]%O%kSsn-4 h\"SI$I$I dbMU[9g>܆l&b8W/ -T$3şФv^êSL3/Փv]]滩l1Շ] tOG,& 45o ɓzH.8Kxo@6q]ahi={~uտ=Rú.RIq_q/QKG8?#V"}̢.пrΝke4<YI$I$I$Is]ħ=`;+MD2-ve)cSŕd=$iׯ/>IwQg?﫡Ic}m_ͰU[qѠp꺛"TC8<Fו{?f~ܜqIw$I$/8? ?Iz/N`ߜY[F-;0cT:.) >I$I$I$I,?="ocUb׸hƴI;3Uq]K y4v{/{zSiccko ϒ]bRU:UK*unkXnʘ4~k@@T]~>9e-a|ChZƠ4~kѣiFW~gȷAXI$I$1yS/QJh-XI$I$I$I$YkW֪/3!vj*O]r릚rf6hpuMahtzhvEOq}A hcZ}pAyK#? Y}] -JgЫ:$J05/aj_`DԾ}R& ?MK蚨uNӬLz8T?cO/+`[>ªZ+c[ kD'VRAo{=V' -?`DԾ}R& ?MK蚗05/aj_`DԾ}R& ?MK蚗05/aj_`D;}:R8FT>}R& ?MVI$I%K T(ZxFIdž9ȝ1I$I$I$I$HHAT+&OW$׹ܝ43Ɵ>gsgBP1~U%Xm~jyBӡJŠG noL^ւD&e 0LJ|HJ/v|R@ߚ-wp ԧI$I$I$IWvƵ:ਊwZĆ#a&#w<0~!P^gEXI/|GT:n_ IACrkmp߼m(-]<2{mvYzFU33P1g$BPѼ -NI$I$I$Bٙ?zW'J?e$]&x;U@endstream -endobj - -21380 0 obj -<> -stream -JFIFAdobedC - - - - <= - }!1AQa"q2#BR$3br -%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz?f_2xg@ ֧kE6{,`@E~|ZC`:o1M -guНE%Q ֙BvG'Zg w_Ui'i}U?Jk>ҭmnBI/#vYUydFvB80N?N< M3~ҼQ/ d%e3i%!d}-ޓnXTMWlߣ}~c~c[9a05}z ygoOoK|asf?+o?ޣ}z4RýFmmn/gvĊ^{JC=[uvKe 44]`$g.r9~4_OO^u3~Hba"rώ~3~?sǾ΃hBI^mܗ3#&?y/V9%_W߶=ǕHϦIϨyo>b;'9:O5_Wo_4.WTwّAˁ_{Wj Af=klo j:?mkRh[^-H%nF,xxDH -B5ϧGϧ_NWO;WԹ̼y~~ͳxK`oWV5s8eui@%BgX -jU{jZ7Pϰ(xK]j[HiYH9 -q~mZ@[ _endstream -endobj - -21381 0 obj -<> -stream -JFIF,.AdobedC     $''''$25552;;;;;;;;;; .," -  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw?cuD}*A!KUǻz,ǪE5,fw;53#4Us,f5dܗ1.=. -z`ůUw7u^?"w\Mk[ZzNK45nZF - Y)u]m-ǂg7QUْښqr[HeT=wr -vG;G\XO/G׻}6ni3funר}nޟ: 6W8 > Ywtܯ7c<]NK[kkԞV.{z"2s{-V,y襥~'Fuhn S/Iq8N]טڲ^ױLŰ4I{wdǦ^EMǺWqk'߸`zmiZZ*;??b[Ix W_Sv zȮ#MAZe!n;j˰93a !LQCWӒt-j.oR'mޓIś> -߷wm>ޠ:ΚHuWܵг_gTQgnoz:W"m/Gk>Vapi ->'ߵ}Hv?so%endstream -endobj - -21382 0 obj -<> -endobj - -21383 0 obj -<> -stream -H\j >wٜ%PrNReby6l*s)do݀@q;@ڂ.]bqi"w8=8YWȁf8}ކ3aK txg^삠+v!a{Bhk 5YliFe̓T?}YV-ަxBm̒N(}H)&,#o0endstream -endobj - -21384 0 obj -<> -stream -HW{PT}. TTP/٦19cv=V8𡩒'Gʥ<:uJRf:}HJ}wO9'-y\rύ!!!!!3`knrZBz<3+A!1Q$A2cxb&bҐɘ Ldb0afbf#9E1x_#BY6|-"ucl"~$(!4U'DhBxQ4Bi4㋲<=,)JVK<)N%livy -F\_v9% ؇oc/ncRR$I"(}mqfs|dvyYZ+u~&cG-5N PUJQX>ݞk:4G#ɑHsd8f;86:ڢQ~q%gDC̸ƪjR@wГ>iKtD+s@S#ooo|E} ۗӗ7ޕŽz {zx{<=WOMgFOrKG[cEZfSrksrR2E2\*rM.G2U0f+L4ȿwߘ0<sauꟋ6b|<[1>3 -힠J-A_CcXQ&C9;Ba9@6Ũk| }Ս aP= sUqSZmj#dۈTbYMž& -r* L2R4|@p5=-*P/T> -Ӷ ! {*@KPZx"P'dQQ,o.J>F˫,K&IHRbdl^VŒA<1[jooYVM){8!K2{3˩%廆,>+I43J]EJ+Oaa>2ꞟTԘR/6A+N7ߩךWs[3W>f_~ q n %W([#g,F+'eVkke?n 6K3+e@+(QkT8}ַNF?CJ~vr Dc@f+,\+qIBcϠ.Ҡ}ElqK,uwby&7m,k[n*v1#(?F4/0ئw:[y`w8b7w#W0&ݥm9씥2Dib ҮV83mDgFe- &'yY[< ex_*"|rendstream -endobj - -21385 0 obj -<> -endobj - -21386 0 obj -<> -endobj - -21387 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -21388 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -21389 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21390 0 obj -<> -stream -HWksܶ_NP'Iԏ$vcm Itw%W{db/p../YŇJ^|u[d4sIT.,`_.6b$G)޼6աܚPȡ.䶎^-%MaJ40'hN(f-:W yWcݘ-9;oߕSwbFv7a aR 8bߘC:eDai?W[x#p@%@W=LɚDZ W0/sllH+C8c.cb,dye)kg,czzzzzzzWzWzWzOi>Eԧ Q3D}Y>GQ5^5>,CLcۈ#1 -e}̲B>,ĵ>fYqY>p-G\cB\c\e!rĵ>,ĵ>fYqY>p-G\cB\c\e!rĵ>ZP qYV,+TcB\c\+e! -ĵ>,ĵ>fYqY>p@\cB\c\+e! -ĵ>,ĵ>fYqY>p@\cH"1 -e}̲B>,ĵ>fYqY>pD\cB\c\+e!Jĵ>,ĵ>fYqY>pD\cB\c\+e!Jĵ>ZP qYV,+T$ W2XkIYD:$M5Yn;#g\3hVti=23% ůoϖ_h$rE ZMhlHHh.3ԡ ( cT׷iʭa2t 9VMYl$\')49NDNEOrmlNq]nMq~ky찦'Q5?nЁ\Z7ݏ;<3dzi"OT'X< LrFGA.UJ!_ )l ,$R;Ѿ:z}9Rkn̖:45)&T@g/'@aUpP ^e ikӍr,0魇lCŸlU7Xnyyk7;>%X3˰'bHڨ?6_}K^ FA5@!}jV>[j2", zBex"Pr&z8MhjQfErB*~h3h{oT:)Dem?x/~qѭ"UTd q:Lmv@*P[ݳ==Җ 5VG{3p 5o/NJ{$eWc#} -WKr*`/&qڐkpPٔp5^Iq9џIC{917TM+D ->DKgWP̺{}~yo0༖)a2 LSz - --Orfg/b%[y*1 B SRauBn]nyOdױ8b=<{m1.+ 9'wуC {o_˛&A,n}@)k,0:}S_Hj~k{SHf.RiSAG[[x:U힒2 m,WZlR6 COD]"qvEP#)1lv=כThš)WG4 yZ yC sO!$E~n-Y#;NsZMxfCgzX} -.Ѫ]ݐJ*uNw+p 4S7jM1F"Gz1 xFҷ -RB9koWzllD,gp -Zl'o*RiCoo F4¸eQ߷ʢQq_ṋO\@ VwvAOn]6IښuW={W -N()EZT4+}nuJ՜܅NXEʺ-S*24Fh8\lS=HϬ,&bl2SThjm T -GEen[M77µ%C_Ç$tdыڊ [d,QYQ8  wZN[UHħR ex>z.фmުz{}S -DakY Zf>t!&V:nV:u=S֜D()+p5U ^}y"^o3UFj5xOSxU15L -Y5J̧L\)lR]ORC+"fB -N zbsm8|m+A$)9Dۚ#_=6`kBO'SN37-IAghsoUm~zn.9:ȓxl΀ܜ{ԜIED܏d5lnez=L5IڴY.:հbT.ΰclr'=9yH(+cH[faNC5lN6PLX ̩ D]5zf)վF51E0Ɏkϴi|O,8ҟ% #M%$T3)t7׽9 -#w:|L@+ksԥ~0`~s84Y_F=z$*kyN y敠d W5E+%djDIS4b59Ҝ2Ǎҡ`$u!;9AXbi\7Ilc,fNxtVWYÄ -{.~F)Q`?%CSc [:!TXlW,ISG^Ƒ,pDSҝ[7Fj87!N -A묕+́.YXw]pMJ=WoCH0fM̫ܱOT - pTuU>Bܵ~QQJrWyQA&YwF6P6#4r,>`P[՟̪I6窖>3Q}=M&HĀxMR_ib Ate/VyNyITcr3VRS?D5{WGKPεhb'Ers4vŋ E;#jMH$s(oɊ(N#,ʃ<(084F=Qҝ?];an S0ޱDs5C6*Wmv3 -7 /D֥h SsE\lwPK~4K_G_7ntendstream -endobj - -21391 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21392 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21393 0 obj -<> -endobj - -21394 0 obj -<> -endobj - -21395 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -21396 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -21397 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21398 0 obj -<> -stream -H[oV+t^>\& Pj;Z)goA }P#HUG>3>3>3>s>s KK+:0R[%LԘFZ1K)^jDS ZVjLjj=ZVjLjj=Z1ҫ`jFZ1ҫ`jHփQ`jHփS ZVj$S:ԈS+5tz1K(0Rc -WSJ)^MmS+5J)^MmS+5@z5LԈS+5@z5LԘ0R# -LԘ0Rc -WSJmD0RcJQ`jƔN/5tzVjLjj#Z1ҫ`jFZ1ҫ`jH6Q`jH6S VjDS VjLjj#Z LԘFZ1K)UUE?',83M\tqVdlҕ]]> Դ5M.am*mq?z~_whMyz18\z]Zj}^n,R~I8}OR>ͦY;ᇕS5yV a6ɼ~xh:yC0 >p~z&͊#4__jNkg`>RWwp@k;~8~<}%;͜ ]3zOexnv9eɧP4Eb֧F 6f3ugyk&yi. Ďˣ^,õ]ׅh3SŇ=oOj/4E~!p9u[iA ɦi_{PlUƓոڛa=z//U6Kj@tJ շ0||e{w1|mS[ЪlWVn5W3|Q4'J7,[ݒ)R[q`^RcJ{I(r)/KރK)zARRc -x{{1T=Ԙ^^jL/{z/5}SKjDK)z@RRc -x{1TԘ^^jL/z/5}SK>K)zAƔQRc -xG{1T#Ԙ^^jL/z/5}SK>K)zARRc -xgRcJ{I({1*[UUM?HN&O_]ݢ1?ԏgs<+pPE_$idEnzÉdsiscy|ۖ4:ԭ]݆Vifr3x)AK Nnkv޵tkF'e6_fHV_:HdRSc;kOgح^,F]{[_ -=0Kz\םyL$g?lXQ8`}Į:rt7z1f팏ּ{Bfx~k.kjg9]|kL:,Jڇay!IZ8bJ c=3*C+}24~'^ϣBc+*ʀW2)x+^*W -U(xʫ^W*UI/j/1F^Ny9唗^^yyzARRc -x{{1T=Ԙ^^jL/{z/5SK>K)%5@RRc -x{1TԘ^^jL/z/5}SK>K)z@RRcJ{I({1T#Ԙ^^jL/z/5}Sez{~`!h޶E]@L;Bt[wx"-}93 .>]t]}P1Ms-躨tcZuQB4͵B4u+B4ueYv?/aXG`]\ &r K^/ LXqLd,<+˾7f Q_k2Xfw誩;- m*DͳDhO6=oƺ8(8 Ptl`iE+)d&m)\`<,'H zc;C+]R'&9Mxr.*U)]t\d) c P2QB8/xn3À8yBM߿nFrS뛦l!^.A5TҢ4@|[3#:;䭯$;٪;/ L$ԿC .[(O56{ԵR0noBE*f/ZwBPLNDwP8 ߡonyYuJ0?( a62Ы[LR@؅lFuf-.]cǩu53avW Tm$WM3A3ag>>Ow]#噠lx4X\٢J-G ៻u> D㑟i R2Nl2M[n+8"D!( M$[,V@4Fcuèn3W픤w2lwލ)dx04+fP:{Jp&)^xa,"YjY-1ed$_ہYp;OiƓkZ$S,ߓ_UU32vL_4(2t6ͼwSZX`'aG|wt|l1K=|%pƀyHJNv͢:pPOr^Kg9B ;?3 XIqz[mͥW11=7p *)0a5~RHChXs~FEA?;mZ٢Ә\#;2 $zkk''=Vpog~\FZE0 `% >>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21400 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21401 0 obj -<> -endobj - -21402 0 obj -<> -endobj - -21403 0 obj -<> -endobj - -21404 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -21405 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -21406 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21407 0 obj -<> -stream -H[o7WQzX Nz0 AcH^I ~3uUYR,4_g:E{O/B~忋vRg7Nde0"+zQӢN,/w߶/o7vw%nwoot,-6 (E1ETIl۳7۫͵8Lgm^uئ(]ʃnwGbAs8kdZξuqJ;o^ߞtvP!T9w_g2EI}ϫoF)H_+ĒmH*%Ǖ_,c&S&#F+K N5 - -{ךPqo{ø7Ľe[2-qow{G;ƽ#=q{ϸ}`>0qHG}$>q̸}fܓj&X;,I- -Ec (&X+uBQXI- -Ÿ'5LjV(=IaR5bP{Zäkbܓ&XI- -Ÿ'5LjV(=IaR5bP{Zäkbܓ&X;,I- -Ec (&X+uBQXI- -Ÿ'LjV(=IeR5bP{ZˤkbܓZ&XI- -Ÿ'LjV(=IeR5bP{ZˤkbܓZ&X;,I- -Ec (&X+uBQXI- -Ÿ'uLjV(=IcR5bP{ZǤkbܓ:&XI- -Ÿ'uLjV(=IcR5bP{ZǤkbܓ:&X;,I- -Ec (&X+uBq`WY 0ވ-Y朝PayY.6Zl>.('aBJ@氜oo˄iSvW[vm{[_7ȷW=%"6ɝv;e2 O~ܧeў=Q'j%JZйgwwZ~}lԙ$NN2Sxp"訄N7dIL"X6_eJv6mNgwW+{g³Z..ճϳϻ/NmdҖ"rrw\hlv"N^ƾ"GAg *מm]C;(3PV;DY(1rwZlSY9DeGgѬ)SO2)LEh|/#eAB՝H}Y}YG}!m|1;j̔3VUךRQzWTIXQ=}mf:(lNTju2VK+J!_.'D)gaP-/+J!_lQpzratpg_)A^:]'xG(k V!*Dj/3u(1)(DAǀv1|kf -!:JAfBt0g);"&rrbL®Q9]9V35*}j{ڬUyEg+DV'jjMTUwjyYQ5WSٛQMfm.$ @:Rt.o*iպGmVT5;*nͪ֕Ufp0Sz%XQ.D.f+7erFbF2gi#ˑk㚱(h_ f[q_` lp _\[g %LG$2 q:>~.] &}+N?TB*t<킴3ܪB8| 4RӃu8}@>Vb_Y+ӴTմyxc@jZr';jt);Py78\~Hyh^rG;j;Е@$|ڃ |cf9>=T:=#~_|Е>) -IoCycZ^f@QG|gsHF4V)H0$6[tzYzau[ehOXqx޴][exZ1+^7I+x)vWޜbV4p>zVCWw~/ܴOy5n+H4iL34MQԈu_߳X"!Jv&zƑ;dL~$ZaI9vS"S '& -ЯƷjj_V&}s~oBL;8F, Mɔ(7O;CK0ׯ1.'o/a+rBO>.q1v?ܵ}h Vy1?'0C0ib5D9>X?5ccc'?VO>z^#vEe'S|c3𦹘qF;L;:JG8ˊtF?&+Em3UGe܀qOYlE5hYlGP8p ڨ4^nfׇ21MЧC FaKx>V2J NR̠h͠;vE[vuXI(eH"G^9 _V>yWCv0 AlRhNH̯e"ʝ̱&Ys '1x>ڝz-pBtA!e;e4|sM.˄rn*yWr;tEoFG &î6ʮ]1]FNMMe!K$OŁr<"TsOle}޻HbG$v+Y vt=`"$,RLǫq# B}OeѾH^+VY*Ӗ ع:}ad74RD ޅxVŠ:Ns=.@\ a"ZOO8Gx:%sAqym(Pfq E(0;6mW;2&B/L[ܹ AmreFF -#+aq5H;RHyP"Èl?_|tǘ=0: xǴ+@$(]H%@y䀠/2AFLV1Mi<[}ɥ`-#9EF|1jSa4ӱ@X2@&mt =A.]Eqf -g ԭbNfQd{Az1:Sf!Sa~a$c_J`^q$pJi7OW`TKm$~ijA#VM 裦JnC(!A&sOv\eP?=djxUMscSnuz1]THY-aS6 2RڿV̘0QWQIyTeT -rETת,pofKZ(hky䳊0Фdnb?m3{`K ˢ.T|uO>57̯Ffh$Cڕ]+9ˌJ_KAVp]y;vX*aMx -}l?){ e\""̈K9ŷ^E+ʻnhW6Giķ&+^߯W@7DpGU$ϩ* -fWXkƷ]8ۉkM*Ӛ)b*\=Mq6N"Z]n^DzDunD+Qv۶US3-aOҝ -ǢQhunbRR2N%n/+cǹ'Ld~S agmr<ᔛ{ tv ilc@" ٟ0pQ)/BhDh"w+.\E#ɎO4xp+?OmK+X"ʣQ2E;v.ꏂ:+3c10> -endobj - -21409 0 obj -<> -endobj - -21410 0 obj -<> -endobj - -21411 0 obj -<> -endobj - -21412 0 obj -<> -endobj - -21413 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -21414 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -21415 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21416 0 obj -<> -stream -HWێ6}WkxD.Eo߿IHĩIrЉ] f oF9u̚&Uȉ[7izoިTlYM}=V͗ǩmrhte[656K?RĿ֯1E8r:KT -q9r -8E"R 9pb - YCVʰv)Cbԫ@bԫ@f@f@f@aԛ@aԛ@}ʨO)> ԧ4P1@}ƨ9>pb\K1`1kZ!QV1R Yq-ŐŨ\R Xk),F}ZŸbbUk)v4Z!+TO1`1BCVbb\K1d1jƵC>pf\K1`1k5Z!QV3R Yq-ŐŨ\R Xk),F}Z͸bbՌk)v Z!+TO1`1BCVbb\K1d1ƵC>pa\K1`1k Z!Q0R Yq-ŐŨ\kR Xk),F}Zøbb5k)vRƵCVbb\K1d)PKs&oQ,mtXH<,2of{,o_U1ˌ]yn?pOR J97>o^7JMw,k_l.e=;\ˇ}3r\ջoUQ /]/Tu7~lnl?.ǪNJvBC[yVͣYgBMO2"-xLudajYױ.FMYw8´&D,]W5vE߸tHGNIESeor&XBa8V7LZ;ڔ-'QÎo*-#h+F@N= .CLڒs"̸p쏬i>7Hop(O}nXuG_s^/_|bw:={p.1ZM;P:Mv<풟}QDTMZ#pIy!q!saYJiǫ/%EɆw?~˼ g;V{7,?ma40~άr W -.UR6kBG-N -89<1S}X'lϲWt{`p0:u0pL.Ra_mlVKQ0ajZxbNQ uL>P)"տ0PUyj81.pj&Omb>&}CÕ":@Lڦ߄!wI^jO kGaSrR&a,YȚ%X"%r#k5 kb q95"Ir1P8/&Mc1cU41Z,fڨl*3(p_MZa'A -||}kwb@:{l$pݛ%Y9f">س՗#[q[1bW Wʝ"P!:Iwp)ǃT: 4jnnk3KʞPcmn3p#V. ༤lYZs^ѕVSV[0Zɶ5 4$z2~[Ğٟ+Q4ø8").! AT:-͖xoD&訢.T4Cmc _F T)iq+1كJQ$f" kPhO| PU,B J2(o͇',{+Ӝ!*LXR|7VpxӹugCJT@h:Gpd*1氽LNuNJڏznnYS)P߾}{z7WM> endstream -endobj - -21417 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21418 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21419 0 obj -<> -endobj - -21420 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -21421 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -21422 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21423 0 obj -<> -stream -HWn7}XMA $]OLF-isδ﷊d,gՇՇ:UwCϾWo~`}^5m202z͝b*v]#]#ٚ56~{jۮ?Wn_Wؼ\4 b-n,>Y+<[l -ssT<(.xdWʊDk;ޯou\ryeOwmn4W+\?ÿ'nXʂ_wۄ̰i7PcBBW҆s PR֨†(KJRK^U^U5^W5^W5^W T T-V-V-VUU[}[o mž%ط{O{O@@4+ іmՖ6DKՖ6DKj PjKj҆(}ZEPmiCR"T[ETՖ6@-m"WUjKj(B QJPmiCR"T[ڶ&T[U/m"T[U/mٗ6@-m"WՄjKj5(B QJPmiCR&T[E!`_V-m"WՄjKՖ6D+jB QJPmi6PmiCT;PmiCT;!f_E!`_-m"W5jKՖ6D+B QJPmi҆(}ZC!`_-m"T[ETkՖ6D+BmXB Q5(B Q5҆(n%3ZHc^B0L?W墹^_5lqhLzÅb6.~[swbewsi -x}?$;ٰe\\F -+s\&M(/ nJw/o@ 8 aU\lw;wcӂ}+,/wU\LI*l{|6HH7[d_zaOQodc&]:H~hnŃ,i`w|tGz;-Z[ŜR?Trh]!##6)C wP4B鍛2H? ez$BX/P:@c,Vl\eldՋ%g(Km=BNǮ?oE> _#90wQUZ;6zwV]fϰz nH$AwN#&  $A# 3o'Dz%& Y~٭ofY+bx4DIũū)RAiEp VGڳ3]5G k~ofz7 |W1݀oU|՗cw`˞-%?Gਟ NA#^@*1t'țTc xpOY kqpaW5J@3*V1'x& zv&xry[M5Z[G-Og}{U%gxuònq}#bh]V %ƝŹ@GT`X"]ϋB~ h<jT*/O8Zˁ?y<&Pӱْn$ ËLNB 0$ 1I (x Zev7&\?;y"J N+^۱Og ڽ4a |jsV=OVI͏DEG2I,<2'PJdzD`# eyvRYaUIw%me+z\ fDDl$ox4IAOejZ:wN7LT/rl| B?9 9s/JnQ7[1;Zye×zE%Dn8 UG JR#Ok>l,A_xjOF SS0rjd hd/pD/8b$/]E@`aq9♁P<βNz+()B&HẒFnXeT76Uf{yjÐqlֻ -Qc`qVTzap -%D@eb<ї'_"5ީ^D&r)Vf%G gcjX}lJ>%bC;IG[I bn+q浩K+)(T -|֨)TEr-bT(;]x|UE *L872P(6PVPimPr^+$~ ީr!c\bq%PPWgZTaCr$QYU[q *.1(P9,Z"T;**$RrfTV=*A+$+BBBBI)(BY+ *VTHR[THʄ'TȓV*V;TȳVHn.Br%BkOW WW: -xGd0t\)Bȵ*ǗP`[L ֩ +T(2rBBY VZPZP`д֣FѠɀ5*@IR*x}֨Uc6cv1GőG-qVq$(M8őPY4E*T" t5Go PF%eʚc$3rLNsL9f9fF9*X(nSqt&1, QYq m*7mv.BT*~9r߬PmifQYscAIB11GTRGq#ْgDeőG83P윪h@Gftdf(&NJF%Hs 99Fc996jsZQI0XWqFq^m>g^ㄨ3hrVɥVyh^sPj`ɹٯkgYk.#jvi ._͵ -MnEBnP1.ou\ -ME 9|Bʙ -U&eriA62r o_hiBET46 -Mn -TV=*ĬbFBP!vZ!vV bU -; -AU - -[rU\@!B.BQBd0@:. -MީEY㒴*T - L*٤*ǕPgBB@Hr(;JYU%TV"*DQ+D7WP&0&ѢF'R[iPi<5jUBՠ۪Pő(kP(8 -U\gȱ8Un2cq8Ux*.Er,AɠFYq2f4(UUeiPejPUZǩ5(1=c<+TN[AemP!Gʚ#H9ڌ-!G4GXőr̪)B%)fQFB)2p{! lj#ґ3P̚#r,w`4G$0r4Vq9GhF,alrƬ83Hq| -^ժ 8ZJD͑#rd8UΙF^?|u X??a9e}Xx?,/=>^+DZ4s^ނHWALOˏeq|^|x<6-s?m{x>?_Fi?6TKy=lv?`D$HT()kP?ɗNqzܕUZK+#ƍ׷]6Sdt<ʡcx.Oe{|up3+' cQ1˷ͥ<ۗKY?r)ّjvup^isn^{\Tj.OKwx:C>6ru_r=o 8>x<$ a b/Guꎒȑn㱒Wϼuݷ6[ˏ쏿v9|)OPXX`HV:0r7%%'yGvlw`].Jȕ Gu\hDw?џ"ߎ/:1[/v{ݞ/\}B;7:/\<_dd=endstream -endobj - -21424 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21425 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21426 0 obj -<> -endobj - -21427 0 obj -<> -endobj - -21428 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -21429 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -21430 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21431 0 obj -<> -stream -H|Wio_0+QG5`d E -IYq~sh8 --NX]=Sw{ _.~~R՛ѿ"]q6Ɍ3x&VQ>EZ*:,\]6CNUF?^Ty'FiUͣ2,RASiet_5ӡ]əilҤ8X{";ܔ{~|~Nχ`(zf'u5)`-4Kt'ܗzYEi72l&F=*_J%˨̏EtsJ)GV8F,Kkb<`qZK ,F-po{ [Nw=p{{^πLπLρ\ρ\ρ\/B/B/R/{Y J˱ed@k9F,cZ1bI#tϱ{ZZ1bcZ1bcEk h- cEk h-Lj܋Zh-Lj܋Z 5[FcĒ9X#t1bI ,Z #p/ZkAk9X#p/ZkAk9F,^ւr,@k9F,^ւrXhX`rXh{Z Z˱e@k9F,cZ1bI#tϱ{ZZ1bcZ1bcEkh- cEkh-Lj܋:Zh-Lj܋:Z u[FcĒ9X#t1bQt,+-U[wlH'X%` -r@ -@ heB+ZʁV.r hBZ*V)JUr-J-Kjq5ZZheZ"ca%@9F,%ro@9vÎYB cZ"c%@9F,%ro@9vY\˂sXRc4-{ r1wȽ 2@Kނs%roA9F# - h[{D-=hZ"c4V-{ r1+Lj%8Fw h;{(D=hZ"ctZ"ctZ"ct|Z"ct|Z"ct0Z"ct0Z#Ƚ/,JrTyUiU5-A|̗I؏uV'gƥiO>VS/Ou6xRSMD}'gnI~0bW#ْm dOF5Xj5Nc/֪]C[/4{X=Ifk昞crXOXmVC5j.կTdtZT?`?k N ˶CSUfBvZ/_v)wgK9,y[#rH#zn٫vySuuye^O_.ҹ K7]7=,oYȋc'*ܽ^ܜ ,dӊnABngm+tk[9{[aBFޘď1=g:)FlzHl59px>բگ?inWk=Z=~zwa/⡡L^PNWuyD̻wfv54s5fNUU3 th߅7qO6# vT^\sMR/(Mwp1S;>JZh9倖Zhy偖ZʄV2\h@+Z*V -URh@Z&Z#X`iZZheZ"cZ"cZ"cZ"cZ"cZ"cZ"cZ"cĒZ ,{ h[{ h[{ h[{ h[{ h[{ h[{ h[{ h[{ h;{Kjq,@9F,%r@9F,%r@9F,%r@9F,%r@9F,%r@9F,%r@9F,%r@9F,%r@9F,%rA9F,űVee8JOҪGzsWnp) Z0|,oIWڦ7YQT4r Cu/ytj~ K'gzG{w4;mfu~2rۋp۴,Xٙ0lS, d6/֫5FĻT5GHe'}HE"5cu6}l6}^wa;n /乻]? 80#̾m7jXuߘlo LŢ,s^UZ-]ޓ<cmkwRxy?U9nD (=a$c`xCfmKzޯ#YHdgĢbUSNFJ%uH - ڻZaU2P>)IP$<0S7\B&{]W.yZ0( jӛh2|:J&ۧY -Dxk; '81:}-9JV;pPr[H]Sy e'mU$kӏKVܢyÝ-O7=B}3I웶M 2lث\=i;2\0%:/vT{)bT̨(07d!oj3}wDʯ8S斕gVb\g9#寺u{-QbAc~ $.o~8g^Z~A<4o^gct{\tjZF$`>Czk$[MDn84T20F }qޣ` Iu6-LYY{$Wxe1x|~XNi(,,) 8h9F ^/;р{iފv֩Wi id/JI8j93xw$WU -锁ϙwO~뤵,~)/AL,.ׂ5fM,}YBcIp= -$muPKU:VeyuǠg@^C4F#֬AХOxEj1Ͼ#Dt@"Lyc>@nčD#l%R)u4_85ʖz&#B­hKkpl%+Sƫ`[%L|e?-BCw [x+|ufk[W/r+vXkf6ZTTf(K?Oq >Qendstream -endobj - -21432 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21433 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21434 0 obj -<> -endobj - -21435 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21436 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21437 0 obj -<> -endobj - -21438 0 obj -<> -endobj - -21439 0 obj -<> -endobj - -21440 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -21441 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -21442 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21443 0 obj -<> -stream -HWmoH_1 Pئ^ޢk`. -VR~9N{wH#[J () ɹ}ۋW>\߼R~uJZ%OmZojŮJJ>6~ޮs[VWcfZ]M'-U ">EQLEJr>LiWwY4Ai%{NTPR|G_Wq Q%k{]3?(&D0JDm*6@)U QAQJ Pa a ao -ao -ao -ao ao a -a -a -a a a -a -a -a a a -a_hV1uRJ(FԆ=!dOmbTKmbՌj Q BQ-Q-!a_V36D1 jF(FԆ(}ZͨŰ/TRRj5ZjCþPfTKm06D Pj Q%{jCTɞŨŰ/TkRj ZjZjCþPaTKmb5j Pj Q BQ-!a_06@16D1 FԆ(}Zè֕eTKm*SRJԆ=Q-!a_26D1 ZF(FԆ(}Z˨Ű/TkRRj-ZjCþPeTKmbTKmbj Q BQ-+ǨU6@16D Q%Tz3S%UFtb?l6ϻfr!`t̟^=mv3?i'/֓˿vhjcV<xDBwj-?|2{|]Ŵ}P9a{}e,M.rReOPU+XP6V^ 4u GBC\:W>#42wB\0(X*qWZ*XМJzYzHks ! ASbP<`"M#ӂx&űLryLdr2 -$,/FBD MlGna0p Kbh2 \f(< 'Cv}®iۋnΡsBe5z>.ݚιD|j5}Ɩx`C{?n޿,Nbn(l YX_Ƙ:i:&FH#XA g ,[1q"oh~gOgXu /#GL:cS@ؑ2xɫmTe?|t lw*CΔ=y{,%dކ gHʯD(muųuDcZҋb6>8fʦDR'IAy_&k1 9:vk;hK؋}Οw< `h9bN"l "*!|,d OƱ -ӟd}Ƒ\ǵ™X.U=VD V6haj@er6}ۻk~x ra#|vn6{}[><K. :|8z>3#䶘)NդdF1Fs ؞pr3[1 1|gO jFp>d2/|nJrewƻ(;7B3ndurZnLH'X\(ɐhjOqnDŐr[:2RBP']l^@9E3XkDVNw4jgwCIНo v'oV. q\t)꧂ -PRh#'B\bv 4׈R:v<e'FؙǠt0FXGW -<-w~üd^ADۺ(I4\,ջ};&M26#Q>Wn5 Gn퀤OB2xO/d$؏qH>3- 5 &?$ke$O!\2&e_XY` =cΨ_,W5oq6yҴeOkC3_-7O{120<ܵ\J(&m\6VGsDG!?C&ۙWKX`s!umaUh/cǪp)m=*1-|hC0Tym eUZI~}PKjRzb`37oi2W\)F\yI4MhN?rzACUZ -lrji _ Lj,v#'aA<^%?m4#Jз -W-&=x4+MQh\)O>͡{|Ɗ2LLS ||^Oja[f6x9Eɧ݁Fmԍ@8 &'kGZUȶs6QOA]L[<򈊛BXATaQt* bq>qǻvױ/ϋvu/CjdRm\Ywڦ'7@)/惺Ӥ46%ɾV(2d -* F"=T3c&W@ e;dݘ\h\K[(`K*E. ]]ʴ0s]&FN)TU5j`*+ZE){{$! 58( F)iJ76]\B\b;r"7P@$:M3)DLO"ZmYS1sϻî[Ҭeࡧo[F.*H+-&e}l)n\C׫HѼ "՗fyQyVӱZ (W% 5jCDZz]i".T:; +⤤W] (rg ĵZnu|V;PQԩB\Rn PcQ8VjDr=6ݓj_,eSP+Xhp:2h@ k듳x쭕 v9?JL .7n]}iऺ&P+ CàhOY}=inq|R  Ӈ@&?`8{ZzIu5^cD WrZ/ -g4, 1#NgO)pϨ _))Imo(-yhS:0|(FFh`!Ze[Qj}K|~i@̞VXkgHg(e3PdҴ r@j<ܽOc&!G(\ԯP~퓔w]۹.]\ )|҉xn\ҏ{_B 7SNLփzR+v|+vvYBG9R!I!> -5&3*|\g Ln4ZOVom#$Y>ƽ$Ѹz"-&IBPTK]ΜF aIW"~-ul%r&".NzM &aY) j䏦0,"U2{9d~e ?1H+<+ L!^s0J3]g(͎&hb+րFA{ A:hJ@U$eQ@/A$GBGGN$!Aubh8W4b`,1+,ϲlt|ټ?6ݷfuqFO 8 V8,cw8Vx`=$#2Zm?/9>nG -gOӛۏy2=Raendstream -endobj - -21444 0 obj -<>/P 12395 0 R/Type/Annot/A 21824 0 R/Subtype/Link/Rect[221 670 235 677]/Border[0 0 0]/H/N>> -endobj - -21445 0 obj -<>/P 12395 0 R/Type/Annot/A 21821 0 R/Subtype/Link/Rect[237 670 251 677]/Border[0 0 0]/H/N>> -endobj - -21446 0 obj -<>/P 12395 0 R/Type/Annot/A 21817 0 R/Subtype/Link/Rect[253 670 267 677]/Border[0 0 0]/H/N>> -endobj - -21447 0 obj -<>/P 12395 0 R/Type/Annot/A 43267 0 R/Subtype/Link/Rect[269 670 283 677]/Border[0 0 0]/H/N>> -endobj - -21448 0 obj -<>/P 12395 0 R/Type/Annot/A 43230 0 R/Subtype/Link/Rect[151 660 167 668]/Border[0 0 0]/H/N>> -endobj - -21449 0 obj -<>/P 12395 0 R/Type/Annot/A 21808 0 R/Subtype/Link/Rect[168 660 180 667]/Border[0 0 0]/H/N>> -endobj - -21450 0 obj -<>/P 12395 0 R/Type/Annot/A 21804 0 R/Subtype/Link/Rect[189 650 201 657]/Border[0 0 0]/H/N>> -endobj - -21451 0 obj -<>/P 12395 0 R/Type/Annot/A 21801 0 R/Subtype/Link/Rect[211 640 225 647]/Border[0 0 0]/H/N>> -endobj - -21452 0 obj -<>/P 12395 0 R/Type/Annot/A 43091 0 R/Subtype/Link/Rect[227 640 241 647]/Border[0 0 0]/H/N>> -endobj - -21453 0 obj -<>/P 12395 0 R/Type/Annot/A 21795 0 R/Subtype/Link/Rect[243 640 260 648]/Border[0 0 0]/H/N>> -endobj - -21454 0 obj -<>/P 12395 0 R/Type/Annot/A 21791 0 R/Subtype/Link/Rect[261 640 275 647]/Border[0 0 0]/H/N>> -endobj - -21455 0 obj -<>/P 12395 0 R/Type/Annot/A 21786 0 R/Subtype/Link/Rect[277 640 291 647]/Border[0 0 0]/H/N>> -endobj - -21456 0 obj -<>/P 12395 0 R/Type/Annot/A 21935 0 R/Subtype/Link/Rect[293 640 307 647]/Border[0 0 0]/H/N>> -endobj - -21457 0 obj -<>/P 12395 0 R/Type/Annot/A 42887 0 R/Subtype/Link/Rect[151 630 167 638]/Border[0 0 0]/H/N>> -endobj - -21458 0 obj -<>/P 12395 0 R/Type/Annot/A 42857 0 R/Subtype/Link/Rect[168 630 182 637]/Border[0 0 0]/H/N>> -endobj - -21459 0 obj -<>/P 12395 0 R/Type/Annot/A 21930 0 R/Subtype/Link/Rect[184 630 201 638]/Border[0 0 0]/H/N>> -endobj - -21460 0 obj -<>/P 12395 0 R/Type/Annot/A 42774 0 R/Subtype/Link/Rect[201 630 215 637]/Border[0 0 0]/H/N>> -endobj - -21461 0 obj -<>/P 12395 0 R/Type/Annot/A 42746 0 R/Subtype/Link/Rect[217 630 231 637]/Border[0 0 0]/H/N>> -endobj - -21462 0 obj -<>/P 12395 0 R/Type/Annot/A 21924 0 R/Subtype/Link/Rect[233 630 250 638]/Border[0 0 0]/H/N>> -endobj - -21463 0 obj -<>/P 12395 0 R/Type/Annot/A 21919 0 R/Subtype/Link/Rect[251 630 265 637]/Border[0 0 0]/H/N>> -endobj - -21464 0 obj -<>/P 12395 0 R/Type/Annot/A 42634 0 R/Subtype/Link/Rect[267 630 281 637]/Border[0 0 0]/H/N>> -endobj - -21465 0 obj -<>/P 12395 0 R/Type/Annot/A 21912 0 R/Subtype/Link/Rect[283 630 297 637]/Border[0 0 0]/H/N>> -endobj - -21466 0 obj -<>/P 12395 0 R/Type/Annot/A 42564 0 R/Subtype/Link/Rect[151 620 165 627]/Border[0 0 0]/H/N>> -endobj - -21467 0 obj -<>/P 12395 0 R/Type/Annot/A 21904 0 R/Subtype/Link/Rect[167 620 179 627]/Border[0 0 0]/H/N>> -endobj - -21468 0 obj -<>/P 12395 0 R/Type/Annot/A 42489 0 R/Subtype/Link/Rect[189 610 201 617]/Border[0 0 0]/H/N>> -endobj - -21469 0 obj -<>/P 12395 0 R/Type/Annot/A 42440 0 R/Subtype/Link/Rect[211 600 228 608]/Border[0 0 0]/H/N>> -endobj - -21470 0 obj -<>/P 12395 0 R/Type/Annot/A 21895 0 R/Subtype/Link/Rect[229 600 243 607]/Border[0 0 0]/H/N>> -endobj - -21471 0 obj -<>/P 12395 0 R/Type/Annot/A 21891 0 R/Subtype/Link/Rect[245 600 259 607]/Border[0 0 0]/H/N>> -endobj - -21472 0 obj -<>/P 12395 0 R/Type/Annot/A 42339 0 R/Subtype/Link/Rect[261 600 275 607]/Border[0 0 0]/H/N>> -endobj - -21473 0 obj -<>/P 12395 0 R/Type/Annot/A 21885 0 R/Subtype/Link/Rect[277 600 291 607]/Border[0 0 0]/H/N>> -endobj - -21474 0 obj -<>/P 12395 0 R/Type/Annot/A 21881 0 R/Subtype/Link/Rect[293 600 307 607]/Border[0 0 0]/H/N>> -endobj - -21475 0 obj -<>/P 12395 0 R/Type/Annot/A 42219 0 R/Subtype/Link/Rect[151 590 165 597]/Border[0 0 0]/H/N>> -endobj - -21476 0 obj -<>/P 12395 0 R/Type/Annot/A 21874 0 R/Subtype/Link/Rect[167 590 179 597]/Border[0 0 0]/H/N>> -endobj - -21477 0 obj -<>/P 12395 0 R/Type/Annot/A 21870 0 R/Subtype/Link/Rect[189 580 201 587]/Border[0 0 0]/H/N>> -endobj - -21478 0 obj -<>/P 12395 0 R/Type/Annot/A 21868 0 R/Subtype/Link/Rect[184 570 200 578]/Border[0 0 0]/H/N>> -endobj - -21479 0 obj -<>/P 12395 0 R/Type/Annot/A 42041 0 R/Subtype/Link/Rect[201 570 213 577]/Border[0 0 0]/H/N>> -endobj - -21480 0 obj -<>/P 12395 0 R/Type/Annot/A 41996 0 R/Subtype/Link/Rect[187 560 195 567]/Border[0 0 0]/H/N>> -endobj - -21481 0 obj -<>/P 12395 0 R/Type/Annot/A 41958 0 R/Subtype/Link/Rect[216 550 233 558]/Border[0 0 0]/H/N>> -endobj - -21482 0 obj -<>/P 12395 0 R/Type/Annot/A 41930 0 R/Subtype/Link/Rect[233 550 247 557]/Border[0 0 0]/H/N>> -endobj - -21483 0 obj -<>/P 12395 0 R/Type/Annot/A 21855 0 R/Subtype/Link/Rect[249 550 263 557]/Border[0 0 0]/H/N>> -endobj - -21484 0 obj -<>/P 12395 0 R/Type/Annot/A 41839 0 R/Subtype/Link/Rect[265 550 279 557]/Border[0 0 0]/H/N>> -endobj - -21485 0 obj -<>/P 12395 0 R/Type/Annot/A 41784 0 R/Subtype/Link/Rect[281 550 295 557]/Border[0 0 0]/H/N>> -endobj - -21486 0 obj -<>/P 12395 0 R/Type/Annot/A 41733 0 R/Subtype/Link/Rect[151 540 165 547]/Border[0 0 0]/H/N>> -endobj - -21487 0 obj -<>/P 12395 0 R/Type/Annot/A 21844 0 R/Subtype/Link/Rect[167 540 181 547]/Border[0 0 0]/H/N>> -endobj - -21488 0 obj -<>/P 12395 0 R/Type/Annot/A 21839 0 R/Subtype/Link/Rect[183 540 197 547]/Border[0 0 0]/H/N>> -endobj - -21489 0 obj -<>/P 12395 0 R/Type/Annot/A 21835 0 R/Subtype/Link/Rect[199 540 213 547]/Border[0 0 0]/H/N>> -endobj - -21490 0 obj -<>/P 12395 0 R/Type/Annot/A 41558 0 R/Subtype/Link/Rect[215 540 227 547]/Border[0 0 0]/H/N>> -endobj - -21491 0 obj -<>/P 12395 0 R/Type/Annot/A 21828 0 R/Subtype/Link/Rect[189 530 203 537]/Border[0 0 0]/H/N>> -endobj - -21492 0 obj -<>/P 12395 0 R/Type/Annot/A 41469 0 R/Subtype/Link/Rect[205 530 217 537]/Border[0 0 0]/H/N>> -endobj - -21493 0 obj -<>/P 12395 0 R/Type/Annot/A 41435 0 R/Subtype/Link/Rect[202 520 218 528]/Border[0 0 0]/H/N>> -endobj - -21494 0 obj -<>/P 12395 0 R/Type/Annot/A 41415 0 R/Subtype/Link/Rect[219 520 231 527]/Border[0 0 0]/H/N>> -endobj - -21495 0 obj -<>/P 12395 0 R/Type/Annot/A 41346 0 R/Subtype/Link/Rect[189 510 201 517]/Border[0 0 0]/H/N>> -endobj - -21496 0 obj -<>/P 12395 0 R/Type/Annot/A 21815 0 R/Subtype/Link/Rect[221 500 235 507]/Border[0 0 0]/H/N>> -endobj - -21497 0 obj -<>/P 12395 0 R/Type/Annot/A 41284 0 R/Subtype/Link/Rect[237 500 251 507]/Border[0 0 0]/H/N>> -endobj - -21498 0 obj -<>/P 12395 0 R/Type/Annot/A 21805 0 R/Subtype/Link/Rect[253 500 267 507]/Border[0 0 0]/H/N>> -endobj - -21499 0 obj -<>/P 12395 0 R/Type/Annot/A 21802 0 R/Subtype/Link/Rect[269 500 283 507]/Border[0 0 0]/H/N>> -endobj - -21500 0 obj -<>/P 12395 0 R/Type/Annot/A 41185 0 R/Subtype/Link/Rect[285 500 299 507]/Border[0 0 0]/H/N>> -endobj - -21501 0 obj -<>/P 12395 0 R/Type/Annot/A 41159 0 R/Subtype/Link/Rect[151 490 165 497]/Border[0 0 0]/H/N>> -endobj - -21502 0 obj -<>/P 12395 0 R/Type/Annot/A 41126 0 R/Subtype/Link/Rect[167 490 181 497]/Border[0 0 0]/H/N>> -endobj - -21503 0 obj -<>/P 12395 0 R/Type/Annot/A 41095 0 R/Subtype/Link/Rect[183 490 197 497]/Border[0 0 0]/H/N>> -endobj - -21504 0 obj -<>/P 12395 0 R/Type/Annot/A 37580 0 R/Subtype/Link/Rect[199 490 211 497]/Border[0 0 0]/H/N>> -endobj - -21505 0 obj -<>/P 12395 0 R/Type/Annot/A 21932 0 R/Subtype/Link/Rect[189 480 203 487]/Border[0 0 0]/H/N>> -endobj - -21506 0 obj -<>/P 12395 0 R/Type/Annot/A 40709 0 R/Subtype/Link/Rect[205 480 217 487]/Border[0 0 0]/H/N>> -endobj - -21507 0 obj -<>/P 12395 0 R/Type/Annot/A 40676 0 R/Subtype/Link/Rect[211 470 228 478]/Border[0 0 0]/H/N>> -endobj - -21508 0 obj -<>/P 12395 0 R/Type/Annot/A 40110 0 R/Subtype/Link/Rect[229 470 243 477]/Border[0 0 0]/H/N>> -endobj - -21509 0 obj -<>/P 12395 0 R/Type/Annot/A 21921 0 R/Subtype/Link/Rect[245 470 259 477]/Border[0 0 0]/H/N>> -endobj - -21510 0 obj -<>/P 12395 0 R/Type/Annot/A 21916 0 R/Subtype/Link/Rect[261 470 275 477]/Border[0 0 0]/H/N>> -endobj - -21511 0 obj -<>/P 12395 0 R/Type/Annot/A 39487 0 R/Subtype/Link/Rect[277 470 291 477]/Border[0 0 0]/H/N>> -endobj - -21512 0 obj -<>/P 12395 0 R/Type/Annot/A 21909 0 R/Subtype/Link/Rect[293 470 307 477]/Border[0 0 0]/H/N>> -endobj - -21513 0 obj -<>/P 12395 0 R/Type/Annot/A 21906 0 R/Subtype/Link/Rect[151 460 165 467]/Border[0 0 0]/H/N>> -endobj - -21514 0 obj -<>/P 12395 0 R/Type/Annot/A 21903 0 R/Subtype/Link/Rect[167 460 181 467]/Border[0 0 0]/H/N>> -endobj - -21515 0 obj -<>/P 12395 0 R/Type/Annot/A 38341 0 R/Subtype/Link/Rect[183 460 197 467]/Border[0 0 0]/H/N>> -endobj - -21516 0 obj -<>/P 12395 0 R/Type/Annot/A 38309 0 R/Subtype/Link/Rect[199 460 211 467]/Border[0 0 0]/H/N>> -endobj - -21517 0 obj -<>/P 12395 0 R/Type/Annot/A 21894 0 R/Subtype/Link/Rect[189 450 203 457]/Border[0 0 0]/H/N>> -endobj - -21518 0 obj -<>/P 12395 0 R/Type/Annot/A 38243 0 R/Subtype/Link/Rect[205 450 217 457]/Border[0 0 0]/H/N>> -endobj - -21519 0 obj -<>/P 12395 0 R/Type/Annot/A 38228 0 R/Subtype/Link/Rect[198 440 215 448]/Border[0 0 0]/H/N>> -endobj - -21520 0 obj -<>/P 12395 0 R/Type/Annot/A 36761 0 R/Subtype/Link/Rect[215 440 229 447]/Border[0 0 0]/H/N>> -endobj - -21521 0 obj -<>/P 12395 0 R/Type/Annot/A 36708 0 R/Subtype/Link/Rect[231 440 245 447]/Border[0 0 0]/H/N>> -endobj - -21522 0 obj -<>/P 12395 0 R/Type/Annot/A 36685 0 R/Subtype/Link/Rect[247 440 264 448]/Border[0 0 0]/H/N>> -endobj - -21523 0 obj -<>/P 12395 0 R/Type/Annot/A 38174 0 R/Subtype/Link/Rect[265 440 279 447]/Border[0 0 0]/H/N>> -endobj - -21524 0 obj -<>/P 12395 0 R/Type/Annot/A 35853 0 R/Subtype/Link/Rect[281 440 293 447]/Border[0 0 0]/H/N>> -endobj - -21525 0 obj -<>/P 12395 0 R/Type/Annot/A 38150 0 R/Subtype/Link/Rect[203 430 220 438]/Border[0 0 0]/H/N>> -endobj - -21526 0 obj -<>/P 12395 0 R/Type/Annot/A 35046 0 R/Subtype/Link/Rect[220 430 234 437]/Border[0 0 0]/H/N>> -endobj - -21527 0 obj -<>/P 12395 0 R/Type/Annot/A 38124 0 R/Subtype/Link/Rect[236 430 253 438]/Border[0 0 0]/H/N>> -endobj - -21528 0 obj -<>/P 12395 0 R/Type/Annot/A 34225 0 R/Subtype/Link/Rect[254 430 268 437]/Border[0 0 0]/H/N>> -endobj - -21529 0 obj -<>/P 12395 0 R/Type/Annot/A 38091 0 R/Subtype/Link/Rect[270 430 284 437]/Border[0 0 0]/H/N>> -endobj - -21530 0 obj -<>/P 12395 0 R/Type/Annot/A 33626 0 R/Subtype/Link/Rect[286 430 300 437]/Border[0 0 0]/H/N>> -endobj - -21531 0 obj -<>/P 12395 0 R/Type/Annot/A 38056 0 R/Subtype/Link/Rect[151 420 165 427]/Border[0 0 0]/H/N>> -endobj - -21532 0 obj -<>/P 12395 0 R/Type/Annot/A 33062 0 R/Subtype/Link/Rect[167 420 179 427]/Border[0 0 0]/H/N>> -endobj - -21533 0 obj -<>/P 12395 0 R/Type/Annot/A 33037 0 R/Subtype/Link/Rect[202 410 214 417]/Border[0 0 0]/H/N>> -endobj - -21534 0 obj -<>/P 12395 0 R/Type/Annot/A 38001 0 R/Subtype/Link/Rect[188 400 192 407]/Border[0 0 0]/H/N>> -endobj - -21535 0 obj -<>/P 12395 0 R/Type/Annot/A 21834 0 R/Subtype/Link/Rect[234 390 247 397]/Border[0 0 0]/H/N>> -endobj - -21536 0 obj -<>/P 12395 0 R/Type/Annot/A 31824 0 R/Subtype/Link/Rect[249 390 263 397]/Border[0 0 0]/H/N>> -endobj - -21537 0 obj -<>/P 12395 0 R/Type/Annot/A 31784 0 R/Subtype/Link/Rect[265 390 277 397]/Border[0 0 0]/H/N>> -endobj - -21538 0 obj -<>/P 12395 0 R/Type/Annot/A 37970 0 R/Subtype/Link/Rect[170 380 187 388]/Border[0 0 0]/H/N>> -endobj - -21539 0 obj -<>/P 12395 0 R/Type/Annot/A 31038 0 R/Subtype/Link/Rect[187 380 201 387]/Border[0 0 0]/H/N>> -endobj - -21540 0 obj -<>/P 12395 0 R/Type/Annot/A 37947 0 R/Subtype/Link/Rect[203 380 215 387]/Border[0 0 0]/H/N>> -endobj - -21541 0 obj -<>/P 12395 0 R/Type/Annot/A 37934 0 R/Subtype/Link/Rect[180 360 196 368]/Border[0 0 0]/H/N>> -endobj - -21542 0 obj -<>/P 12395 0 R/Type/Annot/A 30240 0 R/Subtype/Link/Rect[197 360 209 367]/Border[0 0 0]/H/N>> -endobj - -21543 0 obj -<>/P 12395 0 R/Type/Annot/A 21809 0 R/Subtype/Link/Rect[201 350 218 358]/Border[0 0 0]/H/N>> -endobj - -21544 0 obj -<>/P 12395 0 R/Type/Annot/A 37903 0 R/Subtype/Link/Rect[219 350 231 357]/Border[0 0 0]/H/N>> -endobj - -21545 0 obj -<>/P 12395 0 R/Type/Annot/A 30107 0 R/Subtype/Link/Rect[185 340 195 347]/Border[0 0 0]/H/N>> -endobj - -21546 0 obj -<>/P 12395 0 R/Type/Annot/A 30064 0 R/Subtype/Link/Rect[197 340 211 347]/Border[0 0 0]/H/N>> -endobj - -21547 0 obj -<>/P 12395 0 R/Type/Annot/A 29316 0 R/Subtype/Link/Rect[213 340 227 347]/Border[0 0 0]/H/N>> -endobj - -21548 0 obj -<>/P 12395 0 R/Type/Annot/A 21790 0 R/Subtype/Link/Rect[229 340 243 347]/Border[0 0 0]/H/N>> -endobj - -21549 0 obj -<>/P 12395 0 R/Type/Annot/A 21785 0 R/Subtype/Link/Rect[245 340 259 347]/Border[0 0 0]/H/N>> -endobj - -21550 0 obj -<>/P 12395 0 R/Type/Annot/A 37864 0 R/Subtype/Link/Rect[261 340 277 348]/Border[0 0 0]/H/N>> -endobj - -21551 0 obj -<>/P 12395 0 R/Type/Annot/A 37851 0 R/Subtype/Link/Rect[278 340 292 347]/Border[0 0 0]/H/N>> -endobj - -21552 0 obj -<>/P 12395 0 R/Type/Annot/A 21927 0 R/Subtype/Link/Rect[294 340 308 347]/Border[0 0 0]/H/N>> -endobj - -21553 0 obj -<>/P 12395 0 R/Type/Annot/A 29078 0 R/Subtype/Link/Rect[151 330 167 338]/Border[0 0 0]/H/N>> -endobj - -21554 0 obj -<>/P 12395 0 R/Type/Annot/A 37833 0 R/Subtype/Link/Rect[168 330 182 337]/Border[0 0 0]/H/N>> -endobj - -21555 0 obj -<>/P 12395 0 R/Type/Annot/A 28515 0 R/Subtype/Link/Rect[184 330 198 337]/Border[0 0 0]/H/N>> -endobj - -21556 0 obj -<>/P 12395 0 R/Type/Annot/A 28496 0 R/Subtype/Link/Rect[200 330 214 337]/Border[0 0 0]/H/N>> -endobj - -21557 0 obj -<>/P 12395 0 R/Type/Annot/A 37792 0 R/Subtype/Link/Rect[216 330 232 338]/Border[0 0 0]/H/N>> -endobj - -21558 0 obj -<>/P 12395 0 R/Type/Annot/A 28409 0 R/Subtype/Link/Rect[233 330 247 337]/Border[0 0 0]/H/N>> -endobj - -21559 0 obj -<>/P 12395 0 R/Type/Annot/A 39491 0 R/Subtype/Link/Rect[249 330 263 337]/Border[0 0 0]/H/N>> -endobj - -21560 0 obj -<>/P 12395 0 R/Type/Annot/A 37772 0 R/Subtype/Link/Rect[265 330 279 337]/Border[0 0 0]/H/N>> -endobj - -21561 0 obj -<>/P 12395 0 R/Type/Annot/A 27593 0 R/Subtype/Link/Rect[281 330 295 337]/Border[0 0 0]/H/N>> -endobj - -21562 0 obj -<>/P 12395 0 R/Type/Annot/A 21889 0 R/Subtype/Link/Rect[297 330 311 337]/Border[0 0 0]/H/N>> -endobj - -21563 0 obj -<>/P 12395 0 R/Type/Annot/A 26973 0 R/Subtype/Link/Rect[151 320 167 328]/Border[0 0 0]/H/N>> -endobj - -21564 0 obj -<>/P 12395 0 R/Type/Annot/A 38308 0 R/Subtype/Link/Rect[168 320 182 327]/Border[0 0 0]/H/N>> -endobj - -21565 0 obj -<>/P 12395 0 R/Type/Annot/A 21878 0 R/Subtype/Link/Rect[184 320 198 327]/Border[0 0 0]/H/N>> -endobj - -21566 0 obj -<>/P 12395 0 R/Type/Annot/A 26469 0 R/Subtype/Link/Rect[200 320 214 327]/Border[0 0 0]/H/N>> -endobj - -21567 0 obj -<>/P 12395 0 R/Type/Annot/A 37716 0 R/Subtype/Link/Rect[216 320 230 327]/Border[0 0 0]/H/N>> -endobj - -21568 0 obj -<>/P 12395 0 R/Type/Annot/A 36758 0 R/Subtype/Link/Rect[232 320 246 327]/Border[0 0 0]/H/N>> -endobj - -21569 0 obj -<>/P 12395 0 R/Type/Annot/A 25866 0 R/Subtype/Link/Rect[248 320 262 327]/Border[0 0 0]/H/N>> -endobj - -21570 0 obj -<>/P 12395 0 R/Type/Annot/A 25824 0 R/Subtype/Link/Rect[264 320 278 327]/Border[0 0 0]/H/N>> -endobj - -21571 0 obj -<>/P 12395 0 R/Type/Annot/A 25006 0 R/Subtype/Link/Rect[280 320 294 327]/Border[0 0 0]/H/N>> -endobj - -21572 0 obj -<>/P 12395 0 R/Type/Annot/A 35842 0 R/Subtype/Link/Rect[296 320 310 327]/Border[0 0 0]/H/N>> -endobj - -21573 0 obj -<>/P 12395 0 R/Type/Annot/A 24907 0 R/Subtype/Link/Rect[151 310 165 317]/Border[0 0 0]/H/N>> -endobj - -21574 0 obj -<>/P 12395 0 R/Type/Annot/A 21852 0 R/Subtype/Link/Rect[167 310 181 317]/Border[0 0 0]/H/N>> -endobj - -21575 0 obj -<>/P 12395 0 R/Type/Annot/A 24249 0 R/Subtype/Link/Rect[183 310 199 318]/Border[0 0 0]/H/N>> -endobj - -21576 0 obj -<>/P 12395 0 R/Type/Annot/A 21847 0 R/Subtype/Link/Rect[200 310 214 317]/Border[0 0 0]/H/N>> -endobj - -21577 0 obj -<>/P 12395 0 R/Type/Annot/A 21842 0 R/Subtype/Link/Rect[216 310 230 317]/Border[0 0 0]/H/N>> -endobj - -21578 0 obj -<>/P 12395 0 R/Type/Annot/A 22659 0 R/Subtype/Link/Rect[232 310 244 317]/Border[0 0 0]/H/N>> -endobj - -21579 0 obj -<>/P 12395 0 R/Type/Annot/A 21832 0 R/Subtype/Link/Rect[193 300 210 308]/Border[0 0 0]/H/N>> -endobj - -21580 0 obj -<>/P 12395 0 R/Type/Annot/A 22052 0 R/Subtype/Link/Rect[210 300 222 307]/Border[0 0 0]/H/N>> -endobj - -21581 0 obj -<>/P 12395 0 R/Type/Annot/A 37649 0 R/Subtype/Link/Rect[160 290 176 298]/Border[0 0 0]/H/N>> -endobj - -21582 0 obj -<>/P 12395 0 R/Type/Annot/A 21966 0 R/Subtype/Link/Rect[177 290 189 297]/Border[0 0 0]/H/N>> -endobj - -21583 0 obj -<>/P 12395 0 R/Type/Annot/A 21963 0 R/Subtype/Link/Rect[186 280 203 288]/Border[0 0 0]/H/N>> -endobj - -21584 0 obj -<>/P 12395 0 R/Type/Annot/A 21962 0 R/Subtype/Link/Rect[203 280 215 287]/Border[0 0 0]/H/N>> -endobj - -21585 0 obj -<>/P 12395 0 R/Type/Annot/A 21961 0 R/Subtype/Link/Rect[167 270 184 278]/Border[0 0 0]/H/N>> -endobj - -21586 0 obj -<>/P 12395 0 R/Type/Annot/A 21960 0 R/Subtype/Link/Rect[185 270 197 277]/Border[0 0 0]/H/N>> -endobj - -21587 0 obj -<>/P 12395 0 R/Type/Annot/A 21959 0 R/Subtype/Link/Rect[193 260 207 267]/Border[0 0 0]/H/N>> -endobj - -21588 0 obj -<>/P 12395 0 R/Type/Annot/A 21958 0 R/Subtype/Link/Rect[209 260 223 267]/Border[0 0 0]/H/N>> -endobj - -21589 0 obj -<>/P 12395 0 R/Type/Annot/A 21957 0 R/Subtype/Link/Rect[225 260 239 267]/Border[0 0 0]/H/N>> -endobj - -21590 0 obj -<>/P 12395 0 R/Type/Annot/A 21956 0 R/Subtype/Link/Rect[241 260 253 267]/Border[0 0 0]/H/N>> -endobj - -21591 0 obj -<>/P 12395 0 R/Type/Annot/A 21955 0 R/Subtype/Link/Rect[195 250 207 257]/Border[0 0 0]/H/N>> -endobj - -21592 0 obj -<>/P 12395 0 R/Type/Annot/A 21954 0 R/Subtype/Link/Rect[183 240 197 247]/Border[0 0 0]/H/N>> -endobj - -21593 0 obj -<>/P 12395 0 R/Type/Annot/A 21953 0 R/Subtype/Link/Rect[199 240 213 247]/Border[0 0 0]/H/N>> -endobj - -21594 0 obj -<>/P 12395 0 R/Type/Annot/A 21952 0 R/Subtype/Link/Rect[215 240 229 247]/Border[0 0 0]/H/N>> -endobj - -21595 0 obj -<>/P 12395 0 R/Type/Annot/A 21951 0 R/Subtype/Link/Rect[231 240 245 247]/Border[0 0 0]/H/N>> -endobj - -21596 0 obj -<>/P 12395 0 R/Type/Annot/A 21950 0 R/Subtype/Link/Rect[247 240 261 247]/Border[0 0 0]/H/N>> -endobj - -21597 0 obj -<>/P 12395 0 R/Type/Annot/A 21949 0 R/Subtype/Link/Rect[263 240 275 247]/Border[0 0 0]/H/N>> -endobj - -21598 0 obj -<>/P 12395 0 R/Type/Annot/A 21948 0 R/Subtype/Link/Rect[215 230 232 238]/Border[0 0 0]/H/N>> -endobj - -21599 0 obj -<>/P 12395 0 R/Type/Annot/A 21946 0 R/Subtype/Link/Rect[232 230 244 237]/Border[0 0 0]/H/N>> -endobj - -21600 0 obj -<>/P 12395 0 R/Type/Annot/A 21945 0 R/Subtype/Link/Rect[172 220 189 228]/Border[0 0 0]/H/N>> -endobj - -21601 0 obj -<>/P 12395 0 R/Type/Annot/A 21944 0 R/Subtype/Link/Rect[190 220 202 227]/Border[0 0 0]/H/N>> -endobj - -21602 0 obj -<>/P 12395 0 R/Type/Annot/A 21943 0 R/Subtype/Link/Rect[166 210 178 217]/Border[0 0 0]/H/N>> -endobj - -21603 0 obj -<>/P 12395 0 R/Type/Annot/A 21942 0 R/Subtype/Link/Rect[207 200 221 207]/Border[0 0 0]/H/N>> -endobj - -21604 0 obj -<>/P 12395 0 R/Type/Annot/A 21941 0 R/Subtype/Link/Rect[223 200 235 207]/Border[0 0 0]/H/N>> -endobj - -21605 0 obj -<>/P 12395 0 R/Type/Annot/A 21940 0 R/Subtype/Link/Rect[229 190 246 198]/Border[0 0 0]/H/N>> -endobj - -21606 0 obj -<>/P 12395 0 R/Type/Annot/A 21939 0 R/Subtype/Link/Rect[247 190 259 197]/Border[0 0 0]/H/N>> -endobj - -21607 0 obj -<>/P 12395 0 R/Type/Annot/A 21938 0 R/Subtype/Link/Rect[191 180 205 187]/Border[0 0 0]/H/N>> -endobj - -21608 0 obj -<>/P 12395 0 R/Type/Annot/A 21936 0 R/Subtype/Link/Rect[207 180 221 187]/Border[0 0 0]/H/N>> -endobj - -21609 0 obj -<>/P 12395 0 R/Type/Annot/A 21934 0 R/Subtype/Link/Rect[223 180 239 188]/Border[0 0 0]/H/N>> -endobj - -21610 0 obj -<>/P 12395 0 R/Type/Annot/A 21933 0 R/Subtype/Link/Rect[240 180 254 187]/Border[0 0 0]/H/N>> -endobj - -21611 0 obj -<>/P 12395 0 R/Type/Annot/A 21931 0 R/Subtype/Link/Rect[256 180 270 187]/Border[0 0 0]/H/N>> -endobj - -21612 0 obj -<>/P 12395 0 R/Type/Annot/A 21929 0 R/Subtype/Link/Rect[272 180 286 187]/Border[0 0 0]/H/N>> -endobj - -21613 0 obj -<>/P 12395 0 R/Type/Annot/A 21928 0 R/Subtype/Link/Rect[151 170 167 178]/Border[0 0 0]/H/N>> -endobj - -21614 0 obj -<>/P 12395 0 R/Type/Annot/A 21926 0 R/Subtype/Link/Rect[168 170 180 177]/Border[0 0 0]/H/N>> -endobj - -21615 0 obj -<>/P 12395 0 R/Type/Annot/A 21923 0 R/Subtype/Link/Rect[207 160 224 168]/Border[0 0 0]/H/N>> -endobj - -21616 0 obj -<>/P 12395 0 R/Type/Annot/A 21918 0 R/Subtype/Link/Rect[224 160 236 167]/Border[0 0 0]/H/N>> -endobj - -21617 0 obj -<>/P 12395 0 R/Type/Annot/A 21914 0 R/Subtype/Link/Rect[175 150 191 158]/Border[0 0 0]/H/N>> -endobj - -21618 0 obj -<>/P 12395 0 R/Type/Annot/A 24989 0 R/Subtype/Link/Rect[192 150 206 157]/Border[0 0 0]/H/N>> -endobj - -21619 0 obj -<>/P 12395 0 R/Type/Annot/A 21908 0 R/Subtype/Link/Rect[208 150 222 157]/Border[0 0 0]/H/N>> -endobj - -21620 0 obj -<>/P 12395 0 R/Type/Annot/A 21905 0 R/Subtype/Link/Rect[224 150 236 157]/Border[0 0 0]/H/N>> -endobj - -21621 0 obj -<>/P 12395 0 R/Type/Annot/A 21902 0 R/Subtype/Link/Rect[407 670 419 677]/Border[0 0 0]/H/N>> -endobj - -21622 0 obj -<>/P 12395 0 R/Type/Annot/A 21899 0 R/Subtype/Link/Rect[418 660 430 667]/Border[0 0 0]/H/N>> -endobj - -21623 0 obj -<>/P 12395 0 R/Type/Annot/A 21897 0 R/Subtype/Link/Rect[412 650 422 657]/Border[0 0 0]/H/N>> -endobj - -21624 0 obj -<>/P 12395 0 R/Type/Annot/A 21893 0 R/Subtype/Link/Rect[424 650 437 657]/Border[0 0 0]/H/N>> -endobj - -21625 0 obj -<>/P 12395 0 R/Type/Annot/A 21890 0 R/Subtype/Link/Rect[439 650 453 657]/Border[0 0 0]/H/N>> -endobj - -21626 0 obj -<>/P 12395 0 R/Type/Annot/A 21887 0 R/Subtype/Link/Rect[455 650 472 658]/Border[0 0 0]/H/N>> -endobj - -21627 0 obj -<>/P 12395 0 R/Type/Annot/A 21884 0 R/Subtype/Link/Rect[473 650 487 657]/Border[0 0 0]/H/N>> -endobj - -21628 0 obj -<>/P 12395 0 R/Type/Annot/A 21880 0 R/Subtype/Link/Rect[359 640 375 648]/Border[0 0 0]/H/N>> -endobj - -21629 0 obj -<>/P 12395 0 R/Type/Annot/A 21877 0 R/Subtype/Link/Rect[376 640 390 647]/Border[0 0 0]/H/N>> -endobj - -21630 0 obj -<>/P 12395 0 R/Type/Annot/A 21873 0 R/Subtype/Link/Rect[392 640 409 648]/Border[0 0 0]/H/N>> -endobj - -21631 0 obj -<>/P 12395 0 R/Type/Annot/A 21869 0 R/Subtype/Link/Rect[409 640 423 647]/Border[0 0 0]/H/N>> -endobj - -21632 0 obj -<>/P 12395 0 R/Type/Annot/A 21867 0 R/Subtype/Link/Rect[425 640 439 647]/Border[0 0 0]/H/N>> -endobj - -21633 0 obj -<>/P 12395 0 R/Type/Annot/A 21865 0 R/Subtype/Link/Rect[441 640 455 647]/Border[0 0 0]/H/N>> -endobj - -21634 0 obj -<>/P 12395 0 R/Type/Annot/A 21862 0 R/Subtype/Link/Rect[457 640 474 648]/Border[0 0 0]/H/N>> -endobj - -21635 0 obj -<>/P 12395 0 R/Type/Annot/A 21860 0 R/Subtype/Link/Rect[475 640 489 647]/Border[0 0 0]/H/N>> -endobj - -21636 0 obj -<>/P 12395 0 R/Type/Annot/A 21858 0 R/Subtype/Link/Rect[491 640 505 647]/Border[0 0 0]/H/N>> -endobj - -21637 0 obj -<>/P 12395 0 R/Type/Annot/A 21856 0 R/Subtype/Link/Rect[359 630 373 637]/Border[0 0 0]/H/N>> -endobj - -21638 0 obj -<>/P 12395 0 R/Type/Annot/A 21853 0 R/Subtype/Link/Rect[375 630 389 637]/Border[0 0 0]/H/N>> -endobj - -21639 0 obj -<>/P 12395 0 R/Type/Annot/A 21851 0 R/Subtype/Link/Rect[391 630 407 638]/Border[0 0 0]/H/N>> -endobj - -21640 0 obj -<>/P 12395 0 R/Type/Annot/A 21849 0 R/Subtype/Link/Rect[408 630 422 637]/Border[0 0 0]/H/N>> -endobj - -21641 0 obj -<>/P 12395 0 R/Type/Annot/A 21846 0 R/Subtype/Link/Rect[424 630 438 637]/Border[0 0 0]/H/N>> -endobj - -21642 0 obj -<>/P 12395 0 R/Type/Annot/A 21841 0 R/Subtype/Link/Rect[440 630 457 638]/Border[0 0 0]/H/N>> -endobj - -21643 0 obj -<>/P 12395 0 R/Type/Annot/A 21837 0 R/Subtype/Link/Rect[457 630 471 637]/Border[0 0 0]/H/N>> -endobj - -21644 0 obj -<>/P 12395 0 R/Type/Annot/A 21833 0 R/Subtype/Link/Rect[473 630 487 637]/Border[0 0 0]/H/N>> -endobj - -21645 0 obj -<>/P 12395 0 R/Type/Annot/A 21830 0 R/Subtype/Link/Rect[489 630 501 637]/Border[0 0 0]/H/N>> -endobj - -21646 0 obj -<>/P 12395 0 R/Type/Annot/A 21827 0 R/Subtype/Link/Rect[423 620 433 627]/Border[0 0 0]/H/N>> -endobj - -21647 0 obj -<>/P 12395 0 R/Type/Annot/A 21825 0 R/Subtype/Link/Rect[435 620 445 627]/Border[0 0 0]/H/N>> -endobj - -21648 0 obj -<>/P 12395 0 R/Type/Annot/A 21823 0 R/Subtype/Link/Rect[447 620 459 627]/Border[0 0 0]/H/N>> -endobj - -21649 0 obj -<>/P 12395 0 R/Type/Annot/A 21819 0 R/Subtype/Link/Rect[388 610 400 617]/Border[0 0 0]/H/N>> -endobj - -21650 0 obj -<>/P 12395 0 R/Type/Annot/A 21816 0 R/Subtype/Link/Rect[418 600 426 607]/Border[0 0 0]/H/N>> -endobj - -21651 0 obj -<>/P 12395 0 R/Type/Annot/A 21814 0 R/Subtype/Link/Rect[393 590 403 597]/Border[0 0 0]/H/N>> -endobj - -21652 0 obj -<>/P 12395 0 R/Type/Annot/A 21811 0 R/Subtype/Link/Rect[405 590 419 597]/Border[0 0 0]/H/N>> -endobj - -21653 0 obj -<>/P 12395 0 R/Type/Annot/A 21806 0 R/Subtype/Link/Rect[421 590 435 597]/Border[0 0 0]/H/N>> -endobj - -21654 0 obj -<>/P 12395 0 R/Type/Annot/A 21803 0 R/Subtype/Link/Rect[437 590 451 597]/Border[0 0 0]/H/N>> -endobj - -21655 0 obj -<>/P 12395 0 R/Type/Annot/A 21800 0 R/Subtype/Link/Rect[453 590 470 598]/Border[0 0 0]/H/N>> -endobj - -21656 0 obj -<>/P 12395 0 R/Type/Annot/A 21797 0 R/Subtype/Link/Rect[470 590 482 597]/Border[0 0 0]/H/N>> -endobj - -21657 0 obj -<>/P 12395 0 R/Type/Annot/A 21794 0 R/Subtype/Link/Rect[434 580 451 588]/Border[0 0 0]/H/N>> -endobj - -21658 0 obj -<>/P 12395 0 R/Type/Annot/A 21789 0 R/Subtype/Link/Rect[451 580 463 587]/Border[0 0 0]/H/N>> -endobj - -21659 0 obj -<>/P 12395 0 R/Type/Annot/A 21784 0 R/Subtype/Link/Rect[429 570 441 577]/Border[0 0 0]/H/N>> -endobj - -21660 0 obj -<>/P 12395 0 R/Type/Annot/A 21922 0 R/Subtype/Link/Rect[369 560 379 567]/Border[0 0 0]/H/N>> -endobj - -21661 0 obj -<>/P 12395 0 R/Type/Annot/A 21917 0 R/Subtype/Link/Rect[381 560 391 567]/Border[0 0 0]/H/N>> -endobj - -21662 0 obj -<>/P 12395 0 R/Type/Annot/A 44742 0 R/Subtype/Link/Rect[393 560 407 567]/Border[0 0 0]/H/N>> -endobj - -21663 0 obj -<>/P 12395 0 R/Type/Annot/A 21910 0 R/Subtype/Link/Rect[409 560 426 568]/Border[0 0 0]/H/N>> -endobj - -21664 0 obj -<>/P 12395 0 R/Type/Annot/A 21907 0 R/Subtype/Link/Rect[427 560 441 567]/Border[0 0 0]/H/N>> -endobj - -21665 0 obj -<>/P 12395 0 R/Type/Annot/A 44651 0 R/Subtype/Link/Rect[443 560 455 567]/Border[0 0 0]/H/N>> -endobj - -21666 0 obj -<>/P 12395 0 R/Type/Annot/A 21900 0 R/Subtype/Link/Rect[425 550 441 558]/Border[0 0 0]/H/N>> -endobj - -21667 0 obj -<>/P 12395 0 R/Type/Annot/A 21898 0 R/Subtype/Link/Rect[442 550 454 557]/Border[0 0 0]/H/N>> -endobj - -21668 0 obj -<>/P 12395 0 R/Type/Annot/A 44517 0 R/Subtype/Link/Rect[385 540 401 548]/Border[0 0 0]/H/N>> -endobj - -21669 0 obj -<>/P 12395 0 R/Type/Annot/A 44499 0 R/Subtype/Link/Rect[402 540 414 547]/Border[0 0 0]/H/N>> -endobj - -21670 0 obj -<>/P 12395 0 R/Type/Annot/A 21888 0 R/Subtype/Link/Rect[379 530 395 538]/Border[0 0 0]/H/N>> -endobj - -21671 0 obj -<>/P 12395 0 R/Type/Annot/A 21886 0 R/Subtype/Link/Rect[396 530 408 537]/Border[0 0 0]/H/N>> -endobj - -21672 0 obj -<>/P 12395 0 R/Type/Annot/A 21883 0 R/Subtype/Link/Rect[382 520 399 528]/Border[0 0 0]/H/N>> -endobj - -21673 0 obj -<>/P 12395 0 R/Type/Annot/A 21879 0 R/Subtype/Link/Rect[400 520 412 527]/Border[0 0 0]/H/N>> -endobj - -21674 0 obj -<>/P 12395 0 R/Type/Annot/A 44324 0 R/Subtype/Link/Rect[368 510 384 518]/Border[0 0 0]/H/N>> -endobj - -21675 0 obj -<>/P 12395 0 R/Type/Annot/A 21871 0 R/Subtype/Link/Rect[385 510 397 517]/Border[0 0 0]/H/N>> -endobj - -21676 0 obj -<>/P 12395 0 R/Type/Annot/A 44245 0 R/Subtype/Link/Rect[391 500 407 508]/Border[0 0 0]/H/N>> -endobj - -21677 0 obj -<>/P 12395 0 R/Type/Annot/A 44211 0 R/Subtype/Link/Rect[408 500 420 507]/Border[0 0 0]/H/N>> -endobj - -21678 0 obj -<>/P 12395 0 R/Type/Annot/A 21863 0 R/Subtype/Link/Rect[411 490 428 498]/Border[0 0 0]/H/N>> -endobj - -21679 0 obj -<>/P 12395 0 R/Type/Annot/A 44131 0 R/Subtype/Link/Rect[428 490 440 497]/Border[0 0 0]/H/N>> -endobj - -21680 0 obj -<>/P 12395 0 R/Type/Annot/A 44106 0 R/Subtype/Link/Rect[395 480 412 488]/Border[0 0 0]/H/N>> -endobj - -21681 0 obj -<>/P 12395 0 R/Type/Annot/A 21857 0 R/Subtype/Link/Rect[413 480 425 487]/Border[0 0 0]/H/N>> -endobj - -21682 0 obj -<>/P 12395 0 R/Type/Annot/A 44034 0 R/Subtype/Link/Rect[435 470 451 478]/Border[0 0 0]/H/N>> -endobj - -21683 0 obj -<>/P 12395 0 R/Type/Annot/A 44001 0 R/Subtype/Link/Rect[452 470 464 477]/Border[0 0 0]/H/N>> -endobj - -21684 0 obj -<>/P 12395 0 R/Type/Annot/A 43964 0 R/Subtype/Link/Rect[413 460 429 468]/Border[0 0 0]/H/N>> -endobj - -21685 0 obj -<>/P 12395 0 R/Type/Annot/A 43930 0 R/Subtype/Link/Rect[430 460 442 467]/Border[0 0 0]/H/N>> -endobj - -21686 0 obj -<>/P 12395 0 R/Type/Annot/A 21843 0 R/Subtype/Link/Rect[402 450 414 457]/Border[0 0 0]/H/N>> -endobj - -21687 0 obj -<>/P 12395 0 R/Type/Annot/A 21838 0 R/Subtype/Link/Rect[378 440 388 447]/Border[0 0 0]/H/N>> -endobj - -21688 0 obj -<>/P 12395 0 R/Type/Annot/A 43809 0 R/Subtype/Link/Rect[390 440 403 448]/Border[0 0 0]/H/N>> -endobj - -21689 0 obj -<>/P 12395 0 R/Type/Annot/A 43778 0 R/Subtype/Link/Rect[404 440 414 447]/Border[0 0 0]/H/N>> -endobj - -21690 0 obj -<>/P 12395 0 R/Type/Annot/A 43741 0 R/Subtype/Link/Rect[416 440 426 447]/Border[0 0 0]/H/N>> -endobj - -21691 0 obj -<>/P 12395 0 R/Type/Annot/A 43702 0 R/Subtype/Link/Rect[428 440 438 447]/Border[0 0 0]/H/N>> -endobj - -21692 0 obj -<>/P 12395 0 R/Type/Annot/A 21822 0 R/Subtype/Link/Rect[440 440 454 447]/Border[0 0 0]/H/N>> -endobj - -21693 0 obj -<>/P 12395 0 R/Type/Annot/A 21818 0 R/Subtype/Link/Rect[456 440 468 447]/Border[0 0 0]/H/N>> -endobj - -21694 0 obj -<>/P 12395 0 R/Type/Annot/A 43588 0 R/Subtype/Link/Rect[420 420 436 428]/Border[0 0 0]/H/N>> -endobj - -21695 0 obj -<>/P 12395 0 R/Type/Annot/A 21813 0 R/Subtype/Link/Rect[437 420 449 427]/Border[0 0 0]/H/N>> -endobj - -21696 0 obj -<>/P 12395 0 R/Type/Annot/A 21810 0 R/Subtype/Link/Rect[384 410 394 417]/Border[0 0 0]/H/N>> -endobj - -21697 0 obj -<>/P 12395 0 R/Type/Annot/A 37448 0 R/Subtype/Link/Rect[396 410 406 417]/Border[0 0 0]/H/N>> -endobj - -21698 0 obj -<>/P 12395 0 R/Type/Annot/A 43449 0 R/Subtype/Link/Rect[408 410 418 417]/Border[0 0 0]/H/N>> -endobj - -21699 0 obj -<>/P 12395 0 R/Type/Annot/A 21798 0 R/Subtype/Link/Rect[420 410 434 417]/Border[0 0 0]/H/N>> -endobj - -21700 0 obj -<>/P 12395 0 R/Type/Annot/A 21796 0 R/Subtype/Link/Rect[436 410 450 417]/Border[0 0 0]/H/N>> -endobj - -21701 0 obj -<>/P 12395 0 R/Type/Annot/A 21792 0 R/Subtype/Link/Rect[452 410 468 418]/Border[0 0 0]/H/N>> -endobj - -21702 0 obj -<>/P 12395 0 R/Type/Annot/A 21788 0 R/Subtype/Link/Rect[469 410 483 417]/Border[0 0 0]/H/N>> -endobj - -21703 0 obj -<>/P 12395 0 R/Type/Annot/A 21920 0 R/Subtype/Link/Rect[485 410 499 417]/Border[0 0 0]/H/N>> -endobj - -21704 0 obj -<>/P 12395 0 R/Type/Annot/A 21915 0 R/Subtype/Link/Rect[501 410 513 417]/Border[0 0 0]/H/N>> -endobj - -21705 0 obj -<>/P 12395 0 R/Type/Annot/A 21913 0 R/Subtype/Link/Rect[380 400 390 407]/Border[0 0 0]/H/N>> -endobj - -21706 0 obj -<>/P 12395 0 R/Type/Annot/A 43119 0 R/Subtype/Link/Rect[392 400 402 407]/Border[0 0 0]/H/N>> -endobj - -21707 0 obj -<>/P 12395 0 R/Type/Annot/A 43094 0 R/Subtype/Link/Rect[404 400 414 407]/Border[0 0 0]/H/N>> -endobj - -21708 0 obj -<>/P 12395 0 R/Type/Annot/A 21901 0 R/Subtype/Link/Rect[416 400 433 408]/Border[0 0 0]/H/N>> -endobj - -21709 0 obj -<>/P 12395 0 R/Type/Annot/A 42995 0 R/Subtype/Link/Rect[434 400 446 407]/Border[0 0 0]/H/N>> -endobj - -21710 0 obj -<>/P 12395 0 R/Type/Annot/A 21896 0 R/Subtype/Link/Rect[377 390 385 397]/Border[0 0 0]/H/N>> -endobj - -21711 0 obj -<>/P 12395 0 R/Type/Annot/A 21892 0 R/Subtype/Link/Rect[396 380 404 387]/Border[0 0 0]/H/N>> -endobj - -21712 0 obj -<>/P 12395 0 R/Type/Annot/A 44505 0 R/Subtype/Link/Rect[417 370 431 377]/Border[0 0 0]/H/N>> -endobj - -21713 0 obj -<>/P 12395 0 R/Type/Annot/A 42860 0 R/Subtype/Link/Rect[433 370 449 378]/Border[0 0 0]/H/N>> -endobj - -21714 0 obj -<>/P 12395 0 R/Type/Annot/A 21882 0 R/Subtype/Link/Rect[450 370 464 377]/Border[0 0 0]/H/N>> -endobj - -21715 0 obj -<>/P 12395 0 R/Type/Annot/A 42778 0 R/Subtype/Link/Rect[466 370 480 377]/Border[0 0 0]/H/N>> -endobj - -21716 0 obj -<>/P 12395 0 R/Type/Annot/A 21875 0 R/Subtype/Link/Rect[482 370 496 377]/Border[0 0 0]/H/N>> -endobj - -21717 0 obj -<>/P 12395 0 R/Type/Annot/A 42713 0 R/Subtype/Link/Rect[498 370 510 377]/Border[0 0 0]/H/N>> -endobj - -21718 0 obj -<>/P 12395 0 R/Type/Annot/A 42679 0 R/Subtype/Link/Rect[395 360 412 368]/Border[0 0 0]/H/N>> -endobj - -21719 0 obj -<>/P 12395 0 R/Type/Annot/A 42637 0 R/Subtype/Link/Rect[413 360 427 367]/Border[0 0 0]/H/N>> -endobj - -21720 0 obj -<>/P 12395 0 R/Type/Annot/A 42595 0 R/Subtype/Link/Rect[429 360 443 367]/Border[0 0 0]/H/N>> -endobj - -21721 0 obj -<>/P 12395 0 R/Type/Annot/A 42568 0 R/Subtype/Link/Rect[445 360 459 367]/Border[0 0 0]/H/N>> -endobj - -21722 0 obj -<>/P 12395 0 R/Type/Annot/A 42534 0 R/Subtype/Link/Rect[461 360 475 367]/Border[0 0 0]/H/N>> -endobj - -21723 0 obj -<>/P 12395 0 R/Type/Annot/A 42493 0 R/Subtype/Link/Rect[477 360 491 367]/Border[0 0 0]/H/N>> -endobj - -21724 0 obj -<>/P 12395 0 R/Type/Annot/A 42453 0 R/Subtype/Link/Rect[359 350 375 358]/Border[0 0 0]/H/N>> -endobj - -21725 0 obj -<>/P 12395 0 R/Type/Annot/A 21850 0 R/Subtype/Link/Rect[376 350 390 357]/Border[0 0 0]/H/N>> -endobj - -21726 0 obj -<>/P 12395 0 R/Type/Annot/A 21848 0 R/Subtype/Link/Rect[392 350 406 357]/Border[0 0 0]/H/N>> -endobj - -21727 0 obj -<>/P 12395 0 R/Type/Annot/A 42342 0 R/Subtype/Link/Rect[408 350 420 357]/Border[0 0 0]/H/N>> -endobj - -21728 0 obj -<>/P 12395 0 R/Type/Annot/A 21840 0 R/Subtype/Link/Rect[397 340 409 347]/Border[0 0 0]/H/N>> -endobj - -21729 0 obj -<>/P 12395 0 R/Type/Annot/A 42251 0 R/Subtype/Link/Rect[409 330 419 337]/Border[0 0 0]/H/N>> -endobj - -21730 0 obj -<>/P 12395 0 R/Type/Annot/A 42223 0 R/Subtype/Link/Rect[421 330 429 337]/Border[0 0 0]/H/N>> -endobj - -21731 0 obj -<>/P 12395 0 R/Type/Annot/A 21829 0 R/Subtype/Link/Rect[410 320 424 327]/Border[0 0 0]/H/N>> -endobj - -21732 0 obj -<>/P 12395 0 R/Type/Annot/A 42130 0 R/Subtype/Link/Rect[426 320 438 327]/Border[0 0 0]/H/N>> -endobj - -21733 0 obj -<>/P 12395 0 R/Type/Annot/A 42084 0 R/Subtype/Link/Rect[439 310 451 317]/Border[0 0 0]/H/N>> -endobj - -21734 0 obj -<>/P 12395 0 R/Type/Annot/A 21820 0 R/Subtype/Link/Rect[453 300 465 307]/Border[0 0 0]/H/N>> -endobj - -21735 0 obj -<>/P 12395 0 R/Type/Annot/A 42000 0 R/Subtype/Link/Rect[438 290 450 297]/Border[0 0 0]/H/N>> -endobj - -21736 0 obj -<>/P 12395 0 R/Type/Annot/A 41961 0 R/Subtype/Link/Rect[419 280 429 287]/Border[0 0 0]/H/N>> -endobj - -21737 0 obj -<>/P 12395 0 R/Type/Annot/A 21812 0 R/Subtype/Link/Rect[431 280 439 287]/Border[0 0 0]/H/N>> -endobj - -21738 0 obj -<>/P 12395 0 R/Type/Annot/A 21807 0 R/Subtype/Link/Rect[438 270 452 277]/Border[0 0 0]/H/N>> -endobj - -21739 0 obj -<>/P 12395 0 R/Type/Annot/A 41847 0 R/Subtype/Link/Rect[454 270 466 277]/Border[0 0 0]/H/N>> -endobj - -21740 0 obj -<>/P 12395 0 R/Type/Annot/A 21799 0 R/Subtype/Link/Rect[377 260 394 268]/Border[0 0 0]/H/N>> -endobj - -21741 0 obj -<>/P 12395 0 R/Type/Annot/A 41737 0 R/Subtype/Link/Rect[395 260 409 267]/Border[0 0 0]/H/N>> -endobj - -21742 0 obj -<>/P 12395 0 R/Type/Annot/A 21793 0 R/Subtype/Link/Rect[411 260 423 267]/Border[0 0 0]/H/N>> -endobj - -21743 0 obj -<>/P 12395 0 R/Type/Annot/A 41648 0 R/Subtype/Link/Rect[400 250 410 257]/Border[0 0 0]/H/N>> -endobj - -21744 0 obj -<>/P 12395 0 R/Type/Annot/A 41603 0 R/Subtype/Link/Rect[412 250 422 257]/Border[0 0 0]/H/N>> -endobj - -21745 0 obj -<>/P 12395 0 R/Type/Annot/A 21911 0 R/Subtype/Link/Rect[424 250 441 258]/Border[0 0 0]/H/N>> -endobj - -21746 0 obj -<>/P 12395 0 R/Type/Annot/A 41519 0 R/Subtype/Link/Rect[441 250 455 257]/Border[0 0 0]/H/N>> -endobj - -21747 0 obj -<>/P 12395 0 R/Type/Annot/A 41472 0 R/Subtype/Link/Rect[457 250 471 257]/Border[0 0 0]/H/N>> -endobj - -21748 0 obj -<>/P 12395 0 R/Type/Annot/A 41439 0 R/Subtype/Link/Rect[473 250 485 257]/Border[0 0 0]/H/N>> -endobj - -21749 0 obj -<>/P 12395 0 R/Type/Annot/A 43098 0 R/Subtype/Link/Rect[397 240 409 247]/Border[0 0 0]/H/N>> -endobj - -21750 0 obj -<>/P 12395 0 R/Type/Annot/A 41355 0 R/Subtype/Link/Rect[417 230 427 237]/Border[0 0 0]/H/N>> -endobj - -21751 0 obj -<>/P 12395 0 R/Type/Annot/A 41324 0 R/Subtype/Link/Rect[429 230 443 237]/Border[0 0 0]/H/N>> -endobj - -21752 0 obj -<>/P 12395 0 R/Type/Annot/A 41287 0 R/Subtype/Link/Rect[445 230 459 237]/Border[0 0 0]/H/N>> -endobj - -21753 0 obj -<>/P 12395 0 R/Type/Annot/A 41262 0 R/Subtype/Link/Rect[461 230 477 238]/Border[0 0 0]/H/N>> -endobj - -21754 0 obj -<>/P 12395 0 R/Type/Annot/A 37499 0 R/Subtype/Link/Rect[478 230 492 237]/Border[0 0 0]/H/N>> -endobj - -21755 0 obj -<>/P 12395 0 R/Type/Annot/A 21876 0 R/Subtype/Link/Rect[494 230 508 237]/Border[0 0 0]/H/N>> -endobj - -21756 0 obj -<>/P 12395 0 R/Type/Annot/A 21872 0 R/Subtype/Link/Rect[359 220 375 228]/Border[0 0 0]/H/N>> -endobj - -21757 0 obj -<>/P 12395 0 R/Type/Annot/A 41130 0 R/Subtype/Link/Rect[376 220 390 227]/Border[0 0 0]/H/N>> -endobj - -21758 0 obj -<>/P 12395 0 R/Type/Annot/A 21866 0 R/Subtype/Link/Rect[392 220 409 228]/Border[0 0 0]/H/N>> -endobj - -21759 0 obj -<>/P 12395 0 R/Type/Annot/A 21864 0 R/Subtype/Link/Rect[409 220 423 227]/Border[0 0 0]/H/N>> -endobj - -21760 0 obj -<>/P 12395 0 R/Type/Annot/A 21861 0 R/Subtype/Link/Rect[425 220 442 228]/Border[0 0 0]/H/N>> -endobj - -21761 0 obj -<>/P 12395 0 R/Type/Annot/A 21859 0 R/Subtype/Link/Rect[443 220 457 227]/Border[0 0 0]/H/N>> -endobj - -21762 0 obj -<>/P 12395 0 R/Type/Annot/A 40679 0 R/Subtype/Link/Rect[459 220 473 227]/Border[0 0 0]/H/N>> -endobj - -21763 0 obj -<>/P 12395 0 R/Type/Annot/A 21854 0 R/Subtype/Link/Rect[475 220 487 227]/Border[0 0 0]/H/N>> -endobj - -21764 0 obj -<>/P 12395 0 R/Type/Annot/A 40086 0 R/Subtype/Link/Rect[408 210 418 217]/Border[0 0 0]/H/N>> -endobj - -21765 0 obj -<>/P 12395 0 R/Type/Annot/A 21947 0 R/Subtype/Link/Rect[420 210 430 217]/Border[0 0 0]/H/N>> -endobj - -21766 0 obj -<>/P 12395 0 R/Type/Annot/A 21845 0 R/Subtype/Link/Rect[432 210 442 217]/Border[0 0 0]/H/N>> -endobj - -21767 0 obj -<>/P 12395 0 R/Type/Annot/A 38970 0 R/Subtype/Link/Rect[444 210 458 217]/Border[0 0 0]/H/N>> -endobj - -21768 0 obj -<>/P 12395 0 R/Type/Annot/A 21836 0 R/Subtype/Link/Rect[460 210 474 217]/Border[0 0 0]/H/N>> -endobj - -21769 0 obj -<>/P 12395 0 R/Type/Annot/A 21831 0 R/Subtype/Link/Rect[476 210 490 217]/Border[0 0 0]/H/N>> -endobj - -21770 0 obj -<>/P 12395 0 R/Type/Annot/A 38344 0 R/Subtype/Link/Rect[492 210 504 217]/Border[0 0 0]/H/N>> -endobj - -21771 0 obj -<>/P 12395 0 R/Type/Annot/A 21826 0 R/Subtype/Link/Rect[412 200 426 207]/Border[0 0 0]/H/N>> -endobj - -21772 0 obj -<>/P 12395 0 R/Type/Annot/A 38277 0 R/Subtype/Link/Rect[428 200 442 207]/Border[0 0 0]/H/N>> -endobj - -21773 0 obj -<>/P 12395 0 R/Type/Annot/A 21937 0 R/Subtype/Link/Rect[444 200 458 207]/Border[0 0 0]/H/N>> -endobj - -21774 0 obj -<>/P 12395 0 R/Type/Annot/A 38231 0 R/Subtype/Link/Rect[460 200 474 207]/Border[0 0 0]/H/N>> -endobj - -21775 0 obj -<>/P 12395 0 R/Type/Annot/A 36764 0 R/Subtype/Link/Rect[476 200 490 207]/Border[0 0 0]/H/N>> -endobj - -21776 0 obj -<>/P 12395 0 R/Type/Annot/A 36717 0 R/Subtype/Link/Rect[492 200 506 207]/Border[0 0 0]/H/N>> -endobj - -21777 0 obj -<>/P 12395 0 R/Type/Annot/A 36689 0 R/Subtype/Link/Rect[359 190 375 198]/Border[0 0 0]/H/N>> -endobj - -21778 0 obj -<>/P 12395 0 R/Type/Annot/A 38177 0 R/Subtype/Link/Rect[376 190 390 197]/Border[0 0 0]/H/N>> -endobj - -21779 0 obj -<>/P 12395 0 R/Type/Annot/A 21925 0 R/Subtype/Link/Rect[392 190 406 197]/Border[0 0 0]/H/N>> -endobj - -21780 0 obj -<>/P 12395 0 R/Type/Annot/A 35087 0 R/Subtype/Link/Rect[408 190 420 197]/Border[0 0 0]/H/N>> -endobj - -21781 0 obj -<>/P 12395 0 R/Type/Annot/A 41790 0 R/Subtype/Link/Rect[415 170 427 177]/Border[0 0 0]/H/N>> -endobj - -21782 0 obj -<>/P 12395 0 R/Type/Annot/A 21787 0 R/Subtype/Link/Rect[411 160 423 167]/Border[0 0 0]/H/N>> -endobj - -21783 0 obj -<>/P 12395 0 R/Type/Annot/A 34228 0 R/Subtype/Link/Rect[417 150 425 157]/Border[0 0 0]/H/N>> -endobj - -21784 0 obj -<> -endobj - -21785 0 obj -<> -endobj - -21786 0 obj -<> -endobj - -21787 0 obj -<> -endobj - -21788 0 obj -<> -endobj - -21789 0 obj -<> -endobj - -21790 0 obj -<> -endobj - -21791 0 obj -<> -endobj - -21792 0 obj -<> -endobj - -21793 0 obj -<> -endobj - -21794 0 obj -<> -endobj - -21795 0 obj -<> -endobj - -21796 0 obj -<> -endobj - -21797 0 obj -<> -endobj - -21798 0 obj -<> -endobj - -21799 0 obj -<> -endobj - -21800 0 obj -<> -endobj - -21801 0 obj -<> -endobj - -21802 0 obj -<> -endobj - -21803 0 obj -<> -endobj - -21804 0 obj -<> -endobj - -21805 0 obj -<> -endobj - -21806 0 obj -<> -endobj - -21807 0 obj -<> -endobj - -21808 0 obj -<> -endobj - -21809 0 obj -<> -endobj - -21810 0 obj -<> -endobj - -21811 0 obj -<> -endobj - -21812 0 obj -<> -endobj - -21813 0 obj -<> -endobj - -21814 0 obj -<> -endobj - -21815 0 obj -<> -endobj - -21816 0 obj -<> -endobj - -21817 0 obj -<> -endobj - -21818 0 obj -<> -endobj - -21819 0 obj -<> -endobj - -21820 0 obj -<> -endobj - -21821 0 obj -<> -endobj - -21822 0 obj -<> -endobj - -21823 0 obj -<> -endobj - -21824 0 obj -<> -endobj - -21825 0 obj -<> -endobj - -21826 0 obj -<> -endobj - -21827 0 obj -<> -endobj - -21828 0 obj -<> -endobj - -21829 0 obj -<> -endobj - -21830 0 obj -<> -endobj - -21831 0 obj -<> -endobj - -21832 0 obj -<> -endobj - -21833 0 obj -<> -endobj - -21834 0 obj -<> -endobj - -21835 0 obj -<> -endobj - -21836 0 obj -<> -endobj - -21837 0 obj -<> -endobj - -21838 0 obj -<> -endobj - -21839 0 obj -<> -endobj - -21840 0 obj -<> -endobj - -21841 0 obj -<> -endobj - -21842 0 obj -<> -endobj - -21843 0 obj -<> -endobj - -21844 0 obj -<> -endobj - -21845 0 obj -<> -endobj - -21846 0 obj -<> -endobj - -21847 0 obj -<> -endobj - -21848 0 obj -<> -endobj - -21849 0 obj -<> -endobj - -21850 0 obj -<> -endobj - -21851 0 obj -<> -endobj - -21852 0 obj -<> -endobj - -21853 0 obj -<> -endobj - -21854 0 obj -<> -endobj - -21855 0 obj -<> -endobj - -21856 0 obj -<> -endobj - -21857 0 obj -<> -endobj - -21858 0 obj -<> -endobj - -21859 0 obj -<> -endobj - -21860 0 obj -<> -endobj - -21861 0 obj -<> -endobj - -21862 0 obj -<> -endobj - -21863 0 obj -<> -endobj - -21864 0 obj -<> -endobj - -21865 0 obj -<> -endobj - -21866 0 obj -<> -endobj - -21867 0 obj -<> -endobj - -21868 0 obj -<> -endobj - -21869 0 obj -<> -endobj - -21870 0 obj -<> -endobj - -21871 0 obj -<> -endobj - -21872 0 obj -<> -endobj - -21873 0 obj -<> -endobj - -21874 0 obj -<> -endobj - -21875 0 obj -<> -endobj - -21876 0 obj -<> -endobj - -21877 0 obj -<> -endobj - -21878 0 obj -<> -endobj - -21879 0 obj -<> -endobj - -21880 0 obj -<> -endobj - -21881 0 obj -<> -endobj - -21882 0 obj -<> -endobj - -21883 0 obj -<> -endobj - -21884 0 obj -<> -endobj - -21885 0 obj -<> -endobj - -21886 0 obj -<> -endobj - -21887 0 obj -<> -endobj - -21888 0 obj -<> -endobj - -21889 0 obj -<> -endobj - -21890 0 obj -<> -endobj - -21891 0 obj -<> -endobj - -21892 0 obj -<> -endobj - -21893 0 obj -<> -endobj - -21894 0 obj -<> -endobj - -21895 0 obj -<> -endobj - -21896 0 obj -<> -endobj - -21897 0 obj -<> -endobj - -21898 0 obj -<> -endobj - -21899 0 obj -<> -endobj - -21900 0 obj -<> -endobj - -21901 0 obj -<> -endobj - -21902 0 obj -<> -endobj - -21903 0 obj -<> -endobj - -21904 0 obj -<> -endobj - -21905 0 obj -<> -endobj - -21906 0 obj -<> -endobj - -21907 0 obj -<> -endobj - -21908 0 obj -<> -endobj - -21909 0 obj -<> -endobj - -21910 0 obj -<> -endobj - -21911 0 obj -<> -endobj - -21912 0 obj -<> -endobj - -21913 0 obj -<> -endobj - -21914 0 obj -<> -endobj - -21915 0 obj -<> -endobj - -21916 0 obj -<> -endobj - -21917 0 obj -<> -endobj - -21918 0 obj -<> -endobj - -21919 0 obj -<> -endobj - -21920 0 obj -<> -endobj - -21921 0 obj -<> -endobj - -21922 0 obj -<> -endobj - -21923 0 obj -<> -endobj - -21924 0 obj -<> -endobj - -21925 0 obj -<> -endobj - -21926 0 obj -<> -endobj - -21927 0 obj -<> -endobj - -21928 0 obj -<> -endobj - -21929 0 obj -<> -endobj - -21930 0 obj -<> -endobj - -21931 0 obj -<> -endobj - -21932 0 obj -<> -endobj - -21933 0 obj -<> -endobj - -21934 0 obj -<> -endobj - -21935 0 obj -<> -endobj - -21936 0 obj -<> -endobj - -21937 0 obj -<> -endobj - -21938 0 obj -<> -endobj - -21939 0 obj -<> -endobj - -21940 0 obj -<> -endobj - -21941 0 obj -<> -endobj - -21942 0 obj -<> -endobj - -21943 0 obj -<> -endobj - -21944 0 obj -<> -endobj - -21945 0 obj -<> -endobj - -21946 0 obj -<> -endobj - -21947 0 obj -<> -endobj - -21948 0 obj -<> -endobj - -21949 0 obj -<> -endobj - -21950 0 obj -<> -endobj - -21951 0 obj -<> -endobj - -21952 0 obj -<> -endobj - -21953 0 obj -<> -endobj - -21954 0 obj -<> -endobj - -21955 0 obj -<> -endobj - -21956 0 obj -<> -endobj - -21957 0 obj -<> -endobj - -21958 0 obj -<> -endobj - -21959 0 obj -<> -endobj - -21960 0 obj -<> -endobj - -21961 0 obj -<> -endobj - -21962 0 obj -<> -endobj - -21963 0 obj -<> -endobj - -21964 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21965 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21966 0 obj -<> -endobj - -21967 0 obj -<> -endobj - -21968 0 obj -<> -endobj - -21969 0 obj -<> -endobj - -21970 0 obj -<> -endobj - -21971 0 obj -<> -endobj - -21972 0 obj -<> -endobj - -21973 0 obj -<> -endobj - -21974 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -21975 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -21976 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21977 0 obj -<> -stream -Hoo6S=tHڵih<[id]cw'iG#QUgN^H<~v>dL*&aMthw1"1U1b.rVU9UV*8˃\j!E~dI$2FgrY'?2Q!CȄ21~q?b/}0Mt,VIDIe5A5{<~PBF-~^"1AP9Q~ς : f2d&EPRR -i2 KIc (ŸWĽb+^35q׌{Mnj1qo7{Cƽ!}B'{K[ƽ%-)>%S}Jg$ -fbR5GQXI-EcQ=րbR5G1IjZ9qORb (&Xs㞤V1Ś$I-րbR5G1IjZ9qORb (&Xs㞤V1Ś$I-ffR5GQXI-EcQ=րbR5G1Ij5Z9qORb (&Xs㞤V3Ś$I-րbR5G1Ij5Z9qORb (&Xs㞤V3Ś$I-fA̤kZ9ǚ{ŤkbܓLj(=Im̤k@1Ś$1Z9qOR3PLj(=Im̤kbܓLjZ9qOR3Ś$1ZäkZ9ǚ,̲,k9gypJHZMTYĂ8 zfm[֟b4NnrVL{[6ё -] ?TŪvwykp!Mw lbae8!|x1_jY*1v]a6߳x^-\(zjn z-?۞\QqK߻*jz -;'L{JgXݨޯ!2Mv$0~Q7hk0FǍ$TأF|$=ˏ$\7G/9`$I$,IOyu=UTgȄ)oFlozKֽU!Ou=2wСovGvȗvG|`<~'== rjFV%+ OLϦ=cKZ#VFnWָ_r('mk_SïJV_h"^rq{kOǣQ]c܋hwdɘ0kܛMuچ4Fl7#SFmc[JM&jxz~;8 /N ^U/9ujP6q2ym6Ƿsu÷iM`< -M8 m)o9mut /\%!Ctb;0edIwwA;|1)l]c 7\ ~zwQa _ElLendstream -endobj - -21978 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21979 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21980 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -21981 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -21982 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21983 0 obj -<> -stream -HW]6}ׯ /r1? I"٤)v\4@&([QjKSK4~%[`"璼ٳ/߼xūџR9k+L<32b_E&J}D-T۲U/mwUWb_G7?jqE/RnM H"p0ȓB,wQ -X~ht*~j':MWe_v٬֛fw moڼ:קa_>}ee@h1=W;OZ< +>'b-"g2S7)\~lȥB#D1d(,B2,]P<ŀ:P:Po&Po&Po&Po6Po6P2@}ʨO)> g,P1@}Ψ9>pf\K1`1k5Z!QV3.2k)P=ŀŸb -S Yzq-ŐŨ\kR Yq-ŀŸbb5k),F}Zøbb\K1d1ƵC>pa\K1`1k Z!Q0.k)P=ŀŸb -S Yzq-ŐŨ\kR Yq-ŀŸbbk),F}Z˸bb\K1d1ZƵC>pe\K1`1k-Z!Q2.JR Yzq-ŐBN:H߬E/RnM\d&̉./*Nm}j}cW6o#~gLVmם+˷Q"MA8ЮpRUX~sIp=~!dRsEc$>3S m{Q6\CӋv>AntVFB_$݁N ,Ye0Jⴞט34tfet=lҴ2OKs{*x_8'LpC?TOMYz 'MS`bn-En",]΢t7˥@:|Q iG>#! ʎ#*ߧ!T֞%Oay֗ga_AK8}l,~glq{r6LcV.9ZD>ˀ;CW{% $(ss)N aeIlcj[jY8ih QWuŕ>Q2Lha Mu>l-7,&|?vs MM̚T&ac3iz wH{ J#?icئ=L4$TPslv@J]sw>Ntn;}'UI!u:yGۓDoE㥒) -<oC‡;%Y)9/L2QF6w\EB@(PT"Iu{hs1x -m YQx.Lxzٵל͕}ߡ V]M^LYYWȸw_ O]VǨw `(2,>_Wןx__wͻ[E::дg|_gѶǨ1ܖ\U?jx= va[t"Jt7 ١Rq?FRzǕ͎݃+z18CCzI###)(WNG0" -~w8!Kp.5H.%~::1%QO\S'KTR?}>ոD\e2a‚WG7 -z)cݕJ}[tWrendstream -endobj - -21984 0 obj -<>/P 663 0 R/Type/Annot/A 21985 0 R/Subtype/Link/Rect[93.6003036 411.348999 192.707993 431.028992]/Border[0 0 0]/H/N>> -endobj - -21985 0 obj -<> -endobj - -21986 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21987 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21988 0 obj -<> -endobj - -21989 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -21990 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -21991 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -21992 0 obj -<> -stream -HWێܸ}``FÛnۋ8#' LFq֥g>ŋY/*UY6d͸o+z_c􄊨\(Йci&)(xbz-9!'? } )ٓ q#DSl,Y9."0*@q=s= KKGc!#}<1>c }O< >اc"S}<,CDڀ#u} -w}BTgg)S-GT -a節#u}BT -a節#u} -Tպ>@!u} -Tպ>B{j]պ>B{j]B!=rD ZקP>{(DO|O|Pj]B!= -DOjZ(DOjZקP{OQZקP{OQS(Z -QS(Z)S@T@"u} -w}BTgg)SDT -aV"u}BT -aV"u} -T+պ>@!u} -T+պ>B{j]պ>B{j]B!=JD "DO|Pj]B]B02I(Ye̓}1`TaL8#ylCuߖi~SmJnO[vxjG]jyfULCߏx*}('ix1gZlM)ar cq;!⦚(SOt_ˊЛr'T "8ZwZ]CWZ$7HN2(K!͖ $&6[<`B@#PXYcva7O^5/C1ԥ1m<ե}9璪O^N|9>wc}N]88>hfS~F[EP< bX 9V/c_^J_Cѝӳ}cW%tGгBz}A&&: EcsO"q_"l/Q<M4Ąs0`ōy%Y4] o Xd8V>Y; vp #&8u+k. :̈dI*ŒCD4&YZPu&H=-A@'˼)}~yCE]c҉sY[lvX\c"Bت U^p:\o1VKe s,4MWSm(ae*Q&]&W9Y23eb J#lyU0V}9G~4t*F;H;Ҿ2F}?Dj*H&YLބdG`243Đ;ٺ|_m08&^ItwsɆp*\2ƈBq(Qx7j4'tހM)&3q׵̧M0""2;ӽ ei,l28:ywvsz~\npY>k$fu׋;)4!& z iˡ#<\Ln&rx -kP)$)D5C?~Ȍ0˫z:,K0==Fi3Yc-69EtsT5AG(o>Ap@+m-FX^q+݄q_ZU*,GBv\E12u -&%0E<*IY$ - ]ؔd!`vu[EKrKMZX9u>һ֘ -:$#emWXr!M""y&iAbBGr8s36Ä|>G9"eGWGmȖy?VMjzR9HfY -{+R#e{R}ɧ_kendstream -endobj - -21993 0 obj -<>/P 676 0 R/Type/Annot/A 21994 0 R/Subtype/Link/Rect[93.6006012 587.629028 276.299988 607.309021]/Border[0 0 0]/H/N>> -endobj - -21994 0 obj -<> -endobj - -21995 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21996 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21997 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -21998 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -21999 0 obj -<> -endobj - -22000 0 obj -<> -endobj - -22001 0 obj -<> -endobj - -22002 0 obj -<> -endobj - -22003 0 obj -<> -endobj - -22004 0 obj -<> -endobj - -22005 0 obj -<> -endobj - -22006 0 obj -<> -endobj - -22007 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -22008 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -22009 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -22010 0 obj -<> -stream -HWo8~_{PDJ[CE{衸zwHb+xPi8vE*jGj>yh{㏷߾짟63*B1h2Q#*}\mvM[˾֬_> EoV.gBYf!&ҜQIu6ƅN?uaӰxuu \.ve*uO}.4O'[G(3={/L;2}`w_Sa&{#- sd5c2aC P(ds(M0wC(A{A{I{I{I{EW{EW{M{M{M{C7{C7`3}Y>'`-->,'DmH6 -cbC͡B(BP@P-9>P Tm"TmET+bC -B(BP@P-9>P Tm"TmET+bC -Bض$Zls=P-9T*dm"TmET+ bCJB(BP@P-9>P$Tm"TmET+ bCJB(BP@P-9>P$TmH6 -cbC͡B(BP@P-9>P"Tm"TmETbC*B(BP@P-9>P"Tm"TmETbC*Bض4Zls=P-9T*dokb) *]$lY`pK 3$J>vp -t9mF$Q$wqWƤinٕS(3ϘC4\"^$ K'KJr>' 3'KHrS3'E]/y(X-ٶzܖ]>ևy\U5;t\qj Կ0P"W=i`<1{W=ځ[Z]yΒTDfXn؃Ow+rit&avS>֗G_=+jW܃;*K~Cb>}Jrtf9 ?;p&2,FµFHa:b*M;66}$ >-Q -t|鞚zv6m+:v__ly@t?~we7o*]g -6\x{z)nH6ͱMƋwT m^1Qp>un -iE1 8;s(py -`ͮru_Z8X-Oh46W}ƛ^~>U:/@t6Gi]@*mx!9B|h+{_bxbts:Q[sBŎСތFopő}5𸃣а.pf^i?:6mWhrh/yGuHkK`_ v~v*f+hn9)ń큒лvx? |G1B`wVA-M?3/TN%q1No,al:5Ajza}~E 1b˒cz(@\ؙ`Ģw'S(Rh\p ^Aװ2_WT?M@NsCAG %^$L|:^0IA -,2ɕ L+RexLY՞^f;76"=WQJn+,B;(5IcG#J8~,͊Z$MT9^7Ŗƅ{t jԆ*Ԭv-nnطnTD羮MpnD=Zs\'y#-WÐ3FL*҆9e$)!~pTY(H_;$iYt /S6D$lڰn8KvqJӳvB\kڷf^Ck|"tvN[_NB~i@O`g/rPrVgI - TL:яAX vIyu}qo>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -22012 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -22013 0 obj -<> -endobj - -22014 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -22015 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -22016 0 obj -<> -stream - Q q 1 0 0 1 47.580000 40.020000 cm -/X0 Do - Q endstream -endobj - -22017 0 obj -<> -stream -HJ0粽0MN41p]SԲsX}9A;Uf2/wvo6ko枤]#vp( DHD|Tisuu @=(ꗴF cQ+J5^+1F}RfA|եG1?f)"ڶl`3endstream -endobj - -22018 0 obj -<> -endobj - -22019 0 obj -<> -endobj - -22020 0 obj -<> -endobj - -22021 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-42.4199982 -55.7400017 639.419983 778.73999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -22022 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -22023 0 obj -<> -stream -HdN#G=Ob庹%TWE. -0v3A -2̂OJ4n~M.>]vz=,aZ^ve|2i{~߽<?|//׫o紐駴|_NχOO÷e9O7ݴ_72]}ߟ~||il^q_ۛt_wWa }yx] y3d;d7d?08!!!!!! ~37 ~37 ~37 ~37# (oeKʎ=+rP䨼%ogI9r!J^ܔ;,wStJ`6endstream -endobj - -22024 0 obj -<> -endobj - -22025 0 obj -<> -stream -HdN#G=Ob庹%TWE. -0v3A -2̂OJ4n~M.>]vz=,aZ^ve|2i{~߽<?|//׫o紐駴|_NχOO÷e9O7ݴ_72]}ߟ~||il^q_ۛt_wWa }yx] y3d;d7d?08!!!!!! ~37 ~37 ~37 ~37# (oeKʎ=+rP䨼%ogI9r!J^ܔ;,wStJ`6endstream -endobj - -22026 0 obj -<> -stream -HlT TSgNL$c!hݪhI(H +uD:Nѩ -VDmZ:U -ş3/r:tyww.Op\IЬ+' -V(šw-q8Gj̱5rҨ/(}r}Ȉi~V V |tְRG/4֘EcSjh:^`cL:'!ZosRcV&Ǹ6ѳEb?K*g9EֳLe+Mz>Ǩי4g}r9>n1I{']d>zy< ?_ȿ$&X'LꄵSP/aaSf3lf[n{]]]1{:;UF)Id]rOHliOc%(;yx~8ɜʝ".MOΞ&?lvb< 5-m[fP˨VPerr6GGG}:}o^i۪?NY>/woZ^nJM͛uE?m7N'_*~\|=D4dKHw%3PfZ0"D< %jN[6.+/>9-vOI%%E%5L~%H6%lIy8Nٯܙ;! 5~R!wPaO6ґ Og;gAQepCi$̐5CU1A'`kÐ% (MA,c-Ujg Yop wZ@ H\ws]6b#"ɗ \>KaŪm̛Ƃ4V=cV|cxXL3}xAvv~ݔA|gJd U -fظ/kؖaO|lcLtoe'Fg0Lޥ?Qy y(;v"W@8Mhˮb[?PPi udХI/ ~LEzjf~MJO+';;)|]KV+nzZK)~ySbۦΟie -6ob4.^rzߙ3ߓF=~(4M@5 kaVI@\MU6s .􂲮\2)@l>+j%`0P'  !p"%aDbq[:NcBK; V"C;A0x -НG6W('dQ6-5i!6Ф=)(H>D҉رr{ަM)XURV/M_2~܍Si3Ӳ <~(h)fx-V]-@QIX\_SƁ]Ab@,P@Ĩ@F);c4F`0TDE|x@9^T*)EzyUu_/X Sc9})eMv=z!2*>J0JY7wIN+;P]qQ cUO="J2> c0^b,vcSg؀TV -|%E& ]tL%MLGhmJ*ZMAO5=w J(ߟ o]_^@ ˯9d 8&#<2ܰ$%KKu$CV lpKޡM&NSSl*x5xZ0^rpB%Wd-bǶm_BAD=uL ;(< FY!Zj[x|]OPAP ax;p.ebdeǛi1ͤƴm]]2mC56 MSpHdb+5l>])B?tҽ&J{?VY|DbK446*P N1!} o}uśEFLoI@#Doh:-bշz)c$I`@`/;e%$^E c~^f\dLB` 6_j^(.19+}Q-WcmW'}a%!6QM kq?NAJtn&0wjD5GIWQDw>uCb"JL WdUJ Цm -a[eEc33tǾc g|Rϼ8땤HL6,*YPyEMe?TXUk .{&8bpS›`4GQ ѨF7ԑRU<rLG2zI>|}e迥Ya[N+xUoUokz &3l0_ZWiU;R{썁# L@I,PgK3P%0XtA$r;8Y:pcBٛI?BD|V]dxʲKBܛD&'?TTJ4{8* 4;c_>Sg<׃>n_X,>q -se|2Y"o],yM#jrsɻݡ I%1d|RHfQE}cS%p˥=#}"VlXl?dmͅsֆSj[eR::4ӮD%X~YeM qD#E-.OKYjr^%t͞\~SO]3t`U O!X-q?`MUۑ >UxӐ7W1*Mgl{J+>WgXy,ʦYڥulo_o ?7v,f>M0ߙE $H'Vw8 8A[4Lf -4 0wcأB$ p6hp -,\2Wn1(Yt MWZ-i_9M40$3cǴiADLܤA%72& w͈@ͶD\&ET{`/i^p^9ZL~^dkkU䑤䣬ʠe+vVdwV;g,:]u>("XlR΁abʇJ< w v(7uыv#FI[|QuUaYLI޲sr]q5[C{dtG=hwj@LdĈ(CnRԩʳR]JNzd(q}\Ӭܹwco]q 9Md+`5t.eI,mV_L|Z07wU!e6 -^&yO+\$XNFpht4xY?#FX9<4B!r笑隵}E2BL` S锋Hct''Zn(FiQ"( "`@fbu 'tv!X̩ӗNn!3&:Dnhs:9j54"a?;[VTGYM~(Ep$ՠ)4hOc8tB颔 |[2Wۗ邷3ZqNSO`)4Nϐ"tN]_̍Slkyw:Jjc͔_x!X:|MG}_)״FGT+,6ke 7`cq/Q]!5A$U׎,}2x>Bk@eÀKdY(C{CUZBMS5 -k?} ;~+] ).. EL% -ZRTU'暎:S@|>~iuu1zl)ao`dQdޥo:5>#YDH"6yj1tݼYЅx2*ĦEDbdd\xz+ -cm/ !njVήϫZ2n/sm -w`PB/C`VřfnH&{bc #`K%tRB;VkӛĦ˟]:W[]K6#xӢBsBC/o -7Au(75$y^tKZj1/F[1Z{ۼ[`cJ vZ$S&vc&.ec:`C`e`A{fHf;#WZl<&E+a\JbbJ01j{SmHBPR# p=G*TJXb܁ -Vd!ߠX0TSSҗSQB0E {=oO6aCzs43d$nxq/XpOH2IgC+e,ECFhLfS 3I Lc;aR' P"TJI$ b,KT_dfn +nMJK)c.8f%⒊hׁ@QW*Npzb 8RB1D#(#Jom3"F*w -|s{od?6'/JutLVp&K[{Q֜0.ٵ6,{<)^{ 0̶6|nN +^c{qpL|lۚ=&ܺ=Dg\ -+rlcZjQcsNdS߇7jP /Mk k -ɼ:oM`n8'x_|ҁ:\|X_[)+gk*d3Esb .Eߏ1n}@0 ̌ ?)a*Sn4h,N+ uS[zљoOKLr(#Os8/%_S dKE;'cxmal}&fV>=,i(Zu`xbͮ||«-Or|=%dX=Oo;Y*gfN6;zKwJm%bEZK:ZT*^-:)ټQ n̈bCrrzIQmfoSX'ɗ` be0LWY&Lc?1zipQR8X"# 9GlClY'6\ Y I P7쩻 Ll .Zy -0ռߤ+`*3 -ΈڝIy2bzgrG:XJc&1cʣθP!fPTVOlEѺE -HXd0 tR@*HAY"(ZA("v4xIOw{{w޷~L%c"ZYu 'RAQTpmC^B~2P8 e,DA`#sEO44ۜo˩ܙJ -T -=o7*f JM6S&D{ALPe1IqylljVgkӔrUFA#w%M%Ё̓#qq(k'=/'8f(b3,d~)荇#b(3y&zj| `{|.~R !RL2 ҷk/E/(b\mmZ?7V6~YR,())0^pޔj.>~&nvdLj_Sɏ~22V -KOTĨ[Mխmkr"v&MީjaּB2GAh쟽B5aJt13]Q5r՗9e'Z:*Q>8&򢃹Q|n4HV.p{ И0VJ?ZWZp"P6LX -6Na %4'?fK lf @LDw` bdN7fAMY`CSmXr4%N^xjoHttrC\[7_-):ǓjMY]J\F%G.[E9ii&L/؉vKd'etfy CۅT;d`j{e`'p`GHAkpgIo9̷gmLSh/POj2ClLE\HmK=٣WsԋJ<l̩d,al=2`]GB$WZr*?EypY ZATBzAEۤdӑz%X_¤n3r`u 6a&vy>YK4ӐƧ]{GDmssqmSS;Yo\j)Rx?&!uN#:btrIRHVFD'0:{>0]azݻWx:e3-z۲ -]OO^(O&Ok`rT膴'u?W}TfK:PNz!CngoWtZ"+`QG(v^Uš-8'cz2%u)->ndI(+,F(QQAl5jAK|h>PQ$ZI" >Q4ə,zffs̽Ϲ_Kyqx%t ~`1Y ?rb7F8J;N[>՜`UtpRb.JshLx?G ' =6)cw[X}MUz)o-}W@J)Rv GR2l-0ƟafN]ZDe##hYVW-; ؖsl+Yȝ[tOII#ϕd` 96+iߎ]J{8`gfzG~0z|R~@^}:hv{|dͺpJO9,a!%yN%Uh-·tÒa0drPJyaEz  -$\qp_eӚ˄/*Ą N lPmz#޽PyL^!>aAT8$ =)6(h̢u7Rf,b@mPtgǍ2 9|`>t24U]rt& YΆcWH2%ۗZfTd'zf0ڀV9^`B^Phċ:^š"{5 j9!FFE v͖io10x_w?B1H*(с;w: ͌6r2;<vD< ?i9<0lβ_pV -% -EƉCa'^4dQII("\;s!fD=\nT?v) -9u{1h 1!!jUE¨(*,EudVP =O/"f{?Sxܚ:&ǥ2 wܬOnaCDd:SsbƽЃ2^ =]|sl okOt4c'1/u\NWJd䩆E*6=cES\D #H!Of6HBI2vhΪ9mtL8@kC5L-!jbݕk^qRH̚H{j<'! =3`zL΢NVSv=͘*lZ.64v$ٖ~rמC[nOvܘ߂+Wb(ޘˡ໌[/KLۦ^dqJn-pώ).:O;cV۰~5(n-U^I>B (Z=Jj/m(0k(V?y}-AziW %EbZm p9jB5]܎Ճ 9"4h:Bm!oMaX9&+Rk$žt- =xhu~h{:̒'L\F]c5CG}a+3jo# i6-v;eb_E؇cBF:V^DTmز`xAqZ]$eS%yqO/R^#ȳpUSa'ENeE4/"Q OjA)kA]^zԖflNP N޵poB+[Q-NjP*!`V/5Ա9j܋Zp f^8ST Kw{HOKFJ*ALa'"o~ϵD' bɫ"'sAChL53]WƄh57Co$/n_\+!k* Z|XBd -akM3׈@pfEJ?b?(B -̭pYh`<84nO?$?:Ao4su#/ - H𭓡}Bz/7pTu%u0VEsƭOR2'5Z yJϺg -\yt6FUbY'f"1%1[sJ8epoPN lQl@7C1A -n PB#c ܼp!&؀Mg=JVn62ݶsѤBggz(7niWDnq*>g D5L3,S옊Jp?=Id^Yu_nPt0leCi}t??Dl$=t2=.e]=xשT66wsAMM묳 )jXs -vlN]4'2} 電<=HZ>ȸ_~m7$1[鰖rCFGq -#OmGa#g*) {mfv쀌֏C[SM2 ռ(inuУ=/!JO(qFٌK%h;6T`//-9,Ď3/x?FB,xRc'UfggmA^&8nzeM߆gGn1%o(syuNpqkendstream -endobj - -22027 0 obj -<> -stream -H\j0 ~ -C ne{VRb9' l!~}{ mFWN>cogdߖs(iB^!0AkJ?8cȠmȃM03ءsBS݌d,  -8Zo͝F{3${TFՊS!=e -Ov%boT>Ob nrendstream -endobj - -22028 0 obj -<> -endobj - -22029 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -22030 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -22031 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -22032 0 obj -<> -stream -HWko_1@rej^|Ŏ?qqd.WKgI*Ke|sWIaX=w圙;dV<~՛/^lRabH82A!>ʓS?}_W>e8Oi+b>j0HODJۢSJ_}Z Z?36a4k9cf}Pܬ~]PK.u2 -f -*D'Ց纄,@;x=}o')6KMz >K/!.'%%C(,\2,])W<ŀQQoQoQoQoQoQ2CG}Ȩ!>tGQ1#G}̨1>vnjQ0G}¨O)>uԧzdz1-JO3\Z!UO1d),ƵCqf\K1d1jƵZ!QV3k5Zq-ŐŨw\R Yzǵq-ŀŸbb;Ռk),FZ͸bgR Yzq-Ő媧\Z!Q0k Zq-ŐŨw\kR Yzǵq-ŀŸbb;5k),FZøbb\K1d1ƵCqa\Kҳk),W=ŀŸbrS Yzq-ŐŨw\kR Yzǵq-ŀŸbb;k),FZ˸bb\K1d1ZƵCqe\K1`1k-Z!Q2X酌k),W=ŀŸbrS Y4H - fu\y+%V[Oi(JŪ.͊J=aⷻ|heM?k[cs[6\k?Yg(&wz}}WT7ZE]}ZuŇq/ϚXbvUfߊXN^oDшL%~4T"`nw]Ӕ8zys\` v/y "ƥ RfC=m76_'ms{.5b_b9Qh&0!{DazqݧXcœ &aj071Ah~n`ߣeT;XbR>0Eb+ifMn@'bEgȝ߾!h3;Ti_é1(l_*׵&X8i-EG+CC^=[ll{J7wYфC5+{Rdi)Xxt?ֿa?L9,*Ytj䒨 %V:J߆vVm&uAC5tct'gIr lIZ -fnY?+\?dIg:^T/?ƢUhהfxB*}^BMޒO00 \ƟXcm.m7><ęiԲ2N>3QaS6YPgHx |+vs,m\{?u_ Ӛ\q7,IPp%a}ENfdL}Tb!^1hoMb31rELQq7q -a-a%⡸V 5TշY?^Ts]zlq'<0{ TcUrB -5>+P,=,w9+ 4}ZiqUCKG+X>f_Ǡ1xI@I'sBCϞ'?B H.f{șw8lq&+ 2(dYqw50.>p.+Q/dY솝pN]fjcDw\ihwxWԋ ^[Ḯ=磝>%ȶ-] g6ԴxLAI}j܍";[58FXs066'eHeYqS!.p@e8Rti1TE"Bn}eEI0S %Ғ -y驠6&0X@ۋ+!8?/ -V/փܮ\ -\vendstream -endobj - -22033 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[-34.9199982 -21.2399998 646.919983 813.23999]>> -stream -xeK -@Ds=qЈwU2,FG_rWcjgզ}_S{7Hr>u꺝G=Hrqbސ)z Jl8 ,)endstream -endobj - -22034 0 obj -<>>>/Subtype/Form/FormType 1/Filter/FlateDecode/Type/XObject/BBox[0 0 501.839996 677.52002]>> -stream -xJC1yy'$ŭ? t!.$K+؊}&A&3g|xԘO6+qN3eao#%[R ktŵ?_cxAܞὍup<58N!,AxPOυb{5d[p̈5 -E{UݟPa ]^f5aZjuk.8 /kmV(Ƒk SUMOO hc1Y_AX~M؉y'endstream -endobj - -22035 0 obj -<> -stream - q /X1 Do - Q q endstream -endobj - -22036 0 obj -<>/XObject<>/ColorSpace<>/ProcSet[/PDF/Text]/ExtGState<>>> -endobj - -22037 0 obj -<> -stream - Q q 1 0 0 1 55.080000 74.520000 cm -/X0 Do - Q endstream -endobj - -22038 0 obj -<> -stream -HYoH+ -yP= ZY;;-QVKJSWR=bC\5gުG?= 'OxhiSEmҨYaԺK~UWI>%ZU2[z=_v|d{>mgM2nQZ5ć+k,*Qyg- -LM r `tjyv~nF7YUӒjۭKLslB[r9Yc̨ߕO!c*LyM?"y{xѹ&Kkt1\pZ\ .ހF -HoEz [ށNw    KK+++kk=HEzҋ`hL ZKZpdzKZp@z1L-ҋ5`j\`jF.^LS5rbj ZZ Skr\ Zkk0\#H/ր2`jF.kkF.kkZ0\#H/ւZp@z1L-ҋ`j\`jF.^LS5rbj-ZZ Skr\ Z kādzZKdzZ Sr\ Zkk:0\#H/ցZp@z1L-ҋu`j\`jF.^LS5rbjZ-L-%s-r\2=ҫUؐ(KVm@7N